diff --git a/flake.lock b/flake.lock index 06c1ded..bd79922 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1706732774, - "narHash": "sha256-hqJlyJk4MRpcItGYMF+3uHe8HvxNETWvlGtLuVpqLU0=", + "lastModified": 1722813957, + "narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b8b232ae7b8b144397fdb12d20f592e5e7c1a64d", + "rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 0f51531..2f95d2e 100644 --- a/flake.nix +++ b/flake.nix @@ -12,7 +12,7 @@ # Build & packaging ## use with `nix build` packages = rec { - leng = pkgs.buildGo121Module { + leng = pkgs.buildGo122Module { inherit system; vendorHash = null; pname = "leng"; diff --git a/go.mod b/go.mod index 2daa4ed..40a55e9 100644 --- a/go.mod +++ b/go.mod @@ -1,35 +1,38 @@ module github.com/cottand/leng require ( - github.com/gin-gonic/gin v1.9.1 + github.com/gin-gonic/gin v1.10.0 github.com/jonboulle/clockwork v0.4.0 - github.com/miekg/dns v1.1.58 + github.com/miekg/dns v1.1.61 github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 - github.com/pelletier/go-toml/v2 v2.1.1 - github.com/prometheus/client_golang v1.19.0 + github.com/pelletier/go-toml/v2 v2.2.2 + github.com/prometheus/client_golang v1.19.1 github.com/ryanuber/go-glob v1.0.0 github.com/stretchr/testify v1.9.0 - golang.org/x/sys v0.18.0 + golang.org/x/sys v0.24.0 gopkg.in/gin-contrib/cors.v1 v1.0.0-20170318125340-cf4846e6a636 ) require ( github.com/beorn7/perks v1.0.1 // indirect - github.com/bytedance/sonic v1.9.1 // indirect + github.com/bytedance/sonic v1.11.6 // indirect + github.com/bytedance/sonic/loader v0.1.1 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect + github.com/cloudwego/base64x v0.1.4 // indirect + github.com/cloudwego/iasm v0.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/gabriel-vasile/mimetype v1.4.2 // indirect + github.com/gabriel-vasile/mimetype v1.4.3 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.14.0 // indirect + github.com/go-playground/validator/v10 v10.20.0 // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/cpuid/v2 v2.2.4 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/kr/text v0.2.0 // indirect - github.com/leodido/go-urn v1.2.4 // indirect - github.com/mattn/go-isatty v0.0.19 // indirect + github.com/leodido/go-urn v1.4.0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect @@ -37,15 +40,16 @@ require ( github.com/prometheus/common v0.48.0 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect - github.com/ugorji/go/codec v1.2.11 // indirect - golang.org/x/arch v0.3.0 // indirect - golang.org/x/crypto v0.21.0 // indirect - golang.org/x/mod v0.14.0 // indirect - golang.org/x/net v0.23.0 // indirect - golang.org/x/text v0.14.0 // indirect - golang.org/x/tools v0.17.0 // indirect - google.golang.org/protobuf v1.33.0 // indirect + github.com/ugorji/go/codec v1.2.12 // indirect + golang.org/x/arch v0.8.0 // indirect + golang.org/x/crypto v0.24.0 // indirect + golang.org/x/mod v0.18.0 // indirect + golang.org/x/net v0.26.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.22.0 // indirect + google.golang.org/protobuf v1.34.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) -go 1.21 +go 1.22.5 diff --git a/go.sum b/go.sum index 17e84a6..b7ecf45 100644 --- a/go.sum +++ b/go.sum @@ -3,21 +3,33 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= +github.com/bytedance/sonic v1.11.6 h1:oUp34TzMlL+OY1OUWxHqsdkgC/Zfc85zGqw9siXjrc0= +github.com/bytedance/sonic v1.11.6/go.mod h1:LysEHSvpvDySVdC2f87zGWf6CIKJcAvqab1ZaiQtds4= +github.com/bytedance/sonic/loader v0.1.1 h1:c+e5Pt1k/cy5wMveRDyk2X4B9hF4g7an8N3zCYjJFNM= +github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams= github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= +github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y= +github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= +github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg= +github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= +github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= +github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= +github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= +github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= @@ -26,6 +38,8 @@ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJn github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js= github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= +github.com/go-playground/validator/v10 v10.20.0 h1:K9ISHbSaI0lyB2eWMPJo+kOS/FBExVwjEviJTixqxL8= +github.com/go-playground/validator/v10 v10.20.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -38,16 +52,25 @@ github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHm github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk= github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= +github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= +github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/miekg/dns v1.1.58 h1:ca2Hdkz+cDg/7eNF6V56jjzuZ4aCAE+DbVkILdQWG/4= github.com/miekg/dns v1.1.58/go.mod h1:Ypv+3b/KadlvW9vJfXOTf300O4UqaHFzFCuHz+rPkBY= +github.com/miekg/dns v1.1.61 h1:nLxbwF3XxhwVSm8g9Dghm9MHPaUZuqhPiGL+675ZmEs= +github.com/miekg/dns v1.1.61/go.mod h1:mnAarhS3nWaW+NVP2wTkYVIZyHNJ098SJZUki3eykwQ= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -57,10 +80,14 @@ github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 h1:lDH9UUVJtmYCjyT0C github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI= github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= +github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= +github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= +github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= github.com/prometheus/common v0.48.0 h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE= @@ -74,6 +101,7 @@ github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIH github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -87,27 +115,58 @@ github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= +github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k= golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/arch v0.8.0 h1:3wRIsP3pM4yUptoR96otTUOXI367OS0+c9eeRi9doIc= +golang.org/x/arch v0.8.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -116,4 +175,5 @@ gopkg.in/gin-contrib/cors.v1 v1.0.0-20170318125340-cf4846e6a636/go.mod h1:WNNqtZ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/vendor/github.com/bytedance/sonic/.gitmodules b/vendor/github.com/bytedance/sonic/.gitmodules index b8d11c9..ea84b99 100644 --- a/vendor/github.com/bytedance/sonic/.gitmodules +++ b/vendor/github.com/bytedance/sonic/.gitmodules @@ -1,3 +1,6 @@ -[submodule "tools/asm2asm"] +[submodule "cloudwego"] path = tools/asm2asm - url = https://github.com/chenzhuoyu/asm2asm + url = https://github.com/cloudwego/asm2asm.git +[submodule "tools/simde"] + path = tools/simde + url = https://github.com/simd-everywhere/simde.git diff --git a/vendor/github.com/bytedance/sonic/Makefile b/vendor/github.com/bytedance/sonic/Makefile deleted file mode 100644 index 8cc0acf..0000000 --- a/vendor/github.com/bytedance/sonic/Makefile +++ /dev/null @@ -1,112 +0,0 @@ -# -# Copyright 2021 ByteDance Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -ARCH := avx avx2 sse -TMP_DIR := output -OUT_DIR := internal/native -SRC_FILE := native/native.c - -CPU_avx := amd64 -CPU_avx2 := amd64 -CPU_sse := amd64 - -TMPL_avx := fastint_amd64_test fastfloat_amd64_test native_amd64_test native_export_amd64 -TMPL_avx2 := fastint_amd64_test fastfloat_amd64_test native_amd64_test native_export_amd64 -TMPL_sse := fastint_amd64_test fastfloat_amd64_test native_amd64_test native_export_amd64 - -CFLAGS_avx := -msse -mno-sse4 -mavx -mpclmul -mno-avx2 -DUSE_AVX=1 -DUSE_AVX2=0 -CFLAGS_avx2 := -msse -mno-sse4 -mavx -mpclmul -mavx2 -DUSE_AVX=1 -DUSE_AVX2=1 -CFLAGS_sse := -msse -mno-sse4 -mno-avx -mno-avx2 -mpclmul - -CC_amd64 := clang -ASM2ASM_amd64 := tools/asm2asm/asm2asm.py - -CFLAGS := -mno-red-zone -CFLAGS += -target x86_64-apple-macos11 -CFLAGS += -fno-asynchronous-unwind-tables -CFLAGS += -fno-builtin -CFLAGS += -fno-exceptions -CFLAGS += -fno-rtti -CFLAGS += -fno-stack-protector -CFLAGS += -nostdlib -CFLAGS += -O3 -CFLAGS += -Wall -Werror - -NATIVE_SRC := $(wildcard native/*.h) -NATIVE_SRC += $(wildcard native/*.c) - -.PHONY: all clean ${ARCH} - -define build_tmpl - $(eval @arch := $(1)) - $(eval @tmpl := $(2)) - $(eval @dest := $(3)) - -${@dest}: ${@tmpl} - mkdir -p $(dir ${@dest}) - echo '// Code generated by Makefile, DO NOT EDIT.' > ${@dest} - echo >> ${@dest} - sed -e 's/{{PACKAGE}}/${@arch}/g' ${@tmpl} >> ${@dest} -endef - -define build_arch - $(eval @cpu := $(value CPU_$(1))) - $(eval @deps := $(foreach tmpl,$(value TMPL_$(1)),${OUT_DIR}/$(1)/${tmpl}.go)) - $(eval @asmin := ${TMP_DIR}/$(1)/native.s) - $(eval @asmout := ${OUT_DIR}/$(1)/native_${@cpu}.s) - $(eval @stubin := ${OUT_DIR}/native_${@cpu}.tmpl) - $(eval @stubout := ${OUT_DIR}/$(1)/native_${@cpu}.go) - -$(1): ${@asmout} ${@deps} - -${@asmout}: ${@stubout} ${NATIVE_SRC} - mkdir -p ${TMP_DIR}/$(1) - $${CC_${@cpu}} $${CFLAGS} $${CFLAGS_$(1)} -S -o ${TMP_DIR}/$(1)/native.s ${SRC_FILE} - python3 $${ASM2ASM_${@cpu}} ${@asmout} ${TMP_DIR}/$(1)/native.s - asmfmt -w ${@asmout} - -$(eval $(call \ - build_tmpl, \ - $(1), \ - ${@stubin}, \ - ${@stubout} \ -)) - -$(foreach \ - tmpl, \ - $(value TMPL_$(1)), \ - $(eval $(call \ - build_tmpl, \ - $(1), \ - ${OUT_DIR}/${tmpl}.tmpl, \ - ${OUT_DIR}/$(1)/${tmpl}.go \ - )) \ -) -endef - -all: ${ARCH} - -clean: - for arch in ${ARCH}; do \ - rm -vfr ${TMP_DIR}/$${arch}; \ - rm -vfr ${OUT_DIR}/$${arch}; \ - done - -$(foreach \ - arch, \ - ${ARCH}, \ - $(eval $(call build_arch,${arch})) \ -) diff --git a/vendor/github.com/bytedance/sonic/README.md b/vendor/github.com/bytedance/sonic/README.md index cdb32a5..f3c7363 100644 --- a/vendor/github.com/bytedance/sonic/README.md +++ b/vendor/github.com/bytedance/sonic/README.md @@ -5,18 +5,27 @@ English | [中文](README_ZH_CN.md) A blazingly fast JSON serializing & deserializing library, accelerated by JIT (just-in-time compiling) and SIMD (single-instruction-multiple-data). ## Requirement -- Go 1.15~1.20 -- Linux/MacOS/Windows + +- Go 1.16~1.22 +- Linux / MacOS / Windows(need go1.17 above) - Amd64 ARCH ## Features + - Runtime object binding without code generation - Complete APIs for JSON value manipulation - Fast, fast, fast! +## APIs + +see [go.dev](https://pkg.go.dev/github.com/bytedance/sonic) + ## Benchmarks + For **all sizes** of json and **all scenarios** of usage, **Sonic performs best**. + - [Medium](https://github.com/bytedance/sonic/blob/main/decoder/testdata_test.go#L19) (13KB, 300+ key, 6 layers) + ```powershell goversion: 1.17.1 goos: darwin @@ -76,15 +85,21 @@ BenchmarkSetOne_Jsoniter-16 79475 ns/op 163.8 BenchmarkSetOne_Parallel_Sonic-16 850.9 ns/op 15305.31 MB/s 1584 B/op 17 allocs/op BenchmarkSetOne_Parallel_Sjson-16 18194 ns/op 715.77 MB/s 52247 B/op 9 allocs/op BenchmarkSetOne_Parallel_Jsoniter-16 33560 ns/op 388.05 MB/s 45892 B/op 964 allocs/op +BenchmarkLoadNode/LoadAll()-16 11384 ns/op 1143.93 MB/s 6307 B/op 25 allocs/op +BenchmarkLoadNode_Parallel/LoadAll()-16 5493 ns/op 2370.68 MB/s 7145 B/op 25 allocs/op +BenchmarkLoadNode/Interface()-16 17722 ns/op 734.85 MB/s 13323 B/op 88 allocs/op +BenchmarkLoadNode_Parallel/Interface()-16 10330 ns/op 1260.70 MB/s 15178 B/op 88 allocs/op ``` + - [Small](https://github.com/bytedance/sonic/blob/main/testdata/small.go) (400B, 11 keys, 3 layers) ![small benchmarks](./docs/imgs/bench-small.png) - [Large](https://github.com/bytedance/sonic/blob/main/testdata/twitter.json) (635KB, 10000+ key, 6 layers) ![large benchmarks](./docs/imgs/bench-large.png) -See [bench.sh](https://github.com/bytedance/sonic/blob/main/bench.sh) for benchmark codes. +See [bench.sh](https://github.com/bytedance/sonic/blob/main/scripts/bench.sh) for benchmark codes. ## How it works + See [INTRODUCTION.md](./docs/INTRODUCTION.md). ## Usage @@ -92,6 +107,7 @@ See [INTRODUCTION.md](./docs/INTRODUCTION.md). ### Marshal/Unmarshal Default behaviors are mostly consistent with `encoding/json`, except HTML escaping form (see [Escape HTML](https://github.com/bytedance/sonic/blob/main/README.md#escape-html)) and `SortKeys` feature (optional support see [Sort Keys](https://github.com/bytedance/sonic/blob/main/README.md#sort-keys)) that is **NOT** in conformity to [RFC8259](https://datatracker.ietf.org/doc/html/rfc8259). + ```go import "github.com/bytedance/sonic" @@ -103,8 +119,11 @@ err := sonic.Unmarshal(output, &data) ``` ### Streaming IO -Sonic supports decoding json from `io.Reader` or encoding objects into `io.`Writer`, aims at handling multiple values as well as reducing memory consumption. + +Sonic supports decoding json from `io.Reader` or encoding objects into `io.Writer`, aims at handling multiple values as well as reducing memory consumption. + - encoder + ```go var o1 = map[string]interface{}{ "a": "b", @@ -119,7 +138,9 @@ fmt.Println(w.String()) // {"a":"b"} // 1 ``` + - decoder + ```go var o = map[string]interface{}{} var r = strings.NewReader(`{"a":"b"}{"1":"2"}`) @@ -132,6 +153,7 @@ fmt.Printf("%+v", o) ``` ### Use Number/Use Int64 + ```go import "github.com/bytedance/sonic/decoder" @@ -160,7 +182,9 @@ fm := root.Interface().(float64) // jn == jm ``` ### Sort Keys + On account of the performance loss from sorting (roughly 10%), sonic doesn't enable this feature by default. If your component depends on it to work (like [zstd](https://github.com/facebook/zstd)), Use it like this: + ```go import "github.com/bytedance/sonic" import "github.com/bytedance/sonic/encoder" @@ -173,19 +197,26 @@ v, err := encoder.Encode(m, encoder.SortMapKeys) var root := sonic.Get(JSON) err := root.SortKeys() ``` + ### Escape HTML + On account of the performance loss (roughly 15%), sonic doesn't enable this feature by default. You can use `encoder.EscapeHTML` option to open this feature (align with `encoding/json.HTMLEscape`). + ```go import "github.com/bytedance/sonic" v := map[string]string{"&&":"<>"} ret, err := Encode(v, EscapeHTML) // ret == `{"\u0026\u0026":{"X":"\u003c\u003e"}}` ``` + ### Compact Format + Sonic encodes primitive objects (struct/map...) as compact-format JSON by default, except marshaling `json.RawMessage` or `json.Marshaler`: sonic ensures validating their output JSON but **DONOT** compacting them for performance concerns. We provide the option `encoder.CompactMarshaler` to add compacting process. ### Print Error + If there invalid syntax in input JSON, sonic will return `decoder.SyntaxError`, which supports pretty-printing of error position + ```go import "github.com/bytedance/sonic" import "github.com/bytedance/sonic/decoder" @@ -211,7 +242,9 @@ if err != nil { ``` #### Mismatched Types [Sonic v1.6.0] + If there a **mismatch-typed** value for a given key, sonic will report `decoder.MismatchTypeError` (if there are many, report the last one), but still skip wrong the value and keep decoding next JSON. + ```go import "github.com/bytedance/sonic" import "github.com/bytedance/sonic/decoder" @@ -224,10 +257,15 @@ err := UnmarshalString(`{"A":"1","B":1}`, &data) println(err.Error()) // Mismatch type int with value string "at index 5: mismatched type with value\n\n\t{\"A\":\"1\",\"B\":1}\n\t.....^.........\n" fmt.Printf("%+v", data) // {A:0 B:1} ``` + ### Ast.Node + Sonic/ast.Node is a completely self-contained AST for JSON. It implements serialization and deserialization both and provides robust APIs for obtaining and modification of generic data. + #### Get/Index + Search partial JSON by given paths, which must be non-negative integer or string, or nil + ```go import "github.com/bytedance/sonic" @@ -241,10 +279,13 @@ raw := root.Raw() // == string(input) root, err := sonic.Get(input, "key1", 1, "key2") sub := root.Get("key3").Index(2).Int64() // == 3 ``` + **Tip**: since `Index()` uses offset to locate data, which is much faster than scanning like `Get()`, we suggest you use it as much as possible. And sonic also provides another API `IndexOrGet()` to underlying use offset as well as ensure the key is matched. #### Set/Unset + Modify the json content by Set()/Unset() + ```go import "github.com/bytedance/sonic" @@ -261,7 +302,9 @@ println(root.Get("key4").Check()) // "value not exist" ``` #### Serialize + To encode `ast.Node` as json, use `MarshalJson()` or `json.Marshal()` (MUST pass the node's pointer) + ```go import ( "encoding/json" @@ -275,6 +318,7 @@ println(string(buf) == string(exp)) // true ``` #### APIs + - validation: `Check()`, `Error()`, `Valid()`, `Exist()` - searching: `Index()`, `Get()`, `IndexPair()`, `IndexOrGet()`, `GetByPath()` - go-type casting: `Int64()`, `Float64()`, `String()`, `Number()`, `Bool()`, `Map[UseNumber|UseNode]()`, `Array[UseNumber|UseNode]()`, `Interface[UseNumber|UseNode]()` @@ -282,13 +326,55 @@ println(string(buf) == string(exp)) // true - iteration: `Values()`, `Properties()`, `ForEach()`, `SortKeys()` - modification: `Set()`, `SetByIndex()`, `Add()` +### Ast.Visitor + +Sonic provides an advanced API for fully parsing JSON into non-standard types (neither `struct` not `map[string]interface{}`) without using any intermediate representation (`ast.Node` or `interface{}`). For example, you might have the following types which are like `interface{}` but actually not `interface{}`: + +```go +type UserNode interface {} + +// the following types implement the UserNode interface. +type ( + UserNull struct{} + UserBool struct{ Value bool } + UserInt64 struct{ Value int64 } + UserFloat64 struct{ Value float64 } + UserString struct{ Value string } + UserObject struct{ Value map[string]UserNode } + UserArray struct{ Value []UserNode } +) +``` + +Sonic provides the following API to return **the preorder traversal of a JSON AST**. The `ast.Visitor` is a SAX style interface which is used in some C++ JSON library. You should implement `ast.Visitor` by yourself and pass it to `ast.Preorder()` method. In your visitor you can make your custom types to represent JSON values. There may be an O(n) space container (such as stack) in your visitor to record the object / array hierarchy. + +```go +func Preorder(str string, visitor Visitor, opts *VisitorOptions) error + +type Visitor interface { + OnNull() error + OnBool(v bool) error + OnString(v string) error + OnInt64(v int64, n json.Number) error + OnFloat64(v float64, n json.Number) error + OnObjectBegin(capacity int) error + OnObjectKey(key string) error + OnObjectEnd() error + OnArrayBegin(capacity int) error + OnArrayEnd() error +} +``` + +See [ast/visitor.go](https://github.com/bytedance/sonic/blob/main/ast/visitor.go) for detailed usage. We also implement a demo visitor for `UserNode` in [ast/visitor_test.go](https://github.com/bytedance/sonic/blob/main/ast/visitor_test.go). + ## Compatibility + Sonic **DOES NOT** ensure to support all environments, due to the difficulty of developing high-performance codes. For developers who use sonic to build their applications in different environments, we have the following suggestions: - Developing on **Mac M1**: Make sure you have Rosetta 2 installed on your machine, and set `GOARCH=amd64` when building your application. Rosetta 2 can automatically translate x86 binaries to arm64 binaries and run x86 applications on Mac M1. - Developing on **Linux arm64**: You can install qemu and use the `qemu-x86_64 -cpu max` command to convert x86 binaries to amr64 binaries for applications built with sonic. The qemu can achieve a similar transfer effect to Rosetta 2 on Mac M1. For developers who want to use sonic on Linux arm64 without qemu, or those who want to handle JSON strictly consistent with `encoding/json`, we provide some compatible APIs as `sonic.API` + - `ConfigDefault`: the sonic's default config (`EscapeHTML=false`,`SortKeys=false`...) to run on sonic-supporting environment. It will fall back to `encoding/json` with the corresponding config, and some options like `SortKeys=false` will be invalid. - `ConfigStd`: the std-compatible config (`EscapeHTML=true`,`SortKeys=true`...) to run on sonic-supporting environment. It will fall back to `encoding/json`. - `ConfigFastest`: the fastest config (`NoQuoteTextMarshaler=true`) to run on sonic-supporting environment. It will fall back to `encoding/json` with the corresponding config, and some options will be invalid. @@ -296,7 +382,9 @@ For developers who want to use sonic on Linux arm64 without qemu, or those who w ## Tips ### Pretouch + Since Sonic uses [golang-asm](https://github.com/twitchyliquid64/golang-asm) as a JIT assembler, which is NOT very suitable for runtime compiling, first-hit running of a huge schema may cause request-timeout or even process-OOM. For better stability, we advise **using `Pretouch()` for huge-schema or compact-memory applications** before `Marshal()/Unmarshal()`. + ```go import ( "reflect" @@ -311,7 +399,7 @@ func init() { err := sonic.Pretouch(reflect.TypeOf(v)) // with more CompileOption... - err := sonic.Pretouch(reflect.TypeOf(v), + err := sonic.Pretouch(reflect.TypeOf(v), // If the type is too deep nesting (nesting depth > option.DefaultMaxInlineDepth), // you can set compile recursive loops in Pretouch for better stability in JIT. option.WithCompileRecursiveDepth(loop), @@ -322,17 +410,23 @@ func init() { ``` ### Copy string -When decoding **string values without any escaped characters**, sonic references them from the origin JSON buffer instead of mallocing a new buffer to copy. This helps a lot for CPU performance but may leave the whole JSON buffer in memory as long as the decoded objects are being used. In practice, we found the extra memory introduced by referring JSON buffer is usually 20% ~ 80% of decoded objects. Once an application holds these objects for a long time (for example, cache the decoded objects for reusing), its in-use memory on the server may go up. We provide the option `decoder.CopyString()` for users to choose not to reference the JSON buffer, which may cause a decline in CPU performance to some degree. + +When decoding **string values without any escaped characters**, sonic references them from the origin JSON buffer instead of mallocing a new buffer to copy. This helps a lot for CPU performance but may leave the whole JSON buffer in memory as long as the decoded objects are being used. In practice, we found the extra memory introduced by referring JSON buffer is usually 20% ~ 80% of decoded objects. Once an application holds these objects for a long time (for example, cache the decoded objects for reusing), its in-use memory on the server may go up. - `Config.CopyString`/`decoder.CopyString()`: We provide the option for `Decode()` / `Unmarshal()` users to choose not to reference the JSON buffer, which may cause a decline in CPU performance to some degree. + +- `GetFromStringNoCopy()`: For memory safety, `sonic.Get()` / `sonic.GetFromString()` now copies return JSON. If users want to get json more quickly and not care about memory usage, you can use `GetFromStringNoCopy()` to return a JSON directly referenced from source. ### Pass string or []byte? + For alignment to `encoding/json`, we provide API to pass `[]byte` as an argument, but the string-to-bytes copy is conducted at the same time considering safety, which may lose performance when the origin JSON is huge. Therefore, you can use `UnmarshalString()` and `GetFromString()` to pass a string, as long as your origin data is a string or **nocopy-cast** is safe for your []byte. We also provide API `MarshalString()` for convenient **nocopy-cast** of encoded JSON []byte, which is safe since sonic's output bytes is always duplicated and unique. ### Accelerate `encoding.TextMarshaler` -To ensure data security, sonic.Encoder quotes and escapes string values from `encoding.TextMarshaler` interfaces by default, which may degrade performance much if most of your data is in form of them. We provide `encoder.NoQuoteTextMarshaler` to skip these operations, which means you **MUST** ensure their output string escaped and quoted following [RFC8259](https://datatracker.ietf.org/doc/html/rfc8259). +To ensure data security, sonic.Encoder quotes and escapes string values from `encoding.TextMarshaler` interfaces by default, which may degrade performance much if most of your data is in form of them. We provide `encoder.NoQuoteTextMarshaler` to skip these operations, which means you **MUST** ensure their output string escaped and quoted following [RFC8259](https://datatracker.ietf.org/doc/html/rfc8259). ### Better performance for generic data + In **fully-parsed** scenario, `Unmarshal()` performs better than `Get()`+`Node.Interface()`. But if you only have a part of the schema for specific json, you can combine `Get()` and `Unmarshal()` together: + ```go import "github.com/bytedance/sonic" @@ -340,7 +434,9 @@ node, err := sonic.GetFromString(_TwitterJson, "statuses", 3, "user") var user User // your partial schema... err = sonic.UnmarshalString(node.Raw(), &user) ``` + Even if you don't have any schema, use `ast.Node` as the container of generic values instead of `map` or `interface`: + ```go import "github.com/bytedance/sonic" @@ -351,12 +447,25 @@ err = user.Check() // err = user.LoadAll() // only call this when you want to use 'user' concurrently... go someFunc(user) ``` + Why? Because `ast.Node` stores its children using `array`: + - `Array`'s performance is **much better** than `Map` when Inserting (Deserialize) and Scanning (Serialize) data; - **Hashing** (`map[x]`) is not as efficient as **Indexing** (`array[x]`), which `ast.Node` can conduct on **both array and object**; - Using `Interface()`/`Map()` means Sonic must parse all the underlying values, while `ast.Node` can parse them **on demand**. **CAUTION:** `ast.Node` **DOESN'T** ensure concurrent security directly, due to its **lazy-load** design. However, you can call `Node.Load()`/`Node.LoadAll()` to achieve that, which may bring performance reduction while it still works faster than converting to `map` or `interface{}` +### Ast.Node or Ast.Visitor? + +For generic data, `ast.Node` should be enough for your needs in most cases. + +However, `ast.Node` is designed for partially processing JSON string. It has some special designs such as lazy-load which might not be suitable for directly parsing the whole JSON string like `Unmarshal()`. Although `ast.Node` is better then `map` or `interface{}`, it's also a kind of intermediate representation after all if your final types are customized and you have to convert the above types to your custom types after parsing. + +For better performance, in previous case the `ast.Visitor` will be the better choice. It performs JSON decoding like `Unmarshal()` and you can directly use your final types to represents a JSON AST without any intermediate representations. + +But `ast.Visitor` is not a very handy API. You might need to write a lot of code to implement your visitor and carefully maintain the tree hierarchy during decoding. Please read the comments in [ast/visitor.go](https://github.com/bytedance/sonic/blob/main/ast/visitor.go) carefully if you decide to use this API. + ## Community + Sonic is a subproject of [CloudWeGo](https://www.cloudwego.io/). We are committed to building a cloud native ecosystem. diff --git a/vendor/github.com/bytedance/sonic/README_ZH_CN.md b/vendor/github.com/bytedance/sonic/README_ZH_CN.md index 43fd1d6..d0341ab 100644 --- a/vendor/github.com/bytedance/sonic/README_ZH_CN.md +++ b/vendor/github.com/bytedance/sonic/README_ZH_CN.md @@ -6,10 +6,14 @@ ## 依赖 -- Go 1.15~1.20 -- Linux/MacOS/Windows +- Go 1.16~1.22 +- Linux / MacOS / Windows(需要 Go1.17 以上) - Amd64 架构 +## 接口 + +详见 [go.dev](https://pkg.go.dev/github.com/bytedance/sonic) + ## 特色 - 运行时对象绑定,无需代码生成 @@ -19,7 +23,9 @@ ## 基准测试 对于**所有大小**的 json 和**所有使用场景**, **Sonic 表现均为最佳**。 + - [中型](https://github.com/bytedance/sonic/blob/main/decoder/testdata_test.go#L19) (13kB, 300+ 键, 6 层) + ```powershell goversion: 1.17.1 goos: darwin @@ -79,13 +85,18 @@ BenchmarkSetOne_Jsoniter-16 79475 ns/op 163.8 BenchmarkSetOne_Parallel_Sonic-16 850.9 ns/op 15305.31 MB/s 1584 B/op 17 allocs/op BenchmarkSetOne_Parallel_Sjson-16 18194 ns/op 715.77 MB/s 52247 B/op 9 allocs/op BenchmarkSetOne_Parallel_Jsoniter-16 33560 ns/op 388.05 MB/s 45892 B/op 964 allocs/op +BenchmarkLoadNode/LoadAll()-16 11384 ns/op 1143.93 MB/s 6307 B/op 25 allocs/op +BenchmarkLoadNode_Parallel/LoadAll()-16 5493 ns/op 2370.68 MB/s 7145 B/op 25 allocs/op +BenchmarkLoadNode/Interface()-16 17722 ns/op 734.85 MB/s 13323 B/op 88 allocs/op +BenchmarkLoadNode_Parallel/Interface()-16 10330 ns/op 1260.70 MB/s 15178 B/op 88 allocs/op ``` + - [小型](https://github.com/bytedance/sonic/blob/main/testdata/small.go) (400B, 11 个键, 3 层) ![small benchmarks](./docs/imgs/bench-small.png) - [大型](https://github.com/bytedance/sonic/blob/main/testdata/twitter.json) (635kB, 10000+ 个键, 6 层) ![large benchmarks](./docs/imgs/bench-large.png) -要查看基准测试代码,请参阅 [bench.sh](https://github.com/bytedance/sonic/blob/main/bench.sh) 。 +要查看基准测试代码,请参阅 [bench.sh](https://github.com/bytedance/sonic/blob/main/scripts/bench.sh) 。 ## 工作原理 @@ -96,6 +107,7 @@ BenchmarkSetOne_Parallel_Jsoniter-16 33560 ns/op 388.0 ### 序列化/反序列化 默认的行为基本上与 `encoding/json` 相一致,除了 HTML 转义形式(参见 [Escape HTML](https://github.com/bytedance/sonic/blob/main/README.md#escape-html)) 和 `SortKeys` 功能(参见 [Sort Keys](https://github.com/bytedance/sonic/blob/main/README.md#sort-keys))**没有**遵循 [RFC8259](https://datatracker.ietf.org/doc/html/rfc8259) 。 + ```go import "github.com/bytedance/sonic" @@ -109,7 +121,9 @@ err := sonic.Unmarshal(output, &data) ### 流式输入输出 Sonic 支持解码 `io.Reader` 中输入的 json,或将对象编码为 json 后输出至 `io.Writer`,以处理多个值并减少内存消耗。 + - 编码器 + ```go var o1 = map[string]interface{}{ "a": "b", @@ -124,7 +138,9 @@ fmt.Println(w.String()) // {"a":"b"} // 1 ``` + - 解码器 + ```go var o = map[string]interface{}{} var r = strings.NewReader(`{"a":"b"}{"1":"2"}`) @@ -168,6 +184,7 @@ fm := root.Interface().(float64) // jn == jm ### 对键排序 考虑到排序带来的性能损失(约 10% ), sonic 默认不会启用这个功能。如果你的组件依赖这个行为(如 [zstd](https://github.com/facebook/zstd)) ,可以仿照下面的例子: + ```go import "github.com/bytedance/sonic" import "github.com/bytedance/sonic/encoder" @@ -184,6 +201,7 @@ err := root.SortKeys() ### HTML 转义 考虑到性能损失(约15%), sonic 默认不会启用这个功能。你可以使用 `encoder.EscapeHTML` 选项来开启(与 `encoding/json.HTMLEscape` 行为一致)。 + ```go import "github.com/bytedance/sonic" @@ -192,11 +210,13 @@ ret, err := Encode(v, EscapeHTML) // ret == `{"\u0026\u0026":{"X":"\u003c\u003e" ``` ### 紧凑格式 + Sonic 默认将基本类型( `struct` , `map` 等)编码为紧凑格式的 JSON ,除非使用 `json.RawMessage` or `json.Marshaler` 进行编码: sonic 确保输出的 JSON 合法,但出于性能考虑,**不会**加工成紧凑格式。我们提供选项 `encoder.CompactMarshaler` 来添加此过程, ### 打印错误 如果输入的 JSON 存在无效的语法,sonic 将返回 `decoder.SyntaxError`,该错误支持错误位置的美化输出。 + ```go import "github.com/bytedance/sonic" import "github.com/bytedance/sonic/decoder" @@ -224,6 +244,7 @@ if err != nil { #### 类型不匹配 [Sonic v1.6.0] 如果给定键中存在**类型不匹配**的值, sonic 会抛出 `decoder.MismatchTypeError` (如果有多个,只会报告最后一个),但仍会跳过错误的值并解码下一个 JSON 。 + ```go import "github.com/bytedance/sonic" import "github.com/bytedance/sonic/decoder" @@ -236,6 +257,7 @@ err := UnmarshalString(`{"A":"1","B":1}`, &data) println(err.Error()) // Mismatch type int with value string "at index 5: mismatched type with value\n\n\t{\"A\":\"1\",\"B\":1}\n\t.....^.........\n" fmt.Printf("%+v", data) // {A:0 B:1} ``` + ### `Ast.Node` Sonic/ast.Node 是完全独立的 JSON 抽象语法树库。它实现了序列化和反序列化,并提供了获取和修改通用数据的鲁棒的 API。 @@ -243,6 +265,7 @@ Sonic/ast.Node 是完全独立的 JSON 抽象语法树库。它实现了序列 #### 查找/索引 通过给定的路径搜索 JSON 片段,路径必须为非负整数,字符串或 `nil` 。 + ```go import "github.com/bytedance/sonic" @@ -256,11 +279,13 @@ raw := root.Raw() // == string(input) root, err := sonic.Get(input, "key1", 1, "key2") sub := root.Get("key3").Index(2).Int64() // == 3 ``` + **注意**:由于 `Index()` 使用偏移量来定位数据,比使用扫描的 `Get()` 要快的多,建议尽可能的使用 `Index` 。 Sonic 也提供了另一个 API, `IndexOrGet()` ,以偏移量为基础并且也确保键的匹配。 #### 修改 -使用 ` Set()` / `Unset()` 修改 json 的内容 +使用 `Set()` / `Unset()` 修改 json 的内容 + ```go import "github.com/bytedance/sonic" @@ -277,7 +302,9 @@ println(root.Get("key4").Check()) // "value not exist" ``` #### 序列化 + 要将 `ast.Node` 编码为 json ,使用 `MarshalJson()` 或者 `json.Marshal()` (必须传递指向节点的指针) + ```go import ( "encoding/json" @@ -291,6 +318,7 @@ println(string(buf) == string(exp)) // true ``` #### APIs + - 合法性检查: `Check()`, `Error()`, `Valid()`, `Exist()` - 索引: `Index()`, `Get()`, `IndexPair()`, `IndexOrGet()`, `GetByPath()` - 转换至 go 内置类型: `Int64()`, `Float64()`, `String()`, `Number()`, `Bool()`, `Map[UseNumber|UseNode]()`, `Array[UseNumber|UseNode]()`, `Interface[UseNumber|UseNode]()` @@ -298,13 +326,55 @@ println(string(buf) == string(exp)) // true - 迭代: `Values()`, `Properties()`, `ForEach()`, `SortKeys()` - 修改: `Set()`, `SetByIndex()`, `Add()` +### `Ast.Visitor` + +Sonic 提供了一个高级的 API 用于直接全量解析 JSON 到非标准容器里 (既不是 `struct` 也不是 `map[string]interface{}`) 且不需要借助任何中间表示 (`ast.Node` 或 `interface{}`)。举个例子,你可能定义了下述的类型,它们看起来像 `interface{}`,但实际上并不是: + +```go +type UserNode interface {} + +// the following types implement the UserNode interface. +type ( + UserNull struct{} + UserBool struct{ Value bool } + UserInt64 struct{ Value int64 } + UserFloat64 struct{ Value float64 } + UserString struct{ Value string } + UserObject struct{ Value map[string]UserNode } + UserArray struct{ Value []UserNode } +) +``` + +Sonic 提供了下述的 API 来返回 **“对 JSON AST 的前序遍历”**。`ast.Visitor` 是一个 SAX 风格的接口,这在某些 C++ 的 JSON 解析库中被使用到。你需要自己实现一个 `ast.Visitor`,将它传递给 `ast.Preorder()` 方法。在你的实现中你可以使用自定义的类型来表示 JSON 的值。在你的 `ast.Visitor` 中,可能需要有一个 O(n) 空间复杂度的容器(比如说栈)来记录 object / array 的层级。 + +```go +func Preorder(str string, visitor Visitor, opts *VisitorOptions) error + +type Visitor interface { + OnNull() error + OnBool(v bool) error + OnString(v string) error + OnInt64(v int64, n json.Number) error + OnFloat64(v float64, n json.Number) error + OnObjectBegin(capacity int) error + OnObjectKey(key string) error + OnObjectEnd() error + OnArrayBegin(capacity int) error + OnArrayEnd() error +} +``` + +详细用法参看 [ast/visitor.go](https://github.com/bytedance/sonic/blob/main/ast/visitor.go),我们还为 `UserNode` 实现了一个示例 `ast.Visitor`,你可以在 [ast/visitor_test.go](https://github.com/bytedance/sonic/blob/main/ast/visitor_test.go) 中找到它。 + ## 兼容性 + 由于开发高性能代码的困难性, Sonic **不**保证对所有环境的支持。对于在不同环境中使用 Sonic 构建应用程序的开发者,我们有以下建议: - 在 **Mac M1** 上开发:确保在您的计算机上安装了 Rosetta 2,并在构建时设置 `GOARCH=amd64` 。 Rosetta 2 可以自动将 x86 二进制文件转换为 arm64 二进制文件,并在 Mac M1 上运行 x86 应用程序。 - 在 **Linux arm64** 上开发:您可以安装 qemu 并使用 `qemu-x86_64 -cpu max` 命令来将 x86 二进制文件转换为 arm64 二进制文件。qemu可以实现与Mac M1上的Rosetta 2类似的转换效果。 对于希望在不使用 qemu 下使用 sonic 的开发者,或者希望处理 JSON 时与 `encoding/JSON` 严格保持一致的开发者,我们在 `sonic.API` 中提供了一些兼容性 API + - `ConfigDefault`: 在支持 sonic 的环境下 sonic 的默认配置(`EscapeHTML=false`,`SortKeys=false`等)。行为与具有相应配置的 `encoding/json` 一致,一些选项,如 `SortKeys=false` 将无效。 - `ConfigStd`: 在支持 sonic 的环境下与标准库兼容的配置(`EscapeHTML=true`,`SortKeys=true`等)。行为与 `encoding/json` 一致。 - `ConfigFastest`: 在支持 sonic 的环境下运行最快的配置(`NoQuoteTextMarshaler=true`)。行为与具有相应配置的 `encoding/json` 一致,某些选项将无效。 @@ -312,7 +382,9 @@ println(string(buf) == string(exp)) // true ## 注意事项 ### 预热 + 由于 Sonic 使用 [golang-asm](https://github.com/twitchyliquid64/golang-asm) 作为 JIT 汇编器,这个库并不适用于运行时编译,第一次运行一个大型模式可能会导致请求超时甚至进程内存溢出。为了更好地稳定性,我们建议在运行大型模式或在内存有限的应用中,在使用 `Marshal()/Unmarshal()` 前运行 `Pretouch()`。 + ```go import ( "reflect" @@ -327,7 +399,7 @@ func init() { err := sonic.Pretouch(reflect.TypeOf(v)) // with more CompileOption... - err := sonic.Pretouch(reflect.TypeOf(v), + err := sonic.Pretouch(reflect.TypeOf(v), // If the type is too deep nesting (nesting depth > option.DefaultMaxInlineDepth), // you can set compile recursive loops in Pretouch for better stability in JIT. option.WithCompileRecursiveDepth(loop), @@ -342,16 +414,17 @@ func init() { 当解码 **没有转义字符的字符串**时, sonic 会从原始的 JSON 缓冲区内引用而不是复制到新的一个缓冲区中。这对 CPU 的性能方面很有帮助,但是可能因此在解码后对象仍在使用的时候将整个 JSON 缓冲区保留在内存中。实践中我们发现,通过引用 JSON 缓冲区引入的额外内存通常是解码后对象的 20% 至 80% ,一旦应用长期保留这些对象(如缓存以备重用),服务器所使用的内存可能会增加。我们提供了选项 `decoder.CopyString()` 供用户选择,不引用 JSON 缓冲区。这可能在一定程度上降低 CPU 性能。 ### 传递字符串还是字节数组? + 为了和 `encoding/json` 保持一致,我们提供了传递 `[]byte` 作为参数的 API ,但考虑到安全性,字符串到字节的复制是同时进行的,这在原始 JSON 非常大时可能会导致性能损失。因此,你可以使用 `UnmarshalString()` 和 `GetFromString()` 来传递字符串,只要你的原始数据是字符串,或**零拷贝类型转换**对于你的字节数组是安全的。我们也提供了 `MarshalString()` 的 API ,以便对编码的 JSON 字节数组进行**零拷贝类型转换**,因为 sonic 输出的字节始终是重复并且唯一的,所以这样是安全的。 ### 加速 `encoding.TextMarshaler` 为了保证数据安全性, `sonic.Encoder` 默认会对来自 `encoding.TextMarshaler` 接口的字符串进行引用和转义,如果大部分数据都是这种形式那可能会导致很大的性能损失。我们提供了 `encoder.NoQuoteTextMarshaler` 选项来跳过这些操作,但你**必须**保证他们的输出字符串依照 [RFC8259](https://datatracker.ietf.org/doc/html/rfc8259) 进行了转义和引用。 - ### 泛型的性能优化 在 **完全解析**的场景下, `Unmarshal()` 表现得比 `Get()`+`Node.Interface()` 更好。但是如果你只有特定 JSON 的部分模式,你可以将 `Get()` 和 `Unmarshal()` 结合使用: + ```go import "github.com/bytedance/sonic" @@ -359,7 +432,9 @@ node, err := sonic.GetFromString(_TwitterJson, "statuses", 3, "user") var user User // your partial schema... err = sonic.UnmarshalString(node.Raw(), &user) ``` + 甚至如果你没有任何模式,可以用 `ast.Node` 代替 `map` 或 `interface` 作为泛型的容器: + ```go import "github.com/bytedance/sonic" @@ -370,13 +445,25 @@ err = user.Check() // err = user.LoadAll() // only call this when you want to use 'user' concurrently... go someFunc(user) ``` + 为什么?因为 `ast.Node` 使用 `array` 来存储其子节点: + - 在插入(反序列化)和扫描(序列化)数据时,`Array` 的性能比 `Map` **好得多**; - **哈希**(`map[x]`)的效率不如**索引**(`array[x]`)高效,而 `ast.Node` 可以在数组和对象上使用索引; - 使用 `Interface()` / `Map()` 意味着 sonic 必须解析所有的底层值,而 `ast.Node` 可以**按需解析**它们。 **注意**:由于 `ast.Node` 的惰性加载设计,其**不能**直接保证并发安全性,但你可以调用 `Node.Load()` / `Node.LoadAll()` 来实现并发安全。尽管可能会带来性能损失,但仍比转换成 `map` 或 `interface{}` 更为高效。 +### 使用 `ast.Node` 还是 `ast.Visitor`? + +对于泛型数据的解析,`ast.Node` 在大多数场景上应该能够满足你的需求。 + +然而,`ast.Node` 是一种针对部分解析 JSON 而设计的泛型容器,它包含一些特殊设计,比如惰性加载,如果你希望像 `Unmarshal()` 那样直接解析整个 JSON,这些设计可能并不合适。尽管 `ast.Node` 相较于 `map` 或 `interface{}` 来说是更好的一种泛型容器,但它毕竟也是一种中间表示,如果你的最终类型是自定义的,你还得在解析完成后将上述类型转化成你自定义的类型。 + +在上述场景中,如果想要有更极致的性能,`ast.Visitor` 会是更好的选择。它采用和 `Unmarshal()` 类似的形式解析 JSON,并且你可以直接使用你的最终类型去表示 JSON AST,而不需要经过额外的任何中间表示。 + +但是,`ast.Visitor` 并不是一个很易用的 API。你可能需要写大量的代码去实现自己的 `ast.Visitor`,并且需要在解析过程中仔细维护树的层级。如果你决定要使用这个 API,请先仔细阅读 [ast/visitor.go](https://github.com/bytedance/sonic/blob/main/ast/visitor.go) 中的注释。 + ## 社区 Sonic 是 [CloudWeGo](https://www.cloudwego.io/) 下的一个子项目。我们致力于构建云原生生态系统。 diff --git a/vendor/github.com/bytedance/sonic/api.go b/vendor/github.com/bytedance/sonic/api.go index a042476..0933291 100644 --- a/vendor/github.com/bytedance/sonic/api.go +++ b/vendor/github.com/bytedance/sonic/api.go @@ -20,6 +20,7 @@ import ( `io` `github.com/bytedance/sonic/ast` + `github.com/bytedance/sonic/internal/rt` ) // Config is a combination of sonic/encoder.Options and sonic/decoder.Options @@ -68,11 +69,18 @@ type Config struct { // ValidateString indicates decoder and encoder to valid string values: decoder will return errors // when unescaped control chars(\u0000-\u001f) in the string value of JSON. - ValidateString bool + ValidateString bool + + // NoValidateJSONMarshaler indicates that the encoder should not validate the output string + // after encoding the JSONMarshaler to JSON. + NoValidateJSONMarshaler bool + + // NoEncoderNewline indicates that the encoder should not add a newline after every message + NoEncoderNewline bool } var ( - // ConfigDefault is the default config of APIs, aiming at efficiency and safty. + // ConfigDefault is the default config of APIs, aiming at efficiency and safety. ConfigDefault = Config{}.Froze() // ConfigStd is the standard config of APIs, aiming at being compatible with encoding/json. @@ -87,6 +95,7 @@ var ( // ConfigFastest is the fastest config of APIs, aiming at speed. ConfigFastest = Config{ NoQuoteTextMarshaler: true, + NoValidateJSONMarshaler: true, }.Froze() ) @@ -109,7 +118,7 @@ type API interface { NewEncoder(writer io.Writer) Encoder // NewDecoder create a Decoder holding reader NewDecoder(reader io.Reader) Decoder - // Valid validates the JSON-encoded bytes and reportes if it is valid + // Valid validates the JSON-encoded bytes and reports if it is valid Valid(data []byte) bool } @@ -165,22 +174,41 @@ func UnmarshalString(buf string, val interface{}) error { return ConfigDefault.UnmarshalFromString(buf, val) } -// Get searches the given path from json, -// and returns its representing ast.Node. +// Get searches and locates the given path from src json, +// and returns a ast.Node representing the partially json. // // Each path arg must be integer or string: // - Integer is target index(>=0), means searching current node as array. // - String is target key, means searching current node as object. // // -// Note, the api expects the json is well-formed at least, -// otherwise it may return unexpected result. +// Notice: It expects the src json is **Well-formed** and **Immutable** when calling, +// otherwise it may return unexpected result. +// Considering memory safety, the returned JSON is **Copied** from the input func Get(src []byte, path ...interface{}) (ast.Node, error) { - return GetFromString(string(src), path...) + return GetCopyFromString(rt.Mem2Str(src), path...) } -// GetFromString is same with Get except src is string, -// which can reduce unnecessary memory copy. +// GetFromString is same with Get except src is string. +// +// WARNING: The returned JSON is **Referenced** from the input. +// Caching or long-time holding the returned node may cause OOM. +// If your src is big, consider use GetFromStringCopy(). func GetFromString(src string, path ...interface{}) (ast.Node, error) { return ast.NewSearcher(src).GetByPath(path...) -} \ No newline at end of file +} + +// GetCopyFromString is same with Get except src is string +func GetCopyFromString(src string, path ...interface{}) (ast.Node, error) { + return ast.NewSearcher(src).GetByPathCopy(path...) +} + +// Valid reports whether data is a valid JSON encoding. +func Valid(data []byte) bool { + return ConfigDefault.Valid(data) +} + +// Valid reports whether data is a valid JSON encoding. +func ValidString(data string) bool { + return ConfigDefault.Valid(rt.Str2Mem(data)) +} diff --git a/vendor/github.com/bytedance/sonic/ast/api_amd64.go b/vendor/github.com/bytedance/sonic/ast/api.go similarity index 70% rename from vendor/github.com/bytedance/sonic/ast/api_amd64.go rename to vendor/github.com/bytedance/sonic/ast/api.go index 3047f59..316a62a 100644 --- a/vendor/github.com/bytedance/sonic/ast/api_amd64.go +++ b/vendor/github.com/bytedance/sonic/ast/api.go @@ -1,4 +1,5 @@ -// +build amd64,go1.15,!go1.21 +//go:build (amd64 && go1.16 && !go1.23) || (arm64 && go1.20 && !go1.23) +// +build amd64,go1.16,!go1.23 arm64,go1.20,!go1.23 /* * Copyright 2022 ByteDance Inc. @@ -27,7 +28,7 @@ import ( `github.com/bytedance/sonic/internal/native/types` `github.com/bytedance/sonic/internal/rt` uq `github.com/bytedance/sonic/unquote` - `github.com/chenzhuoyu/base64x` + `github.com/bytedance/sonic/utf8` ) var typeByte = rt.UnpackEface(byte(0)).Type @@ -77,17 +78,15 @@ func unquote(src string) (string, types.ParsingError) { return uq.String(src) } -func decodeBase64(src string) ([]byte, error) { - return base64x.StdEncoding.DecodeString(src) -} - -func encodeBase64(src []byte) string { - return base64x.StdEncoding.EncodeToString(src) -} - func (self *Parser) decodeValue() (val types.JsonState) { sv := (*rt.GoString)(unsafe.Pointer(&self.s)) - self.p = native.Value(sv.Ptr, sv.Len, self.p, &val, 0) + flag := types.F_USE_NUMBER + if self.dbuf != nil { + flag = 0 + val.Dbuf = self.dbuf + val.Dcap = types.MaxDigitNums + } + self.p = native.Value(sv.Ptr, sv.Len, self.p, &val, uint64(flag)) return } @@ -104,7 +103,7 @@ func (self *Parser) skip() (int, types.ParsingError) { func (self *Node) encodeInterface(buf *[]byte) error { //WARN: NOT compatible with json.Encoder - return encoder.EncodeInto(buf, self.packAny(), 0) + return encoder.EncodeInto(buf, self.packAny(), encoder.NoEncoderNewline) } func (self *Parser) skipFast() (int, types.ParsingError) { @@ -115,10 +114,15 @@ func (self *Parser) skipFast() (int, types.ParsingError) { return start, 0 } -func (self *Parser) getByPath(path ...interface{}) (int, types.ParsingError) { - fsm := types.NewStateMachine() +func (self *Parser) getByPath(validate bool, path ...interface{}) (int, types.ParsingError) { + var fsm *types.StateMachine + if validate { + fsm = types.NewStateMachine() + } start := native.GetByPath(&self.s, &self.p, &path, fsm) - types.FreeStateMachine(fsm) + if validate { + types.FreeStateMachine(fsm) + } runtime.KeepAlive(path) if start < 0 { return self.p, types.ParsingError(-start) @@ -126,26 +130,6 @@ func (self *Parser) getByPath(path ...interface{}) (int, types.ParsingError) { return start, 0 } -func (self *Searcher) GetByPath(path ...interface{}) (Node, error) { - var err types.ParsingError - var start int - - self.parser.p = 0 - start, err = self.parser.getByPath(path...) - if err != 0 { - // for compatibility with old version - if err == types.ERR_NOT_FOUND { - return Node{}, ErrNotExist - } - if err == types.ERR_UNSUPPORT_TYPE { - panic("path must be either int(>=0) or string") - } - return Node{}, self.parser.syntaxError(err) - } - - t := switchRawType(self.parser.s[start]) - if t == _V_NONE { - return Node{}, self.parser.ExportError(err) - } - return newRawNode(self.parser.s[start:self.parser.p], t), nil -} \ No newline at end of file +func validate_utf8(str string) bool { + return utf8.ValidateString(str) +} diff --git a/vendor/github.com/bytedance/sonic/ast/api_compat.go b/vendor/github.com/bytedance/sonic/ast/api_compat.go index b18b5ae..82d1eac 100644 --- a/vendor/github.com/bytedance/sonic/ast/api_compat.go +++ b/vendor/github.com/bytedance/sonic/ast/api_compat.go @@ -1,36 +1,40 @@ -// +build !amd64 go1.21 +// +build !amd64,!arm64 go1.23 !go1.16 arm64,!go1.20 /* - * Copyright 2022 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* Copyright 2022 ByteDance Inc. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ package ast import ( - `encoding/base64` `encoding/json` - `fmt` + `unicode/utf8` `github.com/bytedance/sonic/internal/native/types` `github.com/bytedance/sonic/internal/rt` ) +func init() { + println("WARNING:(ast) sonic only supports Go1.16~1.22, but your environment is not suitable") +} + func quote(buf *[]byte, val string) { quoteString(buf, val) } +// unquote unescapes a internal JSON string (it doesn't count quotas at the begining and end) func unquote(src string) (string, types.ParsingError) { sp := rt.IndexChar(src, -1) out, ok := unquoteBytes(rt.BytesFrom(sp, len(src)+2, len(src)+2)) @@ -40,16 +44,9 @@ func unquote(src string) (string, types.ParsingError) { return rt.Mem2Str(out), 0 } -func decodeBase64(src string) ([]byte, error) { - return base64.StdEncoding.DecodeString(src) -} - -func encodeBase64(src []byte) string { - return base64.StdEncoding.EncodeToString(src) -} func (self *Parser) decodeValue() (val types.JsonState) { - e, v := decodeValue(self.s, self.p) + e, v := decodeValue(self.s, self.p, self.dbuf == nil) if e < 0 { return v } @@ -84,37 +81,34 @@ func (self *Node) encodeInterface(buf *[]byte) error { return nil } -func (self *Searcher) GetByPath(path ...interface{}) (Node, error) { - self.parser.p = 0 - - var err types.ParsingError +func (self *Parser) getByPath(validate bool, path ...interface{}) (int, types.ParsingError) { for _, p := range path { if idx, ok := p.(int); ok && idx >= 0 { - if err = self.parser.searchIndex(idx); err != 0 { - return Node{}, self.parser.ExportError(err) + if err := self.searchIndex(idx); err != 0 { + return self.p, err } } else if key, ok := p.(string); ok { - if err = self.parser.searchKey(key); err != 0 { - return Node{}, self.parser.ExportError(err) + if err := self.searchKey(key); err != 0 { + return self.p, err } } else { panic("path must be either int(>=0) or string") } } - var start = self.parser.p - if start, err = self.parser.skip(); err != 0 { - return Node{}, self.parser.ExportError(err) - } - ns := len(self.parser.s) - if self.parser.p > ns || start >= ns || start>=self.parser.p { - return Node{}, fmt.Errorf("skip %d char out of json boundary", start) + var start int + var e types.ParsingError + if validate { + start, e = self.skip() + } else { + start, e = self.skipFast() } - - t := switchRawType(self.parser.s[start]) - if t == _V_NONE { - return Node{}, self.parser.ExportError(err) + if e != 0 { + return self.p, e } + return start, 0 +} - return newRawNode(self.parser.s[start:self.parser.p], t), nil -} \ No newline at end of file +func validate_utf8(str string) bool { + return utf8.ValidString(str) +} diff --git a/vendor/github.com/bytedance/sonic/ast/b64_amd64.go b/vendor/github.com/bytedance/sonic/ast/b64_amd64.go new file mode 100644 index 0000000..3e32b60 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/ast/b64_amd64.go @@ -0,0 +1,31 @@ +// +build amd64,go1.16 + +/** + * Copyright 2023 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ast + +import ( + `github.com/cloudwego/base64x` +) + +func decodeBase64(src string) ([]byte, error) { + return base64x.StdEncoding.DecodeString(src) +} + +func encodeBase64(src []byte) string { + return base64x.StdEncoding.EncodeToString(src) +} diff --git a/vendor/github.com/bytedance/sonic/ast/b64_compat.go b/vendor/github.com/bytedance/sonic/ast/b64_compat.go new file mode 100644 index 0000000..e8f9a72 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/ast/b64_compat.go @@ -0,0 +1,31 @@ +// +build !amd64 !go1.16 + +/* + * Copyright 2022 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ast + +import ( + `encoding/base64` +) + +func decodeBase64(src string) ([]byte, error) { + return base64.StdEncoding.DecodeString(src) +} + +func encodeBase64(src []byte) string { + return base64.StdEncoding.EncodeToString(src) +} diff --git a/vendor/github.com/bytedance/sonic/ast/buffer.go b/vendor/github.com/bytedance/sonic/ast/buffer.go new file mode 100644 index 0000000..bccbf48 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/ast/buffer.go @@ -0,0 +1,409 @@ +/** + * Copyright 2023 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ast + +import ( + `sort` + `unsafe` +) + +type nodeChunk [_DEFAULT_NODE_CAP]Node + +type linkedNodes struct { + head nodeChunk + tail []*nodeChunk + size int +} + +func (self *linkedNodes) Cap() int { + if self == nil { + return 0 + } + return (len(self.tail)+1)*_DEFAULT_NODE_CAP +} + +func (self *linkedNodes) Len() int { + if self == nil { + return 0 + } + return self.size +} + +func (self *linkedNodes) At(i int) (*Node) { + if self == nil { + return nil + } + if i >= 0 && i= _DEFAULT_NODE_CAP && i= self.size || target < 0 || target >= self.size { + return + } + // reserve source + n := *self.At(source) + if source < target { + // move every element (source,target] one step back + for i:=source; itarget; i-- { + *self.At(i) = *self.At(i-1) + } + } + // set target + *self.At(target) = n +} + +func (self *linkedNodes) Pop() { + if self == nil || self.size == 0 { + return + } + self.Set(self.size-1, Node{}) + self.size-- +} + +func (self *linkedPairs) Pop() { + if self == nil || self.size == 0 { + return + } + self.Set(self.size-1, Pair{}) + self.size-- +} + +func (self *linkedNodes) Push(v Node) { + self.Set(self.size, v) +} + +func (self *linkedNodes) Set(i int, v Node) { + if i < _DEFAULT_NODE_CAP { + self.head[i] = v + if self.size <= i { + self.size = i+1 + } + return + } + a, b := i/_DEFAULT_NODE_CAP-1, i%_DEFAULT_NODE_CAP + if a < 0 { + self.head[b] = v + } else { + self.growTailLength(a+1) + var n = &self.tail[a] + if *n == nil { + *n = new(nodeChunk) + } + (*n)[b] = v + } + if self.size <= i { + self.size = i+1 + } +} + +func (self *linkedNodes) growTailLength(l int) { + if l <= len(self.tail) { + return + } + c := cap(self.tail) + for c < l { + c += 1 + c>>_APPEND_GROW_SHIFT + } + if c == cap(self.tail) { + self.tail = self.tail[:l] + return + } + tmp := make([]*nodeChunk, l, c) + copy(tmp, self.tail) + self.tail = tmp +} + +func (self *linkedNodes) ToSlice(con []Node) { + if len(con) < self.size { + return + } + i := (self.size-1) + a, b := i/_DEFAULT_NODE_CAP-1, i%_DEFAULT_NODE_CAP + if a < 0 { + copy(con, self.head[:b+1]) + return + } else { + copy(con, self.head[:]) + con = con[_DEFAULT_NODE_CAP:] + } + + for i:=0; i>_APPEND_GROW_SHIFT + self.tail = make([]*nodeChunk, a+1, c) + } + self.tail = self.tail[:a+1] + + for i:=0; i= 0 && i < _DEFAULT_NODE_CAP && i= _DEFAULT_NODE_CAP && i>_APPEND_GROW_SHIFT + } + if c == cap(self.tail) { + self.tail = self.tail[:l] + return + } + tmp := make([]*pairChunk, l, c) + copy(tmp, self.tail) + self.tail = tmp +} + +// linear search +func (self *linkedPairs) Get(key string) (*Pair, int) { + for i:=0; i>_APPEND_GROW_SHIFT + self.tail = make([]*pairChunk, a+1, c) + } + self.tail = self.tail[:a+1] + + for i:=0; i len(b) { + l = len(b) + } + for i := d; i < l; i++ { + if a[i] == b[i] { + continue + } + return a[i] < b[i] + } + return len(a) < len(b) +} + +type parseObjectStack struct { + parser Parser + v linkedPairs +} + +type parseArrayStack struct { + parser Parser + v linkedNodes +} + +func newLazyArray(p *Parser) Node { + s := new(parseArrayStack) + s.parser = *p + return Node{ + t: _V_ARRAY_LAZY, + p: unsafe.Pointer(s), + } +} + +func newLazyObject(p *Parser) Node { + s := new(parseObjectStack) + s.parser = *p + return Node{ + t: _V_OBJECT_LAZY, + p: unsafe.Pointer(s), + } +} + +func (self *Node) getParserAndArrayStack() (*Parser, *parseArrayStack) { + stack := (*parseArrayStack)(self.p) + return &stack.parser, stack +} + +func (self *Node) getParserAndObjectStack() (*Parser, *parseObjectStack) { + stack := (*parseObjectStack)(self.p) + return &stack.parser, stack +} + diff --git a/vendor/github.com/bytedance/sonic/ast/decode.go b/vendor/github.com/bytedance/sonic/ast/decode.go index 6a5f6fe..c521fb5 100644 --- a/vendor/github.com/bytedance/sonic/ast/decode.go +++ b/vendor/github.com/bytedance/sonic/ast/decode.go @@ -220,7 +220,7 @@ func decodeFloat64(src string, pos int) (ret int, v float64, err error) { return ret, v, nil } -func decodeValue(src string, pos int) (ret int, v types.JsonState) { +func decodeValue(src string, pos int, skipnum bool) (ret int, v types.JsonState) { pos = skipBlank(src, pos) if pos < 0 { return pos, types.JsonState{Vt: types.ValueType(pos)} @@ -256,20 +256,30 @@ func decodeValue(src string, pos int) (ret int, v types.JsonState) { } return ret, types.JsonState{Vt: types.V_FALSE} case '-', '+', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': - var iv int64 - ret, iv, _ = decodeInt64(src, pos) - if ret >= 0 { - return ret, types.JsonState{Vt: types.V_INTEGER, Iv: iv, Ep: pos} - } else if ret != -int(types.ERR_INVALID_NUMBER_FMT) { - return ret, types.JsonState{Vt: types.ValueType(ret)} - } - var fv float64 - ret, fv, _ = decodeFloat64(src, pos) - if ret >= 0 { - return ret, types.JsonState{Vt: types.V_DOUBLE, Dv: fv, Ep: pos} + if skipnum { + ret = skipNumber(src, pos) + if ret >= 0 { + return ret, types.JsonState{Vt: types.V_DOUBLE, Iv: 0, Ep: pos} + } else { + return ret, types.JsonState{Vt: types.ValueType(ret)} + } } else { - return ret, types.JsonState{Vt: types.ValueType(ret)} + var iv int64 + ret, iv, _ = decodeInt64(src, pos) + if ret >= 0 { + return ret, types.JsonState{Vt: types.V_INTEGER, Iv: iv, Ep: pos} + } else if ret != -int(types.ERR_INVALID_NUMBER_FMT) { + return ret, types.JsonState{Vt: types.ValueType(ret)} + } + var fv float64 + ret, fv, _ = decodeFloat64(src, pos) + if ret >= 0 { + return ret, types.JsonState{Vt: types.V_DOUBLE, Dv: fv, Ep: pos} + } else { + return ret, types.JsonState{Vt: types.ValueType(ret)} + } } + default: return -int(types.ERR_INVALID_CHAR), types.JsonState{Vt:-types.ValueType(types.ERR_INVALID_CHAR)} } @@ -573,3 +583,36 @@ func skipArray(src string, pos int) (ret int, start int) { pos++ } } + +// DecodeString decodes a JSON string from pos and return golang string. +// - needEsc indicates if to unescaped escaping chars +// - hasEsc tells if the returned string has escaping chars +// - validStr enables validating UTF8 charset +// +func _DecodeString(src string, pos int, needEsc bool, validStr bool) (v string, ret int, hasEsc bool) { + p := NewParserObj(src) + p.p = pos + switch val := p.decodeValue(); val.Vt { + case types.V_STRING: + str := p.s[val.Iv : p.p-1] + if validStr && !validate_utf8(str) { + return "", -int(types.ERR_INVALID_UTF8), false + } + /* fast path: no escape sequence */ + if val.Ep == -1 { + return str, p.p, false + } else if !needEsc { + return str, p.p, true + } + /* unquote the string */ + out, err := unquote(str) + /* check for errors */ + if err != 0 { + return "", -int(err), true + } else { + return out, p.p, true + } + default: + return "", -int(_ERR_UNSUPPORT_TYPE), false + } +} diff --git a/vendor/github.com/bytedance/sonic/ast/encode.go b/vendor/github.com/bytedance/sonic/ast/encode.go index 1187e30..956809c 100644 --- a/vendor/github.com/bytedance/sonic/ast/encode.go +++ b/vendor/github.com/bytedance/sonic/ast/encode.go @@ -19,8 +19,6 @@ package ast import ( `sync` `unicode/utf8` - - `github.com/bytedance/sonic/internal/rt` ) const ( @@ -165,18 +163,18 @@ func (self *Node) encodeFalse(buf *[]byte) error { } func (self *Node) encodeNumber(buf *[]byte) error { - str := rt.StrFrom(self.p, self.v) + str := self.toString() *buf = append(*buf, str...) return nil } func (self *Node) encodeString(buf *[]byte) error { - if self.v == 0 { + if self.l == 0 { *buf = append(*buf, '"', '"') return nil } - quote(buf, rt.StrFrom(self.p, self.v)) + quote(buf, self.toString()) return nil } @@ -195,16 +193,17 @@ func (self *Node) encodeArray(buf *[]byte) error { *buf = append(*buf, '[') - var p = (*Node)(self.p) - err := p.encode(buf) - if err != nil { - return err - } - for i := 1; i < nb; i++ { - *buf = append(*buf, ',') - p = p.unsafe_next() - err := p.encode(buf) - if err != nil { + var started bool + for i := 0; i < nb; i++ { + n := self.nodeAt(i) + if !n.Exists() { + continue + } + if started { + *buf = append(*buf, ',') + } + started = true + if err := n.encode(buf); err != nil { return err } } @@ -240,20 +239,21 @@ func (self *Node) encodeObject(buf *[]byte) error { *buf = append(*buf, '{') - var p = (*Pair)(self.p) - err := p.encode(buf) - if err != nil { - return err - } - for i := 1; i < nb; i++ { - *buf = append(*buf, ',') - p = p.unsafe_next() - err := p.encode(buf) - if err != nil { + var started bool + for i := 0; i < nb; i++ { + n := self.pairAt(i) + if n == nil || !n.Value.Exists() { + continue + } + if started { + *buf = append(*buf, ',') + } + started = true + if err := n.encode(buf); err != nil { return err } } *buf = append(*buf, '}') return nil -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/ast/error.go b/vendor/github.com/bytedance/sonic/ast/error.go index f4c441a..00a0446 100644 --- a/vendor/github.com/bytedance/sonic/ast/error.go +++ b/vendor/github.com/bytedance/sonic/ast/error.go @@ -8,23 +8,55 @@ import ( `github.com/bytedance/sonic/internal/native/types` ) -func (self *Parser) syntaxError(err types.ParsingError) SyntaxError { - return SyntaxError{ - Pos : self.p, - Src : self.s, - Code: err, + +func newError(err types.ParsingError, msg string) *Node { + return &Node{ + t: V_ERROR, + l: uint(err), + p: unsafe.Pointer(&msg), } } +// Error returns error message if the node is invalid +func (self Node) Error() string { + if self.t != V_ERROR { + return "" + } else { + return *(*string)(self.p) + } +} + func newSyntaxError(err SyntaxError) *Node { msg := err.Description() return &Node{ t: V_ERROR, - v: int64(err.Code), + l: uint(err.Code), p: unsafe.Pointer(&msg), } } +func (self *Parser) syntaxError(err types.ParsingError) SyntaxError { + return SyntaxError{ + Pos : self.p, + Src : self.s, + Code: err, + } +} + +func unwrapError(err error) *Node { + if se, ok := err.(*Node); ok { + return se + }else if sse, ok := err.(Node); ok { + return &sse + } else { + msg := err.Error() + return &Node{ + t: V_ERROR, + p: unsafe.Pointer(&msg), + } + } +} + type SyntaxError struct { Pos int Src string diff --git a/vendor/github.com/bytedance/sonic/ast/iterator.go b/vendor/github.com/bytedance/sonic/ast/iterator.go index 03a25b4..64e1e5a 100644 --- a/vendor/github.com/bytedance/sonic/ast/iterator.go +++ b/vendor/github.com/bytedance/sonic/ast/iterator.go @@ -32,7 +32,11 @@ func (self *Node) Values() (ListIterator, error) { if err := self.should(types.V_ARRAY, "an array"); err != nil { return ListIterator{}, err } - return ListIterator{Iterator{p: self}}, nil + return self.values(), nil +} + +func (self *Node) values() ListIterator { + return ListIterator{Iterator{p: self}} } // Properties returns iterator for object's children traversal @@ -40,7 +44,11 @@ func (self *Node) Properties() (ObjectIterator, error) { if err := self.should(types.V_OBJECT, "an object"); err != nil { return ObjectIterator{}, err } - return ObjectIterator{Iterator{p: self}}, nil + return self.properties(), nil +} + +func (self *Node) properties() ObjectIterator { + return ObjectIterator{Iterator{p: self}} } type Iterator struct { @@ -82,26 +90,54 @@ type ObjectIterator struct { Iterator } +func (self *ListIterator) next() *Node { +next_start: + if !self.HasNext() { + return nil + } else { + n := self.p.nodeAt(self.i) + self.i++ + if !n.Exists() { + goto next_start + } + return n + } +} + // Next scans through children of underlying V_ARRAY, // copies each child to v, and returns .HasNext(). func (self *ListIterator) Next(v *Node) bool { - if !self.HasNext() { + n := self.next() + if n == nil { return false + } + *v = *n + return true +} + +func (self *ObjectIterator) next() *Pair { +next_start: + if !self.HasNext() { + return nil } else { - *v, self.i = *self.p.nodeAt(self.i), self.i + 1 - return true + n := self.p.pairAt(self.i) + self.i++ + if n == nil || !n.Value.Exists() { + goto next_start + } + return n } } // Next scans through children of underlying V_OBJECT, // copies each child to v, and returns .HasNext(). func (self *ObjectIterator) Next(p *Pair) bool { - if !self.HasNext() { + n := self.next() + if n == nil { return false - } else { - *p, self.i = *self.p.pairAt(self.i), self.i + 1 - return true } + *p = *n + return true } // Sequence represents scanning path of single-layer nodes. @@ -129,36 +165,39 @@ type Scanner func(path Sequence, node *Node) bool // // Especailly, if the node is not V_ARRAY or V_OBJECT, // the node itself will be returned and Sequence.Index == -1. +// +// NOTICE: A unsetted node WON'T trigger sc, but its index still counts into Path.Index func (self *Node) ForEach(sc Scanner) error { switch self.itype() { case types.V_ARRAY: - ns, err := self.UnsafeArray() + iter, err := self.Values() if err != nil { return err } - for i := range ns { - if !sc(Sequence{i, nil}, &ns[i]) { - return err + v := iter.next() + for v != nil { + if !sc(Sequence{iter.i-1, nil}, v) { + return nil } + v = iter.next() } case types.V_OBJECT: - ns, err := self.UnsafeMap() + iter, err := self.Properties() if err != nil { return err } - for i := range ns { - if !sc(Sequence{i, &ns[i].Key}, &ns[i].Value) { - return err + v := iter.next() + for v != nil { + if !sc(Sequence{iter.i-1, &v.Key}, &v.Value) { + return nil } + v = iter.next() } default: + if self.Check() != nil { + return self + } sc(Sequence{-1, nil}, self) } - return self.Check() + return nil } - -type PairSlice []Pair - -func (self PairSlice) Sort() { - radixQsort(self, 0, maxDepth(len(self))) -} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/ast/node.go b/vendor/github.com/bytedance/sonic/ast/node.go index 6b5ad8a..ac6d228 100644 --- a/vendor/github.com/bytedance/sonic/ast/node.go +++ b/vendor/github.com/bytedance/sonic/ast/node.go @@ -21,20 +21,11 @@ import ( `fmt` `strconv` `unsafe` - `reflect` `github.com/bytedance/sonic/internal/native/types` `github.com/bytedance/sonic/internal/rt` ) -const ( - _CAP_BITS = 32 - _LEN_MASK = 1 << _CAP_BITS - 1 - - _NODE_SIZE = unsafe.Sizeof(Node{}) - _PAIR_SIZE = unsafe.Sizeof(Pair{}) -) - const ( _V_NONE types.ValueType = 0 _V_NODE_BASE types.ValueType = 1 << 5 @@ -51,40 +42,36 @@ const ( const ( V_NONE = 0 V_ERROR = 1 - V_NULL = 2 - V_TRUE = 3 - V_FALSE = 4 - V_ARRAY = 5 - V_OBJECT = 6 - V_STRING = 7 + V_NULL = int(types.V_NULL) + V_TRUE = int(types.V_TRUE) + V_FALSE = int(types.V_FALSE) + V_ARRAY = int(types.V_ARRAY) + V_OBJECT = int(types.V_OBJECT) + V_STRING = int(types.V_STRING) V_NUMBER = int(_V_NUMBER) V_ANY = int(_V_ANY) ) -var ( - byteType = rt.UnpackType(reflect.TypeOf(byte(0))) -) - type Node struct { - v int64 t types.ValueType + l uint p unsafe.Pointer } // UnmarshalJSON is just an adapter to json.Unmarshaler. // If you want better performance, use Searcher.GetByPath() directly func (self *Node) UnmarshalJSON(data []byte) (err error) { - *self, err = NewSearcher(string(data)).GetByPath() - return + *self = NewRaw(string(data)) + return self.Check() } /** Node Type Accessor **/ // Type returns json type represented by the node // It will be one of belows: -// V_NONE = 0 (empty node) +// V_NONE = 0 (empty node, key not exists) // V_ERROR = 1 (error node) -// V_NULL = 2 (json value `null`) +// V_NULL = 2 (json value `null`, key exists) // V_TRUE = 3 (json value `true`) // V_FALSE = 4 (json value `false`) // V_ARRAY = 5 (json value array) @@ -102,7 +89,7 @@ func (self Node) itype() types.ValueType { // Exists returns false only if the self is nil or empty node V_NONE func (self *Node) Exists() bool { - return self != nil && self.t != _V_NONE + return self.Valid() && self.t != _V_NONE } // Valid reports if self is NOT V_ERROR or nil @@ -114,7 +101,7 @@ func (self *Node) Valid() bool { } // Check checks if the node itself is valid, and return: -// - ErrNotFound If the node is nil +// - ErrNotExist If the node is nil // - Its underlying error If the node is V_ERROR func (self *Node) Check() error { if self == nil { @@ -126,15 +113,6 @@ func (self *Node) Check() error { } } -// Error returns error message if the node is invalid -func (self Node) Error() string { - if self.t != V_ERROR { - return "" - } else { - return *(*string)(self.p) - } -} - // IsRaw returns true if node's underlying value is raw json func (self Node) IsRaw() bool { return self.t&_V_RAW != 0 @@ -152,11 +130,14 @@ func (self *Node) isAny() bool { // Raw returns json representation of the node, func (self *Node) Raw() (string, error) { + if self == nil { + return "", ErrNotExist + } if !self.IsRaw() { buf, err := self.MarshalJSON() return rt.Mem2Str(buf), err } - return rt.StrFrom(self.p, self.v), nil + return self.toString(), nil } func (self *Node) checkRaw() error { @@ -166,7 +147,7 @@ func (self *Node) checkRaw() error { if self.IsRaw() { self.parseRaw(false) } - return nil + return self.Check() } // Bool returns bool value represented by this node, @@ -181,14 +162,14 @@ func (self *Node) Bool() (bool, error) { case types.V_FALSE : return false, nil case types.V_NULL : return false, nil case _V_NUMBER : - if i, err := numberToInt64(self); err == nil { + if i, err := self.toInt64(); err == nil { return i != 0, nil - } else if f, err := numberToFloat64(self); err == nil { + } else if f, err := self.toFloat64(); err == nil { return f != 0, nil } else { return false, err } - case types.V_STRING: return strconv.ParseBool(rt.StrFrom(self.p, self.v)) + case types.V_STRING: return strconv.ParseBool(self.toString()) case _V_ANY : any := self.packAny() switch v := any.(type) { @@ -229,9 +210,9 @@ func (self *Node) Int64() (int64, error) { } switch self.t { case _V_NUMBER, types.V_STRING : - if i, err := numberToInt64(self); err == nil { + if i, err := self.toInt64(); err == nil { return i, nil - } else if f, err := numberToFloat64(self); err == nil { + } else if f, err := self.toFloat64(); err == nil { return int64(f), nil } else { return 0, err @@ -283,7 +264,7 @@ func (self *Node) StrictInt64() (int64, error) { return 0, err } switch self.t { - case _V_NUMBER : return numberToInt64(self) + case _V_NUMBER : return self.toInt64() case _V_ANY : any := self.packAny() switch v := any.(type) { @@ -325,12 +306,12 @@ func (self *Node) Number() (json.Number, error) { return json.Number(""), err } switch self.t { - case _V_NUMBER : return toNumber(self) , nil + case _V_NUMBER : return self.toNumber(), nil case types.V_STRING : - if _, err := numberToInt64(self); err == nil { - return toNumber(self), nil - } else if _, err := numberToFloat64(self); err == nil { - return toNumber(self), nil + if _, err := self.toInt64(); err == nil { + return self.toNumber(), nil + } else if _, err := self.toFloat64(); err == nil { + return self.toNumber(), nil } else { return json.Number(""), err } @@ -372,7 +353,7 @@ func (self *Node) StrictNumber() (json.Number, error) { return json.Number(""), err } switch self.t { - case _V_NUMBER : return toNumber(self) , nil + case _V_NUMBER : return self.toNumber() , nil case _V_ANY : if v, ok := self.packAny().(json.Number); ok { return v, nil @@ -394,7 +375,7 @@ func (self *Node) String() (string, error) { case types.V_NULL : return "" , nil case types.V_TRUE : return "true" , nil case types.V_FALSE : return "false", nil - case types.V_STRING, _V_NUMBER : return rt.StrFrom(self.p, self.v), nil + case types.V_STRING, _V_NUMBER : return self.toString(), nil case _V_ANY : any := self.packAny() switch v := any.(type) { @@ -426,7 +407,7 @@ func (self *Node) StrictString() (string, error) { return "", err } switch self.t { - case types.V_STRING : return rt.StrFrom(self.p, self.v), nil + case types.V_STRING : return self.toString(), nil case _V_ANY : if v, ok := self.packAny().(string); ok { return v, nil @@ -445,7 +426,7 @@ func (self *Node) Float64() (float64, error) { return 0.0, err } switch self.t { - case _V_NUMBER, types.V_STRING : return numberToFloat64(self) + case _V_NUMBER, types.V_STRING : return self.toFloat64() case types.V_TRUE : return 1.0, nil case types.V_FALSE : return 0.0, nil case types.V_NULL : return 0.0, nil @@ -494,7 +475,7 @@ func (self *Node) StrictFloat64() (float64, error) { return 0.0, err } switch self.t { - case _V_NUMBER : return numberToFloat64(self) + case _V_NUMBER : return self.toFloat64() case _V_ANY : any := self.packAny() switch v := any.(type) { @@ -509,15 +490,13 @@ func (self *Node) StrictFloat64() (float64, error) { /** Sequencial Value Methods **/ // Len returns children count of a array|object|string node -// For partially loaded node, it also works but only counts the parsed children +// WARN: For partially loaded node, it also works but only counts the parsed children func (self *Node) Len() (int, error) { if err := self.checkRaw(); err != nil { return 0, err } - if self.t == types.V_ARRAY || self.t == types.V_OBJECT || self.t == _V_ARRAY_LAZY || self.t == _V_OBJECT_LAZY { - return int(self.v & _LEN_MASK), nil - } else if self.t == types.V_STRING { - return int(self.v), nil + if self.t == types.V_ARRAY || self.t == types.V_OBJECT || self.t == _V_ARRAY_LAZY || self.t == _V_OBJECT_LAZY || self.t == types.V_STRING { + return int(self.l), nil } else if self.t == _V_NONE || self.t == types.V_NULL { return 0, nil } else { @@ -526,7 +505,7 @@ func (self *Node) Len() (int, error) { } func (self Node) len() int { - return int(self.v & _LEN_MASK) + return int(self.l) } // Cap returns malloc capacity of a array|object node for children @@ -534,47 +513,44 @@ func (self *Node) Cap() (int, error) { if err := self.checkRaw(); err != nil { return 0, err } - if self.t == types.V_ARRAY || self.t == types.V_OBJECT || self.t == _V_ARRAY_LAZY || self.t == _V_OBJECT_LAZY { - return int(self.v >> _CAP_BITS), nil - } else if self.t == _V_NONE || self.t == types.V_NULL { - return 0, nil - } else { - return 0, ErrUnsupportType + switch self.t { + case types.V_ARRAY: return (*linkedNodes)(self.p).Cap(), nil + case types.V_OBJECT: return (*linkedPairs)(self.p).Cap(), nil + case _V_ARRAY_LAZY: return (*parseArrayStack)(self.p).v.Cap(), nil + case _V_OBJECT_LAZY: return (*parseObjectStack)(self.p).v.Cap(), nil + case _V_NONE, types.V_NULL: return 0, nil + default: return 0, ErrUnsupportType } } -func (self Node) cap() int { - return int(self.v >> _CAP_BITS) -} - // Set sets the node of given key under self, and reports if the key has existed. // // If self is V_NONE or V_NULL, it becomes V_OBJECT and sets the node at the key. func (self *Node) Set(key string, node Node) (bool, error) { - if self != nil && (self.t == _V_NONE || self.t == types.V_NULL) { - *self = NewObject([]Pair{{key, node}}) - return false, nil + if err := self.Check(); err != nil { + return false, err } - if err := node.Check(); err != nil { return false, err } + + if self.t == _V_NONE || self.t == types.V_NULL { + *self = NewObject([]Pair{{key, node}}) + return false, nil + } else if self.itype() != types.V_OBJECT { + return false, ErrUnsupportType + } p := self.Get(key) + if !p.Exists() { - l := self.len() - c := self.cap() - if l == c { - // TODO: maybe change append size in future - c += _DEFAULT_NODE_CAP - mem := unsafe_NewArray(_PAIR_TYPE, c) - memmove(mem, self.p, _PAIR_SIZE * uintptr(l)) - self.p = mem + // self must be fully-loaded here + if self.len() == 0 { + *self = newObject(new(linkedPairs)) } - v := self.pairAt(l) - v.Key = key - v.Value = node - self.setCapAndLen(c, l+1) + s := (*linkedPairs)(self.p) + s.Push(Pair{key, node}) + self.l++ return false, nil } else if err := p.Check(); err != nil { @@ -590,17 +566,22 @@ func (self *Node) SetAny(key string, val interface{}) (bool, error) { return self.Set(key, NewAny(val)) } -// Unset remove the node of given key under object parent, and reports if the key has existed. +// Unset REMOVE (soft) the node of given key under object parent, and reports if the key has existed. func (self *Node) Unset(key string) (bool, error) { - self.must(types.V_OBJECT, "an object") + if err := self.should(types.V_OBJECT, "an object"); err != nil { + return false, err + } + // NOTICE: must get acurate length before deduct + if err := self.skipAllKey(); err != nil { + return false, err + } p, i := self.skipKey(key) if !p.Exists() { return false, nil } else if err := p.Check(); err != nil { return false, err } - - self.removePair(i) + self.removePairAt(i) return true, nil } @@ -608,10 +589,18 @@ func (self *Node) Unset(key string) (bool, error) { // // The index must be within self's children. func (self *Node) SetByIndex(index int, node Node) (bool, error) { + if err := self.Check(); err != nil { + return false, err + } if err := node.Check(); err != nil { return false, err } + if index == 0 && (self.t == _V_NONE || self.t == types.V_NULL) { + *self = NewArray([]Node{node}) + return false, nil + } + p := self.Index(index) if !p.Exists() { return false, ErrNotExist @@ -628,14 +617,28 @@ func (self *Node) SetAnyByIndex(index int, val interface{}) (bool, error) { return self.SetByIndex(index, NewAny(val)) } -// UnsetByIndex remove the node of given index +// UnsetByIndex REOMVE (softly) the node of given index. +// +// WARN: this will change address of elements, which is a dangerous action. +// Use Unset() for object or Pop() for array instead. func (self *Node) UnsetByIndex(index int) (bool, error) { + if err := self.checkRaw(); err != nil { + return false, err + } + var p *Node it := self.itype() + if it == types.V_ARRAY { - p = self.Index(index) - }else if it == types.V_OBJECT { - pr := self.skipIndexPair(index) + if err := self.skipAllIndex(); err != nil { + return false, err + } + p = self.nodeAt(index) + } else if it == types.V_OBJECT { + if err := self.skipAllKey(); err != nil { + return false, err + } + pr := self.pairAt(index) if pr == nil { return false, ErrNotExist } @@ -648,6 +651,12 @@ func (self *Node) UnsetByIndex(index int) (bool, error) { return false, ErrNotExist } + // last elem + if index == self.len() - 1 { + return true, self.Pop() + } + + // not last elem, self.len() change but linked-chunk not change if it == types.V_ARRAY { self.removeNode(index) }else if it == types.V_OBJECT { @@ -660,28 +669,110 @@ func (self *Node) UnsetByIndex(index int) (bool, error) { // // If self is V_NONE or V_NULL, it becomes V_ARRAY and sets the node at index 0. func (self *Node) Add(node Node) error { + if err := self.Check(); err != nil { + return err + } + if self != nil && (self.t == _V_NONE || self.t == types.V_NULL) { *self = NewArray([]Node{node}) return nil } - if err := self.should(types.V_ARRAY, "an array"); err != nil { return err } - if err := self.skipAllIndex(); err != nil { + + s, err := self.unsafeArray() + if err != nil { return err } - var p rt.GoSlice - p.Cap = self.cap() - p.Len = self.len() - p.Ptr = self.p + // Notice: array won't have unset node in tail + s.Push(node) + self.l++ + return nil +} + +// Pop remove the last child of the V_Array or V_Object node. +func (self *Node) Pop() error { + if err := self.checkRaw(); err != nil { + return err + } + + if it := self.itype(); it == types.V_ARRAY { + s, err := self.unsafeArray() + if err != nil { + return err + } + // remove tail unset nodes + for i := s.Len()-1; i >= 0; i-- { + if s.At(i).Exists() { + s.Pop() + self.l-- + break + } + s.Pop() + } + + } else if it == types.V_OBJECT { + s, err := self.unsafeMap() + if err != nil { + return err + } + // remove tail unset nodes + for i := s.Len()-1; i >= 0; i-- { + if p := s.At(i); p != nil && p.Value.Exists() { + s.Pop() + self.l-- + break + } + s.Pop() + } + + } else { + return ErrUnsupportType + } + + return nil +} + +// Move moves the child at src index to dst index, +// meanwhile slides sliblings from src+1 to dst. +// +// WARN: this will change address of elements, which is a dangerous action. +func (self *Node) Move(dst, src int) error { + if err := self.should(types.V_ARRAY, "an array"); err != nil { + return err + } + + s, err := self.unsafeArray() + if err != nil { + return err + } - s := *(*[]Node)(unsafe.Pointer(&p)) - s = append(s, node) + // check if any unset node exists + if l := s.Len(); self.len() != l { + di, si := dst, src + // find real pos of src and dst + for i := 0; i < l; i++ { + if s.At(i).Exists() { + di-- + si-- + } + if di == -1 { + dst = i + di-- + } + if si == -1 { + src = i + si-- + } + if di == -2 && si == -2 { + break + } + } + } - self.p = unsafe.Pointer(&s[0]) - self.setCapAndLen(cap(s), len(s)) + s.MoveOne(src, dst) return nil } @@ -760,19 +851,30 @@ func (self *Node) IndexPair(idx int) *Pair { return self.skipIndexPair(idx) } -// IndexOrGet firstly use idx to index a value and check if its key matches -// If not, then use the key to search value -func (self *Node) IndexOrGet(idx int, key string) *Node { +func (self *Node) indexOrGet(idx int, key string) (*Node, int) { if err := self.should(types.V_OBJECT, "an object"); err != nil { - return unwrapError(err) + return unwrapError(err), idx } pr := self.skipIndexPair(idx) if pr != nil && pr.Key == key { - return &pr.Value + return &pr.Value, idx } - n, _ := self.skipKey(key) - return n + + return self.skipKey(key) +} + +// IndexOrGet firstly use idx to index a value and check if its key matches +// If not, then use the key to search value +func (self *Node) IndexOrGet(idx int, key string) *Node { + node, _ := self.indexOrGet(idx, key) + return node +} + +// IndexOrGetWithIdx attempts to retrieve a node by index and key, returning the node and its correct index. +// If the key does not match at the given index, it searches by key and returns the node with its updated index. +func (self *Node) IndexOrGetWithIdx(idx int, key string) (*Node, int) { + return self.indexOrGet(idx, key) } /** Generic Value Converters **/ @@ -837,30 +939,74 @@ func (self *Node) MapUseNode() (map[string]Node, error) { // MapUnsafe exports the underlying pointer to its children map // WARN: don't use it unless you know what you are doing -func (self *Node) UnsafeMap() ([]Pair, error) { - if err := self.should(types.V_OBJECT, "an object"); err != nil { - return nil, err - } +// +// Deprecated: this API now returns copied nodes instead of directly reference, +// func (self *Node) UnsafeMap() ([]Pair, error) { +// if err := self.should(types.V_OBJECT, "an object"); err != nil { +// return nil, err +// } +// if err := self.skipAllKey(); err != nil { +// return nil, err +// } +// return self.toGenericObjectUsePair() +// } + +//go:nocheckptr +func (self *Node) unsafeMap() (*linkedPairs, error) { if err := self.skipAllKey(); err != nil { return nil, err } - s := rt.Ptr2SlicePtr(self.p, int(self.len()), self.cap()) - return *(*[]Pair)(s), nil + if self.p == nil { + *self = newObject(new(linkedPairs)) + } + return (*linkedPairs)(self.p), nil } // SortKeys sorts children of a V_OBJECT node in ascending key-order. // If recurse is true, it recursively sorts children's children as long as a V_OBJECT node is found. -func (self *Node) SortKeys(recurse bool) (err error) { - ps, err := self.UnsafeMap() +func (self *Node) SortKeys(recurse bool) error { + // check raw node first + if err := self.checkRaw(); err != nil { + return err + } + if self.itype() == types.V_OBJECT { + return self.sortKeys(recurse) + } else if self.itype() == types.V_ARRAY { + var err error + err2 := self.ForEach(func(path Sequence, node *Node) bool { + it := node.itype() + if it == types.V_ARRAY || it == types.V_OBJECT { + err = node.SortKeys(recurse) + if err != nil { + return false + } + } + return true + }) + if err != nil { + return err + } + return err2 + } else { + return nil + } +} + +func (self *Node) sortKeys(recurse bool) (err error) { + // check raw node first + if err := self.checkRaw(); err != nil { + return err + } + ps, err := self.unsafeMap() if err != nil { return err } - PairSlice(ps).Sort() + ps.Sort() if recurse { var sc Scanner sc = func(path Sequence, node *Node) bool { if node.itype() == types.V_OBJECT { - if err := node.SortKeys(recurse); err != nil { + if err := node.sortKeys(recurse); err != nil { return false } } @@ -871,7 +1017,9 @@ func (self *Node) SortKeys(recurse bool) (err error) { } return true } - self.ForEach(sc) + if err := self.ForEach(sc); err != nil { + return err + } } return nil } @@ -936,15 +1084,27 @@ func (self *Node) ArrayUseNode() ([]Node, error) { // ArrayUnsafe exports the underlying pointer to its children array // WARN: don't use it unless you know what you are doing -func (self *Node) UnsafeArray() ([]Node, error) { - if err := self.should(types.V_ARRAY, "an array"); err != nil { - return nil, err - } +// +// Deprecated: this API now returns copied nodes instead of directly reference, +// which has no difference with ArrayUseNode +// func (self *Node) UnsafeArray() ([]Node, error) { +// if err := self.should(types.V_ARRAY, "an array"); err != nil { +// return nil, err +// } +// if err := self.skipAllIndex(); err != nil { +// return nil, err +// } +// return self.toGenericArrayUseNode() +// } + +func (self *Node) unsafeArray() (*linkedNodes, error) { if err := self.skipAllIndex(); err != nil { return nil, err } - s := rt.Ptr2SlicePtr(self.p, self.len(), self.cap()) - return *(*[]Node)(s), nil + if self.p == nil { + *self = newArray(new(linkedNodes)) + } + return (*linkedNodes)(self.p), nil } // Interface loads all children under all pathes from this node, @@ -961,9 +1121,9 @@ func (self *Node) Interface() (interface{}, error) { case types.V_FALSE : return false, nil case types.V_ARRAY : return self.toGenericArray() case types.V_OBJECT : return self.toGenericObject() - case types.V_STRING : return rt.StrFrom(self.p, self.v), nil + case types.V_STRING : return self.toString(), nil case _V_NUMBER : - v, err := numberToFloat64(self) + v, err := self.toFloat64() if err != nil { return nil, err } @@ -1005,8 +1165,8 @@ func (self *Node) InterfaceUseNumber() (interface{}, error) { case types.V_FALSE : return false, nil case types.V_ARRAY : return self.toGenericArrayUseNumber() case types.V_OBJECT : return self.toGenericObjectUseNumber() - case types.V_STRING : return rt.StrFrom(self.p, self.v), nil - case _V_NUMBER : return toNumber(self), nil + case types.V_STRING : return self.toString(), nil + case _V_NUMBER : return self.toNumber(), nil case _V_ARRAY_LAZY : if err := self.loadAllIndex(); err != nil { return nil, err @@ -1092,9 +1252,8 @@ func (self *Node) LoadAll() error { // Load loads the node's children as parsed. // After calling it, only the node itself can be used on concurrency (not include its children) func (self *Node) Load() error { - if self.IsRaw() { - self.parseRaw(false) - return self.Load() + if err := self.checkRaw(); err != nil { + return err } switch self.t { @@ -1109,39 +1268,6 @@ func (self *Node) Load() error { /**---------------------------------- Internal Helper Methods ----------------------------------**/ -var ( - _NODE_TYPE = rt.UnpackEface(Node{}).Type - _PAIR_TYPE = rt.UnpackEface(Pair{}).Type -) - -func (self *Node) setCapAndLen(cap int, len int) { - if self.t == types.V_ARRAY || self.t == types.V_OBJECT || self.t == _V_ARRAY_LAZY || self.t == _V_OBJECT_LAZY { - self.v = int64(len&_LEN_MASK | cap<<_CAP_BITS) - } else { - panic("value does not have a length") - } -} - -func (self *Node) unsafe_next() *Node { - return (*Node)(unsafe.Pointer(uintptr(unsafe.Pointer(self)) + _NODE_SIZE)) -} - -func (self *Pair) unsafe_next() *Pair { - return (*Pair)(unsafe.Pointer(uintptr(unsafe.Pointer(self)) + _PAIR_SIZE)) -} - -func (self *Node) must(t types.ValueType, s string) { - if err := self.checkRaw(); err != nil { - panic(err) - } - if err := self.Check(); err != nil { - panic(err) - } - if self.itype() != t { - panic("value cannot be represented as " + s) - } -} - func (self *Node) should(t types.ValueType, s string) error { if err := self.checkRaw(); err != nil { return err @@ -1153,37 +1279,51 @@ func (self *Node) should(t types.ValueType, s string) error { } func (self *Node) nodeAt(i int) *Node { - var p = self.p + var p *linkedNodes if self.isLazy() { _, stack := self.getParserAndArrayStack() - p = *(*unsafe.Pointer)(unsafe.Pointer(&stack.v)) + p = &stack.v + } else { + p = (*linkedNodes)(self.p) + if l := p.Len(); l != self.len() { + // some nodes got unset, iterate to skip them + for j:=0; j 0 { /* linear search */ var p *Pair + var i int if lazy { s := (*parseObjectStack)(self.p) - p = &s.v[0] + p, i = s.v.Get(key) } else { - p = (*Pair)(self.p) + p, i = (*linkedPairs)(self.p).Get(key) } - if p.Key == key { - return &p.Value, 0 - } - for i := 1; i < nb; i++ { - p = p.unsafe_next() - if p.Key == key { - return &p.Value, i - } + if p != nil { + return &p.Value, i } } @@ -1311,7 +1446,7 @@ func (self *Node) loadAllIndex() error { var err types.ParsingError parser, stack := self.getParserAndArrayStack() parser.noLazy = true - *self, err = parser.decodeArray(stack.v) + *self, err = parser.decodeArray(&stack.v) if err != 0 { return parser.ExportError(err) } @@ -1325,7 +1460,7 @@ func (self *Node) loadAllKey() error { var err types.ParsingError parser, stack := self.getParserAndObjectStack() parser.noLazy = true - *self, err = parser.decodeObject(stack.v) + *self, err = parser.decodeObject(&stack.v) if err != 0 { return parser.ExportError(err) } @@ -1333,63 +1468,50 @@ func (self *Node) loadAllKey() error { } func (self *Node) removeNode(i int) { - nb := self.len() - 1 node := self.nodeAt(i) - if i == nb { - self.setCapAndLen(self.cap(), nb) - *node = Node{} + if node == nil { return } - - from := self.nodeAt(i + 1) - memmove(unsafe.Pointer(node), unsafe.Pointer(from), _NODE_SIZE * uintptr(nb - i)) - - last := self.nodeAt(nb) - *last = Node{} - - self.setCapAndLen(self.cap(), nb) + *node = Node{} + // NOTICE: not be consistent with linkedNode.Len() + self.l-- } func (self *Node) removePair(i int) { - nb := self.len() - 1 - node := self.pairAt(i) - if i == nb { - self.setCapAndLen(self.cap(), nb) - *node = Pair{} + last := self.pairAt(i) + if last == nil { return } - - from := self.pairAt(i + 1) - memmove(unsafe.Pointer(node), unsafe.Pointer(from), _PAIR_SIZE * uintptr(nb - i)) - - last := self.pairAt(nb) *last = Pair{} - - self.setCapAndLen(self.cap(), nb) + // NOTICE: should be consistent with linkedPair.Len() + self.l-- +} + +func (self *Node) removePairAt(i int) { + p := (*linkedPairs)(self.p).At(i) + if p == nil { + return + } + *p = Pair{} + // NOTICE: should be consistent with linkedPair.Len() + self.l-- } func (self *Node) toGenericArray() ([]interface{}, error) { nb := self.len() - ret := make([]interface{}, nb) if nb == 0 { - return ret, nil + return []interface{}{}, nil } - + ret := make([]interface{}, 0, nb) + /* convert each item */ - var p = (*Node)(self.p) - x, err := p.Interface() - if err != nil { - return nil, err - } - ret[0] = x - - for i := 1; i < nb; i++ { - p = p.unsafe_next() - x, err := p.Interface() + it := self.values() + for v := it.next(); v != nil; v = it.next() { + vv, err := v.Interface() if err != nil { return nil, err } - ret[i] = x + ret = append(ret, vv) } /* all done */ @@ -1398,26 +1520,19 @@ func (self *Node) toGenericArray() ([]interface{}, error) { func (self *Node) toGenericArrayUseNumber() ([]interface{}, error) { nb := self.len() - ret := make([]interface{}, nb) if nb == 0 { - return ret, nil + return []interface{}{}, nil } + ret := make([]interface{}, 0, nb) /* convert each item */ - var p = (*Node)(self.p) - x, err := p.InterfaceUseNumber() - if err != nil { - return nil, err - } - ret[0] = x - - for i := 1; i < nb; i++ { - p = p.unsafe_next() - x, err := p.InterfaceUseNumber() + it := self.values() + for v := it.next(); v != nil; v = it.next() { + vv, err := v.InterfaceUseNumber() if err != nil { return nil, err } - ret[i] = x + ret = append(ret, vv) } /* all done */ @@ -1426,50 +1541,32 @@ func (self *Node) toGenericArrayUseNumber() ([]interface{}, error) { func (self *Node) toGenericArrayUseNode() ([]Node, error) { var nb = self.len() - var out = make([]Node, nb) if nb == 0 { - return out, nil + return []Node{}, nil } - var p = (*Node)(self.p) - out[0] = *p - if err := p.Check(); err != nil { - return nil, err - } - - for i := 1; i < nb; i++ { - p = p.unsafe_next() - if err := p.Check(); err != nil { - return nil, err - } - out[i] = *p - } + var s = (*linkedNodes)(self.p) + var out = make([]Node, nb) + s.ToSlice(out) return out, nil } func (self *Node) toGenericObject() (map[string]interface{}, error) { nb := self.len() - ret := make(map[string]interface{}, nb) if nb == 0 { - return ret, nil + return map[string]interface{}{}, nil } + ret := make(map[string]interface{}, nb) /* convert each item */ - var p = (*Pair)(self.p) - x, err := p.Value.Interface() - if err != nil { - return nil, err - } - ret[p.Key] = x - - for i := 1; i < nb; i++ { - p = p.unsafe_next() - x, err := p.Value.Interface() + it := self.properties() + for v := it.next(); v != nil; v = it.next() { + vv, err := v.Value.Interface() if err != nil { return nil, err } - ret[p.Key] = x + ret[v.Key] = vv } /* all done */ @@ -1479,26 +1576,19 @@ func (self *Node) toGenericObject() (map[string]interface{}, error) { func (self *Node) toGenericObjectUseNumber() (map[string]interface{}, error) { nb := self.len() - ret := make(map[string]interface{}, nb) if nb == 0 { - return ret, nil + return map[string]interface{}{}, nil } + ret := make(map[string]interface{}, nb) /* convert each item */ - var p = (*Pair)(self.p) - x, err := p.Value.InterfaceUseNumber() - if err != nil { - return nil, err - } - ret[p.Key] = x - - for i := 1; i < nb; i++ { - p = p.unsafe_next() - x, err := p.Value.InterfaceUseNumber() + it := self.properties() + for v := it.next(); v != nil; v = it.next() { + vv, err := v.Value.InterfaceUseNumber() if err != nil { return nil, err } - ret[p.Key] = x + ret[v.Key] = vv } /* all done */ @@ -1507,24 +1597,13 @@ func (self *Node) toGenericObjectUseNumber() (map[string]interface{}, error) { func (self *Node) toGenericObjectUseNode() (map[string]Node, error) { var nb = self.len() - var out = make(map[string]Node, nb) if nb == 0 { - return out, nil + return map[string]Node{}, nil } - var p = (*Pair)(self.p) - out[p.Key] = p.Value - if err := p.Value.Check(); err != nil { - return nil, err - } - - for i := 1; i < nb; i++ { - p = p.unsafe_next() - if err := p.Value.Check(); err != nil { - return nil, err - } - out[p.Key] = p.Value - } + var s = (*linkedPairs)(self.p) + var out = make(map[string]Node, nb) + s.ToMap(out) /* all done */ return out, nil @@ -1536,15 +1615,12 @@ var ( nullNode = Node{t: types.V_NULL} trueNode = Node{t: types.V_TRUE} falseNode = Node{t: types.V_FALSE} - - emptyArrayNode = Node{t: types.V_ARRAY} - emptyObjectNode = Node{t: types.V_OBJECT} ) // NewRaw creates a node of raw json. // If the input json is invalid, NewRaw returns a error Node. func NewRaw(json string) Node { - parser := NewParser(json) + parser := NewParserObj(json) start, err := parser.skip() if err != 0 { return *newError(err, err.Message()) @@ -1567,7 +1643,6 @@ func NewAny(any interface{}) Node { default: return Node{ t: _V_ANY, - v: 0, p: unsafe.Pointer(&any), } } @@ -1585,7 +1660,6 @@ func NewBytes(src []byte) Node { // NewNull creates a node of type V_NULL func NewNull() Node { return Node{ - v: 0, p: nil, t: types.V_NULL, } @@ -1600,7 +1674,6 @@ func NewBool(v bool) Node { t = types.V_TRUE } return Node{ - v: 0, p: nil, t: t, } @@ -1610,26 +1683,30 @@ func NewBool(v bool) Node { // v must be a decimal string complying with RFC8259 func NewNumber(v string) Node { return Node{ - v: int64(len(v) & _LEN_MASK), + l: uint(len(v)), p: rt.StrPtr(v), t: _V_NUMBER, } } -func toNumber(node *Node) json.Number { - return json.Number(rt.StrFrom(node.p, node.v)) +func (node Node) toNumber() json.Number { + return json.Number(rt.StrFrom(node.p, int64(node.l))) } -func numberToFloat64(node *Node) (float64, error) { - ret,err := toNumber(node).Float64() +func (self Node) toString() string { + return rt.StrFrom(self.p, int64(self.l)) +} + +func (node Node) toFloat64() (float64, error) { + ret, err := node.toNumber().Float64() if err != nil { return 0, err } return ret, nil } -func numberToInt64(node *Node) (int64, error) { - ret,err := toNumber(node).Int64() +func (node Node) toInt64() (int64, error) { + ret,err := node.toNumber().Int64() if err != nil { return 0, err } @@ -1640,7 +1717,7 @@ func newBytes(v []byte) Node { return Node{ t: types.V_STRING, p: mem2ptr(v), - v: int64(len(v) & _LEN_MASK), + l: uint(len(v)), } } @@ -1652,103 +1729,65 @@ func NewString(v string) Node { return Node{ t: types.V_STRING, p: rt.StrPtr(v), - v: int64(len(v) & _LEN_MASK), + l: uint(len(v)), } } // NewArray creates a node of type V_ARRAY, // using v as its underlying children func NewArray(v []Node) Node { + s := new(linkedNodes) + s.FromSlice(v) + return newArray(s) +} + +func newArray(v *linkedNodes) Node { return Node{ t: types.V_ARRAY, - v: int64(len(v)&_LEN_MASK | cap(v)<<_CAP_BITS), - p: *(*unsafe.Pointer)(unsafe.Pointer(&v)), + l: uint(v.Len()), + p: unsafe.Pointer(v), } } -func (self *Node) setArray(v []Node) { +func (self *Node) setArray(v *linkedNodes) { self.t = types.V_ARRAY - self.setCapAndLen(cap(v), len(v)) - self.p = *(*unsafe.Pointer)(unsafe.Pointer(&v)) + self.l = uint(v.Len()) + self.p = unsafe.Pointer(v) } // NewObject creates a node of type V_OBJECT, // using v as its underlying children func NewObject(v []Pair) Node { - return Node{ - t: types.V_OBJECT, - v: int64(len(v)&_LEN_MASK | cap(v)<<_CAP_BITS), - p: *(*unsafe.Pointer)(unsafe.Pointer(&v)), - } -} - -func (self *Node) setObject(v []Pair) { - self.t = types.V_OBJECT - self.setCapAndLen(cap(v), len(v)) - self.p = *(*unsafe.Pointer)(unsafe.Pointer(&v)) -} - -type parseObjectStack struct { - parser Parser - v []Pair + s := new(linkedPairs) + s.FromSlice(v) + return newObject(s) } -type parseArrayStack struct { - parser Parser - v []Node -} - -func newLazyArray(p *Parser, v []Node) Node { - s := new(parseArrayStack) - s.parser = *p - s.v = v - return Node{ - t: _V_ARRAY_LAZY, - v: int64(len(v)&_LEN_MASK | cap(v)<<_CAP_BITS), - p: unsafe.Pointer(s), - } -} - -func (self *Node) setLazyArray(p *Parser, v []Node) { - s := new(parseArrayStack) - s.parser = *p - s.v = v - self.t = _V_ARRAY_LAZY - self.setCapAndLen(cap(v), len(v)) - self.p = (unsafe.Pointer)(s) -} - -func newLazyObject(p *Parser, v []Pair) Node { - s := new(parseObjectStack) - s.parser = *p - s.v = v +func newObject(v *linkedPairs) Node { return Node{ - t: _V_OBJECT_LAZY, - v: int64(len(v)&_LEN_MASK | cap(v)<<_CAP_BITS), - p: unsafe.Pointer(s), + t: types.V_OBJECT, + l: uint(v.Len()), + p: unsafe.Pointer(v), } } -func (self *Node) setLazyObject(p *Parser, v []Pair) { - s := new(parseObjectStack) - s.parser = *p - s.v = v - self.t = _V_OBJECT_LAZY - self.setCapAndLen(cap(v), len(v)) - self.p = (unsafe.Pointer)(s) +func (self *Node) setObject(v *linkedPairs) { + self.t = types.V_OBJECT + self.l = uint(v.Len()) + self.p = unsafe.Pointer(v) } func newRawNode(str string, typ types.ValueType) Node { return Node{ t: _V_RAW | typ, p: rt.StrPtr(str), - v: int64(len(str) & _LEN_MASK), + l: uint(len(str)), } } func (self *Node) parseRaw(full bool) { - raw := rt.StrFrom(self.p, self.v) - parser := NewParser(raw) + raw := self.toString() + parser := NewParserObj(raw) if full { parser.noLazy = true parser.skipValue = false @@ -1760,14 +1799,6 @@ func (self *Node) parseRaw(full bool) { } } -func newError(err types.ParsingError, msg string) *Node { - return &Node{ - t: V_ERROR, - v: int64(err), - p: unsafe.Pointer(&msg), - } -} - var typeJumpTable = [256]types.ValueType{ '"' : types.V_STRING, '-' : _V_NUMBER, @@ -1791,18 +1822,3 @@ var typeJumpTable = [256]types.ValueType{ func switchRawType(c byte) types.ValueType { return typeJumpTable[c] } - -func unwrapError(err error) *Node { - if se, ok := err.(*Node); ok { - return se - }else if sse, ok := err.(Node); ok { - return &sse - } else { - msg := err.Error() - return &Node{ - t: V_ERROR, - v: 0, - p: unsafe.Pointer(&msg), - } - } -} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/ast/parser.go b/vendor/github.com/bytedance/sonic/ast/parser.go index 0a8e7b0..a1f5826 100644 --- a/vendor/github.com/bytedance/sonic/ast/parser.go +++ b/vendor/github.com/bytedance/sonic/ast/parser.go @@ -18,11 +18,15 @@ package ast import ( `fmt` + `github.com/bytedance/sonic/internal/native/types` `github.com/bytedance/sonic/internal/rt` ) -const _DEFAULT_NODE_CAP int = 16 +const ( + _DEFAULT_NODE_CAP int = 8 + _APPEND_GROW_SHIFT = 1 +) const ( _ERR_NOT_FOUND types.ParsingError = 33 @@ -30,7 +34,10 @@ const ( ) var ( + // ErrNotExist means both key and value doesn't exist ErrNotExist error = newError(_ERR_NOT_FOUND, "value not exists") + + // ErrUnsupportType means API on the node is unsupported ErrUnsupportType error = newError(_ERR_UNSUPPORT_TYPE, "unsupported type") ) @@ -39,6 +46,7 @@ type Parser struct { s string noLazy bool skipValue bool + dbuf *byte } /** Parser Private Methods **/ @@ -107,7 +115,7 @@ func (self *Parser) lspace(sp int) int { return sp } -func (self *Parser) decodeArray(ret []Node) (Node, types.ParsingError) { +func (self *Parser) decodeArray(ret *linkedNodes) (Node, types.ParsingError) { sp := self.p ns := len(self.s) @@ -119,7 +127,7 @@ func (self *Parser) decodeArray(ret []Node) (Node, types.ParsingError) { /* check for empty array */ if self.s[self.p] == ']' { self.p++ - return emptyArrayNode, 0 + return Node{t: types.V_ARRAY}, 0 } /* allocate array space and parse every element */ @@ -149,7 +157,7 @@ func (self *Parser) decodeArray(ret []Node) (Node, types.ParsingError) { } /* add the value to result */ - ret = append(ret, val) + ret.Push(val) self.p = self.lspace(self.p) /* check for EOF */ @@ -160,17 +168,17 @@ func (self *Parser) decodeArray(ret []Node) (Node, types.ParsingError) { /* check for the next character */ switch self.s[self.p] { case ',' : self.p++ - case ']' : self.p++; return NewArray(ret), 0 - default: - if val.isLazy() { - return newLazyArray(self, ret), 0 - } - return Node{}, types.ERR_INVALID_CHAR + case ']' : self.p++; return newArray(ret), 0 + default: + // if val.isLazy() { + // return newLazyArray(self, ret), 0 + // } + return Node{}, types.ERR_INVALID_CHAR } } } -func (self *Parser) decodeObject(ret []Pair) (Node, types.ParsingError) { +func (self *Parser) decodeObject(ret *linkedPairs) (Node, types.ParsingError) { sp := self.p ns := len(self.s) @@ -182,7 +190,7 @@ func (self *Parser) decodeObject(ret []Pair) (Node, types.ParsingError) { /* check for empty object */ if self.s[self.p] == '}' { self.p++ - return emptyObjectNode, 0 + return Node{t: types.V_OBJECT}, 0 } /* decode each pair */ @@ -235,7 +243,8 @@ func (self *Parser) decodeObject(ret []Pair) (Node, types.ParsingError) { } /* add the value to result */ - ret = append(ret, Pair{Key: key, Value: val}) + // FIXME: ret's address may change here, thus previous referred node in ret may be invalid !! + ret.Push(Pair{Key: key, Value: val}) self.p = self.lspace(self.p) /* check for EOF */ @@ -246,11 +255,11 @@ func (self *Parser) decodeObject(ret []Pair) (Node, types.ParsingError) { /* check for the next character */ switch self.s[self.p] { case ',' : self.p++ - case '}' : self.p++; return NewObject(ret), 0 + case '}' : self.p++; return newObject(ret), 0 default: - if val.isLazy() { - return newLazyObject(self, ret), 0 - } + // if val.isLazy() { + // return newLazyObject(self, ret), 0 + // } return Node{}, types.ERR_INVALID_CHAR } } @@ -290,15 +299,23 @@ func (self *Parser) Parse() (Node, types.ParsingError) { case types.V_FALSE : return falseNode, 0 case types.V_STRING : return self.decodeString(val.Iv, val.Ep) case types.V_ARRAY: + if p := skipBlank(self.s, self.p); p >= self.p && self.s[p] == ']' { + self.p = p + 1 + return Node{t: types.V_ARRAY}, 0 + } if self.noLazy { - return self.decodeArray(make([]Node, 0, _DEFAULT_NODE_CAP)) + return self.decodeArray(new(linkedNodes)) } - return newLazyArray(self, make([]Node, 0, _DEFAULT_NODE_CAP)), 0 + return newLazyArray(self), 0 case types.V_OBJECT: + if p := skipBlank(self.s, self.p); p >= self.p && self.s[p] == '}' { + self.p = p + 1 + return Node{t: types.V_OBJECT}, 0 + } if self.noLazy { - return self.decodeObject(make([]Pair, 0, _DEFAULT_NODE_CAP)) + return self.decodeObject(new(linkedPairs)) } - return newLazyObject(self, make([]Pair, 0, _DEFAULT_NODE_CAP)), 0 + return newLazyObject(self), 0 case types.V_DOUBLE : return NewNumber(self.s[val.Ep:self.p]), 0 case types.V_INTEGER : return NewNumber(self.s[val.Ep:self.p]), 0 default : return Node{}, types.ParsingError(-val.Vt) @@ -429,7 +446,7 @@ func (self *Node) skipNextNode() *Node { } parser, stack := self.getParserAndArrayStack() - ret := stack.v + ret := &stack.v sp := parser.p ns := len(parser.s) @@ -458,7 +475,8 @@ func (self *Node) skipNextNode() *Node { } /* add the value to result */ - ret = append(ret, val) + ret.Push(val) + self.l++ parser.p = parser.lspace(parser.p) /* check for EOF */ @@ -470,12 +488,11 @@ func (self *Node) skipNextNode() *Node { switch parser.s[parser.p] { case ',': parser.p++ - self.setLazyArray(parser, ret) - return &ret[len(ret)-1] + return ret.At(ret.Len()-1) case ']': parser.p++ self.setArray(ret) - return &ret[len(ret)-1] + return ret.At(ret.Len()-1) default: return newSyntaxError(parser.syntaxError(types.ERR_INVALID_CHAR)) } @@ -487,7 +504,7 @@ func (self *Node) skipNextPair() (*Pair) { } parser, stack := self.getParserAndObjectStack() - ret := stack.v + ret := &stack.v sp := parser.p ns := len(parser.s) @@ -541,7 +558,8 @@ func (self *Node) skipNextPair() (*Pair) { } /* add the value to result */ - ret = append(ret, Pair{Key: key, Value: val}) + ret.Push(Pair{Key: key, Value: val}) + self.l++ parser.p = parser.lspace(parser.p) /* check for EOF */ @@ -553,12 +571,11 @@ func (self *Node) skipNextPair() (*Pair) { switch parser.s[parser.p] { case ',': parser.p++ - self.setLazyObject(parser, ret) - return &ret[len(ret)-1] + return ret.At(ret.Len()-1) case '}': parser.p++ self.setObject(ret) - return &ret[len(ret)-1] + return ret.At(ret.Len()-1) default: return &Pair{key, *newSyntaxError(parser.syntaxError(types.ERR_INVALID_CHAR))} } @@ -601,10 +618,30 @@ func LoadsUseNumber(src string) (int, interface{}, error) { } } +// NewParser returns pointer of new allocated parser func NewParser(src string) *Parser { return &Parser{s: src} } +// NewParser returns new allocated parser +func NewParserObj(src string) Parser { + return Parser{s: src} +} + +// decodeNumber controls if parser decodes the number values instead of skip them +// WARN: once you set decodeNumber(true), please set decodeNumber(false) before you drop the parser +// otherwise the memory CANNOT be reused +func (self *Parser) decodeNumber(decode bool) { + if !decode && self.dbuf != nil { + types.FreeDbuf(self.dbuf) + self.dbuf = nil + return + } + if decode && self.dbuf == nil { + self.dbuf = types.NewDbuf() + } +} + // ExportError converts types.ParsingError to std Error func (self *Parser) ExportError(err types.ParsingError) error { if err == _ERR_NOT_FOUND { @@ -615,4 +652,9 @@ func (self *Parser) ExportError(err types.ParsingError) error { Src : self.s, Code: err, }.Description()) -} \ No newline at end of file +} + +func backward(src string, i int) int { + for ; i>=0 && isSpace(src[i]); i-- {} + return i +} diff --git a/vendor/github.com/bytedance/sonic/ast/search.go b/vendor/github.com/bytedance/sonic/ast/search.go index bb6fcea..a8d1e76 100644 --- a/vendor/github.com/bytedance/sonic/ast/search.go +++ b/vendor/github.com/bytedance/sonic/ast/search.go @@ -16,6 +16,11 @@ package ast +import ( + `github.com/bytedance/sonic/internal/rt` + `github.com/bytedance/sonic/internal/native/types` +) + type Searcher struct { parser Parser } @@ -28,3 +33,106 @@ func NewSearcher(str string) *Searcher { }, } } + +// GetByPathCopy search in depth from top json and returns a **Copied** json node at the path location +func (self *Searcher) GetByPathCopy(path ...interface{}) (Node, error) { + return self.getByPath(true, true, path...) +} + +// GetByPathNoCopy search in depth from top json and returns a **Referenced** json node at the path location +// +// WARN: this search directly refer partial json from top json, which has faster speed, +// may consumes more memory. +func (self *Searcher) GetByPath(path ...interface{}) (Node, error) { + return self.getByPath(false, true, path...) +} + +func (self *Searcher) getByPath(copystring bool, validate bool, path ...interface{}) (Node, error) { + var err types.ParsingError + var start int + + self.parser.p = 0 + start, err = self.parser.getByPath(validate, path...) + if err != 0 { + // for compatibility with old version + if err == types.ERR_NOT_FOUND { + return Node{}, ErrNotExist + } + if err == types.ERR_UNSUPPORT_TYPE { + panic("path must be either int(>=0) or string") + } + return Node{}, self.parser.syntaxError(err) + } + + t := switchRawType(self.parser.s[start]) + if t == _V_NONE { + return Node{}, self.parser.ExportError(err) + } + + // copy string to reducing memory usage + var raw string + if copystring { + raw = rt.Mem2Str([]byte(self.parser.s[start:self.parser.p])) + } else { + raw = self.parser.s[start:self.parser.p] + } + return newRawNode(raw, t), nil +} + +// GetByPath searches a path and returns relaction and types of target +func _GetByPath(src string, path ...interface{}) (start int, end int, typ int, err error) { + p := NewParserObj(src) + s, e := p.getByPath(false, path...) + if e != 0 { + // for compatibility with old version + if e == types.ERR_NOT_FOUND { + return -1, -1, 0, ErrNotExist + } + if e == types.ERR_UNSUPPORT_TYPE { + panic("path must be either int(>=0) or string") + } + return -1, -1, 0, p.syntaxError(e) + } + + t := switchRawType(p.s[s]) + if t == _V_NONE { + return -1, -1, 0, ErrNotExist + } + if t == _V_NUMBER { + p.p = 1 + backward(p.s, p.p-1) + } + return s, p.p, int(t), nil +} + +// ValidSyntax check if a json has a valid JSON syntax, +// while not validate UTF-8 charset +func _ValidSyntax(json string) bool { + p := NewParserObj(json) + _, e := p.skip() + if e != 0 { + return false + } + if skipBlank(p.s, p.p) != -int(types.ERR_EOF) { + return false + } + return true +} + +// SkipFast skip a json value in fast-skip algs, +// while not strictly validate JSON syntax and UTF-8 charset. +func _SkipFast(src string, i int) (int, int, error) { + p := NewParserObj(src) + p.p = i + s, e := p.skipFast() + if e != 0 { + return -1, -1, p.ExportError(e) + } + t := switchRawType(p.s[s]) + if t == _V_NONE { + return -1, -1, ErrNotExist + } + if t == _V_NUMBER { + p.p = 1 + backward(p.s, p.p-1) + } + return s, p.p, nil +} diff --git a/vendor/github.com/bytedance/sonic/ast/sort.go b/vendor/github.com/bytedance/sonic/ast/sort.go deleted file mode 100644 index 0a9f145..0000000 --- a/vendor/github.com/bytedance/sonic/ast/sort.go +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package ast - -// Algorithm 3-way Radix Quicksort, d means the radix. -// Reference: https://algs4.cs.princeton.edu/51radix/Quick3string.java.html -func radixQsort(kvs PairSlice, d, maxDepth int) { - for len(kvs) > 11 { - // To avoid the worst case of quickSort (time: O(n^2)), use introsort here. - // Reference: https://en.wikipedia.org/wiki/Introsort and - // https://github.com/golang/go/issues/467 - if maxDepth == 0 { - heapSort(kvs, 0, len(kvs)) - return - } - maxDepth-- - - p := pivot(kvs, d) - lt, i, gt := 0, 0, len(kvs) - for i < gt { - c := byteAt(kvs[i].Key, d) - if c < p { - swap(kvs, lt, i) - i++ - lt++ - } else if c > p { - gt-- - swap(kvs, i, gt) - } else { - i++ - } - } - - // kvs[0:lt] < v = kvs[lt:gt] < kvs[gt:len(kvs)] - // Native implemention: - // radixQsort(kvs[:lt], d, maxDepth) - // if p > -1 { - // radixQsort(kvs[lt:gt], d+1, maxDepth) - // } - // radixQsort(kvs[gt:], d, maxDepth) - // Optimize as follows: make recursive calls only for the smaller parts. - // Reference: https://www.geeksforgeeks.org/quicksort-tail-call-optimization-reducing-worst-case-space-log-n/ - if p == -1 { - if lt > len(kvs) - gt { - radixQsort(kvs[gt:], d, maxDepth) - kvs = kvs[:lt] - } else { - radixQsort(kvs[:lt], d, maxDepth) - kvs = kvs[gt:] - } - } else { - ml := maxThree(lt, gt-lt, len(kvs)-gt) - if ml == lt { - radixQsort(kvs[lt:gt], d+1, maxDepth) - radixQsort(kvs[gt:], d, maxDepth) - kvs = kvs[:lt] - } else if ml == gt-lt { - radixQsort(kvs[:lt], d, maxDepth) - radixQsort(kvs[gt:], d, maxDepth) - kvs = kvs[lt:gt] - d += 1 - } else { - radixQsort(kvs[:lt], d, maxDepth) - radixQsort(kvs[lt:gt], d+1, maxDepth) - kvs = kvs[gt:] - } - } - } - insertRadixSort(kvs, d) -} - -func insertRadixSort(kvs PairSlice, d int) { - for i := 1; i < len(kvs); i++ { - for j := i; j > 0 && lessFrom(kvs[j].Key, kvs[j-1].Key, d); j-- { - swap(kvs, j, j-1) - } - } -} - -func pivot(kvs PairSlice, d int) int { - m := len(kvs) >> 1 - if len(kvs) > 40 { - // Tukey's ``Ninther,'' median of three mediankvs of three. - t := len(kvs) / 8 - return medianThree( - medianThree(byteAt(kvs[0].Key, d), byteAt(kvs[t].Key, d), byteAt(kvs[2*t].Key, d)), - medianThree(byteAt(kvs[m].Key, d), byteAt(kvs[m-t].Key, d), byteAt(kvs[m+t].Key, d)), - medianThree(byteAt(kvs[len(kvs)-1].Key, d), - byteAt(kvs[len(kvs)-1-t].Key, d), - byteAt(kvs[len(kvs)-1-2*t].Key, d))) - } - return medianThree(byteAt(kvs[0].Key, d), byteAt(kvs[m].Key, d), byteAt(kvs[len(kvs)-1].Key, d)) -} - -func medianThree(i, j, k int) int { - if i > j { - i, j = j, i - } // i < j - if k < i { - return i - } - if k > j { - return j - } - return k -} - -func maxThree(i, j, k int) int { - max := i - if max < j { - max = j - } - if max < k { - max = k - } - return max -} - -// maxDepth returns a threshold at which quicksort should switch -// to heapsort. It returnkvs 2*ceil(lg(n+1)). -func maxDepth(n int) int { - var depth int - for i := n; i > 0; i >>= 1 { - depth++ - } - return depth * 2 -} - -// siftDown implements the heap property on kvs[lo:hi]. -// first is an offset into the array where the root of the heap lies. -func siftDown(kvs PairSlice, lo, hi, first int) { - root := lo - for { - child := 2*root + 1 - if child >= hi { - break - } - if child+1 < hi && kvs[first+child].Key < kvs[first+child+1].Key { - child++ - } - if kvs[first+root].Key >= kvs[first+child].Key { - return - } - swap(kvs, first+root, first+child) - root = child - } -} - -func heapSort(kvs PairSlice, a, b int) { - first := a - lo := 0 - hi := b - a - - // Build heap with the greatest element at top. - for i := (hi - 1) / 2; i >= 0; i-- { - siftDown(kvs, i, hi, first) - } - - // Pop elements, the largest first, into end of kvs. - for i := hi - 1; i >= 0; i-- { - swap(kvs, first, first+i) - siftDown(kvs, lo, i, first) - } -} - -// Note that Pair.Key is NOT pointed to Pair.m when map key is integer after swap -func swap(kvs PairSlice, a, b int) { - kvs[a].Key, kvs[b].Key = kvs[b].Key, kvs[a].Key - kvs[a].Value, kvs[b].Value = kvs[b].Value, kvs[a].Value -} - -// Compare two strings from the pos d. -func lessFrom(a, b string, d int) bool { - l := len(a) - if l > len(b) { - l = len(b) - } - for i := d; i < l; i++ { - if a[i] == b[i] { - continue - } - return a[i] < b[i] - } - return len(a) < len(b) -} - -func byteAt(b string, p int) int { - if p < len(b) { - return int(b[p]) - } - return -1 -} diff --git a/vendor/github.com/bytedance/sonic/ast/stubs_go120.go b/vendor/github.com/bytedance/sonic/ast/stubs_go120.go index bd6fff6..6f83052 100644 --- a/vendor/github.com/bytedance/sonic/ast/stubs_go120.go +++ b/vendor/github.com/bytedance/sonic/ast/stubs_go120.go @@ -52,4 +52,4 @@ var ( ) //go:linkname unquoteBytes encoding/json.unquoteBytes -func unquoteBytes(s []byte) (t []byte, ok bool) \ No newline at end of file +func unquoteBytes(s []byte) (t []byte, ok bool) diff --git a/vendor/github.com/bytedance/sonic/ast/visitor.go b/vendor/github.com/bytedance/sonic/ast/visitor.go new file mode 100644 index 0000000..d409509 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/ast/visitor.go @@ -0,0 +1,315 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ast + +import ( + `encoding/json` + + `github.com/bytedance/sonic/internal/native/types` +) + +// Visitor handles the callbacks during preorder traversal of a JSON AST. +// +// According to the JSON RFC8259, a JSON AST can be defined by +// the following rules without separator / whitespace tokens. +// +// JSON-AST = value +// value = false / null / true / object / array / number / string +// object = begin-object [ member *( member ) ] end-object +// member = string value +// array = begin-array [ value *( value ) ] end-array +// +type Visitor interface { + + // OnNull handles a JSON null value. + OnNull() error + + // OnBool handles a JSON true / false value. + OnBool(v bool) error + + // OnString handles a JSON string value. + OnString(v string) error + + // OnInt64 handles a JSON number value with int64 type. + OnInt64(v int64, n json.Number) error + + // OnFloat64 handles a JSON number value with float64 type. + OnFloat64(v float64, n json.Number) error + + // OnObjectBegin handles the beginning of a JSON object value with a + // suggested capacity that can be used to make your custom object container. + // + // After this point the visitor will receive a sequence of callbacks like + // [string, value, string, value, ......, ObjectEnd]. + // + // Note: + // 1. This is a recursive definition which means the value can + // also be a JSON object / array described by a sequence of callbacks. + // 2. The suggested capacity will be 0 if current object is empty. + // 3. Currently sonic use a fixed capacity for non-empty object (keep in + // sync with ast.Node) which might not be very suitable. This may be + // improved in future version. + OnObjectBegin(capacity int) error + + // OnObjectKey handles a JSON object key string in member. + OnObjectKey(key string) error + + // OnObjectEnd handles the ending of a JSON object value. + OnObjectEnd() error + + // OnArrayBegin handles the beginning of a JSON array value with a + // suggested capacity that can be used to make your custom array container. + // + // After this point the visitor will receive a sequence of callbacks like + // [value, value, value, ......, ArrayEnd]. + // + // Note: + // 1. This is a recursive definition which means the value can + // also be a JSON object / array described by a sequence of callbacks. + // 2. The suggested capacity will be 0 if current array is empty. + // 3. Currently sonic use a fixed capacity for non-empty array (keep in + // sync with ast.Node) which might not be very suitable. This may be + // improved in future version. + OnArrayBegin(capacity int) error + + // OnArrayEnd handles the ending of a JSON array value. + OnArrayEnd() error +} + +// VisitorOptions contains all Visitor's options. The default value is an +// empty VisitorOptions{}. +type VisitorOptions struct { + // OnlyNumber indicates parser to directly return number value without + // conversion, then the first argument of OnInt64 / OnFloat64 will always + // be zero. + OnlyNumber bool +} + +var defaultVisitorOptions = &VisitorOptions{} + +// Preorder decodes the whole JSON string and callbacks each AST node to visitor +// during preorder traversal. Any visitor method with an error returned will +// break the traversal and the given error will be directly returned. The opts +// argument can be reused after every call. +func Preorder(str string, visitor Visitor, opts *VisitorOptions) error { + if opts == nil { + opts = defaultVisitorOptions + } + // process VisitorOptions first to guarantee that all options will be + // constant during decoding and make options more readable. + var ( + optDecodeNumber = !opts.OnlyNumber + ) + + tv := &traverser{ + parser: Parser{ + s: str, + noLazy: true, + skipValue: false, + }, + visitor: visitor, + } + + if optDecodeNumber { + tv.parser.decodeNumber(true) + } + + err := tv.decodeValue() + + if optDecodeNumber { + tv.parser.decodeNumber(false) + } + return err +} + +type traverser struct { + parser Parser + visitor Visitor +} + +// NOTE: keep in sync with (*Parser).Parse method. +func (self *traverser) decodeValue() error { + switch val := self.parser.decodeValue(); val.Vt { + case types.V_EOF: + return types.ERR_EOF + case types.V_NULL: + return self.visitor.OnNull() + case types.V_TRUE: + return self.visitor.OnBool(true) + case types.V_FALSE: + return self.visitor.OnBool(false) + case types.V_STRING: + return self.decodeString(val.Iv, val.Ep) + case types.V_DOUBLE: + return self.visitor.OnFloat64(val.Dv, + json.Number(self.parser.s[val.Ep:self.parser.p])) + case types.V_INTEGER: + return self.visitor.OnInt64(val.Iv, + json.Number(self.parser.s[val.Ep:self.parser.p])) + case types.V_ARRAY: + return self.decodeArray() + case types.V_OBJECT: + return self.decodeObject() + default: + return types.ParsingError(-val.Vt) + } +} + +// NOTE: keep in sync with (*Parser).decodeArray method. +func (self *traverser) decodeArray() error { + sp := self.parser.p + ns := len(self.parser.s) + + /* check for EOF */ + self.parser.p = self.parser.lspace(sp) + if self.parser.p >= ns { + return types.ERR_EOF + } + + /* check for empty array */ + if self.parser.s[self.parser.p] == ']' { + self.parser.p++ + if err := self.visitor.OnArrayBegin(0); err != nil { + return err + } + return self.visitor.OnArrayEnd() + } + + /* allocate array space and parse every element */ + if err := self.visitor.OnArrayBegin(_DEFAULT_NODE_CAP); err != nil { + return err + } + for { + /* decode the value */ + if err := self.decodeValue(); err != nil { + return err + } + self.parser.p = self.parser.lspace(self.parser.p) + + /* check for EOF */ + if self.parser.p >= ns { + return types.ERR_EOF + } + + /* check for the next character */ + switch self.parser.s[self.parser.p] { + case ',': + self.parser.p++ + case ']': + self.parser.p++ + return self.visitor.OnArrayEnd() + default: + return types.ERR_INVALID_CHAR + } + } +} + +// NOTE: keep in sync with (*Parser).decodeObject method. +func (self *traverser) decodeObject() error { + sp := self.parser.p + ns := len(self.parser.s) + + /* check for EOF */ + self.parser.p = self.parser.lspace(sp) + if self.parser.p >= ns { + return types.ERR_EOF + } + + /* check for empty object */ + if self.parser.s[self.parser.p] == '}' { + self.parser.p++ + if err := self.visitor.OnObjectBegin(0); err != nil { + return err + } + return self.visitor.OnObjectEnd() + } + + /* allocate object space and decode each pair */ + if err := self.visitor.OnObjectBegin(_DEFAULT_NODE_CAP); err != nil { + return err + } + for { + var njs types.JsonState + var err types.ParsingError + + /* decode the key */ + if njs = self.parser.decodeValue(); njs.Vt != types.V_STRING { + return types.ERR_INVALID_CHAR + } + + /* extract the key */ + idx := self.parser.p - 1 + key := self.parser.s[njs.Iv:idx] + + /* check for escape sequence */ + if njs.Ep != -1 { + if key, err = unquote(key); err != 0 { + return err + } + } + + if err := self.visitor.OnObjectKey(key); err != nil { + return err + } + + /* expect a ':' delimiter */ + if err = self.parser.delim(); err != 0 { + return err + } + + /* decode the value */ + if err := self.decodeValue(); err != nil { + return err + } + + self.parser.p = self.parser.lspace(self.parser.p) + + /* check for EOF */ + if self.parser.p >= ns { + return types.ERR_EOF + } + + /* check for the next character */ + switch self.parser.s[self.parser.p] { + case ',': + self.parser.p++ + case '}': + self.parser.p++ + return self.visitor.OnObjectEnd() + default: + return types.ERR_INVALID_CHAR + } + } +} + +// NOTE: keep in sync with (*Parser).decodeString method. +func (self *traverser) decodeString(iv int64, ep int) error { + p := self.parser.p - 1 + s := self.parser.s[iv:p] + + /* fast path: no escape sequence */ + if ep == -1 { + return self.visitor.OnString(s) + } + + /* unquote the string */ + out, err := unquote(s) + if err != 0 { + return err + } + return self.visitor.OnString(out) +} diff --git a/vendor/github.com/bytedance/sonic/bench-arm.sh b/vendor/github.com/bytedance/sonic/bench-arm.sh deleted file mode 100644 index b47d627..0000000 --- a/vendor/github.com/bytedance/sonic/bench-arm.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -pwd=$(pwd) -export SONIC_NO_ASYNC_GC=1 - -cd $pwd/ast -go test -benchmem -run=^$ -benchtime=1000000x -bench "^(BenchmarkGet.*|BenchmarkSet.*)$" - -go test -benchmem -run=^$ -benchtime=10000x -bench "^(BenchmarkParser_.*|BenchmarkEncode.*)$" - -go test -benchmem -run=^$ -benchtime=10000000x -bench "^(BenchmarkNodeGetByPath|BenchmarkStructGetByPath|BenchmarkNodeIndex|BenchmarkStructIndex|BenchmarkSliceIndex|BenchmarkMapIndex|BenchmarkNodeGet|BenchmarkSliceGet|BenchmarkMapGet|BenchmarkNodeSet|BenchmarkMapSet|BenchmarkNodeSetByIndex|BenchmarkSliceSetByIndex|BenchmarkStructSetByIndex|BenchmarkNodeUnset|BenchmarkMapUnset|BenchmarkNodUnsetByIndex|BenchmarkSliceUnsetByIndex|BenchmarkNodeAdd|BenchmarkSliceAdd|BenchmarkMapAdd)$" - -unset SONIC_NO_ASYNC_GC -cd $pwd \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/bench.py b/vendor/github.com/bytedance/sonic/bench.py deleted file mode 100644 index 1d4c357..0000000 --- a/vendor/github.com/bytedance/sonic/bench.py +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/env python3 - -# Copyright 2022 ByteDance Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import tempfile -import os -import subprocess -import argparse - -gbench_prefix = "SONIC_NO_ASYNC_GC=1 go test -benchmem -run=none " - -def run(cmd): - print(cmd) - if os.system(cmd): - print ("Failed to run cmd: %s"%(cmd)) - exit(1) - -def run_s(cmd): - print (cmd) - try: - res = os.popen(cmd) - except subprocess.CalledProcessError as e: - if e.returncode: - print (e.output) - exit(1) - return res.read() - -def run_r(cmd): - print (cmd) - try: - cmds = cmd.split(' ') - data = subprocess.check_output(cmds, stderr=subprocess.STDOUT) - except subprocess.CalledProcessError as e: - if e.returncode: - print (e.output) - exit(1) - return data.decode("utf-8") - -def compare(args): - # detech current branch. - # result = run_r("git branch") - current_branch = run_s("git status | head -n1 | sed 's/On branch //'") - # for br in result.split('\n'): - # if br.startswith("* "): - # current_branch = br.lstrip('* ') - # break - - if not current_branch: - print ("Failed to detech current branch") - return None - - # get the current diff - (fd, diff) = tempfile.mkstemp() - run("git diff > %s"%diff) - - # early return if currrent is main branch. - print ("Current branch: %s"%(current_branch)) - if current_branch == "main": - print ("Cannot compare at the main branch.Please build a new branch") - return None - - # benchmark current branch - (fd, target) = tempfile.mkstemp(".target.txt") - run("%s %s ./... 2>&1 | tee %s" %(gbench_prefix, args, target)) - - # trying to switch to the latest main branch - run("git checkout -- .") - if current_branch != "main": - run("git checkout main") - run("git pull --allow-unrelated-histories origin main") - - # benchmark main branch - (fd, main) = tempfile.mkstemp(".main.txt") - run("%s %s ./... 2>&1 | tee %s" %(gbench_prefix, args, main)) - - # diff the result - # benchstat = "go get golang.org/x/perf/cmd/benchstat && go install golang.org/x/perf/cmd/benchstat" - run( "benchstat -sort=delta %s %s"%(main, target)) - run("git checkout -- .") - - # restore branch - if current_branch != "main": - run("git checkout %s"%(current_branch)) - run("patch -p1 < %s" % (diff)) - return target - -def main(): - argparser = argparse.ArgumentParser(description='Tools to test the performance. Example: ./bench.py -b Decoder_Generic_Sonic -c') - argparser.add_argument('-b', '--bench', dest='filter', required=False, - help='Specify the filter for golang benchmark') - argparser.add_argument('-c', '--compare', dest='compare', action='store_true', required=False, - help='Compare with the main benchmarking') - argparser.add_argument('-t', '--times', dest='times', required=False, - help='benchmark the times') - argparser.add_argument('-r', '--repeat_times', dest='count', required=False, - help='benchmark the count') - args = argparser.parse_args() - - if args.filter: - gbench_args = "-bench=%s"%(args.filter) - else: - gbench_args = "-bench=." - - if args.times: - gbench_args += " -benchtime=%s"%(args.times) - - if args.count: - gbench_args += " -count=%s"%(args.count) - else: - gbench_args += " -count=10" - - if args.compare: - target = compare(gbench_args) - else: - target = None - - if not target: - (fd, target) = tempfile.mkstemp(".target.txt") - run("%s %s ./... 2>&1 | tee %s" %(gbench_prefix, gbench_args, target)) - -if __name__ == "__main__": - main() diff --git a/vendor/github.com/bytedance/sonic/bench.sh b/vendor/github.com/bytedance/sonic/bench.sh deleted file mode 100644 index 701986b..0000000 --- a/vendor/github.com/bytedance/sonic/bench.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash - -pwd=$(pwd) -export SONIC_NO_ASYNC_GC=1 - -cd $pwd/encoder -go test -benchmem -run=^$ -benchtime=100000x -bench "^(BenchmarkEncoder_.*)$" - -cd $pwd/decoder -go test -benchmem -run=^$ -benchtime=100000x -bench "^(BenchmarkDecoder_.*)$" - -cd $pwd/ast -go test -benchmem -run=^$ -benchtime=1000000x -bench "^(BenchmarkGet.*|BenchmarkSet.*)$" - -go test -benchmem -run=^$ -benchtime=10000x -bench "^(BenchmarkParser_.*|BenchmarkEncode.*)$" - -go test -benchmem -run=^$ -benchtime=10000000x -bench "^(BenchmarkNodeGetByPath|BenchmarkStructGetByPath|BenchmarkNodeIndex|BenchmarkStructIndex|BenchmarkSliceIndex|BenchmarkMapIndex|BenchmarkNodeGet|BenchmarkSliceGet|BenchmarkMapGet|BenchmarkNodeSet|BenchmarkMapSet|BenchmarkNodeSetByIndex|BenchmarkSliceSetByIndex|BenchmarkStructSetByIndex|BenchmarkNodeUnset|BenchmarkMapUnset|BenchmarkNodUnsetByIndex|BenchmarkSliceUnsetByIndex|BenchmarkNodeAdd|BenchmarkSliceAdd|BenchmarkMapAdd)$" - -cd $pwd/external_jsonlib_test/benchmark_test -go test -benchmem -run=^$ -benchtime=100000x -bench "^(BenchmarkEncoder_.*|BenchmarkDecoder_.*)$" - -go test -benchmem -run=^$ -benchtime=1000000x -bench "^(BenchmarkGet.*|BenchmarkSet.*)$" - -go test -benchmem -run=^$ -benchtime=10000x -bench "^(BenchmarkParser_.*)$" - -unset SONIC_NO_ASYNC_GC -cd $pwd \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/check_branch_name.sh b/vendor/github.com/bytedance/sonic/check_branch_name.sh deleted file mode 100644 index d1905da..0000000 --- a/vendor/github.com/bytedance/sonic/check_branch_name.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -current=$(git status | head -n1 | sed 's/On branch //') -name=${1:-$current} -if [[ ! $name =~ ^(((opt(imize)?|feat(ure)?|doc|(bug|hot)?fix|test|refact(or)?|ci)/.+)|(main|develop)|(release/.+)|(release-v[0-9]+\.[0-9]+)|(release/v[0-9]+\.[0-9]+\.[0-9]+(-[a-z0-9.]+(\+[a-z0-9.]+)?)?)|revert-[a-z0-9]+)$ ]]; then - echo "branch name '$name' is invalid" - exit 1 -else - echo "branch name '$name' is valid" -fi diff --git a/vendor/github.com/bytedance/sonic/compat.go b/vendor/github.com/bytedance/sonic/compat.go index 015aa62..728bc17 100644 --- a/vendor/github.com/bytedance/sonic/compat.go +++ b/vendor/github.com/bytedance/sonic/compat.go @@ -1,4 +1,4 @@ -// +build !amd64 go1.21 +// +build !amd64 !go1.16 go1.23 /* * Copyright 2021 ByteDance Inc. diff --git a/vendor/github.com/bytedance/sonic/decoder/decoder_amd64.go b/vendor/github.com/bytedance/sonic/decoder/decoder_amd64.go index 2ef1995..346ebbc 100644 --- a/vendor/github.com/bytedance/sonic/decoder/decoder_amd64.go +++ b/vendor/github.com/bytedance/sonic/decoder/decoder_amd64.go @@ -1,4 +1,4 @@ -// +build amd64,go1.15,!go1.21 +// +build amd64,go1.16,!go1.23 /* * Copyright 2023 ByteDance Inc. @@ -25,6 +25,10 @@ import ( // Decoder is the decoder context object type Decoder = decoder.Decoder +// SyntaxError represents json syntax error +type SyntaxError = decoder.SyntaxError + +// MismatchTypeError represents dismatching between json and object type MismatchTypeError = decoder.MismatchTypeError // Options for decode. @@ -42,8 +46,6 @@ const ( // StreamDecoder is the decoder context object for streaming input. type StreamDecoder = decoder.StreamDecoder -type SyntaxError = decoder.SyntaxError - var ( // NewDecoder creates a new decoder instance. NewDecoder = decoder.NewDecoder diff --git a/vendor/github.com/bytedance/sonic/decoder/decoder_compat.go b/vendor/github.com/bytedance/sonic/decoder/decoder_compat.go index e6b9463..7883862 100644 --- a/vendor/github.com/bytedance/sonic/decoder/decoder_compat.go +++ b/vendor/github.com/bytedance/sonic/decoder/decoder_compat.go @@ -1,4 +1,4 @@ -// +build !amd64 go1.21 +// +build !amd64 !go1.16 go1.23 /* * Copyright 2023 ByteDance Inc. @@ -14,28 +14,34 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. -*/ + */ package decoder import ( - `encoding/json` - `bytes` - `reflect` - `github.com/bytedance/sonic/internal/native/types` - `github.com/bytedance/sonic/option` - `io` + `bytes` + `encoding/json` + `io` + `reflect` + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/option` ) +func init() { + println("WARNING: sonic only supports Go1.16~1.22 && CPU amd64, but your environment is not suitable") +} + const ( - _F_use_int64 = iota - _F_use_number - _F_disable_urc - _F_disable_unknown - _F_copy_string - _F_validate_string - - _F_allow_control = 31 + _F_use_int64 = 0 + _F_disable_urc = 2 + _F_disable_unknown = 3 + _F_copy_string = 4 + + _F_use_number = types.B_USE_NUMBER + _F_validate_string = types.B_VALIDATE_STRING + _F_allow_control = types.B_ALLOW_CONTROL ) type Options uint64 @@ -106,10 +112,10 @@ func (self *Decoder) CheckTrailings() error { func (self *Decoder) Decode(val interface{}) error { r := bytes.NewBufferString(self.s) dec := json.NewDecoder(r) - if (self.f | uint64(OptionUseNumber)) != 0 { + if (self.f & uint64(OptionUseNumber)) != 0 { dec.UseNumber() } - if (self.f | uint64(OptionDisableUnknown)) != 0 { + if (self.f & uint64(OptionDisableUnknown)) != 0 { dec.DisallowUnknownFields() } return dec.Decode(val) @@ -163,34 +169,26 @@ func Pretouch(vt reflect.Type, opts ...option.CompileOption) error { return nil } -type StreamDecoder struct { - r io.Reader - buf []byte - scanp int - scanned int64 - err error - Decoder -} +type StreamDecoder = json.Decoder // NewStreamDecoder adapts to encoding/json.NewDecoder API. // // NewStreamDecoder returns a new decoder that reads from r. func NewStreamDecoder(r io.Reader) *StreamDecoder { - return &StreamDecoder{r : r} + return json.NewDecoder(r) } -// Decode decodes input stream into val with corresponding data. -// Redundantly bytes may be read and left in its buffer, and can be used at next call. -// Either io error from underlying io.Reader (except io.EOF) -// or syntax error from data will be recorded and stop subsequently decoding. -func (self *StreamDecoder) Decode(val interface{}) (err error) { - dec := json.NewDecoder(self.r) - if (self.f | uint64(OptionUseNumber)) != 0 { - dec.UseNumber() - } - if (self.f | uint64(OptionDisableUnknown)) != 0 { - dec.DisallowUnknownFields() - } - return dec.Decode(val) +// SyntaxError represents json syntax error +type SyntaxError json.SyntaxError + +// Description +func (s SyntaxError) Description() string { + return (*json.SyntaxError)(unsafe.Pointer(&s)).Error() +} +// Error +func (s SyntaxError) Error() string { + return (*json.SyntaxError)(unsafe.Pointer(&s)).Error() } +// MismatchTypeError represents dismatching between json and object +type MismatchTypeError json.UnmarshalTypeError \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/encoder/encoder_amd64.go b/vendor/github.com/bytedance/sonic/encoder/encoder_amd64.go index fa107c7..4dabec6 100644 --- a/vendor/github.com/bytedance/sonic/encoder/encoder_amd64.go +++ b/vendor/github.com/bytedance/sonic/encoder/encoder_amd64.go @@ -1,4 +1,4 @@ -// +build amd64,go1.15,!go1.21 +// +build amd64,go1.16,!go1.23 /* * Copyright 2023 ByteDance Inc. @@ -22,6 +22,8 @@ import ( `github.com/bytedance/sonic/internal/encoder` ) +// EnableFallback indicates if encoder use fallback +const EnableFallback = false // Encoder represents a specific set of encoder configurations. type Encoder = encoder.Encoder @@ -59,6 +61,13 @@ const ( // before encoding it into JSON. ValidateString Options = encoder.ValidateString + // NoValidateJSONMarshaler indicates that the encoder should not validate the output string + // after encoding the JSONMarshaler to JSON. + NoValidateJSONMarshaler Options = encoder.NoValidateJSONMarshaler + + // NoEncoderNewline indicates that the encoder should not add a newline after every message + NoEncoderNewline Options = encoder.NoEncoderNewline + // CompatibleWithStd is used to be compatible with std encoder. CompatibleWithStd Options = encoder.CompatibleWithStd ) @@ -105,4 +114,4 @@ var ( // // NewStreamEncoder returns a new encoder that write to w. NewStreamEncoder = encoder.NewStreamEncoder -) \ No newline at end of file +) diff --git a/vendor/github.com/bytedance/sonic/encoder/encoder_compat.go b/vendor/github.com/bytedance/sonic/encoder/encoder_compat.go index afa80d5..38761c4 100644 --- a/vendor/github.com/bytedance/sonic/encoder/encoder_compat.go +++ b/vendor/github.com/bytedance/sonic/encoder/encoder_compat.go @@ -1,4 +1,4 @@ -// +build !amd64 go1.21 +// +build !amd64 !go1.16 go1.23 /* * Copyright 2023 ByteDance Inc. @@ -27,6 +27,13 @@ import ( `github.com/bytedance/sonic/option` ) +func init() { + println("WARNING:(encoder) sonic only supports Go1.16~1.22 && CPU amd64, but your environment is not suitable") +} + +// EnableFallback indicates if encoder use fallback +const EnableFallback = true + // Options is a set of encoding options. type Options uint64 @@ -37,6 +44,8 @@ const ( bitNoQuoteTextMarshaler bitNoNullSliceOrMap bitValidateString + bitNoValidateJSONMarshaler + bitNoEncoderNewline // used for recursive compile bitPointerValue = 63 @@ -68,6 +77,13 @@ const ( // ValidateString indicates that encoder should validate the input string // before encoding it into JSON. ValidateString Options = 1 << bitValidateString + + // NoValidateJSONMarshaler indicates that the encoder should not validate the output string + // after encoding the JSONMarshaler to JSON. + NoValidateJSONMarshaler Options = 1 << bitNoValidateJSONMarshaler + + // NoEncoderNewline indicates that the encoder should not add a newline after every message + NoEncoderNewline Options = 1 << bitNoEncoderNewline // CompatibleWithStd is used to be compatible with std encoder. CompatibleWithStd Options = SortMapKeys | EscapeHTML | CompactMarshaler @@ -112,6 +128,24 @@ func (self *Encoder) SetValidateString(f bool) { } } +// SetNoValidateJSONMarshaler specifies if option NoValidateJSONMarshaler opens +func (self *Encoder) SetNoValidateJSONMarshaler(f bool) { + if f { + self.Opts |= NoValidateJSONMarshaler + } else { + self.Opts &= ^NoValidateJSONMarshaler + } +} + +// SetNoEncoderNewline specifies if option NoEncoderNewline opens +func (self *Encoder) SetNoEncoderNewline(f bool) { + if f { + self.Opts |= NoEncoderNewline + } else { + self.Opts &= ^NoEncoderNewline + } +} + // SetCompactMarshaler specifies if option CompactMarshaler opens func (self *Encoder) SetCompactMarshaler(f bool) { if f { @@ -157,15 +191,19 @@ func Encode(val interface{}, opts Options) ([]byte, error) { // EncodeInto is like Encode but uses a user-supplied buffer instead of allocating // a new one. func EncodeInto(buf *[]byte, val interface{}, opts Options) error { - if buf == nil { - panic("user-supplied buffer buf is nil") - } - w := bytes.NewBuffer(*buf) - enc := json.NewEncoder(w) - enc.SetEscapeHTML((opts & EscapeHTML) != 0) - err := enc.Encode(val) - *buf = w.Bytes() - return err + if buf == nil { + panic("user-supplied buffer buf is nil") + } + w := bytes.NewBuffer(*buf) + enc := json.NewEncoder(w) + enc.SetEscapeHTML((opts & EscapeHTML) != 0) + err := enc.Encode(val) + *buf = w.Bytes() + l := len(*buf) + if l > 0 && (opts & NoEncoderNewline != 0) && (*buf)[l-1] == '\n' { + *buf = (*buf)[:l-1] + } + return err } // HTMLEscape appends to dst the JSON-encoded src with <, >, &, U+2028 and U+2029 @@ -212,23 +250,12 @@ func Valid(data []byte) (ok bool, start int) { } // StreamEncoder uses io.Writer as -type StreamEncoder struct { - w io.Writer - Encoder -} +type StreamEncoder = json.Encoder // NewStreamEncoder adapts to encoding/json.NewDecoder API. // // NewStreamEncoder returns a new encoder that write to w. func NewStreamEncoder(w io.Writer) *StreamEncoder { - return &StreamEncoder{w: w} + return json.NewEncoder(w) } -// Encode encodes interface{} as JSON to io.Writer -func (enc *StreamEncoder) Encode(val interface{}) (err error) { - jenc := json.NewEncoder(enc.w) - jenc.SetEscapeHTML((enc.Opts & EscapeHTML) != 0) - jenc.SetIndent(enc.prefix, enc.indent) - err = jenc.Encode(val) - return err -} diff --git a/vendor/github.com/bytedance/sonic/go.work b/vendor/github.com/bytedance/sonic/go.work index e21d6f8..8d2af51 100644 --- a/vendor/github.com/bytedance/sonic/go.work +++ b/vendor/github.com/bytedance/sonic/go.work @@ -2,7 +2,8 @@ go 1.18 use ( . - ./generic_test - ./fuzz ./external_jsonlib_test + ./fuzz + ./generic_test + ./loader ) diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/asm_stubs_amd64_go116.go b/vendor/github.com/bytedance/sonic/internal/decoder/asm_stubs_amd64_go116.go new file mode 100644 index 0000000..4c4c850 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/decoder/asm_stubs_amd64_go116.go @@ -0,0 +1,130 @@ +// +build go1.16,!go1.17 + +// Copyright 2023 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package decoder + +import ( + `strconv` + _ `unsafe` + + `github.com/bytedance/sonic/internal/jit` + `github.com/bytedance/sonic/internal/rt` + `github.com/twitchyliquid64/golang-asm/obj` + `github.com/twitchyliquid64/golang-asm/obj/x86` +) + +var _runtime_writeBarrier uintptr = rt.GcwbAddr() + +//go:linkname gcWriteBarrierAX runtime.gcWriteBarrier +func gcWriteBarrierAX() + +var ( + _V_writeBarrier = jit.Imm(int64(_runtime_writeBarrier)) + + _F_gcWriteBarrierAX = jit.Func(gcWriteBarrierAX) +) + +func (self *_Assembler) WritePtrAX(i int, rec obj.Addr, saveDI bool) { + self.Emit("MOVQ", _V_writeBarrier, _R10) + self.Emit("CMPL", jit.Ptr(_R10, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + if saveDI { + self.save(_DI) + } + self.Emit("LEAQ", rec, _DI) + self.Emit("MOVQ", _F_gcWriteBarrierAX, _R10) // MOVQ ${fn}, AX + self.Rjmp("CALL", _R10) + if saveDI { + self.load(_DI) + } + self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", _AX, rec) + self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") +} + +func (self *_Assembler) WriteRecNotAX(i int, ptr obj.Addr, rec obj.Addr, saveDI bool, saveAX bool) { + if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { + panic("rec contains AX!") + } + self.Emit("MOVQ", _V_writeBarrier, _R10) + self.Emit("CMPL", jit.Ptr(_R10, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + if saveAX { + self.Emit("XCHGQ", ptr, _AX) + } else { + self.Emit("MOVQ", ptr, _AX) + } + if saveDI { + self.save(_DI) + } + self.Emit("LEAQ", rec, _DI) + self.Emit("MOVQ", _F_gcWriteBarrierAX, _R10) // MOVQ ${fn}, AX + self.Rjmp("CALL", _R10) + if saveDI { + self.load(_DI) + } + if saveAX { + self.Emit("XCHGQ", ptr, _AX) + } + self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", ptr, rec) + self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") +} + + +func (self *_ValueDecoder) WritePtrAX(i int, rec obj.Addr, saveDI bool) { + self.Emit("MOVQ", _V_writeBarrier, _R10) + self.Emit("CMPL", jit.Ptr(_R10, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + if saveDI { + self.save(_DI) + } + self.Emit("LEAQ", rec, _DI) + self.Emit("MOVQ", _F_gcWriteBarrierAX, _R10) // MOVQ ${fn}, AX + self.Rjmp("CALL", _R10) + if saveDI { + self.load(_DI) + } + self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", _AX, rec) + self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") +} + +func (self *_ValueDecoder) WriteRecNotAX(i int, ptr obj.Addr, rec obj.Addr, saveDI bool) { + if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { + panic("rec contains AX!") + } + self.Emit("MOVQ", _V_writeBarrier, _R10) + self.Emit("CMPL", jit.Ptr(_R10, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", ptr, _AX) + if saveDI { + self.save(_DI) + } + self.Emit("LEAQ", rec, _DI) + self.Emit("MOVQ", _F_gcWriteBarrierAX, _R10) // MOVQ ${fn}, AX + self.Rjmp("CALL", _R10) + if saveDI { + self.load(_DI) + } + self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", ptr, rec) + self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") +} diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/asm_stubs_amd64_go117.go b/vendor/github.com/bytedance/sonic/internal/decoder/asm_stubs_amd64_go117.go new file mode 100644 index 0000000..b0125a7 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/decoder/asm_stubs_amd64_go117.go @@ -0,0 +1,126 @@ +// +build go1.17,!go1.21 + +// Copyright 2023 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package decoder + +import ( + `strconv` + `unsafe` + + `github.com/bytedance/sonic/internal/jit` + `github.com/twitchyliquid64/golang-asm/obj` + `github.com/twitchyliquid64/golang-asm/obj/x86` +) + +//go:linkname _runtime_writeBarrier runtime.writeBarrier +var _runtime_writeBarrier uintptr + +//go:linkname gcWriteBarrierAX runtime.gcWriteBarrier +func gcWriteBarrierAX() + +var ( + _V_writeBarrier = jit.Imm(int64(uintptr(unsafe.Pointer(&_runtime_writeBarrier)))) + + _F_gcWriteBarrierAX = jit.Func(gcWriteBarrierAX) +) + +func (self *_Assembler) WritePtrAX(i int, rec obj.Addr, saveDI bool) { + self.Emit("MOVQ", _V_writeBarrier, _R9) + self.Emit("CMPL", jit.Ptr(_R9, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + if saveDI { + self.save(_DI) + } + self.Emit("LEAQ", rec, _DI) + self.call(_F_gcWriteBarrierAX) + if saveDI { + self.load(_DI) + } + self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", _AX, rec) + self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") +} + +func (self *_Assembler) WriteRecNotAX(i int, ptr obj.Addr, rec obj.Addr, saveDI bool, saveAX bool) { + if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { + panic("rec contains AX!") + } + self.Emit("MOVQ", _V_writeBarrier, _R9) + self.Emit("CMPL", jit.Ptr(_R9, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + if saveAX { + self.Emit("XCHGQ", ptr, _AX) + } else { + self.Emit("MOVQ", ptr, _AX) + } + if saveDI { + self.save(_DI) + } + self.Emit("LEAQ", rec, _DI) + self.call(_F_gcWriteBarrierAX) + if saveDI { + self.load(_DI) + } + if saveAX { + self.Emit("XCHGQ", ptr, _AX) + } + self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", ptr, rec) + self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") +} + + +func (self *_ValueDecoder) WritePtrAX(i int, rec obj.Addr, saveDI bool) { + self.Emit("MOVQ", _V_writeBarrier, _R9) + self.Emit("CMPL", jit.Ptr(_R9, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + if saveDI { + self.save(_DI) + } + self.Emit("LEAQ", rec, _DI) + self.call(_F_gcWriteBarrierAX) + if saveDI { + self.load(_DI) + } + self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", _AX, rec) + self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") +} + +func (self *_ValueDecoder) WriteRecNotAX(i int, ptr obj.Addr, rec obj.Addr, saveDI bool) { + if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { + panic("rec contains AX!") + } + self.Emit("MOVQ", _V_writeBarrier, _AX) + self.Emit("CMPL", jit.Ptr(_AX, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", ptr, _AX) + if saveDI { + self.save(_DI) + } + self.Emit("LEAQ", rec, _DI) + self.call(_F_gcWriteBarrierAX) + if saveDI { + self.load(_DI) + } + self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", ptr, rec) + self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") +} diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/asm_stubs_amd64_go121.go b/vendor/github.com/bytedance/sonic/internal/decoder/asm_stubs_amd64_go121.go new file mode 100644 index 0000000..6adeac0 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/decoder/asm_stubs_amd64_go121.go @@ -0,0 +1,132 @@ +// +build go1.21,!go1.23 + +// Copyright 2023 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package decoder + +import ( + `strconv` + `unsafe` + + `github.com/bytedance/sonic/internal/jit` + `github.com/twitchyliquid64/golang-asm/obj` + `github.com/twitchyliquid64/golang-asm/obj/x86` +) + +//go:linkname _runtime_writeBarrier runtime.writeBarrier +var _runtime_writeBarrier uintptr + +//go:nosplit +//go:linkname gcWriteBarrier2 runtime.gcWriteBarrier2 +func gcWriteBarrier2() + +// Notice: gcWriteBarrier must use R11 register!! +var _R11 = _IC + +var ( + _V_writeBarrier = jit.Imm(int64(uintptr(unsafe.Pointer(&_runtime_writeBarrier)))) + + _F_gcWriteBarrier2 = jit.Func(gcWriteBarrier2) +) + +func (self *_Assembler) WritePtrAX(i int, rec obj.Addr, saveDI bool) { + self.Emit("MOVQ", _V_writeBarrier, _R9) + self.Emit("CMPL", jit.Ptr(_R9, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + if saveDI { + self.save(_DI, _R11) + } else { + self.save(_R11) + } + self.Emit("MOVQ", _F_gcWriteBarrier2, _R11) + self.Rjmp("CALL", _R11) + self.Emit("MOVQ", _AX, jit.Ptr(_R11, 0)) + self.Emit("MOVQ", rec, _DI) + self.Emit("MOVQ", _DI, jit.Ptr(_R11, 8)) + if saveDI { + self.load(_DI, _R11) + } else { + self.load(_R11) + } + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", _AX, rec) +} + +func (self *_Assembler) WriteRecNotAX(i int, ptr obj.Addr, rec obj.Addr, saveDI bool, saveAX bool) { + if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { + panic("rec contains AX!") + } + self.Emit("MOVQ", _V_writeBarrier, _R9) + self.Emit("CMPL", jit.Ptr(_R9, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + if saveAX { + self.save(_AX, _R11) + } else { + self.save(_R11) + } + self.Emit("MOVQ", _F_gcWriteBarrier2, _R11) + self.Rjmp("CALL", _R11) + self.Emit("MOVQ", ptr, jit.Ptr(_R11, 0)) + self.Emit("MOVQ", rec, _AX) + self.Emit("MOVQ", _AX, jit.Ptr(_R11, 8)) + if saveAX { + self.load(_AX, _R11) + } else { + self.load(_R11) + } + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", ptr, rec) +} + +func (self *_ValueDecoder) WritePtrAX(i int, rec obj.Addr, saveDI bool) { + self.Emit("MOVQ", _V_writeBarrier, _R9) + self.Emit("CMPL", jit.Ptr(_R9, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + if saveDI { + self.save(_DI, _R11) + } else { + self.save(_R11) + } + self.Emit("MOVQ", _F_gcWriteBarrier2, _R11) + self.Rjmp("CALL", _R11) + self.Emit("MOVQ", _AX, jit.Ptr(_R11, 0)) + self.Emit("MOVQ", rec, _DI) + self.Emit("MOVQ", _DI, jit.Ptr(_R11, 8)) + if saveDI { + self.load(_DI, _R11) + } else { + self.load(_R11) + } + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", _AX, rec) +} + +func (self *_ValueDecoder) WriteRecNotAX(i int, ptr obj.Addr, rec obj.Addr, saveDI bool) { + if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { + panic("rec contains AX!") + } + self.Emit("MOVQ", _V_writeBarrier, _AX) + self.Emit("CMPL", jit.Ptr(_AX, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.save(_R11) + self.Emit("MOVQ", _F_gcWriteBarrier2, _R11) + self.Rjmp("CALL", _R11) + self.Emit("MOVQ", ptr, jit.Ptr(_R11, 0)) + self.Emit("MOVQ", rec, _AX) + self.Emit("MOVQ", _AX, jit.Ptr(_R11, 8)) + self.load(_R11) + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", ptr, rec) +} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/assembler_amd64_go117.go b/vendor/github.com/bytedance/sonic/internal/decoder/assembler_regabi_amd64.go similarity index 97% rename from vendor/github.com/bytedance/sonic/internal/decoder/assembler_amd64_go117.go rename to vendor/github.com/bytedance/sonic/internal/decoder/assembler_regabi_amd64.go index 2741373..6c6fde9 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/assembler_amd64_go117.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/assembler_regabi_amd64.go @@ -1,5 +1,4 @@ -//go:build go1.17 && !go1.21 -// +build go1.17,!go1.21 +// +build go1.17,!go1.23 /* * Copyright 2021 ByteDance Inc. @@ -24,7 +23,6 @@ import ( `fmt` `math` `reflect` - `strconv` `unsafe` `github.com/bytedance/sonic/internal/caching` @@ -33,7 +31,6 @@ import ( `github.com/bytedance/sonic/internal/native/types` `github.com/bytedance/sonic/internal/rt` `github.com/twitchyliquid64/golang-asm/obj` - `github.com/twitchyliquid64/golang-asm/obj/x86` ) /** Register Allocations @@ -137,6 +134,7 @@ var ( _R9 = jit.Reg("R9") _X0 = jit.Reg("X0") _X1 = jit.Reg("X1") + _X15 = jit.Reg("X15") ) var ( @@ -422,9 +420,10 @@ func (self *_Assembler) call_go(fn obj.Addr) { } func (self *_Assembler) callc(fn obj.Addr) { - self.Emit("XCHGQ", _IP, _BP) + self.save(_IP) self.call(fn) - self.Emit("XCHGQ", _IP, _BP) + self.Emit("XORPS", _X15, _X15) + self.load(_IP) } func (self *_Assembler) call_c(fn obj.Addr) { @@ -608,7 +607,6 @@ func (self *_Assembler) skip_one() { self.Emit("TESTQ", _AX, _AX) // TESTQ AX, AX self.Sjmp("JS" , _LB_parsing_error_v) // JS _parse_error_v self.Emit("MOVQ" , _VAR_pc, _R9) // MOVQ pc, R9 - // self.Byte(0xcc) self.Rjmp("JMP" , _R9) // JMP (R9) } @@ -825,8 +823,8 @@ var ( ) var ( - _Vp_max_f32 = new(float64) - _Vp_min_f32 = new(float64) + _Vp_max_f32 = new(float32) + _Vp_min_f32 = new(float32) ) func init() { @@ -835,17 +833,15 @@ func init() { } func (self *_Assembler) range_single_X0() { - self.Emit("MOVSD" , _VAR_st_Dv, _X0) // MOVSD st.Dv, X0 + self.Emit("CVTSD2SS", _VAR_st_Dv, _X0) // CVTSD2SS _VAR_st_Dv, X0 self.Emit("MOVQ" , _V_max_f32, _CX) // MOVQ _max_f32, CX self.Emit("MOVQ" , jit.Gitab(_I_float32), _ET) // MOVQ ${itab(float32)}, ET self.Emit("MOVQ" , jit.Gtype(_T_float32), _EP) // MOVQ ${type(float32)}, EP - self.Emit("UCOMISD" , jit.Ptr(_CX, 0), _X0) // UCOMISD (CX), X0 + self.Emit("UCOMISS" , jit.Ptr(_CX, 0), _X0) // UCOMISS (CX), X0 self.Sjmp("JA" , _LB_range_error) // JA _range_error self.Emit("MOVQ" , _V_min_f32, _CX) // MOVQ _min_f32, CX - self.Emit("MOVSD" , jit.Ptr(_CX, 0), _X1) // MOVSD (CX), X1 - self.Emit("UCOMISD" , _X0, _X1) // UCOMISD X0, X1 - self.Sjmp("JA" , _LB_range_error) // JA _range_error - self.Emit("CVTSD2SS", _X0, _X0) // CVTSD2SS X0, X0 + self.Emit("UCOMISS" , jit.Ptr(_CX, 0), _X0) // UCOMISS (CX), X0 + self.Sjmp("JB" , _LB_range_error) // JB _range_error } func (self *_Assembler) range_signed_CX(i *rt.GoItab, t *rt.GoType, a int64, b int64) { @@ -1168,7 +1164,7 @@ var ( var ( _F_FieldMap_GetCaseInsensitive obj.Addr - _Empty_Slice = make([]byte, 0) + _Empty_Slice = []byte{} _Zero_Base = int64(uintptr(((*rt.GoSlice)(unsafe.Pointer(&_Empty_Slice))).Ptr)) ) @@ -1645,7 +1641,8 @@ func (self *_Assembler) _asm_OP_check_empty(p *_Instr) { self.Emit("CMPB", jit.Sib(_IP, _IC, 1, 0), jit.Imm(int64(rbracket))) // CMPB (IP)(IC), ']' self.Sjmp("JNE" , "_not_empty_array_{n}") // JNE _not_empty_array_{n} self.Emit("MOVQ", _AX, _IC) // MOVQ AX, IC - self.StorePtr(_Zero_Base, jit.Ptr(_VP, 0), _AX) // MOVQ $zerobase, (VP) + self.Emit("MOVQ", jit.Imm(_Zero_Base), _AX) + self.WritePtrAX(9, jit.Ptr(_VP, 0), false) self.Emit("PXOR", _X0, _X0) // PXOR X0, X0 self.Emit("MOVOU", _X0, jit.Ptr(_VP, 8)) // MOVOU X0, 8(VP) self.Xjmp("JMP" , p.vi()) // JMP {p.vi()} @@ -1931,62 +1928,3 @@ func (self *_Assembler) print_gc(i int, p1 *_Instr, p2 *_Instr) { self.Emit("MOVQ", jit.Imm(int64(i)), _AX) // MOVQ $(i), (SP) self.call_go(_F_println) } - -//go:linkname _runtime_writeBarrier runtime.writeBarrier -var _runtime_writeBarrier uintptr - -//go:linkname gcWriteBarrierAX runtime.gcWriteBarrier -func gcWriteBarrierAX() - -var ( - _V_writeBarrier = jit.Imm(int64(uintptr(unsafe.Pointer(&_runtime_writeBarrier)))) - - _F_gcWriteBarrierAX = jit.Func(gcWriteBarrierAX) -) - -func (self *_Assembler) WritePtrAX(i int, rec obj.Addr, saveDI bool) { - self.Emit("MOVQ", _V_writeBarrier, _R9) - self.Emit("CMPL", jit.Ptr(_R9, 0), jit.Imm(0)) - self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - if saveDI { - self.save(_DI) - } - self.Emit("LEAQ", rec, _DI) - self.call(_F_gcWriteBarrierAX) - if saveDI { - self.load(_DI) - } - self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", _AX, rec) - self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") -} - -func (self *_Assembler) WriteRecNotAX(i int, ptr obj.Addr, rec obj.Addr, saveDI bool, saveAX bool) { - if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { - panic("rec contains AX!") - } - self.Emit("MOVQ", _V_writeBarrier, _R9) - self.Emit("CMPL", jit.Ptr(_R9, 0), jit.Imm(0)) - self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - if saveAX { - self.Emit("XCHGQ", ptr, _AX) - } else { - self.Emit("MOVQ", ptr, _AX) - } - if saveDI { - self.save(_DI) - } - self.Emit("LEAQ", rec, _DI) - self.call(_F_gcWriteBarrierAX) - if saveDI { - self.load(_DI) - } - if saveAX { - self.Emit("XCHGQ", ptr, _AX) - } - self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", ptr, rec) - self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") -} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/assembler_amd64_go116.go b/vendor/github.com/bytedance/sonic/internal/decoder/assembler_stkabi_amd64.go similarity index 97% rename from vendor/github.com/bytedance/sonic/internal/decoder/assembler_amd64_go116.go rename to vendor/github.com/bytedance/sonic/internal/decoder/assembler_stkabi_amd64.go index a2618bb..9e2acc2 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/assembler_amd64_go116.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/assembler_stkabi_amd64.go @@ -1,4 +1,4 @@ -// +build go1.15,!go1.17 +// +build go1.16,!go1.17 /* * Copyright 2021 ByteDance Inc. @@ -23,7 +23,6 @@ import ( `fmt` `math` `reflect` - `strconv` `unsafe` `github.com/bytedance/sonic/internal/caching` @@ -32,7 +31,6 @@ import ( `github.com/bytedance/sonic/internal/native/types` `github.com/bytedance/sonic/internal/rt` `github.com/twitchyliquid64/golang-asm/obj` - `github.com/twitchyliquid64/golang-asm/obj/x86` ) /** Register Allocations @@ -818,8 +816,8 @@ var ( ) var ( - _Vp_max_f32 = new(float64) - _Vp_min_f32 = new(float64) + _Vp_max_f32 = new(float32) + _Vp_min_f32 = new(float32) ) func init() { @@ -828,17 +826,15 @@ func init() { } func (self *_Assembler) range_single() { - self.Emit("MOVSD" , _VAR_st_Dv, _X0) // MOVSD st.Dv, X0 + self.Emit("CVTSD2SS", _VAR_st_Dv, _X0) // CVTSD2SS st.Dv, X0 self.Emit("MOVQ" , _V_max_f32, _AX) // MOVQ _max_f32, AX self.Emit("MOVQ" , jit.Gitab(_I_float32), _ET) // MOVQ ${itab(float32)}, ET self.Emit("MOVQ" , jit.Gtype(_T_float32), _EP) // MOVQ ${type(float32)}, EP - self.Emit("UCOMISD" , jit.Ptr(_AX, 0), _X0) // UCOMISD (AX), X0 + self.Emit("UCOMISS" , jit.Ptr(_AX, 0), _X0) // UCOMISS (AX), X0 self.Sjmp("JA" , _LB_range_error) // JA _range_error self.Emit("MOVQ" , _V_min_f32, _AX) // MOVQ _min_f32, AX - self.Emit("MOVSD" , jit.Ptr(_AX, 0), _X1) // MOVSD (AX), X1 - self.Emit("UCOMISD" , _X0, _X1) // UCOMISD X0, X1 - self.Sjmp("JA" , _LB_range_error) // JA _range_error - self.Emit("CVTSD2SS", _X0, _X0) // CVTSD2SS X0, X0 + self.Emit("UCOMISS" , jit.Ptr(_AX, 0), _X0) // UCOMISS (AX), X0 + self.Sjmp("JB" , _LB_range_error) // JB _range_error } func (self *_Assembler) range_signed(i *rt.GoItab, t *rt.GoType, a int64, b int64) { @@ -1655,7 +1651,8 @@ func (self *_Assembler) _asm_OP_check_empty(p *_Instr) { self.Emit("CMPB", jit.Sib(_IP, _IC, 1, 0), jit.Imm(int64(rbracket))) // CMPB (IP)(IC), ']' self.Sjmp("JNE" , "_not_empty_array_{n}") // JNE _not_empty_array_{n} self.Emit("MOVQ", _AX, _IC) // MOVQ AX, IC - self.StorePtr(_Zero_Base, jit.Ptr(_VP, 0), _AX) // MOVQ $zerobase, (VP) + self.Emit("MOVQ", jit.Imm(_Zero_Base), _AX) + self.WritePtrAX(9, jit.Ptr(_VP, 0), false) self.Emit("PXOR" , _X0, _X0) // PXOR X0, X0 self.Emit("MOVOU", _X0, jit.Ptr(_VP, 8)) // MOVOU X0, 8(VP) self.Xjmp("JMP" , p.vi()) // JMP {p.vi()} @@ -1951,63 +1948,3 @@ func (self *_Assembler) print_gc(i int, p1 *_Instr, p2 *_Instr) { self.Emit("MOVQ", jit.Imm(int64(i)), jit.Ptr(_SP, 0)) // MOVQ $(i), (SP) self.call_go(_F_println) } - -var _runtime_writeBarrier uintptr = rt.GcwbAddr() - -//go:linkname gcWriteBarrierAX runtime.gcWriteBarrier -func gcWriteBarrierAX() - -var ( - _V_writeBarrier = jit.Imm(int64(_runtime_writeBarrier)) - - _F_gcWriteBarrierAX = jit.Func(gcWriteBarrierAX) -) - -func (self *_Assembler) WritePtrAX(i int, rec obj.Addr, saveDI bool) { - self.Emit("MOVQ", _V_writeBarrier, _R10) - self.Emit("CMPL", jit.Ptr(_R10, 0), jit.Imm(0)) - self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - if saveDI { - self.save(_DI) - } - self.Emit("LEAQ", rec, _DI) - self.Emit("MOVQ", _F_gcWriteBarrierAX, _R10) // MOVQ ${fn}, AX - self.Rjmp("CALL", _R10) - if saveDI { - self.load(_DI) - } - self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", _AX, rec) - self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") -} - -func (self *_Assembler) WriteRecNotAX(i int, ptr obj.Addr, rec obj.Addr, saveDI bool, saveAX bool) { - if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { - panic("rec contains AX!") - } - self.Emit("MOVQ", _V_writeBarrier, _R10) - self.Emit("CMPL", jit.Ptr(_R10, 0), jit.Imm(0)) - self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - if saveAX { - self.Emit("XCHGQ", ptr, _AX) - } else { - self.Emit("MOVQ", ptr, _AX) - } - if saveDI { - self.save(_DI) - } - self.Emit("LEAQ", rec, _DI) - self.Emit("MOVQ", _F_gcWriteBarrierAX, _R10) // MOVQ ${fn}, AX - self.Rjmp("CALL", _R10) - if saveDI { - self.load(_DI) - } - if saveAX { - self.Emit("XCHGQ", ptr, _AX) - } - self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", ptr, rec) - self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") -} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/compiler.go b/vendor/github.com/bytedance/sonic/internal/decoder/compiler.go index 8f3905f..b350c04 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/compiler.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/compiler.go @@ -527,40 +527,47 @@ func (self *_Compiler) compile(vt reflect.Type) (ret _Program, err error) { return } -func (self *_Compiler) compileOne(p *_Program, sp int, vt reflect.Type) { - /* check for recursive nesting */ - ok := self.tab[vt] - if ok { - p.rtt(_OP_recurse, vt) - return - } - +func (self *_Compiler) checkMarshaler(p *_Program, vt reflect.Type) bool { pt := reflect.PtrTo(vt) /* check for `json.Unmarshaler` with pointer receiver */ if pt.Implements(jsonUnmarshalerType) { p.rtt(_OP_unmarshal_p, pt) - return + return true } /* check for `json.Unmarshaler` */ if vt.Implements(jsonUnmarshalerType) { p.add(_OP_lspace) self.compileUnmarshalJson(p, vt) - return + return true } /* check for `encoding.TextMarshaler` with pointer receiver */ if pt.Implements(encodingTextUnmarshalerType) { p.add(_OP_lspace) self.compileUnmarshalTextPtr(p, pt) - return + return true } /* check for `encoding.TextUnmarshaler` */ if vt.Implements(encodingTextUnmarshalerType) { p.add(_OP_lspace) self.compileUnmarshalText(p, vt) + return true + } + return false +} + +func (self *_Compiler) compileOne(p *_Program, sp int, vt reflect.Type) { + /* check for recursive nesting */ + ok := self.tab[vt] + if ok { + p.rtt(_OP_recurse, vt) + return + } + + if self.checkMarshaler(p, vt) { return } @@ -683,17 +690,9 @@ func (self *_Compiler) compilePtr(p *_Program, sp int, et reflect.Type) { /* dereference all the way down */ for et.Kind() == reflect.Ptr { - if et.Implements(jsonUnmarshalerType) { - p.rtt(_OP_unmarshal_p, et) + if self.checkMarshaler(p, et) { return } - - if et.Implements(encodingTextUnmarshalerType) { - p.add(_OP_lspace) - self.compileUnmarshalTextPtr(p, et) - return - } - et = et.Elem() p.rtt(_OP_deref, et) } @@ -706,7 +705,7 @@ func (self *_Compiler) compilePtr(p *_Program, sp int, et reflect.Type) { /* enter the recursion */ p.add(_OP_lspace) self.tab[et] = true - + /* not inline the pointer type * recursing the defined pointer type's elem will casue issue379. */ @@ -716,8 +715,12 @@ func (self *_Compiler) compilePtr(p *_Program, sp int, et reflect.Type) { j := p.pc() p.add(_OP_goto) + + // set val pointer as nil p.pin(i) p.add(_OP_nil_1) + + // nothing todo p.pin(j) } @@ -1152,4 +1155,4 @@ func (self *_Compiler) checkIfSkip(p *_Program, vt reflect.Type, c byte) int { p.pin(j) p.int(_OP_add, 1) return s -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/debug.go b/vendor/github.com/bytedance/sonic/internal/decoder/debug.go index 9cf3a6a..d5537ed 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/debug.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/debug.go @@ -67,4 +67,4 @@ func (self *_Assembler) debug_instr(i int, v *_Instr) { } self.force_gc() } -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/decoder.go b/vendor/github.com/bytedance/sonic/internal/decoder/decoder.go index 19ad719..8453db8 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/decoder.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/decoder.go @@ -30,14 +30,14 @@ import ( ) const ( - _F_use_int64 = iota - _F_use_number - _F_disable_urc - _F_disable_unknown - _F_copy_string - _F_validate_string - - _F_allow_control = 31 + _F_use_int64 = 0 + _F_disable_urc = 2 + _F_disable_unknown = 3 + _F_copy_string = 4 + + _F_use_number = types.B_USE_NUMBER + _F_validate_string = types.B_VALIDATE_STRING + _F_allow_control = types.B_ALLOW_CONTROL ) type Options uint64 @@ -252,4 +252,4 @@ func Skip(data []byte) (start int, end int) { ret := native.SkipOne(&s, &p, m, uint64(0)) types.FreeStateMachine(m) return ret, p -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/errors.go b/vendor/github.com/bytedance/sonic/internal/decoder/errors.go index c905fdf..4453f5c 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/errors.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/errors.go @@ -44,45 +44,55 @@ func (self SyntaxError) Description() string { } func (self SyntaxError) description() string { - i := 16 - p := self.Pos - i - q := self.Pos + i - /* check for empty source */ if self.Src == "" { return fmt.Sprintf("no sources available: %#v", self) } + p, x, q, y := calcBounds(len(self.Src), self.Pos) + + /* compose the error description */ + return fmt.Sprintf( + "at index %d: %s\n\n\t%s\n\t%s^%s\n", + self.Pos, + self.Message(), + self.Src[p:q], + strings.Repeat(".", x), + strings.Repeat(".", y), + ) +} + +func calcBounds(size int, pos int) (lbound int, lwidth int, rbound int, rwidth int) { + if pos >= size || pos < 0 { + return 0, 0, size, 0 + } + + i := 16 + lbound = pos - i + rbound = pos + i + /* prevent slicing before the beginning */ - if p < 0 { - p, q, i = 0, q - p, i + p + if lbound < 0 { + lbound, rbound, i = 0, rbound - lbound, i + lbound } /* prevent slicing beyond the end */ - if n := len(self.Src); q > n { - n = q - n - q = len(self.Src) + if n := size; rbound > n { + n = rbound - n + rbound = size /* move the left bound if possible */ - if p > n { + if lbound > n { i += n - p -= n + lbound -= n } } /* left and right length */ - x := clamp_zero(i) - y := clamp_zero(q - p - i - 1) + lwidth = clamp_zero(i) + rwidth = clamp_zero(rbound - lbound - i - 1) - /* compose the error description */ - return fmt.Sprintf( - "at index %d: %s\n\n\t%s\n\t%s^%s\n", - self.Pos, - self.Message(), - self.Src[p:q], - strings.Repeat(".", x), - strings.Repeat(".", y), - ) + return } func (self SyntaxError) Message() string { @@ -107,16 +117,19 @@ var stackOverflow = &json.UnsupportedValueError { Value : reflect.ValueOf("..."), } -//go:nosplit func error_wrap(src string, pos int, code types.ParsingError) error { - return SyntaxError { + return *error_wrap_heap(src, pos, code) +} + +//go:noinline +func error_wrap_heap(src string, pos int, code types.ParsingError) *SyntaxError { + return &SyntaxError { Pos : pos, Src : src, Code : code, } } -//go:nosplit func error_type(vt *rt.GoType) error { return &json.UnmarshalTypeError{Type: vt.Pack()} } @@ -158,7 +171,6 @@ func (self MismatchTypeError) Description() string { return fmt.Sprintf("Mismatch type %s with value %s %s", self.Type.String(), swithchJSONType(self.Src, self.Pos), se.description()) } -//go:nosplit func error_mismatch(src string, pos int, vt *rt.GoType) error { return &MismatchTypeError { Pos : pos, @@ -167,12 +179,10 @@ func error_mismatch(src string, pos int, vt *rt.GoType) error { } } -//go:nosplit func error_field(name string) error { return errors.New("json: unknown field " + strconv.Quote(name)) } -//go:nosplit func error_value(value string, vtype reflect.Type) error { return &json.UnmarshalTypeError { Type : vtype, diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/generic_amd64_go117.go b/vendor/github.com/bytedance/sonic/internal/decoder/generic_regabi_amd64.go similarity index 95% rename from vendor/github.com/bytedance/sonic/internal/decoder/generic_amd64_go117.go rename to vendor/github.com/bytedance/sonic/internal/decoder/generic_regabi_amd64.go index df1cd9f..c7514cb 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/generic_amd64_go117.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/generic_regabi_amd64.go @@ -1,5 +1,4 @@ -//go:build go1.17 && !go1.21 -// +build go1.17,!go1.21 +// +build go1.17,!go1.23 /* * Copyright 2021 ByteDance Inc. @@ -23,13 +22,11 @@ import ( `encoding/json` `fmt` `reflect` - `strconv` `github.com/bytedance/sonic/internal/jit` `github.com/bytedance/sonic/internal/native` `github.com/bytedance/sonic/internal/native/types` `github.com/twitchyliquid64/golang-asm/obj` - `github.com/twitchyliquid64/golang-asm/obj/x86` ) /** Crucial Registers: @@ -122,9 +119,9 @@ func (self *_ValueDecoder) call_go(fn obj.Addr) { } func (self *_ValueDecoder) callc(fn obj.Addr) { - self.Emit("XCHGQ", _IP, _BP) + self.save(_IP) self.call(fn) - self.Emit("XCHGQ", _IP, _BP) + self.load(_IP) } func (self *_ValueDecoder) call_c(fn obj.Addr) { @@ -286,7 +283,7 @@ func (self *_ValueDecoder) compile() { self.Emit("LEAQ", _VAR_ss, _CX) // LEAQ ss, CX self.Emit("MOVQ", _VAR_df, _R8) // MOVQ $df, R8 self.Emit("BTSQ", jit.Imm(_F_allow_control), _R8) // ANDQ $1<<_F_allow_control, R8 - self.callc(_F_value) // CALL value + self.callc(_F_value) // CALL value self.Emit("MOVQ", _AX, _IC) // MOVQ AX, IC /* check for errors */ @@ -720,46 +717,6 @@ func (self *_ValueDecoder) compile() { } } -func (self *_ValueDecoder) WritePtrAX(i int, rec obj.Addr, saveDI bool) { - self.Emit("MOVQ", _V_writeBarrier, _R9) - self.Emit("CMPL", jit.Ptr(_R9, 0), jit.Imm(0)) - self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - if saveDI { - self.save(_DI) - } - self.Emit("LEAQ", rec, _DI) - self.call(_F_gcWriteBarrierAX) - if saveDI { - self.load(_DI) - } - self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", _AX, rec) - self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") -} - -func (self *_ValueDecoder) WriteRecNotAX(i int, ptr obj.Addr, rec obj.Addr, saveDI bool) { - if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { - panic("rec contains AX!") - } - self.Emit("MOVQ", _V_writeBarrier, _AX) - self.Emit("CMPL", jit.Ptr(_AX, 0), jit.Imm(0)) - self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", ptr, _AX) - if saveDI { - self.save(_DI) - } - self.Emit("LEAQ", rec, _DI) - self.call(_F_gcWriteBarrierAX) - if saveDI { - self.load(_DI) - } - self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", ptr, rec) - self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") -} - /** Generic Decoder **/ var ( diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/generic_amd64_go117_test.s b/vendor/github.com/bytedance/sonic/internal/decoder/generic_regabi_amd64_test.s similarity index 97% rename from vendor/github.com/bytedance/sonic/internal/decoder/generic_amd64_go117_test.s rename to vendor/github.com/bytedance/sonic/internal/decoder/generic_regabi_amd64_test.s index 6c2686d..b4b0de1 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/generic_amd64_go117_test.s +++ b/vendor/github.com/bytedance/sonic/internal/decoder/generic_regabi_amd64_test.s @@ -1,4 +1,4 @@ -// +build go1.17,!go1.21 +// +build go1.17,!go1.23 // // Copyright 2021 ByteDance Inc. diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/generic_amd64_go116.go b/vendor/github.com/bytedance/sonic/internal/decoder/generic_stkabi_amd64.go similarity index 95% rename from vendor/github.com/bytedance/sonic/internal/decoder/generic_amd64_go116.go rename to vendor/github.com/bytedance/sonic/internal/decoder/generic_stkabi_amd64.go index b597043..8ce5c29 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/generic_amd64_go116.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/generic_stkabi_amd64.go @@ -1,4 +1,4 @@ -// +build go1.15,!go1.17 +// +build go1.16,!go1.17 /* * Copyright 2021 ByteDance Inc. @@ -22,13 +22,11 @@ import ( `encoding/json` `fmt` `reflect` - `strconv` `github.com/bytedance/sonic/internal/jit` `github.com/bytedance/sonic/internal/native` `github.com/bytedance/sonic/internal/native/types` `github.com/twitchyliquid64/golang-asm/obj` - `github.com/twitchyliquid64/golang-asm/obj/x86` ) /** Crucial Registers: @@ -645,7 +643,8 @@ func (self *_ValueDecoder) compile() { self.Emit("MOVQ", _R8, _VAR_cs_p) self.Emit("MOVQ", _AX, _VAR_cs_n) self.Emit("MOVQ", _DI, _VAR_cs_LR) - self.Emit("MOVQ", _T_byte, jit.Ptr(_SP, 0)) + self.Emit("MOVQ", _T_byte, _R8) + self.Emit("MOVQ", _R8, jit.Ptr(_SP, 0)) self.Emit("MOVQ", _AX, jit.Ptr(_SP, 8)) self.Emit("MOVQ", _AX, jit.Ptr(_SP, 16)) self.call_go(_F_makeslice) @@ -722,48 +721,6 @@ func (self *_ValueDecoder) compile() { } } -func (self *_ValueDecoder) WritePtrAX(i int, rec obj.Addr, saveDI bool) { - self.Emit("MOVQ", _V_writeBarrier, _R10) - self.Emit("CMPL", jit.Ptr(_R10, 0), jit.Imm(0)) - self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - if saveDI { - self.save(_DI) - } - self.Emit("LEAQ", rec, _DI) - self.Emit("MOVQ", _F_gcWriteBarrierAX, _R10) // MOVQ ${fn}, AX - self.Rjmp("CALL", _R10) - if saveDI { - self.load(_DI) - } - self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", _AX, rec) - self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") -} - -func (self *_ValueDecoder) WriteRecNotAX(i int, ptr obj.Addr, rec obj.Addr, saveDI bool) { - if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { - panic("rec contains AX!") - } - self.Emit("MOVQ", _V_writeBarrier, _R10) - self.Emit("CMPL", jit.Ptr(_R10, 0), jit.Imm(0)) - self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", ptr, _AX) - if saveDI { - self.save(_DI) - } - self.Emit("LEAQ", rec, _DI) - self.Emit("MOVQ", _F_gcWriteBarrierAX, _R10) // MOVQ ${fn}, AX - self.Rjmp("CALL", _R10) - if saveDI { - self.load(_DI) - } - self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", ptr, rec) - self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") -} - /** Generic Decoder **/ var ( diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/generic_amd64_test.s b/vendor/github.com/bytedance/sonic/internal/decoder/generic_stkabi_amd64_test.s similarity index 97% rename from vendor/github.com/bytedance/sonic/internal/decoder/generic_amd64_test.s rename to vendor/github.com/bytedance/sonic/internal/decoder/generic_stkabi_amd64_test.s index 36cb1f5..4e509c2 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/generic_amd64_test.s +++ b/vendor/github.com/bytedance/sonic/internal/decoder/generic_stkabi_amd64_test.s @@ -1,4 +1,4 @@ -// +build go1.15,!go1.17 +// +build go1.16,!go1.17 // // Copyright 2021 ByteDance Inc. diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/pools.go b/vendor/github.com/bytedance/sonic/internal/decoder/pools.go index 06adc7f..bcd14cc 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/pools.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/pools.go @@ -29,7 +29,7 @@ const ( _MinSlice = 2 _MaxStack = 4096 // 4k slots _MaxStackBytes = _MaxStack * _PtrBytes - _MaxDigitNums = 800 // used in atof fallback algorithm + _MaxDigitNums = types.MaxDigitNums // used in atof fallback algorithm ) const ( @@ -140,4 +140,4 @@ func findOrCompile(vt *rt.GoType) (_Decoder, error) { } else { return nil, err } -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/primitives.go b/vendor/github.com/bytedance/sonic/internal/decoder/primitives.go index d6053e2..1c9ce1f 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/primitives.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/primitives.go @@ -30,9 +30,7 @@ func decodeTypedPointer(s string, i int, vt *rt.GoType, vp unsafe.Pointer, sb *_ return 0, err } else { rt.MoreStack(_FP_size + _VD_size + native.MaxFrameSize) - rt.StopProf() ret, err := fn(s, i, vp, sb, fv, "", nil) - rt.StartProf() return ret, err } } diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/stream.go b/vendor/github.com/bytedance/sonic/internal/decoder/stream.go index e1e0f73..7eb8a69 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/stream.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/stream.go @@ -21,12 +21,14 @@ import ( `io` `sync` - `github.com/bytedance/sonic/option` + `github.com/bytedance/sonic/internal/native` `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` + `github.com/bytedance/sonic/option` ) var ( - minLeftBufferShift uint = 1 + minLeftBufferShift uint = 1 ) // StreamDecoder is the decoder context object for streaming input. @@ -57,85 +59,71 @@ func NewStreamDecoder(r io.Reader) *StreamDecoder { // Either io error from underlying io.Reader (except io.EOF) // or syntax error from data will be recorded and stop subsequently decoding. func (self *StreamDecoder) Decode(val interface{}) (err error) { - if self.err != nil { - return self.err - } - - var buf = self.buf[self.scanp:] - var p = 0 - var recycle bool - if cap(buf) == 0 { - buf = bufPool.Get().([]byte) - recycle = true - } - - var first = true - var repeat = true -read_more: - for { - l := len(buf) - realloc(&buf) - n, err := self.r.Read(buf[l:cap(buf)]) - buf = buf[:l+n] - if err != nil { - repeat = false - if err == io.EOF { - if len(buf) == 0 { - return err - } - break + // read more data into buf + if self.More() { + // println(string(self.buf)) + var s = self.scanp + try_skip: + var e = len(self.buf) + // println("s:", s, "e:", e, "scanned:",self.scanned, "scanp:",self.scanp, self.buf) + var src = rt.Mem2Str(self.buf[s:e]) + // if len(src) > 5 { + // println(src[:5], src[len(src)-5:]) + // } else { + // println(src) + // } + // try skip + var x = 0; + if y := native.SkipOneFast(&src, &x); y < 0 { + if self.readMore() { + // println("more") + goto try_skip + } else { + // println("no more") + err = SyntaxError{e, self.s, types.ParsingError(-s), ""} + self.setErr(err) + return } - self.err = err - return err - } - if n > 0 || first { - break + } else { + s = y + s + e = x + s } - } - first = false - - l := len(buf) - if l > 0 { - self.Decoder.Reset(string(buf)) + + // println("decode: ", s, e) + // must copy string here for safety + self.Decoder.Reset(string(self.buf[s:e])) err = self.Decoder.Decode(val) if err != nil { - if repeat && self.repeatable(err) { - goto read_more - } - self.err = err + self.setErr(err) + return } - p = self.Decoder.Pos() - self.scanned += int64(p) - self.scanp = 0 - } - - if l > p { - // remain undecoded bytes, so copy them into self.buf - self.buf = append(self.buf[:0], buf[p:]...) - } else { - self.buf = nil - recycle = true - } + self.scanp = e + _, empty := self.scan() + if empty { + // println("recycle") + // no remain valid bytes, thus we just recycle buffer + mem := self.buf + self.buf = nil + bufPool.Put(mem[:0]) + } else { + // println("keep") + // remain undecoded bytes, move them onto head + n := copy(self.buf, self.buf[self.scanp:]) + self.buf = self.buf[:n] + } - if recycle { - buf = buf[:0] - bufPool.Put(buf) - } - return err -} + self.scanned += int64(self.scanp) + self.scanp = 0 + } -func (self StreamDecoder) repeatable(err error) bool { - if ee, ok := err.(SyntaxError); ok && - (ee.Code == types.ERR_EOF || (ee.Code == types.ERR_INVALID_CHAR && self.i >= len(self.s)-1)) { - return true - } - return false + return self.err } // InputOffset returns the input stream byte offset of the current decoder position. // The offset gives the location of the end of the most recently returned token and the beginning of the next token. func (self *StreamDecoder) InputOffset() int64 { + // println("input offset",self.scanned, self.scanp) return self.scanned + int64(self.scanp) } @@ -155,28 +143,72 @@ func (self *StreamDecoder) More() bool { return err == nil && c != ']' && c != '}' } +// More reports whether there is another element in the +// current array or object being parsed. +func (self *StreamDecoder) readMore() bool { + if self.err != nil { + return false + } + + var err error + var n int + for { + // Grow buffer if not large enough. + l := len(self.buf) + realloc(&self.buf) + + n, err = self.r.Read(self.buf[l:cap(self.buf)]) + self.buf = self.buf[: l+n] + + self.scanp = l + _, empty := self.scan() + if !empty { + return true + } + + // buffer has been scanned, now report any error + if err != nil { + self.setErr(err) + return false + } + } +} + +func (self *StreamDecoder) setErr(err error) { + self.err = err + mem := self.buf[:0] + self.buf = nil + bufPool.Put(mem) +} + func (self *StreamDecoder) peek() (byte, error) { var err error for { - for i := self.scanp; i < len(self.buf); i++ { - c := self.buf[i] - if isSpace(c) { - continue - } - self.scanp = i - return c, nil + c, empty := self.scan() + if !empty { + return byte(c), nil } // buffer has been scanned, now report any error if err != nil { - if err != io.EOF { - self.err = err - } + self.setErr(err) return 0, err } err = self.refill() } } +func (self *StreamDecoder) scan() (byte, bool) { + for i := self.scanp; i < len(self.buf); i++ { + c := self.buf[i] + if isSpace(c) { + continue + } + self.scanp = i + return c, false + } + return 0, true +} + func isSpace(c byte) bool { return types.SPACE_MASK & (1 << c) != 0 } @@ -201,17 +233,25 @@ func (self *StreamDecoder) refill() error { return err } -func realloc(buf *[]byte) { +func realloc(buf *[]byte) bool { l := uint(len(*buf)) c := uint(cap(*buf)) + if c == 0 { + // println("use pool!") + *buf = bufPool.Get().([]byte) + return true + } if c - l <= c >> minLeftBufferShift { + // println("realloc!") e := l+(l>>minLeftBufferShift) - if e < option.DefaultDecoderBufferSize { - e = option.DefaultDecoderBufferSize + if e <= c { + e = c*2 } tmp := make([]byte, l, e) copy(tmp, *buf) *buf = tmp + return true } + return false } diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go115.go b/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go116.go similarity index 96% rename from vendor/github.com/bytedance/sonic/internal/decoder/stubs_go115.go rename to vendor/github.com/bytedance/sonic/internal/decoder/stubs_go116.go index 1a0917c..b02eb2b 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go115.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go116.go @@ -1,4 +1,4 @@ -// +build go1.15,!go1.20 +// +build go1.16,!go1.20 /* * Copyright 2021 ByteDance Inc. @@ -22,12 +22,12 @@ import ( `unsafe` `reflect` - _ `github.com/chenzhuoyu/base64x` + _ `github.com/cloudwego/base64x` `github.com/bytedance/sonic/internal/rt` ) -//go:linkname _subr__b64decode github.com/chenzhuoyu/base64x._subr__b64decode +//go:linkname _subr__b64decode github.com/cloudwego/base64x._subr__b64decode var _subr__b64decode uintptr // runtime.maxElementSize diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go120.go b/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go120.go index cde6a19..870e253 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go120.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go120.go @@ -22,12 +22,12 @@ import ( `unsafe` `reflect` - _ `github.com/chenzhuoyu/base64x` + _ `github.com/cloudwego/base64x` `github.com/bytedance/sonic/internal/rt` ) -//go:linkname _subr__b64decode github.com/chenzhuoyu/base64x._subr__b64decode +//go:linkname _subr__b64decode github.com/cloudwego/base64x._subr__b64decode var _subr__b64decode uintptr // runtime.maxElementSize @@ -82,23 +82,23 @@ func makemap_small() unsafe.Pointer //go:linkname mapassign runtime.mapassign //goland:noinspection GoUnusedParameter -func mapassign(t *rt.GoType, h unsafe.Pointer, k unsafe.Pointer) unsafe.Pointer +func mapassign(t *rt.GoMapType, h unsafe.Pointer, k unsafe.Pointer) unsafe.Pointer //go:linkname mapassign_fast32 runtime.mapassign_fast32 //goland:noinspection GoUnusedParameter -func mapassign_fast32(t *rt.GoType, h unsafe.Pointer, k uint32) unsafe.Pointer +func mapassign_fast32(t *rt.GoMapType, h unsafe.Pointer, k uint32) unsafe.Pointer //go:linkname mapassign_fast64 runtime.mapassign_fast64 //goland:noinspection GoUnusedParameter -func mapassign_fast64(t *rt.GoType, h unsafe.Pointer, k uint64) unsafe.Pointer +func mapassign_fast64(t *rt.GoMapType, h unsafe.Pointer, k uint64) unsafe.Pointer //go:linkname mapassign_fast64ptr runtime.mapassign_fast64ptr //goland:noinspection GoUnusedParameter -func mapassign_fast64ptr(t *rt.GoType, h unsafe.Pointer, k unsafe.Pointer) unsafe.Pointer +func mapassign_fast64ptr(t *rt.GoMapType, h unsafe.Pointer, k unsafe.Pointer) unsafe.Pointer //go:linkname mapassign_faststr runtime.mapassign_faststr //goland:noinspection GoUnusedParameter -func mapassign_faststr(t *rt.GoType, h unsafe.Pointer, s string) unsafe.Pointer +func mapassign_faststr(t *rt.GoMapType, h unsafe.Pointer, s string) unsafe.Pointer //go:nosplit //go:linkname memclrHasPointers runtime.memclrHasPointers @@ -108,4 +108,4 @@ func memclrHasPointers(ptr unsafe.Pointer, n uintptr) //go:noescape //go:linkname memclrNoHeapPointers runtime.memclrNoHeapPointers //goland:noinspection GoUnusedParameter -func memclrNoHeapPointers(ptr unsafe.Pointer, n uintptr) \ No newline at end of file +func memclrNoHeapPointers(ptr unsafe.Pointer, n uintptr) diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/asm_stubs_amd64_go116.go b/vendor/github.com/bytedance/sonic/internal/encoder/asm_stubs_amd64_go116.go new file mode 100644 index 0000000..0a99f30 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/encoder/asm_stubs_amd64_go116.go @@ -0,0 +1,51 @@ +// +build go1.16,!go1.17 + +// Copyright 2023 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package encoder + +import ( + `strconv` + + `github.com/bytedance/sonic/internal/jit` + `github.com/twitchyliquid64/golang-asm/obj` + `github.com/twitchyliquid64/golang-asm/obj/x86` +) + +var ( + _V_writeBarrier = jit.Imm(int64(_runtime_writeBarrier)) + + _F_gcWriteBarrierAX = jit.Func(gcWriteBarrierAX) +) + +func (self *_Assembler) WritePtr(i int, ptr obj.Addr, rec obj.Addr) { + if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { + panic("rec contains AX!") + } + self.Emit("MOVQ", _V_writeBarrier, _R10) + self.Emit("CMPL", jit.Ptr(_R10, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", ptr, _AX) + self.xsave(_DI) + self.Emit("LEAQ", rec, _DI) + self.Emit("MOVQ", _F_gcWriteBarrierAX, _R10) // MOVQ ${fn}, AX + self.Rjmp("CALL", _R10) + self.xload(_DI) + self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", ptr, rec) + self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") +} + diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/asm_stubs_amd64_go117.go b/vendor/github.com/bytedance/sonic/internal/encoder/asm_stubs_amd64_go117.go new file mode 100644 index 0000000..5a3cf1a --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/encoder/asm_stubs_amd64_go117.go @@ -0,0 +1,51 @@ +// +build go1.17,!go1.21 + +// Copyright 2023 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package encoder + +import ( + `strconv` + `unsafe` + + `github.com/bytedance/sonic/internal/jit` + `github.com/twitchyliquid64/golang-asm/obj` + `github.com/twitchyliquid64/golang-asm/obj/x86` +) + +var ( + _V_writeBarrier = jit.Imm(int64(uintptr(unsafe.Pointer(&_runtime_writeBarrier)))) + + _F_gcWriteBarrierAX = jit.Func(gcWriteBarrierAX) +) + +func (self *_Assembler) WritePtr(i int, ptr obj.Addr, rec obj.Addr) { + if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { + panic("rec contains AX!") + } + self.Emit("MOVQ", _V_writeBarrier, _BX) + self.Emit("CMPL", jit.Ptr(_BX, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.xsave(_DI) + self.Emit("MOVQ", ptr, _AX) + self.Emit("LEAQ", rec, _DI) + self.Emit("MOVQ", _F_gcWriteBarrierAX, _BX) // MOVQ ${fn}, AX + self.Rjmp("CALL", _BX) + self.xload(_DI) + self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", ptr, rec) + self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") +} diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/asm_stubs_amd64_go121.go b/vendor/github.com/bytedance/sonic/internal/encoder/asm_stubs_amd64_go121.go new file mode 100644 index 0000000..9f7ff65 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/encoder/asm_stubs_amd64_go121.go @@ -0,0 +1,50 @@ +// +build go1.21,!go1.23 + +// Copyright 2023 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package encoder + +import ( + `strconv` + `unsafe` + + `github.com/bytedance/sonic/internal/jit` + `github.com/twitchyliquid64/golang-asm/obj` + `github.com/twitchyliquid64/golang-asm/obj/x86` +) + +var ( + _V_writeBarrier = jit.Imm(int64(uintptr(unsafe.Pointer(&_runtime_writeBarrier)))) + + _F_gcWriteBarrier2 = jit.Func(gcWriteBarrier2) +) + +func (self *_Assembler) WritePtr(i int, ptr obj.Addr, old obj.Addr) { + if old.Reg == x86.REG_AX || old.Index == x86.REG_AX { + panic("rec contains AX!") + } + self.Emit("MOVQ", _V_writeBarrier, _BX) + self.Emit("CMPL", jit.Ptr(_BX, 0), jit.Imm(0)) + self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.xsave(_SP_q) + self.Emit("MOVQ", _F_gcWriteBarrier2, _BX) // MOVQ ${fn}, AX + self.Rjmp("CALL", _BX) + self.Emit("MOVQ", ptr, jit.Ptr(_SP_q, 0)) + self.Emit("MOVQ", old, _AX) + self.Emit("MOVQ", _AX, jit.Ptr(_SP_q, 8)) + self.xload(_SP_q) + self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") + self.Emit("MOVQ", ptr, old) +} diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/assembler_amd64_go117.go b/vendor/github.com/bytedance/sonic/internal/encoder/assembler_regabi_amd64.go similarity index 97% rename from vendor/github.com/bytedance/sonic/internal/encoder/assembler_amd64_go117.go rename to vendor/github.com/bytedance/sonic/internal/encoder/assembler_regabi_amd64.go index 1f1b280..330b688 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/assembler_amd64_go117.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/assembler_regabi_amd64.go @@ -1,5 +1,4 @@ -//go:build go1.17 && !go1.21 -// +build go1.17,!go1.21 +// +build go1.17,!go1.23 /* * Copyright 2021 ByteDance Inc. @@ -129,6 +128,7 @@ var ( var ( _X0 = jit.Reg("X0") + _X15 = jit.Reg("X15") _Y0 = jit.Reg("Y0") ) @@ -171,7 +171,7 @@ var ( ) var ( - _REG_ffi = []obj.Addr{ _RP, _RL, _RC} + _REG_ffi = []obj.Addr{ _RP, _RL, _RC, _SP_q} _REG_b64 = []obj.Addr{_SP_p, _SP_q} _REG_all = []obj.Addr{_ST, _SP_x, _SP_f, _SP_p, _SP_q, _RP, _RL, _RC} @@ -435,8 +435,8 @@ func (self *_Assembler) save_state() { self.Sjmp("JAE" , _LB_error_too_deep) // JA _error_too_deep self.Emit("MOVQ", _SP_x, jit.Sib(_ST, _CX, 1, 8)) // MOVQ SP.x, 8(ST)(CX) self.Emit("MOVQ", _SP_f, jit.Sib(_ST, _CX, 1, 16)) // MOVQ SP.f, 16(ST)(CX) - self.WriteRecNotAX(0, _SP_p, jit.Sib(_ST, _CX, 1, 24)) // MOVQ SP.p, 24(ST)(CX) - self.WriteRecNotAX(1, _SP_q, jit.Sib(_ST, _CX, 1, 32)) // MOVQ SP.q, 32(ST)(CX) + self.WritePtr(0, _SP_p, jit.Sib(_ST, _CX, 1, 24)) // MOVQ SP.p, 24(ST)(CX) + self.WritePtr(1, _SP_q, jit.Sib(_ST, _CX, 1, 32)) // MOVQ SP.q, 32(ST)(CX) self.Emit("MOVQ", _R9, jit.Ptr(_ST, 0)) // MOVQ R9, (ST) } @@ -510,11 +510,10 @@ func (self *_Assembler) call_b64(pc obj.Addr) { func (self *_Assembler) call_c(pc obj.Addr) { self.Emit("XCHGQ", _SP_p, _BX) - self.Emit("XCHGQ", _SP_q, _BP) self.call(pc) // CALL $pc self.xload(_REG_ffi...) // LOAD $REG_ffi self.Emit("XCHGQ", _SP_p, _BX) - self.Emit("XCHGQ", _SP_q, _BP) + self.Emit("XORPS", _X15, _X15) } func (self *_Assembler) call_go(pc obj.Addr) { @@ -1175,28 +1174,3 @@ func (self *_Assembler) print_gc(i int, p1 *_Instr, p2 *_Instr) { self.Emit("MOVQ", jit.Imm(int64(i)), _AX) // MOVQ $(i), CX self.call_go(_F_println) } - -var ( - _V_writeBarrier = jit.Imm(int64(uintptr(unsafe.Pointer(&_runtime_writeBarrier)))) - - _F_gcWriteBarrierAX = jit.Func(gcWriteBarrierAX) -) - -func (self *_Assembler) WriteRecNotAX(i int, ptr obj.Addr, rec obj.Addr) { - if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { - panic("rec contains AX!") - } - self.Emit("MOVQ", _V_writeBarrier, _BX) - self.Emit("CMPL", jit.Ptr(_BX, 0), jit.Imm(0)) - self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.xsave(_DI) - self.Emit("MOVQ", ptr, _AX) - self.Emit("LEAQ", rec, _DI) - self.Emit("MOVQ", _F_gcWriteBarrierAX, _BX) // MOVQ ${fn}, AX - self.Rjmp("CALL", _BX) - self.xload(_DI) - self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", ptr, rec) - self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") -} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/assembler_amd64_go116.go b/vendor/github.com/bytedance/sonic/internal/encoder/assembler_stkabi_amd64.go similarity index 97% rename from vendor/github.com/bytedance/sonic/internal/encoder/assembler_amd64_go116.go rename to vendor/github.com/bytedance/sonic/internal/encoder/assembler_stkabi_amd64.go index d056259..89dafc8 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/assembler_amd64_go116.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/assembler_stkabi_amd64.go @@ -1,4 +1,4 @@ -// +build go1.15,!go1.17 +// +build go1.16,!go1.17 /* * Copyright 2021 ByteDance Inc. @@ -421,8 +421,8 @@ func (self *_Assembler) save_state() { self.Sjmp("JAE" , _LB_error_too_deep) // JA _error_too_deep self.Emit("MOVQ", _SP_x, jit.Sib(_ST, _CX, 1, 8)) // MOVQ SP.x, 8(ST)(CX) self.Emit("MOVQ", _SP_f, jit.Sib(_ST, _CX, 1, 16)) // MOVQ SP.f, 16(ST)(CX) - self.WriteRecNotAX(0, _SP_p, jit.Sib(_ST, _CX, 1, 24)) // MOVQ SP.p, 24(ST)(CX) - self.WriteRecNotAX(1, _SP_q, jit.Sib(_ST, _CX, 1, 32)) // MOVQ SP.q, 32(ST)(CX) + self.WritePtr(0, _SP_p, jit.Sib(_ST, _CX, 1, 24)) // MOVQ SP.p, 24(ST)(CX) + self.WritePtr(1, _SP_q, jit.Sib(_ST, _CX, 1, 32)) // MOVQ SP.q, 32(ST)(CX) self.Emit("MOVQ", _R8, jit.Ptr(_ST, 0)) // MOVQ R8, (ST) } @@ -579,7 +579,8 @@ var ( func (self *_Assembler) more_space() { self.Link(_LB_more_space) - self.Emit("MOVQ", _T_byte, jit.Ptr(_SP, 0)) // MOVQ $_T_byte, (SP) + self.Emit("MOVQ", _T_byte, _AX) // MOVQ $_T_byte, _AX + self.Emit("MOVQ", _AX, jit.Ptr(_SP, 0)) // MOVQ _AX, (SP) self.Emit("MOVQ", _RP, jit.Ptr(_SP, 8)) // MOVQ RP, 8(SP) self.Emit("MOVQ", _RL, jit.Ptr(_SP, 16)) // MOVQ RL, 16(SP) self.Emit("MOVQ", _RC, jit.Ptr(_SP, 24)) // MOVQ RC, 24(SP) @@ -1172,28 +1173,3 @@ func (self *_Assembler) print_gc(i int, p1 *_Instr, p2 *_Instr) { self.Emit("MOVQ", jit.Imm(int64(i)), jit.Ptr(_SP, 0)) // MOVQ $(i), (SP) self.call_go(_F_println) } - -var ( - _V_writeBarrier = jit.Imm(int64(_runtime_writeBarrier)) - - _F_gcWriteBarrierAX = jit.Func(gcWriteBarrierAX) -) - -func (self *_Assembler) WriteRecNotAX(i int, ptr obj.Addr, rec obj.Addr) { - if rec.Reg == x86.REG_AX || rec.Index == x86.REG_AX { - panic("rec contains AX!") - } - self.Emit("MOVQ", _V_writeBarrier, _R10) - self.Emit("CMPL", jit.Ptr(_R10, 0), jit.Imm(0)) - self.Sjmp("JE", "_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", ptr, _AX) - self.xsave(_DI) - self.Emit("LEAQ", rec, _DI) - self.Emit("MOVQ", _F_gcWriteBarrierAX, _R10) // MOVQ ${fn}, AX - self.Rjmp("CALL", _R10) - self.xload(_DI) - self.Sjmp("JMP", "_end_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Link("_no_writeBarrier" + strconv.Itoa(i) + "_{n}") - self.Emit("MOVQ", ptr, rec) - self.Link("_end_writeBarrier" + strconv.Itoa(i) + "_{n}") -} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/compiler.go b/vendor/github.com/bytedance/sonic/internal/encoder/compiler.go index a949c90..ca0be8f 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/compiler.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/compiler.go @@ -831,7 +831,7 @@ func (self *_Compiler) compileStructFieldZero(p *_Program, vt reflect.Type) { case reflect.Float32 : p.add(_OP_is_zero_4) case reflect.Float64 : p.add(_OP_is_zero_8) case reflect.String : p.add(_OP_is_nil_p1) - case reflect.Interface : p.add(_OP_is_nil_p1) + case reflect.Interface : p.add(_OP_is_nil) case reflect.Map : p.add(_OP_is_zero_map) case reflect.Ptr : p.add(_OP_is_nil) case reflect.Slice : p.add(_OP_is_nil_p1) diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/debug_go116.go b/vendor/github.com/bytedance/sonic/internal/encoder/debug_go116.go index 4bc9c15..d8d0c45 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/debug_go116.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/debug_go116.go @@ -1,4 +1,4 @@ -// +build go1.15,!go1.17 +// +build go1.16,!go1.17 /* * Copyright 2021 ByteDance Inc. diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/debug_go117.go b/vendor/github.com/bytedance/sonic/internal/encoder/debug_go117.go index e1016de..37e6f7d 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/debug_go117.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/debug_go117.go @@ -1,4 +1,4 @@ -// +build go1.17,!go1.21 +// +build go1.17,!go1.23 /* * Copyright 2021 ByteDance Inc. @@ -202,4 +202,4 @@ func (self *_Assembler) print_ptr(i int, ptr obj.Addr, lea bool) { self.Emit("MOVQ", _R10, _BX) self.dcall(_F_printptr) self.dload(_REG_debug...) -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/encoder.go b/vendor/github.com/bytedance/sonic/internal/encoder/encoder.go index 3c46061..d285c29 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/encoder.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/encoder.go @@ -40,6 +40,8 @@ const ( bitNoQuoteTextMarshaler bitNoNullSliceOrMap bitValidateString + bitNoValidateJSONMarshaler + bitNoEncoderNewline // used for recursive compile bitPointerValue = 63 @@ -71,6 +73,13 @@ const ( // ValidateString indicates that encoder should validate the input string // before encoding it into JSON. ValidateString Options = 1 << bitValidateString + + // NoValidateJSONMarshaler indicates that the encoder should not validate the output string + // after encoding the JSONMarshaler to JSON. + NoValidateJSONMarshaler Options = 1 << bitNoValidateJSONMarshaler + + // NoEncoderNewline indicates that the encoder should not add a newline after every message + NoEncoderNewline Options = 1 << bitNoEncoderNewline // CompatibleWithStd is used to be compatible with std encoder. CompatibleWithStd Options = SortMapKeys | EscapeHTML | CompactMarshaler @@ -115,6 +124,25 @@ func (self *Encoder) SetValidateString(f bool) { } } +// SetNoValidateJSONMarshaler specifies if option NoValidateJSONMarshaler opens +func (self *Encoder) SetNoValidateJSONMarshaler(f bool) { + if f { + self.Opts |= NoValidateJSONMarshaler + } else { + self.Opts &= ^NoValidateJSONMarshaler + } +} + +// SetNoEncoderNewline specifies if option NoEncoderNewline opens +func (self *Encoder) SetNoEncoderNewline(f bool) { + if f { + self.Opts |= NoEncoderNewline + } else { + self.Opts &= ^NoEncoderNewline + } +} + + // SetCompactMarshaler specifies if option CompactMarshaler opens func (self *Encoder) SetCompactMarshaler(f bool) { if f { @@ -292,7 +320,6 @@ func Pretouch(vt reflect.Type, opts ...option.CompileOption) error { cfg := option.DefaultCompileOptions() for _, opt := range opts { opt(&cfg) - break } return pretouchRec(map[reflect.Type]uint8{vt: 0}, cfg) } @@ -310,7 +337,7 @@ func Valid(data []byte) (ok bool, start int) { s := rt.Mem2Str(data) p := 0 m := types.NewStateMachine() - ret := native.ValidateOne(&s, &p, m) + ret := native.ValidateOne(&s, &p, m, types.F_VALIDATE_STRING) types.FreeStateMachine(m) if ret < 0 { @@ -325,4 +352,4 @@ func Valid(data []byte) (ok bool, start int) { } return true, ret -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/errors.go b/vendor/github.com/bytedance/sonic/internal/encoder/errors.go index ac6848a..6e9d0c7 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/errors.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/errors.go @@ -62,4 +62,4 @@ func goPanic(code int, val unsafe.Pointer) { default: panic("encoder error!") } -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/pools.go b/vendor/github.com/bytedance/sonic/internal/encoder/pools.go index 9892ba1..a2800dd 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/pools.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/pools.go @@ -190,4 +190,4 @@ func pretouchRec(vtm map[reflect.Type]uint8, opts option.CompileOptions) error { } opts.RecursiveDepth -= 1 return pretouchRec(next, opts) -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go b/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go index 78fb29f..94f1c3d 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go @@ -23,6 +23,7 @@ import ( `github.com/bytedance/sonic/internal/jit` `github.com/bytedance/sonic/internal/native` + `github.com/bytedance/sonic/internal/native/types` `github.com/bytedance/sonic/internal/rt` ) @@ -73,15 +74,11 @@ func encodeTypedPointer(buf *[]byte, vt *rt.GoType, vp *unsafe.Pointer, sb *_Sta return err } else if vt.Indirect() { rt.MoreStack(_FP_size + native.MaxFrameSize) - rt.StopProf() err := fn(buf, *vp, sb, fv) - rt.StartProf() return err } else { rt.MoreStack(_FP_size + native.MaxFrameSize) - rt.StopProf() err := fn(buf, unsafe.Pointer(vp), sb, fv) - rt.StartProf() return err } } @@ -93,8 +90,10 @@ func encodeJsonMarshaler(buf *[]byte, val json.Marshaler, opt Options) error { if opt & CompactMarshaler != 0 { return compact(buf, ret) } - if ok, s := Valid(ret); !ok { - return error_marshaler(ret, s) + if opt & NoValidateJSONMarshaler == 0 { + if ok, s := Valid(ret); !ok { + return error_marshaler(ret, s) + } } *buf = append(*buf, ret...) return nil @@ -121,8 +120,8 @@ func htmlEscape(dst []byte, src []byte) []byte { dbuf := (*rt.GoSlice)(unsafe.Pointer(&dst)) /* grow dst if it is shorter */ - if cap(dst) - len(dst) < len(src) + native.BufPaddingSize { - cap := len(src) * 3 / 2 + native.BufPaddingSize + if cap(dst) - len(dst) < len(src) + types.BufPaddingSize { + cap := len(src) * 3 / 2 + types.BufPaddingSize *dbuf = growslice(typeByte, *dbuf, cap) } @@ -152,17 +151,17 @@ var ( ) var ( - _F_assertI2I = jit.Func(assertI2I) + _F_assertI2I = jit.Func(rt.AssertI2I2) ) func asText(v unsafe.Pointer) (string, error) { - text := assertI2I(_T_encoding_TextMarshaler, *(*rt.GoIface)(v)) + text := rt.AssertI2I2(_T_encoding_TextMarshaler, *(*rt.GoIface)(v)) r, e := (*(*encoding.TextMarshaler)(unsafe.Pointer(&text))).MarshalText() return rt.Mem2Str(r), e } func asJson(v unsafe.Pointer) (string, error) { - text := assertI2I(_T_json_Marshaler, *(*rt.GoIface)(v)) + text := rt.AssertI2I2(_T_json_Marshaler, *(*rt.GoIface)(v)) r, e := (*(*json.Marshaler)(unsafe.Pointer(&text))).MarshalJSON() return rt.Mem2Str(r), e -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/stream.go b/vendor/github.com/bytedance/sonic/internal/encoder/stream.go index 8f73a2b..d498f68 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/stream.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/stream.go @@ -36,7 +36,8 @@ func NewStreamEncoder(w io.Writer) *StreamEncoder { // Encode encodes interface{} as JSON to io.Writer func (enc *StreamEncoder) Encode(val interface{}) (err error) { - out := newBytes() + buf := newBytes() + out := buf /* encode into the buffer */ err = EncodeInto(&out, val, enc.Opts) @@ -54,7 +55,9 @@ func (enc *StreamEncoder) Encode(val interface{}) (err error) { } // according to standard library, terminate each value with a newline... - buf.WriteByte('\n') + if enc.Opts & NoEncoderNewline == 0 { + buf.WriteByte('\n') + } /* copy into io.Writer */ _, err = io.Copy(enc.w, buf) @@ -75,10 +78,12 @@ func (enc *StreamEncoder) Encode(val interface{}) (err error) { } // according to standard library, terminate each value with a newline... - enc.w.Write([]byte{'\n'}) + if enc.Opts & NoEncoderNewline == 0 { + enc.w.Write([]byte{'\n'}) + } } free_bytes: - freeBytes(out) + freeBytes(buf) return err -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go116.go b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go116.go index 40d06f4..84c186f 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go116.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go116.go @@ -1,4 +1,4 @@ -// +build go1.15,!go1.17 +// +build go1.16,!go1.17 /* * Copyright 2021 ByteDance Inc. @@ -21,12 +21,12 @@ package encoder import ( `unsafe` - _ `github.com/chenzhuoyu/base64x` + _ `github.com/cloudwego/base64x` `github.com/bytedance/sonic/internal/rt` ) -//go:linkname _subr__b64encode github.com/chenzhuoyu/base64x._subr__b64encode +//go:linkname _subr__b64encode github.com/cloudwego/base64x._subr__b64encode var _subr__b64encode uintptr //go:noescape @@ -38,10 +38,6 @@ func memmove(to unsafe.Pointer, from unsafe.Pointer, n uintptr) //goland:noinspection GoUnusedParameter func growslice(et *rt.GoType, old rt.GoSlice, cap int) rt.GoSlice -//go:linkname assertI2I runtime.assertI2I -//goland:noinspection GoUnusedParameter -func assertI2I(inter *rt.GoType, i rt.GoIface) rt.GoIface - //go:linkname mapiternext runtime.mapiternext //goland:noinspection GoUnusedParameter func mapiternext(it *rt.GoMapIterator) diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go117.go b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go117.go index 6c8c6ec..6e56aca 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go117.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go117.go @@ -21,12 +21,12 @@ package encoder import ( `unsafe` - _ `github.com/chenzhuoyu/base64x` + _ `github.com/cloudwego/base64x` `github.com/bytedance/sonic/internal/rt` ) -//go:linkname _subr__b64encode github.com/chenzhuoyu/base64x._subr__b64encode +//go:linkname _subr__b64encode github.com/cloudwego/base64x._subr__b64encode var _subr__b64encode uintptr //go:noescape @@ -38,10 +38,6 @@ func memmove(to unsafe.Pointer, from unsafe.Pointer, n uintptr) //goland:noinspection GoUnusedParameter func growslice(et *rt.GoType, old rt.GoSlice, cap int) rt.GoSlice -//go:linkname assertI2I runtime.assertI2I2 -//goland:noinspection GoUnusedParameter -func assertI2I(inter *rt.GoType, i rt.GoIface) rt.GoIface - //go:linkname mapiternext runtime.mapiternext //goland:noinspection GoUnusedParameter func mapiternext(it *rt.GoMapIterator) diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go120.go b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go120.go index f1a7d10..2b5e79b 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go120.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go120.go @@ -1,4 +1,4 @@ -// +build go1.20 +// +build go1.20,!go1.21 /* * Copyright 2021 ByteDance Inc. @@ -21,12 +21,12 @@ package encoder import ( `unsafe` - _ `github.com/chenzhuoyu/base64x` + _ `github.com/cloudwego/base64x` `github.com/bytedance/sonic/internal/rt` ) -//go:linkname _subr__b64encode github.com/chenzhuoyu/base64x._subr__b64encode +//go:linkname _subr__b64encode github.com/cloudwego/base64x._subr__b64encode var _subr__b64encode uintptr //go:noescape @@ -38,10 +38,6 @@ func memmove(to unsafe.Pointer, from unsafe.Pointer, n uintptr) //goland:noinspection GoUnusedParameter func growslice(et *rt.GoType, old rt.GoSlice, cap int) rt.GoSlice -//go:linkname assertI2I runtime.assertI2I2 -//goland:noinspection GoUnusedParameter -func assertI2I(inter *rt.GoType, i rt.GoIface) rt.GoIface - //go:linkname mapiternext runtime.mapiternext //goland:noinspection GoUnusedParameter func mapiternext(it *rt.GoMapIterator) @@ -63,4 +59,4 @@ func memclrNoHeapPointers(ptr unsafe.Pointer, n uintptr) var _runtime_writeBarrier uintptr //go:linkname gcWriteBarrierAX runtime.gcWriteBarrier -func gcWriteBarrierAX() \ No newline at end of file +func gcWriteBarrierAX() diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go121.go b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go121.go new file mode 100644 index 0000000..89ae5d2 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go121.go @@ -0,0 +1,62 @@ +// +build go1.21 + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package encoder + +import ( + `unsafe` + + _ `github.com/cloudwego/base64x` + + `github.com/bytedance/sonic/internal/rt` +) + +//go:linkname _subr__b64encode github.com/cloudwego/base64x._subr__b64encode +var _subr__b64encode uintptr + +//go:noescape +//go:linkname memmove runtime.memmove +//goland:noinspection GoUnusedParameter +func memmove(to unsafe.Pointer, from unsafe.Pointer, n uintptr) + +//go:linkname growslice reflect.growslice +//goland:noinspection GoUnusedParameter +func growslice(et *rt.GoType, old rt.GoSlice, cap int) rt.GoSlice + +//go:linkname mapiternext runtime.mapiternext +//goland:noinspection GoUnusedParameter +func mapiternext(it *rt.GoMapIterator) + +//go:linkname mapiterinit runtime.mapiterinit +//goland:noinspection GoUnusedParameter +func mapiterinit(t *rt.GoMapType, m *rt.GoMap, it *rt.GoMapIterator) + +//go:linkname isValidNumber encoding/json.isValidNumber +//goland:noinspection GoUnusedParameter +func isValidNumber(s string) bool + +//go:noescape +//go:linkname memclrNoHeapPointers runtime.memclrNoHeapPointers +//goland:noinspection GoUnusedParameter +func memclrNoHeapPointers(ptr unsafe.Pointer, n uintptr) + +//go:linkname _runtime_writeBarrier runtime.writeBarrier +var _runtime_writeBarrier uintptr + +//go:linkname gcWriteBarrier2 runtime.gcWriteBarrier2 +func gcWriteBarrier2() diff --git a/vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go b/vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go index d7d1751..00e6009 100644 --- a/vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go +++ b/vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go @@ -72,18 +72,6 @@ func (self *BaseAssembler) NOPn(n int) { } } -func (self *BaseAssembler) StorePtr(ptr int64, to obj.Addr, tmp obj.Addr) { - if (to.Type != obj.TYPE_MEM) || (tmp.Type != obj.TYPE_REG) { - panic("must store imm to memory, tmp must be register") - } - if (ptr >> 32) != 0 { - self.Emit("MOVQ", Imm(ptr), tmp) - self.Emit("MOVQ", tmp, to) - } else { - self.Emit("MOVQ", Imm(ptr), to); - } -} - func (self *BaseAssembler) Byte(v ...byte) { for ; len(v) >= 8; v = v[8:] { self.From("QUAD", Imm(rt.Get64(v))) } for ; len(v) >= 4; v = v[4:] { self.From("LONG", Imm(int64(rt.Get32(v)))) } diff --git a/vendor/github.com/bytedance/sonic/internal/jit/runtime.go b/vendor/github.com/bytedance/sonic/internal/jit/runtime.go index ec69d06..e4bc829 100644 --- a/vendor/github.com/bytedance/sonic/internal/jit/runtime.go +++ b/vendor/github.com/bytedance/sonic/internal/jit/runtime.go @@ -24,11 +24,6 @@ import ( `github.com/twitchyliquid64/golang-asm/obj` ) -//go:noescape -//go:linkname getitab runtime.getitab -//goland:noinspection ALL -func getitab(inter *rt.GoType, typ *rt.GoType, canfail bool) *rt.GoItab - func Func(f interface{}) obj.Addr { if p := rt.UnpackEface(f); p.Type.Kind() != reflect.Func { panic("f is not a function") @@ -42,7 +37,7 @@ func Type(t reflect.Type) obj.Addr { } func Itab(i *rt.GoType, t reflect.Type) obj.Addr { - return Imm(int64(uintptr(unsafe.Pointer(getitab(i, rt.UnpackType(t), false))))) + return Imm(int64(uintptr(unsafe.Pointer(rt.Getitab(rt.IfaceType(i), rt.UnpackType(t), false))))) } func Gitab(i *rt.GoItab) obj.Addr { diff --git a/vendor/github.com/bytedance/sonic/internal/loader/asm.s b/vendor/github.com/bytedance/sonic/internal/loader/asm.s deleted file mode 100644 index e69de29..0000000 diff --git a/vendor/github.com/bytedance/sonic/internal/loader/funcdata.go b/vendor/github.com/bytedance/sonic/internal/loader/funcdata.go deleted file mode 100644 index 59a3cb3..0000000 --- a/vendor/github.com/bytedance/sonic/internal/loader/funcdata.go +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package loader - -import ( - `reflect` - `sync` - `unsafe` - - `github.com/bytedance/sonic/internal/rt` -) - -//go:linkname lastmoduledatap runtime.lastmoduledatap -//goland:noinspection GoUnusedGlobalVariable -var lastmoduledatap *_ModuleData - -//go:linkname moduledataverify1 runtime.moduledataverify1 -func moduledataverify1(_ *_ModuleData) - -// PCDATA and FUNCDATA table indexes. -// -// See funcdata.h and $GROOT/src/cmd/internal/objabi/funcdata.go. -const ( - _FUNCDATA_ArgsPointerMaps = 0 - _FUNCDATA_LocalsPointerMaps = 1 -) - -type funcInfo struct { - *_Func - datap *_ModuleData -} - -//go:linkname findfunc runtime.findfunc -func findfunc(pc uintptr) funcInfo - -//go:linkname funcdata runtime.funcdata -func funcdata(f funcInfo, i uint8) unsafe.Pointer - -var ( - modLock sync.Mutex - modList []*_ModuleData -) - -var emptyByte byte - -func encodeVariant(v int) []byte { - var u int - var r []byte - - /* split every 7 bits */ - for v > 127 { - u = v & 0x7f - v = v >> 7 - r = append(r, byte(u) | 0x80) - } - - /* check for last one */ - if v == 0 { - return r - } - - /* add the last one */ - r = append(r, byte(v)) - return r -} - -func registerModule(mod *_ModuleData) { - modLock.Lock() - modList = append(modList, mod) - lastmoduledatap.next = mod - lastmoduledatap = mod - modLock.Unlock() -} - -func stackMap(f interface{}) (args uintptr, locals uintptr) { - fv := reflect.ValueOf(f) - if fv.Kind() != reflect.Func { - panic("f must be reflect.Func kind!") - } - fi := findfunc(fv.Pointer()) - return uintptr(funcdata(fi, uint8(_FUNCDATA_ArgsPointerMaps))), uintptr(funcdata(fi, uint8(_FUNCDATA_LocalsPointerMaps))) -} - -var moduleCache = struct{ - m map[*_ModuleData][]byte - l sync.Mutex -}{ - m : make(map[*_ModuleData][]byte), -} - -func cacheStackmap(argPtrs []bool, localPtrs []bool, mod *_ModuleData) (argptrs uintptr, localptrs uintptr) { - as := rt.StackMapBuilder{} - for _, b := range argPtrs { - as.AddField(b) - } - ab, _ := as.Build().MarshalBinary() - ls := rt.StackMapBuilder{} - for _, b := range localPtrs { - ls.AddField(b) - } - lb, _ := ls.Build().MarshalBinary() - cache := make([]byte, len(ab) + len(lb)) - copy(cache, ab) - copy(cache[len(ab):], lb) - moduleCache.l.Lock() - moduleCache.m[mod] = cache - moduleCache.l.Unlock() - return uintptr(rt.IndexByte(cache, 0)), uintptr(rt.IndexByte(cache, len(ab))) - -} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/loader/funcdata_go115.go b/vendor/github.com/bytedance/sonic/internal/loader/funcdata_go115.go deleted file mode 100644 index b0d2d6c..0000000 --- a/vendor/github.com/bytedance/sonic/internal/loader/funcdata_go115.go +++ /dev/null @@ -1,169 +0,0 @@ -// +build go1.15,!go1.16 - -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package loader - -import ( - `unsafe` - - `github.com/bytedance/sonic/internal/rt` -) - -type _Func struct { - entry uintptr // start pc - nameoff int32 // function name - args int32 // in/out args size - deferreturn uint32 // offset of start of a deferreturn call instruction from entry, if any. - pcsp int32 - pcfile int32 - pcln int32 - npcdata int32 - funcID uint8 // set for certain special runtime functions - _ [2]int8 // unused - nfuncdata uint8 // must be last - argptrs uintptr - localptrs uintptr -} - -type _FuncTab struct { - entry uintptr - funcoff uintptr -} - -type _BitVector struct { - n int32 // # of bits - bytedata *uint8 -} - -type _PtabEntry struct { - name int32 - typ int32 -} - -type _TextSection struct { - vaddr uintptr // prelinked section vaddr - length uintptr // section length - baseaddr uintptr // relocated section address -} - -type _ModuleData struct { - pclntable []byte - ftab []_FuncTab - filetab []uint32 - findfunctab *_FindFuncBucket - minpc, maxpc uintptr - text, etext uintptr - noptrdata, enoptrdata uintptr - data, edata uintptr - bss, ebss uintptr - noptrbss, enoptrbss uintptr - end, gcdata, gcbss uintptr - types, etypes uintptr - textsectmap []_TextSection - typelinks []int32 // offsets from types - itablinks []*rt.GoItab - ptab []_PtabEntry - pluginpath string - pkghashes []byte - modulename string - modulehashes []byte - hasmain uint8 // 1 if module contains the main function, 0 otherwise - gcdatamask, gcbssmask _BitVector - typemap map[int32]*rt.GoType // offset to *_rtype in previous module - bad bool // module failed to load and should be ignored - next *_ModuleData -} - -type _FindFuncBucket struct { - idx uint32 - subbuckets [16]byte -} - -var findFuncTab = &_FindFuncBucket { - idx: 1, -} - -func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argPtrs []bool, localPtrs []bool) { - mod := new(_ModuleData) - minpc := pc - maxpc := pc + size - - /* build the PC & line table */ - pclnt := []byte { - 0xfb, 0xff, 0xff, 0xff, // magic : 0xfffffffb - 0, // pad1 : 0 - 0, // pad2 : 0 - 1, // minLC : 1 - 4 << (^uintptr(0) >> 63), // ptrSize : 4 << (^uintptr(0) >> 63) - } - - // cache arg and local stackmap - argptrs, localptrs := cacheStackmap(argPtrs, localPtrs, mod) - - /* add the function name */ - noff := len(pclnt) - pclnt = append(append(pclnt, name...), 0) - - /* add PCDATA */ - pcsp := len(pclnt) - pclnt = append(pclnt, encodeVariant((fp + 1) << 1)...) - pclnt = append(pclnt, encodeVariant(int(size))...) - - /* function entry */ - fnv := _Func { - entry : pc, - nameoff : int32(noff), - args : int32(args), - pcsp : int32(pcsp), - nfuncdata : 2, - argptrs : uintptr(argptrs), - localptrs : uintptr(localptrs), - } - - /* align the func to 8 bytes */ - if p := len(pclnt) % 8; p != 0 { - pclnt = append(pclnt, make([]byte, 8 - p)...) - } - - /* add the function descriptor */ - foff := len(pclnt) - pclnt = append(pclnt, (*(*[unsafe.Sizeof(_Func{})]byte)(unsafe.Pointer(&fnv)))[:]...) - - /* function table */ - tab := []_FuncTab { - {entry: pc, funcoff: uintptr(foff)}, - {entry: pc, funcoff: uintptr(foff)}, - {entry: maxpc}, - } - - /* module data */ - *mod = _ModuleData { - pclntable : pclnt, - ftab : tab, - findfunctab : findFuncTab, - minpc : minpc, - maxpc : maxpc, - modulename : name, - gcdata: uintptr(unsafe.Pointer(&emptyByte)), - gcbss: uintptr(unsafe.Pointer(&emptyByte)), - } - - /* verify and register the new module */ - moduledataverify1(mod) - registerModule(mod) -} diff --git a/vendor/github.com/bytedance/sonic/internal/loader/funcdata_go116.go b/vendor/github.com/bytedance/sonic/internal/loader/funcdata_go116.go deleted file mode 100644 index f01747f..0000000 --- a/vendor/github.com/bytedance/sonic/internal/loader/funcdata_go116.go +++ /dev/null @@ -1,175 +0,0 @@ -//go:build go1.16 && !go1.18 -// +build go1.16,!go1.18 - -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package loader - -import ( - `unsafe` -) - -type _Func struct { - entry uintptr // start pc - nameoff int32 // function name - args int32 // in/out args size - deferreturn uint32 // offset of start of a deferreturn call instruction from entry, if any. - pcsp uint32 - pcfile uint32 - pcln uint32 - npcdata uint32 - cuOffset uint32 // runtime.cutab offset of this function's CU - funcID uint8 // set for certain special runtime functions - _ [2]byte // pad - nfuncdata uint8 // must be last - argptrs uintptr - localptrs uintptr -} - -type _FuncTab struct { - entry uintptr - funcoff uintptr -} - -type _PCHeader struct { - magic uint32 // 0xFFFFFFFA - pad1, pad2 uint8 // 0,0 - minLC uint8 // min instruction size - ptrSize uint8 // size of a ptr in bytes - nfunc int // number of functions in the module - nfiles uint // number of entries in the file tab. - funcnameOffset uintptr // offset to the funcnametab variable from _PCHeader - cuOffset uintptr // offset to the cutab variable from _PCHeader - filetabOffset uintptr // offset to the filetab variable from _PCHeader - pctabOffset uintptr // offset to the pctab varible from _PCHeader - pclnOffset uintptr // offset to the pclntab variable from _PCHeader -} - -type _BitVector struct { - n int32 // # of bits - bytedata *uint8 -} - -type _PtabEntry struct { - name int32 - typ int32 -} - -type _TextSection struct { - vaddr uintptr // prelinked section vaddr - length uintptr // section length - baseaddr uintptr // relocated section address -} - -type _ModuleData struct { - pcHeader *_PCHeader - funcnametab []byte - cutab []uint32 - filetab []byte - pctab []byte - pclntable []_Func - ftab []_FuncTab - findfunctab *_FindFuncBucket - minpc, maxpc uintptr - text, etext uintptr - noptrdata, enoptrdata uintptr - data, edata uintptr - bss, ebss uintptr - noptrbss, enoptrbss uintptr - end, gcdata, gcbss uintptr - types, etypes uintptr - textsectmap []_TextSection - typelinks []int32 - itablinks []unsafe.Pointer - ptab []_PtabEntry - pluginpath string - pkghashes []struct{} - modulename string - modulehashes []struct{} - hasmain uint8 - gcdatamask, gcbssmask _BitVector - typemap map[int32]unsafe.Pointer - bad bool - next *_ModuleData -} - -type _FindFuncBucket struct { - idx uint32 - subbuckets [16]byte -} - -var modHeader = &_PCHeader { - magic : 0xfffffffa, - minLC : 1, - nfunc : 1, - ptrSize : 4 << (^uintptr(0) >> 63), -} - -var findFuncTab = &_FindFuncBucket { - idx: 1, -} - -func makePCtab(fp int) []byte { - return append([]byte{0}, encodeVariant((fp + 1) << 1)...) -} - -func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argPtrs []bool, localPtrs []bool) { - mod := new(_ModuleData) - - minpc := pc - maxpc := pc + size - - // cache arg and local stackmap - argptrs, localptrs := cacheStackmap(argPtrs, localPtrs, mod) - - /* function entry */ - lnt := []_Func {{ - entry : pc, - nameoff : 1, - args : int32(args), - pcsp : 1, - nfuncdata : 2, - argptrs : uintptr(argptrs), - localptrs : uintptr(localptrs), - }} - - /* function table */ - tab := []_FuncTab { - {entry: pc}, - {entry: pc}, - {entry: maxpc}, - } - - /* module data */ - *mod = _ModuleData { - pcHeader : modHeader, - funcnametab : append(append([]byte{0}, name...), 0), - pctab : append(makePCtab(fp), encodeVariant(int(size))...), - pclntable : lnt, - ftab : tab, - findfunctab : findFuncTab, - minpc : minpc, - maxpc : maxpc, - modulename : name, - gcdata: uintptr(unsafe.Pointer(&emptyByte)), - gcbss: uintptr(unsafe.Pointer(&emptyByte)), - } - - /* verify and register the new module */ - moduledataverify1(mod) - registerModule(mod) -} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/loader/funcdata_go118.go b/vendor/github.com/bytedance/sonic/internal/loader/funcdata_go118.go deleted file mode 100644 index f1d585d..0000000 --- a/vendor/github.com/bytedance/sonic/internal/loader/funcdata_go118.go +++ /dev/null @@ -1,201 +0,0 @@ -// +build go1.18,!go1.20 - -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package loader - -import ( - `unsafe` - - `github.com/bytedance/sonic/internal/rt` -) - -// A FuncFlag holds bits about a function. -// This list must match the list in cmd/internal/objabi/funcid.go. -type funcFlag uint8 - -type _Func struct { - entryOff uint32 // start pc - nameoff int32 // function name - args int32 // in/out args size - deferreturn uint32 // offset of start of a deferreturn call instruction from entry, if any. - pcsp uint32 - pcfile uint32 - pcln uint32 - npcdata uint32 - cuOffset uint32 // runtime.cutab offset of this function's CU - funcID uint8 // set for certain special runtime functions - flag funcFlag - _ [1]byte // pad - nfuncdata uint8 // must be last - argptrs uint32 - localptrs uint32 -} - -type _FuncTab struct { - entry uint32 - funcoff uint32 -} - -type _PCHeader struct { - magic uint32 // 0xFFFFFFF0 - pad1, pad2 uint8 // 0,0 - minLC uint8 // min instruction size - ptrSize uint8 // size of a ptr in bytes - nfunc int // number of functions in the module - nfiles uint // number of entries in the file tab - textStart uintptr // base for function entry PC offsets in this module, equal to moduledata.text - funcnameOffset uintptr // offset to the funcnametab variable from pcHeader - cuOffset uintptr // offset to the cutab variable from pcHeader - filetabOffset uintptr // offset to the filetab variable from pcHeader - pctabOffset uintptr // offset to the pctab variable from pcHeader - pclnOffset uintptr // offset to the pclntab variable from pcHeader -} - -type _BitVector struct { - n int32 // # of bits - bytedata *uint8 -} - -type _PtabEntry struct { - name int32 - typ int32 -} - -type _TextSection struct { - vaddr uintptr // prelinked section vaddr - length uintptr // section length - baseaddr uintptr // relocated section address -} - -type _ModuleData struct { - pcHeader *_PCHeader - funcnametab []byte - cutab []uint32 - filetab []byte - pctab []byte - pclntable []byte - ftab []_FuncTab - findfunctab *_FindFuncBucket - minpc, maxpc uintptr - text, etext uintptr - noptrdata, enoptrdata uintptr - data, edata uintptr - bss, ebss uintptr - noptrbss, enoptrbss uintptr - end, gcdata, gcbss uintptr - types, etypes uintptr - rodata uintptr - gofunc uintptr - textsectmap []_TextSection - typelinks []int32 - itablinks []unsafe.Pointer - ptab []_PtabEntry - pluginpath string - pkghashes []struct{} - modulename string - modulehashes []struct{} - hasmain uint8 - gcdatamask, gcbssmask _BitVector - typemap map[int32]unsafe.Pointer - bad bool - next *_ModuleData -} - - -type _FindFuncBucket struct { - idx uint32 - subbuckets [16]byte -} - - - -func makePCtab(fp int) []byte { - return append([]byte{0}, encodeVariant((fp + 1) << 1)...) -} - -func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argPtrs []bool, localPtrs []bool) { - mod := new(_ModuleData) - - minpc := pc - maxpc := pc + size - - findFuncTab := make([]_FindFuncBucket, textSize/4096 + 1) - - modHeader := &_PCHeader { - magic : 0xfffffff0, - minLC : 1, - nfunc : 1, - ptrSize : 4 << (^uintptr(0) >> 63), - textStart: minpc, - } - - // cache arg and local stackmap - argptrs, localptrs := cacheStackmap(argPtrs, localPtrs, mod) - - base := argptrs - if argptrs > localptrs { - base = localptrs - } - - /* function entry */ - lnt := []_Func {{ - entryOff : 0, - nameoff : 1, - args : int32(args), - pcsp : 1, - nfuncdata : 2, - argptrs: uint32(argptrs - base), - localptrs: uint32(localptrs - base), - }} - nlnt := len(lnt)*int(unsafe.Sizeof(_Func{})) - plnt := unsafe.Pointer(&lnt[0]) - - /* function table */ - ftab := []_FuncTab { - {entry : 0, funcoff : 16}, - {entry : uint32(size)}, - } - nftab := len(ftab)*int(unsafe.Sizeof(_FuncTab{})) - pftab := unsafe.Pointer(&ftab[0]) - - pclntab := make([]byte, 0, nftab + nlnt) - pclntab = append(pclntab, rt.BytesFrom(pftab, nftab, nftab)...) - pclntab = append(pclntab, rt.BytesFrom(plnt, nlnt, nlnt)...) - - /* module data */ - *mod = _ModuleData { - pcHeader : modHeader, - funcnametab : append(append([]byte{0}, name...), 0), - pctab : append(makePCtab(fp), encodeVariant(int(size))...), - pclntable : pclntab, - ftab : ftab, - text : minpc, - etext : pc + textSize, - findfunctab : &findFuncTab[0], - minpc : minpc, - maxpc : maxpc, - modulename : name, - gcdata: uintptr(unsafe.Pointer(&emptyByte)), - gcbss: uintptr(unsafe.Pointer(&emptyByte)), - gofunc: base, - } - - /* verify and register the new module */ - moduledataverify1(mod) - registerModule(mod) -} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/loader/funcdata_go120.go b/vendor/github.com/bytedance/sonic/internal/loader/funcdata_go120.go deleted file mode 100644 index c12f8a7..0000000 --- a/vendor/github.com/bytedance/sonic/internal/loader/funcdata_go120.go +++ /dev/null @@ -1,201 +0,0 @@ -// +build go1.20 - -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package loader - -import ( - `unsafe` - - `github.com/bytedance/sonic/internal/rt` -) - -// A FuncFlag holds bits about a function. -// This list must match the list in cmd/internal/objabi/funcid.go. -type funcFlag uint8 - -type _Func struct { - entryOff uint32 // start pc - nameoff int32 // function name - args int32 // in/out args size - deferreturn uint32 // offset of start of a deferreturn call instruction from entry, if any. - pcsp uint32 - pcfile uint32 - pcln uint32 - npcdata uint32 - cuOffset uint32 // runtime.cutab offset of this function's CU - funcID uint8 // set for certain special runtime functions - flag funcFlag - _ [1]byte // pad - nfuncdata uint8 // must be last - argptrs uint32 - localptrs uint32 -} - -type _FuncTab struct { - entry uint32 - funcoff uint32 -} - -type _PCHeader struct { - magic uint32 // 0xFFFFFFF0 - pad1, pad2 uint8 // 0,0 - minLC uint8 // min instruction size - ptrSize uint8 // size of a ptr in bytes - nfunc int // number of functions in the module - nfiles uint // number of entries in the file tab - textStart uintptr // base for function entry PC offsets in this module, equal to moduledata.text - funcnameOffset uintptr // offset to the funcnametab variable from pcHeader - cuOffset uintptr // offset to the cutab variable from pcHeader - filetabOffset uintptr // offset to the filetab variable from pcHeader - pctabOffset uintptr // offset to the pctab variable from pcHeader - pclnOffset uintptr // offset to the pclntab variable from pcHeader -} - -type _BitVector struct { - n int32 // # of bits - bytedata *uint8 -} - -type _PtabEntry struct { - name int32 - typ int32 -} - -type _TextSection struct { - vaddr uintptr // prelinked section vaddr - length uintptr // section length - baseaddr uintptr // relocated section address -} - -type _ModuleData struct { - pcHeader *_PCHeader - funcnametab []byte - cutab []uint32 - filetab []byte - pctab []byte - pclntable []byte - ftab []_FuncTab - findfunctab *_FindFuncBucket - minpc, maxpc uintptr - text, etext uintptr - noptrdata, enoptrdata uintptr - data, edata uintptr - bss, ebss uintptr - noptrbss, enoptrbss uintptr - end, gcdata, gcbss uintptr - types, etypes uintptr - rodata uintptr - gofunc uintptr - textsectmap []_TextSection - typelinks []int32 - itablinks []unsafe.Pointer - ptab []_PtabEntry - pluginpath string - pkghashes []struct{} - modulename string - modulehashes []struct{} - hasmain uint8 - gcdatamask, gcbssmask _BitVector - typemap map[int32]unsafe.Pointer - bad bool - next *_ModuleData -} - - -type _FindFuncBucket struct { - idx uint32 - subbuckets [16]byte -} - - - -func makePCtab(fp int) []byte { - return append([]byte{0}, encodeVariant((fp + 1) << 1)...) -} - -func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argPtrs []bool, localPtrs []bool) { - mod := new(_ModuleData) - - minpc := pc - maxpc := pc + size - - findFuncTab := make([]_FindFuncBucket, textSize/4096 + 1) - - modHeader := &_PCHeader { - magic : 0xfffffff0, - minLC : 1, - nfunc : 1, - ptrSize : 4 << (^uintptr(0) >> 63), - textStart: minpc, - } - - // cache arg and local stackmap - argptrs, localptrs := cacheStackmap(argPtrs, localPtrs, mod) - - base := argptrs - if argptrs > localptrs { - base = localptrs - } - - /* function entry */ - lnt := []_Func {{ - entryOff : 0, - nameoff : 1, - args : int32(args), - pcsp : 1, - nfuncdata : 2, - argptrs: uint32(argptrs - base), - localptrs: uint32(localptrs - base), - }} - nlnt := len(lnt)*int(unsafe.Sizeof(_Func{})) - plnt := unsafe.Pointer(&lnt[0]) - - /* function table */ - ftab := []_FuncTab { - {entry : 0, funcoff : 16}, - {entry : uint32(size)}, - } - nftab := len(ftab)*int(unsafe.Sizeof(_FuncTab{})) - pftab := unsafe.Pointer(&ftab[0]) - - pclntab := make([]byte, 0, nftab + nlnt) - pclntab = append(pclntab, rt.BytesFrom(pftab, nftab, nftab)...) - pclntab = append(pclntab, rt.BytesFrom(plnt, nlnt, nlnt)...) - - /* module data */ - *mod = _ModuleData { - pcHeader : modHeader, - funcnametab : append(append([]byte{0}, name...), 0), - pctab : append(makePCtab(fp), encodeVariant(int(size))...), - pclntable : pclntab, - ftab : ftab, - text : minpc, - etext : pc + textSize, - findfunctab : &findFuncTab[0], - minpc : minpc, - maxpc : maxpc, - modulename : name, - gcdata: uintptr(unsafe.Pointer(&emptyByte)), - gcbss: uintptr(unsafe.Pointer(&emptyByte)), - gofunc: base, - } - - /* verify and register the new module */ - moduledataverify1(mod) - registerModule(mod) -} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/loader/loader.go b/vendor/github.com/bytedance/sonic/internal/loader/loader.go deleted file mode 100644 index 6446a5f..0000000 --- a/vendor/github.com/bytedance/sonic/internal/loader/loader.go +++ /dev/null @@ -1,74 +0,0 @@ -//go:build darwin || linux -// +build darwin linux - -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package loader - -import ( - `fmt` - `os` - `reflect` - `syscall` - `unsafe` -) - -const ( - _AP = syscall.MAP_ANON | syscall.MAP_PRIVATE - _RX = syscall.PROT_READ | syscall.PROT_EXEC - _RW = syscall.PROT_READ | syscall.PROT_WRITE -) - -type Loader []byte -type Function unsafe.Pointer - -func (self Loader) Load(fn string, fp int, args int, argPtrs []bool, localPtrs []bool) (f Function) { - p := os.Getpagesize() - n := (((len(self) - 1) / p) + 1) * p - - /* register the function */ - m := mmap(n) - v := fmt.Sprintf("runtime.__%s_%x", fn, m) - - registerFunction(v, m, uintptr(n), fp, args, uintptr(len(self)), argPtrs, localPtrs) - - /* reference as a slice */ - s := *(*[]byte)(unsafe.Pointer(&reflect.SliceHeader { - Data : m, - Cap : n, - Len : len(self), - })) - - /* copy the machine code, and make it executable */ - copy(s, self) - mprotect(m, n) - return Function(&m) -} - -func mmap(nb int) uintptr { - if m, _, e := syscall.RawSyscall6(syscall.SYS_MMAP, 0, uintptr(nb), _RW, _AP, 0, 0); e != 0 { - panic(e) - } else { - return m - } -} - -func mprotect(p uintptr, nb int) { - if _, _, err := syscall.RawSyscall(syscall.SYS_MPROTECT, p, uintptr(nb), _RX); err != 0 { - panic(err) - } -} diff --git a/vendor/github.com/bytedance/sonic/internal/loader/loader_windows.go b/vendor/github.com/bytedance/sonic/internal/loader/loader_windows.go deleted file mode 100644 index 4053ee9..0000000 --- a/vendor/github.com/bytedance/sonic/internal/loader/loader_windows.go +++ /dev/null @@ -1,111 +0,0 @@ -//go:build windows -// +build windows - -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package loader - -import ( - `fmt` - `os` - `reflect` - `syscall` - `unsafe` -) - -const ( - MEM_COMMIT = 0x00001000 - MEM_RESERVE = 0x00002000 -) - -var ( - libKernel32 = syscall.NewLazyDLL("KERNEL32.DLL") - libKernel32_VirtualAlloc = libKernel32.NewProc("VirtualAlloc") - libKernel32_VirtualProtect = libKernel32.NewProc("VirtualProtect") -) - -type Loader []byte -type Function unsafe.Pointer - -func (self Loader) Load(fn string, fp int, args int, argPtrs []bool, localPtrs []bool) (f Function) { - p := os.Getpagesize() - n := (((len(self) - 1) / p) + 1) * p - - /* register the function */ - m := mmap(n) - v := fmt.Sprintf("runtime.__%s_%x", fn, m) - - registerFunction(v, m, uintptr(n), fp, args, uintptr(len(self)), argPtrs, localPtrs) - - /* reference as a slice */ - s := *(*[]byte)(unsafe.Pointer(&reflect.SliceHeader { - Data : m, - Cap : n, - Len : len(self), - })) - - /* copy the machine code, and make it executable */ - copy(s, self) - mprotect(m, n) - return Function(&m) -} - -func mmap(nb int) uintptr { - addr, err := winapi_VirtualAlloc(0, nb, MEM_COMMIT|MEM_RESERVE, syscall.PAGE_READWRITE) - if err != nil { - panic(err) - } - return addr -} - -func mprotect(p uintptr, nb int) (oldProtect int) { - err := winapi_VirtualProtect(p, nb, syscall.PAGE_EXECUTE_READ, &oldProtect) - if err != nil { - panic(err) - } - return -} - -// winapi_VirtualAlloc allocate memory -// Doc: https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualalloc -func winapi_VirtualAlloc(lpAddr uintptr, dwSize int, flAllocationType int, flProtect int) (uintptr, error) { - r1, _, err := libKernel32_VirtualAlloc.Call( - lpAddr, - uintptr(dwSize), - uintptr(flAllocationType), - uintptr(flProtect), - ) - if r1 == 0 { - return 0, err - } - return r1, nil -} - -// winapi_VirtualProtect change memory protection -// Doc: https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualprotect -func winapi_VirtualProtect(lpAddr uintptr, dwSize int, flNewProtect int, lpflOldProtect *int) error { - r1, _, err := libKernel32_VirtualProtect.Call( - lpAddr, - uintptr(dwSize), - uintptr(flNewProtect), - uintptr(unsafe.Pointer(lpflOldProtect)), - ) - if r1 == 0 { - return err - } - return nil -} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/f32toa.go b/vendor/github.com/bytedance/sonic/internal/native/avx/f32toa.go new file mode 100644 index 0000000..b1c3f75 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/f32toa.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_f32toa func(out *byte, val float32) (ret int) + +var S_f32toa uintptr + +//go:nosplit +func f32toa(out *byte, val float32) (ret int) { + return F_f32toa((*byte)(rt.NoEscape(unsafe.Pointer(out))), val) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/f32toa_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/f32toa_subr.go new file mode 100644 index 0000000..6c95bd9 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/f32toa_subr.go @@ -0,0 +1,44 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__f32toa = 32 +) + +const ( + _stack__f32toa = 48 +) + +const ( + _size__f32toa = 3392 +) + +var ( + _pcsp__f32toa = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {3350, 48}, + {3351, 40}, + {3353, 32}, + {3355, 24}, + {3357, 16}, + {3359, 8}, + {3363, 0}, + {3385, 48}, + } +) + +var _cfunc_f32toa = []loader.CFunc{ + {"_f32toa_entry", 0, _entry__f32toa, 0, nil}, + {"_f32toa", _entry__f32toa, _size__f32toa, _stack__f32toa, _pcsp__f32toa}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/f32toa_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/f32toa_text_amd64.go new file mode 100644 index 0000000..c7aa104 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/f32toa_text_amd64.go @@ -0,0 +1,964 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_f32toa = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, // QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, //0x00000010 QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + //0x00000020 .p2align 4, 0x90 + //0x00000020 _f32toa + 0x55, //0x00000020 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000021 movq %rsp, %rbp + 0x41, 0x57, //0x00000024 pushq %r15 + 0x41, 0x56, //0x00000026 pushq %r14 + 0x41, 0x55, //0x00000028 pushq %r13 + 0x41, 0x54, //0x0000002a pushq %r12 + 0x53, //0x0000002c pushq %rbx + 0xc5, 0xf9, 0x7e, 0xc0, //0x0000002d vmovd %xmm0, %eax + 0x89, 0xc1, //0x00000031 movl %eax, %ecx + 0xc1, 0xe9, 0x17, //0x00000033 shrl $23, %ecx + 0x0f, 0xb6, 0xd9, //0x00000036 movzbl %cl, %ebx + 0x81, 0xfb, 0xff, 0x00, 0x00, 0x00, //0x00000039 cmpl $255, %ebx + 0x0f, 0x84, 0xff, 0x0c, 0x00, 0x00, //0x0000003f je LBB0_139 + 0xc6, 0x07, 0x2d, //0x00000045 movb $45, (%rdi) + 0x41, 0x89, 0xc1, //0x00000048 movl %eax, %r9d + 0x41, 0xc1, 0xe9, 0x1f, //0x0000004b shrl $31, %r9d + 0x4e, 0x8d, 0x04, 0x0f, //0x0000004f leaq (%rdi,%r9), %r8 + 0xa9, 0xff, 0xff, 0xff, 0x7f, //0x00000053 testl $2147483647, %eax + 0x0f, 0x84, 0xc6, 0x01, 0x00, 0x00, //0x00000058 je LBB0_14 + 0x25, 0xff, 0xff, 0x7f, 0x00, //0x0000005e andl $8388607, %eax + 0x85, 0xdb, //0x00000063 testl %ebx, %ebx + 0x0f, 0x84, 0xe1, 0x0c, 0x00, 0x00, //0x00000065 je LBB0_140 + 0x8d, 0xb0, 0x00, 0x00, 0x80, 0x00, //0x0000006b leal $8388608(%rax), %esi + 0x44, 0x8d, 0xbb, 0x6a, 0xff, 0xff, 0xff, //0x00000071 leal $-150(%rbx), %r15d + 0x8d, 0x4b, 0x81, //0x00000078 leal $-127(%rbx), %ecx + 0x83, 0xf9, 0x17, //0x0000007b cmpl $23, %ecx + 0x0f, 0x87, 0x1b, 0x00, 0x00, 0x00, //0x0000007e ja LBB0_5 + 0xb9, 0x96, 0x00, 0x00, 0x00, //0x00000084 movl $150, %ecx + 0x29, 0xd9, //0x00000089 subl %ebx, %ecx + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000008b movq $-1, %rdx + 0x48, 0xd3, 0xe2, //0x00000092 shlq %cl, %rdx + 0xf7, 0xd2, //0x00000095 notl %edx + 0x85, 0xf2, //0x00000097 testl %esi, %edx + 0x0f, 0x84, 0x12, 0x04, 0x00, 0x00, //0x00000099 je LBB0_32 + //0x0000009f LBB0_5 + 0x41, 0x89, 0xf6, //0x0000009f movl %esi, %r14d + 0x41, 0x83, 0xe6, 0x01, //0x000000a2 andl $1, %r14d + 0x85, 0xc0, //0x000000a6 testl %eax, %eax + 0x0f, 0x94, 0xc0, //0x000000a8 sete %al + 0x83, 0xfb, 0x01, //0x000000ab cmpl $1, %ebx + 0x0f, 0x97, 0xc1, //0x000000ae seta %cl + 0x20, 0xc1, //0x000000b1 andb %al, %cl + 0x0f, 0xb6, 0xc9, //0x000000b3 movzbl %cl, %ecx + 0x41, 0x89, 0xf2, //0x000000b6 movl %esi, %r10d + 0x41, 0xc1, 0xe2, 0x02, //0x000000b9 shll $2, %r10d + 0x8d, 0x44, 0xb1, 0xfe, //0x000000bd leal $-2(%rcx,%rsi,4), %eax + 0x45, 0x69, 0xdf, 0x13, 0x44, 0x13, 0x00, //0x000000c1 imull $1262611, %r15d, %r11d + 0x31, 0xd2, //0x000000c8 xorl %edx, %edx + 0x84, 0xc9, //0x000000ca testb %cl, %cl + 0xb9, 0xff, 0xfe, 0x07, 0x00, //0x000000cc movl $524031, %ecx + 0x0f, 0x44, 0xca, //0x000000d1 cmovel %edx, %ecx + 0x41, 0x29, 0xcb, //0x000000d4 subl %ecx, %r11d + 0x41, 0xc1, 0xfb, 0x16, //0x000000d7 sarl $22, %r11d + 0x41, 0x69, 0xcb, 0xb1, 0x6c, 0xe5, 0xff, //0x000000db imull $-1741647, %r11d, %ecx + 0xc1, 0xe9, 0x13, //0x000000e2 shrl $19, %ecx + 0x44, 0x01, 0xf9, //0x000000e5 addl %r15d, %ecx + 0xba, 0x1f, 0x00, 0x00, 0x00, //0x000000e8 movl $31, %edx + 0x44, 0x29, 0xda, //0x000000ed subl %r11d, %edx + 0x48, 0x63, 0xd2, //0x000000f0 movslq %edx, %rdx + 0x48, 0x8d, 0x1d, 0x36, 0x0d, 0x00, 0x00, //0x000000f3 leaq $3382(%rip), %rbx /* _pow10_ceil_sig_f32.g+0(%rip) */ + 0xfe, 0xc1, //0x000000fa incb %cl + 0xd3, 0xe0, //0x000000fc shll %cl, %eax + 0x4c, 0x8b, 0x24, 0xd3, //0x000000fe movq (%rbx,%rdx,8), %r12 + 0x49, 0xf7, 0xe4, //0x00000102 mulq %r12 + 0x48, 0xc1, 0xe8, 0x20, //0x00000105 shrq $32, %rax + 0x31, 0xdb, //0x00000109 xorl %ebx, %ebx + 0x83, 0xf8, 0x01, //0x0000010b cmpl $1, %eax + 0x0f, 0x97, 0xc3, //0x0000010e seta %bl + 0x41, 0xd3, 0xe2, //0x00000111 shll %cl, %r10d + 0x09, 0xd3, //0x00000114 orl %edx, %ebx + 0x4c, 0x89, 0xd0, //0x00000116 movq %r10, %rax + 0x49, 0xf7, 0xe4, //0x00000119 mulq %r12 + 0x49, 0x89, 0xd2, //0x0000011c movq %rdx, %r10 + 0x48, 0xc1, 0xe8, 0x20, //0x0000011f shrq $32, %rax + 0x45, 0x31, 0xff, //0x00000123 xorl %r15d, %r15d + 0x83, 0xf8, 0x01, //0x00000126 cmpl $1, %eax + 0x41, 0x0f, 0x97, 0xc7, //0x00000129 seta %r15b + 0x8d, 0x04, 0xb5, 0x02, 0x00, 0x00, 0x00, //0x0000012d leal $2(,%rsi,4), %eax + 0xd3, 0xe0, //0x00000134 shll %cl, %eax + 0x45, 0x09, 0xd7, //0x00000136 orl %r10d, %r15d + 0x49, 0xf7, 0xe4, //0x00000139 mulq %r12 + 0x48, 0xc1, 0xe8, 0x20, //0x0000013c shrq $32, %rax + 0x31, 0xc9, //0x00000140 xorl %ecx, %ecx + 0x83, 0xf8, 0x01, //0x00000142 cmpl $1, %eax + 0x0f, 0x97, 0xc1, //0x00000145 seta %cl + 0x09, 0xd1, //0x00000148 orl %edx, %ecx + 0x44, 0x01, 0xf3, //0x0000014a addl %r14d, %ebx + 0x44, 0x29, 0xf1, //0x0000014d subl %r14d, %ecx + 0x41, 0x83, 0xff, 0x28, //0x00000150 cmpl $40, %r15d + 0x0f, 0x82, 0x9a, 0x00, 0x00, 0x00, //0x00000154 jb LBB0_12 + 0x44, 0x89, 0xd2, //0x0000015a movl %r10d, %edx + 0xb8, 0xcd, 0xcc, 0xcc, 0xcc, //0x0000015d movl $3435973837, %eax + 0x48, 0x0f, 0xaf, 0xc2, //0x00000162 imulq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x25, //0x00000166 shrq $37, %rax + 0x41, 0x89, 0xde, //0x0000016a movl %ebx, %r14d + 0x48, 0x8d, 0x34, 0xc5, 0x00, 0x00, 0x00, 0x00, //0x0000016d leaq (,%rax,8), %rsi + 0x48, 0x8d, 0x14, 0xb6, //0x00000175 leaq (%rsi,%rsi,4), %rdx + 0x4c, 0x39, 0xf2, //0x00000179 cmpq %r14, %rdx + 0x41, 0x0f, 0x93, 0xc4, //0x0000017c setae %r12b + 0x4c, 0x8d, 0x74, 0xb6, 0x28, //0x00000180 leaq $40(%rsi,%rsi,4), %r14 + 0x89, 0xce, //0x00000185 movl %ecx, %esi + 0x49, 0x39, 0xf6, //0x00000187 cmpq %rsi, %r14 + 0x0f, 0x96, 0xc2, //0x0000018a setbe %dl + 0x41, 0x38, 0xd4, //0x0000018d cmpb %dl, %r12b + 0x0f, 0x84, 0x5e, 0x00, 0x00, 0x00, //0x00000190 je LBB0_12 + 0x45, 0x31, 0xed, //0x00000196 xorl %r13d, %r13d + 0x49, 0x39, 0xf6, //0x00000199 cmpq %rsi, %r14 + 0x41, 0x0f, 0x96, 0xc5, //0x0000019c setbe %r13b + 0x41, 0x01, 0xc5, //0x000001a0 addl %eax, %r13d + 0x41, 0xff, 0xc3, //0x000001a3 incl %r11d + 0x41, 0x81, 0xfd, 0xa0, 0x86, 0x01, 0x00, //0x000001a6 cmpl $100000, %r13d + 0x0f, 0x83, 0xb0, 0x00, 0x00, 0x00, //0x000001ad jae LBB0_18 + //0x000001b3 LBB0_8 + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000001b3 movl $1, %eax + 0x41, 0x83, 0xfd, 0x0a, //0x000001b8 cmpl $10, %r13d + 0x0f, 0x82, 0xd4, 0x00, 0x00, 0x00, //0x000001bc jb LBB0_22 + 0xb8, 0x02, 0x00, 0x00, 0x00, //0x000001c2 movl $2, %eax + 0x41, 0x83, 0xfd, 0x64, //0x000001c7 cmpl $100, %r13d + 0x0f, 0x82, 0xc5, 0x00, 0x00, 0x00, //0x000001cb jb LBB0_22 + 0xb8, 0x03, 0x00, 0x00, 0x00, //0x000001d1 movl $3, %eax + 0x41, 0x81, 0xfd, 0xe8, 0x03, 0x00, 0x00, //0x000001d6 cmpl $1000, %r13d + 0x0f, 0x82, 0xb3, 0x00, 0x00, 0x00, //0x000001dd jb LBB0_22 + 0x41, 0x81, 0xfd, 0x10, 0x27, 0x00, 0x00, //0x000001e3 cmpl $10000, %r13d + 0xb8, 0x05, 0x00, 0x00, 0x00, //0x000001ea movl $5, %eax + 0xe9, 0x9f, 0x00, 0x00, 0x00, //0x000001ef jmp LBB0_21 + //0x000001f4 LBB0_12 + 0x4d, 0x89, 0xd6, //0x000001f4 movq %r10, %r14 + 0x49, 0xc1, 0xee, 0x02, //0x000001f7 shrq $2, %r14 + 0x44, 0x89, 0xd6, //0x000001fb movl %r10d, %esi + 0x83, 0xe6, 0xfc, //0x000001fe andl $-4, %esi + 0x39, 0xf3, //0x00000201 cmpl %esi, %ebx + 0x0f, 0x96, 0xc2, //0x00000203 setbe %dl + 0x8d, 0x5e, 0x04, //0x00000206 leal $4(%rsi), %ebx + 0x39, 0xcb, //0x00000209 cmpl %ecx, %ebx + 0x0f, 0x96, 0xc0, //0x0000020b setbe %al + 0x38, 0xc2, //0x0000020e cmpb %al, %dl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x00000210 je LBB0_15 + 0x45, 0x31, 0xed, //0x00000216 xorl %r13d, %r13d + 0x39, 0xcb, //0x00000219 cmpl %ecx, %ebx + 0x41, 0x0f, 0x96, 0xc5, //0x0000021b setbe %r13b + 0xe9, 0x2f, 0x00, 0x00, 0x00, //0x0000021f jmp LBB0_17 + //0x00000224 LBB0_14 + 0x41, 0xc6, 0x00, 0x30, //0x00000224 movb $48, (%r8) + 0x41, 0x29, 0xf8, //0x00000228 subl %edi, %r8d + 0x41, 0xff, 0xc0, //0x0000022b incl %r8d + 0xe9, 0x00, 0x0b, 0x00, 0x00, //0x0000022e jmp LBB0_138 + //0x00000233 LBB0_15 + 0x83, 0xce, 0x02, //0x00000233 orl $2, %esi + 0x41, 0xbd, 0x01, 0x00, 0x00, 0x00, //0x00000236 movl $1, %r13d + 0x41, 0x39, 0xf7, //0x0000023c cmpl %esi, %r15d + 0x0f, 0x87, 0x0e, 0x00, 0x00, 0x00, //0x0000023f ja LBB0_17 + 0x0f, 0x94, 0xc0, //0x00000245 sete %al + 0x41, 0xc0, 0xea, 0x02, //0x00000248 shrb $2, %r10b + 0x41, 0x20, 0xc2, //0x0000024c andb %al, %r10b + 0x45, 0x0f, 0xb6, 0xea, //0x0000024f movzbl %r10b, %r13d + //0x00000253 LBB0_17 + 0x45, 0x01, 0xf5, //0x00000253 addl %r14d, %r13d + 0x41, 0x81, 0xfd, 0xa0, 0x86, 0x01, 0x00, //0x00000256 cmpl $100000, %r13d + 0x0f, 0x82, 0x50, 0xff, 0xff, 0xff, //0x0000025d jb LBB0_8 + //0x00000263 LBB0_18 + 0xb8, 0x06, 0x00, 0x00, 0x00, //0x00000263 movl $6, %eax + 0x41, 0x81, 0xfd, 0x40, 0x42, 0x0f, 0x00, //0x00000268 cmpl $1000000, %r13d + 0x0f, 0x82, 0x21, 0x00, 0x00, 0x00, //0x0000026f jb LBB0_22 + 0xb8, 0x07, 0x00, 0x00, 0x00, //0x00000275 movl $7, %eax + 0x41, 0x81, 0xfd, 0x80, 0x96, 0x98, 0x00, //0x0000027a cmpl $10000000, %r13d + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x00000281 jb LBB0_22 + 0x41, 0x81, 0xfd, 0x00, 0xe1, 0xf5, 0x05, //0x00000287 cmpl $100000000, %r13d + 0xb8, 0x09, 0x00, 0x00, 0x00, //0x0000028e movl $9, %eax + //0x00000293 LBB0_21 + 0x83, 0xd8, 0x00, //0x00000293 sbbl $0, %eax + //0x00000296 LBB0_22 + 0x46, 0x8d, 0x3c, 0x18, //0x00000296 leal (%rax,%r11), %r15d + 0x42, 0x8d, 0x4c, 0x18, 0x05, //0x0000029a leal $5(%rax,%r11), %ecx + 0x83, 0xf9, 0x1b, //0x0000029f cmpl $27, %ecx + 0x0f, 0x82, 0x77, 0x00, 0x00, 0x00, //0x000002a2 jb LBB0_26 + 0x89, 0xc0, //0x000002a8 movl %eax, %eax + 0x49, 0x8d, 0x5c, 0x00, 0x01, //0x000002aa leaq $1(%r8,%rax), %rbx + 0x41, 0x81, 0xfd, 0x10, 0x27, 0x00, 0x00, //0x000002af cmpl $10000, %r13d + 0x0f, 0x82, 0xd9, 0x00, 0x00, 0x00, //0x000002b6 jb LBB0_30 + 0x44, 0x89, 0xe8, //0x000002bc movl %r13d, %eax + 0x41, 0xbb, 0x59, 0x17, 0xb7, 0xd1, //0x000002bf movl $3518437209, %r11d + 0x4c, 0x0f, 0xaf, 0xd8, //0x000002c5 imulq %rax, %r11 + 0x49, 0xc1, 0xeb, 0x2d, //0x000002c9 shrq $45, %r11 + 0x41, 0x69, 0xc3, 0xf0, 0xd8, 0xff, 0xff, //0x000002cd imull $-10000, %r11d, %eax + 0x44, 0x01, 0xe8, //0x000002d4 addl %r13d, %eax + 0x0f, 0x84, 0xb3, 0x04, 0x00, 0x00, //0x000002d7 je LBB0_62 + 0x89, 0xc1, //0x000002dd movl %eax, %ecx + 0x48, 0x69, 0xc9, 0x1f, 0x85, 0xeb, 0x51, //0x000002df imulq $1374389535, %rcx, %rcx + 0x48, 0xc1, 0xe9, 0x25, //0x000002e6 shrq $37, %rcx + 0x6b, 0xd1, 0x64, //0x000002ea imull $100, %ecx, %edx + 0x29, 0xd0, //0x000002ed subl %edx, %eax + 0x48, 0x8d, 0x15, 0x6a, 0x0a, 0x00, 0x00, //0x000002ef leaq $2666(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x42, //0x000002f6 movzwl (%rdx,%rax,2), %eax + 0x66, 0x89, 0x43, 0xfe, //0x000002fa movw %ax, $-2(%rbx) + 0x0f, 0xb7, 0x04, 0x4a, //0x000002fe movzwl (%rdx,%rcx,2), %eax + 0x66, 0x89, 0x43, 0xfc, //0x00000302 movw %ax, $-4(%rbx) + 0x45, 0x31, 0xc9, //0x00000306 xorl %r9d, %r9d + 0x48, 0x8d, 0x4b, 0xfc, //0x00000309 leaq $-4(%rbx), %rcx + 0x41, 0x83, 0xfb, 0x64, //0x0000030d cmpl $100, %r11d + 0x0f, 0x83, 0x91, 0x00, 0x00, 0x00, //0x00000311 jae LBB0_64 + //0x00000317 LBB0_31 + 0x44, 0x89, 0xda, //0x00000317 movl %r11d, %edx + 0xe9, 0xd4, 0x00, 0x00, 0x00, //0x0000031a jmp LBB0_66 + //0x0000031f LBB0_26 + 0x41, 0x89, 0xc4, //0x0000031f movl %eax, %r12d + 0x45, 0x85, 0xdb, //0x00000322 testl %r11d, %r11d + 0x0f, 0x88, 0x1d, 0x02, 0x00, 0x00, //0x00000325 js LBB0_38 + 0x4b, 0x8d, 0x34, 0x20, //0x0000032b leaq (%r8,%r12), %rsi + 0x41, 0x81, 0xfd, 0x10, 0x27, 0x00, 0x00, //0x0000032f cmpl $10000, %r13d + 0x0f, 0x82, 0xa7, 0x02, 0x00, 0x00, //0x00000336 jb LBB0_43 + 0x44, 0x89, 0xe8, //0x0000033c movl %r13d, %eax + 0xb9, 0x59, 0x17, 0xb7, 0xd1, //0x0000033f movl $3518437209, %ecx + 0x48, 0x0f, 0xaf, 0xc8, //0x00000344 imulq %rax, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x00000348 shrq $45, %rcx + 0x69, 0xc1, 0xf0, 0xd8, 0xff, 0xff, //0x0000034c imull $-10000, %ecx, %eax + 0x44, 0x01, 0xe8, //0x00000352 addl %r13d, %eax + 0x48, 0x69, 0xd0, 0x1f, 0x85, 0xeb, 0x51, //0x00000355 imulq $1374389535, %rax, %rdx + 0x48, 0xc1, 0xea, 0x25, //0x0000035c shrq $37, %rdx + 0x6b, 0xda, 0x64, //0x00000360 imull $100, %edx, %ebx + 0x29, 0xd8, //0x00000363 subl %ebx, %eax + 0x48, 0x8d, 0x1d, 0xf4, 0x09, 0x00, 0x00, //0x00000365 leaq $2548(%rip), %rbx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x43, //0x0000036c movzwl (%rbx,%rax,2), %eax + 0x66, 0x89, 0x46, 0xfe, //0x00000370 movw %ax, $-2(%rsi) + 0x48, 0x8d, 0x46, 0xfc, //0x00000374 leaq $-4(%rsi), %rax + 0x0f, 0xb7, 0x14, 0x53, //0x00000378 movzwl (%rbx,%rdx,2), %edx + 0x66, 0x89, 0x56, 0xfc, //0x0000037c movw %dx, $-4(%rsi) + 0x41, 0x89, 0xcd, //0x00000380 movl %ecx, %r13d + 0x41, 0x83, 0xfd, 0x64, //0x00000383 cmpl $100, %r13d + 0x0f, 0x83, 0x63, 0x02, 0x00, 0x00, //0x00000387 jae LBB0_44 + //0x0000038d LBB0_29 + 0x44, 0x89, 0xe9, //0x0000038d movl %r13d, %ecx + 0xe9, 0x9e, 0x02, 0x00, 0x00, //0x00000390 jmp LBB0_46 + //0x00000395 LBB0_30 + 0x45, 0x31, 0xc9, //0x00000395 xorl %r9d, %r9d + 0x48, 0x89, 0xd9, //0x00000398 movq %rbx, %rcx + 0x45, 0x89, 0xeb, //0x0000039b movl %r13d, %r11d + 0x41, 0x83, 0xfb, 0x64, //0x0000039e cmpl $100, %r11d + 0x0f, 0x82, 0x6f, 0xff, 0xff, 0xff, //0x000003a2 jb LBB0_31 + //0x000003a8 LBB0_64 + 0x48, 0xff, 0xc9, //0x000003a8 decq %rcx + 0x4c, 0x8d, 0x15, 0xae, 0x09, 0x00, 0x00, //0x000003ab leaq $2478(%rip), %r10 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003b2 .p2align 4, 0x90 + //0x000003c0 LBB0_65 + 0x44, 0x89, 0xda, //0x000003c0 movl %r11d, %edx + 0x48, 0x69, 0xd2, 0x1f, 0x85, 0xeb, 0x51, //0x000003c3 imulq $1374389535, %rdx, %rdx + 0x48, 0xc1, 0xea, 0x25, //0x000003ca shrq $37, %rdx + 0x6b, 0xc2, 0x64, //0x000003ce imull $100, %edx, %eax + 0x44, 0x89, 0xde, //0x000003d1 movl %r11d, %esi + 0x29, 0xc6, //0x000003d4 subl %eax, %esi + 0x41, 0x0f, 0xb7, 0x04, 0x72, //0x000003d6 movzwl (%r10,%rsi,2), %eax + 0x66, 0x89, 0x41, 0xff, //0x000003db movw %ax, $-1(%rcx) + 0x48, 0x83, 0xc1, 0xfe, //0x000003df addq $-2, %rcx + 0x41, 0x81, 0xfb, 0x0f, 0x27, 0x00, 0x00, //0x000003e3 cmpl $9999, %r11d + 0x41, 0x89, 0xd3, //0x000003ea movl %edx, %r11d + 0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x000003ed ja LBB0_65 + //0x000003f3 LBB0_66 + 0x49, 0x8d, 0x70, 0x01, //0x000003f3 leaq $1(%r8), %rsi + 0x83, 0xfa, 0x0a, //0x000003f7 cmpl $10, %edx + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x000003fa jb LBB0_68 + 0x89, 0xd0, //0x00000400 movl %edx, %eax + 0x48, 0x8d, 0x0d, 0x57, 0x09, 0x00, 0x00, //0x00000402 leaq $2391(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x00000409 movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x0000040c movb $1(%rcx,%rax,2), %al + 0x41, 0x88, 0x50, 0x01, //0x00000410 movb %dl, $1(%r8) + 0x41, 0x88, 0x40, 0x02, //0x00000414 movb %al, $2(%r8) + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00000418 jmp LBB0_69 + //0x0000041d LBB0_68 + 0x80, 0xc2, 0x30, //0x0000041d addb $48, %dl + 0x88, 0x16, //0x00000420 movb %dl, (%rsi) + //0x00000422 LBB0_69 + 0x4c, 0x29, 0xcb, //0x00000422 subq %r9, %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000425 .p2align 4, 0x90 + //0x00000430 LBB0_70 + 0x80, 0x7b, 0xff, 0x30, //0x00000430 cmpb $48, $-1(%rbx) + 0x48, 0x8d, 0x5b, 0xff, //0x00000434 leaq $-1(%rbx), %rbx + 0x0f, 0x84, 0xf2, 0xff, 0xff, 0xff, //0x00000438 je LBB0_70 + 0x41, 0x88, 0x10, //0x0000043e movb %dl, (%r8) + 0x48, 0x8d, 0x43, 0x01, //0x00000441 leaq $1(%rbx), %rax + 0x48, 0x89, 0xc1, //0x00000445 movq %rax, %rcx + 0x48, 0x29, 0xf1, //0x00000448 subq %rsi, %rcx + 0x48, 0x83, 0xf9, 0x02, //0x0000044b cmpq $2, %rcx + 0x0f, 0x8c, 0x06, 0x00, 0x00, 0x00, //0x0000044f jl LBB0_73 + 0xc6, 0x06, 0x2e, //0x00000455 movb $46, (%rsi) + 0x48, 0x89, 0xc3, //0x00000458 movq %rax, %rbx + //0x0000045b LBB0_73 + 0xc6, 0x03, 0x65, //0x0000045b movb $101, (%rbx) + 0x45, 0x85, 0xff, //0x0000045e testl %r15d, %r15d + 0x0f, 0x8e, 0x41, 0x01, 0x00, 0x00, //0x00000461 jle LBB0_76 + 0x41, 0xff, 0xcf, //0x00000467 decl %r15d + 0xc6, 0x43, 0x01, 0x2b, //0x0000046a movb $43, $1(%rbx) + 0x44, 0x89, 0xf8, //0x0000046e movl %r15d, %eax + 0x83, 0xf8, 0x64, //0x00000471 cmpl $100, %eax + 0x0f, 0x8c, 0x43, 0x01, 0x00, 0x00, //0x00000474 jl LBB0_77 + //0x0000047a LBB0_75 + 0x89, 0xc1, //0x0000047a movl %eax, %ecx + 0xba, 0xcd, 0xcc, 0xcc, 0xcc, //0x0000047c movl $3435973837, %edx + 0x48, 0x0f, 0xaf, 0xd1, //0x00000481 imulq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x23, //0x00000485 shrq $35, %rdx + 0x8d, 0x0c, 0x12, //0x00000489 leal (%rdx,%rdx), %ecx + 0x8d, 0x0c, 0x89, //0x0000048c leal (%rcx,%rcx,4), %ecx + 0x29, 0xc8, //0x0000048f subl %ecx, %eax + 0x48, 0x8d, 0x0d, 0xc8, 0x08, 0x00, 0x00, //0x00000491 leaq $2248(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x51, //0x00000498 movzwl (%rcx,%rdx,2), %ecx + 0x66, 0x89, 0x4b, 0x02, //0x0000049c movw %cx, $2(%rbx) + 0x0c, 0x30, //0x000004a0 orb $48, %al + 0x88, 0x43, 0x04, //0x000004a2 movb %al, $4(%rbx) + 0x48, 0x83, 0xc3, 0x05, //0x000004a5 addq $5, %rbx + 0x49, 0x89, 0xd8, //0x000004a9 movq %rbx, %r8 + 0xe9, 0x7f, 0x08, 0x00, 0x00, //0x000004ac jmp LBB0_137 + //0x000004b1 LBB0_32 + 0xd3, 0xee, //0x000004b1 shrl %cl, %esi + 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x000004b3 cmpl $100000, %esi + 0x0f, 0x82, 0x1a, 0x02, 0x00, 0x00, //0x000004b9 jb LBB0_52 + 0xb8, 0x06, 0x00, 0x00, 0x00, //0x000004bf movl $6, %eax + 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x000004c4 cmpl $1000000, %esi + 0x0f, 0x82, 0x20, 0x00, 0x00, 0x00, //0x000004ca jb LBB0_36 + 0xb8, 0x07, 0x00, 0x00, 0x00, //0x000004d0 movl $7, %eax + 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x000004d5 cmpl $10000000, %esi + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x000004db jb LBB0_36 + 0x81, 0xfe, 0x00, 0xe1, 0xf5, 0x05, //0x000004e1 cmpl $100000000, %esi + 0xb8, 0x09, 0x00, 0x00, 0x00, //0x000004e7 movl $9, %eax + 0x48, 0x83, 0xd8, 0x00, //0x000004ec sbbq $0, %rax + //0x000004f0 LBB0_36 + 0x4c, 0x01, 0xc0, //0x000004f0 addq %r8, %rax + //0x000004f3 LBB0_37 + 0x89, 0xf1, //0x000004f3 movl %esi, %ecx + 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000004f5 movl $3518437209, %edx + 0x48, 0x0f, 0xaf, 0xd1, //0x000004fa imulq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x000004fe shrq $45, %rdx + 0x69, 0xca, 0xf0, 0xd8, 0xff, 0xff, //0x00000502 imull $-10000, %edx, %ecx + 0x01, 0xf1, //0x00000508 addl %esi, %ecx + 0x48, 0x69, 0xf1, 0x1f, 0x85, 0xeb, 0x51, //0x0000050a imulq $1374389535, %rcx, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x00000511 shrq $37, %rsi + 0x6b, 0xde, 0x64, //0x00000515 imull $100, %esi, %ebx + 0x29, 0xd9, //0x00000518 subl %ebx, %ecx + 0x48, 0x8d, 0x1d, 0x3f, 0x08, 0x00, 0x00, //0x0000051a leaq $2111(%rip), %rbx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4b, //0x00000521 movzwl (%rbx,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfe, //0x00000525 movw %cx, $-2(%rax) + 0x0f, 0xb7, 0x0c, 0x73, //0x00000529 movzwl (%rbx,%rsi,2), %ecx + 0x66, 0x89, 0x48, 0xfc, //0x0000052d movw %cx, $-4(%rax) + 0x49, 0x89, 0xc1, //0x00000531 movq %rax, %r9 + 0x48, 0x83, 0xc0, 0xfc, //0x00000534 addq $-4, %rax + 0x89, 0xd6, //0x00000538 movl %edx, %esi + 0x83, 0xfe, 0x64, //0x0000053a cmpl $100, %esi + 0x0f, 0x83, 0xd5, 0x01, 0x00, 0x00, //0x0000053d jae LBB0_56 + 0xe9, 0x17, 0x02, 0x00, 0x00, //0x00000543 jmp LBB0_58 + //0x00000548 LBB0_38 + 0x45, 0x85, 0xff, //0x00000548 testl %r15d, %r15d + 0x0f, 0x8f, 0x90, 0x04, 0x00, 0x00, //0x0000054b jg LBB0_98 + 0x66, 0x41, 0xc7, 0x00, 0x30, 0x2e, //0x00000551 movw $11824, (%r8) + 0x49, 0x83, 0xc0, 0x02, //0x00000557 addq $2, %r8 + 0x45, 0x85, 0xff, //0x0000055b testl %r15d, %r15d + 0x0f, 0x89, 0x7d, 0x04, 0x00, 0x00, //0x0000055e jns LBB0_98 + 0x31, 0xf6, //0x00000564 xorl %esi, %esi + 0x41, 0x83, 0xff, 0x80, //0x00000566 cmpl $-128, %r15d + 0x0f, 0x87, 0x5a, 0x04, 0x00, 0x00, //0x0000056a ja LBB0_96 + 0x45, 0x89, 0xfa, //0x00000570 movl %r15d, %r10d + 0x41, 0xf7, 0xd2, //0x00000573 notl %r10d + 0x49, 0xff, 0xc2, //0x00000576 incq %r10 + 0x4c, 0x89, 0xd6, //0x00000579 movq %r10, %rsi + 0x48, 0x83, 0xe6, 0x80, //0x0000057c andq $-128, %rsi + 0x48, 0x8d, 0x46, 0x80, //0x00000580 leaq $-128(%rsi), %rax + 0x48, 0x89, 0xc1, //0x00000584 movq %rax, %rcx + 0x48, 0xc1, 0xe9, 0x07, //0x00000587 shrq $7, %rcx + 0x48, 0xff, 0xc1, //0x0000058b incq %rcx + 0x41, 0x89, 0xcb, //0x0000058e movl %ecx, %r11d + 0x41, 0x83, 0xe3, 0x03, //0x00000591 andl $3, %r11d + 0x48, 0x3d, 0x80, 0x01, 0x00, 0x00, //0x00000595 cmpq $384, %rax + 0x0f, 0x83, 0x38, 0x03, 0x00, 0x00, //0x0000059b jae LBB0_90 + 0x31, 0xdb, //0x000005a1 xorl %ebx, %ebx + 0xe9, 0xda, 0x03, 0x00, 0x00, //0x000005a3 jmp LBB0_92 + //0x000005a8 LBB0_76 + 0xc6, 0x43, 0x01, 0x2d, //0x000005a8 movb $45, $1(%rbx) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000005ac movl $1, %eax + 0x44, 0x29, 0xf8, //0x000005b1 subl %r15d, %eax + 0x83, 0xf8, 0x64, //0x000005b4 cmpl $100, %eax + 0x0f, 0x8d, 0xbd, 0xfe, 0xff, 0xff, //0x000005b7 jge LBB0_75 + //0x000005bd LBB0_77 + 0x83, 0xf8, 0x0a, //0x000005bd cmpl $10, %eax + 0x0f, 0x8c, 0x02, 0x01, 0x00, 0x00, //0x000005c0 jl LBB0_79 + 0x48, 0x98, //0x000005c6 cltq + 0x48, 0x8d, 0x0d, 0x91, 0x07, 0x00, 0x00, //0x000005c8 leaq $1937(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x000005cf movzwl (%rcx,%rax,2), %eax + 0x66, 0x89, 0x43, 0x02, //0x000005d3 movw %ax, $2(%rbx) + 0x48, 0x83, 0xc3, 0x04, //0x000005d7 addq $4, %rbx + 0x49, 0x89, 0xd8, //0x000005db movq %rbx, %r8 + 0xe9, 0x4d, 0x07, 0x00, 0x00, //0x000005de jmp LBB0_137 + //0x000005e3 LBB0_43 + 0x48, 0x89, 0xf0, //0x000005e3 movq %rsi, %rax + 0x41, 0x83, 0xfd, 0x64, //0x000005e6 cmpl $100, %r13d + 0x0f, 0x82, 0x9d, 0xfd, 0xff, 0xff, //0x000005ea jb LBB0_29 + //0x000005f0 LBB0_44 + 0x48, 0xff, 0xc8, //0x000005f0 decq %rax + 0x4c, 0x8d, 0x15, 0x66, 0x07, 0x00, 0x00, //0x000005f3 leaq $1894(%rip), %r10 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000005fa .p2align 4, 0x90 + //0x00000600 LBB0_45 + 0x44, 0x89, 0xe9, //0x00000600 movl %r13d, %ecx + 0x48, 0x69, 0xc9, 0x1f, 0x85, 0xeb, 0x51, //0x00000603 imulq $1374389535, %rcx, %rcx + 0x48, 0xc1, 0xe9, 0x25, //0x0000060a shrq $37, %rcx + 0x6b, 0xd9, 0x64, //0x0000060e imull $100, %ecx, %ebx + 0x44, 0x89, 0xea, //0x00000611 movl %r13d, %edx + 0x29, 0xda, //0x00000614 subl %ebx, %edx + 0x41, 0x0f, 0xb7, 0x14, 0x52, //0x00000616 movzwl (%r10,%rdx,2), %edx + 0x66, 0x89, 0x50, 0xff, //0x0000061b movw %dx, $-1(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x0000061f addq $-2, %rax + 0x41, 0x81, 0xfd, 0x0f, 0x27, 0x00, 0x00, //0x00000623 cmpl $9999, %r13d + 0x41, 0x89, 0xcd, //0x0000062a movl %ecx, %r13d + 0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x0000062d ja LBB0_45 + //0x00000633 LBB0_46 + 0x49, 0x63, 0xc7, //0x00000633 movslq %r15d, %rax + 0x83, 0xf9, 0x0a, //0x00000636 cmpl $10, %ecx + 0x0f, 0x82, 0x22, 0x00, 0x00, 0x00, //0x00000639 jb LBB0_48 + 0x89, 0xc9, //0x0000063f movl %ecx, %ecx + 0x48, 0x8d, 0x15, 0x18, 0x07, 0x00, 0x00, //0x00000641 leaq $1816(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000648 movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x41, 0x89, 0x08, //0x0000064c movw %cx, (%r8) + 0x49, 0x01, 0xc0, //0x00000650 addq %rax, %r8 + 0x49, 0x39, 0xc4, //0x00000653 cmpq %rax, %r12 + 0x0f, 0x8c, 0x17, 0x00, 0x00, 0x00, //0x00000656 jl LBB0_49 + 0xe9, 0xcf, 0x06, 0x00, 0x00, //0x0000065c jmp LBB0_137 + //0x00000661 LBB0_48 + 0x80, 0xc1, 0x30, //0x00000661 addb $48, %cl + 0x41, 0x88, 0x08, //0x00000664 movb %cl, (%r8) + 0x49, 0x01, 0xc0, //0x00000667 addq %rax, %r8 + 0x49, 0x39, 0xc4, //0x0000066a cmpq %rax, %r12 + 0x0f, 0x8d, 0xbd, 0x06, 0x00, 0x00, //0x0000066d jge LBB0_137 + //0x00000673 LBB0_49 + 0x4b, 0x8d, 0x04, 0x21, //0x00000673 leaq (%r9,%r12), %rax + 0x4c, 0x8d, 0x5c, 0x07, 0x01, //0x00000677 leaq $1(%rdi,%rax), %r11 + 0x4d, 0x39, 0xc3, //0x0000067c cmpq %r8, %r11 + 0x4d, 0x0f, 0x46, 0xd8, //0x0000067f cmovbeq %r8, %r11 + 0x4a, 0x8d, 0x0c, 0x0f, //0x00000683 leaq (%rdi,%r9), %rcx + 0x4c, 0x01, 0xe1, //0x00000687 addq %r12, %rcx + 0x49, 0x29, 0xcb, //0x0000068a subq %rcx, %r11 + 0x49, 0x81, 0xfb, 0x80, 0x00, 0x00, 0x00, //0x0000068d cmpq $128, %r11 + 0x0f, 0x82, 0x06, 0x02, 0x00, 0x00, //0x00000694 jb LBB0_87 + 0x4d, 0x89, 0xda, //0x0000069a movq %r11, %r10 + 0x49, 0x83, 0xe2, 0x80, //0x0000069d andq $-128, %r10 + 0x49, 0x8d, 0x4a, 0x80, //0x000006a1 leaq $-128(%r10), %rcx + 0x48, 0x89, 0xcb, //0x000006a5 movq %rcx, %rbx + 0x48, 0xc1, 0xeb, 0x07, //0x000006a8 shrq $7, %rbx + 0x48, 0xff, 0xc3, //0x000006ac incq %rbx + 0x89, 0xda, //0x000006af movl %ebx, %edx + 0x83, 0xe2, 0x03, //0x000006b1 andl $3, %edx + 0x48, 0x81, 0xf9, 0x80, 0x01, 0x00, 0x00, //0x000006b4 cmpq $384, %rcx + 0x0f, 0x83, 0xe8, 0x00, 0x00, 0x00, //0x000006bb jae LBB0_80 + 0x31, 0xc0, //0x000006c1 xorl %eax, %eax + 0xe9, 0x88, 0x01, 0x00, 0x00, //0x000006c3 jmp LBB0_82 + //0x000006c8 LBB0_79 + 0x04, 0x30, //0x000006c8 addb $48, %al + 0x88, 0x43, 0x02, //0x000006ca movb %al, $2(%rbx) + 0x48, 0x83, 0xc3, 0x03, //0x000006cd addq $3, %rbx + 0x49, 0x89, 0xd8, //0x000006d1 movq %rbx, %r8 + 0xe9, 0x57, 0x06, 0x00, 0x00, //0x000006d4 jmp LBB0_137 + //0x000006d9 LBB0_52 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000006d9 movl $1, %r9d + 0x83, 0xfe, 0x0a, //0x000006df cmpl $10, %esi + 0x0f, 0x82, 0x21, 0x00, 0x00, 0x00, //0x000006e2 jb LBB0_55 + 0x41, 0xb9, 0x02, 0x00, 0x00, 0x00, //0x000006e8 movl $2, %r9d + 0x83, 0xfe, 0x64, //0x000006ee cmpl $100, %esi + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x000006f1 jb LBB0_55 + 0x41, 0xb9, 0x03, 0x00, 0x00, 0x00, //0x000006f7 movl $3, %r9d + 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x000006fd cmpl $1000, %esi + 0x0f, 0x83, 0xab, 0x01, 0x00, 0x00, //0x00000703 jae LBB0_88 + //0x00000709 LBB0_55 + 0x4d, 0x01, 0xc1, //0x00000709 addq %r8, %r9 + 0x4c, 0x89, 0xc8, //0x0000070c movq %r9, %rax + 0x83, 0xfe, 0x64, //0x0000070f cmpl $100, %esi + 0x0f, 0x82, 0x47, 0x00, 0x00, 0x00, //0x00000712 jb LBB0_58 + //0x00000718 LBB0_56 + 0x48, 0xff, 0xc8, //0x00000718 decq %rax + 0x4c, 0x8d, 0x15, 0x3e, 0x06, 0x00, 0x00, //0x0000071b leaq $1598(%rip), %r10 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000722 .p2align 4, 0x90 + //0x00000730 LBB0_57 + 0x89, 0xf3, //0x00000730 movl %esi, %ebx + 0x89, 0xf6, //0x00000732 movl %esi, %esi + 0x48, 0x69, 0xf6, 0x1f, 0x85, 0xeb, 0x51, //0x00000734 imulq $1374389535, %rsi, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x0000073b shrq $37, %rsi + 0x6b, 0xce, 0x64, //0x0000073f imull $100, %esi, %ecx + 0x89, 0xda, //0x00000742 movl %ebx, %edx + 0x29, 0xca, //0x00000744 subl %ecx, %edx + 0x41, 0x0f, 0xb7, 0x0c, 0x52, //0x00000746 movzwl (%r10,%rdx,2), %ecx + 0x66, 0x89, 0x48, 0xff, //0x0000074b movw %cx, $-1(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x0000074f addq $-2, %rax + 0x81, 0xfb, 0x0f, 0x27, 0x00, 0x00, //0x00000753 cmpl $9999, %ebx + 0x0f, 0x87, 0xd1, 0xff, 0xff, 0xff, //0x00000759 ja LBB0_57 + //0x0000075f LBB0_58 + 0x83, 0xfe, 0x0a, //0x0000075f cmpl $10, %esi + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000762 jb LBB0_60 + 0x89, 0xf0, //0x00000768 movl %esi, %eax + 0x48, 0x8d, 0x0d, 0xef, 0x05, 0x00, 0x00, //0x0000076a leaq $1519(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x00000771 movzwl (%rcx,%rax,2), %eax + 0x66, 0x41, 0x89, 0x00, //0x00000775 movw %ax, (%r8) + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00000779 jmp LBB0_61 + //0x0000077e LBB0_60 + 0x40, 0x80, 0xc6, 0x30, //0x0000077e addb $48, %sil + 0x41, 0x88, 0x30, //0x00000782 movb %sil, (%r8) + //0x00000785 LBB0_61 + 0x41, 0x29, 0xf9, //0x00000785 subl %edi, %r9d + 0x45, 0x89, 0xc8, //0x00000788 movl %r9d, %r8d + 0xe9, 0xa3, 0x05, 0x00, 0x00, //0x0000078b jmp LBB0_138 + //0x00000790 LBB0_62 + 0x41, 0xb9, 0x04, 0x00, 0x00, 0x00, //0x00000790 movl $4, %r9d + 0x48, 0x8d, 0x4b, 0xfc, //0x00000796 leaq $-4(%rbx), %rcx + 0x41, 0x83, 0xfb, 0x64, //0x0000079a cmpl $100, %r11d + 0x0f, 0x82, 0x73, 0xfb, 0xff, 0xff, //0x0000079e jb LBB0_31 + 0xe9, 0xff, 0xfb, 0xff, 0xff, //0x000007a4 jmp LBB0_64 + //0x000007a9 LBB0_80 + 0x48, 0x29, 0xd3, //0x000007a9 subq %rdx, %rbx + 0x48, 0x8d, 0x8c, 0x07, 0xe0, 0x01, 0x00, 0x00, //0x000007ac leaq $480(%rdi,%rax), %rcx + 0x31, 0xc0, //0x000007b4 xorl %eax, %eax + 0xc5, 0xfe, 0x6f, 0x05, 0x42, 0xf8, 0xff, 0xff, //0x000007b6 vmovdqu $-1982(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0x90, 0x90, //0x000007be .p2align 4, 0x90 + //0x000007c0 LBB0_81 + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x20, 0xfe, 0xff, 0xff, //0x000007c0 vmovdqu %ymm0, $-480(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x40, 0xfe, 0xff, 0xff, //0x000007c9 vmovdqu %ymm0, $-448(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x60, 0xfe, 0xff, 0xff, //0x000007d2 vmovdqu %ymm0, $-416(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x80, 0xfe, 0xff, 0xff, //0x000007db vmovdqu %ymm0, $-384(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xa0, 0xfe, 0xff, 0xff, //0x000007e4 vmovdqu %ymm0, $-352(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xc0, 0xfe, 0xff, 0xff, //0x000007ed vmovdqu %ymm0, $-320(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xe0, 0xfe, 0xff, 0xff, //0x000007f6 vmovdqu %ymm0, $-288(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x00, 0xff, 0xff, 0xff, //0x000007ff vmovdqu %ymm0, $-256(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x20, 0xff, 0xff, 0xff, //0x00000808 vmovdqu %ymm0, $-224(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x40, 0xff, 0xff, 0xff, //0x00000811 vmovdqu %ymm0, $-192(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x60, 0xff, 0xff, 0xff, //0x0000081a vmovdqu %ymm0, $-160(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0x80, //0x00000823 vmovdqu %ymm0, $-128(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0xa0, //0x00000829 vmovdqu %ymm0, $-96(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0xc0, //0x0000082f vmovdqu %ymm0, $-64(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0xe0, //0x00000835 vmovdqu %ymm0, $-32(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x04, 0x01, //0x0000083b vmovdqu %ymm0, (%rcx,%rax) + 0x48, 0x05, 0x00, 0x02, 0x00, 0x00, //0x00000840 addq $512, %rax + 0x48, 0x83, 0xc3, 0xfc, //0x00000846 addq $-4, %rbx + 0x0f, 0x85, 0x70, 0xff, 0xff, 0xff, //0x0000084a jne LBB0_81 + //0x00000850 LBB0_82 + 0x48, 0x85, 0xd2, //0x00000850 testq %rdx, %rdx + 0x0f, 0x84, 0x37, 0x00, 0x00, 0x00, //0x00000853 je LBB0_85 + 0x4c, 0x01, 0xc8, //0x00000859 addq %r9, %rax + 0x4c, 0x01, 0xe0, //0x0000085c addq %r12, %rax + 0x48, 0x8d, 0x44, 0x07, 0x60, //0x0000085f leaq $96(%rdi,%rax), %rax + 0x48, 0xf7, 0xda, //0x00000864 negq %rdx + 0xc5, 0xfe, 0x6f, 0x05, 0x91, 0xf7, 0xff, 0xff, //0x00000867 vmovdqu $-2159(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0x90, //0x0000086f .p2align 4, 0x90 + //0x00000870 LBB0_84 + 0xc5, 0xfe, 0x7f, 0x40, 0xa0, //0x00000870 vmovdqu %ymm0, $-96(%rax) + 0xc5, 0xfe, 0x7f, 0x40, 0xc0, //0x00000875 vmovdqu %ymm0, $-64(%rax) + 0xc5, 0xfe, 0x7f, 0x40, 0xe0, //0x0000087a vmovdqu %ymm0, $-32(%rax) + 0xc5, 0xfe, 0x7f, 0x00, //0x0000087f vmovdqu %ymm0, (%rax) + 0x48, 0x83, 0xe8, 0x80, //0x00000883 subq $-128, %rax + 0x48, 0xff, 0xc2, //0x00000887 incq %rdx + 0x0f, 0x85, 0xe0, 0xff, 0xff, 0xff, //0x0000088a jne LBB0_84 + //0x00000890 LBB0_85 + 0x4d, 0x39, 0xda, //0x00000890 cmpq %r11, %r10 + 0x0f, 0x84, 0x97, 0x04, 0x00, 0x00, //0x00000893 je LBB0_137 + 0x4c, 0x01, 0xd6, //0x00000899 addq %r10, %rsi + 0x90, 0x90, 0x90, 0x90, //0x0000089c .p2align 4, 0x90 + //0x000008a0 LBB0_87 + 0xc6, 0x06, 0x30, //0x000008a0 movb $48, (%rsi) + 0x48, 0xff, 0xc6, //0x000008a3 incq %rsi + 0x4c, 0x39, 0xc6, //0x000008a6 cmpq %r8, %rsi + 0x0f, 0x82, 0xf1, 0xff, 0xff, 0xff, //0x000008a9 jb LBB0_87 + 0xe9, 0x7c, 0x04, 0x00, 0x00, //0x000008af jmp LBB0_137 + //0x000008b4 LBB0_88 + 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x000008b4 cmpl $10000, %esi + 0x4c, 0x89, 0xc0, //0x000008ba movq %r8, %rax + 0x48, 0x83, 0xd8, 0x00, //0x000008bd sbbq $0, %rax + 0x48, 0x83, 0xc0, 0x05, //0x000008c1 addq $5, %rax + 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x000008c5 cmpl $10000, %esi + 0x0f, 0x83, 0x22, 0xfc, 0xff, 0xff, //0x000008cb jae LBB0_37 + 0x49, 0x89, 0xc1, //0x000008d1 movq %rax, %r9 + 0xe9, 0x3f, 0xfe, 0xff, 0xff, //0x000008d4 jmp LBB0_56 + //0x000008d9 LBB0_90 + 0x49, 0x8d, 0x84, 0x39, 0xe2, 0x01, 0x00, 0x00, //0x000008d9 leaq $482(%r9,%rdi), %rax + 0x4d, 0x89, 0xde, //0x000008e1 movq %r11, %r14 + 0x49, 0x29, 0xce, //0x000008e4 subq %rcx, %r14 + 0x31, 0xdb, //0x000008e7 xorl %ebx, %ebx + 0xc5, 0xfe, 0x6f, 0x05, 0x0f, 0xf7, 0xff, 0xff, //0x000008e9 vmovdqu $-2289(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x000008f1 LBB0_91 + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x20, 0xfe, 0xff, 0xff, //0x000008f1 vmovdqu %ymm0, $-480(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x40, 0xfe, 0xff, 0xff, //0x000008fa vmovdqu %ymm0, $-448(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x60, 0xfe, 0xff, 0xff, //0x00000903 vmovdqu %ymm0, $-416(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x80, 0xfe, 0xff, 0xff, //0x0000090c vmovdqu %ymm0, $-384(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0xa0, 0xfe, 0xff, 0xff, //0x00000915 vmovdqu %ymm0, $-352(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0xc0, 0xfe, 0xff, 0xff, //0x0000091e vmovdqu %ymm0, $-320(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0xe0, 0xfe, 0xff, 0xff, //0x00000927 vmovdqu %ymm0, $-288(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x00, 0xff, 0xff, 0xff, //0x00000930 vmovdqu %ymm0, $-256(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x20, 0xff, 0xff, 0xff, //0x00000939 vmovdqu %ymm0, $-224(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x40, 0xff, 0xff, 0xff, //0x00000942 vmovdqu %ymm0, $-192(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x60, 0xff, 0xff, 0xff, //0x0000094b vmovdqu %ymm0, $-160(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x44, 0x18, 0x80, //0x00000954 vmovdqu %ymm0, $-128(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x44, 0x18, 0xa0, //0x0000095a vmovdqu %ymm0, $-96(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x44, 0x18, 0xc0, //0x00000960 vmovdqu %ymm0, $-64(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x44, 0x18, 0xe0, //0x00000966 vmovdqu %ymm0, $-32(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x04, 0x18, //0x0000096c vmovdqu %ymm0, (%rax,%rbx) + 0x48, 0x81, 0xc3, 0x00, 0x02, 0x00, 0x00, //0x00000971 addq $512, %rbx + 0x49, 0x83, 0xc6, 0x04, //0x00000978 addq $4, %r14 + 0x0f, 0x85, 0x6f, 0xff, 0xff, 0xff, //0x0000097c jne LBB0_91 + //0x00000982 LBB0_92 + 0x4d, 0x85, 0xdb, //0x00000982 testq %r11, %r11 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00000985 je LBB0_95 + 0x4c, 0x01, 0xcb, //0x0000098b addq %r9, %rbx + 0x48, 0x8d, 0x44, 0x1f, 0x62, //0x0000098e leaq $98(%rdi,%rbx), %rax + 0x49, 0xf7, 0xdb, //0x00000993 negq %r11 + 0xc5, 0xfe, 0x6f, 0x05, 0x62, 0xf6, 0xff, 0xff, //0x00000996 vmovdqu $-2462(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x0000099e LBB0_94 + 0xc5, 0xfe, 0x7f, 0x40, 0xa0, //0x0000099e vmovdqu %ymm0, $-96(%rax) + 0xc5, 0xfe, 0x7f, 0x40, 0xc0, //0x000009a3 vmovdqu %ymm0, $-64(%rax) + 0xc5, 0xfe, 0x7f, 0x40, 0xe0, //0x000009a8 vmovdqu %ymm0, $-32(%rax) + 0xc5, 0xfe, 0x7f, 0x00, //0x000009ad vmovdqu %ymm0, (%rax) + 0x48, 0x83, 0xe8, 0x80, //0x000009b1 subq $-128, %rax + 0x49, 0xff, 0xc3, //0x000009b5 incq %r11 + 0x0f, 0x85, 0xe0, 0xff, 0xff, 0xff, //0x000009b8 jne LBB0_94 + //0x000009be LBB0_95 + 0x49, 0x01, 0xf0, //0x000009be addq %rsi, %r8 + 0x49, 0x39, 0xf2, //0x000009c1 cmpq %rsi, %r10 + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000009c4 je LBB0_98 + //0x000009ca LBB0_96 + 0x44, 0x89, 0xf8, //0x000009ca movl %r15d, %eax + 0xf7, 0xd8, //0x000009cd negl %eax + 0x90, //0x000009cf .p2align 4, 0x90 + //0x000009d0 LBB0_97 + 0x41, 0xc6, 0x00, 0x30, //0x000009d0 movb $48, (%r8) + 0x49, 0xff, 0xc0, //0x000009d4 incq %r8 + 0xff, 0xc6, //0x000009d7 incl %esi + 0x39, 0xc6, //0x000009d9 cmpl %eax, %esi + 0x0f, 0x8c, 0xef, 0xff, 0xff, 0xff, //0x000009db jl LBB0_97 + //0x000009e1 LBB0_98 + 0x4b, 0x8d, 0x04, 0x20, //0x000009e1 leaq (%r8,%r12), %rax + 0x41, 0x81, 0xfd, 0x10, 0x27, 0x00, 0x00, //0x000009e5 cmpl $10000, %r13d + 0x0f, 0x82, 0x63, 0x00, 0x00, 0x00, //0x000009ec jb LBB0_101 + 0x44, 0x89, 0xe9, //0x000009f2 movl %r13d, %ecx + 0x41, 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000009f5 movl $3518437209, %r10d + 0x4c, 0x0f, 0xaf, 0xd1, //0x000009fb imulq %rcx, %r10 + 0x49, 0xc1, 0xea, 0x2d, //0x000009ff shrq $45, %r10 + 0x41, 0x69, 0xca, 0xf0, 0xd8, 0xff, 0xff, //0x00000a03 imull $-10000, %r10d, %ecx + 0x44, 0x01, 0xe9, //0x00000a0a addl %r13d, %ecx + 0x0f, 0x84, 0x87, 0x01, 0x00, 0x00, //0x00000a0d je LBB0_103 + 0x89, 0xca, //0x00000a13 movl %ecx, %edx + 0x48, 0x69, 0xd2, 0x1f, 0x85, 0xeb, 0x51, //0x00000a15 imulq $1374389535, %rdx, %rdx + 0x48, 0xc1, 0xea, 0x25, //0x00000a1c shrq $37, %rdx + 0x6b, 0xda, 0x64, //0x00000a20 imull $100, %edx, %ebx + 0x29, 0xd9, //0x00000a23 subl %ebx, %ecx + 0x48, 0x8d, 0x1d, 0x34, 0x03, 0x00, 0x00, //0x00000a25 leaq $820(%rip), %rbx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4b, //0x00000a2c movzwl (%rbx,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfe, //0x00000a30 movw %cx, $-2(%rax) + 0x0f, 0xb7, 0x0c, 0x53, //0x00000a34 movzwl (%rbx,%rdx,2), %ecx + 0x66, 0x89, 0x48, 0xfc, //0x00000a38 movw %cx, $-4(%rax) + 0x45, 0x31, 0xc9, //0x00000a3c xorl %r9d, %r9d + 0x48, 0x83, 0xc0, 0xfc, //0x00000a3f addq $-4, %rax + 0x41, 0x83, 0xfa, 0x64, //0x00000a43 cmpl $100, %r10d + 0x0f, 0x83, 0x18, 0x00, 0x00, 0x00, //0x00000a47 jae LBB0_105 + //0x00000a4d LBB0_102 + 0x44, 0x89, 0xd1, //0x00000a4d movl %r10d, %ecx + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x00000a50 jmp LBB0_107 + //0x00000a55 LBB0_101 + 0x45, 0x31, 0xc9, //0x00000a55 xorl %r9d, %r9d + 0x45, 0x89, 0xea, //0x00000a58 movl %r13d, %r10d + 0x41, 0x83, 0xfa, 0x64, //0x00000a5b cmpl $100, %r10d + 0x0f, 0x82, 0xe8, 0xff, 0xff, 0xff, //0x00000a5f jb LBB0_102 + //0x00000a65 LBB0_105 + 0x48, 0xff, 0xc8, //0x00000a65 decq %rax + 0x48, 0x8d, 0x15, 0xf1, 0x02, 0x00, 0x00, //0x00000a68 leaq $753(%rip), %rdx /* _Digits+0(%rip) */ + 0x90, //0x00000a6f .p2align 4, 0x90 + //0x00000a70 LBB0_106 + 0x44, 0x89, 0xd1, //0x00000a70 movl %r10d, %ecx + 0x48, 0x69, 0xc9, 0x1f, 0x85, 0xeb, 0x51, //0x00000a73 imulq $1374389535, %rcx, %rcx + 0x48, 0xc1, 0xe9, 0x25, //0x00000a7a shrq $37, %rcx + 0x6b, 0xd9, 0x64, //0x00000a7e imull $100, %ecx, %ebx + 0x44, 0x89, 0xd6, //0x00000a81 movl %r10d, %esi + 0x29, 0xde, //0x00000a84 subl %ebx, %esi + 0x0f, 0xb7, 0x34, 0x72, //0x00000a86 movzwl (%rdx,%rsi,2), %esi + 0x66, 0x89, 0x70, 0xff, //0x00000a8a movw %si, $-1(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x00000a8e addq $-2, %rax + 0x41, 0x81, 0xfa, 0x0f, 0x27, 0x00, 0x00, //0x00000a92 cmpl $9999, %r10d + 0x41, 0x89, 0xca, //0x00000a99 movl %ecx, %r10d + 0x0f, 0x87, 0xce, 0xff, 0xff, 0xff, //0x00000a9c ja LBB0_106 + //0x00000aa2 LBB0_107 + 0x83, 0xf9, 0x0a, //0x00000aa2 cmpl $10, %ecx + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000aa5 jb LBB0_109 + 0x89, 0xc8, //0x00000aab movl %ecx, %eax + 0x48, 0x8d, 0x0d, 0xac, 0x02, 0x00, 0x00, //0x00000aad leaq $684(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x00000ab4 movzwl (%rcx,%rax,2), %eax + 0x66, 0x41, 0x89, 0x00, //0x00000ab8 movw %ax, (%r8) + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x00000abc jmp LBB0_110 + //0x00000ac1 LBB0_109 + 0x80, 0xc1, 0x30, //0x00000ac1 addb $48, %cl + 0x41, 0x88, 0x08, //0x00000ac4 movb %cl, (%r8) + //0x00000ac7 LBB0_110 + 0x4d, 0x29, 0xcc, //0x00000ac7 subq %r9, %r12 + 0x49, 0x8d, 0x74, 0x24, 0x01, //0x00000aca leaq $1(%r12), %rsi + 0x49, 0x8d, 0x54, 0x24, 0x61, //0x00000acf leaq $97(%r12), %rdx + 0x49, 0x8d, 0x44, 0x24, 0x02, //0x00000ad4 leaq $2(%r12), %rax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000ad9 .p2align 4, 0x90 + //0x00000ae0 LBB0_111 + 0x48, 0xff, 0xca, //0x00000ae0 decq %rdx + 0x48, 0xff, 0xce, //0x00000ae3 decq %rsi + 0x48, 0xff, 0xc8, //0x00000ae6 decq %rax + 0x43, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00000ae9 cmpb $48, $-1(%r8,%r12) + 0x4d, 0x8d, 0x64, 0x24, 0xff, //0x00000aef leaq $-1(%r12), %r12 + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x00000af4 je LBB0_111 + 0x4d, 0x8d, 0x0c, 0x30, //0x00000afa leaq (%r8,%rsi), %r9 + 0x45, 0x85, 0xff, //0x00000afe testl %r15d, %r15d + 0x0f, 0x8e, 0x8b, 0x00, 0x00, 0x00, //0x00000b01 jle LBB0_116 + 0x44, 0x89, 0xc9, //0x00000b07 movl %r9d, %ecx + 0x44, 0x29, 0xc1, //0x00000b0a subl %r8d, %ecx + 0x41, 0x39, 0xcf, //0x00000b0d cmpl %ecx, %r15d + 0x0f, 0x8d, 0x23, 0x00, 0x00, 0x00, //0x00000b10 jge LBB0_117 + 0x43, 0x8d, 0x0c, 0x07, //0x00000b16 leal (%r15,%r8), %ecx + 0x41, 0x29, 0xc9, //0x00000b1a subl %ecx, %r9d + 0x49, 0x8d, 0x49, 0xff, //0x00000b1d leaq $-1(%r9), %rcx + 0x45, 0x89, 0xca, //0x00000b21 movl %r9d, %r10d + 0x41, 0x83, 0xe2, 0x03, //0x00000b24 andl $3, %r10d + 0x48, 0x83, 0xf9, 0x03, //0x00000b28 cmpq $3, %rcx + 0x0f, 0x83, 0x81, 0x00, 0x00, 0x00, //0x00000b2c jae LBB0_121 + 0x31, 0xc9, //0x00000b32 xorl %ecx, %ecx + 0xe9, 0xa3, 0x00, 0x00, 0x00, //0x00000b34 jmp LBB0_124 + //0x00000b39 LBB0_117 + 0x0f, 0x8e, 0x53, 0x00, 0x00, 0x00, //0x00000b39 jle LBB0_116 + 0x45, 0x01, 0xc7, //0x00000b3f addl %r8d, %r15d + 0x45, 0x89, 0xce, //0x00000b42 movl %r9d, %r14d + 0x41, 0xf7, 0xd6, //0x00000b45 notl %r14d + 0x45, 0x01, 0xfe, //0x00000b48 addl %r15d, %r14d + 0x45, 0x31, 0xd2, //0x00000b4b xorl %r10d, %r10d + 0x4d, 0x89, 0xcb, //0x00000b4e movq %r9, %r11 + 0x41, 0x83, 0xfe, 0x7e, //0x00000b51 cmpl $126, %r14d + 0x0f, 0x86, 0xb4, 0x01, 0x00, 0x00, //0x00000b55 jbe LBB0_135 + 0x49, 0xff, 0xc6, //0x00000b5b incq %r14 + 0x4d, 0x89, 0xf2, //0x00000b5e movq %r14, %r10 + 0x49, 0x83, 0xe2, 0x80, //0x00000b61 andq $-128, %r10 + 0x4f, 0x8d, 0x1c, 0x10, //0x00000b65 leaq (%r8,%r10), %r11 + 0x49, 0x8d, 0x5a, 0x80, //0x00000b69 leaq $-128(%r10), %rbx + 0x48, 0x89, 0xd9, //0x00000b6d movq %rbx, %rcx + 0x48, 0xc1, 0xe9, 0x07, //0x00000b70 shrq $7, %rcx + 0x48, 0xff, 0xc1, //0x00000b74 incq %rcx + 0x41, 0x89, 0xcc, //0x00000b77 movl %ecx, %r12d + 0x41, 0x83, 0xe4, 0x03, //0x00000b7a andl $3, %r12d + 0x48, 0x81, 0xfb, 0x80, 0x01, 0x00, 0x00, //0x00000b7e cmpq $384, %rbx + 0x0f, 0x83, 0x8f, 0x00, 0x00, 0x00, //0x00000b85 jae LBB0_129 + 0x31, 0xc9, //0x00000b8b xorl %ecx, %ecx + 0xe9, 0x30, 0x01, 0x00, 0x00, //0x00000b8d jmp LBB0_131 + //0x00000b92 LBB0_116 + 0x4d, 0x89, 0xc8, //0x00000b92 movq %r9, %r8 + 0xe9, 0x96, 0x01, 0x00, 0x00, //0x00000b95 jmp LBB0_137 + //0x00000b9a LBB0_103 + 0x41, 0xb9, 0x04, 0x00, 0x00, 0x00, //0x00000b9a movl $4, %r9d + 0x48, 0x83, 0xc0, 0xfc, //0x00000ba0 addq $-4, %rax + 0x41, 0x83, 0xfa, 0x64, //0x00000ba4 cmpl $100, %r10d + 0x0f, 0x82, 0x9f, 0xfe, 0xff, 0xff, //0x00000ba8 jb LBB0_102 + 0xe9, 0xb2, 0xfe, 0xff, 0xff, //0x00000bae jmp LBB0_105 + //0x00000bb3 LBB0_121 + 0x4d, 0x89, 0xd3, //0x00000bb3 movq %r10, %r11 + 0x4d, 0x29, 0xcb, //0x00000bb6 subq %r9, %r11 + 0x31, 0xc9, //0x00000bb9 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000bbb .p2align 4, 0x90 + //0x00000bc0 LBB0_122 + 0x49, 0x8d, 0x1c, 0x08, //0x00000bc0 leaq (%r8,%rcx), %rbx + 0x8b, 0x54, 0x1e, 0xfc, //0x00000bc4 movl $-4(%rsi,%rbx), %edx + 0x89, 0x54, 0x1e, 0xfd, //0x00000bc8 movl %edx, $-3(%rsi,%rbx) + 0x48, 0x83, 0xc1, 0xfc, //0x00000bcc addq $-4, %rcx + 0x49, 0x39, 0xcb, //0x00000bd0 cmpq %rcx, %r11 + 0x0f, 0x85, 0xe7, 0xff, 0xff, 0xff, //0x00000bd3 jne LBB0_122 + 0x48, 0xf7, 0xd9, //0x00000bd9 negq %rcx + //0x00000bdc LBB0_124 + 0x4d, 0x85, 0xd2, //0x00000bdc testq %r10, %r10 + 0x0f, 0x84, 0x25, 0x00, 0x00, 0x00, //0x00000bdf je LBB0_127 + 0x49, 0xf7, 0xda, //0x00000be5 negq %r10 + 0x4c, 0x89, 0xc2, //0x00000be8 movq %r8, %rdx + 0x48, 0x29, 0xca, //0x00000beb subq %rcx, %rdx + 0x31, 0xc9, //0x00000bee xorl %ecx, %ecx + //0x00000bf0 .p2align 4, 0x90 + //0x00000bf0 LBB0_126 + 0x48, 0x8d, 0x34, 0x0a, //0x00000bf0 leaq (%rdx,%rcx), %rsi + 0x41, 0x0f, 0xb6, 0x1c, 0x34, //0x00000bf4 movzbl (%r12,%rsi), %ebx + 0x41, 0x88, 0x5c, 0x34, 0x01, //0x00000bf9 movb %bl, $1(%r12,%rsi) + 0x48, 0xff, 0xc9, //0x00000bfe decq %rcx + 0x49, 0x39, 0xca, //0x00000c01 cmpq %rcx, %r10 + 0x0f, 0x85, 0xe6, 0xff, 0xff, 0xff, //0x00000c04 jne LBB0_126 + //0x00000c0a LBB0_127 + 0x49, 0x63, 0xcf, //0x00000c0a movslq %r15d, %rcx + 0x41, 0xc6, 0x04, 0x08, 0x2e, //0x00000c0d movb $46, (%r8,%rcx) + 0x49, 0x01, 0xc0, //0x00000c12 addq %rax, %r8 + 0xe9, 0x16, 0x01, 0x00, 0x00, //0x00000c15 jmp LBB0_137 + //0x00000c1a LBB0_129 + 0x4c, 0x89, 0xe3, //0x00000c1a movq %r12, %rbx + 0x48, 0x29, 0xcb, //0x00000c1d subq %rcx, %rbx + 0x31, 0xc9, //0x00000c20 xorl %ecx, %ecx + 0xc5, 0xfe, 0x6f, 0x05, 0xd6, 0xf3, 0xff, 0xff, //0x00000c22 vmovdqu $-3114(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x00000c2a LBB0_130 + 0x49, 0x8d, 0x04, 0x08, //0x00000c2a leaq (%r8,%rcx), %rax + 0xc5, 0xfe, 0x7f, 0x04, 0x06, //0x00000c2e vmovdqu %ymm0, (%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0x20, //0x00000c33 vmovdqu %ymm0, $32(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0x40, //0x00000c39 vmovdqu %ymm0, $64(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0x60, //0x00000c3f vmovdqu %ymm0, $96(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x80, 0x00, 0x00, 0x00, //0x00000c45 vmovdqu %ymm0, $128(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xa0, 0x00, 0x00, 0x00, //0x00000c4e vmovdqu %ymm0, $160(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xc0, 0x00, 0x00, 0x00, //0x00000c57 vmovdqu %ymm0, $192(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xe0, 0x00, 0x00, 0x00, //0x00000c60 vmovdqu %ymm0, $224(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x00, 0x01, 0x00, 0x00, //0x00000c69 vmovdqu %ymm0, $256(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x20, 0x01, 0x00, 0x00, //0x00000c72 vmovdqu %ymm0, $288(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x40, 0x01, 0x00, 0x00, //0x00000c7b vmovdqu %ymm0, $320(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x60, 0x01, 0x00, 0x00, //0x00000c84 vmovdqu %ymm0, $352(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x80, 0x01, 0x00, 0x00, //0x00000c8d vmovdqu %ymm0, $384(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xa0, 0x01, 0x00, 0x00, //0x00000c96 vmovdqu %ymm0, $416(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xc0, 0x01, 0x00, 0x00, //0x00000c9f vmovdqu %ymm0, $448(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xe0, 0x01, 0x00, 0x00, //0x00000ca8 vmovdqu %ymm0, $480(%rsi,%rax) + 0x48, 0x81, 0xc1, 0x00, 0x02, 0x00, 0x00, //0x00000cb1 addq $512, %rcx + 0x48, 0x83, 0xc3, 0x04, //0x00000cb8 addq $4, %rbx + 0x0f, 0x85, 0x68, 0xff, 0xff, 0xff, //0x00000cbc jne LBB0_130 + //0x00000cc2 LBB0_131 + 0x49, 0x01, 0xf3, //0x00000cc2 addq %rsi, %r11 + 0x4d, 0x85, 0xe4, //0x00000cc5 testq %r12, %r12 + 0x0f, 0x84, 0x35, 0x00, 0x00, 0x00, //0x00000cc8 je LBB0_134 + 0x49, 0x01, 0xc8, //0x00000cce addq %rcx, %r8 + 0x49, 0x01, 0xd0, //0x00000cd1 addq %rdx, %r8 + 0x49, 0xf7, 0xdc, //0x00000cd4 negq %r12 + 0xc5, 0xfe, 0x6f, 0x05, 0x21, 0xf3, 0xff, 0xff, //0x00000cd7 vmovdqu $-3295(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x00000cdf LBB0_133 + 0xc4, 0xc1, 0x7e, 0x7f, 0x40, 0xa0, //0x00000cdf vmovdqu %ymm0, $-96(%r8) + 0xc4, 0xc1, 0x7e, 0x7f, 0x40, 0xc0, //0x00000ce5 vmovdqu %ymm0, $-64(%r8) + 0xc4, 0xc1, 0x7e, 0x7f, 0x40, 0xe0, //0x00000ceb vmovdqu %ymm0, $-32(%r8) + 0xc4, 0xc1, 0x7e, 0x7f, 0x00, //0x00000cf1 vmovdqu %ymm0, (%r8) + 0x49, 0x83, 0xe8, 0x80, //0x00000cf6 subq $-128, %r8 + 0x49, 0xff, 0xc4, //0x00000cfa incq %r12 + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x00000cfd jne LBB0_133 + //0x00000d03 LBB0_134 + 0x4d, 0x89, 0xd8, //0x00000d03 movq %r11, %r8 + 0x4d, 0x39, 0xd6, //0x00000d06 cmpq %r10, %r14 + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00000d09 je LBB0_137 + //0x00000d0f LBB0_135 + 0x45, 0x29, 0xd7, //0x00000d0f subl %r10d, %r15d + 0x45, 0x29, 0xcf, //0x00000d12 subl %r9d, %r15d + 0x4d, 0x89, 0xd8, //0x00000d15 movq %r11, %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d18 .p2align 4, 0x90 + //0x00000d20 LBB0_136 + 0x41, 0xc6, 0x00, 0x30, //0x00000d20 movb $48, (%r8) + 0x49, 0xff, 0xc0, //0x00000d24 incq %r8 + 0x41, 0xff, 0xcf, //0x00000d27 decl %r15d + 0x0f, 0x85, 0xf0, 0xff, 0xff, 0xff, //0x00000d2a jne LBB0_136 + //0x00000d30 LBB0_137 + 0x41, 0x29, 0xf8, //0x00000d30 subl %edi, %r8d + //0x00000d33 LBB0_138 + 0x44, 0x89, 0xc0, //0x00000d33 movl %r8d, %eax + 0x5b, //0x00000d36 popq %rbx + 0x41, 0x5c, //0x00000d37 popq %r12 + 0x41, 0x5d, //0x00000d39 popq %r13 + 0x41, 0x5e, //0x00000d3b popq %r14 + 0x41, 0x5f, //0x00000d3d popq %r15 + 0x5d, //0x00000d3f popq %rbp + 0xc5, 0xf8, 0x77, //0x00000d40 vzeroupper + 0xc3, //0x00000d43 retq + //0x00000d44 LBB0_139 + 0x45, 0x31, 0xc0, //0x00000d44 xorl %r8d, %r8d + 0xe9, 0xe7, 0xff, 0xff, 0xff, //0x00000d47 jmp LBB0_138 + //0x00000d4c LBB0_140 + 0x41, 0xbf, 0x6b, 0xff, 0xff, 0xff, //0x00000d4c movl $-149, %r15d + 0x89, 0xc6, //0x00000d52 movl %eax, %esi + 0xe9, 0x46, 0xf3, 0xff, 0xff, //0x00000d54 jmp LBB0_5 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d59 .p2align 4, 0x00 + //0x00000d60 _Digits + 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00000d60 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' + 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00000d70 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' + 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x00000d80 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' + 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x00000d90 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' + 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x00000da0 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' + 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x00000db0 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' + 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x00000dc0 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' + 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x00000dd0 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' + 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x00000de0 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' + 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x00000df0 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' + 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x00000e00 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' + 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x00000e10 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' + 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x00000e20 QUAD $0x3939383937393639 // .ascii 8, '96979899' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e28 .p2align 4, 0x00 + //0x00000e30 _pow10_ceil_sig_f32.g + 0xf5, 0xfc, 0x43, 0x4b, 0x2c, 0xb3, 0xce, 0x81, //0x00000e30 .quad -9093133594791772939 + 0x32, 0xfc, 0x14, 0x5e, 0xf7, 0x5f, 0x42, 0xa2, //0x00000e38 .quad -6754730975062328270 + 0x3f, 0x3b, 0x9a, 0x35, 0xf5, 0xf7, 0xd2, 0xca, //0x00000e40 .quad -3831727700400522433 + 0x0e, 0xca, 0x00, 0x83, 0xf2, 0xb5, 0x87, 0xfd, //0x00000e48 .quad -177973607073265138 + 0x49, 0x7e, 0xe0, 0x91, 0xb7, 0xd1, 0x74, 0x9e, //0x00000e50 .quad -7028762532061872567 + 0xdb, 0x9d, 0x58, 0x76, 0x25, 0x06, 0x12, 0xc6, //0x00000e58 .quad -4174267146649952805 + 0x52, 0xc5, 0xee, 0xd3, 0xae, 0x87, 0x96, 0xf7, //0x00000e60 .quad -606147914885053102 + 0x53, 0x3b, 0x75, 0x44, 0xcd, 0x14, 0xbe, 0x9a, //0x00000e68 .quad -7296371474444240045 + 0x28, 0x8a, 0x92, 0x95, 0x00, 0x9a, 0x6d, 0xc1, //0x00000e70 .quad -4508778324627912152 + 0xb2, 0x2c, 0xf7, 0xba, 0x80, 0x00, 0xc9, 0xf1, //0x00000e78 .quad -1024286887357502286 + 0xef, 0x7b, 0xda, 0x74, 0x50, 0xa0, 0x1d, 0x97, //0x00000e80 .quad -7557708332239520785 + 0xeb, 0x1a, 0x11, 0x92, 0x64, 0x08, 0xe5, 0xbc, //0x00000e88 .quad -4835449396872013077 + 0xa6, 0x61, 0x95, 0xb6, 0x7d, 0x4a, 0x1e, 0xec, //0x00000e90 .quad -1432625727662628442 + 0x08, 0x5d, 0x1d, 0x92, 0x8e, 0xee, 0x92, 0x93, //0x00000e98 .quad -7812920107430224632 + 0x4a, 0xb4, 0xa4, 0x36, 0x32, 0xaa, 0x77, 0xb8, //0x00000ea0 .quad -5154464115860392886 + 0x5c, 0xe1, 0x4d, 0xc4, 0xbe, 0x94, 0x95, 0xe6, //0x00000ea8 .quad -1831394126398103204 + 0xda, 0xac, 0xb0, 0x3a, 0xf7, 0x7c, 0x1d, 0x90, //0x00000eb0 .quad -8062150356639896358 + 0x10, 0xd8, 0x5c, 0x09, 0x35, 0xdc, 0x24, 0xb4, //0x00000eb8 .quad -5466001927372482544 + 0x14, 0x0e, 0xb4, 0x4b, 0x42, 0x13, 0x2e, 0xe1, //0x00000ec0 .quad -2220816390788215276 + 0xcc, 0x88, 0x50, 0x6f, 0x09, 0xcc, 0xbc, 0x8c, //0x00000ec8 .quad -8305539271883716404 + 0xff, 0xaa, 0x24, 0xcb, 0x0b, 0xff, 0xeb, 0xaf, //0x00000ed0 .quad -5770238071427257601 + 0xbf, 0xd5, 0xed, 0xbd, 0xce, 0xfe, 0xe6, 0xdb, //0x00000ed8 .quad -2601111570856684097 + 0x98, 0xa5, 0xb4, 0x36, 0x41, 0x5f, 0x70, 0x89, //0x00000ee0 .quad -8543223759426509416 + 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000ee8 .quad -6067343680855748867 + 0xbd, 0x42, 0x7a, 0xe5, 0xd5, 0x94, 0xbf, 0xd6, //0x00000ef0 .quad -2972493582642298179 + 0xb6, 0x69, 0x6c, 0xaf, 0x05, 0xbd, 0x37, 0x86, //0x00000ef8 .quad -8775337516792518218 + 0x24, 0x84, 0x47, 0x1b, 0x47, 0xac, 0xc5, 0xa7, //0x00000f00 .quad -6357485877563259868 + 0x2c, 0x65, 0x19, 0xe2, 0x58, 0x17, 0xb7, 0xd1, //0x00000f08 .quad -3335171328526686932 + 0x3c, 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83, //0x00000f10 .quad -9002011107970261188 + 0x0b, 0xd7, 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, //0x00000f18 .quad -6640827866535438581 + 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00000f20 .quad -3689348814741910323 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000f28 .quad -9223372036854775808 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, //0x00000f30 .quad -6917529027641081856 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, //0x00000f38 .quad -4035225266123964416 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00000f40 .quad -432345564227567616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9c, //0x00000f48 .quad -7187745005283311616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, //0x00000f50 .quad -4372995238176751616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, //0x00000f58 .quad -854558029293551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x96, 0x98, //0x00000f60 .quad -7451627795949551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbc, 0xbe, //0x00000f68 .quad -4702848726509551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6b, 0xee, //0x00000f70 .quad -1266874889709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x95, //0x00000f78 .quad -7709325833709551616 + 0x00, 0x00, 0x00, 0x00, 0x40, 0xb7, 0x43, 0xba, //0x00000f80 .quad -5024971273709551616 + 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0xd4, 0xe8, //0x00000f88 .quad -1669528073709551616 + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xe7, 0x84, 0x91, //0x00000f90 .quad -7960984073709551616 + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x20, 0xe6, 0xb5, //0x00000f98 .quad -5339544073709551616 + 0x00, 0x00, 0x00, 0xa0, 0x31, 0xa9, 0x5f, 0xe3, //0x00000fa0 .quad -2062744073709551616 + 0x00, 0x00, 0x00, 0x04, 0xbf, 0xc9, 0x1b, 0x8e, //0x00000fa8 .quad -8206744073709551616 + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0xbc, 0xa2, 0xb1, //0x00000fb0 .quad -5646744073709551616 + 0x00, 0x00, 0x40, 0x76, 0x3a, 0x6b, 0x0b, 0xde, //0x00000fb8 .quad -2446744073709551616 + 0x00, 0x00, 0xe8, 0x89, 0x04, 0x23, 0xc7, 0x8a, //0x00000fc0 .quad -8446744073709551616 + 0x00, 0x00, 0x62, 0xac, 0xc5, 0xeb, 0x78, 0xad, //0x00000fc8 .quad -5946744073709551616 + 0x00, 0x80, 0x7a, 0x17, 0xb7, 0x26, 0xd7, 0xd8, //0x00000fd0 .quad -2821744073709551616 + 0x00, 0x90, 0xac, 0x6e, 0x32, 0x78, 0x86, 0x87, //0x00000fd8 .quad -8681119073709551616 + 0x00, 0xb4, 0x57, 0x0a, 0x3f, 0x16, 0x68, 0xa9, //0x00000fe0 .quad -6239712823709551616 + 0x00, 0xa1, 0xed, 0xcc, 0xce, 0x1b, 0xc2, 0xd3, //0x00000fe8 .quad -3187955011209551616 + 0xa0, 0x84, 0x14, 0x40, 0x61, 0x51, 0x59, 0x84, //0x00000ff0 .quad -8910000909647051616 + 0xc8, 0xa5, 0x19, 0x90, 0xb9, 0xa5, 0x6f, 0xa5, //0x00000ff8 .quad -6525815118631426616 + 0x3a, 0x0f, 0x20, 0xf4, 0x27, 0x8f, 0xcb, 0xce, //0x00001000 .quad -3545582879861895366 + 0x85, 0x09, 0x94, 0xf8, 0x78, 0x39, 0x3f, 0x81, //0x00001008 .quad -9133518327554766459 + 0xe6, 0x0b, 0xb9, 0x36, 0xd7, 0x07, 0x8f, 0xa1, //0x00001010 .quad -6805211891016070170 + 0xdf, 0x4e, 0x67, 0x04, 0xcd, 0xc9, 0xf2, 0xc9, //0x00001018 .quad -3894828845342699809 + 0x97, 0x22, 0x81, 0x45, 0x40, 0x7c, 0x6f, 0xfc, //0x00001020 .quad -256850038250986857 + 0x9e, 0xb5, 0x70, 0x2b, 0xa8, 0xad, 0xc5, 0x9d, //0x00001028 .quad -7078060301547948642 + 0x06, 0xe3, 0x4c, 0x36, 0x12, 0x19, 0x37, 0xc5, //0x00001030 .quad -4235889358507547898 + 0xc7, 0x1b, 0xe0, 0xc3, 0x56, 0xdf, 0x84, 0xf6, //0x00001038 .quad -683175679707046969 + 0x5d, 0x11, 0x6c, 0x3a, 0x96, 0x0b, 0x13, 0x9a, //0x00001040 .quad -7344513827457986211 + 0xb4, 0x15, 0x07, 0xc9, 0x7b, 0xce, 0x97, 0xc0, //0x00001048 .quad -4568956265895094860 + 0x21, 0xdb, 0x48, 0xbb, 0x1a, 0xc2, 0xbd, 0xf0, //0x00001050 .quad -1099509313941480671 + 0xf5, 0x88, 0x0d, 0xb5, 0x50, 0x99, 0x76, 0x96, //0x00001058 .quad -7604722348854507275 + 0x32, 0xeb, 0x50, 0xe2, 0xa4, 0x3f, 0x14, 0xbc, //0x00001060 .quad -4894216917640746190 + 0xfe, 0x25, 0xe5, 0x1a, 0x8e, 0x4f, 0x19, 0xeb, //0x00001068 .quad -1506085128623544834 + 0xbf, 0x37, 0xcf, 0xd0, 0xb8, 0xd1, 0xef, 0x92, //0x00001070 .quad -7858832233030797377 + 0xae, 0x05, 0x03, 0x05, 0x27, 0xc6, 0xab, 0xb7, //0x00001078 .quad -5211854272861108818 + 0x1a, 0xc7, 0x43, 0xc6, 0xb0, 0xb7, 0x96, 0xe5, //0x00001080 .quad -1903131822648998118 + 0x70, 0x5c, 0xea, 0x7b, 0xce, 0x32, 0x7e, 0x8f, //0x00001088 .quad -8106986416796705680 + 0x8c, 0xf3, 0xe4, 0x1a, 0x82, 0xbf, 0x5d, 0xb3, //0x00001090 .quad -5522047002568494196 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/f64toa.go b/vendor/github.com/bytedance/sonic/internal/native/avx/f64toa.go new file mode 100644 index 0000000..2051eaa --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/f64toa.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_f64toa func(out unsafe.Pointer, val float64) (ret int) + +var S_f64toa uintptr + +//go:nosplit +func f64toa(out *byte, val float64) (ret int) { + return F_f64toa((rt.NoEscape(unsafe.Pointer(out))), val) +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/f64toa_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/f64toa_subr.go new file mode 100644 index 0000000..7d49e2d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/f64toa_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__f64toa = 32 +) + +const ( + _stack__f64toa = 56 +) + +const ( + _size__f64toa = 4704 +) + +var ( + _pcsp__f64toa = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {4614, 56}, + {4618, 48}, + {4619, 40}, + {4621, 32}, + {4623, 24}, + {4625, 16}, + {4627, 8}, + {4631, 0}, + {4694, 56}, + } +) + +var _cfunc_f64toa = []loader.CFunc{ + {"_f64toa_entry", 0, _entry__f64toa, 0, nil}, + {"_f64toa", _entry__f64toa, _size__f64toa, _stack__f64toa, _pcsp__f64toa}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/f64toa_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/f64toa_text_amd64.go new file mode 100644 index 0000000..aa2d5af --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/f64toa_text_amd64.go @@ -0,0 +1,2402 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_f64toa = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, // QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, //0x00000010 QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + //0x00000020 .p2align 4, 0x90 + //0x00000020 _f64toa + 0x55, //0x00000020 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000021 movq %rsp, %rbp + 0x41, 0x57, //0x00000024 pushq %r15 + 0x41, 0x56, //0x00000026 pushq %r14 + 0x41, 0x55, //0x00000028 pushq %r13 + 0x41, 0x54, //0x0000002a pushq %r12 + 0x53, //0x0000002c pushq %rbx + 0x50, //0x0000002d pushq %rax + 0xc4, 0xe1, 0xf9, 0x7e, 0xc2, //0x0000002e vmovq %xmm0, %rdx + 0x48, 0x89, 0xd0, //0x00000033 movq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x34, //0x00000036 shrq $52, %rax + 0x25, 0xff, 0x07, 0x00, 0x00, //0x0000003a andl $2047, %eax + 0x3d, 0xff, 0x07, 0x00, 0x00, //0x0000003f cmpl $2047, %eax + 0x0f, 0x84, 0xee, 0x11, 0x00, 0x00, //0x00000044 je LBB0_165 + 0xc6, 0x07, 0x2d, //0x0000004a movb $45, (%rdi) + 0x48, 0x89, 0xd6, //0x0000004d movq %rdx, %rsi + 0x48, 0xc1, 0xee, 0x3f, //0x00000050 shrq $63, %rsi + 0x4c, 0x8d, 0x04, 0x37, //0x00000054 leaq (%rdi,%rsi), %r8 + 0x48, 0x8d, 0x0c, 0x55, 0x00, 0x00, 0x00, 0x00, //0x00000058 leaq (,%rdx,2), %rcx + 0x48, 0x85, 0xc9, //0x00000060 testq %rcx, %rcx + 0x0f, 0x84, 0x7e, 0x02, 0x00, 0x00, //0x00000063 je LBB0_6 + 0x49, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000069 movabsq $4503599627370495, %r11 + 0x4c, 0x21, 0xda, //0x00000073 andq %r11, %rdx + 0x85, 0xc0, //0x00000076 testl %eax, %eax + 0x0f, 0x84, 0xc2, 0x11, 0x00, 0x00, //0x00000078 je LBB0_166 + 0x49, 0xff, 0xc3, //0x0000007e incq %r11 + 0x49, 0x09, 0xd3, //0x00000081 orq %rdx, %r11 + 0x44, 0x8d, 0x90, 0xcd, 0xfb, 0xff, 0xff, //0x00000084 leal $-1075(%rax), %r10d + 0x8d, 0x88, 0x01, 0xfc, 0xff, 0xff, //0x0000008b leal $-1023(%rax), %ecx + 0x83, 0xf9, 0x34, //0x00000091 cmpl $52, %ecx + 0x0f, 0x87, 0x1d, 0x00, 0x00, 0x00, //0x00000094 ja LBB0_7 + 0xb9, 0x33, 0x04, 0x00, 0x00, //0x0000009a movl $1075, %ecx + 0x29, 0xc1, //0x0000009f subl %eax, %ecx + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000000a1 movq $-1, %rbx + 0x48, 0xd3, 0xe3, //0x000000a8 shlq %cl, %rbx + 0x48, 0xf7, 0xd3, //0x000000ab notq %rbx + 0x49, 0x85, 0xdb, //0x000000ae testq %rbx, %r11 + 0x0f, 0x84, 0x43, 0x06, 0x00, 0x00, //0x000000b1 je LBB0_42 + //0x000000b7 LBB0_7 + 0x48, 0x89, 0x75, 0xd0, //0x000000b7 movq %rsi, $-48(%rbp) + //0x000000bb LBB0_8 + 0x48, 0x85, 0xd2, //0x000000bb testq %rdx, %rdx + 0x0f, 0x94, 0xc1, //0x000000be sete %cl + 0x83, 0xf8, 0x01, //0x000000c1 cmpl $1, %eax + 0x0f, 0x97, 0xc0, //0x000000c4 seta %al + 0x20, 0xc8, //0x000000c7 andb %cl, %al + 0x0f, 0xb6, 0xc0, //0x000000c9 movzbl %al, %eax + 0x4e, 0x8d, 0x4c, 0x98, 0xfe, //0x000000cc leaq $-2(%rax,%r11,4), %r9 + 0x45, 0x69, 0xfa, 0x13, 0x44, 0x13, 0x00, //0x000000d1 imull $1262611, %r10d, %r15d + 0x31, 0xc9, //0x000000d8 xorl %ecx, %ecx + 0x84, 0xc0, //0x000000da testb %al, %al + 0xb8, 0xff, 0xfe, 0x07, 0x00, //0x000000dc movl $524031, %eax + 0x0f, 0x44, 0xc1, //0x000000e1 cmovel %ecx, %eax + 0x41, 0x29, 0xc7, //0x000000e4 subl %eax, %r15d + 0x41, 0xc1, 0xff, 0x16, //0x000000e7 sarl $22, %r15d + 0x41, 0x69, 0xcf, 0xb1, 0x6c, 0xe5, 0xff, //0x000000eb imull $-1741647, %r15d, %ecx + 0xc1, 0xe9, 0x13, //0x000000f2 shrl $19, %ecx + 0x44, 0x01, 0xd1, //0x000000f5 addl %r10d, %ecx + 0xb8, 0x24, 0x01, 0x00, 0x00, //0x000000f8 movl $292, %eax + 0x44, 0x29, 0xf8, //0x000000fd subl %r15d, %eax + 0x48, 0x98, //0x00000100 cltq + 0x48, 0xc1, 0xe0, 0x04, //0x00000102 shlq $4, %rax + 0x48, 0x8d, 0x15, 0x43, 0x12, 0x00, 0x00, //0x00000106 leaq $4675(%rip), %rdx /* _pow10_ceil_sig.g+0(%rip) */ + 0x4c, 0x8b, 0x24, 0x10, //0x0000010d movq (%rax,%rdx), %r12 + 0x4c, 0x8b, 0x6c, 0x10, 0x08, //0x00000111 movq $8(%rax,%rdx), %r13 + 0xfe, 0xc1, //0x00000116 incb %cl + 0x49, 0xd3, 0xe1, //0x00000118 shlq %cl, %r9 + 0x4c, 0x89, 0xc8, //0x0000011b movq %r9, %rax + 0x49, 0xf7, 0xe5, //0x0000011e mulq %r13 + 0x49, 0x89, 0xd2, //0x00000121 movq %rdx, %r10 + 0x4c, 0x89, 0xc8, //0x00000124 movq %r9, %rax + 0x49, 0xf7, 0xe4, //0x00000127 mulq %r12 + 0x4a, 0x8d, 0x34, 0x9d, 0x00, 0x00, 0x00, 0x00, //0x0000012a leaq (,%r11,4), %rsi + 0x4c, 0x01, 0xd0, //0x00000132 addq %r10, %rax + 0x48, 0x83, 0xd2, 0x00, //0x00000135 adcq $0, %rdx + 0x31, 0xdb, //0x00000139 xorl %ebx, %ebx + 0x48, 0x83, 0xf8, 0x01, //0x0000013b cmpq $1, %rax + 0x0f, 0x97, 0xc3, //0x0000013f seta %bl + 0x48, 0x09, 0xd3, //0x00000142 orq %rdx, %rbx + 0x48, 0xd3, 0xe6, //0x00000145 shlq %cl, %rsi + 0x48, 0x89, 0xf0, //0x00000148 movq %rsi, %rax + 0x49, 0xf7, 0xe5, //0x0000014b mulq %r13 + 0x49, 0x89, 0xd2, //0x0000014e movq %rdx, %r10 + 0x48, 0x89, 0xf0, //0x00000151 movq %rsi, %rax + 0x49, 0xf7, 0xe4, //0x00000154 mulq %r12 + 0x49, 0x89, 0xd1, //0x00000157 movq %rdx, %r9 + 0x4a, 0x8d, 0x34, 0x9d, 0x02, 0x00, 0x00, 0x00, //0x0000015a leaq $2(,%r11,4), %rsi + 0x4c, 0x01, 0xd0, //0x00000162 addq %r10, %rax + 0x49, 0x83, 0xd1, 0x00, //0x00000165 adcq $0, %r9 + 0x45, 0x31, 0xd2, //0x00000169 xorl %r10d, %r10d + 0x48, 0x83, 0xf8, 0x01, //0x0000016c cmpq $1, %rax + 0x41, 0x0f, 0x97, 0xc2, //0x00000170 seta %r10b + 0x4d, 0x09, 0xca, //0x00000174 orq %r9, %r10 + 0x48, 0xd3, 0xe6, //0x00000177 shlq %cl, %rsi + 0x48, 0x89, 0xf0, //0x0000017a movq %rsi, %rax + 0x49, 0xf7, 0xe5, //0x0000017d mulq %r13 + 0x48, 0x89, 0xd1, //0x00000180 movq %rdx, %rcx + 0x48, 0x89, 0xf0, //0x00000183 movq %rsi, %rax + 0x49, 0xf7, 0xe4, //0x00000186 mulq %r12 + 0x48, 0x01, 0xc8, //0x00000189 addq %rcx, %rax + 0x48, 0x83, 0xd2, 0x00, //0x0000018c adcq $0, %rdx + 0x31, 0xf6, //0x00000190 xorl %esi, %esi + 0x48, 0x83, 0xf8, 0x01, //0x00000192 cmpq $1, %rax + 0x40, 0x0f, 0x97, 0xc6, //0x00000196 seta %sil + 0x48, 0x09, 0xd6, //0x0000019a orq %rdx, %rsi + 0x41, 0x83, 0xe3, 0x01, //0x0000019d andl $1, %r11d + 0x4c, 0x01, 0xdb, //0x000001a1 addq %r11, %rbx + 0x4c, 0x29, 0xde, //0x000001a4 subq %r11, %rsi + 0x49, 0x83, 0xfa, 0x28, //0x000001a7 cmpq $40, %r10 + 0x0f, 0x82, 0x01, 0x01, 0x00, 0x00, //0x000001ab jb LBB0_20 + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000001b1 movabsq $-3689348814741910323, %rcx + 0x4c, 0x89, 0xc8, //0x000001bb movq %r9, %rax + 0x48, 0xf7, 0xe1, //0x000001be mulq %rcx + 0x49, 0x89, 0xd6, //0x000001c1 movq %rdx, %r14 + 0x49, 0xc1, 0xee, 0x05, //0x000001c4 shrq $5, %r14 + 0x4a, 0x8d, 0x04, 0xf5, 0x00, 0x00, 0x00, 0x00, //0x000001c8 leaq (,%r14,8), %rax + 0x48, 0x8d, 0x14, 0x80, //0x000001d0 leaq (%rax,%rax,4), %rdx + 0x48, 0x39, 0xd3, //0x000001d4 cmpq %rdx, %rbx + 0x41, 0x0f, 0x96, 0xc3, //0x000001d7 setbe %r11b + 0x48, 0x8d, 0x44, 0x80, 0x28, //0x000001db leaq $40(%rax,%rax,4), %rax + 0x48, 0x39, 0xf0, //0x000001e0 cmpq %rsi, %rax + 0x0f, 0x96, 0xc2, //0x000001e3 setbe %dl + 0x41, 0x38, 0xd3, //0x000001e6 cmpb %dl, %r11b + 0x0f, 0x84, 0xc3, 0x00, 0x00, 0x00, //0x000001e9 je LBB0_20 + 0x31, 0xd2, //0x000001ef xorl %edx, %edx + 0x48, 0x39, 0xf0, //0x000001f1 cmpq %rsi, %rax + 0x0f, 0x96, 0xc2, //0x000001f4 setbe %dl + 0x49, 0x01, 0xd6, //0x000001f7 addq %rdx, %r14 + 0x41, 0xff, 0xc7, //0x000001fa incl %r15d + 0x49, 0xba, 0x80, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, //0x000001fd movabsq $8589934464, %r10 + 0x49, 0x8d, 0x82, 0x7f, 0xe4, 0x0b, 0x54, //0x00000207 leaq $1410065535(%r10), %rax + 0x49, 0x39, 0xc6, //0x0000020e cmpq %rax, %r14 + 0x0f, 0x87, 0x1d, 0x01, 0x00, 0x00, //0x00000211 ja LBB0_25 + //0x00000217 LBB0_11 + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000217 movl $1, %eax + 0x49, 0x83, 0xfe, 0x0a, //0x0000021c cmpq $10, %r14 + 0x0f, 0x82, 0x9e, 0x01, 0x00, 0x00, //0x00000220 jb LBB0_32 + 0xb8, 0x02, 0x00, 0x00, 0x00, //0x00000226 movl $2, %eax + 0x49, 0x83, 0xfe, 0x64, //0x0000022b cmpq $100, %r14 + 0x0f, 0x82, 0x8f, 0x01, 0x00, 0x00, //0x0000022f jb LBB0_32 + 0xb8, 0x03, 0x00, 0x00, 0x00, //0x00000235 movl $3, %eax + 0x49, 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x0000023a cmpq $1000, %r14 + 0x0f, 0x82, 0x7d, 0x01, 0x00, 0x00, //0x00000241 jb LBB0_32 + 0xb8, 0x04, 0x00, 0x00, 0x00, //0x00000247 movl $4, %eax + 0x49, 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x0000024c cmpq $10000, %r14 + 0x0f, 0x82, 0x6b, 0x01, 0x00, 0x00, //0x00000253 jb LBB0_32 + 0xb8, 0x05, 0x00, 0x00, 0x00, //0x00000259 movl $5, %eax + 0x49, 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x0000025e cmpq $100000, %r14 + 0x0f, 0x82, 0x59, 0x01, 0x00, 0x00, //0x00000265 jb LBB0_32 + 0xb8, 0x06, 0x00, 0x00, 0x00, //0x0000026b movl $6, %eax + 0x49, 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x00000270 cmpq $1000000, %r14 + 0x0f, 0x82, 0x47, 0x01, 0x00, 0x00, //0x00000277 jb LBB0_32 + 0xb8, 0x07, 0x00, 0x00, 0x00, //0x0000027d movl $7, %eax + 0x49, 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x00000282 cmpq $10000000, %r14 + 0x0f, 0x82, 0x35, 0x01, 0x00, 0x00, //0x00000289 jb LBB0_32 + 0xb8, 0x08, 0x00, 0x00, 0x00, //0x0000028f movl $8, %eax + 0x49, 0x81, 0xfe, 0x00, 0xe1, 0xf5, 0x05, //0x00000294 cmpq $100000000, %r14 + 0x0f, 0x82, 0x23, 0x01, 0x00, 0x00, //0x0000029b jb LBB0_32 + 0x49, 0x81, 0xfe, 0x00, 0xca, 0x9a, 0x3b, //0x000002a1 cmpq $1000000000, %r14 + 0xb8, 0x0a, 0x00, 0x00, 0x00, //0x000002a8 movl $10, %eax + 0xe9, 0x0f, 0x01, 0x00, 0x00, //0x000002ad jmp LBB0_31 + //0x000002b2 LBB0_20 + 0x4d, 0x89, 0xcb, //0x000002b2 movq %r9, %r11 + 0x49, 0xc1, 0xeb, 0x02, //0x000002b5 shrq $2, %r11 + 0x4c, 0x89, 0xca, //0x000002b9 movq %r9, %rdx + 0x48, 0x83, 0xe2, 0xfc, //0x000002bc andq $-4, %rdx + 0x48, 0x39, 0xd3, //0x000002c0 cmpq %rdx, %rbx + 0x0f, 0x96, 0xc1, //0x000002c3 setbe %cl + 0x48, 0x8d, 0x5a, 0x04, //0x000002c6 leaq $4(%rdx), %rbx + 0x48, 0x39, 0xf3, //0x000002ca cmpq %rsi, %rbx + 0x0f, 0x96, 0xc0, //0x000002cd setbe %al + 0x38, 0xc1, //0x000002d0 cmpb %al, %cl + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x000002d2 je LBB0_22 + 0x45, 0x31, 0xf6, //0x000002d8 xorl %r14d, %r14d + 0x48, 0x39, 0xf3, //0x000002db cmpq %rsi, %rbx + 0x41, 0x0f, 0x96, 0xc6, //0x000002de setbe %r14b + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x000002e2 jmp LBB0_24 + //0x000002e7 LBB0_6 + 0x41, 0xc6, 0x00, 0x30, //0x000002e7 movb $48, (%r8) + 0x41, 0x29, 0xf8, //0x000002eb subl %edi, %r8d + 0x41, 0xff, 0xc0, //0x000002ee incl %r8d + 0xe9, 0x2d, 0x0f, 0x00, 0x00, //0x000002f1 jmp LBB0_164 + //0x000002f6 LBB0_22 + 0x48, 0x83, 0xca, 0x02, //0x000002f6 orq $2, %rdx + 0x41, 0xbe, 0x01, 0x00, 0x00, 0x00, //0x000002fa movl $1, %r14d + 0x49, 0x39, 0xd2, //0x00000300 cmpq %rdx, %r10 + 0x0f, 0x87, 0x0e, 0x00, 0x00, 0x00, //0x00000303 ja LBB0_24 + 0x0f, 0x94, 0xc0, //0x00000309 sete %al + 0x41, 0xc0, 0xe9, 0x02, //0x0000030c shrb $2, %r9b + 0x41, 0x20, 0xc1, //0x00000310 andb %al, %r9b + 0x45, 0x0f, 0xb6, 0xf1, //0x00000313 movzbl %r9b, %r14d + //0x00000317 LBB0_24 + 0x4d, 0x01, 0xde, //0x00000317 addq %r11, %r14 + 0x49, 0xba, 0x80, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, //0x0000031a movabsq $8589934464, %r10 + 0x49, 0x8d, 0x82, 0x7f, 0xe4, 0x0b, 0x54, //0x00000324 leaq $1410065535(%r10), %rax + 0x49, 0x39, 0xc6, //0x0000032b cmpq %rax, %r14 + 0x0f, 0x86, 0xe3, 0xfe, 0xff, 0xff, //0x0000032e jbe LBB0_11 + //0x00000334 LBB0_25 + 0x4c, 0x89, 0xf2, //0x00000334 movq %r14, %rdx + 0x48, 0xc1, 0xea, 0x0b, //0x00000337 shrq $11, %rdx + 0xb8, 0x0b, 0x00, 0x00, 0x00, //0x0000033b movl $11, %eax + 0x48, 0x81, 0xfa, 0xdd, 0x0e, 0xe9, 0x02, //0x00000340 cmpq $48828125, %rdx + 0x0f, 0x82, 0x77, 0x00, 0x00, 0x00, //0x00000347 jb LBB0_32 + 0x4c, 0x89, 0xf2, //0x0000034d movq %r14, %rdx + 0x48, 0xc1, 0xea, 0x0c, //0x00000350 shrq $12, %rdx + 0xb8, 0x0c, 0x00, 0x00, 0x00, //0x00000354 movl $12, %eax + 0x48, 0x81, 0xfa, 0x51, 0x4a, 0x8d, 0x0e, //0x00000359 cmpq $244140625, %rdx + 0x0f, 0x82, 0x5e, 0x00, 0x00, 0x00, //0x00000360 jb LBB0_32 + 0x4c, 0x89, 0xf2, //0x00000366 movq %r14, %rdx + 0x48, 0xc1, 0xea, 0x0d, //0x00000369 shrq $13, %rdx + 0xb8, 0x0d, 0x00, 0x00, 0x00, //0x0000036d movl $13, %eax + 0x48, 0x81, 0xfa, 0x95, 0x73, 0xc2, 0x48, //0x00000372 cmpq $1220703125, %rdx + 0x0f, 0x82, 0x45, 0x00, 0x00, 0x00, //0x00000379 jb LBB0_32 + 0xb8, 0x0e, 0x00, 0x00, 0x00, //0x0000037f movl $14, %eax + 0x48, 0xba, 0x00, 0x40, 0x7a, 0x10, 0xf3, 0x5a, 0x00, 0x00, //0x00000384 movabsq $100000000000000, %rdx + 0x49, 0x39, 0xd6, //0x0000038e cmpq %rdx, %r14 + 0x0f, 0x82, 0x2d, 0x00, 0x00, 0x00, //0x00000391 jb LBB0_32 + 0xb8, 0x0f, 0x00, 0x00, 0x00, //0x00000397 movl $15, %eax + 0x48, 0xba, 0x00, 0x80, 0xc6, 0xa4, 0x7e, 0x8d, 0x03, 0x00, //0x0000039c movabsq $1000000000000000, %rdx + 0x49, 0x39, 0xd6, //0x000003a6 cmpq %rdx, %r14 + 0x0f, 0x82, 0x15, 0x00, 0x00, 0x00, //0x000003a9 jb LBB0_32 + 0x48, 0xb8, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x000003af movabsq $10000000000000000, %rax + 0x49, 0x39, 0xc6, //0x000003b9 cmpq %rax, %r14 + 0xb8, 0x11, 0x00, 0x00, 0x00, //0x000003bc movl $17, %eax + //0x000003c1 LBB0_31 + 0x83, 0xd8, 0x00, //0x000003c1 sbbl $0, %eax + //0x000003c4 LBB0_32 + 0x46, 0x8d, 0x0c, 0x38, //0x000003c4 leal (%rax,%r15), %r9d + 0x42, 0x8d, 0x54, 0x38, 0x05, //0x000003c8 leal $5(%rax,%r15), %edx + 0x41, 0x89, 0xc4, //0x000003cd movl %eax, %r12d + 0x83, 0xfa, 0x1b, //0x000003d0 cmpl $27, %edx + 0x0f, 0x82, 0xdb, 0x00, 0x00, 0x00, //0x000003d3 jb LBB0_36 + 0x4f, 0x8d, 0x7c, 0x20, 0x01, //0x000003d9 leaq $1(%r8,%r12), %r15 + 0x4c, 0x89, 0xf0, //0x000003de movq %r14, %rax + 0x48, 0xc1, 0xe8, 0x20, //0x000003e1 shrq $32, %rax + 0x0f, 0x84, 0xa8, 0x01, 0x00, 0x00, //0x000003e5 je LBB0_40 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x000003eb movabsq $-6067343680855748867, %rdx + 0x4c, 0x89, 0xf0, //0x000003f5 movq %r14, %rax + 0x48, 0xf7, 0xe2, //0x000003f8 mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x000003fb shrq $26, %rdx + 0x69, 0xda, 0x00, 0x1f, 0x0a, 0xfa, //0x000003ff imull $-100000000, %edx, %ebx + 0x44, 0x01, 0xf3, //0x00000405 addl %r14d, %ebx + 0x0f, 0x84, 0xc6, 0x07, 0x00, 0x00, //0x00000408 je LBB0_86 + 0x89, 0xd8, //0x0000040e movl %ebx, %eax + 0x41, 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x00000410 movl $3518437209, %r10d + 0x49, 0x0f, 0xaf, 0xc2, //0x00000416 imulq %r10, %rax + 0x48, 0xc1, 0xe8, 0x2d, //0x0000041a shrq $45, %rax + 0x69, 0xc8, 0x10, 0x27, 0x00, 0x00, //0x0000041e imull $10000, %eax, %ecx + 0x29, 0xcb, //0x00000424 subl %ecx, %ebx + 0x48, 0x89, 0xc1, //0x00000426 movq %rax, %rcx + 0x49, 0x0f, 0xaf, 0xca, //0x00000429 imulq %r10, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x0000042d shrq $45, %rcx + 0x69, 0xc9, 0x10, 0x27, 0x00, 0x00, //0x00000431 imull $10000, %ecx, %ecx + 0x29, 0xc8, //0x00000437 subl %ecx, %eax + 0x0f, 0xb7, 0xcb, //0x00000439 movzwl %bx, %ecx + 0xc1, 0xe9, 0x02, //0x0000043c shrl $2, %ecx + 0x44, 0x69, 0xd1, 0x7b, 0x14, 0x00, 0x00, //0x0000043f imull $5243, %ecx, %r10d + 0x41, 0xc1, 0xea, 0x11, //0x00000446 shrl $17, %r10d + 0x41, 0x6b, 0xca, 0x64, //0x0000044a imull $100, %r10d, %ecx + 0x29, 0xcb, //0x0000044e subl %ecx, %ebx + 0x44, 0x0f, 0xb7, 0xdb, //0x00000450 movzwl %bx, %r11d + 0x0f, 0xb7, 0xd8, //0x00000454 movzwl %ax, %ebx + 0xc1, 0xeb, 0x02, //0x00000457 shrl $2, %ebx + 0x69, 0xdb, 0x7b, 0x14, 0x00, 0x00, //0x0000045a imull $5243, %ebx, %ebx + 0xc1, 0xeb, 0x11, //0x00000460 shrl $17, %ebx + 0x6b, 0xcb, 0x64, //0x00000463 imull $100, %ebx, %ecx + 0x29, 0xc8, //0x00000466 subl %ecx, %eax + 0x44, 0x0f, 0xb7, 0xf0, //0x00000468 movzwl %ax, %r14d + 0x48, 0x8d, 0x0d, 0x0d, 0x0e, 0x00, 0x00, //0x0000046c leaq $3597(%rip), %rcx /* _Digits+0(%rip) */ + 0x42, 0x0f, 0xb7, 0x04, 0x59, //0x00000473 movzwl (%rcx,%r11,2), %eax + 0x66, 0x41, 0x89, 0x47, 0xfe, //0x00000478 movw %ax, $-2(%r15) + 0x42, 0x0f, 0xb7, 0x04, 0x51, //0x0000047d movzwl (%rcx,%r10,2), %eax + 0x66, 0x41, 0x89, 0x47, 0xfc, //0x00000482 movw %ax, $-4(%r15) + 0x42, 0x0f, 0xb7, 0x04, 0x71, //0x00000487 movzwl (%rcx,%r14,2), %eax + 0x66, 0x41, 0x89, 0x47, 0xfa, //0x0000048c movw %ax, $-6(%r15) + 0x0f, 0xb7, 0x04, 0x59, //0x00000491 movzwl (%rcx,%rbx,2), %eax + 0x66, 0x41, 0x89, 0x47, 0xf8, //0x00000495 movw %ax, $-8(%r15) + 0x45, 0x31, 0xd2, //0x0000049a xorl %r10d, %r10d + 0x4d, 0x8d, 0x67, 0xf8, //0x0000049d leaq $-8(%r15), %r12 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x000004a1 cmpl $10000, %edx + 0x0f, 0x83, 0xfb, 0x00, 0x00, 0x00, //0x000004a7 jae LBB0_88 + //0x000004ad LBB0_41 + 0x89, 0xd3, //0x000004ad movl %edx, %ebx + 0xe9, 0x56, 0x01, 0x00, 0x00, //0x000004af jmp LBB0_90 + //0x000004b4 LBB0_36 + 0x45, 0x85, 0xff, //0x000004b4 testl %r15d, %r15d + 0x0f, 0x88, 0x61, 0x04, 0x00, 0x00, //0x000004b7 js LBB0_57 + 0x4b, 0x8d, 0x1c, 0x20, //0x000004bd leaq (%r8,%r12), %rbx + 0x4c, 0x89, 0xf0, //0x000004c1 movq %r14, %rax + 0x48, 0xc1, 0xe8, 0x20, //0x000004c4 shrq $32, %rax + 0x0f, 0x84, 0xed, 0x04, 0x00, 0x00, //0x000004c8 je LBB0_62 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x000004ce movabsq $-6067343680855748867, %rdx + 0x4c, 0x89, 0xf0, //0x000004d8 movq %r14, %rax + 0x48, 0xf7, 0xe2, //0x000004db mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x000004de shrq $26, %rdx + 0x69, 0xf2, 0x00, 0x1f, 0x0a, 0xfa, //0x000004e2 imull $-100000000, %edx, %esi + 0x44, 0x01, 0xf6, //0x000004e8 addl %r14d, %esi + 0x41, 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000004eb movl $3518437209, %r10d + 0x48, 0x89, 0xf0, //0x000004f1 movq %rsi, %rax + 0x49, 0x0f, 0xaf, 0xc2, //0x000004f4 imulq %r10, %rax + 0x48, 0xc1, 0xe8, 0x2d, //0x000004f8 shrq $45, %rax + 0x69, 0xc8, 0x10, 0x27, 0x00, 0x00, //0x000004fc imull $10000, %eax, %ecx + 0x29, 0xce, //0x00000502 subl %ecx, %esi + 0x48, 0x89, 0xc1, //0x00000504 movq %rax, %rcx + 0x49, 0x0f, 0xaf, 0xca, //0x00000507 imulq %r10, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x0000050b shrq $45, %rcx + 0x69, 0xc9, 0x10, 0x27, 0x00, 0x00, //0x0000050f imull $10000, %ecx, %ecx + 0x29, 0xc8, //0x00000515 subl %ecx, %eax + 0x0f, 0xb7, 0xce, //0x00000517 movzwl %si, %ecx + 0xc1, 0xe9, 0x02, //0x0000051a shrl $2, %ecx + 0x44, 0x69, 0xd1, 0x7b, 0x14, 0x00, 0x00, //0x0000051d imull $5243, %ecx, %r10d + 0x41, 0xc1, 0xea, 0x11, //0x00000524 shrl $17, %r10d + 0x41, 0x6b, 0xca, 0x64, //0x00000528 imull $100, %r10d, %ecx + 0x29, 0xce, //0x0000052c subl %ecx, %esi + 0x44, 0x0f, 0xb7, 0xde, //0x0000052e movzwl %si, %r11d + 0x0f, 0xb7, 0xf0, //0x00000532 movzwl %ax, %esi + 0xc1, 0xee, 0x02, //0x00000535 shrl $2, %esi + 0x69, 0xf6, 0x7b, 0x14, 0x00, 0x00, //0x00000538 imull $5243, %esi, %esi + 0xc1, 0xee, 0x11, //0x0000053e shrl $17, %esi + 0x6b, 0xce, 0x64, //0x00000541 imull $100, %esi, %ecx + 0x29, 0xc8, //0x00000544 subl %ecx, %eax + 0x44, 0x0f, 0xb7, 0xf8, //0x00000546 movzwl %ax, %r15d + 0x48, 0x8d, 0x0d, 0x2f, 0x0d, 0x00, 0x00, //0x0000054a leaq $3375(%rip), %rcx /* _Digits+0(%rip) */ + 0x42, 0x0f, 0xb7, 0x04, 0x59, //0x00000551 movzwl (%rcx,%r11,2), %eax + 0x66, 0x89, 0x43, 0xfe, //0x00000556 movw %ax, $-2(%rbx) + 0x42, 0x0f, 0xb7, 0x04, 0x51, //0x0000055a movzwl (%rcx,%r10,2), %eax + 0x66, 0x89, 0x43, 0xfc, //0x0000055f movw %ax, $-4(%rbx) + 0x42, 0x0f, 0xb7, 0x04, 0x79, //0x00000563 movzwl (%rcx,%r15,2), %eax + 0x66, 0x89, 0x43, 0xfa, //0x00000568 movw %ax, $-6(%rbx) + 0x48, 0x8d, 0x43, 0xf8, //0x0000056c leaq $-8(%rbx), %rax + 0x0f, 0xb7, 0x0c, 0x71, //0x00000570 movzwl (%rcx,%rsi,2), %ecx + 0x66, 0x89, 0x4b, 0xf8, //0x00000574 movw %cx, $-8(%rbx) + 0x41, 0x89, 0xd6, //0x00000578 movl %edx, %r14d + 0x49, 0x89, 0xff, //0x0000057b movq %rdi, %r15 + 0x41, 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x0000057e cmpl $10000, %r14d + 0x0f, 0x83, 0x43, 0x04, 0x00, 0x00, //0x00000585 jae LBB0_63 + //0x0000058b LBB0_39 + 0x44, 0x89, 0xf2, //0x0000058b movl %r14d, %edx + 0xe9, 0x97, 0x04, 0x00, 0x00, //0x0000058e jmp LBB0_65 + //0x00000593 LBB0_40 + 0x45, 0x31, 0xd2, //0x00000593 xorl %r10d, %r10d + 0x44, 0x89, 0xf2, //0x00000596 movl %r14d, %edx + 0x4d, 0x89, 0xfc, //0x00000599 movq %r15, %r12 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x0000059c cmpl $10000, %edx + 0x0f, 0x82, 0x05, 0xff, 0xff, 0xff, //0x000005a2 jb LBB0_41 + //0x000005a8 LBB0_88 + 0x41, 0xbb, 0x59, 0x17, 0xb7, 0xd1, //0x000005a8 movl $3518437209, %r11d + 0x4c, 0x8d, 0x35, 0xcb, 0x0c, 0x00, 0x00, //0x000005ae leaq $3275(%rip), %r14 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000005b5 .p2align 4, 0x90 + //0x000005c0 LBB0_89 + 0x89, 0xd3, //0x000005c0 movl %edx, %ebx + 0x49, 0x0f, 0xaf, 0xdb, //0x000005c2 imulq %r11, %rbx + 0x48, 0xc1, 0xeb, 0x2d, //0x000005c6 shrq $45, %rbx + 0x69, 0xc3, 0xf0, 0xd8, 0xff, 0xff, //0x000005ca imull $-10000, %ebx, %eax + 0x01, 0xd0, //0x000005d0 addl %edx, %eax + 0x48, 0x69, 0xf0, 0x1f, 0x85, 0xeb, 0x51, //0x000005d2 imulq $1374389535, %rax, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x000005d9 shrq $37, %rsi + 0x6b, 0xce, 0x64, //0x000005dd imull $100, %esi, %ecx + 0x29, 0xc8, //0x000005e0 subl %ecx, %eax + 0x41, 0x0f, 0xb7, 0x04, 0x46, //0x000005e2 movzwl (%r14,%rax,2), %eax + 0x66, 0x41, 0x89, 0x44, 0x24, 0xfe, //0x000005e7 movw %ax, $-2(%r12) + 0x41, 0x0f, 0xb7, 0x04, 0x76, //0x000005ed movzwl (%r14,%rsi,2), %eax + 0x66, 0x41, 0x89, 0x44, 0x24, 0xfc, //0x000005f2 movw %ax, $-4(%r12) + 0x49, 0x83, 0xc4, 0xfc, //0x000005f8 addq $-4, %r12 + 0x81, 0xfa, 0xff, 0xe0, 0xf5, 0x05, //0x000005fc cmpl $99999999, %edx + 0x89, 0xda, //0x00000602 movl %ebx, %edx + 0x0f, 0x87, 0xb6, 0xff, 0xff, 0xff, //0x00000604 ja LBB0_89 + //0x0000060a LBB0_90 + 0x83, 0xfb, 0x64, //0x0000060a cmpl $100, %ebx + 0x0f, 0x82, 0x2e, 0x00, 0x00, 0x00, //0x0000060d jb LBB0_92 + 0x0f, 0xb7, 0xc3, //0x00000613 movzwl %bx, %eax + 0xc1, 0xe8, 0x02, //0x00000616 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000619 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x0000061f shrl $17, %eax + 0x6b, 0xc8, 0x64, //0x00000622 imull $100, %eax, %ecx + 0x29, 0xcb, //0x00000625 subl %ecx, %ebx + 0x0f, 0xb7, 0xcb, //0x00000627 movzwl %bx, %ecx + 0x48, 0x8d, 0x15, 0x4f, 0x0c, 0x00, 0x00, //0x0000062a leaq $3151(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000631 movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x41, 0x89, 0x4c, 0x24, 0xfe, //0x00000635 movw %cx, $-2(%r12) + 0x49, 0x83, 0xc4, 0xfe, //0x0000063b addq $-2, %r12 + 0x89, 0xc3, //0x0000063f movl %eax, %ebx + //0x00000641 LBB0_92 + 0x49, 0x8d, 0x40, 0x01, //0x00000641 leaq $1(%r8), %rax + 0x83, 0xfb, 0x0a, //0x00000645 cmpl $10, %ebx + 0x0f, 0x82, 0x18, 0x00, 0x00, 0x00, //0x00000648 jb LBB0_94 + 0x89, 0xd9, //0x0000064e movl %ebx, %ecx + 0x48, 0x8d, 0x15, 0x29, 0x0c, 0x00, 0x00, //0x00000650 leaq $3113(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000657 movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x41, 0x89, 0x4c, 0x24, 0xfe, //0x0000065b movw %cx, $-2(%r12) + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00000661 jmp LBB0_95 + //0x00000666 LBB0_94 + 0x80, 0xc3, 0x30, //0x00000666 addb $48, %bl + 0x88, 0x18, //0x00000669 movb %bl, (%rax) + //0x0000066b LBB0_95 + 0x4d, 0x29, 0xd7, //0x0000066b subq %r10, %r15 + 0x90, 0x90, //0x0000066e .p2align 4, 0x90 + //0x00000670 LBB0_96 + 0x41, 0x80, 0x7f, 0xff, 0x30, //0x00000670 cmpb $48, $-1(%r15) + 0x4d, 0x8d, 0x7f, 0xff, //0x00000675 leaq $-1(%r15), %r15 + 0x0f, 0x84, 0xf1, 0xff, 0xff, 0xff, //0x00000679 je LBB0_96 + 0x41, 0x8a, 0x48, 0x01, //0x0000067f movb $1(%r8), %cl + 0x41, 0x88, 0x08, //0x00000683 movb %cl, (%r8) + 0x49, 0x8d, 0x4f, 0x01, //0x00000686 leaq $1(%r15), %rcx + 0x48, 0x89, 0xca, //0x0000068a movq %rcx, %rdx + 0x48, 0x29, 0xc2, //0x0000068d subq %rax, %rdx + 0x48, 0x83, 0xfa, 0x02, //0x00000690 cmpq $2, %rdx + 0x0f, 0x8c, 0x06, 0x00, 0x00, 0x00, //0x00000694 jl LBB0_99 + 0xc6, 0x00, 0x2e, //0x0000069a movb $46, (%rax) + 0x49, 0x89, 0xcf, //0x0000069d movq %rcx, %r15 + //0x000006a0 LBB0_99 + 0x41, 0xc6, 0x07, 0x65, //0x000006a0 movb $101, (%r15) + 0x45, 0x85, 0xc9, //0x000006a4 testl %r9d, %r9d + 0x0f, 0x8e, 0xd1, 0x02, 0x00, 0x00, //0x000006a7 jle LBB0_102 + 0x41, 0xff, 0xc9, //0x000006ad decl %r9d + 0x41, 0xc6, 0x47, 0x01, 0x2b, //0x000006b0 movb $43, $1(%r15) + 0x44, 0x89, 0xc8, //0x000006b5 movl %r9d, %eax + 0x83, 0xf8, 0x64, //0x000006b8 cmpl $100, %eax + 0x0f, 0x8c, 0xd3, 0x02, 0x00, 0x00, //0x000006bb jl LBB0_103 + //0x000006c1 LBB0_101 + 0x89, 0xc1, //0x000006c1 movl %eax, %ecx + 0xba, 0xcd, 0xcc, 0xcc, 0xcc, //0x000006c3 movl $3435973837, %edx + 0x48, 0x0f, 0xaf, 0xd1, //0x000006c8 imulq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x23, //0x000006cc shrq $35, %rdx + 0x8d, 0x0c, 0x12, //0x000006d0 leal (%rdx,%rdx), %ecx + 0x8d, 0x0c, 0x89, //0x000006d3 leal (%rcx,%rcx,4), %ecx + 0x29, 0xc8, //0x000006d6 subl %ecx, %eax + 0x48, 0x8d, 0x0d, 0xa1, 0x0b, 0x00, 0x00, //0x000006d8 leaq $2977(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x51, //0x000006df movzwl (%rcx,%rdx,2), %ecx + 0x66, 0x41, 0x89, 0x4f, 0x02, //0x000006e3 movw %cx, $2(%r15) + 0x0c, 0x30, //0x000006e8 orb $48, %al + 0x41, 0x88, 0x47, 0x04, //0x000006ea movb %al, $4(%r15) + 0x49, 0x83, 0xc7, 0x05, //0x000006ee addq $5, %r15 + 0x4d, 0x89, 0xf8, //0x000006f2 movq %r15, %r8 + 0xe9, 0x26, 0x0b, 0x00, 0x00, //0x000006f5 jmp LBB0_163 + //0x000006fa LBB0_42 + 0x49, 0xd3, 0xeb, //0x000006fa shrq %cl, %r11 + 0x48, 0xb8, 0x80, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, //0x000006fd movabsq $8589934464, %rax + 0x48, 0x05, 0x7f, 0xe4, 0x0b, 0x54, //0x00000707 addq $1410065535, %rax + 0x49, 0x39, 0xc3, //0x0000070d cmpq %rax, %r11 + 0x0f, 0x86, 0xf7, 0x03, 0x00, 0x00, //0x00000710 jbe LBB0_73 + 0x4c, 0x89, 0xd8, //0x00000716 movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x0b, //0x00000719 shrq $11, %rax + 0x41, 0xba, 0x0b, 0x00, 0x00, 0x00, //0x0000071d movl $11, %r10d + 0x48, 0x3d, 0xdd, 0x0e, 0xe9, 0x02, //0x00000723 cmpq $48828125, %rax + 0x0f, 0x82, 0x7b, 0x00, 0x00, 0x00, //0x00000729 jb LBB0_49 + 0x4c, 0x89, 0xd8, //0x0000072f movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x0c, //0x00000732 shrq $12, %rax + 0x41, 0xba, 0x0c, 0x00, 0x00, 0x00, //0x00000736 movl $12, %r10d + 0x48, 0x3d, 0x51, 0x4a, 0x8d, 0x0e, //0x0000073c cmpq $244140625, %rax + 0x0f, 0x82, 0x62, 0x00, 0x00, 0x00, //0x00000742 jb LBB0_49 + 0x4c, 0x89, 0xd8, //0x00000748 movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x0d, //0x0000074b shrq $13, %rax + 0x41, 0xba, 0x0d, 0x00, 0x00, 0x00, //0x0000074f movl $13, %r10d + 0x48, 0x3d, 0x95, 0x73, 0xc2, 0x48, //0x00000755 cmpq $1220703125, %rax + 0x0f, 0x82, 0x49, 0x00, 0x00, 0x00, //0x0000075b jb LBB0_49 + 0x41, 0xba, 0x0e, 0x00, 0x00, 0x00, //0x00000761 movl $14, %r10d + 0x48, 0xb8, 0x00, 0x40, 0x7a, 0x10, 0xf3, 0x5a, 0x00, 0x00, //0x00000767 movabsq $100000000000000, %rax + 0x49, 0x39, 0xc3, //0x00000771 cmpq %rax, %r11 + 0x0f, 0x82, 0x30, 0x00, 0x00, 0x00, //0x00000774 jb LBB0_49 + 0x41, 0xba, 0x0f, 0x00, 0x00, 0x00, //0x0000077a movl $15, %r10d + 0x48, 0xb8, 0x00, 0x80, 0xc6, 0xa4, 0x7e, 0x8d, 0x03, 0x00, //0x00000780 movabsq $1000000000000000, %rax + 0x49, 0x39, 0xc3, //0x0000078a cmpq %rax, %r11 + 0x0f, 0x82, 0x17, 0x00, 0x00, 0x00, //0x0000078d jb LBB0_49 + 0x48, 0xb8, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x00000793 movabsq $10000000000000000, %rax + 0x49, 0x39, 0xc3, //0x0000079d cmpq %rax, %r11 + 0x41, 0xba, 0x11, 0x00, 0x00, 0x00, //0x000007a0 movl $17, %r10d + 0x49, 0x83, 0xda, 0x00, //0x000007a6 sbbq $0, %r10 + //0x000007aa LBB0_49 + 0x4d, 0x01, 0xc2, //0x000007aa addq %r8, %r10 + //0x000007ad LBB0_50 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x000007ad movabsq $-6067343680855748867, %rdx + 0x4c, 0x89, 0xd8, //0x000007b7 movq %r11, %rax + 0x48, 0xf7, 0xe2, //0x000007ba mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x000007bd shrq $26, %rdx + 0x69, 0xca, 0x00, 0x1f, 0x0a, 0xfa, //0x000007c1 imull $-100000000, %edx, %ecx + 0x44, 0x01, 0xd9, //0x000007c7 addl %r11d, %ecx + 0x41, 0xb9, 0x59, 0x17, 0xb7, 0xd1, //0x000007ca movl $3518437209, %r9d + 0x48, 0x89, 0xce, //0x000007d0 movq %rcx, %rsi + 0x49, 0x0f, 0xaf, 0xf1, //0x000007d3 imulq %r9, %rsi + 0x48, 0xc1, 0xee, 0x2d, //0x000007d7 shrq $45, %rsi + 0x69, 0xde, 0x10, 0x27, 0x00, 0x00, //0x000007db imull $10000, %esi, %ebx + 0x29, 0xd9, //0x000007e1 subl %ebx, %ecx + 0x48, 0x89, 0xf0, //0x000007e3 movq %rsi, %rax + 0x49, 0x0f, 0xaf, 0xc1, //0x000007e6 imulq %r9, %rax + 0x48, 0xc1, 0xe8, 0x2d, //0x000007ea shrq $45, %rax + 0x69, 0xc0, 0x10, 0x27, 0x00, 0x00, //0x000007ee imull $10000, %eax, %eax + 0x29, 0xc6, //0x000007f4 subl %eax, %esi + 0x0f, 0xb7, 0xc1, //0x000007f6 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x000007f9 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000007fc imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000802 shrl $17, %eax + 0x6b, 0xd8, 0x64, //0x00000805 imull $100, %eax, %ebx + 0x29, 0xd9, //0x00000808 subl %ebx, %ecx + 0x44, 0x0f, 0xb7, 0xc9, //0x0000080a movzwl %cx, %r9d + 0x0f, 0xb7, 0xde, //0x0000080e movzwl %si, %ebx + 0xc1, 0xeb, 0x02, //0x00000811 shrl $2, %ebx + 0x69, 0xdb, 0x7b, 0x14, 0x00, 0x00, //0x00000814 imull $5243, %ebx, %ebx + 0xc1, 0xeb, 0x11, //0x0000081a shrl $17, %ebx + 0x6b, 0xcb, 0x64, //0x0000081d imull $100, %ebx, %ecx + 0x29, 0xce, //0x00000820 subl %ecx, %esi + 0x44, 0x0f, 0xb7, 0xde, //0x00000822 movzwl %si, %r11d + 0x48, 0x8d, 0x35, 0x53, 0x0a, 0x00, 0x00, //0x00000826 leaq $2643(%rip), %rsi /* _Digits+0(%rip) */ + 0x42, 0x0f, 0xb7, 0x0c, 0x4e, //0x0000082d movzwl (%rsi,%r9,2), %ecx + 0x66, 0x41, 0x89, 0x4a, 0xfe, //0x00000832 movw %cx, $-2(%r10) + 0x0f, 0xb7, 0x04, 0x46, //0x00000837 movzwl (%rsi,%rax,2), %eax + 0x66, 0x41, 0x89, 0x42, 0xfc, //0x0000083b movw %ax, $-4(%r10) + 0x42, 0x0f, 0xb7, 0x04, 0x5e, //0x00000840 movzwl (%rsi,%r11,2), %eax + 0x66, 0x41, 0x89, 0x42, 0xfa, //0x00000845 movw %ax, $-6(%r10) + 0x0f, 0xb7, 0x04, 0x5e, //0x0000084a movzwl (%rsi,%rbx,2), %eax + 0x66, 0x41, 0x89, 0x42, 0xf8, //0x0000084e movw %ax, $-8(%r10) + 0x49, 0x8d, 0x42, 0xf8, //0x00000853 leaq $-8(%r10), %rax + 0x49, 0x89, 0xd3, //0x00000857 movq %rdx, %r11 + 0x41, 0x81, 0xfb, 0x10, 0x27, 0x00, 0x00, //0x0000085a cmpl $10000, %r11d + 0x0f, 0x82, 0x4b, 0x03, 0x00, 0x00, //0x00000861 jb LBB0_83 + //0x00000867 LBB0_51 + 0x41, 0xb9, 0x59, 0x17, 0xb7, 0xd1, //0x00000867 movl $3518437209, %r9d + 0x4c, 0x8d, 0x35, 0x0c, 0x0a, 0x00, 0x00, //0x0000086d leaq $2572(%rip), %r14 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000874 .p2align 4, 0x90 + //0x00000880 LBB0_52 + 0x44, 0x89, 0xda, //0x00000880 movl %r11d, %edx + 0x49, 0x0f, 0xaf, 0xd1, //0x00000883 imulq %r9, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x00000887 shrq $45, %rdx + 0x69, 0xca, 0xf0, 0xd8, 0xff, 0xff, //0x0000088b imull $-10000, %edx, %ecx + 0x44, 0x01, 0xd9, //0x00000891 addl %r11d, %ecx + 0x48, 0x69, 0xf1, 0x1f, 0x85, 0xeb, 0x51, //0x00000894 imulq $1374389535, %rcx, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x0000089b shrq $37, %rsi + 0x6b, 0xde, 0x64, //0x0000089f imull $100, %esi, %ebx + 0x29, 0xd9, //0x000008a2 subl %ebx, %ecx + 0x41, 0x0f, 0xb7, 0x0c, 0x4e, //0x000008a4 movzwl (%r14,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfe, //0x000008a9 movw %cx, $-2(%rax) + 0x41, 0x0f, 0xb7, 0x0c, 0x76, //0x000008ad movzwl (%r14,%rsi,2), %ecx + 0x66, 0x89, 0x48, 0xfc, //0x000008b2 movw %cx, $-4(%rax) + 0x48, 0x83, 0xc0, 0xfc, //0x000008b6 addq $-4, %rax + 0x41, 0x81, 0xfb, 0xff, 0xe0, 0xf5, 0x05, //0x000008ba cmpl $99999999, %r11d + 0x41, 0x89, 0xd3, //0x000008c1 movl %edx, %r11d + 0x0f, 0x87, 0xb6, 0xff, 0xff, 0xff, //0x000008c4 ja LBB0_52 + 0x83, 0xfa, 0x64, //0x000008ca cmpl $100, %edx + 0x0f, 0x82, 0x2c, 0x00, 0x00, 0x00, //0x000008cd jb LBB0_55 + //0x000008d3 LBB0_54 + 0x0f, 0xb7, 0xca, //0x000008d3 movzwl %dx, %ecx + 0xc1, 0xe9, 0x02, //0x000008d6 shrl $2, %ecx + 0x69, 0xc9, 0x7b, 0x14, 0x00, 0x00, //0x000008d9 imull $5243, %ecx, %ecx + 0xc1, 0xe9, 0x11, //0x000008df shrl $17, %ecx + 0x6b, 0xf1, 0x64, //0x000008e2 imull $100, %ecx, %esi + 0x29, 0xf2, //0x000008e5 subl %esi, %edx + 0x0f, 0xb7, 0xd2, //0x000008e7 movzwl %dx, %edx + 0x48, 0x8d, 0x35, 0x8f, 0x09, 0x00, 0x00, //0x000008ea leaq $2447(%rip), %rsi /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x14, 0x56, //0x000008f1 movzwl (%rsi,%rdx,2), %edx + 0x66, 0x89, 0x50, 0xfe, //0x000008f5 movw %dx, $-2(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x000008f9 addq $-2, %rax + 0x89, 0xca, //0x000008fd movl %ecx, %edx + //0x000008ff LBB0_55 + 0x83, 0xfa, 0x0a, //0x000008ff cmpl $10, %edx + 0x0f, 0x82, 0xbb, 0x02, 0x00, 0x00, //0x00000902 jb LBB0_84 + 0x89, 0xd1, //0x00000908 movl %edx, %ecx + 0x48, 0x8d, 0x15, 0x6f, 0x09, 0x00, 0x00, //0x0000090a leaq $2415(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000911 movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfe, //0x00000915 movw %cx, $-2(%rax) + 0xe9, 0xab, 0x02, 0x00, 0x00, //0x00000919 jmp LBB0_85 + //0x0000091e LBB0_57 + 0x45, 0x85, 0xc9, //0x0000091e testl %r9d, %r9d + 0x0f, 0x8f, 0xea, 0x04, 0x00, 0x00, //0x00000921 jg LBB0_122 + 0x66, 0x41, 0xc7, 0x00, 0x30, 0x2e, //0x00000927 movw $11824, (%r8) + 0x49, 0x83, 0xc0, 0x02, //0x0000092d addq $2, %r8 + 0x45, 0x85, 0xc9, //0x00000931 testl %r9d, %r9d + 0x0f, 0x89, 0xd7, 0x04, 0x00, 0x00, //0x00000934 jns LBB0_122 + 0x31, 0xc0, //0x0000093a xorl %eax, %eax + 0x41, 0x83, 0xf9, 0x80, //0x0000093c cmpl $-128, %r9d + 0x0f, 0x87, 0xb4, 0x04, 0x00, 0x00, //0x00000940 ja LBB0_120 + 0x45, 0x89, 0xcb, //0x00000946 movl %r9d, %r11d + 0x41, 0xf7, 0xd3, //0x00000949 notl %r11d + 0x49, 0xff, 0xc3, //0x0000094c incq %r11 + 0x4c, 0x89, 0xd8, //0x0000094f movq %r11, %rax + 0x4c, 0x21, 0xd0, //0x00000952 andq %r10, %rax + 0x48, 0x8d, 0x70, 0x80, //0x00000955 leaq $-128(%rax), %rsi + 0x48, 0x89, 0xf2, //0x00000959 movq %rsi, %rdx + 0x48, 0xc1, 0xea, 0x07, //0x0000095c shrq $7, %rdx + 0x48, 0xff, 0xc2, //0x00000960 incq %rdx + 0x41, 0x89, 0xd7, //0x00000963 movl %edx, %r15d + 0x41, 0x83, 0xe7, 0x03, //0x00000966 andl $3, %r15d + 0x48, 0x81, 0xfe, 0x80, 0x01, 0x00, 0x00, //0x0000096a cmpq $384, %rsi + 0x0f, 0x83, 0x8d, 0x03, 0x00, 0x00, //0x00000971 jae LBB0_114 + 0x31, 0xd2, //0x00000977 xorl %edx, %edx + 0xe9, 0x33, 0x04, 0x00, 0x00, //0x00000979 jmp LBB0_116 + //0x0000097e LBB0_102 + 0x41, 0xc6, 0x47, 0x01, 0x2d, //0x0000097e movb $45, $1(%r15) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000983 movl $1, %eax + 0x44, 0x29, 0xc8, //0x00000988 subl %r9d, %eax + 0x83, 0xf8, 0x64, //0x0000098b cmpl $100, %eax + 0x0f, 0x8d, 0x2d, 0xfd, 0xff, 0xff, //0x0000098e jge LBB0_101 + //0x00000994 LBB0_103 + 0x83, 0xf8, 0x0a, //0x00000994 cmpl $10, %eax + 0x0f, 0x8c, 0x5e, 0x01, 0x00, 0x00, //0x00000997 jl LBB0_105 + 0x48, 0x98, //0x0000099d cltq + 0x48, 0x8d, 0x0d, 0xda, 0x08, 0x00, 0x00, //0x0000099f leaq $2266(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x000009a6 movzwl (%rcx,%rax,2), %eax + 0x66, 0x41, 0x89, 0x47, 0x02, //0x000009aa movw %ax, $2(%r15) + 0x49, 0x83, 0xc7, 0x04, //0x000009af addq $4, %r15 + 0x4d, 0x89, 0xf8, //0x000009b3 movq %r15, %r8 + 0xe9, 0x65, 0x08, 0x00, 0x00, //0x000009b6 jmp LBB0_163 + //0x000009bb LBB0_62 + 0x48, 0x89, 0xd8, //0x000009bb movq %rbx, %rax + 0x49, 0x89, 0xff, //0x000009be movq %rdi, %r15 + 0x41, 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x000009c1 cmpl $10000, %r14d + 0x0f, 0x82, 0xbd, 0xfb, 0xff, 0xff, //0x000009c8 jb LBB0_39 + //0x000009ce LBB0_63 + 0x41, 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000009ce movl $3518437209, %r10d + 0x4c, 0x8d, 0x1d, 0xa5, 0x08, 0x00, 0x00, //0x000009d4 leaq $2213(%rip), %r11 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000009db .p2align 4, 0x90 + //0x000009e0 LBB0_64 + 0x44, 0x89, 0xf2, //0x000009e0 movl %r14d, %edx + 0x49, 0x0f, 0xaf, 0xd2, //0x000009e3 imulq %r10, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x000009e7 shrq $45, %rdx + 0x69, 0xf2, 0xf0, 0xd8, 0xff, 0xff, //0x000009eb imull $-10000, %edx, %esi + 0x44, 0x01, 0xf6, //0x000009f1 addl %r14d, %esi + 0x48, 0x69, 0xce, 0x1f, 0x85, 0xeb, 0x51, //0x000009f4 imulq $1374389535, %rsi, %rcx + 0x48, 0xc1, 0xe9, 0x25, //0x000009fb shrq $37, %rcx + 0x6b, 0xf9, 0x64, //0x000009ff imull $100, %ecx, %edi + 0x29, 0xfe, //0x00000a02 subl %edi, %esi + 0x41, 0x0f, 0xb7, 0x34, 0x73, //0x00000a04 movzwl (%r11,%rsi,2), %esi + 0x66, 0x89, 0x70, 0xfe, //0x00000a09 movw %si, $-2(%rax) + 0x41, 0x0f, 0xb7, 0x0c, 0x4b, //0x00000a0d movzwl (%r11,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfc, //0x00000a12 movw %cx, $-4(%rax) + 0x48, 0x83, 0xc0, 0xfc, //0x00000a16 addq $-4, %rax + 0x41, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x00000a1a cmpl $99999999, %r14d + 0x41, 0x89, 0xd6, //0x00000a21 movl %edx, %r14d + 0x0f, 0x87, 0xb6, 0xff, 0xff, 0xff, //0x00000a24 ja LBB0_64 + //0x00000a2a LBB0_65 + 0x83, 0xfa, 0x64, //0x00000a2a cmpl $100, %edx + 0x0f, 0x82, 0x2c, 0x00, 0x00, 0x00, //0x00000a2d jb LBB0_67 + 0x0f, 0xb7, 0xca, //0x00000a33 movzwl %dx, %ecx + 0xc1, 0xe9, 0x02, //0x00000a36 shrl $2, %ecx + 0x69, 0xc9, 0x7b, 0x14, 0x00, 0x00, //0x00000a39 imull $5243, %ecx, %ecx + 0xc1, 0xe9, 0x11, //0x00000a3f shrl $17, %ecx + 0x6b, 0xf1, 0x64, //0x00000a42 imull $100, %ecx, %esi + 0x29, 0xf2, //0x00000a45 subl %esi, %edx + 0x0f, 0xb7, 0xd2, //0x00000a47 movzwl %dx, %edx + 0x48, 0x8d, 0x35, 0x2f, 0x08, 0x00, 0x00, //0x00000a4a leaq $2095(%rip), %rsi /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x14, 0x56, //0x00000a51 movzwl (%rsi,%rdx,2), %edx + 0x66, 0x89, 0x50, 0xfe, //0x00000a55 movw %dx, $-2(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x00000a59 addq $-2, %rax + 0x89, 0xca, //0x00000a5d movl %ecx, %edx + //0x00000a5f LBB0_67 + 0x4c, 0x89, 0xff, //0x00000a5f movq %r15, %rdi + 0x4c, 0x8b, 0x5d, 0xd0, //0x00000a62 movq $-48(%rbp), %r11 + 0x49, 0x63, 0xc9, //0x00000a66 movslq %r9d, %rcx + 0x83, 0xfa, 0x0a, //0x00000a69 cmpl $10, %edx + 0x0f, 0x82, 0x22, 0x00, 0x00, 0x00, //0x00000a6c jb LBB0_69 + 0x89, 0xd2, //0x00000a72 movl %edx, %edx + 0x48, 0x8d, 0x35, 0x05, 0x08, 0x00, 0x00, //0x00000a74 leaq $2053(%rip), %rsi /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x14, 0x56, //0x00000a7b movzwl (%rsi,%rdx,2), %edx + 0x66, 0x89, 0x50, 0xfe, //0x00000a7f movw %dx, $-2(%rax) + 0x49, 0x01, 0xc8, //0x00000a83 addq %rcx, %r8 + 0x49, 0x39, 0xcc, //0x00000a86 cmpq %rcx, %r12 + 0x0f, 0x8c, 0x17, 0x00, 0x00, 0x00, //0x00000a89 jl LBB0_70 + 0xe9, 0x8c, 0x07, 0x00, 0x00, //0x00000a8f jmp LBB0_163 + //0x00000a94 LBB0_69 + 0x80, 0xc2, 0x30, //0x00000a94 addb $48, %dl + 0x41, 0x88, 0x10, //0x00000a97 movb %dl, (%r8) + 0x49, 0x01, 0xc8, //0x00000a9a addq %rcx, %r8 + 0x49, 0x39, 0xcc, //0x00000a9d cmpq %rcx, %r12 + 0x0f, 0x8d, 0x7a, 0x07, 0x00, 0x00, //0x00000aa0 jge LBB0_163 + //0x00000aa6 LBB0_70 + 0x4b, 0x8d, 0x04, 0x23, //0x00000aa6 leaq (%r11,%r12), %rax + 0x4c, 0x8d, 0x54, 0x07, 0x01, //0x00000aaa leaq $1(%rdi,%rax), %r10 + 0x4d, 0x39, 0xc2, //0x00000aaf cmpq %r8, %r10 + 0x4d, 0x0f, 0x46, 0xd0, //0x00000ab2 cmovbeq %r8, %r10 + 0x4a, 0x8d, 0x0c, 0x1f, //0x00000ab6 leaq (%rdi,%r11), %rcx + 0x4c, 0x01, 0xe1, //0x00000aba addq %r12, %rcx + 0x49, 0x29, 0xca, //0x00000abd subq %rcx, %r10 + 0x49, 0x81, 0xfa, 0x80, 0x00, 0x00, 0x00, //0x00000ac0 cmpq $128, %r10 + 0x0f, 0x82, 0x23, 0x02, 0x00, 0x00, //0x00000ac7 jb LBB0_113 + 0x4d, 0x89, 0xd1, //0x00000acd movq %r10, %r9 + 0x49, 0x83, 0xe1, 0x80, //0x00000ad0 andq $-128, %r9 + 0x49, 0x8d, 0x71, 0x80, //0x00000ad4 leaq $-128(%r9), %rsi + 0x48, 0x89, 0xf2, //0x00000ad8 movq %rsi, %rdx + 0x48, 0xc1, 0xea, 0x07, //0x00000adb shrq $7, %rdx + 0x48, 0xff, 0xc2, //0x00000adf incq %rdx + 0x89, 0xd1, //0x00000ae2 movl %edx, %ecx + 0x83, 0xe1, 0x03, //0x00000ae4 andl $3, %ecx + 0x48, 0x81, 0xfe, 0x80, 0x01, 0x00, 0x00, //0x00000ae7 cmpq $384, %rsi + 0x0f, 0x83, 0xfb, 0x00, 0x00, 0x00, //0x00000aee jae LBB0_106 + 0x31, 0xc0, //0x00000af4 xorl %eax, %eax + 0xe9, 0xa5, 0x01, 0x00, 0x00, //0x00000af6 jmp LBB0_108 + //0x00000afb LBB0_105 + 0x04, 0x30, //0x00000afb addb $48, %al + 0x41, 0x88, 0x47, 0x02, //0x00000afd movb %al, $2(%r15) + 0x49, 0x83, 0xc7, 0x03, //0x00000b01 addq $3, %r15 + 0x4d, 0x89, 0xf8, //0x00000b05 movq %r15, %r8 + 0xe9, 0x13, 0x07, 0x00, 0x00, //0x00000b08 jmp LBB0_163 + //0x00000b0d LBB0_73 + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x00000b0d movl $1, %r10d + 0x49, 0x83, 0xfb, 0x0a, //0x00000b13 cmpq $10, %r11 + 0x0f, 0x82, 0x82, 0x00, 0x00, 0x00, //0x00000b17 jb LBB0_81 + 0x41, 0xba, 0x02, 0x00, 0x00, 0x00, //0x00000b1d movl $2, %r10d + 0x49, 0x83, 0xfb, 0x64, //0x00000b23 cmpq $100, %r11 + 0x0f, 0x82, 0x72, 0x00, 0x00, 0x00, //0x00000b27 jb LBB0_81 + 0x41, 0xba, 0x03, 0x00, 0x00, 0x00, //0x00000b2d movl $3, %r10d + 0x49, 0x81, 0xfb, 0xe8, 0x03, 0x00, 0x00, //0x00000b33 cmpq $1000, %r11 + 0x0f, 0x82, 0x5f, 0x00, 0x00, 0x00, //0x00000b3a jb LBB0_81 + 0x41, 0xba, 0x04, 0x00, 0x00, 0x00, //0x00000b40 movl $4, %r10d + 0x49, 0x81, 0xfb, 0x10, 0x27, 0x00, 0x00, //0x00000b46 cmpq $10000, %r11 + 0x0f, 0x82, 0x4c, 0x00, 0x00, 0x00, //0x00000b4d jb LBB0_81 + 0x41, 0xba, 0x05, 0x00, 0x00, 0x00, //0x00000b53 movl $5, %r10d + 0x49, 0x81, 0xfb, 0xa0, 0x86, 0x01, 0x00, //0x00000b59 cmpq $100000, %r11 + 0x0f, 0x82, 0x39, 0x00, 0x00, 0x00, //0x00000b60 jb LBB0_81 + 0x41, 0xba, 0x06, 0x00, 0x00, 0x00, //0x00000b66 movl $6, %r10d + 0x49, 0x81, 0xfb, 0x40, 0x42, 0x0f, 0x00, //0x00000b6c cmpq $1000000, %r11 + 0x0f, 0x82, 0x26, 0x00, 0x00, 0x00, //0x00000b73 jb LBB0_81 + 0x41, 0xba, 0x07, 0x00, 0x00, 0x00, //0x00000b79 movl $7, %r10d + 0x49, 0x81, 0xfb, 0x80, 0x96, 0x98, 0x00, //0x00000b7f cmpq $10000000, %r11 + 0x0f, 0x82, 0x13, 0x00, 0x00, 0x00, //0x00000b86 jb LBB0_81 + 0x41, 0xba, 0x08, 0x00, 0x00, 0x00, //0x00000b8c movl $8, %r10d + 0x49, 0x81, 0xfb, 0xff, 0xe0, 0xf5, 0x05, //0x00000b92 cmpq $99999999, %r11 + 0x0f, 0x87, 0xb3, 0x06, 0x00, 0x00, //0x00000b99 ja LBB0_167 + //0x00000b9f LBB0_81 + 0x4d, 0x01, 0xc2, //0x00000b9f addq %r8, %r10 + //0x00000ba2 LBB0_82 + 0x4c, 0x89, 0xd0, //0x00000ba2 movq %r10, %rax + 0x41, 0x81, 0xfb, 0x10, 0x27, 0x00, 0x00, //0x00000ba5 cmpl $10000, %r11d + 0x0f, 0x83, 0xb5, 0xfc, 0xff, 0xff, //0x00000bac jae LBB0_51 + //0x00000bb2 LBB0_83 + 0x44, 0x89, 0xda, //0x00000bb2 movl %r11d, %edx + 0x83, 0xfa, 0x64, //0x00000bb5 cmpl $100, %edx + 0x0f, 0x83, 0x15, 0xfd, 0xff, 0xff, //0x00000bb8 jae LBB0_54 + 0xe9, 0x3c, 0xfd, 0xff, 0xff, //0x00000bbe jmp LBB0_55 + //0x00000bc3 LBB0_84 + 0x80, 0xc2, 0x30, //0x00000bc3 addb $48, %dl + 0x41, 0x88, 0x10, //0x00000bc6 movb %dl, (%r8) + //0x00000bc9 LBB0_85 + 0x41, 0x29, 0xfa, //0x00000bc9 subl %edi, %r10d + 0x45, 0x89, 0xd0, //0x00000bcc movl %r10d, %r8d + 0xe9, 0x4f, 0x06, 0x00, 0x00, //0x00000bcf jmp LBB0_164 + //0x00000bd4 LBB0_86 + 0x41, 0xba, 0x08, 0x00, 0x00, 0x00, //0x00000bd4 movl $8, %r10d + 0x4d, 0x8d, 0x67, 0xf8, //0x00000bda leaq $-8(%r15), %r12 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x00000bde cmpl $10000, %edx + 0x0f, 0x82, 0xc3, 0xf8, 0xff, 0xff, //0x00000be4 jb LBB0_41 + 0xe9, 0xb9, 0xf9, 0xff, 0xff, //0x00000bea jmp LBB0_88 + //0x00000bef LBB0_106 + 0x48, 0x29, 0xca, //0x00000bef subq %rcx, %rdx + 0x48, 0x8d, 0xb4, 0x07, 0xe0, 0x01, 0x00, 0x00, //0x00000bf2 leaq $480(%rdi,%rax), %rsi + 0x31, 0xc0, //0x00000bfa xorl %eax, %eax + 0xc5, 0xfe, 0x6f, 0x05, 0xfc, 0xf3, 0xff, 0xff, //0x00000bfc vmovdqu $-3076(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000c04 .p2align 4, 0x90 + //0x00000c10 LBB0_107 + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x20, 0xfe, 0xff, 0xff, //0x00000c10 vmovdqu %ymm0, $-480(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x40, 0xfe, 0xff, 0xff, //0x00000c19 vmovdqu %ymm0, $-448(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x60, 0xfe, 0xff, 0xff, //0x00000c22 vmovdqu %ymm0, $-416(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x80, 0xfe, 0xff, 0xff, //0x00000c2b vmovdqu %ymm0, $-384(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xa0, 0xfe, 0xff, 0xff, //0x00000c34 vmovdqu %ymm0, $-352(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xc0, 0xfe, 0xff, 0xff, //0x00000c3d vmovdqu %ymm0, $-320(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xe0, 0xfe, 0xff, 0xff, //0x00000c46 vmovdqu %ymm0, $-288(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x00, 0xff, 0xff, 0xff, //0x00000c4f vmovdqu %ymm0, $-256(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x20, 0xff, 0xff, 0xff, //0x00000c58 vmovdqu %ymm0, $-224(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x40, 0xff, 0xff, 0xff, //0x00000c61 vmovdqu %ymm0, $-192(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x60, 0xff, 0xff, 0xff, //0x00000c6a vmovdqu %ymm0, $-160(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0x80, //0x00000c73 vmovdqu %ymm0, $-128(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0xa0, //0x00000c79 vmovdqu %ymm0, $-96(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0xc0, //0x00000c7f vmovdqu %ymm0, $-64(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0xe0, //0x00000c85 vmovdqu %ymm0, $-32(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x04, 0x06, //0x00000c8b vmovdqu %ymm0, (%rsi,%rax) + 0x48, 0x05, 0x00, 0x02, 0x00, 0x00, //0x00000c90 addq $512, %rax + 0x48, 0x83, 0xc2, 0xfc, //0x00000c96 addq $-4, %rdx + 0x0f, 0x85, 0x70, 0xff, 0xff, 0xff, //0x00000c9a jne LBB0_107 + //0x00000ca0 LBB0_108 + 0x48, 0x85, 0xc9, //0x00000ca0 testq %rcx, %rcx + 0x0f, 0x84, 0x37, 0x00, 0x00, 0x00, //0x00000ca3 je LBB0_111 + 0x4c, 0x01, 0xd8, //0x00000ca9 addq %r11, %rax + 0x4c, 0x01, 0xe0, //0x00000cac addq %r12, %rax + 0x48, 0x8d, 0x44, 0x07, 0x60, //0x00000caf leaq $96(%rdi,%rax), %rax + 0x48, 0xf7, 0xd9, //0x00000cb4 negq %rcx + 0xc5, 0xfe, 0x6f, 0x05, 0x41, 0xf3, 0xff, 0xff, //0x00000cb7 vmovdqu $-3263(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0x90, //0x00000cbf .p2align 4, 0x90 + //0x00000cc0 LBB0_110 + 0xc5, 0xfe, 0x7f, 0x40, 0xa0, //0x00000cc0 vmovdqu %ymm0, $-96(%rax) + 0xc5, 0xfe, 0x7f, 0x40, 0xc0, //0x00000cc5 vmovdqu %ymm0, $-64(%rax) + 0xc5, 0xfe, 0x7f, 0x40, 0xe0, //0x00000cca vmovdqu %ymm0, $-32(%rax) + 0xc5, 0xfe, 0x7f, 0x00, //0x00000ccf vmovdqu %ymm0, (%rax) + 0x48, 0x83, 0xe8, 0x80, //0x00000cd3 subq $-128, %rax + 0x48, 0xff, 0xc1, //0x00000cd7 incq %rcx + 0x0f, 0x85, 0xe0, 0xff, 0xff, 0xff, //0x00000cda jne LBB0_110 + //0x00000ce0 LBB0_111 + 0x4d, 0x39, 0xd1, //0x00000ce0 cmpq %r10, %r9 + 0x0f, 0x84, 0x37, 0x05, 0x00, 0x00, //0x00000ce3 je LBB0_163 + 0x4c, 0x01, 0xcb, //0x00000ce9 addq %r9, %rbx + 0x90, 0x90, 0x90, 0x90, //0x00000cec .p2align 4, 0x90 + //0x00000cf0 LBB0_113 + 0xc6, 0x03, 0x30, //0x00000cf0 movb $48, (%rbx) + 0x48, 0xff, 0xc3, //0x00000cf3 incq %rbx + 0x4c, 0x39, 0xc3, //0x00000cf6 cmpq %r8, %rbx + 0x0f, 0x82, 0xf1, 0xff, 0xff, 0xff, //0x00000cf9 jb LBB0_113 + 0xe9, 0x1c, 0x05, 0x00, 0x00, //0x00000cff jmp LBB0_163 + //0x00000d04 LBB0_114 + 0x48, 0x8b, 0x4d, 0xd0, //0x00000d04 movq $-48(%rbp), %rcx + 0x48, 0x8d, 0xb4, 0x39, 0xe2, 0x01, 0x00, 0x00, //0x00000d08 leaq $482(%rcx,%rdi), %rsi + 0x4c, 0x89, 0xfb, //0x00000d10 movq %r15, %rbx + 0x48, 0x29, 0xd3, //0x00000d13 subq %rdx, %rbx + 0x31, 0xd2, //0x00000d16 xorl %edx, %edx + 0xc5, 0xfe, 0x6f, 0x05, 0xe0, 0xf2, 0xff, 0xff, //0x00000d18 vmovdqu $-3360(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x00000d20 LBB0_115 + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x20, 0xfe, 0xff, 0xff, //0x00000d20 vmovdqu %ymm0, $-480(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x40, 0xfe, 0xff, 0xff, //0x00000d29 vmovdqu %ymm0, $-448(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x60, 0xfe, 0xff, 0xff, //0x00000d32 vmovdqu %ymm0, $-416(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x80, 0xfe, 0xff, 0xff, //0x00000d3b vmovdqu %ymm0, $-384(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0xa0, 0xfe, 0xff, 0xff, //0x00000d44 vmovdqu %ymm0, $-352(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0xc0, 0xfe, 0xff, 0xff, //0x00000d4d vmovdqu %ymm0, $-320(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0xe0, 0xfe, 0xff, 0xff, //0x00000d56 vmovdqu %ymm0, $-288(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x00, 0xff, 0xff, 0xff, //0x00000d5f vmovdqu %ymm0, $-256(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x20, 0xff, 0xff, 0xff, //0x00000d68 vmovdqu %ymm0, $-224(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x40, 0xff, 0xff, 0xff, //0x00000d71 vmovdqu %ymm0, $-192(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x60, 0xff, 0xff, 0xff, //0x00000d7a vmovdqu %ymm0, $-160(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x44, 0x16, 0x80, //0x00000d83 vmovdqu %ymm0, $-128(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x44, 0x16, 0xa0, //0x00000d89 vmovdqu %ymm0, $-96(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x44, 0x16, 0xc0, //0x00000d8f vmovdqu %ymm0, $-64(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x44, 0x16, 0xe0, //0x00000d95 vmovdqu %ymm0, $-32(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x04, 0x16, //0x00000d9b vmovdqu %ymm0, (%rsi,%rdx) + 0x48, 0x81, 0xc2, 0x00, 0x02, 0x00, 0x00, //0x00000da0 addq $512, %rdx + 0x48, 0x83, 0xc3, 0x04, //0x00000da7 addq $4, %rbx + 0x0f, 0x85, 0x6f, 0xff, 0xff, 0xff, //0x00000dab jne LBB0_115 + //0x00000db1 LBB0_116 + 0x4d, 0x85, 0xff, //0x00000db1 testq %r15, %r15 + 0x0f, 0x84, 0x34, 0x00, 0x00, 0x00, //0x00000db4 je LBB0_119 + 0x48, 0x03, 0x55, 0xd0, //0x00000dba addq $-48(%rbp), %rdx + 0x48, 0x8d, 0x54, 0x17, 0x62, //0x00000dbe leaq $98(%rdi,%rdx), %rdx + 0x49, 0xf7, 0xdf, //0x00000dc3 negq %r15 + 0xc5, 0xfe, 0x6f, 0x05, 0x32, 0xf2, 0xff, 0xff, //0x00000dc6 vmovdqu $-3534(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x00000dce LBB0_118 + 0xc5, 0xfe, 0x7f, 0x42, 0xa0, //0x00000dce vmovdqu %ymm0, $-96(%rdx) + 0xc5, 0xfe, 0x7f, 0x42, 0xc0, //0x00000dd3 vmovdqu %ymm0, $-64(%rdx) + 0xc5, 0xfe, 0x7f, 0x42, 0xe0, //0x00000dd8 vmovdqu %ymm0, $-32(%rdx) + 0xc5, 0xfe, 0x7f, 0x02, //0x00000ddd vmovdqu %ymm0, (%rdx) + 0x48, 0x83, 0xea, 0x80, //0x00000de1 subq $-128, %rdx + 0x49, 0xff, 0xc7, //0x00000de5 incq %r15 + 0x0f, 0x85, 0xe0, 0xff, 0xff, 0xff, //0x00000de8 jne LBB0_118 + //0x00000dee LBB0_119 + 0x49, 0x01, 0xc0, //0x00000dee addq %rax, %r8 + 0x49, 0x39, 0xc3, //0x00000df1 cmpq %rax, %r11 + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000df4 je LBB0_122 + //0x00000dfa LBB0_120 + 0x44, 0x89, 0xca, //0x00000dfa movl %r9d, %edx + 0xf7, 0xda, //0x00000dfd negl %edx + 0x90, //0x00000dff .p2align 4, 0x90 + //0x00000e00 LBB0_121 + 0x41, 0xc6, 0x00, 0x30, //0x00000e00 movb $48, (%r8) + 0x49, 0xff, 0xc0, //0x00000e04 incq %r8 + 0xff, 0xc0, //0x00000e07 incl %eax + 0x39, 0xd0, //0x00000e09 cmpl %edx, %eax + 0x0f, 0x8c, 0xef, 0xff, 0xff, 0xff, //0x00000e0b jl LBB0_121 + //0x00000e11 LBB0_122 + 0x4f, 0x8d, 0x2c, 0x20, //0x00000e11 leaq (%r8,%r12), %r13 + 0x4c, 0x89, 0xf0, //0x00000e15 movq %r14, %rax + 0x48, 0xc1, 0xe8, 0x20, //0x00000e18 shrq $32, %rax + 0x0f, 0x84, 0xc9, 0x00, 0x00, 0x00, //0x00000e1c je LBB0_125 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000e22 movabsq $-6067343680855748867, %rdx + 0x4c, 0x89, 0xf0, //0x00000e2c movq %r14, %rax + 0x48, 0xf7, 0xe2, //0x00000e2f mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x00000e32 shrq $26, %rdx + 0x69, 0xf2, 0x00, 0x1f, 0x0a, 0xfa, //0x00000e36 imull $-100000000, %edx, %esi + 0x44, 0x01, 0xf6, //0x00000e3c addl %r14d, %esi + 0x0f, 0x84, 0x40, 0x02, 0x00, 0x00, //0x00000e3f je LBB0_127 + 0x89, 0xf0, //0x00000e45 movl %esi, %eax + 0x41, 0xbb, 0x59, 0x17, 0xb7, 0xd1, //0x00000e47 movl $3518437209, %r11d + 0x49, 0x0f, 0xaf, 0xc3, //0x00000e4d imulq %r11, %rax + 0x48, 0xc1, 0xe8, 0x2d, //0x00000e51 shrq $45, %rax + 0x69, 0xc8, 0x10, 0x27, 0x00, 0x00, //0x00000e55 imull $10000, %eax, %ecx + 0x29, 0xce, //0x00000e5b subl %ecx, %esi + 0x48, 0x89, 0xc1, //0x00000e5d movq %rax, %rcx + 0x49, 0x0f, 0xaf, 0xcb, //0x00000e60 imulq %r11, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x00000e64 shrq $45, %rcx + 0x69, 0xc9, 0x10, 0x27, 0x00, 0x00, //0x00000e68 imull $10000, %ecx, %ecx + 0x29, 0xc8, //0x00000e6e subl %ecx, %eax + 0x0f, 0xb7, 0xce, //0x00000e70 movzwl %si, %ecx + 0xc1, 0xe9, 0x02, //0x00000e73 shrl $2, %ecx + 0x44, 0x69, 0xd9, 0x7b, 0x14, 0x00, 0x00, //0x00000e76 imull $5243, %ecx, %r11d + 0x41, 0xc1, 0xeb, 0x11, //0x00000e7d shrl $17, %r11d + 0x41, 0x6b, 0xcb, 0x64, //0x00000e81 imull $100, %r11d, %ecx + 0x29, 0xce, //0x00000e85 subl %ecx, %esi + 0x44, 0x0f, 0xb7, 0xf6, //0x00000e87 movzwl %si, %r14d + 0x0f, 0xb7, 0xf0, //0x00000e8b movzwl %ax, %esi + 0xc1, 0xee, 0x02, //0x00000e8e shrl $2, %esi + 0x69, 0xf6, 0x7b, 0x14, 0x00, 0x00, //0x00000e91 imull $5243, %esi, %esi + 0xc1, 0xee, 0x11, //0x00000e97 shrl $17, %esi + 0x6b, 0xce, 0x64, //0x00000e9a imull $100, %esi, %ecx + 0x29, 0xc8, //0x00000e9d subl %ecx, %eax + 0x44, 0x0f, 0xb7, 0xf8, //0x00000e9f movzwl %ax, %r15d + 0x48, 0x8d, 0x0d, 0xd6, 0x03, 0x00, 0x00, //0x00000ea3 leaq $982(%rip), %rcx /* _Digits+0(%rip) */ + 0x42, 0x0f, 0xb7, 0x04, 0x71, //0x00000eaa movzwl (%rcx,%r14,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfe, //0x00000eaf movw %ax, $-2(%r13) + 0x42, 0x0f, 0xb7, 0x04, 0x59, //0x00000eb4 movzwl (%rcx,%r11,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfc, //0x00000eb9 movw %ax, $-4(%r13) + 0x42, 0x0f, 0xb7, 0x04, 0x79, //0x00000ebe movzwl (%rcx,%r15,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfa, //0x00000ec3 movw %ax, $-6(%r13) + 0x0f, 0xb7, 0x04, 0x71, //0x00000ec8 movzwl (%rcx,%rsi,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xf8, //0x00000ecc movw %ax, $-8(%r13) + 0x45, 0x31, 0xdb, //0x00000ed1 xorl %r11d, %r11d + 0x49, 0x83, 0xc5, 0xf8, //0x00000ed4 addq $-8, %r13 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x00000ed8 cmpl $10000, %edx + 0x0f, 0x83, 0x19, 0x00, 0x00, 0x00, //0x00000ede jae LBB0_129 + //0x00000ee4 LBB0_126 + 0x89, 0xd1, //0x00000ee4 movl %edx, %ecx + 0xe9, 0x6d, 0x00, 0x00, 0x00, //0x00000ee6 jmp LBB0_131 + //0x00000eeb LBB0_125 + 0x45, 0x31, 0xdb, //0x00000eeb xorl %r11d, %r11d + 0x44, 0x89, 0xf2, //0x00000eee movl %r14d, %edx + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x00000ef1 cmpl $10000, %edx + 0x0f, 0x82, 0xe7, 0xff, 0xff, 0xff, //0x00000ef7 jb LBB0_126 + //0x00000efd LBB0_129 + 0x41, 0xbe, 0x59, 0x17, 0xb7, 0xd1, //0x00000efd movl $3518437209, %r14d + 0x4c, 0x8d, 0x3d, 0x76, 0x03, 0x00, 0x00, //0x00000f03 leaq $886(%rip), %r15 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000f0a .p2align 4, 0x90 + //0x00000f10 LBB0_130 + 0x89, 0xd1, //0x00000f10 movl %edx, %ecx + 0x49, 0x0f, 0xaf, 0xce, //0x00000f12 imulq %r14, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x00000f16 shrq $45, %rcx + 0x69, 0xc1, 0xf0, 0xd8, 0xff, 0xff, //0x00000f1a imull $-10000, %ecx, %eax + 0x01, 0xd0, //0x00000f20 addl %edx, %eax + 0x48, 0x69, 0xf0, 0x1f, 0x85, 0xeb, 0x51, //0x00000f22 imulq $1374389535, %rax, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x00000f29 shrq $37, %rsi + 0x6b, 0xde, 0x64, //0x00000f2d imull $100, %esi, %ebx + 0x29, 0xd8, //0x00000f30 subl %ebx, %eax + 0x41, 0x0f, 0xb7, 0x04, 0x47, //0x00000f32 movzwl (%r15,%rax,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfe, //0x00000f37 movw %ax, $-2(%r13) + 0x41, 0x0f, 0xb7, 0x04, 0x77, //0x00000f3c movzwl (%r15,%rsi,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfc, //0x00000f41 movw %ax, $-4(%r13) + 0x49, 0x83, 0xc5, 0xfc, //0x00000f46 addq $-4, %r13 + 0x81, 0xfa, 0xff, 0xe0, 0xf5, 0x05, //0x00000f4a cmpl $99999999, %edx + 0x89, 0xca, //0x00000f50 movl %ecx, %edx + 0x0f, 0x87, 0xb8, 0xff, 0xff, 0xff, //0x00000f52 ja LBB0_130 + //0x00000f58 LBB0_131 + 0x83, 0xf9, 0x64, //0x00000f58 cmpl $100, %ecx + 0x0f, 0x82, 0x2d, 0x00, 0x00, 0x00, //0x00000f5b jb LBB0_133 + 0x0f, 0xb7, 0xc1, //0x00000f61 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x00000f64 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000f67 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000f6d shrl $17, %eax + 0x6b, 0xd0, 0x64, //0x00000f70 imull $100, %eax, %edx + 0x29, 0xd1, //0x00000f73 subl %edx, %ecx + 0x0f, 0xb7, 0xc9, //0x00000f75 movzwl %cx, %ecx + 0x48, 0x8d, 0x15, 0x01, 0x03, 0x00, 0x00, //0x00000f78 leaq $769(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000f7f movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x41, 0x89, 0x4d, 0xfe, //0x00000f83 movw %cx, $-2(%r13) + 0x49, 0x83, 0xc5, 0xfe, //0x00000f88 addq $-2, %r13 + 0x89, 0xc1, //0x00000f8c movl %eax, %ecx + //0x00000f8e LBB0_133 + 0x83, 0xf9, 0x0a, //0x00000f8e cmpl $10, %ecx + 0x0f, 0x82, 0x17, 0x00, 0x00, 0x00, //0x00000f91 jb LBB0_135 + 0x89, 0xc8, //0x00000f97 movl %ecx, %eax + 0x48, 0x8d, 0x0d, 0xe0, 0x02, 0x00, 0x00, //0x00000f99 leaq $736(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x00000fa0 movzwl (%rcx,%rax,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfe, //0x00000fa4 movw %ax, $-2(%r13) + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x00000fa9 jmp LBB0_136 + //0x00000fae LBB0_135 + 0x80, 0xc1, 0x30, //0x00000fae addb $48, %cl + 0x41, 0x88, 0x08, //0x00000fb1 movb %cl, (%r8) + //0x00000fb4 LBB0_136 + 0x4d, 0x29, 0xdc, //0x00000fb4 subq %r11, %r12 + 0x49, 0x8d, 0x4c, 0x24, 0x01, //0x00000fb7 leaq $1(%r12), %rcx + 0x49, 0x8d, 0x54, 0x24, 0x61, //0x00000fbc leaq $97(%r12), %rdx + 0x49, 0x8d, 0x5c, 0x24, 0x02, //0x00000fc1 leaq $2(%r12), %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000fc6 .p2align 4, 0x90 + //0x00000fd0 LBB0_137 + 0x48, 0xff, 0xca, //0x00000fd0 decq %rdx + 0x48, 0xff, 0xc9, //0x00000fd3 decq %rcx + 0x48, 0xff, 0xcb, //0x00000fd6 decq %rbx + 0x43, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00000fd9 cmpb $48, $-1(%r8,%r12) + 0x4d, 0x8d, 0x64, 0x24, 0xff, //0x00000fdf leaq $-1(%r12), %r12 + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x00000fe4 je LBB0_137 + 0x4d, 0x8d, 0x3c, 0x08, //0x00000fea leaq (%r8,%rcx), %r15 + 0x45, 0x85, 0xc9, //0x00000fee testl %r9d, %r9d + 0x0f, 0x8e, 0x86, 0x00, 0x00, 0x00, //0x00000ff1 jle LBB0_142 + 0x44, 0x89, 0xf8, //0x00000ff7 movl %r15d, %eax + 0x44, 0x29, 0xc0, //0x00000ffa subl %r8d, %eax + 0x41, 0x39, 0xc1, //0x00000ffd cmpl %eax, %r9d + 0x0f, 0x8d, 0x23, 0x00, 0x00, 0x00, //0x00001000 jge LBB0_143 + 0x43, 0x8d, 0x04, 0x01, //0x00001006 leal (%r9,%r8), %eax + 0x41, 0x29, 0xc7, //0x0000100a subl %eax, %r15d + 0x49, 0x8d, 0x47, 0xff, //0x0000100d leaq $-1(%r15), %rax + 0x45, 0x89, 0xfa, //0x00001011 movl %r15d, %r10d + 0x41, 0x83, 0xe2, 0x03, //0x00001014 andl $3, %r10d + 0x48, 0x83, 0xf8, 0x03, //0x00001018 cmpq $3, %rax + 0x0f, 0x83, 0x7e, 0x00, 0x00, 0x00, //0x0000101c jae LBB0_147 + 0x31, 0xc0, //0x00001022 xorl %eax, %eax + 0xe9, 0xa3, 0x00, 0x00, 0x00, //0x00001024 jmp LBB0_150 + //0x00001029 LBB0_143 + 0x0f, 0x8e, 0x4e, 0x00, 0x00, 0x00, //0x00001029 jle LBB0_142 + 0x45, 0x01, 0xc1, //0x0000102f addl %r8d, %r9d + 0x45, 0x89, 0xfe, //0x00001032 movl %r15d, %r14d + 0x41, 0xf7, 0xd6, //0x00001035 notl %r14d + 0x45, 0x01, 0xce, //0x00001038 addl %r9d, %r14d + 0x31, 0xc0, //0x0000103b xorl %eax, %eax + 0x4d, 0x89, 0xfb, //0x0000103d movq %r15, %r11 + 0x41, 0x83, 0xfe, 0x7e, //0x00001040 cmpl $126, %r14d + 0x0f, 0x86, 0xb8, 0x01, 0x00, 0x00, //0x00001044 jbe LBB0_161 + 0x49, 0xff, 0xc6, //0x0000104a incq %r14 + 0x4d, 0x21, 0xf2, //0x0000104d andq %r14, %r10 + 0x4f, 0x8d, 0x1c, 0x10, //0x00001050 leaq (%r8,%r10), %r11 + 0x49, 0x8d, 0x5a, 0x80, //0x00001054 leaq $-128(%r10), %rbx + 0x48, 0x89, 0xde, //0x00001058 movq %rbx, %rsi + 0x48, 0xc1, 0xee, 0x07, //0x0000105b shrq $7, %rsi + 0x48, 0xff, 0xc6, //0x0000105f incq %rsi + 0x41, 0x89, 0xf4, //0x00001062 movl %esi, %r12d + 0x41, 0x83, 0xe4, 0x03, //0x00001065 andl $3, %r12d + 0x48, 0x81, 0xfb, 0x80, 0x01, 0x00, 0x00, //0x00001069 cmpq $384, %rbx + 0x0f, 0x83, 0x94, 0x00, 0x00, 0x00, //0x00001070 jae LBB0_155 + 0x31, 0xf6, //0x00001076 xorl %esi, %esi + 0xe9, 0x35, 0x01, 0x00, 0x00, //0x00001078 jmp LBB0_157 + //0x0000107d LBB0_142 + 0x4d, 0x89, 0xf8, //0x0000107d movq %r15, %r8 + 0xe9, 0x9b, 0x01, 0x00, 0x00, //0x00001080 jmp LBB0_163 + //0x00001085 LBB0_127 + 0x41, 0xbb, 0x08, 0x00, 0x00, 0x00, //0x00001085 movl $8, %r11d + 0x49, 0x83, 0xc5, 0xf8, //0x0000108b addq $-8, %r13 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x0000108f cmpl $10000, %edx + 0x0f, 0x82, 0x49, 0xfe, 0xff, 0xff, //0x00001095 jb LBB0_126 + 0xe9, 0x5d, 0xfe, 0xff, 0xff, //0x0000109b jmp LBB0_129 + //0x000010a0 LBB0_147 + 0x4d, 0x89, 0xd3, //0x000010a0 movq %r10, %r11 + 0x4d, 0x29, 0xfb, //0x000010a3 subq %r15, %r11 + 0x31, 0xc0, //0x000010a6 xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000010a8 .p2align 4, 0x90 + //0x000010b0 LBB0_148 + 0x49, 0x8d, 0x14, 0x00, //0x000010b0 leaq (%r8,%rax), %rdx + 0x8b, 0x74, 0x11, 0xfc, //0x000010b4 movl $-4(%rcx,%rdx), %esi + 0x89, 0x74, 0x11, 0xfd, //0x000010b8 movl %esi, $-3(%rcx,%rdx) + 0x48, 0x83, 0xc0, 0xfc, //0x000010bc addq $-4, %rax + 0x49, 0x39, 0xc3, //0x000010c0 cmpq %rax, %r11 + 0x0f, 0x85, 0xe7, 0xff, 0xff, 0xff, //0x000010c3 jne LBB0_148 + 0x48, 0xf7, 0xd8, //0x000010c9 negq %rax + //0x000010cc LBB0_150 + 0x4d, 0x85, 0xd2, //0x000010cc testq %r10, %r10 + 0x0f, 0x84, 0x25, 0x00, 0x00, 0x00, //0x000010cf je LBB0_153 + 0x49, 0xf7, 0xda, //0x000010d5 negq %r10 + 0x4c, 0x89, 0xc1, //0x000010d8 movq %r8, %rcx + 0x48, 0x29, 0xc1, //0x000010db subq %rax, %rcx + 0x31, 0xc0, //0x000010de xorl %eax, %eax + //0x000010e0 .p2align 4, 0x90 + //0x000010e0 LBB0_152 + 0x48, 0x8d, 0x34, 0x01, //0x000010e0 leaq (%rcx,%rax), %rsi + 0x41, 0x0f, 0xb6, 0x14, 0x34, //0x000010e4 movzbl (%r12,%rsi), %edx + 0x41, 0x88, 0x54, 0x34, 0x01, //0x000010e9 movb %dl, $1(%r12,%rsi) + 0x48, 0xff, 0xc8, //0x000010ee decq %rax + 0x49, 0x39, 0xc2, //0x000010f1 cmpq %rax, %r10 + 0x0f, 0x85, 0xe6, 0xff, 0xff, 0xff, //0x000010f4 jne LBB0_152 + //0x000010fa LBB0_153 + 0x49, 0x63, 0xc1, //0x000010fa movslq %r9d, %rax + 0x41, 0xc6, 0x04, 0x00, 0x2e, //0x000010fd movb $46, (%r8,%rax) + 0x49, 0x01, 0xd8, //0x00001102 addq %rbx, %r8 + 0xe9, 0x16, 0x01, 0x00, 0x00, //0x00001105 jmp LBB0_163 + //0x0000110a LBB0_155 + 0x4c, 0x89, 0xe3, //0x0000110a movq %r12, %rbx + 0x48, 0x29, 0xf3, //0x0000110d subq %rsi, %rbx + 0x31, 0xf6, //0x00001110 xorl %esi, %esi + 0xc5, 0xfe, 0x6f, 0x05, 0xe6, 0xee, 0xff, 0xff, //0x00001112 vmovdqu $-4378(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x0000111a LBB0_156 + 0x49, 0x8d, 0x04, 0x30, //0x0000111a leaq (%r8,%rsi), %rax + 0xc5, 0xfe, 0x7f, 0x04, 0x01, //0x0000111e vmovdqu %ymm0, (%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0x20, //0x00001123 vmovdqu %ymm0, $32(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0x40, //0x00001129 vmovdqu %ymm0, $64(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0x60, //0x0000112f vmovdqu %ymm0, $96(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x80, 0x00, 0x00, 0x00, //0x00001135 vmovdqu %ymm0, $128(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xa0, 0x00, 0x00, 0x00, //0x0000113e vmovdqu %ymm0, $160(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xc0, 0x00, 0x00, 0x00, //0x00001147 vmovdqu %ymm0, $192(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xe0, 0x00, 0x00, 0x00, //0x00001150 vmovdqu %ymm0, $224(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x00, 0x01, 0x00, 0x00, //0x00001159 vmovdqu %ymm0, $256(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x20, 0x01, 0x00, 0x00, //0x00001162 vmovdqu %ymm0, $288(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x40, 0x01, 0x00, 0x00, //0x0000116b vmovdqu %ymm0, $320(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x60, 0x01, 0x00, 0x00, //0x00001174 vmovdqu %ymm0, $352(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x80, 0x01, 0x00, 0x00, //0x0000117d vmovdqu %ymm0, $384(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xa0, 0x01, 0x00, 0x00, //0x00001186 vmovdqu %ymm0, $416(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xc0, 0x01, 0x00, 0x00, //0x0000118f vmovdqu %ymm0, $448(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xe0, 0x01, 0x00, 0x00, //0x00001198 vmovdqu %ymm0, $480(%rcx,%rax) + 0x48, 0x81, 0xc6, 0x00, 0x02, 0x00, 0x00, //0x000011a1 addq $512, %rsi + 0x48, 0x83, 0xc3, 0x04, //0x000011a8 addq $4, %rbx + 0x0f, 0x85, 0x68, 0xff, 0xff, 0xff, //0x000011ac jne LBB0_156 + //0x000011b2 LBB0_157 + 0x49, 0x01, 0xcb, //0x000011b2 addq %rcx, %r11 + 0x4d, 0x85, 0xe4, //0x000011b5 testq %r12, %r12 + 0x0f, 0x84, 0x35, 0x00, 0x00, 0x00, //0x000011b8 je LBB0_160 + 0x49, 0x01, 0xf0, //0x000011be addq %rsi, %r8 + 0x49, 0x01, 0xd0, //0x000011c1 addq %rdx, %r8 + 0x49, 0xf7, 0xdc, //0x000011c4 negq %r12 + 0xc5, 0xfe, 0x6f, 0x05, 0x31, 0xee, 0xff, 0xff, //0x000011c7 vmovdqu $-4559(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x000011cf LBB0_159 + 0xc4, 0xc1, 0x7e, 0x7f, 0x40, 0xa0, //0x000011cf vmovdqu %ymm0, $-96(%r8) + 0xc4, 0xc1, 0x7e, 0x7f, 0x40, 0xc0, //0x000011d5 vmovdqu %ymm0, $-64(%r8) + 0xc4, 0xc1, 0x7e, 0x7f, 0x40, 0xe0, //0x000011db vmovdqu %ymm0, $-32(%r8) + 0xc4, 0xc1, 0x7e, 0x7f, 0x00, //0x000011e1 vmovdqu %ymm0, (%r8) + 0x49, 0x83, 0xe8, 0x80, //0x000011e6 subq $-128, %r8 + 0x49, 0xff, 0xc4, //0x000011ea incq %r12 + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000011ed jne LBB0_159 + //0x000011f3 LBB0_160 + 0x44, 0x89, 0xd0, //0x000011f3 movl %r10d, %eax + 0x4d, 0x89, 0xd8, //0x000011f6 movq %r11, %r8 + 0x4d, 0x39, 0xd6, //0x000011f9 cmpq %r10, %r14 + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x000011fc je LBB0_163 + //0x00001202 LBB0_161 + 0x41, 0x29, 0xc1, //0x00001202 subl %eax, %r9d + 0x45, 0x29, 0xf9, //0x00001205 subl %r15d, %r9d + 0x4d, 0x89, 0xd8, //0x00001208 movq %r11, %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000120b .p2align 4, 0x90 + //0x00001210 LBB0_162 + 0x41, 0xc6, 0x00, 0x30, //0x00001210 movb $48, (%r8) + 0x49, 0xff, 0xc0, //0x00001214 incq %r8 + 0x41, 0xff, 0xc9, //0x00001217 decl %r9d + 0x0f, 0x85, 0xf0, 0xff, 0xff, 0xff, //0x0000121a jne LBB0_162 + //0x00001220 LBB0_163 + 0x41, 0x29, 0xf8, //0x00001220 subl %edi, %r8d + //0x00001223 LBB0_164 + 0x44, 0x89, 0xc0, //0x00001223 movl %r8d, %eax + 0x48, 0x83, 0xc4, 0x08, //0x00001226 addq $8, %rsp + 0x5b, //0x0000122a popq %rbx + 0x41, 0x5c, //0x0000122b popq %r12 + 0x41, 0x5d, //0x0000122d popq %r13 + 0x41, 0x5e, //0x0000122f popq %r14 + 0x41, 0x5f, //0x00001231 popq %r15 + 0x5d, //0x00001233 popq %rbp + 0xc5, 0xf8, 0x77, //0x00001234 vzeroupper + 0xc3, //0x00001237 retq + //0x00001238 LBB0_165 + 0x45, 0x31, 0xc0, //0x00001238 xorl %r8d, %r8d + 0xe9, 0xe3, 0xff, 0xff, 0xff, //0x0000123b jmp LBB0_164 + //0x00001240 LBB0_166 + 0x48, 0x89, 0x75, 0xd0, //0x00001240 movq %rsi, $-48(%rbp) + 0x41, 0xba, 0xce, 0xfb, 0xff, 0xff, //0x00001244 movl $-1074, %r10d + 0x49, 0x89, 0xd3, //0x0000124a movq %rdx, %r11 + 0xe9, 0x69, 0xee, 0xff, 0xff, //0x0000124d jmp LBB0_8 + //0x00001252 LBB0_167 + 0x49, 0x81, 0xfb, 0x00, 0xca, 0x9a, 0x3b, //0x00001252 cmpq $1000000000, %r11 + 0x4d, 0x89, 0xc2, //0x00001259 movq %r8, %r10 + 0x49, 0x83, 0xda, 0x00, //0x0000125c sbbq $0, %r10 + 0x49, 0x83, 0xc2, 0x0a, //0x00001260 addq $10, %r10 + 0x4c, 0x89, 0xd8, //0x00001264 movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x20, //0x00001267 shrq $32, %rax + 0x0f, 0x85, 0x3c, 0xf5, 0xff, 0xff, //0x0000126b jne LBB0_50 + 0xe9, 0x2c, 0xf9, 0xff, 0xff, //0x00001271 jmp LBB0_82 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001276 .p2align 4, 0x00 + //0x00001280 _Digits + 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00001280 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' + 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00001290 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' + 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x000012a0 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' + 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x000012b0 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' + 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x000012c0 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' + 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x000012d0 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' + 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x000012e0 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' + 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x000012f0 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' + 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x00001300 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' + 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x00001310 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' + 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x00001320 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' + 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x00001330 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' + 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x00001340 QUAD $0x3939383937393639 // .ascii 8, '96979899' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001348 .p2align 4, 0x00 + //0x00001350 _pow10_ceil_sig.g + 0x4f, 0xdc, 0xbc, 0xbe, 0xfc, 0xb1, 0x77, 0xff, //0x00001350 .quad -38366372719436721 + 0x7b, 0x0f, 0xbb, 0x13, 0x9c, 0xe8, 0xe8, 0x25, //0x00001358 .quad 2731688931043774331 + 0xb1, 0x09, 0x36, 0xf7, 0x3d, 0xcf, 0xaa, 0x9f, //0x00001360 .quad -6941508010590729807 + 0xad, 0xe9, 0x54, 0x8c, 0x61, 0x91, 0xb1, 0x77, //0x00001368 .quad 8624834609543440813 + 0x1d, 0x8c, 0x03, 0x75, 0x0d, 0x83, 0x95, 0xc7, //0x00001370 .quad -4065198994811024355 + 0x18, 0x24, 0x6a, 0xef, 0xb9, 0xf5, 0x9d, 0xd5, //0x00001378 .quad -3054014793352862696 + 0x25, 0x6f, 0x44, 0xd2, 0xd0, 0xe3, 0x7a, 0xf9, //0x00001380 .quad -469812725086392539 + 0x1e, 0xad, 0x44, 0x6b, 0x28, 0x73, 0x05, 0x4b, //0x00001388 .quad 5405853545163697438 + 0x77, 0xc5, 0x6a, 0x83, 0x62, 0xce, 0xec, 0x9b, //0x00001390 .quad -7211161980820077193 + 0x33, 0xec, 0x0a, 0x43, 0xf9, 0x67, 0xe3, 0x4e, //0x00001398 .quad 5684501474941004851 + 0xd5, 0x76, 0x45, 0x24, 0xfb, 0x01, 0xe8, 0xc2, //0x000013a0 .quad -4402266457597708587 + 0x40, 0xa7, 0xcd, 0x93, 0xf7, 0x41, 0x9c, 0x22, //0x000013a8 .quad 2493940825248868160 + 0x8a, 0xd4, 0x56, 0xed, 0x79, 0x02, 0xa2, 0xf3, //0x000013b0 .quad -891147053569747830 + 0x10, 0x11, 0xc1, 0x78, 0x75, 0x52, 0x43, 0x6b, //0x000013b8 .quad 7729112049988473104 + 0xd6, 0x44, 0x56, 0x34, 0x8c, 0x41, 0x45, 0x98, //0x000013c0 .quad -7474495936122174250 + 0xaa, 0xaa, 0x78, 0x6b, 0x89, 0x13, 0x0a, 0x83, //0x000013c8 .quad -9004363024039368022 + 0x0c, 0xd6, 0x6b, 0x41, 0xef, 0x91, 0x56, 0xbe, //0x000013d0 .quad -4731433901725329908 + 0x54, 0xd5, 0x56, 0xc6, 0x6b, 0x98, 0xcc, 0x23, //0x000013d8 .quad 2579604275232953684 + 0x8f, 0xcb, 0xc6, 0x11, 0x6b, 0x36, 0xec, 0xed, //0x000013e0 .quad -1302606358729274481 + 0xa9, 0x8a, 0xec, 0xb7, 0x86, 0xbe, 0xbf, 0x2c, //0x000013e8 .quad 3224505344041192105 + 0x39, 0x3f, 0x1c, 0xeb, 0x02, 0xa2, 0xb3, 0x94, //0x000013f0 .quad -7731658001846878407 + 0xaa, 0xd6, 0xf3, 0x32, 0x14, 0xd7, 0xf7, 0x7b, //0x000013f8 .quad 8932844867666826922 + 0x07, 0x4f, 0xe3, 0xa5, 0x83, 0x8a, 0xe0, 0xb9, //0x00001400 .quad -5052886483881210105 + 0x54, 0xcc, 0xb0, 0x3f, 0xd9, 0xcc, 0xf5, 0xda, //0x00001408 .quad -2669001970698630060 + 0xc9, 0x22, 0x5c, 0x8f, 0x24, 0xad, 0x58, 0xe8, //0x00001410 .quad -1704422086424124727 + 0x69, 0xff, 0x9c, 0x8f, 0x0f, 0x40, 0xb3, 0xd1, //0x00001418 .quad -3336252463373287575 + 0xbe, 0x95, 0x99, 0xd9, 0x36, 0x6c, 0x37, 0x91, //0x00001420 .quad -7982792831656159810 + 0xa2, 0x1f, 0xc2, 0xb9, 0x09, 0x08, 0x10, 0x23, //0x00001428 .quad 2526528228819083170 + 0x2d, 0xfb, 0xff, 0x8f, 0x44, 0x47, 0x85, 0xb5, //0x00001430 .quad -5366805021142811859 + 0x8b, 0xa7, 0x32, 0x28, 0x0c, 0x0a, 0xd4, 0xab, //0x00001438 .quad -6065211750830921845 + 0xf9, 0xf9, 0xff, 0xb3, 0x15, 0x99, 0xe6, 0xe2, //0x00001440 .quad -2096820258001126919 + 0x6d, 0x51, 0x3f, 0x32, 0x8f, 0x0c, 0xc9, 0x16, //0x00001448 .quad 1641857348316123501 + 0x3b, 0xfc, 0x7f, 0x90, 0xad, 0x1f, 0xd0, 0x8d, //0x00001450 .quad -8228041688891786181 + 0xe4, 0x92, 0x67, 0x7f, 0xd9, 0xa7, 0x3d, 0xae, //0x00001458 .quad -5891368184943504668 + 0x4a, 0xfb, 0x9f, 0xf4, 0x98, 0x27, 0x44, 0xb1, //0x00001460 .quad -5673366092687344822 + 0x9d, 0x77, 0x41, 0xdf, 0xcf, 0x11, 0xcd, 0x99, //0x00001468 .quad -7364210231179380835 + 0x1d, 0xfa, 0xc7, 0x31, 0x7f, 0x31, 0x95, 0xdd, //0x00001470 .quad -2480021597431793123 + 0x84, 0xd5, 0x11, 0xd7, 0x43, 0x56, 0x40, 0x40, //0x00001478 .quad 4629795266307937668 + 0x52, 0xfc, 0x1c, 0x7f, 0xef, 0x3e, 0x7d, 0x8a, //0x00001480 .quad -8467542526035952558 + 0x73, 0x25, 0x6b, 0x66, 0xea, 0x35, 0x28, 0x48, //0x00001488 .quad 5199465050656154995 + 0x66, 0x3b, 0xe4, 0x5e, 0xab, 0x8e, 0x1c, 0xad, //0x00001490 .quad -5972742139117552794 + 0xd0, 0xee, 0x05, 0x00, 0x65, 0x43, 0x32, 0xda, //0x00001498 .quad -2724040723534582064 + 0x40, 0x4a, 0x9d, 0x36, 0x56, 0xb2, 0x63, 0xd8, //0x000014a0 .quad -2854241655469553088 + 0x83, 0x6a, 0x07, 0x40, 0x3e, 0xd4, 0xbe, 0x90, //0x000014a8 .quad -8016736922845615485 + 0x68, 0x4e, 0x22, 0xe2, 0x75, 0x4f, 0x3e, 0x87, //0x000014b0 .quad -8701430062309552536 + 0x92, 0xa2, 0x04, 0xe8, 0xa6, 0x44, 0x77, 0x5a, //0x000014b8 .quad 6518754469289960082 + 0x02, 0xe2, 0xaa, 0x5a, 0x53, 0xe3, 0x0d, 0xa9, //0x000014c0 .quad -6265101559459552766 + 0x37, 0xcb, 0x05, 0xa2, 0xd0, 0x15, 0x15, 0x71, //0x000014c8 .quad 8148443086612450103 + 0x83, 0x9a, 0x55, 0x31, 0x28, 0x5c, 0x51, 0xd3, //0x000014d0 .quad -3219690930897053053 + 0x04, 0x3e, 0x87, 0xca, 0x44, 0x5b, 0x5a, 0x0d, //0x000014d8 .quad 962181821410786820 + 0x91, 0x80, 0xd5, 0x1e, 0x99, 0xd9, 0x12, 0x84, //0x000014e0 .quad -8929835859451740015 + 0xc3, 0x86, 0x94, 0xfe, 0x0a, 0x79, 0x58, 0xe8, //0x000014e8 .quad -1704479370831952189 + 0xb6, 0xe0, 0x8a, 0x66, 0xff, 0x8f, 0x17, 0xa5, //0x000014f0 .quad -6550608805887287114 + 0x73, 0xa8, 0x39, 0xbe, 0x4d, 0x97, 0x6e, 0x62, //0x000014f8 .quad 7092772823314835571 + 0xe3, 0x98, 0x2d, 0x40, 0xff, 0x73, 0x5d, 0xce, //0x00001500 .quad -3576574988931720989 + 0x90, 0x12, 0xc8, 0x2d, 0x21, 0x3d, 0x0a, 0xfb, //0x00001508 .quad -357406007711231344 + 0x8e, 0x7f, 0x1c, 0x88, 0x7f, 0x68, 0xfa, 0x80, //0x00001510 .quad -9152888395723407474 + 0x9a, 0x0b, 0x9d, 0xbc, 0x34, 0x66, 0xe6, 0x7c, //0x00001518 .quad 8999993282035256218 + 0x72, 0x9f, 0x23, 0x6a, 0x9f, 0x02, 0x39, 0xa1, //0x00001520 .quad -6829424476226871438 + 0x81, 0x4e, 0xc4, 0xeb, 0xc1, 0xff, 0x1f, 0x1c, //0x00001528 .quad 2026619565689294465 + 0x4e, 0x87, 0xac, 0x44, 0x47, 0x43, 0x87, 0xc9, //0x00001530 .quad -3925094576856201394 + 0x21, 0x62, 0xb5, 0x66, 0xb2, 0xff, 0x27, 0xa3, //0x00001538 .quad -6690097579743157727 + 0x22, 0xa9, 0xd7, 0x15, 0x19, 0x14, 0xe9, 0xfb, //0x00001540 .quad -294682202642863838 + 0xa9, 0xba, 0x62, 0x00, 0x9f, 0xff, 0xf1, 0x4b, //0x00001548 .quad 5472436080603216553 + 0xb5, 0xc9, 0xa6, 0xad, 0x8f, 0xac, 0x71, 0x9d, //0x00001550 .quad -7101705404292871755 + 0xaa, 0xb4, 0x3d, 0x60, 0xc3, 0x3f, 0x77, 0x6f, //0x00001558 .quad 8031958568804398250 + 0x22, 0x7c, 0x10, 0x99, 0xb3, 0x17, 0xce, 0xc4, //0x00001560 .quad -4265445736938701790 + 0xd4, 0x21, 0x4d, 0x38, 0xb4, 0x0f, 0x55, 0xcb, //0x00001568 .quad -3795109844276665900 + 0x2b, 0x9b, 0x54, 0x7f, 0xa0, 0x9d, 0x01, 0xf6, //0x00001570 .quad -720121152745989333 + 0x49, 0x6a, 0x60, 0x46, 0xa1, 0x53, 0x2a, 0x7e, //0x00001578 .quad 9091170749936331337 + 0xfb, 0xe0, 0x94, 0x4f, 0x84, 0x02, 0xc1, 0x99, //0x00001580 .quad -7367604748107325189 + 0x6e, 0x42, 0xfc, 0xcb, 0x44, 0x74, 0xda, 0x2e, //0x00001588 .quad 3376138709496513134 + 0x39, 0x19, 0x7a, 0x63, 0x25, 0x43, 0x31, 0xc0, //0x00001590 .quad -4597819916706768583 + 0x09, 0x53, 0xfb, 0xfe, 0x55, 0x11, 0x91, 0xfa, //0x00001598 .quad -391512631556746487 + 0x88, 0x9f, 0x58, 0xbc, 0xee, 0x93, 0x3d, 0xf0, //0x000015a0 .quad -1135588877456072824 + 0xcb, 0x27, 0xba, 0x7e, 0xab, 0x55, 0x35, 0x79, //0x000015a8 .quad 8733981247408842699 + 0xb5, 0x63, 0xb7, 0x35, 0x75, 0x7c, 0x26, 0x96, //0x000015b0 .quad -7627272076051127371 + 0xdf, 0x58, 0x34, 0x2f, 0x8b, 0x55, 0xc1, 0x4b, //0x000015b8 .quad 5458738279630526687 + 0xa2, 0x3c, 0x25, 0x83, 0x92, 0x1b, 0xb0, 0xbb, //0x000015c0 .quad -4922404076636521310 + 0x17, 0x6f, 0x01, 0xfb, 0xed, 0xaa, 0xb1, 0x9e, //0x000015c8 .quad -7011635205744005353 + 0xcb, 0x8b, 0xee, 0x23, 0x77, 0x22, 0x9c, 0xea, //0x000015d0 .quad -1541319077368263733 + 0xdd, 0xca, 0xc1, 0x79, 0xa9, 0x15, 0x5e, 0x46, //0x000015d8 .quad 5070514048102157021 + 0x5f, 0x17, 0x75, 0x76, 0x8a, 0x95, 0xa1, 0x92, //0x000015e0 .quad -7880853450996246689 + 0xca, 0x1e, 0x19, 0xec, 0x89, 0xcd, 0xfa, 0x0b, //0x000015e8 .quad 863228270850154186 + 0x36, 0x5d, 0x12, 0x14, 0xed, 0xfa, 0x49, 0xb7, //0x000015f0 .quad -5239380795317920458 + 0x7c, 0x66, 0x1f, 0x67, 0xec, 0x80, 0xf9, 0xce, //0x000015f8 .quad -3532650679864695172 + 0x84, 0xf4, 0x16, 0x59, 0xa8, 0x79, 0x1c, 0xe5, //0x00001600 .quad -1937539975720012668 + 0x1b, 0x40, 0xe7, 0x80, 0x27, 0xe1, 0xb7, 0x82, //0x00001608 .quad -9027499368258256869 + 0xd2, 0x58, 0xae, 0x37, 0x09, 0xcc, 0x31, 0x8f, //0x00001610 .quad -8128491512466089774 + 0x11, 0x88, 0x90, 0xb0, 0xb8, 0xec, 0xb2, 0xd1, //0x00001618 .quad -3336344095947716591 + 0x07, 0xef, 0x99, 0x85, 0x0b, 0x3f, 0xfe, 0xb2, //0x00001620 .quad -5548928372155224313 + 0x16, 0xaa, 0xb4, 0xdc, 0xe6, 0xa7, 0x1f, 0x86, //0x00001628 .quad -8782116138362033642 + 0xc9, 0x6a, 0x00, 0x67, 0xce, 0xce, 0xbd, 0xdf, //0x00001630 .quad -2324474446766642487 + 0x9b, 0xd4, 0xe1, 0x93, 0xe0, 0x91, 0xa7, 0x67, //0x00001638 .quad 7469098900757009563 + 0xbd, 0x42, 0x60, 0x00, 0x41, 0xa1, 0xd6, 0x8b, //0x00001640 .quad -8370325556870233411 + 0xe1, 0x24, 0x6d, 0x5c, 0x2c, 0xbb, 0xc8, 0xe0, //0x00001648 .quad -2249342214667950879 + 0x6d, 0x53, 0x78, 0x40, 0x91, 0x49, 0xcc, 0xae, //0x00001650 .quad -5851220927660403859 + 0x19, 0x6e, 0x88, 0x73, 0xf7, 0xe9, 0xfa, 0x58, //0x00001658 .quad 6411694268519837209 + 0x48, 0x68, 0x96, 0x90, 0xf5, 0x5b, 0x7f, 0xda, //0x00001660 .quad -2702340141148116920 + 0x9f, 0x89, 0x6a, 0x50, 0x75, 0xa4, 0x39, 0xaf, //0x00001668 .quad -5820440219632367201 + 0x2d, 0x01, 0x5e, 0x7a, 0x79, 0x99, 0x8f, 0x88, //0x00001670 .quad -8606491615858654931 + 0x04, 0x96, 0x42, 0x52, 0xc9, 0x06, 0x84, 0x6d, //0x00001678 .quad 7891439908798240260 + 0x78, 0x81, 0xf5, 0xd8, 0xd7, 0x7f, 0xb3, 0xaa, //0x00001680 .quad -6146428501395930760 + 0x84, 0x3b, 0xd3, 0xa6, 0x7b, 0x08, 0xe5, 0xc8, //0x00001688 .quad -3970758169284363388 + 0xd6, 0xe1, 0x32, 0xcf, 0xcd, 0x5f, 0x60, 0xd5, //0x00001690 .quad -3071349608317525546 + 0x65, 0x0a, 0x88, 0x90, 0x9a, 0x4a, 0x1e, 0xfb, //0x00001698 .quad -351761693178066331 + 0x26, 0xcd, 0x7f, 0xa1, 0xe0, 0x3b, 0x5c, 0x85, //0x000016a0 .quad -8837122532839535322 + 0x80, 0x06, 0x55, 0x9a, 0xa0, 0xee, 0xf2, 0x5c, //0x000016a8 .quad 6697677969404790400 + 0x6f, 0xc0, 0xdf, 0xc9, 0xd8, 0x4a, 0xb3, 0xa6, //0x000016b0 .quad -6434717147622031249 + 0x1f, 0x48, 0xea, 0xc0, 0x48, 0xaa, 0x2f, 0xf4, //0x000016b8 .quad -851274575098787809 + 0x8b, 0xb0, 0x57, 0xfc, 0x8e, 0x1d, 0x60, 0xd0, //0x000016c0 .quad -3431710416100151157 + 0x27, 0xda, 0x24, 0xf1, 0xda, 0x94, 0x3b, 0xf1, //0x000016c8 .quad -1064093218873484761 + 0x57, 0xce, 0xb6, 0x5d, 0x79, 0x12, 0x3c, 0x82, //0x000016d0 .quad -9062348037703676329 + 0x59, 0x08, 0xb7, 0xd6, 0x08, 0x3d, 0xc5, 0x76, //0x000016d8 .quad 8558313775058847833 + 0xed, 0x81, 0x24, 0xb5, 0x17, 0x17, 0xcb, 0xa2, //0x000016e0 .quad -6716249028702207507 + 0x6f, 0xca, 0x64, 0x0c, 0x4b, 0x8c, 0x76, 0x54, //0x000016e8 .quad 6086206200396171887 + 0x68, 0xa2, 0x6d, 0xa2, 0xdd, 0xdc, 0x7d, 0xcb, //0x000016f0 .quad -3783625267450371480 + 0x0a, 0xfd, 0x7d, 0xcf, 0x5d, 0x2f, 0x94, 0xa9, //0x000016f8 .quad -6227300304786948854 + 0x02, 0x0b, 0x09, 0x0b, 0x15, 0x54, 0x5d, 0xfe, //0x00001700 .quad -117845565885576446 + 0x4d, 0x7c, 0x5d, 0x43, 0x35, 0x3b, 0xf9, 0xd3, //0x00001708 .quad -3172439362556298163 + 0xe1, 0xa6, 0xe5, 0x26, 0x8d, 0x54, 0xfa, 0x9e, //0x00001710 .quad -6991182506319567135 + 0xb0, 0x6d, 0x1a, 0x4a, 0x01, 0xc5, 0x7b, 0xc4, //0x00001718 .quad -4288617610811380304 + 0x9a, 0x10, 0x9f, 0x70, 0xb0, 0xe9, 0xb8, 0xc6, //0x00001720 .quad -4127292114472071014 + 0x1c, 0x09, 0xa1, 0x9c, 0x41, 0xb6, 0x9a, 0x35, //0x00001728 .quad 3862600023340550428 + 0xc0, 0xd4, 0xc6, 0x8c, 0x1c, 0x24, 0x67, 0xf8, //0x00001730 .quad -547429124662700864 + 0x63, 0x4b, 0xc9, 0x03, 0xd2, 0x63, 0x01, 0xc3, //0x00001738 .quad -4395122007679087773 + 0xf8, 0x44, 0xfc, 0xd7, 0x91, 0x76, 0x40, 0x9b, //0x00001740 .quad -7259672230555269896 + 0x1e, 0xcf, 0x5d, 0x42, 0x63, 0xde, 0xe0, 0x79, //0x00001748 .quad 8782263791269039902 + 0x36, 0x56, 0xfb, 0x4d, 0x36, 0x94, 0x10, 0xc2, //0x00001750 .quad -4462904269766699466 + 0xe5, 0x42, 0xf5, 0x12, 0xfc, 0x15, 0x59, 0x98, //0x00001758 .quad -7468914334623251739 + 0xc4, 0x2b, 0x7a, 0xe1, 0x43, 0xb9, 0x94, 0xf2, //0x00001760 .quad -966944318780986428 + 0x9e, 0x93, 0xb2, 0x17, 0x7b, 0x5b, 0x6f, 0x3e, //0x00001768 .quad 4498915137003099038 + 0x5a, 0x5b, 0xec, 0x6c, 0xca, 0xf3, 0x9c, 0x97, //0x00001770 .quad -7521869226879198374 + 0x43, 0x9c, 0xcf, 0xee, 0x2c, 0x99, 0x05, 0xa7, //0x00001778 .quad -6411550076227838909 + 0x31, 0x72, 0x27, 0x08, 0xbd, 0x30, 0x84, 0xbd, //0x00001780 .quad -4790650515171610063 + 0x54, 0x83, 0x83, 0x2a, 0x78, 0xff, 0xc6, 0x50, //0x00001788 .quad 5820620459997365076 + 0xbd, 0x4e, 0x31, 0x4a, 0xec, 0x3c, 0xe5, 0xec, //0x00001790 .quad -1376627125537124675 + 0x29, 0x64, 0x24, 0x35, 0x56, 0xbf, 0xf8, 0xa4, //0x00001798 .quad -6559282480285457367 + 0x36, 0xd1, 0x5e, 0xae, 0x13, 0x46, 0x0f, 0x94, //0x000017a0 .quad -7777920981101784778 + 0x9a, 0xbe, 0x36, 0xe1, 0x95, 0x77, 0x1b, 0x87, //0x000017a8 .quad -8711237568605798758 + 0x84, 0x85, 0xf6, 0x99, 0x98, 0x17, 0x13, 0xb9, //0x000017b0 .quad -5110715207949843068 + 0x40, 0x6e, 0x84, 0x59, 0x7b, 0x55, 0xe2, 0x28, //0x000017b8 .quad 2946011094524915264 + 0xe5, 0x26, 0x74, 0xc0, 0x7e, 0xdd, 0x57, 0xe7, //0x000017c0 .quad -1776707991509915931 + 0xd0, 0x89, 0xe5, 0x2f, 0xda, 0xea, 0x1a, 0x33, //0x000017c8 .quad 3682513868156144080 + 0x4f, 0x98, 0x48, 0x38, 0x6f, 0xea, 0x96, 0x90, //0x000017d0 .quad -8027971522334779313 + 0x22, 0x76, 0xef, 0x5d, 0xc8, 0xd2, 0xf0, 0x3f, //0x000017d8 .quad 4607414176811284002 + 0x63, 0xbe, 0x5a, 0x06, 0x0b, 0xa5, 0xbc, 0xb4, //0x000017e0 .quad -5423278384491086237 + 0xaa, 0x53, 0x6b, 0x75, 0x7a, 0x07, 0xed, 0x0f, //0x000017e8 .quad 1147581702586717098 + 0xfb, 0x6d, 0xf1, 0xc7, 0x4d, 0xce, 0xeb, 0xe1, //0x000017f0 .quad -2167411962186469893 + 0x95, 0x28, 0xc6, 0x12, 0x59, 0x49, 0xe8, 0xd3, //0x000017f8 .quad -3177208890193991531 + 0xbd, 0xe4, 0xf6, 0x9c, 0xf0, 0x60, 0x33, 0x8d, //0x00001800 .quad -8272161504007625539 + 0x5d, 0xd9, 0xbb, 0xab, 0xd7, 0x2d, 0x71, 0x64, //0x00001808 .quad 7237616480483531101 + 0xec, 0x9d, 0x34, 0xc4, 0x2c, 0x39, 0x80, 0xb0, //0x00001810 .quad -5728515861582144020 + 0xb4, 0xcf, 0xaa, 0x96, 0x4d, 0x79, 0x8d, 0xbd, //0x00001818 .quad -4788037454677749836 + 0x67, 0xc5, 0x41, 0xf5, 0x77, 0x47, 0xa0, 0xdc, //0x00001820 .quad -2548958808550292121 + 0xa1, 0x83, 0x55, 0xfc, 0xa0, 0xd7, 0xf0, 0xec, //0x00001828 .quad -1373360799919799391 + 0x60, 0x1b, 0x49, 0xf9, 0xaa, 0x2c, 0xe4, 0x89, //0x00001830 .quad -8510628282985014432 + 0x45, 0x72, 0xb5, 0x9d, 0xc4, 0x86, 0x16, 0xf4, //0x00001838 .quad -858350499949874619 + 0x39, 0x62, 0x9b, 0xb7, 0xd5, 0x37, 0x5d, 0xac, //0x00001840 .quad -6026599335303880135 + 0xd6, 0xce, 0x22, 0xc5, 0x75, 0x28, 0x1c, 0x31, //0x00001848 .quad 3538747893490044630 + 0xc7, 0x3a, 0x82, 0x25, 0xcb, 0x85, 0x74, 0xd7, //0x00001850 .quad -2921563150702462265 + 0x8c, 0x82, 0x6b, 0x36, 0x93, 0x32, 0x63, 0x7d, //0x00001858 .quad 9035120885289943692 + 0xbc, 0x64, 0x71, 0xf7, 0x9e, 0xd3, 0xa8, 0x86, //0x00001860 .quad -8743505996830120772 + 0x98, 0x31, 0x03, 0x02, 0x9c, 0xff, 0x5d, 0xae, //0x00001868 .quad -5882264492762254952 + 0xeb, 0xbd, 0x4d, 0xb5, 0x86, 0x08, 0x53, 0xa8, //0x00001870 .quad -6317696477610263061 + 0xfd, 0xfd, 0x83, 0x02, 0x83, 0x7f, 0xf5, 0xd9, //0x00001878 .quad -2741144597525430787 + 0x66, 0x2d, 0xa1, 0x62, 0xa8, 0xca, 0x67, 0xd2, //0x00001880 .quad -3285434578585440922 + 0x7c, 0xfd, 0x24, 0xc3, 0x63, 0xdf, 0x72, 0xd0, //0x00001888 .quad -3426430746906788484 + 0x60, 0xbc, 0xa4, 0x3d, 0xa9, 0xde, 0x80, 0x83, //0x00001890 .quad -8970925639256982432 + 0x6e, 0x1e, 0xf7, 0x59, 0x9e, 0xcb, 0x47, 0x42, //0x00001898 .quad 4776009810824339054 + 0x78, 0xeb, 0x0d, 0x8d, 0x53, 0x16, 0x61, 0xa4, //0x000018a0 .quad -6601971030643840136 + 0x09, 0xe6, 0x74, 0xf0, 0x85, 0xbe, 0xd9, 0x52, //0x000018a8 .quad 5970012263530423817 + 0x56, 0x66, 0x51, 0x70, 0xe8, 0x5b, 0x79, 0xcd, //0x000018b0 .quad -3640777769877412266 + 0x8c, 0x1f, 0x92, 0x6c, 0x27, 0x2e, 0x90, 0x67, //0x000018b8 .quad 7462515329413029772 + 0xf6, 0xdf, 0x32, 0x46, 0x71, 0xd9, 0x6b, 0x80, //0x000018c0 .quad -9193015133814464522 + 0xb7, 0x53, 0xdb, 0xa3, 0xd8, 0x1c, 0xba, 0x00, //0x000018c8 .quad 52386062455755703 + 0xf3, 0x97, 0xbf, 0x97, 0xcd, 0xcf, 0x86, 0xa0, //0x000018d0 .quad -6879582898840692749 + 0xa5, 0x28, 0xd2, 0xcc, 0x0e, 0xa4, 0xe8, 0x80, //0x000018d8 .quad -9157889458785081179 + 0xf0, 0x7d, 0xaf, 0xfd, 0xc0, 0x83, 0xa8, 0xc8, //0x000018e0 .quad -3987792605123478032 + 0xce, 0xb2, 0x06, 0x80, 0x12, 0xcd, 0x22, 0x61, //0x000018e8 .quad 6999382250228200142 + 0x6c, 0x5d, 0x1b, 0x3d, 0xb1, 0xa4, 0xd2, 0xfa, //0x000018f0 .quad -373054737976959636 + 0x82, 0x5f, 0x08, 0x20, 0x57, 0x80, 0x6b, 0x79, //0x000018f8 .quad 8749227812785250178 + 0x63, 0x1a, 0x31, 0xc6, 0xee, 0xa6, 0xc3, 0x9c, //0x00001900 .quad -7150688238876681629 + 0xb1, 0x3b, 0x05, 0x74, 0x36, 0x30, 0xe3, 0xcb, //0x00001908 .quad -3755104653863994447 + 0xfc, 0x60, 0xbd, 0x77, 0xaa, 0x90, 0xf4, 0xc3, //0x00001910 .quad -4326674280168464132 + 0x9d, 0x8a, 0x06, 0x11, 0x44, 0xfc, 0xdb, 0xbe, //0x00001918 .quad -4693880817329993059 + 0x3b, 0xb9, 0xac, 0x15, 0xd5, 0xb4, 0xf1, 0xf4, //0x00001920 .quad -796656831783192261 + 0x45, 0x2d, 0x48, 0x15, 0x55, 0xfb, 0x92, 0xee, //0x00001928 .quad -1255665003235103419 + 0xc5, 0xf3, 0x8b, 0x2d, 0x05, 0x11, 0x17, 0x99, //0x00001930 .quad -7415439547505577019 + 0x4b, 0x1c, 0x4d, 0x2d, 0x15, 0xdd, 0x1b, 0x75, //0x00001938 .quad 8438581409832836171 + 0xb6, 0xf0, 0xee, 0x78, 0x46, 0xd5, 0x5c, 0xbf, //0x00001940 .quad -4657613415954583370 + 0x5e, 0x63, 0xa0, 0x78, 0x5a, 0xd4, 0x62, 0xd2, //0x00001948 .quad -3286831292991118498 + 0xe4, 0xac, 0x2a, 0x17, 0x98, 0x0a, 0x34, 0xef, //0x00001950 .quad -1210330751515841308 + 0x35, 0x7c, 0xc8, 0x16, 0x71, 0x89, 0xfb, 0x86, //0x00001958 .quad -8720225134666286027 + 0x0e, 0xac, 0x7a, 0x0e, 0x9f, 0x86, 0x80, 0x95, //0x00001960 .quad -7673985747338482674 + 0xa1, 0x4d, 0x3d, 0xae, 0xe6, 0x35, 0x5d, 0xd4, //0x00001968 .quad -3144297699952734815 + 0x12, 0x57, 0x19, 0xd2, 0x46, 0xa8, 0xe0, 0xba, //0x00001970 .quad -4980796165745715438 + 0x0a, 0xa1, 0xcc, 0x59, 0x60, 0x83, 0x74, 0x89, //0x00001978 .quad -8542058143368306422 + 0xd7, 0xac, 0x9f, 0x86, 0x58, 0xd2, 0x98, 0xe9, //0x00001980 .quad -1614309188754756393 + 0x4c, 0xc9, 0x3f, 0x70, 0x38, 0xa4, 0xd1, 0x2b, //0x00001988 .quad 3157485376071780684 + 0x06, 0xcc, 0x23, 0x54, 0x77, 0x83, 0xff, 0x91, //0x00001990 .quad -7926472270612804602 + 0xd0, 0xdd, 0x27, 0x46, 0xa3, 0x06, 0x63, 0x7b, //0x00001998 .quad 8890957387685944784 + 0x08, 0xbf, 0x2c, 0x29, 0x55, 0x64, 0x7f, 0xb6, //0x000019a0 .quad -5296404319838617848 + 0x43, 0xd5, 0xb1, 0x17, 0x4c, 0xc8, 0x3b, 0x1a, //0x000019a8 .quad 1890324697752655171 + 0xca, 0xee, 0x77, 0x73, 0x6a, 0x3d, 0x1f, 0xe4, //0x000019b0 .quad -2008819381370884406 + 0x94, 0x4a, 0x9e, 0x1d, 0x5f, 0xba, 0xca, 0x20, //0x000019b8 .quad 2362905872190818964 + 0x3e, 0xf5, 0x2a, 0x88, 0x62, 0x86, 0x93, 0x8e, //0x000019c0 .quad -8173041140997884610 + 0x9d, 0xee, 0x82, 0x72, 0x7b, 0xb4, 0x7e, 0x54, //0x000019c8 .quad 6088502188546649757 + 0x8d, 0xb2, 0x35, 0x2a, 0xfb, 0x67, 0x38, 0xb2, //0x000019d0 .quad -5604615407819967859 + 0x44, 0xaa, 0x23, 0x4f, 0x9a, 0x61, 0x9e, 0xe9, //0x000019d8 .quad -1612744301171463612 + 0x31, 0x1f, 0xc3, 0xf4, 0xf9, 0x81, 0xc6, 0xde, //0x000019e0 .quad -2394083241347571919 + 0xd5, 0x94, 0xec, 0xe2, 0x00, 0xfa, 0x05, 0x64, //0x000019e8 .quad 7207441660390446293 + 0x7e, 0xf3, 0xf9, 0x38, 0x3c, 0x11, 0x3c, 0x8b, //0x000019f0 .quad -8413831053483314306 + 0x05, 0xdd, 0xd3, 0x8d, 0x40, 0xbc, 0x83, 0xde, //0x000019f8 .quad -2412877989897052923 + 0x5e, 0x70, 0x38, 0x47, 0x8b, 0x15, 0x0b, 0xae, //0x00001a00 .quad -5905602798426754978 + 0x46, 0xd4, 0x48, 0xb1, 0x50, 0xab, 0x24, 0x96, //0x00001a08 .quad -7627783505798704058 + 0x76, 0x8c, 0x06, 0x19, 0xee, 0xda, 0x8d, 0xd9, //0x00001a10 .quad -2770317479606055818 + 0x58, 0x09, 0x9b, 0xdd, 0x24, 0xd6, 0xad, 0x3b, //0x00001a18 .quad 4300328673033783640 + 0xc9, 0x17, 0xa4, 0xcf, 0xd4, 0xa8, 0xf8, 0x87, //0x00001a20 .quad -8648977452394866743 + 0xd7, 0xe5, 0x80, 0x0a, 0xd7, 0xa5, 0x4c, 0xe5, //0x00001a28 .quad -1923980597781273129 + 0xbc, 0x1d, 0x8d, 0x03, 0x0a, 0xd3, 0xf6, 0xa9, //0x00001a30 .quad -6199535797066195524 + 0x4d, 0x1f, 0x21, 0xcd, 0x4c, 0xcf, 0x9f, 0x5e, //0x00001a38 .quad 6818396289628184397 + 0x2b, 0x65, 0x70, 0x84, 0xcc, 0x87, 0x74, 0xd4, //0x00001a40 .quad -3137733727905356501 + 0x20, 0x67, 0x69, 0x00, 0x20, 0xc3, 0x47, 0x76, //0x00001a48 .quad 8522995362035230496 + 0x3b, 0x3f, 0xc6, 0xd2, 0xdf, 0xd4, 0xc8, 0x84, //0x00001a50 .quad -8878612607581929669 + 0x74, 0xe0, 0x41, 0x00, 0xf4, 0xd9, 0xec, 0x29, //0x00001a58 .quad 3021029092058325108 + 0x09, 0xcf, 0x77, 0xc7, 0x17, 0x0a, 0xfb, 0xa5, //0x00001a60 .quad -6486579741050024183 + 0x91, 0x58, 0x52, 0x00, 0x71, 0x10, 0x68, 0xf4, //0x00001a68 .quad -835399653354481519 + 0xcc, 0xc2, 0x55, 0xb9, 0x9d, 0xcc, 0x79, 0xcf, //0x00001a70 .quad -3496538657885142324 + 0xb5, 0xee, 0x66, 0x40, 0x8d, 0x14, 0x82, 0x71, //0x00001a78 .quad 8179122470161673909 + 0xbf, 0x99, 0xd5, 0x93, 0xe2, 0x1f, 0xac, 0x81, //0x00001a80 .quad -9102865688819295809 + 0x31, 0x55, 0x40, 0x48, 0xd8, 0x4c, 0xf1, 0xc6, //0x00001a88 .quad -4111420493003729615 + 0x2f, 0x00, 0xcb, 0x38, 0xdb, 0x27, 0x17, 0xa2, //0x00001a90 .quad -6766896092596731857 + 0x7d, 0x6a, 0x50, 0x5a, 0x0e, 0xa0, 0xad, 0xb8, //0x00001a98 .quad -5139275616254662019 + 0x3b, 0xc0, 0xfd, 0x06, 0xd2, 0xf1, 0x9c, 0xca, //0x00001aa0 .quad -3846934097318526917 + 0x1d, 0x85, 0xe4, 0xf0, 0x11, 0x08, 0xd9, 0xa6, //0x00001aa8 .quad -6424094520318327523 + 0x4a, 0x30, 0xbd, 0x88, 0x46, 0x2e, 0x44, 0xfd, //0x00001ab0 .quad -196981603220770742 + 0x64, 0xa6, 0x1d, 0x6d, 0x16, 0x4a, 0x8f, 0x90, //0x00001ab8 .quad -8030118150397909404 + 0x2e, 0x3e, 0x76, 0x15, 0xec, 0x9c, 0x4a, 0x9e, //0x00001ac0 .quad -7040642529654063570 + 0xff, 0x87, 0x32, 0x04, 0x4e, 0x8e, 0x59, 0x9a, //0x00001ac8 .quad -7324666853212387329 + 0xba, 0xcd, 0xd3, 0x1a, 0x27, 0x44, 0xdd, 0xc5, //0x00001ad0 .quad -4189117143640191558 + 0xfe, 0x29, 0x3f, 0x85, 0xe1, 0xf1, 0xef, 0x40, //0x00001ad8 .quad 4679224488766679550 + 0x28, 0xc1, 0x88, 0xe1, 0x30, 0x95, 0x54, 0xf7, //0x00001ae0 .quad -624710411122851544 + 0x7d, 0xf4, 0x8e, 0xe6, 0x59, 0xee, 0x2b, 0xd1, //0x00001ae8 .quad -3374341425896426371 + 0xb9, 0x78, 0xf5, 0x8c, 0x3e, 0xdd, 0x94, 0x9a, //0x00001af0 .quad -7307973034592864071 + 0xcf, 0x58, 0x19, 0x30, 0xf8, 0x74, 0xbb, 0x82, //0x00001af8 .quad -9026492418826348337 + 0xe7, 0xd6, 0x32, 0x30, 0x8e, 0x14, 0x3a, 0xc1, //0x00001b00 .quad -4523280274813692185 + 0x02, 0xaf, 0x1f, 0x3c, 0x36, 0x52, 0x6a, 0xe3, //0x00001b08 .quad -2059743486678159614 + 0xa1, 0x8c, 0x3f, 0xbc, 0xb1, 0x99, 0x88, 0xf1, //0x00001b10 .quad -1042414325089727327 + 0xc2, 0x9a, 0x27, 0xcb, 0xc3, 0xe6, 0x44, 0xdc, //0x00001b18 .quad -2574679358347699518 + 0xe5, 0xb7, 0xa7, 0x15, 0x0f, 0x60, 0xf5, 0x96, //0x00001b20 .quad -7569037980822161435 + 0xba, 0xc0, 0xf8, 0x5e, 0x3a, 0x10, 0xab, 0x29, //0x00001b28 .quad 3002511419460075706 + 0xde, 0xa5, 0x11, 0xdb, 0x12, 0xb8, 0xb2, 0xbc, //0x00001b30 .quad -4849611457600313890 + 0xe8, 0xf0, 0xb6, 0xf6, 0x48, 0xd4, 0x15, 0x74, //0x00001b38 .quad 8364825292752482536 + 0x56, 0x0f, 0xd6, 0x91, 0x17, 0x66, 0xdf, 0xeb, //0x00001b40 .quad -1450328303573004458 + 0x22, 0xad, 0x64, 0x34, 0x5b, 0x49, 0x1b, 0x11, //0x00001b48 .quad 1232659579085827362 + 0x95, 0xc9, 0x25, 0xbb, 0xce, 0x9f, 0x6b, 0x93, //0x00001b50 .quad -7823984217374209643 + 0x35, 0xec, 0xbe, 0x00, 0xd9, 0x0d, 0xb1, 0xca, //0x00001b58 .quad -3841273781498745803 + 0xfb, 0x3b, 0xef, 0x69, 0xc2, 0x87, 0x46, 0xb8, //0x00001b60 .quad -5168294253290374149 + 0x43, 0xa7, 0xee, 0x40, 0x4f, 0x51, 0x5d, 0x3d, //0x00001b68 .quad 4421779809981343555 + 0xfa, 0x0a, 0x6b, 0x04, 0xb3, 0x29, 0x58, 0xe6, //0x00001b70 .quad -1848681798185579782 + 0x13, 0x51, 0x2a, 0x11, 0xa3, 0xa5, 0xb4, 0x0c, //0x00001b78 .quad 915538744049291539 + 0xdc, 0xe6, 0xc2, 0xe2, 0x0f, 0x1a, 0xf7, 0x8f, //0x00001b80 .quad -8072955151507069220 + 0xac, 0x72, 0xba, 0xea, 0x85, 0xe7, 0xf0, 0x47, //0x00001b88 .quad 5183897733458195116 + 0x93, 0xa0, 0x73, 0xdb, 0x93, 0xe0, 0xf4, 0xb3, //0x00001b90 .quad -5479507920956448621 + 0x57, 0x0f, 0x69, 0x65, 0x67, 0x21, 0xed, 0x59, //0x00001b98 .quad 6479872166822743895 + 0xb8, 0x88, 0x50, 0xd2, 0xb8, 0x18, 0xf2, 0xe0, //0x00001ba0 .quad -2237698882768172872 + 0x2d, 0x53, 0xc3, 0x3e, 0xc1, 0x69, 0x68, 0x30, //0x00001ba8 .quad 3488154190101041965 + 0x73, 0x55, 0x72, 0x83, 0x73, 0x4f, 0x97, 0x8c, //0x00001bb0 .quad -8316090829371189901 + 0xfc, 0x13, 0x3a, 0xc7, 0x18, 0x42, 0x41, 0x1e, //0x00001bb8 .quad 2180096368813151228 + 0xcf, 0xea, 0x4e, 0x64, 0x50, 0x23, 0xbd, 0xaf, //0x00001bc0 .quad -5783427518286599473 + 0xfb, 0x98, 0x08, 0xf9, 0x9e, 0x92, 0xd1, 0xe5, //0x00001bc8 .quad -1886565557410948869 + 0x83, 0xa5, 0x62, 0x7d, 0x24, 0x6c, 0xac, 0xdb, //0x00001bd0 .quad -2617598379430861437 + 0x3a, 0xbf, 0x4a, 0xb7, 0x46, 0xf7, 0x45, 0xdf, //0x00001bd8 .quad -2358206946763686086 + 0x72, 0xa7, 0x5d, 0xce, 0x96, 0xc3, 0x4b, 0x89, //0x00001be0 .quad -8553528014785370254 + 0x84, 0xb7, 0x8e, 0x32, 0x8c, 0xba, 0x8b, 0x6b, //0x00001be8 .quad 7749492695127472004 + 0x4f, 0x11, 0xf5, 0x81, 0x7c, 0xb4, 0x9e, 0xab, //0x00001bf0 .quad -6080224000054324913 + 0x65, 0x65, 0x32, 0x3f, 0x2f, 0xa9, 0x6e, 0x06, //0x00001bf8 .quad 463493832054564197 + 0xa2, 0x55, 0x72, 0xa2, 0x9b, 0x61, 0x86, 0xd6, //0x00001c00 .quad -2988593981640518238 + 0xbe, 0xfe, 0xfe, 0x0e, 0x7b, 0x53, 0x0a, 0xc8, //0x00001c08 .quad -4032318728359182658 + 0x85, 0x75, 0x87, 0x45, 0x01, 0xfd, 0x13, 0x86, //0x00001c10 .quad -8785400266166405755 + 0x37, 0x5f, 0x5f, 0xe9, 0x2c, 0x74, 0x06, 0xbd, //0x00001c18 .quad -4826042214438183113 + 0xe7, 0x52, 0xe9, 0x96, 0x41, 0xfc, 0x98, 0xa7, //0x00001c20 .quad -6370064314280619289 + 0x05, 0x37, 0xb7, 0x23, 0x38, 0x11, 0x48, 0x2c, //0x00001c28 .quad 3190819268807046917 + 0xa0, 0xa7, 0xa3, 0xfc, 0x51, 0x3b, 0x7f, 0xd1, //0x00001c30 .quad -3350894374423386208 + 0xc6, 0x04, 0xa5, 0x2c, 0x86, 0x15, 0x5a, 0xf7, //0x00001c38 .quad -623161932418579258 + 0xc4, 0x48, 0xe6, 0x3d, 0x13, 0x85, 0xef, 0x82, //0x00001c40 .quad -9011838011655698236 + 0xfc, 0x22, 0xe7, 0xdb, 0x73, 0x4d, 0x98, 0x9a, //0x00001c48 .quad -7307005235402693892 + 0xf5, 0xda, 0x5f, 0x0d, 0x58, 0x66, 0xab, 0xa3, //0x00001c50 .quad -6653111496142234891 + 0xbb, 0xeb, 0xe0, 0xd2, 0xd0, 0x60, 0x3e, 0xc1, //0x00001c58 .quad -4522070525825979461 + 0xb3, 0xd1, 0xb7, 0x10, 0xee, 0x3f, 0x96, 0xcc, //0x00001c60 .quad -3704703351750405709 + 0xa9, 0x26, 0x99, 0x07, 0x05, 0xf9, 0x8d, 0x31, //0x00001c68 .quad 3570783879572301481 + 0x1f, 0xc6, 0xe5, 0x94, 0xe9, 0xcf, 0xbb, 0xff, //0x00001c70 .quad -19193171260619233 + 0x53, 0x70, 0x7f, 0x49, 0x46, 0x77, 0xf1, 0xfd, //0x00001c78 .quad -148206168962011053 + 0xd3, 0x9b, 0x0f, 0xfd, 0xf1, 0x61, 0xd5, 0x9f, //0x00001c80 .quad -6929524759678968877 + 0x34, 0xa6, 0xef, 0xed, 0x8b, 0xea, 0xb6, 0xfe, //0x00001c88 .quad -92628855601256908 + 0xc8, 0x82, 0x53, 0x7c, 0x6e, 0xba, 0xca, 0xc7, //0x00001c90 .quad -4050219931171323192 + 0xc1, 0x8f, 0x6b, 0xe9, 0x2e, 0xa5, 0x64, 0xfe, //0x00001c98 .quad -115786069501571135 + 0x7b, 0x63, 0x68, 0x1b, 0x0a, 0x69, 0xbd, 0xf9, //0x00001ca0 .quad -451088895536766085 + 0xb1, 0x73, 0xc6, 0xa3, 0x7a, 0xce, 0xfd, 0x3d, //0x00001ca8 .quad 4466953431550423985 + 0x2d, 0x3e, 0x21, 0x51, 0xa6, 0x61, 0x16, 0x9c, //0x00001cb0 .quad -7199459587351560659 + 0x4f, 0x08, 0x5c, 0xa6, 0x0c, 0xa1, 0xbe, 0x06, //0x00001cb8 .quad 486002885505321039 + 0xb8, 0x8d, 0x69, 0xe5, 0x0f, 0xfa, 0x1b, 0xc3, //0x00001cc0 .quad -4387638465762062920 + 0x63, 0x0a, 0xf3, 0xcf, 0x4f, 0x49, 0x6e, 0x48, //0x00001cc8 .quad 5219189625309039203 + 0x26, 0xf1, 0xc3, 0xde, 0x93, 0xf8, 0xe2, 0xf3, //0x00001cd0 .quad -872862063775190746 + 0xfb, 0xcc, 0xef, 0xc3, 0xa3, 0xdb, 0x89, 0x5a, //0x00001cd8 .quad 6523987031636299003 + 0xb7, 0x76, 0x3a, 0x6b, 0x5c, 0xdb, 0x6d, 0x98, //0x00001ce0 .quad -7463067817500576073 + 0x1d, 0xe0, 0x75, 0x5a, 0x46, 0x29, 0x96, 0xf8, //0x00001ce8 .quad -534194123654701027 + 0x65, 0x14, 0x09, 0x86, 0x33, 0x52, 0x89, 0xbe, //0x00001cf0 .quad -4717148753448332187 + 0x24, 0x58, 0x13, 0xf1, 0x97, 0xb3, 0xbb, 0xf6, //0x00001cf8 .quad -667742654568376284 + 0x7f, 0x59, 0x8b, 0x67, 0xc0, 0xa6, 0x2b, 0xee, //0x00001d00 .quad -1284749923383027329 + 0x2d, 0x2e, 0x58, 0xed, 0x7d, 0xa0, 0x6a, 0x74, //0x00001d08 .quad 8388693718644305453 + 0xef, 0x17, 0xb7, 0x40, 0x38, 0x48, 0xdb, 0x94, //0x00001d10 .quad -7720497729755473937 + 0xdd, 0x1c, 0x57, 0xb4, 0x4e, 0xa4, 0xc2, 0xa8, //0x00001d18 .quad -6286281471915778851 + 0xeb, 0xdd, 0xe4, 0x50, 0x46, 0x1a, 0x12, 0xba, //0x00001d20 .quad -5038936143766954517 + 0x14, 0xe4, 0x6c, 0x61, 0x62, 0x4d, 0xf3, 0x92, //0x00001d28 .quad -7857851839894723564 + 0x66, 0x15, 0x1e, 0xe5, 0xd7, 0xa0, 0x96, 0xe8, //0x00001d30 .quad -1686984161281305242 + 0x18, 0x1d, 0xc8, 0xf9, 0xba, 0x20, 0xb0, 0x77, //0x00001d38 .quad 8624429273841147160 + 0x60, 0xcd, 0x32, 0xef, 0x86, 0x24, 0x5e, 0x91, //0x00001d40 .quad -7971894128441897632 + 0x2f, 0x12, 0x1d, 0xdc, 0x74, 0x14, 0xce, 0x0a, //0x00001d48 .quad 778582277723329071 + 0xb8, 0x80, 0xff, 0xaa, 0xa8, 0xad, 0xb5, 0xb5, //0x00001d50 .quad -5353181642124984136 + 0xbb, 0x56, 0x24, 0x13, 0x92, 0x99, 0x81, 0x0d, //0x00001d58 .quad 973227847154161339 + 0xe6, 0x60, 0xbf, 0xd5, 0x12, 0x19, 0x23, 0xe3, //0x00001d60 .quad -2079791034228842266 + 0x6a, 0x6c, 0xed, 0x97, 0xf6, 0xff, 0xe1, 0x10, //0x00001d68 .quad 1216534808942701674 + 0x8f, 0x9c, 0x97, 0xc5, 0xab, 0xef, 0xf5, 0x8d, //0x00001d70 .quad -8217398424034108273 + 0xc2, 0x63, 0xf4, 0x1e, 0xfa, 0x3f, 0x8d, 0xca, //0x00001d78 .quad -3851351762838199358 + 0xb3, 0x83, 0xfd, 0xb6, 0x96, 0x6b, 0x73, 0xb1, //0x00001d80 .quad -5660062011615247437 + 0xb3, 0x7c, 0xb1, 0xa6, 0xf8, 0x8f, 0x30, 0xbd, //0x00001d88 .quad -4814189703547749197 + 0xa0, 0xe4, 0xbc, 0x64, 0x7c, 0x46, 0xd0, 0xdd, //0x00001d90 .quad -2463391496091671392 + 0xdf, 0xdb, 0x5d, 0xd0, 0xf6, 0xb3, 0x7c, 0xac, //0x00001d98 .quad -6017737129434686497 + 0xe4, 0x0e, 0xf6, 0xbe, 0x0d, 0x2c, 0xa2, 0x8a, //0x00001da0 .quad -8457148712698376476 + 0x6c, 0xa9, 0x3a, 0x42, 0x7a, 0xf0, 0xcd, 0x6b, //0x00001da8 .quad 7768129340171790700 + 0x9d, 0x92, 0xb3, 0x2e, 0x11, 0xb7, 0x4a, 0xad, //0x00001db0 .quad -5959749872445582691 + 0xc7, 0x53, 0xc9, 0xd2, 0x98, 0x6c, 0xc1, 0x86, //0x00001db8 .quad -8736582398494813241 + 0x44, 0x77, 0x60, 0x7a, 0xd5, 0x64, 0x9d, 0xd8, //0x00001dc0 .quad -2838001322129590460 + 0xb8, 0xa8, 0x7b, 0x07, 0xbf, 0xc7, 0x71, 0xe8, //0x00001dc8 .quad -1697355961263740744 + 0x8b, 0x4a, 0x7c, 0x6c, 0x05, 0x5f, 0x62, 0x87, //0x00001dd0 .quad -8691279853972075893 + 0x73, 0x49, 0xad, 0x64, 0xd7, 0x1c, 0x47, 0x11, //0x00001dd8 .quad 1244995533423855987 + 0x2d, 0x5d, 0x9b, 0xc7, 0xc6, 0xf6, 0x3a, 0xa9, //0x00001de0 .quad -6252413799037706963 + 0xd0, 0x9b, 0xd8, 0x3d, 0x0d, 0xe4, 0x98, 0xd5, //0x00001de8 .quad -3055441601647567920 + 0x79, 0x34, 0x82, 0x79, 0x78, 0xb4, 0x89, 0xd3, //0x00001df0 .quad -3203831230369745799 + 0xc4, 0xc2, 0x4e, 0x8d, 0x10, 0x1d, 0xff, 0x4a, //0x00001df8 .quad 5404070034795315908 + 0xcb, 0x60, 0xf1, 0x4b, 0xcb, 0x10, 0x36, 0x84, //0x00001e00 .quad -8919923546622172981 + 0xbb, 0x39, 0x51, 0x58, 0x2a, 0x72, 0xdf, 0xce, //0x00001e08 .quad -3539985255894009413 + 0xfe, 0xb8, 0xed, 0x1e, 0xfe, 0x94, 0x43, 0xa5, //0x00001e10 .quad -6538218414850328322 + 0x29, 0x88, 0x65, 0xee, 0xb4, 0x4e, 0x97, 0xc2, //0x00001e18 .quad -4424981569867511767 + 0x3e, 0x27, 0xa9, 0xa6, 0x3d, 0x7a, 0x94, 0xce, //0x00001e20 .quad -3561087000135522498 + 0x33, 0xea, 0xfe, 0x29, 0x62, 0x22, 0x3d, 0x73, //0x00001e28 .quad 8303831092947774003 + 0x87, 0xb8, 0x29, 0x88, 0x66, 0xcc, 0x1c, 0x81, //0x00001e30 .quad -9143208402725783417 + 0x60, 0x52, 0x3f, 0x5a, 0x7d, 0x35, 0x06, 0x08, //0x00001e38 .quad 578208414664970848 + 0xa8, 0x26, 0x34, 0x2a, 0x80, 0xff, 0x63, 0xa1, //0x00001e40 .quad -6817324484979841368 + 0xf8, 0x26, 0xcf, 0xb0, 0xdc, 0xc2, 0x07, 0xca, //0x00001e48 .quad -3888925500096174344 + 0x52, 0x30, 0xc1, 0x34, 0x60, 0xff, 0xbc, 0xc9, //0x00001e50 .quad -3909969587797413806 + 0xb6, 0xf0, 0x02, 0xdd, 0x93, 0xb3, 0x89, 0xfc, //0x00001e58 .quad -249470856692830026 + 0x67, 0x7c, 0xf1, 0x41, 0x38, 0x3f, 0x2c, 0xfc, //0x00001e60 .quad -275775966319379353 + 0xe3, 0xac, 0x43, 0xd4, 0x78, 0x20, 0xac, 0xbb, //0x00001e68 .quad -4923524589293425437 + 0xc0, 0xed, 0x36, 0x29, 0x83, 0xa7, 0x9b, 0x9d, //0x00001e70 .quad -7089889006590693952 + 0x0e, 0x4c, 0xaa, 0x84, 0x4b, 0x94, 0x4b, 0xd5, //0x00001e78 .quad -3077202868308390898 + 0x31, 0xa9, 0x84, 0xf3, 0x63, 0x91, 0x02, 0xc5, //0x00001e80 .quad -4250675239810979535 + 0x12, 0xdf, 0xd4, 0x65, 0x5e, 0x79, 0x9e, 0x0a, //0x00001e88 .quad 765182433041899282 + 0x7d, 0xd3, 0x65, 0xf0, 0xbc, 0x35, 0x43, 0xf6, //0x00001e90 .quad -701658031336336515 + 0xd6, 0x16, 0x4a, 0xff, 0xb5, 0x17, 0x46, 0x4d, //0x00001e98 .quad 5568164059729762006 + 0x2e, 0xa4, 0x3f, 0x16, 0x96, 0x01, 0xea, 0x99, //0x00001ea0 .quad -7356065297226292178 + 0x46, 0x4e, 0x8e, 0xbf, 0xd1, 0xce, 0x4b, 0x50, //0x00001ea8 .quad 5785945546544795206 + 0x39, 0x8d, 0xcf, 0x9b, 0xfb, 0x81, 0x64, 0xc0, //0x00001eb0 .quad -4583395603105477319 + 0xd7, 0xe1, 0x71, 0x2f, 0x86, 0xc2, 0x5e, 0xe4, //0x00001eb8 .quad -1990940103673781801 + 0x88, 0x70, 0xc3, 0x82, 0x7a, 0xa2, 0x7d, 0xf0, //0x00001ec0 .quad -1117558485454458744 + 0x4d, 0x5a, 0x4e, 0xbb, 0x27, 0x73, 0x76, 0x5d, //0x00001ec8 .quad 6734696907262548557 + 0x55, 0x26, 0xba, 0x91, 0x8c, 0x85, 0x4e, 0x96, //0x00001ed0 .quad -7616003081050118571 + 0x70, 0xf8, 0x10, 0xd5, 0xf8, 0x07, 0x6a, 0x3a, //0x00001ed8 .quad 4209185567039092848 + 0xea, 0xaf, 0x28, 0xb6, 0xef, 0x26, 0xe2, 0xbb, //0x00001ee0 .quad -4908317832885260310 + 0x8c, 0x36, 0x55, 0x0a, 0xf7, 0x89, 0x04, 0x89, //0x00001ee8 .quad -8573576096483297652 + 0xe5, 0xdb, 0xb2, 0xa3, 0xab, 0xb0, 0xda, 0xea, //0x00001ef0 .quad -1523711272679187483 + 0x2f, 0x84, 0xea, 0xcc, 0x74, 0xac, 0x45, 0x2b, //0x00001ef8 .quad 3118087934678041647 + 0x6f, 0xc9, 0x4f, 0x46, 0x6b, 0xae, 0xc8, 0x92, //0x00001f00 .quad -7869848573065574033 + 0x9e, 0x92, 0x12, 0x00, 0xc9, 0x8b, 0x0b, 0x3b, //0x00001f08 .quad 4254647968387469982 + 0xcb, 0xbb, 0xe3, 0x17, 0x06, 0xda, 0x7a, 0xb7, //0x00001f10 .quad -5225624697904579637 + 0x45, 0x37, 0x17, 0x40, 0xbb, 0x6e, 0xce, 0x09, //0x00001f18 .quad 706623942056949573 + 0xbd, 0xaa, 0xdc, 0x9d, 0x87, 0x90, 0x59, 0xe5, //0x00001f20 .quad -1920344853953336643 + 0x16, 0x05, 0x1d, 0x10, 0x6a, 0x0a, 0x42, 0xcc, //0x00001f28 .quad -3728406090856200938 + 0xb6, 0xea, 0xa9, 0xc2, 0x54, 0xfa, 0x57, 0x8f, //0x00001f30 .quad -8117744561361917258 + 0x2e, 0x23, 0x12, 0x4a, 0x82, 0x46, 0xa9, 0x9f, //0x00001f38 .quad -6941939825212513490 + 0x64, 0x65, 0x54, 0xf3, 0xe9, 0xf8, 0x2d, 0xb3, //0x00001f40 .quad -5535494683275008668 + 0xfa, 0xab, 0x96, 0xdc, 0x22, 0x98, 0x93, 0x47, //0x00001f48 .quad 5157633273766521850 + 0xbd, 0x7e, 0x29, 0x70, 0x24, 0x77, 0xf9, 0xdf, //0x00001f50 .quad -2307682335666372931 + 0xf8, 0x56, 0xbc, 0x93, 0x2b, 0x7e, 0x78, 0x59, //0x00001f58 .quad 6447041592208152312 + 0x36, 0xef, 0x19, 0xc6, 0x76, 0xea, 0xfb, 0x8b, //0x00001f60 .quad -8359830487432564938 + 0x5b, 0xb6, 0x55, 0x3c, 0xdb, 0x4e, 0xeb, 0x57, //0x00001f68 .quad 6335244004343789147 + 0x03, 0x6b, 0xa0, 0x77, 0x14, 0xe5, 0xfa, 0xae, //0x00001f70 .quad -5838102090863318269 + 0xf2, 0x23, 0x6b, 0x0b, 0x92, 0x22, 0xe6, 0xed, //0x00001f78 .quad -1304317031425039374 + 0xc4, 0x85, 0x88, 0x95, 0x59, 0x9e, 0xb9, 0xda, //0x00001f80 .quad -2685941595151759932 + 0xee, 0xec, 0x45, 0x8e, 0x36, 0xab, 0x5f, 0xe9, //0x00001f88 .quad -1630396289281299218 + 0x9b, 0x53, 0x75, 0xfd, 0xf7, 0x02, 0xb4, 0x88, //0x00001f90 .quad -8596242524610931813 + 0x15, 0xb4, 0xeb, 0x18, 0x02, 0xcb, 0xdb, 0x11, //0x00001f98 .quad 1286845328412881941 + 0x81, 0xa8, 0xd2, 0xfc, 0xb5, 0x03, 0xe1, 0xaa, //0x00001fa0 .quad -6133617137336276863 + 0x1a, 0xa1, 0x26, 0x9f, 0xc2, 0xbd, 0x52, 0xd6, //0x00001fa8 .quad -3003129357911285478 + 0xa2, 0x52, 0x07, 0x7c, 0xa3, 0x44, 0x99, 0xd5, //0x00001fb0 .quad -3055335403242958174 + 0x60, 0x49, 0xf0, 0x46, 0x33, 0x6d, 0xe7, 0x4b, //0x00001fb8 .quad 5469460339465668960 + 0xa5, 0x93, 0x84, 0x2d, 0xe6, 0xca, 0x7f, 0x85, //0x00001fc0 .quad -8827113654667930715 + 0xdc, 0x2d, 0x56, 0x0c, 0x40, 0xa4, 0x70, 0x6f, //0x00001fc8 .quad 8030098730593431004 + 0x8e, 0xb8, 0xe5, 0xb8, 0x9f, 0xbd, 0xdf, 0xa6, //0x00001fd0 .quad -6422206049907525490 + 0x53, 0xb9, 0x6b, 0x0f, 0x50, 0xcd, 0x4c, 0xcb, //0x00001fd8 .quad -3797434642040374957 + 0xb2, 0x26, 0x1f, 0xa7, 0x07, 0xad, 0x97, 0xd0, //0x00001fe0 .quad -3416071543957018958 + 0xa8, 0xa7, 0x46, 0x13, 0xa4, 0x00, 0x20, 0x7e, //0x00001fe8 .quad 9088264752731695016 + 0x2f, 0x78, 0x73, 0xc8, 0x24, 0xcc, 0x5e, 0x82, //0x00001ff0 .quad -9052573742614218705 + 0xc9, 0x28, 0x0c, 0x8c, 0x66, 0x00, 0xd4, 0x8e, //0x00001ff8 .quad -8154892584824854327 + 0x3b, 0x56, 0x90, 0xfa, 0x2d, 0x7f, 0xf6, 0xa2, //0x00002000 .quad -6704031159840385477 + 0xfb, 0x32, 0x0f, 0x2f, 0x80, 0x00, 0x89, 0x72, //0x00002008 .quad 8253128342678483707 + 0xca, 0x6b, 0x34, 0x79, 0xf9, 0x1e, 0xb4, 0xcb, //0x00002010 .quad -3768352931373093942 + 0xba, 0xff, 0xd2, 0x3a, 0xa0, 0x40, 0x2b, 0x4f, //0x00002018 .quad 5704724409920716730 + 0xbc, 0x86, 0x81, 0xd7, 0xb7, 0x26, 0xa1, 0xfe, //0x00002020 .quad -98755145788979524 + 0xa9, 0xbf, 0x87, 0x49, 0xc8, 0x10, 0xf6, 0xe2, //0x00002028 .quad -2092466524453879895 + 0x36, 0xf4, 0xb0, 0xe6, 0x32, 0xb8, 0x24, 0x9f, //0x00002030 .quad -6979250993759194058 + 0xca, 0xd7, 0xf4, 0x2d, 0x7d, 0xca, 0xd9, 0x0d, //0x00002038 .quad 998051431430019018 + 0x43, 0x31, 0x5d, 0xa0, 0x3f, 0xe6, 0xed, 0xc6, //0x00002040 .quad -4112377723771604669 + 0xbc, 0x0d, 0x72, 0x79, 0x1c, 0x3d, 0x50, 0x91, //0x00002048 .quad -7975807747567252036 + 0x94, 0x7d, 0x74, 0x88, 0xcf, 0x5f, 0xa9, 0xf8, //0x00002050 .quad -528786136287117932 + 0x2b, 0x91, 0xce, 0x97, 0x63, 0x4c, 0xa4, 0x75, //0x00002058 .quad 8476984389250486571 + 0x7c, 0xce, 0x48, 0xb5, 0xe1, 0xdb, 0x69, 0x9b, //0x00002060 .quad -7248020362820530564 + 0xbb, 0x1a, 0xe1, 0x3e, 0xbe, 0xaf, 0x86, 0xc9, //0x00002068 .quad -3925256793573221701 + 0x1b, 0x02, 0x9b, 0x22, 0xda, 0x52, 0x44, 0xc2, //0x00002070 .quad -4448339435098275301 + 0x69, 0x61, 0x99, 0xce, 0xad, 0x5b, 0xe8, 0xfb, //0x00002078 .quad -294884973539139223 + 0xa2, 0xc2, 0x41, 0xab, 0x90, 0x67, 0xd5, 0xf2, //0x00002080 .quad -948738275445456222 + 0xc4, 0xb9, 0x3f, 0x42, 0x99, 0x72, 0xe2, 0xfa, //0x00002088 .quad -368606216923924028 + 0xa5, 0x19, 0x09, 0x6b, 0xba, 0x60, 0xc5, 0x97, //0x00002090 .quad -7510490449794491995 + 0x1b, 0xd4, 0x67, 0xc9, 0x9f, 0x87, 0xcd, 0xdc, //0x00002098 .quad -2536221894791146469 + 0x0f, 0x60, 0xcb, 0x05, 0xe9, 0xb8, 0xb6, 0xbd, //0x000020a0 .quad -4776427043815727089 + 0x21, 0xc9, 0xc1, 0xbb, 0x87, 0xe9, 0x00, 0x54, //0x000020a8 .quad 6053094668365842721 + 0x13, 0x38, 0x3e, 0x47, 0x23, 0x67, 0x24, 0xed, //0x000020b0 .quad -1358847786342270957 + 0x69, 0x3b, 0xb2, 0xaa, 0xe9, 0x23, 0x01, 0x29, //0x000020b8 .quad 2954682317029915497 + 0x0b, 0xe3, 0x86, 0x0c, 0x76, 0xc0, 0x36, 0x94, //0x000020c0 .quad -7766808894105001205 + 0x22, 0x65, 0xaf, 0x0a, 0x72, 0xb6, 0xa0, 0xf9, //0x000020c8 .quad -459166561069996766 + 0xce, 0x9b, 0xa8, 0x8f, 0x93, 0x70, 0x44, 0xb9, //0x000020d0 .quad -5096825099203863602 + 0x6a, 0x3e, 0x5b, 0x8d, 0x0e, 0xe4, 0x08, 0xf8, //0x000020d8 .quad -573958201337495958 + 0xc2, 0xc2, 0x92, 0x73, 0xb8, 0x8c, 0x95, 0xe7, //0x000020e0 .quad -1759345355577441598 + 0x05, 0x0e, 0xb2, 0x30, 0x12, 0x1d, 0x0b, 0xb6, //0x000020e8 .quad -5329133770099257851 + 0xb9, 0xb9, 0x3b, 0x48, 0xf3, 0x77, 0xbd, 0x90, //0x000020f0 .quad -8017119874876982855 + 0xc3, 0x48, 0x6f, 0x5e, 0x2b, 0xf2, 0xc6, 0xb1, //0x000020f8 .quad -5636551615525730109 + 0x28, 0xa8, 0x4a, 0x1a, 0xf0, 0xd5, 0xec, 0xb4, //0x00002100 .quad -5409713825168840664 + 0xf4, 0x1a, 0x0b, 0x36, 0xb6, 0xae, 0x38, 0x1e, //0x00002108 .quad 2177682517447613172 + 0x32, 0x52, 0xdd, 0x20, 0x6c, 0x0b, 0x28, 0xe2, //0x00002110 .quad -2150456263033662926 + 0xb1, 0xe1, 0x8d, 0xc3, 0x63, 0xda, 0xc6, 0x25, //0x00002118 .quad 2722103146809516465 + 0x5f, 0x53, 0x8a, 0x94, 0x23, 0x07, 0x59, 0x8d, //0x00002120 .quad -8261564192037121185 + 0x0f, 0xad, 0x38, 0x5a, 0x7e, 0x48, 0x9c, 0x57, //0x00002128 .quad 6313000485183335695 + 0x37, 0xe8, 0xac, 0x79, 0xec, 0x48, 0xaf, 0xb0, //0x00002130 .quad -5715269221619013577 + 0x52, 0xd8, 0xc6, 0xf0, 0x9d, 0x5a, 0x83, 0x2d, //0x00002138 .quad 3279564588051781714 + 0x44, 0x22, 0x18, 0x98, 0x27, 0x1b, 0xdb, 0xdc, //0x00002140 .quad -2532400508596379068 + 0x66, 0x8e, 0xf8, 0x6c, 0x45, 0x31, 0xe4, 0xf8, //0x00002148 .quad -512230283362660762 + 0x6b, 0x15, 0x0f, 0xbf, 0xf8, 0xf0, 0x08, 0x8a, //0x00002150 .quad -8500279345513818773 + 0x00, 0x59, 0x1b, 0x64, 0xcb, 0x9e, 0x8e, 0x1b, //0x00002158 .quad 1985699082112030976 + 0xc5, 0xda, 0xd2, 0xee, 0x36, 0x2d, 0x8b, 0xac, //0x00002160 .quad -6013663163464885563 + 0x40, 0x2f, 0x22, 0x3d, 0x7e, 0x46, 0x72, 0xe2, //0x00002168 .quad -2129562165787349184 + 0x77, 0x91, 0x87, 0xaa, 0x84, 0xf8, 0xad, 0xd7, //0x00002170 .quad -2905392935903719049 + 0x10, 0xbb, 0x6a, 0xcc, 0x1d, 0xd8, 0x0e, 0x5b, //0x00002178 .quad 6561419329620589328 + 0xea, 0xba, 0x94, 0xea, 0x52, 0xbb, 0xcc, 0x86, //0x00002180 .quad -8733399612580906262 + 0xea, 0xb4, 0xc2, 0x9f, 0x12, 0x47, 0xe9, 0x98, //0x00002188 .quad -7428327965055601430 + 0xa5, 0xe9, 0x39, 0xa5, 0x27, 0xea, 0x7f, 0xa8, //0x00002190 .quad -6305063497298744923 + 0x25, 0x62, 0xb3, 0x47, 0xd7, 0x98, 0x23, 0x3f, //0x00002198 .quad 4549648098962661925 + 0x0e, 0x64, 0x88, 0x8e, 0xb1, 0xe4, 0x9f, 0xd2, //0x000021a0 .quad -3269643353196043250 + 0xae, 0x3a, 0xa0, 0x19, 0x0d, 0x7f, 0xec, 0x8e, //0x000021a8 .quad -8147997931578836306 + 0x89, 0x3e, 0x15, 0xf9, 0xee, 0xee, 0xa3, 0x83, //0x000021b0 .quad -8961056123388608887 + 0xad, 0x24, 0x04, 0x30, 0x68, 0xcf, 0x53, 0x19, //0x000021b8 .quad 1825030320404309165 + 0x2b, 0x8e, 0x5a, 0xb7, 0xaa, 0xea, 0x8c, 0xa4, //0x000021c0 .quad -6589634135808373205 + 0xd8, 0x2d, 0x05, 0x3c, 0x42, 0xc3, 0xa8, 0x5f, //0x000021c8 .quad 6892973918932774360 + 0xb6, 0x31, 0x31, 0x65, 0x55, 0x25, 0xb0, 0xcd, //0x000021d0 .quad -3625356651333078602 + 0x4e, 0x79, 0x06, 0xcb, 0x12, 0xf4, 0x92, 0x37, //0x000021d8 .quad 4004531380238580046 + 0x11, 0xbf, 0x3e, 0x5f, 0x55, 0x17, 0x8e, 0x80, //0x000021e0 .quad -9183376934724255983 + 0xd1, 0x0b, 0xe4, 0xbe, 0x8b, 0xd8, 0xbb, 0xe2, //0x000021e8 .quad -2108853905778275375 + 0xd6, 0x6e, 0x0e, 0xb7, 0x2a, 0x9d, 0xb1, 0xa0, //0x000021f0 .quad -6867535149977932074 + 0xc5, 0x0e, 0x9d, 0xae, 0xae, 0xce, 0x6a, 0x5b, //0x000021f8 .quad 6587304654631931589 + 0x8b, 0x0a, 0xd2, 0x64, 0x75, 0x04, 0xde, 0xc8, //0x00002200 .quad -3972732919045027189 + 0x76, 0x52, 0x44, 0x5a, 0x5a, 0x82, 0x45, 0xf2, //0x00002208 .quad -989241218564861322 + 0x2e, 0x8d, 0x06, 0xbe, 0x92, 0x85, 0x15, 0xfb, //0x00002210 .quad -354230130378896082 + 0x13, 0x67, 0xd5, 0xf0, 0xf0, 0xe2, 0xd6, 0xee, //0x00002218 .quad -1236551523206076653 + 0x3d, 0x18, 0xc4, 0xb6, 0x7b, 0x73, 0xed, 0x9c, //0x00002220 .quad -7138922859127891907 + 0x6c, 0x60, 0x85, 0x96, 0xd6, 0x4d, 0x46, 0x55, //0x00002228 .quad 6144684325637283948 + 0x4c, 0x1e, 0x75, 0xa4, 0x5a, 0xd0, 0x28, 0xc4, //0x00002230 .quad -4311967555482476980 + 0x87, 0xb8, 0x26, 0x3c, 0x4c, 0xe1, 0x97, 0xaa, //0x00002238 .quad -6154202648235558777 + 0xdf, 0x65, 0x92, 0x4d, 0x71, 0x04, 0x33, 0xf5, //0x00002240 .quad -778273425925708321 + 0xa9, 0x66, 0x30, 0x4b, 0x9f, 0xd9, 0x3d, 0xd5, //0x00002248 .quad -3081067291867060567 + 0xab, 0x7f, 0x7b, 0xd0, 0xc6, 0xe2, 0x3f, 0x99, //0x00002250 .quad -7403949918844649557 + 0x2a, 0x40, 0xfe, 0x8e, 0x03, 0xa8, 0x46, 0xe5, //0x00002258 .quad -1925667057416912854 + 0x96, 0x5f, 0x9a, 0x84, 0x78, 0xdb, 0x8f, 0xbf, //0x00002260 .quad -4643251380128424042 + 0x34, 0xd0, 0xbd, 0x72, 0x04, 0x52, 0x98, 0xde, //0x00002268 .quad -2407083821771141068 + 0x7c, 0xf7, 0xc0, 0xa5, 0x56, 0xd2, 0x73, 0xef, //0x00002270 .quad -1192378206733142148 + 0x41, 0x44, 0x6d, 0x8f, 0x85, 0x66, 0x3e, 0x96, //0x00002278 .quad -7620540795641314239 + 0xad, 0x9a, 0x98, 0x27, 0x76, 0x63, 0xa8, 0x95, //0x00002280 .quad -7662765406849295699 + 0xa9, 0x4a, 0xa4, 0x79, 0x13, 0x00, 0xe7, 0xdd, //0x00002288 .quad -2456994988062127447 + 0x59, 0xc1, 0x7e, 0xb1, 0x53, 0x7c, 0x12, 0xbb, //0x00002290 .quad -4966770740134231719 + 0x53, 0x5d, 0x0d, 0x58, 0x18, 0xc0, 0x60, 0x55, //0x00002298 .quad 6152128301777116499 + 0xaf, 0x71, 0xde, 0x9d, 0x68, 0x1b, 0xd7, 0xe9, //0x000022a0 .quad -1596777406740401745 + 0xa7, 0xb4, 0x10, 0x6e, 0x1e, 0xf0, 0xb8, 0xaa, //0x000022a8 .quad -6144897678060768089 + 0x0d, 0x07, 0xab, 0x62, 0x21, 0x71, 0x26, 0x92, //0x000022b0 .quad -7915514906853832947 + 0xe9, 0x70, 0xca, 0x04, 0x13, 0x96, 0xb3, 0xca, //0x000022b8 .quad -3840561048787980055 + 0xd1, 0xc8, 0x55, 0xbb, 0x69, 0x0d, 0xb0, 0xb6, //0x000022c0 .quad -5282707615139903279 + 0x23, 0x0d, 0xfd, 0xc5, 0x97, 0x7b, 0x60, 0x3d, //0x000022c8 .quad 4422670725869800739 + 0x05, 0x3b, 0x2b, 0x2a, 0xc4, 0x10, 0x5c, 0xe4, //0x000022d0 .quad -1991698500497491195 + 0x6b, 0x50, 0x7c, 0xb7, 0x7d, 0x9a, 0xb8, 0x8c, //0x000022d8 .quad -8306719647944912789 + 0xe3, 0x04, 0x5b, 0x9a, 0x7a, 0x8a, 0xb9, 0x8e, //0x000022e0 .quad -8162340590452013853 + 0x43, 0xb2, 0xad, 0x92, 0x8e, 0x60, 0xf3, 0x77, //0x000022e8 .quad 8643358275316593219 + 0x1c, 0xc6, 0xf1, 0x40, 0x19, 0xed, 0x67, 0xb2, //0x000022f0 .quad -5591239719637629412 + 0xd4, 0x1e, 0x59, 0x37, 0xb2, 0x38, 0xf0, 0x55, //0x000022f8 .quad 6192511825718353620 + 0xa3, 0x37, 0x2e, 0x91, 0x5f, 0xe8, 0x01, 0xdf, //0x00002300 .quad -2377363631119648861 + 0x89, 0x66, 0x2f, 0xc5, 0xde, 0x46, 0x6c, 0x6b, //0x00002308 .quad 7740639782147942025 + 0xc6, 0xe2, 0xbc, 0xba, 0x3b, 0x31, 0x61, 0x8b, //0x00002310 .quad -8403381297090862394 + 0x16, 0xa0, 0x3d, 0x3b, 0x4b, 0xac, 0x23, 0x23, //0x00002318 .quad 2532056854628769814 + 0x77, 0x1b, 0x6c, 0xa9, 0x8a, 0x7d, 0x39, 0xae, //0x00002320 .quad -5892540602936190089 + 0x1b, 0x08, 0x0d, 0x0a, 0x5e, 0x97, 0xec, 0xab, //0x00002328 .quad -6058300968568813541 + 0x55, 0x22, 0xc7, 0x53, 0xed, 0xdc, 0xc7, 0xd9, //0x00002330 .quad -2753989735242849707 + 0x22, 0x4a, 0x90, 0x8c, 0x35, 0xbd, 0xe7, 0x96, //0x00002338 .quad -7572876210711016926 + 0x75, 0x75, 0x5c, 0x54, 0x14, 0xea, 0x1c, 0x88, //0x00002340 .quad -8638772612167862923 + 0x55, 0x2e, 0xda, 0x77, 0x41, 0xd6, 0x50, 0x7e, //0x00002348 .quad 9102010423587778133 + 0xd2, 0x92, 0x73, 0x69, 0x99, 0x24, 0x24, 0xaa, //0x00002350 .quad -6186779746782440750 + 0xea, 0xb9, 0xd0, 0xd5, 0xd1, 0x0b, 0xe5, 0xdd, //0x00002358 .quad -2457545025797441046 + 0x87, 0x77, 0xd0, 0xc3, 0xbf, 0x2d, 0xad, 0xd4, //0x00002360 .quad -3121788665050663033 + 0x65, 0xe8, 0x44, 0x4b, 0xc6, 0x4e, 0x5e, 0x95, //0x00002368 .quad -7683617300674189211 + 0xb4, 0x4a, 0x62, 0xda, 0x97, 0x3c, 0xec, 0x84, //0x00002370 .quad -8868646943297746252 + 0x3f, 0x11, 0x0b, 0xef, 0x3b, 0xf1, 0x5a, 0xbd, //0x00002378 .quad -4802260812921368257 + 0x61, 0xdd, 0xfa, 0xd0, 0xbd, 0x4b, 0x27, 0xa6, //0x00002380 .quad -6474122660694794911 + 0x8f, 0xd5, 0xcd, 0xea, 0x8a, 0xad, 0xb1, 0xec, //0x00002388 .quad -1391139997724322417 + 0xba, 0x94, 0x39, 0x45, 0xad, 0x1e, 0xb1, 0xcf, //0x00002390 .quad -3480967307441105734 + 0xf3, 0x4a, 0x81, 0xa5, 0xed, 0x18, 0xde, 0x67, //0x00002398 .quad 7484447039699372787 + 0xf4, 0xfc, 0x43, 0x4b, 0x2c, 0xb3, 0xce, 0x81, //0x000023a0 .quad -9093133594791772940 + 0xd8, 0xce, 0x70, 0x87, 0x94, 0xcf, 0xea, 0x80, //0x000023a8 .quad -9157278655470055720 + 0x31, 0xfc, 0x14, 0x5e, 0xf7, 0x5f, 0x42, 0xa2, //0x000023b0 .quad -6754730975062328271 + 0x8e, 0x02, 0x4d, 0xa9, 0x79, 0x83, 0x25, 0xa1, //0x000023b8 .quad -6834912300910181746 + 0x3e, 0x3b, 0x9a, 0x35, 0xf5, 0xf7, 0xd2, 0xca, //0x000023c0 .quad -3831727700400522434 + 0x31, 0x43, 0xa0, 0x13, 0x58, 0xe4, 0x6e, 0x09, //0x000023c8 .quad 679731660717048625 + 0x0d, 0xca, 0x00, 0x83, 0xf2, 0xb5, 0x87, 0xfd, //0x000023d0 .quad -177973607073265139 + 0xfd, 0x53, 0x88, 0x18, 0x6e, 0x9d, 0xca, 0x8b, //0x000023d8 .quad -8373707460958465027 + 0x48, 0x7e, 0xe0, 0x91, 0xb7, 0xd1, 0x74, 0x9e, //0x000023e0 .quad -7028762532061872568 + 0x7e, 0x34, 0x55, 0xcf, 0x64, 0xa2, 0x5e, 0x77, //0x000023e8 .quad 8601490892183123070 + 0xda, 0x9d, 0x58, 0x76, 0x25, 0x06, 0x12, 0xc6, //0x000023f0 .quad -4174267146649952806 + 0x9e, 0x81, 0x2a, 0x03, 0xfe, 0x4a, 0x36, 0x95, //0x000023f8 .quad -7694880458480647778 + 0x51, 0xc5, 0xee, 0xd3, 0xae, 0x87, 0x96, 0xf7, //0x00002400 .quad -606147914885053103 + 0x05, 0x22, 0xf5, 0x83, 0xbd, 0xdd, 0x83, 0x3a, //0x00002408 .quad 4216457482181353989 + 0x52, 0x3b, 0x75, 0x44, 0xcd, 0x14, 0xbe, 0x9a, //0x00002410 .quad -7296371474444240046 + 0x43, 0x35, 0x79, 0x72, 0x96, 0x6a, 0x92, 0xc4, //0x00002418 .quad -4282243101277735613 + 0x27, 0x8a, 0x92, 0x95, 0x00, 0x9a, 0x6d, 0xc1, //0x00002420 .quad -4508778324627912153 + 0x94, 0x82, 0x17, 0x0f, 0x3c, 0x05, 0xb7, 0x75, //0x00002428 .quad 8482254178684994196 + 0xb1, 0x2c, 0xf7, 0xba, 0x80, 0x00, 0xc9, 0xf1, //0x00002430 .quad -1024286887357502287 + 0x39, 0x63, 0xdd, 0x12, 0x8b, 0xc6, 0x24, 0x53, //0x00002438 .quad 5991131704928854841 + 0xee, 0x7b, 0xda, 0x74, 0x50, 0xa0, 0x1d, 0x97, //0x00002440 .quad -7557708332239520786 + 0x04, 0x5e, 0xca, 0xeb, 0x16, 0xfc, 0xf6, 0xd3, //0x00002448 .quad -3173071712060547580 + 0xea, 0x1a, 0x11, 0x92, 0x64, 0x08, 0xe5, 0xbc, //0x00002450 .quad -4835449396872013078 + 0x85, 0xf5, 0xbc, 0xa6, 0x1c, 0xbb, 0xf4, 0x88, //0x00002458 .quad -8578025658503072379 + 0xa5, 0x61, 0x95, 0xb6, 0x7d, 0x4a, 0x1e, 0xec, //0x00002460 .quad -1432625727662628443 + 0xe6, 0x32, 0x6c, 0xd0, 0xe3, 0xe9, 0x31, 0x2b, //0x00002468 .quad 3112525982153323238 + 0x07, 0x5d, 0x1d, 0x92, 0x8e, 0xee, 0x92, 0x93, //0x00002470 .quad -7812920107430224633 + 0xd0, 0x9f, 0x43, 0x62, 0x2e, 0x32, 0xff, 0x3a, //0x00002478 .quad 4251171748059520976 + 0x49, 0xb4, 0xa4, 0x36, 0x32, 0xaa, 0x77, 0xb8, //0x00002480 .quad -5154464115860392887 + 0xc3, 0x87, 0xd4, 0xfa, 0xb9, 0xfe, 0xbe, 0x09, //0x00002488 .quad 702278666647013315 + 0x5b, 0xe1, 0x4d, 0xc4, 0xbe, 0x94, 0x95, 0xe6, //0x00002490 .quad -1831394126398103205 + 0xb4, 0xa9, 0x89, 0x79, 0x68, 0xbe, 0x2e, 0x4c, //0x00002498 .quad 5489534351736154548 + 0xd9, 0xac, 0xb0, 0x3a, 0xf7, 0x7c, 0x1d, 0x90, //0x000024a0 .quad -8062150356639896359 + 0x11, 0x0a, 0xf6, 0x4b, 0x01, 0x37, 0x9d, 0x0f, //0x000024a8 .quad 1125115960621402641 + 0x0f, 0xd8, 0x5c, 0x09, 0x35, 0xdc, 0x24, 0xb4, //0x000024b0 .quad -5466001927372482545 + 0x95, 0x8c, 0xf3, 0x9e, 0xc1, 0x84, 0x84, 0x53, //0x000024b8 .quad 6018080969204141205 + 0x13, 0x0e, 0xb4, 0x4b, 0x42, 0x13, 0x2e, 0xe1, //0x000024c0 .quad -2220816390788215277 + 0xba, 0x6f, 0xb0, 0x06, 0xf2, 0xa5, 0x65, 0x28, //0x000024c8 .quad 2910915193077788602 + 0xcb, 0x88, 0x50, 0x6f, 0x09, 0xcc, 0xbc, 0x8c, //0x000024d0 .quad -8305539271883716405 + 0xd4, 0x45, 0x2e, 0x44, 0xb7, 0x87, 0x3f, 0xf9, //0x000024d8 .quad -486521013540076076 + 0xfe, 0xaa, 0x24, 0xcb, 0x0b, 0xff, 0xeb, 0xaf, //0x000024e0 .quad -5770238071427257602 + 0x49, 0xd7, 0x39, 0x15, 0xa5, 0x69, 0x8f, 0xf7, //0x000024e8 .quad -608151266925095095 + 0xbe, 0xd5, 0xed, 0xbd, 0xce, 0xfe, 0xe6, 0xdb, //0x000024f0 .quad -2601111570856684098 + 0x1c, 0x4d, 0x88, 0x5a, 0x0e, 0x44, 0x73, 0xb5, //0x000024f8 .quad -5371875102083756772 + 0x97, 0xa5, 0xb4, 0x36, 0x41, 0x5f, 0x70, 0x89, //0x00002500 .quad -8543223759426509417 + 0x31, 0x30, 0x95, 0xf8, 0x88, 0x0a, 0x68, 0x31, //0x00002508 .quad 3560107088838733873 + 0xfc, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00002510 .quad -6067343680855748868 + 0x3e, 0x7c, 0xba, 0x36, 0x2b, 0x0d, 0xc2, 0xfd, //0x00002518 .quad -161552157378970562 + 0xbc, 0x42, 0x7a, 0xe5, 0xd5, 0x94, 0xbf, 0xd6, //0x00002520 .quad -2972493582642298180 + 0x4d, 0x1b, 0x69, 0x04, 0x76, 0x90, 0x32, 0x3d, //0x00002528 .quad 4409745821703674701 + 0xb5, 0x69, 0x6c, 0xaf, 0x05, 0xbd, 0x37, 0x86, //0x00002530 .quad -8775337516792518219 + 0x10, 0xb1, 0xc1, 0xc2, 0x49, 0x9a, 0x3f, 0xa6, //0x00002538 .quad -6467280898289979120 + 0x23, 0x84, 0x47, 0x1b, 0x47, 0xac, 0xc5, 0xa7, //0x00002540 .quad -6357485877563259869 + 0x54, 0x1d, 0x72, 0x33, 0xdc, 0x80, 0xcf, 0x0f, //0x00002548 .quad 1139270913992301908 + 0x2b, 0x65, 0x19, 0xe2, 0x58, 0x17, 0xb7, 0xd1, //0x00002550 .quad -3335171328526686933 + 0xa9, 0xa4, 0x4e, 0x40, 0x13, 0x61, 0xc3, 0xd3, //0x00002558 .quad -3187597375937010519 + 0x3b, 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83, //0x00002560 .quad -9002011107970261189 + 0xea, 0x26, 0x31, 0x08, 0xac, 0x1c, 0x5a, 0x64, //0x00002568 .quad 7231123676894144234 + 0x0a, 0xd7, 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, //0x00002570 .quad -6640827866535438582 + 0xa4, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, 0x70, 0x3d, //0x00002578 .quad 4427218577690292388 + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002580 .quad -3689348814741910324 + 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002588 .quad -3689348814741910323 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00002590 .quad -9223372036854775808 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002598 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, //0x000025a0 .quad -6917529027641081856 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025a8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, //0x000025b0 .quad -4035225266123964416 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025b8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x000025c0 .quad -432345564227567616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025c8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9c, //0x000025d0 .quad -7187745005283311616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025d8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, //0x000025e0 .quad -4372995238176751616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025e8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, //0x000025f0 .quad -854558029293551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025f8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x96, 0x98, //0x00002600 .quad -7451627795949551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002608 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbc, 0xbe, //0x00002610 .quad -4702848726509551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002618 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6b, 0xee, //0x00002620 .quad -1266874889709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002628 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x95, //0x00002630 .quad -7709325833709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002638 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x40, 0xb7, 0x43, 0xba, //0x00002640 .quad -5024971273709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002648 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0xd4, 0xe8, //0x00002650 .quad -1669528073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002658 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xe7, 0x84, 0x91, //0x00002660 .quad -7960984073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002668 .quad 0 + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x20, 0xe6, 0xb5, //0x00002670 .quad -5339544073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002678 .quad 0 + 0x00, 0x00, 0x00, 0xa0, 0x31, 0xa9, 0x5f, 0xe3, //0x00002680 .quad -2062744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002688 .quad 0 + 0x00, 0x00, 0x00, 0x04, 0xbf, 0xc9, 0x1b, 0x8e, //0x00002690 .quad -8206744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002698 .quad 0 + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0xbc, 0xa2, 0xb1, //0x000026a0 .quad -5646744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026a8 .quad 0 + 0x00, 0x00, 0x40, 0x76, 0x3a, 0x6b, 0x0b, 0xde, //0x000026b0 .quad -2446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026b8 .quad 0 + 0x00, 0x00, 0xe8, 0x89, 0x04, 0x23, 0xc7, 0x8a, //0x000026c0 .quad -8446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026c8 .quad 0 + 0x00, 0x00, 0x62, 0xac, 0xc5, 0xeb, 0x78, 0xad, //0x000026d0 .quad -5946744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026d8 .quad 0 + 0x00, 0x80, 0x7a, 0x17, 0xb7, 0x26, 0xd7, 0xd8, //0x000026e0 .quad -2821744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026e8 .quad 0 + 0x00, 0x90, 0xac, 0x6e, 0x32, 0x78, 0x86, 0x87, //0x000026f0 .quad -8681119073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026f8 .quad 0 + 0x00, 0xb4, 0x57, 0x0a, 0x3f, 0x16, 0x68, 0xa9, //0x00002700 .quad -6239712823709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002708 .quad 0 + 0x00, 0xa1, 0xed, 0xcc, 0xce, 0x1b, 0xc2, 0xd3, //0x00002710 .quad -3187955011209551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002718 .quad 0 + 0xa0, 0x84, 0x14, 0x40, 0x61, 0x51, 0x59, 0x84, //0x00002720 .quad -8910000909647051616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002728 .quad 0 + 0xc8, 0xa5, 0x19, 0x90, 0xb9, 0xa5, 0x6f, 0xa5, //0x00002730 .quad -6525815118631426616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002738 .quad 0 + 0x3a, 0x0f, 0x20, 0xf4, 0x27, 0x8f, 0xcb, 0xce, //0x00002740 .quad -3545582879861895366 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002748 .quad 0 + 0x84, 0x09, 0x94, 0xf8, 0x78, 0x39, 0x3f, 0x81, //0x00002750 .quad -9133518327554766460 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, //0x00002758 .quad 4611686018427387904 + 0xe5, 0x0b, 0xb9, 0x36, 0xd7, 0x07, 0x8f, 0xa1, //0x00002760 .quad -6805211891016070171 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, //0x00002768 .quad 5764607523034234880 + 0xde, 0x4e, 0x67, 0x04, 0xcd, 0xc9, 0xf2, 0xc9, //0x00002770 .quad -3894828845342699810 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, //0x00002778 .quad -6629298651489370112 + 0x96, 0x22, 0x81, 0x45, 0x40, 0x7c, 0x6f, 0xfc, //0x00002780 .quad -256850038250986858 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, //0x00002788 .quad 5548434740920451072 + 0x9d, 0xb5, 0x70, 0x2b, 0xa8, 0xad, 0xc5, 0x9d, //0x00002790 .quad -7078060301547948643 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, //0x00002798 .quad -1143914305352105984 + 0x05, 0xe3, 0x4c, 0x36, 0x12, 0x19, 0x37, 0xc5, //0x000027a0 .quad -4235889358507547899 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6c, //0x000027a8 .quad 7793479155164643328 + 0xc6, 0x1b, 0xe0, 0xc3, 0x56, 0xdf, 0x84, 0xf6, //0x000027b0 .quad -683175679707046970 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xc7, //0x000027b8 .quad -4093209111326359552 + 0x5c, 0x11, 0x6c, 0x3a, 0x96, 0x0b, 0x13, 0x9a, //0x000027c0 .quad -7344513827457986212 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7f, 0x3c, //0x000027c8 .quad 4359273333062107136 + 0xb3, 0x15, 0x07, 0xc9, 0x7b, 0xce, 0x97, 0xc0, //0x000027d0 .quad -4568956265895094861 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x9f, 0x4b, //0x000027d8 .quad 5449091666327633920 + 0x20, 0xdb, 0x48, 0xbb, 0x1a, 0xc2, 0xbd, 0xf0, //0x000027e0 .quad -1099509313941480672 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x86, 0x1e, //0x000027e8 .quad 2199678564482154496 + 0xf4, 0x88, 0x0d, 0xb5, 0x50, 0x99, 0x76, 0x96, //0x000027f0 .quad -7604722348854507276 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x14, 0x13, //0x000027f8 .quad 1374799102801346560 + 0x31, 0xeb, 0x50, 0xe2, 0xa4, 0x3f, 0x14, 0xbc, //0x00002800 .quad -4894216917640746191 + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x55, 0xd9, 0x17, //0x00002808 .quad 1718498878501683200 + 0xfd, 0x25, 0xe5, 0x1a, 0x8e, 0x4f, 0x19, 0xeb, //0x00002810 .quad -1506085128623544835 + 0x00, 0x00, 0x00, 0x00, 0x08, 0xab, 0xcf, 0x5d, //0x00002818 .quad 6759809616554491904 + 0xbe, 0x37, 0xcf, 0xd0, 0xb8, 0xd1, 0xef, 0x92, //0x00002820 .quad -7858832233030797378 + 0x00, 0x00, 0x00, 0x00, 0xe5, 0xca, 0xa1, 0x5a, //0x00002828 .quad 6530724019560251392 + 0xad, 0x05, 0x03, 0x05, 0x27, 0xc6, 0xab, 0xb7, //0x00002830 .quad -5211854272861108819 + 0x00, 0x00, 0x00, 0x40, 0x9e, 0x3d, 0x4a, 0xf1, //0x00002838 .quad -1059967012404461568 + 0x19, 0xc7, 0x43, 0xc6, 0xb0, 0xb7, 0x96, 0xe5, //0x00002840 .quad -1903131822648998119 + 0x00, 0x00, 0x00, 0xd0, 0x05, 0xcd, 0x9c, 0x6d, //0x00002848 .quad 7898413271349198848 + 0x6f, 0x5c, 0xea, 0x7b, 0xce, 0x32, 0x7e, 0x8f, //0x00002850 .quad -8106986416796705681 + 0x00, 0x00, 0x00, 0xa2, 0x23, 0x00, 0x82, 0xe4, //0x00002858 .quad -1981020733047832576 + 0x8b, 0xf3, 0xe4, 0x1a, 0x82, 0xbf, 0x5d, 0xb3, //0x00002860 .quad -5522047002568494197 + 0x00, 0x00, 0x80, 0x8a, 0x2c, 0x80, 0xa2, 0xdd, //0x00002868 .quad -2476275916309790720 + 0x6e, 0x30, 0x9e, 0xa1, 0x62, 0x2f, 0x35, 0xe0, //0x00002870 .quad -2290872734783229842 + 0x00, 0x00, 0x20, 0xad, 0x37, 0x20, 0x0b, 0xd5, //0x00002878 .quad -3095344895387238400 + 0x45, 0xde, 0x02, 0xa5, 0x9d, 0x3d, 0x21, 0x8c, //0x00002880 .quad -8349324486880600507 + 0x00, 0x00, 0x34, 0xcc, 0x22, 0xf4, 0x26, 0x45, //0x00002888 .quad 4982938468024057856 + 0xd6, 0x95, 0x43, 0x0e, 0x05, 0x8d, 0x29, 0xaf, //0x00002890 .quad -5824969590173362730 + 0x00, 0x00, 0x41, 0x7f, 0x2b, 0xb1, 0x70, 0x96, //0x00002898 .quad -7606384970252091392 + 0x4c, 0x7b, 0xd4, 0x51, 0x46, 0xf0, 0xf3, 0xda, //0x000028a0 .quad -2669525969289315508 + 0x00, 0x40, 0x11, 0x5f, 0x76, 0xdd, 0x0c, 0x3c, //0x000028a8 .quad 4327076842467049472 + 0x0f, 0xcd, 0x24, 0xf3, 0x2b, 0x76, 0xd8, 0x88, //0x000028b0 .quad -8585982758446904049 + 0x00, 0xc8, 0x6a, 0xfb, 0x69, 0x0a, 0x88, 0xa5, //0x000028b8 .quad -6518949010312869888 + 0x53, 0x00, 0xee, 0xef, 0xb6, 0x93, 0x0e, 0xab, //0x000028c0 .quad -6120792429631242157 + 0x00, 0x7a, 0x45, 0x7a, 0x04, 0x0d, 0xea, 0x8e, //0x000028c8 .quad -8148686262891087360 + 0x68, 0x80, 0xe9, 0xab, 0xa4, 0x38, 0xd2, 0xd5, //0x000028d0 .quad -3039304518611664792 + 0x80, 0xd8, 0xd6, 0x98, 0x45, 0x90, 0xa4, 0x72, //0x000028d8 .quad 8260886245095692416 + 0x41, 0xf0, 0x71, 0xeb, 0x66, 0x63, 0xa3, 0x85, //0x000028e0 .quad -8817094351773372351 + 0x50, 0x47, 0x86, 0x7f, 0x2b, 0xda, 0xa6, 0x47, //0x000028e8 .quad 5163053903184807760 + 0x51, 0x6c, 0x4e, 0xa6, 0x40, 0x3c, 0x0c, 0xa7, //0x000028f0 .quad -6409681921289327535 + 0x24, 0xd9, 0x67, 0x5f, 0xb6, 0x90, 0x90, 0x99, //0x000028f8 .quad -7381240676301154012 + 0x65, 0x07, 0xe2, 0xcf, 0x50, 0x4b, 0xcf, 0xd0, //0x00002900 .quad -3400416383184271515 + 0x6d, 0xcf, 0x41, 0xf7, 0xe3, 0xb4, 0xf4, 0xff, //0x00002908 .quad -3178808521666707 + 0x9f, 0x44, 0xed, 0x81, 0x12, 0x8f, 0x81, 0x82, //0x00002910 .quad -9042789267131251553 + 0xa5, 0x21, 0x89, 0x7a, 0x0e, 0xf1, 0xf8, 0xbf, //0x00002918 .quad -4613672773753429595 + 0xc7, 0x95, 0x68, 0x22, 0xd7, 0xf2, 0x21, 0xa3, //0x00002920 .quad -6691800565486676537 + 0x0e, 0x6a, 0x2b, 0x19, 0x52, 0x2d, 0xf7, 0xaf, //0x00002928 .quad -5767090967191786994 + 0x39, 0xbb, 0x02, 0xeb, 0x8c, 0x6f, 0xea, 0xcb, //0x00002930 .quad -3753064688430957767 + 0x91, 0x44, 0x76, 0x9f, 0xa6, 0xf8, 0xf4, 0x9b, //0x00002938 .quad -7208863708989733743 + 0x08, 0x6a, 0xc3, 0x25, 0x70, 0x0b, 0xe5, 0xfe, //0x00002940 .quad -79644842111309304 + 0xb5, 0xd5, 0x53, 0x47, 0xd0, 0x36, 0xf2, 0x02, //0x00002948 .quad 212292400617608629 + 0x45, 0x22, 0x9a, 0x17, 0x26, 0x27, 0x4f, 0x9f, //0x00002950 .quad -6967307053960650171 + 0x91, 0x65, 0x94, 0x2c, 0x42, 0x62, 0xd7, 0x01, //0x00002958 .quad 132682750386005393 + 0xd6, 0xaa, 0x80, 0x9d, 0xef, 0xf0, 0x22, 0xc7, //0x00002960 .quad -4097447799023424810 + 0xf6, 0x7e, 0xb9, 0xb7, 0xd2, 0x3a, 0x4d, 0x42, //0x00002968 .quad 4777539456409894646 + 0x8b, 0xd5, 0xe0, 0x84, 0x2b, 0xad, 0xeb, 0xf8, //0x00002970 .quad -510123730351893109 + 0xb3, 0xde, 0xa7, 0x65, 0x87, 0x89, 0xe0, 0xd2, //0x00002978 .quad -3251447716342407501 + 0x77, 0x85, 0x0c, 0x33, 0x3b, 0x4c, 0x93, 0x9b, //0x00002980 .quad -7236356359111015049 + 0x30, 0xeb, 0x88, 0x9f, 0xf4, 0x55, 0xcc, 0x63, //0x00002988 .quad 7191217214140771120 + 0xd5, 0xa6, 0xcf, 0xff, 0x49, 0x1f, 0x78, 0xc2, //0x00002990 .quad -4433759430461380907 + 0xfc, 0x25, 0x6b, 0xc7, 0x71, 0x6b, 0xbf, 0x3c, //0x00002998 .quad 4377335499248575996 + 0x8a, 0x90, 0xc3, 0x7f, 0x1c, 0x27, 0x16, 0xf3, //0x000029a0 .quad -930513269649338230 + 0x7b, 0xef, 0x45, 0x39, 0x4e, 0x46, 0xef, 0x8b, //0x000029a8 .quad -8363388681221443717 + 0x56, 0x3a, 0xda, 0xcf, 0x71, 0xd8, 0xed, 0x97, //0x000029b0 .quad -7499099821171918250 + 0xad, 0xb5, 0xcb, 0xe3, 0xf0, 0x8b, 0x75, 0x97, //0x000029b8 .quad -7532960934977096275 + 0xec, 0xc8, 0xd0, 0x43, 0x8e, 0x4e, 0xe9, 0xbd, //0x000029c0 .quad -4762188758037509908 + 0x18, 0xa3, 0xbe, 0x1c, 0xed, 0xee, 0x52, 0x3d, //0x000029c8 .quad 4418856886560793368 + 0x27, 0xfb, 0xc4, 0xd4, 0x31, 0xa2, 0x63, 0xed, //0x000029d0 .quad -1341049929119499481 + 0xde, 0x4b, 0xee, 0x63, 0xa8, 0xaa, 0xa7, 0x4c, //0x000029d8 .quad 5523571108200991710 + 0xf8, 0x1c, 0xfb, 0x24, 0x5f, 0x45, 0x5e, 0x94, //0x000029e0 .quad -7755685233340769032 + 0x6b, 0xef, 0x74, 0x3e, 0xa9, 0xca, 0xe8, 0x8f, //0x000029e8 .quad -8076983103442849941 + 0x36, 0xe4, 0x39, 0xee, 0xb6, 0xd6, 0x75, 0xb9, //0x000029f0 .quad -5082920523248573386 + 0x45, 0x2b, 0x12, 0x8e, 0x53, 0xfd, 0xe2, 0xb3, //0x000029f8 .quad -5484542860876174523 + 0x44, 0x5d, 0xc8, 0xa9, 0x64, 0x4c, 0xd3, 0xe7, //0x00002a00 .quad -1741964635633328828 + 0x17, 0xb6, 0x96, 0x71, 0xa8, 0xbc, 0xdb, 0x60, //0x00002a08 .quad 6979379479186945559 + 0x4a, 0x3a, 0x1d, 0xea, 0xbe, 0x0f, 0xe4, 0x90, //0x00002a10 .quad -8006256924911912374 + 0xce, 0x31, 0xfe, 0x46, 0xe9, 0x55, 0x89, 0xbc, //0x00002a18 .quad -4861259862362934834 + 0xdd, 0x88, 0xa4, 0xa4, 0xae, 0x13, 0x1d, 0xb5, //0x00002a20 .quad -5396135137712502563 + 0x42, 0xbe, 0xbd, 0x98, 0x63, 0xab, 0xab, 0x6b, //0x00002a28 .quad 7758483227328495170 + 0x14, 0xab, 0xcd, 0x4d, 0x9a, 0x58, 0x64, 0xe2, //0x00002a30 .quad -2133482903713240300 + 0xd2, 0x2d, 0xed, 0x7e, 0x3c, 0x96, 0x96, 0xc6, //0x00002a38 .quad -4136954021121544750 + 0xec, 0x8a, 0xa0, 0x70, 0x60, 0xb7, 0x7e, 0x8d, //0x00002a40 .quad -8250955842461857044 + 0xa3, 0x3c, 0x54, 0xcf, 0xe5, 0x1d, 0x1e, 0xfc, //0x00002a48 .quad -279753253987271517 + 0xa8, 0xad, 0xc8, 0x8c, 0x38, 0x65, 0xde, 0xb0, //0x00002a50 .quad -5702008784649933400 + 0xcc, 0x4b, 0x29, 0x43, 0x5f, 0xa5, 0x25, 0x3b, //0x00002a58 .quad 4261994450943298508 + 0x12, 0xd9, 0xfa, 0xaf, 0x86, 0xfe, 0x15, 0xdd, //0x00002a60 .quad -2515824962385028846 + 0xbf, 0x9e, 0xf3, 0x13, 0xb7, 0x0e, 0xef, 0x49, //0x00002a68 .quad 5327493063679123135 + 0xab, 0xc7, 0xfc, 0x2d, 0x14, 0xbf, 0x2d, 0x8a, //0x00002a70 .quad -8489919629131724885 + 0x38, 0x43, 0x78, 0x6c, 0x32, 0x69, 0x35, 0x6e, //0x00002a78 .quad 7941369183226839864 + 0x96, 0xf9, 0x7b, 0x39, 0xd9, 0x2e, 0xb9, 0xac, //0x00002a80 .quad -6000713517987268202 + 0x05, 0x54, 0x96, 0x07, 0x7f, 0xc3, 0xc2, 0x49, //0x00002a88 .quad 5315025460606161925 + 0xfb, 0xf7, 0xda, 0x87, 0x8f, 0x7a, 0xe7, 0xd7, //0x00002a90 .quad -2889205879056697349 + 0x07, 0xe9, 0x7b, 0xc9, 0x5e, 0x74, 0x33, 0xdc, //0x00002a98 .quad -2579590211097073401 + 0xfd, 0xda, 0xe8, 0xb4, 0x99, 0xac, 0xf0, 0x86, //0x00002aa0 .quad -8723282702051517699 + 0xa4, 0x71, 0xed, 0x3d, 0xbb, 0x28, 0xa0, 0x69, //0x00002aa8 .quad 7611128154919104932 + 0xbc, 0x11, 0x23, 0x22, 0xc0, 0xd7, 0xac, 0xa8, //0x00002ab0 .quad -6292417359137009220 + 0x0d, 0xce, 0x68, 0x0d, 0xea, 0x32, 0x08, 0xc4, //0x00002ab8 .quad -4321147861633282547 + 0x2b, 0xd6, 0xab, 0x2a, 0xb0, 0x0d, 0xd8, 0xd2, //0x00002ac0 .quad -3253835680493873621 + 0x91, 0x01, 0xc3, 0x90, 0xa4, 0x3f, 0x0a, 0xf5, //0x00002ac8 .quad -789748808614215279 + 0xdb, 0x65, 0xab, 0x1a, 0x8e, 0x08, 0xc7, 0x83, //0x00002ad0 .quad -8951176327949752869 + 0xfb, 0xe0, 0x79, 0xda, 0xc6, 0x67, 0x26, 0x79, //0x00002ad8 .quad 8729779031470891259 + 0x52, 0x3f, 0x56, 0xa1, 0xb1, 0xca, 0xb8, 0xa4, //0x00002ae0 .quad -6577284391509803182 + 0x39, 0x59, 0x18, 0x91, 0xb8, 0x01, 0x70, 0x57, //0x00002ae8 .quad 6300537770911226169 + 0x26, 0xcf, 0xab, 0x09, 0x5e, 0xfd, 0xe6, 0xcd, //0x00002af0 .quad -3609919470959866074 + 0x87, 0x6f, 0x5e, 0xb5, 0x26, 0x02, 0x4c, 0xed, //0x00002af8 .quad -1347699823215743097 + 0x78, 0x61, 0x0b, 0xc6, 0x5a, 0x5e, 0xb0, 0x80, //0x00002b00 .quad -9173728696990998152 + 0xb5, 0x05, 0x5b, 0x31, 0x58, 0x81, 0x4f, 0x54, //0x00002b08 .quad 6075216638131242421 + 0xd6, 0x39, 0x8e, 0x77, 0xf1, 0x75, 0xdc, 0xa0, //0x00002b10 .quad -6855474852811359786 + 0x22, 0xc7, 0xb1, 0x3d, 0xae, 0x61, 0x63, 0x69, //0x00002b18 .quad 7594020797664053026 + 0x4c, 0xc8, 0x71, 0xd5, 0x6d, 0x93, 0x13, 0xc9, //0x00002b20 .quad -3957657547586811828 + 0xea, 0x38, 0x1e, 0xcd, 0x19, 0x3a, 0xbc, 0x03, //0x00002b28 .quad 269153960225290474 + 0x5f, 0x3a, 0xce, 0x4a, 0x49, 0x78, 0x58, 0xfb, //0x00002b30 .quad -335385916056126881 + 0x24, 0xc7, 0x65, 0x40, 0xa0, 0x48, 0xab, 0x04, //0x00002b38 .quad 336442450281613092 + 0x7b, 0xe4, 0xc0, 0xce, 0x2d, 0x4b, 0x17, 0x9d, //0x00002b40 .quad -7127145225176161157 + 0x77, 0x9c, 0x3f, 0x28, 0x64, 0x0d, 0xeb, 0x62, //0x00002b48 .quad 7127805559067090039 + 0x9a, 0x1d, 0x71, 0x42, 0xf9, 0x1d, 0x5d, 0xc4, //0x00002b50 .quad -4297245513042813542 + 0x95, 0x83, 0x4f, 0x32, 0xbd, 0xd0, 0xa5, 0x3b, //0x00002b58 .quad 4298070930406474645 + 0x00, 0x65, 0x0d, 0x93, 0x77, 0x65, 0x74, 0xf5, //0x00002b60 .quad -759870872876129024 + 0x7a, 0x64, 0xe3, 0x7e, 0xec, 0x44, 0x8f, 0xca, //0x00002b68 .quad -3850783373846682502 + 0x20, 0x5f, 0xe8, 0xbb, 0x6a, 0xbf, 0x68, 0x99, //0x00002b70 .quad -7392448323188662496 + 0xcc, 0x1e, 0x4e, 0xcf, 0x13, 0x8b, 0x99, 0x7e, //0x00002b78 .quad 9122475437414293196 + 0xe8, 0x76, 0xe2, 0x6a, 0x45, 0xef, 0xc2, 0xbf, //0x00002b80 .quad -4628874385558440216 + 0x7f, 0xa6, 0x21, 0xc3, 0xd8, 0xed, 0x3f, 0x9e, //0x00002b88 .quad -7043649776941685121 + 0xa2, 0x14, 0x9b, 0xc5, 0x16, 0xab, 0xb3, 0xef, //0x00002b90 .quad -1174406963520662366 + 0x1f, 0x10, 0xea, 0xf3, 0x4e, 0xe9, 0xcf, 0xc5, //0x00002b98 .quad -4192876202749718497 + 0xe5, 0xec, 0x80, 0x3b, 0xee, 0x4a, 0xd0, 0x95, //0x00002ba0 .quad -7651533379841495835 + 0x13, 0x4a, 0x72, 0x58, 0xd1, 0xf1, 0xa1, 0xbb, //0x00002ba8 .quad -4926390635932268013 + 0x1f, 0x28, 0x61, 0xca, 0xa9, 0x5d, 0x44, 0xbb, //0x00002bb0 .quad -4952730706374481889 + 0x98, 0xdc, 0x8e, 0xae, 0x45, 0x6e, 0x8a, 0x2a, //0x00002bb8 .quad 3065383741939440792 + 0x26, 0x72, 0xf9, 0x3c, 0x14, 0x75, 0x15, 0xea, //0x00002bc0 .quad -1579227364540714458 + 0xbe, 0x93, 0x32, 0x1a, 0xd7, 0x09, 0x2d, 0xf5, //0x00002bc8 .quad -779956341003086914 + 0x58, 0xe7, 0x1b, 0xa6, 0x2c, 0x69, 0x4d, 0x92, //0x00002bd0 .quad -7904546130479028392 + 0x57, 0x9c, 0x5f, 0x70, 0x26, 0x26, 0x3c, 0x59, //0x00002bd8 .quad 6430056314514152535 + 0x2e, 0xe1, 0xa2, 0xcf, 0x77, 0xc3, 0xe0, 0xb6, //0x00002be0 .quad -5268996644671397586 + 0x6d, 0x83, 0x77, 0x0c, 0xb0, 0x2f, 0x8b, 0x6f, //0x00002be8 .quad 8037570393142690669 + 0x7a, 0x99, 0x8b, 0xc3, 0x55, 0xf4, 0x98, 0xe4, //0x00002bf0 .quad -1974559787411859078 + 0x48, 0x64, 0x95, 0x0f, 0x9c, 0xfb, 0x6d, 0x0b, //0x00002bf8 .quad 823590954573587528 + 0xec, 0x3f, 0x37, 0x9a, 0xb5, 0x98, 0xdf, 0x8e, //0x00002c00 .quad -8151628894773493780 + 0xad, 0x5e, 0xbd, 0x89, 0x41, 0xbd, 0x24, 0x47, //0x00002c08 .quad 5126430365035880109 + 0xe7, 0x0f, 0xc5, 0x00, 0xe3, 0x7e, 0x97, 0xb2, //0x00002c10 .quad -5577850100039479321 + 0x58, 0xb6, 0x2c, 0xec, 0x91, 0xec, 0xed, 0x58, //0x00002c18 .quad 6408037956294850136 + 0xe1, 0x53, 0xf6, 0xc0, 0x9b, 0x5e, 0x3d, 0xdf, //0x00002c20 .quad -2360626606621961247 + 0xee, 0xe3, 0x37, 0x67, 0xb6, 0x67, 0x29, 0x2f, //0x00002c28 .quad 3398361426941174766 + 0x6c, 0xf4, 0x99, 0x58, 0x21, 0x5b, 0x86, 0x8b, //0x00002c30 .quad -8392920656779807636 + 0x75, 0xee, 0x82, 0x00, 0xd2, 0xe0, 0x79, 0xbd, //0x00002c38 .quad -4793553135802847627 + 0x87, 0x71, 0xc0, 0xae, 0xe9, 0xf1, 0x67, 0xae, //0x00002c40 .quad -5879464802547371641 + 0x12, 0xaa, 0xa3, 0x80, 0x06, 0x59, 0xd8, 0xec, //0x00002c48 .quad -1380255401326171630 + 0xe9, 0x8d, 0x70, 0x1a, 0x64, 0xee, 0x01, 0xda, //0x00002c50 .quad -2737644984756826647 + 0x96, 0x94, 0xcc, 0x20, 0x48, 0x6f, 0x0e, 0xe8, //0x00002c58 .quad -1725319251657714538 + 0xb2, 0x58, 0x86, 0x90, 0xfe, 0x34, 0x41, 0x88, //0x00002c60 .quad -8628557143114098510 + 0xde, 0xdc, 0x7f, 0x14, 0x8d, 0x05, 0x09, 0x31, //0x00002c68 .quad 3533361486141316318 + 0xde, 0xee, 0xa7, 0x34, 0x3e, 0x82, 0x51, 0xaa, //0x00002c70 .quad -6174010410465235234 + 0x16, 0xd4, 0x9f, 0x59, 0xf0, 0x46, 0x4b, 0xbd, //0x00002c78 .quad -4806670179178130410 + 0x96, 0xea, 0xd1, 0xc1, 0xcd, 0xe2, 0xe5, 0xd4, //0x00002c80 .quad -3105826994654156138 + 0x1b, 0xc9, 0x07, 0x70, 0xac, 0x18, 0x9e, 0x6c, //0x00002c88 .quad 7826720331309500699 + 0x9e, 0x32, 0x23, 0x99, 0xc0, 0xad, 0x0f, 0x85, //0x00002c90 .quad -8858670899299929442 + 0xb1, 0xdd, 0x04, 0xc6, 0x6b, 0xcf, 0xe2, 0x03, //0x00002c98 .quad 280014188641050033 + 0x45, 0xff, 0x6b, 0xbf, 0x30, 0x99, 0x53, 0xa6, //0x00002ca0 .quad -6461652605697523899 + 0x1d, 0x15, 0x86, 0xb7, 0x46, 0x83, 0xdb, 0x84, //0x00002ca8 .quad -8873354301053463267 + 0x16, 0xff, 0x46, 0xef, 0x7c, 0x7f, 0xe8, 0xcf, //0x00002cb0 .quad -3465379738694516970 + 0x64, 0x9a, 0x67, 0x65, 0x18, 0x64, 0x12, 0xe6, //0x00002cb8 .quad -1868320839462053276 + 0x6e, 0x5f, 0x8c, 0x15, 0xae, 0x4f, 0xf1, 0x81, //0x00002cc0 .quad -9083391364325154962 + 0x7f, 0xc0, 0x60, 0x3f, 0x8f, 0x7e, 0xcb, 0x4f, //0x00002cc8 .quad 5749828502977298559 + 0x49, 0x77, 0xef, 0x9a, 0x99, 0xa3, 0x6d, 0xa2, //0x00002cd0 .quad -6742553186979055799 + 0x9e, 0xf0, 0x38, 0x0f, 0x33, 0x5e, 0xbe, 0xe3, //0x00002cd8 .quad -2036086408133152610 + 0x1c, 0x55, 0xab, 0x01, 0x80, 0x0c, 0x09, 0xcb, //0x00002ce0 .quad -3816505465296431844 + 0xc6, 0x2c, 0x07, 0xd3, 0xbf, 0xf5, 0xad, 0x5c, //0x00002ce8 .quad 6678264026688335046 + 0x63, 0x2a, 0x16, 0x02, 0xa0, 0x4f, 0xcb, 0xfd, //0x00002cf0 .quad -158945813193151901 + 0xf7, 0xf7, 0xc8, 0xc7, 0x2f, 0x73, 0xd9, 0x73, //0x00002cf8 .quad 8347830033360418807 + 0x7e, 0xda, 0x4d, 0x01, 0xc4, 0x11, 0x9f, 0x9e, //0x00002d00 .quad -7016870160886801794 + 0xfb, 0x9a, 0xdd, 0xdc, 0xfd, 0xe7, 0x67, 0x28, //0x00002d08 .quad 2911550761636567803 + 0x1d, 0x51, 0xa1, 0x01, 0x35, 0xd6, 0x46, 0xc6, //0x00002d10 .quad -4159401682681114339 + 0xb9, 0x01, 0x15, 0x54, 0xfd, 0xe1, 0x81, 0xb2, //0x00002d18 .quad -5583933584809066055 + 0x65, 0xa5, 0x09, 0x42, 0xc2, 0x8b, 0xd8, 0xf7, //0x00002d20 .quad -587566084924005019 + 0x27, 0x42, 0x1a, 0xa9, 0x7c, 0x5a, 0x22, 0x1f, //0x00002d28 .quad 2243455055843443239 + 0x5f, 0x07, 0x46, 0x69, 0x59, 0x57, 0xe7, 0x9a, //0x00002d30 .quad -7284757830718584993 + 0x59, 0x69, 0xb0, 0xe9, 0x8d, 0x78, 0x75, 0x33, //0x00002d38 .quad 3708002419115845977 + 0x37, 0x89, 0x97, 0xc3, 0x2f, 0x2d, 0xa1, 0xc1, //0x00002d40 .quad -4494261269970843337 + 0xaf, 0x83, 0x1c, 0x64, 0xb1, 0xd6, 0x52, 0x00, //0x00002d48 .quad 23317005467419567 + 0x84, 0x6b, 0x7d, 0xb4, 0x7b, 0x78, 0x09, 0xf2, //0x00002d50 .quad -1006140569036166268 + 0x9b, 0xa4, 0x23, 0xbd, 0x5d, 0x8c, 0x67, 0xc0, //0x00002d58 .quad -4582539761593113445 + 0x32, 0x63, 0xce, 0x50, 0x4d, 0xeb, 0x45, 0x97, //0x00002d60 .quad -7546366883288685774 + 0xe1, 0x46, 0x36, 0x96, 0xba, 0xb7, 0x40, 0xf8, //0x00002d68 .quad -558244341782001951 + 0xff, 0xfb, 0x01, 0xa5, 0x20, 0x66, 0x17, 0xbd, //0x00002d70 .quad -4821272585683469313 + 0x99, 0xd8, 0xc3, 0x3b, 0xa9, 0xe5, 0x50, 0xb6, //0x00002d78 .quad -5309491445654890343 + 0xff, 0x7a, 0x42, 0xce, 0xa8, 0x3f, 0x5d, 0xec, //0x00002d80 .quad -1414904713676948737 + 0xbf, 0xce, 0xb4, 0x8a, 0x13, 0x1f, 0xe5, 0xa3, //0x00002d88 .quad -6636864307068612929 + 0xdf, 0x8c, 0xe9, 0x80, 0xc9, 0x47, 0xba, 0x93, //0x00002d90 .quad -7801844473689174817 + 0x38, 0x01, 0xb1, 0x36, 0x6c, 0x33, 0x6f, 0xc6, //0x00002d98 .quad -4148040191917883080 + 0x17, 0xf0, 0x23, 0xe1, 0xbb, 0xd9, 0xa8, 0xb8, //0x00002da0 .quad -5140619573684080617 + 0x85, 0x41, 0x5d, 0x44, 0x47, 0x00, 0x0b, 0xb8, //0x00002da8 .quad -5185050239897353851 + 0x1d, 0xec, 0x6c, 0xd9, 0x2a, 0x10, 0xd3, 0xe6, //0x00002db0 .quad -1814088448677712867 + 0xe6, 0x91, 0x74, 0x15, 0x59, 0xc0, 0x0d, 0xa6, //0x00002db8 .quad -6481312799871692314 + 0x92, 0x13, 0xe4, 0xc7, 0x1a, 0xea, 0x43, 0x90, //0x00002dc0 .quad -8051334308064652398 + 0x30, 0xdb, 0x68, 0xad, 0x37, 0x98, 0xc8, 0x87, //0x00002dc8 .quad -8662506518347195600 + 0x77, 0x18, 0xdd, 0x79, 0xa1, 0xe4, 0x54, 0xb4, //0x00002dd0 .quad -5452481866653427593 + 0xfc, 0x11, 0xc3, 0x98, 0x45, 0xbe, 0xba, 0x29, //0x00002dd8 .quad 3006924907348169212 + 0x94, 0x5e, 0x54, 0xd8, 0xc9, 0x1d, 0x6a, 0xe1, //0x00002de0 .quad -2203916314889396588 + 0x7b, 0xd6, 0xf3, 0xfe, 0xd6, 0x6d, 0x29, 0xf4, //0x00002de8 .quad -853029884242176389 + 0x1d, 0xbb, 0x34, 0x27, 0x9e, 0x52, 0xe2, 0x8c, //0x00002df0 .quad -8294976724446954723 + 0x0d, 0x66, 0x58, 0x5f, 0xa6, 0xe4, 0x99, 0x18, //0x00002df8 .quad 1772699331562333709 + 0xe4, 0xe9, 0x01, 0xb1, 0x45, 0xe7, 0x1a, 0xb0, //0x00002e00 .quad -5757034887131305500 + 0x90, 0x7f, 0x2e, 0xf7, 0xcf, 0x5d, 0xc0, 0x5e, //0x00002e08 .quad 6827560182880305040 + 0x5d, 0x64, 0x42, 0x1d, 0x17, 0xa1, 0x21, 0xdc, //0x00002e10 .quad -2584607590486743971 + 0x74, 0x1f, 0xfa, 0xf4, 0x43, 0x75, 0x70, 0x76, //0x00002e18 .quad 8534450228600381300 + 0xba, 0x7e, 0x49, 0x72, 0xae, 0x04, 0x95, 0x89, //0x00002e20 .quad -8532908771695296838 + 0xa9, 0x53, 0x1c, 0x79, 0x4a, 0x49, 0x06, 0x6a, //0x00002e28 .quad 7639874402088932265 + 0x69, 0xde, 0xdb, 0x0e, 0xda, 0x45, 0xfa, 0xab, //0x00002e30 .quad -6054449946191733143 + 0x93, 0x68, 0x63, 0x17, 0x9d, 0xdb, 0x87, 0x04, //0x00002e38 .quad 326470965756389523 + 0x03, 0xd6, 0x92, 0x92, 0x50, 0xd7, 0xf8, 0xd6, //0x00002e40 .quad -2956376414312278525 + 0xb7, 0x42, 0x3c, 0x5d, 0x84, 0xd2, 0xa9, 0x45, //0x00002e48 .quad 5019774725622874807 + 0xc2, 0xc5, 0x9b, 0x5b, 0x92, 0x86, 0x5b, 0x86, //0x00002e50 .quad -8765264286586255934 + 0xb3, 0xa9, 0x45, 0xba, 0x92, 0x23, 0x8a, 0x0b, //0x00002e58 .quad 831516194300602803 + 0x32, 0xb7, 0x82, 0xf2, 0x36, 0x68, 0xf2, 0xa7, //0x00002e60 .quad -6344894339805432014 + 0x1f, 0x14, 0xd7, 0x68, 0x77, 0xac, 0x6c, 0x8e, //0x00002e68 .quad -8183976793979022305 + 0xff, 0x64, 0x23, 0xaf, 0x44, 0x02, 0xef, 0xd1, //0x00002e70 .quad -3319431906329402113 + 0x27, 0xd9, 0x0c, 0x43, 0x95, 0xd7, 0x07, 0x32, //0x00002e78 .quad 3605087062808385831 + 0x1f, 0x1f, 0x76, 0xed, 0x6a, 0x61, 0x35, 0x83, //0x00002e80 .quad -8992173969096958177 + 0xb9, 0x07, 0xe8, 0x49, 0xbd, 0xe6, 0x44, 0x7f, //0x00002e88 .quad 9170708441896323001 + 0xe7, 0xa6, 0xd3, 0xa8, 0xc5, 0xb9, 0x02, 0xa4, //0x00002e90 .quad -6628531442943809817 + 0xa7, 0x09, 0x62, 0x9c, 0x6c, 0x20, 0x16, 0x5f, //0x00002e98 .quad 6851699533943015847 + 0xa1, 0x90, 0x08, 0x13, 0x37, 0x68, 0x03, 0xcd, //0x00002ea0 .quad -3673978285252374367 + 0x10, 0x8c, 0x7a, 0xc3, 0x87, 0xa8, 0xdb, 0x36, //0x00002ea8 .quad 3952938399001381904 + 0x64, 0x5a, 0xe5, 0x6b, 0x22, 0x21, 0x22, 0x80, //0x00002eb0 .quad -9213765455923815836 + 0x8a, 0x97, 0x2c, 0xda, 0x54, 0x49, 0x49, 0xc2, //0x00002eb8 .quad -4446942528265218166 + 0xfd, 0xb0, 0xde, 0x06, 0x6b, 0xa9, 0x2a, 0xa0, //0x00002ec0 .quad -6905520801477381891 + 0x6d, 0xbd, 0xb7, 0x10, 0xaa, 0x9b, 0xdb, 0xf2, //0x00002ec8 .quad -946992141904134803 + 0x3d, 0x5d, 0x96, 0xc8, 0xc5, 0x53, 0x35, 0xc8, //0x00002ed0 .quad -4020214983419339459 + 0xc8, 0xac, 0xe5, 0x94, 0x94, 0x82, 0x92, 0x6f, //0x00002ed8 .quad 8039631859474607304 + 0x8c, 0xf4, 0xbb, 0x3a, 0xb7, 0xa8, 0x42, 0xfa, //0x00002ee0 .quad -413582710846786420 + 0xfa, 0x17, 0x1f, 0xba, 0x39, 0x23, 0x77, 0xcb, //0x00002ee8 .quad -3785518230938904582 + 0xd7, 0x78, 0xb5, 0x84, 0x72, 0xa9, 0x69, 0x9c, //0x00002ef0 .quad -7176018221920323369 + 0xfc, 0x6e, 0x53, 0x14, 0x04, 0x76, 0x2a, 0xff, //0x00002ef8 .quad -60105885123121412 + 0x0d, 0xd7, 0xe2, 0x25, 0xcf, 0x13, 0x84, 0xc3, //0x00002f00 .quad -4358336758973016307 + 0xbb, 0x4a, 0x68, 0x19, 0x85, 0x13, 0xf5, 0xfe, //0x00002f08 .quad -75132356403901765 + 0xd1, 0x8c, 0x5b, 0xef, 0xc2, 0x18, 0x65, 0xf4, //0x00002f10 .quad -836234930288882479 + 0x6a, 0x5d, 0xc2, 0x5f, 0x66, 0x58, 0xb2, 0x7e, //0x00002f18 .quad 9129456591349898602 + 0x02, 0x38, 0x99, 0xd5, 0x79, 0x2f, 0xbf, 0x98, //0x00002f20 .quad -7440175859071633406 + 0x62, 0x7a, 0xd9, 0xfb, 0x3f, 0x77, 0x2f, 0xef, //0x00002f28 .quad -1211618658047395230 + 0x03, 0x86, 0xff, 0x4a, 0x58, 0xfb, 0xee, 0xbe, //0x00002f30 .quad -4688533805412153853 + 0xfb, 0xd8, 0xcf, 0xfa, 0x0f, 0x55, 0xfb, 0xaa, //0x00002f38 .quad -6126209340986631941 + 0x84, 0x67, 0xbf, 0x5d, 0x2e, 0xba, 0xaa, 0xee, //0x00002f40 .quad -1248981238337804412 + 0x39, 0xcf, 0x83, 0xf9, 0x53, 0x2a, 0xba, 0x95, //0x00002f48 .quad -7657761676233289927 + 0xb2, 0xa0, 0x97, 0xfa, 0x5c, 0xb4, 0x2a, 0x95, //0x00002f50 .quad -7698142301602209614 + 0x84, 0x61, 0xf2, 0x7b, 0x74, 0x5a, 0x94, 0xdd, //0x00002f58 .quad -2480258038432112252 + 0xdf, 0x88, 0x3d, 0x39, 0x74, 0x61, 0x75, 0xba, //0x00002f60 .quad -5010991858575374113 + 0xe5, 0xf9, 0xee, 0x9a, 0x11, 0x71, 0xf9, 0x94, //0x00002f68 .quad -7712008566467528219 + 0x17, 0xeb, 0x8c, 0x47, 0xd1, 0xb9, 0x12, 0xe9, //0x00002f70 .quad -1652053804791829737 + 0x5e, 0xb8, 0xaa, 0x01, 0x56, 0xcd, 0x37, 0x7a, //0x00002f78 .quad 8806733365625141342 + 0xee, 0x12, 0xb8, 0xcc, 0x22, 0xb4, 0xab, 0x91, //0x00002f80 .quad -7950062655635975442 + 0x3b, 0xb3, 0x0a, 0xc1, 0x55, 0xe0, 0x62, 0xac, //0x00002f88 .quad -6025006692552756421 + 0xaa, 0x17, 0xe6, 0x7f, 0x2b, 0xa1, 0x16, 0xb6, //0x00002f90 .quad -5325892301117581398 + 0x0a, 0x60, 0x4d, 0x31, 0x6b, 0x98, 0x7b, 0x57, //0x00002f98 .quad 6303799689591218186 + 0x94, 0x9d, 0xdf, 0x5f, 0x76, 0x49, 0x9c, 0xe3, //0x00002fa0 .quad -2045679357969588844 + 0x0c, 0xb8, 0xa0, 0xfd, 0x85, 0x7e, 0x5a, 0xed, //0x00002fa8 .quad -1343622424865753076 + 0x7d, 0xc2, 0xeb, 0xfb, 0xe9, 0xad, 0x41, 0x8e, //0x00002fb0 .quad -8196078626372074883 + 0x08, 0x73, 0x84, 0xbe, 0x13, 0x8f, 0x58, 0x14, //0x00002fb8 .quad 1466078993672598280 + 0x1c, 0xb3, 0xe6, 0x7a, 0x64, 0x19, 0xd2, 0xb1, //0x00002fc0 .quad -5633412264537705700 + 0xc9, 0x8f, 0x25, 0xae, 0xd8, 0xb2, 0x6e, 0x59, //0x00002fc8 .quad 6444284760518135753 + 0xe3, 0x5f, 0xa0, 0x99, 0xbd, 0x9f, 0x46, 0xde, //0x00002fd0 .quad -2430079312244744221 + 0xbc, 0xf3, 0xae, 0xd9, 0x8e, 0x5f, 0xca, 0x6f, //0x00002fd8 .quad 8055355950647669692 + 0xee, 0x3b, 0x04, 0x80, 0xd6, 0x23, 0xec, 0x8a, //0x00002fe0 .quad -8436328597794046994 + 0x55, 0x58, 0x0d, 0x48, 0xb9, 0x7b, 0xde, 0x25, //0x00002fe8 .quad 2728754459941099605 + 0xe9, 0x4a, 0x05, 0x20, 0xcc, 0x2c, 0xa7, 0xad, //0x00002ff0 .quad -5933724728815170839 + 0x6b, 0xae, 0x10, 0x9a, 0xa7, 0x1a, 0x56, 0xaf, //0x00002ff8 .quad -5812428961928401301 + 0xa4, 0x9d, 0x06, 0x28, 0xff, 0xf7, 0x10, 0xd9, //0x00003000 .quad -2805469892591575644 + 0x05, 0xda, 0x94, 0x80, 0x51, 0xa1, 0x2b, 0x1b, //0x00003008 .quad 1957835834444274181 + 0x86, 0x22, 0x04, 0x79, 0xff, 0x9a, 0xaa, 0x87, //0x00003010 .quad -8670947710510816634 + 0x43, 0x08, 0x5d, 0xf0, 0xd2, 0x44, 0xfb, 0x90, //0x00003018 .quad -7999724640327104445 + 0x28, 0x2b, 0x45, 0x57, 0xbf, 0x41, 0x95, 0xa9, //0x00003020 .quad -6226998619711132888 + 0x54, 0x4a, 0x74, 0xac, 0x07, 0x16, 0x3a, 0x35, //0x00003028 .quad 3835402254873283156 + 0xf2, 0x75, 0x16, 0x2d, 0x2f, 0x92, 0xfa, 0xd3, //0x00003030 .quad -3172062256211528206 + 0xe9, 0x5c, 0x91, 0x97, 0x89, 0x9b, 0x88, 0x42, //0x00003038 .quad 4794252818591603945 + 0xb7, 0x09, 0x2e, 0x7c, 0x5d, 0x9b, 0x7c, 0x84, //0x00003040 .quad -8900067937773286985 + 0x12, 0xda, 0xba, 0xfe, 0x35, 0x61, 0x95, 0x69, //0x00003048 .quad 7608094030047140370 + 0x25, 0x8c, 0x39, 0xdb, 0x34, 0xc2, 0x9b, 0xa5, //0x00003050 .quad -6513398903789220827 + 0x96, 0x90, 0x69, 0x7e, 0x83, 0xb9, 0xfa, 0x43, //0x00003058 .quad 4898431519131537558 + 0x2e, 0xef, 0x07, 0x12, 0xc2, 0xb2, 0x02, 0xcf, //0x00003060 .quad -3530062611309138130 + 0xbc, 0xf4, 0x03, 0x5e, 0xe4, 0x67, 0xf9, 0x94, //0x00003068 .quad -7712018656367741764 + 0x7d, 0xf5, 0x44, 0x4b, 0xb9, 0xaf, 0x61, 0x81, //0x00003070 .quad -9123818159709293187 + 0xf6, 0x78, 0xc2, 0xba, 0xee, 0xe0, 0x1b, 0x1d, //0x00003078 .quad 2097517367411243254 + 0xdc, 0x32, 0x16, 0x9e, 0xa7, 0x1b, 0xba, 0xa1, //0x00003080 .quad -6793086681209228580 + 0x33, 0x17, 0x73, 0x69, 0x2a, 0xd9, 0x62, 0x64, //0x00003088 .quad 7233582727691441971 + 0x93, 0xbf, 0x9b, 0x85, 0x91, 0xa2, 0x28, 0xca, //0x00003090 .quad -3879672333084147821 + 0xff, 0xdc, 0xcf, 0x03, 0x75, 0x8f, 0x7b, 0x7d, //0x00003098 .quad 9041978409614302463 + 0x78, 0xaf, 0x02, 0xe7, 0x35, 0xcb, 0xb2, 0xfc, //0x000030a0 .quad -237904397927796872 + 0x3f, 0xd4, 0xc3, 0x44, 0x52, 0x73, 0xda, 0x5c, //0x000030a8 .quad 6690786993590490175 + 0xab, 0xad, 0x61, 0xb0, 0x01, 0xbf, 0xef, 0x9d, //0x000030b0 .quad -7066219276345954901 + 0xa8, 0x64, 0xfa, 0x6a, 0x13, 0x88, 0x08, 0x3a, //0x000030b8 .quad 4181741870994056360 + 0x16, 0x19, 0x7a, 0x1c, 0xc2, 0xae, 0x6b, 0xc5, //0x000030c0 .quad -4221088077005055722 + 0xd1, 0xfd, 0xb8, 0x45, 0x18, 0xaa, 0x8a, 0x08, //0x000030c8 .quad 615491320315182545 + 0x5b, 0x9f, 0x98, 0xa3, 0x72, 0x9a, 0xc6, 0xf6, //0x000030d0 .quad -664674077828931749 + 0x46, 0x3d, 0x27, 0x57, 0x9e, 0x54, 0xad, 0x8a, //0x000030d8 .quad -8454007886460797626 + 0x99, 0x63, 0x3f, 0xa6, 0x87, 0x20, 0x3c, 0x9a, //0x000030e0 .quad -7332950326284164199 + 0x4c, 0x86, 0x78, 0xf6, 0xe2, 0x54, 0xac, 0x36, //0x000030e8 .quad 3939617107816777292 + 0x7f, 0x3c, 0xcf, 0x8f, 0xa9, 0x28, 0xcb, 0xc0, //0x000030f0 .quad -4554501889427817345 + 0xde, 0xa7, 0x16, 0xb4, 0x1b, 0x6a, 0x57, 0x84, //0x000030f8 .quad -8910536670511192098 + 0x9f, 0x0b, 0xc3, 0xf3, 0xd3, 0xf2, 0xfd, 0xf0, //0x00003100 .quad -1081441343357383777 + 0xd6, 0x51, 0x1c, 0xa1, 0xa2, 0x44, 0x6d, 0x65, //0x00003108 .quad 7308573235570561494 + 0x43, 0xe7, 0x59, 0x78, 0xc4, 0xb7, 0x9e, 0x96, //0x00003110 .quad -7593429867239446717 + 0x26, 0xb3, 0xb1, 0xa4, 0xe5, 0x4a, 0x64, 0x9f, //0x00003118 .quad -6961356773836868826 + 0x14, 0x61, 0x70, 0x96, 0xb5, 0x65, 0x46, 0xbc, //0x00003120 .quad -4880101315621920492 + 0xef, 0x1f, 0xde, 0x0d, 0x9f, 0x5d, 0x3d, 0x87, //0x00003128 .quad -8701695967296086033 + 0x59, 0x79, 0x0c, 0xfc, 0x22, 0xff, 0x57, 0xeb, //0x00003130 .quad -1488440626100012711 + 0xeb, 0xa7, 0x55, 0xd1, 0x06, 0xb5, 0x0c, 0xa9, //0x00003138 .quad -6265433940692719637 + 0xd8, 0xcb, 0x87, 0xdd, 0x75, 0xff, 0x16, 0x93, //0x00003140 .quad -7847804418953589800 + 0xf3, 0x88, 0xd5, 0x42, 0x24, 0xf1, 0xa7, 0x09, //0x00003148 .quad 695789805494438131 + 0xce, 0xbe, 0xe9, 0x54, 0x53, 0xbf, 0xdc, 0xb7, //0x00003150 .quad -5198069505264599346 + 0x30, 0xeb, 0x8a, 0x53, 0x6d, 0xed, 0x11, 0x0c, //0x00003158 .quad 869737256868047664 + 0x81, 0x2e, 0x24, 0x2a, 0x28, 0xef, 0xd3, 0xe5, //0x00003160 .quad -1885900863153361279 + 0xfb, 0xa5, 0x6d, 0xa8, 0xc8, 0x68, 0x16, 0x8f, //0x00003168 .quad -8136200465769716229 + 0x10, 0x9d, 0x56, 0x1a, 0x79, 0x75, 0xa4, 0x8f, //0x00003170 .quad -8096217067111932656 + 0xbd, 0x87, 0x44, 0x69, 0x7d, 0x01, 0x6e, 0xf9, //0x00003178 .quad -473439272678684739 + 0x55, 0x44, 0xec, 0x60, 0xd7, 0x92, 0x8d, 0xb3, //0x00003180 .quad -5508585315462527915 + 0xad, 0xa9, 0x95, 0xc3, 0xdc, 0x81, 0xc9, 0x37, //0x00003188 .quad 4019886927579031981 + 0x6a, 0x55, 0x27, 0x39, 0x8d, 0xf7, 0x70, 0xe0, //0x00003190 .quad -2274045625900771990 + 0x18, 0x14, 0x7b, 0xf4, 0x53, 0xe2, 0xbb, 0x85, //0x00003198 .quad -8810199395808373736 + 0x62, 0x95, 0xb8, 0x43, 0xb8, 0x9a, 0x46, 0x8c, //0x000031a0 .quad -8338807543829064350 + 0x8f, 0xec, 0xcc, 0x78, 0x74, 0x6d, 0x95, 0x93, //0x000031a8 .quad -7812217631593927537 + 0xbb, 0xba, 0xa6, 0x54, 0x66, 0x41, 0x58, 0xaf, //0x000031b0 .quad -5811823411358942533 + 0xb3, 0x27, 0x00, 0x97, 0xd1, 0xc8, 0x7a, 0x38, //0x000031b8 .quad 4069786015789754291 + 0x6a, 0x69, 0xd0, 0xe9, 0xbf, 0x51, 0x2e, 0xdb, //0x000031c0 .quad -2653093245771290262 + 0x9f, 0x31, 0xc0, 0xfc, 0x05, 0x7b, 0x99, 0x06, //0x000031c8 .quad 475546501309804959 + 0xe2, 0x41, 0x22, 0xf2, 0x17, 0xf3, 0xfc, 0x88, //0x000031d0 .quad -8575712306248138270 + 0x04, 0x1f, 0xf8, 0xbd, 0xe3, 0xec, 0x1f, 0x44, //0x000031d8 .quad 4908902581746016004 + 0x5a, 0xd2, 0xaa, 0xee, 0xdd, 0x2f, 0x3c, 0xab, //0x000031e0 .quad -6107954364382784934 + 0xc4, 0x26, 0x76, 0xad, 0x1c, 0xe8, 0x27, 0xd5, //0x000031e8 .quad -3087243809672255804 + 0xf1, 0x86, 0x55, 0x6a, 0xd5, 0x3b, 0x0b, 0xd6, //0x000031f0 .quad -3023256937051093263 + 0x75, 0xb0, 0xd3, 0xd8, 0x23, 0xe2, 0x71, 0x8a, //0x000031f8 .quad -8470740780517707659 + 0x56, 0x74, 0x75, 0x62, 0x65, 0x05, 0xc7, 0x85, //0x00003200 .quad -8807064613298015146 + 0x4a, 0x4e, 0x84, 0x67, 0x56, 0x2d, 0x87, 0xf6, //0x00003208 .quad -682526969396179382 + 0x6c, 0xd1, 0x12, 0xbb, 0xbe, 0xc6, 0x38, 0xa7, //0x00003210 .quad -6397144748195131028 + 0xdc, 0x61, 0x65, 0x01, 0xac, 0xf8, 0x28, 0xb4, //0x00003218 .quad -5464844730172612132 + 0xc7, 0x85, 0xd7, 0x69, 0x6e, 0xf8, 0x06, 0xd1, //0x00003220 .quad -3384744916816525881 + 0x53, 0xba, 0xbe, 0x01, 0xd7, 0x36, 0x33, 0xe1, //0x00003228 .quad -2219369894288377261 + 0x9c, 0xb3, 0x26, 0x02, 0x45, 0x5b, 0xa4, 0x82, //0x00003230 .quad -9032994600651410532 + 0x74, 0x34, 0x17, 0x61, 0x46, 0x02, 0xc0, 0xec, //0x00003238 .quad -1387106183930235788 + 0x84, 0x60, 0xb0, 0x42, 0x16, 0x72, 0x4d, 0xa3, //0x00003240 .quad -6679557232386875260 + 0x91, 0x01, 0x5d, 0xf9, 0xd7, 0x02, 0xf0, 0x27, //0x00003248 .quad 2877803288514593169 + 0xa5, 0x78, 0x5c, 0xd3, 0x9b, 0xce, 0x20, 0xcc, //0x00003250 .quad -3737760522056206171 + 0xf5, 0x41, 0xb4, 0xf7, 0x8d, 0x03, 0xec, 0x31, //0x00003258 .quad 3597254110643241461 + 0xce, 0x96, 0x33, 0xc8, 0x42, 0x02, 0x29, 0xff, //0x00003260 .quad -60514634142869810 + 0x72, 0x52, 0xa1, 0x75, 0x71, 0x04, 0x67, 0x7e, //0x00003268 .quad 9108253656731439730 + 0x41, 0x3e, 0x20, 0xbd, 0x69, 0xa1, 0x79, 0x9f, //0x00003270 .quad -6955350673980375487 + 0x87, 0xd3, 0x84, 0xe9, 0xc6, 0x62, 0x00, 0x0f, //0x00003278 .quad 1080972517029761927 + 0xd1, 0x4d, 0x68, 0x2c, 0xc4, 0x09, 0x58, 0xc7, //0x00003280 .quad -4082502324048081455 + 0x69, 0x08, 0xe6, 0xa3, 0x78, 0x7b, 0xc0, 0x52, //0x00003288 .quad 5962901664714590313 + 0x45, 0x61, 0x82, 0x37, 0x35, 0x0c, 0x2e, 0xf9, //0x00003290 .quad -491441886632713915 + 0x83, 0x8a, 0xdf, 0xcc, 0x56, 0x9a, 0x70, 0xa7, //0x00003298 .quad -6381430974388925821 + 0xcb, 0x7c, 0xb1, 0x42, 0xa1, 0xc7, 0xbc, 0x9b, //0x000032a0 .quad -7224680206786528053 + 0x92, 0xb6, 0x0b, 0x40, 0x76, 0x60, 0xa6, 0x88, //0x000032a8 .quad -8600080377420466542 + 0xfe, 0xdb, 0x5d, 0x93, 0x89, 0xf9, 0xab, 0xc2, //0x000032b0 .quad -4419164240055772162 + 0x36, 0xa4, 0x0e, 0xd0, 0x93, 0xf8, 0xcf, 0x6a, //0x000032b8 .quad 7696643601933968438 + 0xfe, 0x52, 0x35, 0xf8, 0xeb, 0xf7, 0x56, 0xf3, //0x000032c0 .quad -912269281642327298 + 0x44, 0x4d, 0x12, 0xc4, 0xb8, 0xf6, 0x83, 0x05, //0x000032c8 .quad 397432465562684740 + 0xde, 0x53, 0x21, 0x7b, 0xf3, 0x5a, 0x16, 0x98, //0x000032d0 .quad -7487697328667536418 + 0x4b, 0x70, 0x8b, 0x7a, 0x33, 0x7a, 0x72, 0xc3, //0x000032d8 .quad -4363290727450709941 + 0xd6, 0xa8, 0xe9, 0x59, 0xb0, 0xf1, 0x1b, 0xbe, //0x000032e0 .quad -4747935642407032618 + 0x5d, 0x4c, 0x2e, 0x59, 0xc0, 0x18, 0x4f, 0x74, //0x000032e8 .quad 8380944645968776285 + 0x0c, 0x13, 0x64, 0x70, 0x1c, 0xee, 0xa2, 0xed, //0x000032f0 .quad -1323233534581402868 + 0x74, 0xdf, 0x79, 0x6f, 0xf0, 0xde, 0x62, 0x11, //0x000032f8 .quad 1252808770606194548 + 0xe7, 0x8b, 0x3e, 0xc6, 0xd1, 0xd4, 0x85, 0x94, //0x00003300 .quad -7744549986754458649 + 0xa9, 0x2b, 0xac, 0x45, 0x56, 0xcb, 0xdd, 0x8a, //0x00003308 .quad -8440366555225904215 + 0xe1, 0x2e, 0xce, 0x37, 0x06, 0x4a, 0xa7, 0xb9, //0x00003310 .quad -5069001465015685407 + 0x93, 0x36, 0x17, 0xd7, 0x2b, 0x3e, 0x95, 0x6d, //0x00003318 .quad 7896285879677171347 + 0x99, 0xba, 0xc1, 0xc5, 0x87, 0x1c, 0x11, 0xe8, //0x00003320 .quad -1724565812842218855 + 0x38, 0x04, 0xdd, 0xcc, 0xb6, 0x8d, 0xfa, 0xc8, //0x00003328 .quad -3964700705685699528 + 0xa0, 0x14, 0x99, 0xdb, 0xd4, 0xb1, 0x0a, 0x91, //0x00003330 .quad -7995382660667468640 + 0xa3, 0x22, 0x0a, 0x40, 0x92, 0x98, 0x9c, 0x1d, //0x00003338 .quad 2133748077373825699 + 0xc8, 0x59, 0x7f, 0x12, 0x4a, 0x5e, 0x4d, 0xb5, //0x00003340 .quad -5382542307406947896 + 0x4c, 0xab, 0x0c, 0xd0, 0xb6, 0xbe, 0x03, 0x25, //0x00003348 .quad 2667185096717282124 + 0x3a, 0x30, 0x1f, 0x97, 0xdc, 0xb5, 0xa0, 0xe2, //0x00003350 .quad -2116491865831296966 + 0x1e, 0xd6, 0x0f, 0x84, 0x64, 0xae, 0x44, 0x2e, //0x00003358 .quad 3333981370896602654 + 0x24, 0x7e, 0x73, 0xde, 0xa9, 0x71, 0xa4, 0x8d, //0x00003360 .quad -8240336443785642460 + 0xd3, 0xe5, 0x89, 0xd2, 0xfe, 0xec, 0xea, 0x5c, //0x00003368 .quad 6695424375237764563 + 0xad, 0x5d, 0x10, 0x56, 0x14, 0x8e, 0x0d, 0xb1, //0x00003370 .quad -5688734536304665171 + 0x48, 0x5f, 0x2c, 0x87, 0x3e, 0xa8, 0x25, 0x74, //0x00003378 .quad 8369280469047205704 + 0x18, 0x75, 0x94, 0x6b, 0x99, 0xf1, 0x50, 0xdd, //0x00003380 .quad -2499232151953443560 + 0x1a, 0x77, 0xf7, 0x28, 0x4e, 0x12, 0x2f, 0xd1, //0x00003388 .quad -3373457468973156582 + 0x2f, 0xc9, 0x3c, 0xe3, 0xff, 0x96, 0x52, 0x8a, //0x00003390 .quad -8479549122611984081 + 0x70, 0xaa, 0x9a, 0xd9, 0x70, 0x6b, 0xbd, 0x82, //0x00003398 .quad -9025939945749304720 + 0x7b, 0xfb, 0x0b, 0xdc, 0xbf, 0x3c, 0xe7, 0xac, //0x000033a0 .quad -5987750384837592197 + 0x0c, 0x55, 0x01, 0x10, 0x4d, 0xc6, 0x6c, 0x63, //0x000033a8 .quad 7164319141522920716 + 0x5a, 0xfa, 0x0e, 0xd3, 0xef, 0x0b, 0x21, 0xd8, //0x000033b0 .quad -2873001962619602342 + 0x4f, 0xaa, 0x01, 0x54, 0xe0, 0xf7, 0x47, 0x3c, //0x000033b8 .quad 4343712908476262991 + 0x78, 0x5c, 0xe9, 0xe3, 0x75, 0xa7, 0x14, 0x87, //0x000033c0 .quad -8713155254278333320 + 0x72, 0x0a, 0x81, 0x34, 0xec, 0xfa, 0xac, 0x65, //0x000033c8 .quad 7326506586225052274 + 0x96, 0xb3, 0xe3, 0x5c, 0x53, 0xd1, 0xd9, 0xa8, //0x000033d0 .quad -6279758049420528746 + 0x0e, 0x4d, 0xa1, 0x41, 0xa7, 0x39, 0x18, 0x7f, //0x000033d8 .quad 9158133232781315342 + 0x7c, 0xa0, 0x1c, 0x34, 0xa8, 0x45, 0x10, 0xd3, //0x000033e0 .quad -3238011543348273028 + 0x51, 0xa0, 0x09, 0x12, 0x11, 0x48, 0xde, 0x1e, //0x000033e8 .quad 2224294504121868369 + 0x4d, 0xe4, 0x91, 0x20, 0x89, 0x2b, 0xea, 0x83, //0x000033f0 .quad -8941286242233752499 + 0x33, 0x04, 0x46, 0xab, 0x0a, 0xed, 0x4a, 0x93, //0x000033f8 .quad -7833187971778608077 + 0x60, 0x5d, 0xb6, 0x68, 0x6b, 0xb6, 0xe4, 0xa4, //0x00003400 .quad -6564921784364802720 + 0x40, 0x85, 0x17, 0x56, 0x4d, 0xa8, 0x1d, 0xf8, //0x00003408 .quad -568112927868484288 + 0xb9, 0xf4, 0xe3, 0x42, 0x06, 0xe4, 0x1d, 0xce, //0x00003410 .quad -3594466212028615495 + 0x8f, 0x66, 0x9d, 0xab, 0x60, 0x12, 0x25, 0x36, //0x00003418 .quad 3901544858591782543 + 0xf3, 0x78, 0xce, 0xe9, 0x83, 0xae, 0xd2, 0x80, //0x00003420 .quad -9164070410158966541 + 0x1a, 0x60, 0x42, 0x6b, 0x7c, 0x2b, 0xd7, 0xc1, //0x00003428 .quad -4479063491021217766 + 0x30, 0x17, 0x42, 0xe4, 0x24, 0x5a, 0x07, 0xa1, //0x00003430 .quad -6843401994271320272 + 0x20, 0xf8, 0x12, 0x86, 0x5b, 0xf6, 0x4c, 0xb2, //0x00003438 .quad -5598829363776522208 + 0xfc, 0x9c, 0x52, 0x1d, 0xae, 0x30, 0x49, 0xc9, //0x00003440 .quad -3942566474411762436 + 0x28, 0xb6, 0x97, 0x67, 0xf2, 0x33, 0xe0, 0xde, //0x00003448 .quad -2386850686293264856 + 0x3c, 0x44, 0xa7, 0xa4, 0xd9, 0x7c, 0x9b, 0xfb, //0x00003450 .quad -316522074587315140 + 0xb2, 0xa3, 0x7d, 0x01, 0xef, 0x40, 0x98, 0x16, //0x00003458 .quad 1628122660560806834 + 0xa5, 0x8a, 0xe8, 0x06, 0x08, 0x2e, 0x41, 0x9d, //0x00003460 .quad -7115355324258153819 + 0x4f, 0x86, 0xee, 0x60, 0x95, 0x28, 0x1f, 0x8e, //0x00003468 .quad -8205795374004271537 + 0x4e, 0xad, 0xa2, 0x08, 0x8a, 0x79, 0x91, 0xc4, //0x00003470 .quad -4282508136895304370 + 0xe3, 0x27, 0x2a, 0xb9, 0xba, 0xf2, 0xa6, 0xf1, //0x00003478 .quad -1033872180650563613 + 0xa2, 0x58, 0xcb, 0x8a, 0xec, 0xd7, 0xb5, 0xf5, //0x00003480 .quad -741449152691742558 + 0xdc, 0xb1, 0x74, 0x67, 0x69, 0xaf, 0x10, 0xae, //0x00003488 .quad -5904026244240592420 + 0x65, 0x17, 0xbf, 0xd6, 0xf3, 0xa6, 0x91, 0x99, //0x00003490 .quad -7380934748073420955 + 0x2a, 0xef, 0xa8, 0xe0, 0xa1, 0x6d, 0xca, 0xac, //0x00003498 .quad -5995859411864064214 + 0x3f, 0xdd, 0x6e, 0xcc, 0xb0, 0x10, 0xf6, 0xbf, //0x000034a0 .quad -4614482416664388289 + 0xf4, 0x2a, 0xd3, 0x58, 0x0a, 0x09, 0xfd, 0x17, //0x000034a8 .quad 1728547772024695540 + 0x8e, 0x94, 0x8a, 0xff, 0xdc, 0x94, 0xf3, 0xef, //0x000034b0 .quad -1156417002403097458 + 0xb1, 0xf5, 0x07, 0xef, 0x4c, 0x4b, 0xfc, 0xdd, //0x000034b8 .quad -2451001303396518479 + 0xd9, 0x9c, 0xb6, 0x1f, 0x0a, 0x3d, 0xf8, 0x95, //0x000034c0 .quad -7640289654143017767 + 0x8f, 0xf9, 0x64, 0x15, 0x10, 0xaf, 0xbd, 0x4a, //0x000034c8 .quad 5385653213018257807 + 0x0f, 0x44, 0xa4, 0xa7, 0x4c, 0x4c, 0x76, 0xbb, //0x000034d0 .quad -4938676049251384305 + 0xf2, 0x37, 0xbe, 0x1a, 0xd4, 0x1a, 0x6d, 0x9d, //0x000034d8 .quad -7102991539009341454 + 0x13, 0x55, 0x8d, 0xd1, 0x5f, 0xdf, 0x53, 0xea, //0x000034e0 .quad -1561659043136842477 + 0xee, 0xc5, 0x6d, 0x21, 0x89, 0x61, 0xc8, 0x84, //0x000034e8 .quad -8878739423761676818 + 0x2c, 0x55, 0xf8, 0xe2, 0x9b, 0x6b, 0x74, 0x92, //0x000034f0 .quad -7893565929601608404 + 0xb5, 0x9b, 0xe4, 0xb4, 0xf5, 0x3c, 0xfd, 0x32, //0x000034f8 .quad 3674159897003727797 + 0x77, 0x6a, 0xb6, 0xdb, 0x82, 0x86, 0x11, 0xb7, //0x00003500 .quad -5255271393574622601 + 0xa2, 0xc2, 0x1d, 0x22, 0x33, 0x8c, 0xbc, 0x3f, //0x00003508 .quad 4592699871254659746 + 0x15, 0x05, 0xa4, 0x92, 0x23, 0xe8, 0xd5, 0xe4, //0x00003510 .quad -1957403223540890347 + 0x4b, 0x33, 0xa5, 0xea, 0x3f, 0xaf, 0xab, 0x0f, //0x00003518 .quad 1129188820640936779 + 0x2d, 0x83, 0xa6, 0x3b, 0x16, 0xb1, 0x05, 0x8f, //0x00003520 .quad -8140906042354138323 + 0x0f, 0x40, 0xa7, 0xf2, 0x87, 0x4d, 0xcb, 0x29, //0x00003528 .quad 3011586022114279439 + 0xf8, 0x23, 0x90, 0xca, 0x5b, 0x1d, 0xc7, 0xb2, //0x00003530 .quad -5564446534515285000 + 0x13, 0x10, 0x51, 0xef, 0xe9, 0x20, 0x3e, 0x74, //0x00003538 .quad 8376168546070237203 + 0xf6, 0x2c, 0x34, 0xbd, 0xb2, 0xe4, 0x78, 0xdf, //0x00003540 .quad -2343872149716718346 + 0x17, 0x54, 0x25, 0x6b, 0x24, 0xa9, 0x4d, 0x91, //0x00003548 .quad -7976533391121755113 + 0x1a, 0x9c, 0x40, 0xb6, 0xef, 0x8e, 0xab, 0x8b, //0x00003550 .quad -8382449121214030822 + 0x8f, 0x54, 0xf7, 0xc2, 0xb6, 0x89, 0xd0, 0x1a, //0x00003558 .quad 1932195658189984911 + 0x20, 0xc3, 0xd0, 0xa3, 0xab, 0x72, 0x96, 0xae, //0x00003560 .quad -5866375383090150624 + 0xb2, 0x29, 0xb5, 0x73, 0x24, 0xac, 0x84, 0xa1, //0x00003568 .quad -6808127464117294670 + 0xe8, 0xf3, 0xc4, 0x8c, 0x56, 0x0f, 0x3c, 0xda, //0x00003570 .quad -2721283210435300376 + 0x1f, 0x74, 0xa2, 0x90, 0x2d, 0xd7, 0xe5, 0xc9, //0x00003578 .quad -3898473311719230433 + 0x71, 0x18, 0xfb, 0x17, 0x96, 0x89, 0x65, 0x88, //0x00003580 .quad -8618331034163144591 + 0x93, 0x88, 0x65, 0x7a, 0x7c, 0xa6, 0x2f, 0x7e, //0x00003588 .quad 9092669226243950739 + 0x8d, 0xde, 0xf9, 0x9d, 0xfb, 0xeb, 0x7e, 0xaa, //0x00003590 .quad -6161227774276542835 + 0xb8, 0xea, 0xfe, 0x98, 0x1b, 0x90, 0xbb, 0xdd, //0x00003598 .quad -2469221522477225288 + 0x31, 0x56, 0x78, 0x85, 0xfa, 0xa6, 0x1e, 0xd5, //0x000035a0 .quad -3089848699418290639 + 0x66, 0xa5, 0x3e, 0x7f, 0x22, 0x74, 0x2a, 0x55, //0x000035a8 .quad 6136845133758244198 + 0xde, 0x35, 0x6b, 0x93, 0x5c, 0x28, 0x33, 0x85, //0x000035b0 .quad -8848684464777513506 + 0x60, 0x27, 0x87, 0x8f, 0x95, 0x88, 0x3a, 0xd5, //0x000035b8 .quad -3082000819042179232 + 0x56, 0x03, 0x46, 0xb8, 0x73, 0xf2, 0x7f, 0xa6, //0x000035c0 .quad -6449169562544503978 + 0x38, 0xf1, 0x68, 0xf3, 0xba, 0x2a, 0x89, 0x8a, //0x000035c8 .quad -8464187042230111944 + 0x2c, 0x84, 0x57, 0xa6, 0x10, 0xef, 0x1f, 0xd0, //0x000035d0 .quad -3449775934753242068 + 0x86, 0x2d, 0x43, 0xb0, 0x69, 0x75, 0x2b, 0x2d, //0x000035d8 .quad 3254824252494523782 + 0x9b, 0xb2, 0xf6, 0x67, 0x6a, 0xf5, 0x13, 0x82, //0x000035e0 .quad -9073638986861858149 + 0x74, 0xfc, 0x29, 0x0e, 0x62, 0x29, 0x3b, 0x9c, //0x000035e8 .quad -7189106879045698444 + 0x42, 0x5f, 0xf4, 0x01, 0xc5, 0xf2, 0x98, 0xa2, //0x000035f0 .quad -6730362715149934782 + 0x90, 0x7b, 0xb4, 0x91, 0xba, 0xf3, 0x49, 0x83, //0x000035f8 .quad -8986383598807123056 + 0x13, 0x77, 0x71, 0x42, 0x76, 0x2f, 0x3f, 0xcb, //0x00003600 .quad -3801267375510030573 + 0x74, 0x9a, 0x21, 0x36, 0xa9, 0x70, 0x1c, 0x24, //0x00003608 .quad 2602078556773259892 + 0xd7, 0xd4, 0x0d, 0xd3, 0x53, 0xfb, 0x0e, 0xfe, //0x00003610 .quad -139898200960150313 + 0x11, 0x01, 0xaa, 0x83, 0xd3, 0x8c, 0x23, 0xed, //0x00003618 .quad -1359087822460813039 + 0x06, 0xa5, 0xe8, 0x63, 0x14, 0x5d, 0xc9, 0x9e, //0x00003620 .quad -7004965403241175802 + 0xab, 0x40, 0x4a, 0x32, 0x04, 0x38, 0x36, 0xf4, //0x00003628 .quad -849429889038008149 + 0x48, 0xce, 0xe2, 0x7c, 0x59, 0xb4, 0x7b, 0xc6, //0x00003630 .quad -4144520735624081848 + 0xd6, 0xd0, 0xdc, 0x3e, 0x05, 0xc6, 0x43, 0xb1, //0x00003638 .quad -5673473379724898090 + 0xda, 0x81, 0x1b, 0xdc, 0x6f, 0xa1, 0x1a, 0xf8, //0x00003640 .quad -568964901102714406 + 0x0b, 0x05, 0x94, 0x8e, 0x86, 0xb7, 0x94, 0xdd, //0x00003648 .quad -2480155706228734709 + 0x28, 0x31, 0x91, 0xe9, 0xe5, 0xa4, 0x10, 0x9b, //0x00003650 .quad -7273132090830278360 + 0x27, 0x83, 0x1c, 0x19, 0xb4, 0xf2, 0x7c, 0xca, //0x00003658 .quad -3855940325606653145 + 0x72, 0x7d, 0xf5, 0x63, 0x1f, 0xce, 0xd4, 0xc1, //0x00003660 .quad -4479729095110460046 + 0xf1, 0xa3, 0x63, 0x1f, 0x61, 0x2f, 0x1c, 0xfd, //0x00003668 .quad -208239388580928527 + 0xcf, 0xdc, 0xf2, 0x3c, 0xa7, 0x01, 0x4a, 0xf2, //0x00003670 .quad -987975350460687153 + 0xed, 0x8c, 0x3c, 0x67, 0x39, 0x3b, 0x63, 0xbc, //0x00003678 .quad -4871985254153548563 + 0x01, 0xca, 0x17, 0x86, 0x08, 0x41, 0x6e, 0x97, //0x00003680 .quad -7535013621679011327 + 0x14, 0xd8, 0x85, 0xe0, 0x03, 0x05, 0xbe, 0xd5, //0x00003688 .quad -3044990783845967852 + 0x82, 0xbc, 0x9d, 0xa7, 0x4a, 0xd1, 0x49, 0xbd, //0x00003690 .quad -4807081008671376254 + 0x19, 0x4e, 0xa7, 0xd8, 0x44, 0x86, 0x2d, 0x4b, //0x00003698 .quad 5417133557047315993 + 0xa2, 0x2b, 0x85, 0x51, 0x9d, 0x45, 0x9c, 0xec, //0x000036a0 .quad -1397165242411832414 + 0x9f, 0x21, 0xd1, 0x0e, 0xd6, 0xe7, 0xf8, 0xdd, //0x000036a8 .quad -2451955090545630817 + 0x45, 0x3b, 0xf3, 0x52, 0x82, 0xab, 0xe1, 0x93, //0x000036b0 .quad -7790757304148477115 + 0x04, 0xb5, 0x42, 0xc9, 0xe5, 0x90, 0xbb, 0xca, //0x000036b8 .quad -3838314940804713212 + 0x17, 0x0a, 0xb0, 0xe7, 0x62, 0x16, 0xda, 0xb8, //0x000036c0 .quad -5126760611758208489 + 0x44, 0x62, 0x93, 0x3b, 0x1f, 0x75, 0x6a, 0x3d, //0x000036c8 .quad 4425478360848884292 + 0x9d, 0x0c, 0x9c, 0xa1, 0xfb, 0x9b, 0x10, 0xe7, //0x000036d0 .quad -1796764746270372707 + 0xd5, 0x3a, 0x78, 0x0a, 0x67, 0x12, 0xc5, 0x0c, //0x000036d8 .quad 920161932633717461 + 0xe2, 0x87, 0x01, 0x45, 0x7d, 0x61, 0x6a, 0x90, //0x000036e0 .quad -8040506994060064798 + 0xc6, 0x24, 0x8b, 0x66, 0x80, 0x2b, 0xfb, 0x27, //0x000036e8 .quad 2880944217109767366 + 0xda, 0xe9, 0x41, 0x96, 0xdc, 0xf9, 0x84, 0xb4, //0x000036f0 .quad -5438947724147693094 + 0xf7, 0xed, 0x2d, 0x80, 0x60, 0xf6, 0xf9, 0xb1, //0x000036f8 .quad -5622191765467566601 + 0x51, 0x64, 0xd2, 0xbb, 0x53, 0x38, 0xa6, 0xe1, //0x00003700 .quad -2186998636757228463 + 0x74, 0x69, 0x39, 0xa0, 0xf8, 0x73, 0x78, 0x5e, //0x00003708 .quad 6807318348447705460 + 0xb2, 0x7e, 0x63, 0x55, 0x34, 0xe3, 0x07, 0x8d, //0x00003710 .quad -8284403175614349646 + 0xe9, 0xe1, 0x23, 0x64, 0x7b, 0x48, 0x0b, 0xdb, //0x00003718 .quad -2662955059861265943 + 0x5f, 0x5e, 0xbc, 0x6a, 0x01, 0xdc, 0x49, 0xb0, //0x00003720 .quad -5743817951090549153 + 0x63, 0xda, 0x2c, 0x3d, 0x9a, 0x1a, 0xce, 0x91, //0x00003728 .quad -7940379843253970333 + 0xf7, 0x75, 0x6b, 0xc5, 0x01, 0x53, 0x5c, 0xdc, //0x00003730 .quad -2568086420435798537 + 0xfc, 0x10, 0x78, 0xcc, 0x40, 0xa1, 0x41, 0x76, //0x00003738 .quad 8521269269642088700 + 0xba, 0x29, 0x63, 0x1b, 0xe1, 0xb3, 0xb9, 0x89, //0x00003740 .quad -8522583040413455942 + 0x9e, 0x0a, 0xcb, 0x7f, 0xc8, 0x04, 0xe9, 0xa9, //0x00003748 .quad -6203421752542164322 + 0x29, 0xf4, 0x3b, 0x62, 0xd9, 0x20, 0x28, 0xac, //0x00003750 .quad -6041542782089432023 + 0x45, 0xcd, 0xbd, 0x9f, 0xfa, 0x45, 0x63, 0x54, //0x00003758 .quad 6080780864604458309 + 0x33, 0xf1, 0xca, 0xba, 0x0f, 0x29, 0x32, 0xd7, //0x00003760 .quad -2940242459184402125 + 0x96, 0x40, 0xad, 0x47, 0x79, 0x17, 0x7c, 0xa9, //0x00003768 .quad -6234081974526590826 + 0xc0, 0xd6, 0xbe, 0xd4, 0xa9, 0x59, 0x7f, 0x86, //0x00003770 .quad -8755180564631333184 + 0x5e, 0x48, 0xcc, 0xcc, 0xab, 0x8e, 0xed, 0x49, //0x00003778 .quad 5327070802775656542 + 0x70, 0x8c, 0xee, 0x49, 0x14, 0x30, 0x1f, 0xa8, //0x00003780 .quad -6332289687361778576 + 0x75, 0x5a, 0xff, 0xbf, 0x56, 0xf2, 0x68, 0x5c, //0x00003788 .quad 6658838503469570677 + 0x8c, 0x2f, 0x6a, 0x5c, 0x19, 0xfc, 0x26, 0xd2, //0x00003790 .quad -3303676090774835316 + 0x12, 0x31, 0xff, 0x6f, 0xec, 0x2e, 0x83, 0x73, //0x00003798 .quad 8323548129336963346 + 0xb7, 0x5d, 0xc2, 0xd9, 0x8f, 0x5d, 0x58, 0x83, //0x000037a0 .quad -8982326584375353929 + 0xac, 0x7e, 0xff, 0xc5, 0x53, 0xfd, 0x31, 0xc8, //0x000037a8 .quad -4021154456019173716 + 0x25, 0xf5, 0x32, 0xd0, 0xf3, 0x74, 0x2e, 0xa4, //0x000037b0 .quad -6616222212041804507 + 0x56, 0x5e, 0x7f, 0xb7, 0xa8, 0x7c, 0x3e, 0xba, //0x000037b8 .quad -5026443070023967146 + 0x6f, 0xb2, 0x3f, 0xc4, 0x30, 0x12, 0x3a, 0xcd, //0x000037c0 .quad -3658591746624867729 + 0xec, 0x35, 0x5f, 0xe5, 0xd2, 0x1b, 0xce, 0x28, //0x000037c8 .quad 2940318199324816876 + 0x85, 0xcf, 0xa7, 0x7a, 0x5e, 0x4b, 0x44, 0x80, //0x000037d0 .quad -9204148869281624187 + 0xb4, 0x81, 0x5b, 0xcf, 0x63, 0xd1, 0x80, 0x79, //0x000037d8 .quad 8755227902219092404 + 0x66, 0xc3, 0x51, 0x19, 0x36, 0x5e, 0x55, 0xa0, //0x000037e0 .quad -6893500068174642330 + 0x20, 0x62, 0x32, 0xc3, 0xbc, 0x05, 0xe1, 0xd7, //0x000037e8 .quad -2891023177508298208 + 0x40, 0x34, 0xa6, 0x9f, 0xc3, 0xb5, 0x6a, 0xc8, //0x000037f0 .quad -4005189066790915008 + 0xa8, 0xfa, 0xfe, 0xf3, 0x2b, 0x47, 0xd9, 0x8d, //0x000037f8 .quad -8225464990312760664 + 0x50, 0xc1, 0x8f, 0x87, 0x34, 0x63, 0x85, 0xfa, //0x00003800 .quad -394800315061255856 + 0x52, 0xb9, 0xfe, 0xf0, 0xf6, 0x98, 0x4f, 0xb1, //0x00003808 .quad -5670145219463562926 + 0xd2, 0xd8, 0xb9, 0xd4, 0x00, 0x5e, 0x93, 0x9c, //0x00003810 .quad -7164279224554366766 + 0xd4, 0x33, 0x9f, 0x56, 0x9a, 0xbf, 0xd1, 0x6e, //0x00003818 .quad 7985374283903742932 + 0x07, 0x4f, 0xe8, 0x09, 0x81, 0x35, 0xb8, 0xc3, //0x00003820 .quad -4343663012265570553 + 0xc9, 0x00, 0x47, 0xec, 0x80, 0x2f, 0x86, 0x0a, //0x00003828 .quad 758345818024902857 + 0xc8, 0x62, 0x62, 0x4c, 0xe1, 0x42, 0xa6, 0xf4, //0x00003830 .quad -817892746904575288 + 0xfb, 0xc0, 0x58, 0x27, 0x61, 0xbb, 0x27, 0xcd, //0x00003838 .quad -3663753745896259333 + 0xbd, 0x7d, 0xbd, 0xcf, 0xcc, 0xe9, 0xe7, 0x98, //0x00003840 .quad -7428711994456441411 + 0x9d, 0x78, 0x97, 0xb8, 0x1c, 0xd5, 0x38, 0x80, //0x00003848 .quad -9207375118826243939 + 0x2c, 0xdd, 0xac, 0x03, 0x40, 0xe4, 0x21, 0xbf, //0x00003850 .quad -4674203974643163860 + 0xc4, 0x56, 0xbd, 0xe6, 0x63, 0x0a, 0x47, 0xe0, //0x00003858 .quad -2285846861678029116 + 0x78, 0x14, 0x98, 0x04, 0x50, 0x5d, 0xea, 0xee, //0x00003860 .quad -1231068949876566920 + 0x75, 0xac, 0x6c, 0xe0, 0xfc, 0xcc, 0x58, 0x18, //0x00003868 .quad 1754377441329851509 + 0xcb, 0x0c, 0xdf, 0x02, 0x52, 0x7a, 0x52, 0x95, //0x00003870 .quad -7686947121313936181 + 0xc9, 0xeb, 0x43, 0x0c, 0x1e, 0x80, 0x37, 0x0f, //0x00003878 .quad 1096485900831157193 + 0xfd, 0xcf, 0x96, 0x83, 0xe6, 0x18, 0xa7, 0xba, //0x00003880 .quad -4996997883215032323 + 0xbb, 0xe6, 0x54, 0x8f, 0x25, 0x60, 0x05, 0xd3, //0x00003888 .quad -3241078642388441413 + 0xfd, 0x83, 0x7c, 0x24, 0x20, 0xdf, 0x50, 0xe9, //0x00003890 .quad -1634561335591402499 + 0x6a, 0x20, 0x2a, 0xf3, 0x2e, 0xb8, 0xc6, 0x47, //0x00003898 .quad 5172023733869224042 + 0x7e, 0xd2, 0xcd, 0x16, 0x74, 0x8b, 0xd2, 0x91, //0x000038a0 .quad -7939129862385708418 + 0x42, 0x54, 0xfa, 0x57, 0x1d, 0x33, 0xdc, 0x4c, //0x000038a8 .quad 5538357842881958978 + 0x1d, 0x47, 0x81, 0x1c, 0x51, 0x2e, 0x47, 0xb6, //0x000038b0 .quad -5312226309554747619 + 0x53, 0xe9, 0xf8, 0xad, 0xe4, 0x3f, 0x13, 0xe0, //0x000038b8 .quad -2300424733252327085 + 0xe5, 0x98, 0xa1, 0x63, 0xe5, 0xf9, 0xd8, 0xe3, //0x000038c0 .quad -2028596868516046619 + 0xa7, 0x23, 0x77, 0xd9, 0xdd, 0x0f, 0x18, 0x58, //0x000038c8 .quad 6347841120289366951 + 0x8f, 0xff, 0x44, 0x5e, 0x2f, 0x9c, 0x67, 0x8e, //0x000038d0 .quad -8185402070463610993 + 0x49, 0x76, 0xea, 0xa7, 0xea, 0x09, 0x0f, 0x57, //0x000038d8 .quad 6273243709394548297 + 0x73, 0x3f, 0xd6, 0x35, 0x3b, 0x83, 0x01, 0xb2, //0x000038e0 .quad -5620066569652125837 + 0xdb, 0x13, 0xe5, 0x51, 0x65, 0xcc, 0xd2, 0x2c, //0x000038e8 .quad 3229868618315797467 + 0x4f, 0xcf, 0x4b, 0x03, 0x0a, 0xe4, 0x81, 0xde, //0x000038f0 .quad -2413397193637769393 + 0xd2, 0x58, 0x5e, 0xa6, 0x7e, 0x7f, 0x07, 0xf8, //0x000038f8 .quad -574350245532641070 + 0x91, 0x61, 0x0f, 0x42, 0x86, 0x2e, 0x11, 0x8b, //0x00003900 .quad -8425902273664687727 + 0x83, 0xf7, 0xfa, 0x27, 0xaf, 0xaf, 0x04, 0xfb, //0x00003908 .quad -358968903457900669 + 0xf6, 0x39, 0x93, 0xd2, 0x27, 0x7a, 0xd5, 0xad, //0x00003910 .quad -5920691823653471754 + 0x64, 0xb5, 0xf9, 0xf1, 0x9a, 0xdb, 0xc5, 0x79, //0x00003918 .quad 8774660907532399972 + 0x74, 0x08, 0x38, 0xc7, 0xb1, 0xd8, 0x4a, 0xd9, //0x00003920 .quad -2789178761139451788 + 0xbd, 0x22, 0x78, 0xae, 0x81, 0x52, 0x37, 0x18, //0x00003928 .quad 1744954097560724157 + 0x48, 0x05, 0x83, 0x1c, 0x6f, 0xc7, 0xce, 0x87, //0x00003930 .quad -8660765753353239224 + 0xb6, 0x15, 0x0b, 0x0d, 0x91, 0x93, 0x22, 0x8f, //0x00003938 .quad -8132775725879323210 + 0x9a, 0xc6, 0xa3, 0xe3, 0x4a, 0x79, 0xc2, 0xa9, //0x00003940 .quad -6214271173264161126 + 0x23, 0xdb, 0x4d, 0x50, 0x75, 0x38, 0xeb, 0xb2, //0x00003948 .quad -5554283638921766109 + 0x41, 0xb8, 0x8c, 0x9c, 0x9d, 0x17, 0x33, 0xd4, //0x00003950 .quad -3156152948152813503 + 0xec, 0x51, 0x61, 0xa4, 0x92, 0x06, 0xa6, 0x5f, //0x00003958 .quad 6892203506629956076 + 0x28, 0xf3, 0xd7, 0x81, 0xc2, 0xee, 0x9f, 0x84, //0x00003960 .quad -8890124620236590296 + 0x34, 0xd3, 0xbc, 0xa6, 0x1b, 0xc4, 0xc7, 0xdb, //0x00003968 .quad -2609901835997359308 + 0xf3, 0xef, 0x4d, 0x22, 0x73, 0xea, 0xc7, 0xa5, //0x00003970 .quad -6500969756868349965 + 0x01, 0x08, 0x6c, 0x90, 0x22, 0xb5, 0xb9, 0x12, //0x00003978 .quad 1349308723430688769 + 0xef, 0x6b, 0xe1, 0xea, 0x0f, 0xe5, 0x39, 0xcf, //0x00003980 .quad -3514526177658049553 + 0x01, 0x0a, 0x87, 0x34, 0x6b, 0x22, 0x68, 0xd7, //0x00003988 .quad -2925050114139026943 + 0x75, 0xe3, 0xcc, 0xf2, 0x29, 0x2f, 0x84, 0x81, //0x00003990 .quad -9114107888677362827 + 0x41, 0x66, 0xd4, 0x00, 0x83, 0x15, 0xa1, 0xe6, //0x00003998 .quad -1828156321336891839 + 0x53, 0x1c, 0x80, 0x6f, 0xf4, 0x3a, 0xe5, 0xa1, //0x000039a0 .quad -6780948842419315629 + 0xd1, 0x7f, 0x09, 0xc1, 0xe3, 0x5a, 0x49, 0x60, //0x000039a8 .quad 6938176635183661009 + 0x68, 0x23, 0x60, 0x8b, 0xb1, 0x89, 0x5e, 0xca, //0x000039b0 .quad -3864500034596756632 + 0xc5, 0xdf, 0x4b, 0xb1, 0x9c, 0xb1, 0x5b, 0x38, //0x000039b8 .quad 4061034775552188357 + 0x42, 0x2c, 0x38, 0xee, 0x1d, 0x2c, 0xf6, 0xfc, //0x000039c0 .quad -218939024818557886 + 0xb6, 0xd7, 0x9e, 0xdd, 0x03, 0x9e, 0x72, 0x46, //0x000039c8 .quad 5076293469440235446 + 0xa9, 0x1b, 0xe3, 0xb4, 0x92, 0xdb, 0x19, 0x9e, //0x000039d0 .quad -7054365918152680535 + 0xd2, 0x46, 0x83, 0x6a, 0xc2, 0xa2, 0x07, 0x6c, //0x000039d8 .quad 7784369436827535058 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/get_by_path.go b/vendor/github.com/bytedance/sonic/internal/native/avx/get_by_path.go new file mode 100644 index 0000000..facf29d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/get_by_path.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_get_by_path func(s unsafe.Pointer, p unsafe.Pointer, path unsafe.Pointer, m unsafe.Pointer) (ret int) + +var S_get_by_path uintptr + +//go:nosplit +func get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int) { + return F_get_by_path(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(path)), rt.NoEscape(unsafe.Pointer(m))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/get_by_path_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/get_by_path_subr.go new file mode 100644 index 0000000..c45a53b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/get_by_path_subr.go @@ -0,0 +1,45 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__get_by_path = 224 +) + +const ( + _stack__get_by_path = 272 +) + +const ( + _size__get_by_path = 20184 +) + +var ( + _pcsp__get_by_path = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {17077, 272}, + {17078, 264}, + {17080, 256}, + {17082, 248}, + {17084, 240}, + {17086, 232}, + {17090, 224}, + {20184, 272}, + } +) + +var _cfunc_get_by_path = []loader.CFunc{ + {"_get_by_path_entry", 0, _entry__get_by_path, 0, nil}, + {"_get_by_path", _entry__get_by_path, _size__get_by_path, _stack__get_by_path, _pcsp__get_by_path}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/get_by_path_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/get_by_path_text_amd64.go new file mode 100644 index 0000000..a2a3886 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/get_by_path_text_amd64.go @@ -0,0 +1,6049 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_get_by_path = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, // QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' + //0x00000010 LCPI0_1 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000010 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000020 LCPI0_2 + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, //0x00000020 QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' + //0x00000030 LCPI0_3 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000030 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000040 LCPI0_4 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000040 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000050 LCPI0_5 + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, //0x00000050 QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' + //0x00000060 LCPI0_6 + 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, //0x00000060 QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' + //0x00000070 LCPI0_7 + 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, //0x00000070 QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' + //0x00000080 LCPI0_8 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000080 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000090 LCPI0_9 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000090 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x000000a0 LCPI0_10 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x000000a0 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x000000b0 LCPI0_11 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x000000b0 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x000000c0 LCPI0_12 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x000000c0 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x000000d0 LCPI0_13 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000000d0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000000e0 .p2align 4, 0x90 + //0x000000e0 _get_by_path + 0x55, //0x000000e0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000000e1 movq %rsp, %rbp + 0x41, 0x57, //0x000000e4 pushq %r15 + 0x41, 0x56, //0x000000e6 pushq %r14 + 0x41, 0x55, //0x000000e8 pushq %r13 + 0x41, 0x54, //0x000000ea pushq %r12 + 0x53, //0x000000ec pushq %rbx + 0x48, 0x81, 0xec, 0xe0, 0x00, 0x00, 0x00, //0x000000ed subq $224, %rsp + 0x49, 0x89, 0xf0, //0x000000f4 movq %rsi, %r8 + 0x49, 0x89, 0xff, //0x000000f7 movq %rdi, %r15 + 0x48, 0x8b, 0x42, 0x08, //0x000000fa movq $8(%rdx), %rax + 0x48, 0x85, 0xc0, //0x000000fe testq %rax, %rax + 0x48, 0x89, 0x74, 0x24, 0x18, //0x00000101 movq %rsi, $24(%rsp) + 0x48, 0x89, 0x7c, 0x24, 0x28, //0x00000106 movq %rdi, $40(%rsp) + 0x48, 0x89, 0x4c, 0x24, 0x40, //0x0000010b movq %rcx, $64(%rsp) + 0x0f, 0x84, 0xb4, 0x2a, 0x00, 0x00, //0x00000110 je LBB0_447 + 0x4c, 0x8b, 0x2a, //0x00000116 movq (%rdx), %r13 + 0x48, 0xc1, 0xe0, 0x04, //0x00000119 shlq $4, %rax + 0x4c, 0x01, 0xe8, //0x0000011d addq %r13, %rax + 0x48, 0x89, 0x84, 0x24, 0xc0, 0x00, 0x00, 0x00, //0x00000120 movq %rax, $192(%rsp) + 0x4d, 0x8d, 0x5f, 0x08, //0x00000128 leaq $8(%r15), %r11 + 0x49, 0x8b, 0x3f, //0x0000012c movq (%r15), %rdi + 0x49, 0x8b, 0x00, //0x0000012f movq (%r8), %rax + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000132 movabsq $4294977024, %r9 + 0xc5, 0xfa, 0x6f, 0x05, 0xec, 0xfe, 0xff, 0xff, //0x0000013c vmovdqu $-276(%rip), %xmm0 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0xf4, 0xfe, 0xff, 0xff, //0x00000144 vmovdqu $-268(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x35, 0xac, 0xfe, 0xff, 0xff, //0x0000014c vmovdqu $-340(%rip), %xmm14 /* LCPI0_0+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x3d, 0xb4, 0xfe, 0xff, 0xff, //0x00000154 vmovdqu $-332(%rip), %xmm15 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x25, 0xbc, 0xfe, 0xff, 0xff, //0x0000015c vmovdqu $-324(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc4, 0x41, 0x31, 0x76, 0xc9, //0x00000164 vpcmpeqd %xmm9, %xmm9, %xmm9 + 0xc5, 0x7a, 0x6f, 0x15, 0xef, 0xfe, 0xff, 0xff, //0x00000169 vmovdqu $-273(%rip), %xmm10 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x1d, 0xf7, 0xfe, 0xff, 0xff, //0x00000171 vmovdqu $-265(%rip), %xmm11 /* LCPI0_7+0(%rip) */ + 0xc4, 0x41, 0x39, 0xef, 0xc0, //0x00000179 vpxor %xmm8, %xmm8, %xmm8 + 0xc5, 0x7a, 0x6f, 0x25, 0xca, 0xfe, 0xff, 0xff, //0x0000017e vmovdqu $-310(%rip), %xmm12 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x2d, 0x92, 0xfe, 0xff, 0xff, //0x00000186 vmovdqu $-366(%rip), %xmm13 /* LCPI0_2+0(%rip) */ + 0x4c, 0x89, 0x5c, 0x24, 0x38, //0x0000018e movq %r11, $56(%rsp) + //0x00000193 LBB0_2 + 0x49, 0x8b, 0x0b, //0x00000193 movq (%r11), %rcx + 0x48, 0x89, 0xc2, //0x00000196 movq %rax, %rdx + 0x48, 0x29, 0xca, //0x00000199 subq %rcx, %rdx + 0x0f, 0x83, 0x2e, 0x00, 0x00, 0x00, //0x0000019c jae LBB0_7 + 0x8a, 0x1c, 0x07, //0x000001a2 movb (%rdi,%rax), %bl + 0x80, 0xfb, 0x0d, //0x000001a5 cmpb $13, %bl + 0x0f, 0x84, 0x22, 0x00, 0x00, 0x00, //0x000001a8 je LBB0_7 + 0x80, 0xfb, 0x20, //0x000001ae cmpb $32, %bl + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000001b1 je LBB0_7 + 0x80, 0xc3, 0xf7, //0x000001b7 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000001ba cmpb $1, %bl + 0x0f, 0x86, 0x0d, 0x00, 0x00, 0x00, //0x000001bd jbe LBB0_7 + 0x48, 0x89, 0xc6, //0x000001c3 movq %rax, %rsi + 0xe9, 0x35, 0x01, 0x00, 0x00, //0x000001c6 jmp LBB0_27 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001cb .p2align 4, 0x90 + //0x000001d0 LBB0_7 + 0x48, 0x8d, 0x70, 0x01, //0x000001d0 leaq $1(%rax), %rsi + 0x48, 0x39, 0xce, //0x000001d4 cmpq %rcx, %rsi + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000001d7 jae LBB0_11 + 0x8a, 0x1c, 0x37, //0x000001dd movb (%rdi,%rsi), %bl + 0x80, 0xfb, 0x0d, //0x000001e0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000001e3 je LBB0_11 + 0x80, 0xfb, 0x20, //0x000001e9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000001ec je LBB0_11 + 0x80, 0xc3, 0xf7, //0x000001f2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000001f5 cmpb $1, %bl + 0x0f, 0x87, 0x02, 0x01, 0x00, 0x00, //0x000001f8 ja LBB0_27 + 0x90, 0x90, //0x000001fe .p2align 4, 0x90 + //0x00000200 LBB0_11 + 0x48, 0x8d, 0x70, 0x02, //0x00000200 leaq $2(%rax), %rsi + 0x48, 0x39, 0xce, //0x00000204 cmpq %rcx, %rsi + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000207 jae LBB0_15 + 0x8a, 0x1c, 0x37, //0x0000020d movb (%rdi,%rsi), %bl + 0x80, 0xfb, 0x0d, //0x00000210 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000213 je LBB0_15 + 0x80, 0xfb, 0x20, //0x00000219 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000021c je LBB0_15 + 0x80, 0xc3, 0xf7, //0x00000222 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000225 cmpb $1, %bl + 0x0f, 0x87, 0xd2, 0x00, 0x00, 0x00, //0x00000228 ja LBB0_27 + 0x90, 0x90, //0x0000022e .p2align 4, 0x90 + //0x00000230 LBB0_15 + 0x48, 0x8d, 0x70, 0x03, //0x00000230 leaq $3(%rax), %rsi + 0x48, 0x39, 0xce, //0x00000234 cmpq %rcx, %rsi + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000237 jae LBB0_19 + 0x8a, 0x1c, 0x37, //0x0000023d movb (%rdi,%rsi), %bl + 0x80, 0xfb, 0x0d, //0x00000240 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000243 je LBB0_19 + 0x80, 0xfb, 0x20, //0x00000249 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000024c je LBB0_19 + 0x80, 0xc3, 0xf7, //0x00000252 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000255 cmpb $1, %bl + 0x0f, 0x87, 0xa2, 0x00, 0x00, 0x00, //0x00000258 ja LBB0_27 + 0x90, 0x90, //0x0000025e .p2align 4, 0x90 + //0x00000260 LBB0_19 + 0x4c, 0x8d, 0x50, 0x04, //0x00000260 leaq $4(%rax), %r10 + 0x4c, 0x39, 0xd1, //0x00000264 cmpq %r10, %rcx + 0x0f, 0x86, 0x63, 0x00, 0x00, 0x00, //0x00000267 jbe LBB0_834 + 0x4c, 0x39, 0xd1, //0x0000026d cmpq %r10, %rcx + 0x0f, 0x84, 0x71, 0x00, 0x00, 0x00, //0x00000270 je LBB0_26 + 0x4c, 0x8d, 0x14, 0x0f, //0x00000276 leaq (%rdi,%rcx), %r10 + 0x48, 0x83, 0xc2, 0x04, //0x0000027a addq $4, %rdx + 0x48, 0x89, 0xfb, //0x0000027e movq %rdi, %rbx + 0x48, 0x8d, 0x74, 0x07, 0x05, //0x00000281 leaq $5(%rdi,%rax), %rsi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000286 .p2align 4, 0x90 + //0x00000290 LBB0_22 + 0x0f, 0xbe, 0x7e, 0xff, //0x00000290 movsbl $-1(%rsi), %edi + 0x83, 0xff, 0x20, //0x00000294 cmpl $32, %edi + 0x0f, 0x87, 0x7f, 0x00, 0x00, 0x00, //0x00000297 ja LBB0_28 + 0x49, 0x0f, 0xa3, 0xf9, //0x0000029d btq %rdi, %r9 + 0x0f, 0x83, 0x75, 0x00, 0x00, 0x00, //0x000002a1 jae LBB0_28 + 0x48, 0xff, 0xc6, //0x000002a7 incq %rsi + 0x48, 0xff, 0xc2, //0x000002aa incq %rdx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x000002ad jne LBB0_22 + 0x48, 0x89, 0xdf, //0x000002b3 movq %rbx, %rdi + 0x49, 0x29, 0xfa, //0x000002b6 subq %rdi, %r10 + 0x4c, 0x89, 0xd6, //0x000002b9 movq %r10, %rsi + 0x48, 0x39, 0xce, //0x000002bc cmpq %rcx, %rsi + 0x0f, 0x82, 0x3b, 0x00, 0x00, 0x00, //0x000002bf jb LBB0_27 + 0xe9, 0x67, 0x00, 0x00, 0x00, //0x000002c5 jmp LBB0_29 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002ca .p2align 4, 0x90 + //0x000002d0 LBB0_834 + 0x4d, 0x89, 0x10, //0x000002d0 movq %r10, (%r8) + 0x31, 0xc9, //0x000002d3 xorl %ecx, %ecx + 0x49, 0x8b, 0x45, 0x00, //0x000002d5 movq (%r13), %rax + 0x48, 0x85, 0xc0, //0x000002d9 testq %rax, %rax + 0x0f, 0x85, 0x6e, 0x00, 0x00, 0x00, //0x000002dc jne LBB0_30 + 0xe9, 0x82, 0x40, 0x00, 0x00, //0x000002e2 jmp LBB0_835 + //0x000002e7 LBB0_26 + 0x49, 0x01, 0xfa, //0x000002e7 addq %rdi, %r10 + 0x49, 0x29, 0xfa, //0x000002ea subq %rdi, %r10 + 0x4c, 0x89, 0xd6, //0x000002ed movq %r10, %rsi + 0x48, 0x39, 0xce, //0x000002f0 cmpq %rcx, %rsi + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x000002f3 jae LBB0_29 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002f9 .p2align 4, 0x90 + //0x00000300 LBB0_27 + 0x4c, 0x8d, 0x56, 0x01, //0x00000300 leaq $1(%rsi), %r10 + 0x4d, 0x89, 0x10, //0x00000304 movq %r10, (%r8) + 0x8a, 0x0c, 0x37, //0x00000307 movb (%rdi,%rsi), %cl + 0x49, 0x8b, 0x45, 0x00, //0x0000030a movq (%r13), %rax + 0x48, 0x85, 0xc0, //0x0000030e testq %rax, %rax + 0x0f, 0x85, 0x39, 0x00, 0x00, 0x00, //0x00000311 jne LBB0_30 + 0xe9, 0x4d, 0x40, 0x00, 0x00, //0x00000317 jmp LBB0_835 + //0x0000031c LBB0_28 + 0x48, 0x89, 0xdf, //0x0000031c movq %rbx, %rdi + 0x48, 0x89, 0xda, //0x0000031f movq %rbx, %rdx + 0x48, 0xf7, 0xd2, //0x00000322 notq %rdx + 0x48, 0x01, 0xd6, //0x00000325 addq %rdx, %rsi + 0x48, 0x39, 0xce, //0x00000328 cmpq %rcx, %rsi + 0x0f, 0x82, 0xcf, 0xff, 0xff, 0xff, //0x0000032b jb LBB0_27 + //0x00000331 LBB0_29 + 0x31, 0xc9, //0x00000331 xorl %ecx, %ecx + 0x49, 0x89, 0xc2, //0x00000333 movq %rax, %r10 + 0x49, 0x8b, 0x45, 0x00, //0x00000336 movq (%r13), %rax + 0x48, 0x85, 0xc0, //0x0000033a testq %rax, %rax + 0x0f, 0x84, 0x26, 0x40, 0x00, 0x00, //0x0000033d je LBB0_835 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000343 .p2align 4, 0x90 + //0x00000350 LBB0_30 + 0x8a, 0x40, 0x17, //0x00000350 movb $23(%rax), %al + 0x24, 0x1f, //0x00000353 andb $31, %al + 0x3c, 0x02, //0x00000355 cmpb $2, %al + 0x0f, 0x84, 0x23, 0x00, 0x00, 0x00, //0x00000357 je LBB0_343 + 0x3c, 0x18, //0x0000035d cmpb $24, %al + 0x0f, 0x85, 0x04, 0x40, 0x00, 0x00, //0x0000035f jne LBB0_835 + 0x80, 0xf9, 0x7b, //0x00000365 cmpb $123, %cl + 0x4c, 0x89, 0x6c, 0x24, 0x58, //0x00000368 movq %r13, $88(%rsp) + 0x0f, 0x84, 0x91, 0x00, 0x00, 0x00, //0x0000036d je LBB0_33 + 0xe9, 0x09, 0x40, 0x00, 0x00, //0x00000373 jmp LBB0_837 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000378 .p2align 4, 0x90 + //0x00000380 LBB0_343 + 0x80, 0xf9, 0x5b, //0x00000380 cmpb $91, %cl + 0x0f, 0x85, 0xf8, 0x3f, 0x00, 0x00, //0x00000383 jne LBB0_837 + 0x49, 0x8b, 0x45, 0x08, //0x00000389 movq $8(%r13), %rax + 0x4c, 0x8b, 0x30, //0x0000038d movq (%rax), %r14 + 0x4d, 0x85, 0xf6, //0x00000390 testq %r14, %r14 + 0x0f, 0x88, 0xd0, 0x3f, 0x00, 0x00, //0x00000393 js LBB0_835 + 0x49, 0x8b, 0x03, //0x00000399 movq (%r11), %rax + 0x4c, 0x89, 0xd1, //0x0000039c movq %r10, %rcx + 0x48, 0x29, 0xc1, //0x0000039f subq %rax, %rcx + 0x0f, 0x83, 0xb8, 0x19, 0x00, 0x00, //0x000003a2 jae LBB0_350 + 0x42, 0x8a, 0x14, 0x17, //0x000003a8 movb (%rdi,%r10), %dl + 0x80, 0xfa, 0x0d, //0x000003ac cmpb $13, %dl + 0x0f, 0x84, 0xab, 0x19, 0x00, 0x00, //0x000003af je LBB0_350 + 0x80, 0xfa, 0x20, //0x000003b5 cmpb $32, %dl + 0x0f, 0x84, 0xa2, 0x19, 0x00, 0x00, //0x000003b8 je LBB0_350 + 0x80, 0xc2, 0xf7, //0x000003be addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000003c1 cmpb $1, %dl + 0x0f, 0x86, 0x96, 0x19, 0x00, 0x00, //0x000003c4 jbe LBB0_350 + 0x4c, 0x89, 0xd2, //0x000003ca movq %r10, %rdx + 0xe9, 0xbf, 0x1a, 0x00, 0x00, //0x000003cd jmp LBB0_372 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003d2 .p2align 4, 0x90 + //0x000003e0 LBB0_246 + 0x48, 0x01, 0xfe, //0x000003e0 addq %rdi, %rsi + 0x48, 0x29, 0xfe, //0x000003e3 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x000003e6 movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x000003e9 cmpq %rax, %rdx + 0x0f, 0x83, 0x8f, 0x3f, 0x00, 0x00, //0x000003ec jae LBB0_837 + //0x000003f2 LBB0_248 + 0x4c, 0x8d, 0x52, 0x01, //0x000003f2 leaq $1(%rdx), %r10 + 0x4d, 0x89, 0x10, //0x000003f6 movq %r10, (%r8) + 0x8a, 0x04, 0x17, //0x000003f9 movb (%rdi,%rdx), %al + 0x3c, 0x2c, //0x000003fc cmpb $44, %al + 0x0f, 0x85, 0x2f, 0x3f, 0x00, 0x00, //0x000003fe jne LBB0_249 + //0x00000404 LBB0_33 + 0x49, 0x8b, 0x03, //0x00000404 movq (%r11), %rax + 0x4c, 0x89, 0xd1, //0x00000407 movq %r10, %rcx + 0x48, 0x29, 0xc1, //0x0000040a subq %rax, %rcx + 0x48, 0x89, 0x7c, 0x24, 0x20, //0x0000040d movq %rdi, $32(%rsp) + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x00000412 jae LBB0_38 + 0x42, 0x8a, 0x14, 0x17, //0x00000418 movb (%rdi,%r10), %dl + 0x80, 0xfa, 0x0d, //0x0000041c cmpb $13, %dl + 0x0f, 0x84, 0x2b, 0x00, 0x00, 0x00, //0x0000041f je LBB0_38 + 0x80, 0xfa, 0x20, //0x00000425 cmpb $32, %dl + 0x0f, 0x84, 0x22, 0x00, 0x00, 0x00, //0x00000428 je LBB0_38 + 0x80, 0xc2, 0xf7, //0x0000042e addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000431 cmpb $1, %dl + 0x0f, 0x86, 0x16, 0x00, 0x00, 0x00, //0x00000434 jbe LBB0_38 + 0x4c, 0x89, 0xd2, //0x0000043a movq %r10, %rdx + 0xe9, 0x45, 0x01, 0x00, 0x00, //0x0000043d jmp LBB0_59 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000442 .p2align 4, 0x90 + //0x00000450 LBB0_38 + 0x49, 0x8d, 0x52, 0x01, //0x00000450 leaq $1(%r10), %rdx + 0x48, 0x39, 0xc2, //0x00000454 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000457 jae LBB0_42 + 0x8a, 0x1c, 0x17, //0x0000045d movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00000460 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000463 je LBB0_42 + 0x80, 0xfb, 0x20, //0x00000469 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000046c je LBB0_42 + 0x80, 0xc3, 0xf7, //0x00000472 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000475 cmpb $1, %bl + 0x0f, 0x87, 0x09, 0x01, 0x00, 0x00, //0x00000478 ja LBB0_59 + 0x90, 0x90, //0x0000047e .p2align 4, 0x90 + //0x00000480 LBB0_42 + 0x49, 0x8d, 0x52, 0x02, //0x00000480 leaq $2(%r10), %rdx + 0x48, 0x39, 0xc2, //0x00000484 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000487 jae LBB0_46 + 0x8a, 0x1c, 0x17, //0x0000048d movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00000490 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000493 je LBB0_46 + 0x80, 0xfb, 0x20, //0x00000499 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000049c je LBB0_46 + 0x80, 0xc3, 0xf7, //0x000004a2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000004a5 cmpb $1, %bl + 0x0f, 0x87, 0xd9, 0x00, 0x00, 0x00, //0x000004a8 ja LBB0_59 + 0x90, 0x90, //0x000004ae .p2align 4, 0x90 + //0x000004b0 LBB0_46 + 0x49, 0x8d, 0x52, 0x03, //0x000004b0 leaq $3(%r10), %rdx + 0x48, 0x39, 0xc2, //0x000004b4 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000004b7 jae LBB0_50 + 0x8a, 0x1c, 0x17, //0x000004bd movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x000004c0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000004c3 je LBB0_50 + 0x80, 0xfb, 0x20, //0x000004c9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000004cc je LBB0_50 + 0x80, 0xc3, 0xf7, //0x000004d2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000004d5 cmpb $1, %bl + 0x0f, 0x87, 0xa9, 0x00, 0x00, 0x00, //0x000004d8 ja LBB0_59 + 0x90, 0x90, //0x000004de .p2align 4, 0x90 + //0x000004e0 LBB0_50 + 0x49, 0x8d, 0x72, 0x04, //0x000004e0 leaq $4(%r10), %rsi + 0x48, 0x39, 0xf0, //0x000004e4 cmpq %rsi, %rax + 0x0f, 0x86, 0x9d, 0x28, 0x00, 0x00, //0x000004e7 jbe LBB0_550 + 0x48, 0x39, 0xf0, //0x000004ed cmpq %rsi, %rax + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x000004f0 je LBB0_57 + 0x48, 0x8d, 0x34, 0x07, //0x000004f6 leaq (%rdi,%rax), %rsi + 0x48, 0x83, 0xc1, 0x04, //0x000004fa addq $4, %rcx + 0x4a, 0x8d, 0x54, 0x17, 0x05, //0x000004fe leaq $5(%rdi,%r10), %rdx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000503 .p2align 4, 0x90 + //0x00000510 LBB0_53 + 0x0f, 0xbe, 0x7a, 0xff, //0x00000510 movsbl $-1(%rdx), %edi + 0x83, 0xff, 0x20, //0x00000514 cmpl $32, %edi + 0x0f, 0x87, 0x53, 0x00, 0x00, 0x00, //0x00000517 ja LBB0_58 + 0x49, 0x0f, 0xa3, 0xf9, //0x0000051d btq %rdi, %r9 + 0x0f, 0x83, 0x49, 0x00, 0x00, 0x00, //0x00000521 jae LBB0_58 + 0x48, 0xff, 0xc2, //0x00000527 incq %rdx + 0x48, 0xff, 0xc1, //0x0000052a incq %rcx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x0000052d jne LBB0_53 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00000533 movq $32(%rsp), %rdi + 0x48, 0x29, 0xfe, //0x00000538 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x0000053b movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x0000053e cmpq %rax, %rdx + 0x0f, 0x82, 0x40, 0x00, 0x00, 0x00, //0x00000541 jb LBB0_59 + 0xe9, 0x35, 0x3e, 0x00, 0x00, //0x00000547 jmp LBB0_837 + 0x90, 0x90, 0x90, 0x90, //0x0000054c .p2align 4, 0x90 + //0x00000550 LBB0_57 + 0x48, 0x01, 0xfe, //0x00000550 addq %rdi, %rsi + 0x48, 0x29, 0xfe, //0x00000553 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x00000556 movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x00000559 cmpq %rax, %rdx + 0x0f, 0x82, 0x25, 0x00, 0x00, 0x00, //0x0000055c jb LBB0_59 + 0xe9, 0x1a, 0x3e, 0x00, 0x00, //0x00000562 jmp LBB0_837 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000567 .p2align 4, 0x90 + //0x00000570 LBB0_58 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00000570 movq $32(%rsp), %rdi + 0x48, 0x89, 0xf9, //0x00000575 movq %rdi, %rcx + 0x48, 0xf7, 0xd1, //0x00000578 notq %rcx + 0x48, 0x01, 0xca, //0x0000057b addq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x0000057e cmpq %rax, %rdx + 0x0f, 0x83, 0xfa, 0x3d, 0x00, 0x00, //0x00000581 jae LBB0_837 + //0x00000587 LBB0_59 + 0x4c, 0x8d, 0x52, 0x01, //0x00000587 leaq $1(%rdx), %r10 + 0x4d, 0x89, 0x10, //0x0000058b movq %r10, (%r8) + 0x8a, 0x04, 0x17, //0x0000058e movb (%rdi,%rdx), %al + 0x3c, 0x22, //0x00000591 cmpb $34, %al + 0x0f, 0x85, 0x9a, 0x3d, 0x00, 0x00, //0x00000593 jne LBB0_249 + 0x49, 0x8b, 0x33, //0x00000599 movq (%r11), %rsi + 0x48, 0x89, 0xf1, //0x0000059c movq %rsi, %rcx + 0x4c, 0x29, 0xd1, //0x0000059f subq %r10, %rcx + 0x0f, 0x84, 0x8f, 0x47, 0x00, 0x00, //0x000005a2 je LBB0_936 + 0x49, 0x8b, 0x45, 0x08, //0x000005a8 movq $8(%r13), %rax + 0x4c, 0x8b, 0x20, //0x000005ac movq (%rax), %r12 + 0x48, 0x8b, 0x40, 0x08, //0x000005af movq $8(%rax), %rax + 0x48, 0x89, 0x44, 0x24, 0x48, //0x000005b3 movq %rax, $72(%rsp) + 0x49, 0x01, 0xfa, //0x000005b8 addq %rdi, %r10 + 0x48, 0x83, 0xf9, 0x40, //0x000005bb cmpq $64, %rcx + 0x4c, 0x89, 0x94, 0x24, 0xb0, 0x00, 0x00, 0x00, //0x000005bf movq %r10, $176(%rsp) + 0x48, 0x89, 0xb4, 0x24, 0xb8, 0x00, 0x00, 0x00, //0x000005c7 movq %rsi, $184(%rsp) + 0x0f, 0x82, 0x0c, 0x11, 0x00, 0x00, //0x000005cf jb LBB0_105 + 0x4c, 0x89, 0x64, 0x24, 0x30, //0x000005d5 movq %r12, $48(%rsp) + 0x89, 0xc8, //0x000005da movl %ecx, %eax + 0x83, 0xe0, 0x3f, //0x000005dc andl $63, %eax + 0x48, 0x89, 0x84, 0x24, 0xa8, 0x00, 0x00, 0x00, //0x000005df movq %rax, $168(%rsp) + 0x48, 0x29, 0xd6, //0x000005e7 subq %rdx, %rsi + 0x48, 0x83, 0xc6, 0xbf, //0x000005ea addq $-65, %rsi + 0x48, 0x83, 0xe6, 0xc0, //0x000005ee andq $-64, %rsi + 0x48, 0x01, 0xd6, //0x000005f2 addq %rdx, %rsi + 0x48, 0x8d, 0x44, 0x37, 0x41, //0x000005f5 leaq $65(%rdi,%rsi), %rax + 0x48, 0x89, 0x44, 0x24, 0x50, //0x000005fa movq %rax, $80(%rsp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000005ff movq $-1, %r8 + 0x4c, 0x89, 0xd6, //0x00000606 movq %r10, %rsi + 0x31, 0xdb, //0x00000609 xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000060b .p2align 4, 0x90 + //0x00000610 LBB0_63 + 0xc5, 0xfa, 0x6f, 0x16, //0x00000610 vmovdqu (%rsi), %xmm2 + 0xc5, 0xfa, 0x6f, 0x6e, 0x10, //0x00000614 vmovdqu $16(%rsi), %xmm5 + 0xc5, 0xfa, 0x6f, 0x76, 0x20, //0x00000619 vmovdqu $32(%rsi), %xmm6 + 0xc5, 0xfa, 0x6f, 0x7e, 0x30, //0x0000061e vmovdqu $48(%rsi), %xmm7 + 0xc5, 0xe9, 0x74, 0xd8, //0x00000623 vpcmpeqb %xmm0, %xmm2, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x00000627 vpmovmskb %xmm3, %edi + 0xc5, 0xd1, 0x74, 0xd8, //0x0000062b vpcmpeqb %xmm0, %xmm5, %xmm3 + 0xc5, 0x79, 0xd7, 0xe3, //0x0000062f vpmovmskb %xmm3, %r12d + 0xc5, 0xc9, 0x74, 0xd8, //0x00000633 vpcmpeqb %xmm0, %xmm6, %xmm3 + 0xc5, 0x79, 0xd7, 0xeb, //0x00000637 vpmovmskb %xmm3, %r13d + 0xc5, 0xc1, 0x74, 0xd8, //0x0000063b vpcmpeqb %xmm0, %xmm7, %xmm3 + 0xc5, 0x79, 0xd7, 0xfb, //0x0000063f vpmovmskb %xmm3, %r15d + 0xc5, 0xe9, 0x74, 0xd1, //0x00000643 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xca, //0x00000647 vpmovmskb %xmm2, %r9d + 0xc5, 0xd1, 0x74, 0xd1, //0x0000064b vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x0000064f vpmovmskb %xmm2, %r14d + 0xc5, 0xc9, 0x74, 0xd1, //0x00000653 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xda, //0x00000657 vpmovmskb %xmm2, %r11d + 0xc5, 0xc1, 0x74, 0xd1, //0x0000065b vpcmpeqb %xmm1, %xmm7, %xmm2 + 0xc5, 0x79, 0xd7, 0xd2, //0x0000065f vpmovmskb %xmm2, %r10d + 0x49, 0xc1, 0xe7, 0x30, //0x00000663 shlq $48, %r15 + 0x49, 0xc1, 0xe5, 0x20, //0x00000667 shlq $32, %r13 + 0x49, 0xc1, 0xe4, 0x10, //0x0000066b shlq $16, %r12 + 0x4c, 0x09, 0xe7, //0x0000066f orq %r12, %rdi + 0x4c, 0x09, 0xef, //0x00000672 orq %r13, %rdi + 0x49, 0xc1, 0xe2, 0x30, //0x00000675 shlq $48, %r10 + 0x49, 0xc1, 0xe3, 0x20, //0x00000679 shlq $32, %r11 + 0x49, 0xc1, 0xe6, 0x10, //0x0000067d shlq $16, %r14 + 0x4d, 0x09, 0xf1, //0x00000681 orq %r14, %r9 + 0x4d, 0x09, 0xd9, //0x00000684 orq %r11, %r9 + 0x4d, 0x09, 0xd1, //0x00000687 orq %r10, %r9 + 0x49, 0x83, 0xf8, 0xff, //0x0000068a cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000068e jne LBB0_65 + 0x4d, 0x85, 0xc9, //0x00000694 testq %r9, %r9 + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000697 jne LBB0_74 + //0x0000069d LBB0_65 + 0x4c, 0x09, 0xff, //0x0000069d orq %r15, %rdi + 0x4c, 0x89, 0xc8, //0x000006a0 movq %r9, %rax + 0x48, 0x09, 0xd8, //0x000006a3 orq %rbx, %rax + 0x0f, 0x85, 0x3e, 0x00, 0x00, 0x00, //0x000006a6 jne LBB0_75 + //0x000006ac LBB0_66 + 0x48, 0x85, 0xff, //0x000006ac testq %rdi, %rdi + 0x0f, 0x85, 0x8b, 0x00, 0x00, 0x00, //0x000006af jne LBB0_76 + //0x000006b5 LBB0_67 + 0x48, 0x83, 0xc1, 0xc0, //0x000006b5 addq $-64, %rcx + 0x48, 0x83, 0xc6, 0x40, //0x000006b9 addq $64, %rsi + 0x48, 0x83, 0xf9, 0x3f, //0x000006bd cmpq $63, %rcx + 0x0f, 0x87, 0x49, 0xff, 0xff, 0xff, //0x000006c1 ja LBB0_63 + 0xe9, 0x53, 0x0f, 0x00, 0x00, //0x000006c7 jmp LBB0_68 + //0x000006cc LBB0_74 + 0x49, 0x89, 0xf2, //0x000006cc movq %rsi, %r10 + 0x4c, 0x2b, 0x54, 0x24, 0x20, //0x000006cf subq $32(%rsp), %r10 + 0x4d, 0x0f, 0xbc, 0xc1, //0x000006d4 bsfq %r9, %r8 + 0x4d, 0x01, 0xd0, //0x000006d8 addq %r10, %r8 + 0x4c, 0x09, 0xff, //0x000006db orq %r15, %rdi + 0x4c, 0x89, 0xc8, //0x000006de movq %r9, %rax + 0x48, 0x09, 0xd8, //0x000006e1 orq %rbx, %rax + 0x0f, 0x84, 0xc2, 0xff, 0xff, 0xff, //0x000006e4 je LBB0_66 + //0x000006ea LBB0_75 + 0x49, 0x89, 0xdb, //0x000006ea movq %rbx, %r11 + 0x49, 0xf7, 0xd3, //0x000006ed notq %r11 + 0x4d, 0x21, 0xcb, //0x000006f0 andq %r9, %r11 + 0x4f, 0x8d, 0x14, 0x1b, //0x000006f3 leaq (%r11,%r11), %r10 + 0x49, 0x09, 0xda, //0x000006f7 orq %rbx, %r10 + 0x4d, 0x89, 0xd6, //0x000006fa movq %r10, %r14 + 0x49, 0xf7, 0xd6, //0x000006fd notq %r14 + 0x4d, 0x21, 0xce, //0x00000700 andq %r9, %r14 + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000703 movabsq $-6148914691236517206, %rbx + 0x49, 0x21, 0xde, //0x0000070d andq %rbx, %r14 + 0x31, 0xdb, //0x00000710 xorl %ebx, %ebx + 0x4d, 0x01, 0xde, //0x00000712 addq %r11, %r14 + 0x0f, 0x92, 0xc3, //0x00000715 setb %bl + 0x4d, 0x01, 0xf6, //0x00000718 addq %r14, %r14 + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x0000071b movabsq $6148914691236517205, %rax + 0x49, 0x31, 0xc6, //0x00000725 xorq %rax, %r14 + 0x4d, 0x21, 0xd6, //0x00000728 andq %r10, %r14 + 0x49, 0xf7, 0xd6, //0x0000072b notq %r14 + 0x4c, 0x21, 0xf7, //0x0000072e andq %r14, %rdi + 0x48, 0x85, 0xff, //0x00000731 testq %rdi, %rdi + 0x0f, 0x84, 0x7b, 0xff, 0xff, 0xff, //0x00000734 je LBB0_67 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000073a .p2align 4, 0x90 + //0x00000740 LBB0_76 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000740 bsfq %rdi, %rax + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00000744 movq $32(%rsp), %rdi + 0x48, 0x29, 0xfe, //0x00000749 subq %rdi, %rsi + 0x4c, 0x8d, 0x54, 0x06, 0x01, //0x0000074c leaq $1(%rsi,%rax), %r10 + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x00000751 movq $40(%rsp), %r15 + 0x4c, 0x8b, 0x6c, 0x24, 0x58, //0x00000756 movq $88(%rsp), %r13 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x0000075b movq $56(%rsp), %r11 + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000760 movabsq $4294977024, %r9 + 0x4c, 0x8b, 0x64, 0x24, 0x30, //0x0000076a movq $48(%rsp), %r12 + 0x48, 0x8b, 0x74, 0x24, 0x48, //0x0000076f movq $72(%rsp), %rsi + 0x4d, 0x85, 0xd2, //0x00000774 testq %r10, %r10 + 0x48, 0x8b, 0x9c, 0x24, 0xb0, 0x00, 0x00, 0x00, //0x00000777 movq $176(%rsp), %rbx + 0x0f, 0x88, 0xba, 0x45, 0x00, 0x00, //0x0000077f js LBB0_937 + //0x00000785 LBB0_79 + 0x48, 0x8b, 0x44, 0x24, 0x18, //0x00000785 movq $24(%rsp), %rax + 0x4c, 0x89, 0x10, //0x0000078a movq %r10, (%rax) + 0x49, 0x83, 0xf8, 0xff, //0x0000078d cmpq $-1, %r8 + 0x0f, 0x84, 0x09, 0x00, 0x00, 0x00, //0x00000791 je LBB0_81 + 0x4d, 0x39, 0xd0, //0x00000797 cmpq %r10, %r8 + 0x0f, 0x8e, 0x5e, 0x0f, 0x00, 0x00, //0x0000079a jle LBB0_107 + //0x000007a0 LBB0_81 + 0x4c, 0x89, 0xd1, //0x000007a0 movq %r10, %rcx + 0x48, 0x29, 0xd1, //0x000007a3 subq %rdx, %rcx + 0x48, 0x83, 0xc1, 0xfe, //0x000007a6 addq $-2, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x000007aa movl $1, %edx + 0x48, 0x89, 0xc8, //0x000007af movq %rcx, %rax + 0x48, 0x09, 0xf0, //0x000007b2 orq %rsi, %rax + 0x0f, 0x84, 0xe5, 0x00, 0x00, 0x00, //0x000007b5 je LBB0_92 + 0x48, 0x39, 0xf1, //0x000007bb cmpq %rsi, %rcx + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x000007be movq $24(%rsp), %r8 + 0x0f, 0x85, 0xf7, 0x00, 0x00, 0x00, //0x000007c3 jne LBB0_93 + 0x48, 0x83, 0xfe, 0x10, //0x000007c9 cmpq $16, %rsi + 0x0f, 0x82, 0x68, 0x00, 0x00, 0x00, //0x000007cd jb LBB0_88 + 0x48, 0x8d, 0x4e, 0xf0, //0x000007d3 leaq $-16(%rsi), %rcx + 0x48, 0x89, 0xc8, //0x000007d7 movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x000007da andq $-16, %rax + 0x48, 0x8d, 0x74, 0x03, 0x10, //0x000007de leaq $16(%rbx,%rax), %rsi + 0x49, 0x8d, 0x7c, 0x04, 0x10, //0x000007e3 leaq $16(%r12,%rax), %rdi + 0x83, 0xe1, 0x0f, //0x000007e8 andl $15, %ecx + 0x31, 0xdb, //0x000007eb xorl %ebx, %ebx + 0x90, 0x90, 0x90, //0x000007ed .p2align 4, 0x90 + //0x000007f0 LBB0_85 + 0x48, 0x8b, 0x84, 0x24, 0xb0, 0x00, 0x00, 0x00, //0x000007f0 movq $176(%rsp), %rax + 0xc5, 0xfa, 0x6f, 0x14, 0x18, //0x000007f8 vmovdqu (%rax,%rbx), %xmm2 + 0xc4, 0xc1, 0x69, 0x74, 0x14, 0x1c, //0x000007fd vpcmpeqb (%r12,%rbx), %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00000803 vpmovmskb %xmm2, %eax + 0x66, 0x83, 0xf8, 0xff, //0x00000807 cmpw $-1, %ax + 0x0f, 0x85, 0x34, 0x01, 0x00, 0x00, //0x0000080b jne LBB0_98 + 0x48, 0x8b, 0x44, 0x24, 0x48, //0x00000811 movq $72(%rsp), %rax + 0x48, 0x83, 0xc0, 0xf0, //0x00000816 addq $-16, %rax + 0x48, 0x83, 0xc3, 0x10, //0x0000081a addq $16, %rbx + 0x48, 0x89, 0x44, 0x24, 0x48, //0x0000081e movq %rax, $72(%rsp) + 0x48, 0x83, 0xf8, 0x0f, //0x00000823 cmpq $15, %rax + 0x0f, 0x87, 0xc3, 0xff, 0xff, 0xff, //0x00000827 ja LBB0_85 + 0x49, 0x89, 0xfc, //0x0000082d movq %rdi, %r12 + 0x48, 0x89, 0xf3, //0x00000830 movq %rsi, %rbx + 0x48, 0x89, 0xce, //0x00000833 movq %rcx, %rsi + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00000836 movq $32(%rsp), %rdi + //0x0000083b LBB0_88 + 0x44, 0x89, 0xe0, //0x0000083b movl %r12d, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x0000083e andl $4095, %eax + 0x3d, 0xf0, 0x0f, 0x00, 0x00, //0x00000843 cmpl $4080, %eax + 0x0f, 0x87, 0x88, 0x00, 0x00, 0x00, //0x00000848 ja LBB0_94 + 0x89, 0xd8, //0x0000084e movl %ebx, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00000850 andl $4095, %eax + 0x3d, 0xf1, 0x0f, 0x00, 0x00, //0x00000855 cmpl $4081, %eax + 0x0f, 0x83, 0x76, 0x00, 0x00, 0x00, //0x0000085a jae LBB0_94 + 0xc5, 0xfa, 0x6f, 0x13, //0x00000860 vmovdqu (%rbx), %xmm2 + 0xc4, 0xc1, 0x69, 0x74, 0x14, 0x24, //0x00000864 vpcmpeqb (%r12), %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x0000086a vpmovmskb %xmm2, %ecx + 0x66, 0x83, 0xf9, 0xff, //0x0000086e cmpw $-1, %cx + 0x0f, 0x84, 0x98, 0x00, 0x00, 0x00, //0x00000872 je LBB0_100 + 0xf7, 0xd1, //0x00000878 notl %ecx + 0x0f, 0xb7, 0xc1, //0x0000087a movzwl %cx, %eax + 0x48, 0x0f, 0xbc, 0xc0, //0x0000087d bsfq %rax, %rax + 0x31, 0xd2, //0x00000881 xorl %edx, %edx + 0x48, 0x39, 0xf0, //0x00000883 cmpq %rsi, %rax + 0x0f, 0x93, 0xc2, //0x00000886 setae %dl + 0x49, 0x8b, 0x0b, //0x00000889 movq (%r11), %rcx + 0x4c, 0x89, 0xd6, //0x0000088c movq %r10, %rsi + 0x48, 0x29, 0xce, //0x0000088f subq %rcx, %rsi + 0x0f, 0x82, 0x87, 0x00, 0x00, 0x00, //0x00000892 jb LBB0_101 + 0xe9, 0xe3, 0x00, 0x00, 0x00, //0x00000898 jmp LBB0_154 + 0x90, 0x90, 0x90, //0x0000089d .p2align 4, 0x90 + //0x000008a0 LBB0_92 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x000008a0 movq $24(%rsp), %r8 + 0x49, 0x8b, 0x0b, //0x000008a5 movq (%r11), %rcx + 0x4c, 0x89, 0xd6, //0x000008a8 movq %r10, %rsi + 0x48, 0x29, 0xce, //0x000008ab subq %rcx, %rsi + 0x0f, 0x82, 0x6b, 0x00, 0x00, 0x00, //0x000008ae jb LBB0_101 + 0xe9, 0xc7, 0x00, 0x00, 0x00, //0x000008b4 jmp LBB0_154 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008b9 .p2align 4, 0x90 + //0x000008c0 LBB0_93 + 0x31, 0xd2, //0x000008c0 xorl %edx, %edx + 0x49, 0x8b, 0x0b, //0x000008c2 movq (%r11), %rcx + 0x4c, 0x89, 0xd6, //0x000008c5 movq %r10, %rsi + 0x48, 0x29, 0xce, //0x000008c8 subq %rcx, %rsi + 0x0f, 0x82, 0x4e, 0x00, 0x00, 0x00, //0x000008cb jb LBB0_101 + 0xe9, 0xaa, 0x00, 0x00, 0x00, //0x000008d1 jmp LBB0_154 + //0x000008d6 LBB0_94 + 0x48, 0x85, 0xf6, //0x000008d6 testq %rsi, %rsi + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x000008d9 je LBB0_100 + 0x31, 0xc9, //0x000008df xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008e1 .p2align 4, 0x90 + //0x000008f0 LBB0_96 + 0x0f, 0xb6, 0x04, 0x0b, //0x000008f0 movzbl (%rbx,%rcx), %eax + 0x41, 0x3a, 0x04, 0x0c, //0x000008f4 cmpb (%r12,%rcx), %al + 0x0f, 0x85, 0x62, 0x00, 0x00, 0x00, //0x000008f8 jne LBB0_99 + 0x48, 0xff, 0xc1, //0x000008fe incq %rcx + 0x48, 0x39, 0xce, //0x00000901 cmpq %rcx, %rsi + 0x0f, 0x85, 0xe6, 0xff, 0xff, 0xff, //0x00000904 jne LBB0_96 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000090a .p2align 4, 0x90 + //0x00000910 LBB0_100 + 0x49, 0x8b, 0x0b, //0x00000910 movq (%r11), %rcx + 0x4c, 0x89, 0xd6, //0x00000913 movq %r10, %rsi + 0x48, 0x29, 0xce, //0x00000916 subq %rcx, %rsi + 0x0f, 0x83, 0x61, 0x00, 0x00, 0x00, //0x00000919 jae LBB0_154 + //0x0000091f LBB0_101 + 0x42, 0x8a, 0x04, 0x17, //0x0000091f movb (%rdi,%r10), %al + 0x3c, 0x0d, //0x00000923 cmpb $13, %al + 0x0f, 0x84, 0x55, 0x00, 0x00, 0x00, //0x00000925 je LBB0_154 + 0x3c, 0x20, //0x0000092b cmpb $32, %al + 0x0f, 0x84, 0x4d, 0x00, 0x00, 0x00, //0x0000092d je LBB0_154 + 0x04, 0xf7, //0x00000933 addb $-9, %al + 0x3c, 0x01, //0x00000935 cmpb $1, %al + 0x0f, 0x86, 0x43, 0x00, 0x00, 0x00, //0x00000937 jbe LBB0_154 + 0x4c, 0x89, 0xd0, //0x0000093d movq %r10, %rax + 0xe9, 0x62, 0x01, 0x00, 0x00, //0x00000940 jmp LBB0_176 + //0x00000945 LBB0_98 + 0x31, 0xd2, //0x00000945 xorl %edx, %edx + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00000947 movq $32(%rsp), %rdi + 0x49, 0x8b, 0x0b, //0x0000094c movq (%r11), %rcx + 0x4c, 0x89, 0xd6, //0x0000094f movq %r10, %rsi + 0x48, 0x29, 0xce, //0x00000952 subq %rcx, %rsi + 0x0f, 0x82, 0xc4, 0xff, 0xff, 0xff, //0x00000955 jb LBB0_101 + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x0000095b jmp LBB0_154 + //0x00000960 LBB0_99 + 0x31, 0xd2, //0x00000960 xorl %edx, %edx + 0x49, 0x8b, 0x0b, //0x00000962 movq (%r11), %rcx + 0x4c, 0x89, 0xd6, //0x00000965 movq %r10, %rsi + 0x48, 0x29, 0xce, //0x00000968 subq %rcx, %rsi + 0x0f, 0x82, 0xae, 0xff, 0xff, 0xff, //0x0000096b jb LBB0_101 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000971 .p2align 4, 0x90 + //0x00000980 LBB0_154 + 0x49, 0x8d, 0x42, 0x01, //0x00000980 leaq $1(%r10), %rax + 0x48, 0x39, 0xc8, //0x00000984 cmpq %rcx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000987 jae LBB0_158 + 0x8a, 0x1c, 0x07, //0x0000098d movb (%rdi,%rax), %bl + 0x80, 0xfb, 0x0d, //0x00000990 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000993 je LBB0_158 + 0x80, 0xfb, 0x20, //0x00000999 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000099c je LBB0_158 + 0x80, 0xc3, 0xf7, //0x000009a2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000009a5 cmpb $1, %bl + 0x0f, 0x87, 0xf9, 0x00, 0x00, 0x00, //0x000009a8 ja LBB0_176 + 0x90, 0x90, //0x000009ae .p2align 4, 0x90 + //0x000009b0 LBB0_158 + 0x49, 0x8d, 0x42, 0x02, //0x000009b0 leaq $2(%r10), %rax + 0x48, 0x39, 0xc8, //0x000009b4 cmpq %rcx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000009b7 jae LBB0_162 + 0x8a, 0x1c, 0x07, //0x000009bd movb (%rdi,%rax), %bl + 0x80, 0xfb, 0x0d, //0x000009c0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000009c3 je LBB0_162 + 0x80, 0xfb, 0x20, //0x000009c9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000009cc je LBB0_162 + 0x80, 0xc3, 0xf7, //0x000009d2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000009d5 cmpb $1, %bl + 0x0f, 0x87, 0xc9, 0x00, 0x00, 0x00, //0x000009d8 ja LBB0_176 + 0x90, 0x90, //0x000009de .p2align 4, 0x90 + //0x000009e0 LBB0_162 + 0x49, 0x8d, 0x42, 0x03, //0x000009e0 leaq $3(%r10), %rax + 0x48, 0x39, 0xc8, //0x000009e4 cmpq %rcx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000009e7 jae LBB0_166 + 0x8a, 0x1c, 0x07, //0x000009ed movb (%rdi,%rax), %bl + 0x80, 0xfb, 0x0d, //0x000009f0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000009f3 je LBB0_166 + 0x80, 0xfb, 0x20, //0x000009f9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000009fc je LBB0_166 + 0x80, 0xc3, 0xf7, //0x00000a02 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000a05 cmpb $1, %bl + 0x0f, 0x87, 0x99, 0x00, 0x00, 0x00, //0x00000a08 ja LBB0_176 + 0x90, 0x90, //0x00000a0e .p2align 4, 0x90 + //0x00000a10 LBB0_166 + 0x49, 0x8d, 0x7a, 0x04, //0x00000a10 leaq $4(%r10), %rdi + 0x48, 0x39, 0xf9, //0x00000a14 cmpq %rdi, %rcx + 0x0f, 0x86, 0x5e, 0x39, 0x00, 0x00, //0x00000a17 jbe LBB0_836 + 0x48, 0x39, 0xf9, //0x00000a1d cmpq %rdi, %rcx + 0x0f, 0x84, 0x4a, 0x00, 0x00, 0x00, //0x00000a20 je LBB0_173 + 0x48, 0x8b, 0x44, 0x24, 0x20, //0x00000a26 movq $32(%rsp), %rax + 0x48, 0x8d, 0x3c, 0x08, //0x00000a2b leaq (%rax,%rcx), %rdi + 0x48, 0x83, 0xc6, 0x04, //0x00000a2f addq $4, %rsi + 0x4a, 0x8d, 0x44, 0x10, 0x05, //0x00000a33 leaq $5(%rax,%r10), %rax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a38 .p2align 4, 0x90 + //0x00000a40 LBB0_169 + 0x0f, 0xbe, 0x58, 0xff, //0x00000a40 movsbl $-1(%rax), %ebx + 0x83, 0xfb, 0x20, //0x00000a44 cmpl $32, %ebx + 0x0f, 0x87, 0x43, 0x00, 0x00, 0x00, //0x00000a47 ja LBB0_175 + 0x49, 0x0f, 0xa3, 0xd9, //0x00000a4d btq %rbx, %r9 + 0x0f, 0x83, 0x39, 0x00, 0x00, 0x00, //0x00000a51 jae LBB0_175 + 0x48, 0xff, 0xc0, //0x00000a57 incq %rax + 0x48, 0xff, 0xc6, //0x00000a5a incq %rsi + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x00000a5d jne LBB0_169 + 0x48, 0x8b, 0x74, 0x24, 0x20, //0x00000a63 movq $32(%rsp), %rsi + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00000a68 jmp LBB0_174 + 0x90, 0x90, 0x90, //0x00000a6d .p2align 4, 0x90 + //0x00000a70 LBB0_173 + 0x48, 0x8b, 0x74, 0x24, 0x20, //0x00000a70 movq $32(%rsp), %rsi + 0x48, 0x01, 0xf7, //0x00000a75 addq %rsi, %rdi + //0x00000a78 LBB0_174 + 0x48, 0x29, 0xf7, //0x00000a78 subq %rsi, %rdi + 0x48, 0x89, 0xf8, //0x00000a7b movq %rdi, %rax + 0x48, 0x89, 0xf7, //0x00000a7e movq %rsi, %rdi + 0x48, 0x39, 0xc8, //0x00000a81 cmpq %rcx, %rax + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x00000a84 jb LBB0_176 + 0xe9, 0xf2, 0x38, 0x00, 0x00, //0x00000a8a jmp LBB0_837 + 0x90, //0x00000a8f .p2align 4, 0x90 + //0x00000a90 LBB0_175 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00000a90 movq $32(%rsp), %rdi + 0x48, 0x89, 0xfe, //0x00000a95 movq %rdi, %rsi + 0x48, 0xf7, 0xd6, //0x00000a98 notq %rsi + 0x48, 0x01, 0xf0, //0x00000a9b addq %rsi, %rax + 0x48, 0x39, 0xc8, //0x00000a9e cmpq %rcx, %rax + 0x0f, 0x83, 0xda, 0x38, 0x00, 0x00, //0x00000aa1 jae LBB0_837 + //0x00000aa7 LBB0_176 + 0x4c, 0x8d, 0x50, 0x01, //0x00000aa7 leaq $1(%rax), %r10 + 0x4d, 0x89, 0x10, //0x00000aab movq %r10, (%r8) + 0x80, 0x3c, 0x07, 0x3a, //0x00000aae cmpb $58, (%rdi,%rax) + 0x0f, 0x85, 0xc9, 0x38, 0x00, 0x00, //0x00000ab2 jne LBB0_837 + 0x48, 0x85, 0xd2, //0x00000ab8 testq %rdx, %rdx + 0x0f, 0x85, 0xef, 0x20, 0x00, 0x00, //0x00000abb jne LBB0_446 + 0x49, 0x8b, 0x13, //0x00000ac1 movq (%r11), %rdx + 0x49, 0x39, 0xd2, //0x00000ac4 cmpq %rdx, %r10 + 0x0f, 0x83, 0x33, 0x00, 0x00, 0x00, //0x00000ac7 jae LBB0_183 + 0x42, 0x8a, 0x0c, 0x17, //0x00000acd movb (%rdi,%r10), %cl + 0x80, 0xf9, 0x0d, //0x00000ad1 cmpb $13, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00000ad4 je LBB0_183 + 0x80, 0xf9, 0x20, //0x00000ada cmpb $32, %cl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x00000add je LBB0_183 + 0x80, 0xc1, 0xf7, //0x00000ae3 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00000ae6 cmpb $1, %cl + 0x0f, 0x86, 0x11, 0x00, 0x00, 0x00, //0x00000ae9 jbe LBB0_183 + 0x4c, 0x89, 0xd1, //0x00000aef movq %r10, %rcx + 0xe9, 0x49, 0x01, 0x00, 0x00, //0x00000af2 jmp LBB0_205 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000af7 .p2align 4, 0x90 + //0x00000b00 LBB0_183 + 0x48, 0x8d, 0x48, 0x02, //0x00000b00 leaq $2(%rax), %rcx + 0x48, 0x39, 0xd1, //0x00000b04 cmpq %rdx, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000b07 jae LBB0_187 + 0x8a, 0x1c, 0x0f, //0x00000b0d movb (%rdi,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00000b10 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000b13 je LBB0_187 + 0x80, 0xfb, 0x20, //0x00000b19 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00000b1c je LBB0_187 + 0x80, 0xc3, 0xf7, //0x00000b22 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000b25 cmpb $1, %bl + 0x0f, 0x87, 0x12, 0x01, 0x00, 0x00, //0x00000b28 ja LBB0_205 + 0x90, 0x90, //0x00000b2e .p2align 4, 0x90 + //0x00000b30 LBB0_187 + 0x48, 0x8d, 0x48, 0x03, //0x00000b30 leaq $3(%rax), %rcx + 0x48, 0x39, 0xd1, //0x00000b34 cmpq %rdx, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000b37 jae LBB0_191 + 0x8a, 0x1c, 0x0f, //0x00000b3d movb (%rdi,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00000b40 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000b43 je LBB0_191 + 0x80, 0xfb, 0x20, //0x00000b49 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00000b4c je LBB0_191 + 0x80, 0xc3, 0xf7, //0x00000b52 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000b55 cmpb $1, %bl + 0x0f, 0x87, 0xe2, 0x00, 0x00, 0x00, //0x00000b58 ja LBB0_205 + 0x90, 0x90, //0x00000b5e .p2align 4, 0x90 + //0x00000b60 LBB0_191 + 0x48, 0x8d, 0x48, 0x04, //0x00000b60 leaq $4(%rax), %rcx + 0x48, 0x39, 0xd1, //0x00000b64 cmpq %rdx, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000b67 jae LBB0_195 + 0x8a, 0x1c, 0x0f, //0x00000b6d movb (%rdi,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00000b70 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000b73 je LBB0_195 + 0x80, 0xfb, 0x20, //0x00000b79 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00000b7c je LBB0_195 + 0x80, 0xc3, 0xf7, //0x00000b82 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000b85 cmpb $1, %bl + 0x0f, 0x87, 0xb2, 0x00, 0x00, 0x00, //0x00000b88 ja LBB0_205 + 0x90, 0x90, //0x00000b8e .p2align 4, 0x90 + //0x00000b90 LBB0_195 + 0x48, 0x8d, 0x70, 0x05, //0x00000b90 leaq $5(%rax), %rsi + 0x48, 0x39, 0xf2, //0x00000b94 cmpq %rsi, %rdx + 0x0f, 0x86, 0x63, 0x00, 0x00, 0x00, //0x00000b97 jbe LBB0_202 + 0x48, 0x39, 0xf2, //0x00000b9d cmpq %rsi, %rdx + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x00000ba0 je LBB0_203 + 0x48, 0x8d, 0x34, 0x17, //0x00000ba6 leaq (%rdi,%rdx), %rsi + 0x48, 0x8d, 0x4c, 0x07, 0x06, //0x00000baa leaq $6(%rdi,%rax), %rcx + 0x48, 0x29, 0xd0, //0x00000baf subq %rdx, %rax + 0x48, 0x83, 0xc0, 0x05, //0x00000bb2 addq $5, %rax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000bb6 .p2align 4, 0x90 + //0x00000bc0 LBB0_198 + 0x0f, 0xbe, 0x79, 0xff, //0x00000bc0 movsbl $-1(%rcx), %edi + 0x83, 0xff, 0x20, //0x00000bc4 cmpl $32, %edi + 0x0f, 0x87, 0x55, 0x00, 0x00, 0x00, //0x00000bc7 ja LBB0_204 + 0x49, 0x0f, 0xa3, 0xf9, //0x00000bcd btq %rdi, %r9 + 0x0f, 0x83, 0x4b, 0x00, 0x00, 0x00, //0x00000bd1 jae LBB0_204 + 0x48, 0xff, 0xc1, //0x00000bd7 incq %rcx + 0x48, 0xff, 0xc0, //0x00000bda incq %rax + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x00000bdd jne LBB0_198 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00000be3 movq $32(%rsp), %rdi + 0x48, 0x29, 0xfe, //0x00000be8 subq %rdi, %rsi + 0x48, 0x89, 0xf1, //0x00000beb movq %rsi, %rcx + 0x48, 0x39, 0xd1, //0x00000bee cmpq %rdx, %rcx + 0x0f, 0x82, 0x49, 0x00, 0x00, 0x00, //0x00000bf1 jb LBB0_205 + 0xe9, 0x34, 0x01, 0x00, 0x00, //0x00000bf7 jmp LBB0_222 + 0x90, 0x90, 0x90, 0x90, //0x00000bfc .p2align 4, 0x90 + //0x00000c00 LBB0_202 + 0x49, 0x89, 0x30, //0x00000c00 movq %rsi, (%r8) + 0x49, 0x89, 0xf2, //0x00000c03 movq %rsi, %r10 + 0xe9, 0x25, 0x01, 0x00, 0x00, //0x00000c06 jmp LBB0_222 + //0x00000c0b LBB0_203 + 0x48, 0x01, 0xfe, //0x00000c0b addq %rdi, %rsi + 0x48, 0x29, 0xfe, //0x00000c0e subq %rdi, %rsi + 0x48, 0x89, 0xf1, //0x00000c11 movq %rsi, %rcx + 0x48, 0x39, 0xd1, //0x00000c14 cmpq %rdx, %rcx + 0x0f, 0x82, 0x23, 0x00, 0x00, 0x00, //0x00000c17 jb LBB0_205 + 0xe9, 0x0e, 0x01, 0x00, 0x00, //0x00000c1d jmp LBB0_222 + //0x00000c22 LBB0_204 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00000c22 movq $32(%rsp), %rdi + 0x48, 0x89, 0xf8, //0x00000c27 movq %rdi, %rax + 0x48, 0xf7, 0xd0, //0x00000c2a notq %rax + 0x48, 0x01, 0xc1, //0x00000c2d addq %rax, %rcx + 0x48, 0x39, 0xd1, //0x00000c30 cmpq %rdx, %rcx + 0x0f, 0x83, 0xf7, 0x00, 0x00, 0x00, //0x00000c33 jae LBB0_222 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000c39 .p2align 4, 0x90 + //0x00000c40 LBB0_205 + 0x4c, 0x8d, 0x51, 0x01, //0x00000c40 leaq $1(%rcx), %r10 + 0x4d, 0x89, 0x10, //0x00000c44 movq %r10, (%r8) + 0x0f, 0xbe, 0x04, 0x0f, //0x00000c47 movsbl (%rdi,%rcx), %eax + 0x83, 0xf8, 0x7b, //0x00000c4b cmpl $123, %eax + 0x0f, 0x87, 0x75, 0x06, 0x00, 0x00, //0x00000c4e ja LBB0_289 + 0x48, 0x8d, 0x15, 0x4d, 0x45, 0x00, 0x00, //0x00000c54 leaq $17741(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x00000c5b movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x00000c5f addq %rdx, %rax + 0xff, 0xe0, //0x00000c62 jmpq *%rax + //0x00000c64 LBB0_207 + 0x49, 0x8b, 0x13, //0x00000c64 movq (%r11), %rdx + 0x48, 0x89, 0xd0, //0x00000c67 movq %rdx, %rax + 0x4c, 0x29, 0xd0, //0x00000c6a subq %r10, %rax + 0x49, 0x01, 0xfa, //0x00000c6d addq %rdi, %r10 + 0x48, 0x83, 0xf8, 0x10, //0x00000c70 cmpq $16, %rax + 0x0f, 0x82, 0x60, 0x00, 0x00, 0x00, //0x00000c74 jb LBB0_212 + 0x48, 0x29, 0xca, //0x00000c7a subq %rcx, %rdx + 0x48, 0x83, 0xc2, 0xef, //0x00000c7d addq $-17, %rdx + 0x48, 0x89, 0xd6, //0x00000c81 movq %rdx, %rsi + 0x48, 0x83, 0xe6, 0xf0, //0x00000c84 andq $-16, %rsi + 0x48, 0x01, 0xce, //0x00000c88 addq %rcx, %rsi + 0x48, 0x8d, 0x4c, 0x37, 0x11, //0x00000c8b leaq $17(%rdi,%rsi), %rcx + 0x83, 0xe2, 0x0f, //0x00000c90 andl $15, %edx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000c93 .p2align 4, 0x90 + //0x00000ca0 LBB0_209 + 0xc4, 0xc1, 0x7a, 0x6f, 0x12, //0x00000ca0 vmovdqu (%r10), %xmm2 + 0xc5, 0x89, 0x74, 0xda, //0x00000ca5 vpcmpeqb %xmm2, %xmm14, %xmm3 + 0xc5, 0x81, 0xeb, 0xd2, //0x00000ca9 vpor %xmm2, %xmm15, %xmm2 + 0xc5, 0xe9, 0x74, 0xd4, //0x00000cad vpcmpeqb %xmm4, %xmm2, %xmm2 + 0xc5, 0xe9, 0xeb, 0xd3, //0x00000cb1 vpor %xmm3, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x00000cb5 vpmovmskb %xmm2, %esi + 0x66, 0x85, 0xf6, //0x00000cb9 testw %si, %si + 0x0f, 0x85, 0x5e, 0x00, 0x00, 0x00, //0x00000cbc jne LBB0_220 + 0x49, 0x83, 0xc2, 0x10, //0x00000cc2 addq $16, %r10 + 0x48, 0x83, 0xc0, 0xf0, //0x00000cc6 addq $-16, %rax + 0x48, 0x83, 0xf8, 0x0f, //0x00000cca cmpq $15, %rax + 0x0f, 0x87, 0xcc, 0xff, 0xff, 0xff, //0x00000cce ja LBB0_209 + 0x48, 0x89, 0xd0, //0x00000cd4 movq %rdx, %rax + 0x49, 0x89, 0xca, //0x00000cd7 movq %rcx, %r10 + //0x00000cda LBB0_212 + 0x48, 0x85, 0xc0, //0x00000cda testq %rax, %rax + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x00000cdd je LBB0_219 + 0x49, 0x8d, 0x0c, 0x02, //0x00000ce3 leaq (%r10,%rax), %rcx + //0x00000ce7 LBB0_214 + 0x41, 0x0f, 0xb6, 0x12, //0x00000ce7 movzbl (%r10), %edx + 0x80, 0xfa, 0x2c, //0x00000ceb cmpb $44, %dl + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00000cee je LBB0_219 + 0x80, 0xfa, 0x7d, //0x00000cf4 cmpb $125, %dl + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x00000cf7 je LBB0_219 + 0x80, 0xfa, 0x5d, //0x00000cfd cmpb $93, %dl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x00000d00 je LBB0_219 + 0x49, 0xff, 0xc2, //0x00000d06 incq %r10 + 0x48, 0xff, 0xc8, //0x00000d09 decq %rax + 0x0f, 0x85, 0xd5, 0xff, 0xff, 0xff, //0x00000d0c jne LBB0_214 + 0x49, 0x89, 0xca, //0x00000d12 movq %rcx, %r10 + //0x00000d15 LBB0_219 + 0x49, 0x29, 0xfa, //0x00000d15 subq %rdi, %r10 + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00000d18 jmp LBB0_221 + 0x90, 0x90, 0x90, //0x00000d1d .p2align 4, 0x90 + //0x00000d20 LBB0_220 + 0x0f, 0xb7, 0xc6, //0x00000d20 movzwl %si, %eax + 0x48, 0x0f, 0xbc, 0xc0, //0x00000d23 bsfq %rax, %rax + 0x49, 0x29, 0xfa, //0x00000d27 subq %rdi, %r10 + 0x49, 0x01, 0xc2, //0x00000d2a addq %rax, %r10 + //0x00000d2d LBB0_221 + 0x4d, 0x89, 0x10, //0x00000d2d movq %r10, (%r8) + //0x00000d30 LBB0_222 + 0x49, 0x8b, 0x3f, //0x00000d30 movq (%r15), %rdi + 0x49, 0x8b, 0x47, 0x08, //0x00000d33 movq $8(%r15), %rax + 0x4c, 0x89, 0xd1, //0x00000d37 movq %r10, %rcx + 0x48, 0x29, 0xc1, //0x00000d3a subq %rax, %rcx + 0x0f, 0x83, 0x2d, 0x00, 0x00, 0x00, //0x00000d3d jae LBB0_227 + 0x42, 0x8a, 0x14, 0x17, //0x00000d43 movb (%rdi,%r10), %dl + 0x80, 0xfa, 0x0d, //0x00000d47 cmpb $13, %dl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x00000d4a je LBB0_227 + 0x80, 0xfa, 0x20, //0x00000d50 cmpb $32, %dl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000d53 je LBB0_227 + 0x80, 0xc2, 0xf7, //0x00000d59 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000d5c cmpb $1, %dl + 0x0f, 0x86, 0x0b, 0x00, 0x00, 0x00, //0x00000d5f jbe LBB0_227 + 0x4c, 0x89, 0xd2, //0x00000d65 movq %r10, %rdx + 0xe9, 0x85, 0xf6, 0xff, 0xff, //0x00000d68 jmp LBB0_248 + 0x90, 0x90, 0x90, //0x00000d6d .p2align 4, 0x90 + //0x00000d70 LBB0_227 + 0x49, 0x8d, 0x52, 0x01, //0x00000d70 leaq $1(%r10), %rdx + 0x48, 0x39, 0xc2, //0x00000d74 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000d77 jae LBB0_231 + 0x8a, 0x1c, 0x17, //0x00000d7d movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00000d80 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000d83 je LBB0_231 + 0x80, 0xfb, 0x20, //0x00000d89 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00000d8c je LBB0_231 + 0x80, 0xc3, 0xf7, //0x00000d92 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000d95 cmpb $1, %bl + 0x0f, 0x87, 0x54, 0xf6, 0xff, 0xff, //0x00000d98 ja LBB0_248 + 0x90, 0x90, //0x00000d9e .p2align 4, 0x90 + //0x00000da0 LBB0_231 + 0x49, 0x8d, 0x52, 0x02, //0x00000da0 leaq $2(%r10), %rdx + 0x48, 0x39, 0xc2, //0x00000da4 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000da7 jae LBB0_235 + 0x8a, 0x1c, 0x17, //0x00000dad movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00000db0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000db3 je LBB0_235 + 0x80, 0xfb, 0x20, //0x00000db9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00000dbc je LBB0_235 + 0x80, 0xc3, 0xf7, //0x00000dc2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000dc5 cmpb $1, %bl + 0x0f, 0x87, 0x24, 0xf6, 0xff, 0xff, //0x00000dc8 ja LBB0_248 + 0x90, 0x90, //0x00000dce .p2align 4, 0x90 + //0x00000dd0 LBB0_235 + 0x49, 0x8d, 0x52, 0x03, //0x00000dd0 leaq $3(%r10), %rdx + 0x48, 0x39, 0xc2, //0x00000dd4 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000dd7 jae LBB0_239 + 0x8a, 0x1c, 0x17, //0x00000ddd movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00000de0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000de3 je LBB0_239 + 0x80, 0xfb, 0x20, //0x00000de9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00000dec je LBB0_239 + 0x80, 0xc3, 0xf7, //0x00000df2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000df5 cmpb $1, %bl + 0x0f, 0x87, 0xf4, 0xf5, 0xff, 0xff, //0x00000df8 ja LBB0_248 + 0x90, 0x90, //0x00000dfe .p2align 4, 0x90 + //0x00000e00 LBB0_239 + 0x49, 0x8d, 0x72, 0x04, //0x00000e00 leaq $4(%r10), %rsi + 0x48, 0x39, 0xf0, //0x00000e04 cmpq %rsi, %rax + 0x0f, 0x86, 0x7d, 0x1f, 0x00, 0x00, //0x00000e07 jbe LBB0_550 + 0x48, 0x39, 0xf0, //0x00000e0d cmpq %rsi, %rax + 0x0f, 0x84, 0xca, 0xf5, 0xff, 0xff, //0x00000e10 je LBB0_246 + 0x48, 0x8d, 0x34, 0x07, //0x00000e16 leaq (%rdi,%rax), %rsi + 0x48, 0x83, 0xc1, 0x04, //0x00000e1a addq $4, %rcx + 0x48, 0x89, 0xfb, //0x00000e1e movq %rdi, %rbx + 0x4a, 0x8d, 0x54, 0x17, 0x05, //0x00000e21 leaq $5(%rdi,%r10), %rdx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000e26 .p2align 4, 0x90 + //0x00000e30 LBB0_242 + 0x0f, 0xbe, 0x7a, 0xff, //0x00000e30 movsbl $-1(%rdx), %edi + 0x83, 0xff, 0x20, //0x00000e34 cmpl $32, %edi + 0x0f, 0x87, 0x2d, 0x00, 0x00, 0x00, //0x00000e37 ja LBB0_247 + 0x49, 0x0f, 0xa3, 0xf9, //0x00000e3d btq %rdi, %r9 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000e41 jae LBB0_247 + 0x48, 0xff, 0xc2, //0x00000e47 incq %rdx + 0x48, 0xff, 0xc1, //0x00000e4a incq %rcx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x00000e4d jne LBB0_242 + 0x48, 0x89, 0xdf, //0x00000e53 movq %rbx, %rdi + 0x48, 0x29, 0xfe, //0x00000e56 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x00000e59 movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x00000e5c cmpq %rax, %rdx + 0x0f, 0x82, 0x8d, 0xf5, 0xff, 0xff, //0x00000e5f jb LBB0_248 + 0xe9, 0x17, 0x35, 0x00, 0x00, //0x00000e65 jmp LBB0_837 + //0x00000e6a LBB0_247 + 0x48, 0x89, 0xdf, //0x00000e6a movq %rbx, %rdi + 0x48, 0x89, 0xd9, //0x00000e6d movq %rbx, %rcx + 0x48, 0xf7, 0xd1, //0x00000e70 notq %rcx + 0x48, 0x01, 0xca, //0x00000e73 addq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x00000e76 cmpq %rax, %rdx + 0x0f, 0x82, 0x73, 0xf5, 0xff, 0xff, //0x00000e79 jb LBB0_248 + 0xe9, 0xfd, 0x34, 0x00, 0x00, //0x00000e7f jmp LBB0_837 + //0x00000e84 LBB0_250 + 0x48, 0x83, 0xc1, 0x04, //0x00000e84 addq $4, %rcx + 0x49, 0x3b, 0x0b, //0x00000e88 cmpq (%r11), %rcx + 0x0f, 0x87, 0x9f, 0xfe, 0xff, 0xff, //0x00000e8b ja LBB0_222 + 0xe9, 0x33, 0x04, 0x00, 0x00, //0x00000e91 jmp LBB0_289 + //0x00000e96 LBB0_251 + 0x4d, 0x8b, 0x03, //0x00000e96 movq (%r11), %r8 + 0x4c, 0x89, 0xc0, //0x00000e99 movq %r8, %rax + 0x4c, 0x29, 0xd0, //0x00000e9c subq %r10, %rax + 0x48, 0x83, 0xf8, 0x20, //0x00000e9f cmpq $32, %rax + 0x0f, 0x8c, 0xbd, 0x0c, 0x00, 0x00, //0x00000ea3 jl LBB0_323 + 0x4c, 0x8d, 0x0c, 0x0f, //0x00000ea9 leaq (%rdi,%rcx), %r9 + 0x49, 0x29, 0xc8, //0x00000ead subq %rcx, %r8 + 0xb9, 0x1f, 0x00, 0x00, 0x00, //0x00000eb0 movl $31, %ecx + 0x31, 0xc0, //0x00000eb5 xorl %eax, %eax + 0x45, 0x31, 0xdb, //0x00000eb7 xorl %r11d, %r11d + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00000eba jmp LBB0_253 + 0x90, //0x00000ebf .p2align 4, 0x90 + //0x00000ec0 LBB0_256 + 0x45, 0x31, 0xdb, //0x00000ec0 xorl %r11d, %r11d + 0x85, 0xdb, //0x00000ec3 testl %ebx, %ebx + 0x0f, 0x85, 0xa9, 0x00, 0x00, 0x00, //0x00000ec5 jne LBB0_255 + //0x00000ecb LBB0_257 + 0x48, 0x83, 0xc0, 0x20, //0x00000ecb addq $32, %rax + 0x49, 0x8d, 0x54, 0x08, 0xe0, //0x00000ecf leaq $-32(%r8,%rcx), %rdx + 0x48, 0x83, 0xc1, 0xe0, //0x00000ed4 addq $-32, %rcx + 0x48, 0x83, 0xfa, 0x3f, //0x00000ed8 cmpq $63, %rdx + 0x0f, 0x8e, 0xbc, 0x0b, 0x00, 0x00, //0x00000edc jle LBB0_258 + //0x00000ee2 LBB0_253 + 0xc4, 0xc1, 0x7a, 0x6f, 0x54, 0x01, 0x01, //0x00000ee2 vmovdqu $1(%r9,%rax), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x5c, 0x01, 0x11, //0x00000ee9 vmovdqu $17(%r9,%rax), %xmm3 + 0xc5, 0xe9, 0x74, 0xe8, //0x00000ef0 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00000ef4 vpmovmskb %xmm5, %edx + 0xc5, 0xe1, 0x74, 0xe8, //0x00000ef8 vpcmpeqb %xmm0, %xmm3, %xmm5 + 0xc5, 0xf9, 0xd7, 0xdd, //0x00000efc vpmovmskb %xmm5, %ebx + 0x48, 0xc1, 0xe3, 0x10, //0x00000f00 shlq $16, %rbx + 0x48, 0x09, 0xd3, //0x00000f04 orq %rdx, %rbx + 0xc5, 0xe9, 0x74, 0xd1, //0x00000f07 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x00000f0b vpmovmskb %xmm2, %esi + 0xc5, 0xe1, 0x74, 0xd1, //0x00000f0f vpcmpeqb %xmm1, %xmm3, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000f13 vpmovmskb %xmm2, %edx + 0x48, 0xc1, 0xe2, 0x10, //0x00000f17 shlq $16, %rdx + 0x48, 0x09, 0xf2, //0x00000f1b orq %rsi, %rdx + 0x48, 0x89, 0xd6, //0x00000f1e movq %rdx, %rsi + 0x4c, 0x09, 0xde, //0x00000f21 orq %r11, %rsi + 0x0f, 0x84, 0x96, 0xff, 0xff, 0xff, //0x00000f24 je LBB0_256 + 0x44, 0x89, 0xde, //0x00000f2a movl %r11d, %esi + 0x41, 0xbe, 0xff, 0xff, 0xff, 0xff, //0x00000f2d movl $4294967295, %r14d + 0x44, 0x31, 0xf6, //0x00000f33 xorl %r14d, %esi + 0x21, 0xf2, //0x00000f36 andl %esi, %edx + 0x8d, 0x34, 0x12, //0x00000f38 leal (%rdx,%rdx), %esi + 0x44, 0x09, 0xde, //0x00000f3b orl %r11d, %esi + 0x41, 0x8d, 0xbe, 0xab, 0xaa, 0xaa, 0xaa, //0x00000f3e leal $-1431655765(%r14), %edi + 0x31, 0xf7, //0x00000f45 xorl %esi, %edi + 0x21, 0xd7, //0x00000f47 andl %edx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000f49 andl $-1431655766, %edi + 0x45, 0x31, 0xdb, //0x00000f4f xorl %r11d, %r11d + 0x01, 0xd7, //0x00000f52 addl %edx, %edi + 0x41, 0x0f, 0x92, 0xc3, //0x00000f54 setb %r11b + 0x01, 0xff, //0x00000f58 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00000f5a xorl $1431655765, %edi + 0x21, 0xf7, //0x00000f60 andl %esi, %edi + 0x44, 0x31, 0xf7, //0x00000f62 xorl %r14d, %edi + 0x21, 0xfb, //0x00000f65 andl %edi, %ebx + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00000f67 movq $32(%rsp), %rdi + 0x85, 0xdb, //0x00000f6c testl %ebx, %ebx + 0x0f, 0x84, 0x57, 0xff, 0xff, 0xff, //0x00000f6e je LBB0_257 + //0x00000f74 LBB0_255 + 0x48, 0x0f, 0xbc, 0xcb, //0x00000f74 bsfq %rbx, %rcx + 0x49, 0x01, 0xc9, //0x00000f78 addq %rcx, %r9 + 0x49, 0x01, 0xc1, //0x00000f7b addq %rax, %r9 + 0x49, 0x29, 0xf9, //0x00000f7e subq %rdi, %r9 + 0x49, 0x83, 0xc1, 0x02, //0x00000f81 addq $2, %r9 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00000f85 movq $24(%rsp), %r8 + 0x4d, 0x89, 0x08, //0x00000f8a movq %r9, (%r8) + 0x4d, 0x89, 0xca, //0x00000f8d movq %r9, %r10 + //0x00000f90 LBB0_341 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00000f90 movq $56(%rsp), %r11 + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000f95 movabsq $4294977024, %r9 + 0xe9, 0x8c, 0xfd, 0xff, 0xff, //0x00000f9f jmp LBB0_222 + //0x00000fa4 LBB0_262 + 0x4d, 0x8b, 0x0b, //0x00000fa4 movq (%r11), %r9 + 0x4d, 0x29, 0xd1, //0x00000fa7 subq %r10, %r9 + 0x4c, 0x01, 0xd7, //0x00000faa addq %r10, %rdi + 0x45, 0x31, 0xc0, //0x00000fad xorl %r8d, %r8d + 0x45, 0x31, 0xd2, //0x00000fb0 xorl %r10d, %r10d + 0x45, 0x31, 0xdb, //0x00000fb3 xorl %r11d, %r11d + 0x31, 0xd2, //0x00000fb6 xorl %edx, %edx + 0xe9, 0x1a, 0x00, 0x00, 0x00, //0x00000fb8 jmp LBB0_264 + //0x00000fbd LBB0_263 + 0x49, 0xc1, 0xfe, 0x3f, //0x00000fbd sarq $63, %r14 + 0xf3, 0x48, 0x0f, 0xb8, 0xc7, //0x00000fc1 popcntq %rdi, %rax + 0x49, 0x01, 0xc3, //0x00000fc6 addq %rax, %r11 + 0x4c, 0x89, 0xe7, //0x00000fc9 movq %r12, %rdi + 0x48, 0x83, 0xc7, 0x40, //0x00000fcc addq $64, %rdi + 0x49, 0x83, 0xc1, 0xc0, //0x00000fd0 addq $-64, %r9 + 0x4d, 0x89, 0xf0, //0x00000fd4 movq %r14, %r8 + //0x00000fd7 LBB0_264 + 0x49, 0x83, 0xf9, 0x40, //0x00000fd7 cmpq $64, %r9 + 0x0f, 0x8c, 0xab, 0x01, 0x00, 0x00, //0x00000fdb jl LBB0_272 + //0x00000fe1 LBB0_265 + 0xc5, 0xfa, 0x6f, 0x17, //0x00000fe1 vmovdqu (%rdi), %xmm2 + 0xc5, 0xfa, 0x6f, 0x77, 0x10, //0x00000fe5 vmovdqu $16(%rdi), %xmm6 + 0xc5, 0xfa, 0x6f, 0x6f, 0x20, //0x00000fea vmovdqu $32(%rdi), %xmm5 + 0x49, 0x89, 0xfc, //0x00000fef movq %rdi, %r12 + 0xc5, 0xfa, 0x6f, 0x7f, 0x30, //0x00000ff2 vmovdqu $48(%rdi), %xmm7 + 0xc5, 0xe9, 0x74, 0xd8, //0x00000ff7 vpcmpeqb %xmm0, %xmm2, %xmm3 + 0xc5, 0xf9, 0xd7, 0xf3, //0x00000ffb vpmovmskb %xmm3, %esi + 0xc5, 0xc9, 0x74, 0xd8, //0x00000fff vpcmpeqb %xmm0, %xmm6, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x00001003 vpmovmskb %xmm3, %eax + 0xc5, 0xd1, 0x74, 0xd8, //0x00001007 vpcmpeqb %xmm0, %xmm5, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x0000100b vpmovmskb %xmm3, %edi + 0xc5, 0xc1, 0x74, 0xd8, //0x0000100f vpcmpeqb %xmm0, %xmm7, %xmm3 + 0xc5, 0xf9, 0xd7, 0xdb, //0x00001013 vpmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x00001017 shlq $48, %rbx + 0x48, 0xc1, 0xe7, 0x20, //0x0000101b shlq $32, %rdi + 0x48, 0xc1, 0xe0, 0x10, //0x0000101f shlq $16, %rax + 0x48, 0x09, 0xc6, //0x00001023 orq %rax, %rsi + 0x48, 0x09, 0xfe, //0x00001026 orq %rdi, %rsi + 0x48, 0x09, 0xde, //0x00001029 orq %rbx, %rsi + 0xc5, 0xe9, 0x74, 0xd9, //0x0000102c vpcmpeqb %xmm1, %xmm2, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x00001030 vpmovmskb %xmm3, %edi + 0xc5, 0xc9, 0x74, 0xd9, //0x00001034 vpcmpeqb %xmm1, %xmm6, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x00001038 vpmovmskb %xmm3, %eax + 0xc5, 0xd1, 0x74, 0xd9, //0x0000103c vpcmpeqb %xmm1, %xmm5, %xmm3 + 0xc5, 0xf9, 0xd7, 0xdb, //0x00001040 vpmovmskb %xmm3, %ebx + 0xc5, 0xc1, 0x74, 0xd9, //0x00001044 vpcmpeqb %xmm1, %xmm7, %xmm3 + 0xc5, 0xf9, 0xd7, 0xcb, //0x00001048 vpmovmskb %xmm3, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x0000104c shlq $48, %rcx + 0x48, 0xc1, 0xe3, 0x20, //0x00001050 shlq $32, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x00001054 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001058 orq %rax, %rdi + 0x48, 0x09, 0xdf, //0x0000105b orq %rbx, %rdi + 0x48, 0x09, 0xcf, //0x0000105e orq %rcx, %rdi + 0x48, 0x89, 0xf8, //0x00001061 movq %rdi, %rax + 0x4c, 0x09, 0xd0, //0x00001064 orq %r10, %rax + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x00001067 je LBB0_267 + 0x4c, 0x89, 0xd0, //0x0000106d movq %r10, %rax + 0x48, 0xf7, 0xd0, //0x00001070 notq %rax + 0x48, 0x21, 0xf8, //0x00001073 andq %rdi, %rax + 0x4c, 0x8d, 0x34, 0x00, //0x00001076 leaq (%rax,%rax), %r14 + 0x4d, 0x09, 0xd6, //0x0000107a orq %r10, %r14 + 0x4c, 0x89, 0xf1, //0x0000107d movq %r14, %rcx + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001080 movabsq $-6148914691236517206, %rbx + 0x48, 0x31, 0xd9, //0x0000108a xorq %rbx, %rcx + 0x48, 0x21, 0xdf, //0x0000108d andq %rbx, %rdi + 0x48, 0x21, 0xcf, //0x00001090 andq %rcx, %rdi + 0x45, 0x31, 0xd2, //0x00001093 xorl %r10d, %r10d + 0x48, 0x01, 0xc7, //0x00001096 addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc2, //0x00001099 setb %r10b + 0x48, 0x01, 0xff, //0x0000109d addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000010a0 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x000010aa xorq %rax, %rdi + 0x4c, 0x21, 0xf7, //0x000010ad andq %r14, %rdi + 0x48, 0xf7, 0xd7, //0x000010b0 notq %rdi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x000010b3 jmp LBB0_268 + //0x000010b8 LBB0_267 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000010b8 movq $-1, %rdi + 0x45, 0x31, 0xd2, //0x000010bf xorl %r10d, %r10d + //0x000010c2 LBB0_268 + 0x48, 0x21, 0xf7, //0x000010c2 andq %rsi, %rdi + 0xc4, 0xe1, 0xf9, 0x6e, 0xdf, //0x000010c5 vmovq %rdi, %xmm3 + 0xc4, 0xc3, 0x61, 0x44, 0xd9, 0x00, //0x000010ca vpclmulqdq $0, %xmm9, %xmm3, %xmm3 + 0xc4, 0xc1, 0xf9, 0x7e, 0xde, //0x000010d0 vmovq %xmm3, %r14 + 0x4d, 0x31, 0xc6, //0x000010d5 xorq %r8, %r14 + 0xc5, 0xa9, 0x74, 0xda, //0x000010d8 vpcmpeqb %xmm2, %xmm10, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x000010dc vpmovmskb %xmm3, %edi + 0xc5, 0xa9, 0x74, 0xde, //0x000010e0 vpcmpeqb %xmm6, %xmm10, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x000010e4 vpmovmskb %xmm3, %eax + 0xc5, 0xa9, 0x74, 0xdd, //0x000010e8 vpcmpeqb %xmm5, %xmm10, %xmm3 + 0xc5, 0xf9, 0xd7, 0xcb, //0x000010ec vpmovmskb %xmm3, %ecx + 0xc5, 0xa9, 0x74, 0xdf, //0x000010f0 vpcmpeqb %xmm7, %xmm10, %xmm3 + 0xc5, 0xf9, 0xd7, 0xdb, //0x000010f4 vpmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x000010f8 shlq $48, %rbx + 0x48, 0xc1, 0xe1, 0x20, //0x000010fc shlq $32, %rcx + 0x48, 0xc1, 0xe0, 0x10, //0x00001100 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001104 orq %rax, %rdi + 0x48, 0x09, 0xcf, //0x00001107 orq %rcx, %rdi + 0x48, 0x09, 0xdf, //0x0000110a orq %rbx, %rdi + 0x4d, 0x89, 0xf0, //0x0000110d movq %r14, %r8 + 0x49, 0xf7, 0xd0, //0x00001110 notq %r8 + 0x4c, 0x21, 0xc7, //0x00001113 andq %r8, %rdi + 0xc5, 0xa1, 0x74, 0xd2, //0x00001116 vpcmpeqb %xmm2, %xmm11, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x0000111a vpmovmskb %xmm2, %eax + 0xc5, 0xa1, 0x74, 0xd6, //0x0000111e vpcmpeqb %xmm6, %xmm11, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x00001122 vpmovmskb %xmm2, %ebx + 0xc5, 0xa1, 0x74, 0xd5, //0x00001126 vpcmpeqb %xmm5, %xmm11, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x0000112a vpmovmskb %xmm2, %esi + 0xc5, 0xa1, 0x74, 0xd7, //0x0000112e vpcmpeqb %xmm7, %xmm11, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x00001132 vpmovmskb %xmm2, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x00001136 shlq $48, %rcx + 0x48, 0xc1, 0xe6, 0x20, //0x0000113a shlq $32, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x0000113e shlq $16, %rbx + 0x48, 0x09, 0xd8, //0x00001142 orq %rbx, %rax + 0x48, 0x09, 0xf0, //0x00001145 orq %rsi, %rax + 0x48, 0x09, 0xc8, //0x00001148 orq %rcx, %rax + 0x4c, 0x21, 0xc0, //0x0000114b andq %r8, %rax + 0x0f, 0x84, 0x69, 0xfe, 0xff, 0xff, //0x0000114e je LBB0_263 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00001154 movq $24(%rsp), %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001159 .p2align 4, 0x90 + //0x00001160 LBB0_270 + 0x48, 0x8d, 0x58, 0xff, //0x00001160 leaq $-1(%rax), %rbx + 0x48, 0x89, 0xd9, //0x00001164 movq %rbx, %rcx + 0x48, 0x21, 0xf9, //0x00001167 andq %rdi, %rcx + 0xf3, 0x48, 0x0f, 0xb8, 0xc9, //0x0000116a popcntq %rcx, %rcx + 0x4c, 0x01, 0xd9, //0x0000116f addq %r11, %rcx + 0x48, 0x39, 0xd1, //0x00001172 cmpq %rdx, %rcx + 0x0f, 0x86, 0x71, 0x04, 0x00, 0x00, //0x00001175 jbe LBB0_316 + 0x48, 0xff, 0xc2, //0x0000117b incq %rdx + 0x48, 0x21, 0xd8, //0x0000117e andq %rbx, %rax + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00001181 jne LBB0_270 + 0xe9, 0x31, 0xfe, 0xff, 0xff, //0x00001187 jmp LBB0_263 + //0x0000118c LBB0_272 + 0x4d, 0x85, 0xc9, //0x0000118c testq %r9, %r9 + 0x0f, 0x8e, 0x5c, 0x0b, 0x00, 0x00, //0x0000118f jle LBB0_338 + 0x48, 0x89, 0xf9, //0x00001195 movq %rdi, %rcx + 0xc5, 0x7e, 0x7f, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, //0x00001198 vmovdqu %ymm8, $128(%rsp) + 0xc5, 0x7e, 0x7f, 0x44, 0x24, 0x60, //0x000011a1 vmovdqu %ymm8, $96(%rsp) + 0x89, 0xc8, //0x000011a7 movl %ecx, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x000011a9 andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x000011ae cmpl $4033, %eax + 0x0f, 0x82, 0x34, 0x00, 0x00, 0x00, //0x000011b3 jb LBB0_276 + 0x49, 0x83, 0xf9, 0x20, //0x000011b9 cmpq $32, %r9 + 0x0f, 0x82, 0x37, 0x00, 0x00, 0x00, //0x000011bd jb LBB0_277 + 0xc5, 0xf8, 0x10, 0x11, //0x000011c3 vmovups (%rcx), %xmm2 + 0xc5, 0xf8, 0x11, 0x54, 0x24, 0x60, //0x000011c7 vmovups %xmm2, $96(%rsp) + 0xc5, 0xfa, 0x6f, 0x51, 0x10, //0x000011cd vmovdqu $16(%rcx), %xmm2 + 0xc5, 0xfa, 0x7f, 0x54, 0x24, 0x70, //0x000011d2 vmovdqu %xmm2, $112(%rsp) + 0x48, 0x83, 0xc1, 0x20, //0x000011d8 addq $32, %rcx + 0x49, 0x8d, 0x79, 0xe0, //0x000011dc leaq $-32(%r9), %rdi + 0x48, 0x8d, 0xb4, 0x24, 0x80, 0x00, 0x00, 0x00, //0x000011e0 leaq $128(%rsp), %rsi + 0xe9, 0x15, 0x00, 0x00, 0x00, //0x000011e8 jmp LBB0_278 + //0x000011ed LBB0_276 + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x000011ed movq $40(%rsp), %r15 + 0x48, 0x89, 0xcf, //0x000011f2 movq %rcx, %rdi + 0xe9, 0xe7, 0xfd, 0xff, 0xff, //0x000011f5 jmp LBB0_265 + //0x000011fa LBB0_277 + 0x48, 0x8d, 0x74, 0x24, 0x60, //0x000011fa leaq $96(%rsp), %rsi + 0x4c, 0x89, 0xcf, //0x000011ff movq %r9, %rdi + //0x00001202 LBB0_278 + 0x48, 0x83, 0xff, 0x10, //0x00001202 cmpq $16, %rdi + 0x0f, 0x82, 0x47, 0x00, 0x00, 0x00, //0x00001206 jb LBB0_279 + 0xc5, 0xfa, 0x6f, 0x11, //0x0000120c vmovdqu (%rcx), %xmm2 + 0xc5, 0xfa, 0x7f, 0x16, //0x00001210 vmovdqu %xmm2, (%rsi) + 0x48, 0x83, 0xc1, 0x10, //0x00001214 addq $16, %rcx + 0x48, 0x83, 0xc6, 0x10, //0x00001218 addq $16, %rsi + 0x48, 0x83, 0xc7, 0xf0, //0x0000121c addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x00001220 cmpq $8, %rdi + 0x0f, 0x83, 0x33, 0x00, 0x00, 0x00, //0x00001224 jae LBB0_286 + //0x0000122a LBB0_280 + 0x48, 0x83, 0xff, 0x04, //0x0000122a cmpq $4, %rdi + 0x0f, 0x8c, 0x45, 0x00, 0x00, 0x00, //0x0000122e jl LBB0_281 + //0x00001234 LBB0_287 + 0x8b, 0x01, //0x00001234 movl (%rcx), %eax + 0x89, 0x06, //0x00001236 movl %eax, (%rsi) + 0x48, 0x83, 0xc1, 0x04, //0x00001238 addq $4, %rcx + 0x48, 0x83, 0xc6, 0x04, //0x0000123c addq $4, %rsi + 0x48, 0x83, 0xc7, 0xfc, //0x00001240 addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x00001244 cmpq $2, %rdi + 0x0f, 0x83, 0x35, 0x00, 0x00, 0x00, //0x00001248 jae LBB0_282 + 0xe9, 0x42, 0x00, 0x00, 0x00, //0x0000124e jmp LBB0_283 + //0x00001253 LBB0_279 + 0x48, 0x83, 0xff, 0x08, //0x00001253 cmpq $8, %rdi + 0x0f, 0x82, 0xcd, 0xff, 0xff, 0xff, //0x00001257 jb LBB0_280 + //0x0000125d LBB0_286 + 0x48, 0x8b, 0x01, //0x0000125d movq (%rcx), %rax + 0x48, 0x89, 0x06, //0x00001260 movq %rax, (%rsi) + 0x48, 0x83, 0xc1, 0x08, //0x00001263 addq $8, %rcx + 0x48, 0x83, 0xc6, 0x08, //0x00001267 addq $8, %rsi + 0x48, 0x83, 0xc7, 0xf8, //0x0000126b addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x0000126f cmpq $4, %rdi + 0x0f, 0x8d, 0xbb, 0xff, 0xff, 0xff, //0x00001273 jge LBB0_287 + //0x00001279 LBB0_281 + 0x48, 0x83, 0xff, 0x02, //0x00001279 cmpq $2, %rdi + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x0000127d jb LBB0_283 + //0x00001283 LBB0_282 + 0x0f, 0xb7, 0x01, //0x00001283 movzwl (%rcx), %eax + 0x66, 0x89, 0x06, //0x00001286 movw %ax, (%rsi) + 0x48, 0x83, 0xc1, 0x02, //0x00001289 addq $2, %rcx + 0x48, 0x83, 0xc6, 0x02, //0x0000128d addq $2, %rsi + 0x48, 0x83, 0xc7, 0xfe, //0x00001291 addq $-2, %rdi + //0x00001295 LBB0_283 + 0x48, 0x89, 0xc8, //0x00001295 movq %rcx, %rax + 0x48, 0x8d, 0x4c, 0x24, 0x60, //0x00001298 leaq $96(%rsp), %rcx + 0x48, 0x85, 0xff, //0x0000129d testq %rdi, %rdi + 0x48, 0x89, 0xcf, //0x000012a0 movq %rcx, %rdi + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x000012a3 movq $40(%rsp), %r15 + 0x0f, 0x84, 0x33, 0xfd, 0xff, 0xff, //0x000012a8 je LBB0_265 + 0x8a, 0x00, //0x000012ae movb (%rax), %al + 0x88, 0x06, //0x000012b0 movb %al, (%rsi) + 0x48, 0x8d, 0x7c, 0x24, 0x60, //0x000012b2 leaq $96(%rsp), %rdi + 0xe9, 0x25, 0xfd, 0xff, 0xff, //0x000012b7 jmp LBB0_265 + //0x000012bc LBB0_288 + 0x48, 0x83, 0xc1, 0x05, //0x000012bc addq $5, %rcx + 0x49, 0x3b, 0x0b, //0x000012c0 cmpq (%r11), %rcx + 0x0f, 0x87, 0x67, 0xfa, 0xff, 0xff, //0x000012c3 ja LBB0_222 + //0x000012c9 LBB0_289 + 0x49, 0x89, 0x08, //0x000012c9 movq %rcx, (%r8) + 0x49, 0x89, 0xca, //0x000012cc movq %rcx, %r10 + 0xe9, 0x5c, 0xfa, 0xff, 0xff, //0x000012cf jmp LBB0_222 + //0x000012d4 LBB0_290 + 0x4d, 0x8b, 0x0b, //0x000012d4 movq (%r11), %r9 + 0x4d, 0x29, 0xd1, //0x000012d7 subq %r10, %r9 + 0x4c, 0x01, 0xd7, //0x000012da addq %r10, %rdi + 0x45, 0x31, 0xc0, //0x000012dd xorl %r8d, %r8d + 0x45, 0x31, 0xd2, //0x000012e0 xorl %r10d, %r10d + 0x45, 0x31, 0xdb, //0x000012e3 xorl %r11d, %r11d + 0x31, 0xd2, //0x000012e6 xorl %edx, %edx + 0xe9, 0x1a, 0x00, 0x00, 0x00, //0x000012e8 jmp LBB0_292 + //0x000012ed LBB0_291 + 0x49, 0xc1, 0xfe, 0x3f, //0x000012ed sarq $63, %r14 + 0xf3, 0x48, 0x0f, 0xb8, 0xc7, //0x000012f1 popcntq %rdi, %rax + 0x49, 0x01, 0xc3, //0x000012f6 addq %rax, %r11 + 0x4c, 0x89, 0xe7, //0x000012f9 movq %r12, %rdi + 0x48, 0x83, 0xc7, 0x40, //0x000012fc addq $64, %rdi + 0x49, 0x83, 0xc1, 0xc0, //0x00001300 addq $-64, %r9 + 0x4d, 0x89, 0xf0, //0x00001304 movq %r14, %r8 + //0x00001307 LBB0_292 + 0x49, 0x83, 0xf9, 0x40, //0x00001307 cmpq $64, %r9 + 0x0f, 0x8c, 0xab, 0x01, 0x00, 0x00, //0x0000130b jl LBB0_300 + //0x00001311 LBB0_293 + 0xc5, 0xfa, 0x6f, 0x17, //0x00001311 vmovdqu (%rdi), %xmm2 + 0xc5, 0xfa, 0x6f, 0x77, 0x10, //0x00001315 vmovdqu $16(%rdi), %xmm6 + 0xc5, 0xfa, 0x6f, 0x6f, 0x20, //0x0000131a vmovdqu $32(%rdi), %xmm5 + 0x49, 0x89, 0xfc, //0x0000131f movq %rdi, %r12 + 0xc5, 0xfa, 0x6f, 0x7f, 0x30, //0x00001322 vmovdqu $48(%rdi), %xmm7 + 0xc5, 0xe9, 0x74, 0xd8, //0x00001327 vpcmpeqb %xmm0, %xmm2, %xmm3 + 0xc5, 0xf9, 0xd7, 0xf3, //0x0000132b vpmovmskb %xmm3, %esi + 0xc5, 0xc9, 0x74, 0xd8, //0x0000132f vpcmpeqb %xmm0, %xmm6, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x00001333 vpmovmskb %xmm3, %eax + 0xc5, 0xd1, 0x74, 0xd8, //0x00001337 vpcmpeqb %xmm0, %xmm5, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x0000133b vpmovmskb %xmm3, %edi + 0xc5, 0xc1, 0x74, 0xd8, //0x0000133f vpcmpeqb %xmm0, %xmm7, %xmm3 + 0xc5, 0xf9, 0xd7, 0xdb, //0x00001343 vpmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x00001347 shlq $48, %rbx + 0x48, 0xc1, 0xe7, 0x20, //0x0000134b shlq $32, %rdi + 0x48, 0xc1, 0xe0, 0x10, //0x0000134f shlq $16, %rax + 0x48, 0x09, 0xc6, //0x00001353 orq %rax, %rsi + 0x48, 0x09, 0xfe, //0x00001356 orq %rdi, %rsi + 0x48, 0x09, 0xde, //0x00001359 orq %rbx, %rsi + 0xc5, 0xe9, 0x74, 0xd9, //0x0000135c vpcmpeqb %xmm1, %xmm2, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x00001360 vpmovmskb %xmm3, %edi + 0xc5, 0xc9, 0x74, 0xd9, //0x00001364 vpcmpeqb %xmm1, %xmm6, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x00001368 vpmovmskb %xmm3, %eax + 0xc5, 0xd1, 0x74, 0xd9, //0x0000136c vpcmpeqb %xmm1, %xmm5, %xmm3 + 0xc5, 0xf9, 0xd7, 0xdb, //0x00001370 vpmovmskb %xmm3, %ebx + 0xc5, 0xc1, 0x74, 0xd9, //0x00001374 vpcmpeqb %xmm1, %xmm7, %xmm3 + 0xc5, 0xf9, 0xd7, 0xcb, //0x00001378 vpmovmskb %xmm3, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x0000137c shlq $48, %rcx + 0x48, 0xc1, 0xe3, 0x20, //0x00001380 shlq $32, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x00001384 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001388 orq %rax, %rdi + 0x48, 0x09, 0xdf, //0x0000138b orq %rbx, %rdi + 0x48, 0x09, 0xcf, //0x0000138e orq %rcx, %rdi + 0x48, 0x89, 0xf8, //0x00001391 movq %rdi, %rax + 0x4c, 0x09, 0xd0, //0x00001394 orq %r10, %rax + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x00001397 je LBB0_295 + 0x4c, 0x89, 0xd0, //0x0000139d movq %r10, %rax + 0x48, 0xf7, 0xd0, //0x000013a0 notq %rax + 0x48, 0x21, 0xf8, //0x000013a3 andq %rdi, %rax + 0x4c, 0x8d, 0x34, 0x00, //0x000013a6 leaq (%rax,%rax), %r14 + 0x4d, 0x09, 0xd6, //0x000013aa orq %r10, %r14 + 0x4c, 0x89, 0xf1, //0x000013ad movq %r14, %rcx + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000013b0 movabsq $-6148914691236517206, %rbx + 0x48, 0x31, 0xd9, //0x000013ba xorq %rbx, %rcx + 0x48, 0x21, 0xdf, //0x000013bd andq %rbx, %rdi + 0x48, 0x21, 0xcf, //0x000013c0 andq %rcx, %rdi + 0x45, 0x31, 0xd2, //0x000013c3 xorl %r10d, %r10d + 0x48, 0x01, 0xc7, //0x000013c6 addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc2, //0x000013c9 setb %r10b + 0x48, 0x01, 0xff, //0x000013cd addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000013d0 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x000013da xorq %rax, %rdi + 0x4c, 0x21, 0xf7, //0x000013dd andq %r14, %rdi + 0x48, 0xf7, 0xd7, //0x000013e0 notq %rdi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x000013e3 jmp LBB0_296 + //0x000013e8 LBB0_295 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000013e8 movq $-1, %rdi + 0x45, 0x31, 0xd2, //0x000013ef xorl %r10d, %r10d + //0x000013f2 LBB0_296 + 0x48, 0x21, 0xf7, //0x000013f2 andq %rsi, %rdi + 0xc4, 0xe1, 0xf9, 0x6e, 0xdf, //0x000013f5 vmovq %rdi, %xmm3 + 0xc4, 0xc3, 0x61, 0x44, 0xd9, 0x00, //0x000013fa vpclmulqdq $0, %xmm9, %xmm3, %xmm3 + 0xc4, 0xc1, 0xf9, 0x7e, 0xde, //0x00001400 vmovq %xmm3, %r14 + 0x4d, 0x31, 0xc6, //0x00001405 xorq %r8, %r14 + 0xc5, 0x99, 0x74, 0xda, //0x00001408 vpcmpeqb %xmm2, %xmm12, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x0000140c vpmovmskb %xmm3, %edi + 0xc5, 0x99, 0x74, 0xde, //0x00001410 vpcmpeqb %xmm6, %xmm12, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x00001414 vpmovmskb %xmm3, %eax + 0xc5, 0x99, 0x74, 0xdd, //0x00001418 vpcmpeqb %xmm5, %xmm12, %xmm3 + 0xc5, 0xf9, 0xd7, 0xcb, //0x0000141c vpmovmskb %xmm3, %ecx + 0xc5, 0x99, 0x74, 0xdf, //0x00001420 vpcmpeqb %xmm7, %xmm12, %xmm3 + 0xc5, 0xf9, 0xd7, 0xdb, //0x00001424 vpmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x00001428 shlq $48, %rbx + 0x48, 0xc1, 0xe1, 0x20, //0x0000142c shlq $32, %rcx + 0x48, 0xc1, 0xe0, 0x10, //0x00001430 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001434 orq %rax, %rdi + 0x48, 0x09, 0xcf, //0x00001437 orq %rcx, %rdi + 0x48, 0x09, 0xdf, //0x0000143a orq %rbx, %rdi + 0x4d, 0x89, 0xf0, //0x0000143d movq %r14, %r8 + 0x49, 0xf7, 0xd0, //0x00001440 notq %r8 + 0x4c, 0x21, 0xc7, //0x00001443 andq %r8, %rdi + 0xc5, 0x91, 0x74, 0xd2, //0x00001446 vpcmpeqb %xmm2, %xmm13, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x0000144a vpmovmskb %xmm2, %eax + 0xc5, 0x91, 0x74, 0xd6, //0x0000144e vpcmpeqb %xmm6, %xmm13, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x00001452 vpmovmskb %xmm2, %ebx + 0xc5, 0x91, 0x74, 0xd5, //0x00001456 vpcmpeqb %xmm5, %xmm13, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x0000145a vpmovmskb %xmm2, %esi + 0xc5, 0x91, 0x74, 0xd7, //0x0000145e vpcmpeqb %xmm7, %xmm13, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x00001462 vpmovmskb %xmm2, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x00001466 shlq $48, %rcx + 0x48, 0xc1, 0xe6, 0x20, //0x0000146a shlq $32, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x0000146e shlq $16, %rbx + 0x48, 0x09, 0xd8, //0x00001472 orq %rbx, %rax + 0x48, 0x09, 0xf0, //0x00001475 orq %rsi, %rax + 0x48, 0x09, 0xc8, //0x00001478 orq %rcx, %rax + 0x4c, 0x21, 0xc0, //0x0000147b andq %r8, %rax + 0x0f, 0x84, 0x69, 0xfe, 0xff, 0xff, //0x0000147e je LBB0_291 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00001484 movq $24(%rsp), %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001489 .p2align 4, 0x90 + //0x00001490 LBB0_298 + 0x48, 0x8d, 0x58, 0xff, //0x00001490 leaq $-1(%rax), %rbx + 0x48, 0x89, 0xd9, //0x00001494 movq %rbx, %rcx + 0x48, 0x21, 0xf9, //0x00001497 andq %rdi, %rcx + 0xf3, 0x48, 0x0f, 0xb8, 0xc9, //0x0000149a popcntq %rcx, %rcx + 0x4c, 0x01, 0xd9, //0x0000149f addq %r11, %rcx + 0x48, 0x39, 0xd1, //0x000014a2 cmpq %rdx, %rcx + 0x0f, 0x86, 0x41, 0x01, 0x00, 0x00, //0x000014a5 jbe LBB0_316 + 0x48, 0xff, 0xc2, //0x000014ab incq %rdx + 0x48, 0x21, 0xd8, //0x000014ae andq %rbx, %rax + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x000014b1 jne LBB0_298 + 0xe9, 0x31, 0xfe, 0xff, 0xff, //0x000014b7 jmp LBB0_291 + //0x000014bc LBB0_300 + 0x4d, 0x85, 0xc9, //0x000014bc testq %r9, %r9 + 0x0f, 0x8e, 0x2c, 0x08, 0x00, 0x00, //0x000014bf jle LBB0_338 + 0x48, 0x89, 0xf9, //0x000014c5 movq %rdi, %rcx + 0xc5, 0x7e, 0x7f, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, //0x000014c8 vmovdqu %ymm8, $128(%rsp) + 0xc5, 0x7e, 0x7f, 0x44, 0x24, 0x60, //0x000014d1 vmovdqu %ymm8, $96(%rsp) + 0x89, 0xc8, //0x000014d7 movl %ecx, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x000014d9 andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x000014de cmpl $4033, %eax + 0x0f, 0x82, 0x34, 0x00, 0x00, 0x00, //0x000014e3 jb LBB0_304 + 0x49, 0x83, 0xf9, 0x20, //0x000014e9 cmpq $32, %r9 + 0x0f, 0x82, 0x37, 0x00, 0x00, 0x00, //0x000014ed jb LBB0_305 + 0xc5, 0xf8, 0x10, 0x11, //0x000014f3 vmovups (%rcx), %xmm2 + 0xc5, 0xf8, 0x11, 0x54, 0x24, 0x60, //0x000014f7 vmovups %xmm2, $96(%rsp) + 0xc5, 0xfa, 0x6f, 0x51, 0x10, //0x000014fd vmovdqu $16(%rcx), %xmm2 + 0xc5, 0xfa, 0x7f, 0x54, 0x24, 0x70, //0x00001502 vmovdqu %xmm2, $112(%rsp) + 0x48, 0x83, 0xc1, 0x20, //0x00001508 addq $32, %rcx + 0x49, 0x8d, 0x79, 0xe0, //0x0000150c leaq $-32(%r9), %rdi + 0x48, 0x8d, 0xb4, 0x24, 0x80, 0x00, 0x00, 0x00, //0x00001510 leaq $128(%rsp), %rsi + 0xe9, 0x15, 0x00, 0x00, 0x00, //0x00001518 jmp LBB0_306 + //0x0000151d LBB0_304 + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x0000151d movq $40(%rsp), %r15 + 0x48, 0x89, 0xcf, //0x00001522 movq %rcx, %rdi + 0xe9, 0xe7, 0xfd, 0xff, 0xff, //0x00001525 jmp LBB0_293 + //0x0000152a LBB0_305 + 0x48, 0x8d, 0x74, 0x24, 0x60, //0x0000152a leaq $96(%rsp), %rsi + 0x4c, 0x89, 0xcf, //0x0000152f movq %r9, %rdi + //0x00001532 LBB0_306 + 0x48, 0x83, 0xff, 0x10, //0x00001532 cmpq $16, %rdi + 0x0f, 0x82, 0x47, 0x00, 0x00, 0x00, //0x00001536 jb LBB0_307 + 0xc5, 0xfa, 0x6f, 0x11, //0x0000153c vmovdqu (%rcx), %xmm2 + 0xc5, 0xfa, 0x7f, 0x16, //0x00001540 vmovdqu %xmm2, (%rsi) + 0x48, 0x83, 0xc1, 0x10, //0x00001544 addq $16, %rcx + 0x48, 0x83, 0xc6, 0x10, //0x00001548 addq $16, %rsi + 0x48, 0x83, 0xc7, 0xf0, //0x0000154c addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x00001550 cmpq $8, %rdi + 0x0f, 0x83, 0x33, 0x00, 0x00, 0x00, //0x00001554 jae LBB0_314 + //0x0000155a LBB0_308 + 0x48, 0x83, 0xff, 0x04, //0x0000155a cmpq $4, %rdi + 0x0f, 0x8c, 0x45, 0x00, 0x00, 0x00, //0x0000155e jl LBB0_309 + //0x00001564 LBB0_315 + 0x8b, 0x01, //0x00001564 movl (%rcx), %eax + 0x89, 0x06, //0x00001566 movl %eax, (%rsi) + 0x48, 0x83, 0xc1, 0x04, //0x00001568 addq $4, %rcx + 0x48, 0x83, 0xc6, 0x04, //0x0000156c addq $4, %rsi + 0x48, 0x83, 0xc7, 0xfc, //0x00001570 addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x00001574 cmpq $2, %rdi + 0x0f, 0x83, 0x35, 0x00, 0x00, 0x00, //0x00001578 jae LBB0_310 + 0xe9, 0x42, 0x00, 0x00, 0x00, //0x0000157e jmp LBB0_311 + //0x00001583 LBB0_307 + 0x48, 0x83, 0xff, 0x08, //0x00001583 cmpq $8, %rdi + 0x0f, 0x82, 0xcd, 0xff, 0xff, 0xff, //0x00001587 jb LBB0_308 + //0x0000158d LBB0_314 + 0x48, 0x8b, 0x01, //0x0000158d movq (%rcx), %rax + 0x48, 0x89, 0x06, //0x00001590 movq %rax, (%rsi) + 0x48, 0x83, 0xc1, 0x08, //0x00001593 addq $8, %rcx + 0x48, 0x83, 0xc6, 0x08, //0x00001597 addq $8, %rsi + 0x48, 0x83, 0xc7, 0xf8, //0x0000159b addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x0000159f cmpq $4, %rdi + 0x0f, 0x8d, 0xbb, 0xff, 0xff, 0xff, //0x000015a3 jge LBB0_315 + //0x000015a9 LBB0_309 + 0x48, 0x83, 0xff, 0x02, //0x000015a9 cmpq $2, %rdi + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x000015ad jb LBB0_311 + //0x000015b3 LBB0_310 + 0x0f, 0xb7, 0x01, //0x000015b3 movzwl (%rcx), %eax + 0x66, 0x89, 0x06, //0x000015b6 movw %ax, (%rsi) + 0x48, 0x83, 0xc1, 0x02, //0x000015b9 addq $2, %rcx + 0x48, 0x83, 0xc6, 0x02, //0x000015bd addq $2, %rsi + 0x48, 0x83, 0xc7, 0xfe, //0x000015c1 addq $-2, %rdi + //0x000015c5 LBB0_311 + 0x48, 0x89, 0xc8, //0x000015c5 movq %rcx, %rax + 0x48, 0x8d, 0x4c, 0x24, 0x60, //0x000015c8 leaq $96(%rsp), %rcx + 0x48, 0x85, 0xff, //0x000015cd testq %rdi, %rdi + 0x48, 0x89, 0xcf, //0x000015d0 movq %rcx, %rdi + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x000015d3 movq $40(%rsp), %r15 + 0x0f, 0x84, 0x33, 0xfd, 0xff, 0xff, //0x000015d8 je LBB0_293 + 0x8a, 0x00, //0x000015de movb (%rax), %al + 0x88, 0x06, //0x000015e0 movb %al, (%rsi) + 0x48, 0x8d, 0x7c, 0x24, 0x60, //0x000015e2 leaq $96(%rsp), %rdi + 0xe9, 0x25, 0xfd, 0xff, 0xff, //0x000015e7 jmp LBB0_293 + //0x000015ec LBB0_316 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x000015ec movq $56(%rsp), %r11 + 0x49, 0x8b, 0x0b, //0x000015f1 movq (%r11), %rcx + 0x48, 0x0f, 0xbc, 0xc0, //0x000015f4 bsfq %rax, %rax + 0x4c, 0x29, 0xc8, //0x000015f8 subq %r9, %rax + 0x4c, 0x8d, 0x54, 0x08, 0x01, //0x000015fb leaq $1(%rax,%rcx), %r10 + 0x4d, 0x89, 0x10, //0x00001600 movq %r10, (%r8) + 0x49, 0x8b, 0x03, //0x00001603 movq (%r11), %rax + 0x49, 0x39, 0xc2, //0x00001606 cmpq %rax, %r10 + 0x4c, 0x0f, 0x47, 0xd0, //0x00001609 cmovaq %rax, %r10 + 0x4d, 0x89, 0x10, //0x0000160d movq %r10, (%r8) + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001610 movabsq $4294977024, %r9 + 0xe9, 0x11, 0xf7, 0xff, 0xff, //0x0000161a jmp LBB0_222 + //0x0000161f LBB0_68 + 0x48, 0x8b, 0x8c, 0x24, 0xa8, 0x00, 0x00, 0x00, //0x0000161f movq $168(%rsp), %rcx + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x00001627 movq $40(%rsp), %r15 + 0x4c, 0x8b, 0x6c, 0x24, 0x58, //0x0000162c movq $88(%rsp), %r13 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00001631 movq $56(%rsp), %r11 + 0x4c, 0x8b, 0x64, 0x24, 0x30, //0x00001636 movq $48(%rsp), %r12 + 0x4c, 0x8b, 0x54, 0x24, 0x50, //0x0000163b movq $80(%rsp), %r10 + 0x48, 0x83, 0xf9, 0x20, //0x00001640 cmpq $32, %rcx + 0x0f, 0x82, 0xaa, 0x00, 0x00, 0x00, //0x00001644 jb LBB0_106 + //0x0000164a LBB0_69 + 0xc4, 0xc1, 0x7a, 0x6f, 0x12, //0x0000164a vmovdqu (%r10), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x5a, 0x10, //0x0000164f vmovdqu $16(%r10), %xmm3 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001655 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0x79, 0xd7, 0xcd, //0x00001659 vpmovmskb %xmm5, %r9d + 0xc5, 0xe1, 0x74, 0xe8, //0x0000165d vpcmpeqb %xmm0, %xmm3, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x00001661 vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xd1, //0x00001665 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001669 vpmovmskb %xmm2, %edi + 0xc5, 0xe1, 0x74, 0xd1, //0x0000166d vpcmpeqb %xmm1, %xmm3, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001671 vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe6, 0x10, //0x00001675 shlq $16, %rsi + 0x48, 0xc1, 0xe0, 0x10, //0x00001679 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x0000167d orq %rax, %rdi + 0x49, 0x83, 0xf8, 0xff, //0x00001680 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001684 jne LBB0_71 + 0x48, 0x85, 0xff, //0x0000168a testq %rdi, %rdi + 0x0f, 0x85, 0xdc, 0x04, 0x00, 0x00, //0x0000168d jne LBB0_324 + //0x00001693 LBB0_71 + 0x4c, 0x09, 0xce, //0x00001693 orq %r9, %rsi + 0x48, 0x89, 0xf8, //0x00001696 movq %rdi, %rax + 0x48, 0x09, 0xd8, //0x00001699 orq %rbx, %rax + 0x0f, 0x85, 0xeb, 0x04, 0x00, 0x00, //0x0000169c jne LBB0_325 + //0x000016a2 LBB0_72 + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000016a2 movabsq $4294977024, %r9 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x000016ac movq $32(%rsp), %rdi + 0x48, 0x85, 0xf6, //0x000016b1 testq %rsi, %rsi + 0x0f, 0x84, 0x23, 0x05, 0x00, 0x00, //0x000016b4 je LBB0_326 + //0x000016ba LBB0_73 + 0x48, 0x0f, 0xbc, 0xc6, //0x000016ba bsfq %rsi, %rax + 0x49, 0x29, 0xfa, //0x000016be subq %rdi, %r10 + 0x4d, 0x8d, 0x54, 0x02, 0x01, //0x000016c1 leaq $1(%r10,%rax), %r10 + 0x48, 0x8b, 0x74, 0x24, 0x48, //0x000016c6 movq $72(%rsp), %rsi + 0x4d, 0x85, 0xd2, //0x000016cb testq %r10, %r10 + 0x48, 0x8b, 0x9c, 0x24, 0xb0, 0x00, 0x00, 0x00, //0x000016ce movq $176(%rsp), %rbx + 0x0f, 0x89, 0xa9, 0xf0, 0xff, 0xff, //0x000016d6 jns LBB0_79 + 0xe9, 0x5e, 0x36, 0x00, 0x00, //0x000016dc jmp LBB0_937 + //0x000016e1 LBB0_105 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000016e1 movq $-1, %r8 + 0x31, 0xdb, //0x000016e8 xorl %ebx, %ebx + 0x48, 0x83, 0xf9, 0x20, //0x000016ea cmpq $32, %rcx + 0x0f, 0x83, 0x56, 0xff, 0xff, 0xff, //0x000016ee jae LBB0_69 + //0x000016f4 LBB0_106 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x000016f4 movq $32(%rsp), %rdi + 0xe9, 0xe7, 0x04, 0x00, 0x00, //0x000016f9 jmp LBB0_327 + //0x000016fe LBB0_107 + 0x48, 0xc7, 0x44, 0x24, 0x60, 0x00, 0x00, 0x00, 0x00, //0x000016fe movq $0, $96(%rsp) + 0x4e, 0x8d, 0x4c, 0x17, 0xff, //0x00001707 leaq $-1(%rdi,%r10), %r9 + 0x4d, 0x8d, 0x1c, 0x34, //0x0000170c leaq (%r12,%rsi), %r11 + 0x48, 0x85, 0xf6, //0x00001710 testq %rsi, %rsi + 0x0f, 0x8e, 0x10, 0x04, 0x00, 0x00, //0x00001713 jle LBB0_151 + 0x49, 0x39, 0xd9, //0x00001719 cmpq %rbx, %r9 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x0000171c movq $24(%rsp), %r8 + 0x0f, 0x86, 0x07, 0x04, 0x00, 0x00, //0x00001721 jbe LBB0_152 + //0x00001727 LBB0_109 + 0x8a, 0x03, //0x00001727 movb (%rbx), %al + 0x3c, 0x5c, //0x00001729 cmpb $92, %al + 0x0f, 0x85, 0xaf, 0x00, 0x00, 0x00, //0x0000172b jne LBB0_114 + 0x4c, 0x89, 0xcf, //0x00001731 movq %r9, %rdi + 0x48, 0x29, 0xdf, //0x00001734 subq %rbx, %rdi + 0x48, 0x85, 0xff, //0x00001737 testq %rdi, %rdi + 0x0f, 0x8e, 0xff, 0x37, 0x00, 0x00, //0x0000173a jle LBB0_958 + 0x49, 0x89, 0xde, //0x00001740 movq %rbx, %r14 + 0x0f, 0xb6, 0x43, 0x01, //0x00001743 movzbl $1(%rbx), %eax + 0x48, 0x8d, 0x0d, 0x22, 0x42, 0x00, 0x00, //0x00001747 leaq $16930(%rip), %rcx /* __UnquoteTab+0(%rip) */ + 0x8a, 0x1c, 0x08, //0x0000174e movb (%rax,%rcx), %bl + 0x80, 0xfb, 0xff, //0x00001751 cmpb $-1, %bl + 0x0f, 0x84, 0x9b, 0x00, 0x00, 0x00, //0x00001754 je LBB0_116 + 0x84, 0xdb, //0x0000175a testb %bl, %bl + 0x0f, 0x84, 0xc5, 0x37, 0x00, 0x00, //0x0000175c je LBB0_956 + 0x88, 0x5c, 0x24, 0x60, //0x00001762 movb %bl, $96(%rsp) + 0x49, 0x83, 0xc6, 0x02, //0x00001766 addq $2, %r14 + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x0000176a movl $1, %edi + 0x48, 0x8d, 0x44, 0x3c, 0x60, //0x0000176f leaq $96(%rsp,%rdi), %rax + 0x4d, 0x39, 0xdc, //0x00001774 cmpq %r11, %r12 + 0x0f, 0x83, 0x7f, 0x01, 0x00, 0x00, //0x00001777 jae LBB0_146 + //0x0000177d LBB0_126 + 0x48, 0x8d, 0x4c, 0x24, 0x60, //0x0000177d leaq $96(%rsp), %rcx + 0x48, 0x39, 0xc8, //0x00001782 cmpq %rcx, %rax + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00001785 movq $32(%rsp), %rdi + 0x0f, 0x86, 0x7b, 0x01, 0x00, 0x00, //0x0000178a jbe LBB0_133 + 0x41, 0x38, 0x1c, 0x24, //0x00001790 cmpb %bl, (%r12) + 0x0f, 0x85, 0x71, 0x01, 0x00, 0x00, //0x00001794 jne LBB0_133 + 0x49, 0xff, 0xc4, //0x0000179a incq %r12 + 0x48, 0x8d, 0x4c, 0x24, 0x61, //0x0000179d leaq $97(%rsp), %rcx + 0x4c, 0x89, 0xe7, //0x000017a2 movq %r12, %rdi + 0x4c, 0x89, 0xf3, //0x000017a5 movq %r14, %rbx + //0x000017a8 LBB0_129 + 0x49, 0x89, 0xfc, //0x000017a8 movq %rdi, %r12 + 0x48, 0x89, 0xce, //0x000017ab movq %rcx, %rsi + 0x48, 0x39, 0xc1, //0x000017ae cmpq %rax, %rcx + 0x0f, 0x83, 0x1f, 0x00, 0x00, 0x00, //0x000017b1 jae LBB0_132 + 0x4d, 0x39, 0xdc, //0x000017b7 cmpq %r11, %r12 + 0x0f, 0x83, 0x16, 0x00, 0x00, 0x00, //0x000017ba jae LBB0_132 + 0x41, 0x0f, 0xb6, 0x14, 0x24, //0x000017c0 movzbl (%r12), %edx + 0x49, 0x8d, 0x7c, 0x24, 0x01, //0x000017c5 leaq $1(%r12), %rdi + 0x48, 0x8d, 0x4e, 0x01, //0x000017ca leaq $1(%rsi), %rcx + 0x3a, 0x16, //0x000017ce cmpb (%rsi), %dl + 0x0f, 0x84, 0xd2, 0xff, 0xff, 0xff, //0x000017d0 je LBB0_129 + //0x000017d6 LBB0_132 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x000017d6 movq $32(%rsp), %rdi + 0xe9, 0x33, 0x01, 0x00, 0x00, //0x000017db jmp LBB0_148 + //0x000017e0 LBB0_114 + 0x41, 0x3a, 0x04, 0x24, //0x000017e0 cmpb (%r12), %al + 0x0f, 0x85, 0x75, 0x03, 0x00, 0x00, //0x000017e4 jne LBB0_322 + 0x48, 0xff, 0xc3, //0x000017ea incq %rbx + 0x49, 0xff, 0xc4, //0x000017ed incq %r12 + 0xe9, 0x27, 0x01, 0x00, 0x00, //0x000017f0 jmp LBB0_149 + //0x000017f5 LBB0_116 + 0x48, 0x83, 0xff, 0x03, //0x000017f5 cmpq $3, %rdi + 0x0f, 0x8e, 0x3a, 0x37, 0x00, 0x00, //0x000017f9 jle LBB0_957 + 0x41, 0x8b, 0x4e, 0x02, //0x000017ff movl $2(%r14), %ecx + 0x89, 0xce, //0x00001803 movl %ecx, %esi + 0xf7, 0xd6, //0x00001805 notl %esi + 0x8d, 0x81, 0xd0, 0xcf, 0xcf, 0xcf, //0x00001807 leal $-808464432(%rcx), %eax + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x0000180d andl $-2139062144, %esi + 0x85, 0xc6, //0x00001813 testl %eax, %esi + 0x0f, 0x85, 0x72, 0x36, 0x00, 0x00, //0x00001815 jne LBB0_954 + 0x8d, 0x81, 0x19, 0x19, 0x19, 0x19, //0x0000181b leal $421075225(%rcx), %eax + 0x09, 0xc8, //0x00001821 orl %ecx, %eax + 0xa9, 0x80, 0x80, 0x80, 0x80, //0x00001823 testl $-2139062144, %eax + 0x0f, 0x85, 0x5f, 0x36, 0x00, 0x00, //0x00001828 jne LBB0_954 + 0x89, 0xc8, //0x0000182e movl %ecx, %eax + 0x25, 0x7f, 0x7f, 0x7f, 0x7f, //0x00001830 andl $2139062143, %eax + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x00001835 movl $-1061109568, %ebx + 0x29, 0xc3, //0x0000183a subl %eax, %ebx + 0x8d, 0x90, 0x46, 0x46, 0x46, 0x46, //0x0000183c leal $1179010630(%rax), %edx + 0x21, 0xf3, //0x00001842 andl %esi, %ebx + 0x85, 0xd3, //0x00001844 testl %edx, %ebx + 0x0f, 0x85, 0x41, 0x36, 0x00, 0x00, //0x00001846 jne LBB0_954 + 0xba, 0xe0, 0xe0, 0xe0, 0xe0, //0x0000184c movl $-522133280, %edx + 0x29, 0xc2, //0x00001851 subl %eax, %edx + 0x05, 0x39, 0x39, 0x39, 0x39, //0x00001853 addl $960051513, %eax + 0x21, 0xd6, //0x00001858 andl %edx, %esi + 0x85, 0xc6, //0x0000185a testl %eax, %esi + 0x0f, 0x85, 0x2b, 0x36, 0x00, 0x00, //0x0000185c jne LBB0_954 + 0x0f, 0xc9, //0x00001862 bswapl %ecx + 0x89, 0xc8, //0x00001864 movl %ecx, %eax + 0xc1, 0xe8, 0x04, //0x00001866 shrl $4, %eax + 0xf7, 0xd0, //0x00001869 notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x0000186b andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00001870 leal (%rax,%rax,8), %eax + 0x81, 0xe1, 0x0f, 0x0f, 0x0f, 0x0f, //0x00001873 andl $252645135, %ecx + 0x01, 0xc1, //0x00001879 addl %eax, %ecx + 0x89, 0xcb, //0x0000187b movl %ecx, %ebx + 0xc1, 0xeb, 0x04, //0x0000187d shrl $4, %ebx + 0x09, 0xcb, //0x00001880 orl %ecx, %ebx + 0x89, 0xde, //0x00001882 movl %ebx, %esi + 0xc1, 0xee, 0x08, //0x00001884 shrl $8, %esi + 0x81, 0xe6, 0x00, 0xff, 0x00, 0x00, //0x00001887 andl $65280, %esi + 0x0f, 0xb6, 0xc3, //0x0000188d movzbl %bl, %eax + 0x09, 0xf0, //0x00001890 orl %esi, %eax + 0x4d, 0x8d, 0x46, 0x06, //0x00001892 leaq $6(%r14), %r8 + 0x83, 0xf8, 0x7f, //0x00001896 cmpl $127, %eax + 0x0f, 0x86, 0x94, 0x00, 0x00, 0x00, //0x00001899 jbe LBB0_134 + 0x3d, 0xff, 0x07, 0x00, 0x00, //0x0000189f cmpl $2047, %eax + 0x0f, 0x86, 0x97, 0x00, 0x00, 0x00, //0x000018a4 jbe LBB0_135 + 0x89, 0xd9, //0x000018aa movl %ebx, %ecx + 0x81, 0xe1, 0x00, 0x00, 0xf8, 0x00, //0x000018ac andl $16252928, %ecx + 0x81, 0xf9, 0x00, 0x00, 0xd8, 0x00, //0x000018b2 cmpl $14155776, %ecx + 0x0f, 0x84, 0xa2, 0x00, 0x00, 0x00, //0x000018b8 je LBB0_136 + 0xc1, 0xee, 0x0c, //0x000018be shrl $12, %esi + 0x40, 0x80, 0xce, 0xe0, //0x000018c1 orb $-32, %sil + 0x40, 0x88, 0x74, 0x24, 0x60, //0x000018c5 movb %sil, $96(%rsp) + 0xc1, 0xe8, 0x06, //0x000018ca shrl $6, %eax + 0x24, 0x3f, //0x000018cd andb $63, %al + 0x0c, 0x80, //0x000018cf orb $-128, %al + 0x88, 0x44, 0x24, 0x61, //0x000018d1 movb %al, $97(%rsp) + 0x80, 0xe3, 0x3f, //0x000018d5 andb $63, %bl + 0x80, 0xcb, 0x80, //0x000018d8 orb $-128, %bl + 0x88, 0x5c, 0x24, 0x62, //0x000018db movb %bl, $98(%rsp) + 0xbf, 0x03, 0x00, 0x00, 0x00, //0x000018df movl $3, %edi + 0x89, 0xf3, //0x000018e4 movl %esi, %ebx + //0x000018e6 LBB0_125 + 0x4d, 0x89, 0xc6, //0x000018e6 movq %r8, %r14 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x000018e9 movq $24(%rsp), %r8 + 0x48, 0x8d, 0x44, 0x3c, 0x60, //0x000018ee leaq $96(%rsp,%rdi), %rax + 0x4d, 0x39, 0xdc, //0x000018f3 cmpq %r11, %r12 + 0x0f, 0x82, 0x81, 0xfe, 0xff, 0xff, //0x000018f6 jb LBB0_126 + //0x000018fc LBB0_146 + 0x48, 0x8d, 0x74, 0x24, 0x60, //0x000018fc leaq $96(%rsp), %rsi + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00001901 movq $32(%rsp), %rdi + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00001906 jmp LBB0_147 + //0x0000190b LBB0_133 + 0x48, 0x8d, 0x74, 0x24, 0x60, //0x0000190b leaq $96(%rsp), %rsi + //0x00001910 LBB0_147 + 0x4c, 0x89, 0xf3, //0x00001910 movq %r14, %rbx + //0x00001913 LBB0_148 + 0x48, 0x39, 0xc6, //0x00001913 cmpq %rax, %rsi + 0x0f, 0x85, 0x43, 0x02, 0x00, 0x00, //0x00001916 jne LBB0_322 + //0x0000191c LBB0_149 + 0x49, 0x39, 0xd9, //0x0000191c cmpq %rbx, %r9 + 0x0f, 0x86, 0x09, 0x02, 0x00, 0x00, //0x0000191f jbe LBB0_152 + 0x4d, 0x39, 0xdc, //0x00001925 cmpq %r11, %r12 + 0x0f, 0x82, 0xf9, 0xfd, 0xff, 0xff, //0x00001928 jb LBB0_109 + 0xe9, 0xfb, 0x01, 0x00, 0x00, //0x0000192e jmp LBB0_152 + //0x00001933 LBB0_134 + 0x88, 0x5c, 0x24, 0x60, //0x00001933 movb %bl, $96(%rsp) + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x00001937 movl $1, %edi + 0xe9, 0xa5, 0xff, 0xff, 0xff, //0x0000193c jmp LBB0_125 + //0x00001941 LBB0_135 + 0xc1, 0xe8, 0x06, //0x00001941 shrl $6, %eax + 0x0c, 0xc0, //0x00001944 orb $-64, %al + 0x88, 0x44, 0x24, 0x60, //0x00001946 movb %al, $96(%rsp) + 0x80, 0xe3, 0x3f, //0x0000194a andb $63, %bl + 0x80, 0xcb, 0x80, //0x0000194d orb $-128, %bl + 0x88, 0x5c, 0x24, 0x61, //0x00001950 movb %bl, $97(%rsp) + 0xbf, 0x02, 0x00, 0x00, 0x00, //0x00001954 movl $2, %edi + 0x89, 0xc3, //0x00001959 movl %eax, %ebx + 0xe9, 0x86, 0xff, 0xff, 0xff, //0x0000195b jmp LBB0_125 + //0x00001960 LBB0_136 + 0x48, 0x83, 0xff, 0x06, //0x00001960 cmpq $6, %rdi + 0x0f, 0x8c, 0x0a, 0x36, 0x00, 0x00, //0x00001964 jl LBB0_963 + 0x3d, 0xff, 0xdb, 0x00, 0x00, //0x0000196a cmpl $56319, %eax + 0x0f, 0x87, 0xff, 0x35, 0x00, 0x00, //0x0000196f ja LBB0_963 + 0x41, 0x80, 0x38, 0x5c, //0x00001975 cmpb $92, (%r8) + 0x0f, 0x85, 0xf5, 0x35, 0x00, 0x00, //0x00001979 jne LBB0_963 + 0x41, 0x80, 0x7e, 0x07, 0x75, //0x0000197f cmpb $117, $7(%r14) + 0x0f, 0x85, 0xea, 0x35, 0x00, 0x00, //0x00001984 jne LBB0_963 + 0x4c, 0x89, 0xf1, //0x0000198a movq %r14, %rcx + 0x4d, 0x8d, 0x46, 0x08, //0x0000198d leaq $8(%r14), %r8 + 0x41, 0x8b, 0x7e, 0x08, //0x00001991 movl $8(%r14), %edi + 0x89, 0xfb, //0x00001995 movl %edi, %ebx + 0xf7, 0xd3, //0x00001997 notl %ebx + 0x8d, 0x8f, 0xd0, 0xcf, 0xcf, 0xcf, //0x00001999 leal $-808464432(%rdi), %ecx + 0x81, 0xe3, 0x80, 0x80, 0x80, 0x80, //0x0000199f andl $-2139062144, %ebx + 0x85, 0xcb, //0x000019a5 testl %ecx, %ebx + 0x0f, 0x85, 0xd3, 0x35, 0x00, 0x00, //0x000019a7 jne LBB0_964 + 0x8d, 0x8f, 0x19, 0x19, 0x19, 0x19, //0x000019ad leal $421075225(%rdi), %ecx + 0x09, 0xf9, //0x000019b3 orl %edi, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x000019b5 testl $-2139062144, %ecx + 0x0f, 0x85, 0xbf, 0x35, 0x00, 0x00, //0x000019bb jne LBB0_964 + 0x89, 0xf9, //0x000019c1 movl %edi, %ecx + 0x81, 0xe1, 0x7f, 0x7f, 0x7f, 0x7f, //0x000019c3 andl $2139062143, %ecx + 0xba, 0xc0, 0xc0, 0xc0, 0xc0, //0x000019c9 movl $-1061109568, %edx + 0x29, 0xca, //0x000019ce subl %ecx, %edx + 0x8d, 0xb1, 0x46, 0x46, 0x46, 0x46, //0x000019d0 leal $1179010630(%rcx), %esi + 0x21, 0xda, //0x000019d6 andl %ebx, %edx + 0x85, 0xf2, //0x000019d8 testl %esi, %edx + 0x0f, 0x85, 0xa0, 0x35, 0x00, 0x00, //0x000019da jne LBB0_964 + 0xba, 0xe0, 0xe0, 0xe0, 0xe0, //0x000019e0 movl $-522133280, %edx + 0x29, 0xca, //0x000019e5 subl %ecx, %edx + 0x81, 0xc1, 0x39, 0x39, 0x39, 0x39, //0x000019e7 addl $960051513, %ecx + 0x21, 0xd3, //0x000019ed andl %edx, %ebx + 0x85, 0xcb, //0x000019ef testl %ecx, %ebx + 0x0f, 0x85, 0x89, 0x35, 0x00, 0x00, //0x000019f1 jne LBB0_964 + 0x0f, 0xcf, //0x000019f7 bswapl %edi + 0x89, 0xf9, //0x000019f9 movl %edi, %ecx + 0xc1, 0xe9, 0x04, //0x000019fb shrl $4, %ecx + 0xf7, 0xd1, //0x000019fe notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00001a00 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00001a06 leal (%rcx,%rcx,8), %ecx + 0x81, 0xe7, 0x0f, 0x0f, 0x0f, 0x0f, //0x00001a09 andl $252645135, %edi + 0x01, 0xcf, //0x00001a0f addl %ecx, %edi + 0x89, 0xf9, //0x00001a11 movl %edi, %ecx + 0xc1, 0xe9, 0x04, //0x00001a13 shrl $4, %ecx + 0x09, 0xf9, //0x00001a16 orl %edi, %ecx + 0x89, 0xca, //0x00001a18 movl %ecx, %edx + 0x81, 0xe2, 0x00, 0x00, 0xfc, 0x00, //0x00001a1a andl $16515072, %edx + 0x81, 0xfa, 0x00, 0x00, 0xdc, 0x00, //0x00001a20 cmpl $14417920, %edx + 0x0f, 0x85, 0x48, 0x35, 0x00, 0x00, //0x00001a26 jne LBB0_963 + 0x89, 0xca, //0x00001a2c movl %ecx, %edx + 0xc1, 0xea, 0x08, //0x00001a2e shrl $8, %edx + 0x81, 0xe2, 0x00, 0xff, 0x00, 0x00, //0x00001a31 andl $65280, %edx + 0x0f, 0xb6, 0xc9, //0x00001a37 movzbl %cl, %ecx + 0x09, 0xd1, //0x00001a3a orl %edx, %ecx + 0xc1, 0xe0, 0x0a, //0x00001a3c shll $10, %eax + 0x8d, 0x84, 0x08, 0x00, 0x24, 0xa0, 0xfc, //0x00001a3f leal $-56613888(%rax,%rcx), %eax + 0x89, 0xc3, //0x00001a46 movl %eax, %ebx + 0xc1, 0xeb, 0x12, //0x00001a48 shrl $18, %ebx + 0x80, 0xcb, 0xf0, //0x00001a4b orb $-16, %bl + 0x88, 0x5c, 0x24, 0x60, //0x00001a4e movb %bl, $96(%rsp) + 0x89, 0xc1, //0x00001a52 movl %eax, %ecx + 0xc1, 0xe9, 0x0c, //0x00001a54 shrl $12, %ecx + 0x80, 0xe1, 0x3f, //0x00001a57 andb $63, %cl + 0x80, 0xc9, 0x80, //0x00001a5a orb $-128, %cl + 0x88, 0x4c, 0x24, 0x61, //0x00001a5d movb %cl, $97(%rsp) + 0x89, 0xc1, //0x00001a61 movl %eax, %ecx + 0xc1, 0xe9, 0x06, //0x00001a63 shrl $6, %ecx + 0x80, 0xe1, 0x3f, //0x00001a66 andb $63, %cl + 0x80, 0xc9, 0x80, //0x00001a69 orb $-128, %cl + 0x88, 0x4c, 0x24, 0x62, //0x00001a6c movb %cl, $98(%rsp) + 0x24, 0x3f, //0x00001a70 andb $63, %al + 0x0c, 0x80, //0x00001a72 orb $-128, %al + 0x88, 0x44, 0x24, 0x63, //0x00001a74 movb %al, $99(%rsp) + 0x49, 0x83, 0xc6, 0x0c, //0x00001a78 addq $12, %r14 + 0xbf, 0x04, 0x00, 0x00, 0x00, //0x00001a7c movl $4, %edi + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00001a81 movq $24(%rsp), %r8 + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x00001a86 movq $40(%rsp), %r15 + 0x48, 0x8d, 0x44, 0x3c, 0x60, //0x00001a8b leaq $96(%rsp,%rdi), %rax + 0x4d, 0x39, 0xdc, //0x00001a90 cmpq %r11, %r12 + 0x0f, 0x82, 0xe4, 0xfc, 0xff, 0xff, //0x00001a93 jb LBB0_126 + 0xe9, 0x5e, 0xfe, 0xff, 0xff, //0x00001a99 jmp LBB0_146 + //0x00001a9e LBB0_258 + 0x4d, 0x85, 0xdb, //0x00001a9e testq %r11, %r11 + 0x0f, 0x85, 0x6e, 0x02, 0x00, 0x00, //0x00001aa1 jne LBB0_339 + 0x4a, 0x8d, 0x4c, 0x08, 0x01, //0x00001aa7 leaq $1(%rax,%r9), %rcx + 0x48, 0xf7, 0xd0, //0x00001aac notq %rax + 0x4c, 0x01, 0xc0, //0x00001aaf addq %r8, %rax + //0x00001ab2 LBB0_260 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00001ab2 movq $56(%rsp), %r11 + //0x00001ab7 LBB0_261 + 0x48, 0x85, 0xc0, //0x00001ab7 testq %rax, %rax + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00001aba movq $24(%rsp), %r8 + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001abf movabsq $4294977024, %r9 + 0x0f, 0x8f, 0x1d, 0x00, 0x00, 0x00, //0x00001ac9 jg LBB0_318 + 0xe9, 0x5c, 0xf2, 0xff, 0xff, //0x00001acf jmp LBB0_222 + //0x00001ad4 LBB0_317 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00001ad4 movq $-2, %rdx + 0xbe, 0x02, 0x00, 0x00, 0x00, //0x00001adb movl $2, %esi + 0x48, 0x01, 0xf1, //0x00001ae0 addq %rsi, %rcx + 0x48, 0x01, 0xd0, //0x00001ae3 addq %rdx, %rax + 0x0f, 0x8e, 0x44, 0xf2, 0xff, 0xff, //0x00001ae6 jle LBB0_222 + //0x00001aec LBB0_318 + 0x0f, 0xb6, 0x11, //0x00001aec movzbl (%rcx), %edx + 0x80, 0xfa, 0x5c, //0x00001aef cmpb $92, %dl + 0x0f, 0x84, 0xdc, 0xff, 0xff, 0xff, //0x00001af2 je LBB0_317 + 0x80, 0xfa, 0x22, //0x00001af8 cmpb $34, %dl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x00001afb je LBB0_321 + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00001b01 movq $-1, %rdx + 0xbe, 0x01, 0x00, 0x00, 0x00, //0x00001b08 movl $1, %esi + 0x48, 0x01, 0xf1, //0x00001b0d addq %rsi, %rcx + 0x48, 0x01, 0xd0, //0x00001b10 addq %rdx, %rax + 0x0f, 0x8f, 0xd3, 0xff, 0xff, 0xff, //0x00001b13 jg LBB0_318 + 0xe9, 0x12, 0xf2, 0xff, 0xff, //0x00001b19 jmp LBB0_222 + //0x00001b1e LBB0_321 + 0x48, 0x29, 0xf9, //0x00001b1e subq %rdi, %rcx + 0x48, 0xff, 0xc1, //0x00001b21 incq %rcx + 0xe9, 0xa0, 0xf7, 0xff, 0xff, //0x00001b24 jmp LBB0_289 + //0x00001b29 LBB0_151 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00001b29 movq $24(%rsp), %r8 + //0x00001b2e LBB0_152 + 0x49, 0x31, 0xd9, //0x00001b2e xorq %rbx, %r9 + 0x4d, 0x31, 0xdc, //0x00001b31 xorq %r11, %r12 + 0x31, 0xd2, //0x00001b34 xorl %edx, %edx + 0x4d, 0x09, 0xcc, //0x00001b36 orq %r9, %r12 + 0x0f, 0x94, 0xc2, //0x00001b39 sete %dl + //0x00001b3c LBB0_153 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00001b3c movq $56(%rsp), %r11 + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001b41 movabsq $4294977024, %r9 + 0x49, 0x8b, 0x0b, //0x00001b4b movq (%r11), %rcx + 0x4c, 0x89, 0xd6, //0x00001b4e movq %r10, %rsi + 0x48, 0x29, 0xce, //0x00001b51 subq %rcx, %rsi + 0x0f, 0x82, 0xc5, 0xed, 0xff, 0xff, //0x00001b54 jb LBB0_101 + 0xe9, 0x21, 0xee, 0xff, 0xff, //0x00001b5a jmp LBB0_154 + //0x00001b5f LBB0_322 + 0x31, 0xd2, //0x00001b5f xorl %edx, %edx + 0xe9, 0xd6, 0xff, 0xff, 0xff, //0x00001b61 jmp LBB0_153 + //0x00001b66 LBB0_323 + 0x4a, 0x8d, 0x0c, 0x17, //0x00001b66 leaq (%rdi,%r10), %rcx + 0xe9, 0x43, 0xff, 0xff, 0xff, //0x00001b6a jmp LBB0_260 + //0x00001b6f LBB0_324 + 0x4c, 0x89, 0xd0, //0x00001b6f movq %r10, %rax + 0x48, 0x2b, 0x44, 0x24, 0x20, //0x00001b72 subq $32(%rsp), %rax + 0x4c, 0x0f, 0xbc, 0xc7, //0x00001b77 bsfq %rdi, %r8 + 0x49, 0x01, 0xc0, //0x00001b7b addq %rax, %r8 + 0x4c, 0x09, 0xce, //0x00001b7e orq %r9, %rsi + 0x48, 0x89, 0xf8, //0x00001b81 movq %rdi, %rax + 0x48, 0x09, 0xd8, //0x00001b84 orq %rbx, %rax + 0x0f, 0x84, 0x15, 0xfb, 0xff, 0xff, //0x00001b87 je LBB0_72 + //0x00001b8d LBB0_325 + 0x4d, 0x89, 0xd6, //0x00001b8d movq %r10, %r14 + 0x41, 0x89, 0xda, //0x00001b90 movl %ebx, %r10d + 0x41, 0xf7, 0xd2, //0x00001b93 notl %r10d + 0x41, 0x21, 0xfa, //0x00001b96 andl %edi, %r10d + 0x47, 0x8d, 0x0c, 0x12, //0x00001b99 leal (%r10,%r10), %r9d + 0x41, 0x09, 0xd9, //0x00001b9d orl %ebx, %r9d + 0x44, 0x89, 0xc8, //0x00001ba0 movl %r9d, %eax + 0xf7, 0xd0, //0x00001ba3 notl %eax + 0x21, 0xf8, //0x00001ba5 andl %edi, %eax + 0x25, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001ba7 andl $-1431655766, %eax + 0x31, 0xdb, //0x00001bac xorl %ebx, %ebx + 0x44, 0x01, 0xd0, //0x00001bae addl %r10d, %eax + 0x4d, 0x89, 0xf2, //0x00001bb1 movq %r14, %r10 + 0x0f, 0x92, 0xc3, //0x00001bb4 setb %bl + 0x01, 0xc0, //0x00001bb7 addl %eax, %eax + 0x35, 0x55, 0x55, 0x55, 0x55, //0x00001bb9 xorl $1431655765, %eax + 0x44, 0x21, 0xc8, //0x00001bbe andl %r9d, %eax + 0xf7, 0xd0, //0x00001bc1 notl %eax + 0x21, 0xc6, //0x00001bc3 andl %eax, %esi + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001bc5 movabsq $4294977024, %r9 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00001bcf movq $32(%rsp), %rdi + 0x48, 0x85, 0xf6, //0x00001bd4 testq %rsi, %rsi + 0x0f, 0x85, 0xdd, 0xfa, 0xff, 0xff, //0x00001bd7 jne LBB0_73 + //0x00001bdd LBB0_326 + 0x49, 0x83, 0xc2, 0x20, //0x00001bdd addq $32, %r10 + 0x48, 0x83, 0xc1, 0xe0, //0x00001be1 addq $-32, %rcx + //0x00001be5 LBB0_327 + 0x48, 0x85, 0xdb, //0x00001be5 testq %rbx, %rbx + 0x48, 0x8b, 0x74, 0x24, 0x48, //0x00001be8 movq $72(%rsp), %rsi + 0x0f, 0x85, 0xb2, 0x00, 0x00, 0x00, //0x00001bed jne LBB0_336 + 0x4d, 0x89, 0xc1, //0x00001bf3 movq %r8, %r9 + 0x48, 0x85, 0xc9, //0x00001bf6 testq %rcx, %rcx + 0x0f, 0x84, 0x40, 0x31, 0x00, 0x00, //0x00001bf9 je LBB0_937 + //0x00001bff LBB0_329 + 0x48, 0xf7, 0xd7, //0x00001bff notq %rdi + //0x00001c02 LBB0_330 + 0x4c, 0x89, 0xd3, //0x00001c02 movq %r10, %rbx + 0x49, 0xff, 0xc2, //0x00001c05 incq %r10 + 0x48, 0x89, 0xd8, //0x00001c08 movq %rbx, %rax + 0x0f, 0xb6, 0x1b, //0x00001c0b movzbl (%rbx), %ebx + 0x80, 0xfb, 0x22, //0x00001c0e cmpb $34, %bl + 0x0f, 0x84, 0x66, 0x00, 0x00, 0x00, //0x00001c11 je LBB0_335 + 0x48, 0x8d, 0x71, 0xff, //0x00001c17 leaq $-1(%rcx), %rsi + 0x80, 0xfb, 0x5c, //0x00001c1b cmpb $92, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00001c1e je LBB0_333 + 0x48, 0x89, 0xf1, //0x00001c24 movq %rsi, %rcx + 0x48, 0x85, 0xf6, //0x00001c27 testq %rsi, %rsi + 0x48, 0x8b, 0x74, 0x24, 0x48, //0x00001c2a movq $72(%rsp), %rsi + 0x0f, 0x85, 0xcd, 0xff, 0xff, 0xff, //0x00001c2f jne LBB0_330 + 0xe9, 0x05, 0x31, 0x00, 0x00, //0x00001c35 jmp LBB0_937 + //0x00001c3a LBB0_333 + 0x48, 0x85, 0xf6, //0x00001c3a testq %rsi, %rsi + 0x0f, 0x84, 0xfc, 0x30, 0x00, 0x00, //0x00001c3d je LBB0_937 + 0x49, 0x01, 0xfa, //0x00001c43 addq %rdi, %r10 + 0x49, 0x83, 0xf9, 0xff, //0x00001c46 cmpq $-1, %r9 + 0x4d, 0x0f, 0x44, 0xc2, //0x00001c4a cmoveq %r10, %r8 + 0x4d, 0x0f, 0x44, 0xca, //0x00001c4e cmoveq %r10, %r9 + 0x49, 0x89, 0xc2, //0x00001c52 movq %rax, %r10 + 0x49, 0x83, 0xc2, 0x02, //0x00001c55 addq $2, %r10 + 0x48, 0x83, 0xc1, 0xfe, //0x00001c59 addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00001c5d movq %rcx, %rsi + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x00001c60 movq $40(%rsp), %r15 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00001c65 movq $56(%rsp), %r11 + 0x48, 0x85, 0xf6, //0x00001c6a testq %rsi, %rsi + 0x48, 0x8b, 0x74, 0x24, 0x48, //0x00001c6d movq $72(%rsp), %rsi + 0x0f, 0x85, 0x8a, 0xff, 0xff, 0xff, //0x00001c72 jne LBB0_330 + 0xe9, 0xc2, 0x30, 0x00, 0x00, //0x00001c78 jmp LBB0_937 + //0x00001c7d LBB0_335 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00001c7d movq $32(%rsp), %rdi + 0x49, 0x29, 0xfa, //0x00001c82 subq %rdi, %r10 + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001c85 movabsq $4294977024, %r9 + 0x4d, 0x85, 0xd2, //0x00001c8f testq %r10, %r10 + 0x48, 0x8b, 0x9c, 0x24, 0xb0, 0x00, 0x00, 0x00, //0x00001c92 movq $176(%rsp), %rbx + 0x0f, 0x89, 0xe5, 0xea, 0xff, 0xff, //0x00001c9a jns LBB0_79 + 0xe9, 0x9a, 0x30, 0x00, 0x00, //0x00001ca0 jmp LBB0_937 + //0x00001ca5 LBB0_336 + 0x48, 0x85, 0xc9, //0x00001ca5 testq %rcx, %rcx + 0x0f, 0x84, 0x91, 0x30, 0x00, 0x00, //0x00001ca8 je LBB0_937 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00001cae movq $32(%rsp), %rdi + 0x49, 0x89, 0xf9, //0x00001cb3 movq %rdi, %r9 + 0x49, 0xf7, 0xd1, //0x00001cb6 notq %r9 + 0x4d, 0x01, 0xd1, //0x00001cb9 addq %r10, %r9 + 0x49, 0x83, 0xf8, 0xff, //0x00001cbc cmpq $-1, %r8 + 0x4c, 0x89, 0xc0, //0x00001cc0 movq %r8, %rax + 0x49, 0x0f, 0x44, 0xc1, //0x00001cc3 cmoveq %r9, %rax + 0x4d, 0x0f, 0x45, 0xc8, //0x00001cc7 cmovneq %r8, %r9 + 0x49, 0xff, 0xc2, //0x00001ccb incq %r10 + 0x48, 0xff, 0xc9, //0x00001cce decq %rcx + 0x49, 0x89, 0xc0, //0x00001cd1 movq %rax, %r8 + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x00001cd4 movq $40(%rsp), %r15 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00001cd9 movq $56(%rsp), %r11 + 0x48, 0x8b, 0x74, 0x24, 0x48, //0x00001cde movq $72(%rsp), %rsi + 0x48, 0x85, 0xc9, //0x00001ce3 testq %rcx, %rcx + 0x0f, 0x85, 0x13, 0xff, 0xff, 0xff, //0x00001ce6 jne LBB0_329 + 0xe9, 0x4e, 0x30, 0x00, 0x00, //0x00001cec jmp LBB0_937 + //0x00001cf1 LBB0_338 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00001cf1 movq $56(%rsp), %r11 + 0x4d, 0x8b, 0x13, //0x00001cf6 movq (%r11), %r10 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00001cf9 movq $24(%rsp), %r8 + 0x4d, 0x89, 0x10, //0x00001cfe movq %r10, (%r8) + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x00001d01 movq $40(%rsp), %r15 + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001d06 movabsq $4294977024, %r9 + 0xe9, 0x1b, 0xf0, 0xff, 0xff, //0x00001d10 jmp LBB0_222 + //0x00001d15 LBB0_339 + 0x49, 0x8d, 0x48, 0xff, //0x00001d15 leaq $-1(%r8), %rcx + 0x48, 0x39, 0xc1, //0x00001d19 cmpq %rax, %rcx + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x00001d1c jne LBB0_342 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00001d22 movq $24(%rsp), %r8 + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x00001d27 movq $40(%rsp), %r15 + 0xe9, 0x5f, 0xf2, 0xff, 0xff, //0x00001d2c jmp LBB0_341 + //0x00001d31 LBB0_342 + 0x4a, 0x8d, 0x4c, 0x08, 0x02, //0x00001d31 leaq $2(%rax,%r9), %rcx + 0x49, 0x29, 0xc0, //0x00001d36 subq %rax, %r8 + 0x49, 0x83, 0xc0, 0xfe, //0x00001d39 addq $-2, %r8 + 0x4c, 0x89, 0xc0, //0x00001d3d movq %r8, %rax + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x00001d40 movq $40(%rsp), %r15 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00001d45 movq $56(%rsp), %r11 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00001d4a movq $32(%rsp), %rdi + 0xe9, 0x63, 0xfd, 0xff, 0xff, //0x00001d4f jmp LBB0_261 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001d54 .p2align 4, 0x90 + //0x00001d60 LBB0_350 + 0x49, 0x8d, 0x52, 0x01, //0x00001d60 leaq $1(%r10), %rdx + 0x48, 0x39, 0xc2, //0x00001d64 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00001d67 jae LBB0_354 + 0x8a, 0x1c, 0x17, //0x00001d6d movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00001d70 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00001d73 je LBB0_354 + 0x80, 0xfb, 0x20, //0x00001d79 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00001d7c je LBB0_354 + 0x80, 0xc3, 0xf7, //0x00001d82 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00001d85 cmpb $1, %bl + 0x0f, 0x87, 0x03, 0x01, 0x00, 0x00, //0x00001d88 ja LBB0_372 + 0x90, 0x90, //0x00001d8e .p2align 4, 0x90 + //0x00001d90 LBB0_354 + 0x49, 0x8d, 0x52, 0x02, //0x00001d90 leaq $2(%r10), %rdx + 0x48, 0x39, 0xc2, //0x00001d94 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00001d97 jae LBB0_358 + 0x8a, 0x1c, 0x17, //0x00001d9d movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00001da0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00001da3 je LBB0_358 + 0x80, 0xfb, 0x20, //0x00001da9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00001dac je LBB0_358 + 0x80, 0xc3, 0xf7, //0x00001db2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00001db5 cmpb $1, %bl + 0x0f, 0x87, 0xd3, 0x00, 0x00, 0x00, //0x00001db8 ja LBB0_372 + 0x90, 0x90, //0x00001dbe .p2align 4, 0x90 + //0x00001dc0 LBB0_358 + 0x49, 0x8d, 0x52, 0x03, //0x00001dc0 leaq $3(%r10), %rdx + 0x48, 0x39, 0xc2, //0x00001dc4 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00001dc7 jae LBB0_362 + 0x8a, 0x1c, 0x17, //0x00001dcd movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00001dd0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00001dd3 je LBB0_362 + 0x80, 0xfb, 0x20, //0x00001dd9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00001ddc je LBB0_362 + 0x80, 0xc3, 0xf7, //0x00001de2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00001de5 cmpb $1, %bl + 0x0f, 0x87, 0xa3, 0x00, 0x00, 0x00, //0x00001de8 ja LBB0_372 + 0x90, 0x90, //0x00001dee .p2align 4, 0x90 + //0x00001df0 LBB0_362 + 0x49, 0x8d, 0x72, 0x04, //0x00001df0 leaq $4(%r10), %rsi + 0x48, 0x39, 0xf0, //0x00001df4 cmpq %rsi, %rax + 0x0f, 0x86, 0x5d, 0x00, 0x00, 0x00, //0x00001df7 jbe LBB0_369 + 0x48, 0x39, 0xf0, //0x00001dfd cmpq %rsi, %rax + 0x0f, 0x84, 0x5f, 0x00, 0x00, 0x00, //0x00001e00 je LBB0_370 + 0x48, 0x8d, 0x34, 0x07, //0x00001e06 leaq (%rdi,%rax), %rsi + 0x48, 0x83, 0xc1, 0x04, //0x00001e0a addq $4, %rcx + 0x48, 0x89, 0xfb, //0x00001e0e movq %rdi, %rbx + 0x4a, 0x8d, 0x54, 0x17, 0x05, //0x00001e11 leaq $5(%rdi,%r10), %rdx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001e16 .p2align 4, 0x90 + //0x00001e20 LBB0_365 + 0x0f, 0xbe, 0x7a, 0xff, //0x00001e20 movsbl $-1(%rdx), %edi + 0x83, 0xff, 0x20, //0x00001e24 cmpl $32, %edi + 0x0f, 0x87, 0x4f, 0x00, 0x00, 0x00, //0x00001e27 ja LBB0_371 + 0x49, 0x0f, 0xa3, 0xf9, //0x00001e2d btq %rdi, %r9 + 0x0f, 0x83, 0x45, 0x00, 0x00, 0x00, //0x00001e31 jae LBB0_371 + 0x48, 0xff, 0xc2, //0x00001e37 incq %rdx + 0x48, 0xff, 0xc1, //0x00001e3a incq %rcx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x00001e3d jne LBB0_365 + 0x48, 0x89, 0xdf, //0x00001e43 movq %rbx, %rdi + 0x48, 0x29, 0xfe, //0x00001e46 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x00001e49 movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x00001e4c cmpq %rax, %rdx + 0x0f, 0x82, 0x3c, 0x00, 0x00, 0x00, //0x00001e4f jb LBB0_372 + 0xe9, 0x48, 0x00, 0x00, 0x00, //0x00001e55 jmp LBB0_373 + //0x00001e5a LBB0_369 + 0x49, 0x89, 0x30, //0x00001e5a movq %rsi, (%r8) + 0x49, 0x89, 0xf2, //0x00001e5d movq %rsi, %r10 + 0xe9, 0x3d, 0x00, 0x00, 0x00, //0x00001e60 jmp LBB0_373 + //0x00001e65 LBB0_370 + 0x48, 0x01, 0xfe, //0x00001e65 addq %rdi, %rsi + 0x48, 0x29, 0xfe, //0x00001e68 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x00001e6b movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x00001e6e cmpq %rax, %rdx + 0x0f, 0x82, 0x1a, 0x00, 0x00, 0x00, //0x00001e71 jb LBB0_372 + 0xe9, 0x26, 0x00, 0x00, 0x00, //0x00001e77 jmp LBB0_373 + //0x00001e7c LBB0_371 + 0x48, 0x89, 0xdf, //0x00001e7c movq %rbx, %rdi + 0x48, 0x89, 0xd9, //0x00001e7f movq %rbx, %rcx + 0x48, 0xf7, 0xd1, //0x00001e82 notq %rcx + 0x48, 0x01, 0xca, //0x00001e85 addq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x00001e88 cmpq %rax, %rdx + 0x0f, 0x83, 0x11, 0x00, 0x00, 0x00, //0x00001e8b jae LBB0_373 + //0x00001e91 LBB0_372 + 0x4c, 0x8d, 0x52, 0x01, //0x00001e91 leaq $1(%rdx), %r10 + 0x4d, 0x89, 0x10, //0x00001e95 movq %r10, (%r8) + 0x80, 0x3c, 0x17, 0x5d, //0x00001e98 cmpb $93, (%rdi,%rdx) + 0x0f, 0x84, 0xb5, 0x24, 0x00, 0x00, //0x00001e9c je LBB0_833 + //0x00001ea2 LBB0_373 + 0x49, 0xff, 0xca, //0x00001ea2 decq %r10 + 0x4d, 0x89, 0x10, //0x00001ea5 movq %r10, (%r8) + 0x4d, 0x85, 0xf6, //0x00001ea8 testq %r14, %r14 + 0x0f, 0x8e, 0xff, 0x0c, 0x00, 0x00, //0x00001eab jle LBB0_446 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001eb1 .p2align 4, 0x90 + //0x00001ec0 LBB0_374 + 0x49, 0x8b, 0x03, //0x00001ec0 movq (%r11), %rax + 0x4c, 0x89, 0xd2, //0x00001ec3 movq %r10, %rdx + 0x48, 0x29, 0xc2, //0x00001ec6 subq %rax, %rdx + 0x0f, 0x83, 0x31, 0x00, 0x00, 0x00, //0x00001ec9 jae LBB0_379 + 0x42, 0x8a, 0x0c, 0x17, //0x00001ecf movb (%rdi,%r10), %cl + 0x80, 0xf9, 0x0d, //0x00001ed3 cmpb $13, %cl + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x00001ed6 je LBB0_379 + 0x80, 0xf9, 0x20, //0x00001edc cmpb $32, %cl + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x00001edf je LBB0_379 + 0x80, 0xc1, 0xf7, //0x00001ee5 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00001ee8 cmpb $1, %cl + 0x0f, 0x86, 0x0f, 0x00, 0x00, 0x00, //0x00001eeb jbe LBB0_379 + 0x4c, 0x89, 0xd1, //0x00001ef1 movq %r10, %rcx + 0xe9, 0x47, 0x01, 0x00, 0x00, //0x00001ef4 jmp LBB0_401 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001ef9 .p2align 4, 0x90 + //0x00001f00 LBB0_379 + 0x49, 0x8d, 0x4a, 0x01, //0x00001f00 leaq $1(%r10), %rcx + 0x48, 0x39, 0xc1, //0x00001f04 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00001f07 jae LBB0_383 + 0x8a, 0x1c, 0x0f, //0x00001f0d movb (%rdi,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00001f10 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00001f13 je LBB0_383 + 0x80, 0xfb, 0x20, //0x00001f19 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00001f1c je LBB0_383 + 0x80, 0xc3, 0xf7, //0x00001f22 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00001f25 cmpb $1, %bl + 0x0f, 0x87, 0x12, 0x01, 0x00, 0x00, //0x00001f28 ja LBB0_401 + 0x90, 0x90, //0x00001f2e .p2align 4, 0x90 + //0x00001f30 LBB0_383 + 0x49, 0x8d, 0x4a, 0x02, //0x00001f30 leaq $2(%r10), %rcx + 0x48, 0x39, 0xc1, //0x00001f34 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00001f37 jae LBB0_387 + 0x8a, 0x1c, 0x0f, //0x00001f3d movb (%rdi,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00001f40 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00001f43 je LBB0_387 + 0x80, 0xfb, 0x20, //0x00001f49 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00001f4c je LBB0_387 + 0x80, 0xc3, 0xf7, //0x00001f52 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00001f55 cmpb $1, %bl + 0x0f, 0x87, 0xe2, 0x00, 0x00, 0x00, //0x00001f58 ja LBB0_401 + 0x90, 0x90, //0x00001f5e .p2align 4, 0x90 + //0x00001f60 LBB0_387 + 0x49, 0x8d, 0x4a, 0x03, //0x00001f60 leaq $3(%r10), %rcx + 0x48, 0x39, 0xc1, //0x00001f64 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00001f67 jae LBB0_391 + 0x8a, 0x1c, 0x0f, //0x00001f6d movb (%rdi,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00001f70 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00001f73 je LBB0_391 + 0x80, 0xfb, 0x20, //0x00001f79 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00001f7c je LBB0_391 + 0x80, 0xc3, 0xf7, //0x00001f82 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00001f85 cmpb $1, %bl + 0x0f, 0x87, 0xb2, 0x00, 0x00, 0x00, //0x00001f88 ja LBB0_401 + 0x90, 0x90, //0x00001f8e .p2align 4, 0x90 + //0x00001f90 LBB0_391 + 0x49, 0x8d, 0x72, 0x04, //0x00001f90 leaq $4(%r10), %rsi + 0x48, 0x39, 0xf0, //0x00001f94 cmpq %rsi, %rax + 0x0f, 0x86, 0x63, 0x00, 0x00, 0x00, //0x00001f97 jbe LBB0_398 + 0x48, 0x39, 0xf0, //0x00001f9d cmpq %rsi, %rax + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x00001fa0 je LBB0_399 + 0x48, 0x8d, 0x34, 0x07, //0x00001fa6 leaq (%rdi,%rax), %rsi + 0x48, 0x83, 0xc2, 0x04, //0x00001faa addq $4, %rdx + 0x48, 0x89, 0xfb, //0x00001fae movq %rdi, %rbx + 0x4a, 0x8d, 0x4c, 0x17, 0x05, //0x00001fb1 leaq $5(%rdi,%r10), %rcx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001fb6 .p2align 4, 0x90 + //0x00001fc0 LBB0_394 + 0x0f, 0xbe, 0x79, 0xff, //0x00001fc0 movsbl $-1(%rcx), %edi + 0x83, 0xff, 0x20, //0x00001fc4 cmpl $32, %edi + 0x0f, 0x87, 0x55, 0x00, 0x00, 0x00, //0x00001fc7 ja LBB0_400 + 0x49, 0x0f, 0xa3, 0xf9, //0x00001fcd btq %rdi, %r9 + 0x0f, 0x83, 0x4b, 0x00, 0x00, 0x00, //0x00001fd1 jae LBB0_400 + 0x48, 0xff, 0xc1, //0x00001fd7 incq %rcx + 0x48, 0xff, 0xc2, //0x00001fda incq %rdx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x00001fdd jne LBB0_394 + 0x48, 0x89, 0xdf, //0x00001fe3 movq %rbx, %rdi + 0x48, 0x29, 0xfe, //0x00001fe6 subq %rdi, %rsi + 0x48, 0x89, 0xf1, //0x00001fe9 movq %rsi, %rcx + 0x48, 0x39, 0xc1, //0x00001fec cmpq %rax, %rcx + 0x0f, 0x82, 0x4b, 0x00, 0x00, 0x00, //0x00001fef jb LBB0_401 + 0xe9, 0x46, 0x01, 0x00, 0x00, //0x00001ff5 jmp LBB0_418 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001ffa .p2align 4, 0x90 + //0x00002000 LBB0_398 + 0x49, 0x89, 0x30, //0x00002000 movq %rsi, (%r8) + 0x49, 0x89, 0xf2, //0x00002003 movq %rsi, %r10 + 0xe9, 0x35, 0x01, 0x00, 0x00, //0x00002006 jmp LBB0_418 + //0x0000200b LBB0_399 + 0x48, 0x01, 0xfe, //0x0000200b addq %rdi, %rsi + 0x48, 0x29, 0xfe, //0x0000200e subq %rdi, %rsi + 0x48, 0x89, 0xf1, //0x00002011 movq %rsi, %rcx + 0x48, 0x39, 0xc1, //0x00002014 cmpq %rax, %rcx + 0x0f, 0x82, 0x23, 0x00, 0x00, 0x00, //0x00002017 jb LBB0_401 + 0xe9, 0x1e, 0x01, 0x00, 0x00, //0x0000201d jmp LBB0_418 + //0x00002022 LBB0_400 + 0x48, 0x89, 0xdf, //0x00002022 movq %rbx, %rdi + 0x48, 0x89, 0xda, //0x00002025 movq %rbx, %rdx + 0x48, 0xf7, 0xd2, //0x00002028 notq %rdx + 0x48, 0x01, 0xd1, //0x0000202b addq %rdx, %rcx + 0x48, 0x39, 0xc1, //0x0000202e cmpq %rax, %rcx + 0x0f, 0x83, 0x09, 0x01, 0x00, 0x00, //0x00002031 jae LBB0_418 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002037 .p2align 4, 0x90 + //0x00002040 LBB0_401 + 0x4c, 0x8d, 0x51, 0x01, //0x00002040 leaq $1(%rcx), %r10 + 0x4d, 0x89, 0x10, //0x00002044 movq %r10, (%r8) + 0x0f, 0xbe, 0x04, 0x0f, //0x00002047 movsbl (%rdi,%rcx), %eax + 0x83, 0xf8, 0x7b, //0x0000204b cmpl $123, %eax + 0x0f, 0x87, 0xf1, 0x06, 0x00, 0x00, //0x0000204e ja LBB0_488 + 0x48, 0x8d, 0x15, 0x5d, 0x2f, 0x00, 0x00, //0x00002054 leaq $12125(%rip), %rdx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x0000205b movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x0000205f addq %rdx, %rax + 0x4c, 0x89, 0x74, 0x24, 0x48, //0x00002062 movq %r14, $72(%rsp) + 0xff, 0xe0, //0x00002067 jmpq *%rax + //0x00002069 LBB0_403 + 0x49, 0x8b, 0x13, //0x00002069 movq (%r11), %rdx + 0x48, 0x89, 0xd0, //0x0000206c movq %rdx, %rax + 0x4c, 0x29, 0xd0, //0x0000206f subq %r10, %rax + 0x49, 0x01, 0xfa, //0x00002072 addq %rdi, %r10 + 0x48, 0x83, 0xf8, 0x10, //0x00002075 cmpq $16, %rax + 0x0f, 0x82, 0x5b, 0x00, 0x00, 0x00, //0x00002079 jb LBB0_408 + 0x48, 0x29, 0xca, //0x0000207f subq %rcx, %rdx + 0x48, 0x83, 0xc2, 0xef, //0x00002082 addq $-17, %rdx + 0x48, 0x89, 0xd6, //0x00002086 movq %rdx, %rsi + 0x48, 0x83, 0xe6, 0xf0, //0x00002089 andq $-16, %rsi + 0x48, 0x01, 0xce, //0x0000208d addq %rcx, %rsi + 0x48, 0x8d, 0x4c, 0x37, 0x11, //0x00002090 leaq $17(%rdi,%rsi), %rcx + 0x83, 0xe2, 0x0f, //0x00002095 andl $15, %edx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002098 .p2align 4, 0x90 + //0x000020a0 LBB0_405 + 0xc4, 0xc1, 0x7a, 0x6f, 0x12, //0x000020a0 vmovdqu (%r10), %xmm2 + 0xc5, 0x89, 0x74, 0xda, //0x000020a5 vpcmpeqb %xmm2, %xmm14, %xmm3 + 0xc5, 0x81, 0xeb, 0xd2, //0x000020a9 vpor %xmm2, %xmm15, %xmm2 + 0xc5, 0xe9, 0x74, 0xd4, //0x000020ad vpcmpeqb %xmm4, %xmm2, %xmm2 + 0xc5, 0xe9, 0xeb, 0xd3, //0x000020b1 vpor %xmm3, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x000020b5 vpmovmskb %xmm2, %esi + 0x66, 0x85, 0xf6, //0x000020b9 testw %si, %si + 0x0f, 0x85, 0x6e, 0x00, 0x00, 0x00, //0x000020bc jne LBB0_416 + 0x49, 0x83, 0xc2, 0x10, //0x000020c2 addq $16, %r10 + 0x48, 0x83, 0xc0, 0xf0, //0x000020c6 addq $-16, %rax + 0x48, 0x83, 0xf8, 0x0f, //0x000020ca cmpq $15, %rax + 0x0f, 0x87, 0xcc, 0xff, 0xff, 0xff, //0x000020ce ja LBB0_405 + 0x48, 0x89, 0xd0, //0x000020d4 movq %rdx, %rax + 0x49, 0x89, 0xca, //0x000020d7 movq %rcx, %r10 + //0x000020da LBB0_408 + 0x48, 0x85, 0xc0, //0x000020da testq %rax, %rax + 0x0f, 0x84, 0x3b, 0x00, 0x00, 0x00, //0x000020dd je LBB0_415 + 0x49, 0x8d, 0x0c, 0x02, //0x000020e3 leaq (%r10,%rax), %rcx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000020e7 .p2align 4, 0x90 + //0x000020f0 LBB0_410 + 0x41, 0x0f, 0xb6, 0x12, //0x000020f0 movzbl (%r10), %edx + 0x80, 0xfa, 0x2c, //0x000020f4 cmpb $44, %dl + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x000020f7 je LBB0_415 + 0x80, 0xfa, 0x7d, //0x000020fd cmpb $125, %dl + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x00002100 je LBB0_415 + 0x80, 0xfa, 0x5d, //0x00002106 cmpb $93, %dl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x00002109 je LBB0_415 + 0x49, 0xff, 0xc2, //0x0000210f incq %r10 + 0x48, 0xff, 0xc8, //0x00002112 decq %rax + 0x0f, 0x85, 0xd5, 0xff, 0xff, 0xff, //0x00002115 jne LBB0_410 + 0x49, 0x89, 0xca, //0x0000211b movq %rcx, %r10 + //0x0000211e LBB0_415 + 0x49, 0x29, 0xfa, //0x0000211e subq %rdi, %r10 + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002121 jmp LBB0_417 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002126 .p2align 4, 0x90 + //0x00002130 LBB0_416 + 0x0f, 0xb7, 0xc6, //0x00002130 movzwl %si, %eax + 0x48, 0x0f, 0xbc, 0xc0, //0x00002133 bsfq %rax, %rax + 0x49, 0x29, 0xfa, //0x00002137 subq %rdi, %r10 + 0x49, 0x01, 0xc2, //0x0000213a addq %rax, %r10 + //0x0000213d LBB0_417 + 0x4d, 0x89, 0x10, //0x0000213d movq %r10, (%r8) + //0x00002140 LBB0_418 + 0x49, 0x8b, 0x3f, //0x00002140 movq (%r15), %rdi + 0x49, 0x8b, 0x47, 0x08, //0x00002143 movq $8(%r15), %rax + 0x4c, 0x89, 0xd1, //0x00002147 movq %r10, %rcx + 0x48, 0x29, 0xc1, //0x0000214a subq %rax, %rcx + 0x0f, 0x83, 0x2d, 0x00, 0x00, 0x00, //0x0000214d jae LBB0_423 + 0x42, 0x8a, 0x14, 0x17, //0x00002153 movb (%rdi,%r10), %dl + 0x80, 0xfa, 0x0d, //0x00002157 cmpb $13, %dl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x0000215a je LBB0_423 + 0x80, 0xfa, 0x20, //0x00002160 cmpb $32, %dl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00002163 je LBB0_423 + 0x80, 0xc2, 0xf7, //0x00002169 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x0000216c cmpb $1, %dl + 0x0f, 0x86, 0x0b, 0x00, 0x00, 0x00, //0x0000216f jbe LBB0_423 + 0x4c, 0x89, 0xd2, //0x00002175 movq %r10, %rdx + 0xe9, 0x38, 0x01, 0x00, 0x00, //0x00002178 jmp LBB0_444 + 0x90, 0x90, 0x90, //0x0000217d .p2align 4, 0x90 + //0x00002180 LBB0_423 + 0x49, 0x8d, 0x52, 0x01, //0x00002180 leaq $1(%r10), %rdx + 0x48, 0x39, 0xc2, //0x00002184 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002187 jae LBB0_427 + 0x8a, 0x1c, 0x17, //0x0000218d movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00002190 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00002193 je LBB0_427 + 0x80, 0xfb, 0x20, //0x00002199 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000219c je LBB0_427 + 0x80, 0xc3, 0xf7, //0x000021a2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000021a5 cmpb $1, %bl + 0x0f, 0x87, 0x07, 0x01, 0x00, 0x00, //0x000021a8 ja LBB0_444 + 0x90, 0x90, //0x000021ae .p2align 4, 0x90 + //0x000021b0 LBB0_427 + 0x49, 0x8d, 0x52, 0x02, //0x000021b0 leaq $2(%r10), %rdx + 0x48, 0x39, 0xc2, //0x000021b4 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000021b7 jae LBB0_431 + 0x8a, 0x1c, 0x17, //0x000021bd movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x000021c0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000021c3 je LBB0_431 + 0x80, 0xfb, 0x20, //0x000021c9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000021cc je LBB0_431 + 0x80, 0xc3, 0xf7, //0x000021d2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000021d5 cmpb $1, %bl + 0x0f, 0x87, 0xd7, 0x00, 0x00, 0x00, //0x000021d8 ja LBB0_444 + 0x90, 0x90, //0x000021de .p2align 4, 0x90 + //0x000021e0 LBB0_431 + 0x49, 0x8d, 0x52, 0x03, //0x000021e0 leaq $3(%r10), %rdx + 0x48, 0x39, 0xc2, //0x000021e4 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000021e7 jae LBB0_435 + 0x8a, 0x1c, 0x17, //0x000021ed movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x000021f0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000021f3 je LBB0_435 + 0x80, 0xfb, 0x20, //0x000021f9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000021fc je LBB0_435 + 0x80, 0xc3, 0xf7, //0x00002202 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00002205 cmpb $1, %bl + 0x0f, 0x87, 0xa7, 0x00, 0x00, 0x00, //0x00002208 ja LBB0_444 + 0x90, 0x90, //0x0000220e .p2align 4, 0x90 + //0x00002210 LBB0_435 + 0x49, 0x8d, 0x72, 0x04, //0x00002210 leaq $4(%r10), %rsi + 0x48, 0x39, 0xf0, //0x00002214 cmpq %rsi, %rax + 0x0f, 0x86, 0x6d, 0x0b, 0x00, 0x00, //0x00002217 jbe LBB0_550 + 0x48, 0x39, 0xf0, //0x0000221d cmpq %rsi, %rax + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x00002220 je LBB0_442 + 0x48, 0x8d, 0x34, 0x07, //0x00002226 leaq (%rdi,%rax), %rsi + 0x48, 0x83, 0xc1, 0x04, //0x0000222a addq $4, %rcx + 0x48, 0x89, 0xfb, //0x0000222e movq %rdi, %rbx + 0x4a, 0x8d, 0x54, 0x17, 0x05, //0x00002231 leaq $5(%rdi,%r10), %rdx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002236 .p2align 4, 0x90 + //0x00002240 LBB0_438 + 0x0f, 0xbe, 0x7a, 0xff, //0x00002240 movsbl $-1(%rdx), %edi + 0x83, 0xff, 0x20, //0x00002244 cmpl $32, %edi + 0x0f, 0x87, 0x53, 0x00, 0x00, 0x00, //0x00002247 ja LBB0_443 + 0x49, 0x0f, 0xa3, 0xf9, //0x0000224d btq %rdi, %r9 + 0x0f, 0x83, 0x49, 0x00, 0x00, 0x00, //0x00002251 jae LBB0_443 + 0x48, 0xff, 0xc2, //0x00002257 incq %rdx + 0x48, 0xff, 0xc1, //0x0000225a incq %rcx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x0000225d jne LBB0_438 + 0x48, 0x89, 0xdf, //0x00002263 movq %rbx, %rdi + 0x48, 0x29, 0xfe, //0x00002266 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x00002269 movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x0000226c cmpq %rax, %rdx + 0x0f, 0x82, 0x40, 0x00, 0x00, 0x00, //0x0000226f jb LBB0_444 + 0xe9, 0x07, 0x21, 0x00, 0x00, //0x00002275 jmp LBB0_837 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000227a .p2align 4, 0x90 + //0x00002280 LBB0_442 + 0x48, 0x01, 0xfe, //0x00002280 addq %rdi, %rsi + 0x48, 0x29, 0xfe, //0x00002283 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x00002286 movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x00002289 cmpq %rax, %rdx + 0x0f, 0x82, 0x23, 0x00, 0x00, 0x00, //0x0000228c jb LBB0_444 + 0xe9, 0xea, 0x20, 0x00, 0x00, //0x00002292 jmp LBB0_837 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002297 .p2align 4, 0x90 + //0x000022a0 LBB0_443 + 0x48, 0x89, 0xdf, //0x000022a0 movq %rbx, %rdi + 0x48, 0x89, 0xd9, //0x000022a3 movq %rbx, %rcx + 0x48, 0xf7, 0xd1, //0x000022a6 notq %rcx + 0x48, 0x01, 0xca, //0x000022a9 addq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x000022ac cmpq %rax, %rdx + 0x0f, 0x83, 0xcc, 0x20, 0x00, 0x00, //0x000022af jae LBB0_837 + //0x000022b5 LBB0_444 + 0x4c, 0x8d, 0x52, 0x01, //0x000022b5 leaq $1(%rdx), %r10 + 0x4d, 0x89, 0x10, //0x000022b9 movq %r10, (%r8) + 0x8a, 0x04, 0x17, //0x000022bc movb (%rdi,%rdx), %al + 0x3c, 0x2c, //0x000022bf cmpb $44, %al + 0x0f, 0x85, 0x88, 0x20, 0x00, 0x00, //0x000022c1 jne LBB0_832 + 0x49, 0x83, 0xfe, 0x02, //0x000022c7 cmpq $2, %r14 + 0x4d, 0x8d, 0x76, 0xff, //0x000022cb leaq $-1(%r14), %r14 + 0x0f, 0x8d, 0xeb, 0xfb, 0xff, 0xff, //0x000022cf jge LBB0_374 + 0xe9, 0xd6, 0x08, 0x00, 0x00, //0x000022d5 jmp LBB0_446 + //0x000022da LBB0_449 + 0x48, 0x83, 0xc1, 0x04, //0x000022da addq $4, %rcx + 0x49, 0x3b, 0x0b, //0x000022de cmpq (%r11), %rcx + 0x0f, 0x87, 0x59, 0xfe, 0xff, 0xff, //0x000022e1 ja LBB0_418 + 0xe9, 0x59, 0x04, 0x00, 0x00, //0x000022e7 jmp LBB0_488 + //0x000022ec LBB0_450 + 0x4d, 0x8b, 0x03, //0x000022ec movq (%r11), %r8 + 0x4c, 0x89, 0xc0, //0x000022ef movq %r8, %rax + 0x4c, 0x29, 0xd0, //0x000022f2 subq %r10, %rax + 0x48, 0x83, 0xf8, 0x20, //0x000022f5 cmpq $32, %rax + 0x0f, 0x8c, 0x3c, 0x08, 0x00, 0x00, //0x000022f9 jl LBB0_522 + 0x4c, 0x8d, 0x0c, 0x0f, //0x000022ff leaq (%rdi,%rcx), %r9 + 0x49, 0x29, 0xc8, //0x00002303 subq %rcx, %r8 + 0xb9, 0x1f, 0x00, 0x00, 0x00, //0x00002306 movl $31, %ecx + 0x31, 0xc0, //0x0000230b xorl %eax, %eax + 0x45, 0x31, 0xdb, //0x0000230d xorl %r11d, %r11d + 0xe9, 0x2d, 0x00, 0x00, 0x00, //0x00002310 jmp LBB0_452 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002315 .p2align 4, 0x90 + //0x00002320 LBB0_455 + 0x45, 0x31, 0xdb, //0x00002320 xorl %r11d, %r11d + 0x85, 0xdb, //0x00002323 testl %ebx, %ebx + 0x0f, 0x85, 0xbb, 0x00, 0x00, 0x00, //0x00002325 jne LBB0_454 + //0x0000232b LBB0_456 + 0x48, 0x83, 0xc0, 0x20, //0x0000232b addq $32, %rax + 0x49, 0x8d, 0x54, 0x08, 0xe0, //0x0000232f leaq $-32(%r8,%rcx), %rdx + 0x48, 0x83, 0xc1, 0xe0, //0x00002334 addq $-32, %rcx + 0x48, 0x83, 0xfa, 0x3f, //0x00002338 cmpq $63, %rdx + 0x0f, 0x8e, 0x6e, 0x07, 0x00, 0x00, //0x0000233c jle LBB0_457 + //0x00002342 LBB0_452 + 0xc4, 0xc1, 0x7a, 0x6f, 0x54, 0x01, 0x01, //0x00002342 vmovdqu $1(%r9,%rax), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x5c, 0x01, 0x11, //0x00002349 vmovdqu $17(%r9,%rax), %xmm3 + 0xc5, 0xe9, 0x74, 0xe8, //0x00002350 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00002354 vpmovmskb %xmm5, %edx + 0xc5, 0xe1, 0x74, 0xe8, //0x00002358 vpcmpeqb %xmm0, %xmm3, %xmm5 + 0xc5, 0xf9, 0xd7, 0xdd, //0x0000235c vpmovmskb %xmm5, %ebx + 0x48, 0xc1, 0xe3, 0x10, //0x00002360 shlq $16, %rbx + 0x48, 0x09, 0xd3, //0x00002364 orq %rdx, %rbx + 0xc5, 0xe9, 0x74, 0xd1, //0x00002367 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x0000236b vpmovmskb %xmm2, %esi + 0xc5, 0xe1, 0x74, 0xd1, //0x0000236f vpcmpeqb %xmm1, %xmm3, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00002373 vpmovmskb %xmm2, %edx + 0x48, 0xc1, 0xe2, 0x10, //0x00002377 shlq $16, %rdx + 0x48, 0x09, 0xf2, //0x0000237b orq %rsi, %rdx + 0x48, 0x89, 0xd6, //0x0000237e movq %rdx, %rsi + 0x4c, 0x09, 0xde, //0x00002381 orq %r11, %rsi + 0x0f, 0x84, 0x96, 0xff, 0xff, 0xff, //0x00002384 je LBB0_455 + 0x44, 0x89, 0xde, //0x0000238a movl %r11d, %esi + 0x41, 0xbe, 0xff, 0xff, 0xff, 0xff, //0x0000238d movl $4294967295, %r14d + 0x44, 0x31, 0xf6, //0x00002393 xorl %r14d, %esi + 0x21, 0xf2, //0x00002396 andl %esi, %edx + 0x8d, 0x34, 0x12, //0x00002398 leal (%rdx,%rdx), %esi + 0x44, 0x09, 0xde, //0x0000239b orl %r11d, %esi + 0x4d, 0x89, 0xfc, //0x0000239e movq %r15, %r12 + 0x4d, 0x89, 0xef, //0x000023a1 movq %r13, %r15 + 0x49, 0x89, 0xfd, //0x000023a4 movq %rdi, %r13 + 0x41, 0x8d, 0xbe, 0xab, 0xaa, 0xaa, 0xaa, //0x000023a7 leal $-1431655765(%r14), %edi + 0x31, 0xf7, //0x000023ae xorl %esi, %edi + 0x21, 0xd7, //0x000023b0 andl %edx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000023b2 andl $-1431655766, %edi + 0x45, 0x31, 0xdb, //0x000023b8 xorl %r11d, %r11d + 0x01, 0xd7, //0x000023bb addl %edx, %edi + 0x41, 0x0f, 0x92, 0xc3, //0x000023bd setb %r11b + 0x01, 0xff, //0x000023c1 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000023c3 xorl $1431655765, %edi + 0x21, 0xf7, //0x000023c9 andl %esi, %edi + 0x44, 0x31, 0xf7, //0x000023cb xorl %r14d, %edi + 0x4c, 0x8b, 0x74, 0x24, 0x48, //0x000023ce movq $72(%rsp), %r14 + 0x21, 0xfb, //0x000023d3 andl %edi, %ebx + 0x4c, 0x89, 0xef, //0x000023d5 movq %r13, %rdi + 0x4d, 0x89, 0xfd, //0x000023d8 movq %r15, %r13 + 0x4d, 0x89, 0xe7, //0x000023db movq %r12, %r15 + 0x85, 0xdb, //0x000023de testl %ebx, %ebx + 0x0f, 0x84, 0x45, 0xff, 0xff, 0xff, //0x000023e0 je LBB0_456 + //0x000023e6 LBB0_454 + 0x48, 0x0f, 0xbc, 0xcb, //0x000023e6 bsfq %rbx, %rcx + 0x49, 0x01, 0xc9, //0x000023ea addq %rcx, %r9 + 0x49, 0x01, 0xc1, //0x000023ed addq %rax, %r9 + 0x49, 0x29, 0xf9, //0x000023f0 subq %rdi, %r9 + 0x49, 0x83, 0xc1, 0x02, //0x000023f3 addq $2, %r9 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x000023f7 movq $24(%rsp), %r8 + 0x4d, 0x89, 0x08, //0x000023fc movq %r9, (%r8) + 0x4d, 0x89, 0xca, //0x000023ff movq %r9, %r10 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00002402 movq $56(%rsp), %r11 + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00002407 movabsq $4294977024, %r9 + 0xe9, 0x2a, 0xfd, 0xff, 0xff, //0x00002411 jmp LBB0_418 + //0x00002416 LBB0_461 + 0x4d, 0x8b, 0x0b, //0x00002416 movq (%r11), %r9 + 0x4d, 0x29, 0xd1, //0x00002419 subq %r10, %r9 + 0x4c, 0x01, 0xd7, //0x0000241c addq %r10, %rdi + 0x45, 0x31, 0xc0, //0x0000241f xorl %r8d, %r8d + 0x45, 0x31, 0xd2, //0x00002422 xorl %r10d, %r10d + 0x45, 0x31, 0xdb, //0x00002425 xorl %r11d, %r11d + 0x31, 0xd2, //0x00002428 xorl %edx, %edx + 0xe9, 0x1c, 0x00, 0x00, 0x00, //0x0000242a jmp LBB0_463 + //0x0000242f LBB0_462 + 0x49, 0xc1, 0xfe, 0x3f, //0x0000242f sarq $63, %r14 + 0xf3, 0x48, 0x0f, 0xb8, 0xc7, //0x00002433 popcntq %rdi, %rax + 0x49, 0x01, 0xc3, //0x00002438 addq %rax, %r11 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x0000243b movq $32(%rsp), %rdi + 0x48, 0x83, 0xc7, 0x40, //0x00002440 addq $64, %rdi + 0x49, 0x83, 0xc1, 0xc0, //0x00002444 addq $-64, %r9 + 0x4d, 0x89, 0xf0, //0x00002448 movq %r14, %r8 + //0x0000244b LBB0_463 + 0x49, 0x83, 0xf9, 0x40, //0x0000244b cmpq $64, %r9 + 0x0f, 0x8c, 0xa7, 0x01, 0x00, 0x00, //0x0000244f jl LBB0_471 + //0x00002455 LBB0_464 + 0xc5, 0xfa, 0x6f, 0x17, //0x00002455 vmovdqu (%rdi), %xmm2 + 0xc5, 0xfa, 0x6f, 0x77, 0x10, //0x00002459 vmovdqu $16(%rdi), %xmm6 + 0xc5, 0xfa, 0x6f, 0x6f, 0x20, //0x0000245e vmovdqu $32(%rdi), %xmm5 + 0x48, 0x89, 0x7c, 0x24, 0x20, //0x00002463 movq %rdi, $32(%rsp) + 0xc5, 0xfa, 0x6f, 0x7f, 0x30, //0x00002468 vmovdqu $48(%rdi), %xmm7 + 0xc5, 0xe9, 0x74, 0xd8, //0x0000246d vpcmpeqb %xmm0, %xmm2, %xmm3 + 0xc5, 0xf9, 0xd7, 0xf3, //0x00002471 vpmovmskb %xmm3, %esi + 0xc5, 0xc9, 0x74, 0xd8, //0x00002475 vpcmpeqb %xmm0, %xmm6, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x00002479 vpmovmskb %xmm3, %eax + 0xc5, 0xd1, 0x74, 0xd8, //0x0000247d vpcmpeqb %xmm0, %xmm5, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x00002481 vpmovmskb %xmm3, %edi + 0xc5, 0xc1, 0x74, 0xd8, //0x00002485 vpcmpeqb %xmm0, %xmm7, %xmm3 + 0xc5, 0xf9, 0xd7, 0xdb, //0x00002489 vpmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x0000248d shlq $48, %rbx + 0x48, 0xc1, 0xe7, 0x20, //0x00002491 shlq $32, %rdi + 0x48, 0xc1, 0xe0, 0x10, //0x00002495 shlq $16, %rax + 0x48, 0x09, 0xc6, //0x00002499 orq %rax, %rsi + 0x48, 0x09, 0xfe, //0x0000249c orq %rdi, %rsi + 0x48, 0x09, 0xde, //0x0000249f orq %rbx, %rsi + 0xc5, 0xe9, 0x74, 0xd9, //0x000024a2 vpcmpeqb %xmm1, %xmm2, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x000024a6 vpmovmskb %xmm3, %edi + 0xc5, 0xc9, 0x74, 0xd9, //0x000024aa vpcmpeqb %xmm1, %xmm6, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x000024ae vpmovmskb %xmm3, %eax + 0xc5, 0xd1, 0x74, 0xd9, //0x000024b2 vpcmpeqb %xmm1, %xmm5, %xmm3 + 0xc5, 0xf9, 0xd7, 0xdb, //0x000024b6 vpmovmskb %xmm3, %ebx + 0xc5, 0xc1, 0x74, 0xd9, //0x000024ba vpcmpeqb %xmm1, %xmm7, %xmm3 + 0xc5, 0xf9, 0xd7, 0xcb, //0x000024be vpmovmskb %xmm3, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x000024c2 shlq $48, %rcx + 0x48, 0xc1, 0xe3, 0x20, //0x000024c6 shlq $32, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x000024ca shlq $16, %rax + 0x48, 0x09, 0xc7, //0x000024ce orq %rax, %rdi + 0x48, 0x09, 0xdf, //0x000024d1 orq %rbx, %rdi + 0x48, 0x09, 0xcf, //0x000024d4 orq %rcx, %rdi + 0x48, 0x89, 0xf8, //0x000024d7 movq %rdi, %rax + 0x4c, 0x09, 0xd0, //0x000024da orq %r10, %rax + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x000024dd je LBB0_466 + 0x4c, 0x89, 0xd0, //0x000024e3 movq %r10, %rax + 0x48, 0xf7, 0xd0, //0x000024e6 notq %rax + 0x48, 0x21, 0xf8, //0x000024e9 andq %rdi, %rax + 0x4c, 0x8d, 0x34, 0x00, //0x000024ec leaq (%rax,%rax), %r14 + 0x4d, 0x09, 0xd6, //0x000024f0 orq %r10, %r14 + 0x4c, 0x89, 0xf1, //0x000024f3 movq %r14, %rcx + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000024f6 movabsq $-6148914691236517206, %rbx + 0x48, 0x31, 0xd9, //0x00002500 xorq %rbx, %rcx + 0x48, 0x21, 0xdf, //0x00002503 andq %rbx, %rdi + 0x48, 0x21, 0xcf, //0x00002506 andq %rcx, %rdi + 0x45, 0x31, 0xd2, //0x00002509 xorl %r10d, %r10d + 0x48, 0x01, 0xc7, //0x0000250c addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc2, //0x0000250f setb %r10b + 0x48, 0x01, 0xff, //0x00002513 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00002516 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00002520 xorq %rax, %rdi + 0x4c, 0x21, 0xf7, //0x00002523 andq %r14, %rdi + 0x48, 0xf7, 0xd7, //0x00002526 notq %rdi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00002529 jmp LBB0_467 + //0x0000252e LBB0_466 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x0000252e movq $-1, %rdi + 0x45, 0x31, 0xd2, //0x00002535 xorl %r10d, %r10d + //0x00002538 LBB0_467 + 0x48, 0x21, 0xf7, //0x00002538 andq %rsi, %rdi + 0xc4, 0xe1, 0xf9, 0x6e, 0xdf, //0x0000253b vmovq %rdi, %xmm3 + 0xc4, 0xc3, 0x61, 0x44, 0xd9, 0x00, //0x00002540 vpclmulqdq $0, %xmm9, %xmm3, %xmm3 + 0xc4, 0xc1, 0xf9, 0x7e, 0xde, //0x00002546 vmovq %xmm3, %r14 + 0x4d, 0x31, 0xc6, //0x0000254b xorq %r8, %r14 + 0xc5, 0xa9, 0x74, 0xda, //0x0000254e vpcmpeqb %xmm2, %xmm10, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x00002552 vpmovmskb %xmm3, %edi + 0xc5, 0xa9, 0x74, 0xde, //0x00002556 vpcmpeqb %xmm6, %xmm10, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x0000255a vpmovmskb %xmm3, %eax + 0xc5, 0xa9, 0x74, 0xdd, //0x0000255e vpcmpeqb %xmm5, %xmm10, %xmm3 + 0xc5, 0xf9, 0xd7, 0xcb, //0x00002562 vpmovmskb %xmm3, %ecx + 0xc5, 0xa9, 0x74, 0xdf, //0x00002566 vpcmpeqb %xmm7, %xmm10, %xmm3 + 0xc5, 0xf9, 0xd7, 0xdb, //0x0000256a vpmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x0000256e shlq $48, %rbx + 0x48, 0xc1, 0xe1, 0x20, //0x00002572 shlq $32, %rcx + 0x48, 0xc1, 0xe0, 0x10, //0x00002576 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x0000257a orq %rax, %rdi + 0x48, 0x09, 0xcf, //0x0000257d orq %rcx, %rdi + 0x48, 0x09, 0xdf, //0x00002580 orq %rbx, %rdi + 0x4d, 0x89, 0xf0, //0x00002583 movq %r14, %r8 + 0x49, 0xf7, 0xd0, //0x00002586 notq %r8 + 0x4c, 0x21, 0xc7, //0x00002589 andq %r8, %rdi + 0xc5, 0xa1, 0x74, 0xd2, //0x0000258c vpcmpeqb %xmm2, %xmm11, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00002590 vpmovmskb %xmm2, %eax + 0xc5, 0xa1, 0x74, 0xd6, //0x00002594 vpcmpeqb %xmm6, %xmm11, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x00002598 vpmovmskb %xmm2, %ebx + 0xc5, 0xa1, 0x74, 0xd5, //0x0000259c vpcmpeqb %xmm5, %xmm11, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x000025a0 vpmovmskb %xmm2, %esi + 0xc5, 0xa1, 0x74, 0xd7, //0x000025a4 vpcmpeqb %xmm7, %xmm11, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x000025a8 vpmovmskb %xmm2, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x000025ac shlq $48, %rcx + 0x48, 0xc1, 0xe6, 0x20, //0x000025b0 shlq $32, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x000025b4 shlq $16, %rbx + 0x48, 0x09, 0xd8, //0x000025b8 orq %rbx, %rax + 0x48, 0x09, 0xf0, //0x000025bb orq %rsi, %rax + 0x48, 0x09, 0xc8, //0x000025be orq %rcx, %rax + 0x4c, 0x21, 0xc0, //0x000025c1 andq %r8, %rax + 0x0f, 0x84, 0x65, 0xfe, 0xff, 0xff, //0x000025c4 je LBB0_462 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x000025ca movq $24(%rsp), %r8 + 0x90, //0x000025cf .p2align 4, 0x90 + //0x000025d0 LBB0_469 + 0x48, 0x8d, 0x58, 0xff, //0x000025d0 leaq $-1(%rax), %rbx + 0x48, 0x89, 0xd9, //0x000025d4 movq %rbx, %rcx + 0x48, 0x21, 0xf9, //0x000025d7 andq %rdi, %rcx + 0xf3, 0x48, 0x0f, 0xb8, 0xc9, //0x000025da popcntq %rcx, %rcx + 0x4c, 0x01, 0xd9, //0x000025df addq %r11, %rcx + 0x48, 0x39, 0xd1, //0x000025e2 cmpq %rdx, %rcx + 0x0f, 0x86, 0x8d, 0x04, 0x00, 0x00, //0x000025e5 jbe LBB0_515 + 0x48, 0xff, 0xc2, //0x000025eb incq %rdx + 0x48, 0x21, 0xd8, //0x000025ee andq %rbx, %rax + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x000025f1 jne LBB0_469 + 0xe9, 0x33, 0xfe, 0xff, 0xff, //0x000025f7 jmp LBB0_462 + //0x000025fc LBB0_471 + 0x4d, 0x85, 0xc9, //0x000025fc testq %r9, %r9 + 0x0f, 0x8e, 0x3f, 0x05, 0x00, 0x00, //0x000025ff jle LBB0_523 + 0xc5, 0x7e, 0x7f, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, //0x00002605 vmovdqu %ymm8, $128(%rsp) + 0xc5, 0x7e, 0x7f, 0x44, 0x24, 0x60, //0x0000260e vmovdqu %ymm8, $96(%rsp) + 0x89, 0xf8, //0x00002614 movl %edi, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00002616 andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x0000261b cmpl $4033, %eax + 0x0f, 0x82, 0x37, 0x00, 0x00, 0x00, //0x00002620 jb LBB0_475 + 0x48, 0x89, 0xf8, //0x00002626 movq %rdi, %rax + 0x49, 0x83, 0xf9, 0x20, //0x00002629 cmpq $32, %r9 + 0x0f, 0x82, 0x34, 0x00, 0x00, 0x00, //0x0000262d jb LBB0_476 + 0xc5, 0xf8, 0x10, 0x10, //0x00002633 vmovups (%rax), %xmm2 + 0xc5, 0xf8, 0x11, 0x54, 0x24, 0x60, //0x00002637 vmovups %xmm2, $96(%rsp) + 0xc5, 0xf8, 0x10, 0x50, 0x10, //0x0000263d vmovups $16(%rax), %xmm2 + 0xc5, 0xf8, 0x11, 0x54, 0x24, 0x70, //0x00002642 vmovups %xmm2, $112(%rsp) + 0x48, 0x83, 0xc0, 0x20, //0x00002648 addq $32, %rax + 0x49, 0x8d, 0x79, 0xe0, //0x0000264c leaq $-32(%r9), %rdi + 0x48, 0x8d, 0xb4, 0x24, 0x80, 0x00, 0x00, 0x00, //0x00002650 leaq $128(%rsp), %rsi + 0xe9, 0x12, 0x00, 0x00, 0x00, //0x00002658 jmp LBB0_477 + //0x0000265d LBB0_475 + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x0000265d movq $40(%rsp), %r15 + 0xe9, 0xee, 0xfd, 0xff, 0xff, //0x00002662 jmp LBB0_464 + //0x00002667 LBB0_476 + 0x48, 0x8d, 0x74, 0x24, 0x60, //0x00002667 leaq $96(%rsp), %rsi + 0x4c, 0x89, 0xcf, //0x0000266c movq %r9, %rdi + //0x0000266f LBB0_477 + 0x48, 0x83, 0xff, 0x10, //0x0000266f cmpq $16, %rdi + 0x0f, 0x82, 0x4d, 0x00, 0x00, 0x00, //0x00002673 jb LBB0_478 + 0xc5, 0xf8, 0x10, 0x10, //0x00002679 vmovups (%rax), %xmm2 + 0xc5, 0xf8, 0x11, 0x16, //0x0000267d vmovups %xmm2, (%rsi) + 0x48, 0x83, 0xc0, 0x10, //0x00002681 addq $16, %rax + 0x48, 0x83, 0xc6, 0x10, //0x00002685 addq $16, %rsi + 0x48, 0x83, 0xc7, 0xf0, //0x00002689 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x0000268d cmpq $8, %rdi + 0x0f, 0x83, 0x39, 0x00, 0x00, 0x00, //0x00002691 jae LBB0_485 + //0x00002697 LBB0_479 + 0x48, 0x83, 0xff, 0x04, //0x00002697 cmpq $4, %rdi + 0x0f, 0x8c, 0x51, 0x00, 0x00, 0x00, //0x0000269b jl LBB0_480 + //0x000026a1 LBB0_486 + 0x48, 0x89, 0xc1, //0x000026a1 movq %rax, %rcx + 0x8b, 0x00, //0x000026a4 movl (%rax), %eax + 0x89, 0x06, //0x000026a6 movl %eax, (%rsi) + 0x48, 0x83, 0xc1, 0x04, //0x000026a8 addq $4, %rcx + 0x48, 0x89, 0xc8, //0x000026ac movq %rcx, %rax + 0x48, 0x83, 0xc6, 0x04, //0x000026af addq $4, %rsi + 0x48, 0x83, 0xc7, 0xfc, //0x000026b3 addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x000026b7 cmpq $2, %rdi + 0x0f, 0x83, 0x3b, 0x00, 0x00, 0x00, //0x000026bb jae LBB0_481 + 0xe9, 0x4e, 0x00, 0x00, 0x00, //0x000026c1 jmp LBB0_482 + //0x000026c6 LBB0_478 + 0x48, 0x83, 0xff, 0x08, //0x000026c6 cmpq $8, %rdi + 0x0f, 0x82, 0xc7, 0xff, 0xff, 0xff, //0x000026ca jb LBB0_479 + //0x000026d0 LBB0_485 + 0x48, 0x89, 0xc1, //0x000026d0 movq %rax, %rcx + 0x48, 0x8b, 0x00, //0x000026d3 movq (%rax), %rax + 0x48, 0x89, 0x06, //0x000026d6 movq %rax, (%rsi) + 0x48, 0x83, 0xc1, 0x08, //0x000026d9 addq $8, %rcx + 0x48, 0x89, 0xc8, //0x000026dd movq %rcx, %rax + 0x48, 0x83, 0xc6, 0x08, //0x000026e0 addq $8, %rsi + 0x48, 0x83, 0xc7, 0xf8, //0x000026e4 addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x000026e8 cmpq $4, %rdi + 0x0f, 0x8d, 0xaf, 0xff, 0xff, 0xff, //0x000026ec jge LBB0_486 + //0x000026f2 LBB0_480 + 0x48, 0x83, 0xff, 0x02, //0x000026f2 cmpq $2, %rdi + 0x0f, 0x82, 0x18, 0x00, 0x00, 0x00, //0x000026f6 jb LBB0_482 + //0x000026fc LBB0_481 + 0x48, 0x89, 0xc1, //0x000026fc movq %rax, %rcx + 0x0f, 0xb7, 0x00, //0x000026ff movzwl (%rax), %eax + 0x66, 0x89, 0x06, //0x00002702 movw %ax, (%rsi) + 0x48, 0x83, 0xc1, 0x02, //0x00002705 addq $2, %rcx + 0x48, 0x83, 0xc6, 0x02, //0x00002709 addq $2, %rsi + 0x48, 0x83, 0xc7, 0xfe, //0x0000270d addq $-2, %rdi + 0x48, 0x89, 0xc8, //0x00002711 movq %rcx, %rax + //0x00002714 LBB0_482 + 0x48, 0x8d, 0x4c, 0x24, 0x60, //0x00002714 leaq $96(%rsp), %rcx + 0x48, 0x85, 0xff, //0x00002719 testq %rdi, %rdi + 0x48, 0x89, 0xcf, //0x0000271c movq %rcx, %rdi + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x0000271f movq $40(%rsp), %r15 + 0x0f, 0x84, 0x2b, 0xfd, 0xff, 0xff, //0x00002724 je LBB0_464 + 0x8a, 0x00, //0x0000272a movb (%rax), %al + 0x88, 0x06, //0x0000272c movb %al, (%rsi) + 0x48, 0x8d, 0x7c, 0x24, 0x60, //0x0000272e leaq $96(%rsp), %rdi + 0xe9, 0x1d, 0xfd, 0xff, 0xff, //0x00002733 jmp LBB0_464 + //0x00002738 LBB0_487 + 0x48, 0x83, 0xc1, 0x05, //0x00002738 addq $5, %rcx + 0x49, 0x3b, 0x0b, //0x0000273c cmpq (%r11), %rcx + 0x0f, 0x87, 0xfb, 0xf9, 0xff, 0xff, //0x0000273f ja LBB0_418 + //0x00002745 LBB0_488 + 0x49, 0x89, 0x08, //0x00002745 movq %rcx, (%r8) + 0x49, 0x89, 0xca, //0x00002748 movq %rcx, %r10 + 0xe9, 0xf0, 0xf9, 0xff, 0xff, //0x0000274b jmp LBB0_418 + //0x00002750 LBB0_489 + 0x4d, 0x8b, 0x0b, //0x00002750 movq (%r11), %r9 + 0x4d, 0x29, 0xd1, //0x00002753 subq %r10, %r9 + 0x4c, 0x01, 0xd7, //0x00002756 addq %r10, %rdi + 0x45, 0x31, 0xc0, //0x00002759 xorl %r8d, %r8d + 0x45, 0x31, 0xd2, //0x0000275c xorl %r10d, %r10d + 0x45, 0x31, 0xdb, //0x0000275f xorl %r11d, %r11d + 0x31, 0xd2, //0x00002762 xorl %edx, %edx + 0xe9, 0x1c, 0x00, 0x00, 0x00, //0x00002764 jmp LBB0_491 + //0x00002769 LBB0_490 + 0x49, 0xc1, 0xfe, 0x3f, //0x00002769 sarq $63, %r14 + 0xf3, 0x48, 0x0f, 0xb8, 0xc7, //0x0000276d popcntq %rdi, %rax + 0x49, 0x01, 0xc3, //0x00002772 addq %rax, %r11 + 0x48, 0x8b, 0x7c, 0x24, 0x20, //0x00002775 movq $32(%rsp), %rdi + 0x48, 0x83, 0xc7, 0x40, //0x0000277a addq $64, %rdi + 0x49, 0x83, 0xc1, 0xc0, //0x0000277e addq $-64, %r9 + 0x4d, 0x89, 0xf0, //0x00002782 movq %r14, %r8 + //0x00002785 LBB0_491 + 0x49, 0x83, 0xf9, 0x40, //0x00002785 cmpq $64, %r9 + 0x0f, 0x8c, 0xad, 0x01, 0x00, 0x00, //0x00002789 jl LBB0_499 + //0x0000278f LBB0_492 + 0xc5, 0xfa, 0x6f, 0x17, //0x0000278f vmovdqu (%rdi), %xmm2 + 0xc5, 0xfa, 0x6f, 0x77, 0x10, //0x00002793 vmovdqu $16(%rdi), %xmm6 + 0xc5, 0xfa, 0x6f, 0x6f, 0x20, //0x00002798 vmovdqu $32(%rdi), %xmm5 + 0x48, 0x89, 0x7c, 0x24, 0x20, //0x0000279d movq %rdi, $32(%rsp) + 0xc5, 0xfa, 0x6f, 0x7f, 0x30, //0x000027a2 vmovdqu $48(%rdi), %xmm7 + 0xc5, 0xe9, 0x74, 0xd8, //0x000027a7 vpcmpeqb %xmm0, %xmm2, %xmm3 + 0xc5, 0xf9, 0xd7, 0xf3, //0x000027ab vpmovmskb %xmm3, %esi + 0xc5, 0xc9, 0x74, 0xd8, //0x000027af vpcmpeqb %xmm0, %xmm6, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x000027b3 vpmovmskb %xmm3, %eax + 0xc5, 0xd1, 0x74, 0xd8, //0x000027b7 vpcmpeqb %xmm0, %xmm5, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x000027bb vpmovmskb %xmm3, %edi + 0xc5, 0xc1, 0x74, 0xd8, //0x000027bf vpcmpeqb %xmm0, %xmm7, %xmm3 + 0xc5, 0xf9, 0xd7, 0xdb, //0x000027c3 vpmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x000027c7 shlq $48, %rbx + 0x48, 0xc1, 0xe7, 0x20, //0x000027cb shlq $32, %rdi + 0x48, 0xc1, 0xe0, 0x10, //0x000027cf shlq $16, %rax + 0x48, 0x09, 0xc6, //0x000027d3 orq %rax, %rsi + 0x48, 0x09, 0xfe, //0x000027d6 orq %rdi, %rsi + 0x48, 0x09, 0xde, //0x000027d9 orq %rbx, %rsi + 0xc5, 0xe9, 0x74, 0xd9, //0x000027dc vpcmpeqb %xmm1, %xmm2, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x000027e0 vpmovmskb %xmm3, %edi + 0xc5, 0xc9, 0x74, 0xd9, //0x000027e4 vpcmpeqb %xmm1, %xmm6, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x000027e8 vpmovmskb %xmm3, %eax + 0xc5, 0xd1, 0x74, 0xd9, //0x000027ec vpcmpeqb %xmm1, %xmm5, %xmm3 + 0xc5, 0xf9, 0xd7, 0xdb, //0x000027f0 vpmovmskb %xmm3, %ebx + 0xc5, 0xc1, 0x74, 0xd9, //0x000027f4 vpcmpeqb %xmm1, %xmm7, %xmm3 + 0xc5, 0xf9, 0xd7, 0xcb, //0x000027f8 vpmovmskb %xmm3, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x000027fc shlq $48, %rcx + 0x48, 0xc1, 0xe3, 0x20, //0x00002800 shlq $32, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x00002804 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00002808 orq %rax, %rdi + 0x48, 0x09, 0xdf, //0x0000280b orq %rbx, %rdi + 0x48, 0x09, 0xcf, //0x0000280e orq %rcx, %rdi + 0x48, 0x89, 0xf8, //0x00002811 movq %rdi, %rax + 0x4c, 0x09, 0xd0, //0x00002814 orq %r10, %rax + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x00002817 je LBB0_494 + 0x4c, 0x89, 0xd0, //0x0000281d movq %r10, %rax + 0x48, 0xf7, 0xd0, //0x00002820 notq %rax + 0x48, 0x21, 0xf8, //0x00002823 andq %rdi, %rax + 0x4c, 0x8d, 0x34, 0x00, //0x00002826 leaq (%rax,%rax), %r14 + 0x4d, 0x09, 0xd6, //0x0000282a orq %r10, %r14 + 0x4c, 0x89, 0xf1, //0x0000282d movq %r14, %rcx + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002830 movabsq $-6148914691236517206, %rbx + 0x48, 0x31, 0xd9, //0x0000283a xorq %rbx, %rcx + 0x48, 0x21, 0xdf, //0x0000283d andq %rbx, %rdi + 0x48, 0x21, 0xcf, //0x00002840 andq %rcx, %rdi + 0x45, 0x31, 0xd2, //0x00002843 xorl %r10d, %r10d + 0x48, 0x01, 0xc7, //0x00002846 addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc2, //0x00002849 setb %r10b + 0x48, 0x01, 0xff, //0x0000284d addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00002850 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x0000285a xorq %rax, %rdi + 0x4c, 0x21, 0xf7, //0x0000285d andq %r14, %rdi + 0x48, 0xf7, 0xd7, //0x00002860 notq %rdi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00002863 jmp LBB0_495 + //0x00002868 LBB0_494 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00002868 movq $-1, %rdi + 0x45, 0x31, 0xd2, //0x0000286f xorl %r10d, %r10d + //0x00002872 LBB0_495 + 0x48, 0x21, 0xf7, //0x00002872 andq %rsi, %rdi + 0xc4, 0xe1, 0xf9, 0x6e, 0xdf, //0x00002875 vmovq %rdi, %xmm3 + 0xc4, 0xc3, 0x61, 0x44, 0xd9, 0x00, //0x0000287a vpclmulqdq $0, %xmm9, %xmm3, %xmm3 + 0xc4, 0xc1, 0xf9, 0x7e, 0xde, //0x00002880 vmovq %xmm3, %r14 + 0x4d, 0x31, 0xc6, //0x00002885 xorq %r8, %r14 + 0xc5, 0x99, 0x74, 0xda, //0x00002888 vpcmpeqb %xmm2, %xmm12, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x0000288c vpmovmskb %xmm3, %edi + 0xc5, 0x99, 0x74, 0xde, //0x00002890 vpcmpeqb %xmm6, %xmm12, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x00002894 vpmovmskb %xmm3, %eax + 0xc5, 0x99, 0x74, 0xdd, //0x00002898 vpcmpeqb %xmm5, %xmm12, %xmm3 + 0xc5, 0xf9, 0xd7, 0xcb, //0x0000289c vpmovmskb %xmm3, %ecx + 0xc5, 0x99, 0x74, 0xdf, //0x000028a0 vpcmpeqb %xmm7, %xmm12, %xmm3 + 0xc5, 0xf9, 0xd7, 0xdb, //0x000028a4 vpmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x000028a8 shlq $48, %rbx + 0x48, 0xc1, 0xe1, 0x20, //0x000028ac shlq $32, %rcx + 0x48, 0xc1, 0xe0, 0x10, //0x000028b0 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x000028b4 orq %rax, %rdi + 0x48, 0x09, 0xcf, //0x000028b7 orq %rcx, %rdi + 0x48, 0x09, 0xdf, //0x000028ba orq %rbx, %rdi + 0x4d, 0x89, 0xf0, //0x000028bd movq %r14, %r8 + 0x49, 0xf7, 0xd0, //0x000028c0 notq %r8 + 0x4c, 0x21, 0xc7, //0x000028c3 andq %r8, %rdi + 0xc5, 0x91, 0x74, 0xd2, //0x000028c6 vpcmpeqb %xmm2, %xmm13, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x000028ca vpmovmskb %xmm2, %eax + 0xc5, 0x91, 0x74, 0xd6, //0x000028ce vpcmpeqb %xmm6, %xmm13, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x000028d2 vpmovmskb %xmm2, %ebx + 0xc5, 0x91, 0x74, 0xd5, //0x000028d6 vpcmpeqb %xmm5, %xmm13, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x000028da vpmovmskb %xmm2, %esi + 0xc5, 0x91, 0x74, 0xd7, //0x000028de vpcmpeqb %xmm7, %xmm13, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x000028e2 vpmovmskb %xmm2, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x000028e6 shlq $48, %rcx + 0x48, 0xc1, 0xe6, 0x20, //0x000028ea shlq $32, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x000028ee shlq $16, %rbx + 0x48, 0x09, 0xd8, //0x000028f2 orq %rbx, %rax + 0x48, 0x09, 0xf0, //0x000028f5 orq %rsi, %rax + 0x48, 0x09, 0xc8, //0x000028f8 orq %rcx, %rax + 0x4c, 0x21, 0xc0, //0x000028fb andq %r8, %rax + 0x0f, 0x84, 0x65, 0xfe, 0xff, 0xff, //0x000028fe je LBB0_490 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00002904 movq $24(%rsp), %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002909 .p2align 4, 0x90 + //0x00002910 LBB0_497 + 0x48, 0x8d, 0x58, 0xff, //0x00002910 leaq $-1(%rax), %rbx + 0x48, 0x89, 0xd9, //0x00002914 movq %rbx, %rcx + 0x48, 0x21, 0xf9, //0x00002917 andq %rdi, %rcx + 0xf3, 0x48, 0x0f, 0xb8, 0xc9, //0x0000291a popcntq %rcx, %rcx + 0x4c, 0x01, 0xd9, //0x0000291f addq %r11, %rcx + 0x48, 0x39, 0xd1, //0x00002922 cmpq %rdx, %rcx + 0x0f, 0x86, 0x4d, 0x01, 0x00, 0x00, //0x00002925 jbe LBB0_515 + 0x48, 0xff, 0xc2, //0x0000292b incq %rdx + 0x48, 0x21, 0xd8, //0x0000292e andq %rbx, %rax + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00002931 jne LBB0_497 + 0xe9, 0x2d, 0xfe, 0xff, 0xff, //0x00002937 jmp LBB0_490 + //0x0000293c LBB0_499 + 0x4d, 0x85, 0xc9, //0x0000293c testq %r9, %r9 + 0x0f, 0x8e, 0xff, 0x01, 0x00, 0x00, //0x0000293f jle LBB0_523 + 0xc5, 0x7e, 0x7f, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, //0x00002945 vmovdqu %ymm8, $128(%rsp) + 0xc5, 0x7e, 0x7f, 0x44, 0x24, 0x60, //0x0000294e vmovdqu %ymm8, $96(%rsp) + 0x89, 0xf8, //0x00002954 movl %edi, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00002956 andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x0000295b cmpl $4033, %eax + 0x0f, 0x82, 0x37, 0x00, 0x00, 0x00, //0x00002960 jb LBB0_503 + 0x48, 0x89, 0xf8, //0x00002966 movq %rdi, %rax + 0x49, 0x83, 0xf9, 0x20, //0x00002969 cmpq $32, %r9 + 0x0f, 0x82, 0x34, 0x00, 0x00, 0x00, //0x0000296d jb LBB0_504 + 0xc5, 0xf8, 0x10, 0x10, //0x00002973 vmovups (%rax), %xmm2 + 0xc5, 0xf8, 0x11, 0x54, 0x24, 0x60, //0x00002977 vmovups %xmm2, $96(%rsp) + 0xc5, 0xf8, 0x10, 0x50, 0x10, //0x0000297d vmovups $16(%rax), %xmm2 + 0xc5, 0xf8, 0x11, 0x54, 0x24, 0x70, //0x00002982 vmovups %xmm2, $112(%rsp) + 0x48, 0x83, 0xc0, 0x20, //0x00002988 addq $32, %rax + 0x49, 0x8d, 0x79, 0xe0, //0x0000298c leaq $-32(%r9), %rdi + 0x48, 0x8d, 0xb4, 0x24, 0x80, 0x00, 0x00, 0x00, //0x00002990 leaq $128(%rsp), %rsi + 0xe9, 0x12, 0x00, 0x00, 0x00, //0x00002998 jmp LBB0_505 + //0x0000299d LBB0_503 + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x0000299d movq $40(%rsp), %r15 + 0xe9, 0xe8, 0xfd, 0xff, 0xff, //0x000029a2 jmp LBB0_492 + //0x000029a7 LBB0_504 + 0x48, 0x8d, 0x74, 0x24, 0x60, //0x000029a7 leaq $96(%rsp), %rsi + 0x4c, 0x89, 0xcf, //0x000029ac movq %r9, %rdi + //0x000029af LBB0_505 + 0x48, 0x83, 0xff, 0x10, //0x000029af cmpq $16, %rdi + 0x0f, 0x82, 0x4d, 0x00, 0x00, 0x00, //0x000029b3 jb LBB0_506 + 0xc5, 0xf8, 0x10, 0x10, //0x000029b9 vmovups (%rax), %xmm2 + 0xc5, 0xf8, 0x11, 0x16, //0x000029bd vmovups %xmm2, (%rsi) + 0x48, 0x83, 0xc0, 0x10, //0x000029c1 addq $16, %rax + 0x48, 0x83, 0xc6, 0x10, //0x000029c5 addq $16, %rsi + 0x48, 0x83, 0xc7, 0xf0, //0x000029c9 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x000029cd cmpq $8, %rdi + 0x0f, 0x83, 0x39, 0x00, 0x00, 0x00, //0x000029d1 jae LBB0_513 + //0x000029d7 LBB0_507 + 0x48, 0x83, 0xff, 0x04, //0x000029d7 cmpq $4, %rdi + 0x0f, 0x8c, 0x51, 0x00, 0x00, 0x00, //0x000029db jl LBB0_508 + //0x000029e1 LBB0_514 + 0x48, 0x89, 0xc1, //0x000029e1 movq %rax, %rcx + 0x8b, 0x00, //0x000029e4 movl (%rax), %eax + 0x89, 0x06, //0x000029e6 movl %eax, (%rsi) + 0x48, 0x83, 0xc1, 0x04, //0x000029e8 addq $4, %rcx + 0x48, 0x89, 0xc8, //0x000029ec movq %rcx, %rax + 0x48, 0x83, 0xc6, 0x04, //0x000029ef addq $4, %rsi + 0x48, 0x83, 0xc7, 0xfc, //0x000029f3 addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x000029f7 cmpq $2, %rdi + 0x0f, 0x83, 0x3b, 0x00, 0x00, 0x00, //0x000029fb jae LBB0_509 + 0xe9, 0x4e, 0x00, 0x00, 0x00, //0x00002a01 jmp LBB0_510 + //0x00002a06 LBB0_506 + 0x48, 0x83, 0xff, 0x08, //0x00002a06 cmpq $8, %rdi + 0x0f, 0x82, 0xc7, 0xff, 0xff, 0xff, //0x00002a0a jb LBB0_507 + //0x00002a10 LBB0_513 + 0x48, 0x89, 0xc1, //0x00002a10 movq %rax, %rcx + 0x48, 0x8b, 0x00, //0x00002a13 movq (%rax), %rax + 0x48, 0x89, 0x06, //0x00002a16 movq %rax, (%rsi) + 0x48, 0x83, 0xc1, 0x08, //0x00002a19 addq $8, %rcx + 0x48, 0x89, 0xc8, //0x00002a1d movq %rcx, %rax + 0x48, 0x83, 0xc6, 0x08, //0x00002a20 addq $8, %rsi + 0x48, 0x83, 0xc7, 0xf8, //0x00002a24 addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x00002a28 cmpq $4, %rdi + 0x0f, 0x8d, 0xaf, 0xff, 0xff, 0xff, //0x00002a2c jge LBB0_514 + //0x00002a32 LBB0_508 + 0x48, 0x83, 0xff, 0x02, //0x00002a32 cmpq $2, %rdi + 0x0f, 0x82, 0x18, 0x00, 0x00, 0x00, //0x00002a36 jb LBB0_510 + //0x00002a3c LBB0_509 + 0x48, 0x89, 0xc1, //0x00002a3c movq %rax, %rcx + 0x0f, 0xb7, 0x00, //0x00002a3f movzwl (%rax), %eax + 0x66, 0x89, 0x06, //0x00002a42 movw %ax, (%rsi) + 0x48, 0x83, 0xc1, 0x02, //0x00002a45 addq $2, %rcx + 0x48, 0x83, 0xc6, 0x02, //0x00002a49 addq $2, %rsi + 0x48, 0x83, 0xc7, 0xfe, //0x00002a4d addq $-2, %rdi + 0x48, 0x89, 0xc8, //0x00002a51 movq %rcx, %rax + //0x00002a54 LBB0_510 + 0x48, 0x8d, 0x4c, 0x24, 0x60, //0x00002a54 leaq $96(%rsp), %rcx + 0x48, 0x85, 0xff, //0x00002a59 testq %rdi, %rdi + 0x48, 0x89, 0xcf, //0x00002a5c movq %rcx, %rdi + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x00002a5f movq $40(%rsp), %r15 + 0x0f, 0x84, 0x25, 0xfd, 0xff, 0xff, //0x00002a64 je LBB0_492 + 0x8a, 0x00, //0x00002a6a movb (%rax), %al + 0x88, 0x06, //0x00002a6c movb %al, (%rsi) + 0x48, 0x8d, 0x7c, 0x24, 0x60, //0x00002a6e leaq $96(%rsp), %rdi + 0xe9, 0x17, 0xfd, 0xff, 0xff, //0x00002a73 jmp LBB0_492 + //0x00002a78 LBB0_515 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00002a78 movq $56(%rsp), %r11 + 0x49, 0x8b, 0x0b, //0x00002a7d movq (%r11), %rcx + 0x48, 0x0f, 0xbc, 0xc0, //0x00002a80 bsfq %rax, %rax + 0x4c, 0x29, 0xc8, //0x00002a84 subq %r9, %rax + 0x4c, 0x8d, 0x54, 0x08, 0x01, //0x00002a87 leaq $1(%rax,%rcx), %r10 + 0x4d, 0x89, 0x10, //0x00002a8c movq %r10, (%r8) + 0x49, 0x8b, 0x03, //0x00002a8f movq (%r11), %rax + 0x49, 0x39, 0xc2, //0x00002a92 cmpq %rax, %r10 + 0x4c, 0x0f, 0x47, 0xd0, //0x00002a95 cmovaq %rax, %r10 + 0x4d, 0x89, 0x10, //0x00002a99 movq %r10, (%r8) + //0x00002a9c LBB0_516 + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00002a9c movabsq $4294977024, %r9 + 0x4c, 0x8b, 0x74, 0x24, 0x48, //0x00002aa6 movq $72(%rsp), %r14 + 0xe9, 0x90, 0xf6, 0xff, 0xff, //0x00002aab jmp LBB0_418 + //0x00002ab0 LBB0_457 + 0x4d, 0x85, 0xdb, //0x00002ab0 testq %r11, %r11 + 0x0f, 0x85, 0xa5, 0x00, 0x00, 0x00, //0x00002ab3 jne LBB0_524 + 0x4a, 0x8d, 0x4c, 0x08, 0x01, //0x00002ab9 leaq $1(%rax,%r9), %rcx + 0x48, 0xf7, 0xd0, //0x00002abe notq %rax + 0x4c, 0x01, 0xc0, //0x00002ac1 addq %r8, %rax + //0x00002ac4 LBB0_459 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00002ac4 movq $56(%rsp), %r11 + //0x00002ac9 LBB0_460 + 0x48, 0x85, 0xc0, //0x00002ac9 testq %rax, %rax + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00002acc movq $24(%rsp), %r8 + 0x49, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00002ad1 movabsq $4294977024, %r9 + 0x0f, 0x8f, 0x1d, 0x00, 0x00, 0x00, //0x00002adb jg LBB0_518 + 0xe9, 0x5a, 0xf6, 0xff, 0xff, //0x00002ae1 jmp LBB0_418 + //0x00002ae6 LBB0_517 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00002ae6 movq $-2, %rdx + 0xbe, 0x02, 0x00, 0x00, 0x00, //0x00002aed movl $2, %esi + 0x48, 0x01, 0xf1, //0x00002af2 addq %rsi, %rcx + 0x48, 0x01, 0xd0, //0x00002af5 addq %rdx, %rax + 0x0f, 0x8e, 0x42, 0xf6, 0xff, 0xff, //0x00002af8 jle LBB0_418 + //0x00002afe LBB0_518 + 0x0f, 0xb6, 0x11, //0x00002afe movzbl (%rcx), %edx + 0x80, 0xfa, 0x5c, //0x00002b01 cmpb $92, %dl + 0x0f, 0x84, 0xdc, 0xff, 0xff, 0xff, //0x00002b04 je LBB0_517 + 0x80, 0xfa, 0x22, //0x00002b0a cmpb $34, %dl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x00002b0d je LBB0_521 + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00002b13 movq $-1, %rdx + 0xbe, 0x01, 0x00, 0x00, 0x00, //0x00002b1a movl $1, %esi + 0x48, 0x01, 0xf1, //0x00002b1f addq %rsi, %rcx + 0x48, 0x01, 0xd0, //0x00002b22 addq %rdx, %rax + 0x0f, 0x8f, 0xd3, 0xff, 0xff, 0xff, //0x00002b25 jg LBB0_518 + 0xe9, 0x10, 0xf6, 0xff, 0xff, //0x00002b2b jmp LBB0_418 + //0x00002b30 LBB0_521 + 0x48, 0x29, 0xf9, //0x00002b30 subq %rdi, %rcx + 0x48, 0xff, 0xc1, //0x00002b33 incq %rcx + 0xe9, 0x0a, 0xfc, 0xff, 0xff, //0x00002b36 jmp LBB0_488 + //0x00002b3b LBB0_522 + 0x4a, 0x8d, 0x0c, 0x17, //0x00002b3b leaq (%rdi,%r10), %rcx + 0xe9, 0x80, 0xff, 0xff, 0xff, //0x00002b3f jmp LBB0_459 + //0x00002b44 LBB0_523 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00002b44 movq $56(%rsp), %r11 + 0x4d, 0x8b, 0x13, //0x00002b49 movq (%r11), %r10 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00002b4c movq $24(%rsp), %r8 + 0x4d, 0x89, 0x10, //0x00002b51 movq %r10, (%r8) + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x00002b54 movq $40(%rsp), %r15 + 0xe9, 0x3e, 0xff, 0xff, 0xff, //0x00002b59 jmp LBB0_516 + //0x00002b5e LBB0_524 + 0x49, 0x8d, 0x48, 0xff, //0x00002b5e leaq $-1(%r8), %rcx + 0x48, 0x39, 0xc1, //0x00002b62 cmpq %rax, %rcx + 0x0f, 0x85, 0x14, 0x00, 0x00, 0x00, //0x00002b65 jne LBB0_526 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00002b6b movq $24(%rsp), %r8 + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x00002b70 movq $40(%rsp), %r15 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00002b75 movq $56(%rsp), %r11 + 0xe9, 0x1d, 0xff, 0xff, 0xff, //0x00002b7a jmp LBB0_516 + //0x00002b7f LBB0_526 + 0x4a, 0x8d, 0x4c, 0x08, 0x02, //0x00002b7f leaq $2(%rax,%r9), %rcx + 0x49, 0x29, 0xc0, //0x00002b84 subq %rax, %r8 + 0x49, 0x83, 0xc0, 0xfe, //0x00002b87 addq $-2, %r8 + 0x4c, 0x89, 0xc0, //0x00002b8b movq %r8, %rax + 0x4c, 0x8b, 0x7c, 0x24, 0x28, //0x00002b8e movq $40(%rsp), %r15 + 0x4c, 0x8b, 0x5c, 0x24, 0x38, //0x00002b93 movq $56(%rsp), %r11 + 0x4c, 0x8b, 0x74, 0x24, 0x48, //0x00002b98 movq $72(%rsp), %r14 + 0xe9, 0x27, 0xff, 0xff, 0xff, //0x00002b9d jmp LBB0_460 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002ba2 .p2align 4, 0x90 + //0x00002bb0 LBB0_446 + 0x49, 0x83, 0xc5, 0x10, //0x00002bb0 addq $16, %r13 + 0x4c, 0x89, 0xd0, //0x00002bb4 movq %r10, %rax + 0x4c, 0x3b, 0xac, 0x24, 0xc0, 0x00, 0x00, 0x00, //0x00002bb7 cmpq $192(%rsp), %r13 + 0x48, 0x8b, 0x4c, 0x24, 0x40, //0x00002bbf movq $64(%rsp), %rcx + 0x0f, 0x85, 0xc9, 0xd5, 0xff, 0xff, //0x00002bc4 jne LBB0_2 + //0x00002bca LBB0_447 + 0x48, 0x85, 0xc9, //0x00002bca testq %rcx, %rcx + 0x0f, 0x84, 0x95, 0x00, 0x00, 0x00, //0x00002bcd je LBB0_527 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00002bd3 movl $1, %r11d + 0xc4, 0xc1, 0xf9, 0x6e, 0xc3, //0x00002bd9 vmovq %r11, %xmm0 + 0xc5, 0xfa, 0x7f, 0x01, //0x00002bde vmovdqu %xmm0, (%rcx) + 0x4d, 0x8b, 0x27, //0x00002be2 movq (%r15), %r12 + 0x4c, 0x89, 0xe0, //0x00002be5 movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x00002be8 notq %rax + 0x48, 0x89, 0x44, 0x24, 0x38, //0x00002beb movq %rax, $56(%rsp) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00002bf0 movl $1, %eax + 0x4c, 0x29, 0xe0, //0x00002bf5 subq %r12, %rax + 0x48, 0x89, 0x44, 0x24, 0x58, //0x00002bf8 movq %rax, $88(%rsp) + 0x4d, 0x8b, 0x38, //0x00002bfd movq (%r8), %r15 + 0x49, 0x8d, 0x44, 0x24, 0x05, //0x00002c00 leaq $5(%r12), %rax + 0x48, 0x89, 0x84, 0x24, 0xb0, 0x00, 0x00, 0x00, //0x00002c05 movq %rax, $176(%rsp) + 0x48, 0xc7, 0x44, 0x24, 0x48, 0xff, 0xff, 0xff, 0xff, //0x00002c0d movq $-1, $72(%rsp) + 0xc5, 0xfa, 0x6f, 0x05, 0x12, 0xd4, 0xff, 0xff, //0x00002c16 vmovdqu $-11246(%rip), %xmm0 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0x1a, 0xd4, 0xff, 0xff, //0x00002c1e vmovdqu $-11238(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x05, 0x52, 0xd4, 0xff, 0xff, //0x00002c26 vmovdqu $-11182(%rip), %xmm8 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0x5a, 0xd4, 0xff, 0xff, //0x00002c2e vmovdqu $-11174(%rip), %xmm9 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0x62, 0xd4, 0xff, 0xff, //0x00002c36 vmovdqu $-11166(%rip), %xmm10 /* LCPI0_10+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x1d, 0x6a, 0xd4, 0xff, 0xff, //0x00002c3e vmovdqu $-11158(%rip), %xmm11 /* LCPI0_11+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x25, 0xc2, 0xd3, 0xff, 0xff, //0x00002c46 vmovdqu $-11326(%rip), %xmm12 /* LCPI0_1+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x2d, 0x6a, 0xd4, 0xff, 0xff, //0x00002c4e vmovdqu $-11158(%rip), %xmm13 /* LCPI0_12+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0x72, 0xd4, 0xff, 0xff, //0x00002c56 vmovdqu $-11150(%rip), %xmm2 /* LCPI0_13+0(%rip) */ + 0x4c, 0x89, 0x64, 0x24, 0x30, //0x00002c5e movq %r12, $48(%rsp) + 0xe9, 0x64, 0x01, 0x00, 0x00, //0x00002c63 jmp LBB0_556 + //0x00002c68 LBB0_527 + 0x4d, 0x8b, 0x1f, //0x00002c68 movq (%r15), %r11 + 0x49, 0x8b, 0x77, 0x08, //0x00002c6b movq $8(%r15), %rsi + 0x49, 0x8b, 0x10, //0x00002c6f movq (%r8), %rdx + 0x48, 0x89, 0xd1, //0x00002c72 movq %rdx, %rcx + 0x48, 0x29, 0xf1, //0x00002c75 subq %rsi, %rcx + 0x0f, 0x83, 0x26, 0x00, 0x00, 0x00, //0x00002c78 jae LBB0_532 + 0x41, 0x8a, 0x04, 0x13, //0x00002c7e movb (%r11,%rdx), %al + 0x3c, 0x0d, //0x00002c82 cmpb $13, %al + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00002c84 je LBB0_532 + 0x3c, 0x20, //0x00002c8a cmpb $32, %al + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00002c8c je LBB0_532 + 0x04, 0xf7, //0x00002c92 addb $-9, %al + 0x3c, 0x01, //0x00002c94 cmpb $1, %al + 0x0f, 0x86, 0x08, 0x00, 0x00, 0x00, //0x00002c96 jbe LBB0_532 + 0x49, 0x89, 0xd4, //0x00002c9c movq %rdx, %r12 + 0xe9, 0x42, 0x17, 0x00, 0x00, //0x00002c9f jmp LBB0_843 + //0x00002ca4 LBB0_532 + 0x4c, 0x8d, 0x62, 0x01, //0x00002ca4 leaq $1(%rdx), %r12 + 0x49, 0x39, 0xf4, //0x00002ca8 cmpq %rsi, %r12 + 0x0f, 0x83, 0x1e, 0x00, 0x00, 0x00, //0x00002cab jae LBB0_536 + 0x43, 0x8a, 0x04, 0x23, //0x00002cb1 movb (%r11,%r12), %al + 0x3c, 0x0d, //0x00002cb5 cmpb $13, %al + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00002cb7 je LBB0_536 + 0x3c, 0x20, //0x00002cbd cmpb $32, %al + 0x0f, 0x84, 0x0a, 0x00, 0x00, 0x00, //0x00002cbf je LBB0_536 + 0x04, 0xf7, //0x00002cc5 addb $-9, %al + 0x3c, 0x01, //0x00002cc7 cmpb $1, %al + 0x0f, 0x87, 0x17, 0x17, 0x00, 0x00, //0x00002cc9 ja LBB0_843 + //0x00002ccf LBB0_536 + 0x4c, 0x8d, 0x62, 0x02, //0x00002ccf leaq $2(%rdx), %r12 + 0x49, 0x39, 0xf4, //0x00002cd3 cmpq %rsi, %r12 + 0x0f, 0x83, 0x1e, 0x00, 0x00, 0x00, //0x00002cd6 jae LBB0_540 + 0x43, 0x8a, 0x04, 0x23, //0x00002cdc movb (%r11,%r12), %al + 0x3c, 0x0d, //0x00002ce0 cmpb $13, %al + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00002ce2 je LBB0_540 + 0x3c, 0x20, //0x00002ce8 cmpb $32, %al + 0x0f, 0x84, 0x0a, 0x00, 0x00, 0x00, //0x00002cea je LBB0_540 + 0x04, 0xf7, //0x00002cf0 addb $-9, %al + 0x3c, 0x01, //0x00002cf2 cmpb $1, %al + 0x0f, 0x87, 0xec, 0x16, 0x00, 0x00, //0x00002cf4 ja LBB0_843 + //0x00002cfa LBB0_540 + 0x4c, 0x8d, 0x62, 0x03, //0x00002cfa leaq $3(%rdx), %r12 + 0x49, 0x39, 0xf4, //0x00002cfe cmpq %rsi, %r12 + 0x0f, 0x83, 0x1e, 0x00, 0x00, 0x00, //0x00002d01 jae LBB0_544 + 0x43, 0x8a, 0x04, 0x23, //0x00002d07 movb (%r11,%r12), %al + 0x3c, 0x0d, //0x00002d0b cmpb $13, %al + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00002d0d je LBB0_544 + 0x3c, 0x20, //0x00002d13 cmpb $32, %al + 0x0f, 0x84, 0x0a, 0x00, 0x00, 0x00, //0x00002d15 je LBB0_544 + 0x04, 0xf7, //0x00002d1b addb $-9, %al + 0x3c, 0x01, //0x00002d1d cmpb $1, %al + 0x0f, 0x87, 0xc1, 0x16, 0x00, 0x00, //0x00002d1f ja LBB0_843 + //0x00002d25 LBB0_544 + 0x48, 0x8d, 0x7a, 0x04, //0x00002d25 leaq $4(%rdx), %rdi + 0x48, 0x39, 0xfe, //0x00002d29 cmpq %rdi, %rsi + 0x0f, 0x86, 0x0e, 0x16, 0x00, 0x00, //0x00002d2c jbe LBB0_831 + 0x48, 0x39, 0xfe, //0x00002d32 cmpq %rdi, %rsi + 0x0f, 0x84, 0x74, 0x16, 0x00, 0x00, //0x00002d35 je LBB0_840 + 0x49, 0x8d, 0x3c, 0x33, //0x00002d3b leaq (%r11,%rsi), %rdi + 0x48, 0x83, 0xc1, 0x04, //0x00002d3f addq $4, %rcx + 0x4e, 0x8d, 0x64, 0x1a, 0x05, //0x00002d43 leaq $5(%rdx,%r11), %r12 + 0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00002d48 movabsq $4294977024, %rax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002d52 .p2align 4, 0x90 + //0x00002d60 LBB0_547 + 0x41, 0x0f, 0xbe, 0x54, 0x24, 0xff, //0x00002d60 movsbl $-1(%r12), %edx + 0x83, 0xfa, 0x20, //0x00002d66 cmpl $32, %edx + 0x0f, 0x87, 0x5e, 0x16, 0x00, 0x00, //0x00002d69 ja LBB0_842 + 0x48, 0x0f, 0xa3, 0xd0, //0x00002d6f btq %rdx, %rax + 0x0f, 0x83, 0x54, 0x16, 0x00, 0x00, //0x00002d73 jae LBB0_842 + 0x49, 0xff, 0xc4, //0x00002d79 incq %r12 + 0x48, 0xff, 0xc1, //0x00002d7c incq %rcx + 0x0f, 0x85, 0xdb, 0xff, 0xff, 0xff, //0x00002d7f jne LBB0_547 + 0xe9, 0x28, 0x16, 0x00, 0x00, //0x00002d85 jmp LBB0_841 + //0x00002d8a LBB0_550 + 0x49, 0x89, 0x30, //0x00002d8a movq %rsi, (%r8) + 0x49, 0x89, 0xf2, //0x00002d8d movq %rsi, %r10 + 0xe9, 0xec, 0x15, 0x00, 0x00, //0x00002d90 jmp LBB0_837 + //0x00002d95 LBB0_551 + 0x49, 0x81, 0xfb, 0xff, 0x0f, 0x00, 0x00, //0x00002d95 cmpq $4095, %r11 + 0x0f, 0x8f, 0x5c, 0x17, 0x00, 0x00, //0x00002d9c jg LBB0_942 + 0x49, 0x8d, 0x43, 0x01, //0x00002da2 leaq $1(%r11), %rax + 0x48, 0x89, 0x01, //0x00002da6 movq %rax, (%rcx) + 0x4a, 0xc7, 0x44, 0xd9, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00002da9 movq $0, $8(%rcx,%r11,8) + //0x00002db2 LBB0_553 + 0x4d, 0x89, 0xfa, //0x00002db2 movq %r15, %r10 + //0x00002db5 LBB0_554 + 0x48, 0x8b, 0x31, //0x00002db5 movq (%rcx), %rsi + 0x4d, 0x89, 0xd7, //0x00002db8 movq %r10, %r15 + 0x49, 0x89, 0xf3, //0x00002dbb movq %rsi, %r11 + 0x4c, 0x8b, 0x6c, 0x24, 0x48, //0x00002dbe movq $72(%rsp), %r13 + 0x48, 0x85, 0xf6, //0x00002dc3 testq %rsi, %rsi + 0x0f, 0x84, 0xc2, 0x15, 0x00, 0x00, //0x00002dc6 je LBB0_839 + //0x00002dcc LBB0_556 + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00002dcc movq $40(%rsp), %r10 + 0x49, 0x8b, 0x52, 0x08, //0x00002dd1 movq $8(%r10), %rdx + 0x4c, 0x89, 0xfe, //0x00002dd5 movq %r15, %rsi + 0x48, 0x29, 0xd6, //0x00002dd8 subq %rdx, %rsi + 0x0f, 0x83, 0x2f, 0x00, 0x00, 0x00, //0x00002ddb jae LBB0_561 + 0x43, 0x8a, 0x04, 0x3c, //0x00002de1 movb (%r12,%r15), %al + 0x3c, 0x0d, //0x00002de5 cmpb $13, %al + 0x0f, 0x84, 0x23, 0x00, 0x00, 0x00, //0x00002de7 je LBB0_561 + 0x3c, 0x20, //0x00002ded cmpb $32, %al + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x00002def je LBB0_561 + 0x04, 0xf7, //0x00002df5 addb $-9, %al + 0x3c, 0x01, //0x00002df7 cmpb $1, %al + 0x0f, 0x86, 0x11, 0x00, 0x00, 0x00, //0x00002df9 jbe LBB0_561 + 0x4d, 0x89, 0xf9, //0x00002dff movq %r15, %r9 + 0xe9, 0x37, 0x01, 0x00, 0x00, //0x00002e02 jmp LBB0_583 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002e07 .p2align 4, 0x90 + //0x00002e10 LBB0_561 + 0x4d, 0x8d, 0x4f, 0x01, //0x00002e10 leaq $1(%r15), %r9 + 0x49, 0x39, 0xd1, //0x00002e14 cmpq %rdx, %r9 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002e17 jae LBB0_565 + 0x43, 0x8a, 0x1c, 0x0c, //0x00002e1d movb (%r12,%r9), %bl + 0x80, 0xfb, 0x0d, //0x00002e21 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00002e24 je LBB0_565 + 0x80, 0xfb, 0x20, //0x00002e2a cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x00002e2d je LBB0_565 + 0x80, 0xc3, 0xf7, //0x00002e33 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00002e36 cmpb $1, %bl + 0x0f, 0x87, 0xff, 0x00, 0x00, 0x00, //0x00002e39 ja LBB0_583 + 0x90, //0x00002e3f .p2align 4, 0x90 + //0x00002e40 LBB0_565 + 0x4d, 0x8d, 0x4f, 0x02, //0x00002e40 leaq $2(%r15), %r9 + 0x49, 0x39, 0xd1, //0x00002e44 cmpq %rdx, %r9 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002e47 jae LBB0_569 + 0x43, 0x8a, 0x1c, 0x0c, //0x00002e4d movb (%r12,%r9), %bl + 0x80, 0xfb, 0x0d, //0x00002e51 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00002e54 je LBB0_569 + 0x80, 0xfb, 0x20, //0x00002e5a cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x00002e5d je LBB0_569 + 0x80, 0xc3, 0xf7, //0x00002e63 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00002e66 cmpb $1, %bl + 0x0f, 0x87, 0xcf, 0x00, 0x00, 0x00, //0x00002e69 ja LBB0_583 + 0x90, //0x00002e6f .p2align 4, 0x90 + //0x00002e70 LBB0_569 + 0x4d, 0x8d, 0x4f, 0x03, //0x00002e70 leaq $3(%r15), %r9 + 0x49, 0x39, 0xd1, //0x00002e74 cmpq %rdx, %r9 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002e77 jae LBB0_573 + 0x43, 0x8a, 0x1c, 0x0c, //0x00002e7d movb (%r12,%r9), %bl + 0x80, 0xfb, 0x0d, //0x00002e81 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00002e84 je LBB0_573 + 0x80, 0xfb, 0x20, //0x00002e8a cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x00002e8d je LBB0_573 + 0x80, 0xc3, 0xf7, //0x00002e93 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00002e96 cmpb $1, %bl + 0x0f, 0x87, 0x9f, 0x00, 0x00, 0x00, //0x00002e99 ja LBB0_583 + 0x90, //0x00002e9f .p2align 4, 0x90 + //0x00002ea0 LBB0_573 + 0x49, 0x8d, 0x7f, 0x04, //0x00002ea0 leaq $4(%r15), %rdi + 0x48, 0x39, 0xfa, //0x00002ea4 cmpq %rdi, %rdx + 0x0f, 0x86, 0x93, 0x14, 0x00, 0x00, //0x00002ea7 jbe LBB0_831 + 0x48, 0x39, 0xfa, //0x00002ead cmpq %rdi, %rdx + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x00002eb0 je LBB0_579 + 0x49, 0x8d, 0x3c, 0x14, //0x00002eb6 leaq (%r12,%rdx), %rdi + 0x48, 0x83, 0xc6, 0x04, //0x00002eba addq $4, %rsi + 0x4c, 0x03, 0xbc, 0x24, 0xb0, 0x00, 0x00, 0x00, //0x00002ebe addq $176(%rsp), %r15 + 0x4d, 0x89, 0xf9, //0x00002ec6 movq %r15, %r9 + 0x48, 0xbb, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00002ec9 movabsq $4294977024, %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002ed3 .p2align 4, 0x90 + //0x00002ee0 LBB0_576 + 0x41, 0x0f, 0xbe, 0x41, 0xff, //0x00002ee0 movsbl $-1(%r9), %eax + 0x83, 0xf8, 0x20, //0x00002ee5 cmpl $32, %eax + 0x0f, 0x87, 0x42, 0x00, 0x00, 0x00, //0x00002ee8 ja LBB0_582 + 0x48, 0x0f, 0xa3, 0xc3, //0x00002eee btq %rax, %rbx + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x00002ef2 jae LBB0_582 + 0x49, 0xff, 0xc1, //0x00002ef8 incq %r9 + 0x48, 0xff, 0xc6, //0x00002efb incq %rsi + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x00002efe jne LBB0_576 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00002f04 jmp LBB0_580 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002f09 .p2align 4, 0x90 + //0x00002f10 LBB0_579 + 0x4c, 0x01, 0xe7, //0x00002f10 addq %r12, %rdi + //0x00002f13 LBB0_580 + 0x4c, 0x29, 0xe7, //0x00002f13 subq %r12, %rdi + 0x49, 0x89, 0xf9, //0x00002f16 movq %rdi, %r9 + 0x49, 0x39, 0xd1, //0x00002f19 cmpq %rdx, %r9 + 0x0f, 0x82, 0x1c, 0x00, 0x00, 0x00, //0x00002f1c jb LBB0_583 + 0xe9, 0x7c, 0x14, 0x00, 0x00, //0x00002f22 jmp LBB0_581 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002f27 .p2align 4, 0x90 + //0x00002f30 LBB0_582 + 0x4c, 0x03, 0x4c, 0x24, 0x38, //0x00002f30 addq $56(%rsp), %r9 + 0x49, 0x39, 0xd1, //0x00002f35 cmpq %rdx, %r9 + 0x0f, 0x83, 0x65, 0x14, 0x00, 0x00, //0x00002f38 jae LBB0_581 + //0x00002f3e LBB0_583 + 0x4d, 0x8d, 0x79, 0x01, //0x00002f3e leaq $1(%r9), %r15 + 0x4d, 0x89, 0x38, //0x00002f42 movq %r15, (%r8) + 0x43, 0x0f, 0xbe, 0x3c, 0x0c, //0x00002f45 movsbl (%r12,%r9), %edi + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00002f4a movq $-1, %r13 + 0x85, 0xff, //0x00002f51 testl %edi, %edi + 0x0f, 0x84, 0x35, 0x14, 0x00, 0x00, //0x00002f53 je LBB0_839 + 0x49, 0x8d, 0x73, 0xff, //0x00002f59 leaq $-1(%r11), %rsi + 0x42, 0x8b, 0x04, 0xd9, //0x00002f5d movl (%rcx,%r11,8), %eax + 0x48, 0x8b, 0x54, 0x24, 0x48, //0x00002f61 movq $72(%rsp), %rdx + 0x48, 0x83, 0xfa, 0xff, //0x00002f66 cmpq $-1, %rdx + 0x49, 0x0f, 0x44, 0xd1, //0x00002f6a cmoveq %r9, %rdx + 0x48, 0x89, 0x54, 0x24, 0x48, //0x00002f6e movq %rdx, $72(%rsp) + 0xff, 0xc8, //0x00002f73 decl %eax + 0x83, 0xf8, 0x05, //0x00002f75 cmpl $5, %eax + 0x0f, 0x87, 0x27, 0x00, 0x00, 0x00, //0x00002f78 ja LBB0_589 + 0x48, 0x8d, 0x15, 0x13, 0x24, 0x00, 0x00, //0x00002f7e leaq $9235(%rip), %rdx /* LJTI0_2+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x00002f85 movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x00002f89 addq %rdx, %rax + 0xff, 0xe0, //0x00002f8c jmpq *%rax + //0x00002f8e LBB0_586 + 0x83, 0xff, 0x2c, //0x00002f8e cmpl $44, %edi + 0x0f, 0x84, 0xfe, 0xfd, 0xff, 0xff, //0x00002f91 je LBB0_551 + 0x83, 0xff, 0x5d, //0x00002f97 cmpl $93, %edi + 0x0f, 0x84, 0x87, 0x04, 0x00, 0x00, //0x00002f9a je LBB0_588 + 0xe9, 0xe2, 0x13, 0x00, 0x00, //0x00002fa0 jmp LBB0_838 + //0x00002fa5 LBB0_589 + 0x48, 0x89, 0x31, //0x00002fa5 movq %rsi, (%rcx) + 0x83, 0xff, 0x7b, //0x00002fa8 cmpl $123, %edi + 0x0f, 0x86, 0x01, 0x02, 0x00, 0x00, //0x00002fab jbe LBB0_615 + 0xe9, 0xd1, 0x13, 0x00, 0x00, //0x00002fb1 jmp LBB0_838 + //0x00002fb6 LBB0_590 + 0x83, 0xff, 0x2c, //0x00002fb6 cmpl $44, %edi + 0x0f, 0x85, 0x5f, 0x04, 0x00, 0x00, //0x00002fb9 jne LBB0_591 + 0x49, 0x81, 0xfb, 0xff, 0x0f, 0x00, 0x00, //0x00002fbf cmpq $4095, %r11 + 0x0f, 0x8f, 0x32, 0x15, 0x00, 0x00, //0x00002fc6 jg LBB0_942 + 0x49, 0x8d, 0x43, 0x01, //0x00002fcc leaq $1(%r11), %rax + 0x48, 0x89, 0x01, //0x00002fd0 movq %rax, (%rcx) + 0x4a, 0xc7, 0x44, 0xd9, 0x08, 0x03, 0x00, 0x00, 0x00, //0x00002fd3 movq $3, $8(%rcx,%r11,8) + 0xe9, 0xd1, 0xfd, 0xff, 0xff, //0x00002fdc jmp LBB0_553 + //0x00002fe1 LBB0_592 + 0x40, 0x80, 0xff, 0x22, //0x00002fe1 cmpb $34, %dil + 0x0f, 0x85, 0x9c, 0x13, 0x00, 0x00, //0x00002fe5 jne LBB0_838 + 0x4a, 0xc7, 0x04, 0xd9, 0x04, 0x00, 0x00, 0x00, //0x00002feb movq $4, (%rcx,%r11,8) + 0x49, 0x8b, 0x42, 0x08, //0x00002ff3 movq $8(%r10), %rax + 0x48, 0x89, 0xc3, //0x00002ff7 movq %rax, %rbx + 0x4c, 0x29, 0xfb, //0x00002ffa subq %r15, %rbx + 0x0f, 0x84, 0x78, 0x1e, 0x00, 0x00, //0x00002ffd je LBB0_960 + 0x4f, 0x8d, 0x14, 0x3c, //0x00003003 leaq (%r12,%r15), %r10 + 0x48, 0x83, 0xfb, 0x40, //0x00003007 cmpq $64, %rbx + 0x48, 0x89, 0x44, 0x24, 0x20, //0x0000300b movq %rax, $32(%rsp) + 0x0f, 0x82, 0xd6, 0x10, 0x00, 0x00, //0x00003010 jb LBB0_809 + 0x89, 0xd9, //0x00003016 movl %ebx, %ecx + 0x83, 0xe1, 0x3f, //0x00003018 andl $63, %ecx + 0x48, 0x89, 0x4c, 0x24, 0x50, //0x0000301b movq %rcx, $80(%rsp) + 0x4c, 0x29, 0xc8, //0x00003020 subq %r9, %rax + 0x48, 0x83, 0xc0, 0xbf, //0x00003023 addq $-65, %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00003027 andq $-64, %rax + 0x4c, 0x01, 0xc8, //0x0000302b addq %r9, %rax + 0x49, 0x8d, 0x44, 0x04, 0x41, //0x0000302e leaq $65(%r12,%rax), %rax + 0x48, 0x89, 0x84, 0x24, 0xa8, 0x00, 0x00, 0x00, //0x00003033 movq %rax, $168(%rsp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x0000303b movq $-1, %r12 + 0x45, 0x31, 0xed, //0x00003042 xorl %r13d, %r13d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003045 .p2align 4, 0x90 + //0x00003050 LBB0_596 + 0xc4, 0xc1, 0x7a, 0x6f, 0x1a, //0x00003050 vmovdqu (%r10), %xmm3 + 0xc4, 0xc1, 0x7a, 0x6f, 0x62, 0x10, //0x00003055 vmovdqu $16(%r10), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6a, 0x20, //0x0000305b vmovdqu $32(%r10), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x72, 0x30, //0x00003061 vmovdqu $48(%r10), %xmm6 + 0xc5, 0xe1, 0x74, 0xf8, //0x00003067 vpcmpeqb %xmm0, %xmm3, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x0000306b vpmovmskb %xmm7, %esi + 0xc5, 0xd9, 0x74, 0xf8, //0x0000306f vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xc7, //0x00003073 vpmovmskb %xmm7, %eax + 0xc5, 0xd1, 0x74, 0xf8, //0x00003077 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xd7, //0x0000307b vpmovmskb %xmm7, %edx + 0xc5, 0xc9, 0x74, 0xf8, //0x0000307f vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00003083 vpmovmskb %xmm7, %ecx + 0xc5, 0xe1, 0x74, 0xd9, //0x00003087 vpcmpeqb %xmm1, %xmm3, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x0000308b vpmovmskb %xmm3, %edi + 0xc5, 0xd9, 0x74, 0xd9, //0x0000308f vpcmpeqb %xmm1, %xmm4, %xmm3 + 0xc5, 0x79, 0xd7, 0xc3, //0x00003093 vpmovmskb %xmm3, %r8d + 0xc5, 0xd1, 0x74, 0xd9, //0x00003097 vpcmpeqb %xmm1, %xmm5, %xmm3 + 0xc5, 0x79, 0xd7, 0xdb, //0x0000309b vpmovmskb %xmm3, %r11d + 0xc5, 0xc9, 0x74, 0xd9, //0x0000309f vpcmpeqb %xmm1, %xmm6, %xmm3 + 0xc5, 0x79, 0xd7, 0xf3, //0x000030a3 vpmovmskb %xmm3, %r14d + 0x48, 0xc1, 0xe1, 0x30, //0x000030a7 shlq $48, %rcx + 0x48, 0xc1, 0xe2, 0x20, //0x000030ab shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x000030af shlq $16, %rax + 0x48, 0x09, 0xc6, //0x000030b3 orq %rax, %rsi + 0x48, 0x09, 0xd6, //0x000030b6 orq %rdx, %rsi + 0x49, 0xc1, 0xe6, 0x30, //0x000030b9 shlq $48, %r14 + 0x49, 0xc1, 0xe3, 0x20, //0x000030bd shlq $32, %r11 + 0x49, 0xc1, 0xe0, 0x10, //0x000030c1 shlq $16, %r8 + 0x4c, 0x09, 0xc7, //0x000030c5 orq %r8, %rdi + 0x4c, 0x09, 0xdf, //0x000030c8 orq %r11, %rdi + 0x4c, 0x09, 0xf7, //0x000030cb orq %r14, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x000030ce cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000030d2 jne LBB0_598 + 0x48, 0x85, 0xff, //0x000030d8 testq %rdi, %rdi + 0x0f, 0x85, 0x8b, 0x00, 0x00, 0x00, //0x000030db jne LBB0_610 + //0x000030e1 LBB0_598 + 0x48, 0x09, 0xce, //0x000030e1 orq %rcx, %rsi + 0x48, 0x89, 0xf8, //0x000030e4 movq %rdi, %rax + 0x4c, 0x09, 0xe8, //0x000030e7 orq %r13, %rax + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x000030ea movq $24(%rsp), %r8 + 0x0f, 0x85, 0x20, 0x00, 0x00, 0x00, //0x000030ef jne LBB0_609 + 0x48, 0x85, 0xf6, //0x000030f5 testq %rsi, %rsi + 0x0f, 0x85, 0x73, 0x0b, 0x00, 0x00, //0x000030f8 jne LBB0_606 + //0x000030fe LBB0_600 + 0x48, 0x83, 0xc3, 0xc0, //0x000030fe addq $-64, %rbx + 0x49, 0x83, 0xc2, 0x40, //0x00003102 addq $64, %r10 + 0x48, 0x83, 0xfb, 0x3f, //0x00003106 cmpq $63, %rbx + 0x0f, 0x87, 0x40, 0xff, 0xff, 0xff, //0x0000310a ja LBB0_596 + 0xe9, 0xdf, 0x0a, 0x00, 0x00, //0x00003110 jmp LBB0_601 + //0x00003115 LBB0_609 + 0x4c, 0x89, 0xe8, //0x00003115 movq %r13, %rax + 0x48, 0xf7, 0xd0, //0x00003118 notq %rax + 0x48, 0x21, 0xf8, //0x0000311b andq %rdi, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x0000311e leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xe9, //0x00003122 orq %r13, %rcx + 0x48, 0x89, 0xca, //0x00003125 movq %rcx, %rdx + 0x48, 0xf7, 0xd2, //0x00003128 notq %rdx + 0x48, 0x21, 0xfa, //0x0000312b andq %rdi, %rdx + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000312e movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfa, //0x00003138 andq %rdi, %rdx + 0x45, 0x31, 0xed, //0x0000313b xorl %r13d, %r13d + 0x48, 0x01, 0xc2, //0x0000313e addq %rax, %rdx + 0x41, 0x0f, 0x92, 0xc5, //0x00003141 setb %r13b + 0x48, 0x01, 0xd2, //0x00003145 addq %rdx, %rdx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00003148 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc2, //0x00003152 xorq %rax, %rdx + 0x48, 0x21, 0xca, //0x00003155 andq %rcx, %rdx + 0x48, 0xf7, 0xd2, //0x00003158 notq %rdx + 0x48, 0x21, 0xd6, //0x0000315b andq %rdx, %rsi + 0x48, 0x85, 0xf6, //0x0000315e testq %rsi, %rsi + 0x0f, 0x84, 0x97, 0xff, 0xff, 0xff, //0x00003161 je LBB0_600 + 0xe9, 0x05, 0x0b, 0x00, 0x00, //0x00003167 jmp LBB0_606 + //0x0000316c LBB0_610 + 0x4c, 0x89, 0xd0, //0x0000316c movq %r10, %rax + 0x48, 0x2b, 0x44, 0x24, 0x30, //0x0000316f subq $48(%rsp), %rax + 0x4c, 0x0f, 0xbc, 0xe7, //0x00003174 bsfq %rdi, %r12 + 0x49, 0x01, 0xc4, //0x00003178 addq %rax, %r12 + 0xe9, 0x61, 0xff, 0xff, 0xff, //0x0000317b jmp LBB0_598 + //0x00003180 LBB0_611 + 0x40, 0x80, 0xff, 0x3a, //0x00003180 cmpb $58, %dil + 0x0f, 0x85, 0xfd, 0x11, 0x00, 0x00, //0x00003184 jne LBB0_838 + 0x4a, 0xc7, 0x04, 0xd9, 0x00, 0x00, 0x00, 0x00, //0x0000318a movq $0, (%rcx,%r11,8) + 0xe9, 0x1b, 0xfc, 0xff, 0xff, //0x00003192 jmp LBB0_553 + //0x00003197 LBB0_613 + 0x40, 0x80, 0xff, 0x5d, //0x00003197 cmpb $93, %dil + 0x0f, 0x84, 0x86, 0x02, 0x00, 0x00, //0x0000319b je LBB0_588 + 0x4a, 0xc7, 0x04, 0xd9, 0x01, 0x00, 0x00, 0x00, //0x000031a1 movq $1, (%rcx,%r11,8) + 0x83, 0xff, 0x7b, //0x000031a9 cmpl $123, %edi + 0x0f, 0x87, 0xd5, 0x11, 0x00, 0x00, //0x000031ac ja LBB0_838 + //0x000031b2 LBB0_615 + 0x4f, 0x8d, 0x14, 0x0c, //0x000031b2 leaq (%r12,%r9), %r10 + 0x89, 0xf8, //0x000031b6 movl %edi, %eax + 0x48, 0x8d, 0x15, 0xf1, 0x21, 0x00, 0x00, //0x000031b8 leaq $8689(%rip), %rdx /* LJTI0_3+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x000031bf movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x000031c3 addq %rdx, %rax + 0xff, 0xe0, //0x000031c6 jmpq *%rax + //0x000031c8 LBB0_618 + 0x48, 0x8b, 0x44, 0x24, 0x28, //0x000031c8 movq $40(%rsp), %rax + 0x48, 0x8b, 0x78, 0x08, //0x000031cd movq $8(%rax), %rdi + 0x4c, 0x29, 0xcf, //0x000031d1 subq %r9, %rdi + 0x0f, 0x84, 0x59, 0x13, 0x00, 0x00, //0x000031d4 je LBB0_865 + 0x41, 0x80, 0x3a, 0x30, //0x000031da cmpb $48, (%r10) + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000031de jne LBB0_623 + 0x48, 0x83, 0xff, 0x01, //0x000031e4 cmpq $1, %rdi + 0x0f, 0x84, 0x6b, 0x04, 0x00, 0x00, //0x000031e8 je LBB0_686 + 0x43, 0x8a, 0x04, 0x3c, //0x000031ee movb (%r12,%r15), %al + 0x04, 0xd2, //0x000031f2 addb $-46, %al + 0x3c, 0x37, //0x000031f4 cmpb $55, %al + 0x0f, 0x87, 0x5d, 0x04, 0x00, 0x00, //0x000031f6 ja LBB0_686 + 0x0f, 0xb6, 0xc0, //0x000031fc movzbl %al, %eax + 0x48, 0xba, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000031ff movabsq $36028797027352577, %rdx + 0x48, 0x0f, 0xa3, 0xc2, //0x00003209 btq %rax, %rdx + 0x0f, 0x83, 0x46, 0x04, 0x00, 0x00, //0x0000320d jae LBB0_686 + //0x00003213 LBB0_623 + 0x48, 0x83, 0xff, 0x10, //0x00003213 cmpq $16, %rdi + 0x0f, 0x82, 0x54, 0x0f, 0x00, 0x00, //0x00003217 jb LBB0_816 + 0x48, 0x8d, 0x57, 0xf0, //0x0000321d leaq $-16(%rdi), %rdx + 0x48, 0x89, 0xd0, //0x00003221 movq %rdx, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00003224 andq $-16, %rax + 0x4e, 0x8d, 0x7c, 0x10, 0x10, //0x00003228 leaq $16(%rax,%r10), %r15 + 0x83, 0xe2, 0x0f, //0x0000322d andl $15, %edx + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00003230 movq $-1, %r13 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00003237 movq $-1, %r11 + 0x48, 0xc7, 0x44, 0x24, 0x20, 0xff, 0xff, 0xff, 0xff, //0x0000323e movq $-1, $32(%rsp) + 0x4d, 0x89, 0xd4, //0x00003247 movq %r10, %r12 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000324a .p2align 4, 0x90 + //0x00003250 LBB0_625 + 0xc4, 0xc1, 0x7a, 0x6f, 0x1c, 0x24, //0x00003250 vmovdqu (%r12), %xmm3 + 0xc4, 0xc1, 0x61, 0x64, 0xe0, //0x00003256 vpcmpgtb %xmm8, %xmm3, %xmm4 + 0xc5, 0xb1, 0x64, 0xeb, //0x0000325b vpcmpgtb %xmm3, %xmm9, %xmm5 + 0xc5, 0xd9, 0xdb, 0xe5, //0x0000325f vpand %xmm5, %xmm4, %xmm4 + 0xc5, 0xa9, 0x74, 0xeb, //0x00003263 vpcmpeqb %xmm3, %xmm10, %xmm5 + 0xc5, 0xa1, 0x74, 0xf3, //0x00003267 vpcmpeqb %xmm3, %xmm11, %xmm6 + 0xc5, 0xc9, 0xeb, 0xed, //0x0000326b vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0x99, 0xeb, 0xf3, //0x0000326f vpor %xmm3, %xmm12, %xmm6 + 0xc5, 0x91, 0x74, 0xdb, //0x00003273 vpcmpeqb %xmm3, %xmm13, %xmm3 + 0xc5, 0xc9, 0x74, 0xf2, //0x00003277 vpcmpeqb %xmm2, %xmm6, %xmm6 + 0xc5, 0xc9, 0xeb, 0xfb, //0x0000327b vpor %xmm3, %xmm6, %xmm7 + 0xc5, 0xd1, 0xeb, 0xe4, //0x0000327f vpor %xmm4, %xmm5, %xmm4 + 0xc5, 0xc1, 0xeb, 0xe4, //0x00003283 vpor %xmm4, %xmm7, %xmm4 + 0xc5, 0x79, 0xd7, 0xc3, //0x00003287 vpmovmskb %xmm3, %r8d + 0xc5, 0x79, 0xd7, 0xf6, //0x0000328b vpmovmskb %xmm6, %r14d + 0xc5, 0xf9, 0xd7, 0xf5, //0x0000328f vpmovmskb %xmm5, %esi + 0xc5, 0xf9, 0xd7, 0xc4, //0x00003293 vpmovmskb %xmm4, %eax + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x00003297 movl $4294967295, %ecx + 0x48, 0x31, 0xc8, //0x0000329c xorq %rcx, %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x0000329f bsfq %rax, %rcx + 0x83, 0xf9, 0x10, //0x000032a3 cmpl $16, %ecx + 0x0f, 0x84, 0x13, 0x00, 0x00, 0x00, //0x000032a6 je LBB0_627 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000032ac movl $-1, %eax + 0xd3, 0xe0, //0x000032b1 shll %cl, %eax + 0xf7, 0xd0, //0x000032b3 notl %eax + 0x41, 0x21, 0xc0, //0x000032b5 andl %eax, %r8d + 0x41, 0x21, 0xc6, //0x000032b8 andl %eax, %r14d + 0x21, 0xf0, //0x000032bb andl %esi, %eax + 0x89, 0xc6, //0x000032bd movl %eax, %esi + //0x000032bf LBB0_627 + 0x41, 0x8d, 0x40, 0xff, //0x000032bf leal $-1(%r8), %eax + 0x44, 0x21, 0xc0, //0x000032c3 andl %r8d, %eax + 0x0f, 0x85, 0xdd, 0x09, 0x00, 0x00, //0x000032c6 jne LBB0_776 + 0x41, 0x8d, 0x46, 0xff, //0x000032cc leal $-1(%r14), %eax + 0x44, 0x21, 0xf0, //0x000032d0 andl %r14d, %eax + 0x0f, 0x85, 0xd0, 0x09, 0x00, 0x00, //0x000032d3 jne LBB0_776 + 0x8d, 0x46, 0xff, //0x000032d9 leal $-1(%rsi), %eax + 0x21, 0xf0, //0x000032dc andl %esi, %eax + 0x0f, 0x85, 0xc5, 0x09, 0x00, 0x00, //0x000032de jne LBB0_776 + 0x45, 0x85, 0xc0, //0x000032e4 testl %r8d, %r8d + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x000032e7 je LBB0_633 + 0x4c, 0x89, 0xe3, //0x000032ed movq %r12, %rbx + 0x4c, 0x29, 0xd3, //0x000032f0 subq %r10, %rbx + 0x41, 0x0f, 0xbc, 0xc0, //0x000032f3 bsfl %r8d, %eax + 0x48, 0x01, 0xd8, //0x000032f7 addq %rbx, %rax + 0x48, 0x83, 0x7c, 0x24, 0x20, 0xff, //0x000032fa cmpq $-1, $32(%rsp) + 0x0f, 0x85, 0xac, 0x0c, 0x00, 0x00, //0x00003300 jne LBB0_804 + 0x48, 0x89, 0x44, 0x24, 0x20, //0x00003306 movq %rax, $32(%rsp) + //0x0000330b LBB0_633 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x0000330b movq $24(%rsp), %r8 + 0x45, 0x85, 0xf6, //0x00003310 testl %r14d, %r14d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00003313 je LBB0_636 + 0x4c, 0x89, 0xe3, //0x00003319 movq %r12, %rbx + 0x4c, 0x29, 0xd3, //0x0000331c subq %r10, %rbx + 0x41, 0x0f, 0xbc, 0xc6, //0x0000331f bsfl %r14d, %eax + 0x48, 0x01, 0xd8, //0x00003323 addq %rbx, %rax + 0x49, 0x83, 0xfb, 0xff, //0x00003326 cmpq $-1, %r11 + 0x0f, 0x85, 0x76, 0x0b, 0x00, 0x00, //0x0000332a jne LBB0_791 + 0x49, 0x89, 0xc3, //0x00003330 movq %rax, %r11 + //0x00003333 LBB0_636 + 0x85, 0xf6, //0x00003333 testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00003335 je LBB0_639 + 0x4c, 0x89, 0xe3, //0x0000333b movq %r12, %rbx + 0x4c, 0x29, 0xd3, //0x0000333e subq %r10, %rbx + 0x0f, 0xbc, 0xc6, //0x00003341 bsfl %esi, %eax + 0x48, 0x01, 0xd8, //0x00003344 addq %rbx, %rax + 0x49, 0x83, 0xfd, 0xff, //0x00003347 cmpq $-1, %r13 + 0x0f, 0x85, 0x55, 0x0b, 0x00, 0x00, //0x0000334b jne LBB0_791 + 0x49, 0x89, 0xc5, //0x00003351 movq %rax, %r13 + //0x00003354 LBB0_639 + 0x83, 0xf9, 0x10, //0x00003354 cmpl $16, %ecx + 0x0f, 0x85, 0x73, 0x02, 0x00, 0x00, //0x00003357 jne LBB0_673 + 0x49, 0x83, 0xc4, 0x10, //0x0000335d addq $16, %r12 + 0x48, 0x83, 0xc7, 0xf0, //0x00003361 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x0f, //0x00003365 cmpq $15, %rdi + 0x0f, 0x87, 0xe1, 0xfe, 0xff, 0xff, //0x00003369 ja LBB0_625 + 0x48, 0x85, 0xd2, //0x0000336f testq %rdx, %rdx + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00003372 movq $24(%rsp), %r8 + 0x48, 0x8b, 0x4c, 0x24, 0x40, //0x00003377 movq $64(%rsp), %rcx + 0x4c, 0x8b, 0x64, 0x24, 0x30, //0x0000337c movq $48(%rsp), %r12 + 0x0f, 0x84, 0x59, 0x02, 0x00, 0x00, //0x00003381 je LBB0_674 + //0x00003387 LBB0_642 + 0x49, 0x8d, 0x3c, 0x17, //0x00003387 leaq (%r15,%rdx), %rdi + 0xe9, 0x0c, 0x00, 0x00, 0x00, //0x0000338b jmp LBB0_644 + //0x00003390 .p2align 4, 0x90 + //0x00003390 LBB0_643 + 0x49, 0x89, 0xf7, //0x00003390 movq %rsi, %r15 + 0x48, 0xff, 0xca, //0x00003393 decq %rdx + 0x0f, 0x84, 0x2c, 0x0b, 0x00, 0x00, //0x00003396 je LBB0_794 + //0x0000339c LBB0_644 + 0x41, 0x0f, 0xbe, 0x07, //0x0000339c movsbl (%r15), %eax + 0x83, 0xc0, 0xd5, //0x000033a0 addl $-43, %eax + 0x83, 0xf8, 0x3a, //0x000033a3 cmpl $58, %eax + 0x0f, 0x87, 0x34, 0x02, 0x00, 0x00, //0x000033a6 ja LBB0_674 + 0x49, 0x8d, 0x77, 0x01, //0x000033ac leaq $1(%r15), %rsi + 0x48, 0x8d, 0x1d, 0xd5, 0x22, 0x00, 0x00, //0x000033b0 leaq $8917(%rip), %rbx /* LJTI0_5+0(%rip) */ + 0x48, 0x63, 0x04, 0x83, //0x000033b7 movslq (%rbx,%rax,4), %rax + 0x48, 0x01, 0xd8, //0x000033bb addq %rbx, %rax + 0xff, 0xe0, //0x000033be jmpq *%rax + //0x000033c0 LBB0_646 + 0x49, 0x89, 0xf7, //0x000033c0 movq %rsi, %r15 + 0x4d, 0x29, 0xd7, //0x000033c3 subq %r10, %r15 + 0x49, 0x83, 0xfd, 0xff, //0x000033c6 cmpq $-1, %r13 + 0x0f, 0x85, 0x7a, 0x02, 0x00, 0x00, //0x000033ca jne LBB0_683 + 0x49, 0xff, 0xcf, //0x000033d0 decq %r15 + 0x4d, 0x89, 0xfd, //0x000033d3 movq %r15, %r13 + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x000033d6 jmp LBB0_643 + //0x000033db LBB0_648 + 0x49, 0x89, 0xf7, //0x000033db movq %rsi, %r15 + 0x4d, 0x29, 0xd7, //0x000033de subq %r10, %r15 + 0x49, 0x83, 0xfb, 0xff, //0x000033e1 cmpq $-1, %r11 + 0x0f, 0x85, 0x5f, 0x02, 0x00, 0x00, //0x000033e5 jne LBB0_683 + 0x49, 0xff, 0xcf, //0x000033eb decq %r15 + 0x4d, 0x89, 0xfb, //0x000033ee movq %r15, %r11 + 0xe9, 0x9a, 0xff, 0xff, 0xff, //0x000033f1 jmp LBB0_643 + //0x000033f6 LBB0_650 + 0x49, 0x89, 0xf7, //0x000033f6 movq %rsi, %r15 + 0x4d, 0x29, 0xd7, //0x000033f9 subq %r10, %r15 + 0x48, 0x83, 0x7c, 0x24, 0x20, 0xff, //0x000033fc cmpq $-1, $32(%rsp) + 0x0f, 0x85, 0x42, 0x02, 0x00, 0x00, //0x00003402 jne LBB0_683 + 0x49, 0xff, 0xcf, //0x00003408 decq %r15 + 0x4c, 0x89, 0x7c, 0x24, 0x20, //0x0000340b movq %r15, $32(%rsp) + 0xe9, 0x7b, 0xff, 0xff, 0xff, //0x00003410 jmp LBB0_643 + //0x00003415 LBB0_616 + 0x83, 0xff, 0x22, //0x00003415 cmpl $34, %edi + 0x0f, 0x84, 0x22, 0x00, 0x00, 0x00, //0x00003418 je LBB0_654 + //0x0000341e LBB0_591 + 0x83, 0xff, 0x7d, //0x0000341e cmpl $125, %edi + 0x0f, 0x85, 0x60, 0x0f, 0x00, 0x00, //0x00003421 jne LBB0_838 + //0x00003427 LBB0_588 + 0x48, 0x89, 0x31, //0x00003427 movq %rsi, (%rcx) + 0x49, 0x89, 0xf3, //0x0000342a movq %rsi, %r11 + 0x4c, 0x8b, 0x6c, 0x24, 0x48, //0x0000342d movq $72(%rsp), %r13 + 0x48, 0x85, 0xf6, //0x00003432 testq %rsi, %rsi + 0x0f, 0x85, 0x91, 0xf9, 0xff, 0xff, //0x00003435 jne LBB0_556 + 0xe9, 0x4e, 0x0f, 0x00, 0x00, //0x0000343b jmp LBB0_839 + //0x00003440 LBB0_654 + 0x4a, 0xc7, 0x04, 0xd9, 0x02, 0x00, 0x00, 0x00, //0x00003440 movq $2, (%rcx,%r11,8) + 0x49, 0x8b, 0x42, 0x08, //0x00003448 movq $8(%r10), %rax + 0x48, 0x89, 0xc3, //0x0000344c movq %rax, %rbx + 0x4c, 0x29, 0xfb, //0x0000344f subq %r15, %rbx + 0x0f, 0x84, 0x23, 0x1a, 0x00, 0x00, //0x00003452 je LBB0_960 + 0x4f, 0x8d, 0x14, 0x3c, //0x00003458 leaq (%r12,%r15), %r10 + 0x48, 0x83, 0xfb, 0x40, //0x0000345c cmpq $64, %rbx + 0x48, 0x89, 0x44, 0x24, 0x20, //0x00003460 movq %rax, $32(%rsp) + 0x0f, 0x82, 0x37, 0x0d, 0x00, 0x00, //0x00003465 jb LBB0_817 + 0x89, 0xd9, //0x0000346b movl %ebx, %ecx + 0x83, 0xe1, 0x3f, //0x0000346d andl $63, %ecx + 0x48, 0x89, 0x4c, 0x24, 0x50, //0x00003470 movq %rcx, $80(%rsp) + 0x4c, 0x29, 0xc8, //0x00003475 subq %r9, %rax + 0x48, 0x83, 0xc0, 0xbf, //0x00003478 addq $-65, %rax + 0x48, 0x83, 0xe0, 0xc0, //0x0000347c andq $-64, %rax + 0x4c, 0x01, 0xc8, //0x00003480 addq %r9, %rax + 0x49, 0x8d, 0x44, 0x04, 0x41, //0x00003483 leaq $65(%r12,%rax), %rax + 0x48, 0x89, 0x84, 0x24, 0xa8, 0x00, 0x00, 0x00, //0x00003488 movq %rax, $168(%rsp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00003490 movq $-1, %r12 + 0x45, 0x31, 0xed, //0x00003497 xorl %r13d, %r13d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000349a .p2align 4, 0x90 + //0x000034a0 LBB0_657 + 0xc4, 0xc1, 0x7a, 0x6f, 0x1a, //0x000034a0 vmovdqu (%r10), %xmm3 + 0xc4, 0xc1, 0x7a, 0x6f, 0x62, 0x10, //0x000034a5 vmovdqu $16(%r10), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6a, 0x20, //0x000034ab vmovdqu $32(%r10), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x72, 0x30, //0x000034b1 vmovdqu $48(%r10), %xmm6 + 0xc5, 0xe1, 0x74, 0xf8, //0x000034b7 vpcmpeqb %xmm0, %xmm3, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x000034bb vpmovmskb %xmm7, %esi + 0xc5, 0xd9, 0x74, 0xf8, //0x000034bf vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xc7, //0x000034c3 vpmovmskb %xmm7, %eax + 0xc5, 0xd1, 0x74, 0xf8, //0x000034c7 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xd7, //0x000034cb vpmovmskb %xmm7, %edx + 0xc5, 0xc9, 0x74, 0xf8, //0x000034cf vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x000034d3 vpmovmskb %xmm7, %ecx + 0xc5, 0xe1, 0x74, 0xd9, //0x000034d7 vpcmpeqb %xmm1, %xmm3, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x000034db vpmovmskb %xmm3, %edi + 0xc5, 0xd9, 0x74, 0xd9, //0x000034df vpcmpeqb %xmm1, %xmm4, %xmm3 + 0xc5, 0x79, 0xd7, 0xc3, //0x000034e3 vpmovmskb %xmm3, %r8d + 0xc5, 0xd1, 0x74, 0xd9, //0x000034e7 vpcmpeqb %xmm1, %xmm5, %xmm3 + 0xc5, 0x79, 0xd7, 0xdb, //0x000034eb vpmovmskb %xmm3, %r11d + 0xc5, 0xc9, 0x74, 0xd9, //0x000034ef vpcmpeqb %xmm1, %xmm6, %xmm3 + 0xc5, 0x79, 0xd7, 0xf3, //0x000034f3 vpmovmskb %xmm3, %r14d + 0x48, 0xc1, 0xe1, 0x30, //0x000034f7 shlq $48, %rcx + 0x48, 0xc1, 0xe2, 0x20, //0x000034fb shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x000034ff shlq $16, %rax + 0x48, 0x09, 0xc6, //0x00003503 orq %rax, %rsi + 0x48, 0x09, 0xd6, //0x00003506 orq %rdx, %rsi + 0x49, 0xc1, 0xe6, 0x30, //0x00003509 shlq $48, %r14 + 0x49, 0xc1, 0xe3, 0x20, //0x0000350d shlq $32, %r11 + 0x49, 0xc1, 0xe0, 0x10, //0x00003511 shlq $16, %r8 + 0x4c, 0x09, 0xc7, //0x00003515 orq %r8, %rdi + 0x4c, 0x09, 0xdf, //0x00003518 orq %r11, %rdi + 0x4c, 0x09, 0xf7, //0x0000351b orq %r14, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x0000351e cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00003522 jne LBB0_659 + 0x48, 0x85, 0xff, //0x00003528 testq %rdi, %rdi + 0x0f, 0x85, 0x8b, 0x00, 0x00, 0x00, //0x0000352b jne LBB0_672 + //0x00003531 LBB0_659 + 0x48, 0x09, 0xce, //0x00003531 orq %rcx, %rsi + 0x48, 0x89, 0xf8, //0x00003534 movq %rdi, %rax + 0x4c, 0x09, 0xe8, //0x00003537 orq %r13, %rax + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x0000353a movq $24(%rsp), %r8 + 0x0f, 0x85, 0x20, 0x00, 0x00, 0x00, //0x0000353f jne LBB0_671 + 0x48, 0x85, 0xf6, //0x00003545 testq %rsi, %rsi + 0x0f, 0x85, 0xe4, 0x08, 0x00, 0x00, //0x00003548 jne LBB0_667 + //0x0000354e LBB0_661 + 0x48, 0x83, 0xc3, 0xc0, //0x0000354e addq $-64, %rbx + 0x49, 0x83, 0xc2, 0x40, //0x00003552 addq $64, %r10 + 0x48, 0x83, 0xfb, 0x3f, //0x00003556 cmpq $63, %rbx + 0x0f, 0x87, 0x40, 0xff, 0xff, 0xff, //0x0000355a ja LBB0_657 + 0xe9, 0x50, 0x08, 0x00, 0x00, //0x00003560 jmp LBB0_662 + //0x00003565 LBB0_671 + 0x4c, 0x89, 0xe8, //0x00003565 movq %r13, %rax + 0x48, 0xf7, 0xd0, //0x00003568 notq %rax + 0x48, 0x21, 0xf8, //0x0000356b andq %rdi, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x0000356e leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xe9, //0x00003572 orq %r13, %rcx + 0x48, 0x89, 0xca, //0x00003575 movq %rcx, %rdx + 0x48, 0xf7, 0xd2, //0x00003578 notq %rdx + 0x48, 0x21, 0xfa, //0x0000357b andq %rdi, %rdx + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000357e movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfa, //0x00003588 andq %rdi, %rdx + 0x45, 0x31, 0xed, //0x0000358b xorl %r13d, %r13d + 0x48, 0x01, 0xc2, //0x0000358e addq %rax, %rdx + 0x41, 0x0f, 0x92, 0xc5, //0x00003591 setb %r13b + 0x48, 0x01, 0xd2, //0x00003595 addq %rdx, %rdx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00003598 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc2, //0x000035a2 xorq %rax, %rdx + 0x48, 0x21, 0xca, //0x000035a5 andq %rcx, %rdx + 0x48, 0xf7, 0xd2, //0x000035a8 notq %rdx + 0x48, 0x21, 0xd6, //0x000035ab andq %rdx, %rsi + 0x48, 0x85, 0xf6, //0x000035ae testq %rsi, %rsi + 0x0f, 0x84, 0x97, 0xff, 0xff, 0xff, //0x000035b1 je LBB0_661 + 0xe9, 0x76, 0x08, 0x00, 0x00, //0x000035b7 jmp LBB0_667 + //0x000035bc LBB0_672 + 0x4c, 0x89, 0xd0, //0x000035bc movq %r10, %rax + 0x48, 0x2b, 0x44, 0x24, 0x30, //0x000035bf subq $48(%rsp), %rax + 0x4c, 0x0f, 0xbc, 0xe7, //0x000035c4 bsfq %rdi, %r12 + 0x49, 0x01, 0xc4, //0x000035c8 addq %rax, %r12 + 0xe9, 0x61, 0xff, 0xff, 0xff, //0x000035cb jmp LBB0_659 + //0x000035d0 LBB0_673 + 0x49, 0x01, 0xcc, //0x000035d0 addq %rcx, %r12 + 0x4d, 0x89, 0xe7, //0x000035d3 movq %r12, %r15 + 0x48, 0x8b, 0x4c, 0x24, 0x40, //0x000035d6 movq $64(%rsp), %rcx + 0x4c, 0x8b, 0x64, 0x24, 0x30, //0x000035db movq $48(%rsp), %r12 + //0x000035e0 LBB0_674 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000035e0 movq $-1, %rax + 0x4d, 0x85, 0xdb, //0x000035e7 testq %r11, %r11 + 0x0f, 0x84, 0x31, 0x17, 0x00, 0x00, //0x000035ea je LBB0_931 + //0x000035f0 LBB0_675 + 0x4d, 0x85, 0xed, //0x000035f0 testq %r13, %r13 + 0x0f, 0x84, 0x28, 0x17, 0x00, 0x00, //0x000035f3 je LBB0_931 + 0x48, 0x8b, 0x54, 0x24, 0x20, //0x000035f9 movq $32(%rsp), %rdx + 0x48, 0x85, 0xd2, //0x000035fe testq %rdx, %rdx + 0x0f, 0x84, 0x1a, 0x17, 0x00, 0x00, //0x00003601 je LBB0_931 + 0x4d, 0x29, 0xd7, //0x00003607 subq %r10, %r15 + 0x49, 0x8d, 0x47, 0xff, //0x0000360a leaq $-1(%r15), %rax + 0x49, 0x39, 0xc3, //0x0000360e cmpq %rax, %r11 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00003611 je LBB0_683 + 0x48, 0x39, 0xc2, //0x00003617 cmpq %rax, %rdx + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x0000361a je LBB0_683 + 0x49, 0x39, 0xc5, //0x00003620 cmpq %rax, %r13 + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00003623 je LBB0_683 + 0x4d, 0x85, 0xed, //0x00003629 testq %r13, %r13 + 0x0f, 0x8e, 0x3e, 0x00, 0x00, 0x00, //0x0000362c jle LBB0_687 + 0x49, 0x8d, 0x45, 0xff, //0x00003632 leaq $-1(%r13), %rax + 0x49, 0x39, 0xc3, //0x00003636 cmpq %rax, %r11 + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x00003639 je LBB0_687 + 0x49, 0xf7, 0xd5, //0x0000363f notq %r13 + 0x4d, 0x89, 0xef, //0x00003642 movq %r13, %r15 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00003645 jmp LBB0_684 + //0x0000364a LBB0_683 + 0x49, 0xf7, 0xdf, //0x0000364a negq %r15 + //0x0000364d LBB0_684 + 0x4d, 0x85, 0xff, //0x0000364d testq %r15, %r15 + 0x0f, 0x88, 0xc8, 0x16, 0x00, 0x00, //0x00003650 js LBB0_930 + 0x4d, 0x01, 0xcf, //0x00003656 addq %r9, %r15 + //0x00003659 LBB0_686 + 0x4d, 0x89, 0x38, //0x00003659 movq %r15, (%r8) + 0x4d, 0x89, 0xfa, //0x0000365c movq %r15, %r10 + 0x4d, 0x89, 0xcd, //0x0000365f movq %r9, %r13 + 0x4d, 0x85, 0xc9, //0x00003662 testq %r9, %r9 + 0x0f, 0x89, 0x4a, 0xf7, 0xff, 0xff, //0x00003665 jns LBB0_554 + 0xe9, 0x1e, 0x0d, 0x00, 0x00, //0x0000366b jmp LBB0_839 + //0x00003670 LBB0_687 + 0x48, 0x89, 0xd0, //0x00003670 movq %rdx, %rax + 0x4c, 0x09, 0xd8, //0x00003673 orq %r11, %rax + 0x4c, 0x39, 0xda, //0x00003676 cmpq %r11, %rdx + 0x0f, 0x8c, 0xb1, 0x04, 0x00, 0x00, //0x00003679 jl LBB0_761 + 0x48, 0x85, 0xc0, //0x0000367f testq %rax, %rax + 0x0f, 0x88, 0xa8, 0x04, 0x00, 0x00, //0x00003682 js LBB0_761 + 0x48, 0xf7, 0xd2, //0x00003688 notq %rdx + 0x49, 0x89, 0xd7, //0x0000368b movq %rdx, %r15 + 0xe9, 0xba, 0xff, 0xff, 0xff, //0x0000368e jmp LBB0_684 + //0x00003693 LBB0_690 + 0x48, 0x8b, 0x44, 0x24, 0x28, //0x00003693 movq $40(%rsp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x00003698 movq $8(%rax), %rax + 0x48, 0x89, 0xc3, //0x0000369c movq %rax, %rbx + 0x4c, 0x29, 0xfb, //0x0000369f subq %r15, %rbx + 0x0f, 0x84, 0xd3, 0x17, 0x00, 0x00, //0x000036a2 je LBB0_960 + 0x4f, 0x8d, 0x14, 0x3c, //0x000036a8 leaq (%r12,%r15), %r10 + 0x48, 0x83, 0xfb, 0x40, //0x000036ac cmpq $64, %rbx + 0x48, 0x89, 0x44, 0x24, 0x20, //0x000036b0 movq %rax, $32(%rsp) + 0x0f, 0x82, 0x4a, 0x0b, 0x00, 0x00, //0x000036b5 jb LBB0_821 + 0x89, 0xd9, //0x000036bb movl %ebx, %ecx + 0x83, 0xe1, 0x3f, //0x000036bd andl $63, %ecx + 0x48, 0x89, 0x4c, 0x24, 0x50, //0x000036c0 movq %rcx, $80(%rsp) + 0x4c, 0x29, 0xc8, //0x000036c5 subq %r9, %rax + 0x48, 0x83, 0xc0, 0xbf, //0x000036c8 addq $-65, %rax + 0x48, 0x83, 0xe0, 0xc0, //0x000036cc andq $-64, %rax + 0x4c, 0x01, 0xc8, //0x000036d0 addq %r9, %rax + 0x49, 0x8d, 0x44, 0x04, 0x41, //0x000036d3 leaq $65(%r12,%rax), %rax + 0x48, 0x89, 0x84, 0x24, 0xa8, 0x00, 0x00, 0x00, //0x000036d8 movq %rax, $168(%rsp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000036e0 movq $-1, %r12 + 0x45, 0x31, 0xed, //0x000036e7 xorl %r13d, %r13d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000036ea .p2align 4, 0x90 + //0x000036f0 LBB0_693 + 0xc4, 0xc1, 0x7a, 0x6f, 0x1a, //0x000036f0 vmovdqu (%r10), %xmm3 + 0xc4, 0xc1, 0x7a, 0x6f, 0x62, 0x10, //0x000036f5 vmovdqu $16(%r10), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6a, 0x20, //0x000036fb vmovdqu $32(%r10), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x72, 0x30, //0x00003701 vmovdqu $48(%r10), %xmm6 + 0xc5, 0xe1, 0x74, 0xf8, //0x00003707 vpcmpeqb %xmm0, %xmm3, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x0000370b vpmovmskb %xmm7, %esi + 0xc5, 0xd9, 0x74, 0xf8, //0x0000370f vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xc7, //0x00003713 vpmovmskb %xmm7, %eax + 0xc5, 0xd1, 0x74, 0xf8, //0x00003717 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xd7, //0x0000371b vpmovmskb %xmm7, %edx + 0xc5, 0xc9, 0x74, 0xf8, //0x0000371f vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00003723 vpmovmskb %xmm7, %ecx + 0xc5, 0xe1, 0x74, 0xd9, //0x00003727 vpcmpeqb %xmm1, %xmm3, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x0000372b vpmovmskb %xmm3, %edi + 0xc5, 0xd9, 0x74, 0xd9, //0x0000372f vpcmpeqb %xmm1, %xmm4, %xmm3 + 0xc5, 0x79, 0xd7, 0xc3, //0x00003733 vpmovmskb %xmm3, %r8d + 0xc5, 0xd1, 0x74, 0xd9, //0x00003737 vpcmpeqb %xmm1, %xmm5, %xmm3 + 0xc5, 0x79, 0xd7, 0xdb, //0x0000373b vpmovmskb %xmm3, %r11d + 0xc5, 0xc9, 0x74, 0xd9, //0x0000373f vpcmpeqb %xmm1, %xmm6, %xmm3 + 0xc5, 0x79, 0xd7, 0xf3, //0x00003743 vpmovmskb %xmm3, %r14d + 0x48, 0xc1, 0xe1, 0x30, //0x00003747 shlq $48, %rcx + 0x48, 0xc1, 0xe2, 0x20, //0x0000374b shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x0000374f shlq $16, %rax + 0x48, 0x09, 0xc6, //0x00003753 orq %rax, %rsi + 0x48, 0x09, 0xd6, //0x00003756 orq %rdx, %rsi + 0x49, 0xc1, 0xe6, 0x30, //0x00003759 shlq $48, %r14 + 0x49, 0xc1, 0xe3, 0x20, //0x0000375d shlq $32, %r11 + 0x49, 0xc1, 0xe0, 0x10, //0x00003761 shlq $16, %r8 + 0x4c, 0x09, 0xc7, //0x00003765 orq %r8, %rdi + 0x4c, 0x09, 0xdf, //0x00003768 orq %r11, %rdi + 0x4c, 0x09, 0xf7, //0x0000376b orq %r14, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x0000376e cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00003772 jne LBB0_695 + 0x48, 0x85, 0xff, //0x00003778 testq %rdi, %rdi + 0x0f, 0x85, 0x8b, 0x00, 0x00, 0x00, //0x0000377b jne LBB0_710 + //0x00003781 LBB0_695 + 0x48, 0x09, 0xce, //0x00003781 orq %rcx, %rsi + 0x48, 0x89, 0xf8, //0x00003784 movq %rdi, %rax + 0x4c, 0x09, 0xe8, //0x00003787 orq %r13, %rax + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x0000378a movq $24(%rsp), %r8 + 0x0f, 0x85, 0x20, 0x00, 0x00, 0x00, //0x0000378f jne LBB0_709 + 0x48, 0x85, 0xf6, //0x00003795 testq %rsi, %rsi + 0x0f, 0x85, 0xd3, 0x04, 0x00, 0x00, //0x00003798 jne LBB0_606 + //0x0000379e LBB0_697 + 0x48, 0x83, 0xc3, 0xc0, //0x0000379e addq $-64, %rbx + 0x49, 0x83, 0xc2, 0x40, //0x000037a2 addq $64, %r10 + 0x48, 0x83, 0xfb, 0x3f, //0x000037a6 cmpq $63, %rbx + 0x0f, 0x87, 0x40, 0xff, 0xff, 0xff, //0x000037aa ja LBB0_693 + 0xe9, 0x3f, 0x08, 0x00, 0x00, //0x000037b0 jmp LBB0_698 + //0x000037b5 LBB0_709 + 0x4c, 0x89, 0xe8, //0x000037b5 movq %r13, %rax + 0x48, 0xf7, 0xd0, //0x000037b8 notq %rax + 0x48, 0x21, 0xf8, //0x000037bb andq %rdi, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x000037be leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xe9, //0x000037c2 orq %r13, %rcx + 0x48, 0x89, 0xca, //0x000037c5 movq %rcx, %rdx + 0x48, 0xf7, 0xd2, //0x000037c8 notq %rdx + 0x48, 0x21, 0xfa, //0x000037cb andq %rdi, %rdx + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000037ce movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfa, //0x000037d8 andq %rdi, %rdx + 0x45, 0x31, 0xed, //0x000037db xorl %r13d, %r13d + 0x48, 0x01, 0xc2, //0x000037de addq %rax, %rdx + 0x41, 0x0f, 0x92, 0xc5, //0x000037e1 setb %r13b + 0x48, 0x01, 0xd2, //0x000037e5 addq %rdx, %rdx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000037e8 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc2, //0x000037f2 xorq %rax, %rdx + 0x48, 0x21, 0xca, //0x000037f5 andq %rcx, %rdx + 0x48, 0xf7, 0xd2, //0x000037f8 notq %rdx + 0x48, 0x21, 0xd6, //0x000037fb andq %rdx, %rsi + 0x48, 0x85, 0xf6, //0x000037fe testq %rsi, %rsi + 0x0f, 0x84, 0x97, 0xff, 0xff, 0xff, //0x00003801 je LBB0_697 + 0xe9, 0x65, 0x04, 0x00, 0x00, //0x00003807 jmp LBB0_606 + //0x0000380c LBB0_710 + 0x4c, 0x89, 0xd0, //0x0000380c movq %r10, %rax + 0x48, 0x2b, 0x44, 0x24, 0x30, //0x0000380f subq $48(%rsp), %rax + 0x4c, 0x0f, 0xbc, 0xe7, //0x00003814 bsfq %rdi, %r12 + 0x49, 0x01, 0xc4, //0x00003818 addq %rax, %r12 + 0xe9, 0x61, 0xff, 0xff, 0xff, //0x0000381b jmp LBB0_695 + //0x00003820 LBB0_711 + 0x48, 0x8b, 0x44, 0x24, 0x28, //0x00003820 movq $40(%rsp), %rax + 0x48, 0x8b, 0x78, 0x08, //0x00003825 movq $8(%rax), %rdi + 0x4c, 0x29, 0xff, //0x00003829 subq %r15, %rdi + 0x0f, 0x84, 0x31, 0x15, 0x00, 0x00, //0x0000382c je LBB0_939 + 0x4f, 0x8d, 0x34, 0x3c, //0x00003832 leaq (%r12,%r15), %r14 + 0x41, 0x80, 0x3e, 0x30, //0x00003836 cmpb $48, (%r14) + 0x0f, 0x85, 0x35, 0x00, 0x00, 0x00, //0x0000383a jne LBB0_716 + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x00003840 movl $1, %r10d + 0x48, 0x83, 0xff, 0x01, //0x00003846 cmpq $1, %rdi + 0x0f, 0x84, 0x88, 0x03, 0x00, 0x00, //0x0000384a je LBB0_774 + 0x41, 0x8a, 0x46, 0x01, //0x00003850 movb $1(%r14), %al + 0x04, 0xd2, //0x00003854 addb $-46, %al + 0x3c, 0x37, //0x00003856 cmpb $55, %al + 0x0f, 0x87, 0x7a, 0x03, 0x00, 0x00, //0x00003858 ja LBB0_774 + 0x0f, 0xb6, 0xc0, //0x0000385e movzbl %al, %eax + 0x48, 0xba, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00003861 movabsq $36028797027352577, %rdx + 0x48, 0x0f, 0xa3, 0xc2, //0x0000386b btq %rax, %rdx + 0x0f, 0x83, 0x63, 0x03, 0x00, 0x00, //0x0000386f jae LBB0_774 + //0x00003875 LBB0_716 + 0x48, 0x83, 0xff, 0x10, //0x00003875 cmpq $16, %rdi + 0x0f, 0x82, 0x9f, 0x09, 0x00, 0x00, //0x00003879 jb LBB0_822 + 0x4c, 0x8d, 0x5f, 0xf0, //0x0000387f leaq $-16(%rdi), %r11 + 0x4c, 0x89, 0xd8, //0x00003883 movq %r11, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00003886 andq $-16, %rax + 0x4e, 0x8d, 0x44, 0x30, 0x10, //0x0000388a leaq $16(%rax,%r14), %r8 + 0x41, 0x83, 0xe3, 0x0f, //0x0000388f andl $15, %r11d + 0x48, 0xc7, 0x44, 0x24, 0x20, 0xff, 0xff, 0xff, 0xff, //0x00003893 movq $-1, $32(%rsp) + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x0000389c movq $-1, %r13 + 0x48, 0xc7, 0x44, 0x24, 0x50, 0xff, 0xff, 0xff, 0xff, //0x000038a3 movq $-1, $80(%rsp) + 0x4d, 0x89, 0xf4, //0x000038ac movq %r14, %r12 + //0x000038af LBB0_718 + 0xc4, 0xc1, 0x7a, 0x6f, 0x1c, 0x24, //0x000038af vmovdqu (%r12), %xmm3 + 0xc4, 0xc1, 0x61, 0x64, 0xe0, //0x000038b5 vpcmpgtb %xmm8, %xmm3, %xmm4 + 0xc5, 0xb1, 0x64, 0xeb, //0x000038ba vpcmpgtb %xmm3, %xmm9, %xmm5 + 0xc5, 0xd9, 0xdb, 0xe5, //0x000038be vpand %xmm5, %xmm4, %xmm4 + 0xc5, 0xa9, 0x74, 0xeb, //0x000038c2 vpcmpeqb %xmm3, %xmm10, %xmm5 + 0xc5, 0xa1, 0x74, 0xf3, //0x000038c6 vpcmpeqb %xmm3, %xmm11, %xmm6 + 0xc5, 0xc9, 0xeb, 0xed, //0x000038ca vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0x99, 0xeb, 0xf3, //0x000038ce vpor %xmm3, %xmm12, %xmm6 + 0xc5, 0x91, 0x74, 0xdb, //0x000038d2 vpcmpeqb %xmm3, %xmm13, %xmm3 + 0xc5, 0xc9, 0x74, 0xf2, //0x000038d6 vpcmpeqb %xmm2, %xmm6, %xmm6 + 0xc5, 0xc9, 0xeb, 0xfb, //0x000038da vpor %xmm3, %xmm6, %xmm7 + 0xc5, 0xd1, 0xeb, 0xe4, //0x000038de vpor %xmm4, %xmm5, %xmm4 + 0xc5, 0xc1, 0xeb, 0xe4, //0x000038e2 vpor %xmm4, %xmm7, %xmm4 + 0xc5, 0xf9, 0xd7, 0xdb, //0x000038e6 vpmovmskb %xmm3, %ebx + 0xc5, 0xf9, 0xd7, 0xd6, //0x000038ea vpmovmskb %xmm6, %edx + 0xc5, 0xf9, 0xd7, 0xf5, //0x000038ee vpmovmskb %xmm5, %esi + 0xc5, 0xf9, 0xd7, 0xc4, //0x000038f2 vpmovmskb %xmm4, %eax + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x000038f6 movl $4294967295, %ecx + 0x48, 0x31, 0xc8, //0x000038fb xorq %rcx, %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x000038fe bsfq %rax, %rcx + 0x83, 0xf9, 0x10, //0x00003902 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00003905 je LBB0_720 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x0000390b movl $-1, %eax + 0xd3, 0xe0, //0x00003910 shll %cl, %eax + 0xf7, 0xd0, //0x00003912 notl %eax + 0x21, 0xc3, //0x00003914 andl %eax, %ebx + 0x21, 0xc2, //0x00003916 andl %eax, %edx + 0x21, 0xf0, //0x00003918 andl %esi, %eax + 0x89, 0xc6, //0x0000391a movl %eax, %esi + //0x0000391c LBB0_720 + 0x8d, 0x43, 0xff, //0x0000391c leal $-1(%rbx), %eax + 0x21, 0xd8, //0x0000391f andl %ebx, %eax + 0x0f, 0x85, 0xb1, 0x06, 0x00, 0x00, //0x00003921 jne LBB0_805 + 0x8d, 0x42, 0xff, //0x00003927 leal $-1(%rdx), %eax + 0x21, 0xd0, //0x0000392a andl %edx, %eax + 0x0f, 0x85, 0xa6, 0x06, 0x00, 0x00, //0x0000392c jne LBB0_805 + 0x8d, 0x46, 0xff, //0x00003932 leal $-1(%rsi), %eax + 0x21, 0xf0, //0x00003935 andl %esi, %eax + 0x0f, 0x85, 0x9b, 0x06, 0x00, 0x00, //0x00003937 jne LBB0_805 + 0x85, 0xdb, //0x0000393d testl %ebx, %ebx + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x0000393f je LBB0_726 + 0x4c, 0x89, 0xe0, //0x00003945 movq %r12, %rax + 0x4c, 0x29, 0xf0, //0x00003948 subq %r14, %rax + 0x44, 0x0f, 0xbc, 0xd3, //0x0000394b bsfl %ebx, %r10d + 0x49, 0x01, 0xc2, //0x0000394f addq %rax, %r10 + 0x48, 0x83, 0x7c, 0x24, 0x50, 0xff, //0x00003952 cmpq $-1, $80(%rsp) + 0x0f, 0x85, 0x84, 0x06, 0x00, 0x00, //0x00003958 jne LBB0_806 + 0x4c, 0x89, 0x54, 0x24, 0x50, //0x0000395e movq %r10, $80(%rsp) + //0x00003963 LBB0_726 + 0x85, 0xd2, //0x00003963 testl %edx, %edx + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00003965 je LBB0_729 + 0x4c, 0x89, 0xe0, //0x0000396b movq %r12, %rax + 0x4c, 0x29, 0xf0, //0x0000396e subq %r14, %rax + 0x44, 0x0f, 0xbc, 0xd2, //0x00003971 bsfl %edx, %r10d + 0x49, 0x01, 0xc2, //0x00003975 addq %rax, %r10 + 0x49, 0x83, 0xfd, 0xff, //0x00003978 cmpq $-1, %r13 + 0x0f, 0x85, 0x60, 0x06, 0x00, 0x00, //0x0000397c jne LBB0_806 + 0x4d, 0x89, 0xd5, //0x00003982 movq %r10, %r13 + //0x00003985 LBB0_729 + 0x85, 0xf6, //0x00003985 testl %esi, %esi + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x00003987 je LBB0_732 + 0x4c, 0x89, 0xe0, //0x0000398d movq %r12, %rax + 0x4c, 0x29, 0xf0, //0x00003990 subq %r14, %rax + 0x44, 0x0f, 0xbc, 0xd6, //0x00003993 bsfl %esi, %r10d + 0x49, 0x01, 0xc2, //0x00003997 addq %rax, %r10 + 0x48, 0x83, 0x7c, 0x24, 0x20, 0xff, //0x0000399a cmpq $-1, $32(%rsp) + 0x0f, 0x85, 0x3c, 0x06, 0x00, 0x00, //0x000039a0 jne LBB0_806 + 0x4c, 0x89, 0x54, 0x24, 0x20, //0x000039a6 movq %r10, $32(%rsp) + //0x000039ab LBB0_732 + 0x83, 0xf9, 0x10, //0x000039ab cmpl $16, %ecx + 0x0f, 0x85, 0x96, 0x01, 0x00, 0x00, //0x000039ae jne LBB0_762 + 0x49, 0x83, 0xc4, 0x10, //0x000039b4 addq $16, %r12 + 0x48, 0x83, 0xc7, 0xf0, //0x000039b8 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x0f, //0x000039bc cmpq $15, %rdi + 0x0f, 0x87, 0xe9, 0xfe, 0xff, 0xff, //0x000039c0 ja LBB0_718 + 0x4d, 0x85, 0xdb, //0x000039c6 testq %r11, %r11 + 0x48, 0x8b, 0x4c, 0x24, 0x40, //0x000039c9 movq $64(%rsp), %rcx + 0x4c, 0x8b, 0x64, 0x24, 0x30, //0x000039ce movq $48(%rsp), %r12 + 0x48, 0x8d, 0x3d, 0xc6, 0x1b, 0x00, 0x00, //0x000039d3 leaq $7110(%rip), %rdi /* LJTI0_4+0(%rip) */ + 0x0f, 0x84, 0x7a, 0x01, 0x00, 0x00, //0x000039da je LBB0_763 + //0x000039e0 LBB0_735 + 0x4b, 0x8d, 0x34, 0x18, //0x000039e0 leaq (%r8,%r11), %rsi + 0xe9, 0x26, 0x00, 0x00, 0x00, //0x000039e4 jmp LBB0_739 + //0x000039e9 LBB0_736 + 0x49, 0x89, 0xd2, //0x000039e9 movq %rdx, %r10 + 0x4d, 0x29, 0xf2, //0x000039ec subq %r14, %r10 + 0x48, 0x83, 0x7c, 0x24, 0x20, 0xff, //0x000039ef cmpq $-1, $32(%rsp) + 0x0f, 0x85, 0x02, 0x08, 0x00, 0x00, //0x000039f5 jne LBB0_823 + 0x49, 0xff, 0xca, //0x000039fb decq %r10 + 0x4c, 0x89, 0x54, 0x24, 0x20, //0x000039fe movq %r10, $32(%rsp) + //0x00003a03 LBB0_738 + 0x49, 0x89, 0xd0, //0x00003a03 movq %rdx, %r8 + 0x49, 0xff, 0xcb, //0x00003a06 decq %r11 + 0x0f, 0x84, 0x4a, 0x07, 0x00, 0x00, //0x00003a09 je LBB0_815 + //0x00003a0f LBB0_739 + 0x41, 0x0f, 0xbe, 0x00, //0x00003a0f movsbl (%r8), %eax + 0x83, 0xc0, 0xd5, //0x00003a13 addl $-43, %eax + 0x83, 0xf8, 0x3a, //0x00003a16 cmpl $58, %eax + 0x0f, 0x87, 0x3b, 0x01, 0x00, 0x00, //0x00003a19 ja LBB0_763 + 0x49, 0x8d, 0x50, 0x01, //0x00003a1f leaq $1(%r8), %rdx + 0x48, 0x63, 0x04, 0x87, //0x00003a23 movslq (%rdi,%rax,4), %rax + 0x48, 0x01, 0xf8, //0x00003a27 addq %rdi, %rax + 0xff, 0xe0, //0x00003a2a jmpq *%rax + //0x00003a2c LBB0_741 + 0x49, 0x89, 0xd2, //0x00003a2c movq %rdx, %r10 + 0x4d, 0x29, 0xf2, //0x00003a2f subq %r14, %r10 + 0x49, 0x83, 0xfd, 0xff, //0x00003a32 cmpq $-1, %r13 + 0x0f, 0x85, 0xc1, 0x07, 0x00, 0x00, //0x00003a36 jne LBB0_823 + 0x49, 0xff, 0xca, //0x00003a3c decq %r10 + 0x4d, 0x89, 0xd5, //0x00003a3f movq %r10, %r13 + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x00003a42 jmp LBB0_738 + //0x00003a47 LBB0_743 + 0x49, 0x89, 0xd2, //0x00003a47 movq %rdx, %r10 + 0x4d, 0x29, 0xf2, //0x00003a4a subq %r14, %r10 + 0x48, 0x83, 0x7c, 0x24, 0x50, 0xff, //0x00003a4d cmpq $-1, $80(%rsp) + 0x0f, 0x85, 0xa4, 0x07, 0x00, 0x00, //0x00003a53 jne LBB0_823 + 0x49, 0xff, 0xca, //0x00003a59 decq %r10 + 0x4c, 0x89, 0x54, 0x24, 0x50, //0x00003a5c movq %r10, $80(%rsp) + 0xe9, 0x9d, 0xff, 0xff, 0xff, //0x00003a61 jmp LBB0_738 + //0x00003a66 LBB0_745 + 0x48, 0x8b, 0x01, //0x00003a66 movq (%rcx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00003a69 cmpq $4095, %rax + 0x0f, 0x8f, 0x89, 0x0a, 0x00, 0x00, //0x00003a6f jg LBB0_942 + 0x48, 0x8d, 0x50, 0x01, //0x00003a75 leaq $1(%rax), %rdx + 0x48, 0x89, 0x11, //0x00003a79 movq %rdx, (%rcx) + 0x48, 0xc7, 0x44, 0xc1, 0x08, 0x05, 0x00, 0x00, 0x00, //0x00003a7c movq $5, $8(%rcx,%rax,8) + 0xe9, 0x28, 0xf3, 0xff, 0xff, //0x00003a85 jmp LBB0_553 + //0x00003a8a LBB0_747 + 0x48, 0x8b, 0x44, 0x24, 0x28, //0x00003a8a movq $40(%rsp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x00003a8f movq $8(%rax), %rax + 0x48, 0x8d, 0x50, 0xfc, //0x00003a93 leaq $-4(%rax), %rdx + 0x49, 0x39, 0xd1, //0x00003a97 cmpq %rdx, %r9 + 0x0f, 0x83, 0x8f, 0x12, 0x00, 0x00, //0x00003a9a jae LBB0_941 + 0x43, 0x8b, 0x04, 0x3c, //0x00003aa0 movl (%r12,%r15), %eax + 0x3d, 0x61, 0x6c, 0x73, 0x65, //0x00003aa4 cmpl $1702063201, %eax + 0x0f, 0x85, 0xcb, 0x12, 0x00, 0x00, //0x00003aa9 jne LBB0_943 + 0x4d, 0x8d, 0x51, 0x05, //0x00003aaf leaq $5(%r9), %r10 + 0xe9, 0x28, 0x01, 0x00, 0x00, //0x00003ab3 jmp LBB0_775 + //0x00003ab8 LBB0_750 + 0x48, 0x8b, 0x44, 0x24, 0x28, //0x00003ab8 movq $40(%rsp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x00003abd movq $8(%rax), %rax + 0x48, 0x8d, 0x50, 0xfd, //0x00003ac1 leaq $-3(%rax), %rdx + 0x49, 0x39, 0xd1, //0x00003ac5 cmpq %rdx, %r9 + 0x0f, 0x83, 0x61, 0x12, 0x00, 0x00, //0x00003ac8 jae LBB0_941 + 0x41, 0x81, 0x3a, 0x6e, 0x75, 0x6c, 0x6c, //0x00003ace cmpl $1819047278, (%r10) + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x00003ad5 je LBB0_758 + 0xe9, 0xeb, 0x12, 0x00, 0x00, //0x00003adb jmp LBB0_752 + //0x00003ae0 LBB0_756 + 0x48, 0x8b, 0x44, 0x24, 0x28, //0x00003ae0 movq $40(%rsp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x00003ae5 movq $8(%rax), %rax + 0x48, 0x8d, 0x50, 0xfd, //0x00003ae9 leaq $-3(%rax), %rdx + 0x49, 0x39, 0xd1, //0x00003aed cmpq %rdx, %r9 + 0x0f, 0x83, 0x39, 0x12, 0x00, 0x00, //0x00003af0 jae LBB0_941 + 0x41, 0x81, 0x3a, 0x74, 0x72, 0x75, 0x65, //0x00003af6 cmpl $1702195828, (%r10) + 0x0f, 0x85, 0x1a, 0x13, 0x00, 0x00, //0x00003afd jne LBB0_948 + //0x00003b03 LBB0_758 + 0x4d, 0x8d, 0x51, 0x04, //0x00003b03 leaq $4(%r9), %r10 + 0xe9, 0xd4, 0x00, 0x00, 0x00, //0x00003b07 jmp LBB0_775 + //0x00003b0c LBB0_759 + 0x48, 0x8b, 0x01, //0x00003b0c movq (%rcx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00003b0f cmpq $4095, %rax + 0x0f, 0x8f, 0xe3, 0x09, 0x00, 0x00, //0x00003b15 jg LBB0_942 + 0x48, 0x8d, 0x50, 0x01, //0x00003b1b leaq $1(%rax), %rdx + 0x48, 0x89, 0x11, //0x00003b1f movq %rdx, (%rcx) + 0x48, 0xc7, 0x44, 0xc1, 0x08, 0x06, 0x00, 0x00, 0x00, //0x00003b22 movq $6, $8(%rcx,%rax,8) + 0xe9, 0x82, 0xf2, 0xff, 0xff, //0x00003b2b jmp LBB0_553 + //0x00003b30 LBB0_761 + 0x48, 0x85, 0xc0, //0x00003b30 testq %rax, %rax + 0x49, 0x8d, 0x43, 0xff, //0x00003b33 leaq $-1(%r11), %rax + 0x49, 0xf7, 0xd3, //0x00003b37 notq %r11 + 0x4d, 0x0f, 0x48, 0xdf, //0x00003b3a cmovsq %r15, %r11 + 0x48, 0x39, 0xc2, //0x00003b3e cmpq %rax, %rdx + 0x4d, 0x0f, 0x44, 0xfb, //0x00003b41 cmoveq %r11, %r15 + 0xe9, 0x03, 0xfb, 0xff, 0xff, //0x00003b45 jmp LBB0_684 + //0x00003b4a LBB0_762 + 0x49, 0x01, 0xcc, //0x00003b4a addq %rcx, %r12 + 0x4d, 0x89, 0xe0, //0x00003b4d movq %r12, %r8 + 0x48, 0x8b, 0x4c, 0x24, 0x40, //0x00003b50 movq $64(%rsp), %rcx + 0x4c, 0x8b, 0x64, 0x24, 0x30, //0x00003b55 movq $48(%rsp), %r12 + //0x00003b5a LBB0_763 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00003b5a movq $-1, %r10 + 0x4d, 0x85, 0xed, //0x00003b61 testq %r13, %r13 + 0x0f, 0x84, 0x00, 0x12, 0x00, 0x00, //0x00003b64 je LBB0_940 + //0x00003b6a LBB0_764 + 0x48, 0x8b, 0x74, 0x24, 0x20, //0x00003b6a movq $32(%rsp), %rsi + 0x48, 0x85, 0xf6, //0x00003b6f testq %rsi, %rsi + 0x0f, 0x84, 0xf2, 0x11, 0x00, 0x00, //0x00003b72 je LBB0_940 + 0x48, 0x8b, 0x54, 0x24, 0x50, //0x00003b78 movq $80(%rsp), %rdx + 0x48, 0x85, 0xd2, //0x00003b7d testq %rdx, %rdx + 0x0f, 0x84, 0xe4, 0x11, 0x00, 0x00, //0x00003b80 je LBB0_940 + 0x4d, 0x29, 0xf0, //0x00003b86 subq %r14, %r8 + 0x49, 0x8d, 0x40, 0xff, //0x00003b89 leaq $-1(%r8), %rax + 0x49, 0x39, 0xc5, //0x00003b8d cmpq %rax, %r13 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00003b90 je LBB0_772 + 0x48, 0x39, 0xc2, //0x00003b96 cmpq %rax, %rdx + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x00003b99 je LBB0_772 + 0x48, 0x39, 0xc6, //0x00003b9f cmpq %rax, %rsi + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00003ba2 je LBB0_772 + 0x48, 0x85, 0xf6, //0x00003ba8 testq %rsi, %rsi + 0x0f, 0x8e, 0x0f, 0x01, 0x00, 0x00, //0x00003bab jle LBB0_778 + 0x48, 0x8d, 0x46, 0xff, //0x00003bb1 leaq $-1(%rsi), %rax + 0x49, 0x39, 0xc5, //0x00003bb5 cmpq %rax, %r13 + 0x0f, 0x84, 0x02, 0x01, 0x00, 0x00, //0x00003bb8 je LBB0_778 + 0x48, 0xf7, 0xd6, //0x00003bbe notq %rsi + 0x49, 0x89, 0xf2, //0x00003bc1 movq %rsi, %r10 + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x00003bc4 jmp LBB0_773 + //0x00003bc9 LBB0_772 + 0x49, 0xf7, 0xd8, //0x00003bc9 negq %r8 + 0x4d, 0x89, 0xc2, //0x00003bcc movq %r8, %r10 + //0x00003bcf LBB0_773 + 0x4d, 0x85, 0xd2, //0x00003bcf testq %r10, %r10 + 0x0f, 0x88, 0x92, 0x11, 0x00, 0x00, //0x00003bd2 js LBB0_940 + //0x00003bd8 LBB0_774 + 0x4d, 0x01, 0xfa, //0x00003bd8 addq %r15, %r10 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00003bdb movq $24(%rsp), %r8 + //0x00003be0 LBB0_775 + 0x4d, 0x89, 0x10, //0x00003be0 movq %r10, (%r8) + 0x4d, 0x89, 0xcd, //0x00003be3 movq %r9, %r13 + 0x4d, 0x85, 0xff, //0x00003be6 testq %r15, %r15 + 0x0f, 0x8f, 0xc6, 0xf1, 0xff, 0xff, //0x00003be9 jg LBB0_554 + 0xe9, 0x9a, 0x07, 0x00, 0x00, //0x00003bef jmp LBB0_839 + //0x00003bf4 LBB0_601 + 0x4c, 0x8b, 0x94, 0x24, 0xa8, 0x00, 0x00, 0x00, //0x00003bf4 movq $168(%rsp), %r10 + 0x48, 0x8b, 0x5c, 0x24, 0x50, //0x00003bfc movq $80(%rsp), %rbx + 0x48, 0x83, 0xfb, 0x20, //0x00003c01 cmpq $32, %rbx + 0x0f, 0x82, 0xf5, 0x04, 0x00, 0x00, //0x00003c05 jb LBB0_810 + //0x00003c0b LBB0_602 + 0xc4, 0xc1, 0x7a, 0x6f, 0x1a, //0x00003c0b vmovdqu (%r10), %xmm3 + 0xc4, 0xc1, 0x7a, 0x6f, 0x62, 0x10, //0x00003c10 vmovdqu $16(%r10), %xmm4 + 0xc5, 0xe1, 0x74, 0xe8, //0x00003c16 vpcmpeqb %xmm0, %xmm3, %xmm5 + 0xc5, 0xf9, 0xd7, 0xfd, //0x00003c1a vpmovmskb %xmm5, %edi + 0xc5, 0xd9, 0x74, 0xe8, //0x00003c1e vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x00003c22 vpmovmskb %xmm5, %esi + 0xc5, 0xe1, 0x74, 0xd9, //0x00003c26 vpcmpeqb %xmm1, %xmm3, %xmm3 + 0xc5, 0xf9, 0xd7, 0xcb, //0x00003c2a vpmovmskb %xmm3, %ecx + 0xc5, 0xd9, 0x74, 0xd9, //0x00003c2e vpcmpeqb %xmm1, %xmm4, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x00003c32 vpmovmskb %xmm3, %eax + 0x48, 0xc1, 0xe6, 0x10, //0x00003c36 shlq $16, %rsi + 0x48, 0xc1, 0xe0, 0x10, //0x00003c3a shlq $16, %rax + 0x48, 0x09, 0xc1, //0x00003c3e orq %rax, %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00003c41 cmpq $-1, %r12 + 0x0f, 0x85, 0x98, 0x00, 0x00, 0x00, //0x00003c45 jne LBB0_781 + 0x48, 0x85, 0xc9, //0x00003c4b testq %rcx, %rcx + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00003c4e movq $24(%rsp), %r8 + 0x0f, 0x85, 0xfa, 0x05, 0x00, 0x00, //0x00003c53 jne LBB0_824 + 0x48, 0x09, 0xfe, //0x00003c59 orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x00003c5c movq %rcx, %rax + 0x4c, 0x09, 0xe8, //0x00003c5f orq %r13, %rax + 0x0f, 0x85, 0x8f, 0x00, 0x00, 0x00, //0x00003c62 jne LBB0_782 + //0x00003c68 LBB0_605 + 0x48, 0x85, 0xf6, //0x00003c68 testq %rsi, %rsi + 0x0f, 0x84, 0xbf, 0x00, 0x00, 0x00, //0x00003c6b je LBB0_783 + //0x00003c71 LBB0_606 + 0x48, 0x0f, 0xbc, 0xc6, //0x00003c71 bsfq %rsi, %rax + 0x4c, 0x03, 0x54, 0x24, 0x58, //0x00003c75 addq $88(%rsp), %r10 + 0x49, 0x01, 0xc2, //0x00003c7a addq %rax, %r10 + //0x00003c7d LBB0_607 + 0x4d, 0x85, 0xd2, //0x00003c7d testq %r10, %r10 + 0x48, 0x8b, 0x44, 0x24, 0x20, //0x00003c80 movq $32(%rsp), %rax + 0x0f, 0x88, 0x7f, 0x08, 0x00, 0x00, //0x00003c85 js LBB0_861 + 0x4d, 0x89, 0x10, //0x00003c8b movq %r10, (%r8) + 0x4d, 0x89, 0xcd, //0x00003c8e movq %r9, %r13 + 0x4d, 0x85, 0xff, //0x00003c91 testq %r15, %r15 + 0x48, 0x8b, 0x4c, 0x24, 0x40, //0x00003c94 movq $64(%rsp), %rcx + 0x4c, 0x8b, 0x64, 0x24, 0x30, //0x00003c99 movq $48(%rsp), %r12 + 0x0f, 0x8f, 0x11, 0xf1, 0xff, 0xff, //0x00003c9e jg LBB0_554 + 0xe9, 0xe5, 0x06, 0x00, 0x00, //0x00003ca4 jmp LBB0_839 + //0x00003ca9 LBB0_776 + 0x4d, 0x29, 0xd4, //0x00003ca9 subq %r10, %r12 + 0x44, 0x0f, 0xbc, 0xf8, //0x00003cac bsfl %eax, %r15d + 0x4d, 0x01, 0xe7, //0x00003cb0 addq %r12, %r15 + 0x49, 0xf7, 0xd7, //0x00003cb3 notq %r15 + //0x00003cb6 LBB0_777 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00003cb6 movq $24(%rsp), %r8 + 0xe9, 0xec, 0x01, 0x00, 0x00, //0x00003cbb jmp LBB0_792 + //0x00003cc0 LBB0_778 + 0x48, 0x89, 0xd0, //0x00003cc0 movq %rdx, %rax + 0x4c, 0x09, 0xe8, //0x00003cc3 orq %r13, %rax + 0x4c, 0x39, 0xea, //0x00003cc6 cmpq %r13, %rdx + 0x0f, 0x8c, 0xba, 0x01, 0x00, 0x00, //0x00003cc9 jl LBB0_790 + 0x48, 0x85, 0xc0, //0x00003ccf testq %rax, %rax + 0x0f, 0x88, 0xb1, 0x01, 0x00, 0x00, //0x00003cd2 js LBB0_790 + 0x48, 0xf7, 0xd2, //0x00003cd8 notq %rdx + 0x49, 0x89, 0xd2, //0x00003cdb movq %rdx, %r10 + 0xe9, 0xec, 0xfe, 0xff, 0xff, //0x00003cde jmp LBB0_773 + //0x00003ce3 LBB0_781 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00003ce3 movq $24(%rsp), %r8 + 0x48, 0x09, 0xfe, //0x00003ce8 orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x00003ceb movq %rcx, %rax + 0x4c, 0x09, 0xe8, //0x00003cee orq %r13, %rax + 0x0f, 0x84, 0x71, 0xff, 0xff, 0xff, //0x00003cf1 je LBB0_605 + //0x00003cf7 LBB0_782 + 0x44, 0x89, 0xe8, //0x00003cf7 movl %r13d, %eax + 0xf7, 0xd0, //0x00003cfa notl %eax + 0x21, 0xc8, //0x00003cfc andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x00003cfe leal (%rax,%rax), %edx + 0x44, 0x09, 0xea, //0x00003d01 orl %r13d, %edx + 0x89, 0xd7, //0x00003d04 movl %edx, %edi + 0xf7, 0xd7, //0x00003d06 notl %edi + 0x21, 0xcf, //0x00003d08 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00003d0a andl $-1431655766, %edi + 0x45, 0x31, 0xed, //0x00003d10 xorl %r13d, %r13d + 0x01, 0xc7, //0x00003d13 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc5, //0x00003d15 setb %r13b + 0x01, 0xff, //0x00003d19 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00003d1b xorl $1431655765, %edi + 0x21, 0xd7, //0x00003d21 andl %edx, %edi + 0xf7, 0xd7, //0x00003d23 notl %edi + 0x21, 0xfe, //0x00003d25 andl %edi, %esi + 0x48, 0x85, 0xf6, //0x00003d27 testq %rsi, %rsi + 0x0f, 0x85, 0x41, 0xff, 0xff, 0xff, //0x00003d2a jne LBB0_606 + //0x00003d30 LBB0_783 + 0x49, 0x83, 0xc2, 0x20, //0x00003d30 addq $32, %r10 + 0x48, 0x83, 0xc3, 0xe0, //0x00003d34 addq $-32, %rbx + 0x4d, 0x85, 0xed, //0x00003d38 testq %r13, %r13 + 0x0f, 0x85, 0xcd, 0x03, 0x00, 0x00, //0x00003d3b jne LBB0_811 + //0x00003d41 LBB0_784 + 0x4c, 0x89, 0xe2, //0x00003d41 movq %r12, %rdx + 0x48, 0x85, 0xdb, //0x00003d44 testq %rbx, %rbx + 0x0f, 0x84, 0x36, 0x11, 0x00, 0x00, //0x00003d47 je LBB0_813 + //0x00003d4d LBB0_785 + 0x49, 0x8d, 0x4a, 0x01, //0x00003d4d leaq $1(%r10), %rcx + 0x41, 0x0f, 0xb6, 0x02, //0x00003d51 movzbl (%r10), %eax + 0x3c, 0x22, //0x00003d55 cmpb $34, %al + 0x0f, 0x84, 0x5e, 0x01, 0x00, 0x00, //0x00003d57 je LBB0_793 + 0x48, 0x8d, 0x73, 0xff, //0x00003d5d leaq $-1(%rbx), %rsi + 0x3c, 0x5c, //0x00003d61 cmpb $92, %al + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00003d63 je LBB0_788 + 0x48, 0x89, 0xf3, //0x00003d69 movq %rsi, %rbx + 0x49, 0x89, 0xca, //0x00003d6c movq %rcx, %r10 + 0x48, 0x85, 0xf6, //0x00003d6f testq %rsi, %rsi + 0x0f, 0x85, 0xd5, 0xff, 0xff, 0xff, //0x00003d72 jne LBB0_785 + 0xe9, 0x06, 0x11, 0x00, 0x00, //0x00003d78 jmp LBB0_813 + //0x00003d7d LBB0_788 + 0x48, 0x85, 0xf6, //0x00003d7d testq %rsi, %rsi + 0x0f, 0x84, 0x9e, 0x05, 0x00, 0x00, //0x00003d80 je LBB0_830 + 0x48, 0x03, 0x4c, 0x24, 0x38, //0x00003d86 addq $56(%rsp), %rcx + 0x48, 0x83, 0xfa, 0xff, //0x00003d8b cmpq $-1, %rdx + 0x4c, 0x0f, 0x44, 0xe1, //0x00003d8f cmoveq %rcx, %r12 + 0x48, 0x0f, 0x44, 0xd1, //0x00003d93 cmoveq %rcx, %rdx + 0x49, 0x83, 0xc2, 0x02, //0x00003d97 addq $2, %r10 + 0x48, 0x83, 0xc3, 0xfe, //0x00003d9b addq $-2, %rbx + 0x48, 0x89, 0xde, //0x00003d9f movq %rbx, %rsi + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00003da2 movq $24(%rsp), %r8 + 0x48, 0x85, 0xf6, //0x00003da7 testq %rsi, %rsi + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x00003daa jne LBB0_785 + 0xe9, 0xce, 0x10, 0x00, 0x00, //0x00003db0 jmp LBB0_813 + //0x00003db5 LBB0_662 + 0x4c, 0x8b, 0x94, 0x24, 0xa8, 0x00, 0x00, 0x00, //0x00003db5 movq $168(%rsp), %r10 + 0x48, 0x8b, 0x5c, 0x24, 0x50, //0x00003dbd movq $80(%rsp), %rbx + 0x48, 0x83, 0xfb, 0x20, //0x00003dc2 cmpq $32, %rbx + 0x0f, 0x82, 0xea, 0x03, 0x00, 0x00, //0x00003dc6 jb LBB0_818 + //0x00003dcc LBB0_663 + 0xc4, 0xc1, 0x7a, 0x6f, 0x1a, //0x00003dcc vmovdqu (%r10), %xmm3 + 0xc4, 0xc1, 0x7a, 0x6f, 0x62, 0x10, //0x00003dd1 vmovdqu $16(%r10), %xmm4 + 0xc5, 0xe1, 0x74, 0xe8, //0x00003dd7 vpcmpeqb %xmm0, %xmm3, %xmm5 + 0xc5, 0xf9, 0xd7, 0xfd, //0x00003ddb vpmovmskb %xmm5, %edi + 0xc5, 0xd9, 0x74, 0xe8, //0x00003ddf vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x00003de3 vpmovmskb %xmm5, %esi + 0xc5, 0xe1, 0x74, 0xd9, //0x00003de7 vpcmpeqb %xmm1, %xmm3, %xmm3 + 0xc5, 0xf9, 0xd7, 0xcb, //0x00003deb vpmovmskb %xmm3, %ecx + 0xc5, 0xd9, 0x74, 0xd9, //0x00003def vpcmpeqb %xmm1, %xmm4, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x00003df3 vpmovmskb %xmm3, %eax + 0x48, 0xc1, 0xe6, 0x10, //0x00003df7 shlq $16, %rsi + 0x48, 0xc1, 0xe0, 0x10, //0x00003dfb shlq $16, %rax + 0x48, 0x09, 0xc1, //0x00003dff orq %rax, %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00003e02 cmpq $-1, %r12 + 0x0f, 0x85, 0xd4, 0x00, 0x00, 0x00, //0x00003e06 jne LBB0_795 + 0x48, 0x85, 0xc9, //0x00003e0c testq %rcx, %rcx + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00003e0f movq $24(%rsp), %r8 + 0x0f, 0x85, 0x5c, 0x04, 0x00, 0x00, //0x00003e14 jne LBB0_825 + 0x48, 0x09, 0xfe, //0x00003e1a orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x00003e1d movq %rcx, %rax + 0x4c, 0x09, 0xe8, //0x00003e20 orq %r13, %rax + 0x0f, 0x85, 0xcb, 0x00, 0x00, 0x00, //0x00003e23 jne LBB0_796 + //0x00003e29 LBB0_666 + 0x48, 0x85, 0xf6, //0x00003e29 testq %rsi, %rsi + 0x0f, 0x84, 0xfb, 0x00, 0x00, 0x00, //0x00003e2c je LBB0_797 + //0x00003e32 LBB0_667 + 0x48, 0x0f, 0xbc, 0xc6, //0x00003e32 bsfq %rsi, %rax + 0x4c, 0x03, 0x54, 0x24, 0x58, //0x00003e36 addq $88(%rsp), %r10 + 0x49, 0x01, 0xc2, //0x00003e3b addq %rax, %r10 + 0x4d, 0x85, 0xd2, //0x00003e3e testq %r10, %r10 + 0x48, 0x8b, 0x44, 0x24, 0x20, //0x00003e41 movq $32(%rsp), %rax + 0x0f, 0x88, 0xbe, 0x06, 0x00, 0x00, //0x00003e46 js LBB0_861 + //0x00003e4c LBB0_668 + 0x4d, 0x89, 0x10, //0x00003e4c movq %r10, (%r8) + 0x4d, 0x89, 0xcd, //0x00003e4f movq %r9, %r13 + 0x4d, 0x85, 0xff, //0x00003e52 testq %r15, %r15 + 0x48, 0x8b, 0x4c, 0x24, 0x40, //0x00003e55 movq $64(%rsp), %rcx + 0x4c, 0x8b, 0x64, 0x24, 0x30, //0x00003e5a movq $48(%rsp), %r12 + 0x0f, 0x8e, 0x29, 0x05, 0x00, 0x00, //0x00003e5f jle LBB0_839 + 0x48, 0x8b, 0x01, //0x00003e65 movq (%rcx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00003e68 cmpq $4095, %rax + 0x0f, 0x8f, 0x8a, 0x06, 0x00, 0x00, //0x00003e6e jg LBB0_942 + 0x48, 0x8d, 0x50, 0x01, //0x00003e74 leaq $1(%rax), %rdx + 0x48, 0x89, 0x11, //0x00003e78 movq %rdx, (%rcx) + 0x48, 0xc7, 0x44, 0xc1, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00003e7b movq $4, $8(%rcx,%rax,8) + 0xe9, 0x2c, 0xef, 0xff, 0xff, //0x00003e84 jmp LBB0_554 + //0x00003e89 LBB0_790 + 0x48, 0x85, 0xc0, //0x00003e89 testq %rax, %rax + 0x49, 0x8d, 0x45, 0xff, //0x00003e8c leaq $-1(%r13), %rax + 0x49, 0xf7, 0xd5, //0x00003e90 notq %r13 + 0x4d, 0x0f, 0x48, 0xe8, //0x00003e93 cmovsq %r8, %r13 + 0x48, 0x39, 0xc2, //0x00003e97 cmpq %rax, %rdx + 0x4d, 0x0f, 0x45, 0xe8, //0x00003e9a cmovneq %r8, %r13 + 0x4d, 0x89, 0xea, //0x00003e9e movq %r13, %r10 + 0xe9, 0x29, 0xfd, 0xff, 0xff, //0x00003ea1 jmp LBB0_773 + //0x00003ea6 LBB0_791 + 0x48, 0xf7, 0xd0, //0x00003ea6 notq %rax + 0x49, 0x89, 0xc7, //0x00003ea9 movq %rax, %r15 + //0x00003eac LBB0_792 + 0x48, 0x8b, 0x4c, 0x24, 0x40, //0x00003eac movq $64(%rsp), %rcx + 0x4c, 0x8b, 0x64, 0x24, 0x30, //0x00003eb1 movq $48(%rsp), %r12 + 0xe9, 0x92, 0xf7, 0xff, 0xff, //0x00003eb6 jmp LBB0_684 + //0x00003ebb LBB0_793 + 0x48, 0x2b, 0x4c, 0x24, 0x30, //0x00003ebb subq $48(%rsp), %rcx + 0x49, 0x89, 0xca, //0x00003ec0 movq %rcx, %r10 + 0xe9, 0xb5, 0xfd, 0xff, 0xff, //0x00003ec3 jmp LBB0_607 + //0x00003ec8 LBB0_794 + 0x49, 0x89, 0xff, //0x00003ec8 movq %rdi, %r15 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00003ecb movq $-1, %rax + 0x4d, 0x85, 0xdb, //0x00003ed2 testq %r11, %r11 + 0x0f, 0x85, 0x15, 0xf7, 0xff, 0xff, //0x00003ed5 jne LBB0_675 + 0xe9, 0x41, 0x0e, 0x00, 0x00, //0x00003edb jmp LBB0_931 + //0x00003ee0 LBB0_795 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00003ee0 movq $24(%rsp), %r8 + 0x48, 0x09, 0xfe, //0x00003ee5 orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x00003ee8 movq %rcx, %rax + 0x4c, 0x09, 0xe8, //0x00003eeb orq %r13, %rax + 0x0f, 0x84, 0x35, 0xff, 0xff, 0xff, //0x00003eee je LBB0_666 + //0x00003ef4 LBB0_796 + 0x44, 0x89, 0xe8, //0x00003ef4 movl %r13d, %eax + 0xf7, 0xd0, //0x00003ef7 notl %eax + 0x21, 0xc8, //0x00003ef9 andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x00003efb leal (%rax,%rax), %edx + 0x44, 0x09, 0xea, //0x00003efe orl %r13d, %edx + 0x89, 0xd7, //0x00003f01 movl %edx, %edi + 0xf7, 0xd7, //0x00003f03 notl %edi + 0x21, 0xcf, //0x00003f05 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00003f07 andl $-1431655766, %edi + 0x45, 0x31, 0xed, //0x00003f0d xorl %r13d, %r13d + 0x01, 0xc7, //0x00003f10 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc5, //0x00003f12 setb %r13b + 0x01, 0xff, //0x00003f16 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00003f18 xorl $1431655765, %edi + 0x21, 0xd7, //0x00003f1e andl %edx, %edi + 0xf7, 0xd7, //0x00003f20 notl %edi + 0x21, 0xfe, //0x00003f22 andl %edi, %esi + 0x48, 0x85, 0xf6, //0x00003f24 testq %rsi, %rsi + 0x0f, 0x85, 0x05, 0xff, 0xff, 0xff, //0x00003f27 jne LBB0_667 + //0x00003f2d LBB0_797 + 0x49, 0x83, 0xc2, 0x20, //0x00003f2d addq $32, %r10 + 0x48, 0x83, 0xc3, 0xe0, //0x00003f31 addq $-32, %rbx + 0x4d, 0x85, 0xed, //0x00003f35 testq %r13, %r13 + 0x0f, 0x85, 0x86, 0x02, 0x00, 0x00, //0x00003f38 jne LBB0_819 + //0x00003f3e LBB0_798 + 0x4c, 0x89, 0xe2, //0x00003f3e movq %r12, %rdx + 0x48, 0x85, 0xdb, //0x00003f41 testq %rbx, %rbx + 0x0f, 0x84, 0x39, 0x0f, 0x00, 0x00, //0x00003f44 je LBB0_813 + //0x00003f4a LBB0_799 + 0x49, 0x8d, 0x4a, 0x01, //0x00003f4a leaq $1(%r10), %rcx + 0x41, 0x0f, 0xb6, 0x02, //0x00003f4e movzbl (%r10), %eax + 0x3c, 0x22, //0x00003f52 cmpb $34, %al + 0x0f, 0x84, 0x63, 0x00, 0x00, 0x00, //0x00003f54 je LBB0_860 + 0x48, 0x8d, 0x73, 0xff, //0x00003f5a leaq $-1(%rbx), %rsi + 0x3c, 0x5c, //0x00003f5e cmpb $92, %al + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00003f60 je LBB0_802 + 0x48, 0x89, 0xf3, //0x00003f66 movq %rsi, %rbx + 0x49, 0x89, 0xca, //0x00003f69 movq %rcx, %r10 + 0x48, 0x85, 0xf6, //0x00003f6c testq %rsi, %rsi + 0x0f, 0x85, 0xd5, 0xff, 0xff, 0xff, //0x00003f6f jne LBB0_799 + 0xe9, 0x09, 0x0f, 0x00, 0x00, //0x00003f75 jmp LBB0_813 + //0x00003f7a LBB0_802 + 0x48, 0x85, 0xf6, //0x00003f7a testq %rsi, %rsi + 0x0f, 0x84, 0xa1, 0x03, 0x00, 0x00, //0x00003f7d je LBB0_830 + 0x48, 0x03, 0x4c, 0x24, 0x38, //0x00003f83 addq $56(%rsp), %rcx + 0x48, 0x83, 0xfa, 0xff, //0x00003f88 cmpq $-1, %rdx + 0x4c, 0x0f, 0x44, 0xe1, //0x00003f8c cmoveq %rcx, %r12 + 0x48, 0x0f, 0x44, 0xd1, //0x00003f90 cmoveq %rcx, %rdx + 0x49, 0x83, 0xc2, 0x02, //0x00003f94 addq $2, %r10 + 0x48, 0x83, 0xc3, 0xfe, //0x00003f98 addq $-2, %rbx + 0x48, 0x89, 0xde, //0x00003f9c movq %rbx, %rsi + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00003f9f movq $24(%rsp), %r8 + 0x48, 0x85, 0xf6, //0x00003fa4 testq %rsi, %rsi + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x00003fa7 jne LBB0_799 + 0xe9, 0xd1, 0x0e, 0x00, 0x00, //0x00003fad jmp LBB0_813 + //0x00003fb2 LBB0_804 + 0x48, 0xf7, 0xd0, //0x00003fb2 notq %rax + 0x49, 0x89, 0xc7, //0x00003fb5 movq %rax, %r15 + 0xe9, 0xf9, 0xfc, 0xff, 0xff, //0x00003fb8 jmp LBB0_777 + //0x00003fbd LBB0_860 + 0x48, 0x2b, 0x4c, 0x24, 0x30, //0x00003fbd subq $48(%rsp), %rcx + 0x49, 0x89, 0xca, //0x00003fc2 movq %rcx, %r10 + 0x4d, 0x85, 0xd2, //0x00003fc5 testq %r10, %r10 + 0x48, 0x8b, 0x44, 0x24, 0x20, //0x00003fc8 movq $32(%rsp), %rax + 0x0f, 0x89, 0x79, 0xfe, 0xff, 0xff, //0x00003fcd jns LBB0_668 + 0xe9, 0x32, 0x05, 0x00, 0x00, //0x00003fd3 jmp LBB0_861 + //0x00003fd8 LBB0_805 + 0x4d, 0x29, 0xf4, //0x00003fd8 subq %r14, %r12 + 0x44, 0x0f, 0xbc, 0xd0, //0x00003fdb bsfl %eax, %r10d + 0x4d, 0x01, 0xe2, //0x00003fdf addq %r12, %r10 + //0x00003fe2 LBB0_806 + 0x49, 0xf7, 0xd2, //0x00003fe2 notq %r10 + 0x48, 0x8b, 0x4c, 0x24, 0x40, //0x00003fe5 movq $64(%rsp), %rcx + 0x4c, 0x8b, 0x64, 0x24, 0x30, //0x00003fea movq $48(%rsp), %r12 + 0xe9, 0xdb, 0xfb, 0xff, 0xff, //0x00003fef jmp LBB0_773 + //0x00003ff4 LBB0_698 + 0x4c, 0x8b, 0x94, 0x24, 0xa8, 0x00, 0x00, 0x00, //0x00003ff4 movq $168(%rsp), %r10 + 0x48, 0x8b, 0x5c, 0x24, 0x50, //0x00003ffc movq $80(%rsp), %rbx + 0x48, 0x83, 0xfb, 0x20, //0x00004001 cmpq $32, %rbx + 0x0f, 0x82, 0x69, 0x00, 0x00, 0x00, //0x00004005 jb LBB0_704 + //0x0000400b LBB0_699 + 0xc4, 0xc1, 0x7a, 0x6f, 0x1a, //0x0000400b vmovdqu (%r10), %xmm3 + 0xc4, 0xc1, 0x7a, 0x6f, 0x62, 0x10, //0x00004010 vmovdqu $16(%r10), %xmm4 + 0xc5, 0xe1, 0x74, 0xe8, //0x00004016 vpcmpeqb %xmm0, %xmm3, %xmm5 + 0xc5, 0xf9, 0xd7, 0xfd, //0x0000401a vpmovmskb %xmm5, %edi + 0xc5, 0xd9, 0x74, 0xe8, //0x0000401e vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x00004022 vpmovmskb %xmm5, %esi + 0xc5, 0xe1, 0x74, 0xd9, //0x00004026 vpcmpeqb %xmm1, %xmm3, %xmm3 + 0xc5, 0xf9, 0xd7, 0xcb, //0x0000402a vpmovmskb %xmm3, %ecx + 0xc5, 0xd9, 0x74, 0xd9, //0x0000402e vpcmpeqb %xmm1, %xmm4, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x00004032 vpmovmskb %xmm3, %eax + 0x48, 0xc1, 0xe6, 0x10, //0x00004036 shlq $16, %rsi + 0x48, 0xc1, 0xe0, 0x10, //0x0000403a shlq $16, %rax + 0x48, 0x09, 0xc1, //0x0000403e orq %rax, %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00004041 cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00004045 jne LBB0_701 + 0x48, 0x85, 0xc9, //0x0000404b testq %rcx, %rcx + 0x0f, 0x85, 0x45, 0x02, 0x00, 0x00, //0x0000404e jne LBB0_826 + //0x00004054 LBB0_701 + 0x48, 0x09, 0xfe, //0x00004054 orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x00004057 movq %rcx, %rax + 0x4c, 0x09, 0xe8, //0x0000405a orq %r13, %rax + 0x0f, 0x85, 0x54, 0x02, 0x00, 0x00, //0x0000405d jne LBB0_827 + //0x00004063 LBB0_702 + 0x48, 0x85, 0xf6, //0x00004063 testq %rsi, %rsi + 0x0f, 0x85, 0x05, 0xfc, 0xff, 0xff, //0x00004066 jne LBB0_606 + //0x0000406c LBB0_703 + 0x49, 0x83, 0xc2, 0x20, //0x0000406c addq $32, %r10 + 0x48, 0x83, 0xc3, 0xe0, //0x00004070 addq $-32, %rbx + //0x00004074 LBB0_704 + 0x4d, 0x85, 0xed, //0x00004074 testq %r13, %r13 + 0x0f, 0x85, 0x78, 0x02, 0x00, 0x00, //0x00004077 jne LBB0_828 + 0x4c, 0x89, 0xe2, //0x0000407d movq %r12, %rdx + 0x48, 0x85, 0xdb, //0x00004080 testq %rbx, %rbx + 0x0f, 0x84, 0x9b, 0x02, 0x00, 0x00, //0x00004083 je LBB0_830 + //0x00004089 LBB0_706 + 0x49, 0x8d, 0x4a, 0x01, //0x00004089 leaq $1(%r10), %rcx + 0x41, 0x0f, 0xb6, 0x02, //0x0000408d movzbl (%r10), %eax + 0x3c, 0x22, //0x00004091 cmpb $34, %al + 0x0f, 0x84, 0xae, 0x00, 0x00, 0x00, //0x00004093 je LBB0_814 + 0x48, 0x8d, 0x73, 0xff, //0x00004099 leaq $-1(%rbx), %rsi + 0x3c, 0x5c, //0x0000409d cmpb $92, %al + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000409f je LBB0_807 + 0x48, 0x89, 0xf3, //0x000040a5 movq %rsi, %rbx + 0x49, 0x89, 0xca, //0x000040a8 movq %rcx, %r10 + 0x48, 0x85, 0xf6, //0x000040ab testq %rsi, %rsi + 0x0f, 0x85, 0xd5, 0xff, 0xff, 0xff, //0x000040ae jne LBB0_706 + 0xe9, 0x6b, 0x02, 0x00, 0x00, //0x000040b4 jmp LBB0_830 + //0x000040b9 LBB0_807 + 0x48, 0x85, 0xf6, //0x000040b9 testq %rsi, %rsi + 0x0f, 0x84, 0x62, 0x02, 0x00, 0x00, //0x000040bc je LBB0_830 + 0x48, 0x03, 0x4c, 0x24, 0x38, //0x000040c2 addq $56(%rsp), %rcx + 0x48, 0x83, 0xfa, 0xff, //0x000040c7 cmpq $-1, %rdx + 0x4c, 0x0f, 0x44, 0xe1, //0x000040cb cmoveq %rcx, %r12 + 0x48, 0x0f, 0x44, 0xd1, //0x000040cf cmoveq %rcx, %rdx + 0x49, 0x83, 0xc2, 0x02, //0x000040d3 addq $2, %r10 + 0x48, 0x83, 0xc3, 0xfe, //0x000040d7 addq $-2, %rbx + 0x48, 0x89, 0xde, //0x000040db movq %rbx, %rsi + 0x48, 0x85, 0xf6, //0x000040de testq %rsi, %rsi + 0x0f, 0x85, 0xa2, 0xff, 0xff, 0xff, //0x000040e1 jne LBB0_706 + 0xe9, 0x38, 0x02, 0x00, 0x00, //0x000040e7 jmp LBB0_830 + //0x000040ec LBB0_809 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000040ec movq $-1, %r12 + 0x45, 0x31, 0xed, //0x000040f3 xorl %r13d, %r13d + 0x48, 0x83, 0xfb, 0x20, //0x000040f6 cmpq $32, %rbx + 0x0f, 0x83, 0x0b, 0xfb, 0xff, 0xff, //0x000040fa jae LBB0_602 + //0x00004100 LBB0_810 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00004100 movq $24(%rsp), %r8 + 0x4d, 0x85, 0xed, //0x00004105 testq %r13, %r13 + 0x0f, 0x84, 0x33, 0xfc, 0xff, 0xff, //0x00004108 je LBB0_784 + //0x0000410e LBB0_811 + 0x48, 0x85, 0xdb, //0x0000410e testq %rbx, %rbx + 0x0f, 0x84, 0x0d, 0x02, 0x00, 0x00, //0x00004111 je LBB0_830 + 0x48, 0x8b, 0x44, 0x24, 0x38, //0x00004117 movq $56(%rsp), %rax + 0x4c, 0x01, 0xd0, //0x0000411c addq %r10, %rax + 0x49, 0x83, 0xfc, 0xff, //0x0000411f cmpq $-1, %r12 + 0x4c, 0x89, 0xe2, //0x00004123 movq %r12, %rdx + 0x4c, 0x0f, 0x44, 0xe0, //0x00004126 cmoveq %rax, %r12 + 0x48, 0x0f, 0x44, 0xd0, //0x0000412a cmoveq %rax, %rdx + 0x49, 0xff, 0xc2, //0x0000412e incq %r10 + 0x48, 0xff, 0xcb, //0x00004131 decq %rbx + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00004134 movq $24(%rsp), %r8 + 0x48, 0x85, 0xdb, //0x00004139 testq %rbx, %rbx + 0x0f, 0x85, 0x0b, 0xfc, 0xff, 0xff, //0x0000413c jne LBB0_785 + 0xe9, 0x3c, 0x0d, 0x00, 0x00, //0x00004142 jmp LBB0_813 + //0x00004147 LBB0_814 + 0x48, 0x2b, 0x4c, 0x24, 0x30, //0x00004147 subq $48(%rsp), %rcx + 0x49, 0x89, 0xca, //0x0000414c movq %rcx, %r10 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x0000414f movq $24(%rsp), %r8 + 0xe9, 0x24, 0xfb, 0xff, 0xff, //0x00004154 jmp LBB0_607 + //0x00004159 LBB0_815 + 0x49, 0x89, 0xf0, //0x00004159 movq %rsi, %r8 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000415c movq $-1, %r10 + 0x4d, 0x85, 0xed, //0x00004163 testq %r13, %r13 + 0x0f, 0x85, 0xfe, 0xf9, 0xff, 0xff, //0x00004166 jne LBB0_764 + 0xe9, 0xf9, 0x0b, 0x00, 0x00, //0x0000416c jmp LBB0_940 + //0x00004171 LBB0_816 + 0x48, 0xc7, 0x44, 0x24, 0x20, 0xff, 0xff, 0xff, 0xff, //0x00004171 movq $-1, $32(%rsp) + 0x4d, 0x89, 0xd7, //0x0000417a movq %r10, %r15 + 0x48, 0x89, 0xfa, //0x0000417d movq %rdi, %rdx + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00004180 movq $-1, %r11 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00004187 movq $-1, %r13 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x0000418e movq $24(%rsp), %r8 + 0x48, 0x8b, 0x4c, 0x24, 0x40, //0x00004193 movq $64(%rsp), %rcx + 0x4c, 0x8b, 0x64, 0x24, 0x30, //0x00004198 movq $48(%rsp), %r12 + 0xe9, 0xe5, 0xf1, 0xff, 0xff, //0x0000419d jmp LBB0_642 + //0x000041a2 LBB0_817 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000041a2 movq $-1, %r12 + 0x45, 0x31, 0xed, //0x000041a9 xorl %r13d, %r13d + 0x48, 0x83, 0xfb, 0x20, //0x000041ac cmpq $32, %rbx + 0x0f, 0x83, 0x16, 0xfc, 0xff, 0xff, //0x000041b0 jae LBB0_663 + //0x000041b6 LBB0_818 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x000041b6 movq $24(%rsp), %r8 + 0x4d, 0x85, 0xed, //0x000041bb testq %r13, %r13 + 0x0f, 0x84, 0x7a, 0xfd, 0xff, 0xff, //0x000041be je LBB0_798 + //0x000041c4 LBB0_819 + 0x48, 0x85, 0xdb, //0x000041c4 testq %rbx, %rbx + 0x0f, 0x84, 0x57, 0x01, 0x00, 0x00, //0x000041c7 je LBB0_830 + 0x48, 0x8b, 0x44, 0x24, 0x38, //0x000041cd movq $56(%rsp), %rax + 0x4c, 0x01, 0xd0, //0x000041d2 addq %r10, %rax + 0x49, 0x83, 0xfc, 0xff, //0x000041d5 cmpq $-1, %r12 + 0x4c, 0x89, 0xe2, //0x000041d9 movq %r12, %rdx + 0x4c, 0x0f, 0x44, 0xe0, //0x000041dc cmoveq %rax, %r12 + 0x48, 0x0f, 0x44, 0xd0, //0x000041e0 cmoveq %rax, %rdx + 0x49, 0xff, 0xc2, //0x000041e4 incq %r10 + 0x48, 0xff, 0xcb, //0x000041e7 decq %rbx + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x000041ea movq $24(%rsp), %r8 + 0x48, 0x85, 0xdb, //0x000041ef testq %rbx, %rbx + 0x0f, 0x85, 0x52, 0xfd, 0xff, 0xff, //0x000041f2 jne LBB0_799 + 0xe9, 0x86, 0x0c, 0x00, 0x00, //0x000041f8 jmp LBB0_813 + //0x000041fd LBB0_823 + 0x49, 0xf7, 0xda, //0x000041fd negq %r10 + 0xe9, 0xca, 0xf9, 0xff, 0xff, //0x00004200 jmp LBB0_773 + //0x00004205 LBB0_821 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00004205 movq $-1, %r12 + 0x45, 0x31, 0xed, //0x0000420c xorl %r13d, %r13d + 0x48, 0x83, 0xfb, 0x20, //0x0000420f cmpq $32, %rbx + 0x0f, 0x83, 0xf2, 0xfd, 0xff, 0xff, //0x00004213 jae LBB0_699 + 0xe9, 0x56, 0xfe, 0xff, 0xff, //0x00004219 jmp LBB0_704 + //0x0000421e LBB0_822 + 0x48, 0xc7, 0x44, 0x24, 0x50, 0xff, 0xff, 0xff, 0xff, //0x0000421e movq $-1, $80(%rsp) + 0x4d, 0x89, 0xf0, //0x00004227 movq %r14, %r8 + 0x49, 0x89, 0xfb, //0x0000422a movq %rdi, %r11 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x0000422d movq $-1, %r13 + 0x48, 0xc7, 0x44, 0x24, 0x20, 0xff, 0xff, 0xff, 0xff, //0x00004234 movq $-1, $32(%rsp) + 0x48, 0x8b, 0x4c, 0x24, 0x40, //0x0000423d movq $64(%rsp), %rcx + 0x4c, 0x8b, 0x64, 0x24, 0x30, //0x00004242 movq $48(%rsp), %r12 + 0x48, 0x8d, 0x3d, 0x52, 0x13, 0x00, 0x00, //0x00004247 leaq $4946(%rip), %rdi /* LJTI0_4+0(%rip) */ + 0xe9, 0x8d, 0xf7, 0xff, 0xff, //0x0000424e jmp LBB0_735 + //0x00004253 LBB0_824 + 0x4c, 0x89, 0xd0, //0x00004253 movq %r10, %rax + 0x48, 0x2b, 0x44, 0x24, 0x30, //0x00004256 subq $48(%rsp), %rax + 0x4c, 0x0f, 0xbc, 0xe1, //0x0000425b bsfq %rcx, %r12 + 0x49, 0x01, 0xc4, //0x0000425f addq %rax, %r12 + 0x48, 0x09, 0xfe, //0x00004262 orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x00004265 movq %rcx, %rax + 0x4c, 0x09, 0xe8, //0x00004268 orq %r13, %rax + 0x0f, 0x84, 0xf7, 0xf9, 0xff, 0xff, //0x0000426b je LBB0_605 + 0xe9, 0x81, 0xfa, 0xff, 0xff, //0x00004271 jmp LBB0_782 + //0x00004276 LBB0_825 + 0x4c, 0x89, 0xd0, //0x00004276 movq %r10, %rax + 0x48, 0x2b, 0x44, 0x24, 0x30, //0x00004279 subq $48(%rsp), %rax + 0x4c, 0x0f, 0xbc, 0xe1, //0x0000427e bsfq %rcx, %r12 + 0x49, 0x01, 0xc4, //0x00004282 addq %rax, %r12 + 0x48, 0x09, 0xfe, //0x00004285 orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x00004288 movq %rcx, %rax + 0x4c, 0x09, 0xe8, //0x0000428b orq %r13, %rax + 0x0f, 0x84, 0x95, 0xfb, 0xff, 0xff, //0x0000428e je LBB0_666 + 0xe9, 0x5b, 0xfc, 0xff, 0xff, //0x00004294 jmp LBB0_796 + //0x00004299 LBB0_826 + 0x4c, 0x89, 0xd0, //0x00004299 movq %r10, %rax + 0x48, 0x2b, 0x44, 0x24, 0x30, //0x0000429c subq $48(%rsp), %rax + 0x4c, 0x0f, 0xbc, 0xe1, //0x000042a1 bsfq %rcx, %r12 + 0x49, 0x01, 0xc4, //0x000042a5 addq %rax, %r12 + 0x48, 0x09, 0xfe, //0x000042a8 orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x000042ab movq %rcx, %rax + 0x4c, 0x09, 0xe8, //0x000042ae orq %r13, %rax + 0x0f, 0x84, 0xac, 0xfd, 0xff, 0xff, //0x000042b1 je LBB0_702 + //0x000042b7 LBB0_827 + 0x44, 0x89, 0xe8, //0x000042b7 movl %r13d, %eax + 0xf7, 0xd0, //0x000042ba notl %eax + 0x21, 0xc8, //0x000042bc andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x000042be leal (%rax,%rax), %edx + 0x44, 0x09, 0xea, //0x000042c1 orl %r13d, %edx + 0x89, 0xd7, //0x000042c4 movl %edx, %edi + 0xf7, 0xd7, //0x000042c6 notl %edi + 0x21, 0xcf, //0x000042c8 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000042ca andl $-1431655766, %edi + 0x45, 0x31, 0xed, //0x000042d0 xorl %r13d, %r13d + 0x01, 0xc7, //0x000042d3 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc5, //0x000042d5 setb %r13b + 0x01, 0xff, //0x000042d9 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000042db xorl $1431655765, %edi + 0x21, 0xd7, //0x000042e1 andl %edx, %edi + 0xf7, 0xd7, //0x000042e3 notl %edi + 0x21, 0xfe, //0x000042e5 andl %edi, %esi + 0x48, 0x85, 0xf6, //0x000042e7 testq %rsi, %rsi + 0x0f, 0x85, 0x81, 0xf9, 0xff, 0xff, //0x000042ea jne LBB0_606 + 0xe9, 0x77, 0xfd, 0xff, 0xff, //0x000042f0 jmp LBB0_703 + //0x000042f5 LBB0_828 + 0x48, 0x85, 0xdb, //0x000042f5 testq %rbx, %rbx + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x000042f8 je LBB0_830 + 0x48, 0x8b, 0x44, 0x24, 0x38, //0x000042fe movq $56(%rsp), %rax + 0x4c, 0x01, 0xd0, //0x00004303 addq %r10, %rax + 0x49, 0x83, 0xfc, 0xff, //0x00004306 cmpq $-1, %r12 + 0x4c, 0x89, 0xe2, //0x0000430a movq %r12, %rdx + 0x4c, 0x0f, 0x44, 0xe0, //0x0000430d cmoveq %rax, %r12 + 0x48, 0x0f, 0x44, 0xd0, //0x00004311 cmoveq %rax, %rdx + 0x49, 0xff, 0xc2, //0x00004315 incq %r10 + 0x48, 0xff, 0xcb, //0x00004318 decq %rbx + 0x48, 0x85, 0xdb, //0x0000431b testq %rbx, %rbx + 0x0f, 0x85, 0x65, 0xfd, 0xff, 0xff, //0x0000431e jne LBB0_706 + //0x00004324 LBB0_830 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00004324 movq $24(%rsp), %r8 + 0x48, 0x8b, 0x44, 0x24, 0x20, //0x00004329 movq $32(%rsp), %rax + 0xe9, 0xe1, 0x01, 0x00, 0x00, //0x0000432e jmp LBB0_862 + //0x00004333 LBB0_249 + 0x3c, 0x7d, //0x00004333 cmpb $125, %al + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00004335 je LBB0_833 + 0xe9, 0x41, 0x00, 0x00, 0x00, //0x0000433b jmp LBB0_837 + //0x00004340 LBB0_831 + 0x49, 0x89, 0x38, //0x00004340 movq %rdi, (%r8) + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00004343 movq $-1, %r13 + 0xe9, 0x3f, 0x00, 0x00, 0x00, //0x0000434a jmp LBB0_839 + //0x0000434f LBB0_832 + 0x3c, 0x5d, //0x0000434f cmpb $93, %al + 0x0f, 0x85, 0x2a, 0x00, 0x00, 0x00, //0x00004351 jne LBB0_837 + //0x00004357 LBB0_833 + 0x49, 0xff, 0xca, //0x00004357 decq %r10 + 0x4d, 0x89, 0x10, //0x0000435a movq %r10, (%r8) + 0x49, 0xc7, 0xc5, 0xdf, 0xff, 0xff, 0xff, //0x0000435d movq $-33, %r13 + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00004364 jmp LBB0_839 + //0x00004369 LBB0_835 + 0x49, 0xff, 0xca, //0x00004369 decq %r10 + 0x4d, 0x89, 0x10, //0x0000436c movq %r10, (%r8) + 0x49, 0xc7, 0xc5, 0xde, 0xff, 0xff, 0xff, //0x0000436f movq $-34, %r13 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00004376 jmp LBB0_839 + //0x0000437b LBB0_836 + 0x49, 0x89, 0x38, //0x0000437b movq %rdi, (%r8) + 0x49, 0x89, 0xfa, //0x0000437e movq %rdi, %r10 + //0x00004381 LBB0_837 + 0x49, 0xff, 0xca, //0x00004381 decq %r10 + 0x4d, 0x89, 0x10, //0x00004384 movq %r10, (%r8) + //0x00004387 LBB0_838 + 0x49, 0xc7, 0xc5, 0xfe, 0xff, 0xff, 0xff, //0x00004387 movq $-2, %r13 + //0x0000438e LBB0_839 + 0x4c, 0x89, 0xe8, //0x0000438e movq %r13, %rax + 0x48, 0x8d, 0x65, 0xd8, //0x00004391 leaq $-40(%rbp), %rsp + 0x5b, //0x00004395 popq %rbx + 0x41, 0x5c, //0x00004396 popq %r12 + 0x41, 0x5d, //0x00004398 popq %r13 + 0x41, 0x5e, //0x0000439a popq %r14 + 0x41, 0x5f, //0x0000439c popq %r15 + 0x5d, //0x0000439e popq %rbp + 0xc5, 0xf8, 0x77, //0x0000439f vzeroupper + 0xc3, //0x000043a2 retq + //0x000043a3 LBB0_581 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x000043a3 movq $-1, %r13 + 0xe9, 0xdf, 0xff, 0xff, 0xff, //0x000043aa jmp LBB0_839 + //0x000043af LBB0_840 + 0x4c, 0x01, 0xdf, //0x000043af addq %r11, %rdi + //0x000043b2 LBB0_841 + 0x4c, 0x29, 0xdf, //0x000043b2 subq %r11, %rdi + 0x49, 0x89, 0xfc, //0x000043b5 movq %rdi, %r12 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x000043b8 movq $-1, %r13 + 0x49, 0x39, 0xf4, //0x000043bf cmpq %rsi, %r12 + 0x0f, 0x83, 0xc6, 0xff, 0xff, 0xff, //0x000043c2 jae LBB0_839 + 0xe9, 0x19, 0x00, 0x00, 0x00, //0x000043c8 jmp LBB0_843 + //0x000043cd LBB0_842 + 0x4c, 0x89, 0xd8, //0x000043cd movq %r11, %rax + 0x48, 0xf7, 0xd0, //0x000043d0 notq %rax + 0x49, 0x01, 0xc4, //0x000043d3 addq %rax, %r12 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x000043d6 movq $-1, %r13 + 0x49, 0x39, 0xf4, //0x000043dd cmpq %rsi, %r12 + 0x0f, 0x83, 0xa8, 0xff, 0xff, 0xff, //0x000043e0 jae LBB0_839 + //0x000043e6 LBB0_843 + 0x49, 0x8d, 0x7c, 0x24, 0x01, //0x000043e6 leaq $1(%r12), %rdi + 0x49, 0x89, 0x38, //0x000043eb movq %rdi, (%r8) + 0x43, 0x0f, 0xbe, 0x04, 0x23, //0x000043ee movsbl (%r11,%r12), %eax + 0x83, 0xf8, 0x7b, //0x000043f3 cmpl $123, %eax + 0x0f, 0x87, 0x43, 0x01, 0x00, 0x00, //0x000043f6 ja LBB0_866 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x000043fc movq $-1, %r13 + 0x48, 0x8d, 0x15, 0x6e, 0x13, 0x00, 0x00, //0x00004403 leaq $4974(%rip), %rdx /* LJTI0_6+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x0000440a movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x0000440e addq %rdx, %rax + 0xff, 0xe0, //0x00004411 jmpq *%rax + //0x00004413 LBB0_845 + 0x48, 0x8b, 0x44, 0x24, 0x28, //0x00004413 movq $40(%rsp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x00004418 movq $8(%rax), %rdx + 0x48, 0x89, 0xd1, //0x0000441c movq %rdx, %rcx + 0x48, 0x29, 0xf9, //0x0000441f subq %rdi, %rcx + 0x4c, 0x01, 0xdf, //0x00004422 addq %r11, %rdi + 0x48, 0x83, 0xf9, 0x10, //0x00004425 cmpq $16, %rcx + 0x0f, 0x82, 0x6a, 0x00, 0x00, 0x00, //0x00004429 jb LBB0_850 + 0x4c, 0x29, 0xe2, //0x0000442f subq %r12, %rdx + 0x48, 0x83, 0xc2, 0xef, //0x00004432 addq $-17, %rdx + 0x48, 0x89, 0xd0, //0x00004436 movq %rdx, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00004439 andq $-16, %rax + 0x4c, 0x01, 0xe0, //0x0000443d addq %r12, %rax + 0x49, 0x8d, 0x74, 0x03, 0x11, //0x00004440 leaq $17(%r11,%rax), %rsi + 0x83, 0xe2, 0x0f, //0x00004445 andl $15, %edx + 0xc5, 0xfa, 0x6f, 0x05, 0xb0, 0xbb, 0xff, 0xff, //0x00004448 vmovdqu $-17488(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0xb8, 0xbb, 0xff, 0xff, //0x00004450 vmovdqu $-17480(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0xc0, 0xbb, 0xff, 0xff, //0x00004458 vmovdqu $-17472(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + //0x00004460 .p2align 4, 0x90 + //0x00004460 LBB0_847 + 0xc5, 0xfa, 0x6f, 0x1f, //0x00004460 vmovdqu (%rdi), %xmm3 + 0xc5, 0xe1, 0x74, 0xe0, //0x00004464 vpcmpeqb %xmm0, %xmm3, %xmm4 + 0xc5, 0xe1, 0xeb, 0xd9, //0x00004468 vpor %xmm1, %xmm3, %xmm3 + 0xc5, 0xe1, 0x74, 0xda, //0x0000446c vpcmpeqb %xmm2, %xmm3, %xmm3 + 0xc5, 0xe1, 0xeb, 0xdc, //0x00004470 vpor %xmm4, %xmm3, %xmm3 + 0xc5, 0xf9, 0xd7, 0xc3, //0x00004474 vpmovmskb %xmm3, %eax + 0x66, 0x85, 0xc0, //0x00004478 testw %ax, %ax + 0x0f, 0x85, 0x65, 0x00, 0x00, 0x00, //0x0000447b jne LBB0_858 + 0x48, 0x83, 0xc7, 0x10, //0x00004481 addq $16, %rdi + 0x48, 0x83, 0xc1, 0xf0, //0x00004485 addq $-16, %rcx + 0x48, 0x83, 0xf9, 0x0f, //0x00004489 cmpq $15, %rcx + 0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x0000448d ja LBB0_847 + 0x48, 0x89, 0xd1, //0x00004493 movq %rdx, %rcx + 0x48, 0x89, 0xf7, //0x00004496 movq %rsi, %rdi + //0x00004499 LBB0_850 + 0x48, 0x85, 0xc9, //0x00004499 testq %rcx, %rcx + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x0000449c je LBB0_857 + 0x48, 0x8d, 0x04, 0x0f, //0x000044a2 leaq (%rdi,%rcx), %rax + //0x000044a6 LBB0_852 + 0x0f, 0xb6, 0x17, //0x000044a6 movzbl (%rdi), %edx + 0x80, 0xfa, 0x2c, //0x000044a9 cmpb $44, %dl + 0x0f, 0x84, 0xa9, 0x08, 0x00, 0x00, //0x000044ac je LBB0_938 + 0x80, 0xfa, 0x7d, //0x000044b2 cmpb $125, %dl + 0x0f, 0x84, 0xa0, 0x08, 0x00, 0x00, //0x000044b5 je LBB0_938 + 0x80, 0xfa, 0x5d, //0x000044bb cmpb $93, %dl + 0x0f, 0x84, 0x97, 0x08, 0x00, 0x00, //0x000044be je LBB0_938 + 0x48, 0xff, 0xc7, //0x000044c4 incq %rdi + 0x48, 0xff, 0xc9, //0x000044c7 decq %rcx + 0x0f, 0x85, 0xd6, 0xff, 0xff, 0xff, //0x000044ca jne LBB0_852 + 0x48, 0x89, 0xc7, //0x000044d0 movq %rax, %rdi + //0x000044d3 LBB0_857 + 0x4c, 0x29, 0xdf, //0x000044d3 subq %r11, %rdi + 0x48, 0x8b, 0x44, 0x24, 0x18, //0x000044d6 movq $24(%rsp), %rax + 0x48, 0x89, 0x38, //0x000044db movq %rdi, (%rax) + 0x4d, 0x89, 0xe5, //0x000044de movq %r12, %r13 + 0xe9, 0xa8, 0xfe, 0xff, 0xff, //0x000044e1 jmp LBB0_839 + //0x000044e6 LBB0_858 + 0x0f, 0xb7, 0xc0, //0x000044e6 movzwl %ax, %eax + 0x48, 0x0f, 0xbc, 0xc0, //0x000044e9 bsfq %rax, %rax + 0x4c, 0x29, 0xdf, //0x000044ed subq %r11, %rdi + 0x48, 0x01, 0xc7, //0x000044f0 addq %rax, %rdi + //0x000044f3 LBB0_859 + 0x49, 0x89, 0x38, //0x000044f3 movq %rdi, (%r8) + 0x4d, 0x89, 0xe5, //0x000044f6 movq %r12, %r13 + 0xe9, 0x90, 0xfe, 0xff, 0xff, //0x000044f9 jmp LBB0_839 + //0x000044fe LBB0_942 + 0x49, 0xc7, 0xc5, 0xf9, 0xff, 0xff, 0xff, //0x000044fe movq $-7, %r13 + 0xe9, 0x84, 0xfe, 0xff, 0xff, //0x00004505 jmp LBB0_839 + //0x0000450a LBB0_861 + 0x49, 0x83, 0xfa, 0xff, //0x0000450a cmpq $-1, %r10 + 0x0f, 0x85, 0x0a, 0x00, 0x00, 0x00, //0x0000450e jne LBB0_863 + //0x00004514 LBB0_862 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00004514 movq $-1, %r10 + 0x49, 0x89, 0xc4, //0x0000451b movq %rax, %r12 + //0x0000451e LBB0_863 + 0x4d, 0x89, 0x20, //0x0000451e movq %r12, (%r8) + 0x4d, 0x89, 0xd5, //0x00004521 movq %r10, %r13 + 0xe9, 0x65, 0xfe, 0xff, 0xff, //0x00004524 jmp LBB0_839 + //0x00004529 LBB0_864 + 0x49, 0x8d, 0x44, 0x24, 0x04, //0x00004529 leaq $4(%r12), %rax + 0xe9, 0x5e, 0x04, 0x00, 0x00, //0x0000452e jmp LBB0_903 + //0x00004533 LBB0_865 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00004533 movq $-1, %rax + 0xe9, 0xe2, 0x07, 0x00, 0x00, //0x0000453a jmp LBB0_931 + //0x0000453f LBB0_866 + 0x4d, 0x89, 0x20, //0x0000453f movq %r12, (%r8) + 0xe9, 0x40, 0xfe, 0xff, 0xff, //0x00004542 jmp LBB0_838 + //0x00004547 LBB0_867 + 0x48, 0x8b, 0x44, 0x24, 0x28, //0x00004547 movq $40(%rsp), %rax + 0x4c, 0x8b, 0x40, 0x08, //0x0000454c movq $8(%rax), %r8 + 0x4d, 0x89, 0xc6, //0x00004550 movq %r8, %r14 + 0x49, 0x29, 0xfe, //0x00004553 subq %rdi, %r14 + 0x49, 0x83, 0xfe, 0x20, //0x00004556 cmpq $32, %r14 + 0x0f, 0x8c, 0xf6, 0x09, 0x00, 0x00, //0x0000455a jl LBB0_961 + 0x41, 0xb9, 0xff, 0xff, 0xff, 0xff, //0x00004560 movl $4294967295, %r9d + 0x4f, 0x8d, 0x14, 0x23, //0x00004566 leaq (%r11,%r12), %r10 + 0x4d, 0x29, 0xe0, //0x0000456a subq %r12, %r8 + 0xbe, 0x1f, 0x00, 0x00, 0x00, //0x0000456d movl $31, %esi + 0x45, 0x31, 0xf6, //0x00004572 xorl %r14d, %r14d + 0xc5, 0xfa, 0x6f, 0x05, 0xb3, 0xba, 0xff, 0xff, //0x00004575 vmovdqu $-17741(%rip), %xmm0 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0xbb, 0xba, 0xff, 0xff, //0x0000457d vmovdqu $-17733(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0x45, 0x31, 0xff, //0x00004585 xorl %r15d, %r15d + 0xe9, 0x22, 0x00, 0x00, 0x00, //0x00004588 jmp LBB0_869 + //0x0000458d LBB0_872 + 0x45, 0x31, 0xff, //0x0000458d xorl %r15d, %r15d + 0x85, 0xff, //0x00004590 testl %edi, %edi + 0x0f, 0x85, 0x9e, 0x00, 0x00, 0x00, //0x00004592 jne LBB0_871 + //0x00004598 LBB0_873 + 0x49, 0x83, 0xc6, 0x20, //0x00004598 addq $32, %r14 + 0x49, 0x8d, 0x44, 0x30, 0xe0, //0x0000459c leaq $-32(%r8,%rsi), %rax + 0x48, 0x83, 0xc6, 0xe0, //0x000045a1 addq $-32, %rsi + 0x48, 0x83, 0xf8, 0x3f, //0x000045a5 cmpq $63, %rax + 0x0f, 0x8e, 0xf1, 0x08, 0x00, 0x00, //0x000045a9 jle LBB0_874 + //0x000045af LBB0_869 + 0xc4, 0x81, 0x7a, 0x6f, 0x54, 0x32, 0x01, //0x000045af vmovdqu $1(%r10,%r14), %xmm2 + 0xc4, 0x81, 0x7a, 0x6f, 0x5c, 0x32, 0x11, //0x000045b6 vmovdqu $17(%r10,%r14), %xmm3 + 0xc5, 0xe9, 0x74, 0xe0, //0x000045bd vpcmpeqb %xmm0, %xmm2, %xmm4 + 0xc5, 0xf9, 0xd7, 0xc4, //0x000045c1 vpmovmskb %xmm4, %eax + 0xc5, 0xe1, 0x74, 0xe0, //0x000045c5 vpcmpeqb %xmm0, %xmm3, %xmm4 + 0xc5, 0xf9, 0xd7, 0xfc, //0x000045c9 vpmovmskb %xmm4, %edi + 0x48, 0xc1, 0xe7, 0x10, //0x000045cd shlq $16, %rdi + 0x48, 0x09, 0xc7, //0x000045d1 orq %rax, %rdi + 0xc5, 0xe9, 0x74, 0xd1, //0x000045d4 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x000045d8 vpmovmskb %xmm2, %ebx + 0xc5, 0xe1, 0x74, 0xd1, //0x000045dc vpcmpeqb %xmm1, %xmm3, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x000045e0 vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe0, 0x10, //0x000045e4 shlq $16, %rax + 0x48, 0x09, 0xd8, //0x000045e8 orq %rbx, %rax + 0x48, 0x89, 0xc3, //0x000045eb movq %rax, %rbx + 0x4c, 0x09, 0xfb, //0x000045ee orq %r15, %rbx + 0x0f, 0x84, 0x96, 0xff, 0xff, 0xff, //0x000045f1 je LBB0_872 + 0x44, 0x89, 0xfb, //0x000045f7 movl %r15d, %ebx + 0x44, 0x31, 0xcb, //0x000045fa xorl %r9d, %ebx + 0x21, 0xd8, //0x000045fd andl %ebx, %eax + 0x8d, 0x1c, 0x00, //0x000045ff leal (%rax,%rax), %ebx + 0x44, 0x09, 0xfb, //0x00004602 orl %r15d, %ebx + 0x41, 0x8d, 0x91, 0xab, 0xaa, 0xaa, 0xaa, //0x00004605 leal $-1431655765(%r9), %edx + 0x31, 0xda, //0x0000460c xorl %ebx, %edx + 0x21, 0xc2, //0x0000460e andl %eax, %edx + 0x81, 0xe2, 0xaa, 0xaa, 0xaa, 0xaa, //0x00004610 andl $-1431655766, %edx + 0x45, 0x31, 0xff, //0x00004616 xorl %r15d, %r15d + 0x01, 0xc2, //0x00004619 addl %eax, %edx + 0x41, 0x0f, 0x92, 0xc7, //0x0000461b setb %r15b + 0x01, 0xd2, //0x0000461f addl %edx, %edx + 0x81, 0xf2, 0x55, 0x55, 0x55, 0x55, //0x00004621 xorl $1431655765, %edx + 0x21, 0xda, //0x00004627 andl %ebx, %edx + 0x44, 0x31, 0xca, //0x00004629 xorl %r9d, %edx + 0x21, 0xd7, //0x0000462c andl %edx, %edi + 0x85, 0xff, //0x0000462e testl %edi, %edi + 0x0f, 0x84, 0x62, 0xff, 0xff, 0xff, //0x00004630 je LBB0_873 + //0x00004636 LBB0_871 + 0x48, 0x0f, 0xbc, 0xc7, //0x00004636 bsfq %rdi, %rax + 0x49, 0x01, 0xc2, //0x0000463a addq %rax, %r10 + 0x4d, 0x01, 0xf2, //0x0000463d addq %r14, %r10 + 0x4d, 0x29, 0xda, //0x00004640 subq %r11, %r10 + 0x49, 0x83, 0xc2, 0x02, //0x00004643 addq $2, %r10 + 0x48, 0x8b, 0x44, 0x24, 0x18, //0x00004647 movq $24(%rsp), %rax + 0x4c, 0x89, 0x10, //0x0000464c movq %r10, (%rax) + 0x4d, 0x89, 0xe5, //0x0000464f movq %r12, %r13 + 0xe9, 0x37, 0xfd, 0xff, 0xff, //0x00004652 jmp LBB0_839 + //0x00004657 LBB0_878 + 0x48, 0x8b, 0x44, 0x24, 0x28, //0x00004657 movq $40(%rsp), %rax + 0x4c, 0x8b, 0x70, 0x08, //0x0000465c movq $8(%rax), %r14 + 0x49, 0x29, 0xfe, //0x00004660 subq %rdi, %r14 + 0x49, 0x01, 0xfb, //0x00004663 addq %rdi, %r11 + 0x45, 0x31, 0xc9, //0x00004666 xorl %r9d, %r9d + 0xc5, 0x7a, 0x6f, 0x15, 0xbf, 0xb9, 0xff, 0xff, //0x00004669 vmovdqu $-17985(%rip), %xmm10 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0xc7, 0xb9, 0xff, 0xff, //0x00004671 vmovdqu $-17977(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x31, 0x76, 0xc9, //0x00004679 vpcmpeqd %xmm9, %xmm9, %xmm9 + 0xc5, 0xfa, 0x6f, 0x1d, 0xda, 0xb9, 0xff, 0xff, //0x0000467e vmovdqu $-17958(%rip), %xmm3 /* LCPI0_6+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x25, 0xe2, 0xb9, 0xff, 0xff, //0x00004686 vmovdqu $-17950(%rip), %xmm4 /* LCPI0_7+0(%rip) */ + 0xc4, 0x41, 0x39, 0xef, 0xc0, //0x0000468e vpxor %xmm8, %xmm8, %xmm8 + 0x31, 0xc9, //0x00004693 xorl %ecx, %ecx + 0x45, 0x31, 0xff, //0x00004695 xorl %r15d, %r15d + 0x31, 0xdb, //0x00004698 xorl %ebx, %ebx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x0000469a jmp LBB0_880 + //0x0000469f LBB0_879 + 0x49, 0xc1, 0xf8, 0x3f, //0x0000469f sarq $63, %r8 + 0xf3, 0x48, 0x0f, 0xb8, 0xc7, //0x000046a3 popcntq %rdi, %rax + 0x49, 0x01, 0xc7, //0x000046a8 addq %rax, %r15 + 0x49, 0x83, 0xc3, 0x40, //0x000046ab addq $64, %r11 + 0x49, 0x83, 0xc6, 0xc0, //0x000046af addq $-64, %r14 + 0x4d, 0x89, 0xc1, //0x000046b3 movq %r8, %r9 + //0x000046b6 LBB0_880 + 0x49, 0x83, 0xfe, 0x40, //0x000046b6 cmpq $64, %r14 + 0x0f, 0x8c, 0x9d, 0x01, 0x00, 0x00, //0x000046ba jl LBB0_887 + //0x000046c0 LBB0_881 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x000046c0 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x000046c5 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x20, //0x000046cb vmovdqu $32(%r11), %xmm7 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x000046d1 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xa9, 0x74, 0xc2, //0x000046d7 vpcmpeqb %xmm2, %xmm10, %xmm0 + 0xc5, 0x79, 0xd7, 0xc0, //0x000046db vpmovmskb %xmm0, %r8d + 0xc5, 0xa9, 0x74, 0xc5, //0x000046df vpcmpeqb %xmm5, %xmm10, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x000046e3 vpmovmskb %xmm0, %edx + 0xc5, 0xa9, 0x74, 0xc7, //0x000046e7 vpcmpeqb %xmm7, %xmm10, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf8, //0x000046eb vpmovmskb %xmm0, %edi + 0xc5, 0xa9, 0x74, 0xc6, //0x000046ef vpcmpeqb %xmm6, %xmm10, %xmm0 + 0xc5, 0x79, 0xd7, 0xd0, //0x000046f3 vpmovmskb %xmm0, %r10d + 0x49, 0xc1, 0xe2, 0x30, //0x000046f7 shlq $48, %r10 + 0x48, 0xc1, 0xe7, 0x20, //0x000046fb shlq $32, %rdi + 0x48, 0xc1, 0xe2, 0x10, //0x000046ff shlq $16, %rdx + 0x49, 0x09, 0xd0, //0x00004703 orq %rdx, %r8 + 0x49, 0x09, 0xf8, //0x00004706 orq %rdi, %r8 + 0x4d, 0x09, 0xd0, //0x00004709 orq %r10, %r8 + 0xc5, 0xe9, 0x74, 0xc1, //0x0000470c vpcmpeqb %xmm1, %xmm2, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf8, //0x00004710 vpmovmskb %xmm0, %edi + 0xc5, 0xd1, 0x74, 0xc1, //0x00004714 vpcmpeqb %xmm1, %xmm5, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x00004718 vpmovmskb %xmm0, %edx + 0xc5, 0xc1, 0x74, 0xc1, //0x0000471c vpcmpeqb %xmm1, %xmm7, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x00004720 vpmovmskb %xmm0, %eax + 0xc5, 0xc9, 0x74, 0xc1, //0x00004724 vpcmpeqb %xmm1, %xmm6, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf0, //0x00004728 vpmovmskb %xmm0, %esi + 0x48, 0xc1, 0xe6, 0x30, //0x0000472c shlq $48, %rsi + 0x48, 0xc1, 0xe0, 0x20, //0x00004730 shlq $32, %rax + 0x48, 0xc1, 0xe2, 0x10, //0x00004734 shlq $16, %rdx + 0x48, 0x09, 0xd7, //0x00004738 orq %rdx, %rdi + 0x48, 0x09, 0xc7, //0x0000473b orq %rax, %rdi + 0x48, 0x09, 0xf7, //0x0000473e orq %rsi, %rdi + 0x48, 0x89, 0xf8, //0x00004741 movq %rdi, %rax + 0x48, 0x09, 0xc8, //0x00004744 orq %rcx, %rax + 0x0f, 0x84, 0x49, 0x00, 0x00, 0x00, //0x00004747 je LBB0_883 + 0x48, 0x89, 0xc8, //0x0000474d movq %rcx, %rax + 0x48, 0xf7, 0xd0, //0x00004750 notq %rax + 0x48, 0x21, 0xf8, //0x00004753 andq %rdi, %rax + 0x48, 0x8d, 0x14, 0x00, //0x00004756 leaq (%rax,%rax), %rdx + 0x48, 0x09, 0xca, //0x0000475a orq %rcx, %rdx + 0x48, 0x89, 0xd6, //0x0000475d movq %rdx, %rsi + 0x48, 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00004760 movabsq $-6148914691236517206, %rcx + 0x48, 0x31, 0xce, //0x0000476a xorq %rcx, %rsi + 0x48, 0x21, 0xcf, //0x0000476d andq %rcx, %rdi + 0x48, 0x21, 0xf7, //0x00004770 andq %rsi, %rdi + 0x31, 0xc9, //0x00004773 xorl %ecx, %ecx + 0x48, 0x01, 0xc7, //0x00004775 addq %rax, %rdi + 0x0f, 0x92, 0xc1, //0x00004778 setb %cl + 0x48, 0x01, 0xff, //0x0000477b addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x0000477e movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00004788 xorq %rax, %rdi + 0x48, 0x21, 0xd7, //0x0000478b andq %rdx, %rdi + 0x48, 0xf7, 0xd7, //0x0000478e notq %rdi + 0xe9, 0x09, 0x00, 0x00, 0x00, //0x00004791 jmp LBB0_884 + //0x00004796 LBB0_883 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00004796 movq $-1, %rdi + 0x31, 0xc9, //0x0000479d xorl %ecx, %ecx + //0x0000479f LBB0_884 + 0x4c, 0x21, 0xc7, //0x0000479f andq %r8, %rdi + 0xc4, 0xe1, 0xf9, 0x6e, 0xc7, //0x000047a2 vmovq %rdi, %xmm0 + 0xc4, 0xc3, 0x79, 0x44, 0xc1, 0x00, //0x000047a7 vpclmulqdq $0, %xmm9, %xmm0, %xmm0 + 0xc4, 0xc1, 0xf9, 0x7e, 0xc0, //0x000047ad vmovq %xmm0, %r8 + 0x4d, 0x31, 0xc8, //0x000047b2 xorq %r9, %r8 + 0xc5, 0xe9, 0x74, 0xc3, //0x000047b5 vpcmpeqb %xmm3, %xmm2, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf8, //0x000047b9 vpmovmskb %xmm0, %edi + 0xc5, 0xd1, 0x74, 0xc3, //0x000047bd vpcmpeqb %xmm3, %xmm5, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x000047c1 vpmovmskb %xmm0, %eax + 0xc5, 0xc1, 0x74, 0xc3, //0x000047c5 vpcmpeqb %xmm3, %xmm7, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x000047c9 vpmovmskb %xmm0, %edx + 0xc5, 0xc9, 0x74, 0xc3, //0x000047cd vpcmpeqb %xmm3, %xmm6, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf0, //0x000047d1 vpmovmskb %xmm0, %esi + 0x48, 0xc1, 0xe6, 0x30, //0x000047d5 shlq $48, %rsi + 0x48, 0xc1, 0xe2, 0x20, //0x000047d9 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x000047dd shlq $16, %rax + 0x48, 0x09, 0xc7, //0x000047e1 orq %rax, %rdi + 0x48, 0x09, 0xd7, //0x000047e4 orq %rdx, %rdi + 0x48, 0x09, 0xf7, //0x000047e7 orq %rsi, %rdi + 0x4d, 0x89, 0xc1, //0x000047ea movq %r8, %r9 + 0x49, 0xf7, 0xd1, //0x000047ed notq %r9 + 0x4c, 0x21, 0xcf, //0x000047f0 andq %r9, %rdi + 0xc5, 0xe9, 0x74, 0xc4, //0x000047f3 vpcmpeqb %xmm4, %xmm2, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x000047f7 vpmovmskb %xmm0, %edx + 0xc5, 0xd1, 0x74, 0xc4, //0x000047fb vpcmpeqb %xmm4, %xmm5, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf0, //0x000047ff vpmovmskb %xmm0, %esi + 0xc5, 0xc1, 0x74, 0xc4, //0x00004803 vpcmpeqb %xmm4, %xmm7, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x00004807 vpmovmskb %xmm0, %eax + 0xc5, 0xc9, 0x74, 0xc4, //0x0000480b vpcmpeqb %xmm4, %xmm6, %xmm0 + 0xc5, 0x79, 0xd7, 0xd0, //0x0000480f vpmovmskb %xmm0, %r10d + 0x49, 0xc1, 0xe2, 0x30, //0x00004813 shlq $48, %r10 + 0x48, 0xc1, 0xe0, 0x20, //0x00004817 shlq $32, %rax + 0x48, 0xc1, 0xe6, 0x10, //0x0000481b shlq $16, %rsi + 0x48, 0x09, 0xf2, //0x0000481f orq %rsi, %rdx + 0x48, 0x09, 0xc2, //0x00004822 orq %rax, %rdx + 0x4c, 0x09, 0xd2, //0x00004825 orq %r10, %rdx + 0x4c, 0x21, 0xca, //0x00004828 andq %r9, %rdx + 0x0f, 0x84, 0x6e, 0xfe, 0xff, 0xff, //0x0000482b je LBB0_879 + //0x00004831 LBB0_885 + 0x48, 0x8d, 0x42, 0xff, //0x00004831 leaq $-1(%rdx), %rax + 0x48, 0x89, 0xc6, //0x00004835 movq %rax, %rsi + 0x48, 0x21, 0xfe, //0x00004838 andq %rdi, %rsi + 0xf3, 0x48, 0x0f, 0xb8, 0xf6, //0x0000483b popcntq %rsi, %rsi + 0x4c, 0x01, 0xfe, //0x00004840 addq %r15, %rsi + 0x48, 0x39, 0xde, //0x00004843 cmpq %rbx, %rsi + 0x0f, 0x86, 0x94, 0x04, 0x00, 0x00, //0x00004846 jbe LBB0_929 + 0x48, 0xff, 0xc3, //0x0000484c incq %rbx + 0x48, 0x21, 0xc2, //0x0000484f andq %rax, %rdx + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00004852 jne LBB0_885 + 0xe9, 0x42, 0xfe, 0xff, 0xff, //0x00004858 jmp LBB0_879 + //0x0000485d LBB0_887 + 0x4d, 0x85, 0xf6, //0x0000485d testq %r14, %r14 + 0x0f, 0x8e, 0xf8, 0x06, 0x00, 0x00, //0x00004860 jle LBB0_962 + 0xc5, 0x7e, 0x7f, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, //0x00004866 vmovdqu %ymm8, $128(%rsp) + 0xc5, 0x7e, 0x7f, 0x44, 0x24, 0x60, //0x0000486f vmovdqu %ymm8, $96(%rsp) + 0x44, 0x89, 0xd8, //0x00004875 movl %r11d, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00004878 andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x0000487d cmpl $4033, %eax + 0x0f, 0x82, 0x38, 0xfe, 0xff, 0xff, //0x00004882 jb LBB0_881 + 0x49, 0x83, 0xfe, 0x20, //0x00004888 cmpq $32, %r14 + 0x0f, 0x82, 0x2c, 0x00, 0x00, 0x00, //0x0000488c jb LBB0_891 + 0xc4, 0xc1, 0x78, 0x10, 0x03, //0x00004892 vmovups (%r11), %xmm0 + 0xc5, 0xf8, 0x11, 0x44, 0x24, 0x60, //0x00004897 vmovups %xmm0, $96(%rsp) + 0xc4, 0xc1, 0x7a, 0x6f, 0x43, 0x10, //0x0000489d vmovdqu $16(%r11), %xmm0 + 0xc5, 0xfa, 0x7f, 0x44, 0x24, 0x70, //0x000048a3 vmovdqu %xmm0, $112(%rsp) + 0x49, 0x83, 0xc3, 0x20, //0x000048a9 addq $32, %r11 + 0x49, 0x8d, 0x7e, 0xe0, //0x000048ad leaq $-32(%r14), %rdi + 0x48, 0x8d, 0xb4, 0x24, 0x80, 0x00, 0x00, 0x00, //0x000048b1 leaq $128(%rsp), %rsi + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x000048b9 jmp LBB0_892 + //0x000048be LBB0_891 + 0x48, 0x8d, 0x74, 0x24, 0x60, //0x000048be leaq $96(%rsp), %rsi + 0x4c, 0x89, 0xf7, //0x000048c3 movq %r14, %rdi + //0x000048c6 LBB0_892 + 0x48, 0x83, 0xff, 0x10, //0x000048c6 cmpq $16, %rdi + 0x0f, 0x82, 0x5a, 0x00, 0x00, 0x00, //0x000048ca jb LBB0_893 + 0xc4, 0xc1, 0x7a, 0x6f, 0x03, //0x000048d0 vmovdqu (%r11), %xmm0 + 0xc5, 0xfa, 0x7f, 0x06, //0x000048d5 vmovdqu %xmm0, (%rsi) + 0x49, 0x83, 0xc3, 0x10, //0x000048d9 addq $16, %r11 + 0x48, 0x83, 0xc6, 0x10, //0x000048dd addq $16, %rsi + 0x48, 0x83, 0xc7, 0xf0, //0x000048e1 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x000048e5 cmpq $8, %rdi + 0x0f, 0x83, 0x45, 0x00, 0x00, 0x00, //0x000048e9 jae LBB0_898 + //0x000048ef LBB0_894 + 0x48, 0x83, 0xff, 0x04, //0x000048ef cmpq $4, %rdi + 0x0f, 0x8c, 0x57, 0x00, 0x00, 0x00, //0x000048f3 jl LBB0_895 + //0x000048f9 LBB0_899 + 0x41, 0x8b, 0x03, //0x000048f9 movl (%r11), %eax + 0x89, 0x06, //0x000048fc movl %eax, (%rsi) + 0x49, 0x83, 0xc3, 0x04, //0x000048fe addq $4, %r11 + 0x48, 0x83, 0xc6, 0x04, //0x00004902 addq $4, %rsi + 0x48, 0x83, 0xc7, 0xfc, //0x00004906 addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x0000490a cmpq $2, %rdi + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x0000490e jae LBB0_900 + //0x00004914 LBB0_896 + 0x4c, 0x89, 0xda, //0x00004914 movq %r11, %rdx + 0x4c, 0x8d, 0x5c, 0x24, 0x60, //0x00004917 leaq $96(%rsp), %r11 + 0x48, 0x85, 0xff, //0x0000491c testq %rdi, %rdi + 0x0f, 0x85, 0x59, 0x00, 0x00, 0x00, //0x0000491f jne LBB0_901 + 0xe9, 0x96, 0xfd, 0xff, 0xff, //0x00004925 jmp LBB0_881 + //0x0000492a LBB0_893 + 0x48, 0x83, 0xff, 0x08, //0x0000492a cmpq $8, %rdi + 0x0f, 0x82, 0xbb, 0xff, 0xff, 0xff, //0x0000492e jb LBB0_894 + //0x00004934 LBB0_898 + 0x49, 0x8b, 0x03, //0x00004934 movq (%r11), %rax + 0x48, 0x89, 0x06, //0x00004937 movq %rax, (%rsi) + 0x49, 0x83, 0xc3, 0x08, //0x0000493a addq $8, %r11 + 0x48, 0x83, 0xc6, 0x08, //0x0000493e addq $8, %rsi + 0x48, 0x83, 0xc7, 0xf8, //0x00004942 addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x00004946 cmpq $4, %rdi + 0x0f, 0x8d, 0xa9, 0xff, 0xff, 0xff, //0x0000494a jge LBB0_899 + //0x00004950 LBB0_895 + 0x48, 0x83, 0xff, 0x02, //0x00004950 cmpq $2, %rdi + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x00004954 jb LBB0_896 + //0x0000495a LBB0_900 + 0x41, 0x0f, 0xb7, 0x03, //0x0000495a movzwl (%r11), %eax + 0x66, 0x89, 0x06, //0x0000495e movw %ax, (%rsi) + 0x49, 0x83, 0xc3, 0x02, //0x00004961 addq $2, %r11 + 0x48, 0x83, 0xc6, 0x02, //0x00004965 addq $2, %rsi + 0x48, 0x83, 0xc7, 0xfe, //0x00004969 addq $-2, %rdi + 0x4c, 0x89, 0xda, //0x0000496d movq %r11, %rdx + 0x4c, 0x8d, 0x5c, 0x24, 0x60, //0x00004970 leaq $96(%rsp), %r11 + 0x48, 0x85, 0xff, //0x00004975 testq %rdi, %rdi + 0x0f, 0x84, 0x42, 0xfd, 0xff, 0xff, //0x00004978 je LBB0_881 + //0x0000497e LBB0_901 + 0x8a, 0x02, //0x0000497e movb (%rdx), %al + 0x88, 0x06, //0x00004980 movb %al, (%rsi) + 0x4c, 0x8d, 0x5c, 0x24, 0x60, //0x00004982 leaq $96(%rsp), %r11 + 0xe9, 0x34, 0xfd, 0xff, 0xff, //0x00004987 jmp LBB0_881 + //0x0000498c LBB0_902 + 0x49, 0x8d, 0x44, 0x24, 0x05, //0x0000498c leaq $5(%r12), %rax + //0x00004991 LBB0_903 + 0x48, 0x8b, 0x54, 0x24, 0x28, //0x00004991 movq $40(%rsp), %rdx + 0x48, 0x3b, 0x42, 0x08, //0x00004996 cmpq $8(%rdx), %rax + 0x0f, 0x87, 0xee, 0xf9, 0xff, 0xff, //0x0000499a ja LBB0_839 + 0x49, 0x89, 0x00, //0x000049a0 movq %rax, (%r8) + 0x4d, 0x89, 0xe5, //0x000049a3 movq %r12, %r13 + 0xe9, 0xe3, 0xf9, 0xff, 0xff, //0x000049a6 jmp LBB0_839 + //0x000049ab LBB0_905 + 0x48, 0x8b, 0x44, 0x24, 0x28, //0x000049ab movq $40(%rsp), %rax + 0x4c, 0x8b, 0x70, 0x08, //0x000049b0 movq $8(%rax), %r14 + 0x49, 0x29, 0xfe, //0x000049b4 subq %rdi, %r14 + 0x49, 0x01, 0xfb, //0x000049b7 addq %rdi, %r11 + 0x45, 0x31, 0xc9, //0x000049ba xorl %r9d, %r9d + 0xc5, 0x7a, 0x6f, 0x15, 0x6b, 0xb6, 0xff, 0xff, //0x000049bd vmovdqu $-18837(%rip), %xmm10 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0x73, 0xb6, 0xff, 0xff, //0x000049c5 vmovdqu $-18829(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x31, 0x76, 0xc9, //0x000049cd vpcmpeqd %xmm9, %xmm9, %xmm9 + 0xc5, 0xfa, 0x6f, 0x1d, 0x76, 0xb6, 0xff, 0xff, //0x000049d2 vmovdqu $-18826(%rip), %xmm3 /* LCPI0_5+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x25, 0x3e, 0xb6, 0xff, 0xff, //0x000049da vmovdqu $-18882(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc4, 0x41, 0x39, 0xef, 0xc0, //0x000049e2 vpxor %xmm8, %xmm8, %xmm8 + 0x31, 0xc9, //0x000049e7 xorl %ecx, %ecx + 0x45, 0x31, 0xff, //0x000049e9 xorl %r15d, %r15d + 0x31, 0xdb, //0x000049ec xorl %ebx, %ebx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x000049ee jmp LBB0_907 + //0x000049f3 LBB0_906 + 0x49, 0xc1, 0xf8, 0x3f, //0x000049f3 sarq $63, %r8 + 0xf3, 0x48, 0x0f, 0xb8, 0xc7, //0x000049f7 popcntq %rdi, %rax + 0x49, 0x01, 0xc7, //0x000049fc addq %rax, %r15 + 0x49, 0x83, 0xc3, 0x40, //0x000049ff addq $64, %r11 + 0x49, 0x83, 0xc6, 0xc0, //0x00004a03 addq $-64, %r14 + 0x4d, 0x89, 0xc1, //0x00004a07 movq %r8, %r9 + //0x00004a0a LBB0_907 + 0x49, 0x83, 0xfe, 0x40, //0x00004a0a cmpq $64, %r14 + 0x0f, 0x8c, 0x9d, 0x01, 0x00, 0x00, //0x00004a0e jl LBB0_914 + //0x00004a14 LBB0_908 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00004a14 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x00004a19 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x20, //0x00004a1f vmovdqu $32(%r11), %xmm7 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00004a25 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xa9, 0x74, 0xc2, //0x00004a2b vpcmpeqb %xmm2, %xmm10, %xmm0 + 0xc5, 0x79, 0xd7, 0xc0, //0x00004a2f vpmovmskb %xmm0, %r8d + 0xc5, 0xa9, 0x74, 0xc5, //0x00004a33 vpcmpeqb %xmm5, %xmm10, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x00004a37 vpmovmskb %xmm0, %edx + 0xc5, 0xa9, 0x74, 0xc7, //0x00004a3b vpcmpeqb %xmm7, %xmm10, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf8, //0x00004a3f vpmovmskb %xmm0, %edi + 0xc5, 0xa9, 0x74, 0xc6, //0x00004a43 vpcmpeqb %xmm6, %xmm10, %xmm0 + 0xc5, 0x79, 0xd7, 0xd0, //0x00004a47 vpmovmskb %xmm0, %r10d + 0x49, 0xc1, 0xe2, 0x30, //0x00004a4b shlq $48, %r10 + 0x48, 0xc1, 0xe7, 0x20, //0x00004a4f shlq $32, %rdi + 0x48, 0xc1, 0xe2, 0x10, //0x00004a53 shlq $16, %rdx + 0x49, 0x09, 0xd0, //0x00004a57 orq %rdx, %r8 + 0x49, 0x09, 0xf8, //0x00004a5a orq %rdi, %r8 + 0x4d, 0x09, 0xd0, //0x00004a5d orq %r10, %r8 + 0xc5, 0xe9, 0x74, 0xc1, //0x00004a60 vpcmpeqb %xmm1, %xmm2, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf8, //0x00004a64 vpmovmskb %xmm0, %edi + 0xc5, 0xd1, 0x74, 0xc1, //0x00004a68 vpcmpeqb %xmm1, %xmm5, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x00004a6c vpmovmskb %xmm0, %edx + 0xc5, 0xc1, 0x74, 0xc1, //0x00004a70 vpcmpeqb %xmm1, %xmm7, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x00004a74 vpmovmskb %xmm0, %eax + 0xc5, 0xc9, 0x74, 0xc1, //0x00004a78 vpcmpeqb %xmm1, %xmm6, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf0, //0x00004a7c vpmovmskb %xmm0, %esi + 0x48, 0xc1, 0xe6, 0x30, //0x00004a80 shlq $48, %rsi + 0x48, 0xc1, 0xe0, 0x20, //0x00004a84 shlq $32, %rax + 0x48, 0xc1, 0xe2, 0x10, //0x00004a88 shlq $16, %rdx + 0x48, 0x09, 0xd7, //0x00004a8c orq %rdx, %rdi + 0x48, 0x09, 0xc7, //0x00004a8f orq %rax, %rdi + 0x48, 0x09, 0xf7, //0x00004a92 orq %rsi, %rdi + 0x48, 0x89, 0xf8, //0x00004a95 movq %rdi, %rax + 0x48, 0x09, 0xc8, //0x00004a98 orq %rcx, %rax + 0x0f, 0x84, 0x49, 0x00, 0x00, 0x00, //0x00004a9b je LBB0_910 + 0x48, 0x89, 0xc8, //0x00004aa1 movq %rcx, %rax + 0x48, 0xf7, 0xd0, //0x00004aa4 notq %rax + 0x48, 0x21, 0xf8, //0x00004aa7 andq %rdi, %rax + 0x48, 0x8d, 0x14, 0x00, //0x00004aaa leaq (%rax,%rax), %rdx + 0x48, 0x09, 0xca, //0x00004aae orq %rcx, %rdx + 0x48, 0x89, 0xd6, //0x00004ab1 movq %rdx, %rsi + 0x48, 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00004ab4 movabsq $-6148914691236517206, %rcx + 0x48, 0x31, 0xce, //0x00004abe xorq %rcx, %rsi + 0x48, 0x21, 0xcf, //0x00004ac1 andq %rcx, %rdi + 0x48, 0x21, 0xf7, //0x00004ac4 andq %rsi, %rdi + 0x31, 0xc9, //0x00004ac7 xorl %ecx, %ecx + 0x48, 0x01, 0xc7, //0x00004ac9 addq %rax, %rdi + 0x0f, 0x92, 0xc1, //0x00004acc setb %cl + 0x48, 0x01, 0xff, //0x00004acf addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00004ad2 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00004adc xorq %rax, %rdi + 0x48, 0x21, 0xd7, //0x00004adf andq %rdx, %rdi + 0x48, 0xf7, 0xd7, //0x00004ae2 notq %rdi + 0xe9, 0x09, 0x00, 0x00, 0x00, //0x00004ae5 jmp LBB0_911 + //0x00004aea LBB0_910 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00004aea movq $-1, %rdi + 0x31, 0xc9, //0x00004af1 xorl %ecx, %ecx + //0x00004af3 LBB0_911 + 0x4c, 0x21, 0xc7, //0x00004af3 andq %r8, %rdi + 0xc4, 0xe1, 0xf9, 0x6e, 0xc7, //0x00004af6 vmovq %rdi, %xmm0 + 0xc4, 0xc3, 0x79, 0x44, 0xc1, 0x00, //0x00004afb vpclmulqdq $0, %xmm9, %xmm0, %xmm0 + 0xc4, 0xc1, 0xf9, 0x7e, 0xc0, //0x00004b01 vmovq %xmm0, %r8 + 0x4d, 0x31, 0xc8, //0x00004b06 xorq %r9, %r8 + 0xc5, 0xe9, 0x74, 0xc3, //0x00004b09 vpcmpeqb %xmm3, %xmm2, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf8, //0x00004b0d vpmovmskb %xmm0, %edi + 0xc5, 0xd1, 0x74, 0xc3, //0x00004b11 vpcmpeqb %xmm3, %xmm5, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x00004b15 vpmovmskb %xmm0, %eax + 0xc5, 0xc1, 0x74, 0xc3, //0x00004b19 vpcmpeqb %xmm3, %xmm7, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x00004b1d vpmovmskb %xmm0, %edx + 0xc5, 0xc9, 0x74, 0xc3, //0x00004b21 vpcmpeqb %xmm3, %xmm6, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf0, //0x00004b25 vpmovmskb %xmm0, %esi + 0x48, 0xc1, 0xe6, 0x30, //0x00004b29 shlq $48, %rsi + 0x48, 0xc1, 0xe2, 0x20, //0x00004b2d shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00004b31 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00004b35 orq %rax, %rdi + 0x48, 0x09, 0xd7, //0x00004b38 orq %rdx, %rdi + 0x48, 0x09, 0xf7, //0x00004b3b orq %rsi, %rdi + 0x4d, 0x89, 0xc1, //0x00004b3e movq %r8, %r9 + 0x49, 0xf7, 0xd1, //0x00004b41 notq %r9 + 0x4c, 0x21, 0xcf, //0x00004b44 andq %r9, %rdi + 0xc5, 0xe9, 0x74, 0xc4, //0x00004b47 vpcmpeqb %xmm4, %xmm2, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x00004b4b vpmovmskb %xmm0, %edx + 0xc5, 0xd1, 0x74, 0xc4, //0x00004b4f vpcmpeqb %xmm4, %xmm5, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf0, //0x00004b53 vpmovmskb %xmm0, %esi + 0xc5, 0xc1, 0x74, 0xc4, //0x00004b57 vpcmpeqb %xmm4, %xmm7, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x00004b5b vpmovmskb %xmm0, %eax + 0xc5, 0xc9, 0x74, 0xc4, //0x00004b5f vpcmpeqb %xmm4, %xmm6, %xmm0 + 0xc5, 0x79, 0xd7, 0xd0, //0x00004b63 vpmovmskb %xmm0, %r10d + 0x49, 0xc1, 0xe2, 0x30, //0x00004b67 shlq $48, %r10 + 0x48, 0xc1, 0xe0, 0x20, //0x00004b6b shlq $32, %rax + 0x48, 0xc1, 0xe6, 0x10, //0x00004b6f shlq $16, %rsi + 0x48, 0x09, 0xf2, //0x00004b73 orq %rsi, %rdx + 0x48, 0x09, 0xc2, //0x00004b76 orq %rax, %rdx + 0x4c, 0x09, 0xd2, //0x00004b79 orq %r10, %rdx + 0x4c, 0x21, 0xca, //0x00004b7c andq %r9, %rdx + 0x0f, 0x84, 0x6e, 0xfe, 0xff, 0xff, //0x00004b7f je LBB0_906 + //0x00004b85 LBB0_912 + 0x48, 0x8d, 0x42, 0xff, //0x00004b85 leaq $-1(%rdx), %rax + 0x48, 0x89, 0xc6, //0x00004b89 movq %rax, %rsi + 0x48, 0x21, 0xfe, //0x00004b8c andq %rdi, %rsi + 0xf3, 0x48, 0x0f, 0xb8, 0xf6, //0x00004b8f popcntq %rsi, %rsi + 0x4c, 0x01, 0xfe, //0x00004b94 addq %r15, %rsi + 0x48, 0x39, 0xde, //0x00004b97 cmpq %rbx, %rsi + 0x0f, 0x86, 0x40, 0x01, 0x00, 0x00, //0x00004b9a jbe LBB0_929 + 0x48, 0xff, 0xc3, //0x00004ba0 incq %rbx + 0x48, 0x21, 0xc2, //0x00004ba3 andq %rax, %rdx + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00004ba6 jne LBB0_912 + 0xe9, 0x42, 0xfe, 0xff, 0xff, //0x00004bac jmp LBB0_906 + //0x00004bb1 LBB0_914 + 0x4d, 0x85, 0xf6, //0x00004bb1 testq %r14, %r14 + 0x0f, 0x8e, 0xa4, 0x03, 0x00, 0x00, //0x00004bb4 jle LBB0_962 + 0xc5, 0x7e, 0x7f, 0x84, 0x24, 0x80, 0x00, 0x00, 0x00, //0x00004bba vmovdqu %ymm8, $128(%rsp) + 0xc5, 0x7e, 0x7f, 0x44, 0x24, 0x60, //0x00004bc3 vmovdqu %ymm8, $96(%rsp) + 0x44, 0x89, 0xd8, //0x00004bc9 movl %r11d, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00004bcc andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x00004bd1 cmpl $4033, %eax + 0x0f, 0x82, 0x38, 0xfe, 0xff, 0xff, //0x00004bd6 jb LBB0_908 + 0x49, 0x83, 0xfe, 0x20, //0x00004bdc cmpq $32, %r14 + 0x0f, 0x82, 0x2c, 0x00, 0x00, 0x00, //0x00004be0 jb LBB0_918 + 0xc4, 0xc1, 0x78, 0x10, 0x03, //0x00004be6 vmovups (%r11), %xmm0 + 0xc5, 0xf8, 0x11, 0x44, 0x24, 0x60, //0x00004beb vmovups %xmm0, $96(%rsp) + 0xc4, 0xc1, 0x7a, 0x6f, 0x43, 0x10, //0x00004bf1 vmovdqu $16(%r11), %xmm0 + 0xc5, 0xfa, 0x7f, 0x44, 0x24, 0x70, //0x00004bf7 vmovdqu %xmm0, $112(%rsp) + 0x49, 0x83, 0xc3, 0x20, //0x00004bfd addq $32, %r11 + 0x49, 0x8d, 0x7e, 0xe0, //0x00004c01 leaq $-32(%r14), %rdi + 0x48, 0x8d, 0xb4, 0x24, 0x80, 0x00, 0x00, 0x00, //0x00004c05 leaq $128(%rsp), %rsi + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x00004c0d jmp LBB0_919 + //0x00004c12 LBB0_918 + 0x48, 0x8d, 0x74, 0x24, 0x60, //0x00004c12 leaq $96(%rsp), %rsi + 0x4c, 0x89, 0xf7, //0x00004c17 movq %r14, %rdi + //0x00004c1a LBB0_919 + 0x48, 0x83, 0xff, 0x10, //0x00004c1a cmpq $16, %rdi + 0x0f, 0x82, 0x5a, 0x00, 0x00, 0x00, //0x00004c1e jb LBB0_920 + 0xc4, 0xc1, 0x7a, 0x6f, 0x03, //0x00004c24 vmovdqu (%r11), %xmm0 + 0xc5, 0xfa, 0x7f, 0x06, //0x00004c29 vmovdqu %xmm0, (%rsi) + 0x49, 0x83, 0xc3, 0x10, //0x00004c2d addq $16, %r11 + 0x48, 0x83, 0xc6, 0x10, //0x00004c31 addq $16, %rsi + 0x48, 0x83, 0xc7, 0xf0, //0x00004c35 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x00004c39 cmpq $8, %rdi + 0x0f, 0x83, 0x45, 0x00, 0x00, 0x00, //0x00004c3d jae LBB0_925 + //0x00004c43 LBB0_921 + 0x48, 0x83, 0xff, 0x04, //0x00004c43 cmpq $4, %rdi + 0x0f, 0x8c, 0x57, 0x00, 0x00, 0x00, //0x00004c47 jl LBB0_922 + //0x00004c4d LBB0_926 + 0x41, 0x8b, 0x03, //0x00004c4d movl (%r11), %eax + 0x89, 0x06, //0x00004c50 movl %eax, (%rsi) + 0x49, 0x83, 0xc3, 0x04, //0x00004c52 addq $4, %r11 + 0x48, 0x83, 0xc6, 0x04, //0x00004c56 addq $4, %rsi + 0x48, 0x83, 0xc7, 0xfc, //0x00004c5a addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x00004c5e cmpq $2, %rdi + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x00004c62 jae LBB0_927 + //0x00004c68 LBB0_923 + 0x4c, 0x89, 0xda, //0x00004c68 movq %r11, %rdx + 0x4c, 0x8d, 0x5c, 0x24, 0x60, //0x00004c6b leaq $96(%rsp), %r11 + 0x48, 0x85, 0xff, //0x00004c70 testq %rdi, %rdi + 0x0f, 0x85, 0x59, 0x00, 0x00, 0x00, //0x00004c73 jne LBB0_928 + 0xe9, 0x96, 0xfd, 0xff, 0xff, //0x00004c79 jmp LBB0_908 + //0x00004c7e LBB0_920 + 0x48, 0x83, 0xff, 0x08, //0x00004c7e cmpq $8, %rdi + 0x0f, 0x82, 0xbb, 0xff, 0xff, 0xff, //0x00004c82 jb LBB0_921 + //0x00004c88 LBB0_925 + 0x49, 0x8b, 0x03, //0x00004c88 movq (%r11), %rax + 0x48, 0x89, 0x06, //0x00004c8b movq %rax, (%rsi) + 0x49, 0x83, 0xc3, 0x08, //0x00004c8e addq $8, %r11 + 0x48, 0x83, 0xc6, 0x08, //0x00004c92 addq $8, %rsi + 0x48, 0x83, 0xc7, 0xf8, //0x00004c96 addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x00004c9a cmpq $4, %rdi + 0x0f, 0x8d, 0xa9, 0xff, 0xff, 0xff, //0x00004c9e jge LBB0_926 + //0x00004ca4 LBB0_922 + 0x48, 0x83, 0xff, 0x02, //0x00004ca4 cmpq $2, %rdi + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x00004ca8 jb LBB0_923 + //0x00004cae LBB0_927 + 0x41, 0x0f, 0xb7, 0x03, //0x00004cae movzwl (%r11), %eax + 0x66, 0x89, 0x06, //0x00004cb2 movw %ax, (%rsi) + 0x49, 0x83, 0xc3, 0x02, //0x00004cb5 addq $2, %r11 + 0x48, 0x83, 0xc6, 0x02, //0x00004cb9 addq $2, %rsi + 0x48, 0x83, 0xc7, 0xfe, //0x00004cbd addq $-2, %rdi + 0x4c, 0x89, 0xda, //0x00004cc1 movq %r11, %rdx + 0x4c, 0x8d, 0x5c, 0x24, 0x60, //0x00004cc4 leaq $96(%rsp), %r11 + 0x48, 0x85, 0xff, //0x00004cc9 testq %rdi, %rdi + 0x0f, 0x84, 0x42, 0xfd, 0xff, 0xff, //0x00004ccc je LBB0_908 + //0x00004cd2 LBB0_928 + 0x8a, 0x02, //0x00004cd2 movb (%rdx), %al + 0x88, 0x06, //0x00004cd4 movb %al, (%rsi) + 0x4c, 0x8d, 0x5c, 0x24, 0x60, //0x00004cd6 leaq $96(%rsp), %r11 + 0xe9, 0x34, 0xfd, 0xff, 0xff, //0x00004cdb jmp LBB0_908 + //0x00004ce0 LBB0_929 + 0x48, 0x8b, 0x74, 0x24, 0x28, //0x00004ce0 movq $40(%rsp), %rsi + 0x48, 0x8b, 0x46, 0x08, //0x00004ce5 movq $8(%rsi), %rax + 0x48, 0x0f, 0xbc, 0xca, //0x00004ce9 bsfq %rdx, %rcx + 0x4c, 0x29, 0xf1, //0x00004ced subq %r14, %rcx + 0x48, 0x8d, 0x44, 0x01, 0x01, //0x00004cf0 leaq $1(%rcx,%rax), %rax + 0x48, 0x8b, 0x54, 0x24, 0x18, //0x00004cf5 movq $24(%rsp), %rdx + 0x48, 0x89, 0x02, //0x00004cfa movq %rax, (%rdx) + 0x48, 0x8b, 0x4e, 0x08, //0x00004cfd movq $8(%rsi), %rcx + 0x48, 0x39, 0xc8, //0x00004d01 cmpq %rcx, %rax + 0x48, 0x0f, 0x47, 0xc1, //0x00004d04 cmovaq %rcx, %rax + 0x48, 0x89, 0x02, //0x00004d08 movq %rax, (%rdx) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00004d0b movq $-1, %rax + 0x4c, 0x0f, 0x47, 0xe0, //0x00004d12 cmovaq %rax, %r12 + 0x4d, 0x89, 0xe5, //0x00004d16 movq %r12, %r13 + 0xe9, 0x70, 0xf6, 0xff, 0xff, //0x00004d19 jmp LBB0_839 + //0x00004d1e LBB0_930 + 0x4c, 0x89, 0xf8, //0x00004d1e movq %r15, %rax + //0x00004d21 LBB0_931 + 0x48, 0xf7, 0xd0, //0x00004d21 notq %rax + 0x49, 0x01, 0xc1, //0x00004d24 addq %rax, %r9 + 0x4d, 0x89, 0x08, //0x00004d27 movq %r9, (%r8) + 0xe9, 0x58, 0xf6, 0xff, 0xff, //0x00004d2a jmp LBB0_838 + //0x00004d2f LBB0_941 + 0x49, 0x89, 0x00, //0x00004d2f movq %rax, (%r8) + 0xe9, 0x57, 0xf6, 0xff, 0xff, //0x00004d32 jmp LBB0_839 + //0x00004d37 LBB0_936 + 0x4c, 0x89, 0x94, 0x24, 0xb8, 0x00, 0x00, 0x00, //0x00004d37 movq %r10, $184(%rsp) + //0x00004d3f LBB0_937 + 0x48, 0x8b, 0x44, 0x24, 0x18, //0x00004d3f movq $24(%rsp), %rax + 0x48, 0x8b, 0x8c, 0x24, 0xb8, 0x00, 0x00, 0x00, //0x00004d44 movq $184(%rsp), %rcx + 0x48, 0x89, 0x08, //0x00004d4c movq %rcx, (%rax) + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00004d4f movq $-1, %r13 + 0xe9, 0x33, 0xf6, 0xff, 0xff, //0x00004d56 jmp LBB0_839 + //0x00004d5b LBB0_938 + 0x4c, 0x29, 0xdf, //0x00004d5b subq %r11, %rdi + 0xe9, 0x90, 0xf7, 0xff, 0xff, //0x00004d5e jmp LBB0_859 + //0x00004d63 LBB0_939 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00004d63 movq $-1, %r10 + //0x00004d6a LBB0_940 + 0x4d, 0x29, 0xd1, //0x00004d6a subq %r10, %r9 + 0x48, 0x8b, 0x44, 0x24, 0x18, //0x00004d6d movq $24(%rsp), %rax + 0x4c, 0x89, 0x08, //0x00004d72 movq %r9, (%rax) + 0xe9, 0x0d, 0xf6, 0xff, 0xff, //0x00004d75 jmp LBB0_838 + //0x00004d7a LBB0_943 + 0x49, 0xc7, 0xc5, 0xfe, 0xff, 0xff, 0xff, //0x00004d7a movq $-2, %r13 + 0x3c, 0x61, //0x00004d81 cmpb $97, %al + 0x0f, 0x85, 0x05, 0xf6, 0xff, 0xff, //0x00004d83 jne LBB0_839 + 0x49, 0x8d, 0x41, 0x02, //0x00004d89 leaq $2(%r9), %rax + 0x49, 0x89, 0x00, //0x00004d8d movq %rax, (%r8) + 0x43, 0x80, 0x7c, 0x0c, 0x02, 0x6c, //0x00004d90 cmpb $108, $2(%r12,%r9) + 0x0f, 0x85, 0xf2, 0xf5, 0xff, 0xff, //0x00004d96 jne LBB0_839 + 0x49, 0x8d, 0x41, 0x03, //0x00004d9c leaq $3(%r9), %rax + 0x49, 0x89, 0x00, //0x00004da0 movq %rax, (%r8) + 0x43, 0x80, 0x7c, 0x0c, 0x03, 0x73, //0x00004da3 cmpb $115, $3(%r12,%r9) + 0x0f, 0x85, 0xdf, 0xf5, 0xff, 0xff, //0x00004da9 jne LBB0_839 + 0x49, 0x8d, 0x41, 0x04, //0x00004daf leaq $4(%r9), %rax + 0x49, 0x89, 0x00, //0x00004db3 movq %rax, (%r8) + 0x43, 0x80, 0x7c, 0x0c, 0x04, 0x65, //0x00004db6 cmpb $101, $4(%r12,%r9) + 0x0f, 0x85, 0xcc, 0xf5, 0xff, 0xff, //0x00004dbc jne LBB0_839 + 0x49, 0x83, 0xc1, 0x05, //0x00004dc2 addq $5, %r9 + 0xe9, 0xa3, 0x00, 0x00, 0x00, //0x00004dc6 jmp LBB0_953 + //0x00004dcb LBB0_752 + 0x4d, 0x89, 0x08, //0x00004dcb movq %r9, (%r8) + 0x49, 0xc7, 0xc5, 0xfe, 0xff, 0xff, 0xff, //0x00004dce movq $-2, %r13 + 0x41, 0x80, 0x3a, 0x6e, //0x00004dd5 cmpb $110, (%r10) + 0x0f, 0x85, 0xaf, 0xf5, 0xff, 0xff, //0x00004dd9 jne LBB0_839 + 0x49, 0x8d, 0x41, 0x01, //0x00004ddf leaq $1(%r9), %rax + 0x49, 0x89, 0x00, //0x00004de3 movq %rax, (%r8) + 0x43, 0x80, 0x7c, 0x0c, 0x01, 0x75, //0x00004de6 cmpb $117, $1(%r12,%r9) + 0x0f, 0x85, 0x9c, 0xf5, 0xff, 0xff, //0x00004dec jne LBB0_839 + 0x49, 0x8d, 0x41, 0x02, //0x00004df2 leaq $2(%r9), %rax + 0x49, 0x89, 0x00, //0x00004df6 movq %rax, (%r8) + 0x43, 0x80, 0x7c, 0x0c, 0x02, 0x6c, //0x00004df9 cmpb $108, $2(%r12,%r9) + 0x0f, 0x85, 0x89, 0xf5, 0xff, 0xff, //0x00004dff jne LBB0_839 + 0x49, 0x8d, 0x41, 0x03, //0x00004e05 leaq $3(%r9), %rax + 0x49, 0x89, 0x00, //0x00004e09 movq %rax, (%r8) + 0x43, 0x80, 0x7c, 0x0c, 0x03, 0x6c, //0x00004e0c cmpb $108, $3(%r12,%r9) + 0x0f, 0x85, 0x76, 0xf5, 0xff, 0xff, //0x00004e12 jne LBB0_839 + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x00004e18 jmp LBB0_952 + //0x00004e1d LBB0_948 + 0x4d, 0x89, 0x08, //0x00004e1d movq %r9, (%r8) + 0x49, 0xc7, 0xc5, 0xfe, 0xff, 0xff, 0xff, //0x00004e20 movq $-2, %r13 + 0x41, 0x80, 0x3a, 0x74, //0x00004e27 cmpb $116, (%r10) + 0x0f, 0x85, 0x5d, 0xf5, 0xff, 0xff, //0x00004e2b jne LBB0_839 + 0x49, 0x8d, 0x41, 0x01, //0x00004e31 leaq $1(%r9), %rax + 0x49, 0x89, 0x00, //0x00004e35 movq %rax, (%r8) + 0x43, 0x80, 0x7c, 0x0c, 0x01, 0x72, //0x00004e38 cmpb $114, $1(%r12,%r9) + 0x0f, 0x85, 0x4a, 0xf5, 0xff, 0xff, //0x00004e3e jne LBB0_839 + 0x49, 0x8d, 0x41, 0x02, //0x00004e44 leaq $2(%r9), %rax + 0x49, 0x89, 0x00, //0x00004e48 movq %rax, (%r8) + 0x43, 0x80, 0x7c, 0x0c, 0x02, 0x75, //0x00004e4b cmpb $117, $2(%r12,%r9) + 0x0f, 0x85, 0x37, 0xf5, 0xff, 0xff, //0x00004e51 jne LBB0_839 + 0x49, 0x8d, 0x41, 0x03, //0x00004e57 leaq $3(%r9), %rax + 0x49, 0x89, 0x00, //0x00004e5b movq %rax, (%r8) + 0x43, 0x80, 0x7c, 0x0c, 0x03, 0x65, //0x00004e5e cmpb $101, $3(%r12,%r9) + 0x0f, 0x85, 0x24, 0xf5, 0xff, 0xff, //0x00004e64 jne LBB0_839 + //0x00004e6a LBB0_952 + 0x49, 0x83, 0xc1, 0x04, //0x00004e6a addq $4, %r9 + //0x00004e6e LBB0_953 + 0x48, 0x8b, 0x44, 0x24, 0x18, //0x00004e6e movq $24(%rsp), %rax + 0x4c, 0x89, 0x08, //0x00004e73 movq %r9, (%rax) + 0xe9, 0x13, 0xf5, 0xff, 0xff, //0x00004e76 jmp LBB0_839 + //0x00004e7b LBB0_960 + 0x4c, 0x89, 0xf8, //0x00004e7b movq %r15, %rax + 0xe9, 0x91, 0xf6, 0xff, 0xff, //0x00004e7e jmp LBB0_862 + //0x00004e83 LBB0_813 + 0x48, 0x8b, 0x44, 0x24, 0x20, //0x00004e83 movq $32(%rsp), %rax + 0xe9, 0x87, 0xf6, 0xff, 0xff, //0x00004e88 jmp LBB0_862 + //0x00004e8d LBB0_954 + 0x4c, 0x89, 0xf3, //0x00004e8d movq %r14, %rbx + 0x48, 0x83, 0xc3, 0x02, //0x00004e90 addq $2, %rbx + 0x49, 0xc7, 0xc5, 0xfe, 0xff, 0xff, 0xff, //0x00004e94 movq $-2, %r13 + 0xe9, 0xa6, 0x00, 0x00, 0x00, //0x00004e9b jmp LBB0_959 + //0x00004ea0 LBB0_874 + 0x4d, 0x85, 0xff, //0x00004ea0 testq %r15, %r15 + 0x0f, 0x85, 0xeb, 0x00, 0x00, 0x00, //0x00004ea3 jne LBB0_966 + 0x4b, 0x8d, 0x7c, 0x16, 0x01, //0x00004ea9 leaq $1(%r14,%r10), %rdi + 0x49, 0xf7, 0xd6, //0x00004eae notq %r14 + 0x4d, 0x01, 0xc6, //0x00004eb1 addq %r8, %r14 + //0x00004eb4 LBB0_876 + 0x4d, 0x85, 0xf6, //0x00004eb4 testq %r14, %r14 + 0x48, 0x8b, 0x54, 0x24, 0x18, //0x00004eb7 movq $24(%rsp), %rdx + 0x0f, 0x8e, 0xcc, 0xf4, 0xff, 0xff, //0x00004ebc jle LBB0_839 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00004ec2 movq $-1, %r13 + 0xe9, 0x18, 0x00, 0x00, 0x00, //0x00004ec9 jmp LBB0_933 + //0x00004ece LBB0_932 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00004ece movq $-2, %rax + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x00004ed5 movl $2, %ecx + 0x48, 0x01, 0xcf, //0x00004eda addq %rcx, %rdi + 0x49, 0x01, 0xc6, //0x00004edd addq %rax, %r14 + 0x0f, 0x8e, 0xa8, 0xf4, 0xff, 0xff, //0x00004ee0 jle LBB0_839 + //0x00004ee6 LBB0_933 + 0x0f, 0xb6, 0x07, //0x00004ee6 movzbl (%rdi), %eax + 0x3c, 0x5c, //0x00004ee9 cmpb $92, %al + 0x0f, 0x84, 0xdd, 0xff, 0xff, 0xff, //0x00004eeb je LBB0_932 + 0x3c, 0x22, //0x00004ef1 cmpb $34, %al + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x00004ef3 je LBB0_955 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00004ef9 movq $-1, %rax + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00004f00 movl $1, %ecx + 0x48, 0x01, 0xcf, //0x00004f05 addq %rcx, %rdi + 0x49, 0x01, 0xc6, //0x00004f08 addq %rax, %r14 + 0x0f, 0x8f, 0xd5, 0xff, 0xff, 0xff, //0x00004f0b jg LBB0_933 + 0xe9, 0x78, 0xf4, 0xff, 0xff, //0x00004f11 jmp LBB0_839 + //0x00004f16 LBB0_955 + 0x4c, 0x29, 0xdf, //0x00004f16 subq %r11, %rdi + 0x48, 0xff, 0xc7, //0x00004f19 incq %rdi + 0x48, 0x89, 0x3a, //0x00004f1c movq %rdi, (%rdx) + 0x4d, 0x89, 0xe5, //0x00004f1f movq %r12, %r13 + 0xe9, 0x67, 0xf4, 0xff, 0xff, //0x00004f22 jmp LBB0_839 + //0x00004f27 LBB0_956 + 0x4c, 0x89, 0xf3, //0x00004f27 movq %r14, %rbx + 0x48, 0xff, 0xc3, //0x00004f2a incq %rbx + 0x49, 0xc7, 0xc5, 0xfd, 0xff, 0xff, 0xff, //0x00004f2d movq $-3, %r13 + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x00004f34 jmp LBB0_959 + //0x00004f39 LBB0_957 + 0x4c, 0x89, 0xf3, //0x00004f39 movq %r14, %rbx + 0x48, 0xff, 0xc3, //0x00004f3c incq %rbx + //0x00004f3f LBB0_958 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00004f3f movq $-1, %r13 + //0x00004f46 LBB0_959 + 0x48, 0x8b, 0x44, 0x24, 0x20, //0x00004f46 movq $32(%rsp), %rax + 0x48, 0x29, 0xc3, //0x00004f4b subq %rax, %rbx + 0x49, 0x89, 0x18, //0x00004f4e movq %rbx, (%r8) + 0xe9, 0x38, 0xf4, 0xff, 0xff, //0x00004f51 jmp LBB0_839 + //0x00004f56 LBB0_961 + 0x4c, 0x01, 0xdf, //0x00004f56 addq %r11, %rdi + 0xe9, 0x56, 0xff, 0xff, 0xff, //0x00004f59 jmp LBB0_876 + //0x00004f5e LBB0_962 + 0x48, 0x8b, 0x44, 0x24, 0x28, //0x00004f5e movq $40(%rsp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x00004f63 movq $8(%rax), %rax + 0x48, 0x8b, 0x54, 0x24, 0x18, //0x00004f67 movq $24(%rsp), %rdx + 0x48, 0x89, 0x02, //0x00004f6c movq %rax, (%rdx) + 0xe9, 0x1a, 0xf4, 0xff, 0xff, //0x00004f6f jmp LBB0_839 + //0x00004f74 LBB0_963 + 0x49, 0xc7, 0xc5, 0xfc, 0xff, 0xff, 0xff, //0x00004f74 movq $-4, %r13 + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00004f7b jmp LBB0_965 + //0x00004f80 LBB0_964 + 0x49, 0xc7, 0xc5, 0xfe, 0xff, 0xff, 0xff, //0x00004f80 movq $-2, %r13 + //0x00004f87 LBB0_965 + 0x4c, 0x89, 0xc3, //0x00004f87 movq %r8, %rbx + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00004f8a movq $24(%rsp), %r8 + 0xe9, 0xb2, 0xff, 0xff, 0xff, //0x00004f8f jmp LBB0_959 + //0x00004f94 LBB0_966 + 0x49, 0x8d, 0x40, 0xff, //0x00004f94 leaq $-1(%r8), %rax + 0x4c, 0x39, 0xf0, //0x00004f98 cmpq %r14, %rax + 0x0f, 0x84, 0xed, 0xf3, 0xff, 0xff, //0x00004f9b je LBB0_839 + 0x4b, 0x8d, 0x7c, 0x16, 0x02, //0x00004fa1 leaq $2(%r14,%r10), %rdi + 0x4d, 0x29, 0xf0, //0x00004fa6 subq %r14, %r8 + 0x49, 0x83, 0xc0, 0xfe, //0x00004fa9 addq $-2, %r8 + 0x4d, 0x89, 0xc6, //0x00004fad movq %r8, %r14 + 0xe9, 0xff, 0xfe, 0xff, 0xff, //0x00004fb0 jmp LBB0_876 + 0x90, 0x90, 0x90, //0x00004fb5 .p2align 2, 0x90 + // // .set L0_0_set_418, LBB0_418-LJTI0_0 + // // .set L0_0_set_488, LBB0_488-LJTI0_0 + // // .set L0_0_set_450, LBB0_450-LJTI0_0 + // // .set L0_0_set_403, LBB0_403-LJTI0_0 + // // .set L0_0_set_461, LBB0_461-LJTI0_0 + // // .set L0_0_set_487, LBB0_487-LJTI0_0 + // // .set L0_0_set_449, LBB0_449-LJTI0_0 + // // .set L0_0_set_489, LBB0_489-LJTI0_0 + //0x00004fb8 LJTI0_0 + 0x88, 0xd1, 0xff, 0xff, //0x00004fb8 .long L0_0_set_418 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fbc .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fc0 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fc4 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fc8 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fcc .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fd0 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fd4 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fd8 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fdc .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fe0 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fe4 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fe8 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004fec .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004ff0 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004ff4 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004ff8 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00004ffc .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005000 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005004 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005008 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000500c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005010 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005014 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005018 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000501c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005020 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005024 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005028 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000502c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005030 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005034 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005038 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000503c .long L0_0_set_488 + 0x34, 0xd3, 0xff, 0xff, //0x00005040 .long L0_0_set_450 + 0x8d, 0xd7, 0xff, 0xff, //0x00005044 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005048 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000504c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005050 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005054 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005058 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000505c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005060 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005064 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005068 .long L0_0_set_488 + 0xb1, 0xd0, 0xff, 0xff, //0x0000506c .long L0_0_set_403 + 0x8d, 0xd7, 0xff, 0xff, //0x00005070 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005074 .long L0_0_set_488 + 0xb1, 0xd0, 0xff, 0xff, //0x00005078 .long L0_0_set_403 + 0xb1, 0xd0, 0xff, 0xff, //0x0000507c .long L0_0_set_403 + 0xb1, 0xd0, 0xff, 0xff, //0x00005080 .long L0_0_set_403 + 0xb1, 0xd0, 0xff, 0xff, //0x00005084 .long L0_0_set_403 + 0xb1, 0xd0, 0xff, 0xff, //0x00005088 .long L0_0_set_403 + 0xb1, 0xd0, 0xff, 0xff, //0x0000508c .long L0_0_set_403 + 0xb1, 0xd0, 0xff, 0xff, //0x00005090 .long L0_0_set_403 + 0xb1, 0xd0, 0xff, 0xff, //0x00005094 .long L0_0_set_403 + 0xb1, 0xd0, 0xff, 0xff, //0x00005098 .long L0_0_set_403 + 0xb1, 0xd0, 0xff, 0xff, //0x0000509c .long L0_0_set_403 + 0x8d, 0xd7, 0xff, 0xff, //0x000050a0 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050a4 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050a8 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050ac .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050b0 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050b4 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050b8 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050bc .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050c0 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050c4 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050c8 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050cc .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050d0 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050d4 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050d8 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050dc .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050e0 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050e4 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050e8 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050ec .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050f0 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050f4 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050f8 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000050fc .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005100 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005104 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005108 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000510c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005110 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005114 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005118 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000511c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005120 .long L0_0_set_488 + 0x5e, 0xd4, 0xff, 0xff, //0x00005124 .long L0_0_set_461 + 0x8d, 0xd7, 0xff, 0xff, //0x00005128 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000512c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005130 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005134 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005138 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000513c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005140 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005144 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005148 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000514c .long L0_0_set_488 + 0x80, 0xd7, 0xff, 0xff, //0x00005150 .long L0_0_set_487 + 0x8d, 0xd7, 0xff, 0xff, //0x00005154 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005158 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000515c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005160 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005164 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005168 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000516c .long L0_0_set_488 + 0x22, 0xd3, 0xff, 0xff, //0x00005170 .long L0_0_set_449 + 0x8d, 0xd7, 0xff, 0xff, //0x00005174 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005178 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000517c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005180 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005184 .long L0_0_set_488 + 0x22, 0xd3, 0xff, 0xff, //0x00005188 .long L0_0_set_449 + 0x8d, 0xd7, 0xff, 0xff, //0x0000518c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005190 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005194 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x00005198 .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x0000519c .long L0_0_set_488 + 0x8d, 0xd7, 0xff, 0xff, //0x000051a0 .long L0_0_set_488 + 0x98, 0xd7, 0xff, 0xff, //0x000051a4 .long L0_0_set_489 + // // .set L0_1_set_222, LBB0_222-LJTI0_1 + // // .set L0_1_set_289, LBB0_289-LJTI0_1 + // // .set L0_1_set_251, LBB0_251-LJTI0_1 + // // .set L0_1_set_207, LBB0_207-LJTI0_1 + // // .set L0_1_set_262, LBB0_262-LJTI0_1 + // // .set L0_1_set_288, LBB0_288-LJTI0_1 + // // .set L0_1_set_250, LBB0_250-LJTI0_1 + // // .set L0_1_set_290, LBB0_290-LJTI0_1 + //0x000051a8 LJTI0_1 + 0x88, 0xbb, 0xff, 0xff, //0x000051a8 .long L0_1_set_222 + 0x21, 0xc1, 0xff, 0xff, //0x000051ac .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051b0 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051b4 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051b8 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051bc .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051c0 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051c4 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051c8 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051cc .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051d0 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051d4 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051d8 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051dc .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051e0 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051e4 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051e8 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051ec .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051f0 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051f4 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051f8 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000051fc .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005200 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005204 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005208 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000520c .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005210 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005214 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005218 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000521c .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005220 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005224 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005228 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000522c .long L0_1_set_289 + 0xee, 0xbc, 0xff, 0xff, //0x00005230 .long L0_1_set_251 + 0x21, 0xc1, 0xff, 0xff, //0x00005234 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005238 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000523c .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005240 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005244 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005248 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000524c .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005250 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005254 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005258 .long L0_1_set_289 + 0xbc, 0xba, 0xff, 0xff, //0x0000525c .long L0_1_set_207 + 0x21, 0xc1, 0xff, 0xff, //0x00005260 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005264 .long L0_1_set_289 + 0xbc, 0xba, 0xff, 0xff, //0x00005268 .long L0_1_set_207 + 0xbc, 0xba, 0xff, 0xff, //0x0000526c .long L0_1_set_207 + 0xbc, 0xba, 0xff, 0xff, //0x00005270 .long L0_1_set_207 + 0xbc, 0xba, 0xff, 0xff, //0x00005274 .long L0_1_set_207 + 0xbc, 0xba, 0xff, 0xff, //0x00005278 .long L0_1_set_207 + 0xbc, 0xba, 0xff, 0xff, //0x0000527c .long L0_1_set_207 + 0xbc, 0xba, 0xff, 0xff, //0x00005280 .long L0_1_set_207 + 0xbc, 0xba, 0xff, 0xff, //0x00005284 .long L0_1_set_207 + 0xbc, 0xba, 0xff, 0xff, //0x00005288 .long L0_1_set_207 + 0xbc, 0xba, 0xff, 0xff, //0x0000528c .long L0_1_set_207 + 0x21, 0xc1, 0xff, 0xff, //0x00005290 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005294 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005298 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000529c .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052a0 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052a4 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052a8 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052ac .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052b0 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052b4 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052b8 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052bc .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052c0 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052c4 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052c8 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052cc .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052d0 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052d4 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052d8 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052dc .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052e0 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052e4 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052e8 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052ec .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052f0 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052f4 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052f8 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x000052fc .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005300 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005304 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005308 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000530c .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005310 .long L0_1_set_289 + 0xfc, 0xbd, 0xff, 0xff, //0x00005314 .long L0_1_set_262 + 0x21, 0xc1, 0xff, 0xff, //0x00005318 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000531c .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005320 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005324 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005328 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000532c .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005330 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005334 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005338 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000533c .long L0_1_set_289 + 0x14, 0xc1, 0xff, 0xff, //0x00005340 .long L0_1_set_288 + 0x21, 0xc1, 0xff, 0xff, //0x00005344 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005348 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000534c .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005350 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005354 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005358 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000535c .long L0_1_set_289 + 0xdc, 0xbc, 0xff, 0xff, //0x00005360 .long L0_1_set_250 + 0x21, 0xc1, 0xff, 0xff, //0x00005364 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005368 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000536c .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005370 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005374 .long L0_1_set_289 + 0xdc, 0xbc, 0xff, 0xff, //0x00005378 .long L0_1_set_250 + 0x21, 0xc1, 0xff, 0xff, //0x0000537c .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005380 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005384 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005388 .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x0000538c .long L0_1_set_289 + 0x21, 0xc1, 0xff, 0xff, //0x00005390 .long L0_1_set_289 + 0x2c, 0xc1, 0xff, 0xff, //0x00005394 .long L0_1_set_290 + // // .set L0_2_set_586, LBB0_586-LJTI0_2 + // // .set L0_2_set_590, LBB0_590-LJTI0_2 + // // .set L0_2_set_592, LBB0_592-LJTI0_2 + // // .set L0_2_set_611, LBB0_611-LJTI0_2 + // // .set L0_2_set_613, LBB0_613-LJTI0_2 + // // .set L0_2_set_616, LBB0_616-LJTI0_2 + //0x00005398 LJTI0_2 + 0xf6, 0xdb, 0xff, 0xff, //0x00005398 .long L0_2_set_586 + 0x1e, 0xdc, 0xff, 0xff, //0x0000539c .long L0_2_set_590 + 0x49, 0xdc, 0xff, 0xff, //0x000053a0 .long L0_2_set_592 + 0xe8, 0xdd, 0xff, 0xff, //0x000053a4 .long L0_2_set_611 + 0xff, 0xdd, 0xff, 0xff, //0x000053a8 .long L0_2_set_613 + 0x7d, 0xe0, 0xff, 0xff, //0x000053ac .long L0_2_set_616 + // // .set L0_3_set_839, LBB0_839-LJTI0_3 + // // .set L0_3_set_838, LBB0_838-LJTI0_3 + // // .set L0_3_set_690, LBB0_690-LJTI0_3 + // // .set L0_3_set_711, LBB0_711-LJTI0_3 + // // .set L0_3_set_618, LBB0_618-LJTI0_3 + // // .set L0_3_set_745, LBB0_745-LJTI0_3 + // // .set L0_3_set_747, LBB0_747-LJTI0_3 + // // .set L0_3_set_750, LBB0_750-LJTI0_3 + // // .set L0_3_set_756, LBB0_756-LJTI0_3 + // // .set L0_3_set_759, LBB0_759-LJTI0_3 + //0x000053b0 LJTI0_3 + 0xde, 0xef, 0xff, 0xff, //0x000053b0 .long L0_3_set_839 + 0xd7, 0xef, 0xff, 0xff, //0x000053b4 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053b8 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053bc .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053c0 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053c4 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053c8 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053cc .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053d0 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053d4 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053d8 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053dc .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053e0 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053e4 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053e8 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053ec .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053f0 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053f4 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053f8 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000053fc .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005400 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005404 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005408 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000540c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005410 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005414 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005418 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000541c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005420 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005424 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005428 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000542c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005430 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005434 .long L0_3_set_838 + 0xe3, 0xe2, 0xff, 0xff, //0x00005438 .long L0_3_set_690 + 0xd7, 0xef, 0xff, 0xff, //0x0000543c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005440 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005444 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005448 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000544c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005450 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005454 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005458 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000545c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005460 .long L0_3_set_838 + 0x70, 0xe4, 0xff, 0xff, //0x00005464 .long L0_3_set_711 + 0xd7, 0xef, 0xff, 0xff, //0x00005468 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000546c .long L0_3_set_838 + 0x18, 0xde, 0xff, 0xff, //0x00005470 .long L0_3_set_618 + 0x18, 0xde, 0xff, 0xff, //0x00005474 .long L0_3_set_618 + 0x18, 0xde, 0xff, 0xff, //0x00005478 .long L0_3_set_618 + 0x18, 0xde, 0xff, 0xff, //0x0000547c .long L0_3_set_618 + 0x18, 0xde, 0xff, 0xff, //0x00005480 .long L0_3_set_618 + 0x18, 0xde, 0xff, 0xff, //0x00005484 .long L0_3_set_618 + 0x18, 0xde, 0xff, 0xff, //0x00005488 .long L0_3_set_618 + 0x18, 0xde, 0xff, 0xff, //0x0000548c .long L0_3_set_618 + 0x18, 0xde, 0xff, 0xff, //0x00005490 .long L0_3_set_618 + 0x18, 0xde, 0xff, 0xff, //0x00005494 .long L0_3_set_618 + 0xd7, 0xef, 0xff, 0xff, //0x00005498 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000549c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054a0 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054a4 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054a8 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054ac .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054b0 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054b4 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054b8 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054bc .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054c0 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054c4 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054c8 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054cc .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054d0 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054d4 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054d8 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054dc .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054e0 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054e4 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054e8 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054ec .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054f0 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054f4 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054f8 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x000054fc .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005500 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005504 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005508 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000550c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005510 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005514 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005518 .long L0_3_set_838 + 0xb6, 0xe6, 0xff, 0xff, //0x0000551c .long L0_3_set_745 + 0xd7, 0xef, 0xff, 0xff, //0x00005520 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005524 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005528 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000552c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005530 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005534 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005538 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000553c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005540 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005544 .long L0_3_set_838 + 0xda, 0xe6, 0xff, 0xff, //0x00005548 .long L0_3_set_747 + 0xd7, 0xef, 0xff, 0xff, //0x0000554c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005550 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005554 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005558 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000555c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005560 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005564 .long L0_3_set_838 + 0x08, 0xe7, 0xff, 0xff, //0x00005568 .long L0_3_set_750 + 0xd7, 0xef, 0xff, 0xff, //0x0000556c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005570 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005574 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005578 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000557c .long L0_3_set_838 + 0x30, 0xe7, 0xff, 0xff, //0x00005580 .long L0_3_set_756 + 0xd7, 0xef, 0xff, 0xff, //0x00005584 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005588 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x0000558c .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005590 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005594 .long L0_3_set_838 + 0xd7, 0xef, 0xff, 0xff, //0x00005598 .long L0_3_set_838 + 0x5c, 0xe7, 0xff, 0xff, //0x0000559c .long L0_3_set_759 + // // .set L0_4_set_736, LBB0_736-LJTI0_4 + // // .set L0_4_set_763, LBB0_763-LJTI0_4 + // // .set L0_4_set_743, LBB0_743-LJTI0_4 + // // .set L0_4_set_738, LBB0_738-LJTI0_4 + // // .set L0_4_set_741, LBB0_741-LJTI0_4 + //0x000055a0 LJTI0_4 + 0x49, 0xe4, 0xff, 0xff, //0x000055a0 .long L0_4_set_736 + 0xba, 0xe5, 0xff, 0xff, //0x000055a4 .long L0_4_set_763 + 0x49, 0xe4, 0xff, 0xff, //0x000055a8 .long L0_4_set_736 + 0xa7, 0xe4, 0xff, 0xff, //0x000055ac .long L0_4_set_743 + 0xba, 0xe5, 0xff, 0xff, //0x000055b0 .long L0_4_set_763 + 0x63, 0xe4, 0xff, 0xff, //0x000055b4 .long L0_4_set_738 + 0x63, 0xe4, 0xff, 0xff, //0x000055b8 .long L0_4_set_738 + 0x63, 0xe4, 0xff, 0xff, //0x000055bc .long L0_4_set_738 + 0x63, 0xe4, 0xff, 0xff, //0x000055c0 .long L0_4_set_738 + 0x63, 0xe4, 0xff, 0xff, //0x000055c4 .long L0_4_set_738 + 0x63, 0xe4, 0xff, 0xff, //0x000055c8 .long L0_4_set_738 + 0x63, 0xe4, 0xff, 0xff, //0x000055cc .long L0_4_set_738 + 0x63, 0xe4, 0xff, 0xff, //0x000055d0 .long L0_4_set_738 + 0x63, 0xe4, 0xff, 0xff, //0x000055d4 .long L0_4_set_738 + 0x63, 0xe4, 0xff, 0xff, //0x000055d8 .long L0_4_set_738 + 0xba, 0xe5, 0xff, 0xff, //0x000055dc .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x000055e0 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x000055e4 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x000055e8 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x000055ec .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x000055f0 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x000055f4 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x000055f8 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x000055fc .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005600 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005604 .long L0_4_set_763 + 0x8c, 0xe4, 0xff, 0xff, //0x00005608 .long L0_4_set_741 + 0xba, 0xe5, 0xff, 0xff, //0x0000560c .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005610 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005614 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005618 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x0000561c .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005620 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005624 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005628 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x0000562c .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005630 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005634 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005638 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x0000563c .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005640 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005644 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005648 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x0000564c .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005650 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005654 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005658 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x0000565c .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005660 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005664 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005668 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x0000566c .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005670 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005674 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005678 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x0000567c .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005680 .long L0_4_set_763 + 0xba, 0xe5, 0xff, 0xff, //0x00005684 .long L0_4_set_763 + 0x8c, 0xe4, 0xff, 0xff, //0x00005688 .long L0_4_set_741 + // // .set L0_5_set_646, LBB0_646-LJTI0_5 + // // .set L0_5_set_674, LBB0_674-LJTI0_5 + // // .set L0_5_set_650, LBB0_650-LJTI0_5 + // // .set L0_5_set_643, LBB0_643-LJTI0_5 + // // .set L0_5_set_648, LBB0_648-LJTI0_5 + //0x0000568c LJTI0_5 + 0x34, 0xdd, 0xff, 0xff, //0x0000568c .long L0_5_set_646 + 0x54, 0xdf, 0xff, 0xff, //0x00005690 .long L0_5_set_674 + 0x34, 0xdd, 0xff, 0xff, //0x00005694 .long L0_5_set_646 + 0x6a, 0xdd, 0xff, 0xff, //0x00005698 .long L0_5_set_650 + 0x54, 0xdf, 0xff, 0xff, //0x0000569c .long L0_5_set_674 + 0x04, 0xdd, 0xff, 0xff, //0x000056a0 .long L0_5_set_643 + 0x04, 0xdd, 0xff, 0xff, //0x000056a4 .long L0_5_set_643 + 0x04, 0xdd, 0xff, 0xff, //0x000056a8 .long L0_5_set_643 + 0x04, 0xdd, 0xff, 0xff, //0x000056ac .long L0_5_set_643 + 0x04, 0xdd, 0xff, 0xff, //0x000056b0 .long L0_5_set_643 + 0x04, 0xdd, 0xff, 0xff, //0x000056b4 .long L0_5_set_643 + 0x04, 0xdd, 0xff, 0xff, //0x000056b8 .long L0_5_set_643 + 0x04, 0xdd, 0xff, 0xff, //0x000056bc .long L0_5_set_643 + 0x04, 0xdd, 0xff, 0xff, //0x000056c0 .long L0_5_set_643 + 0x04, 0xdd, 0xff, 0xff, //0x000056c4 .long L0_5_set_643 + 0x54, 0xdf, 0xff, 0xff, //0x000056c8 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x000056cc .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x000056d0 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x000056d4 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x000056d8 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x000056dc .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x000056e0 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x000056e4 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x000056e8 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x000056ec .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x000056f0 .long L0_5_set_674 + 0x4f, 0xdd, 0xff, 0xff, //0x000056f4 .long L0_5_set_648 + 0x54, 0xdf, 0xff, 0xff, //0x000056f8 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x000056fc .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005700 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005704 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005708 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x0000570c .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005710 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005714 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005718 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x0000571c .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005720 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005724 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005728 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x0000572c .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005730 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005734 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005738 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x0000573c .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005740 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005744 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005748 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x0000574c .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005750 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005754 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005758 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x0000575c .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005760 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005764 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005768 .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x0000576c .long L0_5_set_674 + 0x54, 0xdf, 0xff, 0xff, //0x00005770 .long L0_5_set_674 + 0x4f, 0xdd, 0xff, 0xff, //0x00005774 .long L0_5_set_648 + // // .set L0_6_set_839, LBB0_839-LJTI0_6 + // // .set L0_6_set_866, LBB0_866-LJTI0_6 + // // .set L0_6_set_867, LBB0_867-LJTI0_6 + // // .set L0_6_set_845, LBB0_845-LJTI0_6 + // // .set L0_6_set_878, LBB0_878-LJTI0_6 + // // .set L0_6_set_902, LBB0_902-LJTI0_6 + // // .set L0_6_set_864, LBB0_864-LJTI0_6 + // // .set L0_6_set_905, LBB0_905-LJTI0_6 + //0x00005778 LJTI0_6 + 0x16, 0xec, 0xff, 0xff, //0x00005778 .long L0_6_set_839 + 0xc7, 0xed, 0xff, 0xff, //0x0000577c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005780 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005784 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005788 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000578c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005790 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005794 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005798 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000579c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057a0 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057a4 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057a8 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057ac .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057b0 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057b4 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057b8 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057bc .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057c0 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057c4 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057c8 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057cc .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057d0 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057d4 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057d8 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057dc .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057e0 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057e4 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057e8 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057ec .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057f0 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057f4 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057f8 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000057fc .long L0_6_set_866 + 0xcf, 0xed, 0xff, 0xff, //0x00005800 .long L0_6_set_867 + 0xc7, 0xed, 0xff, 0xff, //0x00005804 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005808 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000580c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005810 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005814 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005818 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000581c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005820 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005824 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005828 .long L0_6_set_866 + 0x9b, 0xec, 0xff, 0xff, //0x0000582c .long L0_6_set_845 + 0xc7, 0xed, 0xff, 0xff, //0x00005830 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005834 .long L0_6_set_866 + 0x9b, 0xec, 0xff, 0xff, //0x00005838 .long L0_6_set_845 + 0x9b, 0xec, 0xff, 0xff, //0x0000583c .long L0_6_set_845 + 0x9b, 0xec, 0xff, 0xff, //0x00005840 .long L0_6_set_845 + 0x9b, 0xec, 0xff, 0xff, //0x00005844 .long L0_6_set_845 + 0x9b, 0xec, 0xff, 0xff, //0x00005848 .long L0_6_set_845 + 0x9b, 0xec, 0xff, 0xff, //0x0000584c .long L0_6_set_845 + 0x9b, 0xec, 0xff, 0xff, //0x00005850 .long L0_6_set_845 + 0x9b, 0xec, 0xff, 0xff, //0x00005854 .long L0_6_set_845 + 0x9b, 0xec, 0xff, 0xff, //0x00005858 .long L0_6_set_845 + 0x9b, 0xec, 0xff, 0xff, //0x0000585c .long L0_6_set_845 + 0xc7, 0xed, 0xff, 0xff, //0x00005860 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005864 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005868 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000586c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005870 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005874 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005878 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000587c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005880 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005884 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005888 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000588c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005890 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005894 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005898 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000589c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058a0 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058a4 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058a8 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058ac .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058b0 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058b4 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058b8 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058bc .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058c0 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058c4 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058c8 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058cc .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058d0 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058d4 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058d8 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058dc .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058e0 .long L0_6_set_866 + 0xdf, 0xee, 0xff, 0xff, //0x000058e4 .long L0_6_set_878 + 0xc7, 0xed, 0xff, 0xff, //0x000058e8 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058ec .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058f0 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058f4 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058f8 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x000058fc .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005900 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005904 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005908 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000590c .long L0_6_set_866 + 0x14, 0xf2, 0xff, 0xff, //0x00005910 .long L0_6_set_902 + 0xc7, 0xed, 0xff, 0xff, //0x00005914 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005918 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000591c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005920 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005924 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005928 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000592c .long L0_6_set_866 + 0xb1, 0xed, 0xff, 0xff, //0x00005930 .long L0_6_set_864 + 0xc7, 0xed, 0xff, 0xff, //0x00005934 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005938 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000593c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005940 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005944 .long L0_6_set_866 + 0xb1, 0xed, 0xff, 0xff, //0x00005948 .long L0_6_set_864 + 0xc7, 0xed, 0xff, 0xff, //0x0000594c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005950 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005954 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005958 .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x0000595c .long L0_6_set_866 + 0xc7, 0xed, 0xff, 0xff, //0x00005960 .long L0_6_set_866 + 0x33, 0xf2, 0xff, 0xff, //0x00005964 .long L0_6_set_905 + //0x00005968 .p2align 2, 0x00 + //0x00005968 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00005968 .long 2 + 0x00, 0x00, 0x00, 0x00, //0x0000596c .p2align 4, 0x00 + //0x00005970 __UnquoteTab + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005970 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005980 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, //0x00005990 QUAD $0x0000000000220000; QUAD $0x2f00000000000000 // .ascii 16, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, //0x000059c0 QUAD $0x0000000000000000; QUAD $0x0000005c00000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00' + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, //0x000059d0 QUAD $0x000c000000080000; QUAD $0x000a000000000000 // .ascii 16, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00' + 0x00, 0x00, 0x0d, 0x00, 0x09, 0xff, //0x000059e0 LONG $0x000d0000; WORD $0xff09 // .ascii 6, '\x00\x00\r\x00\t\xff' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059e6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059f6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a06 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a16 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a26 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a36 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a46 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a56 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a66 QUAD $0x0000000000000000; WORD $0x0000 // .space 10, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/html_escape.go b/vendor/github.com/bytedance/sonic/internal/native/avx/html_escape.go new file mode 100644 index 0000000..d66d1a6 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/html_escape.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_html_escape func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer) (ret int) + +var S_html_escape uintptr + +//go:nosplit +func html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) { + return F_html_escape(rt.NoEscape(sp), nb, dp, rt.NoEscape(unsafe.Pointer(dn))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/html_escape_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/html_escape_subr.go new file mode 100644 index 0000000..0599b11 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/html_escape_subr.go @@ -0,0 +1,45 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__html_escape = 64 +) + +const ( + _stack__html_escape = 72 +) + +const ( + _size__html_escape = 1248 +) + +var ( + _pcsp__html_escape = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {1224, 72}, + {1228, 48}, + {1229, 40}, + {1231, 32}, + {1233, 24}, + {1235, 16}, + {1237, 8}, + {1239, 0}, + } +) + +var _cfunc_html_escape = []loader.CFunc{ + {"_html_escape_entry", 0, _entry__html_escape, 0, nil}, + {"_html_escape", _entry__html_escape, _size__html_escape, _stack__html_escape, _pcsp__html_escape}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/html_escape_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/html_escape_text_amd64.go new file mode 100644 index 0000000..797e12c --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/html_escape_text_amd64.go @@ -0,0 +1,620 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_html_escape = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, // QUAD $0x2626262626262626; QUAD $0x2626262626262626 // .space 16, '&&&&&&&&&&&&&&&&' + //0x00000010 LCPI0_1 + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, //0x00000010 QUAD $0xe2e2e2e2e2e2e2e2; QUAD $0xe2e2e2e2e2e2e2e2 // .space 16, '\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2' + //0x00000020 LCPI0_2 + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, //0x00000020 QUAD $0x0202020202020202; QUAD $0x0202020202020202 // .space 16, '\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02' + //0x00000030 LCPI0_3 + 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, //0x00000030 QUAD $0x3e3e3e3e3e3e3e3e; QUAD $0x3e3e3e3e3e3e3e3e // .space 16, '>>>>>>>>>>>>>>>>' + //0x00000040 .p2align 4, 0x90 + //0x00000040 _html_escape + 0x55, //0x00000040 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000041 movq %rsp, %rbp + 0x41, 0x57, //0x00000044 pushq %r15 + 0x41, 0x56, //0x00000046 pushq %r14 + 0x41, 0x55, //0x00000048 pushq %r13 + 0x41, 0x54, //0x0000004a pushq %r12 + 0x53, //0x0000004c pushq %rbx + 0x48, 0x83, 0xec, 0x18, //0x0000004d subq $24, %rsp + 0x48, 0x89, 0x4d, 0xc0, //0x00000051 movq %rcx, $-64(%rbp) + 0x49, 0x89, 0xd2, //0x00000055 movq %rdx, %r10 + 0x48, 0x89, 0x55, 0xc8, //0x00000058 movq %rdx, $-56(%rbp) + 0x48, 0x89, 0x7d, 0xd0, //0x0000005c movq %rdi, $-48(%rbp) + 0x48, 0x89, 0xf8, //0x00000060 movq %rdi, %rax + 0x48, 0x85, 0xf6, //0x00000063 testq %rsi, %rsi + 0x0f, 0x8e, 0x73, 0x04, 0x00, 0x00, //0x00000066 jle LBB0_59 + 0x48, 0x8b, 0x45, 0xc0, //0x0000006c movq $-64(%rbp), %rax + 0x4c, 0x8b, 0x08, //0x00000070 movq (%rax), %r9 + 0xc5, 0xfa, 0x6f, 0x05, 0x85, 0xff, 0xff, 0xff, //0x00000073 vmovdqu $-123(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0x8d, 0xff, 0xff, 0xff, //0x0000007b vmovdqu $-115(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0x95, 0xff, 0xff, 0xff, //0x00000083 vmovdqu $-107(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x1d, 0x9d, 0xff, 0xff, 0xff, //0x0000008b vmovdqu $-99(%rip), %xmm3 /* LCPI0_3+0(%rip) */ + 0x49, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x50, //0x00000093 movabsq $5764607797912141824, %r14 + 0x4c, 0x8d, 0x1d, 0x7c, 0x04, 0x00, 0x00, //0x0000009d leaq $1148(%rip), %r11 /* __HtmlQuoteTab+0(%rip) */ + 0x4c, 0x8b, 0x7d, 0xd0, //0x000000a4 movq $-48(%rbp), %r15 + 0x4c, 0x8b, 0x55, 0xc8, //0x000000a8 movq $-56(%rbp), %r10 + 0x90, 0x90, 0x90, 0x90, //0x000000ac .p2align 4, 0x90 + //0x000000b0 LBB0_2 + 0x4d, 0x85, 0xc9, //0x000000b0 testq %r9, %r9 + 0x0f, 0x8e, 0x45, 0x04, 0x00, 0x00, //0x000000b3 jle LBB0_61 + 0x48, 0x83, 0xfe, 0x0f, //0x000000b9 cmpq $15, %rsi + 0x0f, 0x9f, 0xc3, //0x000000bd setg %bl + 0x4d, 0x89, 0xcc, //0x000000c0 movq %r9, %r12 + 0x4d, 0x89, 0xd0, //0x000000c3 movq %r10, %r8 + 0x48, 0x89, 0xf0, //0x000000c6 movq %rsi, %rax + 0x4d, 0x89, 0xfd, //0x000000c9 movq %r15, %r13 + 0x49, 0x83, 0xf9, 0x10, //0x000000cc cmpq $16, %r9 + 0x0f, 0x8c, 0x7a, 0x00, 0x00, 0x00, //0x000000d0 jl LBB0_9 + 0x48, 0x83, 0xfe, 0x10, //0x000000d6 cmpq $16, %rsi + 0x0f, 0x8c, 0x70, 0x00, 0x00, 0x00, //0x000000da jl LBB0_9 + 0x4d, 0x89, 0xfd, //0x000000e0 movq %r15, %r13 + 0x48, 0x89, 0xf0, //0x000000e3 movq %rsi, %rax + 0x4d, 0x89, 0xd0, //0x000000e6 movq %r10, %r8 + 0x4c, 0x89, 0xc9, //0x000000e9 movq %r9, %rcx + 0x90, 0x90, 0x90, 0x90, //0x000000ec .p2align 4, 0x90 + //0x000000f0 LBB0_6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x65, 0x00, //0x000000f0 vmovdqu (%r13), %xmm4 + 0xc5, 0xd9, 0x74, 0xe8, //0x000000f6 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xd9, 0x74, 0xf1, //0x000000fa vpcmpeqb %xmm1, %xmm4, %xmm6 + 0xc5, 0xc9, 0xeb, 0xed, //0x000000fe vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0xd9, 0xeb, 0xf2, //0x00000102 vpor %xmm2, %xmm4, %xmm6 + 0xc5, 0xc9, 0x74, 0xf3, //0x00000106 vpcmpeqb %xmm3, %xmm6, %xmm6 + 0xc5, 0xd1, 0xeb, 0xee, //0x0000010a vpor %xmm6, %xmm5, %xmm5 + 0xc4, 0xc1, 0x7a, 0x7f, 0x20, //0x0000010e vmovdqu %xmm4, (%r8) + 0xc5, 0xf9, 0xd7, 0xd5, //0x00000113 vpmovmskb %xmm5, %edx + 0x66, 0x85, 0xd2, //0x00000117 testw %dx, %dx + 0x0f, 0x85, 0x30, 0x01, 0x00, 0x00, //0x0000011a jne LBB0_21 + 0x49, 0x83, 0xc5, 0x10, //0x00000120 addq $16, %r13 + 0x49, 0x83, 0xc0, 0x10, //0x00000124 addq $16, %r8 + 0x4c, 0x8d, 0x61, 0xf0, //0x00000128 leaq $-16(%rcx), %r12 + 0x48, 0x83, 0xf8, 0x1f, //0x0000012c cmpq $31, %rax + 0x0f, 0x9f, 0xc3, //0x00000130 setg %bl + 0x48, 0x83, 0xf8, 0x20, //0x00000133 cmpq $32, %rax + 0x48, 0x8d, 0x40, 0xf0, //0x00000137 leaq $-16(%rax), %rax + 0x0f, 0x8c, 0x0f, 0x00, 0x00, 0x00, //0x0000013b jl LBB0_9 + 0x48, 0x83, 0xf9, 0x1f, //0x00000141 cmpq $31, %rcx + 0x4c, 0x89, 0xe1, //0x00000145 movq %r12, %rcx + 0x0f, 0x8f, 0xa2, 0xff, 0xff, 0xff, //0x00000148 jg LBB0_6 + 0x90, 0x90, //0x0000014e .p2align 4, 0x90 + //0x00000150 LBB0_9 + 0x84, 0xdb, //0x00000150 testb %bl, %bl + 0x0f, 0x84, 0x68, 0x00, 0x00, 0x00, //0x00000152 je LBB0_13 + 0x4c, 0x89, 0xf2, //0x00000158 movq %r14, %rdx + 0xc4, 0xc1, 0x7a, 0x6f, 0x65, 0x00, //0x0000015b vmovdqu (%r13), %xmm4 + 0xc5, 0xd9, 0x74, 0xe8, //0x00000161 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xd9, 0x74, 0xf1, //0x00000165 vpcmpeqb %xmm1, %xmm4, %xmm6 + 0xc5, 0xc9, 0xeb, 0xed, //0x00000169 vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0xd9, 0xeb, 0xf2, //0x0000016d vpor %xmm2, %xmm4, %xmm6 + 0xc5, 0xc9, 0x74, 0xf3, //0x00000171 vpcmpeqb %xmm3, %xmm6, %xmm6 + 0xc5, 0xd1, 0xeb, 0xee, //0x00000175 vpor %xmm6, %xmm5, %xmm5 + 0xc5, 0xf9, 0xd7, 0xc5, //0x00000179 vpmovmskb %xmm5, %eax + 0x0d, 0x00, 0x00, 0x01, 0x00, //0x0000017d orl $65536, %eax + 0x44, 0x0f, 0xbc, 0xf0, //0x00000182 bsfl %eax, %r14d + 0xc4, 0xe1, 0xf9, 0x7e, 0xe0, //0x00000186 vmovq %xmm4, %rax + 0x4d, 0x39, 0xf4, //0x0000018b cmpq %r14, %r12 + 0x0f, 0x8d, 0xd7, 0x00, 0x00, 0x00, //0x0000018e jge LBB0_22 + 0x49, 0x83, 0xfc, 0x08, //0x00000194 cmpq $8, %r12 + 0x0f, 0x82, 0x09, 0x01, 0x00, 0x00, //0x00000198 jb LBB0_25 + 0x49, 0x89, 0x00, //0x0000019e movq %rax, (%r8) + 0x4d, 0x8d, 0x75, 0x08, //0x000001a1 leaq $8(%r13), %r14 + 0x49, 0x83, 0xc0, 0x08, //0x000001a5 addq $8, %r8 + 0x49, 0x8d, 0x44, 0x24, 0xf8, //0x000001a9 leaq $-8(%r12), %rax + 0x48, 0x83, 0xf8, 0x04, //0x000001ae cmpq $4, %rax + 0x0f, 0x8d, 0xff, 0x00, 0x00, 0x00, //0x000001b2 jge LBB0_26 + 0xe9, 0x0c, 0x01, 0x00, 0x00, //0x000001b8 jmp LBB0_27 + 0x90, 0x90, 0x90, //0x000001bd .p2align 4, 0x90 + //0x000001c0 LBB0_13 + 0x4d, 0x85, 0xe4, //0x000001c0 testq %r12, %r12 + 0x0f, 0x8e, 0x67, 0x00, 0x00, 0x00, //0x000001c3 jle LBB0_20 + 0x48, 0x85, 0xc0, //0x000001c9 testq %rax, %rax + 0x0f, 0x8e, 0x5e, 0x00, 0x00, 0x00, //0x000001cc jle LBB0_20 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001d2 .p2align 4, 0x90 + //0x000001e0 LBB0_15 + 0x41, 0x0f, 0xb6, 0x4d, 0x00, //0x000001e0 movzbl (%r13), %ecx + 0x48, 0x83, 0xf9, 0x3e, //0x000001e5 cmpq $62, %rcx + 0x0f, 0x87, 0x0a, 0x00, 0x00, 0x00, //0x000001e9 ja LBB0_17 + 0x49, 0x0f, 0xa3, 0xce, //0x000001ef btq %rcx, %r14 + 0x0f, 0x82, 0x9a, 0x00, 0x00, 0x00, //0x000001f3 jb LBB0_24 + //0x000001f9 LBB0_17 + 0x80, 0xf9, 0xe2, //0x000001f9 cmpb $-30, %cl + 0x0f, 0x84, 0x91, 0x00, 0x00, 0x00, //0x000001fc je LBB0_24 + 0x49, 0xff, 0xc5, //0x00000202 incq %r13 + 0x41, 0x88, 0x08, //0x00000205 movb %cl, (%r8) + 0x48, 0x83, 0xf8, 0x02, //0x00000208 cmpq $2, %rax + 0x48, 0x8d, 0x40, 0xff, //0x0000020c leaq $-1(%rax), %rax + 0x0f, 0x8c, 0x1a, 0x00, 0x00, 0x00, //0x00000210 jl LBB0_20 + 0x49, 0xff, 0xc0, //0x00000216 incq %r8 + 0x49, 0x83, 0xfc, 0x01, //0x00000219 cmpq $1, %r12 + 0x4d, 0x8d, 0x64, 0x24, 0xff, //0x0000021d leaq $-1(%r12), %r12 + 0x0f, 0x8f, 0xb8, 0xff, 0xff, 0xff, //0x00000222 jg LBB0_15 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000228 .p2align 4, 0x90 + //0x00000230 LBB0_20 + 0x4d, 0x29, 0xfd, //0x00000230 subq %r15, %r13 + 0x48, 0xf7, 0xd8, //0x00000233 negq %rax + 0x4d, 0x19, 0xe4, //0x00000236 sbbq %r12, %r12 + 0x4d, 0x31, 0xec, //0x00000239 xorq %r13, %r12 + 0x4d, 0x85, 0xe4, //0x0000023c testq %r12, %r12 + 0x0f, 0x89, 0x5b, 0x01, 0x00, 0x00, //0x0000023f jns LBB0_37 + 0xe9, 0x72, 0x02, 0x00, 0x00, //0x00000245 jmp LBB0_57 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000024a .p2align 4, 0x90 + //0x00000250 LBB0_21 + 0x0f, 0xb7, 0xc2, //0x00000250 movzwl %dx, %eax + 0x4d, 0x29, 0xfd, //0x00000253 subq %r15, %r13 + 0x44, 0x0f, 0xbc, 0xe0, //0x00000256 bsfl %eax, %r12d + 0x4d, 0x01, 0xec, //0x0000025a addq %r13, %r12 + 0x4d, 0x85, 0xe4, //0x0000025d testq %r12, %r12 + 0x0f, 0x89, 0x3a, 0x01, 0x00, 0x00, //0x00000260 jns LBB0_37 + 0xe9, 0x51, 0x02, 0x00, 0x00, //0x00000266 jmp LBB0_57 + //0x0000026b LBB0_22 + 0x41, 0x83, 0xfe, 0x08, //0x0000026b cmpl $8, %r14d + 0x0f, 0x82, 0xa9, 0x00, 0x00, 0x00, //0x0000026f jb LBB0_31 + 0x49, 0x89, 0x00, //0x00000275 movq %rax, (%r8) + 0x4d, 0x8d, 0x65, 0x08, //0x00000278 leaq $8(%r13), %r12 + 0x49, 0x83, 0xc0, 0x08, //0x0000027c addq $8, %r8 + 0x49, 0x8d, 0x46, 0xf8, //0x00000280 leaq $-8(%r14), %rax + 0x48, 0x83, 0xf8, 0x04, //0x00000284 cmpq $4, %rax + 0x0f, 0x8d, 0xa0, 0x00, 0x00, 0x00, //0x00000288 jge LBB0_32 + 0xe9, 0xae, 0x00, 0x00, 0x00, //0x0000028e jmp LBB0_33 + //0x00000293 LBB0_24 + 0x4d, 0x29, 0xfd, //0x00000293 subq %r15, %r13 + 0x4d, 0x89, 0xec, //0x00000296 movq %r13, %r12 + 0x4d, 0x85, 0xe4, //0x00000299 testq %r12, %r12 + 0x0f, 0x89, 0xfe, 0x00, 0x00, 0x00, //0x0000029c jns LBB0_37 + 0xe9, 0x15, 0x02, 0x00, 0x00, //0x000002a2 jmp LBB0_57 + //0x000002a7 LBB0_25 + 0x4d, 0x89, 0xee, //0x000002a7 movq %r13, %r14 + 0x4c, 0x89, 0xe0, //0x000002aa movq %r12, %rax + 0x48, 0x83, 0xf8, 0x04, //0x000002ad cmpq $4, %rax + 0x0f, 0x8c, 0x12, 0x00, 0x00, 0x00, //0x000002b1 jl LBB0_27 + //0x000002b7 LBB0_26 + 0x41, 0x8b, 0x0e, //0x000002b7 movl (%r14), %ecx + 0x41, 0x89, 0x08, //0x000002ba movl %ecx, (%r8) + 0x49, 0x83, 0xc6, 0x04, //0x000002bd addq $4, %r14 + 0x49, 0x83, 0xc0, 0x04, //0x000002c1 addq $4, %r8 + 0x48, 0x83, 0xc0, 0xfc, //0x000002c5 addq $-4, %rax + //0x000002c9 LBB0_27 + 0x48, 0x83, 0xf8, 0x02, //0x000002c9 cmpq $2, %rax + 0x0f, 0x82, 0x22, 0x00, 0x00, 0x00, //0x000002cd jb LBB0_28 + 0x41, 0x0f, 0xb7, 0x0e, //0x000002d3 movzwl (%r14), %ecx + 0x66, 0x41, 0x89, 0x08, //0x000002d7 movw %cx, (%r8) + 0x49, 0x83, 0xc6, 0x02, //0x000002db addq $2, %r14 + 0x49, 0x83, 0xc0, 0x02, //0x000002df addq $2, %r8 + 0x48, 0x83, 0xc0, 0xfe, //0x000002e3 addq $-2, %rax + 0x48, 0x85, 0xc0, //0x000002e7 testq %rax, %rax + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000002ea jne LBB0_29 + 0xe9, 0x0f, 0x00, 0x00, 0x00, //0x000002f0 jmp LBB0_30 + //0x000002f5 LBB0_28 + 0x48, 0x85, 0xc0, //0x000002f5 testq %rax, %rax + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x000002f8 je LBB0_30 + //0x000002fe LBB0_29 + 0x41, 0x8a, 0x06, //0x000002fe movb (%r14), %al + 0x41, 0x88, 0x00, //0x00000301 movb %al, (%r8) + //0x00000304 LBB0_30 + 0x4d, 0x29, 0xfc, //0x00000304 subq %r15, %r12 + 0x4d, 0x01, 0xec, //0x00000307 addq %r13, %r12 + 0x49, 0xf7, 0xd4, //0x0000030a notq %r12 + 0x49, 0x89, 0xd6, //0x0000030d movq %rdx, %r14 + 0x4d, 0x85, 0xe4, //0x00000310 testq %r12, %r12 + 0x0f, 0x89, 0x87, 0x00, 0x00, 0x00, //0x00000313 jns LBB0_37 + 0xe9, 0x9e, 0x01, 0x00, 0x00, //0x00000319 jmp LBB0_57 + //0x0000031e LBB0_31 + 0x4d, 0x89, 0xec, //0x0000031e movq %r13, %r12 + 0x4c, 0x89, 0xf0, //0x00000321 movq %r14, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00000324 cmpq $4, %rax + 0x0f, 0x8c, 0x13, 0x00, 0x00, 0x00, //0x00000328 jl LBB0_33 + //0x0000032e LBB0_32 + 0x41, 0x8b, 0x0c, 0x24, //0x0000032e movl (%r12), %ecx + 0x41, 0x89, 0x08, //0x00000332 movl %ecx, (%r8) + 0x49, 0x83, 0xc4, 0x04, //0x00000335 addq $4, %r12 + 0x49, 0x83, 0xc0, 0x04, //0x00000339 addq $4, %r8 + 0x48, 0x83, 0xc0, 0xfc, //0x0000033d addq $-4, %rax + //0x00000341 LBB0_33 + 0x48, 0x83, 0xf8, 0x02, //0x00000341 cmpq $2, %rax + 0x0f, 0x82, 0x23, 0x00, 0x00, 0x00, //0x00000345 jb LBB0_34 + 0x41, 0x0f, 0xb7, 0x0c, 0x24, //0x0000034b movzwl (%r12), %ecx + 0x66, 0x41, 0x89, 0x08, //0x00000350 movw %cx, (%r8) + 0x49, 0x83, 0xc4, 0x02, //0x00000354 addq $2, %r12 + 0x49, 0x83, 0xc0, 0x02, //0x00000358 addq $2, %r8 + 0x48, 0x83, 0xc0, 0xfe, //0x0000035c addq $-2, %rax + 0x48, 0x85, 0xc0, //0x00000360 testq %rax, %rax + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00000363 jne LBB0_35 + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00000369 jmp LBB0_36 + //0x0000036e LBB0_34 + 0x48, 0x85, 0xc0, //0x0000036e testq %rax, %rax + 0x0f, 0x84, 0x07, 0x00, 0x00, 0x00, //0x00000371 je LBB0_36 + //0x00000377 LBB0_35 + 0x41, 0x8a, 0x04, 0x24, //0x00000377 movb (%r12), %al + 0x41, 0x88, 0x00, //0x0000037b movb %al, (%r8) + //0x0000037e LBB0_36 + 0x4d, 0x29, 0xfd, //0x0000037e subq %r15, %r13 + 0x4d, 0x01, 0xf5, //0x00000381 addq %r14, %r13 + 0x4d, 0x89, 0xec, //0x00000384 movq %r13, %r12 + 0x49, 0x89, 0xd6, //0x00000387 movq %rdx, %r14 + 0x4d, 0x85, 0xe4, //0x0000038a testq %r12, %r12 + 0x0f, 0x88, 0x29, 0x01, 0x00, 0x00, //0x0000038d js LBB0_57 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000393 .p2align 4, 0x90 + //0x000003a0 LBB0_37 + 0x4d, 0x01, 0xe7, //0x000003a0 addq %r12, %r15 + 0x4d, 0x01, 0xe2, //0x000003a3 addq %r12, %r10 + 0x4c, 0x29, 0xe6, //0x000003a6 subq %r12, %rsi + 0x0f, 0x8e, 0x2d, 0x01, 0x00, 0x00, //0x000003a9 jle LBB0_58 + 0x4d, 0x29, 0xe1, //0x000003af subq %r12, %r9 + 0x41, 0x8a, 0x0f, //0x000003b2 movb (%r15), %cl + 0x80, 0xf9, 0xe2, //0x000003b5 cmpb $-30, %cl + 0x0f, 0x84, 0xb1, 0x00, 0x00, 0x00, //0x000003b8 je LBB0_51 + 0x4c, 0x89, 0xf8, //0x000003be movq %r15, %rax + //0x000003c1 LBB0_40 + 0x0f, 0xb6, 0xd1, //0x000003c1 movzbl %cl, %edx + 0x48, 0xc1, 0xe2, 0x04, //0x000003c4 shlq $4, %rdx + 0x4a, 0x8b, 0x3c, 0x1a, //0x000003c8 movq (%rdx,%r11), %rdi + 0x48, 0x63, 0xdf, //0x000003cc movslq %edi, %rbx + 0x49, 0x29, 0xd9, //0x000003cf subq %rbx, %r9 + 0x0f, 0x8c, 0x1b, 0x01, 0x00, 0x00, //0x000003d2 jl LBB0_60 + 0x48, 0xc1, 0xe7, 0x20, //0x000003d8 shlq $32, %rdi + 0x4e, 0x8d, 0x7c, 0x1a, 0x08, //0x000003dc leaq $8(%rdx,%r11), %r15 + 0x48, 0xb9, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, //0x000003e1 movabsq $12884901889, %rcx + 0x48, 0x39, 0xcf, //0x000003eb cmpq %rcx, %rdi + 0x0f, 0x8c, 0x2c, 0x00, 0x00, 0x00, //0x000003ee jl LBB0_43 + 0x41, 0x8b, 0x0f, //0x000003f4 movl (%r15), %ecx + 0x41, 0x89, 0x0a, //0x000003f7 movl %ecx, (%r10) + 0x4e, 0x8d, 0x7c, 0x1a, 0x0c, //0x000003fa leaq $12(%rdx,%r11), %r15 + 0x4d, 0x8d, 0x42, 0x04, //0x000003ff leaq $4(%r10), %r8 + 0x48, 0x8d, 0x7b, 0xfc, //0x00000403 leaq $-4(%rbx), %rdi + 0x48, 0x83, 0xff, 0x02, //0x00000407 cmpq $2, %rdi + 0x0f, 0x83, 0x1f, 0x00, 0x00, 0x00, //0x0000040b jae LBB0_44 + 0xe9, 0x2e, 0x00, 0x00, 0x00, //0x00000411 jmp LBB0_45 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000416 .p2align 4, 0x90 + //0x00000420 LBB0_43 + 0x4d, 0x89, 0xd0, //0x00000420 movq %r10, %r8 + 0x48, 0x89, 0xdf, //0x00000423 movq %rbx, %rdi + 0x48, 0x83, 0xff, 0x02, //0x00000426 cmpq $2, %rdi + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x0000042a jb LBB0_45 + //0x00000430 LBB0_44 + 0x41, 0x0f, 0xb7, 0x17, //0x00000430 movzwl (%r15), %edx + 0x66, 0x41, 0x89, 0x10, //0x00000434 movw %dx, (%r8) + 0x49, 0x83, 0xc7, 0x02, //0x00000438 addq $2, %r15 + 0x49, 0x83, 0xc0, 0x02, //0x0000043c addq $2, %r8 + 0x48, 0x83, 0xc7, 0xfe, //0x00000440 addq $-2, %rdi + //0x00000444 LBB0_45 + 0x48, 0x85, 0xff, //0x00000444 testq %rdi, %rdi + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00000447 je LBB0_47 + 0x41, 0x8a, 0x0f, //0x0000044d movb (%r15), %cl + 0x41, 0x88, 0x08, //0x00000450 movb %cl, (%r8) + //0x00000453 LBB0_47 + 0x49, 0x01, 0xda, //0x00000453 addq %rbx, %r10 + //0x00000456 LBB0_48 + 0x48, 0xff, 0xc0, //0x00000456 incq %rax + 0x49, 0x89, 0xc7, //0x00000459 movq %rax, %r15 + 0x48, 0x83, 0xfe, 0x01, //0x0000045c cmpq $1, %rsi + 0x48, 0x8d, 0x76, 0xff, //0x00000460 leaq $-1(%rsi), %rsi + 0x0f, 0x8f, 0x46, 0xfc, 0xff, 0xff, //0x00000464 jg LBB0_2 + 0xe9, 0x70, 0x00, 0x00, 0x00, //0x0000046a jmp LBB0_59 + //0x0000046f LBB0_51 + 0x48, 0x83, 0xfe, 0x03, //0x0000046f cmpq $3, %rsi + 0x0f, 0x8c, 0x28, 0x00, 0x00, 0x00, //0x00000473 jl LBB0_55 + 0x41, 0x80, 0x7f, 0x01, 0x80, //0x00000479 cmpb $-128, $1(%r15) + 0x0f, 0x85, 0x1d, 0x00, 0x00, 0x00, //0x0000047e jne LBB0_55 + 0x41, 0x8a, 0x4f, 0x02, //0x00000484 movb $2(%r15), %cl + 0x89, 0xc8, //0x00000488 movl %ecx, %eax + 0x24, 0xfe, //0x0000048a andb $-2, %al + 0x3c, 0xa8, //0x0000048c cmpb $-88, %al + 0x0f, 0x85, 0x0d, 0x00, 0x00, 0x00, //0x0000048e jne LBB0_55 + 0x49, 0x8d, 0x47, 0x02, //0x00000494 leaq $2(%r15), %rax + 0x48, 0x83, 0xc6, 0xfe, //0x00000498 addq $-2, %rsi + 0xe9, 0x20, 0xff, 0xff, 0xff, //0x0000049c jmp LBB0_40 + //0x000004a1 LBB0_55 + 0x4d, 0x85, 0xc9, //0x000004a1 testq %r9, %r9 + 0x0f, 0x8e, 0x54, 0x00, 0x00, 0x00, //0x000004a4 jle LBB0_61 + 0x41, 0xc6, 0x02, 0xe2, //0x000004aa movb $-30, (%r10) + 0x49, 0xff, 0xc2, //0x000004ae incq %r10 + 0x49, 0xff, 0xc9, //0x000004b1 decq %r9 + 0x4c, 0x89, 0xf8, //0x000004b4 movq %r15, %rax + 0xe9, 0x9a, 0xff, 0xff, 0xff, //0x000004b7 jmp LBB0_48 + //0x000004bc LBB0_57 + 0x4c, 0x2b, 0x55, 0xc8, //0x000004bc subq $-56(%rbp), %r10 + 0x49, 0xf7, 0xd4, //0x000004c0 notq %r12 + 0x4d, 0x01, 0xe2, //0x000004c3 addq %r12, %r10 + 0x48, 0x8b, 0x45, 0xc0, //0x000004c6 movq $-64(%rbp), %rax + 0x4c, 0x89, 0x10, //0x000004ca movq %r10, (%rax) + 0x4c, 0x2b, 0x7d, 0xd0, //0x000004cd subq $-48(%rbp), %r15 + 0x4d, 0x01, 0xe7, //0x000004d1 addq %r12, %r15 + 0x49, 0xf7, 0xd7, //0x000004d4 notq %r15 + 0xe9, 0x29, 0x00, 0x00, 0x00, //0x000004d7 jmp LBB0_62 + //0x000004dc LBB0_58 + 0x4c, 0x89, 0xf8, //0x000004dc movq %r15, %rax + //0x000004df LBB0_59 + 0x4c, 0x2b, 0x55, 0xc8, //0x000004df subq $-56(%rbp), %r10 + 0x48, 0x8b, 0x4d, 0xc0, //0x000004e3 movq $-64(%rbp), %rcx + 0x4c, 0x89, 0x11, //0x000004e7 movq %r10, (%rcx) + 0x48, 0x2b, 0x45, 0xd0, //0x000004ea subq $-48(%rbp), %rax + 0xe9, 0x15, 0x00, 0x00, 0x00, //0x000004ee jmp LBB0_63 + //0x000004f3 LBB0_60 + 0x4c, 0x2b, 0x55, 0xc8, //0x000004f3 subq $-56(%rbp), %r10 + 0x48, 0x8b, 0x45, 0xc0, //0x000004f7 movq $-64(%rbp), %rax + 0x4c, 0x89, 0x10, //0x000004fb movq %r10, (%rax) + //0x000004fe LBB0_61 + 0x49, 0xf7, 0xd7, //0x000004fe notq %r15 + 0x4c, 0x03, 0x7d, 0xd0, //0x00000501 addq $-48(%rbp), %r15 + //0x00000505 LBB0_62 + 0x4c, 0x89, 0xf8, //0x00000505 movq %r15, %rax + //0x00000508 LBB0_63 + 0x48, 0x83, 0xc4, 0x18, //0x00000508 addq $24, %rsp + 0x5b, //0x0000050c popq %rbx + 0x41, 0x5c, //0x0000050d popq %r12 + 0x41, 0x5d, //0x0000050f popq %r13 + 0x41, 0x5e, //0x00000511 popq %r14 + 0x41, 0x5f, //0x00000513 popq %r15 + 0x5d, //0x00000515 popq %rbp + 0xc3, //0x00000516 retq + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000517 .p2align 4, 0x00 + //0x00000520 __HtmlQuoteTab + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000520 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000530 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000540 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000550 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000560 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000570 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000580 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000590 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000600 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000610 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000620 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000630 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000640 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000650 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000660 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000670 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000680 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000690 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000700 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000710 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000720 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000730 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000740 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000750 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000760 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000770 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000780 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x32, 0x36, 0x00, 0x00, //0x00000788 QUAD $0x000036323030755c // .asciz 8, '\\u0026\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000790 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000800 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000810 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000820 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000830 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000840 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000850 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000860 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000870 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000880 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000890 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008e0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x33, 0x63, 0x00, 0x00, //0x000008e8 QUAD $0x000063333030755c // .asciz 8, '\\u003c\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000900 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x33, 0x65, 0x00, 0x00, //0x00000908 QUAD $0x000065333030755c // .asciz 8, '\\u003e\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000910 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000920 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000930 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000940 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000950 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000960 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000970 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000980 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000990 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000aa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ab0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ac0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ad0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ae0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000af0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ba0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000be0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ca0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ce0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000da0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000db0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000de0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000df0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ea0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000eb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ec0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ed0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ee0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ef0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fa0 .quad 6 + 0x5c, 0x75, 0x32, 0x30, 0x32, 0x38, 0x00, 0x00, //0x00000fa8 QUAD $0x000038323032755c // .asciz 8, '\\u2028\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fb0 .quad 6 + 0x5c, 0x75, 0x32, 0x30, 0x32, 0x39, 0x00, 0x00, //0x00000fb8 QUAD $0x000039323032755c // .asciz 8, '\\u2029\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fe0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ff0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001000 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001010 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001020 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001030 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001040 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001050 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001060 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001070 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001080 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001090 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001100 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001110 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001120 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001130 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001140 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001150 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001160 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001170 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001180 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001190 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001200 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001210 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001220 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001230 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001240 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001250 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001260 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001270 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001280 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001290 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001300 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001310 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001320 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001330 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001340 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001350 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001360 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001370 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001380 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001390 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001400 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001410 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001420 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001430 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001440 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001450 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001460 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001470 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001480 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001490 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001500 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001510 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/i64toa.go b/vendor/github.com/bytedance/sonic/internal/native/avx/i64toa.go new file mode 100644 index 0000000..d991719 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/i64toa.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_i64toa func(out unsafe.Pointer, val int64) (ret int) + +var S_i64toa uintptr + +//go:nosplit +func i64toa(out *byte, val int64) (ret int) { + return F_i64toa(rt.NoEscape(unsafe.Pointer(out)), val) +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/i64toa_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/i64toa_subr.go new file mode 100644 index 0000000..aafd714 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/i64toa_subr.go @@ -0,0 +1,47 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__i64toa = 64 +) + +const ( + _stack__i64toa = 8 +) + +const ( + _size__i64toa = 2272 +) + +var ( + _pcsp__i64toa = [][2]uint32{ + {1, 0}, + {170, 8}, + {171, 0}, + {505, 8}, + {506, 0}, + {637, 8}, + {638, 0}, + {1101, 8}, + {1102, 0}, + {1238, 8}, + {1239, 0}, + {1540, 8}, + {1541, 0}, + {1901, 8}, + {1902, 0}, + {2268, 8}, + {2270, 0}, + } +) + +var _cfunc_i64toa = []loader.CFunc{ + {"_i64toa_entry", 0, _entry__i64toa, 0, nil}, + {"_i64toa", _entry__i64toa, _size__i64toa, _stack__i64toa, _pcsp__i64toa}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/i64toa_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/i64toa_text_amd64.go new file mode 100644 index 0000000..de53bfe --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/i64toa_text_amd64.go @@ -0,0 +1,639 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_i64toa = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, // .quad 3518437209 + 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 3518437209 + //0x00000010 LCPI0_3 + 0x0a, 0x00, //0x00000010 .word 10 + 0x0a, 0x00, //0x00000012 .word 10 + 0x0a, 0x00, //0x00000014 .word 10 + 0x0a, 0x00, //0x00000016 .word 10 + 0x0a, 0x00, //0x00000018 .word 10 + 0x0a, 0x00, //0x0000001a .word 10 + 0x0a, 0x00, //0x0000001c .word 10 + 0x0a, 0x00, //0x0000001e .word 10 + //0x00000020 LCPI0_4 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, //0x00000020 QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + //0x00000030 .p2align 3, 0x00 + //0x00000030 LCPI0_1 + 0xc5, 0x20, 0x7b, 0x14, 0x34, 0x33, 0x00, 0x80, //0x00000030 .quad -9223315738079846203 + //0x00000038 LCPI0_2 + 0x80, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, //0x00000038 .quad -9223336852348469120 + //0x00000040 .p2align 4, 0x90 + //0x00000040 _i64toa + 0x55, //0x00000040 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000041 movq %rsp, %rbp + 0x48, 0x85, 0xf6, //0x00000044 testq %rsi, %rsi + 0x0f, 0x88, 0xaf, 0x00, 0x00, 0x00, //0x00000047 js LBB0_25 + 0x48, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x0000004d cmpq $9999, %rsi + 0x0f, 0x87, 0xf8, 0x00, 0x00, 0x00, //0x00000054 ja LBB0_9 + 0x0f, 0xb7, 0xc6, //0x0000005a movzwl %si, %eax + 0xc1, 0xe8, 0x02, //0x0000005d shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000060 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000066 shrl $17, %eax + 0x48, 0x8d, 0x14, 0x00, //0x00000069 leaq (%rax,%rax), %rdx + 0x6b, 0xc0, 0x64, //0x0000006d imull $100, %eax, %eax + 0x89, 0xf1, //0x00000070 movl %esi, %ecx + 0x29, 0xc1, //0x00000072 subl %eax, %ecx + 0x0f, 0xb7, 0xc1, //0x00000074 movzwl %cx, %eax + 0x48, 0x01, 0xc0, //0x00000077 addq %rax, %rax + 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x0000007a cmpl $1000, %esi + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000080 jb LBB0_4 + 0x48, 0x8d, 0x0d, 0x93, 0x08, 0x00, 0x00, //0x00000086 leaq $2195(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x0c, 0x0a, //0x0000008d movb (%rdx,%rcx), %cl + 0x88, 0x0f, //0x00000090 movb %cl, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000092 movl $1, %ecx + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00000097 jmp LBB0_5 + //0x0000009c LBB0_4 + 0x31, 0xc9, //0x0000009c xorl %ecx, %ecx + 0x83, 0xfe, 0x64, //0x0000009e cmpl $100, %esi + 0x0f, 0x82, 0x45, 0x00, 0x00, 0x00, //0x000000a1 jb LBB0_6 + //0x000000a7 LBB0_5 + 0x0f, 0xb7, 0xd2, //0x000000a7 movzwl %dx, %edx + 0x48, 0x83, 0xca, 0x01, //0x000000aa orq $1, %rdx + 0x48, 0x8d, 0x35, 0x6b, 0x08, 0x00, 0x00, //0x000000ae leaq $2155(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x32, //0x000000b5 movb (%rdx,%rsi), %dl + 0x89, 0xce, //0x000000b8 movl %ecx, %esi + 0xff, 0xc1, //0x000000ba incl %ecx + 0x88, 0x14, 0x37, //0x000000bc movb %dl, (%rdi,%rsi) + //0x000000bf LBB0_7 + 0x48, 0x8d, 0x15, 0x5a, 0x08, 0x00, 0x00, //0x000000bf leaq $2138(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x10, //0x000000c6 movb (%rax,%rdx), %dl + 0x89, 0xce, //0x000000c9 movl %ecx, %esi + 0xff, 0xc1, //0x000000cb incl %ecx + 0x88, 0x14, 0x37, //0x000000cd movb %dl, (%rdi,%rsi) + //0x000000d0 LBB0_8 + 0x0f, 0xb7, 0xc0, //0x000000d0 movzwl %ax, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000000d3 orq $1, %rax + 0x48, 0x8d, 0x15, 0x42, 0x08, 0x00, 0x00, //0x000000d7 leaq $2114(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x10, //0x000000de movb (%rax,%rdx), %al + 0x89, 0xca, //0x000000e1 movl %ecx, %edx + 0xff, 0xc1, //0x000000e3 incl %ecx + 0x88, 0x04, 0x17, //0x000000e5 movb %al, (%rdi,%rdx) + 0x89, 0xc8, //0x000000e8 movl %ecx, %eax + 0x5d, //0x000000ea popq %rbp + 0xc3, //0x000000eb retq + //0x000000ec LBB0_6 + 0x31, 0xc9, //0x000000ec xorl %ecx, %ecx + 0x83, 0xfe, 0x0a, //0x000000ee cmpl $10, %esi + 0x0f, 0x83, 0xc8, 0xff, 0xff, 0xff, //0x000000f1 jae LBB0_7 + 0xe9, 0xd4, 0xff, 0xff, 0xff, //0x000000f7 jmp LBB0_8 + //0x000000fc LBB0_25 + 0xc6, 0x07, 0x2d, //0x000000fc movb $45, (%rdi) + 0x48, 0xf7, 0xde, //0x000000ff negq %rsi + 0x48, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x00000102 cmpq $9999, %rsi + 0x0f, 0x87, 0xd3, 0x01, 0x00, 0x00, //0x00000109 ja LBB0_33 + 0x0f, 0xb7, 0xc6, //0x0000010f movzwl %si, %eax + 0xc1, 0xe8, 0x02, //0x00000112 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000115 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x0000011b shrl $17, %eax + 0x48, 0x8d, 0x14, 0x00, //0x0000011e leaq (%rax,%rax), %rdx + 0x6b, 0xc0, 0x64, //0x00000122 imull $100, %eax, %eax + 0x89, 0xf1, //0x00000125 movl %esi, %ecx + 0x29, 0xc1, //0x00000127 subl %eax, %ecx + 0x0f, 0xb7, 0xc1, //0x00000129 movzwl %cx, %eax + 0x48, 0x01, 0xc0, //0x0000012c addq %rax, %rax + 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x0000012f cmpl $1000, %esi + 0x0f, 0x82, 0xab, 0x00, 0x00, 0x00, //0x00000135 jb LBB0_28 + 0x48, 0x8d, 0x0d, 0xde, 0x07, 0x00, 0x00, //0x0000013b leaq $2014(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x0c, 0x0a, //0x00000142 movb (%rdx,%rcx), %cl + 0x88, 0x4f, 0x01, //0x00000145 movb %cl, $1(%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000148 movl $1, %ecx + 0xe9, 0x9f, 0x00, 0x00, 0x00, //0x0000014d jmp LBB0_29 + //0x00000152 LBB0_9 + 0x48, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x00000152 cmpq $99999999, %rsi + 0x0f, 0x87, 0x18, 0x02, 0x00, 0x00, //0x00000159 ja LBB0_17 + 0x89, 0xf0, //0x0000015f movl %esi, %eax + 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x00000161 movl $3518437209, %edx + 0x48, 0x0f, 0xaf, 0xd0, //0x00000166 imulq %rax, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x0000016a shrq $45, %rdx + 0x44, 0x69, 0xc2, 0x10, 0x27, 0x00, 0x00, //0x0000016e imull $10000, %edx, %r8d + 0x89, 0xf1, //0x00000175 movl %esi, %ecx + 0x44, 0x29, 0xc1, //0x00000177 subl %r8d, %ecx + 0x4c, 0x69, 0xd0, 0x83, 0xde, 0x1b, 0x43, //0x0000017a imulq $1125899907, %rax, %r10 + 0x49, 0xc1, 0xea, 0x31, //0x00000181 shrq $49, %r10 + 0x41, 0x83, 0xe2, 0xfe, //0x00000185 andl $-2, %r10d + 0x0f, 0xb7, 0xc2, //0x00000189 movzwl %dx, %eax + 0xc1, 0xe8, 0x02, //0x0000018c shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000018f imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000195 shrl $17, %eax + 0x6b, 0xc0, 0x64, //0x00000198 imull $100, %eax, %eax + 0x29, 0xc2, //0x0000019b subl %eax, %edx + 0x44, 0x0f, 0xb7, 0xca, //0x0000019d movzwl %dx, %r9d + 0x4d, 0x01, 0xc9, //0x000001a1 addq %r9, %r9 + 0x0f, 0xb7, 0xc1, //0x000001a4 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x000001a7 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000001aa imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x000001b0 shrl $17, %eax + 0x4c, 0x8d, 0x04, 0x00, //0x000001b3 leaq (%rax,%rax), %r8 + 0x6b, 0xc0, 0x64, //0x000001b7 imull $100, %eax, %eax + 0x29, 0xc1, //0x000001ba subl %eax, %ecx + 0x44, 0x0f, 0xb7, 0xd9, //0x000001bc movzwl %cx, %r11d + 0x4d, 0x01, 0xdb, //0x000001c0 addq %r11, %r11 + 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x000001c3 cmpl $10000000, %esi + 0x0f, 0x82, 0x6c, 0x00, 0x00, 0x00, //0x000001c9 jb LBB0_12 + 0x48, 0x8d, 0x05, 0x4a, 0x07, 0x00, 0x00, //0x000001cf leaq $1866(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x02, //0x000001d6 movb (%r10,%rax), %al + 0x88, 0x07, //0x000001da movb %al, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000001dc movl $1, %ecx + 0xe9, 0x63, 0x00, 0x00, 0x00, //0x000001e1 jmp LBB0_13 + //0x000001e6 LBB0_28 + 0x31, 0xc9, //0x000001e6 xorl %ecx, %ecx + 0x83, 0xfe, 0x64, //0x000001e8 cmpl $100, %esi + 0x0f, 0x82, 0xce, 0x00, 0x00, 0x00, //0x000001eb jb LBB0_30 + //0x000001f1 LBB0_29 + 0x0f, 0xb7, 0xd2, //0x000001f1 movzwl %dx, %edx + 0x48, 0x83, 0xca, 0x01, //0x000001f4 orq $1, %rdx + 0x48, 0x8d, 0x35, 0x21, 0x07, 0x00, 0x00, //0x000001f8 leaq $1825(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x32, //0x000001ff movb (%rdx,%rsi), %dl + 0x89, 0xce, //0x00000202 movl %ecx, %esi + 0xff, 0xc1, //0x00000204 incl %ecx + 0x88, 0x54, 0x37, 0x01, //0x00000206 movb %dl, $1(%rdi,%rsi) + //0x0000020a LBB0_31 + 0x48, 0x8d, 0x15, 0x0f, 0x07, 0x00, 0x00, //0x0000020a leaq $1807(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x10, //0x00000211 movb (%rax,%rdx), %dl + 0x89, 0xce, //0x00000214 movl %ecx, %esi + 0xff, 0xc1, //0x00000216 incl %ecx + 0x88, 0x54, 0x37, 0x01, //0x00000218 movb %dl, $1(%rdi,%rsi) + //0x0000021c LBB0_32 + 0x0f, 0xb7, 0xc0, //0x0000021c movzwl %ax, %eax + 0x48, 0x83, 0xc8, 0x01, //0x0000021f orq $1, %rax + 0x48, 0x8d, 0x15, 0xf6, 0x06, 0x00, 0x00, //0x00000223 leaq $1782(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x10, //0x0000022a movb (%rax,%rdx), %al + 0x89, 0xca, //0x0000022d movl %ecx, %edx + 0xff, 0xc1, //0x0000022f incl %ecx + 0x88, 0x44, 0x17, 0x01, //0x00000231 movb %al, $1(%rdi,%rdx) + 0xff, 0xc1, //0x00000235 incl %ecx + 0x89, 0xc8, //0x00000237 movl %ecx, %eax + 0x5d, //0x00000239 popq %rbp + 0xc3, //0x0000023a retq + //0x0000023b LBB0_12 + 0x31, 0xc9, //0x0000023b xorl %ecx, %ecx + 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x0000023d cmpl $1000000, %esi + 0x0f, 0x82, 0x86, 0x00, 0x00, 0x00, //0x00000243 jb LBB0_14 + //0x00000249 LBB0_13 + 0x44, 0x89, 0xd0, //0x00000249 movl %r10d, %eax + 0x48, 0x83, 0xc8, 0x01, //0x0000024c orq $1, %rax + 0x48, 0x8d, 0x35, 0xc9, 0x06, 0x00, 0x00, //0x00000250 leaq $1737(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x00000257 movb (%rax,%rsi), %al + 0x89, 0xce, //0x0000025a movl %ecx, %esi + 0xff, 0xc1, //0x0000025c incl %ecx + 0x88, 0x04, 0x37, //0x0000025e movb %al, (%rdi,%rsi) + //0x00000261 LBB0_15 + 0x48, 0x8d, 0x05, 0xb8, 0x06, 0x00, 0x00, //0x00000261 leaq $1720(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x01, //0x00000268 movb (%r9,%rax), %al + 0x89, 0xce, //0x0000026c movl %ecx, %esi + 0xff, 0xc1, //0x0000026e incl %ecx + 0x88, 0x04, 0x37, //0x00000270 movb %al, (%rdi,%rsi) + //0x00000273 LBB0_16 + 0x41, 0x0f, 0xb7, 0xc1, //0x00000273 movzwl %r9w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x00000277 orq $1, %rax + 0x48, 0x8d, 0x35, 0x9e, 0x06, 0x00, 0x00, //0x0000027b leaq $1694(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x00000282 movb (%rax,%rsi), %al + 0x89, 0xca, //0x00000285 movl %ecx, %edx + 0x88, 0x04, 0x3a, //0x00000287 movb %al, (%rdx,%rdi) + 0x41, 0x8a, 0x04, 0x30, //0x0000028a movb (%r8,%rsi), %al + 0x88, 0x44, 0x3a, 0x01, //0x0000028e movb %al, $1(%rdx,%rdi) + 0x41, 0x0f, 0xb7, 0xc0, //0x00000292 movzwl %r8w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x00000296 orq $1, %rax + 0x8a, 0x04, 0x30, //0x0000029a movb (%rax,%rsi), %al + 0x88, 0x44, 0x3a, 0x02, //0x0000029d movb %al, $2(%rdx,%rdi) + 0x41, 0x8a, 0x04, 0x33, //0x000002a1 movb (%r11,%rsi), %al + 0x88, 0x44, 0x3a, 0x03, //0x000002a5 movb %al, $3(%rdx,%rdi) + 0x41, 0x0f, 0xb7, 0xc3, //0x000002a9 movzwl %r11w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000002ad orq $1, %rax + 0x8a, 0x04, 0x30, //0x000002b1 movb (%rax,%rsi), %al + 0x83, 0xc1, 0x05, //0x000002b4 addl $5, %ecx + 0x88, 0x44, 0x3a, 0x04, //0x000002b7 movb %al, $4(%rdx,%rdi) + 0x89, 0xc8, //0x000002bb movl %ecx, %eax + 0x5d, //0x000002bd popq %rbp + 0xc3, //0x000002be retq + //0x000002bf LBB0_30 + 0x31, 0xc9, //0x000002bf xorl %ecx, %ecx + 0x83, 0xfe, 0x0a, //0x000002c1 cmpl $10, %esi + 0x0f, 0x83, 0x40, 0xff, 0xff, 0xff, //0x000002c4 jae LBB0_31 + 0xe9, 0x4d, 0xff, 0xff, 0xff, //0x000002ca jmp LBB0_32 + //0x000002cf LBB0_14 + 0x31, 0xc9, //0x000002cf xorl %ecx, %ecx + 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x000002d1 cmpl $100000, %esi + 0x0f, 0x83, 0x84, 0xff, 0xff, 0xff, //0x000002d7 jae LBB0_15 + 0xe9, 0x91, 0xff, 0xff, 0xff, //0x000002dd jmp LBB0_16 + //0x000002e2 LBB0_33 + 0x48, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x000002e2 cmpq $99999999, %rsi + 0x0f, 0x87, 0x3c, 0x02, 0x00, 0x00, //0x000002e9 ja LBB0_41 + 0x89, 0xf0, //0x000002ef movl %esi, %eax + 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000002f1 movl $3518437209, %edx + 0x48, 0x0f, 0xaf, 0xd0, //0x000002f6 imulq %rax, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x000002fa shrq $45, %rdx + 0x44, 0x69, 0xc2, 0x10, 0x27, 0x00, 0x00, //0x000002fe imull $10000, %edx, %r8d + 0x89, 0xf1, //0x00000305 movl %esi, %ecx + 0x44, 0x29, 0xc1, //0x00000307 subl %r8d, %ecx + 0x4c, 0x69, 0xd0, 0x83, 0xde, 0x1b, 0x43, //0x0000030a imulq $1125899907, %rax, %r10 + 0x49, 0xc1, 0xea, 0x31, //0x00000311 shrq $49, %r10 + 0x41, 0x83, 0xe2, 0xfe, //0x00000315 andl $-2, %r10d + 0x0f, 0xb7, 0xc2, //0x00000319 movzwl %dx, %eax + 0xc1, 0xe8, 0x02, //0x0000031c shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000031f imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000325 shrl $17, %eax + 0x6b, 0xc0, 0x64, //0x00000328 imull $100, %eax, %eax + 0x29, 0xc2, //0x0000032b subl %eax, %edx + 0x44, 0x0f, 0xb7, 0xca, //0x0000032d movzwl %dx, %r9d + 0x4d, 0x01, 0xc9, //0x00000331 addq %r9, %r9 + 0x0f, 0xb7, 0xc1, //0x00000334 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x00000337 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000033a imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000340 shrl $17, %eax + 0x4c, 0x8d, 0x04, 0x00, //0x00000343 leaq (%rax,%rax), %r8 + 0x6b, 0xc0, 0x64, //0x00000347 imull $100, %eax, %eax + 0x29, 0xc1, //0x0000034a subl %eax, %ecx + 0x44, 0x0f, 0xb7, 0xd9, //0x0000034c movzwl %cx, %r11d + 0x4d, 0x01, 0xdb, //0x00000350 addq %r11, %r11 + 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x00000353 cmpl $10000000, %esi + 0x0f, 0x82, 0x30, 0x01, 0x00, 0x00, //0x00000359 jb LBB0_36 + 0x48, 0x8d, 0x05, 0xba, 0x05, 0x00, 0x00, //0x0000035f leaq $1466(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x02, //0x00000366 movb (%r10,%rax), %al + 0x88, 0x47, 0x01, //0x0000036a movb %al, $1(%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000036d movl $1, %ecx + 0xe9, 0x26, 0x01, 0x00, 0x00, //0x00000372 jmp LBB0_37 + //0x00000377 LBB0_17 + 0x48, 0xb9, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x00000377 movabsq $10000000000000000, %rcx + 0x48, 0x39, 0xce, //0x00000381 cmpq %rcx, %rsi + 0x0f, 0x83, 0xbc, 0x02, 0x00, 0x00, //0x00000384 jae LBB0_19 + 0x48, 0xb9, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x0000038a movabsq $-6067343680855748867, %rcx + 0x48, 0x89, 0xf0, //0x00000394 movq %rsi, %rax + 0x48, 0xf7, 0xe1, //0x00000397 mulq %rcx + 0x48, 0xc1, 0xea, 0x1a, //0x0000039a shrq $26, %rdx + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x0000039e imull $100000000, %edx, %eax + 0x29, 0xc6, //0x000003a4 subl %eax, %esi + 0xc5, 0xf9, 0x6e, 0xc2, //0x000003a6 vmovd %edx, %xmm0 + 0xc5, 0xfa, 0x6f, 0x0d, 0x4e, 0xfc, 0xff, 0xff, //0x000003aa vmovdqu $-946(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0xf4, 0xd1, //0x000003b2 vpmuludq %xmm1, %xmm0, %xmm2 + 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x000003b6 vpsrlq $45, %xmm2, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x000003bb movl $10000, %eax + 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x000003c0 vmovq %rax, %xmm3 + 0xc5, 0xe9, 0xf4, 0xe3, //0x000003c5 vpmuludq %xmm3, %xmm2, %xmm4 + 0xc5, 0xf9, 0xfa, 0xc4, //0x000003c9 vpsubd %xmm4, %xmm0, %xmm0 + 0xc5, 0xe9, 0x61, 0xc0, //0x000003cd vpunpcklwd %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x000003d1 vpsllq $2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x000003d6 vpshuflw $80, %xmm0, %xmm0 + 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x000003db vpshufd $80, %xmm0, %xmm0 + 0xc5, 0xfb, 0x12, 0x15, 0x48, 0xfc, 0xff, 0xff, //0x000003e0 vmovddup $-952(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc2, //0x000003e8 vpmulhuw %xmm2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x12, 0x25, 0x44, 0xfc, 0xff, 0xff, //0x000003ec vmovddup $-956(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc4, //0x000003f4 vpmulhuw %xmm4, %xmm0, %xmm0 + 0xc5, 0xfa, 0x6f, 0x2d, 0x10, 0xfc, 0xff, 0xff, //0x000003f8 vmovdqu $-1008(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0xd5, 0xf5, //0x00000400 vpmullw %xmm5, %xmm0, %xmm6 + 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x00000404 vpsllq $16, %xmm6, %xmm6 + 0xc5, 0xf9, 0xf9, 0xc6, //0x00000409 vpsubw %xmm6, %xmm0, %xmm0 + 0xc5, 0xf9, 0x6e, 0xf6, //0x0000040d vmovd %esi, %xmm6 + 0xc5, 0xc9, 0xf4, 0xc9, //0x00000411 vpmuludq %xmm1, %xmm6, %xmm1 + 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x00000415 vpsrlq $45, %xmm1, %xmm1 + 0xc5, 0xf1, 0xf4, 0xdb, //0x0000041a vpmuludq %xmm3, %xmm1, %xmm3 + 0xc5, 0xc9, 0xfa, 0xdb, //0x0000041e vpsubd %xmm3, %xmm6, %xmm3 + 0xc5, 0xf1, 0x61, 0xcb, //0x00000422 vpunpcklwd %xmm3, %xmm1, %xmm1 + 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x00000426 vpsllq $2, %xmm1, %xmm1 + 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x0000042b vpshuflw $80, %xmm1, %xmm1 + 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x00000430 vpshufd $80, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xca, //0x00000435 vpmulhuw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xcc, //0x00000439 vpmulhuw %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xd5, 0xd5, //0x0000043d vpmullw %xmm5, %xmm1, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x00000441 vpsllq $16, %xmm2, %xmm2 + 0xc5, 0xf1, 0xf9, 0xca, //0x00000446 vpsubw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x67, 0xc1, //0x0000044a vpackuswb %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xfc, 0x0d, 0xca, 0xfb, 0xff, 0xff, //0x0000044e vpaddb $-1078(%rip), %xmm0, %xmm1 /* LCPI0_4+0(%rip) */ + 0xc5, 0xe9, 0xef, 0xd2, //0x00000456 vpxor %xmm2, %xmm2, %xmm2 + 0xc5, 0xf9, 0x74, 0xc2, //0x0000045a vpcmpeqb %xmm2, %xmm0, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x0000045e vpmovmskb %xmm0, %eax + 0x0d, 0x00, 0x80, 0x00, 0x00, //0x00000462 orl $32768, %eax + 0x35, 0xff, 0x7f, 0xff, 0xff, //0x00000467 xorl $-32769, %eax + 0x0f, 0xbc, 0xc0, //0x0000046c bsfl %eax, %eax + 0xb9, 0x10, 0x00, 0x00, 0x00, //0x0000046f movl $16, %ecx + 0x29, 0xc1, //0x00000474 subl %eax, %ecx + 0x48, 0xc1, 0xe0, 0x04, //0x00000476 shlq $4, %rax + 0x48, 0x8d, 0x15, 0x6f, 0x05, 0x00, 0x00, //0x0000047a leaq $1391(%rip), %rdx /* _VecShiftShuffles+0(%rip) */ + 0xc4, 0xe2, 0x71, 0x00, 0x04, 0x10, //0x00000481 vpshufb (%rax,%rdx), %xmm1, %xmm0 + 0xc5, 0xfa, 0x7f, 0x07, //0x00000487 vmovdqu %xmm0, (%rdi) + 0x89, 0xc8, //0x0000048b movl %ecx, %eax + 0x5d, //0x0000048d popq %rbp + 0xc3, //0x0000048e retq + //0x0000048f LBB0_36 + 0x31, 0xc9, //0x0000048f xorl %ecx, %ecx + 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x00000491 cmpl $1000000, %esi + 0x0f, 0x82, 0x7b, 0x00, 0x00, 0x00, //0x00000497 jb LBB0_38 + //0x0000049d LBB0_37 + 0x44, 0x89, 0xd0, //0x0000049d movl %r10d, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000004a0 orq $1, %rax + 0x48, 0x8d, 0x35, 0x75, 0x04, 0x00, 0x00, //0x000004a4 leaq $1141(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x000004ab movb (%rax,%rsi), %al + 0x89, 0xce, //0x000004ae movl %ecx, %esi + 0xff, 0xc1, //0x000004b0 incl %ecx + 0x88, 0x44, 0x37, 0x01, //0x000004b2 movb %al, $1(%rdi,%rsi) + //0x000004b6 LBB0_39 + 0x48, 0x8d, 0x05, 0x63, 0x04, 0x00, 0x00, //0x000004b6 leaq $1123(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x01, //0x000004bd movb (%r9,%rax), %al + 0x89, 0xce, //0x000004c1 movl %ecx, %esi + 0xff, 0xc1, //0x000004c3 incl %ecx + 0x88, 0x44, 0x37, 0x01, //0x000004c5 movb %al, $1(%rdi,%rsi) + //0x000004c9 LBB0_40 + 0x41, 0x0f, 0xb7, 0xc1, //0x000004c9 movzwl %r9w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000004cd orq $1, %rax + 0x48, 0x8d, 0x35, 0x48, 0x04, 0x00, 0x00, //0x000004d1 leaq $1096(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x000004d8 movb (%rax,%rsi), %al + 0x89, 0xca, //0x000004db movl %ecx, %edx + 0x88, 0x44, 0x17, 0x01, //0x000004dd movb %al, $1(%rdi,%rdx) + 0x41, 0x8a, 0x04, 0x30, //0x000004e1 movb (%r8,%rsi), %al + 0x88, 0x44, 0x17, 0x02, //0x000004e5 movb %al, $2(%rdi,%rdx) + 0x41, 0x0f, 0xb7, 0xc0, //0x000004e9 movzwl %r8w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000004ed orq $1, %rax + 0x8a, 0x04, 0x30, //0x000004f1 movb (%rax,%rsi), %al + 0x88, 0x44, 0x17, 0x03, //0x000004f4 movb %al, $3(%rdi,%rdx) + 0x41, 0x8a, 0x04, 0x33, //0x000004f8 movb (%r11,%rsi), %al + 0x88, 0x44, 0x17, 0x04, //0x000004fc movb %al, $4(%rdi,%rdx) + 0x41, 0x0f, 0xb7, 0xc3, //0x00000500 movzwl %r11w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x00000504 orq $1, %rax + 0x8a, 0x04, 0x30, //0x00000508 movb (%rax,%rsi), %al + 0x83, 0xc1, 0x05, //0x0000050b addl $5, %ecx + 0x88, 0x44, 0x17, 0x05, //0x0000050e movb %al, $5(%rdi,%rdx) + 0xff, 0xc1, //0x00000512 incl %ecx + 0x89, 0xc8, //0x00000514 movl %ecx, %eax + 0x5d, //0x00000516 popq %rbp + 0xc3, //0x00000517 retq + //0x00000518 LBB0_38 + 0x31, 0xc9, //0x00000518 xorl %ecx, %ecx + 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x0000051a cmpl $100000, %esi + 0x0f, 0x83, 0x90, 0xff, 0xff, 0xff, //0x00000520 jae LBB0_39 + 0xe9, 0x9e, 0xff, 0xff, 0xff, //0x00000526 jmp LBB0_40 + //0x0000052b LBB0_41 + 0x48, 0xb9, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x0000052b movabsq $10000000000000000, %rcx + 0x48, 0x39, 0xce, //0x00000535 cmpq %rcx, %rsi + 0x0f, 0x83, 0x71, 0x02, 0x00, 0x00, //0x00000538 jae LBB0_43 + 0x48, 0xb9, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x0000053e movabsq $-6067343680855748867, %rcx + 0x48, 0x89, 0xf0, //0x00000548 movq %rsi, %rax + 0x48, 0xf7, 0xe1, //0x0000054b mulq %rcx + 0x48, 0xc1, 0xea, 0x1a, //0x0000054e shrq $26, %rdx + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x00000552 imull $100000000, %edx, %eax + 0x29, 0xc6, //0x00000558 subl %eax, %esi + 0xc5, 0xf9, 0x6e, 0xc2, //0x0000055a vmovd %edx, %xmm0 + 0xc5, 0xfa, 0x6f, 0x0d, 0x9a, 0xfa, 0xff, 0xff, //0x0000055e vmovdqu $-1382(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0xf4, 0xd1, //0x00000566 vpmuludq %xmm1, %xmm0, %xmm2 + 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x0000056a vpsrlq $45, %xmm2, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x0000056f movl $10000, %eax + 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x00000574 vmovq %rax, %xmm3 + 0xc5, 0xe9, 0xf4, 0xe3, //0x00000579 vpmuludq %xmm3, %xmm2, %xmm4 + 0xc5, 0xf9, 0xfa, 0xc4, //0x0000057d vpsubd %xmm4, %xmm0, %xmm0 + 0xc5, 0xe9, 0x61, 0xc0, //0x00000581 vpunpcklwd %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x00000585 vpsllq $2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x0000058a vpshuflw $80, %xmm0, %xmm0 + 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x0000058f vpshufd $80, %xmm0, %xmm0 + 0xc5, 0xfb, 0x12, 0x15, 0x94, 0xfa, 0xff, 0xff, //0x00000594 vmovddup $-1388(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc2, //0x0000059c vpmulhuw %xmm2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x12, 0x25, 0x90, 0xfa, 0xff, 0xff, //0x000005a0 vmovddup $-1392(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc4, //0x000005a8 vpmulhuw %xmm4, %xmm0, %xmm0 + 0xc5, 0xfa, 0x6f, 0x2d, 0x5c, 0xfa, 0xff, 0xff, //0x000005ac vmovdqu $-1444(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0xd5, 0xf5, //0x000005b4 vpmullw %xmm5, %xmm0, %xmm6 + 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x000005b8 vpsllq $16, %xmm6, %xmm6 + 0xc5, 0xf9, 0xf9, 0xc6, //0x000005bd vpsubw %xmm6, %xmm0, %xmm0 + 0xc5, 0xf9, 0x6e, 0xf6, //0x000005c1 vmovd %esi, %xmm6 + 0xc5, 0xc9, 0xf4, 0xc9, //0x000005c5 vpmuludq %xmm1, %xmm6, %xmm1 + 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x000005c9 vpsrlq $45, %xmm1, %xmm1 + 0xc5, 0xf1, 0xf4, 0xdb, //0x000005ce vpmuludq %xmm3, %xmm1, %xmm3 + 0xc5, 0xc9, 0xfa, 0xdb, //0x000005d2 vpsubd %xmm3, %xmm6, %xmm3 + 0xc5, 0xf1, 0x61, 0xcb, //0x000005d6 vpunpcklwd %xmm3, %xmm1, %xmm1 + 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x000005da vpsllq $2, %xmm1, %xmm1 + 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x000005df vpshuflw $80, %xmm1, %xmm1 + 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x000005e4 vpshufd $80, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xca, //0x000005e9 vpmulhuw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xcc, //0x000005ed vpmulhuw %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xd5, 0xd5, //0x000005f1 vpmullw %xmm5, %xmm1, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x000005f5 vpsllq $16, %xmm2, %xmm2 + 0xc5, 0xf1, 0xf9, 0xca, //0x000005fa vpsubw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x67, 0xc1, //0x000005fe vpackuswb %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xfc, 0x0d, 0x16, 0xfa, 0xff, 0xff, //0x00000602 vpaddb $-1514(%rip), %xmm0, %xmm1 /* LCPI0_4+0(%rip) */ + 0xc5, 0xe9, 0xef, 0xd2, //0x0000060a vpxor %xmm2, %xmm2, %xmm2 + 0xc5, 0xf9, 0x74, 0xc2, //0x0000060e vpcmpeqb %xmm2, %xmm0, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x00000612 vpmovmskb %xmm0, %eax + 0x0d, 0x00, 0x80, 0x00, 0x00, //0x00000616 orl $32768, %eax + 0x35, 0xff, 0x7f, 0xff, 0xff, //0x0000061b xorl $-32769, %eax + 0x0f, 0xbc, 0xc0, //0x00000620 bsfl %eax, %eax + 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00000623 movl $16, %ecx + 0x29, 0xc1, //0x00000628 subl %eax, %ecx + 0x48, 0xc1, 0xe0, 0x04, //0x0000062a shlq $4, %rax + 0x48, 0x8d, 0x15, 0xbb, 0x03, 0x00, 0x00, //0x0000062e leaq $955(%rip), %rdx /* _VecShiftShuffles+0(%rip) */ + 0xc4, 0xe2, 0x71, 0x00, 0x04, 0x10, //0x00000635 vpshufb (%rax,%rdx), %xmm1, %xmm0 + 0xc5, 0xfa, 0x7f, 0x47, 0x01, //0x0000063b vmovdqu %xmm0, $1(%rdi) + 0xff, 0xc1, //0x00000640 incl %ecx + 0x89, 0xc8, //0x00000642 movl %ecx, %eax + 0x5d, //0x00000644 popq %rbp + 0xc3, //0x00000645 retq + //0x00000646 LBB0_19 + 0x48, 0xba, 0x57, 0x78, 0x13, 0xb1, 0x2f, 0x65, 0xa5, 0x39, //0x00000646 movabsq $4153837486827862103, %rdx + 0x48, 0x89, 0xf0, //0x00000650 movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x00000653 mulq %rdx + 0x48, 0xc1, 0xea, 0x33, //0x00000656 shrq $51, %rdx + 0x48, 0x0f, 0xaf, 0xca, //0x0000065a imulq %rdx, %rcx + 0x48, 0x29, 0xce, //0x0000065e subq %rcx, %rsi + 0x83, 0xfa, 0x09, //0x00000661 cmpl $9, %edx + 0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x00000664 ja LBB0_21 + 0x80, 0xc2, 0x30, //0x0000066a addb $48, %dl + 0x88, 0x17, //0x0000066d movb %dl, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000066f movl $1, %ecx + 0xe9, 0x5c, 0x00, 0x00, 0x00, //0x00000674 jmp LBB0_24 + //0x00000679 LBB0_21 + 0x83, 0xfa, 0x63, //0x00000679 cmpl $99, %edx + 0x0f, 0x87, 0x1f, 0x00, 0x00, 0x00, //0x0000067c ja LBB0_23 + 0x89, 0xd0, //0x00000682 movl %edx, %eax + 0x48, 0x8d, 0x0d, 0x95, 0x02, 0x00, 0x00, //0x00000684 leaq $661(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x0000068b movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x0000068e movb $1(%rcx,%rax,2), %al + 0x88, 0x17, //0x00000692 movb %dl, (%rdi) + 0x88, 0x47, 0x01, //0x00000694 movb %al, $1(%rdi) + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x00000697 movl $2, %ecx + 0xe9, 0x34, 0x00, 0x00, 0x00, //0x0000069c jmp LBB0_24 + //0x000006a1 LBB0_23 + 0x89, 0xd0, //0x000006a1 movl %edx, %eax + 0xc1, 0xe8, 0x02, //0x000006a3 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000006a6 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x000006ac shrl $17, %eax + 0x8d, 0x48, 0x30, //0x000006af leal $48(%rax), %ecx + 0x88, 0x0f, //0x000006b2 movb %cl, (%rdi) + 0x6b, 0xc0, 0x64, //0x000006b4 imull $100, %eax, %eax + 0x29, 0xc2, //0x000006b7 subl %eax, %edx + 0x0f, 0xb7, 0xc2, //0x000006b9 movzwl %dx, %eax + 0x48, 0x8d, 0x0d, 0x5d, 0x02, 0x00, 0x00, //0x000006bc leaq $605(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x000006c3 movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x000006c6 movb $1(%rcx,%rax,2), %al + 0x88, 0x57, 0x01, //0x000006ca movb %dl, $1(%rdi) + 0x88, 0x47, 0x02, //0x000006cd movb %al, $2(%rdi) + 0xb9, 0x03, 0x00, 0x00, 0x00, //0x000006d0 movl $3, %ecx + //0x000006d5 LBB0_24 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x000006d5 movabsq $-6067343680855748867, %rdx + 0x48, 0x89, 0xf0, //0x000006df movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x000006e2 mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x000006e5 shrq $26, %rdx + 0xc5, 0xf9, 0x6e, 0xc2, //0x000006e9 vmovd %edx, %xmm0 + 0xc5, 0xfa, 0x6f, 0x0d, 0x0b, 0xf9, 0xff, 0xff, //0x000006ed vmovdqu $-1781(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0xf4, 0xd1, //0x000006f5 vpmuludq %xmm1, %xmm0, %xmm2 + 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x000006f9 vpsrlq $45, %xmm2, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x000006fe movl $10000, %eax + 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x00000703 vmovq %rax, %xmm3 + 0xc5, 0xe9, 0xf4, 0xe3, //0x00000708 vpmuludq %xmm3, %xmm2, %xmm4 + 0xc5, 0xf9, 0xfa, 0xc4, //0x0000070c vpsubd %xmm4, %xmm0, %xmm0 + 0xc5, 0xe9, 0x61, 0xc0, //0x00000710 vpunpcklwd %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x00000714 vpsllq $2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x00000719 vpshuflw $80, %xmm0, %xmm0 + 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x0000071e vpshufd $80, %xmm0, %xmm0 + 0xc5, 0xfb, 0x12, 0x15, 0x05, 0xf9, 0xff, 0xff, //0x00000723 vmovddup $-1787(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc2, //0x0000072b vpmulhuw %xmm2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x12, 0x25, 0x01, 0xf9, 0xff, 0xff, //0x0000072f vmovddup $-1791(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc4, //0x00000737 vpmulhuw %xmm4, %xmm0, %xmm0 + 0xc5, 0xfa, 0x6f, 0x2d, 0xcd, 0xf8, 0xff, 0xff, //0x0000073b vmovdqu $-1843(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0xd5, 0xf5, //0x00000743 vpmullw %xmm5, %xmm0, %xmm6 + 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x00000747 vpsllq $16, %xmm6, %xmm6 + 0xc5, 0xf9, 0xf9, 0xc6, //0x0000074c vpsubw %xmm6, %xmm0, %xmm0 + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x00000750 imull $100000000, %edx, %eax + 0x29, 0xc6, //0x00000756 subl %eax, %esi + 0xc5, 0xf9, 0x6e, 0xf6, //0x00000758 vmovd %esi, %xmm6 + 0xc5, 0xc9, 0xf4, 0xc9, //0x0000075c vpmuludq %xmm1, %xmm6, %xmm1 + 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x00000760 vpsrlq $45, %xmm1, %xmm1 + 0xc5, 0xf1, 0xf4, 0xdb, //0x00000765 vpmuludq %xmm3, %xmm1, %xmm3 + 0xc5, 0xc9, 0xfa, 0xdb, //0x00000769 vpsubd %xmm3, %xmm6, %xmm3 + 0xc5, 0xf1, 0x61, 0xcb, //0x0000076d vpunpcklwd %xmm3, %xmm1, %xmm1 + 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x00000771 vpsllq $2, %xmm1, %xmm1 + 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x00000776 vpshuflw $80, %xmm1, %xmm1 + 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x0000077b vpshufd $80, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xca, //0x00000780 vpmulhuw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xcc, //0x00000784 vpmulhuw %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xd5, 0xd5, //0x00000788 vpmullw %xmm5, %xmm1, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x0000078c vpsllq $16, %xmm2, %xmm2 + 0xc5, 0xf1, 0xf9, 0xca, //0x00000791 vpsubw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x67, 0xc1, //0x00000795 vpackuswb %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xfc, 0x05, 0x7f, 0xf8, 0xff, 0xff, //0x00000799 vpaddb $-1921(%rip), %xmm0, %xmm0 /* LCPI0_4+0(%rip) */ + 0x89, 0xc8, //0x000007a1 movl %ecx, %eax + 0xc5, 0xfa, 0x7f, 0x04, 0x07, //0x000007a3 vmovdqu %xmm0, (%rdi,%rax) + 0x83, 0xc9, 0x10, //0x000007a8 orl $16, %ecx + 0x89, 0xc8, //0x000007ab movl %ecx, %eax + 0x5d, //0x000007ad popq %rbp + 0xc3, //0x000007ae retq + //0x000007af LBB0_43 + 0x48, 0xba, 0x57, 0x78, 0x13, 0xb1, 0x2f, 0x65, 0xa5, 0x39, //0x000007af movabsq $4153837486827862103, %rdx + 0x48, 0x89, 0xf0, //0x000007b9 movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x000007bc mulq %rdx + 0x48, 0xc1, 0xea, 0x33, //0x000007bf shrq $51, %rdx + 0x48, 0x0f, 0xaf, 0xca, //0x000007c3 imulq %rdx, %rcx + 0x48, 0x29, 0xce, //0x000007c7 subq %rcx, %rsi + 0x83, 0xfa, 0x09, //0x000007ca cmpl $9, %edx + 0x0f, 0x87, 0x10, 0x00, 0x00, 0x00, //0x000007cd ja LBB0_45 + 0x80, 0xc2, 0x30, //0x000007d3 addb $48, %dl + 0x88, 0x57, 0x01, //0x000007d6 movb %dl, $1(%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000007d9 movl $1, %ecx + 0xe9, 0x5e, 0x00, 0x00, 0x00, //0x000007de jmp LBB0_48 + //0x000007e3 LBB0_45 + 0x83, 0xfa, 0x63, //0x000007e3 cmpl $99, %edx + 0x0f, 0x87, 0x20, 0x00, 0x00, 0x00, //0x000007e6 ja LBB0_47 + 0x89, 0xd0, //0x000007ec movl %edx, %eax + 0x48, 0x8d, 0x0d, 0x2b, 0x01, 0x00, 0x00, //0x000007ee leaq $299(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x000007f5 movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x000007f8 movb $1(%rcx,%rax,2), %al + 0x88, 0x57, 0x01, //0x000007fc movb %dl, $1(%rdi) + 0x88, 0x47, 0x02, //0x000007ff movb %al, $2(%rdi) + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x00000802 movl $2, %ecx + 0xe9, 0x35, 0x00, 0x00, 0x00, //0x00000807 jmp LBB0_48 + //0x0000080c LBB0_47 + 0x89, 0xd0, //0x0000080c movl %edx, %eax + 0xc1, 0xe8, 0x02, //0x0000080e shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000811 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000817 shrl $17, %eax + 0x8d, 0x48, 0x30, //0x0000081a leal $48(%rax), %ecx + 0x88, 0x4f, 0x01, //0x0000081d movb %cl, $1(%rdi) + 0x6b, 0xc0, 0x64, //0x00000820 imull $100, %eax, %eax + 0x29, 0xc2, //0x00000823 subl %eax, %edx + 0x0f, 0xb7, 0xc2, //0x00000825 movzwl %dx, %eax + 0x48, 0x8d, 0x0d, 0xf1, 0x00, 0x00, 0x00, //0x00000828 leaq $241(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x0000082f movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x00000832 movb $1(%rcx,%rax,2), %al + 0x88, 0x57, 0x02, //0x00000836 movb %dl, $2(%rdi) + 0x88, 0x47, 0x03, //0x00000839 movb %al, $3(%rdi) + 0xb9, 0x03, 0x00, 0x00, 0x00, //0x0000083c movl $3, %ecx + //0x00000841 LBB0_48 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000841 movabsq $-6067343680855748867, %rdx + 0x48, 0x89, 0xf0, //0x0000084b movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x0000084e mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x00000851 shrq $26, %rdx + 0xc5, 0xf9, 0x6e, 0xc2, //0x00000855 vmovd %edx, %xmm0 + 0xc5, 0xfa, 0x6f, 0x0d, 0x9f, 0xf7, 0xff, 0xff, //0x00000859 vmovdqu $-2145(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0xf4, 0xd1, //0x00000861 vpmuludq %xmm1, %xmm0, %xmm2 + 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x00000865 vpsrlq $45, %xmm2, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x0000086a movl $10000, %eax + 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x0000086f vmovq %rax, %xmm3 + 0xc5, 0xe9, 0xf4, 0xe3, //0x00000874 vpmuludq %xmm3, %xmm2, %xmm4 + 0xc5, 0xf9, 0xfa, 0xc4, //0x00000878 vpsubd %xmm4, %xmm0, %xmm0 + 0xc5, 0xe9, 0x61, 0xc0, //0x0000087c vpunpcklwd %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x00000880 vpsllq $2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x00000885 vpshuflw $80, %xmm0, %xmm0 + 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x0000088a vpshufd $80, %xmm0, %xmm0 + 0xc5, 0xfb, 0x12, 0x15, 0x99, 0xf7, 0xff, 0xff, //0x0000088f vmovddup $-2151(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc2, //0x00000897 vpmulhuw %xmm2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x12, 0x25, 0x95, 0xf7, 0xff, 0xff, //0x0000089b vmovddup $-2155(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc4, //0x000008a3 vpmulhuw %xmm4, %xmm0, %xmm0 + 0xc5, 0xfa, 0x6f, 0x2d, 0x61, 0xf7, 0xff, 0xff, //0x000008a7 vmovdqu $-2207(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0xd5, 0xf5, //0x000008af vpmullw %xmm5, %xmm0, %xmm6 + 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x000008b3 vpsllq $16, %xmm6, %xmm6 + 0xc5, 0xf9, 0xf9, 0xc6, //0x000008b8 vpsubw %xmm6, %xmm0, %xmm0 + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x000008bc imull $100000000, %edx, %eax + 0x29, 0xc6, //0x000008c2 subl %eax, %esi + 0xc5, 0xf9, 0x6e, 0xf6, //0x000008c4 vmovd %esi, %xmm6 + 0xc5, 0xc9, 0xf4, 0xc9, //0x000008c8 vpmuludq %xmm1, %xmm6, %xmm1 + 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x000008cc vpsrlq $45, %xmm1, %xmm1 + 0xc5, 0xf1, 0xf4, 0xdb, //0x000008d1 vpmuludq %xmm3, %xmm1, %xmm3 + 0xc5, 0xc9, 0xfa, 0xdb, //0x000008d5 vpsubd %xmm3, %xmm6, %xmm3 + 0xc5, 0xf1, 0x61, 0xcb, //0x000008d9 vpunpcklwd %xmm3, %xmm1, %xmm1 + 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x000008dd vpsllq $2, %xmm1, %xmm1 + 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x000008e2 vpshuflw $80, %xmm1, %xmm1 + 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x000008e7 vpshufd $80, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xca, //0x000008ec vpmulhuw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xcc, //0x000008f0 vpmulhuw %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xd5, 0xd5, //0x000008f4 vpmullw %xmm5, %xmm1, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x000008f8 vpsllq $16, %xmm2, %xmm2 + 0xc5, 0xf1, 0xf9, 0xca, //0x000008fd vpsubw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x67, 0xc1, //0x00000901 vpackuswb %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xfc, 0x05, 0x13, 0xf7, 0xff, 0xff, //0x00000905 vpaddb $-2285(%rip), %xmm0, %xmm0 /* LCPI0_4+0(%rip) */ + 0x89, 0xc8, //0x0000090d movl %ecx, %eax + 0xc5, 0xfa, 0x7f, 0x44, 0x07, 0x01, //0x0000090f vmovdqu %xmm0, $1(%rdi,%rax) + 0x83, 0xc9, 0x10, //0x00000915 orl $16, %ecx + 0xff, 0xc1, //0x00000918 incl %ecx + 0x89, 0xc8, //0x0000091a movl %ecx, %eax + 0x5d, //0x0000091c popq %rbp + 0xc3, //0x0000091d retq + 0x00, 0x00, //0x0000091e .p2align 4, 0x00 + //0x00000920 _Digits + 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00000920 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' + 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00000930 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' + 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x00000940 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' + 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x00000950 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' + 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x00000960 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' + 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x00000970 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' + 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x00000980 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' + 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x00000990 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' + 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x000009a0 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' + 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x000009b0 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' + 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x000009c0 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' + 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x000009d0 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' + 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x000009e0 QUAD $0x3939383937393639 // .ascii 8, '96979899' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009e8 .p2align 4, 0x00 + //0x000009f0 _VecShiftShuffles + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, //0x000009f0 QUAD $0x0706050403020100; QUAD $0x0f0e0d0c0b0a0908 // .ascii 16, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, //0x00000a00 QUAD $0x0807060504030201; QUAD $0xff0f0e0d0c0b0a09 // .ascii 16, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' + 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, //0x00000a10 QUAD $0x0908070605040302; QUAD $0xffff0f0e0d0c0b0a // .ascii 16, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' + 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, //0x00000a20 QUAD $0x0a09080706050403; QUAD $0xffffff0f0e0d0c0b // .ascii 16, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, //0x00000a30 QUAD $0x0b0a090807060504; QUAD $0xffffffff0f0e0d0c // .ascii 16, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' + 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a40 QUAD $0x0c0b0a0908070605; QUAD $0xffffffffff0f0e0d // .ascii 16, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff' + 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a50 QUAD $0x0d0c0b0a09080706; QUAD $0xffffffffffff0f0e // .ascii 16, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff' + 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a60 QUAD $0x0e0d0c0b0a090807; QUAD $0xffffffffffffff0f // .ascii 16, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff' + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a70 QUAD $0x0f0e0d0c0b0a0908; QUAD $0xffffffffffffffff // .ascii 16, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/lspace.go b/vendor/github.com/bytedance/sonic/internal/native/avx/lspace.go new file mode 100644 index 0000000..2a48ae4 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/lspace.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_lspace func(sp unsafe.Pointer, nb int, off int) (ret int) + +var S_lspace uintptr + +//go:nosplit +func lspace(sp *byte, nb int, off int) (ret int) { + return F_lspace(rt.NoEscape(unsafe.Pointer(sp)), nb, off) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/lspace_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/lspace_subr.go new file mode 100644 index 0000000..52d5285 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/lspace_subr.go @@ -0,0 +1,37 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__lspace = 0 +) + +const ( + _stack__lspace = 8 +) + +const ( + _size__lspace = 113 +) + +var ( + _pcsp__lspace = [][2]uint32{ + {1, 0}, + {89, 8}, + {90, 0}, + {103, 8}, + {104, 0}, + {111, 8}, + {112, 0}, + } +) + +var _cfunc_lspace = []loader.CFunc{ + {"_lspace_entry", 0, _entry__lspace, 0, nil}, + {"_lspace", _entry__lspace, _size__lspace, _stack__lspace, _pcsp__lspace}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/lspace_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/lspace_text_amd64.go new file mode 100644 index 0000000..bf7751e --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/lspace_text_amd64.go @@ -0,0 +1,44 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_lspace = []byte{ + // .p2align 4, 0x90 + // _lspace + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x48, 0x39, 0xd6, //0x00000004 cmpq %rdx, %rsi + 0x0f, 0x84, 0x4e, 0x00, 0x00, 0x00, //0x00000007 je LBB0_1 + 0x4c, 0x8d, 0x04, 0x37, //0x0000000d leaq (%rdi,%rsi), %r8 + 0x48, 0x8d, 0x44, 0x3a, 0x01, //0x00000011 leaq $1(%rdx,%rdi), %rax + 0x48, 0x29, 0xf2, //0x00000016 subq %rsi, %rdx + 0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000019 movabsq $4294977024, %rsi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000023 .p2align 4, 0x90 + //0x00000030 LBB0_3 + 0x0f, 0xbe, 0x48, 0xff, //0x00000030 movsbl $-1(%rax), %ecx + 0x83, 0xf9, 0x20, //0x00000034 cmpl $32, %ecx + 0x0f, 0x87, 0x2c, 0x00, 0x00, 0x00, //0x00000037 ja LBB0_5 + 0x48, 0x0f, 0xa3, 0xce, //0x0000003d btq %rcx, %rsi + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000041 jae LBB0_5 + 0x48, 0xff, 0xc0, //0x00000047 incq %rax + 0x48, 0xff, 0xc2, //0x0000004a incq %rdx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x0000004d jne LBB0_3 + 0x49, 0x29, 0xf8, //0x00000053 subq %rdi, %r8 + 0x4c, 0x89, 0xc0, //0x00000056 movq %r8, %rax + 0x5d, //0x00000059 popq %rbp + 0xc3, //0x0000005a retq + //0x0000005b LBB0_1 + 0x48, 0x01, 0xfa, //0x0000005b addq %rdi, %rdx + 0x49, 0x89, 0xd0, //0x0000005e movq %rdx, %r8 + 0x49, 0x29, 0xf8, //0x00000061 subq %rdi, %r8 + 0x4c, 0x89, 0xc0, //0x00000064 movq %r8, %rax + 0x5d, //0x00000067 popq %rbp + 0xc3, //0x00000068 retq + //0x00000069 LBB0_5 + 0x48, 0xf7, 0xd7, //0x00000069 notq %rdi + 0x48, 0x01, 0xf8, //0x0000006c addq %rdi, %rax + 0x5d, //0x0000006f popq %rbp + 0xc3, //0x00000070 retq +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/native_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/native_amd64.go deleted file mode 100644 index d6a8610..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/avx/native_amd64.go +++ /dev/null @@ -1,135 +0,0 @@ -// Code generated by Makefile, DO NOT EDIT. - -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package avx - -import ( - `unsafe` - - `github.com/bytedance/sonic/internal/native/types` -) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __i64toa(out *byte, val int64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __u64toa(out *byte, val uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __f64toa(out *byte, val float64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __f32toa(out *byte, val float32) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __lspace(sp unsafe.Pointer, nb int, off int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vstring(s *string, p *int, v *types.JsonState, flags uint64) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vnumber(s *string, p *int, v *types.JsonState) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vsigned(s *string, p *int, v *types.JsonState) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vunsigned(s *string, p *int, v *types.JsonState) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_one_fast(s *string, p *int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_number(s *string, p *int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __validate_one(s *string, p *int, m *types.StateMachine) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __validate_utf8_fast(s *string) (ret int) \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/native_amd64.s b/vendor/github.com/bytedance/sonic/internal/native/avx/native_amd64.s deleted file mode 100644 index 86eb365..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/avx/native_amd64.s +++ /dev/null @@ -1,15342 +0,0 @@ -// +build !noasm !appengine -// Code generated by asm2asm, DO NOT EDIT. - -#include "go_asm.h" -#include "funcdata.h" -#include "textflag.h" - -TEXT ·__native_entry__(SB), NOSPLIT, $0 - NO_LOCAL_POINTERS - LONG $0xf9058d48; WORD $0xffff; BYTE $0xff // leaq $-7(%rip), %rax - LONG $0x24448948; BYTE $0x08 // movq %rax, $8(%rsp) - BYTE $0xc3 // retq - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_lspace: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x3948; BYTE $0xd6 // cmpq %rdx, %rsi - LONG $0x004e840f; WORD $0x0000 // je LBB0_1, $78(%rip) - LONG $0x37048d4c // leaq (%rdi,%rsi), %r8 - LONG $0x3a448d48; BYTE $0x01 // leaq $1(%rdx,%rdi), %rax - WORD $0x2948; BYTE $0xf2 // subq %rsi, %rdx - QUAD $0x000100002600be48; WORD $0x0000 // movabsq $4294977024, %rsi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB0_3: - LONG $0xff48be0f // movsbl $-1(%rax), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x002c870f; WORD $0x0000 // ja LBB0_5, $44(%rip) - LONG $0xcea30f48 // btq %rcx, %rsi - LONG $0x0022830f; WORD $0x0000 // jae LBB0_5, $34(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0xffdd850f; WORD $0xffff // jne LBB0_3, $-35(%rip) - WORD $0x2949; BYTE $0xf8 // subq %rdi, %r8 - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB0_1: - WORD $0x0148; BYTE $0xfa // addq %rdi, %rdx - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - WORD $0x2949; BYTE $0xf8 // subq %rdi, %r8 - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB0_5: - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x0148; BYTE $0xf8 // addq %rdi, %rax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; QUAD $0x0000000000000000; QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000; BYTE $0x00 // .p2align 5, 0x00 - -LCPI1_0: - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - - // .p2align 4, 0x90 -_f64toa: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - LONG $0x7ef9e1c4; BYTE $0xc2 // vmovq %xmm0, %rdx - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0x34e8c148 // shrq $52, %rax - LONG $0x0007ff25; BYTE $0x00 // andl $2047, %eax - LONG $0x0007ff3d; BYTE $0x00 // cmpl $2047, %eax - LONG $0x0ade840f; WORD $0x0000 // je LBB1_1, $2782(%rip) - WORD $0x8949; BYTE $0xfe // movq %rdi, %r14 - WORD $0x07c6; BYTE $0x2d // movb $45, (%rdi) - WORD $0x8949; BYTE $0xd4 // movq %rdx, %r12 - LONG $0x3fecc149 // shrq $63, %r12 - LONG $0x273c8d4e // leaq (%rdi,%r12), %r15 - QUAD $0x00000000550c8d48 // leaq (,%rdx,2), %rcx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x01e3840f; WORD $0x0000 // je LBB1_3, $483(%rip) - QUAD $0xffffffffffffbf48; WORD $0x000f // movabsq $4503599627370495, %rdi - WORD $0x2148; BYTE $0xfa // andq %rdi, %rdx - WORD $0xc085 // testl %eax, %eax - LONG $0x0aae840f; WORD $0x0000 // je LBB1_5, $2734(%rip) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0x0948; BYTE $0xd7 // orq %rdx, %rdi - LONG $0xfbcd988d; WORD $0xffff // leal $-1075(%rax), %ebx - LONG $0xfc01888d; WORD $0xffff // leal $-1023(%rax), %ecx - WORD $0xf983; BYTE $0x34 // cmpl $52, %ecx - LONG $0x001a870f; WORD $0x0000 // ja LBB1_6, $26(%rip) - WORD $0xd989 // movl %ebx, %ecx - WORD $0xd9f7 // negl %ecx - LONG $0xffc6c748; WORD $0xffff; BYTE $0xff // movq $-1, %rsi - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0xf748; BYTE $0xd6 // notq %rsi - WORD $0x8548; BYTE $0xf7 // testq %rsi, %rdi - LONG $0x0421840f; WORD $0x0000 // je LBB1_11, $1057(%rip) - -LBB1_6: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - WORD $0x940f; BYTE $0xc1 // sete %cl - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - WORD $0x970f; BYTE $0xc0 // seta %al - WORD $0xc820 // andb %cl, %al - WORD $0xb60f; BYTE $0xc0 // movzbl %al, %eax - LONG $0x4413cb69; WORD $0x0013 // imull $1262611, %ebx, %ecx - WORD $0xd231 // xorl %edx, %edx - WORD $0xc084 // testb %al, %al - LONG $0x0101b941; WORD $0xfff8 // movl $-524031, %r9d - LONG $0xca440f44 // cmovel %edx, %r9d - LONG $0xb8748d48; BYTE $0xfe // leaq $-2(%rax,%rdi,4), %rsi - WORD $0x0141; BYTE $0xc9 // addl %ecx, %r9d - LONG $0x16f9c141 // sarl $22, %r9d - LONG $0xb1c96941; WORD $0xe56c; BYTE $0xff // imull $-1741647, %r9d, %ecx - WORD $0xe9c1; BYTE $0x13 // shrl $19, %ecx - WORD $0xd901 // addl %ebx, %ecx - LONG $0x000124b8; BYTE $0x00 // movl $292, %eax - WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax - LONG $0x04e0c148 // shlq $4, %rax - LONG $0x3a158d48; WORD $0x00bb; BYTE $0x00 // leaq $47930(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ - LONG $0x101c8b4c // movq (%rax,%rdx), %r11 - LONG $0x106c8b4c; BYTE $0x08 // movq $8(%rax,%rdx), %r13 - WORD $0xc1fe // incb %cl - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe5 // mulq %r13 - WORD $0x8948; BYTE $0xd3 // movq %rdx, %rbx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - QUAD $0x00000000bd348d48 // leaq (,%rdi,4), %rsi - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - LONG $0x00d28348 // adcq $0, %rdx - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0x01f88348 // cmpq $1, %rax - WORD $0x970f; BYTE $0xc3 // seta %bl - WORD $0x0948; BYTE $0xd3 // orq %rdx, %rbx - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe5 // mulq %r13 - WORD $0x8949; BYTE $0xd2 // movq %rdx, %r10 - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - QUAD $0x00000002bd348d48 // leaq $2(,%rdi,4), %rsi - WORD $0x014c; BYTE $0xd0 // addq %r10, %rax - LONG $0x00d08349 // adcq $0, %r8 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - LONG $0x01f88348 // cmpq $1, %rax - LONG $0xc2970f41 // seta %r10b - WORD $0x094d; BYTE $0xc2 // orq %r8, %r10 - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe5 // mulq %r13 - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - LONG $0x00d28348 // adcq $0, %rdx - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x01f88348 // cmpq $1, %rax - WORD $0x970f; BYTE $0xc1 // seta %cl - WORD $0x0948; BYTE $0xd1 // orq %rdx, %rcx - WORD $0xe783; BYTE $0x01 // andl $1, %edi - WORD $0x0148; BYTE $0xfb // addq %rdi, %rbx - WORD $0x2948; BYTE $0xf9 // subq %rdi, %rcx - LONG $0x28fa8349 // cmpq $40, %r10 - LONG $0x003e820f; WORD $0x0000 // jb LBB1_29, $62(%rip) - QUAD $0xcccccccccccdba48; WORD $0xcccc // movabsq $-3689348814741910323, %rdx - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - WORD $0xf748; BYTE $0xe2 // mulq %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0x05efc148 // shrq $5, %rdi - QUAD $0x00000000fd048d48 // leaq (,%rdi,8), %rax - LONG $0x80148d48 // leaq (%rax,%rax,4), %rdx - WORD $0x3948; BYTE $0xd3 // cmpq %rdx, %rbx - LONG $0xc6970f40 // seta %sil - LONG $0x80448d48; BYTE $0x28 // leaq $40(%rax,%rax,4), %rax - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - WORD $0x960f; BYTE $0xc2 // setbe %dl - WORD $0x3040; BYTE $0xf2 // xorb %sil, %dl - LONG $0x0130840f; WORD $0x0000 // je LBB1_8, $304(%rip) - -LBB1_29: - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0x02e8c148 // shrq $2, %rax - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - LONG $0xfce28348 // andq $-4, %rdx - WORD $0x3948; BYTE $0xd3 // cmpq %rdx, %rbx - LONG $0xc7970f40 // seta %dil - LONG $0x04728d48 // leaq $4(%rdx), %rsi - WORD $0x3948; BYTE $0xce // cmpq %rcx, %rsi - WORD $0x960f; BYTE $0xc3 // setbe %bl - WORD $0x3040; BYTE $0xfb // xorb %dil, %bl - LONG $0x0053840f; WORD $0x0000 // je LBB1_30, $83(%rip) - LONG $0x02ca8348 // orq $2, %rdx - LONG $0x000001bf; BYTE $0x00 // movl $1, %edi - WORD $0x3949; BYTE $0xd2 // cmpq %rdx, %r10 - LONG $0x000e870f; WORD $0x0000 // ja LBB1_33, $14(%rip) - WORD $0x940f; BYTE $0xc1 // sete %cl - LONG $0x02e8c041 // shrb $2, %r8b - WORD $0x2041; BYTE $0xc8 // andb %cl, %r8b - LONG $0xf8b60f41 // movzbl %r8b, %edi - -LBB1_33: - WORD $0x0148; BYTE $0xc7 // addq %rax, %rdi - QUAD $0x0001ffffff80b848; WORD $0x0000 // movabsq $8589934464, %rax - LONG $0xe47f0548; WORD $0x540b // addq $1410065535, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x003a870f; WORD $0x0000 // ja LBB1_35, $58(%rip) - LONG $0x0000eae9; BYTE $0x00 // jmp LBB1_41, $234(%rip) - -LBB1_3: - LONG $0x3007c641 // movb $48, (%r15) - WORD $0x2945; BYTE $0xf7 // subl %r14d, %r15d - WORD $0xff41; BYTE $0xc7 // incl %r15d - WORD $0x8944; BYTE $0xfb // movl %r15d, %ebx - LONG $0x0008a2e9; BYTE $0x00 // jmp LBB1_116, $2210(%rip) - -LBB1_30: - WORD $0x3948; BYTE $0xf1 // cmpq %rsi, %rcx - LONG $0xffd88348 // sbbq $-1, %rax - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - QUAD $0x0001ffffff80b848; WORD $0x0000 // movabsq $8589934464, %rax - LONG $0xe47f0548; WORD $0x540b // addq $1410065535, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x00b5860f; WORD $0x0000 // jbe LBB1_41, $181(%rip) - -LBB1_35: - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0be8c148 // shrq $11, %rax - LONG $0x00000bba; BYTE $0x00 // movl $11, %edx - LONG $0x0edd3d48; WORD $0x02e9 // cmpq $48828125, %rax - LONG $0x0127820f; WORD $0x0000 // jb LBB1_51, $295(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0ce8c148 // shrq $12, %rax - LONG $0x00000cba; BYTE $0x00 // movl $12, %edx - LONG $0x4a513d48; WORD $0x0e8d // cmpq $244140625, %rax - LONG $0x010f820f; WORD $0x0000 // jb LBB1_51, $271(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0de8c148 // shrq $13, %rax - LONG $0x00000dba; BYTE $0x00 // movl $13, %edx - LONG $0x73953d48; WORD $0x48c2 // cmpq $1220703125, %rax - LONG $0x00f7820f; WORD $0x0000 // jb LBB1_51, $247(%rip) - LONG $0x00000eba; BYTE $0x00 // movl $14, %edx - QUAD $0x5af3107a4000b848; WORD $0x0000 // movabsq $100000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x00df820f; WORD $0x0000 // jb LBB1_51, $223(%rip) - LONG $0x00000fba; BYTE $0x00 // movl $15, %edx - QUAD $0x8d7ea4c68000b848; WORD $0x0003 // movabsq $1000000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x00c7820f; WORD $0x0000 // jb LBB1_51, $199(%rip) - QUAD $0x86f26fc10000b848; WORD $0x0023 // movabsq $10000000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x000011ba; BYTE $0x00 // movl $17, %edx - -LBB1_50: - WORD $0xda83; BYTE $0x00 // sbbl $0, %edx - LONG $0x0000ade9; BYTE $0x00 // jmp LBB1_51, $173(%rip) - -LBB1_8: - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0xffdf8348 // sbbq $-1, %rdi - WORD $0xff41; BYTE $0xc1 // incl %r9d - QUAD $0x0001ffffff80b848; WORD $0x0000 // movabsq $8589934464, %rax - LONG $0xe47f0548; WORD $0x540b // addq $1410065535, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0xff4b870f; WORD $0xffff // ja LBB1_35, $-181(%rip) - -LBB1_41: - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0x0aff8348 // cmpq $10, %rdi - LONG $0x007b820f; WORD $0x0000 // jb LBB1_51, $123(%rip) - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - LONG $0x64ff8348 // cmpq $100, %rdi - LONG $0x006c820f; WORD $0x0000 // jb LBB1_51, $108(%rip) - LONG $0x000003ba; BYTE $0x00 // movl $3, %edx - LONG $0xe8ff8148; WORD $0x0003; BYTE $0x00 // cmpq $1000, %rdi - LONG $0x005a820f; WORD $0x0000 // jb LBB1_51, $90(%rip) - LONG $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0x10ff8148; WORD $0x0027; BYTE $0x00 // cmpq $10000, %rdi - LONG $0x0048820f; WORD $0x0000 // jb LBB1_51, $72(%rip) - LONG $0x000005ba; BYTE $0x00 // movl $5, %edx - LONG $0xa0ff8148; WORD $0x0186; BYTE $0x00 // cmpq $100000, %rdi - LONG $0x0036820f; WORD $0x0000 // jb LBB1_51, $54(%rip) - LONG $0x000006ba; BYTE $0x00 // movl $6, %edx - LONG $0x40ff8148; WORD $0x0f42; BYTE $0x00 // cmpq $1000000, %rdi - LONG $0x0024820f; WORD $0x0000 // jb LBB1_51, $36(%rip) - LONG $0x000007ba; BYTE $0x00 // movl $7, %edx - LONG $0x80ff8148; WORD $0x9896; BYTE $0x00 // cmpq $10000000, %rdi - LONG $0x0012820f; WORD $0x0000 // jb LBB1_51, $18(%rip) - LONG $0x000008ba; BYTE $0x00 // movl $8, %edx - LONG $0x00ff8148; WORD $0xf5e1; BYTE $0x05 // cmpq $100000000, %rdi - LONG $0x0754830f; WORD $0x0000 // jae LBB1_49, $1876(%rip) - -LBB1_51: - LONG $0x0a2c8d46 // leal (%rdx,%r9), %r13d - LONG $0x0a448d42; BYTE $0x05 // leal $5(%rdx,%r9), %eax - WORD $0xf883; BYTE $0x1b // cmpl $27, %eax - LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip) - LONG $0x01678d4d // leaq $1(%r15), %r12 - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x0082cfe8; BYTE $0x00 // callq _format_significand, $33487(%rip) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB1_53: - LONG $0x30ff7b80 // cmpb $48, $-1(%rbx) - LONG $0xff5b8d48 // leaq $-1(%rbx), %rbx - LONG $0xfff2840f; WORD $0xffff // je LBB1_53, $-14(%rip) - LONG $0x01478a41 // movb $1(%r15), %al - WORD $0x8841; BYTE $0x07 // movb %al, (%r15) - LONG $0x01438d48 // leaq $1(%rbx), %rax - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x294c; BYTE $0xe1 // subq %r12, %rcx - LONG $0x02f98348 // cmpq $2, %rcx - LONG $0x00088c0f; WORD $0x0000 // jl LBB1_56, $8(%rip) - LONG $0x2404c641; BYTE $0x2e // movb $46, (%r12) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - -LBB1_56: - WORD $0x03c6; BYTE $0x65 // movb $101, (%rbx) - LONG $0xff458d41 // leal $-1(%r13), %eax - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x01548e0f; WORD $0x0000 // jle LBB1_57, $340(%rip) - LONG $0x2b0143c6 // movb $43, $1(%rbx) - WORD $0xf883; BYTE $0x64 // cmpl $100, %eax - LONG $0x01568c0f; WORD $0x0000 // jl LBB1_61, $342(%rip) - -LBB1_60: - WORD $0xc189 // movl %eax, %ecx - LONG $0xcccccdba; BYTE $0xcc // movl $3435973837, %edx - LONG $0xd1af0f48 // imulq %rcx, %rdx - LONG $0x23eac148 // shrq $35, %rdx - WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx - WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx - WORD $0xc829 // subl %ecx, %eax - LONG $0x140d8d48; WORD $0x00b7; BYTE $0x00 // leaq $46868(%rip), %rcx /* _Digits(%rip) */ - LONG $0x510cb70f // movzwl (%rcx,%rdx,2), %ecx - LONG $0x024b8966 // movw %cx, $2(%rbx) - WORD $0x300c // orb $48, %al - WORD $0x4388; BYTE $0x04 // movb %al, $4(%rbx) - LONG $0x05c38348 // addq $5, %rbx - LONG $0x00068ee9; BYTE $0x00 // jmp LBB1_115, $1678(%rip) - -LBB1_64: - WORD $0x8545; BYTE $0xc9 // testl %r9d, %r9d - LONG $0x013c880f; WORD $0x0000 // js LBB1_65, $316(%rip) - WORD $0x634d; BYTE $0xed // movslq %r13d, %r13 - LONG $0x2f1c8d4b // leaq (%r15,%r13), %rbx - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0x0006c6e8; BYTE $0x00 // callq _format_integer, $1734(%rip) - WORD $0x3948; BYTE $0xd8 // cmpq %rbx, %rax - LONG $0x066d830f; WORD $0x0000 // jae LBB1_115, $1645(%rip) - WORD $0x014d; BYTE $0xec // addq %r13, %r12 - WORD $0x2949; BYTE $0xc4 // subq %rax, %r12 - WORD $0x014d; BYTE $0xf4 // addq %r14, %r12 - LONG $0x80fc8149; WORD $0x0000; BYTE $0x00 // cmpq $128, %r12 - LONG $0x0317820f; WORD $0x0000 // jb LBB1_114, $791(%rip) - WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx - LONG $0x80e18348 // andq $-128, %rcx - LONG $0x80798d48 // leaq $-128(%rcx), %rdi - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - LONG $0x07eec148 // shrq $7, %rsi - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0xf289 // movl %esi, %edx - WORD $0xe283; BYTE $0x03 // andl $3, %edx - LONG $0x80ff8148; WORD $0x0001; BYTE $0x00 // cmpq $384, %rdi - LONG $0x01fc830f; WORD $0x0000 // jae LBB1_107, $508(%rip) - WORD $0xff31 // xorl %edi, %edi - LONG $0x00029de9; BYTE $0x00 // jmp LBB1_109, $669(%rip) - -LBB1_11: - WORD $0xd348; BYTE $0xef // shrq %cl, %rdi - QUAD $0x0001ffffff80b848; WORD $0x0000 // movabsq $8589934464, %rax - LONG $0xe47f0548; WORD $0x540b // addq $1410065535, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x013f860f; WORD $0x0000 // jbe LBB1_18, $319(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0be8c148 // shrq $11, %rax - LONG $0x00000bba; BYTE $0x00 // movl $11, %edx - LONG $0x0edd3d48; WORD $0x02e9 // cmpq $48828125, %rax - LONG $0x01b1820f; WORD $0x0000 // jb LBB1_28, $433(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0ce8c148 // shrq $12, %rax - LONG $0x00000cba; BYTE $0x00 // movl $12, %edx - LONG $0x4a513d48; WORD $0x0e8d // cmpq $244140625, %rax - LONG $0x0199820f; WORD $0x0000 // jb LBB1_28, $409(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0de8c148 // shrq $13, %rax - LONG $0x00000dba; BYTE $0x00 // movl $13, %edx - LONG $0x73953d48; WORD $0x48c2 // cmpq $1220703125, %rax - LONG $0x0181820f; WORD $0x0000 // jb LBB1_28, $385(%rip) - LONG $0x00000eba; BYTE $0x00 // movl $14, %edx - QUAD $0x5af3107a4000b848; WORD $0x0000 // movabsq $100000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x0169820f; WORD $0x0000 // jb LBB1_28, $361(%rip) - LONG $0x00000fba; BYTE $0x00 // movl $15, %edx - QUAD $0x8d7ea4c68000b848; WORD $0x0003 // movabsq $1000000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x0151820f; WORD $0x0000 // jb LBB1_28, $337(%rip) - QUAD $0x86f26fc10000b848; WORD $0x0023 // movabsq $10000000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x000011ba; BYTE $0x00 // movl $17, %edx - -LBB1_27: - WORD $0xda83; BYTE $0x00 // sbbl $0, %edx - LONG $0x000137e9; BYTE $0x00 // jmp LBB1_28, $311(%rip) - -LBB1_57: - LONG $0x2d0143c6 // movb $45, $1(%rbx) - WORD $0xd8f7 // negl %eax - WORD $0xf883; BYTE $0x64 // cmpl $100, %eax - LONG $0xfeaa8d0f; WORD $0xffff // jge LBB1_60, $-342(%rip) - -LBB1_61: - WORD $0xf883; BYTE $0x0a // cmpl $10, %eax - LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip) - WORD $0xc089 // movl %eax, %eax - LONG $0xca0d8d48; WORD $0x00b5; BYTE $0x00 // leaq $46538(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x02438966 // movw %ax, $2(%rbx) - LONG $0x04c38348 // addq $4, %rbx - LONG $0x000549e9; BYTE $0x00 // jmp LBB1_115, $1353(%rip) - -LBB1_65: - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x031f8f0f; WORD $0x0000 // jg LBB1_78, $799(%rip) - LONG $0x07c74166; WORD $0x2e30 // movw $11824, (%r15) - LONG $0x02c78349 // addq $2, %r15 - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x030c890f; WORD $0x0000 // jns LBB1_78, $780(%rip) - WORD $0x8941; BYTE $0xd0 // movl %edx, %r8d - WORD $0xf741; BYTE $0xd0 // notl %r8d - WORD $0x2945; BYTE $0xc8 // subl %r9d, %r8d - WORD $0xc031 // xorl %eax, %eax - LONG $0x7ff88341 // cmpl $127, %r8d - LONG $0x02de820f; WORD $0x0000 // jb LBB1_76, $734(%rip) - WORD $0xff49; BYTE $0xc0 // incq %r8 - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - QUAD $0x0001ffffff80b948; WORD $0x0000 // movabsq $8589934464, %rcx - WORD $0x2148; BYTE $0xc8 // andq %rcx, %rax - LONG $0x80488d48 // leaq $-128(%rax), %rcx - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - LONG $0x07eec148 // shrq $7, %rsi - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x8941; BYTE $0xf1 // movl %esi, %r9d - LONG $0x03e18341 // andl $3, %r9d - LONG $0x80f98148; WORD $0x0001; BYTE $0x00 // cmpq $384, %rcx - LONG $0x01b7830f; WORD $0x0000 // jae LBB1_70, $439(%rip) - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x00025ae9; BYTE $0x00 // jmp LBB1_72, $602(%rip) - -LBB1_63: - WORD $0x3004 // addb $48, %al - WORD $0x4388; BYTE $0x02 // movb %al, $2(%rbx) - LONG $0x03c38348 // addq $3, %rbx - LONG $0x0004cee9; BYTE $0x00 // jmp LBB1_115, $1230(%rip) - -LBB1_18: - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0x0aff8348 // cmpq $10, %rdi - LONG $0x007b820f; WORD $0x0000 // jb LBB1_28, $123(%rip) - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - LONG $0x64ff8348 // cmpq $100, %rdi - LONG $0x006c820f; WORD $0x0000 // jb LBB1_28, $108(%rip) - LONG $0x000003ba; BYTE $0x00 // movl $3, %edx - LONG $0xe8ff8148; WORD $0x0003; BYTE $0x00 // cmpq $1000, %rdi - LONG $0x005a820f; WORD $0x0000 // jb LBB1_28, $90(%rip) - LONG $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0x10ff8148; WORD $0x0027; BYTE $0x00 // cmpq $10000, %rdi - LONG $0x0048820f; WORD $0x0000 // jb LBB1_28, $72(%rip) - LONG $0x000005ba; BYTE $0x00 // movl $5, %edx - LONG $0xa0ff8148; WORD $0x0186; BYTE $0x00 // cmpq $100000, %rdi - LONG $0x0036820f; WORD $0x0000 // jb LBB1_28, $54(%rip) - LONG $0x000006ba; BYTE $0x00 // movl $6, %edx - LONG $0x40ff8148; WORD $0x0f42; BYTE $0x00 // cmpq $1000000, %rdi - LONG $0x0024820f; WORD $0x0000 // jb LBB1_28, $36(%rip) - LONG $0x000007ba; BYTE $0x00 // movl $7, %edx - LONG $0x80ff8148; WORD $0x9896; BYTE $0x00 // cmpq $10000000, %rdi - LONG $0x0012820f; WORD $0x0000 // jb LBB1_28, $18(%rip) - LONG $0x000008ba; BYTE $0x00 // movl $8, %edx - LONG $0x00ff8148; WORD $0xf5e1; BYTE $0x05 // cmpq $100000000, %rdi - LONG $0x0480830f; WORD $0x0000 // jae LBB1_26, $1152(%rip) - -LBB1_28: - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0x00048ce8; BYTE $0x00 // callq _format_integer, $1164(%rip) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - LONG $0x000434e9; BYTE $0x00 // jmp LBB1_115, $1076(%rip) - -LBB1_107: - LONG $0xfce68348 // andq $-4, %rsi - WORD $0xf748; BYTE $0xde // negq %rsi - WORD $0xff31 // xorl %edi, %edi - QUAD $0xfffff923056ffdc5 // vmovdqa $-1757(%rip), %ymm0 /* LCPI1_0(%rip) */ - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_108: - LONG $0x047ffec5; BYTE $0x38 // vmovdqu %ymm0, (%rax,%rdi) - LONG $0x447ffec5; WORD $0x2038 // vmovdqu %ymm0, $32(%rax,%rdi) - LONG $0x447ffec5; WORD $0x4038 // vmovdqu %ymm0, $64(%rax,%rdi) - LONG $0x447ffec5; WORD $0x6038 // vmovdqu %ymm0, $96(%rax,%rdi) - QUAD $0x00008038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $128(%rax,%rdi) - QUAD $0x0000a038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $160(%rax,%rdi) - QUAD $0x0000c038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $192(%rax,%rdi) - QUAD $0x0000e038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $224(%rax,%rdi) - QUAD $0x00010038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $256(%rax,%rdi) - QUAD $0x00012038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $288(%rax,%rdi) - QUAD $0x00014038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $320(%rax,%rdi) - QUAD $0x00016038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $352(%rax,%rdi) - QUAD $0x00018038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $384(%rax,%rdi) - QUAD $0x0001a038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $416(%rax,%rdi) - QUAD $0x0001c038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $448(%rax,%rdi) - QUAD $0x0001e038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $480(%rax,%rdi) - LONG $0x00c78148; WORD $0x0002; BYTE $0x00 // addq $512, %rdi - LONG $0x04c68348 // addq $4, %rsi - LONG $0xff6c850f; WORD $0xffff // jne LBB1_108, $-148(%rip) - -LBB1_109: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0033840f; WORD $0x0000 // je LBB1_112, $51(%rip) - LONG $0x07748d48; BYTE $0x60 // leaq $96(%rdi,%rax), %rsi - WORD $0xf748; BYTE $0xda // negq %rdx - QUAD $0xfffff873056ffdc5 // vmovdqa $-1933(%rip), %ymm0 /* LCPI1_0(%rip) */ - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_111: - LONG $0x467ffec5; BYTE $0xa0 // vmovdqu %ymm0, $-96(%rsi) - LONG $0x467ffec5; BYTE $0xc0 // vmovdqu %ymm0, $-64(%rsi) - LONG $0x467ffec5; BYTE $0xe0 // vmovdqu %ymm0, $-32(%rsi) - LONG $0x067ffec5 // vmovdqu %ymm0, (%rsi) - LONG $0x80ee8348 // subq $-128, %rsi - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0xffe0850f; WORD $0xffff // jne LBB1_111, $-32(%rip) - -LBB1_112: - WORD $0x394c; BYTE $0xe1 // cmpq %r12, %rcx - LONG $0x0347840f; WORD $0x0000 // je LBB1_115, $839(%rip) - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - LONG $0x90909090 // .p2align 4, 0x90 - -LBB1_114: - WORD $0x00c6; BYTE $0x30 // movb $48, (%rax) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x3948; BYTE $0xc3 // cmpq %rax, %rbx - LONG $0xfff1850f; WORD $0xffff // jne LBB1_114, $-15(%rip) - LONG $0x00032ce9; BYTE $0x00 // jmp LBB1_115, $812(%rip) - -LBB1_70: - QUAD $0x000001e2349c8d4b // leaq $482(%r12,%r14), %rbx - LONG $0xfce68348 // andq $-4, %rsi - WORD $0xf748; BYTE $0xde // negq %rsi - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0xfffff813056ffdc5 // vmovdqa $-2029(%rip), %ymm0 /* LCPI1_0(%rip) */ - -LBB1_71: - QUAD $0xfffe200b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-480(%rbx,%rcx) - QUAD $0xfffe400b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-448(%rbx,%rcx) - QUAD $0xfffe600b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-416(%rbx,%rcx) - QUAD $0xfffe800b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-384(%rbx,%rcx) - QUAD $0xfffea00b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-352(%rbx,%rcx) - QUAD $0xfffec00b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-320(%rbx,%rcx) - QUAD $0xfffee00b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-288(%rbx,%rcx) - QUAD $0xffff000b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-256(%rbx,%rcx) - QUAD $0xffff200b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-224(%rbx,%rcx) - QUAD $0xffff400b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-192(%rbx,%rcx) - QUAD $0xffff600b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-160(%rbx,%rcx) - LONG $0x447ffec5; WORD $0x800b // vmovdqu %ymm0, $-128(%rbx,%rcx) - LONG $0x447ffec5; WORD $0xa00b // vmovdqu %ymm0, $-96(%rbx,%rcx) - LONG $0x447ffec5; WORD $0xc00b // vmovdqu %ymm0, $-64(%rbx,%rcx) - LONG $0x447ffec5; WORD $0xe00b // vmovdqu %ymm0, $-32(%rbx,%rcx) - LONG $0x047ffec5; BYTE $0x0b // vmovdqu %ymm0, (%rbx,%rcx) - LONG $0x00c18148; WORD $0x0002; BYTE $0x00 // addq $512, %rcx - LONG $0x04c68348 // addq $4, %rsi - LONG $0xff6f850f; WORD $0xffff // jne LBB1_71, $-145(%rip) - -LBB1_72: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x0033840f; WORD $0x0000 // je LBB1_75, $51(%rip) - WORD $0x014c; BYTE $0xe1 // addq %r12, %rcx - LONG $0x0e4c8d49; BYTE $0x62 // leaq $98(%r14,%rcx), %rcx - WORD $0xf749; BYTE $0xd9 // negq %r9 - QUAD $0xfffff766056ffdc5 // vmovdqa $-2202(%rip), %ymm0 /* LCPI1_0(%rip) */ - -LBB1_74: - LONG $0x417ffec5; BYTE $0xa0 // vmovdqu %ymm0, $-96(%rcx) - LONG $0x417ffec5; BYTE $0xc0 // vmovdqu %ymm0, $-64(%rcx) - LONG $0x417ffec5; BYTE $0xe0 // vmovdqu %ymm0, $-32(%rcx) - LONG $0x017ffec5 // vmovdqu %ymm0, (%rcx) - LONG $0x80e98348 // subq $-128, %rcx - WORD $0xff49; BYTE $0xc1 // incq %r9 - LONG $0xffe0850f; WORD $0xffff // jne LBB1_74, $-32(%rip) - -LBB1_75: - WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 - WORD $0x3949; BYTE $0xc0 // cmpq %rax, %r8 - LONG $0x0019840f; WORD $0x0000 // je LBB1_78, $25(%rip) - -LBB1_76: - WORD $0x0144; BYTE $0xe8 // addl %r13d, %eax - WORD $0xd8f7 // negl %eax - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_77: - LONG $0x3007c641 // movb $48, (%r15) - WORD $0xff49; BYTE $0xc7 // incq %r15 - WORD $0xc8ff // decl %eax - LONG $0xfff1850f; WORD $0xffff // jne LBB1_77, $-15(%rip) - -LBB1_78: - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x007dc6e8; BYTE $0x00 // callq _format_significand, $32198(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB1_79: - LONG $0x30ff7880 // cmpb $48, $-1(%rax) - LONG $0xff408d48 // leaq $-1(%rax), %rax - LONG $0xfff2840f; WORD $0xffff // je LBB1_79, $-14(%rip) - LONG $0x01588d48 // leaq $1(%rax), %rbx - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x01f58e0f; WORD $0x0000 // jle LBB1_115, $501(%rip) - WORD $0xda89 // movl %ebx, %edx - WORD $0x2944; BYTE $0xfa // subl %r15d, %edx - WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - WORD $0xd129 // subl %edx, %ecx - LONG $0x00258d0f; WORD $0x0000 // jge LBB1_82, $37(%rip) - WORD $0x2944; BYTE $0xea // subl %r13d, %edx - LONG $0x00c48e0f; WORD $0x0000 // jle LBB1_100, $196(%rip) - WORD $0xd689 // movl %edx, %esi - LONG $0xff568d48 // leaq $-1(%rsi), %rdx - WORD $0xf189 // movl %esi, %ecx - WORD $0xe183; BYTE $0x03 // andl $3, %ecx - LONG $0x03fa8348 // cmpq $3, %rdx - LONG $0x005c830f; WORD $0x0000 // jae LBB1_101, $92(%rip) - WORD $0xd231 // xorl %edx, %edx - LONG $0x000078e9; BYTE $0x00 // jmp LBB1_97, $120(%rip) - -LBB1_82: - LONG $0x01ba8e0f; WORD $0x0000 // jle LBB1_115, $442(%rip) - WORD $0x0145; BYTE $0xfd // addl %r15d, %r13d - WORD $0x8941; BYTE $0xd8 // movl %ebx, %r8d - WORD $0xf741; BYTE $0xd0 // notl %r8d - WORD $0x0145; BYTE $0xe8 // addl %r13d, %r8d - WORD $0xd231 // xorl %edx, %edx - LONG $0x7ef88341 // cmpl $126, %r8d - LONG $0x0192860f; WORD $0x0000 // jbe LBB1_92, $402(%rip) - WORD $0xff49; BYTE $0xc0 // incq %r8 - QUAD $0x0001ffffff80b949; WORD $0x0000 // movabsq $8589934464, %r9 - WORD $0x214d; BYTE $0xc1 // andq %r8, %r9 - LONG $0x80518d49 // leaq $-128(%r9), %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0x07efc148 // shrq $7, %rdi - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0xfe89 // movl %edi, %esi - WORD $0xe683; BYTE $0x03 // andl $3, %esi - LONG $0x80fa8148; WORD $0x0001; BYTE $0x00 // cmpq $384, %rdx - LONG $0x006e830f; WORD $0x0000 // jae LBB1_86, $110(%rip) - WORD $0xd231 // xorl %edx, %edx - LONG $0x00010de9; BYTE $0x00 // jmp LBB1_88, $269(%rip) - -LBB1_101: - WORD $0xe683; BYTE $0xfc // andl $-4, %esi - WORD $0xf748; BYTE $0xde // negq %rsi - WORD $0xd231 // xorl %edx, %edx - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_102: - LONG $0xfd107c8b // movl $-3(%rax,%rdx), %edi - LONG $0xfe107c89 // movl %edi, $-2(%rax,%rdx) - LONG $0xfcc28348 // addq $-4, %rdx - WORD $0x3948; BYTE $0xd6 // cmpq %rdx, %rsi - LONG $0xffeb850f; WORD $0xffff // jne LBB1_102, $-21(%rip) - WORD $0xf748; BYTE $0xda // negq %rdx - -LBB1_97: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x0027840f; WORD $0x0000 // je LBB1_100, $39(%rip) - WORD $0xf748; BYTE $0xda // negq %rdx - WORD $0xf748; BYTE $0xd9 // negq %rcx - WORD $0xf631 // xorl %esi, %esi - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_99: - LONG $0x323c8d48 // leaq (%rdx,%rsi), %rdi - LONG $0x381cb60f // movzbl (%rax,%rdi), %ebx - LONG $0x01385c88 // movb %bl, $1(%rax,%rdi) - WORD $0xff48; BYTE $0xce // decq %rsi - WORD $0x3948; BYTE $0xf1 // cmpq %rsi, %rcx - LONG $0xffe8850f; WORD $0xffff // jne LBB1_99, $-24(%rip) - -LBB1_100: - WORD $0x6349; BYTE $0xcd // movslq %r13d, %rcx - LONG $0x0f04c641; BYTE $0x2e // movb $46, (%r15,%rcx) - LONG $0x02c08348 // addq $2, %rax - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - LONG $0x000104e9; BYTE $0x00 // jmp LBB1_115, $260(%rip) - -LBB1_86: - LONG $0xfce78348 // andq $-4, %rdi - WORD $0xf748; BYTE $0xdf // negq %rdi - WORD $0xd231 // xorl %edx, %edx - QUAD $0xfffff5f3056ffdc5 // vmovdqa $-2573(%rip), %ymm0 /* LCPI1_0(%rip) */ - -LBB1_87: - LONG $0x447ffec5; WORD $0x0110 // vmovdqu %ymm0, $1(%rax,%rdx) - LONG $0x447ffec5; WORD $0x2110 // vmovdqu %ymm0, $33(%rax,%rdx) - LONG $0x447ffec5; WORD $0x4110 // vmovdqu %ymm0, $65(%rax,%rdx) - LONG $0x447ffec5; WORD $0x6110 // vmovdqu %ymm0, $97(%rax,%rdx) - QUAD $0x00008110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $129(%rax,%rdx) - QUAD $0x0000a110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $161(%rax,%rdx) - QUAD $0x0000c110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $193(%rax,%rdx) - QUAD $0x0000e110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $225(%rax,%rdx) - QUAD $0x00010110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $257(%rax,%rdx) - QUAD $0x00012110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $289(%rax,%rdx) - QUAD $0x00014110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $321(%rax,%rdx) - QUAD $0x00016110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $353(%rax,%rdx) - QUAD $0x00018110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $385(%rax,%rdx) - QUAD $0x0001a110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $417(%rax,%rdx) - QUAD $0x0001c110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $449(%rax,%rdx) - QUAD $0x0001e110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $481(%rax,%rdx) - LONG $0x00c28148; WORD $0x0002; BYTE $0x00 // addq $512, %rdx - LONG $0x04c78348 // addq $4, %rdi - LONG $0xff6b850f; WORD $0xffff // jne LBB1_87, $-149(%rip) - -LBB1_88: - LONG $0x085c8d4a; BYTE $0x01 // leaq $1(%rax,%r9), %rbx - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0030840f; WORD $0x0000 // je LBB1_91, $48(%rip) - LONG $0x10448d48; BYTE $0x61 // leaq $97(%rax,%rdx), %rax - WORD $0xf748; BYTE $0xde // negq %rsi - QUAD $0xfffff540056ffdc5 // vmovdqa $-2752(%rip), %ymm0 /* LCPI1_0(%rip) */ - -LBB1_90: - LONG $0x407ffec5; BYTE $0xa0 // vmovdqu %ymm0, $-96(%rax) - LONG $0x407ffec5; BYTE $0xc0 // vmovdqu %ymm0, $-64(%rax) - LONG $0x407ffec5; BYTE $0xe0 // vmovdqu %ymm0, $-32(%rax) - LONG $0x007ffec5 // vmovdqu %ymm0, (%rax) - LONG $0x80e88348 // subq $-128, %rax - WORD $0xff48; BYTE $0xc6 // incq %rsi - LONG $0xffe0850f; WORD $0xffff // jne LBB1_90, $-32(%rip) - -LBB1_91: - WORD $0x8944; BYTE $0xca // movl %r9d, %edx - WORD $0x394d; BYTE $0xc8 // cmpq %r9, %r8 - LONG $0x0014840f; WORD $0x0000 // je LBB1_115, $20(%rip) - LONG $0x90909090 // .p2align 4, 0x90 - -LBB1_92: - WORD $0x03c6; BYTE $0x30 // movb $48, (%rbx) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xc2ff // incl %edx - WORD $0xca39 // cmpl %ecx, %edx - LONG $0xfff08c0f; WORD $0xffff // jl LBB1_92, $-16(%rip) - -LBB1_115: - WORD $0x2944; BYTE $0xf3 // subl %r14d, %ebx - -LBB1_116: - WORD $0xd889 // movl %ebx, %eax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB1_49: - LONG $0x00ff8148; WORD $0x9aca; BYTE $0x3b // cmpq $1000000000, %rdi - LONG $0x00000aba; BYTE $0x00 // movl $10, %edx - LONG $0xfff7e6e9; BYTE $0xff // jmp LBB1_50, $-2074(%rip) - -LBB1_1: - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0xffffd4e9; BYTE $0xff // jmp LBB1_116, $-44(%rip) - -LBB1_5: - LONG $0xfffbcebb; BYTE $0xff // movl $-1074, %ebx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0xfff57ae9; BYTE $0xff // jmp LBB1_6, $-2694(%rip) - -LBB1_26: - LONG $0x00ff8148; WORD $0x9aca; BYTE $0x3b // cmpq $1000000000, %rdi - LONG $0x00000aba; BYTE $0x00 // movl $10, %edx - LONG $0xfffa30e9; BYTE $0xff // jmp LBB1_27, $-1488(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_format_integer: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - WORD $0x8941; BYTE $0xd0 // movl %edx, %r8d - WORD $0x0149; BYTE $0xf0 // addq %rsi, %r8 - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x20e8c148 // shrq $32, %rax - LONG $0x0016850f; WORD $0x0000 // jne LBB2_2, $22(%rip) - WORD $0x894d; BYTE $0xc3 // movq %r8, %r11 - LONG $0x2710ff81; WORD $0x0000 // cmpl $10000, %edi - LONG $0x00c3830f; WORD $0x0000 // jae LBB2_5, $195(%rip) - -LBB2_4: - WORD $0xfa89 // movl %edi, %edx - LONG $0x00011ae9; BYTE $0x00 // jmp LBB2_7, $282(%rip) - -LBB2_2: - QUAD $0x77118461cefdb948; WORD $0xabcc // movabsq $-6067343680855748867, %rcx - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - WORD $0xf748; BYTE $0xe1 // mulq %rcx - LONG $0x1aeac148 // shrq $26, %rdx - LONG $0x1f00ca69; WORD $0xfa0a // imull $-100000000, %edx, %ecx - WORD $0xf901 // addl %edi, %ecx - LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0xc1af0f49 // imulq %r9, %rax - LONG $0x2de8c148 // shrq $45, %rax - LONG $0x2710f869; WORD $0x0000 // imull $10000, %eax, %edi - WORD $0xf929 // subl %edi, %ecx - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0xf9af0f49 // imulq %r9, %rdi - LONG $0x2defc148 // shrq $45, %rdi - LONG $0x2710ff69; WORD $0x0000 // imull $10000, %edi, %edi - WORD $0xf829 // subl %edi, %eax - WORD $0xb70f; BYTE $0xf9 // movzwl %cx, %edi - WORD $0xefc1; BYTE $0x02 // shrl $2, %edi - LONG $0x7bcf6944; WORD $0x0014; BYTE $0x00 // imull $5243, %edi, %r9d - LONG $0x11e9c141 // shrl $17, %r9d - LONG $0x64f96b41 // imull $100, %r9d, %edi - WORD $0xf929 // subl %edi, %ecx - LONG $0xd1b70f44 // movzwl %cx, %r10d - WORD $0xb70f; BYTE $0xf8 // movzwl %ax, %edi - WORD $0xefc1; BYTE $0x02 // shrl $2, %edi - LONG $0x147bff69; WORD $0x0000 // imull $5243, %edi, %edi - WORD $0xefc1; BYTE $0x11 // shrl $17, %edi - WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx - WORD $0xc829 // subl %ecx, %eax - LONG $0xd8b70f44 // movzwl %ax, %r11d - LONG $0x700d8d48; WORD $0x00af; BYTE $0x00 // leaq $44912(%rip), %rcx /* _Digits(%rip) */ - LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax - LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8) - LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax - LONG $0x40894166; BYTE $0xfc // movw %ax, $-4(%r8) - LONG $0x04b70f42; BYTE $0x59 // movzwl (%rcx,%r11,2), %eax - LONG $0x40894166; BYTE $0xfa // movw %ax, $-6(%r8) - LONG $0xf8588d4d // leaq $-8(%r8), %r11 - LONG $0x790cb70f // movzwl (%rcx,%rdi,2), %ecx - LONG $0x48894166; BYTE $0xf8 // movw %cx, $-8(%r8) - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0x2710ff81; WORD $0x0000 // cmpl $10000, %edi - LONG $0xff3d820f; WORD $0xffff // jb LBB2_4, $-195(%rip) - -LBB2_5: - LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - LONG $0x29158d4c; WORD $0x00af; BYTE $0x00 // leaq $44841(%rip), %r10 /* _Digits(%rip) */ - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB2_6: - WORD $0xfa89 // movl %edi, %edx - LONG $0xd1af0f49 // imulq %r9, %rdx - LONG $0x2deac148 // shrq $45, %rdx - LONG $0xd8f0ca69; WORD $0xffff // imull $-10000, %edx, %ecx - WORD $0xf901 // addl %edi, %ecx - LONG $0x1fc16948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rax - LONG $0x25e8c148 // shrq $37, %rax - WORD $0xd86b; BYTE $0x64 // imull $100, %eax, %ebx - WORD $0xd929 // subl %ebx, %ecx - LONG $0x0cb70f41; BYTE $0x4a // movzwl (%r10,%rcx,2), %ecx - LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11) - LONG $0x04b70f41; BYTE $0x42 // movzwl (%r10,%rax,2), %eax - LONG $0x43894166; BYTE $0xfc // movw %ax, $-4(%r11) - LONG $0xfcc38349 // addq $-4, %r11 - LONG $0xe0ffff81; WORD $0x05f5 // cmpl $99999999, %edi - WORD $0xd789 // movl %edx, %edi - LONG $0xffb8870f; WORD $0xffff // ja LBB2_6, $-72(%rip) - -LBB2_7: - WORD $0xfa83; BYTE $0x64 // cmpl $100, %edx - LONG $0x002d820f; WORD $0x0000 // jb LBB2_9, $45(%rip) - WORD $0xb70f; BYTE $0xc2 // movzwl %dx, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx - WORD $0xca29 // subl %ecx, %edx - WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx - LONG $0xb1158d48; WORD $0x00ae; BYTE $0x00 // leaq $44721(%rip), %rdx /* _Digits(%rip) */ - LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx - LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11) - LONG $0xfec38349 // addq $-2, %r11 - WORD $0xc289 // movl %eax, %edx - -LBB2_9: - WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx - LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip) - WORD $0xd089 // movl %edx, %eax - LONG $0x900d8d48; WORD $0x00ae; BYTE $0x00 // leaq $44688(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x43894166; BYTE $0xfe // movw %ax, $-2(%r11) - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB2_11: - WORD $0xc280; BYTE $0x30 // addb $48, %dl - WORD $0x1688 // movb %dl, (%rsi) - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_i64toa: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0005880f; WORD $0x0000 // js LBB3_1, $5(%rip) - LONG $0x000062e9; BYTE $0x00 // jmp _u64toa, $98(%rip) - -LBB3_1: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x07c6; BYTE $0x2d // movb $45, (%rdi) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0xf748; BYTE $0xde // negq %rsi - LONG $0x000050e8; BYTE $0x00 // callq _u64toa, $80(%rip) - WORD $0xc0ff // incl %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; LONG $0x00000000 // .p2align 4, 0x00 - -LCPI4_0: - QUAD $0x00000000d1b71759 // .quad 3518437209 - QUAD $0x00000000d1b71759 // .quad 3518437209 - -LCPI4_3: - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - -LCPI4_4: - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - - // .p2align 3, 0x00 -LCPI4_1: - QUAD $0x80003334147b20c5 // .quad -9223315738079846203 - -LCPI4_2: - QUAD $0x8000200008000080 // .quad -9223336852348469120 - - // .p2align 4, 0x90 -_u64toa: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - LONG $0x0ffe8148; WORD $0x0027; BYTE $0x00 // cmpq $9999, %rsi - LONG $0x00a2870f; WORD $0x0000 // ja LBB4_8, $162(%rip) - WORD $0xb70f; BYTE $0xc6 // movzwl %si, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - LONG $0x00148d48 // leaq (%rax,%rax), %rdx - WORD $0xc06b; BYTE $0x64 // imull $100, %eax, %eax - WORD $0xf189 // movl %esi, %ecx - WORD $0xc129 // subl %eax, %ecx - WORD $0xb70f; BYTE $0xc1 // movzwl %cx, %eax - WORD $0x0148; BYTE $0xc0 // addq %rax, %rax - LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi - LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip) - LONG $0xbc0d8d48; WORD $0x00ad; BYTE $0x00 // leaq $44476(%rip), %rcx /* _Digits(%rip) */ - WORD $0x0c8a; BYTE $0x0a // movb (%rdx,%rcx), %cl - WORD $0x0f88 // movb %cl, (%rdi) - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0x00000be9; BYTE $0x00 // jmp LBB4_4, $11(%rip) - -LBB4_3: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x0045820f; WORD $0x0000 // jb LBB4_5, $69(%rip) - -LBB4_4: - WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx - LONG $0x01ca8348 // orq $1, %rdx - LONG $0x94358d48; WORD $0x00ad; BYTE $0x00 // leaq $44436(%rip), %rsi /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x32 // movb (%rdx,%rsi), %dl - WORD $0xce89 // movl %ecx, %esi - WORD $0xc1ff // incl %ecx - WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi) - -LBB4_6: - LONG $0x83158d48; WORD $0x00ad; BYTE $0x00 // leaq $44419(%rip), %rdx /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x10 // movb (%rax,%rdx), %dl - WORD $0xce89 // movl %ecx, %esi - WORD $0xc1ff // incl %ecx - WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi) - -LBB4_7: - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x01c88348 // orq $1, %rax - LONG $0x6b158d48; WORD $0x00ad; BYTE $0x00 // leaq $44395(%rip), %rdx /* _Digits(%rip) */ - WORD $0x048a; BYTE $0x10 // movb (%rax,%rdx), %al - WORD $0xca89 // movl %ecx, %edx - WORD $0xc1ff // incl %ecx - WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx) - WORD $0xc889 // movl %ecx, %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB4_5: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0xfe83; BYTE $0x0a // cmpl $10, %esi - LONG $0xffc8830f; WORD $0xffff // jae LBB4_6, $-56(%rip) - LONG $0xffffd4e9; BYTE $0xff // jmp LBB4_7, $-44(%rip) - -LBB4_8: - LONG $0xfffe8148; WORD $0xf5e0; BYTE $0x05 // cmpq $99999999, %rsi - LONG $0x011e870f; WORD $0x0000 // ja LBB4_16, $286(%rip) - WORD $0xf089 // movl %esi, %eax - LONG $0xb71759ba; BYTE $0xd1 // movl $3518437209, %edx - LONG $0xd0af0f48 // imulq %rax, %rdx - LONG $0x2deac148 // shrq $45, %rdx - LONG $0x10c26944; WORD $0x0027; BYTE $0x00 // imull $10000, %edx, %r8d - WORD $0xf189 // movl %esi, %ecx - WORD $0x2944; BYTE $0xc1 // subl %r8d, %ecx - LONG $0x83d0694c; WORD $0x1bde; BYTE $0x43 // imulq $1125899907, %rax, %r10 - LONG $0x31eac149 // shrq $49, %r10 - LONG $0xfee28341 // andl $-2, %r10d - WORD $0xb70f; BYTE $0xc2 // movzwl %dx, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - WORD $0xc06b; BYTE $0x64 // imull $100, %eax, %eax - WORD $0xc229 // subl %eax, %edx - LONG $0xcab70f44 // movzwl %dx, %r9d - WORD $0x014d; BYTE $0xc9 // addq %r9, %r9 - WORD $0xb70f; BYTE $0xc1 // movzwl %cx, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - LONG $0x00048d4c // leaq (%rax,%rax), %r8 - WORD $0xc06b; BYTE $0x64 // imull $100, %eax, %eax - WORD $0xc129 // subl %eax, %ecx - LONG $0xd9b70f44 // movzwl %cx, %r11d - WORD $0x014d; BYTE $0xdb // addq %r11, %r11 - LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi - LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip) - LONG $0xc9058d48; WORD $0x00ac; BYTE $0x00 // leaq $44233(%rip), %rax /* _Digits(%rip) */ - LONG $0x02048a41 // movb (%r10,%rax), %al - WORD $0x0788 // movb %al, (%rdi) - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0x00000ee9; BYTE $0x00 // jmp LBB4_12, $14(%rip) - -LBB4_11: - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x4240fe81; WORD $0x000f // cmpl $1000000, %esi - LONG $0x0076820f; WORD $0x0000 // jb LBB4_13, $118(%rip) - -LBB4_12: - WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax - LONG $0x01c88348 // orq $1, %rax - LONG $0x9d358d48; WORD $0x00ac; BYTE $0x00 // leaq $44189(%rip), %rsi /* _Digits(%rip) */ - WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al - WORD $0xce89 // movl %ecx, %esi - WORD $0xc1ff // incl %ecx - WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi) - -LBB4_14: - LONG $0x8c058d48; WORD $0x00ac; BYTE $0x00 // leaq $44172(%rip), %rax /* _Digits(%rip) */ - LONG $0x01048a41 // movb (%r9,%rax), %al - WORD $0xce89 // movl %ecx, %esi - WORD $0xc1ff // incl %ecx - WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi) - -LBB4_15: - LONG $0xc1b70f41 // movzwl %r9w, %eax - LONG $0x01c88348 // orq $1, %rax - LONG $0x72358d48; WORD $0x00ac; BYTE $0x00 // leaq $44146(%rip), %rsi /* _Digits(%rip) */ - WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al - WORD $0xca89 // movl %ecx, %edx - WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx) - LONG $0x30048a41 // movb (%r8,%rsi), %al - LONG $0x01174488 // movb %al, $1(%rdi,%rdx) - LONG $0xc0b70f41 // movzwl %r8w, %eax - LONG $0x01c88348 // orq $1, %rax - WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al - LONG $0x02174488 // movb %al, $2(%rdi,%rdx) - LONG $0x33048a41 // movb (%r11,%rsi), %al - LONG $0x03174488 // movb %al, $3(%rdi,%rdx) - LONG $0xc3b70f41 // movzwl %r11w, %eax - LONG $0x01c88348 // orq $1, %rax - WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al - WORD $0xc183; BYTE $0x05 // addl $5, %ecx - LONG $0x04174488 // movb %al, $4(%rdi,%rdx) - WORD $0xc889 // movl %ecx, %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB4_13: - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x86a0fe81; WORD $0x0001 // cmpl $100000, %esi - LONG $0xff94830f; WORD $0xffff // jae LBB4_14, $-108(%rip) - LONG $0xffffa1e9; BYTE $0xff // jmp LBB4_15, $-95(%rip) - -LBB4_16: - QUAD $0x86f26fc0ffffb848; WORD $0x0023 // movabsq $9999999999999999, %rax - WORD $0x3948; BYTE $0xc6 // cmpq %rax, %rsi - LONG $0x0105870f; WORD $0x0000 // ja LBB4_18, $261(%rip) - QUAD $0x77118461cefdb948; WORD $0xabcc // movabsq $-6067343680855748867, %rcx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf748; BYTE $0xe1 // mulq %rcx - LONG $0x1aeac148 // shrq $26, %rdx - LONG $0xe100c269; WORD $0x05f5 // imull $100000000, %edx, %eax - WORD $0xc629 // subl %eax, %esi - LONG $0xc26ef9c5 // vmovd %edx, %xmm0 - QUAD $0xfffffda70d6ff9c5 // vmovdqa $-601(%rip), %xmm1 /* LCPI4_0(%rip) */ - LONG $0xd1f4f9c5 // vpmuludq %xmm1, %xmm0, %xmm2 - LONG $0xd273e9c5; BYTE $0x2d // vpsrlq $45, %xmm2, %xmm2 - LONG $0x002710b8; BYTE $0x00 // movl $10000, %eax - LONG $0x6ef9e1c4; BYTE $0xd8 // vmovq %rax, %xmm3 - LONG $0xe3f4e9c5 // vpmuludq %xmm3, %xmm2, %xmm4 - LONG $0xc4faf9c5 // vpsubd %xmm4, %xmm0, %xmm0 - LONG $0xc061e9c5 // vpunpcklwd %xmm0, %xmm2, %xmm0 - LONG $0xf073f9c5; BYTE $0x02 // vpsllq $2, %xmm0, %xmm0 - LONG $0xc070fbc5; BYTE $0x50 // vpshuflw $80, %xmm0, %xmm0 - LONG $0xc070f9c5; BYTE $0x50 // vpshufd $80, %xmm0, %xmm0 - QUAD $0xfffffda11512fbc5 // vmovddup $-607(%rip), %xmm2 /* LCPI4_1(%rip) */ - LONG $0xc2e4f9c5 // vpmulhuw %xmm2, %xmm0, %xmm0 - QUAD $0xfffffd9d2512fbc5 // vmovddup $-611(%rip), %xmm4 /* LCPI4_2(%rip) */ - LONG $0xc4e4f9c5 // vpmulhuw %xmm4, %xmm0, %xmm0 - QUAD $0xfffffd692d6ff9c5 // vmovdqa $-663(%rip), %xmm5 /* LCPI4_3(%rip) */ - LONG $0xf5d5f9c5 // vpmullw %xmm5, %xmm0, %xmm6 - LONG $0xf673c9c5; BYTE $0x10 // vpsllq $16, %xmm6, %xmm6 - LONG $0xc6f9f9c5 // vpsubw %xmm6, %xmm0, %xmm0 - LONG $0xf66ef9c5 // vmovd %esi, %xmm6 - LONG $0xc9f4c9c5 // vpmuludq %xmm1, %xmm6, %xmm1 - LONG $0xd173f1c5; BYTE $0x2d // vpsrlq $45, %xmm1, %xmm1 - LONG $0xdbf4f1c5 // vpmuludq %xmm3, %xmm1, %xmm3 - LONG $0xdbfac9c5 // vpsubd %xmm3, %xmm6, %xmm3 - LONG $0xcb61f1c5 // vpunpcklwd %xmm3, %xmm1, %xmm1 - LONG $0xf173f1c5; BYTE $0x02 // vpsllq $2, %xmm1, %xmm1 - LONG $0xc970fbc5; BYTE $0x50 // vpshuflw $80, %xmm1, %xmm1 - LONG $0xc970f9c5; BYTE $0x50 // vpshufd $80, %xmm1, %xmm1 - LONG $0xcae4f1c5 // vpmulhuw %xmm2, %xmm1, %xmm1 - LONG $0xcce4f1c5 // vpmulhuw %xmm4, %xmm1, %xmm1 - LONG $0xd5d5f1c5 // vpmullw %xmm5, %xmm1, %xmm2 - LONG $0xf273e9c5; BYTE $0x10 // vpsllq $16, %xmm2, %xmm2 - LONG $0xcaf9f1c5 // vpsubw %xmm2, %xmm1, %xmm1 - LONG $0xc167f9c5 // vpackuswb %xmm1, %xmm0, %xmm0 - QUAD $0xfffffd230dfcf9c5 // vpaddb $-733(%rip), %xmm0, %xmm1 /* LCPI4_4(%rip) */ - LONG $0xd2efe9c5 // vpxor %xmm2, %xmm2, %xmm2 - LONG $0xc274f9c5 // vpcmpeqb %xmm2, %xmm0, %xmm0 - LONG $0xc0d7f9c5 // vpmovmskb %xmm0, %eax - LONG $0x0080000d; BYTE $0x00 // orl $32768, %eax - LONG $0xff7fff35; BYTE $0xff // xorl $-32769, %eax - WORD $0xbc0f; BYTE $0xc0 // bsfl %eax, %eax - LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx - WORD $0xc129 // subl %eax, %ecx - LONG $0x04e0c148 // shlq $4, %rax - LONG $0x78158d48; WORD $0x00d2; BYTE $0x00 // leaq $53880(%rip), %rdx /* _VecShiftShuffles(%rip) */ - LONG $0x0071e2c4; WORD $0x1004 // vpshufb (%rax,%rdx), %xmm1, %xmm0 - LONG $0x077ffac5 // vmovdqu %xmm0, (%rdi) - WORD $0xc889 // movl %ecx, %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB4_18: - QUAD $0x652fb1137857b948; WORD $0x39a5 // movabsq $4153837486827862103, %rcx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf748; BYTE $0xe1 // mulq %rcx - LONG $0x33eac148 // shrq $51, %rdx - QUAD $0x86f26fc10000b848; WORD $0x0023 // movabsq $10000000000000000, %rax - LONG $0xc2af0f48 // imulq %rdx, %rax - WORD $0x2948; BYTE $0xc6 // subq %rax, %rsi - WORD $0xfa83; BYTE $0x09 // cmpl $9, %edx - LONG $0x000f870f; WORD $0x0000 // ja LBB4_20, $15(%rip) - WORD $0xc280; BYTE $0x30 // addb $48, %dl - WORD $0x1788 // movb %dl, (%rdi) - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0x0000bae9; BYTE $0x00 // jmp LBB4_25, $186(%rip) - -LBB4_20: - WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx - LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip) - WORD $0xd089 // movl %edx, %eax - LONG $0xbb0d8d48; WORD $0x00aa; BYTE $0x00 // leaq $43707(%rip), %rcx /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl - LONG $0x0141448a // movb $1(%rcx,%rax,2), %al - WORD $0x1788 // movb %dl, (%rdi) - WORD $0x4788; BYTE $0x01 // movb %al, $1(%rdi) - LONG $0x000002b9; BYTE $0x00 // movl $2, %ecx - LONG $0x000092e9; BYTE $0x00 // jmp LBB4_25, $146(%rip) - -LBB4_22: - WORD $0xd089 // movl %edx, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - LONG $0x03e7fa81; WORD $0x0000 // cmpl $999, %edx - LONG $0x003c870f; WORD $0x0000 // ja LBB4_24, $60(%rip) - WORD $0xc083; BYTE $0x30 // addl $48, %eax - WORD $0x0788 // movb %al, (%rdi) - WORD $0xb70f; BYTE $0xc2 // movzwl %dx, %eax - WORD $0xc189 // movl %eax, %ecx - WORD $0xe9c1; BYTE $0x02 // shrl $2, %ecx - LONG $0x147bc969; WORD $0x0000 // imull $5243, %ecx, %ecx - WORD $0xe9c1; BYTE $0x11 // shrl $17, %ecx - WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx - WORD $0xc829 // subl %ecx, %eax - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x660d8d48; WORD $0x00aa; BYTE $0x00 // leaq $43622(%rip), %rcx /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl - LONG $0x0141448a // movb $1(%rcx,%rax,2), %al - WORD $0x5788; BYTE $0x01 // movb %dl, $1(%rdi) - WORD $0x4788; BYTE $0x02 // movb %al, $2(%rdi) - LONG $0x000003b9; BYTE $0x00 // movl $3, %ecx - LONG $0x00003ce9; BYTE $0x00 // jmp LBB4_25, $60(%rip) - -LBB4_24: - WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx - WORD $0xca29 // subl %ecx, %edx - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x40058d4c; WORD $0x00aa; BYTE $0x00 // leaq $43584(%rip), %r8 /* _Digits(%rip) */ - LONG $0x400c8a41 // movb (%r8,%rax,2), %cl - LONG $0x40448a41; BYTE $0x01 // movb $1(%r8,%rax,2), %al - WORD $0x0f88 // movb %cl, (%rdi) - WORD $0x4788; BYTE $0x01 // movb %al, $1(%rdi) - WORD $0xb70f; BYTE $0xc2 // movzwl %dx, %eax - LONG $0x400c8a41 // movb (%r8,%rax,2), %cl - WORD $0x0148; BYTE $0xc0 // addq %rax, %rax - WORD $0x4f88; BYTE $0x02 // movb %cl, $2(%rdi) - WORD $0xc883; BYTE $0x01 // orl $1, %eax - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x00048a42 // movb (%rax,%r8), %al - WORD $0x4788; BYTE $0x03 // movb %al, $3(%rdi) - LONG $0x000004b9; BYTE $0x00 // movl $4, %ecx - -LBB4_25: - QUAD $0x77118461cefdba48; WORD $0xabcc // movabsq $-6067343680855748867, %rdx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf748; BYTE $0xe2 // mulq %rdx - LONG $0x1aeac148 // shrq $26, %rdx - LONG $0xc26ef9c5 // vmovd %edx, %xmm0 - QUAD $0xfffffbb30d6ff9c5 // vmovdqa $-1101(%rip), %xmm1 /* LCPI4_0(%rip) */ - LONG $0xd1f4f9c5 // vpmuludq %xmm1, %xmm0, %xmm2 - LONG $0xd273e9c5; BYTE $0x2d // vpsrlq $45, %xmm2, %xmm2 - LONG $0x002710b8; BYTE $0x00 // movl $10000, %eax - LONG $0x6ef9e1c4; BYTE $0xd8 // vmovq %rax, %xmm3 - LONG $0xe3f4e9c5 // vpmuludq %xmm3, %xmm2, %xmm4 - LONG $0xc4faf9c5 // vpsubd %xmm4, %xmm0, %xmm0 - LONG $0xc061e9c5 // vpunpcklwd %xmm0, %xmm2, %xmm0 - LONG $0xf073f9c5; BYTE $0x02 // vpsllq $2, %xmm0, %xmm0 - LONG $0xc070fbc5; BYTE $0x50 // vpshuflw $80, %xmm0, %xmm0 - LONG $0xc070f9c5; BYTE $0x50 // vpshufd $80, %xmm0, %xmm0 - QUAD $0xfffffbad1512fbc5 // vmovddup $-1107(%rip), %xmm2 /* LCPI4_1(%rip) */ - LONG $0xc2e4f9c5 // vpmulhuw %xmm2, %xmm0, %xmm0 - QUAD $0xfffffba92512fbc5 // vmovddup $-1111(%rip), %xmm4 /* LCPI4_2(%rip) */ - LONG $0xc4e4f9c5 // vpmulhuw %xmm4, %xmm0, %xmm0 - QUAD $0xfffffb752d6ff9c5 // vmovdqa $-1163(%rip), %xmm5 /* LCPI4_3(%rip) */ - LONG $0xf5d5f9c5 // vpmullw %xmm5, %xmm0, %xmm6 - LONG $0xf673c9c5; BYTE $0x10 // vpsllq $16, %xmm6, %xmm6 - LONG $0xc6f9f9c5 // vpsubw %xmm6, %xmm0, %xmm0 - LONG $0xe100c269; WORD $0x05f5 // imull $100000000, %edx, %eax - WORD $0xc629 // subl %eax, %esi - LONG $0xf66ef9c5 // vmovd %esi, %xmm6 - LONG $0xc9f4c9c5 // vpmuludq %xmm1, %xmm6, %xmm1 - LONG $0xd173f1c5; BYTE $0x2d // vpsrlq $45, %xmm1, %xmm1 - LONG $0xdbf4f1c5 // vpmuludq %xmm3, %xmm1, %xmm3 - LONG $0xdbfac9c5 // vpsubd %xmm3, %xmm6, %xmm3 - LONG $0xcb61f1c5 // vpunpcklwd %xmm3, %xmm1, %xmm1 - LONG $0xf173f1c5; BYTE $0x02 // vpsllq $2, %xmm1, %xmm1 - LONG $0xc970fbc5; BYTE $0x50 // vpshuflw $80, %xmm1, %xmm1 - LONG $0xc970f9c5; BYTE $0x50 // vpshufd $80, %xmm1, %xmm1 - LONG $0xcae4f1c5 // vpmulhuw %xmm2, %xmm1, %xmm1 - LONG $0xcce4f1c5 // vpmulhuw %xmm4, %xmm1, %xmm1 - LONG $0xd5d5f1c5 // vpmullw %xmm5, %xmm1, %xmm2 - LONG $0xf273e9c5; BYTE $0x10 // vpsllq $16, %xmm2, %xmm2 - LONG $0xcaf9f1c5 // vpsubw %xmm2, %xmm1, %xmm1 - LONG $0xc167f9c5 // vpackuswb %xmm1, %xmm0, %xmm0 - QUAD $0xfffffb2705fcf9c5 // vpaddb $-1241(%rip), %xmm0, %xmm0 /* LCPI4_4(%rip) */ - WORD $0xc889 // movl %ecx, %eax - LONG $0x047ffac5; BYTE $0x07 // vmovdqu %xmm0, (%rdi,%rax) - WORD $0xc983; BYTE $0x10 // orl $16, %ecx - WORD $0xc889 // movl %ecx, %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI5_0: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI5_1: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI5_2: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - - // .p2align 4, 0x90 -_quote: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - WORD $0x8949; BYTE $0xcd // movq %rcx, %r13 - WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x8b4c; BYTE $0x31 // movq (%rcx), %r14 - LONG $0x01c0f641 // testb $1, %r8b - LONG $0xcb0d8d48; WORD $0x00d0; BYTE $0x00 // leaq $53451(%rip), %rcx /* __SingleQuoteTab(%rip) */ - LONG $0xc4058d4c; WORD $0x00e0; BYTE $0x00 // leaq $57540(%rip), %r8 /* __DoubleQuoteTab(%rip) */ - LONG $0xc1440f4c // cmoveq %rcx, %r8 - QUAD $0x00000000f50c8d48 // leaq (,%rsi,8), %rcx - WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 - LONG $0x04328d0f; WORD $0x0000 // jge LBB5_51, $1074(%rip) - WORD $0x894d; BYTE $0xfb // movq %r15, %r11 - WORD $0x8949; BYTE $0xfa // movq %rdi, %r10 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0414840f; WORD $0x0000 // je LBB5_74, $1044(%rip) - QUAD $0xffffff78056ff9c5 // vmovdqa $-136(%rip), %xmm0 /* LCPI5_0(%rip) */ - QUAD $0xffffff800d6ff9c5 // vmovdqa $-128(%rip), %xmm1 /* LCPI5_1(%rip) */ - QUAD $0xffffff88156ff9c5 // vmovdqa $-120(%rip), %xmm2 /* LCPI5_2(%rip) */ - LONG $0xdb76e1c5 // vpcmpeqd %xmm3, %xmm3, %xmm3 - WORD $0x8949; BYTE $0xfa // movq %rdi, %r10 - WORD $0x894d; BYTE $0xfb // movq %r15, %r11 - LONG $0xd07d894c // movq %r15, $-48(%rbp) - -LBB5_3: - LONG $0x0ff88348 // cmpq $15, %rax - WORD $0x9f0f; BYTE $0xc2 // setg %dl - WORD $0x894d; BYTE $0xf1 // movq %r14, %r9 - WORD $0x894d; BYTE $0xdf // movq %r11, %r15 - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x894d; BYTE $0xd4 // movq %r10, %r12 - LONG $0x10fe8349 // cmpq $16, %r14 - LONG $0x008d8c0f; WORD $0x0000 // jl LBB5_9, $141(%rip) - LONG $0x10f88348 // cmpq $16, %rax - LONG $0x00838c0f; WORD $0x0000 // jl LBB5_9, $131(%rip) - WORD $0x894d; BYTE $0xd4 // movq %r10, %r12 - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x894d; BYTE $0xdf // movq %r11, %r15 - WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB5_6: - LONG $0x6f7ac1c4; WORD $0x2424 // vmovdqu (%r12), %xmm4 - LONG $0xec64f9c5 // vpcmpgtb %xmm4, %xmm0, %xmm5 - LONG $0xf174d9c5 // vpcmpeqb %xmm1, %xmm4, %xmm6 - LONG $0xfa74d9c5 // vpcmpeqb %xmm2, %xmm4, %xmm7 - LONG $0xf6ebc1c5 // vpor %xmm6, %xmm7, %xmm6 - LONG $0x7f7ac1c4; BYTE $0x27 // vmovdqu %xmm4, (%r15) - LONG $0xe364d9c5 // vpcmpgtb %xmm3, %xmm4, %xmm4 - LONG $0xe4dbd1c5 // vpand %xmm4, %xmm5, %xmm4 - LONG $0xe4ebc9c5 // vpor %xmm4, %xmm6, %xmm4 - LONG $0xccd7f9c5 // vpmovmskb %xmm4, %ecx - WORD $0x8566; BYTE $0xc9 // testw %cx, %cx - LONG $0x011a850f; WORD $0x0000 // jne LBB5_18, $282(%rip) - LONG $0x10c48349 // addq $16, %r12 - LONG $0x10c78349 // addq $16, %r15 - LONG $0xf04e8d48 // leaq $-16(%rsi), %rcx - LONG $0xf04b8d4c // leaq $-16(%rbx), %r9 - LONG $0x1ffe8348 // cmpq $31, %rsi - WORD $0x9f0f; BYTE $0xc2 // setg %dl - LONG $0x20fe8348 // cmpq $32, %rsi - LONG $0x001b8c0f; WORD $0x0000 // jl LBB5_9, $27(%rip) - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - LONG $0x1ffb8348 // cmpq $31, %rbx - WORD $0x894c; BYTE $0xcb // movq %r9, %rbx - LONG $0xff9b8f0f; WORD $0xffff // jg LBB5_6, $-101(%rip) - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB5_9: - WORD $0xd284 // testb %dl, %dl - LONG $0x006a840f; WORD $0x0000 // je LBB5_13, $106(%rip) - WORD $0x894c; BYTE $0xea // movq %r13, %rdx - LONG $0x6f7ac1c4; WORD $0x2424 // vmovdqu (%r12), %xmm4 - LONG $0xec64f9c5 // vpcmpgtb %xmm4, %xmm0, %xmm5 - LONG $0xf174d9c5 // vpcmpeqb %xmm1, %xmm4, %xmm6 - LONG $0xfa74d9c5 // vpcmpeqb %xmm2, %xmm4, %xmm7 - LONG $0xf6ebc1c5 // vpor %xmm6, %xmm7, %xmm6 - LONG $0xfb64d9c5 // vpcmpgtb %xmm3, %xmm4, %xmm7 - LONG $0xefdbd1c5 // vpand %xmm7, %xmm5, %xmm5 - LONG $0xedebc9c5 // vpor %xmm5, %xmm6, %xmm5 - LONG $0xcdd7f9c5 // vpmovmskb %xmm5, %ecx - LONG $0x0000c981; WORD $0x0001 // orl $65536, %ecx - LONG $0xe9bc0f44 // bsfl %ecx, %r13d - LONG $0x7ef9e1c4; BYTE $0xe1 // vmovq %xmm4, %rcx - WORD $0x394d; BYTE $0xe9 // cmpq %r13, %r9 - LONG $0x00be8d0f; WORD $0x0000 // jge LBB5_19, $190(%rip) - LONG $0x08f98349 // cmpq $8, %r9 - LONG $0x00ff820f; WORD $0x0000 // jb LBB5_22, $255(%rip) - WORD $0x8949; BYTE $0x0f // movq %rcx, (%r15) - LONG $0x246c8d4d; BYTE $0x08 // leaq $8(%r12), %r13 - LONG $0x08c78349 // addq $8, %r15 - LONG $0xf8718d49 // leaq $-8(%r9), %rsi - LONG $0x04fe8348 // cmpq $4, %rsi - LONG $0x00f58d0f; WORD $0x0000 // jge LBB5_23, $245(%rip) - LONG $0x000103e9; BYTE $0x00 // jmp LBB5_24, $259(%rip) - -LBB5_13: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x01458e0f; WORD $0x0000 // jle LBB5_28, $325(%rip) - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x013c8e0f; WORD $0x0000 // jle LBB5_29, $316(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB5_15: - LONG $0x34b60f41; BYTE $0x24 // movzbl (%r12), %esi - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - LONG $0x04e2c148 // shlq $4, %rdx - LONG $0x2d1d8d48; WORD $0x00cf; BYTE $0x00 // leaq $53037(%rip), %rbx /* __SingleQuoteTab(%rip) */ - LONG $0x1a3c8348; BYTE $0x00 // cmpq $0, (%rdx,%rbx) - LONG $0x0082850f; WORD $0x0000 // jne LBB5_21, $130(%rip) - LONG $0xff518d48 // leaq $-1(%rcx), %rdx - WORD $0xff49; BYTE $0xc4 // incq %r12 - WORD $0x8841; BYTE $0x37 // movb %sil, (%r15) - LONG $0x02f98348 // cmpq $2, %rcx - LONG $0x01018c0f; WORD $0x0000 // jl LBB5_29, $257(%rip) - LONG $0xff718d49 // leaq $-1(%r9), %rsi - WORD $0xff49; BYTE $0xc7 // incq %r15 - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - LONG $0x01f98349 // cmpq $1, %r9 - WORD $0x8949; BYTE $0xf1 // movq %rsi, %r9 - LONG $0xffb78f0f; WORD $0xffff // jg LBB5_15, $-73(%rip) - LONG $0x0000e5e9; BYTE $0x00 // jmp LBB5_29, $229(%rip) - -LBB5_18: - WORD $0xb70f; BYTE $0xc9 // movzwl %cx, %ecx - WORD $0x294d; BYTE $0xd4 // subq %r10, %r12 - LONG $0xc9bc0f44 // bsfl %ecx, %r9d - WORD $0x014d; BYTE $0xe1 // addq %r12, %r9 - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0xd07d8b4c // movq $-48(%rbp), %r15 - QUAD $0x000300000001bc49; WORD $0x0000 // movabsq $12884901889, %r12 - LONG $0x0166890f; WORD $0x0000 // jns LBB5_37, $358(%rip) - LONG $0x0004abe9; BYTE $0x00 // jmp LBB5_78, $1195(%rip) - -LBB5_19: - LONG $0x08fd8341 // cmpl $8, %r13d - LONG $0x00da820f; WORD $0x0000 // jb LBB5_30, $218(%rip) - WORD $0x8949; BYTE $0x0f // movq %rcx, (%r15) - LONG $0x24748d49; BYTE $0x08 // leaq $8(%r12), %rsi - LONG $0x08c78349 // addq $8, %r15 - LONG $0xf85d8d49 // leaq $-8(%r13), %rbx - LONG $0x04fb8348 // cmpq $4, %rbx - LONG $0x00d08d0f; WORD $0x0000 // jge LBB5_31, $208(%rip) - LONG $0x0000dce9; BYTE $0x00 // jmp LBB5_32, $220(%rip) - -LBB5_21: - WORD $0x294d; BYTE $0xd4 // subq %r10, %r12 - WORD $0x894d; BYTE $0xe1 // movq %r12, %r9 - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0xd07d8b4c // movq $-48(%rbp), %r15 - QUAD $0x000300000001bc49; WORD $0x0000 // movabsq $12884901889, %r12 - LONG $0x011b890f; WORD $0x0000 // jns LBB5_37, $283(%rip) - LONG $0x000460e9; BYTE $0x00 // jmp LBB5_78, $1120(%rip) - -LBB5_22: - WORD $0x894d; BYTE $0xe5 // movq %r12, %r13 - WORD $0x894c; BYTE $0xce // movq %r9, %rsi - LONG $0x04fe8348 // cmpq $4, %rsi - LONG $0x00138c0f; WORD $0x0000 // jl LBB5_24, $19(%rip) - -LBB5_23: - LONG $0x004d8b41 // movl (%r13), %ecx - WORD $0x8941; BYTE $0x0f // movl %ecx, (%r15) - LONG $0x04c58349 // addq $4, %r13 - LONG $0x04c78349 // addq $4, %r15 - LONG $0xfcc68348 // addq $-4, %rsi - -LBB5_24: - LONG $0x02fe8348 // cmpq $2, %rsi - LONG $0x0023820f; WORD $0x0000 // jb LBB5_25, $35(%rip) - LONG $0x4db70f41; BYTE $0x00 // movzwl (%r13), %ecx - LONG $0x0f894166 // movw %cx, (%r15) - LONG $0x02c58349 // addq $2, %r13 - LONG $0x02c78349 // addq $2, %r15 - LONG $0xfec68348 // addq $-2, %rsi - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x000e850f; WORD $0x0000 // jne LBB5_26, $14(%rip) - LONG $0x000010e9; BYTE $0x00 // jmp LBB5_27, $16(%rip) - -LBB5_25: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0007840f; WORD $0x0000 // je LBB5_27, $7(%rip) - -LBB5_26: - LONG $0x004d8a41 // movb (%r13), %cl - WORD $0x8841; BYTE $0x0f // movb %cl, (%r15) - -LBB5_27: - WORD $0x294d; BYTE $0xd1 // subq %r10, %r9 - WORD $0x014d; BYTE $0xe1 // addq %r12, %r9 - WORD $0xf749; BYTE $0xd1 // notq %r9 - LONG $0x00008ee9; BYTE $0x00 // jmp LBB5_36, $142(%rip) - -LBB5_28: - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - -LBB5_29: - WORD $0x294d; BYTE $0xd4 // subq %r10, %r12 - WORD $0xf748; BYTE $0xda // negq %rdx - WORD $0x194d; BYTE $0xc9 // sbbq %r9, %r9 - WORD $0x314d; BYTE $0xe1 // xorq %r12, %r9 - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0xd07d8b4c // movq $-48(%rbp), %r15 - QUAD $0x000300000001bc49; WORD $0x0000 // movabsq $12884901889, %r12 - LONG $0x0082890f; WORD $0x0000 // jns LBB5_37, $130(%rip) - LONG $0x0003c7e9; BYTE $0x00 // jmp LBB5_78, $967(%rip) - -LBB5_30: - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - WORD $0x894c; BYTE $0xeb // movq %r13, %rbx - LONG $0x04fb8348 // cmpq $4, %rbx - LONG $0x00118c0f; WORD $0x0000 // jl LBB5_32, $17(%rip) - -LBB5_31: - WORD $0x0e8b // movl (%rsi), %ecx - WORD $0x8941; BYTE $0x0f // movl %ecx, (%r15) - LONG $0x04c68348 // addq $4, %rsi - LONG $0x04c78349 // addq $4, %r15 - LONG $0xfcc38348 // addq $-4, %rbx - -LBB5_32: - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0x0021820f; WORD $0x0000 // jb LBB5_33, $33(%rip) - WORD $0xb70f; BYTE $0x0e // movzwl (%rsi), %ecx - LONG $0x0f894166 // movw %cx, (%r15) - LONG $0x02c68348 // addq $2, %rsi - LONG $0x02c78349 // addq $2, %r15 - LONG $0xfec38348 // addq $-2, %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x000e850f; WORD $0x0000 // jne LBB5_34, $14(%rip) - LONG $0x00000ee9; BYTE $0x00 // jmp LBB5_35, $14(%rip) - -LBB5_33: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0005840f; WORD $0x0000 // je LBB5_35, $5(%rip) - -LBB5_34: - WORD $0x0e8a // movb (%rsi), %cl - WORD $0x8841; BYTE $0x0f // movb %cl, (%r15) - -LBB5_35: - WORD $0x294d; BYTE $0xd4 // subq %r10, %r12 - WORD $0x014d; BYTE $0xec // addq %r13, %r12 - WORD $0x894d; BYTE $0xe1 // movq %r12, %r9 - -LBB5_36: - WORD $0x8949; BYTE $0xd5 // movq %rdx, %r13 - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0xd07d8b4c // movq $-48(%rbp), %r15 - QUAD $0x000300000001bc49; WORD $0x0000 // movabsq $12884901889, %r12 - LONG $0x034a880f; WORD $0x0000 // js LBB5_78, $842(%rip) - -LBB5_37: - WORD $0x014d; BYTE $0xca // addq %r9, %r10 - WORD $0x014d; BYTE $0xcb // addq %r9, %r11 - WORD $0x394c; BYTE $0xc8 // cmpq %r9, %rax - LONG $0x00cd840f; WORD $0x0000 // je LBB5_74, $205(%rip) - WORD $0x294d; BYTE $0xce // subq %r9, %r14 - WORD $0x2949; BYTE $0xc1 // subq %rax, %r9 - LONG $0x00001de9; BYTE $0x00 // jmp LBB5_40, $29(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB5_39: - WORD $0xff49; BYTE $0xc2 // incq %r10 - WORD $0x0149; BYTE $0xc3 // addq %rax, %r11 - WORD $0xff49; BYTE $0xc1 // incq %r9 - LONG $0x00a5840f; WORD $0x0000 // je LBB5_74, $165(%rip) - -LBB5_40: - LONG $0x0ab60f41 // movzbl (%r10), %ecx - LONG $0x04e1c148 // shlq $4, %rcx - LONG $0x08348b49 // movq (%r8,%rcx), %rsi - WORD $0xf685 // testl %esi, %esi - LONG $0x0082840f; WORD $0x0000 // je LBB5_48, $130(%rip) - WORD $0x6348; BYTE $0xc6 // movslq %esi, %rax - WORD $0x2949; BYTE $0xc6 // subq %rax, %r14 - LONG $0x02d48c0f; WORD $0x0000 // jl LBB5_75, $724(%rip) - LONG $0x20e6c148 // shlq $32, %rsi - LONG $0x08548d49; BYTE $0x08 // leaq $8(%r8,%rcx), %rdx - WORD $0x394c; BYTE $0xe6 // cmpq %r12, %rsi - LONG $0x002f8c0f; WORD $0x0000 // jl LBB5_44, $47(%rip) - WORD $0x128b // movl (%rdx), %edx - WORD $0x8941; BYTE $0x13 // movl %edx, (%r11) - LONG $0x08548d49; BYTE $0x0c // leaq $12(%r8,%rcx), %rdx - LONG $0x044b8d49 // leaq $4(%r11), %rcx - LONG $0xfc708d48 // leaq $-4(%rax), %rsi - LONG $0x02fe8348 // cmpq $2, %rsi - LONG $0x0023830f; WORD $0x0000 // jae LBB5_45, $35(%rip) - LONG $0x000030e9; BYTE $0x00 // jmp LBB5_46, $48(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB5_44: - WORD $0x894c; BYTE $0xd9 // movq %r11, %rcx - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - LONG $0x02fe8348 // cmpq $2, %rsi - LONG $0x0012820f; WORD $0x0000 // jb LBB5_46, $18(%rip) - -LBB5_45: - WORD $0xb70f; BYTE $0x1a // movzwl (%rdx), %ebx - WORD $0x8966; BYTE $0x19 // movw %bx, (%rcx) - LONG $0x02c28348 // addq $2, %rdx - LONG $0x02c18348 // addq $2, %rcx - LONG $0xfec68348 // addq $-2, %rsi - -LBB5_46: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xff65840f; WORD $0xffff // je LBB5_39, $-155(%rip) - WORD $0xb60f; BYTE $0x12 // movzbl (%rdx), %edx - WORD $0x1188 // movb %dl, (%rcx) - LONG $0xffff5be9; BYTE $0xff // jmp LBB5_39, $-165(%rip) - -LBB5_48: - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - WORD $0xf748; BYTE $0xd8 // negq %rax - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0xfc12850f; WORD $0xffff // jne LBB5_3, $-1006(%rip) - -LBB5_74: - WORD $0x294d; BYTE $0xfb // subq %r15, %r11 - LONG $0x005d894d // movq %r11, (%r13) - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - LONG $0x00024de9; BYTE $0x00 // jmp LBB5_76, $589(%rip) - -LBB5_51: - LONG $0x760d8d4c; WORD $0x00ec; BYTE $0x00 // leaq $60534(%rip), %r9 /* __EscTab(%rip) */ - QUAD $0xfffffb4e056ff9c5 // vmovdqa $-1202(%rip), %xmm0 /* LCPI5_0(%rip) */ - QUAD $0xfffffb560d6ff9c5 // vmovdqa $-1194(%rip), %xmm1 /* LCPI5_1(%rip) */ - QUAD $0xfffffb5e156ff9c5 // vmovdqa $-1186(%rip), %xmm2 /* LCPI5_2(%rip) */ - LONG $0xdb76e1c5 // vpcmpeqd %xmm3, %xmm3, %xmm3 - WORD $0x894c; BYTE $0xfb // movq %r15, %rbx - WORD $0x8949; BYTE $0xc2 // movq %rax, %r10 - -LBB5_52: - LONG $0x10fa8349 // cmpq $16, %r10 - LONG $0x005d8c0f; WORD $0x0000 // jl LBB5_57, $93(%rip) - LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx - WORD $0xd231 // xorl %edx, %edx - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB5_54: - LONG $0x246ffac5; BYTE $0x17 // vmovdqu (%rdi,%rdx), %xmm4 - LONG $0xec64f9c5 // vpcmpgtb %xmm4, %xmm0, %xmm5 - LONG $0xf174d9c5 // vpcmpeqb %xmm1, %xmm4, %xmm6 - LONG $0xfa74d9c5 // vpcmpeqb %xmm2, %xmm4, %xmm7 - LONG $0xf6ebc1c5 // vpor %xmm6, %xmm7, %xmm6 - LONG $0x247ffac5; BYTE $0x13 // vmovdqu %xmm4, (%rbx,%rdx) - LONG $0xe364d9c5 // vpcmpgtb %xmm3, %xmm4, %xmm4 - LONG $0xe4dbd1c5 // vpand %xmm4, %xmm5, %xmm4 - LONG $0xe4ebc9c5 // vpor %xmm4, %xmm6, %xmm4 - LONG $0xf4d7f9c5 // vpmovmskb %xmm4, %esi - WORD $0x8566; BYTE $0xf6 // testw %si, %si - LONG $0x0139850f; WORD $0x0000 // jne LBB5_67, $313(%rip) - LONG $0x10c28348 // addq $16, %rdx - LONG $0x0a748d49; BYTE $0xf0 // leaq $-16(%r10,%rcx), %rsi - LONG $0xf0c18348 // addq $-16, %rcx - LONG $0x1ffe8348 // cmpq $31, %rsi - LONG $0xffb68f0f; WORD $0xffff // jg LBB5_54, $-74(%rip) - WORD $0x0148; BYTE $0xd7 // addq %rdx, %rdi - WORD $0x2949; BYTE $0xd2 // subq %rdx, %r10 - WORD $0x0148; BYTE $0xd3 // addq %rdx, %rbx - -LBB5_57: - LONG $0x08fa8349 // cmpq $8, %r10 - LONG $0x00858c0f; WORD $0x0000 // jl LBB5_61, $133(%rip) - WORD $0xb60f; BYTE $0x0f // movzbl (%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - LONG $0x0157b60f // movzbl $1(%rdi), %edx - LONG $0x14b60f42; BYTE $0x0a // movzbl (%rdx,%r9), %edx - WORD $0xd201 // addl %edx, %edx - WORD $0xca09 // orl %ecx, %edx - LONG $0x024fb60f // movzbl $2(%rdi), %ecx - LONG $0x34b60f42; BYTE $0x09 // movzbl (%rcx,%r9), %esi - WORD $0xe6c1; BYTE $0x02 // shll $2, %esi - LONG $0x034fb60f // movzbl $3(%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - WORD $0xe1c1; BYTE $0x03 // shll $3, %ecx - WORD $0xf109 // orl %esi, %ecx - WORD $0xd109 // orl %edx, %ecx - WORD $0x8b48; BYTE $0x17 // movq (%rdi), %rdx - WORD $0x8948; BYTE $0x13 // movq %rdx, (%rbx) - WORD $0xc984 // testb %cl, %cl - LONG $0x0131850f; WORD $0x0000 // jne LBB5_71, $305(%rip) - LONG $0x044fb60f // movzbl $4(%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - LONG $0x0557b60f // movzbl $5(%rdi), %edx - LONG $0x14b60f42; BYTE $0x0a // movzbl (%rdx,%r9), %edx - WORD $0xd201 // addl %edx, %edx - WORD $0xca09 // orl %ecx, %edx - LONG $0x064fb60f // movzbl $6(%rdi), %ecx - LONG $0x34b60f42; BYTE $0x09 // movzbl (%rcx,%r9), %esi - WORD $0xe6c1; BYTE $0x02 // shll $2, %esi - LONG $0x074fb60f // movzbl $7(%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - WORD $0xe1c1; BYTE $0x03 // shll $3, %ecx - WORD $0xf109 // orl %esi, %ecx - WORD $0xd109 // orl %edx, %ecx - WORD $0xc984 // testb %cl, %cl - LONG $0x0108850f; WORD $0x0000 // jne LBB5_72, $264(%rip) - LONG $0x08c38348 // addq $8, %rbx - LONG $0x08c78348 // addq $8, %rdi - LONG $0xf8c28349 // addq $-8, %r10 - -LBB5_61: - LONG $0x04fa8349 // cmpq $4, %r10 - LONG $0x00498c0f; WORD $0x0000 // jl LBB5_64, $73(%rip) - WORD $0xb60f; BYTE $0x0f // movzbl (%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - LONG $0x0157b60f // movzbl $1(%rdi), %edx - LONG $0x14b60f42; BYTE $0x0a // movzbl (%rdx,%r9), %edx - WORD $0xd201 // addl %edx, %edx - WORD $0xca09 // orl %ecx, %edx - LONG $0x024fb60f // movzbl $2(%rdi), %ecx - LONG $0x34b60f42; BYTE $0x09 // movzbl (%rcx,%r9), %esi - WORD $0xe6c1; BYTE $0x02 // shll $2, %esi - LONG $0x034fb60f // movzbl $3(%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - WORD $0xe1c1; BYTE $0x03 // shll $3, %ecx - WORD $0xf109 // orl %esi, %ecx - WORD $0xd109 // orl %edx, %ecx - WORD $0x178b // movl (%rdi), %edx - WORD $0x1389 // movl %edx, (%rbx) - WORD $0xc984 // testb %cl, %cl - LONG $0x00a4850f; WORD $0x0000 // jne LBB5_71, $164(%rip) - LONG $0x04c38348 // addq $4, %rbx - LONG $0x04c78348 // addq $4, %rdi - LONG $0xfcc28349 // addq $-4, %r10 - -LBB5_64: - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x00b98e0f; WORD $0x0000 // jle LBB5_73, $185(%rip) - WORD $0x9090 // .p2align 4, 0x90 - -LBB5_65: - WORD $0xb60f; BYTE $0x0f // movzbl (%rdi), %ecx - LONG $0x093c8042; BYTE $0x00 // cmpb $0, (%rcx,%r9) - LONG $0x0036850f; WORD $0x0000 // jne LBB5_68, $54(%rip) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0x0b88 // movb %cl, (%rbx) - WORD $0xff48; BYTE $0xc3 // incq %rbx - LONG $0xff4a8d49 // leaq $-1(%r10), %rcx - LONG $0x01fa8349 // cmpq $1, %r10 - WORD $0x8949; BYTE $0xca // movq %rcx, %r10 - LONG $0xffd98f0f; WORD $0xffff // jg LBB5_65, $-39(%rip) - LONG $0x00008be9; BYTE $0x00 // jmp LBB5_73, $139(%rip) - -LBB5_67: - WORD $0xb70f; BYTE $0xce // movzwl %si, %ecx - WORD $0xbc0f; BYTE $0xc9 // bsfl %ecx, %ecx - WORD $0x0148; BYTE $0xcf // addq %rcx, %rdi - WORD $0x0148; BYTE $0xd7 // addq %rdx, %rdi - WORD $0x2949; BYTE $0xca // subq %rcx, %r10 - WORD $0x2949; BYTE $0xd2 // subq %rdx, %r10 - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - WORD $0x0148; BYTE $0xd3 // addq %rdx, %rbx - -LBB5_68: - WORD $0x0f8a // movb (%rdi), %cl - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB5_69: - WORD $0x8948; BYTE $0xda // movq %rbx, %rdx - WORD $0xb60f; BYTE $0xc9 // movzbl %cl, %ecx - LONG $0x04e1c148 // shlq $4, %rcx - LONG $0x081c6349 // movslq (%r8,%rcx), %rbx - LONG $0x084c8b49; BYTE $0x08 // movq $8(%r8,%rcx), %rcx - WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) - WORD $0x0148; BYTE $0xd3 // addq %rdx, %rbx - LONG $0x02fa8349 // cmpq $2, %r10 - LONG $0x00448c0f; WORD $0x0000 // jl LBB5_73, $68(%rip) - WORD $0xff49; BYTE $0xca // decq %r10 - LONG $0x014fb60f // movzbl $1(%rdi), %ecx - WORD $0xff48; BYTE $0xc7 // incq %rdi - LONG $0x093c8042; BYTE $0x00 // cmpb $0, (%rcx,%r9) - LONG $0xffc8850f; WORD $0xffff // jne LBB5_69, $-56(%rip) - LONG $0xfffe1fe9; BYTE $0xff // jmp LBB5_52, $-481(%rip) - -LBB5_71: - WORD $0xbc0f; BYTE $0xc9 // bsfl %ecx, %ecx - WORD $0x0148; BYTE $0xcf // addq %rcx, %rdi - WORD $0x2949; BYTE $0xca // subq %rcx, %r10 - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - LONG $0xffffa6e9; BYTE $0xff // jmp LBB5_68, $-90(%rip) - -LBB5_72: - WORD $0xbc0f; BYTE $0xc9 // bsfl %ecx, %ecx - LONG $0x04518d48 // leaq $4(%rcx), %rdx - LONG $0x0f7c8d48; BYTE $0x04 // leaq $4(%rdi,%rcx), %rdi - WORD $0x2949; BYTE $0xd2 // subq %rdx, %r10 - LONG $0x0b5c8d48; BYTE $0x04 // leaq $4(%rbx,%rcx), %rbx - LONG $0xffff8de9; BYTE $0xff // jmp LBB5_68, $-115(%rip) - -LBB5_73: - WORD $0x294c; BYTE $0xfb // subq %r15, %rbx - LONG $0x005d8949 // movq %rbx, (%r13) - LONG $0x000010e9; BYTE $0x00 // jmp LBB5_77, $16(%rip) - -LBB5_75: - WORD $0x294d; BYTE $0xfb // subq %r15, %r11 - LONG $0x005d894d // movq %r11, (%r13) - WORD $0xf749; BYTE $0xd2 // notq %r10 - WORD $0x0149; BYTE $0xfa // addq %rdi, %r10 - -LBB5_76: - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - -LBB5_77: - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB5_78: - WORD $0x294d; BYTE $0xfb // subq %r15, %r11 - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x014c; BYTE $0xd8 // addq %r11, %rax - LONG $0x00458949 // movq %rax, (%r13) - WORD $0x294c; BYTE $0xd7 // subq %r10, %rdi - WORD $0x014c; BYTE $0xcf // addq %r9, %rdi - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0xffffd3e9; BYTE $0xff // jmp LBB5_77, $-45(%rip) - - // .p2align 4, 0x00 -LCPI6_0: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - - // .p2align 4, 0x90 -_unquote: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x28ec8348 // subq $40, %rsp - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x066f840f; WORD $0x0000 // je LBB6_81, $1647(%rip) - WORD $0x8949; BYTE $0xf3 // movq %rsi, %r11 - LONG $0xc84d8948 // movq %rcx, $-56(%rbp) - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0xb845894c // movq %r8, $-72(%rbp) - WORD $0x8945; BYTE $0xc2 // movl %r8d, %r10d - LONG $0x01e28341 // andl $1, %r10d - LONG $0xba058d4c; WORD $0x00ea; BYTE $0x00 // leaq $60090(%rip), %r8 /* __UnquoteTab(%rip) */ - QUAD $0xffffffb2056ff9c5 // vmovdqa $-78(%rip), %xmm0 /* LCPI6_0(%rip) */ - WORD $0x8949; BYTE $0xf9 // movq %rdi, %r9 - WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13 - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB6_2: - LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x000f850f; WORD $0x0000 // jne LBB6_4, $15(%rip) - WORD $0xf631 // xorl %esi, %esi - LONG $0x0000c8e9; BYTE $0x00 // jmp LBB6_13, $200(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB6_4: - WORD $0x894d; BYTE $0xee // movq %r13, %r14 - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x894d; BYTE $0xcf // movq %r9, %r15 - LONG $0x10fd8349 // cmpq $16, %r13 - LONG $0x00408c0f; WORD $0x0000 // jl LBB6_7, $64(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB6_5: - LONG $0x6f7ac1c4; BYTE $0x0f // vmovdqu (%r15), %xmm1 - LONG $0x097ffac5 // vmovdqu %xmm1, (%rcx) - LONG $0xc874f1c5 // vpcmpeqb %xmm0, %xmm1, %xmm1 - LONG $0xf1d7f9c5 // vpmovmskb %xmm1, %esi - WORD $0x8566; BYTE $0xf6 // testw %si, %si - LONG $0x0060850f; WORD $0x0000 // jne LBB6_12, $96(%rip) - LONG $0x10c78349 // addq $16, %r15 - LONG $0x10c18348 // addq $16, %rcx - LONG $0xf0768d49 // leaq $-16(%r14), %rsi - LONG $0x1ffe8349 // cmpq $31, %r14 - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - LONG $0xffcd8f0f; WORD $0xffff // jg LBB6_5, $-51(%rip) - -LBB6_7: - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x05d3840f; WORD $0x0000 // je LBB6_82, $1491(%rip) - WORD $0xf631 // xorl %esi, %esi - WORD $0x9090 // .p2align 4, 0x90 - -LBB6_9: - LONG $0x1cb60f41; BYTE $0x37 // movzbl (%r15,%rsi), %ebx - WORD $0xfb80; BYTE $0x5c // cmpb $92, %bl - LONG $0x0014840f; WORD $0x0000 // je LBB6_11, $20(%rip) - WORD $0x1c88; BYTE $0x31 // movb %bl, (%rcx,%rsi) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x3949; BYTE $0xf6 // cmpq %rsi, %r14 - LONG $0xffe3850f; WORD $0xffff // jne LBB6_9, $-29(%rip) - LONG $0x0005ade9; BYTE $0x00 // jmp LBB6_82, $1453(%rip) - -LBB6_11: - WORD $0x0149; BYTE $0xf7 // addq %rsi, %r15 - WORD $0x294d; BYTE $0xcf // subq %r9, %r15 - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xfffe8348 // cmpq $-1, %rsi - LONG $0x002b850f; WORD $0x0000 // jne LBB6_13, $43(%rip) - LONG $0x000595e9; BYTE $0x00 // jmp LBB6_82, $1429(%rip) - -LBB6_12: - WORD $0xb70f; BYTE $0xce // movzwl %si, %ecx - WORD $0x294d; BYTE $0xcf // subq %r9, %r15 - LONG $0xf1bc0f48 // bsfq %rcx, %rsi - WORD $0x014c; BYTE $0xfe // addq %r15, %rsi - LONG $0xfffe8348 // cmpq $-1, %rsi - LONG $0x057e840f; WORD $0x0000 // je LBB6_82, $1406(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB6_13: - LONG $0x024e8d48 // leaq $2(%rsi), %rcx - WORD $0x2949; BYTE $0xcd // subq %rcx, %r13 - LONG $0x075b880f; WORD $0x0000 // js LBB6_111, $1883(%rip) - LONG $0x314c8d4d; BYTE $0x02 // leaq $2(%r9,%rsi), %r9 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x03f5850f; WORD $0x0000 // jne LBB6_58, $1013(%rip) - -LBB6_15: - WORD $0x0148; BYTE $0xf0 // addq %rsi, %rax - LONG $0x49b60f41; BYTE $0xff // movzbl $-1(%r9), %ecx - LONG $0x010c8a42 // movb (%rcx,%r8), %cl - WORD $0xf980; BYTE $0xff // cmpb $-1, %cl - LONG $0x0020840f; WORD $0x0000 // je LBB6_18, $32(%rip) - WORD $0xc984 // testb %cl, %cl - LONG $0x0600840f; WORD $0x0000 // je LBB6_93, $1536(%rip) - WORD $0x0888 // movb %cl, (%rax) - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0x0003c0e9; BYTE $0x00 // jmp LBB6_57, $960(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB6_18: - LONG $0x03fd8349 // cmpq $3, %r13 - LONG $0x070e8e0f; WORD $0x0000 // jle LBB6_111, $1806(%rip) - WORD $0x8b41; BYTE $0x31 // movl (%r9), %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0xcfd09e8d; WORD $0xcfcf // leal $-808464432(%rsi), %ebx - LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx - WORD $0xd985 // testl %ebx, %ecx - LONG $0x050f850f; WORD $0x0000 // jne LBB6_84, $1295(%rip) - LONG $0x19199e8d; WORD $0x1919 // leal $421075225(%rsi), %ebx - WORD $0xf309 // orl %esi, %ebx - LONG $0x8080c3f7; WORD $0x8080 // testl $-2139062144, %ebx - LONG $0x04fb850f; WORD $0x0000 // jne LBB6_84, $1275(%rip) - WORD $0xf389 // movl %esi, %ebx - LONG $0x7f7fe381; WORD $0x7f7f // andl $2139062143, %ebx - LONG $0xc0c0be41; WORD $0xc0c0 // movl $-1061109568, %r14d - WORD $0x2941; BYTE $0xde // subl %ebx, %r14d - LONG $0x46bb8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rbx), %r15d - WORD $0x2141; BYTE $0xce // andl %ecx, %r14d - WORD $0x8545; BYTE $0xfe // testl %r15d, %r14d - LONG $0x04d7850f; WORD $0x0000 // jne LBB6_84, $1239(%rip) - LONG $0xe0e0be41; WORD $0xe0e0 // movl $-522133280, %r14d - WORD $0x2941; BYTE $0xde // subl %ebx, %r14d - LONG $0x3939c381; WORD $0x3939 // addl $960051513, %ebx - WORD $0x2144; BYTE $0xf1 // andl %r14d, %ecx - WORD $0xd985 // testl %ebx, %ecx - LONG $0x04bd850f; WORD $0x0000 // jne LBB6_84, $1213(%rip) - WORD $0xce0f // bswapl %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0x0101e181; WORD $0x0101 // andl $16843009, %ecx - WORD $0x0c8d; BYTE $0xc9 // leal (%rcx,%rcx,8), %ecx - LONG $0x0f0fe681; WORD $0x0f0f // andl $252645135, %esi - WORD $0xce01 // addl %ecx, %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xf109 // orl %esi, %ecx - LONG $0xf9b60f44 // movzbl %cl, %r15d - WORD $0xe9c1; BYTE $0x08 // shrl $8, %ecx - LONG $0xff00e181; WORD $0x0000 // andl $65280, %ecx - WORD $0x0941; BYTE $0xcf // orl %ecx, %r15d - LONG $0xfc758d4d // leaq $-4(%r13), %r14 - LONG $0x80ff8141; WORD $0x0000; BYTE $0x00 // cmpl $128, %r15d - LONG $0x0356820f; WORD $0x0000 // jb LBB6_66, $854(%rip) - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x014b850f; WORD $0x0000 // jne LBB6_38, $331(%rip) - -LBB6_25: - LONG $0x00ff8141; WORD $0x0008; BYTE $0x00 // cmpl $2048, %r15d - LONG $0x034c820f; WORD $0x0000 // jb LBB6_68, $844(%rip) - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - LONG $0xf800e181; WORD $0xffff // andl $-2048, %ecx - LONG $0xd800f981; WORD $0x0000 // cmpl $55296, %ecx - LONG $0x0299850f; WORD $0x0000 // jne LBB6_54, $665(%rip) - LONG $0xffff8141; WORD $0x00db; BYTE $0x00 // cmpl $56319, %r15d - LONG $0x034f870f; WORD $0x0000 // ja LBB6_69, $847(%rip) - LONG $0x06fe8349 // cmpq $6, %r14 - LONG $0x03458c0f; WORD $0x0000 // jl LBB6_69, $837(%rip) - LONG $0x217c8043; WORD $0x5c04 // cmpb $92, $4(%r9,%r12) - LONG $0x0339850f; WORD $0x0000 // jne LBB6_69, $825(%rip) - LONG $0x217c8043; WORD $0x7505 // cmpb $117, $5(%r9,%r12) - LONG $0x032d850f; WORD $0x0000 // jne LBB6_69, $813(%rip) - LONG $0x21748b43; BYTE $0x06 // movl $6(%r9,%r12), %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0xcfd09e8d; WORD $0xcfcf // leal $-808464432(%rsi), %ebx - LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx - WORD $0xd985 // testl %ebx, %ecx - LONG $0x04d9850f; WORD $0x0000 // jne LBB6_95, $1241(%rip) - LONG $0x19199e8d; WORD $0x1919 // leal $421075225(%rsi), %ebx - WORD $0xf309 // orl %esi, %ebx - LONG $0x8080c3f7; WORD $0x8080 // testl $-2139062144, %ebx - LONG $0x04c5850f; WORD $0x0000 // jne LBB6_95, $1221(%rip) - WORD $0xf389 // movl %esi, %ebx - LONG $0x7f7fe381; WORD $0x7f7f // andl $2139062143, %ebx - LONG $0xc0d445c7; WORD $0xc0c0; BYTE $0xc0 // movl $-1061109568, $-44(%rbp) - WORD $0x5d29; BYTE $0xd4 // subl %ebx, $-44(%rbp) - LONG $0xb0758948 // movq %rsi, $-80(%rbp) - LONG $0x4646b38d; WORD $0x4646 // leal $1179010630(%rbx), %esi - WORD $0x7589; BYTE $0xc4 // movl %esi, $-60(%rbp) - WORD $0x4d21; BYTE $0xd4 // andl %ecx, $-44(%rbp) - WORD $0x758b; BYTE $0xc4 // movl $-60(%rbp), %esi - WORD $0x7585; BYTE $0xd4 // testl %esi, $-44(%rbp) - LONG $0xb0758b48 // movq $-80(%rbp), %rsi - LONG $0x0493850f; WORD $0x0000 // jne LBB6_95, $1171(%rip) - LONG $0xe0d445c7; WORD $0xe0e0; BYTE $0xe0 // movl $-522133280, $-44(%rbp) - WORD $0x5d29; BYTE $0xd4 // subl %ebx, $-44(%rbp) - LONG $0x3939c381; WORD $0x3939 // addl $960051513, %ebx - WORD $0x4d23; BYTE $0xd4 // andl $-44(%rbp), %ecx - WORD $0xd985 // testl %ebx, %ecx - LONG $0x0478850f; WORD $0x0000 // jne LBB6_95, $1144(%rip) - WORD $0xce0f // bswapl %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0x0101e181; WORD $0x0101 // andl $16843009, %ecx - WORD $0x0c8d; BYTE $0xc9 // leal (%rcx,%rcx,8), %ecx - LONG $0x0f0fe681; WORD $0x0f0f // andl $252645135, %esi - WORD $0xce01 // addl %ecx, %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xf109 // orl %esi, %ecx - WORD $0xce89 // movl %ecx, %esi - WORD $0xeec1; BYTE $0x08 // shrl $8, %esi - LONG $0xff00e681; WORD $0x0000 // andl $65280, %esi - WORD $0xb60f; BYTE $0xd9 // movzbl %cl, %ebx - WORD $0xf309 // orl %esi, %ebx - LONG $0x0000e181; WORD $0x00fc // andl $16515072, %ecx - LONG $0x0000f981; WORD $0x00dc // cmpl $14417920, %ecx - LONG $0x02b1840f; WORD $0x0000 // je LBB6_75, $689(%rip) - LONG $0x02b845f6 // testb $2, $-72(%rbp) - LONG $0x0564840f; WORD $0x0000 // je LBB6_114, $1380(%rip) - LONG $0xfac68349 // addq $-6, %r14 - LONG $0xef00c766; BYTE $0xbf // movw $-16401, (%rax) - LONG $0xbd0240c6 // movb $-67, $2(%rax) - LONG $0x03c08348 // addq $3, %rax - LONG $0x06c48349 // addq $6, %r12 - WORD $0x8941; BYTE $0xdf // movl %ebx, %r15d - WORD $0xfb83; BYTE $0x7f // cmpl $127, %ebx - LONG $0xfec3870f; WORD $0xffff // ja LBB6_25, $-317(%rip) - LONG $0x00015ee9; BYTE $0x00 // jmp LBB6_53, $350(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB6_38: - LONG $0x00ff8141; WORD $0x0008; BYTE $0x00 // cmpl $2048, %r15d - LONG $0x0201820f; WORD $0x0000 // jb LBB6_68, $513(%rip) - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - LONG $0xf800e181; WORD $0xffff // andl $-2048, %ecx - LONG $0xd800f981; WORD $0x0000 // cmpl $55296, %ecx - LONG $0x014e850f; WORD $0x0000 // jne LBB6_54, $334(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x04be8e0f; WORD $0x0000 // jle LBB6_108, $1214(%rip) - LONG $0x217c8043; WORD $0x5c04 // cmpb $92, $4(%r9,%r12) - LONG $0x022d850f; WORD $0x0000 // jne LBB6_73, $557(%rip) - LONG $0xffff8141; WORD $0x00db; BYTE $0x00 // cmpl $56319, %r15d - LONG $0x01f9870f; WORD $0x0000 // ja LBB6_70, $505(%rip) - LONG $0x07fe8349 // cmpq $7, %r14 - LONG $0x01ef8c0f; WORD $0x0000 // jl LBB6_70, $495(%rip) - LONG $0x217c8043; WORD $0x5c05 // cmpb $92, $5(%r9,%r12) - LONG $0x01e3850f; WORD $0x0000 // jne LBB6_70, $483(%rip) - LONG $0x217c8043; WORD $0x7506 // cmpb $117, $6(%r9,%r12) - LONG $0x01d7850f; WORD $0x0000 // jne LBB6_70, $471(%rip) - LONG $0x21748b43; BYTE $0x07 // movl $7(%r9,%r12), %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0xcfd09e8d; WORD $0xcfcf // leal $-808464432(%rsi), %ebx - LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx - WORD $0xd985 // testl %ebx, %ecx - LONG $0x0383850f; WORD $0x0000 // jne LBB6_96, $899(%rip) - LONG $0x19199e8d; WORD $0x1919 // leal $421075225(%rsi), %ebx - WORD $0xf309 // orl %esi, %ebx - LONG $0x8080c3f7; WORD $0x8080 // testl $-2139062144, %ebx - LONG $0x036f850f; WORD $0x0000 // jne LBB6_96, $879(%rip) - WORD $0xf389 // movl %esi, %ebx - LONG $0x7f7fe381; WORD $0x7f7f // andl $2139062143, %ebx - LONG $0xc0d445c7; WORD $0xc0c0; BYTE $0xc0 // movl $-1061109568, $-44(%rbp) - WORD $0x5d29; BYTE $0xd4 // subl %ebx, $-44(%rbp) - LONG $0xb0758948 // movq %rsi, $-80(%rbp) - LONG $0x4646b38d; WORD $0x4646 // leal $1179010630(%rbx), %esi - WORD $0x7589; BYTE $0xc4 // movl %esi, $-60(%rbp) - WORD $0x4d21; BYTE $0xd4 // andl %ecx, $-44(%rbp) - WORD $0x758b; BYTE $0xc4 // movl $-60(%rbp), %esi - WORD $0x7585; BYTE $0xd4 // testl %esi, $-44(%rbp) - LONG $0xb0758b48 // movq $-80(%rbp), %rsi - LONG $0x033d850f; WORD $0x0000 // jne LBB6_96, $829(%rip) - LONG $0xe0d445c7; WORD $0xe0e0; BYTE $0xe0 // movl $-522133280, $-44(%rbp) - WORD $0x5d29; BYTE $0xd4 // subl %ebx, $-44(%rbp) - LONG $0x3939c381; WORD $0x3939 // addl $960051513, %ebx - WORD $0x4d23; BYTE $0xd4 // andl $-44(%rbp), %ecx - WORD $0xd985 // testl %ebx, %ecx - LONG $0x0322850f; WORD $0x0000 // jne LBB6_96, $802(%rip) - WORD $0xce0f // bswapl %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0x0101e181; WORD $0x0101 // andl $16843009, %ecx - WORD $0x0c8d; BYTE $0xc9 // leal (%rcx,%rcx,8), %ecx - LONG $0x0f0fe681; WORD $0x0f0f // andl $252645135, %esi - WORD $0xce01 // addl %ecx, %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xf109 // orl %esi, %ecx - WORD $0xce89 // movl %ecx, %esi - WORD $0xeec1; BYTE $0x08 // shrl $8, %esi - LONG $0xff00e681; WORD $0x0000 // andl $65280, %esi - WORD $0xb60f; BYTE $0xd9 // movzbl %cl, %ebx - WORD $0xf309 // orl %esi, %ebx - LONG $0x0000e181; WORD $0x00fc // andl $16515072, %ecx - LONG $0x0000f981; WORD $0x00dc // cmpl $14417920, %ecx - LONG $0x0162840f; WORD $0x0000 // je LBB6_76, $354(%rip) - LONG $0x02b845f6 // testb $2, $-72(%rbp) - LONG $0x040e840f; WORD $0x0000 // je LBB6_115, $1038(%rip) - LONG $0xf9c68349 // addq $-7, %r14 - LONG $0xef00c766; BYTE $0xbf // movw $-16401, (%rax) - LONG $0xbd0240c6 // movb $-67, $2(%rax) - LONG $0x03c08348 // addq $3, %rax - LONG $0x07c48349 // addq $7, %r12 - WORD $0x8941; BYTE $0xdf // movl %ebx, %r15d - LONG $0x0080fb81; WORD $0x0000 // cmpl $128, %ebx - LONG $0xfeab830f; WORD $0xffff // jae LBB6_38, $-341(%rip) - -LBB6_53: - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - WORD $0x8941; BYTE $0xdf // movl %ebx, %r15d - LONG $0x0000a1e9; BYTE $0x00 // jmp LBB6_67, $161(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB6_54: - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - WORD $0xe9c1; BYTE $0x0c // shrl $12, %ecx - WORD $0xc980; BYTE $0xe0 // orb $-32, %cl - WORD $0x0888 // movb %cl, (%rax) - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - WORD $0xe9c1; BYTE $0x06 // shrl $6, %ecx - WORD $0xe180; BYTE $0x3f // andb $63, %cl - WORD $0xc980; BYTE $0x80 // orb $-128, %cl - WORD $0x4888; BYTE $0x01 // movb %cl, $1(%rax) - LONG $0x3fe78041 // andb $63, %r15b - LONG $0x80cf8041 // orb $-128, %r15b - LONG $0x02788844 // movb %r15b, $2(%rax) - -LBB6_55: - LONG $0x03c08348 // addq $3, %rax - -LBB6_56: - WORD $0x894d; BYTE $0xf5 // movq %r14, %r13 - -LBB6_57: - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - LONG $0xfb1c850f; WORD $0xffff // jne LBB6_2, $-1252(%rip) - LONG $0x000350e9; BYTE $0x00 // jmp LBB6_110, $848(%rip) - -LBB6_58: - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x034f840f; WORD $0x0000 // je LBB6_111, $847(%rip) - LONG $0xff798041; BYTE $0x5c // cmpb $92, $-1(%r9) - LONG $0x022d850f; WORD $0x0000 // jne LBB6_94, $557(%rip) - LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x0026850f; WORD $0x0000 // jne LBB6_65, $38(%rip) - LONG $0x01fd8341 // cmpl $1, %r13d - LONG $0x03308e0f; WORD $0x0000 // jle LBB6_111, $816(%rip) - LONG $0x01498a41 // movb $1(%r9), %cl - WORD $0xf980; BYTE $0x22 // cmpb $34, %cl - LONG $0x0009840f; WORD $0x0000 // je LBB6_64, $9(%rip) - WORD $0xf980; BYTE $0x5c // cmpb $92, %cl - LONG $0x02e2850f; WORD $0x0000 // jne LBB6_106, $738(%rip) - -LBB6_64: - WORD $0xff49; BYTE $0xc1 // incq %r9 - WORD $0xff49; BYTE $0xcd // decq %r13 - -LBB6_65: - WORD $0xff49; BYTE $0xc1 // incq %r9 - WORD $0xff49; BYTE $0xcd // decq %r13 - LONG $0xfffbbce9; BYTE $0xff // jmp LBB6_15, $-1092(%rip) - -LBB6_66: - LONG $0x04c18349 // addq $4, %r9 - -LBB6_67: - WORD $0x8844; BYTE $0x38 // movb %r15b, (%rax) - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0xffff91e9; BYTE $0xff // jmp LBB6_56, $-111(%rip) - -LBB6_68: - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - WORD $0xe9c1; BYTE $0x06 // shrl $6, %ecx - WORD $0xc980; BYTE $0xc0 // orb $-64, %cl - WORD $0x0888 // movb %cl, (%rax) - LONG $0x3fe78041 // andb $63, %r15b - LONG $0x80cf8041 // orb $-128, %r15b - LONG $0x01788844 // movb %r15b, $1(%rax) - LONG $0x02c08348 // addq $2, %rax - LONG $0xffff6ce9; BYTE $0xff // jmp LBB6_56, $-148(%rip) - -LBB6_69: - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - LONG $0x00000fe9; BYTE $0x00 // jmp LBB6_71, $15(%rip) - -LBB6_70: - LONG $0x214c8d4f; BYTE $0x05 // leaq $5(%r9,%r12), %r9 - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - LONG $0xfbc58349 // addq $-5, %r13 - WORD $0x894d; BYTE $0xee // movq %r13, %r14 - -LBB6_71: - LONG $0x02b845f6 // testb $2, $-72(%rbp) - LONG $0x0308840f; WORD $0x0000 // je LBB6_117, $776(%rip) - -LBB6_72: - LONG $0xef00c766; BYTE $0xbf // movw $-16401, (%rax) - LONG $0xbd0240c6 // movb $-67, $2(%rax) - LONG $0xffff37e9; BYTE $0xff // jmp LBB6_55, $-201(%rip) - -LBB6_73: - LONG $0x02b845f6 // testb $2, $-72(%rbp) - LONG $0x02fd840f; WORD $0x0000 // je LBB6_118, $765(%rip) - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - LONG $0xffffdee9; BYTE $0xff // jmp LBB6_72, $-34(%rip) - -LBB6_75: - LONG $0x214c8d4f; BYTE $0x0a // leaq $10(%r9,%r12), %r9 - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - LONG $0xf6c58349 // addq $-10, %r13 - LONG $0x00000ce9; BYTE $0x00 // jmp LBB6_77, $12(%rip) - -LBB6_76: - LONG $0x214c8d4f; BYTE $0x0b // leaq $11(%r9,%r12), %r9 - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - LONG $0xf5c58349 // addq $-11, %r13 - -LBB6_77: - LONG $0x0ae7c141 // shll $10, %r15d - QUAD $0xfca024001f8c8d41 // leal $-56613888(%r15,%rbx), %ecx - LONG $0x0000f981; WORD $0x0011 // cmpl $1114112, %ecx - LONG $0x001c820f; WORD $0x0000 // jb LBB6_80, $28(%rip) - LONG $0x02b845f6 // testb $2, $-72(%rbp) - LONG $0x0264840f; WORD $0x0000 // je LBB6_112, $612(%rip) - LONG $0xef00c766; BYTE $0xbf // movw $-16401, (%rax) - LONG $0xbd0240c6 // movb $-67, $2(%rax) - LONG $0x03c08348 // addq $3, %rax - LONG $0xfffed9e9; BYTE $0xff // jmp LBB6_57, $-295(%rip) - -LBB6_80: - WORD $0xce89 // movl %ecx, %esi - WORD $0xeec1; BYTE $0x12 // shrl $18, %esi - LONG $0xf0ce8040 // orb $-16, %sil - WORD $0x8840; BYTE $0x30 // movb %sil, (%rax) - WORD $0xce89 // movl %ecx, %esi - WORD $0xeec1; BYTE $0x0c // shrl $12, %esi - LONG $0x3fe68040 // andb $63, %sil - LONG $0x80ce8040 // orb $-128, %sil - LONG $0x01708840 // movb %sil, $1(%rax) - WORD $0xce89 // movl %ecx, %esi - WORD $0xeec1; BYTE $0x06 // shrl $6, %esi - LONG $0x3fe68040 // andb $63, %sil - LONG $0x80ce8040 // orb $-128, %sil - LONG $0x02708840 // movb %sil, $2(%rax) - WORD $0xe180; BYTE $0x3f // andb $63, %cl - WORD $0xc980; BYTE $0x80 // orb $-128, %cl - WORD $0x4888; BYTE $0x03 // movb %cl, $3(%rax) - LONG $0x04c08348 // addq $4, %rax - LONG $0xfffe99e9; BYTE $0xff // jmp LBB6_57, $-359(%rip) - -LBB6_81: - WORD $0x3145; BYTE $0xed // xorl %r13d, %r13d - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB6_82: - WORD $0x014c; BYTE $0xe8 // addq %r13, %rax - WORD $0x2948; BYTE $0xd0 // subq %rdx, %rax - -LBB6_83: - LONG $0x28c48348 // addq $40, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB6_84: - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - WORD $0x8948; BYTE $0x17 // movq %rdx, (%rdi) - WORD $0x8a41; BYTE $0x09 // movb (%r9), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_86, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xffbe870f; WORD $0xffff // ja LBB6_83, $-66(%rip) - -LBB6_86: - LONG $0x014a8d48 // leaq $1(%rdx), %rcx - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - LONG $0x01498a41 // movb $1(%r9), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_88, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xff97870f; WORD $0xffff // ja LBB6_83, $-105(%rip) - -LBB6_88: - LONG $0x024a8d48 // leaq $2(%rdx), %rcx - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - LONG $0x02498a41 // movb $2(%r9), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_90, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xff70870f; WORD $0xffff // ja LBB6_83, $-144(%rip) - -LBB6_90: - LONG $0x034a8d48 // leaq $3(%rdx), %rcx - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - LONG $0x03498a41 // movb $3(%r9), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_92, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xff49870f; WORD $0xffff // ja LBB6_83, $-183(%rip) - -LBB6_92: - LONG $0x04c28348 // addq $4, %rdx - WORD $0x8948; BYTE $0x17 // movq %rdx, (%rdi) - LONG $0xffff3de9; BYTE $0xff // jmp LBB6_83, $-195(%rip) - -LBB6_93: - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x0149; BYTE $0xf9 // addq %rdi, %r9 - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x894c; BYTE $0x08 // movq %r9, (%rax) - LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax - LONG $0xffff24e9; BYTE $0xff // jmp LBB6_83, $-220(%rip) - -LBB6_94: - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x0149; BYTE $0xf9 // addq %rdi, %r9 - LONG $0x0000dae9; BYTE $0x00 // jmp LBB6_107, $218(%rip) - -LBB6_95: - LONG $0x21748d4b; BYTE $0x04 // leaq $4(%r9,%r12), %rsi - LONG $0x000005e9; BYTE $0x00 // jmp LBB6_97, $5(%rip) - -LBB6_96: - LONG $0x21748d4b; BYTE $0x05 // leaq $5(%r9,%r12), %rsi - -LBB6_97: - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0x02c28348 // addq $2, %rdx - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x8948; BYTE $0x10 // movq %rdx, (%rax) - WORD $0x4e8a; BYTE $0x02 // movb $2(%rsi), %cl - WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_99, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xfed3870f; WORD $0xffff // ja LBB6_83, $-301(%rip) - -LBB6_99: - LONG $0x014a8d48 // leaq $1(%rdx), %rcx - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - WORD $0x4e8a; BYTE $0x03 // movb $3(%rsi), %cl - WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi - LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_101, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xfea9870f; WORD $0xffff // ja LBB6_83, $-343(%rip) - -LBB6_101: - LONG $0x024a8d48 // leaq $2(%rdx), %rcx - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - WORD $0x4e8a; BYTE $0x04 // movb $4(%rsi), %cl - WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi - LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_103, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xfe7f870f; WORD $0xffff // ja LBB6_83, $-385(%rip) - -LBB6_103: - LONG $0x034a8d48 // leaq $3(%rdx), %rcx - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - WORD $0x4e8a; BYTE $0x05 // movb $5(%rsi), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_105, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xfe55870f; WORD $0xffff // ja LBB6_83, $-427(%rip) - -LBB6_105: - LONG $0x04c28348 // addq $4, %rdx - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8948; BYTE $0x11 // movq %rdx, (%rcx) - LONG $0xfffe45e9; BYTE $0xff // jmp LBB6_83, $-443(%rip) - -LBB6_106: - WORD $0x2949; BYTE $0xf9 // subq %rdi, %r9 - WORD $0xff49; BYTE $0xc1 // incq %r9 - -LBB6_107: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x894c; BYTE $0x08 // movq %r9, (%rax) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xfffe2ce9; BYTE $0xff // jmp LBB6_83, $-468(%rip) - -LBB6_108: - LONG $0x02b845f6 // testb $2, $-72(%rbp) - LONG $0x0015840f; WORD $0x0000 // je LBB6_111, $21(%rip) - LONG $0xef00c766; BYTE $0xbf // movw $-16401, (%rax) - LONG $0xbd0240c6 // movb $-67, $2(%rax) - LONG $0x03c08348 // addq $3, %rax - -LBB6_110: - WORD $0x3145; BYTE $0xed // xorl %r13d, %r13d - LONG $0xfffe07e9; BYTE $0xff // jmp LBB6_82, $-505(%rip) - -LBB6_111: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x894c; BYTE $0x18 // movq %r11, (%rax) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xfffdfae9; BYTE $0xff // jmp LBB6_83, $-518(%rip) - -LBB6_112: - WORD $0x2949; BYTE $0xf9 // subq %rdi, %r9 - LONG $0xfcc18349 // addq $-4, %r9 - -LBB6_113: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x894c; BYTE $0x08 // movq %r9, (%rax) - LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax - LONG $0xfffde0e9; BYTE $0xff // jmp LBB6_83, $-544(%rip) - -LBB6_114: - LONG $0x21448d4b; BYTE $0x0a // leaq $10(%r9,%r12), %rax - LONG $0x000005e9; BYTE $0x00 // jmp LBB6_116, $5(%rip) - -LBB6_115: - LONG $0x21448d4b; BYTE $0x0b // leaq $11(%r9,%r12), %rax - -LBB6_116: - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - LONG $0xfcc08348 // addq $-4, %rax - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax - LONG $0xfffdb7e9; BYTE $0xff // jmp LBB6_83, $-585(%rip) - -LBB6_117: - LONG $0x3a448d49; BYTE $0x04 // leaq $4(%r10,%rdi), %rax - WORD $0x2949; BYTE $0xc1 // subq %rax, %r9 - LONG $0xffffb7e9; BYTE $0xff // jmp LBB6_113, $-73(%rip) - -LBB6_118: - WORD $0x014d; BYTE $0xe1 // addq %r12, %r9 - WORD $0x2949; BYTE $0xf9 // subq %rdi, %r9 - LONG $0xfffface9; BYTE $0xff // jmp LBB6_113, $-84(%rip) - QUAD $0x0000000000000000; WORD $0x0000 // .p2align 4, 0x00 - -LCPI7_0: - QUAD $0x2626262626262626; QUAD $0x2626262626262626 // .space 16, '&&&&&&&&&&&&&&&&' - -LCPI7_1: - QUAD $0xe2e2e2e2e2e2e2e2; QUAD $0xe2e2e2e2e2e2e2e2 // .space 16, '\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2' - -LCPI7_2: - QUAD $0xfdfdfdfdfdfdfdfd; QUAD $0xfdfdfdfdfdfdfdfd // .space 16, '\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd' - -LCPI7_3: - QUAD $0x3c3c3c3c3c3c3c3c; QUAD $0x3c3c3c3c3c3c3c3c // .space 16, '<<<<<<<<<<<<<<<<' - - // .p2align 4, 0x90 -_html_escape: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x10ec8348 // subq $16, %rsp - LONG $0xc84d8948 // movq %rcx, $-56(%rbp) - WORD $0x8949; BYTE $0xd2 // movq %rdx, %r10 - LONG $0xd0558948 // movq %rdx, $-48(%rbp) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x04618e0f; WORD $0x0000 // jle LBB7_67, $1121(%rip) - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x8b4c; BYTE $0x08 // movq (%rax), %r9 - QUAD $0xffffff89056ff9c5 // vmovdqa $-119(%rip), %xmm0 /* LCPI7_0(%rip) */ - QUAD $0xffffff910d6ff9c5 // vmovdqa $-111(%rip), %xmm1 /* LCPI7_1(%rip) */ - QUAD $0xffffff99156ff9c5 // vmovdqa $-103(%rip), %xmm2 /* LCPI7_2(%rip) */ - QUAD $0xffffffa11d6ff9c5 // vmovdqa $-95(%rip), %xmm3 /* LCPI7_3(%rip) */ - LONG $0x5a1d8d4c; WORD $0x00e2; BYTE $0x00 // leaq $57946(%rip), %r11 /* __HtmlQuoteTab(%rip) */ - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - LONG $0xd0558b4c // movq $-48(%rbp), %r10 - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB7_2: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x043e8e0f; WORD $0x0000 // jle LBB7_3, $1086(%rip) - LONG $0x0ffe8348 // cmpq $15, %rsi - WORD $0x9f0f; BYTE $0xc3 // setg %bl - WORD $0x894d; BYTE $0xcc // movq %r9, %r12 - WORD $0x894d; BYTE $0xd0 // movq %r10, %r8 - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x894d; BYTE $0xfd // movq %r15, %r13 - LONG $0x10f98349 // cmpq $16, %r9 - LONG $0x008a8c0f; WORD $0x0000 // jl LBB7_11, $138(%rip) - LONG $0x10fe8348 // cmpq $16, %rsi - LONG $0x00808c0f; WORD $0x0000 // jl LBB7_11, $128(%rip) - WORD $0x894d; BYTE $0xfd // movq %r15, %r13 - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x894d; BYTE $0xd0 // movq %r10, %r8 - WORD $0x894c; BYTE $0xc9 // movq %r9, %rcx - LONG $0x90909090 // .p2align 4, 0x90 - -LBB7_7: - LONG $0x6f7ac1c4; WORD $0x0065 // vmovdqu (%r13), %xmm4 - LONG $0xe874d9c5 // vpcmpeqb %xmm0, %xmm4, %xmm5 - LONG $0xf174d9c5 // vpcmpeqb %xmm1, %xmm4, %xmm6 - LONG $0xedebc9c5 // vpor %xmm5, %xmm6, %xmm5 - LONG $0xf2dbd9c5 // vpand %xmm2, %xmm4, %xmm6 - LONG $0xf374c9c5 // vpcmpeqb %xmm3, %xmm6, %xmm6 - LONG $0xeeebd1c5 // vpor %xmm6, %xmm5, %xmm5 - LONG $0x7f7ac1c4; BYTE $0x20 // vmovdqu %xmm4, (%r8) - LONG $0xc5d7f9c5 // vpmovmskb %xmm5, %eax - WORD $0x8566; BYTE $0xc0 // testw %ax, %ax - LONG $0x0130850f; WORD $0x0000 // jne LBB7_8, $304(%rip) - LONG $0x10c58349 // addq $16, %r13 - LONG $0x10c08349 // addq $16, %r8 - LONG $0xf0428d48 // leaq $-16(%rdx), %rax - LONG $0xf0618d4c // leaq $-16(%rcx), %r12 - LONG $0x1ffa8348 // cmpq $31, %rdx - WORD $0x9f0f; BYTE $0xc3 // setg %bl - LONG $0x20fa8348 // cmpq $32, %rdx - LONG $0x001f8c0f; WORD $0x0000 // jl LBB7_11, $31(%rip) - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - LONG $0x1ff98348 // cmpq $31, %rcx - WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx - LONG $0xff9f8f0f; WORD $0xffff // jg LBB7_7, $-97(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB7_11: - WORD $0xdb84 // testb %bl, %bl - LONG $0x0068840f; WORD $0x0000 // je LBB7_12, $104(%rip) - LONG $0x6f7ac1c4; WORD $0x0065 // vmovdqu (%r13), %xmm4 - LONG $0xe874d9c5 // vpcmpeqb %xmm0, %xmm4, %xmm5 - LONG $0xf174d9c5 // vpcmpeqb %xmm1, %xmm4, %xmm6 - LONG $0xedebc9c5 // vpor %xmm5, %xmm6, %xmm5 - LONG $0xf2dbd9c5 // vpand %xmm2, %xmm4, %xmm6 - LONG $0xf374c9c5 // vpcmpeqb %xmm3, %xmm6, %xmm6 - LONG $0xeeebd1c5 // vpor %xmm6, %xmm5, %xmm5 - LONG $0xc5d7f9c5 // vpmovmskb %xmm5, %eax - LONG $0x0100000d; BYTE $0x00 // orl $65536, %eax - LONG $0xf0bc0f44 // bsfl %eax, %r14d - LONG $0x7ef9e1c4; BYTE $0xe0 // vmovq %xmm4, %rax - WORD $0x394d; BYTE $0xf4 // cmpq %r14, %r12 - LONG $0x00ca8d0f; WORD $0x0000 // jge LBB7_15, $202(%rip) - LONG $0x08fc8349 // cmpq $8, %r12 - LONG $0x00f0820f; WORD $0x0000 // jb LBB7_26, $240(%rip) - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0x08758d4d // leaq $8(%r13), %r14 - LONG $0x08c08349 // addq $8, %r8 - LONG $0x24448d49; BYTE $0xf8 // leaq $-8(%r12), %rax - LONG $0x04f88348 // cmpq $4, %rax - LONG $0x00e68d0f; WORD $0x0000 // jge LBB7_29, $230(%rip) - LONG $0x0000f3e9; BYTE $0x00 // jmp LBB7_30, $243(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB7_12: - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x01148e0f; WORD $0x0000 // jle LBB7_13, $276(%rip) - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x010b8e0f; WORD $0x0000 // jle LBB7_40, $267(%rip) - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB7_36: - LONG $0x55b60f41; BYTE $0x00 // movzbl (%r13), %edx - LONG $0x3efa8348 // cmpq $62, %rdx - LONG $0x0014870f; WORD $0x0000 // ja LBB7_37, $20(%rip) - QUAD $0x004000000000b948; WORD $0x5000 // movabsq $5764607797912141824, %rcx - LONG $0xd1a30f48 // btq %rdx, %rcx - LONG $0x0080820f; WORD $0x0000 // jb LBB7_42, $128(%rip) - -LBB7_37: - WORD $0xfa80; BYTE $0xe2 // cmpb $-30, %dl - LONG $0x0077840f; WORD $0x0000 // je LBB7_42, $119(%rip) - LONG $0xff488d48 // leaq $-1(%rax), %rcx - WORD $0xff49; BYTE $0xc5 // incq %r13 - WORD $0x8841; BYTE $0x10 // movb %dl, (%r8) - LONG $0x02f88348 // cmpq $2, %rax - LONG $0x00c08c0f; WORD $0x0000 // jl LBB7_40, $192(%rip) - LONG $0x24548d49; BYTE $0xff // leaq $-1(%r12), %rdx - WORD $0xff49; BYTE $0xc0 // incq %r8 - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0x01fc8349 // cmpq $1, %r12 - WORD $0x8949; BYTE $0xd4 // movq %rdx, %r12 - LONG $0xffa88f0f; WORD $0xffff // jg LBB7_36, $-88(%rip) - LONG $0x0000a3e9; BYTE $0x00 // jmp LBB7_40, $163(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB7_8: - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - WORD $0x294d; BYTE $0xfd // subq %r15, %r13 - LONG $0xe0bc0f44 // bsfl %eax, %r12d - WORD $0x014d; BYTE $0xec // addq %r13, %r12 - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x00f3890f; WORD $0x0000 // jns LBB7_46, $243(%rip) - LONG $0x000249e9; BYTE $0x00 // jmp LBB7_45, $585(%rip) - -LBB7_15: - LONG $0x08fe8341 // cmpl $8, %r14d - LONG $0x0095820f; WORD $0x0000 // jb LBB7_16, $149(%rip) - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0x08658d4d // leaq $8(%r13), %r12 - LONG $0x08c08349 // addq $8, %r8 - LONG $0xf8468d49 // leaq $-8(%r14), %rax - LONG $0x04f88348 // cmpq $4, %rax - LONG $0x008c8d0f; WORD $0x0000 // jge LBB7_19, $140(%rip) - LONG $0x00009ae9; BYTE $0x00 // jmp LBB7_20, $154(%rip) - -LBB7_42: - WORD $0x294d; BYTE $0xfd // subq %r15, %r13 - LONG $0x0000b2e9; BYTE $0x00 // jmp LBB7_43, $178(%rip) - -LBB7_26: - WORD $0x894d; BYTE $0xee // movq %r13, %r14 - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - LONG $0x04f88348 // cmpq $4, %rax - LONG $0x00128c0f; WORD $0x0000 // jl LBB7_30, $18(%rip) - -LBB7_29: - WORD $0x8b41; BYTE $0x0e // movl (%r14), %ecx - WORD $0x8941; BYTE $0x08 // movl %ecx, (%r8) - LONG $0x04c68349 // addq $4, %r14 - LONG $0x04c08349 // addq $4, %r8 - LONG $0xfcc08348 // addq $-4, %rax - -LBB7_30: - LONG $0x02f88348 // cmpq $2, %rax - LONG $0x015b830f; WORD $0x0000 // jae LBB7_31, $347(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0006840f; WORD $0x0000 // je LBB7_34, $6(%rip) - -LBB7_33: - WORD $0x8a41; BYTE $0x06 // movb (%r14), %al - WORD $0x8841; BYTE $0x00 // movb %al, (%r8) - -LBB7_34: - WORD $0x294d; BYTE $0xfc // subq %r15, %r12 - WORD $0x014d; BYTE $0xec // addq %r13, %r12 - WORD $0xf749; BYTE $0xd4 // notq %r12 - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x0071890f; WORD $0x0000 // jns LBB7_46, $113(%rip) - LONG $0x0001c7e9; BYTE $0x00 // jmp LBB7_45, $455(%rip) - -LBB7_13: - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - -LBB7_40: - WORD $0x294d; BYTE $0xfd // subq %r15, %r13 - WORD $0xf748; BYTE $0xd9 // negq %rcx - WORD $0x194d; BYTE $0xe4 // sbbq %r12, %r12 - WORD $0x314d; BYTE $0xec // xorq %r13, %r12 - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x0054890f; WORD $0x0000 // jns LBB7_46, $84(%rip) - LONG $0x0001aae9; BYTE $0x00 // jmp LBB7_45, $426(%rip) - -LBB7_16: - WORD $0x894d; BYTE $0xec // movq %r13, %r12 - WORD $0x894c; BYTE $0xf0 // movq %r14, %rax - LONG $0x04f88348 // cmpq $4, %rax - LONG $0x00138c0f; WORD $0x0000 // jl LBB7_20, $19(%rip) - -LBB7_19: - LONG $0x240c8b41 // movl (%r12), %ecx - WORD $0x8941; BYTE $0x08 // movl %ecx, (%r8) - LONG $0x04c48349 // addq $4, %r12 - LONG $0x04c08349 // addq $4, %r8 - LONG $0xfcc08348 // addq $-4, %rax - -LBB7_20: - LONG $0x02f88348 // cmpq $2, %rax - LONG $0x010d830f; WORD $0x0000 // jae LBB7_21, $269(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0007840f; WORD $0x0000 // je LBB7_24, $7(%rip) - -LBB7_23: - LONG $0x24048a41 // movb (%r12), %al - WORD $0x8841; BYTE $0x00 // movb %al, (%r8) - -LBB7_24: - WORD $0x294d; BYTE $0xfd // subq %r15, %r13 - WORD $0x014d; BYTE $0xf5 // addq %r14, %r13 - -LBB7_43: - WORD $0x894d; BYTE $0xec // movq %r13, %r12 - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x015b880f; WORD $0x0000 // js LBB7_45, $347(%rip) - -LBB7_46: - WORD $0x014d; BYTE $0xe7 // addq %r12, %r15 - WORD $0x014d; BYTE $0xe2 // addq %r12, %r10 - WORD $0x294c; BYTE $0xe6 // subq %r12, %rsi - LONG $0x016e8e0f; WORD $0x0000 // jle LBB7_47, $366(%rip) - WORD $0x294d; BYTE $0xe1 // subq %r12, %r9 - WORD $0x8a41; BYTE $0x0f // movb (%r15), %cl - WORD $0xf980; BYTE $0xe2 // cmpb $-30, %cl - LONG $0x00f0840f; WORD $0x0000 // je LBB7_50, $240(%rip) - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - -LBB7_54: - WORD $0xb60f; BYTE $0xd1 // movzbl %cl, %edx - LONG $0x04e2c148 // shlq $4, %rdx - LONG $0x1a0c8b4a // movq (%rdx,%r11), %rcx - WORD $0x634c; BYTE $0xe1 // movslq %ecx, %r12 - WORD $0x294d; BYTE $0xe1 // subq %r12, %r9 - LONG $0x015b8c0f; WORD $0x0000 // jl LBB7_55, $347(%rip) - LONG $0x20e1c148 // shlq $32, %rcx - LONG $0x1a748d4e; BYTE $0x08 // leaq $8(%rdx,%r11), %r14 - QUAD $0x000300000001bb48; WORD $0x0000 // movabsq $12884901889, %rbx - WORD $0x3948; BYTE $0xd9 // cmpq %rbx, %rcx - LONG $0x00238c0f; WORD $0x0000 // jl LBB7_59, $35(%rip) - WORD $0x8b41; BYTE $0x0e // movl (%r14), %ecx - WORD $0x8941; BYTE $0x0a // movl %ecx, (%r10) - LONG $0x1a748d4e; BYTE $0x0c // leaq $12(%rdx,%r11), %r14 - LONG $0x04428d4d // leaq $4(%r10), %r8 - LONG $0x24548d49; BYTE $0xfc // leaq $-4(%r12), %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0015830f; WORD $0x0000 // jae LBB7_62, $21(%rip) - LONG $0x000024e9; BYTE $0x00 // jmp LBB7_63, $36(%rip) - - // .p2align 4, 0x90 -LBB7_59: - WORD $0x894d; BYTE $0xd0 // movq %r10, %r8 - WORD $0x894c; BYTE $0xe2 // movq %r12, %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0014820f; WORD $0x0000 // jb LBB7_63, $20(%rip) - -LBB7_62: - LONG $0x0eb70f41 // movzwl (%r14), %ecx - LONG $0x08894166 // movw %cx, (%r8) - LONG $0x02c68349 // addq $2, %r14 - LONG $0x02c08349 // addq $2, %r8 - LONG $0xfec28348 // addq $-2, %rdx - -LBB7_63: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0006840f; WORD $0x0000 // je LBB7_65, $6(%rip) - WORD $0x8a41; BYTE $0x0e // movb (%r14), %cl - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - -LBB7_65: - WORD $0x014d; BYTE $0xe2 // addq %r12, %r10 - -LBB7_66: - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0xff4e8d48 // leaq $-1(%rsi), %rcx - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - LONG $0x01fe8348 // cmpq $1, %rsi - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - LONG $0xfc938f0f; WORD $0xffff // jg LBB7_2, $-877(%rip) - LONG $0x0000b7e9; BYTE $0x00 // jmp LBB7_67, $183(%rip) - -LBB7_31: - LONG $0x0eb70f41 // movzwl (%r14), %ecx - LONG $0x08894166 // movw %cx, (%r8) - LONG $0x02c68349 // addq $2, %r14 - LONG $0x02c08349 // addq $2, %r8 - LONG $0xfec08348 // addq $-2, %rax - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xfe91850f; WORD $0xffff // jne LBB7_33, $-367(%rip) - LONG $0xfffe92e9; BYTE $0xff // jmp LBB7_34, $-366(%rip) - -LBB7_21: - LONG $0x0cb70f41; BYTE $0x24 // movzwl (%r12), %ecx - LONG $0x08894166 // movw %cx, (%r8) - LONG $0x02c48349 // addq $2, %r12 - LONG $0x02c08349 // addq $2, %r8 - LONG $0xfec08348 // addq $-2, %rax - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xfede850f; WORD $0xffff // jne LBB7_23, $-290(%rip) - LONG $0xfffee0e9; BYTE $0xff // jmp LBB7_24, $-288(%rip) - -LBB7_50: - LONG $0x03fe8348 // cmpq $3, %rsi - LONG $0x00288c0f; WORD $0x0000 // jl LBB7_56, $40(%rip) - LONG $0x017f8041; BYTE $0x80 // cmpb $-128, $1(%r15) - LONG $0x001d850f; WORD $0x0000 // jne LBB7_56, $29(%rip) - LONG $0x024f8a41 // movb $2(%r15), %cl - WORD $0xc889 // movl %ecx, %eax - WORD $0xfe24 // andb $-2, %al - WORD $0xa83c // cmpb $-88, %al - LONG $0x000d850f; WORD $0x0000 // jne LBB7_56, $13(%rip) - LONG $0x02478d49 // leaq $2(%r15), %rax - LONG $0xfec68348 // addq $-2, %rsi - LONG $0xfffee1e9; BYTE $0xff // jmp LBB7_54, $-287(%rip) - -LBB7_56: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00558e0f; WORD $0x0000 // jle LBB7_3, $85(%rip) - LONG $0xe202c641 // movb $-30, (%r10) - WORD $0xff49; BYTE $0xc2 // incq %r10 - WORD $0xff49; BYTE $0xc9 // decq %r9 - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - LONG $0xffff52e9; BYTE $0xff // jmp LBB7_66, $-174(%rip) - -LBB7_45: - LONG $0xd0552b4c // subq $-48(%rbp), %r10 - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x014c; BYTE $0xd0 // addq %r10, %rax - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - WORD $0x294c; BYTE $0xff // subq %r15, %rdi - WORD $0x014c; BYTE $0xe7 // addq %r12, %rdi - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x00002ae9; BYTE $0x00 // jmp LBB7_68, $42(%rip) - -LBB7_47: - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - -LBB7_67: - LONG $0xd0552b4c // subq $-48(%rbp), %r10 - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x894c; BYTE $0x11 // movq %r10, (%rcx) - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - LONG $0x000014e9; BYTE $0x00 // jmp LBB7_68, $20(%rip) - -LBB7_55: - LONG $0xd0552b4c // subq $-48(%rbp), %r10 - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x894c; BYTE $0x10 // movq %r10, (%rax) - -LBB7_3: - WORD $0xf749; BYTE $0xd7 // notq %r15 - WORD $0x0149; BYTE $0xff // addq %rdi, %r15 - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - -LBB7_68: - LONG $0x10c48348 // addq $16, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - BYTE $0x90 // .p2align 4, 0x90 - -_atof_eisel_lemire64: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - LONG $0x015c868d; WORD $0x0000 // leal $348(%rsi), %eax - LONG $0x0002b73d; BYTE $0x00 // cmpl $695, %eax - LONG $0x0115870f; WORD $0x0000 // ja LBB8_1, $277(%rip) - WORD $0x8949; BYTE $0xc8 // movq %rcx, %r8 - WORD $0x8941; BYTE $0xd1 // movl %edx, %r9d - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x000d840f; WORD $0x0000 // je LBB8_4, $13(%rip) - LONG $0xd7bd0f4c // bsrq %rdi, %r10 - LONG $0x3ff28349 // xorq $63, %r10 - LONG $0x000006e9; BYTE $0x00 // jmp LBB8_5, $6(%rip) - -LBB8_4: - LONG $0x0040ba41; WORD $0x0000 // movl $64, %r10d - -LBB8_5: - WORD $0x8944; BYTE $0xd1 // movl %r10d, %ecx - WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi - WORD $0xc389 // movl %eax, %ebx - LONG $0x04e3c148 // shlq $4, %rbx - LONG $0xf1358d4c; WORD $0x0067; BYTE $0x00 // leaq $26609(%rip), %r14 /* _POW10_M128_TAB(%rip) */ - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x3364f74a; BYTE $0x08 // mulq $8(%rbx,%r14) - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - WORD $0x8949; BYTE $0xd3 // movq %rdx, %r11 - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - LONG $0x0001ff25; BYTE $0x00 // andl $511, %eax - WORD $0x8948; BYTE $0xf9 // movq %rdi, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x3949; BYTE $0xcf // cmpq %rcx, %r15 - LONG $0x004f860f; WORD $0x0000 // jbe LBB8_11, $79(%rip) - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0x0001ff3d; BYTE $0x00 // cmpl $511, %eax - LONG $0x0044850f; WORD $0x0000 // jne LBB8_13, $68(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x3324f74a // mulq (%rbx,%r14) - WORD $0x014c; BYTE $0xfa // addq %r15, %rdx - LONG $0x00d38349 // adcq $0, %r11 - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0x001d860f; WORD $0x0000 // jbe LBB8_12, $29(%rip) - LONG $0xfffa8348 // cmpq $-1, %rdx - LONG $0x0013850f; WORD $0x0000 // jne LBB8_12, $19(%rip) - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - LONG $0x0001ff25; BYTE $0x00 // andl $511, %eax - LONG $0x0001ff3d; BYTE $0x00 // cmpl $511, %eax - LONG $0x0079840f; WORD $0x0000 // je LBB8_1, $121(%rip) - -LBB8_12: - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - LONG $0x0001ff25; BYTE $0x00 // andl $511, %eax - LONG $0x000003e9; BYTE $0x00 // jmp LBB8_13, $3(%rip) - -LBB8_11: - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - -LBB8_13: - WORD $0x894c; BYTE $0xdf // movq %r11, %rdi - LONG $0x3fefc148 // shrq $63, %rdi - WORD $0x4f8d; BYTE $0x09 // leal $9(%rdi), %ecx - WORD $0xd349; BYTE $0xeb // shrq %cl, %r11 - WORD $0x0948; BYTE $0xd0 // orq %rdx, %rax - LONG $0x000f850f; WORD $0x0000 // jne LBB8_16, $15(%rip) - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - WORD $0xe083; BYTE $0x03 // andl $3, %eax - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - LONG $0x0044840f; WORD $0x0000 // je LBB8_1, $68(%rip) - -LBB8_16: - LONG $0x526ac669; WORD $0x0003 // imull $217706, %esi, %eax - WORD $0xf8c1; BYTE $0x10 // sarl $16, %eax - LONG $0x00043f05; BYTE $0x00 // addl $1087, %eax - WORD $0x6348; BYTE $0xd0 // movslq %eax, %rdx - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - WORD $0xe083; BYTE $0x01 // andl $1, %eax - WORD $0x014c; BYTE $0xd8 // addq %r11, %rax - QUAD $0x000000000000b948; WORD $0x01c0 // movabsq $126100789566373888, %rcx - WORD $0x2148; BYTE $0xc1 // andq %rax, %rcx - WORD $0x294c; BYTE $0xd2 // subq %r10, %rdx - LONG $0x3a548d48; BYTE $0xfe // leaq $-2(%rdx,%rdi), %rdx - LONG $0x01f98348 // cmpq $1, %rcx - LONG $0xffda8348 // sbbq $-1, %rdx - LONG $0xfdfa8148; WORD $0x0007; BYTE $0x00 // cmpq $2045, %rdx - LONG $0x0009860f; WORD $0x0000 // jbe LBB8_18, $9(%rip) - -LBB8_1: - WORD $0xc031 // xorl %eax, %eax - -LBB8_19: - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB8_18: - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0x01f98348 // cmpq $1, %rcx - WORD $0x02b1 // movb $2, %cl - WORD $0xd980; BYTE $0x00 // sbbb $0, %cl - WORD $0xd348; BYTE $0xe8 // shrq %cl, %rax - LONG $0x34e2c148 // shlq $52, %rdx - QUAD $0xffffffffffffb948; WORD $0x000f // movabsq $4503599627370495, %rcx - WORD $0x2148; BYTE $0xc1 // andq %rax, %rcx - WORD $0x0948; BYTE $0xd1 // orq %rdx, %rcx - QUAD $0x000000000000b848; WORD $0x8000 // movabsq $-9223372036854775808, %rax - WORD $0x0948; BYTE $0xc8 // orq %rcx, %rax - LONG $0xfff98341 // cmpl $-1, %r9d - LONG $0xc1450f48 // cmovneq %rcx, %rax - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - WORD $0x01b0 // movb $1, %al - LONG $0xffffb7e9; BYTE $0xff // jmp LBB8_19, $-73(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_decimal_to_f64: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - QUAD $0x000000000000bd49; WORD $0x0010 // movabsq $4503599627370496, %r13 - LONG $0x00107f83 // cmpl $0, $16(%rdi) - LONG $0x002f840f; WORD $0x0000 // je LBB9_4, $47(%rip) - QUAD $0x000000000000be49; WORD $0x7ff0 // movabsq $9218868437227405312, %r14 - LONG $0x14478b41 // movl $20(%r15), %eax - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x0001363d; BYTE $0x00 // cmpl $310, %eax - LONG $0x034c8f0f; WORD $0x0000 // jg LBB9_64, $844(%rip) - LONG $0xfffeb63d; BYTE $0xff // cmpl $-330, %eax - LONG $0x00138d0f; WORD $0x0000 // jge LBB9_5, $19(%rip) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - LONG $0x000339e9; BYTE $0x00 // jmp LBB9_64, $825(%rip) - -LBB9_4: - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x00032ee9; BYTE $0x00 // jmp LBB9_64, $814(%rip) - -LBB9_5: - WORD $0xc085 // testl %eax, %eax - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip) - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0xd8358d4c; WORD $0x0091; BYTE $0x00 // leaq $37336(%rip), %r14 /* _POW_TAB(%rip) */ - LONG $0x00002de9; BYTE $0x00 // jmp LBB9_8, $45(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB9_10: - WORD $0xc089 // movl %eax, %eax - LONG $0x861c8b41 // movl (%r14,%rax,4), %ebx - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0x000a840f; WORD $0x0000 // je LBB9_7, $10(%rip) - -LBB9_11: - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0xde89 // movl %ebx, %esi - LONG $0x0060f5e8; BYTE $0x00 // callq _right_shift, $24821(%rip) - -LBB9_7: - WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d - LONG $0x14478b41 // movl $20(%r15), %eax - WORD $0xc085 // testl %eax, %eax - LONG $0x001e8e0f; WORD $0x0000 // jle LBB9_12, $30(%rip) - -LBB9_8: - WORD $0xf883; BYTE $0x08 // cmpl $8, %eax - LONG $0xffcd8e0f; WORD $0xffff // jle LBB9_10, $-51(%rip) - LONG $0x00001bbb; BYTE $0x00 // movl $27, %ebx - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0xffce850f; WORD $0xffff // jne LBB9_11, $-50(%rip) - LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip) - -LBB9_12: - LONG $0x81358d4c; WORD $0x0091; BYTE $0x00 // leaq $37249(%rip), %r14 /* _POW_TAB(%rip) */ - LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip) - -LBB9_18: - LONG $0x00001bbb; BYTE $0x00 // movl $27, %ebx - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0x001a840f; WORD $0x0000 // je LBB9_13, $26(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB9_20: - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0xde89 // movl %ebx, %esi - LONG $0x005ea6e8; BYTE $0x00 // callq _left_shift, $24230(%rip) - LONG $0x14478b41 // movl $20(%r15), %eax - -LBB9_13: - WORD $0x2941; BYTE $0xdc // subl %ebx, %r12d - -LBB9_14: - WORD $0xc085 // testl %eax, %eax - LONG $0x0017880f; WORD $0x0000 // js LBB9_17, $23(%rip) - LONG $0x0035850f; WORD $0x0000 // jne LBB9_21, $53(%rip) - WORD $0x8b49; BYTE $0x0f // movq (%r15), %rcx - WORD $0x3980; BYTE $0x35 // cmpb $53, (%rcx) - LONG $0x000e8c0f; WORD $0x0000 // jl LBB9_19, $14(%rip) - LONG $0x000024e9; BYTE $0x00 // jmp LBB9_21, $36(%rip) - - // .p2align 4, 0x90 -LBB9_17: - WORD $0xf883; BYTE $0xf8 // cmpl $-8, %eax - LONG $0xffab8c0f; WORD $0xffff // jl LBB9_18, $-85(%rip) - -LBB9_19: - WORD $0xc189 // movl %eax, %ecx - WORD $0xd9f7 // negl %ecx - WORD $0x6348; BYTE $0xc9 // movslq %ecx, %rcx - LONG $0x8e1c8b41 // movl (%r14,%rcx,4), %ebx - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0xffb1850f; WORD $0xffff // jne LBB9_20, $-79(%rip) - LONG $0xffffbae9; BYTE $0xff // jmp LBB9_13, $-70(%rip) - -LBB9_21: - LONG $0x02fc8141; WORD $0xfffc; BYTE $0xff // cmpl $-1022, %r12d - LONG $0x00538f0f; WORD $0x0000 // jg LBB9_27, $83(%rip) - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x0060840f; WORD $0x0000 // je LBB9_29, $96(%rip) - LONG $0xc6fc8141; WORD $0xfffb; BYTE $0xff // cmpl $-1082, %r12d - LONG $0x005e8f0f; WORD $0x0000 // jg LBB9_30, $94(%rip) - LONG $0xc1c48141; WORD $0x0003; BYTE $0x00 // addl $961, %r12d - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB9_25: - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi - LONG $0x006003e8; BYTE $0x00 // callq _right_shift, $24579(%rip) - LONG $0x3cc48341 // addl $60, %r12d - LONG $0x88fc8341 // cmpl $-120, %r12d - LONG $0xffe58c0f; WORD $0xffff // jl LBB9_25, $-27(%rip) - LONG $0x3cc48341 // addl $60, %r12d - LONG $0x00002ee9; BYTE $0x00 // jmp LBB9_31, $46(%rip) - -LBB9_27: - LONG $0x00fc8141; WORD $0x0004; BYTE $0x00 // cmpl $1024, %r12d - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x01a48f0f; WORD $0x0000 // jg LBB9_61, $420(%rip) - WORD $0xff41; BYTE $0xcc // decl %r12d - WORD $0x8945; BYTE $0xe6 // movl %r12d, %r14d - LONG $0x000026e9; BYTE $0x00 // jmp LBB9_32, $38(%rip) - -LBB9_29: - LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d - LONG $0x000033e9; BYTE $0x00 // jmp LBB9_34, $51(%rip) - -LBB9_30: - LONG $0xfdc48141; WORD $0x0003; BYTE $0x00 // addl $1021, %r12d - -LBB9_31: - WORD $0xf741; BYTE $0xdc // negl %r12d - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi - LONG $0x005fb0e8; BYTE $0x00 // callq _right_shift, $24496(%rip) - LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d - -LBB9_32: - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip) - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - LONG $0x000035be; BYTE $0x00 // movl $53, %esi - LONG $0x005da2e8; BYTE $0x00 // callq _left_shift, $23970(%rip) - -LBB9_34: - LONG $0x14478b41 // movl $20(%r15), %eax - LONG $0xffc4c749; WORD $0xffff; BYTE $0xff // movq $-1, %r12 - WORD $0xf883; BYTE $0x14 // cmpl $20, %eax - LONG $0x015f8f0f; WORD $0x0000 // jg LBB9_63, $351(%rip) - WORD $0xc085 // testl %eax, %eax - LONG $0x00548e0f; WORD $0x0000 // jle LBB9_40, $84(%rip) - LONG $0x10578b41 // movl $16(%r15), %edx - WORD $0xf631 // xorl %esi, %esi - WORD $0xd285 // testl %edx, %edx - WORD $0x480f; BYTE $0xd6 // cmovsl %esi, %edx - LONG $0xff488d4c // leaq $-1(%rax), %r9 - WORD $0x3949; BYTE $0xd1 // cmpq %rdx, %r9 - LONG $0xca430f44 // cmovael %edx, %r9d - LONG $0x01418d45 // leal $1(%r9), %r8d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB9_37: - WORD $0x3948; BYTE $0xf2 // cmpq %rsi, %rdx - LONG $0x002b840f; WORD $0x0000 // je LBB9_41, $43(%rip) - LONG $0xa43c8d4b // leaq (%r12,%r12,4), %rdi - WORD $0x8b49; BYTE $0x0f // movq (%r15), %rcx - LONG $0x0cbe0f48; BYTE $0x31 // movsbq (%rcx,%rsi), %rcx - LONG $0x79648d4c; BYTE $0xd0 // leaq $-48(%rcx,%rdi,2), %r12 - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0xffda850f; WORD $0xffff // jne LBB9_37, $-38(%rip) - WORD $0x8945; BYTE $0xc1 // movl %r8d, %r9d - LONG $0x000006e9; BYTE $0x00 // jmp LBB9_41, $6(%rip) - -LBB9_40: - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - -LBB9_41: - WORD $0x3944; BYTE $0xc8 // cmpl %r9d, %eax - LONG $0x00638e0f; WORD $0x0000 // jle LBB9_49, $99(%rip) - WORD $0xc689 // movl %eax, %esi - WORD $0x2944; BYTE $0xce // subl %r9d, %esi - WORD $0x8944; BYTE $0xca // movl %r9d, %edx - WORD $0xd2f7 // notl %edx - WORD $0xc201 // addl %eax, %edx - WORD $0xe683; BYTE $0x07 // andl $7, %esi - LONG $0x0022840f; WORD $0x0000 // je LBB9_46, $34(%rip) - WORD $0xdef7 // negl %esi - WORD $0xff31 // xorl %edi, %edi - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB9_44: - WORD $0x014d; BYTE $0xe4 // addq %r12, %r12 - LONG $0xa4248d4f // leaq (%r12,%r12,4), %r12 - WORD $0xcfff // decl %edi - WORD $0xfe39 // cmpl %edi, %esi - LONG $0xffef850f; WORD $0xffff // jne LBB9_44, $-17(%rip) - WORD $0x2941; BYTE $0xf9 // subl %edi, %r9d - -LBB9_46: - WORD $0xfa83; BYTE $0x07 // cmpl $7, %edx - LONG $0x0023820f; WORD $0x0000 // jb LBB9_49, $35(%rip) - WORD $0xc289 // movl %eax, %edx - WORD $0x2944; BYTE $0xca // subl %r9d, %edx - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB9_48: - LONG $0x00e4694d; WORD $0xf5e1; BYTE $0x05 // imulq $100000000, %r12, %r12 - WORD $0xc283; BYTE $0xf8 // addl $-8, %edx - LONG $0xfff0850f; WORD $0xffff // jne LBB9_48, $-16(%rip) - -LBB9_49: - WORD $0xc085 // testl %eax, %eax - LONG $0x0049880f; WORD $0x0000 // js LBB9_57, $73(%rip) - LONG $0x10778b41 // movl $16(%r15), %esi - WORD $0xc639 // cmpl %eax, %esi - LONG $0x003d8e0f; WORD $0x0000 // jle LBB9_57, $61(%rip) - WORD $0x8b49; BYTE $0x17 // movq (%r15), %rdx - WORD $0x0c8a; BYTE $0x02 // movb (%rdx,%rax), %cl - WORD $0x788d; BYTE $0x01 // leal $1(%rax), %edi - WORD $0xf739 // cmpl %esi, %edi - LONG $0x00be850f; WORD $0x0000 // jne LBB9_58, $190(%rip) - WORD $0xf980; BYTE $0x35 // cmpb $53, %cl - LONG $0x00b5850f; WORD $0x0000 // jne LBB9_58, $181(%rip) - LONG $0x1c7f8341; BYTE $0x00 // cmpl $0, $28(%r15) - WORD $0x950f; BYTE $0xc1 // setne %cl - LONG $0x0017850f; WORD $0x0000 // jne LBB9_59, $23(%rip) - WORD $0xc085 // testl %eax, %eax - LONG $0x000f8e0f; WORD $0x0000 // jle LBB9_59, $15(%rip) - WORD $0xc8ff // decl %eax - WORD $0x0c8a; BYTE $0x02 // movb (%rdx,%rax), %cl - WORD $0xe180; BYTE $0x01 // andb $1, %cl - LONG $0x000002e9; BYTE $0x00 // jmp LBB9_59, $2(%rip) - -LBB9_57: - WORD $0xc931 // xorl %ecx, %ecx - -LBB9_59: - WORD $0xb60f; BYTE $0xc1 // movzbl %cl, %eax - WORD $0x0149; BYTE $0xc4 // addq %rax, %r12 - QUAD $0x000000000000b848; WORD $0x0020 // movabsq $9007199254740992, %rax - WORD $0x3949; BYTE $0xc4 // cmpq %rax, %r12 - LONG $0x0025850f; WORD $0x0000 // jne LBB9_63, $37(%rip) - LONG $0xfefe8141; WORD $0x0003; BYTE $0x00 // cmpl $1022, %r14d - LONG $0x00128e0f; WORD $0x0000 // jle LBB9_62, $18(%rip) - -LBB9_61: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - QUAD $0x000000000000be49; WORD $0x7ff0 // movabsq $9218868437227405312, %r14 - LONG $0x000025e9; BYTE $0x00 // jmp LBB9_64, $37(%rip) - -LBB9_62: - WORD $0xff41; BYTE $0xc6 // incl %r14d - WORD $0x894d; BYTE $0xec // movq %r13, %r12 - -LBB9_63: - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - WORD $0x214c; BYTE $0xe8 // andq %r13, %rax - LONG $0xffc68141; WORD $0x0003; BYTE $0x00 // addl $1023, %r14d - LONG $0xffe68141; WORD $0x0007; BYTE $0x00 // andl $2047, %r14d - LONG $0x34e6c149 // shlq $52, %r14 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xf0440f4c // cmoveq %rax, %r14 - -LBB9_64: - WORD $0xff49; BYTE $0xcd // decq %r13 - WORD $0x214d; BYTE $0xe5 // andq %r12, %r13 - WORD $0x094d; BYTE $0xf5 // orq %r14, %r13 - QUAD $0x000000000000b848; WORD $0x8000 // movabsq $-9223372036854775808, %rax - WORD $0x094c; BYTE $0xe8 // orq %r13, %rax - LONG $0x187f8341; BYTE $0x00 // cmpl $0, $24(%r15) - LONG $0xc5440f49 // cmoveq %r13, %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - WORD $0xc031 // xorl %eax, %eax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB9_58: - WORD $0xf980; BYTE $0x34 // cmpb $52, %cl - WORD $0x9f0f; BYTE $0xc1 // setg %cl - LONG $0xffff65e9; BYTE $0xff // jmp LBB9_59, $-155(%rip) - WORD $0x9090 // .p2align 4, 0x90 - -_atof_native: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - LONG $0x30ec8348 // subq $48, %rsp - QUAD $0x00000000d845c748 // movq $0, $-40(%rbp) - LONG $0xe0558948 // movq %rdx, $-32(%rbp) - LONG $0xe84d8948 // movq %rcx, $-24(%rbp) - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x0044840f; WORD $0x0000 // je LBB10_5, $68(%rip) - WORD $0x02c6; BYTE $0x00 // movb $0, (%rdx) - LONG $0x01f98348 // cmpq $1, %rcx - LONG $0x0037840f; WORD $0x0000 // je LBB10_5, $55(%rip) - LONG $0x000142c6 // movb $0, $1(%rdx) - LONG $0xe87d8348; BYTE $0x03 // cmpq $3, $-24(%rbp) - LONG $0x0028820f; WORD $0x0000 // jb LBB10_5, $40(%rip) - LONG $0x000002b8; BYTE $0x00 // movl $2, %eax - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB10_4: - LONG $0xe04d8b48 // movq $-32(%rbp), %rcx - LONG $0x000104c6 // movb $0, (%rcx,%rax) - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0xe8453948 // cmpq %rax, $-24(%rbp) - LONG $0xffeb870f; WORD $0xffff // ja LBB10_4, $-21(%rip) - -LBB10_5: - LONG $0xc057f8c5 // vxorps %xmm0, %xmm0, %xmm0 - LONG $0x4511f8c5; BYTE $0xf0 // vmovups %xmm0, $-16(%rbp) - WORD $0x3f80; BYTE $0x2d // cmpb $45, (%rdi) - LONG $0x0021850f; WORD $0x0000 // jne LBB10_8, $33(%rip) - LONG $0x01f845c7; WORD $0x0000; BYTE $0x00 // movl $1, $-8(%rbp) - LONG $0x000001b8; BYTE $0x00 // movl $1, %eax - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0x00178c0f; WORD $0x0000 // jl LBB10_9, $23(%rip) - -LBB10_7: - LONG $0x00f445c7; WORD $0x0000; BYTE $0x00 // movl $0, $-12(%rbp) - LONG $0x0001a1e9; BYTE $0x00 // jmp LBB10_39, $417(%rip) - -LBB10_8: - WORD $0xc031 // xorl %eax, %eax - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0xffe98d0f; WORD $0xffff // jge LBB10_7, $-23(%rip) - -LBB10_9: - WORD $0xb341; BYTE $0x01 // movb $1, %r11b - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0x00001fe9; BYTE $0x00 // jmp LBB10_13, $31(%rip) - -LBB10_21: - LONG $0x01fc45c7; WORD $0x0000; BYTE $0x00 // movl $1, $-4(%rbp) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB10_12: - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0xc39c0f41 // setl %r11b - WORD $0x3948; BYTE $0xc6 // cmpq %rax, %rsi - LONG $0x0090840f; WORD $0x0000 // je LBB10_23, $144(%rip) - -LBB10_13: - LONG $0x070cb60f // movzbl (%rdi,%rax), %ecx - WORD $0x518d; BYTE $0xd0 // leal $-48(%rcx), %edx - WORD $0xfa80; BYTE $0x09 // cmpb $9, %dl - LONG $0x002d870f; WORD $0x0000 // ja LBB10_18, $45(%rip) - WORD $0xf980; BYTE $0x30 // cmpb $48, %cl - LONG $0x0044850f; WORD $0x0000 // jne LBB10_20, $68(%rip) - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x0063840f; WORD $0x0000 // je LBB10_22, $99(%rip) - WORD $0x634d; BYTE $0xd9 // movslq %r9d, %r11 - LONG $0xe85d394c // cmpq %r11, $-24(%rbp) - LONG $0x003b870f; WORD $0x0000 // ja LBB10_10, $59(%rip) - LONG $0x000049e9; BYTE $0x00 // jmp LBB10_11, $73(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB10_18: - WORD $0xf980; BYTE $0x2e // cmpb $46, %cl - LONG $0x009b850f; WORD $0x0000 // jne LBB10_30, $155(%rip) - LONG $0xf4558944 // movl %r10d, $-12(%rbp) - LONG $0x0001b841; WORD $0x0000 // movl $1, %r8d - LONG $0xffff98e9; BYTE $0xff // jmp LBB10_12, $-104(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB10_20: - WORD $0x634d; BYTE $0xda // movslq %r10d, %r11 - LONG $0xe85d394c // cmpq %r11, $-24(%rbp) - LONG $0xff77860f; WORD $0xffff // jbe LBB10_21, $-137(%rip) - -LBB10_10: - LONG $0xe0558b48 // movq $-32(%rbp), %rdx - LONG $0x1a0c8842 // movb %cl, (%rdx,%r11) - LONG $0xf04d8b44 // movl $-16(%rbp), %r9d - WORD $0xff41; BYTE $0xc1 // incl %r9d - LONG $0xf04d8944 // movl %r9d, $-16(%rbp) - -LBB10_11: - WORD $0x8945; BYTE $0xca // movl %r9d, %r10d - LONG $0xffff68e9; BYTE $0xff // jmp LBB10_12, $-152(%rip) - -LBB10_22: - WORD $0x4dff; BYTE $0xf4 // decl $-12(%rbp) - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - LONG $0xffff5de9; BYTE $0xff // jmp LBB10_12, $-163(%rip) - -LBB10_23: - WORD $0xf189 // movl %esi, %ecx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0x0004850f; WORD $0x0000 // jne LBB10_25, $4(%rip) - -LBB10_24: - LONG $0xf44d8944 // movl %r9d, $-12(%rbp) - -LBB10_25: - LONG $0x01c3f641 // testb $1, %r11b - LONG $0x00ba840f; WORD $0x0000 // je LBB10_39, $186(%rip) - WORD $0x0c8a; BYTE $0x0f // movb (%rdi,%rcx), %cl - WORD $0xc980; BYTE $0x20 // orb $32, %cl - WORD $0xf980; BYTE $0x65 // cmpb $101, %cl - LONG $0x00ab850f; WORD $0x0000 // jne LBB10_39, $171(%rip) - WORD $0xc289 // movl %eax, %edx - LONG $0x01174c8a // movb $1(%rdi,%rdx), %cl - WORD $0xf980; BYTE $0x2d // cmpb $45, %cl - LONG $0x0028840f; WORD $0x0000 // je LBB10_31, $40(%rip) - LONG $0x0001b841; WORD $0x0000 // movl $1, %r8d - WORD $0xf980; BYTE $0x2b // cmpb $43, %cl - LONG $0x0038850f; WORD $0x0000 // jne LBB10_33, $56(%rip) - WORD $0xc083; BYTE $0x02 // addl $2, %eax - LONG $0x00001ae9; BYTE $0x00 // jmp LBB10_32, $26(%rip) - -LBB10_30: - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0xffb5850f; WORD $0xffff // jne LBB10_25, $-75(%rip) - LONG $0xfffface9; BYTE $0xff // jmp LBB10_24, $-84(%rip) - -LBB10_31: - WORD $0xc083; BYTE $0x02 // addl $2, %eax - LONG $0xffffb841; WORD $0xffff // movl $-1, %r8d - -LBB10_32: - WORD $0xc289 // movl %eax, %edx - WORD $0x6348; BYTE $0xd2 // movslq %edx, %rdx - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x3948; BYTE $0xf2 // cmpq %rsi, %rdx - LONG $0x00178c0f; WORD $0x0000 // jl LBB10_34, $23(%rip) - LONG $0x00004de9; BYTE $0x00 // jmp LBB10_38, $77(%rip) - -LBB10_33: - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0x6348; BYTE $0xd2 // movslq %edx, %rdx - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x3948; BYTE $0xf2 // cmpq %rsi, %rdx - LONG $0x003b8d0f; WORD $0x0000 // jge LBB10_38, $59(%rip) - -LBB10_34: - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB10_35: - LONG $0x0ff98141; WORD $0x0027; BYTE $0x00 // cmpl $9999, %r9d - LONG $0x00248f0f; WORD $0x0000 // jg LBB10_38, $36(%rip) - LONG $0x170cb60f // movzbl (%rdi,%rdx), %ecx - WORD $0x418d; BYTE $0xd0 // leal $-48(%rcx), %eax - WORD $0x093c // cmpb $9, %al - LONG $0x0015870f; WORD $0x0000 // ja LBB10_38, $21(%rip) - LONG $0x89048d43 // leal (%r9,%r9,4), %eax - LONG $0x414c8d44; BYTE $0xd0 // leal $-48(%rcx,%rax,2), %r9d - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0x3948; BYTE $0xd6 // cmpq %rdx, %rsi - LONG $0xffcf850f; WORD $0xffff // jne LBB10_35, $-49(%rip) - -LBB10_38: - LONG $0xc8af0f45 // imull %r8d, %r9d - LONG $0xf44d0144 // addl %r9d, $-12(%rbp) - -LBB10_39: - LONG $0xe07d8d48 // leaq $-32(%rbp), %rdi - LONG $0xd8758d48 // leaq $-40(%rbp), %rsi - LONG $0xfff9eae8; BYTE $0xff // callq _decimal_to_f64, $-1558(%rip) - LONG $0x4510fbc5; BYTE $0xd8 // vmovsd $-40(%rbp), %xmm0 - LONG $0x30c48348 // addq $48, %rsp - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_value: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x28ec8348 // subq $40, %rsp - WORD $0x8949; BYTE $0xce // movq %rcx, %r14 - WORD $0x8949; BYTE $0xd4 // movq %rdx, %r12 - WORD $0x8949; BYTE $0xf7 // movq %rsi, %r15 - WORD $0x8949; BYTE $0xfd // movq %rdi, %r13 - LONG $0xd0558948 // movq %rdx, $-48(%rbp) - LONG $0xb07d8948 // movq %rdi, $-80(%rbp) - LONG $0xb8758948 // movq %rsi, $-72(%rbp) - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x2948; BYTE $0xf0 // subq %rsi, %rax - LONG $0x002b830f; WORD $0x0000 // jae LBB11_5, $43(%rip) - LONG $0x254c8a43; BYTE $0x00 // movb (%r13,%r12), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x001d840f; WORD $0x0000 // je LBB11_5, $29(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x0014840f; WORD $0x0000 // je LBB11_5, $20(%rip) - WORD $0x518d; BYTE $0xf7 // leal $-9(%rcx), %edx - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0008860f; WORD $0x0000 // jbe LBB11_5, $8(%rip) - WORD $0x894c; BYTE $0xe3 // movq %r12, %rbx - LONG $0x000132e9; BYTE $0x00 // jmp LBB11_28, $306(%rip) - -LBB11_5: - LONG $0x245c8d49; BYTE $0x01 // leaq $1(%r12), %rbx - WORD $0x394c; BYTE $0xfb // cmpq %r15, %rbx - LONG $0x0023830f; WORD $0x0000 // jae LBB11_9, $35(%rip) - LONG $0x1d4c8a41; BYTE $0x00 // movb (%r13,%rbx), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB11_9, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB11_9, $12(%rip) - WORD $0x518d; BYTE $0xf7 // leal $-9(%rcx), %edx - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0101870f; WORD $0x0000 // ja LBB11_28, $257(%rip) - -LBB11_9: - LONG $0x245c8d49; BYTE $0x02 // leaq $2(%r12), %rbx - WORD $0x394c; BYTE $0xfb // cmpq %r15, %rbx - LONG $0x0023830f; WORD $0x0000 // jae LBB11_13, $35(%rip) - LONG $0x1d4c8a41; BYTE $0x00 // movb (%r13,%rbx), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB11_13, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB11_13, $12(%rip) - WORD $0x518d; BYTE $0xf7 // leal $-9(%rcx), %edx - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00d0870f; WORD $0x0000 // ja LBB11_28, $208(%rip) - -LBB11_13: - LONG $0x245c8d49; BYTE $0x03 // leaq $3(%r12), %rbx - WORD $0x394c; BYTE $0xfb // cmpq %r15, %rbx - LONG $0x0023830f; WORD $0x0000 // jae LBB11_17, $35(%rip) - LONG $0x1d4c8a41; BYTE $0x00 // movb (%r13,%rbx), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB11_17, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB11_17, $12(%rip) - WORD $0x518d; BYTE $0xf7 // leal $-9(%rcx), %edx - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x009f870f; WORD $0x0000 // ja LBB11_28, $159(%rip) - -LBB11_17: - LONG $0x244c8d49; BYTE $0x04 // leaq $4(%r12), %rcx - WORD $0x394c; BYTE $0xf9 // cmpq %r15, %rcx - LONG $0x0057830f; WORD $0x0000 // jae LBB11_23, $87(%rip) - WORD $0x3949; BYTE $0xcf // cmpq %rcx, %r15 - LONG $0x005a840f; WORD $0x0000 // je LBB11_24, $90(%rip) - LONG $0x3d4c8d4b; BYTE $0x00 // leaq (%r13,%r15), %rcx - LONG $0x04c08348 // addq $4, %rax - LONG $0x2c5c8d4b; BYTE $0x05 // leaq $5(%r12,%r13), %rbx - QUAD $0x000100002600ba48; WORD $0x0000 // movabsq $4294977024, %rdx - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB11_20: - LONG $0xff73be0f // movsbl $-1(%rbx), %esi - WORD $0xfe83; BYTE $0x20 // cmpl $32, %esi - LONG $0x003e870f; WORD $0x0000 // ja LBB11_26, $62(%rip) - LONG $0xf2a30f48 // btq %rsi, %rdx - LONG $0x0034830f; WORD $0x0000 // jae LBB11_26, $52(%rip) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0xffdd850f; WORD $0xffff // jne LBB11_20, $-35(%rip) - LONG $0x00000fe9; BYTE $0x00 // jmp LBB11_25, $15(%rip) - -LBB11_23: - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - WORD $0x8949; BYTE $0xcc // movq %rcx, %r12 - LONG $0x000079e9; BYTE $0x00 // jmp LBB11_32, $121(%rip) - -LBB11_24: - WORD $0x014c; BYTE $0xe9 // addq %r13, %rcx - -LBB11_25: - WORD $0x294c; BYTE $0xe9 // subq %r13, %rcx - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - WORD $0x394c; BYTE $0xfb // cmpq %r15, %rbx - LONG $0x0017820f; WORD $0x0000 // jb LBB11_27, $23(%rip) - LONG $0x000062e9; BYTE $0x00 // jmp LBB11_32, $98(%rip) - -LBB11_26: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - WORD $0x394c; BYTE $0xfb // cmpq %r15, %rbx - LONG $0x0050830f; WORD $0x0000 // jae LBB11_32, $80(%rip) - -LBB11_27: - LONG $0x1d4c8a41; BYTE $0x00 // movb (%r13,%rbx), %cl - -LBB11_28: - LONG $0x01638d4c // leaq $1(%rbx), %r12 - LONG $0xd065894c // movq %r12, $-48(%rbp) - WORD $0xbe0f; BYTE $0xc1 // movsbl %cl, %eax - WORD $0xf883; BYTE $0x7d // cmpl $125, %eax - LONG $0x00c4870f; WORD $0x0000 // ja LBB11_41, $196(%rip) - LONG $0x83158d48; WORD $0x0003; BYTE $0x00 // leaq $899(%rip), %rdx /* LJTI11_0(%rip) */ - LONG $0x82046348 // movslq (%rdx,%rax,4), %rax - WORD $0x0148; BYTE $0xd0 // addq %rdx, %rax - JMP AX - -LBB11_30: - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x02c0f641 // testb $2, %r8b - LONG $0x0035850f; WORD $0x0000 // jne LBB11_35, $53(%rip) - LONG $0xb07d8d48 // leaq $-80(%rbp), %rdi - LONG $0xd0758d48 // leaq $-48(%rbp), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0x000b6ce8; BYTE $0x00 // callq _vnumber, $2924(%rip) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x00000ae9; BYTE $0x00 // jmp LBB11_34, $10(%rip) - -LBB11_32: - LONG $0x0106c749; WORD $0x0000; BYTE $0x00 // movq $1, (%r14) - -LBB11_33: - WORD $0x894c; BYTE $0xe3 // movq %r12, %rbx - -LBB11_34: - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - LONG $0x28c48348 // addq $40, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB11_35: - LONG $0xc875894c // movq %r14, $-56(%rbp) - LONG $0x1d748d4d; BYTE $0x00 // leaq (%r13,%rbx), %r14 - WORD $0xc031 // xorl %eax, %eax - WORD $0xf980; BYTE $0x2d // cmpb $45, %cl - WORD $0x940f; BYTE $0xc0 // sete %al - WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 - WORD $0x2949; BYTE $0xc7 // subq %rax, %r15 - LONG $0x02e2840f; WORD $0x0000 // je LBB11_85, $738(%rip) - WORD $0x394c; BYTE $0xfb // cmpq %r15, %rbx - LONG $0x000d830f; WORD $0x0000 // jae LBB11_38, $13(%rip) - WORD $0x8a41; BYTE $0x06 // movb (%r14), %al - WORD $0xd004 // addb $-48, %al - WORD $0x0a3c // cmpb $10, %al - LONG $0x02e5830f; WORD $0x0000 // jae LBB11_87, $741(%rip) - -LBB11_38: - WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0x001f09e8; BYTE $0x00 // callq _do_skip_number, $7945(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x02cb880f; WORD $0x0000 // js LBB11_86, $715(%rip) - WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 - WORD $0x294d; BYTE $0xee // subq %r13, %r14 - LONG $0xd075894c // movq %r14, $-48(%rbp) - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x02cc8e0f; WORD $0x0000 // jle LBB11_88, $716(%rip) - LONG $0xc8458b48 // movq $-56(%rbp), %rax - LONG $0x0800c748; WORD $0x0000; BYTE $0x00 // movq $8, (%rax) - LONG $0x18588948 // movq %rbx, $24(%rax) - WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx - LONG $0xffff7de9; BYTE $0xff // jmp LBB11_34, $-131(%rip) - -LBB11_41: - LONG $0xfe06c749; WORD $0xffff; BYTE $0xff // movq $-2, (%r14) - LONG $0xffff71e9; BYTE $0xff // jmp LBB11_34, $-143(%rip) - -LBB11_42: - QUAD $0xffffffffc045c748 // movq $-1, $-64(%rbp) - LONG $0xb07d8d48 // leaq $-80(%rbp), %rdi - LONG $0xc0558d48 // leaq $-64(%rbp), %rdx - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - WORD $0x894c; BYTE $0xc1 // movq %r8, %rcx - LONG $0x00054fe8; BYTE $0x00 // callq _advance_string, $1359(%rip) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0150880f; WORD $0x0000 // js LBB11_61, $336(%rip) - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x1066894d // movq %r12, $16(%r14) - LONG $0xc0458b48 // movq $-64(%rbp), %rax - WORD $0x3948; BYTE $0xd8 // cmpq %rbx, %rax - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - LONG $0xc84c0f48 // cmovlq %rax, %rcx - LONG $0x184e8949 // movq %rcx, $24(%r14) - LONG $0x000007b8; BYTE $0x00 // movl $7, %eax - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0xffff1fe9; BYTE $0xff // jmp LBB11_34, $-225(%rip) - -LBB11_44: - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x00000bb9; BYTE $0x00 // movl $11, %ecx - LONG $0x0000f8e9; BYTE $0x00 // jmp LBB11_60, $248(%rip) - -LBB11_45: - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x00000ab9; BYTE $0x00 // movl $10, %ecx - LONG $0x0000e4e9; BYTE $0x00 // jmp LBB11_60, $228(%rip) - -LBB11_46: - LONG $0x0506c749; WORD $0x0000; BYTE $0x00 // movq $5, (%r14) - LONG $0xfffee8e9; BYTE $0xff // jmp LBB11_33, $-280(%rip) - -LBB11_47: - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x00000cb9; BYTE $0x00 // movl $12, %ecx - LONG $0x0000c4e9; BYTE $0x00 // jmp LBB11_60, $196(%rip) - -LBB11_48: - LONG $0xfc478d49 // leaq $-4(%r15), %rax - WORD $0x3948; BYTE $0xc3 // cmpq %rax, %rbx - LONG $0x008c830f; WORD $0x0000 // jae LBB11_57, $140(%rip) - LONG $0x254c8b43; BYTE $0x00 // movl (%r13,%r12), %ecx - LONG $0x6c61f981; WORD $0x6573 // cmpl $1702063201, %ecx - LONG $0x00ce850f; WORD $0x0000 // jne LBB11_62, $206(%rip) - LONG $0x05c38348 // addq $5, %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x000004b8; BYTE $0x00 // movl $4, %eax - WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 - LONG $0x0001aae9; BYTE $0x00 // jmp LBB11_84, $426(%rip) - -LBB11_51: - LONG $0xfd478d49 // leaq $-3(%r15), %rax - WORD $0x3948; BYTE $0xc3 // cmpq %rax, %rbx - LONG $0x0059830f; WORD $0x0000 // jae LBB11_57, $89(%rip) - LONG $0x1d4c8b41; BYTE $0x00 // movl (%r13,%rbx), %ecx - LONG $0x756ef981; WORD $0x6c6c // cmpl $1819047278, %ecx - LONG $0x00da850f; WORD $0x0000 // jne LBB11_66, $218(%rip) - LONG $0x04c38348 // addq $4, %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x000002b8; BYTE $0x00 // movl $2, %eax - WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 - LONG $0x000177e9; BYTE $0x00 // jmp LBB11_84, $375(%rip) - -LBB11_54: - LONG $0xfd478d49 // leaq $-3(%r15), %rax - WORD $0x3948; BYTE $0xc3 // cmpq %rax, %rbx - LONG $0x0026830f; WORD $0x0000 // jae LBB11_57, $38(%rip) - LONG $0x1d4c8b41; BYTE $0x00 // movl (%r13,%rbx), %ecx - LONG $0x7274f981; WORD $0x6575 // cmpl $1702195828, %ecx - LONG $0x00ea850f; WORD $0x0000 // jne LBB11_70, $234(%rip) - LONG $0x04c38348 // addq $4, %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x000003b8; BYTE $0x00 // movl $3, %eax - WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 - LONG $0x000144e9; BYTE $0x00 // jmp LBB11_84, $324(%rip) - -LBB11_57: - LONG $0xd07d894c // movq %r15, $-48(%rbp) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x000134e9; BYTE $0x00 // jmp LBB11_84, $308(%rip) - -LBB11_58: - LONG $0x0606c749; WORD $0x0000; BYTE $0x00 // movq $6, (%r14) - LONG $0xfffe1fe9; BYTE $0xff // jmp LBB11_33, $-481(%rip) - -LBB11_59: - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x00000db9; BYTE $0x00 // movl $13, %ecx - -LBB11_60: - LONG $0xc8490f48 // cmovnsq %rax, %rcx - WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) - LONG $0x1ff8c141 // sarl $31, %r8d - WORD $0xf741; BYTE $0xd0 // notl %r8d - WORD $0x6349; BYTE $0xc0 // movslq %r8d, %rax - WORD $0x0149; BYTE $0xc4 // addq %rax, %r12 - LONG $0xfffdf7e9; BYTE $0xff // jmp LBB11_33, $-521(%rip) - -LBB11_61: - LONG $0xd07d894c // movq %r15, $-48(%rbp) - WORD $0x8949; BYTE $0x1e // movq %rbx, (%r14) - WORD $0x894c; BYTE $0xfb // movq %r15, %rbx - LONG $0xfffdebe9; BYTE $0xff // jmp LBB11_34, $-533(%rip) - -LBB11_62: - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - WORD $0xf980; BYTE $0x61 // cmpb $97, %cl - LONG $0x00bd850f; WORD $0x0000 // jne LBB11_74, $189(%rip) - LONG $0x1d7c8041; WORD $0x6c02 // cmpb $108, $2(%r13,%rbx) - LONG $0x00c1850f; WORD $0x0000 // jne LBB11_81, $193(%rip) - LONG $0x1d7c8041; WORD $0x7303 // cmpb $115, $3(%r13,%rbx) - LONG $0x00be850f; WORD $0x0000 // jne LBB11_79, $190(%rip) - LONG $0x047b8d4c // leaq $4(%rbx), %r15 - LONG $0x054b8d48 // leaq $5(%rbx), %rcx - LONG $0x1d7c8041; WORD $0x6504 // cmpb $101, $4(%r13,%rbx) - LONG $0xf9440f4c // cmoveq %rcx, %r15 - LONG $0x0000aee9; BYTE $0x00 // jmp LBB11_83, $174(%rip) - -LBB11_66: - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - WORD $0xf980; BYTE $0x6e // cmpb $110, %cl - LONG $0x0072850f; WORD $0x0000 // jne LBB11_76, $114(%rip) - LONG $0x1d7c8041; WORD $0x7501 // cmpb $117, $1(%r13,%rbx) - LONG $0x0076850f; WORD $0x0000 // jne LBB11_77, $118(%rip) - LONG $0x1d7c8041; WORD $0x6c02 // cmpb $108, $2(%r13,%rbx) - LONG $0x0072850f; WORD $0x0000 // jne LBB11_81, $114(%rip) - LONG $0x037b8d4c // leaq $3(%rbx), %r15 - LONG $0x044b8d48 // leaq $4(%rbx), %rcx - LONG $0x1d7c8041; WORD $0x6c03 // cmpb $108, $3(%r13,%rbx) - LONG $0xf9440f4c // cmoveq %rcx, %r15 - LONG $0x00006be9; BYTE $0x00 // jmp LBB11_83, $107(%rip) - -LBB11_70: - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - WORD $0xf980; BYTE $0x74 // cmpb $116, %cl - LONG $0x002f850f; WORD $0x0000 // jne LBB11_76, $47(%rip) - LONG $0x1d7c8041; WORD $0x7201 // cmpb $114, $1(%r13,%rbx) - LONG $0x0033850f; WORD $0x0000 // jne LBB11_77, $51(%rip) - LONG $0x1d7c8041; WORD $0x7502 // cmpb $117, $2(%r13,%rbx) - LONG $0x002f850f; WORD $0x0000 // jne LBB11_81, $47(%rip) - LONG $0x037b8d4c // leaq $3(%rbx), %r15 - LONG $0x044b8d48 // leaq $4(%rbx), %rcx - LONG $0x1d7c8041; WORD $0x6503 // cmpb $101, $3(%r13,%rbx) - LONG $0xf9440f4c // cmoveq %rcx, %r15 - LONG $0x000028e9; BYTE $0x00 // jmp LBB11_83, $40(%rip) - -LBB11_76: - WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 - LONG $0x000024e9; BYTE $0x00 // jmp LBB11_84, $36(%rip) - -LBB11_74: - WORD $0x894d; BYTE $0xe7 // movq %r12, %r15 - LONG $0x00001ce9; BYTE $0x00 // jmp LBB11_84, $28(%rip) - -LBB11_77: - WORD $0xff48; BYTE $0xc3 // incq %rbx - LONG $0x00000de9; BYTE $0x00 // jmp LBB11_82, $13(%rip) - -LBB11_81: - LONG $0x02c38348 // addq $2, %rbx - LONG $0x000004e9; BYTE $0x00 // jmp LBB11_82, $4(%rip) - -LBB11_79: - LONG $0x03c38348 // addq $3, %rbx - -LBB11_82: - WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 - -LBB11_83: - LONG $0xd07d894c // movq %r15, $-48(%rbp) - -LBB11_84: - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - WORD $0x894c; BYTE $0xfb // movq %r15, %rbx - LONG $0xfffcefe9; BYTE $0xff // jmp LBB11_34, $-785(%rip) - -LBB11_85: - WORD $0x294d; BYTE $0xee // subq %r13, %r14 - LONG $0xd075894c // movq %r14, $-48(%rbp) - LONG $0xffc3c748; WORD $0xffff; BYTE $0xff // movq $-1, %rbx - LONG $0x000014e9; BYTE $0x00 // jmp LBB11_88, $20(%rip) - -LBB11_86: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 - -LBB11_87: - WORD $0x294d; BYTE $0xee // subq %r13, %r14 - LONG $0xd075894c // movq %r14, $-48(%rbp) - LONG $0xfec3c748; WORD $0xffff; BYTE $0xff // movq $-2, %rbx - -LBB11_88: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x8948; BYTE $0x18 // movq %rbx, (%rax) - WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx - LONG $0xfffcb9e9; BYTE $0xff // jmp LBB11_34, $-839(%rip) - WORD $0x9090 // .p2align 2, 0x90 - - // .set L11_0_set_32, LBB11_32-LJTI11_0 - // .set L11_0_set_41, LBB11_41-LJTI11_0 - // .set L11_0_set_42, LBB11_42-LJTI11_0 - // .set L11_0_set_44, LBB11_44-LJTI11_0 - // .set L11_0_set_30, LBB11_30-LJTI11_0 - // .set L11_0_set_45, LBB11_45-LJTI11_0 - // .set L11_0_set_46, LBB11_46-LJTI11_0 - // .set L11_0_set_47, LBB11_47-LJTI11_0 - // .set L11_0_set_48, LBB11_48-LJTI11_0 - // .set L11_0_set_51, LBB11_51-LJTI11_0 - // .set L11_0_set_54, LBB11_54-LJTI11_0 - // .set L11_0_set_58, LBB11_58-LJTI11_0 - // .set L11_0_set_59, LBB11_59-LJTI11_0 -LJTI11_0: - LONG $0xfffffcad // .long L11_0_set_32 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd46 // .long L11_0_set_42 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd98 // .long L11_0_set_44 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffdac // .long L11_0_set_45 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffdc0 // .long L11_0_set_46 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffdcc // .long L11_0_set_47 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffde0 // .long L11_0_set_48 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffe13 // .long L11_0_set_51 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffe46 // .long L11_0_set_54 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffe89 // .long L11_0_set_58 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffe95 // .long L11_0_set_59 - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -_vstring: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x10ec8348 // subq $16, %rsp - WORD $0x8949; BYTE $0xd6 // movq %rdx, %r14 - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - QUAD $0xffffffffd845c748 // movq $-1, $-40(%rbp) - WORD $0x8b4c; BYTE $0x26 // movq (%rsi), %r12 - LONG $0xd8558d48 // leaq $-40(%rbp), %rdx - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x000081e8; BYTE $0x00 // callq _advance_string, $129(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0027880f; WORD $0x0000 // js LBB12_1, $39(%rip) - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0x1066894d // movq %r12, $16(%r14) - LONG $0xd84d8b48 // movq $-40(%rbp), %rcx - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xc14c0f48 // cmovlq %rcx, %rax - LONG $0x18468949 // movq %rax, $24(%r14) - LONG $0x000007b8; BYTE $0x00 // movl $7, %eax - LONG $0x000007e9; BYTE $0x00 // jmp LBB12_3, $7(%rip) - -LBB12_1: - LONG $0x084f8b49 // movq $8(%r15), %rcx - WORD $0x8948; BYTE $0x0b // movq %rcx, (%rbx) - -LBB12_3: - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x10c48348 // addq $16, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; WORD $0x0000 // .p2align 4, 0x00 - -LCPI13_0: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI13_1: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - -LCPI13_2: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - - // .p2align 4, 0x90 -_advance_string: - WORD $0xc1f6; BYTE $0x20 // testb $32, %cl - LONG $0x0005850f; WORD $0x0000 // jne LBB13_2, $5(%rip) - LONG $0x005552e9; BYTE $0x00 // jmp _advance_string_default, $21842(%rip) - -LBB13_2: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x20ec8348 // subq $32, %rsp - LONG $0x085f8b48 // movq $8(%rdi), %rbx - WORD $0x2948; BYTE $0xf3 // subq %rsi, %rbx - LONG $0x04d4840f; WORD $0x0000 // je LBB13_21, $1236(%rip) - WORD $0x8b48; BYTE $0x07 // movq (%rdi), %rax - LONG $0xc0458948 // movq %rax, $-64(%rbp) - WORD $0x0148; BYTE $0xc6 // addq %rax, %rsi - LONG $0xc8558948 // movq %rdx, $-56(%rbp) - LONG $0xff02c748; WORD $0xffff; BYTE $0xff // movq $-1, (%rdx) - LONG $0x40fb8348 // cmpq $64, %rbx - LONG $0x024a820f; WORD $0x0000 // jb LBB13_22, $586(%rip) - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - QUAD $0xffffff72056f79c5 // vmovdqa $-142(%rip), %xmm8 /* LCPI13_0(%rip) */ - QUAD $0xffffff7a0d6ff9c5 // vmovdqa $-134(%rip), %xmm1 /* LCPI13_1(%rip) */ - QUAD $0xffffff82156ff9c5 // vmovdqa $-126(%rip), %xmm2 /* LCPI13_2(%rip) */ - LONG $0xdb76e1c5 // vpcmpeqd %xmm3, %xmm3, %xmm3 - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB13_5: - LONG $0xb85d8948 // movq %rbx, $-72(%rbp) - LONG $0x266ffac5 // vmovdqu (%rsi), %xmm4 - LONG $0x6e6ffac5; BYTE $0x10 // vmovdqu $16(%rsi), %xmm5 - LONG $0x766ffac5; BYTE $0x20 // vmovdqu $32(%rsi), %xmm6 - LONG $0x7e6ffac5; BYTE $0x30 // vmovdqu $48(%rsi), %xmm7 - LONG $0xc474b9c5 // vpcmpeqb %xmm4, %xmm8, %xmm0 - LONG $0xe8d779c5 // vpmovmskb %xmm0, %r13d - LONG $0xc574b9c5 // vpcmpeqb %xmm5, %xmm8, %xmm0 - LONG $0xd0d7f9c5 // vpmovmskb %xmm0, %edx - LONG $0xc674b9c5 // vpcmpeqb %xmm6, %xmm8, %xmm0 - LONG $0xf0d779c5 // vpmovmskb %xmm0, %r14d - LONG $0xc774b9c5 // vpcmpeqb %xmm7, %xmm8, %xmm0 - LONG $0xd8d779c5 // vpmovmskb %xmm0, %r11d - LONG $0xc174d9c5 // vpcmpeqb %xmm1, %xmm4, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0xc174d1c5 // vpcmpeqb %xmm1, %xmm5, %xmm0 - LONG $0xc8d779c5 // vpmovmskb %xmm0, %r9d - LONG $0xc174c9c5 // vpcmpeqb %xmm1, %xmm6, %xmm0 - LONG $0xc0d779c5 // vpmovmskb %xmm0, %r8d - LONG $0xc174c1c5 // vpcmpeqb %xmm1, %xmm7, %xmm0 - LONG $0xc0d7f9c5 // vpmovmskb %xmm0, %eax - LONG $0xc464e9c5 // vpcmpgtb %xmm4, %xmm2, %xmm0 - LONG $0xe364d9c5 // vpcmpgtb %xmm3, %xmm4, %xmm4 - LONG $0xc4dbf9c5 // vpand %xmm4, %xmm0, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx - LONG $0xc564e9c5 // vpcmpgtb %xmm5, %xmm2, %xmm0 - LONG $0xe364d1c5 // vpcmpgtb %xmm3, %xmm5, %xmm4 - LONG $0xc4dbf9c5 // vpand %xmm4, %xmm0, %xmm0 - LONG $0xf8d7f9c5 // vpmovmskb %xmm0, %edi - LONG $0xc664e9c5 // vpcmpgtb %xmm6, %xmm2, %xmm0 - LONG $0xe364c9c5 // vpcmpgtb %xmm3, %xmm6, %xmm4 - LONG $0xc4dbf9c5 // vpand %xmm4, %xmm0, %xmm0 - LONG $0xd0d779c5 // vpmovmskb %xmm0, %r10d - LONG $0xc764e9c5 // vpcmpgtb %xmm7, %xmm2, %xmm0 - LONG $0xe364c1c5 // vpcmpgtb %xmm3, %xmm7, %xmm4 - LONG $0xc4dbf9c5 // vpand %xmm4, %xmm0, %xmm0 - LONG $0xe0d779c5 // vpmovmskb %xmm0, %r12d - LONG $0x30e3c149 // shlq $48, %r11 - LONG $0x20e6c149 // shlq $32, %r14 - LONG $0x10e2c148 // shlq $16, %rdx - WORD $0x0949; BYTE $0xd5 // orq %rdx, %r13 - WORD $0x094d; BYTE $0xf5 // orq %r14, %r13 - WORD $0x094d; BYTE $0xdd // orq %r11, %r13 - LONG $0x30e0c148 // shlq $48, %rax - LONG $0x20e0c149 // shlq $32, %r8 - LONG $0x10e1c149 // shlq $16, %r9 - WORD $0x094c; BYTE $0xc9 // orq %r9, %rcx - WORD $0x094c; BYTE $0xc1 // orq %r8, %rcx - LONG $0x30e4c149 // shlq $48, %r12 - LONG $0x20e2c149 // shlq $32, %r10 - LONG $0x10e7c148 // shlq $16, %rdi - WORD $0x0948; BYTE $0xfb // orq %rdi, %rbx - WORD $0x094c; BYTE $0xd3 // orq %r10, %rbx - WORD $0x0948; BYTE $0xc1 // orq %rax, %rcx - LONG $0x003c850f; WORD $0x0000 // jne LBB13_10, $60(%rip) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0057850f; WORD $0x0000 // jne LBB13_12, $87(%rip) - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0x094c; BYTE $0xe3 // orq %r12, %rbx - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - LONG $0x009d850f; WORD $0x0000 // jne LBB13_13, $157(%rip) - -LBB13_8: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00f2850f; WORD $0x0000 // jne LBB13_19, $242(%rip) - LONG $0x40c68348 // addq $64, %rsi - LONG $0xb85d8b48 // movq $-72(%rbp), %rbx - LONG $0xc0c38348 // addq $-64, %rbx - LONG $0x3ffb8348 // cmpq $63, %rbx - LONG $0xfef0870f; WORD $0xffff // ja LBB13_5, $-272(%rip) - LONG $0x00010be9; BYTE $0x00 // jmp LBB13_23, $267(%rip) - -LBB13_10: - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0019850f; WORD $0x0000 // jne LBB13_12, $25(%rip) - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - LONG $0xc0452b48 // subq $-64(%rbp), %rax - LONG $0xd1bc0f48 // bsfq %rcx, %rdx - WORD $0x0148; BYTE $0xc2 // addq %rax, %rdx - LONG $0xc8458b48 // movq $-56(%rbp), %rax - LONG $0xd0558948 // movq %rdx, $-48(%rbp) - WORD $0x8948; BYTE $0x10 // movq %rdx, (%rax) - -LBB13_12: - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x2148; BYTE $0xc8 // andq %rcx, %rax - LONG $0x00148d48 // leaq (%rax,%rax), %rdx - WORD $0x094c; BYTE $0xfa // orq %r15, %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - QUAD $0xaaaaaaaaaaaab948; WORD $0xaaaa // movabsq $-6148914691236517206, %rcx - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0x0148; BYTE $0xc7 // addq %rax, %rdi - LONG $0xc7920f41 // setb %r15b - WORD $0x0148; BYTE $0xff // addq %rdi, %rdi - QUAD $0x555555555555b848; WORD $0x5555 // movabsq $6148914691236517205, %rax - WORD $0x3148; BYTE $0xc7 // xorq %rax, %rdi - WORD $0x2148; BYTE $0xd7 // andq %rdx, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x2149; BYTE $0xfd // andq %rdi, %r13 - WORD $0x094c; BYTE $0xe3 // orq %r12, %rbx - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - LONG $0xff63840f; WORD $0xffff // je LBB13_8, $-157(%rip) - -LBB13_13: - LONG $0xc5bc0f49 // bsfq %r13, %rax - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0029840f; WORD $0x0000 // je LBB13_17, $41(%rip) - LONG $0xcbbc0f48 // bsfq %rbx, %rcx - LONG $0xc8558b48 // movq $-56(%rbp), %rdx - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x002a820f; WORD $0x0000 // jb LBB13_18, $42(%rip) - -LBB13_15: - LONG $0x06448d48; BYTE $0x01 // leaq $1(%rsi,%rax), %rax - -LBB13_16: - LONG $0x20c48348 // addq $32, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB13_17: - LONG $0x000040b9; BYTE $0x00 // movl $64, %ecx - LONG $0xc8558b48 // movq $-56(%rbp), %rdx - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0xffd6830f; WORD $0xffff // jae LBB13_15, $-42(%rip) - -LBB13_18: - WORD $0x0148; BYTE $0xf1 // addq %rsi, %rcx - WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xffffc9e9; BYTE $0xff // jmp LBB13_16, $-55(%rip) - -LBB13_19: - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0xffb7850f; WORD $0xffff // jne LBB13_16, $-73(%rip) - LONG $0xcbbc0f48 // bsfq %rbx, %rcx - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - WORD $0x0148; BYTE $0xce // addq %rcx, %rsi - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8948; BYTE $0x31 // movq %rsi, (%rcx) - LONG $0xffffa0e9; BYTE $0xff // jmp LBB13_16, $-96(%rip) - -LBB13_22: - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - -LBB13_23: - LONG $0x20fb8348 // cmpq $32, %rbx - LONG $0x00e1820f; WORD $0x0000 // jb LBB13_36, $225(%rip) - LONG $0x066ffac5 // vmovdqu (%rsi), %xmm0 - LONG $0x4e6ffac5; BYTE $0x10 // vmovdqu $16(%rsi), %xmm1 - QUAD $0xfffffd15156ff9c5 // vmovdqa $-747(%rip), %xmm2 /* LCPI13_0(%rip) */ - LONG $0xda74f9c5 // vpcmpeqb %xmm2, %xmm0, %xmm3 - LONG $0xdbd779c5 // vpmovmskb %xmm3, %r11d - LONG $0xd274f1c5 // vpcmpeqb %xmm2, %xmm1, %xmm2 - LONG $0xd2d7f9c5 // vpmovmskb %xmm2, %edx - QUAD $0xfffffd0d156ff9c5 // vmovdqa $-755(%rip), %xmm2 /* LCPI13_1(%rip) */ - LONG $0xda74f9c5 // vpcmpeqb %xmm2, %xmm0, %xmm3 - LONG $0xd3d779c5 // vpmovmskb %xmm3, %r10d - LONG $0xd274f1c5 // vpcmpeqb %xmm2, %xmm1, %xmm2 - LONG $0xc2d7f9c5 // vpmovmskb %xmm2, %eax - QUAD $0xfffffd05156ff9c5 // vmovdqa $-763(%rip), %xmm2 /* LCPI13_2(%rip) */ - LONG $0xd864e9c5 // vpcmpgtb %xmm0, %xmm2, %xmm3 - LONG $0xe476d9c5 // vpcmpeqd %xmm4, %xmm4, %xmm4 - LONG $0xc464f9c5 // vpcmpgtb %xmm4, %xmm0, %xmm0 - LONG $0xc0dbe1c5 // vpand %xmm0, %xmm3, %xmm0 - LONG $0xc0d779c5 // vpmovmskb %xmm0, %r8d - LONG $0xc164e9c5 // vpcmpgtb %xmm1, %xmm2, %xmm0 - LONG $0xcc64f1c5 // vpcmpgtb %xmm4, %xmm1, %xmm1 - LONG $0xc1dbf9c5 // vpand %xmm1, %xmm0, %xmm0 - LONG $0xf8d7f9c5 // vpmovmskb %xmm0, %edi - LONG $0x10e2c148 // shlq $16, %rdx - WORD $0x0949; BYTE $0xd3 // orq %rdx, %r11 - LONG $0x10e0c148 // shlq $16, %rax - LONG $0x10e7c148 // shlq $16, %rdi - WORD $0x0949; BYTE $0xc2 // orq %rax, %r10 - LONG $0x0111850f; WORD $0x0000 // jne LBB13_48, $273(%rip) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x012c850f; WORD $0x0000 // jne LBB13_50, $300(%rip) - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - -LBB13_27: - WORD $0x094c; BYTE $0xc7 // orq %r8, %rdi - LONG $0x000040b8; BYTE $0x00 // movl $64, %eax - LONG $0x000040ba; BYTE $0x00 // movl $64, %edx - WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x0004840f; WORD $0x0000 // je LBB13_29, $4(%rip) - LONG $0xd3bc0f49 // bsfq %r11, %rdx - -LBB13_29: - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0004840f; WORD $0x0000 // je LBB13_31, $4(%rip) - LONG $0xc7bc0f48 // bsfq %rdi, %rax - -LBB13_31: - WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x0017840f; WORD $0x0000 // je LBB13_34, $23(%rip) - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - WORD $0x3948; BYTE $0xd0 // cmpq %rdx, %rax - LONG $0x0124820f; WORD $0x0000 // jb LBB13_51, $292(%rip) - LONG $0x16448d48; BYTE $0x01 // leaq $1(%rsi,%rdx), %rax - LONG $0xfffebbe9; BYTE $0xff // jmp LBB13_16, $-325(%rip) - -LBB13_34: - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0127850f; WORD $0x0000 // jne LBB13_52, $295(%rip) - LONG $0x20c68348 // addq $32, %rsi - LONG $0xe0c38348 // addq $-32, %rbx - -LBB13_36: - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0122850f; WORD $0x0000 // jne LBB13_53, $290(%rip) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xfe91840f; WORD $0xffff // je LBB13_16, $-367(%rip) - -LBB13_38: - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - -LBB13_39: - WORD $0xb60f; BYTE $0x0e // movzbl (%rsi), %ecx - WORD $0xf980; BYTE $0x22 // cmpb $34, %cl - LONG $0x0075840f; WORD $0x0000 // je LBB13_47, $117(%rip) - WORD $0xf980; BYTE $0x5c // cmpb $92, %cl - LONG $0x0026840f; WORD $0x0000 // je LBB13_43, $38(%rip) - WORD $0xf980; BYTE $0x1f // cmpb $31, %cl - LONG $0x0146860f; WORD $0x0000 // jbe LBB13_57, $326(%rip) - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - WORD $0x0148; BYTE $0xd6 // addq %rdx, %rsi - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - LONG $0xffca850f; WORD $0xffff // jne LBB13_39, $-54(%rip) - LONG $0xfffe52e9; BYTE $0xff // jmp LBB13_16, $-430(%rip) - -LBB13_43: - LONG $0x01fb8348 // cmpq $1, %rbx - LONG $0xfe48840f; WORD $0xffff // je LBB13_16, $-440(%rip) - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x000e850f; WORD $0x0000 // jne LBB13_46, $14(%rip) - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - LONG $0xc05d2b48 // subq $-64(%rbp), %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - WORD $0x8948; BYTE $0x1f // movq %rbx, (%rdi) - -LBB13_46: - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - WORD $0x0148; BYTE $0xd6 // addq %rdx, %rsi - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - LONG $0xff84850f; WORD $0xffff // jne LBB13_39, $-124(%rip) - LONG $0xfffe0ce9; BYTE $0xff // jmp LBB13_16, $-500(%rip) - -LBB13_47: - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - LONG $0xfffdfde9; BYTE $0xff // jmp LBB13_16, $-515(%rip) - -LBB13_48: - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0019850f; WORD $0x0000 // jne LBB13_50, $25(%rip) - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - LONG $0xc0452b48 // subq $-64(%rbp), %rax - LONG $0xd2bc0f49 // bsfq %r10, %rdx - WORD $0x0148; BYTE $0xc2 // addq %rax, %rdx - LONG $0xc8458b48 // movq $-56(%rbp), %rax - LONG $0xd0558948 // movq %rdx, $-48(%rbp) - WORD $0x8948; BYTE $0x10 // movq %rdx, (%rax) - -LBB13_50: - WORD $0x8944; BYTE $0xf8 // movl %r15d, %eax - WORD $0xd0f7 // notl %eax - WORD $0x2144; BYTE $0xd0 // andl %r10d, %eax - LONG $0x470c8d45 // leal (%r15,%rax,2), %r9d - WORD $0x148d; BYTE $0x00 // leal (%rax,%rax), %edx - WORD $0xd2f7 // notl %edx - WORD $0x2144; BYTE $0xd2 // andl %r10d, %edx - LONG $0xaaaae281; WORD $0xaaaa // andl $-1431655766, %edx - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0xc201 // addl %eax, %edx - LONG $0xc7920f41 // setb %r15b - WORD $0xd201 // addl %edx, %edx - LONG $0x5555f281; WORD $0x5555 // xorl $1431655765, %edx - WORD $0x2144; BYTE $0xca // andl %r9d, %edx - WORD $0xd2f7 // notl %edx - WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d - LONG $0xfffe9fe9; BYTE $0xff // jmp LBB13_27, $-353(%rip) - -LBB13_51: - WORD $0x0148; BYTE $0xf0 // addq %rsi, %rax - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xfffd8be9; BYTE $0xff // jmp LBB13_16, $-629(%rip) - -LBB13_52: - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - WORD $0x0148; BYTE $0xc6 // addq %rax, %rsi - LONG $0x00005ae9; BYTE $0x00 // jmp LBB13_58, $90(%rip) - -LBB13_53: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0041840f; WORD $0x0000 // je LBB13_21, $65(%rip) - WORD $0x8948; BYTE $0xda // movq %rbx, %rdx - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0015850f; WORD $0x0000 // jne LBB13_56, $21(%rip) - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x0148; BYTE $0xf1 // addq %rsi, %rcx - LONG $0xc8458b48 // movq $-56(%rbp), %rax - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - WORD $0x8948; BYTE $0x08 // movq %rcx, (%rax) - -LBB13_56: - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x8948; BYTE $0xd3 // movq %rdx, %rbx - WORD $0xff48; BYTE $0xcb // decq %rbx - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xfea9850f; WORD $0xffff // jne LBB13_38, $-343(%rip) - LONG $0xfffd35e9; BYTE $0xff // jmp LBB13_16, $-715(%rip) - -LBB13_21: - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xfffd29e9; BYTE $0xff // jmp LBB13_16, $-727(%rip) - -LBB13_57: - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - -LBB13_58: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x8948; BYTE $0x30 // movq %rsi, (%rax) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xfffd12e9; BYTE $0xff // jmp LBB13_16, $-750(%rip) - QUAD $0x0000000000000000; LONG $0x00000000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI14_0: - LONG $0x43300000 // .long 1127219200 - LONG $0x45300000 // .long 1160773632 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - -LCPI14_1: - QUAD $0x4330000000000000 // .quad 0x4330000000000000 - QUAD $0x4530000000000000 // .quad 0x4530000000000000 - - // .p2align 3, 0x00 -LCPI14_2: - QUAD $0x430c6bf526340000 // .quad 0x430c6bf526340000 - -LCPI14_3: - QUAD $0xc30c6bf526340000 // .quad 0xc30c6bf526340000 - - // .p2align 4, 0x90 -_vnumber: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x38ec8348 // subq $56, %rsp - WORD $0x8949; BYTE $0xd6 // movq %rdx, %r14 - QUAD $0x00000000c845c748 // movq $0, $-56(%rbp) - WORD $0x8b48; BYTE $0x06 // movq (%rsi), %rax - WORD $0x8b4c; BYTE $0x3f // movq (%rdi), %r15 - LONG $0x086f8b4c // movq $8(%rdi), %r13 - LONG $0x205a8b48 // movq $32(%rdx), %rbx - LONG $0x285a8b4c // movq $40(%rdx), %r11 - LONG $0x0902c748; WORD $0x0000; BYTE $0x00 // movq $9, (%rdx) - LONG $0xc057f9c5 // vxorpd %xmm0, %xmm0, %xmm0 - LONG $0x4211f9c5; BYTE $0x08 // vmovupd %xmm0, $8(%rdx) - WORD $0x8b48; BYTE $0x0e // movq (%rsi), %rcx - LONG $0x184a8948 // movq %rcx, $24(%rdx) - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0045830f; WORD $0x0000 // jae LBB14_6, $69(%rip) - LONG $0x073c8a41 // movb (%r15,%rax), %dil - LONG $0x0001ba41; WORD $0x0000 // movl $1, %r10d - LONG $0x2dff8040 // cmpb $45, %dil - LONG $0x0016850f; WORD $0x0000 // jne LBB14_4, $22(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0025830f; WORD $0x0000 // jae LBB14_6, $37(%rip) - LONG $0x073c8a41 // movb (%r15,%rax), %dil - LONG $0xffffba41; WORD $0xffff // movl $-1, %r10d - -LBB14_4: - WORD $0x4f8d; BYTE $0xd0 // leal $-48(%rdi), %ecx - WORD $0xf980; BYTE $0x0a // cmpb $10, %cl - LONG $0x0028820f; WORD $0x0000 // jb LBB14_9, $40(%rip) - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xfe06c749; WORD $0xffff; BYTE $0xff // movq $-2, (%r14) - LONG $0x00000ae9; BYTE $0x00 // jmp LBB14_8, $10(%rip) - -LBB14_6: - WORD $0x894c; BYTE $0x2e // movq %r13, (%rsi) - -LBB14_7: - LONG $0xff06c749; WORD $0xffff; BYTE $0xff // movq $-1, (%r14) - -LBB14_8: - LONG $0x38c48348 // addq $56, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB14_9: - LONG $0x30ff8040 // cmpb $48, %dil - LONG $0x0035850f; WORD $0x0000 // jne LBB14_13, $53(%rip) - LONG $0x01488d4c // leaq $1(%rax), %r9 - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00bf830f; WORD $0x0000 // jae LBB14_22, $191(%rip) - LONG $0x0f148a43 // movb (%r15,%r9), %dl - WORD $0xc280; BYTE $0xd2 // addb $-46, %dl - WORD $0xfa80; BYTE $0x37 // cmpb $55, %dl - LONG $0x00af870f; WORD $0x0000 // ja LBB14_22, $175(%rip) - LONG $0xc2b60f44 // movzbl %dl, %r8d - QUAD $0x000000800001ba48; WORD $0x0080 // movabsq $36028797027352577, %rdx - LONG $0xc2a30f4c // btq %r8, %rdx - LONG $0x0097830f; WORD $0x0000 // jae LBB14_22, $151(%rip) - -LBB14_13: - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0xa05d8948 // movq %rbx, $-96(%rbp) - LONG $0xc0558944 // movl %r10d, $-64(%rbp) - LONG $0xd0758948 // movq %rsi, $-48(%rbp) - LONG $0x0075830f; WORD $0x0000 // jae LBB14_21, $117(%rip) - WORD $0xf980; BYTE $0x09 // cmpb $9, %cl - LONG $0x0081870f; WORD $0x0000 // ja LBB14_23, $129(%rip) - LONG $0xffd0b841; WORD $0xffff // movl $4294967248, %r8d - LONG $0xff4d8d4d // leaq $-1(%r13), %r9 - WORD $0xc931 // xorl %ecx, %ecx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB14_16: - LONG $0x12fa8341 // cmpl $18, %r10d - LONG $0x00268f0f; WORD $0x0000 // jg LBB14_18, $38(%rip) - LONG $0xa4148d4b // leaq (%r12,%r12,4), %rdx - LONG $0xffbe0f40 // movsbl %dil, %edi - WORD $0x0144; BYTE $0xc7 // addl %r8d, %edi - LONG $0x57248d4c // leaq (%rdi,%rdx,2), %r12 - WORD $0xff41; BYTE $0xc2 // incl %r10d - LONG $0x000011e9; BYTE $0x00 // jmp LBB14_19, $17(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB14_18: - WORD $0xc1ff // incl %ecx - -LBB14_19: - WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9 - LONG $0x0079840f; WORD $0x0000 // je LBB14_28, $121(%rip) - LONG $0x7cb60f41; WORD $0x0107 // movzbl $1(%r15,%rax), %edi - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x578d; BYTE $0xd0 // leal $-48(%rdi), %edx - WORD $0xfa80; BYTE $0x0a // cmpb $10, %dl - LONG $0xffb0820f; WORD $0xffff // jb LBB14_16, $-80(%rip) - LONG $0x00001de9; BYTE $0x00 // jmp LBB14_24, $29(%rip) - -LBB14_21: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x000055e9; BYTE $0x00 // jmp LBB14_29, $85(%rip) - -LBB14_22: - WORD $0x894c; BYTE $0x0e // movq %r9, (%rsi) - LONG $0xffff13e9; BYTE $0xff // jmp LBB14_8, $-237(%rip) - -LBB14_23: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0xc931 // xorl %ecx, %ecx - -LBB14_24: - WORD $0xd231 // xorl %edx, %edx - WORD $0xc985 // testl %ecx, %ecx - WORD $0x9f0f; BYTE $0xc2 // setg %dl - WORD $0x5589; BYTE $0xc4 // movl %edx, $-60(%rbp) - WORD $0xb041; BYTE $0x01 // movb $1, %r8b - LONG $0x2eff8040 // cmpb $46, %dil - LONG $0x003b850f; WORD $0x0000 // jne LBB14_30, $59(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0x0806c749; WORD $0x0000; BYTE $0x00 // movq $8, (%r14) - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0268830f; WORD $0x0000 // jae LBB14_68, $616(%rip) - LONG $0x07148a41 // movb (%r15,%rax), %dl - WORD $0xc280; BYTE $0xd0 // addb $-48, %dl - WORD $0xfa80; BYTE $0x0a // cmpb $10, %dl - LONG $0x0401830f; WORD $0x0000 // jae LBB14_91, $1025(%rip) - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0x000010e9; BYTE $0x00 // jmp LBB14_30, $16(%rip) - -LBB14_28: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - -LBB14_29: - WORD $0xd231 // xorl %edx, %edx - WORD $0xc985 // testl %ecx, %ecx - WORD $0x9f0f; BYTE $0xc2 // setg %dl - WORD $0x5589; BYTE $0xc4 // movl %edx, $-60(%rbp) - WORD $0xb041; BYTE $0x01 // movb $1, %r8b - -LBB14_30: - WORD $0xc985 // testl %ecx, %ecx - LONG $0x0056850f; WORD $0x0000 // jne LBB14_39, $86(%rip) - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x004d850f; WORD $0x0000 // jne LBB14_39, $77(%rip) - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x003c830f; WORD $0x0000 // jae LBB14_37, $60(%rip) - WORD $0xc689 // movl %eax, %esi - WORD $0x2944; BYTE $0xee // subl %r13d, %esi - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB14_34: - LONG $0x073c8041; BYTE $0x30 // cmpb $48, (%r15,%rax) - LONG $0x0024850f; WORD $0x0000 // jne LBB14_38, $36(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0xc9ff // decl %ecx - WORD $0x3949; BYTE $0xc5 // cmpq %rax, %r13 - LONG $0xffe7850f; WORD $0xffff // jne LBB14_34, $-25(%rip) - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0x8445; BYTE $0xc0 // testb %r8b, %r8b - LONG $0x0122850f; WORD $0x0000 // jne LBB14_58, $290(%rip) - LONG $0x000152e9; BYTE $0x00 // jmp LBB14_62, $338(%rip) - -LBB14_37: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - -LBB14_38: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - -LBB14_39: - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0051830f; WORD $0x0000 // jae LBB14_45, $81(%rip) - LONG $0x12fa8341 // cmpl $18, %r10d - LONG $0x00478f0f; WORD $0x0000 // jg LBB14_45, $71(%rip) - LONG $0xffd0b941; WORD $0xffff // movl $4294967248, %r9d - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB14_42: - LONG $0x14b60f41; BYTE $0x07 // movzbl (%r15,%rax), %edx - WORD $0x7a8d; BYTE $0xd0 // leal $-48(%rdx), %edi - LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x002a870f; WORD $0x0000 // ja LBB14_45, $42(%rip) - LONG $0xa43c8d4b // leaq (%r12,%r12,4), %rdi - WORD $0x0144; BYTE $0xca // addl %r9d, %edx - LONG $0x7a248d4c // leaq (%rdx,%rdi,2), %r12 - WORD $0xc9ff // decl %ecx - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0011830f; WORD $0x0000 // jae LBB14_45, $17(%rip) - LONG $0x01528d41 // leal $1(%r10), %edx - LONG $0x12fa8341 // cmpl $18, %r10d - WORD $0x8941; BYTE $0xd2 // movl %edx, %r10d - LONG $0xffc48c0f; WORD $0xffff // jl LBB14_42, $-60(%rip) - -LBB14_45: - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00a4830f; WORD $0x0000 // jae LBB14_57, $164(%rip) - LONG $0x07348a41 // movb (%r15,%rax), %sil - WORD $0x568d; BYTE $0xd0 // leal $-48(%rsi), %edx - WORD $0xfa80; BYTE $0x09 // cmpb $9, %dl - LONG $0x0030870f; WORD $0x0000 // ja LBB14_51, $48(%rip) - LONG $0xff7d8d49 // leaq $-1(%r13), %rdi - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB14_48: - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x0167840f; WORD $0x0000 // je LBB14_69, $359(%rip) - LONG $0x74b60f41; WORD $0x0107 // movzbl $1(%r15,%rax), %esi - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x568d; BYTE $0xd0 // leal $-48(%rsi), %edx - WORD $0xfa80; BYTE $0x09 // cmpb $9, %dl - LONG $0xffe2860f; WORD $0xffff // jbe LBB14_48, $-30(%rip) - LONG $0x01c445c7; WORD $0x0000; BYTE $0x00 // movl $1, $-60(%rbp) - -LBB14_51: - LONG $0x20ce8040 // orb $32, %sil - LONG $0x65fe8040 // cmpb $101, %sil - LONG $0x0056850f; WORD $0x0000 // jne LBB14_57, $86(%rip) - LONG $0x01788d48 // leaq $1(%rax), %rdi - LONG $0x0806c749; WORD $0x0000; BYTE $0x00 // movq $8, (%r14) - WORD $0x394c; BYTE $0xef // cmpq %r13, %rdi - LONG $0x011d830f; WORD $0x0000 // jae LBB14_68, $285(%rip) - LONG $0x3f348a41 // movb (%r15,%rdi), %sil - LONG $0x2dfe8040 // cmpb $45, %sil - LONG $0x0010840f; WORD $0x0000 // je LBB14_55, $16(%rip) - LONG $0x0001b841; WORD $0x0000 // movl $1, %r8d - LONG $0x2bfe8040 // cmpb $43, %sil - LONG $0x0298850f; WORD $0x0000 // jne LBB14_89, $664(%rip) - -LBB14_55: - LONG $0x02c08348 // addq $2, %rax - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00f2830f; WORD $0x0000 // jae LBB14_68, $242(%rip) - WORD $0xd231 // xorl %edx, %edx - LONG $0x2bfe8040 // cmpb $43, %sil - WORD $0x940f; BYTE $0xc2 // sete %dl - LONG $0x12448d44; BYTE $0xff // leal $-1(%rdx,%rdx), %r8d - LONG $0x07348a41 // movb (%r15,%rax), %sil - LONG $0x000277e9; BYTE $0x00 // jmp LBB14_90, $631(%rip) - -LBB14_57: - WORD $0xce89 // movl %ecx, %esi - WORD $0x8949; BYTE $0xc5 // movq %rax, %r13 - WORD $0x8445; BYTE $0xc0 // testb %r8b, %r8b - LONG $0x0035840f; WORD $0x0000 // je LBB14_62, $53(%rip) - -LBB14_58: - WORD $0xf685 // testl %esi, %esi - LONG $0x0026850f; WORD $0x0000 // jne LBB14_61, $38(%rip) - QUAD $0x000000000000b848; WORD $0x8000 // movabsq $-9223372036854775808, %rax - LONG $0xc04d6348 // movslq $-64(%rbp), %rcx - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x00f2890f; WORD $0x0000 // jns LBB14_72, $242(%rip) - WORD $0x894c; BYTE $0xe2 // movq %r12, %rdx - WORD $0x2148; BYTE $0xca // andq %rcx, %rdx - WORD $0x3948; BYTE $0xc2 // cmpq %rax, %rdx - LONG $0x00e3840f; WORD $0x0000 // je LBB14_72, $227(%rip) - -LBB14_61: - LONG $0x0806c749; WORD $0x0000; BYTE $0x00 // movq $8, (%r14) - -LBB14_62: - QUAD $0x00000000b845c748 // movq $0, $-72(%rbp) - LONG $0x6ef9c1c4; BYTE $0xc4 // vmovq %r12, %xmm0 - QUAD $0xfffffc2f0562f9c5 // vpunpckldq $-977(%rip), %xmm0, %xmm0 /* LCPI14_0(%rip) */ - QUAD $0xfffffc37055cf9c5 // vsubpd $-969(%rip), %xmm0, %xmm0 /* LCPI14_1(%rip) */ - LONG $0x0579e3c4; WORD $0x01c8 // vpermilpd $1, %xmm0, %xmm1 - LONG $0xc058f3c5 // vaddsd %xmm0, %xmm1, %xmm0 - LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - LONG $0x34e8c148 // shrq $52, %rax - LONG $0x011f850f; WORD $0x0000 // jne LBB14_77, $287(%rip) - LONG $0x7ef9e1c4; BYTE $0xc1 // vmovq %xmm0, %rcx - WORD $0x458b; BYTE $0xc0 // movl $-64(%rbp), %eax - WORD $0xe8c1; BYTE $0x1f // shrl $31, %eax - LONG $0x3fe0c148 // shlq $63, %rax - WORD $0x0948; BYTE $0xc8 // orq %rcx, %rax - LONG $0xc8458948 // movq %rax, $-56(%rbp) - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x019f840f; WORD $0x0000 // je LBB14_85, $415(%rip) - WORD $0xf685 // testl %esi, %esi - LONG $0x0197840f; WORD $0x0000 // je LBB14_85, $407(%rip) - LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq %rax, %xmm0 - WORD $0x468d; BYTE $0xff // leal $-1(%rsi), %eax - WORD $0xf883; BYTE $0x24 // cmpl $36, %eax - LONG $0x004a870f; WORD $0x0000 // ja LBB14_70, $74(%rip) - WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi - LONG $0x00a48c0f; WORD $0x0000 // jl LBB14_73, $164(%rip) - WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax - LONG $0xc00d8d48; WORD $0x00ed; BYTE $0x00 // leaq $60864(%rip), %rcx /* _P10_TAB(%rip) */ - LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0 - LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) - LONG $0x000016b8; BYTE $0x00 // movl $22, %eax - LONG $0x000088e9; BYTE $0x00 // jmp LBB14_74, $136(%rip) - -LBB14_68: - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x894c; BYTE $0x28 // movq %r13, (%rax) - LONG $0xfffc66e9; BYTE $0xff // jmp LBB14_7, $-922(%rip) - -LBB14_69: - LONG $0x01c445c7; WORD $0x0000; BYTE $0x00 // movl $1, $-60(%rbp) - WORD $0xce89 // movl %ecx, %esi - WORD $0x8445; BYTE $0xc0 // testb %r8b, %r8b - LONG $0xff15850f; WORD $0xffff // jne LBB14_58, $-235(%rip) - LONG $0xffff45e9; BYTE $0xff // jmp LBB14_62, $-187(%rip) - -LBB14_70: - WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi - LONG $0x0094820f; WORD $0x0000 // jb LBB14_77, $148(%rip) - WORD $0xdef7 // negl %esi - LONG $0x77058d48; WORD $0x00ed; BYTE $0x00 // leaq $60791(%rip), %rax /* _P10_TAB(%rip) */ - LONG $0x045efbc5; BYTE $0xf0 // vdivsd (%rax,%rsi,8), %xmm0, %xmm0 - LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) - LONG $0x0000dee9; BYTE $0x00 // jmp LBB14_81, $222(%rip) - -LBB14_72: - LONG $0x6ef9c1c4; BYTE $0xc4 // vmovq %r12, %xmm0 - LONG $0xe1af0f4c // imulq %rcx, %r12 - QUAD $0xfffffb570562f9c5 // vpunpckldq $-1193(%rip), %xmm0, %xmm0 /* LCPI14_0(%rip) */ - QUAD $0xfffffb5f055cf9c5 // vsubpd $-1185(%rip), %xmm0, %xmm0 /* LCPI14_1(%rip) */ - LONG $0x1066894d // movq %r12, $16(%r14) - LONG $0x0579e3c4; WORD $0x01c8 // vpermilpd $1, %xmm0, %xmm1 - LONG $0xc058f3c5 // vaddsd %xmm0, %xmm1, %xmm0 - WORD $0x2148; BYTE $0xc8 // andq %rcx, %rax - LONG $0x7ef9e1c4; BYTE $0xc1 // vmovq %xmm0, %rcx - WORD $0x0948; BYTE $0xc1 // orq %rax, %rcx - LONG $0x084e8949 // movq %rcx, $8(%r14) - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x894c; BYTE $0x28 // movq %r13, (%rax) - LONG $0xfffbf3e9; BYTE $0xff // jmp LBB14_8, $-1037(%rip) - -LBB14_73: - WORD $0xf089 // movl %esi, %eax - -LBB14_74: - QUAD $0xfffffb3c052ef9c5 // vucomisd $-1220(%rip), %xmm0 /* LCPI14_2(%rip) */ - LONG $0x002a870f; WORD $0x0000 // ja LBB14_77, $42(%rip) - QUAD $0xfffffb360d10fbc5 // vmovsd $-1226(%rip), %xmm1 /* LCPI14_3(%rip) */ - LONG $0xc82ef9c5 // vucomisd %xmm0, %xmm1 - LONG $0x0018870f; WORD $0x0000 // ja LBB14_77, $24(%rip) - WORD $0xc089 // movl %eax, %eax - LONG $0xfb0d8d48; WORD $0x00ec; BYTE $0x00 // leaq $60667(%rip), %rcx /* _P10_TAB(%rip) */ - LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0 - LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) - LONG $0x000062e9; BYTE $0x00 // jmp LBB14_81, $98(%rip) - -LBB14_77: - LONG $0xa85d894c // movq %r11, $-88(%rbp) - LONG $0xc84d8d48 // leaq $-56(%rbp), %rcx - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x5d8b; BYTE $0xc0 // movl $-64(%rbp), %ebx - WORD $0xda89 // movl %ebx, %edx - LONG $0xb0758948 // movq %rsi, $-80(%rbp) - LONG $0xffe613e8; BYTE $0xff // callq _atof_eisel_lemire64, $-6637(%rip) - WORD $0xc084 // testb %al, %al - LONG $0x004b840f; WORD $0x0000 // je LBB14_83, $75(%rip) - LONG $0xb0758b48 // movq $-80(%rbp), %rsi - LONG $0x00c47d83 // cmpl $0, $-60(%rbp) - LONG $0x006c840f; WORD $0x0000 // je LBB14_84, $108(%rip) - WORD $0xff49; BYTE $0xc4 // incq %r12 - LONG $0xb84d8d48 // leaq $-72(%rbp), %rcx - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0xda89 // movl %ebx, %edx - LONG $0xffe5ece8; BYTE $0xff // callq _atof_eisel_lemire64, $-6676(%rip) - WORD $0xc084 // testb %al, %al - LONG $0x0024840f; WORD $0x0000 // je LBB14_83, $36(%rip) - LONG $0x4d10fbc5; BYTE $0xb8 // vmovsd $-72(%rbp), %xmm1 - LONG $0x4510fbc5; BYTE $0xc8 // vmovsd $-56(%rbp), %xmm0 - LONG $0xc82ef9c5 // vucomisd %xmm0, %xmm1 - LONG $0x0010850f; WORD $0x0000 // jne LBB14_83, $16(%rip) - LONG $0x000a8a0f; WORD $0x0000 // jp LBB14_83, $10(%rip) - -LBB14_81: - LONG $0x7ef9e1c4; BYTE $0xc0 // vmovq %xmm0, %rax - LONG $0x000033e9; BYTE $0x00 // jmp LBB14_85, $51(%rip) - -LBB14_83: - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - WORD $0x8b48; BYTE $0x03 // movq (%rbx), %rax - WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - WORD $0x2948; BYTE $0xc6 // subq %rax, %rsi - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - LONG $0xa0558b48 // movq $-96(%rbp), %rdx - LONG $0xa84d8b48 // movq $-88(%rbp), %rcx - LONG $0xffeaf0e8; BYTE $0xff // callq _atof_native, $-5392(%rip) - LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) - LONG $0x7ef9e1c4; BYTE $0xc0 // vmovq %xmm0, %rax - LONG $0x000008e9; BYTE $0x00 // jmp LBB14_86, $8(%rip) - -LBB14_84: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - -LBB14_85: - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - -LBB14_86: - QUAD $0x000000000000b948; WORD $0x8000 // movabsq $-9223372036854775808, %rcx - WORD $0xff48; BYTE $0xc9 // decq %rcx - WORD $0x2148; BYTE $0xc1 // andq %rax, %rcx - QUAD $0x000000000000ba48; WORD $0x7ff0 // movabsq $9218868437227405312, %rdx - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x0007850f; WORD $0x0000 // jne LBB14_88, $7(%rip) - LONG $0xf806c749; WORD $0xffff; BYTE $0xff // movq $-8, (%r14) - -LBB14_88: - LONG $0x08468949 // movq %rax, $8(%r14) - WORD $0x894c; BYTE $0x2b // movq %r13, (%rbx) - LONG $0xfffae0e9; BYTE $0xff // jmp LBB14_8, $-1312(%rip) - -LBB14_89: - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - -LBB14_90: - WORD $0x7e8d; BYTE $0xd0 // leal $-48(%rsi), %edi - LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x0013860f; WORD $0x0000 // jbe LBB14_92, $19(%rip) - -LBB14_91: - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xfe06c749; WORD $0xffff; BYTE $0xff // movq $-2, (%r14) - LONG $0xfffabde9; BYTE $0xff // jmp LBB14_8, $-1347(%rip) - -LBB14_92: - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0049830f; WORD $0x0000 // jae LBB14_98, $73(%rip) - LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x003f870f; WORD $0x0000 // ja LBB14_98, $63(%rip) - LONG $0xff4d8d4d // leaq $-1(%r13), %r9 - WORD $0xff31 // xorl %edi, %edi - -LBB14_95: - WORD $0xfa89 // movl %edi, %edx - LONG $0x2710ff81; WORD $0x0000 // cmpl $10000, %edi - WORD $0x3c8d; BYTE $0x92 // leal (%rdx,%rdx,4), %edi - LONG $0xf6b60f40 // movzbl %sil, %esi - LONG $0xd07e7c8d // leal $-48(%rsi,%rdi,2), %edi - WORD $0x4d0f; BYTE $0xfa // cmovgel %edx, %edi - WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9 - LONG $0x0021840f; WORD $0x0000 // je LBB14_99, $33(%rip) - LONG $0x74b60f41; WORD $0x0107 // movzbl $1(%r15,%rax), %esi - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x568d; BYTE $0xd0 // leal $-48(%rsi), %edx - WORD $0xfa80; BYTE $0x0a // cmpb $10, %dl - LONG $0xffcc820f; WORD $0xffff // jb LBB14_95, $-52(%rip) - LONG $0x00000ae9; BYTE $0x00 // jmp LBB14_100, $10(%rip) - -LBB14_98: - WORD $0xff31 // xorl %edi, %edi - LONG $0x000003e9; BYTE $0x00 // jmp LBB14_100, $3(%rip) - -LBB14_99: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - -LBB14_100: - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - LONG $0xf0af0f41 // imull %r8d, %esi - WORD $0xce01 // addl %ecx, %esi - WORD $0x8949; BYTE $0xc5 // movq %rax, %r13 - LONG $0xfffd3fe9; BYTE $0xff // jmp LBB14_62, $-705(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_vsigned: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - WORD $0x8b48; BYTE $0x06 // movq (%rsi), %rax - WORD $0x8b4c; BYTE $0x0f // movq (%rdi), %r9 - LONG $0x085f8b4c // movq $8(%rdi), %r11 - LONG $0x0902c748; WORD $0x0000; BYTE $0x00 // movq $9, (%rdx) - LONG $0xc057f8c5 // vxorps %xmm0, %xmm0, %xmm0 - LONG $0x4211f8c5; BYTE $0x08 // vmovups %xmm0, $8(%rdx) - WORD $0x8b48; BYTE $0x0e // movq (%rsi), %rcx - LONG $0x184a8948 // movq %rcx, $24(%rdx) - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x0044830f; WORD $0x0000 // jae LBB15_1, $68(%rip) - LONG $0x010c8a41 // movb (%r9,%rax), %cl - LONG $0x0001b841; WORD $0x0000 // movl $1, %r8d - WORD $0xf980; BYTE $0x2d // cmpb $45, %cl - LONG $0x0017850f; WORD $0x0000 // jne LBB15_5, $23(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x0025830f; WORD $0x0000 // jae LBB15_1, $37(%rip) - LONG $0x010c8a41 // movb (%r9,%rax), %cl - LONG $0xffc0c749; WORD $0xffff; BYTE $0xff // movq $-1, %r8 - -LBB15_5: - WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi - LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x001a820f; WORD $0x0000 // jb LBB15_7, $26(%rip) - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xfe02c748; WORD $0xffff; BYTE $0xff // movq $-2, (%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB15_1: - WORD $0x894c; BYTE $0x1e // movq %r11, (%rsi) - LONG $0xff02c748; WORD $0xffff; BYTE $0xff // movq $-1, (%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB15_7: - WORD $0xf980; BYTE $0x30 // cmpb $48, %cl - LONG $0x0035850f; WORD $0x0000 // jne LBB15_12, $53(%rip) - LONG $0x01788d48 // leaq $1(%rax), %rdi - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x0081830f; WORD $0x0000 // jae LBB15_11, $129(%rip) - LONG $0x390c8a41 // movb (%r9,%rdi), %cl - WORD $0xc180; BYTE $0xd2 // addb $-46, %cl - WORD $0xf980; BYTE $0x37 // cmpb $55, %cl - LONG $0x0071870f; WORD $0x0000 // ja LBB15_11, $113(%rip) - LONG $0xd1b60f44 // movzbl %cl, %r10d - QUAD $0x000000800001b948; WORD $0x0080 // movabsq $36028797027352577, %rcx - LONG $0xd1a30f4c // btq %r10, %rcx - LONG $0x0059830f; WORD $0x0000 // jae LBB15_11, $89(%rip) - -LBB15_12: - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - WORD $0x894d; BYTE $0xda // movq %r11, %r10 - LONG $0xd0470f4c // cmovaq %rax, %r10 - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB15_13: - WORD $0x3949; BYTE $0xc2 // cmpq %rax, %r10 - LONG $0x007f840f; WORD $0x0000 // je LBB15_23, $127(%rip) - LONG $0x3cbe0f49; BYTE $0x01 // movsbq (%r9,%rax), %rdi - WORD $0x5f8d; BYTE $0xd0 // leal $-48(%rdi), %ebx - WORD $0xfb80; BYTE $0x09 // cmpb $9, %bl - LONG $0x0033870f; WORD $0x0000 // ja LBB15_18, $51(%rip) - LONG $0x0ac96b48 // imulq $10, %rcx, %rcx - LONG $0x0013800f; WORD $0x0000 // jo LBB15_17, $19(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0xc783; BYTE $0xd0 // addl $-48, %edi - LONG $0xf8af0f49 // imulq %r8, %rdi - WORD $0x0148; BYTE $0xf9 // addq %rdi, %rcx - LONG $0xffc9810f; WORD $0xffff // jno LBB15_13, $-55(%rip) - -LBB15_17: - WORD $0xff48; BYTE $0xc8 // decq %rax - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xfb02c748; WORD $0xffff; BYTE $0xff // movq $-5, (%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB15_11: - WORD $0x8948; BYTE $0x3e // movq %rdi, (%rsi) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB15_18: - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x002f830f; WORD $0x0000 // jae LBB15_22, $47(%rip) - LONG $0x013c8a41 // movb (%r9,%rax), %dil - LONG $0x2eff8040 // cmpb $46, %dil - LONG $0x0014840f; WORD $0x0000 // je LBB15_25, $20(%rip) - LONG $0x45ff8040 // cmpb $69, %dil - LONG $0x000a840f; WORD $0x0000 // je LBB15_25, $10(%rip) - LONG $0x65ff8040 // cmpb $101, %dil - LONG $0x000d850f; WORD $0x0000 // jne LBB15_22, $13(%rip) - -LBB15_25: - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xfa02c748; WORD $0xffff; BYTE $0xff // movq $-6, (%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB15_22: - WORD $0x8949; BYTE $0xc2 // movq %rax, %r10 - -LBB15_23: - WORD $0x894c; BYTE $0x16 // movq %r10, (%rsi) - LONG $0x104a8948 // movq %rcx, $16(%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_vunsigned: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - WORD $0x8b48; BYTE $0x0e // movq (%rsi), %rcx - WORD $0x8b4c; BYTE $0x0f // movq (%rdi), %r9 - LONG $0x085f8b4c // movq $8(%rdi), %r11 - LONG $0x0902c748; WORD $0x0000; BYTE $0x00 // movq $9, (%rdx) - LONG $0xc057f8c5 // vxorps %xmm0, %xmm0, %xmm0 - LONG $0x4211f8c5; BYTE $0x08 // vmovups %xmm0, $8(%rdx) - WORD $0x8b48; BYTE $0x06 // movq (%rsi), %rax - LONG $0x18428948 // movq %rax, $24(%rdx) - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x0019830f; WORD $0x0000 // jae LBB16_1, $25(%rip) - LONG $0x09048a41 // movb (%r9,%rcx), %al - WORD $0x2d3c // cmpb $45, %al - LONG $0x001a850f; WORD $0x0000 // jne LBB16_4, $26(%rip) - -LBB16_3: - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfa00c749; WORD $0xffff; BYTE $0xff // movq $-6, (%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_1: - WORD $0x894c; BYTE $0x1e // movq %r11, (%rsi) - LONG $0xff00c749; WORD $0xffff; BYTE $0xff // movq $-1, (%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_4: - WORD $0x508d; BYTE $0xd0 // leal $-48(%rax), %edx - WORD $0xfa80; BYTE $0x0a // cmpb $10, %dl - LONG $0x000d820f; WORD $0x0000 // jb LBB16_6, $13(%rip) - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfe00c749; WORD $0xffff; BYTE $0xff // movq $-2, (%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_6: - WORD $0x303c // cmpb $48, %al - LONG $0x0026850f; WORD $0x0000 // jne LBB16_7, $38(%rip) - LONG $0x09448a41; BYTE $0x01 // movb $1(%r9,%rcx), %al - WORD $0xd204 // addb $-46, %al - WORD $0x373c // cmpb $55, %al - LONG $0x00b6870f; WORD $0x0000 // ja LBB16_16, $182(%rip) - WORD $0xb60f; BYTE $0xc0 // movzbl %al, %eax - QUAD $0x000000800001ba48; WORD $0x0080 // movabsq $36028797027352577, %rdx - LONG $0xc2a30f48 // btq %rax, %rdx - LONG $0x009f830f; WORD $0x0000 // jae LBB16_16, $159(%rip) - -LBB16_7: - WORD $0xc031 // xorl %eax, %eax - LONG $0x000aba41; WORD $0x0000 // movl $10, %r10d - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB16_8: - WORD $0x3949; BYTE $0xcb // cmpq %rcx, %r11 - LONG $0x007b840f; WORD $0x0000 // je LBB16_22, $123(%rip) - LONG $0x3cbe0f41; BYTE $0x09 // movsbl (%r9,%rcx), %edi - WORD $0x578d; BYTE $0xd0 // leal $-48(%rdi), %edx - WORD $0xfa80; BYTE $0x09 // cmpb $9, %dl - LONG $0x003f870f; WORD $0x0000 // ja LBB16_17, $63(%rip) - WORD $0xf749; BYTE $0xe2 // mulq %r10 - LONG $0x0026800f; WORD $0x0000 // jo LBB16_13, $38(%rip) - WORD $0xff48; BYTE $0xc1 // incq %rcx - WORD $0xc783; BYTE $0xd0 // addl $-48, %edi - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0x0148; BYTE $0xf8 // addq %rdi, %rax - WORD $0x920f; BYTE $0xc3 // setb %bl - WORD $0x8948; BYTE $0xda // movq %rbx, %rdx - WORD $0xf748; BYTE $0xda // negq %rdx - WORD $0x3148; BYTE $0xd3 // xorq %rdx, %rbx - LONG $0x0009850f; WORD $0x0000 // jne LBB16_13, $9(%rip) - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xffb7890f; WORD $0xffff // jns LBB16_8, $-73(%rip) - -LBB16_13: - WORD $0xff48; BYTE $0xc9 // decq %rcx - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfb00c749; WORD $0xffff; BYTE $0xff // movq $-5, (%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_17: - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x001f830f; WORD $0x0000 // jae LBB16_21, $31(%rip) - LONG $0x09148a41 // movb (%r9,%rcx), %dl - WORD $0xfa80; BYTE $0x2e // cmpb $46, %dl - LONG $0xff1f840f; WORD $0xffff // je LBB16_3, $-225(%rip) - WORD $0xfa80; BYTE $0x45 // cmpb $69, %dl - LONG $0xff16840f; WORD $0xffff // je LBB16_3, $-234(%rip) - WORD $0xfa80; BYTE $0x65 // cmpb $101, %dl - LONG $0xff0d840f; WORD $0xffff // je LBB16_3, $-243(%rip) - -LBB16_21: - WORD $0x8949; BYTE $0xcb // movq %rcx, %r11 - -LBB16_22: - WORD $0x894c; BYTE $0x1e // movq %r11, (%rsi) - LONG $0x10408949 // movq %rax, $16(%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_16: - WORD $0xff48; BYTE $0xc1 // incq %rcx - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI17_0: - QUAD $0x0000000000000001 // .quad 1 - QUAD $0x0000000000000005 // .quad 5 - - // .p2align 4, 0x90 -_skip_array: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - QUAD $0xffffffdb0528f8c5 // vmovaps $-37(%rip), %xmm0 /* LCPI17_0(%rip) */ - LONG $0x0011f8c5 // vmovups %xmm0, (%rax) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - BYTE $0x5d // popq %rbp - LONG $0x00000ee9; BYTE $0x00 // jmp _fsm_exec, $14(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_fsm_exec: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x28ec8348 // subq $40, %rsp - LONG $0xb84d8948 // movq %rcx, $-72(%rbp) - LONG $0x003f8348 // cmpq $0, (%rdi) - LONG $0x0591840f; WORD $0x0000 // je LBB18_76, $1425(%rip) - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - WORD $0x8949; BYTE $0xfc // movq %rdi, %r12 - LONG $0x08468d48 // leaq $8(%rsi), %rax - LONG $0xd0458948 // movq %rax, $-48(%rbp) - LONG $0xffc6c749; WORD $0xffff; BYTE $0xff // movq $-1, %r14 - QUAD $0x000100002600bb49; WORD $0x0000 // movabsq $4294977024, %r11 - LONG $0xc0758948 // movq %rsi, $-64(%rbp) - LONG $0x000029e9; BYTE $0x00 // jmp LBB18_3, $41(%rip) - -LBB18_2: - LONG $0x03488d48 // leaq $3(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x05a98e0f; WORD $0x0000 // jle LBB18_83, $1449(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB18_61: - LONG $0x24148b4d // movq (%r12), %r10 - WORD $0x894d; BYTE $0xf7 // movq %r14, %r15 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0547840f; WORD $0x0000 // je LBB18_77, $1351(%rip) - -LBB18_3: - WORD $0x894d; BYTE $0xf1 // movq %r14, %r9 - WORD $0x8b48; BYTE $0x3e // movq (%rsi), %rdi - LONG $0x084e8b48 // movq $8(%rsi), %rcx - WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0x2948; BYTE $0xca // subq %rcx, %rdx - LONG $0x0037830f; WORD $0x0000 // jae LBB18_8, $55(%rip) - WORD $0x1c8a; BYTE $0x07 // movb (%rdi,%rax), %bl - WORD $0xfb80; BYTE $0x0d // cmpb $13, %bl - LONG $0x002b840f; WORD $0x0000 // je LBB18_8, $43(%rip) - WORD $0xfb80; BYTE $0x20 // cmpb $32, %bl - LONG $0x0022840f; WORD $0x0000 // je LBB18_8, $34(%rip) - WORD $0xc380; BYTE $0xf7 // addb $-9, %bl - WORD $0xfb80; BYTE $0x01 // cmpb $1, %bl - LONG $0x0016860f; WORD $0x0000 // jbe LBB18_8, $22(%rip) - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - LONG $0x000130e9; BYTE $0x00 // jmp LBB18_29, $304(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB18_8: - LONG $0x01708d4c // leaq $1(%rax), %r14 - WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 - LONG $0x0023830f; WORD $0x0000 // jae LBB18_12, $35(%rip) - LONG $0x371c8a42 // movb (%rdi,%r14), %bl - WORD $0xfb80; BYTE $0x0d // cmpb $13, %bl - LONG $0x0016840f; WORD $0x0000 // je LBB18_12, $22(%rip) - WORD $0xfb80; BYTE $0x20 // cmpb $32, %bl - LONG $0x000d840f; WORD $0x0000 // je LBB18_12, $13(%rip) - WORD $0xc380; BYTE $0xf7 // addb $-9, %bl - WORD $0xfb80; BYTE $0x01 // cmpb $1, %bl - LONG $0x00f3870f; WORD $0x0000 // ja LBB18_29, $243(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB18_12: - LONG $0x02708d4c // leaq $2(%rax), %r14 - WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 - LONG $0x0023830f; WORD $0x0000 // jae LBB18_16, $35(%rip) - LONG $0x371c8a42 // movb (%rdi,%r14), %bl - WORD $0xfb80; BYTE $0x0d // cmpb $13, %bl - LONG $0x0016840f; WORD $0x0000 // je LBB18_16, $22(%rip) - WORD $0xfb80; BYTE $0x20 // cmpb $32, %bl - LONG $0x000d840f; WORD $0x0000 // je LBB18_16, $13(%rip) - WORD $0xc380; BYTE $0xf7 // addb $-9, %bl - WORD $0xfb80; BYTE $0x01 // cmpb $1, %bl - LONG $0x00c3870f; WORD $0x0000 // ja LBB18_29, $195(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB18_16: - LONG $0x03708d4c // leaq $3(%rax), %r14 - WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 - LONG $0x0023830f; WORD $0x0000 // jae LBB18_20, $35(%rip) - LONG $0x371c8a42 // movb (%rdi,%r14), %bl - WORD $0xfb80; BYTE $0x0d // cmpb $13, %bl - LONG $0x0016840f; WORD $0x0000 // je LBB18_20, $22(%rip) - WORD $0xfb80; BYTE $0x20 // cmpb $32, %bl - LONG $0x000d840f; WORD $0x0000 // je LBB18_20, $13(%rip) - WORD $0xc380; BYTE $0xf7 // addb $-9, %bl - WORD $0xfb80; BYTE $0x01 // cmpb $1, %bl - LONG $0x0093870f; WORD $0x0000 // ja LBB18_29, $147(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB18_20: - LONG $0x04588d48 // leaq $4(%rax), %rbx - WORD $0x3948; BYTE $0xd9 // cmpq %rbx, %rcx - LONG $0x0450860f; WORD $0x0000 // jbe LBB18_75, $1104(%rip) - WORD $0x3948; BYTE $0xd9 // cmpq %rbx, %rcx - LONG $0x004a840f; WORD $0x0000 // je LBB18_26, $74(%rip) - LONG $0x0f1c8d48 // leaq (%rdi,%rcx), %rbx - LONG $0x04c28348 // addq $4, %rdx - LONG $0x07748d4c; BYTE $0x05 // leaq $5(%rdi,%rax), %r14 - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB18_23: - LONG $0x46be0f41; BYTE $0xff // movsbl $-1(%r14), %eax - WORD $0xf883; BYTE $0x20 // cmpl $32, %eax - LONG $0x0042870f; WORD $0x0000 // ja LBB18_28, $66(%rip) - LONG $0xc3a30f49 // btq %rax, %r11 - LONG $0x0038830f; WORD $0x0000 // jae LBB18_28, $56(%rip) - WORD $0xff49; BYTE $0xc6 // incq %r14 - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0xffdc850f; WORD $0xffff // jne LBB18_23, $-36(%rip) - LONG $0x00000ae9; BYTE $0x00 // jmp LBB18_27, $10(%rip) - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB18_26: - WORD $0x0148; BYTE $0xfb // addq %rdi, %rbx - -LBB18_27: - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - WORD $0x8949; BYTE $0xde // movq %rbx, %r14 - WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 - LONG $0x0020820f; WORD $0x0000 // jb LBB18_29, $32(%rip) - LONG $0x0003e9e9; BYTE $0x00 // jmp LBB18_76, $1001(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB18_28: - WORD $0x8948; BYTE $0xfa // movq %rdi, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x0149; BYTE $0xd6 // addq %rdx, %r14 - WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 - LONG $0x03ce830f; WORD $0x0000 // jae LBB18_76, $974(%rip) - -LBB18_29: - LONG $0x014e8d49 // leaq $1(%r14), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x0cbe0f42; BYTE $0x37 // movsbl (%rdi,%r14), %ecx - LONG $0xffc7c749; WORD $0xffff; BYTE $0xff // movq $-1, %r15 - WORD $0xc985 // testl %ecx, %ecx - LONG $0x03ba840f; WORD $0x0000 // je LBB18_77, $954(%rip) - LONG $0x242c8b4d // movq (%r12), %r13 - LONG $0xff558d4d // leaq $-1(%r13), %r10 - LONG $0xec1c8b43 // movl (%r12,%r13,8), %ebx - LONG $0xfff98349 // cmpq $-1, %r9 - LONG $0xf1450f4d // cmovneq %r9, %r14 - WORD $0xcbff // decl %ebx - WORD $0xfb83; BYTE $0x05 // cmpl $5, %ebx - LONG $0x0037870f; WORD $0x0000 // ja LBB18_35, $55(%rip) - LONG $0xfd158d48; WORD $0x0004; BYTE $0x00 // leaq $1277(%rip), %rdx /* LJTI18_0(%rip) */ - LONG $0x9a046348 // movslq (%rdx,%rbx,4), %rax - WORD $0x0148; BYTE $0xd0 // addq %rdx, %rax - JMP AX - -LBB18_32: - WORD $0xf983; BYTE $0x2c // cmpl $44, %ecx - LONG $0x0199840f; WORD $0x0000 // je LBB18_53, $409(%rip) - WORD $0xf983; BYTE $0x5d // cmpl $93, %ecx - LONG $0x03d6850f; WORD $0x0000 // jne LBB18_85, $982(%rip) - LONG $0x2414894d // movq %r10, (%r12) - WORD $0x894d; BYTE $0xf7 // movq %r14, %r15 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xfe22850f; WORD $0xffff // jne LBB18_3, $-478(%rip) - LONG $0x000364e9; BYTE $0x00 // jmp LBB18_77, $868(%rip) - -LBB18_35: - LONG $0x2414894d // movq %r10, (%r12) - WORD $0xf983; BYTE $0x7b // cmpl $123, %ecx - LONG $0x00f8860f; WORD $0x0000 // jbe LBB18_51, $248(%rip) - LONG $0x0003afe9; BYTE $0x00 // jmp LBB18_85, $943(%rip) - -LBB18_36: - WORD $0xf983; BYTE $0x2c // cmpl $44, %ecx - LONG $0x0183840f; WORD $0x0000 // je LBB18_55, $387(%rip) - WORD $0xf983; BYTE $0x7d // cmpl $125, %ecx - LONG $0x039d850f; WORD $0x0000 // jne LBB18_85, $925(%rip) - LONG $0x2414894d // movq %r10, (%r12) - WORD $0x894d; BYTE $0xf7 // movq %r14, %r15 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xfde9850f; WORD $0xffff // jne LBB18_3, $-535(%rip) - LONG $0x00032be9; BYTE $0x00 // jmp LBB18_77, $811(%rip) - -LBB18_39: - WORD $0xf980; BYTE $0x22 // cmpb $34, %cl - LONG $0x037f850f; WORD $0x0000 // jne LBB18_85, $895(%rip) - QUAD $0x00000004ec04c74b // movq $4, (%r12,%r13,8) - -LBB18_41: - QUAD $0xffffffffc845c748 // movq $-1, $-56(%rbp) - WORD $0x8b4d; BYTE $0x28 // movq (%r8), %r13 - WORD $0x8948; BYTE $0xf7 // movq %rsi, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xc8558d48 // leaq $-56(%rbp), %rdx - LONG $0xb84d8b48 // movq $-72(%rbp), %rcx - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - LONG $0xffee92e8; BYTE $0xff // callq _advance_string, $-4462(%rip) - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x030b880f; WORD $0x0000 // js LBB18_78, $779(%rip) - WORD $0x894c; BYTE $0x3b // movq %r15, (%rbx) - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xc0758b48 // movq $-64(%rbp), %rsi - QUAD $0x000100002600bb49; WORD $0x0000 // movabsq $4294977024, %r11 - LONG $0xfd798f0f; WORD $0xffff // jg LBB18_61, $-647(%rip) - LONG $0x000301e9; BYTE $0x00 // jmp LBB18_79, $769(%rip) - -LBB18_43: - WORD $0xf980; BYTE $0x3a // cmpb $58, %cl - LONG $0x031f850f; WORD $0x0000 // jne LBB18_85, $799(%rip) - QUAD $0x00000000ec04c74b // movq $0, (%r12,%r13,8) - LONG $0xfffd5ee9; BYTE $0xff // jmp LBB18_61, $-674(%rip) - -LBB18_45: - WORD $0xf980; BYTE $0x5d // cmpb $93, %cl - LONG $0x003c850f; WORD $0x0000 // jne LBB18_50, $60(%rip) - LONG $0x2414894d // movq %r10, (%r12) - WORD $0x894d; BYTE $0xf7 // movq %r14, %r15 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xfd55850f; WORD $0xffff // jne LBB18_3, $-683(%rip) - LONG $0x000297e9; BYTE $0x00 // jmp LBB18_77, $663(%rip) - -LBB18_47: - WORD $0xf983; BYTE $0x22 // cmpl $34, %ecx - LONG $0x00eb840f; WORD $0x0000 // je LBB18_57, $235(%rip) - WORD $0xf983; BYTE $0x7d // cmpl $125, %ecx - LONG $0x02e2850f; WORD $0x0000 // jne LBB18_85, $738(%rip) - LONG $0x2414894d // movq %r10, (%r12) - WORD $0x894d; BYTE $0xf7 // movq %r14, %r15 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xfd2e850f; WORD $0xffff // jne LBB18_3, $-722(%rip) - LONG $0x000270e9; BYTE $0x00 // jmp LBB18_77, $624(%rip) - -LBB18_50: - QUAD $0x00000001ec04c74b // movq $1, (%r12,%r13,8) - WORD $0xf983; BYTE $0x7b // cmpl $123, %ecx - LONG $0x02bc870f; WORD $0x0000 // ja LBB18_85, $700(%rip) - -LBB18_51: - WORD $0xc889 // movl %ecx, %eax - LONG $0xd70d8d48; WORD $0x0003; BYTE $0x00 // leaq $983(%rip), %rcx /* LJTI18_1(%rip) */ - LONG $0x81046348 // movslq (%rcx,%rax,4), %rax - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - JMP AX - -LBB18_52: - WORD $0x8b49; BYTE $0x18 // movq (%r8), %rbx - LONG $0xff7b8d4c // leaq $-1(%rbx), %r15 - LONG $0x1f7c8d48; BYTE $0xff // leaq $-1(%rdi,%rbx), %rdi - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x8b48; BYTE $0x30 // movq (%rax), %rsi - WORD $0x294c; BYTE $0xfe // subq %r15, %rsi - WORD $0x894d; BYTE $0xc5 // movq %r8, %r13 - LONG $0x000728e8; BYTE $0x00 // callq _do_skip_number, $1832(%rip) - QUAD $0x000100002600bb49; WORD $0x0000 // movabsq $4294977024, %r11 - LONG $0xc0758b48 // movq $-64(%rbp), %rsi - WORD $0x894d; BYTE $0xe8 // movq %r13, %r8 - LONG $0xff488d48 // leaq $-1(%rax), %rcx - LONG $0xfec2c748; WORD $0xffff; BYTE $0xff // movq $-2, %rdx - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xd1490f48 // cmovnsq %rcx, %rdx - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xf8480f4c // cmovsq %rax, %r15 - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0xfc97890f; WORD $0xffff // jns LBB18_61, $-873(%rip) - LONG $0x0001e9e9; BYTE $0x00 // jmp LBB18_77, $489(%rip) - -LBB18_53: - LONG $0xfffd8149; WORD $0x000f; BYTE $0x00 // cmpq $4095, %r13 - LONG $0x01ee8f0f; WORD $0x0000 // jg LBB18_80, $494(%rip) - LONG $0x01458d49 // leaq $1(%r13), %rax - LONG $0x24048949 // movq %rax, (%r12) - QUAD $0x00000008ec44c74b; BYTE $0x00 // movq $0, $8(%r12,%r13,8) - LONG $0xfffc6fe9; BYTE $0xff // jmp LBB18_61, $-913(%rip) - -LBB18_55: - LONG $0xfffd8149; WORD $0x000f; BYTE $0x00 // cmpq $4095, %r13 - LONG $0x01cb8f0f; WORD $0x0000 // jg LBB18_80, $459(%rip) - LONG $0x01458d49 // leaq $1(%r13), %rax - LONG $0x24048949 // movq %rax, (%r12) - QUAD $0x00000308ec44c74b; BYTE $0x00 // movq $3, $8(%r12,%r13,8) - LONG $0xfffc4ce9; BYTE $0xff // jmp LBB18_61, $-948(%rip) - -LBB18_57: - QUAD $0x00000002ec04c74b // movq $2, (%r12,%r13,8) - QUAD $0xffffffffc845c748 // movq $-1, $-56(%rbp) - WORD $0x8b4d; BYTE $0x28 // movq (%r8), %r13 - WORD $0x8948; BYTE $0xf7 // movq %rsi, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xc8558d48 // leaq $-56(%rbp), %rdx - LONG $0xb84d8b48 // movq $-72(%rbp), %rcx - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - LONG $0xffed13e8; BYTE $0xff // callq _advance_string, $-4845(%rip) - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x018c880f; WORD $0x0000 // js LBB18_78, $396(%rip) - WORD $0x894c; BYTE $0x3b // movq %r15, (%rbx) - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - LONG $0x01988e0f; WORD $0x0000 // jle LBB18_79, $408(%rip) - LONG $0x24048b49 // movq (%r12), %rax - LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x01648f0f; WORD $0x0000 // jg LBB18_80, $356(%rip) - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x240c8949 // movq %rcx, (%r12) - QUAD $0x00000408c444c749; BYTE $0x00 // movq $4, $8(%r12,%rax,8) - LONG $0xc0758b48 // movq $-64(%rbp), %rsi - QUAD $0x000100002600bb49; WORD $0x0000 // movabsq $4294977024, %r11 - LONG $0xfffbd4e9; BYTE $0xff // jmp LBB18_61, $-1068(%rip) - -LBB18_62: - WORD $0x8b4d; BYTE $0x38 // movq (%r8), %r15 - WORD $0x014c; BYTE $0xff // addq %r15, %rdi - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x8b48; BYTE $0x30 // movq (%rax), %rsi - WORD $0x294c; BYTE $0xfe // subq %r15, %rsi - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - LONG $0x00060ce8; BYTE $0x00 // callq _do_skip_number, $1548(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x015e880f; WORD $0x0000 // js LBB18_84, $350(%rip) - WORD $0x014c; BYTE $0xf8 // addq %r15, %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xc0758b48 // movq $-64(%rbp), %rsi - QUAD $0x000100002600bb49; WORD $0x0000 // movabsq $4294977024, %r11 - LONG $0xfb938f0f; WORD $0xffff // jg LBB18_61, $-1133(%rip) - LONG $0x00014ee9; BYTE $0x00 // jmp LBB18_91, $334(%rip) - -LBB18_64: - LONG $0x24048b49 // movq (%r12), %rax - LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x00e78f0f; WORD $0x0000 // jg LBB18_80, $231(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x240c8949 // movq %rcx, (%r12) - QUAD $0x00000508c444c749; BYTE $0x00 // movq $5, $8(%r12,%rax,8) - LONG $0xfffb68e9; BYTE $0xff // jmp LBB18_61, $-1176(%rip) - -LBB18_66: - WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - LONG $0xfc518d48 // leaq $-4(%rcx), %rdx - WORD $0x3948; BYTE $0xd0 // cmpq %rdx, %rax - LONG $0x00e9870f; WORD $0x0000 // ja LBB18_88, $233(%rip) - WORD $0x0c8b; BYTE $0x07 // movl (%rdi,%rax), %ecx - LONG $0x6c61f981; WORD $0x6573 // cmpl $1702063201, %ecx - LONG $0x010a850f; WORD $0x0000 // jne LBB18_92, $266(%rip) - LONG $0x04488d48 // leaq $4(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xfb328f0f; WORD $0xffff // jg LBB18_61, $-1230(%rip) - LONG $0x0000cde9; BYTE $0x00 // jmp LBB18_83, $205(%rip) - -LBB18_69: - WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - LONG $0xfd518d48 // leaq $-3(%rcx), %rdx - WORD $0x3948; BYTE $0xd0 // cmpq %rdx, %rax - LONG $0x00ae870f; WORD $0x0000 // ja LBB18_88, $174(%rip) - QUAD $0x6c6c756eff077c81 // cmpl $1819047278, $-1(%rdi,%rax) - LONG $0xfaef840f; WORD $0xffff // je LBB18_2, $-1297(%rip) - LONG $0x00011de9; BYTE $0x00 // jmp LBB18_97, $285(%rip) - -LBB18_71: - WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - LONG $0xfd518d48 // leaq $-3(%rcx), %rdx - WORD $0x3948; BYTE $0xd0 // cmpq %rdx, %rax - LONG $0x0084870f; WORD $0x0000 // ja LBB18_88, $132(%rip) - QUAD $0x65757274ff077c81 // cmpl $1702195828, $-1(%rdi,%rax) - LONG $0xfac5840f; WORD $0xffff // je LBB18_2, $-1339(%rip) - LONG $0x000142e9; BYTE $0x00 // jmp LBB18_101, $322(%rip) - -LBB18_73: - LONG $0x24048b49 // movq (%r12), %rax - LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x00328f0f; WORD $0x0000 // jg LBB18_80, $50(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x240c8949 // movq %rcx, (%r12) - QUAD $0x00000608c444c749; BYTE $0x00 // movq $6, $8(%r12,%rax,8) - LONG $0xfffab3e9; BYTE $0xff // jmp LBB18_61, $-1357(%rip) - -LBB18_75: - WORD $0x8949; BYTE $0x18 // movq %rbx, (%r8) - -LBB18_76: - LONG $0xffc7c749; WORD $0xffff; BYTE $0xff // movq $-1, %r15 - -LBB18_77: - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - LONG $0x28c48348 // addq $40, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB18_80: - LONG $0xf9c7c749; WORD $0xffff; BYTE $0xff // movq $-7, %r15 - LONG $0xffffe2e9; BYTE $0xff // jmp LBB18_77, $-30(%rip) - -LBB18_78: - LONG $0xffff8349 // cmpq $-1, %r15 - LONG $0xc8458d48 // leaq $-56(%rbp), %rax - LONG $0x45440f48; BYTE $0xd0 // cmoveq $-48(%rbp), %rax - WORD $0x8b48; BYTE $0x00 // movq (%rax), %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0xffffcae9; BYTE $0xff // jmp LBB18_77, $-54(%rip) - -LBB18_79: - WORD $0xff49; BYTE $0xcd // decq %r13 - WORD $0x894d; BYTE $0xef // movq %r13, %r15 - LONG $0xffffbfe9; BYTE $0xff // jmp LBB18_77, $-65(%rip) - -LBB18_88: - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0xffffb7e9; BYTE $0xff // jmp LBB18_77, $-73(%rip) - -LBB18_83: - WORD $0xff48; BYTE $0xc8 // decq %rax - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - LONG $0xfffface9; BYTE $0xff // jmp LBB18_77, $-84(%rip) - -LBB18_84: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 - WORD $0x894c; BYTE $0x3b // movq %r15, (%rbx) - -LBB18_85: - LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - LONG $0xffff97e9; BYTE $0xff // jmp LBB18_77, $-105(%rip) - -LBB18_91: - WORD $0xff49; BYTE $0xcf // decq %r15 - LONG $0xffff8fe9; BYTE $0xff // jmp LBB18_77, $-113(%rip) - -LBB18_92: - LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - WORD $0xf980; BYTE $0x61 // cmpb $97, %cl - LONG $0xff7f850f; WORD $0xffff // jne LBB18_77, $-129(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x01077c80; BYTE $0x6c // cmpb $108, $1(%rdi,%rax) - LONG $0xff6d850f; WORD $0xffff // jne LBB18_77, $-147(%rip) - LONG $0x02488d48 // leaq $2(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x02077c80; BYTE $0x73 // cmpb $115, $2(%rdi,%rax) - LONG $0xff5b850f; WORD $0xffff // jne LBB18_77, $-165(%rip) - LONG $0x03488d48 // leaq $3(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x03077c80; BYTE $0x65 // cmpb $101, $3(%rdi,%rax) - LONG $0xff49850f; WORD $0xffff // jne LBB18_77, $-183(%rip) - LONG $0x04c08348 // addq $4, %rax - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0xffff3de9; BYTE $0xff // jmp LBB18_77, $-195(%rip) - -LBB18_97: - LONG $0xff488d48 // leaq $-1(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - LONG $0xff077c80; BYTE $0x6e // cmpb $110, $-1(%rdi,%rax) - LONG $0xff24850f; WORD $0xffff // jne LBB18_77, $-220(%rip) - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0x75073c80 // cmpb $117, (%rdi,%rax) - LONG $0xff17850f; WORD $0xffff // jne LBB18_77, $-233(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x01077c80; BYTE $0x6c // cmpb $108, $1(%rdi,%rax) - LONG $0xff05850f; WORD $0xffff // jne LBB18_77, $-251(%rip) - LONG $0x02488d48 // leaq $2(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x02077c80; BYTE $0x6c // cmpb $108, $2(%rdi,%rax) - LONG $0xfef3850f; WORD $0xffff // jne LBB18_77, $-269(%rip) - LONG $0x00004ae9; BYTE $0x00 // jmp LBB18_105, $74(%rip) - -LBB18_101: - LONG $0xff488d48 // leaq $-1(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - LONG $0xff077c80; BYTE $0x74 // cmpb $116, $-1(%rdi,%rax) - LONG $0xfed5850f; WORD $0xffff // jne LBB18_77, $-299(%rip) - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0x72073c80 // cmpb $114, (%rdi,%rax) - LONG $0xfec8850f; WORD $0xffff // jne LBB18_77, $-312(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x01077c80; BYTE $0x75 // cmpb $117, $1(%rdi,%rax) - LONG $0xfeb6850f; WORD $0xffff // jne LBB18_77, $-330(%rip) - LONG $0x02488d48 // leaq $2(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x02077c80; BYTE $0x65 // cmpb $101, $2(%rdi,%rax) - LONG $0xfea4850f; WORD $0xffff // jne LBB18_77, $-348(%rip) - -LBB18_105: - LONG $0x03c08348 // addq $3, %rax - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0xfffe98e9; BYTE $0xff // jmp LBB18_77, $-360(%rip) - BYTE $0x90 // .p2align 2, 0x90 - - // .set L18_0_set_32, LBB18_32-LJTI18_0 - // .set L18_0_set_36, LBB18_36-LJTI18_0 - // .set L18_0_set_39, LBB18_39-LJTI18_0 - // .set L18_0_set_43, LBB18_43-LJTI18_0 - // .set L18_0_set_45, LBB18_45-LJTI18_0 - // .set L18_0_set_47, LBB18_47-LJTI18_0 -LJTI18_0: - LONG $0xfffffb0c // .long L18_0_set_32 - LONG $0xfffffb45 // .long L18_0_set_36 - LONG $0xfffffb6c // .long L18_0_set_39 - LONG $0xfffffbcc // .long L18_0_set_43 - LONG $0xfffffbe2 // .long L18_0_set_45 - LONG $0xfffffc00 // .long L18_0_set_47 - - // .set L18_1_set_77, LBB18_77-LJTI18_1 - // .set L18_1_set_85, LBB18_85-LJTI18_1 - // .set L18_1_set_41, LBB18_41-LJTI18_1 - // .set L18_1_set_62, LBB18_62-LJTI18_1 - // .set L18_1_set_52, LBB18_52-LJTI18_1 - // .set L18_1_set_64, LBB18_64-LJTI18_1 - // .set L18_1_set_66, LBB18_66-LJTI18_1 - // .set L18_1_set_69, LBB18_69-LJTI18_1 - // .set L18_1_set_71, LBB18_71-LJTI18_1 - // .set L18_1_set_73, LBB18_73-LJTI18_1 -LJTI18_1: - LONG $0xfffffe7f // .long L18_1_set_77 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffb65 // .long L18_1_set_41 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffd54 // .long L18_1_set_62 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffd9a // .long L18_1_set_64 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffdc0 // .long L18_1_set_66 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffdfb // .long L18_1_set_69 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffe25 // .long L18_1_set_71 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffe4f // .long L18_1_set_73 - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -LCPI19_0: - QUAD $0x0000000000000001 // .quad 1 - QUAD $0x0000000000000006 // .quad 6 - - // .p2align 4, 0x90 -_skip_object: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - QUAD $0xffffffdb0528f8c5 // vmovaps $-37(%rip), %xmm0 /* LCPI19_0(%rip) */ - LONG $0x0011f8c5 // vmovups %xmm0, (%rax) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - BYTE $0x5d // popq %rbp - LONG $0xfff69ee9; BYTE $0xff // jmp _fsm_exec, $-2402(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_skip_string: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x10ec8348 // subq $16, %rsp - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - QUAD $0xffffffffd845c748 // movq $-1, $-40(%rbp) - WORD $0x8b48; BYTE $0x1e // movq (%rsi), %rbx - LONG $0xd8658d4c // leaq $-40(%rbp), %r12 - WORD $0x8948; BYTE $0xde // movq %rbx, %rsi - WORD $0x894c; BYTE $0xe2 // movq %r12, %rdx - LONG $0xffe7aee8; BYTE $0xff // callq _advance_string, $-6226(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x000e880f; WORD $0x0000 // js LBB20_1, $14(%rip) - WORD $0xff48; BYTE $0xcb // decq %rbx - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - LONG $0x000010e9; BYTE $0x00 // jmp LBB20_3, $16(%rip) - -LBB20_1: - LONG $0x08c78349 // addq $8, %r15 - LONG $0xfff88348 // cmpq $-1, %rax - LONG $0xe7440f4d // cmoveq %r15, %r12 - LONG $0x240c8b49 // movq (%r12), %rcx - -LBB20_3: - WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) - LONG $0x10c48348 // addq $16, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_skip_negative: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8b48; BYTE $0x1e // movq (%rsi), %rbx - WORD $0x8b48; BYTE $0x07 // movq (%rdi), %rax - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - LONG $0x08778b48 // movq $8(%rdi), %rsi - WORD $0x2948; BYTE $0xde // subq %rbx, %rsi - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0x0000aee8; BYTE $0x00 // callq _do_skip_number, $174(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x000e880f; WORD $0x0000 // js LBB21_1, $14(%rip) - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - WORD $0xff48; BYTE $0xcb // decq %rbx - LONG $0x000010e9; BYTE $0x00 // jmp LBB21_3, $16(%rip) - -LBB21_1: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - WORD $0x8949; BYTE $0x1e // movq %rbx, (%r14) - LONG $0xfec3c748; WORD $0xffff; BYTE $0xff // movq $-2, %rbx - -LBB21_3: - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI22_0: - QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' - -LCPI22_1: - QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' - -LCPI22_2: - QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' - -LCPI22_3: - QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' - -LCPI22_4: - QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' - -LCPI22_5: - QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' - -LCPI22_6: - QUAD $0x4545454545454545; QUAD $0x4545454545454545 // .space 16, 'EEEEEEEEEEEEEEEE' - - // .p2align 4, 0x90 -_do_skip_number: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0248840f; WORD $0x0000 // je LBB22_34, $584(%rip) - WORD $0x3f80; BYTE $0x30 // cmpb $48, (%rdi) - LONG $0x0033850f; WORD $0x0000 // jne LBB22_5, $51(%rip) - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0x01fe8348 // cmpq $1, %rsi - LONG $0x0301840f; WORD $0x0000 // je LBB22_52, $769(%rip) - WORD $0x478a; BYTE $0x01 // movb $1(%rdi), %al - WORD $0xd204 // addb $-46, %al - WORD $0x373c // cmpb $55, %al - LONG $0x02f4870f; WORD $0x0000 // ja LBB22_52, $756(%rip) - WORD $0xb60f; BYTE $0xc0 // movzbl %al, %eax - QUAD $0x000000800001b948; WORD $0x0080 // movabsq $36028797027352577, %rcx - LONG $0xc1a30f48 // btq %rax, %rcx - LONG $0x02dd830f; WORD $0x0000 // jae LBB22_52, $733(%rip) - -LBB22_5: - LONG $0x10fe8348 // cmpq $16, %rsi - LONG $0x02fd820f; WORD $0x0000 // jb LBB22_57, $765(%rip) - LONG $0xffc1c749; WORD $0xffff; BYTE $0xff // movq $-1, %r9 - QUAD $0xffffff29056f79c5 // vmovdqa $-215(%rip), %xmm8 /* LCPI22_0(%rip) */ - QUAD $0xffffff310d6f79c5 // vmovdqa $-207(%rip), %xmm9 /* LCPI22_1(%rip) */ - QUAD $0xffffff39156f79c5 // vmovdqa $-199(%rip), %xmm10 /* LCPI22_2(%rip) */ - QUAD $0xffffff411d6f79c5 // vmovdqa $-191(%rip), %xmm11 /* LCPI22_3(%rip) */ - QUAD $0xffffff49256ff9c5 // vmovdqa $-183(%rip), %xmm4 /* LCPI22_4(%rip) */ - QUAD $0xffffff512d6ff9c5 // vmovdqa $-175(%rip), %xmm5 /* LCPI22_5(%rip) */ - QUAD $0xffffff59356ff9c5 // vmovdqa $-167(%rip), %xmm6 /* LCPI22_6(%rip) */ - LONG $0xffffbb41; WORD $0xffff // movl $4294967295, %r11d - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffc0c749; WORD $0xffff; BYTE $0xff // movq $-1, %r8 - WORD $0x8949; BYTE $0xfa // movq %rdi, %r10 - WORD $0x9090 // .p2align 4, 0x90 - -LBB22_7: - LONG $0x6f7ac1c4; BYTE $0x3a // vmovdqu (%r10), %xmm7 - LONG $0x6441c1c4; BYTE $0xc0 // vpcmpgtb %xmm8, %xmm7, %xmm0 - LONG $0xcf64b1c5 // vpcmpgtb %xmm7, %xmm9, %xmm1 - LONG $0xc1dbf9c5 // vpand %xmm1, %xmm0, %xmm0 - LONG $0xcf74a9c5 // vpcmpeqb %xmm7, %xmm10, %xmm1 - LONG $0xd774a1c5 // vpcmpeqb %xmm7, %xmm11, %xmm2 - LONG $0xc9ebe9c5 // vpor %xmm1, %xmm2, %xmm1 - LONG $0xd4dbc1c5 // vpand %xmm4, %xmm7, %xmm2 - LONG $0xd674e9c5 // vpcmpeqb %xmm6, %xmm2, %xmm2 - LONG $0xfd74c1c5 // vpcmpeqb %xmm5, %xmm7, %xmm7 - LONG $0xdfebe9c5 // vpor %xmm7, %xmm2, %xmm3 - LONG $0xc0ebf1c5 // vpor %xmm0, %xmm1, %xmm0 - LONG $0xc0ebe1c5 // vpor %xmm0, %xmm3, %xmm0 - LONG $0xd7d7f9c5 // vpmovmskb %xmm7, %edx - LONG $0xfad779c5 // vpmovmskb %xmm2, %r15d - LONG $0xf1d779c5 // vpmovmskb %xmm1, %r14d - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - WORD $0x314c; BYTE $0xd9 // xorq %r11, %rcx - LONG $0xc9bc0f48 // bsfq %rcx, %rcx - WORD $0xf983; BYTE $0x10 // cmpl $16, %ecx - LONG $0x0014840f; WORD $0x0000 // je LBB22_9, $20(%rip) - LONG $0xffffffbb; BYTE $0xff // movl $-1, %ebx - WORD $0xe3d3 // shll %cl, %ebx - WORD $0xd3f7 // notl %ebx - WORD $0xda21 // andl %ebx, %edx - WORD $0x2141; BYTE $0xdf // andl %ebx, %r15d - WORD $0x2144; BYTE $0xf3 // andl %r14d, %ebx - WORD $0x8941; BYTE $0xde // movl %ebx, %r14d - -LBB22_9: - WORD $0x5a8d; BYTE $0xff // leal $-1(%rdx), %ebx - WORD $0xd321 // andl %edx, %ebx - LONG $0x01fa850f; WORD $0x0000 // jne LBB22_50, $506(%rip) - LONG $0xff5f8d41 // leal $-1(%r15), %ebx - WORD $0x2144; BYTE $0xfb // andl %r15d, %ebx - LONG $0x01ed850f; WORD $0x0000 // jne LBB22_50, $493(%rip) - LONG $0xff5e8d41 // leal $-1(%r14), %ebx - WORD $0x2144; BYTE $0xf3 // andl %r14d, %ebx - LONG $0x01e0850f; WORD $0x0000 // jne LBB22_50, $480(%rip) - WORD $0xd285 // testl %edx, %edx - LONG $0x0019840f; WORD $0x0000 // je LBB22_15, $25(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - WORD $0xbc0f; BYTE $0xd2 // bsfl %edx, %edx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0xfff88349 // cmpq $-1, %r8 - LONG $0x01cb850f; WORD $0x0000 // jne LBB22_51, $459(%rip) - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - -LBB22_15: - WORD $0x8545; BYTE $0xff // testl %r15d, %r15d - LONG $0x001a840f; WORD $0x0000 // je LBB22_18, $26(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - LONG $0xd7bc0f41 // bsfl %r15d, %edx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0xfff88348 // cmpq $-1, %rax - LONG $0x01a8850f; WORD $0x0000 // jne LBB22_51, $424(%rip) - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB22_18: - WORD $0x8545; BYTE $0xf6 // testl %r14d, %r14d - LONG $0x001a840f; WORD $0x0000 // je LBB22_21, $26(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - LONG $0xd6bc0f41 // bsfl %r14d, %edx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0xfff98349 // cmpq $-1, %r9 - LONG $0x0185850f; WORD $0x0000 // jne LBB22_51, $389(%rip) - WORD $0x8949; BYTE $0xd1 // movq %rdx, %r9 - -LBB22_21: - WORD $0xf983; BYTE $0x10 // cmpl $16, %ecx - LONG $0x00b7850f; WORD $0x0000 // jne LBB22_35, $183(%rip) - LONG $0x10c28349 // addq $16, %r10 - LONG $0xf0c68348 // addq $-16, %rsi - LONG $0x0ffe8348 // cmpq $15, %rsi - LONG $0xfeef870f; WORD $0xffff // ja LBB22_7, $-273(%rip) - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x009f840f; WORD $0x0000 // je LBB22_36, $159(%rip) - -LBB22_24: - LONG $0x321c8d4d // leaq (%r10,%rsi), %r11 - LONG $0x9f1d8d48; WORD $0x0001; BYTE $0x00 // leaq $415(%rip), %rbx /* LJTI22_0(%rip) */ - LONG $0x000012e9; BYTE $0x00 // jmp LBB22_26, $18(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB22_25: - WORD $0x8949; BYTE $0xca // movq %rcx, %r10 - WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x0149840f; WORD $0x0000 // je LBB22_54, $329(%rip) - -LBB22_26: - LONG $0x12be0f41 // movsbl (%r10), %edx - WORD $0xc283; BYTE $0xd5 // addl $-43, %edx - WORD $0xfa83; BYTE $0x3a // cmpl $58, %edx - LONG $0x006d870f; WORD $0x0000 // ja LBB22_36, $109(%rip) - LONG $0x014a8d49 // leaq $1(%r10), %rcx - LONG $0x93146348 // movslq (%rbx,%rdx,4), %rdx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - JMP DX - -LBB22_28: - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0xfff98349 // cmpq $-1, %r9 - LONG $0x0134850f; WORD $0x0000 // jne LBB22_58, $308(%rip) - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0x8949; BYTE $0xd1 // movq %rdx, %r9 - LONG $0xffffbce9; BYTE $0xff // jmp LBB22_25, $-68(%rip) - -LBB22_30: - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0xfff88348 // cmpq $-1, %rax - LONG $0x0119850f; WORD $0x0000 // jne LBB22_58, $281(%rip) - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0xffffa1e9; BYTE $0xff // jmp LBB22_25, $-95(%rip) - -LBB22_32: - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0xfff88349 // cmpq $-1, %r8 - LONG $0x00fe850f; WORD $0x0000 // jne LBB22_58, $254(%rip) - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - LONG $0xffff86e9; BYTE $0xff // jmp LBB22_25, $-122(%rip) - -LBB22_34: - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x0000c8e9; BYTE $0x00 // jmp LBB22_53, $200(%rip) - -LBB22_35: - WORD $0x0149; BYTE $0xca // addq %rcx, %r10 - -LBB22_36: - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x00b2840f; WORD $0x0000 // je LBB22_52, $178(%rip) - -LBB22_37: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00a9840f; WORD $0x0000 // je LBB22_52, $169(%rip) - WORD $0x854d; BYTE $0xc0 // testq %r8, %r8 - LONG $0x00a0840f; WORD $0x0000 // je LBB22_52, $160(%rip) - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - LONG $0xff4a8d49 // leaq $-1(%r10), %rcx - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0x0036840f; WORD $0x0000 // je LBB22_45, $54(%rip) - WORD $0x3949; BYTE $0xc8 // cmpq %rcx, %r8 - LONG $0x002d840f; WORD $0x0000 // je LBB22_45, $45(%rip) - WORD $0x3949; BYTE $0xc9 // cmpq %rcx, %r9 - LONG $0x0024840f; WORD $0x0000 // je LBB22_45, $36(%rip) - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00298e0f; WORD $0x0000 // jle LBB22_46, $41(%rip) - LONG $0xff498d49 // leaq $-1(%r9), %rcx - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0x001c840f; WORD $0x0000 // je LBB22_46, $28(%rip) - WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - LONG $0x00005de9; BYTE $0x00 // jmp LBB22_53, $93(%rip) - -LBB22_45: - WORD $0xf749; BYTE $0xda // negq %r10 - WORD $0x894c; BYTE $0xd2 // movq %r10, %rdx - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - LONG $0x00004fe9; BYTE $0x00 // jmp LBB22_53, $79(%rip) - -LBB22_46: - WORD $0x894c; BYTE $0xc1 // movq %r8, %rcx - WORD $0x0948; BYTE $0xc1 // orq %rax, %rcx - WORD $0x3949; BYTE $0xc0 // cmpq %rax, %r8 - LONG $0x00178c0f; WORD $0x0000 // jl LBB22_49, $23(%rip) - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x000e880f; WORD $0x0000 // js LBB22_49, $14(%rip) - WORD $0xf749; BYTE $0xd0 // notq %r8 - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0x000029e9; BYTE $0x00 // jmp LBB22_53, $41(%rip) - -LBB22_49: - LONG $0xff508d48 // leaq $-1(%rax), %rdx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - WORD $0xf748; BYTE $0xd0 // notq %rax - LONG $0xc2480f49 // cmovsq %r10, %rax - WORD $0x3949; BYTE $0xd0 // cmpq %rdx, %r8 - LONG $0xc2450f49 // cmovneq %r10, %rax - LONG $0x00000fe9; BYTE $0x00 // jmp LBB22_53, $15(%rip) - -LBB22_50: - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - WORD $0xbc0f; BYTE $0xd3 // bsfl %ebx, %edx - WORD $0x014c; BYTE $0xd2 // addq %r10, %rdx - -LBB22_51: - WORD $0xf748; BYTE $0xd2 // notq %rdx - -LBB22_52: - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB22_53: - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB22_54: - WORD $0x894d; BYTE $0xda // movq %r11, %r10 - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xff31850f; WORD $0xffff // jne LBB22_37, $-207(%rip) - LONG $0xffffdee9; BYTE $0xff // jmp LBB22_52, $-34(%rip) - -LBB22_58: - WORD $0xf748; BYTE $0xda // negq %rdx - LONG $0xffffd6e9; BYTE $0xff // jmp LBB22_52, $-42(%rip) - -LBB22_57: - LONG $0xffc0c749; WORD $0xffff; BYTE $0xff // movq $-1, %r8 - WORD $0x8949; BYTE $0xfa // movq %rdi, %r10 - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffc1c749; WORD $0xffff; BYTE $0xff // movq $-1, %r9 - LONG $0xfffe58e9; BYTE $0xff // jmp LBB22_24, $-424(%rip) - WORD $0x9090 // .p2align 2, 0x90 - - // .set L22_0_set_28, LBB22_28-LJTI22_0 - // .set L22_0_set_36, LBB22_36-LJTI22_0 - // .set L22_0_set_32, LBB22_32-LJTI22_0 - // .set L22_0_set_25, LBB22_25-LJTI22_0 - // .set L22_0_set_30, LBB22_30-LJTI22_0 -LJTI22_0: - LONG $0xfffffe95 // .long L22_0_set_28 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffe95 // .long L22_0_set_28 - LONG $0xfffffecb // .long L22_0_set_32 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffeb0 // .long L22_0_set_30 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffeb0 // .long L22_0_set_30 - - // .p2align 4, 0x90 -_skip_positive: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8b4c; BYTE $0x3e // movq (%rsi), %r15 - LONG $0xff5f8d49 // leaq $-1(%r15), %rbx - WORD $0x8b48; BYTE $0x07 // movq (%rdi), %rax - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - LONG $0x08778b48 // movq $8(%rdi), %rsi - WORD $0x2948; BYTE $0xde // subq %rbx, %rsi - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0xfffb77e8; BYTE $0xff // callq _do_skip_number, $-1161(%rip) - LONG $0xff508d48 // leaq $-1(%rax), %rdx - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - LONG $0xfec6c748; WORD $0xffff; BYTE $0xff // movq $-2, %rsi - WORD $0x2948; BYTE $0xc6 // subq %rax, %rsi - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xf2490f48 // cmovnsq %rdx, %rsi - LONG $0xcb490f48 // cmovnsq %rbx, %rcx - WORD $0x014c; BYTE $0xfe // addq %r15, %rsi - WORD $0x8949; BYTE $0x36 // movq %rsi, (%r14) - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_skip_number: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8b4c; BYTE $0x27 // movq (%rdi), %r12 - LONG $0x08778b48 // movq $8(%rdi), %rsi - WORD $0x8b4d; BYTE $0x3e // movq (%r14), %r15 - WORD $0xc031 // xorl %eax, %eax - LONG $0x3c3c8043; BYTE $0x2d // cmpb $45, (%r12,%r15) - LONG $0x3c1c8d4b // leaq (%r12,%r15), %rbx - WORD $0x940f; BYTE $0xc0 // sete %al - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - WORD $0x2948; BYTE $0xc6 // subq %rax, %rsi - LONG $0x003b840f; WORD $0x0000 // je LBB24_6, $59(%rip) - WORD $0x3949; BYTE $0xf7 // cmpq %rsi, %r15 - LONG $0x000c830f; WORD $0x0000 // jae LBB24_3, $12(%rip) - WORD $0x038a // movb (%rbx), %al - WORD $0xd004 // addb $-48, %al - WORD $0x093c // cmpb $9, %al - LONG $0x0038870f; WORD $0x0000 // ja LBB24_8, $56(%rip) - -LBB24_3: - WORD $0x8948; BYTE $0xdf // movq %rbx, %rdi - LONG $0xfffaf1e8; BYTE $0xff // callq _do_skip_number, $-1295(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0021880f; WORD $0x0000 // js LBB24_7, $33(%rip) - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - -LBB24_5: - WORD $0x294c; BYTE $0xe3 // subq %r12, %rbx - WORD $0x8949; BYTE $0x1e // movq %rbx, (%r14) - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB24_6: - LONG $0xffc7c749; WORD $0xffff; BYTE $0xff // movq $-1, %r15 - LONG $0xffffe2e9; BYTE $0xff // jmp LBB24_5, $-30(%rip) - -LBB24_7: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - -LBB24_8: - LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - LONG $0xffffd0e9; BYTE $0xff // jmp LBB24_5, $-48(%rip) - LONG $0x00000000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI25_0: - LONG $0x00000001 // .long 1 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - - // .p2align 4, 0x90 -_skip_one: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - QUAD $0xffffffdb0528f8c5 // vmovaps $-37(%rip), %xmm0 /* LCPI25_0(%rip) */ - LONG $0x0011f8c5 // vmovups %xmm0, (%rax) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - BYTE $0x5d // popq %rbp - LONG $0xffefcee9; BYTE $0xff // jmp _fsm_exec, $-4146(%rip) - QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000 // .p2align 4, 0x00 - -LCPI26_0: - LONG $0x00000001 // .long 1 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - - // .p2align 4, 0x90 -_validate_one: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - QUAD $0xffffffdb0528f8c5 // vmovaps $-37(%rip), %xmm0 /* LCPI26_0(%rip) */ - LONG $0x0011f8c5 // vmovups %xmm0, (%rax) - LONG $0x000020b9; BYTE $0x00 // movl $32, %ecx - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - BYTE $0x5d // popq %rbp - LONG $0xffef89e9; BYTE $0xff // jmp _fsm_exec, $-4215(%rip) - QUAD $0x0000000000000000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI27_0: - QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' - -LCPI27_1: - QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' - -LCPI27_2: - QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' - -LCPI27_3: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI27_4: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - -LCPI27_5: - QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' - -LCPI27_6: - QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' - -LCPI27_7: - QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' - - // .p2align 4, 0x90 -_skip_one_fast: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0xe0e48348 // andq $-32, %rsp - LONG $0x80ec8148; WORD $0x0000; BYTE $0x00 // subq $128, %rsp - WORD $0x8b4c; BYTE $0x37 // movq (%rdi), %r14 - LONG $0x08478b4c // movq $8(%rdi), %r8 - WORD $0x8b48; BYTE $0x16 // movq (%rsi), %rdx - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x294c; BYTE $0xc0 // subq %r8, %rax - LONG $0x002a830f; WORD $0x0000 // jae LBB27_5, $42(%rip) - LONG $0x160c8a41 // movb (%r14,%rdx), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x001d840f; WORD $0x0000 // je LBB27_5, $29(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x0014840f; WORD $0x0000 // je LBB27_5, $20(%rip) - WORD $0xc180; BYTE $0xf7 // addb $-9, %cl - WORD $0xf980; BYTE $0x01 // cmpb $1, %cl - LONG $0x0008860f; WORD $0x0000 // jbe LBB27_5, $8(%rip) - WORD $0x8949; BYTE $0xd3 // movq %rdx, %r11 - LONG $0x000137e9; BYTE $0x00 // jmp LBB27_27, $311(%rip) - -LBB27_5: - LONG $0x015a8d4c // leaq $1(%rdx), %r11 - WORD $0x394d; BYTE $0xc3 // cmpq %r8, %r11 - LONG $0x0022830f; WORD $0x0000 // jae LBB27_9, $34(%rip) - LONG $0x1e0c8a43 // movb (%r14,%r11), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB27_9, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB27_9, $12(%rip) - WORD $0xc180; BYTE $0xf7 // addb $-9, %cl - WORD $0xf980; BYTE $0x01 // cmpb $1, %cl - LONG $0x0108870f; WORD $0x0000 // ja LBB27_27, $264(%rip) - -LBB27_9: - LONG $0x025a8d4c // leaq $2(%rdx), %r11 - WORD $0x394d; BYTE $0xc3 // cmpq %r8, %r11 - LONG $0x0022830f; WORD $0x0000 // jae LBB27_13, $34(%rip) - LONG $0x1e0c8a43 // movb (%r14,%r11), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB27_13, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB27_13, $12(%rip) - WORD $0xc180; BYTE $0xf7 // addb $-9, %cl - WORD $0xf980; BYTE $0x01 // cmpb $1, %cl - LONG $0x00d9870f; WORD $0x0000 // ja LBB27_27, $217(%rip) - -LBB27_13: - LONG $0x035a8d4c // leaq $3(%rdx), %r11 - WORD $0x394d; BYTE $0xc3 // cmpq %r8, %r11 - LONG $0x0022830f; WORD $0x0000 // jae LBB27_17, $34(%rip) - LONG $0x1e0c8a43 // movb (%r14,%r11), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB27_17, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB27_17, $12(%rip) - WORD $0xc180; BYTE $0xf7 // addb $-9, %cl - WORD $0xf980; BYTE $0x01 // cmpb $1, %cl - LONG $0x00aa870f; WORD $0x0000 // ja LBB27_27, $170(%rip) - -LBB27_17: - LONG $0x044a8d48 // leaq $4(%rdx), %rcx - WORD $0x3949; BYTE $0xc8 // cmpq %rcx, %r8 - LONG $0x0057860f; WORD $0x0000 // jbe LBB27_23, $87(%rip) - WORD $0x3949; BYTE $0xc8 // cmpq %rcx, %r8 - LONG $0x005d840f; WORD $0x0000 // je LBB27_24, $93(%rip) - LONG $0x060c8d4b // leaq (%r14,%r8), %rcx - LONG $0x04c08348 // addq $4, %rax - LONG $0x325c8d4e; BYTE $0x05 // leaq $5(%rdx,%r14), %r11 - QUAD $0x000100002600ba48; WORD $0x0000 // movabsq $4294977024, %rdx - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB27_20: - LONG $0x5bbe0f41; BYTE $0xff // movsbl $-1(%r11), %ebx - WORD $0xfb83; BYTE $0x20 // cmpl $32, %ebx - LONG $0x0048870f; WORD $0x0000 // ja LBB27_26, $72(%rip) - LONG $0xdaa30f48 // btq %rbx, %rdx - LONG $0x003e830f; WORD $0x0000 // jae LBB27_26, $62(%rip) - WORD $0xff49; BYTE $0xc3 // incq %r11 - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0xffdc850f; WORD $0xffff // jne LBB27_20, $-36(%rip) - LONG $0x000012e9; BYTE $0x00 // jmp LBB27_25, $18(%rip) - -LBB27_23: - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x000120e9; BYTE $0x00 // jmp LBB27_44, $288(%rip) - -LBB27_24: - WORD $0x014c; BYTE $0xf1 // addq %r14, %rcx - -LBB27_25: - WORD $0x294c; BYTE $0xf1 // subq %r14, %rcx - WORD $0x8949; BYTE $0xcb // movq %rcx, %r11 - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x394d; BYTE $0xc3 // cmpq %r8, %r11 - LONG $0x001e820f; WORD $0x0000 // jb LBB27_27, $30(%rip) - LONG $0x000102e9; BYTE $0x00 // jmp LBB27_44, $258(%rip) - -LBB27_26: - WORD $0x894c; BYTE $0xf0 // movq %r14, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0xc3 // addq %rax, %r11 - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x394d; BYTE $0xc3 // cmpq %r8, %r11 - LONG $0x00e9830f; WORD $0x0000 // jae LBB27_44, $233(%rip) - -LBB27_27: - LONG $0x015b8d49 // leaq $1(%r11), %rbx - WORD $0x8948; BYTE $0x1e // movq %rbx, (%rsi) - LONG $0x0cbe0f43; BYTE $0x1e // movsbl (%r14,%r11), %ecx - WORD $0xf983; BYTE $0x7b // cmpl $123, %ecx - LONG $0x00f9870f; WORD $0x0000 // ja LBB27_46, $249(%rip) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xf6158d48; WORD $0x0009; BYTE $0x00 // leaq $2550(%rip), %rdx /* LJTI27_0(%rip) */ - LONG $0x8a0c6348 // movslq (%rdx,%rcx,4), %rcx - WORD $0x0148; BYTE $0xd1 // addq %rdx, %rcx - JMP CX - -LBB27_29: - LONG $0x08478b48 // movq $8(%rdi), %rax - WORD $0x2948; BYTE $0xd8 // subq %rbx, %rax - WORD $0x014c; BYTE $0xf3 // addq %r14, %rbx - LONG $0x10f88348 // cmpq $16, %rax - LONG $0x0054820f; WORD $0x0000 // jb LBB27_33, $84(%rip) - QUAD $0xfffffda9056ff9c5 // vmovdqa $-599(%rip), %xmm0 /* LCPI27_0(%rip) */ - QUAD $0xfffffdb10d6ff9c5 // vmovdqa $-591(%rip), %xmm1 /* LCPI27_1(%rip) */ - QUAD $0xfffffdb9156ff9c5 // vmovdqa $-583(%rip), %xmm2 /* LCPI27_2(%rip) */ - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB27_31: - LONG $0x1b6ffac5 // vmovdqu (%rbx), %xmm3 - LONG $0xe074e1c5 // vpcmpeqb %xmm0, %xmm3, %xmm4 - LONG $0xd9dbe1c5 // vpand %xmm1, %xmm3, %xmm3 - LONG $0xda74e1c5 // vpcmpeqb %xmm2, %xmm3, %xmm3 - LONG $0xdcebe1c5 // vpor %xmm4, %xmm3, %xmm3 - LONG $0xcbd7f9c5 // vpmovmskb %xmm3, %ecx - WORD $0x8566; BYTE $0xc9 // testw %cx, %cx - LONG $0x0054850f; WORD $0x0000 // jne LBB27_41, $84(%rip) - LONG $0x10c38348 // addq $16, %rbx - LONG $0xf0c08348 // addq $-16, %rax - LONG $0x0ff88348 // cmpq $15, %rax - LONG $0xffcd870f; WORD $0xffff // ja LBB27_31, $-51(%rip) - -LBB27_33: - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0031840f; WORD $0x0000 // je LBB27_40, $49(%rip) - LONG $0x030c8d48 // leaq (%rbx,%rax), %rcx - -LBB27_35: - WORD $0xb60f; BYTE $0x13 // movzbl (%rbx), %edx - WORD $0xfa80; BYTE $0x2c // cmpb $44, %dl - LONG $0x0021840f; WORD $0x0000 // je LBB27_40, $33(%rip) - WORD $0xfa80; BYTE $0x7d // cmpb $125, %dl - LONG $0x0018840f; WORD $0x0000 // je LBB27_40, $24(%rip) - WORD $0xfa80; BYTE $0x5d // cmpb $93, %dl - LONG $0x000f840f; WORD $0x0000 // je LBB27_40, $15(%rip) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0xffd6850f; WORD $0xffff // jne LBB27_35, $-42(%rip) - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - -LBB27_40: - WORD $0x294c; BYTE $0xf3 // subq %r14, %rbx - LONG $0x00000de9; BYTE $0x00 // jmp LBB27_42, $13(%rip) - -LBB27_41: - WORD $0xb70f; BYTE $0xc1 // movzwl %cx, %eax - LONG $0xc0bc0f48 // bsfq %rax, %rax - WORD $0x294c; BYTE $0xf3 // subq %r14, %rbx - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - -LBB27_42: - WORD $0x8948; BYTE $0x1e // movq %rbx, (%rsi) - -LBB27_43: - WORD $0x894c; BYTE $0xd8 // movq %r11, %rax - -LBB27_44: - LONG $0xd8658d48 // leaq $-40(%rbp), %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB27_45: - LONG $0x044b8d49 // leaq $4(%r11), %rcx - LONG $0x084f3b48 // cmpq $8(%rdi), %rcx - LONG $0xffe0870f; WORD $0xffff // ja LBB27_44, $-32(%rip) - LONG $0x00049ce9; BYTE $0x00 // jmp LBB27_82, $1180(%rip) - -LBB27_46: - WORD $0x894c; BYTE $0x1e // movq %r11, (%rsi) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xffffcce9; BYTE $0xff // jmp LBB27_44, $-52(%rip) - -LBB27_47: - LONG $0x08478b4c // movq $8(%rdi), %r8 - WORD $0x894d; BYTE $0xc7 // movq %r8, %r15 - WORD $0x2949; BYTE $0xdf // subq %rbx, %r15 - LONG $0x20ff8349 // cmpq $32, %r15 - LONG $0x08b18c0f; WORD $0x0000 // jl LBB27_116, $2225(%rip) - LONG $0xffffb941; WORD $0xffff // movl $4294967295, %r9d - LONG $0x1e148d4f // leaq (%r14,%r11), %r10 - WORD $0x294d; BYTE $0xd8 // subq %r11, %r8 - LONG $0x001fbd41; WORD $0x0000 // movl $31, %r13d - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - QUAD $0xfffffcd2056ff9c5 // vmovdqa $-814(%rip), %xmm0 /* LCPI27_3(%rip) */ - QUAD $0xfffffcda0d6ff9c5 // vmovdqa $-806(%rip), %xmm1 /* LCPI27_4(%rip) */ - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x000024e9; BYTE $0x00 // jmp LBB27_49, $36(%rip) - WORD $0x9090 // .p2align 4, 0x90 - -LBB27_51: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0xc985 // testl %ecx, %ecx - LONG $0x009e850f; WORD $0x0000 // jne LBB27_109, $158(%rip) - -LBB27_52: - LONG $0x20c78349 // addq $32, %r15 - LONG $0x284c8d4b; BYTE $0xe0 // leaq $-32(%r8,%r13), %rcx - LONG $0xe0c58349 // addq $-32, %r13 - LONG $0x3ff98348 // cmpq $63, %rcx - LONG $0x07dc8e0f; WORD $0x0000 // jle LBB27_53, $2012(%rip) - -LBB27_49: - LONG $0x6f7a81c4; WORD $0x3a54; BYTE $0x01 // vmovdqu $1(%r10,%r15), %xmm2 - LONG $0x6f7a81c4; WORD $0x3a5c; BYTE $0x11 // vmovdqu $17(%r10,%r15), %xmm3 - LONG $0xe074e9c5 // vpcmpeqb %xmm0, %xmm2, %xmm4 - LONG $0xfcd7f9c5 // vpmovmskb %xmm4, %edi - LONG $0xe074e1c5 // vpcmpeqb %xmm0, %xmm3, %xmm4 - LONG $0xccd7f9c5 // vpmovmskb %xmm4, %ecx - LONG $0x10e1c148 // shlq $16, %rcx - WORD $0x0948; BYTE $0xf9 // orq %rdi, %rcx - LONG $0xd174e9c5 // vpcmpeqb %xmm1, %xmm2, %xmm2 - LONG $0xdad7f9c5 // vpmovmskb %xmm2, %ebx - LONG $0xd174e1c5 // vpcmpeqb %xmm1, %xmm3, %xmm2 - LONG $0xfad7f9c5 // vpmovmskb %xmm2, %edi - LONG $0x10e7c148 // shlq $16, %rdi - WORD $0x0948; BYTE $0xdf // orq %rbx, %rdi - WORD $0x8948; BYTE $0xfb // movq %rdi, %rbx - WORD $0x094c; BYTE $0xe3 // orq %r12, %rbx - LONG $0xff96840f; WORD $0xffff // je LBB27_51, $-106(%rip) - WORD $0x8944; BYTE $0xe3 // movl %r12d, %ebx - WORD $0x3144; BYTE $0xcb // xorl %r9d, %ebx - WORD $0xdf21 // andl %ebx, %edi - WORD $0x1c8d; BYTE $0x3f // leal (%rdi,%rdi), %ebx - WORD $0x0944; BYTE $0xe3 // orl %r12d, %ebx - LONG $0xab918d41; WORD $0xaaaa; BYTE $0xaa // leal $-1431655765(%r9), %edx - WORD $0xda31 // xorl %ebx, %edx - WORD $0xfa21 // andl %edi, %edx - LONG $0xaaaae281; WORD $0xaaaa // andl $-1431655766, %edx - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0xfa01 // addl %edi, %edx - LONG $0xc4920f41 // setb %r12b - WORD $0xd201 // addl %edx, %edx - LONG $0x5555f281; WORD $0x5555 // xorl $1431655765, %edx - WORD $0xda21 // andl %ebx, %edx - WORD $0x3144; BYTE $0xca // xorl %r9d, %edx - WORD $0xd121 // andl %edx, %ecx - WORD $0xc985 // testl %ecx, %ecx - LONG $0xff62840f; WORD $0xffff // je LBB27_52, $-158(%rip) - -LBB27_109: - LONG $0xc1bc0f48 // bsfq %rcx, %rax - WORD $0x0149; BYTE $0xc2 // addq %rax, %r10 - WORD $0x014d; BYTE $0xfa // addq %r15, %r10 - WORD $0x294d; BYTE $0xf2 // subq %r14, %r10 - LONG $0x02c28349 // addq $2, %r10 - WORD $0x894c; BYTE $0x16 // movq %r10, (%rsi) - LONG $0xfffec3e9; BYTE $0xff // jmp LBB27_43, $-317(%rip) - -LBB27_56: - LONG $0x084f8b48 // movq $8(%rdi), %rcx - WORD $0x2948; BYTE $0xd9 // subq %rbx, %rcx - WORD $0x0149; BYTE $0xde // addq %rbx, %r14 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - QUAD $0xfffffbf9156f79c5 // vmovdqa $-1031(%rip), %xmm10 /* LCPI27_4(%rip) */ - QUAD $0xfffffbe10d6ff9c5 // vmovdqa $-1055(%rip), %xmm1 /* LCPI27_3(%rip) */ - LONG $0x763141c4; BYTE $0xc9 // vpcmpeqd %xmm9, %xmm9, %xmm9 - QUAD $0xfffffc141d6ff9c5 // vmovdqa $-1004(%rip), %xmm3 /* LCPI27_7(%rip) */ - QUAD $0xfffffbbc256ff9c5 // vmovdqa $-1092(%rip), %xmm4 /* LCPI27_2(%rip) */ - LONG $0x573841c4; BYTE $0xc0 // vxorps %xmm8, %xmm8, %xmm8 - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0x244c8948; BYTE $0x08 // movq %rcx, $8(%rsp) - LONG $0x2444894c; BYTE $0x18 // movq %r8, $24(%rsp) - LONG $0x01338d0f; WORD $0x0000 // jge LBB27_57, $307(%rip) - -LBB27_66: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x076b8e0f; WORD $0x0000 // jle LBB27_117, $1899(%rip) - LONG $0x44297cc5; WORD $0x4024 // vmovaps %ymm8, $64(%rsp) - LONG $0x44297cc5; WORD $0x2024 // vmovaps %ymm8, $32(%rsp) - WORD $0x8944; BYTE $0xf1 // movl %r14d, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0fc1f981; WORD $0x0000 // cmpl $4033, %ecx - LONG $0x0109820f; WORD $0x0000 // jb LBB27_57, $265(%rip) - LONG $0x247c8348; WORD $0x2008 // cmpq $32, $8(%rsp) - LONG $0x002e820f; WORD $0x0000 // jb LBB27_70, $46(%rip) - LONG $0x1078c1c4; BYTE $0x06 // vmovups (%r14), %xmm0 - LONG $0x4429f8c5; WORD $0x2024 // vmovaps %xmm0, $32(%rsp) - LONG $0x6f7ac1c4; WORD $0x1046 // vmovdqu $16(%r14), %xmm0 - LONG $0x447ff9c5; WORD $0x3024 // vmovdqa %xmm0, $48(%rsp) - LONG $0x20c68349 // addq $32, %r14 - LONG $0x244c8b48; BYTE $0x08 // movq $8(%rsp), %rcx - LONG $0xe0518d48 // leaq $-32(%rcx), %rdx - LONG $0x24448d4c; BYTE $0x40 // leaq $64(%rsp), %r8 - LONG $0x00000ae9; BYTE $0x00 // jmp LBB27_71, $10(%rip) - -LBB27_70: - LONG $0x24448d4c; BYTE $0x20 // leaq $32(%rsp), %r8 - LONG $0x24548b48; BYTE $0x08 // movq $8(%rsp), %rdx - -LBB27_71: - LONG $0x10fa8348 // cmpq $16, %rdx - LONG $0x005c820f; WORD $0x0000 // jb LBB27_72, $92(%rip) - LONG $0x6f7ac1c4; BYTE $0x06 // vmovdqu (%r14), %xmm0 - LONG $0x7f7ac1c4; BYTE $0x00 // vmovdqu %xmm0, (%r8) - LONG $0x10c68349 // addq $16, %r14 - LONG $0x10c08349 // addq $16, %r8 - LONG $0xf0c28348 // addq $-16, %rdx - LONG $0x08fa8348 // cmpq $8, %rdx - LONG $0x0046830f; WORD $0x0000 // jae LBB27_77, $70(%rip) - -LBB27_73: - LONG $0x04fa8348 // cmpq $4, %rdx - LONG $0x00588c0f; WORD $0x0000 // jl LBB27_74, $88(%rip) - -LBB27_78: - WORD $0x8b41; BYTE $0x0e // movl (%r14), %ecx - WORD $0x8941; BYTE $0x08 // movl %ecx, (%r8) - LONG $0x04c68349 // addq $4, %r14 - LONG $0x04c08349 // addq $4, %r8 - LONG $0xfcc28348 // addq $-4, %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0046830f; WORD $0x0000 // jae LBB27_79, $70(%rip) - -LBB27_75: - WORD $0x894c; BYTE $0xf1 // movq %r14, %rcx - LONG $0x24748d4c; BYTE $0x20 // leaq $32(%rsp), %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x005a850f; WORD $0x0000 // jne LBB27_80, $90(%rip) - LONG $0x00005fe9; BYTE $0x00 // jmp LBB27_57, $95(%rip) - -LBB27_72: - LONG $0x08fa8348 // cmpq $8, %rdx - LONG $0xffba820f; WORD $0xffff // jb LBB27_73, $-70(%rip) - -LBB27_77: - WORD $0x8b49; BYTE $0x0e // movq (%r14), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x08c68349 // addq $8, %r14 - LONG $0x08c08349 // addq $8, %r8 - LONG $0xf8c28348 // addq $-8, %rdx - LONG $0x04fa8348 // cmpq $4, %rdx - LONG $0xffa88d0f; WORD $0xffff // jge LBB27_78, $-88(%rip) - -LBB27_74: - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0xffba820f; WORD $0xffff // jb LBB27_75, $-70(%rip) - -LBB27_79: - LONG $0x0eb70f41 // movzwl (%r14), %ecx - LONG $0x08894166 // movw %cx, (%r8) - LONG $0x02c68349 // addq $2, %r14 - LONG $0x02c08349 // addq $2, %r8 - LONG $0xfec28348 // addq $-2, %rdx - WORD $0x894c; BYTE $0xf1 // movq %r14, %rcx - LONG $0x24748d4c; BYTE $0x20 // leaq $32(%rsp), %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x000a840f; WORD $0x0000 // je LBB27_57, $10(%rip) - -LBB27_80: - WORD $0x098a // movb (%rcx), %cl - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - LONG $0x24748d4c; BYTE $0x20 // leaq $32(%rsp), %r14 - -LBB27_57: - LONG $0x6f7ac1c4; BYTE $0x16 // vmovdqu (%r14), %xmm2 - LONG $0x6f7ac1c4; WORD $0x106e // vmovdqu $16(%r14), %xmm5 - LONG $0x6f7ac1c4; WORD $0x207e // vmovdqu $32(%r14), %xmm7 - LONG $0x6f7ac1c4; WORD $0x3076 // vmovdqu $48(%r14), %xmm6 - LONG $0xc274a9c5 // vpcmpeqb %xmm2, %xmm10, %xmm0 - LONG $0xd0d7f9c5 // vpmovmskb %xmm0, %edx - LONG $0xc574a9c5 // vpcmpeqb %xmm5, %xmm10, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0xc774a9c5 // vpcmpeqb %xmm7, %xmm10, %xmm0 - LONG $0xe8d779c5 // vpmovmskb %xmm0, %r13d - LONG $0xc674a9c5 // vpcmpeqb %xmm6, %xmm10, %xmm0 - LONG $0xc8d779c5 // vpmovmskb %xmm0, %r9d - LONG $0x30e1c149 // shlq $48, %r9 - LONG $0x20e5c149 // shlq $32, %r13 - LONG $0x10e1c148 // shlq $16, %rcx - WORD $0x0948; BYTE $0xca // orq %rcx, %rdx - WORD $0x094c; BYTE $0xea // orq %r13, %rdx - WORD $0x094c; BYTE $0xca // orq %r9, %rdx - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x094c; BYTE $0xf9 // orq %r15, %rcx - LONG $0x004e840f; WORD $0x0000 // je LBB27_59, $78(%rip) - WORD $0x894d; BYTE $0xf8 // movq %r15, %r8 - WORD $0xf749; BYTE $0xd0 // notq %r8 - WORD $0x2149; BYTE $0xd0 // andq %rdx, %r8 - LONG $0x000c8d4f // leaq (%r8,%r8), %r9 - WORD $0x094d; BYTE $0xf9 // orq %r15, %r9 - WORD $0x894d; BYTE $0xcc // movq %r9, %r12 - QUAD $0xaaaaaaaaaaaab948; WORD $0xaaaa // movabsq $-6148914691236517206, %rcx - WORD $0x3149; BYTE $0xcc // xorq %rcx, %r12 - WORD $0x2148; BYTE $0xca // andq %rcx, %rdx - WORD $0x214c; BYTE $0xe2 // andq %r12, %rdx - WORD $0xc931 // xorl %ecx, %ecx - WORD $0x014c; BYTE $0xc2 // addq %r8, %rdx - WORD $0x920f; BYTE $0xc1 // setb %cl - LONG $0x244c8948; BYTE $0x10 // movq %rcx, $16(%rsp) - WORD $0x0148; BYTE $0xd2 // addq %rdx, %rdx - QUAD $0x555555555555b948; WORD $0x5555 // movabsq $6148914691236517205, %rcx - WORD $0x3148; BYTE $0xca // xorq %rcx, %rdx - WORD $0x214c; BYTE $0xca // andq %r9, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - LONG $0x00000ee9; BYTE $0x00 // jmp LBB27_60, $14(%rip) - -LBB27_59: - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x244c8948; BYTE $0x10 // movq %rcx, $16(%rsp) - -LBB27_60: - LONG $0xc174d1c5 // vpcmpeqb %xmm1, %xmm5, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0x10e1c148 // shlq $16, %rcx - LONG $0xc174e9c5 // vpcmpeqb %xmm1, %xmm2, %xmm0 - LONG $0xc8d779c5 // vpmovmskb %xmm0, %r9d - WORD $0x0949; BYTE $0xc9 // orq %rcx, %r9 - LONG $0xc174c1c5 // vpcmpeqb %xmm1, %xmm7, %xmm0 - LONG $0xe8d779c5 // vpmovmskb %xmm0, %r13d - LONG $0x20e5c149 // shlq $32, %r13 - WORD $0x094d; BYTE $0xcd // orq %r9, %r13 - LONG $0xc174c9c5 // vpcmpeqb %xmm1, %xmm6, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0x30e1c148 // shlq $48, %rcx - WORD $0x094c; BYTE $0xe9 // orq %r13, %rcx - WORD $0x2148; BYTE $0xd1 // andq %rdx, %rcx - LONG $0x6ef9e1c4; BYTE $0xc1 // vmovq %rcx, %xmm0 - LONG $0x4479c3c4; WORD $0x00c1 // vpclmulqdq $0, %xmm9, %xmm0, %xmm0 - LONG $0x7ef9c1c4; BYTE $0xc5 // vmovq %xmm0, %r13 - WORD $0x314d; BYTE $0xd5 // xorq %r10, %r13 - LONG $0xc374e9c5 // vpcmpeqb %xmm3, %xmm2, %xmm0 - LONG $0xf8d779c5 // vpmovmskb %xmm0, %r15d - LONG $0xc374d1c5 // vpcmpeqb %xmm3, %xmm5, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0xc374c1c5 // vpcmpeqb %xmm3, %xmm7, %xmm0 - LONG $0xc8d779c5 // vpmovmskb %xmm0, %r9d - LONG $0xc374c9c5 // vpcmpeqb %xmm3, %xmm6, %xmm0 - LONG $0xd0d779c5 // vpmovmskb %xmm0, %r10d - LONG $0x30e2c149 // shlq $48, %r10 - LONG $0x20e1c149 // shlq $32, %r9 - LONG $0x10e1c148 // shlq $16, %rcx - WORD $0x0949; BYTE $0xcf // orq %rcx, %r15 - WORD $0x094d; BYTE $0xcf // orq %r9, %r15 - WORD $0x094d; BYTE $0xd7 // orq %r10, %r15 - WORD $0x894d; BYTE $0xe9 // movq %r13, %r9 - WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x214d; BYTE $0xcf // andq %r9, %r15 - LONG $0xc474e9c5 // vpcmpeqb %xmm4, %xmm2, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0xc474d1c5 // vpcmpeqb %xmm4, %xmm5, %xmm0 - LONG $0xd0d779c5 // vpmovmskb %xmm0, %r10d - LONG $0xc474c1c5 // vpcmpeqb %xmm4, %xmm7, %xmm0 - LONG $0xc0d779c5 // vpmovmskb %xmm0, %r8d - LONG $0xc474c9c5 // vpcmpeqb %xmm4, %xmm6, %xmm0 - LONG $0xe0d779c5 // vpmovmskb %xmm0, %r12d - LONG $0x30e4c149 // shlq $48, %r12 - LONG $0x20e0c149 // shlq $32, %r8 - LONG $0x10e2c149 // shlq $16, %r10 - WORD $0x094c; BYTE $0xd1 // orq %r10, %rcx - WORD $0x094c; BYTE $0xc1 // orq %r8, %rcx - WORD $0x094c; BYTE $0xe1 // orq %r12, %rcx - WORD $0x214c; BYTE $0xc9 // andq %r9, %rcx - LONG $0x0039840f; WORD $0x0000 // je LBB27_64, $57(%rip) - LONG $0x24448b4c; BYTE $0x18 // movq $24(%rsp), %r8 - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB27_62: - LONG $0xff518d4c // leaq $-1(%rcx), %r10 - WORD $0x894c; BYTE $0xd2 // movq %r10, %rdx - WORD $0x214c; BYTE $0xfa // andq %r15, %rdx - LONG $0xb80f48f3; BYTE $0xd2 // popcntq %rdx, %rdx - WORD $0x014c; BYTE $0xc2 // addq %r8, %rdx - WORD $0x3948; BYTE $0xda // cmpq %rbx, %rdx - LONG $0x03e0860f; WORD $0x0000 // jbe LBB27_108, $992(%rip) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0x214c; BYTE $0xd1 // andq %r10, %rcx - LONG $0xffd9850f; WORD $0xffff // jne LBB27_62, $-39(%rip) - LONG $0x000005e9; BYTE $0x00 // jmp LBB27_65, $5(%rip) - -LBB27_64: - LONG $0x24448b4c; BYTE $0x18 // movq $24(%rsp), %r8 - -LBB27_65: - LONG $0x3ffdc149 // sarq $63, %r13 - LONG $0xb80f49f3; BYTE $0xcf // popcntq %r15, %rcx - WORD $0x0149; BYTE $0xc8 // addq %rcx, %r8 - LONG $0x40c68349 // addq $64, %r14 - LONG $0x244c8b48; BYTE $0x08 // movq $8(%rsp), %rcx - LONG $0xc0c18348 // addq $-64, %rcx - WORD $0x894d; BYTE $0xea // movq %r13, %r10 - LONG $0x247c8b4c; BYTE $0x10 // movq $16(%rsp), %r15 - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0x244c8948; BYTE $0x08 // movq %rcx, $8(%rsp) - LONG $0x2444894c; BYTE $0x18 // movq %r8, $24(%rsp) - LONG $0xfe128d0f; WORD $0xffff // jge LBB27_57, $-494(%rip) - LONG $0xfffcdae9; BYTE $0xff // jmp LBB27_66, $-806(%rip) - -LBB27_81: - LONG $0x054b8d49 // leaq $5(%r11), %rcx - LONG $0x084f3b48 // cmpq $8(%rdi), %rcx - LONG $0xfb3f870f; WORD $0xffff // ja LBB27_44, $-1217(%rip) - -LBB27_82: - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfffb34e9; BYTE $0xff // jmp LBB27_43, $-1228(%rip) - -LBB27_83: - LONG $0x084f8b48 // movq $8(%rdi), %rcx - WORD $0x2948; BYTE $0xd9 // subq %rbx, %rcx - WORD $0x0149; BYTE $0xde // addq %rbx, %r14 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - QUAD $0xfffff86a156f79c5 // vmovdqa $-1942(%rip), %xmm10 /* LCPI27_4(%rip) */ - QUAD $0xfffff8520d6ff9c5 // vmovdqa $-1966(%rip), %xmm1 /* LCPI27_3(%rip) */ - LONG $0x763141c4; BYTE $0xc9 // vpcmpeqd %xmm9, %xmm9, %xmm9 - QUAD $0xfffff8651d6ff9c5 // vmovdqa $-1947(%rip), %xmm3 /* LCPI27_5(%rip) */ - QUAD $0xfffff86d256ff9c5 // vmovdqa $-1939(%rip), %xmm4 /* LCPI27_6(%rip) */ - LONG $0x573841c4; BYTE $0xc0 // vxorps %xmm8, %xmm8, %xmm8 - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0x244c8948; BYTE $0x08 // movq %rcx, $8(%rsp) - LONG $0x2444894c; BYTE $0x18 // movq %r8, $24(%rsp) - LONG $0x01338d0f; WORD $0x0000 // jge LBB27_84, $307(%rip) - -LBB27_93: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x03dc8e0f; WORD $0x0000 // jle LBB27_117, $988(%rip) - LONG $0x44297cc5; WORD $0x4024 // vmovaps %ymm8, $64(%rsp) - LONG $0x44297cc5; WORD $0x2024 // vmovaps %ymm8, $32(%rsp) - WORD $0x8944; BYTE $0xf1 // movl %r14d, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0fc1f981; WORD $0x0000 // cmpl $4033, %ecx - LONG $0x0109820f; WORD $0x0000 // jb LBB27_84, $265(%rip) - LONG $0x247c8348; WORD $0x2008 // cmpq $32, $8(%rsp) - LONG $0x002e820f; WORD $0x0000 // jb LBB27_97, $46(%rip) - LONG $0x1078c1c4; BYTE $0x06 // vmovups (%r14), %xmm0 - LONG $0x4429f8c5; WORD $0x2024 // vmovaps %xmm0, $32(%rsp) - LONG $0x6f7ac1c4; WORD $0x1046 // vmovdqu $16(%r14), %xmm0 - LONG $0x447ff9c5; WORD $0x3024 // vmovdqa %xmm0, $48(%rsp) - LONG $0x20c68349 // addq $32, %r14 - LONG $0x244c8b48; BYTE $0x08 // movq $8(%rsp), %rcx - LONG $0xe0518d48 // leaq $-32(%rcx), %rdx - LONG $0x24448d4c; BYTE $0x40 // leaq $64(%rsp), %r8 - LONG $0x00000ae9; BYTE $0x00 // jmp LBB27_98, $10(%rip) - -LBB27_97: - LONG $0x24448d4c; BYTE $0x20 // leaq $32(%rsp), %r8 - LONG $0x24548b48; BYTE $0x08 // movq $8(%rsp), %rdx - -LBB27_98: - LONG $0x10fa8348 // cmpq $16, %rdx - LONG $0x005c820f; WORD $0x0000 // jb LBB27_99, $92(%rip) - LONG $0x6f7ac1c4; BYTE $0x06 // vmovdqu (%r14), %xmm0 - LONG $0x7f7ac1c4; BYTE $0x00 // vmovdqu %xmm0, (%r8) - LONG $0x10c68349 // addq $16, %r14 - LONG $0x10c08349 // addq $16, %r8 - LONG $0xf0c28348 // addq $-16, %rdx - LONG $0x08fa8348 // cmpq $8, %rdx - LONG $0x0046830f; WORD $0x0000 // jae LBB27_104, $70(%rip) - -LBB27_100: - LONG $0x04fa8348 // cmpq $4, %rdx - LONG $0x00588c0f; WORD $0x0000 // jl LBB27_101, $88(%rip) - -LBB27_105: - WORD $0x8b41; BYTE $0x0e // movl (%r14), %ecx - WORD $0x8941; BYTE $0x08 // movl %ecx, (%r8) - LONG $0x04c68349 // addq $4, %r14 - LONG $0x04c08349 // addq $4, %r8 - LONG $0xfcc28348 // addq $-4, %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0046830f; WORD $0x0000 // jae LBB27_106, $70(%rip) - -LBB27_102: - WORD $0x894c; BYTE $0xf1 // movq %r14, %rcx - LONG $0x24748d4c; BYTE $0x20 // leaq $32(%rsp), %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x005a850f; WORD $0x0000 // jne LBB27_107, $90(%rip) - LONG $0x00005fe9; BYTE $0x00 // jmp LBB27_84, $95(%rip) - -LBB27_99: - LONG $0x08fa8348 // cmpq $8, %rdx - LONG $0xffba820f; WORD $0xffff // jb LBB27_100, $-70(%rip) - -LBB27_104: - WORD $0x8b49; BYTE $0x0e // movq (%r14), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x08c68349 // addq $8, %r14 - LONG $0x08c08349 // addq $8, %r8 - LONG $0xf8c28348 // addq $-8, %rdx - LONG $0x04fa8348 // cmpq $4, %rdx - LONG $0xffa88d0f; WORD $0xffff // jge LBB27_105, $-88(%rip) - -LBB27_101: - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0xffba820f; WORD $0xffff // jb LBB27_102, $-70(%rip) - -LBB27_106: - LONG $0x0eb70f41 // movzwl (%r14), %ecx - LONG $0x08894166 // movw %cx, (%r8) - LONG $0x02c68349 // addq $2, %r14 - LONG $0x02c08349 // addq $2, %r8 - LONG $0xfec28348 // addq $-2, %rdx - WORD $0x894c; BYTE $0xf1 // movq %r14, %rcx - LONG $0x24748d4c; BYTE $0x20 // leaq $32(%rsp), %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x000a840f; WORD $0x0000 // je LBB27_84, $10(%rip) - -LBB27_107: - WORD $0x098a // movb (%rcx), %cl - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - LONG $0x24748d4c; BYTE $0x20 // leaq $32(%rsp), %r14 - -LBB27_84: - LONG $0x6f7ac1c4; BYTE $0x16 // vmovdqu (%r14), %xmm2 - LONG $0x6f7ac1c4; WORD $0x106e // vmovdqu $16(%r14), %xmm5 - LONG $0x6f7ac1c4; WORD $0x207e // vmovdqu $32(%r14), %xmm7 - LONG $0x6f7ac1c4; WORD $0x3076 // vmovdqu $48(%r14), %xmm6 - LONG $0xc274a9c5 // vpcmpeqb %xmm2, %xmm10, %xmm0 - LONG $0xd0d7f9c5 // vpmovmskb %xmm0, %edx - LONG $0xc574a9c5 // vpcmpeqb %xmm5, %xmm10, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0xc774a9c5 // vpcmpeqb %xmm7, %xmm10, %xmm0 - LONG $0xe8d779c5 // vpmovmskb %xmm0, %r13d - LONG $0xc674a9c5 // vpcmpeqb %xmm6, %xmm10, %xmm0 - LONG $0xc8d779c5 // vpmovmskb %xmm0, %r9d - LONG $0x30e1c149 // shlq $48, %r9 - LONG $0x20e5c149 // shlq $32, %r13 - LONG $0x10e1c148 // shlq $16, %rcx - WORD $0x0948; BYTE $0xca // orq %rcx, %rdx - WORD $0x094c; BYTE $0xea // orq %r13, %rdx - WORD $0x094c; BYTE $0xca // orq %r9, %rdx - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x094c; BYTE $0xf9 // orq %r15, %rcx - LONG $0x004e840f; WORD $0x0000 // je LBB27_86, $78(%rip) - WORD $0x894d; BYTE $0xf8 // movq %r15, %r8 - WORD $0xf749; BYTE $0xd0 // notq %r8 - WORD $0x2149; BYTE $0xd0 // andq %rdx, %r8 - LONG $0x000c8d4f // leaq (%r8,%r8), %r9 - WORD $0x094d; BYTE $0xf9 // orq %r15, %r9 - WORD $0x894d; BYTE $0xcc // movq %r9, %r12 - QUAD $0xaaaaaaaaaaaab948; WORD $0xaaaa // movabsq $-6148914691236517206, %rcx - WORD $0x3149; BYTE $0xcc // xorq %rcx, %r12 - WORD $0x2148; BYTE $0xca // andq %rcx, %rdx - WORD $0x214c; BYTE $0xe2 // andq %r12, %rdx - WORD $0xc931 // xorl %ecx, %ecx - WORD $0x014c; BYTE $0xc2 // addq %r8, %rdx - WORD $0x920f; BYTE $0xc1 // setb %cl - LONG $0x244c8948; BYTE $0x10 // movq %rcx, $16(%rsp) - WORD $0x0148; BYTE $0xd2 // addq %rdx, %rdx - QUAD $0x555555555555b948; WORD $0x5555 // movabsq $6148914691236517205, %rcx - WORD $0x3148; BYTE $0xca // xorq %rcx, %rdx - WORD $0x214c; BYTE $0xca // andq %r9, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - LONG $0x00000ee9; BYTE $0x00 // jmp LBB27_87, $14(%rip) - -LBB27_86: - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x244c8948; BYTE $0x10 // movq %rcx, $16(%rsp) - -LBB27_87: - LONG $0xc174d1c5 // vpcmpeqb %xmm1, %xmm5, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0x10e1c148 // shlq $16, %rcx - LONG $0xc174e9c5 // vpcmpeqb %xmm1, %xmm2, %xmm0 - LONG $0xc8d779c5 // vpmovmskb %xmm0, %r9d - WORD $0x0949; BYTE $0xc9 // orq %rcx, %r9 - LONG $0xc174c1c5 // vpcmpeqb %xmm1, %xmm7, %xmm0 - LONG $0xe8d779c5 // vpmovmskb %xmm0, %r13d - LONG $0x20e5c149 // shlq $32, %r13 - WORD $0x094d; BYTE $0xcd // orq %r9, %r13 - LONG $0xc174c9c5 // vpcmpeqb %xmm1, %xmm6, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0x30e1c148 // shlq $48, %rcx - WORD $0x094c; BYTE $0xe9 // orq %r13, %rcx - WORD $0x2148; BYTE $0xd1 // andq %rdx, %rcx - LONG $0x6ef9e1c4; BYTE $0xc1 // vmovq %rcx, %xmm0 - LONG $0x4479c3c4; WORD $0x00c1 // vpclmulqdq $0, %xmm9, %xmm0, %xmm0 - LONG $0x7ef9c1c4; BYTE $0xc5 // vmovq %xmm0, %r13 - WORD $0x314d; BYTE $0xd5 // xorq %r10, %r13 - LONG $0xc374e9c5 // vpcmpeqb %xmm3, %xmm2, %xmm0 - LONG $0xf8d779c5 // vpmovmskb %xmm0, %r15d - LONG $0xc374d1c5 // vpcmpeqb %xmm3, %xmm5, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0xc374c1c5 // vpcmpeqb %xmm3, %xmm7, %xmm0 - LONG $0xc8d779c5 // vpmovmskb %xmm0, %r9d - LONG $0xc374c9c5 // vpcmpeqb %xmm3, %xmm6, %xmm0 - LONG $0xd0d779c5 // vpmovmskb %xmm0, %r10d - LONG $0x30e2c149 // shlq $48, %r10 - LONG $0x20e1c149 // shlq $32, %r9 - LONG $0x10e1c148 // shlq $16, %rcx - WORD $0x0949; BYTE $0xcf // orq %rcx, %r15 - WORD $0x094d; BYTE $0xcf // orq %r9, %r15 - WORD $0x094d; BYTE $0xd7 // orq %r10, %r15 - WORD $0x894d; BYTE $0xe9 // movq %r13, %r9 - WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x214d; BYTE $0xcf // andq %r9, %r15 - LONG $0xc474e9c5 // vpcmpeqb %xmm4, %xmm2, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0xc474d1c5 // vpcmpeqb %xmm4, %xmm5, %xmm0 - LONG $0xd0d779c5 // vpmovmskb %xmm0, %r10d - LONG $0xc474c1c5 // vpcmpeqb %xmm4, %xmm7, %xmm0 - LONG $0xc0d779c5 // vpmovmskb %xmm0, %r8d - LONG $0xc474c9c5 // vpcmpeqb %xmm4, %xmm6, %xmm0 - LONG $0xe0d779c5 // vpmovmskb %xmm0, %r12d - LONG $0x30e4c149 // shlq $48, %r12 - LONG $0x20e0c149 // shlq $32, %r8 - LONG $0x10e2c149 // shlq $16, %r10 - WORD $0x094c; BYTE $0xd1 // orq %r10, %rcx - WORD $0x094c; BYTE $0xc1 // orq %r8, %rcx - WORD $0x094c; BYTE $0xe1 // orq %r12, %rcx - WORD $0x214c; BYTE $0xc9 // andq %r9, %rcx - LONG $0x003a840f; WORD $0x0000 // je LBB27_91, $58(%rip) - LONG $0x24448b4c; BYTE $0x18 // movq $24(%rsp), %r8 - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB27_89: - LONG $0xff518d4c // leaq $-1(%rcx), %r10 - WORD $0x894c; BYTE $0xd2 // movq %r10, %rdx - WORD $0x214c; BYTE $0xfa // andq %r15, %rdx - LONG $0xb80f48f3; BYTE $0xd2 // popcntq %rdx, %rdx - WORD $0x014c; BYTE $0xc2 // addq %r8, %rdx - WORD $0x3948; BYTE $0xda // cmpq %rbx, %rdx - LONG $0x0050860f; WORD $0x0000 // jbe LBB27_108, $80(%rip) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0x214c; BYTE $0xd1 // andq %r10, %rcx - LONG $0xffd9850f; WORD $0xffff // jne LBB27_89, $-39(%rip) - LONG $0x000005e9; BYTE $0x00 // jmp LBB27_92, $5(%rip) - -LBB27_91: - LONG $0x24448b4c; BYTE $0x18 // movq $24(%rsp), %r8 - -LBB27_92: - LONG $0x3ffdc149 // sarq $63, %r13 - LONG $0xb80f49f3; BYTE $0xcf // popcntq %r15, %rcx - WORD $0x0149; BYTE $0xc8 // addq %rcx, %r8 - LONG $0x40c68349 // addq $64, %r14 - LONG $0x244c8b48; BYTE $0x08 // movq $8(%rsp), %rcx - LONG $0xc0c18348 // addq $-64, %rcx - WORD $0x894d; BYTE $0xea // movq %r13, %r10 - LONG $0x247c8b4c; BYTE $0x10 // movq $16(%rsp), %r15 - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0x244c8948; BYTE $0x08 // movq %rcx, $8(%rsp) - LONG $0x2444894c; BYTE $0x18 // movq %r8, $24(%rsp) - LONG $0xfe118d0f; WORD $0xffff // jge LBB27_84, $-495(%rip) - LONG $0xfffcd9e9; BYTE $0xff // jmp LBB27_93, $-807(%rip) - -LBB27_108: - LONG $0x08478b48 // movq $8(%rdi), %rax - LONG $0xc9bc0f48 // bsfq %rcx, %rcx - LONG $0x244c2b48; BYTE $0x08 // subq $8(%rsp), %rcx - LONG $0x01448d48; BYTE $0x01 // leaq $1(%rcx,%rax), %rax - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0x084f8b48 // movq $8(%rdi), %rcx - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0xc1470f48 // cmovaq %rcx, %rax - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xd8470f4c // cmovaq %rax, %r11 - LONG $0xfff787e9; BYTE $0xff // jmp LBB27_43, $-2169(%rip) - -LBB27_53: - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x008e850f; WORD $0x0000 // jne LBB27_118, $142(%rip) - LONG $0x175c8d4b; BYTE $0x01 // leaq $1(%r15,%r10), %rbx - WORD $0xf749; BYTE $0xd7 // notq %r15 - WORD $0x014d; BYTE $0xc7 // addq %r8, %r15 - -LBB27_55: - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x00248f0f; WORD $0x0000 // jg LBB27_112, $36(%rip) - LONG $0xfff768e9; BYTE $0xff // jmp LBB27_44, $-2200(%rip) - -LBB27_110: - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - LONG $0x000002b8; BYTE $0x00 // movl $2, %eax - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x0149; BYTE $0xcf // addq %rcx, %r15 - LONG $0xf7498e0f; WORD $0xffff // jle LBB27_44, $-2231(%rip) - -LBB27_112: - WORD $0xb60f; BYTE $0x03 // movzbl (%rbx), %eax - WORD $0x5c3c // cmpb $92, %al - LONG $0xffd6840f; WORD $0xffff // je LBB27_110, $-42(%rip) - WORD $0x223c // cmpb $34, %al - LONG $0x0024840f; WORD $0x0000 // je LBB27_115, $36(%rip) - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - LONG $0x000001b8; BYTE $0x00 // movl $1, %eax - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x0149; BYTE $0xcf // addq %rcx, %r15 - LONG $0xffce8f0f; WORD $0xffff // jg LBB27_112, $-50(%rip) - LONG $0xfff712e9; BYTE $0xff // jmp LBB27_44, $-2286(%rip) - -LBB27_115: - WORD $0x294c; BYTE $0xf3 // subq %r14, %rbx - WORD $0xff48; BYTE $0xc3 // incq %rbx - LONG $0xfff701e9; BYTE $0xff // jmp LBB27_42, $-2303(%rip) - -LBB27_116: - WORD $0x014c; BYTE $0xf3 // addq %r14, %rbx - LONG $0xffff89e9; BYTE $0xff // jmp LBB27_55, $-119(%rip) - -LBB27_117: - LONG $0x084f8b48 // movq $8(%rdi), %rcx - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfff6f3e9; BYTE $0xff // jmp LBB27_44, $-2317(%rip) - -LBB27_118: - LONG $0xff488d49 // leaq $-1(%r8), %rcx - WORD $0x394c; BYTE $0xf9 // cmpq %r15, %rcx - LONG $0xf6e6840f; WORD $0xffff // je LBB27_44, $-2330(%rip) - LONG $0x175c8d4b; BYTE $0x02 // leaq $2(%r15,%r10), %rbx - WORD $0x294d; BYTE $0xf8 // subq %r15, %r8 - LONG $0xfec08349 // addq $-2, %r8 - WORD $0x894d; BYTE $0xc7 // movq %r8, %r15 - LONG $0xffff5ce9; BYTE $0xff // jmp LBB27_55, $-164(%rip) - WORD $0x9090 // .p2align 2, 0x90 - - // .set L27_0_set_44, LBB27_44-LJTI27_0 - // .set L27_0_set_46, LBB27_46-LJTI27_0 - // .set L27_0_set_47, LBB27_47-LJTI27_0 - // .set L27_0_set_29, LBB27_29-LJTI27_0 - // .set L27_0_set_56, LBB27_56-LJTI27_0 - // .set L27_0_set_81, LBB27_81-LJTI27_0 - // .set L27_0_set_45, LBB27_45-LJTI27_0 - // .set L27_0_set_83, LBB27_83-LJTI27_0 -LJTI27_0: - LONG $0xfffff6d0 // .long L27_0_set_44 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff704 // .long L27_0_set_47 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff613 // .long L27_0_set_29 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff613 // .long L27_0_set_29 - LONG $0xfffff613 // .long L27_0_set_29 - LONG $0xfffff613 // .long L27_0_set_29 - LONG $0xfffff613 // .long L27_0_set_29 - LONG $0xfffff613 // .long L27_0_set_29 - LONG $0xfffff613 // .long L27_0_set_29 - LONG $0xfffff613 // .long L27_0_set_29 - LONG $0xfffff613 // .long L27_0_set_29 - LONG $0xfffff613 // .long L27_0_set_29 - LONG $0xfffff613 // .long L27_0_set_29 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff80a // .long L27_0_set_56 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffffb83 // .long L27_0_set_81 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6e2 // .long L27_0_set_45 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6e2 // .long L27_0_set_45 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffff6f5 // .long L27_0_set_46 - LONG $0xfffffb99 // .long L27_0_set_83 - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -LCPI28_0: - LONG $0x00000001 // .long 1 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - - // .p2align 4, 0x90 -_get_by_path: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x38ec8348 // subq $56, %rsp - WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13 - WORD $0x8949; BYTE $0xfb // movq %rdi, %r11 - LONG $0x08528b4c // movq $8(%rdx), %r10 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0f10840f; WORD $0x0000 // je LBB28_243, $3856(%rip) - WORD $0x8b48; BYTE $0x02 // movq (%rdx), %rax - LONG $0x04e2c149 // shlq $4, %r10 - LONG $0xb8458948 // movq %rax, $-72(%rbp) - WORD $0x0149; BYTE $0xc2 // addq %rax, %r10 - WORD $0x8b4d; BYTE $0x0b // movq (%r11), %r9 - LONG $0x00558b49 // movq (%r13), %rdx - QUAD $0x000100002600bc49; WORD $0x0000 // movabsq $4294977024, %r12 - LONG $0xc05d894c // movq %r11, $-64(%rbp) - LONG $0xa04d8948 // movq %rcx, $-96(%rbp) - LONG $0xa855894c // movq %r10, $-88(%rbp) - -LBB28_2: - LONG $0x08438b4d // movq $8(%r11), %r8 - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - WORD $0x294c; BYTE $0xc7 // subq %r8, %rdi - LONG $0x0031830f; WORD $0x0000 // jae LBB28_7, $49(%rip) - LONG $0x11048a41 // movb (%r9,%rdx), %al - WORD $0x0d3c // cmpb $13, %al - LONG $0x0025840f; WORD $0x0000 // je LBB28_7, $37(%rip) - WORD $0x203c // cmpb $32, %al - LONG $0x001d840f; WORD $0x0000 // je LBB28_7, $29(%rip) - WORD $0xf704 // addb $-9, %al - WORD $0x013c // cmpb $1, %al - LONG $0x0013860f; WORD $0x0000 // jbe LBB28_7, $19(%rip) - WORD $0x8948; BYTE $0xd6 // movq %rdx, %rsi - LONG $0x0000fde9; BYTE $0x00 // jmp LBB28_28, $253(%rip) - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_7: - LONG $0x01728d48 // leaq $1(%rdx), %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_11, $35(%rip) - LONG $0x31048a41 // movb (%r9,%rsi), %al - WORD $0x0d3c // cmpb $13, %al - LONG $0x0017840f; WORD $0x0000 // je LBB28_11, $23(%rip) - WORD $0x203c // cmpb $32, %al - LONG $0x000f840f; WORD $0x0000 // je LBB28_11, $15(%rip) - WORD $0xf704 // addb $-9, %al - WORD $0x013c // cmpb $1, %al - LONG $0x00c7870f; WORD $0x0000 // ja LBB28_28, $199(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_11: - LONG $0x02728d48 // leaq $2(%rdx), %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_15, $35(%rip) - LONG $0x31048a41 // movb (%r9,%rsi), %al - WORD $0x0d3c // cmpb $13, %al - LONG $0x0017840f; WORD $0x0000 // je LBB28_15, $23(%rip) - WORD $0x203c // cmpb $32, %al - LONG $0x000f840f; WORD $0x0000 // je LBB28_15, $15(%rip) - WORD $0xf704 // addb $-9, %al - WORD $0x013c // cmpb $1, %al - LONG $0x0097870f; WORD $0x0000 // ja LBB28_28, $151(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_15: - LONG $0x03728d48 // leaq $3(%rdx), %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_19, $35(%rip) - LONG $0x31048a41 // movb (%r9,%rsi), %al - WORD $0x0d3c // cmpb $13, %al - LONG $0x0017840f; WORD $0x0000 // je LBB28_19, $23(%rip) - WORD $0x203c // cmpb $32, %al - LONG $0x000f840f; WORD $0x0000 // je LBB28_19, $15(%rip) - WORD $0xf704 // addb $-9, %al - WORD $0x013c // cmpb $1, %al - LONG $0x0067870f; WORD $0x0000 // ja LBB28_28, $103(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_19: - LONG $0x04428d48 // leaq $4(%rdx), %rax - WORD $0x3949; BYTE $0xc0 // cmpq %rax, %r8 - LONG $0x0083860f; WORD $0x0000 // jbe LBB28_25, $131(%rip) - WORD $0x3949; BYTE $0xc0 // cmpq %rax, %r8 - LONG $0x0095840f; WORD $0x0000 // je LBB28_26, $149(%rip) - LONG $0x01048d4b // leaq (%r9,%r8), %rax - LONG $0x04c78348 // addq $4, %rdi - LONG $0x11748d49; BYTE $0x05 // leaq $5(%r9,%rdx), %rsi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_22: - LONG $0xff5ebe0f // movsbl $-1(%rsi), %ebx - WORD $0xfb83; BYTE $0x20 // cmpl $32, %ebx - LONG $0x0bae870f; WORD $0x0000 // ja LBB28_29, $2990(%rip) - LONG $0xdca30f49 // btq %rbx, %r12 - LONG $0x0ba4830f; WORD $0x0000 // jae LBB28_29, $2980(%rip) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0xff48; BYTE $0xc7 // incq %rdi - LONG $0xffdd850f; WORD $0xffff // jne LBB28_22, $-35(%rip) - WORD $0x294c; BYTE $0xc8 // subq %r9, %rax - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0x005b830f; WORD $0x0000 // jae LBB28_30, $91(%rip) - -LBB28_28: - LONG $0x01468d48 // leaq $1(%rsi), %rax - LONG $0x00458949 // movq %rax, (%r13) - LONG $0x31348a41 // movb (%r9,%rsi), %sil - LONG $0xb8558b48 // movq $-72(%rbp), %rdx - WORD $0x8b48; BYTE $0x12 // movq (%rdx), %rdx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0062850f; WORD $0x0000 // jne LBB28_31, $98(%rip) - LONG $0x000dece9; BYTE $0x00 // jmp LBB28_250, $3564(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_25: - LONG $0x00458949 // movq %rax, (%r13) - WORD $0xf631 // xorl %esi, %esi - LONG $0xb8558b48 // movq $-72(%rbp), %rdx - WORD $0x8b48; BYTE $0x12 // movq (%rdx), %rdx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x003a850f; WORD $0x0000 // jne LBB28_31, $58(%rip) - LONG $0x000dc4e9; BYTE $0x00 // jmp LBB28_250, $3524(%rip) - -LBB28_26: - WORD $0x014c; BYTE $0xc8 // addq %r9, %rax - WORD $0x294c; BYTE $0xc8 // subq %r9, %rax - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0xffa5820f; WORD $0xffff // jb LBB28_28, $-91(%rip) - -LBB28_30: - WORD $0xf631 // xorl %esi, %esi - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0xb8558b48 // movq $-72(%rbp), %rdx - WORD $0x8b48; BYTE $0x12 // movq (%rdx), %rdx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0d9d840f; WORD $0x0000 // je LBB28_250, $3485(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB28_31: - WORD $0x528a; BYTE $0x17 // movb $23(%rdx), %dl - WORD $0xe280; BYTE $0x1f // andb $31, %dl - WORD $0xfa80; BYTE $0x02 // cmpb $2, %dl - LONG $0x0021840f; WORD $0x0000 // je LBB28_183, $33(%rip) - WORD $0xfa80; BYTE $0x18 // cmpb $24, %dl - LONG $0x0d77850f; WORD $0x0000 // jne LBB28_250, $3447(%rip) - LONG $0x7bfe8040 // cmpb $123, %sil - LONG $0xc86d894c // movq %r13, $-56(%rbp) - LONG $0x0179840f; WORD $0x0000 // je LBB28_34, $377(%rip) - LONG $0x000d34e9; BYTE $0x00 // jmp LBB28_246, $3380(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_183: - LONG $0x5bfe8040 // cmpb $91, %sil - LONG $0x0d25850f; WORD $0x0000 // jne LBB28_246, $3365(%rip) - LONG $0xb8558b48 // movq $-72(%rbp), %rdx - LONG $0x08528b48 // movq $8(%rdx), %rdx - WORD $0x8b4c; BYTE $0x32 // movq (%rdx), %r14 - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0d41880f; WORD $0x0000 // js LBB28_250, $3393(%rip) - LONG $0x08438b4d // movq $8(%r11), %r8 - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x294c; BYTE $0xc6 // subq %r8, %rsi - LONG $0x0032830f; WORD $0x0000 // jae LBB28_190, $50(%rip) - LONG $0x01148a41 // movb (%r9,%rax), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0025840f; WORD $0x0000 // je LBB28_190, $37(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x001c840f; WORD $0x0000 // je LBB28_190, $28(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0010860f; WORD $0x0000 // jbe LBB28_190, $16(%rip) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0x000ac3e9; BYTE $0x00 // jmp LBB28_212, $2755(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB28_190: - LONG $0x01788d48 // leaq $1(%rax), %rdi - WORD $0x394c; BYTE $0xc7 // cmpq %r8, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_194, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_194, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_194, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0a8c870f; WORD $0x0000 // ja LBB28_212, $2700(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_194: - LONG $0x02788d48 // leaq $2(%rax), %rdi - WORD $0x394c; BYTE $0xc7 // cmpq %r8, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_198, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_198, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_198, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0a5c870f; WORD $0x0000 // ja LBB28_212, $2652(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_198: - LONG $0x03788d48 // leaq $3(%rax), %rdi - WORD $0x394c; BYTE $0xc7 // cmpq %r8, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_202, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_202, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_202, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0a2c870f; WORD $0x0000 // ja LBB28_212, $2604(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_202: - LONG $0x04508d48 // leaq $4(%rax), %rdx - WORD $0x3949; BYTE $0xd0 // cmpq %rdx, %r8 - LONG $0x09d2860f; WORD $0x0000 // jbe LBB28_208, $2514(%rip) - WORD $0x3949; BYTE $0xd0 // cmpq %rdx, %r8 - LONG $0x09ec840f; WORD $0x0000 // je LBB28_209, $2540(%rip) - LONG $0x01148d4b // leaq (%r9,%r8), %rdx - LONG $0x04c68348 // addq $4, %rsi - LONG $0x017c8d49; BYTE $0x05 // leaq $5(%r9,%rax), %rdi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_205: - LONG $0xff4fbe0f // movsbl $-1(%rdi), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x09dc870f; WORD $0x0000 // ja LBB28_211, $2524(%rip) - LONG $0xcca30f49 // btq %rcx, %r12 - LONG $0x09d2830f; WORD $0x0000 // jae LBB28_211, $2514(%rip) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0xff48; BYTE $0xc6 // incq %rsi - LONG $0xffdd850f; WORD $0xffff // jne LBB28_205, $-35(%rip) - LONG $0x0009ade9; BYTE $0x00 // jmp LBB28_210, $2477(%rip) - -LBB28_179: - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x0148; BYTE $0xd7 // addq %rdx, %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0bd5830f; WORD $0x0000 // jae LBB28_246, $3029(%rip) - -LBB28_180: - LONG $0x01478d48 // leaq $1(%rdi), %rax - LONG $0x00458949 // movq %rax, (%r13) - LONG $0x390c8a41 // movb (%r9,%rdi), %cl - WORD $0xf980; BYTE $0x2c // cmpb $44, %cl - LONG $0x0c06850f; WORD $0x0000 // jne LBB28_252, $3078(%rip) - -LBB28_34: - LONG $0x084b8b49 // movq $8(%r11), %rcx - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x2948; BYTE $0xce // subq %rcx, %rsi - LONG $0x0031830f; WORD $0x0000 // jae LBB28_39, $49(%rip) - LONG $0x01148a41 // movb (%r9,%rax), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0024840f; WORD $0x0000 // je LBB28_39, $36(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x001b840f; WORD $0x0000 // je LBB28_39, $27(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x000f860f; WORD $0x0000 // jbe LBB28_39, $15(%rip) - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - LONG $0x000129e9; BYTE $0x00 // jmp LBB28_60, $297(%rip) - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_39: - LONG $0x01788d4c // leaq $1(%rax), %r15 - WORD $0x3949; BYTE $0xcf // cmpq %rcx, %r15 - LONG $0x0023830f; WORD $0x0000 // jae LBB28_43, $35(%rip) - LONG $0x39148a43 // movb (%r9,%r15), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_43, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_43, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00f3870f; WORD $0x0000 // ja LBB28_60, $243(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_43: - LONG $0x02788d4c // leaq $2(%rax), %r15 - WORD $0x3949; BYTE $0xcf // cmpq %rcx, %r15 - LONG $0x0023830f; WORD $0x0000 // jae LBB28_47, $35(%rip) - LONG $0x39148a43 // movb (%r9,%r15), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_47, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_47, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00c3870f; WORD $0x0000 // ja LBB28_60, $195(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_47: - LONG $0x03788d4c // leaq $3(%rax), %r15 - WORD $0x3949; BYTE $0xcf // cmpq %rcx, %r15 - LONG $0x0023830f; WORD $0x0000 // jae LBB28_51, $35(%rip) - LONG $0x39148a43 // movb (%r9,%r15), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_51, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_51, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0093870f; WORD $0x0000 // ja LBB28_60, $147(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_51: - LONG $0x04508d48 // leaq $4(%rax), %rdx - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x0adb860f; WORD $0x0000 // jbe LBB28_244, $2779(%rip) - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x004a840f; WORD $0x0000 // je LBB28_57, $74(%rip) - LONG $0x09148d49 // leaq (%r9,%rcx), %rdx - LONG $0x04c68348 // addq $4, %rsi - LONG $0x017c8d4d; BYTE $0x05 // leaq $5(%r9,%rax), %r15 - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_54: - LONG $0x7fbe0f41; BYTE $0xff // movsbl $-1(%r15), %edi - WORD $0xff83; BYTE $0x20 // cmpl $32, %edi - LONG $0x0042870f; WORD $0x0000 // ja LBB28_59, $66(%rip) - LONG $0xfca30f49 // btq %rdi, %r12 - LONG $0x0038830f; WORD $0x0000 // jae LBB28_59, $56(%rip) - WORD $0xff49; BYTE $0xc7 // incq %r15 - WORD $0xff48; BYTE $0xc6 // incq %rsi - LONG $0xffdc850f; WORD $0xffff // jne LBB28_54, $-36(%rip) - LONG $0x00000ae9; BYTE $0x00 // jmp LBB28_58, $10(%rip) - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_57: - WORD $0x014c; BYTE $0xca // addq %r9, %rdx - -LBB28_58: - WORD $0x294c; BYTE $0xca // subq %r9, %rdx - WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - WORD $0x3949; BYTE $0xcf // cmpq %rcx, %r15 - LONG $0x0020820f; WORD $0x0000 // jb LBB28_60, $32(%rip) - LONG $0x000a78e9; BYTE $0x00 // jmp LBB28_246, $2680(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_59: - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x0149; BYTE $0xd7 // addq %rdx, %r15 - WORD $0x3949; BYTE $0xcf // cmpq %rcx, %r15 - LONG $0x0a5d830f; WORD $0x0000 // jae LBB28_246, $2653(%rip) - -LBB28_60: - LONG $0x015f8d49 // leaq $1(%r15), %rbx - LONG $0x005d8949 // movq %rbx, (%r13) - LONG $0x390c8a43 // movb (%r9,%r15), %cl - WORD $0xf980; BYTE $0x22 // cmpb $34, %cl - LONG $0x0a8b850f; WORD $0x0000 // jne LBB28_251, $2699(%rip) - LONG $0xb8458b48 // movq $-72(%rbp), %rax - LONG $0x08408b48 // movq $8(%rax), %rax - WORD $0x8b4c; BYTE $0x30 // movq (%rax), %r14 - LONG $0x08688b4c // movq $8(%rax), %r13 - QUAD $0xffffffffb045c748 // movq $-1, $-80(%rbp) - WORD $0x894c; BYTE $0xdf // movq %r11, %rdi - WORD $0x8948; BYTE $0xde // movq %rbx, %rsi - LONG $0xb0558d48 // leaq $-80(%rbp), %rdx - LONG $0x0022c3e8; BYTE $0x00 // callq _advance_string_default, $8899(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0a7b880f; WORD $0x0000 // js LBB28_254, $2683(%rip) - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xb04d8b48 // movq $-80(%rbp), %rcx - LONG $0xfff98348 // cmpq $-1, %rcx - LONG $0x0009840f; WORD $0x0000 // je LBB28_64, $9(%rip) - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x01308e0f; WORD $0x0000 // jle LBB28_84, $304(%rip) - -LBB28_64: - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0x294c; BYTE $0xfa // subq %r15, %rdx - LONG $0xfec28348 // addq $-2, %rdx - LONG $0x0001ba41; WORD $0x0000 // movl $1, %r10d - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x094c; BYTE $0xe9 // orq %r13, %rcx - LONG $0xc05d8b4c // movq $-64(%rbp), %r11 - LONG $0x00cf840f; WORD $0x0000 // je LBB28_79, $207(%rip) - WORD $0x394c; BYTE $0xea // cmpq %r13, %rdx - LONG $0x00c3850f; WORD $0x0000 // jne LBB28_78, $195(%rip) - WORD $0x0349; BYTE $0x1b // addq (%r11), %rbx - LONG $0x10fd8349 // cmpq $16, %r13 - LONG $0x0033820f; WORD $0x0000 // jb LBB28_69, $51(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB28_67: - LONG $0x036ffac5 // vmovdqu (%rbx), %xmm0 - LONG $0x7479c1c4; BYTE $0x06 // vpcmpeqb (%r14), %xmm0, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0xfff98366 // cmpw $-1, %cx - LONG $0x0099850f; WORD $0x0000 // jne LBB28_78, $153(%rip) - LONG $0x10c38348 // addq $16, %rbx - LONG $0x10c68349 // addq $16, %r14 - LONG $0xf0c58349 // addq $-16, %r13 - LONG $0x0ffd8349 // cmpq $15, %r13 - LONG $0xffd3870f; WORD $0xffff // ja LBB28_67, $-45(%rip) - -LBB28_69: - WORD $0x8944; BYTE $0xf1 // movl %r14d, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0ff0f981; WORD $0x0000 // cmpl $4080, %ecx - LONG $0x0042870f; WORD $0x0000 // ja LBB28_73, $66(%rip) - WORD $0xd989 // movl %ebx, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0ff1f981; WORD $0x0000 // cmpl $4081, %ecx - LONG $0x002e830f; WORD $0x0000 // jae LBB28_73, $46(%rip) - LONG $0x036ffac5 // vmovdqu (%rbx), %xmm0 - LONG $0x7479c1c4; BYTE $0x06 // vpcmpeqb (%r14), %xmm0, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0xfff98366 // cmpw $-1, %cx - WORD $0x940f; BYTE $0xc2 // sete %dl - WORD $0xd1f7 // notl %ecx - WORD $0xb70f; BYTE $0xc9 // movzwl %cx, %ecx - LONG $0xc9bc0f48 // bsfq %rcx, %rcx - WORD $0x394c; BYTE $0xe9 // cmpq %r13, %rcx - WORD $0x930f; BYTE $0xc1 // setae %cl - WORD $0xd108 // orb %dl, %cl - LONG $0xd1b60f44 // movzbl %cl, %r10d - LONG $0x00002fe9; BYTE $0x00 // jmp LBB28_79, $47(%rip) - -LBB28_73: - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - LONG $0x0026840f; WORD $0x0000 // je LBB28_79, $38(%rip) - WORD $0xd231 // xorl %edx, %edx - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_75: - LONG $0x130cb60f // movzbl (%rbx,%rdx), %ecx - LONG $0x160c3a41 // cmpb (%r14,%rdx), %cl - LONG $0x0012850f; WORD $0x0000 // jne LBB28_78, $18(%rip) - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0x3949; BYTE $0xd5 // cmpq %rdx, %r13 - LONG $0xffe6850f; WORD $0xffff // jne LBB28_75, $-26(%rip) - LONG $0x000004e9; BYTE $0x00 // jmp LBB28_79, $4(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_78: - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - -LBB28_79: - WORD $0x8b4d; BYTE $0x0b // movq (%r11), %r9 - LONG $0xc86d8b4c // movq $-56(%rbp), %r13 - LONG $0x08738b49 // movq $8(%r11), %rsi - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - WORD $0x2948; BYTE $0xf7 // subq %rsi, %rdi - LONG $0x03f6830f; WORD $0x0000 // jae LBB28_131, $1014(%rip) - -LBB28_80: - LONG $0x01148a41 // movb (%r9,%rax), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x03e9840f; WORD $0x0000 // je LBB28_131, $1001(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x03e0840f; WORD $0x0000 // je LBB28_131, $992(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x03d4860f; WORD $0x0000 // jbe LBB28_131, $980(%rip) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - LONG $0x0004eee9; BYTE $0x00 // jmp LBB28_152, $1262(%rip) - -LBB28_84: - QUAD $0x00000000d045c748 // movq $0, $-48(%rbp) - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - WORD $0x8b4c; BYTE $0x09 // movq (%rcx), %r9 - WORD $0x014c; BYTE $0xcb // addq %r9, %rbx - LONG $0x01448d4d; BYTE $0xff // leaq $-1(%r9,%rax), %r8 - LONG $0x2e1c8d4f // leaq (%r14,%r13), %r11 - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - LONG $0x037a8e0f; WORD $0x0000 // jle LBB28_128, $890(%rip) - WORD $0x3949; BYTE $0xd8 // cmpq %rbx, %r8 - LONG $0xc86d8b4c // movq $-56(%rbp), %r13 - LONG $0x0371860f; WORD $0x0000 // jbe LBB28_129, $881(%rip) - -LBB28_86: - WORD $0x0b8a // movb (%rbx), %cl - WORD $0xf980; BYTE $0x5c // cmpb $92, %cl - LONG $0x0058850f; WORD $0x0000 // jne LBB28_91, $88(%rip) - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - WORD $0x2948; BYTE $0xda // subq %rbx, %rdx - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x09188e0f; WORD $0x0000 // jle LBB28_258, $2328(%rip) - LONG $0x0173b60f // movzbl $1(%rbx), %esi - LONG $0x0f3d8d48; WORD $0x0099; BYTE $0x00 // leaq $39183(%rip), %rdi /* __UnquoteTab(%rip) */ - LONG $0x3e3c8a44 // movb (%rsi,%rdi), %r15b - LONG $0xffff8041 // cmpb $-1, %r15b - LONG $0x003d840f; WORD $0x0000 // je LBB28_93, $61(%rip) - WORD $0x8445; BYTE $0xff // testb %r15b, %r15b - LONG $0x08e4840f; WORD $0x0000 // je LBB28_256, $2276(%rip) - LONG $0xd07d8844 // movb %r15b, $-48(%rbp) - LONG $0x02c38348 // addq $2, %rbx - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0x15548d4c; BYTE $0xd0 // leaq $-48(%rbp,%rdx), %r10 - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0x0130820f; WORD $0x0000 // jb LBB28_104, $304(%rip) - LONG $0x0002e6e9; BYTE $0x00 // jmp LBB28_112, $742(%rip) - -LBB28_91: - WORD $0x3a41; BYTE $0x0e // cmpb (%r14), %cl - LONG $0x05c6850f; WORD $0x0000 // jne LBB28_182, $1478(%rip) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xff49; BYTE $0xc6 // incq %r14 - LONG $0x0002dfe9; BYTE $0x00 // jmp LBB28_114, $735(%rip) - -LBB28_93: - LONG $0x03fa8348 // cmpq $3, %rdx - LONG $0x08b58e0f; WORD $0x0000 // jle LBB28_257, $2229(%rip) - WORD $0x4b8b; BYTE $0x02 // movl $2(%rbx), %ecx - WORD $0xce89 // movl %ecx, %esi - WORD $0xd6f7 // notl %esi - LONG $0xcfd0b98d; WORD $0xcfcf // leal $-808464432(%rcx), %edi - LONG $0x8080e681; WORD $0x8080 // andl $-2139062144, %esi - WORD $0xfe85 // testl %edi, %esi - LONG $0x087b850f; WORD $0x0000 // jne LBB28_255, $2171(%rip) - LONG $0x1919b98d; WORD $0x1919 // leal $421075225(%rcx), %edi - WORD $0xcf09 // orl %ecx, %edi - LONG $0x8080c7f7; WORD $0x8080 // testl $-2139062144, %edi - LONG $0x0867850f; WORD $0x0000 // jne LBB28_255, $2151(%rip) - WORD $0xcf89 // movl %ecx, %edi - LONG $0x7f7fe781; WORD $0x7f7f // andl $2139062143, %edi - LONG $0xc0c0ba41; WORD $0xc0c0 // movl $-1061109568, %r10d - WORD $0x2941; BYTE $0xfa // subl %edi, %r10d - LONG $0x46bf8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rdi), %r15d - WORD $0x2141; BYTE $0xf2 // andl %esi, %r10d - WORD $0x8545; BYTE $0xfa // testl %r15d, %r10d - LONG $0x0843850f; WORD $0x0000 // jne LBB28_255, $2115(%rip) - LONG $0xe0e0ba41; WORD $0xe0e0 // movl $-522133280, %r10d - WORD $0x2941; BYTE $0xfa // subl %edi, %r10d - LONG $0x3939c781; WORD $0x3939 // addl $960051513, %edi - WORD $0x2144; BYTE $0xd6 // andl %r10d, %esi - WORD $0xfe85 // testl %edi, %esi - LONG $0x0829850f; WORD $0x0000 // jne LBB28_255, $2089(%rip) - WORD $0xc90f // bswapl %ecx - WORD $0xce89 // movl %ecx, %esi - WORD $0xeec1; BYTE $0x04 // shrl $4, %esi - WORD $0xd6f7 // notl %esi - LONG $0x0101e681; WORD $0x0101 // andl $16843009, %esi - WORD $0x348d; BYTE $0xf6 // leal (%rsi,%rsi,8), %esi - LONG $0x0f0fe181; WORD $0x0f0f // andl $252645135, %ecx - WORD $0xf101 // addl %esi, %ecx - WORD $0x8941; BYTE $0xcf // movl %ecx, %r15d - LONG $0x04efc141 // shrl $4, %r15d - WORD $0x0941; BYTE $0xcf // orl %ecx, %r15d - WORD $0x8944; BYTE $0xfe // movl %r15d, %esi - WORD $0xeec1; BYTE $0x08 // shrl $8, %esi - LONG $0xff00e681; WORD $0x0000 // andl $65280, %esi - LONG $0xcfb60f41 // movzbl %r15b, %ecx - WORD $0xf109 // orl %esi, %ecx - LONG $0x06538d4c // leaq $6(%rbx), %r10 - WORD $0xf983; BYTE $0x7f // cmpl $127, %ecx - LONG $0x00ae860f; WORD $0x0000 // jbe LBB28_116, $174(%rip) - LONG $0x07fff981; WORD $0x0000 // cmpl $2047, %ecx - LONG $0x00b0860f; WORD $0x0000 // jbe LBB28_117, $176(%rip) - WORD $0x8944; BYTE $0xff // movl %r15d, %edi - LONG $0x0000e781; WORD $0x00f8 // andl $16252928, %edi - LONG $0x0000ff81; WORD $0x00d8 // cmpl $14155776, %edi - LONG $0x00bd840f; WORD $0x0000 // je LBB28_118, $189(%rip) - WORD $0xeec1; BYTE $0x0c // shrl $12, %esi - LONG $0xe0ce8040 // orb $-32, %sil - LONG $0xd0758840 // movb %sil, $-48(%rbp) - WORD $0xe9c1; BYTE $0x06 // shrl $6, %ecx - WORD $0xe180; BYTE $0x3f // andb $63, %cl - WORD $0xc980; BYTE $0x80 // orb $-128, %cl - WORD $0x4d88; BYTE $0xd1 // movb %cl, $-47(%rbp) - LONG $0x3fe78041 // andb $63, %r15b - LONG $0x80cf8041 // orb $-128, %r15b - LONG $0xd27d8844 // movb %r15b, $-46(%rbp) - LONG $0x000003ba; BYTE $0x00 // movl $3, %edx - WORD $0x8941; BYTE $0xf7 // movl %esi, %r15d - -LBB28_102: - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - LONG $0x15548d4c; BYTE $0xd0 // leaq $-48(%rbp,%rdx), %r10 - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0x01bb830f; WORD $0x0000 // jae LBB28_112, $443(%rip) - -LBB28_104: - LONG $0xd04d8d48 // leaq $-48(%rbp), %rcx - WORD $0x3949; BYTE $0xca // cmpq %rcx, %r10 - LONG $0x01ae860f; WORD $0x0000 // jbe LBB28_112, $430(%rip) - WORD $0x3845; BYTE $0x3e // cmpb %r15b, (%r14) - LONG $0x01a5850f; WORD $0x0000 // jne LBB28_112, $421(%rip) - WORD $0xff49; BYTE $0xc6 // incq %r14 - LONG $0xd1758d48 // leaq $-47(%rbp), %rsi - WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi - -LBB28_107: - WORD $0x8949; BYTE $0xfe // movq %rdi, %r14 - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x394c; BYTE $0xd6 // cmpq %r10, %rsi - LONG $0x0190830f; WORD $0x0000 // jae LBB28_113, $400(%rip) - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0x0187830f; WORD $0x0000 // jae LBB28_113, $391(%rip) - LONG $0x0eb60f41 // movzbl (%r14), %ecx - LONG $0x017e8d49 // leaq $1(%r14), %rdi - LONG $0x01728d48 // leaq $1(%rdx), %rsi - WORD $0x0a3a // cmpb (%rdx), %cl - LONG $0xffd4840f; WORD $0xffff // je LBB28_107, $-44(%rip) - LONG $0x00016ee9; BYTE $0x00 // jmp LBB28_113, $366(%rip) - -LBB28_116: - LONG $0xd07d8844 // movb %r15b, $-48(%rbp) - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0xffff90e9; BYTE $0xff // jmp LBB28_102, $-112(%rip) - -LBB28_117: - WORD $0xe9c1; BYTE $0x06 // shrl $6, %ecx - WORD $0xc980; BYTE $0xc0 // orb $-64, %cl - WORD $0x4d88; BYTE $0xd0 // movb %cl, $-48(%rbp) - LONG $0x3fe78041 // andb $63, %r15b - LONG $0x80cf8041 // orb $-128, %r15b - LONG $0xd17d8844 // movb %r15b, $-47(%rbp) - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - WORD $0x8941; BYTE $0xcf // movl %ecx, %r15d - LONG $0xffff6ee9; BYTE $0xff // jmp LBB28_102, $-146(%rip) - -LBB28_118: - LONG $0x06fa8348 // cmpq $6, %rdx - LONG $0x07388c0f; WORD $0x0000 // jl LBB28_260, $1848(%rip) - LONG $0xdbfff981; WORD $0x0000 // cmpl $56319, %ecx - LONG $0x072c870f; WORD $0x0000 // ja LBB28_260, $1836(%rip) - LONG $0x5c3a8041 // cmpb $92, (%r10) - LONG $0x0722850f; WORD $0x0000 // jne LBB28_260, $1826(%rip) - LONG $0x75077b80 // cmpb $117, $7(%rbx) - LONG $0x0718850f; WORD $0x0000 // jne LBB28_260, $1816(%rip) - LONG $0x08538d4c // leaq $8(%rbx), %r10 - WORD $0x538b; BYTE $0x08 // movl $8(%rbx), %edx - WORD $0xd789 // movl %edx, %edi - WORD $0xd7f7 // notl %edi - LONG $0xcfd0b28d; WORD $0xcfcf // leal $-808464432(%rdx), %esi - LONG $0x8080e781; WORD $0x8080 // andl $-2139062144, %edi - WORD $0xf785 // testl %esi, %edi - LONG $0x06ed850f; WORD $0x0000 // jne LBB28_259, $1773(%rip) - LONG $0x1919b28d; WORD $0x1919 // leal $421075225(%rdx), %esi - WORD $0xd609 // orl %edx, %esi - LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi - LONG $0x06d9850f; WORD $0x0000 // jne LBB28_259, $1753(%rip) - WORD $0xd689 // movl %edx, %esi - LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi - LONG $0xc0c0bf41; WORD $0xc0c0 // movl $-1061109568, %r15d - WORD $0x2941; BYTE $0xf7 // subl %esi, %r15d - LONG $0x46ae8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r13d - WORD $0x2141; BYTE $0xff // andl %edi, %r15d - WORD $0x8545; BYTE $0xef // testl %r13d, %r15d - LONG $0x06b5850f; WORD $0x0000 // jne LBB28_259, $1717(%rip) - LONG $0xe0e0bf41; WORD $0xe0e0 // movl $-522133280, %r15d - WORD $0x2941; BYTE $0xf7 // subl %esi, %r15d - LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi - WORD $0x2144; BYTE $0xff // andl %r15d, %edi - WORD $0xf785 // testl %esi, %edi - LONG $0x069b850f; WORD $0x0000 // jne LBB28_259, $1691(%rip) - WORD $0xca0f // bswapl %edx - WORD $0xd689 // movl %edx, %esi - WORD $0xeec1; BYTE $0x04 // shrl $4, %esi - WORD $0xd6f7 // notl %esi - LONG $0x0101e681; WORD $0x0101 // andl $16843009, %esi - WORD $0x348d; BYTE $0xf6 // leal (%rsi,%rsi,8), %esi - LONG $0x0f0fe281; WORD $0x0f0f // andl $252645135, %edx - WORD $0xf201 // addl %esi, %edx - WORD $0xd689 // movl %edx, %esi - WORD $0xeec1; BYTE $0x04 // shrl $4, %esi - WORD $0xd609 // orl %edx, %esi - WORD $0xf289 // movl %esi, %edx - LONG $0x0000e281; WORD $0x00fc // andl $16515072, %edx - LONG $0x0000fa81; WORD $0x00dc // cmpl $14417920, %edx - LONG $0x0672850f; WORD $0x0000 // jne LBB28_260, $1650(%rip) - WORD $0xf289 // movl %esi, %edx - WORD $0xeac1; BYTE $0x08 // shrl $8, %edx - LONG $0xff00e281; WORD $0x0000 // andl $65280, %edx - LONG $0xf6b60f40 // movzbl %sil, %esi - WORD $0xd609 // orl %edx, %esi - WORD $0xe1c1; BYTE $0x0a // shll $10, %ecx - LONG $0x00318c8d; WORD $0xa024; BYTE $0xfc // leal $-56613888(%rcx,%rsi), %ecx - WORD $0x8941; BYTE $0xcf // movl %ecx, %r15d - LONG $0x12efc141 // shrl $18, %r15d - LONG $0xf0cf8041 // orb $-16, %r15b - LONG $0xd07d8844 // movb %r15b, $-48(%rbp) - WORD $0xca89 // movl %ecx, %edx - WORD $0xeac1; BYTE $0x0c // shrl $12, %edx - WORD $0xe280; BYTE $0x3f // andb $63, %dl - WORD $0xca80; BYTE $0x80 // orb $-128, %dl - WORD $0x5588; BYTE $0xd1 // movb %dl, $-47(%rbp) - WORD $0xca89 // movl %ecx, %edx - WORD $0xeac1; BYTE $0x06 // shrl $6, %edx - WORD $0xe280; BYTE $0x3f // andb $63, %dl - WORD $0xca80; BYTE $0x80 // orb $-128, %dl - WORD $0x5588; BYTE $0xd2 // movb %dl, $-46(%rbp) - WORD $0xe180; BYTE $0x3f // andb $63, %cl - WORD $0xc980; BYTE $0x80 // orb $-128, %cl - WORD $0x4d88; BYTE $0xd3 // movb %cl, $-45(%rbp) - LONG $0x0cc38348 // addq $12, %rbx - LONG $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0xc86d8b4c // movq $-56(%rbp), %r13 - LONG $0x15548d4c; BYTE $0xd0 // leaq $-48(%rbp,%rdx), %r10 - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0xfe45820f; WORD $0xffff // jb LBB28_104, $-443(%rip) - -LBB28_112: - LONG $0xd0558d48 // leaq $-48(%rbp), %rdx - -LBB28_113: - WORD $0x394c; BYTE $0xd2 // cmpq %r10, %rdx - LONG $0x02dc850f; WORD $0x0000 // jne LBB28_182, $732(%rip) - -LBB28_114: - WORD $0x3949; BYTE $0xd8 // cmpq %rbx, %r8 - LONG $0x0012860f; WORD $0x0000 // jbe LBB28_129, $18(%rip) - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0xfc98820f; WORD $0xffff // jb LBB28_86, $-872(%rip) - LONG $0x000004e9; BYTE $0x00 // jmp LBB28_129, $4(%rip) - -LBB28_128: - LONG $0xc86d8b4c // movq $-56(%rbp), %r13 - -LBB28_129: - WORD $0x3149; BYTE $0xd8 // xorq %rbx, %r8 - WORD $0x314d; BYTE $0xde // xorq %r11, %r14 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x094d; BYTE $0xc6 // orq %r8, %r14 - LONG $0xc2940f41 // sete %r10b - -LBB28_130: - LONG $0xc05d8b4c // movq $-64(%rbp), %r11 - LONG $0x08738b49 // movq $8(%r11), %rsi - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - WORD $0x2948; BYTE $0xf7 // subq %rsi, %rdi - LONG $0xfc10820f; WORD $0xffff // jb LBB28_80, $-1008(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB28_131: - LONG $0x01588d48 // leaq $1(%rax), %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x0023830f; WORD $0x0000 // jae LBB28_135, $35(%rip) - LONG $0x19148a41 // movb (%r9,%rbx), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_135, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_135, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00f3870f; WORD $0x0000 // ja LBB28_152, $243(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_135: - LONG $0x02588d48 // leaq $2(%rax), %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x0023830f; WORD $0x0000 // jae LBB28_139, $35(%rip) - LONG $0x19148a41 // movb (%r9,%rbx), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_139, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_139, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00c3870f; WORD $0x0000 // ja LBB28_152, $195(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_139: - LONG $0x03588d48 // leaq $3(%rax), %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x0023830f; WORD $0x0000 // jae LBB28_143, $35(%rip) - LONG $0x19148a41 // movb (%r9,%rbx), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_143, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_143, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0093870f; WORD $0x0000 // ja LBB28_152, $147(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_143: - LONG $0x04508d48 // leaq $4(%rax), %rdx - WORD $0x3948; BYTE $0xd6 // cmpq %rdx, %rsi - LONG $0x045b860f; WORD $0x0000 // jbe LBB28_244, $1115(%rip) - WORD $0x3948; BYTE $0xd6 // cmpq %rdx, %rsi - LONG $0x004a840f; WORD $0x0000 // je LBB28_149, $74(%rip) - LONG $0x31148d49 // leaq (%r9,%rsi), %rdx - LONG $0x04c78348 // addq $4, %rdi - LONG $0x015c8d49; BYTE $0x05 // leaq $5(%r9,%rax), %rbx - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_146: - LONG $0xff4bbe0f // movsbl $-1(%rbx), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x0043870f; WORD $0x0000 // ja LBB28_151, $67(%rip) - LONG $0xcca30f49 // btq %rcx, %r12 - LONG $0x0039830f; WORD $0x0000 // jae LBB28_151, $57(%rip) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xff48; BYTE $0xc7 // incq %rdi - LONG $0xffdd850f; WORD $0xffff // jne LBB28_146, $-35(%rip) - LONG $0x00000be9; BYTE $0x00 // jmp LBB28_150, $11(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB28_149: - WORD $0x014c; BYTE $0xca // addq %r9, %rdx - -LBB28_150: - WORD $0x294c; BYTE $0xca // subq %r9, %rdx - WORD $0x8948; BYTE $0xd3 // movq %rdx, %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x0020820f; WORD $0x0000 // jb LBB28_152, $32(%rip) - LONG $0x0003f8e9; BYTE $0x00 // jmp LBB28_246, $1016(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_151: - WORD $0x894c; BYTE $0xc9 // movq %r9, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x03dd830f; WORD $0x0000 // jae LBB28_246, $989(%rip) - -LBB28_152: - LONG $0x01538d48 // leaq $1(%rbx), %rdx - LONG $0x00558949 // movq %rdx, (%r13) - LONG $0x193c8041; BYTE $0x3a // cmpb $58, (%r9,%rbx) - LONG $0x03c7850f; WORD $0x0000 // jne LBB28_245, $967(%rip) - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0379850f; WORD $0x0000 // jne LBB28_242, $889(%rip) - WORD $0x894c; BYTE $0xdf // movq %r11, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xffe6a7e8; BYTE $0xff // callq _skip_one_fast, $-6489(%rip) - LONG $0xc05d8b4c // movq $-64(%rbp), %r11 - WORD $0x8b4d; BYTE $0x0b // movq (%r11), %r9 - LONG $0x084b8b49 // movq $8(%r11), %rcx - LONG $0x00458b49 // movq (%r13), %rax - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x2948; BYTE $0xce // subq %rcx, %rsi - LONG $0x002c830f; WORD $0x0000 // jae LBB28_159, $44(%rip) - LONG $0x01148a41 // movb (%r9,%rax), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x001f840f; WORD $0x0000 // je LBB28_159, $31(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_159, $22(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x000a860f; WORD $0x0000 // jbe LBB28_159, $10(%rip) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0xfff79ce9; BYTE $0xff // jmp LBB28_180, $-2148(%rip) - WORD $0x9090 // .p2align 4, 0x90 - -LBB28_159: - LONG $0x01788d48 // leaq $1(%rax), %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_163, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_163, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_163, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0xf76b870f; WORD $0xffff // ja LBB28_180, $-2197(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_163: - LONG $0x02788d48 // leaq $2(%rax), %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_167, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_167, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_167, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0xf73b870f; WORD $0xffff // ja LBB28_180, $-2245(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_167: - LONG $0x03788d48 // leaq $3(%rax), %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_171, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_171, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_171, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0xf70b870f; WORD $0xffff // ja LBB28_180, $-2293(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_171: - LONG $0x04508d48 // leaq $4(%rax), %rdx - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x02cb860f; WORD $0x0000 // jbe LBB28_244, $715(%rip) - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x004a840f; WORD $0x0000 // je LBB28_177, $74(%rip) - LONG $0x09148d49 // leaq (%r9,%rcx), %rdx - LONG $0x04c68348 // addq $4, %rsi - LONG $0x017c8d49; BYTE $0x05 // leaq $5(%r9,%rax), %rdi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_174: - LONG $0xff5fbe0f // movsbl $-1(%rdi), %ebx - WORD $0xfb83; BYTE $0x20 // cmpl $32, %ebx - LONG $0xf6bb870f; WORD $0xffff // ja LBB28_179, $-2373(%rip) - LONG $0xdca30f49 // btq %rbx, %r12 - LONG $0xf6b1830f; WORD $0xffff // jae LBB28_179, $-2383(%rip) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0xff48; BYTE $0xc6 // incq %rsi - LONG $0xffdd850f; WORD $0xffff // jne LBB28_174, $-35(%rip) - LONG $0x00000be9; BYTE $0x00 // jmp LBB28_178, $11(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB28_177: - WORD $0x014c; BYTE $0xca // addq %r9, %rdx - -LBB28_178: - WORD $0x294c; BYTE $0xca // subq %r9, %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0xf698820f; WORD $0xffff // jb LBB28_180, $-2408(%rip) - LONG $0x000268e9; BYTE $0x00 // jmp LBB28_246, $616(%rip) - -LBB28_182: - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - LONG $0xfffd47e9; BYTE $0xff // jmp LBB28_130, $-697(%rip) - -LBB28_208: - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0x000053e9; BYTE $0x00 // jmp LBB28_213, $83(%rip) - -LBB28_29: - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0xc6 // addq %rax, %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0xf465820f; WORD $0xffff // jb LBB28_28, $-2971(%rip) - LONG $0xfff4bbe9; BYTE $0xff // jmp LBB28_30, $-2885(%rip) - -LBB28_209: - WORD $0x014c; BYTE $0xca // addq %r9, %rdx - -LBB28_210: - WORD $0x294c; BYTE $0xca // subq %r9, %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - WORD $0x394c; BYTE $0xc7 // cmpq %r8, %rdi - LONG $0x0017820f; WORD $0x0000 // jb LBB28_212, $23(%rip) - LONG $0x000025e9; BYTE $0x00 // jmp LBB28_213, $37(%rip) - -LBB28_211: - WORD $0x894c; BYTE $0xc9 // movq %r9, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x0148; BYTE $0xcf // addq %rcx, %rdi - WORD $0x394c; BYTE $0xc7 // cmpq %r8, %rdi - LONG $0x0013830f; WORD $0x0000 // jae LBB28_213, $19(%rip) - -LBB28_212: - LONG $0x01478d48 // leaq $1(%rdi), %rax - LONG $0x00458949 // movq %rax, (%r13) - LONG $0x393c8041; BYTE $0x5d // cmpb $93, (%r9,%rdi) - LONG $0x0250840f; WORD $0x0000 // je LBB28_253, $592(%rip) - -LBB28_213: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0x00458949 // movq %rax, (%r13) - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x01a68e0f; WORD $0x0000 // jle LBB28_242, $422(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_214: - WORD $0x894c; BYTE $0xdf // movq %r11, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xffe4c5e8; BYTE $0xff // callq _skip_one_fast, $-6971(%rip) - LONG $0xc05d8b4c // movq $-64(%rbp), %r11 - WORD $0x8b4d; BYTE $0x0b // movq (%r11), %r9 - LONG $0x084b8b49 // movq $8(%r11), %rcx - LONG $0x00458b49 // movq (%r13), %rax - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x2948; BYTE $0xce // subq %rcx, %rsi - LONG $0x002a830f; WORD $0x0000 // jae LBB28_219, $42(%rip) - LONG $0x01148a41 // movb (%r9,%rax), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x001d840f; WORD $0x0000 // je LBB28_219, $29(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x0014840f; WORD $0x0000 // je LBB28_219, $20(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0008860f; WORD $0x0000 // jbe LBB28_219, $8(%rip) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0x000122e9; BYTE $0x00 // jmp LBB28_240, $290(%rip) - - // .p2align 4, 0x90 -LBB28_219: - LONG $0x01788d48 // leaq $1(%rax), %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_223, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_223, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_223, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00f3870f; WORD $0x0000 // ja LBB28_240, $243(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_223: - LONG $0x02788d48 // leaq $2(%rax), %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_227, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_227, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_227, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00c3870f; WORD $0x0000 // ja LBB28_240, $195(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_227: - LONG $0x03788d48 // leaq $3(%rax), %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_231, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_231, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_231, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0093870f; WORD $0x0000 // ja LBB28_240, $147(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_231: - LONG $0x04508d48 // leaq $4(%rax), %rdx - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x00eb860f; WORD $0x0000 // jbe LBB28_244, $235(%rip) - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x004a840f; WORD $0x0000 // je LBB28_237, $74(%rip) - LONG $0x09148d49 // leaq (%r9,%rcx), %rdx - LONG $0x04c68348 // addq $4, %rsi - LONG $0x017c8d49; BYTE $0x05 // leaq $5(%r9,%rax), %rdi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_234: - LONG $0xff5fbe0f // movsbl $-1(%rdi), %ebx - WORD $0xfb83; BYTE $0x20 // cmpl $32, %ebx - LONG $0x0043870f; WORD $0x0000 // ja LBB28_239, $67(%rip) - LONG $0xdca30f49 // btq %rbx, %r12 - LONG $0x0039830f; WORD $0x0000 // jae LBB28_239, $57(%rip) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0xff48; BYTE $0xc6 // incq %rsi - LONG $0xffdd850f; WORD $0xffff // jne LBB28_234, $-35(%rip) - LONG $0x00000be9; BYTE $0x00 // jmp LBB28_238, $11(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB28_237: - WORD $0x014c; BYTE $0xca // addq %r9, %rdx - -LBB28_238: - WORD $0x294c; BYTE $0xca // subq %r9, %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0020820f; WORD $0x0000 // jb LBB28_240, $32(%rip) - LONG $0x000088e9; BYTE $0x00 // jmp LBB28_246, $136(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_239: - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x0148; BYTE $0xd7 // addq %rdx, %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x006d830f; WORD $0x0000 // jae LBB28_246, $109(%rip) - -LBB28_240: - LONG $0x01578d48 // leaq $1(%rdi), %rdx - LONG $0x00558949 // movq %rdx, (%r13) - LONG $0x39048a41 // movb (%r9,%rdi), %al - WORD $0x2c3c // cmpb $44, %al - LONG $0x0079850f; WORD $0x0000 // jne LBB28_248, $121(%rip) - LONG $0xff468d49 // leaq $-1(%r14), %rax - LONG $0x02fe8349 // cmpq $2, %r14 - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - LONG $0xfe698d0f; WORD $0xffff // jge LBB28_214, $-407(%rip) - -LBB28_242: - LONG $0xb8458b48 // movq $-72(%rbp), %rax - LONG $0x10c08348 // addq $16, %rax - LONG $0xa8558b4c // movq $-88(%rbp), %r10 - LONG $0xb8458948 // movq %rax, $-72(%rbp) - WORD $0x394c; BYTE $0xd0 // cmpq %r10, %rax - LONG $0xa04d8b48 // movq $-96(%rbp), %rcx - LONG $0xf11b850f; WORD $0xffff // jne LBB28_2, $-3813(%rip) - -LBB28_243: - QUAD $0xfffff0b4056ff9c5 // vmovdqa $-3916(%rip), %xmm0 /* LCPI28_0(%rip) */ - LONG $0x017ffac5 // vmovdqu %xmm0, (%rcx) - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x894c; BYTE $0xde // movq %r11, %rsi - WORD $0x894c; BYTE $0xea // movq %r13, %rdx - WORD $0xc931 // xorl %ecx, %ecx - LONG $0xffd200e8; BYTE $0xff // callq _fsm_exec, $-11776(%rip) - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - LONG $0x000015e9; BYTE $0x00 // jmp LBB28_247, $21(%rip) - -LBB28_244: - LONG $0x00558949 // movq %rdx, (%r13) - -LBB28_245: - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB28_246: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0x00458949 // movq %rax, (%r13) - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - -LBB28_247: - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0x38c48348 // addq $56, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB28_248: - WORD $0x5d3c // cmpb $93, %al - LONG $0xffd5850f; WORD $0xffff // jne LBB28_245, $-43(%rip) - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0x00001fe9; BYTE $0x00 // jmp LBB28_253, $31(%rip) - -LBB28_250: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0x00458949 // movq %rax, (%r13) - LONG $0xdec1c748; WORD $0xffff; BYTE $0xff // movq $-34, %rcx - LONG $0xffffcbe9; BYTE $0xff // jmp LBB28_247, $-53(%rip) - -LBB28_251: - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - -LBB28_252: - WORD $0xf980; BYTE $0x7d // cmpb $125, %cl - LONG $0xffb1850f; WORD $0xffff // jne LBB28_246, $-79(%rip) - -LBB28_253: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0x00458949 // movq %rax, (%r13) - LONG $0xdfc1c748; WORD $0xffff; BYTE $0xff // movq $-33, %rcx - LONG $0xfffface9; BYTE $0xff // jmp LBB28_247, $-84(%rip) - -LBB28_254: - LONG $0xc0458b48 // movq $-64(%rbp), %rax - LONG $0x08408b48 // movq $8(%rax), %rax - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - LONG $0xffff91e9; BYTE $0xff // jmp LBB28_247, $-111(%rip) - -LBB28_255: - LONG $0x02c38348 // addq $2, %rbx - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - LONG $0x000012e9; BYTE $0x00 // jmp LBB28_258, $18(%rip) - -LBB28_256: - WORD $0xff48; BYTE $0xc3 // incq %rbx - LONG $0xfdc1c748; WORD $0xffff; BYTE $0xff // movq $-3, %rcx - LONG $0x000003e9; BYTE $0x00 // jmp LBB28_258, $3(%rip) - -LBB28_257: - WORD $0xff48; BYTE $0xc3 // incq %rbx - -LBB28_258: - WORD $0x294c; BYTE $0xcb // subq %r9, %rbx - LONG $0x005d8949 // movq %rbx, (%r13) - LONG $0xffff63e9; BYTE $0xff // jmp LBB28_247, $-157(%rip) - -LBB28_259: - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - LONG $0x000007e9; BYTE $0x00 // jmp LBB28_261, $7(%rip) - -LBB28_260: - LONG $0xfcc1c748; WORD $0xffff; BYTE $0xff // movq $-4, %rcx - -LBB28_261: - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - LONG $0xc86d8b4c // movq $-56(%rbp), %r13 - LONG $0xffffd5e9; BYTE $0xff // jmp LBB28_258, $-43(%rip) - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_validate_utf8: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - WORD $0x8b4c; BYTE $0x17 // movq (%rdi), %r10 - LONG $0x085f8b4c // movq $8(%rdi), %r11 - WORD $0x8b48; BYTE $0x0e // movq (%rsi), %rcx - WORD $0x014c; BYTE $0xd1 // addq %r10, %rcx - LONG $0x1a448d4f; BYTE $0xfd // leaq $-3(%r10,%r11), %r8 - LONG $0x000010e9; BYTE $0x00 // jmp LBB29_1, $16(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB29_19: - WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx - -LBB29_1: - WORD $0x394c; BYTE $0xc1 // cmpq %r8, %rcx - LONG $0x00e1830f; WORD $0x0000 // jae LBB29_2, $225(%rip) - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - WORD $0x3980; BYTE $0x00 // cmpb $0, (%rcx) - LONG $0xffe6890f; WORD $0xffff // jns LBB29_19, $-26(%rip) - WORD $0x018b // movl (%rcx), %eax - WORD $0xc789 // movl %eax, %edi - LONG $0xc0f0e781; WORD $0x00c0 // andl $12632304, %edi - LONG $0x80e0ff81; WORD $0x0080 // cmpl $8421600, %edi - LONG $0x0030850f; WORD $0x0000 // jne LBB29_10, $48(%rip) - WORD $0xc789 // movl %eax, %edi - LONG $0x200fe781; WORD $0x0000 // andl $8207, %edi - LONG $0x200dff81; WORD $0x0000 // cmpl $8205, %edi - LONG $0x001c840f; WORD $0x0000 // je LBB29_10, $28(%rip) - LONG $0x000003bb; BYTE $0x00 // movl $3, %ebx - WORD $0xff85 // testl %edi, %edi - LONG $0xffaf850f; WORD $0xffff // jne LBB29_19, $-81(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB29_10: - WORD $0xc789 // movl %eax, %edi - LONG $0xc0e0e781; WORD $0x0000 // andl $49376, %edi - LONG $0x80c0ff81; WORD $0x0000 // cmpl $32960, %edi - LONG $0x0010850f; WORD $0x0000 // jne LBB29_12, $16(%rip) - WORD $0xc789 // movl %eax, %edi - LONG $0x000002bb; BYTE $0x00 // movl $2, %ebx - WORD $0xe783; BYTE $0x1e // andl $30, %edi - LONG $0xff7c850f; WORD $0xffff // jne LBB29_19, $-132(%rip) - -LBB29_12: - WORD $0xc789 // movl %eax, %edi - LONG $0xc0f8e781; WORD $0xc0c0 // andl $-1061109512, %edi - LONG $0x80f0ff81; WORD $0x8080 // cmpl $-2139062032, %edi - LONG $0x0026850f; WORD $0x0000 // jne LBB29_16, $38(%rip) - WORD $0xc789 // movl %eax, %edi - LONG $0x3007e781; WORD $0x0000 // andl $12295, %edi - LONG $0x0018840f; WORD $0x0000 // je LBB29_16, $24(%rip) - LONG $0x000004bb; BYTE $0x00 // movl $4, %ebx - WORD $0x04a8 // testb $4, %al - LONG $0xff4d840f; WORD $0xffff // je LBB29_19, $-179(%rip) - LONG $0x00300325; BYTE $0x00 // andl $12291, %eax - LONG $0xff42840f; WORD $0xffff // je LBB29_19, $-190(%rip) - -LBB29_16: - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x294c; BYTE $0xd7 // subq %r10, %rdi - WORD $0x8b48; BYTE $0x1a // movq (%rdx), %rbx - LONG $0x00fb8148; WORD $0x0010; BYTE $0x00 // cmpq $4096, %rbx - LONG $0x0187830f; WORD $0x0000 // jae LBB29_17, $391(%rip) - WORD $0x6348; BYTE $0xc7 // movslq %edi, %rax - LONG $0x017b8d48 // leaq $1(%rbx), %rdi - WORD $0x8948; BYTE $0x3a // movq %rdi, (%rdx) - LONG $0xda448948; BYTE $0x08 // movq %rax, $8(%rdx,%rbx,8) - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - LONG $0xffff13e9; BYTE $0xff // jmp LBB29_19, $-237(%rip) - -LBB29_2: - WORD $0x014d; BYTE $0xd3 // addq %r10, %r11 - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x013e830f; WORD $0x0000 // jae LBB29_36, $318(%rip) - LONG $0xdc458d4c // leaq $-36(%rbp), %r8 - LONG $0xda4d8d4c // leaq $-38(%rbp), %r9 - LONG $0x000016e9; BYTE $0x00 // jmp LBB29_4, $22(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB29_5: - WORD $0xff48; BYTE $0xc1 // incq %rcx - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x011b830f; WORD $0x0000 // jae LBB29_36, $283(%rip) - -LBB29_4: - WORD $0x3980; BYTE $0x00 // cmpb $0, (%rcx) - LONG $0xffeb890f; WORD $0xffff // jns LBB29_5, $-21(%rip) - LONG $0x00dc45c6 // movb $0, $-36(%rbp) - LONG $0x00da45c6 // movb $0, $-38(%rbp) - WORD $0x894c; BYTE $0xdb // movq %r11, %rbx - WORD $0x2948; BYTE $0xcb // subq %rcx, %rbx - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0x0035820f; WORD $0x0000 // jb LBB29_21, $53(%rip) - LONG $0x21b60f44 // movzbl (%rcx), %r12d - LONG $0x71b60f44; BYTE $0x01 // movzbl $1(%rcx), %r14d - LONG $0xdc658844 // movb %r12b, $-36(%rbp) - LONG $0x02798d4c // leaq $2(%rcx), %r15 - LONG $0xfec38348 // addq $-2, %rbx - WORD $0x894c; BYTE $0xcf // movq %r9, %rdi - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0029840f; WORD $0x0000 // je LBB29_24, $41(%rip) - -LBB29_25: - LONG $0x07b60f41 // movzbl (%r15), %eax - WORD $0x0788 // movb %al, (%rdi) - LONG $0x65b60f44; BYTE $0xdc // movzbl $-36(%rbp), %r12d - LONG $0xda7db60f // movzbl $-38(%rbp), %edi - LONG $0x000017e9; BYTE $0x00 // jmp LBB29_26, $23(%rip) - -LBB29_21: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x894c; BYTE $0xc7 // movq %r8, %rdi - WORD $0x8949; BYTE $0xcf // movq %rcx, %r15 - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xffd7850f; WORD $0xffff // jne LBB29_25, $-41(%rip) - -LBB29_24: - WORD $0xff31 // xorl %edi, %edi - -LBB29_26: - LONG $0xc7b60f40 // movzbl %dil, %eax - WORD $0xe0c1; BYTE $0x10 // shll $16, %eax - LONG $0xdeb60f41 // movzbl %r14b, %ebx - WORD $0xe3c1; BYTE $0x08 // shll $8, %ebx - LONG $0xfcb60f41 // movzbl %r12b, %edi - WORD $0xdf09 // orl %ebx, %edi - WORD $0xf809 // orl %edi, %eax - LONG $0xc0c0f025; BYTE $0x00 // andl $12632304, %eax - LONG $0x8080e03d; BYTE $0x00 // cmpl $8421600, %eax - LONG $0x0021850f; WORD $0x0000 // jne LBB29_29, $33(%rip) - WORD $0xf889 // movl %edi, %eax - LONG $0x00200f25; BYTE $0x00 // andl $8207, %eax - LONG $0x00200d3d; BYTE $0x00 // cmpl $8205, %eax - LONG $0x000f840f; WORD $0x0000 // je LBB29_29, $15(%rip) - LONG $0x000003bb; BYTE $0x00 // movl $3, %ebx - WORD $0xc085 // testl %eax, %eax - LONG $0x0023850f; WORD $0x0000 // jne LBB29_34, $35(%rip) - WORD $0x9090 // .p2align 4, 0x90 - -LBB29_29: - LONG $0x1ec4f641 // testb $30, %r12b - LONG $0x0028840f; WORD $0x0000 // je LBB29_31, $40(%rip) - LONG $0xc0e0e781; WORD $0x0000 // andl $49376, %edi - LONG $0x000002bb; BYTE $0x00 // movl $2, %ebx - LONG $0x80c0ff81; WORD $0x0000 // cmpl $32960, %edi - LONG $0x0011850f; WORD $0x0000 // jne LBB29_31, $17(%rip) - -LBB29_34: - WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0xff1f820f; WORD $0xffff // jb LBB29_4, $-225(%rip) - LONG $0x000035e9; BYTE $0x00 // jmp LBB29_36, $53(%rip) - -LBB29_31: - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - WORD $0x294c; BYTE $0xd0 // subq %r10, %rax - WORD $0x8b48; BYTE $0x3a // movq (%rdx), %rdi - LONG $0x00ff8148; WORD $0x0010; BYTE $0x00 // cmpq $4096, %rdi - LONG $0x0034830f; WORD $0x0000 // jae LBB29_32, $52(%rip) - WORD $0x9848 // cltq - LONG $0x015f8d48 // leaq $1(%rdi), %rbx - WORD $0x8948; BYTE $0x1a // movq %rbx, (%rdx) - LONG $0xfa448948; BYTE $0x08 // movq %rax, $8(%rdx,%rdi,8) - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0xfee5820f; WORD $0xffff // jb LBB29_4, $-283(%rip) - -LBB29_36: - WORD $0x294c; BYTE $0xd1 // subq %r10, %rcx - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - WORD $0xc031 // xorl %eax, %eax - -LBB29_37: - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB29_32: - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffffe4e9; BYTE $0xff // jmp LBB29_37, $-28(%rip) - -LBB29_17: - WORD $0x8948; BYTE $0x3e // movq %rdi, (%rsi) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffffd5e9; BYTE $0xff // jmp LBB29_37, $-43(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_validate_utf8_fast: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - WORD $0x8b4c; BYTE $0x17 // movq (%rdi), %r10 - LONG $0x085f8b4c // movq $8(%rdi), %r11 - LONG $0x1a748d4b; BYTE $0xfd // leaq $-3(%r10,%r11), %rsi - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x00e0830f; WORD $0x0000 // jae LBB30_14, $224(%rip) - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - LONG $0x000016e9; BYTE $0x00 // jmp LBB30_3, $22(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB30_2: - WORD $0x0148; BYTE $0xd0 // addq %rdx, %rax - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0x00c2830f; WORD $0x0000 // jae LBB30_14, $194(%rip) - -LBB30_3: - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - WORD $0x3880; BYTE $0x00 // cmpb $0, (%rax) - LONG $0xffe6890f; WORD $0xffff // jns LBB30_2, $-26(%rip) - WORD $0x388b // movl (%rax), %edi - WORD $0xf989 // movl %edi, %ecx - LONG $0xc0f0e181; WORD $0x00c0 // andl $12632304, %ecx - LONG $0x80e0f981; WORD $0x0080 // cmpl $8421600, %ecx - LONG $0x0030850f; WORD $0x0000 // jne LBB30_7, $48(%rip) - WORD $0xf989 // movl %edi, %ecx - LONG $0x200fe181; WORD $0x0000 // andl $8207, %ecx - LONG $0x200df981; WORD $0x0000 // cmpl $8205, %ecx - LONG $0x001c840f; WORD $0x0000 // je LBB30_7, $28(%rip) - LONG $0x000003ba; BYTE $0x00 // movl $3, %edx - WORD $0xc985 // testl %ecx, %ecx - LONG $0xffaf850f; WORD $0xffff // jne LBB30_2, $-81(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB30_7: - WORD $0xf989 // movl %edi, %ecx - LONG $0xc0e0e181; WORD $0x0000 // andl $49376, %ecx - LONG $0x80c0f981; WORD $0x0000 // cmpl $32960, %ecx - LONG $0x0010850f; WORD $0x0000 // jne LBB30_9, $16(%rip) - WORD $0xf989 // movl %edi, %ecx - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - WORD $0xe183; BYTE $0x1e // andl $30, %ecx - LONG $0xff7c850f; WORD $0xffff // jne LBB30_2, $-132(%rip) - -LBB30_9: - WORD $0xf989 // movl %edi, %ecx - LONG $0xc0f8e181; WORD $0xc0c0 // andl $-1061109512, %ecx - LONG $0x80f0f981; WORD $0x8080 // cmpl $-2139062032, %ecx - LONG $0x0029850f; WORD $0x0000 // jne LBB30_13, $41(%rip) - WORD $0xf989 // movl %edi, %ecx - LONG $0x3007e181; WORD $0x0000 // andl $12295, %ecx - LONG $0x001b840f; WORD $0x0000 // je LBB30_13, $27(%rip) - LONG $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0x04c7f640 // testb $4, %dil - LONG $0xff4b840f; WORD $0xffff // je LBB30_2, $-181(%rip) - LONG $0x3003e781; WORD $0x0000 // andl $12291, %edi - LONG $0xff3f840f; WORD $0xffff // je LBB30_2, $-193(%rip) - -LBB30_13: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x014c; BYTE $0xd0 // addq %r10, %rax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB30_14: - WORD $0x014d; BYTE $0xd3 // addq %r10, %r11 - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x0103830f; WORD $0x0000 // jae LBB30_30, $259(%rip) - LONG $0xf4458d4c // leaq $-12(%rbp), %r8 - LONG $0xf24d8d4c // leaq $-14(%rbp), %r9 - LONG $0x000015e9; BYTE $0x00 // jmp LBB30_17, $21(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB30_16: - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x00e1830f; WORD $0x0000 // jae LBB30_30, $225(%rip) - -LBB30_17: - WORD $0x3880; BYTE $0x00 // cmpb $0, (%rax) - LONG $0xffeb890f; WORD $0xffff // jns LBB30_16, $-21(%rip) - LONG $0x00f445c6 // movb $0, $-12(%rbp) - LONG $0x00f245c6 // movb $0, $-14(%rbp) - WORD $0x894c; BYTE $0xda // movq %r11, %rdx - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0031820f; WORD $0x0000 // jb LBB30_21, $49(%rip) - WORD $0xb60f; BYTE $0x30 // movzbl (%rax), %esi - LONG $0x0178b60f // movzbl $1(%rax), %edi - LONG $0xf4758840 // movb %sil, $-12(%rbp) - LONG $0x02488d48 // leaq $2(%rax), %rcx - LONG $0xfec28348 // addq $-2, %rdx - WORD $0x894c; BYTE $0xcb // movq %r9, %rbx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0025840f; WORD $0x0000 // je LBB30_22, $37(%rip) - -LBB30_20: - WORD $0xb60f; BYTE $0x09 // movzbl (%rcx), %ecx - WORD $0x0b88 // movb %cl, (%rbx) - LONG $0xf475b60f // movzbl $-12(%rbp), %esi - LONG $0xf24db60f // movzbl $-14(%rbp), %ecx - LONG $0x000015e9; BYTE $0x00 // jmp LBB30_23, $21(%rip) - -LBB30_21: - WORD $0xf631 // xorl %esi, %esi - WORD $0xff31 // xorl %edi, %edi - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xffdb850f; WORD $0xffff // jne LBB30_20, $-37(%rip) - -LBB30_22: - WORD $0xc931 // xorl %ecx, %ecx - -LBB30_23: - WORD $0xb60f; BYTE $0xc9 // movzbl %cl, %ecx - WORD $0xe1c1; BYTE $0x10 // shll $16, %ecx - LONG $0xffb60f40 // movzbl %dil, %edi - WORD $0xe7c1; BYTE $0x08 // shll $8, %edi - LONG $0xd6b60f40 // movzbl %sil, %edx - WORD $0xfa09 // orl %edi, %edx - WORD $0xd109 // orl %edx, %ecx - LONG $0xc0f0e181; WORD $0x00c0 // andl $12632304, %ecx - LONG $0x80e0f981; WORD $0x0080 // cmpl $8421600, %ecx - LONG $0x0026850f; WORD $0x0000 // jne LBB30_26, $38(%rip) - WORD $0xd789 // movl %edx, %edi - LONG $0x200fe781; WORD $0x0000 // andl $8207, %edi - LONG $0x200dff81; WORD $0x0000 // cmpl $8205, %edi - LONG $0x0012840f; WORD $0x0000 // je LBB30_26, $18(%rip) - LONG $0x000003b9; BYTE $0x00 // movl $3, %ecx - WORD $0xff85 // testl %edi, %edi - LONG $0x0026850f; WORD $0x0000 // jne LBB30_28, $38(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB30_26: - LONG $0x1ec6f640 // testb $30, %sil - LONG $0xff07840f; WORD $0xffff // je LBB30_13, $-249(%rip) - LONG $0xc0e0e281; WORD $0x0000 // andl $49376, %edx - LONG $0x000002b9; BYTE $0x00 // movl $2, %ecx - LONG $0x80c0fa81; WORD $0x0000 // cmpl $32960, %edx - LONG $0xfef0850f; WORD $0xffff // jne LBB30_13, $-272(%rip) - -LBB30_28: - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0xff1f820f; WORD $0xffff // jb LBB30_17, $-225(%rip) - -LBB30_30: - WORD $0xc031 // xorl %eax, %eax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; QUAD $0x0000000000000000; QUAD $0x0000000000000000; WORD $0x0000 // .p2align 5, 0x00 - -LCPI31_0: - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - - // .p2align 4, 0x90 -_f32toa: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0xc07ef9c5 // vmovd %xmm0, %eax - WORD $0xc189 // movl %eax, %ecx - WORD $0xe9c1; BYTE $0x17 // shrl $23, %ecx - WORD $0xb60f; BYTE $0xd9 // movzbl %cl, %ebx - LONG $0x00fffb81; WORD $0x0000 // cmpl $255, %ebx - LONG $0x0cf1840f; WORD $0x0000 // je LBB31_138, $3313(%rip) - WORD $0x07c6; BYTE $0x2d // movb $45, (%rdi) - WORD $0x8941; BYTE $0xc1 // movl %eax, %r9d - LONG $0x1fe9c141 // shrl $31, %r9d - LONG $0x0f048d4e // leaq (%rdi,%r9), %r8 - LONG $0xffffffa9; BYTE $0x7f // testl $2147483647, %eax - LONG $0x01bf840f; WORD $0x0000 // je LBB31_11, $447(%rip) - LONG $0x7fffff25; BYTE $0x00 // andl $8388607, %eax - WORD $0xdb85 // testl %ebx, %ebx - LONG $0x0cd3840f; WORD $0x0000 // je LBB31_139, $3283(%rip) - LONG $0x0000b08d; WORD $0x0080 // leal $8388608(%rax), %esi - LONG $0x6abb8d44; WORD $0xffff; BYTE $0xff // leal $-150(%rbx), %r15d - WORD $0x4b8d; BYTE $0x81 // leal $-127(%rbx), %ecx - WORD $0xf983; BYTE $0x17 // cmpl $23, %ecx - LONG $0x0019870f; WORD $0x0000 // ja LBB31_5, $25(%rip) - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - WORD $0xd9f7 // negl %ecx - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0xd348; BYTE $0xe2 // shlq %cl, %rdx - WORD $0xd2f7 // notl %edx - WORD $0xf285 // testl %esi, %edx - LONG $0x03fc840f; WORD $0x0000 // je LBB31_32, $1020(%rip) - -LBB31_5: - WORD $0x8941; BYTE $0xf6 // movl %esi, %r14d - LONG $0x01e68341 // andl $1, %r14d - WORD $0xc085 // testl %eax, %eax - WORD $0x940f; BYTE $0xc0 // sete %al - WORD $0xfb83; BYTE $0x01 // cmpl $1, %ebx - WORD $0x970f; BYTE $0xc1 // seta %cl - WORD $0xc120 // andb %al, %cl - WORD $0xb60f; BYTE $0xc9 // movzbl %cl, %ecx - WORD $0x8941; BYTE $0xf2 // movl %esi, %r10d - LONG $0x02e2c141 // shll $2, %r10d - LONG $0xfeb1448d // leal $-2(%rcx,%rsi,4), %eax - LONG $0x13d76941; WORD $0x1344; BYTE $0x00 // imull $1262611, %r15d, %edx - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0xc984 // testb %cl, %cl - LONG $0x0101bb41; WORD $0xfff8 // movl $-524031, %r11d - LONG $0xdb440f44 // cmovel %ebx, %r11d - WORD $0x0141; BYTE $0xd3 // addl %edx, %r11d - LONG $0x16fbc141 // sarl $22, %r11d - LONG $0xb1cb6941; WORD $0xe56c; BYTE $0xff // imull $-1741647, %r11d, %ecx - WORD $0xe9c1; BYTE $0x13 // shrl $19, %ecx - WORD $0x0144; BYTE $0xf9 // addl %r15d, %ecx - LONG $0x00001fba; BYTE $0x00 // movl $31, %edx - WORD $0x2944; BYTE $0xda // subl %r11d, %edx - LONG $0x991d8d48; WORD $0x00b4; BYTE $0x00 // leaq $46233(%rip), %rbx /* _pow10_ceil_sig_f32.g(%rip) */ - WORD $0xc1fe // incb %cl - WORD $0xe0d3 // shll %cl, %eax - LONG $0xd3248b4c // movq (%rbx,%rdx,8), %r12 - WORD $0xf749; BYTE $0xe4 // mulq %r12 - LONG $0x20e8c148 // shrq $32, %rax - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - WORD $0x970f; BYTE $0xc3 // seta %bl - WORD $0xd341; BYTE $0xe2 // shll %cl, %r10d - WORD $0xd309 // orl %edx, %ebx - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - WORD $0xf749; BYTE $0xe4 // mulq %r12 - WORD $0x8949; BYTE $0xd2 // movq %rdx, %r10 - LONG $0x20e8c148 // shrq $32, %rax - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - LONG $0xc7970f41 // seta %r15b - LONG $0x02b5048d; WORD $0x0000; BYTE $0x00 // leal $2(,%rsi,4), %eax - WORD $0xe0d3 // shll %cl, %eax - WORD $0x0945; BYTE $0xd7 // orl %r10d, %r15d - WORD $0xf749; BYTE $0xe4 // mulq %r12 - LONG $0x20e8c148 // shrq $32, %rax - WORD $0xc931 // xorl %ecx, %ecx - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - WORD $0x970f; BYTE $0xc1 // seta %cl - WORD $0xd109 // orl %edx, %ecx - WORD $0x0144; BYTE $0xf3 // addl %r14d, %ebx - WORD $0x2944; BYTE $0xf1 // subl %r14d, %ecx - LONG $0x28ff8341 // cmpl $40, %r15d - LONG $0x003d820f; WORD $0x0000 // jb LBB31_7, $61(%rip) - WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax - LONG $0xcccdbd41; WORD $0xcccc // movl $3435973837, %r13d - LONG $0xe8af0f4c // imulq %rax, %r13 - LONG $0x25edc149 // shrq $37, %r13 - WORD $0x8941; BYTE $0xde // movl %ebx, %r14d - QUAD $0x00000000ed348d4a // leaq (,%r13,8), %rsi - LONG $0xb6048d48 // leaq (%rsi,%rsi,4), %rax - WORD $0x394c; BYTE $0xf0 // cmpq %r14, %rax - LONG $0xc6920f41 // setb %r14b - LONG $0xb6648d4c; BYTE $0x28 // leaq $40(%rsi,%rsi,4), %r12 - WORD $0xce89 // movl %ecx, %esi - WORD $0x3949; BYTE $0xf4 // cmpq %rsi, %r12 - WORD $0x960f; BYTE $0xc0 // setbe %al - WORD $0x3044; BYTE $0xf0 // xorb %r14b, %al - LONG $0x01e9840f; WORD $0x0000 // je LBB31_16, $489(%rip) - -LBB31_7: - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - LONG $0x02e8c148 // shrq $2, %rax - WORD $0x8944; BYTE $0xd6 // movl %r10d, %esi - WORD $0xe683; BYTE $0xfc // andl $-4, %esi - WORD $0xf339 // cmpl %esi, %ebx - LONG $0xc6970f41 // seta %r14b - WORD $0x568d; BYTE $0x04 // leal $4(%rsi), %edx - WORD $0xca39 // cmpl %ecx, %edx - WORD $0x960f; BYTE $0xc3 // setbe %bl - WORD $0x3044; BYTE $0xf3 // xorb %r14b, %bl - LONG $0x0074840f; WORD $0x0000 // je LBB31_12, $116(%rip) - WORD $0xce83; BYTE $0x02 // orl $2, %esi - LONG $0x0001bd41; WORD $0x0000 // movl $1, %r13d - WORD $0x3941; BYTE $0xf7 // cmpl %esi, %r15d - LONG $0x000e870f; WORD $0x0000 // ja LBB31_10, $14(%rip) - WORD $0x940f; BYTE $0xc1 // sete %cl - LONG $0x02eac041 // shrb $2, %r10b - WORD $0x2041; BYTE $0xca // andb %cl, %r10b - LONG $0xeab60f45 // movzbl %r10b, %r13d - -LBB31_10: - WORD $0x0141; BYTE $0xc5 // addl %eax, %r13d - LONG $0xa0fd8141; WORD $0x0186; BYTE $0x00 // cmpl $100000, %r13d - LONG $0x0059820f; WORD $0x0000 // jb LBB31_17, $89(%rip) - -LBB31_13: - LONG $0x000006be; BYTE $0x00 // movl $6, %esi - LONG $0x40fd8141; WORD $0x0f42; BYTE $0x00 // cmpl $1000000, %r13d - LONG $0x0086820f; WORD $0x0000 // jb LBB31_22, $134(%rip) - LONG $0x000007be; BYTE $0x00 // movl $7, %esi - LONG $0x80fd8141; WORD $0x9896; BYTE $0x00 // cmpl $10000000, %r13d - LONG $0x0074820f; WORD $0x0000 // jb LBB31_22, $116(%rip) - LONG $0x00fd8141; WORD $0xf5e1; BYTE $0x05 // cmpl $100000000, %r13d - LONG $0x000009be; BYTE $0x00 // movl $9, %esi - LONG $0x000060e9; BYTE $0x00 // jmp LBB31_21, $96(%rip) - -LBB31_11: - LONG $0x3000c641 // movb $48, (%r8) - WORD $0x2941; BYTE $0xf8 // subl %edi, %r8d - WORD $0xff41; BYTE $0xc0 // incl %r8d - LONG $0x000af9e9; BYTE $0x00 // jmp LBB31_137, $2809(%rip) - -LBB31_12: - WORD $0xd139 // cmpl %edx, %ecx - WORD $0xd883; BYTE $0xff // sbbl $-1, %eax - WORD $0x8941; BYTE $0xc5 // movl %eax, %r13d - LONG $0xa0fd8141; WORD $0x0186; BYTE $0x00 // cmpl $100000, %r13d - LONG $0xffa7830f; WORD $0xffff // jae LBB31_13, $-89(%rip) - -LBB31_17: - LONG $0x000001be; BYTE $0x00 // movl $1, %esi - LONG $0x0afd8341 // cmpl $10, %r13d - LONG $0x0030820f; WORD $0x0000 // jb LBB31_22, $48(%rip) - LONG $0x000002be; BYTE $0x00 // movl $2, %esi - LONG $0x64fd8341 // cmpl $100, %r13d - LONG $0x0021820f; WORD $0x0000 // jb LBB31_22, $33(%rip) - LONG $0x000003be; BYTE $0x00 // movl $3, %esi - LONG $0xe8fd8141; WORD $0x0003; BYTE $0x00 // cmpl $1000, %r13d - LONG $0x000f820f; WORD $0x0000 // jb LBB31_22, $15(%rip) - LONG $0x10fd8141; WORD $0x0027; BYTE $0x00 // cmpl $10000, %r13d - LONG $0x000005be; BYTE $0x00 // movl $5, %esi - -LBB31_21: - WORD $0xde83; BYTE $0x00 // sbbl $0, %esi - -LBB31_22: - LONG $0x1e148d46 // leal (%rsi,%r11), %r10d - LONG $0x1e448d42; BYTE $0x05 // leal $5(%rsi,%r11), %eax - WORD $0xf883; BYTE $0x1b // cmpl $27, %eax - LONG $0x0075820f; WORD $0x0000 // jb LBB31_26, $117(%rip) - WORD $0xf089 // movl %esi, %eax - LONG $0x00748d4d; BYTE $0x01 // leaq $1(%r8,%rax), %r14 - LONG $0x10fd8141; WORD $0x0027; BYTE $0x00 // cmpl $10000, %r13d - LONG $0x00f3820f; WORD $0x0000 // jb LBB31_30, $243(%rip) - WORD $0x8944; BYTE $0xe8 // movl %r13d, %eax - LONG $0xb71759bb; BYTE $0xd1 // movl $3518437209, %ebx - LONG $0xd8af0f48 // imulq %rax, %rbx - LONG $0x2debc148 // shrq $45, %rbx - LONG $0xd8f0c369; WORD $0xffff // imull $-10000, %ebx, %eax - WORD $0x0144; BYTE $0xe8 // addl %r13d, %eax - LONG $0x048b840f; WORD $0x0000 // je LBB31_62, $1163(%rip) - WORD $0xc189 // movl %eax, %ecx - LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx - LONG $0x25e9c148 // shrq $37, %rcx - WORD $0xd16b; BYTE $0x64 // imull $100, %ecx, %edx - WORD $0xd029 // subl %edx, %eax - LONG $0x32158d48; WORD $0x003f; BYTE $0x00 // leaq $16178(%rip), %rdx /* _Digits(%rip) */ - LONG $0x4204b70f // movzwl (%rdx,%rax,2), %eax - LONG $0x46894166; BYTE $0xfe // movw %ax, $-2(%r14) - LONG $0x4a04b70f // movzwl (%rdx,%rcx,2), %eax - LONG $0x46894166; BYTE $0xfc // movw %ax, $-4(%r14) - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0xfc4e8d49 // leaq $-4(%r14), %rcx - WORD $0xfb83; BYTE $0x64 // cmpl $100, %ebx - LONG $0x00ab830f; WORD $0x0000 // jae LBB31_64, $171(%rip) - -LBB31_31: - WORD $0xda89 // movl %ebx, %edx - LONG $0x0000e8e9; BYTE $0x00 // jmp LBB31_66, $232(%rip) - -LBB31_26: - WORD $0x8941; BYTE $0xf4 // movl %esi, %r12d - WORD $0x8545; BYTE $0xdb // testl %r11d, %r11d - LONG $0x021d880f; WORD $0x0000 // js LBB31_38, $541(%rip) - LONG $0x20348d4b // leaq (%r8,%r12), %rsi - LONG $0x10fd8141; WORD $0x0027; BYTE $0x00 // cmpl $10000, %r13d - LONG $0x028d820f; WORD $0x0000 // jb LBB31_43, $653(%rip) - WORD $0x8944; BYTE $0xe8 // movl %r13d, %eax - LONG $0xb71759b9; BYTE $0xd1 // movl $3518437209, %ecx - LONG $0xc8af0f48 // imulq %rax, %rcx - LONG $0x2de9c148 // shrq $45, %rcx - LONG $0xd8f0c169; WORD $0xffff // imull $-10000, %ecx, %eax - WORD $0x0144; BYTE $0xe8 // addl %r13d, %eax - LONG $0x1fd06948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rax, %rdx - LONG $0x25eac148 // shrq $37, %rdx - WORD $0xda6b; BYTE $0x64 // imull $100, %edx, %ebx - WORD $0xd829 // subl %ebx, %eax - LONG $0xbc1d8d48; WORD $0x003e; BYTE $0x00 // leaq $16060(%rip), %rbx /* _Digits(%rip) */ - LONG $0x4304b70f // movzwl (%rbx,%rax,2), %eax - LONG $0xfe468966 // movw %ax, $-2(%rsi) - LONG $0xfc468d48 // leaq $-4(%rsi), %rax - LONG $0x5314b70f // movzwl (%rbx,%rdx,2), %edx - LONG $0xfc568966 // movw %dx, $-4(%rsi) - WORD $0x8941; BYTE $0xcd // movl %ecx, %r13d - LONG $0x64fd8341 // cmpl $100, %r13d - LONG $0x0249830f; WORD $0x0000 // jae LBB31_44, $585(%rip) - -LBB31_29: - WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - LONG $0x000286e9; BYTE $0x00 // jmp LBB31_46, $646(%rip) - -LBB31_16: - WORD $0x394c; BYTE $0xe6 // cmpq %r12, %rsi - LONG $0xffdd8341 // sbbl $-1, %r13d - WORD $0xff41; BYTE $0xc3 // incl %r11d - LONG $0xa0fd8141; WORD $0x0186; BYTE $0x00 // cmpl $100000, %r13d - LONG $0xfe54830f; WORD $0xffff // jae LBB31_13, $-428(%rip) - LONG $0xfffea8e9; BYTE $0xff // jmp LBB31_17, $-344(%rip) - -LBB31_30: - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x894c; BYTE $0xf1 // movq %r14, %rcx - WORD $0x8944; BYTE $0xeb // movl %r13d, %ebx - WORD $0xfb83; BYTE $0x64 // cmpl $100, %ebx - LONG $0xff55820f; WORD $0xffff // jb LBB31_31, $-171(%rip) - -LBB31_64: - WORD $0xff48; BYTE $0xc9 // decq %rcx - LONG $0x5b1d8d4c; WORD $0x003e; BYTE $0x00 // leaq $15963(%rip), %r11 /* _Digits(%rip) */ - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_65: - WORD $0xda89 // movl %ebx, %edx - LONG $0x1fd26948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rdx, %rdx - LONG $0x25eac148 // shrq $37, %rdx - WORD $0xc26b; BYTE $0x64 // imull $100, %edx, %eax - WORD $0xde89 // movl %ebx, %esi - WORD $0xc629 // subl %eax, %esi - LONG $0x04b70f41; BYTE $0x73 // movzwl (%r11,%rsi,2), %eax - LONG $0xff418966 // movw %ax, $-1(%rcx) - LONG $0xfec18348 // addq $-2, %rcx - LONG $0x270ffb81; WORD $0x0000 // cmpl $9999, %ebx - WORD $0xd389 // movl %edx, %ebx - LONG $0xffd1870f; WORD $0xffff // ja LBB31_65, $-47(%rip) - -LBB31_66: - LONG $0x01708d49 // leaq $1(%r8), %rsi - WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx - LONG $0x001d820f; WORD $0x0000 // jb LBB31_68, $29(%rip) - WORD $0xd089 // movl %edx, %eax - LONG $0x0b0d8d48; WORD $0x003e; BYTE $0x00 // leaq $15883(%rip), %rcx /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl - LONG $0x0141448a // movb $1(%rcx,%rax,2), %al - LONG $0x01508841 // movb %dl, $1(%r8) - LONG $0x02408841 // movb %al, $2(%r8) - LONG $0x000005e9; BYTE $0x00 // jmp LBB31_69, $5(%rip) - -LBB31_68: - WORD $0xc280; BYTE $0x30 // addb $48, %dl - WORD $0x1688 // movb %dl, (%rsi) - -LBB31_69: - WORD $0x294d; BYTE $0xce // subq %r9, %r14 - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_70: - LONG $0xff7e8041; BYTE $0x30 // cmpb $48, $-1(%r14) - LONG $0xff768d4d // leaq $-1(%r14), %r14 - LONG $0xfff1840f; WORD $0xffff // je LBB31_70, $-15(%rip) - WORD $0x8841; BYTE $0x10 // movb %dl, (%r8) - LONG $0x01468d49 // leaq $1(%r14), %rax - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x2948; BYTE $0xf1 // subq %rsi, %rcx - LONG $0x02f98348 // cmpq $2, %rcx - LONG $0x00068c0f; WORD $0x0000 // jl LBB31_73, $6(%rip) - WORD $0x06c6; BYTE $0x2e // movb $46, (%rsi) - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - -LBB31_73: - LONG $0x6506c641 // movb $101, (%r14) - LONG $0xff428d41 // leal $-1(%r10), %eax - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x01228e0f; WORD $0x0000 // jle LBB31_76, $290(%rip) - LONG $0x0146c641; BYTE $0x2b // movb $43, $1(%r14) - WORD $0xf883; BYTE $0x0a // cmpl $10, %eax - LONG $0x01248c0f; WORD $0x0000 // jl LBB31_77, $292(%rip) - -LBB31_75: - WORD $0x9848 // cltq - LONG $0x8c0d8d48; WORD $0x003d; BYTE $0x00 // leaq $15756(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x46894166; BYTE $0x02 // movw %ax, $2(%r14) - LONG $0x04c68349 // addq $4, %r14 - WORD $0x894d; BYTE $0xf0 // movq %r14, %r8 - LONG $0x000889e9; BYTE $0x00 // jmp LBB31_136, $2185(%rip) - -LBB31_32: - WORD $0xeed3 // shrl %cl, %esi - LONG $0x86a0fe81; WORD $0x0001 // cmpl $100000, %esi - LONG $0x01f1820f; WORD $0x0000 // jb LBB31_52, $497(%rip) - LONG $0x000006b8; BYTE $0x00 // movl $6, %eax - LONG $0x4240fe81; WORD $0x000f // cmpl $1000000, %esi - LONG $0x0020820f; WORD $0x0000 // jb LBB31_36, $32(%rip) - LONG $0x000007b8; BYTE $0x00 // movl $7, %eax - LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi - LONG $0x000f820f; WORD $0x0000 // jb LBB31_36, $15(%rip) - LONG $0xe100fe81; WORD $0x05f5 // cmpl $100000000, %esi - LONG $0x000009b8; BYTE $0x00 // movl $9, %eax - LONG $0x00d88348 // sbbq $0, %rax - -LBB31_36: - WORD $0x014c; BYTE $0xc0 // addq %r8, %rax - -LBB31_37: - WORD $0xf189 // movl %esi, %ecx - LONG $0xb71759ba; BYTE $0xd1 // movl $3518437209, %edx - LONG $0xd1af0f48 // imulq %rcx, %rdx - LONG $0x2deac148 // shrq $45, %rdx - LONG $0xd8f0ca69; WORD $0xffff // imull $-10000, %edx, %ecx - WORD $0xf101 // addl %esi, %ecx - LONG $0x1ff16948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rsi - LONG $0x25eec148 // shrq $37, %rsi - WORD $0xde6b; BYTE $0x64 // imull $100, %esi, %ebx - WORD $0xd929 // subl %ebx, %ecx - LONG $0x071d8d48; WORD $0x003d; BYTE $0x00 // leaq $15623(%rip), %rbx /* _Digits(%rip) */ - LONG $0x4b0cb70f // movzwl (%rbx,%rcx,2), %ecx - LONG $0xfe488966 // movw %cx, $-2(%rax) - LONG $0x730cb70f // movzwl (%rbx,%rsi,2), %ecx - LONG $0xfc488966 // movw %cx, $-4(%rax) - WORD $0x8949; BYTE $0xc1 // movq %rax, %r9 - LONG $0xfcc08348 // addq $-4, %rax - WORD $0xd689 // movl %edx, %esi - WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x01ac830f; WORD $0x0000 // jae LBB31_56, $428(%rip) - LONG $0x0001efe9; BYTE $0x00 // jmp LBB31_58, $495(%rip) - -LBB31_38: - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x04878f0f; WORD $0x0000 // jg LBB31_96, $1159(%rip) - LONG $0x00c74166; WORD $0x2e30 // movw $11824, (%r8) - LONG $0x02c08349 // addq $2, %r8 - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x0474890f; WORD $0x0000 // jns LBB31_96, $1140(%rip) - WORD $0xd6f7 // notl %esi - WORD $0x2944; BYTE $0xde // subl %r11d, %esi - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0xfe83; BYTE $0x7f // cmpl $127, %esi - LONG $0x043e820f; WORD $0x0000 // jb LBB31_94, $1086(%rip) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x8949; BYTE $0xf7 // movq %rsi, %r15 - LONG $0x80e78349 // andq $-128, %r15 - LONG $0x80478d49 // leaq $-128(%r15), %rax - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - LONG $0x07eec149 // shrq $7, %r14 - WORD $0xff49; BYTE $0xc6 // incq %r14 - WORD $0x8945; BYTE $0xf3 // movl %r14d, %r11d - LONG $0x03e38341 // andl $3, %r11d - LONG $0x01803d48; WORD $0x0000 // cmpq $384, %rax - LONG $0x0321830f; WORD $0x0000 // jae LBB31_88, $801(%rip) - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0x0003c4e9; BYTE $0x00 // jmp LBB31_90, $964(%rip) - -LBB31_76: - LONG $0x0146c641; BYTE $0x2d // movb $45, $1(%r14) - WORD $0xd8f7 // negl %eax - WORD $0xf883; BYTE $0x0a // cmpl $10, %eax - LONG $0xfedc8d0f; WORD $0xffff // jge LBB31_75, $-292(%rip) - -LBB31_77: - WORD $0x3004 // addb $48, %al - LONG $0x02468841 // movb %al, $2(%r14) - LONG $0x03c68349 // addq $3, %r14 - WORD $0x894d; BYTE $0xf0 // movq %r14, %r8 - LONG $0x000771e9; BYTE $0x00 // jmp LBB31_136, $1905(%rip) - -LBB31_43: - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - LONG $0x64fd8341 // cmpl $100, %r13d - LONG $0xfdb7820f; WORD $0xffff // jb LBB31_29, $-585(%rip) - -LBB31_44: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0x481d8d4c; WORD $0x003c; BYTE $0x00 // leaq $15432(%rip), %r11 /* _Digits(%rip) */ - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB31_45: - WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx - LONG $0x25e9c148 // shrq $37, %rcx - WORD $0xd96b; BYTE $0x64 // imull $100, %ecx, %ebx - WORD $0x8944; BYTE $0xea // movl %r13d, %edx - WORD $0xda29 // subl %ebx, %edx - LONG $0x14b70f41; BYTE $0x53 // movzwl (%r11,%rdx,2), %edx - LONG $0xff508966 // movw %dx, $-1(%rax) - LONG $0xfec08348 // addq $-2, %rax - LONG $0x0ffd8141; WORD $0x0027; BYTE $0x00 // cmpl $9999, %r13d - WORD $0x8941; BYTE $0xcd // movl %ecx, %r13d - LONG $0xffcd870f; WORD $0xffff // ja LBB31_45, $-51(%rip) - -LBB31_46: - WORD $0x6349; BYTE $0xc2 // movslq %r10d, %rax - WORD $0xf983; BYTE $0x0a // cmpl $10, %ecx - LONG $0x0022820f; WORD $0x0000 // jb LBB31_48, $34(%rip) - WORD $0xc989 // movl %ecx, %ecx - LONG $0xf8158d48; WORD $0x003b; BYTE $0x00 // leaq $15352(%rip), %rdx /* _Digits(%rip) */ - LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx - LONG $0x08894166 // movw %cx, (%r8) - WORD $0x0149; BYTE $0xc0 // addq %rax, %r8 - WORD $0x3949; BYTE $0xc4 // cmpq %rax, %r12 - LONG $0x00178c0f; WORD $0x0000 // jl LBB31_49, $23(%rip) - LONG $0x0006f1e9; BYTE $0x00 // jmp LBB31_136, $1777(%rip) - -LBB31_48: - WORD $0xc180; BYTE $0x30 // addb $48, %cl - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - WORD $0x0149; BYTE $0xc0 // addq %rax, %r8 - WORD $0x3949; BYTE $0xc4 // cmpq %rax, %r12 - LONG $0x06df8d0f; WORD $0x0000 // jge LBB31_136, $1759(%rip) - -LBB31_49: - LONG $0x21048d4b // leaq (%r9,%r12), %rax - LONG $0x075c8d4c; BYTE $0x01 // leaq $1(%rdi,%rax), %r11 - WORD $0x394d; BYTE $0xc3 // cmpq %r8, %r11 - LONG $0xd8460f4d // cmovbeq %r8, %r11 - LONG $0x0f0c8d4a // leaq (%rdi,%r9), %rcx - WORD $0x014c; BYTE $0xe1 // addq %r12, %rcx - WORD $0x2949; BYTE $0xcb // subq %rcx, %r11 - LONG $0x80fb8149; WORD $0x0000; BYTE $0x00 // cmpq $128, %r11 - LONG $0x0206820f; WORD $0x0000 // jb LBB31_85, $518(%rip) - WORD $0x894d; BYTE $0xda // movq %r11, %r10 - LONG $0x80e28349 // andq $-128, %r10 - LONG $0x804a8d49 // leaq $-128(%r10), %rcx - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - LONG $0x07ebc148 // shrq $7, %rbx - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xda89 // movl %ebx, %edx - WORD $0xe283; BYTE $0x03 // andl $3, %edx - LONG $0x80f98148; WORD $0x0001; BYTE $0x00 // cmpq $384, %rcx - LONG $0x00d7830f; WORD $0x0000 // jae LBB31_78, $215(%rip) - WORD $0xc031 // xorl %eax, %eax - LONG $0x000188e9; BYTE $0x00 // jmp LBB31_80, $392(%rip) - -LBB31_52: - LONG $0x0001b941; WORD $0x0000 // movl $1, %r9d - WORD $0xfe83; BYTE $0x0a // cmpl $10, %esi - LONG $0x0021820f; WORD $0x0000 // jb LBB31_55, $33(%rip) - LONG $0x0002b941; WORD $0x0000 // movl $2, %r9d - WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x0012820f; WORD $0x0000 // jb LBB31_55, $18(%rip) - LONG $0x0003b941; WORD $0x0000 // movl $3, %r9d - LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi - LONG $0x01bc830f; WORD $0x0000 // jae LBB31_86, $444(%rip) - -LBB31_55: - WORD $0x014d; BYTE $0xc1 // addq %r8, %r9 - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x0048820f; WORD $0x0000 // jb LBB31_58, $72(%rip) - -LBB31_56: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0x2f158d4c; WORD $0x003b; BYTE $0x00 // leaq $15151(%rip), %r10 /* _Digits(%rip) */ - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_57: - WORD $0xf389 // movl %esi, %ebx - WORD $0xf689 // movl %esi, %esi - LONG $0x1ff66948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rsi, %rsi - LONG $0x25eec148 // shrq $37, %rsi - WORD $0xce6b; BYTE $0x64 // imull $100, %esi, %ecx - WORD $0xda89 // movl %ebx, %edx - WORD $0xca29 // subl %ecx, %edx - LONG $0x0cb70f41; BYTE $0x52 // movzwl (%r10,%rdx,2), %ecx - LONG $0xff488966 // movw %cx, $-1(%rax) - LONG $0xfec08348 // addq $-2, %rax - LONG $0x270ffb81; WORD $0x0000 // cmpl $9999, %ebx - LONG $0xffd1870f; WORD $0xffff // ja LBB31_57, $-47(%rip) - -LBB31_58: - WORD $0xfe83; BYTE $0x0a // cmpl $10, %esi - LONG $0x0016820f; WORD $0x0000 // jb LBB31_60, $22(%rip) - WORD $0xf089 // movl %esi, %eax - LONG $0xdf0d8d48; WORD $0x003a; BYTE $0x00 // leaq $15071(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x00894166 // movw %ax, (%r8) - LONG $0x000007e9; BYTE $0x00 // jmp LBB31_61, $7(%rip) - -LBB31_60: - LONG $0x30c68040 // addb $48, %sil - WORD $0x8841; BYTE $0x30 // movb %sil, (%r8) - -LBB31_61: - WORD $0x2941; BYTE $0xf9 // subl %edi, %r9d - WORD $0x8945; BYTE $0xc8 // movl %r9d, %r8d - LONG $0x0005d5e9; BYTE $0x00 // jmp LBB31_137, $1493(%rip) - -LBB31_62: - LONG $0x0004b941; WORD $0x0000 // movl $4, %r9d - LONG $0xfc4e8d49 // leaq $-4(%r14), %rcx - WORD $0xfb83; BYTE $0x64 // cmpl $100, %ebx - LONG $0xfb9d820f; WORD $0xffff // jb LBB31_31, $-1123(%rip) - LONG $0xfffc43e9; BYTE $0xff // jmp LBB31_64, $-957(%rip) - -LBB31_78: - QUAD $0x000001e0078c8d48 // leaq $480(%rdi,%rax), %rcx - LONG $0xfce38348 // andq $-4, %rbx - WORD $0xf748; BYTE $0xdb // negq %rbx - WORD $0xc031 // xorl %eax, %eax - QUAD $0xfffff87f056ffdc5 // vmovdqa $-1921(%rip), %ymm0 /* LCPI31_0(%rip) */ - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_79: - QUAD $0xfffe2001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-480(%rcx,%rax) - QUAD $0xfffe4001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-448(%rcx,%rax) - QUAD $0xfffe6001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-416(%rcx,%rax) - QUAD $0xfffe8001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-384(%rcx,%rax) - QUAD $0xfffea001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-352(%rcx,%rax) - QUAD $0xfffec001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-320(%rcx,%rax) - QUAD $0xfffee001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-288(%rcx,%rax) - QUAD $0xffff0001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-256(%rcx,%rax) - QUAD $0xffff2001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-224(%rcx,%rax) - QUAD $0xffff4001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-192(%rcx,%rax) - QUAD $0xffff6001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-160(%rcx,%rax) - LONG $0x447ffec5; WORD $0x8001 // vmovdqu %ymm0, $-128(%rcx,%rax) - LONG $0x447ffec5; WORD $0xa001 // vmovdqu %ymm0, $-96(%rcx,%rax) - LONG $0x447ffec5; WORD $0xc001 // vmovdqu %ymm0, $-64(%rcx,%rax) - LONG $0x447ffec5; WORD $0xe001 // vmovdqu %ymm0, $-32(%rcx,%rax) - LONG $0x047ffec5; BYTE $0x01 // vmovdqu %ymm0, (%rcx,%rax) - LONG $0x02000548; WORD $0x0000 // addq $512, %rax - LONG $0x04c38348 // addq $4, %rbx - LONG $0xff70850f; WORD $0xffff // jne LBB31_79, $-144(%rip) - -LBB31_80: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0037840f; WORD $0x0000 // je LBB31_83, $55(%rip) - WORD $0x014c; BYTE $0xc8 // addq %r9, %rax - WORD $0x014c; BYTE $0xe0 // addq %r12, %rax - LONG $0x07448d48; BYTE $0x60 // leaq $96(%rdi,%rax), %rax - WORD $0xf748; BYTE $0xda // negq %rdx - QUAD $0xfffff7c1056ffdc5 // vmovdqa $-2111(%rip), %ymm0 /* LCPI31_0(%rip) */ - BYTE $0x90 // .p2align 4, 0x90 - -LBB31_82: - LONG $0x407ffec5; BYTE $0xa0 // vmovdqu %ymm0, $-96(%rax) - LONG $0x407ffec5; BYTE $0xc0 // vmovdqu %ymm0, $-64(%rax) - LONG $0x407ffec5; BYTE $0xe0 // vmovdqu %ymm0, $-32(%rax) - LONG $0x007ffec5 // vmovdqu %ymm0, (%rax) - LONG $0x80e88348 // subq $-128, %rax - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0xffe0850f; WORD $0xffff // jne LBB31_82, $-32(%rip) - -LBB31_83: - WORD $0x394d; BYTE $0xda // cmpq %r11, %r10 - LONG $0x04b9840f; WORD $0x0000 // je LBB31_136, $1209(%rip) - WORD $0x014c; BYTE $0xd6 // addq %r10, %rsi - LONG $0x90909090 // .p2align 4, 0x90 - -LBB31_85: - WORD $0x06c6; BYTE $0x30 // movb $48, (%rsi) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0xfff1820f; WORD $0xffff // jb LBB31_85, $-15(%rip) - LONG $0x00049ee9; BYTE $0x00 // jmp LBB31_136, $1182(%rip) - -LBB31_86: - LONG $0x2710fe81; WORD $0x0000 // cmpl $10000, %esi - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0x00d88348 // sbbq $0, %rax - LONG $0x05c08348 // addq $5, %rax - LONG $0x2710fe81; WORD $0x0000 // cmpl $10000, %esi - LONG $0xfc3a830f; WORD $0xffff // jae LBB31_37, $-966(%rip) - WORD $0x8949; BYTE $0xc1 // movq %rax, %r9 - LONG $0xfffe2ee9; BYTE $0xff // jmp LBB31_56, $-466(%rip) - -LBB31_88: - QUAD $0x000001e239848d49 // leaq $482(%r9,%rdi), %rax - LONG $0xfce68349 // andq $-4, %r14 - WORD $0xf749; BYTE $0xde // negq %r14 - WORD $0xdb31 // xorl %ebx, %ebx - QUAD $0xfffff73e056ffdc5 // vmovdqa $-2242(%rip), %ymm0 /* LCPI31_0(%rip) */ - -LBB31_89: - QUAD $0xfffe2018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-480(%rax,%rbx) - QUAD $0xfffe4018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-448(%rax,%rbx) - QUAD $0xfffe6018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-416(%rax,%rbx) - QUAD $0xfffe8018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-384(%rax,%rbx) - QUAD $0xfffea018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-352(%rax,%rbx) - QUAD $0xfffec018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-320(%rax,%rbx) - QUAD $0xfffee018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-288(%rax,%rbx) - QUAD $0xffff0018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-256(%rax,%rbx) - QUAD $0xffff2018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-224(%rax,%rbx) - QUAD $0xffff4018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-192(%rax,%rbx) - QUAD $0xffff6018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-160(%rax,%rbx) - LONG $0x447ffec5; WORD $0x8018 // vmovdqu %ymm0, $-128(%rax,%rbx) - LONG $0x447ffec5; WORD $0xa018 // vmovdqu %ymm0, $-96(%rax,%rbx) - LONG $0x447ffec5; WORD $0xc018 // vmovdqu %ymm0, $-64(%rax,%rbx) - LONG $0x447ffec5; WORD $0xe018 // vmovdqu %ymm0, $-32(%rax,%rbx) - LONG $0x047ffec5; BYTE $0x18 // vmovdqu %ymm0, (%rax,%rbx) - LONG $0x00c38148; WORD $0x0002; BYTE $0x00 // addq $512, %rbx - LONG $0x04c68349 // addq $4, %r14 - LONG $0xff6f850f; WORD $0xffff // jne LBB31_89, $-145(%rip) - -LBB31_90: - WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x0033840f; WORD $0x0000 // je LBB31_93, $51(%rip) - WORD $0x014c; BYTE $0xcb // addq %r9, %rbx - LONG $0x1f448d48; BYTE $0x62 // leaq $98(%rdi,%rbx), %rax - WORD $0xf749; BYTE $0xdb // negq %r11 - QUAD $0xfffff691056ffdc5 // vmovdqa $-2415(%rip), %ymm0 /* LCPI31_0(%rip) */ - -LBB31_92: - LONG $0x407ffec5; BYTE $0xa0 // vmovdqu %ymm0, $-96(%rax) - LONG $0x407ffec5; BYTE $0xc0 // vmovdqu %ymm0, $-64(%rax) - LONG $0x407ffec5; BYTE $0xe0 // vmovdqu %ymm0, $-32(%rax) - LONG $0x007ffec5 // vmovdqu %ymm0, (%rax) - LONG $0x80e88348 // subq $-128, %rax - WORD $0xff49; BYTE $0xc3 // incq %r11 - LONG $0xffe0850f; WORD $0xffff // jne LBB31_92, $-32(%rip) - -LBB31_93: - WORD $0x014d; BYTE $0xf8 // addq %r15, %r8 - WORD $0x394c; BYTE $0xfe // cmpq %r15, %rsi - LONG $0x0025840f; WORD $0x0000 // je LBB31_96, $37(%rip) - -LBB31_94: - WORD $0x0145; BYTE $0xd7 // addl %r10d, %r15d - WORD $0xf741; BYTE $0xdf // negl %r15d - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_95: - LONG $0x3000c641 // movb $48, (%r8) - WORD $0xff49; BYTE $0xc0 // incq %r8 - WORD $0xff41; BYTE $0xcf // decl %r15d - LONG $0xfff0850f; WORD $0xffff // jne LBB31_95, $-16(%rip) - -LBB31_96: - LONG $0x20048d4b // leaq (%r8,%r12), %rax - LONG $0x10fd8141; WORD $0x0027; BYTE $0x00 // cmpl $10000, %r13d - LONG $0x0063820f; WORD $0x0000 // jb LBB31_99, $99(%rip) - WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - LONG $0x1759bb41; WORD $0xd1b7 // movl $3518437209, %r11d - LONG $0xd9af0f4c // imulq %rcx, %r11 - LONG $0x2debc149 // shrq $45, %r11 - LONG $0xf0cb6941; WORD $0xffd8; BYTE $0xff // imull $-10000, %r11d, %ecx - WORD $0x0144; BYTE $0xe9 // addl %r13d, %ecx - LONG $0x0190840f; WORD $0x0000 // je LBB31_101, $400(%rip) - WORD $0xca89 // movl %ecx, %edx - LONG $0x1fd26948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rdx, %rdx - LONG $0x25eac148 // shrq $37, %rdx - WORD $0xda6b; BYTE $0x64 // imull $100, %edx, %ebx - WORD $0xd929 // subl %ebx, %ecx - LONG $0x051d8d48; WORD $0x0038; BYTE $0x00 // leaq $14341(%rip), %rbx /* _Digits(%rip) */ - LONG $0x4b0cb70f // movzwl (%rbx,%rcx,2), %ecx - LONG $0xfe488966 // movw %cx, $-2(%rax) - LONG $0x530cb70f // movzwl (%rbx,%rdx,2), %ecx - LONG $0xfc488966 // movw %cx, $-4(%rax) - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0xfcc08348 // addq $-4, %rax - LONG $0x64fb8341 // cmpl $100, %r11d - LONG $0x0018830f; WORD $0x0000 // jae LBB31_103, $24(%rip) - -LBB31_100: - WORD $0x8944; BYTE $0xd9 // movl %r11d, %ecx - LONG $0x00004ee9; BYTE $0x00 // jmp LBB31_105, $78(%rip) - -LBB31_99: - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x8945; BYTE $0xeb // movl %r13d, %r11d - LONG $0x64fb8341 // cmpl $100, %r11d - LONG $0xffe8820f; WORD $0xffff // jb LBB31_100, $-24(%rip) - -LBB31_103: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0xc2158d48; WORD $0x0037; BYTE $0x00 // leaq $14274(%rip), %rdx /* _Digits(%rip) */ - WORD $0x9090 // .p2align 4, 0x90 - -LBB31_104: - WORD $0x8944; BYTE $0xd9 // movl %r11d, %ecx - LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx - LONG $0x25e9c148 // shrq $37, %rcx - WORD $0xd96b; BYTE $0x64 // imull $100, %ecx, %ebx - WORD $0x8944; BYTE $0xde // movl %r11d, %esi - WORD $0xde29 // subl %ebx, %esi - LONG $0x7234b70f // movzwl (%rdx,%rsi,2), %esi - LONG $0xff708966 // movw %si, $-1(%rax) - LONG $0xfec08348 // addq $-2, %rax - LONG $0x0ffb8141; WORD $0x0027; BYTE $0x00 // cmpl $9999, %r11d - WORD $0x8941; BYTE $0xcb // movl %ecx, %r11d - LONG $0xffce870f; WORD $0xffff // ja LBB31_104, $-50(%rip) - -LBB31_105: - WORD $0xf983; BYTE $0x0a // cmpl $10, %ecx - LONG $0x0016820f; WORD $0x0000 // jb LBB31_107, $22(%rip) - WORD $0xc889 // movl %ecx, %eax - LONG $0x7c0d8d48; WORD $0x0037; BYTE $0x00 // leaq $14204(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x00894166 // movw %ax, (%r8) - LONG $0x000006e9; BYTE $0x00 // jmp LBB31_108, $6(%rip) - -LBB31_107: - WORD $0xc180; BYTE $0x30 // addb $48, %cl - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - -LBB31_108: - WORD $0x294d; BYTE $0xcc // subq %r9, %r12 - LONG $0x24548d49; BYTE $0x01 // leaq $1(%r12), %rdx - LONG $0x24748d49; BYTE $0x61 // leaq $97(%r12), %rsi - LONG $0x24448d49; BYTE $0x02 // leaq $2(%r12), %rax - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_109: - WORD $0xff48; BYTE $0xce // decq %rsi - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0x207c8043; WORD $0x30ff // cmpb $48, $-1(%r8,%r12) - LONG $0x24648d4d; BYTE $0xff // leaq $-1(%r12), %r12 - LONG $0xffe6840f; WORD $0xffff // je LBB31_109, $-26(%rip) - LONG $0x100c8d4d // leaq (%r8,%rdx), %r9 - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x00938e0f; WORD $0x0000 // jle LBB31_115, $147(%rip) - WORD $0x8944; BYTE $0xc9 // movl %r9d, %ecx - WORD $0x2944; BYTE $0xc1 // subl %r8d, %ecx - WORD $0xcb89 // movl %ecx, %ebx - WORD $0x2944; BYTE $0xd3 // subl %r10d, %ebx - LONG $0x00278e0f; WORD $0x0000 // jle LBB31_116, $39(%rip) - WORD $0xdb85 // testl %ebx, %ebx - LONG $0x00fa8e0f; WORD $0x0000 // jle LBB31_127, $250(%rip) - WORD $0x8941; BYTE $0xdb // movl %ebx, %r11d - LONG $0xff4b8d49 // leaq $-1(%r11), %rcx - WORD $0x8945; BYTE $0xd9 // movl %r11d, %r9d - LONG $0x03e18341 // andl $3, %r9d - LONG $0x03f98348 // cmpq $3, %rcx - LONG $0x0083830f; WORD $0x0000 // jae LBB31_121, $131(%rip) - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x0000ade9; BYTE $0x00 // jmp LBB31_124, $173(%rip) - -LBB31_116: - WORD $0x8945; BYTE $0xd6 // movl %r10d, %r14d - WORD $0x2941; BYTE $0xce // subl %ecx, %r14d - LONG $0x004f8e0f; WORD $0x0000 // jle LBB31_115, $79(%rip) - WORD $0x0145; BYTE $0xc2 // addl %r8d, %r10d - WORD $0x8945; BYTE $0xcb // movl %r9d, %r11d - WORD $0xf741; BYTE $0xd3 // notl %r11d - WORD $0x0145; BYTE $0xd3 // addl %r10d, %r11d - WORD $0xc031 // xorl %eax, %eax - LONG $0x7efb8341 // cmpl $126, %r11d - LONG $0x01bd860f; WORD $0x0000 // jbe LBB31_134, $445(%rip) - WORD $0xff49; BYTE $0xc3 // incq %r11 - WORD $0x894c; BYTE $0xd8 // movq %r11, %rax - LONG $0x80e08348 // andq $-128, %rax - LONG $0x000c8d4d // leaq (%r8,%rax), %r9 - LONG $0x80488d48 // leaq $-128(%rax), %rcx - WORD $0x8949; BYTE $0xcf // movq %rcx, %r15 - LONG $0x07efc149 // shrq $7, %r15 - WORD $0xff49; BYTE $0xc7 // incq %r15 - WORD $0x8945; BYTE $0xfa // movl %r15d, %r10d - LONG $0x03e28341 // andl $3, %r10d - LONG $0x80f98148; WORD $0x0001; BYTE $0x00 // cmpq $384, %rcx - LONG $0x0097830f; WORD $0x0000 // jae LBB31_128, $151(%rip) - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x000139e9; BYTE $0x00 // jmp LBB31_130, $313(%rip) - -LBB31_115: - WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 - LONG $0x0001a0e9; BYTE $0x00 // jmp LBB31_136, $416(%rip) - -LBB31_101: - LONG $0x0004b941; WORD $0x0000 // movl $4, %r9d - LONG $0xfcc08348 // addq $-4, %rax - LONG $0x64fb8341 // cmpl $100, %r11d - LONG $0xfe96820f; WORD $0xffff // jb LBB31_100, $-362(%rip) - LONG $0xfffea9e9; BYTE $0xff // jmp LBB31_103, $-343(%rip) - -LBB31_121: - LONG $0xfce38341 // andl $-4, %r11d - WORD $0xf749; BYTE $0xdb // negq %r11 - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB31_122: - LONG $0x081c8d49 // leaq (%r8,%rcx), %rbx - LONG $0xfc1a748b // movl $-4(%rdx,%rbx), %esi - LONG $0xfd1a7489 // movl %esi, $-3(%rdx,%rbx) - LONG $0xfcc18348 // addq $-4, %rcx - WORD $0x3949; BYTE $0xcb // cmpq %rcx, %r11 - LONG $0xffe7850f; WORD $0xffff // jne LBB31_122, $-25(%rip) - WORD $0xf748; BYTE $0xd9 // negq %rcx - -LBB31_124: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x0025840f; WORD $0x0000 // je LBB31_127, $37(%rip) - WORD $0xf749; BYTE $0xd9 // negq %r9 - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - WORD $0x2948; BYTE $0xca // subq %rcx, %rdx - WORD $0xc931 // xorl %ecx, %ecx - - // .p2align 4, 0x90 -LBB31_126: - LONG $0x0a348d48 // leaq (%rdx,%rcx), %rsi - LONG $0x1cb60f41; BYTE $0x34 // movzbl (%r12,%rsi), %ebx - LONG $0x345c8841; BYTE $0x01 // movb %bl, $1(%r12,%rsi) - WORD $0xff48; BYTE $0xc9 // decq %rcx - WORD $0x3949; BYTE $0xc9 // cmpq %rcx, %r9 - LONG $0xffe6850f; WORD $0xffff // jne LBB31_126, $-26(%rip) - -LBB31_127: - WORD $0x6349; BYTE $0xca // movslq %r10d, %rcx - LONG $0x0804c641; BYTE $0x2e // movb $46, (%r8,%rcx) - WORD $0x0149; BYTE $0xc0 // addq %rax, %r8 - LONG $0x000118e9; BYTE $0x00 // jmp LBB31_136, $280(%rip) - -LBB31_128: - LONG $0xfce78349 // andq $-4, %r15 - WORD $0xf749; BYTE $0xdf // negq %r15 - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0xfffff3e5056ffdc5 // vmovdqa $-3099(%rip), %ymm0 /* LCPI31_0(%rip) */ - -LBB31_129: - LONG $0x081c8d49 // leaq (%r8,%rcx), %rbx - LONG $0x047ffec5; BYTE $0x1a // vmovdqu %ymm0, (%rdx,%rbx) - LONG $0x447ffec5; WORD $0x201a // vmovdqu %ymm0, $32(%rdx,%rbx) - LONG $0x447ffec5; WORD $0x401a // vmovdqu %ymm0, $64(%rdx,%rbx) - LONG $0x447ffec5; WORD $0x601a // vmovdqu %ymm0, $96(%rdx,%rbx) - QUAD $0x0000801a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $128(%rdx,%rbx) - QUAD $0x0000a01a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $160(%rdx,%rbx) - QUAD $0x0000c01a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $192(%rdx,%rbx) - QUAD $0x0000e01a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $224(%rdx,%rbx) - QUAD $0x0001001a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $256(%rdx,%rbx) - QUAD $0x0001201a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $288(%rdx,%rbx) - QUAD $0x0001401a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $320(%rdx,%rbx) - QUAD $0x0001601a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $352(%rdx,%rbx) - QUAD $0x0001801a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $384(%rdx,%rbx) - QUAD $0x0001a01a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $416(%rdx,%rbx) - QUAD $0x0001c01a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $448(%rdx,%rbx) - QUAD $0x0001e01a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $480(%rdx,%rbx) - LONG $0x00c18148; WORD $0x0002; BYTE $0x00 // addq $512, %rcx - LONG $0x04c78349 // addq $4, %r15 - LONG $0xff68850f; WORD $0xffff // jne LBB31_129, $-152(%rip) - -LBB31_130: - WORD $0x0149; BYTE $0xd1 // addq %rdx, %r9 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0035840f; WORD $0x0000 // je LBB31_133, $53(%rip) - WORD $0x0149; BYTE $0xc8 // addq %rcx, %r8 - WORD $0x0149; BYTE $0xf0 // addq %rsi, %r8 - WORD $0xf749; BYTE $0xda // negq %r10 - QUAD $0xfffff330056ffdc5 // vmovdqa $-3280(%rip), %ymm0 /* LCPI31_0(%rip) */ - -LBB31_132: - LONG $0x7f7ec1c4; WORD $0xa040 // vmovdqu %ymm0, $-96(%r8) - LONG $0x7f7ec1c4; WORD $0xc040 // vmovdqu %ymm0, $-64(%r8) - LONG $0x7f7ec1c4; WORD $0xe040 // vmovdqu %ymm0, $-32(%r8) - LONG $0x7f7ec1c4; BYTE $0x00 // vmovdqu %ymm0, (%r8) - LONG $0x80e88349 // subq $-128, %r8 - WORD $0xff49; BYTE $0xc2 // incq %r10 - LONG $0xffdc850f; WORD $0xffff // jne LBB31_132, $-36(%rip) - -LBB31_133: - WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 - WORD $0x3949; BYTE $0xc3 // cmpq %rax, %r11 - LONG $0x0022840f; WORD $0x0000 // je LBB31_136, $34(%rip) - -LBB31_134: - WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_135: - LONG $0x3000c641 // movb $48, (%r8) - WORD $0xff49; BYTE $0xc0 // incq %r8 - WORD $0xc0ff // incl %eax - WORD $0x3944; BYTE $0xf0 // cmpl %r14d, %eax - LONG $0xffee8c0f; WORD $0xffff // jl LBB31_135, $-18(%rip) - -LBB31_136: - WORD $0x2941; BYTE $0xf8 // subl %edi, %r8d - -LBB31_137: - WORD $0x8944; BYTE $0xc0 // movl %r8d, %eax - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB31_138: - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0xffffe7e9; BYTE $0xff // jmp LBB31_137, $-25(%rip) - -LBB31_139: - LONG $0xff6bbf41; WORD $0xffff // movl $-149, %r15d - WORD $0xc689 // movl %eax, %esi - LONG $0xfff352e9; BYTE $0xff // jmp LBB31_5, $-3246(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -_format_significand: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0x634c; BYTE $0xc2 // movslq %edx, %r8 - WORD $0x0149; BYTE $0xf0 // addq %rsi, %r8 - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x20e8c148 // shrq $32, %rax - LONG $0x001c850f; WORD $0x0000 // jne LBB32_2, $28(%rip) - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x894d; BYTE $0xc6 // movq %r8, %r14 - WORD $0x8948; BYTE $0xfa // movq %rdi, %rdx - LONG $0x2710fa81; WORD $0x0000 // cmpl $10000, %edx - LONG $0x00e3830f; WORD $0x0000 // jae LBB32_8, $227(%rip) - -LBB32_7: - WORD $0xd789 // movl %edx, %edi - LONG $0x000132e9; BYTE $0x00 // jmp LBB32_10, $306(%rip) - -LBB32_2: - QUAD $0x77118461cefdb948; WORD $0xabcc // movabsq $-6067343680855748867, %rcx - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - WORD $0xf748; BYTE $0xe1 // mulq %rcx - LONG $0x1aeac148 // shrq $26, %rdx - LONG $0x1f00ca69; WORD $0xfa0a // imull $-100000000, %edx, %ecx - WORD $0xf901 // addl %edi, %ecx - LONG $0x00a4840f; WORD $0x0000 // je LBB32_3, $164(%rip) - WORD $0xc889 // movl %ecx, %eax - LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - LONG $0xc1af0f49 // imulq %r9, %rax - LONG $0x2de8c148 // shrq $45, %rax - LONG $0x2710f869; WORD $0x0000 // imull $10000, %eax, %edi - WORD $0xf929 // subl %edi, %ecx - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0xf9af0f49 // imulq %r9, %rdi - LONG $0x2defc148 // shrq $45, %rdi - LONG $0x2710ff69; WORD $0x0000 // imull $10000, %edi, %edi - WORD $0xf829 // subl %edi, %eax - WORD $0xb70f; BYTE $0xf9 // movzwl %cx, %edi - WORD $0xefc1; BYTE $0x02 // shrl $2, %edi - LONG $0x7bcf6944; WORD $0x0014; BYTE $0x00 // imull $5243, %edi, %r9d - LONG $0x11e9c141 // shrl $17, %r9d - LONG $0x64f96b41 // imull $100, %r9d, %edi - WORD $0xf929 // subl %edi, %ecx - LONG $0xd1b70f44 // movzwl %cx, %r10d - WORD $0xb70f; BYTE $0xf8 // movzwl %ax, %edi - WORD $0xefc1; BYTE $0x02 // shrl $2, %edi - LONG $0x147bff69; WORD $0x0000 // imull $5243, %edi, %edi - WORD $0xefc1; BYTE $0x11 // shrl $17, %edi - WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx - WORD $0xc829 // subl %ecx, %eax - LONG $0xd8b70f44 // movzwl %ax, %r11d - LONG $0x030d8d48; WORD $0x0034; BYTE $0x00 // leaq $13315(%rip), %rcx /* _Digits(%rip) */ - LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax - LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8) - LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax - LONG $0x40894166; BYTE $0xfc // movw %ax, $-4(%r8) - LONG $0x04b70f42; BYTE $0x59 // movzwl (%rcx,%r11,2), %eax - LONG $0x40894166; BYTE $0xfa // movw %ax, $-6(%r8) - LONG $0x7904b70f // movzwl (%rcx,%rdi,2), %eax - LONG $0x40894166; BYTE $0xf8 // movw %ax, $-8(%r8) - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0xf8708d4d // leaq $-8(%r8), %r14 - LONG $0x2710fa81; WORD $0x0000 // cmpl $10000, %edx - LONG $0xff38820f; WORD $0xffff // jb LBB32_7, $-200(%rip) - LONG $0x000016e9; BYTE $0x00 // jmp LBB32_8, $22(%rip) - -LBB32_3: - LONG $0x0008b941; WORD $0x0000 // movl $8, %r9d - LONG $0xf8708d4d // leaq $-8(%r8), %r14 - LONG $0x2710fa81; WORD $0x0000 // cmpl $10000, %edx - LONG $0xff1d820f; WORD $0xffff // jb LBB32_7, $-227(%rip) - -LBB32_8: - LONG $0x1759ba41; WORD $0xd1b7 // movl $3518437209, %r10d - LONG $0xa11d8d4c; WORD $0x0033; BYTE $0x00 // leaq $13217(%rip), %r11 /* _Digits(%rip) */ - BYTE $0x90 // .p2align 4, 0x90 - -LBB32_9: - WORD $0xd789 // movl %edx, %edi - LONG $0xfaaf0f49 // imulq %r10, %rdi - LONG $0x2defc148 // shrq $45, %rdi - LONG $0xd8f0c769; WORD $0xffff // imull $-10000, %edi, %eax - WORD $0xd001 // addl %edx, %eax - LONG $0x1fd86948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rax, %rbx - LONG $0x25ebc148 // shrq $37, %rbx - WORD $0xcb6b; BYTE $0x64 // imull $100, %ebx, %ecx - WORD $0xc829 // subl %ecx, %eax - LONG $0x04b70f41; BYTE $0x43 // movzwl (%r11,%rax,2), %eax - LONG $0x46894166; BYTE $0xfe // movw %ax, $-2(%r14) - LONG $0x04b70f41; BYTE $0x5b // movzwl (%r11,%rbx,2), %eax - LONG $0x46894166; BYTE $0xfc // movw %ax, $-4(%r14) - LONG $0xfcc68349 // addq $-4, %r14 - LONG $0xe0fffa81; WORD $0x05f5 // cmpl $99999999, %edx - WORD $0xfa89 // movl %edi, %edx - LONG $0xffb8870f; WORD $0xffff // ja LBB32_9, $-72(%rip) - -LBB32_10: - WORD $0xff83; BYTE $0x64 // cmpl $100, %edi - LONG $0x0020830f; WORD $0x0000 // jae LBB32_11, $32(%rip) - WORD $0xff83; BYTE $0x0a // cmpl $10, %edi - LONG $0x004d820f; WORD $0x0000 // jb LBB32_14, $77(%rip) - -LBB32_13: - WORD $0xf889 // movl %edi, %eax - LONG $0x3d0d8d48; WORD $0x0033; BYTE $0x00 // leaq $13117(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x46894166; BYTE $0xfe // movw %ax, $-2(%r14) - LONG $0x00003de9; BYTE $0x00 // jmp LBB32_15, $61(%rip) - -LBB32_11: - WORD $0xb70f; BYTE $0xc7 // movzwl %di, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx - WORD $0xcf29 // subl %ecx, %edi - WORD $0xb70f; BYTE $0xcf // movzwl %di, %ecx - LONG $0x11158d48; WORD $0x0033; BYTE $0x00 // leaq $13073(%rip), %rdx /* _Digits(%rip) */ - LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx - LONG $0x4e894166; BYTE $0xfe // movw %cx, $-2(%r14) - LONG $0xfec68349 // addq $-2, %r14 - WORD $0xc789 // movl %eax, %edi - WORD $0xff83; BYTE $0x0a // cmpl $10, %edi - LONG $0xffb3830f; WORD $0xffff // jae LBB32_13, $-77(%rip) - -LBB32_14: - LONG $0x30c78040 // addb $48, %dil - WORD $0x8840; BYTE $0x3e // movb %dil, (%rsi) - -LBB32_15: - WORD $0x294d; BYTE $0xc8 // subq %r9, %r8 - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_left_shift: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0xf189 // movl %esi, %ecx - LONG $0x68d16b48 // imulq $104, %rcx, %rdx - LONG $0xbc358d48; WORD $0x008c; BYTE $0x00 // leaq $36028(%rip), %rsi /* _LSHIFT_TAB(%rip) */ - LONG $0x32048b44 // movl (%rdx,%rsi), %r8d - WORD $0x8b4c; BYTE $0x17 // movq (%rdi), %r10 - LONG $0x104f634c // movslq $16(%rdi), %r9 - LONG $0x0432448a // movb $4(%rdx,%rsi), %al - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x0036840f; WORD $0x0000 // je LBB33_6, $54(%rip) - LONG $0x32548d48; BYTE $0x05 // leaq $5(%rdx,%rsi), %rdx - WORD $0xf631 // xorl %esi, %esi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB33_3: - WORD $0xc084 // testb %al, %al - LONG $0x0025840f; WORD $0x0000 // je LBB33_8, $37(%rip) - LONG $0x32043841 // cmpb %al, (%r10,%rsi) - LONG $0x0189850f; WORD $0x0000 // jne LBB33_5, $393(%rip) - LONG $0x3204b60f // movzbl (%rdx,%rsi), %eax - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x3949; BYTE $0xf1 // cmpq %rsi, %r9 - LONG $0xffde850f; WORD $0xffff // jne LBB33_3, $-34(%rip) - -LBB33_6: - WORD $0xc084 // testb %al, %al - LONG $0x0003840f; WORD $0x0000 // je LBB33_8, $3(%rip) - -LBB33_7: - WORD $0xff41; BYTE $0xc8 // decl %r8d - -LBB33_8: - WORD $0x8545; BYTE $0xc9 // testl %r9d, %r9d - LONG $0x008c8e0f; WORD $0x0000 // jle LBB33_23, $140(%rip) - LONG $0x08048d43 // leal (%r8,%r9), %eax - WORD $0x634c; BYTE $0xf0 // movslq %eax, %r14 - WORD $0xff49; BYTE $0xce // decq %r14 - WORD $0xd231 // xorl %edx, %edx - QUAD $0xcccccccccccdbb49; WORD $0xcccc // movabsq $-3689348814741910323, %r11 - LONG $0x90909090 // .p2align 4, 0x90 - -LBB33_10: - LONG $0x74be0f4b; WORD $0xff0a // movsbq $-1(%r10,%r9), %rsi - LONG $0xd0c68348 // addq $-48, %rsi - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0x0148; BYTE $0xd6 // addq %rdx, %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - LONG $0x03eac148 // shrq $3, %rdx - LONG $0x12048d48 // leaq (%rdx,%rdx), %rax - LONG $0x801c8d48 // leaq (%rax,%rax,4), %rbx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x2948; BYTE $0xd8 // subq %rbx, %rax - LONG $0x0877394c // cmpq %r14, $8(%rdi) - LONG $0x000e860f; WORD $0x0000 // jbe LBB33_16, $14(%rip) - WORD $0x3004 // addb $48, %al - LONG $0x32048843 // movb %al, (%r10,%r14) - LONG $0x000013e9; BYTE $0x00 // jmp LBB33_18, $19(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB33_16: - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0007840f; WORD $0x0000 // je LBB33_18, $7(%rip) - LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - -LBB33_18: - LONG $0x02f98349 // cmpq $2, %r9 - LONG $0x000e8c0f; WORD $0x0000 // jl LBB33_12, $14(%rip) - WORD $0xff49; BYTE $0xc9 // decq %r9 - WORD $0x8b4c; BYTE $0x17 // movq (%rdi), %r10 - WORD $0xff49; BYTE $0xce // decq %r14 - LONG $0xffff98e9; BYTE $0xff // jmp LBB33_10, $-104(%rip) - -LBB33_12: - LONG $0x0afe8348 // cmpq $10, %rsi - LONG $0x0067830f; WORD $0x0000 // jae LBB33_13, $103(%rip) - -LBB33_23: - LONG $0x104f6348 // movslq $16(%rdi), %rcx - WORD $0x6349; BYTE $0xc0 // movslq %r8d, %rax - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - WORD $0x4789; BYTE $0x10 // movl %eax, $16(%rdi) - LONG $0x084f8b48 // movq $8(%rdi), %rcx - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x0005870f; WORD $0x0000 // ja LBB33_25, $5(%rip) - WORD $0x4f89; BYTE $0x10 // movl %ecx, $16(%rdi) - WORD $0xc889 // movl %ecx, %eax - -LBB33_25: - LONG $0x14470144 // addl %r8d, $20(%rdi) - WORD $0xc085 // testl %eax, %eax - LONG $0x002f8e0f; WORD $0x0000 // jle LBB33_29, $47(%rip) - WORD $0x8b48; BYTE $0x0f // movq (%rdi), %rcx - WORD $0xc289 // movl %eax, %edx - WORD $0xff48; BYTE $0xc2 // incq %rdx - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB33_27: - WORD $0xc8ff // decl %eax - LONG $0x30013c80 // cmpb $48, (%rcx,%rax) - LONG $0x0018850f; WORD $0x0000 // jne LBB33_31, $24(%rip) - WORD $0x4789; BYTE $0x10 // movl %eax, $16(%rdi) - WORD $0xff48; BYTE $0xca // decq %rdx - LONG $0x01fa8348 // cmpq $1, %rdx - LONG $0xffe48f0f; WORD $0xffff // jg LBB33_27, $-28(%rip) - -LBB33_29: - WORD $0xc085 // testl %eax, %eax - LONG $0x006b840f; WORD $0x0000 // je LBB33_30, $107(%rip) - -LBB33_31: - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB33_13: - WORD $0x6349; BYTE $0xf6 // movslq %r14d, %rsi - WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x000021e9; BYTE $0x00 // jmp LBB33_14, $33(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB33_15: - WORD $0x3004 // addb $48, %al - WORD $0x8b48; BYTE $0x1f // movq (%rdi), %rbx - WORD $0x0488; BYTE $0x33 // movb %al, (%rbx,%rsi) - -LBB33_22: - WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x09f98348 // cmpq $9, %rcx - LONG $0xff6d860f; WORD $0xffff // jbe LBB33_23, $-147(%rip) - -LBB33_14: - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - LONG $0x03eac148 // shrq $3, %rdx - LONG $0x12048d48 // leaq (%rdx,%rdx), %rax - LONG $0x801c8d48 // leaq (%rax,%rax,4), %rbx - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - WORD $0x2948; BYTE $0xd8 // subq %rbx, %rax - LONG $0x08773948 // cmpq %rsi, $8(%rdi) - LONG $0xffc6870f; WORD $0xffff // ja LBB33_15, $-58(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xffc5840f; WORD $0xffff // je LBB33_22, $-59(%rip) - LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - LONG $0xffffb9e9; BYTE $0xff // jmp LBB33_22, $-71(%rip) - -LBB33_30: - LONG $0x001447c7; WORD $0x0000; BYTE $0x00 // movl $0, $20(%rdi) - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB33_5: - LONG $0xfe898c0f; WORD $0xffff // jl LBB33_7, $-375(%rip) - LONG $0xfffe87e9; BYTE $0xff // jmp LBB33_8, $-377(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -_right_shift: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - WORD $0xf189 // movl %esi, %ecx - LONG $0x10478b44 // movl $16(%rdi), %r8d - WORD $0xd231 // xorl %edx, %edx - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0x0000bb41; WORD $0x0000 // movl $0, %r11d - LONG $0xd8490f45 // cmovnsl %r8d, %r11d - WORD $0xc031 // xorl %eax, %eax - LONG $0x90909090 // .p2align 4, 0x90 - -LBB34_1: - WORD $0x3949; BYTE $0xd3 // cmpq %rdx, %r11 - LONG $0x0132840f; WORD $0x0000 // je LBB34_2, $306(%rip) - LONG $0x80048d48 // leaq (%rax,%rax,4), %rax - WORD $0x8b48; BYTE $0x37 // movq (%rdi), %rsi - LONG $0x34be0f48; BYTE $0x16 // movsbq (%rsi,%rdx), %rsi - LONG $0x46448d48; BYTE $0xd0 // leaq $-48(%rsi,%rax,2), %rax - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0xd348; BYTE $0xee // shrq %cl, %rsi - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xffd4840f; WORD $0xffff // je LBB34_1, $-44(%rip) - WORD $0x8941; BYTE $0xd3 // movl %edx, %r11d - -LBB34_7: - WORD $0x578b; BYTE $0x14 // movl $20(%rdi), %edx - WORD $0x2944; BYTE $0xda // subl %r11d, %edx - WORD $0xc2ff // incl %edx - LONG $0xffc1c749; WORD $0xffff; BYTE $0xff // movq $-1, %r9 - WORD $0xd349; BYTE $0xe1 // shlq %cl, %r9 - WORD $0x5789; BYTE $0x14 // movl %edx, $20(%rdi) - WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3945; BYTE $0xc3 // cmpl %r8d, %r11d - LONG $0x00648d0f; WORD $0x0000 // jge LBB34_10, $100(%rip) - WORD $0x634d; BYTE $0xc3 // movslq %r11d, %r8 - WORD $0x8b48; BYTE $0x37 // movq (%rdi), %rsi - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - LONG $0x90909090 // .p2align 4, 0x90 - -LBB34_9: - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0xd348; BYTE $0xea // shrq %cl, %rdx - WORD $0x214c; BYTE $0xc8 // andq %r9, %rax - WORD $0xc280; BYTE $0x30 // addb $48, %dl - LONG $0x16148842 // movb %dl, (%rsi,%r10) - WORD $0x8b48; BYTE $0x37 // movq (%rdi), %rsi - LONG $0x06148d4a // leaq (%rsi,%r8), %rdx - LONG $0x1cbe0f4d; BYTE $0x12 // movsbq (%r10,%rdx), %r11 - LONG $0x105c8d4b; BYTE $0x01 // leaq $1(%r8,%r10), %rbx - LONG $0x01528d4d // leaq $1(%r10), %r10 - LONG $0x80048d48 // leaq (%rax,%rax,4), %rax - LONG $0x43448d49; BYTE $0xd0 // leaq $-48(%r11,%rax,2), %rax - LONG $0x10576348 // movslq $16(%rdi), %rdx - WORD $0x3948; BYTE $0xd3 // cmpq %rdx, %rbx - LONG $0xffc58c0f; WORD $0xffff // jl LBB34_9, $-59(%rip) - LONG $0x000017e9; BYTE $0x00 // jmp LBB34_10, $23(%rip) - - // .p2align 4, 0x90 -LBB34_12: - LONG $0x30c68040 // addb $48, %sil - WORD $0x8b48; BYTE $0x1f // movq (%rdi), %rbx - LONG $0x13348840 // movb %sil, (%rbx,%rdx) - WORD $0xc2ff // incl %edx - WORD $0x8941; BYTE $0xd2 // movl %edx, %r10d - -LBB34_15: - WORD $0x0148; BYTE $0xc0 // addq %rax, %rax - LONG $0x80048d48 // leaq (%rax,%rax,4), %rax - -LBB34_10: - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x002b840f; WORD $0x0000 // je LBB34_16, $43(%rip) - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0xd348; BYTE $0xee // shrq %cl, %rsi - WORD $0x214c; BYTE $0xc8 // andq %r9, %rax - WORD $0x6349; BYTE $0xd2 // movslq %r10d, %rdx - LONG $0x08573948 // cmpq %rdx, $8(%rdi) - LONG $0xffca870f; WORD $0xffff // ja LBB34_12, $-54(%rip) - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xffd1840f; WORD $0xffff // je LBB34_15, $-47(%rip) - LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - LONG $0xffffc5e9; BYTE $0xff // jmp LBB34_15, $-59(%rip) - -LBB34_16: - LONG $0x10578944 // movl %r10d, $16(%rdi) - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x00378e0f; WORD $0x0000 // jle LBB34_20, $55(%rip) - WORD $0x8b48; BYTE $0x07 // movq (%rdi), %rax - WORD $0x8944; BYTE $0xd1 // movl %r10d, %ecx - WORD $0xff48; BYTE $0xc1 // incq %rcx - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB34_18: - WORD $0xff41; BYTE $0xca // decl %r10d - LONG $0x103c8042; BYTE $0x30 // cmpb $48, (%rax,%r10) - LONG $0x001a850f; WORD $0x0000 // jne LBB34_22, $26(%rip) - LONG $0x10578944 // movl %r10d, $16(%rdi) - WORD $0xff48; BYTE $0xc9 // decq %rcx - LONG $0x01f98348 // cmpq $1, %rcx - LONG $0xffe18f0f; WORD $0xffff // jg LBB34_18, $-31(%rip) - -LBB34_20: - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x0045840f; WORD $0x0000 // je LBB34_21, $69(%rip) - -LBB34_22: - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB34_2: - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0043840f; WORD $0x0000 // je LBB34_23, $67(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0xd348; BYTE $0xea // shrq %cl, %rdx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xfed0850f; WORD $0xffff // jne LBB34_7, $-304(%rip) - -LBB34_4: - WORD $0x0148; BYTE $0xc0 // addq %rax, %rax - LONG $0x80048d48 // leaq (%rax,%rax,4), %rax - WORD $0xff41; BYTE $0xc3 // incl %r11d - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0xd348; BYTE $0xea // shrq %cl, %rdx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xffe7840f; WORD $0xffff // je LBB34_4, $-25(%rip) - LONG $0xfffeb2e9; BYTE $0xff // jmp LBB34_7, $-334(%rip) - -LBB34_21: - LONG $0x001447c7; WORD $0x0000; BYTE $0x00 // movl $0, $20(%rdi) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB34_23: - LONG $0x001047c7; WORD $0x0000; BYTE $0x00 // movl $0, $16(%rdi) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI35_0: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI35_1: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - - // .p2align 4, 0x90 -_advance_string_default: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - LONG $0x087f8b4c // movq $8(%rdi), %r15 - WORD $0x2949; BYTE $0xf7 // subq %rsi, %r15 - LONG $0x0327840f; WORD $0x0000 // je LBB35_13, $807(%rip) - WORD $0x8b4c; BYTE $0x1f // movq (%rdi), %r11 - WORD $0x014c; BYTE $0xde // addq %r11, %rsi - LONG $0xff02c748; WORD $0xffff; BYTE $0xff // movq $-1, (%rdx) - LONG $0x40ff8349 // cmpq $64, %r15 - LONG $0x015f820f; WORD $0x0000 // jb LBB35_14, $351(%rip) - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - QUAD $0xffffff9b056ff9c5 // vmovdqa $-101(%rip), %xmm0 /* LCPI35_0(%rip) */ - QUAD $0xffffffa30d6ff9c5 // vmovdqa $-93(%rip), %xmm1 /* LCPI35_1(%rip) */ - QUAD $0x555555555555ba49; WORD $0x5555 // movabsq $6148914691236517205, %r10 - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB35_3: - LONG $0x166ffac5 // vmovdqu (%rsi), %xmm2 - LONG $0x5e6ffac5; BYTE $0x10 // vmovdqu $16(%rsi), %xmm3 - LONG $0x666ffac5; BYTE $0x20 // vmovdqu $32(%rsi), %xmm4 - LONG $0x6e6ffac5; BYTE $0x30 // vmovdqu $48(%rsi), %xmm5 - LONG $0xf074e9c5 // vpcmpeqb %xmm0, %xmm2, %xmm6 - LONG $0xe6d779c5 // vpmovmskb %xmm6, %r12d - LONG $0xf074e1c5 // vpcmpeqb %xmm0, %xmm3, %xmm6 - LONG $0xc6d7f9c5 // vpmovmskb %xmm6, %eax - LONG $0xf074d9c5 // vpcmpeqb %xmm0, %xmm4, %xmm6 - LONG $0xced7f9c5 // vpmovmskb %xmm6, %ecx - LONG $0xf074d1c5 // vpcmpeqb %xmm0, %xmm5, %xmm6 - LONG $0xfed7f9c5 // vpmovmskb %xmm6, %edi - LONG $0xd174e9c5 // vpcmpeqb %xmm1, %xmm2, %xmm2 - LONG $0xdad7f9c5 // vpmovmskb %xmm2, %ebx - LONG $0xd174e1c5 // vpcmpeqb %xmm1, %xmm3, %xmm2 - LONG $0xead779c5 // vpmovmskb %xmm2, %r13d - LONG $0xd174d9c5 // vpcmpeqb %xmm1, %xmm4, %xmm2 - LONG $0xc2d779c5 // vpmovmskb %xmm2, %r8d - LONG $0xd174d1c5 // vpcmpeqb %xmm1, %xmm5, %xmm2 - LONG $0xcad779c5 // vpmovmskb %xmm2, %r9d - LONG $0x30e7c148 // shlq $48, %rdi - LONG $0x20e1c148 // shlq $32, %rcx - LONG $0x10e0c148 // shlq $16, %rax - WORD $0x0949; BYTE $0xc4 // orq %rax, %r12 - WORD $0x0949; BYTE $0xcc // orq %rcx, %r12 - WORD $0x0949; BYTE $0xfc // orq %rdi, %r12 - LONG $0x30e1c149 // shlq $48, %r9 - LONG $0x20e0c149 // shlq $32, %r8 - LONG $0x10e5c149 // shlq $16, %r13 - WORD $0x094c; BYTE $0xeb // orq %r13, %rbx - WORD $0x094c; BYTE $0xc3 // orq %r8, %rbx - WORD $0x094c; BYTE $0xcb // orq %r9, %rbx - LONG $0x002c850f; WORD $0x0000 // jne LBB35_7, $44(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0042850f; WORD $0x0000 // jne LBB35_9, $66(%rip) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x007e850f; WORD $0x0000 // jne LBB35_10, $126(%rip) - -LBB35_6: - LONG $0x40c68348 // addq $64, %rsi - LONG $0xc0c78349 // addq $-64, %r15 - LONG $0x3fff8349 // cmpq $63, %r15 - LONG $0xff56870f; WORD $0xffff // ja LBB35_3, $-170(%rip) - LONG $0x00008de9; BYTE $0x00 // jmp LBB35_15, $141(%rip) - -LBB35_7: - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0014850f; WORD $0x0000 // jne LBB35_9, $20(%rip) - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x294c; BYTE $0xd8 // subq %r11, %rax - LONG $0xcbbc0f48 // bsfq %rbx, %rcx - WORD $0x0148; BYTE $0xc1 // addq %rax, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) - -LBB35_9: - WORD $0x894c; BYTE $0xf0 // movq %r14, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x2148; BYTE $0xd8 // andq %rbx, %rax - LONG $0x000c8d48 // leaq (%rax,%rax), %rcx - WORD $0x094c; BYTE $0xf1 // orq %r14, %rcx - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x2148; BYTE $0xdf // andq %rbx, %rdi - QUAD $0xaaaaaaaaaaaabb48; WORD $0xaaaa // movabsq $-6148914691236517206, %rbx - WORD $0x2148; BYTE $0xdf // andq %rbx, %rdi - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x0148; BYTE $0xc7 // addq %rax, %rdi - LONG $0xc6920f41 // setb %r14b - WORD $0x0148; BYTE $0xff // addq %rdi, %rdi - WORD $0x314c; BYTE $0xd7 // xorq %r10, %rdi - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x2149; BYTE $0xfc // andq %rdi, %r12 - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0xff82840f; WORD $0xffff // je LBB35_6, $-126(%rip) - -LBB35_10: - LONG $0xc4bc0f49 // bsfq %r12, %rax - -LBB35_11: - WORD $0x294c; BYTE $0xde // subq %r11, %rsi - LONG $0x06448d48; BYTE $0x01 // leaq $1(%rsi,%rax), %rax - -LBB35_12: - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB35_14: - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - -LBB35_15: - LONG $0x20ff8349 // cmpq $32, %r15 - LONG $0x00cb820f; WORD $0x0000 // jb LBB35_24, $203(%rip) - LONG $0x066ffac5 // vmovdqu (%rsi), %xmm0 - LONG $0x4e6ffac5; BYTE $0x10 // vmovdqu $16(%rsi), %xmm1 - QUAD $0xfffffe29156ff9c5 // vmovdqa $-471(%rip), %xmm2 /* LCPI35_0(%rip) */ - QUAD $0xfffffe311d6ff9c5 // vmovdqa $-463(%rip), %xmm3 /* LCPI35_1(%rip) */ - LONG $0xe274f9c5 // vpcmpeqb %xmm2, %xmm0, %xmm4 - LONG $0xfcd7f9c5 // vpmovmskb %xmm4, %edi - LONG $0xd274f1c5 // vpcmpeqb %xmm2, %xmm1, %xmm2 - LONG $0xc2d7f9c5 // vpmovmskb %xmm2, %eax - LONG $0xc374f9c5 // vpcmpeqb %xmm3, %xmm0, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx - LONG $0xc374f1c5 // vpcmpeqb %xmm3, %xmm1, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0x10e0c148 // shlq $16, %rax - WORD $0x0948; BYTE $0xc7 // orq %rax, %rdi - LONG $0x10e1c148 // shlq $16, %rcx - WORD $0x0948; BYTE $0xcb // orq %rcx, %rbx - LONG $0x001e850f; WORD $0x0000 // jne LBB35_20, $30(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0034850f; WORD $0x0000 // jne LBB35_22, $52(%rip) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0061840f; WORD $0x0000 // je LBB35_23, $97(%rip) - -LBB35_19: - LONG $0xc7bc0f48 // bsfq %rdi, %rax - LONG $0xffff69e9; BYTE $0xff // jmp LBB35_11, $-151(%rip) - -LBB35_20: - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0014850f; WORD $0x0000 // jne LBB35_22, $20(%rip) - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x294c; BYTE $0xd8 // subq %r11, %rax - LONG $0xcbbc0f48 // bsfq %rbx, %rcx - WORD $0x0148; BYTE $0xc1 // addq %rax, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) - -LBB35_22: - WORD $0x8944; BYTE $0xf0 // movl %r14d, %eax - WORD $0xd0f7 // notl %eax - WORD $0xd821 // andl %ebx, %eax - LONG $0x46048d45 // leal (%r14,%rax,2), %r8d - WORD $0x0c8d; BYTE $0x00 // leal (%rax,%rax), %ecx - WORD $0xd1f7 // notl %ecx - WORD $0xd921 // andl %ebx, %ecx - LONG $0xaaaae181; WORD $0xaaaa // andl $-1431655766, %ecx - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0xc101 // addl %eax, %ecx - LONG $0xc6920f41 // setb %r14b - WORD $0xc901 // addl %ecx, %ecx - LONG $0x5555f181; WORD $0x5555 // xorl $1431655765, %ecx - WORD $0x2144; BYTE $0xc1 // andl %r8d, %ecx - WORD $0xd1f7 // notl %ecx - WORD $0xcf21 // andl %ecx, %edi - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xff9f850f; WORD $0xffff // jne LBB35_19, $-97(%rip) - -LBB35_23: - LONG $0x20c68348 // addq $32, %rsi - LONG $0xe0c78349 // addq $-32, %r15 - -LBB35_24: - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0089850f; WORD $0x0000 // jne LBB35_35, $137(%rip) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0xfef8840f; WORD $0xffff // je LBB35_12, $-264(%rip) - -LBB35_26: - WORD $0x894d; BYTE $0xd9 // movq %r11, %r9 - WORD $0xf749; BYTE $0xd1 // notq %r9 - -LBB35_27: - LONG $0x017e8d48 // leaq $1(%rsi), %rdi - WORD $0xb60f; BYTE $0x1e // movzbl (%rsi), %ebx - WORD $0xfb80; BYTE $0x22 // cmpb $34, %bl - LONG $0x0058840f; WORD $0x0000 // je LBB35_34, $88(%rip) - LONG $0xff578d4d // leaq $-1(%r15), %r10 - WORD $0xfb80; BYTE $0x5c // cmpb $92, %bl - LONG $0x0014840f; WORD $0x0000 // je LBB35_30, $20(%rip) - WORD $0x894d; BYTE $0xd7 // movq %r10, %r15 - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xffd4850f; WORD $0xffff // jne LBB35_27, $-44(%rip) - LONG $0xfffec1e9; BYTE $0xff // jmp LBB35_12, $-319(%rip) - -LBB35_30: - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xfeb8840f; WORD $0xffff // je LBB35_12, $-328(%rip) - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x000a850f; WORD $0x0000 // jne LBB35_33, $10(%rip) - WORD $0x014c; BYTE $0xcf // addq %r9, %rdi - WORD $0x8948; BYTE $0x3a // movq %rdi, (%rdx) - LONG $0xd07d8948 // movq %rdi, $-48(%rbp) - -LBB35_33: - LONG $0x02c68348 // addq $2, %rsi - LONG $0xfec78349 // addq $-2, %r15 - WORD $0x894d; BYTE $0xfa // movq %r15, %r10 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xff9d850f; WORD $0xffff // jne LBB35_27, $-99(%rip) - LONG $0xfffe8ae9; BYTE $0xff // jmp LBB35_12, $-374(%rip) - -LBB35_34: - WORD $0x294c; BYTE $0xdf // subq %r11, %rdi - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0xfffe7fe9; BYTE $0xff // jmp LBB35_12, $-385(%rip) - -LBB35_35: - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0036840f; WORD $0x0000 // je LBB35_13, $54(%rip) - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0010850f; WORD $0x0000 // jne LBB35_38, $16(%rip) - WORD $0x894c; BYTE $0xd8 // movq %r11, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0xf0 // addq %rsi, %rax - LONG $0xd0458948 // movq %rax, $-48(%rbp) - WORD $0x8948; BYTE $0x02 // movq %rax, (%rdx) - -LBB35_38: - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0xff49; BYTE $0xcf // decq %r15 - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0xff4d850f; WORD $0xffff // jne LBB35_26, $-179(%rip) - LONG $0xfffe40e9; BYTE $0xff // jmp LBB35_12, $-448(%rip) - -LBB35_13: - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xfffe34e9; BYTE $0xff // jmp LBB35_12, $-460(%rip) - WORD $0x0000 // .p2align 4, 0x00 - -_POW10_M128_TAB: - QUAD $0x1732c869cd60e453 // .quad 1671618768450675795 - QUAD $0xfa8fd5a0081c0288 // .quad -391859759250406776 - QUAD $0x0e7fbd42205c8eb4 // .quad 1044761730281672372 - QUAD $0x9c99e58405118195 // .quad -7162441377172586091 - QUAD $0x521fac92a873b261 // .quad 5917638181279478369 - QUAD $0xc3c05ee50655e1fa // .quad -4341365703038344710 - QUAD $0xe6a797b752909ef9 // .quad -1826324310255427847 - QUAD $0xf4b0769e47eb5a78 // .quad -815021110370542984 - QUAD $0x9028bed2939a635c // .quad -8058981721550724260 - QUAD $0x98ee4a22ecf3188b // .quad -7426917221622671221 - QUAD $0x7432ee873880fc33 // .quad 8373016921771146291 - QUAD $0xbf29dcaba82fdeae // .quad -4671960508600951122 - QUAD $0x113faa2906a13b3f // .quad 1242899115359157055 - QUAD $0xeef453d6923bd65a // .quad -1228264617323800998 - QUAD $0x4ac7ca59a424c507 // .quad 5388497965526861063 - QUAD $0x9558b4661b6565f8 // .quad -7685194413468457480 - QUAD $0x5d79bcf00d2df649 // .quad 6735622456908576329 - QUAD $0xbaaee17fa23ebf76 // .quad -4994806998408183946 - QUAD $0xf4d82c2c107973dc // .quad -803843965719055396 - QUAD $0xe95a99df8ace6f53 // .quad -1631822729582842029 - QUAD $0x79071b9b8a4be869 // .quad 8720969558280366185 - QUAD $0x91d8a02bb6c10594 // .quad -7937418233630358124 - QUAD $0x9748e2826cdee284 // .quad -7545532125859093884 - QUAD $0xb64ec836a47146f9 // .quad -5310086773610559751 - QUAD $0xfd1b1b2308169b25 // .quad -208543120469091547 - QUAD $0xe3e27a444d8d98b7 // .quad -2025922448585811785 - QUAD $0xfe30f0f5e50e20f7 // .quad -130339450293182217 - QUAD $0x8e6d8c6ab0787f72 // .quad -8183730558007214222 - QUAD $0xbdbd2d335e51a935 // .quad -4774610331293865675 - QUAD $0xb208ef855c969f4f // .quad -5617977179081629873 - QUAD $0xad2c788035e61382 // .quad -5968262914117332094 - QUAD $0xde8b2b66b3bc4723 // .quad -2410785455424649437 - QUAD $0x4c3bcb5021afcc31 // .quad 5493207715531443249 - QUAD $0x8b16fb203055ac76 // .quad -8424269937281487754 - QUAD $0xdf4abe242a1bbf3d // .quad -2356862392440471747 - QUAD $0xaddcb9e83c6b1793 // .quad -5918651403174471789 - QUAD $0xd71d6dad34a2af0d // .quad -2946077990550589683 - QUAD $0xd953e8624b85dd78 // .quad -2786628235540701832 - QUAD $0x8672648c40e5ad68 // .quad -8758827771735200408 - QUAD $0x87d4713d6f33aa6b // .quad -8659171674854020501 - QUAD $0x680efdaf511f18c2 // .quad 7498209359040551106 - QUAD $0xa9c98d8ccb009506 // .quad -6212278575140137722 - QUAD $0x0212bd1b2566def2 // .quad 149389661945913074 - QUAD $0xd43bf0effdc0ba48 // .quad -3153662200497784248 - QUAD $0x014bb630f7604b57 // .quad 93368538716195671 - QUAD $0x84a57695fe98746d // .quad -8888567902952197011 - QUAD $0x419ea3bd35385e2d // .quad 4728396691822632493 - QUAD $0xa5ced43b7e3e9188 // .quad -6499023860262858360 - QUAD $0x52064cac828675b9 // .quad 5910495864778290617 - QUAD $0xcf42894a5dce35ea // .quad -3512093806901185046 - QUAD $0x7343efebd1940993 // .quad 8305745933913819539 - QUAD $0x818995ce7aa0e1b2 // .quad -9112587656954322510 - QUAD $0x1014ebe6c5f90bf8 // .quad 1158810380537498616 - QUAD $0xa1ebfb4219491a1f // .quad -6779048552765515233 - QUAD $0xd41a26e077774ef6 // .quad -3163173042755514634 - QUAD $0xca66fa129f9b60a6 // .quad -3862124672529506138 - QUAD $0x8920b098955522b4 // .quad -8565652321871781196 - QUAD $0xfd00b897478238d0 // .quad -215969822234494768 - QUAD $0x55b46e5f5d5535b0 // .quad 6175682344898606512 - QUAD $0x9e20735e8cb16382 // .quad -7052510166537641086 - QUAD $0xeb2189f734aa831d // .quad -1503769105731517667 - QUAD $0xc5a890362fddbc62 // .quad -4203951689744663454 - QUAD $0xa5e9ec7501d523e4 // .quad -6491397400591784988 - QUAD $0xf712b443bbd52b7b // .quad -643253593753441413 - QUAD $0x47b233c92125366e // .quad 5166248661484910190 - QUAD $0x9a6bb0aa55653b2d // .quad -7319562523736982739 - QUAD $0x999ec0bb696e840a // .quad -7377247228426025974 - QUAD $0xc1069cd4eabe89f8 // .quad -4537767136243840520 - QUAD $0xc00670ea43ca250d // .quad -4609873017105144563 - QUAD $0xf148440a256e2c76 // .quad -1060522901877412746 - QUAD $0x380406926a5e5728 // .quad 4036358391950366504 - QUAD $0x96cd2a865764dbca // .quad -7580355841314464822 - QUAD $0xc605083704f5ecf2 // .quad -4177924046916817678 - QUAD $0xbc807527ed3e12bc // .quad -4863758783215693124 - QUAD $0xf7864a44c633682e // .quad -610719040218634194 - QUAD $0xeba09271e88d976b // .quad -1468012460592228501 - QUAD $0x7ab3ee6afbe0211d // .quad 8841672636718129437 - QUAD $0x93445b8731587ea3 // .quad -7835036815511224669 - QUAD $0x5960ea05bad82964 // .quad 6440404777470273892 - QUAD $0xb8157268fdae9e4c // .quad -5182110000961642932 - QUAD $0x6fb92487298e33bd // .quad 8050505971837842365 - QUAD $0xe61acf033d1a45df // .quad -1865951482774665761 - QUAD $0xa5d3b6d479f8e056 // .quad -6497648813669818282 - QUAD $0x8fd0c16206306bab // .quad -8083748704375247957 - QUAD $0x8f48a4899877186c // .quad -8122061017087272852 - QUAD $0xb3c4f1ba87bc8696 // .quad -5492999862041672042 - QUAD $0x331acdabfe94de87 // .quad 3682481783923072647 - QUAD $0xe0b62e2929aba83c // .quad -2254563809124702148 - QUAD $0x9ff0c08b7f1d0b14 // .quad -6921820921902855404 - QUAD $0x8c71dcd9ba0b4925 // .quad -8326631408344020699 - QUAD $0x07ecf0ae5ee44dd9 // .quad 571095884476206553 - QUAD $0xaf8e5410288e1b6f // .quad -5796603242002637969 - QUAD $0xc9e82cd9f69d6150 // .quad -3897816162832129712 - QUAD $0xdb71e91432b1a24a // .quad -2634068034075909558 - QUAD $0xbe311c083a225cd2 // .quad -4741978110983775022 - QUAD $0x892731ac9faf056e // .quad -8563821548938525330 - QUAD $0x6dbd630a48aaf406 // .quad 7907585416552444934 - QUAD $0xab70fe17c79ac6ca // .quad -6093090917745768758 - QUAD $0x092cbbccdad5b108 // .quad 661109733835780360 - QUAD $0xd64d3d9db981787d // .quad -3004677628754823043 - QUAD $0x25bbf56008c58ea5 // .quad 2719036592861056677 - QUAD $0x85f0468293f0eb4e // .quad -8795452545612846258 - QUAD $0xaf2af2b80af6f24e // .quad -5824576295778454962 - QUAD $0xa76c582338ed2621 // .quad -6382629663588669919 - QUAD $0x1af5af660db4aee1 // .quad 1942651667131707105 - QUAD $0xd1476e2c07286faa // .quad -3366601061058449494 - QUAD $0x50d98d9fc890ed4d // .quad 5825843310384704845 - QUAD $0x82cca4db847945ca // .quad -9021654690802612790 - QUAD $0xe50ff107bab528a0 // .quad -1941067898873894752 - QUAD $0xa37fce126597973c // .quad -6665382345075878084 - QUAD $0x1e53ed49a96272c8 // .quad 2185351144835019464 - QUAD $0xcc5fc196fefd7d0c // .quad -3720041912917459700 - QUAD $0x25e8e89c13bb0f7a // .quad 2731688931043774330 - QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 - QUAD $0x77b191618c54e9ac // .quad 8624834609543440812 - QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 - QUAD $0xd59df5b9ef6a2417 // .quad -3054014793352862697 - QUAD $0xc795830d75038c1d // .quad -4065198994811024355 - QUAD $0x4b0573286b44ad1d // .quad 5405853545163697437 - QUAD $0xf97ae3d0d2446f25 // .quad -469812725086392539 - QUAD $0x4ee367f9430aec32 // .quad 5684501474941004850 - QUAD $0x9becce62836ac577 // .quad -7211161980820077193 - QUAD $0x229c41f793cda73f // .quad 2493940825248868159 - QUAD $0xc2e801fb244576d5 // .quad -4402266457597708587 - QUAD $0x6b43527578c1110f // .quad 7729112049988473103 - QUAD $0xf3a20279ed56d48a // .quad -891147053569747830 - QUAD $0x830a13896b78aaa9 // .quad -9004363024039368023 - QUAD $0x9845418c345644d6 // .quad -7474495936122174250 - QUAD $0x23cc986bc656d553 // .quad 2579604275232953683 - QUAD $0xbe5691ef416bd60c // .quad -4731433901725329908 - QUAD $0x2cbfbe86b7ec8aa8 // .quad 3224505344041192104 - QUAD $0xedec366b11c6cb8f // .quad -1302606358729274481 - QUAD $0x7bf7d71432f3d6a9 // .quad 8932844867666826921 - QUAD $0x94b3a202eb1c3f39 // .quad -7731658001846878407 - QUAD $0xdaf5ccd93fb0cc53 // .quad -2669001970698630061 - QUAD $0xb9e08a83a5e34f07 // .quad -5052886483881210105 - QUAD $0xd1b3400f8f9cff68 // .quad -3336252463373287576 - QUAD $0xe858ad248f5c22c9 // .quad -1704422086424124727 - QUAD $0x23100809b9c21fa1 // .quad 2526528228819083169 - QUAD $0x91376c36d99995be // .quad -7982792831656159810 - QUAD $0xabd40a0c2832a78a // .quad -6065211750830921846 - QUAD $0xb58547448ffffb2d // .quad -5366805021142811859 - QUAD $0x16c90c8f323f516c // .quad 1641857348316123500 - QUAD $0xe2e69915b3fff9f9 // .quad -2096820258001126919 - QUAD $0xae3da7d97f6792e3 // .quad -5891368184943504669 - QUAD $0x8dd01fad907ffc3b // .quad -8228041688891786181 - QUAD $0x99cd11cfdf41779c // .quad -7364210231179380836 - QUAD $0xb1442798f49ffb4a // .quad -5673366092687344822 - QUAD $0x40405643d711d583 // .quad 4629795266307937667 - QUAD $0xdd95317f31c7fa1d // .quad -2480021597431793123 - QUAD $0x482835ea666b2572 // .quad 5199465050656154994 - QUAD $0x8a7d3eef7f1cfc52 // .quad -8467542526035952558 - QUAD $0xda3243650005eecf // .quad -2724040723534582065 - QUAD $0xad1c8eab5ee43b66 // .quad -5972742139117552794 - QUAD $0x90bed43e40076a82 // .quad -8016736922845615486 - QUAD $0xd863b256369d4a40 // .quad -2854241655469553088 - QUAD $0x5a7744a6e804a291 // .quad 6518754469289960081 - QUAD $0x873e4f75e2224e68 // .quad -8701430062309552536 - QUAD $0x711515d0a205cb36 // .quad 8148443086612450102 - QUAD $0xa90de3535aaae202 // .quad -6265101559459552766 - QUAD $0x0d5a5b44ca873e03 // .quad 962181821410786819 - QUAD $0xd3515c2831559a83 // .quad -3219690930897053053 - QUAD $0xe858790afe9486c2 // .quad -1704479370831952190 - QUAD $0x8412d9991ed58091 // .quad -8929835859451740015 - QUAD $0x626e974dbe39a872 // .quad 7092772823314835570 - QUAD $0xa5178fff668ae0b6 // .quad -6550608805887287114 - QUAD $0xfb0a3d212dc8128f // .quad -357406007711231345 - QUAD $0xce5d73ff402d98e3 // .quad -3576574988931720989 - QUAD $0x7ce66634bc9d0b99 // .quad 8999993282035256217 - QUAD $0x80fa687f881c7f8e // .quad -9152888395723407474 - QUAD $0x1c1fffc1ebc44e80 // .quad 2026619565689294464 - QUAD $0xa139029f6a239f72 // .quad -6829424476226871438 - QUAD $0xa327ffb266b56220 // .quad -6690097579743157728 - QUAD $0xc987434744ac874e // .quad -3925094576856201394 - QUAD $0x4bf1ff9f0062baa8 // .quad 5472436080603216552 - QUAD $0xfbe9141915d7a922 // .quad -294682202642863838 - QUAD $0x6f773fc3603db4a9 // .quad 8031958568804398249 - QUAD $0x9d71ac8fada6c9b5 // .quad -7101705404292871755 - QUAD $0xcb550fb4384d21d3 // .quad -3795109844276665901 - QUAD $0xc4ce17b399107c22 // .quad -4265445736938701790 - QUAD $0x7e2a53a146606a48 // .quad 9091170749936331336 - QUAD $0xf6019da07f549b2b // .quad -720121152745989333 - QUAD $0x2eda7444cbfc426d // .quad 3376138709496513133 - QUAD $0x99c102844f94e0fb // .quad -7367604748107325189 - QUAD $0xfa911155fefb5308 // .quad -391512631556746488 - QUAD $0xc0314325637a1939 // .quad -4597819916706768583 - QUAD $0x793555ab7eba27ca // .quad 8733981247408842698 - QUAD $0xf03d93eebc589f88 // .quad -1135588877456072824 - QUAD $0x4bc1558b2f3458de // .quad 5458738279630526686 - QUAD $0x96267c7535b763b5 // .quad -7627272076051127371 - QUAD $0x9eb1aaedfb016f16 // .quad -7011635205744005354 - QUAD $0xbbb01b9283253ca2 // .quad -4922404076636521310 - QUAD $0x465e15a979c1cadc // .quad 5070514048102157020 - QUAD $0xea9c227723ee8bcb // .quad -1541319077368263733 - QUAD $0x0bfacd89ec191ec9 // .quad 863228270850154185 - QUAD $0x92a1958a7675175f // .quad -7880853450996246689 - QUAD $0xcef980ec671f667b // .quad -3532650679864695173 - QUAD $0xb749faed14125d36 // .quad -5239380795317920458 - QUAD $0x82b7e12780e7401a // .quad -9027499368258256870 - QUAD $0xe51c79a85916f484 // .quad -1937539975720012668 - QUAD $0xd1b2ecb8b0908810 // .quad -3336344095947716592 - QUAD $0x8f31cc0937ae58d2 // .quad -8128491512466089774 - QUAD $0x861fa7e6dcb4aa15 // .quad -8782116138362033643 - QUAD $0xb2fe3f0b8599ef07 // .quad -5548928372155224313 - QUAD $0x67a791e093e1d49a // .quad 7469098900757009562 - QUAD $0xdfbdcece67006ac9 // .quad -2324474446766642487 - QUAD $0xe0c8bb2c5c6d24e0 // .quad -2249342214667950880 - QUAD $0x8bd6a141006042bd // .quad -8370325556870233411 - QUAD $0x58fae9f773886e18 // .quad 6411694268519837208 - QUAD $0xaecc49914078536d // .quad -5851220927660403859 - QUAD $0xaf39a475506a899e // .quad -5820440219632367202 - QUAD $0xda7f5bf590966848 // .quad -2702340141148116920 - QUAD $0x6d8406c952429603 // .quad 7891439908798240259 - QUAD $0x888f99797a5e012d // .quad -8606491615858654931 - QUAD $0xc8e5087ba6d33b83 // .quad -3970758169284363389 - QUAD $0xaab37fd7d8f58178 // .quad -6146428501395930760 - QUAD $0xfb1e4a9a90880a64 // .quad -351761693178066332 - QUAD $0xd5605fcdcf32e1d6 // .quad -3071349608317525546 - QUAD $0x5cf2eea09a55067f // .quad 6697677969404790399 - QUAD $0x855c3be0a17fcd26 // .quad -8837122532839535322 - QUAD $0xf42faa48c0ea481e // .quad -851274575098787810 - QUAD $0xa6b34ad8c9dfc06f // .quad -6434717147622031249 - QUAD $0xf13b94daf124da26 // .quad -1064093218873484762 - QUAD $0xd0601d8efc57b08b // .quad -3431710416100151157 - QUAD $0x76c53d08d6b70858 // .quad 8558313775058847832 - QUAD $0x823c12795db6ce57 // .quad -9062348037703676329 - QUAD $0x54768c4b0c64ca6e // .quad 6086206200396171886 - QUAD $0xa2cb1717b52481ed // .quad -6716249028702207507 - QUAD $0xa9942f5dcf7dfd09 // .quad -6227300304786948855 - QUAD $0xcb7ddcdda26da268 // .quad -3783625267450371480 - QUAD $0xd3f93b35435d7c4c // .quad -3172439362556298164 - QUAD $0xfe5d54150b090b02 // .quad -117845565885576446 - QUAD $0xc47bc5014a1a6daf // .quad -4288617610811380305 - QUAD $0x9efa548d26e5a6e1 // .quad -6991182506319567135 - QUAD $0x359ab6419ca1091b // .quad 3862600023340550427 - QUAD $0xc6b8e9b0709f109a // .quad -4127292114472071014 - QUAD $0xc30163d203c94b62 // .quad -4395122007679087774 - QUAD $0xf867241c8cc6d4c0 // .quad -547429124662700864 - QUAD $0x79e0de63425dcf1d // .quad 8782263791269039901 - QUAD $0x9b407691d7fc44f8 // .quad -7259672230555269896 - QUAD $0x985915fc12f542e4 // .quad -7468914334623251740 - QUAD $0xc21094364dfb5636 // .quad -4462904269766699466 - QUAD $0x3e6f5b7b17b2939d // .quad 4498915137003099037 - QUAD $0xf294b943e17a2bc4 // .quad -966944318780986428 - QUAD $0xa705992ceecf9c42 // .quad -6411550076227838910 - QUAD $0x979cf3ca6cec5b5a // .quad -7521869226879198374 - QUAD $0x50c6ff782a838353 // .quad 5820620459997365075 - QUAD $0xbd8430bd08277231 // .quad -4790650515171610063 - QUAD $0xa4f8bf5635246428 // .quad -6559282480285457368 - QUAD $0xece53cec4a314ebd // .quad -1376627125537124675 - QUAD $0x871b7795e136be99 // .quad -8711237568605798759 - QUAD $0x940f4613ae5ed136 // .quad -7777920981101784778 - QUAD $0x28e2557b59846e3f // .quad 2946011094524915263 - QUAD $0xb913179899f68584 // .quad -5110715207949843068 - QUAD $0x331aeada2fe589cf // .quad 3682513868156144079 - QUAD $0xe757dd7ec07426e5 // .quad -1776707991509915931 - QUAD $0x3ff0d2c85def7621 // .quad 4607414176811284001 - QUAD $0x9096ea6f3848984f // .quad -8027971522334779313 - QUAD $0x0fed077a756b53a9 // .quad 1147581702586717097 - QUAD $0xb4bca50b065abe63 // .quad -5423278384491086237 - QUAD $0xd3e8495912c62894 // .quad -3177208890193991532 - QUAD $0xe1ebce4dc7f16dfb // .quad -2167411962186469893 - QUAD $0x64712dd7abbbd95c // .quad 7237616480483531100 - QUAD $0x8d3360f09cf6e4bd // .quad -8272161504007625539 - QUAD $0xbd8d794d96aacfb3 // .quad -4788037454677749837 - QUAD $0xb080392cc4349dec // .quad -5728515861582144020 - QUAD $0xecf0d7a0fc5583a0 // .quad -1373360799919799392 - QUAD $0xdca04777f541c567 // .quad -2548958808550292121 - QUAD $0xf41686c49db57244 // .quad -858350499949874620 - QUAD $0x89e42caaf9491b60 // .quad -8510628282985014432 - QUAD $0x311c2875c522ced5 // .quad 3538747893490044629 - QUAD $0xac5d37d5b79b6239 // .quad -6026599335303880135 - QUAD $0x7d633293366b828b // .quad 9035120885289943691 - QUAD $0xd77485cb25823ac7 // .quad -2921563150702462265 - QUAD $0xae5dff9c02033197 // .quad -5882264492762254953 - QUAD $0x86a8d39ef77164bc // .quad -8743505996830120772 - QUAD $0xd9f57f830283fdfc // .quad -2741144597525430788 - QUAD $0xa8530886b54dbdeb // .quad -6317696477610263061 - QUAD $0xd072df63c324fd7b // .quad -3426430746906788485 - QUAD $0xd267caa862a12d66 // .quad -3285434578585440922 - QUAD $0x4247cb9e59f71e6d // .quad 4776009810824339053 - QUAD $0x8380dea93da4bc60 // .quad -8970925639256982432 - QUAD $0x52d9be85f074e608 // .quad 5970012263530423816 - QUAD $0xa46116538d0deb78 // .quad -6601971030643840136 - QUAD $0x67902e276c921f8b // .quad 7462515329413029771 - QUAD $0xcd795be870516656 // .quad -3640777769877412266 - QUAD $0x00ba1cd8a3db53b6 // .quad 52386062455755702 - QUAD $0x806bd9714632dff6 // .quad -9193015133814464522 - QUAD $0x80e8a40eccd228a4 // .quad -9157889458785081180 - QUAD $0xa086cfcd97bf97f3 // .quad -6879582898840692749 - QUAD $0x6122cd128006b2cd // .quad 6999382250228200141 - QUAD $0xc8a883c0fdaf7df0 // .quad -3987792605123478032 - QUAD $0x796b805720085f81 // .quad 8749227812785250177 - QUAD $0xfad2a4b13d1b5d6c // .quad -373054737976959636 - QUAD $0xcbe3303674053bb0 // .quad -3755104653863994448 - QUAD $0x9cc3a6eec6311a63 // .quad -7150688238876681629 - QUAD $0xbedbfc4411068a9c // .quad -4693880817329993060 - QUAD $0xc3f490aa77bd60fc // .quad -4326674280168464132 - QUAD $0xee92fb5515482d44 // .quad -1255665003235103420 - QUAD $0xf4f1b4d515acb93b // .quad -796656831783192261 - QUAD $0x751bdd152d4d1c4a // .quad 8438581409832836170 - QUAD $0x991711052d8bf3c5 // .quad -7415439547505577019 - QUAD $0xd262d45a78a0635d // .quad -3286831292991118499 - QUAD $0xbf5cd54678eef0b6 // .quad -4657613415954583370 - QUAD $0x86fb897116c87c34 // .quad -8720225134666286028 - QUAD $0xef340a98172aace4 // .quad -1210330751515841308 - QUAD $0xd45d35e6ae3d4da0 // .quad -3144297699952734816 - QUAD $0x9580869f0e7aac0e // .quad -7673985747338482674 - QUAD $0x8974836059cca109 // .quad -8542058143368306423 - QUAD $0xbae0a846d2195712 // .quad -4980796165745715438 - QUAD $0x2bd1a438703fc94b // .quad 3157485376071780683 - QUAD $0xe998d258869facd7 // .quad -1614309188754756393 - QUAD $0x7b6306a34627ddcf // .quad 8890957387685944783 - QUAD $0x91ff83775423cc06 // .quad -7926472270612804602 - QUAD $0x1a3bc84c17b1d542 // .quad 1890324697752655170 - QUAD $0xb67f6455292cbf08 // .quad -5296404319838617848 - QUAD $0x20caba5f1d9e4a93 // .quad 2362905872190818963 - QUAD $0xe41f3d6a7377eeca // .quad -2008819381370884406 - QUAD $0x547eb47b7282ee9c // .quad 6088502188546649756 - QUAD $0x8e938662882af53e // .quad -8173041140997884610 - QUAD $0xe99e619a4f23aa43 // .quad -1612744301171463613 - QUAD $0xb23867fb2a35b28d // .quad -5604615407819967859 - QUAD $0x6405fa00e2ec94d4 // .quad 7207441660390446292 - QUAD $0xdec681f9f4c31f31 // .quad -2394083241347571919 - QUAD $0xde83bc408dd3dd04 // .quad -2412877989897052924 - QUAD $0x8b3c113c38f9f37e // .quad -8413831053483314306 - QUAD $0x9624ab50b148d445 // .quad -7627783505798704059 - QUAD $0xae0b158b4738705e // .quad -5905602798426754978 - QUAD $0x3badd624dd9b0957 // .quad 4300328673033783639 - QUAD $0xd98ddaee19068c76 // .quad -2770317479606055818 - QUAD $0xe54ca5d70a80e5d6 // .quad -1923980597781273130 - QUAD $0x87f8a8d4cfa417c9 // .quad -8648977452394866743 - QUAD $0x5e9fcf4ccd211f4c // .quad 6818396289628184396 - QUAD $0xa9f6d30a038d1dbc // .quad -6199535797066195524 - QUAD $0x7647c3200069671f // .quad 8522995362035230495 - QUAD $0xd47487cc8470652b // .quad -3137733727905356501 - QUAD $0x29ecd9f40041e073 // .quad 3021029092058325107 - QUAD $0x84c8d4dfd2c63f3b // .quad -8878612607581929669 - QUAD $0xf468107100525890 // .quad -835399653354481520 - QUAD $0xa5fb0a17c777cf09 // .quad -6486579741050024183 - QUAD $0x7182148d4066eeb4 // .quad 8179122470161673908 - QUAD $0xcf79cc9db955c2cc // .quad -3496538657885142324 - QUAD $0xc6f14cd848405530 // .quad -4111420493003729616 - QUAD $0x81ac1fe293d599bf // .quad -9102865688819295809 - QUAD $0xb8ada00e5a506a7c // .quad -5139275616254662020 - QUAD $0xa21727db38cb002f // .quad -6766896092596731857 - QUAD $0xa6d90811f0e4851c // .quad -6424094520318327524 - QUAD $0xca9cf1d206fdc03b // .quad -3846934097318526917 - QUAD $0x908f4a166d1da663 // .quad -8030118150397909405 - QUAD $0xfd442e4688bd304a // .quad -196981603220770742 - QUAD $0x9a598e4e043287fe // .quad -7324666853212387330 - QUAD $0x9e4a9cec15763e2e // .quad -7040642529654063570 - QUAD $0x40eff1e1853f29fd // .quad 4679224488766679549 - QUAD $0xc5dd44271ad3cdba // .quad -4189117143640191558 - QUAD $0xd12bee59e68ef47c // .quad -3374341425896426372 - QUAD $0xf7549530e188c128 // .quad -624710411122851544 - QUAD $0x82bb74f8301958ce // .quad -9026492418826348338 - QUAD $0x9a94dd3e8cf578b9 // .quad -7307973034592864071 - QUAD $0xe36a52363c1faf01 // .quad -2059743486678159615 - QUAD $0xc13a148e3032d6e7 // .quad -4523280274813692185 - QUAD $0xdc44e6c3cb279ac1 // .quad -2574679358347699519 - QUAD $0xf18899b1bc3f8ca1 // .quad -1042414325089727327 - QUAD $0x29ab103a5ef8c0b9 // .quad 3002511419460075705 - QUAD $0x96f5600f15a7b7e5 // .quad -7569037980822161435 - QUAD $0x7415d448f6b6f0e7 // .quad 8364825292752482535 - QUAD $0xbcb2b812db11a5de // .quad -4849611457600313890 - QUAD $0x111b495b3464ad21 // .quad 1232659579085827361 - QUAD $0xebdf661791d60f56 // .quad -1450328303573004458 - QUAD $0xcab10dd900beec34 // .quad -3841273781498745804 - QUAD $0x936b9fcebb25c995 // .quad -7823984217374209643 - QUAD $0x3d5d514f40eea742 // .quad 4421779809981343554 - QUAD $0xb84687c269ef3bfb // .quad -5168294253290374149 - QUAD $0x0cb4a5a3112a5112 // .quad 915538744049291538 - QUAD $0xe65829b3046b0afa // .quad -1848681798185579782 - QUAD $0x47f0e785eaba72ab // .quad 5183897733458195115 - QUAD $0x8ff71a0fe2c2e6dc // .quad -8072955151507069220 - QUAD $0x59ed216765690f56 // .quad 6479872166822743894 - QUAD $0xb3f4e093db73a093 // .quad -5479507920956448621 - QUAD $0x306869c13ec3532c // .quad 3488154190101041964 - QUAD $0xe0f218b8d25088b8 // .quad -2237698882768172872 - QUAD $0x1e414218c73a13fb // .quad 2180096368813151227 - QUAD $0x8c974f7383725573 // .quad -8316090829371189901 - QUAD $0xe5d1929ef90898fa // .quad -1886565557410948870 - QUAD $0xafbd2350644eeacf // .quad -5783427518286599473 - QUAD $0xdf45f746b74abf39 // .quad -2358206946763686087 - QUAD $0xdbac6c247d62a583 // .quad -2617598379430861437 - QUAD $0x6b8bba8c328eb783 // .quad 7749492695127472003 - QUAD $0x894bc396ce5da772 // .quad -8553528014785370254 - QUAD $0x066ea92f3f326564 // .quad 463493832054564196 - QUAD $0xab9eb47c81f5114f // .quad -6080224000054324913 - QUAD $0xc80a537b0efefebd // .quad -4032318728359182659 - QUAD $0xd686619ba27255a2 // .quad -2988593981640518238 - QUAD $0xbd06742ce95f5f36 // .quad -4826042214438183114 - QUAD $0x8613fd0145877585 // .quad -8785400266166405755 - QUAD $0x2c48113823b73704 // .quad 3190819268807046916 - QUAD $0xa798fc4196e952e7 // .quad -6370064314280619289 - QUAD $0xf75a15862ca504c5 // .quad -623161932418579259 - QUAD $0xd17f3b51fca3a7a0 // .quad -3350894374423386208 - QUAD $0x9a984d73dbe722fb // .quad -7307005235402693893 - QUAD $0x82ef85133de648c4 // .quad -9011838011655698236 - QUAD $0xc13e60d0d2e0ebba // .quad -4522070525825979462 - QUAD $0xa3ab66580d5fdaf5 // .quad -6653111496142234891 - QUAD $0x318df905079926a8 // .quad 3570783879572301480 - QUAD $0xcc963fee10b7d1b3 // .quad -3704703351750405709 - QUAD $0xfdf17746497f7052 // .quad -148206168962011054 - QUAD $0xffbbcfe994e5c61f // .quad -19193171260619233 - QUAD $0xfeb6ea8bedefa633 // .quad -92628855601256909 - QUAD $0x9fd561f1fd0f9bd3 // .quad -6929524759678968877 - QUAD $0xfe64a52ee96b8fc0 // .quad -115786069501571136 - QUAD $0xc7caba6e7c5382c8 // .quad -4050219931171323192 - QUAD $0x3dfdce7aa3c673b0 // .quad 4466953431550423984 - QUAD $0xf9bd690a1b68637b // .quad -451088895536766085 - QUAD $0x06bea10ca65c084e // .quad 486002885505321038 - QUAD $0x9c1661a651213e2d // .quad -7199459587351560659 - QUAD $0x486e494fcff30a62 // .quad 5219189625309039202 - QUAD $0xc31bfa0fe5698db8 // .quad -4387638465762062920 - QUAD $0x5a89dba3c3efccfa // .quad 6523987031636299002 - QUAD $0xf3e2f893dec3f126 // .quad -872862063775190746 - QUAD $0xf89629465a75e01c // .quad -534194123654701028 - QUAD $0x986ddb5c6b3a76b7 // .quad -7463067817500576073 - QUAD $0xf6bbb397f1135823 // .quad -667742654568376285 - QUAD $0xbe89523386091465 // .quad -4717148753448332187 - QUAD $0x746aa07ded582e2c // .quad 8388693718644305452 - QUAD $0xee2ba6c0678b597f // .quad -1284749923383027329 - QUAD $0xa8c2a44eb4571cdc // .quad -6286281471915778852 - QUAD $0x94db483840b717ef // .quad -7720497729755473937 - QUAD $0x92f34d62616ce413 // .quad -7857851839894723565 - QUAD $0xba121a4650e4ddeb // .quad -5038936143766954517 - QUAD $0x77b020baf9c81d17 // .quad 8624429273841147159 - QUAD $0xe896a0d7e51e1566 // .quad -1686984161281305242 - QUAD $0x0ace1474dc1d122e // .quad 778582277723329070 - QUAD $0x915e2486ef32cd60 // .quad -7971894128441897632 - QUAD $0x0d819992132456ba // .quad 973227847154161338 - QUAD $0xb5b5ada8aaff80b8 // .quad -5353181642124984136 - QUAD $0x10e1fff697ed6c69 // .quad 1216534808942701673 - QUAD $0xe3231912d5bf60e6 // .quad -2079791034228842266 - QUAD $0xca8d3ffa1ef463c1 // .quad -3851351762838199359 - QUAD $0x8df5efabc5979c8f // .quad -8217398424034108273 - QUAD $0xbd308ff8a6b17cb2 // .quad -4814189703547749198 - QUAD $0xb1736b96b6fd83b3 // .quad -5660062011615247437 - QUAD $0xac7cb3f6d05ddbde // .quad -6017737129434686498 - QUAD $0xddd0467c64bce4a0 // .quad -2463391496091671392 - QUAD $0x6bcdf07a423aa96b // .quad 7768129340171790699 - QUAD $0x8aa22c0dbef60ee4 // .quad -8457148712698376476 - QUAD $0x86c16c98d2c953c6 // .quad -8736582398494813242 - QUAD $0xad4ab7112eb3929d // .quad -5959749872445582691 - QUAD $0xe871c7bf077ba8b7 // .quad -1697355961263740745 - QUAD $0xd89d64d57a607744 // .quad -2838001322129590460 - QUAD $0x11471cd764ad4972 // .quad 1244995533423855986 - QUAD $0x87625f056c7c4a8b // .quad -8691279853972075893 - QUAD $0xd598e40d3dd89bcf // .quad -3055441601647567921 - QUAD $0xa93af6c6c79b5d2d // .quad -6252413799037706963 - QUAD $0x4aff1d108d4ec2c3 // .quad 5404070034795315907 - QUAD $0xd389b47879823479 // .quad -3203831230369745799 - QUAD $0xcedf722a585139ba // .quad -3539985255894009414 - QUAD $0x843610cb4bf160cb // .quad -8919923546622172981 - QUAD $0xc2974eb4ee658828 // .quad -4424981569867511768 - QUAD $0xa54394fe1eedb8fe // .quad -6538218414850328322 - QUAD $0x733d226229feea32 // .quad 8303831092947774002 - QUAD $0xce947a3da6a9273e // .quad -3561087000135522498 - QUAD $0x0806357d5a3f525f // .quad 578208414664970847 - QUAD $0x811ccc668829b887 // .quad -9143208402725783417 - QUAD $0xca07c2dcb0cf26f7 // .quad -3888925500096174345 - QUAD $0xa163ff802a3426a8 // .quad -6817324484979841368 - QUAD $0xfc89b393dd02f0b5 // .quad -249470856692830027 - QUAD $0xc9bcff6034c13052 // .quad -3909969587797413806 - QUAD $0xbbac2078d443ace2 // .quad -4923524589293425438 - QUAD $0xfc2c3f3841f17c67 // .quad -275775966319379353 - QUAD $0xd54b944b84aa4c0d // .quad -3077202868308390899 - QUAD $0x9d9ba7832936edc0 // .quad -7089889006590693952 - QUAD $0x0a9e795e65d4df11 // .quad 765182433041899281 - QUAD $0xc5029163f384a931 // .quad -4250675239810979535 - QUAD $0x4d4617b5ff4a16d5 // .quad 5568164059729762005 - QUAD $0xf64335bcf065d37d // .quad -701658031336336515 - QUAD $0x504bced1bf8e4e45 // .quad 5785945546544795205 - QUAD $0x99ea0196163fa42e // .quad -7356065297226292178 - QUAD $0xe45ec2862f71e1d6 // .quad -1990940103673781802 - QUAD $0xc06481fb9bcf8d39 // .quad -4583395603105477319 - QUAD $0x5d767327bb4e5a4c // .quad 6734696907262548556 - QUAD $0xf07da27a82c37088 // .quad -1117558485454458744 - QUAD $0x3a6a07f8d510f86f // .quad 4209185567039092847 - QUAD $0x964e858c91ba2655 // .quad -7616003081050118571 - QUAD $0x890489f70a55368b // .quad -8573576096483297653 - QUAD $0xbbe226efb628afea // .quad -4908317832885260310 - QUAD $0x2b45ac74ccea842e // .quad 3118087934678041646 - QUAD $0xeadab0aba3b2dbe5 // .quad -1523711272679187483 - QUAD $0x3b0b8bc90012929d // .quad 4254647968387469981 - QUAD $0x92c8ae6b464fc96f // .quad -7869848573065574033 - QUAD $0x09ce6ebb40173744 // .quad 706623942056949572 - QUAD $0xb77ada0617e3bbcb // .quad -5225624697904579637 - QUAD $0xcc420a6a101d0515 // .quad -3728406090856200939 - QUAD $0xe55990879ddcaabd // .quad -1920344853953336643 - QUAD $0x9fa946824a12232d // .quad -6941939825212513491 - QUAD $0x8f57fa54c2a9eab6 // .quad -8117744561361917258 - QUAD $0x47939822dc96abf9 // .quad 5157633273766521849 - QUAD $0xb32df8e9f3546564 // .quad -5535494683275008668 - QUAD $0x59787e2b93bc56f7 // .quad 6447041592208152311 - QUAD $0xdff9772470297ebd // .quad -2307682335666372931 - QUAD $0x57eb4edb3c55b65a // .quad 6335244004343789146 - QUAD $0x8bfbea76c619ef36 // .quad -8359830487432564938 - QUAD $0xede622920b6b23f1 // .quad -1304317031425039375 - QUAD $0xaefae51477a06b03 // .quad -5838102090863318269 - QUAD $0xe95fab368e45eced // .quad -1630396289281299219 - QUAD $0xdab99e59958885c4 // .quad -2685941595151759932 - QUAD $0x11dbcb0218ebb414 // .quad 1286845328412881940 - QUAD $0x88b402f7fd75539b // .quad -8596242524610931813 - QUAD $0xd652bdc29f26a119 // .quad -3003129357911285479 - QUAD $0xaae103b5fcd2a881 // .quad -6133617137336276863 - QUAD $0x4be76d3346f0495f // .quad 5469460339465668959 - QUAD $0xd59944a37c0752a2 // .quad -3055335403242958174 - QUAD $0x6f70a4400c562ddb // .quad 8030098730593431003 - QUAD $0x857fcae62d8493a5 // .quad -8827113654667930715 - QUAD $0xcb4ccd500f6bb952 // .quad -3797434642040374958 - QUAD $0xa6dfbd9fb8e5b88e // .quad -6422206049907525490 - QUAD $0x7e2000a41346a7a7 // .quad 9088264752731695015 - QUAD $0xd097ad07a71f26b2 // .quad -3416071543957018958 - QUAD $0x8ed400668c0c28c8 // .quad -8154892584824854328 - QUAD $0x825ecc24c873782f // .quad -9052573742614218705 - QUAD $0x728900802f0f32fa // .quad 8253128342678483706 - QUAD $0xa2f67f2dfa90563b // .quad -6704031159840385477 - QUAD $0x4f2b40a03ad2ffb9 // .quad 5704724409920716729 - QUAD $0xcbb41ef979346bca // .quad -3768352931373093942 - QUAD $0xe2f610c84987bfa8 // .quad -2092466524453879896 - QUAD $0xfea126b7d78186bc // .quad -98755145788979524 - QUAD $0x0dd9ca7d2df4d7c9 // .quad 998051431430019017 - QUAD $0x9f24b832e6b0f436 // .quad -6979250993759194058 - QUAD $0x91503d1c79720dbb // .quad -7975807747567252037 - QUAD $0xc6ede63fa05d3143 // .quad -4112377723771604669 - QUAD $0x75a44c6397ce912a // .quad 8476984389250486570 - QUAD $0xf8a95fcf88747d94 // .quad -528786136287117932 - QUAD $0xc986afbe3ee11aba // .quad -3925256793573221702 - QUAD $0x9b69dbe1b548ce7c // .quad -7248020362820530564 - QUAD $0xfbe85badce996168 // .quad -294884973539139224 - QUAD $0xc24452da229b021b // .quad -4448339435098275301 - QUAD $0xfae27299423fb9c3 // .quad -368606216923924029 - QUAD $0xf2d56790ab41c2a2 // .quad -948738275445456222 - QUAD $0xdccd879fc967d41a // .quad -2536221894791146470 - QUAD $0x97c560ba6b0919a5 // .quad -7510490449794491995 - QUAD $0x5400e987bbc1c920 // .quad 6053094668365842720 - QUAD $0xbdb6b8e905cb600f // .quad -4776427043815727089 - QUAD $0x290123e9aab23b68 // .quad 2954682317029915496 - QUAD $0xed246723473e3813 // .quad -1358847786342270957 - QUAD $0xf9a0b6720aaf6521 // .quad -459166561069996767 - QUAD $0x9436c0760c86e30b // .quad -7766808894105001205 - QUAD $0xf808e40e8d5b3e69 // .quad -573958201337495959 - QUAD $0xb94470938fa89bce // .quad -5096825099203863602 - QUAD $0xb60b1d1230b20e04 // .quad -5329133770099257852 - QUAD $0xe7958cb87392c2c2 // .quad -1759345355577441598 - QUAD $0xb1c6f22b5e6f48c2 // .quad -5636551615525730110 - QUAD $0x90bd77f3483bb9b9 // .quad -8017119874876982855 - QUAD $0x1e38aeb6360b1af3 // .quad 2177682517447613171 - QUAD $0xb4ecd5f01a4aa828 // .quad -5409713825168840664 - QUAD $0x25c6da63c38de1b0 // .quad 2722103146809516464 - QUAD $0xe2280b6c20dd5232 // .quad -2150456263033662926 - QUAD $0x579c487e5a38ad0e // .quad 6313000485183335694 - QUAD $0x8d590723948a535f // .quad -8261564192037121185 - QUAD $0x2d835a9df0c6d851 // .quad 3279564588051781713 - QUAD $0xb0af48ec79ace837 // .quad -5715269221619013577 - QUAD $0xf8e431456cf88e65 // .quad -512230283362660763 - QUAD $0xdcdb1b2798182244 // .quad -2532400508596379068 - QUAD $0x1b8e9ecb641b58ff // .quad 1985699082112030975 - QUAD $0x8a08f0f8bf0f156b // .quad -8500279345513818773 - QUAD $0xe272467e3d222f3f // .quad -2129562165787349185 - QUAD $0xac8b2d36eed2dac5 // .quad -6013663163464885563 - QUAD $0x5b0ed81dcc6abb0f // .quad 6561419329620589327 - QUAD $0xd7adf884aa879177 // .quad -2905392935903719049 - QUAD $0x98e947129fc2b4e9 // .quad -7428327965055601431 - QUAD $0x86ccbb52ea94baea // .quad -8733399612580906262 - QUAD $0x3f2398d747b36224 // .quad 4549648098962661924 - QUAD $0xa87fea27a539e9a5 // .quad -6305063497298744923 - QUAD $0x8eec7f0d19a03aad // .quad -8147997931578836307 - QUAD $0xd29fe4b18e88640e // .quad -3269643353196043250 - QUAD $0x1953cf68300424ac // .quad 1825030320404309164 - QUAD $0x83a3eeeef9153e89 // .quad -8961056123388608887 - QUAD $0x5fa8c3423c052dd7 // .quad 6892973918932774359 - QUAD $0xa48ceaaab75a8e2b // .quad -6589634135808373205 - QUAD $0x3792f412cb06794d // .quad 4004531380238580045 - QUAD $0xcdb02555653131b6 // .quad -3625356651333078602 - QUAD $0xe2bbd88bbee40bd0 // .quad -2108853905778275376 - QUAD $0x808e17555f3ebf11 // .quad -9183376934724255983 - QUAD $0x5b6aceaeae9d0ec4 // .quad 6587304654631931588 - QUAD $0xa0b19d2ab70e6ed6 // .quad -6867535149977932074 - QUAD $0xf245825a5a445275 // .quad -989241218564861323 - QUAD $0xc8de047564d20a8b // .quad -3972732919045027189 - QUAD $0xeed6e2f0f0d56712 // .quad -1236551523206076654 - QUAD $0xfb158592be068d2e // .quad -354230130378896082 - QUAD $0x55464dd69685606b // .quad 6144684325637283947 - QUAD $0x9ced737bb6c4183d // .quad -7138922859127891907 - QUAD $0xaa97e14c3c26b886 // .quad -6154202648235558778 - QUAD $0xc428d05aa4751e4c // .quad -4311967555482476980 - QUAD $0xd53dd99f4b3066a8 // .quad -3081067291867060568 - QUAD $0xf53304714d9265df // .quad -778273425925708321 - QUAD $0xe546a8038efe4029 // .quad -1925667057416912855 - QUAD $0x993fe2c6d07b7fab // .quad -7403949918844649557 - QUAD $0xde98520472bdd033 // .quad -2407083821771141069 - QUAD $0xbf8fdb78849a5f96 // .quad -4643251380128424042 - QUAD $0x963e66858f6d4440 // .quad -7620540795641314240 - QUAD $0xef73d256a5c0f77c // .quad -1192378206733142148 - QUAD $0xdde7001379a44aa8 // .quad -2456994988062127448 - QUAD $0x95a8637627989aad // .quad -7662765406849295699 - QUAD $0x5560c018580d5d52 // .quad 6152128301777116498 - QUAD $0xbb127c53b17ec159 // .quad -4966770740134231719 - QUAD $0xaab8f01e6e10b4a6 // .quad -6144897678060768090 - QUAD $0xe9d71b689dde71af // .quad -1596777406740401745 - QUAD $0xcab3961304ca70e8 // .quad -3840561048787980056 - QUAD $0x9226712162ab070d // .quad -7915514906853832947 - QUAD $0x3d607b97c5fd0d22 // .quad 4422670725869800738 - QUAD $0xb6b00d69bb55c8d1 // .quad -5282707615139903279 - QUAD $0x8cb89a7db77c506a // .quad -8306719647944912790 - QUAD $0xe45c10c42a2b3b05 // .quad -1991698500497491195 - QUAD $0x77f3608e92adb242 // .quad 8643358275316593218 - QUAD $0x8eb98a7a9a5b04e3 // .quad -8162340590452013853 - QUAD $0x55f038b237591ed3 // .quad 6192511825718353619 - QUAD $0xb267ed1940f1c61c // .quad -5591239719637629412 - QUAD $0x6b6c46dec52f6688 // .quad 7740639782147942024 - QUAD $0xdf01e85f912e37a3 // .quad -2377363631119648861 - QUAD $0x2323ac4b3b3da015 // .quad 2532056854628769813 - QUAD $0x8b61313bbabce2c6 // .quad -8403381297090862394 - QUAD $0xabec975e0a0d081a // .quad -6058300968568813542 - QUAD $0xae397d8aa96c1b77 // .quad -5892540602936190089 - QUAD $0x96e7bd358c904a21 // .quad -7572876210711016927 - QUAD $0xd9c7dced53c72255 // .quad -2753989735242849707 - QUAD $0x7e50d64177da2e54 // .quad 9102010423587778132 - QUAD $0x881cea14545c7575 // .quad -8638772612167862923 - QUAD $0xdde50bd1d5d0b9e9 // .quad -2457545025797441047 - QUAD $0xaa242499697392d2 // .quad -6186779746782440750 - QUAD $0x955e4ec64b44e864 // .quad -7683617300674189212 - QUAD $0xd4ad2dbfc3d07787 // .quad -3121788665050663033 - QUAD $0xbd5af13bef0b113e // .quad -4802260812921368258 - QUAD $0x84ec3c97da624ab4 // .quad -8868646943297746252 - QUAD $0xecb1ad8aeacdd58e // .quad -1391139997724322418 - QUAD $0xa6274bbdd0fadd61 // .quad -6474122660694794911 - QUAD $0x67de18eda5814af2 // .quad 7484447039699372786 - QUAD $0xcfb11ead453994ba // .quad -3480967307441105734 - QUAD $0x80eacf948770ced7 // .quad -9157278655470055721 - QUAD $0x81ceb32c4b43fcf4 // .quad -9093133594791772940 - QUAD $0xa1258379a94d028d // .quad -6834912300910181747 - QUAD $0xa2425ff75e14fc31 // .quad -6754730975062328271 - QUAD $0x096ee45813a04330 // .quad 679731660717048624 - QUAD $0xcad2f7f5359a3b3e // .quad -3831727700400522434 - QUAD $0x8bca9d6e188853fc // .quad -8373707460958465028 - QUAD $0xfd87b5f28300ca0d // .quad -177973607073265139 - QUAD $0x775ea264cf55347d // .quad 8601490892183123069 - QUAD $0x9e74d1b791e07e48 // .quad -7028762532061872568 - QUAD $0x95364afe032a819d // .quad -7694880458480647779 - QUAD $0xc612062576589dda // .quad -4174267146649952806 - QUAD $0x3a83ddbd83f52204 // .quad 4216457482181353988 - QUAD $0xf79687aed3eec551 // .quad -606147914885053103 - QUAD $0xc4926a9672793542 // .quad -4282243101277735614 - QUAD $0x9abe14cd44753b52 // .quad -7296371474444240046 - QUAD $0x75b7053c0f178293 // .quad 8482254178684994195 - QUAD $0xc16d9a0095928a27 // .quad -4508778324627912153 - QUAD $0x5324c68b12dd6338 // .quad 5991131704928854840 - QUAD $0xf1c90080baf72cb1 // .quad -1024286887357502287 - QUAD $0xd3f6fc16ebca5e03 // .quad -3173071712060547581 - QUAD $0x971da05074da7bee // .quad -7557708332239520786 - QUAD $0x88f4bb1ca6bcf584 // .quad -8578025658503072380 - QUAD $0xbce5086492111aea // .quad -4835449396872013078 - QUAD $0x2b31e9e3d06c32e5 // .quad 3112525982153323237 - QUAD $0xec1e4a7db69561a5 // .quad -1432625727662628443 - QUAD $0x3aff322e62439fcf // .quad 4251171748059520975 - QUAD $0x9392ee8e921d5d07 // .quad -7812920107430224633 - QUAD $0x09befeb9fad487c2 // .quad 702278666647013314 - QUAD $0xb877aa3236a4b449 // .quad -5154464115860392887 - QUAD $0x4c2ebe687989a9b3 // .quad 5489534351736154547 - QUAD $0xe69594bec44de15b // .quad -1831394126398103205 - QUAD $0x0f9d37014bf60a10 // .quad 1125115960621402640 - QUAD $0x901d7cf73ab0acd9 // .quad -8062150356639896359 - QUAD $0x538484c19ef38c94 // .quad 6018080969204141204 - QUAD $0xb424dc35095cd80f // .quad -5466001927372482545 - QUAD $0x2865a5f206b06fb9 // .quad 2910915193077788601 - QUAD $0xe12e13424bb40e13 // .quad -2220816390788215277 - QUAD $0xf93f87b7442e45d3 // .quad -486521013540076077 - QUAD $0x8cbccc096f5088cb // .quad -8305539271883716405 - QUAD $0xf78f69a51539d748 // .quad -608151266925095096 - QUAD $0xafebff0bcb24aafe // .quad -5770238071427257602 - QUAD $0xb573440e5a884d1b // .quad -5371875102083756773 - QUAD $0xdbe6fecebdedd5be // .quad -2601111570856684098 - QUAD $0x31680a88f8953030 // .quad 3560107088838733872 - QUAD $0x89705f4136b4a597 // .quad -8543223759426509417 - QUAD $0xfdc20d2b36ba7c3d // .quad -161552157378970563 - QUAD $0xabcc77118461cefc // .quad -6067343680855748868 - QUAD $0x3d32907604691b4c // .quad 4409745821703674700 - QUAD $0xd6bf94d5e57a42bc // .quad -2972493582642298180 - QUAD $0xa63f9a49c2c1b10f // .quad -6467280898289979121 - QUAD $0x8637bd05af6c69b5 // .quad -8775337516792518219 - QUAD $0x0fcf80dc33721d53 // .quad 1139270913992301907 - QUAD $0xa7c5ac471b478423 // .quad -6357485877563259869 - QUAD $0xd3c36113404ea4a8 // .quad -3187597375937010520 - QUAD $0xd1b71758e219652b // .quad -3335171328526686933 - QUAD $0x645a1cac083126e9 // .quad 7231123676894144233 - QUAD $0x83126e978d4fdf3b // .quad -9002011107970261189 - QUAD $0x3d70a3d70a3d70a3 // .quad 4427218577690292387 - QUAD $0xa3d70a3d70a3d70a // .quad -6640827866535438582 - QUAD $0xcccccccccccccccc; QUAD $0xcccccccccccccccc // .space 16, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8000000000000000 // .quad -9223372036854775808 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa000000000000000 // .quad -6917529027641081856 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xc800000000000000 // .quad -4035225266123964416 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xfa00000000000000 // .quad -432345564227567616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9c40000000000000 // .quad -7187745005283311616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xc350000000000000 // .quad -4372995238176751616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xf424000000000000 // .quad -854558029293551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9896800000000000 // .quad -7451627795949551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xbebc200000000000 // .quad -4702848726509551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xee6b280000000000 // .quad -1266874889709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9502f90000000000 // .quad -7709325833709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xba43b74000000000 // .quad -5024971273709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xe8d4a51000000000 // .quad -1669528073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9184e72a00000000 // .quad -7960984073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xb5e620f480000000 // .quad -5339544073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xe35fa931a0000000 // .quad -2062744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8e1bc9bf04000000 // .quad -8206744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xb1a2bc2ec5000000 // .quad -5646744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xde0b6b3a76400000 // .quad -2446744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8ac7230489e80000 // .quad -8446744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xad78ebc5ac620000 // .quad -5946744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xd8d726b7177a8000 // .quad -2821744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x878678326eac9000 // .quad -8681119073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa968163f0a57b400 // .quad -6239712823709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xd3c21bcecceda100 // .quad -3187955011209551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x84595161401484a0 // .quad -8910000909647051616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa56fa5b99019a5c8 // .quad -6525815118631426616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xcecb8f27f4200f3a // .quad -3545582879861895366 - QUAD $0x4000000000000000 // .quad 4611686018427387904 - QUAD $0x813f3978f8940984 // .quad -9133518327554766460 - QUAD $0x5000000000000000 // .quad 5764607523034234880 - QUAD $0xa18f07d736b90be5 // .quad -6805211891016070171 - QUAD $0xa400000000000000 // .quad -6629298651489370112 - QUAD $0xc9f2c9cd04674ede // .quad -3894828845342699810 - QUAD $0x4d00000000000000 // .quad 5548434740920451072 - QUAD $0xfc6f7c4045812296 // .quad -256850038250986858 - QUAD $0xf020000000000000 // .quad -1143914305352105984 - QUAD $0x9dc5ada82b70b59d // .quad -7078060301547948643 - QUAD $0x6c28000000000000 // .quad 7793479155164643328 - QUAD $0xc5371912364ce305 // .quad -4235889358507547899 - QUAD $0xc732000000000000 // .quad -4093209111326359552 - QUAD $0xf684df56c3e01bc6 // .quad -683175679707046970 - QUAD $0x3c7f400000000000 // .quad 4359273333062107136 - QUAD $0x9a130b963a6c115c // .quad -7344513827457986212 - QUAD $0x4b9f100000000000 // .quad 5449091666327633920 - QUAD $0xc097ce7bc90715b3 // .quad -4568956265895094861 - QUAD $0x1e86d40000000000 // .quad 2199678564482154496 - QUAD $0xf0bdc21abb48db20 // .quad -1099509313941480672 - QUAD $0x1314448000000000 // .quad 1374799102801346560 - QUAD $0x96769950b50d88f4 // .quad -7604722348854507276 - QUAD $0x17d955a000000000 // .quad 1718498878501683200 - QUAD $0xbc143fa4e250eb31 // .quad -4894216917640746191 - QUAD $0x5dcfab0800000000 // .quad 6759809616554491904 - QUAD $0xeb194f8e1ae525fd // .quad -1506085128623544835 - QUAD $0x5aa1cae500000000 // .quad 6530724019560251392 - QUAD $0x92efd1b8d0cf37be // .quad -7858832233030797378 - QUAD $0xf14a3d9e40000000 // .quad -1059967012404461568 - QUAD $0xb7abc627050305ad // .quad -5211854272861108819 - QUAD $0x6d9ccd05d0000000 // .quad 7898413271349198848 - QUAD $0xe596b7b0c643c719 // .quad -1903131822648998119 - QUAD $0xe4820023a2000000 // .quad -1981020733047832576 - QUAD $0x8f7e32ce7bea5c6f // .quad -8106986416796705681 - QUAD $0xdda2802c8a800000 // .quad -2476275916309790720 - QUAD $0xb35dbf821ae4f38b // .quad -5522047002568494197 - QUAD $0xd50b2037ad200000 // .quad -3095344895387238400 - QUAD $0xe0352f62a19e306e // .quad -2290872734783229842 - QUAD $0x4526f422cc340000 // .quad 4982938468024057856 - QUAD $0x8c213d9da502de45 // .quad -8349324486880600507 - QUAD $0x9670b12b7f410000 // .quad -7606384970252091392 - QUAD $0xaf298d050e4395d6 // .quad -5824969590173362730 - QUAD $0x3c0cdd765f114000 // .quad 4327076842467049472 - QUAD $0xdaf3f04651d47b4c // .quad -2669525969289315508 - QUAD $0xa5880a69fb6ac800 // .quad -6518949010312869888 - QUAD $0x88d8762bf324cd0f // .quad -8585982758446904049 - QUAD $0x8eea0d047a457a00 // .quad -8148686262891087360 - QUAD $0xab0e93b6efee0053 // .quad -6120792429631242157 - QUAD $0x72a4904598d6d880 // .quad 8260886245095692416 - QUAD $0xd5d238a4abe98068 // .quad -3039304518611664792 - QUAD $0x47a6da2b7f864750 // .quad 5163053903184807760 - QUAD $0x85a36366eb71f041 // .quad -8817094351773372351 - QUAD $0x999090b65f67d924 // .quad -7381240676301154012 - QUAD $0xa70c3c40a64e6c51 // .quad -6409681921289327535 - QUAD $0xfff4b4e3f741cf6d // .quad -3178808521666707 - QUAD $0xd0cf4b50cfe20765 // .quad -3400416383184271515 - QUAD $0xbff8f10e7a8921a4 // .quad -4613672773753429596 - QUAD $0x82818f1281ed449f // .quad -9042789267131251553 - QUAD $0xaff72d52192b6a0d // .quad -5767090967191786995 - QUAD $0xa321f2d7226895c7 // .quad -6691800565486676537 - QUAD $0x9bf4f8a69f764490 // .quad -7208863708989733744 - QUAD $0xcbea6f8ceb02bb39 // .quad -3753064688430957767 - QUAD $0x02f236d04753d5b4 // .quad 212292400617608628 - QUAD $0xfee50b7025c36a08 // .quad -79644842111309304 - QUAD $0x01d762422c946590 // .quad 132682750386005392 - QUAD $0x9f4f2726179a2245 // .quad -6967307053960650171 - QUAD $0x424d3ad2b7b97ef5 // .quad 4777539456409894645 - QUAD $0xc722f0ef9d80aad6 // .quad -4097447799023424810 - QUAD $0xd2e0898765a7deb2 // .quad -3251447716342407502 - QUAD $0xf8ebad2b84e0d58b // .quad -510123730351893109 - QUAD $0x63cc55f49f88eb2f // .quad 7191217214140771119 - QUAD $0x9b934c3b330c8577 // .quad -7236356359111015049 - QUAD $0x3cbf6b71c76b25fb // .quad 4377335499248575995 - QUAD $0xc2781f49ffcfa6d5 // .quad -4433759430461380907 - QUAD $0x8bef464e3945ef7a // .quad -8363388681221443718 - QUAD $0xf316271c7fc3908a // .quad -930513269649338230 - QUAD $0x97758bf0e3cbb5ac // .quad -7532960934977096276 - QUAD $0x97edd871cfda3a56 // .quad -7499099821171918250 - QUAD $0x3d52eeed1cbea317 // .quad 4418856886560793367 - QUAD $0xbde94e8e43d0c8ec // .quad -4762188758037509908 - QUAD $0x4ca7aaa863ee4bdd // .quad 5523571108200991709 - QUAD $0xed63a231d4c4fb27 // .quad -1341049929119499481 - QUAD $0x8fe8caa93e74ef6a // .quad -8076983103442849942 - QUAD $0x945e455f24fb1cf8 // .quad -7755685233340769032 - QUAD $0xb3e2fd538e122b44 // .quad -5484542860876174524 - QUAD $0xb975d6b6ee39e436 // .quad -5082920523248573386 - QUAD $0x60dbbca87196b616 // .quad 6979379479186945558 - QUAD $0xe7d34c64a9c85d44 // .quad -1741964635633328828 - QUAD $0xbc8955e946fe31cd // .quad -4861259862362934835 - QUAD $0x90e40fbeea1d3a4a // .quad -8006256924911912374 - QUAD $0x6babab6398bdbe41 // .quad 7758483227328495169 - QUAD $0xb51d13aea4a488dd // .quad -5396135137712502563 - QUAD $0xc696963c7eed2dd1 // .quad -4136954021121544751 - QUAD $0xe264589a4dcdab14 // .quad -2133482903713240300 - QUAD $0xfc1e1de5cf543ca2 // .quad -279753253987271518 - QUAD $0x8d7eb76070a08aec // .quad -8250955842461857044 - QUAD $0x3b25a55f43294bcb // .quad 4261994450943298507 - QUAD $0xb0de65388cc8ada8 // .quad -5702008784649933400 - QUAD $0x49ef0eb713f39ebe // .quad 5327493063679123134 - QUAD $0xdd15fe86affad912 // .quad -2515824962385028846 - QUAD $0x6e3569326c784337 // .quad 7941369183226839863 - QUAD $0x8a2dbf142dfcc7ab // .quad -8489919629131724885 - QUAD $0x49c2c37f07965404 // .quad 5315025460606161924 - QUAD $0xacb92ed9397bf996 // .quad -6000713517987268202 - QUAD $0xdc33745ec97be906 // .quad -2579590211097073402 - QUAD $0xd7e77a8f87daf7fb // .quad -2889205879056697349 - QUAD $0x69a028bb3ded71a3 // .quad 7611128154919104931 - QUAD $0x86f0ac99b4e8dafd // .quad -8723282702051517699 - QUAD $0xc40832ea0d68ce0c // .quad -4321147861633282548 - QUAD $0xa8acd7c0222311bc // .quad -6292417359137009220 - QUAD $0xf50a3fa490c30190 // .quad -789748808614215280 - QUAD $0xd2d80db02aabd62b // .quad -3253835680493873621 - QUAD $0x792667c6da79e0fa // .quad 8729779031470891258 - QUAD $0x83c7088e1aab65db // .quad -8951176327949752869 - QUAD $0x577001b891185938 // .quad 6300537770911226168 - QUAD $0xa4b8cab1a1563f52 // .quad -6577284391509803182 - QUAD $0xed4c0226b55e6f86 // .quad -1347699823215743098 - QUAD $0xcde6fd5e09abcf26 // .quad -3609919470959866074 - QUAD $0x544f8158315b05b4 // .quad 6075216638131242420 - QUAD $0x80b05e5ac60b6178 // .quad -9173728696990998152 - QUAD $0x696361ae3db1c721 // .quad 7594020797664053025 - QUAD $0xa0dc75f1778e39d6 // .quad -6855474852811359786 - QUAD $0x03bc3a19cd1e38e9 // .quad 269153960225290473 - QUAD $0xc913936dd571c84c // .quad -3957657547586811828 - QUAD $0x04ab48a04065c723 // .quad 336442450281613091 - QUAD $0xfb5878494ace3a5f // .quad -335385916056126881 - QUAD $0x62eb0d64283f9c76 // .quad 7127805559067090038 - QUAD $0x9d174b2dcec0e47b // .quad -7127145225176161157 - QUAD $0x3ba5d0bd324f8394 // .quad 4298070930406474644 - QUAD $0xc45d1df942711d9a // .quad -4297245513042813542 - QUAD $0xca8f44ec7ee36479 // .quad -3850783373846682503 - QUAD $0xf5746577930d6500 // .quad -759870872876129024 - QUAD $0x7e998b13cf4e1ecb // .quad 9122475437414293195 - QUAD $0x9968bf6abbe85f20 // .quad -7392448323188662496 - QUAD $0x9e3fedd8c321a67e // .quad -7043649776941685122 - QUAD $0xbfc2ef456ae276e8 // .quad -4628874385558440216 - QUAD $0xc5cfe94ef3ea101e // .quad -4192876202749718498 - QUAD $0xefb3ab16c59b14a2 // .quad -1174406963520662366 - QUAD $0xbba1f1d158724a12 // .quad -4926390635932268014 - QUAD $0x95d04aee3b80ece5 // .quad -7651533379841495835 - QUAD $0x2a8a6e45ae8edc97 // .quad 3065383741939440791 - QUAD $0xbb445da9ca61281f // .quad -4952730706374481889 - QUAD $0xf52d09d71a3293bd // .quad -779956341003086915 - QUAD $0xea1575143cf97226 // .quad -1579227364540714458 - QUAD $0x593c2626705f9c56 // .quad 6430056314514152534 - QUAD $0x924d692ca61be758 // .quad -7904546130479028392 - QUAD $0x6f8b2fb00c77836c // .quad 8037570393142690668 - QUAD $0xb6e0c377cfa2e12e // .quad -5268996644671397586 - QUAD $0x0b6dfb9c0f956447 // .quad 823590954573587527 - QUAD $0xe498f455c38b997a // .quad -1974559787411859078 - QUAD $0x4724bd4189bd5eac // .quad 5126430365035880108 - QUAD $0x8edf98b59a373fec // .quad -8151628894773493780 - QUAD $0x58edec91ec2cb657 // .quad 6408037956294850135 - QUAD $0xb2977ee300c50fe7 // .quad -5577850100039479321 - QUAD $0x2f2967b66737e3ed // .quad 3398361426941174765 - QUAD $0xdf3d5e9bc0f653e1 // .quad -2360626606621961247 - QUAD $0xbd79e0d20082ee74 // .quad -4793553135802847628 - QUAD $0x8b865b215899f46c // .quad -8392920656779807636 - QUAD $0xecd8590680a3aa11 // .quad -1380255401326171631 - QUAD $0xae67f1e9aec07187 // .quad -5879464802547371641 - QUAD $0xe80e6f4820cc9495 // .quad -1725319251657714539 - QUAD $0xda01ee641a708de9 // .quad -2737644984756826647 - QUAD $0x3109058d147fdcdd // .quad 3533361486141316317 - QUAD $0x884134fe908658b2 // .quad -8628557143114098510 - QUAD $0xbd4b46f0599fd415 // .quad -4806670179178130411 - QUAD $0xaa51823e34a7eede // .quad -6174010410465235234 - QUAD $0x6c9e18ac7007c91a // .quad 7826720331309500698 - QUAD $0xd4e5e2cdc1d1ea96 // .quad -3105826994654156138 - QUAD $0x03e2cf6bc604ddb0 // .quad 280014188641050032 - QUAD $0x850fadc09923329e // .quad -8858670899299929442 - QUAD $0x84db8346b786151c // .quad -8873354301053463268 - QUAD $0xa6539930bf6bff45 // .quad -6461652605697523899 - QUAD $0xe612641865679a63 // .quad -1868320839462053277 - QUAD $0xcfe87f7cef46ff16 // .quad -3465379738694516970 - QUAD $0x4fcb7e8f3f60c07e // .quad 5749828502977298558 - QUAD $0x81f14fae158c5f6e // .quad -9083391364325154962 - QUAD $0xe3be5e330f38f09d // .quad -2036086408133152611 - QUAD $0xa26da3999aef7749 // .quad -6742553186979055799 - QUAD $0x5cadf5bfd3072cc5 // .quad 6678264026688335045 - QUAD $0xcb090c8001ab551c // .quad -3816505465296431844 - QUAD $0x73d9732fc7c8f7f6 // .quad 8347830033360418806 - QUAD $0xfdcb4fa002162a63 // .quad -158945813193151901 - QUAD $0x2867e7fddcdd9afa // .quad 2911550761636567802 - QUAD $0x9e9f11c4014dda7e // .quad -7016870160886801794 - QUAD $0xb281e1fd541501b8 // .quad -5583933584809066056 - QUAD $0xc646d63501a1511d // .quad -4159401682681114339 - QUAD $0x1f225a7ca91a4226 // .quad 2243455055843443238 - QUAD $0xf7d88bc24209a565 // .quad -587566084924005019 - QUAD $0x3375788de9b06958 // .quad 3708002419115845976 - QUAD $0x9ae757596946075f // .quad -7284757830718584993 - QUAD $0x0052d6b1641c83ae // .quad 23317005467419566 - QUAD $0xc1a12d2fc3978937 // .quad -4494261269970843337 - QUAD $0xc0678c5dbd23a49a // .quad -4582539761593113446 - QUAD $0xf209787bb47d6b84 // .quad -1006140569036166268 - QUAD $0xf840b7ba963646e0 // .quad -558244341782001952 - QUAD $0x9745eb4d50ce6332 // .quad -7546366883288685774 - QUAD $0xb650e5a93bc3d898 // .quad -5309491445654890344 - QUAD $0xbd176620a501fbff // .quad -4821272585683469313 - QUAD $0xa3e51f138ab4cebe // .quad -6636864307068612930 - QUAD $0xec5d3fa8ce427aff // .quad -1414904713676948737 - QUAD $0xc66f336c36b10137 // .quad -4148040191917883081 - QUAD $0x93ba47c980e98cdf // .quad -7801844473689174817 - QUAD $0xb80b0047445d4184 // .quad -5185050239897353852 - QUAD $0xb8a8d9bbe123f017 // .quad -5140619573684080617 - QUAD $0xa60dc059157491e5 // .quad -6481312799871692315 - QUAD $0xe6d3102ad96cec1d // .quad -1814088448677712867 - QUAD $0x87c89837ad68db2f // .quad -8662506518347195601 - QUAD $0x9043ea1ac7e41392 // .quad -8051334308064652398 - QUAD $0x29babe4598c311fb // .quad 3006924907348169211 - QUAD $0xb454e4a179dd1877 // .quad -5452481866653427593 - QUAD $0xf4296dd6fef3d67a // .quad -853029884242176390 - QUAD $0xe16a1dc9d8545e94 // .quad -2203916314889396588 - QUAD $0x1899e4a65f58660c // .quad 1772699331562333708 - QUAD $0x8ce2529e2734bb1d // .quad -8294976724446954723 - QUAD $0x5ec05dcff72e7f8f // .quad 6827560182880305039 - QUAD $0xb01ae745b101e9e4 // .quad -5757034887131305500 - QUAD $0x76707543f4fa1f73 // .quad 8534450228600381299 - QUAD $0xdc21a1171d42645d // .quad -2584607590486743971 - QUAD $0x6a06494a791c53a8 // .quad 7639874402088932264 - QUAD $0x899504ae72497eba // .quad -8532908771695296838 - QUAD $0x0487db9d17636892 // .quad 326470965756389522 - QUAD $0xabfa45da0edbde69 // .quad -6054449946191733143 - QUAD $0x45a9d2845d3c42b6 // .quad 5019774725622874806 - QUAD $0xd6f8d7509292d603 // .quad -2956376414312278525 - QUAD $0x0b8a2392ba45a9b2 // .quad 831516194300602802 - QUAD $0x865b86925b9bc5c2 // .quad -8765264286586255934 - QUAD $0x8e6cac7768d7141e // .quad -8183976793979022306 - QUAD $0xa7f26836f282b732 // .quad -6344894339805432014 - QUAD $0x3207d795430cd926 // .quad 3605087062808385830 - QUAD $0xd1ef0244af2364ff // .quad -3319431906329402113 - QUAD $0x7f44e6bd49e807b8 // .quad 9170708441896323000 - QUAD $0x8335616aed761f1f // .quad -8992173969096958177 - QUAD $0x5f16206c9c6209a6 // .quad 6851699533943015846 - QUAD $0xa402b9c5a8d3a6e7 // .quad -6628531442943809817 - QUAD $0x36dba887c37a8c0f // .quad 3952938399001381903 - QUAD $0xcd036837130890a1 // .quad -3673978285252374367 - QUAD $0xc2494954da2c9789 // .quad -4446942528265218167 - QUAD $0x802221226be55a64 // .quad -9213765455923815836 - QUAD $0xf2db9baa10b7bd6c // .quad -946992141904134804 - QUAD $0xa02aa96b06deb0fd // .quad -6905520801477381891 - QUAD $0x6f92829494e5acc7 // .quad 8039631859474607303 - QUAD $0xc83553c5c8965d3d // .quad -4020214983419339459 - QUAD $0xcb772339ba1f17f9 // .quad -3785518230938904583 - QUAD $0xfa42a8b73abbf48c // .quad -413582710846786420 - QUAD $0xff2a760414536efb // .quad -60105885123121413 - QUAD $0x9c69a97284b578d7 // .quad -7176018221920323369 - QUAD $0xfef5138519684aba // .quad -75132356403901766 - QUAD $0xc38413cf25e2d70d // .quad -4358336758973016307 - QUAD $0x7eb258665fc25d69 // .quad 9129456591349898601 - QUAD $0xf46518c2ef5b8cd1 // .quad -836234930288882479 - QUAD $0xef2f773ffbd97a61 // .quad -1211618658047395231 - QUAD $0x98bf2f79d5993802 // .quad -7440175859071633406 - QUAD $0xaafb550ffacfd8fa // .quad -6126209340986631942 - QUAD $0xbeeefb584aff8603 // .quad -4688533805412153853 - QUAD $0x95ba2a53f983cf38 // .quad -7657761676233289928 - QUAD $0xeeaaba2e5dbf6784 // .quad -1248981238337804412 - QUAD $0xdd945a747bf26183 // .quad -2480258038432112253 - QUAD $0x952ab45cfa97a0b2 // .quad -7698142301602209614 - QUAD $0x94f971119aeef9e4 // .quad -7712008566467528220 - QUAD $0xba756174393d88df // .quad -5010991858575374113 - QUAD $0x7a37cd5601aab85d // .quad 8806733365625141341 - QUAD $0xe912b9d1478ceb17 // .quad -1652053804791829737 - QUAD $0xac62e055c10ab33a // .quad -6025006692552756422 - QUAD $0x91abb422ccb812ee // .quad -7950062655635975442 - QUAD $0x577b986b314d6009 // .quad 6303799689591218185 - QUAD $0xb616a12b7fe617aa // .quad -5325892301117581398 - QUAD $0xed5a7e85fda0b80b // .quad -1343622424865753077 - QUAD $0xe39c49765fdf9d94 // .quad -2045679357969588844 - QUAD $0x14588f13be847307 // .quad 1466078993672598279 - QUAD $0x8e41ade9fbebc27d // .quad -8196078626372074883 - QUAD $0x596eb2d8ae258fc8 // .quad 6444284760518135752 - QUAD $0xb1d219647ae6b31c // .quad -5633412264537705700 - QUAD $0x6fca5f8ed9aef3bb // .quad 8055355950647669691 - QUAD $0xde469fbd99a05fe3 // .quad -2430079312244744221 - QUAD $0x25de7bb9480d5854 // .quad 2728754459941099604 - QUAD $0x8aec23d680043bee // .quad -8436328597794046994 - QUAD $0xaf561aa79a10ae6a // .quad -5812428961928401302 - QUAD $0xada72ccc20054ae9 // .quad -5933724728815170839 - QUAD $0x1b2ba1518094da04 // .quad 1957835834444274180 - QUAD $0xd910f7ff28069da4 // .quad -2805469892591575644 - QUAD $0x90fb44d2f05d0842 // .quad -7999724640327104446 - QUAD $0x87aa9aff79042286 // .quad -8670947710510816634 - QUAD $0x353a1607ac744a53 // .quad 3835402254873283155 - QUAD $0xa99541bf57452b28 // .quad -6226998619711132888 - QUAD $0x42889b8997915ce8 // .quad 4794252818591603944 - QUAD $0xd3fa922f2d1675f2 // .quad -3172062256211528206 - QUAD $0x69956135febada11 // .quad 7608094030047140369 - QUAD $0x847c9b5d7c2e09b7 // .quad -8900067937773286985 - QUAD $0x43fab9837e699095 // .quad 4898431519131537557 - QUAD $0xa59bc234db398c25 // .quad -6513398903789220827 - QUAD $0x94f967e45e03f4bb // .quad -7712018656367741765 - QUAD $0xcf02b2c21207ef2e // .quad -3530062611309138130 - QUAD $0x1d1be0eebac278f5 // .quad 2097517367411243253 - QUAD $0x8161afb94b44f57d // .quad -9123818159709293187 - QUAD $0x6462d92a69731732 // .quad 7233582727691441970 - QUAD $0xa1ba1ba79e1632dc // .quad -6793086681209228580 - QUAD $0x7d7b8f7503cfdcfe // .quad 9041978409614302462 - QUAD $0xca28a291859bbf93 // .quad -3879672333084147821 - QUAD $0x5cda735244c3d43e // .quad 6690786993590490174 - QUAD $0xfcb2cb35e702af78 // .quad -237904397927796872 - QUAD $0x3a0888136afa64a7 // .quad 4181741870994056359 - QUAD $0x9defbf01b061adab // .quad -7066219276345954901 - QUAD $0x088aaa1845b8fdd0 // .quad 615491320315182544 - QUAD $0xc56baec21c7a1916 // .quad -4221088077005055722 - QUAD $0x8aad549e57273d45 // .quad -8454007886460797627 - QUAD $0xf6c69a72a3989f5b // .quad -664674077828931749 - QUAD $0x36ac54e2f678864b // .quad 3939617107816777291 - QUAD $0x9a3c2087a63f6399 // .quad -7332950326284164199 - QUAD $0x84576a1bb416a7dd // .quad -8910536670511192099 - QUAD $0xc0cb28a98fcf3c7f // .quad -4554501889427817345 - QUAD $0x656d44a2a11c51d5 // .quad 7308573235570561493 - QUAD $0xf0fdf2d3f3c30b9f // .quad -1081441343357383777 - QUAD $0x9f644ae5a4b1b325 // .quad -6961356773836868827 - QUAD $0x969eb7c47859e743 // .quad -7593429867239446717 - QUAD $0x873d5d9f0dde1fee // .quad -8701695967296086034 - QUAD $0xbc4665b596706114 // .quad -4880101315621920492 - QUAD $0xa90cb506d155a7ea // .quad -6265433940692719638 - QUAD $0xeb57ff22fc0c7959 // .quad -1488440626100012711 - QUAD $0x09a7f12442d588f2 // .quad 695789805494438130 - QUAD $0x9316ff75dd87cbd8 // .quad -7847804418953589800 - QUAD $0x0c11ed6d538aeb2f // .quad 869737256868047663 - QUAD $0xb7dcbf5354e9bece // .quad -5198069505264599346 - QUAD $0x8f1668c8a86da5fa // .quad -8136200465769716230 - QUAD $0xe5d3ef282a242e81 // .quad -1885900863153361279 - QUAD $0xf96e017d694487bc // .quad -473439272678684740 - QUAD $0x8fa475791a569d10 // .quad -8096217067111932656 - QUAD $0x37c981dcc395a9ac // .quad 4019886927579031980 - QUAD $0xb38d92d760ec4455 // .quad -5508585315462527915 - QUAD $0x85bbe253f47b1417 // .quad -8810199395808373737 - QUAD $0xe070f78d3927556a // .quad -2274045625900771990 - QUAD $0x93956d7478ccec8e // .quad -7812217631593927538 - QUAD $0x8c469ab843b89562 // .quad -8338807543829064350 - QUAD $0x387ac8d1970027b2 // .quad 4069786015789754290 - QUAD $0xaf58416654a6babb // .quad -5811823411358942533 - QUAD $0x06997b05fcc0319e // .quad 475546501309804958 - QUAD $0xdb2e51bfe9d0696a // .quad -2653093245771290262 - QUAD $0x441fece3bdf81f03 // .quad 4908902581746016003 - QUAD $0x88fcf317f22241e2 // .quad -8575712306248138270 - QUAD $0xd527e81cad7626c3 // .quad -3087243809672255805 - QUAD $0xab3c2fddeeaad25a // .quad -6107954364382784934 - QUAD $0x8a71e223d8d3b074 // .quad -8470740780517707660 - QUAD $0xd60b3bd56a5586f1 // .quad -3023256937051093263 - QUAD $0xf6872d5667844e49 // .quad -682526969396179383 - QUAD $0x85c7056562757456 // .quad -8807064613298015146 - QUAD $0xb428f8ac016561db // .quad -5464844730172612133 - QUAD $0xa738c6bebb12d16c // .quad -6397144748195131028 - QUAD $0xe13336d701beba52 // .quad -2219369894288377262 - QUAD $0xd106f86e69d785c7 // .quad -3384744916816525881 - QUAD $0xecc0024661173473 // .quad -1387106183930235789 - QUAD $0x82a45b450226b39c // .quad -9032994600651410532 - QUAD $0x27f002d7f95d0190 // .quad 2877803288514593168 - QUAD $0xa34d721642b06084 // .quad -6679557232386875260 - QUAD $0x31ec038df7b441f4 // .quad 3597254110643241460 - QUAD $0xcc20ce9bd35c78a5 // .quad -3737760522056206171 - QUAD $0x7e67047175a15271 // .quad 9108253656731439729 - QUAD $0xff290242c83396ce // .quad -60514634142869810 - QUAD $0x0f0062c6e984d386 // .quad 1080972517029761926 - QUAD $0x9f79a169bd203e41 // .quad -6955350673980375487 - QUAD $0x52c07b78a3e60868 // .quad 5962901664714590312 - QUAD $0xc75809c42c684dd1 // .quad -4082502324048081455 - QUAD $0xa7709a56ccdf8a82 // .quad -6381430974388925822 - QUAD $0xf92e0c3537826145 // .quad -491441886632713915 - QUAD $0x88a66076400bb691 // .quad -8600080377420466543 - QUAD $0x9bbcc7a142b17ccb // .quad -7224680206786528053 - QUAD $0x6acff893d00ea435 // .quad 7696643601933968437 - QUAD $0xc2abf989935ddbfe // .quad -4419164240055772162 - QUAD $0x0583f6b8c4124d43 // .quad 397432465562684739 - QUAD $0xf356f7ebf83552fe // .quad -912269281642327298 - QUAD $0xc3727a337a8b704a // .quad -4363290727450709942 - QUAD $0x98165af37b2153de // .quad -7487697328667536418 - QUAD $0x744f18c0592e4c5c // .quad 8380944645968776284 - QUAD $0xbe1bf1b059e9a8d6 // .quad -4747935642407032618 - QUAD $0x1162def06f79df73 // .quad 1252808770606194547 - QUAD $0xeda2ee1c7064130c // .quad -1323233534581402868 - QUAD $0x8addcb5645ac2ba8 // .quad -8440366555225904216 - QUAD $0x9485d4d1c63e8be7 // .quad -7744549986754458649 - QUAD $0x6d953e2bd7173692 // .quad 7896285879677171346 - QUAD $0xb9a74a0637ce2ee1 // .quad -5069001465015685407 - QUAD $0xc8fa8db6ccdd0437 // .quad -3964700705685699529 - QUAD $0xe8111c87c5c1ba99 // .quad -1724565812842218855 - QUAD $0x1d9c9892400a22a2 // .quad 2133748077373825698 - QUAD $0x910ab1d4db9914a0 // .quad -7995382660667468640 - QUAD $0x2503beb6d00cab4b // .quad 2667185096717282123 - QUAD $0xb54d5e4a127f59c8 // .quad -5382542307406947896 - QUAD $0x2e44ae64840fd61d // .quad 3333981370896602653 - QUAD $0xe2a0b5dc971f303a // .quad -2116491865831296966 - QUAD $0x5ceaecfed289e5d2 // .quad 6695424375237764562 - QUAD $0x8da471a9de737e24 // .quad -8240336443785642460 - QUAD $0x7425a83e872c5f47 // .quad 8369280469047205703 - QUAD $0xb10d8e1456105dad // .quad -5688734536304665171 - QUAD $0xd12f124e28f77719 // .quad -3373457468973156583 - QUAD $0xdd50f1996b947518 // .quad -2499232151953443560 - QUAD $0x82bd6b70d99aaa6f // .quad -9025939945749304721 - QUAD $0x8a5296ffe33cc92f // .quad -8479549122611984081 - QUAD $0x636cc64d1001550b // .quad 7164319141522920715 - QUAD $0xace73cbfdc0bfb7b // .quad -5987750384837592197 - QUAD $0x3c47f7e05401aa4e // .quad 4343712908476262990 - QUAD $0xd8210befd30efa5a // .quad -2873001962619602342 - QUAD $0x65acfaec34810a71 // .quad 7326506586225052273 - QUAD $0x8714a775e3e95c78 // .quad -8713155254278333320 - QUAD $0x7f1839a741a14d0d // .quad 9158133232781315341 - QUAD $0xa8d9d1535ce3b396 // .quad -6279758049420528746 - QUAD $0x1ede48111209a050 // .quad 2224294504121868368 - QUAD $0xd31045a8341ca07c // .quad -3238011543348273028 - QUAD $0x934aed0aab460432 // .quad -7833187971778608078 - QUAD $0x83ea2b892091e44d // .quad -8941286242233752499 - QUAD $0xf81da84d5617853f // .quad -568112927868484289 - QUAD $0xa4e4b66b68b65d60 // .quad -6564921784364802720 - QUAD $0x36251260ab9d668e // .quad 3901544858591782542 - QUAD $0xce1de40642e3f4b9 // .quad -3594466212028615495 - QUAD $0xc1d72b7c6b426019 // .quad -4479063491021217767 - QUAD $0x80d2ae83e9ce78f3 // .quad -9164070410158966541 - QUAD $0xb24cf65b8612f81f // .quad -5598829363776522209 - QUAD $0xa1075a24e4421730 // .quad -6843401994271320272 - QUAD $0xdee033f26797b627 // .quad -2386850686293264857 - QUAD $0xc94930ae1d529cfc // .quad -3942566474411762436 - QUAD $0x169840ef017da3b1 // .quad 1628122660560806833 - QUAD $0xfb9b7cd9a4a7443c // .quad -316522074587315140 - QUAD $0x8e1f289560ee864e // .quad -8205795374004271538 - QUAD $0x9d412e0806e88aa5 // .quad -7115355324258153819 - QUAD $0xf1a6f2bab92a27e2 // .quad -1033872180650563614 - QUAD $0xc491798a08a2ad4e // .quad -4282508136895304370 - QUAD $0xae10af696774b1db // .quad -5904026244240592421 - QUAD $0xf5b5d7ec8acb58a2 // .quad -741449152691742558 - QUAD $0xacca6da1e0a8ef29 // .quad -5995859411864064215 - QUAD $0x9991a6f3d6bf1765 // .quad -7380934748073420955 - QUAD $0x17fd090a58d32af3 // .quad 1728547772024695539 - QUAD $0xbff610b0cc6edd3f // .quad -4614482416664388289 - QUAD $0xddfc4b4cef07f5b0 // .quad -2451001303396518480 - QUAD $0xeff394dcff8a948e // .quad -1156417002403097458 - QUAD $0x4abdaf101564f98e // .quad 5385653213018257806 - QUAD $0x95f83d0a1fb69cd9 // .quad -7640289654143017767 - QUAD $0x9d6d1ad41abe37f1 // .quad -7102991539009341455 - QUAD $0xbb764c4ca7a4440f // .quad -4938676049251384305 - QUAD $0x84c86189216dc5ed // .quad -8878739423761676819 - QUAD $0xea53df5fd18d5513 // .quad -1561659043136842477 - QUAD $0x32fd3cf5b4e49bb4 // .quad 3674159897003727796 - QUAD $0x92746b9be2f8552c // .quad -7893565929601608404 - QUAD $0x3fbc8c33221dc2a1 // .quad 4592699871254659745 - QUAD $0xb7118682dbb66a77 // .quad -5255271393574622601 - QUAD $0x0fabaf3feaa5334a // .quad 1129188820640936778 - QUAD $0xe4d5e82392a40515 // .quad -1957403223540890347 - QUAD $0x29cb4d87f2a7400e // .quad 3011586022114279438 - QUAD $0x8f05b1163ba6832d // .quad -8140906042354138323 - QUAD $0x743e20e9ef511012 // .quad 8376168546070237202 - QUAD $0xb2c71d5bca9023f8 // .quad -5564446534515285000 - QUAD $0x914da9246b255416 // .quad -7976533391121755114 - QUAD $0xdf78e4b2bd342cf6 // .quad -2343872149716718346 - QUAD $0x1ad089b6c2f7548e // .quad 1932195658189984910 - QUAD $0x8bab8eefb6409c1a // .quad -8382449121214030822 - QUAD $0xa184ac2473b529b1 // .quad -6808127464117294671 - QUAD $0xae9672aba3d0c320 // .quad -5866375383090150624 - QUAD $0xc9e5d72d90a2741e // .quad -3898473311719230434 - QUAD $0xda3c0f568cc4f3e8 // .quad -2721283210435300376 - QUAD $0x7e2fa67c7a658892 // .quad 9092669226243950738 - QUAD $0x8865899617fb1871 // .quad -8618331034163144591 - QUAD $0xddbb901b98feeab7 // .quad -2469221522477225289 - QUAD $0xaa7eebfb9df9de8d // .quad -6161227774276542835 - QUAD $0x552a74227f3ea565 // .quad 6136845133758244197 - QUAD $0xd51ea6fa85785631 // .quad -3089848699418290639 - QUAD $0xd53a88958f87275f // .quad -3082000819042179233 - QUAD $0x8533285c936b35de // .quad -8848684464777513506 - QUAD $0x8a892abaf368f137 // .quad -8464187042230111945 - QUAD $0xa67ff273b8460356 // .quad -6449169562544503978 - QUAD $0x2d2b7569b0432d85 // .quad 3254824252494523781 - QUAD $0xd01fef10a657842c // .quad -3449775934753242068 - QUAD $0x9c3b29620e29fc73 // .quad -7189106879045698445 - QUAD $0x8213f56a67f6b29b // .quad -9073638986861858149 - QUAD $0x8349f3ba91b47b8f // .quad -8986383598807123057 - QUAD $0xa298f2c501f45f42 // .quad -6730362715149934782 - QUAD $0x241c70a936219a73 // .quad 2602078556773259891 - QUAD $0xcb3f2f7642717713 // .quad -3801267375510030573 - QUAD $0xed238cd383aa0110 // .quad -1359087822460813040 - QUAD $0xfe0efb53d30dd4d7 // .quad -139898200960150313 - QUAD $0xf4363804324a40aa // .quad -849429889038008150 - QUAD $0x9ec95d1463e8a506 // .quad -7004965403241175802 - QUAD $0xb143c6053edcd0d5 // .quad -5673473379724898091 - QUAD $0xc67bb4597ce2ce48 // .quad -4144520735624081848 - QUAD $0xdd94b7868e94050a // .quad -2480155706228734710 - QUAD $0xf81aa16fdc1b81da // .quad -568964901102714406 - QUAD $0xca7cf2b4191c8326 // .quad -3855940325606653146 - QUAD $0x9b10a4e5e9913128 // .quad -7273132090830278360 - QUAD $0xfd1c2f611f63a3f0 // .quad -208239388580928528 - QUAD $0xc1d4ce1f63f57d72 // .quad -4479729095110460046 - QUAD $0xbc633b39673c8cec // .quad -4871985254153548564 - QUAD $0xf24a01a73cf2dccf // .quad -987975350460687153 - QUAD $0xd5be0503e085d813 // .quad -3044990783845967853 - QUAD $0x976e41088617ca01 // .quad -7535013621679011327 - QUAD $0x4b2d8644d8a74e18 // .quad 5417133557047315992 - QUAD $0xbd49d14aa79dbc82 // .quad -4807081008671376254 - QUAD $0xddf8e7d60ed1219e // .quad -2451955090545630818 - QUAD $0xec9c459d51852ba2 // .quad -1397165242411832414 - QUAD $0xcabb90e5c942b503 // .quad -3838314940804713213 - QUAD $0x93e1ab8252f33b45 // .quad -7790757304148477115 - QUAD $0x3d6a751f3b936243 // .quad 4425478360848884291 - QUAD $0xb8da1662e7b00a17 // .quad -5126760611758208489 - QUAD $0x0cc512670a783ad4 // .quad 920161932633717460 - QUAD $0xe7109bfba19c0c9d // .quad -1796764746270372707 - QUAD $0x27fb2b80668b24c5 // .quad 2880944217109767365 - QUAD $0x906a617d450187e2 // .quad -8040506994060064798 - QUAD $0xb1f9f660802dedf6 // .quad -5622191765467566602 - QUAD $0xb484f9dc9641e9da // .quad -5438947724147693094 - QUAD $0x5e7873f8a0396973 // .quad 6807318348447705459 - QUAD $0xe1a63853bbd26451 // .quad -2186998636757228463 - QUAD $0xdb0b487b6423e1e8 // .quad -2662955059861265944 - QUAD $0x8d07e33455637eb2 // .quad -8284403175614349646 - QUAD $0x91ce1a9a3d2cda62 // .quad -7940379843253970334 - QUAD $0xb049dc016abc5e5f // .quad -5743817951090549153 - QUAD $0x7641a140cc7810fb // .quad 8521269269642088699 - QUAD $0xdc5c5301c56b75f7 // .quad -2568086420435798537 - QUAD $0xa9e904c87fcb0a9d // .quad -6203421752542164323 - QUAD $0x89b9b3e11b6329ba // .quad -8522583040413455942 - QUAD $0x546345fa9fbdcd44 // .quad 6080780864604458308 - QUAD $0xac2820d9623bf429 // .quad -6041542782089432023 - QUAD $0xa97c177947ad4095 // .quad -6234081974526590827 - QUAD $0xd732290fbacaf133 // .quad -2940242459184402125 - QUAD $0x49ed8eabcccc485d // .quad 5327070802775656541 - QUAD $0x867f59a9d4bed6c0 // .quad -8755180564631333184 - QUAD $0x5c68f256bfff5a74 // .quad 6658838503469570676 - QUAD $0xa81f301449ee8c70 // .quad -6332289687361778576 - QUAD $0x73832eec6fff3111 // .quad 8323548129336963345 - QUAD $0xd226fc195c6a2f8c // .quad -3303676090774835316 - QUAD $0xc831fd53c5ff7eab // .quad -4021154456019173717 - QUAD $0x83585d8fd9c25db7 // .quad -8982326584375353929 - QUAD $0xba3e7ca8b77f5e55 // .quad -5026443070023967147 - QUAD $0xa42e74f3d032f525 // .quad -6616222212041804507 - QUAD $0x28ce1bd2e55f35eb // .quad 2940318199324816875 - QUAD $0xcd3a1230c43fb26f // .quad -3658591746624867729 - QUAD $0x7980d163cf5b81b3 // .quad 8755227902219092403 - QUAD $0x80444b5e7aa7cf85 // .quad -9204148869281624187 - QUAD $0xd7e105bcc332621f // .quad -2891023177508298209 - QUAD $0xa0555e361951c366 // .quad -6893500068174642330 - QUAD $0x8dd9472bf3fefaa7 // .quad -8225464990312760665 - QUAD $0xc86ab5c39fa63440 // .quad -4005189066790915008 - QUAD $0xb14f98f6f0feb951 // .quad -5670145219463562927 - QUAD $0xfa856334878fc150 // .quad -394800315061255856 - QUAD $0x6ed1bf9a569f33d3 // .quad 7985374283903742931 - QUAD $0x9c935e00d4b9d8d2 // .quad -7164279224554366766 - QUAD $0x0a862f80ec4700c8 // .quad 758345818024902856 - QUAD $0xc3b8358109e84f07 // .quad -4343663012265570553 - QUAD $0xcd27bb612758c0fa // .quad -3663753745896259334 - QUAD $0xf4a642e14c6262c8 // .quad -817892746904575288 - QUAD $0x8038d51cb897789c // .quad -9207375118826243940 - QUAD $0x98e7e9cccfbd7dbd // .quad -7428711994456441411 - QUAD $0xe0470a63e6bd56c3 // .quad -2285846861678029117 - QUAD $0xbf21e44003acdd2c // .quad -4674203974643163860 - QUAD $0x1858ccfce06cac74 // .quad 1754377441329851508 - QUAD $0xeeea5d5004981478 // .quad -1231068949876566920 - QUAD $0x0f37801e0c43ebc8 // .quad 1096485900831157192 - QUAD $0x95527a5202df0ccb // .quad -7686947121313936181 - QUAD $0xd30560258f54e6ba // .quad -3241078642388441414 - QUAD $0xbaa718e68396cffd // .quad -4996997883215032323 - QUAD $0x47c6b82ef32a2069 // .quad 5172023733869224041 - QUAD $0xe950df20247c83fd // .quad -1634561335591402499 - QUAD $0x4cdc331d57fa5441 // .quad 5538357842881958977 - QUAD $0x91d28b7416cdd27e // .quad -7939129862385708418 - QUAD $0xe0133fe4adf8e952 // .quad -2300424733252327086 - QUAD $0xb6472e511c81471d // .quad -5312226309554747619 - QUAD $0x58180fddd97723a6 // .quad 6347841120289366950 - QUAD $0xe3d8f9e563a198e5 // .quad -2028596868516046619 - QUAD $0x570f09eaa7ea7648 // .quad 6273243709394548296 - QUAD $0x8e679c2f5e44ff8f // .quad -8185402070463610993 - QUAD $0x2cd2cc6551e513da // .quad 3229868618315797466 - QUAD $0xb201833b35d63f73 // .quad -5620066569652125837 - QUAD $0xf8077f7ea65e58d1 // .quad -574350245532641071 - QUAD $0xde81e40a034bcf4f // .quad -2413397193637769393 - QUAD $0xfb04afaf27faf782 // .quad -358968903457900670 - QUAD $0x8b112e86420f6191 // .quad -8425902273664687727 - QUAD $0x79c5db9af1f9b563 // .quad 8774660907532399971 - QUAD $0xadd57a27d29339f6 // .quad -5920691823653471754 - QUAD $0x18375281ae7822bc // .quad 1744954097560724156 - QUAD $0xd94ad8b1c7380874 // .quad -2789178761139451788 - QUAD $0x8f2293910d0b15b5 // .quad -8132775725879323211 - QUAD $0x87cec76f1c830548 // .quad -8660765753353239224 - QUAD $0xb2eb3875504ddb22 // .quad -5554283638921766110 - QUAD $0xa9c2794ae3a3c69a // .quad -6214271173264161126 - QUAD $0x5fa60692a46151eb // .quad 6892203506629956075 - QUAD $0xd433179d9c8cb841 // .quad -3156152948152813503 - QUAD $0xdbc7c41ba6bcd333 // .quad -2609901835997359309 - QUAD $0x849feec281d7f328 // .quad -8890124620236590296 - QUAD $0x12b9b522906c0800 // .quad 1349308723430688768 - QUAD $0xa5c7ea73224deff3 // .quad -6500969756868349965 - QUAD $0xd768226b34870a00 // .quad -2925050114139026944 - QUAD $0xcf39e50feae16bef // .quad -3514526177658049553 - QUAD $0xe6a1158300d46640 // .quad -1828156321336891840 - QUAD $0x81842f29f2cce375 // .quad -9114107888677362827 - QUAD $0x60495ae3c1097fd0 // .quad 6938176635183661008 - QUAD $0xa1e53af46f801c53 // .quad -6780948842419315629 - QUAD $0x385bb19cb14bdfc4 // .quad 4061034775552188356 - QUAD $0xca5e89b18b602368 // .quad -3864500034596756632 - QUAD $0x46729e03dd9ed7b5 // .quad 5076293469440235445 - QUAD $0xfcf62c1dee382c42 // .quad -218939024818557886 - QUAD $0x6c07a2c26a8346d1 // .quad 7784369436827535057 - QUAD $0x9e19db92b4e31ba9 // .quad -7054365918152680535 - QUAD $0xc7098b7305241885 // .quad -4104596259247744891 - QUAD $0xc5a05277621be293 // .quad -4206271379263462765 - QUAD $0xb8cbee4fc66d1ea7 // .quad -5130745324059681113 - QUAD $0xf70867153aa2db38 // .quad -646153205651940552 - QUAD $0x737f74f1dc043328 // .quad 8322499218531169064 - QUAD $0x9a65406d44a5c903 // .quad -7321374781173544701 - QUAD $0x505f522e53053ff2 // .quad 5791438004736573426 - QUAD $0xc0fe908895cf3b44 // .quad -4540032458039542972 - QUAD $0x647726b9e7c68fef // .quad 7239297505920716783 - QUAD $0xf13e34aabb430a15 // .quad -1063354554122040811 - QUAD $0x5eca783430dc19f5 // .quad 6830403950414141941 - QUAD $0x96c6e0eab509e64d // .quad -7582125623967357363 - QUAD $0xb67d16413d132072 // .quad -5297053117264486286 - QUAD $0xbc789925624c5fe0 // .quad -4865971011531808800 - QUAD $0xe41c5bd18c57e88f // .quad -2009630378153219953 - QUAD $0xeb96bf6ebadf77d8 // .quad -1470777745987373096 - QUAD $0x8e91b962f7b6f159 // .quad -8173548013986844327 - QUAD $0x933e37a534cbaae7 // .quad -7836765118883190041 - QUAD $0x723627bbb5a4adb0 // .quad 8229809056225996208 - QUAD $0xb80dc58e81fe95a1 // .quad -5184270380176599647 - QUAD $0xcec3b1aaa30dd91c // .quad -3547796734999668452 - QUAD $0xe61136f2227e3b09 // .quad -1868651956793361655 - QUAD $0x213a4f0aa5e8a7b1 // .quad 2394313059052595121 - QUAD $0x8fcac257558ee4e6 // .quad -8085436500636932890 - QUAD $0xa988e2cd4f62d19d // .quad -6230480713039031907 - QUAD $0xb3bd72ed2af29e1f // .quad -5495109607368778209 - QUAD $0x93eb1b80a33b8605 // .quad -7788100891298789883 - QUAD $0xe0accfa875af45a7 // .quad -2257200990783584857 - QUAD $0xbc72f130660533c3 // .quad -4867563057061743677 - QUAD $0x8c6c01c9498d8b88 // .quad -8328279646880822392 - QUAD $0xeb8fad7c7f8680b4 // .quad -1472767802899791692 - QUAD $0xaf87023b9bf0ee6a // .quad -5798663540173640086 - QUAD $0xa67398db9f6820e1 // .quad -6452645772052127519 - QUAD $0xdb68c2ca82ed2a05 // .quad -2636643406789662203 - QUAD $0x88083f8943a1148c // .quad -8644589625959967604 - QUAD $0x892179be91d43a43 // .quad -8565431156884620733 - QUAD $0x6a0a4f6b948959b0 // .quad 7641007041259592112 - QUAD $0xab69d82e364948d4 // .quad -6095102927678388012 - QUAD $0x848ce34679abb01c // .quad -8895485272135061476 - QUAD $0xd6444e39c3db9b09 // .quad -3007192641170597111 - QUAD $0xf2d80e0c0c0b4e11 // .quad -947992276657025519 - QUAD $0x85eab0e41a6940e5 // .quad -8797024428372705051 - QUAD $0x6f8e118f0f0e2195 // .quad 8038381691033493909 - QUAD $0xa7655d1d2103911f // .quad -6384594517038493409 - QUAD $0x4b7195f2d2d1a9fb // .quad 5436291095364479483 - QUAD $0xd13eb46469447567 // .quad -3369057127870728857 - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -_POW_TAB: - LONG $0x00000001 // .long 1 - LONG $0x00000003 // .long 3 - LONG $0x00000006 // .long 6 - LONG $0x00000009 // .long 9 - LONG $0x0000000d // .long 13 - LONG $0x00000010 // .long 16 - LONG $0x00000013 // .long 19 - LONG $0x00000017 // .long 23 - LONG $0x0000001a // .long 26 - - // .p2align 2, 0x00 -_MASK_USE_NUMBER: - LONG $0x00000002 // .long 2 - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -_Digits: - QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' - QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' - QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' - QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' - QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' - QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' - QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' - QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' - QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' - QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' - QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' - QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' - QUAD $0x3939383937393639 // .ascii 8, '96979899' - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -_LB_1ee00aeb: // _pow10_ceil_sig.g - QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 - QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331 - QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 - QUAD $0x77b191618c54e9ad // .quad 8624834609543440813 - QUAD $0xc795830d75038c1d // .quad -4065198994811024355 - QUAD $0xd59df5b9ef6a2418 // .quad -3054014793352862696 - QUAD $0xf97ae3d0d2446f25 // .quad -469812725086392539 - QUAD $0x4b0573286b44ad1e // .quad 5405853545163697438 - QUAD $0x9becce62836ac577 // .quad -7211161980820077193 - QUAD $0x4ee367f9430aec33 // .quad 5684501474941004851 - QUAD $0xc2e801fb244576d5 // .quad -4402266457597708587 - QUAD $0x229c41f793cda740 // .quad 2493940825248868160 - QUAD $0xf3a20279ed56d48a // .quad -891147053569747830 - QUAD $0x6b43527578c11110 // .quad 7729112049988473104 - QUAD $0x9845418c345644d6 // .quad -7474495936122174250 - QUAD $0x830a13896b78aaaa // .quad -9004363024039368022 - QUAD $0xbe5691ef416bd60c // .quad -4731433901725329908 - QUAD $0x23cc986bc656d554 // .quad 2579604275232953684 - QUAD $0xedec366b11c6cb8f // .quad -1302606358729274481 - QUAD $0x2cbfbe86b7ec8aa9 // .quad 3224505344041192105 - QUAD $0x94b3a202eb1c3f39 // .quad -7731658001846878407 - QUAD $0x7bf7d71432f3d6aa // .quad 8932844867666826922 - QUAD $0xb9e08a83a5e34f07 // .quad -5052886483881210105 - QUAD $0xdaf5ccd93fb0cc54 // .quad -2669001970698630060 - QUAD $0xe858ad248f5c22c9 // .quad -1704422086424124727 - QUAD $0xd1b3400f8f9cff69 // .quad -3336252463373287575 - QUAD $0x91376c36d99995be // .quad -7982792831656159810 - QUAD $0x23100809b9c21fa2 // .quad 2526528228819083170 - QUAD $0xb58547448ffffb2d // .quad -5366805021142811859 - QUAD $0xabd40a0c2832a78b // .quad -6065211750830921845 - QUAD $0xe2e69915b3fff9f9 // .quad -2096820258001126919 - QUAD $0x16c90c8f323f516d // .quad 1641857348316123501 - QUAD $0x8dd01fad907ffc3b // .quad -8228041688891786181 - QUAD $0xae3da7d97f6792e4 // .quad -5891368184943504668 - QUAD $0xb1442798f49ffb4a // .quad -5673366092687344822 - QUAD $0x99cd11cfdf41779d // .quad -7364210231179380835 - QUAD $0xdd95317f31c7fa1d // .quad -2480021597431793123 - QUAD $0x40405643d711d584 // .quad 4629795266307937668 - QUAD $0x8a7d3eef7f1cfc52 // .quad -8467542526035952558 - QUAD $0x482835ea666b2573 // .quad 5199465050656154995 - QUAD $0xad1c8eab5ee43b66 // .quad -5972742139117552794 - QUAD $0xda3243650005eed0 // .quad -2724040723534582064 - QUAD $0xd863b256369d4a40 // .quad -2854241655469553088 - QUAD $0x90bed43e40076a83 // .quad -8016736922845615485 - QUAD $0x873e4f75e2224e68 // .quad -8701430062309552536 - QUAD $0x5a7744a6e804a292 // .quad 6518754469289960082 - QUAD $0xa90de3535aaae202 // .quad -6265101559459552766 - QUAD $0x711515d0a205cb37 // .quad 8148443086612450103 - QUAD $0xd3515c2831559a83 // .quad -3219690930897053053 - QUAD $0x0d5a5b44ca873e04 // .quad 962181821410786820 - QUAD $0x8412d9991ed58091 // .quad -8929835859451740015 - QUAD $0xe858790afe9486c3 // .quad -1704479370831952189 - QUAD $0xa5178fff668ae0b6 // .quad -6550608805887287114 - QUAD $0x626e974dbe39a873 // .quad 7092772823314835571 - QUAD $0xce5d73ff402d98e3 // .quad -3576574988931720989 - QUAD $0xfb0a3d212dc81290 // .quad -357406007711231344 - QUAD $0x80fa687f881c7f8e // .quad -9152888395723407474 - QUAD $0x7ce66634bc9d0b9a // .quad 8999993282035256218 - QUAD $0xa139029f6a239f72 // .quad -6829424476226871438 - QUAD $0x1c1fffc1ebc44e81 // .quad 2026619565689294465 - QUAD $0xc987434744ac874e // .quad -3925094576856201394 - QUAD $0xa327ffb266b56221 // .quad -6690097579743157727 - QUAD $0xfbe9141915d7a922 // .quad -294682202642863838 - QUAD $0x4bf1ff9f0062baa9 // .quad 5472436080603216553 - QUAD $0x9d71ac8fada6c9b5 // .quad -7101705404292871755 - QUAD $0x6f773fc3603db4aa // .quad 8031958568804398250 - QUAD $0xc4ce17b399107c22 // .quad -4265445736938701790 - QUAD $0xcb550fb4384d21d4 // .quad -3795109844276665900 - QUAD $0xf6019da07f549b2b // .quad -720121152745989333 - QUAD $0x7e2a53a146606a49 // .quad 9091170749936331337 - QUAD $0x99c102844f94e0fb // .quad -7367604748107325189 - QUAD $0x2eda7444cbfc426e // .quad 3376138709496513134 - QUAD $0xc0314325637a1939 // .quad -4597819916706768583 - QUAD $0xfa911155fefb5309 // .quad -391512631556746487 - QUAD $0xf03d93eebc589f88 // .quad -1135588877456072824 - QUAD $0x793555ab7eba27cb // .quad 8733981247408842699 - QUAD $0x96267c7535b763b5 // .quad -7627272076051127371 - QUAD $0x4bc1558b2f3458df // .quad 5458738279630526687 - QUAD $0xbbb01b9283253ca2 // .quad -4922404076636521310 - QUAD $0x9eb1aaedfb016f17 // .quad -7011635205744005353 - QUAD $0xea9c227723ee8bcb // .quad -1541319077368263733 - QUAD $0x465e15a979c1cadd // .quad 5070514048102157021 - QUAD $0x92a1958a7675175f // .quad -7880853450996246689 - QUAD $0x0bfacd89ec191eca // .quad 863228270850154186 - QUAD $0xb749faed14125d36 // .quad -5239380795317920458 - QUAD $0xcef980ec671f667c // .quad -3532650679864695172 - QUAD $0xe51c79a85916f484 // .quad -1937539975720012668 - QUAD $0x82b7e12780e7401b // .quad -9027499368258256869 - QUAD $0x8f31cc0937ae58d2 // .quad -8128491512466089774 - QUAD $0xd1b2ecb8b0908811 // .quad -3336344095947716591 - QUAD $0xb2fe3f0b8599ef07 // .quad -5548928372155224313 - QUAD $0x861fa7e6dcb4aa16 // .quad -8782116138362033642 - QUAD $0xdfbdcece67006ac9 // .quad -2324474446766642487 - QUAD $0x67a791e093e1d49b // .quad 7469098900757009563 - QUAD $0x8bd6a141006042bd // .quad -8370325556870233411 - QUAD $0xe0c8bb2c5c6d24e1 // .quad -2249342214667950879 - QUAD $0xaecc49914078536d // .quad -5851220927660403859 - QUAD $0x58fae9f773886e19 // .quad 6411694268519837209 - QUAD $0xda7f5bf590966848 // .quad -2702340141148116920 - QUAD $0xaf39a475506a899f // .quad -5820440219632367201 - QUAD $0x888f99797a5e012d // .quad -8606491615858654931 - QUAD $0x6d8406c952429604 // .quad 7891439908798240260 - QUAD $0xaab37fd7d8f58178 // .quad -6146428501395930760 - QUAD $0xc8e5087ba6d33b84 // .quad -3970758169284363388 - QUAD $0xd5605fcdcf32e1d6 // .quad -3071349608317525546 - QUAD $0xfb1e4a9a90880a65 // .quad -351761693178066331 - QUAD $0x855c3be0a17fcd26 // .quad -8837122532839535322 - QUAD $0x5cf2eea09a550680 // .quad 6697677969404790400 - QUAD $0xa6b34ad8c9dfc06f // .quad -6434717147622031249 - QUAD $0xf42faa48c0ea481f // .quad -851274575098787809 - QUAD $0xd0601d8efc57b08b // .quad -3431710416100151157 - QUAD $0xf13b94daf124da27 // .quad -1064093218873484761 - QUAD $0x823c12795db6ce57 // .quad -9062348037703676329 - QUAD $0x76c53d08d6b70859 // .quad 8558313775058847833 - QUAD $0xa2cb1717b52481ed // .quad -6716249028702207507 - QUAD $0x54768c4b0c64ca6f // .quad 6086206200396171887 - QUAD $0xcb7ddcdda26da268 // .quad -3783625267450371480 - QUAD $0xa9942f5dcf7dfd0a // .quad -6227300304786948854 - QUAD $0xfe5d54150b090b02 // .quad -117845565885576446 - QUAD $0xd3f93b35435d7c4d // .quad -3172439362556298163 - QUAD $0x9efa548d26e5a6e1 // .quad -6991182506319567135 - QUAD $0xc47bc5014a1a6db0 // .quad -4288617610811380304 - QUAD $0xc6b8e9b0709f109a // .quad -4127292114472071014 - QUAD $0x359ab6419ca1091c // .quad 3862600023340550428 - QUAD $0xf867241c8cc6d4c0 // .quad -547429124662700864 - QUAD $0xc30163d203c94b63 // .quad -4395122007679087773 - QUAD $0x9b407691d7fc44f8 // .quad -7259672230555269896 - QUAD $0x79e0de63425dcf1e // .quad 8782263791269039902 - QUAD $0xc21094364dfb5636 // .quad -4462904269766699466 - QUAD $0x985915fc12f542e5 // .quad -7468914334623251739 - QUAD $0xf294b943e17a2bc4 // .quad -966944318780986428 - QUAD $0x3e6f5b7b17b2939e // .quad 4498915137003099038 - QUAD $0x979cf3ca6cec5b5a // .quad -7521869226879198374 - QUAD $0xa705992ceecf9c43 // .quad -6411550076227838909 - QUAD $0xbd8430bd08277231 // .quad -4790650515171610063 - QUAD $0x50c6ff782a838354 // .quad 5820620459997365076 - QUAD $0xece53cec4a314ebd // .quad -1376627125537124675 - QUAD $0xa4f8bf5635246429 // .quad -6559282480285457367 - QUAD $0x940f4613ae5ed136 // .quad -7777920981101784778 - QUAD $0x871b7795e136be9a // .quad -8711237568605798758 - QUAD $0xb913179899f68584 // .quad -5110715207949843068 - QUAD $0x28e2557b59846e40 // .quad 2946011094524915264 - QUAD $0xe757dd7ec07426e5 // .quad -1776707991509915931 - QUAD $0x331aeada2fe589d0 // .quad 3682513868156144080 - QUAD $0x9096ea6f3848984f // .quad -8027971522334779313 - QUAD $0x3ff0d2c85def7622 // .quad 4607414176811284002 - QUAD $0xb4bca50b065abe63 // .quad -5423278384491086237 - QUAD $0x0fed077a756b53aa // .quad 1147581702586717098 - QUAD $0xe1ebce4dc7f16dfb // .quad -2167411962186469893 - QUAD $0xd3e8495912c62895 // .quad -3177208890193991531 - QUAD $0x8d3360f09cf6e4bd // .quad -8272161504007625539 - QUAD $0x64712dd7abbbd95d // .quad 7237616480483531101 - QUAD $0xb080392cc4349dec // .quad -5728515861582144020 - QUAD $0xbd8d794d96aacfb4 // .quad -4788037454677749836 - QUAD $0xdca04777f541c567 // .quad -2548958808550292121 - QUAD $0xecf0d7a0fc5583a1 // .quad -1373360799919799391 - QUAD $0x89e42caaf9491b60 // .quad -8510628282985014432 - QUAD $0xf41686c49db57245 // .quad -858350499949874619 - QUAD $0xac5d37d5b79b6239 // .quad -6026599335303880135 - QUAD $0x311c2875c522ced6 // .quad 3538747893490044630 - QUAD $0xd77485cb25823ac7 // .quad -2921563150702462265 - QUAD $0x7d633293366b828c // .quad 9035120885289943692 - QUAD $0x86a8d39ef77164bc // .quad -8743505996830120772 - QUAD $0xae5dff9c02033198 // .quad -5882264492762254952 - QUAD $0xa8530886b54dbdeb // .quad -6317696477610263061 - QUAD $0xd9f57f830283fdfd // .quad -2741144597525430787 - QUAD $0xd267caa862a12d66 // .quad -3285434578585440922 - QUAD $0xd072df63c324fd7c // .quad -3426430746906788484 - QUAD $0x8380dea93da4bc60 // .quad -8970925639256982432 - QUAD $0x4247cb9e59f71e6e // .quad 4776009810824339054 - QUAD $0xa46116538d0deb78 // .quad -6601971030643840136 - QUAD $0x52d9be85f074e609 // .quad 5970012263530423817 - QUAD $0xcd795be870516656 // .quad -3640777769877412266 - QUAD $0x67902e276c921f8c // .quad 7462515329413029772 - QUAD $0x806bd9714632dff6 // .quad -9193015133814464522 - QUAD $0x00ba1cd8a3db53b7 // .quad 52386062455755703 - QUAD $0xa086cfcd97bf97f3 // .quad -6879582898840692749 - QUAD $0x80e8a40eccd228a5 // .quad -9157889458785081179 - QUAD $0xc8a883c0fdaf7df0 // .quad -3987792605123478032 - QUAD $0x6122cd128006b2ce // .quad 6999382250228200142 - QUAD $0xfad2a4b13d1b5d6c // .quad -373054737976959636 - QUAD $0x796b805720085f82 // .quad 8749227812785250178 - QUAD $0x9cc3a6eec6311a63 // .quad -7150688238876681629 - QUAD $0xcbe3303674053bb1 // .quad -3755104653863994447 - QUAD $0xc3f490aa77bd60fc // .quad -4326674280168464132 - QUAD $0xbedbfc4411068a9d // .quad -4693880817329993059 - QUAD $0xf4f1b4d515acb93b // .quad -796656831783192261 - QUAD $0xee92fb5515482d45 // .quad -1255665003235103419 - QUAD $0x991711052d8bf3c5 // .quad -7415439547505577019 - QUAD $0x751bdd152d4d1c4b // .quad 8438581409832836171 - QUAD $0xbf5cd54678eef0b6 // .quad -4657613415954583370 - QUAD $0xd262d45a78a0635e // .quad -3286831292991118498 - QUAD $0xef340a98172aace4 // .quad -1210330751515841308 - QUAD $0x86fb897116c87c35 // .quad -8720225134666286027 - QUAD $0x9580869f0e7aac0e // .quad -7673985747338482674 - QUAD $0xd45d35e6ae3d4da1 // .quad -3144297699952734815 - QUAD $0xbae0a846d2195712 // .quad -4980796165745715438 - QUAD $0x8974836059cca10a // .quad -8542058143368306422 - QUAD $0xe998d258869facd7 // .quad -1614309188754756393 - QUAD $0x2bd1a438703fc94c // .quad 3157485376071780684 - QUAD $0x91ff83775423cc06 // .quad -7926472270612804602 - QUAD $0x7b6306a34627ddd0 // .quad 8890957387685944784 - QUAD $0xb67f6455292cbf08 // .quad -5296404319838617848 - QUAD $0x1a3bc84c17b1d543 // .quad 1890324697752655171 - QUAD $0xe41f3d6a7377eeca // .quad -2008819381370884406 - QUAD $0x20caba5f1d9e4a94 // .quad 2362905872190818964 - QUAD $0x8e938662882af53e // .quad -8173041140997884610 - QUAD $0x547eb47b7282ee9d // .quad 6088502188546649757 - QUAD $0xb23867fb2a35b28d // .quad -5604615407819967859 - QUAD $0xe99e619a4f23aa44 // .quad -1612744301171463612 - QUAD $0xdec681f9f4c31f31 // .quad -2394083241347571919 - QUAD $0x6405fa00e2ec94d5 // .quad 7207441660390446293 - QUAD $0x8b3c113c38f9f37e // .quad -8413831053483314306 - QUAD $0xde83bc408dd3dd05 // .quad -2412877989897052923 - QUAD $0xae0b158b4738705e // .quad -5905602798426754978 - QUAD $0x9624ab50b148d446 // .quad -7627783505798704058 - QUAD $0xd98ddaee19068c76 // .quad -2770317479606055818 - QUAD $0x3badd624dd9b0958 // .quad 4300328673033783640 - QUAD $0x87f8a8d4cfa417c9 // .quad -8648977452394866743 - QUAD $0xe54ca5d70a80e5d7 // .quad -1923980597781273129 - QUAD $0xa9f6d30a038d1dbc // .quad -6199535797066195524 - QUAD $0x5e9fcf4ccd211f4d // .quad 6818396289628184397 - QUAD $0xd47487cc8470652b // .quad -3137733727905356501 - QUAD $0x7647c32000696720 // .quad 8522995362035230496 - QUAD $0x84c8d4dfd2c63f3b // .quad -8878612607581929669 - QUAD $0x29ecd9f40041e074 // .quad 3021029092058325108 - QUAD $0xa5fb0a17c777cf09 // .quad -6486579741050024183 - QUAD $0xf468107100525891 // .quad -835399653354481519 - QUAD $0xcf79cc9db955c2cc // .quad -3496538657885142324 - QUAD $0x7182148d4066eeb5 // .quad 8179122470161673909 - QUAD $0x81ac1fe293d599bf // .quad -9102865688819295809 - QUAD $0xc6f14cd848405531 // .quad -4111420493003729615 - QUAD $0xa21727db38cb002f // .quad -6766896092596731857 - QUAD $0xb8ada00e5a506a7d // .quad -5139275616254662019 - QUAD $0xca9cf1d206fdc03b // .quad -3846934097318526917 - QUAD $0xa6d90811f0e4851d // .quad -6424094520318327523 - QUAD $0xfd442e4688bd304a // .quad -196981603220770742 - QUAD $0x908f4a166d1da664 // .quad -8030118150397909404 - QUAD $0x9e4a9cec15763e2e // .quad -7040642529654063570 - QUAD $0x9a598e4e043287ff // .quad -7324666853212387329 - QUAD $0xc5dd44271ad3cdba // .quad -4189117143640191558 - QUAD $0x40eff1e1853f29fe // .quad 4679224488766679550 - QUAD $0xf7549530e188c128 // .quad -624710411122851544 - QUAD $0xd12bee59e68ef47d // .quad -3374341425896426371 - QUAD $0x9a94dd3e8cf578b9 // .quad -7307973034592864071 - QUAD $0x82bb74f8301958cf // .quad -9026492418826348337 - QUAD $0xc13a148e3032d6e7 // .quad -4523280274813692185 - QUAD $0xe36a52363c1faf02 // .quad -2059743486678159614 - QUAD $0xf18899b1bc3f8ca1 // .quad -1042414325089727327 - QUAD $0xdc44e6c3cb279ac2 // .quad -2574679358347699518 - QUAD $0x96f5600f15a7b7e5 // .quad -7569037980822161435 - QUAD $0x29ab103a5ef8c0ba // .quad 3002511419460075706 - QUAD $0xbcb2b812db11a5de // .quad -4849611457600313890 - QUAD $0x7415d448f6b6f0e8 // .quad 8364825292752482536 - QUAD $0xebdf661791d60f56 // .quad -1450328303573004458 - QUAD $0x111b495b3464ad22 // .quad 1232659579085827362 - QUAD $0x936b9fcebb25c995 // .quad -7823984217374209643 - QUAD $0xcab10dd900beec35 // .quad -3841273781498745803 - QUAD $0xb84687c269ef3bfb // .quad -5168294253290374149 - QUAD $0x3d5d514f40eea743 // .quad 4421779809981343555 - QUAD $0xe65829b3046b0afa // .quad -1848681798185579782 - QUAD $0x0cb4a5a3112a5113 // .quad 915538744049291539 - QUAD $0x8ff71a0fe2c2e6dc // .quad -8072955151507069220 - QUAD $0x47f0e785eaba72ac // .quad 5183897733458195116 - QUAD $0xb3f4e093db73a093 // .quad -5479507920956448621 - QUAD $0x59ed216765690f57 // .quad 6479872166822743895 - QUAD $0xe0f218b8d25088b8 // .quad -2237698882768172872 - QUAD $0x306869c13ec3532d // .quad 3488154190101041965 - QUAD $0x8c974f7383725573 // .quad -8316090829371189901 - QUAD $0x1e414218c73a13fc // .quad 2180096368813151228 - QUAD $0xafbd2350644eeacf // .quad -5783427518286599473 - QUAD $0xe5d1929ef90898fb // .quad -1886565557410948869 - QUAD $0xdbac6c247d62a583 // .quad -2617598379430861437 - QUAD $0xdf45f746b74abf3a // .quad -2358206946763686086 - QUAD $0x894bc396ce5da772 // .quad -8553528014785370254 - QUAD $0x6b8bba8c328eb784 // .quad 7749492695127472004 - QUAD $0xab9eb47c81f5114f // .quad -6080224000054324913 - QUAD $0x066ea92f3f326565 // .quad 463493832054564197 - QUAD $0xd686619ba27255a2 // .quad -2988593981640518238 - QUAD $0xc80a537b0efefebe // .quad -4032318728359182658 - QUAD $0x8613fd0145877585 // .quad -8785400266166405755 - QUAD $0xbd06742ce95f5f37 // .quad -4826042214438183113 - QUAD $0xa798fc4196e952e7 // .quad -6370064314280619289 - QUAD $0x2c48113823b73705 // .quad 3190819268807046917 - QUAD $0xd17f3b51fca3a7a0 // .quad -3350894374423386208 - QUAD $0xf75a15862ca504c6 // .quad -623161932418579258 - QUAD $0x82ef85133de648c4 // .quad -9011838011655698236 - QUAD $0x9a984d73dbe722fc // .quad -7307005235402693892 - QUAD $0xa3ab66580d5fdaf5 // .quad -6653111496142234891 - QUAD $0xc13e60d0d2e0ebbb // .quad -4522070525825979461 - QUAD $0xcc963fee10b7d1b3 // .quad -3704703351750405709 - QUAD $0x318df905079926a9 // .quad 3570783879572301481 - QUAD $0xffbbcfe994e5c61f // .quad -19193171260619233 - QUAD $0xfdf17746497f7053 // .quad -148206168962011053 - QUAD $0x9fd561f1fd0f9bd3 // .quad -6929524759678968877 - QUAD $0xfeb6ea8bedefa634 // .quad -92628855601256908 - QUAD $0xc7caba6e7c5382c8 // .quad -4050219931171323192 - QUAD $0xfe64a52ee96b8fc1 // .quad -115786069501571135 - QUAD $0xf9bd690a1b68637b // .quad -451088895536766085 - QUAD $0x3dfdce7aa3c673b1 // .quad 4466953431550423985 - QUAD $0x9c1661a651213e2d // .quad -7199459587351560659 - QUAD $0x06bea10ca65c084f // .quad 486002885505321039 - QUAD $0xc31bfa0fe5698db8 // .quad -4387638465762062920 - QUAD $0x486e494fcff30a63 // .quad 5219189625309039203 - QUAD $0xf3e2f893dec3f126 // .quad -872862063775190746 - QUAD $0x5a89dba3c3efccfb // .quad 6523987031636299003 - QUAD $0x986ddb5c6b3a76b7 // .quad -7463067817500576073 - QUAD $0xf89629465a75e01d // .quad -534194123654701027 - QUAD $0xbe89523386091465 // .quad -4717148753448332187 - QUAD $0xf6bbb397f1135824 // .quad -667742654568376284 - QUAD $0xee2ba6c0678b597f // .quad -1284749923383027329 - QUAD $0x746aa07ded582e2d // .quad 8388693718644305453 - QUAD $0x94db483840b717ef // .quad -7720497729755473937 - QUAD $0xa8c2a44eb4571cdd // .quad -6286281471915778851 - QUAD $0xba121a4650e4ddeb // .quad -5038936143766954517 - QUAD $0x92f34d62616ce414 // .quad -7857851839894723564 - QUAD $0xe896a0d7e51e1566 // .quad -1686984161281305242 - QUAD $0x77b020baf9c81d18 // .quad 8624429273841147160 - QUAD $0x915e2486ef32cd60 // .quad -7971894128441897632 - QUAD $0x0ace1474dc1d122f // .quad 778582277723329071 - QUAD $0xb5b5ada8aaff80b8 // .quad -5353181642124984136 - QUAD $0x0d819992132456bb // .quad 973227847154161339 - QUAD $0xe3231912d5bf60e6 // .quad -2079791034228842266 - QUAD $0x10e1fff697ed6c6a // .quad 1216534808942701674 - QUAD $0x8df5efabc5979c8f // .quad -8217398424034108273 - QUAD $0xca8d3ffa1ef463c2 // .quad -3851351762838199358 - QUAD $0xb1736b96b6fd83b3 // .quad -5660062011615247437 - QUAD $0xbd308ff8a6b17cb3 // .quad -4814189703547749197 - QUAD $0xddd0467c64bce4a0 // .quad -2463391496091671392 - QUAD $0xac7cb3f6d05ddbdf // .quad -6017737129434686497 - QUAD $0x8aa22c0dbef60ee4 // .quad -8457148712698376476 - QUAD $0x6bcdf07a423aa96c // .quad 7768129340171790700 - QUAD $0xad4ab7112eb3929d // .quad -5959749872445582691 - QUAD $0x86c16c98d2c953c7 // .quad -8736582398494813241 - QUAD $0xd89d64d57a607744 // .quad -2838001322129590460 - QUAD $0xe871c7bf077ba8b8 // .quad -1697355961263740744 - QUAD $0x87625f056c7c4a8b // .quad -8691279853972075893 - QUAD $0x11471cd764ad4973 // .quad 1244995533423855987 - QUAD $0xa93af6c6c79b5d2d // .quad -6252413799037706963 - QUAD $0xd598e40d3dd89bd0 // .quad -3055441601647567920 - QUAD $0xd389b47879823479 // .quad -3203831230369745799 - QUAD $0x4aff1d108d4ec2c4 // .quad 5404070034795315908 - QUAD $0x843610cb4bf160cb // .quad -8919923546622172981 - QUAD $0xcedf722a585139bb // .quad -3539985255894009413 - QUAD $0xa54394fe1eedb8fe // .quad -6538218414850328322 - QUAD $0xc2974eb4ee658829 // .quad -4424981569867511767 - QUAD $0xce947a3da6a9273e // .quad -3561087000135522498 - QUAD $0x733d226229feea33 // .quad 8303831092947774003 - QUAD $0x811ccc668829b887 // .quad -9143208402725783417 - QUAD $0x0806357d5a3f5260 // .quad 578208414664970848 - QUAD $0xa163ff802a3426a8 // .quad -6817324484979841368 - QUAD $0xca07c2dcb0cf26f8 // .quad -3888925500096174344 - QUAD $0xc9bcff6034c13052 // .quad -3909969587797413806 - QUAD $0xfc89b393dd02f0b6 // .quad -249470856692830026 - QUAD $0xfc2c3f3841f17c67 // .quad -275775966319379353 - QUAD $0xbbac2078d443ace3 // .quad -4923524589293425437 - QUAD $0x9d9ba7832936edc0 // .quad -7089889006590693952 - QUAD $0xd54b944b84aa4c0e // .quad -3077202868308390898 - QUAD $0xc5029163f384a931 // .quad -4250675239810979535 - QUAD $0x0a9e795e65d4df12 // .quad 765182433041899282 - QUAD $0xf64335bcf065d37d // .quad -701658031336336515 - QUAD $0x4d4617b5ff4a16d6 // .quad 5568164059729762006 - QUAD $0x99ea0196163fa42e // .quad -7356065297226292178 - QUAD $0x504bced1bf8e4e46 // .quad 5785945546544795206 - QUAD $0xc06481fb9bcf8d39 // .quad -4583395603105477319 - QUAD $0xe45ec2862f71e1d7 // .quad -1990940103673781801 - QUAD $0xf07da27a82c37088 // .quad -1117558485454458744 - QUAD $0x5d767327bb4e5a4d // .quad 6734696907262548557 - QUAD $0x964e858c91ba2655 // .quad -7616003081050118571 - QUAD $0x3a6a07f8d510f870 // .quad 4209185567039092848 - QUAD $0xbbe226efb628afea // .quad -4908317832885260310 - QUAD $0x890489f70a55368c // .quad -8573576096483297652 - QUAD $0xeadab0aba3b2dbe5 // .quad -1523711272679187483 - QUAD $0x2b45ac74ccea842f // .quad 3118087934678041647 - QUAD $0x92c8ae6b464fc96f // .quad -7869848573065574033 - QUAD $0x3b0b8bc90012929e // .quad 4254647968387469982 - QUAD $0xb77ada0617e3bbcb // .quad -5225624697904579637 - QUAD $0x09ce6ebb40173745 // .quad 706623942056949573 - QUAD $0xe55990879ddcaabd // .quad -1920344853953336643 - QUAD $0xcc420a6a101d0516 // .quad -3728406090856200938 - QUAD $0x8f57fa54c2a9eab6 // .quad -8117744561361917258 - QUAD $0x9fa946824a12232e // .quad -6941939825212513490 - QUAD $0xb32df8e9f3546564 // .quad -5535494683275008668 - QUAD $0x47939822dc96abfa // .quad 5157633273766521850 - QUAD $0xdff9772470297ebd // .quad -2307682335666372931 - QUAD $0x59787e2b93bc56f8 // .quad 6447041592208152312 - QUAD $0x8bfbea76c619ef36 // .quad -8359830487432564938 - QUAD $0x57eb4edb3c55b65b // .quad 6335244004343789147 - QUAD $0xaefae51477a06b03 // .quad -5838102090863318269 - QUAD $0xede622920b6b23f2 // .quad -1304317031425039374 - QUAD $0xdab99e59958885c4 // .quad -2685941595151759932 - QUAD $0xe95fab368e45ecee // .quad -1630396289281299218 - QUAD $0x88b402f7fd75539b // .quad -8596242524610931813 - QUAD $0x11dbcb0218ebb415 // .quad 1286845328412881941 - QUAD $0xaae103b5fcd2a881 // .quad -6133617137336276863 - QUAD $0xd652bdc29f26a11a // .quad -3003129357911285478 - QUAD $0xd59944a37c0752a2 // .quad -3055335403242958174 - QUAD $0x4be76d3346f04960 // .quad 5469460339465668960 - QUAD $0x857fcae62d8493a5 // .quad -8827113654667930715 - QUAD $0x6f70a4400c562ddc // .quad 8030098730593431004 - QUAD $0xa6dfbd9fb8e5b88e // .quad -6422206049907525490 - QUAD $0xcb4ccd500f6bb953 // .quad -3797434642040374957 - QUAD $0xd097ad07a71f26b2 // .quad -3416071543957018958 - QUAD $0x7e2000a41346a7a8 // .quad 9088264752731695016 - QUAD $0x825ecc24c873782f // .quad -9052573742614218705 - QUAD $0x8ed400668c0c28c9 // .quad -8154892584824854327 - QUAD $0xa2f67f2dfa90563b // .quad -6704031159840385477 - QUAD $0x728900802f0f32fb // .quad 8253128342678483707 - QUAD $0xcbb41ef979346bca // .quad -3768352931373093942 - QUAD $0x4f2b40a03ad2ffba // .quad 5704724409920716730 - QUAD $0xfea126b7d78186bc // .quad -98755145788979524 - QUAD $0xe2f610c84987bfa9 // .quad -2092466524453879895 - QUAD $0x9f24b832e6b0f436 // .quad -6979250993759194058 - QUAD $0x0dd9ca7d2df4d7ca // .quad 998051431430019018 - QUAD $0xc6ede63fa05d3143 // .quad -4112377723771604669 - QUAD $0x91503d1c79720dbc // .quad -7975807747567252036 - QUAD $0xf8a95fcf88747d94 // .quad -528786136287117932 - QUAD $0x75a44c6397ce912b // .quad 8476984389250486571 - QUAD $0x9b69dbe1b548ce7c // .quad -7248020362820530564 - QUAD $0xc986afbe3ee11abb // .quad -3925256793573221701 - QUAD $0xc24452da229b021b // .quad -4448339435098275301 - QUAD $0xfbe85badce996169 // .quad -294884973539139223 - QUAD $0xf2d56790ab41c2a2 // .quad -948738275445456222 - QUAD $0xfae27299423fb9c4 // .quad -368606216923924028 - QUAD $0x97c560ba6b0919a5 // .quad -7510490449794491995 - QUAD $0xdccd879fc967d41b // .quad -2536221894791146469 - QUAD $0xbdb6b8e905cb600f // .quad -4776427043815727089 - QUAD $0x5400e987bbc1c921 // .quad 6053094668365842721 - QUAD $0xed246723473e3813 // .quad -1358847786342270957 - QUAD $0x290123e9aab23b69 // .quad 2954682317029915497 - QUAD $0x9436c0760c86e30b // .quad -7766808894105001205 - QUAD $0xf9a0b6720aaf6522 // .quad -459166561069996766 - QUAD $0xb94470938fa89bce // .quad -5096825099203863602 - QUAD $0xf808e40e8d5b3e6a // .quad -573958201337495958 - QUAD $0xe7958cb87392c2c2 // .quad -1759345355577441598 - QUAD $0xb60b1d1230b20e05 // .quad -5329133770099257851 - QUAD $0x90bd77f3483bb9b9 // .quad -8017119874876982855 - QUAD $0xb1c6f22b5e6f48c3 // .quad -5636551615525730109 - QUAD $0xb4ecd5f01a4aa828 // .quad -5409713825168840664 - QUAD $0x1e38aeb6360b1af4 // .quad 2177682517447613172 - QUAD $0xe2280b6c20dd5232 // .quad -2150456263033662926 - QUAD $0x25c6da63c38de1b1 // .quad 2722103146809516465 - QUAD $0x8d590723948a535f // .quad -8261564192037121185 - QUAD $0x579c487e5a38ad0f // .quad 6313000485183335695 - QUAD $0xb0af48ec79ace837 // .quad -5715269221619013577 - QUAD $0x2d835a9df0c6d852 // .quad 3279564588051781714 - QUAD $0xdcdb1b2798182244 // .quad -2532400508596379068 - QUAD $0xf8e431456cf88e66 // .quad -512230283362660762 - QUAD $0x8a08f0f8bf0f156b // .quad -8500279345513818773 - QUAD $0x1b8e9ecb641b5900 // .quad 1985699082112030976 - QUAD $0xac8b2d36eed2dac5 // .quad -6013663163464885563 - QUAD $0xe272467e3d222f40 // .quad -2129562165787349184 - QUAD $0xd7adf884aa879177 // .quad -2905392935903719049 - QUAD $0x5b0ed81dcc6abb10 // .quad 6561419329620589328 - QUAD $0x86ccbb52ea94baea // .quad -8733399612580906262 - QUAD $0x98e947129fc2b4ea // .quad -7428327965055601430 - QUAD $0xa87fea27a539e9a5 // .quad -6305063497298744923 - QUAD $0x3f2398d747b36225 // .quad 4549648098962661925 - QUAD $0xd29fe4b18e88640e // .quad -3269643353196043250 - QUAD $0x8eec7f0d19a03aae // .quad -8147997931578836306 - QUAD $0x83a3eeeef9153e89 // .quad -8961056123388608887 - QUAD $0x1953cf68300424ad // .quad 1825030320404309165 - QUAD $0xa48ceaaab75a8e2b // .quad -6589634135808373205 - QUAD $0x5fa8c3423c052dd8 // .quad 6892973918932774360 - QUAD $0xcdb02555653131b6 // .quad -3625356651333078602 - QUAD $0x3792f412cb06794e // .quad 4004531380238580046 - QUAD $0x808e17555f3ebf11 // .quad -9183376934724255983 - QUAD $0xe2bbd88bbee40bd1 // .quad -2108853905778275375 - QUAD $0xa0b19d2ab70e6ed6 // .quad -6867535149977932074 - QUAD $0x5b6aceaeae9d0ec5 // .quad 6587304654631931589 - QUAD $0xc8de047564d20a8b // .quad -3972732919045027189 - QUAD $0xf245825a5a445276 // .quad -989241218564861322 - QUAD $0xfb158592be068d2e // .quad -354230130378896082 - QUAD $0xeed6e2f0f0d56713 // .quad -1236551523206076653 - QUAD $0x9ced737bb6c4183d // .quad -7138922859127891907 - QUAD $0x55464dd69685606c // .quad 6144684325637283948 - QUAD $0xc428d05aa4751e4c // .quad -4311967555482476980 - QUAD $0xaa97e14c3c26b887 // .quad -6154202648235558777 - QUAD $0xf53304714d9265df // .quad -778273425925708321 - QUAD $0xd53dd99f4b3066a9 // .quad -3081067291867060567 - QUAD $0x993fe2c6d07b7fab // .quad -7403949918844649557 - QUAD $0xe546a8038efe402a // .quad -1925667057416912854 - QUAD $0xbf8fdb78849a5f96 // .quad -4643251380128424042 - QUAD $0xde98520472bdd034 // .quad -2407083821771141068 - QUAD $0xef73d256a5c0f77c // .quad -1192378206733142148 - QUAD $0x963e66858f6d4441 // .quad -7620540795641314239 - QUAD $0x95a8637627989aad // .quad -7662765406849295699 - QUAD $0xdde7001379a44aa9 // .quad -2456994988062127447 - QUAD $0xbb127c53b17ec159 // .quad -4966770740134231719 - QUAD $0x5560c018580d5d53 // .quad 6152128301777116499 - QUAD $0xe9d71b689dde71af // .quad -1596777406740401745 - QUAD $0xaab8f01e6e10b4a7 // .quad -6144897678060768089 - QUAD $0x9226712162ab070d // .quad -7915514906853832947 - QUAD $0xcab3961304ca70e9 // .quad -3840561048787980055 - QUAD $0xb6b00d69bb55c8d1 // .quad -5282707615139903279 - QUAD $0x3d607b97c5fd0d23 // .quad 4422670725869800739 - QUAD $0xe45c10c42a2b3b05 // .quad -1991698500497491195 - QUAD $0x8cb89a7db77c506b // .quad -8306719647944912789 - QUAD $0x8eb98a7a9a5b04e3 // .quad -8162340590452013853 - QUAD $0x77f3608e92adb243 // .quad 8643358275316593219 - QUAD $0xb267ed1940f1c61c // .quad -5591239719637629412 - QUAD $0x55f038b237591ed4 // .quad 6192511825718353620 - QUAD $0xdf01e85f912e37a3 // .quad -2377363631119648861 - QUAD $0x6b6c46dec52f6689 // .quad 7740639782147942025 - QUAD $0x8b61313bbabce2c6 // .quad -8403381297090862394 - QUAD $0x2323ac4b3b3da016 // .quad 2532056854628769814 - QUAD $0xae397d8aa96c1b77 // .quad -5892540602936190089 - QUAD $0xabec975e0a0d081b // .quad -6058300968568813541 - QUAD $0xd9c7dced53c72255 // .quad -2753989735242849707 - QUAD $0x96e7bd358c904a22 // .quad -7572876210711016926 - QUAD $0x881cea14545c7575 // .quad -8638772612167862923 - QUAD $0x7e50d64177da2e55 // .quad 9102010423587778133 - QUAD $0xaa242499697392d2 // .quad -6186779746782440750 - QUAD $0xdde50bd1d5d0b9ea // .quad -2457545025797441046 - QUAD $0xd4ad2dbfc3d07787 // .quad -3121788665050663033 - QUAD $0x955e4ec64b44e865 // .quad -7683617300674189211 - QUAD $0x84ec3c97da624ab4 // .quad -8868646943297746252 - QUAD $0xbd5af13bef0b113f // .quad -4802260812921368257 - QUAD $0xa6274bbdd0fadd61 // .quad -6474122660694794911 - QUAD $0xecb1ad8aeacdd58f // .quad -1391139997724322417 - QUAD $0xcfb11ead453994ba // .quad -3480967307441105734 - QUAD $0x67de18eda5814af3 // .quad 7484447039699372787 - QUAD $0x81ceb32c4b43fcf4 // .quad -9093133594791772940 - QUAD $0x80eacf948770ced8 // .quad -9157278655470055720 - QUAD $0xa2425ff75e14fc31 // .quad -6754730975062328271 - QUAD $0xa1258379a94d028e // .quad -6834912300910181746 - QUAD $0xcad2f7f5359a3b3e // .quad -3831727700400522434 - QUAD $0x096ee45813a04331 // .quad 679731660717048625 - QUAD $0xfd87b5f28300ca0d // .quad -177973607073265139 - QUAD $0x8bca9d6e188853fd // .quad -8373707460958465027 - QUAD $0x9e74d1b791e07e48 // .quad -7028762532061872568 - QUAD $0x775ea264cf55347e // .quad 8601490892183123070 - QUAD $0xc612062576589dda // .quad -4174267146649952806 - QUAD $0x95364afe032a819e // .quad -7694880458480647778 - QUAD $0xf79687aed3eec551 // .quad -606147914885053103 - QUAD $0x3a83ddbd83f52205 // .quad 4216457482181353989 - QUAD $0x9abe14cd44753b52 // .quad -7296371474444240046 - QUAD $0xc4926a9672793543 // .quad -4282243101277735613 - QUAD $0xc16d9a0095928a27 // .quad -4508778324627912153 - QUAD $0x75b7053c0f178294 // .quad 8482254178684994196 - QUAD $0xf1c90080baf72cb1 // .quad -1024286887357502287 - QUAD $0x5324c68b12dd6339 // .quad 5991131704928854841 - QUAD $0x971da05074da7bee // .quad -7557708332239520786 - QUAD $0xd3f6fc16ebca5e04 // .quad -3173071712060547580 - QUAD $0xbce5086492111aea // .quad -4835449396872013078 - QUAD $0x88f4bb1ca6bcf585 // .quad -8578025658503072379 - QUAD $0xec1e4a7db69561a5 // .quad -1432625727662628443 - QUAD $0x2b31e9e3d06c32e6 // .quad 3112525982153323238 - QUAD $0x9392ee8e921d5d07 // .quad -7812920107430224633 - QUAD $0x3aff322e62439fd0 // .quad 4251171748059520976 - QUAD $0xb877aa3236a4b449 // .quad -5154464115860392887 - QUAD $0x09befeb9fad487c3 // .quad 702278666647013315 - QUAD $0xe69594bec44de15b // .quad -1831394126398103205 - QUAD $0x4c2ebe687989a9b4 // .quad 5489534351736154548 - QUAD $0x901d7cf73ab0acd9 // .quad -8062150356639896359 - QUAD $0x0f9d37014bf60a11 // .quad 1125115960621402641 - QUAD $0xb424dc35095cd80f // .quad -5466001927372482545 - QUAD $0x538484c19ef38c95 // .quad 6018080969204141205 - QUAD $0xe12e13424bb40e13 // .quad -2220816390788215277 - QUAD $0x2865a5f206b06fba // .quad 2910915193077788602 - QUAD $0x8cbccc096f5088cb // .quad -8305539271883716405 - QUAD $0xf93f87b7442e45d4 // .quad -486521013540076076 - QUAD $0xafebff0bcb24aafe // .quad -5770238071427257602 - QUAD $0xf78f69a51539d749 // .quad -608151266925095095 - QUAD $0xdbe6fecebdedd5be // .quad -2601111570856684098 - QUAD $0xb573440e5a884d1c // .quad -5371875102083756772 - QUAD $0x89705f4136b4a597 // .quad -8543223759426509417 - QUAD $0x31680a88f8953031 // .quad 3560107088838733873 - QUAD $0xabcc77118461cefc // .quad -6067343680855748868 - QUAD $0xfdc20d2b36ba7c3e // .quad -161552157378970562 - QUAD $0xd6bf94d5e57a42bc // .quad -2972493582642298180 - QUAD $0x3d32907604691b4d // .quad 4409745821703674701 - QUAD $0x8637bd05af6c69b5 // .quad -8775337516792518219 - QUAD $0xa63f9a49c2c1b110 // .quad -6467280898289979120 - QUAD $0xa7c5ac471b478423 // .quad -6357485877563259869 - QUAD $0x0fcf80dc33721d54 // .quad 1139270913992301908 - QUAD $0xd1b71758e219652b // .quad -3335171328526686933 - QUAD $0xd3c36113404ea4a9 // .quad -3187597375937010519 - QUAD $0x83126e978d4fdf3b // .quad -9002011107970261189 - QUAD $0x645a1cac083126ea // .quad 7231123676894144234 - QUAD $0xa3d70a3d70a3d70a // .quad -6640827866535438582 - QUAD $0x3d70a3d70a3d70a4 // .quad 4427218577690292388 - QUAD $0xcccccccccccccccc // .quad -3689348814741910324 - QUAD $0xcccccccccccccccd // .quad -3689348814741910323 - QUAD $0x8000000000000000 // .quad -9223372036854775808 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa000000000000000 // .quad -6917529027641081856 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xc800000000000000 // .quad -4035225266123964416 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xfa00000000000000 // .quad -432345564227567616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9c40000000000000 // .quad -7187745005283311616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xc350000000000000 // .quad -4372995238176751616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xf424000000000000 // .quad -854558029293551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9896800000000000 // .quad -7451627795949551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xbebc200000000000 // .quad -4702848726509551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xee6b280000000000 // .quad -1266874889709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9502f90000000000 // .quad -7709325833709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xba43b74000000000 // .quad -5024971273709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xe8d4a51000000000 // .quad -1669528073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9184e72a00000000 // .quad -7960984073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xb5e620f480000000 // .quad -5339544073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xe35fa931a0000000 // .quad -2062744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8e1bc9bf04000000 // .quad -8206744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xb1a2bc2ec5000000 // .quad -5646744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xde0b6b3a76400000 // .quad -2446744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8ac7230489e80000 // .quad -8446744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xad78ebc5ac620000 // .quad -5946744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xd8d726b7177a8000 // .quad -2821744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x878678326eac9000 // .quad -8681119073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa968163f0a57b400 // .quad -6239712823709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xd3c21bcecceda100 // .quad -3187955011209551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x84595161401484a0 // .quad -8910000909647051616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa56fa5b99019a5c8 // .quad -6525815118631426616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xcecb8f27f4200f3a // .quad -3545582879861895366 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x813f3978f8940984 // .quad -9133518327554766460 - QUAD $0x4000000000000000 // .quad 4611686018427387904 - QUAD $0xa18f07d736b90be5 // .quad -6805211891016070171 - QUAD $0x5000000000000000 // .quad 5764607523034234880 - QUAD $0xc9f2c9cd04674ede // .quad -3894828845342699810 - QUAD $0xa400000000000000 // .quad -6629298651489370112 - QUAD $0xfc6f7c4045812296 // .quad -256850038250986858 - QUAD $0x4d00000000000000 // .quad 5548434740920451072 - QUAD $0x9dc5ada82b70b59d // .quad -7078060301547948643 - QUAD $0xf020000000000000 // .quad -1143914305352105984 - QUAD $0xc5371912364ce305 // .quad -4235889358507547899 - QUAD $0x6c28000000000000 // .quad 7793479155164643328 - QUAD $0xf684df56c3e01bc6 // .quad -683175679707046970 - QUAD $0xc732000000000000 // .quad -4093209111326359552 - QUAD $0x9a130b963a6c115c // .quad -7344513827457986212 - QUAD $0x3c7f400000000000 // .quad 4359273333062107136 - QUAD $0xc097ce7bc90715b3 // .quad -4568956265895094861 - QUAD $0x4b9f100000000000 // .quad 5449091666327633920 - QUAD $0xf0bdc21abb48db20 // .quad -1099509313941480672 - QUAD $0x1e86d40000000000 // .quad 2199678564482154496 - QUAD $0x96769950b50d88f4 // .quad -7604722348854507276 - QUAD $0x1314448000000000 // .quad 1374799102801346560 - QUAD $0xbc143fa4e250eb31 // .quad -4894216917640746191 - QUAD $0x17d955a000000000 // .quad 1718498878501683200 - QUAD $0xeb194f8e1ae525fd // .quad -1506085128623544835 - QUAD $0x5dcfab0800000000 // .quad 6759809616554491904 - QUAD $0x92efd1b8d0cf37be // .quad -7858832233030797378 - QUAD $0x5aa1cae500000000 // .quad 6530724019560251392 - QUAD $0xb7abc627050305ad // .quad -5211854272861108819 - QUAD $0xf14a3d9e40000000 // .quad -1059967012404461568 - QUAD $0xe596b7b0c643c719 // .quad -1903131822648998119 - QUAD $0x6d9ccd05d0000000 // .quad 7898413271349198848 - QUAD $0x8f7e32ce7bea5c6f // .quad -8106986416796705681 - QUAD $0xe4820023a2000000 // .quad -1981020733047832576 - QUAD $0xb35dbf821ae4f38b // .quad -5522047002568494197 - QUAD $0xdda2802c8a800000 // .quad -2476275916309790720 - QUAD $0xe0352f62a19e306e // .quad -2290872734783229842 - QUAD $0xd50b2037ad200000 // .quad -3095344895387238400 - QUAD $0x8c213d9da502de45 // .quad -8349324486880600507 - QUAD $0x4526f422cc340000 // .quad 4982938468024057856 - QUAD $0xaf298d050e4395d6 // .quad -5824969590173362730 - QUAD $0x9670b12b7f410000 // .quad -7606384970252091392 - QUAD $0xdaf3f04651d47b4c // .quad -2669525969289315508 - QUAD $0x3c0cdd765f114000 // .quad 4327076842467049472 - QUAD $0x88d8762bf324cd0f // .quad -8585982758446904049 - QUAD $0xa5880a69fb6ac800 // .quad -6518949010312869888 - QUAD $0xab0e93b6efee0053 // .quad -6120792429631242157 - QUAD $0x8eea0d047a457a00 // .quad -8148686262891087360 - QUAD $0xd5d238a4abe98068 // .quad -3039304518611664792 - QUAD $0x72a4904598d6d880 // .quad 8260886245095692416 - QUAD $0x85a36366eb71f041 // .quad -8817094351773372351 - QUAD $0x47a6da2b7f864750 // .quad 5163053903184807760 - QUAD $0xa70c3c40a64e6c51 // .quad -6409681921289327535 - QUAD $0x999090b65f67d924 // .quad -7381240676301154012 - QUAD $0xd0cf4b50cfe20765 // .quad -3400416383184271515 - QUAD $0xfff4b4e3f741cf6d // .quad -3178808521666707 - QUAD $0x82818f1281ed449f // .quad -9042789267131251553 - QUAD $0xbff8f10e7a8921a5 // .quad -4613672773753429595 - QUAD $0xa321f2d7226895c7 // .quad -6691800565486676537 - QUAD $0xaff72d52192b6a0e // .quad -5767090967191786994 - QUAD $0xcbea6f8ceb02bb39 // .quad -3753064688430957767 - QUAD $0x9bf4f8a69f764491 // .quad -7208863708989733743 - QUAD $0xfee50b7025c36a08 // .quad -79644842111309304 - QUAD $0x02f236d04753d5b5 // .quad 212292400617608629 - QUAD $0x9f4f2726179a2245 // .quad -6967307053960650171 - QUAD $0x01d762422c946591 // .quad 132682750386005393 - QUAD $0xc722f0ef9d80aad6 // .quad -4097447799023424810 - QUAD $0x424d3ad2b7b97ef6 // .quad 4777539456409894646 - QUAD $0xf8ebad2b84e0d58b // .quad -510123730351893109 - QUAD $0xd2e0898765a7deb3 // .quad -3251447716342407501 - QUAD $0x9b934c3b330c8577 // .quad -7236356359111015049 - QUAD $0x63cc55f49f88eb30 // .quad 7191217214140771120 - QUAD $0xc2781f49ffcfa6d5 // .quad -4433759430461380907 - QUAD $0x3cbf6b71c76b25fc // .quad 4377335499248575996 - QUAD $0xf316271c7fc3908a // .quad -930513269649338230 - QUAD $0x8bef464e3945ef7b // .quad -8363388681221443717 - QUAD $0x97edd871cfda3a56 // .quad -7499099821171918250 - QUAD $0x97758bf0e3cbb5ad // .quad -7532960934977096275 - QUAD $0xbde94e8e43d0c8ec // .quad -4762188758037509908 - QUAD $0x3d52eeed1cbea318 // .quad 4418856886560793368 - QUAD $0xed63a231d4c4fb27 // .quad -1341049929119499481 - QUAD $0x4ca7aaa863ee4bde // .quad 5523571108200991710 - QUAD $0x945e455f24fb1cf8 // .quad -7755685233340769032 - QUAD $0x8fe8caa93e74ef6b // .quad -8076983103442849941 - QUAD $0xb975d6b6ee39e436 // .quad -5082920523248573386 - QUAD $0xb3e2fd538e122b45 // .quad -5484542860876174523 - QUAD $0xe7d34c64a9c85d44 // .quad -1741964635633328828 - QUAD $0x60dbbca87196b617 // .quad 6979379479186945559 - QUAD $0x90e40fbeea1d3a4a // .quad -8006256924911912374 - QUAD $0xbc8955e946fe31ce // .quad -4861259862362934834 - QUAD $0xb51d13aea4a488dd // .quad -5396135137712502563 - QUAD $0x6babab6398bdbe42 // .quad 7758483227328495170 - QUAD $0xe264589a4dcdab14 // .quad -2133482903713240300 - QUAD $0xc696963c7eed2dd2 // .quad -4136954021121544750 - QUAD $0x8d7eb76070a08aec // .quad -8250955842461857044 - QUAD $0xfc1e1de5cf543ca3 // .quad -279753253987271517 - QUAD $0xb0de65388cc8ada8 // .quad -5702008784649933400 - QUAD $0x3b25a55f43294bcc // .quad 4261994450943298508 - QUAD $0xdd15fe86affad912 // .quad -2515824962385028846 - QUAD $0x49ef0eb713f39ebf // .quad 5327493063679123135 - QUAD $0x8a2dbf142dfcc7ab // .quad -8489919629131724885 - QUAD $0x6e3569326c784338 // .quad 7941369183226839864 - QUAD $0xacb92ed9397bf996 // .quad -6000713517987268202 - QUAD $0x49c2c37f07965405 // .quad 5315025460606161925 - QUAD $0xd7e77a8f87daf7fb // .quad -2889205879056697349 - QUAD $0xdc33745ec97be907 // .quad -2579590211097073401 - QUAD $0x86f0ac99b4e8dafd // .quad -8723282702051517699 - QUAD $0x69a028bb3ded71a4 // .quad 7611128154919104932 - QUAD $0xa8acd7c0222311bc // .quad -6292417359137009220 - QUAD $0xc40832ea0d68ce0d // .quad -4321147861633282547 - QUAD $0xd2d80db02aabd62b // .quad -3253835680493873621 - QUAD $0xf50a3fa490c30191 // .quad -789748808614215279 - QUAD $0x83c7088e1aab65db // .quad -8951176327949752869 - QUAD $0x792667c6da79e0fb // .quad 8729779031470891259 - QUAD $0xa4b8cab1a1563f52 // .quad -6577284391509803182 - QUAD $0x577001b891185939 // .quad 6300537770911226169 - QUAD $0xcde6fd5e09abcf26 // .quad -3609919470959866074 - QUAD $0xed4c0226b55e6f87 // .quad -1347699823215743097 - QUAD $0x80b05e5ac60b6178 // .quad -9173728696990998152 - QUAD $0x544f8158315b05b5 // .quad 6075216638131242421 - QUAD $0xa0dc75f1778e39d6 // .quad -6855474852811359786 - QUAD $0x696361ae3db1c722 // .quad 7594020797664053026 - QUAD $0xc913936dd571c84c // .quad -3957657547586811828 - QUAD $0x03bc3a19cd1e38ea // .quad 269153960225290474 - QUAD $0xfb5878494ace3a5f // .quad -335385916056126881 - QUAD $0x04ab48a04065c724 // .quad 336442450281613092 - QUAD $0x9d174b2dcec0e47b // .quad -7127145225176161157 - QUAD $0x62eb0d64283f9c77 // .quad 7127805559067090039 - QUAD $0xc45d1df942711d9a // .quad -4297245513042813542 - QUAD $0x3ba5d0bd324f8395 // .quad 4298070930406474645 - QUAD $0xf5746577930d6500 // .quad -759870872876129024 - QUAD $0xca8f44ec7ee3647a // .quad -3850783373846682502 - QUAD $0x9968bf6abbe85f20 // .quad -7392448323188662496 - QUAD $0x7e998b13cf4e1ecc // .quad 9122475437414293196 - QUAD $0xbfc2ef456ae276e8 // .quad -4628874385558440216 - QUAD $0x9e3fedd8c321a67f // .quad -7043649776941685121 - QUAD $0xefb3ab16c59b14a2 // .quad -1174406963520662366 - QUAD $0xc5cfe94ef3ea101f // .quad -4192876202749718497 - QUAD $0x95d04aee3b80ece5 // .quad -7651533379841495835 - QUAD $0xbba1f1d158724a13 // .quad -4926390635932268013 - QUAD $0xbb445da9ca61281f // .quad -4952730706374481889 - QUAD $0x2a8a6e45ae8edc98 // .quad 3065383741939440792 - QUAD $0xea1575143cf97226 // .quad -1579227364540714458 - QUAD $0xf52d09d71a3293be // .quad -779956341003086914 - QUAD $0x924d692ca61be758 // .quad -7904546130479028392 - QUAD $0x593c2626705f9c57 // .quad 6430056314514152535 - QUAD $0xb6e0c377cfa2e12e // .quad -5268996644671397586 - QUAD $0x6f8b2fb00c77836d // .quad 8037570393142690669 - QUAD $0xe498f455c38b997a // .quad -1974559787411859078 - QUAD $0x0b6dfb9c0f956448 // .quad 823590954573587528 - QUAD $0x8edf98b59a373fec // .quad -8151628894773493780 - QUAD $0x4724bd4189bd5ead // .quad 5126430365035880109 - QUAD $0xb2977ee300c50fe7 // .quad -5577850100039479321 - QUAD $0x58edec91ec2cb658 // .quad 6408037956294850136 - QUAD $0xdf3d5e9bc0f653e1 // .quad -2360626606621961247 - QUAD $0x2f2967b66737e3ee // .quad 3398361426941174766 - QUAD $0x8b865b215899f46c // .quad -8392920656779807636 - QUAD $0xbd79e0d20082ee75 // .quad -4793553135802847627 - QUAD $0xae67f1e9aec07187 // .quad -5879464802547371641 - QUAD $0xecd8590680a3aa12 // .quad -1380255401326171630 - QUAD $0xda01ee641a708de9 // .quad -2737644984756826647 - QUAD $0xe80e6f4820cc9496 // .quad -1725319251657714538 - QUAD $0x884134fe908658b2 // .quad -8628557143114098510 - QUAD $0x3109058d147fdcde // .quad 3533361486141316318 - QUAD $0xaa51823e34a7eede // .quad -6174010410465235234 - QUAD $0xbd4b46f0599fd416 // .quad -4806670179178130410 - QUAD $0xd4e5e2cdc1d1ea96 // .quad -3105826994654156138 - QUAD $0x6c9e18ac7007c91b // .quad 7826720331309500699 - QUAD $0x850fadc09923329e // .quad -8858670899299929442 - QUAD $0x03e2cf6bc604ddb1 // .quad 280014188641050033 - QUAD $0xa6539930bf6bff45 // .quad -6461652605697523899 - QUAD $0x84db8346b786151d // .quad -8873354301053463267 - QUAD $0xcfe87f7cef46ff16 // .quad -3465379738694516970 - QUAD $0xe612641865679a64 // .quad -1868320839462053276 - QUAD $0x81f14fae158c5f6e // .quad -9083391364325154962 - QUAD $0x4fcb7e8f3f60c07f // .quad 5749828502977298559 - QUAD $0xa26da3999aef7749 // .quad -6742553186979055799 - QUAD $0xe3be5e330f38f09e // .quad -2036086408133152610 - QUAD $0xcb090c8001ab551c // .quad -3816505465296431844 - QUAD $0x5cadf5bfd3072cc6 // .quad 6678264026688335046 - QUAD $0xfdcb4fa002162a63 // .quad -158945813193151901 - QUAD $0x73d9732fc7c8f7f7 // .quad 8347830033360418807 - QUAD $0x9e9f11c4014dda7e // .quad -7016870160886801794 - QUAD $0x2867e7fddcdd9afb // .quad 2911550761636567803 - QUAD $0xc646d63501a1511d // .quad -4159401682681114339 - QUAD $0xb281e1fd541501b9 // .quad -5583933584809066055 - QUAD $0xf7d88bc24209a565 // .quad -587566084924005019 - QUAD $0x1f225a7ca91a4227 // .quad 2243455055843443239 - QUAD $0x9ae757596946075f // .quad -7284757830718584993 - QUAD $0x3375788de9b06959 // .quad 3708002419115845977 - QUAD $0xc1a12d2fc3978937 // .quad -4494261269970843337 - QUAD $0x0052d6b1641c83af // .quad 23317005467419567 - QUAD $0xf209787bb47d6b84 // .quad -1006140569036166268 - QUAD $0xc0678c5dbd23a49b // .quad -4582539761593113445 - QUAD $0x9745eb4d50ce6332 // .quad -7546366883288685774 - QUAD $0xf840b7ba963646e1 // .quad -558244341782001951 - QUAD $0xbd176620a501fbff // .quad -4821272585683469313 - QUAD $0xb650e5a93bc3d899 // .quad -5309491445654890343 - QUAD $0xec5d3fa8ce427aff // .quad -1414904713676948737 - QUAD $0xa3e51f138ab4cebf // .quad -6636864307068612929 - QUAD $0x93ba47c980e98cdf // .quad -7801844473689174817 - QUAD $0xc66f336c36b10138 // .quad -4148040191917883080 - QUAD $0xb8a8d9bbe123f017 // .quad -5140619573684080617 - QUAD $0xb80b0047445d4185 // .quad -5185050239897353851 - QUAD $0xe6d3102ad96cec1d // .quad -1814088448677712867 - QUAD $0xa60dc059157491e6 // .quad -6481312799871692314 - QUAD $0x9043ea1ac7e41392 // .quad -8051334308064652398 - QUAD $0x87c89837ad68db30 // .quad -8662506518347195600 - QUAD $0xb454e4a179dd1877 // .quad -5452481866653427593 - QUAD $0x29babe4598c311fc // .quad 3006924907348169212 - QUAD $0xe16a1dc9d8545e94 // .quad -2203916314889396588 - QUAD $0xf4296dd6fef3d67b // .quad -853029884242176389 - QUAD $0x8ce2529e2734bb1d // .quad -8294976724446954723 - QUAD $0x1899e4a65f58660d // .quad 1772699331562333709 - QUAD $0xb01ae745b101e9e4 // .quad -5757034887131305500 - QUAD $0x5ec05dcff72e7f90 // .quad 6827560182880305040 - QUAD $0xdc21a1171d42645d // .quad -2584607590486743971 - QUAD $0x76707543f4fa1f74 // .quad 8534450228600381300 - QUAD $0x899504ae72497eba // .quad -8532908771695296838 - QUAD $0x6a06494a791c53a9 // .quad 7639874402088932265 - QUAD $0xabfa45da0edbde69 // .quad -6054449946191733143 - QUAD $0x0487db9d17636893 // .quad 326470965756389523 - QUAD $0xd6f8d7509292d603 // .quad -2956376414312278525 - QUAD $0x45a9d2845d3c42b7 // .quad 5019774725622874807 - QUAD $0x865b86925b9bc5c2 // .quad -8765264286586255934 - QUAD $0x0b8a2392ba45a9b3 // .quad 831516194300602803 - QUAD $0xa7f26836f282b732 // .quad -6344894339805432014 - QUAD $0x8e6cac7768d7141f // .quad -8183976793979022305 - QUAD $0xd1ef0244af2364ff // .quad -3319431906329402113 - QUAD $0x3207d795430cd927 // .quad 3605087062808385831 - QUAD $0x8335616aed761f1f // .quad -8992173969096958177 - QUAD $0x7f44e6bd49e807b9 // .quad 9170708441896323001 - QUAD $0xa402b9c5a8d3a6e7 // .quad -6628531442943809817 - QUAD $0x5f16206c9c6209a7 // .quad 6851699533943015847 - QUAD $0xcd036837130890a1 // .quad -3673978285252374367 - QUAD $0x36dba887c37a8c10 // .quad 3952938399001381904 - QUAD $0x802221226be55a64 // .quad -9213765455923815836 - QUAD $0xc2494954da2c978a // .quad -4446942528265218166 - QUAD $0xa02aa96b06deb0fd // .quad -6905520801477381891 - QUAD $0xf2db9baa10b7bd6d // .quad -946992141904134803 - QUAD $0xc83553c5c8965d3d // .quad -4020214983419339459 - QUAD $0x6f92829494e5acc8 // .quad 8039631859474607304 - QUAD $0xfa42a8b73abbf48c // .quad -413582710846786420 - QUAD $0xcb772339ba1f17fa // .quad -3785518230938904582 - QUAD $0x9c69a97284b578d7 // .quad -7176018221920323369 - QUAD $0xff2a760414536efc // .quad -60105885123121412 - QUAD $0xc38413cf25e2d70d // .quad -4358336758973016307 - QUAD $0xfef5138519684abb // .quad -75132356403901765 - QUAD $0xf46518c2ef5b8cd1 // .quad -836234930288882479 - QUAD $0x7eb258665fc25d6a // .quad 9129456591349898602 - QUAD $0x98bf2f79d5993802 // .quad -7440175859071633406 - QUAD $0xef2f773ffbd97a62 // .quad -1211618658047395230 - QUAD $0xbeeefb584aff8603 // .quad -4688533805412153853 - QUAD $0xaafb550ffacfd8fb // .quad -6126209340986631941 - QUAD $0xeeaaba2e5dbf6784 // .quad -1248981238337804412 - QUAD $0x95ba2a53f983cf39 // .quad -7657761676233289927 - QUAD $0x952ab45cfa97a0b2 // .quad -7698142301602209614 - QUAD $0xdd945a747bf26184 // .quad -2480258038432112252 - QUAD $0xba756174393d88df // .quad -5010991858575374113 - QUAD $0x94f971119aeef9e5 // .quad -7712008566467528219 - QUAD $0xe912b9d1478ceb17 // .quad -1652053804791829737 - QUAD $0x7a37cd5601aab85e // .quad 8806733365625141342 - QUAD $0x91abb422ccb812ee // .quad -7950062655635975442 - QUAD $0xac62e055c10ab33b // .quad -6025006692552756421 - QUAD $0xb616a12b7fe617aa // .quad -5325892301117581398 - QUAD $0x577b986b314d600a // .quad 6303799689591218186 - QUAD $0xe39c49765fdf9d94 // .quad -2045679357969588844 - QUAD $0xed5a7e85fda0b80c // .quad -1343622424865753076 - QUAD $0x8e41ade9fbebc27d // .quad -8196078626372074883 - QUAD $0x14588f13be847308 // .quad 1466078993672598280 - QUAD $0xb1d219647ae6b31c // .quad -5633412264537705700 - QUAD $0x596eb2d8ae258fc9 // .quad 6444284760518135753 - QUAD $0xde469fbd99a05fe3 // .quad -2430079312244744221 - QUAD $0x6fca5f8ed9aef3bc // .quad 8055355950647669692 - QUAD $0x8aec23d680043bee // .quad -8436328597794046994 - QUAD $0x25de7bb9480d5855 // .quad 2728754459941099605 - QUAD $0xada72ccc20054ae9 // .quad -5933724728815170839 - QUAD $0xaf561aa79a10ae6b // .quad -5812428961928401301 - QUAD $0xd910f7ff28069da4 // .quad -2805469892591575644 - QUAD $0x1b2ba1518094da05 // .quad 1957835834444274181 - QUAD $0x87aa9aff79042286 // .quad -8670947710510816634 - QUAD $0x90fb44d2f05d0843 // .quad -7999724640327104445 - QUAD $0xa99541bf57452b28 // .quad -6226998619711132888 - QUAD $0x353a1607ac744a54 // .quad 3835402254873283156 - QUAD $0xd3fa922f2d1675f2 // .quad -3172062256211528206 - QUAD $0x42889b8997915ce9 // .quad 4794252818591603945 - QUAD $0x847c9b5d7c2e09b7 // .quad -8900067937773286985 - QUAD $0x69956135febada12 // .quad 7608094030047140370 - QUAD $0xa59bc234db398c25 // .quad -6513398903789220827 - QUAD $0x43fab9837e699096 // .quad 4898431519131537558 - QUAD $0xcf02b2c21207ef2e // .quad -3530062611309138130 - QUAD $0x94f967e45e03f4bc // .quad -7712018656367741764 - QUAD $0x8161afb94b44f57d // .quad -9123818159709293187 - QUAD $0x1d1be0eebac278f6 // .quad 2097517367411243254 - QUAD $0xa1ba1ba79e1632dc // .quad -6793086681209228580 - QUAD $0x6462d92a69731733 // .quad 7233582727691441971 - QUAD $0xca28a291859bbf93 // .quad -3879672333084147821 - QUAD $0x7d7b8f7503cfdcff // .quad 9041978409614302463 - QUAD $0xfcb2cb35e702af78 // .quad -237904397927796872 - QUAD $0x5cda735244c3d43f // .quad 6690786993590490175 - QUAD $0x9defbf01b061adab // .quad -7066219276345954901 - QUAD $0x3a0888136afa64a8 // .quad 4181741870994056360 - QUAD $0xc56baec21c7a1916 // .quad -4221088077005055722 - QUAD $0x088aaa1845b8fdd1 // .quad 615491320315182545 - QUAD $0xf6c69a72a3989f5b // .quad -664674077828931749 - QUAD $0x8aad549e57273d46 // .quad -8454007886460797626 - QUAD $0x9a3c2087a63f6399 // .quad -7332950326284164199 - QUAD $0x36ac54e2f678864c // .quad 3939617107816777292 - QUAD $0xc0cb28a98fcf3c7f // .quad -4554501889427817345 - QUAD $0x84576a1bb416a7de // .quad -8910536670511192098 - QUAD $0xf0fdf2d3f3c30b9f // .quad -1081441343357383777 - QUAD $0x656d44a2a11c51d6 // .quad 7308573235570561494 - QUAD $0x969eb7c47859e743 // .quad -7593429867239446717 - QUAD $0x9f644ae5a4b1b326 // .quad -6961356773836868826 - QUAD $0xbc4665b596706114 // .quad -4880101315621920492 - QUAD $0x873d5d9f0dde1fef // .quad -8701695967296086033 - QUAD $0xeb57ff22fc0c7959 // .quad -1488440626100012711 - QUAD $0xa90cb506d155a7eb // .quad -6265433940692719637 - QUAD $0x9316ff75dd87cbd8 // .quad -7847804418953589800 - QUAD $0x09a7f12442d588f3 // .quad 695789805494438131 - QUAD $0xb7dcbf5354e9bece // .quad -5198069505264599346 - QUAD $0x0c11ed6d538aeb30 // .quad 869737256868047664 - QUAD $0xe5d3ef282a242e81 // .quad -1885900863153361279 - QUAD $0x8f1668c8a86da5fb // .quad -8136200465769716229 - QUAD $0x8fa475791a569d10 // .quad -8096217067111932656 - QUAD $0xf96e017d694487bd // .quad -473439272678684739 - QUAD $0xb38d92d760ec4455 // .quad -5508585315462527915 - QUAD $0x37c981dcc395a9ad // .quad 4019886927579031981 - QUAD $0xe070f78d3927556a // .quad -2274045625900771990 - QUAD $0x85bbe253f47b1418 // .quad -8810199395808373736 - QUAD $0x8c469ab843b89562 // .quad -8338807543829064350 - QUAD $0x93956d7478ccec8f // .quad -7812217631593927537 - QUAD $0xaf58416654a6babb // .quad -5811823411358942533 - QUAD $0x387ac8d1970027b3 // .quad 4069786015789754291 - QUAD $0xdb2e51bfe9d0696a // .quad -2653093245771290262 - QUAD $0x06997b05fcc0319f // .quad 475546501309804959 - QUAD $0x88fcf317f22241e2 // .quad -8575712306248138270 - QUAD $0x441fece3bdf81f04 // .quad 4908902581746016004 - QUAD $0xab3c2fddeeaad25a // .quad -6107954364382784934 - QUAD $0xd527e81cad7626c4 // .quad -3087243809672255804 - QUAD $0xd60b3bd56a5586f1 // .quad -3023256937051093263 - QUAD $0x8a71e223d8d3b075 // .quad -8470740780517707659 - QUAD $0x85c7056562757456 // .quad -8807064613298015146 - QUAD $0xf6872d5667844e4a // .quad -682526969396179382 - QUAD $0xa738c6bebb12d16c // .quad -6397144748195131028 - QUAD $0xb428f8ac016561dc // .quad -5464844730172612132 - QUAD $0xd106f86e69d785c7 // .quad -3384744916816525881 - QUAD $0xe13336d701beba53 // .quad -2219369894288377261 - QUAD $0x82a45b450226b39c // .quad -9032994600651410532 - QUAD $0xecc0024661173474 // .quad -1387106183930235788 - QUAD $0xa34d721642b06084 // .quad -6679557232386875260 - QUAD $0x27f002d7f95d0191 // .quad 2877803288514593169 - QUAD $0xcc20ce9bd35c78a5 // .quad -3737760522056206171 - QUAD $0x31ec038df7b441f5 // .quad 3597254110643241461 - QUAD $0xff290242c83396ce // .quad -60514634142869810 - QUAD $0x7e67047175a15272 // .quad 9108253656731439730 - QUAD $0x9f79a169bd203e41 // .quad -6955350673980375487 - QUAD $0x0f0062c6e984d387 // .quad 1080972517029761927 - QUAD $0xc75809c42c684dd1 // .quad -4082502324048081455 - QUAD $0x52c07b78a3e60869 // .quad 5962901664714590313 - QUAD $0xf92e0c3537826145 // .quad -491441886632713915 - QUAD $0xa7709a56ccdf8a83 // .quad -6381430974388925821 - QUAD $0x9bbcc7a142b17ccb // .quad -7224680206786528053 - QUAD $0x88a66076400bb692 // .quad -8600080377420466542 - QUAD $0xc2abf989935ddbfe // .quad -4419164240055772162 - QUAD $0x6acff893d00ea436 // .quad 7696643601933968438 - QUAD $0xf356f7ebf83552fe // .quad -912269281642327298 - QUAD $0x0583f6b8c4124d44 // .quad 397432465562684740 - QUAD $0x98165af37b2153de // .quad -7487697328667536418 - QUAD $0xc3727a337a8b704b // .quad -4363290727450709941 - QUAD $0xbe1bf1b059e9a8d6 // .quad -4747935642407032618 - QUAD $0x744f18c0592e4c5d // .quad 8380944645968776285 - QUAD $0xeda2ee1c7064130c // .quad -1323233534581402868 - QUAD $0x1162def06f79df74 // .quad 1252808770606194548 - QUAD $0x9485d4d1c63e8be7 // .quad -7744549986754458649 - QUAD $0x8addcb5645ac2ba9 // .quad -8440366555225904215 - QUAD $0xb9a74a0637ce2ee1 // .quad -5069001465015685407 - QUAD $0x6d953e2bd7173693 // .quad 7896285879677171347 - QUAD $0xe8111c87c5c1ba99 // .quad -1724565812842218855 - QUAD $0xc8fa8db6ccdd0438 // .quad -3964700705685699528 - QUAD $0x910ab1d4db9914a0 // .quad -7995382660667468640 - QUAD $0x1d9c9892400a22a3 // .quad 2133748077373825699 - QUAD $0xb54d5e4a127f59c8 // .quad -5382542307406947896 - QUAD $0x2503beb6d00cab4c // .quad 2667185096717282124 - QUAD $0xe2a0b5dc971f303a // .quad -2116491865831296966 - QUAD $0x2e44ae64840fd61e // .quad 3333981370896602654 - QUAD $0x8da471a9de737e24 // .quad -8240336443785642460 - QUAD $0x5ceaecfed289e5d3 // .quad 6695424375237764563 - QUAD $0xb10d8e1456105dad // .quad -5688734536304665171 - QUAD $0x7425a83e872c5f48 // .quad 8369280469047205704 - QUAD $0xdd50f1996b947518 // .quad -2499232151953443560 - QUAD $0xd12f124e28f7771a // .quad -3373457468973156582 - QUAD $0x8a5296ffe33cc92f // .quad -8479549122611984081 - QUAD $0x82bd6b70d99aaa70 // .quad -9025939945749304720 - QUAD $0xace73cbfdc0bfb7b // .quad -5987750384837592197 - QUAD $0x636cc64d1001550c // .quad 7164319141522920716 - QUAD $0xd8210befd30efa5a // .quad -2873001962619602342 - QUAD $0x3c47f7e05401aa4f // .quad 4343712908476262991 - QUAD $0x8714a775e3e95c78 // .quad -8713155254278333320 - QUAD $0x65acfaec34810a72 // .quad 7326506586225052274 - QUAD $0xa8d9d1535ce3b396 // .quad -6279758049420528746 - QUAD $0x7f1839a741a14d0e // .quad 9158133232781315342 - QUAD $0xd31045a8341ca07c // .quad -3238011543348273028 - QUAD $0x1ede48111209a051 // .quad 2224294504121868369 - QUAD $0x83ea2b892091e44d // .quad -8941286242233752499 - QUAD $0x934aed0aab460433 // .quad -7833187971778608077 - QUAD $0xa4e4b66b68b65d60 // .quad -6564921784364802720 - QUAD $0xf81da84d56178540 // .quad -568112927868484288 - QUAD $0xce1de40642e3f4b9 // .quad -3594466212028615495 - QUAD $0x36251260ab9d668f // .quad 3901544858591782543 - QUAD $0x80d2ae83e9ce78f3 // .quad -9164070410158966541 - QUAD $0xc1d72b7c6b42601a // .quad -4479063491021217766 - QUAD $0xa1075a24e4421730 // .quad -6843401994271320272 - QUAD $0xb24cf65b8612f820 // .quad -5598829363776522208 - QUAD $0xc94930ae1d529cfc // .quad -3942566474411762436 - QUAD $0xdee033f26797b628 // .quad -2386850686293264856 - QUAD $0xfb9b7cd9a4a7443c // .quad -316522074587315140 - QUAD $0x169840ef017da3b2 // .quad 1628122660560806834 - QUAD $0x9d412e0806e88aa5 // .quad -7115355324258153819 - QUAD $0x8e1f289560ee864f // .quad -8205795374004271537 - QUAD $0xc491798a08a2ad4e // .quad -4282508136895304370 - QUAD $0xf1a6f2bab92a27e3 // .quad -1033872180650563613 - QUAD $0xf5b5d7ec8acb58a2 // .quad -741449152691742558 - QUAD $0xae10af696774b1dc // .quad -5904026244240592420 - QUAD $0x9991a6f3d6bf1765 // .quad -7380934748073420955 - QUAD $0xacca6da1e0a8ef2a // .quad -5995859411864064214 - QUAD $0xbff610b0cc6edd3f // .quad -4614482416664388289 - QUAD $0x17fd090a58d32af4 // .quad 1728547772024695540 - QUAD $0xeff394dcff8a948e // .quad -1156417002403097458 - QUAD $0xddfc4b4cef07f5b1 // .quad -2451001303396518479 - QUAD $0x95f83d0a1fb69cd9 // .quad -7640289654143017767 - QUAD $0x4abdaf101564f98f // .quad 5385653213018257807 - QUAD $0xbb764c4ca7a4440f // .quad -4938676049251384305 - QUAD $0x9d6d1ad41abe37f2 // .quad -7102991539009341454 - QUAD $0xea53df5fd18d5513 // .quad -1561659043136842477 - QUAD $0x84c86189216dc5ee // .quad -8878739423761676818 - QUAD $0x92746b9be2f8552c // .quad -7893565929601608404 - QUAD $0x32fd3cf5b4e49bb5 // .quad 3674159897003727797 - QUAD $0xb7118682dbb66a77 // .quad -5255271393574622601 - QUAD $0x3fbc8c33221dc2a2 // .quad 4592699871254659746 - QUAD $0xe4d5e82392a40515 // .quad -1957403223540890347 - QUAD $0x0fabaf3feaa5334b // .quad 1129188820640936779 - QUAD $0x8f05b1163ba6832d // .quad -8140906042354138323 - QUAD $0x29cb4d87f2a7400f // .quad 3011586022114279439 - QUAD $0xb2c71d5bca9023f8 // .quad -5564446534515285000 - QUAD $0x743e20e9ef511013 // .quad 8376168546070237203 - QUAD $0xdf78e4b2bd342cf6 // .quad -2343872149716718346 - QUAD $0x914da9246b255417 // .quad -7976533391121755113 - QUAD $0x8bab8eefb6409c1a // .quad -8382449121214030822 - QUAD $0x1ad089b6c2f7548f // .quad 1932195658189984911 - QUAD $0xae9672aba3d0c320 // .quad -5866375383090150624 - QUAD $0xa184ac2473b529b2 // .quad -6808127464117294670 - QUAD $0xda3c0f568cc4f3e8 // .quad -2721283210435300376 - QUAD $0xc9e5d72d90a2741f // .quad -3898473311719230433 - QUAD $0x8865899617fb1871 // .quad -8618331034163144591 - QUAD $0x7e2fa67c7a658893 // .quad 9092669226243950739 - QUAD $0xaa7eebfb9df9de8d // .quad -6161227774276542835 - QUAD $0xddbb901b98feeab8 // .quad -2469221522477225288 - QUAD $0xd51ea6fa85785631 // .quad -3089848699418290639 - QUAD $0x552a74227f3ea566 // .quad 6136845133758244198 - QUAD $0x8533285c936b35de // .quad -8848684464777513506 - QUAD $0xd53a88958f872760 // .quad -3082000819042179232 - QUAD $0xa67ff273b8460356 // .quad -6449169562544503978 - QUAD $0x8a892abaf368f138 // .quad -8464187042230111944 - QUAD $0xd01fef10a657842c // .quad -3449775934753242068 - QUAD $0x2d2b7569b0432d86 // .quad 3254824252494523782 - QUAD $0x8213f56a67f6b29b // .quad -9073638986861858149 - QUAD $0x9c3b29620e29fc74 // .quad -7189106879045698444 - QUAD $0xa298f2c501f45f42 // .quad -6730362715149934782 - QUAD $0x8349f3ba91b47b90 // .quad -8986383598807123056 - QUAD $0xcb3f2f7642717713 // .quad -3801267375510030573 - QUAD $0x241c70a936219a74 // .quad 2602078556773259892 - QUAD $0xfe0efb53d30dd4d7 // .quad -139898200960150313 - QUAD $0xed238cd383aa0111 // .quad -1359087822460813039 - QUAD $0x9ec95d1463e8a506 // .quad -7004965403241175802 - QUAD $0xf4363804324a40ab // .quad -849429889038008149 - QUAD $0xc67bb4597ce2ce48 // .quad -4144520735624081848 - QUAD $0xb143c6053edcd0d6 // .quad -5673473379724898090 - QUAD $0xf81aa16fdc1b81da // .quad -568964901102714406 - QUAD $0xdd94b7868e94050b // .quad -2480155706228734709 - QUAD $0x9b10a4e5e9913128 // .quad -7273132090830278360 - QUAD $0xca7cf2b4191c8327 // .quad -3855940325606653145 - QUAD $0xc1d4ce1f63f57d72 // .quad -4479729095110460046 - QUAD $0xfd1c2f611f63a3f1 // .quad -208239388580928527 - QUAD $0xf24a01a73cf2dccf // .quad -987975350460687153 - QUAD $0xbc633b39673c8ced // .quad -4871985254153548563 - QUAD $0x976e41088617ca01 // .quad -7535013621679011327 - QUAD $0xd5be0503e085d814 // .quad -3044990783845967852 - QUAD $0xbd49d14aa79dbc82 // .quad -4807081008671376254 - QUAD $0x4b2d8644d8a74e19 // .quad 5417133557047315993 - QUAD $0xec9c459d51852ba2 // .quad -1397165242411832414 - QUAD $0xddf8e7d60ed1219f // .quad -2451955090545630817 - QUAD $0x93e1ab8252f33b45 // .quad -7790757304148477115 - QUAD $0xcabb90e5c942b504 // .quad -3838314940804713212 - QUAD $0xb8da1662e7b00a17 // .quad -5126760611758208489 - QUAD $0x3d6a751f3b936244 // .quad 4425478360848884292 - QUAD $0xe7109bfba19c0c9d // .quad -1796764746270372707 - QUAD $0x0cc512670a783ad5 // .quad 920161932633717461 - QUAD $0x906a617d450187e2 // .quad -8040506994060064798 - QUAD $0x27fb2b80668b24c6 // .quad 2880944217109767366 - QUAD $0xb484f9dc9641e9da // .quad -5438947724147693094 - QUAD $0xb1f9f660802dedf7 // .quad -5622191765467566601 - QUAD $0xe1a63853bbd26451 // .quad -2186998636757228463 - QUAD $0x5e7873f8a0396974 // .quad 6807318348447705460 - QUAD $0x8d07e33455637eb2 // .quad -8284403175614349646 - QUAD $0xdb0b487b6423e1e9 // .quad -2662955059861265943 - QUAD $0xb049dc016abc5e5f // .quad -5743817951090549153 - QUAD $0x91ce1a9a3d2cda63 // .quad -7940379843253970333 - QUAD $0xdc5c5301c56b75f7 // .quad -2568086420435798537 - QUAD $0x7641a140cc7810fc // .quad 8521269269642088700 - QUAD $0x89b9b3e11b6329ba // .quad -8522583040413455942 - QUAD $0xa9e904c87fcb0a9e // .quad -6203421752542164322 - QUAD $0xac2820d9623bf429 // .quad -6041542782089432023 - QUAD $0x546345fa9fbdcd45 // .quad 6080780864604458309 - QUAD $0xd732290fbacaf133 // .quad -2940242459184402125 - QUAD $0xa97c177947ad4096 // .quad -6234081974526590826 - QUAD $0x867f59a9d4bed6c0 // .quad -8755180564631333184 - QUAD $0x49ed8eabcccc485e // .quad 5327070802775656542 - QUAD $0xa81f301449ee8c70 // .quad -6332289687361778576 - QUAD $0x5c68f256bfff5a75 // .quad 6658838503469570677 - QUAD $0xd226fc195c6a2f8c // .quad -3303676090774835316 - QUAD $0x73832eec6fff3112 // .quad 8323548129336963346 - QUAD $0x83585d8fd9c25db7 // .quad -8982326584375353929 - QUAD $0xc831fd53c5ff7eac // .quad -4021154456019173716 - QUAD $0xa42e74f3d032f525 // .quad -6616222212041804507 - QUAD $0xba3e7ca8b77f5e56 // .quad -5026443070023967146 - QUAD $0xcd3a1230c43fb26f // .quad -3658591746624867729 - QUAD $0x28ce1bd2e55f35ec // .quad 2940318199324816876 - QUAD $0x80444b5e7aa7cf85 // .quad -9204148869281624187 - QUAD $0x7980d163cf5b81b4 // .quad 8755227902219092404 - QUAD $0xa0555e361951c366 // .quad -6893500068174642330 - QUAD $0xd7e105bcc3326220 // .quad -2891023177508298208 - QUAD $0xc86ab5c39fa63440 // .quad -4005189066790915008 - QUAD $0x8dd9472bf3fefaa8 // .quad -8225464990312760664 - QUAD $0xfa856334878fc150 // .quad -394800315061255856 - QUAD $0xb14f98f6f0feb952 // .quad -5670145219463562926 - QUAD $0x9c935e00d4b9d8d2 // .quad -7164279224554366766 - QUAD $0x6ed1bf9a569f33d4 // .quad 7985374283903742932 - QUAD $0xc3b8358109e84f07 // .quad -4343663012265570553 - QUAD $0x0a862f80ec4700c9 // .quad 758345818024902857 - QUAD $0xf4a642e14c6262c8 // .quad -817892746904575288 - QUAD $0xcd27bb612758c0fb // .quad -3663753745896259333 - QUAD $0x98e7e9cccfbd7dbd // .quad -7428711994456441411 - QUAD $0x8038d51cb897789d // .quad -9207375118826243939 - QUAD $0xbf21e44003acdd2c // .quad -4674203974643163860 - QUAD $0xe0470a63e6bd56c4 // .quad -2285846861678029116 - QUAD $0xeeea5d5004981478 // .quad -1231068949876566920 - QUAD $0x1858ccfce06cac75 // .quad 1754377441329851509 - QUAD $0x95527a5202df0ccb // .quad -7686947121313936181 - QUAD $0x0f37801e0c43ebc9 // .quad 1096485900831157193 - QUAD $0xbaa718e68396cffd // .quad -4996997883215032323 - QUAD $0xd30560258f54e6bb // .quad -3241078642388441413 - QUAD $0xe950df20247c83fd // .quad -1634561335591402499 - QUAD $0x47c6b82ef32a206a // .quad 5172023733869224042 - QUAD $0x91d28b7416cdd27e // .quad -7939129862385708418 - QUAD $0x4cdc331d57fa5442 // .quad 5538357842881958978 - QUAD $0xb6472e511c81471d // .quad -5312226309554747619 - QUAD $0xe0133fe4adf8e953 // .quad -2300424733252327085 - QUAD $0xe3d8f9e563a198e5 // .quad -2028596868516046619 - QUAD $0x58180fddd97723a7 // .quad 6347841120289366951 - QUAD $0x8e679c2f5e44ff8f // .quad -8185402070463610993 - QUAD $0x570f09eaa7ea7649 // .quad 6273243709394548297 - QUAD $0xb201833b35d63f73 // .quad -5620066569652125837 - QUAD $0x2cd2cc6551e513db // .quad 3229868618315797467 - QUAD $0xde81e40a034bcf4f // .quad -2413397193637769393 - QUAD $0xf8077f7ea65e58d2 // .quad -574350245532641070 - QUAD $0x8b112e86420f6191 // .quad -8425902273664687727 - QUAD $0xfb04afaf27faf783 // .quad -358968903457900669 - QUAD $0xadd57a27d29339f6 // .quad -5920691823653471754 - QUAD $0x79c5db9af1f9b564 // .quad 8774660907532399972 - QUAD $0xd94ad8b1c7380874 // .quad -2789178761139451788 - QUAD $0x18375281ae7822bd // .quad 1744954097560724157 - QUAD $0x87cec76f1c830548 // .quad -8660765753353239224 - QUAD $0x8f2293910d0b15b6 // .quad -8132775725879323210 - QUAD $0xa9c2794ae3a3c69a // .quad -6214271173264161126 - QUAD $0xb2eb3875504ddb23 // .quad -5554283638921766109 - QUAD $0xd433179d9c8cb841 // .quad -3156152948152813503 - QUAD $0x5fa60692a46151ec // .quad 6892203506629956076 - QUAD $0x849feec281d7f328 // .quad -8890124620236590296 - QUAD $0xdbc7c41ba6bcd334 // .quad -2609901835997359308 - QUAD $0xa5c7ea73224deff3 // .quad -6500969756868349965 - QUAD $0x12b9b522906c0801 // .quad 1349308723430688769 - QUAD $0xcf39e50feae16bef // .quad -3514526177658049553 - QUAD $0xd768226b34870a01 // .quad -2925050114139026943 - QUAD $0x81842f29f2cce375 // .quad -9114107888677362827 - QUAD $0xe6a1158300d46641 // .quad -1828156321336891839 - QUAD $0xa1e53af46f801c53 // .quad -6780948842419315629 - QUAD $0x60495ae3c1097fd1 // .quad 6938176635183661009 - QUAD $0xca5e89b18b602368 // .quad -3864500034596756632 - QUAD $0x385bb19cb14bdfc5 // .quad 4061034775552188357 - QUAD $0xfcf62c1dee382c42 // .quad -218939024818557886 - QUAD $0x46729e03dd9ed7b6 // .quad 5076293469440235446 - QUAD $0x9e19db92b4e31ba9 // .quad -7054365918152680535 - QUAD $0x6c07a2c26a8346d2 // .quad 7784369436827535058 - - // .p2align 4, 0x00 -_VecShiftShuffles: - QUAD $0x0706050403020100; QUAD $0x0f0e0d0c0b0a0908 // .ascii 16, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' - QUAD $0x0807060504030201; QUAD $0xff0f0e0d0c0b0a09 // .ascii 16, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' - QUAD $0x0908070605040302; QUAD $0xffff0f0e0d0c0b0a // .ascii 16, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' - QUAD $0x0a09080706050403; QUAD $0xffffff0f0e0d0c0b // .ascii 16, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' - QUAD $0x0b0a090807060504; QUAD $0xffffffff0f0e0d0c // .ascii 16, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' - QUAD $0x0c0b0a0908070605; QUAD $0xffffffffff0f0e0d // .ascii 16, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff' - QUAD $0x0d0c0b0a09080706; QUAD $0xffffffffffff0f0e // .ascii 16, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff' - QUAD $0x0e0d0c0b0a090807; QUAD $0xffffffffffffff0f // .ascii 16, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff' - QUAD $0x0f0e0d0c0b0a0908; QUAD $0xffffffffffffffff // .ascii 16, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' - - // .p2align 4, 0x00 -__SingleQuoteTab: - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000030303030755c // .asciz 8, '\\u0000\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000031303030755c // .asciz 8, '\\u0001\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000032303030755c // .asciz 8, '\\u0002\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000033303030755c // .asciz 8, '\\u0003\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000034303030755c // .asciz 8, '\\u0004\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000035303030755c // .asciz 8, '\\u0005\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000036303030755c // .asciz 8, '\\u0006\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000037303030755c // .asciz 8, '\\u0007\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000038303030755c // .asciz 8, '\\u0008\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x000000000000745c // .asciz 8, '\\t\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x0000000000006e5c // .asciz 8, '\\n\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000062303030755c // .asciz 8, '\\u000b\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000063303030755c // .asciz 8, '\\u000c\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x000000000000725c // .asciz 8, '\\r\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000065303030755c // .asciz 8, '\\u000e\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000066303030755c // .asciz 8, '\\u000f\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000030313030755c // .asciz 8, '\\u0010\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000031313030755c // .asciz 8, '\\u0011\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000032313030755c // .asciz 8, '\\u0012\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000033313030755c // .asciz 8, '\\u0013\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000034313030755c // .asciz 8, '\\u0014\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000035313030755c // .asciz 8, '\\u0015\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000036313030755c // .asciz 8, '\\u0016\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000037313030755c // .asciz 8, '\\u0017\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000038313030755c // .asciz 8, '\\u0018\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000039313030755c // .asciz 8, '\\u0019\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000061313030755c // .asciz 8, '\\u001a\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000062313030755c // .asciz 8, '\\u001b\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000063313030755c // .asciz 8, '\\u001c\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000064313030755c // .asciz 8, '\\u001d\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000065313030755c // .asciz 8, '\\u001e\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000066313030755c // .asciz 8, '\\u001f\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x000000000000225c // .asciz 8, '\\"\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x0000000000005c5c // .asciz 8, '\\\\\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -__DoubleQuoteTab: - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0030303030755c5c // .asciz 8, '\\\\u0000\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0031303030755c5c // .asciz 8, '\\\\u0001\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0032303030755c5c // .asciz 8, '\\\\u0002\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0033303030755c5c // .asciz 8, '\\\\u0003\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0034303030755c5c // .asciz 8, '\\\\u0004\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0035303030755c5c // .asciz 8, '\\\\u0005\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0036303030755c5c // .asciz 8, '\\\\u0006\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0037303030755c5c // .asciz 8, '\\\\u0007\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0038303030755c5c // .asciz 8, '\\\\u0008\x00' - QUAD $0x0000000000000003 // .quad 3 - QUAD $0x0000000000745c5c // .asciz 8, '\\\\t\x00\x00\x00\x00\x00' - QUAD $0x0000000000000003 // .quad 3 - QUAD $0x00000000006e5c5c // .asciz 8, '\\\\n\x00\x00\x00\x00\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0062303030755c5c // .asciz 8, '\\\\u000b\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0063303030755c5c // .asciz 8, '\\\\u000c\x00' - QUAD $0x0000000000000003 // .quad 3 - QUAD $0x0000000000725c5c // .asciz 8, '\\\\r\x00\x00\x00\x00\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0065303030755c5c // .asciz 8, '\\\\u000e\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0066303030755c5c // .asciz 8, '\\\\u000f\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0030313030755c5c // .asciz 8, '\\\\u0010\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0031313030755c5c // .asciz 8, '\\\\u0011\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0032313030755c5c // .asciz 8, '\\\\u0012\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0033313030755c5c // .asciz 8, '\\\\u0013\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0034313030755c5c // .asciz 8, '\\\\u0014\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0035313030755c5c // .asciz 8, '\\\\u0015\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0036313030755c5c // .asciz 8, '\\\\u0016\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0037313030755c5c // .asciz 8, '\\\\u0017\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0038313030755c5c // .asciz 8, '\\\\u0018\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0039313030755c5c // .asciz 8, '\\\\u0019\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0061313030755c5c // .asciz 8, '\\\\u001a\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0062313030755c5c // .asciz 8, '\\\\u001b\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0063313030755c5c // .asciz 8, '\\\\u001c\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0064313030755c5c // .asciz 8, '\\\\u001d\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0065313030755c5c // .asciz 8, '\\\\u001e\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0066313030755c5c // .asciz 8, '\\\\u001f\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000004 // .quad 4 - QUAD $0x00000000225c5c5c // .asciz 8, '\\\\\\"\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000004 // .quad 4 - QUAD $0x000000005c5c5c5c // .asciz 8, '\\\\\\\\\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -__EscTab: - QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .ascii 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' - QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .ascii 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' - QUAD $0x0000000000010000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; LONG $0x00000000; BYTE $0x01 // .ascii 13, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - WORD $0x0000; BYTE $0x00 // .space 3, '\x00\x00\x00' - - // .p2align 4, 0x00 -__UnquoteTab: - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000220000; QUAD $0x2f00000000000000 // .ascii 16, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000005c00000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00' - QUAD $0x000c000000080000; QUAD $0x000a000000000000 // .ascii 16, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00' - LONG $0x000d0000; WORD $0xff09 // .ascii 6, '\x00\x00\r\x00\t\xff' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; WORD $0x0000 // .space 10, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -__HtmlQuoteTab: - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000036323030755c // .asciz 8, '\\u0026\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000063333030755c // .asciz 8, '\\u003c\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000065333030755c // .asciz 8, '\\u003e\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000038323032755c // .asciz 8, '\\u2028\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000039323032755c // .asciz 8, '\\u2029\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -_LSHIFT_TAB: - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000 // .space 8, '\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000001 // .long 1 - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000001 // .long 1 - QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000001 // .long 1 - QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000002 // .long 2 - QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000002 // .long 2 - QUAD $0x0000000035323133; QUAD $0x0000000000000000 // .asciz 16, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000002 // .long 2 - QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000003 // .long 3 - QUAD $0x0000003532313837; QUAD $0x0000000000000000 // .asciz 16, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000003 // .long 3 - QUAD $0x0000353236303933; QUAD $0x0000000000000000 // .asciz 16, '390625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000003 // .long 3 - QUAD $0x0035323133353931; QUAD $0x0000000000000000 // .asciz 16, '1953125\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000004 // .long 4 - QUAD $0x0035323635363739; QUAD $0x0000000000000000 // .asciz 16, '9765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000004 // .long 4 - QUAD $0x3532313832383834; QUAD $0x0000000000000000 // .asciz 16, '48828125\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000004 // .long 4 - QUAD $0x3236303431343432; QUAD $0x0000000000000035 // .asciz 16, '244140625\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000004 // .long 4 - QUAD $0x3133303730323231; QUAD $0x0000000000003532 // .asciz 16, '1220703125\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000005 // .long 5 - QUAD $0x3635313533303136; QUAD $0x0000000000003532 // .asciz 16, '6103515625\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000005 // .long 5 - QUAD $0x3837353731353033; QUAD $0x0000000000353231 // .asciz 16, '30517578125\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000005 // .long 5 - QUAD $0x3938373835323531; QUAD $0x0000000035323630 // .asciz 16, '152587890625\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000006 // .long 6 - QUAD $0x3534393339323637; QUAD $0x0000000035323133 // .asciz 16, '762939453125\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000006 // .long 6 - QUAD $0x3237393634313833; QUAD $0x0000003532363536 // .asciz 16, '3814697265625\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000006 // .long 6 - QUAD $0x3638343337303931; QUAD $0x0000353231383233 // .asciz 16, '19073486328125\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000007 // .long 7 - QUAD $0x3133343736333539; QUAD $0x0000353236303436 // .asciz 16, '95367431640625\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000007 // .long 7 - QUAD $0x3531373338363734; QUAD $0x0035323133303238 // .asciz 16, '476837158203125\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000007 // .long 7 - QUAD $0x3735383134383332; QUAD $0x3532363531303139 // .asciz 16, '2384185791015625' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000007 // .long 7 - QUAD $0x3832393032393131; QUAD $0x3231383730353539 // .asciz 16, '1192092895507812' - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000008 // .long 8 - QUAD $0x3434363430363935; QUAD $0x3236303933353737 // .asciz 16, '5960464477539062' - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000008 // .long 8 - QUAD $0x3232333230383932; QUAD $0x3133353936373833 // .asciz 16, '2980232238769531' - QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000008 // .long 8 - QUAD $0x3136313130393431; QUAD $0x3536373438333931 // .asciz 16, '1490116119384765' - QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000009 // .long 9 - QUAD $0x3530383530353437; QUAD $0x3832383332393639 // .asciz 16, '7450580596923828' - QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000009 // .long 9 - QUAD $0x3230393235323733; QUAD $0x3431393136343839 // .asciz 16, '3725290298461914' - QUAD $0x0000000035323630; QUAD $0x0000000000000000 // .asciz 16, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000009 // .long 9 - QUAD $0x3135343632363831; QUAD $0x3735393033323934 // .asciz 16, '1862645149230957' - QUAD $0x0000003532313330; QUAD $0x0000000000000000 // .asciz 16, '03125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000a // .long 10 - QUAD $0x3735323233313339; QUAD $0x3538373435313634 // .asciz 16, '9313225746154785' - QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000a // .long 10 - QUAD $0x3832313636353634; QUAD $0x3239333737303337 // .asciz 16, '4656612873077392' - QUAD $0x0000353231383735; QUAD $0x0000000000000000 // .asciz 16, '578125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000a // .long 10 - QUAD $0x3436303338323332; QUAD $0x3639363833353633 // .asciz 16, '2328306436538696' - QUAD $0x0035323630393832; QUAD $0x0000000000000000 // .asciz 16, '2890625\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000a // .long 10 - QUAD $0x3233353134363131; QUAD $0x3834333936323831 // .asciz 16, '1164153218269348' - QUAD $0x3532313335343431; QUAD $0x0000000000000000 // .asciz 16, '14453125\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000b // .long 11 - QUAD $0x3036363730323835; QUAD $0x3034373634333139 // .asciz 16, '5820766091346740' - QUAD $0x3532363536323237; QUAD $0x0000000000000000 // .asciz 16, '72265625\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000b // .long 11 - QUAD $0x3033383330313932; QUAD $0x3037333337363534 // .asciz 16, '2910383045673370' - QUAD $0x3231383233313633; QUAD $0x0000000000000035 // .asciz 16, '361328125\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000b // .long 11 - QUAD $0x3531393135353431; QUAD $0x3538363633383232 // .asciz 16, '1455191522836685' - QUAD $0x3630343636303831; QUAD $0x0000000000003532 // .asciz 16, '1806640625\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000c // .long 12 - QUAD $0x3637353935373237; QUAD $0x3532343338313431 // .asciz 16, '7275957614183425' - QUAD $0x3133303233333039; QUAD $0x0000000000003532 // .asciz 16, '9033203125\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000c // .long 12 - QUAD $0x3838373937333633; QUAD $0x3231373139303730 // .asciz 16, '3637978807091712' - QUAD $0x3531303636313539; QUAD $0x0000000000353236 // .asciz 16, '95166015625\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000c // .long 12 - QUAD $0x3439383938313831; QUAD $0x3635383534353330 // .asciz 16, '1818989403545856' - QUAD $0x3730303338353734; QUAD $0x0000000035323138 // .asciz 16, '475830078125\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000d // .long 13 - QUAD $0x3037343934393039; QUAD $0x3238323932373731 // .asciz 16, '9094947017729282' - QUAD $0x3933303531393733; QUAD $0x0000000035323630 // .asciz 16, '379150390625\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000d // .long 13 - QUAD $0x3533373437343534; QUAD $0x3134363436383830 // .asciz 16, '4547473508864641' - QUAD $0x3931353735393831; QUAD $0x0000003532313335 // .asciz 16, '1895751953125\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000d // .long 13 - QUAD $0x3736333733373232; QUAD $0x3032333233343435 // .asciz 16, '2273736754432320' - QUAD $0x3935373837343935; QUAD $0x0000353236353637 // .asciz 16, '59478759765625\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000d // .long 13 - QUAD $0x3338363836333131; QUAD $0x3036313631323737 // .asciz 16, '1136868377216160' - QUAD $0x3937333933373932; QUAD $0x0035323138323838 // .asciz 16, '297393798828125\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000e // .long 14 - QUAD $0x3831343334383635; QUAD $0x3130383038303638 // .asciz 16, '5684341886080801' - QUAD $0x3939383639363834; QUAD $0x0035323630343134 // .asciz 16, '486968994140625\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000e // .long 14 - QUAD $0x3930373132343832; QUAD $0x3030343034303334 // .asciz 16, '2842170943040400' - QUAD $0x3934343834333437; QUAD $0x3532313330373037 // .asciz 16, '7434844970703125' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000e // .long 14 - QUAD $0x3435383031323431; QUAD $0x3030323032353137 // .asciz 16, '1421085471520200' - QUAD $0x3432323437313733; QUAD $0x3236353135333538 // .asciz 16, '3717422485351562' - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000f // .long 15 - QUAD $0x3337323435303137; QUAD $0x3130303130363735 // .asciz 16, '7105427357601001' - QUAD $0x3432313137383538; QUAD $0x3231383735373632 // .asciz 16, '8587112426757812' - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000f // .long 15 - QUAD $0x3633313732353533; QUAD $0x3030353030383837 // .asciz 16, '3552713678800500' - QUAD $0x3236353533393239; QUAD $0x3630393837333331 // .asciz 16, '9293556213378906' - QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000f // .long 15 - QUAD $0x3836353336373731; QUAD $0x3035323030343933 // .asciz 16, '1776356839400250' - QUAD $0x3138373736343634; QUAD $0x3335343938363630 // .asciz 16, '4646778106689453' - QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000010 // .long 16 - QUAD $0x3134383731383838; QUAD $0x3235323130303739 // .asciz 16, '8881784197001252' - QUAD $0x3530393833333233; QUAD $0x3536323734343333 // .asciz 16, '3233890533447265' - QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000010 // .long 16 - QUAD $0x3032393830343434; QUAD $0x3632363030353839 // .asciz 16, '4440892098500626' - QUAD $0x3235343936313631; QUAD $0x3233363332373636 // .asciz 16, '1616945266723632' - QUAD $0x0000000035323138; QUAD $0x0000000000000000 // .asciz 16, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000010 // .long 16 - QUAD $0x3036343430323232; QUAD $0x3331333035323934 // .asciz 16, '2220446049250313' - QUAD $0x3632373438303830; QUAD $0x3631383136333333 // .asciz 16, '0808472633361816' - QUAD $0x0000003532363034; QUAD $0x0000000000000000 // .asciz 16, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000010 // .long 16 - QUAD $0x3033323230313131; QUAD $0x3635313532363432 // .asciz 16, '1110223024625156' - QUAD $0x3336333234303435; QUAD $0x3830393038363631 // .asciz 16, '5404236316680908' - QUAD $0x0000353231333032; QUAD $0x0000000000000000 // .asciz 16, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000011 // .long 17 - QUAD $0x3135313131353535; QUAD $0x3238373532313332 // .asciz 16, '5551115123125782' - QUAD $0x3531383131323037; QUAD $0x3134353430343338 // .asciz 16, '7021181583404541' - QUAD $0x0000353236353130; QUAD $0x0000000000000000 // .asciz 16, '015625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000011 // .long 17 - QUAD $0x3537353535373732; QUAD $0x3139383236353136 // .asciz 16, '2775557561562891' - QUAD $0x3730393530313533; QUAD $0x3037323230373139 // .asciz 16, '3510590791702270' - QUAD $0x0035323138373035; QUAD $0x0000000000000000 // .asciz 16, '5078125\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000011 // .long 17 - QUAD $0x3738373737383331; QUAD $0x3534343138373038 // .asciz 16, '1387778780781445' - QUAD $0x3335393235353736; QUAD $0x3533313135383539 // .asciz 16, '6755295395851135' - QUAD $0x3532363039333532; QUAD $0x0000000000000000 // .asciz 16, '25390625\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000012 // .long 18 - QUAD $0x3933393838333936; QUAD $0x3832323730393330 // .asciz 16, '6938893903907228' - QUAD $0x3936373436373733; QUAD $0x3637363535323937 // .asciz 16, '3776476979255676' - QUAD $0x3532313335393632; QUAD $0x0000000000000000 // .asciz 16, '26953125\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000012 // .long 18 - QUAD $0x3936343439363433; QUAD $0x3431363335393135 // .asciz 16, '3469446951953614' - QUAD $0x3438333238383831; QUAD $0x3833383732363938 // .asciz 16, '1888238489627838' - QUAD $0x3236353637343331; QUAD $0x0000000000000035 // .asciz 16, '134765625\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000012 // .long 18 - QUAD $0x3433323734333731; QUAD $0x3730383637393537 // .asciz 16, '1734723475976807' - QUAD $0x3239313134343930; QUAD $0x3931393331383434 // .asciz 16, '0944119244813919' - QUAD $0x3138323833373630; QUAD $0x0000000000003532 // .asciz 16, '0673828125\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000013 // .long 19 - QUAD $0x3337313633373638; QUAD $0x3533303438383937 // .asciz 16, '8673617379884035' - QUAD $0x3236393530323734; QUAD $0x3539353936303432 // .asciz 16, '4720596224069595' - QUAD $0x3630343139363333; QUAD $0x0000000000003532 // .asciz 16, '3369140625\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -_P10_TAB: - QUAD $0x3ff0000000000000 // .quad 0x3ff0000000000000 - QUAD $0x4024000000000000 // .quad 0x4024000000000000 - QUAD $0x4059000000000000 // .quad 0x4059000000000000 - QUAD $0x408f400000000000 // .quad 0x408f400000000000 - QUAD $0x40c3880000000000 // .quad 0x40c3880000000000 - QUAD $0x40f86a0000000000 // .quad 0x40f86a0000000000 - QUAD $0x412e848000000000 // .quad 0x412e848000000000 - QUAD $0x416312d000000000 // .quad 0x416312d000000000 - QUAD $0x4197d78400000000 // .quad 0x4197d78400000000 - QUAD $0x41cdcd6500000000 // .quad 0x41cdcd6500000000 - QUAD $0x4202a05f20000000 // .quad 0x4202a05f20000000 - QUAD $0x42374876e8000000 // .quad 0x42374876e8000000 - QUAD $0x426d1a94a2000000 // .quad 0x426d1a94a2000000 - QUAD $0x42a2309ce5400000 // .quad 0x42a2309ce5400000 - QUAD $0x42d6bcc41e900000 // .quad 0x42d6bcc41e900000 - QUAD $0x430c6bf526340000 // .quad 0x430c6bf526340000 - QUAD $0x4341c37937e08000 // .quad 0x4341c37937e08000 - QUAD $0x4376345785d8a000 // .quad 0x4376345785d8a000 - QUAD $0x43abc16d674ec800 // .quad 0x43abc16d674ec800 - QUAD $0x43e158e460913d00 // .quad 0x43e158e460913d00 - QUAD $0x4415af1d78b58c40 // .quad 0x4415af1d78b58c40 - QUAD $0x444b1ae4d6e2ef50 // .quad 0x444b1ae4d6e2ef50 - QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592 - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -_LB_5bf8fe43: // _pow10_ceil_sig_f32.g - QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939 - QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270 - QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433 - QUAD $0xfd87b5f28300ca0e // .quad -177973607073265138 - QUAD $0x9e74d1b791e07e49 // .quad -7028762532061872567 - QUAD $0xc612062576589ddb // .quad -4174267146649952805 - QUAD $0xf79687aed3eec552 // .quad -606147914885053102 - QUAD $0x9abe14cd44753b53 // .quad -7296371474444240045 - QUAD $0xc16d9a0095928a28 // .quad -4508778324627912152 - QUAD $0xf1c90080baf72cb2 // .quad -1024286887357502286 - QUAD $0x971da05074da7bef // .quad -7557708332239520785 - QUAD $0xbce5086492111aeb // .quad -4835449396872013077 - QUAD $0xec1e4a7db69561a6 // .quad -1432625727662628442 - QUAD $0x9392ee8e921d5d08 // .quad -7812920107430224632 - QUAD $0xb877aa3236a4b44a // .quad -5154464115860392886 - QUAD $0xe69594bec44de15c // .quad -1831394126398103204 - QUAD $0x901d7cf73ab0acda // .quad -8062150356639896358 - QUAD $0xb424dc35095cd810 // .quad -5466001927372482544 - QUAD $0xe12e13424bb40e14 // .quad -2220816390788215276 - QUAD $0x8cbccc096f5088cc // .quad -8305539271883716404 - QUAD $0xafebff0bcb24aaff // .quad -5770238071427257601 - QUAD $0xdbe6fecebdedd5bf // .quad -2601111570856684097 - QUAD $0x89705f4136b4a598 // .quad -8543223759426509416 - QUAD $0xabcc77118461cefd // .quad -6067343680855748867 - QUAD $0xd6bf94d5e57a42bd // .quad -2972493582642298179 - QUAD $0x8637bd05af6c69b6 // .quad -8775337516792518218 - QUAD $0xa7c5ac471b478424 // .quad -6357485877563259868 - QUAD $0xd1b71758e219652c // .quad -3335171328526686932 - QUAD $0x83126e978d4fdf3c // .quad -9002011107970261188 - QUAD $0xa3d70a3d70a3d70b // .quad -6640827866535438581 - QUAD $0xcccccccccccccccd // .quad -3689348814741910323 - QUAD $0x8000000000000000 // .quad -9223372036854775808 - QUAD $0xa000000000000000 // .quad -6917529027641081856 - QUAD $0xc800000000000000 // .quad -4035225266123964416 - QUAD $0xfa00000000000000 // .quad -432345564227567616 - QUAD $0x9c40000000000000 // .quad -7187745005283311616 - QUAD $0xc350000000000000 // .quad -4372995238176751616 - QUAD $0xf424000000000000 // .quad -854558029293551616 - QUAD $0x9896800000000000 // .quad -7451627795949551616 - QUAD $0xbebc200000000000 // .quad -4702848726509551616 - QUAD $0xee6b280000000000 // .quad -1266874889709551616 - QUAD $0x9502f90000000000 // .quad -7709325833709551616 - QUAD $0xba43b74000000000 // .quad -5024971273709551616 - QUAD $0xe8d4a51000000000 // .quad -1669528073709551616 - QUAD $0x9184e72a00000000 // .quad -7960984073709551616 - QUAD $0xb5e620f480000000 // .quad -5339544073709551616 - QUAD $0xe35fa931a0000000 // .quad -2062744073709551616 - QUAD $0x8e1bc9bf04000000 // .quad -8206744073709551616 - QUAD $0xb1a2bc2ec5000000 // .quad -5646744073709551616 - QUAD $0xde0b6b3a76400000 // .quad -2446744073709551616 - QUAD $0x8ac7230489e80000 // .quad -8446744073709551616 - QUAD $0xad78ebc5ac620000 // .quad -5946744073709551616 - QUAD $0xd8d726b7177a8000 // .quad -2821744073709551616 - QUAD $0x878678326eac9000 // .quad -8681119073709551616 - QUAD $0xa968163f0a57b400 // .quad -6239712823709551616 - QUAD $0xd3c21bcecceda100 // .quad -3187955011209551616 - QUAD $0x84595161401484a0 // .quad -8910000909647051616 - QUAD $0xa56fa5b99019a5c8 // .quad -6525815118631426616 - QUAD $0xcecb8f27f4200f3a // .quad -3545582879861895366 - QUAD $0x813f3978f8940985 // .quad -9133518327554766459 - QUAD $0xa18f07d736b90be6 // .quad -6805211891016070170 - QUAD $0xc9f2c9cd04674edf // .quad -3894828845342699809 - QUAD $0xfc6f7c4045812297 // .quad -256850038250986857 - QUAD $0x9dc5ada82b70b59e // .quad -7078060301547948642 - QUAD $0xc5371912364ce306 // .quad -4235889358507547898 - QUAD $0xf684df56c3e01bc7 // .quad -683175679707046969 - QUAD $0x9a130b963a6c115d // .quad -7344513827457986211 - QUAD $0xc097ce7bc90715b4 // .quad -4568956265895094860 - QUAD $0xf0bdc21abb48db21 // .quad -1099509313941480671 - QUAD $0x96769950b50d88f5 // .quad -7604722348854507275 - QUAD $0xbc143fa4e250eb32 // .quad -4894216917640746190 - QUAD $0xeb194f8e1ae525fe // .quad -1506085128623544834 - QUAD $0x92efd1b8d0cf37bf // .quad -7858832233030797377 - QUAD $0xb7abc627050305ae // .quad -5211854272861108818 - QUAD $0xe596b7b0c643c71a // .quad -1903131822648998118 - QUAD $0x8f7e32ce7bea5c70 // .quad -8106986416796705680 - QUAD $0xb35dbf821ae4f38c // .quad -5522047002568494196 - -TEXT ·__f32toa(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -48(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_f32toa: - MOVQ out+0(FP), DI - MOVSD val+8(FP), X0 - CALL ·__native_entry__+31264(SB) // _f32toa - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__f64toa(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -80(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_f64toa: - MOVQ out+0(FP), DI - MOVSD val+8(FP), X0 - CALL ·__native_entry__+192(SB) // _f64toa - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__get_by_path(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -304(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_get_by_path: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ path+16(FP), DX - MOVQ m+24(FP), CX - CALL ·__native_entry__+25856(SB) // _get_by_path - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__html_escape(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -64(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_html_escape: - MOVQ sp+0(FP), DI - MOVQ nb+8(FP), SI - MOVQ dp+16(FP), DX - MOVQ dn+24(FP), CX - CALL ·__native_entry__+9040(SB) // _html_escape - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__i64toa(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -16(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_i64toa: - MOVQ out+0(FP), DI - MOVQ val+8(FP), SI - CALL ·__native_entry__+3488(SB) // _i64toa - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__lspace(SB), NOSPLIT | NOFRAME, $0 - 32 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -8(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_lspace: - MOVQ sp+0(FP), DI - MOVQ nb+8(FP), SI - MOVQ off+16(FP), DX - CALL ·__native_entry__+16(SB) // _lspace - MOVQ AX, ret+24(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__quote(SB), NOSPLIT | NOFRAME, $0 - 48 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -56(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_quote: - MOVQ sp+0(FP), DI - MOVQ nb+8(FP), SI - MOVQ dp+16(FP), DX - MOVQ dn+24(FP), CX - MOVQ flags+32(FP), R8 - CALL ·__native_entry__+4880(SB) // _quote - MOVQ AX, ret+40(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_array(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_array: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - MOVQ flags+24(FP), CX - CALL ·__native_entry__+17952(SB) // _skip_array - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_number(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -72(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_number: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - CALL ·__native_entry__+21952(SB) // _skip_number - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_object(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_object: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - MOVQ flags+24(FP), CX - CALL ·__native_entry__+20368(SB) // _skip_object - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_one(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_one: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - MOVQ flags+24(FP), CX - CALL ·__native_entry__+22112(SB) // _skip_one - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_one_fast(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -200(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_one_fast: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - CALL ·__native_entry__+22352(SB) // _skip_one_fast - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__u64toa(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -8(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_u64toa: - MOVQ out+0(FP), DI - MOVQ val+8(FP), SI - CALL ·__native_entry__+3600(SB) // _u64toa - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__unquote(SB), NOSPLIT | NOFRAME, $0 - 48 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -88(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_unquote: - MOVQ sp+0(FP), DI - MOVQ nb+8(FP), SI - MOVQ dp+16(FP), DX - MOVQ ep+24(FP), CX - MOVQ flags+32(FP), R8 - CALL ·__native_entry__+6672(SB) // _unquote - MOVQ AX, ret+40(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__validate_one(SB), NOSPLIT | NOFRAME, $0 - 32 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_validate_one: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - CALL ·__native_entry__+22176(SB) // _validate_one - MOVQ AX, ret+24(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__validate_utf8(SB), NOSPLIT | NOFRAME, $0 - 32 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -48(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_validate_utf8: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - CALL ·__native_entry__+30000(SB) // _validate_utf8 - MOVQ AX, ret+24(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__validate_utf8_fast(SB), NOSPLIT | NOFRAME, $0 - 16 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -24(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_validate_utf8_fast: - MOVQ s+0(FP), DI - CALL ·__native_entry__+30672(SB) // _validate_utf8_fast - MOVQ AX, ret+8(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__value(SB), NOSPLIT | NOFRAME, $0 - 48 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -328(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_value: - MOVQ s+0(FP), DI - MOVQ n+8(FP), SI - MOVQ p+16(FP), DX - MOVQ v+24(FP), CX - MOVQ flags+32(FP), R8 - CALL ·__native_entry__+12224(SB) // _value - MOVQ AX, ret+40(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__vnumber(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -240(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_vnumber: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ v+16(FP), DX - LEAQ ·__native_entry__+15616(SB), AX // _vnumber - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__vsigned(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -16(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_vsigned: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ v+16(FP), DX - LEAQ ·__native_entry__+17232(SB), AX // _vsigned - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__vstring(SB), NOSPLIT | NOFRAME, $0 - 32 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -136(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_vstring: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ v+16(FP), DX - MOVQ flags+24(FP), CX - LEAQ ·__native_entry__+14064(SB), AX // _vstring - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__vunsigned(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -16(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_vunsigned: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ v+16(FP), DX - LEAQ ·__native_entry__+17600(SB), AX // _vunsigned - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/native_export.go b/vendor/github.com/bytedance/sonic/internal/native/avx/native_export.go new file mode 100644 index 0000000..8b36a66 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/native_export.go @@ -0,0 +1,47 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + + +func Use() { + loader.WrapGoC(_text_f64toa, _cfunc_f64toa, []loader.GoC{{"_f64toa", &S_f64toa, &F_f64toa}}, "avx", "avx/f64toa.c") + loader.WrapGoC(_text_f32toa, _cfunc_f32toa, []loader.GoC{{"_f32toa", &S_f32toa, &F_f32toa}}, "avx", "avx/f32toa.c") + loader.WrapGoC(_text_get_by_path, _cfunc_get_by_path, []loader.GoC{{"_get_by_path", &S_get_by_path, &F_get_by_path}}, "avx", "avx/get_by_path.c") + loader.WrapGoC(_text_html_escape, _cfunc_html_escape, []loader.GoC{{"_html_escape", &S_html_escape, &F_html_escape}}, "avx", "avx/html_escape.c") + loader.WrapGoC(_text_i64toa, _cfunc_i64toa, []loader.GoC{{"_i64toa", &S_i64toa, &F_i64toa}}, "avx", "avx/i64toa.c") + loader.WrapGoC(_text_lspace, _cfunc_lspace, []loader.GoC{{"_lspace", &S_lspace, &F_lspace}}, "avx", "avx/lspace.c") + loader.WrapGoC(_text_quote, _cfunc_quote, []loader.GoC{{"_quote", &S_quote, &F_quote}}, "avx", "avx/quote.c") + loader.WrapGoC(_text_skip_array, _cfunc_skip_array, []loader.GoC{{"_skip_array", &S_skip_array, &F_skip_array}}, "avx", "avx/skip_array.c") + loader.WrapGoC(_text_skip_number, _cfunc_skip_number, []loader.GoC{{"_skip_number", &S_skip_number, &F_skip_number}}, "avx", "avx/skip_number.c") + loader.WrapGoC(_text_skip_one, _cfunc_skip_one, []loader.GoC{{"_skip_one", &S_skip_one, &F_skip_one}}, "avx", "avx/skip_one.c") + loader.WrapGoC(_text_skip_object, _cfunc_skip_object, []loader.GoC{{"_skip_object", &S_skip_object, &F_skip_object}}, "avx", "avx/skip_object.c") + loader.WrapGoC(_text_skip_one_fast, _cfunc_skip_one_fast, []loader.GoC{{"_skip_one_fast", &S_skip_one_fast, &F_skip_one_fast}}, "avx", "avx/skip_one_fast.c") + loader.WrapGoC(_text_u64toa, _cfunc_u64toa, []loader.GoC{{"_u64toa", &S_u64toa, &F_u64toa}}, "avx", "avx/u64toa.c") + loader.WrapGoC(_text_unquote, _cfunc_unquote, []loader.GoC{{"_unquote", &S_unquote, &F_unquote}}, "avx", "avx/unquote.c") + loader.WrapGoC(_text_validate_one, _cfunc_validate_one, []loader.GoC{{"_validate_one", &S_validate_one, &F_validate_one}}, "avx", "avx/validate_one.c") + loader.WrapGoC(_text_validate_utf8, _cfunc_validate_utf8, []loader.GoC{{"_validate_utf8", &S_validate_utf8, &F_validate_utf8}}, "avx", "avx/validate_utf8.c") + loader.WrapGoC(_text_validate_utf8_fast, _cfunc_validate_utf8_fast, []loader.GoC{{"_validate_utf8_fast", &S_validate_utf8_fast, &F_validate_utf8_fast}}, "avx", "avx/validate_utf8_fast.c") + loader.WrapGoC(_text_vnumber, _cfunc_vnumber, []loader.GoC{{"_vnumber", &S_vnumber, &F_vnumber}}, "avx", "avx/vnumber.c") + loader.WrapGoC(_text_vsigned, _cfunc_vsigned, []loader.GoC{{"_vsigned", &S_vsigned, &F_vsigned}}, "avx", "avx/vsigned.c") + loader.WrapGoC(_text_vunsigned, _cfunc_vunsigned, []loader.GoC{{"_vunsigned", &S_vunsigned, &F_vunsigned}}, "avx", "avx/vunsigned.c") + loader.WrapGoC(_text_vstring, _cfunc_vstring, []loader.GoC{{"_vstring", &S_vstring, &F_vstring}}, "avx", "avx/vstring.c") + loader.WrapGoC(_text_value, _cfunc_value, []loader.GoC{{"_value", &S_value, &F_value}}, "avx", "avx/value.c") +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/native_subr_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/native_subr_amd64.go deleted file mode 100644 index f20095d..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/avx/native_subr_amd64.go +++ /dev/null @@ -1,109 +0,0 @@ -// +build !noasm !appengine -// Code generated by asm2asm, DO NOT EDIT. - -package avx - -//go:nosplit -//go:noescape -//goland:noinspection ALL -func __native_entry__() uintptr - -var ( - _subr__f32toa = __native_entry__() + 31264 - _subr__f64toa = __native_entry__() + 192 - _subr__get_by_path = __native_entry__() + 25856 - _subr__html_escape = __native_entry__() + 9040 - _subr__i64toa = __native_entry__() + 3488 - _subr__lspace = __native_entry__() + 16 - _subr__quote = __native_entry__() + 4880 - _subr__skip_array = __native_entry__() + 17952 - _subr__skip_number = __native_entry__() + 21952 - _subr__skip_object = __native_entry__() + 20368 - _subr__skip_one = __native_entry__() + 22112 - _subr__skip_one_fast = __native_entry__() + 22352 - _subr__u64toa = __native_entry__() + 3600 - _subr__unquote = __native_entry__() + 6672 - _subr__validate_one = __native_entry__() + 22176 - _subr__validate_utf8 = __native_entry__() + 30000 - _subr__validate_utf8_fast = __native_entry__() + 30672 - _subr__value = __native_entry__() + 12224 - _subr__vnumber = __native_entry__() + 15616 - _subr__vsigned = __native_entry__() + 17232 - _subr__vstring = __native_entry__() + 14064 - _subr__vunsigned = __native_entry__() + 17600 -) - -const ( - _stack__f32toa = 48 - _stack__f64toa = 80 - _stack__get_by_path = 304 - _stack__html_escape = 64 - _stack__i64toa = 16 - _stack__lspace = 8 - _stack__quote = 56 - _stack__skip_array = 128 - _stack__skip_number = 72 - _stack__skip_object = 128 - _stack__skip_one = 128 - _stack__skip_one_fast = 200 - _stack__u64toa = 8 - _stack__unquote = 88 - _stack__validate_one = 128 - _stack__validate_utf8 = 48 - _stack__validate_utf8_fast = 24 - _stack__value = 328 - _stack__vnumber = 240 - _stack__vsigned = 16 - _stack__vstring = 136 - _stack__vunsigned = 16 -) - -var ( - _ = _subr__f32toa - _ = _subr__f64toa - _ = _subr__get_by_path - _ = _subr__html_escape - _ = _subr__i64toa - _ = _subr__lspace - _ = _subr__quote - _ = _subr__skip_array - _ = _subr__skip_number - _ = _subr__skip_object - _ = _subr__skip_one - _ = _subr__skip_one_fast - _ = _subr__u64toa - _ = _subr__unquote - _ = _subr__validate_one - _ = _subr__validate_utf8 - _ = _subr__validate_utf8_fast - _ = _subr__value - _ = _subr__vnumber - _ = _subr__vsigned - _ = _subr__vstring - _ = _subr__vunsigned -) - -const ( - _ = _stack__f32toa - _ = _stack__f64toa - _ = _stack__get_by_path - _ = _stack__html_escape - _ = _stack__i64toa - _ = _stack__lspace - _ = _stack__quote - _ = _stack__skip_array - _ = _stack__skip_number - _ = _stack__skip_object - _ = _stack__skip_one - _ = _stack__skip_one_fast - _ = _stack__u64toa - _ = _stack__unquote - _ = _stack__validate_one - _ = _stack__validate_utf8 - _ = _stack__validate_utf8_fast - _ = _stack__value - _ = _stack__vnumber - _ = _stack__vsigned - _ = _stack__vstring - _ = _stack__vunsigned -) diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/quote.go b/vendor/github.com/bytedance/sonic/internal/native/avx/quote.go new file mode 100644 index 0000000..06a51fd --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/quote.go @@ -0,0 +1,35 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) +var F_quote func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer, flags uint64) (ret int) + +var S_quote uintptr + +//go:nosplit +func quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int) { + return F_quote(rt.NoEscape(sp), nb, rt.NoEscape(dp), rt.NoEscape(unsafe.Pointer(dn)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/quote_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/quote_subr.go new file mode 100644 index 0000000..e9b6e90 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/quote_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__quote = 48 +) + +const ( + _stack__quote = 56 +) + +const ( + _size__quote = 1696 +) + +var ( + _pcsp__quote = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {1649, 56}, + {1653, 48}, + {1654, 40}, + {1656, 32}, + {1658, 24}, + {1660, 16}, + {1662, 8}, + {1663, 0}, + {1690, 56}, + } +) + +var _cfunc_quote = []loader.CFunc{ + {"_quote_entry", 0, _entry__quote, 0, nil}, + {"_quote", _entry__quote, _size__quote, _stack__quote, _pcsp__quote}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/quote_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/quote_text_amd64.go new file mode 100644 index 0000000..dd8098e --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/quote_text_amd64.go @@ -0,0 +1,1085 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_quote = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000010 LCPI0_1 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000010 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000020 LCPI0_2 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000020 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000030 .p2align 4, 0x90 + //0x00000030 _quote + 0x55, //0x00000030 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000031 movq %rsp, %rbp + 0x41, 0x57, //0x00000034 pushq %r15 + 0x41, 0x56, //0x00000036 pushq %r14 + 0x41, 0x55, //0x00000038 pushq %r13 + 0x41, 0x54, //0x0000003a pushq %r12 + 0x53, //0x0000003c pushq %rbx + 0x50, //0x0000003d pushq %rax + 0x49, 0x89, 0xcb, //0x0000003e movq %rcx, %r11 + 0x49, 0x89, 0xd4, //0x00000041 movq %rdx, %r12 + 0x48, 0x89, 0xf0, //0x00000044 movq %rsi, %rax + 0x4c, 0x8b, 0x31, //0x00000047 movq (%rcx), %r14 + 0x41, 0xf6, 0xc0, 0x01, //0x0000004a testb $1, %r8b + 0x48, 0x8d, 0x0d, 0x7b, 0x06, 0x00, 0x00, //0x0000004e leaq $1659(%rip), %rcx /* __SingleQuoteTab+0(%rip) */ + 0x4c, 0x8d, 0x05, 0x74, 0x16, 0x00, 0x00, //0x00000055 leaq $5748(%rip), %r8 /* __DoubleQuoteTab+0(%rip) */ + 0x4c, 0x0f, 0x44, 0xc1, //0x0000005c cmoveq %rcx, %r8 + 0x48, 0x8d, 0x0c, 0xf5, 0x00, 0x00, 0x00, 0x00, //0x00000060 leaq (,%rsi,8), %rcx + 0x49, 0x39, 0xce, //0x00000068 cmpq %rcx, %r14 + 0x0f, 0x8d, 0xe1, 0x03, 0x00, 0x00, //0x0000006b jge LBB0_51 + 0x4d, 0x89, 0xe7, //0x00000071 movq %r12, %r15 + 0x49, 0x89, 0xfa, //0x00000074 movq %rdi, %r10 + 0x48, 0x85, 0xc0, //0x00000077 testq %rax, %rax + 0x0f, 0x84, 0xc4, 0x03, 0x00, 0x00, //0x0000007a je LBB0_74 + 0xc5, 0xfa, 0x6f, 0x05, 0x78, 0xff, 0xff, 0xff, //0x00000080 vmovdqu $-136(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0x80, 0xff, 0xff, 0xff, //0x00000088 vmovdqu $-128(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0x88, 0xff, 0xff, 0xff, //0x00000090 vmovdqu $-120(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0xc5, 0xe1, 0x76, 0xdb, //0x00000098 vpcmpeqd %xmm3, %xmm3, %xmm3 + 0x49, 0x89, 0xfa, //0x0000009c movq %rdi, %r10 + 0x4d, 0x89, 0xe7, //0x0000009f movq %r12, %r15 + 0x4c, 0x89, 0x65, 0xd0, //0x000000a2 movq %r12, $-48(%rbp) + //0x000000a6 LBB0_3 + 0x4c, 0x89, 0xda, //0x000000a6 movq %r11, %rdx + 0x48, 0x83, 0xf8, 0x0f, //0x000000a9 cmpq $15, %rax + 0x41, 0x0f, 0x9f, 0xc3, //0x000000ad setg %r11b + 0x4d, 0x89, 0xf1, //0x000000b1 movq %r14, %r9 + 0x4d, 0x89, 0xfd, //0x000000b4 movq %r15, %r13 + 0x48, 0x89, 0xc6, //0x000000b7 movq %rax, %rsi + 0x4d, 0x89, 0xd4, //0x000000ba movq %r10, %r12 + 0x49, 0x83, 0xfe, 0x10, //0x000000bd cmpq $16, %r14 + 0x0f, 0x8c, 0x89, 0x00, 0x00, 0x00, //0x000000c1 jl LBB0_9 + 0x48, 0x83, 0xf8, 0x10, //0x000000c7 cmpq $16, %rax + 0x0f, 0x8c, 0x7f, 0x00, 0x00, 0x00, //0x000000cb jl LBB0_9 + 0x4d, 0x89, 0xd4, //0x000000d1 movq %r10, %r12 + 0x48, 0x89, 0xc6, //0x000000d4 movq %rax, %rsi + 0x4d, 0x89, 0xfd, //0x000000d7 movq %r15, %r13 + 0x4c, 0x89, 0xf3, //0x000000da movq %r14, %rbx + 0x90, 0x90, 0x90, //0x000000dd .p2align 4, 0x90 + //0x000000e0 LBB0_6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x24, 0x24, //0x000000e0 vmovdqu (%r12), %xmm4 + 0xc5, 0xf9, 0x64, 0xec, //0x000000e6 vpcmpgtb %xmm4, %xmm0, %xmm5 + 0xc5, 0xd9, 0x74, 0xf1, //0x000000ea vpcmpeqb %xmm1, %xmm4, %xmm6 + 0xc5, 0xd9, 0x74, 0xfa, //0x000000ee vpcmpeqb %xmm2, %xmm4, %xmm7 + 0xc5, 0xc1, 0xeb, 0xf6, //0x000000f2 vpor %xmm6, %xmm7, %xmm6 + 0xc4, 0xc1, 0x7a, 0x7f, 0x65, 0x00, //0x000000f6 vmovdqu %xmm4, (%r13) + 0xc5, 0xd9, 0x64, 0xe3, //0x000000fc vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xe5, //0x00000100 vpand %xmm5, %xmm4, %xmm4 + 0xc5, 0xc9, 0xeb, 0xe4, //0x00000104 vpor %xmm4, %xmm6, %xmm4 + 0xc5, 0xf9, 0xd7, 0xcc, //0x00000108 vpmovmskb %xmm4, %ecx + 0x66, 0x85, 0xc9, //0x0000010c testw %cx, %cx + 0x0f, 0x85, 0x20, 0x01, 0x00, 0x00, //0x0000010f jne LBB0_19 + 0x49, 0x83, 0xc4, 0x10, //0x00000115 addq $16, %r12 + 0x49, 0x83, 0xc5, 0x10, //0x00000119 addq $16, %r13 + 0x4c, 0x8d, 0x4b, 0xf0, //0x0000011d leaq $-16(%rbx), %r9 + 0x48, 0x83, 0xfe, 0x1f, //0x00000121 cmpq $31, %rsi + 0x41, 0x0f, 0x9f, 0xc3, //0x00000125 setg %r11b + 0x48, 0x83, 0xfe, 0x20, //0x00000129 cmpq $32, %rsi + 0x48, 0x8d, 0x76, 0xf0, //0x0000012d leaq $-16(%rsi), %rsi + 0x0f, 0x8c, 0x19, 0x00, 0x00, 0x00, //0x00000131 jl LBB0_9 + 0x48, 0x83, 0xfb, 0x1f, //0x00000137 cmpq $31, %rbx + 0x4c, 0x89, 0xcb, //0x0000013b movq %r9, %rbx + 0x0f, 0x8f, 0x9c, 0xff, 0xff, 0xff, //0x0000013e jg LBB0_6 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000144 .p2align 4, 0x90 + //0x00000150 LBB0_9 + 0x45, 0x84, 0xdb, //0x00000150 testb %r11b, %r11b + 0x0f, 0x84, 0x68, 0x00, 0x00, 0x00, //0x00000153 je LBB0_13 + 0xc4, 0xc1, 0x7a, 0x6f, 0x24, 0x24, //0x00000159 vmovdqu (%r12), %xmm4 + 0xc5, 0xf9, 0x64, 0xec, //0x0000015f vpcmpgtb %xmm4, %xmm0, %xmm5 + 0xc5, 0xd9, 0x74, 0xf1, //0x00000163 vpcmpeqb %xmm1, %xmm4, %xmm6 + 0xc5, 0xd9, 0x74, 0xfa, //0x00000167 vpcmpeqb %xmm2, %xmm4, %xmm7 + 0xc5, 0xc1, 0xeb, 0xf6, //0x0000016b vpor %xmm6, %xmm7, %xmm6 + 0xc5, 0xd9, 0x64, 0xfb, //0x0000016f vpcmpgtb %xmm3, %xmm4, %xmm7 + 0xc5, 0xc1, 0xdb, 0xed, //0x00000173 vpand %xmm5, %xmm7, %xmm5 + 0xc5, 0xc9, 0xeb, 0xed, //0x00000177 vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x0000017b vpmovmskb %xmm5, %ecx + 0x81, 0xc9, 0x00, 0x00, 0x01, 0x00, //0x0000017f orl $65536, %ecx + 0x44, 0x0f, 0xbc, 0xd9, //0x00000185 bsfl %ecx, %r11d + 0xc4, 0xe1, 0xf9, 0x7e, 0xe1, //0x00000189 vmovq %xmm4, %rcx + 0x4d, 0x39, 0xd9, //0x0000018e cmpq %r11, %r9 + 0x0f, 0x8d, 0xb0, 0x00, 0x00, 0x00, //0x00000191 jge LBB0_20 + 0x49, 0x83, 0xf9, 0x08, //0x00000197 cmpq $8, %r9 + 0x0f, 0x82, 0xdb, 0x00, 0x00, 0x00, //0x0000019b jb LBB0_23 + 0x49, 0x89, 0x4d, 0x00, //0x000001a1 movq %rcx, (%r13) + 0x4d, 0x8d, 0x5c, 0x24, 0x08, //0x000001a5 leaq $8(%r12), %r11 + 0x49, 0x83, 0xc5, 0x08, //0x000001aa addq $8, %r13 + 0x49, 0x8d, 0x71, 0xf8, //0x000001ae leaq $-8(%r9), %rsi + 0x48, 0x83, 0xfe, 0x04, //0x000001b2 cmpq $4, %rsi + 0x0f, 0x8d, 0xd0, 0x00, 0x00, 0x00, //0x000001b6 jge LBB0_24 + 0xe9, 0xde, 0x00, 0x00, 0x00, //0x000001bc jmp LBB0_25 + //0x000001c1 LBB0_13 + 0x4d, 0x85, 0xc9, //0x000001c1 testq %r9, %r9 + 0x49, 0x89, 0xd3, //0x000001c4 movq %rdx, %r11 + 0x0f, 0x8e, 0x57, 0x00, 0x00, 0x00, //0x000001c7 jle LBB0_18 + 0x48, 0x85, 0xf6, //0x000001cd testq %rsi, %rsi + 0x0f, 0x8e, 0x4e, 0x00, 0x00, 0x00, //0x000001d0 jle LBB0_18 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001d6 .p2align 4, 0x90 + //0x000001e0 LBB0_15 + 0x41, 0x0f, 0xb6, 0x1c, 0x24, //0x000001e0 movzbl (%r12), %ebx + 0x48, 0x89, 0xd9, //0x000001e5 movq %rbx, %rcx + 0x48, 0xc1, 0xe1, 0x04, //0x000001e8 shlq $4, %rcx + 0x48, 0x8d, 0x15, 0xdd, 0x04, 0x00, 0x00, //0x000001ec leaq $1245(%rip), %rdx /* __SingleQuoteTab+0(%rip) */ + 0x48, 0x83, 0x3c, 0x11, 0x00, //0x000001f3 cmpq $0, (%rcx,%rdx) + 0x0f, 0x85, 0x73, 0x00, 0x00, 0x00, //0x000001f8 jne LBB0_22 + 0x49, 0xff, 0xc4, //0x000001fe incq %r12 + 0x41, 0x88, 0x5d, 0x00, //0x00000201 movb %bl, (%r13) + 0x48, 0x83, 0xfe, 0x02, //0x00000205 cmpq $2, %rsi + 0x48, 0x8d, 0x76, 0xff, //0x00000209 leaq $-1(%rsi), %rsi + 0x0f, 0x8c, 0x11, 0x00, 0x00, 0x00, //0x0000020d jl LBB0_18 + 0x49, 0xff, 0xc5, //0x00000213 incq %r13 + 0x49, 0x83, 0xf9, 0x01, //0x00000216 cmpq $1, %r9 + 0x4d, 0x8d, 0x49, 0xff, //0x0000021a leaq $-1(%r9), %r9 + 0x0f, 0x8f, 0xbc, 0xff, 0xff, 0xff, //0x0000021e jg LBB0_15 + //0x00000224 LBB0_18 + 0x4d, 0x29, 0xd4, //0x00000224 subq %r10, %r12 + 0x48, 0xf7, 0xde, //0x00000227 negq %rsi + 0x4d, 0x19, 0xc9, //0x0000022a sbbq %r9, %r9 + 0x4d, 0x31, 0xe1, //0x0000022d xorq %r12, %r9 + 0xe9, 0x1e, 0x01, 0x00, 0x00, //0x00000230 jmp LBB0_36 + //0x00000235 LBB0_19 + 0x0f, 0xb7, 0xc9, //0x00000235 movzwl %cx, %ecx + 0x4d, 0x29, 0xd4, //0x00000238 subq %r10, %r12 + 0x44, 0x0f, 0xbc, 0xc9, //0x0000023b bsfl %ecx, %r9d + 0x4d, 0x01, 0xe1, //0x0000023f addq %r12, %r9 + 0xe9, 0x09, 0x01, 0x00, 0x00, //0x00000242 jmp LBB0_35 + //0x00000247 LBB0_20 + 0x41, 0x83, 0xfb, 0x08, //0x00000247 cmpl $8, %r11d + 0x0f, 0x82, 0x99, 0x00, 0x00, 0x00, //0x0000024b jb LBB0_29 + 0x49, 0x89, 0x4d, 0x00, //0x00000251 movq %rcx, (%r13) + 0x49, 0x8d, 0x5c, 0x24, 0x08, //0x00000255 leaq $8(%r12), %rbx + 0x49, 0x83, 0xc5, 0x08, //0x0000025a addq $8, %r13 + 0x49, 0x8d, 0x73, 0xf8, //0x0000025e leaq $-8(%r11), %rsi + 0x48, 0x83, 0xfe, 0x04, //0x00000262 cmpq $4, %rsi + 0x0f, 0x8d, 0x8e, 0x00, 0x00, 0x00, //0x00000266 jge LBB0_30 + 0xe9, 0x9b, 0x00, 0x00, 0x00, //0x0000026c jmp LBB0_31 + //0x00000271 LBB0_22 + 0x4d, 0x29, 0xd4, //0x00000271 subq %r10, %r12 + 0x4d, 0x89, 0xe1, //0x00000274 movq %r12, %r9 + 0xe9, 0xd7, 0x00, 0x00, 0x00, //0x00000277 jmp LBB0_36 + //0x0000027c LBB0_23 + 0x4d, 0x89, 0xe3, //0x0000027c movq %r12, %r11 + 0x4c, 0x89, 0xce, //0x0000027f movq %r9, %rsi + 0x48, 0x83, 0xfe, 0x04, //0x00000282 cmpq $4, %rsi + 0x0f, 0x8c, 0x13, 0x00, 0x00, 0x00, //0x00000286 jl LBB0_25 + //0x0000028c LBB0_24 + 0x41, 0x8b, 0x0b, //0x0000028c movl (%r11), %ecx + 0x41, 0x89, 0x4d, 0x00, //0x0000028f movl %ecx, (%r13) + 0x49, 0x83, 0xc3, 0x04, //0x00000293 addq $4, %r11 + 0x49, 0x83, 0xc5, 0x04, //0x00000297 addq $4, %r13 + 0x48, 0x83, 0xc6, 0xfc, //0x0000029b addq $-4, %rsi + //0x0000029f LBB0_25 + 0x48, 0x83, 0xfe, 0x02, //0x0000029f cmpq $2, %rsi + 0x0f, 0x82, 0x23, 0x00, 0x00, 0x00, //0x000002a3 jb LBB0_26 + 0x41, 0x0f, 0xb7, 0x0b, //0x000002a9 movzwl (%r11), %ecx + 0x66, 0x41, 0x89, 0x4d, 0x00, //0x000002ad movw %cx, (%r13) + 0x49, 0x83, 0xc3, 0x02, //0x000002b2 addq $2, %r11 + 0x49, 0x83, 0xc5, 0x02, //0x000002b6 addq $2, %r13 + 0x48, 0x83, 0xc6, 0xfe, //0x000002ba addq $-2, %rsi + 0x48, 0x85, 0xf6, //0x000002be testq %rsi, %rsi + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000002c1 jne LBB0_27 + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x000002c7 jmp LBB0_28 + //0x000002cc LBB0_26 + 0x48, 0x85, 0xf6, //0x000002cc testq %rsi, %rsi + 0x0f, 0x84, 0x07, 0x00, 0x00, 0x00, //0x000002cf je LBB0_28 + //0x000002d5 LBB0_27 + 0x41, 0x8a, 0x0b, //0x000002d5 movb (%r11), %cl + 0x41, 0x88, 0x4d, 0x00, //0x000002d8 movb %cl, (%r13) + //0x000002dc LBB0_28 + 0x4d, 0x29, 0xd1, //0x000002dc subq %r10, %r9 + 0x4d, 0x01, 0xe1, //0x000002df addq %r12, %r9 + 0x49, 0xf7, 0xd1, //0x000002e2 notq %r9 + 0xe9, 0x66, 0x00, 0x00, 0x00, //0x000002e5 jmp LBB0_35 + //0x000002ea LBB0_29 + 0x4c, 0x89, 0xe3, //0x000002ea movq %r12, %rbx + 0x4c, 0x89, 0xde, //0x000002ed movq %r11, %rsi + 0x48, 0x83, 0xfe, 0x04, //0x000002f0 cmpq $4, %rsi + 0x0f, 0x8c, 0x12, 0x00, 0x00, 0x00, //0x000002f4 jl LBB0_31 + //0x000002fa LBB0_30 + 0x8b, 0x0b, //0x000002fa movl (%rbx), %ecx + 0x41, 0x89, 0x4d, 0x00, //0x000002fc movl %ecx, (%r13) + 0x48, 0x83, 0xc3, 0x04, //0x00000300 addq $4, %rbx + 0x49, 0x83, 0xc5, 0x04, //0x00000304 addq $4, %r13 + 0x48, 0x83, 0xc6, 0xfc, //0x00000308 addq $-4, %rsi + //0x0000030c LBB0_31 + 0x48, 0x83, 0xfe, 0x02, //0x0000030c cmpq $2, %rsi + 0x0f, 0x82, 0x22, 0x00, 0x00, 0x00, //0x00000310 jb LBB0_32 + 0x0f, 0xb7, 0x0b, //0x00000316 movzwl (%rbx), %ecx + 0x66, 0x41, 0x89, 0x4d, 0x00, //0x00000319 movw %cx, (%r13) + 0x48, 0x83, 0xc3, 0x02, //0x0000031e addq $2, %rbx + 0x49, 0x83, 0xc5, 0x02, //0x00000322 addq $2, %r13 + 0x48, 0x83, 0xc6, 0xfe, //0x00000326 addq $-2, %rsi + 0x48, 0x85, 0xf6, //0x0000032a testq %rsi, %rsi + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000032d jne LBB0_33 + 0xe9, 0x0f, 0x00, 0x00, 0x00, //0x00000333 jmp LBB0_34 + //0x00000338 LBB0_32 + 0x48, 0x85, 0xf6, //0x00000338 testq %rsi, %rsi + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x0000033b je LBB0_34 + //0x00000341 LBB0_33 + 0x8a, 0x0b, //0x00000341 movb (%rbx), %cl + 0x41, 0x88, 0x4d, 0x00, //0x00000343 movb %cl, (%r13) + //0x00000347 LBB0_34 + 0x4d, 0x29, 0xd4, //0x00000347 subq %r10, %r12 + 0x4d, 0x01, 0xdc, //0x0000034a addq %r11, %r12 + 0x4d, 0x89, 0xe1, //0x0000034d movq %r12, %r9 + //0x00000350 LBB0_35 + 0x49, 0x89, 0xd3, //0x00000350 movq %rdx, %r11 + //0x00000353 LBB0_36 + 0x4d, 0x85, 0xc9, //0x00000353 testq %r9, %r9 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000356 movq $-48(%rbp), %r12 + 0x49, 0xbd, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, //0x0000035a movabsq $12884901889, %r13 + 0x0f, 0x88, 0x46, 0x03, 0x00, 0x00, //0x00000364 js LBB0_78 + 0x4d, 0x01, 0xca, //0x0000036a addq %r9, %r10 + 0x4d, 0x01, 0xcf, //0x0000036d addq %r9, %r15 + 0x4c, 0x39, 0xc8, //0x00000370 cmpq %r9, %rax + 0x0f, 0x84, 0xcb, 0x00, 0x00, 0x00, //0x00000373 je LBB0_74 + 0x4d, 0x29, 0xce, //0x00000379 subq %r9, %r14 + 0x49, 0x29, 0xc1, //0x0000037c subq %rax, %r9 + 0xe9, 0x1b, 0x00, 0x00, 0x00, //0x0000037f jmp LBB0_40 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000384 .p2align 4, 0x90 + //0x00000390 LBB0_39 + 0x49, 0xff, 0xc2, //0x00000390 incq %r10 + 0x49, 0x01, 0xc7, //0x00000393 addq %rax, %r15 + 0x49, 0xff, 0xc1, //0x00000396 incq %r9 + 0x0f, 0x84, 0xa5, 0x00, 0x00, 0x00, //0x00000399 je LBB0_74 + //0x0000039f LBB0_40 + 0x41, 0x0f, 0xb6, 0x0a, //0x0000039f movzbl (%r10), %ecx + 0x48, 0xc1, 0xe1, 0x04, //0x000003a3 shlq $4, %rcx + 0x49, 0x8b, 0x1c, 0x08, //0x000003a7 movq (%r8,%rcx), %rbx + 0x85, 0xdb, //0x000003ab testl %ebx, %ebx + 0x0f, 0x84, 0x82, 0x00, 0x00, 0x00, //0x000003ad je LBB0_48 + 0x48, 0x63, 0xc3, //0x000003b3 movslq %ebx, %rax + 0x49, 0x29, 0xc6, //0x000003b6 subq %rax, %r14 + 0x0f, 0x8c, 0xd3, 0x02, 0x00, 0x00, //0x000003b9 jl LBB0_75 + 0x48, 0xc1, 0xe3, 0x20, //0x000003bf shlq $32, %rbx + 0x49, 0x8d, 0x74, 0x08, 0x08, //0x000003c3 leaq $8(%r8,%rcx), %rsi + 0x4c, 0x39, 0xeb, //0x000003c8 cmpq %r13, %rbx + 0x0f, 0x8c, 0x2f, 0x00, 0x00, 0x00, //0x000003cb jl LBB0_44 + 0x8b, 0x36, //0x000003d1 movl (%rsi), %esi + 0x41, 0x89, 0x37, //0x000003d3 movl %esi, (%r15) + 0x49, 0x8d, 0x74, 0x08, 0x0c, //0x000003d6 leaq $12(%r8,%rcx), %rsi + 0x49, 0x8d, 0x5f, 0x04, //0x000003db leaq $4(%r15), %rbx + 0x48, 0x8d, 0x48, 0xfc, //0x000003df leaq $-4(%rax), %rcx + 0x48, 0x83, 0xf9, 0x02, //0x000003e3 cmpq $2, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000003e7 jae LBB0_45 + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x000003ed jmp LBB0_46 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003f2 .p2align 4, 0x90 + //0x00000400 LBB0_44 + 0x4c, 0x89, 0xfb, //0x00000400 movq %r15, %rbx + 0x48, 0x89, 0xc1, //0x00000403 movq %rax, %rcx + 0x48, 0x83, 0xf9, 0x02, //0x00000406 cmpq $2, %rcx + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x0000040a jb LBB0_46 + //0x00000410 LBB0_45 + 0x0f, 0xb7, 0x16, //0x00000410 movzwl (%rsi), %edx + 0x66, 0x89, 0x13, //0x00000413 movw %dx, (%rbx) + 0x48, 0x83, 0xc6, 0x02, //0x00000416 addq $2, %rsi + 0x48, 0x83, 0xc3, 0x02, //0x0000041a addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x0000041e addq $-2, %rcx + //0x00000422 LBB0_46 + 0x48, 0x85, 0xc9, //0x00000422 testq %rcx, %rcx + 0x0f, 0x84, 0x65, 0xff, 0xff, 0xff, //0x00000425 je LBB0_39 + 0x0f, 0xb6, 0x0e, //0x0000042b movzbl (%rsi), %ecx + 0x88, 0x0b, //0x0000042e movb %cl, (%rbx) + 0xe9, 0x5b, 0xff, 0xff, 0xff, //0x00000430 jmp LBB0_39 + //0x00000435 LBB0_48 + 0x4c, 0x89, 0xc8, //0x00000435 movq %r9, %rax + 0x48, 0xf7, 0xd8, //0x00000438 negq %rax + 0x4d, 0x85, 0xc9, //0x0000043b testq %r9, %r9 + 0x0f, 0x85, 0x62, 0xfc, 0xff, 0xff, //0x0000043e jne LBB0_3 + //0x00000444 LBB0_74 + 0x4d, 0x29, 0xe7, //0x00000444 subq %r12, %r15 + 0x4d, 0x89, 0x3b, //0x00000447 movq %r15, (%r11) + 0x49, 0x29, 0xfa, //0x0000044a subq %rdi, %r10 + 0xe9, 0x4c, 0x02, 0x00, 0x00, //0x0000044d jmp LBB0_76 + //0x00000452 LBB0_51 + 0x4c, 0x8d, 0x0d, 0x77, 0x22, 0x00, 0x00, //0x00000452 leaq $8823(%rip), %r9 /* __EscTab+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x05, 0x9f, 0xfb, 0xff, 0xff, //0x00000459 vmovdqu $-1121(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0xa7, 0xfb, 0xff, 0xff, //0x00000461 vmovdqu $-1113(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0xaf, 0xfb, 0xff, 0xff, //0x00000469 vmovdqu $-1105(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0xc5, 0xe1, 0x76, 0xdb, //0x00000471 vpcmpeqd %xmm3, %xmm3, %xmm3 + 0x4c, 0x89, 0xe3, //0x00000475 movq %r12, %rbx + 0x49, 0x89, 0xc2, //0x00000478 movq %rax, %r10 + //0x0000047b LBB0_52 + 0x49, 0x83, 0xfa, 0x10, //0x0000047b cmpq $16, %r10 + 0x0f, 0x8c, 0x5e, 0x00, 0x00, 0x00, //0x0000047f jl LBB0_57 + 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00000485 movl $16, %ecx + 0x31, 0xf6, //0x0000048a xorl %esi, %esi + 0x90, 0x90, 0x90, 0x90, //0x0000048c .p2align 4, 0x90 + //0x00000490 LBB0_54 + 0xc5, 0xfa, 0x6f, 0x24, 0x37, //0x00000490 vmovdqu (%rdi,%rsi), %xmm4 + 0xc5, 0xf9, 0x64, 0xec, //0x00000495 vpcmpgtb %xmm4, %xmm0, %xmm5 + 0xc5, 0xd9, 0x74, 0xf1, //0x00000499 vpcmpeqb %xmm1, %xmm4, %xmm6 + 0xc5, 0xd9, 0x74, 0xfa, //0x0000049d vpcmpeqb %xmm2, %xmm4, %xmm7 + 0xc5, 0xc1, 0xeb, 0xf6, //0x000004a1 vpor %xmm6, %xmm7, %xmm6 + 0xc5, 0xfa, 0x7f, 0x24, 0x33, //0x000004a5 vmovdqu %xmm4, (%rbx,%rsi) + 0xc5, 0xd9, 0x64, 0xe3, //0x000004aa vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xe5, //0x000004ae vpand %xmm5, %xmm4, %xmm4 + 0xc5, 0xc9, 0xeb, 0xe4, //0x000004b2 vpor %xmm4, %xmm6, %xmm4 + 0xc5, 0xf9, 0xd7, 0xd4, //0x000004b6 vpmovmskb %xmm4, %edx + 0x66, 0x85, 0xd2, //0x000004ba testw %dx, %dx + 0x0f, 0x85, 0x36, 0x01, 0x00, 0x00, //0x000004bd jne LBB0_67 + 0x48, 0x83, 0xc6, 0x10, //0x000004c3 addq $16, %rsi + 0x49, 0x8d, 0x54, 0x0a, 0xf0, //0x000004c7 leaq $-16(%r10,%rcx), %rdx + 0x48, 0x83, 0xc1, 0xf0, //0x000004cc addq $-16, %rcx + 0x48, 0x83, 0xfa, 0x1f, //0x000004d0 cmpq $31, %rdx + 0x0f, 0x8f, 0xb6, 0xff, 0xff, 0xff, //0x000004d4 jg LBB0_54 + 0x48, 0x01, 0xf7, //0x000004da addq %rsi, %rdi + 0x49, 0x29, 0xf2, //0x000004dd subq %rsi, %r10 + 0x48, 0x01, 0xf3, //0x000004e0 addq %rsi, %rbx + //0x000004e3 LBB0_57 + 0x49, 0x83, 0xfa, 0x08, //0x000004e3 cmpq $8, %r10 + 0x0f, 0x8c, 0x85, 0x00, 0x00, 0x00, //0x000004e7 jl LBB0_61 + 0x0f, 0xb6, 0x0f, //0x000004ed movzbl (%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x000004f0 movzbl (%rcx,%r9), %ecx + 0x0f, 0xb6, 0x57, 0x01, //0x000004f5 movzbl $1(%rdi), %edx + 0x42, 0x0f, 0xb6, 0x14, 0x0a, //0x000004f9 movzbl (%rdx,%r9), %edx + 0x01, 0xd2, //0x000004fe addl %edx, %edx + 0x09, 0xca, //0x00000500 orl %ecx, %edx + 0x0f, 0xb6, 0x4f, 0x02, //0x00000502 movzbl $2(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x34, 0x09, //0x00000506 movzbl (%rcx,%r9), %esi + 0xc1, 0xe6, 0x02, //0x0000050b shll $2, %esi + 0x0f, 0xb6, 0x4f, 0x03, //0x0000050e movzbl $3(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x00000512 movzbl (%rcx,%r9), %ecx + 0xc1, 0xe1, 0x03, //0x00000517 shll $3, %ecx + 0x09, 0xf1, //0x0000051a orl %esi, %ecx + 0x09, 0xd1, //0x0000051c orl %edx, %ecx + 0x48, 0x8b, 0x17, //0x0000051e movq (%rdi), %rdx + 0x48, 0x89, 0x13, //0x00000521 movq %rdx, (%rbx) + 0x84, 0xc9, //0x00000524 testb %cl, %cl + 0x0f, 0x85, 0x31, 0x01, 0x00, 0x00, //0x00000526 jne LBB0_71 + 0x0f, 0xb6, 0x4f, 0x04, //0x0000052c movzbl $4(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x00000530 movzbl (%rcx,%r9), %ecx + 0x0f, 0xb6, 0x57, 0x05, //0x00000535 movzbl $5(%rdi), %edx + 0x42, 0x0f, 0xb6, 0x14, 0x0a, //0x00000539 movzbl (%rdx,%r9), %edx + 0x01, 0xd2, //0x0000053e addl %edx, %edx + 0x09, 0xca, //0x00000540 orl %ecx, %edx + 0x0f, 0xb6, 0x4f, 0x06, //0x00000542 movzbl $6(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x34, 0x09, //0x00000546 movzbl (%rcx,%r9), %esi + 0xc1, 0xe6, 0x02, //0x0000054b shll $2, %esi + 0x0f, 0xb6, 0x4f, 0x07, //0x0000054e movzbl $7(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x00000552 movzbl (%rcx,%r9), %ecx + 0xc1, 0xe1, 0x03, //0x00000557 shll $3, %ecx + 0x09, 0xf1, //0x0000055a orl %esi, %ecx + 0x09, 0xd1, //0x0000055c orl %edx, %ecx + 0x84, 0xc9, //0x0000055e testb %cl, %cl + 0x0f, 0x85, 0x08, 0x01, 0x00, 0x00, //0x00000560 jne LBB0_72 + 0x48, 0x83, 0xc3, 0x08, //0x00000566 addq $8, %rbx + 0x48, 0x83, 0xc7, 0x08, //0x0000056a addq $8, %rdi + 0x49, 0x83, 0xc2, 0xf8, //0x0000056e addq $-8, %r10 + //0x00000572 LBB0_61 + 0x49, 0x83, 0xfa, 0x04, //0x00000572 cmpq $4, %r10 + 0x0f, 0x8c, 0x49, 0x00, 0x00, 0x00, //0x00000576 jl LBB0_64 + 0x0f, 0xb6, 0x0f, //0x0000057c movzbl (%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x0000057f movzbl (%rcx,%r9), %ecx + 0x0f, 0xb6, 0x57, 0x01, //0x00000584 movzbl $1(%rdi), %edx + 0x42, 0x0f, 0xb6, 0x14, 0x0a, //0x00000588 movzbl (%rdx,%r9), %edx + 0x01, 0xd2, //0x0000058d addl %edx, %edx + 0x09, 0xca, //0x0000058f orl %ecx, %edx + 0x0f, 0xb6, 0x4f, 0x02, //0x00000591 movzbl $2(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x34, 0x09, //0x00000595 movzbl (%rcx,%r9), %esi + 0xc1, 0xe6, 0x02, //0x0000059a shll $2, %esi + 0x0f, 0xb6, 0x4f, 0x03, //0x0000059d movzbl $3(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x000005a1 movzbl (%rcx,%r9), %ecx + 0xc1, 0xe1, 0x03, //0x000005a6 shll $3, %ecx + 0x09, 0xf1, //0x000005a9 orl %esi, %ecx + 0x09, 0xd1, //0x000005ab orl %edx, %ecx + 0x8b, 0x17, //0x000005ad movl (%rdi), %edx + 0x89, 0x13, //0x000005af movl %edx, (%rbx) + 0x84, 0xc9, //0x000005b1 testb %cl, %cl + 0x0f, 0x85, 0xa4, 0x00, 0x00, 0x00, //0x000005b3 jne LBB0_71 + 0x48, 0x83, 0xc3, 0x04, //0x000005b9 addq $4, %rbx + 0x48, 0x83, 0xc7, 0x04, //0x000005bd addq $4, %rdi + 0x49, 0x83, 0xc2, 0xfc, //0x000005c1 addq $-4, %r10 + //0x000005c5 LBB0_64 + 0x4d, 0x85, 0xd2, //0x000005c5 testq %r10, %r10 + 0x0f, 0x8e, 0xb9, 0x00, 0x00, 0x00, //0x000005c8 jle LBB0_73 + 0x90, 0x90, //0x000005ce .p2align 4, 0x90 + //0x000005d0 LBB0_65 + 0x0f, 0xb6, 0x0f, //0x000005d0 movzbl (%rdi), %ecx + 0x42, 0x80, 0x3c, 0x09, 0x00, //0x000005d3 cmpb $0, (%rcx,%r9) + 0x0f, 0x85, 0x33, 0x00, 0x00, 0x00, //0x000005d8 jne LBB0_68 + 0x48, 0xff, 0xc7, //0x000005de incq %rdi + 0x88, 0x0b, //0x000005e1 movb %cl, (%rbx) + 0x48, 0xff, 0xc3, //0x000005e3 incq %rbx + 0x49, 0x83, 0xfa, 0x01, //0x000005e6 cmpq $1, %r10 + 0x4d, 0x8d, 0x52, 0xff, //0x000005ea leaq $-1(%r10), %r10 + 0x0f, 0x8f, 0xdc, 0xff, 0xff, 0xff, //0x000005ee jg LBB0_65 + 0xe9, 0x8e, 0x00, 0x00, 0x00, //0x000005f4 jmp LBB0_73 + //0x000005f9 LBB0_67 + 0x0f, 0xb7, 0xca, //0x000005f9 movzwl %dx, %ecx + 0x0f, 0xbc, 0xc9, //0x000005fc bsfl %ecx, %ecx + 0x48, 0x01, 0xcf, //0x000005ff addq %rcx, %rdi + 0x48, 0x01, 0xf7, //0x00000602 addq %rsi, %rdi + 0x49, 0x29, 0xca, //0x00000605 subq %rcx, %r10 + 0x49, 0x29, 0xf2, //0x00000608 subq %rsi, %r10 + 0x48, 0x01, 0xcb, //0x0000060b addq %rcx, %rbx + 0x48, 0x01, 0xf3, //0x0000060e addq %rsi, %rbx + //0x00000611 LBB0_68 + 0x8a, 0x0f, //0x00000611 movb (%rdi), %cl + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000613 .p2align 4, 0x90 + //0x00000620 LBB0_69 + 0x48, 0x89, 0xda, //0x00000620 movq %rbx, %rdx + 0x0f, 0xb6, 0xc9, //0x00000623 movzbl %cl, %ecx + 0x48, 0xc1, 0xe1, 0x04, //0x00000626 shlq $4, %rcx + 0x49, 0x63, 0x1c, 0x08, //0x0000062a movslq (%r8,%rcx), %rbx + 0x49, 0x8b, 0x4c, 0x08, 0x08, //0x0000062e movq $8(%r8,%rcx), %rcx + 0x48, 0x89, 0x0a, //0x00000633 movq %rcx, (%rdx) + 0x48, 0x01, 0xd3, //0x00000636 addq %rdx, %rbx + 0x49, 0x83, 0xfa, 0x02, //0x00000639 cmpq $2, %r10 + 0x0f, 0x8c, 0x44, 0x00, 0x00, 0x00, //0x0000063d jl LBB0_73 + 0x49, 0xff, 0xca, //0x00000643 decq %r10 + 0x0f, 0xb6, 0x4f, 0x01, //0x00000646 movzbl $1(%rdi), %ecx + 0x48, 0xff, 0xc7, //0x0000064a incq %rdi + 0x42, 0x80, 0x3c, 0x09, 0x00, //0x0000064d cmpb $0, (%rcx,%r9) + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x00000652 jne LBB0_69 + 0xe9, 0x1e, 0xfe, 0xff, 0xff, //0x00000658 jmp LBB0_52 + //0x0000065d LBB0_71 + 0x0f, 0xbc, 0xc9, //0x0000065d bsfl %ecx, %ecx + 0x48, 0x01, 0xcf, //0x00000660 addq %rcx, %rdi + 0x49, 0x29, 0xca, //0x00000663 subq %rcx, %r10 + 0x48, 0x01, 0xcb, //0x00000666 addq %rcx, %rbx + 0xe9, 0xa3, 0xff, 0xff, 0xff, //0x00000669 jmp LBB0_68 + //0x0000066e LBB0_72 + 0x0f, 0xbc, 0xc9, //0x0000066e bsfl %ecx, %ecx + 0x48, 0x8d, 0x51, 0x04, //0x00000671 leaq $4(%rcx), %rdx + 0x48, 0x8d, 0x7c, 0x0f, 0x04, //0x00000675 leaq $4(%rdi,%rcx), %rdi + 0x49, 0x29, 0xd2, //0x0000067a subq %rdx, %r10 + 0x48, 0x8d, 0x5c, 0x0b, 0x04, //0x0000067d leaq $4(%rbx,%rcx), %rbx + 0xe9, 0x8a, 0xff, 0xff, 0xff, //0x00000682 jmp LBB0_68 + //0x00000687 LBB0_73 + 0x4c, 0x29, 0xe3, //0x00000687 subq %r12, %rbx + 0x49, 0x89, 0x1b, //0x0000068a movq %rbx, (%r11) + 0xe9, 0x0f, 0x00, 0x00, 0x00, //0x0000068d jmp LBB0_77 + //0x00000692 LBB0_75 + 0x4d, 0x29, 0xe7, //0x00000692 subq %r12, %r15 + 0x4d, 0x89, 0x3b, //0x00000695 movq %r15, (%r11) + 0x49, 0xf7, 0xd2, //0x00000698 notq %r10 + 0x49, 0x01, 0xfa, //0x0000069b addq %rdi, %r10 + //0x0000069e LBB0_76 + 0x4c, 0x89, 0xd0, //0x0000069e movq %r10, %rax + //0x000006a1 LBB0_77 + 0x48, 0x83, 0xc4, 0x08, //0x000006a1 addq $8, %rsp + 0x5b, //0x000006a5 popq %rbx + 0x41, 0x5c, //0x000006a6 popq %r12 + 0x41, 0x5d, //0x000006a8 popq %r13 + 0x41, 0x5e, //0x000006aa popq %r14 + 0x41, 0x5f, //0x000006ac popq %r15 + 0x5d, //0x000006ae popq %rbp + 0xc3, //0x000006af retq + //0x000006b0 LBB0_78 + 0x4d, 0x29, 0xe7, //0x000006b0 subq %r12, %r15 + 0x49, 0xf7, 0xd1, //0x000006b3 notq %r9 + 0x4d, 0x01, 0xcf, //0x000006b6 addq %r9, %r15 + 0x4d, 0x89, 0x3b, //0x000006b9 movq %r15, (%r11) + 0x49, 0x29, 0xfa, //0x000006bc subq %rdi, %r10 + 0x4d, 0x01, 0xca, //0x000006bf addq %r9, %r10 + 0x49, 0xf7, 0xd2, //0x000006c2 notq %r10 + 0xe9, 0xd4, 0xff, 0xff, 0xff, //0x000006c5 jmp LBB0_76 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006ca .p2align 4, 0x00 + //0x000006d0 __SingleQuoteTab + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006d0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, //0x000006d8 QUAD $0x000030303030755c // .asciz 8, '\\u0000\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006e0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x31, 0x00, 0x00, //0x000006e8 QUAD $0x000031303030755c // .asciz 8, '\\u0001\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006f0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x32, 0x00, 0x00, //0x000006f8 QUAD $0x000032303030755c // .asciz 8, '\\u0002\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000700 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x33, 0x00, 0x00, //0x00000708 QUAD $0x000033303030755c // .asciz 8, '\\u0003\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000710 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x34, 0x00, 0x00, //0x00000718 QUAD $0x000034303030755c // .asciz 8, '\\u0004\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000720 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x35, 0x00, 0x00, //0x00000728 QUAD $0x000035303030755c // .asciz 8, '\\u0005\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000730 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x36, 0x00, 0x00, //0x00000738 QUAD $0x000036303030755c // .asciz 8, '\\u0006\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000740 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x37, 0x00, 0x00, //0x00000748 QUAD $0x000037303030755c // .asciz 8, '\\u0007\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000750 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x38, 0x00, 0x00, //0x00000758 QUAD $0x000038303030755c // .asciz 8, '\\u0008\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000760 .quad 2 + 0x5c, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000768 QUAD $0x000000000000745c // .asciz 8, '\\t\x00\x00\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000770 .quad 2 + 0x5c, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000778 QUAD $0x0000000000006e5c // .asciz 8, '\\n\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000780 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x62, 0x00, 0x00, //0x00000788 QUAD $0x000062303030755c // .asciz 8, '\\u000b\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000790 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x63, 0x00, 0x00, //0x00000798 QUAD $0x000063303030755c // .asciz 8, '\\u000c\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007a0 .quad 2 + 0x5c, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007a8 QUAD $0x000000000000725c // .asciz 8, '\\r\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007b0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x65, 0x00, 0x00, //0x000007b8 QUAD $0x000065303030755c // .asciz 8, '\\u000e\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007c0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x66, 0x00, 0x00, //0x000007c8 QUAD $0x000066303030755c // .asciz 8, '\\u000f\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007d0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x30, 0x00, 0x00, //0x000007d8 QUAD $0x000030313030755c // .asciz 8, '\\u0010\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007e0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x31, 0x00, 0x00, //0x000007e8 QUAD $0x000031313030755c // .asciz 8, '\\u0011\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007f0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x32, 0x00, 0x00, //0x000007f8 QUAD $0x000032313030755c // .asciz 8, '\\u0012\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000800 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x33, 0x00, 0x00, //0x00000808 QUAD $0x000033313030755c // .asciz 8, '\\u0013\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000810 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x34, 0x00, 0x00, //0x00000818 QUAD $0x000034313030755c // .asciz 8, '\\u0014\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000820 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x35, 0x00, 0x00, //0x00000828 QUAD $0x000035313030755c // .asciz 8, '\\u0015\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000830 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x36, 0x00, 0x00, //0x00000838 QUAD $0x000036313030755c // .asciz 8, '\\u0016\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000840 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x37, 0x00, 0x00, //0x00000848 QUAD $0x000037313030755c // .asciz 8, '\\u0017\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000850 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x38, 0x00, 0x00, //0x00000858 QUAD $0x000038313030755c // .asciz 8, '\\u0018\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000860 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x39, 0x00, 0x00, //0x00000868 QUAD $0x000039313030755c // .asciz 8, '\\u0019\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000870 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x61, 0x00, 0x00, //0x00000878 QUAD $0x000061313030755c // .asciz 8, '\\u001a\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000880 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x62, 0x00, 0x00, //0x00000888 QUAD $0x000062313030755c // .asciz 8, '\\u001b\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000890 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x63, 0x00, 0x00, //0x00000898 QUAD $0x000063313030755c // .asciz 8, '\\u001c\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008a0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x64, 0x00, 0x00, //0x000008a8 QUAD $0x000064313030755c // .asciz 8, '\\u001d\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008b0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x65, 0x00, 0x00, //0x000008b8 QUAD $0x000065313030755c // .asciz 8, '\\u001e\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008c0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x66, 0x00, 0x00, //0x000008c8 QUAD $0x000066313030755c // .asciz 8, '\\u001f\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008f0 .quad 2 + 0x5c, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008f8 QUAD $0x000000000000225c // .asciz 8, '\\"\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000900 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000910 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000920 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000930 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000940 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000950 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000960 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000970 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000980 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000990 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000aa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ab0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ac0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ad0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ae0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000af0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ba0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000be0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c90 .quad 2 + 0x5c, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c98 QUAD $0x0000000000005c5c // .asciz 8, '\\\\\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ca0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ce0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000da0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000db0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000de0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000df0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ea0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000eb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ec0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ed0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ee0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ef0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fe0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ff0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001000 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001010 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001020 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001030 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001040 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001050 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001060 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001070 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001080 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001090 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001100 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001110 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001120 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001130 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001140 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001150 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001160 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001170 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001180 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001190 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001200 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001210 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001220 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001230 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001240 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001250 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001260 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001270 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001280 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001290 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001300 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001310 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001320 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001330 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001340 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001350 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001360 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001370 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001380 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001390 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001400 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001410 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001420 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001430 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001440 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001450 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001460 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001470 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001480 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001490 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001500 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001510 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001520 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001530 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001540 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001550 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001560 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001570 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001580 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001590 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001600 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001610 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001620 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001630 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001640 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001650 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001660 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001670 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001680 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001690 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x000016d0 .p2align 4, 0x00 + //0x000016d0 __DoubleQuoteTab + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016d0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x30, 0x00, //0x000016d8 QUAD $0x0030303030755c5c // .asciz 8, '\\\\u0000\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016e0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x31, 0x00, //0x000016e8 QUAD $0x0031303030755c5c // .asciz 8, '\\\\u0001\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016f0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x32, 0x00, //0x000016f8 QUAD $0x0032303030755c5c // .asciz 8, '\\\\u0002\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001700 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x33, 0x00, //0x00001708 QUAD $0x0033303030755c5c // .asciz 8, '\\\\u0003\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001710 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x34, 0x00, //0x00001718 QUAD $0x0034303030755c5c // .asciz 8, '\\\\u0004\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001720 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x35, 0x00, //0x00001728 QUAD $0x0035303030755c5c // .asciz 8, '\\\\u0005\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001730 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x36, 0x00, //0x00001738 QUAD $0x0036303030755c5c // .asciz 8, '\\\\u0006\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001740 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x37, 0x00, //0x00001748 QUAD $0x0037303030755c5c // .asciz 8, '\\\\u0007\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001750 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x38, 0x00, //0x00001758 QUAD $0x0038303030755c5c // .asciz 8, '\\\\u0008\x00' + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001760 .quad 3 + 0x5c, 0x5c, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001768 QUAD $0x0000000000745c5c // .asciz 8, '\\\\t\x00\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001770 .quad 3 + 0x5c, 0x5c, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001778 QUAD $0x00000000006e5c5c // .asciz 8, '\\\\n\x00\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001780 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x62, 0x00, //0x00001788 QUAD $0x0062303030755c5c // .asciz 8, '\\\\u000b\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001790 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x63, 0x00, //0x00001798 QUAD $0x0063303030755c5c // .asciz 8, '\\\\u000c\x00' + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017a0 .quad 3 + 0x5c, 0x5c, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017a8 QUAD $0x0000000000725c5c // .asciz 8, '\\\\r\x00\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017b0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x65, 0x00, //0x000017b8 QUAD $0x0065303030755c5c // .asciz 8, '\\\\u000e\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017c0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x66, 0x00, //0x000017c8 QUAD $0x0066303030755c5c // .asciz 8, '\\\\u000f\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017d0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x30, 0x00, //0x000017d8 QUAD $0x0030313030755c5c // .asciz 8, '\\\\u0010\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017e0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x31, 0x00, //0x000017e8 QUAD $0x0031313030755c5c // .asciz 8, '\\\\u0011\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017f0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x32, 0x00, //0x000017f8 QUAD $0x0032313030755c5c // .asciz 8, '\\\\u0012\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001800 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x33, 0x00, //0x00001808 QUAD $0x0033313030755c5c // .asciz 8, '\\\\u0013\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001810 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x34, 0x00, //0x00001818 QUAD $0x0034313030755c5c // .asciz 8, '\\\\u0014\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001820 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x35, 0x00, //0x00001828 QUAD $0x0035313030755c5c // .asciz 8, '\\\\u0015\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001830 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x36, 0x00, //0x00001838 QUAD $0x0036313030755c5c // .asciz 8, '\\\\u0016\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001840 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x37, 0x00, //0x00001848 QUAD $0x0037313030755c5c // .asciz 8, '\\\\u0017\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001850 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x38, 0x00, //0x00001858 QUAD $0x0038313030755c5c // .asciz 8, '\\\\u0018\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001860 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x39, 0x00, //0x00001868 QUAD $0x0039313030755c5c // .asciz 8, '\\\\u0019\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001870 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x61, 0x00, //0x00001878 QUAD $0x0061313030755c5c // .asciz 8, '\\\\u001a\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001880 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x62, 0x00, //0x00001888 QUAD $0x0062313030755c5c // .asciz 8, '\\\\u001b\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001890 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x63, 0x00, //0x00001898 QUAD $0x0063313030755c5c // .asciz 8, '\\\\u001c\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018a0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x64, 0x00, //0x000018a8 QUAD $0x0064313030755c5c // .asciz 8, '\\\\u001d\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018b0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x65, 0x00, //0x000018b8 QUAD $0x0065313030755c5c // .asciz 8, '\\\\u001e\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018c0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x66, 0x00, //0x000018c8 QUAD $0x0066313030755c5c // .asciz 8, '\\\\u001f\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018f0 .quad 4 + 0x5c, 0x5c, 0x5c, 0x22, 0x00, 0x00, 0x00, 0x00, //0x000018f8 QUAD $0x00000000225c5c5c // .asciz 8, '\\\\\\"\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001900 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001910 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001920 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001930 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001940 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001950 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001960 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001970 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001980 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001990 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001aa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ab0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ac0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ad0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ae0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001af0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ba0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001be0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c90 .quad 4 + 0x5c, 0x5c, 0x5c, 0x5c, 0x00, 0x00, 0x00, 0x00, //0x00001c98 QUAD $0x000000005c5c5c5c // .asciz 8, '\\\\\\\\\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ca0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001cb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001cc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001cd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ce0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001cf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001da0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001db0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001dc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001dd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001de0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001df0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ea0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001eb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ec0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ed0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ee0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ef0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fe0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ff0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002000 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002010 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002020 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002030 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002040 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002050 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002060 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002070 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002080 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002090 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002100 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002110 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002120 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002130 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002140 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002150 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002160 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002170 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002180 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002190 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002200 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002210 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002220 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002230 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002240 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002250 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002260 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002270 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002280 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002290 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002300 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002310 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002320 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002330 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002340 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002350 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002360 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002370 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002380 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002390 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002400 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002410 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002420 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002430 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002440 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002450 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002460 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002470 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002480 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002490 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002500 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002510 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002520 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002530 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002540 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002550 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002560 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002570 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002580 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002590 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002600 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002610 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002620 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002630 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002640 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002650 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002660 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002670 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002680 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002690 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x000026d0 .p2align 4, 0x00 + //0x000026d0 __EscTab + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x000026d0 QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .ascii 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x000026e0 QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .ascii 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026f0 QUAD $0x0000000000010000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002700 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002710 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //0x00002720 QUAD $0x0000000000000000; LONG $0x00000000; BYTE $0x01 // .ascii 13, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000272d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000273d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000274d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000275d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000276d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000277d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000278d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000279d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000027ad QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000027bd QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, //0x000027cd WORD $0x0000; BYTE $0x00 // .space 3, '\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_array.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_array.go new file mode 100644 index 0000000..5099458 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_array.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the License ); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_array func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_skip_array uintptr + +//go:nosplit +func skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_skip_array(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_array_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_array_subr.go new file mode 100644 index 0000000..3880282 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_array_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_array = 160 +) + +const ( + _stack__skip_array = 152 +) + +const ( + _size__skip_array = 9524 +) + +var ( + _pcsp__skip_array = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {8962, 152}, + {8966, 48}, + {8967, 40}, + {8969, 32}, + {8971, 24}, + {8973, 16}, + {8975, 8}, + {8976, 0}, + {9524, 152}, + } +) + +var _cfunc_skip_array = []loader.CFunc{ + {"_skip_array_entry", 0, _entry__skip_array, 0, nil}, + {"_skip_array", _entry__skip_array, _size__skip_array, _stack__skip_array, _pcsp__skip_array}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_array_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_array_text_amd64.go new file mode 100644 index 0000000..2fb5d82 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_array_text_amd64.go @@ -0,0 +1,2854 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_skip_array = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .quad 1 + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 5 + //0x00000010 LCPI0_1 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000010 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000020 LCPI0_2 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000020 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000030 LCPI0_3 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000030 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000040 LCPI0_4 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000040 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000050 LCPI0_5 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000050 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000060 LCPI0_6 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000060 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000070 LCPI0_7 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000070 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000080 LCPI0_8 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000080 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000090 LCPI0_9 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000090 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000000a0 .p2align 4, 0x90 + //0x000000a0 _skip_array + 0x55, //0x000000a0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000000a1 movq %rsp, %rbp + 0x41, 0x57, //0x000000a4 pushq %r15 + 0x41, 0x56, //0x000000a6 pushq %r14 + 0x41, 0x55, //0x000000a8 pushq %r13 + 0x41, 0x54, //0x000000aa pushq %r12 + 0x53, //0x000000ac pushq %rbx + 0x48, 0x83, 0xec, 0x68, //0x000000ad subq $104, %rsp + 0x48, 0x89, 0x4d, 0x80, //0x000000b1 movq %rcx, $-128(%rbp) + 0x49, 0x89, 0xd1, //0x000000b5 movq %rdx, %r9 + 0xc5, 0xf8, 0x10, 0x05, 0x40, 0xff, 0xff, 0xff, //0x000000b8 vmovups $-192(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf8, 0x11, 0x02, //0x000000c0 vmovups %xmm0, (%rdx) + 0x48, 0x89, 0x7d, 0x90, //0x000000c4 movq %rdi, $-112(%rbp) + 0x4c, 0x8b, 0x27, //0x000000c8 movq (%rdi), %r12 + 0x4c, 0x89, 0xe0, //0x000000cb movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x000000ce notq %rax + 0x48, 0x89, 0x45, 0xa0, //0x000000d1 movq %rax, $-96(%rbp) + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x000000d5 movl $1, %r10d + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000000db movl $1, %eax + 0x4c, 0x29, 0xe0, //0x000000e0 subq %r12, %rax + 0x48, 0x89, 0x45, 0x98, //0x000000e3 movq %rax, $-104(%rbp) + 0x49, 0x8d, 0x44, 0x24, 0x40, //0x000000e7 leaq $64(%r12), %rax + 0x48, 0x89, 0x45, 0x88, //0x000000ec movq %rax, $-120(%rbp) + 0x4c, 0x8b, 0x1e, //0x000000f0 movq (%rsi), %r11 + 0x49, 0x8d, 0x44, 0x24, 0x05, //0x000000f3 leaq $5(%r12), %rax + 0x48, 0x89, 0x85, 0x70, 0xff, 0xff, 0xff, //0x000000f8 movq %rax, $-144(%rbp) + 0x48, 0xc7, 0x85, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x000000ff movq $-1, $-136(%rbp) + 0xc5, 0xfa, 0x6f, 0x05, 0xfe, 0xfe, 0xff, 0xff, //0x0000010a vmovdqu $-258(%rip), %xmm0 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0x06, 0xff, 0xff, 0xff, //0x00000112 vmovdqu $-250(%rip), %xmm1 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x3d, 0x0e, 0xff, 0xff, 0xff, //0x0000011a vmovdqu $-242(%rip), %xmm15 /* LCPI0_3+0(%rip) */ + 0xc5, 0xe1, 0x76, 0xdb, //0x00000122 vpcmpeqd %xmm3, %xmm3, %xmm3 + 0xc5, 0x7a, 0x6f, 0x05, 0x12, 0xff, 0xff, 0xff, //0x00000126 vmovdqu $-238(%rip), %xmm8 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0x1a, 0xff, 0xff, 0xff, //0x0000012e vmovdqu $-230(%rip), %xmm9 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0x22, 0xff, 0xff, 0xff, //0x00000136 vmovdqu $-222(%rip), %xmm10 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x1d, 0x2a, 0xff, 0xff, 0xff, //0x0000013e vmovdqu $-214(%rip), %xmm11 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x25, 0xe2, 0xfe, 0xff, 0xff, //0x00000146 vmovdqu $-286(%rip), %xmm12 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x2d, 0x2a, 0xff, 0xff, 0xff, //0x0000014e vmovdqu $-214(%rip), %xmm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x35, 0x32, 0xff, 0xff, 0xff, //0x00000156 vmovdqu $-206(%rip), %xmm14 /* LCPI0_9+0(%rip) */ + 0x48, 0x89, 0x75, 0xc8, //0x0000015e movq %rsi, $-56(%rbp) + 0x4c, 0x89, 0x65, 0xd0, //0x00000162 movq %r12, $-48(%rbp) + 0x48, 0x89, 0x55, 0xc0, //0x00000166 movq %rdx, $-64(%rbp) + 0xe9, 0x57, 0x00, 0x00, 0x00, //0x0000016a jmp LBB0_4 + //0x0000016f LBB0_257 + 0x48, 0x85, 0xc0, //0x0000016f testq %rax, %rax + 0x49, 0x8d, 0x45, 0xff, //0x00000172 leaq $-1(%r13), %rax + 0x49, 0xf7, 0xd5, //0x00000176 notq %r13 + 0x4c, 0x0f, 0x48, 0xe9, //0x00000179 cmovsq %rcx, %r13 + 0x49, 0x39, 0xc3, //0x0000017d cmpq %rax, %r11 + 0x49, 0x89, 0xcb, //0x00000180 movq %rcx, %r11 + 0x4d, 0x0f, 0x44, 0xdd, //0x00000183 cmoveq %r13, %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000187 movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xdb, //0x0000018b testq %r11, %r11 + 0x0f, 0x88, 0xfb, 0x21, 0x00, 0x00, //0x0000018e js LBB0_419 + //0x00000194 LBB0_258 + 0x4d, 0x01, 0xfb, //0x00000194 addq %r15, %r11 + //0x00000197 LBB0_1 + 0x4c, 0x89, 0x1e, //0x00000197 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x0000019a movq %r15, %rax + 0x4d, 0x85, 0xff, //0x0000019d testq %r15, %r15 + 0x0f, 0x88, 0xfc, 0x21, 0x00, 0x00, //0x000001a0 js LBB0_423 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001a6 .p2align 4, 0x90 + //0x000001b0 LBB0_2 + 0x49, 0x8b, 0x11, //0x000001b0 movq (%r9), %rdx + 0x49, 0x89, 0xd2, //0x000001b3 movq %rdx, %r10 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x000001b6 movq $-136(%rbp), %rax + 0x48, 0x85, 0xd2, //0x000001bd testq %rdx, %rdx + 0x0f, 0x84, 0xdc, 0x21, 0x00, 0x00, //0x000001c0 je LBB0_423 + //0x000001c6 LBB0_4 + 0x48, 0x8b, 0x45, 0x90, //0x000001c6 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x000001ca movq $8(%rax), %rax + 0x4c, 0x89, 0xdb, //0x000001ce movq %r11, %rbx + 0x48, 0x29, 0xc3, //0x000001d1 subq %rax, %rbx + 0x0f, 0x83, 0x36, 0x00, 0x00, 0x00, //0x000001d4 jae LBB0_9 + 0x43, 0x8a, 0x14, 0x1c, //0x000001da movb (%r12,%r11), %dl + 0x80, 0xfa, 0x0d, //0x000001de cmpb $13, %dl + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000001e1 je LBB0_9 + 0x80, 0xfa, 0x20, //0x000001e7 cmpb $32, %dl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x000001ea je LBB0_9 + 0x80, 0xc2, 0xf7, //0x000001f0 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000001f3 cmpb $1, %dl + 0x0f, 0x86, 0x14, 0x00, 0x00, 0x00, //0x000001f6 jbe LBB0_9 + 0x4d, 0x89, 0xdf, //0x000001fc movq %r11, %r15 + 0xe9, 0x39, 0x01, 0x00, 0x00, //0x000001ff jmp LBB0_30 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000204 .p2align 4, 0x90 + //0x00000210 LBB0_9 + 0x4d, 0x8d, 0x7b, 0x01, //0x00000210 leaq $1(%r11), %r15 + 0x49, 0x39, 0xc7, //0x00000214 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000217 jae LBB0_13 + 0x43, 0x8a, 0x14, 0x3c, //0x0000021d movb (%r12,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000221 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000224 je LBB0_13 + 0x80, 0xfa, 0x20, //0x0000022a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000022d je LBB0_13 + 0x80, 0xc2, 0xf7, //0x00000233 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000236 cmpb $1, %dl + 0x0f, 0x87, 0xfe, 0x00, 0x00, 0x00, //0x00000239 ja LBB0_30 + 0x90, //0x0000023f .p2align 4, 0x90 + //0x00000240 LBB0_13 + 0x4d, 0x8d, 0x7b, 0x02, //0x00000240 leaq $2(%r11), %r15 + 0x49, 0x39, 0xc7, //0x00000244 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000247 jae LBB0_17 + 0x43, 0x8a, 0x14, 0x3c, //0x0000024d movb (%r12,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000251 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000254 je LBB0_17 + 0x80, 0xfa, 0x20, //0x0000025a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000025d je LBB0_17 + 0x80, 0xc2, 0xf7, //0x00000263 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000266 cmpb $1, %dl + 0x0f, 0x87, 0xce, 0x00, 0x00, 0x00, //0x00000269 ja LBB0_30 + 0x90, //0x0000026f .p2align 4, 0x90 + //0x00000270 LBB0_17 + 0x4d, 0x8d, 0x7b, 0x03, //0x00000270 leaq $3(%r11), %r15 + 0x49, 0x39, 0xc7, //0x00000274 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000277 jae LBB0_21 + 0x43, 0x8a, 0x14, 0x3c, //0x0000027d movb (%r12,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000281 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000284 je LBB0_21 + 0x80, 0xfa, 0x20, //0x0000028a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000028d je LBB0_21 + 0x80, 0xc2, 0xf7, //0x00000293 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000296 cmpb $1, %dl + 0x0f, 0x87, 0x9e, 0x00, 0x00, 0x00, //0x00000299 ja LBB0_30 + 0x90, //0x0000029f .p2align 4, 0x90 + //0x000002a0 LBB0_21 + 0x49, 0x8d, 0x53, 0x04, //0x000002a0 leaq $4(%r11), %rdx + 0x48, 0x39, 0xd0, //0x000002a4 cmpq %rdx, %rax + 0x0f, 0x86, 0xa1, 0x20, 0x00, 0x00, //0x000002a7 jbe LBB0_413 + 0x48, 0x39, 0xd0, //0x000002ad cmpq %rdx, %rax + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x000002b0 je LBB0_27 + 0x49, 0x8d, 0x14, 0x04, //0x000002b6 leaq (%r12,%rax), %rdx + 0x48, 0x83, 0xc3, 0x04, //0x000002ba addq $4, %rbx + 0x4c, 0x03, 0x9d, 0x70, 0xff, 0xff, 0xff, //0x000002be addq $-144(%rbp), %r11 + 0x4d, 0x89, 0xdf, //0x000002c5 movq %r11, %r15 + 0x48, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000002c8 movabsq $4294977024, %rcx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002d2 .p2align 4, 0x90 + //0x000002e0 LBB0_24 + 0x41, 0x0f, 0xbe, 0x7f, 0xff, //0x000002e0 movsbl $-1(%r15), %edi + 0x83, 0xff, 0x20, //0x000002e5 cmpl $32, %edi + 0x0f, 0x87, 0x42, 0x00, 0x00, 0x00, //0x000002e8 ja LBB0_29 + 0x48, 0x0f, 0xa3, 0xf9, //0x000002ee btq %rdi, %rcx + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x000002f2 jae LBB0_29 + 0x49, 0xff, 0xc7, //0x000002f8 incq %r15 + 0x48, 0xff, 0xc3, //0x000002fb incq %rbx + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000002fe jne LBB0_24 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00000304 jmp LBB0_28 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000309 .p2align 4, 0x90 + //0x00000310 LBB0_27 + 0x4c, 0x01, 0xe2, //0x00000310 addq %r12, %rdx + //0x00000313 LBB0_28 + 0x4c, 0x29, 0xe2, //0x00000313 subq %r12, %rdx + 0x49, 0x89, 0xd7, //0x00000316 movq %rdx, %r15 + 0x49, 0x39, 0xc7, //0x00000319 cmpq %rax, %r15 + 0x0f, 0x82, 0x1b, 0x00, 0x00, 0x00, //0x0000031c jb LBB0_30 + 0xe9, 0x2a, 0x20, 0x00, 0x00, //0x00000322 jmp LBB0_414 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000327 .p2align 4, 0x90 + //0x00000330 LBB0_29 + 0x4c, 0x03, 0x7d, 0xa0, //0x00000330 addq $-96(%rbp), %r15 + 0x49, 0x39, 0xc7, //0x00000334 cmpq %rax, %r15 + 0x0f, 0x83, 0x14, 0x20, 0x00, 0x00, //0x00000337 jae LBB0_414 + //0x0000033d LBB0_30 + 0x4d, 0x8d, 0x5f, 0x01, //0x0000033d leaq $1(%r15), %r11 + 0x4c, 0x89, 0x1e, //0x00000341 movq %r11, (%rsi) + 0x43, 0x0f, 0xbe, 0x1c, 0x3c, //0x00000344 movsbl (%r12,%r15), %ebx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000349 movq $-1, %rax + 0x85, 0xdb, //0x00000350 testl %ebx, %ebx + 0x0f, 0x84, 0x4a, 0x20, 0x00, 0x00, //0x00000352 je LBB0_423 + 0x4d, 0x89, 0xf8, //0x00000358 movq %r15, %r8 + 0x49, 0xf7, 0xd0, //0x0000035b notq %r8 + 0x49, 0x8d, 0x52, 0xff, //0x0000035e leaq $-1(%r10), %rdx + 0x43, 0x8b, 0x3c, 0xd1, //0x00000362 movl (%r9,%r10,8), %edi + 0x48, 0x8b, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x00000366 movq $-136(%rbp), %rcx + 0x48, 0x83, 0xf9, 0xff, //0x0000036d cmpq $-1, %rcx + 0x49, 0x0f, 0x44, 0xcf, //0x00000371 cmoveq %r15, %rcx + 0x48, 0x89, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x00000375 movq %rcx, $-136(%rbp) + 0xff, 0xcf, //0x0000037c decl %edi + 0x83, 0xff, 0x05, //0x0000037e cmpl $5, %edi + 0x0f, 0x87, 0x27, 0x00, 0x00, 0x00, //0x00000381 ja LBB0_36 + 0x48, 0x8d, 0x0d, 0x46, 0x22, 0x00, 0x00, //0x00000387 leaq $8774(%rip), %rcx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x3c, 0xb9, //0x0000038e movslq (%rcx,%rdi,4), %rdi + 0x48, 0x01, 0xcf, //0x00000392 addq %rcx, %rdi + 0xff, 0xe7, //0x00000395 jmpq *%rdi + //0x00000397 LBB0_33 + 0x83, 0xfb, 0x2c, //0x00000397 cmpl $44, %ebx + 0x0f, 0x84, 0xb6, 0x04, 0x00, 0x00, //0x0000039a je LBB0_100 + 0x83, 0xfb, 0x5d, //0x000003a0 cmpl $93, %ebx + 0x0f, 0x84, 0x92, 0x04, 0x00, 0x00, //0x000003a3 je LBB0_35 + 0xe9, 0xed, 0x1f, 0x00, 0x00, //0x000003a9 jmp LBB0_422 + //0x000003ae LBB0_36 + 0x49, 0x89, 0x11, //0x000003ae movq %rdx, (%r9) + 0x83, 0xfb, 0x7b, //0x000003b1 cmpl $123, %ebx + 0x0f, 0x86, 0x19, 0x02, 0x00, 0x00, //0x000003b4 jbe LBB0_63 + 0xe9, 0xdc, 0x1f, 0x00, 0x00, //0x000003ba jmp LBB0_422 + //0x000003bf LBB0_37 + 0x83, 0xfb, 0x2c, //0x000003bf cmpl $44, %ebx + 0x0f, 0x85, 0x6a, 0x04, 0x00, 0x00, //0x000003c2 jne LBB0_38 + 0x49, 0x81, 0xfa, 0xff, 0x0f, 0x00, 0x00, //0x000003c8 cmpq $4095, %r10 + 0x0f, 0x8f, 0x88, 0x1f, 0x00, 0x00, //0x000003cf jg LBB0_441 + 0x49, 0x8d, 0x42, 0x01, //0x000003d5 leaq $1(%r10), %rax + 0x49, 0x89, 0x01, //0x000003d9 movq %rax, (%r9) + 0x4b, 0xc7, 0x44, 0xd1, 0x08, 0x03, 0x00, 0x00, 0x00, //0x000003dc movq $3, $8(%r9,%r10,8) + 0xe9, 0xc6, 0xfd, 0xff, 0xff, //0x000003e5 jmp LBB0_2 + //0x000003ea LBB0_39 + 0x80, 0xfb, 0x22, //0x000003ea cmpb $34, %bl + 0x0f, 0x85, 0xa8, 0x1f, 0x00, 0x00, //0x000003ed jne LBB0_422 + 0x4b, 0xc7, 0x04, 0xd1, 0x04, 0x00, 0x00, 0x00, //0x000003f3 movq $4, (%r9,%r10,8) + 0x48, 0x8b, 0x45, 0x90, //0x000003fb movq $-112(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x000003ff movq $8(%rax), %rdx + 0xf6, 0x45, 0x80, 0x20, //0x00000403 testb $32, $-128(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x00000407 movq %r11, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb0, //0x0000040b movq %rdx, $-80(%rbp) + 0x0f, 0x85, 0x63, 0x04, 0x00, 0x00, //0x0000040f jne LBB0_104 + 0x49, 0x89, 0xd5, //0x00000415 movq %rdx, %r13 + 0x4d, 0x29, 0xdd, //0x00000418 subq %r11, %r13 + 0x0f, 0x84, 0x30, 0x21, 0x00, 0x00, //0x0000041b je LBB0_456 + 0x4c, 0x89, 0xd8, //0x00000421 movq %r11, %rax + 0x4d, 0x01, 0xe3, //0x00000424 addq %r12, %r11 + 0x49, 0x83, 0xfd, 0x40, //0x00000427 cmpq $64, %r13 + 0x0f, 0x82, 0x0b, 0x1a, 0x00, 0x00, //0x0000042b jb LBB0_353 + 0x45, 0x89, 0xea, //0x00000431 movl %r13d, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x00000434 andl $63, %r10d + 0x4a, 0x8d, 0x4c, 0x02, 0xc0, //0x00000438 leaq $-64(%rdx,%r8), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x0000043d andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000441 addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x88, //0x00000444 addq $-120(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb8, //0x00000448 movq %rcx, $-72(%rbp) + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000044c movq $-1, %r9 + 0x45, 0x31, 0xe4, //0x00000453 xorl %r12d, %r12d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000456 .p2align 4, 0x90 + //0x00000460 LBB0_44 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00000460 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00000465 vmovdqu $16(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x20, //0x0000046b vmovdqu $32(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00000471 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xe9, 0x74, 0xf8, //0x00000477 vpcmpeqb %xmm0, %xmm2, %xmm7 + 0xc5, 0xf9, 0xd7, 0xff, //0x0000047b vpmovmskb %xmm7, %edi + 0xc5, 0xd9, 0x74, 0xf8, //0x0000047f vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00000483 vpmovmskb %xmm7, %ecx + 0xc5, 0xd1, 0x74, 0xf8, //0x00000487 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x0000048b vpmovmskb %xmm7, %esi + 0xc5, 0xc9, 0x74, 0xf8, //0x0000048f vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0xf9, 0xd7, 0xdf, //0x00000493 vpmovmskb %xmm7, %ebx + 0xc5, 0xe9, 0x74, 0xd1, //0x00000497 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000049b vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x0000049f vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x000004a3 vpmovmskb %xmm2, %eax + 0xc5, 0xd1, 0x74, 0xd1, //0x000004a7 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x000004ab vpmovmskb %xmm2, %r14d + 0xc5, 0xc9, 0x74, 0xd1, //0x000004af vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xc2, //0x000004b3 vpmovmskb %xmm2, %r8d + 0x48, 0xc1, 0xe3, 0x30, //0x000004b7 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x000004bb shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x000004bf shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x000004c3 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x000004c6 orq %rsi, %rdi + 0x49, 0xc1, 0xe0, 0x30, //0x000004c9 shlq $48, %r8 + 0x49, 0xc1, 0xe6, 0x20, //0x000004cd shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x000004d1 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x000004d5 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x000004d8 orq %r14, %rdx + 0x4c, 0x09, 0xc2, //0x000004db orq %r8, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x000004de cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000004e2 jne LBB0_46 + 0x48, 0x85, 0xd2, //0x000004e8 testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000004eb jne LBB0_55 + //0x000004f1 LBB0_46 + 0x48, 0x09, 0xdf, //0x000004f1 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x000004f4 movq %rdx, %rax + 0x4c, 0x09, 0xe0, //0x000004f7 orq %r12, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x000004fa jne LBB0_56 + //0x00000500 LBB0_47 + 0x48, 0x85, 0xff, //0x00000500 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00000503 jne LBB0_57 + //0x00000509 LBB0_48 + 0x49, 0x83, 0xc5, 0xc0, //0x00000509 addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x0000050d addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000511 cmpq $63, %r13 + 0x0f, 0x87, 0x45, 0xff, 0xff, 0xff, //0x00000515 ja LBB0_44 + 0xe9, 0x1d, 0x12, 0x00, 0x00, //0x0000051b jmp LBB0_49 + //0x00000520 LBB0_55 + 0x4c, 0x89, 0xd8, //0x00000520 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000523 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xca, //0x00000527 bsfq %rdx, %r9 + 0x49, 0x01, 0xc1, //0x0000052b addq %rax, %r9 + 0x48, 0x09, 0xdf, //0x0000052e orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000531 movq %rdx, %rax + 0x4c, 0x09, 0xe0, //0x00000534 orq %r12, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000537 je LBB0_47 + //0x0000053d LBB0_56 + 0x4c, 0x89, 0xe0, //0x0000053d movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x00000540 notq %rax + 0x48, 0x21, 0xd0, //0x00000543 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000546 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xe1, //0x0000054a orq %r12, %rcx + 0x48, 0x89, 0xce, //0x0000054d movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000550 notq %rsi + 0x48, 0x21, 0xd6, //0x00000553 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000556 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000560 andq %rdx, %rsi + 0x45, 0x31, 0xe4, //0x00000563 xorl %r12d, %r12d + 0x48, 0x01, 0xc6, //0x00000566 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc4, //0x00000569 setb %r12b + 0x48, 0x01, 0xf6, //0x0000056d addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000570 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x0000057a xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x0000057d andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000580 notq %rsi + 0x48, 0x21, 0xf7, //0x00000583 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000586 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00000589 je LBB0_48 + //0x0000058f LBB0_57 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000058f bsfq %rdi, %rax + //0x00000593 LBB0_58 + 0x4c, 0x03, 0x5d, 0x98, //0x00000593 addq $-104(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000597 addq %rax, %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x0000059a movq $-48(%rbp), %r12 + 0xe9, 0x3a, 0x09, 0x00, 0x00, //0x0000059e jmp LBB0_187 + //0x000005a3 LBB0_59 + 0x80, 0xfb, 0x3a, //0x000005a3 cmpb $58, %bl + 0x0f, 0x85, 0xef, 0x1d, 0x00, 0x00, //0x000005a6 jne LBB0_422 + 0x4b, 0xc7, 0x04, 0xd1, 0x00, 0x00, 0x00, 0x00, //0x000005ac movq $0, (%r9,%r10,8) + 0xe9, 0xf7, 0xfb, 0xff, 0xff, //0x000005b4 jmp LBB0_2 + //0x000005b9 LBB0_61 + 0x80, 0xfb, 0x5d, //0x000005b9 cmpb $93, %bl + 0x0f, 0x84, 0x79, 0x02, 0x00, 0x00, //0x000005bc je LBB0_35 + 0x4b, 0xc7, 0x04, 0xd1, 0x01, 0x00, 0x00, 0x00, //0x000005c2 movq $1, (%r9,%r10,8) + 0x83, 0xfb, 0x7b, //0x000005ca cmpl $123, %ebx + 0x0f, 0x87, 0xc8, 0x1d, 0x00, 0x00, //0x000005cd ja LBB0_422 + //0x000005d3 LBB0_63 + 0x4f, 0x8d, 0x14, 0x3c, //0x000005d3 leaq (%r12,%r15), %r10 + 0x89, 0xd9, //0x000005d7 movl %ebx, %ecx + 0x48, 0x8d, 0x15, 0x0c, 0x20, 0x00, 0x00, //0x000005d9 leaq $8204(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8a, //0x000005e0 movslq (%rdx,%rcx,4), %rcx + 0x48, 0x01, 0xd1, //0x000005e4 addq %rdx, %rcx + 0xff, 0xe1, //0x000005e7 jmpq *%rcx + //0x000005e9 LBB0_66 + 0x48, 0x8b, 0x45, 0x90, //0x000005e9 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x78, 0x08, //0x000005ed movq $8(%rax), %rdi + 0x4c, 0x29, 0xff, //0x000005f1 subq %r15, %rdi + 0x0f, 0x84, 0x89, 0x1d, 0x00, 0x00, //0x000005f4 je LBB0_417 + 0x41, 0x80, 0x3a, 0x30, //0x000005fa cmpb $48, (%r10) + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000005fe jne LBB0_71 + 0x48, 0x83, 0xff, 0x01, //0x00000604 cmpq $1, %rdi + 0x0f, 0x84, 0x89, 0xfb, 0xff, 0xff, //0x00000608 je LBB0_1 + 0x43, 0x8a, 0x04, 0x1c, //0x0000060e movb (%r12,%r11), %al + 0x04, 0xd2, //0x00000612 addb $-46, %al + 0x3c, 0x37, //0x00000614 cmpb $55, %al + 0x0f, 0x87, 0x7b, 0xfb, 0xff, 0xff, //0x00000616 ja LBB0_1 + 0x0f, 0xb6, 0xc0, //0x0000061c movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x0000061f movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00000629 btq %rax, %rcx + 0x0f, 0x83, 0x64, 0xfb, 0xff, 0xff, //0x0000062d jae LBB0_1 + //0x00000633 LBB0_71 + 0x48, 0x83, 0xff, 0x10, //0x00000633 cmpq $16, %rdi + 0x0f, 0x82, 0xde, 0x17, 0x00, 0x00, //0x00000637 jb LBB0_342 + 0x4c, 0x8d, 0x4f, 0xf0, //0x0000063d leaq $-16(%rdi), %r9 + 0x4c, 0x89, 0xc8, //0x00000641 movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00000644 andq $-16, %rax + 0x4a, 0x8d, 0x44, 0x10, 0x10, //0x00000648 leaq $16(%rax,%r10), %rax + 0x48, 0x89, 0x45, 0xa8, //0x0000064d movq %rax, $-88(%rbp) + 0x41, 0x83, 0xe1, 0x0f, //0x00000651 andl $15, %r9d + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00000655 movq $-1, %r12 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x0000065c movq $-1, %r13 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000663 movq $-1, %r11 + 0x4d, 0x89, 0xd6, //0x0000066a movq %r10, %r14 + 0x90, 0x90, 0x90, //0x0000066d .p2align 4, 0x90 + //0x00000670 LBB0_73 + 0xc4, 0xc1, 0x7a, 0x6f, 0x16, //0x00000670 vmovdqu (%r14), %xmm2 + 0xc4, 0xc1, 0x69, 0x64, 0xe0, //0x00000675 vpcmpgtb %xmm8, %xmm2, %xmm4 + 0xc5, 0xb1, 0x64, 0xea, //0x0000067a vpcmpgtb %xmm2, %xmm9, %xmm5 + 0xc5, 0xd9, 0xdb, 0xe5, //0x0000067e vpand %xmm5, %xmm4, %xmm4 + 0xc5, 0xa9, 0x74, 0xea, //0x00000682 vpcmpeqb %xmm2, %xmm10, %xmm5 + 0xc5, 0xa1, 0x74, 0xf2, //0x00000686 vpcmpeqb %xmm2, %xmm11, %xmm6 + 0xc5, 0xc9, 0xeb, 0xed, //0x0000068a vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0x99, 0xeb, 0xf2, //0x0000068e vpor %xmm2, %xmm12, %xmm6 + 0xc5, 0x91, 0x74, 0xd2, //0x00000692 vpcmpeqb %xmm2, %xmm13, %xmm2 + 0xc5, 0x89, 0x74, 0xf6, //0x00000696 vpcmpeqb %xmm6, %xmm14, %xmm6 + 0xc5, 0xc9, 0xeb, 0xfa, //0x0000069a vpor %xmm2, %xmm6, %xmm7 + 0xc5, 0xd1, 0xeb, 0xe4, //0x0000069e vpor %xmm4, %xmm5, %xmm4 + 0xc5, 0xc1, 0xeb, 0xe4, //0x000006a2 vpor %xmm4, %xmm7, %xmm4 + 0xc5, 0x79, 0xd7, 0xc2, //0x000006a6 vpmovmskb %xmm2, %r8d + 0xc5, 0xf9, 0xd7, 0xc6, //0x000006aa vpmovmskb %xmm6, %eax + 0xc5, 0xf9, 0xd7, 0xd5, //0x000006ae vpmovmskb %xmm5, %edx + 0xc5, 0xf9, 0xd7, 0xcc, //0x000006b2 vpmovmskb %xmm4, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x000006b6 movl $2863311530, %esi + 0x48, 0x81, 0xc6, 0x55, 0x55, 0x55, 0x55, //0x000006bb addq $1431655765, %rsi + 0x48, 0x31, 0xce, //0x000006c2 xorq %rcx, %rsi + 0x48, 0x0f, 0xbc, 0xce, //0x000006c5 bsfq %rsi, %rcx + 0x83, 0xf9, 0x10, //0x000006c9 cmpl $16, %ecx + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000006cc je LBB0_75 + 0xbe, 0xff, 0xff, 0xff, 0xff, //0x000006d2 movl $-1, %esi + 0xd3, 0xe6, //0x000006d7 shll %cl, %esi + 0xf7, 0xd6, //0x000006d9 notl %esi + 0x41, 0x21, 0xf0, //0x000006db andl %esi, %r8d + 0x21, 0xf0, //0x000006de andl %esi, %eax + 0x21, 0xd6, //0x000006e0 andl %edx, %esi + 0x89, 0xf2, //0x000006e2 movl %esi, %edx + //0x000006e4 LBB0_75 + 0x41, 0x8d, 0x70, 0xff, //0x000006e4 leal $-1(%r8), %esi + 0x44, 0x21, 0xc6, //0x000006e8 andl %r8d, %esi + 0x0f, 0x85, 0x17, 0x10, 0x00, 0x00, //0x000006eb jne LBB0_308 + 0x8d, 0x70, 0xff, //0x000006f1 leal $-1(%rax), %esi + 0x21, 0xc6, //0x000006f4 andl %eax, %esi + 0x0f, 0x85, 0x0c, 0x10, 0x00, 0x00, //0x000006f6 jne LBB0_308 + 0x8d, 0x72, 0xff, //0x000006fc leal $-1(%rdx), %esi + 0x21, 0xd6, //0x000006ff andl %edx, %esi + 0x0f, 0x85, 0x01, 0x10, 0x00, 0x00, //0x00000701 jne LBB0_308 + 0x45, 0x85, 0xc0, //0x00000707 testl %r8d, %r8d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x0000070a je LBB0_81 + 0x4c, 0x89, 0xf3, //0x00000710 movq %r14, %rbx + 0x4c, 0x29, 0xd3, //0x00000713 subq %r10, %rbx + 0x41, 0x0f, 0xbc, 0xf0, //0x00000716 bsfl %r8d, %esi + 0x48, 0x01, 0xde, //0x0000071a addq %rbx, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x0000071d cmpq $-1, %r11 + 0x0f, 0x85, 0x93, 0x13, 0x00, 0x00, //0x00000721 jne LBB0_325 + 0x49, 0x89, 0xf3, //0x00000727 movq %rsi, %r11 + //0x0000072a LBB0_81 + 0x85, 0xc0, //0x0000072a testl %eax, %eax + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000072c je LBB0_84 + 0x4c, 0x89, 0xf6, //0x00000732 movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x00000735 subq %r10, %rsi + 0x0f, 0xbc, 0xc0, //0x00000738 bsfl %eax, %eax + 0x48, 0x01, 0xf0, //0x0000073b addq %rsi, %rax + 0x49, 0x83, 0xfd, 0xff, //0x0000073e cmpq $-1, %r13 + 0x0f, 0x85, 0x64, 0x11, 0x00, 0x00, //0x00000742 jne LBB0_313 + 0x49, 0x89, 0xc5, //0x00000748 movq %rax, %r13 + //0x0000074b LBB0_84 + 0x85, 0xd2, //0x0000074b testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000074d je LBB0_87 + 0x4c, 0x89, 0xf6, //0x00000753 movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x00000756 subq %r10, %rsi + 0x0f, 0xbc, 0xc2, //0x00000759 bsfl %edx, %eax + 0x48, 0x01, 0xf0, //0x0000075c addq %rsi, %rax + 0x49, 0x83, 0xfc, 0xff, //0x0000075f cmpq $-1, %r12 + 0x0f, 0x85, 0x43, 0x11, 0x00, 0x00, //0x00000763 jne LBB0_313 + 0x49, 0x89, 0xc4, //0x00000769 movq %rax, %r12 + //0x0000076c LBB0_87 + 0x83, 0xf9, 0x10, //0x0000076c cmpl $16, %ecx + 0x0f, 0x85, 0xa8, 0x04, 0x00, 0x00, //0x0000076f jne LBB0_148 + 0x49, 0x83, 0xc6, 0x10, //0x00000775 addq $16, %r14 + 0x48, 0x83, 0xc7, 0xf0, //0x00000779 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x0f, //0x0000077d cmpq $15, %rdi + 0x0f, 0x87, 0xe9, 0xfe, 0xff, 0xff, //0x00000781 ja LBB0_73 + 0x4d, 0x85, 0xc9, //0x00000787 testq %r9, %r9 + 0x0f, 0x84, 0xb1, 0x04, 0x00, 0x00, //0x0000078a je LBB0_150 + //0x00000790 LBB0_90 + 0x48, 0x8b, 0x7d, 0xa8, //0x00000790 movq $-88(%rbp), %rdi + 0x4a, 0x8d, 0x0c, 0x0f, //0x00000794 leaq (%rdi,%r9), %rcx + 0x48, 0x8d, 0x35, 0x29, 0x21, 0x00, 0x00, //0x00000798 leaq $8489(%rip), %rsi /* LJTI0_3+0(%rip) */ + 0xe9, 0x18, 0x00, 0x00, 0x00, //0x0000079f jmp LBB0_92 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000007a4 .p2align 4, 0x90 + //0x000007b0 LBB0_91 + 0x48, 0x89, 0xc7, //0x000007b0 movq %rax, %rdi + 0x49, 0xff, 0xc9, //0x000007b3 decq %r9 + 0x0f, 0x84, 0xfb, 0x10, 0x00, 0x00, //0x000007b6 je LBB0_314 + //0x000007bc LBB0_92 + 0x0f, 0xbe, 0x17, //0x000007bc movsbl (%rdi), %edx + 0x83, 0xc2, 0xd5, //0x000007bf addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x000007c2 cmpl $58, %edx + 0x0f, 0x87, 0x72, 0x04, 0x00, 0x00, //0x000007c5 ja LBB0_149 + 0x48, 0x8d, 0x47, 0x01, //0x000007cb leaq $1(%rdi), %rax + 0x48, 0x63, 0x14, 0x96, //0x000007cf movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x000007d3 addq %rsi, %rdx + 0xff, 0xe2, //0x000007d6 jmpq *%rdx + //0x000007d8 LBB0_94 + 0x48, 0x89, 0xc2, //0x000007d8 movq %rax, %rdx + 0x4c, 0x29, 0xd2, //0x000007db subq %r10, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x000007de cmpq $-1, %r12 + 0x0f, 0x85, 0x86, 0x13, 0x00, 0x00, //0x000007e2 jne LBB0_418 + 0x48, 0xff, 0xca, //0x000007e8 decq %rdx + 0x49, 0x89, 0xd4, //0x000007eb movq %rdx, %r12 + 0xe9, 0xbd, 0xff, 0xff, 0xff, //0x000007ee jmp LBB0_91 + //0x000007f3 LBB0_96 + 0x48, 0x89, 0xc2, //0x000007f3 movq %rax, %rdx + 0x4c, 0x29, 0xd2, //0x000007f6 subq %r10, %rdx + 0x49, 0x83, 0xfd, 0xff, //0x000007f9 cmpq $-1, %r13 + 0x0f, 0x85, 0x6b, 0x13, 0x00, 0x00, //0x000007fd jne LBB0_418 + 0x48, 0xff, 0xca, //0x00000803 decq %rdx + 0x49, 0x89, 0xd5, //0x00000806 movq %rdx, %r13 + 0xe9, 0xa2, 0xff, 0xff, 0xff, //0x00000809 jmp LBB0_91 + //0x0000080e LBB0_98 + 0x48, 0x89, 0xc2, //0x0000080e movq %rax, %rdx + 0x4c, 0x29, 0xd2, //0x00000811 subq %r10, %rdx + 0x49, 0x83, 0xfb, 0xff, //0x00000814 cmpq $-1, %r11 + 0x0f, 0x85, 0x50, 0x13, 0x00, 0x00, //0x00000818 jne LBB0_418 + 0x48, 0xff, 0xca, //0x0000081e decq %rdx + 0x49, 0x89, 0xd3, //0x00000821 movq %rdx, %r11 + 0xe9, 0x87, 0xff, 0xff, 0xff, //0x00000824 jmp LBB0_91 + //0x00000829 LBB0_64 + 0x83, 0xfb, 0x22, //0x00000829 cmpl $34, %ebx + 0x0f, 0x84, 0x19, 0x02, 0x00, 0x00, //0x0000082c je LBB0_125 + //0x00000832 LBB0_38 + 0x83, 0xfb, 0x7d, //0x00000832 cmpl $125, %ebx + 0x0f, 0x85, 0x60, 0x1b, 0x00, 0x00, //0x00000835 jne LBB0_422 + //0x0000083b LBB0_35 + 0x49, 0x89, 0x11, //0x0000083b movq %rdx, (%r9) + 0x49, 0x89, 0xd2, //0x0000083e movq %rdx, %r10 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x00000841 movq $-136(%rbp), %rax + 0x48, 0x85, 0xd2, //0x00000848 testq %rdx, %rdx + 0x0f, 0x85, 0x75, 0xf9, 0xff, 0xff, //0x0000084b jne LBB0_4 + 0xe9, 0x4c, 0x1b, 0x00, 0x00, //0x00000851 jmp LBB0_423 + //0x00000856 LBB0_100 + 0x49, 0x81, 0xfa, 0xff, 0x0f, 0x00, 0x00, //0x00000856 cmpq $4095, %r10 + 0x0f, 0x8f, 0xfa, 0x1a, 0x00, 0x00, //0x0000085d jg LBB0_441 + 0x49, 0x8d, 0x42, 0x01, //0x00000863 leaq $1(%r10), %rax + 0x49, 0x89, 0x01, //0x00000867 movq %rax, (%r9) + 0x4b, 0xc7, 0x44, 0xd1, 0x08, 0x00, 0x00, 0x00, 0x00, //0x0000086a movq $0, $8(%r9,%r10,8) + 0xe9, 0x38, 0xf9, 0xff, 0xff, //0x00000873 jmp LBB0_2 + //0x00000878 LBB0_104 + 0x48, 0x89, 0xd0, //0x00000878 movq %rdx, %rax + 0x4c, 0x29, 0xd8, //0x0000087b subq %r11, %rax + 0x0f, 0x84, 0xcd, 0x1c, 0x00, 0x00, //0x0000087e je LBB0_456 + 0x4c, 0x89, 0xd9, //0x00000884 movq %r11, %rcx + 0x4d, 0x01, 0xe3, //0x00000887 addq %r12, %r11 + 0x48, 0x83, 0xf8, 0x40, //0x0000088a cmpq $64, %rax + 0x0f, 0x82, 0xc1, 0x15, 0x00, 0x00, //0x0000088e jb LBB0_354 + 0x89, 0xc6, //0x00000894 movl %eax, %esi + 0x83, 0xe6, 0x3f, //0x00000896 andl $63, %esi + 0x48, 0x89, 0x75, 0xb8, //0x00000899 movq %rsi, $-72(%rbp) + 0x4e, 0x8d, 0x54, 0x02, 0xc0, //0x0000089d leaq $-64(%rdx,%r8), %r10 + 0x49, 0x83, 0xe2, 0xc0, //0x000008a2 andq $-64, %r10 + 0x49, 0x01, 0xca, //0x000008a6 addq %rcx, %r10 + 0x4c, 0x03, 0x55, 0x88, //0x000008a9 addq $-120(%rbp), %r10 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000008ad movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x000008b4 xorl %r8d, %r8d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008b7 .p2align 4, 0x90 + //0x000008c0 LBB0_107 + 0xc4, 0xc1, 0x7a, 0x6f, 0x33, //0x000008c0 vmovdqu (%r11), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x000008c5 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x20, //0x000008cb vmovdqu $32(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x30, //0x000008d1 vmovdqu $48(%r11), %xmm7 + 0xc5, 0xc9, 0x74, 0xd0, //0x000008d7 vpcmpeqb %xmm0, %xmm6, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x000008db vpmovmskb %xmm2, %esi + 0xc5, 0xd1, 0x74, 0xd0, //0x000008df vpcmpeqb %xmm0, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x000008e3 vpmovmskb %xmm2, %ebx + 0xc5, 0xd9, 0x74, 0xd0, //0x000008e7 vpcmpeqb %xmm0, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x000008eb vpmovmskb %xmm2, %ecx + 0xc5, 0xc1, 0x74, 0xd0, //0x000008ef vpcmpeqb %xmm0, %xmm7, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x000008f3 vpmovmskb %xmm2, %edx + 0xc5, 0xc9, 0x74, 0xd1, //0x000008f7 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xea, //0x000008fb vpmovmskb %xmm2, %r13d + 0xc5, 0xd1, 0x74, 0xd1, //0x000008ff vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00000903 vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x00000907 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x0000090b shlq $16, %rbx + 0x48, 0x09, 0xde, //0x0000090f orq %rbx, %rsi + 0xc5, 0xf9, 0xd7, 0xda, //0x00000912 vpmovmskb %xmm2, %ebx + 0xc5, 0xc1, 0x74, 0xd1, //0x00000916 vpcmpeqb %xmm1, %xmm7, %xmm2 + 0x48, 0xc1, 0xe1, 0x20, //0x0000091a shlq $32, %rcx + 0x48, 0x09, 0xce, //0x0000091e orq %rcx, %rsi + 0xc5, 0xf9, 0xd7, 0xca, //0x00000921 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd6, //0x00000925 vpcmpgtb %xmm6, %xmm15, %xmm2 + 0xc5, 0xc9, 0x64, 0xf3, //0x00000929 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xd2, //0x0000092d vpand %xmm2, %xmm6, %xmm2 + 0x48, 0xc1, 0xe7, 0x10, //0x00000931 shlq $16, %rdi + 0x49, 0x09, 0xfd, //0x00000935 orq %rdi, %r13 + 0xc5, 0x79, 0xd7, 0xe2, //0x00000938 vpmovmskb %xmm2, %r12d + 0xc5, 0x81, 0x64, 0xd5, //0x0000093c vpcmpgtb %xmm5, %xmm15, %xmm2 + 0xc5, 0xd1, 0x64, 0xeb, //0x00000940 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xd2, //0x00000944 vpand %xmm2, %xmm5, %xmm2 + 0x48, 0xc1, 0xe3, 0x20, //0x00000948 shlq $32, %rbx + 0x49, 0x09, 0xdd, //0x0000094c orq %rbx, %r13 + 0xc5, 0xf9, 0xd7, 0xfa, //0x0000094f vpmovmskb %xmm2, %edi + 0xc5, 0x81, 0x64, 0xd4, //0x00000953 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00000957 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x0000095b vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe1, 0x30, //0x0000095f shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000963 orq %rcx, %r13 + 0xc5, 0xf9, 0xd7, 0xca, //0x00000966 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd7, //0x0000096a vpcmpgtb %xmm7, %xmm15, %xmm2 + 0xc5, 0xc1, 0x64, 0xe3, //0x0000096e vpcmpgtb %xmm3, %xmm7, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00000972 vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe7, 0x10, //0x00000976 shlq $16, %rdi + 0x49, 0x09, 0xfc, //0x0000097a orq %rdi, %r12 + 0xc5, 0x79, 0xd7, 0xf2, //0x0000097d vpmovmskb %xmm2, %r14d + 0x48, 0xc1, 0xe2, 0x30, //0x00000981 shlq $48, %rdx + 0x48, 0xc1, 0xe1, 0x20, //0x00000985 shlq $32, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00000989 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000098d jne LBB0_109 + 0x4d, 0x85, 0xed, //0x00000993 testq %r13, %r13 + 0x0f, 0x85, 0x9c, 0x00, 0x00, 0x00, //0x00000996 jne LBB0_124 + //0x0000099c LBB0_109 + 0x49, 0xc1, 0xe6, 0x30, //0x0000099c shlq $48, %r14 + 0x49, 0x09, 0xcc, //0x000009a0 orq %rcx, %r12 + 0x48, 0x09, 0xd6, //0x000009a3 orq %rdx, %rsi + 0x4c, 0x89, 0xe9, //0x000009a6 movq %r13, %rcx + 0x4c, 0x09, 0xc1, //0x000009a9 orq %r8, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000009ac jne LBB0_145 + 0x4d, 0x09, 0xf4, //0x000009b2 orq %r14, %r12 + 0x48, 0x85, 0xf6, //0x000009b5 testq %rsi, %rsi + 0x0f, 0x85, 0x39, 0x02, 0x00, 0x00, //0x000009b8 jne LBB0_146 + //0x000009be LBB0_111 + 0x4d, 0x85, 0xe4, //0x000009be testq %r12, %r12 + 0x0f, 0x85, 0x0c, 0x1a, 0x00, 0x00, //0x000009c1 jne LBB0_426 + 0x48, 0x83, 0xc0, 0xc0, //0x000009c7 addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x000009cb addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x000009cf cmpq $63, %rax + 0x0f, 0x87, 0xe7, 0xfe, 0xff, 0xff, //0x000009d3 ja LBB0_107 + 0xe9, 0xda, 0x0d, 0x00, 0x00, //0x000009d9 jmp LBB0_113 + //0x000009de LBB0_145 + 0x4c, 0x89, 0xc1, //0x000009de movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x000009e1 notq %rcx + 0x4c, 0x21, 0xe9, //0x000009e4 andq %r13, %rcx + 0x48, 0x8d, 0x14, 0x09, //0x000009e7 leaq (%rcx,%rcx), %rdx + 0x4c, 0x09, 0xc2, //0x000009eb orq %r8, %rdx + 0x48, 0x89, 0xd7, //0x000009ee movq %rdx, %rdi + 0x48, 0xf7, 0xd7, //0x000009f1 notq %rdi + 0x4c, 0x21, 0xef, //0x000009f4 andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000009f7 movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x00000a01 andq %rbx, %rdi + 0x45, 0x31, 0xc0, //0x00000a04 xorl %r8d, %r8d + 0x48, 0x01, 0xcf, //0x00000a07 addq %rcx, %rdi + 0x41, 0x0f, 0x92, 0xc0, //0x00000a0a setb %r8b + 0x48, 0x01, 0xff, //0x00000a0e addq %rdi, %rdi + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000a11 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcf, //0x00000a1b xorq %rcx, %rdi + 0x48, 0x21, 0xd7, //0x00000a1e andq %rdx, %rdi + 0x48, 0xf7, 0xd7, //0x00000a21 notq %rdi + 0x48, 0x21, 0xfe, //0x00000a24 andq %rdi, %rsi + 0x4d, 0x09, 0xf4, //0x00000a27 orq %r14, %r12 + 0x48, 0x85, 0xf6, //0x00000a2a testq %rsi, %rsi + 0x0f, 0x84, 0x8b, 0xff, 0xff, 0xff, //0x00000a2d je LBB0_111 + 0xe9, 0xbf, 0x01, 0x00, 0x00, //0x00000a33 jmp LBB0_146 + //0x00000a38 LBB0_124 + 0x4c, 0x89, 0xdf, //0x00000a38 movq %r11, %rdi + 0x48, 0x2b, 0x7d, 0xd0, //0x00000a3b subq $-48(%rbp), %rdi + 0x4d, 0x0f, 0xbc, 0xcd, //0x00000a3f bsfq %r13, %r9 + 0x49, 0x01, 0xf9, //0x00000a43 addq %rdi, %r9 + 0xe9, 0x51, 0xff, 0xff, 0xff, //0x00000a46 jmp LBB0_109 + //0x00000a4b LBB0_125 + 0x4b, 0xc7, 0x04, 0xd1, 0x02, 0x00, 0x00, 0x00, //0x00000a4b movq $2, (%r9,%r10,8) + 0x48, 0x8b, 0x45, 0x90, //0x00000a53 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x00000a57 movq $8(%rax), %rdx + 0xf6, 0x45, 0x80, 0x20, //0x00000a5b testb $32, $-128(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x00000a5f movq %r11, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb0, //0x00000a63 movq %rdx, $-80(%rbp) + 0x0f, 0x85, 0x71, 0x02, 0x00, 0x00, //0x00000a67 jne LBB0_161 + 0x49, 0x89, 0xd5, //0x00000a6d movq %rdx, %r13 + 0x4d, 0x29, 0xdd, //0x00000a70 subq %r11, %r13 + 0x0f, 0x84, 0xf3, 0x1a, 0x00, 0x00, //0x00000a73 je LBB0_454 + 0x4c, 0x89, 0xd8, //0x00000a79 movq %r11, %rax + 0x4d, 0x01, 0xe3, //0x00000a7c addq %r12, %r11 + 0x49, 0x83, 0xfd, 0x40, //0x00000a7f cmpq $64, %r13 + 0x0f, 0x82, 0xfc, 0x13, 0x00, 0x00, //0x00000a83 jb LBB0_357 + 0x45, 0x89, 0xea, //0x00000a89 movl %r13d, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x00000a8c andl $63, %r10d + 0x4a, 0x8d, 0x4c, 0x02, 0xc0, //0x00000a90 leaq $-64(%rdx,%r8), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000a95 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000a99 addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x88, //0x00000a9c addq $-120(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb8, //0x00000aa0 movq %rcx, $-72(%rbp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00000aa4 movq $-1, %r12 + 0x45, 0x31, 0xc9, //0x00000aab xorl %r9d, %r9d + 0x90, 0x90, //0x00000aae .p2align 4, 0x90 + //0x00000ab0 LBB0_129 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00000ab0 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00000ab5 vmovdqu $16(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x20, //0x00000abb vmovdqu $32(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00000ac1 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xe9, 0x74, 0xf8, //0x00000ac7 vpcmpeqb %xmm0, %xmm2, %xmm7 + 0xc5, 0xf9, 0xd7, 0xff, //0x00000acb vpmovmskb %xmm7, %edi + 0xc5, 0xd9, 0x74, 0xf8, //0x00000acf vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00000ad3 vpmovmskb %xmm7, %ecx + 0xc5, 0xd1, 0x74, 0xf8, //0x00000ad7 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x00000adb vpmovmskb %xmm7, %esi + 0xc5, 0xc9, 0x74, 0xf8, //0x00000adf vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0xf9, 0xd7, 0xdf, //0x00000ae3 vpmovmskb %xmm7, %ebx + 0xc5, 0xe9, 0x74, 0xd1, //0x00000ae7 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000aeb vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x00000aef vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00000af3 vpmovmskb %xmm2, %eax + 0xc5, 0xd1, 0x74, 0xd1, //0x00000af7 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00000afb vpmovmskb %xmm2, %r14d + 0xc5, 0xc9, 0x74, 0xd1, //0x00000aff vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xc2, //0x00000b03 vpmovmskb %xmm2, %r8d + 0x48, 0xc1, 0xe3, 0x30, //0x00000b07 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x00000b0b shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00000b0f shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00000b13 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00000b16 orq %rsi, %rdi + 0x49, 0xc1, 0xe0, 0x30, //0x00000b19 shlq $48, %r8 + 0x49, 0xc1, 0xe6, 0x20, //0x00000b1d shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x00000b21 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00000b25 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x00000b28 orq %r14, %rdx + 0x4c, 0x09, 0xc2, //0x00000b2b orq %r8, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x00000b2e cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000b32 jne LBB0_131 + 0x48, 0x85, 0xd2, //0x00000b38 testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000b3b jne LBB0_140 + //0x00000b41 LBB0_131 + 0x48, 0x09, 0xdf, //0x00000b41 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000b44 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00000b47 orq %r9, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x00000b4a jne LBB0_141 + //0x00000b50 LBB0_132 + 0x48, 0x85, 0xff, //0x00000b50 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00000b53 jne LBB0_142 + //0x00000b59 LBB0_133 + 0x49, 0x83, 0xc5, 0xc0, //0x00000b59 addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x00000b5d addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000b61 cmpq $63, %r13 + 0x0f, 0x87, 0x45, 0xff, 0xff, 0xff, //0x00000b65 ja LBB0_129 + 0xe9, 0x64, 0x0d, 0x00, 0x00, //0x00000b6b jmp LBB0_134 + //0x00000b70 LBB0_140 + 0x4c, 0x89, 0xd8, //0x00000b70 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000b73 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xe2, //0x00000b77 bsfq %rdx, %r12 + 0x49, 0x01, 0xc4, //0x00000b7b addq %rax, %r12 + 0x48, 0x09, 0xdf, //0x00000b7e orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000b81 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00000b84 orq %r9, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000b87 je LBB0_132 + //0x00000b8d LBB0_141 + 0x4c, 0x89, 0xc8, //0x00000b8d movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000b90 notq %rax + 0x48, 0x21, 0xd0, //0x00000b93 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000b96 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x00000b9a orq %r9, %rcx + 0x48, 0x89, 0xce, //0x00000b9d movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000ba0 notq %rsi + 0x48, 0x21, 0xd6, //0x00000ba3 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000ba6 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000bb0 andq %rdx, %rsi + 0x45, 0x31, 0xc9, //0x00000bb3 xorl %r9d, %r9d + 0x48, 0x01, 0xc6, //0x00000bb6 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc1, //0x00000bb9 setb %r9b + 0x48, 0x01, 0xf6, //0x00000bbd addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000bc0 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x00000bca xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x00000bcd andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000bd0 notq %rsi + 0x48, 0x21, 0xf7, //0x00000bd3 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000bd6 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00000bd9 je LBB0_133 + //0x00000bdf LBB0_142 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000bdf bsfq %rdi, %rax + //0x00000be3 LBB0_143 + 0x4c, 0x03, 0x5d, 0x98, //0x00000be3 addq $-104(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000be7 addq %rax, %r11 + //0x00000bea LBB0_144 + 0x48, 0x8b, 0x75, 0xc8, //0x00000bea movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000bee movq $-64(%rbp), %r9 + 0xe9, 0x59, 0x03, 0x00, 0x00, //0x00000bf2 jmp LBB0_195 + //0x00000bf7 LBB0_146 + 0x48, 0x0f, 0xbc, 0xc6, //0x00000bf7 bsfq %rsi, %rax + 0x4d, 0x85, 0xe4, //0x00000bfb testq %r12, %r12 + 0x0f, 0x84, 0xbf, 0x02, 0x00, 0x00, //0x00000bfe je LBB0_185 + 0x49, 0x0f, 0xbc, 0xcc, //0x00000c04 bsfq %r12, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00000c08 movq $-48(%rbp), %r12 + 0x4d, 0x29, 0xe3, //0x00000c0c subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x00000c0f cmpq %rax, %rcx + 0x0f, 0x83, 0xc0, 0x02, 0x00, 0x00, //0x00000c12 jae LBB0_186 + 0xe9, 0x3d, 0x19, 0x00, 0x00, //0x00000c18 jmp LBB0_306 + //0x00000c1d LBB0_148 + 0x49, 0x01, 0xce, //0x00000c1d addq %rcx, %r14 + 0x4c, 0x89, 0x75, 0xa8, //0x00000c20 movq %r14, $-88(%rbp) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000c24 movq $-1, %rax + 0x4d, 0x85, 0xed, //0x00000c2b testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x00000c2e movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x1d, 0x00, 0x00, 0x00, //0x00000c32 jne LBB0_151 + 0xe9, 0x55, 0x17, 0x00, 0x00, //0x00000c38 jmp LBB0_420 + //0x00000c3d LBB0_149 + 0x48, 0x89, 0x7d, 0xa8, //0x00000c3d movq %rdi, $-88(%rbp) + //0x00000c41 LBB0_150 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000c41 movq $-1, %rax + 0x4d, 0x85, 0xed, //0x00000c48 testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x00000c4b movq $-56(%rbp), %rsi + 0x0f, 0x84, 0x3d, 0x17, 0x00, 0x00, //0x00000c4f je LBB0_420 + //0x00000c55 LBB0_151 + 0x4d, 0x85, 0xe4, //0x00000c55 testq %r12, %r12 + 0x0f, 0x84, 0x34, 0x17, 0x00, 0x00, //0x00000c58 je LBB0_420 + 0x4d, 0x85, 0xdb, //0x00000c5e testq %r11, %r11 + 0x0f, 0x84, 0x2b, 0x17, 0x00, 0x00, //0x00000c61 je LBB0_420 + 0x48, 0x8b, 0x45, 0xa8, //0x00000c67 movq $-88(%rbp), %rax + 0x4c, 0x29, 0xd0, //0x00000c6b subq %r10, %rax + 0x48, 0x89, 0xc1, //0x00000c6e movq %rax, %rcx + 0x48, 0xff, 0xc8, //0x00000c71 decq %rax + 0x49, 0x39, 0xc5, //0x00000c74 cmpq %rax, %r13 + 0x0f, 0x84, 0x45, 0x00, 0x00, 0x00, //0x00000c77 je LBB0_159 + 0x49, 0x39, 0xc3, //0x00000c7d cmpq %rax, %r11 + 0x0f, 0x84, 0x3c, 0x00, 0x00, 0x00, //0x00000c80 je LBB0_159 + 0x49, 0x39, 0xc4, //0x00000c86 cmpq %rax, %r12 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00000c89 je LBB0_159 + 0x4d, 0x85, 0xe4, //0x00000c8f testq %r12, %r12 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000c92 movq $-64(%rbp), %r9 + 0x0f, 0x8e, 0x68, 0x02, 0x00, 0x00, //0x00000c96 jle LBB0_189 + 0x49, 0x8d, 0x44, 0x24, 0xff, //0x00000c9c leaq $-1(%r12), %rax + 0x49, 0x39, 0xc5, //0x00000ca1 cmpq %rax, %r13 + 0x0f, 0x84, 0x5a, 0x02, 0x00, 0x00, //0x00000ca4 je LBB0_189 + 0x49, 0xf7, 0xd4, //0x00000caa notq %r12 + 0x4d, 0x89, 0xe3, //0x00000cad movq %r12, %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000cb0 movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xdb, //0x00000cb4 testq %r11, %r11 + 0x0f, 0x89, 0xd7, 0xf4, 0xff, 0xff, //0x00000cb7 jns LBB0_258 + 0xe9, 0xcd, 0x16, 0x00, 0x00, //0x00000cbd jmp LBB0_419 + //0x00000cc2 LBB0_159 + 0x49, 0x89, 0xcb, //0x00000cc2 movq %rcx, %r11 + 0x49, 0xf7, 0xdb, //0x00000cc5 negq %r11 + //0x00000cc8 LBB0_160 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000cc8 movq $-48(%rbp), %r12 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000ccc movq $-64(%rbp), %r9 + 0x4d, 0x85, 0xdb, //0x00000cd0 testq %r11, %r11 + 0x0f, 0x89, 0xbb, 0xf4, 0xff, 0xff, //0x00000cd3 jns LBB0_258 + 0xe9, 0xb1, 0x16, 0x00, 0x00, //0x00000cd9 jmp LBB0_419 + //0x00000cde LBB0_161 + 0x48, 0x89, 0xd0, //0x00000cde movq %rdx, %rax + 0x4c, 0x29, 0xd8, //0x00000ce1 subq %r11, %rax + 0x0f, 0x84, 0x82, 0x18, 0x00, 0x00, //0x00000ce4 je LBB0_454 + 0x4c, 0x89, 0xd9, //0x00000cea movq %r11, %rcx + 0x4d, 0x01, 0xe3, //0x00000ced addq %r12, %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00000cf0 cmpq $64, %rax + 0x0f, 0x82, 0xa4, 0x11, 0x00, 0x00, //0x00000cf4 jb LBB0_358 + 0x41, 0x89, 0xc2, //0x00000cfa movl %eax, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x00000cfd andl $63, %r10d + 0x4e, 0x8d, 0x44, 0x02, 0xc0, //0x00000d01 leaq $-64(%rdx,%r8), %r8 + 0x49, 0x83, 0xe0, 0xc0, //0x00000d06 andq $-64, %r8 + 0x49, 0x01, 0xc8, //0x00000d0a addq %rcx, %r8 + 0x4c, 0x03, 0x45, 0x88, //0x00000d0d addq $-120(%rbp), %r8 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00000d11 movq $-1, %r12 + 0x45, 0x31, 0xc9, //0x00000d18 xorl %r9d, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d1b .p2align 4, 0x90 + //0x00000d20 LBB0_164 + 0xc4, 0xc1, 0x7a, 0x6f, 0x33, //0x00000d20 vmovdqu (%r11), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x00000d25 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x20, //0x00000d2b vmovdqu $32(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x30, //0x00000d31 vmovdqu $48(%r11), %xmm7 + 0xc5, 0xc9, 0x74, 0xd0, //0x00000d37 vpcmpeqb %xmm0, %xmm6, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x00000d3b vpmovmskb %xmm2, %esi + 0xc5, 0xd1, 0x74, 0xd0, //0x00000d3f vpcmpeqb %xmm0, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x00000d43 vpmovmskb %xmm2, %ebx + 0xc5, 0xd9, 0x74, 0xd0, //0x00000d47 vpcmpeqb %xmm0, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x00000d4b vpmovmskb %xmm2, %ecx + 0xc5, 0xc1, 0x74, 0xd0, //0x00000d4f vpcmpeqb %xmm0, %xmm7, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00000d53 vpmovmskb %xmm2, %edi + 0xc5, 0xc9, 0x74, 0xd1, //0x00000d57 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xea, //0x00000d5b vpmovmskb %xmm2, %r13d + 0xc5, 0xd1, 0x74, 0xd1, //0x00000d5f vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000d63 vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x00000d67 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x00000d6b shlq $16, %rbx + 0x48, 0x09, 0xde, //0x00000d6f orq %rbx, %rsi + 0xc5, 0xf9, 0xd7, 0xda, //0x00000d72 vpmovmskb %xmm2, %ebx + 0xc5, 0xc1, 0x74, 0xd1, //0x00000d76 vpcmpeqb %xmm1, %xmm7, %xmm2 + 0x48, 0xc1, 0xe1, 0x20, //0x00000d7a shlq $32, %rcx + 0x48, 0x09, 0xce, //0x00000d7e orq %rcx, %rsi + 0xc5, 0xf9, 0xd7, 0xca, //0x00000d81 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd6, //0x00000d85 vpcmpgtb %xmm6, %xmm15, %xmm2 + 0xc5, 0xc9, 0x64, 0xf3, //0x00000d89 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xd2, //0x00000d8d vpand %xmm2, %xmm6, %xmm2 + 0x48, 0xc1, 0xe2, 0x10, //0x00000d91 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x00000d95 orq %rdx, %r13 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000d98 vpmovmskb %xmm2, %edx + 0xc5, 0x81, 0x64, 0xd5, //0x00000d9c vpcmpgtb %xmm5, %xmm15, %xmm2 + 0xc5, 0xd1, 0x64, 0xeb, //0x00000da0 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xd2, //0x00000da4 vpand %xmm2, %xmm5, %xmm2 + 0x48, 0xc1, 0xe3, 0x20, //0x00000da8 shlq $32, %rbx + 0x49, 0x09, 0xdd, //0x00000dac orq %rbx, %r13 + 0xc5, 0xf9, 0xd7, 0xda, //0x00000daf vpmovmskb %xmm2, %ebx + 0xc5, 0x81, 0x64, 0xd4, //0x00000db3 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00000db7 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00000dbb vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe1, 0x30, //0x00000dbf shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000dc3 orq %rcx, %r13 + 0xc5, 0xf9, 0xd7, 0xca, //0x00000dc6 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd7, //0x00000dca vpcmpgtb %xmm7, %xmm15, %xmm2 + 0xc5, 0xc1, 0x64, 0xe3, //0x00000dce vpcmpgtb %xmm3, %xmm7, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00000dd2 vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x00000dd6 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00000dda orq %rbx, %rdx + 0xc5, 0x79, 0xd7, 0xf2, //0x00000ddd vpmovmskb %xmm2, %r14d + 0x48, 0xc1, 0xe7, 0x30, //0x00000de1 shlq $48, %rdi + 0x48, 0xc1, 0xe1, 0x20, //0x00000de5 shlq $32, %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00000de9 cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000ded jne LBB0_166 + 0x4d, 0x85, 0xed, //0x00000df3 testq %r13, %r13 + 0x0f, 0x85, 0x9e, 0x00, 0x00, 0x00, //0x00000df6 jne LBB0_181 + //0x00000dfc LBB0_166 + 0x49, 0xc1, 0xe6, 0x30, //0x00000dfc shlq $48, %r14 + 0x48, 0x09, 0xca, //0x00000e00 orq %rcx, %rdx + 0x48, 0x09, 0xfe, //0x00000e03 orq %rdi, %rsi + 0x4c, 0x89, 0xe9, //0x00000e06 movq %r13, %rcx + 0x4c, 0x09, 0xc9, //0x00000e09 orq %r9, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000e0c jne LBB0_182 + 0x4c, 0x09, 0xf2, //0x00000e12 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000e15 testq %rsi, %rsi + 0x0f, 0x85, 0x8f, 0x00, 0x00, 0x00, //0x00000e18 jne LBB0_183 + //0x00000e1e LBB0_168 + 0x48, 0x85, 0xd2, //0x00000e1e testq %rdx, %rdx + 0x0f, 0x85, 0xda, 0x15, 0x00, 0x00, //0x00000e21 jne LBB0_432 + 0x48, 0x83, 0xc0, 0xc0, //0x00000e27 addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x00000e2b addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x00000e2f cmpq $63, %rax + 0x0f, 0x87, 0xe7, 0xfe, 0xff, 0xff, //0x00000e33 ja LBB0_164 + 0xe9, 0x11, 0x0b, 0x00, 0x00, //0x00000e39 jmp LBB0_170 + //0x00000e3e LBB0_182 + 0x4c, 0x89, 0xc9, //0x00000e3e movq %r9, %rcx + 0x48, 0xf7, 0xd1, //0x00000e41 notq %rcx + 0x4c, 0x21, 0xe9, //0x00000e44 andq %r13, %rcx + 0x48, 0x8d, 0x1c, 0x09, //0x00000e47 leaq (%rcx,%rcx), %rbx + 0x4c, 0x09, 0xcb, //0x00000e4b orq %r9, %rbx + 0x48, 0x89, 0x5d, 0xb8, //0x00000e4e movq %rbx, $-72(%rbp) + 0x48, 0xf7, 0xd3, //0x00000e52 notq %rbx + 0x4c, 0x21, 0xeb, //0x00000e55 andq %r13, %rbx + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000e58 movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfb, //0x00000e62 andq %rdi, %rbx + 0x45, 0x31, 0xc9, //0x00000e65 xorl %r9d, %r9d + 0x48, 0x01, 0xcb, //0x00000e68 addq %rcx, %rbx + 0x41, 0x0f, 0x92, 0xc1, //0x00000e6b setb %r9b + 0x48, 0x01, 0xdb, //0x00000e6f addq %rbx, %rbx + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000e72 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcb, //0x00000e7c xorq %rcx, %rbx + 0x48, 0x23, 0x5d, 0xb8, //0x00000e7f andq $-72(%rbp), %rbx + 0x48, 0xf7, 0xd3, //0x00000e83 notq %rbx + 0x48, 0x21, 0xde, //0x00000e86 andq %rbx, %rsi + 0x4c, 0x09, 0xf2, //0x00000e89 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000e8c testq %rsi, %rsi + 0x0f, 0x84, 0x89, 0xff, 0xff, 0xff, //0x00000e8f je LBB0_168 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00000e95 jmp LBB0_183 + //0x00000e9a LBB0_181 + 0x4c, 0x89, 0xdb, //0x00000e9a movq %r11, %rbx + 0x48, 0x2b, 0x5d, 0xd0, //0x00000e9d subq $-48(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xe5, //0x00000ea1 bsfq %r13, %r12 + 0x49, 0x01, 0xdc, //0x00000ea5 addq %rbx, %r12 + 0xe9, 0x4f, 0xff, 0xff, 0xff, //0x00000ea8 jmp LBB0_166 + //0x00000ead LBB0_183 + 0x48, 0x0f, 0xbc, 0xc6, //0x00000ead bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00000eb1 testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x00000eb4 je LBB0_192 + 0x48, 0x0f, 0xbc, 0xca, //0x00000eba bsfq %rdx, %rcx + 0xe9, 0x73, 0x00, 0x00, 0x00, //0x00000ebe jmp LBB0_193 + //0x00000ec3 LBB0_185 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000ec3 movl $64, %ecx + 0x4c, 0x8b, 0x65, 0xd0, //0x00000ec8 movq $-48(%rbp), %r12 + 0x4d, 0x29, 0xe3, //0x00000ecc subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x00000ecf cmpq %rax, %rcx + 0x0f, 0x82, 0x82, 0x16, 0x00, 0x00, //0x00000ed2 jb LBB0_306 + //0x00000ed8 LBB0_186 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000ed8 leaq $1(%r11,%rax), %r11 + //0x00000edd LBB0_187 + 0x4d, 0x85, 0xdb, //0x00000edd testq %r11, %r11 + 0x0f, 0x88, 0x83, 0x14, 0x00, 0x00, //0x00000ee0 js LBB0_415 + 0x48, 0x8b, 0x75, 0xc8, //0x00000ee6 movq $-56(%rbp), %rsi + 0x4c, 0x89, 0x1e, //0x00000eea movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000eed movq %r15, %rax + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00000ef0 cmpq $0, $-88(%rbp) + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000ef5 movq $-64(%rbp), %r9 + 0x0f, 0x8f, 0xb1, 0xf2, 0xff, 0xff, //0x00000ef9 jg LBB0_2 + 0xe9, 0x9e, 0x14, 0x00, 0x00, //0x00000eff jmp LBB0_423 + //0x00000f04 LBB0_189 + 0x4c, 0x89, 0xd8, //0x00000f04 movq %r11, %rax + 0x4c, 0x09, 0xe8, //0x00000f07 orq %r13, %rax + 0x4d, 0x39, 0xeb, //0x00000f0a cmpq %r13, %r11 + 0x0f, 0x8c, 0x5c, 0xf2, 0xff, 0xff, //0x00000f0d jl LBB0_257 + 0x48, 0x85, 0xc0, //0x00000f13 testq %rax, %rax + 0x0f, 0x88, 0x53, 0xf2, 0xff, 0xff, //0x00000f16 js LBB0_257 + 0x49, 0xf7, 0xd3, //0x00000f1c notq %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000f1f movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xdb, //0x00000f23 testq %r11, %r11 + 0x0f, 0x89, 0x68, 0xf2, 0xff, 0xff, //0x00000f26 jns LBB0_258 + 0xe9, 0x5e, 0x14, 0x00, 0x00, //0x00000f2c jmp LBB0_419 + //0x00000f31 LBB0_192 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000f31 movl $64, %ecx + //0x00000f36 LBB0_193 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f36 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000f3a movq $-64(%rbp), %r9 + 0x4c, 0x2b, 0x5d, 0xd0, //0x00000f3e subq $-48(%rbp), %r11 + 0x48, 0x39, 0xc1, //0x00000f42 cmpq %rax, %rcx + 0x0f, 0x82, 0x2a, 0x16, 0x00, 0x00, //0x00000f45 jb LBB0_455 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000f4b leaq $1(%r11,%rax), %r11 + //0x00000f50 LBB0_195 + 0x4d, 0x85, 0xdb, //0x00000f50 testq %r11, %r11 + 0x0f, 0x88, 0x58, 0x14, 0x00, 0x00, //0x00000f53 js LBB0_424 + 0x4c, 0x89, 0x1e, //0x00000f59 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000f5c movq %r15, %rax + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00000f5f cmpq $0, $-88(%rbp) + 0x4c, 0x8b, 0x65, 0xd0, //0x00000f64 movq $-48(%rbp), %r12 + 0x0f, 0x8e, 0x34, 0x14, 0x00, 0x00, //0x00000f68 jle LBB0_423 + 0x49, 0x8b, 0x01, //0x00000f6e movq (%r9), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00000f71 cmpq $4095, %rax + 0x0f, 0x8f, 0xe0, 0x13, 0x00, 0x00, //0x00000f77 jg LBB0_441 + 0x48, 0x8d, 0x48, 0x01, //0x00000f7d leaq $1(%rax), %rcx + 0x49, 0x89, 0x09, //0x00000f81 movq %rcx, (%r9) + 0x49, 0xc7, 0x44, 0xc1, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00000f84 movq $4, $8(%r9,%rax,8) + 0xe9, 0x1e, 0xf2, 0xff, 0xff, //0x00000f8d jmp LBB0_2 + //0x00000f92 LBB0_199 + 0x48, 0x8b, 0x45, 0x90, //0x00000f92 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x00000f96 movq $8(%rax), %rdx + 0xf6, 0x45, 0x80, 0x20, //0x00000f9a testb $32, $-128(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x00000f9e movq %r11, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb0, //0x00000fa2 movq %rdx, $-80(%rbp) + 0x0f, 0x85, 0xa3, 0x04, 0x00, 0x00, //0x00000fa6 jne LBB0_268 + 0x49, 0x89, 0xd4, //0x00000fac movq %rdx, %r12 + 0x4d, 0x29, 0xdc, //0x00000faf subq %r11, %r12 + 0x0f, 0x84, 0x99, 0x15, 0x00, 0x00, //0x00000fb2 je LBB0_456 + 0x48, 0x8b, 0x45, 0xd0, //0x00000fb8 movq $-48(%rbp), %rax + 0x4c, 0x89, 0xd9, //0x00000fbc movq %r11, %rcx + 0x49, 0x01, 0xc3, //0x00000fbf addq %rax, %r11 + 0x49, 0x83, 0xfc, 0x40, //0x00000fc2 cmpq $64, %r12 + 0x0f, 0x82, 0x12, 0x0f, 0x00, 0x00, //0x00000fc6 jb LBB0_360 + 0x44, 0x89, 0xe0, //0x00000fcc movl %r12d, %eax + 0x83, 0xe0, 0x3f, //0x00000fcf andl $63, %eax + 0x48, 0x89, 0x45, 0xb8, //0x00000fd2 movq %rax, $-72(%rbp) + 0x4e, 0x8d, 0x44, 0x02, 0xc0, //0x00000fd6 leaq $-64(%rdx,%r8), %r8 + 0x49, 0x83, 0xe0, 0xc0, //0x00000fdb andq $-64, %r8 + 0x49, 0x01, 0xc8, //0x00000fdf addq %rcx, %r8 + 0x4c, 0x03, 0x45, 0x88, //0x00000fe2 addq $-120(%rbp), %r8 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000fe6 movq $-1, %r9 + 0x45, 0x31, 0xd2, //0x00000fed xorl %r10d, %r10d + //0x00000ff0 .p2align 4, 0x90 + //0x00000ff0 LBB0_203 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00000ff0 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00000ff5 vmovdqu $16(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x20, //0x00000ffb vmovdqu $32(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00001001 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xe9, 0x74, 0xf8, //0x00001007 vpcmpeqb %xmm0, %xmm2, %xmm7 + 0xc5, 0xf9, 0xd7, 0xff, //0x0000100b vpmovmskb %xmm7, %edi + 0xc5, 0xd9, 0x74, 0xf8, //0x0000100f vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00001013 vpmovmskb %xmm7, %ecx + 0xc5, 0xd1, 0x74, 0xf8, //0x00001017 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x0000101b vpmovmskb %xmm7, %esi + 0xc5, 0xc9, 0x74, 0xf8, //0x0000101f vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0x79, 0xd7, 0xef, //0x00001023 vpmovmskb %xmm7, %r13d + 0xc5, 0xe9, 0x74, 0xd1, //0x00001027 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000102b vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x0000102f vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001033 vpmovmskb %xmm2, %eax + 0xc5, 0xd1, 0x74, 0xd1, //0x00001037 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x0000103b vpmovmskb %xmm2, %ebx + 0xc5, 0xc9, 0x74, 0xd1, //0x0000103f vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001043 vpmovmskb %xmm2, %r14d + 0x49, 0xc1, 0xe5, 0x30, //0x00001047 shlq $48, %r13 + 0x48, 0xc1, 0xe6, 0x20, //0x0000104b shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x0000104f shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00001053 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00001056 orq %rsi, %rdi + 0x49, 0xc1, 0xe6, 0x30, //0x00001059 shlq $48, %r14 + 0x48, 0xc1, 0xe3, 0x20, //0x0000105d shlq $32, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x00001061 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00001065 orq %rax, %rdx + 0x48, 0x09, 0xda, //0x00001068 orq %rbx, %rdx + 0x4c, 0x09, 0xf2, //0x0000106b orq %r14, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x0000106e cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001072 jne LBB0_205 + 0x48, 0x85, 0xd2, //0x00001078 testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000107b jne LBB0_213 + //0x00001081 LBB0_205 + 0x4c, 0x09, 0xef, //0x00001081 orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x00001084 movq %rdx, %rax + 0x4c, 0x09, 0xd0, //0x00001087 orq %r10, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000108a jne LBB0_214 + //0x00001090 LBB0_206 + 0x48, 0x85, 0xff, //0x00001090 testq %rdi, %rdi + 0x0f, 0x85, 0xf6, 0xf4, 0xff, 0xff, //0x00001093 jne LBB0_57 + //0x00001099 LBB0_207 + 0x49, 0x83, 0xc4, 0xc0, //0x00001099 addq $-64, %r12 + 0x49, 0x83, 0xc3, 0x40, //0x0000109d addq $64, %r11 + 0x49, 0x83, 0xfc, 0x3f, //0x000010a1 cmpq $63, %r12 + 0x0f, 0x87, 0x45, 0xff, 0xff, 0xff, //0x000010a5 ja LBB0_203 + 0xe9, 0x01, 0x0b, 0x00, 0x00, //0x000010ab jmp LBB0_208 + //0x000010b0 LBB0_213 + 0x4c, 0x89, 0xd8, //0x000010b0 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000010b3 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xca, //0x000010b7 bsfq %rdx, %r9 + 0x49, 0x01, 0xc1, //0x000010bb addq %rax, %r9 + 0x4c, 0x09, 0xef, //0x000010be orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x000010c1 movq %rdx, %rax + 0x4c, 0x09, 0xd0, //0x000010c4 orq %r10, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x000010c7 je LBB0_206 + //0x000010cd LBB0_214 + 0x4c, 0x89, 0xd0, //0x000010cd movq %r10, %rax + 0x48, 0xf7, 0xd0, //0x000010d0 notq %rax + 0x48, 0x21, 0xd0, //0x000010d3 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x000010d6 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xd1, //0x000010da orq %r10, %rcx + 0x48, 0x89, 0xce, //0x000010dd movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x000010e0 notq %rsi + 0x48, 0x21, 0xd6, //0x000010e3 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000010e6 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x000010f0 andq %rdx, %rsi + 0x45, 0x31, 0xd2, //0x000010f3 xorl %r10d, %r10d + 0x48, 0x01, 0xc6, //0x000010f6 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc2, //0x000010f9 setb %r10b + 0x48, 0x01, 0xf6, //0x000010fd addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001100 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x0000110a xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x0000110d andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00001110 notq %rsi + 0x48, 0x21, 0xf7, //0x00001113 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00001116 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00001119 je LBB0_207 + 0xe9, 0x6b, 0xf4, 0xff, 0xff, //0x0000111f jmp LBB0_57 + //0x00001124 LBB0_215 + 0x48, 0x8b, 0x45, 0x90, //0x00001124 movq $-112(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x00001128 movq $8(%rax), %r10 + 0x4d, 0x29, 0xda, //0x0000112c subq %r11, %r10 + 0x0f, 0x84, 0xfa, 0x12, 0x00, 0x00, //0x0000112f je LBB0_438 + 0x4c, 0x89, 0x5d, 0xa8, //0x00001135 movq %r11, $-88(%rbp) + 0x4d, 0x01, 0xdc, //0x00001139 addq %r11, %r12 + 0x41, 0x80, 0x3c, 0x24, 0x30, //0x0000113c cmpb $48, (%r12) + 0x0f, 0x85, 0x36, 0x00, 0x00, 0x00, //0x00001141 jne LBB0_220 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001147 movl $1, %r11d + 0x49, 0x83, 0xfa, 0x01, //0x0000114d cmpq $1, %r10 + 0x0f, 0x84, 0x7c, 0x05, 0x00, 0x00, //0x00001151 je LBB0_303 + 0x41, 0x8a, 0x44, 0x24, 0x01, //0x00001157 movb $1(%r12), %al + 0x04, 0xd2, //0x0000115c addb $-46, %al + 0x3c, 0x37, //0x0000115e cmpb $55, %al + 0x0f, 0x87, 0x6d, 0x05, 0x00, 0x00, //0x00001160 ja LBB0_303 + 0x0f, 0xb6, 0xc0, //0x00001166 movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00001169 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00001173 btq %rax, %rcx + 0x0f, 0x83, 0x56, 0x05, 0x00, 0x00, //0x00001177 jae LBB0_303 + //0x0000117d LBB0_220 + 0x49, 0x83, 0xfa, 0x10, //0x0000117d cmpq $16, %r10 + 0x0f, 0x82, 0x30, 0x0d, 0x00, 0x00, //0x00001181 jb LBB0_359 + 0x4d, 0x8d, 0x4a, 0xf0, //0x00001187 leaq $-16(%r10), %r9 + 0x4c, 0x89, 0xc8, //0x0000118b movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x0000118e andq $-16, %rax + 0x4e, 0x8d, 0x44, 0x20, 0x10, //0x00001192 leaq $16(%rax,%r12), %r8 + 0x41, 0x83, 0xe1, 0x0f, //0x00001197 andl $15, %r9d + 0x48, 0xc7, 0x45, 0xb8, 0xff, 0xff, 0xff, 0xff, //0x0000119b movq $-1, $-72(%rbp) + 0x48, 0xc7, 0x45, 0xb0, 0xff, 0xff, 0xff, 0xff, //0x000011a3 movq $-1, $-80(%rbp) + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000011ab movq $-1, %r14 + 0x4d, 0x89, 0xe5, //0x000011b2 movq %r12, %r13 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000011b5 .p2align 4, 0x90 + //0x000011c0 LBB0_222 + 0xc4, 0xc1, 0x7a, 0x6f, 0x55, 0x00, //0x000011c0 vmovdqu (%r13), %xmm2 + 0xc4, 0xc1, 0x69, 0x64, 0xe0, //0x000011c6 vpcmpgtb %xmm8, %xmm2, %xmm4 + 0xc5, 0xb1, 0x64, 0xea, //0x000011cb vpcmpgtb %xmm2, %xmm9, %xmm5 + 0xc5, 0xd9, 0xdb, 0xe5, //0x000011cf vpand %xmm5, %xmm4, %xmm4 + 0xc5, 0xa9, 0x74, 0xea, //0x000011d3 vpcmpeqb %xmm2, %xmm10, %xmm5 + 0xc5, 0xa1, 0x74, 0xf2, //0x000011d7 vpcmpeqb %xmm2, %xmm11, %xmm6 + 0xc5, 0xc9, 0xeb, 0xed, //0x000011db vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0x99, 0xeb, 0xf2, //0x000011df vpor %xmm2, %xmm12, %xmm6 + 0xc5, 0x91, 0x74, 0xd2, //0x000011e3 vpcmpeqb %xmm2, %xmm13, %xmm2 + 0xc5, 0x89, 0x74, 0xf6, //0x000011e7 vpcmpeqb %xmm6, %xmm14, %xmm6 + 0xc5, 0xc9, 0xeb, 0xfa, //0x000011eb vpor %xmm2, %xmm6, %xmm7 + 0xc5, 0xd1, 0xeb, 0xe4, //0x000011ef vpor %xmm4, %xmm5, %xmm4 + 0xc5, 0xc1, 0xeb, 0xe4, //0x000011f3 vpor %xmm4, %xmm7, %xmm4 + 0xc5, 0xf9, 0xd7, 0xc2, //0x000011f7 vpmovmskb %xmm2, %eax + 0xc5, 0xf9, 0xd7, 0xde, //0x000011fb vpmovmskb %xmm6, %ebx + 0xc5, 0xf9, 0xd7, 0xd5, //0x000011ff vpmovmskb %xmm5, %edx + 0xc5, 0xf9, 0xd7, 0xcc, //0x00001203 vpmovmskb %xmm4, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001207 movl $2863311530, %esi + 0x48, 0x8d, 0xbe, 0x55, 0x55, 0x55, 0x55, //0x0000120c leaq $1431655765(%rsi), %rdi + 0x48, 0x31, 0xcf, //0x00001213 xorq %rcx, %rdi + 0x48, 0x0f, 0xbc, 0xcf, //0x00001216 bsfq %rdi, %rcx + 0x83, 0xf9, 0x10, //0x0000121a cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x0000121d je LBB0_224 + 0xbf, 0xff, 0xff, 0xff, 0xff, //0x00001223 movl $-1, %edi + 0xd3, 0xe7, //0x00001228 shll %cl, %edi + 0xf7, 0xd7, //0x0000122a notl %edi + 0x21, 0xf8, //0x0000122c andl %edi, %eax + 0x21, 0xfb, //0x0000122e andl %edi, %ebx + 0x21, 0xd7, //0x00001230 andl %edx, %edi + 0x89, 0xfa, //0x00001232 movl %edi, %edx + //0x00001234 LBB0_224 + 0x8d, 0x78, 0xff, //0x00001234 leal $-1(%rax), %edi + 0x21, 0xc7, //0x00001237 andl %eax, %edi + 0x0f, 0x85, 0x4f, 0x09, 0x00, 0x00, //0x00001239 jne LBB0_337 + 0x8d, 0x7b, 0xff, //0x0000123f leal $-1(%rbx), %edi + 0x21, 0xdf, //0x00001242 andl %ebx, %edi + 0x0f, 0x85, 0x44, 0x09, 0x00, 0x00, //0x00001244 jne LBB0_337 + 0x8d, 0x7a, 0xff, //0x0000124a leal $-1(%rdx), %edi + 0x21, 0xd7, //0x0000124d andl %edx, %edi + 0x0f, 0x85, 0x39, 0x09, 0x00, 0x00, //0x0000124f jne LBB0_337 + 0x85, 0xc0, //0x00001255 testl %eax, %eax + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00001257 je LBB0_230 + 0x4c, 0x89, 0xef, //0x0000125d movq %r13, %rdi + 0x4c, 0x29, 0xe7, //0x00001260 subq %r12, %rdi + 0x44, 0x0f, 0xbc, 0xd8, //0x00001263 bsfl %eax, %r11d + 0x49, 0x01, 0xfb, //0x00001267 addq %rdi, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x0000126a cmpq $-1, %r14 + 0x0f, 0x85, 0x24, 0x09, 0x00, 0x00, //0x0000126e jne LBB0_338 + 0x4d, 0x89, 0xde, //0x00001274 movq %r11, %r14 + //0x00001277 LBB0_230 + 0x85, 0xdb, //0x00001277 testl %ebx, %ebx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00001279 je LBB0_233 + 0x4c, 0x89, 0xe8, //0x0000127f movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x00001282 subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xdb, //0x00001285 bsfl %ebx, %r11d + 0x49, 0x01, 0xc3, //0x00001289 addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb0, 0xff, //0x0000128c cmpq $-1, $-80(%rbp) + 0x0f, 0x85, 0x01, 0x09, 0x00, 0x00, //0x00001291 jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xb0, //0x00001297 movq %r11, $-80(%rbp) + //0x0000129b LBB0_233 + 0x85, 0xd2, //0x0000129b testl %edx, %edx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x0000129d je LBB0_236 + 0x4c, 0x89, 0xe8, //0x000012a3 movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x000012a6 subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xda, //0x000012a9 bsfl %edx, %r11d + 0x49, 0x01, 0xc3, //0x000012ad addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb8, 0xff, //0x000012b0 cmpq $-1, $-72(%rbp) + 0x0f, 0x85, 0xdd, 0x08, 0x00, 0x00, //0x000012b5 jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xb8, //0x000012bb movq %r11, $-72(%rbp) + //0x000012bf LBB0_236 + 0x83, 0xf9, 0x10, //0x000012bf cmpl $16, %ecx + 0x0f, 0x85, 0x81, 0x03, 0x00, 0x00, //0x000012c2 jne LBB0_291 + 0x49, 0x83, 0xc5, 0x10, //0x000012c8 addq $16, %r13 + 0x49, 0x83, 0xc2, 0xf0, //0x000012cc addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x0f, //0x000012d0 cmpq $15, %r10 + 0x0f, 0x87, 0xe6, 0xfe, 0xff, 0xff, //0x000012d4 ja LBB0_222 + 0x4d, 0x85, 0xc9, //0x000012da testq %r9, %r9 + 0x48, 0x8d, 0x35, 0xf8, 0x14, 0x00, 0x00, //0x000012dd leaq $5368(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0x48, 0x8b, 0x7d, 0xb0, //0x000012e4 movq $-80(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb8, //0x000012e8 movq $-72(%rbp), %rbx + 0x0f, 0x84, 0x65, 0x03, 0x00, 0x00, //0x000012ec je LBB0_292 + //0x000012f2 LBB0_239 + 0x4b, 0x8d, 0x0c, 0x08, //0x000012f2 leaq (%r8,%r9), %rcx + 0xe9, 0x01, 0x01, 0x00, 0x00, //0x000012f6 jmp LBB0_262 + //0x000012fb LBB0_240 + 0x49, 0x8b, 0x01, //0x000012fb movq (%r9), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000012fe cmpq $4095, %rax + 0x0f, 0x8f, 0x53, 0x10, 0x00, 0x00, //0x00001304 jg LBB0_441 + 0x48, 0x8d, 0x48, 0x01, //0x0000130a leaq $1(%rax), %rcx + 0x49, 0x89, 0x09, //0x0000130e movq %rcx, (%r9) + 0x49, 0xc7, 0x44, 0xc1, 0x08, 0x05, 0x00, 0x00, 0x00, //0x00001311 movq $5, $8(%r9,%rax,8) + 0xe9, 0x91, 0xee, 0xff, 0xff, //0x0000131a jmp LBB0_2 + //0x0000131f LBB0_242 + 0x48, 0x8b, 0x4d, 0x90, //0x0000131f movq $-112(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001323 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfc, //0x00001327 leaq $-4(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x0000132b cmpq %rdx, %r15 + 0x0f, 0x83, 0x97, 0x10, 0x00, 0x00, //0x0000132e jae LBB0_440 + 0x43, 0x8b, 0x0c, 0x1c, //0x00001334 movl (%r12,%r11), %ecx + 0x81, 0xf9, 0x61, 0x6c, 0x73, 0x65, //0x00001338 cmpl $1702063201, %ecx + 0x0f, 0x85, 0xfa, 0x10, 0x00, 0x00, //0x0000133e jne LBB0_442 + 0x4c, 0x89, 0xd9, //0x00001344 movq %r11, %rcx + 0x4d, 0x8d, 0x5f, 0x05, //0x00001347 leaq $5(%r15), %r11 + 0xe9, 0x50, 0x00, 0x00, 0x00, //0x0000134b jmp LBB0_254 + //0x00001350 LBB0_245 + 0x48, 0x8b, 0x4d, 0x90, //0x00001350 movq $-112(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001354 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x00001358 leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x0000135c cmpq %rdx, %r15 + 0x0f, 0x83, 0x66, 0x10, 0x00, 0x00, //0x0000135f jae LBB0_440 + 0x41, 0x81, 0x3a, 0x6e, 0x75, 0x6c, 0x6c, //0x00001365 cmpl $1819047278, (%r10) + 0x0f, 0x84, 0x27, 0x00, 0x00, 0x00, //0x0000136c je LBB0_253 + 0xe9, 0x1c, 0x11, 0x00, 0x00, //0x00001372 jmp LBB0_247 + //0x00001377 LBB0_251 + 0x48, 0x8b, 0x4d, 0x90, //0x00001377 movq $-112(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x0000137b movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x0000137f leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001383 cmpq %rdx, %r15 + 0x0f, 0x83, 0x3f, 0x10, 0x00, 0x00, //0x00001386 jae LBB0_440 + 0x41, 0x81, 0x3a, 0x74, 0x72, 0x75, 0x65, //0x0000138c cmpl $1702195828, (%r10) + 0x0f, 0x85, 0x4c, 0x11, 0x00, 0x00, //0x00001393 jne LBB0_447 + //0x00001399 LBB0_253 + 0x4c, 0x89, 0xd9, //0x00001399 movq %r11, %rcx + 0x4d, 0x8d, 0x5f, 0x04, //0x0000139c leaq $4(%r15), %r11 + //0x000013a0 LBB0_254 + 0x4c, 0x89, 0x1e, //0x000013a0 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x000013a3 movq %r15, %rax + 0x48, 0x85, 0xc9, //0x000013a6 testq %rcx, %rcx + 0x0f, 0x8f, 0x01, 0xee, 0xff, 0xff, //0x000013a9 jg LBB0_2 + 0xe9, 0xee, 0x0f, 0x00, 0x00, //0x000013af jmp LBB0_423 + //0x000013b4 LBB0_255 + 0x49, 0x8b, 0x01, //0x000013b4 movq (%r9), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000013b7 cmpq $4095, %rax + 0x0f, 0x8f, 0x9a, 0x0f, 0x00, 0x00, //0x000013bd jg LBB0_441 + 0x48, 0x8d, 0x48, 0x01, //0x000013c3 leaq $1(%rax), %rcx + 0x49, 0x89, 0x09, //0x000013c7 movq %rcx, (%r9) + 0x49, 0xc7, 0x44, 0xc1, 0x08, 0x06, 0x00, 0x00, 0x00, //0x000013ca movq $6, $8(%r9,%rax,8) + 0xe9, 0xd8, 0xed, 0xff, 0xff, //0x000013d3 jmp LBB0_2 + //0x000013d8 LBB0_259 + 0x49, 0x89, 0xc3, //0x000013d8 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x000013db subq %r12, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x000013de cmpq $-1, %r14 + 0x0f, 0x85, 0x95, 0x0a, 0x00, 0x00, //0x000013e2 jne LBB0_356 + 0x49, 0xff, 0xcb, //0x000013e8 decq %r11 + 0x4d, 0x89, 0xde, //0x000013eb movq %r11, %r14 + 0x90, 0x90, //0x000013ee .p2align 4, 0x90 + //0x000013f0 LBB0_261 + 0x49, 0x89, 0xc0, //0x000013f0 movq %rax, %r8 + 0x49, 0xff, 0xc9, //0x000013f3 decq %r9 + 0x0f, 0x84, 0x03, 0x0a, 0x00, 0x00, //0x000013f6 je LBB0_341 + //0x000013fc LBB0_262 + 0x41, 0x0f, 0xbe, 0x10, //0x000013fc movsbl (%r8), %edx + 0x83, 0xc2, 0xd5, //0x00001400 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x00001403 cmpl $58, %edx + 0x0f, 0x87, 0x4b, 0x02, 0x00, 0x00, //0x00001406 ja LBB0_292 + 0x49, 0x8d, 0x40, 0x01, //0x0000140c leaq $1(%r8), %rax + 0x48, 0x63, 0x14, 0x96, //0x00001410 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00001414 addq %rsi, %rdx + 0xff, 0xe2, //0x00001417 jmpq *%rdx + //0x00001419 LBB0_264 + 0x49, 0x89, 0xc3, //0x00001419 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x0000141c subq %r12, %r11 + 0x48, 0x83, 0xfb, 0xff, //0x0000141f cmpq $-1, %rbx + 0x0f, 0x85, 0x54, 0x0a, 0x00, 0x00, //0x00001423 jne LBB0_356 + 0x49, 0xff, 0xcb, //0x00001429 decq %r11 + 0x4c, 0x89, 0xdb, //0x0000142c movq %r11, %rbx + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000142f jmp LBB0_261 + //0x00001434 LBB0_266 + 0x49, 0x89, 0xc3, //0x00001434 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x00001437 subq %r12, %r11 + 0x48, 0x83, 0xff, 0xff, //0x0000143a cmpq $-1, %rdi + 0x0f, 0x85, 0x39, 0x0a, 0x00, 0x00, //0x0000143e jne LBB0_356 + 0x49, 0xff, 0xcb, //0x00001444 decq %r11 + 0x4c, 0x89, 0xdf, //0x00001447 movq %r11, %rdi + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000144a jmp LBB0_261 + //0x0000144f LBB0_268 + 0x48, 0x89, 0xd0, //0x0000144f movq %rdx, %rax + 0x4c, 0x29, 0xd8, //0x00001452 subq %r11, %rax + 0x0f, 0x84, 0xf6, 0x10, 0x00, 0x00, //0x00001455 je LBB0_456 + 0x4c, 0x89, 0xd9, //0x0000145b movq %r11, %rcx + 0x4d, 0x01, 0xe3, //0x0000145e addq %r12, %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00001461 cmpq $64, %rax + 0x0f, 0x82, 0x8c, 0x0a, 0x00, 0x00, //0x00001465 jb LBB0_361 + 0x41, 0x89, 0xc2, //0x0000146b movl %eax, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x0000146e andl $63, %r10d + 0x4e, 0x8d, 0x64, 0x02, 0xc0, //0x00001472 leaq $-64(%rdx,%r8), %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00001477 andq $-64, %r12 + 0x49, 0x01, 0xcc, //0x0000147b addq %rcx, %r12 + 0x4c, 0x03, 0x65, 0x88, //0x0000147e addq $-120(%rbp), %r12 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001482 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001489 xorl %r8d, %r8d + 0x90, 0x90, 0x90, 0x90, //0x0000148c .p2align 4, 0x90 + //0x00001490 LBB0_271 + 0xc4, 0xc1, 0x7a, 0x6f, 0x33, //0x00001490 vmovdqu (%r11), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x00001495 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x20, //0x0000149b vmovdqu $32(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x30, //0x000014a1 vmovdqu $48(%r11), %xmm7 + 0xc5, 0xc9, 0x74, 0xd0, //0x000014a7 vpcmpeqb %xmm0, %xmm6, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x000014ab vpmovmskb %xmm2, %esi + 0xc5, 0xd1, 0x74, 0xd0, //0x000014af vpcmpeqb %xmm0, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x000014b3 vpmovmskb %xmm2, %ebx + 0xc5, 0xd9, 0x74, 0xd0, //0x000014b7 vpcmpeqb %xmm0, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x000014bb vpmovmskb %xmm2, %ecx + 0xc5, 0xc1, 0x74, 0xd0, //0x000014bf vpcmpeqb %xmm0, %xmm7, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000014c3 vpmovmskb %xmm2, %edi + 0xc5, 0xc9, 0x74, 0xd1, //0x000014c7 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xea, //0x000014cb vpmovmskb %xmm2, %r13d + 0xc5, 0xd1, 0x74, 0xd1, //0x000014cf vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x000014d3 vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x000014d7 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x000014db shlq $16, %rbx + 0x48, 0x09, 0xde, //0x000014df orq %rbx, %rsi + 0xc5, 0xf9, 0xd7, 0xda, //0x000014e2 vpmovmskb %xmm2, %ebx + 0xc5, 0xc1, 0x74, 0xd1, //0x000014e6 vpcmpeqb %xmm1, %xmm7, %xmm2 + 0x48, 0xc1, 0xe1, 0x20, //0x000014ea shlq $32, %rcx + 0x48, 0x09, 0xce, //0x000014ee orq %rcx, %rsi + 0xc5, 0xf9, 0xd7, 0xca, //0x000014f1 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd6, //0x000014f5 vpcmpgtb %xmm6, %xmm15, %xmm2 + 0xc5, 0xc9, 0x64, 0xf3, //0x000014f9 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xd2, //0x000014fd vpand %xmm2, %xmm6, %xmm2 + 0x48, 0xc1, 0xe2, 0x10, //0x00001501 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x00001505 orq %rdx, %r13 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00001508 vpmovmskb %xmm2, %edx + 0xc5, 0x81, 0x64, 0xd5, //0x0000150c vpcmpgtb %xmm5, %xmm15, %xmm2 + 0xc5, 0xd1, 0x64, 0xeb, //0x00001510 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xd2, //0x00001514 vpand %xmm2, %xmm5, %xmm2 + 0x48, 0xc1, 0xe3, 0x20, //0x00001518 shlq $32, %rbx + 0x49, 0x09, 0xdd, //0x0000151c orq %rbx, %r13 + 0xc5, 0xf9, 0xd7, 0xda, //0x0000151f vpmovmskb %xmm2, %ebx + 0xc5, 0x81, 0x64, 0xd4, //0x00001523 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00001527 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x0000152b vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe1, 0x30, //0x0000152f shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00001533 orq %rcx, %r13 + 0xc5, 0xf9, 0xd7, 0xca, //0x00001536 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd7, //0x0000153a vpcmpgtb %xmm7, %xmm15, %xmm2 + 0xc5, 0xc1, 0x64, 0xe3, //0x0000153e vpcmpgtb %xmm3, %xmm7, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001542 vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x00001546 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x0000154a orq %rbx, %rdx + 0xc5, 0x79, 0xd7, 0xf2, //0x0000154d vpmovmskb %xmm2, %r14d + 0x48, 0xc1, 0xe7, 0x30, //0x00001551 shlq $48, %rdi + 0x48, 0xc1, 0xe1, 0x20, //0x00001555 shlq $32, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001559 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000155d jne LBB0_273 + 0x4d, 0x85, 0xed, //0x00001563 testq %r13, %r13 + 0x0f, 0x85, 0xa4, 0x00, 0x00, 0x00, //0x00001566 jne LBB0_287 + //0x0000156c LBB0_273 + 0x49, 0xc1, 0xe6, 0x30, //0x0000156c shlq $48, %r14 + 0x48, 0x09, 0xca, //0x00001570 orq %rcx, %rdx + 0x48, 0x09, 0xfe, //0x00001573 orq %rdi, %rsi + 0x4c, 0x89, 0xe9, //0x00001576 movq %r13, %rcx + 0x4c, 0x09, 0xc1, //0x00001579 orq %r8, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x0000157c jne LBB0_288 + 0x4c, 0x09, 0xf2, //0x00001582 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00001585 testq %rsi, %rsi + 0x0f, 0x85, 0x95, 0x00, 0x00, 0x00, //0x00001588 jne LBB0_289 + //0x0000158e LBB0_275 + 0x48, 0x85, 0xd2, //0x0000158e testq %rdx, %rdx + 0x0f, 0x85, 0xa7, 0x0f, 0x00, 0x00, //0x00001591 jne LBB0_452 + 0x48, 0x83, 0xc0, 0xc0, //0x00001597 addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x0000159b addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x0000159f cmpq $63, %rax + 0x0f, 0x87, 0xe7, 0xfe, 0xff, 0xff, //0x000015a3 ja LBB0_271 + 0xe9, 0xf0, 0x06, 0x00, 0x00, //0x000015a9 jmp LBB0_277 + //0x000015ae LBB0_288 + 0x4c, 0x89, 0xc1, //0x000015ae movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x000015b1 notq %rcx + 0x4c, 0x21, 0xe9, //0x000015b4 andq %r13, %rcx + 0x4c, 0x89, 0x55, 0xb8, //0x000015b7 movq %r10, $-72(%rbp) + 0x4c, 0x8d, 0x14, 0x09, //0x000015bb leaq (%rcx,%rcx), %r10 + 0x4d, 0x09, 0xc2, //0x000015bf orq %r8, %r10 + 0x4c, 0x89, 0xd7, //0x000015c2 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x000015c5 notq %rdi + 0x4c, 0x21, 0xef, //0x000015c8 andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000015cb movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x000015d5 andq %rbx, %rdi + 0x45, 0x31, 0xc0, //0x000015d8 xorl %r8d, %r8d + 0x48, 0x01, 0xcf, //0x000015db addq %rcx, %rdi + 0x41, 0x0f, 0x92, 0xc0, //0x000015de setb %r8b + 0x48, 0x01, 0xff, //0x000015e2 addq %rdi, %rdi + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000015e5 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcf, //0x000015ef xorq %rcx, %rdi + 0x4c, 0x21, 0xd7, //0x000015f2 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xb8, //0x000015f5 movq $-72(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x000015f9 notq %rdi + 0x48, 0x21, 0xfe, //0x000015fc andq %rdi, %rsi + 0x4c, 0x09, 0xf2, //0x000015ff orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00001602 testq %rsi, %rsi + 0x0f, 0x84, 0x83, 0xff, 0xff, 0xff, //0x00001605 je LBB0_275 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x0000160b jmp LBB0_289 + //0x00001610 LBB0_287 + 0x4c, 0x89, 0xdb, //0x00001610 movq %r11, %rbx + 0x48, 0x2b, 0x5d, 0xd0, //0x00001613 subq $-48(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xcd, //0x00001617 bsfq %r13, %r9 + 0x49, 0x01, 0xd9, //0x0000161b addq %rbx, %r9 + 0xe9, 0x49, 0xff, 0xff, 0xff, //0x0000161e jmp LBB0_273 + //0x00001623 LBB0_289 + 0x48, 0x0f, 0xbc, 0xc6, //0x00001623 bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00001627 testq %rdx, %rdx + 0x4c, 0x8b, 0x65, 0xd0, //0x0000162a movq $-48(%rbp), %r12 + 0x0f, 0x84, 0xbe, 0x00, 0x00, 0x00, //0x0000162e je LBB0_304 + 0x48, 0x0f, 0xbc, 0xca, //0x00001634 bsfq %rdx, %rcx + 0x4d, 0x29, 0xe3, //0x00001638 subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x0000163b cmpq %rax, %rcx + 0x0f, 0x83, 0x94, 0xf8, 0xff, 0xff, //0x0000163e jae LBB0_186 + 0xe9, 0x11, 0x0f, 0x00, 0x00, //0x00001644 jmp LBB0_306 + //0x00001649 LBB0_291 + 0x49, 0x01, 0xcd, //0x00001649 addq %rcx, %r13 + 0x4d, 0x89, 0xe8, //0x0000164c movq %r13, %r8 + 0x48, 0x8b, 0x7d, 0xb0, //0x0000164f movq $-80(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb8, //0x00001653 movq $-72(%rbp), %rbx + //0x00001657 LBB0_292 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001657 movq $-1, %r11 + 0x48, 0x85, 0xff, //0x0000165e testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001661 movq $-56(%rbp), %rsi + 0x0f, 0x84, 0xcb, 0x0d, 0x00, 0x00, //0x00001665 je LBB0_439 + //0x0000166b LBB0_293 + 0x48, 0x85, 0xdb, //0x0000166b testq %rbx, %rbx + 0x0f, 0x84, 0xc2, 0x0d, 0x00, 0x00, //0x0000166e je LBB0_439 + 0x4d, 0x85, 0xf6, //0x00001674 testq %r14, %r14 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001677 movq $-64(%rbp), %r9 + 0x0f, 0x84, 0xb5, 0x0d, 0x00, 0x00, //0x0000167b je LBB0_439 + 0x4d, 0x29, 0xe0, //0x00001681 subq %r12, %r8 + 0x49, 0x8d, 0x40, 0xff, //0x00001684 leaq $-1(%r8), %rax + 0x48, 0x39, 0xc7, //0x00001688 cmpq %rax, %rdi + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x0000168b je LBB0_301 + 0x49, 0x39, 0xc6, //0x00001691 cmpq %rax, %r14 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x00001694 je LBB0_301 + 0x48, 0x39, 0xc3, //0x0000169a cmpq %rax, %rbx + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x0000169d je LBB0_301 + 0x48, 0x85, 0xdb, //0x000016a3 testq %rbx, %rbx + 0x0f, 0x8e, 0x6e, 0x00, 0x00, 0x00, //0x000016a6 jle LBB0_309 + 0x48, 0x8d, 0x43, 0xff, //0x000016ac leaq $-1(%rbx), %rax + 0x48, 0x39, 0xc7, //0x000016b0 cmpq %rax, %rdi + 0x0f, 0x84, 0x61, 0x00, 0x00, 0x00, //0x000016b3 je LBB0_309 + 0x48, 0xf7, 0xd3, //0x000016b9 notq %rbx + 0x49, 0x89, 0xdb, //0x000016bc movq %rbx, %r11 + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x000016bf jmp LBB0_302 + //0x000016c4 LBB0_301 + 0x49, 0xf7, 0xd8, //0x000016c4 negq %r8 + 0x4d, 0x89, 0xc3, //0x000016c7 movq %r8, %r11 + //0x000016ca LBB0_302 + 0x4d, 0x85, 0xdb, //0x000016ca testq %r11, %r11 + 0x0f, 0x88, 0x63, 0x0d, 0x00, 0x00, //0x000016cd js LBB0_439 + //0x000016d3 LBB0_303 + 0x48, 0x8b, 0x4d, 0xa8, //0x000016d3 movq $-88(%rbp), %rcx + 0x49, 0x01, 0xcb, //0x000016d7 addq %rcx, %r11 + 0x4c, 0x89, 0x1e, //0x000016da movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x000016dd movq %r15, %rax + 0x48, 0x85, 0xc9, //0x000016e0 testq %rcx, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x000016e3 movq $-48(%rbp), %r12 + 0x0f, 0x8f, 0xc3, 0xea, 0xff, 0xff, //0x000016e7 jg LBB0_2 + 0xe9, 0xb0, 0x0c, 0x00, 0x00, //0x000016ed jmp LBB0_423 + //0x000016f2 LBB0_304 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000016f2 movl $64, %ecx + 0x4d, 0x29, 0xe3, //0x000016f7 subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x000016fa cmpq %rax, %rcx + 0x0f, 0x83, 0xd5, 0xf7, 0xff, 0xff, //0x000016fd jae LBB0_186 + 0xe9, 0x52, 0x0e, 0x00, 0x00, //0x00001703 jmp LBB0_306 + //0x00001708 LBB0_308 + 0x4d, 0x29, 0xd6, //0x00001708 subq %r10, %r14 + 0x44, 0x0f, 0xbc, 0xde, //0x0000170b bsfl %esi, %r11d + 0x4d, 0x01, 0xf3, //0x0000170f addq %r14, %r11 + 0x49, 0xf7, 0xd3, //0x00001712 notq %r11 + 0xe9, 0xa6, 0x03, 0x00, 0x00, //0x00001715 jmp LBB0_326 + //0x0000171a LBB0_309 + 0x4c, 0x89, 0xf0, //0x0000171a movq %r14, %rax + 0x48, 0x09, 0xf8, //0x0000171d orq %rdi, %rax + 0x49, 0x39, 0xfe, //0x00001720 cmpq %rdi, %r14 + 0x0f, 0x8c, 0x66, 0x01, 0x00, 0x00, //0x00001723 jl LBB0_312 + 0x48, 0x85, 0xc0, //0x00001729 testq %rax, %rax + 0x0f, 0x88, 0x5d, 0x01, 0x00, 0x00, //0x0000172c js LBB0_312 + 0x49, 0xf7, 0xd6, //0x00001732 notq %r14 + 0x4d, 0x89, 0xf3, //0x00001735 movq %r14, %r11 + 0xe9, 0x8d, 0xff, 0xff, 0xff, //0x00001738 jmp LBB0_302 + //0x0000173d LBB0_49 + 0x4c, 0x8b, 0x5d, 0xb8, //0x0000173d movq $-72(%rbp), %r11 + 0x4d, 0x89, 0xd5, //0x00001741 movq %r10, %r13 + 0x49, 0x83, 0xfd, 0x20, //0x00001744 cmpq $32, %r13 + 0x0f, 0x82, 0x66, 0x08, 0x00, 0x00, //0x00001748 jb LBB0_366 + //0x0000174e LBB0_50 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x0000174e vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001753 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001759 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x0000175d vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001761 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00001765 vpmovmskb %xmm5, %edx + 0xc5, 0xe9, 0x74, 0xd1, //0x00001769 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x0000176d vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x00001771 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001775 vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001779 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x0000177d shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001781 orq %rax, %rdi + 0x49, 0x83, 0xf9, 0xff, //0x00001784 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001788 jne LBB0_52 + 0x48, 0x85, 0xff, //0x0000178e testq %rdi, %rdi + 0x0f, 0x85, 0xbc, 0x07, 0x00, 0x00, //0x00001791 jne LBB0_363 + //0x00001797 LBB0_52 + 0x48, 0x09, 0xca, //0x00001797 orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x0000179a movq %rdi, %rax + 0x4c, 0x09, 0xe0, //0x0000179d orq %r12, %rax + 0x0f, 0x85, 0xca, 0x07, 0x00, 0x00, //0x000017a0 jne LBB0_364 + //0x000017a6 LBB0_53 + 0x48, 0x85, 0xd2, //0x000017a6 testq %rdx, %rdx + 0x0f, 0x84, 0xfd, 0x07, 0x00, 0x00, //0x000017a9 je LBB0_365 + //0x000017af LBB0_54 + 0x48, 0x0f, 0xbc, 0xc2, //0x000017af bsfq %rdx, %rax + 0xe9, 0xdb, 0xed, 0xff, 0xff, //0x000017b3 jmp LBB0_58 + //0x000017b8 LBB0_113 + 0x4d, 0x89, 0xd3, //0x000017b8 movq %r10, %r11 + 0x48, 0x8b, 0x45, 0xb8, //0x000017bb movq $-72(%rbp), %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x000017bf movq $-48(%rbp), %r12 + 0x48, 0x83, 0xf8, 0x20, //0x000017c3 cmpq $32, %rax + 0x0f, 0x82, 0x66, 0x02, 0x00, 0x00, //0x000017c7 jb LBB0_317 + //0x000017cd LBB0_114 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x000017cd vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x000017d2 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x000017d8 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x000017dc vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x000017e0 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x000017e4 vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xe9, //0x000017e8 vpcmpeqb %xmm1, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x000017ec vpmovmskb %xmm5, %edx + 0xc5, 0xd9, 0x74, 0xe9, //0x000017f0 vpcmpeqb %xmm1, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xdd, //0x000017f4 vpmovmskb %xmm5, %ebx + 0xc5, 0x81, 0x64, 0xea, //0x000017f8 vpcmpgtb %xmm2, %xmm15, %xmm5 + 0xc5, 0xe9, 0x64, 0xd3, //0x000017fc vpcmpgtb %xmm3, %xmm2, %xmm2 + 0xc5, 0xe9, 0xdb, 0xd5, //0x00001800 vpand %xmm5, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001804 vpmovmskb %xmm2, %r14d + 0xc5, 0x81, 0x64, 0xd4, //0x00001808 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x0000180c vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001810 vpand %xmm2, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001814 vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe6, 0x10, //0x00001818 shlq $16, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x0000181c shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00001820 orq %rbx, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x00001823 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001827 jne LBB0_116 + 0x48, 0x85, 0xd2, //0x0000182d testq %rdx, %rdx + 0x0f, 0x85, 0xf8, 0x07, 0x00, 0x00, //0x00001830 jne LBB0_373 + //0x00001836 LBB0_116 + 0x48, 0xc1, 0xe7, 0x10, //0x00001836 shlq $16, %rdi + 0x48, 0x09, 0xce, //0x0000183a orq %rcx, %rsi + 0x48, 0x89, 0xd1, //0x0000183d movq %rdx, %rcx + 0x4c, 0x09, 0xc1, //0x00001840 orq %r8, %rcx + 0x0f, 0x85, 0xcb, 0x06, 0x00, 0x00, //0x00001843 jne LBB0_362 + //0x00001849 LBB0_117 + 0x4c, 0x09, 0xf7, //0x00001849 orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x0000184c movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001851 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001856 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001859 je LBB0_119 + 0x48, 0x0f, 0xbc, 0xd6, //0x0000185f bsfq %rsi, %rdx + //0x00001863 LBB0_119 + 0x48, 0x85, 0xff, //0x00001863 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001866 je LBB0_121 + 0x48, 0x0f, 0xbc, 0xcf, //0x0000186c bsfq %rdi, %rcx + //0x00001870 LBB0_121 + 0x48, 0x85, 0xf6, //0x00001870 testq %rsi, %rsi + 0x0f, 0x84, 0xa9, 0x01, 0x00, 0x00, //0x00001873 je LBB0_315 + //0x00001879 LBB0_122 + 0x4d, 0x29, 0xe3, //0x00001879 subq %r12, %r11 + 0x48, 0x39, 0xd1, //0x0000187c cmpq %rdx, %rcx + 0x0f, 0x82, 0xd5, 0x0c, 0x00, 0x00, //0x0000187f jb LBB0_306 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001885 leaq $1(%r11,%rdx), %r11 + 0xe9, 0x4e, 0xf6, 0xff, 0xff, //0x0000188a jmp LBB0_187 + //0x0000188f LBB0_312 + 0x48, 0x85, 0xc0, //0x0000188f testq %rax, %rax + 0x48, 0x8d, 0x47, 0xff, //0x00001892 leaq $-1(%rdi), %rax + 0x48, 0xf7, 0xd7, //0x00001896 notq %rdi + 0x49, 0x0f, 0x48, 0xf8, //0x00001899 cmovsq %r8, %rdi + 0x49, 0x39, 0xc6, //0x0000189d cmpq %rax, %r14 + 0x49, 0x0f, 0x45, 0xf8, //0x000018a0 cmovneq %r8, %rdi + 0x49, 0x89, 0xfb, //0x000018a4 movq %rdi, %r11 + 0xe9, 0x1e, 0xfe, 0xff, 0xff, //0x000018a7 jmp LBB0_302 + //0x000018ac LBB0_313 + 0x48, 0xf7, 0xd0, //0x000018ac notq %rax + 0x49, 0x89, 0xc3, //0x000018af movq %rax, %r11 + 0xe9, 0x09, 0x02, 0x00, 0x00, //0x000018b2 jmp LBB0_326 + //0x000018b7 LBB0_314 + 0x48, 0x89, 0x4d, 0xa8, //0x000018b7 movq %rcx, $-88(%rbp) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000018bb movq $-1, %rax + 0x4d, 0x85, 0xed, //0x000018c2 testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x000018c5 movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x86, 0xf3, 0xff, 0xff, //0x000018c9 jne LBB0_151 + 0xe9, 0xbe, 0x0a, 0x00, 0x00, //0x000018cf jmp LBB0_420 + //0x000018d4 LBB0_134 + 0x4c, 0x8b, 0x5d, 0xb8, //0x000018d4 movq $-72(%rbp), %r11 + 0x4d, 0x89, 0xd5, //0x000018d8 movq %r10, %r13 + 0x49, 0x83, 0xfd, 0x20, //0x000018db cmpq $32, %r13 + 0x0f, 0x82, 0x57, 0x08, 0x00, 0x00, //0x000018df jb LBB0_382 + //0x000018e5 LBB0_135 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x000018e5 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x000018ea vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x000018f0 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x000018f4 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x000018f8 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x000018fc vpmovmskb %xmm5, %edx + 0xc5, 0xe9, 0x74, 0xd1, //0x00001900 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001904 vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x00001908 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x0000190c vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001910 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001914 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001918 orq %rax, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x0000191b cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000191f jne LBB0_137 + 0x48, 0x85, 0xff, //0x00001925 testq %rdi, %rdi + 0x0f, 0x85, 0xad, 0x07, 0x00, 0x00, //0x00001928 jne LBB0_379 + //0x0000192e LBB0_137 + 0x48, 0x09, 0xca, //0x0000192e orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00001931 movq %rdi, %rax + 0x4c, 0x09, 0xc8, //0x00001934 orq %r9, %rax + 0x0f, 0x85, 0xbb, 0x07, 0x00, 0x00, //0x00001937 jne LBB0_380 + //0x0000193d LBB0_138 + 0x48, 0x85, 0xd2, //0x0000193d testq %rdx, %rdx + 0x0f, 0x84, 0xee, 0x07, 0x00, 0x00, //0x00001940 je LBB0_381 + //0x00001946 LBB0_139 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001946 bsfq %rdx, %rax + 0xe9, 0x94, 0xf2, 0xff, 0xff, //0x0000194a jmp LBB0_143 + //0x0000194f LBB0_170 + 0x4d, 0x89, 0xc3, //0x0000194f movq %r8, %r11 + 0x4c, 0x89, 0xd0, //0x00001952 movq %r10, %rax + 0x48, 0x83, 0xf8, 0x20, //0x00001955 cmpq $32, %rax + 0x0f, 0x82, 0x7b, 0x01, 0x00, 0x00, //0x00001959 jb LBB0_329 + //0x0000195f LBB0_171 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x0000195f vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001964 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x0000196a vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0x79, 0xd7, 0xc5, //0x0000196e vpmovmskb %xmm5, %r8d + 0xc5, 0xd9, 0x74, 0xe8, //0x00001972 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x00001976 vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xe9, //0x0000197a vpcmpeqb %xmm1, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x0000197e vpmovmskb %xmm5, %edx + 0xc5, 0xd9, 0x74, 0xe9, //0x00001982 vpcmpeqb %xmm1, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001986 vpmovmskb %xmm5, %ecx + 0xc5, 0x81, 0x64, 0xea, //0x0000198a vpcmpgtb %xmm2, %xmm15, %xmm5 + 0xc5, 0xe9, 0x64, 0xd3, //0x0000198e vpcmpgtb %xmm3, %xmm2, %xmm2 + 0xc5, 0xe9, 0xdb, 0xd5, //0x00001992 vpand %xmm5, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001996 vpmovmskb %xmm2, %r14d + 0xc5, 0x81, 0x64, 0xd4, //0x0000199a vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x0000199e vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x000019a2 vpand %xmm2, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000019a6 vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe6, 0x10, //0x000019aa shlq $16, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x000019ae shlq $16, %rcx + 0x48, 0x09, 0xca, //0x000019b2 orq %rcx, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x000019b5 cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000019b9 jne LBB0_173 + 0x48, 0x85, 0xd2, //0x000019bf testq %rdx, %rdx + 0x0f, 0x85, 0x02, 0x08, 0x00, 0x00, //0x000019c2 jne LBB0_390 + //0x000019c8 LBB0_173 + 0x48, 0xc1, 0xe7, 0x10, //0x000019c8 shlq $16, %rdi + 0x4c, 0x09, 0xc6, //0x000019cc orq %r8, %rsi + 0x48, 0x89, 0xd1, //0x000019cf movq %rdx, %rcx + 0x4c, 0x09, 0xc9, //0x000019d2 orq %r9, %rcx + 0x0f, 0x85, 0x65, 0x06, 0x00, 0x00, //0x000019d5 jne LBB0_374 + //0x000019db LBB0_174 + 0x4c, 0x09, 0xf7, //0x000019db orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000019de movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x000019e3 movl $64, %edx + 0x48, 0x85, 0xf6, //0x000019e8 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x000019eb je LBB0_176 + 0x48, 0x0f, 0xbc, 0xd6, //0x000019f1 bsfq %rsi, %rdx + //0x000019f5 LBB0_176 + 0x48, 0x85, 0xff, //0x000019f5 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x000019f8 je LBB0_178 + 0x48, 0x0f, 0xbc, 0xcf, //0x000019fe bsfq %rdi, %rcx + //0x00001a02 LBB0_178 + 0x48, 0x85, 0xf6, //0x00001a02 testq %rsi, %rsi + 0x0f, 0x84, 0xbe, 0x00, 0x00, 0x00, //0x00001a05 je LBB0_327 + 0x4c, 0x2b, 0x5d, 0xd0, //0x00001a0b subq $-48(%rbp), %r11 + 0x48, 0x39, 0xd1, //0x00001a0f cmpq %rdx, %rcx + 0x0f, 0x82, 0x83, 0x0b, 0x00, 0x00, //0x00001a12 jb LBB0_458 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001a18 leaq $1(%r11,%rdx), %r11 + 0xe9, 0xc8, 0xf1, 0xff, 0xff, //0x00001a1d jmp LBB0_144 + //0x00001a22 LBB0_315 + 0x48, 0x85, 0xff, //0x00001a22 testq %rdi, %rdi + 0x0f, 0x85, 0x5c, 0x0b, 0x00, 0x00, //0x00001a25 jne LBB0_457 + 0x49, 0x83, 0xc3, 0x20, //0x00001a2b addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001a2f addq $-32, %rax + //0x00001a33 LBB0_317 + 0x4d, 0x85, 0xc0, //0x00001a33 testq %r8, %r8 + 0x0f, 0x85, 0x6f, 0x06, 0x00, 0x00, //0x00001a36 jne LBB0_377 + 0x48, 0x85, 0xc0, //0x00001a3c testq %rax, %rax + 0x0f, 0x84, 0x2e, 0x09, 0x00, 0x00, //0x00001a3f je LBB0_416 + //0x00001a45 LBB0_319 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001a45 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001a49 cmpb $34, %cl + 0x0f, 0x84, 0xa4, 0x03, 0x00, 0x00, //0x00001a4c je LBB0_355 + 0x80, 0xf9, 0x5c, //0x00001a52 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001a55 je LBB0_323 + 0x80, 0xf9, 0x1f, //0x00001a5b cmpb $31, %cl + 0x0f, 0x86, 0x2f, 0x0b, 0x00, 0x00, //0x00001a5e jbe LBB0_461 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001a64 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001a6b movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001a70 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001a73 addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001a76 jne LBB0_319 + 0xe9, 0xf2, 0x08, 0x00, 0x00, //0x00001a7c jmp LBB0_416 + //0x00001a81 LBB0_323 + 0x48, 0x83, 0xf8, 0x01, //0x00001a81 cmpq $1, %rax + 0x0f, 0x84, 0xe8, 0x08, 0x00, 0x00, //0x00001a85 je LBB0_416 + 0x4c, 0x89, 0xd9, //0x00001a8b movq %r11, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001a8e movq $-48(%rbp), %r12 + 0x4c, 0x29, 0xe1, //0x00001a92 subq %r12, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001a95 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001a99 cmoveq %rcx, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001a9d movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001aa4 movl $2, %edx + 0x49, 0x01, 0xd3, //0x00001aa9 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001aac addq %rcx, %rax + 0x0f, 0x85, 0x90, 0xff, 0xff, 0xff, //0x00001aaf jne LBB0_319 + 0xe9, 0xb9, 0x08, 0x00, 0x00, //0x00001ab5 jmp LBB0_416 + //0x00001aba LBB0_325 + 0x48, 0xf7, 0xd6, //0x00001aba notq %rsi + 0x49, 0x89, 0xf3, //0x00001abd movq %rsi, %r11 + //0x00001ac0 LBB0_326 + 0x48, 0x8b, 0x75, 0xc8, //0x00001ac0 movq $-56(%rbp), %rsi + 0xe9, 0xff, 0xf1, 0xff, 0xff, //0x00001ac4 jmp LBB0_160 + //0x00001ac9 LBB0_327 + 0x48, 0x85, 0xff, //0x00001ac9 testq %rdi, %rdi + 0x0f, 0x85, 0xdb, 0x0a, 0x00, 0x00, //0x00001acc jne LBB0_459 + 0x49, 0x83, 0xc3, 0x20, //0x00001ad2 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001ad6 addq $-32, %rax + //0x00001ada LBB0_329 + 0x4d, 0x85, 0xc9, //0x00001ada testq %r9, %r9 + 0x0f, 0x85, 0x2e, 0x07, 0x00, 0x00, //0x00001add jne LBB0_393 + 0x48, 0x8b, 0x75, 0xc8, //0x00001ae3 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001ae7 movq $-64(%rbp), %r9 + 0x48, 0x85, 0xc0, //0x00001aeb testq %rax, %rax + 0x0f, 0x84, 0xc7, 0x08, 0x00, 0x00, //0x00001aee je LBB0_425 + //0x00001af4 LBB0_331 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001af4 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001af8 cmpb $34, %cl + 0x0f, 0x84, 0xa7, 0x00, 0x00, 0x00, //0x00001afb je LBB0_340 + 0x80, 0xf9, 0x5c, //0x00001b01 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001b04 je LBB0_335 + 0x80, 0xf9, 0x1f, //0x00001b0a cmpb $31, %cl + 0x0f, 0x86, 0xa3, 0x0a, 0x00, 0x00, //0x00001b0d jbe LBB0_460 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001b13 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001b1a movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001b1f addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001b22 addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001b25 jne LBB0_331 + 0xe9, 0x8b, 0x08, 0x00, 0x00, //0x00001b2b jmp LBB0_425 + //0x00001b30 LBB0_335 + 0x48, 0x83, 0xf8, 0x01, //0x00001b30 cmpq $1, %rax + 0x0f, 0x84, 0x8f, 0x0a, 0x00, 0x00, //0x00001b34 je LBB0_462 + 0x4c, 0x89, 0xd9, //0x00001b3a movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x00001b3d subq $-48(%rbp), %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00001b41 cmpq $-1, %r12 + 0x4c, 0x0f, 0x44, 0xe1, //0x00001b45 cmoveq %rcx, %r12 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001b49 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001b50 movl $2, %edx + 0x48, 0x8b, 0x75, 0xc8, //0x00001b55 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001b59 movq $-64(%rbp), %r9 + 0x49, 0x01, 0xd3, //0x00001b5d addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001b60 addq %rcx, %rax + 0x0f, 0x85, 0x8b, 0xff, 0xff, 0xff, //0x00001b63 jne LBB0_331 + 0xe9, 0x4d, 0x08, 0x00, 0x00, //0x00001b69 jmp LBB0_425 + //0x00001b6e LBB0_418 + 0x48, 0xf7, 0xda, //0x00001b6e negq %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x00001b71 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x65, 0xd0, //0x00001b75 movq $-48(%rbp), %r12 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001b79 movq $-64(%rbp), %r9 + 0x49, 0x89, 0xd3, //0x00001b7d movq %rdx, %r11 + 0x4d, 0x85, 0xdb, //0x00001b80 testq %r11, %r11 + 0x0f, 0x89, 0x0b, 0xe6, 0xff, 0xff, //0x00001b83 jns LBB0_258 + 0xe9, 0x01, 0x08, 0x00, 0x00, //0x00001b89 jmp LBB0_419 + //0x00001b8e LBB0_337 + 0x4d, 0x29, 0xe5, //0x00001b8e subq %r12, %r13 + 0x44, 0x0f, 0xbc, 0xdf, //0x00001b91 bsfl %edi, %r11d + 0x4d, 0x01, 0xeb, //0x00001b95 addq %r13, %r11 + //0x00001b98 LBB0_338 + 0x49, 0xf7, 0xd3, //0x00001b98 notq %r11 + //0x00001b9b LBB0_339 + 0x48, 0x8b, 0x75, 0xc8, //0x00001b9b movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001b9f movq $-64(%rbp), %r9 + 0xe9, 0x22, 0xfb, 0xff, 0xff, //0x00001ba3 jmp LBB0_302 + //0x00001ba8 LBB0_340 + 0x4c, 0x03, 0x5d, 0x98, //0x00001ba8 addq $-104(%rbp), %r11 + 0xe9, 0x9f, 0xf3, 0xff, 0xff, //0x00001bac jmp LBB0_195 + //0x00001bb1 LBB0_208 + 0x4d, 0x89, 0xc3, //0x00001bb1 movq %r8, %r11 + 0x4c, 0x8b, 0x65, 0xb8, //0x00001bb4 movq $-72(%rbp), %r12 + 0x49, 0x83, 0xfc, 0x20, //0x00001bb8 cmpq $32, %r12 + 0x0f, 0x82, 0x69, 0x00, 0x00, 0x00, //0x00001bbc jb LBB0_399 + //0x00001bc2 LBB0_209 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00001bc2 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001bc7 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001bcd vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001bd1 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001bd5 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00001bd9 vpmovmskb %xmm5, %edx + 0xc5, 0xe9, 0x74, 0xd1, //0x00001bdd vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001be1 vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x00001be5 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001be9 vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001bed shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001bf1 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001bf5 orq %rax, %rdi + 0x49, 0x83, 0xf9, 0xff, //0x00001bf8 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001bfc jne LBB0_211 + 0x48, 0x85, 0xff, //0x00001c02 testq %rdi, %rdi + 0x0f, 0x85, 0x75, 0x06, 0x00, 0x00, //0x00001c05 jne LBB0_396 + //0x00001c0b LBB0_211 + 0x48, 0x09, 0xca, //0x00001c0b orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00001c0e movq %rdi, %rax + 0x4c, 0x09, 0xd0, //0x00001c11 orq %r10, %rax + 0x0f, 0x85, 0x83, 0x06, 0x00, 0x00, //0x00001c14 jne LBB0_397 + //0x00001c1a LBB0_212 + 0x48, 0x85, 0xd2, //0x00001c1a testq %rdx, %rdx + 0x0f, 0x85, 0x8c, 0xfb, 0xff, 0xff, //0x00001c1d jne LBB0_54 + //0x00001c23 LBB0_398 + 0x49, 0x83, 0xc3, 0x20, //0x00001c23 addq $32, %r11 + 0x49, 0x83, 0xc4, 0xe0, //0x00001c27 addq $-32, %r12 + //0x00001c2b LBB0_399 + 0x4d, 0x85, 0xd2, //0x00001c2b testq %r10, %r10 + 0x0f, 0x85, 0xbe, 0x06, 0x00, 0x00, //0x00001c2e jne LBB0_411 + 0x4d, 0x85, 0xe4, //0x00001c34 testq %r12, %r12 + 0x0f, 0x84, 0x36, 0x07, 0x00, 0x00, //0x00001c37 je LBB0_416 + //0x00001c3d LBB0_401 + 0x49, 0x8d, 0x4b, 0x01, //0x00001c3d leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x00001c41 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x00001c45 cmpb $34, %bl + 0x0f, 0x84, 0x20, 0x02, 0x00, 0x00, //0x00001c48 je LBB0_406 + 0x49, 0x8d, 0x54, 0x24, 0xff, //0x00001c4e leaq $-1(%r12), %rdx + 0x80, 0xfb, 0x5c, //0x00001c53 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001c56 je LBB0_404 + 0x49, 0x89, 0xd4, //0x00001c5c movq %rdx, %r12 + 0x49, 0x89, 0xcb, //0x00001c5f movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x00001c62 testq %rdx, %rdx + 0x0f, 0x85, 0xd2, 0xff, 0xff, 0xff, //0x00001c65 jne LBB0_401 + 0xe9, 0x03, 0x07, 0x00, 0x00, //0x00001c6b jmp LBB0_416 + //0x00001c70 LBB0_404 + 0x48, 0x85, 0xd2, //0x00001c70 testq %rdx, %rdx + 0x0f, 0x84, 0xfa, 0x06, 0x00, 0x00, //0x00001c73 je LBB0_416 + 0x48, 0x03, 0x4d, 0xa0, //0x00001c79 addq $-96(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001c7d cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001c81 cmoveq %rcx, %r9 + 0x49, 0x83, 0xc3, 0x02, //0x00001c85 addq $2, %r11 + 0x49, 0x83, 0xc4, 0xfe, //0x00001c89 addq $-2, %r12 + 0x4c, 0x89, 0xe2, //0x00001c8d movq %r12, %rdx + 0x48, 0x85, 0xd2, //0x00001c90 testq %rdx, %rdx + 0x0f, 0x85, 0xa4, 0xff, 0xff, 0xff, //0x00001c93 jne LBB0_401 + 0xe9, 0xd5, 0x06, 0x00, 0x00, //0x00001c99 jmp LBB0_416 + //0x00001c9e LBB0_277 + 0x4d, 0x89, 0xe3, //0x00001c9e movq %r12, %r11 + 0x4c, 0x89, 0xd0, //0x00001ca1 movq %r10, %rax + 0x48, 0x83, 0xf8, 0x20, //0x00001ca4 cmpq $32, %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x00001ca8 movq $-48(%rbp), %r12 + 0x0f, 0x82, 0xbd, 0x00, 0x00, 0x00, //0x00001cac jb LBB0_345 + //0x00001cb2 LBB0_278 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00001cb2 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001cb7 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001cbd vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001cc1 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001cc5 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x00001cc9 vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xe9, //0x00001ccd vpcmpeqb %xmm1, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00001cd1 vpmovmskb %xmm5, %edx + 0xc5, 0xd9, 0x74, 0xe9, //0x00001cd5 vpcmpeqb %xmm1, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xdd, //0x00001cd9 vpmovmskb %xmm5, %ebx + 0xc5, 0x81, 0x64, 0xea, //0x00001cdd vpcmpgtb %xmm2, %xmm15, %xmm5 + 0xc5, 0xe9, 0x64, 0xd3, //0x00001ce1 vpcmpgtb %xmm3, %xmm2, %xmm2 + 0xc5, 0xe9, 0xdb, 0xd5, //0x00001ce5 vpand %xmm5, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001ce9 vpmovmskb %xmm2, %r14d + 0xc5, 0x81, 0x64, 0xd4, //0x00001ced vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00001cf1 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001cf5 vpand %xmm2, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001cf9 vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe6, 0x10, //0x00001cfd shlq $16, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x00001d01 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00001d05 orq %rbx, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x00001d08 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001d0c jne LBB0_280 + 0x48, 0x85, 0xd2, //0x00001d12 testq %rdx, %rdx + 0x0f, 0x85, 0xc5, 0x05, 0x00, 0x00, //0x00001d15 jne LBB0_408 + //0x00001d1b LBB0_280 + 0x48, 0xc1, 0xe7, 0x10, //0x00001d1b shlq $16, %rdi + 0x48, 0x09, 0xce, //0x00001d1f orq %rcx, %rsi + 0x48, 0x89, 0xd1, //0x00001d22 movq %rdx, %rcx + 0x4c, 0x09, 0xc1, //0x00001d25 orq %r8, %rcx + 0x0f, 0x85, 0x17, 0x05, 0x00, 0x00, //0x00001d28 jne LBB0_395 + //0x00001d2e LBB0_281 + 0x4c, 0x09, 0xf7, //0x00001d2e orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001d31 movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001d36 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001d3b testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001d3e je LBB0_283 + 0x48, 0x0f, 0xbc, 0xd6, //0x00001d44 bsfq %rsi, %rdx + //0x00001d48 LBB0_283 + 0x48, 0x85, 0xff, //0x00001d48 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001d4b je LBB0_285 + 0x48, 0x0f, 0xbc, 0xcf, //0x00001d51 bsfq %rdi, %rcx + //0x00001d55 LBB0_285 + 0x48, 0x85, 0xf6, //0x00001d55 testq %rsi, %rsi + 0x0f, 0x85, 0x1b, 0xfb, 0xff, 0xff, //0x00001d58 jne LBB0_122 + 0x48, 0x85, 0xff, //0x00001d5e testq %rdi, %rdi + 0x0f, 0x85, 0x20, 0x08, 0x00, 0x00, //0x00001d61 jne LBB0_457 + 0x49, 0x83, 0xc3, 0x20, //0x00001d67 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001d6b addq $-32, %rax + //0x00001d6f LBB0_345 + 0x4d, 0x85, 0xc0, //0x00001d6f testq %r8, %r8 + 0x0f, 0x85, 0xa6, 0x05, 0x00, 0x00, //0x00001d72 jne LBB0_409 + 0x48, 0x85, 0xc0, //0x00001d78 testq %rax, %rax + 0x0f, 0x84, 0xf2, 0x05, 0x00, 0x00, //0x00001d7b je LBB0_416 + //0x00001d81 LBB0_347 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001d81 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001d85 cmpb $34, %cl + 0x0f, 0x84, 0x68, 0x00, 0x00, 0x00, //0x00001d88 je LBB0_355 + 0x80, 0xf9, 0x5c, //0x00001d8e cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001d91 je LBB0_351 + 0x80, 0xf9, 0x1f, //0x00001d97 cmpb $31, %cl + 0x0f, 0x86, 0xf3, 0x07, 0x00, 0x00, //0x00001d9a jbe LBB0_461 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001da0 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001da7 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001dac addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001daf addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001db2 jne LBB0_347 + 0xe9, 0xb6, 0x05, 0x00, 0x00, //0x00001db8 jmp LBB0_416 + //0x00001dbd LBB0_351 + 0x48, 0x83, 0xf8, 0x01, //0x00001dbd cmpq $1, %rax + 0x0f, 0x84, 0xac, 0x05, 0x00, 0x00, //0x00001dc1 je LBB0_416 + 0x4c, 0x89, 0xd9, //0x00001dc7 movq %r11, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001dca movq $-48(%rbp), %r12 + 0x4c, 0x29, 0xe1, //0x00001dce subq %r12, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001dd1 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001dd5 cmoveq %rcx, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001dd9 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001de0 movl $2, %edx + 0x49, 0x01, 0xd3, //0x00001de5 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001de8 addq %rcx, %rax + 0x0f, 0x85, 0x90, 0xff, 0xff, 0xff, //0x00001deb jne LBB0_347 + 0xe9, 0x7d, 0x05, 0x00, 0x00, //0x00001df1 jmp LBB0_416 + //0x00001df6 LBB0_355 + 0x4c, 0x03, 0x5d, 0x98, //0x00001df6 addq $-104(%rbp), %r11 + 0xe9, 0xde, 0xf0, 0xff, 0xff, //0x00001dfa jmp LBB0_187 + //0x00001dff LBB0_341 + 0x49, 0x89, 0xc8, //0x00001dff movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001e02 movq $-1, %r11 + 0x48, 0x85, 0xff, //0x00001e09 testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001e0c movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x55, 0xf8, 0xff, 0xff, //0x00001e10 jne LBB0_293 + 0xe9, 0x1b, 0x06, 0x00, 0x00, //0x00001e16 jmp LBB0_439 + //0x00001e1b LBB0_342 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001e1b movq $-1, %r11 + 0x4c, 0x89, 0x55, 0xa8, //0x00001e22 movq %r10, $-88(%rbp) + 0x49, 0x89, 0xf9, //0x00001e26 movq %rdi, %r9 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00001e29 movq $-1, %r13 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001e30 movq $-1, %r12 + 0xe9, 0x54, 0xe9, 0xff, 0xff, //0x00001e37 jmp LBB0_90 + //0x00001e3c LBB0_353 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001e3c movq $-1, %r9 + 0x45, 0x31, 0xe4, //0x00001e43 xorl %r12d, %r12d + 0x49, 0x83, 0xfd, 0x20, //0x00001e46 cmpq $32, %r13 + 0x0f, 0x83, 0xfe, 0xf8, 0xff, 0xff, //0x00001e4a jae LBB0_50 + 0xe9, 0x5f, 0x01, 0x00, 0x00, //0x00001e50 jmp LBB0_366 + //0x00001e55 LBB0_354 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001e55 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001e5c xorl %r8d, %r8d + 0x48, 0x83, 0xf8, 0x20, //0x00001e5f cmpq $32, %rax + 0x0f, 0x83, 0x64, 0xf9, 0xff, 0xff, //0x00001e63 jae LBB0_114 + 0xe9, 0xc5, 0xfb, 0xff, 0xff, //0x00001e69 jmp LBB0_317 + //0x00001e6e LBB0_406 + 0x4c, 0x8b, 0x65, 0xd0, //0x00001e6e movq $-48(%rbp), %r12 + //0x00001e72 LBB0_407 + 0x4c, 0x29, 0xe1, //0x00001e72 subq %r12, %rcx + 0x49, 0x89, 0xcb, //0x00001e75 movq %rcx, %r11 + 0xe9, 0x60, 0xf0, 0xff, 0xff, //0x00001e78 jmp LBB0_187 + //0x00001e7d LBB0_356 + 0x49, 0xf7, 0xdb, //0x00001e7d negq %r11 + 0xe9, 0x16, 0xfd, 0xff, 0xff, //0x00001e80 jmp LBB0_339 + //0x00001e85 LBB0_357 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001e85 movq $-1, %r12 + 0x45, 0x31, 0xc9, //0x00001e8c xorl %r9d, %r9d + 0x49, 0x83, 0xfd, 0x20, //0x00001e8f cmpq $32, %r13 + 0x0f, 0x83, 0x4c, 0xfa, 0xff, 0xff, //0x00001e93 jae LBB0_135 + 0xe9, 0x9e, 0x02, 0x00, 0x00, //0x00001e99 jmp LBB0_382 + //0x00001e9e LBB0_358 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001e9e movq $-1, %r12 + 0x45, 0x31, 0xc9, //0x00001ea5 xorl %r9d, %r9d + 0x48, 0x83, 0xf8, 0x20, //0x00001ea8 cmpq $32, %rax + 0x0f, 0x83, 0xad, 0xfa, 0xff, 0xff, //0x00001eac jae LBB0_171 + 0xe9, 0x23, 0xfc, 0xff, 0xff, //0x00001eb2 jmp LBB0_329 + //0x00001eb7 LBB0_359 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001eb7 movq $-1, %r14 + 0x4d, 0x89, 0xe0, //0x00001ebe movq %r12, %r8 + 0x4d, 0x89, 0xd1, //0x00001ec1 movq %r10, %r9 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00001ec4 movq $-1, %rdi + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001ecb movq $-1, %rbx + 0x48, 0x8d, 0x35, 0x03, 0x09, 0x00, 0x00, //0x00001ed2 leaq $2307(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0xe9, 0x14, 0xf4, 0xff, 0xff, //0x00001ed9 jmp LBB0_239 + //0x00001ede LBB0_360 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001ede movq $-1, %r9 + 0x45, 0x31, 0xd2, //0x00001ee5 xorl %r10d, %r10d + 0x49, 0x83, 0xfc, 0x20, //0x00001ee8 cmpq $32, %r12 + 0x0f, 0x83, 0xd0, 0xfc, 0xff, 0xff, //0x00001eec jae LBB0_209 + 0xe9, 0x34, 0xfd, 0xff, 0xff, //0x00001ef2 jmp LBB0_399 + //0x00001ef7 LBB0_361 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001ef7 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001efe xorl %r8d, %r8d + 0x48, 0x83, 0xf8, 0x20, //0x00001f01 cmpq $32, %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x00001f05 movq $-48(%rbp), %r12 + 0x0f, 0x83, 0xa3, 0xfd, 0xff, 0xff, //0x00001f09 jae LBB0_278 + 0xe9, 0x5b, 0xfe, 0xff, 0xff, //0x00001f0f jmp LBB0_345 + //0x00001f14 LBB0_362 + 0x44, 0x89, 0xc1, //0x00001f14 movl %r8d, %ecx + 0xf7, 0xd1, //0x00001f17 notl %ecx + 0x21, 0xd1, //0x00001f19 andl %edx, %ecx + 0x44, 0x8d, 0x24, 0x09, //0x00001f1b leal (%rcx,%rcx), %r12d + 0x45, 0x09, 0xc4, //0x00001f1f orl %r8d, %r12d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f22 movl $2863311530, %ebx + 0x44, 0x31, 0xe3, //0x00001f27 xorl %r12d, %ebx + 0x21, 0xd3, //0x00001f2a andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f2c andl $-1431655766, %ebx + 0x45, 0x31, 0xc0, //0x00001f32 xorl %r8d, %r8d + 0x01, 0xcb, //0x00001f35 addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc0, //0x00001f37 setb %r8b + 0x01, 0xdb, //0x00001f3b addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x00001f3d xorl $1431655765, %ebx + 0x44, 0x21, 0xe3, //0x00001f43 andl %r12d, %ebx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001f46 movq $-48(%rbp), %r12 + 0xf7, 0xd3, //0x00001f4a notl %ebx + 0x21, 0xde, //0x00001f4c andl %ebx, %esi + 0xe9, 0xf6, 0xf8, 0xff, 0xff, //0x00001f4e jmp LBB0_117 + //0x00001f53 LBB0_363 + 0x4c, 0x89, 0xd8, //0x00001f53 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00001f56 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xcf, //0x00001f5a bsfq %rdi, %r9 + 0x49, 0x01, 0xc1, //0x00001f5e addq %rax, %r9 + 0x48, 0x09, 0xca, //0x00001f61 orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00001f64 movq %rdi, %rax + 0x4c, 0x09, 0xe0, //0x00001f67 orq %r12, %rax + 0x0f, 0x84, 0x36, 0xf8, 0xff, 0xff, //0x00001f6a je LBB0_53 + //0x00001f70 LBB0_364 + 0x44, 0x89, 0xe0, //0x00001f70 movl %r12d, %eax + 0xf7, 0xd0, //0x00001f73 notl %eax + 0x21, 0xf8, //0x00001f75 andl %edi, %eax + 0x8d, 0x0c, 0x00, //0x00001f77 leal (%rax,%rax), %ecx + 0x44, 0x09, 0xe1, //0x00001f7a orl %r12d, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f7d movl $2863311530, %esi + 0x31, 0xce, //0x00001f82 xorl %ecx, %esi + 0x21, 0xfe, //0x00001f84 andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f86 andl $-1431655766, %esi + 0x45, 0x31, 0xe4, //0x00001f8c xorl %r12d, %r12d + 0x01, 0xc6, //0x00001f8f addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc4, //0x00001f91 setb %r12b + 0x01, 0xf6, //0x00001f95 addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x00001f97 xorl $1431655765, %esi + 0x21, 0xce, //0x00001f9d andl %ecx, %esi + 0xf7, 0xd6, //0x00001f9f notl %esi + 0x21, 0xf2, //0x00001fa1 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x00001fa3 testq %rdx, %rdx + 0x0f, 0x85, 0x03, 0xf8, 0xff, 0xff, //0x00001fa6 jne LBB0_54 + //0x00001fac LBB0_365 + 0x49, 0x83, 0xc3, 0x20, //0x00001fac addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x00001fb0 addq $-32, %r13 + //0x00001fb4 LBB0_366 + 0x4d, 0x85, 0xe4, //0x00001fb4 testq %r12, %r12 + 0x0f, 0x85, 0xbe, 0x00, 0x00, 0x00, //0x00001fb7 jne LBB0_375 + 0x4c, 0x8b, 0x65, 0xd0, //0x00001fbd movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xed, //0x00001fc1 testq %r13, %r13 + 0x0f, 0x84, 0xa9, 0x03, 0x00, 0x00, //0x00001fc4 je LBB0_416 + //0x00001fca LBB0_368 + 0x49, 0x8d, 0x4b, 0x01, //0x00001fca leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x00001fce movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x00001fd2 cmpb $34, %bl + 0x0f, 0x84, 0x97, 0xfe, 0xff, 0xff, //0x00001fd5 je LBB0_407 + 0x49, 0x8d, 0x55, 0xff, //0x00001fdb leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x00001fdf cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001fe2 je LBB0_371 + 0x49, 0x89, 0xd5, //0x00001fe8 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x00001feb movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x00001fee testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x00001ff1 jne LBB0_368 + 0xe9, 0x77, 0x03, 0x00, 0x00, //0x00001ff7 jmp LBB0_416 + //0x00001ffc LBB0_371 + 0x48, 0x85, 0xd2, //0x00001ffc testq %rdx, %rdx + 0x0f, 0x84, 0x6e, 0x03, 0x00, 0x00, //0x00001fff je LBB0_416 + 0x48, 0x03, 0x4d, 0xa0, //0x00002005 addq $-96(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00002009 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x0000200d cmoveq %rcx, %r9 + 0x49, 0x83, 0xc3, 0x02, //0x00002011 addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x00002015 addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x00002019 movq %r13, %rdx + 0x4c, 0x8b, 0x65, 0xd0, //0x0000201c movq $-48(%rbp), %r12 + 0x48, 0x85, 0xd2, //0x00002020 testq %rdx, %rdx + 0x0f, 0x85, 0xa1, 0xff, 0xff, 0xff, //0x00002023 jne LBB0_368 + 0xe9, 0x45, 0x03, 0x00, 0x00, //0x00002029 jmp LBB0_416 + //0x0000202e LBB0_373 + 0x4c, 0x89, 0xdb, //0x0000202e movq %r11, %rbx + 0x4c, 0x29, 0xe3, //0x00002031 subq %r12, %rbx + 0x4c, 0x0f, 0xbc, 0xca, //0x00002034 bsfq %rdx, %r9 + 0x49, 0x01, 0xd9, //0x00002038 addq %rbx, %r9 + 0xe9, 0xf6, 0xf7, 0xff, 0xff, //0x0000203b jmp LBB0_116 + //0x00002040 LBB0_374 + 0x44, 0x89, 0xc9, //0x00002040 movl %r9d, %ecx + 0xf7, 0xd1, //0x00002043 notl %ecx + 0x21, 0xd1, //0x00002045 andl %edx, %ecx + 0x44, 0x8d, 0x04, 0x09, //0x00002047 leal (%rcx,%rcx), %r8d + 0x45, 0x09, 0xc8, //0x0000204b orl %r9d, %r8d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000204e movl $2863311530, %ebx + 0x44, 0x31, 0xc3, //0x00002053 xorl %r8d, %ebx + 0x21, 0xd3, //0x00002056 andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002058 andl $-1431655766, %ebx + 0x45, 0x31, 0xc9, //0x0000205e xorl %r9d, %r9d + 0x01, 0xcb, //0x00002061 addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc1, //0x00002063 setb %r9b + 0x01, 0xdb, //0x00002067 addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x00002069 xorl $1431655765, %ebx + 0x44, 0x21, 0xc3, //0x0000206f andl %r8d, %ebx + 0xf7, 0xd3, //0x00002072 notl %ebx + 0x21, 0xde, //0x00002074 andl %ebx, %esi + 0xe9, 0x60, 0xf9, 0xff, 0xff, //0x00002076 jmp LBB0_174 + //0x0000207b LBB0_375 + 0x4d, 0x85, 0xed, //0x0000207b testq %r13, %r13 + 0x0f, 0x84, 0xef, 0x02, 0x00, 0x00, //0x0000207e je LBB0_416 + 0x48, 0x8b, 0x45, 0xa0, //0x00002084 movq $-96(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x00002088 addq %r11, %rax + 0x49, 0x83, 0xf9, 0xff, //0x0000208b cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc8, //0x0000208f cmoveq %rax, %r9 + 0x49, 0xff, 0xc3, //0x00002093 incq %r11 + 0x49, 0xff, 0xcd, //0x00002096 decq %r13 + 0x4c, 0x8b, 0x65, 0xd0, //0x00002099 movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xed, //0x0000209d testq %r13, %r13 + 0x0f, 0x85, 0x24, 0xff, 0xff, 0xff, //0x000020a0 jne LBB0_368 + 0xe9, 0xc8, 0x02, 0x00, 0x00, //0x000020a6 jmp LBB0_416 + //0x000020ab LBB0_377 + 0x48, 0x85, 0xc0, //0x000020ab testq %rax, %rax + 0x0f, 0x84, 0xbf, 0x02, 0x00, 0x00, //0x000020ae je LBB0_416 + 0x48, 0x8b, 0x4d, 0xa0, //0x000020b4 movq $-96(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x000020b8 addq %r11, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x000020bb cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x000020bf cmoveq %rcx, %r9 + 0x49, 0xff, 0xc3, //0x000020c3 incq %r11 + 0x48, 0xff, 0xc8, //0x000020c6 decq %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x000020c9 movq $-48(%rbp), %r12 + 0x48, 0x85, 0xc0, //0x000020cd testq %rax, %rax + 0x0f, 0x85, 0x6f, 0xf9, 0xff, 0xff, //0x000020d0 jne LBB0_319 + 0xe9, 0x98, 0x02, 0x00, 0x00, //0x000020d6 jmp LBB0_416 + //0x000020db LBB0_379 + 0x4c, 0x89, 0xd8, //0x000020db movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000020de subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xe7, //0x000020e2 bsfq %rdi, %r12 + 0x49, 0x01, 0xc4, //0x000020e6 addq %rax, %r12 + 0x48, 0x09, 0xca, //0x000020e9 orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x000020ec movq %rdi, %rax + 0x4c, 0x09, 0xc8, //0x000020ef orq %r9, %rax + 0x0f, 0x84, 0x45, 0xf8, 0xff, 0xff, //0x000020f2 je LBB0_138 + //0x000020f8 LBB0_380 + 0x44, 0x89, 0xc8, //0x000020f8 movl %r9d, %eax + 0xf7, 0xd0, //0x000020fb notl %eax + 0x21, 0xf8, //0x000020fd andl %edi, %eax + 0x8d, 0x0c, 0x00, //0x000020ff leal (%rax,%rax), %ecx + 0x44, 0x09, 0xc9, //0x00002102 orl %r9d, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002105 movl $2863311530, %esi + 0x31, 0xce, //0x0000210a xorl %ecx, %esi + 0x21, 0xfe, //0x0000210c andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000210e andl $-1431655766, %esi + 0x45, 0x31, 0xc9, //0x00002114 xorl %r9d, %r9d + 0x01, 0xc6, //0x00002117 addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc1, //0x00002119 setb %r9b + 0x01, 0xf6, //0x0000211d addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x0000211f xorl $1431655765, %esi + 0x21, 0xce, //0x00002125 andl %ecx, %esi + 0xf7, 0xd6, //0x00002127 notl %esi + 0x21, 0xf2, //0x00002129 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x0000212b testq %rdx, %rdx + 0x0f, 0x85, 0x12, 0xf8, 0xff, 0xff, //0x0000212e jne LBB0_139 + //0x00002134 LBB0_381 + 0x49, 0x83, 0xc3, 0x20, //0x00002134 addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x00002138 addq $-32, %r13 + //0x0000213c LBB0_382 + 0x4d, 0x85, 0xc9, //0x0000213c testq %r9, %r9 + 0x0f, 0x85, 0x98, 0x00, 0x00, 0x00, //0x0000213f jne LBB0_391 + 0x48, 0x8b, 0x75, 0xc8, //0x00002145 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00002149 movq $-64(%rbp), %r9 + 0x4d, 0x85, 0xed, //0x0000214d testq %r13, %r13 + 0x0f, 0x84, 0x65, 0x02, 0x00, 0x00, //0x00002150 je LBB0_425 + //0x00002156 LBB0_384 + 0x49, 0x8d, 0x4b, 0x01, //0x00002156 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x0000215a movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x0000215e cmpb $34, %bl + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x00002161 je LBB0_389 + 0x49, 0x8d, 0x55, 0xff, //0x00002167 leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x0000216b cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000216e je LBB0_387 + 0x49, 0x89, 0xd5, //0x00002174 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x00002177 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x0000217a testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x0000217d jne LBB0_384 + 0xe9, 0x33, 0x02, 0x00, 0x00, //0x00002183 jmp LBB0_425 + //0x00002188 LBB0_387 + 0x48, 0x85, 0xd2, //0x00002188 testq %rdx, %rdx + 0x0f, 0x84, 0x38, 0x04, 0x00, 0x00, //0x0000218b je LBB0_462 + 0x48, 0x03, 0x4d, 0xa0, //0x00002191 addq $-96(%rbp), %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00002195 cmpq $-1, %r12 + 0x4c, 0x0f, 0x44, 0xe1, //0x00002199 cmoveq %rcx, %r12 + 0x49, 0x83, 0xc3, 0x02, //0x0000219d addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x000021a1 addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x000021a5 movq %r13, %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x000021a8 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x000021ac movq $-64(%rbp), %r9 + 0x48, 0x85, 0xd2, //0x000021b0 testq %rdx, %rdx + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x000021b3 jne LBB0_384 + 0xe9, 0xfd, 0x01, 0x00, 0x00, //0x000021b9 jmp LBB0_425 + //0x000021be LBB0_389 + 0x48, 0x2b, 0x4d, 0xd0, //0x000021be subq $-48(%rbp), %rcx + 0x49, 0x89, 0xcb, //0x000021c2 movq %rcx, %r11 + 0xe9, 0x86, 0xed, 0xff, 0xff, //0x000021c5 jmp LBB0_195 + //0x000021ca LBB0_390 + 0x4c, 0x89, 0xd9, //0x000021ca movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x000021cd subq $-48(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xe2, //0x000021d1 bsfq %rdx, %r12 + 0x49, 0x01, 0xcc, //0x000021d5 addq %rcx, %r12 + 0xe9, 0xeb, 0xf7, 0xff, 0xff, //0x000021d8 jmp LBB0_173 + //0x000021dd LBB0_391 + 0x4d, 0x85, 0xed, //0x000021dd testq %r13, %r13 + 0x0f, 0x84, 0xe3, 0x03, 0x00, 0x00, //0x000021e0 je LBB0_462 + 0x48, 0x8b, 0x45, 0xa0, //0x000021e6 movq $-96(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000021ea addq %r11, %rax + 0x49, 0x83, 0xfc, 0xff, //0x000021ed cmpq $-1, %r12 + 0x4c, 0x0f, 0x44, 0xe0, //0x000021f1 cmoveq %rax, %r12 + 0x49, 0xff, 0xc3, //0x000021f5 incq %r11 + 0x49, 0xff, 0xcd, //0x000021f8 decq %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x000021fb movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x000021ff movq $-64(%rbp), %r9 + 0x4d, 0x85, 0xed, //0x00002203 testq %r13, %r13 + 0x0f, 0x85, 0x4a, 0xff, 0xff, 0xff, //0x00002206 jne LBB0_384 + 0xe9, 0xaa, 0x01, 0x00, 0x00, //0x0000220c jmp LBB0_425 + //0x00002211 LBB0_393 + 0x48, 0x85, 0xc0, //0x00002211 testq %rax, %rax + 0x0f, 0x84, 0xaf, 0x03, 0x00, 0x00, //0x00002214 je LBB0_462 + 0x48, 0x8b, 0x4d, 0xa0, //0x0000221a movq $-96(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x0000221e addq %r11, %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00002221 cmpq $-1, %r12 + 0x4c, 0x0f, 0x44, 0xe1, //0x00002225 cmoveq %rcx, %r12 + 0x49, 0xff, 0xc3, //0x00002229 incq %r11 + 0x48, 0xff, 0xc8, //0x0000222c decq %rax + 0x48, 0x8b, 0x75, 0xc8, //0x0000222f movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00002233 movq $-64(%rbp), %r9 + 0x48, 0x85, 0xc0, //0x00002237 testq %rax, %rax + 0x0f, 0x85, 0xb4, 0xf8, 0xff, 0xff, //0x0000223a jne LBB0_331 + 0xe9, 0x76, 0x01, 0x00, 0x00, //0x00002240 jmp LBB0_425 + //0x00002245 LBB0_395 + 0x44, 0x89, 0xc1, //0x00002245 movl %r8d, %ecx + 0xf7, 0xd1, //0x00002248 notl %ecx + 0x21, 0xd1, //0x0000224a andl %edx, %ecx + 0x44, 0x8d, 0x14, 0x09, //0x0000224c leal (%rcx,%rcx), %r10d + 0x45, 0x09, 0xc2, //0x00002250 orl %r8d, %r10d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002253 movl $2863311530, %ebx + 0x44, 0x31, 0xd3, //0x00002258 xorl %r10d, %ebx + 0x21, 0xd3, //0x0000225b andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000225d andl $-1431655766, %ebx + 0x45, 0x31, 0xc0, //0x00002263 xorl %r8d, %r8d + 0x01, 0xcb, //0x00002266 addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc0, //0x00002268 setb %r8b + 0x01, 0xdb, //0x0000226c addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x0000226e xorl $1431655765, %ebx + 0x44, 0x21, 0xd3, //0x00002274 andl %r10d, %ebx + 0xf7, 0xd3, //0x00002277 notl %ebx + 0x21, 0xde, //0x00002279 andl %ebx, %esi + 0xe9, 0xae, 0xfa, 0xff, 0xff, //0x0000227b jmp LBB0_281 + //0x00002280 LBB0_396 + 0x4c, 0x89, 0xd8, //0x00002280 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00002283 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xcf, //0x00002287 bsfq %rdi, %r9 + 0x49, 0x01, 0xc1, //0x0000228b addq %rax, %r9 + 0x48, 0x09, 0xca, //0x0000228e orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00002291 movq %rdi, %rax + 0x4c, 0x09, 0xd0, //0x00002294 orq %r10, %rax + 0x0f, 0x84, 0x7d, 0xf9, 0xff, 0xff, //0x00002297 je LBB0_212 + //0x0000229d LBB0_397 + 0x44, 0x89, 0xd0, //0x0000229d movl %r10d, %eax + 0xf7, 0xd0, //0x000022a0 notl %eax + 0x21, 0xf8, //0x000022a2 andl %edi, %eax + 0x8d, 0x0c, 0x00, //0x000022a4 leal (%rax,%rax), %ecx + 0x44, 0x09, 0xd1, //0x000022a7 orl %r10d, %ecx + 0x89, 0xce, //0x000022aa movl %ecx, %esi + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022ac movl $2863311530, %ebx + 0x31, 0xde, //0x000022b1 xorl %ebx, %esi + 0x21, 0xfe, //0x000022b3 andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022b5 andl $-1431655766, %esi + 0x45, 0x31, 0xd2, //0x000022bb xorl %r10d, %r10d + 0x01, 0xc6, //0x000022be addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc2, //0x000022c0 setb %r10b + 0x01, 0xf6, //0x000022c4 addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x000022c6 xorl $1431655765, %esi + 0x21, 0xce, //0x000022cc andl %ecx, %esi + 0xf7, 0xd6, //0x000022ce notl %esi + 0x21, 0xf2, //0x000022d0 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x000022d2 testq %rdx, %rdx + 0x0f, 0x85, 0xd4, 0xf4, 0xff, 0xff, //0x000022d5 jne LBB0_54 + 0xe9, 0x43, 0xf9, 0xff, 0xff, //0x000022db jmp LBB0_398 + //0x000022e0 LBB0_408 + 0x4c, 0x89, 0xdb, //0x000022e0 movq %r11, %rbx + 0x4c, 0x29, 0xe3, //0x000022e3 subq %r12, %rbx + 0x4c, 0x0f, 0xbc, 0xca, //0x000022e6 bsfq %rdx, %r9 + 0x49, 0x01, 0xd9, //0x000022ea addq %rbx, %r9 + 0xe9, 0x29, 0xfa, 0xff, 0xff, //0x000022ed jmp LBB0_280 + //0x000022f2 LBB0_411 + 0x4d, 0x85, 0xe4, //0x000022f2 testq %r12, %r12 + 0x0f, 0x84, 0x78, 0x00, 0x00, 0x00, //0x000022f5 je LBB0_416 + 0x48, 0x8b, 0x45, 0xa0, //0x000022fb movq $-96(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000022ff addq %r11, %rax + 0x49, 0x83, 0xf9, 0xff, //0x00002302 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc8, //0x00002306 cmoveq %rax, %r9 + 0x49, 0xff, 0xc3, //0x0000230a incq %r11 + 0x49, 0xff, 0xcc, //0x0000230d decq %r12 + 0x4d, 0x85, 0xe4, //0x00002310 testq %r12, %r12 + 0x0f, 0x85, 0x24, 0xf9, 0xff, 0xff, //0x00002313 jne LBB0_401 + 0xe9, 0x55, 0x00, 0x00, 0x00, //0x00002319 jmp LBB0_416 + //0x0000231e LBB0_409 + 0x48, 0x85, 0xc0, //0x0000231e testq %rax, %rax + 0x0f, 0x84, 0x4c, 0x00, 0x00, 0x00, //0x00002321 je LBB0_416 + 0x48, 0x8b, 0x4d, 0xa0, //0x00002327 movq $-96(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x0000232b addq %r11, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x0000232e cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00002332 cmoveq %rcx, %r9 + 0x49, 0xff, 0xc3, //0x00002336 incq %r11 + 0x48, 0xff, 0xc8, //0x00002339 decq %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x0000233c movq $-48(%rbp), %r12 + 0x48, 0x85, 0xc0, //0x00002340 testq %rax, %rax + 0x0f, 0x85, 0x38, 0xfa, 0xff, 0xff, //0x00002343 jne LBB0_347 + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00002349 jmp LBB0_416 + //0x0000234e LBB0_413 + 0x48, 0x89, 0x16, //0x0000234e movq %rdx, (%rsi) + //0x00002351 LBB0_414 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002351 movq $-1, %rax + 0xe9, 0x45, 0x00, 0x00, 0x00, //0x00002358 jmp LBB0_423 + //0x0000235d LBB0_441 + 0x48, 0xc7, 0xc0, 0xf9, 0xff, 0xff, 0xff, //0x0000235d movq $-7, %rax + 0xe9, 0x39, 0x00, 0x00, 0x00, //0x00002364 jmp LBB0_423 + //0x00002369 LBB0_415 + 0x49, 0x83, 0xfb, 0xff, //0x00002369 cmpq $-1, %r11 + 0x0f, 0x85, 0x7f, 0x00, 0x00, 0x00, //0x0000236d jne LBB0_307 + //0x00002373 LBB0_416 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00002373 movq $-1, %r11 + 0x4c, 0x8b, 0x4d, 0xb0, //0x0000237a movq $-80(%rbp), %r9 + 0xe9, 0x6f, 0x00, 0x00, 0x00, //0x0000237e jmp LBB0_307 + //0x00002383 LBB0_417 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002383 movq $-1, %rax + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x0000238a jmp LBB0_420 + //0x0000238f LBB0_419 + 0x4c, 0x89, 0xd8, //0x0000238f movq %r11, %rax + //0x00002392 LBB0_420 + 0x48, 0xf7, 0xd0, //0x00002392 notq %rax + 0x49, 0x01, 0xc7, //0x00002395 addq %rax, %r15 + //0x00002398 LBB0_421 + 0x4c, 0x89, 0x3e, //0x00002398 movq %r15, (%rsi) + //0x0000239b LBB0_422 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000239b movq $-2, %rax + //0x000023a2 LBB0_423 + 0x48, 0x83, 0xc4, 0x68, //0x000023a2 addq $104, %rsp + 0x5b, //0x000023a6 popq %rbx + 0x41, 0x5c, //0x000023a7 popq %r12 + 0x41, 0x5d, //0x000023a9 popq %r13 + 0x41, 0x5e, //0x000023ab popq %r14 + 0x41, 0x5f, //0x000023ad popq %r15 + 0x5d, //0x000023af popq %rbp + 0xc3, //0x000023b0 retq + //0x000023b1 LBB0_424 + 0x49, 0x83, 0xfb, 0xff, //0x000023b1 cmpq $-1, %r11 + 0x0f, 0x85, 0x69, 0x00, 0x00, 0x00, //0x000023b5 jne LBB0_437 + //0x000023bb LBB0_425 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000023bb movq $-1, %r11 + 0x4c, 0x8b, 0x65, 0xb0, //0x000023c2 movq $-80(%rbp), %r12 + 0xe9, 0x59, 0x00, 0x00, 0x00, //0x000023c6 jmp LBB0_437 + //0x000023cb LBB0_440 + 0x48, 0x89, 0x0e, //0x000023cb movq %rcx, (%rsi) + 0xe9, 0xcf, 0xff, 0xff, 0xff, //0x000023ce jmp LBB0_423 + //0x000023d3 LBB0_426 + 0x49, 0x83, 0xf9, 0xff, //0x000023d3 cmpq $-1, %r9 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000023d7 jne LBB0_431 + 0x49, 0x0f, 0xbc, 0xc4, //0x000023dd bsfq %r12, %rax + //0x000023e1 LBB0_428 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000023e1 subq $-48(%rbp), %r11 + //0x000023e5 LBB0_429 + 0x49, 0x01, 0xc3, //0x000023e5 addq %rax, %r11 + //0x000023e8 LBB0_430 + 0x4d, 0x89, 0xd9, //0x000023e8 movq %r11, %r9 + //0x000023eb LBB0_431 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000023eb movq $-2, %r11 + //0x000023f2 LBB0_307 + 0x48, 0x8b, 0x45, 0xc8, //0x000023f2 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x000023f6 movq %r9, (%rax) + 0x4c, 0x89, 0xd8, //0x000023f9 movq %r11, %rax + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x000023fc jmp LBB0_423 + //0x00002401 LBB0_432 + 0x49, 0x83, 0xfc, 0xff, //0x00002401 cmpq $-1, %r12 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00002405 jne LBB0_435 + 0x48, 0x0f, 0xbc, 0xc2, //0x0000240b bsfq %rdx, %rax + //0x0000240f LBB0_434 + 0x4c, 0x2b, 0x5d, 0xd0, //0x0000240f subq $-48(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00002413 addq %rax, %r11 + 0x4d, 0x89, 0xdc, //0x00002416 movq %r11, %r12 + //0x00002419 LBB0_435 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002419 movq $-2, %r11 + //0x00002420 LBB0_436 + 0x48, 0x8b, 0x75, 0xc8, //0x00002420 movq $-56(%rbp), %rsi + //0x00002424 LBB0_437 + 0x4c, 0x89, 0x26, //0x00002424 movq %r12, (%rsi) + 0x4c, 0x89, 0xd8, //0x00002427 movq %r11, %rax + 0xe9, 0x73, 0xff, 0xff, 0xff, //0x0000242a jmp LBB0_423 + //0x0000242f LBB0_438 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000242f movq $-1, %r11 + //0x00002436 LBB0_439 + 0x4d, 0x29, 0xdf, //0x00002436 subq %r11, %r15 + 0xe9, 0x5a, 0xff, 0xff, 0xff, //0x00002439 jmp LBB0_421 + //0x0000243e LBB0_442 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000243e movq $-2, %rax + 0x80, 0xf9, 0x61, //0x00002445 cmpb $97, %cl + 0x0f, 0x85, 0x54, 0xff, 0xff, 0xff, //0x00002448 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x02, //0x0000244e leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002452 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x02, 0x6c, //0x00002455 cmpb $108, $2(%r12,%r15) + 0x0f, 0x85, 0x41, 0xff, 0xff, 0xff, //0x0000245b jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x03, //0x00002461 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002465 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x03, 0x73, //0x00002468 cmpb $115, $3(%r12,%r15) + 0x0f, 0x85, 0x2e, 0xff, 0xff, 0xff, //0x0000246e jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x04, //0x00002474 leaq $4(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002478 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x04, 0x65, //0x0000247b cmpb $101, $4(%r12,%r15) + 0x0f, 0x85, 0x1b, 0xff, 0xff, 0xff, //0x00002481 jne LBB0_423 + 0x49, 0x83, 0xc7, 0x05, //0x00002487 addq $5, %r15 + 0x4c, 0x89, 0x3e, //0x0000248b movq %r15, (%rsi) + 0xe9, 0x0f, 0xff, 0xff, 0xff, //0x0000248e jmp LBB0_423 + //0x00002493 LBB0_247 + 0x4c, 0x89, 0x3e, //0x00002493 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00002496 movq $-2, %rax + 0x41, 0x80, 0x3a, 0x6e, //0x0000249d cmpb $110, (%r10) + 0x0f, 0x85, 0xfb, 0xfe, 0xff, 0xff, //0x000024a1 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x01, //0x000024a7 leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024ab movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x01, 0x75, //0x000024ae cmpb $117, $1(%r12,%r15) + 0x0f, 0x85, 0xe8, 0xfe, 0xff, 0xff, //0x000024b4 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x02, //0x000024ba leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024be movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x02, 0x6c, //0x000024c1 cmpb $108, $2(%r12,%r15) + 0x0f, 0x85, 0xd5, 0xfe, 0xff, 0xff, //0x000024c7 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x03, //0x000024cd leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024d1 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x03, 0x6c, //0x000024d4 cmpb $108, $3(%r12,%r15) + 0x0f, 0x85, 0xc2, 0xfe, 0xff, 0xff, //0x000024da jne LBB0_423 + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x000024e0 jmp LBB0_451 + //0x000024e5 LBB0_447 + 0x4c, 0x89, 0x3e, //0x000024e5 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000024e8 movq $-2, %rax + 0x41, 0x80, 0x3a, 0x74, //0x000024ef cmpb $116, (%r10) + 0x0f, 0x85, 0xa9, 0xfe, 0xff, 0xff, //0x000024f3 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x01, //0x000024f9 leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024fd movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x01, 0x72, //0x00002500 cmpb $114, $1(%r12,%r15) + 0x0f, 0x85, 0x96, 0xfe, 0xff, 0xff, //0x00002506 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x02, //0x0000250c leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002510 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x02, 0x75, //0x00002513 cmpb $117, $2(%r12,%r15) + 0x0f, 0x85, 0x83, 0xfe, 0xff, 0xff, //0x00002519 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x03, //0x0000251f leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002523 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x03, 0x65, //0x00002526 cmpb $101, $3(%r12,%r15) + 0x0f, 0x85, 0x70, 0xfe, 0xff, 0xff, //0x0000252c jne LBB0_423 + //0x00002532 LBB0_451 + 0x49, 0x83, 0xc7, 0x04, //0x00002532 addq $4, %r15 + 0x4c, 0x89, 0x3e, //0x00002536 movq %r15, (%rsi) + 0xe9, 0x64, 0xfe, 0xff, 0xff, //0x00002539 jmp LBB0_423 + //0x0000253e LBB0_452 + 0x49, 0x83, 0xf9, 0xff, //0x0000253e cmpq $-1, %r9 + 0x0f, 0x85, 0xa3, 0xfe, 0xff, 0xff, //0x00002542 jne LBB0_431 + 0x48, 0x0f, 0xbc, 0xc2, //0x00002548 bsfq %rdx, %rax + 0xe9, 0x90, 0xfe, 0xff, 0xff, //0x0000254c jmp LBB0_428 + //0x00002551 LBB0_456 + 0x4c, 0x89, 0x5d, 0xb0, //0x00002551 movq %r11, $-80(%rbp) + 0xe9, 0x19, 0xfe, 0xff, 0xff, //0x00002555 jmp LBB0_416 + //0x0000255a LBB0_306 + 0x4c, 0x01, 0xd9, //0x0000255a addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000255d movq $-2, %r11 + 0x49, 0x89, 0xc9, //0x00002564 movq %rcx, %r9 + 0xe9, 0x86, 0xfe, 0xff, 0xff, //0x00002567 jmp LBB0_307 + //0x0000256c LBB0_454 + 0x4c, 0x89, 0x5d, 0xb0, //0x0000256c movq %r11, $-80(%rbp) + 0xe9, 0x46, 0xfe, 0xff, 0xff, //0x00002570 jmp LBB0_425 + //0x00002575 LBB0_455 + 0x4c, 0x01, 0xd9, //0x00002575 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002578 movq $-2, %r11 + 0x49, 0x89, 0xcc, //0x0000257f movq %rcx, %r12 + 0xe9, 0x9d, 0xfe, 0xff, 0xff, //0x00002582 jmp LBB0_437 + //0x00002587 LBB0_457 + 0x48, 0x0f, 0xbc, 0xc7, //0x00002587 bsfq %rdi, %rax + 0x4d, 0x29, 0xe3, //0x0000258b subq %r12, %r11 + 0xe9, 0x52, 0xfe, 0xff, 0xff, //0x0000258e jmp LBB0_429 + //0x00002593 LBB0_461 + 0x4d, 0x29, 0xe3, //0x00002593 subq %r12, %r11 + 0xe9, 0x4d, 0xfe, 0xff, 0xff, //0x00002596 jmp LBB0_430 + //0x0000259b LBB0_458 + 0x4c, 0x01, 0xd9, //0x0000259b addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000259e movq $-2, %r11 + 0x49, 0x89, 0xcc, //0x000025a5 movq %rcx, %r12 + 0xe9, 0x73, 0xfe, 0xff, 0xff, //0x000025a8 jmp LBB0_436 + //0x000025ad LBB0_459 + 0x48, 0x0f, 0xbc, 0xc7, //0x000025ad bsfq %rdi, %rax + 0xe9, 0x59, 0xfe, 0xff, 0xff, //0x000025b1 jmp LBB0_434 + //0x000025b6 LBB0_460 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000025b6 subq $-48(%rbp), %r11 + 0x4d, 0x89, 0xdc, //0x000025ba movq %r11, %r12 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000025bd movq $-2, %r11 + 0xe9, 0x5b, 0xfe, 0xff, 0xff, //0x000025c4 jmp LBB0_437 + //0x000025c9 LBB0_462 + 0x48, 0x8b, 0x75, 0xc8, //0x000025c9 movq $-56(%rbp), %rsi + 0xe9, 0xe9, 0xfd, 0xff, 0xff, //0x000025cd jmp LBB0_425 + 0x90, 0x90, //0x000025d2 .p2align 2, 0x90 + // // .set L0_0_set_33, LBB0_33-LJTI0_0 + // // .set L0_0_set_37, LBB0_37-LJTI0_0 + // // .set L0_0_set_39, LBB0_39-LJTI0_0 + // // .set L0_0_set_59, LBB0_59-LJTI0_0 + // // .set L0_0_set_61, LBB0_61-LJTI0_0 + // // .set L0_0_set_64, LBB0_64-LJTI0_0 + //0x000025d4 LJTI0_0 + 0xc3, 0xdd, 0xff, 0xff, //0x000025d4 .long L0_0_set_33 + 0xeb, 0xdd, 0xff, 0xff, //0x000025d8 .long L0_0_set_37 + 0x16, 0xde, 0xff, 0xff, //0x000025dc .long L0_0_set_39 + 0xcf, 0xdf, 0xff, 0xff, //0x000025e0 .long L0_0_set_59 + 0xe5, 0xdf, 0xff, 0xff, //0x000025e4 .long L0_0_set_61 + 0x55, 0xe2, 0xff, 0xff, //0x000025e8 .long L0_0_set_64 + // // .set L0_1_set_423, LBB0_423-LJTI0_1 + // // .set L0_1_set_422, LBB0_422-LJTI0_1 + // // .set L0_1_set_199, LBB0_199-LJTI0_1 + // // .set L0_1_set_215, LBB0_215-LJTI0_1 + // // .set L0_1_set_66, LBB0_66-LJTI0_1 + // // .set L0_1_set_240, LBB0_240-LJTI0_1 + // // .set L0_1_set_242, LBB0_242-LJTI0_1 + // // .set L0_1_set_245, LBB0_245-LJTI0_1 + // // .set L0_1_set_251, LBB0_251-LJTI0_1 + // // .set L0_1_set_255, LBB0_255-LJTI0_1 + //0x000025ec LJTI0_1 + 0xb6, 0xfd, 0xff, 0xff, //0x000025ec .long L0_1_set_423 + 0xaf, 0xfd, 0xff, 0xff, //0x000025f0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025f4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025f8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025fc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002600 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002604 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002608 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000260c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002610 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002614 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002618 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000261c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002620 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002624 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002628 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000262c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002630 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002634 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002638 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000263c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002640 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002644 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002648 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000264c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002650 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002654 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002658 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000265c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002660 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002664 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002668 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000266c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002670 .long L0_1_set_422 + 0xa6, 0xe9, 0xff, 0xff, //0x00002674 .long L0_1_set_199 + 0xaf, 0xfd, 0xff, 0xff, //0x00002678 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000267c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002680 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002684 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002688 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000268c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002690 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002694 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002698 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000269c .long L0_1_set_422 + 0x38, 0xeb, 0xff, 0xff, //0x000026a0 .long L0_1_set_215 + 0xaf, 0xfd, 0xff, 0xff, //0x000026a4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026a8 .long L0_1_set_422 + 0xfd, 0xdf, 0xff, 0xff, //0x000026ac .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026b0 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026b4 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026b8 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026bc .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026c0 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026c4 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026c8 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026cc .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026d0 .long L0_1_set_66 + 0xaf, 0xfd, 0xff, 0xff, //0x000026d4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026d8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026dc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026e0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026e4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026e8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026ec .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026f0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026f4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026f8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026fc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002700 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002704 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002708 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000270c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002710 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002714 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002718 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000271c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002720 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002724 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002728 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000272c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002730 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002734 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002738 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000273c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002740 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002744 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002748 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000274c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002750 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002754 .long L0_1_set_422 + 0x0f, 0xed, 0xff, 0xff, //0x00002758 .long L0_1_set_240 + 0xaf, 0xfd, 0xff, 0xff, //0x0000275c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002760 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002764 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002768 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000276c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002770 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002774 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002778 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000277c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002780 .long L0_1_set_422 + 0x33, 0xed, 0xff, 0xff, //0x00002784 .long L0_1_set_242 + 0xaf, 0xfd, 0xff, 0xff, //0x00002788 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000278c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002790 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002794 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002798 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000279c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027a0 .long L0_1_set_422 + 0x64, 0xed, 0xff, 0xff, //0x000027a4 .long L0_1_set_245 + 0xaf, 0xfd, 0xff, 0xff, //0x000027a8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027ac .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027b0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027b4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027b8 .long L0_1_set_422 + 0x8b, 0xed, 0xff, 0xff, //0x000027bc .long L0_1_set_251 + 0xaf, 0xfd, 0xff, 0xff, //0x000027c0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027c4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027c8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027cc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027d0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027d4 .long L0_1_set_422 + 0xc8, 0xed, 0xff, 0xff, //0x000027d8 .long L0_1_set_255 + // // .set L0_2_set_264, LBB0_264-LJTI0_2 + // // .set L0_2_set_292, LBB0_292-LJTI0_2 + // // .set L0_2_set_259, LBB0_259-LJTI0_2 + // // .set L0_2_set_261, LBB0_261-LJTI0_2 + // // .set L0_2_set_266, LBB0_266-LJTI0_2 + //0x000027dc LJTI0_2 + 0x3d, 0xec, 0xff, 0xff, //0x000027dc .long L0_2_set_264 + 0x7b, 0xee, 0xff, 0xff, //0x000027e0 .long L0_2_set_292 + 0x3d, 0xec, 0xff, 0xff, //0x000027e4 .long L0_2_set_264 + 0xfc, 0xeb, 0xff, 0xff, //0x000027e8 .long L0_2_set_259 + 0x7b, 0xee, 0xff, 0xff, //0x000027ec .long L0_2_set_292 + 0x14, 0xec, 0xff, 0xff, //0x000027f0 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027f4 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027f8 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027fc .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x00002800 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x00002804 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x00002808 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x0000280c .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x00002810 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x00002814 .long L0_2_set_261 + 0x7b, 0xee, 0xff, 0xff, //0x00002818 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000281c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002820 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002824 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002828 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000282c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002830 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002834 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002838 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000283c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002840 .long L0_2_set_292 + 0x58, 0xec, 0xff, 0xff, //0x00002844 .long L0_2_set_266 + 0x7b, 0xee, 0xff, 0xff, //0x00002848 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000284c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002850 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002854 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002858 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000285c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002860 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002864 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002868 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000286c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002870 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002874 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002878 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000287c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002880 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002884 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002888 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000288c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002890 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002894 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002898 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000289c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028a0 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028a4 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028a8 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028ac .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028b0 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028b4 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028b8 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028bc .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028c0 .long L0_2_set_292 + 0x58, 0xec, 0xff, 0xff, //0x000028c4 .long L0_2_set_266 + // // .set L0_3_set_94, LBB0_94-LJTI0_3 + // // .set L0_3_set_149, LBB0_149-LJTI0_3 + // // .set L0_3_set_98, LBB0_98-LJTI0_3 + // // .set L0_3_set_91, LBB0_91-LJTI0_3 + // // .set L0_3_set_96, LBB0_96-LJTI0_3 + //0x000028c8 LJTI0_3 + 0x10, 0xdf, 0xff, 0xff, //0x000028c8 .long L0_3_set_94 + 0x75, 0xe3, 0xff, 0xff, //0x000028cc .long L0_3_set_149 + 0x10, 0xdf, 0xff, 0xff, //0x000028d0 .long L0_3_set_94 + 0x46, 0xdf, 0xff, 0xff, //0x000028d4 .long L0_3_set_98 + 0x75, 0xe3, 0xff, 0xff, //0x000028d8 .long L0_3_set_149 + 0xe8, 0xde, 0xff, 0xff, //0x000028dc .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028e0 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028e4 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028e8 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028ec .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028f0 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028f4 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028f8 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028fc .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x00002900 .long L0_3_set_91 + 0x75, 0xe3, 0xff, 0xff, //0x00002904 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002908 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000290c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002910 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002914 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002918 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000291c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002920 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002924 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002928 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000292c .long L0_3_set_149 + 0x2b, 0xdf, 0xff, 0xff, //0x00002930 .long L0_3_set_96 + 0x75, 0xe3, 0xff, 0xff, //0x00002934 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002938 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000293c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002940 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002944 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002948 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000294c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002950 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002954 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002958 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000295c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002960 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002964 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002968 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000296c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002970 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002974 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002978 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000297c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002980 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002984 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002988 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000298c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002990 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002994 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002998 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000299c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x000029a0 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x000029a4 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x000029a8 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x000029ac .long L0_3_set_149 + 0x2b, 0xdf, 0xff, 0xff, //0x000029b0 .long L0_3_set_96 + //0x000029b4 .p2align 2, 0x00 + //0x000029b4 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x000029b4 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_number.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_number.go new file mode 100644 index 0000000..67a3e1c --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_number.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the License ); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_number func(s unsafe.Pointer, p unsafe.Pointer) (ret int) + +var S_skip_number uintptr + +//go:nosplit +func skip_number(s *string, p *int) (ret int) { + return F_skip_number(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_number_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_number_subr.go new file mode 100644 index 0000000..4ef1835 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_number_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_number = 112 +) + +const ( + _stack__skip_number = 72 +) + +const ( + _size__skip_number = 1108 +) + +var ( + _pcsp__skip_number = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {1025, 72}, + {1029, 48}, + {1030, 40}, + {1032, 32}, + {1034, 24}, + {1036, 16}, + {1038, 8}, + {1039, 0}, + {1108, 72}, + } +) + +var _cfunc_skip_number = []loader.CFunc{ + {"_skip_number_entry", 0, _entry__skip_number, 0, nil}, + {"_skip_number", _entry__skip_number, _size__skip_number, _stack__skip_number, _pcsp__skip_number}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_number_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_number_text_amd64.go new file mode 100644 index 0000000..7377a72 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_number_text_amd64.go @@ -0,0 +1,394 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_skip_number = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, // QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000010 LCPI0_1 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000010 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000020 LCPI0_2 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000020 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000030 LCPI0_3 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000030 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000040 LCPI0_4 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000040 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000050 LCPI0_5 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000050 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000060 LCPI0_6 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000060 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000070 .p2align 4, 0x90 + //0x00000070 _skip_number + 0x55, //0x00000070 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000071 movq %rsp, %rbp + 0x41, 0x57, //0x00000074 pushq %r15 + 0x41, 0x56, //0x00000076 pushq %r14 + 0x41, 0x55, //0x00000078 pushq %r13 + 0x41, 0x54, //0x0000007a pushq %r12 + 0x53, //0x0000007c pushq %rbx + 0x48, 0x83, 0xec, 0x18, //0x0000007d subq $24, %rsp + 0x48, 0x8b, 0x1f, //0x00000081 movq (%rdi), %rbx + 0x4c, 0x8b, 0x6f, 0x08, //0x00000084 movq $8(%rdi), %r13 + 0x48, 0x8b, 0x16, //0x00000088 movq (%rsi), %rdx + 0x49, 0x29, 0xd5, //0x0000008b subq %rdx, %r13 + 0x31, 0xc0, //0x0000008e xorl %eax, %eax + 0x80, 0x3c, 0x13, 0x2d, //0x00000090 cmpb $45, (%rbx,%rdx) + 0x4c, 0x8d, 0x3c, 0x13, //0x00000094 leaq (%rbx,%rdx), %r15 + 0x0f, 0x94, 0xc0, //0x00000098 sete %al + 0x49, 0x01, 0xc7, //0x0000009b addq %rax, %r15 + 0x49, 0x29, 0xc5, //0x0000009e subq %rax, %r13 + 0x0f, 0x84, 0xee, 0x03, 0x00, 0x00, //0x000000a1 je LBB0_1 + 0x41, 0x8a, 0x3f, //0x000000a7 movb (%r15), %dil + 0x8d, 0x4f, 0xd0, //0x000000aa leal $-48(%rdi), %ecx + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000000ad movq $-2, %rax + 0x80, 0xf9, 0x09, //0x000000b4 cmpb $9, %cl + 0x0f, 0x87, 0xae, 0x03, 0x00, 0x00, //0x000000b7 ja LBB0_59 + 0x40, 0x80, 0xff, 0x30, //0x000000bd cmpb $48, %dil + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x000000c1 jne LBB0_7 + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x000000c7 movl $1, %edi + 0x49, 0x83, 0xfd, 0x01, //0x000000cc cmpq $1, %r13 + 0x0f, 0x84, 0x6a, 0x03, 0x00, 0x00, //0x000000d0 je LBB0_58 + 0x41, 0x8a, 0x47, 0x01, //0x000000d6 movb $1(%r15), %al + 0x04, 0xd2, //0x000000da addb $-46, %al + 0x3c, 0x37, //0x000000dc cmpb $55, %al + 0x0f, 0x87, 0x5c, 0x03, 0x00, 0x00, //0x000000de ja LBB0_58 + 0x0f, 0xb6, 0xc0, //0x000000e4 movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000000e7 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x000000f1 btq %rax, %rcx + 0x0f, 0x83, 0x45, 0x03, 0x00, 0x00, //0x000000f5 jae LBB0_58 + //0x000000fb LBB0_7 + 0x48, 0x89, 0x55, 0xd0, //0x000000fb movq %rdx, $-48(%rbp) + 0x49, 0x83, 0xfd, 0x10, //0x000000ff cmpq $16, %r13 + 0x0f, 0x82, 0x98, 0x03, 0x00, 0x00, //0x00000103 jb LBB0_8 + 0x48, 0x89, 0x5d, 0xc8, //0x00000109 movq %rbx, $-56(%rbp) + 0x48, 0x89, 0x75, 0xc0, //0x0000010d movq %rsi, $-64(%rbp) + 0x4d, 0x8d, 0x45, 0xf0, //0x00000111 leaq $-16(%r13), %r8 + 0x4c, 0x89, 0xc0, //0x00000115 movq %r8, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00000118 andq $-16, %rax + 0x4e, 0x8d, 0x64, 0x38, 0x10, //0x0000011c leaq $16(%rax,%r15), %r12 + 0x41, 0x83, 0xe0, 0x0f, //0x00000121 andl $15, %r8d + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000125 movq $-1, %r11 + 0xc5, 0x7a, 0x6f, 0x05, 0xcc, 0xfe, 0xff, 0xff, //0x0000012c vmovdqu $-308(%rip), %xmm8 /* LCPI0_0+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0xd4, 0xfe, 0xff, 0xff, //0x00000134 vmovdqu $-300(%rip), %xmm9 /* LCPI0_1+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0xdc, 0xfe, 0xff, 0xff, //0x0000013c vmovdqu $-292(%rip), %xmm10 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x1d, 0xe4, 0xfe, 0xff, 0xff, //0x00000144 vmovdqu $-284(%rip), %xmm11 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x25, 0xec, 0xfe, 0xff, 0xff, //0x0000014c vmovdqu $-276(%rip), %xmm4 /* LCPI0_4+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x2d, 0xf4, 0xfe, 0xff, 0xff, //0x00000154 vmovdqu $-268(%rip), %xmm5 /* LCPI0_5+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x35, 0xfc, 0xfe, 0xff, 0xff, //0x0000015c vmovdqu $-260(%rip), %xmm6 /* LCPI0_6+0(%rip) */ + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000164 movq $-1, %r14 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000016b movq $-1, %r10 + 0x4c, 0x89, 0xfb, //0x00000172 movq %r15, %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000175 .p2align 4, 0x90 + //0x00000180 LBB0_10 + 0xc5, 0xfa, 0x6f, 0x3b, //0x00000180 vmovdqu (%rbx), %xmm7 + 0xc4, 0xc1, 0x41, 0x64, 0xc0, //0x00000184 vpcmpgtb %xmm8, %xmm7, %xmm0 + 0xc5, 0xb1, 0x64, 0xcf, //0x00000189 vpcmpgtb %xmm7, %xmm9, %xmm1 + 0xc5, 0xf9, 0xdb, 0xc1, //0x0000018d vpand %xmm1, %xmm0, %xmm0 + 0xc5, 0xa9, 0x74, 0xcf, //0x00000191 vpcmpeqb %xmm7, %xmm10, %xmm1 + 0xc5, 0xa1, 0x74, 0xd7, //0x00000195 vpcmpeqb %xmm7, %xmm11, %xmm2 + 0xc5, 0xe9, 0xeb, 0xc9, //0x00000199 vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xc1, 0xeb, 0xd4, //0x0000019d vpor %xmm4, %xmm7, %xmm2 + 0xc5, 0xe9, 0x74, 0xd6, //0x000001a1 vpcmpeqb %xmm6, %xmm2, %xmm2 + 0xc5, 0xc1, 0x74, 0xfd, //0x000001a5 vpcmpeqb %xmm5, %xmm7, %xmm7 + 0xc5, 0xe9, 0xeb, 0xdf, //0x000001a9 vpor %xmm7, %xmm2, %xmm3 + 0xc5, 0xf1, 0xeb, 0xc0, //0x000001ad vpor %xmm0, %xmm1, %xmm0 + 0xc5, 0xe1, 0xeb, 0xc0, //0x000001b1 vpor %xmm0, %xmm3, %xmm0 + 0xc5, 0xf9, 0xd7, 0xff, //0x000001b5 vpmovmskb %xmm7, %edi + 0xc5, 0xf9, 0xd7, 0xf2, //0x000001b9 vpmovmskb %xmm2, %esi + 0xc5, 0xf9, 0xd7, 0xc1, //0x000001bd vpmovmskb %xmm1, %eax + 0xc5, 0xf9, 0xd7, 0xc8, //0x000001c1 vpmovmskb %xmm0, %ecx + 0xba, 0xff, 0xff, 0xff, 0xff, //0x000001c5 movl $4294967295, %edx + 0x48, 0x31, 0xd1, //0x000001ca xorq %rdx, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x000001cd bsfq %rcx, %rcx + 0x83, 0xf9, 0x10, //0x000001d1 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000001d4 je LBB0_12 + 0xba, 0xff, 0xff, 0xff, 0xff, //0x000001da movl $-1, %edx + 0xd3, 0xe2, //0x000001df shll %cl, %edx + 0xf7, 0xd2, //0x000001e1 notl %edx + 0x21, 0xd7, //0x000001e3 andl %edx, %edi + 0x21, 0xd6, //0x000001e5 andl %edx, %esi + 0x21, 0xc2, //0x000001e7 andl %eax, %edx + 0x89, 0xd0, //0x000001e9 movl %edx, %eax + //0x000001eb LBB0_12 + 0x44, 0x8d, 0x4f, 0xff, //0x000001eb leal $-1(%rdi), %r9d + 0x41, 0x21, 0xf9, //0x000001ef andl %edi, %r9d + 0x0f, 0x85, 0x26, 0x02, 0x00, 0x00, //0x000001f2 jne LBB0_13 + 0x8d, 0x56, 0xff, //0x000001f8 leal $-1(%rsi), %edx + 0x21, 0xf2, //0x000001fb andl %esi, %edx + 0x0f, 0x85, 0x10, 0x02, 0x00, 0x00, //0x000001fd jne LBB0_17 + 0x8d, 0x50, 0xff, //0x00000203 leal $-1(%rax), %edx + 0x21, 0xc2, //0x00000206 andl %eax, %edx + 0x0f, 0x85, 0x05, 0x02, 0x00, 0x00, //0x00000208 jne LBB0_17 + 0x85, 0xff, //0x0000020e testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000210 je LBB0_22 + 0x48, 0x89, 0xda, //0x00000216 movq %rbx, %rdx + 0x4c, 0x29, 0xfa, //0x00000219 subq %r15, %rdx + 0x0f, 0xbc, 0xff, //0x0000021c bsfl %edi, %edi + 0x48, 0x01, 0xd7, //0x0000021f addq %rdx, %rdi + 0x49, 0x83, 0xfa, 0xff, //0x00000222 cmpq $-1, %r10 + 0x0f, 0x85, 0xfc, 0x01, 0x00, 0x00, //0x00000226 jne LBB0_15 + 0x49, 0x89, 0xfa, //0x0000022c movq %rdi, %r10 + //0x0000022f LBB0_22 + 0x85, 0xf6, //0x0000022f testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000231 je LBB0_25 + 0x48, 0x89, 0xda, //0x00000237 movq %rbx, %rdx + 0x4c, 0x29, 0xfa, //0x0000023a subq %r15, %rdx + 0x0f, 0xbc, 0xfe, //0x0000023d bsfl %esi, %edi + 0x48, 0x01, 0xd7, //0x00000240 addq %rdx, %rdi + 0x49, 0x83, 0xfe, 0xff, //0x00000243 cmpq $-1, %r14 + 0x0f, 0x85, 0xdb, 0x01, 0x00, 0x00, //0x00000247 jne LBB0_15 + 0x49, 0x89, 0xfe, //0x0000024d movq %rdi, %r14 + //0x00000250 LBB0_25 + 0x85, 0xc0, //0x00000250 testl %eax, %eax + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000252 je LBB0_28 + 0x48, 0x89, 0xda, //0x00000258 movq %rbx, %rdx + 0x4c, 0x29, 0xfa, //0x0000025b subq %r15, %rdx + 0x0f, 0xbc, 0xf8, //0x0000025e bsfl %eax, %edi + 0x48, 0x01, 0xd7, //0x00000261 addq %rdx, %rdi + 0x49, 0x83, 0xfb, 0xff, //0x00000264 cmpq $-1, %r11 + 0x0f, 0x85, 0xba, 0x01, 0x00, 0x00, //0x00000268 jne LBB0_15 + 0x49, 0x89, 0xfb, //0x0000026e movq %rdi, %r11 + //0x00000271 LBB0_28 + 0x83, 0xf9, 0x10, //0x00000271 cmpl $16, %ecx + 0x0f, 0x85, 0xb2, 0x00, 0x00, 0x00, //0x00000274 jne LBB0_60 + 0x48, 0x83, 0xc3, 0x10, //0x0000027a addq $16, %rbx + 0x49, 0x83, 0xc5, 0xf0, //0x0000027e addq $-16, %r13 + 0x49, 0x83, 0xfd, 0x0f, //0x00000282 cmpq $15, %r13 + 0x0f, 0x87, 0xf4, 0xfe, 0xff, 0xff, //0x00000286 ja LBB0_10 + 0x4d, 0x85, 0xc0, //0x0000028c testq %r8, %r8 + 0x48, 0x8b, 0x75, 0xc0, //0x0000028f movq $-64(%rbp), %rsi + 0x48, 0x8b, 0x5d, 0xc8, //0x00000293 movq $-56(%rbp), %rbx + 0x0f, 0x84, 0x9d, 0x00, 0x00, 0x00, //0x00000297 je LBB0_42 + //0x0000029d LBB0_31 + 0x4b, 0x8d, 0x04, 0x04, //0x0000029d leaq (%r12,%r8), %rax + 0x48, 0x8d, 0x0d, 0x1c, 0x02, 0x00, 0x00, //0x000002a1 leaq $540(%rip), %rcx /* LJTI0_0+0(%rip) */ + 0xe9, 0x0f, 0x00, 0x00, 0x00, //0x000002a8 jmp LBB0_32 + 0x90, 0x90, 0x90, //0x000002ad .p2align 4, 0x90 + //0x000002b0 LBB0_40 + 0x49, 0x89, 0xd4, //0x000002b0 movq %rdx, %r12 + 0x49, 0xff, 0xc8, //0x000002b3 decq %r8 + 0x0f, 0x84, 0x8f, 0x01, 0x00, 0x00, //0x000002b6 je LBB0_41 + //0x000002bc LBB0_32 + 0x41, 0x0f, 0xbe, 0x3c, 0x24, //0x000002bc movsbl (%r12), %edi + 0x83, 0xc7, 0xd5, //0x000002c1 addl $-43, %edi + 0x83, 0xff, 0x3a, //0x000002c4 cmpl $58, %edi + 0x0f, 0x87, 0x6d, 0x00, 0x00, 0x00, //0x000002c7 ja LBB0_42 + 0x49, 0x8d, 0x54, 0x24, 0x01, //0x000002cd leaq $1(%r12), %rdx + 0x48, 0x63, 0x3c, 0xb9, //0x000002d2 movslq (%rcx,%rdi,4), %rdi + 0x48, 0x01, 0xcf, //0x000002d6 addq %rcx, %rdi + 0xff, 0xe7, //0x000002d9 jmpq *%rdi + //0x000002db LBB0_38 + 0x48, 0x89, 0xd7, //0x000002db movq %rdx, %rdi + 0x4c, 0x29, 0xff, //0x000002de subq %r15, %rdi + 0x49, 0x83, 0xfb, 0xff, //0x000002e1 cmpq $-1, %r11 + 0x0f, 0x85, 0x95, 0x01, 0x00, 0x00, //0x000002e5 jne LBB0_61 + 0x48, 0xff, 0xcf, //0x000002eb decq %rdi + 0x49, 0x89, 0xfb, //0x000002ee movq %rdi, %r11 + 0xe9, 0xba, 0xff, 0xff, 0xff, //0x000002f1 jmp LBB0_40 + //0x000002f6 LBB0_36 + 0x48, 0x89, 0xd7, //0x000002f6 movq %rdx, %rdi + 0x4c, 0x29, 0xff, //0x000002f9 subq %r15, %rdi + 0x49, 0x83, 0xfe, 0xff, //0x000002fc cmpq $-1, %r14 + 0x0f, 0x85, 0x7a, 0x01, 0x00, 0x00, //0x00000300 jne LBB0_61 + 0x48, 0xff, 0xcf, //0x00000306 decq %rdi + 0x49, 0x89, 0xfe, //0x00000309 movq %rdi, %r14 + 0xe9, 0x9f, 0xff, 0xff, 0xff, //0x0000030c jmp LBB0_40 + //0x00000311 LBB0_34 + 0x48, 0x89, 0xd7, //0x00000311 movq %rdx, %rdi + 0x4c, 0x29, 0xff, //0x00000314 subq %r15, %rdi + 0x49, 0x83, 0xfa, 0xff, //0x00000317 cmpq $-1, %r10 + 0x0f, 0x85, 0x5f, 0x01, 0x00, 0x00, //0x0000031b jne LBB0_61 + 0x48, 0xff, 0xcf, //0x00000321 decq %rdi + 0x49, 0x89, 0xfa, //0x00000324 movq %rdi, %r10 + 0xe9, 0x84, 0xff, 0xff, 0xff, //0x00000327 jmp LBB0_40 + //0x0000032c LBB0_60 + 0x48, 0x01, 0xcb, //0x0000032c addq %rcx, %rbx + 0x49, 0x89, 0xdc, //0x0000032f movq %rbx, %r12 + 0x48, 0x8b, 0x75, 0xc0, //0x00000332 movq $-64(%rbp), %rsi + 0x48, 0x8b, 0x5d, 0xc8, //0x00000336 movq $-56(%rbp), %rbx + //0x0000033a LBB0_42 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x0000033a movq $-1, %rdi + 0x4d, 0x85, 0xf6, //0x00000341 testq %r14, %r14 + 0x0f, 0x84, 0x14, 0x01, 0x00, 0x00, //0x00000344 je LBB0_57 + //0x0000034a LBB0_43 + 0x4d, 0x85, 0xdb, //0x0000034a testq %r11, %r11 + 0x0f, 0x84, 0x0b, 0x01, 0x00, 0x00, //0x0000034d je LBB0_57 + 0x4d, 0x85, 0xd2, //0x00000353 testq %r10, %r10 + 0x48, 0x8b, 0x55, 0xd0, //0x00000356 movq $-48(%rbp), %rdx + 0x0f, 0x84, 0xfe, 0x00, 0x00, 0x00, //0x0000035a je LBB0_57 + 0x4d, 0x29, 0xfc, //0x00000360 subq %r15, %r12 + 0x49, 0x8d, 0x44, 0x24, 0xff, //0x00000363 leaq $-1(%r12), %rax + 0x49, 0x39, 0xc6, //0x00000368 cmpq %rax, %r14 + 0x0f, 0x84, 0x3c, 0x00, 0x00, 0x00, //0x0000036b je LBB0_48 + 0x49, 0x39, 0xc2, //0x00000371 cmpq %rax, %r10 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00000374 je LBB0_48 + 0x49, 0x39, 0xc3, //0x0000037a cmpq %rax, %r11 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x0000037d je LBB0_48 + 0x4d, 0x85, 0xdb, //0x00000383 testq %r11, %r11 + 0x0f, 0x8e, 0x35, 0x00, 0x00, 0x00, //0x00000386 jle LBB0_52 + 0x49, 0x8d, 0x43, 0xff, //0x0000038c leaq $-1(%r11), %rax + 0x49, 0x39, 0xc6, //0x00000390 cmpq %rax, %r14 + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x00000393 je LBB0_52 + 0x49, 0xf7, 0xd3, //0x00000399 notq %r11 + 0x4c, 0x89, 0xdf, //0x0000039c movq %r11, %rdi + 0x48, 0x85, 0xff, //0x0000039f testq %rdi, %rdi + 0x0f, 0x89, 0x98, 0x00, 0x00, 0x00, //0x000003a2 jns LBB0_58 + 0xe9, 0xb1, 0x00, 0x00, 0x00, //0x000003a8 jmp LBB0_57 + //0x000003ad LBB0_48 + 0x49, 0xf7, 0xdc, //0x000003ad negq %r12 + 0x4c, 0x89, 0xe7, //0x000003b0 movq %r12, %rdi + 0x48, 0x85, 0xff, //0x000003b3 testq %rdi, %rdi + 0x0f, 0x89, 0x84, 0x00, 0x00, 0x00, //0x000003b6 jns LBB0_58 + 0xe9, 0x9d, 0x00, 0x00, 0x00, //0x000003bc jmp LBB0_57 + //0x000003c1 LBB0_52 + 0x4c, 0x89, 0xd0, //0x000003c1 movq %r10, %rax + 0x4c, 0x09, 0xf0, //0x000003c4 orq %r14, %rax + 0x4d, 0x39, 0xf2, //0x000003c7 cmpq %r14, %r10 + 0x0f, 0x8c, 0x1d, 0x00, 0x00, 0x00, //0x000003ca jl LBB0_55 + 0x48, 0x85, 0xc0, //0x000003d0 testq %rax, %rax + 0x0f, 0x88, 0x14, 0x00, 0x00, 0x00, //0x000003d3 js LBB0_55 + 0x49, 0xf7, 0xd2, //0x000003d9 notq %r10 + 0x4c, 0x89, 0xd7, //0x000003dc movq %r10, %rdi + 0x48, 0x85, 0xff, //0x000003df testq %rdi, %rdi + 0x0f, 0x89, 0x58, 0x00, 0x00, 0x00, //0x000003e2 jns LBB0_58 + 0xe9, 0x71, 0x00, 0x00, 0x00, //0x000003e8 jmp LBB0_57 + //0x000003ed LBB0_55 + 0x48, 0x85, 0xc0, //0x000003ed testq %rax, %rax + 0x49, 0x8d, 0x46, 0xff, //0x000003f0 leaq $-1(%r14), %rax + 0x49, 0xf7, 0xd6, //0x000003f4 notq %r14 + 0x4d, 0x0f, 0x48, 0xf4, //0x000003f7 cmovsq %r12, %r14 + 0x49, 0x39, 0xc2, //0x000003fb cmpq %rax, %r10 + 0x4d, 0x0f, 0x45, 0xf4, //0x000003fe cmovneq %r12, %r14 + 0x4c, 0x89, 0xf7, //0x00000402 movq %r14, %rdi + 0x48, 0x85, 0xff, //0x00000405 testq %rdi, %rdi + 0x0f, 0x89, 0x32, 0x00, 0x00, 0x00, //0x00000408 jns LBB0_58 + 0xe9, 0x4b, 0x00, 0x00, 0x00, //0x0000040e jmp LBB0_57 + //0x00000413 LBB0_17 + 0x4c, 0x29, 0xfb, //0x00000413 subq %r15, %rbx + 0x0f, 0xbc, 0xfa, //0x00000416 bsfl %edx, %edi + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00000419 jmp LBB0_14 + //0x0000041e LBB0_13 + 0x4c, 0x29, 0xfb, //0x0000041e subq %r15, %rbx + 0x41, 0x0f, 0xbc, 0xf9, //0x00000421 bsfl %r9d, %edi + //0x00000425 LBB0_14 + 0x48, 0x01, 0xdf, //0x00000425 addq %rbx, %rdi + //0x00000428 LBB0_15 + 0x48, 0xf7, 0xd7, //0x00000428 notq %rdi + 0x48, 0x8b, 0x75, 0xc0, //0x0000042b movq $-64(%rbp), %rsi + 0x48, 0x8b, 0x5d, 0xc8, //0x0000042f movq $-56(%rbp), %rbx + 0x48, 0x8b, 0x55, 0xd0, //0x00000433 movq $-48(%rbp), %rdx + 0x48, 0x85, 0xff, //0x00000437 testq %rdi, %rdi + 0x0f, 0x88, 0x1e, 0x00, 0x00, 0x00, //0x0000043a js LBB0_57 + //0x00000440 LBB0_58 + 0x49, 0x01, 0xff, //0x00000440 addq %rdi, %r15 + 0x48, 0x89, 0xd0, //0x00000443 movq %rdx, %rax + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x00000446 jmp LBB0_59 + //0x0000044b LBB0_41 + 0x49, 0x89, 0xc4, //0x0000044b movq %rax, %r12 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x0000044e movq $-1, %rdi + 0x4d, 0x85, 0xf6, //0x00000455 testq %r14, %r14 + 0x0f, 0x85, 0xec, 0xfe, 0xff, 0xff, //0x00000458 jne LBB0_43 + //0x0000045e LBB0_57 + 0x48, 0xf7, 0xd7, //0x0000045e notq %rdi + 0x49, 0x01, 0xff, //0x00000461 addq %rdi, %r15 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000464 movq $-2, %rax + //0x0000046b LBB0_59 + 0x49, 0x29, 0xdf, //0x0000046b subq %rbx, %r15 + 0x4c, 0x89, 0x3e, //0x0000046e movq %r15, (%rsi) + 0x48, 0x83, 0xc4, 0x18, //0x00000471 addq $24, %rsp + 0x5b, //0x00000475 popq %rbx + 0x41, 0x5c, //0x00000476 popq %r12 + 0x41, 0x5d, //0x00000478 popq %r13 + 0x41, 0x5e, //0x0000047a popq %r14 + 0x41, 0x5f, //0x0000047c popq %r15 + 0x5d, //0x0000047e popq %rbp + 0xc3, //0x0000047f retq + //0x00000480 LBB0_61 + 0x48, 0xf7, 0xdf, //0x00000480 negq %rdi + 0x48, 0x8b, 0x55, 0xd0, //0x00000483 movq $-48(%rbp), %rdx + 0x48, 0x85, 0xff, //0x00000487 testq %rdi, %rdi + 0x0f, 0x89, 0xb0, 0xff, 0xff, 0xff, //0x0000048a jns LBB0_58 + 0xe9, 0xc9, 0xff, 0xff, 0xff, //0x00000490 jmp LBB0_57 + //0x00000495 LBB0_1 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000495 movq $-1, %rax + 0xe9, 0xca, 0xff, 0xff, 0xff, //0x0000049c jmp LBB0_59 + //0x000004a1 LBB0_8 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x000004a1 movq $-1, %r10 + 0x4d, 0x89, 0xfc, //0x000004a8 movq %r15, %r12 + 0x4d, 0x89, 0xe8, //0x000004ab movq %r13, %r8 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000004ae movq $-1, %r14 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000004b5 movq $-1, %r11 + 0xe9, 0xdc, 0xfd, 0xff, 0xff, //0x000004bc jmp LBB0_31 + 0x90, 0x90, 0x90, //0x000004c1 .p2align 2, 0x90 + // // .set L0_0_set_38, LBB0_38-LJTI0_0 + // // .set L0_0_set_42, LBB0_42-LJTI0_0 + // // .set L0_0_set_34, LBB0_34-LJTI0_0 + // // .set L0_0_set_40, LBB0_40-LJTI0_0 + // // .set L0_0_set_36, LBB0_36-LJTI0_0 + //0x000004c4 LJTI0_0 + 0x17, 0xfe, 0xff, 0xff, //0x000004c4 .long L0_0_set_38 + 0x76, 0xfe, 0xff, 0xff, //0x000004c8 .long L0_0_set_42 + 0x17, 0xfe, 0xff, 0xff, //0x000004cc .long L0_0_set_38 + 0x4d, 0xfe, 0xff, 0xff, //0x000004d0 .long L0_0_set_34 + 0x76, 0xfe, 0xff, 0xff, //0x000004d4 .long L0_0_set_42 + 0xec, 0xfd, 0xff, 0xff, //0x000004d8 .long L0_0_set_40 + 0xec, 0xfd, 0xff, 0xff, //0x000004dc .long L0_0_set_40 + 0xec, 0xfd, 0xff, 0xff, //0x000004e0 .long L0_0_set_40 + 0xec, 0xfd, 0xff, 0xff, //0x000004e4 .long L0_0_set_40 + 0xec, 0xfd, 0xff, 0xff, //0x000004e8 .long L0_0_set_40 + 0xec, 0xfd, 0xff, 0xff, //0x000004ec .long L0_0_set_40 + 0xec, 0xfd, 0xff, 0xff, //0x000004f0 .long L0_0_set_40 + 0xec, 0xfd, 0xff, 0xff, //0x000004f4 .long L0_0_set_40 + 0xec, 0xfd, 0xff, 0xff, //0x000004f8 .long L0_0_set_40 + 0xec, 0xfd, 0xff, 0xff, //0x000004fc .long L0_0_set_40 + 0x76, 0xfe, 0xff, 0xff, //0x00000500 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000504 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000508 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x0000050c .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000510 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000514 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000518 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x0000051c .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000520 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000524 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000528 .long L0_0_set_42 + 0x32, 0xfe, 0xff, 0xff, //0x0000052c .long L0_0_set_36 + 0x76, 0xfe, 0xff, 0xff, //0x00000530 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000534 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000538 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x0000053c .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000540 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000544 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000548 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x0000054c .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000550 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000554 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000558 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x0000055c .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000560 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000564 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000568 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x0000056c .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000570 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000574 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000578 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x0000057c .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000580 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000584 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000588 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x0000058c .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000590 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000594 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x00000598 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x0000059c .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x000005a0 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x000005a4 .long L0_0_set_42 + 0x76, 0xfe, 0xff, 0xff, //0x000005a8 .long L0_0_set_42 + 0x32, 0xfe, 0xff, 0xff, //0x000005ac .long L0_0_set_36 + //0x000005b0 .p2align 2, 0x00 + //0x000005b0 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x000005b0 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_object.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_object.go new file mode 100644 index 0000000..dd4e7b5 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_object.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the License ); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_object func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_skip_object uintptr + +//go:nosplit +func skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_skip_object(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_object_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_object_subr.go new file mode 100644 index 0000000..925550f --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_object_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_object = 160 +) + +const ( + _stack__skip_object = 152 +) + +const ( + _size__skip_object = 9524 +) + +var ( + _pcsp__skip_object = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {8962, 152}, + {8966, 48}, + {8967, 40}, + {8969, 32}, + {8971, 24}, + {8973, 16}, + {8975, 8}, + {8976, 0}, + {9524, 152}, + } +) + +var _cfunc_skip_object = []loader.CFunc{ + {"_skip_object_entry", 0, _entry__skip_object, 0, nil}, + {"_skip_object", _entry__skip_object, _size__skip_object, _stack__skip_object, _pcsp__skip_object}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_object_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_object_text_amd64.go new file mode 100644 index 0000000..1af39c1 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_object_text_amd64.go @@ -0,0 +1,2854 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_skip_object = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .quad 1 + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 6 + //0x00000010 LCPI0_1 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000010 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000020 LCPI0_2 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000020 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000030 LCPI0_3 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000030 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000040 LCPI0_4 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000040 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000050 LCPI0_5 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000050 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000060 LCPI0_6 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000060 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000070 LCPI0_7 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000070 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000080 LCPI0_8 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000080 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000090 LCPI0_9 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000090 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000000a0 .p2align 4, 0x90 + //0x000000a0 _skip_object + 0x55, //0x000000a0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000000a1 movq %rsp, %rbp + 0x41, 0x57, //0x000000a4 pushq %r15 + 0x41, 0x56, //0x000000a6 pushq %r14 + 0x41, 0x55, //0x000000a8 pushq %r13 + 0x41, 0x54, //0x000000aa pushq %r12 + 0x53, //0x000000ac pushq %rbx + 0x48, 0x83, 0xec, 0x68, //0x000000ad subq $104, %rsp + 0x48, 0x89, 0x4d, 0x80, //0x000000b1 movq %rcx, $-128(%rbp) + 0x49, 0x89, 0xd1, //0x000000b5 movq %rdx, %r9 + 0xc5, 0xf8, 0x10, 0x05, 0x40, 0xff, 0xff, 0xff, //0x000000b8 vmovups $-192(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf8, 0x11, 0x02, //0x000000c0 vmovups %xmm0, (%rdx) + 0x48, 0x89, 0x7d, 0x90, //0x000000c4 movq %rdi, $-112(%rbp) + 0x4c, 0x8b, 0x27, //0x000000c8 movq (%rdi), %r12 + 0x4c, 0x89, 0xe0, //0x000000cb movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x000000ce notq %rax + 0x48, 0x89, 0x45, 0xa0, //0x000000d1 movq %rax, $-96(%rbp) + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x000000d5 movl $1, %r10d + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000000db movl $1, %eax + 0x4c, 0x29, 0xe0, //0x000000e0 subq %r12, %rax + 0x48, 0x89, 0x45, 0x98, //0x000000e3 movq %rax, $-104(%rbp) + 0x49, 0x8d, 0x44, 0x24, 0x40, //0x000000e7 leaq $64(%r12), %rax + 0x48, 0x89, 0x45, 0x88, //0x000000ec movq %rax, $-120(%rbp) + 0x4c, 0x8b, 0x1e, //0x000000f0 movq (%rsi), %r11 + 0x49, 0x8d, 0x44, 0x24, 0x05, //0x000000f3 leaq $5(%r12), %rax + 0x48, 0x89, 0x85, 0x70, 0xff, 0xff, 0xff, //0x000000f8 movq %rax, $-144(%rbp) + 0x48, 0xc7, 0x85, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x000000ff movq $-1, $-136(%rbp) + 0xc5, 0xfa, 0x6f, 0x05, 0xfe, 0xfe, 0xff, 0xff, //0x0000010a vmovdqu $-258(%rip), %xmm0 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0x06, 0xff, 0xff, 0xff, //0x00000112 vmovdqu $-250(%rip), %xmm1 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x3d, 0x0e, 0xff, 0xff, 0xff, //0x0000011a vmovdqu $-242(%rip), %xmm15 /* LCPI0_3+0(%rip) */ + 0xc5, 0xe1, 0x76, 0xdb, //0x00000122 vpcmpeqd %xmm3, %xmm3, %xmm3 + 0xc5, 0x7a, 0x6f, 0x05, 0x12, 0xff, 0xff, 0xff, //0x00000126 vmovdqu $-238(%rip), %xmm8 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0x1a, 0xff, 0xff, 0xff, //0x0000012e vmovdqu $-230(%rip), %xmm9 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0x22, 0xff, 0xff, 0xff, //0x00000136 vmovdqu $-222(%rip), %xmm10 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x1d, 0x2a, 0xff, 0xff, 0xff, //0x0000013e vmovdqu $-214(%rip), %xmm11 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x25, 0xe2, 0xfe, 0xff, 0xff, //0x00000146 vmovdqu $-286(%rip), %xmm12 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x2d, 0x2a, 0xff, 0xff, 0xff, //0x0000014e vmovdqu $-214(%rip), %xmm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x35, 0x32, 0xff, 0xff, 0xff, //0x00000156 vmovdqu $-206(%rip), %xmm14 /* LCPI0_9+0(%rip) */ + 0x48, 0x89, 0x75, 0xc8, //0x0000015e movq %rsi, $-56(%rbp) + 0x4c, 0x89, 0x65, 0xd0, //0x00000162 movq %r12, $-48(%rbp) + 0x48, 0x89, 0x55, 0xc0, //0x00000166 movq %rdx, $-64(%rbp) + 0xe9, 0x57, 0x00, 0x00, 0x00, //0x0000016a jmp LBB0_4 + //0x0000016f LBB0_257 + 0x48, 0x85, 0xc0, //0x0000016f testq %rax, %rax + 0x49, 0x8d, 0x45, 0xff, //0x00000172 leaq $-1(%r13), %rax + 0x49, 0xf7, 0xd5, //0x00000176 notq %r13 + 0x4c, 0x0f, 0x48, 0xe9, //0x00000179 cmovsq %rcx, %r13 + 0x49, 0x39, 0xc3, //0x0000017d cmpq %rax, %r11 + 0x49, 0x89, 0xcb, //0x00000180 movq %rcx, %r11 + 0x4d, 0x0f, 0x44, 0xdd, //0x00000183 cmoveq %r13, %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000187 movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xdb, //0x0000018b testq %r11, %r11 + 0x0f, 0x88, 0xfb, 0x21, 0x00, 0x00, //0x0000018e js LBB0_419 + //0x00000194 LBB0_258 + 0x4d, 0x01, 0xfb, //0x00000194 addq %r15, %r11 + //0x00000197 LBB0_1 + 0x4c, 0x89, 0x1e, //0x00000197 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x0000019a movq %r15, %rax + 0x4d, 0x85, 0xff, //0x0000019d testq %r15, %r15 + 0x0f, 0x88, 0xfc, 0x21, 0x00, 0x00, //0x000001a0 js LBB0_423 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001a6 .p2align 4, 0x90 + //0x000001b0 LBB0_2 + 0x49, 0x8b, 0x11, //0x000001b0 movq (%r9), %rdx + 0x49, 0x89, 0xd2, //0x000001b3 movq %rdx, %r10 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x000001b6 movq $-136(%rbp), %rax + 0x48, 0x85, 0xd2, //0x000001bd testq %rdx, %rdx + 0x0f, 0x84, 0xdc, 0x21, 0x00, 0x00, //0x000001c0 je LBB0_423 + //0x000001c6 LBB0_4 + 0x48, 0x8b, 0x45, 0x90, //0x000001c6 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x000001ca movq $8(%rax), %rax + 0x4c, 0x89, 0xdb, //0x000001ce movq %r11, %rbx + 0x48, 0x29, 0xc3, //0x000001d1 subq %rax, %rbx + 0x0f, 0x83, 0x36, 0x00, 0x00, 0x00, //0x000001d4 jae LBB0_9 + 0x43, 0x8a, 0x14, 0x1c, //0x000001da movb (%r12,%r11), %dl + 0x80, 0xfa, 0x0d, //0x000001de cmpb $13, %dl + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000001e1 je LBB0_9 + 0x80, 0xfa, 0x20, //0x000001e7 cmpb $32, %dl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x000001ea je LBB0_9 + 0x80, 0xc2, 0xf7, //0x000001f0 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000001f3 cmpb $1, %dl + 0x0f, 0x86, 0x14, 0x00, 0x00, 0x00, //0x000001f6 jbe LBB0_9 + 0x4d, 0x89, 0xdf, //0x000001fc movq %r11, %r15 + 0xe9, 0x39, 0x01, 0x00, 0x00, //0x000001ff jmp LBB0_30 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000204 .p2align 4, 0x90 + //0x00000210 LBB0_9 + 0x4d, 0x8d, 0x7b, 0x01, //0x00000210 leaq $1(%r11), %r15 + 0x49, 0x39, 0xc7, //0x00000214 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000217 jae LBB0_13 + 0x43, 0x8a, 0x14, 0x3c, //0x0000021d movb (%r12,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000221 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000224 je LBB0_13 + 0x80, 0xfa, 0x20, //0x0000022a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000022d je LBB0_13 + 0x80, 0xc2, 0xf7, //0x00000233 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000236 cmpb $1, %dl + 0x0f, 0x87, 0xfe, 0x00, 0x00, 0x00, //0x00000239 ja LBB0_30 + 0x90, //0x0000023f .p2align 4, 0x90 + //0x00000240 LBB0_13 + 0x4d, 0x8d, 0x7b, 0x02, //0x00000240 leaq $2(%r11), %r15 + 0x49, 0x39, 0xc7, //0x00000244 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000247 jae LBB0_17 + 0x43, 0x8a, 0x14, 0x3c, //0x0000024d movb (%r12,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000251 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000254 je LBB0_17 + 0x80, 0xfa, 0x20, //0x0000025a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000025d je LBB0_17 + 0x80, 0xc2, 0xf7, //0x00000263 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000266 cmpb $1, %dl + 0x0f, 0x87, 0xce, 0x00, 0x00, 0x00, //0x00000269 ja LBB0_30 + 0x90, //0x0000026f .p2align 4, 0x90 + //0x00000270 LBB0_17 + 0x4d, 0x8d, 0x7b, 0x03, //0x00000270 leaq $3(%r11), %r15 + 0x49, 0x39, 0xc7, //0x00000274 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000277 jae LBB0_21 + 0x43, 0x8a, 0x14, 0x3c, //0x0000027d movb (%r12,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000281 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000284 je LBB0_21 + 0x80, 0xfa, 0x20, //0x0000028a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000028d je LBB0_21 + 0x80, 0xc2, 0xf7, //0x00000293 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000296 cmpb $1, %dl + 0x0f, 0x87, 0x9e, 0x00, 0x00, 0x00, //0x00000299 ja LBB0_30 + 0x90, //0x0000029f .p2align 4, 0x90 + //0x000002a0 LBB0_21 + 0x49, 0x8d, 0x53, 0x04, //0x000002a0 leaq $4(%r11), %rdx + 0x48, 0x39, 0xd0, //0x000002a4 cmpq %rdx, %rax + 0x0f, 0x86, 0xa1, 0x20, 0x00, 0x00, //0x000002a7 jbe LBB0_413 + 0x48, 0x39, 0xd0, //0x000002ad cmpq %rdx, %rax + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x000002b0 je LBB0_27 + 0x49, 0x8d, 0x14, 0x04, //0x000002b6 leaq (%r12,%rax), %rdx + 0x48, 0x83, 0xc3, 0x04, //0x000002ba addq $4, %rbx + 0x4c, 0x03, 0x9d, 0x70, 0xff, 0xff, 0xff, //0x000002be addq $-144(%rbp), %r11 + 0x4d, 0x89, 0xdf, //0x000002c5 movq %r11, %r15 + 0x48, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000002c8 movabsq $4294977024, %rcx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002d2 .p2align 4, 0x90 + //0x000002e0 LBB0_24 + 0x41, 0x0f, 0xbe, 0x7f, 0xff, //0x000002e0 movsbl $-1(%r15), %edi + 0x83, 0xff, 0x20, //0x000002e5 cmpl $32, %edi + 0x0f, 0x87, 0x42, 0x00, 0x00, 0x00, //0x000002e8 ja LBB0_29 + 0x48, 0x0f, 0xa3, 0xf9, //0x000002ee btq %rdi, %rcx + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x000002f2 jae LBB0_29 + 0x49, 0xff, 0xc7, //0x000002f8 incq %r15 + 0x48, 0xff, 0xc3, //0x000002fb incq %rbx + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000002fe jne LBB0_24 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00000304 jmp LBB0_28 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000309 .p2align 4, 0x90 + //0x00000310 LBB0_27 + 0x4c, 0x01, 0xe2, //0x00000310 addq %r12, %rdx + //0x00000313 LBB0_28 + 0x4c, 0x29, 0xe2, //0x00000313 subq %r12, %rdx + 0x49, 0x89, 0xd7, //0x00000316 movq %rdx, %r15 + 0x49, 0x39, 0xc7, //0x00000319 cmpq %rax, %r15 + 0x0f, 0x82, 0x1b, 0x00, 0x00, 0x00, //0x0000031c jb LBB0_30 + 0xe9, 0x2a, 0x20, 0x00, 0x00, //0x00000322 jmp LBB0_414 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000327 .p2align 4, 0x90 + //0x00000330 LBB0_29 + 0x4c, 0x03, 0x7d, 0xa0, //0x00000330 addq $-96(%rbp), %r15 + 0x49, 0x39, 0xc7, //0x00000334 cmpq %rax, %r15 + 0x0f, 0x83, 0x14, 0x20, 0x00, 0x00, //0x00000337 jae LBB0_414 + //0x0000033d LBB0_30 + 0x4d, 0x8d, 0x5f, 0x01, //0x0000033d leaq $1(%r15), %r11 + 0x4c, 0x89, 0x1e, //0x00000341 movq %r11, (%rsi) + 0x43, 0x0f, 0xbe, 0x1c, 0x3c, //0x00000344 movsbl (%r12,%r15), %ebx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000349 movq $-1, %rax + 0x85, 0xdb, //0x00000350 testl %ebx, %ebx + 0x0f, 0x84, 0x4a, 0x20, 0x00, 0x00, //0x00000352 je LBB0_423 + 0x4d, 0x89, 0xf8, //0x00000358 movq %r15, %r8 + 0x49, 0xf7, 0xd0, //0x0000035b notq %r8 + 0x49, 0x8d, 0x52, 0xff, //0x0000035e leaq $-1(%r10), %rdx + 0x43, 0x8b, 0x3c, 0xd1, //0x00000362 movl (%r9,%r10,8), %edi + 0x48, 0x8b, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x00000366 movq $-136(%rbp), %rcx + 0x48, 0x83, 0xf9, 0xff, //0x0000036d cmpq $-1, %rcx + 0x49, 0x0f, 0x44, 0xcf, //0x00000371 cmoveq %r15, %rcx + 0x48, 0x89, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x00000375 movq %rcx, $-136(%rbp) + 0xff, 0xcf, //0x0000037c decl %edi + 0x83, 0xff, 0x05, //0x0000037e cmpl $5, %edi + 0x0f, 0x87, 0x27, 0x00, 0x00, 0x00, //0x00000381 ja LBB0_36 + 0x48, 0x8d, 0x0d, 0x46, 0x22, 0x00, 0x00, //0x00000387 leaq $8774(%rip), %rcx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x3c, 0xb9, //0x0000038e movslq (%rcx,%rdi,4), %rdi + 0x48, 0x01, 0xcf, //0x00000392 addq %rcx, %rdi + 0xff, 0xe7, //0x00000395 jmpq *%rdi + //0x00000397 LBB0_33 + 0x83, 0xfb, 0x2c, //0x00000397 cmpl $44, %ebx + 0x0f, 0x84, 0xb6, 0x04, 0x00, 0x00, //0x0000039a je LBB0_100 + 0x83, 0xfb, 0x5d, //0x000003a0 cmpl $93, %ebx + 0x0f, 0x84, 0x92, 0x04, 0x00, 0x00, //0x000003a3 je LBB0_35 + 0xe9, 0xed, 0x1f, 0x00, 0x00, //0x000003a9 jmp LBB0_422 + //0x000003ae LBB0_36 + 0x49, 0x89, 0x11, //0x000003ae movq %rdx, (%r9) + 0x83, 0xfb, 0x7b, //0x000003b1 cmpl $123, %ebx + 0x0f, 0x86, 0x19, 0x02, 0x00, 0x00, //0x000003b4 jbe LBB0_63 + 0xe9, 0xdc, 0x1f, 0x00, 0x00, //0x000003ba jmp LBB0_422 + //0x000003bf LBB0_37 + 0x83, 0xfb, 0x2c, //0x000003bf cmpl $44, %ebx + 0x0f, 0x85, 0x6a, 0x04, 0x00, 0x00, //0x000003c2 jne LBB0_38 + 0x49, 0x81, 0xfa, 0xff, 0x0f, 0x00, 0x00, //0x000003c8 cmpq $4095, %r10 + 0x0f, 0x8f, 0x88, 0x1f, 0x00, 0x00, //0x000003cf jg LBB0_441 + 0x49, 0x8d, 0x42, 0x01, //0x000003d5 leaq $1(%r10), %rax + 0x49, 0x89, 0x01, //0x000003d9 movq %rax, (%r9) + 0x4b, 0xc7, 0x44, 0xd1, 0x08, 0x03, 0x00, 0x00, 0x00, //0x000003dc movq $3, $8(%r9,%r10,8) + 0xe9, 0xc6, 0xfd, 0xff, 0xff, //0x000003e5 jmp LBB0_2 + //0x000003ea LBB0_39 + 0x80, 0xfb, 0x22, //0x000003ea cmpb $34, %bl + 0x0f, 0x85, 0xa8, 0x1f, 0x00, 0x00, //0x000003ed jne LBB0_422 + 0x4b, 0xc7, 0x04, 0xd1, 0x04, 0x00, 0x00, 0x00, //0x000003f3 movq $4, (%r9,%r10,8) + 0x48, 0x8b, 0x45, 0x90, //0x000003fb movq $-112(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x000003ff movq $8(%rax), %rdx + 0xf6, 0x45, 0x80, 0x20, //0x00000403 testb $32, $-128(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x00000407 movq %r11, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb0, //0x0000040b movq %rdx, $-80(%rbp) + 0x0f, 0x85, 0x63, 0x04, 0x00, 0x00, //0x0000040f jne LBB0_104 + 0x49, 0x89, 0xd5, //0x00000415 movq %rdx, %r13 + 0x4d, 0x29, 0xdd, //0x00000418 subq %r11, %r13 + 0x0f, 0x84, 0x30, 0x21, 0x00, 0x00, //0x0000041b je LBB0_456 + 0x4c, 0x89, 0xd8, //0x00000421 movq %r11, %rax + 0x4d, 0x01, 0xe3, //0x00000424 addq %r12, %r11 + 0x49, 0x83, 0xfd, 0x40, //0x00000427 cmpq $64, %r13 + 0x0f, 0x82, 0x0b, 0x1a, 0x00, 0x00, //0x0000042b jb LBB0_353 + 0x45, 0x89, 0xea, //0x00000431 movl %r13d, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x00000434 andl $63, %r10d + 0x4a, 0x8d, 0x4c, 0x02, 0xc0, //0x00000438 leaq $-64(%rdx,%r8), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x0000043d andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000441 addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x88, //0x00000444 addq $-120(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb8, //0x00000448 movq %rcx, $-72(%rbp) + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000044c movq $-1, %r9 + 0x45, 0x31, 0xe4, //0x00000453 xorl %r12d, %r12d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000456 .p2align 4, 0x90 + //0x00000460 LBB0_44 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00000460 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00000465 vmovdqu $16(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x20, //0x0000046b vmovdqu $32(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00000471 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xe9, 0x74, 0xf8, //0x00000477 vpcmpeqb %xmm0, %xmm2, %xmm7 + 0xc5, 0xf9, 0xd7, 0xff, //0x0000047b vpmovmskb %xmm7, %edi + 0xc5, 0xd9, 0x74, 0xf8, //0x0000047f vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00000483 vpmovmskb %xmm7, %ecx + 0xc5, 0xd1, 0x74, 0xf8, //0x00000487 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x0000048b vpmovmskb %xmm7, %esi + 0xc5, 0xc9, 0x74, 0xf8, //0x0000048f vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0xf9, 0xd7, 0xdf, //0x00000493 vpmovmskb %xmm7, %ebx + 0xc5, 0xe9, 0x74, 0xd1, //0x00000497 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000049b vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x0000049f vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x000004a3 vpmovmskb %xmm2, %eax + 0xc5, 0xd1, 0x74, 0xd1, //0x000004a7 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x000004ab vpmovmskb %xmm2, %r14d + 0xc5, 0xc9, 0x74, 0xd1, //0x000004af vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xc2, //0x000004b3 vpmovmskb %xmm2, %r8d + 0x48, 0xc1, 0xe3, 0x30, //0x000004b7 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x000004bb shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x000004bf shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x000004c3 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x000004c6 orq %rsi, %rdi + 0x49, 0xc1, 0xe0, 0x30, //0x000004c9 shlq $48, %r8 + 0x49, 0xc1, 0xe6, 0x20, //0x000004cd shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x000004d1 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x000004d5 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x000004d8 orq %r14, %rdx + 0x4c, 0x09, 0xc2, //0x000004db orq %r8, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x000004de cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000004e2 jne LBB0_46 + 0x48, 0x85, 0xd2, //0x000004e8 testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000004eb jne LBB0_55 + //0x000004f1 LBB0_46 + 0x48, 0x09, 0xdf, //0x000004f1 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x000004f4 movq %rdx, %rax + 0x4c, 0x09, 0xe0, //0x000004f7 orq %r12, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x000004fa jne LBB0_56 + //0x00000500 LBB0_47 + 0x48, 0x85, 0xff, //0x00000500 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00000503 jne LBB0_57 + //0x00000509 LBB0_48 + 0x49, 0x83, 0xc5, 0xc0, //0x00000509 addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x0000050d addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000511 cmpq $63, %r13 + 0x0f, 0x87, 0x45, 0xff, 0xff, 0xff, //0x00000515 ja LBB0_44 + 0xe9, 0x1d, 0x12, 0x00, 0x00, //0x0000051b jmp LBB0_49 + //0x00000520 LBB0_55 + 0x4c, 0x89, 0xd8, //0x00000520 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000523 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xca, //0x00000527 bsfq %rdx, %r9 + 0x49, 0x01, 0xc1, //0x0000052b addq %rax, %r9 + 0x48, 0x09, 0xdf, //0x0000052e orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000531 movq %rdx, %rax + 0x4c, 0x09, 0xe0, //0x00000534 orq %r12, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000537 je LBB0_47 + //0x0000053d LBB0_56 + 0x4c, 0x89, 0xe0, //0x0000053d movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x00000540 notq %rax + 0x48, 0x21, 0xd0, //0x00000543 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000546 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xe1, //0x0000054a orq %r12, %rcx + 0x48, 0x89, 0xce, //0x0000054d movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000550 notq %rsi + 0x48, 0x21, 0xd6, //0x00000553 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000556 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000560 andq %rdx, %rsi + 0x45, 0x31, 0xe4, //0x00000563 xorl %r12d, %r12d + 0x48, 0x01, 0xc6, //0x00000566 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc4, //0x00000569 setb %r12b + 0x48, 0x01, 0xf6, //0x0000056d addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000570 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x0000057a xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x0000057d andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000580 notq %rsi + 0x48, 0x21, 0xf7, //0x00000583 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000586 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00000589 je LBB0_48 + //0x0000058f LBB0_57 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000058f bsfq %rdi, %rax + //0x00000593 LBB0_58 + 0x4c, 0x03, 0x5d, 0x98, //0x00000593 addq $-104(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000597 addq %rax, %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x0000059a movq $-48(%rbp), %r12 + 0xe9, 0x3a, 0x09, 0x00, 0x00, //0x0000059e jmp LBB0_187 + //0x000005a3 LBB0_59 + 0x80, 0xfb, 0x3a, //0x000005a3 cmpb $58, %bl + 0x0f, 0x85, 0xef, 0x1d, 0x00, 0x00, //0x000005a6 jne LBB0_422 + 0x4b, 0xc7, 0x04, 0xd1, 0x00, 0x00, 0x00, 0x00, //0x000005ac movq $0, (%r9,%r10,8) + 0xe9, 0xf7, 0xfb, 0xff, 0xff, //0x000005b4 jmp LBB0_2 + //0x000005b9 LBB0_61 + 0x80, 0xfb, 0x5d, //0x000005b9 cmpb $93, %bl + 0x0f, 0x84, 0x79, 0x02, 0x00, 0x00, //0x000005bc je LBB0_35 + 0x4b, 0xc7, 0x04, 0xd1, 0x01, 0x00, 0x00, 0x00, //0x000005c2 movq $1, (%r9,%r10,8) + 0x83, 0xfb, 0x7b, //0x000005ca cmpl $123, %ebx + 0x0f, 0x87, 0xc8, 0x1d, 0x00, 0x00, //0x000005cd ja LBB0_422 + //0x000005d3 LBB0_63 + 0x4f, 0x8d, 0x14, 0x3c, //0x000005d3 leaq (%r12,%r15), %r10 + 0x89, 0xd9, //0x000005d7 movl %ebx, %ecx + 0x48, 0x8d, 0x15, 0x0c, 0x20, 0x00, 0x00, //0x000005d9 leaq $8204(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8a, //0x000005e0 movslq (%rdx,%rcx,4), %rcx + 0x48, 0x01, 0xd1, //0x000005e4 addq %rdx, %rcx + 0xff, 0xe1, //0x000005e7 jmpq *%rcx + //0x000005e9 LBB0_66 + 0x48, 0x8b, 0x45, 0x90, //0x000005e9 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x78, 0x08, //0x000005ed movq $8(%rax), %rdi + 0x4c, 0x29, 0xff, //0x000005f1 subq %r15, %rdi + 0x0f, 0x84, 0x89, 0x1d, 0x00, 0x00, //0x000005f4 je LBB0_417 + 0x41, 0x80, 0x3a, 0x30, //0x000005fa cmpb $48, (%r10) + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000005fe jne LBB0_71 + 0x48, 0x83, 0xff, 0x01, //0x00000604 cmpq $1, %rdi + 0x0f, 0x84, 0x89, 0xfb, 0xff, 0xff, //0x00000608 je LBB0_1 + 0x43, 0x8a, 0x04, 0x1c, //0x0000060e movb (%r12,%r11), %al + 0x04, 0xd2, //0x00000612 addb $-46, %al + 0x3c, 0x37, //0x00000614 cmpb $55, %al + 0x0f, 0x87, 0x7b, 0xfb, 0xff, 0xff, //0x00000616 ja LBB0_1 + 0x0f, 0xb6, 0xc0, //0x0000061c movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x0000061f movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00000629 btq %rax, %rcx + 0x0f, 0x83, 0x64, 0xfb, 0xff, 0xff, //0x0000062d jae LBB0_1 + //0x00000633 LBB0_71 + 0x48, 0x83, 0xff, 0x10, //0x00000633 cmpq $16, %rdi + 0x0f, 0x82, 0xde, 0x17, 0x00, 0x00, //0x00000637 jb LBB0_342 + 0x4c, 0x8d, 0x4f, 0xf0, //0x0000063d leaq $-16(%rdi), %r9 + 0x4c, 0x89, 0xc8, //0x00000641 movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00000644 andq $-16, %rax + 0x4a, 0x8d, 0x44, 0x10, 0x10, //0x00000648 leaq $16(%rax,%r10), %rax + 0x48, 0x89, 0x45, 0xa8, //0x0000064d movq %rax, $-88(%rbp) + 0x41, 0x83, 0xe1, 0x0f, //0x00000651 andl $15, %r9d + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00000655 movq $-1, %r12 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x0000065c movq $-1, %r13 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000663 movq $-1, %r11 + 0x4d, 0x89, 0xd6, //0x0000066a movq %r10, %r14 + 0x90, 0x90, 0x90, //0x0000066d .p2align 4, 0x90 + //0x00000670 LBB0_73 + 0xc4, 0xc1, 0x7a, 0x6f, 0x16, //0x00000670 vmovdqu (%r14), %xmm2 + 0xc4, 0xc1, 0x69, 0x64, 0xe0, //0x00000675 vpcmpgtb %xmm8, %xmm2, %xmm4 + 0xc5, 0xb1, 0x64, 0xea, //0x0000067a vpcmpgtb %xmm2, %xmm9, %xmm5 + 0xc5, 0xd9, 0xdb, 0xe5, //0x0000067e vpand %xmm5, %xmm4, %xmm4 + 0xc5, 0xa9, 0x74, 0xea, //0x00000682 vpcmpeqb %xmm2, %xmm10, %xmm5 + 0xc5, 0xa1, 0x74, 0xf2, //0x00000686 vpcmpeqb %xmm2, %xmm11, %xmm6 + 0xc5, 0xc9, 0xeb, 0xed, //0x0000068a vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0x99, 0xeb, 0xf2, //0x0000068e vpor %xmm2, %xmm12, %xmm6 + 0xc5, 0x91, 0x74, 0xd2, //0x00000692 vpcmpeqb %xmm2, %xmm13, %xmm2 + 0xc5, 0x89, 0x74, 0xf6, //0x00000696 vpcmpeqb %xmm6, %xmm14, %xmm6 + 0xc5, 0xc9, 0xeb, 0xfa, //0x0000069a vpor %xmm2, %xmm6, %xmm7 + 0xc5, 0xd1, 0xeb, 0xe4, //0x0000069e vpor %xmm4, %xmm5, %xmm4 + 0xc5, 0xc1, 0xeb, 0xe4, //0x000006a2 vpor %xmm4, %xmm7, %xmm4 + 0xc5, 0x79, 0xd7, 0xc2, //0x000006a6 vpmovmskb %xmm2, %r8d + 0xc5, 0xf9, 0xd7, 0xc6, //0x000006aa vpmovmskb %xmm6, %eax + 0xc5, 0xf9, 0xd7, 0xd5, //0x000006ae vpmovmskb %xmm5, %edx + 0xc5, 0xf9, 0xd7, 0xcc, //0x000006b2 vpmovmskb %xmm4, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x000006b6 movl $2863311530, %esi + 0x48, 0x81, 0xc6, 0x55, 0x55, 0x55, 0x55, //0x000006bb addq $1431655765, %rsi + 0x48, 0x31, 0xce, //0x000006c2 xorq %rcx, %rsi + 0x48, 0x0f, 0xbc, 0xce, //0x000006c5 bsfq %rsi, %rcx + 0x83, 0xf9, 0x10, //0x000006c9 cmpl $16, %ecx + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000006cc je LBB0_75 + 0xbe, 0xff, 0xff, 0xff, 0xff, //0x000006d2 movl $-1, %esi + 0xd3, 0xe6, //0x000006d7 shll %cl, %esi + 0xf7, 0xd6, //0x000006d9 notl %esi + 0x41, 0x21, 0xf0, //0x000006db andl %esi, %r8d + 0x21, 0xf0, //0x000006de andl %esi, %eax + 0x21, 0xd6, //0x000006e0 andl %edx, %esi + 0x89, 0xf2, //0x000006e2 movl %esi, %edx + //0x000006e4 LBB0_75 + 0x41, 0x8d, 0x70, 0xff, //0x000006e4 leal $-1(%r8), %esi + 0x44, 0x21, 0xc6, //0x000006e8 andl %r8d, %esi + 0x0f, 0x85, 0x17, 0x10, 0x00, 0x00, //0x000006eb jne LBB0_308 + 0x8d, 0x70, 0xff, //0x000006f1 leal $-1(%rax), %esi + 0x21, 0xc6, //0x000006f4 andl %eax, %esi + 0x0f, 0x85, 0x0c, 0x10, 0x00, 0x00, //0x000006f6 jne LBB0_308 + 0x8d, 0x72, 0xff, //0x000006fc leal $-1(%rdx), %esi + 0x21, 0xd6, //0x000006ff andl %edx, %esi + 0x0f, 0x85, 0x01, 0x10, 0x00, 0x00, //0x00000701 jne LBB0_308 + 0x45, 0x85, 0xc0, //0x00000707 testl %r8d, %r8d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x0000070a je LBB0_81 + 0x4c, 0x89, 0xf3, //0x00000710 movq %r14, %rbx + 0x4c, 0x29, 0xd3, //0x00000713 subq %r10, %rbx + 0x41, 0x0f, 0xbc, 0xf0, //0x00000716 bsfl %r8d, %esi + 0x48, 0x01, 0xde, //0x0000071a addq %rbx, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x0000071d cmpq $-1, %r11 + 0x0f, 0x85, 0x93, 0x13, 0x00, 0x00, //0x00000721 jne LBB0_325 + 0x49, 0x89, 0xf3, //0x00000727 movq %rsi, %r11 + //0x0000072a LBB0_81 + 0x85, 0xc0, //0x0000072a testl %eax, %eax + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000072c je LBB0_84 + 0x4c, 0x89, 0xf6, //0x00000732 movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x00000735 subq %r10, %rsi + 0x0f, 0xbc, 0xc0, //0x00000738 bsfl %eax, %eax + 0x48, 0x01, 0xf0, //0x0000073b addq %rsi, %rax + 0x49, 0x83, 0xfd, 0xff, //0x0000073e cmpq $-1, %r13 + 0x0f, 0x85, 0x64, 0x11, 0x00, 0x00, //0x00000742 jne LBB0_313 + 0x49, 0x89, 0xc5, //0x00000748 movq %rax, %r13 + //0x0000074b LBB0_84 + 0x85, 0xd2, //0x0000074b testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000074d je LBB0_87 + 0x4c, 0x89, 0xf6, //0x00000753 movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x00000756 subq %r10, %rsi + 0x0f, 0xbc, 0xc2, //0x00000759 bsfl %edx, %eax + 0x48, 0x01, 0xf0, //0x0000075c addq %rsi, %rax + 0x49, 0x83, 0xfc, 0xff, //0x0000075f cmpq $-1, %r12 + 0x0f, 0x85, 0x43, 0x11, 0x00, 0x00, //0x00000763 jne LBB0_313 + 0x49, 0x89, 0xc4, //0x00000769 movq %rax, %r12 + //0x0000076c LBB0_87 + 0x83, 0xf9, 0x10, //0x0000076c cmpl $16, %ecx + 0x0f, 0x85, 0xa8, 0x04, 0x00, 0x00, //0x0000076f jne LBB0_148 + 0x49, 0x83, 0xc6, 0x10, //0x00000775 addq $16, %r14 + 0x48, 0x83, 0xc7, 0xf0, //0x00000779 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x0f, //0x0000077d cmpq $15, %rdi + 0x0f, 0x87, 0xe9, 0xfe, 0xff, 0xff, //0x00000781 ja LBB0_73 + 0x4d, 0x85, 0xc9, //0x00000787 testq %r9, %r9 + 0x0f, 0x84, 0xb1, 0x04, 0x00, 0x00, //0x0000078a je LBB0_150 + //0x00000790 LBB0_90 + 0x48, 0x8b, 0x7d, 0xa8, //0x00000790 movq $-88(%rbp), %rdi + 0x4a, 0x8d, 0x0c, 0x0f, //0x00000794 leaq (%rdi,%r9), %rcx + 0x48, 0x8d, 0x35, 0x29, 0x21, 0x00, 0x00, //0x00000798 leaq $8489(%rip), %rsi /* LJTI0_3+0(%rip) */ + 0xe9, 0x18, 0x00, 0x00, 0x00, //0x0000079f jmp LBB0_92 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000007a4 .p2align 4, 0x90 + //0x000007b0 LBB0_91 + 0x48, 0x89, 0xc7, //0x000007b0 movq %rax, %rdi + 0x49, 0xff, 0xc9, //0x000007b3 decq %r9 + 0x0f, 0x84, 0xfb, 0x10, 0x00, 0x00, //0x000007b6 je LBB0_314 + //0x000007bc LBB0_92 + 0x0f, 0xbe, 0x17, //0x000007bc movsbl (%rdi), %edx + 0x83, 0xc2, 0xd5, //0x000007bf addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x000007c2 cmpl $58, %edx + 0x0f, 0x87, 0x72, 0x04, 0x00, 0x00, //0x000007c5 ja LBB0_149 + 0x48, 0x8d, 0x47, 0x01, //0x000007cb leaq $1(%rdi), %rax + 0x48, 0x63, 0x14, 0x96, //0x000007cf movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x000007d3 addq %rsi, %rdx + 0xff, 0xe2, //0x000007d6 jmpq *%rdx + //0x000007d8 LBB0_94 + 0x48, 0x89, 0xc2, //0x000007d8 movq %rax, %rdx + 0x4c, 0x29, 0xd2, //0x000007db subq %r10, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x000007de cmpq $-1, %r12 + 0x0f, 0x85, 0x86, 0x13, 0x00, 0x00, //0x000007e2 jne LBB0_418 + 0x48, 0xff, 0xca, //0x000007e8 decq %rdx + 0x49, 0x89, 0xd4, //0x000007eb movq %rdx, %r12 + 0xe9, 0xbd, 0xff, 0xff, 0xff, //0x000007ee jmp LBB0_91 + //0x000007f3 LBB0_96 + 0x48, 0x89, 0xc2, //0x000007f3 movq %rax, %rdx + 0x4c, 0x29, 0xd2, //0x000007f6 subq %r10, %rdx + 0x49, 0x83, 0xfd, 0xff, //0x000007f9 cmpq $-1, %r13 + 0x0f, 0x85, 0x6b, 0x13, 0x00, 0x00, //0x000007fd jne LBB0_418 + 0x48, 0xff, 0xca, //0x00000803 decq %rdx + 0x49, 0x89, 0xd5, //0x00000806 movq %rdx, %r13 + 0xe9, 0xa2, 0xff, 0xff, 0xff, //0x00000809 jmp LBB0_91 + //0x0000080e LBB0_98 + 0x48, 0x89, 0xc2, //0x0000080e movq %rax, %rdx + 0x4c, 0x29, 0xd2, //0x00000811 subq %r10, %rdx + 0x49, 0x83, 0xfb, 0xff, //0x00000814 cmpq $-1, %r11 + 0x0f, 0x85, 0x50, 0x13, 0x00, 0x00, //0x00000818 jne LBB0_418 + 0x48, 0xff, 0xca, //0x0000081e decq %rdx + 0x49, 0x89, 0xd3, //0x00000821 movq %rdx, %r11 + 0xe9, 0x87, 0xff, 0xff, 0xff, //0x00000824 jmp LBB0_91 + //0x00000829 LBB0_64 + 0x83, 0xfb, 0x22, //0x00000829 cmpl $34, %ebx + 0x0f, 0x84, 0x19, 0x02, 0x00, 0x00, //0x0000082c je LBB0_125 + //0x00000832 LBB0_38 + 0x83, 0xfb, 0x7d, //0x00000832 cmpl $125, %ebx + 0x0f, 0x85, 0x60, 0x1b, 0x00, 0x00, //0x00000835 jne LBB0_422 + //0x0000083b LBB0_35 + 0x49, 0x89, 0x11, //0x0000083b movq %rdx, (%r9) + 0x49, 0x89, 0xd2, //0x0000083e movq %rdx, %r10 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x00000841 movq $-136(%rbp), %rax + 0x48, 0x85, 0xd2, //0x00000848 testq %rdx, %rdx + 0x0f, 0x85, 0x75, 0xf9, 0xff, 0xff, //0x0000084b jne LBB0_4 + 0xe9, 0x4c, 0x1b, 0x00, 0x00, //0x00000851 jmp LBB0_423 + //0x00000856 LBB0_100 + 0x49, 0x81, 0xfa, 0xff, 0x0f, 0x00, 0x00, //0x00000856 cmpq $4095, %r10 + 0x0f, 0x8f, 0xfa, 0x1a, 0x00, 0x00, //0x0000085d jg LBB0_441 + 0x49, 0x8d, 0x42, 0x01, //0x00000863 leaq $1(%r10), %rax + 0x49, 0x89, 0x01, //0x00000867 movq %rax, (%r9) + 0x4b, 0xc7, 0x44, 0xd1, 0x08, 0x00, 0x00, 0x00, 0x00, //0x0000086a movq $0, $8(%r9,%r10,8) + 0xe9, 0x38, 0xf9, 0xff, 0xff, //0x00000873 jmp LBB0_2 + //0x00000878 LBB0_104 + 0x48, 0x89, 0xd0, //0x00000878 movq %rdx, %rax + 0x4c, 0x29, 0xd8, //0x0000087b subq %r11, %rax + 0x0f, 0x84, 0xcd, 0x1c, 0x00, 0x00, //0x0000087e je LBB0_456 + 0x4c, 0x89, 0xd9, //0x00000884 movq %r11, %rcx + 0x4d, 0x01, 0xe3, //0x00000887 addq %r12, %r11 + 0x48, 0x83, 0xf8, 0x40, //0x0000088a cmpq $64, %rax + 0x0f, 0x82, 0xc1, 0x15, 0x00, 0x00, //0x0000088e jb LBB0_354 + 0x89, 0xc6, //0x00000894 movl %eax, %esi + 0x83, 0xe6, 0x3f, //0x00000896 andl $63, %esi + 0x48, 0x89, 0x75, 0xb8, //0x00000899 movq %rsi, $-72(%rbp) + 0x4e, 0x8d, 0x54, 0x02, 0xc0, //0x0000089d leaq $-64(%rdx,%r8), %r10 + 0x49, 0x83, 0xe2, 0xc0, //0x000008a2 andq $-64, %r10 + 0x49, 0x01, 0xca, //0x000008a6 addq %rcx, %r10 + 0x4c, 0x03, 0x55, 0x88, //0x000008a9 addq $-120(%rbp), %r10 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000008ad movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x000008b4 xorl %r8d, %r8d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008b7 .p2align 4, 0x90 + //0x000008c0 LBB0_107 + 0xc4, 0xc1, 0x7a, 0x6f, 0x33, //0x000008c0 vmovdqu (%r11), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x000008c5 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x20, //0x000008cb vmovdqu $32(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x30, //0x000008d1 vmovdqu $48(%r11), %xmm7 + 0xc5, 0xc9, 0x74, 0xd0, //0x000008d7 vpcmpeqb %xmm0, %xmm6, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x000008db vpmovmskb %xmm2, %esi + 0xc5, 0xd1, 0x74, 0xd0, //0x000008df vpcmpeqb %xmm0, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x000008e3 vpmovmskb %xmm2, %ebx + 0xc5, 0xd9, 0x74, 0xd0, //0x000008e7 vpcmpeqb %xmm0, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x000008eb vpmovmskb %xmm2, %ecx + 0xc5, 0xc1, 0x74, 0xd0, //0x000008ef vpcmpeqb %xmm0, %xmm7, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x000008f3 vpmovmskb %xmm2, %edx + 0xc5, 0xc9, 0x74, 0xd1, //0x000008f7 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xea, //0x000008fb vpmovmskb %xmm2, %r13d + 0xc5, 0xd1, 0x74, 0xd1, //0x000008ff vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00000903 vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x00000907 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x0000090b shlq $16, %rbx + 0x48, 0x09, 0xde, //0x0000090f orq %rbx, %rsi + 0xc5, 0xf9, 0xd7, 0xda, //0x00000912 vpmovmskb %xmm2, %ebx + 0xc5, 0xc1, 0x74, 0xd1, //0x00000916 vpcmpeqb %xmm1, %xmm7, %xmm2 + 0x48, 0xc1, 0xe1, 0x20, //0x0000091a shlq $32, %rcx + 0x48, 0x09, 0xce, //0x0000091e orq %rcx, %rsi + 0xc5, 0xf9, 0xd7, 0xca, //0x00000921 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd6, //0x00000925 vpcmpgtb %xmm6, %xmm15, %xmm2 + 0xc5, 0xc9, 0x64, 0xf3, //0x00000929 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xd2, //0x0000092d vpand %xmm2, %xmm6, %xmm2 + 0x48, 0xc1, 0xe7, 0x10, //0x00000931 shlq $16, %rdi + 0x49, 0x09, 0xfd, //0x00000935 orq %rdi, %r13 + 0xc5, 0x79, 0xd7, 0xe2, //0x00000938 vpmovmskb %xmm2, %r12d + 0xc5, 0x81, 0x64, 0xd5, //0x0000093c vpcmpgtb %xmm5, %xmm15, %xmm2 + 0xc5, 0xd1, 0x64, 0xeb, //0x00000940 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xd2, //0x00000944 vpand %xmm2, %xmm5, %xmm2 + 0x48, 0xc1, 0xe3, 0x20, //0x00000948 shlq $32, %rbx + 0x49, 0x09, 0xdd, //0x0000094c orq %rbx, %r13 + 0xc5, 0xf9, 0xd7, 0xfa, //0x0000094f vpmovmskb %xmm2, %edi + 0xc5, 0x81, 0x64, 0xd4, //0x00000953 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00000957 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x0000095b vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe1, 0x30, //0x0000095f shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000963 orq %rcx, %r13 + 0xc5, 0xf9, 0xd7, 0xca, //0x00000966 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd7, //0x0000096a vpcmpgtb %xmm7, %xmm15, %xmm2 + 0xc5, 0xc1, 0x64, 0xe3, //0x0000096e vpcmpgtb %xmm3, %xmm7, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00000972 vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe7, 0x10, //0x00000976 shlq $16, %rdi + 0x49, 0x09, 0xfc, //0x0000097a orq %rdi, %r12 + 0xc5, 0x79, 0xd7, 0xf2, //0x0000097d vpmovmskb %xmm2, %r14d + 0x48, 0xc1, 0xe2, 0x30, //0x00000981 shlq $48, %rdx + 0x48, 0xc1, 0xe1, 0x20, //0x00000985 shlq $32, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00000989 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000098d jne LBB0_109 + 0x4d, 0x85, 0xed, //0x00000993 testq %r13, %r13 + 0x0f, 0x85, 0x9c, 0x00, 0x00, 0x00, //0x00000996 jne LBB0_124 + //0x0000099c LBB0_109 + 0x49, 0xc1, 0xe6, 0x30, //0x0000099c shlq $48, %r14 + 0x49, 0x09, 0xcc, //0x000009a0 orq %rcx, %r12 + 0x48, 0x09, 0xd6, //0x000009a3 orq %rdx, %rsi + 0x4c, 0x89, 0xe9, //0x000009a6 movq %r13, %rcx + 0x4c, 0x09, 0xc1, //0x000009a9 orq %r8, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000009ac jne LBB0_145 + 0x4d, 0x09, 0xf4, //0x000009b2 orq %r14, %r12 + 0x48, 0x85, 0xf6, //0x000009b5 testq %rsi, %rsi + 0x0f, 0x85, 0x39, 0x02, 0x00, 0x00, //0x000009b8 jne LBB0_146 + //0x000009be LBB0_111 + 0x4d, 0x85, 0xe4, //0x000009be testq %r12, %r12 + 0x0f, 0x85, 0x0c, 0x1a, 0x00, 0x00, //0x000009c1 jne LBB0_426 + 0x48, 0x83, 0xc0, 0xc0, //0x000009c7 addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x000009cb addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x000009cf cmpq $63, %rax + 0x0f, 0x87, 0xe7, 0xfe, 0xff, 0xff, //0x000009d3 ja LBB0_107 + 0xe9, 0xda, 0x0d, 0x00, 0x00, //0x000009d9 jmp LBB0_113 + //0x000009de LBB0_145 + 0x4c, 0x89, 0xc1, //0x000009de movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x000009e1 notq %rcx + 0x4c, 0x21, 0xe9, //0x000009e4 andq %r13, %rcx + 0x48, 0x8d, 0x14, 0x09, //0x000009e7 leaq (%rcx,%rcx), %rdx + 0x4c, 0x09, 0xc2, //0x000009eb orq %r8, %rdx + 0x48, 0x89, 0xd7, //0x000009ee movq %rdx, %rdi + 0x48, 0xf7, 0xd7, //0x000009f1 notq %rdi + 0x4c, 0x21, 0xef, //0x000009f4 andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000009f7 movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x00000a01 andq %rbx, %rdi + 0x45, 0x31, 0xc0, //0x00000a04 xorl %r8d, %r8d + 0x48, 0x01, 0xcf, //0x00000a07 addq %rcx, %rdi + 0x41, 0x0f, 0x92, 0xc0, //0x00000a0a setb %r8b + 0x48, 0x01, 0xff, //0x00000a0e addq %rdi, %rdi + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000a11 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcf, //0x00000a1b xorq %rcx, %rdi + 0x48, 0x21, 0xd7, //0x00000a1e andq %rdx, %rdi + 0x48, 0xf7, 0xd7, //0x00000a21 notq %rdi + 0x48, 0x21, 0xfe, //0x00000a24 andq %rdi, %rsi + 0x4d, 0x09, 0xf4, //0x00000a27 orq %r14, %r12 + 0x48, 0x85, 0xf6, //0x00000a2a testq %rsi, %rsi + 0x0f, 0x84, 0x8b, 0xff, 0xff, 0xff, //0x00000a2d je LBB0_111 + 0xe9, 0xbf, 0x01, 0x00, 0x00, //0x00000a33 jmp LBB0_146 + //0x00000a38 LBB0_124 + 0x4c, 0x89, 0xdf, //0x00000a38 movq %r11, %rdi + 0x48, 0x2b, 0x7d, 0xd0, //0x00000a3b subq $-48(%rbp), %rdi + 0x4d, 0x0f, 0xbc, 0xcd, //0x00000a3f bsfq %r13, %r9 + 0x49, 0x01, 0xf9, //0x00000a43 addq %rdi, %r9 + 0xe9, 0x51, 0xff, 0xff, 0xff, //0x00000a46 jmp LBB0_109 + //0x00000a4b LBB0_125 + 0x4b, 0xc7, 0x04, 0xd1, 0x02, 0x00, 0x00, 0x00, //0x00000a4b movq $2, (%r9,%r10,8) + 0x48, 0x8b, 0x45, 0x90, //0x00000a53 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x00000a57 movq $8(%rax), %rdx + 0xf6, 0x45, 0x80, 0x20, //0x00000a5b testb $32, $-128(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x00000a5f movq %r11, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb0, //0x00000a63 movq %rdx, $-80(%rbp) + 0x0f, 0x85, 0x71, 0x02, 0x00, 0x00, //0x00000a67 jne LBB0_161 + 0x49, 0x89, 0xd5, //0x00000a6d movq %rdx, %r13 + 0x4d, 0x29, 0xdd, //0x00000a70 subq %r11, %r13 + 0x0f, 0x84, 0xf3, 0x1a, 0x00, 0x00, //0x00000a73 je LBB0_454 + 0x4c, 0x89, 0xd8, //0x00000a79 movq %r11, %rax + 0x4d, 0x01, 0xe3, //0x00000a7c addq %r12, %r11 + 0x49, 0x83, 0xfd, 0x40, //0x00000a7f cmpq $64, %r13 + 0x0f, 0x82, 0xfc, 0x13, 0x00, 0x00, //0x00000a83 jb LBB0_357 + 0x45, 0x89, 0xea, //0x00000a89 movl %r13d, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x00000a8c andl $63, %r10d + 0x4a, 0x8d, 0x4c, 0x02, 0xc0, //0x00000a90 leaq $-64(%rdx,%r8), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000a95 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000a99 addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x88, //0x00000a9c addq $-120(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb8, //0x00000aa0 movq %rcx, $-72(%rbp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00000aa4 movq $-1, %r12 + 0x45, 0x31, 0xc9, //0x00000aab xorl %r9d, %r9d + 0x90, 0x90, //0x00000aae .p2align 4, 0x90 + //0x00000ab0 LBB0_129 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00000ab0 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00000ab5 vmovdqu $16(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x20, //0x00000abb vmovdqu $32(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00000ac1 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xe9, 0x74, 0xf8, //0x00000ac7 vpcmpeqb %xmm0, %xmm2, %xmm7 + 0xc5, 0xf9, 0xd7, 0xff, //0x00000acb vpmovmskb %xmm7, %edi + 0xc5, 0xd9, 0x74, 0xf8, //0x00000acf vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00000ad3 vpmovmskb %xmm7, %ecx + 0xc5, 0xd1, 0x74, 0xf8, //0x00000ad7 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x00000adb vpmovmskb %xmm7, %esi + 0xc5, 0xc9, 0x74, 0xf8, //0x00000adf vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0xf9, 0xd7, 0xdf, //0x00000ae3 vpmovmskb %xmm7, %ebx + 0xc5, 0xe9, 0x74, 0xd1, //0x00000ae7 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000aeb vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x00000aef vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00000af3 vpmovmskb %xmm2, %eax + 0xc5, 0xd1, 0x74, 0xd1, //0x00000af7 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00000afb vpmovmskb %xmm2, %r14d + 0xc5, 0xc9, 0x74, 0xd1, //0x00000aff vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xc2, //0x00000b03 vpmovmskb %xmm2, %r8d + 0x48, 0xc1, 0xe3, 0x30, //0x00000b07 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x00000b0b shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00000b0f shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00000b13 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00000b16 orq %rsi, %rdi + 0x49, 0xc1, 0xe0, 0x30, //0x00000b19 shlq $48, %r8 + 0x49, 0xc1, 0xe6, 0x20, //0x00000b1d shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x00000b21 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00000b25 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x00000b28 orq %r14, %rdx + 0x4c, 0x09, 0xc2, //0x00000b2b orq %r8, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x00000b2e cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000b32 jne LBB0_131 + 0x48, 0x85, 0xd2, //0x00000b38 testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000b3b jne LBB0_140 + //0x00000b41 LBB0_131 + 0x48, 0x09, 0xdf, //0x00000b41 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000b44 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00000b47 orq %r9, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x00000b4a jne LBB0_141 + //0x00000b50 LBB0_132 + 0x48, 0x85, 0xff, //0x00000b50 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00000b53 jne LBB0_142 + //0x00000b59 LBB0_133 + 0x49, 0x83, 0xc5, 0xc0, //0x00000b59 addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x00000b5d addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000b61 cmpq $63, %r13 + 0x0f, 0x87, 0x45, 0xff, 0xff, 0xff, //0x00000b65 ja LBB0_129 + 0xe9, 0x64, 0x0d, 0x00, 0x00, //0x00000b6b jmp LBB0_134 + //0x00000b70 LBB0_140 + 0x4c, 0x89, 0xd8, //0x00000b70 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000b73 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xe2, //0x00000b77 bsfq %rdx, %r12 + 0x49, 0x01, 0xc4, //0x00000b7b addq %rax, %r12 + 0x48, 0x09, 0xdf, //0x00000b7e orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000b81 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00000b84 orq %r9, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000b87 je LBB0_132 + //0x00000b8d LBB0_141 + 0x4c, 0x89, 0xc8, //0x00000b8d movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000b90 notq %rax + 0x48, 0x21, 0xd0, //0x00000b93 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000b96 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x00000b9a orq %r9, %rcx + 0x48, 0x89, 0xce, //0x00000b9d movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000ba0 notq %rsi + 0x48, 0x21, 0xd6, //0x00000ba3 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000ba6 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000bb0 andq %rdx, %rsi + 0x45, 0x31, 0xc9, //0x00000bb3 xorl %r9d, %r9d + 0x48, 0x01, 0xc6, //0x00000bb6 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc1, //0x00000bb9 setb %r9b + 0x48, 0x01, 0xf6, //0x00000bbd addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000bc0 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x00000bca xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x00000bcd andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000bd0 notq %rsi + 0x48, 0x21, 0xf7, //0x00000bd3 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000bd6 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00000bd9 je LBB0_133 + //0x00000bdf LBB0_142 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000bdf bsfq %rdi, %rax + //0x00000be3 LBB0_143 + 0x4c, 0x03, 0x5d, 0x98, //0x00000be3 addq $-104(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000be7 addq %rax, %r11 + //0x00000bea LBB0_144 + 0x48, 0x8b, 0x75, 0xc8, //0x00000bea movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000bee movq $-64(%rbp), %r9 + 0xe9, 0x59, 0x03, 0x00, 0x00, //0x00000bf2 jmp LBB0_195 + //0x00000bf7 LBB0_146 + 0x48, 0x0f, 0xbc, 0xc6, //0x00000bf7 bsfq %rsi, %rax + 0x4d, 0x85, 0xe4, //0x00000bfb testq %r12, %r12 + 0x0f, 0x84, 0xbf, 0x02, 0x00, 0x00, //0x00000bfe je LBB0_185 + 0x49, 0x0f, 0xbc, 0xcc, //0x00000c04 bsfq %r12, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00000c08 movq $-48(%rbp), %r12 + 0x4d, 0x29, 0xe3, //0x00000c0c subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x00000c0f cmpq %rax, %rcx + 0x0f, 0x83, 0xc0, 0x02, 0x00, 0x00, //0x00000c12 jae LBB0_186 + 0xe9, 0x3d, 0x19, 0x00, 0x00, //0x00000c18 jmp LBB0_306 + //0x00000c1d LBB0_148 + 0x49, 0x01, 0xce, //0x00000c1d addq %rcx, %r14 + 0x4c, 0x89, 0x75, 0xa8, //0x00000c20 movq %r14, $-88(%rbp) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000c24 movq $-1, %rax + 0x4d, 0x85, 0xed, //0x00000c2b testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x00000c2e movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x1d, 0x00, 0x00, 0x00, //0x00000c32 jne LBB0_151 + 0xe9, 0x55, 0x17, 0x00, 0x00, //0x00000c38 jmp LBB0_420 + //0x00000c3d LBB0_149 + 0x48, 0x89, 0x7d, 0xa8, //0x00000c3d movq %rdi, $-88(%rbp) + //0x00000c41 LBB0_150 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000c41 movq $-1, %rax + 0x4d, 0x85, 0xed, //0x00000c48 testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x00000c4b movq $-56(%rbp), %rsi + 0x0f, 0x84, 0x3d, 0x17, 0x00, 0x00, //0x00000c4f je LBB0_420 + //0x00000c55 LBB0_151 + 0x4d, 0x85, 0xe4, //0x00000c55 testq %r12, %r12 + 0x0f, 0x84, 0x34, 0x17, 0x00, 0x00, //0x00000c58 je LBB0_420 + 0x4d, 0x85, 0xdb, //0x00000c5e testq %r11, %r11 + 0x0f, 0x84, 0x2b, 0x17, 0x00, 0x00, //0x00000c61 je LBB0_420 + 0x48, 0x8b, 0x45, 0xa8, //0x00000c67 movq $-88(%rbp), %rax + 0x4c, 0x29, 0xd0, //0x00000c6b subq %r10, %rax + 0x48, 0x89, 0xc1, //0x00000c6e movq %rax, %rcx + 0x48, 0xff, 0xc8, //0x00000c71 decq %rax + 0x49, 0x39, 0xc5, //0x00000c74 cmpq %rax, %r13 + 0x0f, 0x84, 0x45, 0x00, 0x00, 0x00, //0x00000c77 je LBB0_159 + 0x49, 0x39, 0xc3, //0x00000c7d cmpq %rax, %r11 + 0x0f, 0x84, 0x3c, 0x00, 0x00, 0x00, //0x00000c80 je LBB0_159 + 0x49, 0x39, 0xc4, //0x00000c86 cmpq %rax, %r12 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00000c89 je LBB0_159 + 0x4d, 0x85, 0xe4, //0x00000c8f testq %r12, %r12 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000c92 movq $-64(%rbp), %r9 + 0x0f, 0x8e, 0x68, 0x02, 0x00, 0x00, //0x00000c96 jle LBB0_189 + 0x49, 0x8d, 0x44, 0x24, 0xff, //0x00000c9c leaq $-1(%r12), %rax + 0x49, 0x39, 0xc5, //0x00000ca1 cmpq %rax, %r13 + 0x0f, 0x84, 0x5a, 0x02, 0x00, 0x00, //0x00000ca4 je LBB0_189 + 0x49, 0xf7, 0xd4, //0x00000caa notq %r12 + 0x4d, 0x89, 0xe3, //0x00000cad movq %r12, %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000cb0 movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xdb, //0x00000cb4 testq %r11, %r11 + 0x0f, 0x89, 0xd7, 0xf4, 0xff, 0xff, //0x00000cb7 jns LBB0_258 + 0xe9, 0xcd, 0x16, 0x00, 0x00, //0x00000cbd jmp LBB0_419 + //0x00000cc2 LBB0_159 + 0x49, 0x89, 0xcb, //0x00000cc2 movq %rcx, %r11 + 0x49, 0xf7, 0xdb, //0x00000cc5 negq %r11 + //0x00000cc8 LBB0_160 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000cc8 movq $-48(%rbp), %r12 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000ccc movq $-64(%rbp), %r9 + 0x4d, 0x85, 0xdb, //0x00000cd0 testq %r11, %r11 + 0x0f, 0x89, 0xbb, 0xf4, 0xff, 0xff, //0x00000cd3 jns LBB0_258 + 0xe9, 0xb1, 0x16, 0x00, 0x00, //0x00000cd9 jmp LBB0_419 + //0x00000cde LBB0_161 + 0x48, 0x89, 0xd0, //0x00000cde movq %rdx, %rax + 0x4c, 0x29, 0xd8, //0x00000ce1 subq %r11, %rax + 0x0f, 0x84, 0x82, 0x18, 0x00, 0x00, //0x00000ce4 je LBB0_454 + 0x4c, 0x89, 0xd9, //0x00000cea movq %r11, %rcx + 0x4d, 0x01, 0xe3, //0x00000ced addq %r12, %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00000cf0 cmpq $64, %rax + 0x0f, 0x82, 0xa4, 0x11, 0x00, 0x00, //0x00000cf4 jb LBB0_358 + 0x41, 0x89, 0xc2, //0x00000cfa movl %eax, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x00000cfd andl $63, %r10d + 0x4e, 0x8d, 0x44, 0x02, 0xc0, //0x00000d01 leaq $-64(%rdx,%r8), %r8 + 0x49, 0x83, 0xe0, 0xc0, //0x00000d06 andq $-64, %r8 + 0x49, 0x01, 0xc8, //0x00000d0a addq %rcx, %r8 + 0x4c, 0x03, 0x45, 0x88, //0x00000d0d addq $-120(%rbp), %r8 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00000d11 movq $-1, %r12 + 0x45, 0x31, 0xc9, //0x00000d18 xorl %r9d, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d1b .p2align 4, 0x90 + //0x00000d20 LBB0_164 + 0xc4, 0xc1, 0x7a, 0x6f, 0x33, //0x00000d20 vmovdqu (%r11), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x00000d25 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x20, //0x00000d2b vmovdqu $32(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x30, //0x00000d31 vmovdqu $48(%r11), %xmm7 + 0xc5, 0xc9, 0x74, 0xd0, //0x00000d37 vpcmpeqb %xmm0, %xmm6, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x00000d3b vpmovmskb %xmm2, %esi + 0xc5, 0xd1, 0x74, 0xd0, //0x00000d3f vpcmpeqb %xmm0, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x00000d43 vpmovmskb %xmm2, %ebx + 0xc5, 0xd9, 0x74, 0xd0, //0x00000d47 vpcmpeqb %xmm0, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x00000d4b vpmovmskb %xmm2, %ecx + 0xc5, 0xc1, 0x74, 0xd0, //0x00000d4f vpcmpeqb %xmm0, %xmm7, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00000d53 vpmovmskb %xmm2, %edi + 0xc5, 0xc9, 0x74, 0xd1, //0x00000d57 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xea, //0x00000d5b vpmovmskb %xmm2, %r13d + 0xc5, 0xd1, 0x74, 0xd1, //0x00000d5f vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000d63 vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x00000d67 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x00000d6b shlq $16, %rbx + 0x48, 0x09, 0xde, //0x00000d6f orq %rbx, %rsi + 0xc5, 0xf9, 0xd7, 0xda, //0x00000d72 vpmovmskb %xmm2, %ebx + 0xc5, 0xc1, 0x74, 0xd1, //0x00000d76 vpcmpeqb %xmm1, %xmm7, %xmm2 + 0x48, 0xc1, 0xe1, 0x20, //0x00000d7a shlq $32, %rcx + 0x48, 0x09, 0xce, //0x00000d7e orq %rcx, %rsi + 0xc5, 0xf9, 0xd7, 0xca, //0x00000d81 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd6, //0x00000d85 vpcmpgtb %xmm6, %xmm15, %xmm2 + 0xc5, 0xc9, 0x64, 0xf3, //0x00000d89 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xd2, //0x00000d8d vpand %xmm2, %xmm6, %xmm2 + 0x48, 0xc1, 0xe2, 0x10, //0x00000d91 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x00000d95 orq %rdx, %r13 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000d98 vpmovmskb %xmm2, %edx + 0xc5, 0x81, 0x64, 0xd5, //0x00000d9c vpcmpgtb %xmm5, %xmm15, %xmm2 + 0xc5, 0xd1, 0x64, 0xeb, //0x00000da0 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xd2, //0x00000da4 vpand %xmm2, %xmm5, %xmm2 + 0x48, 0xc1, 0xe3, 0x20, //0x00000da8 shlq $32, %rbx + 0x49, 0x09, 0xdd, //0x00000dac orq %rbx, %r13 + 0xc5, 0xf9, 0xd7, 0xda, //0x00000daf vpmovmskb %xmm2, %ebx + 0xc5, 0x81, 0x64, 0xd4, //0x00000db3 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00000db7 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00000dbb vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe1, 0x30, //0x00000dbf shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000dc3 orq %rcx, %r13 + 0xc5, 0xf9, 0xd7, 0xca, //0x00000dc6 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd7, //0x00000dca vpcmpgtb %xmm7, %xmm15, %xmm2 + 0xc5, 0xc1, 0x64, 0xe3, //0x00000dce vpcmpgtb %xmm3, %xmm7, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00000dd2 vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x00000dd6 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00000dda orq %rbx, %rdx + 0xc5, 0x79, 0xd7, 0xf2, //0x00000ddd vpmovmskb %xmm2, %r14d + 0x48, 0xc1, 0xe7, 0x30, //0x00000de1 shlq $48, %rdi + 0x48, 0xc1, 0xe1, 0x20, //0x00000de5 shlq $32, %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00000de9 cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000ded jne LBB0_166 + 0x4d, 0x85, 0xed, //0x00000df3 testq %r13, %r13 + 0x0f, 0x85, 0x9e, 0x00, 0x00, 0x00, //0x00000df6 jne LBB0_181 + //0x00000dfc LBB0_166 + 0x49, 0xc1, 0xe6, 0x30, //0x00000dfc shlq $48, %r14 + 0x48, 0x09, 0xca, //0x00000e00 orq %rcx, %rdx + 0x48, 0x09, 0xfe, //0x00000e03 orq %rdi, %rsi + 0x4c, 0x89, 0xe9, //0x00000e06 movq %r13, %rcx + 0x4c, 0x09, 0xc9, //0x00000e09 orq %r9, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000e0c jne LBB0_182 + 0x4c, 0x09, 0xf2, //0x00000e12 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000e15 testq %rsi, %rsi + 0x0f, 0x85, 0x8f, 0x00, 0x00, 0x00, //0x00000e18 jne LBB0_183 + //0x00000e1e LBB0_168 + 0x48, 0x85, 0xd2, //0x00000e1e testq %rdx, %rdx + 0x0f, 0x85, 0xda, 0x15, 0x00, 0x00, //0x00000e21 jne LBB0_432 + 0x48, 0x83, 0xc0, 0xc0, //0x00000e27 addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x00000e2b addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x00000e2f cmpq $63, %rax + 0x0f, 0x87, 0xe7, 0xfe, 0xff, 0xff, //0x00000e33 ja LBB0_164 + 0xe9, 0x11, 0x0b, 0x00, 0x00, //0x00000e39 jmp LBB0_170 + //0x00000e3e LBB0_182 + 0x4c, 0x89, 0xc9, //0x00000e3e movq %r9, %rcx + 0x48, 0xf7, 0xd1, //0x00000e41 notq %rcx + 0x4c, 0x21, 0xe9, //0x00000e44 andq %r13, %rcx + 0x48, 0x8d, 0x1c, 0x09, //0x00000e47 leaq (%rcx,%rcx), %rbx + 0x4c, 0x09, 0xcb, //0x00000e4b orq %r9, %rbx + 0x48, 0x89, 0x5d, 0xb8, //0x00000e4e movq %rbx, $-72(%rbp) + 0x48, 0xf7, 0xd3, //0x00000e52 notq %rbx + 0x4c, 0x21, 0xeb, //0x00000e55 andq %r13, %rbx + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000e58 movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfb, //0x00000e62 andq %rdi, %rbx + 0x45, 0x31, 0xc9, //0x00000e65 xorl %r9d, %r9d + 0x48, 0x01, 0xcb, //0x00000e68 addq %rcx, %rbx + 0x41, 0x0f, 0x92, 0xc1, //0x00000e6b setb %r9b + 0x48, 0x01, 0xdb, //0x00000e6f addq %rbx, %rbx + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000e72 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcb, //0x00000e7c xorq %rcx, %rbx + 0x48, 0x23, 0x5d, 0xb8, //0x00000e7f andq $-72(%rbp), %rbx + 0x48, 0xf7, 0xd3, //0x00000e83 notq %rbx + 0x48, 0x21, 0xde, //0x00000e86 andq %rbx, %rsi + 0x4c, 0x09, 0xf2, //0x00000e89 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000e8c testq %rsi, %rsi + 0x0f, 0x84, 0x89, 0xff, 0xff, 0xff, //0x00000e8f je LBB0_168 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00000e95 jmp LBB0_183 + //0x00000e9a LBB0_181 + 0x4c, 0x89, 0xdb, //0x00000e9a movq %r11, %rbx + 0x48, 0x2b, 0x5d, 0xd0, //0x00000e9d subq $-48(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xe5, //0x00000ea1 bsfq %r13, %r12 + 0x49, 0x01, 0xdc, //0x00000ea5 addq %rbx, %r12 + 0xe9, 0x4f, 0xff, 0xff, 0xff, //0x00000ea8 jmp LBB0_166 + //0x00000ead LBB0_183 + 0x48, 0x0f, 0xbc, 0xc6, //0x00000ead bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00000eb1 testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x00000eb4 je LBB0_192 + 0x48, 0x0f, 0xbc, 0xca, //0x00000eba bsfq %rdx, %rcx + 0xe9, 0x73, 0x00, 0x00, 0x00, //0x00000ebe jmp LBB0_193 + //0x00000ec3 LBB0_185 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000ec3 movl $64, %ecx + 0x4c, 0x8b, 0x65, 0xd0, //0x00000ec8 movq $-48(%rbp), %r12 + 0x4d, 0x29, 0xe3, //0x00000ecc subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x00000ecf cmpq %rax, %rcx + 0x0f, 0x82, 0x82, 0x16, 0x00, 0x00, //0x00000ed2 jb LBB0_306 + //0x00000ed8 LBB0_186 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000ed8 leaq $1(%r11,%rax), %r11 + //0x00000edd LBB0_187 + 0x4d, 0x85, 0xdb, //0x00000edd testq %r11, %r11 + 0x0f, 0x88, 0x83, 0x14, 0x00, 0x00, //0x00000ee0 js LBB0_415 + 0x48, 0x8b, 0x75, 0xc8, //0x00000ee6 movq $-56(%rbp), %rsi + 0x4c, 0x89, 0x1e, //0x00000eea movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000eed movq %r15, %rax + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00000ef0 cmpq $0, $-88(%rbp) + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000ef5 movq $-64(%rbp), %r9 + 0x0f, 0x8f, 0xb1, 0xf2, 0xff, 0xff, //0x00000ef9 jg LBB0_2 + 0xe9, 0x9e, 0x14, 0x00, 0x00, //0x00000eff jmp LBB0_423 + //0x00000f04 LBB0_189 + 0x4c, 0x89, 0xd8, //0x00000f04 movq %r11, %rax + 0x4c, 0x09, 0xe8, //0x00000f07 orq %r13, %rax + 0x4d, 0x39, 0xeb, //0x00000f0a cmpq %r13, %r11 + 0x0f, 0x8c, 0x5c, 0xf2, 0xff, 0xff, //0x00000f0d jl LBB0_257 + 0x48, 0x85, 0xc0, //0x00000f13 testq %rax, %rax + 0x0f, 0x88, 0x53, 0xf2, 0xff, 0xff, //0x00000f16 js LBB0_257 + 0x49, 0xf7, 0xd3, //0x00000f1c notq %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000f1f movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xdb, //0x00000f23 testq %r11, %r11 + 0x0f, 0x89, 0x68, 0xf2, 0xff, 0xff, //0x00000f26 jns LBB0_258 + 0xe9, 0x5e, 0x14, 0x00, 0x00, //0x00000f2c jmp LBB0_419 + //0x00000f31 LBB0_192 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000f31 movl $64, %ecx + //0x00000f36 LBB0_193 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f36 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000f3a movq $-64(%rbp), %r9 + 0x4c, 0x2b, 0x5d, 0xd0, //0x00000f3e subq $-48(%rbp), %r11 + 0x48, 0x39, 0xc1, //0x00000f42 cmpq %rax, %rcx + 0x0f, 0x82, 0x2a, 0x16, 0x00, 0x00, //0x00000f45 jb LBB0_455 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000f4b leaq $1(%r11,%rax), %r11 + //0x00000f50 LBB0_195 + 0x4d, 0x85, 0xdb, //0x00000f50 testq %r11, %r11 + 0x0f, 0x88, 0x58, 0x14, 0x00, 0x00, //0x00000f53 js LBB0_424 + 0x4c, 0x89, 0x1e, //0x00000f59 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000f5c movq %r15, %rax + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00000f5f cmpq $0, $-88(%rbp) + 0x4c, 0x8b, 0x65, 0xd0, //0x00000f64 movq $-48(%rbp), %r12 + 0x0f, 0x8e, 0x34, 0x14, 0x00, 0x00, //0x00000f68 jle LBB0_423 + 0x49, 0x8b, 0x01, //0x00000f6e movq (%r9), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00000f71 cmpq $4095, %rax + 0x0f, 0x8f, 0xe0, 0x13, 0x00, 0x00, //0x00000f77 jg LBB0_441 + 0x48, 0x8d, 0x48, 0x01, //0x00000f7d leaq $1(%rax), %rcx + 0x49, 0x89, 0x09, //0x00000f81 movq %rcx, (%r9) + 0x49, 0xc7, 0x44, 0xc1, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00000f84 movq $4, $8(%r9,%rax,8) + 0xe9, 0x1e, 0xf2, 0xff, 0xff, //0x00000f8d jmp LBB0_2 + //0x00000f92 LBB0_199 + 0x48, 0x8b, 0x45, 0x90, //0x00000f92 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x00000f96 movq $8(%rax), %rdx + 0xf6, 0x45, 0x80, 0x20, //0x00000f9a testb $32, $-128(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x00000f9e movq %r11, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb0, //0x00000fa2 movq %rdx, $-80(%rbp) + 0x0f, 0x85, 0xa3, 0x04, 0x00, 0x00, //0x00000fa6 jne LBB0_268 + 0x49, 0x89, 0xd4, //0x00000fac movq %rdx, %r12 + 0x4d, 0x29, 0xdc, //0x00000faf subq %r11, %r12 + 0x0f, 0x84, 0x99, 0x15, 0x00, 0x00, //0x00000fb2 je LBB0_456 + 0x48, 0x8b, 0x45, 0xd0, //0x00000fb8 movq $-48(%rbp), %rax + 0x4c, 0x89, 0xd9, //0x00000fbc movq %r11, %rcx + 0x49, 0x01, 0xc3, //0x00000fbf addq %rax, %r11 + 0x49, 0x83, 0xfc, 0x40, //0x00000fc2 cmpq $64, %r12 + 0x0f, 0x82, 0x12, 0x0f, 0x00, 0x00, //0x00000fc6 jb LBB0_360 + 0x44, 0x89, 0xe0, //0x00000fcc movl %r12d, %eax + 0x83, 0xe0, 0x3f, //0x00000fcf andl $63, %eax + 0x48, 0x89, 0x45, 0xb8, //0x00000fd2 movq %rax, $-72(%rbp) + 0x4e, 0x8d, 0x44, 0x02, 0xc0, //0x00000fd6 leaq $-64(%rdx,%r8), %r8 + 0x49, 0x83, 0xe0, 0xc0, //0x00000fdb andq $-64, %r8 + 0x49, 0x01, 0xc8, //0x00000fdf addq %rcx, %r8 + 0x4c, 0x03, 0x45, 0x88, //0x00000fe2 addq $-120(%rbp), %r8 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000fe6 movq $-1, %r9 + 0x45, 0x31, 0xd2, //0x00000fed xorl %r10d, %r10d + //0x00000ff0 .p2align 4, 0x90 + //0x00000ff0 LBB0_203 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00000ff0 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00000ff5 vmovdqu $16(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x20, //0x00000ffb vmovdqu $32(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00001001 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xe9, 0x74, 0xf8, //0x00001007 vpcmpeqb %xmm0, %xmm2, %xmm7 + 0xc5, 0xf9, 0xd7, 0xff, //0x0000100b vpmovmskb %xmm7, %edi + 0xc5, 0xd9, 0x74, 0xf8, //0x0000100f vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00001013 vpmovmskb %xmm7, %ecx + 0xc5, 0xd1, 0x74, 0xf8, //0x00001017 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x0000101b vpmovmskb %xmm7, %esi + 0xc5, 0xc9, 0x74, 0xf8, //0x0000101f vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0x79, 0xd7, 0xef, //0x00001023 vpmovmskb %xmm7, %r13d + 0xc5, 0xe9, 0x74, 0xd1, //0x00001027 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000102b vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x0000102f vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001033 vpmovmskb %xmm2, %eax + 0xc5, 0xd1, 0x74, 0xd1, //0x00001037 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x0000103b vpmovmskb %xmm2, %ebx + 0xc5, 0xc9, 0x74, 0xd1, //0x0000103f vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001043 vpmovmskb %xmm2, %r14d + 0x49, 0xc1, 0xe5, 0x30, //0x00001047 shlq $48, %r13 + 0x48, 0xc1, 0xe6, 0x20, //0x0000104b shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x0000104f shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00001053 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00001056 orq %rsi, %rdi + 0x49, 0xc1, 0xe6, 0x30, //0x00001059 shlq $48, %r14 + 0x48, 0xc1, 0xe3, 0x20, //0x0000105d shlq $32, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x00001061 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00001065 orq %rax, %rdx + 0x48, 0x09, 0xda, //0x00001068 orq %rbx, %rdx + 0x4c, 0x09, 0xf2, //0x0000106b orq %r14, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x0000106e cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001072 jne LBB0_205 + 0x48, 0x85, 0xd2, //0x00001078 testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000107b jne LBB0_213 + //0x00001081 LBB0_205 + 0x4c, 0x09, 0xef, //0x00001081 orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x00001084 movq %rdx, %rax + 0x4c, 0x09, 0xd0, //0x00001087 orq %r10, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000108a jne LBB0_214 + //0x00001090 LBB0_206 + 0x48, 0x85, 0xff, //0x00001090 testq %rdi, %rdi + 0x0f, 0x85, 0xf6, 0xf4, 0xff, 0xff, //0x00001093 jne LBB0_57 + //0x00001099 LBB0_207 + 0x49, 0x83, 0xc4, 0xc0, //0x00001099 addq $-64, %r12 + 0x49, 0x83, 0xc3, 0x40, //0x0000109d addq $64, %r11 + 0x49, 0x83, 0xfc, 0x3f, //0x000010a1 cmpq $63, %r12 + 0x0f, 0x87, 0x45, 0xff, 0xff, 0xff, //0x000010a5 ja LBB0_203 + 0xe9, 0x01, 0x0b, 0x00, 0x00, //0x000010ab jmp LBB0_208 + //0x000010b0 LBB0_213 + 0x4c, 0x89, 0xd8, //0x000010b0 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000010b3 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xca, //0x000010b7 bsfq %rdx, %r9 + 0x49, 0x01, 0xc1, //0x000010bb addq %rax, %r9 + 0x4c, 0x09, 0xef, //0x000010be orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x000010c1 movq %rdx, %rax + 0x4c, 0x09, 0xd0, //0x000010c4 orq %r10, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x000010c7 je LBB0_206 + //0x000010cd LBB0_214 + 0x4c, 0x89, 0xd0, //0x000010cd movq %r10, %rax + 0x48, 0xf7, 0xd0, //0x000010d0 notq %rax + 0x48, 0x21, 0xd0, //0x000010d3 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x000010d6 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xd1, //0x000010da orq %r10, %rcx + 0x48, 0x89, 0xce, //0x000010dd movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x000010e0 notq %rsi + 0x48, 0x21, 0xd6, //0x000010e3 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000010e6 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x000010f0 andq %rdx, %rsi + 0x45, 0x31, 0xd2, //0x000010f3 xorl %r10d, %r10d + 0x48, 0x01, 0xc6, //0x000010f6 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc2, //0x000010f9 setb %r10b + 0x48, 0x01, 0xf6, //0x000010fd addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001100 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x0000110a xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x0000110d andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00001110 notq %rsi + 0x48, 0x21, 0xf7, //0x00001113 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00001116 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00001119 je LBB0_207 + 0xe9, 0x6b, 0xf4, 0xff, 0xff, //0x0000111f jmp LBB0_57 + //0x00001124 LBB0_215 + 0x48, 0x8b, 0x45, 0x90, //0x00001124 movq $-112(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x00001128 movq $8(%rax), %r10 + 0x4d, 0x29, 0xda, //0x0000112c subq %r11, %r10 + 0x0f, 0x84, 0xfa, 0x12, 0x00, 0x00, //0x0000112f je LBB0_438 + 0x4c, 0x89, 0x5d, 0xa8, //0x00001135 movq %r11, $-88(%rbp) + 0x4d, 0x01, 0xdc, //0x00001139 addq %r11, %r12 + 0x41, 0x80, 0x3c, 0x24, 0x30, //0x0000113c cmpb $48, (%r12) + 0x0f, 0x85, 0x36, 0x00, 0x00, 0x00, //0x00001141 jne LBB0_220 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001147 movl $1, %r11d + 0x49, 0x83, 0xfa, 0x01, //0x0000114d cmpq $1, %r10 + 0x0f, 0x84, 0x7c, 0x05, 0x00, 0x00, //0x00001151 je LBB0_303 + 0x41, 0x8a, 0x44, 0x24, 0x01, //0x00001157 movb $1(%r12), %al + 0x04, 0xd2, //0x0000115c addb $-46, %al + 0x3c, 0x37, //0x0000115e cmpb $55, %al + 0x0f, 0x87, 0x6d, 0x05, 0x00, 0x00, //0x00001160 ja LBB0_303 + 0x0f, 0xb6, 0xc0, //0x00001166 movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00001169 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00001173 btq %rax, %rcx + 0x0f, 0x83, 0x56, 0x05, 0x00, 0x00, //0x00001177 jae LBB0_303 + //0x0000117d LBB0_220 + 0x49, 0x83, 0xfa, 0x10, //0x0000117d cmpq $16, %r10 + 0x0f, 0x82, 0x30, 0x0d, 0x00, 0x00, //0x00001181 jb LBB0_359 + 0x4d, 0x8d, 0x4a, 0xf0, //0x00001187 leaq $-16(%r10), %r9 + 0x4c, 0x89, 0xc8, //0x0000118b movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x0000118e andq $-16, %rax + 0x4e, 0x8d, 0x44, 0x20, 0x10, //0x00001192 leaq $16(%rax,%r12), %r8 + 0x41, 0x83, 0xe1, 0x0f, //0x00001197 andl $15, %r9d + 0x48, 0xc7, 0x45, 0xb8, 0xff, 0xff, 0xff, 0xff, //0x0000119b movq $-1, $-72(%rbp) + 0x48, 0xc7, 0x45, 0xb0, 0xff, 0xff, 0xff, 0xff, //0x000011a3 movq $-1, $-80(%rbp) + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000011ab movq $-1, %r14 + 0x4d, 0x89, 0xe5, //0x000011b2 movq %r12, %r13 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000011b5 .p2align 4, 0x90 + //0x000011c0 LBB0_222 + 0xc4, 0xc1, 0x7a, 0x6f, 0x55, 0x00, //0x000011c0 vmovdqu (%r13), %xmm2 + 0xc4, 0xc1, 0x69, 0x64, 0xe0, //0x000011c6 vpcmpgtb %xmm8, %xmm2, %xmm4 + 0xc5, 0xb1, 0x64, 0xea, //0x000011cb vpcmpgtb %xmm2, %xmm9, %xmm5 + 0xc5, 0xd9, 0xdb, 0xe5, //0x000011cf vpand %xmm5, %xmm4, %xmm4 + 0xc5, 0xa9, 0x74, 0xea, //0x000011d3 vpcmpeqb %xmm2, %xmm10, %xmm5 + 0xc5, 0xa1, 0x74, 0xf2, //0x000011d7 vpcmpeqb %xmm2, %xmm11, %xmm6 + 0xc5, 0xc9, 0xeb, 0xed, //0x000011db vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0x99, 0xeb, 0xf2, //0x000011df vpor %xmm2, %xmm12, %xmm6 + 0xc5, 0x91, 0x74, 0xd2, //0x000011e3 vpcmpeqb %xmm2, %xmm13, %xmm2 + 0xc5, 0x89, 0x74, 0xf6, //0x000011e7 vpcmpeqb %xmm6, %xmm14, %xmm6 + 0xc5, 0xc9, 0xeb, 0xfa, //0x000011eb vpor %xmm2, %xmm6, %xmm7 + 0xc5, 0xd1, 0xeb, 0xe4, //0x000011ef vpor %xmm4, %xmm5, %xmm4 + 0xc5, 0xc1, 0xeb, 0xe4, //0x000011f3 vpor %xmm4, %xmm7, %xmm4 + 0xc5, 0xf9, 0xd7, 0xc2, //0x000011f7 vpmovmskb %xmm2, %eax + 0xc5, 0xf9, 0xd7, 0xde, //0x000011fb vpmovmskb %xmm6, %ebx + 0xc5, 0xf9, 0xd7, 0xd5, //0x000011ff vpmovmskb %xmm5, %edx + 0xc5, 0xf9, 0xd7, 0xcc, //0x00001203 vpmovmskb %xmm4, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001207 movl $2863311530, %esi + 0x48, 0x8d, 0xbe, 0x55, 0x55, 0x55, 0x55, //0x0000120c leaq $1431655765(%rsi), %rdi + 0x48, 0x31, 0xcf, //0x00001213 xorq %rcx, %rdi + 0x48, 0x0f, 0xbc, 0xcf, //0x00001216 bsfq %rdi, %rcx + 0x83, 0xf9, 0x10, //0x0000121a cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x0000121d je LBB0_224 + 0xbf, 0xff, 0xff, 0xff, 0xff, //0x00001223 movl $-1, %edi + 0xd3, 0xe7, //0x00001228 shll %cl, %edi + 0xf7, 0xd7, //0x0000122a notl %edi + 0x21, 0xf8, //0x0000122c andl %edi, %eax + 0x21, 0xfb, //0x0000122e andl %edi, %ebx + 0x21, 0xd7, //0x00001230 andl %edx, %edi + 0x89, 0xfa, //0x00001232 movl %edi, %edx + //0x00001234 LBB0_224 + 0x8d, 0x78, 0xff, //0x00001234 leal $-1(%rax), %edi + 0x21, 0xc7, //0x00001237 andl %eax, %edi + 0x0f, 0x85, 0x4f, 0x09, 0x00, 0x00, //0x00001239 jne LBB0_337 + 0x8d, 0x7b, 0xff, //0x0000123f leal $-1(%rbx), %edi + 0x21, 0xdf, //0x00001242 andl %ebx, %edi + 0x0f, 0x85, 0x44, 0x09, 0x00, 0x00, //0x00001244 jne LBB0_337 + 0x8d, 0x7a, 0xff, //0x0000124a leal $-1(%rdx), %edi + 0x21, 0xd7, //0x0000124d andl %edx, %edi + 0x0f, 0x85, 0x39, 0x09, 0x00, 0x00, //0x0000124f jne LBB0_337 + 0x85, 0xc0, //0x00001255 testl %eax, %eax + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00001257 je LBB0_230 + 0x4c, 0x89, 0xef, //0x0000125d movq %r13, %rdi + 0x4c, 0x29, 0xe7, //0x00001260 subq %r12, %rdi + 0x44, 0x0f, 0xbc, 0xd8, //0x00001263 bsfl %eax, %r11d + 0x49, 0x01, 0xfb, //0x00001267 addq %rdi, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x0000126a cmpq $-1, %r14 + 0x0f, 0x85, 0x24, 0x09, 0x00, 0x00, //0x0000126e jne LBB0_338 + 0x4d, 0x89, 0xde, //0x00001274 movq %r11, %r14 + //0x00001277 LBB0_230 + 0x85, 0xdb, //0x00001277 testl %ebx, %ebx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00001279 je LBB0_233 + 0x4c, 0x89, 0xe8, //0x0000127f movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x00001282 subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xdb, //0x00001285 bsfl %ebx, %r11d + 0x49, 0x01, 0xc3, //0x00001289 addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb0, 0xff, //0x0000128c cmpq $-1, $-80(%rbp) + 0x0f, 0x85, 0x01, 0x09, 0x00, 0x00, //0x00001291 jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xb0, //0x00001297 movq %r11, $-80(%rbp) + //0x0000129b LBB0_233 + 0x85, 0xd2, //0x0000129b testl %edx, %edx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x0000129d je LBB0_236 + 0x4c, 0x89, 0xe8, //0x000012a3 movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x000012a6 subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xda, //0x000012a9 bsfl %edx, %r11d + 0x49, 0x01, 0xc3, //0x000012ad addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb8, 0xff, //0x000012b0 cmpq $-1, $-72(%rbp) + 0x0f, 0x85, 0xdd, 0x08, 0x00, 0x00, //0x000012b5 jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xb8, //0x000012bb movq %r11, $-72(%rbp) + //0x000012bf LBB0_236 + 0x83, 0xf9, 0x10, //0x000012bf cmpl $16, %ecx + 0x0f, 0x85, 0x81, 0x03, 0x00, 0x00, //0x000012c2 jne LBB0_291 + 0x49, 0x83, 0xc5, 0x10, //0x000012c8 addq $16, %r13 + 0x49, 0x83, 0xc2, 0xf0, //0x000012cc addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x0f, //0x000012d0 cmpq $15, %r10 + 0x0f, 0x87, 0xe6, 0xfe, 0xff, 0xff, //0x000012d4 ja LBB0_222 + 0x4d, 0x85, 0xc9, //0x000012da testq %r9, %r9 + 0x48, 0x8d, 0x35, 0xf8, 0x14, 0x00, 0x00, //0x000012dd leaq $5368(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0x48, 0x8b, 0x7d, 0xb0, //0x000012e4 movq $-80(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb8, //0x000012e8 movq $-72(%rbp), %rbx + 0x0f, 0x84, 0x65, 0x03, 0x00, 0x00, //0x000012ec je LBB0_292 + //0x000012f2 LBB0_239 + 0x4b, 0x8d, 0x0c, 0x08, //0x000012f2 leaq (%r8,%r9), %rcx + 0xe9, 0x01, 0x01, 0x00, 0x00, //0x000012f6 jmp LBB0_262 + //0x000012fb LBB0_240 + 0x49, 0x8b, 0x01, //0x000012fb movq (%r9), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000012fe cmpq $4095, %rax + 0x0f, 0x8f, 0x53, 0x10, 0x00, 0x00, //0x00001304 jg LBB0_441 + 0x48, 0x8d, 0x48, 0x01, //0x0000130a leaq $1(%rax), %rcx + 0x49, 0x89, 0x09, //0x0000130e movq %rcx, (%r9) + 0x49, 0xc7, 0x44, 0xc1, 0x08, 0x05, 0x00, 0x00, 0x00, //0x00001311 movq $5, $8(%r9,%rax,8) + 0xe9, 0x91, 0xee, 0xff, 0xff, //0x0000131a jmp LBB0_2 + //0x0000131f LBB0_242 + 0x48, 0x8b, 0x4d, 0x90, //0x0000131f movq $-112(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001323 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfc, //0x00001327 leaq $-4(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x0000132b cmpq %rdx, %r15 + 0x0f, 0x83, 0x97, 0x10, 0x00, 0x00, //0x0000132e jae LBB0_440 + 0x43, 0x8b, 0x0c, 0x1c, //0x00001334 movl (%r12,%r11), %ecx + 0x81, 0xf9, 0x61, 0x6c, 0x73, 0x65, //0x00001338 cmpl $1702063201, %ecx + 0x0f, 0x85, 0xfa, 0x10, 0x00, 0x00, //0x0000133e jne LBB0_442 + 0x4c, 0x89, 0xd9, //0x00001344 movq %r11, %rcx + 0x4d, 0x8d, 0x5f, 0x05, //0x00001347 leaq $5(%r15), %r11 + 0xe9, 0x50, 0x00, 0x00, 0x00, //0x0000134b jmp LBB0_254 + //0x00001350 LBB0_245 + 0x48, 0x8b, 0x4d, 0x90, //0x00001350 movq $-112(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001354 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x00001358 leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x0000135c cmpq %rdx, %r15 + 0x0f, 0x83, 0x66, 0x10, 0x00, 0x00, //0x0000135f jae LBB0_440 + 0x41, 0x81, 0x3a, 0x6e, 0x75, 0x6c, 0x6c, //0x00001365 cmpl $1819047278, (%r10) + 0x0f, 0x84, 0x27, 0x00, 0x00, 0x00, //0x0000136c je LBB0_253 + 0xe9, 0x1c, 0x11, 0x00, 0x00, //0x00001372 jmp LBB0_247 + //0x00001377 LBB0_251 + 0x48, 0x8b, 0x4d, 0x90, //0x00001377 movq $-112(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x0000137b movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x0000137f leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001383 cmpq %rdx, %r15 + 0x0f, 0x83, 0x3f, 0x10, 0x00, 0x00, //0x00001386 jae LBB0_440 + 0x41, 0x81, 0x3a, 0x74, 0x72, 0x75, 0x65, //0x0000138c cmpl $1702195828, (%r10) + 0x0f, 0x85, 0x4c, 0x11, 0x00, 0x00, //0x00001393 jne LBB0_447 + //0x00001399 LBB0_253 + 0x4c, 0x89, 0xd9, //0x00001399 movq %r11, %rcx + 0x4d, 0x8d, 0x5f, 0x04, //0x0000139c leaq $4(%r15), %r11 + //0x000013a0 LBB0_254 + 0x4c, 0x89, 0x1e, //0x000013a0 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x000013a3 movq %r15, %rax + 0x48, 0x85, 0xc9, //0x000013a6 testq %rcx, %rcx + 0x0f, 0x8f, 0x01, 0xee, 0xff, 0xff, //0x000013a9 jg LBB0_2 + 0xe9, 0xee, 0x0f, 0x00, 0x00, //0x000013af jmp LBB0_423 + //0x000013b4 LBB0_255 + 0x49, 0x8b, 0x01, //0x000013b4 movq (%r9), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000013b7 cmpq $4095, %rax + 0x0f, 0x8f, 0x9a, 0x0f, 0x00, 0x00, //0x000013bd jg LBB0_441 + 0x48, 0x8d, 0x48, 0x01, //0x000013c3 leaq $1(%rax), %rcx + 0x49, 0x89, 0x09, //0x000013c7 movq %rcx, (%r9) + 0x49, 0xc7, 0x44, 0xc1, 0x08, 0x06, 0x00, 0x00, 0x00, //0x000013ca movq $6, $8(%r9,%rax,8) + 0xe9, 0xd8, 0xed, 0xff, 0xff, //0x000013d3 jmp LBB0_2 + //0x000013d8 LBB0_259 + 0x49, 0x89, 0xc3, //0x000013d8 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x000013db subq %r12, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x000013de cmpq $-1, %r14 + 0x0f, 0x85, 0x95, 0x0a, 0x00, 0x00, //0x000013e2 jne LBB0_356 + 0x49, 0xff, 0xcb, //0x000013e8 decq %r11 + 0x4d, 0x89, 0xde, //0x000013eb movq %r11, %r14 + 0x90, 0x90, //0x000013ee .p2align 4, 0x90 + //0x000013f0 LBB0_261 + 0x49, 0x89, 0xc0, //0x000013f0 movq %rax, %r8 + 0x49, 0xff, 0xc9, //0x000013f3 decq %r9 + 0x0f, 0x84, 0x03, 0x0a, 0x00, 0x00, //0x000013f6 je LBB0_341 + //0x000013fc LBB0_262 + 0x41, 0x0f, 0xbe, 0x10, //0x000013fc movsbl (%r8), %edx + 0x83, 0xc2, 0xd5, //0x00001400 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x00001403 cmpl $58, %edx + 0x0f, 0x87, 0x4b, 0x02, 0x00, 0x00, //0x00001406 ja LBB0_292 + 0x49, 0x8d, 0x40, 0x01, //0x0000140c leaq $1(%r8), %rax + 0x48, 0x63, 0x14, 0x96, //0x00001410 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00001414 addq %rsi, %rdx + 0xff, 0xe2, //0x00001417 jmpq *%rdx + //0x00001419 LBB0_264 + 0x49, 0x89, 0xc3, //0x00001419 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x0000141c subq %r12, %r11 + 0x48, 0x83, 0xfb, 0xff, //0x0000141f cmpq $-1, %rbx + 0x0f, 0x85, 0x54, 0x0a, 0x00, 0x00, //0x00001423 jne LBB0_356 + 0x49, 0xff, 0xcb, //0x00001429 decq %r11 + 0x4c, 0x89, 0xdb, //0x0000142c movq %r11, %rbx + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000142f jmp LBB0_261 + //0x00001434 LBB0_266 + 0x49, 0x89, 0xc3, //0x00001434 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x00001437 subq %r12, %r11 + 0x48, 0x83, 0xff, 0xff, //0x0000143a cmpq $-1, %rdi + 0x0f, 0x85, 0x39, 0x0a, 0x00, 0x00, //0x0000143e jne LBB0_356 + 0x49, 0xff, 0xcb, //0x00001444 decq %r11 + 0x4c, 0x89, 0xdf, //0x00001447 movq %r11, %rdi + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000144a jmp LBB0_261 + //0x0000144f LBB0_268 + 0x48, 0x89, 0xd0, //0x0000144f movq %rdx, %rax + 0x4c, 0x29, 0xd8, //0x00001452 subq %r11, %rax + 0x0f, 0x84, 0xf6, 0x10, 0x00, 0x00, //0x00001455 je LBB0_456 + 0x4c, 0x89, 0xd9, //0x0000145b movq %r11, %rcx + 0x4d, 0x01, 0xe3, //0x0000145e addq %r12, %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00001461 cmpq $64, %rax + 0x0f, 0x82, 0x8c, 0x0a, 0x00, 0x00, //0x00001465 jb LBB0_361 + 0x41, 0x89, 0xc2, //0x0000146b movl %eax, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x0000146e andl $63, %r10d + 0x4e, 0x8d, 0x64, 0x02, 0xc0, //0x00001472 leaq $-64(%rdx,%r8), %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00001477 andq $-64, %r12 + 0x49, 0x01, 0xcc, //0x0000147b addq %rcx, %r12 + 0x4c, 0x03, 0x65, 0x88, //0x0000147e addq $-120(%rbp), %r12 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001482 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001489 xorl %r8d, %r8d + 0x90, 0x90, 0x90, 0x90, //0x0000148c .p2align 4, 0x90 + //0x00001490 LBB0_271 + 0xc4, 0xc1, 0x7a, 0x6f, 0x33, //0x00001490 vmovdqu (%r11), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x00001495 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x20, //0x0000149b vmovdqu $32(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x30, //0x000014a1 vmovdqu $48(%r11), %xmm7 + 0xc5, 0xc9, 0x74, 0xd0, //0x000014a7 vpcmpeqb %xmm0, %xmm6, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x000014ab vpmovmskb %xmm2, %esi + 0xc5, 0xd1, 0x74, 0xd0, //0x000014af vpcmpeqb %xmm0, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x000014b3 vpmovmskb %xmm2, %ebx + 0xc5, 0xd9, 0x74, 0xd0, //0x000014b7 vpcmpeqb %xmm0, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x000014bb vpmovmskb %xmm2, %ecx + 0xc5, 0xc1, 0x74, 0xd0, //0x000014bf vpcmpeqb %xmm0, %xmm7, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000014c3 vpmovmskb %xmm2, %edi + 0xc5, 0xc9, 0x74, 0xd1, //0x000014c7 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xea, //0x000014cb vpmovmskb %xmm2, %r13d + 0xc5, 0xd1, 0x74, 0xd1, //0x000014cf vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x000014d3 vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x000014d7 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x000014db shlq $16, %rbx + 0x48, 0x09, 0xde, //0x000014df orq %rbx, %rsi + 0xc5, 0xf9, 0xd7, 0xda, //0x000014e2 vpmovmskb %xmm2, %ebx + 0xc5, 0xc1, 0x74, 0xd1, //0x000014e6 vpcmpeqb %xmm1, %xmm7, %xmm2 + 0x48, 0xc1, 0xe1, 0x20, //0x000014ea shlq $32, %rcx + 0x48, 0x09, 0xce, //0x000014ee orq %rcx, %rsi + 0xc5, 0xf9, 0xd7, 0xca, //0x000014f1 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd6, //0x000014f5 vpcmpgtb %xmm6, %xmm15, %xmm2 + 0xc5, 0xc9, 0x64, 0xf3, //0x000014f9 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xd2, //0x000014fd vpand %xmm2, %xmm6, %xmm2 + 0x48, 0xc1, 0xe2, 0x10, //0x00001501 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x00001505 orq %rdx, %r13 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00001508 vpmovmskb %xmm2, %edx + 0xc5, 0x81, 0x64, 0xd5, //0x0000150c vpcmpgtb %xmm5, %xmm15, %xmm2 + 0xc5, 0xd1, 0x64, 0xeb, //0x00001510 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xd2, //0x00001514 vpand %xmm2, %xmm5, %xmm2 + 0x48, 0xc1, 0xe3, 0x20, //0x00001518 shlq $32, %rbx + 0x49, 0x09, 0xdd, //0x0000151c orq %rbx, %r13 + 0xc5, 0xf9, 0xd7, 0xda, //0x0000151f vpmovmskb %xmm2, %ebx + 0xc5, 0x81, 0x64, 0xd4, //0x00001523 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00001527 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x0000152b vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe1, 0x30, //0x0000152f shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00001533 orq %rcx, %r13 + 0xc5, 0xf9, 0xd7, 0xca, //0x00001536 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd7, //0x0000153a vpcmpgtb %xmm7, %xmm15, %xmm2 + 0xc5, 0xc1, 0x64, 0xe3, //0x0000153e vpcmpgtb %xmm3, %xmm7, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001542 vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x00001546 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x0000154a orq %rbx, %rdx + 0xc5, 0x79, 0xd7, 0xf2, //0x0000154d vpmovmskb %xmm2, %r14d + 0x48, 0xc1, 0xe7, 0x30, //0x00001551 shlq $48, %rdi + 0x48, 0xc1, 0xe1, 0x20, //0x00001555 shlq $32, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001559 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000155d jne LBB0_273 + 0x4d, 0x85, 0xed, //0x00001563 testq %r13, %r13 + 0x0f, 0x85, 0xa4, 0x00, 0x00, 0x00, //0x00001566 jne LBB0_287 + //0x0000156c LBB0_273 + 0x49, 0xc1, 0xe6, 0x30, //0x0000156c shlq $48, %r14 + 0x48, 0x09, 0xca, //0x00001570 orq %rcx, %rdx + 0x48, 0x09, 0xfe, //0x00001573 orq %rdi, %rsi + 0x4c, 0x89, 0xe9, //0x00001576 movq %r13, %rcx + 0x4c, 0x09, 0xc1, //0x00001579 orq %r8, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x0000157c jne LBB0_288 + 0x4c, 0x09, 0xf2, //0x00001582 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00001585 testq %rsi, %rsi + 0x0f, 0x85, 0x95, 0x00, 0x00, 0x00, //0x00001588 jne LBB0_289 + //0x0000158e LBB0_275 + 0x48, 0x85, 0xd2, //0x0000158e testq %rdx, %rdx + 0x0f, 0x85, 0xa7, 0x0f, 0x00, 0x00, //0x00001591 jne LBB0_452 + 0x48, 0x83, 0xc0, 0xc0, //0x00001597 addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x0000159b addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x0000159f cmpq $63, %rax + 0x0f, 0x87, 0xe7, 0xfe, 0xff, 0xff, //0x000015a3 ja LBB0_271 + 0xe9, 0xf0, 0x06, 0x00, 0x00, //0x000015a9 jmp LBB0_277 + //0x000015ae LBB0_288 + 0x4c, 0x89, 0xc1, //0x000015ae movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x000015b1 notq %rcx + 0x4c, 0x21, 0xe9, //0x000015b4 andq %r13, %rcx + 0x4c, 0x89, 0x55, 0xb8, //0x000015b7 movq %r10, $-72(%rbp) + 0x4c, 0x8d, 0x14, 0x09, //0x000015bb leaq (%rcx,%rcx), %r10 + 0x4d, 0x09, 0xc2, //0x000015bf orq %r8, %r10 + 0x4c, 0x89, 0xd7, //0x000015c2 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x000015c5 notq %rdi + 0x4c, 0x21, 0xef, //0x000015c8 andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000015cb movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x000015d5 andq %rbx, %rdi + 0x45, 0x31, 0xc0, //0x000015d8 xorl %r8d, %r8d + 0x48, 0x01, 0xcf, //0x000015db addq %rcx, %rdi + 0x41, 0x0f, 0x92, 0xc0, //0x000015de setb %r8b + 0x48, 0x01, 0xff, //0x000015e2 addq %rdi, %rdi + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000015e5 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcf, //0x000015ef xorq %rcx, %rdi + 0x4c, 0x21, 0xd7, //0x000015f2 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xb8, //0x000015f5 movq $-72(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x000015f9 notq %rdi + 0x48, 0x21, 0xfe, //0x000015fc andq %rdi, %rsi + 0x4c, 0x09, 0xf2, //0x000015ff orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00001602 testq %rsi, %rsi + 0x0f, 0x84, 0x83, 0xff, 0xff, 0xff, //0x00001605 je LBB0_275 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x0000160b jmp LBB0_289 + //0x00001610 LBB0_287 + 0x4c, 0x89, 0xdb, //0x00001610 movq %r11, %rbx + 0x48, 0x2b, 0x5d, 0xd0, //0x00001613 subq $-48(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xcd, //0x00001617 bsfq %r13, %r9 + 0x49, 0x01, 0xd9, //0x0000161b addq %rbx, %r9 + 0xe9, 0x49, 0xff, 0xff, 0xff, //0x0000161e jmp LBB0_273 + //0x00001623 LBB0_289 + 0x48, 0x0f, 0xbc, 0xc6, //0x00001623 bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00001627 testq %rdx, %rdx + 0x4c, 0x8b, 0x65, 0xd0, //0x0000162a movq $-48(%rbp), %r12 + 0x0f, 0x84, 0xbe, 0x00, 0x00, 0x00, //0x0000162e je LBB0_304 + 0x48, 0x0f, 0xbc, 0xca, //0x00001634 bsfq %rdx, %rcx + 0x4d, 0x29, 0xe3, //0x00001638 subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x0000163b cmpq %rax, %rcx + 0x0f, 0x83, 0x94, 0xf8, 0xff, 0xff, //0x0000163e jae LBB0_186 + 0xe9, 0x11, 0x0f, 0x00, 0x00, //0x00001644 jmp LBB0_306 + //0x00001649 LBB0_291 + 0x49, 0x01, 0xcd, //0x00001649 addq %rcx, %r13 + 0x4d, 0x89, 0xe8, //0x0000164c movq %r13, %r8 + 0x48, 0x8b, 0x7d, 0xb0, //0x0000164f movq $-80(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb8, //0x00001653 movq $-72(%rbp), %rbx + //0x00001657 LBB0_292 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001657 movq $-1, %r11 + 0x48, 0x85, 0xff, //0x0000165e testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001661 movq $-56(%rbp), %rsi + 0x0f, 0x84, 0xcb, 0x0d, 0x00, 0x00, //0x00001665 je LBB0_439 + //0x0000166b LBB0_293 + 0x48, 0x85, 0xdb, //0x0000166b testq %rbx, %rbx + 0x0f, 0x84, 0xc2, 0x0d, 0x00, 0x00, //0x0000166e je LBB0_439 + 0x4d, 0x85, 0xf6, //0x00001674 testq %r14, %r14 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001677 movq $-64(%rbp), %r9 + 0x0f, 0x84, 0xb5, 0x0d, 0x00, 0x00, //0x0000167b je LBB0_439 + 0x4d, 0x29, 0xe0, //0x00001681 subq %r12, %r8 + 0x49, 0x8d, 0x40, 0xff, //0x00001684 leaq $-1(%r8), %rax + 0x48, 0x39, 0xc7, //0x00001688 cmpq %rax, %rdi + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x0000168b je LBB0_301 + 0x49, 0x39, 0xc6, //0x00001691 cmpq %rax, %r14 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x00001694 je LBB0_301 + 0x48, 0x39, 0xc3, //0x0000169a cmpq %rax, %rbx + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x0000169d je LBB0_301 + 0x48, 0x85, 0xdb, //0x000016a3 testq %rbx, %rbx + 0x0f, 0x8e, 0x6e, 0x00, 0x00, 0x00, //0x000016a6 jle LBB0_309 + 0x48, 0x8d, 0x43, 0xff, //0x000016ac leaq $-1(%rbx), %rax + 0x48, 0x39, 0xc7, //0x000016b0 cmpq %rax, %rdi + 0x0f, 0x84, 0x61, 0x00, 0x00, 0x00, //0x000016b3 je LBB0_309 + 0x48, 0xf7, 0xd3, //0x000016b9 notq %rbx + 0x49, 0x89, 0xdb, //0x000016bc movq %rbx, %r11 + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x000016bf jmp LBB0_302 + //0x000016c4 LBB0_301 + 0x49, 0xf7, 0xd8, //0x000016c4 negq %r8 + 0x4d, 0x89, 0xc3, //0x000016c7 movq %r8, %r11 + //0x000016ca LBB0_302 + 0x4d, 0x85, 0xdb, //0x000016ca testq %r11, %r11 + 0x0f, 0x88, 0x63, 0x0d, 0x00, 0x00, //0x000016cd js LBB0_439 + //0x000016d3 LBB0_303 + 0x48, 0x8b, 0x4d, 0xa8, //0x000016d3 movq $-88(%rbp), %rcx + 0x49, 0x01, 0xcb, //0x000016d7 addq %rcx, %r11 + 0x4c, 0x89, 0x1e, //0x000016da movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x000016dd movq %r15, %rax + 0x48, 0x85, 0xc9, //0x000016e0 testq %rcx, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x000016e3 movq $-48(%rbp), %r12 + 0x0f, 0x8f, 0xc3, 0xea, 0xff, 0xff, //0x000016e7 jg LBB0_2 + 0xe9, 0xb0, 0x0c, 0x00, 0x00, //0x000016ed jmp LBB0_423 + //0x000016f2 LBB0_304 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000016f2 movl $64, %ecx + 0x4d, 0x29, 0xe3, //0x000016f7 subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x000016fa cmpq %rax, %rcx + 0x0f, 0x83, 0xd5, 0xf7, 0xff, 0xff, //0x000016fd jae LBB0_186 + 0xe9, 0x52, 0x0e, 0x00, 0x00, //0x00001703 jmp LBB0_306 + //0x00001708 LBB0_308 + 0x4d, 0x29, 0xd6, //0x00001708 subq %r10, %r14 + 0x44, 0x0f, 0xbc, 0xde, //0x0000170b bsfl %esi, %r11d + 0x4d, 0x01, 0xf3, //0x0000170f addq %r14, %r11 + 0x49, 0xf7, 0xd3, //0x00001712 notq %r11 + 0xe9, 0xa6, 0x03, 0x00, 0x00, //0x00001715 jmp LBB0_326 + //0x0000171a LBB0_309 + 0x4c, 0x89, 0xf0, //0x0000171a movq %r14, %rax + 0x48, 0x09, 0xf8, //0x0000171d orq %rdi, %rax + 0x49, 0x39, 0xfe, //0x00001720 cmpq %rdi, %r14 + 0x0f, 0x8c, 0x66, 0x01, 0x00, 0x00, //0x00001723 jl LBB0_312 + 0x48, 0x85, 0xc0, //0x00001729 testq %rax, %rax + 0x0f, 0x88, 0x5d, 0x01, 0x00, 0x00, //0x0000172c js LBB0_312 + 0x49, 0xf7, 0xd6, //0x00001732 notq %r14 + 0x4d, 0x89, 0xf3, //0x00001735 movq %r14, %r11 + 0xe9, 0x8d, 0xff, 0xff, 0xff, //0x00001738 jmp LBB0_302 + //0x0000173d LBB0_49 + 0x4c, 0x8b, 0x5d, 0xb8, //0x0000173d movq $-72(%rbp), %r11 + 0x4d, 0x89, 0xd5, //0x00001741 movq %r10, %r13 + 0x49, 0x83, 0xfd, 0x20, //0x00001744 cmpq $32, %r13 + 0x0f, 0x82, 0x66, 0x08, 0x00, 0x00, //0x00001748 jb LBB0_366 + //0x0000174e LBB0_50 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x0000174e vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001753 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001759 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x0000175d vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001761 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00001765 vpmovmskb %xmm5, %edx + 0xc5, 0xe9, 0x74, 0xd1, //0x00001769 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x0000176d vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x00001771 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001775 vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001779 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x0000177d shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001781 orq %rax, %rdi + 0x49, 0x83, 0xf9, 0xff, //0x00001784 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001788 jne LBB0_52 + 0x48, 0x85, 0xff, //0x0000178e testq %rdi, %rdi + 0x0f, 0x85, 0xbc, 0x07, 0x00, 0x00, //0x00001791 jne LBB0_363 + //0x00001797 LBB0_52 + 0x48, 0x09, 0xca, //0x00001797 orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x0000179a movq %rdi, %rax + 0x4c, 0x09, 0xe0, //0x0000179d orq %r12, %rax + 0x0f, 0x85, 0xca, 0x07, 0x00, 0x00, //0x000017a0 jne LBB0_364 + //0x000017a6 LBB0_53 + 0x48, 0x85, 0xd2, //0x000017a6 testq %rdx, %rdx + 0x0f, 0x84, 0xfd, 0x07, 0x00, 0x00, //0x000017a9 je LBB0_365 + //0x000017af LBB0_54 + 0x48, 0x0f, 0xbc, 0xc2, //0x000017af bsfq %rdx, %rax + 0xe9, 0xdb, 0xed, 0xff, 0xff, //0x000017b3 jmp LBB0_58 + //0x000017b8 LBB0_113 + 0x4d, 0x89, 0xd3, //0x000017b8 movq %r10, %r11 + 0x48, 0x8b, 0x45, 0xb8, //0x000017bb movq $-72(%rbp), %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x000017bf movq $-48(%rbp), %r12 + 0x48, 0x83, 0xf8, 0x20, //0x000017c3 cmpq $32, %rax + 0x0f, 0x82, 0x66, 0x02, 0x00, 0x00, //0x000017c7 jb LBB0_317 + //0x000017cd LBB0_114 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x000017cd vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x000017d2 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x000017d8 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x000017dc vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x000017e0 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x000017e4 vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xe9, //0x000017e8 vpcmpeqb %xmm1, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x000017ec vpmovmskb %xmm5, %edx + 0xc5, 0xd9, 0x74, 0xe9, //0x000017f0 vpcmpeqb %xmm1, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xdd, //0x000017f4 vpmovmskb %xmm5, %ebx + 0xc5, 0x81, 0x64, 0xea, //0x000017f8 vpcmpgtb %xmm2, %xmm15, %xmm5 + 0xc5, 0xe9, 0x64, 0xd3, //0x000017fc vpcmpgtb %xmm3, %xmm2, %xmm2 + 0xc5, 0xe9, 0xdb, 0xd5, //0x00001800 vpand %xmm5, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001804 vpmovmskb %xmm2, %r14d + 0xc5, 0x81, 0x64, 0xd4, //0x00001808 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x0000180c vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001810 vpand %xmm2, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001814 vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe6, 0x10, //0x00001818 shlq $16, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x0000181c shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00001820 orq %rbx, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x00001823 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001827 jne LBB0_116 + 0x48, 0x85, 0xd2, //0x0000182d testq %rdx, %rdx + 0x0f, 0x85, 0xf8, 0x07, 0x00, 0x00, //0x00001830 jne LBB0_373 + //0x00001836 LBB0_116 + 0x48, 0xc1, 0xe7, 0x10, //0x00001836 shlq $16, %rdi + 0x48, 0x09, 0xce, //0x0000183a orq %rcx, %rsi + 0x48, 0x89, 0xd1, //0x0000183d movq %rdx, %rcx + 0x4c, 0x09, 0xc1, //0x00001840 orq %r8, %rcx + 0x0f, 0x85, 0xcb, 0x06, 0x00, 0x00, //0x00001843 jne LBB0_362 + //0x00001849 LBB0_117 + 0x4c, 0x09, 0xf7, //0x00001849 orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x0000184c movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001851 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001856 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001859 je LBB0_119 + 0x48, 0x0f, 0xbc, 0xd6, //0x0000185f bsfq %rsi, %rdx + //0x00001863 LBB0_119 + 0x48, 0x85, 0xff, //0x00001863 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001866 je LBB0_121 + 0x48, 0x0f, 0xbc, 0xcf, //0x0000186c bsfq %rdi, %rcx + //0x00001870 LBB0_121 + 0x48, 0x85, 0xf6, //0x00001870 testq %rsi, %rsi + 0x0f, 0x84, 0xa9, 0x01, 0x00, 0x00, //0x00001873 je LBB0_315 + //0x00001879 LBB0_122 + 0x4d, 0x29, 0xe3, //0x00001879 subq %r12, %r11 + 0x48, 0x39, 0xd1, //0x0000187c cmpq %rdx, %rcx + 0x0f, 0x82, 0xd5, 0x0c, 0x00, 0x00, //0x0000187f jb LBB0_306 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001885 leaq $1(%r11,%rdx), %r11 + 0xe9, 0x4e, 0xf6, 0xff, 0xff, //0x0000188a jmp LBB0_187 + //0x0000188f LBB0_312 + 0x48, 0x85, 0xc0, //0x0000188f testq %rax, %rax + 0x48, 0x8d, 0x47, 0xff, //0x00001892 leaq $-1(%rdi), %rax + 0x48, 0xf7, 0xd7, //0x00001896 notq %rdi + 0x49, 0x0f, 0x48, 0xf8, //0x00001899 cmovsq %r8, %rdi + 0x49, 0x39, 0xc6, //0x0000189d cmpq %rax, %r14 + 0x49, 0x0f, 0x45, 0xf8, //0x000018a0 cmovneq %r8, %rdi + 0x49, 0x89, 0xfb, //0x000018a4 movq %rdi, %r11 + 0xe9, 0x1e, 0xfe, 0xff, 0xff, //0x000018a7 jmp LBB0_302 + //0x000018ac LBB0_313 + 0x48, 0xf7, 0xd0, //0x000018ac notq %rax + 0x49, 0x89, 0xc3, //0x000018af movq %rax, %r11 + 0xe9, 0x09, 0x02, 0x00, 0x00, //0x000018b2 jmp LBB0_326 + //0x000018b7 LBB0_314 + 0x48, 0x89, 0x4d, 0xa8, //0x000018b7 movq %rcx, $-88(%rbp) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000018bb movq $-1, %rax + 0x4d, 0x85, 0xed, //0x000018c2 testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x000018c5 movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x86, 0xf3, 0xff, 0xff, //0x000018c9 jne LBB0_151 + 0xe9, 0xbe, 0x0a, 0x00, 0x00, //0x000018cf jmp LBB0_420 + //0x000018d4 LBB0_134 + 0x4c, 0x8b, 0x5d, 0xb8, //0x000018d4 movq $-72(%rbp), %r11 + 0x4d, 0x89, 0xd5, //0x000018d8 movq %r10, %r13 + 0x49, 0x83, 0xfd, 0x20, //0x000018db cmpq $32, %r13 + 0x0f, 0x82, 0x57, 0x08, 0x00, 0x00, //0x000018df jb LBB0_382 + //0x000018e5 LBB0_135 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x000018e5 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x000018ea vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x000018f0 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x000018f4 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x000018f8 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x000018fc vpmovmskb %xmm5, %edx + 0xc5, 0xe9, 0x74, 0xd1, //0x00001900 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001904 vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x00001908 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x0000190c vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001910 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001914 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001918 orq %rax, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x0000191b cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000191f jne LBB0_137 + 0x48, 0x85, 0xff, //0x00001925 testq %rdi, %rdi + 0x0f, 0x85, 0xad, 0x07, 0x00, 0x00, //0x00001928 jne LBB0_379 + //0x0000192e LBB0_137 + 0x48, 0x09, 0xca, //0x0000192e orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00001931 movq %rdi, %rax + 0x4c, 0x09, 0xc8, //0x00001934 orq %r9, %rax + 0x0f, 0x85, 0xbb, 0x07, 0x00, 0x00, //0x00001937 jne LBB0_380 + //0x0000193d LBB0_138 + 0x48, 0x85, 0xd2, //0x0000193d testq %rdx, %rdx + 0x0f, 0x84, 0xee, 0x07, 0x00, 0x00, //0x00001940 je LBB0_381 + //0x00001946 LBB0_139 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001946 bsfq %rdx, %rax + 0xe9, 0x94, 0xf2, 0xff, 0xff, //0x0000194a jmp LBB0_143 + //0x0000194f LBB0_170 + 0x4d, 0x89, 0xc3, //0x0000194f movq %r8, %r11 + 0x4c, 0x89, 0xd0, //0x00001952 movq %r10, %rax + 0x48, 0x83, 0xf8, 0x20, //0x00001955 cmpq $32, %rax + 0x0f, 0x82, 0x7b, 0x01, 0x00, 0x00, //0x00001959 jb LBB0_329 + //0x0000195f LBB0_171 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x0000195f vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001964 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x0000196a vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0x79, 0xd7, 0xc5, //0x0000196e vpmovmskb %xmm5, %r8d + 0xc5, 0xd9, 0x74, 0xe8, //0x00001972 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x00001976 vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xe9, //0x0000197a vpcmpeqb %xmm1, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x0000197e vpmovmskb %xmm5, %edx + 0xc5, 0xd9, 0x74, 0xe9, //0x00001982 vpcmpeqb %xmm1, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001986 vpmovmskb %xmm5, %ecx + 0xc5, 0x81, 0x64, 0xea, //0x0000198a vpcmpgtb %xmm2, %xmm15, %xmm5 + 0xc5, 0xe9, 0x64, 0xd3, //0x0000198e vpcmpgtb %xmm3, %xmm2, %xmm2 + 0xc5, 0xe9, 0xdb, 0xd5, //0x00001992 vpand %xmm5, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001996 vpmovmskb %xmm2, %r14d + 0xc5, 0x81, 0x64, 0xd4, //0x0000199a vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x0000199e vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x000019a2 vpand %xmm2, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000019a6 vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe6, 0x10, //0x000019aa shlq $16, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x000019ae shlq $16, %rcx + 0x48, 0x09, 0xca, //0x000019b2 orq %rcx, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x000019b5 cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000019b9 jne LBB0_173 + 0x48, 0x85, 0xd2, //0x000019bf testq %rdx, %rdx + 0x0f, 0x85, 0x02, 0x08, 0x00, 0x00, //0x000019c2 jne LBB0_390 + //0x000019c8 LBB0_173 + 0x48, 0xc1, 0xe7, 0x10, //0x000019c8 shlq $16, %rdi + 0x4c, 0x09, 0xc6, //0x000019cc orq %r8, %rsi + 0x48, 0x89, 0xd1, //0x000019cf movq %rdx, %rcx + 0x4c, 0x09, 0xc9, //0x000019d2 orq %r9, %rcx + 0x0f, 0x85, 0x65, 0x06, 0x00, 0x00, //0x000019d5 jne LBB0_374 + //0x000019db LBB0_174 + 0x4c, 0x09, 0xf7, //0x000019db orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000019de movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x000019e3 movl $64, %edx + 0x48, 0x85, 0xf6, //0x000019e8 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x000019eb je LBB0_176 + 0x48, 0x0f, 0xbc, 0xd6, //0x000019f1 bsfq %rsi, %rdx + //0x000019f5 LBB0_176 + 0x48, 0x85, 0xff, //0x000019f5 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x000019f8 je LBB0_178 + 0x48, 0x0f, 0xbc, 0xcf, //0x000019fe bsfq %rdi, %rcx + //0x00001a02 LBB0_178 + 0x48, 0x85, 0xf6, //0x00001a02 testq %rsi, %rsi + 0x0f, 0x84, 0xbe, 0x00, 0x00, 0x00, //0x00001a05 je LBB0_327 + 0x4c, 0x2b, 0x5d, 0xd0, //0x00001a0b subq $-48(%rbp), %r11 + 0x48, 0x39, 0xd1, //0x00001a0f cmpq %rdx, %rcx + 0x0f, 0x82, 0x83, 0x0b, 0x00, 0x00, //0x00001a12 jb LBB0_458 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001a18 leaq $1(%r11,%rdx), %r11 + 0xe9, 0xc8, 0xf1, 0xff, 0xff, //0x00001a1d jmp LBB0_144 + //0x00001a22 LBB0_315 + 0x48, 0x85, 0xff, //0x00001a22 testq %rdi, %rdi + 0x0f, 0x85, 0x5c, 0x0b, 0x00, 0x00, //0x00001a25 jne LBB0_457 + 0x49, 0x83, 0xc3, 0x20, //0x00001a2b addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001a2f addq $-32, %rax + //0x00001a33 LBB0_317 + 0x4d, 0x85, 0xc0, //0x00001a33 testq %r8, %r8 + 0x0f, 0x85, 0x6f, 0x06, 0x00, 0x00, //0x00001a36 jne LBB0_377 + 0x48, 0x85, 0xc0, //0x00001a3c testq %rax, %rax + 0x0f, 0x84, 0x2e, 0x09, 0x00, 0x00, //0x00001a3f je LBB0_416 + //0x00001a45 LBB0_319 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001a45 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001a49 cmpb $34, %cl + 0x0f, 0x84, 0xa4, 0x03, 0x00, 0x00, //0x00001a4c je LBB0_355 + 0x80, 0xf9, 0x5c, //0x00001a52 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001a55 je LBB0_323 + 0x80, 0xf9, 0x1f, //0x00001a5b cmpb $31, %cl + 0x0f, 0x86, 0x2f, 0x0b, 0x00, 0x00, //0x00001a5e jbe LBB0_461 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001a64 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001a6b movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001a70 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001a73 addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001a76 jne LBB0_319 + 0xe9, 0xf2, 0x08, 0x00, 0x00, //0x00001a7c jmp LBB0_416 + //0x00001a81 LBB0_323 + 0x48, 0x83, 0xf8, 0x01, //0x00001a81 cmpq $1, %rax + 0x0f, 0x84, 0xe8, 0x08, 0x00, 0x00, //0x00001a85 je LBB0_416 + 0x4c, 0x89, 0xd9, //0x00001a8b movq %r11, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001a8e movq $-48(%rbp), %r12 + 0x4c, 0x29, 0xe1, //0x00001a92 subq %r12, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001a95 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001a99 cmoveq %rcx, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001a9d movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001aa4 movl $2, %edx + 0x49, 0x01, 0xd3, //0x00001aa9 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001aac addq %rcx, %rax + 0x0f, 0x85, 0x90, 0xff, 0xff, 0xff, //0x00001aaf jne LBB0_319 + 0xe9, 0xb9, 0x08, 0x00, 0x00, //0x00001ab5 jmp LBB0_416 + //0x00001aba LBB0_325 + 0x48, 0xf7, 0xd6, //0x00001aba notq %rsi + 0x49, 0x89, 0xf3, //0x00001abd movq %rsi, %r11 + //0x00001ac0 LBB0_326 + 0x48, 0x8b, 0x75, 0xc8, //0x00001ac0 movq $-56(%rbp), %rsi + 0xe9, 0xff, 0xf1, 0xff, 0xff, //0x00001ac4 jmp LBB0_160 + //0x00001ac9 LBB0_327 + 0x48, 0x85, 0xff, //0x00001ac9 testq %rdi, %rdi + 0x0f, 0x85, 0xdb, 0x0a, 0x00, 0x00, //0x00001acc jne LBB0_459 + 0x49, 0x83, 0xc3, 0x20, //0x00001ad2 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001ad6 addq $-32, %rax + //0x00001ada LBB0_329 + 0x4d, 0x85, 0xc9, //0x00001ada testq %r9, %r9 + 0x0f, 0x85, 0x2e, 0x07, 0x00, 0x00, //0x00001add jne LBB0_393 + 0x48, 0x8b, 0x75, 0xc8, //0x00001ae3 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001ae7 movq $-64(%rbp), %r9 + 0x48, 0x85, 0xc0, //0x00001aeb testq %rax, %rax + 0x0f, 0x84, 0xc7, 0x08, 0x00, 0x00, //0x00001aee je LBB0_425 + //0x00001af4 LBB0_331 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001af4 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001af8 cmpb $34, %cl + 0x0f, 0x84, 0xa7, 0x00, 0x00, 0x00, //0x00001afb je LBB0_340 + 0x80, 0xf9, 0x5c, //0x00001b01 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001b04 je LBB0_335 + 0x80, 0xf9, 0x1f, //0x00001b0a cmpb $31, %cl + 0x0f, 0x86, 0xa3, 0x0a, 0x00, 0x00, //0x00001b0d jbe LBB0_460 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001b13 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001b1a movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001b1f addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001b22 addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001b25 jne LBB0_331 + 0xe9, 0x8b, 0x08, 0x00, 0x00, //0x00001b2b jmp LBB0_425 + //0x00001b30 LBB0_335 + 0x48, 0x83, 0xf8, 0x01, //0x00001b30 cmpq $1, %rax + 0x0f, 0x84, 0x8f, 0x0a, 0x00, 0x00, //0x00001b34 je LBB0_462 + 0x4c, 0x89, 0xd9, //0x00001b3a movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x00001b3d subq $-48(%rbp), %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00001b41 cmpq $-1, %r12 + 0x4c, 0x0f, 0x44, 0xe1, //0x00001b45 cmoveq %rcx, %r12 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001b49 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001b50 movl $2, %edx + 0x48, 0x8b, 0x75, 0xc8, //0x00001b55 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001b59 movq $-64(%rbp), %r9 + 0x49, 0x01, 0xd3, //0x00001b5d addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001b60 addq %rcx, %rax + 0x0f, 0x85, 0x8b, 0xff, 0xff, 0xff, //0x00001b63 jne LBB0_331 + 0xe9, 0x4d, 0x08, 0x00, 0x00, //0x00001b69 jmp LBB0_425 + //0x00001b6e LBB0_418 + 0x48, 0xf7, 0xda, //0x00001b6e negq %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x00001b71 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x65, 0xd0, //0x00001b75 movq $-48(%rbp), %r12 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001b79 movq $-64(%rbp), %r9 + 0x49, 0x89, 0xd3, //0x00001b7d movq %rdx, %r11 + 0x4d, 0x85, 0xdb, //0x00001b80 testq %r11, %r11 + 0x0f, 0x89, 0x0b, 0xe6, 0xff, 0xff, //0x00001b83 jns LBB0_258 + 0xe9, 0x01, 0x08, 0x00, 0x00, //0x00001b89 jmp LBB0_419 + //0x00001b8e LBB0_337 + 0x4d, 0x29, 0xe5, //0x00001b8e subq %r12, %r13 + 0x44, 0x0f, 0xbc, 0xdf, //0x00001b91 bsfl %edi, %r11d + 0x4d, 0x01, 0xeb, //0x00001b95 addq %r13, %r11 + //0x00001b98 LBB0_338 + 0x49, 0xf7, 0xd3, //0x00001b98 notq %r11 + //0x00001b9b LBB0_339 + 0x48, 0x8b, 0x75, 0xc8, //0x00001b9b movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001b9f movq $-64(%rbp), %r9 + 0xe9, 0x22, 0xfb, 0xff, 0xff, //0x00001ba3 jmp LBB0_302 + //0x00001ba8 LBB0_340 + 0x4c, 0x03, 0x5d, 0x98, //0x00001ba8 addq $-104(%rbp), %r11 + 0xe9, 0x9f, 0xf3, 0xff, 0xff, //0x00001bac jmp LBB0_195 + //0x00001bb1 LBB0_208 + 0x4d, 0x89, 0xc3, //0x00001bb1 movq %r8, %r11 + 0x4c, 0x8b, 0x65, 0xb8, //0x00001bb4 movq $-72(%rbp), %r12 + 0x49, 0x83, 0xfc, 0x20, //0x00001bb8 cmpq $32, %r12 + 0x0f, 0x82, 0x69, 0x00, 0x00, 0x00, //0x00001bbc jb LBB0_399 + //0x00001bc2 LBB0_209 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00001bc2 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001bc7 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001bcd vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001bd1 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001bd5 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00001bd9 vpmovmskb %xmm5, %edx + 0xc5, 0xe9, 0x74, 0xd1, //0x00001bdd vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001be1 vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x00001be5 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001be9 vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001bed shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001bf1 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001bf5 orq %rax, %rdi + 0x49, 0x83, 0xf9, 0xff, //0x00001bf8 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001bfc jne LBB0_211 + 0x48, 0x85, 0xff, //0x00001c02 testq %rdi, %rdi + 0x0f, 0x85, 0x75, 0x06, 0x00, 0x00, //0x00001c05 jne LBB0_396 + //0x00001c0b LBB0_211 + 0x48, 0x09, 0xca, //0x00001c0b orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00001c0e movq %rdi, %rax + 0x4c, 0x09, 0xd0, //0x00001c11 orq %r10, %rax + 0x0f, 0x85, 0x83, 0x06, 0x00, 0x00, //0x00001c14 jne LBB0_397 + //0x00001c1a LBB0_212 + 0x48, 0x85, 0xd2, //0x00001c1a testq %rdx, %rdx + 0x0f, 0x85, 0x8c, 0xfb, 0xff, 0xff, //0x00001c1d jne LBB0_54 + //0x00001c23 LBB0_398 + 0x49, 0x83, 0xc3, 0x20, //0x00001c23 addq $32, %r11 + 0x49, 0x83, 0xc4, 0xe0, //0x00001c27 addq $-32, %r12 + //0x00001c2b LBB0_399 + 0x4d, 0x85, 0xd2, //0x00001c2b testq %r10, %r10 + 0x0f, 0x85, 0xbe, 0x06, 0x00, 0x00, //0x00001c2e jne LBB0_411 + 0x4d, 0x85, 0xe4, //0x00001c34 testq %r12, %r12 + 0x0f, 0x84, 0x36, 0x07, 0x00, 0x00, //0x00001c37 je LBB0_416 + //0x00001c3d LBB0_401 + 0x49, 0x8d, 0x4b, 0x01, //0x00001c3d leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x00001c41 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x00001c45 cmpb $34, %bl + 0x0f, 0x84, 0x20, 0x02, 0x00, 0x00, //0x00001c48 je LBB0_406 + 0x49, 0x8d, 0x54, 0x24, 0xff, //0x00001c4e leaq $-1(%r12), %rdx + 0x80, 0xfb, 0x5c, //0x00001c53 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001c56 je LBB0_404 + 0x49, 0x89, 0xd4, //0x00001c5c movq %rdx, %r12 + 0x49, 0x89, 0xcb, //0x00001c5f movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x00001c62 testq %rdx, %rdx + 0x0f, 0x85, 0xd2, 0xff, 0xff, 0xff, //0x00001c65 jne LBB0_401 + 0xe9, 0x03, 0x07, 0x00, 0x00, //0x00001c6b jmp LBB0_416 + //0x00001c70 LBB0_404 + 0x48, 0x85, 0xd2, //0x00001c70 testq %rdx, %rdx + 0x0f, 0x84, 0xfa, 0x06, 0x00, 0x00, //0x00001c73 je LBB0_416 + 0x48, 0x03, 0x4d, 0xa0, //0x00001c79 addq $-96(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001c7d cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001c81 cmoveq %rcx, %r9 + 0x49, 0x83, 0xc3, 0x02, //0x00001c85 addq $2, %r11 + 0x49, 0x83, 0xc4, 0xfe, //0x00001c89 addq $-2, %r12 + 0x4c, 0x89, 0xe2, //0x00001c8d movq %r12, %rdx + 0x48, 0x85, 0xd2, //0x00001c90 testq %rdx, %rdx + 0x0f, 0x85, 0xa4, 0xff, 0xff, 0xff, //0x00001c93 jne LBB0_401 + 0xe9, 0xd5, 0x06, 0x00, 0x00, //0x00001c99 jmp LBB0_416 + //0x00001c9e LBB0_277 + 0x4d, 0x89, 0xe3, //0x00001c9e movq %r12, %r11 + 0x4c, 0x89, 0xd0, //0x00001ca1 movq %r10, %rax + 0x48, 0x83, 0xf8, 0x20, //0x00001ca4 cmpq $32, %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x00001ca8 movq $-48(%rbp), %r12 + 0x0f, 0x82, 0xbd, 0x00, 0x00, 0x00, //0x00001cac jb LBB0_345 + //0x00001cb2 LBB0_278 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00001cb2 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001cb7 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001cbd vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001cc1 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001cc5 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x00001cc9 vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xe9, //0x00001ccd vpcmpeqb %xmm1, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00001cd1 vpmovmskb %xmm5, %edx + 0xc5, 0xd9, 0x74, 0xe9, //0x00001cd5 vpcmpeqb %xmm1, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xdd, //0x00001cd9 vpmovmskb %xmm5, %ebx + 0xc5, 0x81, 0x64, 0xea, //0x00001cdd vpcmpgtb %xmm2, %xmm15, %xmm5 + 0xc5, 0xe9, 0x64, 0xd3, //0x00001ce1 vpcmpgtb %xmm3, %xmm2, %xmm2 + 0xc5, 0xe9, 0xdb, 0xd5, //0x00001ce5 vpand %xmm5, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001ce9 vpmovmskb %xmm2, %r14d + 0xc5, 0x81, 0x64, 0xd4, //0x00001ced vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00001cf1 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001cf5 vpand %xmm2, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001cf9 vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe6, 0x10, //0x00001cfd shlq $16, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x00001d01 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00001d05 orq %rbx, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x00001d08 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001d0c jne LBB0_280 + 0x48, 0x85, 0xd2, //0x00001d12 testq %rdx, %rdx + 0x0f, 0x85, 0xc5, 0x05, 0x00, 0x00, //0x00001d15 jne LBB0_408 + //0x00001d1b LBB0_280 + 0x48, 0xc1, 0xe7, 0x10, //0x00001d1b shlq $16, %rdi + 0x48, 0x09, 0xce, //0x00001d1f orq %rcx, %rsi + 0x48, 0x89, 0xd1, //0x00001d22 movq %rdx, %rcx + 0x4c, 0x09, 0xc1, //0x00001d25 orq %r8, %rcx + 0x0f, 0x85, 0x17, 0x05, 0x00, 0x00, //0x00001d28 jne LBB0_395 + //0x00001d2e LBB0_281 + 0x4c, 0x09, 0xf7, //0x00001d2e orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001d31 movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001d36 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001d3b testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001d3e je LBB0_283 + 0x48, 0x0f, 0xbc, 0xd6, //0x00001d44 bsfq %rsi, %rdx + //0x00001d48 LBB0_283 + 0x48, 0x85, 0xff, //0x00001d48 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001d4b je LBB0_285 + 0x48, 0x0f, 0xbc, 0xcf, //0x00001d51 bsfq %rdi, %rcx + //0x00001d55 LBB0_285 + 0x48, 0x85, 0xf6, //0x00001d55 testq %rsi, %rsi + 0x0f, 0x85, 0x1b, 0xfb, 0xff, 0xff, //0x00001d58 jne LBB0_122 + 0x48, 0x85, 0xff, //0x00001d5e testq %rdi, %rdi + 0x0f, 0x85, 0x20, 0x08, 0x00, 0x00, //0x00001d61 jne LBB0_457 + 0x49, 0x83, 0xc3, 0x20, //0x00001d67 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001d6b addq $-32, %rax + //0x00001d6f LBB0_345 + 0x4d, 0x85, 0xc0, //0x00001d6f testq %r8, %r8 + 0x0f, 0x85, 0xa6, 0x05, 0x00, 0x00, //0x00001d72 jne LBB0_409 + 0x48, 0x85, 0xc0, //0x00001d78 testq %rax, %rax + 0x0f, 0x84, 0xf2, 0x05, 0x00, 0x00, //0x00001d7b je LBB0_416 + //0x00001d81 LBB0_347 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001d81 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001d85 cmpb $34, %cl + 0x0f, 0x84, 0x68, 0x00, 0x00, 0x00, //0x00001d88 je LBB0_355 + 0x80, 0xf9, 0x5c, //0x00001d8e cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001d91 je LBB0_351 + 0x80, 0xf9, 0x1f, //0x00001d97 cmpb $31, %cl + 0x0f, 0x86, 0xf3, 0x07, 0x00, 0x00, //0x00001d9a jbe LBB0_461 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001da0 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001da7 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001dac addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001daf addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001db2 jne LBB0_347 + 0xe9, 0xb6, 0x05, 0x00, 0x00, //0x00001db8 jmp LBB0_416 + //0x00001dbd LBB0_351 + 0x48, 0x83, 0xf8, 0x01, //0x00001dbd cmpq $1, %rax + 0x0f, 0x84, 0xac, 0x05, 0x00, 0x00, //0x00001dc1 je LBB0_416 + 0x4c, 0x89, 0xd9, //0x00001dc7 movq %r11, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001dca movq $-48(%rbp), %r12 + 0x4c, 0x29, 0xe1, //0x00001dce subq %r12, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001dd1 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001dd5 cmoveq %rcx, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001dd9 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001de0 movl $2, %edx + 0x49, 0x01, 0xd3, //0x00001de5 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001de8 addq %rcx, %rax + 0x0f, 0x85, 0x90, 0xff, 0xff, 0xff, //0x00001deb jne LBB0_347 + 0xe9, 0x7d, 0x05, 0x00, 0x00, //0x00001df1 jmp LBB0_416 + //0x00001df6 LBB0_355 + 0x4c, 0x03, 0x5d, 0x98, //0x00001df6 addq $-104(%rbp), %r11 + 0xe9, 0xde, 0xf0, 0xff, 0xff, //0x00001dfa jmp LBB0_187 + //0x00001dff LBB0_341 + 0x49, 0x89, 0xc8, //0x00001dff movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001e02 movq $-1, %r11 + 0x48, 0x85, 0xff, //0x00001e09 testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001e0c movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x55, 0xf8, 0xff, 0xff, //0x00001e10 jne LBB0_293 + 0xe9, 0x1b, 0x06, 0x00, 0x00, //0x00001e16 jmp LBB0_439 + //0x00001e1b LBB0_342 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001e1b movq $-1, %r11 + 0x4c, 0x89, 0x55, 0xa8, //0x00001e22 movq %r10, $-88(%rbp) + 0x49, 0x89, 0xf9, //0x00001e26 movq %rdi, %r9 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00001e29 movq $-1, %r13 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001e30 movq $-1, %r12 + 0xe9, 0x54, 0xe9, 0xff, 0xff, //0x00001e37 jmp LBB0_90 + //0x00001e3c LBB0_353 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001e3c movq $-1, %r9 + 0x45, 0x31, 0xe4, //0x00001e43 xorl %r12d, %r12d + 0x49, 0x83, 0xfd, 0x20, //0x00001e46 cmpq $32, %r13 + 0x0f, 0x83, 0xfe, 0xf8, 0xff, 0xff, //0x00001e4a jae LBB0_50 + 0xe9, 0x5f, 0x01, 0x00, 0x00, //0x00001e50 jmp LBB0_366 + //0x00001e55 LBB0_354 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001e55 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001e5c xorl %r8d, %r8d + 0x48, 0x83, 0xf8, 0x20, //0x00001e5f cmpq $32, %rax + 0x0f, 0x83, 0x64, 0xf9, 0xff, 0xff, //0x00001e63 jae LBB0_114 + 0xe9, 0xc5, 0xfb, 0xff, 0xff, //0x00001e69 jmp LBB0_317 + //0x00001e6e LBB0_406 + 0x4c, 0x8b, 0x65, 0xd0, //0x00001e6e movq $-48(%rbp), %r12 + //0x00001e72 LBB0_407 + 0x4c, 0x29, 0xe1, //0x00001e72 subq %r12, %rcx + 0x49, 0x89, 0xcb, //0x00001e75 movq %rcx, %r11 + 0xe9, 0x60, 0xf0, 0xff, 0xff, //0x00001e78 jmp LBB0_187 + //0x00001e7d LBB0_356 + 0x49, 0xf7, 0xdb, //0x00001e7d negq %r11 + 0xe9, 0x16, 0xfd, 0xff, 0xff, //0x00001e80 jmp LBB0_339 + //0x00001e85 LBB0_357 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001e85 movq $-1, %r12 + 0x45, 0x31, 0xc9, //0x00001e8c xorl %r9d, %r9d + 0x49, 0x83, 0xfd, 0x20, //0x00001e8f cmpq $32, %r13 + 0x0f, 0x83, 0x4c, 0xfa, 0xff, 0xff, //0x00001e93 jae LBB0_135 + 0xe9, 0x9e, 0x02, 0x00, 0x00, //0x00001e99 jmp LBB0_382 + //0x00001e9e LBB0_358 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001e9e movq $-1, %r12 + 0x45, 0x31, 0xc9, //0x00001ea5 xorl %r9d, %r9d + 0x48, 0x83, 0xf8, 0x20, //0x00001ea8 cmpq $32, %rax + 0x0f, 0x83, 0xad, 0xfa, 0xff, 0xff, //0x00001eac jae LBB0_171 + 0xe9, 0x23, 0xfc, 0xff, 0xff, //0x00001eb2 jmp LBB0_329 + //0x00001eb7 LBB0_359 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001eb7 movq $-1, %r14 + 0x4d, 0x89, 0xe0, //0x00001ebe movq %r12, %r8 + 0x4d, 0x89, 0xd1, //0x00001ec1 movq %r10, %r9 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00001ec4 movq $-1, %rdi + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001ecb movq $-1, %rbx + 0x48, 0x8d, 0x35, 0x03, 0x09, 0x00, 0x00, //0x00001ed2 leaq $2307(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0xe9, 0x14, 0xf4, 0xff, 0xff, //0x00001ed9 jmp LBB0_239 + //0x00001ede LBB0_360 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001ede movq $-1, %r9 + 0x45, 0x31, 0xd2, //0x00001ee5 xorl %r10d, %r10d + 0x49, 0x83, 0xfc, 0x20, //0x00001ee8 cmpq $32, %r12 + 0x0f, 0x83, 0xd0, 0xfc, 0xff, 0xff, //0x00001eec jae LBB0_209 + 0xe9, 0x34, 0xfd, 0xff, 0xff, //0x00001ef2 jmp LBB0_399 + //0x00001ef7 LBB0_361 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001ef7 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001efe xorl %r8d, %r8d + 0x48, 0x83, 0xf8, 0x20, //0x00001f01 cmpq $32, %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x00001f05 movq $-48(%rbp), %r12 + 0x0f, 0x83, 0xa3, 0xfd, 0xff, 0xff, //0x00001f09 jae LBB0_278 + 0xe9, 0x5b, 0xfe, 0xff, 0xff, //0x00001f0f jmp LBB0_345 + //0x00001f14 LBB0_362 + 0x44, 0x89, 0xc1, //0x00001f14 movl %r8d, %ecx + 0xf7, 0xd1, //0x00001f17 notl %ecx + 0x21, 0xd1, //0x00001f19 andl %edx, %ecx + 0x44, 0x8d, 0x24, 0x09, //0x00001f1b leal (%rcx,%rcx), %r12d + 0x45, 0x09, 0xc4, //0x00001f1f orl %r8d, %r12d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f22 movl $2863311530, %ebx + 0x44, 0x31, 0xe3, //0x00001f27 xorl %r12d, %ebx + 0x21, 0xd3, //0x00001f2a andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f2c andl $-1431655766, %ebx + 0x45, 0x31, 0xc0, //0x00001f32 xorl %r8d, %r8d + 0x01, 0xcb, //0x00001f35 addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc0, //0x00001f37 setb %r8b + 0x01, 0xdb, //0x00001f3b addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x00001f3d xorl $1431655765, %ebx + 0x44, 0x21, 0xe3, //0x00001f43 andl %r12d, %ebx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001f46 movq $-48(%rbp), %r12 + 0xf7, 0xd3, //0x00001f4a notl %ebx + 0x21, 0xde, //0x00001f4c andl %ebx, %esi + 0xe9, 0xf6, 0xf8, 0xff, 0xff, //0x00001f4e jmp LBB0_117 + //0x00001f53 LBB0_363 + 0x4c, 0x89, 0xd8, //0x00001f53 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00001f56 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xcf, //0x00001f5a bsfq %rdi, %r9 + 0x49, 0x01, 0xc1, //0x00001f5e addq %rax, %r9 + 0x48, 0x09, 0xca, //0x00001f61 orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00001f64 movq %rdi, %rax + 0x4c, 0x09, 0xe0, //0x00001f67 orq %r12, %rax + 0x0f, 0x84, 0x36, 0xf8, 0xff, 0xff, //0x00001f6a je LBB0_53 + //0x00001f70 LBB0_364 + 0x44, 0x89, 0xe0, //0x00001f70 movl %r12d, %eax + 0xf7, 0xd0, //0x00001f73 notl %eax + 0x21, 0xf8, //0x00001f75 andl %edi, %eax + 0x8d, 0x0c, 0x00, //0x00001f77 leal (%rax,%rax), %ecx + 0x44, 0x09, 0xe1, //0x00001f7a orl %r12d, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f7d movl $2863311530, %esi + 0x31, 0xce, //0x00001f82 xorl %ecx, %esi + 0x21, 0xfe, //0x00001f84 andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f86 andl $-1431655766, %esi + 0x45, 0x31, 0xe4, //0x00001f8c xorl %r12d, %r12d + 0x01, 0xc6, //0x00001f8f addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc4, //0x00001f91 setb %r12b + 0x01, 0xf6, //0x00001f95 addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x00001f97 xorl $1431655765, %esi + 0x21, 0xce, //0x00001f9d andl %ecx, %esi + 0xf7, 0xd6, //0x00001f9f notl %esi + 0x21, 0xf2, //0x00001fa1 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x00001fa3 testq %rdx, %rdx + 0x0f, 0x85, 0x03, 0xf8, 0xff, 0xff, //0x00001fa6 jne LBB0_54 + //0x00001fac LBB0_365 + 0x49, 0x83, 0xc3, 0x20, //0x00001fac addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x00001fb0 addq $-32, %r13 + //0x00001fb4 LBB0_366 + 0x4d, 0x85, 0xe4, //0x00001fb4 testq %r12, %r12 + 0x0f, 0x85, 0xbe, 0x00, 0x00, 0x00, //0x00001fb7 jne LBB0_375 + 0x4c, 0x8b, 0x65, 0xd0, //0x00001fbd movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xed, //0x00001fc1 testq %r13, %r13 + 0x0f, 0x84, 0xa9, 0x03, 0x00, 0x00, //0x00001fc4 je LBB0_416 + //0x00001fca LBB0_368 + 0x49, 0x8d, 0x4b, 0x01, //0x00001fca leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x00001fce movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x00001fd2 cmpb $34, %bl + 0x0f, 0x84, 0x97, 0xfe, 0xff, 0xff, //0x00001fd5 je LBB0_407 + 0x49, 0x8d, 0x55, 0xff, //0x00001fdb leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x00001fdf cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001fe2 je LBB0_371 + 0x49, 0x89, 0xd5, //0x00001fe8 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x00001feb movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x00001fee testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x00001ff1 jne LBB0_368 + 0xe9, 0x77, 0x03, 0x00, 0x00, //0x00001ff7 jmp LBB0_416 + //0x00001ffc LBB0_371 + 0x48, 0x85, 0xd2, //0x00001ffc testq %rdx, %rdx + 0x0f, 0x84, 0x6e, 0x03, 0x00, 0x00, //0x00001fff je LBB0_416 + 0x48, 0x03, 0x4d, 0xa0, //0x00002005 addq $-96(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00002009 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x0000200d cmoveq %rcx, %r9 + 0x49, 0x83, 0xc3, 0x02, //0x00002011 addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x00002015 addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x00002019 movq %r13, %rdx + 0x4c, 0x8b, 0x65, 0xd0, //0x0000201c movq $-48(%rbp), %r12 + 0x48, 0x85, 0xd2, //0x00002020 testq %rdx, %rdx + 0x0f, 0x85, 0xa1, 0xff, 0xff, 0xff, //0x00002023 jne LBB0_368 + 0xe9, 0x45, 0x03, 0x00, 0x00, //0x00002029 jmp LBB0_416 + //0x0000202e LBB0_373 + 0x4c, 0x89, 0xdb, //0x0000202e movq %r11, %rbx + 0x4c, 0x29, 0xe3, //0x00002031 subq %r12, %rbx + 0x4c, 0x0f, 0xbc, 0xca, //0x00002034 bsfq %rdx, %r9 + 0x49, 0x01, 0xd9, //0x00002038 addq %rbx, %r9 + 0xe9, 0xf6, 0xf7, 0xff, 0xff, //0x0000203b jmp LBB0_116 + //0x00002040 LBB0_374 + 0x44, 0x89, 0xc9, //0x00002040 movl %r9d, %ecx + 0xf7, 0xd1, //0x00002043 notl %ecx + 0x21, 0xd1, //0x00002045 andl %edx, %ecx + 0x44, 0x8d, 0x04, 0x09, //0x00002047 leal (%rcx,%rcx), %r8d + 0x45, 0x09, 0xc8, //0x0000204b orl %r9d, %r8d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000204e movl $2863311530, %ebx + 0x44, 0x31, 0xc3, //0x00002053 xorl %r8d, %ebx + 0x21, 0xd3, //0x00002056 andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002058 andl $-1431655766, %ebx + 0x45, 0x31, 0xc9, //0x0000205e xorl %r9d, %r9d + 0x01, 0xcb, //0x00002061 addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc1, //0x00002063 setb %r9b + 0x01, 0xdb, //0x00002067 addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x00002069 xorl $1431655765, %ebx + 0x44, 0x21, 0xc3, //0x0000206f andl %r8d, %ebx + 0xf7, 0xd3, //0x00002072 notl %ebx + 0x21, 0xde, //0x00002074 andl %ebx, %esi + 0xe9, 0x60, 0xf9, 0xff, 0xff, //0x00002076 jmp LBB0_174 + //0x0000207b LBB0_375 + 0x4d, 0x85, 0xed, //0x0000207b testq %r13, %r13 + 0x0f, 0x84, 0xef, 0x02, 0x00, 0x00, //0x0000207e je LBB0_416 + 0x48, 0x8b, 0x45, 0xa0, //0x00002084 movq $-96(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x00002088 addq %r11, %rax + 0x49, 0x83, 0xf9, 0xff, //0x0000208b cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc8, //0x0000208f cmoveq %rax, %r9 + 0x49, 0xff, 0xc3, //0x00002093 incq %r11 + 0x49, 0xff, 0xcd, //0x00002096 decq %r13 + 0x4c, 0x8b, 0x65, 0xd0, //0x00002099 movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xed, //0x0000209d testq %r13, %r13 + 0x0f, 0x85, 0x24, 0xff, 0xff, 0xff, //0x000020a0 jne LBB0_368 + 0xe9, 0xc8, 0x02, 0x00, 0x00, //0x000020a6 jmp LBB0_416 + //0x000020ab LBB0_377 + 0x48, 0x85, 0xc0, //0x000020ab testq %rax, %rax + 0x0f, 0x84, 0xbf, 0x02, 0x00, 0x00, //0x000020ae je LBB0_416 + 0x48, 0x8b, 0x4d, 0xa0, //0x000020b4 movq $-96(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x000020b8 addq %r11, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x000020bb cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x000020bf cmoveq %rcx, %r9 + 0x49, 0xff, 0xc3, //0x000020c3 incq %r11 + 0x48, 0xff, 0xc8, //0x000020c6 decq %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x000020c9 movq $-48(%rbp), %r12 + 0x48, 0x85, 0xc0, //0x000020cd testq %rax, %rax + 0x0f, 0x85, 0x6f, 0xf9, 0xff, 0xff, //0x000020d0 jne LBB0_319 + 0xe9, 0x98, 0x02, 0x00, 0x00, //0x000020d6 jmp LBB0_416 + //0x000020db LBB0_379 + 0x4c, 0x89, 0xd8, //0x000020db movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000020de subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xe7, //0x000020e2 bsfq %rdi, %r12 + 0x49, 0x01, 0xc4, //0x000020e6 addq %rax, %r12 + 0x48, 0x09, 0xca, //0x000020e9 orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x000020ec movq %rdi, %rax + 0x4c, 0x09, 0xc8, //0x000020ef orq %r9, %rax + 0x0f, 0x84, 0x45, 0xf8, 0xff, 0xff, //0x000020f2 je LBB0_138 + //0x000020f8 LBB0_380 + 0x44, 0x89, 0xc8, //0x000020f8 movl %r9d, %eax + 0xf7, 0xd0, //0x000020fb notl %eax + 0x21, 0xf8, //0x000020fd andl %edi, %eax + 0x8d, 0x0c, 0x00, //0x000020ff leal (%rax,%rax), %ecx + 0x44, 0x09, 0xc9, //0x00002102 orl %r9d, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002105 movl $2863311530, %esi + 0x31, 0xce, //0x0000210a xorl %ecx, %esi + 0x21, 0xfe, //0x0000210c andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000210e andl $-1431655766, %esi + 0x45, 0x31, 0xc9, //0x00002114 xorl %r9d, %r9d + 0x01, 0xc6, //0x00002117 addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc1, //0x00002119 setb %r9b + 0x01, 0xf6, //0x0000211d addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x0000211f xorl $1431655765, %esi + 0x21, 0xce, //0x00002125 andl %ecx, %esi + 0xf7, 0xd6, //0x00002127 notl %esi + 0x21, 0xf2, //0x00002129 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x0000212b testq %rdx, %rdx + 0x0f, 0x85, 0x12, 0xf8, 0xff, 0xff, //0x0000212e jne LBB0_139 + //0x00002134 LBB0_381 + 0x49, 0x83, 0xc3, 0x20, //0x00002134 addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x00002138 addq $-32, %r13 + //0x0000213c LBB0_382 + 0x4d, 0x85, 0xc9, //0x0000213c testq %r9, %r9 + 0x0f, 0x85, 0x98, 0x00, 0x00, 0x00, //0x0000213f jne LBB0_391 + 0x48, 0x8b, 0x75, 0xc8, //0x00002145 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00002149 movq $-64(%rbp), %r9 + 0x4d, 0x85, 0xed, //0x0000214d testq %r13, %r13 + 0x0f, 0x84, 0x65, 0x02, 0x00, 0x00, //0x00002150 je LBB0_425 + //0x00002156 LBB0_384 + 0x49, 0x8d, 0x4b, 0x01, //0x00002156 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x0000215a movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x0000215e cmpb $34, %bl + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x00002161 je LBB0_389 + 0x49, 0x8d, 0x55, 0xff, //0x00002167 leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x0000216b cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000216e je LBB0_387 + 0x49, 0x89, 0xd5, //0x00002174 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x00002177 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x0000217a testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x0000217d jne LBB0_384 + 0xe9, 0x33, 0x02, 0x00, 0x00, //0x00002183 jmp LBB0_425 + //0x00002188 LBB0_387 + 0x48, 0x85, 0xd2, //0x00002188 testq %rdx, %rdx + 0x0f, 0x84, 0x38, 0x04, 0x00, 0x00, //0x0000218b je LBB0_462 + 0x48, 0x03, 0x4d, 0xa0, //0x00002191 addq $-96(%rbp), %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00002195 cmpq $-1, %r12 + 0x4c, 0x0f, 0x44, 0xe1, //0x00002199 cmoveq %rcx, %r12 + 0x49, 0x83, 0xc3, 0x02, //0x0000219d addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x000021a1 addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x000021a5 movq %r13, %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x000021a8 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x000021ac movq $-64(%rbp), %r9 + 0x48, 0x85, 0xd2, //0x000021b0 testq %rdx, %rdx + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x000021b3 jne LBB0_384 + 0xe9, 0xfd, 0x01, 0x00, 0x00, //0x000021b9 jmp LBB0_425 + //0x000021be LBB0_389 + 0x48, 0x2b, 0x4d, 0xd0, //0x000021be subq $-48(%rbp), %rcx + 0x49, 0x89, 0xcb, //0x000021c2 movq %rcx, %r11 + 0xe9, 0x86, 0xed, 0xff, 0xff, //0x000021c5 jmp LBB0_195 + //0x000021ca LBB0_390 + 0x4c, 0x89, 0xd9, //0x000021ca movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x000021cd subq $-48(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xe2, //0x000021d1 bsfq %rdx, %r12 + 0x49, 0x01, 0xcc, //0x000021d5 addq %rcx, %r12 + 0xe9, 0xeb, 0xf7, 0xff, 0xff, //0x000021d8 jmp LBB0_173 + //0x000021dd LBB0_391 + 0x4d, 0x85, 0xed, //0x000021dd testq %r13, %r13 + 0x0f, 0x84, 0xe3, 0x03, 0x00, 0x00, //0x000021e0 je LBB0_462 + 0x48, 0x8b, 0x45, 0xa0, //0x000021e6 movq $-96(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000021ea addq %r11, %rax + 0x49, 0x83, 0xfc, 0xff, //0x000021ed cmpq $-1, %r12 + 0x4c, 0x0f, 0x44, 0xe0, //0x000021f1 cmoveq %rax, %r12 + 0x49, 0xff, 0xc3, //0x000021f5 incq %r11 + 0x49, 0xff, 0xcd, //0x000021f8 decq %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x000021fb movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x000021ff movq $-64(%rbp), %r9 + 0x4d, 0x85, 0xed, //0x00002203 testq %r13, %r13 + 0x0f, 0x85, 0x4a, 0xff, 0xff, 0xff, //0x00002206 jne LBB0_384 + 0xe9, 0xaa, 0x01, 0x00, 0x00, //0x0000220c jmp LBB0_425 + //0x00002211 LBB0_393 + 0x48, 0x85, 0xc0, //0x00002211 testq %rax, %rax + 0x0f, 0x84, 0xaf, 0x03, 0x00, 0x00, //0x00002214 je LBB0_462 + 0x48, 0x8b, 0x4d, 0xa0, //0x0000221a movq $-96(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x0000221e addq %r11, %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00002221 cmpq $-1, %r12 + 0x4c, 0x0f, 0x44, 0xe1, //0x00002225 cmoveq %rcx, %r12 + 0x49, 0xff, 0xc3, //0x00002229 incq %r11 + 0x48, 0xff, 0xc8, //0x0000222c decq %rax + 0x48, 0x8b, 0x75, 0xc8, //0x0000222f movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00002233 movq $-64(%rbp), %r9 + 0x48, 0x85, 0xc0, //0x00002237 testq %rax, %rax + 0x0f, 0x85, 0xb4, 0xf8, 0xff, 0xff, //0x0000223a jne LBB0_331 + 0xe9, 0x76, 0x01, 0x00, 0x00, //0x00002240 jmp LBB0_425 + //0x00002245 LBB0_395 + 0x44, 0x89, 0xc1, //0x00002245 movl %r8d, %ecx + 0xf7, 0xd1, //0x00002248 notl %ecx + 0x21, 0xd1, //0x0000224a andl %edx, %ecx + 0x44, 0x8d, 0x14, 0x09, //0x0000224c leal (%rcx,%rcx), %r10d + 0x45, 0x09, 0xc2, //0x00002250 orl %r8d, %r10d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002253 movl $2863311530, %ebx + 0x44, 0x31, 0xd3, //0x00002258 xorl %r10d, %ebx + 0x21, 0xd3, //0x0000225b andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000225d andl $-1431655766, %ebx + 0x45, 0x31, 0xc0, //0x00002263 xorl %r8d, %r8d + 0x01, 0xcb, //0x00002266 addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc0, //0x00002268 setb %r8b + 0x01, 0xdb, //0x0000226c addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x0000226e xorl $1431655765, %ebx + 0x44, 0x21, 0xd3, //0x00002274 andl %r10d, %ebx + 0xf7, 0xd3, //0x00002277 notl %ebx + 0x21, 0xde, //0x00002279 andl %ebx, %esi + 0xe9, 0xae, 0xfa, 0xff, 0xff, //0x0000227b jmp LBB0_281 + //0x00002280 LBB0_396 + 0x4c, 0x89, 0xd8, //0x00002280 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00002283 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xcf, //0x00002287 bsfq %rdi, %r9 + 0x49, 0x01, 0xc1, //0x0000228b addq %rax, %r9 + 0x48, 0x09, 0xca, //0x0000228e orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00002291 movq %rdi, %rax + 0x4c, 0x09, 0xd0, //0x00002294 orq %r10, %rax + 0x0f, 0x84, 0x7d, 0xf9, 0xff, 0xff, //0x00002297 je LBB0_212 + //0x0000229d LBB0_397 + 0x44, 0x89, 0xd0, //0x0000229d movl %r10d, %eax + 0xf7, 0xd0, //0x000022a0 notl %eax + 0x21, 0xf8, //0x000022a2 andl %edi, %eax + 0x8d, 0x0c, 0x00, //0x000022a4 leal (%rax,%rax), %ecx + 0x44, 0x09, 0xd1, //0x000022a7 orl %r10d, %ecx + 0x89, 0xce, //0x000022aa movl %ecx, %esi + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022ac movl $2863311530, %ebx + 0x31, 0xde, //0x000022b1 xorl %ebx, %esi + 0x21, 0xfe, //0x000022b3 andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022b5 andl $-1431655766, %esi + 0x45, 0x31, 0xd2, //0x000022bb xorl %r10d, %r10d + 0x01, 0xc6, //0x000022be addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc2, //0x000022c0 setb %r10b + 0x01, 0xf6, //0x000022c4 addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x000022c6 xorl $1431655765, %esi + 0x21, 0xce, //0x000022cc andl %ecx, %esi + 0xf7, 0xd6, //0x000022ce notl %esi + 0x21, 0xf2, //0x000022d0 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x000022d2 testq %rdx, %rdx + 0x0f, 0x85, 0xd4, 0xf4, 0xff, 0xff, //0x000022d5 jne LBB0_54 + 0xe9, 0x43, 0xf9, 0xff, 0xff, //0x000022db jmp LBB0_398 + //0x000022e0 LBB0_408 + 0x4c, 0x89, 0xdb, //0x000022e0 movq %r11, %rbx + 0x4c, 0x29, 0xe3, //0x000022e3 subq %r12, %rbx + 0x4c, 0x0f, 0xbc, 0xca, //0x000022e6 bsfq %rdx, %r9 + 0x49, 0x01, 0xd9, //0x000022ea addq %rbx, %r9 + 0xe9, 0x29, 0xfa, 0xff, 0xff, //0x000022ed jmp LBB0_280 + //0x000022f2 LBB0_411 + 0x4d, 0x85, 0xe4, //0x000022f2 testq %r12, %r12 + 0x0f, 0x84, 0x78, 0x00, 0x00, 0x00, //0x000022f5 je LBB0_416 + 0x48, 0x8b, 0x45, 0xa0, //0x000022fb movq $-96(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000022ff addq %r11, %rax + 0x49, 0x83, 0xf9, 0xff, //0x00002302 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc8, //0x00002306 cmoveq %rax, %r9 + 0x49, 0xff, 0xc3, //0x0000230a incq %r11 + 0x49, 0xff, 0xcc, //0x0000230d decq %r12 + 0x4d, 0x85, 0xe4, //0x00002310 testq %r12, %r12 + 0x0f, 0x85, 0x24, 0xf9, 0xff, 0xff, //0x00002313 jne LBB0_401 + 0xe9, 0x55, 0x00, 0x00, 0x00, //0x00002319 jmp LBB0_416 + //0x0000231e LBB0_409 + 0x48, 0x85, 0xc0, //0x0000231e testq %rax, %rax + 0x0f, 0x84, 0x4c, 0x00, 0x00, 0x00, //0x00002321 je LBB0_416 + 0x48, 0x8b, 0x4d, 0xa0, //0x00002327 movq $-96(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x0000232b addq %r11, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x0000232e cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00002332 cmoveq %rcx, %r9 + 0x49, 0xff, 0xc3, //0x00002336 incq %r11 + 0x48, 0xff, 0xc8, //0x00002339 decq %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x0000233c movq $-48(%rbp), %r12 + 0x48, 0x85, 0xc0, //0x00002340 testq %rax, %rax + 0x0f, 0x85, 0x38, 0xfa, 0xff, 0xff, //0x00002343 jne LBB0_347 + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00002349 jmp LBB0_416 + //0x0000234e LBB0_413 + 0x48, 0x89, 0x16, //0x0000234e movq %rdx, (%rsi) + //0x00002351 LBB0_414 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002351 movq $-1, %rax + 0xe9, 0x45, 0x00, 0x00, 0x00, //0x00002358 jmp LBB0_423 + //0x0000235d LBB0_441 + 0x48, 0xc7, 0xc0, 0xf9, 0xff, 0xff, 0xff, //0x0000235d movq $-7, %rax + 0xe9, 0x39, 0x00, 0x00, 0x00, //0x00002364 jmp LBB0_423 + //0x00002369 LBB0_415 + 0x49, 0x83, 0xfb, 0xff, //0x00002369 cmpq $-1, %r11 + 0x0f, 0x85, 0x7f, 0x00, 0x00, 0x00, //0x0000236d jne LBB0_307 + //0x00002373 LBB0_416 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00002373 movq $-1, %r11 + 0x4c, 0x8b, 0x4d, 0xb0, //0x0000237a movq $-80(%rbp), %r9 + 0xe9, 0x6f, 0x00, 0x00, 0x00, //0x0000237e jmp LBB0_307 + //0x00002383 LBB0_417 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002383 movq $-1, %rax + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x0000238a jmp LBB0_420 + //0x0000238f LBB0_419 + 0x4c, 0x89, 0xd8, //0x0000238f movq %r11, %rax + //0x00002392 LBB0_420 + 0x48, 0xf7, 0xd0, //0x00002392 notq %rax + 0x49, 0x01, 0xc7, //0x00002395 addq %rax, %r15 + //0x00002398 LBB0_421 + 0x4c, 0x89, 0x3e, //0x00002398 movq %r15, (%rsi) + //0x0000239b LBB0_422 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000239b movq $-2, %rax + //0x000023a2 LBB0_423 + 0x48, 0x83, 0xc4, 0x68, //0x000023a2 addq $104, %rsp + 0x5b, //0x000023a6 popq %rbx + 0x41, 0x5c, //0x000023a7 popq %r12 + 0x41, 0x5d, //0x000023a9 popq %r13 + 0x41, 0x5e, //0x000023ab popq %r14 + 0x41, 0x5f, //0x000023ad popq %r15 + 0x5d, //0x000023af popq %rbp + 0xc3, //0x000023b0 retq + //0x000023b1 LBB0_424 + 0x49, 0x83, 0xfb, 0xff, //0x000023b1 cmpq $-1, %r11 + 0x0f, 0x85, 0x69, 0x00, 0x00, 0x00, //0x000023b5 jne LBB0_437 + //0x000023bb LBB0_425 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000023bb movq $-1, %r11 + 0x4c, 0x8b, 0x65, 0xb0, //0x000023c2 movq $-80(%rbp), %r12 + 0xe9, 0x59, 0x00, 0x00, 0x00, //0x000023c6 jmp LBB0_437 + //0x000023cb LBB0_440 + 0x48, 0x89, 0x0e, //0x000023cb movq %rcx, (%rsi) + 0xe9, 0xcf, 0xff, 0xff, 0xff, //0x000023ce jmp LBB0_423 + //0x000023d3 LBB0_426 + 0x49, 0x83, 0xf9, 0xff, //0x000023d3 cmpq $-1, %r9 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000023d7 jne LBB0_431 + 0x49, 0x0f, 0xbc, 0xc4, //0x000023dd bsfq %r12, %rax + //0x000023e1 LBB0_428 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000023e1 subq $-48(%rbp), %r11 + //0x000023e5 LBB0_429 + 0x49, 0x01, 0xc3, //0x000023e5 addq %rax, %r11 + //0x000023e8 LBB0_430 + 0x4d, 0x89, 0xd9, //0x000023e8 movq %r11, %r9 + //0x000023eb LBB0_431 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000023eb movq $-2, %r11 + //0x000023f2 LBB0_307 + 0x48, 0x8b, 0x45, 0xc8, //0x000023f2 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x000023f6 movq %r9, (%rax) + 0x4c, 0x89, 0xd8, //0x000023f9 movq %r11, %rax + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x000023fc jmp LBB0_423 + //0x00002401 LBB0_432 + 0x49, 0x83, 0xfc, 0xff, //0x00002401 cmpq $-1, %r12 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00002405 jne LBB0_435 + 0x48, 0x0f, 0xbc, 0xc2, //0x0000240b bsfq %rdx, %rax + //0x0000240f LBB0_434 + 0x4c, 0x2b, 0x5d, 0xd0, //0x0000240f subq $-48(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00002413 addq %rax, %r11 + 0x4d, 0x89, 0xdc, //0x00002416 movq %r11, %r12 + //0x00002419 LBB0_435 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002419 movq $-2, %r11 + //0x00002420 LBB0_436 + 0x48, 0x8b, 0x75, 0xc8, //0x00002420 movq $-56(%rbp), %rsi + //0x00002424 LBB0_437 + 0x4c, 0x89, 0x26, //0x00002424 movq %r12, (%rsi) + 0x4c, 0x89, 0xd8, //0x00002427 movq %r11, %rax + 0xe9, 0x73, 0xff, 0xff, 0xff, //0x0000242a jmp LBB0_423 + //0x0000242f LBB0_438 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000242f movq $-1, %r11 + //0x00002436 LBB0_439 + 0x4d, 0x29, 0xdf, //0x00002436 subq %r11, %r15 + 0xe9, 0x5a, 0xff, 0xff, 0xff, //0x00002439 jmp LBB0_421 + //0x0000243e LBB0_442 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000243e movq $-2, %rax + 0x80, 0xf9, 0x61, //0x00002445 cmpb $97, %cl + 0x0f, 0x85, 0x54, 0xff, 0xff, 0xff, //0x00002448 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x02, //0x0000244e leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002452 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x02, 0x6c, //0x00002455 cmpb $108, $2(%r12,%r15) + 0x0f, 0x85, 0x41, 0xff, 0xff, 0xff, //0x0000245b jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x03, //0x00002461 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002465 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x03, 0x73, //0x00002468 cmpb $115, $3(%r12,%r15) + 0x0f, 0x85, 0x2e, 0xff, 0xff, 0xff, //0x0000246e jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x04, //0x00002474 leaq $4(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002478 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x04, 0x65, //0x0000247b cmpb $101, $4(%r12,%r15) + 0x0f, 0x85, 0x1b, 0xff, 0xff, 0xff, //0x00002481 jne LBB0_423 + 0x49, 0x83, 0xc7, 0x05, //0x00002487 addq $5, %r15 + 0x4c, 0x89, 0x3e, //0x0000248b movq %r15, (%rsi) + 0xe9, 0x0f, 0xff, 0xff, 0xff, //0x0000248e jmp LBB0_423 + //0x00002493 LBB0_247 + 0x4c, 0x89, 0x3e, //0x00002493 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00002496 movq $-2, %rax + 0x41, 0x80, 0x3a, 0x6e, //0x0000249d cmpb $110, (%r10) + 0x0f, 0x85, 0xfb, 0xfe, 0xff, 0xff, //0x000024a1 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x01, //0x000024a7 leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024ab movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x01, 0x75, //0x000024ae cmpb $117, $1(%r12,%r15) + 0x0f, 0x85, 0xe8, 0xfe, 0xff, 0xff, //0x000024b4 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x02, //0x000024ba leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024be movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x02, 0x6c, //0x000024c1 cmpb $108, $2(%r12,%r15) + 0x0f, 0x85, 0xd5, 0xfe, 0xff, 0xff, //0x000024c7 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x03, //0x000024cd leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024d1 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x03, 0x6c, //0x000024d4 cmpb $108, $3(%r12,%r15) + 0x0f, 0x85, 0xc2, 0xfe, 0xff, 0xff, //0x000024da jne LBB0_423 + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x000024e0 jmp LBB0_451 + //0x000024e5 LBB0_447 + 0x4c, 0x89, 0x3e, //0x000024e5 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000024e8 movq $-2, %rax + 0x41, 0x80, 0x3a, 0x74, //0x000024ef cmpb $116, (%r10) + 0x0f, 0x85, 0xa9, 0xfe, 0xff, 0xff, //0x000024f3 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x01, //0x000024f9 leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024fd movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x01, 0x72, //0x00002500 cmpb $114, $1(%r12,%r15) + 0x0f, 0x85, 0x96, 0xfe, 0xff, 0xff, //0x00002506 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x02, //0x0000250c leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002510 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x02, 0x75, //0x00002513 cmpb $117, $2(%r12,%r15) + 0x0f, 0x85, 0x83, 0xfe, 0xff, 0xff, //0x00002519 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x03, //0x0000251f leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002523 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x03, 0x65, //0x00002526 cmpb $101, $3(%r12,%r15) + 0x0f, 0x85, 0x70, 0xfe, 0xff, 0xff, //0x0000252c jne LBB0_423 + //0x00002532 LBB0_451 + 0x49, 0x83, 0xc7, 0x04, //0x00002532 addq $4, %r15 + 0x4c, 0x89, 0x3e, //0x00002536 movq %r15, (%rsi) + 0xe9, 0x64, 0xfe, 0xff, 0xff, //0x00002539 jmp LBB0_423 + //0x0000253e LBB0_452 + 0x49, 0x83, 0xf9, 0xff, //0x0000253e cmpq $-1, %r9 + 0x0f, 0x85, 0xa3, 0xfe, 0xff, 0xff, //0x00002542 jne LBB0_431 + 0x48, 0x0f, 0xbc, 0xc2, //0x00002548 bsfq %rdx, %rax + 0xe9, 0x90, 0xfe, 0xff, 0xff, //0x0000254c jmp LBB0_428 + //0x00002551 LBB0_456 + 0x4c, 0x89, 0x5d, 0xb0, //0x00002551 movq %r11, $-80(%rbp) + 0xe9, 0x19, 0xfe, 0xff, 0xff, //0x00002555 jmp LBB0_416 + //0x0000255a LBB0_306 + 0x4c, 0x01, 0xd9, //0x0000255a addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000255d movq $-2, %r11 + 0x49, 0x89, 0xc9, //0x00002564 movq %rcx, %r9 + 0xe9, 0x86, 0xfe, 0xff, 0xff, //0x00002567 jmp LBB0_307 + //0x0000256c LBB0_454 + 0x4c, 0x89, 0x5d, 0xb0, //0x0000256c movq %r11, $-80(%rbp) + 0xe9, 0x46, 0xfe, 0xff, 0xff, //0x00002570 jmp LBB0_425 + //0x00002575 LBB0_455 + 0x4c, 0x01, 0xd9, //0x00002575 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002578 movq $-2, %r11 + 0x49, 0x89, 0xcc, //0x0000257f movq %rcx, %r12 + 0xe9, 0x9d, 0xfe, 0xff, 0xff, //0x00002582 jmp LBB0_437 + //0x00002587 LBB0_457 + 0x48, 0x0f, 0xbc, 0xc7, //0x00002587 bsfq %rdi, %rax + 0x4d, 0x29, 0xe3, //0x0000258b subq %r12, %r11 + 0xe9, 0x52, 0xfe, 0xff, 0xff, //0x0000258e jmp LBB0_429 + //0x00002593 LBB0_461 + 0x4d, 0x29, 0xe3, //0x00002593 subq %r12, %r11 + 0xe9, 0x4d, 0xfe, 0xff, 0xff, //0x00002596 jmp LBB0_430 + //0x0000259b LBB0_458 + 0x4c, 0x01, 0xd9, //0x0000259b addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000259e movq $-2, %r11 + 0x49, 0x89, 0xcc, //0x000025a5 movq %rcx, %r12 + 0xe9, 0x73, 0xfe, 0xff, 0xff, //0x000025a8 jmp LBB0_436 + //0x000025ad LBB0_459 + 0x48, 0x0f, 0xbc, 0xc7, //0x000025ad bsfq %rdi, %rax + 0xe9, 0x59, 0xfe, 0xff, 0xff, //0x000025b1 jmp LBB0_434 + //0x000025b6 LBB0_460 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000025b6 subq $-48(%rbp), %r11 + 0x4d, 0x89, 0xdc, //0x000025ba movq %r11, %r12 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000025bd movq $-2, %r11 + 0xe9, 0x5b, 0xfe, 0xff, 0xff, //0x000025c4 jmp LBB0_437 + //0x000025c9 LBB0_462 + 0x48, 0x8b, 0x75, 0xc8, //0x000025c9 movq $-56(%rbp), %rsi + 0xe9, 0xe9, 0xfd, 0xff, 0xff, //0x000025cd jmp LBB0_425 + 0x90, 0x90, //0x000025d2 .p2align 2, 0x90 + // // .set L0_0_set_33, LBB0_33-LJTI0_0 + // // .set L0_0_set_37, LBB0_37-LJTI0_0 + // // .set L0_0_set_39, LBB0_39-LJTI0_0 + // // .set L0_0_set_59, LBB0_59-LJTI0_0 + // // .set L0_0_set_61, LBB0_61-LJTI0_0 + // // .set L0_0_set_64, LBB0_64-LJTI0_0 + //0x000025d4 LJTI0_0 + 0xc3, 0xdd, 0xff, 0xff, //0x000025d4 .long L0_0_set_33 + 0xeb, 0xdd, 0xff, 0xff, //0x000025d8 .long L0_0_set_37 + 0x16, 0xde, 0xff, 0xff, //0x000025dc .long L0_0_set_39 + 0xcf, 0xdf, 0xff, 0xff, //0x000025e0 .long L0_0_set_59 + 0xe5, 0xdf, 0xff, 0xff, //0x000025e4 .long L0_0_set_61 + 0x55, 0xe2, 0xff, 0xff, //0x000025e8 .long L0_0_set_64 + // // .set L0_1_set_423, LBB0_423-LJTI0_1 + // // .set L0_1_set_422, LBB0_422-LJTI0_1 + // // .set L0_1_set_199, LBB0_199-LJTI0_1 + // // .set L0_1_set_215, LBB0_215-LJTI0_1 + // // .set L0_1_set_66, LBB0_66-LJTI0_1 + // // .set L0_1_set_240, LBB0_240-LJTI0_1 + // // .set L0_1_set_242, LBB0_242-LJTI0_1 + // // .set L0_1_set_245, LBB0_245-LJTI0_1 + // // .set L0_1_set_251, LBB0_251-LJTI0_1 + // // .set L0_1_set_255, LBB0_255-LJTI0_1 + //0x000025ec LJTI0_1 + 0xb6, 0xfd, 0xff, 0xff, //0x000025ec .long L0_1_set_423 + 0xaf, 0xfd, 0xff, 0xff, //0x000025f0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025f4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025f8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025fc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002600 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002604 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002608 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000260c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002610 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002614 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002618 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000261c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002620 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002624 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002628 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000262c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002630 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002634 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002638 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000263c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002640 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002644 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002648 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000264c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002650 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002654 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002658 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000265c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002660 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002664 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002668 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000266c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002670 .long L0_1_set_422 + 0xa6, 0xe9, 0xff, 0xff, //0x00002674 .long L0_1_set_199 + 0xaf, 0xfd, 0xff, 0xff, //0x00002678 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000267c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002680 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002684 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002688 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000268c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002690 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002694 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002698 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000269c .long L0_1_set_422 + 0x38, 0xeb, 0xff, 0xff, //0x000026a0 .long L0_1_set_215 + 0xaf, 0xfd, 0xff, 0xff, //0x000026a4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026a8 .long L0_1_set_422 + 0xfd, 0xdf, 0xff, 0xff, //0x000026ac .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026b0 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026b4 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026b8 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026bc .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026c0 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026c4 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026c8 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026cc .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026d0 .long L0_1_set_66 + 0xaf, 0xfd, 0xff, 0xff, //0x000026d4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026d8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026dc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026e0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026e4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026e8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026ec .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026f0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026f4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026f8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026fc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002700 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002704 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002708 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000270c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002710 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002714 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002718 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000271c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002720 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002724 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002728 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000272c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002730 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002734 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002738 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000273c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002740 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002744 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002748 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000274c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002750 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002754 .long L0_1_set_422 + 0x0f, 0xed, 0xff, 0xff, //0x00002758 .long L0_1_set_240 + 0xaf, 0xfd, 0xff, 0xff, //0x0000275c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002760 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002764 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002768 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000276c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002770 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002774 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002778 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000277c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002780 .long L0_1_set_422 + 0x33, 0xed, 0xff, 0xff, //0x00002784 .long L0_1_set_242 + 0xaf, 0xfd, 0xff, 0xff, //0x00002788 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000278c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002790 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002794 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002798 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000279c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027a0 .long L0_1_set_422 + 0x64, 0xed, 0xff, 0xff, //0x000027a4 .long L0_1_set_245 + 0xaf, 0xfd, 0xff, 0xff, //0x000027a8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027ac .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027b0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027b4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027b8 .long L0_1_set_422 + 0x8b, 0xed, 0xff, 0xff, //0x000027bc .long L0_1_set_251 + 0xaf, 0xfd, 0xff, 0xff, //0x000027c0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027c4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027c8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027cc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027d0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027d4 .long L0_1_set_422 + 0xc8, 0xed, 0xff, 0xff, //0x000027d8 .long L0_1_set_255 + // // .set L0_2_set_264, LBB0_264-LJTI0_2 + // // .set L0_2_set_292, LBB0_292-LJTI0_2 + // // .set L0_2_set_259, LBB0_259-LJTI0_2 + // // .set L0_2_set_261, LBB0_261-LJTI0_2 + // // .set L0_2_set_266, LBB0_266-LJTI0_2 + //0x000027dc LJTI0_2 + 0x3d, 0xec, 0xff, 0xff, //0x000027dc .long L0_2_set_264 + 0x7b, 0xee, 0xff, 0xff, //0x000027e0 .long L0_2_set_292 + 0x3d, 0xec, 0xff, 0xff, //0x000027e4 .long L0_2_set_264 + 0xfc, 0xeb, 0xff, 0xff, //0x000027e8 .long L0_2_set_259 + 0x7b, 0xee, 0xff, 0xff, //0x000027ec .long L0_2_set_292 + 0x14, 0xec, 0xff, 0xff, //0x000027f0 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027f4 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027f8 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027fc .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x00002800 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x00002804 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x00002808 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x0000280c .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x00002810 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x00002814 .long L0_2_set_261 + 0x7b, 0xee, 0xff, 0xff, //0x00002818 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000281c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002820 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002824 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002828 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000282c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002830 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002834 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002838 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000283c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002840 .long L0_2_set_292 + 0x58, 0xec, 0xff, 0xff, //0x00002844 .long L0_2_set_266 + 0x7b, 0xee, 0xff, 0xff, //0x00002848 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000284c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002850 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002854 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002858 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000285c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002860 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002864 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002868 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000286c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002870 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002874 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002878 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000287c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002880 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002884 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002888 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000288c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002890 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002894 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002898 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000289c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028a0 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028a4 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028a8 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028ac .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028b0 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028b4 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028b8 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028bc .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028c0 .long L0_2_set_292 + 0x58, 0xec, 0xff, 0xff, //0x000028c4 .long L0_2_set_266 + // // .set L0_3_set_94, LBB0_94-LJTI0_3 + // // .set L0_3_set_149, LBB0_149-LJTI0_3 + // // .set L0_3_set_98, LBB0_98-LJTI0_3 + // // .set L0_3_set_91, LBB0_91-LJTI0_3 + // // .set L0_3_set_96, LBB0_96-LJTI0_3 + //0x000028c8 LJTI0_3 + 0x10, 0xdf, 0xff, 0xff, //0x000028c8 .long L0_3_set_94 + 0x75, 0xe3, 0xff, 0xff, //0x000028cc .long L0_3_set_149 + 0x10, 0xdf, 0xff, 0xff, //0x000028d0 .long L0_3_set_94 + 0x46, 0xdf, 0xff, 0xff, //0x000028d4 .long L0_3_set_98 + 0x75, 0xe3, 0xff, 0xff, //0x000028d8 .long L0_3_set_149 + 0xe8, 0xde, 0xff, 0xff, //0x000028dc .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028e0 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028e4 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028e8 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028ec .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028f0 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028f4 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028f8 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028fc .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x00002900 .long L0_3_set_91 + 0x75, 0xe3, 0xff, 0xff, //0x00002904 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002908 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000290c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002910 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002914 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002918 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000291c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002920 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002924 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002928 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000292c .long L0_3_set_149 + 0x2b, 0xdf, 0xff, 0xff, //0x00002930 .long L0_3_set_96 + 0x75, 0xe3, 0xff, 0xff, //0x00002934 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002938 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000293c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002940 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002944 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002948 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000294c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002950 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002954 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002958 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000295c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002960 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002964 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002968 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000296c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002970 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002974 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002978 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000297c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002980 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002984 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002988 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000298c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002990 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002994 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002998 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000299c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x000029a0 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x000029a4 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x000029a8 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x000029ac .long L0_3_set_149 + 0x2b, 0xdf, 0xff, 0xff, //0x000029b0 .long L0_3_set_96 + //0x000029b4 .p2align 2, 0x00 + //0x000029b4 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x000029b4 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one.go new file mode 100644 index 0000000..9d3cd02 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_one func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_skip_one uintptr + +//go:nosplit +func skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_skip_one(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_fast.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_fast.go new file mode 100644 index 0000000..cab45bc --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_fast.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_one_fast func(s unsafe.Pointer, p unsafe.Pointer) (ret int) + +var S_skip_one_fast uintptr + +//go:nosplit +func skip_one_fast(s *string, p *int) (ret int) { + return F_skip_one_fast(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p))) +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_fast_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_fast_subr.go new file mode 100644 index 0000000..c21d86c --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_fast_subr.go @@ -0,0 +1,45 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_one_fast = 128 +) + +const ( + _stack__skip_one_fast = 176 +) + +const ( + _size__skip_one_fast = 3016 +) + +var ( + _pcsp__skip_one_fast = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {658, 176}, + {659, 168}, + {661, 160}, + {663, 152}, + {665, 144}, + {667, 136}, + {671, 128}, + {3016, 176}, + } +) + +var _cfunc_skip_one_fast = []loader.CFunc{ + {"_skip_one_fast_entry", 0, _entry__skip_one_fast, 0, nil}, + {"_skip_one_fast", _entry__skip_one_fast, _size__skip_one_fast, _stack__skip_one_fast, _pcsp__skip_one_fast}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_fast_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_fast_text_amd64.go new file mode 100644 index 0000000..bf3f39b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_fast_text_amd64.go @@ -0,0 +1,945 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_skip_one_fast = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, // QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' + //0x00000010 LCPI0_1 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000010 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000020 LCPI0_2 + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, //0x00000020 QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' + //0x00000030 LCPI0_3 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000030 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000040 LCPI0_4 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000040 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000050 LCPI0_5 + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, //0x00000050 QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' + //0x00000060 LCPI0_6 + 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, //0x00000060 QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' + //0x00000070 LCPI0_7 + 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, //0x00000070 QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' + //0x00000080 .p2align 4, 0x90 + //0x00000080 _skip_one_fast + 0x55, //0x00000080 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000081 movq %rsp, %rbp + 0x41, 0x57, //0x00000084 pushq %r15 + 0x41, 0x56, //0x00000086 pushq %r14 + 0x41, 0x55, //0x00000088 pushq %r13 + 0x41, 0x54, //0x0000008a pushq %r12 + 0x53, //0x0000008c pushq %rbx + 0x48, 0x81, 0xec, 0x80, 0x00, 0x00, 0x00, //0x0000008d subq $128, %rsp + 0x4c, 0x8b, 0x37, //0x00000094 movq (%rdi), %r14 + 0x4c, 0x8b, 0x47, 0x08, //0x00000097 movq $8(%rdi), %r8 + 0x48, 0x8b, 0x16, //0x0000009b movq (%rsi), %rdx + 0x48, 0x89, 0xd0, //0x0000009e movq %rdx, %rax + 0x4c, 0x29, 0xc0, //0x000000a1 subq %r8, %rax + 0x0f, 0x83, 0x2a, 0x00, 0x00, 0x00, //0x000000a4 jae LBB0_5 + 0x41, 0x8a, 0x0c, 0x16, //0x000000aa movb (%r14,%rdx), %cl + 0x80, 0xf9, 0x0d, //0x000000ae cmpb $13, %cl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x000000b1 je LBB0_5 + 0x80, 0xf9, 0x20, //0x000000b7 cmpb $32, %cl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000000ba je LBB0_5 + 0x80, 0xc1, 0xf7, //0x000000c0 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x000000c3 cmpb $1, %cl + 0x0f, 0x86, 0x08, 0x00, 0x00, 0x00, //0x000000c6 jbe LBB0_5 + 0x49, 0x89, 0xd3, //0x000000cc movq %rdx, %r11 + 0xe9, 0x2b, 0x01, 0x00, 0x00, //0x000000cf jmp LBB0_27 + //0x000000d4 LBB0_5 + 0x4c, 0x8d, 0x5a, 0x01, //0x000000d4 leaq $1(%rdx), %r11 + 0x4d, 0x39, 0xc3, //0x000000d8 cmpq %r8, %r11 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x000000db jae LBB0_9 + 0x43, 0x8a, 0x0c, 0x1e, //0x000000e1 movb (%r14,%r11), %cl + 0x80, 0xf9, 0x0d, //0x000000e5 cmpb $13, %cl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x000000e8 je LBB0_9 + 0x80, 0xf9, 0x20, //0x000000ee cmpb $32, %cl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x000000f1 je LBB0_9 + 0x80, 0xc1, 0xf7, //0x000000f7 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x000000fa cmpb $1, %cl + 0x0f, 0x87, 0xfc, 0x00, 0x00, 0x00, //0x000000fd ja LBB0_27 + //0x00000103 LBB0_9 + 0x4c, 0x8d, 0x5a, 0x02, //0x00000103 leaq $2(%rdx), %r11 + 0x4d, 0x39, 0xc3, //0x00000107 cmpq %r8, %r11 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x0000010a jae LBB0_13 + 0x43, 0x8a, 0x0c, 0x1e, //0x00000110 movb (%r14,%r11), %cl + 0x80, 0xf9, 0x0d, //0x00000114 cmpb $13, %cl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000117 je LBB0_13 + 0x80, 0xf9, 0x20, //0x0000011d cmpb $32, %cl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x00000120 je LBB0_13 + 0x80, 0xc1, 0xf7, //0x00000126 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00000129 cmpb $1, %cl + 0x0f, 0x87, 0xcd, 0x00, 0x00, 0x00, //0x0000012c ja LBB0_27 + //0x00000132 LBB0_13 + 0x4c, 0x8d, 0x5a, 0x03, //0x00000132 leaq $3(%rdx), %r11 + 0x4d, 0x39, 0xc3, //0x00000136 cmpq %r8, %r11 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000139 jae LBB0_17 + 0x43, 0x8a, 0x0c, 0x1e, //0x0000013f movb (%r14,%r11), %cl + 0x80, 0xf9, 0x0d, //0x00000143 cmpb $13, %cl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000146 je LBB0_17 + 0x80, 0xf9, 0x20, //0x0000014c cmpb $32, %cl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000014f je LBB0_17 + 0x80, 0xc1, 0xf7, //0x00000155 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00000158 cmpb $1, %cl + 0x0f, 0x87, 0x9e, 0x00, 0x00, 0x00, //0x0000015b ja LBB0_27 + //0x00000161 LBB0_17 + 0x48, 0x8d, 0x4a, 0x04, //0x00000161 leaq $4(%rdx), %rcx + 0x49, 0x39, 0xc8, //0x00000165 cmpq %rcx, %r8 + 0x0f, 0x86, 0x4b, 0x00, 0x00, 0x00, //0x00000168 jbe LBB0_23 + 0x49, 0x39, 0xc8, //0x0000016e cmpq %rcx, %r8 + 0x0f, 0x84, 0x51, 0x00, 0x00, 0x00, //0x00000171 je LBB0_24 + 0x4b, 0x8d, 0x0c, 0x06, //0x00000177 leaq (%r14,%r8), %rcx + 0x48, 0x83, 0xc0, 0x04, //0x0000017b addq $4, %rax + 0x4e, 0x8d, 0x5c, 0x32, 0x05, //0x0000017f leaq $5(%rdx,%r14), %r11 + 0x48, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000184 movabsq $4294977024, %rdx + 0x90, 0x90, //0x0000018e .p2align 4, 0x90 + //0x00000190 LBB0_20 + 0x41, 0x0f, 0xbe, 0x5b, 0xff, //0x00000190 movsbl $-1(%r11), %ebx + 0x83, 0xfb, 0x20, //0x00000195 cmpl $32, %ebx + 0x0f, 0x87, 0x48, 0x00, 0x00, 0x00, //0x00000198 ja LBB0_26 + 0x48, 0x0f, 0xa3, 0xda, //0x0000019e btq %rbx, %rdx + 0x0f, 0x83, 0x3e, 0x00, 0x00, 0x00, //0x000001a2 jae LBB0_26 + 0x49, 0xff, 0xc3, //0x000001a8 incq %r11 + 0x48, 0xff, 0xc0, //0x000001ab incq %rax + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000001ae jne LBB0_20 + 0xe9, 0x12, 0x00, 0x00, 0x00, //0x000001b4 jmp LBB0_25 + //0x000001b9 LBB0_23 + 0x48, 0x89, 0x0e, //0x000001b9 movq %rcx, (%rsi) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000001bc movq $-1, %rax + 0xe9, 0x46, 0x01, 0x00, 0x00, //0x000001c3 jmp LBB0_45 + //0x000001c8 LBB0_24 + 0x4c, 0x01, 0xf1, //0x000001c8 addq %r14, %rcx + //0x000001cb LBB0_25 + 0x4c, 0x29, 0xf1, //0x000001cb subq %r14, %rcx + 0x49, 0x89, 0xcb, //0x000001ce movq %rcx, %r11 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000001d1 movq $-1, %rax + 0x4d, 0x39, 0xc3, //0x000001d8 cmpq %r8, %r11 + 0x0f, 0x82, 0x1e, 0x00, 0x00, 0x00, //0x000001db jb LBB0_27 + 0xe9, 0x28, 0x01, 0x00, 0x00, //0x000001e1 jmp LBB0_45 + //0x000001e6 LBB0_26 + 0x4c, 0x89, 0xf0, //0x000001e6 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x000001e9 notq %rax + 0x49, 0x01, 0xc3, //0x000001ec addq %rax, %r11 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000001ef movq $-1, %rax + 0x4d, 0x39, 0xc3, //0x000001f6 cmpq %r8, %r11 + 0x0f, 0x83, 0x0f, 0x01, 0x00, 0x00, //0x000001f9 jae LBB0_45 + //0x000001ff LBB0_27 + 0x49, 0x8d, 0x5b, 0x01, //0x000001ff leaq $1(%r11), %rbx + 0x48, 0x89, 0x1e, //0x00000203 movq %rbx, (%rsi) + 0x43, 0x0f, 0xbe, 0x0c, 0x1e, //0x00000206 movsbl (%r14,%r11), %ecx + 0x83, 0xf9, 0x7b, //0x0000020b cmpl $123, %ecx + 0x0f, 0x87, 0x1f, 0x01, 0x00, 0x00, //0x0000020e ja LBB0_47 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000214 movq $-1, %rax + 0x48, 0x8d, 0x15, 0x26, 0x0a, 0x00, 0x00, //0x0000021b leaq $2598(%rip), %rdx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8a, //0x00000222 movslq (%rdx,%rcx,4), %rcx + 0x48, 0x01, 0xd1, //0x00000226 addq %rdx, %rcx + 0xff, 0xe1, //0x00000229 jmpq *%rcx + //0x0000022b LBB0_29 + 0x48, 0x8b, 0x4f, 0x08, //0x0000022b movq $8(%rdi), %rcx + 0x48, 0x89, 0xc8, //0x0000022f movq %rcx, %rax + 0x48, 0x29, 0xd8, //0x00000232 subq %rbx, %rax + 0x4c, 0x01, 0xf3, //0x00000235 addq %r14, %rbx + 0x48, 0x83, 0xf8, 0x10, //0x00000238 cmpq $16, %rax + 0x0f, 0x82, 0x77, 0x00, 0x00, 0x00, //0x0000023c jb LBB0_34 + 0x4c, 0x29, 0xd9, //0x00000242 subq %r11, %rcx + 0x48, 0x83, 0xc1, 0xef, //0x00000245 addq $-17, %rcx + 0x48, 0x89, 0xca, //0x00000249 movq %rcx, %rdx + 0x48, 0x83, 0xe2, 0xf0, //0x0000024c andq $-16, %rdx + 0x4c, 0x01, 0xda, //0x00000250 addq %r11, %rdx + 0x49, 0x8d, 0x54, 0x16, 0x11, //0x00000253 leaq $17(%r14,%rdx), %rdx + 0x83, 0xe1, 0x0f, //0x00000258 andl $15, %ecx + 0xc5, 0xfa, 0x6f, 0x05, 0x9d, 0xfd, 0xff, 0xff, //0x0000025b vmovdqu $-611(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0xa5, 0xfd, 0xff, 0xff, //0x00000263 vmovdqu $-603(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0xad, 0xfd, 0xff, 0xff, //0x0000026b vmovdqu $-595(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000273 .p2align 4, 0x90 + //0x00000280 LBB0_31 + 0xc5, 0xfa, 0x6f, 0x1b, //0x00000280 vmovdqu (%rbx), %xmm3 + 0xc5, 0xe1, 0x74, 0xe0, //0x00000284 vpcmpeqb %xmm0, %xmm3, %xmm4 + 0xc5, 0xe1, 0xeb, 0xd9, //0x00000288 vpor %xmm1, %xmm3, %xmm3 + 0xc5, 0xe1, 0x74, 0xda, //0x0000028c vpcmpeqb %xmm2, %xmm3, %xmm3 + 0xc5, 0xe1, 0xeb, 0xdc, //0x00000290 vpor %xmm4, %xmm3, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x00000294 vpmovmskb %xmm3, %edi + 0x66, 0x85, 0xff, //0x00000298 testw %di, %di + 0x0f, 0x85, 0x5a, 0x00, 0x00, 0x00, //0x0000029b jne LBB0_42 + 0x48, 0x83, 0xc3, 0x10, //0x000002a1 addq $16, %rbx + 0x48, 0x83, 0xc0, 0xf0, //0x000002a5 addq $-16, %rax + 0x48, 0x83, 0xf8, 0x0f, //0x000002a9 cmpq $15, %rax + 0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x000002ad ja LBB0_31 + 0x48, 0x89, 0xc8, //0x000002b3 movq %rcx, %rax + 0x48, 0x89, 0xd3, //0x000002b6 movq %rdx, %rbx + //0x000002b9 LBB0_34 + 0x48, 0x85, 0xc0, //0x000002b9 testq %rax, %rax + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x000002bc je LBB0_41 + 0x48, 0x8d, 0x0c, 0x03, //0x000002c2 leaq (%rbx,%rax), %rcx + //0x000002c6 LBB0_36 + 0x0f, 0xb6, 0x13, //0x000002c6 movzbl (%rbx), %edx + 0x80, 0xfa, 0x2c, //0x000002c9 cmpb $44, %dl + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x000002cc je LBB0_41 + 0x80, 0xfa, 0x7d, //0x000002d2 cmpb $125, %dl + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x000002d5 je LBB0_41 + 0x80, 0xfa, 0x5d, //0x000002db cmpb $93, %dl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x000002de je LBB0_41 + 0x48, 0xff, 0xc3, //0x000002e4 incq %rbx + 0x48, 0xff, 0xc8, //0x000002e7 decq %rax + 0x0f, 0x85, 0xd6, 0xff, 0xff, 0xff, //0x000002ea jne LBB0_36 + 0x48, 0x89, 0xcb, //0x000002f0 movq %rcx, %rbx + //0x000002f3 LBB0_41 + 0x4c, 0x29, 0xf3, //0x000002f3 subq %r14, %rbx + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x000002f6 jmp LBB0_43 + //0x000002fb LBB0_42 + 0x0f, 0xb7, 0xc7, //0x000002fb movzwl %di, %eax + 0x48, 0x0f, 0xbc, 0xc0, //0x000002fe bsfq %rax, %rax + 0x4c, 0x29, 0xf3, //0x00000302 subq %r14, %rbx + 0x48, 0x01, 0xc3, //0x00000305 addq %rax, %rbx + //0x00000308 LBB0_43 + 0x48, 0x89, 0x1e, //0x00000308 movq %rbx, (%rsi) + //0x0000030b LBB0_44 + 0x4c, 0x89, 0xd8, //0x0000030b movq %r11, %rax + //0x0000030e LBB0_45 + 0x48, 0x8d, 0x65, 0xd8, //0x0000030e leaq $-40(%rbp), %rsp + 0x5b, //0x00000312 popq %rbx + 0x41, 0x5c, //0x00000313 popq %r12 + 0x41, 0x5d, //0x00000315 popq %r13 + 0x41, 0x5e, //0x00000317 popq %r14 + 0x41, 0x5f, //0x00000319 popq %r15 + 0x5d, //0x0000031b popq %rbp + 0xc5, 0xf8, 0x77, //0x0000031c vzeroupper + 0xc3, //0x0000031f retq + //0x00000320 LBB0_46 + 0x49, 0x8d, 0x4b, 0x04, //0x00000320 leaq $4(%r11), %rcx + 0x48, 0x3b, 0x4f, 0x08, //0x00000324 cmpq $8(%rdi), %rcx + 0x0f, 0x87, 0xe0, 0xff, 0xff, 0xff, //0x00000328 ja LBB0_45 + 0xe9, 0xa6, 0x04, 0x00, 0x00, //0x0000032e jmp LBB0_83 + //0x00000333 LBB0_47 + 0x4c, 0x89, 0x1e, //0x00000333 movq %r11, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000336 movq $-2, %rax + 0xe9, 0xcc, 0xff, 0xff, 0xff, //0x0000033d jmp LBB0_45 + //0x00000342 LBB0_48 + 0x4c, 0x8b, 0x47, 0x08, //0x00000342 movq $8(%rdi), %r8 + 0x4d, 0x89, 0xc7, //0x00000346 movq %r8, %r15 + 0x49, 0x29, 0xdf, //0x00000349 subq %rbx, %r15 + 0x49, 0x83, 0xff, 0x20, //0x0000034c cmpq $32, %r15 + 0x0f, 0x8c, 0xbb, 0x08, 0x00, 0x00, //0x00000350 jl LBB0_117 + 0x41, 0xb9, 0xff, 0xff, 0xff, 0xff, //0x00000356 movl $4294967295, %r9d + 0x4f, 0x8d, 0x14, 0x1e, //0x0000035c leaq (%r14,%r11), %r10 + 0x4d, 0x29, 0xd8, //0x00000360 subq %r11, %r8 + 0x41, 0xbd, 0x1f, 0x00, 0x00, 0x00, //0x00000363 movl $31, %r13d + 0x45, 0x31, 0xff, //0x00000369 xorl %r15d, %r15d + 0xc5, 0xfa, 0x6f, 0x05, 0xbc, 0xfc, 0xff, 0xff, //0x0000036c vmovdqu $-836(%rip), %xmm0 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0xc4, 0xfc, 0xff, 0xff, //0x00000374 vmovdqu $-828(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0x45, 0x31, 0xe4, //0x0000037c xorl %r12d, %r12d + 0xe9, 0x2e, 0x00, 0x00, 0x00, //0x0000037f jmp LBB0_50 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000384 .p2align 4, 0x90 + //0x00000390 LBB0_52 + 0x45, 0x31, 0xe4, //0x00000390 xorl %r12d, %r12d + 0x85, 0xc9, //0x00000393 testl %ecx, %ecx + 0x0f, 0x85, 0x9e, 0x00, 0x00, 0x00, //0x00000395 jne LBB0_110 + //0x0000039b LBB0_53 + 0x49, 0x83, 0xc7, 0x20, //0x0000039b addq $32, %r15 + 0x4b, 0x8d, 0x4c, 0x28, 0xe0, //0x0000039f leaq $-32(%r8,%r13), %rcx + 0x49, 0x83, 0xc5, 0xe0, //0x000003a4 addq $-32, %r13 + 0x48, 0x83, 0xf9, 0x3f, //0x000003a8 cmpq $63, %rcx + 0x0f, 0x8e, 0xdc, 0x07, 0x00, 0x00, //0x000003ac jle LBB0_54 + //0x000003b2 LBB0_50 + 0xc4, 0x81, 0x7a, 0x6f, 0x54, 0x3a, 0x01, //0x000003b2 vmovdqu $1(%r10,%r15), %xmm2 + 0xc4, 0x81, 0x7a, 0x6f, 0x5c, 0x3a, 0x11, //0x000003b9 vmovdqu $17(%r10,%r15), %xmm3 + 0xc5, 0xe9, 0x74, 0xe0, //0x000003c0 vpcmpeqb %xmm0, %xmm2, %xmm4 + 0xc5, 0xf9, 0xd7, 0xfc, //0x000003c4 vpmovmskb %xmm4, %edi + 0xc5, 0xe1, 0x74, 0xe0, //0x000003c8 vpcmpeqb %xmm0, %xmm3, %xmm4 + 0xc5, 0xf9, 0xd7, 0xcc, //0x000003cc vpmovmskb %xmm4, %ecx + 0x48, 0xc1, 0xe1, 0x10, //0x000003d0 shlq $16, %rcx + 0x48, 0x09, 0xf9, //0x000003d4 orq %rdi, %rcx + 0xc5, 0xe9, 0x74, 0xd1, //0x000003d7 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x000003db vpmovmskb %xmm2, %ebx + 0xc5, 0xe1, 0x74, 0xd1, //0x000003df vpcmpeqb %xmm1, %xmm3, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000003e3 vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe7, 0x10, //0x000003e7 shlq $16, %rdi + 0x48, 0x09, 0xdf, //0x000003eb orq %rbx, %rdi + 0x48, 0x89, 0xfb, //0x000003ee movq %rdi, %rbx + 0x4c, 0x09, 0xe3, //0x000003f1 orq %r12, %rbx + 0x0f, 0x84, 0x96, 0xff, 0xff, 0xff, //0x000003f4 je LBB0_52 + 0x44, 0x89, 0xe3, //0x000003fa movl %r12d, %ebx + 0x44, 0x31, 0xcb, //0x000003fd xorl %r9d, %ebx + 0x21, 0xdf, //0x00000400 andl %ebx, %edi + 0x8d, 0x1c, 0x3f, //0x00000402 leal (%rdi,%rdi), %ebx + 0x44, 0x09, 0xe3, //0x00000405 orl %r12d, %ebx + 0x41, 0x8d, 0x91, 0xab, 0xaa, 0xaa, 0xaa, //0x00000408 leal $-1431655765(%r9), %edx + 0x31, 0xda, //0x0000040f xorl %ebx, %edx + 0x21, 0xfa, //0x00000411 andl %edi, %edx + 0x81, 0xe2, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000413 andl $-1431655766, %edx + 0x45, 0x31, 0xe4, //0x00000419 xorl %r12d, %r12d + 0x01, 0xfa, //0x0000041c addl %edi, %edx + 0x41, 0x0f, 0x92, 0xc4, //0x0000041e setb %r12b + 0x01, 0xd2, //0x00000422 addl %edx, %edx + 0x81, 0xf2, 0x55, 0x55, 0x55, 0x55, //0x00000424 xorl $1431655765, %edx + 0x21, 0xda, //0x0000042a andl %ebx, %edx + 0x44, 0x31, 0xca, //0x0000042c xorl %r9d, %edx + 0x21, 0xd1, //0x0000042f andl %edx, %ecx + 0x85, 0xc9, //0x00000431 testl %ecx, %ecx + 0x0f, 0x84, 0x62, 0xff, 0xff, 0xff, //0x00000433 je LBB0_53 + //0x00000439 LBB0_110 + 0x48, 0x0f, 0xbc, 0xc1, //0x00000439 bsfq %rcx, %rax + 0x49, 0x01, 0xc2, //0x0000043d addq %rax, %r10 + 0x4d, 0x01, 0xfa, //0x00000440 addq %r15, %r10 + 0x4d, 0x29, 0xf2, //0x00000443 subq %r14, %r10 + 0x49, 0x83, 0xc2, 0x02, //0x00000446 addq $2, %r10 + 0x4c, 0x89, 0x16, //0x0000044a movq %r10, (%rsi) + 0xe9, 0xb9, 0xfe, 0xff, 0xff, //0x0000044d jmp LBB0_44 + //0x00000452 LBB0_57 + 0x48, 0x8b, 0x4f, 0x08, //0x00000452 movq $8(%rdi), %rcx + 0x48, 0x29, 0xd9, //0x00000456 subq %rbx, %rcx + 0x49, 0x01, 0xde, //0x00000459 addq %rbx, %r14 + 0x45, 0x31, 0xe4, //0x0000045c xorl %r12d, %r12d + 0xc5, 0x7a, 0x6f, 0x15, 0xc9, 0xfb, 0xff, 0xff, //0x0000045f vmovdqu $-1079(%rip), %xmm10 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0xd1, 0xfb, 0xff, 0xff, //0x00000467 vmovdqu $-1071(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x31, 0x76, 0xc9, //0x0000046f vpcmpeqd %xmm9, %xmm9, %xmm9 + 0xc5, 0xfa, 0x6f, 0x1d, 0xe4, 0xfb, 0xff, 0xff, //0x00000474 vmovdqu $-1052(%rip), %xmm3 /* LCPI0_6+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x25, 0xec, 0xfb, 0xff, 0xff, //0x0000047c vmovdqu $-1044(%rip), %xmm4 /* LCPI0_7+0(%rip) */ + 0xc4, 0x41, 0x38, 0x57, 0xc0, //0x00000484 vxorps %xmm8, %xmm8, %xmm8 + 0x31, 0xdb, //0x00000489 xorl %ebx, %ebx + 0x45, 0x31, 0xc0, //0x0000048b xorl %r8d, %r8d + 0x45, 0x31, 0xff, //0x0000048e xorl %r15d, %r15d + 0x48, 0x83, 0xf9, 0x40, //0x00000491 cmpq $64, %rcx + 0x48, 0x89, 0x4c, 0x24, 0x08, //0x00000495 movq %rcx, $8(%rsp) + 0x4c, 0x89, 0x44, 0x24, 0x10, //0x0000049a movq %r8, $16(%rsp) + 0x0f, 0x8d, 0x33, 0x01, 0x00, 0x00, //0x0000049f jge LBB0_58 + //0x000004a5 LBB0_67 + 0x48, 0x85, 0xc9, //0x000004a5 testq %rcx, %rcx + 0x0f, 0x8e, 0x6b, 0x07, 0x00, 0x00, //0x000004a8 jle LBB0_118 + 0xc5, 0x7c, 0x11, 0x44, 0x24, 0x40, //0x000004ae vmovups %ymm8, $64(%rsp) + 0xc5, 0x7c, 0x11, 0x44, 0x24, 0x20, //0x000004b4 vmovups %ymm8, $32(%rsp) + 0x44, 0x89, 0xf1, //0x000004ba movl %r14d, %ecx + 0x81, 0xe1, 0xff, 0x0f, 0x00, 0x00, //0x000004bd andl $4095, %ecx + 0x81, 0xf9, 0xc1, 0x0f, 0x00, 0x00, //0x000004c3 cmpl $4033, %ecx + 0x0f, 0x82, 0x09, 0x01, 0x00, 0x00, //0x000004c9 jb LBB0_58 + 0x48, 0x83, 0x7c, 0x24, 0x08, 0x20, //0x000004cf cmpq $32, $8(%rsp) + 0x0f, 0x82, 0x2e, 0x00, 0x00, 0x00, //0x000004d5 jb LBB0_71 + 0xc4, 0xc1, 0x78, 0x10, 0x06, //0x000004db vmovups (%r14), %xmm0 + 0xc5, 0xf8, 0x11, 0x44, 0x24, 0x20, //0x000004e0 vmovups %xmm0, $32(%rsp) + 0xc4, 0xc1, 0x7a, 0x6f, 0x46, 0x10, //0x000004e6 vmovdqu $16(%r14), %xmm0 + 0xc5, 0xfa, 0x7f, 0x44, 0x24, 0x30, //0x000004ec vmovdqu %xmm0, $48(%rsp) + 0x49, 0x83, 0xc6, 0x20, //0x000004f2 addq $32, %r14 + 0x48, 0x8b, 0x4c, 0x24, 0x08, //0x000004f6 movq $8(%rsp), %rcx + 0x48, 0x8d, 0x51, 0xe0, //0x000004fb leaq $-32(%rcx), %rdx + 0x4c, 0x8d, 0x44, 0x24, 0x40, //0x000004ff leaq $64(%rsp), %r8 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00000504 jmp LBB0_72 + //0x00000509 LBB0_71 + 0x4c, 0x8d, 0x44, 0x24, 0x20, //0x00000509 leaq $32(%rsp), %r8 + 0x48, 0x8b, 0x54, 0x24, 0x08, //0x0000050e movq $8(%rsp), %rdx + //0x00000513 LBB0_72 + 0x48, 0x83, 0xfa, 0x10, //0x00000513 cmpq $16, %rdx + 0x0f, 0x82, 0x5c, 0x00, 0x00, 0x00, //0x00000517 jb LBB0_73 + 0xc4, 0xc1, 0x7a, 0x6f, 0x06, //0x0000051d vmovdqu (%r14), %xmm0 + 0xc4, 0xc1, 0x7a, 0x7f, 0x00, //0x00000522 vmovdqu %xmm0, (%r8) + 0x49, 0x83, 0xc6, 0x10, //0x00000527 addq $16, %r14 + 0x49, 0x83, 0xc0, 0x10, //0x0000052b addq $16, %r8 + 0x48, 0x83, 0xc2, 0xf0, //0x0000052f addq $-16, %rdx + 0x48, 0x83, 0xfa, 0x08, //0x00000533 cmpq $8, %rdx + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x00000537 jae LBB0_78 + //0x0000053d LBB0_74 + 0x48, 0x83, 0xfa, 0x04, //0x0000053d cmpq $4, %rdx + 0x0f, 0x8c, 0x58, 0x00, 0x00, 0x00, //0x00000541 jl LBB0_75 + //0x00000547 LBB0_79 + 0x41, 0x8b, 0x0e, //0x00000547 movl (%r14), %ecx + 0x41, 0x89, 0x08, //0x0000054a movl %ecx, (%r8) + 0x49, 0x83, 0xc6, 0x04, //0x0000054d addq $4, %r14 + 0x49, 0x83, 0xc0, 0x04, //0x00000551 addq $4, %r8 + 0x48, 0x83, 0xc2, 0xfc, //0x00000555 addq $-4, %rdx + 0x48, 0x83, 0xfa, 0x02, //0x00000559 cmpq $2, %rdx + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x0000055d jae LBB0_80 + //0x00000563 LBB0_76 + 0x4c, 0x89, 0xf1, //0x00000563 movq %r14, %rcx + 0x4c, 0x8d, 0x74, 0x24, 0x20, //0x00000566 leaq $32(%rsp), %r14 + 0x48, 0x85, 0xd2, //0x0000056b testq %rdx, %rdx + 0x0f, 0x85, 0x5a, 0x00, 0x00, 0x00, //0x0000056e jne LBB0_81 + 0xe9, 0x5f, 0x00, 0x00, 0x00, //0x00000574 jmp LBB0_58 + //0x00000579 LBB0_73 + 0x48, 0x83, 0xfa, 0x08, //0x00000579 cmpq $8, %rdx + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x0000057d jb LBB0_74 + //0x00000583 LBB0_78 + 0x49, 0x8b, 0x0e, //0x00000583 movq (%r14), %rcx + 0x49, 0x89, 0x08, //0x00000586 movq %rcx, (%r8) + 0x49, 0x83, 0xc6, 0x08, //0x00000589 addq $8, %r14 + 0x49, 0x83, 0xc0, 0x08, //0x0000058d addq $8, %r8 + 0x48, 0x83, 0xc2, 0xf8, //0x00000591 addq $-8, %rdx + 0x48, 0x83, 0xfa, 0x04, //0x00000595 cmpq $4, %rdx + 0x0f, 0x8d, 0xa8, 0xff, 0xff, 0xff, //0x00000599 jge LBB0_79 + //0x0000059f LBB0_75 + 0x48, 0x83, 0xfa, 0x02, //0x0000059f cmpq $2, %rdx + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x000005a3 jb LBB0_76 + //0x000005a9 LBB0_80 + 0x41, 0x0f, 0xb7, 0x0e, //0x000005a9 movzwl (%r14), %ecx + 0x66, 0x41, 0x89, 0x08, //0x000005ad movw %cx, (%r8) + 0x49, 0x83, 0xc6, 0x02, //0x000005b1 addq $2, %r14 + 0x49, 0x83, 0xc0, 0x02, //0x000005b5 addq $2, %r8 + 0x48, 0x83, 0xc2, 0xfe, //0x000005b9 addq $-2, %rdx + 0x4c, 0x89, 0xf1, //0x000005bd movq %r14, %rcx + 0x4c, 0x8d, 0x74, 0x24, 0x20, //0x000005c0 leaq $32(%rsp), %r14 + 0x48, 0x85, 0xd2, //0x000005c5 testq %rdx, %rdx + 0x0f, 0x84, 0x0a, 0x00, 0x00, 0x00, //0x000005c8 je LBB0_58 + //0x000005ce LBB0_81 + 0x8a, 0x09, //0x000005ce movb (%rcx), %cl + 0x41, 0x88, 0x08, //0x000005d0 movb %cl, (%r8) + 0x4c, 0x8d, 0x74, 0x24, 0x20, //0x000005d3 leaq $32(%rsp), %r14 + //0x000005d8 LBB0_58 + 0xc4, 0xc1, 0x7a, 0x6f, 0x16, //0x000005d8 vmovdqu (%r14), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6e, 0x10, //0x000005dd vmovdqu $16(%r14), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7e, 0x20, //0x000005e3 vmovdqu $32(%r14), %xmm7 + 0xc4, 0xc1, 0x7a, 0x6f, 0x76, 0x30, //0x000005e9 vmovdqu $48(%r14), %xmm6 + 0xc5, 0xa9, 0x74, 0xc2, //0x000005ef vpcmpeqb %xmm2, %xmm10, %xmm0 + 0xc5, 0x79, 0xd7, 0xe8, //0x000005f3 vpmovmskb %xmm0, %r13d + 0xc5, 0xa9, 0x74, 0xc5, //0x000005f7 vpcmpeqb %xmm5, %xmm10, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc8, //0x000005fb vpmovmskb %xmm0, %ecx + 0xc5, 0xa9, 0x74, 0xc7, //0x000005ff vpcmpeqb %xmm7, %xmm10, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x00000603 vpmovmskb %xmm0, %edx + 0xc5, 0xa9, 0x74, 0xc6, //0x00000607 vpcmpeqb %xmm6, %xmm10, %xmm0 + 0xc5, 0x79, 0xd7, 0xc8, //0x0000060b vpmovmskb %xmm0, %r9d + 0x49, 0xc1, 0xe1, 0x30, //0x0000060f shlq $48, %r9 + 0x48, 0xc1, 0xe2, 0x20, //0x00000613 shlq $32, %rdx + 0x48, 0xc1, 0xe1, 0x10, //0x00000617 shlq $16, %rcx + 0x49, 0x09, 0xcd, //0x0000061b orq %rcx, %r13 + 0x49, 0x09, 0xd5, //0x0000061e orq %rdx, %r13 + 0x4d, 0x09, 0xcd, //0x00000621 orq %r9, %r13 + 0xc5, 0xe9, 0x74, 0xc1, //0x00000624 vpcmpeqb %xmm1, %xmm2, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc8, //0x00000628 vpmovmskb %xmm0, %ecx + 0xc5, 0xd1, 0x74, 0xc1, //0x0000062c vpcmpeqb %xmm1, %xmm5, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x00000630 vpmovmskb %xmm0, %edx + 0xc5, 0xc1, 0x74, 0xc1, //0x00000634 vpcmpeqb %xmm1, %xmm7, %xmm0 + 0xc5, 0x79, 0xd7, 0xc8, //0x00000638 vpmovmskb %xmm0, %r9d + 0xc5, 0xc9, 0x74, 0xc1, //0x0000063c vpcmpeqb %xmm1, %xmm6, %xmm0 + 0xc5, 0x79, 0xd7, 0xd0, //0x00000640 vpmovmskb %xmm0, %r10d + 0x49, 0xc1, 0xe2, 0x30, //0x00000644 shlq $48, %r10 + 0x49, 0xc1, 0xe1, 0x20, //0x00000648 shlq $32, %r9 + 0x48, 0xc1, 0xe2, 0x10, //0x0000064c shlq $16, %rdx + 0x48, 0x09, 0xd1, //0x00000650 orq %rdx, %rcx + 0x4c, 0x09, 0xc9, //0x00000653 orq %r9, %rcx + 0x4c, 0x09, 0xd1, //0x00000656 orq %r10, %rcx + 0x48, 0x89, 0xca, //0x00000659 movq %rcx, %rdx + 0x48, 0x09, 0xda, //0x0000065c orq %rbx, %rdx + 0x0f, 0x84, 0x49, 0x00, 0x00, 0x00, //0x0000065f je LBB0_60 + 0x48, 0x89, 0xda, //0x00000665 movq %rbx, %rdx + 0x48, 0xf7, 0xd2, //0x00000668 notq %rdx + 0x48, 0x21, 0xca, //0x0000066b andq %rcx, %rdx + 0x4c, 0x8d, 0x0c, 0x12, //0x0000066e leaq (%rdx,%rdx), %r9 + 0x49, 0x09, 0xd9, //0x00000672 orq %rbx, %r9 + 0x4d, 0x89, 0xca, //0x00000675 movq %r9, %r10 + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000678 movabsq $-6148914691236517206, %rbx + 0x49, 0x31, 0xda, //0x00000682 xorq %rbx, %r10 + 0x48, 0x21, 0xd9, //0x00000685 andq %rbx, %rcx + 0x4c, 0x21, 0xd1, //0x00000688 andq %r10, %rcx + 0x31, 0xdb, //0x0000068b xorl %ebx, %ebx + 0x48, 0x01, 0xd1, //0x0000068d addq %rdx, %rcx + 0x0f, 0x92, 0xc3, //0x00000690 setb %bl + 0x48, 0x01, 0xc9, //0x00000693 addq %rcx, %rcx + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000696 movabsq $6148914691236517205, %rdx + 0x48, 0x31, 0xd1, //0x000006a0 xorq %rdx, %rcx + 0x4c, 0x21, 0xc9, //0x000006a3 andq %r9, %rcx + 0x48, 0xf7, 0xd1, //0x000006a6 notq %rcx + 0xe9, 0x09, 0x00, 0x00, 0x00, //0x000006a9 jmp LBB0_61 + //0x000006ae LBB0_60 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000006ae movq $-1, %rcx + 0x31, 0xdb, //0x000006b5 xorl %ebx, %ebx + //0x000006b7 LBB0_61 + 0x48, 0x89, 0x5c, 0x24, 0x18, //0x000006b7 movq %rbx, $24(%rsp) + 0x4c, 0x21, 0xe9, //0x000006bc andq %r13, %rcx + 0xc4, 0xe1, 0xf9, 0x6e, 0xc1, //0x000006bf vmovq %rcx, %xmm0 + 0xc4, 0xc3, 0x79, 0x44, 0xc1, 0x00, //0x000006c4 vpclmulqdq $0, %xmm9, %xmm0, %xmm0 + 0xc4, 0xc1, 0xf9, 0x7e, 0xc5, //0x000006ca vmovq %xmm0, %r13 + 0x4d, 0x31, 0xe5, //0x000006cf xorq %r12, %r13 + 0xc5, 0xe9, 0x74, 0xc3, //0x000006d2 vpcmpeqb %xmm3, %xmm2, %xmm0 + 0xc5, 0x79, 0xd7, 0xd0, //0x000006d6 vpmovmskb %xmm0, %r10d + 0xc5, 0xd1, 0x74, 0xc3, //0x000006da vpcmpeqb %xmm3, %xmm5, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc8, //0x000006de vpmovmskb %xmm0, %ecx + 0xc5, 0xc1, 0x74, 0xc3, //0x000006e2 vpcmpeqb %xmm3, %xmm7, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x000006e6 vpmovmskb %xmm0, %edx + 0xc5, 0xc9, 0x74, 0xc3, //0x000006ea vpcmpeqb %xmm3, %xmm6, %xmm0 + 0xc5, 0x79, 0xd7, 0xc8, //0x000006ee vpmovmskb %xmm0, %r9d + 0x49, 0xc1, 0xe1, 0x30, //0x000006f2 shlq $48, %r9 + 0x48, 0xc1, 0xe2, 0x20, //0x000006f6 shlq $32, %rdx + 0x48, 0xc1, 0xe1, 0x10, //0x000006fa shlq $16, %rcx + 0x49, 0x09, 0xca, //0x000006fe orq %rcx, %r10 + 0x49, 0x09, 0xd2, //0x00000701 orq %rdx, %r10 + 0x4d, 0x09, 0xca, //0x00000704 orq %r9, %r10 + 0x4d, 0x89, 0xe9, //0x00000707 movq %r13, %r9 + 0x49, 0xf7, 0xd1, //0x0000070a notq %r9 + 0x4d, 0x21, 0xca, //0x0000070d andq %r9, %r10 + 0xc5, 0xe9, 0x74, 0xc4, //0x00000710 vpcmpeqb %xmm4, %xmm2, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc8, //0x00000714 vpmovmskb %xmm0, %ecx + 0xc5, 0xd1, 0x74, 0xc4, //0x00000718 vpcmpeqb %xmm4, %xmm5, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x0000071c vpmovmskb %xmm0, %edx + 0xc5, 0xc1, 0x74, 0xc4, //0x00000720 vpcmpeqb %xmm4, %xmm7, %xmm0 + 0xc5, 0x79, 0xd7, 0xc0, //0x00000724 vpmovmskb %xmm0, %r8d + 0xc5, 0xc9, 0x74, 0xc4, //0x00000728 vpcmpeqb %xmm4, %xmm6, %xmm0 + 0xc5, 0x79, 0xd7, 0xe0, //0x0000072c vpmovmskb %xmm0, %r12d + 0x49, 0xc1, 0xe4, 0x30, //0x00000730 shlq $48, %r12 + 0x49, 0xc1, 0xe0, 0x20, //0x00000734 shlq $32, %r8 + 0x48, 0xc1, 0xe2, 0x10, //0x00000738 shlq $16, %rdx + 0x48, 0x09, 0xd1, //0x0000073c orq %rdx, %rcx + 0x4c, 0x09, 0xc1, //0x0000073f orq %r8, %rcx + 0x4c, 0x09, 0xe1, //0x00000742 orq %r12, %rcx + 0x4c, 0x21, 0xc9, //0x00000745 andq %r9, %rcx + 0x0f, 0x84, 0x3e, 0x00, 0x00, 0x00, //0x00000748 je LBB0_65 + 0x4c, 0x8b, 0x44, 0x24, 0x10, //0x0000074e movq $16(%rsp), %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000753 .p2align 4, 0x90 + //0x00000760 LBB0_63 + 0x48, 0x8d, 0x59, 0xff, //0x00000760 leaq $-1(%rcx), %rbx + 0x48, 0x89, 0xda, //0x00000764 movq %rbx, %rdx + 0x4c, 0x21, 0xd2, //0x00000767 andq %r10, %rdx + 0xf3, 0x48, 0x0f, 0xb8, 0xd2, //0x0000076a popcntq %rdx, %rdx + 0x4c, 0x01, 0xc2, //0x0000076f addq %r8, %rdx + 0x4c, 0x39, 0xfa, //0x00000772 cmpq %r15, %rdx + 0x0f, 0x86, 0xe0, 0x03, 0x00, 0x00, //0x00000775 jbe LBB0_109 + 0x49, 0xff, 0xc7, //0x0000077b incq %r15 + 0x48, 0x21, 0xd9, //0x0000077e andq %rbx, %rcx + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00000781 jne LBB0_63 + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00000787 jmp LBB0_66 + //0x0000078c LBB0_65 + 0x4c, 0x8b, 0x44, 0x24, 0x10, //0x0000078c movq $16(%rsp), %r8 + //0x00000791 LBB0_66 + 0x49, 0xc1, 0xfd, 0x3f, //0x00000791 sarq $63, %r13 + 0xf3, 0x49, 0x0f, 0xb8, 0xca, //0x00000795 popcntq %r10, %rcx + 0x49, 0x01, 0xc8, //0x0000079a addq %rcx, %r8 + 0x49, 0x83, 0xc6, 0x40, //0x0000079d addq $64, %r14 + 0x48, 0x8b, 0x4c, 0x24, 0x08, //0x000007a1 movq $8(%rsp), %rcx + 0x48, 0x83, 0xc1, 0xc0, //0x000007a6 addq $-64, %rcx + 0x4d, 0x89, 0xec, //0x000007aa movq %r13, %r12 + 0x48, 0x8b, 0x5c, 0x24, 0x18, //0x000007ad movq $24(%rsp), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x000007b2 cmpq $64, %rcx + 0x48, 0x89, 0x4c, 0x24, 0x08, //0x000007b6 movq %rcx, $8(%rsp) + 0x4c, 0x89, 0x44, 0x24, 0x10, //0x000007bb movq %r8, $16(%rsp) + 0x0f, 0x8d, 0x12, 0xfe, 0xff, 0xff, //0x000007c0 jge LBB0_58 + 0xe9, 0xda, 0xfc, 0xff, 0xff, //0x000007c6 jmp LBB0_67 + //0x000007cb LBB0_82 + 0x49, 0x8d, 0x4b, 0x05, //0x000007cb leaq $5(%r11), %rcx + 0x48, 0x3b, 0x4f, 0x08, //0x000007cf cmpq $8(%rdi), %rcx + 0x0f, 0x87, 0x35, 0xfb, 0xff, 0xff, //0x000007d3 ja LBB0_45 + //0x000007d9 LBB0_83 + 0x48, 0x89, 0x0e, //0x000007d9 movq %rcx, (%rsi) + 0xe9, 0x2a, 0xfb, 0xff, 0xff, //0x000007dc jmp LBB0_44 + //0x000007e1 LBB0_84 + 0x48, 0x8b, 0x4f, 0x08, //0x000007e1 movq $8(%rdi), %rcx + 0x48, 0x29, 0xd9, //0x000007e5 subq %rbx, %rcx + 0x49, 0x01, 0xde, //0x000007e8 addq %rbx, %r14 + 0x45, 0x31, 0xe4, //0x000007eb xorl %r12d, %r12d + 0xc5, 0x7a, 0x6f, 0x15, 0x3a, 0xf8, 0xff, 0xff, //0x000007ee vmovdqu $-1990(%rip), %xmm10 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0x42, 0xf8, 0xff, 0xff, //0x000007f6 vmovdqu $-1982(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x31, 0x76, 0xc9, //0x000007fe vpcmpeqd %xmm9, %xmm9, %xmm9 + 0xc5, 0xfa, 0x6f, 0x1d, 0x45, 0xf8, 0xff, 0xff, //0x00000803 vmovdqu $-1979(%rip), %xmm3 /* LCPI0_5+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x25, 0x0d, 0xf8, 0xff, 0xff, //0x0000080b vmovdqu $-2035(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc4, 0x41, 0x38, 0x57, 0xc0, //0x00000813 vxorps %xmm8, %xmm8, %xmm8 + 0x31, 0xdb, //0x00000818 xorl %ebx, %ebx + 0x45, 0x31, 0xc0, //0x0000081a xorl %r8d, %r8d + 0x45, 0x31, 0xff, //0x0000081d xorl %r15d, %r15d + 0x48, 0x83, 0xf9, 0x40, //0x00000820 cmpq $64, %rcx + 0x48, 0x89, 0x4c, 0x24, 0x08, //0x00000824 movq %rcx, $8(%rsp) + 0x4c, 0x89, 0x44, 0x24, 0x10, //0x00000829 movq %r8, $16(%rsp) + 0x0f, 0x8d, 0x33, 0x01, 0x00, 0x00, //0x0000082e jge LBB0_85 + //0x00000834 LBB0_94 + 0x48, 0x85, 0xc9, //0x00000834 testq %rcx, %rcx + 0x0f, 0x8e, 0xdc, 0x03, 0x00, 0x00, //0x00000837 jle LBB0_118 + 0xc5, 0x7c, 0x11, 0x44, 0x24, 0x40, //0x0000083d vmovups %ymm8, $64(%rsp) + 0xc5, 0x7c, 0x11, 0x44, 0x24, 0x20, //0x00000843 vmovups %ymm8, $32(%rsp) + 0x44, 0x89, 0xf1, //0x00000849 movl %r14d, %ecx + 0x81, 0xe1, 0xff, 0x0f, 0x00, 0x00, //0x0000084c andl $4095, %ecx + 0x81, 0xf9, 0xc1, 0x0f, 0x00, 0x00, //0x00000852 cmpl $4033, %ecx + 0x0f, 0x82, 0x09, 0x01, 0x00, 0x00, //0x00000858 jb LBB0_85 + 0x48, 0x83, 0x7c, 0x24, 0x08, 0x20, //0x0000085e cmpq $32, $8(%rsp) + 0x0f, 0x82, 0x2e, 0x00, 0x00, 0x00, //0x00000864 jb LBB0_98 + 0xc4, 0xc1, 0x78, 0x10, 0x06, //0x0000086a vmovups (%r14), %xmm0 + 0xc5, 0xf8, 0x11, 0x44, 0x24, 0x20, //0x0000086f vmovups %xmm0, $32(%rsp) + 0xc4, 0xc1, 0x7a, 0x6f, 0x46, 0x10, //0x00000875 vmovdqu $16(%r14), %xmm0 + 0xc5, 0xfa, 0x7f, 0x44, 0x24, 0x30, //0x0000087b vmovdqu %xmm0, $48(%rsp) + 0x49, 0x83, 0xc6, 0x20, //0x00000881 addq $32, %r14 + 0x48, 0x8b, 0x4c, 0x24, 0x08, //0x00000885 movq $8(%rsp), %rcx + 0x48, 0x8d, 0x51, 0xe0, //0x0000088a leaq $-32(%rcx), %rdx + 0x4c, 0x8d, 0x44, 0x24, 0x40, //0x0000088e leaq $64(%rsp), %r8 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00000893 jmp LBB0_99 + //0x00000898 LBB0_98 + 0x4c, 0x8d, 0x44, 0x24, 0x20, //0x00000898 leaq $32(%rsp), %r8 + 0x48, 0x8b, 0x54, 0x24, 0x08, //0x0000089d movq $8(%rsp), %rdx + //0x000008a2 LBB0_99 + 0x48, 0x83, 0xfa, 0x10, //0x000008a2 cmpq $16, %rdx + 0x0f, 0x82, 0x5c, 0x00, 0x00, 0x00, //0x000008a6 jb LBB0_100 + 0xc4, 0xc1, 0x7a, 0x6f, 0x06, //0x000008ac vmovdqu (%r14), %xmm0 + 0xc4, 0xc1, 0x7a, 0x7f, 0x00, //0x000008b1 vmovdqu %xmm0, (%r8) + 0x49, 0x83, 0xc6, 0x10, //0x000008b6 addq $16, %r14 + 0x49, 0x83, 0xc0, 0x10, //0x000008ba addq $16, %r8 + 0x48, 0x83, 0xc2, 0xf0, //0x000008be addq $-16, %rdx + 0x48, 0x83, 0xfa, 0x08, //0x000008c2 cmpq $8, %rdx + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x000008c6 jae LBB0_105 + //0x000008cc LBB0_101 + 0x48, 0x83, 0xfa, 0x04, //0x000008cc cmpq $4, %rdx + 0x0f, 0x8c, 0x58, 0x00, 0x00, 0x00, //0x000008d0 jl LBB0_102 + //0x000008d6 LBB0_106 + 0x41, 0x8b, 0x0e, //0x000008d6 movl (%r14), %ecx + 0x41, 0x89, 0x08, //0x000008d9 movl %ecx, (%r8) + 0x49, 0x83, 0xc6, 0x04, //0x000008dc addq $4, %r14 + 0x49, 0x83, 0xc0, 0x04, //0x000008e0 addq $4, %r8 + 0x48, 0x83, 0xc2, 0xfc, //0x000008e4 addq $-4, %rdx + 0x48, 0x83, 0xfa, 0x02, //0x000008e8 cmpq $2, %rdx + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x000008ec jae LBB0_107 + //0x000008f2 LBB0_103 + 0x4c, 0x89, 0xf1, //0x000008f2 movq %r14, %rcx + 0x4c, 0x8d, 0x74, 0x24, 0x20, //0x000008f5 leaq $32(%rsp), %r14 + 0x48, 0x85, 0xd2, //0x000008fa testq %rdx, %rdx + 0x0f, 0x85, 0x5a, 0x00, 0x00, 0x00, //0x000008fd jne LBB0_108 + 0xe9, 0x5f, 0x00, 0x00, 0x00, //0x00000903 jmp LBB0_85 + //0x00000908 LBB0_100 + 0x48, 0x83, 0xfa, 0x08, //0x00000908 cmpq $8, %rdx + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x0000090c jb LBB0_101 + //0x00000912 LBB0_105 + 0x49, 0x8b, 0x0e, //0x00000912 movq (%r14), %rcx + 0x49, 0x89, 0x08, //0x00000915 movq %rcx, (%r8) + 0x49, 0x83, 0xc6, 0x08, //0x00000918 addq $8, %r14 + 0x49, 0x83, 0xc0, 0x08, //0x0000091c addq $8, %r8 + 0x48, 0x83, 0xc2, 0xf8, //0x00000920 addq $-8, %rdx + 0x48, 0x83, 0xfa, 0x04, //0x00000924 cmpq $4, %rdx + 0x0f, 0x8d, 0xa8, 0xff, 0xff, 0xff, //0x00000928 jge LBB0_106 + //0x0000092e LBB0_102 + 0x48, 0x83, 0xfa, 0x02, //0x0000092e cmpq $2, %rdx + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x00000932 jb LBB0_103 + //0x00000938 LBB0_107 + 0x41, 0x0f, 0xb7, 0x0e, //0x00000938 movzwl (%r14), %ecx + 0x66, 0x41, 0x89, 0x08, //0x0000093c movw %cx, (%r8) + 0x49, 0x83, 0xc6, 0x02, //0x00000940 addq $2, %r14 + 0x49, 0x83, 0xc0, 0x02, //0x00000944 addq $2, %r8 + 0x48, 0x83, 0xc2, 0xfe, //0x00000948 addq $-2, %rdx + 0x4c, 0x89, 0xf1, //0x0000094c movq %r14, %rcx + 0x4c, 0x8d, 0x74, 0x24, 0x20, //0x0000094f leaq $32(%rsp), %r14 + 0x48, 0x85, 0xd2, //0x00000954 testq %rdx, %rdx + 0x0f, 0x84, 0x0a, 0x00, 0x00, 0x00, //0x00000957 je LBB0_85 + //0x0000095d LBB0_108 + 0x8a, 0x09, //0x0000095d movb (%rcx), %cl + 0x41, 0x88, 0x08, //0x0000095f movb %cl, (%r8) + 0x4c, 0x8d, 0x74, 0x24, 0x20, //0x00000962 leaq $32(%rsp), %r14 + //0x00000967 LBB0_85 + 0xc4, 0xc1, 0x7a, 0x6f, 0x16, //0x00000967 vmovdqu (%r14), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6e, 0x10, //0x0000096c vmovdqu $16(%r14), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7e, 0x20, //0x00000972 vmovdqu $32(%r14), %xmm7 + 0xc4, 0xc1, 0x7a, 0x6f, 0x76, 0x30, //0x00000978 vmovdqu $48(%r14), %xmm6 + 0xc5, 0xa9, 0x74, 0xc2, //0x0000097e vpcmpeqb %xmm2, %xmm10, %xmm0 + 0xc5, 0x79, 0xd7, 0xe8, //0x00000982 vpmovmskb %xmm0, %r13d + 0xc5, 0xa9, 0x74, 0xc5, //0x00000986 vpcmpeqb %xmm5, %xmm10, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc8, //0x0000098a vpmovmskb %xmm0, %ecx + 0xc5, 0xa9, 0x74, 0xc7, //0x0000098e vpcmpeqb %xmm7, %xmm10, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x00000992 vpmovmskb %xmm0, %edx + 0xc5, 0xa9, 0x74, 0xc6, //0x00000996 vpcmpeqb %xmm6, %xmm10, %xmm0 + 0xc5, 0x79, 0xd7, 0xc8, //0x0000099a vpmovmskb %xmm0, %r9d + 0x49, 0xc1, 0xe1, 0x30, //0x0000099e shlq $48, %r9 + 0x48, 0xc1, 0xe2, 0x20, //0x000009a2 shlq $32, %rdx + 0x48, 0xc1, 0xe1, 0x10, //0x000009a6 shlq $16, %rcx + 0x49, 0x09, 0xcd, //0x000009aa orq %rcx, %r13 + 0x49, 0x09, 0xd5, //0x000009ad orq %rdx, %r13 + 0x4d, 0x09, 0xcd, //0x000009b0 orq %r9, %r13 + 0xc5, 0xe9, 0x74, 0xc1, //0x000009b3 vpcmpeqb %xmm1, %xmm2, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc8, //0x000009b7 vpmovmskb %xmm0, %ecx + 0xc5, 0xd1, 0x74, 0xc1, //0x000009bb vpcmpeqb %xmm1, %xmm5, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x000009bf vpmovmskb %xmm0, %edx + 0xc5, 0xc1, 0x74, 0xc1, //0x000009c3 vpcmpeqb %xmm1, %xmm7, %xmm0 + 0xc5, 0x79, 0xd7, 0xc8, //0x000009c7 vpmovmskb %xmm0, %r9d + 0xc5, 0xc9, 0x74, 0xc1, //0x000009cb vpcmpeqb %xmm1, %xmm6, %xmm0 + 0xc5, 0x79, 0xd7, 0xd0, //0x000009cf vpmovmskb %xmm0, %r10d + 0x49, 0xc1, 0xe2, 0x30, //0x000009d3 shlq $48, %r10 + 0x49, 0xc1, 0xe1, 0x20, //0x000009d7 shlq $32, %r9 + 0x48, 0xc1, 0xe2, 0x10, //0x000009db shlq $16, %rdx + 0x48, 0x09, 0xd1, //0x000009df orq %rdx, %rcx + 0x4c, 0x09, 0xc9, //0x000009e2 orq %r9, %rcx + 0x4c, 0x09, 0xd1, //0x000009e5 orq %r10, %rcx + 0x48, 0x89, 0xca, //0x000009e8 movq %rcx, %rdx + 0x48, 0x09, 0xda, //0x000009eb orq %rbx, %rdx + 0x0f, 0x84, 0x49, 0x00, 0x00, 0x00, //0x000009ee je LBB0_87 + 0x48, 0x89, 0xda, //0x000009f4 movq %rbx, %rdx + 0x48, 0xf7, 0xd2, //0x000009f7 notq %rdx + 0x48, 0x21, 0xca, //0x000009fa andq %rcx, %rdx + 0x4c, 0x8d, 0x0c, 0x12, //0x000009fd leaq (%rdx,%rdx), %r9 + 0x49, 0x09, 0xd9, //0x00000a01 orq %rbx, %r9 + 0x4d, 0x89, 0xca, //0x00000a04 movq %r9, %r10 + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000a07 movabsq $-6148914691236517206, %rbx + 0x49, 0x31, 0xda, //0x00000a11 xorq %rbx, %r10 + 0x48, 0x21, 0xd9, //0x00000a14 andq %rbx, %rcx + 0x4c, 0x21, 0xd1, //0x00000a17 andq %r10, %rcx + 0x31, 0xdb, //0x00000a1a xorl %ebx, %ebx + 0x48, 0x01, 0xd1, //0x00000a1c addq %rdx, %rcx + 0x0f, 0x92, 0xc3, //0x00000a1f setb %bl + 0x48, 0x01, 0xc9, //0x00000a22 addq %rcx, %rcx + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000a25 movabsq $6148914691236517205, %rdx + 0x48, 0x31, 0xd1, //0x00000a2f xorq %rdx, %rcx + 0x4c, 0x21, 0xc9, //0x00000a32 andq %r9, %rcx + 0x48, 0xf7, 0xd1, //0x00000a35 notq %rcx + 0xe9, 0x09, 0x00, 0x00, 0x00, //0x00000a38 jmp LBB0_88 + //0x00000a3d LBB0_87 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000a3d movq $-1, %rcx + 0x31, 0xdb, //0x00000a44 xorl %ebx, %ebx + //0x00000a46 LBB0_88 + 0x48, 0x89, 0x5c, 0x24, 0x18, //0x00000a46 movq %rbx, $24(%rsp) + 0x4c, 0x21, 0xe9, //0x00000a4b andq %r13, %rcx + 0xc4, 0xe1, 0xf9, 0x6e, 0xc1, //0x00000a4e vmovq %rcx, %xmm0 + 0xc4, 0xc3, 0x79, 0x44, 0xc1, 0x00, //0x00000a53 vpclmulqdq $0, %xmm9, %xmm0, %xmm0 + 0xc4, 0xc1, 0xf9, 0x7e, 0xc5, //0x00000a59 vmovq %xmm0, %r13 + 0x4d, 0x31, 0xe5, //0x00000a5e xorq %r12, %r13 + 0xc5, 0xe9, 0x74, 0xc3, //0x00000a61 vpcmpeqb %xmm3, %xmm2, %xmm0 + 0xc5, 0x79, 0xd7, 0xd0, //0x00000a65 vpmovmskb %xmm0, %r10d + 0xc5, 0xd1, 0x74, 0xc3, //0x00000a69 vpcmpeqb %xmm3, %xmm5, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc8, //0x00000a6d vpmovmskb %xmm0, %ecx + 0xc5, 0xc1, 0x74, 0xc3, //0x00000a71 vpcmpeqb %xmm3, %xmm7, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x00000a75 vpmovmskb %xmm0, %edx + 0xc5, 0xc9, 0x74, 0xc3, //0x00000a79 vpcmpeqb %xmm3, %xmm6, %xmm0 + 0xc5, 0x79, 0xd7, 0xc8, //0x00000a7d vpmovmskb %xmm0, %r9d + 0x49, 0xc1, 0xe1, 0x30, //0x00000a81 shlq $48, %r9 + 0x48, 0xc1, 0xe2, 0x20, //0x00000a85 shlq $32, %rdx + 0x48, 0xc1, 0xe1, 0x10, //0x00000a89 shlq $16, %rcx + 0x49, 0x09, 0xca, //0x00000a8d orq %rcx, %r10 + 0x49, 0x09, 0xd2, //0x00000a90 orq %rdx, %r10 + 0x4d, 0x09, 0xca, //0x00000a93 orq %r9, %r10 + 0x4d, 0x89, 0xe9, //0x00000a96 movq %r13, %r9 + 0x49, 0xf7, 0xd1, //0x00000a99 notq %r9 + 0x4d, 0x21, 0xca, //0x00000a9c andq %r9, %r10 + 0xc5, 0xe9, 0x74, 0xc4, //0x00000a9f vpcmpeqb %xmm4, %xmm2, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc8, //0x00000aa3 vpmovmskb %xmm0, %ecx + 0xc5, 0xd1, 0x74, 0xc4, //0x00000aa7 vpcmpeqb %xmm4, %xmm5, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x00000aab vpmovmskb %xmm0, %edx + 0xc5, 0xc1, 0x74, 0xc4, //0x00000aaf vpcmpeqb %xmm4, %xmm7, %xmm0 + 0xc5, 0x79, 0xd7, 0xc0, //0x00000ab3 vpmovmskb %xmm0, %r8d + 0xc5, 0xc9, 0x74, 0xc4, //0x00000ab7 vpcmpeqb %xmm4, %xmm6, %xmm0 + 0xc5, 0x79, 0xd7, 0xe0, //0x00000abb vpmovmskb %xmm0, %r12d + 0x49, 0xc1, 0xe4, 0x30, //0x00000abf shlq $48, %r12 + 0x49, 0xc1, 0xe0, 0x20, //0x00000ac3 shlq $32, %r8 + 0x48, 0xc1, 0xe2, 0x10, //0x00000ac7 shlq $16, %rdx + 0x48, 0x09, 0xd1, //0x00000acb orq %rdx, %rcx + 0x4c, 0x09, 0xc1, //0x00000ace orq %r8, %rcx + 0x4c, 0x09, 0xe1, //0x00000ad1 orq %r12, %rcx + 0x4c, 0x21, 0xc9, //0x00000ad4 andq %r9, %rcx + 0x0f, 0x84, 0x3f, 0x00, 0x00, 0x00, //0x00000ad7 je LBB0_92 + 0x4c, 0x8b, 0x44, 0x24, 0x10, //0x00000add movq $16(%rsp), %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000ae2 .p2align 4, 0x90 + //0x00000af0 LBB0_90 + 0x48, 0x8d, 0x59, 0xff, //0x00000af0 leaq $-1(%rcx), %rbx + 0x48, 0x89, 0xda, //0x00000af4 movq %rbx, %rdx + 0x4c, 0x21, 0xd2, //0x00000af7 andq %r10, %rdx + 0xf3, 0x48, 0x0f, 0xb8, 0xd2, //0x00000afa popcntq %rdx, %rdx + 0x4c, 0x01, 0xc2, //0x00000aff addq %r8, %rdx + 0x4c, 0x39, 0xfa, //0x00000b02 cmpq %r15, %rdx + 0x0f, 0x86, 0x50, 0x00, 0x00, 0x00, //0x00000b05 jbe LBB0_109 + 0x49, 0xff, 0xc7, //0x00000b0b incq %r15 + 0x48, 0x21, 0xd9, //0x00000b0e andq %rbx, %rcx + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00000b11 jne LBB0_90 + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00000b17 jmp LBB0_93 + //0x00000b1c LBB0_92 + 0x4c, 0x8b, 0x44, 0x24, 0x10, //0x00000b1c movq $16(%rsp), %r8 + //0x00000b21 LBB0_93 + 0x49, 0xc1, 0xfd, 0x3f, //0x00000b21 sarq $63, %r13 + 0xf3, 0x49, 0x0f, 0xb8, 0xca, //0x00000b25 popcntq %r10, %rcx + 0x49, 0x01, 0xc8, //0x00000b2a addq %rcx, %r8 + 0x49, 0x83, 0xc6, 0x40, //0x00000b2d addq $64, %r14 + 0x48, 0x8b, 0x4c, 0x24, 0x08, //0x00000b31 movq $8(%rsp), %rcx + 0x48, 0x83, 0xc1, 0xc0, //0x00000b36 addq $-64, %rcx + 0x4d, 0x89, 0xec, //0x00000b3a movq %r13, %r12 + 0x48, 0x8b, 0x5c, 0x24, 0x18, //0x00000b3d movq $24(%rsp), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x00000b42 cmpq $64, %rcx + 0x48, 0x89, 0x4c, 0x24, 0x08, //0x00000b46 movq %rcx, $8(%rsp) + 0x4c, 0x89, 0x44, 0x24, 0x10, //0x00000b4b movq %r8, $16(%rsp) + 0x0f, 0x8d, 0x11, 0xfe, 0xff, 0xff, //0x00000b50 jge LBB0_85 + 0xe9, 0xd9, 0xfc, 0xff, 0xff, //0x00000b56 jmp LBB0_94 + //0x00000b5b LBB0_109 + 0x48, 0x8b, 0x47, 0x08, //0x00000b5b movq $8(%rdi), %rax + 0x48, 0x0f, 0xbc, 0xc9, //0x00000b5f bsfq %rcx, %rcx + 0x48, 0x2b, 0x4c, 0x24, 0x08, //0x00000b63 subq $8(%rsp), %rcx + 0x48, 0x8d, 0x44, 0x01, 0x01, //0x00000b68 leaq $1(%rcx,%rax), %rax + 0x48, 0x89, 0x06, //0x00000b6d movq %rax, (%rsi) + 0x48, 0x8b, 0x4f, 0x08, //0x00000b70 movq $8(%rdi), %rcx + 0x48, 0x39, 0xc8, //0x00000b74 cmpq %rcx, %rax + 0x48, 0x0f, 0x47, 0xc1, //0x00000b77 cmovaq %rcx, %rax + 0x48, 0x89, 0x06, //0x00000b7b movq %rax, (%rsi) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000b7e movq $-1, %rax + 0x4c, 0x0f, 0x47, 0xd8, //0x00000b85 cmovaq %rax, %r11 + 0xe9, 0x7d, 0xf7, 0xff, 0xff, //0x00000b89 jmp LBB0_44 + //0x00000b8e LBB0_54 + 0x4d, 0x85, 0xe4, //0x00000b8e testq %r12, %r12 + 0x0f, 0x85, 0x8e, 0x00, 0x00, 0x00, //0x00000b91 jne LBB0_119 + 0x4b, 0x8d, 0x5c, 0x17, 0x01, //0x00000b97 leaq $1(%r15,%r10), %rbx + 0x49, 0xf7, 0xd7, //0x00000b9c notq %r15 + 0x4d, 0x01, 0xc7, //0x00000b9f addq %r8, %r15 + //0x00000ba2 LBB0_56 + 0x4d, 0x85, 0xff, //0x00000ba2 testq %r15, %r15 + 0x0f, 0x8f, 0x24, 0x00, 0x00, 0x00, //0x00000ba5 jg LBB0_113 + 0xe9, 0x5e, 0xf7, 0xff, 0xff, //0x00000bab jmp LBB0_45 + //0x00000bb0 LBB0_111 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00000bb0 movq $-2, %rcx + 0xb8, 0x02, 0x00, 0x00, 0x00, //0x00000bb7 movl $2, %eax + 0x48, 0x01, 0xc3, //0x00000bbc addq %rax, %rbx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000bbf movq $-1, %rax + 0x49, 0x01, 0xcf, //0x00000bc6 addq %rcx, %r15 + 0x0f, 0x8e, 0x3f, 0xf7, 0xff, 0xff, //0x00000bc9 jle LBB0_45 + //0x00000bcf LBB0_113 + 0x0f, 0xb6, 0x03, //0x00000bcf movzbl (%rbx), %eax + 0x3c, 0x5c, //0x00000bd2 cmpb $92, %al + 0x0f, 0x84, 0xd6, 0xff, 0xff, 0xff, //0x00000bd4 je LBB0_111 + 0x3c, 0x22, //0x00000bda cmpb $34, %al + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x00000bdc je LBB0_116 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000be2 movq $-1, %rcx + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000be9 movl $1, %eax + 0x48, 0x01, 0xc3, //0x00000bee addq %rax, %rbx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000bf1 movq $-1, %rax + 0x49, 0x01, 0xcf, //0x00000bf8 addq %rcx, %r15 + 0x0f, 0x8f, 0xce, 0xff, 0xff, 0xff, //0x00000bfb jg LBB0_113 + 0xe9, 0x08, 0xf7, 0xff, 0xff, //0x00000c01 jmp LBB0_45 + //0x00000c06 LBB0_116 + 0x4c, 0x29, 0xf3, //0x00000c06 subq %r14, %rbx + 0x48, 0xff, 0xc3, //0x00000c09 incq %rbx + 0xe9, 0xf7, 0xf6, 0xff, 0xff, //0x00000c0c jmp LBB0_43 + //0x00000c11 LBB0_117 + 0x4c, 0x01, 0xf3, //0x00000c11 addq %r14, %rbx + 0xe9, 0x89, 0xff, 0xff, 0xff, //0x00000c14 jmp LBB0_56 + //0x00000c19 LBB0_118 + 0x48, 0x8b, 0x4f, 0x08, //0x00000c19 movq $8(%rdi), %rcx + 0x48, 0x89, 0x0e, //0x00000c1d movq %rcx, (%rsi) + 0xe9, 0xe9, 0xf6, 0xff, 0xff, //0x00000c20 jmp LBB0_45 + //0x00000c25 LBB0_119 + 0x49, 0x8d, 0x48, 0xff, //0x00000c25 leaq $-1(%r8), %rcx + 0x4c, 0x39, 0xf9, //0x00000c29 cmpq %r15, %rcx + 0x0f, 0x84, 0xdc, 0xf6, 0xff, 0xff, //0x00000c2c je LBB0_45 + 0x4b, 0x8d, 0x5c, 0x17, 0x02, //0x00000c32 leaq $2(%r15,%r10), %rbx + 0x4d, 0x29, 0xf8, //0x00000c37 subq %r15, %r8 + 0x49, 0x83, 0xc0, 0xfe, //0x00000c3a addq $-2, %r8 + 0x4d, 0x89, 0xc7, //0x00000c3e movq %r8, %r15 + 0xe9, 0x5c, 0xff, 0xff, 0xff, //0x00000c41 jmp LBB0_56 + 0x90, 0x90, //0x00000c46 .p2align 2, 0x90 + // // .set L0_0_set_45, LBB0_45-LJTI0_0 + // // .set L0_0_set_47, LBB0_47-LJTI0_0 + // // .set L0_0_set_48, LBB0_48-LJTI0_0 + // // .set L0_0_set_29, LBB0_29-LJTI0_0 + // // .set L0_0_set_57, LBB0_57-LJTI0_0 + // // .set L0_0_set_82, LBB0_82-LJTI0_0 + // // .set L0_0_set_46, LBB0_46-LJTI0_0 + // // .set L0_0_set_84, LBB0_84-LJTI0_0 + //0x00000c48 LJTI0_0 + 0xc6, 0xf6, 0xff, 0xff, //0x00000c48 .long L0_0_set_45 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c4c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c50 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c54 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c58 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c5c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c60 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c64 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c68 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c6c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c70 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c74 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c78 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c7c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c80 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c84 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c88 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c8c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c90 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c94 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c98 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000c9c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000ca0 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000ca4 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000ca8 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cac .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cb0 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cb4 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cb8 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cbc .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cc0 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cc4 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cc8 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000ccc .long L0_0_set_47 + 0xfa, 0xf6, 0xff, 0xff, //0x00000cd0 .long L0_0_set_48 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cd4 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cd8 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cdc .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000ce0 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000ce4 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000ce8 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cec .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cf0 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cf4 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000cf8 .long L0_0_set_47 + 0xe3, 0xf5, 0xff, 0xff, //0x00000cfc .long L0_0_set_29 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d00 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d04 .long L0_0_set_47 + 0xe3, 0xf5, 0xff, 0xff, //0x00000d08 .long L0_0_set_29 + 0xe3, 0xf5, 0xff, 0xff, //0x00000d0c .long L0_0_set_29 + 0xe3, 0xf5, 0xff, 0xff, //0x00000d10 .long L0_0_set_29 + 0xe3, 0xf5, 0xff, 0xff, //0x00000d14 .long L0_0_set_29 + 0xe3, 0xf5, 0xff, 0xff, //0x00000d18 .long L0_0_set_29 + 0xe3, 0xf5, 0xff, 0xff, //0x00000d1c .long L0_0_set_29 + 0xe3, 0xf5, 0xff, 0xff, //0x00000d20 .long L0_0_set_29 + 0xe3, 0xf5, 0xff, 0xff, //0x00000d24 .long L0_0_set_29 + 0xe3, 0xf5, 0xff, 0xff, //0x00000d28 .long L0_0_set_29 + 0xe3, 0xf5, 0xff, 0xff, //0x00000d2c .long L0_0_set_29 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d30 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d34 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d38 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d3c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d40 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d44 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d48 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d4c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d50 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d54 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d58 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d5c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d60 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d64 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d68 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d6c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d70 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d74 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d78 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d7c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d80 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d84 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d88 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d8c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d90 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d94 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d98 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000d9c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000da0 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000da4 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000da8 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000dac .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000db0 .long L0_0_set_47 + 0x0a, 0xf8, 0xff, 0xff, //0x00000db4 .long L0_0_set_57 + 0xeb, 0xf6, 0xff, 0xff, //0x00000db8 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000dbc .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000dc0 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000dc4 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000dc8 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000dcc .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000dd0 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000dd4 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000dd8 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000ddc .long L0_0_set_47 + 0x83, 0xfb, 0xff, 0xff, //0x00000de0 .long L0_0_set_82 + 0xeb, 0xf6, 0xff, 0xff, //0x00000de4 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000de8 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000dec .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000df0 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000df4 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000df8 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000dfc .long L0_0_set_47 + 0xd8, 0xf6, 0xff, 0xff, //0x00000e00 .long L0_0_set_46 + 0xeb, 0xf6, 0xff, 0xff, //0x00000e04 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000e08 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000e0c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000e10 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000e14 .long L0_0_set_47 + 0xd8, 0xf6, 0xff, 0xff, //0x00000e18 .long L0_0_set_46 + 0xeb, 0xf6, 0xff, 0xff, //0x00000e1c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000e20 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000e24 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000e28 .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000e2c .long L0_0_set_47 + 0xeb, 0xf6, 0xff, 0xff, //0x00000e30 .long L0_0_set_47 + 0x99, 0xfb, 0xff, 0xff, //0x00000e34 .long L0_0_set_84 + //0x00000e38 .p2align 2, 0x00 + //0x00000e38 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000e38 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_subr.go new file mode 100644 index 0000000..a52f5fd --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_one = 144 +) + +const ( + _stack__skip_one = 160 +) + +const ( + _size__skip_one = 9472 +) + +var ( + _pcsp__skip_one = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {9044, 160}, + {9048, 48}, + {9049, 40}, + {9051, 32}, + {9053, 24}, + {9055, 16}, + {9057, 8}, + {9058, 0}, + {9472, 160}, + } +) + +var _cfunc_skip_one = []loader.CFunc{ + {"_skip_one_entry", 0, _entry__skip_one, 0, nil}, + {"_skip_one", _entry__skip_one, _size__skip_one, _stack__skip_one, _pcsp__skip_one}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_text_amd64.go new file mode 100644 index 0000000..9b663ae --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/skip_one_text_amd64.go @@ -0,0 +1,2830 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_skip_one = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, // QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000010 LCPI0_1 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000010 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000020 LCPI0_2 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000020 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000030 LCPI0_3 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000030 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000040 LCPI0_4 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000040 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000050 LCPI0_5 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000050 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000060 LCPI0_6 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000060 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000070 LCPI0_7 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000070 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000080 LCPI0_8 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000080 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000090 .p2align 4, 0x90 + //0x00000090 _skip_one + 0x55, //0x00000090 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000091 movq %rsp, %rbp + 0x41, 0x57, //0x00000094 pushq %r15 + 0x41, 0x56, //0x00000096 pushq %r14 + 0x41, 0x55, //0x00000098 pushq %r13 + 0x41, 0x54, //0x0000009a pushq %r12 + 0x53, //0x0000009c pushq %rbx + 0x48, 0x83, 0xec, 0x70, //0x0000009d subq $112, %rsp + 0x48, 0x89, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x000000a1 movq %rcx, $-136(%rbp) + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000000a8 movl $1, %r8d + 0xc4, 0xc1, 0xf9, 0x6e, 0xc0, //0x000000ae vmovq %r8, %xmm0 + 0xc5, 0xfa, 0x7f, 0x02, //0x000000b3 vmovdqu %xmm0, (%rdx) + 0x4c, 0x8b, 0x27, //0x000000b7 movq (%rdi), %r12 + 0x4c, 0x89, 0xe0, //0x000000ba movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x000000bd notq %rax + 0x48, 0x89, 0x45, 0x98, //0x000000c0 movq %rax, $-104(%rbp) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000000c4 movl $1, %eax + 0x4c, 0x29, 0xe0, //0x000000c9 subq %r12, %rax + 0x48, 0x89, 0x45, 0x90, //0x000000cc movq %rax, $-112(%rbp) + 0x49, 0x8d, 0x44, 0x24, 0x40, //0x000000d0 leaq $64(%r12), %rax + 0x48, 0x89, 0x45, 0x88, //0x000000d5 movq %rax, $-120(%rbp) + 0x4c, 0x8b, 0x36, //0x000000d9 movq (%rsi), %r14 + 0x49, 0x8d, 0x44, 0x24, 0x05, //0x000000dc leaq $5(%r12), %rax + 0x48, 0x89, 0x85, 0x68, 0xff, 0xff, 0xff, //0x000000e1 movq %rax, $-152(%rbp) + 0x48, 0xc7, 0x85, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x000000e8 movq $-1, $-144(%rbp) + 0xc5, 0xfa, 0x6f, 0x05, 0x05, 0xff, 0xff, 0xff, //0x000000f3 vmovdqu $-251(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0x0d, 0xff, 0xff, 0xff, //0x000000fb vmovdqu $-243(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x3d, 0x15, 0xff, 0xff, 0xff, //0x00000103 vmovdqu $-235(%rip), %xmm15 /* LCPI0_2+0(%rip) */ + 0xc5, 0xe1, 0x76, 0xdb, //0x0000010b vpcmpeqd %xmm3, %xmm3, %xmm3 + 0xc5, 0x7a, 0x6f, 0x05, 0x19, 0xff, 0xff, 0xff, //0x0000010f vmovdqu $-231(%rip), %xmm8 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0x21, 0xff, 0xff, 0xff, //0x00000117 vmovdqu $-223(%rip), %xmm9 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0x29, 0xff, 0xff, 0xff, //0x0000011f vmovdqu $-215(%rip), %xmm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x1d, 0x31, 0xff, 0xff, 0xff, //0x00000127 vmovdqu $-207(%rip), %xmm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x25, 0xe9, 0xfe, 0xff, 0xff, //0x0000012f vmovdqu $-279(%rip), %xmm12 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x2d, 0x31, 0xff, 0xff, 0xff, //0x00000137 vmovdqu $-207(%rip), %xmm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x35, 0x39, 0xff, 0xff, 0xff, //0x0000013f vmovdqu $-199(%rip), %xmm14 /* LCPI0_8+0(%rip) */ + 0x48, 0x89, 0x75, 0xc8, //0x00000147 movq %rsi, $-56(%rbp) + 0x4c, 0x89, 0x65, 0xd0, //0x0000014b movq %r12, $-48(%rbp) + 0x48, 0x89, 0x55, 0xb8, //0x0000014f movq %rdx, $-72(%rbp) + 0x48, 0x89, 0x7d, 0xc0, //0x00000153 movq %rdi, $-64(%rbp) + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x00000157 jmp LBB0_4 + 0x90, 0x90, 0x90, 0x90, //0x0000015c .p2align 4, 0x90 + //0x00000160 LBB0_1 + 0x4d, 0x89, 0xd3, //0x00000160 movq %r10, %r11 + //0x00000163 LBB0_2 + 0x4c, 0x8b, 0x0a, //0x00000163 movq (%rdx), %r9 + 0x4d, 0x89, 0xde, //0x00000166 movq %r11, %r14 + //0x00000169 LBB0_3 + 0x4d, 0x89, 0xc8, //0x00000169 movq %r9, %r8 + 0x48, 0x8b, 0x85, 0x70, 0xff, 0xff, 0xff, //0x0000016c movq $-144(%rbp), %rax + 0x4d, 0x85, 0xc9, //0x00000173 testq %r9, %r9 + 0x0f, 0x84, 0x68, 0x22, 0x00, 0x00, //0x00000176 je LBB0_424 + //0x0000017c LBB0_4 + 0x4c, 0x8b, 0x4f, 0x08, //0x0000017c movq $8(%rdi), %r9 + 0x4c, 0x89, 0xf0, //0x00000180 movq %r14, %rax + 0x4c, 0x89, 0xf3, //0x00000183 movq %r14, %rbx + 0x4c, 0x29, 0xcb, //0x00000186 subq %r9, %rbx + 0x0f, 0x83, 0x31, 0x00, 0x00, 0x00, //0x00000189 jae LBB0_9 + 0x41, 0x8a, 0x0c, 0x04, //0x0000018f movb (%r12,%rax), %cl + 0x80, 0xf9, 0x0d, //0x00000193 cmpb $13, %cl + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x00000196 je LBB0_9 + 0x80, 0xf9, 0x20, //0x0000019c cmpb $32, %cl + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x0000019f je LBB0_9 + 0x80, 0xc1, 0xf7, //0x000001a5 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x000001a8 cmpb $1, %cl + 0x0f, 0x86, 0x0f, 0x00, 0x00, 0x00, //0x000001ab jbe LBB0_9 + 0x49, 0x89, 0xc7, //0x000001b1 movq %rax, %r15 + 0xe9, 0x34, 0x01, 0x00, 0x00, //0x000001b4 jmp LBB0_30 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001b9 .p2align 4, 0x90 + //0x000001c0 LBB0_9 + 0x4c, 0x8d, 0x78, 0x01, //0x000001c0 leaq $1(%rax), %r15 + 0x4d, 0x39, 0xcf, //0x000001c4 cmpq %r9, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000001c7 jae LBB0_13 + 0x43, 0x8a, 0x0c, 0x3c, //0x000001cd movb (%r12,%r15), %cl + 0x80, 0xf9, 0x0d, //0x000001d1 cmpb $13, %cl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000001d4 je LBB0_13 + 0x80, 0xf9, 0x20, //0x000001da cmpb $32, %cl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x000001dd je LBB0_13 + 0x80, 0xc1, 0xf7, //0x000001e3 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x000001e6 cmpb $1, %cl + 0x0f, 0x87, 0xfe, 0x00, 0x00, 0x00, //0x000001e9 ja LBB0_30 + 0x90, //0x000001ef .p2align 4, 0x90 + //0x000001f0 LBB0_13 + 0x4c, 0x8d, 0x78, 0x02, //0x000001f0 leaq $2(%rax), %r15 + 0x4d, 0x39, 0xcf, //0x000001f4 cmpq %r9, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000001f7 jae LBB0_17 + 0x43, 0x8a, 0x0c, 0x3c, //0x000001fd movb (%r12,%r15), %cl + 0x80, 0xf9, 0x0d, //0x00000201 cmpb $13, %cl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000204 je LBB0_17 + 0x80, 0xf9, 0x20, //0x0000020a cmpb $32, %cl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000020d je LBB0_17 + 0x80, 0xc1, 0xf7, //0x00000213 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00000216 cmpb $1, %cl + 0x0f, 0x87, 0xce, 0x00, 0x00, 0x00, //0x00000219 ja LBB0_30 + 0x90, //0x0000021f .p2align 4, 0x90 + //0x00000220 LBB0_17 + 0x4c, 0x8d, 0x78, 0x03, //0x00000220 leaq $3(%rax), %r15 + 0x4d, 0x39, 0xcf, //0x00000224 cmpq %r9, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000227 jae LBB0_21 + 0x43, 0x8a, 0x0c, 0x3c, //0x0000022d movb (%r12,%r15), %cl + 0x80, 0xf9, 0x0d, //0x00000231 cmpb $13, %cl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000234 je LBB0_21 + 0x80, 0xf9, 0x20, //0x0000023a cmpb $32, %cl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000023d je LBB0_21 + 0x80, 0xc1, 0xf7, //0x00000243 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00000246 cmpb $1, %cl + 0x0f, 0x87, 0x9e, 0x00, 0x00, 0x00, //0x00000249 ja LBB0_30 + 0x90, //0x0000024f .p2align 4, 0x90 + //0x00000250 LBB0_21 + 0x48, 0x8d, 0x48, 0x04, //0x00000250 leaq $4(%rax), %rcx + 0x49, 0x39, 0xc9, //0x00000254 cmpq %rcx, %r9 + 0x0f, 0x86, 0x33, 0x21, 0x00, 0x00, //0x00000257 jbe LBB0_413 + 0x49, 0x39, 0xc9, //0x0000025d cmpq %rcx, %r9 + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x00000260 je LBB0_27 + 0x4b, 0x8d, 0x0c, 0x0c, //0x00000266 leaq (%r12,%r9), %rcx + 0x48, 0x83, 0xc3, 0x04, //0x0000026a addq $4, %rbx + 0x48, 0x03, 0x85, 0x68, 0xff, 0xff, 0xff, //0x0000026e addq $-152(%rbp), %rax + 0x49, 0x89, 0xc7, //0x00000275 movq %rax, %r15 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000278 movabsq $4294977024, %r10 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000282 .p2align 4, 0x90 + //0x00000290 LBB0_24 + 0x41, 0x0f, 0xbe, 0x47, 0xff, //0x00000290 movsbl $-1(%r15), %eax + 0x83, 0xf8, 0x20, //0x00000295 cmpl $32, %eax + 0x0f, 0x87, 0x42, 0x00, 0x00, 0x00, //0x00000298 ja LBB0_29 + 0x49, 0x0f, 0xa3, 0xc2, //0x0000029e btq %rax, %r10 + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x000002a2 jae LBB0_29 + 0x49, 0xff, 0xc7, //0x000002a8 incq %r15 + 0x48, 0xff, 0xc3, //0x000002ab incq %rbx + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000002ae jne LBB0_24 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x000002b4 jmp LBB0_28 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002b9 .p2align 4, 0x90 + //0x000002c0 LBB0_27 + 0x4c, 0x01, 0xe1, //0x000002c0 addq %r12, %rcx + //0x000002c3 LBB0_28 + 0x4c, 0x29, 0xe1, //0x000002c3 subq %r12, %rcx + 0x49, 0x89, 0xcf, //0x000002c6 movq %rcx, %r15 + 0x4d, 0x39, 0xcf, //0x000002c9 cmpq %r9, %r15 + 0x0f, 0x82, 0x1b, 0x00, 0x00, 0x00, //0x000002cc jb LBB0_30 + 0xe9, 0xbc, 0x20, 0x00, 0x00, //0x000002d2 jmp LBB0_414 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002d7 .p2align 4, 0x90 + //0x000002e0 LBB0_29 + 0x4c, 0x03, 0x7d, 0x98, //0x000002e0 addq $-104(%rbp), %r15 + 0x4d, 0x39, 0xcf, //0x000002e4 cmpq %r9, %r15 + 0x0f, 0x83, 0xa6, 0x20, 0x00, 0x00, //0x000002e7 jae LBB0_414 + //0x000002ed LBB0_30 + 0x4d, 0x8d, 0x57, 0x01, //0x000002ed leaq $1(%r15), %r10 + 0x4c, 0x89, 0x16, //0x000002f1 movq %r10, (%rsi) + 0x47, 0x0f, 0xbe, 0x1c, 0x3c, //0x000002f4 movsbl (%r12,%r15), %r11d + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000002f9 movq $-1, %rax + 0x45, 0x85, 0xdb, //0x00000300 testl %r11d, %r11d + 0x0f, 0x84, 0xdb, 0x20, 0x00, 0x00, //0x00000303 je LBB0_424 + 0x4d, 0x8d, 0x48, 0xff, //0x00000309 leaq $-1(%r8), %r9 + 0x42, 0x8b, 0x0c, 0xc2, //0x0000030d movl (%rdx,%r8,8), %ecx + 0x48, 0x8b, 0x9d, 0x70, 0xff, 0xff, 0xff, //0x00000311 movq $-144(%rbp), %rbx + 0x48, 0x83, 0xfb, 0xff, //0x00000318 cmpq $-1, %rbx + 0x49, 0x0f, 0x44, 0xdf, //0x0000031c cmoveq %r15, %rbx + 0x48, 0x89, 0x9d, 0x70, 0xff, 0xff, 0xff, //0x00000320 movq %rbx, $-144(%rbp) + 0xff, 0xc9, //0x00000327 decl %ecx + 0x83, 0xf9, 0x05, //0x00000329 cmpl $5, %ecx + 0x0f, 0x87, 0x3d, 0x02, 0x00, 0x00, //0x0000032c ja LBB0_62 + 0x48, 0x8d, 0x1d, 0x57, 0x22, 0x00, 0x00, //0x00000332 leaq $8791(%rip), %rbx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8b, //0x00000339 movslq (%rbx,%rcx,4), %rcx + 0x48, 0x01, 0xd9, //0x0000033d addq %rbx, %rcx + 0xff, 0xe1, //0x00000340 jmpq *%rcx + //0x00000342 LBB0_33 + 0x41, 0x83, 0xfb, 0x2c, //0x00000342 cmpl $44, %r11d + 0x0f, 0x84, 0xb2, 0x04, 0x00, 0x00, //0x00000346 je LBB0_102 + 0x41, 0x83, 0xfb, 0x5d, //0x0000034c cmpl $93, %r11d + 0x0f, 0x84, 0x42, 0x02, 0x00, 0x00, //0x00000350 je LBB0_65 + 0xe9, 0x82, 0x20, 0x00, 0x00, //0x00000356 jmp LBB0_423 + //0x0000035b LBB0_35 + 0x41, 0x83, 0xfb, 0x2c, //0x0000035b cmpl $44, %r11d + 0x0f, 0x85, 0x29, 0x02, 0x00, 0x00, //0x0000035f jne LBB0_64 + 0x49, 0x81, 0xf8, 0xff, 0x0f, 0x00, 0x00, //0x00000365 cmpq $4095, %r8 + 0x0f, 0x8f, 0x2d, 0x20, 0x00, 0x00, //0x0000036c jg LBB0_432 + 0x49, 0x8d, 0x40, 0x01, //0x00000372 leaq $1(%r8), %rax + 0x48, 0x89, 0x02, //0x00000376 movq %rax, (%rdx) + 0x4a, 0xc7, 0x44, 0xc2, 0x08, 0x03, 0x00, 0x00, 0x00, //0x00000379 movq $3, $8(%rdx,%r8,8) + 0xe9, 0xd9, 0xfd, 0xff, 0xff, //0x00000382 jmp LBB0_1 + //0x00000387 LBB0_38 + 0x41, 0x80, 0xfb, 0x22, //0x00000387 cmpb $34, %r11b + 0x0f, 0x85, 0x4c, 0x20, 0x00, 0x00, //0x0000038b jne LBB0_423 + 0x4a, 0xc7, 0x04, 0xc2, 0x04, 0x00, 0x00, 0x00, //0x00000391 movq $4, (%rdx,%r8,8) + 0x48, 0x8b, 0x4f, 0x08, //0x00000399 movq $8(%rdi), %rcx + 0xf6, 0x85, 0x78, 0xff, 0xff, 0xff, 0x20, //0x0000039d testb $32, $-136(%rbp) + 0x48, 0x89, 0x4d, 0xa0, //0x000003a4 movq %rcx, $-96(%rbp) + 0x0f, 0x85, 0x72, 0x04, 0x00, 0x00, //0x000003a8 jne LBB0_104 + 0x49, 0x89, 0xcd, //0x000003ae movq %rcx, %r13 + 0x4d, 0x29, 0xd5, //0x000003b1 subq %r10, %r13 + 0x0f, 0x84, 0x9d, 0x21, 0x00, 0x00, //0x000003b4 je LBB0_449 + 0x4f, 0x8d, 0x1c, 0x14, //0x000003ba leaq (%r12,%r10), %r11 + 0x49, 0x83, 0xfd, 0x40, //0x000003be cmpq $64, %r13 + 0x0f, 0x82, 0x40, 0x1a, 0x00, 0x00, //0x000003c2 jb LBB0_353 + 0x44, 0x89, 0xe8, //0x000003c8 movl %r13d, %eax + 0x83, 0xe0, 0x3f, //0x000003cb andl $63, %eax + 0x48, 0x89, 0x45, 0xa8, //0x000003ce movq %rax, $-88(%rbp) + 0x4c, 0x29, 0xf9, //0x000003d2 subq %r15, %rcx + 0x48, 0x83, 0xc1, 0xbf, //0x000003d5 addq $-65, %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x000003d9 andq $-64, %rcx + 0x4c, 0x01, 0xd1, //0x000003dd addq %r10, %rcx + 0x48, 0x03, 0x4d, 0x88, //0x000003e0 addq $-120(%rbp), %rcx + 0x48, 0x89, 0x4d, 0x80, //0x000003e4 movq %rcx, $-128(%rbp) + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000003e8 movq $-1, %r9 + 0x45, 0x31, 0xe4, //0x000003ef xorl %r12d, %r12d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003f2 .p2align 4, 0x90 + //0x00000400 LBB0_43 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00000400 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00000405 vmovdqu $16(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x20, //0x0000040b vmovdqu $32(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00000411 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xe9, 0x74, 0xf8, //0x00000417 vpcmpeqb %xmm0, %xmm2, %xmm7 + 0xc5, 0xf9, 0xd7, 0xff, //0x0000041b vpmovmskb %xmm7, %edi + 0xc5, 0xd9, 0x74, 0xf8, //0x0000041f vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00000423 vpmovmskb %xmm7, %ecx + 0xc5, 0xd1, 0x74, 0xf8, //0x00000427 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x0000042b vpmovmskb %xmm7, %esi + 0xc5, 0xc9, 0x74, 0xf8, //0x0000042f vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0xf9, 0xd7, 0xdf, //0x00000433 vpmovmskb %xmm7, %ebx + 0xc5, 0xe9, 0x74, 0xd1, //0x00000437 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000043b vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x0000043f vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00000443 vpmovmskb %xmm2, %eax + 0xc5, 0xd1, 0x74, 0xd1, //0x00000447 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x0000044b vpmovmskb %xmm2, %r14d + 0xc5, 0xc9, 0x74, 0xd1, //0x0000044f vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xc2, //0x00000453 vpmovmskb %xmm2, %r8d + 0x48, 0xc1, 0xe3, 0x30, //0x00000457 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x0000045b shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x0000045f shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00000463 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00000466 orq %rsi, %rdi + 0x49, 0xc1, 0xe0, 0x30, //0x00000469 shlq $48, %r8 + 0x49, 0xc1, 0xe6, 0x20, //0x0000046d shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x00000471 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00000475 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x00000478 orq %r14, %rdx + 0x4c, 0x09, 0xc2, //0x0000047b orq %r8, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x0000047e cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000482 jne LBB0_45 + 0x48, 0x85, 0xd2, //0x00000488 testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000048b jne LBB0_54 + //0x00000491 LBB0_45 + 0x48, 0x09, 0xdf, //0x00000491 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000494 movq %rdx, %rax + 0x4c, 0x09, 0xe0, //0x00000497 orq %r12, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000049a jne LBB0_55 + //0x000004a0 LBB0_46 + 0x48, 0x85, 0xff, //0x000004a0 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x000004a3 jne LBB0_56 + //0x000004a9 LBB0_47 + 0x49, 0x83, 0xc5, 0xc0, //0x000004a9 addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x000004ad addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x000004b1 cmpq $63, %r13 + 0x0f, 0x87, 0x45, 0xff, 0xff, 0xff, //0x000004b5 ja LBB0_43 + 0xe9, 0xb4, 0x12, 0x00, 0x00, //0x000004bb jmp LBB0_48 + //0x000004c0 LBB0_54 + 0x4c, 0x89, 0xd8, //0x000004c0 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000004c3 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xca, //0x000004c7 bsfq %rdx, %r9 + 0x49, 0x01, 0xc1, //0x000004cb addq %rax, %r9 + 0x48, 0x09, 0xdf, //0x000004ce orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x000004d1 movq %rdx, %rax + 0x4c, 0x09, 0xe0, //0x000004d4 orq %r12, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x000004d7 je LBB0_46 + //0x000004dd LBB0_55 + 0x4c, 0x89, 0xe0, //0x000004dd movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x000004e0 notq %rax + 0x48, 0x21, 0xd0, //0x000004e3 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x000004e6 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xe1, //0x000004ea orq %r12, %rcx + 0x48, 0x89, 0xce, //0x000004ed movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x000004f0 notq %rsi + 0x48, 0x21, 0xd6, //0x000004f3 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000004f6 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000500 andq %rdx, %rsi + 0x45, 0x31, 0xe4, //0x00000503 xorl %r12d, %r12d + 0x48, 0x01, 0xc6, //0x00000506 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc4, //0x00000509 setb %r12b + 0x48, 0x01, 0xf6, //0x0000050d addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000510 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x0000051a xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x0000051d andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000520 notq %rsi + 0x48, 0x21, 0xf7, //0x00000523 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000526 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00000529 je LBB0_47 + //0x0000052f LBB0_56 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000052f bsfq %rdi, %rax + //0x00000533 LBB0_57 + 0x4c, 0x03, 0x5d, 0x90, //0x00000533 addq $-112(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000537 addq %rax, %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x0000053a movq $-48(%rbp), %r12 + 0xe9, 0x80, 0x09, 0x00, 0x00, //0x0000053e jmp LBB0_186 + //0x00000543 LBB0_58 + 0x41, 0x80, 0xfb, 0x3a, //0x00000543 cmpb $58, %r11b + 0x0f, 0x85, 0x90, 0x1e, 0x00, 0x00, //0x00000547 jne LBB0_423 + 0x4a, 0xc7, 0x04, 0xc2, 0x00, 0x00, 0x00, 0x00, //0x0000054d movq $0, (%rdx,%r8,8) + 0xe9, 0x06, 0xfc, 0xff, 0xff, //0x00000555 jmp LBB0_1 + //0x0000055a LBB0_60 + 0x4d, 0x89, 0xd6, //0x0000055a movq %r10, %r14 + 0x41, 0x80, 0xfb, 0x5d, //0x0000055d cmpb $93, %r11b + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00000561 jne LBB0_66 + 0x4c, 0x89, 0x0a, //0x00000567 movq %r9, (%rdx) + 0xe9, 0xfa, 0xfb, 0xff, 0xff, //0x0000056a jmp LBB0_3 + //0x0000056f LBB0_62 + 0x4d, 0x89, 0xd6, //0x0000056f movq %r10, %r14 + 0x4c, 0x89, 0x0a, //0x00000572 movq %r9, (%rdx) + 0x41, 0x83, 0xfb, 0x7b, //0x00000575 cmpl $123, %r11d + 0x0f, 0x86, 0x36, 0x00, 0x00, 0x00, //0x00000579 jbe LBB0_67 + 0xe9, 0x59, 0x1e, 0x00, 0x00, //0x0000057f jmp LBB0_423 + //0x00000584 LBB0_63 + 0x41, 0x83, 0xfb, 0x22, //0x00000584 cmpl $34, %r11d + 0x0f, 0x84, 0x6d, 0x04, 0x00, 0x00, //0x00000588 je LBB0_125 + //0x0000058e LBB0_64 + 0x41, 0x83, 0xfb, 0x7d, //0x0000058e cmpl $125, %r11d + 0x0f, 0x85, 0x45, 0x1e, 0x00, 0x00, //0x00000592 jne LBB0_423 + //0x00000598 LBB0_65 + 0x4d, 0x89, 0xd6, //0x00000598 movq %r10, %r14 + 0x4c, 0x89, 0x0a, //0x0000059b movq %r9, (%rdx) + 0xe9, 0xc6, 0xfb, 0xff, 0xff, //0x0000059e jmp LBB0_3 + //0x000005a3 LBB0_66 + 0x4a, 0xc7, 0x04, 0xc2, 0x01, 0x00, 0x00, 0x00, //0x000005a3 movq $1, (%rdx,%r8,8) + 0x41, 0x83, 0xfb, 0x7b, //0x000005ab cmpl $123, %r11d + 0x0f, 0x87, 0x28, 0x1e, 0x00, 0x00, //0x000005af ja LBB0_423 + //0x000005b5 LBB0_67 + 0x4f, 0x8d, 0x14, 0x3c, //0x000005b5 leaq (%r12,%r15), %r10 + 0x44, 0x89, 0xd9, //0x000005b9 movl %r11d, %ecx + 0x48, 0x8d, 0x1d, 0xe5, 0x1f, 0x00, 0x00, //0x000005bc leaq $8165(%rip), %rbx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8b, //0x000005c3 movslq (%rbx,%rcx,4), %rcx + 0x48, 0x01, 0xd9, //0x000005c7 addq %rbx, %rcx + 0xff, 0xe1, //0x000005ca jmpq *%rcx + //0x000005cc LBB0_68 + 0x4c, 0x8b, 0x4f, 0x08, //0x000005cc movq $8(%rdi), %r9 + 0x4d, 0x29, 0xf9, //0x000005d0 subq %r15, %r9 + 0x0f, 0x84, 0xec, 0x1d, 0x00, 0x00, //0x000005d3 je LBB0_418 + 0x41, 0x80, 0x3a, 0x30, //0x000005d9 cmpb $48, (%r10) + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000005dd jne LBB0_73 + 0x49, 0x83, 0xf9, 0x01, //0x000005e3 cmpq $1, %r9 + 0x0f, 0x84, 0xa1, 0x06, 0x00, 0x00, //0x000005e7 je LBB0_269 + 0x43, 0x8a, 0x04, 0x34, //0x000005ed movb (%r12,%r14), %al + 0x04, 0xd2, //0x000005f1 addb $-46, %al + 0x3c, 0x37, //0x000005f3 cmpb $55, %al + 0x0f, 0x87, 0x93, 0x06, 0x00, 0x00, //0x000005f5 ja LBB0_269 + 0x0f, 0xb6, 0xc0, //0x000005fb movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000005fe movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00000608 btq %rax, %rcx + 0x0f, 0x83, 0x7c, 0x06, 0x00, 0x00, //0x0000060c jae LBB0_269 + //0x00000612 LBB0_73 + 0x49, 0x83, 0xf9, 0x10, //0x00000612 cmpq $16, %r9 + 0x0f, 0x82, 0xcb, 0x17, 0x00, 0x00, //0x00000616 jb LBB0_342 + 0x49, 0x8d, 0x79, 0xf0, //0x0000061c leaq $-16(%r9), %rdi + 0x48, 0x89, 0xf8, //0x00000620 movq %rdi, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00000623 andq $-16, %rax + 0x4a, 0x8d, 0x44, 0x10, 0x10, //0x00000627 leaq $16(%rax,%r10), %rax + 0x48, 0x89, 0x45, 0xb0, //0x0000062c movq %rax, $-80(%rbp) + 0x83, 0xe7, 0x0f, //0x00000630 andl $15, %edi + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00000633 movq $-1, %r12 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x0000063a movq $-1, %r13 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000641 movq $-1, %r11 + 0x4d, 0x89, 0xd6, //0x00000648 movq %r10, %r14 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000064b .p2align 4, 0x90 + //0x00000650 LBB0_75 + 0xc4, 0xc1, 0x7a, 0x6f, 0x16, //0x00000650 vmovdqu (%r14), %xmm2 + 0xc4, 0xc1, 0x69, 0x64, 0xe0, //0x00000655 vpcmpgtb %xmm8, %xmm2, %xmm4 + 0xc5, 0xb1, 0x64, 0xea, //0x0000065a vpcmpgtb %xmm2, %xmm9, %xmm5 + 0xc5, 0xd9, 0xdb, 0xe5, //0x0000065e vpand %xmm5, %xmm4, %xmm4 + 0xc5, 0xa9, 0x74, 0xea, //0x00000662 vpcmpeqb %xmm2, %xmm10, %xmm5 + 0xc5, 0xa1, 0x74, 0xf2, //0x00000666 vpcmpeqb %xmm2, %xmm11, %xmm6 + 0xc5, 0xc9, 0xeb, 0xed, //0x0000066a vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0x99, 0xeb, 0xf2, //0x0000066e vpor %xmm2, %xmm12, %xmm6 + 0xc5, 0x91, 0x74, 0xd2, //0x00000672 vpcmpeqb %xmm2, %xmm13, %xmm2 + 0xc5, 0x89, 0x74, 0xf6, //0x00000676 vpcmpeqb %xmm6, %xmm14, %xmm6 + 0xc5, 0xc9, 0xeb, 0xfa, //0x0000067a vpor %xmm2, %xmm6, %xmm7 + 0xc5, 0xd1, 0xeb, 0xe4, //0x0000067e vpor %xmm4, %xmm5, %xmm4 + 0xc5, 0xc1, 0xeb, 0xe4, //0x00000682 vpor %xmm4, %xmm7, %xmm4 + 0xc5, 0x79, 0xd7, 0xc2, //0x00000686 vpmovmskb %xmm2, %r8d + 0xc5, 0xf9, 0xd7, 0xc6, //0x0000068a vpmovmskb %xmm6, %eax + 0xc5, 0xf9, 0xd7, 0xd5, //0x0000068e vpmovmskb %xmm5, %edx + 0xc5, 0xf9, 0xd7, 0xcc, //0x00000692 vpmovmskb %xmm4, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000696 movl $2863311530, %esi + 0x48, 0x81, 0xc6, 0x55, 0x55, 0x55, 0x55, //0x0000069b addq $1431655765, %rsi + 0x48, 0x31, 0xce, //0x000006a2 xorq %rcx, %rsi + 0x48, 0x0f, 0xbc, 0xce, //0x000006a5 bsfq %rsi, %rcx + 0x83, 0xf9, 0x10, //0x000006a9 cmpl $16, %ecx + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000006ac je LBB0_77 + 0xbe, 0xff, 0xff, 0xff, 0xff, //0x000006b2 movl $-1, %esi + 0xd3, 0xe6, //0x000006b7 shll %cl, %esi + 0xf7, 0xd6, //0x000006b9 notl %esi + 0x41, 0x21, 0xf0, //0x000006bb andl %esi, %r8d + 0x21, 0xf0, //0x000006be andl %esi, %eax + 0x21, 0xd6, //0x000006c0 andl %edx, %esi + 0x89, 0xf2, //0x000006c2 movl %esi, %edx + //0x000006c4 LBB0_77 + 0x41, 0x8d, 0x70, 0xff, //0x000006c4 leal $-1(%r8), %esi + 0x44, 0x21, 0xc6, //0x000006c8 andl %r8d, %esi + 0x0f, 0x85, 0x6b, 0x10, 0x00, 0x00, //0x000006cb jne LBB0_309 + 0x8d, 0x70, 0xff, //0x000006d1 leal $-1(%rax), %esi + 0x21, 0xc6, //0x000006d4 andl %eax, %esi + 0x0f, 0x85, 0x60, 0x10, 0x00, 0x00, //0x000006d6 jne LBB0_309 + 0x8d, 0x72, 0xff, //0x000006dc leal $-1(%rdx), %esi + 0x21, 0xd6, //0x000006df andl %edx, %esi + 0x0f, 0x85, 0x55, 0x10, 0x00, 0x00, //0x000006e1 jne LBB0_309 + 0x45, 0x85, 0xc0, //0x000006e7 testl %r8d, %r8d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000006ea je LBB0_83 + 0x4c, 0x89, 0xf3, //0x000006f0 movq %r14, %rbx + 0x4c, 0x29, 0xd3, //0x000006f3 subq %r10, %rbx + 0x41, 0x0f, 0xbc, 0xf0, //0x000006f6 bsfl %r8d, %esi + 0x48, 0x01, 0xde, //0x000006fa addq %rbx, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x000006fd cmpq $-1, %r11 + 0x0f, 0x85, 0xf5, 0x13, 0x00, 0x00, //0x00000701 jne LBB0_326 + 0x49, 0x89, 0xf3, //0x00000707 movq %rsi, %r11 + //0x0000070a LBB0_83 + 0x85, 0xc0, //0x0000070a testl %eax, %eax + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000070c je LBB0_86 + 0x4c, 0x89, 0xf6, //0x00000712 movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x00000715 subq %r10, %rsi + 0x0f, 0xbc, 0xc0, //0x00000718 bsfl %eax, %eax + 0x48, 0x01, 0xf0, //0x0000071b addq %rsi, %rax + 0x49, 0x83, 0xfd, 0xff, //0x0000071e cmpq $-1, %r13 + 0x0f, 0x85, 0xbd, 0x11, 0x00, 0x00, //0x00000722 jne LBB0_314 + 0x49, 0x89, 0xc5, //0x00000728 movq %rax, %r13 + //0x0000072b LBB0_86 + 0x85, 0xd2, //0x0000072b testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000072d je LBB0_89 + 0x4c, 0x89, 0xf6, //0x00000733 movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x00000736 subq %r10, %rsi + 0x0f, 0xbc, 0xc2, //0x00000739 bsfl %edx, %eax + 0x48, 0x01, 0xf0, //0x0000073c addq %rsi, %rax + 0x49, 0x83, 0xfc, 0xff, //0x0000073f cmpq $-1, %r12 + 0x0f, 0x85, 0x9c, 0x11, 0x00, 0x00, //0x00000743 jne LBB0_314 + 0x49, 0x89, 0xc4, //0x00000749 movq %rax, %r12 + //0x0000074c LBB0_89 + 0x83, 0xf9, 0x10, //0x0000074c cmpl $16, %ecx + 0x0f, 0x85, 0x74, 0x04, 0x00, 0x00, //0x0000074f jne LBB0_147 + 0x49, 0x83, 0xc6, 0x10, //0x00000755 addq $16, %r14 + 0x49, 0x83, 0xc1, 0xf0, //0x00000759 addq $-16, %r9 + 0x49, 0x83, 0xf9, 0x0f, //0x0000075d cmpq $15, %r9 + 0x0f, 0x87, 0xe9, 0xfe, 0xff, 0xff, //0x00000761 ja LBB0_75 + 0x48, 0x85, 0xff, //0x00000767 testq %rdi, %rdi + 0x0f, 0x84, 0x7d, 0x04, 0x00, 0x00, //0x0000076a je LBB0_149 + //0x00000770 LBB0_92 + 0x48, 0x8b, 0x45, 0xb0, //0x00000770 movq $-80(%rbp), %rax + 0x48, 0x8d, 0x0c, 0x38, //0x00000774 leaq (%rax,%rdi), %rcx + 0x48, 0x8d, 0x35, 0x05, 0x21, 0x00, 0x00, //0x00000778 leaq $8453(%rip), %rsi /* LJTI0_3+0(%rip) */ + 0xe9, 0x28, 0x00, 0x00, 0x00, //0x0000077f jmp LBB0_96 + //0x00000784 LBB0_93 + 0x48, 0x89, 0xd8, //0x00000784 movq %rbx, %rax + 0x4c, 0x29, 0xd0, //0x00000787 subq %r10, %rax + 0x49, 0x83, 0xfc, 0xff, //0x0000078a cmpq $-1, %r12 + 0x0f, 0x85, 0x0f, 0x14, 0x00, 0x00, //0x0000078e jne LBB0_419 + 0x48, 0xff, 0xc8, //0x00000794 decq %rax + 0x49, 0x89, 0xc4, //0x00000797 movq %rax, %r12 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000079a .p2align 4, 0x90 + //0x000007a0 LBB0_95 + 0x48, 0x89, 0xd8, //0x000007a0 movq %rbx, %rax + 0x48, 0xff, 0xcf, //0x000007a3 decq %rdi + 0x0f, 0x84, 0x48, 0x11, 0x00, 0x00, //0x000007a6 je LBB0_315 + //0x000007ac LBB0_96 + 0x0f, 0xbe, 0x10, //0x000007ac movsbl (%rax), %edx + 0x83, 0xc2, 0xd5, //0x000007af addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x000007b2 cmpl $58, %edx + 0x0f, 0x87, 0x2e, 0x04, 0x00, 0x00, //0x000007b5 ja LBB0_148 + 0x48, 0x8d, 0x58, 0x01, //0x000007bb leaq $1(%rax), %rbx + 0x48, 0x63, 0x14, 0x96, //0x000007bf movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x000007c3 addq %rsi, %rdx + 0xff, 0xe2, //0x000007c6 jmpq *%rdx + //0x000007c8 LBB0_98 + 0x48, 0x89, 0xd8, //0x000007c8 movq %rbx, %rax + 0x4c, 0x29, 0xd0, //0x000007cb subq %r10, %rax + 0x49, 0x83, 0xfd, 0xff, //0x000007ce cmpq $-1, %r13 + 0x0f, 0x85, 0xcb, 0x13, 0x00, 0x00, //0x000007d2 jne LBB0_419 + 0x48, 0xff, 0xc8, //0x000007d8 decq %rax + 0x49, 0x89, 0xc5, //0x000007db movq %rax, %r13 + 0xe9, 0xbd, 0xff, 0xff, 0xff, //0x000007de jmp LBB0_95 + //0x000007e3 LBB0_100 + 0x48, 0x89, 0xd8, //0x000007e3 movq %rbx, %rax + 0x4c, 0x29, 0xd0, //0x000007e6 subq %r10, %rax + 0x49, 0x83, 0xfb, 0xff, //0x000007e9 cmpq $-1, %r11 + 0x0f, 0x85, 0xb0, 0x13, 0x00, 0x00, //0x000007ed jne LBB0_419 + 0x48, 0xff, 0xc8, //0x000007f3 decq %rax + 0x49, 0x89, 0xc3, //0x000007f6 movq %rax, %r11 + 0xe9, 0xa2, 0xff, 0xff, 0xff, //0x000007f9 jmp LBB0_95 + //0x000007fe LBB0_102 + 0x49, 0x81, 0xf8, 0xff, 0x0f, 0x00, 0x00, //0x000007fe cmpq $4095, %r8 + 0x0f, 0x8f, 0x94, 0x1b, 0x00, 0x00, //0x00000805 jg LBB0_432 + 0x49, 0x8d, 0x40, 0x01, //0x0000080b leaq $1(%r8), %rax + 0x48, 0x89, 0x02, //0x0000080f movq %rax, (%rdx) + 0x4a, 0xc7, 0x44, 0xc2, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00000812 movq $0, $8(%rdx,%r8,8) + 0xe9, 0x40, 0xf9, 0xff, 0xff, //0x0000081b jmp LBB0_1 + //0x00000820 LBB0_104 + 0x48, 0x89, 0xc8, //0x00000820 movq %rcx, %rax + 0x4c, 0x29, 0xd0, //0x00000823 subq %r10, %rax + 0x0f, 0x84, 0x2b, 0x1d, 0x00, 0x00, //0x00000826 je LBB0_449 + 0x4f, 0x8d, 0x1c, 0x14, //0x0000082c leaq (%r12,%r10), %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00000830 cmpq $64, %rax + 0x0f, 0x82, 0xe7, 0x15, 0x00, 0x00, //0x00000834 jb LBB0_354 + 0x89, 0xc2, //0x0000083a movl %eax, %edx + 0x83, 0xe2, 0x3f, //0x0000083c andl $63, %edx + 0x48, 0x89, 0x55, 0xa8, //0x0000083f movq %rdx, $-88(%rbp) + 0x4c, 0x29, 0xf9, //0x00000843 subq %r15, %rcx + 0x48, 0x83, 0xc1, 0xbf, //0x00000846 addq $-65, %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x0000084a andq $-64, %rcx + 0x4c, 0x01, 0xd1, //0x0000084e addq %r10, %rcx + 0x48, 0x03, 0x4d, 0x88, //0x00000851 addq $-120(%rbp), %rcx + 0x48, 0x89, 0x4d, 0x80, //0x00000855 movq %rcx, $-128(%rbp) + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000859 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00000860 xorl %r8d, %r8d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000863 .p2align 4, 0x90 + //0x00000870 LBB0_107 + 0xc4, 0xc1, 0x7a, 0x6f, 0x33, //0x00000870 vmovdqu (%r11), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x00000875 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x20, //0x0000087b vmovdqu $32(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x30, //0x00000881 vmovdqu $48(%r11), %xmm7 + 0xc5, 0xc9, 0x74, 0xd0, //0x00000887 vpcmpeqb %xmm0, %xmm6, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x0000088b vpmovmskb %xmm2, %esi + 0xc5, 0xd1, 0x74, 0xd0, //0x0000088f vpcmpeqb %xmm0, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x00000893 vpmovmskb %xmm2, %ebx + 0xc5, 0xd9, 0x74, 0xd0, //0x00000897 vpcmpeqb %xmm0, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x0000089b vpmovmskb %xmm2, %ecx + 0xc5, 0xc1, 0x74, 0xd0, //0x0000089f vpcmpeqb %xmm0, %xmm7, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x000008a3 vpmovmskb %xmm2, %edx + 0xc5, 0xc9, 0x74, 0xd1, //0x000008a7 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xea, //0x000008ab vpmovmskb %xmm2, %r13d + 0xc5, 0xd1, 0x74, 0xd1, //0x000008af vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000008b3 vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x000008b7 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x000008bb shlq $16, %rbx + 0x48, 0x09, 0xde, //0x000008bf orq %rbx, %rsi + 0xc5, 0xf9, 0xd7, 0xda, //0x000008c2 vpmovmskb %xmm2, %ebx + 0xc5, 0xc1, 0x74, 0xd1, //0x000008c6 vpcmpeqb %xmm1, %xmm7, %xmm2 + 0x48, 0xc1, 0xe1, 0x20, //0x000008ca shlq $32, %rcx + 0x48, 0x09, 0xce, //0x000008ce orq %rcx, %rsi + 0xc5, 0xf9, 0xd7, 0xca, //0x000008d1 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd6, //0x000008d5 vpcmpgtb %xmm6, %xmm15, %xmm2 + 0xc5, 0xc9, 0x64, 0xf3, //0x000008d9 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xd2, //0x000008dd vpand %xmm2, %xmm6, %xmm2 + 0x48, 0xc1, 0xe7, 0x10, //0x000008e1 shlq $16, %rdi + 0x49, 0x09, 0xfd, //0x000008e5 orq %rdi, %r13 + 0xc5, 0x79, 0xd7, 0xe2, //0x000008e8 vpmovmskb %xmm2, %r12d + 0xc5, 0x81, 0x64, 0xd5, //0x000008ec vpcmpgtb %xmm5, %xmm15, %xmm2 + 0xc5, 0xd1, 0x64, 0xeb, //0x000008f0 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xd2, //0x000008f4 vpand %xmm2, %xmm5, %xmm2 + 0x48, 0xc1, 0xe3, 0x20, //0x000008f8 shlq $32, %rbx + 0x49, 0x09, 0xdd, //0x000008fc orq %rbx, %r13 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000008ff vpmovmskb %xmm2, %edi + 0xc5, 0x81, 0x64, 0xd4, //0x00000903 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00000907 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x0000090b vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe1, 0x30, //0x0000090f shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000913 orq %rcx, %r13 + 0xc5, 0xf9, 0xd7, 0xca, //0x00000916 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd7, //0x0000091a vpcmpgtb %xmm7, %xmm15, %xmm2 + 0xc5, 0xc1, 0x64, 0xe3, //0x0000091e vpcmpgtb %xmm3, %xmm7, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00000922 vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe7, 0x10, //0x00000926 shlq $16, %rdi + 0x49, 0x09, 0xfc, //0x0000092a orq %rdi, %r12 + 0xc5, 0x79, 0xd7, 0xf2, //0x0000092d vpmovmskb %xmm2, %r14d + 0x48, 0xc1, 0xe2, 0x30, //0x00000931 shlq $48, %rdx + 0x48, 0xc1, 0xe1, 0x20, //0x00000935 shlq $32, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00000939 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000093d jne LBB0_109 + 0x4d, 0x85, 0xed, //0x00000943 testq %r13, %r13 + 0x0f, 0x85, 0x9c, 0x00, 0x00, 0x00, //0x00000946 jne LBB0_124 + //0x0000094c LBB0_109 + 0x49, 0xc1, 0xe6, 0x30, //0x0000094c shlq $48, %r14 + 0x49, 0x09, 0xcc, //0x00000950 orq %rcx, %r12 + 0x48, 0x09, 0xd6, //0x00000953 orq %rdx, %rsi + 0x4c, 0x89, 0xe9, //0x00000956 movq %r13, %rcx + 0x4c, 0x09, 0xc1, //0x00000959 orq %r8, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x0000095c jne LBB0_144 + 0x4d, 0x09, 0xf4, //0x00000962 orq %r14, %r12 + 0x48, 0x85, 0xf6, //0x00000965 testq %rsi, %rsi + 0x0f, 0x85, 0x35, 0x02, 0x00, 0x00, //0x00000968 jne LBB0_145 + //0x0000096e LBB0_111 + 0x4d, 0x85, 0xe4, //0x0000096e testq %r12, %r12 + 0x0f, 0x85, 0x84, 0x1a, 0x00, 0x00, //0x00000971 jne LBB0_425 + 0x48, 0x83, 0xc0, 0xc0, //0x00000977 addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x0000097b addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x0000097f cmpq $63, %rax + 0x0f, 0x87, 0xe7, 0xfe, 0xff, 0xff, //0x00000983 ja LBB0_107 + 0xe9, 0x62, 0x0e, 0x00, 0x00, //0x00000989 jmp LBB0_113 + //0x0000098e LBB0_144 + 0x4c, 0x89, 0xc1, //0x0000098e movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x00000991 notq %rcx + 0x4c, 0x21, 0xe9, //0x00000994 andq %r13, %rcx + 0x48, 0x8d, 0x14, 0x09, //0x00000997 leaq (%rcx,%rcx), %rdx + 0x4c, 0x09, 0xc2, //0x0000099b orq %r8, %rdx + 0x48, 0x89, 0xd7, //0x0000099e movq %rdx, %rdi + 0x48, 0xf7, 0xd7, //0x000009a1 notq %rdi + 0x4c, 0x21, 0xef, //0x000009a4 andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000009a7 movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x000009b1 andq %rbx, %rdi + 0x45, 0x31, 0xc0, //0x000009b4 xorl %r8d, %r8d + 0x48, 0x01, 0xcf, //0x000009b7 addq %rcx, %rdi + 0x41, 0x0f, 0x92, 0xc0, //0x000009ba setb %r8b + 0x48, 0x01, 0xff, //0x000009be addq %rdi, %rdi + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000009c1 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcf, //0x000009cb xorq %rcx, %rdi + 0x48, 0x21, 0xd7, //0x000009ce andq %rdx, %rdi + 0x48, 0xf7, 0xd7, //0x000009d1 notq %rdi + 0x48, 0x21, 0xfe, //0x000009d4 andq %rdi, %rsi + 0x4d, 0x09, 0xf4, //0x000009d7 orq %r14, %r12 + 0x48, 0x85, 0xf6, //0x000009da testq %rsi, %rsi + 0x0f, 0x84, 0x8b, 0xff, 0xff, 0xff, //0x000009dd je LBB0_111 + 0xe9, 0xbb, 0x01, 0x00, 0x00, //0x000009e3 jmp LBB0_145 + //0x000009e8 LBB0_124 + 0x4c, 0x89, 0xdf, //0x000009e8 movq %r11, %rdi + 0x48, 0x2b, 0x7d, 0xd0, //0x000009eb subq $-48(%rbp), %rdi + 0x4d, 0x0f, 0xbc, 0xcd, //0x000009ef bsfq %r13, %r9 + 0x49, 0x01, 0xf9, //0x000009f3 addq %rdi, %r9 + 0xe9, 0x51, 0xff, 0xff, 0xff, //0x000009f6 jmp LBB0_109 + //0x000009fb LBB0_125 + 0x4a, 0xc7, 0x04, 0xc2, 0x02, 0x00, 0x00, 0x00, //0x000009fb movq $2, (%rdx,%r8,8) + 0x48, 0x8b, 0x4f, 0x08, //0x00000a03 movq $8(%rdi), %rcx + 0xf6, 0x85, 0x78, 0xff, 0xff, 0xff, 0x20, //0x00000a07 testb $32, $-136(%rbp) + 0x48, 0x89, 0x4d, 0xa0, //0x00000a0e movq %rcx, $-96(%rbp) + 0x0f, 0x85, 0x8d, 0x02, 0x00, 0x00, //0x00000a12 jne LBB0_160 + 0x49, 0x89, 0xcd, //0x00000a18 movq %rcx, %r13 + 0x4d, 0x29, 0xd5, //0x00000a1b subq %r10, %r13 + 0x0f, 0x84, 0x33, 0x1b, 0x00, 0x00, //0x00000a1e je LBB0_449 + 0x4f, 0x8d, 0x1c, 0x14, //0x00000a24 leaq (%r12,%r10), %r11 + 0x49, 0x83, 0xfd, 0x40, //0x00000a28 cmpq $64, %r13 + 0x0f, 0x82, 0x10, 0x14, 0x00, 0x00, //0x00000a2c jb LBB0_357 + 0x44, 0x89, 0xe8, //0x00000a32 movl %r13d, %eax + 0x83, 0xe0, 0x3f, //0x00000a35 andl $63, %eax + 0x48, 0x89, 0x45, 0xa8, //0x00000a38 movq %rax, $-88(%rbp) + 0x4c, 0x29, 0xf9, //0x00000a3c subq %r15, %rcx + 0x48, 0x83, 0xc1, 0xbf, //0x00000a3f addq $-65, %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000a43 andq $-64, %rcx + 0x4c, 0x01, 0xd1, //0x00000a47 addq %r10, %rcx + 0x48, 0x03, 0x4d, 0x88, //0x00000a4a addq $-120(%rbp), %rcx + 0x48, 0x89, 0x4d, 0x80, //0x00000a4e movq %rcx, $-128(%rbp) + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000a52 movq $-1, %r9 + 0x45, 0x31, 0xe4, //0x00000a59 xorl %r12d, %r12d + 0x90, 0x90, 0x90, 0x90, //0x00000a5c .p2align 4, 0x90 + //0x00000a60 LBB0_129 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00000a60 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00000a65 vmovdqu $16(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x20, //0x00000a6b vmovdqu $32(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00000a71 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xe9, 0x74, 0xf8, //0x00000a77 vpcmpeqb %xmm0, %xmm2, %xmm7 + 0xc5, 0xf9, 0xd7, 0xff, //0x00000a7b vpmovmskb %xmm7, %edi + 0xc5, 0xd9, 0x74, 0xf8, //0x00000a7f vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00000a83 vpmovmskb %xmm7, %ecx + 0xc5, 0xd1, 0x74, 0xf8, //0x00000a87 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x00000a8b vpmovmskb %xmm7, %esi + 0xc5, 0xc9, 0x74, 0xf8, //0x00000a8f vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0xf9, 0xd7, 0xdf, //0x00000a93 vpmovmskb %xmm7, %ebx + 0xc5, 0xe9, 0x74, 0xd1, //0x00000a97 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000a9b vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x00000a9f vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00000aa3 vpmovmskb %xmm2, %eax + 0xc5, 0xd1, 0x74, 0xd1, //0x00000aa7 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00000aab vpmovmskb %xmm2, %r14d + 0xc5, 0xc9, 0x74, 0xd1, //0x00000aaf vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xc2, //0x00000ab3 vpmovmskb %xmm2, %r8d + 0x48, 0xc1, 0xe3, 0x30, //0x00000ab7 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x00000abb shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00000abf shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00000ac3 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00000ac6 orq %rsi, %rdi + 0x49, 0xc1, 0xe0, 0x30, //0x00000ac9 shlq $48, %r8 + 0x49, 0xc1, 0xe6, 0x20, //0x00000acd shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x00000ad1 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00000ad5 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x00000ad8 orq %r14, %rdx + 0x4c, 0x09, 0xc2, //0x00000adb orq %r8, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x00000ade cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000ae2 jne LBB0_131 + 0x48, 0x85, 0xd2, //0x00000ae8 testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000aeb jne LBB0_140 + //0x00000af1 LBB0_131 + 0x48, 0x09, 0xdf, //0x00000af1 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000af4 movq %rdx, %rax + 0x4c, 0x09, 0xe0, //0x00000af7 orq %r12, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x00000afa jne LBB0_141 + //0x00000b00 LBB0_132 + 0x48, 0x85, 0xff, //0x00000b00 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00000b03 jne LBB0_142 + //0x00000b09 LBB0_133 + 0x49, 0x83, 0xc5, 0xc0, //0x00000b09 addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x00000b0d addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000b11 cmpq $63, %r13 + 0x0f, 0x87, 0x45, 0xff, 0xff, 0xff, //0x00000b15 ja LBB0_129 + 0xe9, 0xf1, 0x0d, 0x00, 0x00, //0x00000b1b jmp LBB0_134 + //0x00000b20 LBB0_140 + 0x4c, 0x89, 0xd8, //0x00000b20 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000b23 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xca, //0x00000b27 bsfq %rdx, %r9 + 0x49, 0x01, 0xc1, //0x00000b2b addq %rax, %r9 + 0x48, 0x09, 0xdf, //0x00000b2e orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000b31 movq %rdx, %rax + 0x4c, 0x09, 0xe0, //0x00000b34 orq %r12, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000b37 je LBB0_132 + //0x00000b3d LBB0_141 + 0x4c, 0x89, 0xe0, //0x00000b3d movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x00000b40 notq %rax + 0x48, 0x21, 0xd0, //0x00000b43 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000b46 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xe1, //0x00000b4a orq %r12, %rcx + 0x48, 0x89, 0xce, //0x00000b4d movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000b50 notq %rsi + 0x48, 0x21, 0xd6, //0x00000b53 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000b56 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000b60 andq %rdx, %rsi + 0x45, 0x31, 0xe4, //0x00000b63 xorl %r12d, %r12d + 0x48, 0x01, 0xc6, //0x00000b66 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc4, //0x00000b69 setb %r12b + 0x48, 0x01, 0xf6, //0x00000b6d addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000b70 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x00000b7a xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x00000b7d andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000b80 notq %rsi + 0x48, 0x21, 0xf7, //0x00000b83 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000b86 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00000b89 je LBB0_133 + //0x00000b8f LBB0_142 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000b8f bsfq %rdi, %rax + //0x00000b93 LBB0_143 + 0x4c, 0x03, 0x5d, 0x90, //0x00000b93 addq $-112(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000b97 addq %rax, %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000b9a movq $-48(%rbp), %r12 + 0xe9, 0x8f, 0x03, 0x00, 0x00, //0x00000b9e jmp LBB0_193 + //0x00000ba3 LBB0_145 + 0x48, 0x0f, 0xbc, 0xc6, //0x00000ba3 bsfq %rsi, %rax + 0x4d, 0x85, 0xe4, //0x00000ba7 testq %r12, %r12 + 0x0f, 0x84, 0xf9, 0x02, 0x00, 0x00, //0x00000baa je LBB0_184 + 0x49, 0x0f, 0xbc, 0xcc, //0x00000bb0 bsfq %r12, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00000bb4 movq $-48(%rbp), %r12 + 0x4d, 0x29, 0xe3, //0x00000bb8 subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x00000bbb cmpq %rax, %rcx + 0x0f, 0x83, 0xfa, 0x02, 0x00, 0x00, //0x00000bbe jae LBB0_185 + 0xe9, 0x97, 0x19, 0x00, 0x00, //0x00000bc4 jmp LBB0_308 + //0x00000bc9 LBB0_147 + 0x49, 0x01, 0xce, //0x00000bc9 addq %rcx, %r14 + 0x4c, 0x89, 0x75, 0xb0, //0x00000bcc movq %r14, $-80(%rbp) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000bd0 movq $-1, %rax + 0x4d, 0x85, 0xed, //0x00000bd7 testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x00000bda movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x1d, 0x00, 0x00, 0x00, //0x00000bde jne LBB0_150 + 0xe9, 0xeb, 0x17, 0x00, 0x00, //0x00000be4 jmp LBB0_421 + //0x00000be9 LBB0_148 + 0x48, 0x89, 0x45, 0xb0, //0x00000be9 movq %rax, $-80(%rbp) + //0x00000bed LBB0_149 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000bed movq $-1, %rax + 0x4d, 0x85, 0xed, //0x00000bf4 testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x00000bf7 movq $-56(%rbp), %rsi + 0x0f, 0x84, 0xd3, 0x17, 0x00, 0x00, //0x00000bfb je LBB0_421 + //0x00000c01 LBB0_150 + 0x4d, 0x85, 0xe4, //0x00000c01 testq %r12, %r12 + 0x0f, 0x84, 0xca, 0x17, 0x00, 0x00, //0x00000c04 je LBB0_421 + 0x4d, 0x85, 0xdb, //0x00000c0a testq %r11, %r11 + 0x0f, 0x84, 0xc1, 0x17, 0x00, 0x00, //0x00000c0d je LBB0_421 + 0x48, 0x8b, 0x4d, 0xb0, //0x00000c13 movq $-80(%rbp), %rcx + 0x4c, 0x29, 0xd1, //0x00000c17 subq %r10, %rcx + 0x48, 0x8d, 0x41, 0xff, //0x00000c1a leaq $-1(%rcx), %rax + 0x49, 0x39, 0xc5, //0x00000c1e cmpq %rax, %r13 + 0x0f, 0x84, 0x49, 0x00, 0x00, 0x00, //0x00000c21 je LBB0_158 + 0x49, 0x39, 0xc3, //0x00000c27 cmpq %rax, %r11 + 0x0f, 0x84, 0x40, 0x00, 0x00, 0x00, //0x00000c2a je LBB0_158 + 0x49, 0x39, 0xc4, //0x00000c30 cmpq %rax, %r12 + 0x0f, 0x84, 0x37, 0x00, 0x00, 0x00, //0x00000c33 je LBB0_158 + 0x4d, 0x85, 0xe4, //0x00000c39 testq %r12, %r12 + 0x48, 0x8b, 0x55, 0xb8, //0x00000c3c movq $-72(%rbp), %rdx + 0x48, 0x8b, 0x7d, 0xc0, //0x00000c40 movq $-64(%rbp), %rdi + 0x0f, 0x8e, 0xa2, 0x02, 0x00, 0x00, //0x00000c44 jle LBB0_188 + 0x49, 0x8d, 0x44, 0x24, 0xff, //0x00000c4a leaq $-1(%r12), %rax + 0x49, 0x39, 0xc5, //0x00000c4f cmpq %rax, %r13 + 0x0f, 0x84, 0x94, 0x02, 0x00, 0x00, //0x00000c52 je LBB0_188 + 0x49, 0xf7, 0xd4, //0x00000c58 notq %r12 + 0x4c, 0x89, 0xe1, //0x00000c5b movq %r12, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00000c5e movq $-48(%rbp), %r12 + 0x48, 0x85, 0xc9, //0x00000c62 testq %rcx, %rcx + 0x0f, 0x89, 0x1d, 0x00, 0x00, 0x00, //0x00000c65 jns LBB0_268 + 0xe9, 0x61, 0x17, 0x00, 0x00, //0x00000c6b jmp LBB0_420 + //0x00000c70 LBB0_158 + 0x48, 0xf7, 0xd9, //0x00000c70 negq %rcx + //0x00000c73 LBB0_159 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000c73 movq $-48(%rbp), %r12 + 0x48, 0x8b, 0x55, 0xb8, //0x00000c77 movq $-72(%rbp), %rdx + 0x48, 0x8b, 0x7d, 0xc0, //0x00000c7b movq $-64(%rbp), %rdi + 0x48, 0x85, 0xc9, //0x00000c7f testq %rcx, %rcx + 0x0f, 0x88, 0x49, 0x17, 0x00, 0x00, //0x00000c82 js LBB0_420 + //0x00000c88 LBB0_268 + 0x4c, 0x01, 0xf9, //0x00000c88 addq %r15, %rcx + 0x49, 0x89, 0xce, //0x00000c8b movq %rcx, %r14 + //0x00000c8e LBB0_269 + 0x4d, 0x89, 0xf3, //0x00000c8e movq %r14, %r11 + 0x4c, 0x89, 0x36, //0x00000c91 movq %r14, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000c94 movq %r15, %rax + 0x4d, 0x85, 0xff, //0x00000c97 testq %r15, %r15 + 0x0f, 0x89, 0xc3, 0xf4, 0xff, 0xff, //0x00000c9a jns LBB0_2 + 0xe9, 0x3f, 0x17, 0x00, 0x00, //0x00000ca0 jmp LBB0_424 + //0x00000ca5 LBB0_160 + 0x48, 0x89, 0xc8, //0x00000ca5 movq %rcx, %rax + 0x4c, 0x29, 0xd0, //0x00000ca8 subq %r10, %rax + 0x0f, 0x84, 0xa6, 0x18, 0x00, 0x00, //0x00000cab je LBB0_449 + 0x4f, 0x8d, 0x1c, 0x14, //0x00000cb1 leaq (%r12,%r10), %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00000cb5 cmpq $64, %rax + 0x0f, 0x82, 0x9c, 0x11, 0x00, 0x00, //0x00000cb9 jb LBB0_358 + 0x89, 0xc2, //0x00000cbf movl %eax, %edx + 0x83, 0xe2, 0x3f, //0x00000cc1 andl $63, %edx + 0x48, 0x89, 0x55, 0xa8, //0x00000cc4 movq %rdx, $-88(%rbp) + 0x49, 0x89, 0xcc, //0x00000cc8 movq %rcx, %r12 + 0x4d, 0x29, 0xfc, //0x00000ccb subq %r15, %r12 + 0x49, 0x83, 0xc4, 0xbf, //0x00000cce addq $-65, %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00000cd2 andq $-64, %r12 + 0x4d, 0x01, 0xd4, //0x00000cd6 addq %r10, %r12 + 0x4c, 0x03, 0x65, 0x88, //0x00000cd9 addq $-120(%rbp), %r12 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000cdd movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00000ce4 xorl %r8d, %r8d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000ce7 .p2align 4, 0x90 + //0x00000cf0 LBB0_163 + 0xc4, 0xc1, 0x7a, 0x6f, 0x33, //0x00000cf0 vmovdqu (%r11), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x00000cf5 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x20, //0x00000cfb vmovdqu $32(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x30, //0x00000d01 vmovdqu $48(%r11), %xmm7 + 0xc5, 0xc9, 0x74, 0xd0, //0x00000d07 vpcmpeqb %xmm0, %xmm6, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x00000d0b vpmovmskb %xmm2, %esi + 0xc5, 0xd1, 0x74, 0xd0, //0x00000d0f vpcmpeqb %xmm0, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x00000d13 vpmovmskb %xmm2, %ebx + 0xc5, 0xd9, 0x74, 0xd0, //0x00000d17 vpcmpeqb %xmm0, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x00000d1b vpmovmskb %xmm2, %ecx + 0xc5, 0xc1, 0x74, 0xd0, //0x00000d1f vpcmpeqb %xmm0, %xmm7, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00000d23 vpmovmskb %xmm2, %edi + 0xc5, 0xc9, 0x74, 0xd1, //0x00000d27 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xea, //0x00000d2b vpmovmskb %xmm2, %r13d + 0xc5, 0xd1, 0x74, 0xd1, //0x00000d2f vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000d33 vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x00000d37 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x00000d3b shlq $16, %rbx + 0x48, 0x09, 0xde, //0x00000d3f orq %rbx, %rsi + 0xc5, 0xf9, 0xd7, 0xda, //0x00000d42 vpmovmskb %xmm2, %ebx + 0xc5, 0xc1, 0x74, 0xd1, //0x00000d46 vpcmpeqb %xmm1, %xmm7, %xmm2 + 0x48, 0xc1, 0xe1, 0x20, //0x00000d4a shlq $32, %rcx + 0x48, 0x09, 0xce, //0x00000d4e orq %rcx, %rsi + 0xc5, 0xf9, 0xd7, 0xca, //0x00000d51 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd6, //0x00000d55 vpcmpgtb %xmm6, %xmm15, %xmm2 + 0xc5, 0xc9, 0x64, 0xf3, //0x00000d59 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xd2, //0x00000d5d vpand %xmm2, %xmm6, %xmm2 + 0x48, 0xc1, 0xe2, 0x10, //0x00000d61 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x00000d65 orq %rdx, %r13 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000d68 vpmovmskb %xmm2, %edx + 0xc5, 0x81, 0x64, 0xd5, //0x00000d6c vpcmpgtb %xmm5, %xmm15, %xmm2 + 0xc5, 0xd1, 0x64, 0xeb, //0x00000d70 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xd2, //0x00000d74 vpand %xmm2, %xmm5, %xmm2 + 0x48, 0xc1, 0xe3, 0x20, //0x00000d78 shlq $32, %rbx + 0x49, 0x09, 0xdd, //0x00000d7c orq %rbx, %r13 + 0xc5, 0xf9, 0xd7, 0xda, //0x00000d7f vpmovmskb %xmm2, %ebx + 0xc5, 0x81, 0x64, 0xd4, //0x00000d83 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00000d87 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00000d8b vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe1, 0x30, //0x00000d8f shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000d93 orq %rcx, %r13 + 0xc5, 0xf9, 0xd7, 0xca, //0x00000d96 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd7, //0x00000d9a vpcmpgtb %xmm7, %xmm15, %xmm2 + 0xc5, 0xc1, 0x64, 0xe3, //0x00000d9e vpcmpgtb %xmm3, %xmm7, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00000da2 vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x00000da6 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00000daa orq %rbx, %rdx + 0xc5, 0x79, 0xd7, 0xf2, //0x00000dad vpmovmskb %xmm2, %r14d + 0x48, 0xc1, 0xe7, 0x30, //0x00000db1 shlq $48, %rdi + 0x48, 0xc1, 0xe1, 0x20, //0x00000db5 shlq $32, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00000db9 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000dbd jne LBB0_165 + 0x4d, 0x85, 0xed, //0x00000dc3 testq %r13, %r13 + 0x0f, 0x85, 0xa4, 0x00, 0x00, 0x00, //0x00000dc6 jne LBB0_180 + //0x00000dcc LBB0_165 + 0x49, 0xc1, 0xe6, 0x30, //0x00000dcc shlq $48, %r14 + 0x48, 0x09, 0xca, //0x00000dd0 orq %rcx, %rdx + 0x48, 0x09, 0xfe, //0x00000dd3 orq %rdi, %rsi + 0x4c, 0x89, 0xe9, //0x00000dd6 movq %r13, %rcx + 0x4c, 0x09, 0xc1, //0x00000dd9 orq %r8, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000ddc jne LBB0_181 + 0x4c, 0x09, 0xf2, //0x00000de2 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000de5 testq %rsi, %rsi + 0x0f, 0x85, 0x95, 0x00, 0x00, 0x00, //0x00000de8 jne LBB0_182 + //0x00000dee LBB0_167 + 0x48, 0x85, 0xd2, //0x00000dee testq %rdx, %rdx + 0x0f, 0x85, 0x17, 0x16, 0x00, 0x00, //0x00000df1 jne LBB0_427 + 0x48, 0x83, 0xc0, 0xc0, //0x00000df7 addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x00000dfb addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x00000dff cmpq $63, %rax + 0x0f, 0x87, 0xe7, 0xfe, 0xff, 0xff, //0x00000e03 ja LBB0_163 + 0xe9, 0x7f, 0x0b, 0x00, 0x00, //0x00000e09 jmp LBB0_169 + //0x00000e0e LBB0_181 + 0x4c, 0x89, 0xc1, //0x00000e0e movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x00000e11 notq %rcx + 0x4c, 0x21, 0xe9, //0x00000e14 andq %r13, %rcx + 0x4c, 0x89, 0x55, 0xb0, //0x00000e17 movq %r10, $-80(%rbp) + 0x4c, 0x8d, 0x14, 0x09, //0x00000e1b leaq (%rcx,%rcx), %r10 + 0x4d, 0x09, 0xc2, //0x00000e1f orq %r8, %r10 + 0x4c, 0x89, 0xd3, //0x00000e22 movq %r10, %rbx + 0x48, 0xf7, 0xd3, //0x00000e25 notq %rbx + 0x4c, 0x21, 0xeb, //0x00000e28 andq %r13, %rbx + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000e2b movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfb, //0x00000e35 andq %rdi, %rbx + 0x45, 0x31, 0xc0, //0x00000e38 xorl %r8d, %r8d + 0x48, 0x01, 0xcb, //0x00000e3b addq %rcx, %rbx + 0x41, 0x0f, 0x92, 0xc0, //0x00000e3e setb %r8b + 0x48, 0x01, 0xdb, //0x00000e42 addq %rbx, %rbx + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000e45 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcb, //0x00000e4f xorq %rcx, %rbx + 0x4c, 0x21, 0xd3, //0x00000e52 andq %r10, %rbx + 0x4c, 0x8b, 0x55, 0xb0, //0x00000e55 movq $-80(%rbp), %r10 + 0x48, 0xf7, 0xd3, //0x00000e59 notq %rbx + 0x48, 0x21, 0xde, //0x00000e5c andq %rbx, %rsi + 0x4c, 0x09, 0xf2, //0x00000e5f orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000e62 testq %rsi, %rsi + 0x0f, 0x84, 0x83, 0xff, 0xff, 0xff, //0x00000e65 je LBB0_167 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00000e6b jmp LBB0_182 + //0x00000e70 LBB0_180 + 0x4c, 0x89, 0xdb, //0x00000e70 movq %r11, %rbx + 0x48, 0x2b, 0x5d, 0xd0, //0x00000e73 subq $-48(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xcd, //0x00000e77 bsfq %r13, %r9 + 0x49, 0x01, 0xd9, //0x00000e7b addq %rbx, %r9 + 0xe9, 0x49, 0xff, 0xff, 0xff, //0x00000e7e jmp LBB0_165 + //0x00000e83 LBB0_182 + 0x48, 0x0f, 0xbc, 0xc6, //0x00000e83 bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00000e87 testq %rdx, %rdx + 0x4c, 0x8b, 0x65, 0xd0, //0x00000e8a movq $-48(%rbp), %r12 + 0x0f, 0x84, 0x88, 0x00, 0x00, 0x00, //0x00000e8e je LBB0_191 + 0x48, 0x0f, 0xbc, 0xca, //0x00000e94 bsfq %rdx, %rcx + 0x4d, 0x29, 0xe3, //0x00000e98 subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x00000e9b cmpq %rax, %rcx + 0x0f, 0x83, 0x89, 0x00, 0x00, 0x00, //0x00000e9e jae LBB0_192 + 0xe9, 0xb7, 0x16, 0x00, 0x00, //0x00000ea4 jmp LBB0_308 + //0x00000ea9 LBB0_184 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000ea9 movl $64, %ecx + 0x4c, 0x8b, 0x65, 0xd0, //0x00000eae movq $-48(%rbp), %r12 + 0x4d, 0x29, 0xe3, //0x00000eb2 subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x00000eb5 cmpq %rax, %rcx + 0x0f, 0x82, 0xa2, 0x16, 0x00, 0x00, //0x00000eb8 jb LBB0_308 + //0x00000ebe LBB0_185 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000ebe leaq $1(%r11,%rax), %r11 + //0x00000ec3 LBB0_186 + 0x4d, 0x85, 0xdb, //0x00000ec3 testq %r11, %r11 + 0x0f, 0x88, 0xdf, 0x14, 0x00, 0x00, //0x00000ec6 js LBB0_415 + 0x48, 0x8b, 0x75, 0xc8, //0x00000ecc movq $-56(%rbp), %rsi + 0x4c, 0x89, 0x1e, //0x00000ed0 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000ed3 movq %r15, %rax + 0x4d, 0x85, 0xd2, //0x00000ed6 testq %r10, %r10 + 0x48, 0x8b, 0x55, 0xb8, //0x00000ed9 movq $-72(%rbp), %rdx + 0x48, 0x8b, 0x7d, 0xc0, //0x00000edd movq $-64(%rbp), %rdi + 0x0f, 0x8f, 0x7c, 0xf2, 0xff, 0xff, //0x00000ee1 jg LBB0_2 + 0xe9, 0xf8, 0x14, 0x00, 0x00, //0x00000ee7 jmp LBB0_424 + //0x00000eec LBB0_188 + 0x4c, 0x89, 0xd8, //0x00000eec movq %r11, %rax + 0x4c, 0x09, 0xe8, //0x00000eef orq %r13, %rax + 0x4d, 0x39, 0xeb, //0x00000ef2 cmpq %r13, %r11 + 0x0f, 0x8c, 0x55, 0x05, 0x00, 0x00, //0x00000ef5 jl LBB0_267 + 0x48, 0x85, 0xc0, //0x00000efb testq %rax, %rax + 0x0f, 0x88, 0x4c, 0x05, 0x00, 0x00, //0x00000efe js LBB0_267 + 0x49, 0xf7, 0xd3, //0x00000f04 notq %r11 + 0x4c, 0x89, 0xd9, //0x00000f07 movq %r11, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00000f0a movq $-48(%rbp), %r12 + 0x48, 0x85, 0xc9, //0x00000f0e testq %rcx, %rcx + 0x0f, 0x89, 0x71, 0xfd, 0xff, 0xff, //0x00000f11 jns LBB0_268 + 0xe9, 0xb5, 0x14, 0x00, 0x00, //0x00000f17 jmp LBB0_420 + //0x00000f1c LBB0_191 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000f1c movl $64, %ecx + 0x4d, 0x29, 0xe3, //0x00000f21 subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x00000f24 cmpq %rax, %rcx + 0x0f, 0x82, 0x33, 0x16, 0x00, 0x00, //0x00000f27 jb LBB0_308 + //0x00000f2d LBB0_192 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000f2d leaq $1(%r11,%rax), %r11 + //0x00000f32 LBB0_193 + 0x4d, 0x85, 0xdb, //0x00000f32 testq %r11, %r11 + 0x0f, 0x88, 0x70, 0x14, 0x00, 0x00, //0x00000f35 js LBB0_415 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f3b movq $-56(%rbp), %rsi + 0x4c, 0x89, 0x1e, //0x00000f3f movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000f42 movq %r15, %rax + 0x4d, 0x85, 0xd2, //0x00000f45 testq %r10, %r10 + 0x48, 0x8b, 0x55, 0xb8, //0x00000f48 movq $-72(%rbp), %rdx + 0x48, 0x8b, 0x7d, 0xc0, //0x00000f4c movq $-64(%rbp), %rdi + 0x0f, 0x8e, 0x8e, 0x14, 0x00, 0x00, //0x00000f50 jle LBB0_424 + 0x48, 0x8b, 0x02, //0x00000f56 movq (%rdx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00000f59 cmpq $4095, %rax + 0x0f, 0x8f, 0x3a, 0x14, 0x00, 0x00, //0x00000f5f jg LBB0_432 + 0x48, 0x8d, 0x48, 0x01, //0x00000f65 leaq $1(%rax), %rcx + 0x48, 0x89, 0x0a, //0x00000f69 movq %rcx, (%rdx) + 0x48, 0xc7, 0x44, 0xc2, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00000f6c movq $4, $8(%rdx,%rax,8) + 0xe9, 0xe9, 0xf1, 0xff, 0xff, //0x00000f75 jmp LBB0_2 + //0x00000f7a LBB0_197 + 0x4c, 0x8b, 0x47, 0x08, //0x00000f7a movq $8(%rdi), %r8 + 0xf6, 0x85, 0x78, 0xff, 0xff, 0xff, 0x20, //0x00000f7e testb $32, $-136(%rbp) + 0x4c, 0x89, 0x45, 0xa0, //0x00000f85 movq %r8, $-96(%rbp) + 0x0f, 0x85, 0xe8, 0x04, 0x00, 0x00, //0x00000f89 jne LBB0_270 + 0x4d, 0x89, 0xc4, //0x00000f8f movq %r8, %r12 + 0x4d, 0x29, 0xf4, //0x00000f92 subq %r14, %r12 + 0x0f, 0x84, 0xd7, 0x15, 0x00, 0x00, //0x00000f95 je LBB0_448 + 0x48, 0x8b, 0x45, 0xd0, //0x00000f9b movq $-48(%rbp), %rax + 0x4e, 0x8d, 0x1c, 0x30, //0x00000f9f leaq (%rax,%r14), %r11 + 0x49, 0x83, 0xfc, 0x40, //0x00000fa3 cmpq $64, %r12 + 0x4c, 0x89, 0x75, 0xb0, //0x00000fa7 movq %r14, $-80(%rbp) + 0x0f, 0x82, 0xea, 0x0e, 0x00, 0x00, //0x00000fab jb LBB0_360 + 0x44, 0x89, 0xe0, //0x00000fb1 movl %r12d, %eax + 0x83, 0xe0, 0x3f, //0x00000fb4 andl $63, %eax + 0x48, 0x89, 0x45, 0xa8, //0x00000fb7 movq %rax, $-88(%rbp) + 0x4d, 0x29, 0xf8, //0x00000fbb subq %r15, %r8 + 0x49, 0x83, 0xc0, 0xbf, //0x00000fbe addq $-65, %r8 + 0x49, 0x83, 0xe0, 0xc0, //0x00000fc2 andq $-64, %r8 + 0x4d, 0x01, 0xf0, //0x00000fc6 addq %r14, %r8 + 0x4c, 0x03, 0x45, 0x88, //0x00000fc9 addq $-120(%rbp), %r8 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000fcd movq $-1, %r9 + 0x45, 0x31, 0xd2, //0x00000fd4 xorl %r10d, %r10d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000fd7 .p2align 4, 0x90 + //0x00000fe0 LBB0_201 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00000fe0 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00000fe5 vmovdqu $16(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x20, //0x00000feb vmovdqu $32(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00000ff1 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xe9, 0x74, 0xf8, //0x00000ff7 vpcmpeqb %xmm0, %xmm2, %xmm7 + 0xc5, 0xf9, 0xd7, 0xff, //0x00000ffb vpmovmskb %xmm7, %edi + 0xc5, 0xd9, 0x74, 0xf8, //0x00000fff vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00001003 vpmovmskb %xmm7, %ecx + 0xc5, 0xd1, 0x74, 0xf8, //0x00001007 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x0000100b vpmovmskb %xmm7, %esi + 0xc5, 0xc9, 0x74, 0xf8, //0x0000100f vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0x79, 0xd7, 0xef, //0x00001013 vpmovmskb %xmm7, %r13d + 0xc5, 0xe9, 0x74, 0xd1, //0x00001017 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000101b vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x0000101f vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001023 vpmovmskb %xmm2, %eax + 0xc5, 0xd1, 0x74, 0xd1, //0x00001027 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x0000102b vpmovmskb %xmm2, %ebx + 0xc5, 0xc9, 0x74, 0xd1, //0x0000102f vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001033 vpmovmskb %xmm2, %r14d + 0x49, 0xc1, 0xe5, 0x30, //0x00001037 shlq $48, %r13 + 0x48, 0xc1, 0xe6, 0x20, //0x0000103b shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x0000103f shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00001043 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00001046 orq %rsi, %rdi + 0x49, 0xc1, 0xe6, 0x30, //0x00001049 shlq $48, %r14 + 0x48, 0xc1, 0xe3, 0x20, //0x0000104d shlq $32, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x00001051 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00001055 orq %rax, %rdx + 0x48, 0x09, 0xda, //0x00001058 orq %rbx, %rdx + 0x4c, 0x09, 0xf2, //0x0000105b orq %r14, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x0000105e cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001062 jne LBB0_203 + 0x48, 0x85, 0xd2, //0x00001068 testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000106b jne LBB0_212 + //0x00001071 LBB0_203 + 0x4c, 0x09, 0xef, //0x00001071 orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x00001074 movq %rdx, %rax + 0x4c, 0x09, 0xd0, //0x00001077 orq %r10, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000107a jne LBB0_213 + //0x00001080 LBB0_204 + 0x48, 0x85, 0xff, //0x00001080 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00001083 jne LBB0_214 + //0x00001089 LBB0_205 + 0x49, 0x83, 0xc4, 0xc0, //0x00001089 addq $-64, %r12 + 0x49, 0x83, 0xc3, 0x40, //0x0000108d addq $64, %r11 + 0x49, 0x83, 0xfc, 0x3f, //0x00001091 cmpq $63, %r12 + 0x0f, 0x87, 0x45, 0xff, 0xff, 0xff, //0x00001095 ja LBB0_201 + 0xe9, 0x4e, 0x0b, 0x00, 0x00, //0x0000109b jmp LBB0_206 + //0x000010a0 LBB0_212 + 0x4c, 0x89, 0xd8, //0x000010a0 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000010a3 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xca, //0x000010a7 bsfq %rdx, %r9 + 0x49, 0x01, 0xc1, //0x000010ab addq %rax, %r9 + 0x4c, 0x09, 0xef, //0x000010ae orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x000010b1 movq %rdx, %rax + 0x4c, 0x09, 0xd0, //0x000010b4 orq %r10, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x000010b7 je LBB0_204 + //0x000010bd LBB0_213 + 0x4c, 0x89, 0xd0, //0x000010bd movq %r10, %rax + 0x48, 0xf7, 0xd0, //0x000010c0 notq %rax + 0x48, 0x21, 0xd0, //0x000010c3 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x000010c6 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xd1, //0x000010ca orq %r10, %rcx + 0x48, 0x89, 0xce, //0x000010cd movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x000010d0 notq %rsi + 0x48, 0x21, 0xd6, //0x000010d3 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000010d6 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x000010e0 andq %rdx, %rsi + 0x45, 0x31, 0xd2, //0x000010e3 xorl %r10d, %r10d + 0x48, 0x01, 0xc6, //0x000010e6 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc2, //0x000010e9 setb %r10b + 0x48, 0x01, 0xf6, //0x000010ed addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000010f0 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x000010fa xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x000010fd andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00001100 notq %rsi + 0x48, 0x21, 0xf7, //0x00001103 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00001106 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00001109 je LBB0_205 + //0x0000110f LBB0_214 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000110f bsfq %rdi, %rax + //0x00001113 LBB0_215 + 0x4c, 0x03, 0x5d, 0x90, //0x00001113 addq $-112(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00001117 addq %rax, %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x0000111a movq $-48(%rbp), %r12 + 0x4c, 0x8b, 0x55, 0xb0, //0x0000111e movq $-80(%rbp), %r10 + 0xe9, 0x9c, 0xfd, 0xff, 0xff, //0x00001122 jmp LBB0_186 + //0x00001127 LBB0_216 + 0x4c, 0x8b, 0x57, 0x08, //0x00001127 movq $8(%rdi), %r10 + 0x4d, 0x29, 0xf2, //0x0000112b subq %r14, %r10 + 0x0f, 0x84, 0xf0, 0x12, 0x00, 0x00, //0x0000112e je LBB0_429 + 0x4c, 0x89, 0x75, 0xb0, //0x00001134 movq %r14, $-80(%rbp) + 0x4d, 0x01, 0xf4, //0x00001138 addq %r14, %r12 + 0x41, 0x80, 0x3c, 0x24, 0x30, //0x0000113b cmpb $48, (%r12) + 0x0f, 0x85, 0x36, 0x00, 0x00, 0x00, //0x00001140 jne LBB0_221 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001146 movl $1, %r11d + 0x49, 0x83, 0xfa, 0x01, //0x0000114c cmpq $1, %r10 + 0x0f, 0x84, 0xb1, 0x05, 0x00, 0x00, //0x00001150 je LBB0_305 + 0x41, 0x8a, 0x44, 0x24, 0x01, //0x00001156 movb $1(%r12), %al + 0x04, 0xd2, //0x0000115b addb $-46, %al + 0x3c, 0x37, //0x0000115d cmpb $55, %al + 0x0f, 0x87, 0xa2, 0x05, 0x00, 0x00, //0x0000115f ja LBB0_305 + 0x0f, 0xb6, 0xc0, //0x00001165 movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00001168 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00001172 btq %rax, %rcx + 0x0f, 0x83, 0x8b, 0x05, 0x00, 0x00, //0x00001176 jae LBB0_305 + //0x0000117c LBB0_221 + 0x49, 0x83, 0xfa, 0x10, //0x0000117c cmpq $16, %r10 + 0x0f, 0x82, 0xee, 0x0c, 0x00, 0x00, //0x00001180 jb LBB0_359 + 0x4d, 0x8d, 0x4a, 0xf0, //0x00001186 leaq $-16(%r10), %r9 + 0x4c, 0x89, 0xc8, //0x0000118a movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x0000118d andq $-16, %rax + 0x4e, 0x8d, 0x44, 0x20, 0x10, //0x00001191 leaq $16(%rax,%r12), %r8 + 0x41, 0x83, 0xe1, 0x0f, //0x00001196 andl $15, %r9d + 0x48, 0xc7, 0x45, 0xa8, 0xff, 0xff, 0xff, 0xff, //0x0000119a movq $-1, $-88(%rbp) + 0x48, 0xc7, 0x45, 0xa0, 0xff, 0xff, 0xff, 0xff, //0x000011a2 movq $-1, $-96(%rbp) + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000011aa movq $-1, %r14 + 0x4d, 0x89, 0xe5, //0x000011b1 movq %r12, %r13 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000011b4 .p2align 4, 0x90 + //0x000011c0 LBB0_223 + 0xc4, 0xc1, 0x7a, 0x6f, 0x55, 0x00, //0x000011c0 vmovdqu (%r13), %xmm2 + 0xc4, 0xc1, 0x69, 0x64, 0xe0, //0x000011c6 vpcmpgtb %xmm8, %xmm2, %xmm4 + 0xc5, 0xb1, 0x64, 0xea, //0x000011cb vpcmpgtb %xmm2, %xmm9, %xmm5 + 0xc5, 0xd9, 0xdb, 0xe5, //0x000011cf vpand %xmm5, %xmm4, %xmm4 + 0xc5, 0xa9, 0x74, 0xea, //0x000011d3 vpcmpeqb %xmm2, %xmm10, %xmm5 + 0xc5, 0xa1, 0x74, 0xf2, //0x000011d7 vpcmpeqb %xmm2, %xmm11, %xmm6 + 0xc5, 0xc9, 0xeb, 0xed, //0x000011db vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0x99, 0xeb, 0xf2, //0x000011df vpor %xmm2, %xmm12, %xmm6 + 0xc5, 0x91, 0x74, 0xd2, //0x000011e3 vpcmpeqb %xmm2, %xmm13, %xmm2 + 0xc5, 0x89, 0x74, 0xf6, //0x000011e7 vpcmpeqb %xmm6, %xmm14, %xmm6 + 0xc5, 0xc9, 0xeb, 0xfa, //0x000011eb vpor %xmm2, %xmm6, %xmm7 + 0xc5, 0xd1, 0xeb, 0xe4, //0x000011ef vpor %xmm4, %xmm5, %xmm4 + 0xc5, 0xc1, 0xeb, 0xe4, //0x000011f3 vpor %xmm4, %xmm7, %xmm4 + 0xc5, 0xf9, 0xd7, 0xc2, //0x000011f7 vpmovmskb %xmm2, %eax + 0xc5, 0xf9, 0xd7, 0xde, //0x000011fb vpmovmskb %xmm6, %ebx + 0xc5, 0xf9, 0xd7, 0xd5, //0x000011ff vpmovmskb %xmm5, %edx + 0xc5, 0xf9, 0xd7, 0xcc, //0x00001203 vpmovmskb %xmm4, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001207 movl $2863311530, %esi + 0x48, 0x8d, 0xbe, 0x55, 0x55, 0x55, 0x55, //0x0000120c leaq $1431655765(%rsi), %rdi + 0x48, 0x31, 0xcf, //0x00001213 xorq %rcx, %rdi + 0x48, 0x0f, 0xbc, 0xcf, //0x00001216 bsfq %rdi, %rcx + 0x83, 0xf9, 0x10, //0x0000121a cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x0000121d je LBB0_225 + 0xbf, 0xff, 0xff, 0xff, 0xff, //0x00001223 movl $-1, %edi + 0xd3, 0xe7, //0x00001228 shll %cl, %edi + 0xf7, 0xd7, //0x0000122a notl %edi + 0x21, 0xf8, //0x0000122c andl %edi, %eax + 0x21, 0xfb, //0x0000122e andl %edi, %ebx + 0x21, 0xd7, //0x00001230 andl %edx, %edi + 0x89, 0xfa, //0x00001232 movl %edi, %edx + //0x00001234 LBB0_225 + 0x8d, 0x78, 0xff, //0x00001234 leal $-1(%rax), %edi + 0x21, 0xc7, //0x00001237 andl %eax, %edi + 0x0f, 0x85, 0x88, 0x09, 0x00, 0x00, //0x00001239 jne LBB0_337 + 0x8d, 0x7b, 0xff, //0x0000123f leal $-1(%rbx), %edi + 0x21, 0xdf, //0x00001242 andl %ebx, %edi + 0x0f, 0x85, 0x7d, 0x09, 0x00, 0x00, //0x00001244 jne LBB0_337 + 0x8d, 0x7a, 0xff, //0x0000124a leal $-1(%rdx), %edi + 0x21, 0xd7, //0x0000124d andl %edx, %edi + 0x0f, 0x85, 0x72, 0x09, 0x00, 0x00, //0x0000124f jne LBB0_337 + 0x85, 0xc0, //0x00001255 testl %eax, %eax + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00001257 je LBB0_231 + 0x4c, 0x89, 0xef, //0x0000125d movq %r13, %rdi + 0x4c, 0x29, 0xe7, //0x00001260 subq %r12, %rdi + 0x44, 0x0f, 0xbc, 0xd8, //0x00001263 bsfl %eax, %r11d + 0x49, 0x01, 0xfb, //0x00001267 addq %rdi, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x0000126a cmpq $-1, %r14 + 0x0f, 0x85, 0x5d, 0x09, 0x00, 0x00, //0x0000126e jne LBB0_338 + 0x4d, 0x89, 0xde, //0x00001274 movq %r11, %r14 + //0x00001277 LBB0_231 + 0x85, 0xdb, //0x00001277 testl %ebx, %ebx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00001279 je LBB0_234 + 0x4c, 0x89, 0xe8, //0x0000127f movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x00001282 subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xdb, //0x00001285 bsfl %ebx, %r11d + 0x49, 0x01, 0xc3, //0x00001289 addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xa0, 0xff, //0x0000128c cmpq $-1, $-96(%rbp) + 0x0f, 0x85, 0x3a, 0x09, 0x00, 0x00, //0x00001291 jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xa0, //0x00001297 movq %r11, $-96(%rbp) + //0x0000129b LBB0_234 + 0x85, 0xd2, //0x0000129b testl %edx, %edx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x0000129d je LBB0_237 + 0x4c, 0x89, 0xe8, //0x000012a3 movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x000012a6 subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xda, //0x000012a9 bsfl %edx, %r11d + 0x49, 0x01, 0xc3, //0x000012ad addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xa8, 0xff, //0x000012b0 cmpq $-1, $-88(%rbp) + 0x0f, 0x85, 0x16, 0x09, 0x00, 0x00, //0x000012b5 jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xa8, //0x000012bb movq %r11, $-88(%rbp) + //0x000012bf LBB0_237 + 0x83, 0xf9, 0x10, //0x000012bf cmpl $16, %ecx + 0x0f, 0x85, 0xb1, 0x03, 0x00, 0x00, //0x000012c2 jne LBB0_293 + 0x49, 0x83, 0xc5, 0x10, //0x000012c8 addq $16, %r13 + 0x49, 0x83, 0xc2, 0xf0, //0x000012cc addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x0f, //0x000012d0 cmpq $15, %r10 + 0x0f, 0x87, 0xe6, 0xfe, 0xff, 0xff, //0x000012d4 ja LBB0_223 + 0x4d, 0x85, 0xc9, //0x000012da testq %r9, %r9 + 0x48, 0x8d, 0x35, 0xb4, 0x14, 0x00, 0x00, //0x000012dd leaq $5300(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0x48, 0x8b, 0x5d, 0xa0, //0x000012e4 movq $-96(%rbp), %rbx + 0x48, 0x8b, 0x4d, 0xa8, //0x000012e8 movq $-88(%rbp), %rcx + 0x0f, 0x84, 0x95, 0x03, 0x00, 0x00, //0x000012ec je LBB0_294 + //0x000012f2 LBB0_240 + 0x4b, 0x8d, 0x3c, 0x08, //0x000012f2 leaq (%r8,%r9), %rdi + 0xe9, 0x31, 0x00, 0x00, 0x00, //0x000012f6 jmp LBB0_244 + //0x000012fb LBB0_241 + 0x49, 0x89, 0xc3, //0x000012fb movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x000012fe subq %r12, %r11 + 0x48, 0x83, 0xf9, 0xff, //0x00001301 cmpq $-1, %rcx + 0x0f, 0x85, 0x2f, 0x0b, 0x00, 0x00, //0x00001305 jne LBB0_356 + 0x49, 0xff, 0xcb, //0x0000130b decq %r11 + 0x4c, 0x89, 0xd9, //0x0000130e movq %r11, %rcx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001311 .p2align 4, 0x90 + //0x00001320 LBB0_243 + 0x49, 0x89, 0xc0, //0x00001320 movq %rax, %r8 + 0x49, 0xff, 0xc9, //0x00001323 decq %r9 + 0x0f, 0x84, 0x9f, 0x0a, 0x00, 0x00, //0x00001326 je LBB0_341 + //0x0000132c LBB0_244 + 0x41, 0x0f, 0xbe, 0x10, //0x0000132c movsbl (%r8), %edx + 0x83, 0xc2, 0xd5, //0x00001330 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x00001333 cmpl $58, %edx + 0x0f, 0x87, 0x4b, 0x03, 0x00, 0x00, //0x00001336 ja LBB0_294 + 0x49, 0x8d, 0x40, 0x01, //0x0000133c leaq $1(%r8), %rax + 0x48, 0x63, 0x14, 0x96, //0x00001340 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00001344 addq %rsi, %rdx + 0xff, 0xe2, //0x00001347 jmpq *%rdx + //0x00001349 LBB0_246 + 0x49, 0x89, 0xc3, //0x00001349 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x0000134c subq %r12, %r11 + 0x48, 0x83, 0xfb, 0xff, //0x0000134f cmpq $-1, %rbx + 0x0f, 0x85, 0xe1, 0x0a, 0x00, 0x00, //0x00001353 jne LBB0_356 + 0x49, 0xff, 0xcb, //0x00001359 decq %r11 + 0x4c, 0x89, 0xdb, //0x0000135c movq %r11, %rbx + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000135f jmp LBB0_243 + //0x00001364 LBB0_248 + 0x49, 0x89, 0xc3, //0x00001364 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x00001367 subq %r12, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x0000136a cmpq $-1, %r14 + 0x0f, 0x85, 0xc6, 0x0a, 0x00, 0x00, //0x0000136e jne LBB0_356 + 0x49, 0xff, 0xcb, //0x00001374 decq %r11 + 0x4d, 0x89, 0xde, //0x00001377 movq %r11, %r14 + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000137a jmp LBB0_243 + //0x0000137f LBB0_250 + 0x48, 0x8b, 0x02, //0x0000137f movq (%rdx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00001382 cmpq $4095, %rax + 0x0f, 0x8f, 0x11, 0x10, 0x00, 0x00, //0x00001388 jg LBB0_432 + 0x48, 0x8d, 0x48, 0x01, //0x0000138e leaq $1(%rax), %rcx + 0x48, 0x89, 0x0a, //0x00001392 movq %rcx, (%rdx) + 0x48, 0xc7, 0x44, 0xc2, 0x08, 0x05, 0x00, 0x00, 0x00, //0x00001395 movq $5, $8(%rdx,%rax,8) + 0x4d, 0x89, 0xf3, //0x0000139e movq %r14, %r11 + 0xe9, 0xbd, 0xed, 0xff, 0xff, //0x000013a1 jmp LBB0_2 + //0x000013a6 LBB0_252 + 0x48, 0x8b, 0x4f, 0x08, //0x000013a6 movq $8(%rdi), %rcx + 0x48, 0x8d, 0x59, 0xfc, //0x000013aa leaq $-4(%rcx), %rbx + 0x49, 0x39, 0xdf, //0x000013ae cmpq %rbx, %r15 + 0x0f, 0x83, 0x3c, 0x10, 0x00, 0x00, //0x000013b1 jae LBB0_431 + 0x43, 0x8b, 0x0c, 0x34, //0x000013b7 movl (%r12,%r14), %ecx + 0x81, 0xf9, 0x61, 0x6c, 0x73, 0x65, //0x000013bb cmpl $1702063201, %ecx + 0x0f, 0x85, 0x6c, 0x10, 0x00, 0x00, //0x000013c1 jne LBB0_433 + 0x4d, 0x8d, 0x5f, 0x05, //0x000013c7 leaq $5(%r15), %r11 + 0xe9, 0x45, 0x00, 0x00, 0x00, //0x000013cb jmp LBB0_264 + //0x000013d0 LBB0_255 + 0x48, 0x8b, 0x4f, 0x08, //0x000013d0 movq $8(%rdi), %rcx + 0x48, 0x8d, 0x59, 0xfd, //0x000013d4 leaq $-3(%rcx), %rbx + 0x49, 0x39, 0xdf, //0x000013d8 cmpq %rbx, %r15 + 0x0f, 0x83, 0x12, 0x10, 0x00, 0x00, //0x000013db jae LBB0_431 + 0x41, 0x81, 0x3a, 0x6e, 0x75, 0x6c, 0x6c, //0x000013e1 cmpl $1819047278, (%r10) + 0x0f, 0x84, 0x23, 0x00, 0x00, 0x00, //0x000013e8 je LBB0_263 + 0xe9, 0x95, 0x10, 0x00, 0x00, //0x000013ee jmp LBB0_257 + //0x000013f3 LBB0_261 + 0x48, 0x8b, 0x4f, 0x08, //0x000013f3 movq $8(%rdi), %rcx + 0x48, 0x8d, 0x59, 0xfd, //0x000013f7 leaq $-3(%rcx), %rbx + 0x49, 0x39, 0xdf, //0x000013fb cmpq %rbx, %r15 + 0x0f, 0x83, 0xef, 0x0f, 0x00, 0x00, //0x000013fe jae LBB0_431 + 0x41, 0x81, 0x3a, 0x74, 0x72, 0x75, 0x65, //0x00001404 cmpl $1702195828, (%r10) + 0x0f, 0x85, 0xc9, 0x10, 0x00, 0x00, //0x0000140b jne LBB0_438 + //0x00001411 LBB0_263 + 0x4d, 0x8d, 0x5f, 0x04, //0x00001411 leaq $4(%r15), %r11 + //0x00001415 LBB0_264 + 0x4c, 0x89, 0x1e, //0x00001415 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00001418 movq %r15, %rax + 0x4d, 0x85, 0xf6, //0x0000141b testq %r14, %r14 + 0x0f, 0x8f, 0x3f, 0xed, 0xff, 0xff, //0x0000141e jg LBB0_2 + 0xe9, 0xbb, 0x0f, 0x00, 0x00, //0x00001424 jmp LBB0_424 + //0x00001429 LBB0_265 + 0x48, 0x8b, 0x02, //0x00001429 movq (%rdx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x0000142c cmpq $4095, %rax + 0x0f, 0x8f, 0x67, 0x0f, 0x00, 0x00, //0x00001432 jg LBB0_432 + 0x48, 0x8d, 0x48, 0x01, //0x00001438 leaq $1(%rax), %rcx + 0x48, 0x89, 0x0a, //0x0000143c movq %rcx, (%rdx) + 0x48, 0xc7, 0x44, 0xc2, 0x08, 0x06, 0x00, 0x00, 0x00, //0x0000143f movq $6, $8(%rdx,%rax,8) + 0x4d, 0x89, 0xf3, //0x00001448 movq %r14, %r11 + 0xe9, 0x13, 0xed, 0xff, 0xff, //0x0000144b jmp LBB0_2 + //0x00001450 LBB0_267 + 0x48, 0x85, 0xc0, //0x00001450 testq %rax, %rax + 0x49, 0x8d, 0x45, 0xff, //0x00001453 leaq $-1(%r13), %rax + 0x49, 0xf7, 0xd5, //0x00001457 notq %r13 + 0x4c, 0x0f, 0x48, 0xe9, //0x0000145a cmovsq %rcx, %r13 + 0x49, 0x39, 0xc3, //0x0000145e cmpq %rax, %r11 + 0x49, 0x0f, 0x44, 0xcd, //0x00001461 cmoveq %r13, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001465 movq $-48(%rbp), %r12 + 0x48, 0x85, 0xc9, //0x00001469 testq %rcx, %rcx + 0x0f, 0x89, 0x16, 0xf8, 0xff, 0xff, //0x0000146c jns LBB0_268 + 0xe9, 0x5a, 0x0f, 0x00, 0x00, //0x00001472 jmp LBB0_420 + //0x00001477 LBB0_270 + 0x4c, 0x89, 0xc0, //0x00001477 movq %r8, %rax + 0x4d, 0x89, 0xf2, //0x0000147a movq %r14, %r10 + 0x4c, 0x29, 0xf0, //0x0000147d subq %r14, %rax + 0x0f, 0x84, 0xd1, 0x10, 0x00, 0x00, //0x00001480 je LBB0_449 + 0x4f, 0x8d, 0x1c, 0x14, //0x00001486 leaq (%r12,%r10), %r11 + 0x48, 0x83, 0xf8, 0x40, //0x0000148a cmpq $64, %rax + 0x0f, 0x82, 0x20, 0x0a, 0x00, 0x00, //0x0000148e jb LBB0_361 + 0x89, 0xc1, //0x00001494 movl %eax, %ecx + 0x83, 0xe1, 0x3f, //0x00001496 andl $63, %ecx + 0x48, 0x89, 0x4d, 0xa8, //0x00001499 movq %rcx, $-88(%rbp) + 0x4d, 0x89, 0xc4, //0x0000149d movq %r8, %r12 + 0x4d, 0x29, 0xfc, //0x000014a0 subq %r15, %r12 + 0x49, 0x83, 0xc4, 0xbf, //0x000014a3 addq $-65, %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x000014a7 andq $-64, %r12 + 0x4d, 0x01, 0xd4, //0x000014ab addq %r10, %r12 + 0x4c, 0x03, 0x65, 0x88, //0x000014ae addq $-120(%rbp), %r12 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000014b2 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x000014b9 xorl %r8d, %r8d + 0x90, 0x90, 0x90, 0x90, //0x000014bc .p2align 4, 0x90 + //0x000014c0 LBB0_273 + 0xc4, 0xc1, 0x7a, 0x6f, 0x33, //0x000014c0 vmovdqu (%r11), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x000014c5 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x20, //0x000014cb vmovdqu $32(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x30, //0x000014d1 vmovdqu $48(%r11), %xmm7 + 0xc5, 0xc9, 0x74, 0xd0, //0x000014d7 vpcmpeqb %xmm0, %xmm6, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x000014db vpmovmskb %xmm2, %esi + 0xc5, 0xd1, 0x74, 0xd0, //0x000014df vpcmpeqb %xmm0, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x000014e3 vpmovmskb %xmm2, %ebx + 0xc5, 0xd9, 0x74, 0xd0, //0x000014e7 vpcmpeqb %xmm0, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x000014eb vpmovmskb %xmm2, %ecx + 0xc5, 0xc1, 0x74, 0xd0, //0x000014ef vpcmpeqb %xmm0, %xmm7, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000014f3 vpmovmskb %xmm2, %edi + 0xc5, 0xc9, 0x74, 0xd1, //0x000014f7 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xea, //0x000014fb vpmovmskb %xmm2, %r13d + 0xc5, 0xd1, 0x74, 0xd1, //0x000014ff vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00001503 vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x00001507 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x0000150b shlq $16, %rbx + 0x48, 0x09, 0xde, //0x0000150f orq %rbx, %rsi + 0xc5, 0xf9, 0xd7, 0xda, //0x00001512 vpmovmskb %xmm2, %ebx + 0xc5, 0xc1, 0x74, 0xd1, //0x00001516 vpcmpeqb %xmm1, %xmm7, %xmm2 + 0x48, 0xc1, 0xe1, 0x20, //0x0000151a shlq $32, %rcx + 0x48, 0x09, 0xce, //0x0000151e orq %rcx, %rsi + 0xc5, 0xf9, 0xd7, 0xca, //0x00001521 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd6, //0x00001525 vpcmpgtb %xmm6, %xmm15, %xmm2 + 0xc5, 0xc9, 0x64, 0xf3, //0x00001529 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xd2, //0x0000152d vpand %xmm2, %xmm6, %xmm2 + 0x48, 0xc1, 0xe2, 0x10, //0x00001531 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x00001535 orq %rdx, %r13 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00001538 vpmovmskb %xmm2, %edx + 0xc5, 0x81, 0x64, 0xd5, //0x0000153c vpcmpgtb %xmm5, %xmm15, %xmm2 + 0xc5, 0xd1, 0x64, 0xeb, //0x00001540 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xd2, //0x00001544 vpand %xmm2, %xmm5, %xmm2 + 0x48, 0xc1, 0xe3, 0x20, //0x00001548 shlq $32, %rbx + 0x49, 0x09, 0xdd, //0x0000154c orq %rbx, %r13 + 0xc5, 0xf9, 0xd7, 0xda, //0x0000154f vpmovmskb %xmm2, %ebx + 0xc5, 0x81, 0x64, 0xd4, //0x00001553 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00001557 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x0000155b vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe1, 0x30, //0x0000155f shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00001563 orq %rcx, %r13 + 0xc5, 0xf9, 0xd7, 0xca, //0x00001566 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd7, //0x0000156a vpcmpgtb %xmm7, %xmm15, %xmm2 + 0xc5, 0xc1, 0x64, 0xe3, //0x0000156e vpcmpgtb %xmm3, %xmm7, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001572 vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x00001576 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x0000157a orq %rbx, %rdx + 0xc5, 0x79, 0xd7, 0xf2, //0x0000157d vpmovmskb %xmm2, %r14d + 0x48, 0xc1, 0xe7, 0x30, //0x00001581 shlq $48, %rdi + 0x48, 0xc1, 0xe1, 0x20, //0x00001585 shlq $32, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001589 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000158d jne LBB0_275 + 0x4d, 0x85, 0xed, //0x00001593 testq %r13, %r13 + 0x0f, 0x85, 0xa4, 0x00, 0x00, 0x00, //0x00001596 jne LBB0_289 + //0x0000159c LBB0_275 + 0x49, 0xc1, 0xe6, 0x30, //0x0000159c shlq $48, %r14 + 0x48, 0x09, 0xca, //0x000015a0 orq %rcx, %rdx + 0x48, 0x09, 0xfe, //0x000015a3 orq %rdi, %rsi + 0x4c, 0x89, 0xe9, //0x000015a6 movq %r13, %rcx + 0x4c, 0x09, 0xc1, //0x000015a9 orq %r8, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000015ac jne LBB0_290 + 0x4c, 0x09, 0xf2, //0x000015b2 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x000015b5 testq %rsi, %rsi + 0x0f, 0x85, 0x95, 0x00, 0x00, 0x00, //0x000015b8 jne LBB0_291 + //0x000015be LBB0_277 + 0x48, 0x85, 0xd2, //0x000015be testq %rdx, %rdx + 0x0f, 0x85, 0x47, 0x0e, 0x00, 0x00, //0x000015c1 jne LBB0_427 + 0x48, 0x83, 0xc0, 0xc0, //0x000015c7 addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x000015cb addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x000015cf cmpq $63, %rax + 0x0f, 0x87, 0xe7, 0xfe, 0xff, 0xff, //0x000015d3 ja LBB0_273 + 0xe9, 0x8b, 0x06, 0x00, 0x00, //0x000015d9 jmp LBB0_279 + //0x000015de LBB0_290 + 0x4c, 0x89, 0xc1, //0x000015de movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x000015e1 notq %rcx + 0x4c, 0x21, 0xe9, //0x000015e4 andq %r13, %rcx + 0x4c, 0x89, 0x55, 0xb0, //0x000015e7 movq %r10, $-80(%rbp) + 0x4c, 0x8d, 0x14, 0x09, //0x000015eb leaq (%rcx,%rcx), %r10 + 0x4d, 0x09, 0xc2, //0x000015ef orq %r8, %r10 + 0x4c, 0x89, 0xd7, //0x000015f2 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x000015f5 notq %rdi + 0x4c, 0x21, 0xef, //0x000015f8 andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000015fb movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x00001605 andq %rbx, %rdi + 0x45, 0x31, 0xc0, //0x00001608 xorl %r8d, %r8d + 0x48, 0x01, 0xcf, //0x0000160b addq %rcx, %rdi + 0x41, 0x0f, 0x92, 0xc0, //0x0000160e setb %r8b + 0x48, 0x01, 0xff, //0x00001612 addq %rdi, %rdi + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001615 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcf, //0x0000161f xorq %rcx, %rdi + 0x4c, 0x21, 0xd7, //0x00001622 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xb0, //0x00001625 movq $-80(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x00001629 notq %rdi + 0x48, 0x21, 0xfe, //0x0000162c andq %rdi, %rsi + 0x4c, 0x09, 0xf2, //0x0000162f orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00001632 testq %rsi, %rsi + 0x0f, 0x84, 0x83, 0xff, 0xff, 0xff, //0x00001635 je LBB0_277 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x0000163b jmp LBB0_291 + //0x00001640 LBB0_289 + 0x4c, 0x89, 0xdb, //0x00001640 movq %r11, %rbx + 0x48, 0x2b, 0x5d, 0xd0, //0x00001643 subq $-48(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xcd, //0x00001647 bsfq %r13, %r9 + 0x49, 0x01, 0xd9, //0x0000164b addq %rbx, %r9 + 0xe9, 0x49, 0xff, 0xff, 0xff, //0x0000164e jmp LBB0_275 + //0x00001653 LBB0_291 + 0x48, 0x0f, 0xbc, 0xc6, //0x00001653 bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00001657 testq %rdx, %rdx + 0x4c, 0x8b, 0x65, 0xd0, //0x0000165a movq $-48(%rbp), %r12 + 0x0f, 0x84, 0xc2, 0x00, 0x00, 0x00, //0x0000165e je LBB0_306 + 0x48, 0x0f, 0xbc, 0xca, //0x00001664 bsfq %rdx, %rcx + 0x4d, 0x29, 0xe3, //0x00001668 subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x0000166b cmpq %rax, %rcx + 0x0f, 0x83, 0x4a, 0xf8, 0xff, 0xff, //0x0000166e jae LBB0_185 + 0xe9, 0xe7, 0x0e, 0x00, 0x00, //0x00001674 jmp LBB0_308 + //0x00001679 LBB0_293 + 0x49, 0x01, 0xcd, //0x00001679 addq %rcx, %r13 + 0x4d, 0x89, 0xe8, //0x0000167c movq %r13, %r8 + 0x48, 0x8b, 0x5d, 0xa0, //0x0000167f movq $-96(%rbp), %rbx + 0x48, 0x8b, 0x4d, 0xa8, //0x00001683 movq $-88(%rbp), %rcx + //0x00001687 LBB0_294 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001687 movq $-1, %r11 + 0x48, 0x85, 0xdb, //0x0000168e testq %rbx, %rbx + 0x48, 0x8b, 0x75, 0xc8, //0x00001691 movq $-56(%rbp), %rsi + 0x0f, 0x84, 0x90, 0x0d, 0x00, 0x00, //0x00001695 je LBB0_430 + //0x0000169b LBB0_295 + 0x48, 0x85, 0xc9, //0x0000169b testq %rcx, %rcx + 0x0f, 0x84, 0x87, 0x0d, 0x00, 0x00, //0x0000169e je LBB0_430 + 0x4d, 0x85, 0xf6, //0x000016a4 testq %r14, %r14 + 0x48, 0x8b, 0x55, 0xb8, //0x000016a7 movq $-72(%rbp), %rdx + 0x48, 0x8b, 0x7d, 0xc0, //0x000016ab movq $-64(%rbp), %rdi + 0x0f, 0x84, 0x76, 0x0d, 0x00, 0x00, //0x000016af je LBB0_430 + 0x4d, 0x29, 0xe0, //0x000016b5 subq %r12, %r8 + 0x49, 0x8d, 0x40, 0xff, //0x000016b8 leaq $-1(%r8), %rax + 0x48, 0x39, 0xc3, //0x000016bc cmpq %rax, %rbx + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x000016bf je LBB0_303 + 0x49, 0x39, 0xc6, //0x000016c5 cmpq %rax, %r14 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x000016c8 je LBB0_303 + 0x48, 0x39, 0xc1, //0x000016ce cmpq %rax, %rcx + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x000016d1 je LBB0_303 + 0x48, 0x85, 0xc9, //0x000016d7 testq %rcx, %rcx + 0x0f, 0x8e, 0x71, 0x00, 0x00, 0x00, //0x000016da jle LBB0_310 + 0x48, 0x8d, 0x41, 0xff, //0x000016e0 leaq $-1(%rcx), %rax + 0x48, 0x39, 0xc3, //0x000016e4 cmpq %rax, %rbx + 0x0f, 0x84, 0x64, 0x00, 0x00, 0x00, //0x000016e7 je LBB0_310 + 0x48, 0xf7, 0xd1, //0x000016ed notq %rcx + 0x49, 0x89, 0xcb, //0x000016f0 movq %rcx, %r11 + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x000016f3 jmp LBB0_304 + //0x000016f8 LBB0_303 + 0x49, 0xf7, 0xd8, //0x000016f8 negq %r8 + 0x4d, 0x89, 0xc3, //0x000016fb movq %r8, %r11 + //0x000016fe LBB0_304 + 0x4d, 0x85, 0xdb, //0x000016fe testq %r11, %r11 + 0x0f, 0x88, 0x24, 0x0d, 0x00, 0x00, //0x00001701 js LBB0_430 + //0x00001707 LBB0_305 + 0x48, 0x8b, 0x4d, 0xb0, //0x00001707 movq $-80(%rbp), %rcx + 0x49, 0x01, 0xcb, //0x0000170b addq %rcx, %r11 + 0x4c, 0x89, 0x1e, //0x0000170e movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00001711 movq %r15, %rax + 0x48, 0x85, 0xc9, //0x00001714 testq %rcx, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001717 movq $-48(%rbp), %r12 + 0x0f, 0x8f, 0x42, 0xea, 0xff, 0xff, //0x0000171b jg LBB0_2 + 0xe9, 0xbe, 0x0c, 0x00, 0x00, //0x00001721 jmp LBB0_424 + //0x00001726 LBB0_306 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001726 movl $64, %ecx + 0x4d, 0x29, 0xe3, //0x0000172b subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x0000172e cmpq %rax, %rcx + 0x0f, 0x83, 0x87, 0xf7, 0xff, 0xff, //0x00001731 jae LBB0_185 + 0xe9, 0x24, 0x0e, 0x00, 0x00, //0x00001737 jmp LBB0_308 + //0x0000173c LBB0_309 + 0x4d, 0x29, 0xd6, //0x0000173c subq %r10, %r14 + 0x0f, 0xbc, 0xce, //0x0000173f bsfl %esi, %ecx + 0x4c, 0x01, 0xf1, //0x00001742 addq %r14, %rcx + 0x48, 0xf7, 0xd1, //0x00001745 notq %rcx + 0x48, 0x8b, 0x75, 0xc8, //0x00001748 movq $-56(%rbp), %rsi + 0xe9, 0x22, 0xf5, 0xff, 0xff, //0x0000174c jmp LBB0_159 + //0x00001751 LBB0_310 + 0x4c, 0x89, 0xf0, //0x00001751 movq %r14, %rax + 0x48, 0x09, 0xd8, //0x00001754 orq %rbx, %rax + 0x49, 0x39, 0xde, //0x00001757 cmpq %rbx, %r14 + 0x0f, 0x8c, 0x68, 0x01, 0x00, 0x00, //0x0000175a jl LBB0_313 + 0x48, 0x85, 0xc0, //0x00001760 testq %rax, %rax + 0x0f, 0x88, 0x5f, 0x01, 0x00, 0x00, //0x00001763 js LBB0_313 + 0x49, 0xf7, 0xd6, //0x00001769 notq %r14 + 0x4d, 0x89, 0xf3, //0x0000176c movq %r14, %r11 + 0xe9, 0x8a, 0xff, 0xff, 0xff, //0x0000176f jmp LBB0_304 + //0x00001774 LBB0_48 + 0x4c, 0x8b, 0x5d, 0x80, //0x00001774 movq $-128(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xa8, //0x00001778 movq $-88(%rbp), %r13 + 0x49, 0x83, 0xfd, 0x20, //0x0000177c cmpq $32, %r13 + 0x0f, 0x82, 0xeb, 0x07, 0x00, 0x00, //0x00001780 jb LBB0_366 + //0x00001786 LBB0_49 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00001786 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x0000178b vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001791 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001795 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001799 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x0000179d vpmovmskb %xmm5, %edx + 0xc5, 0xe9, 0x74, 0xd1, //0x000017a1 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000017a5 vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x000017a9 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x000017ad vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x000017b1 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x000017b5 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x000017b9 orq %rax, %rdi + 0x49, 0x83, 0xf9, 0xff, //0x000017bc cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000017c0 jne LBB0_51 + 0x48, 0x85, 0xff, //0x000017c6 testq %rdi, %rdi + 0x0f, 0x85, 0x41, 0x07, 0x00, 0x00, //0x000017c9 jne LBB0_363 + //0x000017cf LBB0_51 + 0x48, 0x09, 0xca, //0x000017cf orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x000017d2 movq %rdi, %rax + 0x4c, 0x09, 0xe0, //0x000017d5 orq %r12, %rax + 0x0f, 0x85, 0x4f, 0x07, 0x00, 0x00, //0x000017d8 jne LBB0_364 + //0x000017de LBB0_52 + 0x48, 0x85, 0xd2, //0x000017de testq %rdx, %rdx + 0x0f, 0x84, 0x82, 0x07, 0x00, 0x00, //0x000017e1 je LBB0_365 + //0x000017e7 LBB0_53 + 0x48, 0x0f, 0xbc, 0xc2, //0x000017e7 bsfq %rdx, %rax + 0xe9, 0x43, 0xed, 0xff, 0xff, //0x000017eb jmp LBB0_57 + //0x000017f0 LBB0_113 + 0x4c, 0x8b, 0x5d, 0x80, //0x000017f0 movq $-128(%rbp), %r11 + 0x48, 0x8b, 0x45, 0xa8, //0x000017f4 movq $-88(%rbp), %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x000017f8 movq $-48(%rbp), %r12 + 0x48, 0x83, 0xf8, 0x20, //0x000017fc cmpq $32, %rax + 0x0f, 0x82, 0x6f, 0x02, 0x00, 0x00, //0x00001800 jb LBB0_318 + //0x00001806 LBB0_114 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00001806 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x0000180b vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001811 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001815 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001819 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x0000181d vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xe9, //0x00001821 vpcmpeqb %xmm1, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00001825 vpmovmskb %xmm5, %edx + 0xc5, 0xd9, 0x74, 0xe9, //0x00001829 vpcmpeqb %xmm1, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xdd, //0x0000182d vpmovmskb %xmm5, %ebx + 0xc5, 0x81, 0x64, 0xea, //0x00001831 vpcmpgtb %xmm2, %xmm15, %xmm5 + 0xc5, 0xe9, 0x64, 0xd3, //0x00001835 vpcmpgtb %xmm3, %xmm2, %xmm2 + 0xc5, 0xe9, 0xdb, 0xd5, //0x00001839 vpand %xmm5, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x0000183d vpmovmskb %xmm2, %r14d + 0xc5, 0x81, 0x64, 0xd4, //0x00001841 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00001845 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001849 vpand %xmm2, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x0000184d vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe6, 0x10, //0x00001851 shlq $16, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x00001855 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00001859 orq %rbx, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x0000185c cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001860 jne LBB0_116 + 0x48, 0x85, 0xd2, //0x00001866 testq %rdx, %rdx + 0x0f, 0x85, 0x7c, 0x07, 0x00, 0x00, //0x00001869 jne LBB0_373 + //0x0000186f LBB0_116 + 0x48, 0xc1, 0xe7, 0x10, //0x0000186f shlq $16, %rdi + 0x48, 0x09, 0xce, //0x00001873 orq %rcx, %rsi + 0x48, 0x89, 0xd1, //0x00001876 movq %rdx, %rcx + 0x4c, 0x09, 0xc1, //0x00001879 orq %r8, %rcx + 0x0f, 0x85, 0x4f, 0x06, 0x00, 0x00, //0x0000187c jne LBB0_362 + //0x00001882 LBB0_117 + 0x4c, 0x09, 0xf7, //0x00001882 orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001885 movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x0000188a movl $64, %edx + 0x48, 0x85, 0xf6, //0x0000188f testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001892 je LBB0_119 + 0x48, 0x0f, 0xbc, 0xd6, //0x00001898 bsfq %rsi, %rdx + //0x0000189c LBB0_119 + 0x48, 0x85, 0xff, //0x0000189c testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x0000189f je LBB0_121 + 0x48, 0x0f, 0xbc, 0xcf, //0x000018a5 bsfq %rdi, %rcx + //0x000018a9 LBB0_121 + 0x48, 0x85, 0xf6, //0x000018a9 testq %rsi, %rsi + 0x0f, 0x84, 0xb2, 0x01, 0x00, 0x00, //0x000018ac je LBB0_316 + //0x000018b2 LBB0_122 + 0x4d, 0x29, 0xe3, //0x000018b2 subq %r12, %r11 + 0x48, 0x39, 0xd1, //0x000018b5 cmpq %rdx, %rcx + 0x0f, 0x82, 0xa2, 0x0c, 0x00, 0x00, //0x000018b8 jb LBB0_308 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x000018be leaq $1(%r11,%rdx), %r11 + 0xe9, 0xfb, 0xf5, 0xff, 0xff, //0x000018c3 jmp LBB0_186 + //0x000018c8 LBB0_313 + 0x48, 0x85, 0xc0, //0x000018c8 testq %rax, %rax + 0x48, 0x8d, 0x43, 0xff, //0x000018cb leaq $-1(%rbx), %rax + 0x48, 0xf7, 0xd3, //0x000018cf notq %rbx + 0x49, 0x0f, 0x48, 0xd8, //0x000018d2 cmovsq %r8, %rbx + 0x49, 0x39, 0xc6, //0x000018d6 cmpq %rax, %r14 + 0x49, 0x0f, 0x45, 0xd8, //0x000018d9 cmovneq %r8, %rbx + 0x49, 0x89, 0xdb, //0x000018dd movq %rbx, %r11 + 0xe9, 0x19, 0xfe, 0xff, 0xff, //0x000018e0 jmp LBB0_304 + //0x000018e5 LBB0_314 + 0x48, 0xf7, 0xd0, //0x000018e5 notq %rax + 0x48, 0x89, 0xc1, //0x000018e8 movq %rax, %rcx + 0x48, 0x8b, 0x75, 0xc8, //0x000018eb movq $-56(%rbp), %rsi + 0xe9, 0x7f, 0xf3, 0xff, 0xff, //0x000018ef jmp LBB0_159 + //0x000018f4 LBB0_315 + 0x48, 0x89, 0x4d, 0xb0, //0x000018f4 movq %rcx, $-80(%rbp) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000018f8 movq $-1, %rax + 0x4d, 0x85, 0xed, //0x000018ff testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x00001902 movq $-56(%rbp), %rsi + 0x0f, 0x85, 0xf5, 0xf2, 0xff, 0xff, //0x00001906 jne LBB0_150 + 0xe9, 0xc3, 0x0a, 0x00, 0x00, //0x0000190c jmp LBB0_421 + //0x00001911 LBB0_134 + 0x4c, 0x8b, 0x5d, 0x80, //0x00001911 movq $-128(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xa8, //0x00001915 movq $-88(%rbp), %r13 + 0x49, 0x83, 0xfd, 0x20, //0x00001919 cmpq $32, %r13 + 0x0f, 0x82, 0xda, 0x07, 0x00, 0x00, //0x0000191d jb LBB0_382 + //0x00001923 LBB0_135 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00001923 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001928 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x0000192e vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001932 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001936 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x0000193a vpmovmskb %xmm5, %edx + 0xc5, 0xe9, 0x74, 0xd1, //0x0000193e vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001942 vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x00001946 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x0000194a vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x0000194e shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001952 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001956 orq %rax, %rdi + 0x49, 0x83, 0xf9, 0xff, //0x00001959 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000195d jne LBB0_137 + 0x48, 0x85, 0xff, //0x00001963 testq %rdi, %rdi + 0x0f, 0x85, 0x30, 0x07, 0x00, 0x00, //0x00001966 jne LBB0_379 + //0x0000196c LBB0_137 + 0x48, 0x09, 0xca, //0x0000196c orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x0000196f movq %rdi, %rax + 0x4c, 0x09, 0xe0, //0x00001972 orq %r12, %rax + 0x0f, 0x85, 0x3e, 0x07, 0x00, 0x00, //0x00001975 jne LBB0_380 + //0x0000197b LBB0_138 + 0x48, 0x85, 0xd2, //0x0000197b testq %rdx, %rdx + 0x0f, 0x84, 0x71, 0x07, 0x00, 0x00, //0x0000197e je LBB0_381 + //0x00001984 LBB0_139 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001984 bsfq %rdx, %rax + 0xe9, 0x06, 0xf2, 0xff, 0xff, //0x00001988 jmp LBB0_143 + //0x0000198d LBB0_169 + 0x4d, 0x89, 0xe3, //0x0000198d movq %r12, %r11 + 0x48, 0x8b, 0x45, 0xa8, //0x00001990 movq $-88(%rbp), %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x00001994 movq $-48(%rbp), %r12 + 0x48, 0x83, 0xf8, 0x20, //0x00001998 cmpq $32, %rax + 0x0f, 0x82, 0x7a, 0x01, 0x00, 0x00, //0x0000199c jb LBB0_329 + //0x000019a2 LBB0_170 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x000019a2 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x000019a7 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x000019ad vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x000019b1 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x000019b5 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x000019b9 vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xe9, //0x000019bd vpcmpeqb %xmm1, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x000019c1 vpmovmskb %xmm5, %edx + 0xc5, 0xd9, 0x74, 0xe9, //0x000019c5 vpcmpeqb %xmm1, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xdd, //0x000019c9 vpmovmskb %xmm5, %ebx + 0xc5, 0x81, 0x64, 0xea, //0x000019cd vpcmpgtb %xmm2, %xmm15, %xmm5 + 0xc5, 0xe9, 0x64, 0xd3, //0x000019d1 vpcmpgtb %xmm3, %xmm2, %xmm2 + 0xc5, 0xe9, 0xdb, 0xd5, //0x000019d5 vpand %xmm5, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x000019d9 vpmovmskb %xmm2, %r14d + 0xc5, 0x81, 0x64, 0xd4, //0x000019dd vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x000019e1 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x000019e5 vpand %xmm2, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000019e9 vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe6, 0x10, //0x000019ed shlq $16, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x000019f1 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x000019f5 orq %rbx, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x000019f8 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000019fc jne LBB0_172 + 0x48, 0x85, 0xd2, //0x00001a02 testq %rdx, %rdx + 0x0f, 0x85, 0x77, 0x07, 0x00, 0x00, //0x00001a05 jne LBB0_390 + //0x00001a0b LBB0_172 + 0x48, 0xc1, 0xe7, 0x10, //0x00001a0b shlq $16, %rdi + 0x48, 0x09, 0xce, //0x00001a0f orq %rcx, %rsi + 0x48, 0x89, 0xd1, //0x00001a12 movq %rdx, %rcx + 0x4c, 0x09, 0xc1, //0x00001a15 orq %r8, %rcx + 0x0f, 0x85, 0xdf, 0x05, 0x00, 0x00, //0x00001a18 jne LBB0_374 + //0x00001a1e LBB0_173 + 0x4c, 0x09, 0xf7, //0x00001a1e orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001a21 movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001a26 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001a2b testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001a2e je LBB0_175 + 0x48, 0x0f, 0xbc, 0xd6, //0x00001a34 bsfq %rsi, %rdx + //0x00001a38 LBB0_175 + 0x48, 0x85, 0xff, //0x00001a38 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001a3b je LBB0_177 + 0x48, 0x0f, 0xbc, 0xcf, //0x00001a41 bsfq %rdi, %rcx + //0x00001a45 LBB0_177 + 0x48, 0x85, 0xf6, //0x00001a45 testq %rsi, %rsi + 0x0f, 0x84, 0xbd, 0x00, 0x00, 0x00, //0x00001a48 je LBB0_327 + 0x4d, 0x29, 0xe3, //0x00001a4e subq %r12, %r11 + 0x48, 0x39, 0xd1, //0x00001a51 cmpq %rdx, %rcx + 0x0f, 0x82, 0x06, 0x0b, 0x00, 0x00, //0x00001a54 jb LBB0_308 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001a5a leaq $1(%r11,%rdx), %r11 + 0xe9, 0xce, 0xf4, 0xff, 0xff, //0x00001a5f jmp LBB0_193 + //0x00001a64 LBB0_316 + 0x48, 0x85, 0xff, //0x00001a64 testq %rdi, %rdi + 0x0f, 0x85, 0x0e, 0x0b, 0x00, 0x00, //0x00001a67 jne LBB0_450 + 0x49, 0x83, 0xc3, 0x20, //0x00001a6d addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001a71 addq $-32, %rax + //0x00001a75 LBB0_318 + 0x4d, 0x85, 0xc0, //0x00001a75 testq %r8, %r8 + 0x0f, 0x85, 0xee, 0x05, 0x00, 0x00, //0x00001a78 jne LBB0_377 + 0x48, 0x85, 0xc0, //0x00001a7e testq %rax, %rax + 0x0f, 0x84, 0x2e, 0x09, 0x00, 0x00, //0x00001a81 je LBB0_416 + //0x00001a87 LBB0_320 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001a87 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001a8b cmpb $34, %cl + 0x0f, 0x84, 0x2e, 0x03, 0x00, 0x00, //0x00001a8e je LBB0_355 + 0x80, 0xf9, 0x5c, //0x00001a94 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001a97 je LBB0_324 + 0x80, 0xf9, 0x1f, //0x00001a9d cmpb $31, %cl + 0x0f, 0x86, 0xe1, 0x0a, 0x00, 0x00, //0x00001aa0 jbe LBB0_451 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001aa6 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001aad movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001ab2 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001ab5 addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001ab8 jne LBB0_320 + 0xe9, 0xf2, 0x08, 0x00, 0x00, //0x00001abe jmp LBB0_416 + //0x00001ac3 LBB0_324 + 0x48, 0x83, 0xf8, 0x01, //0x00001ac3 cmpq $1, %rax + 0x0f, 0x84, 0xe8, 0x08, 0x00, 0x00, //0x00001ac7 je LBB0_416 + 0x4c, 0x89, 0xd9, //0x00001acd movq %r11, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001ad0 movq $-48(%rbp), %r12 + 0x4c, 0x29, 0xe1, //0x00001ad4 subq %r12, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001ad7 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001adb cmoveq %rcx, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001adf movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001ae6 movl $2, %edx + 0x49, 0x01, 0xd3, //0x00001aeb addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001aee addq %rcx, %rax + 0x0f, 0x85, 0x90, 0xff, 0xff, 0xff, //0x00001af1 jne LBB0_320 + 0xe9, 0xb9, 0x08, 0x00, 0x00, //0x00001af7 jmp LBB0_416 + //0x00001afc LBB0_326 + 0x48, 0xf7, 0xd6, //0x00001afc notq %rsi + 0x48, 0x89, 0xf1, //0x00001aff movq %rsi, %rcx + 0x48, 0x8b, 0x75, 0xc8, //0x00001b02 movq $-56(%rbp), %rsi + 0xe9, 0x68, 0xf1, 0xff, 0xff, //0x00001b06 jmp LBB0_159 + //0x00001b0b LBB0_327 + 0x48, 0x85, 0xff, //0x00001b0b testq %rdi, %rdi + 0x0f, 0x85, 0x67, 0x0a, 0x00, 0x00, //0x00001b0e jne LBB0_450 + 0x49, 0x83, 0xc3, 0x20, //0x00001b14 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001b18 addq $-32, %rax + //0x00001b1c LBB0_329 + 0x4d, 0x85, 0xc0, //0x00001b1c testq %r8, %r8 + 0x0f, 0x85, 0x9f, 0x06, 0x00, 0x00, //0x00001b1f jne LBB0_393 + 0x48, 0x85, 0xc0, //0x00001b25 testq %rax, %rax + 0x0f, 0x84, 0x87, 0x08, 0x00, 0x00, //0x00001b28 je LBB0_416 + //0x00001b2e LBB0_331 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001b2e movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001b32 cmpb $34, %cl + 0x0f, 0x84, 0xaa, 0x00, 0x00, 0x00, //0x00001b35 je LBB0_340 + 0x80, 0xf9, 0x5c, //0x00001b3b cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001b3e je LBB0_335 + 0x80, 0xf9, 0x1f, //0x00001b44 cmpb $31, %cl + 0x0f, 0x86, 0x3a, 0x0a, 0x00, 0x00, //0x00001b47 jbe LBB0_451 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001b4d movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001b54 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001b59 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001b5c addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001b5f jne LBB0_331 + 0xe9, 0x4b, 0x08, 0x00, 0x00, //0x00001b65 jmp LBB0_416 + //0x00001b6a LBB0_335 + 0x48, 0x83, 0xf8, 0x01, //0x00001b6a cmpq $1, %rax + 0x0f, 0x84, 0x41, 0x08, 0x00, 0x00, //0x00001b6e je LBB0_416 + 0x4c, 0x89, 0xd9, //0x00001b74 movq %r11, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001b77 movq $-48(%rbp), %r12 + 0x4c, 0x29, 0xe1, //0x00001b7b subq %r12, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001b7e cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001b82 cmoveq %rcx, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001b86 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001b8d movl $2, %edx + 0x49, 0x01, 0xd3, //0x00001b92 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001b95 addq %rcx, %rax + 0x0f, 0x85, 0x90, 0xff, 0xff, 0xff, //0x00001b98 jne LBB0_331 + 0xe9, 0x12, 0x08, 0x00, 0x00, //0x00001b9e jmp LBB0_416 + //0x00001ba3 LBB0_419 + 0x48, 0xf7, 0xd8, //0x00001ba3 negq %rax + 0x48, 0x8b, 0x75, 0xc8, //0x00001ba6 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x65, 0xd0, //0x00001baa movq $-48(%rbp), %r12 + 0x48, 0x8b, 0x55, 0xb8, //0x00001bae movq $-72(%rbp), %rdx + 0x48, 0x8b, 0x7d, 0xc0, //0x00001bb2 movq $-64(%rbp), %rdi + 0x48, 0x89, 0xc1, //0x00001bb6 movq %rax, %rcx + 0x48, 0x85, 0xc9, //0x00001bb9 testq %rcx, %rcx + 0x0f, 0x89, 0xc6, 0xf0, 0xff, 0xff, //0x00001bbc jns LBB0_268 + 0xe9, 0x0a, 0x08, 0x00, 0x00, //0x00001bc2 jmp LBB0_420 + //0x00001bc7 LBB0_337 + 0x4d, 0x29, 0xe5, //0x00001bc7 subq %r12, %r13 + 0x44, 0x0f, 0xbc, 0xdf, //0x00001bca bsfl %edi, %r11d + 0x4d, 0x01, 0xeb, //0x00001bce addq %r13, %r11 + //0x00001bd1 LBB0_338 + 0x49, 0xf7, 0xd3, //0x00001bd1 notq %r11 + //0x00001bd4 LBB0_339 + 0x48, 0x8b, 0x75, 0xc8, //0x00001bd4 movq $-56(%rbp), %rsi + 0x48, 0x8b, 0x55, 0xb8, //0x00001bd8 movq $-72(%rbp), %rdx + 0x48, 0x8b, 0x7d, 0xc0, //0x00001bdc movq $-64(%rbp), %rdi + 0xe9, 0x19, 0xfb, 0xff, 0xff, //0x00001be0 jmp LBB0_304 + //0x00001be5 LBB0_340 + 0x4c, 0x03, 0x5d, 0x90, //0x00001be5 addq $-112(%rbp), %r11 + 0xe9, 0x44, 0xf3, 0xff, 0xff, //0x00001be9 jmp LBB0_193 + //0x00001bee LBB0_206 + 0x4d, 0x89, 0xc3, //0x00001bee movq %r8, %r11 + 0x4c, 0x8b, 0x65, 0xa8, //0x00001bf1 movq $-88(%rbp), %r12 + 0x49, 0x83, 0xfc, 0x20, //0x00001bf5 cmpq $32, %r12 + 0x0f, 0x82, 0x99, 0x06, 0x00, 0x00, //0x00001bf9 jb LBB0_399 + //0x00001bff LBB0_207 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00001bff vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001c04 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001c0a vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001c0e vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001c12 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00001c16 vpmovmskb %xmm5, %edx + 0xc5, 0xe9, 0x74, 0xd1, //0x00001c1a vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001c1e vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x00001c22 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001c26 vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001c2a shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001c2e shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001c32 orq %rax, %rdi + 0x49, 0x83, 0xf9, 0xff, //0x00001c35 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001c39 jne LBB0_209 + 0x48, 0x85, 0xff, //0x00001c3f testq %rdi, %rdi + 0x0f, 0x85, 0xed, 0x05, 0x00, 0x00, //0x00001c42 jne LBB0_396 + //0x00001c48 LBB0_209 + 0x48, 0x09, 0xca, //0x00001c48 orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00001c4b movq %rdi, %rax + 0x4c, 0x09, 0xd0, //0x00001c4e orq %r10, %rax + 0x0f, 0x85, 0xfb, 0x05, 0x00, 0x00, //0x00001c51 jne LBB0_397 + //0x00001c57 LBB0_210 + 0x48, 0x85, 0xd2, //0x00001c57 testq %rdx, %rdx + 0x0f, 0x84, 0x30, 0x06, 0x00, 0x00, //0x00001c5a je LBB0_398 + //0x00001c60 LBB0_211 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001c60 bsfq %rdx, %rax + 0xe9, 0xaa, 0xf4, 0xff, 0xff, //0x00001c64 jmp LBB0_215 + //0x00001c69 LBB0_279 + 0x4d, 0x89, 0xe3, //0x00001c69 movq %r12, %r11 + 0x48, 0x8b, 0x45, 0xa8, //0x00001c6c movq $-88(%rbp), %rax + 0x48, 0x83, 0xf8, 0x20, //0x00001c70 cmpq $32, %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x00001c74 movq $-48(%rbp), %r12 + 0x0f, 0x82, 0xbd, 0x00, 0x00, 0x00, //0x00001c78 jb LBB0_345 + //0x00001c7e LBB0_280 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00001c7e vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001c83 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001c89 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001c8d vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001c91 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x00001c95 vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xe9, //0x00001c99 vpcmpeqb %xmm1, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00001c9d vpmovmskb %xmm5, %edx + 0xc5, 0xd9, 0x74, 0xe9, //0x00001ca1 vpcmpeqb %xmm1, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xdd, //0x00001ca5 vpmovmskb %xmm5, %ebx + 0xc5, 0x81, 0x64, 0xea, //0x00001ca9 vpcmpgtb %xmm2, %xmm15, %xmm5 + 0xc5, 0xe9, 0x64, 0xd3, //0x00001cad vpcmpgtb %xmm3, %xmm2, %xmm2 + 0xc5, 0xe9, 0xdb, 0xd5, //0x00001cb1 vpand %xmm5, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001cb5 vpmovmskb %xmm2, %r14d + 0xc5, 0x81, 0x64, 0xd4, //0x00001cb9 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00001cbd vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001cc1 vpand %xmm2, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001cc5 vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe6, 0x10, //0x00001cc9 shlq $16, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x00001ccd shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00001cd1 orq %rbx, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x00001cd4 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001cd8 jne LBB0_282 + 0x48, 0x85, 0xd2, //0x00001cde testq %rdx, %rdx + 0x0f, 0x85, 0x37, 0x06, 0x00, 0x00, //0x00001ce1 jne LBB0_408 + //0x00001ce7 LBB0_282 + 0x48, 0xc1, 0xe7, 0x10, //0x00001ce7 shlq $16, %rdi + 0x48, 0x09, 0xce, //0x00001ceb orq %rcx, %rsi + 0x48, 0x89, 0xd1, //0x00001cee movq %rdx, %rcx + 0x4c, 0x09, 0xc1, //0x00001cf1 orq %r8, %rcx + 0x0f, 0x85, 0xfa, 0x04, 0x00, 0x00, //0x00001cf4 jne LBB0_395 + //0x00001cfa LBB0_283 + 0x4c, 0x09, 0xf7, //0x00001cfa orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001cfd movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001d02 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001d07 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001d0a je LBB0_285 + 0x48, 0x0f, 0xbc, 0xd6, //0x00001d10 bsfq %rsi, %rdx + //0x00001d14 LBB0_285 + 0x48, 0x85, 0xff, //0x00001d14 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001d17 je LBB0_287 + 0x48, 0x0f, 0xbc, 0xcf, //0x00001d1d bsfq %rdi, %rcx + //0x00001d21 LBB0_287 + 0x48, 0x85, 0xf6, //0x00001d21 testq %rsi, %rsi + 0x0f, 0x85, 0x88, 0xfb, 0xff, 0xff, //0x00001d24 jne LBB0_122 + 0x48, 0x85, 0xff, //0x00001d2a testq %rdi, %rdi + 0x0f, 0x85, 0x48, 0x08, 0x00, 0x00, //0x00001d2d jne LBB0_450 + 0x49, 0x83, 0xc3, 0x20, //0x00001d33 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001d37 addq $-32, %rax + //0x00001d3b LBB0_345 + 0x4d, 0x85, 0xc0, //0x00001d3b testq %r8, %r8 + 0x0f, 0x85, 0xec, 0x05, 0x00, 0x00, //0x00001d3e jne LBB0_409 + 0x48, 0x85, 0xc0, //0x00001d44 testq %rax, %rax + 0x0f, 0x84, 0x68, 0x06, 0x00, 0x00, //0x00001d47 je LBB0_416 + //0x00001d4d LBB0_347 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001d4d movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001d51 cmpb $34, %cl + 0x0f, 0x84, 0x68, 0x00, 0x00, 0x00, //0x00001d54 je LBB0_355 + 0x80, 0xf9, 0x5c, //0x00001d5a cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001d5d je LBB0_351 + 0x80, 0xf9, 0x1f, //0x00001d63 cmpb $31, %cl + 0x0f, 0x86, 0x1b, 0x08, 0x00, 0x00, //0x00001d66 jbe LBB0_451 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001d6c movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001d73 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001d78 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001d7b addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001d7e jne LBB0_347 + 0xe9, 0x2c, 0x06, 0x00, 0x00, //0x00001d84 jmp LBB0_416 + //0x00001d89 LBB0_351 + 0x48, 0x83, 0xf8, 0x01, //0x00001d89 cmpq $1, %rax + 0x0f, 0x84, 0x22, 0x06, 0x00, 0x00, //0x00001d8d je LBB0_416 + 0x4c, 0x89, 0xd9, //0x00001d93 movq %r11, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001d96 movq $-48(%rbp), %r12 + 0x4c, 0x29, 0xe1, //0x00001d9a subq %r12, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001d9d cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001da1 cmoveq %rcx, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001da5 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001dac movl $2, %edx + 0x49, 0x01, 0xd3, //0x00001db1 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001db4 addq %rcx, %rax + 0x0f, 0x85, 0x90, 0xff, 0xff, 0xff, //0x00001db7 jne LBB0_347 + 0xe9, 0xf3, 0x05, 0x00, 0x00, //0x00001dbd jmp LBB0_416 + //0x00001dc2 LBB0_355 + 0x4c, 0x03, 0x5d, 0x90, //0x00001dc2 addq $-112(%rbp), %r11 + 0xe9, 0xf8, 0xf0, 0xff, 0xff, //0x00001dc6 jmp LBB0_186 + //0x00001dcb LBB0_341 + 0x49, 0x89, 0xf8, //0x00001dcb movq %rdi, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001dce movq $-1, %r11 + 0x48, 0x85, 0xdb, //0x00001dd5 testq %rbx, %rbx + 0x48, 0x8b, 0x75, 0xc8, //0x00001dd8 movq $-56(%rbp), %rsi + 0x0f, 0x85, 0xb9, 0xf8, 0xff, 0xff, //0x00001ddc jne LBB0_295 + 0xe9, 0x44, 0x06, 0x00, 0x00, //0x00001de2 jmp LBB0_430 + //0x00001de7 LBB0_342 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001de7 movq $-1, %r11 + 0x4c, 0x89, 0x55, 0xb0, //0x00001dee movq %r10, $-80(%rbp) + 0x4c, 0x89, 0xcf, //0x00001df2 movq %r9, %rdi + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00001df5 movq $-1, %r13 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001dfc movq $-1, %r12 + 0xe9, 0x68, 0xe9, 0xff, 0xff, //0x00001e03 jmp LBB0_92 + //0x00001e08 LBB0_353 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001e08 movq $-1, %r9 + 0x45, 0x31, 0xe4, //0x00001e0f xorl %r12d, %r12d + 0x49, 0x83, 0xfd, 0x20, //0x00001e12 cmpq $32, %r13 + 0x0f, 0x83, 0x6a, 0xf9, 0xff, 0xff, //0x00001e16 jae LBB0_49 + 0xe9, 0x50, 0x01, 0x00, 0x00, //0x00001e1c jmp LBB0_366 + //0x00001e21 LBB0_354 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001e21 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001e28 xorl %r8d, %r8d + 0x48, 0x83, 0xf8, 0x20, //0x00001e2b cmpq $32, %rax + 0x0f, 0x83, 0xd1, 0xf9, 0xff, 0xff, //0x00001e2f jae LBB0_114 + 0xe9, 0x3b, 0xfc, 0xff, 0xff, //0x00001e35 jmp LBB0_318 + //0x00001e3a LBB0_356 + 0x49, 0xf7, 0xdb, //0x00001e3a negq %r11 + 0xe9, 0x92, 0xfd, 0xff, 0xff, //0x00001e3d jmp LBB0_339 + //0x00001e42 LBB0_357 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001e42 movq $-1, %r9 + 0x45, 0x31, 0xe4, //0x00001e49 xorl %r12d, %r12d + 0x49, 0x83, 0xfd, 0x20, //0x00001e4c cmpq $32, %r13 + 0x0f, 0x83, 0xcd, 0xfa, 0xff, 0xff, //0x00001e50 jae LBB0_135 + 0xe9, 0xa2, 0x02, 0x00, 0x00, //0x00001e56 jmp LBB0_382 + //0x00001e5b LBB0_358 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001e5b movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001e62 xorl %r8d, %r8d + 0x48, 0x83, 0xf8, 0x20, //0x00001e65 cmpq $32, %rax + 0x0f, 0x83, 0x33, 0xfb, 0xff, 0xff, //0x00001e69 jae LBB0_170 + 0xe9, 0xa8, 0xfc, 0xff, 0xff, //0x00001e6f jmp LBB0_329 + //0x00001e74 LBB0_359 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001e74 movq $-1, %r14 + 0x4d, 0x89, 0xe0, //0x00001e7b movq %r12, %r8 + 0x4d, 0x89, 0xd1, //0x00001e7e movq %r10, %r9 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001e81 movq $-1, %rbx + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001e88 movq $-1, %rcx + 0x48, 0x8d, 0x35, 0x02, 0x09, 0x00, 0x00, //0x00001e8f leaq $2306(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0xe9, 0x57, 0xf4, 0xff, 0xff, //0x00001e96 jmp LBB0_240 + //0x00001e9b LBB0_360 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001e9b movq $-1, %r9 + 0x45, 0x31, 0xd2, //0x00001ea2 xorl %r10d, %r10d + 0x49, 0x83, 0xfc, 0x20, //0x00001ea5 cmpq $32, %r12 + 0x0f, 0x83, 0x50, 0xfd, 0xff, 0xff, //0x00001ea9 jae LBB0_207 + 0xe9, 0xe4, 0x03, 0x00, 0x00, //0x00001eaf jmp LBB0_399 + //0x00001eb4 LBB0_361 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001eb4 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001ebb xorl %r8d, %r8d + 0x48, 0x83, 0xf8, 0x20, //0x00001ebe cmpq $32, %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x00001ec2 movq $-48(%rbp), %r12 + 0x0f, 0x83, 0xb2, 0xfd, 0xff, 0xff, //0x00001ec6 jae LBB0_280 + 0xe9, 0x6a, 0xfe, 0xff, 0xff, //0x00001ecc jmp LBB0_345 + //0x00001ed1 LBB0_362 + 0x44, 0x89, 0xc1, //0x00001ed1 movl %r8d, %ecx + 0xf7, 0xd1, //0x00001ed4 notl %ecx + 0x21, 0xd1, //0x00001ed6 andl %edx, %ecx + 0x44, 0x8d, 0x24, 0x09, //0x00001ed8 leal (%rcx,%rcx), %r12d + 0x45, 0x09, 0xc4, //0x00001edc orl %r8d, %r12d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001edf movl $2863311530, %ebx + 0x44, 0x31, 0xe3, //0x00001ee4 xorl %r12d, %ebx + 0x21, 0xd3, //0x00001ee7 andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001ee9 andl $-1431655766, %ebx + 0x45, 0x31, 0xc0, //0x00001eef xorl %r8d, %r8d + 0x01, 0xcb, //0x00001ef2 addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc0, //0x00001ef4 setb %r8b + 0x01, 0xdb, //0x00001ef8 addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x00001efa xorl $1431655765, %ebx + 0x44, 0x21, 0xe3, //0x00001f00 andl %r12d, %ebx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001f03 movq $-48(%rbp), %r12 + 0xf7, 0xd3, //0x00001f07 notl %ebx + 0x21, 0xde, //0x00001f09 andl %ebx, %esi + 0xe9, 0x72, 0xf9, 0xff, 0xff, //0x00001f0b jmp LBB0_117 + //0x00001f10 LBB0_363 + 0x4c, 0x89, 0xd8, //0x00001f10 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00001f13 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xcf, //0x00001f17 bsfq %rdi, %r9 + 0x49, 0x01, 0xc1, //0x00001f1b addq %rax, %r9 + 0x48, 0x09, 0xca, //0x00001f1e orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00001f21 movq %rdi, %rax + 0x4c, 0x09, 0xe0, //0x00001f24 orq %r12, %rax + 0x0f, 0x84, 0xb1, 0xf8, 0xff, 0xff, //0x00001f27 je LBB0_52 + //0x00001f2d LBB0_364 + 0x44, 0x89, 0xe0, //0x00001f2d movl %r12d, %eax + 0xf7, 0xd0, //0x00001f30 notl %eax + 0x21, 0xf8, //0x00001f32 andl %edi, %eax + 0x8d, 0x0c, 0x00, //0x00001f34 leal (%rax,%rax), %ecx + 0x44, 0x09, 0xe1, //0x00001f37 orl %r12d, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f3a movl $2863311530, %esi + 0x31, 0xce, //0x00001f3f xorl %ecx, %esi + 0x21, 0xfe, //0x00001f41 andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f43 andl $-1431655766, %esi + 0x45, 0x31, 0xe4, //0x00001f49 xorl %r12d, %r12d + 0x01, 0xc6, //0x00001f4c addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc4, //0x00001f4e setb %r12b + 0x01, 0xf6, //0x00001f52 addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x00001f54 xorl $1431655765, %esi + 0x21, 0xce, //0x00001f5a andl %ecx, %esi + 0xf7, 0xd6, //0x00001f5c notl %esi + 0x21, 0xf2, //0x00001f5e andl %esi, %edx + 0x48, 0x85, 0xd2, //0x00001f60 testq %rdx, %rdx + 0x0f, 0x85, 0x7e, 0xf8, 0xff, 0xff, //0x00001f63 jne LBB0_53 + //0x00001f69 LBB0_365 + 0x49, 0x83, 0xc3, 0x20, //0x00001f69 addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x00001f6d addq $-32, %r13 + //0x00001f71 LBB0_366 + 0x4d, 0x85, 0xe4, //0x00001f71 testq %r12, %r12 + 0x0f, 0x85, 0xc2, 0x00, 0x00, 0x00, //0x00001f74 jne LBB0_375 + 0x4c, 0x8b, 0x65, 0xd0, //0x00001f7a movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xed, //0x00001f7e testq %r13, %r13 + 0x0f, 0x84, 0x2e, 0x04, 0x00, 0x00, //0x00001f81 je LBB0_416 + //0x00001f87 LBB0_368 + 0x49, 0x8d, 0x4b, 0x01, //0x00001f87 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x00001f8b movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x00001f8f cmpb $34, %bl + 0x0f, 0x84, 0x7b, 0x03, 0x00, 0x00, //0x00001f92 je LBB0_407 + 0x49, 0x8d, 0x55, 0xff, //0x00001f98 leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x00001f9c cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001f9f je LBB0_371 + 0x49, 0x89, 0xd5, //0x00001fa5 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x00001fa8 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x00001fab testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x00001fae jne LBB0_368 + 0xe9, 0xfc, 0x03, 0x00, 0x00, //0x00001fb4 jmp LBB0_416 + //0x00001fb9 LBB0_371 + 0x48, 0x85, 0xd2, //0x00001fb9 testq %rdx, %rdx + 0x0f, 0x84, 0xf3, 0x03, 0x00, 0x00, //0x00001fbc je LBB0_416 + 0x48, 0x03, 0x4d, 0x98, //0x00001fc2 addq $-104(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001fc6 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001fca cmoveq %rcx, %r9 + 0x49, 0x83, 0xc3, 0x02, //0x00001fce addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x00001fd2 addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x00001fd6 movq %r13, %rdx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001fd9 movq $-48(%rbp), %r12 + 0x48, 0x85, 0xd2, //0x00001fdd testq %rdx, %rdx + 0x0f, 0x85, 0xa1, 0xff, 0xff, 0xff, //0x00001fe0 jne LBB0_368 + 0xe9, 0xca, 0x03, 0x00, 0x00, //0x00001fe6 jmp LBB0_416 + //0x00001feb LBB0_373 + 0x4c, 0x89, 0xdb, //0x00001feb movq %r11, %rbx + 0x4c, 0x29, 0xe3, //0x00001fee subq %r12, %rbx + 0x4c, 0x0f, 0xbc, 0xca, //0x00001ff1 bsfq %rdx, %r9 + 0x49, 0x01, 0xd9, //0x00001ff5 addq %rbx, %r9 + 0xe9, 0x72, 0xf8, 0xff, 0xff, //0x00001ff8 jmp LBB0_116 + //0x00001ffd LBB0_374 + 0x44, 0x89, 0xc1, //0x00001ffd movl %r8d, %ecx + 0xf7, 0xd1, //0x00002000 notl %ecx + 0x21, 0xd1, //0x00002002 andl %edx, %ecx + 0x44, 0x8d, 0x24, 0x09, //0x00002004 leal (%rcx,%rcx), %r12d + 0x45, 0x09, 0xc4, //0x00002008 orl %r8d, %r12d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000200b movl $2863311530, %ebx + 0x44, 0x31, 0xe3, //0x00002010 xorl %r12d, %ebx + 0x21, 0xd3, //0x00002013 andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002015 andl $-1431655766, %ebx + 0x45, 0x31, 0xc0, //0x0000201b xorl %r8d, %r8d + 0x01, 0xcb, //0x0000201e addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc0, //0x00002020 setb %r8b + 0x01, 0xdb, //0x00002024 addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x00002026 xorl $1431655765, %ebx + 0x44, 0x21, 0xe3, //0x0000202c andl %r12d, %ebx + 0x4c, 0x8b, 0x65, 0xd0, //0x0000202f movq $-48(%rbp), %r12 + 0xf7, 0xd3, //0x00002033 notl %ebx + 0x21, 0xde, //0x00002035 andl %ebx, %esi + 0xe9, 0xe2, 0xf9, 0xff, 0xff, //0x00002037 jmp LBB0_173 + //0x0000203c LBB0_375 + 0x4d, 0x85, 0xed, //0x0000203c testq %r13, %r13 + 0x0f, 0x84, 0x70, 0x03, 0x00, 0x00, //0x0000203f je LBB0_416 + 0x48, 0x8b, 0x45, 0x98, //0x00002045 movq $-104(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x00002049 addq %r11, %rax + 0x49, 0x83, 0xf9, 0xff, //0x0000204c cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc8, //0x00002050 cmoveq %rax, %r9 + 0x49, 0xff, 0xc3, //0x00002054 incq %r11 + 0x49, 0xff, 0xcd, //0x00002057 decq %r13 + 0x4c, 0x8b, 0x65, 0xd0, //0x0000205a movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xed, //0x0000205e testq %r13, %r13 + 0x0f, 0x85, 0x20, 0xff, 0xff, 0xff, //0x00002061 jne LBB0_368 + 0xe9, 0x49, 0x03, 0x00, 0x00, //0x00002067 jmp LBB0_416 + //0x0000206c LBB0_377 + 0x48, 0x85, 0xc0, //0x0000206c testq %rax, %rax + 0x0f, 0x84, 0x40, 0x03, 0x00, 0x00, //0x0000206f je LBB0_416 + 0x48, 0x8b, 0x4d, 0x98, //0x00002075 movq $-104(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x00002079 addq %r11, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x0000207c cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00002080 cmoveq %rcx, %r9 + 0x49, 0xff, 0xc3, //0x00002084 incq %r11 + 0x48, 0xff, 0xc8, //0x00002087 decq %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x0000208a movq $-48(%rbp), %r12 + 0x48, 0x85, 0xc0, //0x0000208e testq %rax, %rax + 0x0f, 0x85, 0xf0, 0xf9, 0xff, 0xff, //0x00002091 jne LBB0_320 + 0xe9, 0x19, 0x03, 0x00, 0x00, //0x00002097 jmp LBB0_416 + //0x0000209c LBB0_379 + 0x4c, 0x89, 0xd8, //0x0000209c movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x0000209f subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xcf, //0x000020a3 bsfq %rdi, %r9 + 0x49, 0x01, 0xc1, //0x000020a7 addq %rax, %r9 + 0x48, 0x09, 0xca, //0x000020aa orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x000020ad movq %rdi, %rax + 0x4c, 0x09, 0xe0, //0x000020b0 orq %r12, %rax + 0x0f, 0x84, 0xc2, 0xf8, 0xff, 0xff, //0x000020b3 je LBB0_138 + //0x000020b9 LBB0_380 + 0x44, 0x89, 0xe0, //0x000020b9 movl %r12d, %eax + 0xf7, 0xd0, //0x000020bc notl %eax + 0x21, 0xf8, //0x000020be andl %edi, %eax + 0x8d, 0x0c, 0x00, //0x000020c0 leal (%rax,%rax), %ecx + 0x44, 0x09, 0xe1, //0x000020c3 orl %r12d, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x000020c6 movl $2863311530, %esi + 0x31, 0xce, //0x000020cb xorl %ecx, %esi + 0x21, 0xfe, //0x000020cd andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x000020cf andl $-1431655766, %esi + 0x45, 0x31, 0xe4, //0x000020d5 xorl %r12d, %r12d + 0x01, 0xc6, //0x000020d8 addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc4, //0x000020da setb %r12b + 0x01, 0xf6, //0x000020de addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x000020e0 xorl $1431655765, %esi + 0x21, 0xce, //0x000020e6 andl %ecx, %esi + 0xf7, 0xd6, //0x000020e8 notl %esi + 0x21, 0xf2, //0x000020ea andl %esi, %edx + 0x48, 0x85, 0xd2, //0x000020ec testq %rdx, %rdx + 0x0f, 0x85, 0x8f, 0xf8, 0xff, 0xff, //0x000020ef jne LBB0_139 + //0x000020f5 LBB0_381 + 0x49, 0x83, 0xc3, 0x20, //0x000020f5 addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x000020f9 addq $-32, %r13 + //0x000020fd LBB0_382 + 0x4d, 0x85, 0xe4, //0x000020fd testq %r12, %r12 + 0x0f, 0x85, 0x8e, 0x00, 0x00, 0x00, //0x00002100 jne LBB0_391 + 0x4c, 0x8b, 0x65, 0xd0, //0x00002106 movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xed, //0x0000210a testq %r13, %r13 + 0x0f, 0x84, 0xa2, 0x02, 0x00, 0x00, //0x0000210d je LBB0_416 + //0x00002113 LBB0_384 + 0x49, 0x8d, 0x4b, 0x01, //0x00002113 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x00002117 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x0000211b cmpb $34, %bl + 0x0f, 0x84, 0x53, 0x00, 0x00, 0x00, //0x0000211e je LBB0_389 + 0x49, 0x8d, 0x55, 0xff, //0x00002124 leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x00002128 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000212b je LBB0_387 + 0x49, 0x89, 0xd5, //0x00002131 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x00002134 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x00002137 testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x0000213a jne LBB0_384 + 0xe9, 0x70, 0x02, 0x00, 0x00, //0x00002140 jmp LBB0_416 + //0x00002145 LBB0_387 + 0x48, 0x85, 0xd2, //0x00002145 testq %rdx, %rdx + 0x0f, 0x84, 0x67, 0x02, 0x00, 0x00, //0x00002148 je LBB0_416 + 0x48, 0x03, 0x4d, 0x98, //0x0000214e addq $-104(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00002152 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00002156 cmoveq %rcx, %r9 + 0x49, 0x83, 0xc3, 0x02, //0x0000215a addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x0000215e addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x00002162 movq %r13, %rdx + 0x4c, 0x8b, 0x65, 0xd0, //0x00002165 movq $-48(%rbp), %r12 + 0x48, 0x85, 0xd2, //0x00002169 testq %rdx, %rdx + 0x0f, 0x85, 0xa1, 0xff, 0xff, 0xff, //0x0000216c jne LBB0_384 + 0xe9, 0x3e, 0x02, 0x00, 0x00, //0x00002172 jmp LBB0_416 + //0x00002177 LBB0_389 + 0x4c, 0x29, 0xe1, //0x00002177 subq %r12, %rcx + 0x49, 0x89, 0xcb, //0x0000217a movq %rcx, %r11 + 0xe9, 0xb0, 0xed, 0xff, 0xff, //0x0000217d jmp LBB0_193 + //0x00002182 LBB0_390 + 0x4c, 0x89, 0xdb, //0x00002182 movq %r11, %rbx + 0x4c, 0x29, 0xe3, //0x00002185 subq %r12, %rbx + 0x4c, 0x0f, 0xbc, 0xca, //0x00002188 bsfq %rdx, %r9 + 0x49, 0x01, 0xd9, //0x0000218c addq %rbx, %r9 + 0xe9, 0x77, 0xf8, 0xff, 0xff, //0x0000218f jmp LBB0_172 + //0x00002194 LBB0_391 + 0x4d, 0x85, 0xed, //0x00002194 testq %r13, %r13 + 0x0f, 0x84, 0x18, 0x02, 0x00, 0x00, //0x00002197 je LBB0_416 + 0x48, 0x8b, 0x45, 0x98, //0x0000219d movq $-104(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000021a1 addq %r11, %rax + 0x49, 0x83, 0xf9, 0xff, //0x000021a4 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc8, //0x000021a8 cmoveq %rax, %r9 + 0x49, 0xff, 0xc3, //0x000021ac incq %r11 + 0x49, 0xff, 0xcd, //0x000021af decq %r13 + 0x4c, 0x8b, 0x65, 0xd0, //0x000021b2 movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xed, //0x000021b6 testq %r13, %r13 + 0x0f, 0x85, 0x54, 0xff, 0xff, 0xff, //0x000021b9 jne LBB0_384 + 0xe9, 0xf1, 0x01, 0x00, 0x00, //0x000021bf jmp LBB0_416 + //0x000021c4 LBB0_393 + 0x48, 0x85, 0xc0, //0x000021c4 testq %rax, %rax + 0x0f, 0x84, 0xe8, 0x01, 0x00, 0x00, //0x000021c7 je LBB0_416 + 0x48, 0x8b, 0x4d, 0x98, //0x000021cd movq $-104(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x000021d1 addq %r11, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x000021d4 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x000021d8 cmoveq %rcx, %r9 + 0x49, 0xff, 0xc3, //0x000021dc incq %r11 + 0x48, 0xff, 0xc8, //0x000021df decq %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x000021e2 movq $-48(%rbp), %r12 + 0x48, 0x85, 0xc0, //0x000021e6 testq %rax, %rax + 0x0f, 0x85, 0x3f, 0xf9, 0xff, 0xff, //0x000021e9 jne LBB0_331 + 0xe9, 0xc1, 0x01, 0x00, 0x00, //0x000021ef jmp LBB0_416 + //0x000021f4 LBB0_395 + 0x44, 0x89, 0xc1, //0x000021f4 movl %r8d, %ecx + 0xf7, 0xd1, //0x000021f7 notl %ecx + 0x21, 0xd1, //0x000021f9 andl %edx, %ecx + 0x4d, 0x89, 0xd5, //0x000021fb movq %r10, %r13 + 0x44, 0x8d, 0x14, 0x09, //0x000021fe leal (%rcx,%rcx), %r10d + 0x45, 0x09, 0xc2, //0x00002202 orl %r8d, %r10d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002205 movl $2863311530, %ebx + 0x44, 0x31, 0xd3, //0x0000220a xorl %r10d, %ebx + 0x21, 0xd3, //0x0000220d andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000220f andl $-1431655766, %ebx + 0x45, 0x31, 0xc0, //0x00002215 xorl %r8d, %r8d + 0x01, 0xcb, //0x00002218 addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc0, //0x0000221a setb %r8b + 0x01, 0xdb, //0x0000221e addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x00002220 xorl $1431655765, %ebx + 0x44, 0x21, 0xd3, //0x00002226 andl %r10d, %ebx + 0x4d, 0x89, 0xea, //0x00002229 movq %r13, %r10 + 0xf7, 0xd3, //0x0000222c notl %ebx + 0x21, 0xde, //0x0000222e andl %ebx, %esi + 0xe9, 0xc5, 0xfa, 0xff, 0xff, //0x00002230 jmp LBB0_283 + //0x00002235 LBB0_396 + 0x4c, 0x89, 0xd8, //0x00002235 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00002238 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xcf, //0x0000223c bsfq %rdi, %r9 + 0x49, 0x01, 0xc1, //0x00002240 addq %rax, %r9 + 0x48, 0x09, 0xca, //0x00002243 orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00002246 movq %rdi, %rax + 0x4c, 0x09, 0xd0, //0x00002249 orq %r10, %rax + 0x0f, 0x84, 0x05, 0xfa, 0xff, 0xff, //0x0000224c je LBB0_210 + //0x00002252 LBB0_397 + 0x44, 0x89, 0xd0, //0x00002252 movl %r10d, %eax + 0xf7, 0xd0, //0x00002255 notl %eax + 0x21, 0xf8, //0x00002257 andl %edi, %eax + 0x8d, 0x0c, 0x00, //0x00002259 leal (%rax,%rax), %ecx + 0x44, 0x09, 0xd1, //0x0000225c orl %r10d, %ecx + 0x89, 0xce, //0x0000225f movl %ecx, %esi + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002261 movl $2863311530, %ebx + 0x31, 0xde, //0x00002266 xorl %ebx, %esi + 0x21, 0xfe, //0x00002268 andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000226a andl $-1431655766, %esi + 0x45, 0x31, 0xd2, //0x00002270 xorl %r10d, %r10d + 0x01, 0xc6, //0x00002273 addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc2, //0x00002275 setb %r10b + 0x01, 0xf6, //0x00002279 addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x0000227b xorl $1431655765, %esi + 0x21, 0xce, //0x00002281 andl %ecx, %esi + 0xf7, 0xd6, //0x00002283 notl %esi + 0x21, 0xf2, //0x00002285 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x00002287 testq %rdx, %rdx + 0x0f, 0x85, 0xd0, 0xf9, 0xff, 0xff, //0x0000228a jne LBB0_211 + //0x00002290 LBB0_398 + 0x49, 0x83, 0xc3, 0x20, //0x00002290 addq $32, %r11 + 0x49, 0x83, 0xc4, 0xe0, //0x00002294 addq $-32, %r12 + //0x00002298 LBB0_399 + 0x4d, 0x85, 0xd2, //0x00002298 testq %r10, %r10 + 0x0f, 0x85, 0xbf, 0x00, 0x00, 0x00, //0x0000229b jne LBB0_411 + 0x4c, 0x8b, 0x55, 0xb0, //0x000022a1 movq $-80(%rbp), %r10 + 0x4d, 0x85, 0xe4, //0x000022a5 testq %r12, %r12 + 0x0f, 0x84, 0x07, 0x01, 0x00, 0x00, //0x000022a8 je LBB0_416 + //0x000022ae LBB0_401 + 0x49, 0x8d, 0x4b, 0x01, //0x000022ae leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x000022b2 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x000022b6 cmpb $34, %bl + 0x0f, 0x84, 0x50, 0x00, 0x00, 0x00, //0x000022b9 je LBB0_406 + 0x49, 0x8d, 0x54, 0x24, 0xff, //0x000022bf leaq $-1(%r12), %rdx + 0x80, 0xfb, 0x5c, //0x000022c4 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000022c7 je LBB0_404 + 0x49, 0x89, 0xd4, //0x000022cd movq %rdx, %r12 + 0x49, 0x89, 0xcb, //0x000022d0 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x000022d3 testq %rdx, %rdx + 0x0f, 0x85, 0xd2, 0xff, 0xff, 0xff, //0x000022d6 jne LBB0_401 + 0xe9, 0xd4, 0x00, 0x00, 0x00, //0x000022dc jmp LBB0_416 + //0x000022e1 LBB0_404 + 0x48, 0x85, 0xd2, //0x000022e1 testq %rdx, %rdx + 0x0f, 0x84, 0xcb, 0x00, 0x00, 0x00, //0x000022e4 je LBB0_416 + 0x48, 0x03, 0x4d, 0x98, //0x000022ea addq $-104(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x000022ee cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x000022f2 cmoveq %rcx, %r9 + 0x49, 0x83, 0xc3, 0x02, //0x000022f6 addq $2, %r11 + 0x49, 0x83, 0xc4, 0xfe, //0x000022fa addq $-2, %r12 + 0x4c, 0x89, 0xe2, //0x000022fe movq %r12, %rdx + 0x48, 0x85, 0xd2, //0x00002301 testq %rdx, %rdx + 0x0f, 0x85, 0xa4, 0xff, 0xff, 0xff, //0x00002304 jne LBB0_401 + 0xe9, 0xa6, 0x00, 0x00, 0x00, //0x0000230a jmp LBB0_416 + //0x0000230f LBB0_406 + 0x4c, 0x8b, 0x65, 0xd0, //0x0000230f movq $-48(%rbp), %r12 + //0x00002313 LBB0_407 + 0x4c, 0x29, 0xe1, //0x00002313 subq %r12, %rcx + 0x49, 0x89, 0xcb, //0x00002316 movq %rcx, %r11 + 0xe9, 0xa5, 0xeb, 0xff, 0xff, //0x00002319 jmp LBB0_186 + //0x0000231e LBB0_408 + 0x4c, 0x89, 0xdb, //0x0000231e movq %r11, %rbx + 0x4c, 0x29, 0xe3, //0x00002321 subq %r12, %rbx + 0x4c, 0x0f, 0xbc, 0xca, //0x00002324 bsfq %rdx, %r9 + 0x49, 0x01, 0xd9, //0x00002328 addq %rbx, %r9 + 0xe9, 0xb7, 0xf9, 0xff, 0xff, //0x0000232b jmp LBB0_282 + //0x00002330 LBB0_409 + 0x48, 0x85, 0xc0, //0x00002330 testq %rax, %rax + 0x0f, 0x84, 0x7c, 0x00, 0x00, 0x00, //0x00002333 je LBB0_416 + 0x48, 0x8b, 0x4d, 0x98, //0x00002339 movq $-104(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x0000233d addq %r11, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00002340 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00002344 cmoveq %rcx, %r9 + 0x49, 0xff, 0xc3, //0x00002348 incq %r11 + 0x48, 0xff, 0xc8, //0x0000234b decq %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x0000234e movq $-48(%rbp), %r12 + 0x48, 0x85, 0xc0, //0x00002352 testq %rax, %rax + 0x0f, 0x85, 0xf2, 0xf9, 0xff, 0xff, //0x00002355 jne LBB0_347 + 0xe9, 0x55, 0x00, 0x00, 0x00, //0x0000235b jmp LBB0_416 + //0x00002360 LBB0_411 + 0x4d, 0x85, 0xe4, //0x00002360 testq %r12, %r12 + 0x0f, 0x84, 0x4c, 0x00, 0x00, 0x00, //0x00002363 je LBB0_416 + 0x48, 0x8b, 0x45, 0x98, //0x00002369 movq $-104(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x0000236d addq %r11, %rax + 0x49, 0x83, 0xf9, 0xff, //0x00002370 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc8, //0x00002374 cmoveq %rax, %r9 + 0x49, 0xff, 0xc3, //0x00002378 incq %r11 + 0x49, 0xff, 0xcc, //0x0000237b decq %r12 + 0x4c, 0x8b, 0x55, 0xb0, //0x0000237e movq $-80(%rbp), %r10 + 0x4d, 0x85, 0xe4, //0x00002382 testq %r12, %r12 + 0x0f, 0x85, 0x23, 0xff, 0xff, 0xff, //0x00002385 jne LBB0_401 + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x0000238b jmp LBB0_416 + //0x00002390 LBB0_413 + 0x48, 0x89, 0x0e, //0x00002390 movq %rcx, (%rsi) + //0x00002393 LBB0_414 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002393 movq $-1, %rax + 0xe9, 0x45, 0x00, 0x00, 0x00, //0x0000239a jmp LBB0_424 + //0x0000239f LBB0_432 + 0x48, 0xc7, 0xc0, 0xf9, 0xff, 0xff, 0xff, //0x0000239f movq $-7, %rax + 0xe9, 0x39, 0x00, 0x00, 0x00, //0x000023a6 jmp LBB0_424 + //0x000023ab LBB0_415 + 0x49, 0x83, 0xfb, 0xff, //0x000023ab cmpq $-1, %r11 + 0x0f, 0x85, 0x93, 0x01, 0x00, 0x00, //0x000023af jne LBB0_417 + //0x000023b5 LBB0_416 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000023b5 movq $-1, %r11 + 0x4c, 0x8b, 0x4d, 0xa0, //0x000023bc movq $-96(%rbp), %r9 + 0xe9, 0x83, 0x01, 0x00, 0x00, //0x000023c0 jmp LBB0_417 + //0x000023c5 LBB0_418 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000023c5 movq $-1, %rax + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x000023cc jmp LBB0_421 + //0x000023d1 LBB0_420 + 0x48, 0x89, 0xc8, //0x000023d1 movq %rcx, %rax + //0x000023d4 LBB0_421 + 0x48, 0xf7, 0xd0, //0x000023d4 notq %rax + 0x49, 0x01, 0xc7, //0x000023d7 addq %rax, %r15 + //0x000023da LBB0_422 + 0x4c, 0x89, 0x3e, //0x000023da movq %r15, (%rsi) + //0x000023dd LBB0_423 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000023dd movq $-2, %rax + //0x000023e4 LBB0_424 + 0x48, 0x83, 0xc4, 0x70, //0x000023e4 addq $112, %rsp + 0x5b, //0x000023e8 popq %rbx + 0x41, 0x5c, //0x000023e9 popq %r12 + 0x41, 0x5d, //0x000023eb popq %r13 + 0x41, 0x5e, //0x000023ed popq %r14 + 0x41, 0x5f, //0x000023ef popq %r15 + 0x5d, //0x000023f1 popq %rbp + 0xc3, //0x000023f2 retq + //0x000023f3 LBB0_431 + 0x48, 0x89, 0x0e, //0x000023f3 movq %rcx, (%rsi) + 0xe9, 0xe9, 0xff, 0xff, 0xff, //0x000023f6 jmp LBB0_424 + //0x000023fb LBB0_425 + 0x49, 0x83, 0xf9, 0xff, //0x000023fb cmpq $-1, %r9 + 0x0f, 0x85, 0x13, 0x00, 0x00, 0x00, //0x000023ff jne LBB0_426 + 0x49, 0x0f, 0xbc, 0xc4, //0x00002405 bsfq %r12, %rax + 0xe9, 0x29, 0x01, 0x00, 0x00, //0x00002409 jmp LBB0_445 + //0x0000240e LBB0_427 + 0x49, 0x83, 0xf9, 0xff, //0x0000240e cmpq $-1, %r9 + 0x0f, 0x84, 0x1b, 0x01, 0x00, 0x00, //0x00002412 je LBB0_444 + //0x00002418 LBB0_426 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002418 movq $-2, %r11 + 0xe9, 0x24, 0x01, 0x00, 0x00, //0x0000241f jmp LBB0_417 + //0x00002424 LBB0_429 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00002424 movq $-1, %r11 + //0x0000242b LBB0_430 + 0x4d, 0x29, 0xdf, //0x0000242b subq %r11, %r15 + 0xe9, 0xa7, 0xff, 0xff, 0xff, //0x0000242e jmp LBB0_422 + //0x00002433 LBB0_433 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00002433 movq $-2, %rax + 0x80, 0xf9, 0x61, //0x0000243a cmpb $97, %cl + 0x0f, 0x85, 0xa1, 0xff, 0xff, 0xff, //0x0000243d jne LBB0_424 + 0x49, 0x8d, 0x4f, 0x02, //0x00002443 leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002447 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x02, 0x6c, //0x0000244a cmpb $108, $2(%r12,%r15) + 0x0f, 0x85, 0x8e, 0xff, 0xff, 0xff, //0x00002450 jne LBB0_424 + 0x49, 0x8d, 0x4f, 0x03, //0x00002456 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x0000245a movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x03, 0x73, //0x0000245d cmpb $115, $3(%r12,%r15) + 0x0f, 0x85, 0x7b, 0xff, 0xff, 0xff, //0x00002463 jne LBB0_424 + 0x49, 0x8d, 0x4f, 0x04, //0x00002469 leaq $4(%r15), %rcx + 0x48, 0x89, 0x0e, //0x0000246d movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x04, 0x65, //0x00002470 cmpb $101, $4(%r12,%r15) + 0x0f, 0x85, 0x68, 0xff, 0xff, 0xff, //0x00002476 jne LBB0_424 + 0x49, 0x83, 0xc7, 0x05, //0x0000247c addq $5, %r15 + 0x4c, 0x89, 0x3e, //0x00002480 movq %r15, (%rsi) + 0xe9, 0x5c, 0xff, 0xff, 0xff, //0x00002483 jmp LBB0_424 + //0x00002488 LBB0_257 + 0x4c, 0x89, 0x3e, //0x00002488 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000248b movq $-2, %rax + 0x41, 0x80, 0x3a, 0x6e, //0x00002492 cmpb $110, (%r10) + 0x0f, 0x85, 0x48, 0xff, 0xff, 0xff, //0x00002496 jne LBB0_424 + 0x49, 0x8d, 0x4f, 0x01, //0x0000249c leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024a0 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x01, 0x75, //0x000024a3 cmpb $117, $1(%r12,%r15) + 0x0f, 0x85, 0x35, 0xff, 0xff, 0xff, //0x000024a9 jne LBB0_424 + 0x49, 0x8d, 0x4f, 0x02, //0x000024af leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024b3 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x02, 0x6c, //0x000024b6 cmpb $108, $2(%r12,%r15) + 0x0f, 0x85, 0x22, 0xff, 0xff, 0xff, //0x000024bc jne LBB0_424 + 0x49, 0x8d, 0x4f, 0x03, //0x000024c2 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024c6 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x03, 0x6c, //0x000024c9 cmpb $108, $3(%r12,%r15) + 0x0f, 0x85, 0x0f, 0xff, 0xff, 0xff, //0x000024cf jne LBB0_424 + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x000024d5 jmp LBB0_442 + //0x000024da LBB0_438 + 0x4c, 0x89, 0x3e, //0x000024da movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000024dd movq $-2, %rax + 0x41, 0x80, 0x3a, 0x74, //0x000024e4 cmpb $116, (%r10) + 0x0f, 0x85, 0xf6, 0xfe, 0xff, 0xff, //0x000024e8 jne LBB0_424 + 0x49, 0x8d, 0x4f, 0x01, //0x000024ee leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024f2 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x01, 0x72, //0x000024f5 cmpb $114, $1(%r12,%r15) + 0x0f, 0x85, 0xe3, 0xfe, 0xff, 0xff, //0x000024fb jne LBB0_424 + 0x49, 0x8d, 0x4f, 0x02, //0x00002501 leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002505 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x02, 0x75, //0x00002508 cmpb $117, $2(%r12,%r15) + 0x0f, 0x85, 0xd0, 0xfe, 0xff, 0xff, //0x0000250e jne LBB0_424 + 0x49, 0x8d, 0x4f, 0x03, //0x00002514 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002518 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x03, 0x65, //0x0000251b cmpb $101, $3(%r12,%r15) + 0x0f, 0x85, 0xbd, 0xfe, 0xff, 0xff, //0x00002521 jne LBB0_424 + //0x00002527 LBB0_442 + 0x49, 0x83, 0xc7, 0x04, //0x00002527 addq $4, %r15 + 0x4c, 0x89, 0x3e, //0x0000252b movq %r15, (%rsi) + 0xe9, 0xb1, 0xfe, 0xff, 0xff, //0x0000252e jmp LBB0_424 + //0x00002533 LBB0_444 + 0x48, 0x0f, 0xbc, 0xc2, //0x00002533 bsfq %rdx, %rax + //0x00002537 LBB0_445 + 0x4c, 0x2b, 0x5d, 0xd0, //0x00002537 subq $-48(%rbp), %r11 + //0x0000253b LBB0_446 + 0x49, 0x01, 0xc3, //0x0000253b addq %rax, %r11 + //0x0000253e LBB0_447 + 0x4d, 0x89, 0xd9, //0x0000253e movq %r11, %r9 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002541 movq $-2, %r11 + //0x00002548 LBB0_417 + 0x48, 0x8b, 0x45, 0xc8, //0x00002548 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x0000254c movq %r9, (%rax) + 0x4c, 0x89, 0xd8, //0x0000254f movq %r11, %rax + 0xe9, 0x8d, 0xfe, 0xff, 0xff, //0x00002552 jmp LBB0_424 + //0x00002557 LBB0_449 + 0x4c, 0x89, 0x55, 0xa0, //0x00002557 movq %r10, $-96(%rbp) + 0xe9, 0x55, 0xfe, 0xff, 0xff, //0x0000255b jmp LBB0_416 + //0x00002560 LBB0_308 + 0x4c, 0x01, 0xd9, //0x00002560 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002563 movq $-2, %r11 + 0x49, 0x89, 0xc9, //0x0000256a movq %rcx, %r9 + 0xe9, 0xd6, 0xff, 0xff, 0xff, //0x0000256d jmp LBB0_417 + //0x00002572 LBB0_448 + 0x4c, 0x89, 0x75, 0xa0, //0x00002572 movq %r14, $-96(%rbp) + 0xe9, 0x3a, 0xfe, 0xff, 0xff, //0x00002576 jmp LBB0_416 + //0x0000257b LBB0_450 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000257b bsfq %rdi, %rax + 0x4d, 0x29, 0xe3, //0x0000257f subq %r12, %r11 + 0xe9, 0xb4, 0xff, 0xff, 0xff, //0x00002582 jmp LBB0_446 + //0x00002587 LBB0_451 + 0x4d, 0x29, 0xe3, //0x00002587 subq %r12, %r11 + 0xe9, 0xaf, 0xff, 0xff, 0xff, //0x0000258a jmp LBB0_447 + 0x90, //0x0000258f .p2align 2, 0x90 + // // .set L0_0_set_33, LBB0_33-LJTI0_0 + // // .set L0_0_set_35, LBB0_35-LJTI0_0 + // // .set L0_0_set_38, LBB0_38-LJTI0_0 + // // .set L0_0_set_58, LBB0_58-LJTI0_0 + // // .set L0_0_set_60, LBB0_60-LJTI0_0 + // // .set L0_0_set_63, LBB0_63-LJTI0_0 + //0x00002590 LJTI0_0 + 0xb2, 0xdd, 0xff, 0xff, //0x00002590 .long L0_0_set_33 + 0xcb, 0xdd, 0xff, 0xff, //0x00002594 .long L0_0_set_35 + 0xf7, 0xdd, 0xff, 0xff, //0x00002598 .long L0_0_set_38 + 0xb3, 0xdf, 0xff, 0xff, //0x0000259c .long L0_0_set_58 + 0xca, 0xdf, 0xff, 0xff, //0x000025a0 .long L0_0_set_60 + 0xf4, 0xdf, 0xff, 0xff, //0x000025a4 .long L0_0_set_63 + // // .set L0_1_set_424, LBB0_424-LJTI0_1 + // // .set L0_1_set_423, LBB0_423-LJTI0_1 + // // .set L0_1_set_197, LBB0_197-LJTI0_1 + // // .set L0_1_set_216, LBB0_216-LJTI0_1 + // // .set L0_1_set_68, LBB0_68-LJTI0_1 + // // .set L0_1_set_250, LBB0_250-LJTI0_1 + // // .set L0_1_set_252, LBB0_252-LJTI0_1 + // // .set L0_1_set_255, LBB0_255-LJTI0_1 + // // .set L0_1_set_261, LBB0_261-LJTI0_1 + // // .set L0_1_set_265, LBB0_265-LJTI0_1 + //0x000025a8 LJTI0_1 + 0x3c, 0xfe, 0xff, 0xff, //0x000025a8 .long L0_1_set_424 + 0x35, 0xfe, 0xff, 0xff, //0x000025ac .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025b0 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025b4 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025b8 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025bc .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025c0 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025c4 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025c8 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025cc .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025d0 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025d4 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025d8 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025dc .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025e0 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025e4 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025e8 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025ec .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025f0 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025f4 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025f8 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000025fc .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002600 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002604 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002608 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000260c .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002610 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002614 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002618 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000261c .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002620 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002624 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002628 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000262c .long L0_1_set_423 + 0xd2, 0xe9, 0xff, 0xff, //0x00002630 .long L0_1_set_197 + 0x35, 0xfe, 0xff, 0xff, //0x00002634 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002638 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000263c .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002640 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002644 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002648 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000264c .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002650 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002654 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002658 .long L0_1_set_423 + 0x7f, 0xeb, 0xff, 0xff, //0x0000265c .long L0_1_set_216 + 0x35, 0xfe, 0xff, 0xff, //0x00002660 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002664 .long L0_1_set_423 + 0x24, 0xe0, 0xff, 0xff, //0x00002668 .long L0_1_set_68 + 0x24, 0xe0, 0xff, 0xff, //0x0000266c .long L0_1_set_68 + 0x24, 0xe0, 0xff, 0xff, //0x00002670 .long L0_1_set_68 + 0x24, 0xe0, 0xff, 0xff, //0x00002674 .long L0_1_set_68 + 0x24, 0xe0, 0xff, 0xff, //0x00002678 .long L0_1_set_68 + 0x24, 0xe0, 0xff, 0xff, //0x0000267c .long L0_1_set_68 + 0x24, 0xe0, 0xff, 0xff, //0x00002680 .long L0_1_set_68 + 0x24, 0xe0, 0xff, 0xff, //0x00002684 .long L0_1_set_68 + 0x24, 0xe0, 0xff, 0xff, //0x00002688 .long L0_1_set_68 + 0x24, 0xe0, 0xff, 0xff, //0x0000268c .long L0_1_set_68 + 0x35, 0xfe, 0xff, 0xff, //0x00002690 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002694 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002698 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000269c .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026a0 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026a4 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026a8 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026ac .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026b0 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026b4 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026b8 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026bc .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026c0 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026c4 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026c8 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026cc .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026d0 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026d4 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026d8 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026dc .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026e0 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026e4 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026e8 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026ec .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026f0 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026f4 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026f8 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x000026fc .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002700 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002704 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002708 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000270c .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002710 .long L0_1_set_423 + 0xd7, 0xed, 0xff, 0xff, //0x00002714 .long L0_1_set_250 + 0x35, 0xfe, 0xff, 0xff, //0x00002718 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000271c .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002720 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002724 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002728 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000272c .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002730 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002734 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002738 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000273c .long L0_1_set_423 + 0xfe, 0xed, 0xff, 0xff, //0x00002740 .long L0_1_set_252 + 0x35, 0xfe, 0xff, 0xff, //0x00002744 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002748 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000274c .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002750 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002754 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002758 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000275c .long L0_1_set_423 + 0x28, 0xee, 0xff, 0xff, //0x00002760 .long L0_1_set_255 + 0x35, 0xfe, 0xff, 0xff, //0x00002764 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002768 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000276c .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002770 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002774 .long L0_1_set_423 + 0x4b, 0xee, 0xff, 0xff, //0x00002778 .long L0_1_set_261 + 0x35, 0xfe, 0xff, 0xff, //0x0000277c .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002780 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002784 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002788 .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x0000278c .long L0_1_set_423 + 0x35, 0xfe, 0xff, 0xff, //0x00002790 .long L0_1_set_423 + 0x81, 0xee, 0xff, 0xff, //0x00002794 .long L0_1_set_265 + // // .set L0_2_set_241, LBB0_241-LJTI0_2 + // // .set L0_2_set_294, LBB0_294-LJTI0_2 + // // .set L0_2_set_248, LBB0_248-LJTI0_2 + // // .set L0_2_set_243, LBB0_243-LJTI0_2 + // // .set L0_2_set_246, LBB0_246-LJTI0_2 + //0x00002798 LJTI0_2 + 0x63, 0xeb, 0xff, 0xff, //0x00002798 .long L0_2_set_241 + 0xef, 0xee, 0xff, 0xff, //0x0000279c .long L0_2_set_294 + 0x63, 0xeb, 0xff, 0xff, //0x000027a0 .long L0_2_set_241 + 0xcc, 0xeb, 0xff, 0xff, //0x000027a4 .long L0_2_set_248 + 0xef, 0xee, 0xff, 0xff, //0x000027a8 .long L0_2_set_294 + 0x88, 0xeb, 0xff, 0xff, //0x000027ac .long L0_2_set_243 + 0x88, 0xeb, 0xff, 0xff, //0x000027b0 .long L0_2_set_243 + 0x88, 0xeb, 0xff, 0xff, //0x000027b4 .long L0_2_set_243 + 0x88, 0xeb, 0xff, 0xff, //0x000027b8 .long L0_2_set_243 + 0x88, 0xeb, 0xff, 0xff, //0x000027bc .long L0_2_set_243 + 0x88, 0xeb, 0xff, 0xff, //0x000027c0 .long L0_2_set_243 + 0x88, 0xeb, 0xff, 0xff, //0x000027c4 .long L0_2_set_243 + 0x88, 0xeb, 0xff, 0xff, //0x000027c8 .long L0_2_set_243 + 0x88, 0xeb, 0xff, 0xff, //0x000027cc .long L0_2_set_243 + 0x88, 0xeb, 0xff, 0xff, //0x000027d0 .long L0_2_set_243 + 0xef, 0xee, 0xff, 0xff, //0x000027d4 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x000027d8 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x000027dc .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x000027e0 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x000027e4 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x000027e8 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x000027ec .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x000027f0 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x000027f4 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x000027f8 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x000027fc .long L0_2_set_294 + 0xb1, 0xeb, 0xff, 0xff, //0x00002800 .long L0_2_set_246 + 0xef, 0xee, 0xff, 0xff, //0x00002804 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002808 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x0000280c .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002810 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002814 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002818 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x0000281c .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002820 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002824 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002828 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x0000282c .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002830 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002834 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002838 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x0000283c .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002840 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002844 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002848 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x0000284c .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002850 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002854 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002858 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x0000285c .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002860 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002864 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002868 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x0000286c .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002870 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002874 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x00002878 .long L0_2_set_294 + 0xef, 0xee, 0xff, 0xff, //0x0000287c .long L0_2_set_294 + 0xb1, 0xeb, 0xff, 0xff, //0x00002880 .long L0_2_set_246 + // // .set L0_3_set_93, LBB0_93-LJTI0_3 + // // .set L0_3_set_148, LBB0_148-LJTI0_3 + // // .set L0_3_set_100, LBB0_100-LJTI0_3 + // // .set L0_3_set_95, LBB0_95-LJTI0_3 + // // .set L0_3_set_98, LBB0_98-LJTI0_3 + //0x00002884 LJTI0_3 + 0x00, 0xdf, 0xff, 0xff, //0x00002884 .long L0_3_set_93 + 0x65, 0xe3, 0xff, 0xff, //0x00002888 .long L0_3_set_148 + 0x00, 0xdf, 0xff, 0xff, //0x0000288c .long L0_3_set_93 + 0x5f, 0xdf, 0xff, 0xff, //0x00002890 .long L0_3_set_100 + 0x65, 0xe3, 0xff, 0xff, //0x00002894 .long L0_3_set_148 + 0x1c, 0xdf, 0xff, 0xff, //0x00002898 .long L0_3_set_95 + 0x1c, 0xdf, 0xff, 0xff, //0x0000289c .long L0_3_set_95 + 0x1c, 0xdf, 0xff, 0xff, //0x000028a0 .long L0_3_set_95 + 0x1c, 0xdf, 0xff, 0xff, //0x000028a4 .long L0_3_set_95 + 0x1c, 0xdf, 0xff, 0xff, //0x000028a8 .long L0_3_set_95 + 0x1c, 0xdf, 0xff, 0xff, //0x000028ac .long L0_3_set_95 + 0x1c, 0xdf, 0xff, 0xff, //0x000028b0 .long L0_3_set_95 + 0x1c, 0xdf, 0xff, 0xff, //0x000028b4 .long L0_3_set_95 + 0x1c, 0xdf, 0xff, 0xff, //0x000028b8 .long L0_3_set_95 + 0x1c, 0xdf, 0xff, 0xff, //0x000028bc .long L0_3_set_95 + 0x65, 0xe3, 0xff, 0xff, //0x000028c0 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028c4 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028c8 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028cc .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028d0 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028d4 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028d8 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028dc .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028e0 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028e4 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028e8 .long L0_3_set_148 + 0x44, 0xdf, 0xff, 0xff, //0x000028ec .long L0_3_set_98 + 0x65, 0xe3, 0xff, 0xff, //0x000028f0 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028f4 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028f8 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x000028fc .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002900 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002904 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002908 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x0000290c .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002910 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002914 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002918 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x0000291c .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002920 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002924 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002928 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x0000292c .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002930 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002934 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002938 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x0000293c .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002940 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002944 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002948 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x0000294c .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002950 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002954 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002958 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x0000295c .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002960 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002964 .long L0_3_set_148 + 0x65, 0xe3, 0xff, 0xff, //0x00002968 .long L0_3_set_148 + 0x44, 0xdf, 0xff, 0xff, //0x0000296c .long L0_3_set_98 + //0x00002970 .p2align 2, 0x00 + //0x00002970 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00002970 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/u64toa.go b/vendor/github.com/bytedance/sonic/internal/native/avx/u64toa.go new file mode 100644 index 0000000..466402b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/u64toa.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_u64toa func(out unsafe.Pointer, val uint64) (ret int) + +var S_u64toa uintptr + +//go:nosplit +func u64toa(out *byte, val uint64) (ret int) { + return F_u64toa(rt.NoEscape(unsafe.Pointer(out)), val) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/u64toa_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/u64toa_subr.go new file mode 100644 index 0000000..f89e626 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/u64toa_subr.go @@ -0,0 +1,39 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__u64toa = 64 +) + +const ( + _stack__u64toa = 8 +) + +const ( + _size__u64toa = 1232 +) + +var ( + _pcsp__u64toa = [][2]uint32{ + {1, 0}, + {161, 8}, + {162, 0}, + {457, 8}, + {458, 0}, + {756, 8}, + {757, 0}, + {1221, 8}, + {1223, 0}, + } +) + +var _cfunc_u64toa = []loader.CFunc{ + {"_u64toa_entry", 0, _entry__u64toa, 0, nil}, + {"_u64toa", _entry__u64toa, _size__u64toa, _stack__u64toa, _pcsp__u64toa}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/u64toa_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/u64toa_text_amd64.go new file mode 100644 index 0000000..9348e2b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/u64toa_text_amd64.go @@ -0,0 +1,371 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_u64toa = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, // .quad 3518437209 + 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 3518437209 + //0x00000010 LCPI0_3 + 0x0a, 0x00, //0x00000010 .word 10 + 0x0a, 0x00, //0x00000012 .word 10 + 0x0a, 0x00, //0x00000014 .word 10 + 0x0a, 0x00, //0x00000016 .word 10 + 0x0a, 0x00, //0x00000018 .word 10 + 0x0a, 0x00, //0x0000001a .word 10 + 0x0a, 0x00, //0x0000001c .word 10 + 0x0a, 0x00, //0x0000001e .word 10 + //0x00000020 LCPI0_4 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, //0x00000020 QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + //0x00000030 .p2align 3, 0x00 + //0x00000030 LCPI0_1 + 0xc5, 0x20, 0x7b, 0x14, 0x34, 0x33, 0x00, 0x80, //0x00000030 .quad -9223315738079846203 + //0x00000038 LCPI0_2 + 0x80, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, //0x00000038 .quad -9223336852348469120 + //0x00000040 .p2align 4, 0x90 + //0x00000040 _u64toa + 0x55, //0x00000040 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000041 movq %rsp, %rbp + 0x48, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x00000044 cmpq $9999, %rsi + 0x0f, 0x87, 0xa2, 0x00, 0x00, 0x00, //0x0000004b ja LBB0_8 + 0x0f, 0xb7, 0xc6, //0x00000051 movzwl %si, %eax + 0xc1, 0xe8, 0x02, //0x00000054 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000057 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x0000005d shrl $17, %eax + 0x48, 0x8d, 0x14, 0x00, //0x00000060 leaq (%rax,%rax), %rdx + 0x6b, 0xc0, 0x64, //0x00000064 imull $100, %eax, %eax + 0x89, 0xf1, //0x00000067 movl %esi, %ecx + 0x29, 0xc1, //0x00000069 subl %eax, %ecx + 0x0f, 0xb7, 0xc1, //0x0000006b movzwl %cx, %eax + 0x48, 0x01, 0xc0, //0x0000006e addq %rax, %rax + 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x00000071 cmpl $1000, %esi + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000077 jb LBB0_3 + 0x48, 0x8d, 0x0d, 0x8c, 0x04, 0x00, 0x00, //0x0000007d leaq $1164(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x0c, 0x0a, //0x00000084 movb (%rdx,%rcx), %cl + 0x88, 0x0f, //0x00000087 movb %cl, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000089 movl $1, %ecx + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x0000008e jmp LBB0_4 + //0x00000093 LBB0_3 + 0x31, 0xc9, //0x00000093 xorl %ecx, %ecx + 0x83, 0xfe, 0x64, //0x00000095 cmpl $100, %esi + 0x0f, 0x82, 0x45, 0x00, 0x00, 0x00, //0x00000098 jb LBB0_5 + //0x0000009e LBB0_4 + 0x0f, 0xb7, 0xd2, //0x0000009e movzwl %dx, %edx + 0x48, 0x83, 0xca, 0x01, //0x000000a1 orq $1, %rdx + 0x48, 0x8d, 0x35, 0x64, 0x04, 0x00, 0x00, //0x000000a5 leaq $1124(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x32, //0x000000ac movb (%rdx,%rsi), %dl + 0x89, 0xce, //0x000000af movl %ecx, %esi + 0xff, 0xc1, //0x000000b1 incl %ecx + 0x88, 0x14, 0x37, //0x000000b3 movb %dl, (%rdi,%rsi) + //0x000000b6 LBB0_6 + 0x48, 0x8d, 0x15, 0x53, 0x04, 0x00, 0x00, //0x000000b6 leaq $1107(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x10, //0x000000bd movb (%rax,%rdx), %dl + 0x89, 0xce, //0x000000c0 movl %ecx, %esi + 0xff, 0xc1, //0x000000c2 incl %ecx + 0x88, 0x14, 0x37, //0x000000c4 movb %dl, (%rdi,%rsi) + //0x000000c7 LBB0_7 + 0x0f, 0xb7, 0xc0, //0x000000c7 movzwl %ax, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000000ca orq $1, %rax + 0x48, 0x8d, 0x15, 0x3b, 0x04, 0x00, 0x00, //0x000000ce leaq $1083(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x10, //0x000000d5 movb (%rax,%rdx), %al + 0x89, 0xca, //0x000000d8 movl %ecx, %edx + 0xff, 0xc1, //0x000000da incl %ecx + 0x88, 0x04, 0x17, //0x000000dc movb %al, (%rdi,%rdx) + 0x89, 0xc8, //0x000000df movl %ecx, %eax + 0x5d, //0x000000e1 popq %rbp + 0xc3, //0x000000e2 retq + //0x000000e3 LBB0_5 + 0x31, 0xc9, //0x000000e3 xorl %ecx, %ecx + 0x83, 0xfe, 0x0a, //0x000000e5 cmpl $10, %esi + 0x0f, 0x83, 0xc8, 0xff, 0xff, 0xff, //0x000000e8 jae LBB0_6 + 0xe9, 0xd4, 0xff, 0xff, 0xff, //0x000000ee jmp LBB0_7 + //0x000000f3 LBB0_8 + 0x48, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x000000f3 cmpq $99999999, %rsi + 0x0f, 0x87, 0x1e, 0x01, 0x00, 0x00, //0x000000fa ja LBB0_16 + 0x89, 0xf0, //0x00000100 movl %esi, %eax + 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x00000102 movl $3518437209, %edx + 0x48, 0x0f, 0xaf, 0xd0, //0x00000107 imulq %rax, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x0000010b shrq $45, %rdx + 0x44, 0x69, 0xc2, 0x10, 0x27, 0x00, 0x00, //0x0000010f imull $10000, %edx, %r8d + 0x89, 0xf1, //0x00000116 movl %esi, %ecx + 0x44, 0x29, 0xc1, //0x00000118 subl %r8d, %ecx + 0x4c, 0x69, 0xd0, 0x83, 0xde, 0x1b, 0x43, //0x0000011b imulq $1125899907, %rax, %r10 + 0x49, 0xc1, 0xea, 0x31, //0x00000122 shrq $49, %r10 + 0x41, 0x83, 0xe2, 0xfe, //0x00000126 andl $-2, %r10d + 0x0f, 0xb7, 0xc2, //0x0000012a movzwl %dx, %eax + 0xc1, 0xe8, 0x02, //0x0000012d shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000130 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000136 shrl $17, %eax + 0x6b, 0xc0, 0x64, //0x00000139 imull $100, %eax, %eax + 0x29, 0xc2, //0x0000013c subl %eax, %edx + 0x44, 0x0f, 0xb7, 0xca, //0x0000013e movzwl %dx, %r9d + 0x4d, 0x01, 0xc9, //0x00000142 addq %r9, %r9 + 0x0f, 0xb7, 0xc1, //0x00000145 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x00000148 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000014b imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000151 shrl $17, %eax + 0x4c, 0x8d, 0x04, 0x00, //0x00000154 leaq (%rax,%rax), %r8 + 0x6b, 0xc0, 0x64, //0x00000158 imull $100, %eax, %eax + 0x29, 0xc1, //0x0000015b subl %eax, %ecx + 0x44, 0x0f, 0xb7, 0xd9, //0x0000015d movzwl %cx, %r11d + 0x4d, 0x01, 0xdb, //0x00000161 addq %r11, %r11 + 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x00000164 cmpl $10000000, %esi + 0x0f, 0x82, 0x17, 0x00, 0x00, 0x00, //0x0000016a jb LBB0_11 + 0x48, 0x8d, 0x05, 0x99, 0x03, 0x00, 0x00, //0x00000170 leaq $921(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x02, //0x00000177 movb (%r10,%rax), %al + 0x88, 0x07, //0x0000017b movb %al, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000017d movl $1, %ecx + 0xe9, 0x0e, 0x00, 0x00, 0x00, //0x00000182 jmp LBB0_12 + //0x00000187 LBB0_11 + 0x31, 0xc9, //0x00000187 xorl %ecx, %ecx + 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x00000189 cmpl $1000000, %esi + 0x0f, 0x82, 0x76, 0x00, 0x00, 0x00, //0x0000018f jb LBB0_13 + //0x00000195 LBB0_12 + 0x44, 0x89, 0xd0, //0x00000195 movl %r10d, %eax + 0x48, 0x83, 0xc8, 0x01, //0x00000198 orq $1, %rax + 0x48, 0x8d, 0x35, 0x6d, 0x03, 0x00, 0x00, //0x0000019c leaq $877(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x000001a3 movb (%rax,%rsi), %al + 0x89, 0xce, //0x000001a6 movl %ecx, %esi + 0xff, 0xc1, //0x000001a8 incl %ecx + 0x88, 0x04, 0x37, //0x000001aa movb %al, (%rdi,%rsi) + //0x000001ad LBB0_14 + 0x48, 0x8d, 0x05, 0x5c, 0x03, 0x00, 0x00, //0x000001ad leaq $860(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x01, //0x000001b4 movb (%r9,%rax), %al + 0x89, 0xce, //0x000001b8 movl %ecx, %esi + 0xff, 0xc1, //0x000001ba incl %ecx + 0x88, 0x04, 0x37, //0x000001bc movb %al, (%rdi,%rsi) + //0x000001bf LBB0_15 + 0x41, 0x0f, 0xb7, 0xc1, //0x000001bf movzwl %r9w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000001c3 orq $1, %rax + 0x48, 0x8d, 0x35, 0x42, 0x03, 0x00, 0x00, //0x000001c7 leaq $834(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x000001ce movb (%rax,%rsi), %al + 0x89, 0xca, //0x000001d1 movl %ecx, %edx + 0x88, 0x04, 0x3a, //0x000001d3 movb %al, (%rdx,%rdi) + 0x41, 0x8a, 0x04, 0x30, //0x000001d6 movb (%r8,%rsi), %al + 0x88, 0x44, 0x3a, 0x01, //0x000001da movb %al, $1(%rdx,%rdi) + 0x41, 0x0f, 0xb7, 0xc0, //0x000001de movzwl %r8w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000001e2 orq $1, %rax + 0x8a, 0x04, 0x30, //0x000001e6 movb (%rax,%rsi), %al + 0x88, 0x44, 0x3a, 0x02, //0x000001e9 movb %al, $2(%rdx,%rdi) + 0x41, 0x8a, 0x04, 0x33, //0x000001ed movb (%r11,%rsi), %al + 0x88, 0x44, 0x3a, 0x03, //0x000001f1 movb %al, $3(%rdx,%rdi) + 0x41, 0x0f, 0xb7, 0xc3, //0x000001f5 movzwl %r11w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000001f9 orq $1, %rax + 0x8a, 0x04, 0x30, //0x000001fd movb (%rax,%rsi), %al + 0x83, 0xc1, 0x05, //0x00000200 addl $5, %ecx + 0x88, 0x44, 0x3a, 0x04, //0x00000203 movb %al, $4(%rdx,%rdi) + 0x89, 0xc8, //0x00000207 movl %ecx, %eax + 0x5d, //0x00000209 popq %rbp + 0xc3, //0x0000020a retq + //0x0000020b LBB0_13 + 0x31, 0xc9, //0x0000020b xorl %ecx, %ecx + 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x0000020d cmpl $100000, %esi + 0x0f, 0x83, 0x94, 0xff, 0xff, 0xff, //0x00000213 jae LBB0_14 + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x00000219 jmp LBB0_15 + //0x0000021e LBB0_16 + 0x48, 0xb8, 0xff, 0xff, 0xc0, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x0000021e movabsq $9999999999999999, %rax + 0x48, 0x39, 0xc6, //0x00000228 cmpq %rax, %rsi + 0x0f, 0x87, 0x05, 0x01, 0x00, 0x00, //0x0000022b ja LBB0_18 + 0x48, 0xb9, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000231 movabsq $-6067343680855748867, %rcx + 0x48, 0x89, 0xf0, //0x0000023b movq %rsi, %rax + 0x48, 0xf7, 0xe1, //0x0000023e mulq %rcx + 0x48, 0xc1, 0xea, 0x1a, //0x00000241 shrq $26, %rdx + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x00000245 imull $100000000, %edx, %eax + 0x29, 0xc6, //0x0000024b subl %eax, %esi + 0xc5, 0xf9, 0x6e, 0xc2, //0x0000024d vmovd %edx, %xmm0 + 0xc5, 0xfa, 0x6f, 0x0d, 0xa7, 0xfd, 0xff, 0xff, //0x00000251 vmovdqu $-601(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0xf4, 0xd1, //0x00000259 vpmuludq %xmm1, %xmm0, %xmm2 + 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x0000025d vpsrlq $45, %xmm2, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x00000262 movl $10000, %eax + 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x00000267 vmovq %rax, %xmm3 + 0xc5, 0xe9, 0xf4, 0xe3, //0x0000026c vpmuludq %xmm3, %xmm2, %xmm4 + 0xc5, 0xf9, 0xfa, 0xc4, //0x00000270 vpsubd %xmm4, %xmm0, %xmm0 + 0xc5, 0xe9, 0x61, 0xc0, //0x00000274 vpunpcklwd %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x00000278 vpsllq $2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x0000027d vpshuflw $80, %xmm0, %xmm0 + 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x00000282 vpshufd $80, %xmm0, %xmm0 + 0xc5, 0xfb, 0x12, 0x15, 0xa1, 0xfd, 0xff, 0xff, //0x00000287 vmovddup $-607(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc2, //0x0000028f vpmulhuw %xmm2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x12, 0x25, 0x9d, 0xfd, 0xff, 0xff, //0x00000293 vmovddup $-611(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc4, //0x0000029b vpmulhuw %xmm4, %xmm0, %xmm0 + 0xc5, 0xfa, 0x6f, 0x2d, 0x69, 0xfd, 0xff, 0xff, //0x0000029f vmovdqu $-663(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0xd5, 0xf5, //0x000002a7 vpmullw %xmm5, %xmm0, %xmm6 + 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x000002ab vpsllq $16, %xmm6, %xmm6 + 0xc5, 0xf9, 0xf9, 0xc6, //0x000002b0 vpsubw %xmm6, %xmm0, %xmm0 + 0xc5, 0xf9, 0x6e, 0xf6, //0x000002b4 vmovd %esi, %xmm6 + 0xc5, 0xc9, 0xf4, 0xc9, //0x000002b8 vpmuludq %xmm1, %xmm6, %xmm1 + 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x000002bc vpsrlq $45, %xmm1, %xmm1 + 0xc5, 0xf1, 0xf4, 0xdb, //0x000002c1 vpmuludq %xmm3, %xmm1, %xmm3 + 0xc5, 0xc9, 0xfa, 0xdb, //0x000002c5 vpsubd %xmm3, %xmm6, %xmm3 + 0xc5, 0xf1, 0x61, 0xcb, //0x000002c9 vpunpcklwd %xmm3, %xmm1, %xmm1 + 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x000002cd vpsllq $2, %xmm1, %xmm1 + 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x000002d2 vpshuflw $80, %xmm1, %xmm1 + 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x000002d7 vpshufd $80, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xca, //0x000002dc vpmulhuw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xcc, //0x000002e0 vpmulhuw %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xd5, 0xd5, //0x000002e4 vpmullw %xmm5, %xmm1, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x000002e8 vpsllq $16, %xmm2, %xmm2 + 0xc5, 0xf1, 0xf9, 0xca, //0x000002ed vpsubw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x67, 0xc1, //0x000002f1 vpackuswb %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xfc, 0x0d, 0x23, 0xfd, 0xff, 0xff, //0x000002f5 vpaddb $-733(%rip), %xmm0, %xmm1 /* LCPI0_4+0(%rip) */ + 0xc5, 0xe9, 0xef, 0xd2, //0x000002fd vpxor %xmm2, %xmm2, %xmm2 + 0xc5, 0xf9, 0x74, 0xc2, //0x00000301 vpcmpeqb %xmm2, %xmm0, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x00000305 vpmovmskb %xmm0, %eax + 0x0d, 0x00, 0x80, 0x00, 0x00, //0x00000309 orl $32768, %eax + 0x35, 0xff, 0x7f, 0xff, 0xff, //0x0000030e xorl $-32769, %eax + 0x0f, 0xbc, 0xc0, //0x00000313 bsfl %eax, %eax + 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00000316 movl $16, %ecx + 0x29, 0xc1, //0x0000031b subl %eax, %ecx + 0x48, 0xc1, 0xe0, 0x04, //0x0000031d shlq $4, %rax + 0x48, 0x8d, 0x15, 0xb8, 0x02, 0x00, 0x00, //0x00000321 leaq $696(%rip), %rdx /* _VecShiftShuffles+0(%rip) */ + 0xc4, 0xe2, 0x71, 0x00, 0x04, 0x10, //0x00000328 vpshufb (%rax,%rdx), %xmm1, %xmm0 + 0xc5, 0xfa, 0x7f, 0x07, //0x0000032e vmovdqu %xmm0, (%rdi) + 0x89, 0xc8, //0x00000332 movl %ecx, %eax + 0x5d, //0x00000334 popq %rbp + 0xc3, //0x00000335 retq + //0x00000336 LBB0_18 + 0x48, 0xb9, 0x57, 0x78, 0x13, 0xb1, 0x2f, 0x65, 0xa5, 0x39, //0x00000336 movabsq $4153837486827862103, %rcx + 0x48, 0x89, 0xf0, //0x00000340 movq %rsi, %rax + 0x48, 0xf7, 0xe1, //0x00000343 mulq %rcx + 0x48, 0xc1, 0xea, 0x33, //0x00000346 shrq $51, %rdx + 0x48, 0xb8, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x0000034a movabsq $10000000000000000, %rax + 0x48, 0x0f, 0xaf, 0xc2, //0x00000354 imulq %rdx, %rax + 0x48, 0x29, 0xc6, //0x00000358 subq %rax, %rsi + 0x83, 0xfa, 0x09, //0x0000035b cmpl $9, %edx + 0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x0000035e ja LBB0_20 + 0x80, 0xc2, 0x30, //0x00000364 addb $48, %dl + 0x88, 0x17, //0x00000367 movb %dl, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000369 movl $1, %ecx + 0xe9, 0xba, 0x00, 0x00, 0x00, //0x0000036e jmp LBB0_25 + //0x00000373 LBB0_20 + 0x83, 0xfa, 0x63, //0x00000373 cmpl $99, %edx + 0x0f, 0x87, 0x1f, 0x00, 0x00, 0x00, //0x00000376 ja LBB0_22 + 0x89, 0xd0, //0x0000037c movl %edx, %eax + 0x48, 0x8d, 0x0d, 0x8b, 0x01, 0x00, 0x00, //0x0000037e leaq $395(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x00000385 movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x00000388 movb $1(%rcx,%rax,2), %al + 0x88, 0x17, //0x0000038c movb %dl, (%rdi) + 0x88, 0x47, 0x01, //0x0000038e movb %al, $1(%rdi) + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x00000391 movl $2, %ecx + 0xe9, 0x92, 0x00, 0x00, 0x00, //0x00000396 jmp LBB0_25 + //0x0000039b LBB0_22 + 0x89, 0xd0, //0x0000039b movl %edx, %eax + 0xc1, 0xe8, 0x02, //0x0000039d shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000003a0 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x000003a6 shrl $17, %eax + 0x81, 0xfa, 0xe7, 0x03, 0x00, 0x00, //0x000003a9 cmpl $999, %edx + 0x0f, 0x87, 0x3c, 0x00, 0x00, 0x00, //0x000003af ja LBB0_24 + 0x83, 0xc0, 0x30, //0x000003b5 addl $48, %eax + 0x88, 0x07, //0x000003b8 movb %al, (%rdi) + 0x0f, 0xb7, 0xc2, //0x000003ba movzwl %dx, %eax + 0x89, 0xc1, //0x000003bd movl %eax, %ecx + 0xc1, 0xe9, 0x02, //0x000003bf shrl $2, %ecx + 0x69, 0xc9, 0x7b, 0x14, 0x00, 0x00, //0x000003c2 imull $5243, %ecx, %ecx + 0xc1, 0xe9, 0x11, //0x000003c8 shrl $17, %ecx + 0x6b, 0xc9, 0x64, //0x000003cb imull $100, %ecx, %ecx + 0x29, 0xc8, //0x000003ce subl %ecx, %eax + 0x0f, 0xb7, 0xc0, //0x000003d0 movzwl %ax, %eax + 0x48, 0x8d, 0x0d, 0x36, 0x01, 0x00, 0x00, //0x000003d3 leaq $310(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x000003da movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x000003dd movb $1(%rcx,%rax,2), %al + 0x88, 0x57, 0x01, //0x000003e1 movb %dl, $1(%rdi) + 0x88, 0x47, 0x02, //0x000003e4 movb %al, $2(%rdi) + 0xb9, 0x03, 0x00, 0x00, 0x00, //0x000003e7 movl $3, %ecx + 0xe9, 0x3c, 0x00, 0x00, 0x00, //0x000003ec jmp LBB0_25 + //0x000003f1 LBB0_24 + 0x6b, 0xc8, 0x64, //0x000003f1 imull $100, %eax, %ecx + 0x29, 0xca, //0x000003f4 subl %ecx, %edx + 0x0f, 0xb7, 0xc0, //0x000003f6 movzwl %ax, %eax + 0x4c, 0x8d, 0x05, 0x10, 0x01, 0x00, 0x00, //0x000003f9 leaq $272(%rip), %r8 /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x0c, 0x40, //0x00000400 movb (%r8,%rax,2), %cl + 0x41, 0x8a, 0x44, 0x40, 0x01, //0x00000404 movb $1(%r8,%rax,2), %al + 0x88, 0x0f, //0x00000409 movb %cl, (%rdi) + 0x88, 0x47, 0x01, //0x0000040b movb %al, $1(%rdi) + 0x0f, 0xb7, 0xc2, //0x0000040e movzwl %dx, %eax + 0x41, 0x8a, 0x0c, 0x40, //0x00000411 movb (%r8,%rax,2), %cl + 0x48, 0x01, 0xc0, //0x00000415 addq %rax, %rax + 0x88, 0x4f, 0x02, //0x00000418 movb %cl, $2(%rdi) + 0x83, 0xc8, 0x01, //0x0000041b orl $1, %eax + 0x0f, 0xb7, 0xc0, //0x0000041e movzwl %ax, %eax + 0x42, 0x8a, 0x04, 0x00, //0x00000421 movb (%rax,%r8), %al + 0x88, 0x47, 0x03, //0x00000425 movb %al, $3(%rdi) + 0xb9, 0x04, 0x00, 0x00, 0x00, //0x00000428 movl $4, %ecx + //0x0000042d LBB0_25 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x0000042d movabsq $-6067343680855748867, %rdx + 0x48, 0x89, 0xf0, //0x00000437 movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x0000043a mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x0000043d shrq $26, %rdx + 0xc5, 0xf9, 0x6e, 0xc2, //0x00000441 vmovd %edx, %xmm0 + 0xc5, 0xfa, 0x6f, 0x0d, 0xb3, 0xfb, 0xff, 0xff, //0x00000445 vmovdqu $-1101(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0xf4, 0xd1, //0x0000044d vpmuludq %xmm1, %xmm0, %xmm2 + 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x00000451 vpsrlq $45, %xmm2, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x00000456 movl $10000, %eax + 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x0000045b vmovq %rax, %xmm3 + 0xc5, 0xe9, 0xf4, 0xe3, //0x00000460 vpmuludq %xmm3, %xmm2, %xmm4 + 0xc5, 0xf9, 0xfa, 0xc4, //0x00000464 vpsubd %xmm4, %xmm0, %xmm0 + 0xc5, 0xe9, 0x61, 0xc0, //0x00000468 vpunpcklwd %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x0000046c vpsllq $2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x00000471 vpshuflw $80, %xmm0, %xmm0 + 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x00000476 vpshufd $80, %xmm0, %xmm0 + 0xc5, 0xfb, 0x12, 0x15, 0xad, 0xfb, 0xff, 0xff, //0x0000047b vmovddup $-1107(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc2, //0x00000483 vpmulhuw %xmm2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x12, 0x25, 0xa9, 0xfb, 0xff, 0xff, //0x00000487 vmovddup $-1111(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc4, //0x0000048f vpmulhuw %xmm4, %xmm0, %xmm0 + 0xc5, 0xfa, 0x6f, 0x2d, 0x75, 0xfb, 0xff, 0xff, //0x00000493 vmovdqu $-1163(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0xd5, 0xf5, //0x0000049b vpmullw %xmm5, %xmm0, %xmm6 + 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x0000049f vpsllq $16, %xmm6, %xmm6 + 0xc5, 0xf9, 0xf9, 0xc6, //0x000004a4 vpsubw %xmm6, %xmm0, %xmm0 + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x000004a8 imull $100000000, %edx, %eax + 0x29, 0xc6, //0x000004ae subl %eax, %esi + 0xc5, 0xf9, 0x6e, 0xf6, //0x000004b0 vmovd %esi, %xmm6 + 0xc5, 0xc9, 0xf4, 0xc9, //0x000004b4 vpmuludq %xmm1, %xmm6, %xmm1 + 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x000004b8 vpsrlq $45, %xmm1, %xmm1 + 0xc5, 0xf1, 0xf4, 0xdb, //0x000004bd vpmuludq %xmm3, %xmm1, %xmm3 + 0xc5, 0xc9, 0xfa, 0xdb, //0x000004c1 vpsubd %xmm3, %xmm6, %xmm3 + 0xc5, 0xf1, 0x61, 0xcb, //0x000004c5 vpunpcklwd %xmm3, %xmm1, %xmm1 + 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x000004c9 vpsllq $2, %xmm1, %xmm1 + 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x000004ce vpshuflw $80, %xmm1, %xmm1 + 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x000004d3 vpshufd $80, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xca, //0x000004d8 vpmulhuw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xcc, //0x000004dc vpmulhuw %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xd5, 0xd5, //0x000004e0 vpmullw %xmm5, %xmm1, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x000004e4 vpsllq $16, %xmm2, %xmm2 + 0xc5, 0xf1, 0xf9, 0xca, //0x000004e9 vpsubw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x67, 0xc1, //0x000004ed vpackuswb %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xfc, 0x05, 0x27, 0xfb, 0xff, 0xff, //0x000004f1 vpaddb $-1241(%rip), %xmm0, %xmm0 /* LCPI0_4+0(%rip) */ + 0x89, 0xc8, //0x000004f9 movl %ecx, %eax + 0xc5, 0xfa, 0x7f, 0x04, 0x07, //0x000004fb vmovdqu %xmm0, (%rdi,%rax) + 0x83, 0xc9, 0x10, //0x00000500 orl $16, %ecx + 0x89, 0xc8, //0x00000503 movl %ecx, %eax + 0x5d, //0x00000505 popq %rbp + 0xc3, //0x00000506 retq + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000507 .p2align 4, 0x00 + //0x00000510 _Digits + 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00000510 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' + 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00000520 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' + 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x00000530 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' + 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x00000540 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' + 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x00000550 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' + 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x00000560 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' + 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x00000570 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' + 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x00000580 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' + 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x00000590 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' + 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x000005a0 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' + 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x000005b0 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' + 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x000005c0 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' + 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x000005d0 QUAD $0x3939383937393639 // .ascii 8, '96979899' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005d8 .p2align 4, 0x00 + //0x000005e0 _VecShiftShuffles + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, //0x000005e0 QUAD $0x0706050403020100; QUAD $0x0f0e0d0c0b0a0908 // .ascii 16, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, //0x000005f0 QUAD $0x0807060504030201; QUAD $0xff0f0e0d0c0b0a09 // .ascii 16, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' + 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, //0x00000600 QUAD $0x0908070605040302; QUAD $0xffff0f0e0d0c0b0a // .ascii 16, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' + 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, //0x00000610 QUAD $0x0a09080706050403; QUAD $0xffffff0f0e0d0c0b // .ascii 16, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, //0x00000620 QUAD $0x0b0a090807060504; QUAD $0xffffffff0f0e0d0c // .ascii 16, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' + 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000630 QUAD $0x0c0b0a0908070605; QUAD $0xffffffffff0f0e0d // .ascii 16, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff' + 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000640 QUAD $0x0d0c0b0a09080706; QUAD $0xffffffffffff0f0e // .ascii 16, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff' + 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000650 QUAD $0x0e0d0c0b0a090807; QUAD $0xffffffffffffff0f // .ascii 16, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff' + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000660 QUAD $0x0f0e0d0c0b0a0908; QUAD $0xffffffffffffffff // .ascii 16, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/unquote.go b/vendor/github.com/bytedance/sonic/internal/native/avx/unquote.go new file mode 100644 index 0000000..be4bd43 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/unquote.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_unquote func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep unsafe.Pointer, flags uint64) (ret int) + +var S_unquote uintptr + +//go:nosplit +func unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int) { + return F_unquote(rt.NoEscape(sp), nb, dp, rt.NoEscape(unsafe.Pointer(ep)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/unquote_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/unquote_subr.go new file mode 100644 index 0000000..47db5a6 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/unquote_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__unquote = 16 +) + +const ( + _stack__unquote = 88 +) + +const ( + _size__unquote = 2272 +) + +var ( + _pcsp__unquote = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {1684, 88}, + {1688, 48}, + {1689, 40}, + {1691, 32}, + {1693, 24}, + {1695, 16}, + {1697, 8}, + {1698, 0}, + {2270, 88}, + } +) + +var _cfunc_unquote = []loader.CFunc{ + {"_unquote_entry", 0, _entry__unquote, 0, nil}, + {"_unquote", _entry__unquote, _size__unquote, _stack__unquote, _pcsp__unquote}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/unquote_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/unquote_text_amd64.go new file mode 100644 index 0000000..2e63621 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/unquote_text_amd64.go @@ -0,0 +1,639 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_unquote = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, // QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000010 .p2align 4, 0x90 + //0x00000010 _unquote + 0x55, //0x00000010 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000011 movq %rsp, %rbp + 0x41, 0x57, //0x00000014 pushq %r15 + 0x41, 0x56, //0x00000016 pushq %r14 + 0x41, 0x55, //0x00000018 pushq %r13 + 0x41, 0x54, //0x0000001a pushq %r12 + 0x53, //0x0000001c pushq %rbx + 0x48, 0x83, 0xec, 0x28, //0x0000001d subq $40, %rsp + 0x48, 0x85, 0xf6, //0x00000021 testq %rsi, %rsi + 0x0f, 0x84, 0x6e, 0x06, 0x00, 0x00, //0x00000024 je LBB0_82 + 0x49, 0x89, 0xf3, //0x0000002a movq %rsi, %r11 + 0x48, 0x89, 0x4d, 0xc8, //0x0000002d movq %rcx, $-56(%rbp) + 0x4c, 0x89, 0xc0, //0x00000031 movq %r8, %rax + 0x4c, 0x89, 0x45, 0xb8, //0x00000034 movq %r8, $-72(%rbp) + 0x45, 0x89, 0xc2, //0x00000038 movl %r8d, %r10d + 0x41, 0x83, 0xe2, 0x01, //0x0000003b andl $1, %r10d + 0x4c, 0x8d, 0x05, 0xaa, 0x08, 0x00, 0x00, //0x0000003f leaq $2218(%rip), %r8 /* __UnquoteTab+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x05, 0xb2, 0xff, 0xff, 0xff, //0x00000046 vmovdqu $-78(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0x49, 0x89, 0xf9, //0x0000004e movq %rdi, %r9 + 0x49, 0x89, 0xf5, //0x00000051 movq %rsi, %r13 + 0x48, 0x89, 0xd0, //0x00000054 movq %rdx, %rax + //0x00000057 LBB0_2 + 0x41, 0x80, 0x39, 0x5c, //0x00000057 cmpb $92, (%r9) + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x0000005b jne LBB0_4 + 0x31, 0xf6, //0x00000061 xorl %esi, %esi + 0xe9, 0xc8, 0x00, 0x00, 0x00, //0x00000063 jmp LBB0_13 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000068 .p2align 4, 0x90 + //0x00000070 LBB0_4 + 0x4d, 0x89, 0xef, //0x00000070 movq %r13, %r15 + 0x48, 0x89, 0xc6, //0x00000073 movq %rax, %rsi + 0x4d, 0x89, 0xce, //0x00000076 movq %r9, %r14 + 0x49, 0x83, 0xfd, 0x10, //0x00000079 cmpq $16, %r13 + 0x0f, 0x8c, 0x3d, 0x00, 0x00, 0x00, //0x0000007d jl LBB0_7 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000083 .p2align 4, 0x90 + //0x00000090 LBB0_5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x0e, //0x00000090 vmovdqu (%r14), %xmm1 + 0xc5, 0xfa, 0x7f, 0x0e, //0x00000095 vmovdqu %xmm1, (%rsi) + 0xc5, 0xf1, 0x74, 0xc8, //0x00000099 vpcmpeqb %xmm0, %xmm1, %xmm1 + 0xc5, 0xf9, 0xd7, 0xd9, //0x0000009d vpmovmskb %xmm1, %ebx + 0x66, 0x85, 0xdb, //0x000000a1 testw %bx, %bx + 0x0f, 0x85, 0x60, 0x00, 0x00, 0x00, //0x000000a4 jne LBB0_12 + 0x49, 0x83, 0xc6, 0x10, //0x000000aa addq $16, %r14 + 0x48, 0x83, 0xc6, 0x10, //0x000000ae addq $16, %rsi + 0x49, 0x83, 0xff, 0x1f, //0x000000b2 cmpq $31, %r15 + 0x4d, 0x8d, 0x7f, 0xf0, //0x000000b6 leaq $-16(%r15), %r15 + 0x0f, 0x8f, 0xd0, 0xff, 0xff, 0xff, //0x000000ba jg LBB0_5 + //0x000000c0 LBB0_7 + 0x4d, 0x85, 0xff, //0x000000c0 testq %r15, %r15 + 0x0f, 0x84, 0xd5, 0x05, 0x00, 0x00, //0x000000c3 je LBB0_83 + 0x31, 0xdb, //0x000000c9 xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000cb .p2align 4, 0x90 + //0x000000d0 LBB0_9 + 0x41, 0x0f, 0xb6, 0x0c, 0x1e, //0x000000d0 movzbl (%r14,%rbx), %ecx + 0x80, 0xf9, 0x5c, //0x000000d5 cmpb $92, %cl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000000d8 je LBB0_11 + 0x88, 0x0c, 0x1e, //0x000000de movb %cl, (%rsi,%rbx) + 0x48, 0xff, 0xc3, //0x000000e1 incq %rbx + 0x49, 0x39, 0xdf, //0x000000e4 cmpq %rbx, %r15 + 0x0f, 0x85, 0xe3, 0xff, 0xff, 0xff, //0x000000e7 jne LBB0_9 + 0xe9, 0xac, 0x05, 0x00, 0x00, //0x000000ed jmp LBB0_83 + //0x000000f2 LBB0_11 + 0x49, 0x01, 0xde, //0x000000f2 addq %rbx, %r14 + 0x4d, 0x29, 0xce, //0x000000f5 subq %r9, %r14 + 0x4c, 0x89, 0xf6, //0x000000f8 movq %r14, %rsi + 0x48, 0x83, 0xfe, 0xff, //0x000000fb cmpq $-1, %rsi + 0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x000000ff jne LBB0_13 + 0xe9, 0x94, 0x05, 0x00, 0x00, //0x00000105 jmp LBB0_83 + //0x0000010a LBB0_12 + 0x0f, 0xb7, 0xcb, //0x0000010a movzwl %bx, %ecx + 0x4d, 0x29, 0xce, //0x0000010d subq %r9, %r14 + 0x48, 0x0f, 0xbc, 0xf1, //0x00000110 bsfq %rcx, %rsi + 0x4c, 0x01, 0xf6, //0x00000114 addq %r14, %rsi + 0x48, 0x83, 0xfe, 0xff, //0x00000117 cmpq $-1, %rsi + 0x0f, 0x84, 0x7d, 0x05, 0x00, 0x00, //0x0000011b je LBB0_83 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000121 .p2align 4, 0x90 + //0x00000130 LBB0_13 + 0x48, 0x8d, 0x4e, 0x02, //0x00000130 leaq $2(%rsi), %rcx + 0x49, 0x29, 0xcd, //0x00000134 subq %rcx, %r13 + 0x0f, 0x88, 0x2a, 0x06, 0x00, 0x00, //0x00000137 js LBB0_94 + 0x4d, 0x8d, 0x4c, 0x31, 0x02, //0x0000013d leaq $2(%r9,%rsi), %r9 + 0x4d, 0x85, 0xd2, //0x00000142 testq %r10, %r10 + 0x0f, 0x85, 0xe5, 0x03, 0x00, 0x00, //0x00000145 jne LBB0_58 + //0x0000014b LBB0_15 + 0x48, 0x01, 0xf0, //0x0000014b addq %rsi, %rax + 0x41, 0x0f, 0xb6, 0x49, 0xff, //0x0000014e movzbl $-1(%r9), %ecx + 0x42, 0x8a, 0x0c, 0x01, //0x00000153 movb (%rcx,%r8), %cl + 0x80, 0xf9, 0xff, //0x00000157 cmpb $-1, %cl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x0000015a je LBB0_18 + 0x84, 0xc9, //0x00000160 testb %cl, %cl + 0x0f, 0x84, 0x12, 0x06, 0x00, 0x00, //0x00000162 je LBB0_95 + 0x88, 0x08, //0x00000168 movb %cl, (%rax) + 0x48, 0xff, 0xc0, //0x0000016a incq %rax + 0xe9, 0xb0, 0x03, 0x00, 0x00, //0x0000016d jmp LBB0_57 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000172 .p2align 4, 0x90 + //0x00000180 LBB0_18 + 0x49, 0x83, 0xfd, 0x03, //0x00000180 cmpq $3, %r13 + 0x0f, 0x8e, 0xdd, 0x05, 0x00, 0x00, //0x00000184 jle LBB0_94 + 0x41, 0x8b, 0x31, //0x0000018a movl (%r9), %esi + 0x89, 0xf1, //0x0000018d movl %esi, %ecx + 0xf7, 0xd1, //0x0000018f notl %ecx + 0x8d, 0x9e, 0xd0, 0xcf, 0xcf, 0xcf, //0x00000191 leal $-808464432(%rsi), %ebx + 0x81, 0xe1, 0x80, 0x80, 0x80, 0x80, //0x00000197 andl $-2139062144, %ecx + 0x85, 0xd9, //0x0000019d testl %ebx, %ecx + 0x0f, 0x85, 0x0e, 0x05, 0x00, 0x00, //0x0000019f jne LBB0_85 + 0x8d, 0x9e, 0x19, 0x19, 0x19, 0x19, //0x000001a5 leal $421075225(%rsi), %ebx + 0x09, 0xf3, //0x000001ab orl %esi, %ebx + 0xf7, 0xc3, 0x80, 0x80, 0x80, 0x80, //0x000001ad testl $-2139062144, %ebx + 0x0f, 0x85, 0xfa, 0x04, 0x00, 0x00, //0x000001b3 jne LBB0_85 + 0x89, 0xf3, //0x000001b9 movl %esi, %ebx + 0x81, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, //0x000001bb andl $2139062143, %ebx + 0x41, 0xbe, 0xc0, 0xc0, 0xc0, 0xc0, //0x000001c1 movl $-1061109568, %r14d + 0x41, 0x29, 0xde, //0x000001c7 subl %ebx, %r14d + 0x44, 0x8d, 0xbb, 0x46, 0x46, 0x46, 0x46, //0x000001ca leal $1179010630(%rbx), %r15d + 0x41, 0x21, 0xce, //0x000001d1 andl %ecx, %r14d + 0x45, 0x85, 0xfe, //0x000001d4 testl %r15d, %r14d + 0x0f, 0x85, 0xd6, 0x04, 0x00, 0x00, //0x000001d7 jne LBB0_85 + 0x41, 0xbe, 0xe0, 0xe0, 0xe0, 0xe0, //0x000001dd movl $-522133280, %r14d + 0x41, 0x29, 0xde, //0x000001e3 subl %ebx, %r14d + 0x81, 0xc3, 0x39, 0x39, 0x39, 0x39, //0x000001e6 addl $960051513, %ebx + 0x44, 0x21, 0xf1, //0x000001ec andl %r14d, %ecx + 0x85, 0xd9, //0x000001ef testl %ebx, %ecx + 0x0f, 0x85, 0xbc, 0x04, 0x00, 0x00, //0x000001f1 jne LBB0_85 + 0x0f, 0xce, //0x000001f7 bswapl %esi + 0x89, 0xf1, //0x000001f9 movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x000001fb shrl $4, %ecx + 0xf7, 0xd1, //0x000001fe notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00000200 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00000206 leal (%rcx,%rcx,8), %ecx + 0x81, 0xe6, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000209 andl $252645135, %esi + 0x01, 0xce, //0x0000020f addl %ecx, %esi + 0x89, 0xf1, //0x00000211 movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x00000213 shrl $4, %ecx + 0x09, 0xf1, //0x00000216 orl %esi, %ecx + 0x44, 0x0f, 0xb6, 0xf9, //0x00000218 movzbl %cl, %r15d + 0xc1, 0xe9, 0x08, //0x0000021c shrl $8, %ecx + 0x81, 0xe1, 0x00, 0xff, 0x00, 0x00, //0x0000021f andl $65280, %ecx + 0x41, 0x09, 0xcf, //0x00000225 orl %ecx, %r15d + 0x4d, 0x8d, 0x75, 0xfc, //0x00000228 leaq $-4(%r13), %r14 + 0x41, 0x81, 0xff, 0x80, 0x00, 0x00, 0x00, //0x0000022c cmpl $128, %r15d + 0x0f, 0x82, 0x46, 0x03, 0x00, 0x00, //0x00000233 jb LBB0_66 + 0x45, 0x31, 0xe4, //0x00000239 xorl %r12d, %r12d + 0x4d, 0x85, 0xd2, //0x0000023c testq %r10, %r10 + 0x0f, 0x84, 0x5b, 0x01, 0x00, 0x00, //0x0000023f je LBB0_40 + //0x00000245 LBB0_25 + 0x41, 0x81, 0xff, 0x00, 0x08, 0x00, 0x00, //0x00000245 cmpl $2048, %r15d + 0x0f, 0x82, 0x3c, 0x03, 0x00, 0x00, //0x0000024c jb LBB0_68 + 0x44, 0x89, 0xf9, //0x00000252 movl %r15d, %ecx + 0x81, 0xe1, 0x00, 0xf8, 0xff, 0xff, //0x00000255 andl $-2048, %ecx + 0x81, 0xf9, 0x00, 0xd8, 0x00, 0x00, //0x0000025b cmpl $55296, %ecx + 0x0f, 0x85, 0x89, 0x02, 0x00, 0x00, //0x00000261 jne LBB0_54 + 0x4d, 0x85, 0xf6, //0x00000267 testq %r14, %r14 + 0x0f, 0x8e, 0x6b, 0x03, 0x00, 0x00, //0x0000026a jle LBB0_72 + 0x43, 0x80, 0x7c, 0x21, 0x04, 0x5c, //0x00000270 cmpb $92, $4(%r9,%r12) + 0x0f, 0x85, 0x6e, 0x03, 0x00, 0x00, //0x00000276 jne LBB0_73 + 0x41, 0x81, 0xff, 0xff, 0xdb, 0x00, 0x00, //0x0000027c cmpl $56319, %r15d + 0x0f, 0x87, 0x34, 0x03, 0x00, 0x00, //0x00000283 ja LBB0_70 + 0x49, 0x83, 0xfe, 0x07, //0x00000289 cmpq $7, %r14 + 0x0f, 0x8c, 0x2a, 0x03, 0x00, 0x00, //0x0000028d jl LBB0_70 + 0x43, 0x80, 0x7c, 0x21, 0x05, 0x5c, //0x00000293 cmpb $92, $5(%r9,%r12) + 0x0f, 0x85, 0x1e, 0x03, 0x00, 0x00, //0x00000299 jne LBB0_70 + 0x43, 0x80, 0x7c, 0x21, 0x06, 0x75, //0x0000029f cmpb $117, $6(%r9,%r12) + 0x0f, 0x85, 0x12, 0x03, 0x00, 0x00, //0x000002a5 jne LBB0_70 + 0x43, 0x8b, 0x74, 0x21, 0x07, //0x000002ab movl $7(%r9,%r12), %esi + 0x89, 0xf1, //0x000002b0 movl %esi, %ecx + 0xf7, 0xd1, //0x000002b2 notl %ecx + 0x8d, 0x9e, 0xd0, 0xcf, 0xcf, 0xcf, //0x000002b4 leal $-808464432(%rsi), %ebx + 0x81, 0xe1, 0x80, 0x80, 0x80, 0x80, //0x000002ba andl $-2139062144, %ecx + 0x85, 0xd9, //0x000002c0 testl %ebx, %ecx + 0x0f, 0x85, 0xe8, 0x04, 0x00, 0x00, //0x000002c2 jne LBB0_99 + 0x8d, 0x9e, 0x19, 0x19, 0x19, 0x19, //0x000002c8 leal $421075225(%rsi), %ebx + 0x09, 0xf3, //0x000002ce orl %esi, %ebx + 0xf7, 0xc3, 0x80, 0x80, 0x80, 0x80, //0x000002d0 testl $-2139062144, %ebx + 0x0f, 0x85, 0xd4, 0x04, 0x00, 0x00, //0x000002d6 jne LBB0_99 + 0x89, 0xf3, //0x000002dc movl %esi, %ebx + 0x81, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, //0x000002de andl $2139062143, %ebx + 0xc7, 0x45, 0xd4, 0xc0, 0xc0, 0xc0, 0xc0, //0x000002e4 movl $-1061109568, $-44(%rbp) + 0x29, 0x5d, 0xd4, //0x000002eb subl %ebx, $-44(%rbp) + 0x48, 0x89, 0x75, 0xb0, //0x000002ee movq %rsi, $-80(%rbp) + 0x8d, 0xb3, 0x46, 0x46, 0x46, 0x46, //0x000002f2 leal $1179010630(%rbx), %esi + 0x89, 0x75, 0xc4, //0x000002f8 movl %esi, $-60(%rbp) + 0x21, 0x4d, 0xd4, //0x000002fb andl %ecx, $-44(%rbp) + 0x8b, 0x75, 0xc4, //0x000002fe movl $-60(%rbp), %esi + 0x85, 0x75, 0xd4, //0x00000301 testl %esi, $-44(%rbp) + 0x48, 0x8b, 0x75, 0xb0, //0x00000304 movq $-80(%rbp), %rsi + 0x0f, 0x85, 0xa2, 0x04, 0x00, 0x00, //0x00000308 jne LBB0_99 + 0xc7, 0x45, 0xd4, 0xe0, 0xe0, 0xe0, 0xe0, //0x0000030e movl $-522133280, $-44(%rbp) + 0x29, 0x5d, 0xd4, //0x00000315 subl %ebx, $-44(%rbp) + 0x81, 0xc3, 0x39, 0x39, 0x39, 0x39, //0x00000318 addl $960051513, %ebx + 0x23, 0x4d, 0xd4, //0x0000031e andl $-44(%rbp), %ecx + 0x85, 0xd9, //0x00000321 testl %ebx, %ecx + 0x0f, 0x85, 0x87, 0x04, 0x00, 0x00, //0x00000323 jne LBB0_99 + 0x0f, 0xce, //0x00000329 bswapl %esi + 0x89, 0xf1, //0x0000032b movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x0000032d shrl $4, %ecx + 0xf7, 0xd1, //0x00000330 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00000332 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00000338 leal (%rcx,%rcx,8), %ecx + 0x81, 0xe6, 0x0f, 0x0f, 0x0f, 0x0f, //0x0000033b andl $252645135, %esi + 0x01, 0xce, //0x00000341 addl %ecx, %esi + 0x89, 0xf1, //0x00000343 movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x00000345 shrl $4, %ecx + 0x09, 0xf1, //0x00000348 orl %esi, %ecx + 0x89, 0xce, //0x0000034a movl %ecx, %esi + 0xc1, 0xee, 0x08, //0x0000034c shrl $8, %esi + 0x81, 0xe6, 0x00, 0xff, 0x00, 0x00, //0x0000034f andl $65280, %esi + 0x0f, 0xb6, 0xd9, //0x00000355 movzbl %cl, %ebx + 0x09, 0xf3, //0x00000358 orl %esi, %ebx + 0x81, 0xe1, 0x00, 0x00, 0xfc, 0x00, //0x0000035a andl $16515072, %ecx + 0x81, 0xf9, 0x00, 0x00, 0xdc, 0x00, //0x00000360 cmpl $14417920, %ecx + 0x0f, 0x84, 0xac, 0x02, 0x00, 0x00, //0x00000366 je LBB0_77 + 0xf6, 0x45, 0xb8, 0x02, //0x0000036c testb $2, $-72(%rbp) + 0x0f, 0x84, 0x41, 0x05, 0x00, 0x00, //0x00000370 je LBB0_114 + 0x49, 0x83, 0xc6, 0xf9, //0x00000376 addq $-7, %r14 + 0x66, 0xc7, 0x00, 0xef, 0xbf, //0x0000037a movw $-16401, (%rax) + 0xc6, 0x40, 0x02, 0xbd, //0x0000037f movb $-67, $2(%rax) + 0x48, 0x83, 0xc0, 0x03, //0x00000383 addq $3, %rax + 0x49, 0x83, 0xc4, 0x07, //0x00000387 addq $7, %r12 + 0x41, 0x89, 0xdf, //0x0000038b movl %ebx, %r15d + 0x83, 0xfb, 0x7f, //0x0000038e cmpl $127, %ebx + 0x0f, 0x87, 0xae, 0xfe, 0xff, 0xff, //0x00000391 ja LBB0_25 + 0xe9, 0x44, 0x01, 0x00, 0x00, //0x00000397 jmp LBB0_53 + 0x90, 0x90, 0x90, 0x90, //0x0000039c .p2align 4, 0x90 + //0x000003a0 LBB0_40 + 0x41, 0x81, 0xff, 0x00, 0x08, 0x00, 0x00, //0x000003a0 cmpl $2048, %r15d + 0x0f, 0x82, 0xe1, 0x01, 0x00, 0x00, //0x000003a7 jb LBB0_68 + 0x44, 0x89, 0xf9, //0x000003ad movl %r15d, %ecx + 0x81, 0xe1, 0x00, 0xf8, 0xff, 0xff, //0x000003b0 andl $-2048, %ecx + 0x81, 0xf9, 0x00, 0xd8, 0x00, 0x00, //0x000003b6 cmpl $55296, %ecx + 0x0f, 0x85, 0x2e, 0x01, 0x00, 0x00, //0x000003bc jne LBB0_54 + 0x41, 0x81, 0xff, 0xff, 0xdb, 0x00, 0x00, //0x000003c2 cmpl $56319, %r15d + 0x0f, 0x87, 0xe4, 0x01, 0x00, 0x00, //0x000003c9 ja LBB0_69 + 0x49, 0x83, 0xfe, 0x06, //0x000003cf cmpq $6, %r14 + 0x0f, 0x8c, 0xda, 0x01, 0x00, 0x00, //0x000003d3 jl LBB0_69 + 0x43, 0x80, 0x7c, 0x21, 0x04, 0x5c, //0x000003d9 cmpb $92, $4(%r9,%r12) + 0x0f, 0x85, 0xce, 0x01, 0x00, 0x00, //0x000003df jne LBB0_69 + 0x43, 0x80, 0x7c, 0x21, 0x05, 0x75, //0x000003e5 cmpb $117, $5(%r9,%r12) + 0x0f, 0x85, 0xc2, 0x01, 0x00, 0x00, //0x000003eb jne LBB0_69 + 0x43, 0x8b, 0x74, 0x21, 0x06, //0x000003f1 movl $6(%r9,%r12), %esi + 0x89, 0xf1, //0x000003f6 movl %esi, %ecx + 0xf7, 0xd1, //0x000003f8 notl %ecx + 0x8d, 0x9e, 0xd0, 0xcf, 0xcf, 0xcf, //0x000003fa leal $-808464432(%rsi), %ebx + 0x81, 0xe1, 0x80, 0x80, 0x80, 0x80, //0x00000400 andl $-2139062144, %ecx + 0x85, 0xd9, //0x00000406 testl %ebx, %ecx + 0x0f, 0x85, 0x98, 0x03, 0x00, 0x00, //0x00000408 jne LBB0_98 + 0x8d, 0x9e, 0x19, 0x19, 0x19, 0x19, //0x0000040e leal $421075225(%rsi), %ebx + 0x09, 0xf3, //0x00000414 orl %esi, %ebx + 0xf7, 0xc3, 0x80, 0x80, 0x80, 0x80, //0x00000416 testl $-2139062144, %ebx + 0x0f, 0x85, 0x84, 0x03, 0x00, 0x00, //0x0000041c jne LBB0_98 + 0x89, 0xf3, //0x00000422 movl %esi, %ebx + 0x81, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, //0x00000424 andl $2139062143, %ebx + 0xc7, 0x45, 0xd4, 0xc0, 0xc0, 0xc0, 0xc0, //0x0000042a movl $-1061109568, $-44(%rbp) + 0x29, 0x5d, 0xd4, //0x00000431 subl %ebx, $-44(%rbp) + 0x48, 0x89, 0x75, 0xb0, //0x00000434 movq %rsi, $-80(%rbp) + 0x8d, 0xb3, 0x46, 0x46, 0x46, 0x46, //0x00000438 leal $1179010630(%rbx), %esi + 0x89, 0x75, 0xc4, //0x0000043e movl %esi, $-60(%rbp) + 0x21, 0x4d, 0xd4, //0x00000441 andl %ecx, $-44(%rbp) + 0x8b, 0x75, 0xc4, //0x00000444 movl $-60(%rbp), %esi + 0x85, 0x75, 0xd4, //0x00000447 testl %esi, $-44(%rbp) + 0x48, 0x8b, 0x75, 0xb0, //0x0000044a movq $-80(%rbp), %rsi + 0x0f, 0x85, 0x52, 0x03, 0x00, 0x00, //0x0000044e jne LBB0_98 + 0xc7, 0x45, 0xd4, 0xe0, 0xe0, 0xe0, 0xe0, //0x00000454 movl $-522133280, $-44(%rbp) + 0x29, 0x5d, 0xd4, //0x0000045b subl %ebx, $-44(%rbp) + 0x81, 0xc3, 0x39, 0x39, 0x39, 0x39, //0x0000045e addl $960051513, %ebx + 0x23, 0x4d, 0xd4, //0x00000464 andl $-44(%rbp), %ecx + 0x85, 0xd9, //0x00000467 testl %ebx, %ecx + 0x0f, 0x85, 0x37, 0x03, 0x00, 0x00, //0x00000469 jne LBB0_98 + 0x0f, 0xce, //0x0000046f bswapl %esi + 0x89, 0xf1, //0x00000471 movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x00000473 shrl $4, %ecx + 0xf7, 0xd1, //0x00000476 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00000478 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x0000047e leal (%rcx,%rcx,8), %ecx + 0x81, 0xe6, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000481 andl $252645135, %esi + 0x01, 0xce, //0x00000487 addl %ecx, %esi + 0x89, 0xf1, //0x00000489 movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x0000048b shrl $4, %ecx + 0x09, 0xf1, //0x0000048e orl %esi, %ecx + 0x89, 0xce, //0x00000490 movl %ecx, %esi + 0xc1, 0xee, 0x08, //0x00000492 shrl $8, %esi + 0x81, 0xe6, 0x00, 0xff, 0x00, 0x00, //0x00000495 andl $65280, %esi + 0x0f, 0xb6, 0xd9, //0x0000049b movzbl %cl, %ebx + 0x09, 0xf3, //0x0000049e orl %esi, %ebx + 0x81, 0xe1, 0x00, 0x00, 0xfc, 0x00, //0x000004a0 andl $16515072, %ecx + 0x81, 0xf9, 0x00, 0x00, 0xdc, 0x00, //0x000004a6 cmpl $14417920, %ecx + 0x0f, 0x84, 0x55, 0x01, 0x00, 0x00, //0x000004ac je LBB0_76 + 0xf6, 0x45, 0xb8, 0x02, //0x000004b2 testb $2, $-72(%rbp) + 0x0f, 0x84, 0xf1, 0x03, 0x00, 0x00, //0x000004b6 je LBB0_113 + 0x49, 0x83, 0xc6, 0xfa, //0x000004bc addq $-6, %r14 + 0x66, 0xc7, 0x00, 0xef, 0xbf, //0x000004c0 movw $-16401, (%rax) + 0xc6, 0x40, 0x02, 0xbd, //0x000004c5 movb $-67, $2(%rax) + 0x48, 0x83, 0xc0, 0x03, //0x000004c9 addq $3, %rax + 0x49, 0x83, 0xc4, 0x06, //0x000004cd addq $6, %r12 + 0x41, 0x89, 0xdf, //0x000004d1 movl %ebx, %r15d + 0x81, 0xfb, 0x80, 0x00, 0x00, 0x00, //0x000004d4 cmpl $128, %ebx + 0x0f, 0x83, 0xc0, 0xfe, 0xff, 0xff, //0x000004da jae LBB0_40 + //0x000004e0 LBB0_53 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x000004e0 leaq $4(%r9,%r12), %r9 + 0x41, 0x89, 0xdf, //0x000004e5 movl %ebx, %r15d + 0xe9, 0x96, 0x00, 0x00, 0x00, //0x000004e8 jmp LBB0_67 + 0x90, 0x90, 0x90, //0x000004ed .p2align 4, 0x90 + //0x000004f0 LBB0_54 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x000004f0 leaq $4(%r9,%r12), %r9 + 0x44, 0x89, 0xf9, //0x000004f5 movl %r15d, %ecx + 0xc1, 0xe9, 0x0c, //0x000004f8 shrl $12, %ecx + 0x80, 0xc9, 0xe0, //0x000004fb orb $-32, %cl + 0x88, 0x08, //0x000004fe movb %cl, (%rax) + 0x44, 0x89, 0xf9, //0x00000500 movl %r15d, %ecx + 0xc1, 0xe9, 0x06, //0x00000503 shrl $6, %ecx + 0x80, 0xe1, 0x3f, //0x00000506 andb $63, %cl + 0x80, 0xc9, 0x80, //0x00000509 orb $-128, %cl + 0x88, 0x48, 0x01, //0x0000050c movb %cl, $1(%rax) + 0x41, 0x80, 0xe7, 0x3f, //0x0000050f andb $63, %r15b + 0x41, 0x80, 0xcf, 0x80, //0x00000513 orb $-128, %r15b + 0x44, 0x88, 0x78, 0x02, //0x00000517 movb %r15b, $2(%rax) + //0x0000051b LBB0_55 + 0x48, 0x83, 0xc0, 0x03, //0x0000051b addq $3, %rax + //0x0000051f LBB0_56 + 0x4d, 0x89, 0xf5, //0x0000051f movq %r14, %r13 + //0x00000522 LBB0_57 + 0x4d, 0x85, 0xed, //0x00000522 testq %r13, %r13 + 0x0f, 0x85, 0x2c, 0xfb, 0xff, 0xff, //0x00000525 jne LBB0_2 + 0xe9, 0x63, 0x02, 0x00, 0x00, //0x0000052b jmp LBB0_96 + //0x00000530 LBB0_58 + 0x45, 0x85, 0xed, //0x00000530 testl %r13d, %r13d + 0x0f, 0x84, 0x2e, 0x02, 0x00, 0x00, //0x00000533 je LBB0_94 + 0x41, 0x80, 0x79, 0xff, 0x5c, //0x00000539 cmpb $92, $-1(%r9) + 0x0f, 0x85, 0x57, 0x02, 0x00, 0x00, //0x0000053e jne LBB0_97 + 0x41, 0x80, 0x39, 0x5c, //0x00000544 cmpb $92, (%r9) + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x00000548 jne LBB0_65 + 0x41, 0x83, 0xfd, 0x01, //0x0000054e cmpl $1, %r13d + 0x0f, 0x8e, 0x0f, 0x02, 0x00, 0x00, //0x00000552 jle LBB0_94 + 0x41, 0x8a, 0x49, 0x01, //0x00000558 movb $1(%r9), %cl + 0x80, 0xf9, 0x22, //0x0000055c cmpb $34, %cl + 0x0f, 0x84, 0x09, 0x00, 0x00, 0x00, //0x0000055f je LBB0_64 + 0x80, 0xf9, 0x5c, //0x00000565 cmpb $92, %cl + 0x0f, 0x85, 0x0c, 0x03, 0x00, 0x00, //0x00000568 jne LBB0_109 + //0x0000056e LBB0_64 + 0x49, 0xff, 0xc1, //0x0000056e incq %r9 + 0x49, 0xff, 0xcd, //0x00000571 decq %r13 + //0x00000574 LBB0_65 + 0x49, 0xff, 0xc1, //0x00000574 incq %r9 + 0x49, 0xff, 0xcd, //0x00000577 decq %r13 + 0xe9, 0xcc, 0xfb, 0xff, 0xff, //0x0000057a jmp LBB0_15 + //0x0000057f LBB0_66 + 0x49, 0x83, 0xc1, 0x04, //0x0000057f addq $4, %r9 + //0x00000583 LBB0_67 + 0x44, 0x88, 0x38, //0x00000583 movb %r15b, (%rax) + 0x48, 0xff, 0xc0, //0x00000586 incq %rax + 0xe9, 0x91, 0xff, 0xff, 0xff, //0x00000589 jmp LBB0_56 + //0x0000058e LBB0_68 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x0000058e leaq $4(%r9,%r12), %r9 + 0x44, 0x89, 0xf9, //0x00000593 movl %r15d, %ecx + 0xc1, 0xe9, 0x06, //0x00000596 shrl $6, %ecx + 0x80, 0xc9, 0xc0, //0x00000599 orb $-64, %cl + 0x88, 0x08, //0x0000059c movb %cl, (%rax) + 0x41, 0x80, 0xe7, 0x3f, //0x0000059e andb $63, %r15b + 0x41, 0x80, 0xcf, 0x80, //0x000005a2 orb $-128, %r15b + 0x44, 0x88, 0x78, 0x01, //0x000005a6 movb %r15b, $1(%rax) + 0x48, 0x83, 0xc0, 0x02, //0x000005aa addq $2, %rax + 0xe9, 0x6c, 0xff, 0xff, 0xff, //0x000005ae jmp LBB0_56 + //0x000005b3 LBB0_69 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x000005b3 leaq $4(%r9,%r12), %r9 + 0xe9, 0x0f, 0x00, 0x00, 0x00, //0x000005b8 jmp LBB0_71 + //0x000005bd LBB0_70 + 0x4f, 0x8d, 0x4c, 0x21, 0x05, //0x000005bd leaq $5(%r9,%r12), %r9 + 0x4d, 0x29, 0xe5, //0x000005c2 subq %r12, %r13 + 0x49, 0x83, 0xc5, 0xfb, //0x000005c5 addq $-5, %r13 + 0x4d, 0x89, 0xee, //0x000005c9 movq %r13, %r14 + //0x000005cc LBB0_71 + 0xf6, 0x45, 0xb8, 0x02, //0x000005cc testb $2, $-72(%rbp) + 0x0f, 0x85, 0x23, 0x00, 0x00, 0x00, //0x000005d0 jne LBB0_75 + 0xe9, 0xfb, 0x02, 0x00, 0x00, //0x000005d6 jmp LBB0_116 + //0x000005db LBB0_72 + 0xf6, 0x45, 0xb8, 0x02, //0x000005db testb $2, $-72(%rbp) + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x000005df jne LBB0_74 + 0xe9, 0x7d, 0x01, 0x00, 0x00, //0x000005e5 jmp LBB0_94 + //0x000005ea LBB0_73 + 0xf6, 0x45, 0xb8, 0x02, //0x000005ea testb $2, $-72(%rbp) + 0x0f, 0x84, 0xef, 0x02, 0x00, 0x00, //0x000005ee je LBB0_117 + //0x000005f4 LBB0_74 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x000005f4 leaq $4(%r9,%r12), %r9 + //0x000005f9 LBB0_75 + 0x66, 0xc7, 0x00, 0xef, 0xbf, //0x000005f9 movw $-16401, (%rax) + 0xc6, 0x40, 0x02, 0xbd, //0x000005fe movb $-67, $2(%rax) + 0xe9, 0x14, 0xff, 0xff, 0xff, //0x00000602 jmp LBB0_55 + //0x00000607 LBB0_76 + 0x4f, 0x8d, 0x4c, 0x21, 0x0a, //0x00000607 leaq $10(%r9,%r12), %r9 + 0x4d, 0x29, 0xe5, //0x0000060c subq %r12, %r13 + 0x49, 0x83, 0xc5, 0xf6, //0x0000060f addq $-10, %r13 + 0xe9, 0x0c, 0x00, 0x00, 0x00, //0x00000613 jmp LBB0_78 + //0x00000618 LBB0_77 + 0x4f, 0x8d, 0x4c, 0x21, 0x0b, //0x00000618 leaq $11(%r9,%r12), %r9 + 0x4d, 0x29, 0xe5, //0x0000061d subq %r12, %r13 + 0x49, 0x83, 0xc5, 0xf5, //0x00000620 addq $-11, %r13 + //0x00000624 LBB0_78 + 0x41, 0xc1, 0xe7, 0x0a, //0x00000624 shll $10, %r15d + 0x41, 0x8d, 0x8c, 0x1f, 0x00, 0x24, 0xa0, 0xfc, //0x00000628 leal $-56613888(%r15,%rbx), %ecx + 0x81, 0xf9, 0x00, 0x00, 0x11, 0x00, //0x00000630 cmpl $1114112, %ecx + 0x0f, 0x82, 0x1c, 0x00, 0x00, 0x00, //0x00000636 jb LBB0_81 + 0xf6, 0x45, 0xb8, 0x02, //0x0000063c testb $2, $-72(%rbp) + 0x0f, 0x84, 0x4d, 0x02, 0x00, 0x00, //0x00000640 je LBB0_111 + 0x66, 0xc7, 0x00, 0xef, 0xbf, //0x00000646 movw $-16401, (%rax) + 0xc6, 0x40, 0x02, 0xbd, //0x0000064b movb $-67, $2(%rax) + 0x48, 0x83, 0xc0, 0x03, //0x0000064f addq $3, %rax + 0xe9, 0xca, 0xfe, 0xff, 0xff, //0x00000653 jmp LBB0_57 + //0x00000658 LBB0_81 + 0x89, 0xce, //0x00000658 movl %ecx, %esi + 0xc1, 0xee, 0x12, //0x0000065a shrl $18, %esi + 0x40, 0x80, 0xce, 0xf0, //0x0000065d orb $-16, %sil + 0x40, 0x88, 0x30, //0x00000661 movb %sil, (%rax) + 0x89, 0xce, //0x00000664 movl %ecx, %esi + 0xc1, 0xee, 0x0c, //0x00000666 shrl $12, %esi + 0x40, 0x80, 0xe6, 0x3f, //0x00000669 andb $63, %sil + 0x40, 0x80, 0xce, 0x80, //0x0000066d orb $-128, %sil + 0x40, 0x88, 0x70, 0x01, //0x00000671 movb %sil, $1(%rax) + 0x89, 0xce, //0x00000675 movl %ecx, %esi + 0xc1, 0xee, 0x06, //0x00000677 shrl $6, %esi + 0x40, 0x80, 0xe6, 0x3f, //0x0000067a andb $63, %sil + 0x40, 0x80, 0xce, 0x80, //0x0000067e orb $-128, %sil + 0x40, 0x88, 0x70, 0x02, //0x00000682 movb %sil, $2(%rax) + 0x80, 0xe1, 0x3f, //0x00000686 andb $63, %cl + 0x80, 0xc9, 0x80, //0x00000689 orb $-128, %cl + 0x88, 0x48, 0x03, //0x0000068c movb %cl, $3(%rax) + 0x48, 0x83, 0xc0, 0x04, //0x0000068f addq $4, %rax + 0xe9, 0x8a, 0xfe, 0xff, 0xff, //0x00000693 jmp LBB0_57 + //0x00000698 LBB0_82 + 0x45, 0x31, 0xed, //0x00000698 xorl %r13d, %r13d + 0x48, 0x89, 0xd0, //0x0000069b movq %rdx, %rax + //0x0000069e LBB0_83 + 0x4c, 0x01, 0xe8, //0x0000069e addq %r13, %rax + 0x48, 0x29, 0xd0, //0x000006a1 subq %rdx, %rax + //0x000006a4 LBB0_84 + 0x48, 0x83, 0xc4, 0x28, //0x000006a4 addq $40, %rsp + 0x5b, //0x000006a8 popq %rbx + 0x41, 0x5c, //0x000006a9 popq %r12 + 0x41, 0x5d, //0x000006ab popq %r13 + 0x41, 0x5e, //0x000006ad popq %r14 + 0x41, 0x5f, //0x000006af popq %r15 + 0x5d, //0x000006b1 popq %rbp + 0xc3, //0x000006b2 retq + //0x000006b3 LBB0_85 + 0x4c, 0x89, 0xca, //0x000006b3 movq %r9, %rdx + 0x48, 0x29, 0xfa, //0x000006b6 subq %rdi, %rdx + 0x48, 0x8b, 0x7d, 0xc8, //0x000006b9 movq $-56(%rbp), %rdi + 0x48, 0x89, 0x17, //0x000006bd movq %rdx, (%rdi) + 0x41, 0x8a, 0x09, //0x000006c0 movb (%r9), %cl + 0x8d, 0x71, 0xd0, //0x000006c3 leal $-48(%rcx), %esi + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000006c6 movq $-2, %rax + 0x40, 0x80, 0xfe, 0x0a, //0x000006cd cmpb $10, %sil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x000006d1 jb LBB0_87 + 0x80, 0xe1, 0xdf, //0x000006d7 andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x000006da addb $-65, %cl + 0x80, 0xf9, 0x05, //0x000006dd cmpb $5, %cl + 0x0f, 0x87, 0xbe, 0xff, 0xff, 0xff, //0x000006e0 ja LBB0_84 + //0x000006e6 LBB0_87 + 0x48, 0x8d, 0x4a, 0x01, //0x000006e6 leaq $1(%rdx), %rcx + 0x48, 0x89, 0x0f, //0x000006ea movq %rcx, (%rdi) + 0x41, 0x8a, 0x49, 0x01, //0x000006ed movb $1(%r9), %cl + 0x8d, 0x71, 0xd0, //0x000006f1 leal $-48(%rcx), %esi + 0x40, 0x80, 0xfe, 0x0a, //0x000006f4 cmpb $10, %sil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x000006f8 jb LBB0_89 + 0x80, 0xe1, 0xdf, //0x000006fe andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x00000701 addb $-65, %cl + 0x80, 0xf9, 0x05, //0x00000704 cmpb $5, %cl + 0x0f, 0x87, 0x97, 0xff, 0xff, 0xff, //0x00000707 ja LBB0_84 + //0x0000070d LBB0_89 + 0x48, 0x8d, 0x4a, 0x02, //0x0000070d leaq $2(%rdx), %rcx + 0x48, 0x89, 0x0f, //0x00000711 movq %rcx, (%rdi) + 0x41, 0x8a, 0x49, 0x02, //0x00000714 movb $2(%r9), %cl + 0x8d, 0x71, 0xd0, //0x00000718 leal $-48(%rcx), %esi + 0x40, 0x80, 0xfe, 0x0a, //0x0000071b cmpb $10, %sil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x0000071f jb LBB0_91 + 0x80, 0xe1, 0xdf, //0x00000725 andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x00000728 addb $-65, %cl + 0x80, 0xf9, 0x05, //0x0000072b cmpb $5, %cl + 0x0f, 0x87, 0x70, 0xff, 0xff, 0xff, //0x0000072e ja LBB0_84 + //0x00000734 LBB0_91 + 0x48, 0x8d, 0x4a, 0x03, //0x00000734 leaq $3(%rdx), %rcx + 0x48, 0x89, 0x0f, //0x00000738 movq %rcx, (%rdi) + 0x41, 0x8a, 0x49, 0x03, //0x0000073b movb $3(%r9), %cl + 0x8d, 0x71, 0xd0, //0x0000073f leal $-48(%rcx), %esi + 0x40, 0x80, 0xfe, 0x0a, //0x00000742 cmpb $10, %sil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x00000746 jb LBB0_93 + 0x80, 0xe1, 0xdf, //0x0000074c andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x0000074f addb $-65, %cl + 0x80, 0xf9, 0x05, //0x00000752 cmpb $5, %cl + 0x0f, 0x87, 0x49, 0xff, 0xff, 0xff, //0x00000755 ja LBB0_84 + //0x0000075b LBB0_93 + 0x48, 0x83, 0xc2, 0x04, //0x0000075b addq $4, %rdx + 0x48, 0x89, 0x17, //0x0000075f movq %rdx, (%rdi) + 0xe9, 0x3d, 0xff, 0xff, 0xff, //0x00000762 jmp LBB0_84 + //0x00000767 LBB0_94 + 0x48, 0x8b, 0x45, 0xc8, //0x00000767 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x18, //0x0000076b movq %r11, (%rax) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000076e movq $-1, %rax + 0xe9, 0x2a, 0xff, 0xff, 0xff, //0x00000775 jmp LBB0_84 + //0x0000077a LBB0_95 + 0x48, 0xf7, 0xd7, //0x0000077a notq %rdi + 0x49, 0x01, 0xf9, //0x0000077d addq %rdi, %r9 + 0x48, 0x8b, 0x45, 0xc8, //0x00000780 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x00000784 movq %r9, (%rax) + 0x48, 0xc7, 0xc0, 0xfd, 0xff, 0xff, 0xff, //0x00000787 movq $-3, %rax + 0xe9, 0x11, 0xff, 0xff, 0xff, //0x0000078e jmp LBB0_84 + //0x00000793 LBB0_96 + 0x45, 0x31, 0xed, //0x00000793 xorl %r13d, %r13d + 0xe9, 0x03, 0xff, 0xff, 0xff, //0x00000796 jmp LBB0_83 + //0x0000079b LBB0_97 + 0x48, 0xf7, 0xd7, //0x0000079b notq %rdi + 0x49, 0x01, 0xf9, //0x0000079e addq %rdi, %r9 + 0xe9, 0xda, 0x00, 0x00, 0x00, //0x000007a1 jmp LBB0_110 + //0x000007a6 LBB0_98 + 0x4b, 0x8d, 0x74, 0x21, 0x04, //0x000007a6 leaq $4(%r9,%r12), %rsi + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x000007ab jmp LBB0_100 + //0x000007b0 LBB0_99 + 0x4b, 0x8d, 0x74, 0x21, 0x05, //0x000007b0 leaq $5(%r9,%r12), %rsi + //0x000007b5 LBB0_100 + 0x48, 0x89, 0xf2, //0x000007b5 movq %rsi, %rdx + 0x48, 0x29, 0xfa, //0x000007b8 subq %rdi, %rdx + 0x48, 0x83, 0xc2, 0x02, //0x000007bb addq $2, %rdx + 0x48, 0x8b, 0x45, 0xc8, //0x000007bf movq $-56(%rbp), %rax + 0x48, 0x89, 0x10, //0x000007c3 movq %rdx, (%rax) + 0x8a, 0x4e, 0x02, //0x000007c6 movb $2(%rsi), %cl + 0x8d, 0x79, 0xd0, //0x000007c9 leal $-48(%rcx), %edi + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000007cc movq $-2, %rax + 0x40, 0x80, 0xff, 0x0a, //0x000007d3 cmpb $10, %dil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x000007d7 jb LBB0_102 + 0x80, 0xe1, 0xdf, //0x000007dd andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x000007e0 addb $-65, %cl + 0x80, 0xf9, 0x05, //0x000007e3 cmpb $5, %cl + 0x0f, 0x87, 0xb8, 0xfe, 0xff, 0xff, //0x000007e6 ja LBB0_84 + //0x000007ec LBB0_102 + 0x48, 0x8d, 0x4a, 0x01, //0x000007ec leaq $1(%rdx), %rcx + 0x48, 0x8b, 0x7d, 0xc8, //0x000007f0 movq $-56(%rbp), %rdi + 0x48, 0x89, 0x0f, //0x000007f4 movq %rcx, (%rdi) + 0x8a, 0x4e, 0x03, //0x000007f7 movb $3(%rsi), %cl + 0x8d, 0x79, 0xd0, //0x000007fa leal $-48(%rcx), %edi + 0x40, 0x80, 0xff, 0x0a, //0x000007fd cmpb $10, %dil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x00000801 jb LBB0_104 + 0x80, 0xe1, 0xdf, //0x00000807 andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x0000080a addb $-65, %cl + 0x80, 0xf9, 0x05, //0x0000080d cmpb $5, %cl + 0x0f, 0x87, 0x8e, 0xfe, 0xff, 0xff, //0x00000810 ja LBB0_84 + //0x00000816 LBB0_104 + 0x48, 0x8d, 0x4a, 0x02, //0x00000816 leaq $2(%rdx), %rcx + 0x48, 0x8b, 0x7d, 0xc8, //0x0000081a movq $-56(%rbp), %rdi + 0x48, 0x89, 0x0f, //0x0000081e movq %rcx, (%rdi) + 0x8a, 0x4e, 0x04, //0x00000821 movb $4(%rsi), %cl + 0x8d, 0x79, 0xd0, //0x00000824 leal $-48(%rcx), %edi + 0x40, 0x80, 0xff, 0x0a, //0x00000827 cmpb $10, %dil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x0000082b jb LBB0_106 + 0x80, 0xe1, 0xdf, //0x00000831 andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x00000834 addb $-65, %cl + 0x80, 0xf9, 0x05, //0x00000837 cmpb $5, %cl + 0x0f, 0x87, 0x64, 0xfe, 0xff, 0xff, //0x0000083a ja LBB0_84 + //0x00000840 LBB0_106 + 0x48, 0x8d, 0x4a, 0x03, //0x00000840 leaq $3(%rdx), %rcx + 0x48, 0x8b, 0x7d, 0xc8, //0x00000844 movq $-56(%rbp), %rdi + 0x48, 0x89, 0x0f, //0x00000848 movq %rcx, (%rdi) + 0x8a, 0x4e, 0x05, //0x0000084b movb $5(%rsi), %cl + 0x8d, 0x71, 0xd0, //0x0000084e leal $-48(%rcx), %esi + 0x40, 0x80, 0xfe, 0x0a, //0x00000851 cmpb $10, %sil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x00000855 jb LBB0_108 + 0x80, 0xe1, 0xdf, //0x0000085b andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x0000085e addb $-65, %cl + 0x80, 0xf9, 0x05, //0x00000861 cmpb $5, %cl + 0x0f, 0x87, 0x3a, 0xfe, 0xff, 0xff, //0x00000864 ja LBB0_84 + //0x0000086a LBB0_108 + 0x48, 0x83, 0xc2, 0x04, //0x0000086a addq $4, %rdx + 0x48, 0x8b, 0x4d, 0xc8, //0x0000086e movq $-56(%rbp), %rcx + 0x48, 0x89, 0x11, //0x00000872 movq %rdx, (%rcx) + 0xe9, 0x2a, 0xfe, 0xff, 0xff, //0x00000875 jmp LBB0_84 + //0x0000087a LBB0_109 + 0x49, 0x29, 0xf9, //0x0000087a subq %rdi, %r9 + 0x49, 0xff, 0xc1, //0x0000087d incq %r9 + //0x00000880 LBB0_110 + 0x48, 0x8b, 0x45, 0xc8, //0x00000880 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x00000884 movq %r9, (%rax) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000887 movq $-2, %rax + 0xe9, 0x11, 0xfe, 0xff, 0xff, //0x0000088e jmp LBB0_84 + //0x00000893 LBB0_111 + 0x49, 0x29, 0xf9, //0x00000893 subq %rdi, %r9 + 0x49, 0x83, 0xc1, 0xfc, //0x00000896 addq $-4, %r9 + //0x0000089a LBB0_112 + 0x48, 0x8b, 0x45, 0xc8, //0x0000089a movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x0000089e movq %r9, (%rax) + 0x48, 0xc7, 0xc0, 0xfc, 0xff, 0xff, 0xff, //0x000008a1 movq $-4, %rax + 0xe9, 0xf7, 0xfd, 0xff, 0xff, //0x000008a8 jmp LBB0_84 + //0x000008ad LBB0_113 + 0x4b, 0x8d, 0x44, 0x21, 0x0a, //0x000008ad leaq $10(%r9,%r12), %rax + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x000008b2 jmp LBB0_115 + //0x000008b7 LBB0_114 + 0x4b, 0x8d, 0x44, 0x21, 0x0b, //0x000008b7 leaq $11(%r9,%r12), %rax + //0x000008bc LBB0_115 + 0x48, 0x29, 0xf8, //0x000008bc subq %rdi, %rax + 0x48, 0x83, 0xc0, 0xfc, //0x000008bf addq $-4, %rax + 0x48, 0x8b, 0x4d, 0xc8, //0x000008c3 movq $-56(%rbp), %rcx + 0x48, 0x89, 0x01, //0x000008c7 movq %rax, (%rcx) + 0x48, 0xc7, 0xc0, 0xfc, 0xff, 0xff, 0xff, //0x000008ca movq $-4, %rax + 0xe9, 0xce, 0xfd, 0xff, 0xff, //0x000008d1 jmp LBB0_84 + //0x000008d6 LBB0_116 + 0x49, 0x8d, 0x44, 0x3a, 0x04, //0x000008d6 leaq $4(%r10,%rdi), %rax + 0x49, 0x29, 0xc1, //0x000008db subq %rax, %r9 + 0xe9, 0xb7, 0xff, 0xff, 0xff, //0x000008de jmp LBB0_112 + //0x000008e3 LBB0_117 + 0x4d, 0x01, 0xe1, //0x000008e3 addq %r12, %r9 + 0x49, 0x29, 0xf9, //0x000008e6 subq %rdi, %r9 + 0xe9, 0xac, 0xff, 0xff, 0xff, //0x000008e9 jmp LBB0_112 + 0x00, 0x00, //0x000008ee .p2align 4, 0x00 + //0x000008f0 __UnquoteTab + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000900 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, //0x00000910 QUAD $0x0000000000220000; QUAD $0x2f00000000000000 // .ascii 16, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000920 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000930 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, //0x00000940 QUAD $0x0000000000000000; QUAD $0x0000005c00000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00' + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, //0x00000950 QUAD $0x000c000000080000; QUAD $0x000a000000000000 // .ascii 16, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00' + 0x00, 0x00, 0x0d, 0x00, 0x09, 0xff, //0x00000960 LONG $0x000d0000; WORD $0xff09 // .ascii 6, '\x00\x00\r\x00\t\xff' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000966 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000976 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000986 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000996 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009a6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009b6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009c6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009d6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009e6 QUAD $0x0000000000000000; WORD $0x0000 // .space 10, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/validate_one.go b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_one.go new file mode 100644 index 0000000..3c91896 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_one.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_validate_one func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_validate_one uintptr + +//go:nosplit +func validate_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_validate_one(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/validate_one_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_one_subr.go new file mode 100644 index 0000000..869cedd --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_one_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__validate_one = 144 +) + +const ( + _stack__validate_one = 152 +) + +const ( + _size__validate_one = 9524 +) + +var ( + _pcsp__validate_one = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {8962, 152}, + {8966, 48}, + {8967, 40}, + {8969, 32}, + {8971, 24}, + {8973, 16}, + {8975, 8}, + {8976, 0}, + {9524, 152}, + } +) + +var _cfunc_validate_one = []loader.CFunc{ + {"_validate_one_entry", 0, _entry__validate_one, 0, nil}, + {"_validate_one", _entry__validate_one, _size__validate_one, _stack__validate_one, _pcsp__validate_one}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/validate_one_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_one_text_amd64.go new file mode 100644 index 0000000..20fcf6f --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_one_text_amd64.go @@ -0,0 +1,2851 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_validate_one = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, // QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000010 LCPI0_1 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000010 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000020 LCPI0_2 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000020 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000030 LCPI0_3 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000030 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000040 LCPI0_4 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000040 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000050 LCPI0_5 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000050 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000060 LCPI0_6 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000060 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000070 LCPI0_7 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000070 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000080 LCPI0_8 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000080 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000090 .p2align 4, 0x90 + //0x00000090 _validate_one + 0x55, //0x00000090 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000091 movq %rsp, %rbp + 0x41, 0x57, //0x00000094 pushq %r15 + 0x41, 0x56, //0x00000096 pushq %r14 + 0x41, 0x55, //0x00000098 pushq %r13 + 0x41, 0x54, //0x0000009a pushq %r12 + 0x53, //0x0000009c pushq %rbx + 0x48, 0x83, 0xec, 0x68, //0x0000009d subq $104, %rsp + 0x48, 0x89, 0x4d, 0x80, //0x000000a1 movq %rcx, $-128(%rbp) + 0x49, 0x89, 0xd1, //0x000000a5 movq %rdx, %r9 + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x000000a8 movl $1, %r10d + 0xc4, 0xc1, 0xf9, 0x6e, 0xc2, //0x000000ae vmovq %r10, %xmm0 + 0xc5, 0xfa, 0x7f, 0x02, //0x000000b3 vmovdqu %xmm0, (%rdx) + 0x48, 0x89, 0x7d, 0x90, //0x000000b7 movq %rdi, $-112(%rbp) + 0x4c, 0x8b, 0x27, //0x000000bb movq (%rdi), %r12 + 0x4c, 0x89, 0xe0, //0x000000be movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x000000c1 notq %rax + 0x48, 0x89, 0x45, 0xa0, //0x000000c4 movq %rax, $-96(%rbp) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000000c8 movl $1, %eax + 0x4c, 0x29, 0xe0, //0x000000cd subq %r12, %rax + 0x48, 0x89, 0x45, 0x98, //0x000000d0 movq %rax, $-104(%rbp) + 0x49, 0x8d, 0x44, 0x24, 0x40, //0x000000d4 leaq $64(%r12), %rax + 0x48, 0x89, 0x45, 0x88, //0x000000d9 movq %rax, $-120(%rbp) + 0x4c, 0x8b, 0x1e, //0x000000dd movq (%rsi), %r11 + 0x49, 0x8d, 0x44, 0x24, 0x05, //0x000000e0 leaq $5(%r12), %rax + 0x48, 0x89, 0x85, 0x70, 0xff, 0xff, 0xff, //0x000000e5 movq %rax, $-144(%rbp) + 0x48, 0xc7, 0x85, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x000000ec movq $-1, $-136(%rbp) + 0xc5, 0xfa, 0x6f, 0x05, 0x01, 0xff, 0xff, 0xff, //0x000000f7 vmovdqu $-255(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0x09, 0xff, 0xff, 0xff, //0x000000ff vmovdqu $-247(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x3d, 0x11, 0xff, 0xff, 0xff, //0x00000107 vmovdqu $-239(%rip), %xmm15 /* LCPI0_2+0(%rip) */ + 0xc5, 0xe1, 0x76, 0xdb, //0x0000010f vpcmpeqd %xmm3, %xmm3, %xmm3 + 0xc5, 0x7a, 0x6f, 0x05, 0x15, 0xff, 0xff, 0xff, //0x00000113 vmovdqu $-235(%rip), %xmm8 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0x1d, 0xff, 0xff, 0xff, //0x0000011b vmovdqu $-227(%rip), %xmm9 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0x25, 0xff, 0xff, 0xff, //0x00000123 vmovdqu $-219(%rip), %xmm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x1d, 0x2d, 0xff, 0xff, 0xff, //0x0000012b vmovdqu $-211(%rip), %xmm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x25, 0xe5, 0xfe, 0xff, 0xff, //0x00000133 vmovdqu $-283(%rip), %xmm12 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x2d, 0x2d, 0xff, 0xff, 0xff, //0x0000013b vmovdqu $-211(%rip), %xmm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x35, 0x35, 0xff, 0xff, 0xff, //0x00000143 vmovdqu $-203(%rip), %xmm14 /* LCPI0_8+0(%rip) */ + 0x48, 0x89, 0x75, 0xc8, //0x0000014b movq %rsi, $-56(%rbp) + 0x4c, 0x89, 0x65, 0xd0, //0x0000014f movq %r12, $-48(%rbp) + 0x48, 0x89, 0x55, 0xc0, //0x00000153 movq %rdx, $-64(%rbp) + 0xe9, 0x5a, 0x00, 0x00, 0x00, //0x00000157 jmp LBB0_4 + //0x0000015c LBB0_257 + 0x48, 0x85, 0xc0, //0x0000015c testq %rax, %rax + 0x49, 0x8d, 0x45, 0xff, //0x0000015f leaq $-1(%r13), %rax + 0x49, 0xf7, 0xd5, //0x00000163 notq %r13 + 0x4c, 0x0f, 0x48, 0xe9, //0x00000166 cmovsq %rcx, %r13 + 0x49, 0x39, 0xc3, //0x0000016a cmpq %rax, %r11 + 0x49, 0x89, 0xcb, //0x0000016d movq %rcx, %r11 + 0x4d, 0x0f, 0x44, 0xdd, //0x00000170 cmoveq %r13, %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000174 movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xdb, //0x00000178 testq %r11, %r11 + 0x0f, 0x88, 0xfe, 0x21, 0x00, 0x00, //0x0000017b js LBB0_419 + //0x00000181 LBB0_258 + 0x4d, 0x01, 0xfb, //0x00000181 addq %r15, %r11 + //0x00000184 LBB0_1 + 0x4c, 0x89, 0x1e, //0x00000184 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000187 movq %r15, %rax + 0x4d, 0x85, 0xff, //0x0000018a testq %r15, %r15 + 0x0f, 0x88, 0xff, 0x21, 0x00, 0x00, //0x0000018d js LBB0_423 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000193 .p2align 4, 0x90 + //0x000001a0 LBB0_2 + 0x49, 0x8b, 0x11, //0x000001a0 movq (%r9), %rdx + 0x49, 0x89, 0xd2, //0x000001a3 movq %rdx, %r10 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x000001a6 movq $-136(%rbp), %rax + 0x48, 0x85, 0xd2, //0x000001ad testq %rdx, %rdx + 0x0f, 0x84, 0xdc, 0x21, 0x00, 0x00, //0x000001b0 je LBB0_423 + //0x000001b6 LBB0_4 + 0x48, 0x8b, 0x45, 0x90, //0x000001b6 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x000001ba movq $8(%rax), %rax + 0x4c, 0x89, 0xdb, //0x000001be movq %r11, %rbx + 0x48, 0x29, 0xc3, //0x000001c1 subq %rax, %rbx + 0x0f, 0x83, 0x36, 0x00, 0x00, 0x00, //0x000001c4 jae LBB0_9 + 0x43, 0x8a, 0x14, 0x1c, //0x000001ca movb (%r12,%r11), %dl + 0x80, 0xfa, 0x0d, //0x000001ce cmpb $13, %dl + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000001d1 je LBB0_9 + 0x80, 0xfa, 0x20, //0x000001d7 cmpb $32, %dl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x000001da je LBB0_9 + 0x80, 0xc2, 0xf7, //0x000001e0 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000001e3 cmpb $1, %dl + 0x0f, 0x86, 0x14, 0x00, 0x00, 0x00, //0x000001e6 jbe LBB0_9 + 0x4d, 0x89, 0xdf, //0x000001ec movq %r11, %r15 + 0xe9, 0x39, 0x01, 0x00, 0x00, //0x000001ef jmp LBB0_30 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001f4 .p2align 4, 0x90 + //0x00000200 LBB0_9 + 0x4d, 0x8d, 0x7b, 0x01, //0x00000200 leaq $1(%r11), %r15 + 0x49, 0x39, 0xc7, //0x00000204 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000207 jae LBB0_13 + 0x43, 0x8a, 0x14, 0x3c, //0x0000020d movb (%r12,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000211 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000214 je LBB0_13 + 0x80, 0xfa, 0x20, //0x0000021a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000021d je LBB0_13 + 0x80, 0xc2, 0xf7, //0x00000223 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000226 cmpb $1, %dl + 0x0f, 0x87, 0xfe, 0x00, 0x00, 0x00, //0x00000229 ja LBB0_30 + 0x90, //0x0000022f .p2align 4, 0x90 + //0x00000230 LBB0_13 + 0x4d, 0x8d, 0x7b, 0x02, //0x00000230 leaq $2(%r11), %r15 + 0x49, 0x39, 0xc7, //0x00000234 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000237 jae LBB0_17 + 0x43, 0x8a, 0x14, 0x3c, //0x0000023d movb (%r12,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000241 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000244 je LBB0_17 + 0x80, 0xfa, 0x20, //0x0000024a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000024d je LBB0_17 + 0x80, 0xc2, 0xf7, //0x00000253 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000256 cmpb $1, %dl + 0x0f, 0x87, 0xce, 0x00, 0x00, 0x00, //0x00000259 ja LBB0_30 + 0x90, //0x0000025f .p2align 4, 0x90 + //0x00000260 LBB0_17 + 0x4d, 0x8d, 0x7b, 0x03, //0x00000260 leaq $3(%r11), %r15 + 0x49, 0x39, 0xc7, //0x00000264 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000267 jae LBB0_21 + 0x43, 0x8a, 0x14, 0x3c, //0x0000026d movb (%r12,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000271 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000274 je LBB0_21 + 0x80, 0xfa, 0x20, //0x0000027a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000027d je LBB0_21 + 0x80, 0xc2, 0xf7, //0x00000283 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000286 cmpb $1, %dl + 0x0f, 0x87, 0x9e, 0x00, 0x00, 0x00, //0x00000289 ja LBB0_30 + 0x90, //0x0000028f .p2align 4, 0x90 + //0x00000290 LBB0_21 + 0x49, 0x8d, 0x53, 0x04, //0x00000290 leaq $4(%r11), %rdx + 0x48, 0x39, 0xd0, //0x00000294 cmpq %rdx, %rax + 0x0f, 0x86, 0xa1, 0x20, 0x00, 0x00, //0x00000297 jbe LBB0_413 + 0x48, 0x39, 0xd0, //0x0000029d cmpq %rdx, %rax + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x000002a0 je LBB0_27 + 0x49, 0x8d, 0x14, 0x04, //0x000002a6 leaq (%r12,%rax), %rdx + 0x48, 0x83, 0xc3, 0x04, //0x000002aa addq $4, %rbx + 0x4c, 0x03, 0x9d, 0x70, 0xff, 0xff, 0xff, //0x000002ae addq $-144(%rbp), %r11 + 0x4d, 0x89, 0xdf, //0x000002b5 movq %r11, %r15 + 0x48, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000002b8 movabsq $4294977024, %rcx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002c2 .p2align 4, 0x90 + //0x000002d0 LBB0_24 + 0x41, 0x0f, 0xbe, 0x7f, 0xff, //0x000002d0 movsbl $-1(%r15), %edi + 0x83, 0xff, 0x20, //0x000002d5 cmpl $32, %edi + 0x0f, 0x87, 0x42, 0x00, 0x00, 0x00, //0x000002d8 ja LBB0_29 + 0x48, 0x0f, 0xa3, 0xf9, //0x000002de btq %rdi, %rcx + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x000002e2 jae LBB0_29 + 0x49, 0xff, 0xc7, //0x000002e8 incq %r15 + 0x48, 0xff, 0xc3, //0x000002eb incq %rbx + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000002ee jne LBB0_24 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x000002f4 jmp LBB0_28 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002f9 .p2align 4, 0x90 + //0x00000300 LBB0_27 + 0x4c, 0x01, 0xe2, //0x00000300 addq %r12, %rdx + //0x00000303 LBB0_28 + 0x4c, 0x29, 0xe2, //0x00000303 subq %r12, %rdx + 0x49, 0x89, 0xd7, //0x00000306 movq %rdx, %r15 + 0x49, 0x39, 0xc7, //0x00000309 cmpq %rax, %r15 + 0x0f, 0x82, 0x1b, 0x00, 0x00, 0x00, //0x0000030c jb LBB0_30 + 0xe9, 0x2a, 0x20, 0x00, 0x00, //0x00000312 jmp LBB0_414 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000317 .p2align 4, 0x90 + //0x00000320 LBB0_29 + 0x4c, 0x03, 0x7d, 0xa0, //0x00000320 addq $-96(%rbp), %r15 + 0x49, 0x39, 0xc7, //0x00000324 cmpq %rax, %r15 + 0x0f, 0x83, 0x14, 0x20, 0x00, 0x00, //0x00000327 jae LBB0_414 + //0x0000032d LBB0_30 + 0x4d, 0x8d, 0x5f, 0x01, //0x0000032d leaq $1(%r15), %r11 + 0x4c, 0x89, 0x1e, //0x00000331 movq %r11, (%rsi) + 0x43, 0x0f, 0xbe, 0x1c, 0x3c, //0x00000334 movsbl (%r12,%r15), %ebx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000339 movq $-1, %rax + 0x85, 0xdb, //0x00000340 testl %ebx, %ebx + 0x0f, 0x84, 0x4a, 0x20, 0x00, 0x00, //0x00000342 je LBB0_423 + 0x4d, 0x89, 0xf8, //0x00000348 movq %r15, %r8 + 0x49, 0xf7, 0xd0, //0x0000034b notq %r8 + 0x49, 0x8d, 0x52, 0xff, //0x0000034e leaq $-1(%r10), %rdx + 0x43, 0x8b, 0x3c, 0xd1, //0x00000352 movl (%r9,%r10,8), %edi + 0x48, 0x8b, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x00000356 movq $-136(%rbp), %rcx + 0x48, 0x83, 0xf9, 0xff, //0x0000035d cmpq $-1, %rcx + 0x49, 0x0f, 0x44, 0xcf, //0x00000361 cmoveq %r15, %rcx + 0x48, 0x89, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x00000365 movq %rcx, $-136(%rbp) + 0xff, 0xcf, //0x0000036c decl %edi + 0x83, 0xff, 0x05, //0x0000036e cmpl $5, %edi + 0x0f, 0x87, 0x27, 0x00, 0x00, 0x00, //0x00000371 ja LBB0_36 + 0x48, 0x8d, 0x0d, 0x46, 0x22, 0x00, 0x00, //0x00000377 leaq $8774(%rip), %rcx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x3c, 0xb9, //0x0000037e movslq (%rcx,%rdi,4), %rdi + 0x48, 0x01, 0xcf, //0x00000382 addq %rcx, %rdi + 0xff, 0xe7, //0x00000385 jmpq *%rdi + //0x00000387 LBB0_33 + 0x83, 0xfb, 0x2c, //0x00000387 cmpl $44, %ebx + 0x0f, 0x84, 0xb6, 0x04, 0x00, 0x00, //0x0000038a je LBB0_100 + 0x83, 0xfb, 0x5d, //0x00000390 cmpl $93, %ebx + 0x0f, 0x84, 0x92, 0x04, 0x00, 0x00, //0x00000393 je LBB0_35 + 0xe9, 0xed, 0x1f, 0x00, 0x00, //0x00000399 jmp LBB0_422 + //0x0000039e LBB0_36 + 0x49, 0x89, 0x11, //0x0000039e movq %rdx, (%r9) + 0x83, 0xfb, 0x7b, //0x000003a1 cmpl $123, %ebx + 0x0f, 0x86, 0x19, 0x02, 0x00, 0x00, //0x000003a4 jbe LBB0_63 + 0xe9, 0xdc, 0x1f, 0x00, 0x00, //0x000003aa jmp LBB0_422 + //0x000003af LBB0_37 + 0x83, 0xfb, 0x2c, //0x000003af cmpl $44, %ebx + 0x0f, 0x85, 0x6a, 0x04, 0x00, 0x00, //0x000003b2 jne LBB0_38 + 0x49, 0x81, 0xfa, 0xff, 0x0f, 0x00, 0x00, //0x000003b8 cmpq $4095, %r10 + 0x0f, 0x8f, 0x88, 0x1f, 0x00, 0x00, //0x000003bf jg LBB0_441 + 0x49, 0x8d, 0x42, 0x01, //0x000003c5 leaq $1(%r10), %rax + 0x49, 0x89, 0x01, //0x000003c9 movq %rax, (%r9) + 0x4b, 0xc7, 0x44, 0xd1, 0x08, 0x03, 0x00, 0x00, 0x00, //0x000003cc movq $3, $8(%r9,%r10,8) + 0xe9, 0xc6, 0xfd, 0xff, 0xff, //0x000003d5 jmp LBB0_2 + //0x000003da LBB0_39 + 0x80, 0xfb, 0x22, //0x000003da cmpb $34, %bl + 0x0f, 0x85, 0xa8, 0x1f, 0x00, 0x00, //0x000003dd jne LBB0_422 + 0x4b, 0xc7, 0x04, 0xd1, 0x04, 0x00, 0x00, 0x00, //0x000003e3 movq $4, (%r9,%r10,8) + 0x48, 0x8b, 0x45, 0x90, //0x000003eb movq $-112(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x000003ef movq $8(%rax), %rdx + 0xf6, 0x45, 0x80, 0x20, //0x000003f3 testb $32, $-128(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x000003f7 movq %r11, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb0, //0x000003fb movq %rdx, $-80(%rbp) + 0x0f, 0x85, 0x63, 0x04, 0x00, 0x00, //0x000003ff jne LBB0_104 + 0x49, 0x89, 0xd5, //0x00000405 movq %rdx, %r13 + 0x4d, 0x29, 0xdd, //0x00000408 subq %r11, %r13 + 0x0f, 0x84, 0x30, 0x21, 0x00, 0x00, //0x0000040b je LBB0_456 + 0x4c, 0x89, 0xd8, //0x00000411 movq %r11, %rax + 0x4d, 0x01, 0xe3, //0x00000414 addq %r12, %r11 + 0x49, 0x83, 0xfd, 0x40, //0x00000417 cmpq $64, %r13 + 0x0f, 0x82, 0x0b, 0x1a, 0x00, 0x00, //0x0000041b jb LBB0_353 + 0x45, 0x89, 0xea, //0x00000421 movl %r13d, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x00000424 andl $63, %r10d + 0x4a, 0x8d, 0x4c, 0x02, 0xc0, //0x00000428 leaq $-64(%rdx,%r8), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x0000042d andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000431 addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x88, //0x00000434 addq $-120(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb8, //0x00000438 movq %rcx, $-72(%rbp) + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000043c movq $-1, %r9 + 0x45, 0x31, 0xe4, //0x00000443 xorl %r12d, %r12d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000446 .p2align 4, 0x90 + //0x00000450 LBB0_44 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00000450 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00000455 vmovdqu $16(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x20, //0x0000045b vmovdqu $32(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00000461 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xe9, 0x74, 0xf8, //0x00000467 vpcmpeqb %xmm0, %xmm2, %xmm7 + 0xc5, 0xf9, 0xd7, 0xff, //0x0000046b vpmovmskb %xmm7, %edi + 0xc5, 0xd9, 0x74, 0xf8, //0x0000046f vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00000473 vpmovmskb %xmm7, %ecx + 0xc5, 0xd1, 0x74, 0xf8, //0x00000477 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x0000047b vpmovmskb %xmm7, %esi + 0xc5, 0xc9, 0x74, 0xf8, //0x0000047f vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0xf9, 0xd7, 0xdf, //0x00000483 vpmovmskb %xmm7, %ebx + 0xc5, 0xe9, 0x74, 0xd1, //0x00000487 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000048b vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x0000048f vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00000493 vpmovmskb %xmm2, %eax + 0xc5, 0xd1, 0x74, 0xd1, //0x00000497 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x0000049b vpmovmskb %xmm2, %r14d + 0xc5, 0xc9, 0x74, 0xd1, //0x0000049f vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xc2, //0x000004a3 vpmovmskb %xmm2, %r8d + 0x48, 0xc1, 0xe3, 0x30, //0x000004a7 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x000004ab shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x000004af shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x000004b3 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x000004b6 orq %rsi, %rdi + 0x49, 0xc1, 0xe0, 0x30, //0x000004b9 shlq $48, %r8 + 0x49, 0xc1, 0xe6, 0x20, //0x000004bd shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x000004c1 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x000004c5 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x000004c8 orq %r14, %rdx + 0x4c, 0x09, 0xc2, //0x000004cb orq %r8, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x000004ce cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000004d2 jne LBB0_46 + 0x48, 0x85, 0xd2, //0x000004d8 testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000004db jne LBB0_55 + //0x000004e1 LBB0_46 + 0x48, 0x09, 0xdf, //0x000004e1 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x000004e4 movq %rdx, %rax + 0x4c, 0x09, 0xe0, //0x000004e7 orq %r12, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x000004ea jne LBB0_56 + //0x000004f0 LBB0_47 + 0x48, 0x85, 0xff, //0x000004f0 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x000004f3 jne LBB0_57 + //0x000004f9 LBB0_48 + 0x49, 0x83, 0xc5, 0xc0, //0x000004f9 addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x000004fd addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000501 cmpq $63, %r13 + 0x0f, 0x87, 0x45, 0xff, 0xff, 0xff, //0x00000505 ja LBB0_44 + 0xe9, 0x1d, 0x12, 0x00, 0x00, //0x0000050b jmp LBB0_49 + //0x00000510 LBB0_55 + 0x4c, 0x89, 0xd8, //0x00000510 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000513 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xca, //0x00000517 bsfq %rdx, %r9 + 0x49, 0x01, 0xc1, //0x0000051b addq %rax, %r9 + 0x48, 0x09, 0xdf, //0x0000051e orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000521 movq %rdx, %rax + 0x4c, 0x09, 0xe0, //0x00000524 orq %r12, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000527 je LBB0_47 + //0x0000052d LBB0_56 + 0x4c, 0x89, 0xe0, //0x0000052d movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x00000530 notq %rax + 0x48, 0x21, 0xd0, //0x00000533 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000536 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xe1, //0x0000053a orq %r12, %rcx + 0x48, 0x89, 0xce, //0x0000053d movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000540 notq %rsi + 0x48, 0x21, 0xd6, //0x00000543 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000546 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000550 andq %rdx, %rsi + 0x45, 0x31, 0xe4, //0x00000553 xorl %r12d, %r12d + 0x48, 0x01, 0xc6, //0x00000556 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc4, //0x00000559 setb %r12b + 0x48, 0x01, 0xf6, //0x0000055d addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000560 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x0000056a xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x0000056d andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000570 notq %rsi + 0x48, 0x21, 0xf7, //0x00000573 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000576 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00000579 je LBB0_48 + //0x0000057f LBB0_57 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000057f bsfq %rdi, %rax + //0x00000583 LBB0_58 + 0x4c, 0x03, 0x5d, 0x98, //0x00000583 addq $-104(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000587 addq %rax, %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x0000058a movq $-48(%rbp), %r12 + 0xe9, 0x3a, 0x09, 0x00, 0x00, //0x0000058e jmp LBB0_187 + //0x00000593 LBB0_59 + 0x80, 0xfb, 0x3a, //0x00000593 cmpb $58, %bl + 0x0f, 0x85, 0xef, 0x1d, 0x00, 0x00, //0x00000596 jne LBB0_422 + 0x4b, 0xc7, 0x04, 0xd1, 0x00, 0x00, 0x00, 0x00, //0x0000059c movq $0, (%r9,%r10,8) + 0xe9, 0xf7, 0xfb, 0xff, 0xff, //0x000005a4 jmp LBB0_2 + //0x000005a9 LBB0_61 + 0x80, 0xfb, 0x5d, //0x000005a9 cmpb $93, %bl + 0x0f, 0x84, 0x79, 0x02, 0x00, 0x00, //0x000005ac je LBB0_35 + 0x4b, 0xc7, 0x04, 0xd1, 0x01, 0x00, 0x00, 0x00, //0x000005b2 movq $1, (%r9,%r10,8) + 0x83, 0xfb, 0x7b, //0x000005ba cmpl $123, %ebx + 0x0f, 0x87, 0xc8, 0x1d, 0x00, 0x00, //0x000005bd ja LBB0_422 + //0x000005c3 LBB0_63 + 0x4f, 0x8d, 0x14, 0x3c, //0x000005c3 leaq (%r12,%r15), %r10 + 0x89, 0xd9, //0x000005c7 movl %ebx, %ecx + 0x48, 0x8d, 0x15, 0x0c, 0x20, 0x00, 0x00, //0x000005c9 leaq $8204(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8a, //0x000005d0 movslq (%rdx,%rcx,4), %rcx + 0x48, 0x01, 0xd1, //0x000005d4 addq %rdx, %rcx + 0xff, 0xe1, //0x000005d7 jmpq *%rcx + //0x000005d9 LBB0_66 + 0x48, 0x8b, 0x45, 0x90, //0x000005d9 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x78, 0x08, //0x000005dd movq $8(%rax), %rdi + 0x4c, 0x29, 0xff, //0x000005e1 subq %r15, %rdi + 0x0f, 0x84, 0x89, 0x1d, 0x00, 0x00, //0x000005e4 je LBB0_417 + 0x41, 0x80, 0x3a, 0x30, //0x000005ea cmpb $48, (%r10) + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000005ee jne LBB0_71 + 0x48, 0x83, 0xff, 0x01, //0x000005f4 cmpq $1, %rdi + 0x0f, 0x84, 0x86, 0xfb, 0xff, 0xff, //0x000005f8 je LBB0_1 + 0x43, 0x8a, 0x04, 0x1c, //0x000005fe movb (%r12,%r11), %al + 0x04, 0xd2, //0x00000602 addb $-46, %al + 0x3c, 0x37, //0x00000604 cmpb $55, %al + 0x0f, 0x87, 0x78, 0xfb, 0xff, 0xff, //0x00000606 ja LBB0_1 + 0x0f, 0xb6, 0xc0, //0x0000060c movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x0000060f movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00000619 btq %rax, %rcx + 0x0f, 0x83, 0x61, 0xfb, 0xff, 0xff, //0x0000061d jae LBB0_1 + //0x00000623 LBB0_71 + 0x48, 0x83, 0xff, 0x10, //0x00000623 cmpq $16, %rdi + 0x0f, 0x82, 0xde, 0x17, 0x00, 0x00, //0x00000627 jb LBB0_342 + 0x4c, 0x8d, 0x4f, 0xf0, //0x0000062d leaq $-16(%rdi), %r9 + 0x4c, 0x89, 0xc8, //0x00000631 movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00000634 andq $-16, %rax + 0x4a, 0x8d, 0x44, 0x10, 0x10, //0x00000638 leaq $16(%rax,%r10), %rax + 0x48, 0x89, 0x45, 0xa8, //0x0000063d movq %rax, $-88(%rbp) + 0x41, 0x83, 0xe1, 0x0f, //0x00000641 andl $15, %r9d + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00000645 movq $-1, %r12 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x0000064c movq $-1, %r13 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000653 movq $-1, %r11 + 0x4d, 0x89, 0xd6, //0x0000065a movq %r10, %r14 + 0x90, 0x90, 0x90, //0x0000065d .p2align 4, 0x90 + //0x00000660 LBB0_73 + 0xc4, 0xc1, 0x7a, 0x6f, 0x16, //0x00000660 vmovdqu (%r14), %xmm2 + 0xc4, 0xc1, 0x69, 0x64, 0xe0, //0x00000665 vpcmpgtb %xmm8, %xmm2, %xmm4 + 0xc5, 0xb1, 0x64, 0xea, //0x0000066a vpcmpgtb %xmm2, %xmm9, %xmm5 + 0xc5, 0xd9, 0xdb, 0xe5, //0x0000066e vpand %xmm5, %xmm4, %xmm4 + 0xc5, 0xa9, 0x74, 0xea, //0x00000672 vpcmpeqb %xmm2, %xmm10, %xmm5 + 0xc5, 0xa1, 0x74, 0xf2, //0x00000676 vpcmpeqb %xmm2, %xmm11, %xmm6 + 0xc5, 0xc9, 0xeb, 0xed, //0x0000067a vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0x99, 0xeb, 0xf2, //0x0000067e vpor %xmm2, %xmm12, %xmm6 + 0xc5, 0x91, 0x74, 0xd2, //0x00000682 vpcmpeqb %xmm2, %xmm13, %xmm2 + 0xc5, 0x89, 0x74, 0xf6, //0x00000686 vpcmpeqb %xmm6, %xmm14, %xmm6 + 0xc5, 0xc9, 0xeb, 0xfa, //0x0000068a vpor %xmm2, %xmm6, %xmm7 + 0xc5, 0xd1, 0xeb, 0xe4, //0x0000068e vpor %xmm4, %xmm5, %xmm4 + 0xc5, 0xc1, 0xeb, 0xe4, //0x00000692 vpor %xmm4, %xmm7, %xmm4 + 0xc5, 0x79, 0xd7, 0xc2, //0x00000696 vpmovmskb %xmm2, %r8d + 0xc5, 0xf9, 0xd7, 0xc6, //0x0000069a vpmovmskb %xmm6, %eax + 0xc5, 0xf9, 0xd7, 0xd5, //0x0000069e vpmovmskb %xmm5, %edx + 0xc5, 0xf9, 0xd7, 0xcc, //0x000006a2 vpmovmskb %xmm4, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x000006a6 movl $2863311530, %esi + 0x48, 0x81, 0xc6, 0x55, 0x55, 0x55, 0x55, //0x000006ab addq $1431655765, %rsi + 0x48, 0x31, 0xce, //0x000006b2 xorq %rcx, %rsi + 0x48, 0x0f, 0xbc, 0xce, //0x000006b5 bsfq %rsi, %rcx + 0x83, 0xf9, 0x10, //0x000006b9 cmpl $16, %ecx + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000006bc je LBB0_75 + 0xbe, 0xff, 0xff, 0xff, 0xff, //0x000006c2 movl $-1, %esi + 0xd3, 0xe6, //0x000006c7 shll %cl, %esi + 0xf7, 0xd6, //0x000006c9 notl %esi + 0x41, 0x21, 0xf0, //0x000006cb andl %esi, %r8d + 0x21, 0xf0, //0x000006ce andl %esi, %eax + 0x21, 0xd6, //0x000006d0 andl %edx, %esi + 0x89, 0xf2, //0x000006d2 movl %esi, %edx + //0x000006d4 LBB0_75 + 0x41, 0x8d, 0x70, 0xff, //0x000006d4 leal $-1(%r8), %esi + 0x44, 0x21, 0xc6, //0x000006d8 andl %r8d, %esi + 0x0f, 0x85, 0x17, 0x10, 0x00, 0x00, //0x000006db jne LBB0_308 + 0x8d, 0x70, 0xff, //0x000006e1 leal $-1(%rax), %esi + 0x21, 0xc6, //0x000006e4 andl %eax, %esi + 0x0f, 0x85, 0x0c, 0x10, 0x00, 0x00, //0x000006e6 jne LBB0_308 + 0x8d, 0x72, 0xff, //0x000006ec leal $-1(%rdx), %esi + 0x21, 0xd6, //0x000006ef andl %edx, %esi + 0x0f, 0x85, 0x01, 0x10, 0x00, 0x00, //0x000006f1 jne LBB0_308 + 0x45, 0x85, 0xc0, //0x000006f7 testl %r8d, %r8d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000006fa je LBB0_81 + 0x4c, 0x89, 0xf3, //0x00000700 movq %r14, %rbx + 0x4c, 0x29, 0xd3, //0x00000703 subq %r10, %rbx + 0x41, 0x0f, 0xbc, 0xf0, //0x00000706 bsfl %r8d, %esi + 0x48, 0x01, 0xde, //0x0000070a addq %rbx, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x0000070d cmpq $-1, %r11 + 0x0f, 0x85, 0x93, 0x13, 0x00, 0x00, //0x00000711 jne LBB0_325 + 0x49, 0x89, 0xf3, //0x00000717 movq %rsi, %r11 + //0x0000071a LBB0_81 + 0x85, 0xc0, //0x0000071a testl %eax, %eax + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000071c je LBB0_84 + 0x4c, 0x89, 0xf6, //0x00000722 movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x00000725 subq %r10, %rsi + 0x0f, 0xbc, 0xc0, //0x00000728 bsfl %eax, %eax + 0x48, 0x01, 0xf0, //0x0000072b addq %rsi, %rax + 0x49, 0x83, 0xfd, 0xff, //0x0000072e cmpq $-1, %r13 + 0x0f, 0x85, 0x64, 0x11, 0x00, 0x00, //0x00000732 jne LBB0_313 + 0x49, 0x89, 0xc5, //0x00000738 movq %rax, %r13 + //0x0000073b LBB0_84 + 0x85, 0xd2, //0x0000073b testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000073d je LBB0_87 + 0x4c, 0x89, 0xf6, //0x00000743 movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x00000746 subq %r10, %rsi + 0x0f, 0xbc, 0xc2, //0x00000749 bsfl %edx, %eax + 0x48, 0x01, 0xf0, //0x0000074c addq %rsi, %rax + 0x49, 0x83, 0xfc, 0xff, //0x0000074f cmpq $-1, %r12 + 0x0f, 0x85, 0x43, 0x11, 0x00, 0x00, //0x00000753 jne LBB0_313 + 0x49, 0x89, 0xc4, //0x00000759 movq %rax, %r12 + //0x0000075c LBB0_87 + 0x83, 0xf9, 0x10, //0x0000075c cmpl $16, %ecx + 0x0f, 0x85, 0xa8, 0x04, 0x00, 0x00, //0x0000075f jne LBB0_148 + 0x49, 0x83, 0xc6, 0x10, //0x00000765 addq $16, %r14 + 0x48, 0x83, 0xc7, 0xf0, //0x00000769 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x0f, //0x0000076d cmpq $15, %rdi + 0x0f, 0x87, 0xe9, 0xfe, 0xff, 0xff, //0x00000771 ja LBB0_73 + 0x4d, 0x85, 0xc9, //0x00000777 testq %r9, %r9 + 0x0f, 0x84, 0xb1, 0x04, 0x00, 0x00, //0x0000077a je LBB0_150 + //0x00000780 LBB0_90 + 0x48, 0x8b, 0x7d, 0xa8, //0x00000780 movq $-88(%rbp), %rdi + 0x4a, 0x8d, 0x0c, 0x0f, //0x00000784 leaq (%rdi,%r9), %rcx + 0x48, 0x8d, 0x35, 0x29, 0x21, 0x00, 0x00, //0x00000788 leaq $8489(%rip), %rsi /* LJTI0_3+0(%rip) */ + 0xe9, 0x18, 0x00, 0x00, 0x00, //0x0000078f jmp LBB0_92 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000794 .p2align 4, 0x90 + //0x000007a0 LBB0_91 + 0x48, 0x89, 0xc7, //0x000007a0 movq %rax, %rdi + 0x49, 0xff, 0xc9, //0x000007a3 decq %r9 + 0x0f, 0x84, 0xfb, 0x10, 0x00, 0x00, //0x000007a6 je LBB0_314 + //0x000007ac LBB0_92 + 0x0f, 0xbe, 0x17, //0x000007ac movsbl (%rdi), %edx + 0x83, 0xc2, 0xd5, //0x000007af addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x000007b2 cmpl $58, %edx + 0x0f, 0x87, 0x72, 0x04, 0x00, 0x00, //0x000007b5 ja LBB0_149 + 0x48, 0x8d, 0x47, 0x01, //0x000007bb leaq $1(%rdi), %rax + 0x48, 0x63, 0x14, 0x96, //0x000007bf movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x000007c3 addq %rsi, %rdx + 0xff, 0xe2, //0x000007c6 jmpq *%rdx + //0x000007c8 LBB0_94 + 0x48, 0x89, 0xc2, //0x000007c8 movq %rax, %rdx + 0x4c, 0x29, 0xd2, //0x000007cb subq %r10, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x000007ce cmpq $-1, %r12 + 0x0f, 0x85, 0x86, 0x13, 0x00, 0x00, //0x000007d2 jne LBB0_418 + 0x48, 0xff, 0xca, //0x000007d8 decq %rdx + 0x49, 0x89, 0xd4, //0x000007db movq %rdx, %r12 + 0xe9, 0xbd, 0xff, 0xff, 0xff, //0x000007de jmp LBB0_91 + //0x000007e3 LBB0_96 + 0x48, 0x89, 0xc2, //0x000007e3 movq %rax, %rdx + 0x4c, 0x29, 0xd2, //0x000007e6 subq %r10, %rdx + 0x49, 0x83, 0xfd, 0xff, //0x000007e9 cmpq $-1, %r13 + 0x0f, 0x85, 0x6b, 0x13, 0x00, 0x00, //0x000007ed jne LBB0_418 + 0x48, 0xff, 0xca, //0x000007f3 decq %rdx + 0x49, 0x89, 0xd5, //0x000007f6 movq %rdx, %r13 + 0xe9, 0xa2, 0xff, 0xff, 0xff, //0x000007f9 jmp LBB0_91 + //0x000007fe LBB0_98 + 0x48, 0x89, 0xc2, //0x000007fe movq %rax, %rdx + 0x4c, 0x29, 0xd2, //0x00000801 subq %r10, %rdx + 0x49, 0x83, 0xfb, 0xff, //0x00000804 cmpq $-1, %r11 + 0x0f, 0x85, 0x50, 0x13, 0x00, 0x00, //0x00000808 jne LBB0_418 + 0x48, 0xff, 0xca, //0x0000080e decq %rdx + 0x49, 0x89, 0xd3, //0x00000811 movq %rdx, %r11 + 0xe9, 0x87, 0xff, 0xff, 0xff, //0x00000814 jmp LBB0_91 + //0x00000819 LBB0_64 + 0x83, 0xfb, 0x22, //0x00000819 cmpl $34, %ebx + 0x0f, 0x84, 0x19, 0x02, 0x00, 0x00, //0x0000081c je LBB0_125 + //0x00000822 LBB0_38 + 0x83, 0xfb, 0x7d, //0x00000822 cmpl $125, %ebx + 0x0f, 0x85, 0x60, 0x1b, 0x00, 0x00, //0x00000825 jne LBB0_422 + //0x0000082b LBB0_35 + 0x49, 0x89, 0x11, //0x0000082b movq %rdx, (%r9) + 0x49, 0x89, 0xd2, //0x0000082e movq %rdx, %r10 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x00000831 movq $-136(%rbp), %rax + 0x48, 0x85, 0xd2, //0x00000838 testq %rdx, %rdx + 0x0f, 0x85, 0x75, 0xf9, 0xff, 0xff, //0x0000083b jne LBB0_4 + 0xe9, 0x4c, 0x1b, 0x00, 0x00, //0x00000841 jmp LBB0_423 + //0x00000846 LBB0_100 + 0x49, 0x81, 0xfa, 0xff, 0x0f, 0x00, 0x00, //0x00000846 cmpq $4095, %r10 + 0x0f, 0x8f, 0xfa, 0x1a, 0x00, 0x00, //0x0000084d jg LBB0_441 + 0x49, 0x8d, 0x42, 0x01, //0x00000853 leaq $1(%r10), %rax + 0x49, 0x89, 0x01, //0x00000857 movq %rax, (%r9) + 0x4b, 0xc7, 0x44, 0xd1, 0x08, 0x00, 0x00, 0x00, 0x00, //0x0000085a movq $0, $8(%r9,%r10,8) + 0xe9, 0x38, 0xf9, 0xff, 0xff, //0x00000863 jmp LBB0_2 + //0x00000868 LBB0_104 + 0x48, 0x89, 0xd0, //0x00000868 movq %rdx, %rax + 0x4c, 0x29, 0xd8, //0x0000086b subq %r11, %rax + 0x0f, 0x84, 0xcd, 0x1c, 0x00, 0x00, //0x0000086e je LBB0_456 + 0x4c, 0x89, 0xd9, //0x00000874 movq %r11, %rcx + 0x4d, 0x01, 0xe3, //0x00000877 addq %r12, %r11 + 0x48, 0x83, 0xf8, 0x40, //0x0000087a cmpq $64, %rax + 0x0f, 0x82, 0xc1, 0x15, 0x00, 0x00, //0x0000087e jb LBB0_354 + 0x89, 0xc6, //0x00000884 movl %eax, %esi + 0x83, 0xe6, 0x3f, //0x00000886 andl $63, %esi + 0x48, 0x89, 0x75, 0xb8, //0x00000889 movq %rsi, $-72(%rbp) + 0x4e, 0x8d, 0x54, 0x02, 0xc0, //0x0000088d leaq $-64(%rdx,%r8), %r10 + 0x49, 0x83, 0xe2, 0xc0, //0x00000892 andq $-64, %r10 + 0x49, 0x01, 0xca, //0x00000896 addq %rcx, %r10 + 0x4c, 0x03, 0x55, 0x88, //0x00000899 addq $-120(%rbp), %r10 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000089d movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x000008a4 xorl %r8d, %r8d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008a7 .p2align 4, 0x90 + //0x000008b0 LBB0_107 + 0xc4, 0xc1, 0x7a, 0x6f, 0x33, //0x000008b0 vmovdqu (%r11), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x000008b5 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x20, //0x000008bb vmovdqu $32(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x30, //0x000008c1 vmovdqu $48(%r11), %xmm7 + 0xc5, 0xc9, 0x74, 0xd0, //0x000008c7 vpcmpeqb %xmm0, %xmm6, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x000008cb vpmovmskb %xmm2, %esi + 0xc5, 0xd1, 0x74, 0xd0, //0x000008cf vpcmpeqb %xmm0, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x000008d3 vpmovmskb %xmm2, %ebx + 0xc5, 0xd9, 0x74, 0xd0, //0x000008d7 vpcmpeqb %xmm0, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x000008db vpmovmskb %xmm2, %ecx + 0xc5, 0xc1, 0x74, 0xd0, //0x000008df vpcmpeqb %xmm0, %xmm7, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x000008e3 vpmovmskb %xmm2, %edx + 0xc5, 0xc9, 0x74, 0xd1, //0x000008e7 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xea, //0x000008eb vpmovmskb %xmm2, %r13d + 0xc5, 0xd1, 0x74, 0xd1, //0x000008ef vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000008f3 vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x000008f7 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x000008fb shlq $16, %rbx + 0x48, 0x09, 0xde, //0x000008ff orq %rbx, %rsi + 0xc5, 0xf9, 0xd7, 0xda, //0x00000902 vpmovmskb %xmm2, %ebx + 0xc5, 0xc1, 0x74, 0xd1, //0x00000906 vpcmpeqb %xmm1, %xmm7, %xmm2 + 0x48, 0xc1, 0xe1, 0x20, //0x0000090a shlq $32, %rcx + 0x48, 0x09, 0xce, //0x0000090e orq %rcx, %rsi + 0xc5, 0xf9, 0xd7, 0xca, //0x00000911 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd6, //0x00000915 vpcmpgtb %xmm6, %xmm15, %xmm2 + 0xc5, 0xc9, 0x64, 0xf3, //0x00000919 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xd2, //0x0000091d vpand %xmm2, %xmm6, %xmm2 + 0x48, 0xc1, 0xe7, 0x10, //0x00000921 shlq $16, %rdi + 0x49, 0x09, 0xfd, //0x00000925 orq %rdi, %r13 + 0xc5, 0x79, 0xd7, 0xe2, //0x00000928 vpmovmskb %xmm2, %r12d + 0xc5, 0x81, 0x64, 0xd5, //0x0000092c vpcmpgtb %xmm5, %xmm15, %xmm2 + 0xc5, 0xd1, 0x64, 0xeb, //0x00000930 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xd2, //0x00000934 vpand %xmm2, %xmm5, %xmm2 + 0x48, 0xc1, 0xe3, 0x20, //0x00000938 shlq $32, %rbx + 0x49, 0x09, 0xdd, //0x0000093c orq %rbx, %r13 + 0xc5, 0xf9, 0xd7, 0xfa, //0x0000093f vpmovmskb %xmm2, %edi + 0xc5, 0x81, 0x64, 0xd4, //0x00000943 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00000947 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x0000094b vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe1, 0x30, //0x0000094f shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000953 orq %rcx, %r13 + 0xc5, 0xf9, 0xd7, 0xca, //0x00000956 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd7, //0x0000095a vpcmpgtb %xmm7, %xmm15, %xmm2 + 0xc5, 0xc1, 0x64, 0xe3, //0x0000095e vpcmpgtb %xmm3, %xmm7, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00000962 vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe7, 0x10, //0x00000966 shlq $16, %rdi + 0x49, 0x09, 0xfc, //0x0000096a orq %rdi, %r12 + 0xc5, 0x79, 0xd7, 0xf2, //0x0000096d vpmovmskb %xmm2, %r14d + 0x48, 0xc1, 0xe2, 0x30, //0x00000971 shlq $48, %rdx + 0x48, 0xc1, 0xe1, 0x20, //0x00000975 shlq $32, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00000979 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000097d jne LBB0_109 + 0x4d, 0x85, 0xed, //0x00000983 testq %r13, %r13 + 0x0f, 0x85, 0x9c, 0x00, 0x00, 0x00, //0x00000986 jne LBB0_124 + //0x0000098c LBB0_109 + 0x49, 0xc1, 0xe6, 0x30, //0x0000098c shlq $48, %r14 + 0x49, 0x09, 0xcc, //0x00000990 orq %rcx, %r12 + 0x48, 0x09, 0xd6, //0x00000993 orq %rdx, %rsi + 0x4c, 0x89, 0xe9, //0x00000996 movq %r13, %rcx + 0x4c, 0x09, 0xc1, //0x00000999 orq %r8, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x0000099c jne LBB0_145 + 0x4d, 0x09, 0xf4, //0x000009a2 orq %r14, %r12 + 0x48, 0x85, 0xf6, //0x000009a5 testq %rsi, %rsi + 0x0f, 0x85, 0x39, 0x02, 0x00, 0x00, //0x000009a8 jne LBB0_146 + //0x000009ae LBB0_111 + 0x4d, 0x85, 0xe4, //0x000009ae testq %r12, %r12 + 0x0f, 0x85, 0x0c, 0x1a, 0x00, 0x00, //0x000009b1 jne LBB0_426 + 0x48, 0x83, 0xc0, 0xc0, //0x000009b7 addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x000009bb addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x000009bf cmpq $63, %rax + 0x0f, 0x87, 0xe7, 0xfe, 0xff, 0xff, //0x000009c3 ja LBB0_107 + 0xe9, 0xda, 0x0d, 0x00, 0x00, //0x000009c9 jmp LBB0_113 + //0x000009ce LBB0_145 + 0x4c, 0x89, 0xc1, //0x000009ce movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x000009d1 notq %rcx + 0x4c, 0x21, 0xe9, //0x000009d4 andq %r13, %rcx + 0x48, 0x8d, 0x14, 0x09, //0x000009d7 leaq (%rcx,%rcx), %rdx + 0x4c, 0x09, 0xc2, //0x000009db orq %r8, %rdx + 0x48, 0x89, 0xd7, //0x000009de movq %rdx, %rdi + 0x48, 0xf7, 0xd7, //0x000009e1 notq %rdi + 0x4c, 0x21, 0xef, //0x000009e4 andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000009e7 movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x000009f1 andq %rbx, %rdi + 0x45, 0x31, 0xc0, //0x000009f4 xorl %r8d, %r8d + 0x48, 0x01, 0xcf, //0x000009f7 addq %rcx, %rdi + 0x41, 0x0f, 0x92, 0xc0, //0x000009fa setb %r8b + 0x48, 0x01, 0xff, //0x000009fe addq %rdi, %rdi + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000a01 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcf, //0x00000a0b xorq %rcx, %rdi + 0x48, 0x21, 0xd7, //0x00000a0e andq %rdx, %rdi + 0x48, 0xf7, 0xd7, //0x00000a11 notq %rdi + 0x48, 0x21, 0xfe, //0x00000a14 andq %rdi, %rsi + 0x4d, 0x09, 0xf4, //0x00000a17 orq %r14, %r12 + 0x48, 0x85, 0xf6, //0x00000a1a testq %rsi, %rsi + 0x0f, 0x84, 0x8b, 0xff, 0xff, 0xff, //0x00000a1d je LBB0_111 + 0xe9, 0xbf, 0x01, 0x00, 0x00, //0x00000a23 jmp LBB0_146 + //0x00000a28 LBB0_124 + 0x4c, 0x89, 0xdf, //0x00000a28 movq %r11, %rdi + 0x48, 0x2b, 0x7d, 0xd0, //0x00000a2b subq $-48(%rbp), %rdi + 0x4d, 0x0f, 0xbc, 0xcd, //0x00000a2f bsfq %r13, %r9 + 0x49, 0x01, 0xf9, //0x00000a33 addq %rdi, %r9 + 0xe9, 0x51, 0xff, 0xff, 0xff, //0x00000a36 jmp LBB0_109 + //0x00000a3b LBB0_125 + 0x4b, 0xc7, 0x04, 0xd1, 0x02, 0x00, 0x00, 0x00, //0x00000a3b movq $2, (%r9,%r10,8) + 0x48, 0x8b, 0x45, 0x90, //0x00000a43 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x00000a47 movq $8(%rax), %rdx + 0xf6, 0x45, 0x80, 0x20, //0x00000a4b testb $32, $-128(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x00000a4f movq %r11, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb0, //0x00000a53 movq %rdx, $-80(%rbp) + 0x0f, 0x85, 0x71, 0x02, 0x00, 0x00, //0x00000a57 jne LBB0_161 + 0x49, 0x89, 0xd5, //0x00000a5d movq %rdx, %r13 + 0x4d, 0x29, 0xdd, //0x00000a60 subq %r11, %r13 + 0x0f, 0x84, 0xf3, 0x1a, 0x00, 0x00, //0x00000a63 je LBB0_454 + 0x4c, 0x89, 0xd8, //0x00000a69 movq %r11, %rax + 0x4d, 0x01, 0xe3, //0x00000a6c addq %r12, %r11 + 0x49, 0x83, 0xfd, 0x40, //0x00000a6f cmpq $64, %r13 + 0x0f, 0x82, 0xfc, 0x13, 0x00, 0x00, //0x00000a73 jb LBB0_357 + 0x45, 0x89, 0xea, //0x00000a79 movl %r13d, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x00000a7c andl $63, %r10d + 0x4a, 0x8d, 0x4c, 0x02, 0xc0, //0x00000a80 leaq $-64(%rdx,%r8), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000a85 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000a89 addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x88, //0x00000a8c addq $-120(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb8, //0x00000a90 movq %rcx, $-72(%rbp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00000a94 movq $-1, %r12 + 0x45, 0x31, 0xc9, //0x00000a9b xorl %r9d, %r9d + 0x90, 0x90, //0x00000a9e .p2align 4, 0x90 + //0x00000aa0 LBB0_129 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00000aa0 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00000aa5 vmovdqu $16(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x20, //0x00000aab vmovdqu $32(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00000ab1 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xe9, 0x74, 0xf8, //0x00000ab7 vpcmpeqb %xmm0, %xmm2, %xmm7 + 0xc5, 0xf9, 0xd7, 0xff, //0x00000abb vpmovmskb %xmm7, %edi + 0xc5, 0xd9, 0x74, 0xf8, //0x00000abf vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00000ac3 vpmovmskb %xmm7, %ecx + 0xc5, 0xd1, 0x74, 0xf8, //0x00000ac7 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x00000acb vpmovmskb %xmm7, %esi + 0xc5, 0xc9, 0x74, 0xf8, //0x00000acf vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0xf9, 0xd7, 0xdf, //0x00000ad3 vpmovmskb %xmm7, %ebx + 0xc5, 0xe9, 0x74, 0xd1, //0x00000ad7 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000adb vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x00000adf vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00000ae3 vpmovmskb %xmm2, %eax + 0xc5, 0xd1, 0x74, 0xd1, //0x00000ae7 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00000aeb vpmovmskb %xmm2, %r14d + 0xc5, 0xc9, 0x74, 0xd1, //0x00000aef vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xc2, //0x00000af3 vpmovmskb %xmm2, %r8d + 0x48, 0xc1, 0xe3, 0x30, //0x00000af7 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x00000afb shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00000aff shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00000b03 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00000b06 orq %rsi, %rdi + 0x49, 0xc1, 0xe0, 0x30, //0x00000b09 shlq $48, %r8 + 0x49, 0xc1, 0xe6, 0x20, //0x00000b0d shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x00000b11 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00000b15 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x00000b18 orq %r14, %rdx + 0x4c, 0x09, 0xc2, //0x00000b1b orq %r8, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x00000b1e cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000b22 jne LBB0_131 + 0x48, 0x85, 0xd2, //0x00000b28 testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000b2b jne LBB0_140 + //0x00000b31 LBB0_131 + 0x48, 0x09, 0xdf, //0x00000b31 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000b34 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00000b37 orq %r9, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x00000b3a jne LBB0_141 + //0x00000b40 LBB0_132 + 0x48, 0x85, 0xff, //0x00000b40 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00000b43 jne LBB0_142 + //0x00000b49 LBB0_133 + 0x49, 0x83, 0xc5, 0xc0, //0x00000b49 addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x00000b4d addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000b51 cmpq $63, %r13 + 0x0f, 0x87, 0x45, 0xff, 0xff, 0xff, //0x00000b55 ja LBB0_129 + 0xe9, 0x64, 0x0d, 0x00, 0x00, //0x00000b5b jmp LBB0_134 + //0x00000b60 LBB0_140 + 0x4c, 0x89, 0xd8, //0x00000b60 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000b63 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xe2, //0x00000b67 bsfq %rdx, %r12 + 0x49, 0x01, 0xc4, //0x00000b6b addq %rax, %r12 + 0x48, 0x09, 0xdf, //0x00000b6e orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000b71 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00000b74 orq %r9, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000b77 je LBB0_132 + //0x00000b7d LBB0_141 + 0x4c, 0x89, 0xc8, //0x00000b7d movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000b80 notq %rax + 0x48, 0x21, 0xd0, //0x00000b83 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000b86 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x00000b8a orq %r9, %rcx + 0x48, 0x89, 0xce, //0x00000b8d movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000b90 notq %rsi + 0x48, 0x21, 0xd6, //0x00000b93 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000b96 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000ba0 andq %rdx, %rsi + 0x45, 0x31, 0xc9, //0x00000ba3 xorl %r9d, %r9d + 0x48, 0x01, 0xc6, //0x00000ba6 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc1, //0x00000ba9 setb %r9b + 0x48, 0x01, 0xf6, //0x00000bad addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000bb0 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x00000bba xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x00000bbd andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000bc0 notq %rsi + 0x48, 0x21, 0xf7, //0x00000bc3 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000bc6 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00000bc9 je LBB0_133 + //0x00000bcf LBB0_142 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000bcf bsfq %rdi, %rax + //0x00000bd3 LBB0_143 + 0x4c, 0x03, 0x5d, 0x98, //0x00000bd3 addq $-104(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000bd7 addq %rax, %r11 + //0x00000bda LBB0_144 + 0x48, 0x8b, 0x75, 0xc8, //0x00000bda movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000bde movq $-64(%rbp), %r9 + 0xe9, 0x59, 0x03, 0x00, 0x00, //0x00000be2 jmp LBB0_195 + //0x00000be7 LBB0_146 + 0x48, 0x0f, 0xbc, 0xc6, //0x00000be7 bsfq %rsi, %rax + 0x4d, 0x85, 0xe4, //0x00000beb testq %r12, %r12 + 0x0f, 0x84, 0xbf, 0x02, 0x00, 0x00, //0x00000bee je LBB0_185 + 0x49, 0x0f, 0xbc, 0xcc, //0x00000bf4 bsfq %r12, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00000bf8 movq $-48(%rbp), %r12 + 0x4d, 0x29, 0xe3, //0x00000bfc subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x00000bff cmpq %rax, %rcx + 0x0f, 0x83, 0xc0, 0x02, 0x00, 0x00, //0x00000c02 jae LBB0_186 + 0xe9, 0x3d, 0x19, 0x00, 0x00, //0x00000c08 jmp LBB0_306 + //0x00000c0d LBB0_148 + 0x49, 0x01, 0xce, //0x00000c0d addq %rcx, %r14 + 0x4c, 0x89, 0x75, 0xa8, //0x00000c10 movq %r14, $-88(%rbp) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000c14 movq $-1, %rax + 0x4d, 0x85, 0xed, //0x00000c1b testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x00000c1e movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x1d, 0x00, 0x00, 0x00, //0x00000c22 jne LBB0_151 + 0xe9, 0x55, 0x17, 0x00, 0x00, //0x00000c28 jmp LBB0_420 + //0x00000c2d LBB0_149 + 0x48, 0x89, 0x7d, 0xa8, //0x00000c2d movq %rdi, $-88(%rbp) + //0x00000c31 LBB0_150 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000c31 movq $-1, %rax + 0x4d, 0x85, 0xed, //0x00000c38 testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x00000c3b movq $-56(%rbp), %rsi + 0x0f, 0x84, 0x3d, 0x17, 0x00, 0x00, //0x00000c3f je LBB0_420 + //0x00000c45 LBB0_151 + 0x4d, 0x85, 0xe4, //0x00000c45 testq %r12, %r12 + 0x0f, 0x84, 0x34, 0x17, 0x00, 0x00, //0x00000c48 je LBB0_420 + 0x4d, 0x85, 0xdb, //0x00000c4e testq %r11, %r11 + 0x0f, 0x84, 0x2b, 0x17, 0x00, 0x00, //0x00000c51 je LBB0_420 + 0x48, 0x8b, 0x45, 0xa8, //0x00000c57 movq $-88(%rbp), %rax + 0x4c, 0x29, 0xd0, //0x00000c5b subq %r10, %rax + 0x48, 0x89, 0xc1, //0x00000c5e movq %rax, %rcx + 0x48, 0xff, 0xc8, //0x00000c61 decq %rax + 0x49, 0x39, 0xc5, //0x00000c64 cmpq %rax, %r13 + 0x0f, 0x84, 0x45, 0x00, 0x00, 0x00, //0x00000c67 je LBB0_159 + 0x49, 0x39, 0xc3, //0x00000c6d cmpq %rax, %r11 + 0x0f, 0x84, 0x3c, 0x00, 0x00, 0x00, //0x00000c70 je LBB0_159 + 0x49, 0x39, 0xc4, //0x00000c76 cmpq %rax, %r12 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00000c79 je LBB0_159 + 0x4d, 0x85, 0xe4, //0x00000c7f testq %r12, %r12 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000c82 movq $-64(%rbp), %r9 + 0x0f, 0x8e, 0x68, 0x02, 0x00, 0x00, //0x00000c86 jle LBB0_189 + 0x49, 0x8d, 0x44, 0x24, 0xff, //0x00000c8c leaq $-1(%r12), %rax + 0x49, 0x39, 0xc5, //0x00000c91 cmpq %rax, %r13 + 0x0f, 0x84, 0x5a, 0x02, 0x00, 0x00, //0x00000c94 je LBB0_189 + 0x49, 0xf7, 0xd4, //0x00000c9a notq %r12 + 0x4d, 0x89, 0xe3, //0x00000c9d movq %r12, %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000ca0 movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xdb, //0x00000ca4 testq %r11, %r11 + 0x0f, 0x89, 0xd4, 0xf4, 0xff, 0xff, //0x00000ca7 jns LBB0_258 + 0xe9, 0xcd, 0x16, 0x00, 0x00, //0x00000cad jmp LBB0_419 + //0x00000cb2 LBB0_159 + 0x49, 0x89, 0xcb, //0x00000cb2 movq %rcx, %r11 + 0x49, 0xf7, 0xdb, //0x00000cb5 negq %r11 + //0x00000cb8 LBB0_160 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000cb8 movq $-48(%rbp), %r12 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000cbc movq $-64(%rbp), %r9 + 0x4d, 0x85, 0xdb, //0x00000cc0 testq %r11, %r11 + 0x0f, 0x89, 0xb8, 0xf4, 0xff, 0xff, //0x00000cc3 jns LBB0_258 + 0xe9, 0xb1, 0x16, 0x00, 0x00, //0x00000cc9 jmp LBB0_419 + //0x00000cce LBB0_161 + 0x48, 0x89, 0xd0, //0x00000cce movq %rdx, %rax + 0x4c, 0x29, 0xd8, //0x00000cd1 subq %r11, %rax + 0x0f, 0x84, 0x82, 0x18, 0x00, 0x00, //0x00000cd4 je LBB0_454 + 0x4c, 0x89, 0xd9, //0x00000cda movq %r11, %rcx + 0x4d, 0x01, 0xe3, //0x00000cdd addq %r12, %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00000ce0 cmpq $64, %rax + 0x0f, 0x82, 0xa4, 0x11, 0x00, 0x00, //0x00000ce4 jb LBB0_358 + 0x41, 0x89, 0xc2, //0x00000cea movl %eax, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x00000ced andl $63, %r10d + 0x4e, 0x8d, 0x44, 0x02, 0xc0, //0x00000cf1 leaq $-64(%rdx,%r8), %r8 + 0x49, 0x83, 0xe0, 0xc0, //0x00000cf6 andq $-64, %r8 + 0x49, 0x01, 0xc8, //0x00000cfa addq %rcx, %r8 + 0x4c, 0x03, 0x45, 0x88, //0x00000cfd addq $-120(%rbp), %r8 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00000d01 movq $-1, %r12 + 0x45, 0x31, 0xc9, //0x00000d08 xorl %r9d, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d0b .p2align 4, 0x90 + //0x00000d10 LBB0_164 + 0xc4, 0xc1, 0x7a, 0x6f, 0x33, //0x00000d10 vmovdqu (%r11), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x00000d15 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x20, //0x00000d1b vmovdqu $32(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x30, //0x00000d21 vmovdqu $48(%r11), %xmm7 + 0xc5, 0xc9, 0x74, 0xd0, //0x00000d27 vpcmpeqb %xmm0, %xmm6, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x00000d2b vpmovmskb %xmm2, %esi + 0xc5, 0xd1, 0x74, 0xd0, //0x00000d2f vpcmpeqb %xmm0, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x00000d33 vpmovmskb %xmm2, %ebx + 0xc5, 0xd9, 0x74, 0xd0, //0x00000d37 vpcmpeqb %xmm0, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x00000d3b vpmovmskb %xmm2, %ecx + 0xc5, 0xc1, 0x74, 0xd0, //0x00000d3f vpcmpeqb %xmm0, %xmm7, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00000d43 vpmovmskb %xmm2, %edi + 0xc5, 0xc9, 0x74, 0xd1, //0x00000d47 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xea, //0x00000d4b vpmovmskb %xmm2, %r13d + 0xc5, 0xd1, 0x74, 0xd1, //0x00000d4f vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000d53 vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x00000d57 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x00000d5b shlq $16, %rbx + 0x48, 0x09, 0xde, //0x00000d5f orq %rbx, %rsi + 0xc5, 0xf9, 0xd7, 0xda, //0x00000d62 vpmovmskb %xmm2, %ebx + 0xc5, 0xc1, 0x74, 0xd1, //0x00000d66 vpcmpeqb %xmm1, %xmm7, %xmm2 + 0x48, 0xc1, 0xe1, 0x20, //0x00000d6a shlq $32, %rcx + 0x48, 0x09, 0xce, //0x00000d6e orq %rcx, %rsi + 0xc5, 0xf9, 0xd7, 0xca, //0x00000d71 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd6, //0x00000d75 vpcmpgtb %xmm6, %xmm15, %xmm2 + 0xc5, 0xc9, 0x64, 0xf3, //0x00000d79 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xd2, //0x00000d7d vpand %xmm2, %xmm6, %xmm2 + 0x48, 0xc1, 0xe2, 0x10, //0x00000d81 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x00000d85 orq %rdx, %r13 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000d88 vpmovmskb %xmm2, %edx + 0xc5, 0x81, 0x64, 0xd5, //0x00000d8c vpcmpgtb %xmm5, %xmm15, %xmm2 + 0xc5, 0xd1, 0x64, 0xeb, //0x00000d90 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xd2, //0x00000d94 vpand %xmm2, %xmm5, %xmm2 + 0x48, 0xc1, 0xe3, 0x20, //0x00000d98 shlq $32, %rbx + 0x49, 0x09, 0xdd, //0x00000d9c orq %rbx, %r13 + 0xc5, 0xf9, 0xd7, 0xda, //0x00000d9f vpmovmskb %xmm2, %ebx + 0xc5, 0x81, 0x64, 0xd4, //0x00000da3 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00000da7 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00000dab vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe1, 0x30, //0x00000daf shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000db3 orq %rcx, %r13 + 0xc5, 0xf9, 0xd7, 0xca, //0x00000db6 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd7, //0x00000dba vpcmpgtb %xmm7, %xmm15, %xmm2 + 0xc5, 0xc1, 0x64, 0xe3, //0x00000dbe vpcmpgtb %xmm3, %xmm7, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00000dc2 vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x00000dc6 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00000dca orq %rbx, %rdx + 0xc5, 0x79, 0xd7, 0xf2, //0x00000dcd vpmovmskb %xmm2, %r14d + 0x48, 0xc1, 0xe7, 0x30, //0x00000dd1 shlq $48, %rdi + 0x48, 0xc1, 0xe1, 0x20, //0x00000dd5 shlq $32, %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00000dd9 cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000ddd jne LBB0_166 + 0x4d, 0x85, 0xed, //0x00000de3 testq %r13, %r13 + 0x0f, 0x85, 0x9e, 0x00, 0x00, 0x00, //0x00000de6 jne LBB0_181 + //0x00000dec LBB0_166 + 0x49, 0xc1, 0xe6, 0x30, //0x00000dec shlq $48, %r14 + 0x48, 0x09, 0xca, //0x00000df0 orq %rcx, %rdx + 0x48, 0x09, 0xfe, //0x00000df3 orq %rdi, %rsi + 0x4c, 0x89, 0xe9, //0x00000df6 movq %r13, %rcx + 0x4c, 0x09, 0xc9, //0x00000df9 orq %r9, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000dfc jne LBB0_182 + 0x4c, 0x09, 0xf2, //0x00000e02 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000e05 testq %rsi, %rsi + 0x0f, 0x85, 0x8f, 0x00, 0x00, 0x00, //0x00000e08 jne LBB0_183 + //0x00000e0e LBB0_168 + 0x48, 0x85, 0xd2, //0x00000e0e testq %rdx, %rdx + 0x0f, 0x85, 0xda, 0x15, 0x00, 0x00, //0x00000e11 jne LBB0_432 + 0x48, 0x83, 0xc0, 0xc0, //0x00000e17 addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x00000e1b addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x00000e1f cmpq $63, %rax + 0x0f, 0x87, 0xe7, 0xfe, 0xff, 0xff, //0x00000e23 ja LBB0_164 + 0xe9, 0x11, 0x0b, 0x00, 0x00, //0x00000e29 jmp LBB0_170 + //0x00000e2e LBB0_182 + 0x4c, 0x89, 0xc9, //0x00000e2e movq %r9, %rcx + 0x48, 0xf7, 0xd1, //0x00000e31 notq %rcx + 0x4c, 0x21, 0xe9, //0x00000e34 andq %r13, %rcx + 0x48, 0x8d, 0x1c, 0x09, //0x00000e37 leaq (%rcx,%rcx), %rbx + 0x4c, 0x09, 0xcb, //0x00000e3b orq %r9, %rbx + 0x48, 0x89, 0x5d, 0xb8, //0x00000e3e movq %rbx, $-72(%rbp) + 0x48, 0xf7, 0xd3, //0x00000e42 notq %rbx + 0x4c, 0x21, 0xeb, //0x00000e45 andq %r13, %rbx + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000e48 movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfb, //0x00000e52 andq %rdi, %rbx + 0x45, 0x31, 0xc9, //0x00000e55 xorl %r9d, %r9d + 0x48, 0x01, 0xcb, //0x00000e58 addq %rcx, %rbx + 0x41, 0x0f, 0x92, 0xc1, //0x00000e5b setb %r9b + 0x48, 0x01, 0xdb, //0x00000e5f addq %rbx, %rbx + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000e62 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcb, //0x00000e6c xorq %rcx, %rbx + 0x48, 0x23, 0x5d, 0xb8, //0x00000e6f andq $-72(%rbp), %rbx + 0x48, 0xf7, 0xd3, //0x00000e73 notq %rbx + 0x48, 0x21, 0xde, //0x00000e76 andq %rbx, %rsi + 0x4c, 0x09, 0xf2, //0x00000e79 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000e7c testq %rsi, %rsi + 0x0f, 0x84, 0x89, 0xff, 0xff, 0xff, //0x00000e7f je LBB0_168 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00000e85 jmp LBB0_183 + //0x00000e8a LBB0_181 + 0x4c, 0x89, 0xdb, //0x00000e8a movq %r11, %rbx + 0x48, 0x2b, 0x5d, 0xd0, //0x00000e8d subq $-48(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xe5, //0x00000e91 bsfq %r13, %r12 + 0x49, 0x01, 0xdc, //0x00000e95 addq %rbx, %r12 + 0xe9, 0x4f, 0xff, 0xff, 0xff, //0x00000e98 jmp LBB0_166 + //0x00000e9d LBB0_183 + 0x48, 0x0f, 0xbc, 0xc6, //0x00000e9d bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00000ea1 testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x00000ea4 je LBB0_192 + 0x48, 0x0f, 0xbc, 0xca, //0x00000eaa bsfq %rdx, %rcx + 0xe9, 0x73, 0x00, 0x00, 0x00, //0x00000eae jmp LBB0_193 + //0x00000eb3 LBB0_185 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000eb3 movl $64, %ecx + 0x4c, 0x8b, 0x65, 0xd0, //0x00000eb8 movq $-48(%rbp), %r12 + 0x4d, 0x29, 0xe3, //0x00000ebc subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x00000ebf cmpq %rax, %rcx + 0x0f, 0x82, 0x82, 0x16, 0x00, 0x00, //0x00000ec2 jb LBB0_306 + //0x00000ec8 LBB0_186 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000ec8 leaq $1(%r11,%rax), %r11 + //0x00000ecd LBB0_187 + 0x4d, 0x85, 0xdb, //0x00000ecd testq %r11, %r11 + 0x0f, 0x88, 0x83, 0x14, 0x00, 0x00, //0x00000ed0 js LBB0_415 + 0x48, 0x8b, 0x75, 0xc8, //0x00000ed6 movq $-56(%rbp), %rsi + 0x4c, 0x89, 0x1e, //0x00000eda movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000edd movq %r15, %rax + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00000ee0 cmpq $0, $-88(%rbp) + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000ee5 movq $-64(%rbp), %r9 + 0x0f, 0x8f, 0xb1, 0xf2, 0xff, 0xff, //0x00000ee9 jg LBB0_2 + 0xe9, 0x9e, 0x14, 0x00, 0x00, //0x00000eef jmp LBB0_423 + //0x00000ef4 LBB0_189 + 0x4c, 0x89, 0xd8, //0x00000ef4 movq %r11, %rax + 0x4c, 0x09, 0xe8, //0x00000ef7 orq %r13, %rax + 0x4d, 0x39, 0xeb, //0x00000efa cmpq %r13, %r11 + 0x0f, 0x8c, 0x59, 0xf2, 0xff, 0xff, //0x00000efd jl LBB0_257 + 0x48, 0x85, 0xc0, //0x00000f03 testq %rax, %rax + 0x0f, 0x88, 0x50, 0xf2, 0xff, 0xff, //0x00000f06 js LBB0_257 + 0x49, 0xf7, 0xd3, //0x00000f0c notq %r11 + 0x4c, 0x8b, 0x65, 0xd0, //0x00000f0f movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xdb, //0x00000f13 testq %r11, %r11 + 0x0f, 0x89, 0x65, 0xf2, 0xff, 0xff, //0x00000f16 jns LBB0_258 + 0xe9, 0x5e, 0x14, 0x00, 0x00, //0x00000f1c jmp LBB0_419 + //0x00000f21 LBB0_192 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000f21 movl $64, %ecx + //0x00000f26 LBB0_193 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f26 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000f2a movq $-64(%rbp), %r9 + 0x4c, 0x2b, 0x5d, 0xd0, //0x00000f2e subq $-48(%rbp), %r11 + 0x48, 0x39, 0xc1, //0x00000f32 cmpq %rax, %rcx + 0x0f, 0x82, 0x2a, 0x16, 0x00, 0x00, //0x00000f35 jb LBB0_455 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000f3b leaq $1(%r11,%rax), %r11 + //0x00000f40 LBB0_195 + 0x4d, 0x85, 0xdb, //0x00000f40 testq %r11, %r11 + 0x0f, 0x88, 0x58, 0x14, 0x00, 0x00, //0x00000f43 js LBB0_424 + 0x4c, 0x89, 0x1e, //0x00000f49 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000f4c movq %r15, %rax + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00000f4f cmpq $0, $-88(%rbp) + 0x4c, 0x8b, 0x65, 0xd0, //0x00000f54 movq $-48(%rbp), %r12 + 0x0f, 0x8e, 0x34, 0x14, 0x00, 0x00, //0x00000f58 jle LBB0_423 + 0x49, 0x8b, 0x01, //0x00000f5e movq (%r9), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00000f61 cmpq $4095, %rax + 0x0f, 0x8f, 0xe0, 0x13, 0x00, 0x00, //0x00000f67 jg LBB0_441 + 0x48, 0x8d, 0x48, 0x01, //0x00000f6d leaq $1(%rax), %rcx + 0x49, 0x89, 0x09, //0x00000f71 movq %rcx, (%r9) + 0x49, 0xc7, 0x44, 0xc1, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00000f74 movq $4, $8(%r9,%rax,8) + 0xe9, 0x1e, 0xf2, 0xff, 0xff, //0x00000f7d jmp LBB0_2 + //0x00000f82 LBB0_199 + 0x48, 0x8b, 0x45, 0x90, //0x00000f82 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x00000f86 movq $8(%rax), %rdx + 0xf6, 0x45, 0x80, 0x20, //0x00000f8a testb $32, $-128(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x00000f8e movq %r11, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb0, //0x00000f92 movq %rdx, $-80(%rbp) + 0x0f, 0x85, 0xa3, 0x04, 0x00, 0x00, //0x00000f96 jne LBB0_268 + 0x49, 0x89, 0xd4, //0x00000f9c movq %rdx, %r12 + 0x4d, 0x29, 0xdc, //0x00000f9f subq %r11, %r12 + 0x0f, 0x84, 0x99, 0x15, 0x00, 0x00, //0x00000fa2 je LBB0_456 + 0x48, 0x8b, 0x45, 0xd0, //0x00000fa8 movq $-48(%rbp), %rax + 0x4c, 0x89, 0xd9, //0x00000fac movq %r11, %rcx + 0x49, 0x01, 0xc3, //0x00000faf addq %rax, %r11 + 0x49, 0x83, 0xfc, 0x40, //0x00000fb2 cmpq $64, %r12 + 0x0f, 0x82, 0x12, 0x0f, 0x00, 0x00, //0x00000fb6 jb LBB0_360 + 0x44, 0x89, 0xe0, //0x00000fbc movl %r12d, %eax + 0x83, 0xe0, 0x3f, //0x00000fbf andl $63, %eax + 0x48, 0x89, 0x45, 0xb8, //0x00000fc2 movq %rax, $-72(%rbp) + 0x4e, 0x8d, 0x44, 0x02, 0xc0, //0x00000fc6 leaq $-64(%rdx,%r8), %r8 + 0x49, 0x83, 0xe0, 0xc0, //0x00000fcb andq $-64, %r8 + 0x49, 0x01, 0xc8, //0x00000fcf addq %rcx, %r8 + 0x4c, 0x03, 0x45, 0x88, //0x00000fd2 addq $-120(%rbp), %r8 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000fd6 movq $-1, %r9 + 0x45, 0x31, 0xd2, //0x00000fdd xorl %r10d, %r10d + //0x00000fe0 .p2align 4, 0x90 + //0x00000fe0 LBB0_203 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00000fe0 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00000fe5 vmovdqu $16(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x20, //0x00000feb vmovdqu $32(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x73, 0x30, //0x00000ff1 vmovdqu $48(%r11), %xmm6 + 0xc5, 0xe9, 0x74, 0xf8, //0x00000ff7 vpcmpeqb %xmm0, %xmm2, %xmm7 + 0xc5, 0xf9, 0xd7, 0xff, //0x00000ffb vpmovmskb %xmm7, %edi + 0xc5, 0xd9, 0x74, 0xf8, //0x00000fff vpcmpeqb %xmm0, %xmm4, %xmm7 + 0xc5, 0xf9, 0xd7, 0xcf, //0x00001003 vpmovmskb %xmm7, %ecx + 0xc5, 0xd1, 0x74, 0xf8, //0x00001007 vpcmpeqb %xmm0, %xmm5, %xmm7 + 0xc5, 0xf9, 0xd7, 0xf7, //0x0000100b vpmovmskb %xmm7, %esi + 0xc5, 0xc9, 0x74, 0xf8, //0x0000100f vpcmpeqb %xmm0, %xmm6, %xmm7 + 0xc5, 0x79, 0xd7, 0xef, //0x00001013 vpmovmskb %xmm7, %r13d + 0xc5, 0xe9, 0x74, 0xd1, //0x00001017 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000101b vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x0000101f vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001023 vpmovmskb %xmm2, %eax + 0xc5, 0xd1, 0x74, 0xd1, //0x00001027 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x0000102b vpmovmskb %xmm2, %ebx + 0xc5, 0xc9, 0x74, 0xd1, //0x0000102f vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001033 vpmovmskb %xmm2, %r14d + 0x49, 0xc1, 0xe5, 0x30, //0x00001037 shlq $48, %r13 + 0x48, 0xc1, 0xe6, 0x20, //0x0000103b shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x0000103f shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00001043 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00001046 orq %rsi, %rdi + 0x49, 0xc1, 0xe6, 0x30, //0x00001049 shlq $48, %r14 + 0x48, 0xc1, 0xe3, 0x20, //0x0000104d shlq $32, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x00001051 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00001055 orq %rax, %rdx + 0x48, 0x09, 0xda, //0x00001058 orq %rbx, %rdx + 0x4c, 0x09, 0xf2, //0x0000105b orq %r14, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x0000105e cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001062 jne LBB0_205 + 0x48, 0x85, 0xd2, //0x00001068 testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000106b jne LBB0_213 + //0x00001071 LBB0_205 + 0x4c, 0x09, 0xef, //0x00001071 orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x00001074 movq %rdx, %rax + 0x4c, 0x09, 0xd0, //0x00001077 orq %r10, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000107a jne LBB0_214 + //0x00001080 LBB0_206 + 0x48, 0x85, 0xff, //0x00001080 testq %rdi, %rdi + 0x0f, 0x85, 0xf6, 0xf4, 0xff, 0xff, //0x00001083 jne LBB0_57 + //0x00001089 LBB0_207 + 0x49, 0x83, 0xc4, 0xc0, //0x00001089 addq $-64, %r12 + 0x49, 0x83, 0xc3, 0x40, //0x0000108d addq $64, %r11 + 0x49, 0x83, 0xfc, 0x3f, //0x00001091 cmpq $63, %r12 + 0x0f, 0x87, 0x45, 0xff, 0xff, 0xff, //0x00001095 ja LBB0_203 + 0xe9, 0x01, 0x0b, 0x00, 0x00, //0x0000109b jmp LBB0_208 + //0x000010a0 LBB0_213 + 0x4c, 0x89, 0xd8, //0x000010a0 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000010a3 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xca, //0x000010a7 bsfq %rdx, %r9 + 0x49, 0x01, 0xc1, //0x000010ab addq %rax, %r9 + 0x4c, 0x09, 0xef, //0x000010ae orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x000010b1 movq %rdx, %rax + 0x4c, 0x09, 0xd0, //0x000010b4 orq %r10, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x000010b7 je LBB0_206 + //0x000010bd LBB0_214 + 0x4c, 0x89, 0xd0, //0x000010bd movq %r10, %rax + 0x48, 0xf7, 0xd0, //0x000010c0 notq %rax + 0x48, 0x21, 0xd0, //0x000010c3 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x000010c6 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xd1, //0x000010ca orq %r10, %rcx + 0x48, 0x89, 0xce, //0x000010cd movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x000010d0 notq %rsi + 0x48, 0x21, 0xd6, //0x000010d3 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000010d6 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x000010e0 andq %rdx, %rsi + 0x45, 0x31, 0xd2, //0x000010e3 xorl %r10d, %r10d + 0x48, 0x01, 0xc6, //0x000010e6 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc2, //0x000010e9 setb %r10b + 0x48, 0x01, 0xf6, //0x000010ed addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000010f0 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x000010fa xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x000010fd andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00001100 notq %rsi + 0x48, 0x21, 0xf7, //0x00001103 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00001106 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00001109 je LBB0_207 + 0xe9, 0x6b, 0xf4, 0xff, 0xff, //0x0000110f jmp LBB0_57 + //0x00001114 LBB0_215 + 0x48, 0x8b, 0x45, 0x90, //0x00001114 movq $-112(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x00001118 movq $8(%rax), %r10 + 0x4d, 0x29, 0xda, //0x0000111c subq %r11, %r10 + 0x0f, 0x84, 0xfa, 0x12, 0x00, 0x00, //0x0000111f je LBB0_438 + 0x4c, 0x89, 0x5d, 0xa8, //0x00001125 movq %r11, $-88(%rbp) + 0x4d, 0x01, 0xdc, //0x00001129 addq %r11, %r12 + 0x41, 0x80, 0x3c, 0x24, 0x30, //0x0000112c cmpb $48, (%r12) + 0x0f, 0x85, 0x36, 0x00, 0x00, 0x00, //0x00001131 jne LBB0_220 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001137 movl $1, %r11d + 0x49, 0x83, 0xfa, 0x01, //0x0000113d cmpq $1, %r10 + 0x0f, 0x84, 0x7c, 0x05, 0x00, 0x00, //0x00001141 je LBB0_303 + 0x41, 0x8a, 0x44, 0x24, 0x01, //0x00001147 movb $1(%r12), %al + 0x04, 0xd2, //0x0000114c addb $-46, %al + 0x3c, 0x37, //0x0000114e cmpb $55, %al + 0x0f, 0x87, 0x6d, 0x05, 0x00, 0x00, //0x00001150 ja LBB0_303 + 0x0f, 0xb6, 0xc0, //0x00001156 movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00001159 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00001163 btq %rax, %rcx + 0x0f, 0x83, 0x56, 0x05, 0x00, 0x00, //0x00001167 jae LBB0_303 + //0x0000116d LBB0_220 + 0x49, 0x83, 0xfa, 0x10, //0x0000116d cmpq $16, %r10 + 0x0f, 0x82, 0x30, 0x0d, 0x00, 0x00, //0x00001171 jb LBB0_359 + 0x4d, 0x8d, 0x4a, 0xf0, //0x00001177 leaq $-16(%r10), %r9 + 0x4c, 0x89, 0xc8, //0x0000117b movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x0000117e andq $-16, %rax + 0x4e, 0x8d, 0x44, 0x20, 0x10, //0x00001182 leaq $16(%rax,%r12), %r8 + 0x41, 0x83, 0xe1, 0x0f, //0x00001187 andl $15, %r9d + 0x48, 0xc7, 0x45, 0xb8, 0xff, 0xff, 0xff, 0xff, //0x0000118b movq $-1, $-72(%rbp) + 0x48, 0xc7, 0x45, 0xb0, 0xff, 0xff, 0xff, 0xff, //0x00001193 movq $-1, $-80(%rbp) + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x0000119b movq $-1, %r14 + 0x4d, 0x89, 0xe5, //0x000011a2 movq %r12, %r13 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000011a5 .p2align 4, 0x90 + //0x000011b0 LBB0_222 + 0xc4, 0xc1, 0x7a, 0x6f, 0x55, 0x00, //0x000011b0 vmovdqu (%r13), %xmm2 + 0xc4, 0xc1, 0x69, 0x64, 0xe0, //0x000011b6 vpcmpgtb %xmm8, %xmm2, %xmm4 + 0xc5, 0xb1, 0x64, 0xea, //0x000011bb vpcmpgtb %xmm2, %xmm9, %xmm5 + 0xc5, 0xd9, 0xdb, 0xe5, //0x000011bf vpand %xmm5, %xmm4, %xmm4 + 0xc5, 0xa9, 0x74, 0xea, //0x000011c3 vpcmpeqb %xmm2, %xmm10, %xmm5 + 0xc5, 0xa1, 0x74, 0xf2, //0x000011c7 vpcmpeqb %xmm2, %xmm11, %xmm6 + 0xc5, 0xc9, 0xeb, 0xed, //0x000011cb vpor %xmm5, %xmm6, %xmm5 + 0xc5, 0x99, 0xeb, 0xf2, //0x000011cf vpor %xmm2, %xmm12, %xmm6 + 0xc5, 0x91, 0x74, 0xd2, //0x000011d3 vpcmpeqb %xmm2, %xmm13, %xmm2 + 0xc5, 0x89, 0x74, 0xf6, //0x000011d7 vpcmpeqb %xmm6, %xmm14, %xmm6 + 0xc5, 0xc9, 0xeb, 0xfa, //0x000011db vpor %xmm2, %xmm6, %xmm7 + 0xc5, 0xd1, 0xeb, 0xe4, //0x000011df vpor %xmm4, %xmm5, %xmm4 + 0xc5, 0xc1, 0xeb, 0xe4, //0x000011e3 vpor %xmm4, %xmm7, %xmm4 + 0xc5, 0xf9, 0xd7, 0xc2, //0x000011e7 vpmovmskb %xmm2, %eax + 0xc5, 0xf9, 0xd7, 0xde, //0x000011eb vpmovmskb %xmm6, %ebx + 0xc5, 0xf9, 0xd7, 0xd5, //0x000011ef vpmovmskb %xmm5, %edx + 0xc5, 0xf9, 0xd7, 0xcc, //0x000011f3 vpmovmskb %xmm4, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x000011f7 movl $2863311530, %esi + 0x48, 0x8d, 0xbe, 0x55, 0x55, 0x55, 0x55, //0x000011fc leaq $1431655765(%rsi), %rdi + 0x48, 0x31, 0xcf, //0x00001203 xorq %rcx, %rdi + 0x48, 0x0f, 0xbc, 0xcf, //0x00001206 bsfq %rdi, %rcx + 0x83, 0xf9, 0x10, //0x0000120a cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x0000120d je LBB0_224 + 0xbf, 0xff, 0xff, 0xff, 0xff, //0x00001213 movl $-1, %edi + 0xd3, 0xe7, //0x00001218 shll %cl, %edi + 0xf7, 0xd7, //0x0000121a notl %edi + 0x21, 0xf8, //0x0000121c andl %edi, %eax + 0x21, 0xfb, //0x0000121e andl %edi, %ebx + 0x21, 0xd7, //0x00001220 andl %edx, %edi + 0x89, 0xfa, //0x00001222 movl %edi, %edx + //0x00001224 LBB0_224 + 0x8d, 0x78, 0xff, //0x00001224 leal $-1(%rax), %edi + 0x21, 0xc7, //0x00001227 andl %eax, %edi + 0x0f, 0x85, 0x4f, 0x09, 0x00, 0x00, //0x00001229 jne LBB0_337 + 0x8d, 0x7b, 0xff, //0x0000122f leal $-1(%rbx), %edi + 0x21, 0xdf, //0x00001232 andl %ebx, %edi + 0x0f, 0x85, 0x44, 0x09, 0x00, 0x00, //0x00001234 jne LBB0_337 + 0x8d, 0x7a, 0xff, //0x0000123a leal $-1(%rdx), %edi + 0x21, 0xd7, //0x0000123d andl %edx, %edi + 0x0f, 0x85, 0x39, 0x09, 0x00, 0x00, //0x0000123f jne LBB0_337 + 0x85, 0xc0, //0x00001245 testl %eax, %eax + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00001247 je LBB0_230 + 0x4c, 0x89, 0xef, //0x0000124d movq %r13, %rdi + 0x4c, 0x29, 0xe7, //0x00001250 subq %r12, %rdi + 0x44, 0x0f, 0xbc, 0xd8, //0x00001253 bsfl %eax, %r11d + 0x49, 0x01, 0xfb, //0x00001257 addq %rdi, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x0000125a cmpq $-1, %r14 + 0x0f, 0x85, 0x24, 0x09, 0x00, 0x00, //0x0000125e jne LBB0_338 + 0x4d, 0x89, 0xde, //0x00001264 movq %r11, %r14 + //0x00001267 LBB0_230 + 0x85, 0xdb, //0x00001267 testl %ebx, %ebx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00001269 je LBB0_233 + 0x4c, 0x89, 0xe8, //0x0000126f movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x00001272 subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xdb, //0x00001275 bsfl %ebx, %r11d + 0x49, 0x01, 0xc3, //0x00001279 addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb0, 0xff, //0x0000127c cmpq $-1, $-80(%rbp) + 0x0f, 0x85, 0x01, 0x09, 0x00, 0x00, //0x00001281 jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xb0, //0x00001287 movq %r11, $-80(%rbp) + //0x0000128b LBB0_233 + 0x85, 0xd2, //0x0000128b testl %edx, %edx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x0000128d je LBB0_236 + 0x4c, 0x89, 0xe8, //0x00001293 movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x00001296 subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xda, //0x00001299 bsfl %edx, %r11d + 0x49, 0x01, 0xc3, //0x0000129d addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb8, 0xff, //0x000012a0 cmpq $-1, $-72(%rbp) + 0x0f, 0x85, 0xdd, 0x08, 0x00, 0x00, //0x000012a5 jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xb8, //0x000012ab movq %r11, $-72(%rbp) + //0x000012af LBB0_236 + 0x83, 0xf9, 0x10, //0x000012af cmpl $16, %ecx + 0x0f, 0x85, 0x81, 0x03, 0x00, 0x00, //0x000012b2 jne LBB0_291 + 0x49, 0x83, 0xc5, 0x10, //0x000012b8 addq $16, %r13 + 0x49, 0x83, 0xc2, 0xf0, //0x000012bc addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x0f, //0x000012c0 cmpq $15, %r10 + 0x0f, 0x87, 0xe6, 0xfe, 0xff, 0xff, //0x000012c4 ja LBB0_222 + 0x4d, 0x85, 0xc9, //0x000012ca testq %r9, %r9 + 0x48, 0x8d, 0x35, 0xf8, 0x14, 0x00, 0x00, //0x000012cd leaq $5368(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0x48, 0x8b, 0x7d, 0xb0, //0x000012d4 movq $-80(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb8, //0x000012d8 movq $-72(%rbp), %rbx + 0x0f, 0x84, 0x65, 0x03, 0x00, 0x00, //0x000012dc je LBB0_292 + //0x000012e2 LBB0_239 + 0x4b, 0x8d, 0x0c, 0x08, //0x000012e2 leaq (%r8,%r9), %rcx + 0xe9, 0x01, 0x01, 0x00, 0x00, //0x000012e6 jmp LBB0_262 + //0x000012eb LBB0_240 + 0x49, 0x8b, 0x01, //0x000012eb movq (%r9), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000012ee cmpq $4095, %rax + 0x0f, 0x8f, 0x53, 0x10, 0x00, 0x00, //0x000012f4 jg LBB0_441 + 0x48, 0x8d, 0x48, 0x01, //0x000012fa leaq $1(%rax), %rcx + 0x49, 0x89, 0x09, //0x000012fe movq %rcx, (%r9) + 0x49, 0xc7, 0x44, 0xc1, 0x08, 0x05, 0x00, 0x00, 0x00, //0x00001301 movq $5, $8(%r9,%rax,8) + 0xe9, 0x91, 0xee, 0xff, 0xff, //0x0000130a jmp LBB0_2 + //0x0000130f LBB0_242 + 0x48, 0x8b, 0x4d, 0x90, //0x0000130f movq $-112(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001313 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfc, //0x00001317 leaq $-4(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x0000131b cmpq %rdx, %r15 + 0x0f, 0x83, 0x97, 0x10, 0x00, 0x00, //0x0000131e jae LBB0_440 + 0x43, 0x8b, 0x0c, 0x1c, //0x00001324 movl (%r12,%r11), %ecx + 0x81, 0xf9, 0x61, 0x6c, 0x73, 0x65, //0x00001328 cmpl $1702063201, %ecx + 0x0f, 0x85, 0xfa, 0x10, 0x00, 0x00, //0x0000132e jne LBB0_442 + 0x4c, 0x89, 0xd9, //0x00001334 movq %r11, %rcx + 0x4d, 0x8d, 0x5f, 0x05, //0x00001337 leaq $5(%r15), %r11 + 0xe9, 0x50, 0x00, 0x00, 0x00, //0x0000133b jmp LBB0_254 + //0x00001340 LBB0_245 + 0x48, 0x8b, 0x4d, 0x90, //0x00001340 movq $-112(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001344 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x00001348 leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x0000134c cmpq %rdx, %r15 + 0x0f, 0x83, 0x66, 0x10, 0x00, 0x00, //0x0000134f jae LBB0_440 + 0x41, 0x81, 0x3a, 0x6e, 0x75, 0x6c, 0x6c, //0x00001355 cmpl $1819047278, (%r10) + 0x0f, 0x84, 0x27, 0x00, 0x00, 0x00, //0x0000135c je LBB0_253 + 0xe9, 0x1c, 0x11, 0x00, 0x00, //0x00001362 jmp LBB0_247 + //0x00001367 LBB0_251 + 0x48, 0x8b, 0x4d, 0x90, //0x00001367 movq $-112(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x0000136b movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x0000136f leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001373 cmpq %rdx, %r15 + 0x0f, 0x83, 0x3f, 0x10, 0x00, 0x00, //0x00001376 jae LBB0_440 + 0x41, 0x81, 0x3a, 0x74, 0x72, 0x75, 0x65, //0x0000137c cmpl $1702195828, (%r10) + 0x0f, 0x85, 0x4c, 0x11, 0x00, 0x00, //0x00001383 jne LBB0_447 + //0x00001389 LBB0_253 + 0x4c, 0x89, 0xd9, //0x00001389 movq %r11, %rcx + 0x4d, 0x8d, 0x5f, 0x04, //0x0000138c leaq $4(%r15), %r11 + //0x00001390 LBB0_254 + 0x4c, 0x89, 0x1e, //0x00001390 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00001393 movq %r15, %rax + 0x48, 0x85, 0xc9, //0x00001396 testq %rcx, %rcx + 0x0f, 0x8f, 0x01, 0xee, 0xff, 0xff, //0x00001399 jg LBB0_2 + 0xe9, 0xee, 0x0f, 0x00, 0x00, //0x0000139f jmp LBB0_423 + //0x000013a4 LBB0_255 + 0x49, 0x8b, 0x01, //0x000013a4 movq (%r9), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000013a7 cmpq $4095, %rax + 0x0f, 0x8f, 0x9a, 0x0f, 0x00, 0x00, //0x000013ad jg LBB0_441 + 0x48, 0x8d, 0x48, 0x01, //0x000013b3 leaq $1(%rax), %rcx + 0x49, 0x89, 0x09, //0x000013b7 movq %rcx, (%r9) + 0x49, 0xc7, 0x44, 0xc1, 0x08, 0x06, 0x00, 0x00, 0x00, //0x000013ba movq $6, $8(%r9,%rax,8) + 0xe9, 0xd8, 0xed, 0xff, 0xff, //0x000013c3 jmp LBB0_2 + //0x000013c8 LBB0_259 + 0x49, 0x89, 0xc3, //0x000013c8 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x000013cb subq %r12, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x000013ce cmpq $-1, %r14 + 0x0f, 0x85, 0x95, 0x0a, 0x00, 0x00, //0x000013d2 jne LBB0_356 + 0x49, 0xff, 0xcb, //0x000013d8 decq %r11 + 0x4d, 0x89, 0xde, //0x000013db movq %r11, %r14 + 0x90, 0x90, //0x000013de .p2align 4, 0x90 + //0x000013e0 LBB0_261 + 0x49, 0x89, 0xc0, //0x000013e0 movq %rax, %r8 + 0x49, 0xff, 0xc9, //0x000013e3 decq %r9 + 0x0f, 0x84, 0x03, 0x0a, 0x00, 0x00, //0x000013e6 je LBB0_341 + //0x000013ec LBB0_262 + 0x41, 0x0f, 0xbe, 0x10, //0x000013ec movsbl (%r8), %edx + 0x83, 0xc2, 0xd5, //0x000013f0 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x000013f3 cmpl $58, %edx + 0x0f, 0x87, 0x4b, 0x02, 0x00, 0x00, //0x000013f6 ja LBB0_292 + 0x49, 0x8d, 0x40, 0x01, //0x000013fc leaq $1(%r8), %rax + 0x48, 0x63, 0x14, 0x96, //0x00001400 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00001404 addq %rsi, %rdx + 0xff, 0xe2, //0x00001407 jmpq *%rdx + //0x00001409 LBB0_264 + 0x49, 0x89, 0xc3, //0x00001409 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x0000140c subq %r12, %r11 + 0x48, 0x83, 0xfb, 0xff, //0x0000140f cmpq $-1, %rbx + 0x0f, 0x85, 0x54, 0x0a, 0x00, 0x00, //0x00001413 jne LBB0_356 + 0x49, 0xff, 0xcb, //0x00001419 decq %r11 + 0x4c, 0x89, 0xdb, //0x0000141c movq %r11, %rbx + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000141f jmp LBB0_261 + //0x00001424 LBB0_266 + 0x49, 0x89, 0xc3, //0x00001424 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x00001427 subq %r12, %r11 + 0x48, 0x83, 0xff, 0xff, //0x0000142a cmpq $-1, %rdi + 0x0f, 0x85, 0x39, 0x0a, 0x00, 0x00, //0x0000142e jne LBB0_356 + 0x49, 0xff, 0xcb, //0x00001434 decq %r11 + 0x4c, 0x89, 0xdf, //0x00001437 movq %r11, %rdi + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000143a jmp LBB0_261 + //0x0000143f LBB0_268 + 0x48, 0x89, 0xd0, //0x0000143f movq %rdx, %rax + 0x4c, 0x29, 0xd8, //0x00001442 subq %r11, %rax + 0x0f, 0x84, 0xf6, 0x10, 0x00, 0x00, //0x00001445 je LBB0_456 + 0x4c, 0x89, 0xd9, //0x0000144b movq %r11, %rcx + 0x4d, 0x01, 0xe3, //0x0000144e addq %r12, %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00001451 cmpq $64, %rax + 0x0f, 0x82, 0x8c, 0x0a, 0x00, 0x00, //0x00001455 jb LBB0_361 + 0x41, 0x89, 0xc2, //0x0000145b movl %eax, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x0000145e andl $63, %r10d + 0x4e, 0x8d, 0x64, 0x02, 0xc0, //0x00001462 leaq $-64(%rdx,%r8), %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00001467 andq $-64, %r12 + 0x49, 0x01, 0xcc, //0x0000146b addq %rcx, %r12 + 0x4c, 0x03, 0x65, 0x88, //0x0000146e addq $-120(%rbp), %r12 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001472 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001479 xorl %r8d, %r8d + 0x90, 0x90, 0x90, 0x90, //0x0000147c .p2align 4, 0x90 + //0x00001480 LBB0_271 + 0xc4, 0xc1, 0x7a, 0x6f, 0x33, //0x00001480 vmovdqu (%r11), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6b, 0x10, //0x00001485 vmovdqu $16(%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x20, //0x0000148b vmovdqu $32(%r11), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7b, 0x30, //0x00001491 vmovdqu $48(%r11), %xmm7 + 0xc5, 0xc9, 0x74, 0xd0, //0x00001497 vpcmpeqb %xmm0, %xmm6, %xmm2 + 0xc5, 0xf9, 0xd7, 0xf2, //0x0000149b vpmovmskb %xmm2, %esi + 0xc5, 0xd1, 0x74, 0xd0, //0x0000149f vpcmpeqb %xmm0, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xda, //0x000014a3 vpmovmskb %xmm2, %ebx + 0xc5, 0xd9, 0x74, 0xd0, //0x000014a7 vpcmpeqb %xmm0, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xca, //0x000014ab vpmovmskb %xmm2, %ecx + 0xc5, 0xc1, 0x74, 0xd0, //0x000014af vpcmpeqb %xmm0, %xmm7, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000014b3 vpmovmskb %xmm2, %edi + 0xc5, 0xc9, 0x74, 0xd1, //0x000014b7 vpcmpeqb %xmm1, %xmm6, %xmm2 + 0xc5, 0x79, 0xd7, 0xea, //0x000014bb vpmovmskb %xmm2, %r13d + 0xc5, 0xd1, 0x74, 0xd1, //0x000014bf vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x000014c3 vpmovmskb %xmm2, %edx + 0xc5, 0xd9, 0x74, 0xd1, //0x000014c7 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x000014cb shlq $16, %rbx + 0x48, 0x09, 0xde, //0x000014cf orq %rbx, %rsi + 0xc5, 0xf9, 0xd7, 0xda, //0x000014d2 vpmovmskb %xmm2, %ebx + 0xc5, 0xc1, 0x74, 0xd1, //0x000014d6 vpcmpeqb %xmm1, %xmm7, %xmm2 + 0x48, 0xc1, 0xe1, 0x20, //0x000014da shlq $32, %rcx + 0x48, 0x09, 0xce, //0x000014de orq %rcx, %rsi + 0xc5, 0xf9, 0xd7, 0xca, //0x000014e1 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd6, //0x000014e5 vpcmpgtb %xmm6, %xmm15, %xmm2 + 0xc5, 0xc9, 0x64, 0xf3, //0x000014e9 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xd2, //0x000014ed vpand %xmm2, %xmm6, %xmm2 + 0x48, 0xc1, 0xe2, 0x10, //0x000014f1 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x000014f5 orq %rdx, %r13 + 0xc5, 0xf9, 0xd7, 0xd2, //0x000014f8 vpmovmskb %xmm2, %edx + 0xc5, 0x81, 0x64, 0xd5, //0x000014fc vpcmpgtb %xmm5, %xmm15, %xmm2 + 0xc5, 0xd1, 0x64, 0xeb, //0x00001500 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xd2, //0x00001504 vpand %xmm2, %xmm5, %xmm2 + 0x48, 0xc1, 0xe3, 0x20, //0x00001508 shlq $32, %rbx + 0x49, 0x09, 0xdd, //0x0000150c orq %rbx, %r13 + 0xc5, 0xf9, 0xd7, 0xda, //0x0000150f vpmovmskb %xmm2, %ebx + 0xc5, 0x81, 0x64, 0xd4, //0x00001513 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00001517 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x0000151b vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe1, 0x30, //0x0000151f shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00001523 orq %rcx, %r13 + 0xc5, 0xf9, 0xd7, 0xca, //0x00001526 vpmovmskb %xmm2, %ecx + 0xc5, 0x81, 0x64, 0xd7, //0x0000152a vpcmpgtb %xmm7, %xmm15, %xmm2 + 0xc5, 0xc1, 0x64, 0xe3, //0x0000152e vpcmpgtb %xmm3, %xmm7, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001532 vpand %xmm2, %xmm4, %xmm2 + 0x48, 0xc1, 0xe3, 0x10, //0x00001536 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x0000153a orq %rbx, %rdx + 0xc5, 0x79, 0xd7, 0xf2, //0x0000153d vpmovmskb %xmm2, %r14d + 0x48, 0xc1, 0xe7, 0x30, //0x00001541 shlq $48, %rdi + 0x48, 0xc1, 0xe1, 0x20, //0x00001545 shlq $32, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001549 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000154d jne LBB0_273 + 0x4d, 0x85, 0xed, //0x00001553 testq %r13, %r13 + 0x0f, 0x85, 0xa4, 0x00, 0x00, 0x00, //0x00001556 jne LBB0_287 + //0x0000155c LBB0_273 + 0x49, 0xc1, 0xe6, 0x30, //0x0000155c shlq $48, %r14 + 0x48, 0x09, 0xca, //0x00001560 orq %rcx, %rdx + 0x48, 0x09, 0xfe, //0x00001563 orq %rdi, %rsi + 0x4c, 0x89, 0xe9, //0x00001566 movq %r13, %rcx + 0x4c, 0x09, 0xc1, //0x00001569 orq %r8, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x0000156c jne LBB0_288 + 0x4c, 0x09, 0xf2, //0x00001572 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00001575 testq %rsi, %rsi + 0x0f, 0x85, 0x95, 0x00, 0x00, 0x00, //0x00001578 jne LBB0_289 + //0x0000157e LBB0_275 + 0x48, 0x85, 0xd2, //0x0000157e testq %rdx, %rdx + 0x0f, 0x85, 0xa7, 0x0f, 0x00, 0x00, //0x00001581 jne LBB0_452 + 0x48, 0x83, 0xc0, 0xc0, //0x00001587 addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x0000158b addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x0000158f cmpq $63, %rax + 0x0f, 0x87, 0xe7, 0xfe, 0xff, 0xff, //0x00001593 ja LBB0_271 + 0xe9, 0xf0, 0x06, 0x00, 0x00, //0x00001599 jmp LBB0_277 + //0x0000159e LBB0_288 + 0x4c, 0x89, 0xc1, //0x0000159e movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x000015a1 notq %rcx + 0x4c, 0x21, 0xe9, //0x000015a4 andq %r13, %rcx + 0x4c, 0x89, 0x55, 0xb8, //0x000015a7 movq %r10, $-72(%rbp) + 0x4c, 0x8d, 0x14, 0x09, //0x000015ab leaq (%rcx,%rcx), %r10 + 0x4d, 0x09, 0xc2, //0x000015af orq %r8, %r10 + 0x4c, 0x89, 0xd7, //0x000015b2 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x000015b5 notq %rdi + 0x4c, 0x21, 0xef, //0x000015b8 andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000015bb movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x000015c5 andq %rbx, %rdi + 0x45, 0x31, 0xc0, //0x000015c8 xorl %r8d, %r8d + 0x48, 0x01, 0xcf, //0x000015cb addq %rcx, %rdi + 0x41, 0x0f, 0x92, 0xc0, //0x000015ce setb %r8b + 0x48, 0x01, 0xff, //0x000015d2 addq %rdi, %rdi + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000015d5 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcf, //0x000015df xorq %rcx, %rdi + 0x4c, 0x21, 0xd7, //0x000015e2 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xb8, //0x000015e5 movq $-72(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x000015e9 notq %rdi + 0x48, 0x21, 0xfe, //0x000015ec andq %rdi, %rsi + 0x4c, 0x09, 0xf2, //0x000015ef orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x000015f2 testq %rsi, %rsi + 0x0f, 0x84, 0x83, 0xff, 0xff, 0xff, //0x000015f5 je LBB0_275 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x000015fb jmp LBB0_289 + //0x00001600 LBB0_287 + 0x4c, 0x89, 0xdb, //0x00001600 movq %r11, %rbx + 0x48, 0x2b, 0x5d, 0xd0, //0x00001603 subq $-48(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xcd, //0x00001607 bsfq %r13, %r9 + 0x49, 0x01, 0xd9, //0x0000160b addq %rbx, %r9 + 0xe9, 0x49, 0xff, 0xff, 0xff, //0x0000160e jmp LBB0_273 + //0x00001613 LBB0_289 + 0x48, 0x0f, 0xbc, 0xc6, //0x00001613 bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00001617 testq %rdx, %rdx + 0x4c, 0x8b, 0x65, 0xd0, //0x0000161a movq $-48(%rbp), %r12 + 0x0f, 0x84, 0xbe, 0x00, 0x00, 0x00, //0x0000161e je LBB0_304 + 0x48, 0x0f, 0xbc, 0xca, //0x00001624 bsfq %rdx, %rcx + 0x4d, 0x29, 0xe3, //0x00001628 subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x0000162b cmpq %rax, %rcx + 0x0f, 0x83, 0x94, 0xf8, 0xff, 0xff, //0x0000162e jae LBB0_186 + 0xe9, 0x11, 0x0f, 0x00, 0x00, //0x00001634 jmp LBB0_306 + //0x00001639 LBB0_291 + 0x49, 0x01, 0xcd, //0x00001639 addq %rcx, %r13 + 0x4d, 0x89, 0xe8, //0x0000163c movq %r13, %r8 + 0x48, 0x8b, 0x7d, 0xb0, //0x0000163f movq $-80(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb8, //0x00001643 movq $-72(%rbp), %rbx + //0x00001647 LBB0_292 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001647 movq $-1, %r11 + 0x48, 0x85, 0xff, //0x0000164e testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001651 movq $-56(%rbp), %rsi + 0x0f, 0x84, 0xcb, 0x0d, 0x00, 0x00, //0x00001655 je LBB0_439 + //0x0000165b LBB0_293 + 0x48, 0x85, 0xdb, //0x0000165b testq %rbx, %rbx + 0x0f, 0x84, 0xc2, 0x0d, 0x00, 0x00, //0x0000165e je LBB0_439 + 0x4d, 0x85, 0xf6, //0x00001664 testq %r14, %r14 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001667 movq $-64(%rbp), %r9 + 0x0f, 0x84, 0xb5, 0x0d, 0x00, 0x00, //0x0000166b je LBB0_439 + 0x4d, 0x29, 0xe0, //0x00001671 subq %r12, %r8 + 0x49, 0x8d, 0x40, 0xff, //0x00001674 leaq $-1(%r8), %rax + 0x48, 0x39, 0xc7, //0x00001678 cmpq %rax, %rdi + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x0000167b je LBB0_301 + 0x49, 0x39, 0xc6, //0x00001681 cmpq %rax, %r14 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x00001684 je LBB0_301 + 0x48, 0x39, 0xc3, //0x0000168a cmpq %rax, %rbx + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x0000168d je LBB0_301 + 0x48, 0x85, 0xdb, //0x00001693 testq %rbx, %rbx + 0x0f, 0x8e, 0x6e, 0x00, 0x00, 0x00, //0x00001696 jle LBB0_309 + 0x48, 0x8d, 0x43, 0xff, //0x0000169c leaq $-1(%rbx), %rax + 0x48, 0x39, 0xc7, //0x000016a0 cmpq %rax, %rdi + 0x0f, 0x84, 0x61, 0x00, 0x00, 0x00, //0x000016a3 je LBB0_309 + 0x48, 0xf7, 0xd3, //0x000016a9 notq %rbx + 0x49, 0x89, 0xdb, //0x000016ac movq %rbx, %r11 + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x000016af jmp LBB0_302 + //0x000016b4 LBB0_301 + 0x49, 0xf7, 0xd8, //0x000016b4 negq %r8 + 0x4d, 0x89, 0xc3, //0x000016b7 movq %r8, %r11 + //0x000016ba LBB0_302 + 0x4d, 0x85, 0xdb, //0x000016ba testq %r11, %r11 + 0x0f, 0x88, 0x63, 0x0d, 0x00, 0x00, //0x000016bd js LBB0_439 + //0x000016c3 LBB0_303 + 0x48, 0x8b, 0x4d, 0xa8, //0x000016c3 movq $-88(%rbp), %rcx + 0x49, 0x01, 0xcb, //0x000016c7 addq %rcx, %r11 + 0x4c, 0x89, 0x1e, //0x000016ca movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x000016cd movq %r15, %rax + 0x48, 0x85, 0xc9, //0x000016d0 testq %rcx, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x000016d3 movq $-48(%rbp), %r12 + 0x0f, 0x8f, 0xc3, 0xea, 0xff, 0xff, //0x000016d7 jg LBB0_2 + 0xe9, 0xb0, 0x0c, 0x00, 0x00, //0x000016dd jmp LBB0_423 + //0x000016e2 LBB0_304 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000016e2 movl $64, %ecx + 0x4d, 0x29, 0xe3, //0x000016e7 subq %r12, %r11 + 0x48, 0x39, 0xc1, //0x000016ea cmpq %rax, %rcx + 0x0f, 0x83, 0xd5, 0xf7, 0xff, 0xff, //0x000016ed jae LBB0_186 + 0xe9, 0x52, 0x0e, 0x00, 0x00, //0x000016f3 jmp LBB0_306 + //0x000016f8 LBB0_308 + 0x4d, 0x29, 0xd6, //0x000016f8 subq %r10, %r14 + 0x44, 0x0f, 0xbc, 0xde, //0x000016fb bsfl %esi, %r11d + 0x4d, 0x01, 0xf3, //0x000016ff addq %r14, %r11 + 0x49, 0xf7, 0xd3, //0x00001702 notq %r11 + 0xe9, 0xa6, 0x03, 0x00, 0x00, //0x00001705 jmp LBB0_326 + //0x0000170a LBB0_309 + 0x4c, 0x89, 0xf0, //0x0000170a movq %r14, %rax + 0x48, 0x09, 0xf8, //0x0000170d orq %rdi, %rax + 0x49, 0x39, 0xfe, //0x00001710 cmpq %rdi, %r14 + 0x0f, 0x8c, 0x66, 0x01, 0x00, 0x00, //0x00001713 jl LBB0_312 + 0x48, 0x85, 0xc0, //0x00001719 testq %rax, %rax + 0x0f, 0x88, 0x5d, 0x01, 0x00, 0x00, //0x0000171c js LBB0_312 + 0x49, 0xf7, 0xd6, //0x00001722 notq %r14 + 0x4d, 0x89, 0xf3, //0x00001725 movq %r14, %r11 + 0xe9, 0x8d, 0xff, 0xff, 0xff, //0x00001728 jmp LBB0_302 + //0x0000172d LBB0_49 + 0x4c, 0x8b, 0x5d, 0xb8, //0x0000172d movq $-72(%rbp), %r11 + 0x4d, 0x89, 0xd5, //0x00001731 movq %r10, %r13 + 0x49, 0x83, 0xfd, 0x20, //0x00001734 cmpq $32, %r13 + 0x0f, 0x82, 0x66, 0x08, 0x00, 0x00, //0x00001738 jb LBB0_366 + //0x0000173e LBB0_50 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x0000173e vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001743 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001749 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x0000174d vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001751 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00001755 vpmovmskb %xmm5, %edx + 0xc5, 0xe9, 0x74, 0xd1, //0x00001759 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x0000175d vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x00001761 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001765 vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001769 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x0000176d shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001771 orq %rax, %rdi + 0x49, 0x83, 0xf9, 0xff, //0x00001774 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001778 jne LBB0_52 + 0x48, 0x85, 0xff, //0x0000177e testq %rdi, %rdi + 0x0f, 0x85, 0xbc, 0x07, 0x00, 0x00, //0x00001781 jne LBB0_363 + //0x00001787 LBB0_52 + 0x48, 0x09, 0xca, //0x00001787 orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x0000178a movq %rdi, %rax + 0x4c, 0x09, 0xe0, //0x0000178d orq %r12, %rax + 0x0f, 0x85, 0xca, 0x07, 0x00, 0x00, //0x00001790 jne LBB0_364 + //0x00001796 LBB0_53 + 0x48, 0x85, 0xd2, //0x00001796 testq %rdx, %rdx + 0x0f, 0x84, 0xfd, 0x07, 0x00, 0x00, //0x00001799 je LBB0_365 + //0x0000179f LBB0_54 + 0x48, 0x0f, 0xbc, 0xc2, //0x0000179f bsfq %rdx, %rax + 0xe9, 0xdb, 0xed, 0xff, 0xff, //0x000017a3 jmp LBB0_58 + //0x000017a8 LBB0_113 + 0x4d, 0x89, 0xd3, //0x000017a8 movq %r10, %r11 + 0x48, 0x8b, 0x45, 0xb8, //0x000017ab movq $-72(%rbp), %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x000017af movq $-48(%rbp), %r12 + 0x48, 0x83, 0xf8, 0x20, //0x000017b3 cmpq $32, %rax + 0x0f, 0x82, 0x66, 0x02, 0x00, 0x00, //0x000017b7 jb LBB0_317 + //0x000017bd LBB0_114 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x000017bd vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x000017c2 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x000017c8 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x000017cc vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x000017d0 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x000017d4 vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xe9, //0x000017d8 vpcmpeqb %xmm1, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x000017dc vpmovmskb %xmm5, %edx + 0xc5, 0xd9, 0x74, 0xe9, //0x000017e0 vpcmpeqb %xmm1, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xdd, //0x000017e4 vpmovmskb %xmm5, %ebx + 0xc5, 0x81, 0x64, 0xea, //0x000017e8 vpcmpgtb %xmm2, %xmm15, %xmm5 + 0xc5, 0xe9, 0x64, 0xd3, //0x000017ec vpcmpgtb %xmm3, %xmm2, %xmm2 + 0xc5, 0xe9, 0xdb, 0xd5, //0x000017f0 vpand %xmm5, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x000017f4 vpmovmskb %xmm2, %r14d + 0xc5, 0x81, 0x64, 0xd4, //0x000017f8 vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x000017fc vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001800 vpand %xmm2, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001804 vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe6, 0x10, //0x00001808 shlq $16, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x0000180c shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00001810 orq %rbx, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x00001813 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001817 jne LBB0_116 + 0x48, 0x85, 0xd2, //0x0000181d testq %rdx, %rdx + 0x0f, 0x85, 0xf8, 0x07, 0x00, 0x00, //0x00001820 jne LBB0_373 + //0x00001826 LBB0_116 + 0x48, 0xc1, 0xe7, 0x10, //0x00001826 shlq $16, %rdi + 0x48, 0x09, 0xce, //0x0000182a orq %rcx, %rsi + 0x48, 0x89, 0xd1, //0x0000182d movq %rdx, %rcx + 0x4c, 0x09, 0xc1, //0x00001830 orq %r8, %rcx + 0x0f, 0x85, 0xcb, 0x06, 0x00, 0x00, //0x00001833 jne LBB0_362 + //0x00001839 LBB0_117 + 0x4c, 0x09, 0xf7, //0x00001839 orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x0000183c movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001841 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001846 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001849 je LBB0_119 + 0x48, 0x0f, 0xbc, 0xd6, //0x0000184f bsfq %rsi, %rdx + //0x00001853 LBB0_119 + 0x48, 0x85, 0xff, //0x00001853 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001856 je LBB0_121 + 0x48, 0x0f, 0xbc, 0xcf, //0x0000185c bsfq %rdi, %rcx + //0x00001860 LBB0_121 + 0x48, 0x85, 0xf6, //0x00001860 testq %rsi, %rsi + 0x0f, 0x84, 0xa9, 0x01, 0x00, 0x00, //0x00001863 je LBB0_315 + //0x00001869 LBB0_122 + 0x4d, 0x29, 0xe3, //0x00001869 subq %r12, %r11 + 0x48, 0x39, 0xd1, //0x0000186c cmpq %rdx, %rcx + 0x0f, 0x82, 0xd5, 0x0c, 0x00, 0x00, //0x0000186f jb LBB0_306 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001875 leaq $1(%r11,%rdx), %r11 + 0xe9, 0x4e, 0xf6, 0xff, 0xff, //0x0000187a jmp LBB0_187 + //0x0000187f LBB0_312 + 0x48, 0x85, 0xc0, //0x0000187f testq %rax, %rax + 0x48, 0x8d, 0x47, 0xff, //0x00001882 leaq $-1(%rdi), %rax + 0x48, 0xf7, 0xd7, //0x00001886 notq %rdi + 0x49, 0x0f, 0x48, 0xf8, //0x00001889 cmovsq %r8, %rdi + 0x49, 0x39, 0xc6, //0x0000188d cmpq %rax, %r14 + 0x49, 0x0f, 0x45, 0xf8, //0x00001890 cmovneq %r8, %rdi + 0x49, 0x89, 0xfb, //0x00001894 movq %rdi, %r11 + 0xe9, 0x1e, 0xfe, 0xff, 0xff, //0x00001897 jmp LBB0_302 + //0x0000189c LBB0_313 + 0x48, 0xf7, 0xd0, //0x0000189c notq %rax + 0x49, 0x89, 0xc3, //0x0000189f movq %rax, %r11 + 0xe9, 0x09, 0x02, 0x00, 0x00, //0x000018a2 jmp LBB0_326 + //0x000018a7 LBB0_314 + 0x48, 0x89, 0x4d, 0xa8, //0x000018a7 movq %rcx, $-88(%rbp) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000018ab movq $-1, %rax + 0x4d, 0x85, 0xed, //0x000018b2 testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x000018b5 movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x86, 0xf3, 0xff, 0xff, //0x000018b9 jne LBB0_151 + 0xe9, 0xbe, 0x0a, 0x00, 0x00, //0x000018bf jmp LBB0_420 + //0x000018c4 LBB0_134 + 0x4c, 0x8b, 0x5d, 0xb8, //0x000018c4 movq $-72(%rbp), %r11 + 0x4d, 0x89, 0xd5, //0x000018c8 movq %r10, %r13 + 0x49, 0x83, 0xfd, 0x20, //0x000018cb cmpq $32, %r13 + 0x0f, 0x82, 0x57, 0x08, 0x00, 0x00, //0x000018cf jb LBB0_382 + //0x000018d5 LBB0_135 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x000018d5 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x000018da vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x000018e0 vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x000018e4 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x000018e8 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x000018ec vpmovmskb %xmm5, %edx + 0xc5, 0xe9, 0x74, 0xd1, //0x000018f0 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000018f4 vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x000018f8 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x000018fc vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001900 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001904 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001908 orq %rax, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x0000190b cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000190f jne LBB0_137 + 0x48, 0x85, 0xff, //0x00001915 testq %rdi, %rdi + 0x0f, 0x85, 0xad, 0x07, 0x00, 0x00, //0x00001918 jne LBB0_379 + //0x0000191e LBB0_137 + 0x48, 0x09, 0xca, //0x0000191e orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00001921 movq %rdi, %rax + 0x4c, 0x09, 0xc8, //0x00001924 orq %r9, %rax + 0x0f, 0x85, 0xbb, 0x07, 0x00, 0x00, //0x00001927 jne LBB0_380 + //0x0000192d LBB0_138 + 0x48, 0x85, 0xd2, //0x0000192d testq %rdx, %rdx + 0x0f, 0x84, 0xee, 0x07, 0x00, 0x00, //0x00001930 je LBB0_381 + //0x00001936 LBB0_139 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001936 bsfq %rdx, %rax + 0xe9, 0x94, 0xf2, 0xff, 0xff, //0x0000193a jmp LBB0_143 + //0x0000193f LBB0_170 + 0x4d, 0x89, 0xc3, //0x0000193f movq %r8, %r11 + 0x4c, 0x89, 0xd0, //0x00001942 movq %r10, %rax + 0x48, 0x83, 0xf8, 0x20, //0x00001945 cmpq $32, %rax + 0x0f, 0x82, 0x7b, 0x01, 0x00, 0x00, //0x00001949 jb LBB0_329 + //0x0000194f LBB0_171 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x0000194f vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001954 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x0000195a vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0x79, 0xd7, 0xc5, //0x0000195e vpmovmskb %xmm5, %r8d + 0xc5, 0xd9, 0x74, 0xe8, //0x00001962 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x00001966 vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xe9, //0x0000196a vpcmpeqb %xmm1, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x0000196e vpmovmskb %xmm5, %edx + 0xc5, 0xd9, 0x74, 0xe9, //0x00001972 vpcmpeqb %xmm1, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001976 vpmovmskb %xmm5, %ecx + 0xc5, 0x81, 0x64, 0xea, //0x0000197a vpcmpgtb %xmm2, %xmm15, %xmm5 + 0xc5, 0xe9, 0x64, 0xd3, //0x0000197e vpcmpgtb %xmm3, %xmm2, %xmm2 + 0xc5, 0xe9, 0xdb, 0xd5, //0x00001982 vpand %xmm5, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001986 vpmovmskb %xmm2, %r14d + 0xc5, 0x81, 0x64, 0xd4, //0x0000198a vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x0000198e vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001992 vpand %xmm2, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001996 vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe6, 0x10, //0x0000199a shlq $16, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x0000199e shlq $16, %rcx + 0x48, 0x09, 0xca, //0x000019a2 orq %rcx, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x000019a5 cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000019a9 jne LBB0_173 + 0x48, 0x85, 0xd2, //0x000019af testq %rdx, %rdx + 0x0f, 0x85, 0x02, 0x08, 0x00, 0x00, //0x000019b2 jne LBB0_390 + //0x000019b8 LBB0_173 + 0x48, 0xc1, 0xe7, 0x10, //0x000019b8 shlq $16, %rdi + 0x4c, 0x09, 0xc6, //0x000019bc orq %r8, %rsi + 0x48, 0x89, 0xd1, //0x000019bf movq %rdx, %rcx + 0x4c, 0x09, 0xc9, //0x000019c2 orq %r9, %rcx + 0x0f, 0x85, 0x65, 0x06, 0x00, 0x00, //0x000019c5 jne LBB0_374 + //0x000019cb LBB0_174 + 0x4c, 0x09, 0xf7, //0x000019cb orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000019ce movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x000019d3 movl $64, %edx + 0x48, 0x85, 0xf6, //0x000019d8 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x000019db je LBB0_176 + 0x48, 0x0f, 0xbc, 0xd6, //0x000019e1 bsfq %rsi, %rdx + //0x000019e5 LBB0_176 + 0x48, 0x85, 0xff, //0x000019e5 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x000019e8 je LBB0_178 + 0x48, 0x0f, 0xbc, 0xcf, //0x000019ee bsfq %rdi, %rcx + //0x000019f2 LBB0_178 + 0x48, 0x85, 0xf6, //0x000019f2 testq %rsi, %rsi + 0x0f, 0x84, 0xbe, 0x00, 0x00, 0x00, //0x000019f5 je LBB0_327 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000019fb subq $-48(%rbp), %r11 + 0x48, 0x39, 0xd1, //0x000019ff cmpq %rdx, %rcx + 0x0f, 0x82, 0x83, 0x0b, 0x00, 0x00, //0x00001a02 jb LBB0_458 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001a08 leaq $1(%r11,%rdx), %r11 + 0xe9, 0xc8, 0xf1, 0xff, 0xff, //0x00001a0d jmp LBB0_144 + //0x00001a12 LBB0_315 + 0x48, 0x85, 0xff, //0x00001a12 testq %rdi, %rdi + 0x0f, 0x85, 0x5c, 0x0b, 0x00, 0x00, //0x00001a15 jne LBB0_457 + 0x49, 0x83, 0xc3, 0x20, //0x00001a1b addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001a1f addq $-32, %rax + //0x00001a23 LBB0_317 + 0x4d, 0x85, 0xc0, //0x00001a23 testq %r8, %r8 + 0x0f, 0x85, 0x6f, 0x06, 0x00, 0x00, //0x00001a26 jne LBB0_377 + 0x48, 0x85, 0xc0, //0x00001a2c testq %rax, %rax + 0x0f, 0x84, 0x2e, 0x09, 0x00, 0x00, //0x00001a2f je LBB0_416 + //0x00001a35 LBB0_319 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001a35 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001a39 cmpb $34, %cl + 0x0f, 0x84, 0xa4, 0x03, 0x00, 0x00, //0x00001a3c je LBB0_355 + 0x80, 0xf9, 0x5c, //0x00001a42 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001a45 je LBB0_323 + 0x80, 0xf9, 0x1f, //0x00001a4b cmpb $31, %cl + 0x0f, 0x86, 0x2f, 0x0b, 0x00, 0x00, //0x00001a4e jbe LBB0_461 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001a54 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001a5b movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001a60 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001a63 addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001a66 jne LBB0_319 + 0xe9, 0xf2, 0x08, 0x00, 0x00, //0x00001a6c jmp LBB0_416 + //0x00001a71 LBB0_323 + 0x48, 0x83, 0xf8, 0x01, //0x00001a71 cmpq $1, %rax + 0x0f, 0x84, 0xe8, 0x08, 0x00, 0x00, //0x00001a75 je LBB0_416 + 0x4c, 0x89, 0xd9, //0x00001a7b movq %r11, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001a7e movq $-48(%rbp), %r12 + 0x4c, 0x29, 0xe1, //0x00001a82 subq %r12, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001a85 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001a89 cmoveq %rcx, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001a8d movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001a94 movl $2, %edx + 0x49, 0x01, 0xd3, //0x00001a99 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001a9c addq %rcx, %rax + 0x0f, 0x85, 0x90, 0xff, 0xff, 0xff, //0x00001a9f jne LBB0_319 + 0xe9, 0xb9, 0x08, 0x00, 0x00, //0x00001aa5 jmp LBB0_416 + //0x00001aaa LBB0_325 + 0x48, 0xf7, 0xd6, //0x00001aaa notq %rsi + 0x49, 0x89, 0xf3, //0x00001aad movq %rsi, %r11 + //0x00001ab0 LBB0_326 + 0x48, 0x8b, 0x75, 0xc8, //0x00001ab0 movq $-56(%rbp), %rsi + 0xe9, 0xff, 0xf1, 0xff, 0xff, //0x00001ab4 jmp LBB0_160 + //0x00001ab9 LBB0_327 + 0x48, 0x85, 0xff, //0x00001ab9 testq %rdi, %rdi + 0x0f, 0x85, 0xdb, 0x0a, 0x00, 0x00, //0x00001abc jne LBB0_459 + 0x49, 0x83, 0xc3, 0x20, //0x00001ac2 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001ac6 addq $-32, %rax + //0x00001aca LBB0_329 + 0x4d, 0x85, 0xc9, //0x00001aca testq %r9, %r9 + 0x0f, 0x85, 0x2e, 0x07, 0x00, 0x00, //0x00001acd jne LBB0_393 + 0x48, 0x8b, 0x75, 0xc8, //0x00001ad3 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001ad7 movq $-64(%rbp), %r9 + 0x48, 0x85, 0xc0, //0x00001adb testq %rax, %rax + 0x0f, 0x84, 0xc7, 0x08, 0x00, 0x00, //0x00001ade je LBB0_425 + //0x00001ae4 LBB0_331 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001ae4 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001ae8 cmpb $34, %cl + 0x0f, 0x84, 0xa7, 0x00, 0x00, 0x00, //0x00001aeb je LBB0_340 + 0x80, 0xf9, 0x5c, //0x00001af1 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001af4 je LBB0_335 + 0x80, 0xf9, 0x1f, //0x00001afa cmpb $31, %cl + 0x0f, 0x86, 0xa3, 0x0a, 0x00, 0x00, //0x00001afd jbe LBB0_460 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001b03 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001b0a movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001b0f addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001b12 addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001b15 jne LBB0_331 + 0xe9, 0x8b, 0x08, 0x00, 0x00, //0x00001b1b jmp LBB0_425 + //0x00001b20 LBB0_335 + 0x48, 0x83, 0xf8, 0x01, //0x00001b20 cmpq $1, %rax + 0x0f, 0x84, 0x8f, 0x0a, 0x00, 0x00, //0x00001b24 je LBB0_462 + 0x4c, 0x89, 0xd9, //0x00001b2a movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x00001b2d subq $-48(%rbp), %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00001b31 cmpq $-1, %r12 + 0x4c, 0x0f, 0x44, 0xe1, //0x00001b35 cmoveq %rcx, %r12 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001b39 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001b40 movl $2, %edx + 0x48, 0x8b, 0x75, 0xc8, //0x00001b45 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001b49 movq $-64(%rbp), %r9 + 0x49, 0x01, 0xd3, //0x00001b4d addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001b50 addq %rcx, %rax + 0x0f, 0x85, 0x8b, 0xff, 0xff, 0xff, //0x00001b53 jne LBB0_331 + 0xe9, 0x4d, 0x08, 0x00, 0x00, //0x00001b59 jmp LBB0_425 + //0x00001b5e LBB0_418 + 0x48, 0xf7, 0xda, //0x00001b5e negq %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x00001b61 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x65, 0xd0, //0x00001b65 movq $-48(%rbp), %r12 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001b69 movq $-64(%rbp), %r9 + 0x49, 0x89, 0xd3, //0x00001b6d movq %rdx, %r11 + 0x4d, 0x85, 0xdb, //0x00001b70 testq %r11, %r11 + 0x0f, 0x89, 0x08, 0xe6, 0xff, 0xff, //0x00001b73 jns LBB0_258 + 0xe9, 0x01, 0x08, 0x00, 0x00, //0x00001b79 jmp LBB0_419 + //0x00001b7e LBB0_337 + 0x4d, 0x29, 0xe5, //0x00001b7e subq %r12, %r13 + 0x44, 0x0f, 0xbc, 0xdf, //0x00001b81 bsfl %edi, %r11d + 0x4d, 0x01, 0xeb, //0x00001b85 addq %r13, %r11 + //0x00001b88 LBB0_338 + 0x49, 0xf7, 0xd3, //0x00001b88 notq %r11 + //0x00001b8b LBB0_339 + 0x48, 0x8b, 0x75, 0xc8, //0x00001b8b movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001b8f movq $-64(%rbp), %r9 + 0xe9, 0x22, 0xfb, 0xff, 0xff, //0x00001b93 jmp LBB0_302 + //0x00001b98 LBB0_340 + 0x4c, 0x03, 0x5d, 0x98, //0x00001b98 addq $-104(%rbp), %r11 + 0xe9, 0x9f, 0xf3, 0xff, 0xff, //0x00001b9c jmp LBB0_195 + //0x00001ba1 LBB0_208 + 0x4d, 0x89, 0xc3, //0x00001ba1 movq %r8, %r11 + 0x4c, 0x8b, 0x65, 0xb8, //0x00001ba4 movq $-72(%rbp), %r12 + 0x49, 0x83, 0xfc, 0x20, //0x00001ba8 cmpq $32, %r12 + 0x0f, 0x82, 0x69, 0x00, 0x00, 0x00, //0x00001bac jb LBB0_399 + //0x00001bb2 LBB0_209 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00001bb2 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001bb7 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001bbd vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001bc1 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001bc5 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00001bc9 vpmovmskb %xmm5, %edx + 0xc5, 0xe9, 0x74, 0xd1, //0x00001bcd vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001bd1 vpmovmskb %xmm2, %edi + 0xc5, 0xd9, 0x74, 0xd1, //0x00001bd5 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001bd9 vpmovmskb %xmm2, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001bdd shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001be1 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00001be5 orq %rax, %rdi + 0x49, 0x83, 0xf9, 0xff, //0x00001be8 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001bec jne LBB0_211 + 0x48, 0x85, 0xff, //0x00001bf2 testq %rdi, %rdi + 0x0f, 0x85, 0x75, 0x06, 0x00, 0x00, //0x00001bf5 jne LBB0_396 + //0x00001bfb LBB0_211 + 0x48, 0x09, 0xca, //0x00001bfb orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00001bfe movq %rdi, %rax + 0x4c, 0x09, 0xd0, //0x00001c01 orq %r10, %rax + 0x0f, 0x85, 0x83, 0x06, 0x00, 0x00, //0x00001c04 jne LBB0_397 + //0x00001c0a LBB0_212 + 0x48, 0x85, 0xd2, //0x00001c0a testq %rdx, %rdx + 0x0f, 0x85, 0x8c, 0xfb, 0xff, 0xff, //0x00001c0d jne LBB0_54 + //0x00001c13 LBB0_398 + 0x49, 0x83, 0xc3, 0x20, //0x00001c13 addq $32, %r11 + 0x49, 0x83, 0xc4, 0xe0, //0x00001c17 addq $-32, %r12 + //0x00001c1b LBB0_399 + 0x4d, 0x85, 0xd2, //0x00001c1b testq %r10, %r10 + 0x0f, 0x85, 0xbe, 0x06, 0x00, 0x00, //0x00001c1e jne LBB0_411 + 0x4d, 0x85, 0xe4, //0x00001c24 testq %r12, %r12 + 0x0f, 0x84, 0x36, 0x07, 0x00, 0x00, //0x00001c27 je LBB0_416 + //0x00001c2d LBB0_401 + 0x49, 0x8d, 0x4b, 0x01, //0x00001c2d leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x00001c31 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x00001c35 cmpb $34, %bl + 0x0f, 0x84, 0x20, 0x02, 0x00, 0x00, //0x00001c38 je LBB0_406 + 0x49, 0x8d, 0x54, 0x24, 0xff, //0x00001c3e leaq $-1(%r12), %rdx + 0x80, 0xfb, 0x5c, //0x00001c43 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001c46 je LBB0_404 + 0x49, 0x89, 0xd4, //0x00001c4c movq %rdx, %r12 + 0x49, 0x89, 0xcb, //0x00001c4f movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x00001c52 testq %rdx, %rdx + 0x0f, 0x85, 0xd2, 0xff, 0xff, 0xff, //0x00001c55 jne LBB0_401 + 0xe9, 0x03, 0x07, 0x00, 0x00, //0x00001c5b jmp LBB0_416 + //0x00001c60 LBB0_404 + 0x48, 0x85, 0xd2, //0x00001c60 testq %rdx, %rdx + 0x0f, 0x84, 0xfa, 0x06, 0x00, 0x00, //0x00001c63 je LBB0_416 + 0x48, 0x03, 0x4d, 0xa0, //0x00001c69 addq $-96(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001c6d cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001c71 cmoveq %rcx, %r9 + 0x49, 0x83, 0xc3, 0x02, //0x00001c75 addq $2, %r11 + 0x49, 0x83, 0xc4, 0xfe, //0x00001c79 addq $-2, %r12 + 0x4c, 0x89, 0xe2, //0x00001c7d movq %r12, %rdx + 0x48, 0x85, 0xd2, //0x00001c80 testq %rdx, %rdx + 0x0f, 0x85, 0xa4, 0xff, 0xff, 0xff, //0x00001c83 jne LBB0_401 + 0xe9, 0xd5, 0x06, 0x00, 0x00, //0x00001c89 jmp LBB0_416 + //0x00001c8e LBB0_277 + 0x4d, 0x89, 0xe3, //0x00001c8e movq %r12, %r11 + 0x4c, 0x89, 0xd0, //0x00001c91 movq %r10, %rax + 0x48, 0x83, 0xf8, 0x20, //0x00001c94 cmpq $32, %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x00001c98 movq $-48(%rbp), %r12 + 0x0f, 0x82, 0xbd, 0x00, 0x00, 0x00, //0x00001c9c jb LBB0_345 + //0x00001ca2 LBB0_278 + 0xc4, 0xc1, 0x7a, 0x6f, 0x13, //0x00001ca2 vmovdqu (%r11), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x63, 0x10, //0x00001ca7 vmovdqu $16(%r11), %xmm4 + 0xc5, 0xe9, 0x74, 0xe8, //0x00001cad vpcmpeqb %xmm0, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xcd, //0x00001cb1 vpmovmskb %xmm5, %ecx + 0xc5, 0xd9, 0x74, 0xe8, //0x00001cb5 vpcmpeqb %xmm0, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xf5, //0x00001cb9 vpmovmskb %xmm5, %esi + 0xc5, 0xe9, 0x74, 0xe9, //0x00001cbd vpcmpeqb %xmm1, %xmm2, %xmm5 + 0xc5, 0xf9, 0xd7, 0xd5, //0x00001cc1 vpmovmskb %xmm5, %edx + 0xc5, 0xd9, 0x74, 0xe9, //0x00001cc5 vpcmpeqb %xmm1, %xmm4, %xmm5 + 0xc5, 0xf9, 0xd7, 0xdd, //0x00001cc9 vpmovmskb %xmm5, %ebx + 0xc5, 0x81, 0x64, 0xea, //0x00001ccd vpcmpgtb %xmm2, %xmm15, %xmm5 + 0xc5, 0xe9, 0x64, 0xd3, //0x00001cd1 vpcmpgtb %xmm3, %xmm2, %xmm2 + 0xc5, 0xe9, 0xdb, 0xd5, //0x00001cd5 vpand %xmm5, %xmm2, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00001cd9 vpmovmskb %xmm2, %r14d + 0xc5, 0x81, 0x64, 0xd4, //0x00001cdd vpcmpgtb %xmm4, %xmm15, %xmm2 + 0xc5, 0xd9, 0x64, 0xe3, //0x00001ce1 vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xd2, //0x00001ce5 vpand %xmm2, %xmm4, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x00001ce9 vpmovmskb %xmm2, %edi + 0x48, 0xc1, 0xe6, 0x10, //0x00001ced shlq $16, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x00001cf1 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00001cf5 orq %rbx, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x00001cf8 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001cfc jne LBB0_280 + 0x48, 0x85, 0xd2, //0x00001d02 testq %rdx, %rdx + 0x0f, 0x85, 0xc5, 0x05, 0x00, 0x00, //0x00001d05 jne LBB0_408 + //0x00001d0b LBB0_280 + 0x48, 0xc1, 0xe7, 0x10, //0x00001d0b shlq $16, %rdi + 0x48, 0x09, 0xce, //0x00001d0f orq %rcx, %rsi + 0x48, 0x89, 0xd1, //0x00001d12 movq %rdx, %rcx + 0x4c, 0x09, 0xc1, //0x00001d15 orq %r8, %rcx + 0x0f, 0x85, 0x17, 0x05, 0x00, 0x00, //0x00001d18 jne LBB0_395 + //0x00001d1e LBB0_281 + 0x4c, 0x09, 0xf7, //0x00001d1e orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001d21 movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001d26 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001d2b testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001d2e je LBB0_283 + 0x48, 0x0f, 0xbc, 0xd6, //0x00001d34 bsfq %rsi, %rdx + //0x00001d38 LBB0_283 + 0x48, 0x85, 0xff, //0x00001d38 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001d3b je LBB0_285 + 0x48, 0x0f, 0xbc, 0xcf, //0x00001d41 bsfq %rdi, %rcx + //0x00001d45 LBB0_285 + 0x48, 0x85, 0xf6, //0x00001d45 testq %rsi, %rsi + 0x0f, 0x85, 0x1b, 0xfb, 0xff, 0xff, //0x00001d48 jne LBB0_122 + 0x48, 0x85, 0xff, //0x00001d4e testq %rdi, %rdi + 0x0f, 0x85, 0x20, 0x08, 0x00, 0x00, //0x00001d51 jne LBB0_457 + 0x49, 0x83, 0xc3, 0x20, //0x00001d57 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001d5b addq $-32, %rax + //0x00001d5f LBB0_345 + 0x4d, 0x85, 0xc0, //0x00001d5f testq %r8, %r8 + 0x0f, 0x85, 0xa6, 0x05, 0x00, 0x00, //0x00001d62 jne LBB0_409 + 0x48, 0x85, 0xc0, //0x00001d68 testq %rax, %rax + 0x0f, 0x84, 0xf2, 0x05, 0x00, 0x00, //0x00001d6b je LBB0_416 + //0x00001d71 LBB0_347 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001d71 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001d75 cmpb $34, %cl + 0x0f, 0x84, 0x68, 0x00, 0x00, 0x00, //0x00001d78 je LBB0_355 + 0x80, 0xf9, 0x5c, //0x00001d7e cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001d81 je LBB0_351 + 0x80, 0xf9, 0x1f, //0x00001d87 cmpb $31, %cl + 0x0f, 0x86, 0xf3, 0x07, 0x00, 0x00, //0x00001d8a jbe LBB0_461 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001d90 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001d97 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001d9c addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001d9f addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001da2 jne LBB0_347 + 0xe9, 0xb6, 0x05, 0x00, 0x00, //0x00001da8 jmp LBB0_416 + //0x00001dad LBB0_351 + 0x48, 0x83, 0xf8, 0x01, //0x00001dad cmpq $1, %rax + 0x0f, 0x84, 0xac, 0x05, 0x00, 0x00, //0x00001db1 je LBB0_416 + 0x4c, 0x89, 0xd9, //0x00001db7 movq %r11, %rcx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001dba movq $-48(%rbp), %r12 + 0x4c, 0x29, 0xe1, //0x00001dbe subq %r12, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001dc1 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001dc5 cmoveq %rcx, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001dc9 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001dd0 movl $2, %edx + 0x49, 0x01, 0xd3, //0x00001dd5 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001dd8 addq %rcx, %rax + 0x0f, 0x85, 0x90, 0xff, 0xff, 0xff, //0x00001ddb jne LBB0_347 + 0xe9, 0x7d, 0x05, 0x00, 0x00, //0x00001de1 jmp LBB0_416 + //0x00001de6 LBB0_355 + 0x4c, 0x03, 0x5d, 0x98, //0x00001de6 addq $-104(%rbp), %r11 + 0xe9, 0xde, 0xf0, 0xff, 0xff, //0x00001dea jmp LBB0_187 + //0x00001def LBB0_341 + 0x49, 0x89, 0xc8, //0x00001def movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001df2 movq $-1, %r11 + 0x48, 0x85, 0xff, //0x00001df9 testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001dfc movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x55, 0xf8, 0xff, 0xff, //0x00001e00 jne LBB0_293 + 0xe9, 0x1b, 0x06, 0x00, 0x00, //0x00001e06 jmp LBB0_439 + //0x00001e0b LBB0_342 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001e0b movq $-1, %r11 + 0x4c, 0x89, 0x55, 0xa8, //0x00001e12 movq %r10, $-88(%rbp) + 0x49, 0x89, 0xf9, //0x00001e16 movq %rdi, %r9 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00001e19 movq $-1, %r13 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001e20 movq $-1, %r12 + 0xe9, 0x54, 0xe9, 0xff, 0xff, //0x00001e27 jmp LBB0_90 + //0x00001e2c LBB0_353 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001e2c movq $-1, %r9 + 0x45, 0x31, 0xe4, //0x00001e33 xorl %r12d, %r12d + 0x49, 0x83, 0xfd, 0x20, //0x00001e36 cmpq $32, %r13 + 0x0f, 0x83, 0xfe, 0xf8, 0xff, 0xff, //0x00001e3a jae LBB0_50 + 0xe9, 0x5f, 0x01, 0x00, 0x00, //0x00001e40 jmp LBB0_366 + //0x00001e45 LBB0_354 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001e45 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001e4c xorl %r8d, %r8d + 0x48, 0x83, 0xf8, 0x20, //0x00001e4f cmpq $32, %rax + 0x0f, 0x83, 0x64, 0xf9, 0xff, 0xff, //0x00001e53 jae LBB0_114 + 0xe9, 0xc5, 0xfb, 0xff, 0xff, //0x00001e59 jmp LBB0_317 + //0x00001e5e LBB0_406 + 0x4c, 0x8b, 0x65, 0xd0, //0x00001e5e movq $-48(%rbp), %r12 + //0x00001e62 LBB0_407 + 0x4c, 0x29, 0xe1, //0x00001e62 subq %r12, %rcx + 0x49, 0x89, 0xcb, //0x00001e65 movq %rcx, %r11 + 0xe9, 0x60, 0xf0, 0xff, 0xff, //0x00001e68 jmp LBB0_187 + //0x00001e6d LBB0_356 + 0x49, 0xf7, 0xdb, //0x00001e6d negq %r11 + 0xe9, 0x16, 0xfd, 0xff, 0xff, //0x00001e70 jmp LBB0_339 + //0x00001e75 LBB0_357 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001e75 movq $-1, %r12 + 0x45, 0x31, 0xc9, //0x00001e7c xorl %r9d, %r9d + 0x49, 0x83, 0xfd, 0x20, //0x00001e7f cmpq $32, %r13 + 0x0f, 0x83, 0x4c, 0xfa, 0xff, 0xff, //0x00001e83 jae LBB0_135 + 0xe9, 0x9e, 0x02, 0x00, 0x00, //0x00001e89 jmp LBB0_382 + //0x00001e8e LBB0_358 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001e8e movq $-1, %r12 + 0x45, 0x31, 0xc9, //0x00001e95 xorl %r9d, %r9d + 0x48, 0x83, 0xf8, 0x20, //0x00001e98 cmpq $32, %rax + 0x0f, 0x83, 0xad, 0xfa, 0xff, 0xff, //0x00001e9c jae LBB0_171 + 0xe9, 0x23, 0xfc, 0xff, 0xff, //0x00001ea2 jmp LBB0_329 + //0x00001ea7 LBB0_359 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001ea7 movq $-1, %r14 + 0x4d, 0x89, 0xe0, //0x00001eae movq %r12, %r8 + 0x4d, 0x89, 0xd1, //0x00001eb1 movq %r10, %r9 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00001eb4 movq $-1, %rdi + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001ebb movq $-1, %rbx + 0x48, 0x8d, 0x35, 0x03, 0x09, 0x00, 0x00, //0x00001ec2 leaq $2307(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0xe9, 0x14, 0xf4, 0xff, 0xff, //0x00001ec9 jmp LBB0_239 + //0x00001ece LBB0_360 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001ece movq $-1, %r9 + 0x45, 0x31, 0xd2, //0x00001ed5 xorl %r10d, %r10d + 0x49, 0x83, 0xfc, 0x20, //0x00001ed8 cmpq $32, %r12 + 0x0f, 0x83, 0xd0, 0xfc, 0xff, 0xff, //0x00001edc jae LBB0_209 + 0xe9, 0x34, 0xfd, 0xff, 0xff, //0x00001ee2 jmp LBB0_399 + //0x00001ee7 LBB0_361 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001ee7 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001eee xorl %r8d, %r8d + 0x48, 0x83, 0xf8, 0x20, //0x00001ef1 cmpq $32, %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x00001ef5 movq $-48(%rbp), %r12 + 0x0f, 0x83, 0xa3, 0xfd, 0xff, 0xff, //0x00001ef9 jae LBB0_278 + 0xe9, 0x5b, 0xfe, 0xff, 0xff, //0x00001eff jmp LBB0_345 + //0x00001f04 LBB0_362 + 0x44, 0x89, 0xc1, //0x00001f04 movl %r8d, %ecx + 0xf7, 0xd1, //0x00001f07 notl %ecx + 0x21, 0xd1, //0x00001f09 andl %edx, %ecx + 0x44, 0x8d, 0x24, 0x09, //0x00001f0b leal (%rcx,%rcx), %r12d + 0x45, 0x09, 0xc4, //0x00001f0f orl %r8d, %r12d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f12 movl $2863311530, %ebx + 0x44, 0x31, 0xe3, //0x00001f17 xorl %r12d, %ebx + 0x21, 0xd3, //0x00001f1a andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f1c andl $-1431655766, %ebx + 0x45, 0x31, 0xc0, //0x00001f22 xorl %r8d, %r8d + 0x01, 0xcb, //0x00001f25 addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc0, //0x00001f27 setb %r8b + 0x01, 0xdb, //0x00001f2b addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x00001f2d xorl $1431655765, %ebx + 0x44, 0x21, 0xe3, //0x00001f33 andl %r12d, %ebx + 0x4c, 0x8b, 0x65, 0xd0, //0x00001f36 movq $-48(%rbp), %r12 + 0xf7, 0xd3, //0x00001f3a notl %ebx + 0x21, 0xde, //0x00001f3c andl %ebx, %esi + 0xe9, 0xf6, 0xf8, 0xff, 0xff, //0x00001f3e jmp LBB0_117 + //0x00001f43 LBB0_363 + 0x4c, 0x89, 0xd8, //0x00001f43 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00001f46 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xcf, //0x00001f4a bsfq %rdi, %r9 + 0x49, 0x01, 0xc1, //0x00001f4e addq %rax, %r9 + 0x48, 0x09, 0xca, //0x00001f51 orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00001f54 movq %rdi, %rax + 0x4c, 0x09, 0xe0, //0x00001f57 orq %r12, %rax + 0x0f, 0x84, 0x36, 0xf8, 0xff, 0xff, //0x00001f5a je LBB0_53 + //0x00001f60 LBB0_364 + 0x44, 0x89, 0xe0, //0x00001f60 movl %r12d, %eax + 0xf7, 0xd0, //0x00001f63 notl %eax + 0x21, 0xf8, //0x00001f65 andl %edi, %eax + 0x8d, 0x0c, 0x00, //0x00001f67 leal (%rax,%rax), %ecx + 0x44, 0x09, 0xe1, //0x00001f6a orl %r12d, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f6d movl $2863311530, %esi + 0x31, 0xce, //0x00001f72 xorl %ecx, %esi + 0x21, 0xfe, //0x00001f74 andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f76 andl $-1431655766, %esi + 0x45, 0x31, 0xe4, //0x00001f7c xorl %r12d, %r12d + 0x01, 0xc6, //0x00001f7f addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc4, //0x00001f81 setb %r12b + 0x01, 0xf6, //0x00001f85 addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x00001f87 xorl $1431655765, %esi + 0x21, 0xce, //0x00001f8d andl %ecx, %esi + 0xf7, 0xd6, //0x00001f8f notl %esi + 0x21, 0xf2, //0x00001f91 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x00001f93 testq %rdx, %rdx + 0x0f, 0x85, 0x03, 0xf8, 0xff, 0xff, //0x00001f96 jne LBB0_54 + //0x00001f9c LBB0_365 + 0x49, 0x83, 0xc3, 0x20, //0x00001f9c addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x00001fa0 addq $-32, %r13 + //0x00001fa4 LBB0_366 + 0x4d, 0x85, 0xe4, //0x00001fa4 testq %r12, %r12 + 0x0f, 0x85, 0xbe, 0x00, 0x00, 0x00, //0x00001fa7 jne LBB0_375 + 0x4c, 0x8b, 0x65, 0xd0, //0x00001fad movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xed, //0x00001fb1 testq %r13, %r13 + 0x0f, 0x84, 0xa9, 0x03, 0x00, 0x00, //0x00001fb4 je LBB0_416 + //0x00001fba LBB0_368 + 0x49, 0x8d, 0x4b, 0x01, //0x00001fba leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x00001fbe movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x00001fc2 cmpb $34, %bl + 0x0f, 0x84, 0x97, 0xfe, 0xff, 0xff, //0x00001fc5 je LBB0_407 + 0x49, 0x8d, 0x55, 0xff, //0x00001fcb leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x00001fcf cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001fd2 je LBB0_371 + 0x49, 0x89, 0xd5, //0x00001fd8 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x00001fdb movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x00001fde testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x00001fe1 jne LBB0_368 + 0xe9, 0x77, 0x03, 0x00, 0x00, //0x00001fe7 jmp LBB0_416 + //0x00001fec LBB0_371 + 0x48, 0x85, 0xd2, //0x00001fec testq %rdx, %rdx + 0x0f, 0x84, 0x6e, 0x03, 0x00, 0x00, //0x00001fef je LBB0_416 + 0x48, 0x03, 0x4d, 0xa0, //0x00001ff5 addq $-96(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001ff9 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001ffd cmoveq %rcx, %r9 + 0x49, 0x83, 0xc3, 0x02, //0x00002001 addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x00002005 addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x00002009 movq %r13, %rdx + 0x4c, 0x8b, 0x65, 0xd0, //0x0000200c movq $-48(%rbp), %r12 + 0x48, 0x85, 0xd2, //0x00002010 testq %rdx, %rdx + 0x0f, 0x85, 0xa1, 0xff, 0xff, 0xff, //0x00002013 jne LBB0_368 + 0xe9, 0x45, 0x03, 0x00, 0x00, //0x00002019 jmp LBB0_416 + //0x0000201e LBB0_373 + 0x4c, 0x89, 0xdb, //0x0000201e movq %r11, %rbx + 0x4c, 0x29, 0xe3, //0x00002021 subq %r12, %rbx + 0x4c, 0x0f, 0xbc, 0xca, //0x00002024 bsfq %rdx, %r9 + 0x49, 0x01, 0xd9, //0x00002028 addq %rbx, %r9 + 0xe9, 0xf6, 0xf7, 0xff, 0xff, //0x0000202b jmp LBB0_116 + //0x00002030 LBB0_374 + 0x44, 0x89, 0xc9, //0x00002030 movl %r9d, %ecx + 0xf7, 0xd1, //0x00002033 notl %ecx + 0x21, 0xd1, //0x00002035 andl %edx, %ecx + 0x44, 0x8d, 0x04, 0x09, //0x00002037 leal (%rcx,%rcx), %r8d + 0x45, 0x09, 0xc8, //0x0000203b orl %r9d, %r8d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000203e movl $2863311530, %ebx + 0x44, 0x31, 0xc3, //0x00002043 xorl %r8d, %ebx + 0x21, 0xd3, //0x00002046 andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002048 andl $-1431655766, %ebx + 0x45, 0x31, 0xc9, //0x0000204e xorl %r9d, %r9d + 0x01, 0xcb, //0x00002051 addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc1, //0x00002053 setb %r9b + 0x01, 0xdb, //0x00002057 addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x00002059 xorl $1431655765, %ebx + 0x44, 0x21, 0xc3, //0x0000205f andl %r8d, %ebx + 0xf7, 0xd3, //0x00002062 notl %ebx + 0x21, 0xde, //0x00002064 andl %ebx, %esi + 0xe9, 0x60, 0xf9, 0xff, 0xff, //0x00002066 jmp LBB0_174 + //0x0000206b LBB0_375 + 0x4d, 0x85, 0xed, //0x0000206b testq %r13, %r13 + 0x0f, 0x84, 0xef, 0x02, 0x00, 0x00, //0x0000206e je LBB0_416 + 0x48, 0x8b, 0x45, 0xa0, //0x00002074 movq $-96(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x00002078 addq %r11, %rax + 0x49, 0x83, 0xf9, 0xff, //0x0000207b cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc8, //0x0000207f cmoveq %rax, %r9 + 0x49, 0xff, 0xc3, //0x00002083 incq %r11 + 0x49, 0xff, 0xcd, //0x00002086 decq %r13 + 0x4c, 0x8b, 0x65, 0xd0, //0x00002089 movq $-48(%rbp), %r12 + 0x4d, 0x85, 0xed, //0x0000208d testq %r13, %r13 + 0x0f, 0x85, 0x24, 0xff, 0xff, 0xff, //0x00002090 jne LBB0_368 + 0xe9, 0xc8, 0x02, 0x00, 0x00, //0x00002096 jmp LBB0_416 + //0x0000209b LBB0_377 + 0x48, 0x85, 0xc0, //0x0000209b testq %rax, %rax + 0x0f, 0x84, 0xbf, 0x02, 0x00, 0x00, //0x0000209e je LBB0_416 + 0x48, 0x8b, 0x4d, 0xa0, //0x000020a4 movq $-96(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x000020a8 addq %r11, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x000020ab cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x000020af cmoveq %rcx, %r9 + 0x49, 0xff, 0xc3, //0x000020b3 incq %r11 + 0x48, 0xff, 0xc8, //0x000020b6 decq %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x000020b9 movq $-48(%rbp), %r12 + 0x48, 0x85, 0xc0, //0x000020bd testq %rax, %rax + 0x0f, 0x85, 0x6f, 0xf9, 0xff, 0xff, //0x000020c0 jne LBB0_319 + 0xe9, 0x98, 0x02, 0x00, 0x00, //0x000020c6 jmp LBB0_416 + //0x000020cb LBB0_379 + 0x4c, 0x89, 0xd8, //0x000020cb movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000020ce subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xe7, //0x000020d2 bsfq %rdi, %r12 + 0x49, 0x01, 0xc4, //0x000020d6 addq %rax, %r12 + 0x48, 0x09, 0xca, //0x000020d9 orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x000020dc movq %rdi, %rax + 0x4c, 0x09, 0xc8, //0x000020df orq %r9, %rax + 0x0f, 0x84, 0x45, 0xf8, 0xff, 0xff, //0x000020e2 je LBB0_138 + //0x000020e8 LBB0_380 + 0x44, 0x89, 0xc8, //0x000020e8 movl %r9d, %eax + 0xf7, 0xd0, //0x000020eb notl %eax + 0x21, 0xf8, //0x000020ed andl %edi, %eax + 0x8d, 0x0c, 0x00, //0x000020ef leal (%rax,%rax), %ecx + 0x44, 0x09, 0xc9, //0x000020f2 orl %r9d, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x000020f5 movl $2863311530, %esi + 0x31, 0xce, //0x000020fa xorl %ecx, %esi + 0x21, 0xfe, //0x000020fc andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x000020fe andl $-1431655766, %esi + 0x45, 0x31, 0xc9, //0x00002104 xorl %r9d, %r9d + 0x01, 0xc6, //0x00002107 addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc1, //0x00002109 setb %r9b + 0x01, 0xf6, //0x0000210d addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x0000210f xorl $1431655765, %esi + 0x21, 0xce, //0x00002115 andl %ecx, %esi + 0xf7, 0xd6, //0x00002117 notl %esi + 0x21, 0xf2, //0x00002119 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x0000211b testq %rdx, %rdx + 0x0f, 0x85, 0x12, 0xf8, 0xff, 0xff, //0x0000211e jne LBB0_139 + //0x00002124 LBB0_381 + 0x49, 0x83, 0xc3, 0x20, //0x00002124 addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x00002128 addq $-32, %r13 + //0x0000212c LBB0_382 + 0x4d, 0x85, 0xc9, //0x0000212c testq %r9, %r9 + 0x0f, 0x85, 0x98, 0x00, 0x00, 0x00, //0x0000212f jne LBB0_391 + 0x48, 0x8b, 0x75, 0xc8, //0x00002135 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00002139 movq $-64(%rbp), %r9 + 0x4d, 0x85, 0xed, //0x0000213d testq %r13, %r13 + 0x0f, 0x84, 0x65, 0x02, 0x00, 0x00, //0x00002140 je LBB0_425 + //0x00002146 LBB0_384 + 0x49, 0x8d, 0x4b, 0x01, //0x00002146 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x0000214a movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x0000214e cmpb $34, %bl + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x00002151 je LBB0_389 + 0x49, 0x8d, 0x55, 0xff, //0x00002157 leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x0000215b cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000215e je LBB0_387 + 0x49, 0x89, 0xd5, //0x00002164 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x00002167 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x0000216a testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x0000216d jne LBB0_384 + 0xe9, 0x33, 0x02, 0x00, 0x00, //0x00002173 jmp LBB0_425 + //0x00002178 LBB0_387 + 0x48, 0x85, 0xd2, //0x00002178 testq %rdx, %rdx + 0x0f, 0x84, 0x38, 0x04, 0x00, 0x00, //0x0000217b je LBB0_462 + 0x48, 0x03, 0x4d, 0xa0, //0x00002181 addq $-96(%rbp), %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00002185 cmpq $-1, %r12 + 0x4c, 0x0f, 0x44, 0xe1, //0x00002189 cmoveq %rcx, %r12 + 0x49, 0x83, 0xc3, 0x02, //0x0000218d addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x00002191 addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x00002195 movq %r13, %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x00002198 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x0000219c movq $-64(%rbp), %r9 + 0x48, 0x85, 0xd2, //0x000021a0 testq %rdx, %rdx + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x000021a3 jne LBB0_384 + 0xe9, 0xfd, 0x01, 0x00, 0x00, //0x000021a9 jmp LBB0_425 + //0x000021ae LBB0_389 + 0x48, 0x2b, 0x4d, 0xd0, //0x000021ae subq $-48(%rbp), %rcx + 0x49, 0x89, 0xcb, //0x000021b2 movq %rcx, %r11 + 0xe9, 0x86, 0xed, 0xff, 0xff, //0x000021b5 jmp LBB0_195 + //0x000021ba LBB0_390 + 0x4c, 0x89, 0xd9, //0x000021ba movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x000021bd subq $-48(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xe2, //0x000021c1 bsfq %rdx, %r12 + 0x49, 0x01, 0xcc, //0x000021c5 addq %rcx, %r12 + 0xe9, 0xeb, 0xf7, 0xff, 0xff, //0x000021c8 jmp LBB0_173 + //0x000021cd LBB0_391 + 0x4d, 0x85, 0xed, //0x000021cd testq %r13, %r13 + 0x0f, 0x84, 0xe3, 0x03, 0x00, 0x00, //0x000021d0 je LBB0_462 + 0x48, 0x8b, 0x45, 0xa0, //0x000021d6 movq $-96(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000021da addq %r11, %rax + 0x49, 0x83, 0xfc, 0xff, //0x000021dd cmpq $-1, %r12 + 0x4c, 0x0f, 0x44, 0xe0, //0x000021e1 cmoveq %rax, %r12 + 0x49, 0xff, 0xc3, //0x000021e5 incq %r11 + 0x49, 0xff, 0xcd, //0x000021e8 decq %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x000021eb movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x000021ef movq $-64(%rbp), %r9 + 0x4d, 0x85, 0xed, //0x000021f3 testq %r13, %r13 + 0x0f, 0x85, 0x4a, 0xff, 0xff, 0xff, //0x000021f6 jne LBB0_384 + 0xe9, 0xaa, 0x01, 0x00, 0x00, //0x000021fc jmp LBB0_425 + //0x00002201 LBB0_393 + 0x48, 0x85, 0xc0, //0x00002201 testq %rax, %rax + 0x0f, 0x84, 0xaf, 0x03, 0x00, 0x00, //0x00002204 je LBB0_462 + 0x48, 0x8b, 0x4d, 0xa0, //0x0000220a movq $-96(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x0000220e addq %r11, %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00002211 cmpq $-1, %r12 + 0x4c, 0x0f, 0x44, 0xe1, //0x00002215 cmoveq %rcx, %r12 + 0x49, 0xff, 0xc3, //0x00002219 incq %r11 + 0x48, 0xff, 0xc8, //0x0000221c decq %rax + 0x48, 0x8b, 0x75, 0xc8, //0x0000221f movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x00002223 movq $-64(%rbp), %r9 + 0x48, 0x85, 0xc0, //0x00002227 testq %rax, %rax + 0x0f, 0x85, 0xb4, 0xf8, 0xff, 0xff, //0x0000222a jne LBB0_331 + 0xe9, 0x76, 0x01, 0x00, 0x00, //0x00002230 jmp LBB0_425 + //0x00002235 LBB0_395 + 0x44, 0x89, 0xc1, //0x00002235 movl %r8d, %ecx + 0xf7, 0xd1, //0x00002238 notl %ecx + 0x21, 0xd1, //0x0000223a andl %edx, %ecx + 0x44, 0x8d, 0x14, 0x09, //0x0000223c leal (%rcx,%rcx), %r10d + 0x45, 0x09, 0xc2, //0x00002240 orl %r8d, %r10d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002243 movl $2863311530, %ebx + 0x44, 0x31, 0xd3, //0x00002248 xorl %r10d, %ebx + 0x21, 0xd3, //0x0000224b andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000224d andl $-1431655766, %ebx + 0x45, 0x31, 0xc0, //0x00002253 xorl %r8d, %r8d + 0x01, 0xcb, //0x00002256 addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc0, //0x00002258 setb %r8b + 0x01, 0xdb, //0x0000225c addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x0000225e xorl $1431655765, %ebx + 0x44, 0x21, 0xd3, //0x00002264 andl %r10d, %ebx + 0xf7, 0xd3, //0x00002267 notl %ebx + 0x21, 0xde, //0x00002269 andl %ebx, %esi + 0xe9, 0xae, 0xfa, 0xff, 0xff, //0x0000226b jmp LBB0_281 + //0x00002270 LBB0_396 + 0x4c, 0x89, 0xd8, //0x00002270 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00002273 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xcf, //0x00002277 bsfq %rdi, %r9 + 0x49, 0x01, 0xc1, //0x0000227b addq %rax, %r9 + 0x48, 0x09, 0xca, //0x0000227e orq %rcx, %rdx + 0x48, 0x89, 0xf8, //0x00002281 movq %rdi, %rax + 0x4c, 0x09, 0xd0, //0x00002284 orq %r10, %rax + 0x0f, 0x84, 0x7d, 0xf9, 0xff, 0xff, //0x00002287 je LBB0_212 + //0x0000228d LBB0_397 + 0x44, 0x89, 0xd0, //0x0000228d movl %r10d, %eax + 0xf7, 0xd0, //0x00002290 notl %eax + 0x21, 0xf8, //0x00002292 andl %edi, %eax + 0x8d, 0x0c, 0x00, //0x00002294 leal (%rax,%rax), %ecx + 0x44, 0x09, 0xd1, //0x00002297 orl %r10d, %ecx + 0x89, 0xce, //0x0000229a movl %ecx, %esi + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000229c movl $2863311530, %ebx + 0x31, 0xde, //0x000022a1 xorl %ebx, %esi + 0x21, 0xfe, //0x000022a3 andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022a5 andl $-1431655766, %esi + 0x45, 0x31, 0xd2, //0x000022ab xorl %r10d, %r10d + 0x01, 0xc6, //0x000022ae addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc2, //0x000022b0 setb %r10b + 0x01, 0xf6, //0x000022b4 addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x000022b6 xorl $1431655765, %esi + 0x21, 0xce, //0x000022bc andl %ecx, %esi + 0xf7, 0xd6, //0x000022be notl %esi + 0x21, 0xf2, //0x000022c0 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x000022c2 testq %rdx, %rdx + 0x0f, 0x85, 0xd4, 0xf4, 0xff, 0xff, //0x000022c5 jne LBB0_54 + 0xe9, 0x43, 0xf9, 0xff, 0xff, //0x000022cb jmp LBB0_398 + //0x000022d0 LBB0_408 + 0x4c, 0x89, 0xdb, //0x000022d0 movq %r11, %rbx + 0x4c, 0x29, 0xe3, //0x000022d3 subq %r12, %rbx + 0x4c, 0x0f, 0xbc, 0xca, //0x000022d6 bsfq %rdx, %r9 + 0x49, 0x01, 0xd9, //0x000022da addq %rbx, %r9 + 0xe9, 0x29, 0xfa, 0xff, 0xff, //0x000022dd jmp LBB0_280 + //0x000022e2 LBB0_411 + 0x4d, 0x85, 0xe4, //0x000022e2 testq %r12, %r12 + 0x0f, 0x84, 0x78, 0x00, 0x00, 0x00, //0x000022e5 je LBB0_416 + 0x48, 0x8b, 0x45, 0xa0, //0x000022eb movq $-96(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000022ef addq %r11, %rax + 0x49, 0x83, 0xf9, 0xff, //0x000022f2 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc8, //0x000022f6 cmoveq %rax, %r9 + 0x49, 0xff, 0xc3, //0x000022fa incq %r11 + 0x49, 0xff, 0xcc, //0x000022fd decq %r12 + 0x4d, 0x85, 0xe4, //0x00002300 testq %r12, %r12 + 0x0f, 0x85, 0x24, 0xf9, 0xff, 0xff, //0x00002303 jne LBB0_401 + 0xe9, 0x55, 0x00, 0x00, 0x00, //0x00002309 jmp LBB0_416 + //0x0000230e LBB0_409 + 0x48, 0x85, 0xc0, //0x0000230e testq %rax, %rax + 0x0f, 0x84, 0x4c, 0x00, 0x00, 0x00, //0x00002311 je LBB0_416 + 0x48, 0x8b, 0x4d, 0xa0, //0x00002317 movq $-96(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x0000231b addq %r11, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x0000231e cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00002322 cmoveq %rcx, %r9 + 0x49, 0xff, 0xc3, //0x00002326 incq %r11 + 0x48, 0xff, 0xc8, //0x00002329 decq %rax + 0x4c, 0x8b, 0x65, 0xd0, //0x0000232c movq $-48(%rbp), %r12 + 0x48, 0x85, 0xc0, //0x00002330 testq %rax, %rax + 0x0f, 0x85, 0x38, 0xfa, 0xff, 0xff, //0x00002333 jne LBB0_347 + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00002339 jmp LBB0_416 + //0x0000233e LBB0_413 + 0x48, 0x89, 0x16, //0x0000233e movq %rdx, (%rsi) + //0x00002341 LBB0_414 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002341 movq $-1, %rax + 0xe9, 0x45, 0x00, 0x00, 0x00, //0x00002348 jmp LBB0_423 + //0x0000234d LBB0_441 + 0x48, 0xc7, 0xc0, 0xf9, 0xff, 0xff, 0xff, //0x0000234d movq $-7, %rax + 0xe9, 0x39, 0x00, 0x00, 0x00, //0x00002354 jmp LBB0_423 + //0x00002359 LBB0_415 + 0x49, 0x83, 0xfb, 0xff, //0x00002359 cmpq $-1, %r11 + 0x0f, 0x85, 0x7f, 0x00, 0x00, 0x00, //0x0000235d jne LBB0_307 + //0x00002363 LBB0_416 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00002363 movq $-1, %r11 + 0x4c, 0x8b, 0x4d, 0xb0, //0x0000236a movq $-80(%rbp), %r9 + 0xe9, 0x6f, 0x00, 0x00, 0x00, //0x0000236e jmp LBB0_307 + //0x00002373 LBB0_417 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002373 movq $-1, %rax + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x0000237a jmp LBB0_420 + //0x0000237f LBB0_419 + 0x4c, 0x89, 0xd8, //0x0000237f movq %r11, %rax + //0x00002382 LBB0_420 + 0x48, 0xf7, 0xd0, //0x00002382 notq %rax + 0x49, 0x01, 0xc7, //0x00002385 addq %rax, %r15 + //0x00002388 LBB0_421 + 0x4c, 0x89, 0x3e, //0x00002388 movq %r15, (%rsi) + //0x0000238b LBB0_422 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000238b movq $-2, %rax + //0x00002392 LBB0_423 + 0x48, 0x83, 0xc4, 0x68, //0x00002392 addq $104, %rsp + 0x5b, //0x00002396 popq %rbx + 0x41, 0x5c, //0x00002397 popq %r12 + 0x41, 0x5d, //0x00002399 popq %r13 + 0x41, 0x5e, //0x0000239b popq %r14 + 0x41, 0x5f, //0x0000239d popq %r15 + 0x5d, //0x0000239f popq %rbp + 0xc3, //0x000023a0 retq + //0x000023a1 LBB0_424 + 0x49, 0x83, 0xfb, 0xff, //0x000023a1 cmpq $-1, %r11 + 0x0f, 0x85, 0x69, 0x00, 0x00, 0x00, //0x000023a5 jne LBB0_437 + //0x000023ab LBB0_425 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000023ab movq $-1, %r11 + 0x4c, 0x8b, 0x65, 0xb0, //0x000023b2 movq $-80(%rbp), %r12 + 0xe9, 0x59, 0x00, 0x00, 0x00, //0x000023b6 jmp LBB0_437 + //0x000023bb LBB0_440 + 0x48, 0x89, 0x0e, //0x000023bb movq %rcx, (%rsi) + 0xe9, 0xcf, 0xff, 0xff, 0xff, //0x000023be jmp LBB0_423 + //0x000023c3 LBB0_426 + 0x49, 0x83, 0xf9, 0xff, //0x000023c3 cmpq $-1, %r9 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000023c7 jne LBB0_431 + 0x49, 0x0f, 0xbc, 0xc4, //0x000023cd bsfq %r12, %rax + //0x000023d1 LBB0_428 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000023d1 subq $-48(%rbp), %r11 + //0x000023d5 LBB0_429 + 0x49, 0x01, 0xc3, //0x000023d5 addq %rax, %r11 + //0x000023d8 LBB0_430 + 0x4d, 0x89, 0xd9, //0x000023d8 movq %r11, %r9 + //0x000023db LBB0_431 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000023db movq $-2, %r11 + //0x000023e2 LBB0_307 + 0x48, 0x8b, 0x45, 0xc8, //0x000023e2 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x000023e6 movq %r9, (%rax) + 0x4c, 0x89, 0xd8, //0x000023e9 movq %r11, %rax + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x000023ec jmp LBB0_423 + //0x000023f1 LBB0_432 + 0x49, 0x83, 0xfc, 0xff, //0x000023f1 cmpq $-1, %r12 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000023f5 jne LBB0_435 + 0x48, 0x0f, 0xbc, 0xc2, //0x000023fb bsfq %rdx, %rax + //0x000023ff LBB0_434 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000023ff subq $-48(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00002403 addq %rax, %r11 + 0x4d, 0x89, 0xdc, //0x00002406 movq %r11, %r12 + //0x00002409 LBB0_435 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002409 movq $-2, %r11 + //0x00002410 LBB0_436 + 0x48, 0x8b, 0x75, 0xc8, //0x00002410 movq $-56(%rbp), %rsi + //0x00002414 LBB0_437 + 0x4c, 0x89, 0x26, //0x00002414 movq %r12, (%rsi) + 0x4c, 0x89, 0xd8, //0x00002417 movq %r11, %rax + 0xe9, 0x73, 0xff, 0xff, 0xff, //0x0000241a jmp LBB0_423 + //0x0000241f LBB0_438 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000241f movq $-1, %r11 + //0x00002426 LBB0_439 + 0x4d, 0x29, 0xdf, //0x00002426 subq %r11, %r15 + 0xe9, 0x5a, 0xff, 0xff, 0xff, //0x00002429 jmp LBB0_421 + //0x0000242e LBB0_442 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000242e movq $-2, %rax + 0x80, 0xf9, 0x61, //0x00002435 cmpb $97, %cl + 0x0f, 0x85, 0x54, 0xff, 0xff, 0xff, //0x00002438 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x02, //0x0000243e leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002442 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x02, 0x6c, //0x00002445 cmpb $108, $2(%r12,%r15) + 0x0f, 0x85, 0x41, 0xff, 0xff, 0xff, //0x0000244b jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x03, //0x00002451 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002455 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x03, 0x73, //0x00002458 cmpb $115, $3(%r12,%r15) + 0x0f, 0x85, 0x2e, 0xff, 0xff, 0xff, //0x0000245e jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x04, //0x00002464 leaq $4(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002468 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x04, 0x65, //0x0000246b cmpb $101, $4(%r12,%r15) + 0x0f, 0x85, 0x1b, 0xff, 0xff, 0xff, //0x00002471 jne LBB0_423 + 0x49, 0x83, 0xc7, 0x05, //0x00002477 addq $5, %r15 + 0x4c, 0x89, 0x3e, //0x0000247b movq %r15, (%rsi) + 0xe9, 0x0f, 0xff, 0xff, 0xff, //0x0000247e jmp LBB0_423 + //0x00002483 LBB0_247 + 0x4c, 0x89, 0x3e, //0x00002483 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00002486 movq $-2, %rax + 0x41, 0x80, 0x3a, 0x6e, //0x0000248d cmpb $110, (%r10) + 0x0f, 0x85, 0xfb, 0xfe, 0xff, 0xff, //0x00002491 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x01, //0x00002497 leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x0000249b movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x01, 0x75, //0x0000249e cmpb $117, $1(%r12,%r15) + 0x0f, 0x85, 0xe8, 0xfe, 0xff, 0xff, //0x000024a4 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x02, //0x000024aa leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024ae movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x02, 0x6c, //0x000024b1 cmpb $108, $2(%r12,%r15) + 0x0f, 0x85, 0xd5, 0xfe, 0xff, 0xff, //0x000024b7 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x03, //0x000024bd leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024c1 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x03, 0x6c, //0x000024c4 cmpb $108, $3(%r12,%r15) + 0x0f, 0x85, 0xc2, 0xfe, 0xff, 0xff, //0x000024ca jne LBB0_423 + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x000024d0 jmp LBB0_451 + //0x000024d5 LBB0_447 + 0x4c, 0x89, 0x3e, //0x000024d5 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000024d8 movq $-2, %rax + 0x41, 0x80, 0x3a, 0x74, //0x000024df cmpb $116, (%r10) + 0x0f, 0x85, 0xa9, 0xfe, 0xff, 0xff, //0x000024e3 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x01, //0x000024e9 leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000024ed movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x01, 0x72, //0x000024f0 cmpb $114, $1(%r12,%r15) + 0x0f, 0x85, 0x96, 0xfe, 0xff, 0xff, //0x000024f6 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x02, //0x000024fc leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002500 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x02, 0x75, //0x00002503 cmpb $117, $2(%r12,%r15) + 0x0f, 0x85, 0x83, 0xfe, 0xff, 0xff, //0x00002509 jne LBB0_423 + 0x49, 0x8d, 0x4f, 0x03, //0x0000250f leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002513 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3c, 0x03, 0x65, //0x00002516 cmpb $101, $3(%r12,%r15) + 0x0f, 0x85, 0x70, 0xfe, 0xff, 0xff, //0x0000251c jne LBB0_423 + //0x00002522 LBB0_451 + 0x49, 0x83, 0xc7, 0x04, //0x00002522 addq $4, %r15 + 0x4c, 0x89, 0x3e, //0x00002526 movq %r15, (%rsi) + 0xe9, 0x64, 0xfe, 0xff, 0xff, //0x00002529 jmp LBB0_423 + //0x0000252e LBB0_452 + 0x49, 0x83, 0xf9, 0xff, //0x0000252e cmpq $-1, %r9 + 0x0f, 0x85, 0xa3, 0xfe, 0xff, 0xff, //0x00002532 jne LBB0_431 + 0x48, 0x0f, 0xbc, 0xc2, //0x00002538 bsfq %rdx, %rax + 0xe9, 0x90, 0xfe, 0xff, 0xff, //0x0000253c jmp LBB0_428 + //0x00002541 LBB0_456 + 0x4c, 0x89, 0x5d, 0xb0, //0x00002541 movq %r11, $-80(%rbp) + 0xe9, 0x19, 0xfe, 0xff, 0xff, //0x00002545 jmp LBB0_416 + //0x0000254a LBB0_306 + 0x4c, 0x01, 0xd9, //0x0000254a addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000254d movq $-2, %r11 + 0x49, 0x89, 0xc9, //0x00002554 movq %rcx, %r9 + 0xe9, 0x86, 0xfe, 0xff, 0xff, //0x00002557 jmp LBB0_307 + //0x0000255c LBB0_454 + 0x4c, 0x89, 0x5d, 0xb0, //0x0000255c movq %r11, $-80(%rbp) + 0xe9, 0x46, 0xfe, 0xff, 0xff, //0x00002560 jmp LBB0_425 + //0x00002565 LBB0_455 + 0x4c, 0x01, 0xd9, //0x00002565 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002568 movq $-2, %r11 + 0x49, 0x89, 0xcc, //0x0000256f movq %rcx, %r12 + 0xe9, 0x9d, 0xfe, 0xff, 0xff, //0x00002572 jmp LBB0_437 + //0x00002577 LBB0_457 + 0x48, 0x0f, 0xbc, 0xc7, //0x00002577 bsfq %rdi, %rax + 0x4d, 0x29, 0xe3, //0x0000257b subq %r12, %r11 + 0xe9, 0x52, 0xfe, 0xff, 0xff, //0x0000257e jmp LBB0_429 + //0x00002583 LBB0_461 + 0x4d, 0x29, 0xe3, //0x00002583 subq %r12, %r11 + 0xe9, 0x4d, 0xfe, 0xff, 0xff, //0x00002586 jmp LBB0_430 + //0x0000258b LBB0_458 + 0x4c, 0x01, 0xd9, //0x0000258b addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000258e movq $-2, %r11 + 0x49, 0x89, 0xcc, //0x00002595 movq %rcx, %r12 + 0xe9, 0x73, 0xfe, 0xff, 0xff, //0x00002598 jmp LBB0_436 + //0x0000259d LBB0_459 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000259d bsfq %rdi, %rax + 0xe9, 0x59, 0xfe, 0xff, 0xff, //0x000025a1 jmp LBB0_434 + //0x000025a6 LBB0_460 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000025a6 subq $-48(%rbp), %r11 + 0x4d, 0x89, 0xdc, //0x000025aa movq %r11, %r12 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000025ad movq $-2, %r11 + 0xe9, 0x5b, 0xfe, 0xff, 0xff, //0x000025b4 jmp LBB0_437 + //0x000025b9 LBB0_462 + 0x48, 0x8b, 0x75, 0xc8, //0x000025b9 movq $-56(%rbp), %rsi + 0xe9, 0xe9, 0xfd, 0xff, 0xff, //0x000025bd jmp LBB0_425 + 0x90, 0x90, //0x000025c2 .p2align 2, 0x90 + // // .set L0_0_set_33, LBB0_33-LJTI0_0 + // // .set L0_0_set_37, LBB0_37-LJTI0_0 + // // .set L0_0_set_39, LBB0_39-LJTI0_0 + // // .set L0_0_set_59, LBB0_59-LJTI0_0 + // // .set L0_0_set_61, LBB0_61-LJTI0_0 + // // .set L0_0_set_64, LBB0_64-LJTI0_0 + //0x000025c4 LJTI0_0 + 0xc3, 0xdd, 0xff, 0xff, //0x000025c4 .long L0_0_set_33 + 0xeb, 0xdd, 0xff, 0xff, //0x000025c8 .long L0_0_set_37 + 0x16, 0xde, 0xff, 0xff, //0x000025cc .long L0_0_set_39 + 0xcf, 0xdf, 0xff, 0xff, //0x000025d0 .long L0_0_set_59 + 0xe5, 0xdf, 0xff, 0xff, //0x000025d4 .long L0_0_set_61 + 0x55, 0xe2, 0xff, 0xff, //0x000025d8 .long L0_0_set_64 + // // .set L0_1_set_423, LBB0_423-LJTI0_1 + // // .set L0_1_set_422, LBB0_422-LJTI0_1 + // // .set L0_1_set_199, LBB0_199-LJTI0_1 + // // .set L0_1_set_215, LBB0_215-LJTI0_1 + // // .set L0_1_set_66, LBB0_66-LJTI0_1 + // // .set L0_1_set_240, LBB0_240-LJTI0_1 + // // .set L0_1_set_242, LBB0_242-LJTI0_1 + // // .set L0_1_set_245, LBB0_245-LJTI0_1 + // // .set L0_1_set_251, LBB0_251-LJTI0_1 + // // .set L0_1_set_255, LBB0_255-LJTI0_1 + //0x000025dc LJTI0_1 + 0xb6, 0xfd, 0xff, 0xff, //0x000025dc .long L0_1_set_423 + 0xaf, 0xfd, 0xff, 0xff, //0x000025e0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025e4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025e8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025ec .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025f0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025f4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025f8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000025fc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002600 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002604 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002608 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000260c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002610 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002614 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002618 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000261c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002620 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002624 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002628 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000262c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002630 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002634 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002638 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000263c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002640 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002644 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002648 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000264c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002650 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002654 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002658 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000265c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002660 .long L0_1_set_422 + 0xa6, 0xe9, 0xff, 0xff, //0x00002664 .long L0_1_set_199 + 0xaf, 0xfd, 0xff, 0xff, //0x00002668 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000266c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002670 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002674 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002678 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000267c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002680 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002684 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002688 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000268c .long L0_1_set_422 + 0x38, 0xeb, 0xff, 0xff, //0x00002690 .long L0_1_set_215 + 0xaf, 0xfd, 0xff, 0xff, //0x00002694 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002698 .long L0_1_set_422 + 0xfd, 0xdf, 0xff, 0xff, //0x0000269c .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026a0 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026a4 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026a8 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026ac .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026b0 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026b4 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026b8 .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026bc .long L0_1_set_66 + 0xfd, 0xdf, 0xff, 0xff, //0x000026c0 .long L0_1_set_66 + 0xaf, 0xfd, 0xff, 0xff, //0x000026c4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026c8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026cc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026d0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026d4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026d8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026dc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026e0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026e4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026e8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026ec .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026f0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026f4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026f8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000026fc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002700 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002704 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002708 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000270c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002710 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002714 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002718 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000271c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002720 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002724 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002728 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000272c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002730 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002734 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002738 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000273c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002740 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002744 .long L0_1_set_422 + 0x0f, 0xed, 0xff, 0xff, //0x00002748 .long L0_1_set_240 + 0xaf, 0xfd, 0xff, 0xff, //0x0000274c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002750 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002754 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002758 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000275c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002760 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002764 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002768 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000276c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002770 .long L0_1_set_422 + 0x33, 0xed, 0xff, 0xff, //0x00002774 .long L0_1_set_242 + 0xaf, 0xfd, 0xff, 0xff, //0x00002778 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000277c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002780 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002784 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002788 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000278c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x00002790 .long L0_1_set_422 + 0x64, 0xed, 0xff, 0xff, //0x00002794 .long L0_1_set_245 + 0xaf, 0xfd, 0xff, 0xff, //0x00002798 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x0000279c .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027a0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027a4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027a8 .long L0_1_set_422 + 0x8b, 0xed, 0xff, 0xff, //0x000027ac .long L0_1_set_251 + 0xaf, 0xfd, 0xff, 0xff, //0x000027b0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027b4 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027b8 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027bc .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027c0 .long L0_1_set_422 + 0xaf, 0xfd, 0xff, 0xff, //0x000027c4 .long L0_1_set_422 + 0xc8, 0xed, 0xff, 0xff, //0x000027c8 .long L0_1_set_255 + // // .set L0_2_set_264, LBB0_264-LJTI0_2 + // // .set L0_2_set_292, LBB0_292-LJTI0_2 + // // .set L0_2_set_259, LBB0_259-LJTI0_2 + // // .set L0_2_set_261, LBB0_261-LJTI0_2 + // // .set L0_2_set_266, LBB0_266-LJTI0_2 + //0x000027cc LJTI0_2 + 0x3d, 0xec, 0xff, 0xff, //0x000027cc .long L0_2_set_264 + 0x7b, 0xee, 0xff, 0xff, //0x000027d0 .long L0_2_set_292 + 0x3d, 0xec, 0xff, 0xff, //0x000027d4 .long L0_2_set_264 + 0xfc, 0xeb, 0xff, 0xff, //0x000027d8 .long L0_2_set_259 + 0x7b, 0xee, 0xff, 0xff, //0x000027dc .long L0_2_set_292 + 0x14, 0xec, 0xff, 0xff, //0x000027e0 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027e4 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027e8 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027ec .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027f0 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027f4 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027f8 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x000027fc .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x00002800 .long L0_2_set_261 + 0x14, 0xec, 0xff, 0xff, //0x00002804 .long L0_2_set_261 + 0x7b, 0xee, 0xff, 0xff, //0x00002808 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000280c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002810 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002814 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002818 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000281c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002820 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002824 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002828 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000282c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002830 .long L0_2_set_292 + 0x58, 0xec, 0xff, 0xff, //0x00002834 .long L0_2_set_266 + 0x7b, 0xee, 0xff, 0xff, //0x00002838 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000283c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002840 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002844 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002848 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000284c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002850 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002854 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002858 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000285c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002860 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002864 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002868 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000286c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002870 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002874 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002878 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000287c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002880 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002884 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002888 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000288c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002890 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002894 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x00002898 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x0000289c .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028a0 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028a4 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028a8 .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028ac .long L0_2_set_292 + 0x7b, 0xee, 0xff, 0xff, //0x000028b0 .long L0_2_set_292 + 0x58, 0xec, 0xff, 0xff, //0x000028b4 .long L0_2_set_266 + // // .set L0_3_set_94, LBB0_94-LJTI0_3 + // // .set L0_3_set_149, LBB0_149-LJTI0_3 + // // .set L0_3_set_98, LBB0_98-LJTI0_3 + // // .set L0_3_set_91, LBB0_91-LJTI0_3 + // // .set L0_3_set_96, LBB0_96-LJTI0_3 + //0x000028b8 LJTI0_3 + 0x10, 0xdf, 0xff, 0xff, //0x000028b8 .long L0_3_set_94 + 0x75, 0xe3, 0xff, 0xff, //0x000028bc .long L0_3_set_149 + 0x10, 0xdf, 0xff, 0xff, //0x000028c0 .long L0_3_set_94 + 0x46, 0xdf, 0xff, 0xff, //0x000028c4 .long L0_3_set_98 + 0x75, 0xe3, 0xff, 0xff, //0x000028c8 .long L0_3_set_149 + 0xe8, 0xde, 0xff, 0xff, //0x000028cc .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028d0 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028d4 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028d8 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028dc .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028e0 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028e4 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028e8 .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028ec .long L0_3_set_91 + 0xe8, 0xde, 0xff, 0xff, //0x000028f0 .long L0_3_set_91 + 0x75, 0xe3, 0xff, 0xff, //0x000028f4 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x000028f8 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x000028fc .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002900 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002904 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002908 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000290c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002910 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002914 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002918 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000291c .long L0_3_set_149 + 0x2b, 0xdf, 0xff, 0xff, //0x00002920 .long L0_3_set_96 + 0x75, 0xe3, 0xff, 0xff, //0x00002924 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002928 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000292c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002930 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002934 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002938 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000293c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002940 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002944 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002948 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000294c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002950 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002954 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002958 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000295c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002960 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002964 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002968 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000296c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002970 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002974 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002978 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000297c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002980 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002984 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002988 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000298c .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002990 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002994 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x00002998 .long L0_3_set_149 + 0x75, 0xe3, 0xff, 0xff, //0x0000299c .long L0_3_set_149 + 0x2b, 0xdf, 0xff, 0xff, //0x000029a0 .long L0_3_set_96 + //0x000029a4 .p2align 2, 0x00 + //0x000029a4 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x000029a4 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8.go b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8.go new file mode 100644 index 0000000..df95d22 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8.go @@ -0,0 +1,39 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_validate_utf8 func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int) + +var S_validate_utf8 uintptr + +//go:nosplit +func validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) { + return F_validate_utf8(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m))) +} + + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_fast.go b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_fast.go new file mode 100644 index 0000000..364d40e --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_fast.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_validate_utf8_fast func(s unsafe.Pointer) (ret int) + +var S_validate_utf8_fast uintptr + +//go:nosplit +func validate_utf8_fast(s *string) (ret int) { + return F_validate_utf8_fast(rt.NoEscape(unsafe.Pointer(s))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_fast_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_fast_subr.go new file mode 100644 index 0000000..8ed55a0 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_fast_subr.go @@ -0,0 +1,41 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__validate_utf8_fast = 0 +) + +const ( + _stack__validate_utf8_fast = 24 +) + +const ( + _size__validate_utf8_fast = 536 +) + +var ( + _pcsp__validate_utf8_fast = [][2]uint32{ + {1, 0}, + {4, 8}, + {5, 16}, + {247, 24}, + {251, 16}, + {252, 8}, + {253, 0}, + {527, 24}, + {531, 16}, + {532, 8}, + {534, 0}, + } +) + +var _cfunc_validate_utf8_fast = []loader.CFunc{ + {"_validate_utf8_fast_entry", 0, _entry__validate_utf8_fast, 0, nil}, + {"_validate_utf8_fast", _entry__validate_utf8_fast, _size__validate_utf8_fast, _stack__validate_utf8_fast, _pcsp__validate_utf8_fast}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_fast_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_fast_text_amd64.go new file mode 100644 index 0000000..4e37b8f --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_fast_text_amd64.go @@ -0,0 +1,156 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_validate_utf8_fast = []byte{ + // .p2align 4, 0x90 + // _validate_utf8_fast + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x53, //0x00000004 pushq %rbx + 0x50, //0x00000005 pushq %rax + 0x4c, 0x8b, 0x17, //0x00000006 movq (%rdi), %r10 + 0x4c, 0x8b, 0x5f, 0x08, //0x00000009 movq $8(%rdi), %r11 + 0x4b, 0x8d, 0x74, 0x1a, 0xfd, //0x0000000d leaq $-3(%r10,%r11), %rsi + 0x4c, 0x89, 0xd0, //0x00000012 movq %r10, %rax + 0x49, 0x39, 0xf2, //0x00000015 cmpq %rsi, %r10 + 0x0f, 0x83, 0xe0, 0x00, 0x00, 0x00, //0x00000018 jae LBB0_14 + 0x4c, 0x89, 0xd0, //0x0000001e movq %r10, %rax + 0xe9, 0x16, 0x00, 0x00, 0x00, //0x00000021 jmp LBB0_3 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000026 .p2align 4, 0x90 + //0x00000030 LBB0_2 + 0x48, 0x01, 0xd0, //0x00000030 addq %rdx, %rax + 0x48, 0x39, 0xf0, //0x00000033 cmpq %rsi, %rax + 0x0f, 0x83, 0xc2, 0x00, 0x00, 0x00, //0x00000036 jae LBB0_14 + //0x0000003c LBB0_3 + 0xba, 0x01, 0x00, 0x00, 0x00, //0x0000003c movl $1, %edx + 0x80, 0x38, 0x00, //0x00000041 cmpb $0, (%rax) + 0x0f, 0x89, 0xe6, 0xff, 0xff, 0xff, //0x00000044 jns LBB0_2 + 0x8b, 0x38, //0x0000004a movl (%rax), %edi + 0x89, 0xf9, //0x0000004c movl %edi, %ecx + 0x81, 0xe1, 0xf0, 0xc0, 0xc0, 0x00, //0x0000004e andl $12632304, %ecx + 0x81, 0xf9, 0xe0, 0x80, 0x80, 0x00, //0x00000054 cmpl $8421600, %ecx + 0x0f, 0x85, 0x30, 0x00, 0x00, 0x00, //0x0000005a jne LBB0_7 + 0x89, 0xf9, //0x00000060 movl %edi, %ecx + 0x81, 0xe1, 0x0f, 0x20, 0x00, 0x00, //0x00000062 andl $8207, %ecx + 0x81, 0xf9, 0x0d, 0x20, 0x00, 0x00, //0x00000068 cmpl $8205, %ecx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x0000006e je LBB0_7 + 0xba, 0x03, 0x00, 0x00, 0x00, //0x00000074 movl $3, %edx + 0x85, 0xc9, //0x00000079 testl %ecx, %ecx + 0x0f, 0x85, 0xaf, 0xff, 0xff, 0xff, //0x0000007b jne LBB0_2 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000081 .p2align 4, 0x90 + //0x00000090 LBB0_7 + 0x89, 0xf9, //0x00000090 movl %edi, %ecx + 0x81, 0xe1, 0xe0, 0xc0, 0x00, 0x00, //0x00000092 andl $49376, %ecx + 0x81, 0xf9, 0xc0, 0x80, 0x00, 0x00, //0x00000098 cmpl $32960, %ecx + 0x0f, 0x85, 0x10, 0x00, 0x00, 0x00, //0x0000009e jne LBB0_9 + 0x89, 0xf9, //0x000000a4 movl %edi, %ecx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x000000a6 movl $2, %edx + 0x83, 0xe1, 0x1e, //0x000000ab andl $30, %ecx + 0x0f, 0x85, 0x7c, 0xff, 0xff, 0xff, //0x000000ae jne LBB0_2 + //0x000000b4 LBB0_9 + 0x89, 0xf9, //0x000000b4 movl %edi, %ecx + 0x81, 0xe1, 0xf8, 0xc0, 0xc0, 0xc0, //0x000000b6 andl $-1061109512, %ecx + 0x81, 0xf9, 0xf0, 0x80, 0x80, 0x80, //0x000000bc cmpl $-2139062032, %ecx + 0x0f, 0x85, 0x29, 0x00, 0x00, 0x00, //0x000000c2 jne LBB0_13 + 0x89, 0xf9, //0x000000c8 movl %edi, %ecx + 0x81, 0xe1, 0x07, 0x30, 0x00, 0x00, //0x000000ca andl $12295, %ecx + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x000000d0 je LBB0_13 + 0xba, 0x04, 0x00, 0x00, 0x00, //0x000000d6 movl $4, %edx + 0x40, 0xf6, 0xc7, 0x04, //0x000000db testb $4, %dil + 0x0f, 0x84, 0x4b, 0xff, 0xff, 0xff, //0x000000df je LBB0_2 + 0x81, 0xe7, 0x03, 0x30, 0x00, 0x00, //0x000000e5 andl $12291, %edi + 0x0f, 0x84, 0x3f, 0xff, 0xff, 0xff, //0x000000eb je LBB0_2 + //0x000000f1 LBB0_13 + 0x48, 0xf7, 0xd0, //0x000000f1 notq %rax + 0x4c, 0x01, 0xd0, //0x000000f4 addq %r10, %rax + 0x48, 0x83, 0xc4, 0x08, //0x000000f7 addq $8, %rsp + 0x5b, //0x000000fb popq %rbx + 0x5d, //0x000000fc popq %rbp + 0xc3, //0x000000fd retq + //0x000000fe LBB0_14 + 0x4d, 0x01, 0xd3, //0x000000fe addq %r10, %r11 + 0x4c, 0x39, 0xd8, //0x00000101 cmpq %r11, %rax + 0x0f, 0x83, 0x03, 0x01, 0x00, 0x00, //0x00000104 jae LBB0_30 + 0x4c, 0x8d, 0x45, 0xf4, //0x0000010a leaq $-12(%rbp), %r8 + 0x4c, 0x8d, 0x4d, 0xf2, //0x0000010e leaq $-14(%rbp), %r9 + 0xe9, 0x15, 0x00, 0x00, 0x00, //0x00000112 jmp LBB0_17 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000117 .p2align 4, 0x90 + //0x00000120 LBB0_16 + 0x48, 0xff, 0xc0, //0x00000120 incq %rax + 0x4c, 0x39, 0xd8, //0x00000123 cmpq %r11, %rax + 0x0f, 0x83, 0xe1, 0x00, 0x00, 0x00, //0x00000126 jae LBB0_30 + //0x0000012c LBB0_17 + 0x80, 0x38, 0x00, //0x0000012c cmpb $0, (%rax) + 0x0f, 0x89, 0xeb, 0xff, 0xff, 0xff, //0x0000012f jns LBB0_16 + 0xc6, 0x45, 0xf4, 0x00, //0x00000135 movb $0, $-12(%rbp) + 0xc6, 0x45, 0xf2, 0x00, //0x00000139 movb $0, $-14(%rbp) + 0x4c, 0x89, 0xda, //0x0000013d movq %r11, %rdx + 0x48, 0x29, 0xc2, //0x00000140 subq %rax, %rdx + 0x48, 0x83, 0xfa, 0x02, //0x00000143 cmpq $2, %rdx + 0x0f, 0x82, 0x31, 0x00, 0x00, 0x00, //0x00000147 jb LBB0_21 + 0x0f, 0xb6, 0x30, //0x0000014d movzbl (%rax), %esi + 0x0f, 0xb6, 0x78, 0x01, //0x00000150 movzbl $1(%rax), %edi + 0x40, 0x88, 0x75, 0xf4, //0x00000154 movb %sil, $-12(%rbp) + 0x48, 0x8d, 0x48, 0x02, //0x00000158 leaq $2(%rax), %rcx + 0x48, 0x83, 0xc2, 0xfe, //0x0000015c addq $-2, %rdx + 0x4c, 0x89, 0xcb, //0x00000160 movq %r9, %rbx + 0x48, 0x85, 0xd2, //0x00000163 testq %rdx, %rdx + 0x0f, 0x84, 0x25, 0x00, 0x00, 0x00, //0x00000166 je LBB0_22 + //0x0000016c LBB0_20 + 0x0f, 0xb6, 0x09, //0x0000016c movzbl (%rcx), %ecx + 0x88, 0x0b, //0x0000016f movb %cl, (%rbx) + 0x0f, 0xb6, 0x75, 0xf4, //0x00000171 movzbl $-12(%rbp), %esi + 0x0f, 0xb6, 0x4d, 0xf2, //0x00000175 movzbl $-14(%rbp), %ecx + 0xe9, 0x15, 0x00, 0x00, 0x00, //0x00000179 jmp LBB0_23 + //0x0000017e LBB0_21 + 0x31, 0xf6, //0x0000017e xorl %esi, %esi + 0x31, 0xff, //0x00000180 xorl %edi, %edi + 0x4c, 0x89, 0xc3, //0x00000182 movq %r8, %rbx + 0x48, 0x89, 0xc1, //0x00000185 movq %rax, %rcx + 0x48, 0x85, 0xd2, //0x00000188 testq %rdx, %rdx + 0x0f, 0x85, 0xdb, 0xff, 0xff, 0xff, //0x0000018b jne LBB0_20 + //0x00000191 LBB0_22 + 0x31, 0xc9, //0x00000191 xorl %ecx, %ecx + //0x00000193 LBB0_23 + 0x0f, 0xb6, 0xc9, //0x00000193 movzbl %cl, %ecx + 0xc1, 0xe1, 0x10, //0x00000196 shll $16, %ecx + 0x40, 0x0f, 0xb6, 0xff, //0x00000199 movzbl %dil, %edi + 0xc1, 0xe7, 0x08, //0x0000019d shll $8, %edi + 0x40, 0x0f, 0xb6, 0xd6, //0x000001a0 movzbl %sil, %edx + 0x09, 0xfa, //0x000001a4 orl %edi, %edx + 0x09, 0xd1, //0x000001a6 orl %edx, %ecx + 0x81, 0xe1, 0xf0, 0xc0, 0xc0, 0x00, //0x000001a8 andl $12632304, %ecx + 0x81, 0xf9, 0xe0, 0x80, 0x80, 0x00, //0x000001ae cmpl $8421600, %ecx + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x000001b4 jne LBB0_26 + 0x89, 0xd7, //0x000001ba movl %edx, %edi + 0x81, 0xe7, 0x0f, 0x20, 0x00, 0x00, //0x000001bc andl $8207, %edi + 0x81, 0xff, 0x0d, 0x20, 0x00, 0x00, //0x000001c2 cmpl $8205, %edi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000001c8 je LBB0_26 + 0xb9, 0x03, 0x00, 0x00, 0x00, //0x000001ce movl $3, %ecx + 0x85, 0xff, //0x000001d3 testl %edi, %edi + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x000001d5 jne LBB0_28 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001db .p2align 4, 0x90 + //0x000001e0 LBB0_26 + 0x40, 0xf6, 0xc6, 0x1e, //0x000001e0 testb $30, %sil + 0x0f, 0x84, 0x07, 0xff, 0xff, 0xff, //0x000001e4 je LBB0_13 + 0x81, 0xe2, 0xe0, 0xc0, 0x00, 0x00, //0x000001ea andl $49376, %edx + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x000001f0 movl $2, %ecx + 0x81, 0xfa, 0xc0, 0x80, 0x00, 0x00, //0x000001f5 cmpl $32960, %edx + 0x0f, 0x85, 0xf0, 0xfe, 0xff, 0xff, //0x000001fb jne LBB0_13 + //0x00000201 LBB0_28 + 0x48, 0x01, 0xc8, //0x00000201 addq %rcx, %rax + 0x4c, 0x39, 0xd8, //0x00000204 cmpq %r11, %rax + 0x0f, 0x82, 0x1f, 0xff, 0xff, 0xff, //0x00000207 jb LBB0_17 + //0x0000020d LBB0_30 + 0x31, 0xc0, //0x0000020d xorl %eax, %eax + 0x48, 0x83, 0xc4, 0x08, //0x0000020f addq $8, %rsp + 0x5b, //0x00000213 popq %rbx + 0x5d, //0x00000214 popq %rbp + 0xc3, //0x00000215 retq + 0x00, 0x00, //0x00000216 .p2align 2, 0x00 + //0x00000218 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000218 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_subr.go new file mode 100644 index 0000000..0010ffa --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_subr.go @@ -0,0 +1,44 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__validate_utf8 = 0 +) + +const ( + _stack__validate_utf8 = 48 +) + +const ( + _size__validate_utf8 = 668 +) + +var ( + _pcsp__validate_utf8 = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {11, 40}, + {623, 48}, + {627, 40}, + {628, 32}, + {630, 24}, + {632, 16}, + {634, 8}, + {635, 0}, + {666, 48}, + } +) + +var _cfunc_validate_utf8 = []loader.CFunc{ + {"_validate_utf8_entry", 0, _entry__validate_utf8, 0, nil}, + {"_validate_utf8", _entry__validate_utf8, _size__validate_utf8, _stack__validate_utf8, _pcsp__validate_utf8}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_text_amd64.go new file mode 100644 index 0000000..3303b67 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/validate_utf8_text_amd64.go @@ -0,0 +1,191 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_validate_utf8 = []byte{ + // .p2align 4, 0x90 + // _validate_utf8 + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x41, 0x57, //0x00000004 pushq %r15 + 0x41, 0x56, //0x00000006 pushq %r14 + 0x41, 0x54, //0x00000008 pushq %r12 + 0x53, //0x0000000a pushq %rbx + 0x50, //0x0000000b pushq %rax + 0x4c, 0x8b, 0x17, //0x0000000c movq (%rdi), %r10 + 0x4c, 0x8b, 0x5f, 0x08, //0x0000000f movq $8(%rdi), %r11 + 0x48, 0x8b, 0x0e, //0x00000013 movq (%rsi), %rcx + 0x4c, 0x01, 0xd1, //0x00000016 addq %r10, %rcx + 0x4f, 0x8d, 0x44, 0x1a, 0xfd, //0x00000019 leaq $-3(%r10,%r11), %r8 + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x0000001e jmp LBB0_1 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000023 .p2align 4, 0x90 + //0x00000030 LBB0_19 + 0x48, 0x01, 0xd9, //0x00000030 addq %rbx, %rcx + //0x00000033 LBB0_1 + 0x4c, 0x39, 0xc1, //0x00000033 cmpq %r8, %rcx + 0x0f, 0x83, 0xe1, 0x00, 0x00, 0x00, //0x00000036 jae LBB0_2 + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000003c movl $1, %ebx + 0x80, 0x39, 0x00, //0x00000041 cmpb $0, (%rcx) + 0x0f, 0x89, 0xe6, 0xff, 0xff, 0xff, //0x00000044 jns LBB0_19 + 0x8b, 0x01, //0x0000004a movl (%rcx), %eax + 0x89, 0xc7, //0x0000004c movl %eax, %edi + 0x81, 0xe7, 0xf0, 0xc0, 0xc0, 0x00, //0x0000004e andl $12632304, %edi + 0x81, 0xff, 0xe0, 0x80, 0x80, 0x00, //0x00000054 cmpl $8421600, %edi + 0x0f, 0x85, 0x30, 0x00, 0x00, 0x00, //0x0000005a jne LBB0_10 + 0x89, 0xc7, //0x00000060 movl %eax, %edi + 0x81, 0xe7, 0x0f, 0x20, 0x00, 0x00, //0x00000062 andl $8207, %edi + 0x81, 0xff, 0x0d, 0x20, 0x00, 0x00, //0x00000068 cmpl $8205, %edi + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x0000006e je LBB0_10 + 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00000074 movl $3, %ebx + 0x85, 0xff, //0x00000079 testl %edi, %edi + 0x0f, 0x85, 0xaf, 0xff, 0xff, 0xff, //0x0000007b jne LBB0_19 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000081 .p2align 4, 0x90 + //0x00000090 LBB0_10 + 0x89, 0xc7, //0x00000090 movl %eax, %edi + 0x81, 0xe7, 0xe0, 0xc0, 0x00, 0x00, //0x00000092 andl $49376, %edi + 0x81, 0xff, 0xc0, 0x80, 0x00, 0x00, //0x00000098 cmpl $32960, %edi + 0x0f, 0x85, 0x10, 0x00, 0x00, 0x00, //0x0000009e jne LBB0_12 + 0x89, 0xc7, //0x000000a4 movl %eax, %edi + 0xbb, 0x02, 0x00, 0x00, 0x00, //0x000000a6 movl $2, %ebx + 0x83, 0xe7, 0x1e, //0x000000ab andl $30, %edi + 0x0f, 0x85, 0x7c, 0xff, 0xff, 0xff, //0x000000ae jne LBB0_19 + //0x000000b4 LBB0_12 + 0x89, 0xc7, //0x000000b4 movl %eax, %edi + 0x81, 0xe7, 0xf8, 0xc0, 0xc0, 0xc0, //0x000000b6 andl $-1061109512, %edi + 0x81, 0xff, 0xf0, 0x80, 0x80, 0x80, //0x000000bc cmpl $-2139062032, %edi + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x000000c2 jne LBB0_16 + 0x89, 0xc7, //0x000000c8 movl %eax, %edi + 0x81, 0xe7, 0x07, 0x30, 0x00, 0x00, //0x000000ca andl $12295, %edi + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x000000d0 je LBB0_16 + 0xbb, 0x04, 0x00, 0x00, 0x00, //0x000000d6 movl $4, %ebx + 0xa8, 0x04, //0x000000db testb $4, %al + 0x0f, 0x84, 0x4d, 0xff, 0xff, 0xff, //0x000000dd je LBB0_19 + 0x25, 0x03, 0x30, 0x00, 0x00, //0x000000e3 andl $12291, %eax + 0x0f, 0x84, 0x42, 0xff, 0xff, 0xff, //0x000000e8 je LBB0_19 + //0x000000ee LBB0_16 + 0x48, 0x89, 0xcf, //0x000000ee movq %rcx, %rdi + 0x4c, 0x29, 0xd7, //0x000000f1 subq %r10, %rdi + 0x48, 0x8b, 0x1a, //0x000000f4 movq (%rdx), %rbx + 0x48, 0x81, 0xfb, 0x00, 0x10, 0x00, 0x00, //0x000000f7 cmpq $4096, %rbx + 0x0f, 0x83, 0x87, 0x01, 0x00, 0x00, //0x000000fe jae LBB0_17 + 0x48, 0x63, 0xc7, //0x00000104 movslq %edi, %rax + 0x48, 0x8d, 0x7b, 0x01, //0x00000107 leaq $1(%rbx), %rdi + 0x48, 0x89, 0x3a, //0x0000010b movq %rdi, (%rdx) + 0x48, 0x89, 0x44, 0xda, 0x08, //0x0000010e movq %rax, $8(%rdx,%rbx,8) + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000113 movl $1, %ebx + 0xe9, 0x13, 0xff, 0xff, 0xff, //0x00000118 jmp LBB0_19 + //0x0000011d LBB0_2 + 0x4d, 0x01, 0xd3, //0x0000011d addq %r10, %r11 + 0x4c, 0x39, 0xd9, //0x00000120 cmpq %r11, %rcx + 0x0f, 0x83, 0x3e, 0x01, 0x00, 0x00, //0x00000123 jae LBB0_36 + 0x4c, 0x8d, 0x45, 0xdc, //0x00000129 leaq $-36(%rbp), %r8 + 0x4c, 0x8d, 0x4d, 0xda, //0x0000012d leaq $-38(%rbp), %r9 + 0xe9, 0x16, 0x00, 0x00, 0x00, //0x00000131 jmp LBB0_4 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000136 .p2align 4, 0x90 + //0x00000140 LBB0_5 + 0x48, 0xff, 0xc1, //0x00000140 incq %rcx + 0x4c, 0x39, 0xd9, //0x00000143 cmpq %r11, %rcx + 0x0f, 0x83, 0x1b, 0x01, 0x00, 0x00, //0x00000146 jae LBB0_36 + //0x0000014c LBB0_4 + 0x80, 0x39, 0x00, //0x0000014c cmpb $0, (%rcx) + 0x0f, 0x89, 0xeb, 0xff, 0xff, 0xff, //0x0000014f jns LBB0_5 + 0xc6, 0x45, 0xdc, 0x00, //0x00000155 movb $0, $-36(%rbp) + 0xc6, 0x45, 0xda, 0x00, //0x00000159 movb $0, $-38(%rbp) + 0x4c, 0x89, 0xdb, //0x0000015d movq %r11, %rbx + 0x48, 0x29, 0xcb, //0x00000160 subq %rcx, %rbx + 0x48, 0x83, 0xfb, 0x02, //0x00000163 cmpq $2, %rbx + 0x0f, 0x82, 0x35, 0x00, 0x00, 0x00, //0x00000167 jb LBB0_21 + 0x44, 0x0f, 0xb6, 0x21, //0x0000016d movzbl (%rcx), %r12d + 0x44, 0x0f, 0xb6, 0x71, 0x01, //0x00000171 movzbl $1(%rcx), %r14d + 0x44, 0x88, 0x65, 0xdc, //0x00000176 movb %r12b, $-36(%rbp) + 0x4c, 0x8d, 0x79, 0x02, //0x0000017a leaq $2(%rcx), %r15 + 0x48, 0x83, 0xc3, 0xfe, //0x0000017e addq $-2, %rbx + 0x4c, 0x89, 0xcf, //0x00000182 movq %r9, %rdi + 0x48, 0x85, 0xdb, //0x00000185 testq %rbx, %rbx + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00000188 je LBB0_24 + //0x0000018e LBB0_25 + 0x41, 0x0f, 0xb6, 0x07, //0x0000018e movzbl (%r15), %eax + 0x88, 0x07, //0x00000192 movb %al, (%rdi) + 0x44, 0x0f, 0xb6, 0x65, 0xdc, //0x00000194 movzbl $-36(%rbp), %r12d + 0x0f, 0xb6, 0x7d, 0xda, //0x00000199 movzbl $-38(%rbp), %edi + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x0000019d jmp LBB0_26 + //0x000001a2 LBB0_21 + 0x45, 0x31, 0xe4, //0x000001a2 xorl %r12d, %r12d + 0x45, 0x31, 0xf6, //0x000001a5 xorl %r14d, %r14d + 0x4c, 0x89, 0xc7, //0x000001a8 movq %r8, %rdi + 0x49, 0x89, 0xcf, //0x000001ab movq %rcx, %r15 + 0x48, 0x85, 0xdb, //0x000001ae testq %rbx, %rbx + 0x0f, 0x85, 0xd7, 0xff, 0xff, 0xff, //0x000001b1 jne LBB0_25 + //0x000001b7 LBB0_24 + 0x31, 0xff, //0x000001b7 xorl %edi, %edi + //0x000001b9 LBB0_26 + 0x40, 0x0f, 0xb6, 0xc7, //0x000001b9 movzbl %dil, %eax + 0xc1, 0xe0, 0x10, //0x000001bd shll $16, %eax + 0x41, 0x0f, 0xb6, 0xde, //0x000001c0 movzbl %r14b, %ebx + 0xc1, 0xe3, 0x08, //0x000001c4 shll $8, %ebx + 0x41, 0x0f, 0xb6, 0xfc, //0x000001c7 movzbl %r12b, %edi + 0x09, 0xdf, //0x000001cb orl %ebx, %edi + 0x09, 0xf8, //0x000001cd orl %edi, %eax + 0x25, 0xf0, 0xc0, 0xc0, 0x00, //0x000001cf andl $12632304, %eax + 0x3d, 0xe0, 0x80, 0x80, 0x00, //0x000001d4 cmpl $8421600, %eax + 0x0f, 0x85, 0x21, 0x00, 0x00, 0x00, //0x000001d9 jne LBB0_29 + 0x89, 0xf8, //0x000001df movl %edi, %eax + 0x25, 0x0f, 0x20, 0x00, 0x00, //0x000001e1 andl $8207, %eax + 0x3d, 0x0d, 0x20, 0x00, 0x00, //0x000001e6 cmpl $8205, %eax + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x000001eb je LBB0_29 + 0xbb, 0x03, 0x00, 0x00, 0x00, //0x000001f1 movl $3, %ebx + 0x85, 0xc0, //0x000001f6 testl %eax, %eax + 0x0f, 0x85, 0x23, 0x00, 0x00, 0x00, //0x000001f8 jne LBB0_34 + 0x90, 0x90, //0x000001fe .p2align 4, 0x90 + //0x00000200 LBB0_29 + 0x41, 0xf6, 0xc4, 0x1e, //0x00000200 testb $30, %r12b + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x00000204 je LBB0_31 + 0x81, 0xe7, 0xe0, 0xc0, 0x00, 0x00, //0x0000020a andl $49376, %edi + 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00000210 movl $2, %ebx + 0x81, 0xff, 0xc0, 0x80, 0x00, 0x00, //0x00000215 cmpl $32960, %edi + 0x0f, 0x85, 0x11, 0x00, 0x00, 0x00, //0x0000021b jne LBB0_31 + //0x00000221 LBB0_34 + 0x48, 0x01, 0xd9, //0x00000221 addq %rbx, %rcx + 0x4c, 0x39, 0xd9, //0x00000224 cmpq %r11, %rcx + 0x0f, 0x82, 0x1f, 0xff, 0xff, 0xff, //0x00000227 jb LBB0_4 + 0xe9, 0x35, 0x00, 0x00, 0x00, //0x0000022d jmp LBB0_36 + //0x00000232 LBB0_31 + 0x48, 0x89, 0xc8, //0x00000232 movq %rcx, %rax + 0x4c, 0x29, 0xd0, //0x00000235 subq %r10, %rax + 0x48, 0x8b, 0x3a, //0x00000238 movq (%rdx), %rdi + 0x48, 0x81, 0xff, 0x00, 0x10, 0x00, 0x00, //0x0000023b cmpq $4096, %rdi + 0x0f, 0x83, 0x34, 0x00, 0x00, 0x00, //0x00000242 jae LBB0_32 + 0x48, 0x98, //0x00000248 cltq + 0x48, 0x8d, 0x5f, 0x01, //0x0000024a leaq $1(%rdi), %rbx + 0x48, 0x89, 0x1a, //0x0000024e movq %rbx, (%rdx) + 0x48, 0x89, 0x44, 0xfa, 0x08, //0x00000251 movq %rax, $8(%rdx,%rdi,8) + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000256 movl $1, %ebx + 0x48, 0x01, 0xd9, //0x0000025b addq %rbx, %rcx + 0x4c, 0x39, 0xd9, //0x0000025e cmpq %r11, %rcx + 0x0f, 0x82, 0xe5, 0xfe, 0xff, 0xff, //0x00000261 jb LBB0_4 + //0x00000267 LBB0_36 + 0x4c, 0x29, 0xd1, //0x00000267 subq %r10, %rcx + 0x48, 0x89, 0x0e, //0x0000026a movq %rcx, (%rsi) + 0x31, 0xc0, //0x0000026d xorl %eax, %eax + //0x0000026f LBB0_37 + 0x48, 0x83, 0xc4, 0x08, //0x0000026f addq $8, %rsp + 0x5b, //0x00000273 popq %rbx + 0x41, 0x5c, //0x00000274 popq %r12 + 0x41, 0x5e, //0x00000276 popq %r14 + 0x41, 0x5f, //0x00000278 popq %r15 + 0x5d, //0x0000027a popq %rbp + 0xc3, //0x0000027b retq + //0x0000027c LBB0_32 + 0x48, 0x89, 0x06, //0x0000027c movq %rax, (%rsi) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000027f movq $-1, %rax + 0xe9, 0xe4, 0xff, 0xff, 0xff, //0x00000286 jmp LBB0_37 + //0x0000028b LBB0_17 + 0x48, 0x89, 0x3e, //0x0000028b movq %rdi, (%rsi) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000028e movq $-1, %rax + 0xe9, 0xd5, 0xff, 0xff, 0xff, //0x00000295 jmp LBB0_37 + 0x00, 0x00, //0x0000029a .p2align 2, 0x00 + //0x0000029c _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x0000029c .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/value.go b/vendor/github.com/bytedance/sonic/internal/native/avx/value.go new file mode 100644 index 0000000..3effc20 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/value.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_value func(s unsafe.Pointer, n int, p int, v unsafe.Pointer, flags uint64) (ret int) + +var S_value uintptr + +//go:nosplit +func value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int) { + return F_value(rt.NoEscape(unsafe.Pointer(s)), n, p, rt.NoEscape(unsafe.Pointer(v)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/value_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/value_subr.go new file mode 100644 index 0000000..10cba1c --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/value_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__value = 192 +) + +const ( + _stack__value = 112 +) + +const ( + _size__value = 12816 +) + +var ( + _pcsp__value = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {556, 112}, + {560, 48}, + {561, 40}, + {563, 32}, + {565, 24}, + {567, 16}, + {569, 8}, + {573, 0}, + {12816, 112}, + } +) + +var _cfunc_value = []loader.CFunc{ + {"_value_entry", 0, _entry__value, 0, nil}, + {"_value", _entry__value, _size__value, _stack__value, _pcsp__value}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/value_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/value_text_amd64.go new file mode 100644 index 0000000..f2a7e1f --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/value_text_amd64.go @@ -0,0 +1,5639 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_value = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, // QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000010 LCPI0_1 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000010 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000020 LCPI0_2 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000020 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000030 LCPI0_3 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000030 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000040 LCPI0_4 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000040 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000050 LCPI0_5 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000050 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000060 LCPI0_6 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000060 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000070 LCPI0_7 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000070 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000080 LCPI0_8 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000080 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000090 LCPI0_9 + 0x00, 0x00, 0x30, 0x43, //0x00000090 .long 1127219200 + 0x00, 0x00, 0x30, 0x45, //0x00000094 .long 1160773632 + 0x00, 0x00, 0x00, 0x00, //0x00000098 .long 0 + 0x00, 0x00, 0x00, 0x00, //0x0000009c .long 0 + //0x000000a0 LCPI0_10 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x43, //0x000000a0 .quad 4841369599423283200 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x45, //0x000000a8 .quad 4985484787499139072 + //0x000000b0 .p2align 3, 0x00 + //0x000000b0 LCPI0_11 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0x43, //0x000000b0 .quad 4831355200913801216 + //0x000000b8 LCPI0_12 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0xc3, //0x000000b8 .quad -4392016835940974592 + //0x000000c0 .p2align 4, 0x90 + //0x000000c0 _value + 0x55, //0x000000c0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000000c1 movq %rsp, %rbp + 0x41, 0x57, //0x000000c4 pushq %r15 + 0x41, 0x56, //0x000000c6 pushq %r14 + 0x41, 0x55, //0x000000c8 pushq %r13 + 0x41, 0x54, //0x000000ca pushq %r12 + 0x53, //0x000000cc pushq %rbx + 0x48, 0x83, 0xec, 0x40, //0x000000cd subq $64, %rsp + 0x49, 0x89, 0xcd, //0x000000d1 movq %rcx, %r13 + 0x49, 0x89, 0xd3, //0x000000d4 movq %rdx, %r11 + 0x48, 0x89, 0xf8, //0x000000d7 movq %rdi, %rax + 0x48, 0x89, 0xd1, //0x000000da movq %rdx, %rcx + 0x48, 0x29, 0xf1, //0x000000dd subq %rsi, %rcx + 0x0f, 0x83, 0x2c, 0x00, 0x00, 0x00, //0x000000e0 jae LBB0_5 + 0x42, 0x8a, 0x3c, 0x18, //0x000000e6 movb (%rax,%r11), %dil + 0x40, 0x80, 0xff, 0x0d, //0x000000ea cmpb $13, %dil + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x000000ee je LBB0_5 + 0x40, 0x80, 0xff, 0x20, //0x000000f4 cmpb $32, %dil + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000000f8 je LBB0_5 + 0x8d, 0x57, 0xf7, //0x000000fe leal $-9(%rdi), %edx + 0x80, 0xfa, 0x01, //0x00000101 cmpb $1, %dl + 0x0f, 0x86, 0x08, 0x00, 0x00, 0x00, //0x00000104 jbe LBB0_5 + 0x4d, 0x89, 0xdf, //0x0000010a movq %r11, %r15 + 0xe9, 0x2c, 0x01, 0x00, 0x00, //0x0000010d jmp LBB0_28 + //0x00000112 LBB0_5 + 0x4d, 0x8d, 0x7b, 0x01, //0x00000112 leaq $1(%r11), %r15 + 0x49, 0x39, 0xf7, //0x00000116 cmpq %rsi, %r15 + 0x0f, 0x83, 0x24, 0x00, 0x00, 0x00, //0x00000119 jae LBB0_9 + 0x42, 0x8a, 0x3c, 0x38, //0x0000011f movb (%rax,%r15), %dil + 0x40, 0x80, 0xff, 0x0d, //0x00000123 cmpb $13, %dil + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000127 je LBB0_9 + 0x40, 0x80, 0xff, 0x20, //0x0000012d cmpb $32, %dil + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x00000131 je LBB0_9 + 0x8d, 0x57, 0xf7, //0x00000137 leal $-9(%rdi), %edx + 0x80, 0xfa, 0x01, //0x0000013a cmpb $1, %dl + 0x0f, 0x87, 0xfb, 0x00, 0x00, 0x00, //0x0000013d ja LBB0_28 + //0x00000143 LBB0_9 + 0x4d, 0x8d, 0x7b, 0x02, //0x00000143 leaq $2(%r11), %r15 + 0x49, 0x39, 0xf7, //0x00000147 cmpq %rsi, %r15 + 0x0f, 0x83, 0x24, 0x00, 0x00, 0x00, //0x0000014a jae LBB0_13 + 0x42, 0x8a, 0x3c, 0x38, //0x00000150 movb (%rax,%r15), %dil + 0x40, 0x80, 0xff, 0x0d, //0x00000154 cmpb $13, %dil + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000158 je LBB0_13 + 0x40, 0x80, 0xff, 0x20, //0x0000015e cmpb $32, %dil + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x00000162 je LBB0_13 + 0x8d, 0x57, 0xf7, //0x00000168 leal $-9(%rdi), %edx + 0x80, 0xfa, 0x01, //0x0000016b cmpb $1, %dl + 0x0f, 0x87, 0xca, 0x00, 0x00, 0x00, //0x0000016e ja LBB0_28 + //0x00000174 LBB0_13 + 0x4d, 0x8d, 0x7b, 0x03, //0x00000174 leaq $3(%r11), %r15 + 0x49, 0x39, 0xf7, //0x00000178 cmpq %rsi, %r15 + 0x0f, 0x83, 0x24, 0x00, 0x00, 0x00, //0x0000017b jae LBB0_17 + 0x42, 0x8a, 0x3c, 0x38, //0x00000181 movb (%rax,%r15), %dil + 0x40, 0x80, 0xff, 0x0d, //0x00000185 cmpb $13, %dil + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000189 je LBB0_17 + 0x40, 0x80, 0xff, 0x20, //0x0000018f cmpb $32, %dil + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x00000193 je LBB0_17 + 0x8d, 0x57, 0xf7, //0x00000199 leal $-9(%rdi), %edx + 0x80, 0xfa, 0x01, //0x0000019c cmpb $1, %dl + 0x0f, 0x87, 0x99, 0x00, 0x00, 0x00, //0x0000019f ja LBB0_28 + //0x000001a5 LBB0_17 + 0x49, 0x8d, 0x53, 0x04, //0x000001a5 leaq $4(%r11), %rdx + 0x48, 0x39, 0xf2, //0x000001a9 cmpq %rsi, %rdx + 0x0f, 0x83, 0x57, 0x00, 0x00, 0x00, //0x000001ac jae LBB0_23 + 0x48, 0x39, 0xd6, //0x000001b2 cmpq %rdx, %rsi + 0x0f, 0x84, 0x56, 0x00, 0x00, 0x00, //0x000001b5 je LBB0_24 + 0x48, 0x8d, 0x14, 0x30, //0x000001bb leaq (%rax,%rsi), %rdx + 0x48, 0x83, 0xc1, 0x04, //0x000001bf addq $4, %rcx + 0x4d, 0x8d, 0x7c, 0x03, 0x05, //0x000001c3 leaq $5(%r11,%rax), %r15 + 0x48, 0xbf, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000001c8 movabsq $4294977024, %rdi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001d2 .p2align 4, 0x90 + //0x000001e0 LBB0_20 + 0x41, 0x0f, 0xbe, 0x5f, 0xff, //0x000001e0 movsbl $-1(%r15), %ebx + 0x83, 0xfb, 0x20, //0x000001e5 cmpl $32, %ebx + 0x0f, 0x87, 0x3a, 0x00, 0x00, 0x00, //0x000001e8 ja LBB0_26 + 0x48, 0x0f, 0xa3, 0xdf, //0x000001ee btq %rbx, %rdi + 0x0f, 0x83, 0x30, 0x00, 0x00, 0x00, //0x000001f2 jae LBB0_26 + 0x49, 0xff, 0xc7, //0x000001f8 incq %r15 + 0x48, 0xff, 0xc1, //0x000001fb incq %rcx + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000001fe jne LBB0_20 + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00000204 jmp LBB0_25 + //0x00000209 LBB0_23 + 0x49, 0x89, 0xd3, //0x00000209 movq %rdx, %r11 + 0xe9, 0xd0, 0x00, 0x00, 0x00, //0x0000020c jmp LBB0_37 + //0x00000211 LBB0_24 + 0x48, 0x01, 0xc2, //0x00000211 addq %rax, %rdx + //0x00000214 LBB0_25 + 0x48, 0x29, 0xc2, //0x00000214 subq %rax, %rdx + 0x49, 0x89, 0xd7, //0x00000217 movq %rdx, %r15 + 0x49, 0x39, 0xf7, //0x0000021a cmpq %rsi, %r15 + 0x0f, 0x82, 0x17, 0x00, 0x00, 0x00, //0x0000021d jb LBB0_27 + 0xe9, 0xb9, 0x00, 0x00, 0x00, //0x00000223 jmp LBB0_37 + //0x00000228 LBB0_26 + 0x48, 0x89, 0xc1, //0x00000228 movq %rax, %rcx + 0x48, 0xf7, 0xd1, //0x0000022b notq %rcx + 0x49, 0x01, 0xcf, //0x0000022e addq %rcx, %r15 + 0x49, 0x39, 0xf7, //0x00000231 cmpq %rsi, %r15 + 0x0f, 0x83, 0xa7, 0x00, 0x00, 0x00, //0x00000234 jae LBB0_37 + //0x0000023a LBB0_27 + 0x42, 0x8a, 0x3c, 0x38, //0x0000023a movb (%rax,%r15), %dil + //0x0000023e LBB0_28 + 0x40, 0x0f, 0xbe, 0xcf, //0x0000023e movsbl %dil, %ecx + 0x83, 0xf9, 0x7d, //0x00000242 cmpl $125, %ecx + 0x0f, 0x87, 0x98, 0x04, 0x00, 0x00, //0x00000245 ja LBB0_99 + 0x4d, 0x8d, 0x5f, 0x01, //0x0000024b leaq $1(%r15), %r11 + 0x4a, 0x8d, 0x1c, 0x38, //0x0000024f leaq (%rax,%r15), %rbx + 0x48, 0x8d, 0x15, 0x76, 0x30, 0x00, 0x00, //0x00000253 leaq $12406(%rip), %rdx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8a, //0x0000025a movslq (%rdx,%rcx,4), %rcx + 0x48, 0x01, 0xd1, //0x0000025e addq %rdx, %rcx + 0xff, 0xe1, //0x00000261 jmpq *%rcx + //0x00000263 LBB0_30 + 0x41, 0xf6, 0xc0, 0x02, //0x00000263 testb $2, %r8b + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x00000267 jne LBB0_39 + 0x4d, 0x8b, 0x65, 0x20, //0x0000026d movq $32(%r13), %r12 + 0x49, 0x8b, 0x4d, 0x28, //0x00000271 movq $40(%r13), %rcx + 0x48, 0x89, 0x4d, 0xa8, //0x00000275 movq %rcx, $-88(%rbp) + 0x49, 0xc7, 0x45, 0x00, 0x09, 0x00, 0x00, 0x00, //0x00000279 movq $9, (%r13) + 0xc5, 0xf9, 0x57, 0xc0, //0x00000281 vxorpd %xmm0, %xmm0, %xmm0 + 0xc4, 0xc1, 0x79, 0x11, 0x45, 0x08, //0x00000285 vmovupd %xmm0, $8(%r13) + 0x4d, 0x89, 0x7d, 0x18, //0x0000028b movq %r15, $24(%r13) + 0x49, 0x39, 0xf7, //0x0000028f cmpq %rsi, %r15 + 0x0f, 0x83, 0x2e, 0x0c, 0x00, 0x00, //0x00000292 jae LBB0_198 + 0x49, 0x89, 0xd8, //0x00000298 movq %rbx, %r8 + 0x8a, 0x1b, //0x0000029b movb (%rbx), %bl + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000029d movl $1, %r9d + 0x4c, 0x89, 0xff, //0x000002a3 movq %r15, %rdi + 0x80, 0xfb, 0x2d, //0x000002a6 cmpb $45, %bl + 0x0f, 0x85, 0x16, 0x00, 0x00, 0x00, //0x000002a9 jne LBB0_35 + 0x49, 0x39, 0xf3, //0x000002af cmpq %rsi, %r11 + 0x0f, 0x83, 0x0e, 0x0c, 0x00, 0x00, //0x000002b2 jae LBB0_198 + 0x42, 0x8a, 0x1c, 0x18, //0x000002b8 movb (%rax,%r11), %bl + 0x41, 0xb9, 0xff, 0xff, 0xff, 0xff, //0x000002bc movl $-1, %r9d + 0x4c, 0x89, 0xdf, //0x000002c2 movq %r11, %rdi + //0x000002c5 LBB0_35 + 0x8d, 0x4b, 0xd0, //0x000002c5 leal $-48(%rbx), %ecx + 0x80, 0xf9, 0x0a, //0x000002c8 cmpb $10, %cl + 0x0f, 0x82, 0x41, 0x03, 0x00, 0x00, //0x000002cb jb LBB0_84 + 0x49, 0xc7, 0x45, 0x00, 0xfe, 0xff, 0xff, 0xff, //0x000002d1 movq $-2, (%r13) + 0x49, 0x89, 0xfb, //0x000002d9 movq %rdi, %r11 + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x000002dc jmp LBB0_38 + //0x000002e1 LBB0_37 + 0x49, 0xc7, 0x45, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000002e1 movq $1, (%r13) + //0x000002e9 LBB0_38 + 0x4c, 0x89, 0xd8, //0x000002e9 movq %r11, %rax + 0x48, 0x83, 0xc4, 0x40, //0x000002ec addq $64, %rsp + 0x5b, //0x000002f0 popq %rbx + 0x41, 0x5c, //0x000002f1 popq %r12 + 0x41, 0x5d, //0x000002f3 popq %r13 + 0x41, 0x5e, //0x000002f5 popq %r14 + 0x41, 0x5f, //0x000002f7 popq %r15 + 0x5d, //0x000002f9 popq %rbp + 0xc5, 0xf8, 0x77, //0x000002fa vzeroupper + 0xc3, //0x000002fd retq + //0x000002fe LBB0_39 + 0x48, 0x89, 0x45, 0xc0, //0x000002fe movq %rax, $-64(%rbp) + 0x4c, 0x29, 0xfe, //0x00000302 subq %r15, %rsi + 0x31, 0xc0, //0x00000305 xorl %eax, %eax + 0x40, 0x80, 0xff, 0x2d, //0x00000307 cmpb $45, %dil + 0x0f, 0x94, 0xc0, //0x0000030b sete %al + 0x48, 0x01, 0xc3, //0x0000030e addq %rax, %rbx + 0x48, 0x29, 0xc6, //0x00000311 subq %rax, %rsi + 0x0f, 0x84, 0xa4, 0x1d, 0x00, 0x00, //0x00000314 je LBB0_450 + 0x4c, 0x89, 0x5d, 0xb8, //0x0000031a movq %r11, $-72(%rbp) + 0x8a, 0x03, //0x0000031e movb (%rbx), %al + 0x8d, 0x48, 0xd0, //0x00000320 leal $-48(%rax), %ecx + 0x80, 0xf9, 0x09, //0x00000323 cmpb $9, %cl + 0x0f, 0x87, 0xaa, 0x0c, 0x00, 0x00, //0x00000326 ja LBB0_220 + 0x3c, 0x30, //0x0000032c cmpb $48, %al + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x0000032e jne LBB0_45 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000334 movl $1, %r11d + 0x48, 0x83, 0xfe, 0x01, //0x0000033a cmpq $1, %rsi + 0x0f, 0x84, 0x76, 0x06, 0x00, 0x00, //0x0000033e je LBB0_129 + 0x8a, 0x43, 0x01, //0x00000344 movb $1(%rbx), %al + 0x04, 0xd2, //0x00000347 addb $-46, %al + 0x3c, 0x37, //0x00000349 cmpb $55, %al + 0x0f, 0x87, 0x69, 0x06, 0x00, 0x00, //0x0000034b ja LBB0_129 + 0x0f, 0xb6, 0xc0, //0x00000351 movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00000354 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x0000035e btq %rax, %rcx + 0x0f, 0x83, 0x52, 0x06, 0x00, 0x00, //0x00000362 jae LBB0_129 + //0x00000368 LBB0_45 + 0x4c, 0x89, 0x6d, 0xd0, //0x00000368 movq %r13, $-48(%rbp) + 0x48, 0x83, 0xfe, 0x10, //0x0000036c cmpq $16, %rsi + 0x0f, 0x82, 0x54, 0x1d, 0x00, 0x00, //0x00000370 jb LBB0_452 + 0xba, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000376 movl $2863311530, %edx + 0x48, 0x8d, 0x46, 0xf0, //0x0000037b leaq $-16(%rsi), %rax + 0x48, 0x89, 0xc1, //0x0000037f movq %rax, %rcx + 0x48, 0x83, 0xe1, 0xf0, //0x00000382 andq $-16, %rcx + 0x4c, 0x8d, 0x54, 0x19, 0x10, //0x00000386 leaq $16(%rcx,%rbx), %r10 + 0x83, 0xe0, 0x0f, //0x0000038b andl $15, %eax + 0x48, 0xc7, 0x45, 0xa8, 0xff, 0xff, 0xff, 0xff, //0x0000038e movq $-1, $-88(%rbp) + 0xc5, 0x7a, 0x6f, 0x05, 0x92, 0xfc, 0xff, 0xff, //0x00000396 vmovdqu $-878(%rip), %xmm8 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0x9a, 0xfc, 0xff, 0xff, //0x0000039e vmovdqu $-870(%rip), %xmm9 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0xa2, 0xfc, 0xff, 0xff, //0x000003a6 vmovdqu $-862(%rip), %xmm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x1d, 0xaa, 0xfc, 0xff, 0xff, //0x000003ae vmovdqu $-854(%rip), %xmm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x25, 0x62, 0xfc, 0xff, 0xff, //0x000003b6 vmovdqu $-926(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x2d, 0xaa, 0xfc, 0xff, 0xff, //0x000003be vmovdqu $-854(%rip), %xmm5 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x35, 0xb2, 0xfc, 0xff, 0xff, //0x000003c6 vmovdqu $-846(%rip), %xmm6 /* LCPI0_8+0(%rip) */ + 0x48, 0x81, 0xc2, 0x55, 0x55, 0x55, 0x55, //0x000003ce addq $1431655765, %rdx + 0x48, 0x89, 0x55, 0xc8, //0x000003d5 movq %rdx, $-56(%rbp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000003d9 movq $-1, %r12 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000003e0 movq $-1, %r14 + 0x48, 0x89, 0xdf, //0x000003e7 movq %rbx, %rdi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003ea .p2align 4, 0x90 + //0x000003f0 LBB0_47 + 0x49, 0x89, 0xd8, //0x000003f0 movq %rbx, %r8 + 0xc5, 0xfa, 0x6f, 0x3f, //0x000003f3 vmovdqu (%rdi), %xmm7 + 0xc4, 0xc1, 0x41, 0x64, 0xc0, //0x000003f7 vpcmpgtb %xmm8, %xmm7, %xmm0 + 0xc5, 0xb1, 0x64, 0xcf, //0x000003fc vpcmpgtb %xmm7, %xmm9, %xmm1 + 0xc5, 0xf9, 0xdb, 0xc1, //0x00000400 vpand %xmm1, %xmm0, %xmm0 + 0xc5, 0xa9, 0x74, 0xcf, //0x00000404 vpcmpeqb %xmm7, %xmm10, %xmm1 + 0xc5, 0xa1, 0x74, 0xd7, //0x00000408 vpcmpeqb %xmm7, %xmm11, %xmm2 + 0xc5, 0xe9, 0xeb, 0xc9, //0x0000040c vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xc1, 0xeb, 0xd4, //0x00000410 vpor %xmm4, %xmm7, %xmm2 + 0xc5, 0xe9, 0x74, 0xd6, //0x00000414 vpcmpeqb %xmm6, %xmm2, %xmm2 + 0xc5, 0xc1, 0x74, 0xfd, //0x00000418 vpcmpeqb %xmm5, %xmm7, %xmm7 + 0xc5, 0xe9, 0xeb, 0xdf, //0x0000041c vpor %xmm7, %xmm2, %xmm3 + 0xc5, 0xf1, 0xeb, 0xc0, //0x00000420 vpor %xmm0, %xmm1, %xmm0 + 0xc5, 0xe1, 0xeb, 0xc0, //0x00000424 vpor %xmm0, %xmm3, %xmm0 + 0xc5, 0xf9, 0xd7, 0xdf, //0x00000428 vpmovmskb %xmm7, %ebx + 0xc5, 0x79, 0xd7, 0xca, //0x0000042c vpmovmskb %xmm2, %r9d + 0xc5, 0x79, 0xd7, 0xe9, //0x00000430 vpmovmskb %xmm1, %r13d + 0xc5, 0xf9, 0xd7, 0xc8, //0x00000434 vpmovmskb %xmm0, %ecx + 0x48, 0x33, 0x4d, 0xc8, //0x00000438 xorq $-56(%rbp), %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x0000043c bsfq %rcx, %rcx + 0x83, 0xf9, 0x10, //0x00000440 cmpl $16, %ecx + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00000443 je LBB0_49 + 0xba, 0xff, 0xff, 0xff, 0xff, //0x00000449 movl $-1, %edx + 0xd3, 0xe2, //0x0000044e shll %cl, %edx + 0xf7, 0xd2, //0x00000450 notl %edx + 0x21, 0xd3, //0x00000452 andl %edx, %ebx + 0x41, 0x21, 0xd1, //0x00000454 andl %edx, %r9d + 0x44, 0x21, 0xea, //0x00000457 andl %r13d, %edx + 0x41, 0x89, 0xd5, //0x0000045a movl %edx, %r13d + //0x0000045d LBB0_49 + 0x8d, 0x53, 0xff, //0x0000045d leal $-1(%rbx), %edx + 0x21, 0xda, //0x00000460 andl %ebx, %edx + 0x0f, 0x85, 0x39, 0x09, 0x00, 0x00, //0x00000462 jne LBB0_177 + 0x41, 0x8d, 0x51, 0xff, //0x00000468 leal $-1(%r9), %edx + 0x44, 0x21, 0xca, //0x0000046c andl %r9d, %edx + 0x0f, 0x85, 0x2c, 0x09, 0x00, 0x00, //0x0000046f jne LBB0_177 + 0x41, 0x8d, 0x55, 0xff, //0x00000475 leal $-1(%r13), %edx + 0x44, 0x21, 0xea, //0x00000479 andl %r13d, %edx + 0x0f, 0x85, 0x1f, 0x09, 0x00, 0x00, //0x0000047c jne LBB0_177 + 0x85, 0xdb, //0x00000482 testl %ebx, %ebx + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000484 je LBB0_55 + 0x48, 0x89, 0xfa, //0x0000048a movq %rdi, %rdx + 0x4c, 0x29, 0xc2, //0x0000048d subq %r8, %rdx + 0x44, 0x0f, 0xbc, 0xdb, //0x00000490 bsfl %ebx, %r11d + 0x49, 0x01, 0xd3, //0x00000494 addq %rdx, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x00000497 cmpq $-1, %r14 + 0x0f, 0x85, 0xbf, 0x0b, 0x00, 0x00, //0x0000049b jne LBB0_229 + 0x4d, 0x89, 0xde, //0x000004a1 movq %r11, %r14 + //0x000004a4 LBB0_55 + 0x4c, 0x89, 0xc3, //0x000004a4 movq %r8, %rbx + 0x45, 0x85, 0xc9, //0x000004a7 testl %r9d, %r9d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000004aa je LBB0_58 + 0x48, 0x89, 0xfa, //0x000004b0 movq %rdi, %rdx + 0x48, 0x29, 0xda, //0x000004b3 subq %rbx, %rdx + 0x45, 0x0f, 0xbc, 0xd9, //0x000004b6 bsfl %r9d, %r11d + 0x49, 0x01, 0xd3, //0x000004ba addq %rdx, %r11 + 0x49, 0x83, 0xfc, 0xff, //0x000004bd cmpq $-1, %r12 + 0x0f, 0x85, 0xe7, 0x08, 0x00, 0x00, //0x000004c1 jne LBB0_178 + 0x4d, 0x89, 0xdc, //0x000004c7 movq %r11, %r12 + //0x000004ca LBB0_58 + 0x45, 0x85, 0xed, //0x000004ca testl %r13d, %r13d + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x000004cd je LBB0_61 + 0x48, 0x89, 0xfa, //0x000004d3 movq %rdi, %rdx + 0x48, 0x29, 0xda, //0x000004d6 subq %rbx, %rdx + 0x45, 0x0f, 0xbc, 0xdd, //0x000004d9 bsfl %r13d, %r11d + 0x49, 0x01, 0xd3, //0x000004dd addq %rdx, %r11 + 0x48, 0x83, 0x7d, 0xa8, 0xff, //0x000004e0 cmpq $-1, $-88(%rbp) + 0x0f, 0x85, 0xc3, 0x08, 0x00, 0x00, //0x000004e5 jne LBB0_178 + 0x4c, 0x89, 0x5d, 0xa8, //0x000004eb movq %r11, $-88(%rbp) + //0x000004ef LBB0_61 + 0x83, 0xf9, 0x10, //0x000004ef cmpl $16, %ecx + 0x0f, 0x85, 0xa7, 0x00, 0x00, 0x00, //0x000004f2 jne LBB0_74 + 0x48, 0x83, 0xc7, 0x10, //0x000004f8 addq $16, %rdi + 0x48, 0x83, 0xc6, 0xf0, //0x000004fc addq $-16, %rsi + 0x48, 0x83, 0xfe, 0x0f, //0x00000500 cmpq $15, %rsi + 0x0f, 0x87, 0xe6, 0xfe, 0xff, 0xff, //0x00000504 ja LBB0_47 + 0x48, 0x85, 0xc0, //0x0000050a testq %rax, %rax + 0x4c, 0x8b, 0x6d, 0xd0, //0x0000050d movq $-48(%rbp), %r13 + 0x0f, 0x84, 0x92, 0x00, 0x00, 0x00, //0x00000511 je LBB0_75 + //0x00000517 LBB0_64 + 0x49, 0x8d, 0x0c, 0x02, //0x00000517 leaq (%r10,%rax), %rcx + 0x48, 0x8d, 0x35, 0xa6, 0x2f, 0x00, 0x00, //0x0000051b leaq $12198(%rip), %rsi /* LJTI0_1+0(%rip) */ + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00000522 jmp LBB0_68 + //0x00000527 LBB0_65 + 0x49, 0x89, 0xfb, //0x00000527 movq %rdi, %r11 + 0x49, 0x29, 0xdb, //0x0000052a subq %rbx, %r11 + 0x48, 0x83, 0x7d, 0xa8, 0xff, //0x0000052d cmpq $-1, $-88(%rbp) + 0x0f, 0x85, 0x37, 0x0b, 0x00, 0x00, //0x00000532 jne LBB0_453 + 0x49, 0xff, 0xcb, //0x00000538 decq %r11 + 0x4c, 0x89, 0x5d, 0xa8, //0x0000053b movq %r11, $-88(%rbp) + 0x90, //0x0000053f .p2align 4, 0x90 + //0x00000540 LBB0_67 + 0x49, 0x89, 0xfa, //0x00000540 movq %rdi, %r10 + 0x48, 0xff, 0xc8, //0x00000543 decq %rax + 0x0f, 0x84, 0x71, 0x0a, 0x00, 0x00, //0x00000546 je LBB0_218 + //0x0000054c LBB0_68 + 0x41, 0x0f, 0xbe, 0x12, //0x0000054c movsbl (%r10), %edx + 0x83, 0xc2, 0xd5, //0x00000550 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x00000553 cmpl $58, %edx + 0x0f, 0x87, 0x4d, 0x00, 0x00, 0x00, //0x00000556 ja LBB0_75 + 0x49, 0x8d, 0x7a, 0x01, //0x0000055c leaq $1(%r10), %rdi + 0x48, 0x63, 0x14, 0x96, //0x00000560 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00000564 addq %rsi, %rdx + 0xff, 0xe2, //0x00000567 jmpq *%rdx + //0x00000569 LBB0_70 + 0x49, 0x89, 0xfb, //0x00000569 movq %rdi, %r11 + 0x49, 0x29, 0xdb, //0x0000056c subq %rbx, %r11 + 0x49, 0x83, 0xfc, 0xff, //0x0000056f cmpq $-1, %r12 + 0x0f, 0x85, 0xf6, 0x0a, 0x00, 0x00, //0x00000573 jne LBB0_453 + 0x49, 0xff, 0xcb, //0x00000579 decq %r11 + 0x4d, 0x89, 0xdc, //0x0000057c movq %r11, %r12 + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000057f jmp LBB0_67 + //0x00000584 LBB0_72 + 0x49, 0x89, 0xfb, //0x00000584 movq %rdi, %r11 + 0x49, 0x29, 0xdb, //0x00000587 subq %rbx, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x0000058a cmpq $-1, %r14 + 0x0f, 0x85, 0xdb, 0x0a, 0x00, 0x00, //0x0000058e jne LBB0_453 + 0x49, 0xff, 0xcb, //0x00000594 decq %r11 + 0x4d, 0x89, 0xde, //0x00000597 movq %r11, %r14 + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000059a jmp LBB0_67 + //0x0000059f LBB0_74 + 0x48, 0x01, 0xcf, //0x0000059f addq %rcx, %rdi + 0x49, 0x89, 0xfa, //0x000005a2 movq %rdi, %r10 + 0x4c, 0x8b, 0x6d, 0xd0, //0x000005a5 movq $-48(%rbp), %r13 + //0x000005a9 LBB0_75 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000005a9 movq $-1, %r11 + 0x4d, 0x85, 0xe4, //0x000005b0 testq %r12, %r12 + 0x0f, 0x84, 0x17, 0x0a, 0x00, 0x00, //0x000005b3 je LBB0_219 + //0x000005b9 LBB0_76 + 0x48, 0x8b, 0x4d, 0xa8, //0x000005b9 movq $-88(%rbp), %rcx + 0x48, 0x85, 0xc9, //0x000005bd testq %rcx, %rcx + 0x0f, 0x84, 0x0a, 0x0a, 0x00, 0x00, //0x000005c0 je LBB0_219 + 0x4d, 0x85, 0xf6, //0x000005c6 testq %r14, %r14 + 0x0f, 0x84, 0x01, 0x0a, 0x00, 0x00, //0x000005c9 je LBB0_219 + 0x49, 0x29, 0xda, //0x000005cf subq %rbx, %r10 + 0x49, 0x8d, 0x42, 0xff, //0x000005d2 leaq $-1(%r10), %rax + 0x49, 0x39, 0xc4, //0x000005d6 cmpq %rax, %r12 + 0x0f, 0x84, 0xcc, 0x03, 0x00, 0x00, //0x000005d9 je LBB0_127 + 0x49, 0x39, 0xc6, //0x000005df cmpq %rax, %r14 + 0x0f, 0x84, 0xc3, 0x03, 0x00, 0x00, //0x000005e2 je LBB0_127 + 0x48, 0x39, 0xc1, //0x000005e8 cmpq %rax, %rcx + 0x0f, 0x84, 0xba, 0x03, 0x00, 0x00, //0x000005eb je LBB0_127 + 0x48, 0x85, 0xc9, //0x000005f1 testq %rcx, %rcx + 0x0f, 0x8e, 0xf8, 0x05, 0x00, 0x00, //0x000005f4 jle LBB0_145 + 0x48, 0x8d, 0x41, 0xff, //0x000005fa leaq $-1(%rcx), %rax + 0x49, 0x39, 0xc4, //0x000005fe cmpq %rax, %r12 + 0x0f, 0x84, 0xeb, 0x05, 0x00, 0x00, //0x00000601 je LBB0_145 + 0x48, 0xf7, 0xd1, //0x00000607 notq %rcx + 0x49, 0x89, 0xcb, //0x0000060a movq %rcx, %r11 + 0xe9, 0x9f, 0x03, 0x00, 0x00, //0x0000060d jmp LBB0_128 + //0x00000612 LBB0_84 + 0x80, 0xfb, 0x30, //0x00000612 cmpb $48, %bl + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x00000615 jne LBB0_88 + 0x4c, 0x8d, 0x5f, 0x01, //0x0000061b leaq $1(%rdi), %r11 + 0x48, 0x39, 0xf7, //0x0000061f cmpq %rsi, %rdi + 0x0f, 0x83, 0xc1, 0xfc, 0xff, 0xff, //0x00000622 jae LBB0_38 + 0x42, 0x8a, 0x0c, 0x18, //0x00000628 movb (%rax,%r11), %cl + 0x80, 0xc1, 0xd2, //0x0000062c addb $-46, %cl + 0x80, 0xf9, 0x37, //0x0000062f cmpb $55, %cl + 0x0f, 0x87, 0xb1, 0xfc, 0xff, 0xff, //0x00000632 ja LBB0_38 + 0x0f, 0xb6, 0xc9, //0x00000638 movzbl %cl, %ecx + 0x48, 0xba, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x0000063b movabsq $36028797027352577, %rdx + 0x48, 0x0f, 0xa3, 0xca, //0x00000645 btq %rcx, %rdx + 0x0f, 0x83, 0x9a, 0xfc, 0xff, 0xff, //0x00000649 jae LBB0_38 + //0x0000064f LBB0_88 + 0x48, 0x39, 0xf7, //0x0000064f cmpq %rsi, %rdi + 0x44, 0x89, 0x4d, 0xc8, //0x00000652 movl %r9d, $-56(%rbp) + 0x0f, 0x83, 0xb9, 0x05, 0x00, 0x00, //0x00000656 jae LBB0_148 + 0x48, 0xff, 0xc7, //0x0000065c incq %rdi + 0x31, 0xc9, //0x0000065f xorl %ecx, %ecx + 0x49, 0x89, 0xfb, //0x00000661 movq %rdi, %r11 + 0x31, 0xd2, //0x00000664 xorl %edx, %edx + 0x45, 0x31, 0xd2, //0x00000666 xorl %r10d, %r10d + //0x00000669 LBB0_90 + 0x83, 0xfa, 0x12, //0x00000669 cmpl $18, %edx + 0x0f, 0x8f, 0x13, 0x00, 0x00, 0x00, //0x0000066c jg LBB0_92 + 0x0f, 0xb6, 0xdb, //0x00000672 movzbl %bl, %ebx + 0x4b, 0x8d, 0x3c, 0x92, //0x00000675 leaq (%r10,%r10,4), %rdi + 0x4c, 0x8d, 0x54, 0x7b, 0xd0, //0x00000679 leaq $-48(%rbx,%rdi,2), %r10 + 0xff, 0xc2, //0x0000067e incl %edx + 0xe9, 0x02, 0x00, 0x00, 0x00, //0x00000680 jmp LBB0_93 + //0x00000685 LBB0_92 + 0xff, 0xc1, //0x00000685 incl %ecx + //0x00000687 LBB0_93 + 0x4c, 0x39, 0xde, //0x00000687 cmpq %r11, %rsi + 0x0f, 0x84, 0x86, 0x06, 0x00, 0x00, //0x0000068a je LBB0_165 + 0x42, 0x0f, 0xb6, 0x1c, 0x18, //0x00000690 movzbl (%rax,%r11), %ebx + 0x8d, 0x7b, 0xd0, //0x00000695 leal $-48(%rbx), %edi + 0x49, 0xff, 0xc3, //0x00000698 incq %r11 + 0x40, 0x80, 0xff, 0x0a, //0x0000069b cmpb $10, %dil + 0x0f, 0x82, 0xc4, 0xff, 0xff, 0xff, //0x0000069f jb LBB0_90 + 0x45, 0x31, 0xf6, //0x000006a5 xorl %r14d, %r14d + 0x85, 0xc9, //0x000006a8 testl %ecx, %ecx + 0x41, 0x0f, 0x9f, 0xc6, //0x000006aa setg %r14b + 0x80, 0xfb, 0x2e, //0x000006ae cmpb $46, %bl + 0x0f, 0x85, 0x03, 0x07, 0x00, 0x00, //0x000006b1 jne LBB0_179 + 0x49, 0xc7, 0x45, 0x00, 0x08, 0x00, 0x00, 0x00, //0x000006b7 movq $8, (%r13) + 0x49, 0x39, 0xf3, //0x000006bf cmpq %rsi, %r11 + 0x0f, 0x83, 0xfe, 0x07, 0x00, 0x00, //0x000006c2 jae LBB0_198 + 0x42, 0x8a, 0x1c, 0x18, //0x000006c8 movb (%rax,%r11), %bl + 0x80, 0xc3, 0xd0, //0x000006cc addb $-48, %bl + 0x41, 0xb9, 0x08, 0x00, 0x00, 0x00, //0x000006cf movl $8, %r9d + 0x80, 0xfb, 0x0a, //0x000006d5 cmpb $10, %bl + 0x0f, 0x82, 0x4d, 0x06, 0x00, 0x00, //0x000006d8 jb LBB0_167 + 0xe9, 0x1a, 0x09, 0x00, 0x00, //0x000006de jmp LBB0_98 + //0x000006e3 LBB0_99 + 0x49, 0xc7, 0x45, 0x00, 0xfe, 0xff, 0xff, 0xff, //0x000006e3 movq $-2, (%r13) + 0x4d, 0x89, 0xfb, //0x000006eb movq %r15, %r11 + 0xe9, 0xf6, 0xfb, 0xff, 0xff, //0x000006ee jmp LBB0_38 + //0x000006f3 LBB0_100 + 0x4c, 0x89, 0xfa, //0x000006f3 movq %r15, %rdx + 0x48, 0xf7, 0xd2, //0x000006f6 notq %rdx + 0x41, 0xf6, 0xc0, 0x20, //0x000006f9 testb $32, %r8b + 0x4c, 0x89, 0x6d, 0xd0, //0x000006fd movq %r13, $-48(%rbp) + 0x48, 0x89, 0x45, 0xc0, //0x00000701 movq %rax, $-64(%rbp) + 0x4c, 0x89, 0x5d, 0xb8, //0x00000705 movq %r11, $-72(%rbp) + 0x0f, 0x85, 0xda, 0x02, 0x00, 0x00, //0x00000709 jne LBB0_132 + 0x49, 0x39, 0xf3, //0x0000070f cmpq %rsi, %r11 + 0x0f, 0x84, 0xa7, 0x2b, 0x00, 0x00, //0x00000712 je LBB0_733 + 0x49, 0x89, 0xf4, //0x00000718 movq %rsi, %r12 + 0x4d, 0x29, 0xdc, //0x0000071b subq %r11, %r12 + 0x4e, 0x8d, 0x2c, 0x18, //0x0000071e leaq (%rax,%r11), %r13 + 0x49, 0x83, 0xfc, 0x40, //0x00000722 cmpq $64, %r12 + 0x0f, 0x82, 0xa4, 0x28, 0x00, 0x00, //0x00000726 jb LBB0_692 + 0x48, 0x89, 0xc1, //0x0000072c movq %rax, %rcx + 0x45, 0x89, 0xe6, //0x0000072f movl %r12d, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000732 andl $63, %r14d + 0x48, 0x8d, 0x44, 0x16, 0xc0, //0x00000736 leaq $-64(%rsi,%rdx), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x0000073b andq $-64, %rax + 0x49, 0x01, 0xc7, //0x0000073f addq %rax, %r15 + 0x4a, 0x8d, 0x44, 0x39, 0x41, //0x00000742 leaq $65(%rcx,%r15), %rax + 0x48, 0x89, 0x45, 0xa8, //0x00000747 movq %rax, $-88(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000074b movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00000752 xorl %r15d, %r15d + 0xc5, 0xfa, 0x6f, 0x05, 0xa3, 0xf8, 0xff, 0xff, //0x00000755 vmovdqu $-1885(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0xab, 0xf8, 0xff, 0xff, //0x0000075d vmovdqu $-1877(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000765 .p2align 4, 0x90 + //0x00000770 LBB0_104 + 0xc4, 0xc1, 0x7a, 0x6f, 0x55, 0x00, //0x00000770 vmovdqu (%r13), %xmm2 + 0xc4, 0xc1, 0x7a, 0x6f, 0x5d, 0x10, //0x00000776 vmovdqu $16(%r13), %xmm3 + 0xc4, 0xc1, 0x7a, 0x6f, 0x65, 0x20, //0x0000077c vmovdqu $32(%r13), %xmm4 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6d, 0x30, //0x00000782 vmovdqu $48(%r13), %xmm5 + 0xc5, 0xe9, 0x74, 0xf0, //0x00000788 vpcmpeqb %xmm0, %xmm2, %xmm6 + 0xc5, 0xf9, 0xd7, 0xfe, //0x0000078c vpmovmskb %xmm6, %edi + 0xc5, 0xe1, 0x74, 0xf0, //0x00000790 vpcmpeqb %xmm0, %xmm3, %xmm6 + 0xc5, 0xf9, 0xd7, 0xd6, //0x00000794 vpmovmskb %xmm6, %edx + 0xc5, 0xd9, 0x74, 0xf0, //0x00000798 vpcmpeqb %xmm0, %xmm4, %xmm6 + 0xc5, 0xf9, 0xd7, 0xce, //0x0000079c vpmovmskb %xmm6, %ecx + 0xc5, 0xd1, 0x74, 0xf0, //0x000007a0 vpcmpeqb %xmm0, %xmm5, %xmm6 + 0xc5, 0xf9, 0xd7, 0xde, //0x000007a4 vpmovmskb %xmm6, %ebx + 0xc5, 0xe9, 0x74, 0xd1, //0x000007a8 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x000007ac vpmovmskb %xmm2, %eax + 0xc5, 0xe1, 0x74, 0xd1, //0x000007b0 vpcmpeqb %xmm1, %xmm3, %xmm2 + 0xc5, 0x79, 0xd7, 0xd2, //0x000007b4 vpmovmskb %xmm2, %r10d + 0xc5, 0xd9, 0x74, 0xd1, //0x000007b8 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0x79, 0xd7, 0xda, //0x000007bc vpmovmskb %xmm2, %r11d + 0xc5, 0xd1, 0x74, 0xd1, //0x000007c0 vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0x79, 0xd7, 0xca, //0x000007c4 vpmovmskb %xmm2, %r9d + 0x48, 0xc1, 0xe3, 0x30, //0x000007c8 shlq $48, %rbx + 0x48, 0xc1, 0xe1, 0x20, //0x000007cc shlq $32, %rcx + 0x48, 0xc1, 0xe2, 0x10, //0x000007d0 shlq $16, %rdx + 0x48, 0x09, 0xd7, //0x000007d4 orq %rdx, %rdi + 0x48, 0x09, 0xcf, //0x000007d7 orq %rcx, %rdi + 0x49, 0xc1, 0xe1, 0x30, //0x000007da shlq $48, %r9 + 0x49, 0xc1, 0xe3, 0x20, //0x000007de shlq $32, %r11 + 0x49, 0xc1, 0xe2, 0x10, //0x000007e2 shlq $16, %r10 + 0x4c, 0x09, 0xd0, //0x000007e6 orq %r10, %rax + 0x4c, 0x09, 0xd8, //0x000007e9 orq %r11, %rax + 0x4c, 0x09, 0xc8, //0x000007ec orq %r9, %rax + 0x49, 0x83, 0xf8, 0xff, //0x000007ef cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000007f3 jne LBB0_106 + 0x48, 0x85, 0xc0, //0x000007f9 testq %rax, %rax + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000007fc jne LBB0_109 + //0x00000802 LBB0_106 + 0x48, 0x09, 0xdf, //0x00000802 orq %rbx, %rdi + 0x48, 0x89, 0xc1, //0x00000805 movq %rax, %rcx + 0x4c, 0x09, 0xf9, //0x00000808 orq %r15, %rcx + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000080b jne LBB0_110 + //0x00000811 LBB0_107 + 0x48, 0x85, 0xff, //0x00000811 testq %rdi, %rdi + 0x0f, 0x85, 0xe0, 0x08, 0x00, 0x00, //0x00000814 jne LBB0_235 + //0x0000081a LBB0_108 + 0x49, 0x83, 0xc4, 0xc0, //0x0000081a addq $-64, %r12 + 0x49, 0x83, 0xc5, 0x40, //0x0000081e addq $64, %r13 + 0x49, 0x83, 0xfc, 0x3f, //0x00000822 cmpq $63, %r12 + 0x0f, 0x87, 0x44, 0xff, 0xff, 0xff, //0x00000826 ja LBB0_104 + 0xe9, 0x46, 0x08, 0x00, 0x00, //0x0000082c jmp LBB0_230 + //0x00000831 LBB0_109 + 0x4c, 0x89, 0xe9, //0x00000831 movq %r13, %rcx + 0x48, 0x2b, 0x4d, 0xc0, //0x00000834 subq $-64(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xc0, //0x00000838 bsfq %rax, %r8 + 0x49, 0x01, 0xc8, //0x0000083c addq %rcx, %r8 + 0x48, 0x09, 0xdf, //0x0000083f orq %rbx, %rdi + 0x48, 0x89, 0xc1, //0x00000842 movq %rax, %rcx + 0x4c, 0x09, 0xf9, //0x00000845 orq %r15, %rcx + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000848 je LBB0_107 + //0x0000084e LBB0_110 + 0x4c, 0x89, 0xf9, //0x0000084e movq %r15, %rcx + 0x48, 0xf7, 0xd1, //0x00000851 notq %rcx + 0x48, 0x21, 0xc1, //0x00000854 andq %rax, %rcx + 0x48, 0x8d, 0x1c, 0x09, //0x00000857 leaq (%rcx,%rcx), %rbx + 0x4c, 0x09, 0xfb, //0x0000085b orq %r15, %rbx + 0x48, 0x89, 0xda, //0x0000085e movq %rbx, %rdx + 0x48, 0xf7, 0xd2, //0x00000861 notq %rdx + 0x48, 0x21, 0xc2, //0x00000864 andq %rax, %rdx + 0x48, 0xb8, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000867 movabsq $-6148914691236517206, %rax + 0x48, 0x21, 0xc2, //0x00000871 andq %rax, %rdx + 0x45, 0x31, 0xff, //0x00000874 xorl %r15d, %r15d + 0x48, 0x01, 0xca, //0x00000877 addq %rcx, %rdx + 0x41, 0x0f, 0x92, 0xc7, //0x0000087a setb %r15b + 0x48, 0x01, 0xd2, //0x0000087e addq %rdx, %rdx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000881 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc2, //0x0000088b xorq %rax, %rdx + 0x48, 0x21, 0xda, //0x0000088e andq %rbx, %rdx + 0x48, 0xf7, 0xd2, //0x00000891 notq %rdx + 0x48, 0x21, 0xd7, //0x00000894 andq %rdx, %rdi + 0x48, 0x85, 0xff, //0x00000897 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x0000089a je LBB0_108 + 0xe9, 0x55, 0x08, 0x00, 0x00, //0x000008a0 jmp LBB0_235 + //0x000008a5 LBB0_111 + 0x31, 0xc9, //0x000008a5 xorl %ecx, %ecx + 0x45, 0x85, 0xc0, //0x000008a7 testl %r8d, %r8d + 0x0f, 0x99, 0xc1, //0x000008aa setns %cl + 0xb8, 0x0b, 0x00, 0x00, 0x00, //0x000008ad movl $11, %eax + 0xe9, 0xdd, 0x00, 0x00, 0x00, //0x000008b2 jmp LBB0_126 + //0x000008b7 LBB0_112 + 0x31, 0xc9, //0x000008b7 xorl %ecx, %ecx + 0x45, 0x85, 0xc0, //0x000008b9 testl %r8d, %r8d + 0x0f, 0x99, 0xc1, //0x000008bc setns %cl + 0xb8, 0x0a, 0x00, 0x00, 0x00, //0x000008bf movl $10, %eax + 0xe9, 0xcb, 0x00, 0x00, 0x00, //0x000008c4 jmp LBB0_126 + //0x000008c9 LBB0_113 + 0x49, 0xc7, 0x45, 0x00, 0x05, 0x00, 0x00, 0x00, //0x000008c9 movq $5, (%r13) + 0xe9, 0x13, 0xfa, 0xff, 0xff, //0x000008d1 jmp LBB0_38 + //0x000008d6 LBB0_114 + 0x31, 0xc9, //0x000008d6 xorl %ecx, %ecx + 0x45, 0x85, 0xc0, //0x000008d8 testl %r8d, %r8d + 0x0f, 0x99, 0xc1, //0x000008db setns %cl + 0xb8, 0x0c, 0x00, 0x00, 0x00, //0x000008de movl $12, %eax + 0xe9, 0xac, 0x00, 0x00, 0x00, //0x000008e3 jmp LBB0_126 + //0x000008e8 LBB0_115 + 0x48, 0x8d, 0x4e, 0xfc, //0x000008e8 leaq $-4(%rsi), %rcx + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x000008ec movq $-1, %rdx + 0x49, 0x39, 0xcf, //0x000008f3 cmpq %rcx, %r15 + 0x0f, 0x83, 0xb5, 0x06, 0x00, 0x00, //0x000008f6 jae LBB0_217 + 0x42, 0x8b, 0x0c, 0x18, //0x000008fc movl (%rax,%r11), %ecx + 0x81, 0xf9, 0x61, 0x6c, 0x73, 0x65, //0x00000900 cmpl $1702063201, %ecx + 0x0f, 0x85, 0x15, 0x03, 0x00, 0x00, //0x00000906 jne LBB0_149 + 0x49, 0x83, 0xc7, 0x05, //0x0000090c addq $5, %r15 + 0xba, 0x04, 0x00, 0x00, 0x00, //0x00000910 movl $4, %edx + 0xe9, 0x94, 0x06, 0x00, 0x00, //0x00000915 jmp LBB0_216 + //0x0000091a LBB0_118 + 0x48, 0x8d, 0x4e, 0xfd, //0x0000091a leaq $-3(%rsi), %rcx + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000091e movq $-1, %rdx + 0x49, 0x39, 0xcf, //0x00000925 cmpq %rcx, %r15 + 0x0f, 0x83, 0x83, 0x06, 0x00, 0x00, //0x00000928 jae LBB0_217 + 0x8b, 0x0b, //0x0000092e movl (%rbx), %ecx + 0x81, 0xf9, 0x6e, 0x75, 0x6c, 0x6c, //0x00000930 cmpl $1819047278, %ecx + 0x0f, 0x85, 0x24, 0x03, 0x00, 0x00, //0x00000936 jne LBB0_153 + 0x49, 0x83, 0xc7, 0x04, //0x0000093c addq $4, %r15 + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00000940 movl $2, %edx + 0xe9, 0x64, 0x06, 0x00, 0x00, //0x00000945 jmp LBB0_216 + //0x0000094a LBB0_121 + 0x48, 0x8d, 0x4e, 0xfd, //0x0000094a leaq $-3(%rsi), %rcx + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000094e movq $-1, %rdx + 0x49, 0x39, 0xcf, //0x00000955 cmpq %rcx, %r15 + 0x0f, 0x83, 0x53, 0x06, 0x00, 0x00, //0x00000958 jae LBB0_217 + 0x8b, 0x0b, //0x0000095e movl (%rbx), %ecx + 0x81, 0xf9, 0x74, 0x72, 0x75, 0x65, //0x00000960 cmpl $1702195828, %ecx + 0x0f, 0x85, 0x33, 0x03, 0x00, 0x00, //0x00000966 jne LBB0_157 + 0x49, 0x83, 0xc7, 0x04, //0x0000096c addq $4, %r15 + 0xba, 0x03, 0x00, 0x00, 0x00, //0x00000970 movl $3, %edx + 0xe9, 0x34, 0x06, 0x00, 0x00, //0x00000975 jmp LBB0_216 + //0x0000097a LBB0_124 + 0x49, 0xc7, 0x45, 0x00, 0x06, 0x00, 0x00, 0x00, //0x0000097a movq $6, (%r13) + 0xe9, 0x62, 0xf9, 0xff, 0xff, //0x00000982 jmp LBB0_38 + //0x00000987 LBB0_125 + 0x31, 0xc9, //0x00000987 xorl %ecx, %ecx + 0x45, 0x85, 0xc0, //0x00000989 testl %r8d, %r8d + 0x0f, 0x99, 0xc1, //0x0000098c setns %cl + 0xb8, 0x0d, 0x00, 0x00, 0x00, //0x0000098f movl $13, %eax + //0x00000994 LBB0_126 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00000994 movq $-2, %rdx + 0x48, 0x0f, 0x48, 0xd0, //0x0000099b cmovsq %rax, %rdx + 0x49, 0x89, 0x55, 0x00, //0x0000099f movq %rdx, (%r13) + 0x49, 0x29, 0xcb, //0x000009a3 subq %rcx, %r11 + 0xe9, 0x3e, 0xf9, 0xff, 0xff, //0x000009a6 jmp LBB0_38 + //0x000009ab LBB0_127 + 0x49, 0xf7, 0xda, //0x000009ab negq %r10 + 0x4d, 0x89, 0xd3, //0x000009ae movq %r10, %r11 + //0x000009b1 LBB0_128 + 0x4d, 0x85, 0xdb, //0x000009b1 testq %r11, %r11 + 0x0f, 0x88, 0x16, 0x06, 0x00, 0x00, //0x000009b4 js LBB0_219 + //0x000009ba LBB0_129 + 0x4c, 0x01, 0xdb, //0x000009ba addq %r11, %rbx + 0x49, 0x89, 0xdb, //0x000009bd movq %rbx, %r11 + 0x4c, 0x2b, 0x5d, 0xc0, //0x000009c0 subq $-64(%rbp), %r11 + 0x48, 0x83, 0x7d, 0xb8, 0x00, //0x000009c4 cmpq $0, $-72(%rbp) + 0x0f, 0x8e, 0x11, 0x00, 0x00, 0x00, //0x000009c9 jle LBB0_131 + 0x49, 0xc7, 0x45, 0x00, 0x08, 0x00, 0x00, 0x00, //0x000009cf movq $8, (%r13) + 0x4d, 0x89, 0x7d, 0x18, //0x000009d7 movq %r15, $24(%r13) + 0xe9, 0x09, 0xf9, 0xff, 0xff, //0x000009db jmp LBB0_38 + //0x000009e0 LBB0_131 + 0x4d, 0x89, 0x7d, 0x00, //0x000009e0 movq %r15, (%r13) + 0xe9, 0x00, 0xf9, 0xff, 0xff, //0x000009e4 jmp LBB0_38 + //0x000009e9 LBB0_132 + 0x49, 0x39, 0xf3, //0x000009e9 cmpq %rsi, %r11 + 0x0f, 0x84, 0xcd, 0x28, 0x00, 0x00, //0x000009ec je LBB0_733 + 0x49, 0x89, 0xf4, //0x000009f2 movq %rsi, %r12 + 0x4d, 0x29, 0xdc, //0x000009f5 subq %r11, %r12 + 0x4e, 0x8d, 0x2c, 0x18, //0x000009f8 leaq (%rax,%r11), %r13 + 0x49, 0x83, 0xfc, 0x40, //0x000009fc cmpq $64, %r12 + 0x0f, 0x82, 0xe3, 0x25, 0x00, 0x00, //0x00000a00 jb LBB0_693 + 0x48, 0x89, 0xc1, //0x00000a06 movq %rax, %rcx + 0x45, 0x89, 0xe6, //0x00000a09 movl %r12d, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000a0c andl $63, %r14d + 0x48, 0x8d, 0x44, 0x16, 0xc0, //0x00000a10 leaq $-64(%rsi,%rdx), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00000a15 andq $-64, %rax + 0x49, 0x01, 0xc7, //0x00000a19 addq %rax, %r15 + 0x4e, 0x8d, 0x4c, 0x39, 0x41, //0x00000a1c leaq $65(%rcx,%r15), %r9 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000a21 movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00000a28 xorl %r15d, %r15d + 0xc5, 0x7a, 0x6f, 0x05, 0xcd, 0xf5, 0xff, 0xff, //0x00000a2b vmovdqu $-2611(%rip), %xmm8 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0xd5, 0xf5, 0xff, 0xff, //0x00000a33 vmovdqu $-2603(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0xdd, 0xf5, 0xff, 0xff, //0x00000a3b vmovdqu $-2595(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0xc5, 0xe1, 0x76, 0xdb, //0x00000a43 vpcmpeqd %xmm3, %xmm3, %xmm3 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a47 .p2align 4, 0x90 + //0x00000a50 LBB0_135 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7d, 0x00, //0x00000a50 vmovdqu (%r13), %xmm7 + 0xc4, 0xc1, 0x7a, 0x6f, 0x75, 0x10, //0x00000a56 vmovdqu $16(%r13), %xmm6 + 0xc4, 0xc1, 0x7a, 0x6f, 0x6d, 0x20, //0x00000a5c vmovdqu $32(%r13), %xmm5 + 0xc4, 0xc1, 0x7a, 0x6f, 0x65, 0x30, //0x00000a62 vmovdqu $48(%r13), %xmm4 + 0xc5, 0xb9, 0x74, 0xc7, //0x00000a68 vpcmpeqb %xmm7, %xmm8, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf8, //0x00000a6c vpmovmskb %xmm0, %edi + 0xc5, 0xb9, 0x74, 0xc6, //0x00000a70 vpcmpeqb %xmm6, %xmm8, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd8, //0x00000a74 vpmovmskb %xmm0, %ebx + 0xc5, 0xb9, 0x74, 0xc5, //0x00000a78 vpcmpeqb %xmm5, %xmm8, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x00000a7c vpmovmskb %xmm0, %edx + 0xc5, 0xb9, 0x74, 0xc4, //0x00000a80 vpcmpeqb %xmm4, %xmm8, %xmm0 + 0xc5, 0x79, 0xd7, 0xd8, //0x00000a84 vpmovmskb %xmm0, %r11d + 0xc5, 0xc1, 0x74, 0xc1, //0x00000a88 vpcmpeqb %xmm1, %xmm7, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x00000a8c vpmovmskb %xmm0, %eax + 0xc5, 0xc9, 0x74, 0xc1, //0x00000a90 vpcmpeqb %xmm1, %xmm6, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc8, //0x00000a94 vpmovmskb %xmm0, %ecx + 0xc5, 0xd1, 0x74, 0xc1, //0x00000a98 vpcmpeqb %xmm1, %xmm5, %xmm0 + 0x48, 0xc1, 0xe3, 0x10, //0x00000a9c shlq $16, %rbx + 0x48, 0x09, 0xdf, //0x00000aa0 orq %rbx, %rdi + 0xc5, 0xf9, 0xd7, 0xd8, //0x00000aa3 vpmovmskb %xmm0, %ebx + 0xc5, 0xd9, 0x74, 0xc1, //0x00000aa7 vpcmpeqb %xmm1, %xmm4, %xmm0 + 0x48, 0xc1, 0xe2, 0x20, //0x00000aab shlq $32, %rdx + 0x48, 0x09, 0xd7, //0x00000aaf orq %rdx, %rdi + 0xc5, 0xf9, 0xd7, 0xd0, //0x00000ab2 vpmovmskb %xmm0, %edx + 0xc5, 0xe9, 0x64, 0xc7, //0x00000ab6 vpcmpgtb %xmm7, %xmm2, %xmm0 + 0xc5, 0xc1, 0x64, 0xfb, //0x00000aba vpcmpgtb %xmm3, %xmm7, %xmm7 + 0xc5, 0xc1, 0xdb, 0xc0, //0x00000abe vpand %xmm0, %xmm7, %xmm0 + 0x48, 0xc1, 0xe1, 0x10, //0x00000ac2 shlq $16, %rcx + 0x48, 0x09, 0xc8, //0x00000ac6 orq %rcx, %rax + 0xc5, 0xf9, 0xd7, 0xc8, //0x00000ac9 vpmovmskb %xmm0, %ecx + 0xc5, 0xe9, 0x64, 0xc6, //0x00000acd vpcmpgtb %xmm6, %xmm2, %xmm0 + 0xc5, 0xc9, 0x64, 0xf3, //0x00000ad1 vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xc0, //0x00000ad5 vpand %xmm0, %xmm6, %xmm0 + 0x48, 0xc1, 0xe3, 0x20, //0x00000ad9 shlq $32, %rbx + 0x48, 0x09, 0xd8, //0x00000add orq %rbx, %rax + 0xc5, 0xf9, 0xd7, 0xd8, //0x00000ae0 vpmovmskb %xmm0, %ebx + 0xc5, 0xe9, 0x64, 0xc5, //0x00000ae4 vpcmpgtb %xmm5, %xmm2, %xmm0 + 0xc5, 0xd1, 0x64, 0xeb, //0x00000ae8 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xc0, //0x00000aec vpand %xmm0, %xmm5, %xmm0 + 0x48, 0xc1, 0xe2, 0x30, //0x00000af0 shlq $48, %rdx + 0x48, 0x09, 0xd0, //0x00000af4 orq %rdx, %rax + 0xc5, 0xf9, 0xd7, 0xd0, //0x00000af7 vpmovmskb %xmm0, %edx + 0xc5, 0xe9, 0x64, 0xc4, //0x00000afb vpcmpgtb %xmm4, %xmm2, %xmm0 + 0xc5, 0xd9, 0x64, 0xe3, //0x00000aff vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xc0, //0x00000b03 vpand %xmm0, %xmm4, %xmm0 + 0x48, 0xc1, 0xe3, 0x10, //0x00000b07 shlq $16, %rbx + 0x48, 0x09, 0xd9, //0x00000b0b orq %rbx, %rcx + 0xc5, 0x79, 0xd7, 0xd0, //0x00000b0e vpmovmskb %xmm0, %r10d + 0x49, 0xc1, 0xe3, 0x30, //0x00000b12 shlq $48, %r11 + 0x48, 0xc1, 0xe2, 0x20, //0x00000b16 shlq $32, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000b1a cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000b1e jne LBB0_137 + 0x48, 0x85, 0xc0, //0x00000b24 testq %rax, %rax + 0x0f, 0x85, 0x9c, 0x00, 0x00, 0x00, //0x00000b27 jne LBB0_142 + //0x00000b2d LBB0_137 + 0x49, 0xc1, 0xe2, 0x30, //0x00000b2d shlq $48, %r10 + 0x48, 0x09, 0xd1, //0x00000b31 orq %rdx, %rcx + 0x4c, 0x09, 0xdf, //0x00000b34 orq %r11, %rdi + 0x48, 0x89, 0xc2, //0x00000b37 movq %rax, %rdx + 0x4c, 0x09, 0xfa, //0x00000b3a orq %r15, %rdx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000b3d jne LBB0_141 + 0x4c, 0x09, 0xd1, //0x00000b43 orq %r10, %rcx + 0x48, 0x85, 0xff, //0x00000b46 testq %rdi, %rdi + 0x0f, 0x85, 0x8d, 0x00, 0x00, 0x00, //0x00000b49 jne LBB0_143 + //0x00000b4f LBB0_139 + 0x48, 0x85, 0xc9, //0x00000b4f testq %rcx, %rcx + 0x0f, 0x85, 0xc9, 0x25, 0x00, 0x00, //0x00000b52 jne LBB0_712 + 0x49, 0x83, 0xc4, 0xc0, //0x00000b58 addq $-64, %r12 + 0x49, 0x83, 0xc5, 0x40, //0x00000b5c addq $64, %r13 + 0x49, 0x83, 0xfc, 0x3f, //0x00000b60 cmpq $63, %r12 + 0x0f, 0x87, 0xe6, 0xfe, 0xff, 0xff, //0x00000b64 ja LBB0_135 + 0xe9, 0xcb, 0x05, 0x00, 0x00, //0x00000b6a jmp LBB0_239 + //0x00000b6f LBB0_141 + 0x4c, 0x89, 0xfa, //0x00000b6f movq %r15, %rdx + 0x48, 0xf7, 0xd2, //0x00000b72 notq %rdx + 0x48, 0x21, 0xc2, //0x00000b75 andq %rax, %rdx + 0x4c, 0x8d, 0x1c, 0x12, //0x00000b78 leaq (%rdx,%rdx), %r11 + 0x4d, 0x09, 0xfb, //0x00000b7c orq %r15, %r11 + 0x4c, 0x89, 0xdb, //0x00000b7f movq %r11, %rbx + 0x48, 0xf7, 0xd3, //0x00000b82 notq %rbx + 0x48, 0x21, 0xc3, //0x00000b85 andq %rax, %rbx + 0x48, 0xb8, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000b88 movabsq $-6148914691236517206, %rax + 0x48, 0x21, 0xc3, //0x00000b92 andq %rax, %rbx + 0x45, 0x31, 0xff, //0x00000b95 xorl %r15d, %r15d + 0x48, 0x01, 0xd3, //0x00000b98 addq %rdx, %rbx + 0x41, 0x0f, 0x92, 0xc7, //0x00000b9b setb %r15b + 0x48, 0x01, 0xdb, //0x00000b9f addq %rbx, %rbx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000ba2 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc3, //0x00000bac xorq %rax, %rbx + 0x4c, 0x21, 0xdb, //0x00000baf andq %r11, %rbx + 0x48, 0xf7, 0xd3, //0x00000bb2 notq %rbx + 0x48, 0x21, 0xdf, //0x00000bb5 andq %rbx, %rdi + 0x4c, 0x09, 0xd1, //0x00000bb8 orq %r10, %rcx + 0x48, 0x85, 0xff, //0x00000bbb testq %rdi, %rdi + 0x0f, 0x84, 0x8b, 0xff, 0xff, 0xff, //0x00000bbe je LBB0_139 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00000bc4 jmp LBB0_143 + //0x00000bc9 LBB0_142 + 0x4c, 0x89, 0xeb, //0x00000bc9 movq %r13, %rbx + 0x48, 0x2b, 0x5d, 0xc0, //0x00000bcc subq $-64(%rbp), %rbx + 0x4c, 0x0f, 0xbc, 0xc0, //0x00000bd0 bsfq %rax, %r8 + 0x49, 0x01, 0xd8, //0x00000bd4 addq %rbx, %r8 + 0xe9, 0x51, 0xff, 0xff, 0xff, //0x00000bd7 jmp LBB0_137 + //0x00000bdc LBB0_143 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000bdc bsfq %rdi, %rax + 0x48, 0x85, 0xc9, //0x00000be0 testq %rcx, %rcx + 0x0f, 0x84, 0x13, 0x01, 0x00, 0x00, //0x00000be3 je LBB0_162 + 0x48, 0x0f, 0xbc, 0xc9, //0x00000be9 bsfq %rcx, %rcx + 0xe9, 0x0f, 0x01, 0x00, 0x00, //0x00000bed jmp LBB0_163 + //0x00000bf2 LBB0_145 + 0x4c, 0x89, 0xf0, //0x00000bf2 movq %r14, %rax + 0x4c, 0x09, 0xe0, //0x00000bf5 orq %r12, %rax + 0x4d, 0x39, 0xe6, //0x00000bf8 cmpq %r12, %r14 + 0x0f, 0x8c, 0xdd, 0x00, 0x00, 0x00, //0x00000bfb jl LBB0_161 + 0x48, 0x85, 0xc0, //0x00000c01 testq %rax, %rax + 0x0f, 0x88, 0xd4, 0x00, 0x00, 0x00, //0x00000c04 js LBB0_161 + 0x49, 0xf7, 0xd6, //0x00000c0a notq %r14 + 0x4d, 0x89, 0xf3, //0x00000c0d movq %r14, %r11 + 0xe9, 0x9c, 0xfd, 0xff, 0xff, //0x00000c10 jmp LBB0_128 + //0x00000c15 LBB0_148 + 0x31, 0xc9, //0x00000c15 xorl %ecx, %ecx + 0x31, 0xd2, //0x00000c17 xorl %edx, %edx + 0x45, 0x31, 0xd2, //0x00000c19 xorl %r10d, %r10d + 0xe9, 0xf8, 0x00, 0x00, 0x00, //0x00000c1c jmp LBB0_166 + //0x00000c21 LBB0_149 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00000c21 movq $-2, %rdx + 0x80, 0xf9, 0x61, //0x00000c28 cmpb $97, %cl + 0x0f, 0x85, 0x57, 0x01, 0x00, 0x00, //0x00000c2b jne LBB0_175 + 0x42, 0x80, 0x7c, 0x38, 0x02, 0x6c, //0x00000c31 cmpb $108, $2(%rax,%r15) + 0x0f, 0x85, 0x5b, 0x01, 0x00, 0x00, //0x00000c37 jne LBB0_215 + 0x42, 0x80, 0x7c, 0x38, 0x03, 0x73, //0x00000c3d cmpb $115, $3(%rax,%r15) + 0x0f, 0x85, 0x61, 0x03, 0x00, 0x00, //0x00000c43 jne LBB0_213 + 0x49, 0x8d, 0x77, 0x04, //0x00000c49 leaq $4(%r15), %rsi + 0x49, 0x8d, 0x4f, 0x05, //0x00000c4d leaq $5(%r15), %rcx + 0x42, 0x80, 0x7c, 0x38, 0x04, 0x65, //0x00000c51 cmpb $101, $4(%rax,%r15) + 0x48, 0x0f, 0x44, 0xf1, //0x00000c57 cmoveq %rcx, %rsi + 0xe9, 0x51, 0x03, 0x00, 0x00, //0x00000c5b jmp LBB0_217 + //0x00000c60 LBB0_153 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00000c60 movq $-2, %rdx + 0x80, 0xf9, 0x6e, //0x00000c67 cmpb $110, %cl + 0x0f, 0x85, 0x3e, 0x03, 0x00, 0x00, //0x00000c6a jne LBB0_216 + 0x42, 0x80, 0x7c, 0x38, 0x01, 0x75, //0x00000c70 cmpb $117, $1(%rax,%r15) + 0x0f, 0x85, 0x14, 0x01, 0x00, 0x00, //0x00000c76 jne LBB0_176 + 0x42, 0x80, 0x7c, 0x38, 0x02, 0x6c, //0x00000c7c cmpb $108, $2(%rax,%r15) + 0x0f, 0x85, 0x10, 0x01, 0x00, 0x00, //0x00000c82 jne LBB0_215 + 0x49, 0x8d, 0x77, 0x03, //0x00000c88 leaq $3(%r15), %rsi + 0x49, 0x8d, 0x4f, 0x04, //0x00000c8c leaq $4(%r15), %rcx + 0x42, 0x80, 0x7c, 0x38, 0x03, 0x6c, //0x00000c90 cmpb $108, $3(%rax,%r15) + 0x48, 0x0f, 0x44, 0xf1, //0x00000c96 cmoveq %rcx, %rsi + 0xe9, 0x12, 0x03, 0x00, 0x00, //0x00000c9a jmp LBB0_217 + //0x00000c9f LBB0_157 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00000c9f movq $-2, %rdx + 0x80, 0xf9, 0x74, //0x00000ca6 cmpb $116, %cl + 0x0f, 0x85, 0xff, 0x02, 0x00, 0x00, //0x00000ca9 jne LBB0_216 + 0x42, 0x80, 0x7c, 0x38, 0x01, 0x72, //0x00000caf cmpb $114, $1(%rax,%r15) + 0x0f, 0x85, 0xd5, 0x00, 0x00, 0x00, //0x00000cb5 jne LBB0_176 + 0x42, 0x80, 0x7c, 0x38, 0x02, 0x75, //0x00000cbb cmpb $117, $2(%rax,%r15) + 0x0f, 0x85, 0xd1, 0x00, 0x00, 0x00, //0x00000cc1 jne LBB0_215 + 0x49, 0x8d, 0x77, 0x03, //0x00000cc7 leaq $3(%r15), %rsi + 0x49, 0x8d, 0x4f, 0x04, //0x00000ccb leaq $4(%r15), %rcx + 0x42, 0x80, 0x7c, 0x38, 0x03, 0x65, //0x00000ccf cmpb $101, $3(%rax,%r15) + 0x48, 0x0f, 0x44, 0xf1, //0x00000cd5 cmoveq %rcx, %rsi + 0xe9, 0xd3, 0x02, 0x00, 0x00, //0x00000cd9 jmp LBB0_217 + //0x00000cde LBB0_161 + 0x48, 0x85, 0xc0, //0x00000cde testq %rax, %rax + 0x49, 0x8d, 0x44, 0x24, 0xff, //0x00000ce1 leaq $-1(%r12), %rax + 0x49, 0xf7, 0xd4, //0x00000ce6 notq %r12 + 0x4d, 0x0f, 0x48, 0xe2, //0x00000ce9 cmovsq %r10, %r12 + 0x49, 0x39, 0xc6, //0x00000ced cmpq %rax, %r14 + 0x4d, 0x0f, 0x45, 0xe2, //0x00000cf0 cmovneq %r10, %r12 + 0x4d, 0x89, 0xe3, //0x00000cf4 movq %r12, %r11 + 0xe9, 0xb5, 0xfc, 0xff, 0xff, //0x00000cf7 jmp LBB0_128 + //0x00000cfc LBB0_162 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000cfc movl $64, %ecx + //0x00000d01 LBB0_163 + 0x48, 0x8b, 0x55, 0xc0, //0x00000d01 movq $-64(%rbp), %rdx + 0x48, 0x39, 0xc1, //0x00000d05 cmpq %rax, %rcx + 0x0f, 0x82, 0x13, 0x24, 0x00, 0x00, //0x00000d08 jb LBB0_712 + 0x49, 0x29, 0xd5, //0x00000d0e subq %rdx, %r13 + 0xe9, 0xec, 0x03, 0x00, 0x00, //0x00000d11 jmp LBB0_236 + //0x00000d16 LBB0_165 + 0x48, 0x89, 0xf7, //0x00000d16 movq %rsi, %rdi + //0x00000d19 LBB0_166 + 0x45, 0x31, 0xf6, //0x00000d19 xorl %r14d, %r14d + 0x85, 0xc9, //0x00000d1c testl %ecx, %ecx + 0x41, 0x0f, 0x9f, 0xc6, //0x00000d1e setg %r14b + 0x41, 0xb9, 0x09, 0x00, 0x00, 0x00, //0x00000d22 movl $9, %r9d + 0x49, 0x89, 0xfb, //0x00000d28 movq %rdi, %r11 + //0x00000d2b LBB0_167 + 0x85, 0xc9, //0x00000d2b testl %ecx, %ecx + 0x48, 0x89, 0x45, 0xc0, //0x00000d2d movq %rax, $-64(%rbp) + 0x0f, 0x85, 0xa8, 0x00, 0x00, 0x00, //0x00000d31 jne LBB0_181 + //0x00000d37 LBB0_168 + 0x4d, 0x85, 0xd2, //0x00000d37 testq %r10, %r10 + 0x0f, 0x85, 0x9f, 0x00, 0x00, 0x00, //0x00000d3a jne LBB0_181 + 0x49, 0x39, 0xf3, //0x00000d40 cmpq %rsi, %r11 + 0x0f, 0x83, 0x33, 0x00, 0x00, 0x00, //0x00000d43 jae LBB0_174 + 0x44, 0x89, 0x75, 0xb8, //0x00000d49 movl %r14d, $-72(%rbp) + 0x45, 0x89, 0xde, //0x00000d4d movl %r11d, %r14d + 0x41, 0x29, 0xf6, //0x00000d50 subl %esi, %r14d + 0x31, 0xd2, //0x00000d53 xorl %edx, %edx + 0x31, 0xc9, //0x00000d55 xorl %ecx, %ecx + 0x48, 0x8b, 0x45, 0xc0, //0x00000d57 movq $-64(%rbp), %rax + //0x00000d5b LBB0_171 + 0x42, 0x80, 0x3c, 0x18, 0x30, //0x00000d5b cmpb $48, (%rax,%r11) + 0x0f, 0x85, 0x6e, 0x00, 0x00, 0x00, //0x00000d60 jne LBB0_180 + 0x49, 0xff, 0xc3, //0x00000d66 incq %r11 + 0xff, 0xc9, //0x00000d69 decl %ecx + 0x4c, 0x39, 0xde, //0x00000d6b cmpq %r11, %rsi + 0x0f, 0x85, 0xe7, 0xff, 0xff, 0xff, //0x00000d6e jne LBB0_171 + 0x45, 0x31, 0xd2, //0x00000d74 xorl %r10d, %r10d + 0xe9, 0x70, 0x01, 0x00, 0x00, //0x00000d77 jmp LBB0_201 + //0x00000d7c LBB0_174 + 0x31, 0xc9, //0x00000d7c xorl %ecx, %ecx + 0x31, 0xd2, //0x00000d7e xorl %edx, %edx + 0x45, 0x31, 0xd2, //0x00000d80 xorl %r10d, %r10d + 0xe9, 0x57, 0x00, 0x00, 0x00, //0x00000d83 jmp LBB0_181 + //0x00000d88 LBB0_175 + 0x4c, 0x89, 0xde, //0x00000d88 movq %r11, %rsi + 0xe9, 0x21, 0x02, 0x00, 0x00, //0x00000d8b jmp LBB0_217 + //0x00000d90 LBB0_176 + 0x49, 0xff, 0xc7, //0x00000d90 incq %r15 + 0xe9, 0x16, 0x02, 0x00, 0x00, //0x00000d93 jmp LBB0_216 + //0x00000d98 LBB0_215 + 0x49, 0x83, 0xc7, 0x02, //0x00000d98 addq $2, %r15 + 0xe9, 0x0d, 0x02, 0x00, 0x00, //0x00000d9c jmp LBB0_216 + //0x00000da1 LBB0_177 + 0x4c, 0x89, 0xc3, //0x00000da1 movq %r8, %rbx + 0x4c, 0x29, 0xc7, //0x00000da4 subq %r8, %rdi + 0x44, 0x0f, 0xbc, 0xda, //0x00000da7 bsfl %edx, %r11d + 0x49, 0x01, 0xfb, //0x00000dab addq %rdi, %r11 + //0x00000dae LBB0_178 + 0x49, 0xf7, 0xd3, //0x00000dae notq %r11 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00000db1 movq $-48(%rbp), %r13 + 0xe9, 0xf7, 0xfb, 0xff, 0xff, //0x00000db5 jmp LBB0_128 + //0x00000dba LBB0_179 + 0x49, 0xff, 0xcb, //0x00000dba decq %r11 + 0x41, 0xb9, 0x09, 0x00, 0x00, 0x00, //0x00000dbd movl $9, %r9d + 0x85, 0xc9, //0x00000dc3 testl %ecx, %ecx + 0x48, 0x89, 0x45, 0xc0, //0x00000dc5 movq %rax, $-64(%rbp) + 0x0f, 0x84, 0x68, 0xff, 0xff, 0xff, //0x00000dc9 je LBB0_168 + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00000dcf jmp LBB0_181 + //0x00000dd4 LBB0_180 + 0x45, 0x31, 0xd2, //0x00000dd4 xorl %r10d, %r10d + 0x48, 0x8b, 0x45, 0xc0, //0x00000dd7 movq $-64(%rbp), %rax + 0x44, 0x8b, 0x75, 0xb8, //0x00000ddb movl $-72(%rbp), %r14d + //0x00000ddf LBB0_181 + 0x49, 0x39, 0xf3, //0x00000ddf cmpq %rsi, %r11 + 0x0f, 0x83, 0x3c, 0x00, 0x00, 0x00, //0x00000de2 jae LBB0_186 + 0x83, 0xfa, 0x12, //0x00000de8 cmpl $18, %edx + 0x0f, 0x8f, 0x33, 0x00, 0x00, 0x00, //0x00000deb jg LBB0_186 + //0x00000df1 LBB0_183 + 0x42, 0x0f, 0xb6, 0x3c, 0x18, //0x00000df1 movzbl (%rax,%r11), %edi + 0x8d, 0x5f, 0xd0, //0x00000df6 leal $-48(%rdi), %ebx + 0x80, 0xfb, 0x09, //0x00000df9 cmpb $9, %bl + 0x0f, 0x87, 0x22, 0x00, 0x00, 0x00, //0x00000dfc ja LBB0_186 + 0x4b, 0x8d, 0x1c, 0x92, //0x00000e02 leaq (%r10,%r10,4), %rbx + 0x4c, 0x8d, 0x54, 0x5f, 0xd0, //0x00000e06 leaq $-48(%rdi,%rbx,2), %r10 + 0xff, 0xc9, //0x00000e0b decl %ecx + 0x49, 0xff, 0xc3, //0x00000e0d incq %r11 + 0x83, 0xfa, 0x11, //0x00000e10 cmpl $17, %edx + 0x0f, 0x8f, 0x0b, 0x00, 0x00, 0x00, //0x00000e13 jg LBB0_186 + 0xff, 0xc2, //0x00000e19 incl %edx + 0x49, 0x39, 0xf3, //0x00000e1b cmpq %rsi, %r11 + 0x0f, 0x82, 0xcd, 0xff, 0xff, 0xff, //0x00000e1e jb LBB0_183 + //0x00000e24 LBB0_186 + 0x49, 0x39, 0xf3, //0x00000e24 cmpq %rsi, %r11 + 0x0f, 0x83, 0xa9, 0x00, 0x00, 0x00, //0x00000e27 jae LBB0_199 + 0x42, 0x8a, 0x14, 0x18, //0x00000e2d movb (%rax,%r11), %dl + 0x8d, 0x7a, 0xd0, //0x00000e31 leal $-48(%rdx), %edi + 0x40, 0x80, 0xff, 0x09, //0x00000e34 cmpb $9, %dil + 0x0f, 0x87, 0x28, 0x00, 0x00, 0x00, //0x00000e38 ja LBB0_192 + 0x48, 0x8d, 0x7e, 0xff, //0x00000e3e leaq $-1(%rsi), %rdi + //0x00000e42 LBB0_189 + 0x4c, 0x39, 0xdf, //0x00000e42 cmpq %r11, %rdi + 0x0f, 0x84, 0x97, 0x00, 0x00, 0x00, //0x00000e45 je LBB0_200 + 0x42, 0x0f, 0xb6, 0x54, 0x18, 0x01, //0x00000e4b movzbl $1(%rax,%r11), %edx + 0x49, 0xff, 0xc3, //0x00000e51 incq %r11 + 0x8d, 0x5a, 0xd0, //0x00000e54 leal $-48(%rdx), %ebx + 0x80, 0xfb, 0x09, //0x00000e57 cmpb $9, %bl + 0x0f, 0x86, 0xe2, 0xff, 0xff, 0xff, //0x00000e5a jbe LBB0_189 + 0x41, 0xbe, 0x01, 0x00, 0x00, 0x00, //0x00000e60 movl $1, %r14d + //0x00000e66 LBB0_192 + 0x80, 0xca, 0x20, //0x00000e66 orb $32, %dl + 0x80, 0xfa, 0x65, //0x00000e69 cmpb $101, %dl + 0x0f, 0x85, 0x64, 0x00, 0x00, 0x00, //0x00000e6c jne LBB0_199 + 0x49, 0x8d, 0x7b, 0x01, //0x00000e72 leaq $1(%r11), %rdi + 0x49, 0xc7, 0x45, 0x00, 0x08, 0x00, 0x00, 0x00, //0x00000e76 movq $8, (%r13) + 0x48, 0x39, 0xf7, //0x00000e7e cmpq %rsi, %rdi + 0x0f, 0x83, 0x3f, 0x00, 0x00, 0x00, //0x00000e81 jae LBB0_198 + 0x8a, 0x14, 0x38, //0x00000e87 movb (%rax,%rdi), %dl + 0x80, 0xfa, 0x2d, //0x00000e8a cmpb $45, %dl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x00000e8d je LBB0_196 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000e93 movl $1, %r9d + 0x80, 0xfa, 0x2b, //0x00000e99 cmpb $43, %dl + 0x0f, 0x85, 0x4b, 0x01, 0x00, 0x00, //0x00000e9c jne LBB0_222 + //0x00000ea2 LBB0_196 + 0x49, 0x83, 0xc3, 0x02, //0x00000ea2 addq $2, %r11 + 0x49, 0x39, 0xf3, //0x00000ea6 cmpq %rsi, %r11 + 0x0f, 0x83, 0x17, 0x00, 0x00, 0x00, //0x00000ea9 jae LBB0_198 + 0x31, 0xff, //0x00000eaf xorl %edi, %edi + 0x80, 0xfa, 0x2b, //0x00000eb1 cmpb $43, %dl + 0x40, 0x0f, 0x94, 0xc7, //0x00000eb4 sete %dil + 0x44, 0x8d, 0x4c, 0x3f, 0xff, //0x00000eb8 leal $-1(%rdi,%rdi), %r9d + 0x42, 0x8a, 0x14, 0x18, //0x00000ebd movb (%rax,%r11), %dl + 0xe9, 0x2a, 0x01, 0x00, 0x00, //0x00000ec1 jmp LBB0_223 + //0x00000ec6 LBB0_198 + 0x49, 0xc7, 0x45, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00000ec6 movq $-1, (%r13) + 0x49, 0x89, 0xf3, //0x00000ece movq %rsi, %r11 + 0xe9, 0x13, 0xf4, 0xff, 0xff, //0x00000ed1 jmp LBB0_38 + //0x00000ed6 LBB0_199 + 0x44, 0x89, 0x75, 0xb8, //0x00000ed6 movl %r14d, $-72(%rbp) + 0x41, 0x89, 0xce, //0x00000eda movl %ecx, %r14d + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x00000edd jmp LBB0_202 + //0x00000ee2 LBB0_200 + 0xc7, 0x45, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000ee2 movl $1, $-72(%rbp) + 0x41, 0x89, 0xce, //0x00000ee9 movl %ecx, %r14d + //0x00000eec LBB0_201 + 0x49, 0x89, 0xf3, //0x00000eec movq %rsi, %r11 + //0x00000eef LBB0_202 + 0x41, 0x83, 0xf9, 0x09, //0x00000eef cmpl $9, %r9d + 0x0f, 0x85, 0x37, 0x00, 0x00, 0x00, //0x00000ef3 jne LBB0_207 + 0x45, 0x85, 0xf6, //0x00000ef9 testl %r14d, %r14d + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x00000efc jne LBB0_206 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000f02 movabsq $-9223372036854775808, %rax + 0x48, 0x63, 0x4d, 0xc8, //0x00000f0c movslq $-56(%rbp), %rcx + 0x4d, 0x85, 0xd2, //0x00000f10 testq %r10, %r10 + 0x0f, 0x89, 0x56, 0x00, 0x00, 0x00, //0x00000f13 jns LBB0_212 + 0x4c, 0x89, 0xd2, //0x00000f19 movq %r10, %rdx + 0x48, 0x21, 0xca, //0x00000f1c andq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x00000f1f cmpq %rax, %rdx + 0x0f, 0x84, 0x47, 0x00, 0x00, 0x00, //0x00000f22 je LBB0_212 + //0x00000f28 LBB0_206 + 0x49, 0xc7, 0x45, 0x00, 0x08, 0x00, 0x00, 0x00, //0x00000f28 movq $8, (%r13) + //0x00000f30 LBB0_207 + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000f30 movabsq $-9223372036854775808, %r9 + 0x4c, 0x89, 0xd0, //0x00000f3a movq %r10, %rax + 0x48, 0xc1, 0xe8, 0x34, //0x00000f3d shrq $52, %rax + 0x0f, 0x84, 0xcf, 0x02, 0x00, 0x00, //0x00000f41 je LBB0_247 + //0x00000f47 LBB0_208 + 0x41, 0x8d, 0x86, 0x5c, 0x01, 0x00, 0x00, //0x00000f47 leal $348(%r14), %eax + 0x3d, 0xb7, 0x02, 0x00, 0x00, //0x00000f4e cmpl $695, %eax + 0x0f, 0x87, 0xb5, 0x04, 0x00, 0x00, //0x00000f53 ja LBB0_268 + 0x4d, 0x85, 0xd2, //0x00000f59 testq %r10, %r10 + 0x0f, 0x84, 0xa3, 0x03, 0x00, 0x00, //0x00000f5c je LBB0_259 + //0x00000f62 LBB0_210 + 0x49, 0x0f, 0xbd, 0xca, //0x00000f62 bsrq %r10, %rcx + 0x48, 0x83, 0xf1, 0x3f, //0x00000f66 xorq $63, %rcx + 0xe9, 0x9b, 0x03, 0x00, 0x00, //0x00000f6a jmp LBB0_260 + //0x00000f6f LBB0_212 + 0xc4, 0xc1, 0xf9, 0x6e, 0xc2, //0x00000f6f vmovq %r10, %xmm0 + 0x4c, 0x0f, 0xaf, 0xd1, //0x00000f74 imulq %rcx, %r10 + 0x4d, 0x89, 0x55, 0x10, //0x00000f78 movq %r10, $16(%r13) + 0xc5, 0xf9, 0x62, 0x05, 0x0c, 0xf1, 0xff, 0xff, //0x00000f7c vpunpckldq $-3828(%rip), %xmm0, %xmm0 /* LCPI0_9+0(%rip) */ + 0xc5, 0xf9, 0x5c, 0x05, 0x14, 0xf1, 0xff, 0xff, //0x00000f84 vsubpd $-3820(%rip), %xmm0, %xmm0 /* LCPI0_10+0(%rip) */ + 0xc4, 0xe3, 0x79, 0x05, 0xc8, 0x01, //0x00000f8c vpermilpd $1, %xmm0, %xmm1 + 0xc5, 0xf3, 0x58, 0xc0, //0x00000f92 vaddsd %xmm0, %xmm1, %xmm0 + 0x48, 0x21, 0xc8, //0x00000f96 andq %rcx, %rax + 0xc4, 0xe1, 0xf9, 0x7e, 0xc1, //0x00000f99 vmovq %xmm0, %rcx + 0x48, 0x09, 0xc1, //0x00000f9e orq %rax, %rcx + 0x49, 0x89, 0x4d, 0x08, //0x00000fa1 movq %rcx, $8(%r13) + 0xe9, 0x3f, 0xf3, 0xff, 0xff, //0x00000fa5 jmp LBB0_38 + //0x00000faa LBB0_213 + 0x49, 0x83, 0xc7, 0x03, //0x00000faa addq $3, %r15 + //0x00000fae LBB0_216 + 0x4c, 0x89, 0xfe, //0x00000fae movq %r15, %rsi + //0x00000fb1 LBB0_217 + 0x49, 0x89, 0x55, 0x00, //0x00000fb1 movq %rdx, (%r13) + 0x49, 0x89, 0xf3, //0x00000fb5 movq %rsi, %r11 + 0xe9, 0x2c, 0xf3, 0xff, 0xff, //0x00000fb8 jmp LBB0_38 + //0x00000fbd LBB0_218 + 0x49, 0x89, 0xca, //0x00000fbd movq %rcx, %r10 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000fc0 movq $-1, %r11 + 0x4d, 0x85, 0xe4, //0x00000fc7 testq %r12, %r12 + 0x0f, 0x85, 0xe9, 0xf5, 0xff, 0xff, //0x00000fca jne LBB0_76 + //0x00000fd0 LBB0_219 + 0x49, 0xf7, 0xd3, //0x00000fd0 notq %r11 + 0x4c, 0x01, 0xdb, //0x00000fd3 addq %r11, %rbx + //0x00000fd6 LBB0_220 + 0x49, 0xc7, 0xc7, 0xfe, 0xff, 0xff, 0xff, //0x00000fd6 movq $-2, %r15 + //0x00000fdd LBB0_221 + 0x48, 0x2b, 0x5d, 0xc0, //0x00000fdd subq $-64(%rbp), %rbx + 0x49, 0x89, 0xdb, //0x00000fe1 movq %rbx, %r11 + 0x4d, 0x89, 0x7d, 0x00, //0x00000fe4 movq %r15, (%r13) + 0xe9, 0xfc, 0xf2, 0xff, 0xff, //0x00000fe8 jmp LBB0_38 + //0x00000fed LBB0_222 + 0x49, 0x89, 0xfb, //0x00000fed movq %rdi, %r11 + //0x00000ff0 LBB0_223 + 0x8d, 0x7a, 0xd0, //0x00000ff0 leal $-48(%rdx), %edi + 0x40, 0x80, 0xff, 0x09, //0x00000ff3 cmpb $9, %dil + 0x0f, 0x86, 0x0d, 0x00, 0x00, 0x00, //0x00000ff7 jbe LBB0_225 + //0x00000ffd LBB0_98 + 0x49, 0xc7, 0x45, 0x00, 0xfe, 0xff, 0xff, 0xff, //0x00000ffd movq $-2, (%r13) + 0xe9, 0xdf, 0xf2, 0xff, 0xff, //0x00001005 jmp LBB0_38 + //0x0000100a LBB0_225 + 0x44, 0x89, 0x75, 0xb8, //0x0000100a movl %r14d, $-72(%rbp) + 0x45, 0x31, 0xf6, //0x0000100e xorl %r14d, %r14d + 0x49, 0x39, 0xf3, //0x00001011 cmpq %rsi, %r11 + 0x0f, 0x83, 0xde, 0x01, 0x00, 0x00, //0x00001014 jae LBB0_246 + 0x48, 0x8d, 0x7e, 0xff, //0x0000101a leaq $-1(%rsi), %rdi + 0x45, 0x31, 0xf6, //0x0000101e xorl %r14d, %r14d + //0x00001021 LBB0_227 + 0x44, 0x89, 0xf3, //0x00001021 movl %r14d, %ebx + 0x41, 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x00001024 cmpl $10000, %r14d + 0x8d, 0x04, 0x9b, //0x0000102b leal (%rbx,%rbx,4), %eax + 0x0f, 0xb6, 0xd2, //0x0000102e movzbl %dl, %edx + 0x44, 0x8d, 0x74, 0x42, 0xd0, //0x00001031 leal $-48(%rdx,%rax,2), %r14d + 0x44, 0x0f, 0x4d, 0xf3, //0x00001036 cmovgel %ebx, %r14d + 0x4c, 0x39, 0xdf, //0x0000103a cmpq %r11, %rdi + 0x0f, 0x84, 0xb2, 0x01, 0x00, 0x00, //0x0000103d je LBB0_245 + 0x48, 0x8b, 0x45, 0xc0, //0x00001043 movq $-64(%rbp), %rax + 0x42, 0x0f, 0xb6, 0x54, 0x18, 0x01, //0x00001047 movzbl $1(%rax,%r11), %edx + 0x49, 0xff, 0xc3, //0x0000104d incq %r11 + 0x8d, 0x42, 0xd0, //0x00001050 leal $-48(%rdx), %eax + 0x3c, 0x0a, //0x00001053 cmpb $10, %al + 0x0f, 0x82, 0xc6, 0xff, 0xff, 0xff, //0x00001055 jb LBB0_227 + 0xe9, 0x98, 0x01, 0x00, 0x00, //0x0000105b jmp LBB0_246 + //0x00001060 LBB0_229 + 0x49, 0xf7, 0xd3, //0x00001060 notq %r11 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00001063 movq $-48(%rbp), %r13 + 0x4c, 0x89, 0xc3, //0x00001067 movq %r8, %rbx + 0xe9, 0x42, 0xf9, 0xff, 0xff, //0x0000106a jmp LBB0_128 + //0x0000106f LBB0_453 + 0x49, 0xf7, 0xdb, //0x0000106f negq %r11 + 0xe9, 0x3a, 0xf9, 0xff, 0xff, //0x00001072 jmp LBB0_128 + //0x00001077 LBB0_230 + 0x4c, 0x8b, 0x6d, 0xa8, //0x00001077 movq $-88(%rbp), %r13 + 0x4d, 0x89, 0xf4, //0x0000107b movq %r14, %r12 + 0x49, 0x83, 0xfc, 0x20, //0x0000107e cmpq $32, %r12 + 0x0f, 0x82, 0x19, 0x21, 0x00, 0x00, //0x00001082 jb LBB0_717 + //0x00001088 LBB0_231 + 0xc4, 0xc1, 0x7a, 0x6f, 0x45, 0x00, //0x00001088 vmovdqu (%r13), %xmm0 + 0xc4, 0xc1, 0x7a, 0x6f, 0x4d, 0x10, //0x0000108e vmovdqu $16(%r13), %xmm1 + 0xc5, 0xfa, 0x6f, 0x15, 0x64, 0xef, 0xff, 0xff, //0x00001094 vmovdqu $-4252(%rip), %xmm2 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x1d, 0x6c, 0xef, 0xff, 0xff, //0x0000109c vmovdqu $-4244(%rip), %xmm3 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0x74, 0xe2, //0x000010a4 vpcmpeqb %xmm2, %xmm0, %xmm4 + 0xc5, 0xf9, 0xd7, 0xd4, //0x000010a8 vpmovmskb %xmm4, %edx + 0xc5, 0xf1, 0x74, 0xd2, //0x000010ac vpcmpeqb %xmm2, %xmm1, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000010b0 vpmovmskb %xmm2, %edi + 0xc5, 0xf9, 0x74, 0xc3, //0x000010b4 vpcmpeqb %xmm3, %xmm0, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x000010b8 vpmovmskb %xmm0, %eax + 0xc5, 0xf1, 0x74, 0xc3, //0x000010bc vpcmpeqb %xmm3, %xmm1, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc8, //0x000010c0 vpmovmskb %xmm0, %ecx + 0x48, 0xc1, 0xe7, 0x10, //0x000010c4 shlq $16, %rdi + 0x48, 0xc1, 0xe1, 0x10, //0x000010c8 shlq $16, %rcx + 0x48, 0x09, 0xc8, //0x000010cc orq %rcx, %rax + 0x49, 0x83, 0xf8, 0xff, //0x000010cf cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000010d3 jne LBB0_233 + 0x48, 0x85, 0xc0, //0x000010d9 testq %rax, %rax + 0x0f, 0x85, 0x5e, 0x20, 0x00, 0x00, //0x000010dc jne LBB0_714 + //0x000010e2 LBB0_233 + 0x48, 0x09, 0xd7, //0x000010e2 orq %rdx, %rdi + 0x48, 0x89, 0xc1, //0x000010e5 movq %rax, %rcx + 0x4c, 0x09, 0xf9, //0x000010e8 orq %r15, %rcx + 0x0f, 0x85, 0x6c, 0x20, 0x00, 0x00, //0x000010eb jne LBB0_715 + //0x000010f1 LBB0_234 + 0x48, 0x85, 0xff, //0x000010f1 testq %rdi, %rdi + 0x0f, 0x84, 0x9f, 0x20, 0x00, 0x00, //0x000010f4 je LBB0_716 + //0x000010fa LBB0_235 + 0x48, 0x0f, 0xbc, 0xc7, //0x000010fa bsfq %rdi, %rax + 0x4c, 0x2b, 0x6d, 0xc0, //0x000010fe subq $-64(%rbp), %r13 + //0x00001102 LBB0_236 + 0x4d, 0x8d, 0x5c, 0x05, 0x01, //0x00001102 leaq $1(%r13,%rax), %r11 + //0x00001107 LBB0_237 + 0x4d, 0x85, 0xdb, //0x00001107 testq %r11, %r11 + 0x48, 0x8b, 0x4d, 0xd0, //0x0000110a movq $-48(%rbp), %rcx + 0x0f, 0x88, 0xa0, 0x21, 0x00, 0x00, //0x0000110e js LBB0_732 + 0x48, 0x8b, 0x45, 0xb8, //0x00001114 movq $-72(%rbp), %rax + 0x48, 0x89, 0x41, 0x10, //0x00001118 movq %rax, $16(%rcx) + 0x48, 0xc7, 0x01, 0x07, 0x00, 0x00, 0x00, //0x0000111c movq $7, (%rcx) + 0x4d, 0x39, 0xd8, //0x00001123 cmpq %r11, %r8 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001126 movq $-1, %rax + 0x49, 0x0f, 0x4c, 0xc0, //0x0000112d cmovlq %r8, %rax + 0x48, 0x89, 0x41, 0x18, //0x00001131 movq %rax, $24(%rcx) + 0xe9, 0xaf, 0xf1, 0xff, 0xff, //0x00001135 jmp LBB0_38 + //0x0000113a LBB0_239 + 0x4d, 0x89, 0xcd, //0x0000113a movq %r9, %r13 + 0x4d, 0x89, 0xf4, //0x0000113d movq %r14, %r12 + 0x49, 0x83, 0xfc, 0x20, //0x00001140 cmpq $32, %r12 + 0x0f, 0x82, 0x2f, 0x1f, 0x00, 0x00, //0x00001144 jb LBB0_701 + //0x0000114a LBB0_240 + 0xc4, 0xc1, 0x7a, 0x6f, 0x45, 0x00, //0x0000114a vmovdqu (%r13), %xmm0 + 0xc4, 0xc1, 0x7a, 0x6f, 0x4d, 0x10, //0x00001150 vmovdqu $16(%r13), %xmm1 + 0xc5, 0xfa, 0x6f, 0x15, 0xa2, 0xee, 0xff, 0xff, //0x00001156 vmovdqu $-4446(%rip), %xmm2 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0x74, 0xda, //0x0000115e vpcmpeqb %xmm2, %xmm0, %xmm3 + 0xc5, 0xf9, 0xd7, 0xd3, //0x00001162 vpmovmskb %xmm3, %edx + 0xc5, 0xf1, 0x74, 0xd2, //0x00001166 vpcmpeqb %xmm2, %xmm1, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x0000116a vpmovmskb %xmm2, %edi + 0xc5, 0xfa, 0x6f, 0x15, 0x9a, 0xee, 0xff, 0xff, //0x0000116e vmovdqu $-4454(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0x74, 0xda, //0x00001176 vpcmpeqb %xmm2, %xmm0, %xmm3 + 0xc5, 0xf9, 0xd7, 0xcb, //0x0000117a vpmovmskb %xmm3, %ecx + 0xc5, 0xf1, 0x74, 0xd2, //0x0000117e vpcmpeqb %xmm2, %xmm1, %xmm2 + 0xc5, 0xf9, 0xd7, 0xc2, //0x00001182 vpmovmskb %xmm2, %eax + 0xc5, 0xfa, 0x6f, 0x15, 0x92, 0xee, 0xff, 0xff, //0x00001186 vmovdqu $-4462(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0xc5, 0xe9, 0x64, 0xd8, //0x0000118e vpcmpgtb %xmm0, %xmm2, %xmm3 + 0xc5, 0xd9, 0x76, 0xe4, //0x00001192 vpcmpeqd %xmm4, %xmm4, %xmm4 + 0xc5, 0xf9, 0x64, 0xc4, //0x00001196 vpcmpgtb %xmm4, %xmm0, %xmm0 + 0xc5, 0xf9, 0xdb, 0xc3, //0x0000119a vpand %xmm3, %xmm0, %xmm0 + 0xc5, 0xe9, 0x64, 0xd1, //0x0000119e vpcmpgtb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf1, 0x64, 0xcc, //0x000011a2 vpcmpgtb %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xdb, 0xca, //0x000011a6 vpand %xmm2, %xmm1, %xmm1 + 0xc5, 0x79, 0xd7, 0xc9, //0x000011aa vpmovmskb %xmm1, %r9d + 0x48, 0xc1, 0xe7, 0x10, //0x000011ae shlq $16, %rdi + 0x48, 0xc1, 0xe0, 0x10, //0x000011b2 shlq $16, %rax + 0x48, 0x09, 0xc1, //0x000011b6 orq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x000011b9 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000011bd jne LBB0_242 + 0x48, 0x85, 0xc9, //0x000011c3 testq %rcx, %rcx + 0x0f, 0x85, 0x5d, 0x20, 0x00, 0x00, //0x000011c6 jne LBB0_726 + //0x000011cc LBB0_242 + 0xc5, 0xf9, 0xd7, 0xc0, //0x000011cc vpmovmskb %xmm0, %eax + 0x48, 0x09, 0xd7, //0x000011d0 orq %rdx, %rdi + 0x48, 0x89, 0xca, //0x000011d3 movq %rcx, %rdx + 0x4c, 0x09, 0xfa, //0x000011d6 orq %r15, %rdx + 0x0f, 0x85, 0x23, 0x1e, 0x00, 0x00, //0x000011d9 jne LBB0_694 + 0x49, 0xc1, 0xe1, 0x10, //0x000011df shlq $16, %r9 + 0x48, 0x85, 0xff, //0x000011e3 testq %rdi, %rdi + 0x0f, 0x84, 0x59, 0x1e, 0x00, 0x00, //0x000011e6 je LBB0_695 + //0x000011ec LBB0_244 + 0x48, 0x0f, 0xbc, 0xcf, //0x000011ec bsfq %rdi, %rcx + 0xe9, 0x55, 0x1e, 0x00, 0x00, //0x000011f0 jmp LBB0_696 + //0x000011f5 LBB0_245 + 0x49, 0x89, 0xf3, //0x000011f5 movq %rsi, %r11 + //0x000011f8 LBB0_246 + 0x45, 0x0f, 0xaf, 0xf1, //0x000011f8 imull %r9d, %r14d + 0x41, 0x01, 0xce, //0x000011fc addl %ecx, %r14d + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x000011ff movabsq $-9223372036854775808, %r9 + 0x4c, 0x89, 0xd0, //0x00001209 movq %r10, %rax + 0x48, 0xc1, 0xe8, 0x34, //0x0000120c shrq $52, %rax + 0x0f, 0x85, 0x31, 0xfd, 0xff, 0xff, //0x00001210 jne LBB0_208 + //0x00001216 LBB0_247 + 0xc4, 0xc1, 0xf9, 0x6e, 0xc2, //0x00001216 vmovq %r10, %xmm0 + 0xc5, 0xf9, 0x62, 0x05, 0x6d, 0xee, 0xff, 0xff, //0x0000121b vpunpckldq $-4499(%rip), %xmm0, %xmm0 /* LCPI0_9+0(%rip) */ + 0xc5, 0xf9, 0x5c, 0x05, 0x75, 0xee, 0xff, 0xff, //0x00001223 vsubpd $-4491(%rip), %xmm0, %xmm0 /* LCPI0_10+0(%rip) */ + 0xc4, 0xe3, 0x79, 0x05, 0xc8, 0x01, //0x0000122b vpermilpd $1, %xmm0, %xmm1 + 0xc5, 0xf3, 0x58, 0xc0, //0x00001231 vaddsd %xmm0, %xmm1, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc0, //0x00001235 vmovq %xmm0, %rax + 0x8b, 0x4d, 0xc8, //0x0000123a movl $-56(%rbp), %ecx + 0x89, 0xce, //0x0000123d movl %ecx, %esi + 0xc1, 0xee, 0x1f, //0x0000123f shrl $31, %esi + 0x48, 0xc1, 0xe6, 0x3f, //0x00001242 shlq $63, %rsi + 0x48, 0x09, 0xc6, //0x00001246 orq %rax, %rsi + 0x4d, 0x85, 0xd2, //0x00001249 testq %r10, %r10 + 0x0f, 0x84, 0x02, 0x06, 0x00, 0x00, //0x0000124c je LBB0_328 + 0x45, 0x85, 0xf6, //0x00001252 testl %r14d, %r14d + 0x0f, 0x84, 0xf9, 0x05, 0x00, 0x00, //0x00001255 je LBB0_328 + 0xc4, 0xe1, 0xf9, 0x6e, 0xc6, //0x0000125b vmovq %rsi, %xmm0 + 0x41, 0x8d, 0x46, 0xff, //0x00001260 leal $-1(%r14), %eax + 0x83, 0xf8, 0x24, //0x00001264 cmpl $36, %eax + 0x0f, 0x87, 0x27, 0x00, 0x00, 0x00, //0x00001267 ja LBB0_252 + 0x41, 0x83, 0xfe, 0x17, //0x0000126d cmpl $23, %r14d + 0x0f, 0x8c, 0x43, 0x00, 0x00, 0x00, //0x00001271 jl LBB0_254 + 0x49, 0x63, 0xc6, //0x00001277 movslq %r14d, %rax + 0x48, 0x8d, 0x0d, 0x3f, 0x23, 0x00, 0x00, //0x0000127a leaq $9023(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xc5, 0xfb, 0x59, 0x84, 0xc1, 0x50, 0xff, 0xff, 0xff, //0x00001281 vmulsd $-176(%rcx,%rax,8), %xmm0, %xmm0 + 0xb8, 0x16, 0x00, 0x00, 0x00, //0x0000128a movl $22, %eax + 0xe9, 0x29, 0x00, 0x00, 0x00, //0x0000128f jmp LBB0_255 + //0x00001294 LBB0_252 + 0x41, 0x83, 0xfe, 0xea, //0x00001294 cmpl $-22, %r14d + 0x0f, 0x82, 0xa9, 0xfc, 0xff, 0xff, //0x00001298 jb LBB0_208 + 0x41, 0xf7, 0xde, //0x0000129e negl %r14d + 0x49, 0x63, 0xc6, //0x000012a1 movslq %r14d, %rax + 0x48, 0x8d, 0x0d, 0x15, 0x23, 0x00, 0x00, //0x000012a4 leaq $8981(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xc5, 0xfb, 0x5e, 0x04, 0xc1, //0x000012ab vdivsd (%rcx,%rax,8), %xmm0, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc6, //0x000012b0 vmovq %xmm0, %rsi + 0xe9, 0x9a, 0x05, 0x00, 0x00, //0x000012b5 jmp LBB0_328 + //0x000012ba LBB0_254 + 0x44, 0x89, 0xf0, //0x000012ba movl %r14d, %eax + //0x000012bd LBB0_255 + 0xc5, 0xf9, 0x2e, 0x05, 0xeb, 0xed, 0xff, 0xff, //0x000012bd vucomisd $-4629(%rip), %xmm0 /* LCPI0_11+0(%rip) */ + 0x0f, 0x87, 0x2a, 0x00, 0x00, 0x00, //0x000012c5 ja LBB0_258 + 0xc5, 0xfb, 0x10, 0x0d, 0xe5, 0xed, 0xff, 0xff, //0x000012cb vmovsd $-4635(%rip), %xmm1 /* LCPI0_12+0(%rip) */ + 0xc5, 0xf9, 0x2e, 0xc8, //0x000012d3 vucomisd %xmm0, %xmm1 + 0x0f, 0x87, 0x18, 0x00, 0x00, 0x00, //0x000012d7 ja LBB0_258 + 0x89, 0xc0, //0x000012dd movl %eax, %eax + 0x48, 0x8d, 0x0d, 0xda, 0x22, 0x00, 0x00, //0x000012df leaq $8922(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xc5, 0xfb, 0x59, 0x04, 0xc1, //0x000012e6 vmulsd (%rcx,%rax,8), %xmm0, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc6, //0x000012eb vmovq %xmm0, %rsi + 0xe9, 0x5f, 0x05, 0x00, 0x00, //0x000012f0 jmp LBB0_328 + //0x000012f5 LBB0_258 + 0x41, 0x8d, 0x86, 0x5c, 0x01, 0x00, 0x00, //0x000012f5 leal $348(%r14), %eax + 0x4d, 0x85, 0xd2, //0x000012fc testq %r10, %r10 + 0x0f, 0x85, 0x5d, 0xfc, 0xff, 0xff, //0x000012ff jne LBB0_210 + //0x00001305 LBB0_259 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001305 movl $64, %ecx + //0x0000130a LBB0_260 + 0x4c, 0x89, 0xd6, //0x0000130a movq %r10, %rsi + 0x48, 0x89, 0x4d, 0xa0, //0x0000130d movq %rcx, $-96(%rbp) + 0x48, 0xd3, 0xe6, //0x00001311 shlq %cl, %rsi + 0x89, 0xc0, //0x00001314 movl %eax, %eax + 0x48, 0xc1, 0xe0, 0x04, //0x00001316 shlq $4, %rax + 0x48, 0x8d, 0x0d, 0x5f, 0x23, 0x00, 0x00, //0x0000131a leaq $9055(%rip), %rcx /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0x89, 0x45, 0xb0, //0x00001321 movq %rax, $-80(%rbp) + 0x48, 0x8b, 0x44, 0x08, 0x08, //0x00001325 movq $8(%rax,%rcx), %rax + 0x48, 0x89, 0x45, 0x98, //0x0000132a movq %rax, $-104(%rbp) + 0x48, 0xf7, 0xe6, //0x0000132e mulq %rsi + 0x48, 0x89, 0xc7, //0x00001331 movq %rax, %rdi + 0x48, 0x89, 0xd3, //0x00001334 movq %rdx, %rbx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x00001337 andl $511, %edx + 0x48, 0x89, 0xf1, //0x0000133d movq %rsi, %rcx + 0x48, 0xf7, 0xd1, //0x00001340 notq %rcx + 0x48, 0x39, 0xc8, //0x00001343 cmpq %rcx, %rax + 0x0f, 0x86, 0x4c, 0x00, 0x00, 0x00, //0x00001346 jbe LBB0_265 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x0000134c cmpl $511, %edx + 0x0f, 0x85, 0x40, 0x00, 0x00, 0x00, //0x00001352 jne LBB0_265 + 0x48, 0x89, 0xf0, //0x00001358 movq %rsi, %rax + 0x48, 0x8b, 0x55, 0xb0, //0x0000135b movq $-80(%rbp), %rdx + 0x48, 0x8d, 0x35, 0x1a, 0x23, 0x00, 0x00, //0x0000135f leaq $8986(%rip), %rsi /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0xf7, 0x24, 0x32, //0x00001366 mulq (%rdx,%rsi) + 0x48, 0x01, 0xd7, //0x0000136a addq %rdx, %rdi + 0x48, 0x83, 0xd3, 0x00, //0x0000136d adcq $0, %rbx + 0x89, 0xda, //0x00001371 movl %ebx, %edx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x00001373 andl $511, %edx + 0x48, 0x39, 0xc8, //0x00001379 cmpq %rcx, %rax + 0x0f, 0x86, 0x16, 0x00, 0x00, 0x00, //0x0000137c jbe LBB0_265 + 0x48, 0x83, 0xff, 0xff, //0x00001382 cmpq $-1, %rdi + 0x0f, 0x85, 0x0c, 0x00, 0x00, 0x00, //0x00001386 jne LBB0_265 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x0000138c cmpl $511, %edx + 0x0f, 0x84, 0x76, 0x00, 0x00, 0x00, //0x00001392 je LBB0_268 + //0x00001398 LBB0_265 + 0x48, 0x89, 0xd8, //0x00001398 movq %rbx, %rax + 0x48, 0xc1, 0xe8, 0x3f, //0x0000139b shrq $63, %rax + 0x8d, 0x48, 0x09, //0x0000139f leal $9(%rax), %ecx + 0x48, 0xd3, 0xeb, //0x000013a2 shrq %cl, %rbx + 0x48, 0x09, 0xfa, //0x000013a5 orq %rdi, %rdx + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000013a8 jne LBB0_267 + 0x89, 0xd9, //0x000013ae movl %ebx, %ecx + 0x83, 0xe1, 0x03, //0x000013b0 andl $3, %ecx + 0x83, 0xf9, 0x01, //0x000013b3 cmpl $1, %ecx + 0x0f, 0x84, 0x52, 0x00, 0x00, 0x00, //0x000013b6 je LBB0_268 + //0x000013bc LBB0_267 + 0x41, 0x69, 0xce, 0x6a, 0x52, 0x03, 0x00, //0x000013bc imull $217706, %r14d, %ecx + 0xc1, 0xf9, 0x10, //0x000013c3 sarl $16, %ecx + 0x81, 0xc1, 0x3f, 0x04, 0x00, 0x00, //0x000013c6 addl $1087, %ecx + 0x4c, 0x63, 0xf1, //0x000013cc movslq %ecx, %r14 + 0x4c, 0x89, 0xf2, //0x000013cf movq %r14, %rdx + 0x48, 0x2b, 0x55, 0xa0, //0x000013d2 subq $-96(%rbp), %rdx + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, //0x000013d6 movabsq $126100789566373888, %rdi + 0x48, 0x83, 0xf0, 0x01, //0x000013e0 xorq $1, %rax + 0x48, 0x29, 0xc2, //0x000013e4 subq %rax, %rdx + 0x89, 0xd8, //0x000013e7 movl %ebx, %eax + 0x83, 0xe0, 0x01, //0x000013e9 andl $1, %eax + 0x48, 0x01, 0xd8, //0x000013ec addq %rbx, %rax + 0x48, 0x89, 0xc1, //0x000013ef movq %rax, %rcx + 0x48, 0x21, 0xf9, //0x000013f2 andq %rdi, %rcx + 0x48, 0x83, 0xf9, 0x01, //0x000013f5 cmpq $1, %rcx + 0x48, 0x83, 0xda, 0xff, //0x000013f9 sbbq $-1, %rdx + 0x48, 0x8d, 0x72, 0xff, //0x000013fd leaq $-1(%rdx), %rsi + 0x48, 0x81, 0xfe, 0xfd, 0x07, 0x00, 0x00, //0x00001401 cmpq $2045, %rsi + 0x0f, 0x86, 0x69, 0x00, 0x00, 0x00, //0x00001408 jbe LBB0_273 + //0x0000140e LBB0_268 + 0x4c, 0x89, 0xd8, //0x0000140e movq %r11, %rax + 0x4c, 0x29, 0xf8, //0x00001411 subq %r15, %rax + 0x48, 0x8b, 0x4d, 0xa8, //0x00001414 movq $-88(%rbp), %rcx + 0x48, 0x85, 0xc9, //0x00001418 testq %rcx, %rcx + 0x4c, 0x89, 0xc6, //0x0000141b movq %r8, %rsi + 0x0f, 0x84, 0x43, 0x02, 0x00, 0x00, //0x0000141e je LBB0_290 + 0x41, 0xc6, 0x04, 0x24, 0x00, //0x00001424 movb $0, (%r12) + 0x48, 0x83, 0xf9, 0x01, //0x00001429 cmpq $1, %rcx + 0x0f, 0x84, 0x34, 0x02, 0x00, 0x00, //0x0000142d je LBB0_290 + 0x48, 0x8d, 0x51, 0xff, //0x00001433 leaq $-1(%rcx), %rdx + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00001437 movl $1, %ecx + 0x48, 0x81, 0xfa, 0x80, 0x00, 0x00, 0x00, //0x0000143c cmpq $128, %rdx + 0x0f, 0x82, 0x09, 0x02, 0x00, 0x00, //0x00001443 jb LBB0_288 + 0x48, 0x89, 0xd1, //0x00001449 movq %rdx, %rcx + 0x48, 0x83, 0xe1, 0x80, //0x0000144c andq $-128, %rcx + 0x48, 0x8d, 0x71, 0x80, //0x00001450 leaq $-128(%rcx), %rsi + 0x48, 0x89, 0xf7, //0x00001454 movq %rsi, %rdi + 0x48, 0xc1, 0xef, 0x07, //0x00001457 shrq $7, %rdi + 0x48, 0xff, 0xc7, //0x0000145b incq %rdi + 0x89, 0xfb, //0x0000145e movl %edi, %ebx + 0x83, 0xe3, 0x03, //0x00001460 andl $3, %ebx + 0x48, 0x81, 0xfe, 0x80, 0x01, 0x00, 0x00, //0x00001463 cmpq $384, %rsi + 0x0f, 0x83, 0xe2, 0x00, 0x00, 0x00, //0x0000146a jae LBB0_281 + 0x31, 0xff, //0x00001470 xorl %edi, %edi + 0xe9, 0x8c, 0x01, 0x00, 0x00, //0x00001472 jmp LBB0_283 + //0x00001477 LBB0_273 + 0x48, 0x83, 0xf9, 0x01, //0x00001477 cmpq $1, %rcx + 0xb1, 0x02, //0x0000147b movb $2, %cl + 0x80, 0xd9, 0x00, //0x0000147d sbbb $0, %cl + 0x48, 0xd3, 0xe8, //0x00001480 shrq %cl, %rax + 0x48, 0xc1, 0xe2, 0x34, //0x00001483 shlq $52, %rdx + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001487 movabsq $4503599627370495, %rcx + 0x48, 0x21, 0xc8, //0x00001491 andq %rcx, %rax + 0x48, 0x09, 0xd0, //0x00001494 orq %rdx, %rax + 0x48, 0x89, 0xc6, //0x00001497 movq %rax, %rsi + 0x4c, 0x09, 0xce, //0x0000149a orq %r9, %rsi + 0x83, 0x7d, 0xc8, 0xff, //0x0000149d cmpl $-1, $-56(%rbp) + 0x48, 0x0f, 0x45, 0xf0, //0x000014a1 cmovneq %rax, %rsi + 0x83, 0x7d, 0xb8, 0x00, //0x000014a5 cmpl $0, $-72(%rbp) + 0x0f, 0x84, 0xa5, 0x03, 0x00, 0x00, //0x000014a9 je LBB0_328 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000014af movl $64, %ecx + 0x49, 0xff, 0xc2, //0x000014b4 incq %r10 + 0x0f, 0x84, 0x08, 0x00, 0x00, 0x00, //0x000014b7 je LBB0_276 + 0x49, 0x0f, 0xbd, 0xca, //0x000014bd bsrq %r10, %rcx + 0x48, 0x83, 0xf1, 0x3f, //0x000014c1 xorq $63, %rcx + //0x000014c5 LBB0_276 + 0x48, 0x89, 0x4d, 0xa0, //0x000014c5 movq %rcx, $-96(%rbp) + 0x49, 0xd3, 0xe2, //0x000014c9 shlq %cl, %r10 + 0x48, 0x8b, 0x45, 0x98, //0x000014cc movq $-104(%rbp), %rax + 0x49, 0xf7, 0xe2, //0x000014d0 mulq %r10 + 0x48, 0x89, 0xd3, //0x000014d3 movq %rdx, %rbx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x000014d6 andl $511, %edx + 0x4c, 0x89, 0xd1, //0x000014dc movq %r10, %rcx + 0x48, 0xf7, 0xd1, //0x000014df notq %rcx + 0x48, 0x89, 0x45, 0xb8, //0x000014e2 movq %rax, $-72(%rbp) + 0x48, 0x39, 0xc8, //0x000014e6 cmpq %rcx, %rax + 0x0f, 0x86, 0x2e, 0x0b, 0x00, 0x00, //0x000014e9 jbe LBB0_629 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x000014ef cmpl $511, %edx + 0x0f, 0x85, 0x22, 0x0b, 0x00, 0x00, //0x000014f5 jne LBB0_629 + 0x4c, 0x89, 0xd0, //0x000014fb movq %r10, %rax + 0x48, 0x8b, 0x55, 0xb0, //0x000014fe movq $-80(%rbp), %rdx + 0x48, 0x8d, 0x3d, 0x77, 0x21, 0x00, 0x00, //0x00001502 leaq $8567(%rip), %rdi /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0xf7, 0x24, 0x3a, //0x00001509 mulq (%rdx,%rdi) + 0x48, 0x8b, 0x7d, 0xb8, //0x0000150d movq $-72(%rbp), %rdi + 0x48, 0x01, 0xd7, //0x00001511 addq %rdx, %rdi + 0x48, 0x83, 0xd3, 0x00, //0x00001514 adcq $0, %rbx + 0x89, 0xda, //0x00001518 movl %ebx, %edx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x0000151a andl $511, %edx + 0x48, 0x39, 0xc8, //0x00001520 cmpq %rcx, %rax + 0x48, 0x89, 0x7d, 0xb8, //0x00001523 movq %rdi, $-72(%rbp) + 0x0f, 0x86, 0xe6, 0x0a, 0x00, 0x00, //0x00001527 jbe LBB0_628 + 0x48, 0x83, 0xff, 0xff, //0x0000152d cmpq $-1, %rdi + 0x0f, 0x85, 0xdc, 0x0a, 0x00, 0x00, //0x00001531 jne LBB0_628 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x00001537 cmpl $511, %edx + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, //0x0000153d movabsq $126100789566373888, %rdi + 0x0f, 0x84, 0xc1, 0xfe, 0xff, 0xff, //0x00001547 je LBB0_268 + 0xe9, 0xcb, 0x0a, 0x00, 0x00, //0x0000154d jmp LBB0_629 + //0x00001552 LBB0_281 + 0x48, 0x89, 0xde, //0x00001552 movq %rbx, %rsi + 0x48, 0x29, 0xfe, //0x00001555 subq %rdi, %rsi + 0x31, 0xff, //0x00001558 xorl %edi, %edi + 0xc5, 0xf9, 0x57, 0xc0, //0x0000155a vxorpd %xmm0, %xmm0, %xmm0 + //0x0000155e LBB0_282 + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x3c, 0x01, //0x0000155e vmovupd %ymm0, $1(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x3c, 0x21, //0x00001565 vmovupd %ymm0, $33(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x3c, 0x41, //0x0000156c vmovupd %ymm0, $65(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x3c, 0x61, //0x00001573 vmovupd %ymm0, $97(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x3c, 0x81, 0x00, 0x00, 0x00, //0x0000157a vmovupd %ymm0, $129(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x3c, 0xa1, 0x00, 0x00, 0x00, //0x00001584 vmovupd %ymm0, $161(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x3c, 0xc1, 0x00, 0x00, 0x00, //0x0000158e vmovupd %ymm0, $193(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x3c, 0xe1, 0x00, 0x00, 0x00, //0x00001598 vmovupd %ymm0, $225(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x3c, 0x01, 0x01, 0x00, 0x00, //0x000015a2 vmovupd %ymm0, $257(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x3c, 0x21, 0x01, 0x00, 0x00, //0x000015ac vmovupd %ymm0, $289(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x3c, 0x41, 0x01, 0x00, 0x00, //0x000015b6 vmovupd %ymm0, $321(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x3c, 0x61, 0x01, 0x00, 0x00, //0x000015c0 vmovupd %ymm0, $353(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x3c, 0x81, 0x01, 0x00, 0x00, //0x000015ca vmovupd %ymm0, $385(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x3c, 0xa1, 0x01, 0x00, 0x00, //0x000015d4 vmovupd %ymm0, $417(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x3c, 0xc1, 0x01, 0x00, 0x00, //0x000015de vmovupd %ymm0, $449(%r12,%rdi) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x3c, 0xe1, 0x01, 0x00, 0x00, //0x000015e8 vmovupd %ymm0, $481(%r12,%rdi) + 0x48, 0x81, 0xc7, 0x00, 0x02, 0x00, 0x00, //0x000015f2 addq $512, %rdi + 0x48, 0x83, 0xc6, 0x04, //0x000015f9 addq $4, %rsi + 0x0f, 0x85, 0x5b, 0xff, 0xff, 0xff, //0x000015fd jne LBB0_282 + //0x00001603 LBB0_283 + 0x48, 0x85, 0xdb, //0x00001603 testq %rbx, %rbx + 0x0f, 0x84, 0x36, 0x00, 0x00, 0x00, //0x00001606 je LBB0_286 + 0x48, 0xf7, 0xdb, //0x0000160c negq %rbx + 0xc5, 0xf9, 0x57, 0xc0, //0x0000160f vxorpd %xmm0, %xmm0, %xmm0 + //0x00001613 LBB0_285 + 0x48, 0x89, 0xfe, //0x00001613 movq %rdi, %rsi + 0x48, 0x83, 0xce, 0x01, //0x00001616 orq $1, %rsi + 0xc4, 0xc1, 0x7d, 0x11, 0x04, 0x34, //0x0000161a vmovupd %ymm0, (%r12,%rsi) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x34, 0x20, //0x00001620 vmovupd %ymm0, $32(%r12,%rsi) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x34, 0x40, //0x00001627 vmovupd %ymm0, $64(%r12,%rsi) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x34, 0x60, //0x0000162e vmovupd %ymm0, $96(%r12,%rsi) + 0x48, 0x83, 0xef, 0x80, //0x00001635 subq $-128, %rdi + 0x48, 0xff, 0xc3, //0x00001639 incq %rbx + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x0000163c jne LBB0_285 + //0x00001642 LBB0_286 + 0x48, 0x39, 0xca, //0x00001642 cmpq %rcx, %rdx + 0x4c, 0x89, 0xc6, //0x00001645 movq %r8, %rsi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00001648 je LBB0_290 + 0x48, 0x83, 0xc9, 0x01, //0x0000164e orq $1, %rcx + //0x00001652 LBB0_288 + 0x48, 0x8b, 0x55, 0xa8, //0x00001652 movq $-88(%rbp), %rdx + //0x00001656 LBB0_289 + 0x41, 0xc6, 0x04, 0x0c, 0x00, //0x00001656 movb $0, (%r12,%rcx) + 0x48, 0xff, 0xc1, //0x0000165b incq %rcx + 0x48, 0x39, 0xca, //0x0000165e cmpq %rcx, %rdx + 0x0f, 0x85, 0xef, 0xff, 0xff, 0xff, //0x00001661 jne LBB0_289 + //0x00001667 LBB0_290 + 0x8a, 0x16, //0x00001667 movb (%rsi), %dl + 0x31, 0xc9, //0x00001669 xorl %ecx, %ecx + 0x80, 0xfa, 0x2d, //0x0000166b cmpb $45, %dl + 0x0f, 0x94, 0xc1, //0x0000166e sete %cl + 0x45, 0x31, 0xc9, //0x00001671 xorl %r9d, %r9d + 0x48, 0x39, 0xc8, //0x00001674 cmpq %rcx, %rax + 0x0f, 0x8e, 0x9a, 0x00, 0x00, 0x00, //0x00001677 jle LBB0_303 + 0x88, 0x55, 0xa0, //0x0000167d movb %dl, $-96(%rbp) + 0x4c, 0x89, 0x5d, 0xb0, //0x00001680 movq %r11, $-80(%rbp) + 0xb2, 0x01, //0x00001684 movb $1, %dl + 0x45, 0x31, 0xdb, //0x00001686 xorl %r11d, %r11d + 0x45, 0x31, 0xf6, //0x00001689 xorl %r14d, %r14d + 0x31, 0xdb, //0x0000168c xorl %ebx, %ebx + 0x45, 0x31, 0xd2, //0x0000168e xorl %r10d, %r10d + 0xe9, 0x22, 0x00, 0x00, 0x00, //0x00001691 jmp LBB0_295 + //0x00001696 LBB0_292 + 0x40, 0x80, 0xff, 0x30, //0x00001696 cmpb $48, %dil + 0xba, 0x01, 0x00, 0x00, 0x00, //0x0000169a movl $1, %edx + 0x44, 0x0f, 0x45, 0xf2, //0x0000169f cmovnel %edx, %r14d + //0x000016a3 LBB0_293 + 0x44, 0x89, 0xdb, //0x000016a3 movl %r11d, %ebx + //0x000016a6 LBB0_294 + 0x48, 0xff, 0xc1, //0x000016a6 incq %rcx + 0x48, 0x39, 0xc1, //0x000016a9 cmpq %rax, %rcx + 0x0f, 0x9c, 0xc2, //0x000016ac setl %dl + 0x48, 0x39, 0xc8, //0x000016af cmpq %rcx, %rax + 0x0f, 0x84, 0x70, 0x00, 0x00, 0x00, //0x000016b2 je LBB0_304 + //0x000016b8 LBB0_295 + 0x41, 0x0f, 0xb6, 0x3c, 0x08, //0x000016b8 movzbl (%r8,%rcx), %edi + 0x8d, 0x77, 0xd0, //0x000016bd leal $-48(%rdi), %esi + 0x40, 0x80, 0xfe, 0x09, //0x000016c0 cmpb $9, %sil + 0x0f, 0x87, 0x1c, 0x00, 0x00, 0x00, //0x000016c4 ja LBB0_299 + 0x85, 0xdb, //0x000016ca testl %ebx, %ebx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000016cc jne LBB0_301 + 0x40, 0x80, 0xff, 0x30, //0x000016d2 cmpb $48, %dil + 0x0f, 0x85, 0x22, 0x00, 0x00, 0x00, //0x000016d6 jne LBB0_301 + 0x41, 0xff, 0xc9, //0x000016dc decl %r9d + 0x31, 0xdb, //0x000016df xorl %ebx, %ebx + 0xe9, 0xc0, 0xff, 0xff, 0xff, //0x000016e1 jmp LBB0_294 + //0x000016e6 LBB0_299 + 0x40, 0x80, 0xff, 0x2e, //0x000016e6 cmpb $46, %dil + 0x0f, 0x85, 0x44, 0x00, 0x00, 0x00, //0x000016ea jne LBB0_305 + 0x41, 0x89, 0xd9, //0x000016f0 movl %ebx, %r9d + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x000016f3 movl $1, %r10d + 0xe9, 0xa8, 0xff, 0xff, 0xff, //0x000016f9 jmp LBB0_294 + //0x000016fe LBB0_301 + 0x49, 0x63, 0xd3, //0x000016fe movslq %r11d, %rdx + 0x48, 0x39, 0x55, 0xa8, //0x00001701 cmpq %rdx, $-88(%rbp) + 0x0f, 0x86, 0x8b, 0xff, 0xff, 0xff, //0x00001705 jbe LBB0_292 + 0x41, 0x88, 0x3c, 0x14, //0x0000170b movb %dil, (%r12,%rdx) + 0x41, 0xff, 0xc3, //0x0000170f incl %r11d + 0xe9, 0x8c, 0xff, 0xff, 0xff, //0x00001712 jmp LBB0_293 + //0x00001717 LBB0_303 + 0x31, 0xff, //0x00001717 xorl %edi, %edi + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001719 movabsq $4503599627370495, %rcx + 0xe9, 0x0f, 0x01, 0x00, 0x00, //0x00001723 jmp LBB0_327 + //0x00001728 LBB0_304 + 0x45, 0x85, 0xd2, //0x00001728 testl %r10d, %r10d + 0x45, 0x0f, 0x44, 0xcb, //0x0000172b cmovel %r11d, %r9d + 0xe9, 0xad, 0x00, 0x00, 0x00, //0x0000172f jmp LBB0_319 + //0x00001734 LBB0_305 + 0x45, 0x85, 0xd2, //0x00001734 testl %r10d, %r10d + 0x45, 0x0f, 0x44, 0xcb, //0x00001737 cmovel %r11d, %r9d + 0xf6, 0xc2, 0x01, //0x0000173b testb $1, %dl + 0x0f, 0x84, 0x9d, 0x00, 0x00, 0x00, //0x0000173e je LBB0_319 + 0x40, 0x80, 0xcf, 0x20, //0x00001744 orb $32, %dil + 0x40, 0x80, 0xff, 0x65, //0x00001748 cmpb $101, %dil + 0x0f, 0x85, 0x8f, 0x00, 0x00, 0x00, //0x0000174c jne LBB0_319 + 0x48, 0x8d, 0x71, 0x01, //0x00001752 leaq $1(%rcx), %rsi + 0x89, 0xf2, //0x00001756 movl %esi, %edx + 0x41, 0x8a, 0x14, 0x10, //0x00001758 movb (%r8,%rdx), %dl + 0x80, 0xfa, 0x2b, //0x0000175c cmpb $43, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x0000175f je LBB0_310 + 0x80, 0xfa, 0x2d, //0x00001765 cmpb $45, %dl + 0x0f, 0x85, 0x1c, 0x00, 0x00, 0x00, //0x00001768 jne LBB0_312 + 0x83, 0xc1, 0x02, //0x0000176e addl $2, %ecx + 0xba, 0xff, 0xff, 0xff, 0xff, //0x00001771 movl $-1, %edx + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x00001776 jmp LBB0_311 + //0x0000177b LBB0_310 + 0x83, 0xc1, 0x02, //0x0000177b addl $2, %ecx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x0000177e movl $1, %edx + //0x00001783 LBB0_311 + 0x89, 0xce, //0x00001783 movl %ecx, %esi + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00001785 jmp LBB0_313 + //0x0000178a LBB0_312 + 0xba, 0x01, 0x00, 0x00, 0x00, //0x0000178a movl $1, %edx + //0x0000178f LBB0_313 + 0x48, 0x63, 0xf6, //0x0000178f movslq %esi, %rsi + 0x31, 0xc9, //0x00001792 xorl %ecx, %ecx + 0x48, 0x39, 0xf0, //0x00001794 cmpq %rsi, %rax + 0x0f, 0x8e, 0x3b, 0x00, 0x00, 0x00, //0x00001797 jle LBB0_318 + 0x49, 0x01, 0xf7, //0x0000179d addq %rsi, %r15 + 0x31, 0xc9, //0x000017a0 xorl %ecx, %ecx + //0x000017a2 LBB0_315 + 0x81, 0xf9, 0x0f, 0x27, 0x00, 0x00, //0x000017a2 cmpl $9999, %ecx + 0x0f, 0x8f, 0x2a, 0x00, 0x00, 0x00, //0x000017a8 jg LBB0_318 + 0x48, 0x8b, 0x45, 0xc0, //0x000017ae movq $-64(%rbp), %rax + 0x42, 0x0f, 0xb6, 0x04, 0x38, //0x000017b2 movzbl (%rax,%r15), %eax + 0x8d, 0x70, 0xd0, //0x000017b7 leal $-48(%rax), %esi + 0x40, 0x80, 0xfe, 0x09, //0x000017ba cmpb $9, %sil + 0x0f, 0x87, 0x14, 0x00, 0x00, 0x00, //0x000017be ja LBB0_318 + 0x8d, 0x0c, 0x89, //0x000017c4 leal (%rcx,%rcx,4), %ecx + 0x8d, 0x4c, 0x48, 0xd0, //0x000017c7 leal $-48(%rax,%rcx,2), %ecx + 0x49, 0xff, 0xc7, //0x000017cb incq %r15 + 0x4c, 0x39, 0x7d, 0xb0, //0x000017ce cmpq %r15, $-80(%rbp) + 0x0f, 0x85, 0xca, 0xff, 0xff, 0xff, //0x000017d2 jne LBB0_315 + //0x000017d8 LBB0_318 + 0x0f, 0xaf, 0xca, //0x000017d8 imull %edx, %ecx + 0x44, 0x01, 0xc9, //0x000017db addl %r9d, %ecx + 0x41, 0x89, 0xc9, //0x000017de movl %ecx, %r9d + //0x000017e1 LBB0_319 + 0x45, 0x85, 0xdb, //0x000017e1 testl %r11d, %r11d + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000017e4 movabsq $4503599627370495, %rcx + 0x4c, 0x8b, 0x7d, 0xa8, //0x000017ee movq $-88(%rbp), %r15 + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x000017f2 je LBB0_322 + 0x31, 0xff, //0x000017f8 xorl %edi, %edi + 0x41, 0x81, 0xf9, 0x36, 0x01, 0x00, 0x00, //0x000017fa cmpl $310, %r9d + 0x0f, 0x8e, 0x19, 0x00, 0x00, 0x00, //0x00001801 jle LBB0_323 + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00001807 movabsq $9218868437227405312, %r9 + 0xe9, 0x1a, 0x00, 0x00, 0x00, //0x00001811 jmp LBB0_325 + //0x00001816 LBB0_322 + 0x45, 0x31, 0xc9, //0x00001816 xorl %r9d, %r9d + 0x31, 0xff, //0x00001819 xorl %edi, %edi + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x0000181b jmp LBB0_325 + //0x00001820 LBB0_323 + 0x41, 0x81, 0xf9, 0xb6, 0xfe, 0xff, 0xff, //0x00001820 cmpl $-330, %r9d + 0x0f, 0x8d, 0x51, 0x00, 0x00, 0x00, //0x00001827 jge LBB0_331 + 0x45, 0x31, 0xc9, //0x0000182d xorl %r9d, %r9d + //0x00001830 LBB0_325 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00001830 movq $-80(%rbp), %r11 + //0x00001834 LBB0_326 + 0x8a, 0x55, 0xa0, //0x00001834 movb $-96(%rbp), %dl + //0x00001837 LBB0_327 + 0x48, 0x21, 0xcf, //0x00001837 andq %rcx, %rdi + 0x4c, 0x09, 0xcf, //0x0000183a orq %r9, %rdi + 0x48, 0x89, 0xfe, //0x0000183d movq %rdi, %rsi + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001840 movabsq $-9223372036854775808, %r9 + 0x4c, 0x09, 0xce, //0x0000184a orq %r9, %rsi + 0x80, 0xfa, 0x2d, //0x0000184d cmpb $45, %dl + 0x48, 0x0f, 0x45, 0xf7, //0x00001850 cmovneq %rdi, %rsi + //0x00001854 LBB0_328 + 0x49, 0xff, 0xc9, //0x00001854 decq %r9 + 0x49, 0x21, 0xf1, //0x00001857 andq %rsi, %r9 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x0000185a movabsq $9218868437227405312, %rax + 0x49, 0x39, 0xc1, //0x00001864 cmpq %rax, %r9 + 0x0f, 0x85, 0x08, 0x00, 0x00, 0x00, //0x00001867 jne LBB0_330 + 0x49, 0xc7, 0x45, 0x00, 0xf8, 0xff, 0xff, 0xff, //0x0000186d movq $-8, (%r13) + //0x00001875 LBB0_330 + 0x49, 0x89, 0x75, 0x08, //0x00001875 movq %rsi, $8(%r13) + 0xe9, 0x6b, 0xea, 0xff, 0xff, //0x00001879 jmp LBB0_38 + //0x0000187e LBB0_331 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, //0x0000187e movabsq $1152921504606846975, %r10 + 0x45, 0x85, 0xc9, //0x00001888 testl %r9d, %r9d + 0x4c, 0x89, 0x6d, 0xd0, //0x0000188b movq %r13, $-48(%rbp) + 0x0f, 0x8e, 0x76, 0x07, 0x00, 0x00, //0x0000188f jle LBB0_447 + 0x31, 0xff, //0x00001895 xorl %edi, %edi + 0x44, 0x89, 0xd8, //0x00001897 movl %r11d, %eax + 0xe9, 0x14, 0x00, 0x00, 0x00, //0x0000189a jmp LBB0_335 + //0x0000189f LBB0_333 + 0x89, 0xc6, //0x0000189f movl %eax, %esi + //0x000018a1 LBB0_334 + 0x48, 0x8b, 0x7d, 0xc0, //0x000018a1 movq $-64(%rbp), %rdi + 0x03, 0x7d, 0xb8, //0x000018a5 addl $-72(%rbp), %edi + 0x89, 0xf0, //0x000018a8 movl %esi, %eax + 0x45, 0x85, 0xc9, //0x000018aa testl %r9d, %r9d + 0x0f, 0x8e, 0x5c, 0x08, 0x00, 0x00, //0x000018ad jle LBB0_457 + //0x000018b3 LBB0_335 + 0xb9, 0x1b, 0x00, 0x00, 0x00, //0x000018b3 movl $27, %ecx + 0x41, 0x83, 0xf9, 0x08, //0x000018b8 cmpl $8, %r9d + 0x0f, 0x8f, 0x0d, 0x00, 0x00, 0x00, //0x000018bc jg LBB0_337 + 0x44, 0x89, 0xc9, //0x000018c2 movl %r9d, %ecx + 0x48, 0x8d, 0x15, 0x44, 0x49, 0x00, 0x00, //0x000018c5 leaq $18756(%rip), %rdx /* _POW_TAB+0(%rip) */ + 0x8b, 0x0c, 0x8a, //0x000018cc movl (%rdx,%rcx,4), %ecx + //0x000018cf LBB0_337 + 0x48, 0x89, 0x7d, 0xc0, //0x000018cf movq %rdi, $-64(%rbp) + 0x85, 0xc0, //0x000018d3 testl %eax, %eax + 0x89, 0x4d, 0xb8, //0x000018d5 movl %ecx, $-72(%rbp) + 0x0f, 0x84, 0xc1, 0xff, 0xff, 0xff, //0x000018d8 je LBB0_333 + 0x41, 0x89, 0xc8, //0x000018de movl %ecx, %r8d + 0x41, 0xf7, 0xd8, //0x000018e1 negl %r8d + 0x85, 0xc9, //0x000018e4 testl %ecx, %ecx + 0x0f, 0x84, 0xb3, 0xff, 0xff, 0xff, //0x000018e6 je LBB0_333 + 0x0f, 0x88, 0x90, 0x01, 0x00, 0x00, //0x000018ec js LBB0_364 + //0x000018f2 LBB0_340 + 0x41, 0x83, 0xf8, 0xc3, //0x000018f2 cmpl $-61, %r8d + 0x0f, 0x8e, 0x21, 0x00, 0x00, 0x00, //0x000018f6 jle LBB0_344 + 0xe9, 0x91, 0x03, 0x00, 0x00, //0x000018fc jmp LBB0_394 + //0x00001901 LBB0_341 + 0xff, 0xc8, //0x00001901 decl %eax + 0x41, 0x89, 0xc3, //0x00001903 movl %eax, %r11d + //0x00001906 LBB0_342 + 0x45, 0x85, 0xdb, //0x00001906 testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x00001909 cmovel %r11d, %r9d + //0x0000190d LBB0_343 + 0x44, 0x8d, 0x41, 0x3c, //0x0000190d leal $60(%rcx), %r8d + 0x44, 0x89, 0xd8, //0x00001911 movl %r11d, %eax + 0x83, 0xf9, 0x88, //0x00001914 cmpl $-120, %ecx + 0x0f, 0x8d, 0x66, 0x03, 0x00, 0x00, //0x00001917 jge LBB0_393 + //0x0000191d LBB0_344 + 0x44, 0x89, 0xc1, //0x0000191d movl %r8d, %ecx + 0x48, 0x63, 0xf8, //0x00001920 movslq %eax, %rdi + 0x31, 0xf6, //0x00001923 xorl %esi, %esi + 0x31, 0xd2, //0x00001925 xorl %edx, %edx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001927 .p2align 4, 0x90 + //0x00001930 LBB0_345 + 0x48, 0x39, 0xfe, //0x00001930 cmpq %rdi, %rsi + 0x0f, 0x8d, 0x23, 0x00, 0x00, 0x00, //0x00001933 jge LBB0_347 + 0x48, 0x8d, 0x14, 0x92, //0x00001939 leaq (%rdx,%rdx,4), %rdx + 0x49, 0x0f, 0xbe, 0x1c, 0x34, //0x0000193d movsbq (%r12,%rsi), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x00001942 leaq $-48(%rbx,%rdx,2), %rdx + 0x48, 0xff, 0xc6, //0x00001947 incq %rsi + 0x49, 0x8d, 0x5a, 0x01, //0x0000194a leaq $1(%r10), %rbx + 0x48, 0x39, 0xda, //0x0000194e cmpq %rbx, %rdx + 0x0f, 0x82, 0xd9, 0xff, 0xff, 0xff, //0x00001951 jb LBB0_345 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00001957 jmp LBB0_349 + //0x0000195c LBB0_347 + 0x48, 0x85, 0xd2, //0x0000195c testq %rdx, %rdx + 0x0f, 0x84, 0x15, 0x01, 0x00, 0x00, //0x0000195f je LBB0_362 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001965 .p2align 4, 0x90 + //0x00001970 LBB0_348 + 0x48, 0x01, 0xd2, //0x00001970 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001973 leaq (%rdx,%rdx,4), %rdx + 0xff, 0xc6, //0x00001977 incl %esi + 0x49, 0x8d, 0x7a, 0x01, //0x00001979 leaq $1(%r10), %rdi + 0x48, 0x39, 0xfa, //0x0000197d cmpq %rdi, %rdx + 0x0f, 0x82, 0xea, 0xff, 0xff, 0xff, //0x00001980 jb LBB0_348 + //0x00001986 LBB0_349 + 0x41, 0x29, 0xf1, //0x00001986 subl %esi, %r9d + 0x31, 0xff, //0x00001989 xorl %edi, %edi + 0x39, 0xc6, //0x0000198b cmpl %eax, %esi + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x0000198d jge LBB0_354 + 0x48, 0x63, 0xc6, //0x00001993 movslq %esi, %rax + 0x49, 0x63, 0xf3, //0x00001996 movslq %r11d, %rsi + 0x49, 0x8d, 0x3c, 0x04, //0x00001999 leaq (%r12,%rax), %rdi + 0x45, 0x31, 0xdb, //0x0000199d xorl %r11d, %r11d + //0x000019a0 .p2align 4, 0x90 + //0x000019a0 LBB0_351 + 0x48, 0x89, 0xd3, //0x000019a0 movq %rdx, %rbx + 0x48, 0xc1, 0xeb, 0x3c, //0x000019a3 shrq $60, %rbx + 0x4c, 0x21, 0xd2, //0x000019a7 andq %r10, %rdx + 0x80, 0xcb, 0x30, //0x000019aa orb $48, %bl + 0x43, 0x88, 0x1c, 0x1c, //0x000019ad movb %bl, (%r12,%r11) + 0x48, 0x8d, 0x14, 0x92, //0x000019b1 leaq (%rdx,%rdx,4), %rdx + 0x4a, 0x0f, 0xbe, 0x1c, 0x1f, //0x000019b5 movsbq (%rdi,%r11), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x000019ba leaq $-48(%rbx,%rdx,2), %rdx + 0x4a, 0x8d, 0x5c, 0x18, 0x01, //0x000019bf leaq $1(%rax,%r11), %rbx + 0x49, 0xff, 0xc3, //0x000019c4 incq %r11 + 0x48, 0x39, 0xf3, //0x000019c7 cmpq %rsi, %rbx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x000019ca jl LBB0_351 + 0x48, 0x85, 0xd2, //0x000019d0 testq %rdx, %rdx + 0x0f, 0x84, 0x64, 0x00, 0x00, 0x00, //0x000019d3 je LBB0_358 + 0x44, 0x89, 0xdf, //0x000019d9 movl %r11d, %edi + //0x000019dc LBB0_354 + 0x41, 0x89, 0xfb, //0x000019dc movl %edi, %r11d + 0xe9, 0x28, 0x00, 0x00, 0x00, //0x000019df jmp LBB0_356 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000019e4 .p2align 4, 0x90 + //0x000019f0 LBB0_355 + 0x48, 0x85, 0xc0, //0x000019f0 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000019f3 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000019f8 cmovnel %eax, %r14d + 0x48, 0x01, 0xd2, //0x000019fc addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x000019ff leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00001a03 testq %rdx, %rdx + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x00001a06 je LBB0_358 + //0x00001a0c LBB0_356 + 0x48, 0x89, 0xd0, //0x00001a0c movq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x3c, //0x00001a0f shrq $60, %rax + 0x4c, 0x21, 0xd2, //0x00001a13 andq %r10, %rdx + 0x49, 0x63, 0xf3, //0x00001a16 movslq %r11d, %rsi + 0x49, 0x39, 0xf7, //0x00001a19 cmpq %rsi, %r15 + 0x0f, 0x86, 0xce, 0xff, 0xff, 0xff, //0x00001a1c jbe LBB0_355 + 0x0c, 0x30, //0x00001a22 orb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00001a24 movb %al, (%r12,%rsi) + 0xff, 0xc6, //0x00001a28 incl %esi + 0x41, 0x89, 0xf3, //0x00001a2a movl %esi, %r11d + 0x48, 0x01, 0xd2, //0x00001a2d addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001a30 leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00001a34 testq %rdx, %rdx + 0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x00001a37 jne LBB0_356 + //0x00001a3d LBB0_358 + 0x41, 0xff, 0xc1, //0x00001a3d incl %r9d + 0x45, 0x85, 0xdb, //0x00001a40 testl %r11d, %r11d + 0x0f, 0x8e, 0xbd, 0xfe, 0xff, 0xff, //0x00001a43 jle LBB0_342 + 0x44, 0x89, 0xd8, //0x00001a49 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001a4c cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0xb5, 0xfe, 0xff, 0xff, //0x00001a52 jne LBB0_343 + //0x00001a58 LBB0_360 + 0x48, 0x83, 0xf8, 0x01, //0x00001a58 cmpq $1, %rax + 0x0f, 0x8e, 0x9f, 0xfe, 0xff, 0xff, //0x00001a5c jle LBB0_341 + 0x4c, 0x8d, 0x58, 0xff, //0x00001a62 leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001a66 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00001a6c movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001a6f je LBB0_360 + 0xe9, 0x93, 0xfe, 0xff, 0xff, //0x00001a75 jmp LBB0_343 + //0x00001a7a LBB0_362 + 0x45, 0x31, 0xdb, //0x00001a7a xorl %r11d, %r11d + 0xe9, 0x8b, 0xfe, 0xff, 0xff, //0x00001a7d jmp LBB0_343 + //0x00001a82 LBB0_364 + 0x83, 0x7d, 0xb8, 0xc3, //0x00001a82 cmpl $-61, $-72(%rbp) + 0x0f, 0x8f, 0x67, 0x03, 0x00, 0x00, //0x00001a86 jg LBB0_415 + 0x4c, 0x8d, 0x2d, 0xad, 0x47, 0x00, 0x00, //0x00001a8c leaq $18349(%rip), %r13 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x00001a93 jmp LBB0_369 + //0x00001a98 LBB0_366 + 0xff, 0xc8, //0x00001a98 decl %eax + 0x41, 0x89, 0xc3, //0x00001a9a movl %eax, %r11d + //0x00001a9d LBB0_367 + 0x45, 0x85, 0xdb, //0x00001a9d testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x00001aa0 cmovel %r11d, %r9d + //0x00001aa4 LBB0_368 + 0x48, 0x8b, 0x4d, 0xc8, //0x00001aa4 movq $-56(%rbp), %rcx + 0x44, 0x8d, 0x41, 0xc4, //0x00001aa8 leal $-60(%rcx), %r8d + 0x44, 0x89, 0xd8, //0x00001aac movl %r11d, %eax + 0x83, 0xf9, 0x78, //0x00001aaf cmpl $120, %ecx + 0x0f, 0x8e, 0x28, 0x03, 0x00, 0x00, //0x00001ab2 jle LBB0_414 + //0x00001ab8 LBB0_369 + 0x4c, 0x89, 0x45, 0xc8, //0x00001ab8 movq %r8, $-56(%rbp) + 0x48, 0x63, 0xd8, //0x00001abc movslq %eax, %rbx + 0x85, 0xdb, //0x00001abf testl %ebx, %ebx + 0x0f, 0x84, 0x3b, 0x00, 0x00, 0x00, //0x00001ac1 je LBB0_375 + 0xb2, 0x38, //0x00001ac7 movb $56, %dl + 0x31, 0xc9, //0x00001ac9 xorl %ecx, %ecx + //0x00001acb LBB0_371 + 0x41, 0xb8, 0x13, 0x00, 0x00, 0x00, //0x00001acb movl $19, %r8d + 0x48, 0x83, 0xf9, 0x2a, //0x00001ad1 cmpq $42, %rcx + 0x0f, 0x84, 0x2d, 0x00, 0x00, 0x00, //0x00001ad5 je LBB0_376 + 0x41, 0x38, 0x14, 0x0c, //0x00001adb cmpb %dl, (%r12,%rcx) + 0x0f, 0x85, 0x93, 0x01, 0x00, 0x00, //0x00001adf jne LBB0_392 + 0x42, 0x0f, 0xb6, 0x94, 0x29, 0x65, 0x18, 0x00, 0x00, //0x00001ae5 movzbl $6245(%rcx,%r13), %edx + 0x48, 0xff, 0xc1, //0x00001aee incq %rcx + 0x48, 0x39, 0xcb, //0x00001af1 cmpq %rcx, %rbx + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x00001af4 jne LBB0_371 + 0x84, 0xd2, //0x00001afa testb %dl, %dl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00001afc je LBB0_376 + //0x00001b02 LBB0_375 + 0x41, 0xb8, 0x12, 0x00, 0x00, 0x00, //0x00001b02 movl $18, %r8d + //0x00001b08 LBB0_376 + 0x85, 0xc0, //0x00001b08 testl %eax, %eax + 0x0f, 0x8e, 0x1e, 0x01, 0x00, 0x00, //0x00001b0a jle LBB0_388 + 0x4d, 0x89, 0xcd, //0x00001b10 movq %r9, %r13 + 0x44, 0x01, 0xc0, //0x00001b13 addl %r8d, %eax + 0x48, 0x98, //0x00001b16 cltq + 0x48, 0x89, 0xc7, //0x00001b18 movq %rax, %rdi + 0x48, 0xc1, 0xe7, 0x20, //0x00001b1b shlq $32, %rdi + 0x48, 0xff, 0xc8, //0x00001b1f decq %rax + 0x48, 0xff, 0xc3, //0x00001b22 incq %rbx + 0x31, 0xc9, //0x00001b25 xorl %ecx, %ecx + 0xe9, 0x2e, 0x00, 0x00, 0x00, //0x00001b27 jmp LBB0_380 + 0x90, 0x90, 0x90, 0x90, //0x00001b2c .p2align 4, 0x90 + //0x00001b30 LBB0_378 + 0x48, 0x85, 0xc0, //0x00001b30 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001b33 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001b38 cmovnel %eax, %r14d + //0x00001b3c LBB0_379 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00001b3c movabsq $-4294967296, %rax + 0x48, 0x01, 0xc7, //0x00001b46 addq %rax, %rdi + 0x49, 0x8d, 0x41, 0xff, //0x00001b49 leaq $-1(%r9), %rax + 0x48, 0xff, 0xcb, //0x00001b4d decq %rbx + 0x48, 0x83, 0xfb, 0x01, //0x00001b50 cmpq $1, %rbx + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00001b54 jle LBB0_382 + //0x00001b5a LBB0_380 + 0x49, 0x89, 0xc1, //0x00001b5a movq %rax, %r9 + 0x41, 0x0f, 0xb6, 0x74, 0x1c, 0xfe, //0x00001b5d movzbl $-2(%r12,%rbx), %esi + 0x48, 0xc1, 0xe6, 0x3c, //0x00001b63 shlq $60, %rsi + 0x48, 0x01, 0xce, //0x00001b67 addq %rcx, %rsi + 0x48, 0x89, 0xf0, //0x00001b6a movq %rsi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001b6d movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00001b77 mulq %rcx + 0x48, 0x89, 0xd1, //0x00001b7a movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x00001b7d shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00001b81 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00001b85 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf0, //0x00001b89 movq %rsi, %rax + 0x48, 0x29, 0xd0, //0x00001b8c subq %rdx, %rax + 0x4d, 0x39, 0xf9, //0x00001b8f cmpq %r15, %r9 + 0x0f, 0x83, 0x98, 0xff, 0xff, 0xff, //0x00001b92 jae LBB0_378 + 0x04, 0x30, //0x00001b98 addb $48, %al + 0x43, 0x88, 0x04, 0x0c, //0x00001b9a movb %al, (%r12,%r9) + 0xe9, 0x99, 0xff, 0xff, 0xff, //0x00001b9e jmp LBB0_379 + //0x00001ba3 LBB0_382 + 0x48, 0x83, 0xfe, 0x0a, //0x00001ba3 cmpq $10, %rsi + 0x0f, 0x83, 0x0f, 0x00, 0x00, 0x00, //0x00001ba7 jae LBB0_384 + 0x4d, 0x89, 0xe9, //0x00001bad movq %r13, %r9 + 0x4c, 0x8d, 0x2d, 0x89, 0x46, 0x00, 0x00, //0x00001bb0 leaq $18057(%rip), %r13 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x72, 0x00, 0x00, 0x00, //0x00001bb7 jmp LBB0_388 + //0x00001bbc LBB0_384 + 0x49, 0x63, 0xf1, //0x00001bbc movslq %r9d, %rsi + 0x48, 0xff, 0xce, //0x00001bbf decq %rsi + 0x4d, 0x89, 0xe9, //0x00001bc2 movq %r13, %r9 + 0x4c, 0x8d, 0x2d, 0x74, 0x46, 0x00, 0x00, //0x00001bc5 leaq $18036(%rip), %r13 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x1c, 0x00, 0x00, 0x00, //0x00001bcc jmp LBB0_386 + //0x00001bd1 LBB0_385 + 0x48, 0x85, 0xc0, //0x00001bd1 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001bd4 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001bd9 cmovnel %eax, %r14d + 0x48, 0xff, 0xce, //0x00001bdd decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00001be0 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00001be4 movq %rdx, %rcx + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x00001be7 jbe LBB0_388 + //0x00001bed LBB0_386 + 0x48, 0x89, 0xc8, //0x00001bed movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001bf0 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001bfa mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00001bfd shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00001c01 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00001c05 leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xc8, //0x00001c09 movq %rcx, %rax + 0x48, 0x29, 0xf8, //0x00001c0c subq %rdi, %rax + 0x4c, 0x39, 0xfe, //0x00001c0f cmpq %r15, %rsi + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x00001c12 jae LBB0_385 + 0x04, 0x30, //0x00001c18 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00001c1a movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x00001c1e decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00001c21 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00001c25 movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00001c28 ja LBB0_386 + //0x00001c2e LBB0_388 + 0x45, 0x01, 0xc3, //0x00001c2e addl %r8d, %r11d + 0x4d, 0x63, 0xdb, //0x00001c31 movslq %r11d, %r11 + 0x4d, 0x39, 0xdf, //0x00001c34 cmpq %r11, %r15 + 0x45, 0x0f, 0x46, 0xdf, //0x00001c37 cmovbel %r15d, %r11d + 0x45, 0x01, 0xc1, //0x00001c3b addl %r8d, %r9d + 0x45, 0x85, 0xdb, //0x00001c3e testl %r11d, %r11d + 0x0f, 0x8e, 0x56, 0xfe, 0xff, 0xff, //0x00001c41 jle LBB0_367 + 0x44, 0x89, 0xd8, //0x00001c47 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001c4a cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x4e, 0xfe, 0xff, 0xff, //0x00001c50 jne LBB0_368 + //0x00001c56 LBB0_390 + 0x48, 0x83, 0xf8, 0x01, //0x00001c56 cmpq $1, %rax + 0x0f, 0x8e, 0x38, 0xfe, 0xff, 0xff, //0x00001c5a jle LBB0_366 + 0x4c, 0x8d, 0x58, 0xff, //0x00001c60 leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001c64 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00001c6a movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001c6d je LBB0_390 + 0xe9, 0x2c, 0xfe, 0xff, 0xff, //0x00001c73 jmp LBB0_368 + //0x00001c78 LBB0_392 + 0x0f, 0x8c, 0x84, 0xfe, 0xff, 0xff, //0x00001c78 jl LBB0_375 + 0xe9, 0x85, 0xfe, 0xff, 0xff, //0x00001c7e jmp LBB0_376 + //0x00001c83 LBB0_393 + 0x44, 0x89, 0xd8, //0x00001c83 movl %r11d, %eax + 0x44, 0x89, 0xde, //0x00001c86 movl %r11d, %esi + 0x45, 0x85, 0xc0, //0x00001c89 testl %r8d, %r8d + 0x0f, 0x84, 0x0f, 0xfc, 0xff, 0xff, //0x00001c8c je LBB0_334 + //0x00001c92 LBB0_394 + 0x41, 0xf7, 0xd8, //0x00001c92 negl %r8d + 0x48, 0x63, 0xf8, //0x00001c95 movslq %eax, %rdi + 0x31, 0xf6, //0x00001c98 xorl %esi, %esi + 0x31, 0xd2, //0x00001c9a xorl %edx, %edx + //0x00001c9c LBB0_395 + 0x48, 0x39, 0xfe, //0x00001c9c cmpq %rdi, %rsi + 0x0f, 0x8d, 0x12, 0x01, 0x00, 0x00, //0x00001c9f jge LBB0_411 + 0x48, 0x8d, 0x0c, 0x92, //0x00001ca5 leaq (%rdx,%rdx,4), %rcx + 0x49, 0x0f, 0xbe, 0x14, 0x34, //0x00001ca9 movsbq (%r12,%rsi), %rdx + 0x48, 0x8d, 0x54, 0x4a, 0xd0, //0x00001cae leaq $-48(%rdx,%rcx,2), %rdx + 0x48, 0xff, 0xc6, //0x00001cb3 incq %rsi + 0x48, 0x89, 0xd3, //0x00001cb6 movq %rdx, %rbx + 0x44, 0x89, 0xc1, //0x00001cb9 movl %r8d, %ecx + 0x48, 0xd3, 0xeb, //0x00001cbc shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00001cbf testq %rbx, %rbx + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x00001cc2 je LBB0_395 + //0x00001cc8 LBB0_397 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001cc8 movq $-1, %rbx + 0x44, 0x89, 0xc1, //0x00001ccf movl %r8d, %ecx + 0x48, 0xd3, 0xe3, //0x00001cd2 shlq %cl, %rbx + 0x48, 0xf7, 0xd3, //0x00001cd5 notq %rbx + 0x31, 0xff, //0x00001cd8 xorl %edi, %edi + 0x39, 0xc6, //0x00001cda cmpl %eax, %esi + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x00001cdc jge LBB0_401 + 0x4c, 0x89, 0x4d, 0xc8, //0x00001ce2 movq %r9, $-56(%rbp) + 0x4c, 0x63, 0xee, //0x00001ce6 movslq %esi, %r13 + 0x4d, 0x63, 0xcb, //0x00001ce9 movslq %r11d, %r9 + 0x4f, 0x8d, 0x1c, 0x2c, //0x00001cec leaq (%r12,%r13), %r11 + 0x31, 0xff, //0x00001cf0 xorl %edi, %edi + //0x00001cf2 LBB0_399 + 0x48, 0x89, 0xd0, //0x00001cf2 movq %rdx, %rax + 0x44, 0x89, 0xc1, //0x00001cf5 movl %r8d, %ecx + 0x48, 0xd3, 0xe8, //0x00001cf8 shrq %cl, %rax + 0x48, 0x21, 0xda, //0x00001cfb andq %rbx, %rdx + 0x04, 0x30, //0x00001cfe addb $48, %al + 0x41, 0x88, 0x04, 0x3c, //0x00001d00 movb %al, (%r12,%rdi) + 0x48, 0x8d, 0x04, 0x92, //0x00001d04 leaq (%rdx,%rdx,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x3b, //0x00001d08 movsbq (%r11,%rdi), %rcx + 0x48, 0x8d, 0x54, 0x41, 0xd0, //0x00001d0d leaq $-48(%rcx,%rax,2), %rdx + 0x49, 0x8d, 0x44, 0x3d, 0x01, //0x00001d12 leaq $1(%r13,%rdi), %rax + 0x48, 0xff, 0xc7, //0x00001d17 incq %rdi + 0x4c, 0x39, 0xc8, //0x00001d1a cmpq %r9, %rax + 0x0f, 0x8c, 0xcf, 0xff, 0xff, 0xff, //0x00001d1d jl LBB0_399 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00001d23 movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xc8, //0x00001d27 movq $-56(%rbp), %r9 + //0x00001d2b LBB0_401 + 0x41, 0x29, 0xf1, //0x00001d2b subl %esi, %r9d + 0x41, 0x89, 0xfb, //0x00001d2e movl %edi, %r11d + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00001d31 jmp LBB0_404 + //0x00001d36 LBB0_402 + 0x48, 0x85, 0xc0, //0x00001d36 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001d39 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001d3e cmovnel %eax, %r14d + //0x00001d42 LBB0_403 + 0x48, 0x01, 0xd2, //0x00001d42 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001d45 leaq (%rdx,%rdx,4), %rdx + //0x00001d49 LBB0_404 + 0x48, 0x85, 0xd2, //0x00001d49 testq %rdx, %rdx + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x00001d4c je LBB0_407 + 0x48, 0x89, 0xd0, //0x00001d52 movq %rdx, %rax + 0x44, 0x89, 0xc1, //0x00001d55 movl %r8d, %ecx + 0x48, 0xd3, 0xe8, //0x00001d58 shrq %cl, %rax + 0x48, 0x21, 0xda, //0x00001d5b andq %rbx, %rdx + 0x49, 0x63, 0xcb, //0x00001d5e movslq %r11d, %rcx + 0x49, 0x39, 0xcf, //0x00001d61 cmpq %rcx, %r15 + 0x0f, 0x86, 0xcc, 0xff, 0xff, 0xff, //0x00001d64 jbe LBB0_402 + 0x04, 0x30, //0x00001d6a addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x00001d6c movb %al, (%r12,%rcx) + 0xff, 0xc1, //0x00001d70 incl %ecx + 0x41, 0x89, 0xcb, //0x00001d72 movl %ecx, %r11d + 0xe9, 0xc8, 0xff, 0xff, 0xff, //0x00001d75 jmp LBB0_403 + //0x00001d7a LBB0_407 + 0x41, 0xff, 0xc1, //0x00001d7a incl %r9d + 0x45, 0x85, 0xdb, //0x00001d7d testl %r11d, %r11d + 0x0f, 0x8e, 0x49, 0x02, 0x00, 0x00, //0x00001d80 jle LBB0_441 + 0x44, 0x89, 0xd8, //0x00001d86 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001d89 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x43, 0x02, 0x00, 0x00, //0x00001d8f jne LBB0_442 + //0x00001d95 LBB0_409 + 0x48, 0x83, 0xf8, 0x01, //0x00001d95 cmpq $1, %rax + 0x0f, 0x8e, 0x2b, 0x02, 0x00, 0x00, //0x00001d99 jle LBB0_440 + 0x4c, 0x8d, 0x58, 0xff, //0x00001d9f leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001da3 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00001da9 movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001dac je LBB0_409 + 0xe9, 0x21, 0x02, 0x00, 0x00, //0x00001db2 jmp LBB0_442 + //0x00001db7 LBB0_411 + 0x48, 0x85, 0xd2, //0x00001db7 testq %rdx, %rdx + 0x0f, 0x84, 0x3e, 0x01, 0x00, 0x00, //0x00001dba je LBB0_430 + //0x00001dc0 LBB0_412 + 0x48, 0x89, 0xd7, //0x00001dc0 movq %rdx, %rdi + 0x44, 0x89, 0xc1, //0x00001dc3 movl %r8d, %ecx + 0x48, 0xd3, 0xef, //0x00001dc6 shrq %cl, %rdi + 0x48, 0x85, 0xff, //0x00001dc9 testq %rdi, %rdi + 0x0f, 0x85, 0xf6, 0xfe, 0xff, 0xff, //0x00001dcc jne LBB0_397 + 0x48, 0x01, 0xd2, //0x00001dd2 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001dd5 leaq (%rdx,%rdx,4), %rdx + 0xff, 0xc6, //0x00001dd9 incl %esi + 0xe9, 0xe0, 0xff, 0xff, 0xff, //0x00001ddb jmp LBB0_412 + //0x00001de0 LBB0_414 + 0x44, 0x89, 0xd8, //0x00001de0 movl %r11d, %eax + 0x44, 0x89, 0xde, //0x00001de3 movl %r11d, %esi + 0x45, 0x85, 0xc0, //0x00001de6 testl %r8d, %r8d + 0x4c, 0x8b, 0x6d, 0xd0, //0x00001de9 movq $-48(%rbp), %r13 + 0x0f, 0x84, 0xae, 0xfa, 0xff, 0xff, //0x00001ded je LBB0_334 + //0x00001df3 LBB0_415 + 0x44, 0x89, 0xc1, //0x00001df3 movl %r8d, %ecx + 0x48, 0x6b, 0xf1, 0x68, //0x00001df6 imulq $104, %rcx, %rsi + 0x48, 0x8d, 0x3d, 0x3f, 0x44, 0x00, 0x00, //0x00001dfa leaq $17471(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0x8b, 0x1c, 0x3e, //0x00001e01 movl (%rsi,%rdi), %ebx + 0x4c, 0x63, 0xe8, //0x00001e04 movslq %eax, %r13 + 0x8a, 0x54, 0x3e, 0x04, //0x00001e07 movb $4(%rsi,%rdi), %dl + 0x45, 0x85, 0xed, //0x00001e0b testl %r13d, %r13d + 0x4c, 0x89, 0x4d, 0xc8, //0x00001e0e movq %r9, $-56(%rbp) + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00001e12 je LBB0_420 + 0x48, 0x8d, 0x74, 0x3e, 0x05, //0x00001e18 leaq $5(%rsi,%rdi), %rsi + 0x31, 0xff, //0x00001e1d xorl %edi, %edi + //0x00001e1f LBB0_417 + 0x84, 0xd2, //0x00001e1f testb %dl, %dl + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x00001e21 je LBB0_422 + 0x41, 0x38, 0x14, 0x3c, //0x00001e27 cmpb %dl, (%r12,%rdi) + 0x0f, 0x85, 0xaf, 0x01, 0x00, 0x00, //0x00001e2b jne LBB0_443 + 0x0f, 0xb6, 0x14, 0x3e, //0x00001e31 movzbl (%rsi,%rdi), %edx + 0x48, 0xff, 0xc7, //0x00001e35 incq %rdi + 0x49, 0x39, 0xfd, //0x00001e38 cmpq %rdi, %r13 + 0x0f, 0x85, 0xde, 0xff, 0xff, 0xff, //0x00001e3b jne LBB0_417 + //0x00001e41 LBB0_420 + 0x84, 0xd2, //0x00001e41 testb %dl, %dl + 0x0f, 0x84, 0x02, 0x00, 0x00, 0x00, //0x00001e43 je LBB0_422 + //0x00001e49 LBB0_421 + 0xff, 0xcb, //0x00001e49 decl %ebx + //0x00001e4b LBB0_422 + 0x85, 0xc0, //0x00001e4b testl %eax, %eax + 0x0f, 0x8e, 0xb5, 0x00, 0x00, 0x00, //0x00001e4d jle LBB0_431 + 0x89, 0x5d, 0x98, //0x00001e53 movl %ebx, $-104(%rbp) + 0x01, 0xd8, //0x00001e56 addl %ebx, %eax + 0x48, 0x98, //0x00001e58 cltq + 0x49, 0x89, 0xc1, //0x00001e5a movq %rax, %r9 + 0x49, 0xc1, 0xe1, 0x20, //0x00001e5d shlq $32, %r9 + 0x48, 0xff, 0xc8, //0x00001e61 decq %rax + 0x49, 0xff, 0xc5, //0x00001e64 incq %r13 + 0x31, 0xf6, //0x00001e67 xorl %esi, %esi + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00001e69 jmp LBB0_426 + //0x00001e6e LBB0_424 + 0x48, 0x85, 0xc0, //0x00001e6e testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001e71 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001e76 cmovnel %eax, %r14d + //0x00001e7a LBB0_425 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00001e7a movabsq $-4294967296, %rax + 0x49, 0x01, 0xc1, //0x00001e84 addq %rax, %r9 + 0x48, 0x8d, 0x47, 0xff, //0x00001e87 leaq $-1(%rdi), %rax + 0x49, 0xff, 0xcd, //0x00001e8b decq %r13 + 0x49, 0x83, 0xfd, 0x01, //0x00001e8e cmpq $1, %r13 + 0x0f, 0x8e, 0x4c, 0x00, 0x00, 0x00, //0x00001e92 jle LBB0_428 + //0x00001e98 LBB0_426 + 0x48, 0x89, 0xc7, //0x00001e98 movq %rax, %rdi + 0x4b, 0x0f, 0xbe, 0x5c, 0x2c, 0xfe, //0x00001e9b movsbq $-2(%r12,%r13), %rbx + 0x48, 0x83, 0xc3, 0xd0, //0x00001ea1 addq $-48, %rbx + 0x48, 0xd3, 0xe3, //0x00001ea5 shlq %cl, %rbx + 0x48, 0x01, 0xf3, //0x00001ea8 addq %rsi, %rbx + 0x48, 0x89, 0xd8, //0x00001eab movq %rbx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001eae movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001eb8 mulq %rdx + 0x48, 0x89, 0xd6, //0x00001ebb movq %rdx, %rsi + 0x48, 0xc1, 0xee, 0x03, //0x00001ebe shrq $3, %rsi + 0x48, 0x8d, 0x04, 0x36, //0x00001ec2 leaq (%rsi,%rsi), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00001ec6 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x00001eca movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x00001ecd subq %rdx, %rax + 0x4c, 0x39, 0xff, //0x00001ed0 cmpq %r15, %rdi + 0x0f, 0x83, 0x95, 0xff, 0xff, 0xff, //0x00001ed3 jae LBB0_424 + 0x04, 0x30, //0x00001ed9 addb $48, %al + 0x41, 0x88, 0x04, 0x3c, //0x00001edb movb %al, (%r12,%rdi) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x00001edf jmp LBB0_425 + //0x00001ee4 LBB0_428 + 0x48, 0x83, 0xfb, 0x0a, //0x00001ee4 cmpq $10, %rbx + 0x4c, 0x8b, 0x6d, 0xd0, //0x00001ee8 movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xc8, //0x00001eec movq $-56(%rbp), %r9 + 0x0f, 0x83, 0x1f, 0x00, 0x00, 0x00, //0x00001ef0 jae LBB0_432 + 0x8b, 0x5d, 0x98, //0x00001ef6 movl $-104(%rbp), %ebx + 0xe9, 0x82, 0x00, 0x00, 0x00, //0x00001ef9 jmp LBB0_436 + //0x00001efe LBB0_430 + 0x45, 0x31, 0xdb, //0x00001efe xorl %r11d, %r11d + 0x31, 0xf6, //0x00001f01 xorl %esi, %esi + 0xe9, 0x99, 0xf9, 0xff, 0xff, //0x00001f03 jmp LBB0_334 + //0x00001f08 LBB0_431 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00001f08 movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xc8, //0x00001f0c movq $-56(%rbp), %r9 + 0xe9, 0x6b, 0x00, 0x00, 0x00, //0x00001f10 jmp LBB0_436 + //0x00001f15 LBB0_432 + 0x48, 0x63, 0xcf, //0x00001f15 movslq %edi, %rcx + 0x48, 0xff, 0xc9, //0x00001f18 decq %rcx + 0x8b, 0x5d, 0x98, //0x00001f1b movl $-104(%rbp), %ebx + 0xe9, 0x1c, 0x00, 0x00, 0x00, //0x00001f1e jmp LBB0_434 + //0x00001f23 LBB0_433 + 0x48, 0x85, 0xc0, //0x00001f23 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001f26 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001f2b cmovnel %eax, %r14d + 0x48, 0xff, 0xc9, //0x00001f2f decq %rcx + 0x48, 0x83, 0xfe, 0x09, //0x00001f32 cmpq $9, %rsi + 0x48, 0x89, 0xd6, //0x00001f36 movq %rdx, %rsi + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x00001f39 jbe LBB0_436 + //0x00001f3f LBB0_434 + 0x48, 0x89, 0xf0, //0x00001f3f movq %rsi, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001f42 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001f4c mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00001f4f shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00001f53 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00001f57 leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xf0, //0x00001f5b movq %rsi, %rax + 0x48, 0x29, 0xf8, //0x00001f5e subq %rdi, %rax + 0x4c, 0x39, 0xf9, //0x00001f61 cmpq %r15, %rcx + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x00001f64 jae LBB0_433 + 0x04, 0x30, //0x00001f6a addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x00001f6c movb %al, (%r12,%rcx) + 0x48, 0xff, 0xc9, //0x00001f70 decq %rcx + 0x48, 0x83, 0xfe, 0x09, //0x00001f73 cmpq $9, %rsi + 0x48, 0x89, 0xd6, //0x00001f77 movq %rdx, %rsi + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00001f7a ja LBB0_434 + //0x00001f80 LBB0_436 + 0x41, 0x01, 0xdb, //0x00001f80 addl %ebx, %r11d + 0x4d, 0x63, 0xdb, //0x00001f83 movslq %r11d, %r11 + 0x4d, 0x39, 0xdf, //0x00001f86 cmpq %r11, %r15 + 0x45, 0x0f, 0x46, 0xdf, //0x00001f89 cmovbel %r15d, %r11d + 0x41, 0x01, 0xd9, //0x00001f8d addl %ebx, %r9d + 0x45, 0x85, 0xdb, //0x00001f90 testl %r11d, %r11d + 0x0f, 0x8e, 0x57, 0x00, 0x00, 0x00, //0x00001f93 jle LBB0_445 + 0x44, 0x89, 0xd8, //0x00001f99 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001f9c cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x4f, 0x00, 0x00, 0x00, //0x00001fa2 jne LBB0_446 + //0x00001fa8 LBB0_438 + 0x48, 0x83, 0xf8, 0x01, //0x00001fa8 cmpq $1, %rax + 0x0f, 0x8e, 0x39, 0x00, 0x00, 0x00, //0x00001fac jle LBB0_444 + 0x4c, 0x8d, 0x58, 0xff, //0x00001fb2 leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001fb6 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00001fbc movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001fbf je LBB0_438 + 0xe9, 0x2d, 0x00, 0x00, 0x00, //0x00001fc5 jmp LBB0_446 + //0x00001fca LBB0_440 + 0xff, 0xc8, //0x00001fca decl %eax + 0x41, 0x89, 0xc3, //0x00001fcc movl %eax, %r11d + //0x00001fcf LBB0_441 + 0x45, 0x85, 0xdb, //0x00001fcf testl %r11d, %r11d + 0x0f, 0x84, 0x17, 0x01, 0x00, 0x00, //0x00001fd2 je LBB0_454 + //0x00001fd8 LBB0_442 + 0x44, 0x89, 0xde, //0x00001fd8 movl %r11d, %esi + 0xe9, 0xc1, 0xf8, 0xff, 0xff, //0x00001fdb jmp LBB0_334 + //0x00001fe0 LBB0_443 + 0x0f, 0x8c, 0x63, 0xfe, 0xff, 0xff, //0x00001fe0 jl LBB0_421 + 0xe9, 0x60, 0xfe, 0xff, 0xff, //0x00001fe6 jmp LBB0_422 + //0x00001feb LBB0_444 + 0xff, 0xc8, //0x00001feb decl %eax + 0x41, 0x89, 0xc3, //0x00001fed movl %eax, %r11d + //0x00001ff0 LBB0_445 + 0x45, 0x85, 0xdb, //0x00001ff0 testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x00001ff3 cmovel %r11d, %r9d + //0x00001ff7 LBB0_446 + 0x44, 0x89, 0xd8, //0x00001ff7 movl %r11d, %eax + 0x44, 0x89, 0xde, //0x00001ffa movl %r11d, %esi + 0x45, 0x85, 0xc0, //0x00001ffd testl %r8d, %r8d + 0x0f, 0x89, 0x9b, 0xf8, 0xff, 0xff, //0x00002000 jns LBB0_334 + 0xe9, 0xe7, 0xf8, 0xff, 0xff, //0x00002006 jmp LBB0_340 + //0x0000200b LBB0_447 + 0x44, 0x89, 0xde, //0x0000200b movl %r11d, %esi + 0xe9, 0xfc, 0x00, 0x00, 0x00, //0x0000200e jmp LBB0_457 + //0x00002013 LBB0_628 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, //0x00002013 movabsq $126100789566373888, %rdi + //0x0000201d LBB0_629 + 0x48, 0x89, 0xd8, //0x0000201d movq %rbx, %rax + 0x48, 0xc1, 0xe8, 0x3f, //0x00002020 shrq $63, %rax + 0x8d, 0x48, 0x09, //0x00002024 leal $9(%rax), %ecx + 0x48, 0xd3, 0xeb, //0x00002027 shrq %cl, %rbx + 0x48, 0x0b, 0x55, 0xb8, //0x0000202a orq $-72(%rbp), %rdx + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000202e jne LBB0_631 + 0x89, 0xd9, //0x00002034 movl %ebx, %ecx + 0x83, 0xe1, 0x03, //0x00002036 andl $3, %ecx + 0x83, 0xf9, 0x01, //0x00002039 cmpl $1, %ecx + 0x0f, 0x84, 0xcc, 0xf3, 0xff, 0xff, //0x0000203c je LBB0_268 + //0x00002042 LBB0_631 + 0x4c, 0x2b, 0x75, 0xa0, //0x00002042 subq $-96(%rbp), %r14 + 0x48, 0x83, 0xf0, 0x01, //0x00002046 xorq $1, %rax + 0x49, 0x29, 0xc6, //0x0000204a subq %rax, %r14 + 0x89, 0xd8, //0x0000204d movl %ebx, %eax + 0x83, 0xe0, 0x01, //0x0000204f andl $1, %eax + 0x48, 0x01, 0xd8, //0x00002052 addq %rbx, %rax + 0x48, 0x21, 0xc7, //0x00002055 andq %rax, %rdi + 0x48, 0x83, 0xff, 0x01, //0x00002058 cmpq $1, %rdi + 0x49, 0x83, 0xde, 0xff, //0x0000205c sbbq $-1, %r14 + 0x49, 0x8d, 0x4e, 0xff, //0x00002060 leaq $-1(%r14), %rcx + 0x48, 0x81, 0xf9, 0xfd, 0x07, 0x00, 0x00, //0x00002064 cmpq $2045, %rcx + 0x0f, 0x87, 0x9d, 0xf3, 0xff, 0xff, //0x0000206b ja LBB0_268 + 0x48, 0x83, 0xff, 0x01, //0x00002071 cmpq $1, %rdi + 0xb1, 0x02, //0x00002075 movb $2, %cl + 0x80, 0xd9, 0x00, //0x00002077 sbbb $0, %cl + 0x48, 0xd3, 0xe8, //0x0000207a shrq %cl, %rax + 0x49, 0xc1, 0xe6, 0x34, //0x0000207d shlq $52, %r14 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002081 movabsq $4503599627370495, %rcx + 0x48, 0x21, 0xc8, //0x0000208b andq %rcx, %rax + 0x4c, 0x09, 0xf0, //0x0000208e orq %r14, %rax + 0x48, 0x89, 0xc1, //0x00002091 movq %rax, %rcx + 0x4c, 0x09, 0xc9, //0x00002094 orq %r9, %rcx + 0x83, 0x7d, 0xc8, 0xff, //0x00002097 cmpl $-1, $-56(%rbp) + 0x48, 0x0f, 0x45, 0xc8, //0x0000209b cmovneq %rax, %rcx + 0xc4, 0xe1, 0xf9, 0x6e, 0xc6, //0x0000209f vmovq %rsi, %xmm0 + 0xc4, 0xe1, 0xf9, 0x6e, 0xc9, //0x000020a4 vmovq %rcx, %xmm1 + 0xc5, 0xf9, 0x2e, 0xc1, //0x000020a9 vucomisd %xmm1, %xmm0 + 0x0f, 0x85, 0x5b, 0xf3, 0xff, 0xff, //0x000020ad jne LBB0_268 + 0x0f, 0x8b, 0x9b, 0xf7, 0xff, 0xff, //0x000020b3 jnp LBB0_328 + 0xe9, 0x50, 0xf3, 0xff, 0xff, //0x000020b9 jmp LBB0_268 + //0x000020be LBB0_450 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000020be movq $-1, %r15 + 0xe9, 0x13, 0xef, 0xff, 0xff, //0x000020c5 jmp LBB0_221 + //0x000020ca LBB0_452 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000020ca movq $-1, %r14 + 0x49, 0x89, 0xda, //0x000020d1 movq %rbx, %r10 + 0x48, 0x89, 0xf0, //0x000020d4 movq %rsi, %rax + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000020d7 movq $-1, %r12 + 0x48, 0xc7, 0x45, 0xa8, 0xff, 0xff, 0xff, 0xff, //0x000020de movq $-1, $-88(%rbp) + 0x4c, 0x8b, 0x6d, 0xd0, //0x000020e6 movq $-48(%rbp), %r13 + 0xe9, 0x28, 0xe4, 0xff, 0xff, //0x000020ea jmp LBB0_64 + //0x000020ef LBB0_454 + 0x8b, 0x45, 0xb8, //0x000020ef movl $-72(%rbp), %eax + 0x03, 0x45, 0xc0, //0x000020f2 addl $-64(%rbp), %eax + 0x45, 0x31, 0xc9, //0x000020f5 xorl %r9d, %r9d + 0x45, 0x31, 0xdb, //0x000020f8 xorl %r11d, %r11d + 0x31, 0xf6, //0x000020fb xorl %esi, %esi + 0x89, 0xc7, //0x000020fd movl %eax, %edi + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x000020ff jmp LBB0_457 + //0x00002104 LBB0_455 + 0x89, 0xf0, //0x00002104 movl %esi, %eax + //0x00002106 LBB0_456 + 0x48, 0x8b, 0x7d, 0xc0, //0x00002106 movq $-64(%rbp), %rdi + 0x2b, 0x7d, 0xb8, //0x0000210a subl $-72(%rbp), %edi + 0x89, 0xc6, //0x0000210d movl %eax, %esi + //0x0000210f LBB0_457 + 0x45, 0x85, 0xc9, //0x0000210f testl %r9d, %r9d + 0x0f, 0x88, 0x16, 0x00, 0x00, 0x00, //0x00002112 js LBB0_460 + 0x0f, 0x85, 0xaa, 0x07, 0x00, 0x00, //0x00002118 jne LBB0_573 + 0x41, 0x80, 0x3c, 0x24, 0x35, //0x0000211e cmpb $53, (%r12) + 0x0f, 0x8c, 0x14, 0x00, 0x00, 0x00, //0x00002123 jl LBB0_461 + 0xe9, 0x9a, 0x07, 0x00, 0x00, //0x00002129 jmp LBB0_573 + //0x0000212e LBB0_460 + 0xb8, 0x1b, 0x00, 0x00, 0x00, //0x0000212e movl $27, %eax + 0x41, 0x83, 0xf9, 0xf8, //0x00002133 cmpl $-8, %r9d + 0x0f, 0x8c, 0x11, 0x00, 0x00, 0x00, //0x00002137 jl LBB0_462 + //0x0000213d LBB0_461 + 0x44, 0x89, 0xc8, //0x0000213d movl %r9d, %eax + 0xf7, 0xd8, //0x00002140 negl %eax + 0x48, 0x98, //0x00002142 cltq + 0x48, 0x8d, 0x0d, 0xc5, 0x40, 0x00, 0x00, //0x00002144 leaq $16581(%rip), %rcx /* _POW_TAB+0(%rip) */ + 0x8b, 0x04, 0x81, //0x0000214b movl (%rcx,%rax,4), %eax + //0x0000214e LBB0_462 + 0x85, 0xf6, //0x0000214e testl %esi, %esi + 0x48, 0x89, 0x7d, 0xc0, //0x00002150 movq %rdi, $-64(%rbp) + 0x89, 0x45, 0xb8, //0x00002154 movl %eax, $-72(%rbp) + 0x0f, 0x84, 0xa7, 0xff, 0xff, 0xff, //0x00002157 je LBB0_455 + 0x85, 0xc0, //0x0000215d testl %eax, %eax + 0x0f, 0x84, 0x9f, 0xff, 0xff, 0xff, //0x0000215f je LBB0_455 + 0x0f, 0x8e, 0x32, 0x02, 0x00, 0x00, //0x00002165 jle LBB0_495 + 0x41, 0x89, 0xc0, //0x0000216b movl %eax, %r8d + 0x83, 0xf8, 0x3d, //0x0000216e cmpl $61, %eax + 0x0f, 0x8c, 0x41, 0x02, 0x00, 0x00, //0x00002171 jl LBB0_497 + 0x4c, 0x8d, 0x2d, 0xc2, 0x40, 0x00, 0x00, //0x00002177 leaq $16578(%rip), %r13 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x0000217e jmp LBB0_470 + //0x00002183 LBB0_467 + 0xff, 0xc8, //0x00002183 decl %eax + 0x41, 0x89, 0xc3, //0x00002185 movl %eax, %r11d + //0x00002188 LBB0_468 + 0x45, 0x85, 0xdb, //0x00002188 testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x0000218b cmovel %r11d, %r9d + //0x0000218f LBB0_469 + 0x48, 0x8b, 0x45, 0xc8, //0x0000218f movq $-56(%rbp), %rax + 0x44, 0x8d, 0x40, 0xc4, //0x00002193 leal $-60(%rax), %r8d + 0x44, 0x89, 0xde, //0x00002197 movl %r11d, %esi + 0x83, 0xf8, 0x78, //0x0000219a cmpl $120, %eax + 0x0f, 0x8e, 0x02, 0x02, 0x00, 0x00, //0x0000219d jle LBB0_496 + //0x000021a3 LBB0_470 + 0x4c, 0x89, 0x45, 0xc8, //0x000021a3 movq %r8, $-56(%rbp) + 0x48, 0x63, 0xde, //0x000021a7 movslq %esi, %rbx + 0x85, 0xdb, //0x000021aa testl %ebx, %ebx + 0x0f, 0x84, 0x45, 0x00, 0x00, 0x00, //0x000021ac je LBB0_476 + 0xb1, 0x38, //0x000021b2 movb $56, %cl + 0x31, 0xc0, //0x000021b4 xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000021b6 .p2align 4, 0x90 + //0x000021c0 LBB0_472 + 0x41, 0xb8, 0x13, 0x00, 0x00, 0x00, //0x000021c0 movl $19, %r8d + 0x48, 0x83, 0xf8, 0x2a, //0x000021c6 cmpq $42, %rax + 0x0f, 0x84, 0x2d, 0x00, 0x00, 0x00, //0x000021ca je LBB0_477 + 0x41, 0x38, 0x0c, 0x04, //0x000021d0 cmpb %cl, (%r12,%rax) + 0x0f, 0x85, 0xb8, 0x01, 0x00, 0x00, //0x000021d4 jne LBB0_493 + 0x42, 0x0f, 0xb6, 0x8c, 0x28, 0x65, 0x18, 0x00, 0x00, //0x000021da movzbl $6245(%rax,%r13), %ecx + 0x48, 0xff, 0xc0, //0x000021e3 incq %rax + 0x48, 0x39, 0xc3, //0x000021e6 cmpq %rax, %rbx + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x000021e9 jne LBB0_472 + 0x84, 0xc9, //0x000021ef testb %cl, %cl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x000021f1 je LBB0_477 + //0x000021f7 LBB0_476 + 0x41, 0xb8, 0x12, 0x00, 0x00, 0x00, //0x000021f7 movl $18, %r8d + //0x000021fd LBB0_477 + 0x85, 0xf6, //0x000021fd testl %esi, %esi + 0x0f, 0x8e, 0x38, 0x01, 0x00, 0x00, //0x000021ff jle LBB0_489 + 0x4d, 0x89, 0xcd, //0x00002205 movq %r9, %r13 + 0x44, 0x01, 0xc6, //0x00002208 addl %r8d, %esi + 0x48, 0x63, 0xc6, //0x0000220b movslq %esi, %rax + 0x48, 0x89, 0xc7, //0x0000220e movq %rax, %rdi + 0x48, 0xc1, 0xe7, 0x20, //0x00002211 shlq $32, %rdi + 0x48, 0xff, 0xc8, //0x00002215 decq %rax + 0x48, 0xff, 0xc3, //0x00002218 incq %rbx + 0x31, 0xc9, //0x0000221b xorl %ecx, %ecx + 0xe9, 0x38, 0x00, 0x00, 0x00, //0x0000221d jmp LBB0_481 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002222 .p2align 4, 0x90 + //0x00002230 LBB0_479 + 0x48, 0x85, 0xc0, //0x00002230 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00002233 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00002238 cmovnel %eax, %r14d + //0x0000223c LBB0_480 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000223c movabsq $-4294967296, %rax + 0x48, 0x01, 0xc7, //0x00002246 addq %rax, %rdi + 0x49, 0x8d, 0x41, 0xff, //0x00002249 leaq $-1(%r9), %rax + 0x48, 0xff, 0xcb, //0x0000224d decq %rbx + 0x48, 0x83, 0xfb, 0x01, //0x00002250 cmpq $1, %rbx + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00002254 jle LBB0_483 + //0x0000225a LBB0_481 + 0x49, 0x89, 0xc1, //0x0000225a movq %rax, %r9 + 0x41, 0x0f, 0xb6, 0x74, 0x1c, 0xfe, //0x0000225d movzbl $-2(%r12,%rbx), %esi + 0x48, 0xc1, 0xe6, 0x3c, //0x00002263 shlq $60, %rsi + 0x48, 0x01, 0xce, //0x00002267 addq %rcx, %rsi + 0x48, 0x89, 0xf0, //0x0000226a movq %rsi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x0000226d movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00002277 mulq %rcx + 0x48, 0x89, 0xd1, //0x0000227a movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x0000227d shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00002281 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00002285 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf0, //0x00002289 movq %rsi, %rax + 0x48, 0x29, 0xd0, //0x0000228c subq %rdx, %rax + 0x4d, 0x39, 0xf9, //0x0000228f cmpq %r15, %r9 + 0x0f, 0x83, 0x98, 0xff, 0xff, 0xff, //0x00002292 jae LBB0_479 + 0x04, 0x30, //0x00002298 addb $48, %al + 0x43, 0x88, 0x04, 0x0c, //0x0000229a movb %al, (%r12,%r9) + 0xe9, 0x99, 0xff, 0xff, 0xff, //0x0000229e jmp LBB0_480 + //0x000022a3 LBB0_483 + 0x48, 0x83, 0xfe, 0x0a, //0x000022a3 cmpq $10, %rsi + 0x0f, 0x83, 0x0f, 0x00, 0x00, 0x00, //0x000022a7 jae LBB0_485 + 0x4d, 0x89, 0xe9, //0x000022ad movq %r13, %r9 + 0x4c, 0x8d, 0x2d, 0x89, 0x3f, 0x00, 0x00, //0x000022b0 leaq $16265(%rip), %r13 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x81, 0x00, 0x00, 0x00, //0x000022b7 jmp LBB0_489 + //0x000022bc LBB0_485 + 0x49, 0x63, 0xf1, //0x000022bc movslq %r9d, %rsi + 0x48, 0xff, 0xce, //0x000022bf decq %rsi + 0x4d, 0x89, 0xe9, //0x000022c2 movq %r13, %r9 + 0x4c, 0x8d, 0x2d, 0x74, 0x3f, 0x00, 0x00, //0x000022c5 leaq $16244(%rip), %r13 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x2b, 0x00, 0x00, 0x00, //0x000022cc jmp LBB0_487 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000022d1 .p2align 4, 0x90 + //0x000022e0 LBB0_486 + 0x48, 0x85, 0xc0, //0x000022e0 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000022e3 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000022e8 cmovnel %eax, %r14d + 0x48, 0xff, 0xce, //0x000022ec decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x000022ef cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x000022f3 movq %rdx, %rcx + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x000022f6 jbe LBB0_489 + //0x000022fc LBB0_487 + 0x48, 0x89, 0xc8, //0x000022fc movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000022ff movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00002309 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x0000230c shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00002310 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00002314 leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xc8, //0x00002318 movq %rcx, %rax + 0x48, 0x29, 0xf8, //0x0000231b subq %rdi, %rax + 0x4c, 0x39, 0xfe, //0x0000231e cmpq %r15, %rsi + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x00002321 jae LBB0_486 + 0x04, 0x30, //0x00002327 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00002329 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x0000232d decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00002330 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00002334 movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00002337 ja LBB0_487 + //0x0000233d LBB0_489 + 0x45, 0x01, 0xc3, //0x0000233d addl %r8d, %r11d + 0x4d, 0x63, 0xdb, //0x00002340 movslq %r11d, %r11 + 0x4d, 0x39, 0xdf, //0x00002343 cmpq %r11, %r15 + 0x45, 0x0f, 0x46, 0xdf, //0x00002346 cmovbel %r15d, %r11d + 0x45, 0x01, 0xc1, //0x0000234a addl %r8d, %r9d + 0x45, 0x85, 0xdb, //0x0000234d testl %r11d, %r11d + 0x0f, 0x8e, 0x32, 0xfe, 0xff, 0xff, //0x00002350 jle LBB0_468 + 0x44, 0x89, 0xd8, //0x00002356 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00002359 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x2a, 0xfe, 0xff, 0xff, //0x0000235f jne LBB0_469 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002365 .p2align 4, 0x90 + //0x00002370 LBB0_491 + 0x48, 0x83, 0xf8, 0x01, //0x00002370 cmpq $1, %rax + 0x0f, 0x8e, 0x09, 0xfe, 0xff, 0xff, //0x00002374 jle LBB0_467 + 0x4c, 0x8d, 0x58, 0xff, //0x0000237a leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x0000237e cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00002384 movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002387 je LBB0_491 + 0xe9, 0xfd, 0xfd, 0xff, 0xff, //0x0000238d jmp LBB0_469 + //0x00002392 LBB0_493 + 0x0f, 0x8c, 0x5f, 0xfe, 0xff, 0xff, //0x00002392 jl LBB0_476 + 0xe9, 0x60, 0xfe, 0xff, 0xff, //0x00002398 jmp LBB0_477 + //0x0000239d LBB0_495 + 0x41, 0x89, 0xc0, //0x0000239d movl %eax, %r8d + 0xe9, 0x07, 0x02, 0x00, 0x00, //0x000023a0 jmp LBB0_525 + //0x000023a5 LBB0_496 + 0x44, 0x89, 0xde, //0x000023a5 movl %r11d, %esi + 0x44, 0x89, 0xd8, //0x000023a8 movl %r11d, %eax + 0x45, 0x85, 0xc0, //0x000023ab testl %r8d, %r8d + 0x4c, 0x8b, 0x6d, 0xd0, //0x000023ae movq $-48(%rbp), %r13 + 0x0f, 0x84, 0x4e, 0xfd, 0xff, 0xff, //0x000023b2 je LBB0_456 + //0x000023b8 LBB0_497 + 0x44, 0x89, 0xc1, //0x000023b8 movl %r8d, %ecx + 0x48, 0x6b, 0xd1, 0x68, //0x000023bb imulq $104, %rcx, %rdx + 0x48, 0x8d, 0x3d, 0x7a, 0x3e, 0x00, 0x00, //0x000023bf leaq $15994(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0x8b, 0x1c, 0x3a, //0x000023c6 movl (%rdx,%rdi), %ebx + 0x4c, 0x63, 0xee, //0x000023c9 movslq %esi, %r13 + 0x8a, 0x44, 0x3a, 0x04, //0x000023cc movb $4(%rdx,%rdi), %al + 0x45, 0x85, 0xed, //0x000023d0 testl %r13d, %r13d + 0x4c, 0x89, 0x4d, 0xc8, //0x000023d3 movq %r9, $-56(%rbp) + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000023d7 je LBB0_502 + 0x48, 0x8d, 0x54, 0x3a, 0x05, //0x000023dd leaq $5(%rdx,%rdi), %rdx + 0x31, 0xff, //0x000023e2 xorl %edi, %edi + //0x000023e4 LBB0_499 + 0x84, 0xc0, //0x000023e4 testb %al, %al + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x000023e6 je LBB0_504 + 0x41, 0x38, 0x04, 0x3c, //0x000023ec cmpb %al, (%r12,%rdi) + 0x0f, 0x85, 0x90, 0x01, 0x00, 0x00, //0x000023f0 jne LBB0_521 + 0x0f, 0xb6, 0x04, 0x3a, //0x000023f6 movzbl (%rdx,%rdi), %eax + 0x48, 0xff, 0xc7, //0x000023fa incq %rdi + 0x49, 0x39, 0xfd, //0x000023fd cmpq %rdi, %r13 + 0x0f, 0x85, 0xde, 0xff, 0xff, 0xff, //0x00002400 jne LBB0_499 + //0x00002406 LBB0_502 + 0x84, 0xc0, //0x00002406 testb %al, %al + 0x0f, 0x84, 0x02, 0x00, 0x00, 0x00, //0x00002408 je LBB0_504 + //0x0000240e LBB0_503 + 0xff, 0xcb, //0x0000240e decl %ebx + //0x00002410 LBB0_504 + 0x85, 0xf6, //0x00002410 testl %esi, %esi + 0x0f, 0x8e, 0xac, 0x00, 0x00, 0x00, //0x00002412 jle LBB0_512 + 0x89, 0x5d, 0x98, //0x00002418 movl %ebx, $-104(%rbp) + 0x01, 0xde, //0x0000241b addl %ebx, %esi + 0x48, 0x63, 0xc6, //0x0000241d movslq %esi, %rax + 0x49, 0x89, 0xc1, //0x00002420 movq %rax, %r9 + 0x49, 0xc1, 0xe1, 0x20, //0x00002423 shlq $32, %r9 + 0x48, 0xff, 0xc8, //0x00002427 decq %rax + 0x49, 0xff, 0xc5, //0x0000242a incq %r13 + 0x31, 0xf6, //0x0000242d xorl %esi, %esi + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x0000242f jmp LBB0_508 + //0x00002434 LBB0_506 + 0x48, 0x85, 0xc0, //0x00002434 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00002437 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x0000243c cmovnel %eax, %r14d + //0x00002440 LBB0_507 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00002440 movabsq $-4294967296, %rax + 0x49, 0x01, 0xc1, //0x0000244a addq %rax, %r9 + 0x48, 0x8d, 0x47, 0xff, //0x0000244d leaq $-1(%rdi), %rax + 0x49, 0xff, 0xcd, //0x00002451 decq %r13 + 0x49, 0x83, 0xfd, 0x01, //0x00002454 cmpq $1, %r13 + 0x0f, 0x8e, 0x4c, 0x00, 0x00, 0x00, //0x00002458 jle LBB0_510 + //0x0000245e LBB0_508 + 0x48, 0x89, 0xc7, //0x0000245e movq %rax, %rdi + 0x4b, 0x0f, 0xbe, 0x5c, 0x2c, 0xfe, //0x00002461 movsbq $-2(%r12,%r13), %rbx + 0x48, 0x83, 0xc3, 0xd0, //0x00002467 addq $-48, %rbx + 0x48, 0xd3, 0xe3, //0x0000246b shlq %cl, %rbx + 0x48, 0x01, 0xf3, //0x0000246e addq %rsi, %rbx + 0x48, 0x89, 0xd8, //0x00002471 movq %rbx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002474 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x0000247e mulq %rdx + 0x48, 0x89, 0xd6, //0x00002481 movq %rdx, %rsi + 0x48, 0xc1, 0xee, 0x03, //0x00002484 shrq $3, %rsi + 0x48, 0x8d, 0x04, 0x36, //0x00002488 leaq (%rsi,%rsi), %rax + 0x48, 0x8d, 0x14, 0x80, //0x0000248c leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x00002490 movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x00002493 subq %rdx, %rax + 0x4c, 0x39, 0xff, //0x00002496 cmpq %r15, %rdi + 0x0f, 0x83, 0x95, 0xff, 0xff, 0xff, //0x00002499 jae LBB0_506 + 0x04, 0x30, //0x0000249f addb $48, %al + 0x41, 0x88, 0x04, 0x3c, //0x000024a1 movb %al, (%r12,%rdi) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x000024a5 jmp LBB0_507 + //0x000024aa LBB0_510 + 0x48, 0x83, 0xfb, 0x0a, //0x000024aa cmpq $10, %rbx + 0x4c, 0x8b, 0x6d, 0xd0, //0x000024ae movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xc8, //0x000024b2 movq $-56(%rbp), %r9 + 0x0f, 0x83, 0x15, 0x00, 0x00, 0x00, //0x000024b6 jae LBB0_513 + 0x8b, 0x5d, 0x98, //0x000024bc movl $-104(%rbp), %ebx + 0xe9, 0x78, 0x00, 0x00, 0x00, //0x000024bf jmp LBB0_517 + //0x000024c4 LBB0_512 + 0x4c, 0x8b, 0x6d, 0xd0, //0x000024c4 movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xc8, //0x000024c8 movq $-56(%rbp), %r9 + 0xe9, 0x6b, 0x00, 0x00, 0x00, //0x000024cc jmp LBB0_517 + //0x000024d1 LBB0_513 + 0x48, 0x63, 0xcf, //0x000024d1 movslq %edi, %rcx + 0x48, 0xff, 0xc9, //0x000024d4 decq %rcx + 0x8b, 0x5d, 0x98, //0x000024d7 movl $-104(%rbp), %ebx + 0xe9, 0x1c, 0x00, 0x00, 0x00, //0x000024da jmp LBB0_515 + //0x000024df LBB0_514 + 0x48, 0x85, 0xc0, //0x000024df testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000024e2 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000024e7 cmovnel %eax, %r14d + 0x48, 0xff, 0xc9, //0x000024eb decq %rcx + 0x48, 0x83, 0xfe, 0x09, //0x000024ee cmpq $9, %rsi + 0x48, 0x89, 0xd6, //0x000024f2 movq %rdx, %rsi + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x000024f5 jbe LBB0_517 + //0x000024fb LBB0_515 + 0x48, 0x89, 0xf0, //0x000024fb movq %rsi, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000024fe movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00002508 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x0000250b shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x0000250f leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00002513 leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xf0, //0x00002517 movq %rsi, %rax + 0x48, 0x29, 0xf8, //0x0000251a subq %rdi, %rax + 0x4c, 0x39, 0xf9, //0x0000251d cmpq %r15, %rcx + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x00002520 jae LBB0_514 + 0x04, 0x30, //0x00002526 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x00002528 movb %al, (%r12,%rcx) + 0x48, 0xff, 0xc9, //0x0000252c decq %rcx + 0x48, 0x83, 0xfe, 0x09, //0x0000252f cmpq $9, %rsi + 0x48, 0x89, 0xd6, //0x00002533 movq %rdx, %rsi + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00002536 ja LBB0_515 + //0x0000253c LBB0_517 + 0x41, 0x01, 0xdb, //0x0000253c addl %ebx, %r11d + 0x4d, 0x63, 0xdb, //0x0000253f movslq %r11d, %r11 + 0x4d, 0x39, 0xdf, //0x00002542 cmpq %r11, %r15 + 0x45, 0x0f, 0x46, 0xdf, //0x00002545 cmovbel %r15d, %r11d + 0x41, 0x01, 0xd9, //0x00002549 addl %ebx, %r9d + 0x45, 0x85, 0xdb, //0x0000254c testl %r11d, %r11d + 0x0f, 0x8e, 0x41, 0x00, 0x00, 0x00, //0x0000254f jle LBB0_523 + 0x44, 0x89, 0xd8, //0x00002555 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00002558 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x39, 0x00, 0x00, 0x00, //0x0000255e jne LBB0_524 + //0x00002564 LBB0_519 + 0x48, 0x83, 0xf8, 0x01, //0x00002564 cmpq $1, %rax + 0x0f, 0x8e, 0x23, 0x00, 0x00, 0x00, //0x00002568 jle LBB0_522 + 0x4c, 0x8d, 0x58, 0xff, //0x0000256e leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00002572 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00002578 movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x0000257b je LBB0_519 + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002581 jmp LBB0_524 + //0x00002586 LBB0_521 + 0x0f, 0x8c, 0x82, 0xfe, 0xff, 0xff, //0x00002586 jl LBB0_503 + 0xe9, 0x7f, 0xfe, 0xff, 0xff, //0x0000258c jmp LBB0_504 + //0x00002591 LBB0_522 + 0xff, 0xc8, //0x00002591 decl %eax + 0x41, 0x89, 0xc3, //0x00002593 movl %eax, %r11d + //0x00002596 LBB0_523 + 0x45, 0x85, 0xdb, //0x00002596 testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x00002599 cmovel %r11d, %r9d + //0x0000259d LBB0_524 + 0x44, 0x89, 0xde, //0x0000259d movl %r11d, %esi + 0x44, 0x89, 0xd8, //0x000025a0 movl %r11d, %eax + 0x45, 0x85, 0xc0, //0x000025a3 testl %r8d, %r8d + 0x0f, 0x89, 0x5a, 0xfb, 0xff, 0xff, //0x000025a6 jns LBB0_456 + //0x000025ac LBB0_525 + 0x41, 0x83, 0xf8, 0xc3, //0x000025ac cmpl $-61, %r8d + 0x0f, 0x8e, 0x21, 0x00, 0x00, 0x00, //0x000025b0 jle LBB0_529 + 0xe9, 0x9e, 0x01, 0x00, 0x00, //0x000025b6 jmp LBB0_549 + //0x000025bb LBB0_526 + 0xff, 0xc9, //0x000025bb decl %ecx + 0x41, 0x89, 0xcb, //0x000025bd movl %ecx, %r11d + //0x000025c0 LBB0_527 + 0x45, 0x85, 0xdb, //0x000025c0 testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x000025c3 cmovel %r11d, %r9d + //0x000025c7 LBB0_528 + 0x44, 0x8d, 0x40, 0x3c, //0x000025c7 leal $60(%rax), %r8d + 0x44, 0x89, 0xde, //0x000025cb movl %r11d, %esi + 0x83, 0xf8, 0x88, //0x000025ce cmpl $-120, %eax + 0x0f, 0x8d, 0x73, 0x01, 0x00, 0x00, //0x000025d1 jge LBB0_548 + //0x000025d7 LBB0_529 + 0x44, 0x89, 0xc0, //0x000025d7 movl %r8d, %eax + 0x48, 0x63, 0xfe, //0x000025da movslq %esi, %rdi + 0x31, 0xd2, //0x000025dd xorl %edx, %edx + 0x31, 0xc9, //0x000025df xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000025e1 .p2align 4, 0x90 + //0x000025f0 LBB0_530 + 0x48, 0x39, 0xfa, //0x000025f0 cmpq %rdi, %rdx + 0x0f, 0x8d, 0x23, 0x00, 0x00, 0x00, //0x000025f3 jge LBB0_532 + 0x48, 0x8d, 0x0c, 0x89, //0x000025f9 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x1c, 0x14, //0x000025fd movsbq (%r12,%rdx), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x00002602 leaq $-48(%rbx,%rcx,2), %rcx + 0x48, 0xff, 0xc2, //0x00002607 incq %rdx + 0x49, 0x8d, 0x5a, 0x01, //0x0000260a leaq $1(%r10), %rbx + 0x48, 0x39, 0xd9, //0x0000260e cmpq %rbx, %rcx + 0x0f, 0x82, 0xd9, 0xff, 0xff, 0xff, //0x00002611 jb LBB0_530 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00002617 jmp LBB0_534 + //0x0000261c LBB0_532 + 0x48, 0x85, 0xc9, //0x0000261c testq %rcx, %rcx + 0x0f, 0x84, 0x1d, 0x01, 0x00, 0x00, //0x0000261f je LBB0_547 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002625 .p2align 4, 0x90 + //0x00002630 LBB0_533 + 0x48, 0x01, 0xc9, //0x00002630 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00002633 leaq (%rcx,%rcx,4), %rcx + 0xff, 0xc2, //0x00002637 incl %edx + 0x49, 0x8d, 0x7a, 0x01, //0x00002639 leaq $1(%r10), %rdi + 0x48, 0x39, 0xf9, //0x0000263d cmpq %rdi, %rcx + 0x0f, 0x82, 0xea, 0xff, 0xff, 0xff, //0x00002640 jb LBB0_533 + //0x00002646 LBB0_534 + 0x41, 0x29, 0xd1, //0x00002646 subl %edx, %r9d + 0x31, 0xff, //0x00002649 xorl %edi, %edi + 0x39, 0xf2, //0x0000264b cmpl %esi, %edx + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x0000264d jge LBB0_539 + 0x48, 0x63, 0xd2, //0x00002653 movslq %edx, %rdx + 0x49, 0x63, 0xf3, //0x00002656 movslq %r11d, %rsi + 0x49, 0x8d, 0x3c, 0x14, //0x00002659 leaq (%r12,%rdx), %rdi + 0x45, 0x31, 0xdb, //0x0000265d xorl %r11d, %r11d + //0x00002660 .p2align 4, 0x90 + //0x00002660 LBB0_536 + 0x48, 0x89, 0xcb, //0x00002660 movq %rcx, %rbx + 0x48, 0xc1, 0xeb, 0x3c, //0x00002663 shrq $60, %rbx + 0x4c, 0x21, 0xd1, //0x00002667 andq %r10, %rcx + 0x80, 0xcb, 0x30, //0x0000266a orb $48, %bl + 0x43, 0x88, 0x1c, 0x1c, //0x0000266d movb %bl, (%r12,%r11) + 0x48, 0x8d, 0x0c, 0x89, //0x00002671 leaq (%rcx,%rcx,4), %rcx + 0x4a, 0x0f, 0xbe, 0x1c, 0x1f, //0x00002675 movsbq (%rdi,%r11), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x0000267a leaq $-48(%rbx,%rcx,2), %rcx + 0x4a, 0x8d, 0x5c, 0x1a, 0x01, //0x0000267f leaq $1(%rdx,%r11), %rbx + 0x49, 0xff, 0xc3, //0x00002684 incq %r11 + 0x48, 0x39, 0xf3, //0x00002687 cmpq %rsi, %rbx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x0000268a jl LBB0_536 + 0x48, 0x85, 0xc9, //0x00002690 testq %rcx, %rcx + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x00002693 je LBB0_543 + 0x44, 0x89, 0xdf, //0x00002699 movl %r11d, %edi + //0x0000269c LBB0_539 + 0x41, 0x89, 0xfb, //0x0000269c movl %edi, %r11d + 0xe9, 0x28, 0x00, 0x00, 0x00, //0x0000269f jmp LBB0_541 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000026a4 .p2align 4, 0x90 + //0x000026b0 LBB0_540 + 0x48, 0x85, 0xd2, //0x000026b0 testq %rdx, %rdx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x000026b3 movl $1, %edx + 0x44, 0x0f, 0x45, 0xf2, //0x000026b8 cmovnel %edx, %r14d + 0x48, 0x01, 0xc9, //0x000026bc addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x000026bf leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x000026c3 testq %rcx, %rcx + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x000026c6 je LBB0_543 + //0x000026cc LBB0_541 + 0x48, 0x89, 0xca, //0x000026cc movq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x3c, //0x000026cf shrq $60, %rdx + 0x4c, 0x21, 0xd1, //0x000026d3 andq %r10, %rcx + 0x49, 0x63, 0xf3, //0x000026d6 movslq %r11d, %rsi + 0x49, 0x39, 0xf7, //0x000026d9 cmpq %rsi, %r15 + 0x0f, 0x86, 0xce, 0xff, 0xff, 0xff, //0x000026dc jbe LBB0_540 + 0x80, 0xca, 0x30, //0x000026e2 orb $48, %dl + 0x41, 0x88, 0x14, 0x34, //0x000026e5 movb %dl, (%r12,%rsi) + 0xff, 0xc6, //0x000026e9 incl %esi + 0x41, 0x89, 0xf3, //0x000026eb movl %esi, %r11d + 0x48, 0x01, 0xc9, //0x000026ee addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x000026f1 leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x000026f5 testq %rcx, %rcx + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x000026f8 jne LBB0_541 + //0x000026fe LBB0_543 + 0x41, 0xff, 0xc1, //0x000026fe incl %r9d + 0x45, 0x85, 0xdb, //0x00002701 testl %r11d, %r11d + 0x0f, 0x8e, 0xb6, 0xfe, 0xff, 0xff, //0x00002704 jle LBB0_527 + 0x44, 0x89, 0xd9, //0x0000270a movl %r11d, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x0000270d cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0xae, 0xfe, 0xff, 0xff, //0x00002713 jne LBB0_528 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002719 .p2align 4, 0x90 + //0x00002720 LBB0_545 + 0x48, 0x83, 0xf9, 0x01, //0x00002720 cmpq $1, %rcx + 0x0f, 0x8e, 0x91, 0xfe, 0xff, 0xff, //0x00002724 jle LBB0_526 + 0x4c, 0x8d, 0x59, 0xff, //0x0000272a leaq $-1(%rcx), %r11 + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x0000272e cmpb $48, $-2(%r12,%rcx) + 0x4c, 0x89, 0xd9, //0x00002734 movq %r11, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002737 je LBB0_545 + 0xe9, 0x85, 0xfe, 0xff, 0xff, //0x0000273d jmp LBB0_528 + //0x00002742 LBB0_547 + 0x45, 0x31, 0xdb, //0x00002742 xorl %r11d, %r11d + 0xe9, 0x7d, 0xfe, 0xff, 0xff, //0x00002745 jmp LBB0_528 + //0x0000274a LBB0_548 + 0x44, 0x89, 0xde, //0x0000274a movl %r11d, %esi + 0x44, 0x89, 0xd8, //0x0000274d movl %r11d, %eax + 0x45, 0x85, 0xc0, //0x00002750 testl %r8d, %r8d + 0x0f, 0x84, 0xad, 0xf9, 0xff, 0xff, //0x00002753 je LBB0_456 + //0x00002759 LBB0_549 + 0x41, 0xf7, 0xd8, //0x00002759 negl %r8d + 0x48, 0x63, 0xfe, //0x0000275c movslq %esi, %rdi + 0x31, 0xd2, //0x0000275f xorl %edx, %edx + 0x31, 0xc0, //0x00002761 xorl %eax, %eax + //0x00002763 LBB0_550 + 0x48, 0x39, 0xfa, //0x00002763 cmpq %rdi, %rdx + 0x0f, 0x8d, 0x28, 0x00, 0x00, 0x00, //0x00002766 jge LBB0_552 + 0x48, 0x8d, 0x04, 0x80, //0x0000276c leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x14, //0x00002770 movsbq (%r12,%rdx), %rcx + 0x48, 0x8d, 0x44, 0x41, 0xd0, //0x00002775 leaq $-48(%rcx,%rax,2), %rax + 0x48, 0xff, 0xc2, //0x0000277a incq %rdx + 0x48, 0x89, 0xc3, //0x0000277d movq %rax, %rbx + 0x44, 0x89, 0xc1, //0x00002780 movl %r8d, %ecx + 0x48, 0xd3, 0xeb, //0x00002783 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00002786 testq %rbx, %rbx + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x00002789 je LBB0_550 + 0xe9, 0x2e, 0x00, 0x00, 0x00, //0x0000278f jmp LBB0_556 + //0x00002794 LBB0_552 + 0x48, 0x85, 0xc0, //0x00002794 testq %rax, %rax + 0x0f, 0x85, 0x13, 0x00, 0x00, 0x00, //0x00002797 jne LBB0_555 + 0x45, 0x31, 0xdb, //0x0000279d xorl %r11d, %r11d + 0x31, 0xc0, //0x000027a0 xorl %eax, %eax + 0xe9, 0x5f, 0xf9, 0xff, 0xff, //0x000027a2 jmp LBB0_456 + //0x000027a7 LBB0_554 + 0x48, 0x01, 0xc0, //0x000027a7 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x000027aa leaq (%rax,%rax,4), %rax + 0xff, 0xc2, //0x000027ae incl %edx + //0x000027b0 LBB0_555 + 0x48, 0x89, 0xc7, //0x000027b0 movq %rax, %rdi + 0x44, 0x89, 0xc1, //0x000027b3 movl %r8d, %ecx + 0x48, 0xd3, 0xef, //0x000027b6 shrq %cl, %rdi + 0x48, 0x85, 0xff, //0x000027b9 testq %rdi, %rdi + 0x0f, 0x84, 0xe5, 0xff, 0xff, 0xff, //0x000027bc je LBB0_554 + //0x000027c2 LBB0_556 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000027c2 movq $-1, %rbx + 0x44, 0x89, 0xc1, //0x000027c9 movl %r8d, %ecx + 0x48, 0xd3, 0xe3, //0x000027cc shlq %cl, %rbx + 0x48, 0xf7, 0xd3, //0x000027cf notq %rbx + 0x31, 0xff, //0x000027d2 xorl %edi, %edi + 0x39, 0xf2, //0x000027d4 cmpl %esi, %edx + 0x0f, 0x8d, 0x4b, 0x00, 0x00, 0x00, //0x000027d6 jge LBB0_560 + 0x4c, 0x89, 0x4d, 0xc8, //0x000027dc movq %r9, $-56(%rbp) + 0x4c, 0x63, 0xea, //0x000027e0 movslq %edx, %r13 + 0x4d, 0x63, 0xcb, //0x000027e3 movslq %r11d, %r9 + 0x4f, 0x8d, 0x1c, 0x2c, //0x000027e6 leaq (%r12,%r13), %r11 + 0x31, 0xff, //0x000027ea xorl %edi, %edi + //0x000027ec LBB0_558 + 0x48, 0x89, 0xc6, //0x000027ec movq %rax, %rsi + 0x44, 0x89, 0xc1, //0x000027ef movl %r8d, %ecx + 0x48, 0xd3, 0xee, //0x000027f2 shrq %cl, %rsi + 0x48, 0x21, 0xd8, //0x000027f5 andq %rbx, %rax + 0x40, 0x80, 0xc6, 0x30, //0x000027f8 addb $48, %sil + 0x41, 0x88, 0x34, 0x3c, //0x000027fc movb %sil, (%r12,%rdi) + 0x48, 0x8d, 0x04, 0x80, //0x00002800 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x3b, //0x00002804 movsbq (%r11,%rdi), %rcx + 0x48, 0x8d, 0x44, 0x41, 0xd0, //0x00002809 leaq $-48(%rcx,%rax,2), %rax + 0x49, 0x8d, 0x4c, 0x3d, 0x01, //0x0000280e leaq $1(%r13,%rdi), %rcx + 0x48, 0xff, 0xc7, //0x00002813 incq %rdi + 0x4c, 0x39, 0xc9, //0x00002816 cmpq %r9, %rcx + 0x0f, 0x8c, 0xcd, 0xff, 0xff, 0xff, //0x00002819 jl LBB0_558 + 0x4c, 0x8b, 0x6d, 0xd0, //0x0000281f movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xc8, //0x00002823 movq $-56(%rbp), %r9 + //0x00002827 LBB0_560 + 0x41, 0x29, 0xd1, //0x00002827 subl %edx, %r9d + 0x41, 0x89, 0xfb, //0x0000282a movl %edi, %r11d + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x0000282d jmp LBB0_563 + //0x00002832 LBB0_561 + 0x48, 0x85, 0xd2, //0x00002832 testq %rdx, %rdx + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00002835 movl $1, %ecx + 0x44, 0x0f, 0x45, 0xf1, //0x0000283a cmovnel %ecx, %r14d + //0x0000283e LBB0_562 + 0x48, 0x01, 0xc0, //0x0000283e addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00002841 leaq (%rax,%rax,4), %rax + //0x00002845 LBB0_563 + 0x48, 0x85, 0xc0, //0x00002845 testq %rax, %rax + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00002848 je LBB0_566 + 0x48, 0x89, 0xc2, //0x0000284e movq %rax, %rdx + 0x44, 0x89, 0xc1, //0x00002851 movl %r8d, %ecx + 0x48, 0xd3, 0xea, //0x00002854 shrq %cl, %rdx + 0x48, 0x21, 0xd8, //0x00002857 andq %rbx, %rax + 0x49, 0x63, 0xcb, //0x0000285a movslq %r11d, %rcx + 0x49, 0x39, 0xcf, //0x0000285d cmpq %rcx, %r15 + 0x0f, 0x86, 0xcc, 0xff, 0xff, 0xff, //0x00002860 jbe LBB0_561 + 0x80, 0xc2, 0x30, //0x00002866 addb $48, %dl + 0x41, 0x88, 0x14, 0x0c, //0x00002869 movb %dl, (%r12,%rcx) + 0xff, 0xc1, //0x0000286d incl %ecx + 0x41, 0x89, 0xcb, //0x0000286f movl %ecx, %r11d + 0xe9, 0xc7, 0xff, 0xff, 0xff, //0x00002872 jmp LBB0_562 + //0x00002877 LBB0_566 + 0x41, 0xff, 0xc1, //0x00002877 incl %r9d + 0x45, 0x85, 0xdb, //0x0000287a testl %r11d, %r11d + 0x0f, 0x8e, 0x36, 0x00, 0x00, 0x00, //0x0000287d jle LBB0_571 + 0x44, 0x89, 0xd8, //0x00002883 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00002886 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x2e, 0x00, 0x00, 0x00, //0x0000288c jne LBB0_572 + //0x00002892 LBB0_568 + 0x48, 0x83, 0xf8, 0x01, //0x00002892 cmpq $1, %rax + 0x0f, 0x8e, 0x18, 0x00, 0x00, 0x00, //0x00002896 jle LBB0_570 + 0x4c, 0x8d, 0x58, 0xff, //0x0000289c leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x000028a0 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x000028a6 movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x000028a9 je LBB0_568 + 0xe9, 0x0c, 0x00, 0x00, 0x00, //0x000028af jmp LBB0_572 + //0x000028b4 LBB0_570 + 0xff, 0xc8, //0x000028b4 decl %eax + 0x41, 0x89, 0xc3, //0x000028b6 movl %eax, %r11d + //0x000028b9 LBB0_571 + 0x45, 0x85, 0xdb, //0x000028b9 testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x000028bc cmovel %r11d, %r9d + //0x000028c0 LBB0_572 + 0x44, 0x89, 0xd8, //0x000028c0 movl %r11d, %eax + 0xe9, 0x3e, 0xf8, 0xff, 0xff, //0x000028c3 jmp LBB0_456 + //0x000028c8 LBB0_573 + 0x81, 0xff, 0x02, 0xfc, 0xff, 0xff, //0x000028c8 cmpl $-1022, %edi + 0x4c, 0x89, 0x4d, 0xc8, //0x000028ce movq %r9, $-56(%rbp) + 0x0f, 0x8f, 0x9c, 0x01, 0x00, 0x00, //0x000028d2 jg LBB0_599 + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x000028d8 movl $-1022, %r9d + 0x85, 0xf6, //0x000028de testl %esi, %esi + 0x0f, 0x84, 0xb5, 0x01, 0x00, 0x00, //0x000028e0 je LBB0_602 + 0x8d, 0x8f, 0xfd, 0x03, 0x00, 0x00, //0x000028e6 leal $1021(%rdi), %ecx + 0x81, 0xff, 0xc6, 0xfb, 0xff, 0xff, //0x000028ec cmpl $-1082, %edi + 0x0f, 0x8f, 0xb5, 0x01, 0x00, 0x00, //0x000028f2 jg LBB0_605 + 0x49, 0x8d, 0x42, 0x01, //0x000028f8 leaq $1(%r10), %rax + 0x41, 0xbd, 0x01, 0x00, 0x00, 0x00, //0x000028fc movl $1, %r13d + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00002902 jmp LBB0_580 + //0x00002907 LBB0_577 + 0xff, 0xc9, //0x00002907 decl %ecx + 0x41, 0x89, 0xcb, //0x00002909 movl %ecx, %r11d + //0x0000290c LBB0_578 + 0x45, 0x85, 0xdb, //0x0000290c testl %r11d, %r11d + 0x48, 0x8b, 0x4d, 0xc8, //0x0000290f movq $-56(%rbp), %rcx + 0x41, 0x0f, 0x44, 0xcb, //0x00002913 cmovel %r11d, %ecx + 0x48, 0x89, 0x4d, 0xc8, //0x00002917 movq %rcx, $-56(%rbp) + //0x0000291b LBB0_579 + 0x41, 0x8d, 0x48, 0x3c, //0x0000291b leal $60(%r8), %ecx + 0x44, 0x89, 0xde, //0x0000291f movl %r11d, %esi + 0x41, 0x83, 0xf8, 0x88, //0x00002922 cmpl $-120, %r8d + 0x0f, 0x8d, 0x76, 0x01, 0x00, 0x00, //0x00002926 jge LBB0_603 + //0x0000292c LBB0_580 + 0x41, 0x89, 0xc8, //0x0000292c movl %ecx, %r8d + 0x48, 0x63, 0xde, //0x0000292f movslq %esi, %rbx + 0x31, 0xff, //0x00002932 xorl %edi, %edi + 0x31, 0xc9, //0x00002934 xorl %ecx, %ecx + //0x00002936 LBB0_581 + 0x48, 0x39, 0xdf, //0x00002936 cmpq %rbx, %rdi + 0x0f, 0x8d, 0x1f, 0x00, 0x00, 0x00, //0x00002939 jge LBB0_583 + 0x48, 0x8d, 0x0c, 0x89, //0x0000293f leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x14, 0x3c, //0x00002943 movsbq (%r12,%rdi), %rdx + 0x48, 0x8d, 0x4c, 0x4a, 0xd0, //0x00002948 leaq $-48(%rdx,%rcx,2), %rcx + 0x48, 0xff, 0xc7, //0x0000294d incq %rdi + 0x48, 0x39, 0xc1, //0x00002950 cmpq %rax, %rcx + 0x0f, 0x82, 0xdd, 0xff, 0xff, 0xff, //0x00002953 jb LBB0_581 + 0xe9, 0x1b, 0x00, 0x00, 0x00, //0x00002959 jmp LBB0_585 + //0x0000295e LBB0_583 + 0x48, 0x85, 0xc9, //0x0000295e testq %rcx, %rcx + 0x0f, 0x84, 0x05, 0x01, 0x00, 0x00, //0x00002961 je LBB0_598 + //0x00002967 LBB0_584 + 0x48, 0x01, 0xc9, //0x00002967 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x0000296a leaq (%rcx,%rcx,4), %rcx + 0xff, 0xc7, //0x0000296e incl %edi + 0x48, 0x39, 0xc1, //0x00002970 cmpq %rax, %rcx + 0x0f, 0x82, 0xee, 0xff, 0xff, 0xff, //0x00002973 jb LBB0_584 + //0x00002979 LBB0_585 + 0x48, 0x8b, 0x55, 0xc8, //0x00002979 movq $-56(%rbp), %rdx + 0x29, 0xfa, //0x0000297d subl %edi, %edx + 0x48, 0x89, 0x55, 0xc8, //0x0000297f movq %rdx, $-56(%rbp) + 0x31, 0xdb, //0x00002983 xorl %ebx, %ebx + 0x39, 0xf7, //0x00002985 cmpl %esi, %edi + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x00002987 jge LBB0_590 + 0x48, 0x63, 0xf7, //0x0000298d movslq %edi, %rsi + 0x49, 0x63, 0xfb, //0x00002990 movslq %r11d, %rdi + 0x49, 0x8d, 0x1c, 0x34, //0x00002993 leaq (%r12,%rsi), %rbx + 0x45, 0x31, 0xdb, //0x00002997 xorl %r11d, %r11d + //0x0000299a LBB0_587 + 0x48, 0x89, 0xca, //0x0000299a movq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x3c, //0x0000299d shrq $60, %rdx + 0x4c, 0x21, 0xd1, //0x000029a1 andq %r10, %rcx + 0x80, 0xca, 0x30, //0x000029a4 orb $48, %dl + 0x43, 0x88, 0x14, 0x1c, //0x000029a7 movb %dl, (%r12,%r11) + 0x48, 0x8d, 0x0c, 0x89, //0x000029ab leaq (%rcx,%rcx,4), %rcx + 0x4a, 0x0f, 0xbe, 0x14, 0x1b, //0x000029af movsbq (%rbx,%r11), %rdx + 0x48, 0x8d, 0x4c, 0x4a, 0xd0, //0x000029b4 leaq $-48(%rdx,%rcx,2), %rcx + 0x4a, 0x8d, 0x54, 0x1e, 0x01, //0x000029b9 leaq $1(%rsi,%r11), %rdx + 0x49, 0xff, 0xc3, //0x000029be incq %r11 + 0x48, 0x39, 0xfa, //0x000029c1 cmpq %rdi, %rdx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x000029c4 jl LBB0_587 + 0x48, 0x85, 0xc9, //0x000029ca testq %rcx, %rcx + 0x0f, 0x84, 0x55, 0x00, 0x00, 0x00, //0x000029cd je LBB0_594 + 0x44, 0x89, 0xdb, //0x000029d3 movl %r11d, %ebx + //0x000029d6 LBB0_590 + 0x41, 0x89, 0xdb, //0x000029d6 movl %ebx, %r11d + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x000029d9 jmp LBB0_592 + //0x000029de LBB0_591 + 0x48, 0x85, 0xf6, //0x000029de testq %rsi, %rsi + 0x45, 0x0f, 0x45, 0xf5, //0x000029e1 cmovnel %r13d, %r14d + 0x48, 0x01, 0xc9, //0x000029e5 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x000029e8 leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x000029ec testq %rcx, %rcx + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x000029ef je LBB0_594 + //0x000029f5 LBB0_592 + 0x48, 0x89, 0xce, //0x000029f5 movq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x3c, //0x000029f8 shrq $60, %rsi + 0x4c, 0x21, 0xd1, //0x000029fc andq %r10, %rcx + 0x49, 0x63, 0xfb, //0x000029ff movslq %r11d, %rdi + 0x49, 0x39, 0xff, //0x00002a02 cmpq %rdi, %r15 + 0x0f, 0x86, 0xd3, 0xff, 0xff, 0xff, //0x00002a05 jbe LBB0_591 + 0x40, 0x80, 0xce, 0x30, //0x00002a0b orb $48, %sil + 0x41, 0x88, 0x34, 0x3c, //0x00002a0f movb %sil, (%r12,%rdi) + 0xff, 0xc7, //0x00002a13 incl %edi + 0x41, 0x89, 0xfb, //0x00002a15 movl %edi, %r11d + 0x48, 0x01, 0xc9, //0x00002a18 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00002a1b leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00002a1f testq %rcx, %rcx + 0x0f, 0x85, 0xcd, 0xff, 0xff, 0xff, //0x00002a22 jne LBB0_592 + //0x00002a28 LBB0_594 + 0x48, 0x8b, 0x4d, 0xc8, //0x00002a28 movq $-56(%rbp), %rcx + 0xff, 0xc1, //0x00002a2c incl %ecx + 0x48, 0x89, 0x4d, 0xc8, //0x00002a2e movq %rcx, $-56(%rbp) + 0x45, 0x85, 0xdb, //0x00002a32 testl %r11d, %r11d + 0x0f, 0x8e, 0xd1, 0xfe, 0xff, 0xff, //0x00002a35 jle LBB0_578 + 0x44, 0x89, 0xd9, //0x00002a3b movl %r11d, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x00002a3e cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0xd1, 0xfe, 0xff, 0xff, //0x00002a44 jne LBB0_579 + //0x00002a4a LBB0_596 + 0x48, 0x83, 0xf9, 0x01, //0x00002a4a cmpq $1, %rcx + 0x0f, 0x8e, 0xb3, 0xfe, 0xff, 0xff, //0x00002a4e jle LBB0_577 + 0x4c, 0x8d, 0x59, 0xff, //0x00002a54 leaq $-1(%rcx), %r11 + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x00002a58 cmpb $48, $-2(%r12,%rcx) + 0x4c, 0x89, 0xd9, //0x00002a5e movq %r11, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002a61 je LBB0_596 + 0xe9, 0xaf, 0xfe, 0xff, 0xff, //0x00002a67 jmp LBB0_579 + //0x00002a6c LBB0_598 + 0x45, 0x31, 0xdb, //0x00002a6c xorl %r11d, %r11d + 0xe9, 0xa7, 0xfe, 0xff, 0xff, //0x00002a6f jmp LBB0_579 + //0x00002a74 LBB0_599 + 0x81, 0xff, 0x00, 0x04, 0x00, 0x00, //0x00002a74 cmpl $1024, %edi + 0x0f, 0x8e, 0x11, 0x00, 0x00, 0x00, //0x00002a7a jle LBB0_601 + 0x31, 0xff, //0x00002a80 xorl %edi, %edi + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00002a82 movabsq $9218868437227405312, %r9 + 0xe9, 0xd4, 0x04, 0x00, 0x00, //0x00002a8c jmp LBB0_688 + //0x00002a91 LBB0_601 + 0xff, 0xcf, //0x00002a91 decl %edi + 0x41, 0x89, 0xf9, //0x00002a93 movl %edi, %r9d + 0xe9, 0x87, 0x01, 0x00, 0x00, //0x00002a96 jmp LBB0_621 + //0x00002a9b LBB0_602 + 0x31, 0xc0, //0x00002a9b xorl %eax, %eax + 0xe9, 0x72, 0x03, 0x00, 0x00, //0x00002a9d jmp LBB0_662 + //0x00002aa2 LBB0_603 + 0x85, 0xc9, //0x00002aa2 testl %ecx, %ecx + 0x0f, 0x84, 0x6f, 0x01, 0x00, 0x00, //0x00002aa4 je LBB0_620 + 0x44, 0x89, 0xde, //0x00002aaa movl %r11d, %esi + //0x00002aad LBB0_605 + 0xf7, 0xd9, //0x00002aad negl %ecx + 0x48, 0x63, 0xfe, //0x00002aaf movslq %esi, %rdi + 0x31, 0xd2, //0x00002ab2 xorl %edx, %edx + 0x31, 0xc0, //0x00002ab4 xorl %eax, %eax + //0x00002ab6 LBB0_606 + 0x48, 0x39, 0xfa, //0x00002ab6 cmpq %rdi, %rdx + 0x0f, 0x8d, 0x25, 0x00, 0x00, 0x00, //0x00002ab9 jge LBB0_623 + 0x48, 0x8d, 0x04, 0x80, //0x00002abf leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x1c, 0x14, //0x00002ac3 movsbq (%r12,%rdx), %rbx + 0x48, 0x8d, 0x44, 0x43, 0xd0, //0x00002ac8 leaq $-48(%rbx,%rax,2), %rax + 0x48, 0xff, 0xc2, //0x00002acd incq %rdx + 0x48, 0x89, 0xc3, //0x00002ad0 movq %rax, %rbx + 0x48, 0xd3, 0xeb, //0x00002ad3 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00002ad6 testq %rbx, %rbx + 0x0f, 0x84, 0xd7, 0xff, 0xff, 0xff, //0x00002ad9 je LBB0_606 + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x00002adf jmp LBB0_608 + //0x00002ae4 LBB0_623 + 0x48, 0x85, 0xc0, //0x00002ae4 testq %rax, %rax + 0x0f, 0x84, 0x45, 0x01, 0x00, 0x00, //0x00002ae7 je LBB0_626 + 0x48, 0x89, 0xc7, //0x00002aed movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00002af0 shrq %cl, %rdi + 0x48, 0x85, 0xff, //0x00002af3 testq %rdi, %rdi + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x00002af6 jne LBB0_608 + //0x00002afc LBB0_625 + 0x48, 0x01, 0xc0, //0x00002afc addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00002aff leaq (%rax,%rax,4), %rax + 0xff, 0xc2, //0x00002b03 incl %edx + 0x48, 0x89, 0xc7, //0x00002b05 movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00002b08 shrq %cl, %rdi + 0x48, 0x85, 0xff, //0x00002b0b testq %rdi, %rdi + 0x0f, 0x84, 0xe8, 0xff, 0xff, 0xff, //0x00002b0e je LBB0_625 + //0x00002b14 LBB0_608 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00002b14 movq $-1, %rbx + 0x48, 0xd3, 0xe3, //0x00002b1b shlq %cl, %rbx + 0x48, 0xf7, 0xd3, //0x00002b1e notq %rbx + 0x45, 0x31, 0xc0, //0x00002b21 xorl %r8d, %r8d + 0x39, 0xf2, //0x00002b24 cmpl %esi, %edx + 0x0f, 0x8d, 0x3d, 0x00, 0x00, 0x00, //0x00002b26 jge LBB0_611 + 0x4c, 0x63, 0xd2, //0x00002b2c movslq %edx, %r10 + 0x4d, 0x63, 0xcb, //0x00002b2f movslq %r11d, %r9 + 0x4b, 0x8d, 0x3c, 0x14, //0x00002b32 leaq (%r12,%r10), %rdi + 0x45, 0x31, 0xc0, //0x00002b36 xorl %r8d, %r8d + //0x00002b39 LBB0_610 + 0x48, 0x89, 0xc6, //0x00002b39 movq %rax, %rsi + 0x48, 0xd3, 0xee, //0x00002b3c shrq %cl, %rsi + 0x48, 0x21, 0xd8, //0x00002b3f andq %rbx, %rax + 0x40, 0x80, 0xc6, 0x30, //0x00002b42 addb $48, %sil + 0x43, 0x88, 0x34, 0x04, //0x00002b46 movb %sil, (%r12,%r8) + 0x48, 0x8d, 0x04, 0x80, //0x00002b4a leaq (%rax,%rax,4), %rax + 0x4a, 0x0f, 0xbe, 0x34, 0x07, //0x00002b4e movsbq (%rdi,%r8), %rsi + 0x48, 0x8d, 0x44, 0x46, 0xd0, //0x00002b53 leaq $-48(%rsi,%rax,2), %rax + 0x4b, 0x8d, 0x74, 0x02, 0x01, //0x00002b58 leaq $1(%r10,%r8), %rsi + 0x49, 0xff, 0xc0, //0x00002b5d incq %r8 + 0x4c, 0x39, 0xce, //0x00002b60 cmpq %r9, %rsi + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00002b63 jl LBB0_610 + //0x00002b69 LBB0_611 + 0x48, 0x8b, 0x75, 0xc8, //0x00002b69 movq $-56(%rbp), %rsi + 0x29, 0xd6, //0x00002b6d subl %edx, %esi + 0x48, 0x89, 0x75, 0xc8, //0x00002b6f movq %rsi, $-56(%rbp) + 0x48, 0x85, 0xc0, //0x00002b73 testq %rax, %rax + 0x0f, 0x84, 0x58, 0x00, 0x00, 0x00, //0x00002b76 je LBB0_616 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00002b7c movl $1, %r9d + 0x48, 0x8b, 0x55, 0xa8, //0x00002b82 movq $-88(%rbp), %rdx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002b86 jmp LBB0_614 + //0x00002b8b LBB0_613 + 0x48, 0x85, 0xf6, //0x00002b8b testq %rsi, %rsi + 0x45, 0x0f, 0x45, 0xf1, //0x00002b8e cmovnel %r9d, %r14d + 0x48, 0x01, 0xc0, //0x00002b92 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00002b95 leaq (%rax,%rax,4), %rax + 0x48, 0x85, 0xc0, //0x00002b99 testq %rax, %rax + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x00002b9c je LBB0_616 + //0x00002ba2 LBB0_614 + 0x48, 0x89, 0xc6, //0x00002ba2 movq %rax, %rsi + 0x48, 0xd3, 0xee, //0x00002ba5 shrq %cl, %rsi + 0x48, 0x21, 0xd8, //0x00002ba8 andq %rbx, %rax + 0x49, 0x63, 0xf8, //0x00002bab movslq %r8d, %rdi + 0x48, 0x39, 0xfa, //0x00002bae cmpq %rdi, %rdx + 0x0f, 0x86, 0xd4, 0xff, 0xff, 0xff, //0x00002bb1 jbe LBB0_613 + 0x40, 0x80, 0xc6, 0x30, //0x00002bb7 addb $48, %sil + 0x41, 0x88, 0x34, 0x3c, //0x00002bbb movb %sil, (%r12,%rdi) + 0xff, 0xc7, //0x00002bbf incl %edi + 0x41, 0x89, 0xf8, //0x00002bc1 movl %edi, %r8d + 0x48, 0x01, 0xc0, //0x00002bc4 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00002bc7 leaq (%rax,%rax,4), %rax + 0x48, 0x85, 0xc0, //0x00002bcb testq %rax, %rax + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x00002bce jne LBB0_614 + //0x00002bd4 LBB0_616 + 0x48, 0x8b, 0x45, 0xc8, //0x00002bd4 movq $-56(%rbp), %rax + 0xff, 0xc0, //0x00002bd8 incl %eax + 0x48, 0x89, 0x45, 0xc8, //0x00002bda movq %rax, $-56(%rbp) + 0x45, 0x85, 0xc0, //0x00002bde testl %r8d, %r8d + 0x0f, 0x8e, 0x57, 0x00, 0x00, 0x00, //0x00002be1 jle LBB0_634 + 0x44, 0x89, 0xc0, //0x00002be7 movl %r8d, %eax + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x00002bea movl $-1022, %r9d + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00002bf0 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x51, 0x00, 0x00, 0x00, //0x00002bf6 jne LBB0_635 + //0x00002bfc LBB0_618 + 0x48, 0x83, 0xf8, 0x01, //0x00002bfc cmpq $1, %rax + 0x0f, 0x8e, 0x33, 0x00, 0x00, 0x00, //0x00002c00 jle LBB0_633 + 0x4c, 0x8d, 0x58, 0xff, //0x00002c06 leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00002c0a cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00002c10 movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002c13 je LBB0_618 + //0x00002c19 LBB0_620 + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x00002c19 movl $-1022, %r9d + 0x44, 0x89, 0xde, //0x00002c1f movl %r11d, %esi + //0x00002c22 LBB0_621 + 0x85, 0xf6, //0x00002c22 testl %esi, %esi + 0x0f, 0x84, 0x08, 0x00, 0x00, 0x00, //0x00002c24 je LBB0_626 + 0x45, 0x89, 0xd8, //0x00002c2a movl %r11d, %r8d + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00002c2d jmp LBB0_636 + //0x00002c32 LBB0_626 + 0x31, 0xc0, //0x00002c32 xorl %eax, %eax + 0xe9, 0xd7, 0x01, 0x00, 0x00, //0x00002c34 jmp LBB0_661 + //0x00002c39 LBB0_633 + 0xff, 0xc8, //0x00002c39 decl %eax + 0x41, 0x89, 0xc0, //0x00002c3b movl %eax, %r8d + //0x00002c3e LBB0_634 + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x00002c3e movl $-1022, %r9d + 0x45, 0x85, 0xc0, //0x00002c44 testl %r8d, %r8d + 0x0f, 0x84, 0xd1, 0x02, 0x00, 0x00, //0x00002c47 je LBB0_683 + //0x00002c4d LBB0_635 + 0x44, 0x89, 0xc6, //0x00002c4d movl %r8d, %esi + //0x00002c50 LBB0_636 + 0x4c, 0x63, 0xee, //0x00002c50 movslq %esi, %r13 + 0xb1, 0x31, //0x00002c53 movb $49, %cl + 0x31, 0xc0, //0x00002c55 xorl %eax, %eax + 0x41, 0xba, 0x10, 0x00, 0x00, 0x00, //0x00002c57 movl $16, %r10d + //0x00002c5d LBB0_637 + 0x48, 0x83, 0xf8, 0x26, //0x00002c5d cmpq $38, %rax + 0x0f, 0x84, 0x36, 0x00, 0x00, 0x00, //0x00002c61 je LBB0_641 + 0x41, 0x38, 0x0c, 0x04, //0x00002c67 cmpb %cl, (%r12,%rax) + 0x0f, 0x85, 0x35, 0x00, 0x00, 0x00, //0x00002c6b jne LBB0_642 + 0x48, 0x8d, 0x0d, 0xc8, 0x35, 0x00, 0x00, //0x00002c71 leaq $13768(%rip), %rcx /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0xb6, 0x8c, 0x08, 0x8d, 0x15, 0x00, 0x00, //0x00002c78 movzbl $5517(%rax,%rcx), %ecx + 0x48, 0xff, 0xc0, //0x00002c80 incq %rax + 0x49, 0x39, 0xc5, //0x00002c83 cmpq %rax, %r13 + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x00002c86 jne LBB0_637 + 0x84, 0xc9, //0x00002c8c testb %cl, %cl + 0x4c, 0x8b, 0x7d, 0xa8, //0x00002c8e movq $-88(%rbp), %r15 + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x00002c92 jne LBB0_643 + 0xe9, 0x19, 0x00, 0x00, 0x00, //0x00002c98 jmp LBB0_644 + //0x00002c9d LBB0_641 + 0x4c, 0x8b, 0x7d, 0xa8, //0x00002c9d movq $-88(%rbp), %r15 + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00002ca1 jmp LBB0_644 + //0x00002ca6 LBB0_642 + 0x4c, 0x8b, 0x7d, 0xa8, //0x00002ca6 movq $-88(%rbp), %r15 + 0x0f, 0x8d, 0x06, 0x00, 0x00, 0x00, //0x00002caa jge LBB0_644 + //0x00002cb0 LBB0_643 + 0x41, 0xba, 0x0f, 0x00, 0x00, 0x00, //0x00002cb0 movl $15, %r10d + //0x00002cb6 LBB0_644 + 0x85, 0xf6, //0x00002cb6 testl %esi, %esi + 0x0f, 0x8e, 0xf6, 0x00, 0x00, 0x00, //0x00002cb8 jle LBB0_655 + 0x44, 0x01, 0xd6, //0x00002cbe addl %r10d, %esi + 0x48, 0x63, 0xfe, //0x00002cc1 movslq %esi, %rdi + 0x48, 0xff, 0xcf, //0x00002cc4 decq %rdi + 0x49, 0xff, 0xc5, //0x00002cc7 incq %r13 + 0x31, 0xc9, //0x00002cca xorl %ecx, %ecx + 0x49, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00002ccc movabsq $-432345564227567616, %r11 + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00002cd6 jmp LBB0_648 + //0x00002cdb LBB0_646 + 0x48, 0x85, 0xc0, //0x00002cdb testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00002cde movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00002ce3 cmovnel %eax, %r14d + //0x00002ce7 LBB0_647 + 0xff, 0xce, //0x00002ce7 decl %esi + 0x48, 0xff, 0xcf, //0x00002ce9 decq %rdi + 0x49, 0xff, 0xcd, //0x00002cec decq %r13 + 0x49, 0x83, 0xfd, 0x01, //0x00002cef cmpq $1, %r13 + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00002cf3 jle LBB0_650 + //0x00002cf9 LBB0_648 + 0x4b, 0x0f, 0xbe, 0x5c, 0x2c, 0xfe, //0x00002cf9 movsbq $-2(%r12,%r13), %rbx + 0x48, 0xc1, 0xe3, 0x35, //0x00002cff shlq $53, %rbx + 0x48, 0x01, 0xcb, //0x00002d03 addq %rcx, %rbx + 0x4c, 0x01, 0xdb, //0x00002d06 addq %r11, %rbx + 0x48, 0x89, 0xd8, //0x00002d09 movq %rbx, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002d0c movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00002d16 mulq %rcx + 0x48, 0x89, 0xd1, //0x00002d19 movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x00002d1c shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00002d20 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00002d24 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x00002d28 movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x00002d2b subq %rdx, %rax + 0x4c, 0x39, 0xff, //0x00002d2e cmpq %r15, %rdi + 0x0f, 0x83, 0xa4, 0xff, 0xff, 0xff, //0x00002d31 jae LBB0_646 + 0x04, 0x30, //0x00002d37 addb $48, %al + 0x41, 0x88, 0x04, 0x3c, //0x00002d39 movb %al, (%r12,%rdi) + 0xe9, 0xa5, 0xff, 0xff, 0xff, //0x00002d3d jmp LBB0_647 + //0x00002d42 LBB0_650 + 0x48, 0x83, 0xfb, 0x0a, //0x00002d42 cmpq $10, %rbx + 0x0f, 0x82, 0x68, 0x00, 0x00, 0x00, //0x00002d46 jb LBB0_655 + 0x48, 0x63, 0xf6, //0x00002d4c movslq %esi, %rsi + 0x48, 0xff, 0xce, //0x00002d4f decq %rsi + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x00002d52 movl $1, %edi + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002d57 jmp LBB0_653 + //0x00002d5c LBB0_652 + 0x48, 0x85, 0xc0, //0x00002d5c testq %rax, %rax + 0x44, 0x0f, 0x45, 0xf7, //0x00002d5f cmovnel %edi, %r14d + 0x48, 0xff, 0xce, //0x00002d63 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00002d66 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00002d6a movq %rdx, %rcx + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x00002d6d jbe LBB0_655 + //0x00002d73 LBB0_653 + 0x48, 0x89, 0xc8, //0x00002d73 movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002d76 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00002d80 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00002d83 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00002d87 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x1c, 0x80, //0x00002d8b leaq (%rax,%rax,4), %rbx + 0x48, 0x89, 0xc8, //0x00002d8f movq %rcx, %rax + 0x48, 0x29, 0xd8, //0x00002d92 subq %rbx, %rax + 0x4c, 0x39, 0xfe, //0x00002d95 cmpq %r15, %rsi + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x00002d98 jae LBB0_652 + 0x04, 0x30, //0x00002d9e addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00002da0 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x00002da4 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00002da7 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00002dab movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00002dae ja LBB0_653 + //0x00002db4 LBB0_655 + 0x45, 0x01, 0xd0, //0x00002db4 addl %r10d, %r8d + 0x49, 0x63, 0xc0, //0x00002db7 movslq %r8d, %rax + 0x49, 0x39, 0xc7, //0x00002dba cmpq %rax, %r15 + 0x41, 0x0f, 0x46, 0xc7, //0x00002dbd cmovbel %r15d, %eax + 0x48, 0x8b, 0x4d, 0xc8, //0x00002dc1 movq $-56(%rbp), %rcx + 0x44, 0x01, 0xd1, //0x00002dc5 addl %r10d, %ecx + 0x48, 0x89, 0x4d, 0xc8, //0x00002dc8 movq %rcx, $-56(%rbp) + 0x85, 0xc0, //0x00002dcc testl %eax, %eax + 0x0f, 0x8e, 0x34, 0x00, 0x00, 0x00, //0x00002dce jle LBB0_660 + 0x89, 0xc1, //0x00002dd4 movl %eax, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x00002dd6 cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0x2e, 0x00, 0x00, 0x00, //0x00002ddc jne LBB0_661 + //0x00002de2 LBB0_657 + 0x48, 0x83, 0xf9, 0x01, //0x00002de2 cmpq $1, %rcx + 0x0f, 0x8e, 0x18, 0x00, 0x00, 0x00, //0x00002de6 jle LBB0_659 + 0x48, 0x8d, 0x41, 0xff, //0x00002dec leaq $-1(%rcx), %rax + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x00002df0 cmpb $48, $-2(%r12,%rcx) + 0x48, 0x89, 0xc1, //0x00002df6 movq %rax, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002df9 je LBB0_657 + 0xe9, 0x0c, 0x00, 0x00, 0x00, //0x00002dff jmp LBB0_661 + //0x00002e04 LBB0_659 + 0xff, 0xc9, //0x00002e04 decl %ecx + 0x89, 0xc8, //0x00002e06 movl %ecx, %eax + //0x00002e08 LBB0_660 + 0x85, 0xc0, //0x00002e08 testl %eax, %eax + 0x0f, 0x84, 0x0e, 0x01, 0x00, 0x00, //0x00002e0a je LBB0_683 + //0x00002e10 LBB0_661 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00002e10 movq $-48(%rbp), %r13 + //0x00002e14 LBB0_662 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00002e14 movq $-80(%rbp), %r11 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002e18 movabsq $4503599627370495, %rcx + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00002e22 movq $-1, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00002e29 movq $-56(%rbp), %rsi + 0x83, 0xfe, 0x14, //0x00002e2d cmpl $20, %esi + 0x0f, 0x8f, 0x72, 0x01, 0x00, 0x00, //0x00002e30 jg LBB0_691 + 0x89, 0xf2, //0x00002e36 movl %esi, %edx + 0x85, 0xf6, //0x00002e38 testl %esi, %esi + 0x0f, 0x8e, 0x32, 0x00, 0x00, 0x00, //0x00002e3a jle LBB0_668 + 0x48, 0x63, 0xf0, //0x00002e40 movslq %eax, %rsi + 0x31, 0xff, //0x00002e43 xorl %edi, %edi + 0x31, 0xc9, //0x00002e45 xorl %ecx, %ecx + //0x00002e47 LBB0_665 + 0x48, 0x39, 0xf7, //0x00002e47 cmpq %rsi, %rdi + 0x0f, 0x8d, 0x1a, 0x00, 0x00, 0x00, //0x00002e4a jge LBB0_667 + 0x48, 0x8d, 0x0c, 0x89, //0x00002e50 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x1c, 0x3c, //0x00002e54 movsbq (%r12,%rdi), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x00002e59 leaq $-48(%rbx,%rcx,2), %rcx + 0x48, 0xff, 0xc7, //0x00002e5e incq %rdi + 0x48, 0x39, 0xfa, //0x00002e61 cmpq %rdi, %rdx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x00002e64 jne LBB0_665 + //0x00002e6a LBB0_667 + 0x45, 0x31, 0xc0, //0x00002e6a xorl %r8d, %r8d + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00002e6d jmp LBB0_669 + //0x00002e72 LBB0_668 + 0x31, 0xff, //0x00002e72 xorl %edi, %edi + 0x41, 0xb0, 0x01, //0x00002e74 movb $1, %r8b + 0x31, 0xc9, //0x00002e77 xorl %ecx, %ecx + //0x00002e79 LBB0_669 + 0x48, 0x8b, 0x75, 0xc8, //0x00002e79 movq $-56(%rbp), %rsi + 0x29, 0xfe, //0x00002e7d subl %edi, %esi + 0x0f, 0x8e, 0x4a, 0x00, 0x00, 0x00, //0x00002e7f jle LBB0_677 + 0x41, 0x89, 0xfa, //0x00002e85 movl %edi, %r10d + 0x41, 0xf7, 0xd2, //0x00002e88 notl %r10d + 0x44, 0x03, 0x55, 0xc8, //0x00002e8b addl $-56(%rbp), %r10d + 0x83, 0xe6, 0x07, //0x00002e8f andl $7, %esi + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00002e92 je LBB0_674 + 0xf7, 0xde, //0x00002e98 negl %esi + 0x31, 0xdb, //0x00002e9a xorl %ebx, %ebx + //0x00002e9c LBB0_672 + 0x48, 0x01, 0xc9, //0x00002e9c addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00002e9f leaq (%rcx,%rcx,4), %rcx + 0xff, 0xcb, //0x00002ea3 decl %ebx + 0x39, 0xde, //0x00002ea5 cmpl %ebx, %esi + 0x0f, 0x85, 0xef, 0xff, 0xff, 0xff, //0x00002ea7 jne LBB0_672 + 0x29, 0xdf, //0x00002ead subl %ebx, %edi + //0x00002eaf LBB0_674 + 0x41, 0x83, 0xfa, 0x07, //0x00002eaf cmpl $7, %r10d + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00002eb3 jb LBB0_677 + 0x48, 0x8b, 0x75, 0xc8, //0x00002eb9 movq $-56(%rbp), %rsi + 0x29, 0xfe, //0x00002ebd subl %edi, %esi + //0x00002ebf LBB0_676 + 0x48, 0x69, 0xc9, 0x00, 0xe1, 0xf5, 0x05, //0x00002ebf imulq $100000000, %rcx, %rcx + 0x83, 0xc6, 0xf8, //0x00002ec6 addl $-8, %esi + 0x0f, 0x85, 0xf0, 0xff, 0xff, 0xff, //0x00002ec9 jne LBB0_676 + //0x00002ecf LBB0_677 + 0x31, 0xff, //0x00002ecf xorl %edi, %edi + 0x48, 0x8b, 0x75, 0xc8, //0x00002ed1 movq $-56(%rbp), %rsi + 0x85, 0xf6, //0x00002ed5 testl %esi, %esi + 0x0f, 0x88, 0x51, 0x00, 0x00, 0x00, //0x00002ed7 js LBB0_685 + 0x39, 0xf0, //0x00002edd cmpl %esi, %eax + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00002edf jle LBB0_685 + 0x41, 0x8a, 0x14, 0x14, //0x00002ee5 movb (%r12,%rdx), %dl + 0xff, 0xc6, //0x00002ee9 incl %esi + 0x39, 0xc6, //0x00002eeb cmpl %eax, %esi + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x00002eed jne LBB0_684 + 0x80, 0xfa, 0x35, //0x00002ef3 cmpb $53, %dl + 0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x00002ef6 jne LBB0_684 + 0x45, 0x85, 0xf6, //0x00002efc testl %r14d, %r14d + 0x40, 0x0f, 0x95, 0xc7, //0x00002eff setne %dil + 0x41, 0x08, 0xf8, //0x00002f03 orb %dil, %r8b + 0x0f, 0x85, 0x22, 0x00, 0x00, 0x00, //0x00002f06 jne LBB0_685 + 0x48, 0x63, 0x45, 0xc8, //0x00002f0c movslq $-56(%rbp), %rax + 0x42, 0x8a, 0x7c, 0x20, 0xff, //0x00002f10 movb $-1(%rax,%r12), %dil + 0x40, 0x80, 0xe7, 0x01, //0x00002f15 andb $1, %dil + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00002f19 jmp LBB0_685 + //0x00002f1e LBB0_683 + 0x31, 0xc9, //0x00002f1e xorl %ecx, %ecx + 0x31, 0xff, //0x00002f20 xorl %edi, %edi + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00002f22 jmp LBB0_685 + //0x00002f27 LBB0_684 + 0x80, 0xfa, 0x34, //0x00002f27 cmpb $52, %dl + 0x40, 0x0f, 0x9f, 0xc7, //0x00002f2a setg %dil + //0x00002f2e LBB0_685 + 0x40, 0x0f, 0xb6, 0xff, //0x00002f2e movzbl %dil, %edi + 0x48, 0x01, 0xcf, //0x00002f32 addq %rcx, %rdi + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, //0x00002f35 movabsq $9007199254740992, %rax + 0x48, 0x39, 0xc7, //0x00002f3f cmpq %rax, %rdi + 0x0f, 0x85, 0x30, 0x00, 0x00, 0x00, //0x00002f42 jne LBB0_689 + 0x41, 0x81, 0xf9, 0xfe, 0x03, 0x00, 0x00, //0x00002f48 cmpl $1022, %r9d + 0x0f, 0x8e, 0x3a, 0x00, 0x00, 0x00, //0x00002f4f jle LBB0_690 + 0x31, 0xff, //0x00002f55 xorl %edi, %edi + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00002f57 movabsq $9218868437227405312, %r9 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00002f61 movq $-48(%rbp), %r13 + //0x00002f65 LBB0_688 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00002f65 movq $-80(%rbp), %r11 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002f69 movabsq $4503599627370495, %rcx + 0xe9, 0xbc, 0xe8, 0xff, 0xff, //0x00002f73 jmp LBB0_326 + //0x00002f78 LBB0_689 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00002f78 movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00002f7c movq $-80(%rbp), %r11 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002f80 movabsq $4503599627370495, %rcx + 0xe9, 0x19, 0x00, 0x00, 0x00, //0x00002f8a jmp LBB0_691 + //0x00002f8f LBB0_690 + 0x41, 0xff, 0xc1, //0x00002f8f incl %r9d + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002f92 movabsq $4503599627370495, %rcx + 0x48, 0x8d, 0x79, 0x01, //0x00002f9c leaq $1(%rcx), %rdi + 0x4c, 0x8b, 0x6d, 0xd0, //0x00002fa0 movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00002fa4 movq $-80(%rbp), %r11 + //0x00002fa8 LBB0_691 + 0x8a, 0x55, 0xa0, //0x00002fa8 movb $-96(%rbp), %dl + 0x48, 0x8d, 0x41, 0x01, //0x00002fab leaq $1(%rcx), %rax + 0x48, 0x21, 0xf8, //0x00002faf andq %rdi, %rax + 0x41, 0x81, 0xc1, 0xff, 0x03, 0x00, 0x00, //0x00002fb2 addl $1023, %r9d + 0x41, 0x81, 0xe1, 0xff, 0x07, 0x00, 0x00, //0x00002fb9 andl $2047, %r9d + 0x49, 0xc1, 0xe1, 0x34, //0x00002fc0 shlq $52, %r9 + 0x48, 0x85, 0xc0, //0x00002fc4 testq %rax, %rax + 0x4c, 0x0f, 0x44, 0xc8, //0x00002fc7 cmoveq %rax, %r9 + 0xe9, 0x67, 0xe8, 0xff, 0xff, //0x00002fcb jmp LBB0_327 + //0x00002fd0 LBB0_692 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002fd0 movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00002fd7 xorl %r15d, %r15d + 0x49, 0x83, 0xfc, 0x20, //0x00002fda cmpq $32, %r12 + 0x0f, 0x83, 0xa4, 0xe0, 0xff, 0xff, //0x00002fde jae LBB0_231 + 0xe9, 0xb8, 0x01, 0x00, 0x00, //0x00002fe4 jmp LBB0_717 + //0x00002fe9 LBB0_693 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002fe9 movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00002ff0 xorl %r15d, %r15d + 0x49, 0x83, 0xfc, 0x20, //0x00002ff3 cmpq $32, %r12 + 0x0f, 0x83, 0x4d, 0xe1, 0xff, 0xff, //0x00002ff7 jae LBB0_240 + 0xe9, 0x77, 0x00, 0x00, 0x00, //0x00002ffd jmp LBB0_701 + //0x00003002 LBB0_694 + 0x44, 0x89, 0xfa, //0x00003002 movl %r15d, %edx + 0xf7, 0xd2, //0x00003005 notl %edx + 0x21, 0xca, //0x00003007 andl %ecx, %edx + 0x44, 0x8d, 0x14, 0x12, //0x00003009 leal (%rdx,%rdx), %r10d + 0x45, 0x09, 0xfa, //0x0000300d orl %r15d, %r10d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00003010 movl $2863311530, %ebx + 0x44, 0x31, 0xd3, //0x00003015 xorl %r10d, %ebx + 0x21, 0xcb, //0x00003018 andl %ecx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000301a andl $-1431655766, %ebx + 0x45, 0x31, 0xff, //0x00003020 xorl %r15d, %r15d + 0x01, 0xd3, //0x00003023 addl %edx, %ebx + 0x41, 0x0f, 0x92, 0xc7, //0x00003025 setb %r15b + 0x01, 0xdb, //0x00003029 addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x0000302b xorl $1431655765, %ebx + 0x44, 0x21, 0xd3, //0x00003031 andl %r10d, %ebx + 0xf7, 0xd3, //0x00003034 notl %ebx + 0x21, 0xdf, //0x00003036 andl %ebx, %edi + 0x49, 0xc1, 0xe1, 0x10, //0x00003038 shlq $16, %r9 + 0x48, 0x85, 0xff, //0x0000303c testq %rdi, %rdi + 0x0f, 0x85, 0xa7, 0xe1, 0xff, 0xff, //0x0000303f jne LBB0_244 + //0x00003045 LBB0_695 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00003045 movl $64, %ecx + //0x0000304a LBB0_696 + 0x49, 0x09, 0xc1, //0x0000304a orq %rax, %r9 + 0x48, 0x85, 0xff, //0x0000304d testq %rdi, %rdi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00003050 je LBB0_699 + 0x4d, 0x85, 0xc9, //0x00003056 testq %r9, %r9 + 0x0f, 0x84, 0xa6, 0x00, 0x00, 0x00, //0x00003059 je LBB0_709 + 0x49, 0x0f, 0xbc, 0xc1, //0x0000305f bsfq %r9, %rax + 0xe9, 0xa2, 0x00, 0x00, 0x00, //0x00003063 jmp LBB0_710 + //0x00003068 LBB0_699 + 0x4d, 0x85, 0xc9, //0x00003068 testq %r9, %r9 + 0x0f, 0x85, 0xb0, 0x00, 0x00, 0x00, //0x0000306b jne LBB0_712 + 0x49, 0x83, 0xc5, 0x20, //0x00003071 addq $32, %r13 + 0x49, 0x83, 0xc4, 0xe0, //0x00003075 addq $-32, %r12 + //0x00003079 LBB0_701 + 0x4d, 0x85, 0xff, //0x00003079 testq %r15, %r15 + 0x0f, 0x85, 0xba, 0x01, 0x00, 0x00, //0x0000307c jne LBB0_727 + 0x4c, 0x89, 0xc0, //0x00003082 movq %r8, %rax + 0x4d, 0x85, 0xe4, //0x00003085 testq %r12, %r12 + 0x0f, 0x84, 0x1b, 0x02, 0x00, 0x00, //0x00003088 je LBB0_731 + //0x0000308e LBB0_703 + 0x41, 0x0f, 0xb6, 0x4d, 0x00, //0x0000308e movzbl (%r13), %ecx + 0x80, 0xf9, 0x22, //0x00003093 cmpb $34, %cl + 0x0f, 0x84, 0x95, 0x00, 0x00, 0x00, //0x00003096 je LBB0_713 + 0x80, 0xf9, 0x5c, //0x0000309c cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x0000309f je LBB0_707 + 0x80, 0xf9, 0x20, //0x000030a5 cmpb $32, %cl + 0x0f, 0x82, 0x73, 0x00, 0x00, 0x00, //0x000030a8 jb LBB0_712 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000030ae movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x000030b5 movl $1, %edx + 0x49, 0x01, 0xd5, //0x000030ba addq %rdx, %r13 + 0x49, 0x01, 0xcc, //0x000030bd addq %rcx, %r12 + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x000030c0 jne LBB0_703 + 0xe9, 0xde, 0x01, 0x00, 0x00, //0x000030c6 jmp LBB0_731 + //0x000030cb LBB0_707 + 0x49, 0x83, 0xfc, 0x01, //0x000030cb cmpq $1, %r12 + 0x0f, 0x84, 0xd4, 0x01, 0x00, 0x00, //0x000030cf je LBB0_731 + 0x4c, 0x89, 0xe9, //0x000030d5 movq %r13, %rcx + 0x48, 0x2b, 0x4d, 0xc0, //0x000030d8 subq $-64(%rbp), %rcx + 0x48, 0x83, 0xf8, 0xff, //0x000030dc cmpq $-1, %rax + 0x4c, 0x0f, 0x44, 0xc1, //0x000030e0 cmoveq %rcx, %r8 + 0x48, 0x0f, 0x44, 0xc1, //0x000030e4 cmoveq %rcx, %rax + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000030e8 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x000030ef movl $2, %edx + 0x49, 0x01, 0xd5, //0x000030f4 addq %rdx, %r13 + 0x49, 0x01, 0xcc, //0x000030f7 addq %rcx, %r12 + 0x0f, 0x85, 0x8e, 0xff, 0xff, 0xff, //0x000030fa jne LBB0_703 + 0xe9, 0xa4, 0x01, 0x00, 0x00, //0x00003100 jmp LBB0_731 + //0x00003105 LBB0_709 + 0xb8, 0x40, 0x00, 0x00, 0x00, //0x00003105 movl $64, %eax + //0x0000310a LBB0_710 + 0x48, 0x39, 0xc8, //0x0000310a cmpq %rcx, %rax + 0x0f, 0x82, 0x0e, 0x00, 0x00, 0x00, //0x0000310d jb LBB0_712 + 0x4c, 0x2b, 0x6d, 0xc0, //0x00003113 subq $-64(%rbp), %r13 + 0x4d, 0x8d, 0x5c, 0x0d, 0x01, //0x00003117 leaq $1(%r13,%rcx), %r11 + 0xe9, 0xe6, 0xdf, 0xff, 0xff, //0x0000311c jmp LBB0_237 + //0x00003121 LBB0_712 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00003121 movq $-2, %r11 + 0x48, 0x8b, 0x4d, 0xd0, //0x00003128 movq $-48(%rbp), %rcx + 0xe9, 0x83, 0x01, 0x00, 0x00, //0x0000312c jmp LBB0_732 + //0x00003131 LBB0_713 + 0x4c, 0x2b, 0x6d, 0xc0, //0x00003131 subq $-64(%rbp), %r13 + 0x49, 0xff, 0xc5, //0x00003135 incq %r13 + 0x4d, 0x89, 0xeb, //0x00003138 movq %r13, %r11 + 0xe9, 0xc7, 0xdf, 0xff, 0xff, //0x0000313b jmp LBB0_237 + //0x00003140 LBB0_714 + 0x4c, 0x89, 0xe9, //0x00003140 movq %r13, %rcx + 0x48, 0x2b, 0x4d, 0xc0, //0x00003143 subq $-64(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xc0, //0x00003147 bsfq %rax, %r8 + 0x49, 0x01, 0xc8, //0x0000314b addq %rcx, %r8 + 0x48, 0x09, 0xd7, //0x0000314e orq %rdx, %rdi + 0x48, 0x89, 0xc1, //0x00003151 movq %rax, %rcx + 0x4c, 0x09, 0xf9, //0x00003154 orq %r15, %rcx + 0x0f, 0x84, 0x94, 0xdf, 0xff, 0xff, //0x00003157 je LBB0_234 + //0x0000315d LBB0_715 + 0x44, 0x89, 0xf9, //0x0000315d movl %r15d, %ecx + 0xf7, 0xd1, //0x00003160 notl %ecx + 0x21, 0xc1, //0x00003162 andl %eax, %ecx + 0x8d, 0x14, 0x09, //0x00003164 leal (%rcx,%rcx), %edx + 0x44, 0x09, 0xfa, //0x00003167 orl %r15d, %edx + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000316a movl $2863311530, %ebx + 0x31, 0xd3, //0x0000316f xorl %edx, %ebx + 0x21, 0xc3, //0x00003171 andl %eax, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x00003173 andl $-1431655766, %ebx + 0x45, 0x31, 0xff, //0x00003179 xorl %r15d, %r15d + 0x01, 0xcb, //0x0000317c addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc7, //0x0000317e setb %r15b + 0x01, 0xdb, //0x00003182 addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x00003184 xorl $1431655765, %ebx + 0x21, 0xd3, //0x0000318a andl %edx, %ebx + 0xf7, 0xd3, //0x0000318c notl %ebx + 0x21, 0xdf, //0x0000318e andl %ebx, %edi + 0x48, 0x85, 0xff, //0x00003190 testq %rdi, %rdi + 0x0f, 0x85, 0x61, 0xdf, 0xff, 0xff, //0x00003193 jne LBB0_235 + //0x00003199 LBB0_716 + 0x49, 0x83, 0xc5, 0x20, //0x00003199 addq $32, %r13 + 0x49, 0x83, 0xc4, 0xe0, //0x0000319d addq $-32, %r12 + //0x000031a1 LBB0_717 + 0x4d, 0x85, 0xff, //0x000031a1 testq %r15, %r15 + 0x0f, 0x85, 0xcb, 0x00, 0x00, 0x00, //0x000031a4 jne LBB0_729 + 0x4d, 0x89, 0xc1, //0x000031aa movq %r8, %r9 + 0x4d, 0x85, 0xe4, //0x000031ad testq %r12, %r12 + 0x0f, 0x84, 0xf3, 0x00, 0x00, 0x00, //0x000031b0 je LBB0_731 + //0x000031b6 LBB0_719 + 0x48, 0x8b, 0x55, 0xc0, //0x000031b6 movq $-64(%rbp), %rdx + 0x48, 0xf7, 0xd2, //0x000031ba notq %rdx + //0x000031bd LBB0_720 + 0x4d, 0x8d, 0x5d, 0x01, //0x000031bd leaq $1(%r13), %r11 + 0x41, 0x0f, 0xb6, 0x45, 0x00, //0x000031c1 movzbl (%r13), %eax + 0x3c, 0x22, //0x000031c6 cmpb $34, %al + 0x0f, 0x84, 0x52, 0x00, 0x00, 0x00, //0x000031c8 je LBB0_725 + 0x49, 0x8d, 0x5c, 0x24, 0xff, //0x000031ce leaq $-1(%r12), %rbx + 0x3c, 0x5c, //0x000031d3 cmpb $92, %al + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000031d5 je LBB0_723 + 0x49, 0x89, 0xdc, //0x000031db movq %rbx, %r12 + 0x4d, 0x89, 0xdd, //0x000031de movq %r11, %r13 + 0x48, 0x85, 0xdb, //0x000031e1 testq %rbx, %rbx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x000031e4 jne LBB0_720 + 0xe9, 0xba, 0x00, 0x00, 0x00, //0x000031ea jmp LBB0_731 + //0x000031ef LBB0_723 + 0x48, 0x85, 0xdb, //0x000031ef testq %rbx, %rbx + 0x0f, 0x84, 0xb1, 0x00, 0x00, 0x00, //0x000031f2 je LBB0_731 + 0x49, 0x01, 0xd3, //0x000031f8 addq %rdx, %r11 + 0x49, 0x83, 0xf9, 0xff, //0x000031fb cmpq $-1, %r9 + 0x4d, 0x0f, 0x44, 0xc3, //0x000031ff cmoveq %r11, %r8 + 0x4d, 0x0f, 0x44, 0xcb, //0x00003203 cmoveq %r11, %r9 + 0x49, 0x83, 0xc5, 0x02, //0x00003207 addq $2, %r13 + 0x49, 0x83, 0xc4, 0xfe, //0x0000320b addq $-2, %r12 + 0x4c, 0x89, 0xe3, //0x0000320f movq %r12, %rbx + 0x48, 0x85, 0xdb, //0x00003212 testq %rbx, %rbx + 0x0f, 0x85, 0xa2, 0xff, 0xff, 0xff, //0x00003215 jne LBB0_720 + 0xe9, 0x89, 0x00, 0x00, 0x00, //0x0000321b jmp LBB0_731 + //0x00003220 LBB0_725 + 0x4c, 0x2b, 0x5d, 0xc0, //0x00003220 subq $-64(%rbp), %r11 + 0xe9, 0xde, 0xde, 0xff, 0xff, //0x00003224 jmp LBB0_237 + //0x00003229 LBB0_726 + 0x4c, 0x89, 0xe8, //0x00003229 movq %r13, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x0000322c subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc1, //0x00003230 bsfq %rcx, %r8 + 0x49, 0x01, 0xc0, //0x00003234 addq %rax, %r8 + 0xe9, 0x90, 0xdf, 0xff, 0xff, //0x00003237 jmp LBB0_242 + //0x0000323c LBB0_727 + 0x4d, 0x85, 0xe4, //0x0000323c testq %r12, %r12 + 0x0f, 0x84, 0x7a, 0x00, 0x00, 0x00, //0x0000323f je LBB0_733 + 0x48, 0x8b, 0x45, 0xc0, //0x00003245 movq $-64(%rbp), %rax + 0x48, 0xf7, 0xd0, //0x00003249 notq %rax + 0x4c, 0x01, 0xe8, //0x0000324c addq %r13, %rax + 0x49, 0x83, 0xf8, 0xff, //0x0000324f cmpq $-1, %r8 + 0x4c, 0x89, 0xc1, //0x00003253 movq %r8, %rcx + 0x48, 0x0f, 0x44, 0xc8, //0x00003256 cmoveq %rax, %rcx + 0x49, 0x0f, 0x45, 0xc0, //0x0000325a cmovneq %r8, %rax + 0x49, 0xff, 0xc5, //0x0000325e incq %r13 + 0x49, 0xff, 0xcc, //0x00003261 decq %r12 + 0x49, 0x89, 0xc8, //0x00003264 movq %rcx, %r8 + 0x4d, 0x85, 0xe4, //0x00003267 testq %r12, %r12 + 0x0f, 0x85, 0x1e, 0xfe, 0xff, 0xff, //0x0000326a jne LBB0_703 + 0xe9, 0x34, 0x00, 0x00, 0x00, //0x00003270 jmp LBB0_731 + //0x00003275 LBB0_729 + 0x4d, 0x85, 0xe4, //0x00003275 testq %r12, %r12 + 0x0f, 0x84, 0x41, 0x00, 0x00, 0x00, //0x00003278 je LBB0_733 + 0x4c, 0x8b, 0x4d, 0xc0, //0x0000327e movq $-64(%rbp), %r9 + 0x49, 0xf7, 0xd1, //0x00003282 notq %r9 + 0x4d, 0x01, 0xe9, //0x00003285 addq %r13, %r9 + 0x49, 0x83, 0xf8, 0xff, //0x00003288 cmpq $-1, %r8 + 0x4c, 0x89, 0xc0, //0x0000328c movq %r8, %rax + 0x49, 0x0f, 0x44, 0xc1, //0x0000328f cmoveq %r9, %rax + 0x4d, 0x0f, 0x45, 0xc8, //0x00003293 cmovneq %r8, %r9 + 0x49, 0xff, 0xc5, //0x00003297 incq %r13 + 0x49, 0xff, 0xcc, //0x0000329a decq %r12 + 0x49, 0x89, 0xc0, //0x0000329d movq %rax, %r8 + 0x4d, 0x85, 0xe4, //0x000032a0 testq %r12, %r12 + 0x0f, 0x85, 0x0d, 0xff, 0xff, 0xff, //0x000032a3 jne LBB0_719 + //0x000032a9 LBB0_731 + 0x48, 0x8b, 0x4d, 0xd0, //0x000032a9 movq $-48(%rbp), %rcx + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000032ad movq $-1, %r11 + //0x000032b4 LBB0_732 + 0x4c, 0x89, 0x19, //0x000032b4 movq %r11, (%rcx) + 0x49, 0x89, 0xf3, //0x000032b7 movq %rsi, %r11 + 0xe9, 0x2a, 0xd0, 0xff, 0xff, //0x000032ba jmp LBB0_38 + //0x000032bf LBB0_733 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000032bf movq $-1, %r11 + 0x48, 0x8b, 0x4d, 0xd0, //0x000032c6 movq $-48(%rbp), %rcx + 0xe9, 0xe5, 0xff, 0xff, 0xff, //0x000032ca jmp LBB0_732 + 0x90, //0x000032cf .p2align 2, 0x90 + // // .set L0_0_set_37, LBB0_37-LJTI0_0 + // // .set L0_0_set_99, LBB0_99-LJTI0_0 + // // .set L0_0_set_100, LBB0_100-LJTI0_0 + // // .set L0_0_set_111, LBB0_111-LJTI0_0 + // // .set L0_0_set_30, LBB0_30-LJTI0_0 + // // .set L0_0_set_112, LBB0_112-LJTI0_0 + // // .set L0_0_set_113, LBB0_113-LJTI0_0 + // // .set L0_0_set_114, LBB0_114-LJTI0_0 + // // .set L0_0_set_115, LBB0_115-LJTI0_0 + // // .set L0_0_set_118, LBB0_118-LJTI0_0 + // // .set L0_0_set_121, LBB0_121-LJTI0_0 + // // .set L0_0_set_124, LBB0_124-LJTI0_0 + // // .set L0_0_set_125, LBB0_125-LJTI0_0 + //0x000032d0 LJTI0_0 + 0x11, 0xd0, 0xff, 0xff, //0x000032d0 .long L0_0_set_37 + 0x13, 0xd4, 0xff, 0xff, //0x000032d4 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000032d8 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000032dc .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000032e0 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000032e4 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000032e8 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000032ec .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000032f0 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000032f4 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000032f8 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000032fc .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003300 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003304 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003308 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000330c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003310 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003314 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003318 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000331c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003320 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003324 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003328 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000332c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003330 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003334 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003338 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000333c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003340 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003344 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003348 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000334c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003350 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003354 .long L0_0_set_99 + 0x23, 0xd4, 0xff, 0xff, //0x00003358 .long L0_0_set_100 + 0x13, 0xd4, 0xff, 0xff, //0x0000335c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003360 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003364 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003368 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000336c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003370 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003374 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003378 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000337c .long L0_0_set_99 + 0xd5, 0xd5, 0xff, 0xff, //0x00003380 .long L0_0_set_111 + 0x93, 0xcf, 0xff, 0xff, //0x00003384 .long L0_0_set_30 + 0x13, 0xd4, 0xff, 0xff, //0x00003388 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000338c .long L0_0_set_99 + 0x93, 0xcf, 0xff, 0xff, //0x00003390 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x00003394 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x00003398 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x0000339c .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x000033a0 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x000033a4 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x000033a8 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x000033ac .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x000033b0 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x000033b4 .long L0_0_set_30 + 0xe7, 0xd5, 0xff, 0xff, //0x000033b8 .long L0_0_set_112 + 0x13, 0xd4, 0xff, 0xff, //0x000033bc .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033c0 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033c4 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033c8 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033cc .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033d0 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033d4 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033d8 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033dc .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033e0 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033e4 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033e8 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033ec .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033f0 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033f4 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033f8 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000033fc .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003400 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003404 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003408 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000340c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003410 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003414 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003418 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000341c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003420 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003424 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003428 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000342c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003430 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003434 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003438 .long L0_0_set_99 + 0xf9, 0xd5, 0xff, 0xff, //0x0000343c .long L0_0_set_113 + 0x13, 0xd4, 0xff, 0xff, //0x00003440 .long L0_0_set_99 + 0x06, 0xd6, 0xff, 0xff, //0x00003444 .long L0_0_set_114 + 0x13, 0xd4, 0xff, 0xff, //0x00003448 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000344c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003450 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003454 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003458 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000345c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003460 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003464 .long L0_0_set_99 + 0x18, 0xd6, 0xff, 0xff, //0x00003468 .long L0_0_set_115 + 0x13, 0xd4, 0xff, 0xff, //0x0000346c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003470 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003474 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003478 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000347c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003480 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003484 .long L0_0_set_99 + 0x4a, 0xd6, 0xff, 0xff, //0x00003488 .long L0_0_set_118 + 0x13, 0xd4, 0xff, 0xff, //0x0000348c .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003490 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003494 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x00003498 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x0000349c .long L0_0_set_99 + 0x7a, 0xd6, 0xff, 0xff, //0x000034a0 .long L0_0_set_121 + 0x13, 0xd4, 0xff, 0xff, //0x000034a4 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000034a8 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000034ac .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000034b0 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000034b4 .long L0_0_set_99 + 0x13, 0xd4, 0xff, 0xff, //0x000034b8 .long L0_0_set_99 + 0xaa, 0xd6, 0xff, 0xff, //0x000034bc .long L0_0_set_124 + 0x13, 0xd4, 0xff, 0xff, //0x000034c0 .long L0_0_set_99 + 0xb7, 0xd6, 0xff, 0xff, //0x000034c4 .long L0_0_set_125 + // // .set L0_1_set_65, LBB0_65-LJTI0_1 + // // .set L0_1_set_75, LBB0_75-LJTI0_1 + // // .set L0_1_set_72, LBB0_72-LJTI0_1 + // // .set L0_1_set_67, LBB0_67-LJTI0_1 + // // .set L0_1_set_70, LBB0_70-LJTI0_1 + //0x000034c8 LJTI0_1 + 0x5f, 0xd0, 0xff, 0xff, //0x000034c8 .long L0_1_set_65 + 0xe1, 0xd0, 0xff, 0xff, //0x000034cc .long L0_1_set_75 + 0x5f, 0xd0, 0xff, 0xff, //0x000034d0 .long L0_1_set_65 + 0xbc, 0xd0, 0xff, 0xff, //0x000034d4 .long L0_1_set_72 + 0xe1, 0xd0, 0xff, 0xff, //0x000034d8 .long L0_1_set_75 + 0x78, 0xd0, 0xff, 0xff, //0x000034dc .long L0_1_set_67 + 0x78, 0xd0, 0xff, 0xff, //0x000034e0 .long L0_1_set_67 + 0x78, 0xd0, 0xff, 0xff, //0x000034e4 .long L0_1_set_67 + 0x78, 0xd0, 0xff, 0xff, //0x000034e8 .long L0_1_set_67 + 0x78, 0xd0, 0xff, 0xff, //0x000034ec .long L0_1_set_67 + 0x78, 0xd0, 0xff, 0xff, //0x000034f0 .long L0_1_set_67 + 0x78, 0xd0, 0xff, 0xff, //0x000034f4 .long L0_1_set_67 + 0x78, 0xd0, 0xff, 0xff, //0x000034f8 .long L0_1_set_67 + 0x78, 0xd0, 0xff, 0xff, //0x000034fc .long L0_1_set_67 + 0x78, 0xd0, 0xff, 0xff, //0x00003500 .long L0_1_set_67 + 0xe1, 0xd0, 0xff, 0xff, //0x00003504 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003508 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x0000350c .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003510 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003514 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003518 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x0000351c .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003520 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003524 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003528 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x0000352c .long L0_1_set_75 + 0xa1, 0xd0, 0xff, 0xff, //0x00003530 .long L0_1_set_70 + 0xe1, 0xd0, 0xff, 0xff, //0x00003534 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003538 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x0000353c .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003540 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003544 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003548 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x0000354c .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003550 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003554 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003558 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x0000355c .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003560 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003564 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003568 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x0000356c .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003570 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003574 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003578 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x0000357c .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003580 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003584 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003588 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x0000358c .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003590 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003594 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x00003598 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x0000359c .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x000035a0 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x000035a4 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x000035a8 .long L0_1_set_75 + 0xe1, 0xd0, 0xff, 0xff, //0x000035ac .long L0_1_set_75 + 0xa1, 0xd0, 0xff, 0xff, //0x000035b0 .long L0_1_set_70 + //0x000035b4 .p2align 2, 0x00 + //0x000035b4 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x000035b4 .long 2 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000035b8 .p2align 4, 0x00 + //0x000035c0 _P10_TAB + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, //0x000035c0 .quad 4607182418800017408 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, //0x000035c8 .quad 4621819117588971520 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, //0x000035d0 .quad 4636737291354636288 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8f, 0x40, //0x000035d8 .quad 4652007308841189376 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xc3, 0x40, //0x000035e0 .quad 4666723172467343360 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0xf8, 0x40, //0x000035e8 .quad 4681608360884174848 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x84, 0x2e, 0x41, //0x000035f0 .quad 4696837146684686336 + 0x00, 0x00, 0x00, 0x00, 0xd0, 0x12, 0x63, 0x41, //0x000035f8 .quad 4711630319722168320 + 0x00, 0x00, 0x00, 0x00, 0x84, 0xd7, 0x97, 0x41, //0x00003600 .quad 4726483295884279808 + 0x00, 0x00, 0x00, 0x00, 0x65, 0xcd, 0xcd, 0x41, //0x00003608 .quad 4741671816366391296 + 0x00, 0x00, 0x00, 0x20, 0x5f, 0xa0, 0x02, 0x42, //0x00003610 .quad 4756540486875873280 + 0x00, 0x00, 0x00, 0xe8, 0x76, 0x48, 0x37, 0x42, //0x00003618 .quad 4771362005757984768 + 0x00, 0x00, 0x00, 0xa2, 0x94, 0x1a, 0x6d, 0x42, //0x00003620 .quad 4786511204640096256 + 0x00, 0x00, 0x40, 0xe5, 0x9c, 0x30, 0xa2, 0x42, //0x00003628 .quad 4801453603149578240 + 0x00, 0x00, 0x90, 0x1e, 0xc4, 0xbc, 0xd6, 0x42, //0x00003630 .quad 4816244402031689728 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0x43, //0x00003638 .quad 4831355200913801216 + 0x00, 0x80, 0xe0, 0x37, 0x79, 0xc3, 0x41, 0x43, //0x00003640 .quad 4846369599423283200 + 0x00, 0xa0, 0xd8, 0x85, 0x57, 0x34, 0x76, 0x43, //0x00003648 .quad 4861130398305394688 + 0x00, 0xc8, 0x4e, 0x67, 0x6d, 0xc1, 0xab, 0x43, //0x00003650 .quad 4876203697187506176 + 0x00, 0x3d, 0x91, 0x60, 0xe4, 0x58, 0xe1, 0x43, //0x00003658 .quad 4891288408196988160 + 0x40, 0x8c, 0xb5, 0x78, 0x1d, 0xaf, 0x15, 0x44, //0x00003660 .quad 4906019910204099648 + 0x50, 0xef, 0xe2, 0xd6, 0xe4, 0x1a, 0x4b, 0x44, //0x00003668 .quad 4921056587992461136 + 0x92, 0xd5, 0x4d, 0x06, 0xcf, 0xf0, 0x80, 0x44, //0x00003670 .quad 4936209963552724370 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003678 .p2align 4, 0x00 + //0x00003680 _POW10_M128_TAB + 0x53, 0xe4, 0x60, 0xcd, 0x69, 0xc8, 0x32, 0x17, //0x00003680 .quad 1671618768450675795 + 0x88, 0x02, 0x1c, 0x08, 0xa0, 0xd5, 0x8f, 0xfa, //0x00003688 .quad -391859759250406776 + 0xb4, 0x8e, 0x5c, 0x20, 0x42, 0xbd, 0x7f, 0x0e, //0x00003690 .quad 1044761730281672372 + 0x95, 0x81, 0x11, 0x05, 0x84, 0xe5, 0x99, 0x9c, //0x00003698 .quad -7162441377172586091 + 0x61, 0xb2, 0x73, 0xa8, 0x92, 0xac, 0x1f, 0x52, //0x000036a0 .quad 5917638181279478369 + 0xfa, 0xe1, 0x55, 0x06, 0xe5, 0x5e, 0xc0, 0xc3, //0x000036a8 .quad -4341365703038344710 + 0xf9, 0x9e, 0x90, 0x52, 0xb7, 0x97, 0xa7, 0xe6, //0x000036b0 .quad -1826324310255427847 + 0x78, 0x5a, 0xeb, 0x47, 0x9e, 0x76, 0xb0, 0xf4, //0x000036b8 .quad -815021110370542984 + 0x5c, 0x63, 0x9a, 0x93, 0xd2, 0xbe, 0x28, 0x90, //0x000036c0 .quad -8058981721550724260 + 0x8b, 0x18, 0xf3, 0xec, 0x22, 0x4a, 0xee, 0x98, //0x000036c8 .quad -7426917221622671221 + 0x33, 0xfc, 0x80, 0x38, 0x87, 0xee, 0x32, 0x74, //0x000036d0 .quad 8373016921771146291 + 0xae, 0xde, 0x2f, 0xa8, 0xab, 0xdc, 0x29, 0xbf, //0x000036d8 .quad -4671960508600951122 + 0x3f, 0x3b, 0xa1, 0x06, 0x29, 0xaa, 0x3f, 0x11, //0x000036e0 .quad 1242899115359157055 + 0x5a, 0xd6, 0x3b, 0x92, 0xd6, 0x53, 0xf4, 0xee, //0x000036e8 .quad -1228264617323800998 + 0x07, 0xc5, 0x24, 0xa4, 0x59, 0xca, 0xc7, 0x4a, //0x000036f0 .quad 5388497965526861063 + 0xf8, 0x65, 0x65, 0x1b, 0x66, 0xb4, 0x58, 0x95, //0x000036f8 .quad -7685194413468457480 + 0x49, 0xf6, 0x2d, 0x0d, 0xf0, 0xbc, 0x79, 0x5d, //0x00003700 .quad 6735622456908576329 + 0x76, 0xbf, 0x3e, 0xa2, 0x7f, 0xe1, 0xae, 0xba, //0x00003708 .quad -4994806998408183946 + 0xdc, 0x73, 0x79, 0x10, 0x2c, 0x2c, 0xd8, 0xf4, //0x00003710 .quad -803843965719055396 + 0x53, 0x6f, 0xce, 0x8a, 0xdf, 0x99, 0x5a, 0xe9, //0x00003718 .quad -1631822729582842029 + 0x69, 0xe8, 0x4b, 0x8a, 0x9b, 0x1b, 0x07, 0x79, //0x00003720 .quad 8720969558280366185 + 0x94, 0x05, 0xc1, 0xb6, 0x2b, 0xa0, 0xd8, 0x91, //0x00003728 .quad -7937418233630358124 + 0x84, 0xe2, 0xde, 0x6c, 0x82, 0xe2, 0x48, 0x97, //0x00003730 .quad -7545532125859093884 + 0xf9, 0x46, 0x71, 0xa4, 0x36, 0xc8, 0x4e, 0xb6, //0x00003738 .quad -5310086773610559751 + 0x25, 0x9b, 0x16, 0x08, 0x23, 0x1b, 0x1b, 0xfd, //0x00003740 .quad -208543120469091547 + 0xb7, 0x98, 0x8d, 0x4d, 0x44, 0x7a, 0xe2, 0xe3, //0x00003748 .quad -2025922448585811785 + 0xf7, 0x20, 0x0e, 0xe5, 0xf5, 0xf0, 0x30, 0xfe, //0x00003750 .quad -130339450293182217 + 0x72, 0x7f, 0x78, 0xb0, 0x6a, 0x8c, 0x6d, 0x8e, //0x00003758 .quad -8183730558007214222 + 0x35, 0xa9, 0x51, 0x5e, 0x33, 0x2d, 0xbd, 0xbd, //0x00003760 .quad -4774610331293865675 + 0x4f, 0x9f, 0x96, 0x5c, 0x85, 0xef, 0x08, 0xb2, //0x00003768 .quad -5617977179081629873 + 0x82, 0x13, 0xe6, 0x35, 0x80, 0x78, 0x2c, 0xad, //0x00003770 .quad -5968262914117332094 + 0x23, 0x47, 0xbc, 0xb3, 0x66, 0x2b, 0x8b, 0xde, //0x00003778 .quad -2410785455424649437 + 0x31, 0xcc, 0xaf, 0x21, 0x50, 0xcb, 0x3b, 0x4c, //0x00003780 .quad 5493207715531443249 + 0x76, 0xac, 0x55, 0x30, 0x20, 0xfb, 0x16, 0x8b, //0x00003788 .quad -8424269937281487754 + 0x3d, 0xbf, 0x1b, 0x2a, 0x24, 0xbe, 0x4a, 0xdf, //0x00003790 .quad -2356862392440471747 + 0x93, 0x17, 0x6b, 0x3c, 0xe8, 0xb9, 0xdc, 0xad, //0x00003798 .quad -5918651403174471789 + 0x0d, 0xaf, 0xa2, 0x34, 0xad, 0x6d, 0x1d, 0xd7, //0x000037a0 .quad -2946077990550589683 + 0x78, 0xdd, 0x85, 0x4b, 0x62, 0xe8, 0x53, 0xd9, //0x000037a8 .quad -2786628235540701832 + 0x68, 0xad, 0xe5, 0x40, 0x8c, 0x64, 0x72, 0x86, //0x000037b0 .quad -8758827771735200408 + 0x6b, 0xaa, 0x33, 0x6f, 0x3d, 0x71, 0xd4, 0x87, //0x000037b8 .quad -8659171674854020501 + 0xc2, 0x18, 0x1f, 0x51, 0xaf, 0xfd, 0x0e, 0x68, //0x000037c0 .quad 7498209359040551106 + 0x06, 0x95, 0x00, 0xcb, 0x8c, 0x8d, 0xc9, 0xa9, //0x000037c8 .quad -6212278575140137722 + 0xf2, 0xde, 0x66, 0x25, 0x1b, 0xbd, 0x12, 0x02, //0x000037d0 .quad 149389661945913074 + 0x48, 0xba, 0xc0, 0xfd, 0xef, 0xf0, 0x3b, 0xd4, //0x000037d8 .quad -3153662200497784248 + 0x57, 0x4b, 0x60, 0xf7, 0x30, 0xb6, 0x4b, 0x01, //0x000037e0 .quad 93368538716195671 + 0x6d, 0x74, 0x98, 0xfe, 0x95, 0x76, 0xa5, 0x84, //0x000037e8 .quad -8888567902952197011 + 0x2d, 0x5e, 0x38, 0x35, 0xbd, 0xa3, 0x9e, 0x41, //0x000037f0 .quad 4728396691822632493 + 0x88, 0x91, 0x3e, 0x7e, 0x3b, 0xd4, 0xce, 0xa5, //0x000037f8 .quad -6499023860262858360 + 0xb9, 0x75, 0x86, 0x82, 0xac, 0x4c, 0x06, 0x52, //0x00003800 .quad 5910495864778290617 + 0xea, 0x35, 0xce, 0x5d, 0x4a, 0x89, 0x42, 0xcf, //0x00003808 .quad -3512093806901185046 + 0x93, 0x09, 0x94, 0xd1, 0xeb, 0xef, 0x43, 0x73, //0x00003810 .quad 8305745933913819539 + 0xb2, 0xe1, 0xa0, 0x7a, 0xce, 0x95, 0x89, 0x81, //0x00003818 .quad -9112587656954322510 + 0xf8, 0x0b, 0xf9, 0xc5, 0xe6, 0xeb, 0x14, 0x10, //0x00003820 .quad 1158810380537498616 + 0x1f, 0x1a, 0x49, 0x19, 0x42, 0xfb, 0xeb, 0xa1, //0x00003828 .quad -6779048552765515233 + 0xf6, 0x4e, 0x77, 0x77, 0xe0, 0x26, 0x1a, 0xd4, //0x00003830 .quad -3163173042755514634 + 0xa6, 0x60, 0x9b, 0x9f, 0x12, 0xfa, 0x66, 0xca, //0x00003838 .quad -3862124672529506138 + 0xb4, 0x22, 0x55, 0x95, 0x98, 0xb0, 0x20, 0x89, //0x00003840 .quad -8565652321871781196 + 0xd0, 0x38, 0x82, 0x47, 0x97, 0xb8, 0x00, 0xfd, //0x00003848 .quad -215969822234494768 + 0xb0, 0x35, 0x55, 0x5d, 0x5f, 0x6e, 0xb4, 0x55, //0x00003850 .quad 6175682344898606512 + 0x82, 0x63, 0xb1, 0x8c, 0x5e, 0x73, 0x20, 0x9e, //0x00003858 .quad -7052510166537641086 + 0x1d, 0x83, 0xaa, 0x34, 0xf7, 0x89, 0x21, 0xeb, //0x00003860 .quad -1503769105731517667 + 0x62, 0xbc, 0xdd, 0x2f, 0x36, 0x90, 0xa8, 0xc5, //0x00003868 .quad -4203951689744663454 + 0xe4, 0x23, 0xd5, 0x01, 0x75, 0xec, 0xe9, 0xa5, //0x00003870 .quad -6491397400591784988 + 0x7b, 0x2b, 0xd5, 0xbb, 0x43, 0xb4, 0x12, 0xf7, //0x00003878 .quad -643253593753441413 + 0x6e, 0x36, 0x25, 0x21, 0xc9, 0x33, 0xb2, 0x47, //0x00003880 .quad 5166248661484910190 + 0x2d, 0x3b, 0x65, 0x55, 0xaa, 0xb0, 0x6b, 0x9a, //0x00003888 .quad -7319562523736982739 + 0x0a, 0x84, 0x6e, 0x69, 0xbb, 0xc0, 0x9e, 0x99, //0x00003890 .quad -7377247228426025974 + 0xf8, 0x89, 0xbe, 0xea, 0xd4, 0x9c, 0x06, 0xc1, //0x00003898 .quad -4537767136243840520 + 0x0d, 0x25, 0xca, 0x43, 0xea, 0x70, 0x06, 0xc0, //0x000038a0 .quad -4609873017105144563 + 0x76, 0x2c, 0x6e, 0x25, 0x0a, 0x44, 0x48, 0xf1, //0x000038a8 .quad -1060522901877412746 + 0x28, 0x57, 0x5e, 0x6a, 0x92, 0x06, 0x04, 0x38, //0x000038b0 .quad 4036358391950366504 + 0xca, 0xdb, 0x64, 0x57, 0x86, 0x2a, 0xcd, 0x96, //0x000038b8 .quad -7580355841314464822 + 0xf2, 0xec, 0xf5, 0x04, 0x37, 0x08, 0x05, 0xc6, //0x000038c0 .quad -4177924046916817678 + 0xbc, 0x12, 0x3e, 0xed, 0x27, 0x75, 0x80, 0xbc, //0x000038c8 .quad -4863758783215693124 + 0x2e, 0x68, 0x33, 0xc6, 0x44, 0x4a, 0x86, 0xf7, //0x000038d0 .quad -610719040218634194 + 0x6b, 0x97, 0x8d, 0xe8, 0x71, 0x92, 0xa0, 0xeb, //0x000038d8 .quad -1468012460592228501 + 0x1d, 0x21, 0xe0, 0xfb, 0x6a, 0xee, 0xb3, 0x7a, //0x000038e0 .quad 8841672636718129437 + 0xa3, 0x7e, 0x58, 0x31, 0x87, 0x5b, 0x44, 0x93, //0x000038e8 .quad -7835036815511224669 + 0x64, 0x29, 0xd8, 0xba, 0x05, 0xea, 0x60, 0x59, //0x000038f0 .quad 6440404777470273892 + 0x4c, 0x9e, 0xae, 0xfd, 0x68, 0x72, 0x15, 0xb8, //0x000038f8 .quad -5182110000961642932 + 0xbd, 0x33, 0x8e, 0x29, 0x87, 0x24, 0xb9, 0x6f, //0x00003900 .quad 8050505971837842365 + 0xdf, 0x45, 0x1a, 0x3d, 0x03, 0xcf, 0x1a, 0xe6, //0x00003908 .quad -1865951482774665761 + 0x56, 0xe0, 0xf8, 0x79, 0xd4, 0xb6, 0xd3, 0xa5, //0x00003910 .quad -6497648813669818282 + 0xab, 0x6b, 0x30, 0x06, 0x62, 0xc1, 0xd0, 0x8f, //0x00003918 .quad -8083748704375247957 + 0x6c, 0x18, 0x77, 0x98, 0x89, 0xa4, 0x48, 0x8f, //0x00003920 .quad -8122061017087272852 + 0x96, 0x86, 0xbc, 0x87, 0xba, 0xf1, 0xc4, 0xb3, //0x00003928 .quad -5492999862041672042 + 0x87, 0xde, 0x94, 0xfe, 0xab, 0xcd, 0x1a, 0x33, //0x00003930 .quad 3682481783923072647 + 0x3c, 0xa8, 0xab, 0x29, 0x29, 0x2e, 0xb6, 0xe0, //0x00003938 .quad -2254563809124702148 + 0x14, 0x0b, 0x1d, 0x7f, 0x8b, 0xc0, 0xf0, 0x9f, //0x00003940 .quad -6921820921902855404 + 0x25, 0x49, 0x0b, 0xba, 0xd9, 0xdc, 0x71, 0x8c, //0x00003948 .quad -8326631408344020699 + 0xd9, 0x4d, 0xe4, 0x5e, 0xae, 0xf0, 0xec, 0x07, //0x00003950 .quad 571095884476206553 + 0x6f, 0x1b, 0x8e, 0x28, 0x10, 0x54, 0x8e, 0xaf, //0x00003958 .quad -5796603242002637969 + 0x50, 0x61, 0x9d, 0xf6, 0xd9, 0x2c, 0xe8, 0xc9, //0x00003960 .quad -3897816162832129712 + 0x4a, 0xa2, 0xb1, 0x32, 0x14, 0xe9, 0x71, 0xdb, //0x00003968 .quad -2634068034075909558 + 0xd2, 0x5c, 0x22, 0x3a, 0x08, 0x1c, 0x31, 0xbe, //0x00003970 .quad -4741978110983775022 + 0x6e, 0x05, 0xaf, 0x9f, 0xac, 0x31, 0x27, 0x89, //0x00003978 .quad -8563821548938525330 + 0x06, 0xf4, 0xaa, 0x48, 0x0a, 0x63, 0xbd, 0x6d, //0x00003980 .quad 7907585416552444934 + 0xca, 0xc6, 0x9a, 0xc7, 0x17, 0xfe, 0x70, 0xab, //0x00003988 .quad -6093090917745768758 + 0x08, 0xb1, 0xd5, 0xda, 0xcc, 0xbb, 0x2c, 0x09, //0x00003990 .quad 661109733835780360 + 0x7d, 0x78, 0x81, 0xb9, 0x9d, 0x3d, 0x4d, 0xd6, //0x00003998 .quad -3004677628754823043 + 0xa5, 0x8e, 0xc5, 0x08, 0x60, 0xf5, 0xbb, 0x25, //0x000039a0 .quad 2719036592861056677 + 0x4e, 0xeb, 0xf0, 0x93, 0x82, 0x46, 0xf0, 0x85, //0x000039a8 .quad -8795452545612846258 + 0x4e, 0xf2, 0xf6, 0x0a, 0xb8, 0xf2, 0x2a, 0xaf, //0x000039b0 .quad -5824576295778454962 + 0x21, 0x26, 0xed, 0x38, 0x23, 0x58, 0x6c, 0xa7, //0x000039b8 .quad -6382629663588669919 + 0xe1, 0xae, 0xb4, 0x0d, 0x66, 0xaf, 0xf5, 0x1a, //0x000039c0 .quad 1942651667131707105 + 0xaa, 0x6f, 0x28, 0x07, 0x2c, 0x6e, 0x47, 0xd1, //0x000039c8 .quad -3366601061058449494 + 0x4d, 0xed, 0x90, 0xc8, 0x9f, 0x8d, 0xd9, 0x50, //0x000039d0 .quad 5825843310384704845 + 0xca, 0x45, 0x79, 0x84, 0xdb, 0xa4, 0xcc, 0x82, //0x000039d8 .quad -9021654690802612790 + 0xa0, 0x28, 0xb5, 0xba, 0x07, 0xf1, 0x0f, 0xe5, //0x000039e0 .quad -1941067898873894752 + 0x3c, 0x97, 0x97, 0x65, 0x12, 0xce, 0x7f, 0xa3, //0x000039e8 .quad -6665382345075878084 + 0xc8, 0x72, 0x62, 0xa9, 0x49, 0xed, 0x53, 0x1e, //0x000039f0 .quad 2185351144835019464 + 0x0c, 0x7d, 0xfd, 0xfe, 0x96, 0xc1, 0x5f, 0xcc, //0x000039f8 .quad -3720041912917459700 + 0x7a, 0x0f, 0xbb, 0x13, 0x9c, 0xe8, 0xe8, 0x25, //0x00003a00 .quad 2731688931043774330 + 0x4f, 0xdc, 0xbc, 0xbe, 0xfc, 0xb1, 0x77, 0xff, //0x00003a08 .quad -38366372719436721 + 0xac, 0xe9, 0x54, 0x8c, 0x61, 0x91, 0xb1, 0x77, //0x00003a10 .quad 8624834609543440812 + 0xb1, 0x09, 0x36, 0xf7, 0x3d, 0xcf, 0xaa, 0x9f, //0x00003a18 .quad -6941508010590729807 + 0x17, 0x24, 0x6a, 0xef, 0xb9, 0xf5, 0x9d, 0xd5, //0x00003a20 .quad -3054014793352862697 + 0x1d, 0x8c, 0x03, 0x75, 0x0d, 0x83, 0x95, 0xc7, //0x00003a28 .quad -4065198994811024355 + 0x1d, 0xad, 0x44, 0x6b, 0x28, 0x73, 0x05, 0x4b, //0x00003a30 .quad 5405853545163697437 + 0x25, 0x6f, 0x44, 0xd2, 0xd0, 0xe3, 0x7a, 0xf9, //0x00003a38 .quad -469812725086392539 + 0x32, 0xec, 0x0a, 0x43, 0xf9, 0x67, 0xe3, 0x4e, //0x00003a40 .quad 5684501474941004850 + 0x77, 0xc5, 0x6a, 0x83, 0x62, 0xce, 0xec, 0x9b, //0x00003a48 .quad -7211161980820077193 + 0x3f, 0xa7, 0xcd, 0x93, 0xf7, 0x41, 0x9c, 0x22, //0x00003a50 .quad 2493940825248868159 + 0xd5, 0x76, 0x45, 0x24, 0xfb, 0x01, 0xe8, 0xc2, //0x00003a58 .quad -4402266457597708587 + 0x0f, 0x11, 0xc1, 0x78, 0x75, 0x52, 0x43, 0x6b, //0x00003a60 .quad 7729112049988473103 + 0x8a, 0xd4, 0x56, 0xed, 0x79, 0x02, 0xa2, 0xf3, //0x00003a68 .quad -891147053569747830 + 0xa9, 0xaa, 0x78, 0x6b, 0x89, 0x13, 0x0a, 0x83, //0x00003a70 .quad -9004363024039368023 + 0xd6, 0x44, 0x56, 0x34, 0x8c, 0x41, 0x45, 0x98, //0x00003a78 .quad -7474495936122174250 + 0x53, 0xd5, 0x56, 0xc6, 0x6b, 0x98, 0xcc, 0x23, //0x00003a80 .quad 2579604275232953683 + 0x0c, 0xd6, 0x6b, 0x41, 0xef, 0x91, 0x56, 0xbe, //0x00003a88 .quad -4731433901725329908 + 0xa8, 0x8a, 0xec, 0xb7, 0x86, 0xbe, 0xbf, 0x2c, //0x00003a90 .quad 3224505344041192104 + 0x8f, 0xcb, 0xc6, 0x11, 0x6b, 0x36, 0xec, 0xed, //0x00003a98 .quad -1302606358729274481 + 0xa9, 0xd6, 0xf3, 0x32, 0x14, 0xd7, 0xf7, 0x7b, //0x00003aa0 .quad 8932844867666826921 + 0x39, 0x3f, 0x1c, 0xeb, 0x02, 0xa2, 0xb3, 0x94, //0x00003aa8 .quad -7731658001846878407 + 0x53, 0xcc, 0xb0, 0x3f, 0xd9, 0xcc, 0xf5, 0xda, //0x00003ab0 .quad -2669001970698630061 + 0x07, 0x4f, 0xe3, 0xa5, 0x83, 0x8a, 0xe0, 0xb9, //0x00003ab8 .quad -5052886483881210105 + 0x68, 0xff, 0x9c, 0x8f, 0x0f, 0x40, 0xb3, 0xd1, //0x00003ac0 .quad -3336252463373287576 + 0xc9, 0x22, 0x5c, 0x8f, 0x24, 0xad, 0x58, 0xe8, //0x00003ac8 .quad -1704422086424124727 + 0xa1, 0x1f, 0xc2, 0xb9, 0x09, 0x08, 0x10, 0x23, //0x00003ad0 .quad 2526528228819083169 + 0xbe, 0x95, 0x99, 0xd9, 0x36, 0x6c, 0x37, 0x91, //0x00003ad8 .quad -7982792831656159810 + 0x8a, 0xa7, 0x32, 0x28, 0x0c, 0x0a, 0xd4, 0xab, //0x00003ae0 .quad -6065211750830921846 + 0x2d, 0xfb, 0xff, 0x8f, 0x44, 0x47, 0x85, 0xb5, //0x00003ae8 .quad -5366805021142811859 + 0x6c, 0x51, 0x3f, 0x32, 0x8f, 0x0c, 0xc9, 0x16, //0x00003af0 .quad 1641857348316123500 + 0xf9, 0xf9, 0xff, 0xb3, 0x15, 0x99, 0xe6, 0xe2, //0x00003af8 .quad -2096820258001126919 + 0xe3, 0x92, 0x67, 0x7f, 0xd9, 0xa7, 0x3d, 0xae, //0x00003b00 .quad -5891368184943504669 + 0x3b, 0xfc, 0x7f, 0x90, 0xad, 0x1f, 0xd0, 0x8d, //0x00003b08 .quad -8228041688891786181 + 0x9c, 0x77, 0x41, 0xdf, 0xcf, 0x11, 0xcd, 0x99, //0x00003b10 .quad -7364210231179380836 + 0x4a, 0xfb, 0x9f, 0xf4, 0x98, 0x27, 0x44, 0xb1, //0x00003b18 .quad -5673366092687344822 + 0x83, 0xd5, 0x11, 0xd7, 0x43, 0x56, 0x40, 0x40, //0x00003b20 .quad 4629795266307937667 + 0x1d, 0xfa, 0xc7, 0x31, 0x7f, 0x31, 0x95, 0xdd, //0x00003b28 .quad -2480021597431793123 + 0x72, 0x25, 0x6b, 0x66, 0xea, 0x35, 0x28, 0x48, //0x00003b30 .quad 5199465050656154994 + 0x52, 0xfc, 0x1c, 0x7f, 0xef, 0x3e, 0x7d, 0x8a, //0x00003b38 .quad -8467542526035952558 + 0xcf, 0xee, 0x05, 0x00, 0x65, 0x43, 0x32, 0xda, //0x00003b40 .quad -2724040723534582065 + 0x66, 0x3b, 0xe4, 0x5e, 0xab, 0x8e, 0x1c, 0xad, //0x00003b48 .quad -5972742139117552794 + 0x82, 0x6a, 0x07, 0x40, 0x3e, 0xd4, 0xbe, 0x90, //0x00003b50 .quad -8016736922845615486 + 0x40, 0x4a, 0x9d, 0x36, 0x56, 0xb2, 0x63, 0xd8, //0x00003b58 .quad -2854241655469553088 + 0x91, 0xa2, 0x04, 0xe8, 0xa6, 0x44, 0x77, 0x5a, //0x00003b60 .quad 6518754469289960081 + 0x68, 0x4e, 0x22, 0xe2, 0x75, 0x4f, 0x3e, 0x87, //0x00003b68 .quad -8701430062309552536 + 0x36, 0xcb, 0x05, 0xa2, 0xd0, 0x15, 0x15, 0x71, //0x00003b70 .quad 8148443086612450102 + 0x02, 0xe2, 0xaa, 0x5a, 0x53, 0xe3, 0x0d, 0xa9, //0x00003b78 .quad -6265101559459552766 + 0x03, 0x3e, 0x87, 0xca, 0x44, 0x5b, 0x5a, 0x0d, //0x00003b80 .quad 962181821410786819 + 0x83, 0x9a, 0x55, 0x31, 0x28, 0x5c, 0x51, 0xd3, //0x00003b88 .quad -3219690930897053053 + 0xc2, 0x86, 0x94, 0xfe, 0x0a, 0x79, 0x58, 0xe8, //0x00003b90 .quad -1704479370831952190 + 0x91, 0x80, 0xd5, 0x1e, 0x99, 0xd9, 0x12, 0x84, //0x00003b98 .quad -8929835859451740015 + 0x72, 0xa8, 0x39, 0xbe, 0x4d, 0x97, 0x6e, 0x62, //0x00003ba0 .quad 7092772823314835570 + 0xb6, 0xe0, 0x8a, 0x66, 0xff, 0x8f, 0x17, 0xa5, //0x00003ba8 .quad -6550608805887287114 + 0x8f, 0x12, 0xc8, 0x2d, 0x21, 0x3d, 0x0a, 0xfb, //0x00003bb0 .quad -357406007711231345 + 0xe3, 0x98, 0x2d, 0x40, 0xff, 0x73, 0x5d, 0xce, //0x00003bb8 .quad -3576574988931720989 + 0x99, 0x0b, 0x9d, 0xbc, 0x34, 0x66, 0xe6, 0x7c, //0x00003bc0 .quad 8999993282035256217 + 0x8e, 0x7f, 0x1c, 0x88, 0x7f, 0x68, 0xfa, 0x80, //0x00003bc8 .quad -9152888395723407474 + 0x80, 0x4e, 0xc4, 0xeb, 0xc1, 0xff, 0x1f, 0x1c, //0x00003bd0 .quad 2026619565689294464 + 0x72, 0x9f, 0x23, 0x6a, 0x9f, 0x02, 0x39, 0xa1, //0x00003bd8 .quad -6829424476226871438 + 0x20, 0x62, 0xb5, 0x66, 0xb2, 0xff, 0x27, 0xa3, //0x00003be0 .quad -6690097579743157728 + 0x4e, 0x87, 0xac, 0x44, 0x47, 0x43, 0x87, 0xc9, //0x00003be8 .quad -3925094576856201394 + 0xa8, 0xba, 0x62, 0x00, 0x9f, 0xff, 0xf1, 0x4b, //0x00003bf0 .quad 5472436080603216552 + 0x22, 0xa9, 0xd7, 0x15, 0x19, 0x14, 0xe9, 0xfb, //0x00003bf8 .quad -294682202642863838 + 0xa9, 0xb4, 0x3d, 0x60, 0xc3, 0x3f, 0x77, 0x6f, //0x00003c00 .quad 8031958568804398249 + 0xb5, 0xc9, 0xa6, 0xad, 0x8f, 0xac, 0x71, 0x9d, //0x00003c08 .quad -7101705404292871755 + 0xd3, 0x21, 0x4d, 0x38, 0xb4, 0x0f, 0x55, 0xcb, //0x00003c10 .quad -3795109844276665901 + 0x22, 0x7c, 0x10, 0x99, 0xb3, 0x17, 0xce, 0xc4, //0x00003c18 .quad -4265445736938701790 + 0x48, 0x6a, 0x60, 0x46, 0xa1, 0x53, 0x2a, 0x7e, //0x00003c20 .quad 9091170749936331336 + 0x2b, 0x9b, 0x54, 0x7f, 0xa0, 0x9d, 0x01, 0xf6, //0x00003c28 .quad -720121152745989333 + 0x6d, 0x42, 0xfc, 0xcb, 0x44, 0x74, 0xda, 0x2e, //0x00003c30 .quad 3376138709496513133 + 0xfb, 0xe0, 0x94, 0x4f, 0x84, 0x02, 0xc1, 0x99, //0x00003c38 .quad -7367604748107325189 + 0x08, 0x53, 0xfb, 0xfe, 0x55, 0x11, 0x91, 0xfa, //0x00003c40 .quad -391512631556746488 + 0x39, 0x19, 0x7a, 0x63, 0x25, 0x43, 0x31, 0xc0, //0x00003c48 .quad -4597819916706768583 + 0xca, 0x27, 0xba, 0x7e, 0xab, 0x55, 0x35, 0x79, //0x00003c50 .quad 8733981247408842698 + 0x88, 0x9f, 0x58, 0xbc, 0xee, 0x93, 0x3d, 0xf0, //0x00003c58 .quad -1135588877456072824 + 0xde, 0x58, 0x34, 0x2f, 0x8b, 0x55, 0xc1, 0x4b, //0x00003c60 .quad 5458738279630526686 + 0xb5, 0x63, 0xb7, 0x35, 0x75, 0x7c, 0x26, 0x96, //0x00003c68 .quad -7627272076051127371 + 0x16, 0x6f, 0x01, 0xfb, 0xed, 0xaa, 0xb1, 0x9e, //0x00003c70 .quad -7011635205744005354 + 0xa2, 0x3c, 0x25, 0x83, 0x92, 0x1b, 0xb0, 0xbb, //0x00003c78 .quad -4922404076636521310 + 0xdc, 0xca, 0xc1, 0x79, 0xa9, 0x15, 0x5e, 0x46, //0x00003c80 .quad 5070514048102157020 + 0xcb, 0x8b, 0xee, 0x23, 0x77, 0x22, 0x9c, 0xea, //0x00003c88 .quad -1541319077368263733 + 0xc9, 0x1e, 0x19, 0xec, 0x89, 0xcd, 0xfa, 0x0b, //0x00003c90 .quad 863228270850154185 + 0x5f, 0x17, 0x75, 0x76, 0x8a, 0x95, 0xa1, 0x92, //0x00003c98 .quad -7880853450996246689 + 0x7b, 0x66, 0x1f, 0x67, 0xec, 0x80, 0xf9, 0xce, //0x00003ca0 .quad -3532650679864695173 + 0x36, 0x5d, 0x12, 0x14, 0xed, 0xfa, 0x49, 0xb7, //0x00003ca8 .quad -5239380795317920458 + 0x1a, 0x40, 0xe7, 0x80, 0x27, 0xe1, 0xb7, 0x82, //0x00003cb0 .quad -9027499368258256870 + 0x84, 0xf4, 0x16, 0x59, 0xa8, 0x79, 0x1c, 0xe5, //0x00003cb8 .quad -1937539975720012668 + 0x10, 0x88, 0x90, 0xb0, 0xb8, 0xec, 0xb2, 0xd1, //0x00003cc0 .quad -3336344095947716592 + 0xd2, 0x58, 0xae, 0x37, 0x09, 0xcc, 0x31, 0x8f, //0x00003cc8 .quad -8128491512466089774 + 0x15, 0xaa, 0xb4, 0xdc, 0xe6, 0xa7, 0x1f, 0x86, //0x00003cd0 .quad -8782116138362033643 + 0x07, 0xef, 0x99, 0x85, 0x0b, 0x3f, 0xfe, 0xb2, //0x00003cd8 .quad -5548928372155224313 + 0x9a, 0xd4, 0xe1, 0x93, 0xe0, 0x91, 0xa7, 0x67, //0x00003ce0 .quad 7469098900757009562 + 0xc9, 0x6a, 0x00, 0x67, 0xce, 0xce, 0xbd, 0xdf, //0x00003ce8 .quad -2324474446766642487 + 0xe0, 0x24, 0x6d, 0x5c, 0x2c, 0xbb, 0xc8, 0xe0, //0x00003cf0 .quad -2249342214667950880 + 0xbd, 0x42, 0x60, 0x00, 0x41, 0xa1, 0xd6, 0x8b, //0x00003cf8 .quad -8370325556870233411 + 0x18, 0x6e, 0x88, 0x73, 0xf7, 0xe9, 0xfa, 0x58, //0x00003d00 .quad 6411694268519837208 + 0x6d, 0x53, 0x78, 0x40, 0x91, 0x49, 0xcc, 0xae, //0x00003d08 .quad -5851220927660403859 + 0x9e, 0x89, 0x6a, 0x50, 0x75, 0xa4, 0x39, 0xaf, //0x00003d10 .quad -5820440219632367202 + 0x48, 0x68, 0x96, 0x90, 0xf5, 0x5b, 0x7f, 0xda, //0x00003d18 .quad -2702340141148116920 + 0x03, 0x96, 0x42, 0x52, 0xc9, 0x06, 0x84, 0x6d, //0x00003d20 .quad 7891439908798240259 + 0x2d, 0x01, 0x5e, 0x7a, 0x79, 0x99, 0x8f, 0x88, //0x00003d28 .quad -8606491615858654931 + 0x83, 0x3b, 0xd3, 0xa6, 0x7b, 0x08, 0xe5, 0xc8, //0x00003d30 .quad -3970758169284363389 + 0x78, 0x81, 0xf5, 0xd8, 0xd7, 0x7f, 0xb3, 0xaa, //0x00003d38 .quad -6146428501395930760 + 0x64, 0x0a, 0x88, 0x90, 0x9a, 0x4a, 0x1e, 0xfb, //0x00003d40 .quad -351761693178066332 + 0xd6, 0xe1, 0x32, 0xcf, 0xcd, 0x5f, 0x60, 0xd5, //0x00003d48 .quad -3071349608317525546 + 0x7f, 0x06, 0x55, 0x9a, 0xa0, 0xee, 0xf2, 0x5c, //0x00003d50 .quad 6697677969404790399 + 0x26, 0xcd, 0x7f, 0xa1, 0xe0, 0x3b, 0x5c, 0x85, //0x00003d58 .quad -8837122532839535322 + 0x1e, 0x48, 0xea, 0xc0, 0x48, 0xaa, 0x2f, 0xf4, //0x00003d60 .quad -851274575098787810 + 0x6f, 0xc0, 0xdf, 0xc9, 0xd8, 0x4a, 0xb3, 0xa6, //0x00003d68 .quad -6434717147622031249 + 0x26, 0xda, 0x24, 0xf1, 0xda, 0x94, 0x3b, 0xf1, //0x00003d70 .quad -1064093218873484762 + 0x8b, 0xb0, 0x57, 0xfc, 0x8e, 0x1d, 0x60, 0xd0, //0x00003d78 .quad -3431710416100151157 + 0x58, 0x08, 0xb7, 0xd6, 0x08, 0x3d, 0xc5, 0x76, //0x00003d80 .quad 8558313775058847832 + 0x57, 0xce, 0xb6, 0x5d, 0x79, 0x12, 0x3c, 0x82, //0x00003d88 .quad -9062348037703676329 + 0x6e, 0xca, 0x64, 0x0c, 0x4b, 0x8c, 0x76, 0x54, //0x00003d90 .quad 6086206200396171886 + 0xed, 0x81, 0x24, 0xb5, 0x17, 0x17, 0xcb, 0xa2, //0x00003d98 .quad -6716249028702207507 + 0x09, 0xfd, 0x7d, 0xcf, 0x5d, 0x2f, 0x94, 0xa9, //0x00003da0 .quad -6227300304786948855 + 0x68, 0xa2, 0x6d, 0xa2, 0xdd, 0xdc, 0x7d, 0xcb, //0x00003da8 .quad -3783625267450371480 + 0x4c, 0x7c, 0x5d, 0x43, 0x35, 0x3b, 0xf9, 0xd3, //0x00003db0 .quad -3172439362556298164 + 0x02, 0x0b, 0x09, 0x0b, 0x15, 0x54, 0x5d, 0xfe, //0x00003db8 .quad -117845565885576446 + 0xaf, 0x6d, 0x1a, 0x4a, 0x01, 0xc5, 0x7b, 0xc4, //0x00003dc0 .quad -4288617610811380305 + 0xe1, 0xa6, 0xe5, 0x26, 0x8d, 0x54, 0xfa, 0x9e, //0x00003dc8 .quad -6991182506319567135 + 0x1b, 0x09, 0xa1, 0x9c, 0x41, 0xb6, 0x9a, 0x35, //0x00003dd0 .quad 3862600023340550427 + 0x9a, 0x10, 0x9f, 0x70, 0xb0, 0xe9, 0xb8, 0xc6, //0x00003dd8 .quad -4127292114472071014 + 0x62, 0x4b, 0xc9, 0x03, 0xd2, 0x63, 0x01, 0xc3, //0x00003de0 .quad -4395122007679087774 + 0xc0, 0xd4, 0xc6, 0x8c, 0x1c, 0x24, 0x67, 0xf8, //0x00003de8 .quad -547429124662700864 + 0x1d, 0xcf, 0x5d, 0x42, 0x63, 0xde, 0xe0, 0x79, //0x00003df0 .quad 8782263791269039901 + 0xf8, 0x44, 0xfc, 0xd7, 0x91, 0x76, 0x40, 0x9b, //0x00003df8 .quad -7259672230555269896 + 0xe4, 0x42, 0xf5, 0x12, 0xfc, 0x15, 0x59, 0x98, //0x00003e00 .quad -7468914334623251740 + 0x36, 0x56, 0xfb, 0x4d, 0x36, 0x94, 0x10, 0xc2, //0x00003e08 .quad -4462904269766699466 + 0x9d, 0x93, 0xb2, 0x17, 0x7b, 0x5b, 0x6f, 0x3e, //0x00003e10 .quad 4498915137003099037 + 0xc4, 0x2b, 0x7a, 0xe1, 0x43, 0xb9, 0x94, 0xf2, //0x00003e18 .quad -966944318780986428 + 0x42, 0x9c, 0xcf, 0xee, 0x2c, 0x99, 0x05, 0xa7, //0x00003e20 .quad -6411550076227838910 + 0x5a, 0x5b, 0xec, 0x6c, 0xca, 0xf3, 0x9c, 0x97, //0x00003e28 .quad -7521869226879198374 + 0x53, 0x83, 0x83, 0x2a, 0x78, 0xff, 0xc6, 0x50, //0x00003e30 .quad 5820620459997365075 + 0x31, 0x72, 0x27, 0x08, 0xbd, 0x30, 0x84, 0xbd, //0x00003e38 .quad -4790650515171610063 + 0x28, 0x64, 0x24, 0x35, 0x56, 0xbf, 0xf8, 0xa4, //0x00003e40 .quad -6559282480285457368 + 0xbd, 0x4e, 0x31, 0x4a, 0xec, 0x3c, 0xe5, 0xec, //0x00003e48 .quad -1376627125537124675 + 0x99, 0xbe, 0x36, 0xe1, 0x95, 0x77, 0x1b, 0x87, //0x00003e50 .quad -8711237568605798759 + 0x36, 0xd1, 0x5e, 0xae, 0x13, 0x46, 0x0f, 0x94, //0x00003e58 .quad -7777920981101784778 + 0x3f, 0x6e, 0x84, 0x59, 0x7b, 0x55, 0xe2, 0x28, //0x00003e60 .quad 2946011094524915263 + 0x84, 0x85, 0xf6, 0x99, 0x98, 0x17, 0x13, 0xb9, //0x00003e68 .quad -5110715207949843068 + 0xcf, 0x89, 0xe5, 0x2f, 0xda, 0xea, 0x1a, 0x33, //0x00003e70 .quad 3682513868156144079 + 0xe5, 0x26, 0x74, 0xc0, 0x7e, 0xdd, 0x57, 0xe7, //0x00003e78 .quad -1776707991509915931 + 0x21, 0x76, 0xef, 0x5d, 0xc8, 0xd2, 0xf0, 0x3f, //0x00003e80 .quad 4607414176811284001 + 0x4f, 0x98, 0x48, 0x38, 0x6f, 0xea, 0x96, 0x90, //0x00003e88 .quad -8027971522334779313 + 0xa9, 0x53, 0x6b, 0x75, 0x7a, 0x07, 0xed, 0x0f, //0x00003e90 .quad 1147581702586717097 + 0x63, 0xbe, 0x5a, 0x06, 0x0b, 0xa5, 0xbc, 0xb4, //0x00003e98 .quad -5423278384491086237 + 0x94, 0x28, 0xc6, 0x12, 0x59, 0x49, 0xe8, 0xd3, //0x00003ea0 .quad -3177208890193991532 + 0xfb, 0x6d, 0xf1, 0xc7, 0x4d, 0xce, 0xeb, 0xe1, //0x00003ea8 .quad -2167411962186469893 + 0x5c, 0xd9, 0xbb, 0xab, 0xd7, 0x2d, 0x71, 0x64, //0x00003eb0 .quad 7237616480483531100 + 0xbd, 0xe4, 0xf6, 0x9c, 0xf0, 0x60, 0x33, 0x8d, //0x00003eb8 .quad -8272161504007625539 + 0xb3, 0xcf, 0xaa, 0x96, 0x4d, 0x79, 0x8d, 0xbd, //0x00003ec0 .quad -4788037454677749837 + 0xec, 0x9d, 0x34, 0xc4, 0x2c, 0x39, 0x80, 0xb0, //0x00003ec8 .quad -5728515861582144020 + 0xa0, 0x83, 0x55, 0xfc, 0xa0, 0xd7, 0xf0, 0xec, //0x00003ed0 .quad -1373360799919799392 + 0x67, 0xc5, 0x41, 0xf5, 0x77, 0x47, 0xa0, 0xdc, //0x00003ed8 .quad -2548958808550292121 + 0x44, 0x72, 0xb5, 0x9d, 0xc4, 0x86, 0x16, 0xf4, //0x00003ee0 .quad -858350499949874620 + 0x60, 0x1b, 0x49, 0xf9, 0xaa, 0x2c, 0xe4, 0x89, //0x00003ee8 .quad -8510628282985014432 + 0xd5, 0xce, 0x22, 0xc5, 0x75, 0x28, 0x1c, 0x31, //0x00003ef0 .quad 3538747893490044629 + 0x39, 0x62, 0x9b, 0xb7, 0xd5, 0x37, 0x5d, 0xac, //0x00003ef8 .quad -6026599335303880135 + 0x8b, 0x82, 0x6b, 0x36, 0x93, 0x32, 0x63, 0x7d, //0x00003f00 .quad 9035120885289943691 + 0xc7, 0x3a, 0x82, 0x25, 0xcb, 0x85, 0x74, 0xd7, //0x00003f08 .quad -2921563150702462265 + 0x97, 0x31, 0x03, 0x02, 0x9c, 0xff, 0x5d, 0xae, //0x00003f10 .quad -5882264492762254953 + 0xbc, 0x64, 0x71, 0xf7, 0x9e, 0xd3, 0xa8, 0x86, //0x00003f18 .quad -8743505996830120772 + 0xfc, 0xfd, 0x83, 0x02, 0x83, 0x7f, 0xf5, 0xd9, //0x00003f20 .quad -2741144597525430788 + 0xeb, 0xbd, 0x4d, 0xb5, 0x86, 0x08, 0x53, 0xa8, //0x00003f28 .quad -6317696477610263061 + 0x7b, 0xfd, 0x24, 0xc3, 0x63, 0xdf, 0x72, 0xd0, //0x00003f30 .quad -3426430746906788485 + 0x66, 0x2d, 0xa1, 0x62, 0xa8, 0xca, 0x67, 0xd2, //0x00003f38 .quad -3285434578585440922 + 0x6d, 0x1e, 0xf7, 0x59, 0x9e, 0xcb, 0x47, 0x42, //0x00003f40 .quad 4776009810824339053 + 0x60, 0xbc, 0xa4, 0x3d, 0xa9, 0xde, 0x80, 0x83, //0x00003f48 .quad -8970925639256982432 + 0x08, 0xe6, 0x74, 0xf0, 0x85, 0xbe, 0xd9, 0x52, //0x00003f50 .quad 5970012263530423816 + 0x78, 0xeb, 0x0d, 0x8d, 0x53, 0x16, 0x61, 0xa4, //0x00003f58 .quad -6601971030643840136 + 0x8b, 0x1f, 0x92, 0x6c, 0x27, 0x2e, 0x90, 0x67, //0x00003f60 .quad 7462515329413029771 + 0x56, 0x66, 0x51, 0x70, 0xe8, 0x5b, 0x79, 0xcd, //0x00003f68 .quad -3640777769877412266 + 0xb6, 0x53, 0xdb, 0xa3, 0xd8, 0x1c, 0xba, 0x00, //0x00003f70 .quad 52386062455755702 + 0xf6, 0xdf, 0x32, 0x46, 0x71, 0xd9, 0x6b, 0x80, //0x00003f78 .quad -9193015133814464522 + 0xa4, 0x28, 0xd2, 0xcc, 0x0e, 0xa4, 0xe8, 0x80, //0x00003f80 .quad -9157889458785081180 + 0xf3, 0x97, 0xbf, 0x97, 0xcd, 0xcf, 0x86, 0xa0, //0x00003f88 .quad -6879582898840692749 + 0xcd, 0xb2, 0x06, 0x80, 0x12, 0xcd, 0x22, 0x61, //0x00003f90 .quad 6999382250228200141 + 0xf0, 0x7d, 0xaf, 0xfd, 0xc0, 0x83, 0xa8, 0xc8, //0x00003f98 .quad -3987792605123478032 + 0x81, 0x5f, 0x08, 0x20, 0x57, 0x80, 0x6b, 0x79, //0x00003fa0 .quad 8749227812785250177 + 0x6c, 0x5d, 0x1b, 0x3d, 0xb1, 0xa4, 0xd2, 0xfa, //0x00003fa8 .quad -373054737976959636 + 0xb0, 0x3b, 0x05, 0x74, 0x36, 0x30, 0xe3, 0xcb, //0x00003fb0 .quad -3755104653863994448 + 0x63, 0x1a, 0x31, 0xc6, 0xee, 0xa6, 0xc3, 0x9c, //0x00003fb8 .quad -7150688238876681629 + 0x9c, 0x8a, 0x06, 0x11, 0x44, 0xfc, 0xdb, 0xbe, //0x00003fc0 .quad -4693880817329993060 + 0xfc, 0x60, 0xbd, 0x77, 0xaa, 0x90, 0xf4, 0xc3, //0x00003fc8 .quad -4326674280168464132 + 0x44, 0x2d, 0x48, 0x15, 0x55, 0xfb, 0x92, 0xee, //0x00003fd0 .quad -1255665003235103420 + 0x3b, 0xb9, 0xac, 0x15, 0xd5, 0xb4, 0xf1, 0xf4, //0x00003fd8 .quad -796656831783192261 + 0x4a, 0x1c, 0x4d, 0x2d, 0x15, 0xdd, 0x1b, 0x75, //0x00003fe0 .quad 8438581409832836170 + 0xc5, 0xf3, 0x8b, 0x2d, 0x05, 0x11, 0x17, 0x99, //0x00003fe8 .quad -7415439547505577019 + 0x5d, 0x63, 0xa0, 0x78, 0x5a, 0xd4, 0x62, 0xd2, //0x00003ff0 .quad -3286831292991118499 + 0xb6, 0xf0, 0xee, 0x78, 0x46, 0xd5, 0x5c, 0xbf, //0x00003ff8 .quad -4657613415954583370 + 0x34, 0x7c, 0xc8, 0x16, 0x71, 0x89, 0xfb, 0x86, //0x00004000 .quad -8720225134666286028 + 0xe4, 0xac, 0x2a, 0x17, 0x98, 0x0a, 0x34, 0xef, //0x00004008 .quad -1210330751515841308 + 0xa0, 0x4d, 0x3d, 0xae, 0xe6, 0x35, 0x5d, 0xd4, //0x00004010 .quad -3144297699952734816 + 0x0e, 0xac, 0x7a, 0x0e, 0x9f, 0x86, 0x80, 0x95, //0x00004018 .quad -7673985747338482674 + 0x09, 0xa1, 0xcc, 0x59, 0x60, 0x83, 0x74, 0x89, //0x00004020 .quad -8542058143368306423 + 0x12, 0x57, 0x19, 0xd2, 0x46, 0xa8, 0xe0, 0xba, //0x00004028 .quad -4980796165745715438 + 0x4b, 0xc9, 0x3f, 0x70, 0x38, 0xa4, 0xd1, 0x2b, //0x00004030 .quad 3157485376071780683 + 0xd7, 0xac, 0x9f, 0x86, 0x58, 0xd2, 0x98, 0xe9, //0x00004038 .quad -1614309188754756393 + 0xcf, 0xdd, 0x27, 0x46, 0xa3, 0x06, 0x63, 0x7b, //0x00004040 .quad 8890957387685944783 + 0x06, 0xcc, 0x23, 0x54, 0x77, 0x83, 0xff, 0x91, //0x00004048 .quad -7926472270612804602 + 0x42, 0xd5, 0xb1, 0x17, 0x4c, 0xc8, 0x3b, 0x1a, //0x00004050 .quad 1890324697752655170 + 0x08, 0xbf, 0x2c, 0x29, 0x55, 0x64, 0x7f, 0xb6, //0x00004058 .quad -5296404319838617848 + 0x93, 0x4a, 0x9e, 0x1d, 0x5f, 0xba, 0xca, 0x20, //0x00004060 .quad 2362905872190818963 + 0xca, 0xee, 0x77, 0x73, 0x6a, 0x3d, 0x1f, 0xe4, //0x00004068 .quad -2008819381370884406 + 0x9c, 0xee, 0x82, 0x72, 0x7b, 0xb4, 0x7e, 0x54, //0x00004070 .quad 6088502188546649756 + 0x3e, 0xf5, 0x2a, 0x88, 0x62, 0x86, 0x93, 0x8e, //0x00004078 .quad -8173041140997884610 + 0x43, 0xaa, 0x23, 0x4f, 0x9a, 0x61, 0x9e, 0xe9, //0x00004080 .quad -1612744301171463613 + 0x8d, 0xb2, 0x35, 0x2a, 0xfb, 0x67, 0x38, 0xb2, //0x00004088 .quad -5604615407819967859 + 0xd4, 0x94, 0xec, 0xe2, 0x00, 0xfa, 0x05, 0x64, //0x00004090 .quad 7207441660390446292 + 0x31, 0x1f, 0xc3, 0xf4, 0xf9, 0x81, 0xc6, 0xde, //0x00004098 .quad -2394083241347571919 + 0x04, 0xdd, 0xd3, 0x8d, 0x40, 0xbc, 0x83, 0xde, //0x000040a0 .quad -2412877989897052924 + 0x7e, 0xf3, 0xf9, 0x38, 0x3c, 0x11, 0x3c, 0x8b, //0x000040a8 .quad -8413831053483314306 + 0x45, 0xd4, 0x48, 0xb1, 0x50, 0xab, 0x24, 0x96, //0x000040b0 .quad -7627783505798704059 + 0x5e, 0x70, 0x38, 0x47, 0x8b, 0x15, 0x0b, 0xae, //0x000040b8 .quad -5905602798426754978 + 0x57, 0x09, 0x9b, 0xdd, 0x24, 0xd6, 0xad, 0x3b, //0x000040c0 .quad 4300328673033783639 + 0x76, 0x8c, 0x06, 0x19, 0xee, 0xda, 0x8d, 0xd9, //0x000040c8 .quad -2770317479606055818 + 0xd6, 0xe5, 0x80, 0x0a, 0xd7, 0xa5, 0x4c, 0xe5, //0x000040d0 .quad -1923980597781273130 + 0xc9, 0x17, 0xa4, 0xcf, 0xd4, 0xa8, 0xf8, 0x87, //0x000040d8 .quad -8648977452394866743 + 0x4c, 0x1f, 0x21, 0xcd, 0x4c, 0xcf, 0x9f, 0x5e, //0x000040e0 .quad 6818396289628184396 + 0xbc, 0x1d, 0x8d, 0x03, 0x0a, 0xd3, 0xf6, 0xa9, //0x000040e8 .quad -6199535797066195524 + 0x1f, 0x67, 0x69, 0x00, 0x20, 0xc3, 0x47, 0x76, //0x000040f0 .quad 8522995362035230495 + 0x2b, 0x65, 0x70, 0x84, 0xcc, 0x87, 0x74, 0xd4, //0x000040f8 .quad -3137733727905356501 + 0x73, 0xe0, 0x41, 0x00, 0xf4, 0xd9, 0xec, 0x29, //0x00004100 .quad 3021029092058325107 + 0x3b, 0x3f, 0xc6, 0xd2, 0xdf, 0xd4, 0xc8, 0x84, //0x00004108 .quad -8878612607581929669 + 0x90, 0x58, 0x52, 0x00, 0x71, 0x10, 0x68, 0xf4, //0x00004110 .quad -835399653354481520 + 0x09, 0xcf, 0x77, 0xc7, 0x17, 0x0a, 0xfb, 0xa5, //0x00004118 .quad -6486579741050024183 + 0xb4, 0xee, 0x66, 0x40, 0x8d, 0x14, 0x82, 0x71, //0x00004120 .quad 8179122470161673908 + 0xcc, 0xc2, 0x55, 0xb9, 0x9d, 0xcc, 0x79, 0xcf, //0x00004128 .quad -3496538657885142324 + 0x30, 0x55, 0x40, 0x48, 0xd8, 0x4c, 0xf1, 0xc6, //0x00004130 .quad -4111420493003729616 + 0xbf, 0x99, 0xd5, 0x93, 0xe2, 0x1f, 0xac, 0x81, //0x00004138 .quad -9102865688819295809 + 0x7c, 0x6a, 0x50, 0x5a, 0x0e, 0xa0, 0xad, 0xb8, //0x00004140 .quad -5139275616254662020 + 0x2f, 0x00, 0xcb, 0x38, 0xdb, 0x27, 0x17, 0xa2, //0x00004148 .quad -6766896092596731857 + 0x1c, 0x85, 0xe4, 0xf0, 0x11, 0x08, 0xd9, 0xa6, //0x00004150 .quad -6424094520318327524 + 0x3b, 0xc0, 0xfd, 0x06, 0xd2, 0xf1, 0x9c, 0xca, //0x00004158 .quad -3846934097318526917 + 0x63, 0xa6, 0x1d, 0x6d, 0x16, 0x4a, 0x8f, 0x90, //0x00004160 .quad -8030118150397909405 + 0x4a, 0x30, 0xbd, 0x88, 0x46, 0x2e, 0x44, 0xfd, //0x00004168 .quad -196981603220770742 + 0xfe, 0x87, 0x32, 0x04, 0x4e, 0x8e, 0x59, 0x9a, //0x00004170 .quad -7324666853212387330 + 0x2e, 0x3e, 0x76, 0x15, 0xec, 0x9c, 0x4a, 0x9e, //0x00004178 .quad -7040642529654063570 + 0xfd, 0x29, 0x3f, 0x85, 0xe1, 0xf1, 0xef, 0x40, //0x00004180 .quad 4679224488766679549 + 0xba, 0xcd, 0xd3, 0x1a, 0x27, 0x44, 0xdd, 0xc5, //0x00004188 .quad -4189117143640191558 + 0x7c, 0xf4, 0x8e, 0xe6, 0x59, 0xee, 0x2b, 0xd1, //0x00004190 .quad -3374341425896426372 + 0x28, 0xc1, 0x88, 0xe1, 0x30, 0x95, 0x54, 0xf7, //0x00004198 .quad -624710411122851544 + 0xce, 0x58, 0x19, 0x30, 0xf8, 0x74, 0xbb, 0x82, //0x000041a0 .quad -9026492418826348338 + 0xb9, 0x78, 0xf5, 0x8c, 0x3e, 0xdd, 0x94, 0x9a, //0x000041a8 .quad -7307973034592864071 + 0x01, 0xaf, 0x1f, 0x3c, 0x36, 0x52, 0x6a, 0xe3, //0x000041b0 .quad -2059743486678159615 + 0xe7, 0xd6, 0x32, 0x30, 0x8e, 0x14, 0x3a, 0xc1, //0x000041b8 .quad -4523280274813692185 + 0xc1, 0x9a, 0x27, 0xcb, 0xc3, 0xe6, 0x44, 0xdc, //0x000041c0 .quad -2574679358347699519 + 0xa1, 0x8c, 0x3f, 0xbc, 0xb1, 0x99, 0x88, 0xf1, //0x000041c8 .quad -1042414325089727327 + 0xb9, 0xc0, 0xf8, 0x5e, 0x3a, 0x10, 0xab, 0x29, //0x000041d0 .quad 3002511419460075705 + 0xe5, 0xb7, 0xa7, 0x15, 0x0f, 0x60, 0xf5, 0x96, //0x000041d8 .quad -7569037980822161435 + 0xe7, 0xf0, 0xb6, 0xf6, 0x48, 0xd4, 0x15, 0x74, //0x000041e0 .quad 8364825292752482535 + 0xde, 0xa5, 0x11, 0xdb, 0x12, 0xb8, 0xb2, 0xbc, //0x000041e8 .quad -4849611457600313890 + 0x21, 0xad, 0x64, 0x34, 0x5b, 0x49, 0x1b, 0x11, //0x000041f0 .quad 1232659579085827361 + 0x56, 0x0f, 0xd6, 0x91, 0x17, 0x66, 0xdf, 0xeb, //0x000041f8 .quad -1450328303573004458 + 0x34, 0xec, 0xbe, 0x00, 0xd9, 0x0d, 0xb1, 0xca, //0x00004200 .quad -3841273781498745804 + 0x95, 0xc9, 0x25, 0xbb, 0xce, 0x9f, 0x6b, 0x93, //0x00004208 .quad -7823984217374209643 + 0x42, 0xa7, 0xee, 0x40, 0x4f, 0x51, 0x5d, 0x3d, //0x00004210 .quad 4421779809981343554 + 0xfb, 0x3b, 0xef, 0x69, 0xc2, 0x87, 0x46, 0xb8, //0x00004218 .quad -5168294253290374149 + 0x12, 0x51, 0x2a, 0x11, 0xa3, 0xa5, 0xb4, 0x0c, //0x00004220 .quad 915538744049291538 + 0xfa, 0x0a, 0x6b, 0x04, 0xb3, 0x29, 0x58, 0xe6, //0x00004228 .quad -1848681798185579782 + 0xab, 0x72, 0xba, 0xea, 0x85, 0xe7, 0xf0, 0x47, //0x00004230 .quad 5183897733458195115 + 0xdc, 0xe6, 0xc2, 0xe2, 0x0f, 0x1a, 0xf7, 0x8f, //0x00004238 .quad -8072955151507069220 + 0x56, 0x0f, 0x69, 0x65, 0x67, 0x21, 0xed, 0x59, //0x00004240 .quad 6479872166822743894 + 0x93, 0xa0, 0x73, 0xdb, 0x93, 0xe0, 0xf4, 0xb3, //0x00004248 .quad -5479507920956448621 + 0x2c, 0x53, 0xc3, 0x3e, 0xc1, 0x69, 0x68, 0x30, //0x00004250 .quad 3488154190101041964 + 0xb8, 0x88, 0x50, 0xd2, 0xb8, 0x18, 0xf2, 0xe0, //0x00004258 .quad -2237698882768172872 + 0xfb, 0x13, 0x3a, 0xc7, 0x18, 0x42, 0x41, 0x1e, //0x00004260 .quad 2180096368813151227 + 0x73, 0x55, 0x72, 0x83, 0x73, 0x4f, 0x97, 0x8c, //0x00004268 .quad -8316090829371189901 + 0xfa, 0x98, 0x08, 0xf9, 0x9e, 0x92, 0xd1, 0xe5, //0x00004270 .quad -1886565557410948870 + 0xcf, 0xea, 0x4e, 0x64, 0x50, 0x23, 0xbd, 0xaf, //0x00004278 .quad -5783427518286599473 + 0x39, 0xbf, 0x4a, 0xb7, 0x46, 0xf7, 0x45, 0xdf, //0x00004280 .quad -2358206946763686087 + 0x83, 0xa5, 0x62, 0x7d, 0x24, 0x6c, 0xac, 0xdb, //0x00004288 .quad -2617598379430861437 + 0x83, 0xb7, 0x8e, 0x32, 0x8c, 0xba, 0x8b, 0x6b, //0x00004290 .quad 7749492695127472003 + 0x72, 0xa7, 0x5d, 0xce, 0x96, 0xc3, 0x4b, 0x89, //0x00004298 .quad -8553528014785370254 + 0x64, 0x65, 0x32, 0x3f, 0x2f, 0xa9, 0x6e, 0x06, //0x000042a0 .quad 463493832054564196 + 0x4f, 0x11, 0xf5, 0x81, 0x7c, 0xb4, 0x9e, 0xab, //0x000042a8 .quad -6080224000054324913 + 0xbd, 0xfe, 0xfe, 0x0e, 0x7b, 0x53, 0x0a, 0xc8, //0x000042b0 .quad -4032318728359182659 + 0xa2, 0x55, 0x72, 0xa2, 0x9b, 0x61, 0x86, 0xd6, //0x000042b8 .quad -2988593981640518238 + 0x36, 0x5f, 0x5f, 0xe9, 0x2c, 0x74, 0x06, 0xbd, //0x000042c0 .quad -4826042214438183114 + 0x85, 0x75, 0x87, 0x45, 0x01, 0xfd, 0x13, 0x86, //0x000042c8 .quad -8785400266166405755 + 0x04, 0x37, 0xb7, 0x23, 0x38, 0x11, 0x48, 0x2c, //0x000042d0 .quad 3190819268807046916 + 0xe7, 0x52, 0xe9, 0x96, 0x41, 0xfc, 0x98, 0xa7, //0x000042d8 .quad -6370064314280619289 + 0xc5, 0x04, 0xa5, 0x2c, 0x86, 0x15, 0x5a, 0xf7, //0x000042e0 .quad -623161932418579259 + 0xa0, 0xa7, 0xa3, 0xfc, 0x51, 0x3b, 0x7f, 0xd1, //0x000042e8 .quad -3350894374423386208 + 0xfb, 0x22, 0xe7, 0xdb, 0x73, 0x4d, 0x98, 0x9a, //0x000042f0 .quad -7307005235402693893 + 0xc4, 0x48, 0xe6, 0x3d, 0x13, 0x85, 0xef, 0x82, //0x000042f8 .quad -9011838011655698236 + 0xba, 0xeb, 0xe0, 0xd2, 0xd0, 0x60, 0x3e, 0xc1, //0x00004300 .quad -4522070525825979462 + 0xf5, 0xda, 0x5f, 0x0d, 0x58, 0x66, 0xab, 0xa3, //0x00004308 .quad -6653111496142234891 + 0xa8, 0x26, 0x99, 0x07, 0x05, 0xf9, 0x8d, 0x31, //0x00004310 .quad 3570783879572301480 + 0xb3, 0xd1, 0xb7, 0x10, 0xee, 0x3f, 0x96, 0xcc, //0x00004318 .quad -3704703351750405709 + 0x52, 0x70, 0x7f, 0x49, 0x46, 0x77, 0xf1, 0xfd, //0x00004320 .quad -148206168962011054 + 0x1f, 0xc6, 0xe5, 0x94, 0xe9, 0xcf, 0xbb, 0xff, //0x00004328 .quad -19193171260619233 + 0x33, 0xa6, 0xef, 0xed, 0x8b, 0xea, 0xb6, 0xfe, //0x00004330 .quad -92628855601256909 + 0xd3, 0x9b, 0x0f, 0xfd, 0xf1, 0x61, 0xd5, 0x9f, //0x00004338 .quad -6929524759678968877 + 0xc0, 0x8f, 0x6b, 0xe9, 0x2e, 0xa5, 0x64, 0xfe, //0x00004340 .quad -115786069501571136 + 0xc8, 0x82, 0x53, 0x7c, 0x6e, 0xba, 0xca, 0xc7, //0x00004348 .quad -4050219931171323192 + 0xb0, 0x73, 0xc6, 0xa3, 0x7a, 0xce, 0xfd, 0x3d, //0x00004350 .quad 4466953431550423984 + 0x7b, 0x63, 0x68, 0x1b, 0x0a, 0x69, 0xbd, 0xf9, //0x00004358 .quad -451088895536766085 + 0x4e, 0x08, 0x5c, 0xa6, 0x0c, 0xa1, 0xbe, 0x06, //0x00004360 .quad 486002885505321038 + 0x2d, 0x3e, 0x21, 0x51, 0xa6, 0x61, 0x16, 0x9c, //0x00004368 .quad -7199459587351560659 + 0x62, 0x0a, 0xf3, 0xcf, 0x4f, 0x49, 0x6e, 0x48, //0x00004370 .quad 5219189625309039202 + 0xb8, 0x8d, 0x69, 0xe5, 0x0f, 0xfa, 0x1b, 0xc3, //0x00004378 .quad -4387638465762062920 + 0xfa, 0xcc, 0xef, 0xc3, 0xa3, 0xdb, 0x89, 0x5a, //0x00004380 .quad 6523987031636299002 + 0x26, 0xf1, 0xc3, 0xde, 0x93, 0xf8, 0xe2, 0xf3, //0x00004388 .quad -872862063775190746 + 0x1c, 0xe0, 0x75, 0x5a, 0x46, 0x29, 0x96, 0xf8, //0x00004390 .quad -534194123654701028 + 0xb7, 0x76, 0x3a, 0x6b, 0x5c, 0xdb, 0x6d, 0x98, //0x00004398 .quad -7463067817500576073 + 0x23, 0x58, 0x13, 0xf1, 0x97, 0xb3, 0xbb, 0xf6, //0x000043a0 .quad -667742654568376285 + 0x65, 0x14, 0x09, 0x86, 0x33, 0x52, 0x89, 0xbe, //0x000043a8 .quad -4717148753448332187 + 0x2c, 0x2e, 0x58, 0xed, 0x7d, 0xa0, 0x6a, 0x74, //0x000043b0 .quad 8388693718644305452 + 0x7f, 0x59, 0x8b, 0x67, 0xc0, 0xa6, 0x2b, 0xee, //0x000043b8 .quad -1284749923383027329 + 0xdc, 0x1c, 0x57, 0xb4, 0x4e, 0xa4, 0xc2, 0xa8, //0x000043c0 .quad -6286281471915778852 + 0xef, 0x17, 0xb7, 0x40, 0x38, 0x48, 0xdb, 0x94, //0x000043c8 .quad -7720497729755473937 + 0x13, 0xe4, 0x6c, 0x61, 0x62, 0x4d, 0xf3, 0x92, //0x000043d0 .quad -7857851839894723565 + 0xeb, 0xdd, 0xe4, 0x50, 0x46, 0x1a, 0x12, 0xba, //0x000043d8 .quad -5038936143766954517 + 0x17, 0x1d, 0xc8, 0xf9, 0xba, 0x20, 0xb0, 0x77, //0x000043e0 .quad 8624429273841147159 + 0x66, 0x15, 0x1e, 0xe5, 0xd7, 0xa0, 0x96, 0xe8, //0x000043e8 .quad -1686984161281305242 + 0x2e, 0x12, 0x1d, 0xdc, 0x74, 0x14, 0xce, 0x0a, //0x000043f0 .quad 778582277723329070 + 0x60, 0xcd, 0x32, 0xef, 0x86, 0x24, 0x5e, 0x91, //0x000043f8 .quad -7971894128441897632 + 0xba, 0x56, 0x24, 0x13, 0x92, 0x99, 0x81, 0x0d, //0x00004400 .quad 973227847154161338 + 0xb8, 0x80, 0xff, 0xaa, 0xa8, 0xad, 0xb5, 0xb5, //0x00004408 .quad -5353181642124984136 + 0x69, 0x6c, 0xed, 0x97, 0xf6, 0xff, 0xe1, 0x10, //0x00004410 .quad 1216534808942701673 + 0xe6, 0x60, 0xbf, 0xd5, 0x12, 0x19, 0x23, 0xe3, //0x00004418 .quad -2079791034228842266 + 0xc1, 0x63, 0xf4, 0x1e, 0xfa, 0x3f, 0x8d, 0xca, //0x00004420 .quad -3851351762838199359 + 0x8f, 0x9c, 0x97, 0xc5, 0xab, 0xef, 0xf5, 0x8d, //0x00004428 .quad -8217398424034108273 + 0xb2, 0x7c, 0xb1, 0xa6, 0xf8, 0x8f, 0x30, 0xbd, //0x00004430 .quad -4814189703547749198 + 0xb3, 0x83, 0xfd, 0xb6, 0x96, 0x6b, 0x73, 0xb1, //0x00004438 .quad -5660062011615247437 + 0xde, 0xdb, 0x5d, 0xd0, 0xf6, 0xb3, 0x7c, 0xac, //0x00004440 .quad -6017737129434686498 + 0xa0, 0xe4, 0xbc, 0x64, 0x7c, 0x46, 0xd0, 0xdd, //0x00004448 .quad -2463391496091671392 + 0x6b, 0xa9, 0x3a, 0x42, 0x7a, 0xf0, 0xcd, 0x6b, //0x00004450 .quad 7768129340171790699 + 0xe4, 0x0e, 0xf6, 0xbe, 0x0d, 0x2c, 0xa2, 0x8a, //0x00004458 .quad -8457148712698376476 + 0xc6, 0x53, 0xc9, 0xd2, 0x98, 0x6c, 0xc1, 0x86, //0x00004460 .quad -8736582398494813242 + 0x9d, 0x92, 0xb3, 0x2e, 0x11, 0xb7, 0x4a, 0xad, //0x00004468 .quad -5959749872445582691 + 0xb7, 0xa8, 0x7b, 0x07, 0xbf, 0xc7, 0x71, 0xe8, //0x00004470 .quad -1697355961263740745 + 0x44, 0x77, 0x60, 0x7a, 0xd5, 0x64, 0x9d, 0xd8, //0x00004478 .quad -2838001322129590460 + 0x72, 0x49, 0xad, 0x64, 0xd7, 0x1c, 0x47, 0x11, //0x00004480 .quad 1244995533423855986 + 0x8b, 0x4a, 0x7c, 0x6c, 0x05, 0x5f, 0x62, 0x87, //0x00004488 .quad -8691279853972075893 + 0xcf, 0x9b, 0xd8, 0x3d, 0x0d, 0xe4, 0x98, 0xd5, //0x00004490 .quad -3055441601647567921 + 0x2d, 0x5d, 0x9b, 0xc7, 0xc6, 0xf6, 0x3a, 0xa9, //0x00004498 .quad -6252413799037706963 + 0xc3, 0xc2, 0x4e, 0x8d, 0x10, 0x1d, 0xff, 0x4a, //0x000044a0 .quad 5404070034795315907 + 0x79, 0x34, 0x82, 0x79, 0x78, 0xb4, 0x89, 0xd3, //0x000044a8 .quad -3203831230369745799 + 0xba, 0x39, 0x51, 0x58, 0x2a, 0x72, 0xdf, 0xce, //0x000044b0 .quad -3539985255894009414 + 0xcb, 0x60, 0xf1, 0x4b, 0xcb, 0x10, 0x36, 0x84, //0x000044b8 .quad -8919923546622172981 + 0x28, 0x88, 0x65, 0xee, 0xb4, 0x4e, 0x97, 0xc2, //0x000044c0 .quad -4424981569867511768 + 0xfe, 0xb8, 0xed, 0x1e, 0xfe, 0x94, 0x43, 0xa5, //0x000044c8 .quad -6538218414850328322 + 0x32, 0xea, 0xfe, 0x29, 0x62, 0x22, 0x3d, 0x73, //0x000044d0 .quad 8303831092947774002 + 0x3e, 0x27, 0xa9, 0xa6, 0x3d, 0x7a, 0x94, 0xce, //0x000044d8 .quad -3561087000135522498 + 0x5f, 0x52, 0x3f, 0x5a, 0x7d, 0x35, 0x06, 0x08, //0x000044e0 .quad 578208414664970847 + 0x87, 0xb8, 0x29, 0x88, 0x66, 0xcc, 0x1c, 0x81, //0x000044e8 .quad -9143208402725783417 + 0xf7, 0x26, 0xcf, 0xb0, 0xdc, 0xc2, 0x07, 0xca, //0x000044f0 .quad -3888925500096174345 + 0xa8, 0x26, 0x34, 0x2a, 0x80, 0xff, 0x63, 0xa1, //0x000044f8 .quad -6817324484979841368 + 0xb5, 0xf0, 0x02, 0xdd, 0x93, 0xb3, 0x89, 0xfc, //0x00004500 .quad -249470856692830027 + 0x52, 0x30, 0xc1, 0x34, 0x60, 0xff, 0xbc, 0xc9, //0x00004508 .quad -3909969587797413806 + 0xe2, 0xac, 0x43, 0xd4, 0x78, 0x20, 0xac, 0xbb, //0x00004510 .quad -4923524589293425438 + 0x67, 0x7c, 0xf1, 0x41, 0x38, 0x3f, 0x2c, 0xfc, //0x00004518 .quad -275775966319379353 + 0x0d, 0x4c, 0xaa, 0x84, 0x4b, 0x94, 0x4b, 0xd5, //0x00004520 .quad -3077202868308390899 + 0xc0, 0xed, 0x36, 0x29, 0x83, 0xa7, 0x9b, 0x9d, //0x00004528 .quad -7089889006590693952 + 0x11, 0xdf, 0xd4, 0x65, 0x5e, 0x79, 0x9e, 0x0a, //0x00004530 .quad 765182433041899281 + 0x31, 0xa9, 0x84, 0xf3, 0x63, 0x91, 0x02, 0xc5, //0x00004538 .quad -4250675239810979535 + 0xd5, 0x16, 0x4a, 0xff, 0xb5, 0x17, 0x46, 0x4d, //0x00004540 .quad 5568164059729762005 + 0x7d, 0xd3, 0x65, 0xf0, 0xbc, 0x35, 0x43, 0xf6, //0x00004548 .quad -701658031336336515 + 0x45, 0x4e, 0x8e, 0xbf, 0xd1, 0xce, 0x4b, 0x50, //0x00004550 .quad 5785945546544795205 + 0x2e, 0xa4, 0x3f, 0x16, 0x96, 0x01, 0xea, 0x99, //0x00004558 .quad -7356065297226292178 + 0xd6, 0xe1, 0x71, 0x2f, 0x86, 0xc2, 0x5e, 0xe4, //0x00004560 .quad -1990940103673781802 + 0x39, 0x8d, 0xcf, 0x9b, 0xfb, 0x81, 0x64, 0xc0, //0x00004568 .quad -4583395603105477319 + 0x4c, 0x5a, 0x4e, 0xbb, 0x27, 0x73, 0x76, 0x5d, //0x00004570 .quad 6734696907262548556 + 0x88, 0x70, 0xc3, 0x82, 0x7a, 0xa2, 0x7d, 0xf0, //0x00004578 .quad -1117558485454458744 + 0x6f, 0xf8, 0x10, 0xd5, 0xf8, 0x07, 0x6a, 0x3a, //0x00004580 .quad 4209185567039092847 + 0x55, 0x26, 0xba, 0x91, 0x8c, 0x85, 0x4e, 0x96, //0x00004588 .quad -7616003081050118571 + 0x8b, 0x36, 0x55, 0x0a, 0xf7, 0x89, 0x04, 0x89, //0x00004590 .quad -8573576096483297653 + 0xea, 0xaf, 0x28, 0xb6, 0xef, 0x26, 0xe2, 0xbb, //0x00004598 .quad -4908317832885260310 + 0x2e, 0x84, 0xea, 0xcc, 0x74, 0xac, 0x45, 0x2b, //0x000045a0 .quad 3118087934678041646 + 0xe5, 0xdb, 0xb2, 0xa3, 0xab, 0xb0, 0xda, 0xea, //0x000045a8 .quad -1523711272679187483 + 0x9d, 0x92, 0x12, 0x00, 0xc9, 0x8b, 0x0b, 0x3b, //0x000045b0 .quad 4254647968387469981 + 0x6f, 0xc9, 0x4f, 0x46, 0x6b, 0xae, 0xc8, 0x92, //0x000045b8 .quad -7869848573065574033 + 0x44, 0x37, 0x17, 0x40, 0xbb, 0x6e, 0xce, 0x09, //0x000045c0 .quad 706623942056949572 + 0xcb, 0xbb, 0xe3, 0x17, 0x06, 0xda, 0x7a, 0xb7, //0x000045c8 .quad -5225624697904579637 + 0x15, 0x05, 0x1d, 0x10, 0x6a, 0x0a, 0x42, 0xcc, //0x000045d0 .quad -3728406090856200939 + 0xbd, 0xaa, 0xdc, 0x9d, 0x87, 0x90, 0x59, 0xe5, //0x000045d8 .quad -1920344853953336643 + 0x2d, 0x23, 0x12, 0x4a, 0x82, 0x46, 0xa9, 0x9f, //0x000045e0 .quad -6941939825212513491 + 0xb6, 0xea, 0xa9, 0xc2, 0x54, 0xfa, 0x57, 0x8f, //0x000045e8 .quad -8117744561361917258 + 0xf9, 0xab, 0x96, 0xdc, 0x22, 0x98, 0x93, 0x47, //0x000045f0 .quad 5157633273766521849 + 0x64, 0x65, 0x54, 0xf3, 0xe9, 0xf8, 0x2d, 0xb3, //0x000045f8 .quad -5535494683275008668 + 0xf7, 0x56, 0xbc, 0x93, 0x2b, 0x7e, 0x78, 0x59, //0x00004600 .quad 6447041592208152311 + 0xbd, 0x7e, 0x29, 0x70, 0x24, 0x77, 0xf9, 0xdf, //0x00004608 .quad -2307682335666372931 + 0x5a, 0xb6, 0x55, 0x3c, 0xdb, 0x4e, 0xeb, 0x57, //0x00004610 .quad 6335244004343789146 + 0x36, 0xef, 0x19, 0xc6, 0x76, 0xea, 0xfb, 0x8b, //0x00004618 .quad -8359830487432564938 + 0xf1, 0x23, 0x6b, 0x0b, 0x92, 0x22, 0xe6, 0xed, //0x00004620 .quad -1304317031425039375 + 0x03, 0x6b, 0xa0, 0x77, 0x14, 0xe5, 0xfa, 0xae, //0x00004628 .quad -5838102090863318269 + 0xed, 0xec, 0x45, 0x8e, 0x36, 0xab, 0x5f, 0xe9, //0x00004630 .quad -1630396289281299219 + 0xc4, 0x85, 0x88, 0x95, 0x59, 0x9e, 0xb9, 0xda, //0x00004638 .quad -2685941595151759932 + 0x14, 0xb4, 0xeb, 0x18, 0x02, 0xcb, 0xdb, 0x11, //0x00004640 .quad 1286845328412881940 + 0x9b, 0x53, 0x75, 0xfd, 0xf7, 0x02, 0xb4, 0x88, //0x00004648 .quad -8596242524610931813 + 0x19, 0xa1, 0x26, 0x9f, 0xc2, 0xbd, 0x52, 0xd6, //0x00004650 .quad -3003129357911285479 + 0x81, 0xa8, 0xd2, 0xfc, 0xb5, 0x03, 0xe1, 0xaa, //0x00004658 .quad -6133617137336276863 + 0x5f, 0x49, 0xf0, 0x46, 0x33, 0x6d, 0xe7, 0x4b, //0x00004660 .quad 5469460339465668959 + 0xa2, 0x52, 0x07, 0x7c, 0xa3, 0x44, 0x99, 0xd5, //0x00004668 .quad -3055335403242958174 + 0xdb, 0x2d, 0x56, 0x0c, 0x40, 0xa4, 0x70, 0x6f, //0x00004670 .quad 8030098730593431003 + 0xa5, 0x93, 0x84, 0x2d, 0xe6, 0xca, 0x7f, 0x85, //0x00004678 .quad -8827113654667930715 + 0x52, 0xb9, 0x6b, 0x0f, 0x50, 0xcd, 0x4c, 0xcb, //0x00004680 .quad -3797434642040374958 + 0x8e, 0xb8, 0xe5, 0xb8, 0x9f, 0xbd, 0xdf, 0xa6, //0x00004688 .quad -6422206049907525490 + 0xa7, 0xa7, 0x46, 0x13, 0xa4, 0x00, 0x20, 0x7e, //0x00004690 .quad 9088264752731695015 + 0xb2, 0x26, 0x1f, 0xa7, 0x07, 0xad, 0x97, 0xd0, //0x00004698 .quad -3416071543957018958 + 0xc8, 0x28, 0x0c, 0x8c, 0x66, 0x00, 0xd4, 0x8e, //0x000046a0 .quad -8154892584824854328 + 0x2f, 0x78, 0x73, 0xc8, 0x24, 0xcc, 0x5e, 0x82, //0x000046a8 .quad -9052573742614218705 + 0xfa, 0x32, 0x0f, 0x2f, 0x80, 0x00, 0x89, 0x72, //0x000046b0 .quad 8253128342678483706 + 0x3b, 0x56, 0x90, 0xfa, 0x2d, 0x7f, 0xf6, 0xa2, //0x000046b8 .quad -6704031159840385477 + 0xb9, 0xff, 0xd2, 0x3a, 0xa0, 0x40, 0x2b, 0x4f, //0x000046c0 .quad 5704724409920716729 + 0xca, 0x6b, 0x34, 0x79, 0xf9, 0x1e, 0xb4, 0xcb, //0x000046c8 .quad -3768352931373093942 + 0xa8, 0xbf, 0x87, 0x49, 0xc8, 0x10, 0xf6, 0xe2, //0x000046d0 .quad -2092466524453879896 + 0xbc, 0x86, 0x81, 0xd7, 0xb7, 0x26, 0xa1, 0xfe, //0x000046d8 .quad -98755145788979524 + 0xc9, 0xd7, 0xf4, 0x2d, 0x7d, 0xca, 0xd9, 0x0d, //0x000046e0 .quad 998051431430019017 + 0x36, 0xf4, 0xb0, 0xe6, 0x32, 0xb8, 0x24, 0x9f, //0x000046e8 .quad -6979250993759194058 + 0xbb, 0x0d, 0x72, 0x79, 0x1c, 0x3d, 0x50, 0x91, //0x000046f0 .quad -7975807747567252037 + 0x43, 0x31, 0x5d, 0xa0, 0x3f, 0xe6, 0xed, 0xc6, //0x000046f8 .quad -4112377723771604669 + 0x2a, 0x91, 0xce, 0x97, 0x63, 0x4c, 0xa4, 0x75, //0x00004700 .quad 8476984389250486570 + 0x94, 0x7d, 0x74, 0x88, 0xcf, 0x5f, 0xa9, 0xf8, //0x00004708 .quad -528786136287117932 + 0xba, 0x1a, 0xe1, 0x3e, 0xbe, 0xaf, 0x86, 0xc9, //0x00004710 .quad -3925256793573221702 + 0x7c, 0xce, 0x48, 0xb5, 0xe1, 0xdb, 0x69, 0x9b, //0x00004718 .quad -7248020362820530564 + 0x68, 0x61, 0x99, 0xce, 0xad, 0x5b, 0xe8, 0xfb, //0x00004720 .quad -294884973539139224 + 0x1b, 0x02, 0x9b, 0x22, 0xda, 0x52, 0x44, 0xc2, //0x00004728 .quad -4448339435098275301 + 0xc3, 0xb9, 0x3f, 0x42, 0x99, 0x72, 0xe2, 0xfa, //0x00004730 .quad -368606216923924029 + 0xa2, 0xc2, 0x41, 0xab, 0x90, 0x67, 0xd5, 0xf2, //0x00004738 .quad -948738275445456222 + 0x1a, 0xd4, 0x67, 0xc9, 0x9f, 0x87, 0xcd, 0xdc, //0x00004740 .quad -2536221894791146470 + 0xa5, 0x19, 0x09, 0x6b, 0xba, 0x60, 0xc5, 0x97, //0x00004748 .quad -7510490449794491995 + 0x20, 0xc9, 0xc1, 0xbb, 0x87, 0xe9, 0x00, 0x54, //0x00004750 .quad 6053094668365842720 + 0x0f, 0x60, 0xcb, 0x05, 0xe9, 0xb8, 0xb6, 0xbd, //0x00004758 .quad -4776427043815727089 + 0x68, 0x3b, 0xb2, 0xaa, 0xe9, 0x23, 0x01, 0x29, //0x00004760 .quad 2954682317029915496 + 0x13, 0x38, 0x3e, 0x47, 0x23, 0x67, 0x24, 0xed, //0x00004768 .quad -1358847786342270957 + 0x21, 0x65, 0xaf, 0x0a, 0x72, 0xb6, 0xa0, 0xf9, //0x00004770 .quad -459166561069996767 + 0x0b, 0xe3, 0x86, 0x0c, 0x76, 0xc0, 0x36, 0x94, //0x00004778 .quad -7766808894105001205 + 0x69, 0x3e, 0x5b, 0x8d, 0x0e, 0xe4, 0x08, 0xf8, //0x00004780 .quad -573958201337495959 + 0xce, 0x9b, 0xa8, 0x8f, 0x93, 0x70, 0x44, 0xb9, //0x00004788 .quad -5096825099203863602 + 0x04, 0x0e, 0xb2, 0x30, 0x12, 0x1d, 0x0b, 0xb6, //0x00004790 .quad -5329133770099257852 + 0xc2, 0xc2, 0x92, 0x73, 0xb8, 0x8c, 0x95, 0xe7, //0x00004798 .quad -1759345355577441598 + 0xc2, 0x48, 0x6f, 0x5e, 0x2b, 0xf2, 0xc6, 0xb1, //0x000047a0 .quad -5636551615525730110 + 0xb9, 0xb9, 0x3b, 0x48, 0xf3, 0x77, 0xbd, 0x90, //0x000047a8 .quad -8017119874876982855 + 0xf3, 0x1a, 0x0b, 0x36, 0xb6, 0xae, 0x38, 0x1e, //0x000047b0 .quad 2177682517447613171 + 0x28, 0xa8, 0x4a, 0x1a, 0xf0, 0xd5, 0xec, 0xb4, //0x000047b8 .quad -5409713825168840664 + 0xb0, 0xe1, 0x8d, 0xc3, 0x63, 0xda, 0xc6, 0x25, //0x000047c0 .quad 2722103146809516464 + 0x32, 0x52, 0xdd, 0x20, 0x6c, 0x0b, 0x28, 0xe2, //0x000047c8 .quad -2150456263033662926 + 0x0e, 0xad, 0x38, 0x5a, 0x7e, 0x48, 0x9c, 0x57, //0x000047d0 .quad 6313000485183335694 + 0x5f, 0x53, 0x8a, 0x94, 0x23, 0x07, 0x59, 0x8d, //0x000047d8 .quad -8261564192037121185 + 0x51, 0xd8, 0xc6, 0xf0, 0x9d, 0x5a, 0x83, 0x2d, //0x000047e0 .quad 3279564588051781713 + 0x37, 0xe8, 0xac, 0x79, 0xec, 0x48, 0xaf, 0xb0, //0x000047e8 .quad -5715269221619013577 + 0x65, 0x8e, 0xf8, 0x6c, 0x45, 0x31, 0xe4, 0xf8, //0x000047f0 .quad -512230283362660763 + 0x44, 0x22, 0x18, 0x98, 0x27, 0x1b, 0xdb, 0xdc, //0x000047f8 .quad -2532400508596379068 + 0xff, 0x58, 0x1b, 0x64, 0xcb, 0x9e, 0x8e, 0x1b, //0x00004800 .quad 1985699082112030975 + 0x6b, 0x15, 0x0f, 0xbf, 0xf8, 0xf0, 0x08, 0x8a, //0x00004808 .quad -8500279345513818773 + 0x3f, 0x2f, 0x22, 0x3d, 0x7e, 0x46, 0x72, 0xe2, //0x00004810 .quad -2129562165787349185 + 0xc5, 0xda, 0xd2, 0xee, 0x36, 0x2d, 0x8b, 0xac, //0x00004818 .quad -6013663163464885563 + 0x0f, 0xbb, 0x6a, 0xcc, 0x1d, 0xd8, 0x0e, 0x5b, //0x00004820 .quad 6561419329620589327 + 0x77, 0x91, 0x87, 0xaa, 0x84, 0xf8, 0xad, 0xd7, //0x00004828 .quad -2905392935903719049 + 0xe9, 0xb4, 0xc2, 0x9f, 0x12, 0x47, 0xe9, 0x98, //0x00004830 .quad -7428327965055601431 + 0xea, 0xba, 0x94, 0xea, 0x52, 0xbb, 0xcc, 0x86, //0x00004838 .quad -8733399612580906262 + 0x24, 0x62, 0xb3, 0x47, 0xd7, 0x98, 0x23, 0x3f, //0x00004840 .quad 4549648098962661924 + 0xa5, 0xe9, 0x39, 0xa5, 0x27, 0xea, 0x7f, 0xa8, //0x00004848 .quad -6305063497298744923 + 0xad, 0x3a, 0xa0, 0x19, 0x0d, 0x7f, 0xec, 0x8e, //0x00004850 .quad -8147997931578836307 + 0x0e, 0x64, 0x88, 0x8e, 0xb1, 0xe4, 0x9f, 0xd2, //0x00004858 .quad -3269643353196043250 + 0xac, 0x24, 0x04, 0x30, 0x68, 0xcf, 0x53, 0x19, //0x00004860 .quad 1825030320404309164 + 0x89, 0x3e, 0x15, 0xf9, 0xee, 0xee, 0xa3, 0x83, //0x00004868 .quad -8961056123388608887 + 0xd7, 0x2d, 0x05, 0x3c, 0x42, 0xc3, 0xa8, 0x5f, //0x00004870 .quad 6892973918932774359 + 0x2b, 0x8e, 0x5a, 0xb7, 0xaa, 0xea, 0x8c, 0xa4, //0x00004878 .quad -6589634135808373205 + 0x4d, 0x79, 0x06, 0xcb, 0x12, 0xf4, 0x92, 0x37, //0x00004880 .quad 4004531380238580045 + 0xb6, 0x31, 0x31, 0x65, 0x55, 0x25, 0xb0, 0xcd, //0x00004888 .quad -3625356651333078602 + 0xd0, 0x0b, 0xe4, 0xbe, 0x8b, 0xd8, 0xbb, 0xe2, //0x00004890 .quad -2108853905778275376 + 0x11, 0xbf, 0x3e, 0x5f, 0x55, 0x17, 0x8e, 0x80, //0x00004898 .quad -9183376934724255983 + 0xc4, 0x0e, 0x9d, 0xae, 0xae, 0xce, 0x6a, 0x5b, //0x000048a0 .quad 6587304654631931588 + 0xd6, 0x6e, 0x0e, 0xb7, 0x2a, 0x9d, 0xb1, 0xa0, //0x000048a8 .quad -6867535149977932074 + 0x75, 0x52, 0x44, 0x5a, 0x5a, 0x82, 0x45, 0xf2, //0x000048b0 .quad -989241218564861323 + 0x8b, 0x0a, 0xd2, 0x64, 0x75, 0x04, 0xde, 0xc8, //0x000048b8 .quad -3972732919045027189 + 0x12, 0x67, 0xd5, 0xf0, 0xf0, 0xe2, 0xd6, 0xee, //0x000048c0 .quad -1236551523206076654 + 0x2e, 0x8d, 0x06, 0xbe, 0x92, 0x85, 0x15, 0xfb, //0x000048c8 .quad -354230130378896082 + 0x6b, 0x60, 0x85, 0x96, 0xd6, 0x4d, 0x46, 0x55, //0x000048d0 .quad 6144684325637283947 + 0x3d, 0x18, 0xc4, 0xb6, 0x7b, 0x73, 0xed, 0x9c, //0x000048d8 .quad -7138922859127891907 + 0x86, 0xb8, 0x26, 0x3c, 0x4c, 0xe1, 0x97, 0xaa, //0x000048e0 .quad -6154202648235558778 + 0x4c, 0x1e, 0x75, 0xa4, 0x5a, 0xd0, 0x28, 0xc4, //0x000048e8 .quad -4311967555482476980 + 0xa8, 0x66, 0x30, 0x4b, 0x9f, 0xd9, 0x3d, 0xd5, //0x000048f0 .quad -3081067291867060568 + 0xdf, 0x65, 0x92, 0x4d, 0x71, 0x04, 0x33, 0xf5, //0x000048f8 .quad -778273425925708321 + 0x29, 0x40, 0xfe, 0x8e, 0x03, 0xa8, 0x46, 0xe5, //0x00004900 .quad -1925667057416912855 + 0xab, 0x7f, 0x7b, 0xd0, 0xc6, 0xe2, 0x3f, 0x99, //0x00004908 .quad -7403949918844649557 + 0x33, 0xd0, 0xbd, 0x72, 0x04, 0x52, 0x98, 0xde, //0x00004910 .quad -2407083821771141069 + 0x96, 0x5f, 0x9a, 0x84, 0x78, 0xdb, 0x8f, 0xbf, //0x00004918 .quad -4643251380128424042 + 0x40, 0x44, 0x6d, 0x8f, 0x85, 0x66, 0x3e, 0x96, //0x00004920 .quad -7620540795641314240 + 0x7c, 0xf7, 0xc0, 0xa5, 0x56, 0xd2, 0x73, 0xef, //0x00004928 .quad -1192378206733142148 + 0xa8, 0x4a, 0xa4, 0x79, 0x13, 0x00, 0xe7, 0xdd, //0x00004930 .quad -2456994988062127448 + 0xad, 0x9a, 0x98, 0x27, 0x76, 0x63, 0xa8, 0x95, //0x00004938 .quad -7662765406849295699 + 0x52, 0x5d, 0x0d, 0x58, 0x18, 0xc0, 0x60, 0x55, //0x00004940 .quad 6152128301777116498 + 0x59, 0xc1, 0x7e, 0xb1, 0x53, 0x7c, 0x12, 0xbb, //0x00004948 .quad -4966770740134231719 + 0xa6, 0xb4, 0x10, 0x6e, 0x1e, 0xf0, 0xb8, 0xaa, //0x00004950 .quad -6144897678060768090 + 0xaf, 0x71, 0xde, 0x9d, 0x68, 0x1b, 0xd7, 0xe9, //0x00004958 .quad -1596777406740401745 + 0xe8, 0x70, 0xca, 0x04, 0x13, 0x96, 0xb3, 0xca, //0x00004960 .quad -3840561048787980056 + 0x0d, 0x07, 0xab, 0x62, 0x21, 0x71, 0x26, 0x92, //0x00004968 .quad -7915514906853832947 + 0x22, 0x0d, 0xfd, 0xc5, 0x97, 0x7b, 0x60, 0x3d, //0x00004970 .quad 4422670725869800738 + 0xd1, 0xc8, 0x55, 0xbb, 0x69, 0x0d, 0xb0, 0xb6, //0x00004978 .quad -5282707615139903279 + 0x6a, 0x50, 0x7c, 0xb7, 0x7d, 0x9a, 0xb8, 0x8c, //0x00004980 .quad -8306719647944912790 + 0x05, 0x3b, 0x2b, 0x2a, 0xc4, 0x10, 0x5c, 0xe4, //0x00004988 .quad -1991698500497491195 + 0x42, 0xb2, 0xad, 0x92, 0x8e, 0x60, 0xf3, 0x77, //0x00004990 .quad 8643358275316593218 + 0xe3, 0x04, 0x5b, 0x9a, 0x7a, 0x8a, 0xb9, 0x8e, //0x00004998 .quad -8162340590452013853 + 0xd3, 0x1e, 0x59, 0x37, 0xb2, 0x38, 0xf0, 0x55, //0x000049a0 .quad 6192511825718353619 + 0x1c, 0xc6, 0xf1, 0x40, 0x19, 0xed, 0x67, 0xb2, //0x000049a8 .quad -5591239719637629412 + 0x88, 0x66, 0x2f, 0xc5, 0xde, 0x46, 0x6c, 0x6b, //0x000049b0 .quad 7740639782147942024 + 0xa3, 0x37, 0x2e, 0x91, 0x5f, 0xe8, 0x01, 0xdf, //0x000049b8 .quad -2377363631119648861 + 0x15, 0xa0, 0x3d, 0x3b, 0x4b, 0xac, 0x23, 0x23, //0x000049c0 .quad 2532056854628769813 + 0xc6, 0xe2, 0xbc, 0xba, 0x3b, 0x31, 0x61, 0x8b, //0x000049c8 .quad -8403381297090862394 + 0x1a, 0x08, 0x0d, 0x0a, 0x5e, 0x97, 0xec, 0xab, //0x000049d0 .quad -6058300968568813542 + 0x77, 0x1b, 0x6c, 0xa9, 0x8a, 0x7d, 0x39, 0xae, //0x000049d8 .quad -5892540602936190089 + 0x21, 0x4a, 0x90, 0x8c, 0x35, 0xbd, 0xe7, 0x96, //0x000049e0 .quad -7572876210711016927 + 0x55, 0x22, 0xc7, 0x53, 0xed, 0xdc, 0xc7, 0xd9, //0x000049e8 .quad -2753989735242849707 + 0x54, 0x2e, 0xda, 0x77, 0x41, 0xd6, 0x50, 0x7e, //0x000049f0 .quad 9102010423587778132 + 0x75, 0x75, 0x5c, 0x54, 0x14, 0xea, 0x1c, 0x88, //0x000049f8 .quad -8638772612167862923 + 0xe9, 0xb9, 0xd0, 0xd5, 0xd1, 0x0b, 0xe5, 0xdd, //0x00004a00 .quad -2457545025797441047 + 0xd2, 0x92, 0x73, 0x69, 0x99, 0x24, 0x24, 0xaa, //0x00004a08 .quad -6186779746782440750 + 0x64, 0xe8, 0x44, 0x4b, 0xc6, 0x4e, 0x5e, 0x95, //0x00004a10 .quad -7683617300674189212 + 0x87, 0x77, 0xd0, 0xc3, 0xbf, 0x2d, 0xad, 0xd4, //0x00004a18 .quad -3121788665050663033 + 0x3e, 0x11, 0x0b, 0xef, 0x3b, 0xf1, 0x5a, 0xbd, //0x00004a20 .quad -4802260812921368258 + 0xb4, 0x4a, 0x62, 0xda, 0x97, 0x3c, 0xec, 0x84, //0x00004a28 .quad -8868646943297746252 + 0x8e, 0xd5, 0xcd, 0xea, 0x8a, 0xad, 0xb1, 0xec, //0x00004a30 .quad -1391139997724322418 + 0x61, 0xdd, 0xfa, 0xd0, 0xbd, 0x4b, 0x27, 0xa6, //0x00004a38 .quad -6474122660694794911 + 0xf2, 0x4a, 0x81, 0xa5, 0xed, 0x18, 0xde, 0x67, //0x00004a40 .quad 7484447039699372786 + 0xba, 0x94, 0x39, 0x45, 0xad, 0x1e, 0xb1, 0xcf, //0x00004a48 .quad -3480967307441105734 + 0xd7, 0xce, 0x70, 0x87, 0x94, 0xcf, 0xea, 0x80, //0x00004a50 .quad -9157278655470055721 + 0xf4, 0xfc, 0x43, 0x4b, 0x2c, 0xb3, 0xce, 0x81, //0x00004a58 .quad -9093133594791772940 + 0x8d, 0x02, 0x4d, 0xa9, 0x79, 0x83, 0x25, 0xa1, //0x00004a60 .quad -6834912300910181747 + 0x31, 0xfc, 0x14, 0x5e, 0xf7, 0x5f, 0x42, 0xa2, //0x00004a68 .quad -6754730975062328271 + 0x30, 0x43, 0xa0, 0x13, 0x58, 0xe4, 0x6e, 0x09, //0x00004a70 .quad 679731660717048624 + 0x3e, 0x3b, 0x9a, 0x35, 0xf5, 0xf7, 0xd2, 0xca, //0x00004a78 .quad -3831727700400522434 + 0xfc, 0x53, 0x88, 0x18, 0x6e, 0x9d, 0xca, 0x8b, //0x00004a80 .quad -8373707460958465028 + 0x0d, 0xca, 0x00, 0x83, 0xf2, 0xb5, 0x87, 0xfd, //0x00004a88 .quad -177973607073265139 + 0x7d, 0x34, 0x55, 0xcf, 0x64, 0xa2, 0x5e, 0x77, //0x00004a90 .quad 8601490892183123069 + 0x48, 0x7e, 0xe0, 0x91, 0xb7, 0xd1, 0x74, 0x9e, //0x00004a98 .quad -7028762532061872568 + 0x9d, 0x81, 0x2a, 0x03, 0xfe, 0x4a, 0x36, 0x95, //0x00004aa0 .quad -7694880458480647779 + 0xda, 0x9d, 0x58, 0x76, 0x25, 0x06, 0x12, 0xc6, //0x00004aa8 .quad -4174267146649952806 + 0x04, 0x22, 0xf5, 0x83, 0xbd, 0xdd, 0x83, 0x3a, //0x00004ab0 .quad 4216457482181353988 + 0x51, 0xc5, 0xee, 0xd3, 0xae, 0x87, 0x96, 0xf7, //0x00004ab8 .quad -606147914885053103 + 0x42, 0x35, 0x79, 0x72, 0x96, 0x6a, 0x92, 0xc4, //0x00004ac0 .quad -4282243101277735614 + 0x52, 0x3b, 0x75, 0x44, 0xcd, 0x14, 0xbe, 0x9a, //0x00004ac8 .quad -7296371474444240046 + 0x93, 0x82, 0x17, 0x0f, 0x3c, 0x05, 0xb7, 0x75, //0x00004ad0 .quad 8482254178684994195 + 0x27, 0x8a, 0x92, 0x95, 0x00, 0x9a, 0x6d, 0xc1, //0x00004ad8 .quad -4508778324627912153 + 0x38, 0x63, 0xdd, 0x12, 0x8b, 0xc6, 0x24, 0x53, //0x00004ae0 .quad 5991131704928854840 + 0xb1, 0x2c, 0xf7, 0xba, 0x80, 0x00, 0xc9, 0xf1, //0x00004ae8 .quad -1024286887357502287 + 0x03, 0x5e, 0xca, 0xeb, 0x16, 0xfc, 0xf6, 0xd3, //0x00004af0 .quad -3173071712060547581 + 0xee, 0x7b, 0xda, 0x74, 0x50, 0xa0, 0x1d, 0x97, //0x00004af8 .quad -7557708332239520786 + 0x84, 0xf5, 0xbc, 0xa6, 0x1c, 0xbb, 0xf4, 0x88, //0x00004b00 .quad -8578025658503072380 + 0xea, 0x1a, 0x11, 0x92, 0x64, 0x08, 0xe5, 0xbc, //0x00004b08 .quad -4835449396872013078 + 0xe5, 0x32, 0x6c, 0xd0, 0xe3, 0xe9, 0x31, 0x2b, //0x00004b10 .quad 3112525982153323237 + 0xa5, 0x61, 0x95, 0xb6, 0x7d, 0x4a, 0x1e, 0xec, //0x00004b18 .quad -1432625727662628443 + 0xcf, 0x9f, 0x43, 0x62, 0x2e, 0x32, 0xff, 0x3a, //0x00004b20 .quad 4251171748059520975 + 0x07, 0x5d, 0x1d, 0x92, 0x8e, 0xee, 0x92, 0x93, //0x00004b28 .quad -7812920107430224633 + 0xc2, 0x87, 0xd4, 0xfa, 0xb9, 0xfe, 0xbe, 0x09, //0x00004b30 .quad 702278666647013314 + 0x49, 0xb4, 0xa4, 0x36, 0x32, 0xaa, 0x77, 0xb8, //0x00004b38 .quad -5154464115860392887 + 0xb3, 0xa9, 0x89, 0x79, 0x68, 0xbe, 0x2e, 0x4c, //0x00004b40 .quad 5489534351736154547 + 0x5b, 0xe1, 0x4d, 0xc4, 0xbe, 0x94, 0x95, 0xe6, //0x00004b48 .quad -1831394126398103205 + 0x10, 0x0a, 0xf6, 0x4b, 0x01, 0x37, 0x9d, 0x0f, //0x00004b50 .quad 1125115960621402640 + 0xd9, 0xac, 0xb0, 0x3a, 0xf7, 0x7c, 0x1d, 0x90, //0x00004b58 .quad -8062150356639896359 + 0x94, 0x8c, 0xf3, 0x9e, 0xc1, 0x84, 0x84, 0x53, //0x00004b60 .quad 6018080969204141204 + 0x0f, 0xd8, 0x5c, 0x09, 0x35, 0xdc, 0x24, 0xb4, //0x00004b68 .quad -5466001927372482545 + 0xb9, 0x6f, 0xb0, 0x06, 0xf2, 0xa5, 0x65, 0x28, //0x00004b70 .quad 2910915193077788601 + 0x13, 0x0e, 0xb4, 0x4b, 0x42, 0x13, 0x2e, 0xe1, //0x00004b78 .quad -2220816390788215277 + 0xd3, 0x45, 0x2e, 0x44, 0xb7, 0x87, 0x3f, 0xf9, //0x00004b80 .quad -486521013540076077 + 0xcb, 0x88, 0x50, 0x6f, 0x09, 0xcc, 0xbc, 0x8c, //0x00004b88 .quad -8305539271883716405 + 0x48, 0xd7, 0x39, 0x15, 0xa5, 0x69, 0x8f, 0xf7, //0x00004b90 .quad -608151266925095096 + 0xfe, 0xaa, 0x24, 0xcb, 0x0b, 0xff, 0xeb, 0xaf, //0x00004b98 .quad -5770238071427257602 + 0x1b, 0x4d, 0x88, 0x5a, 0x0e, 0x44, 0x73, 0xb5, //0x00004ba0 .quad -5371875102083756773 + 0xbe, 0xd5, 0xed, 0xbd, 0xce, 0xfe, 0xe6, 0xdb, //0x00004ba8 .quad -2601111570856684098 + 0x30, 0x30, 0x95, 0xf8, 0x88, 0x0a, 0x68, 0x31, //0x00004bb0 .quad 3560107088838733872 + 0x97, 0xa5, 0xb4, 0x36, 0x41, 0x5f, 0x70, 0x89, //0x00004bb8 .quad -8543223759426509417 + 0x3d, 0x7c, 0xba, 0x36, 0x2b, 0x0d, 0xc2, 0xfd, //0x00004bc0 .quad -161552157378970563 + 0xfc, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00004bc8 .quad -6067343680855748868 + 0x4c, 0x1b, 0x69, 0x04, 0x76, 0x90, 0x32, 0x3d, //0x00004bd0 .quad 4409745821703674700 + 0xbc, 0x42, 0x7a, 0xe5, 0xd5, 0x94, 0xbf, 0xd6, //0x00004bd8 .quad -2972493582642298180 + 0x0f, 0xb1, 0xc1, 0xc2, 0x49, 0x9a, 0x3f, 0xa6, //0x00004be0 .quad -6467280898289979121 + 0xb5, 0x69, 0x6c, 0xaf, 0x05, 0xbd, 0x37, 0x86, //0x00004be8 .quad -8775337516792518219 + 0x53, 0x1d, 0x72, 0x33, 0xdc, 0x80, 0xcf, 0x0f, //0x00004bf0 .quad 1139270913992301907 + 0x23, 0x84, 0x47, 0x1b, 0x47, 0xac, 0xc5, 0xa7, //0x00004bf8 .quad -6357485877563259869 + 0xa8, 0xa4, 0x4e, 0x40, 0x13, 0x61, 0xc3, 0xd3, //0x00004c00 .quad -3187597375937010520 + 0x2b, 0x65, 0x19, 0xe2, 0x58, 0x17, 0xb7, 0xd1, //0x00004c08 .quad -3335171328526686933 + 0xe9, 0x26, 0x31, 0x08, 0xac, 0x1c, 0x5a, 0x64, //0x00004c10 .quad 7231123676894144233 + 0x3b, 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83, //0x00004c18 .quad -9002011107970261189 + 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, 0x70, 0x3d, //0x00004c20 .quad 4427218577690292387 + 0x0a, 0xd7, 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, //0x00004c28 .quad -6640827866535438582 + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00004c30 QUAD $0xcccccccccccccccc; QUAD $0xcccccccccccccccc // .space 16, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c40 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00004c48 .quad -9223372036854775808 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c50 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, //0x00004c58 .quad -6917529027641081856 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c60 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, //0x00004c68 .quad -4035225266123964416 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c70 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00004c78 .quad -432345564227567616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c80 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9c, //0x00004c88 .quad -7187745005283311616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c90 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, //0x00004c98 .quad -4372995238176751616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004ca0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, //0x00004ca8 .quad -854558029293551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004cb0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x96, 0x98, //0x00004cb8 .quad -7451627795949551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004cc0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbc, 0xbe, //0x00004cc8 .quad -4702848726509551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004cd0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6b, 0xee, //0x00004cd8 .quad -1266874889709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004ce0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x95, //0x00004ce8 .quad -7709325833709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004cf0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x40, 0xb7, 0x43, 0xba, //0x00004cf8 .quad -5024971273709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d00 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0xd4, 0xe8, //0x00004d08 .quad -1669528073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d10 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xe7, 0x84, 0x91, //0x00004d18 .quad -7960984073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d20 .quad 0 + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x20, 0xe6, 0xb5, //0x00004d28 .quad -5339544073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d30 .quad 0 + 0x00, 0x00, 0x00, 0xa0, 0x31, 0xa9, 0x5f, 0xe3, //0x00004d38 .quad -2062744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d40 .quad 0 + 0x00, 0x00, 0x00, 0x04, 0xbf, 0xc9, 0x1b, 0x8e, //0x00004d48 .quad -8206744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d50 .quad 0 + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0xbc, 0xa2, 0xb1, //0x00004d58 .quad -5646744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d60 .quad 0 + 0x00, 0x00, 0x40, 0x76, 0x3a, 0x6b, 0x0b, 0xde, //0x00004d68 .quad -2446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d70 .quad 0 + 0x00, 0x00, 0xe8, 0x89, 0x04, 0x23, 0xc7, 0x8a, //0x00004d78 .quad -8446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d80 .quad 0 + 0x00, 0x00, 0x62, 0xac, 0xc5, 0xeb, 0x78, 0xad, //0x00004d88 .quad -5946744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d90 .quad 0 + 0x00, 0x80, 0x7a, 0x17, 0xb7, 0x26, 0xd7, 0xd8, //0x00004d98 .quad -2821744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004da0 .quad 0 + 0x00, 0x90, 0xac, 0x6e, 0x32, 0x78, 0x86, 0x87, //0x00004da8 .quad -8681119073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004db0 .quad 0 + 0x00, 0xb4, 0x57, 0x0a, 0x3f, 0x16, 0x68, 0xa9, //0x00004db8 .quad -6239712823709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004dc0 .quad 0 + 0x00, 0xa1, 0xed, 0xcc, 0xce, 0x1b, 0xc2, 0xd3, //0x00004dc8 .quad -3187955011209551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004dd0 .quad 0 + 0xa0, 0x84, 0x14, 0x40, 0x61, 0x51, 0x59, 0x84, //0x00004dd8 .quad -8910000909647051616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004de0 .quad 0 + 0xc8, 0xa5, 0x19, 0x90, 0xb9, 0xa5, 0x6f, 0xa5, //0x00004de8 .quad -6525815118631426616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004df0 .quad 0 + 0x3a, 0x0f, 0x20, 0xf4, 0x27, 0x8f, 0xcb, 0xce, //0x00004df8 .quad -3545582879861895366 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, //0x00004e00 .quad 4611686018427387904 + 0x84, 0x09, 0x94, 0xf8, 0x78, 0x39, 0x3f, 0x81, //0x00004e08 .quad -9133518327554766460 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, //0x00004e10 .quad 5764607523034234880 + 0xe5, 0x0b, 0xb9, 0x36, 0xd7, 0x07, 0x8f, 0xa1, //0x00004e18 .quad -6805211891016070171 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, //0x00004e20 .quad -6629298651489370112 + 0xde, 0x4e, 0x67, 0x04, 0xcd, 0xc9, 0xf2, 0xc9, //0x00004e28 .quad -3894828845342699810 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, //0x00004e30 .quad 5548434740920451072 + 0x96, 0x22, 0x81, 0x45, 0x40, 0x7c, 0x6f, 0xfc, //0x00004e38 .quad -256850038250986858 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, //0x00004e40 .quad -1143914305352105984 + 0x9d, 0xb5, 0x70, 0x2b, 0xa8, 0xad, 0xc5, 0x9d, //0x00004e48 .quad -7078060301547948643 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6c, //0x00004e50 .quad 7793479155164643328 + 0x05, 0xe3, 0x4c, 0x36, 0x12, 0x19, 0x37, 0xc5, //0x00004e58 .quad -4235889358507547899 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xc7, //0x00004e60 .quad -4093209111326359552 + 0xc6, 0x1b, 0xe0, 0xc3, 0x56, 0xdf, 0x84, 0xf6, //0x00004e68 .quad -683175679707046970 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7f, 0x3c, //0x00004e70 .quad 4359273333062107136 + 0x5c, 0x11, 0x6c, 0x3a, 0x96, 0x0b, 0x13, 0x9a, //0x00004e78 .quad -7344513827457986212 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x9f, 0x4b, //0x00004e80 .quad 5449091666327633920 + 0xb3, 0x15, 0x07, 0xc9, 0x7b, 0xce, 0x97, 0xc0, //0x00004e88 .quad -4568956265895094861 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x86, 0x1e, //0x00004e90 .quad 2199678564482154496 + 0x20, 0xdb, 0x48, 0xbb, 0x1a, 0xc2, 0xbd, 0xf0, //0x00004e98 .quad -1099509313941480672 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x14, 0x13, //0x00004ea0 .quad 1374799102801346560 + 0xf4, 0x88, 0x0d, 0xb5, 0x50, 0x99, 0x76, 0x96, //0x00004ea8 .quad -7604722348854507276 + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x55, 0xd9, 0x17, //0x00004eb0 .quad 1718498878501683200 + 0x31, 0xeb, 0x50, 0xe2, 0xa4, 0x3f, 0x14, 0xbc, //0x00004eb8 .quad -4894216917640746191 + 0x00, 0x00, 0x00, 0x00, 0x08, 0xab, 0xcf, 0x5d, //0x00004ec0 .quad 6759809616554491904 + 0xfd, 0x25, 0xe5, 0x1a, 0x8e, 0x4f, 0x19, 0xeb, //0x00004ec8 .quad -1506085128623544835 + 0x00, 0x00, 0x00, 0x00, 0xe5, 0xca, 0xa1, 0x5a, //0x00004ed0 .quad 6530724019560251392 + 0xbe, 0x37, 0xcf, 0xd0, 0xb8, 0xd1, 0xef, 0x92, //0x00004ed8 .quad -7858832233030797378 + 0x00, 0x00, 0x00, 0x40, 0x9e, 0x3d, 0x4a, 0xf1, //0x00004ee0 .quad -1059967012404461568 + 0xad, 0x05, 0x03, 0x05, 0x27, 0xc6, 0xab, 0xb7, //0x00004ee8 .quad -5211854272861108819 + 0x00, 0x00, 0x00, 0xd0, 0x05, 0xcd, 0x9c, 0x6d, //0x00004ef0 .quad 7898413271349198848 + 0x19, 0xc7, 0x43, 0xc6, 0xb0, 0xb7, 0x96, 0xe5, //0x00004ef8 .quad -1903131822648998119 + 0x00, 0x00, 0x00, 0xa2, 0x23, 0x00, 0x82, 0xe4, //0x00004f00 .quad -1981020733047832576 + 0x6f, 0x5c, 0xea, 0x7b, 0xce, 0x32, 0x7e, 0x8f, //0x00004f08 .quad -8106986416796705681 + 0x00, 0x00, 0x80, 0x8a, 0x2c, 0x80, 0xa2, 0xdd, //0x00004f10 .quad -2476275916309790720 + 0x8b, 0xf3, 0xe4, 0x1a, 0x82, 0xbf, 0x5d, 0xb3, //0x00004f18 .quad -5522047002568494197 + 0x00, 0x00, 0x20, 0xad, 0x37, 0x20, 0x0b, 0xd5, //0x00004f20 .quad -3095344895387238400 + 0x6e, 0x30, 0x9e, 0xa1, 0x62, 0x2f, 0x35, 0xe0, //0x00004f28 .quad -2290872734783229842 + 0x00, 0x00, 0x34, 0xcc, 0x22, 0xf4, 0x26, 0x45, //0x00004f30 .quad 4982938468024057856 + 0x45, 0xde, 0x02, 0xa5, 0x9d, 0x3d, 0x21, 0x8c, //0x00004f38 .quad -8349324486880600507 + 0x00, 0x00, 0x41, 0x7f, 0x2b, 0xb1, 0x70, 0x96, //0x00004f40 .quad -7606384970252091392 + 0xd6, 0x95, 0x43, 0x0e, 0x05, 0x8d, 0x29, 0xaf, //0x00004f48 .quad -5824969590173362730 + 0x00, 0x40, 0x11, 0x5f, 0x76, 0xdd, 0x0c, 0x3c, //0x00004f50 .quad 4327076842467049472 + 0x4c, 0x7b, 0xd4, 0x51, 0x46, 0xf0, 0xf3, 0xda, //0x00004f58 .quad -2669525969289315508 + 0x00, 0xc8, 0x6a, 0xfb, 0x69, 0x0a, 0x88, 0xa5, //0x00004f60 .quad -6518949010312869888 + 0x0f, 0xcd, 0x24, 0xf3, 0x2b, 0x76, 0xd8, 0x88, //0x00004f68 .quad -8585982758446904049 + 0x00, 0x7a, 0x45, 0x7a, 0x04, 0x0d, 0xea, 0x8e, //0x00004f70 .quad -8148686262891087360 + 0x53, 0x00, 0xee, 0xef, 0xb6, 0x93, 0x0e, 0xab, //0x00004f78 .quad -6120792429631242157 + 0x80, 0xd8, 0xd6, 0x98, 0x45, 0x90, 0xa4, 0x72, //0x00004f80 .quad 8260886245095692416 + 0x68, 0x80, 0xe9, 0xab, 0xa4, 0x38, 0xd2, 0xd5, //0x00004f88 .quad -3039304518611664792 + 0x50, 0x47, 0x86, 0x7f, 0x2b, 0xda, 0xa6, 0x47, //0x00004f90 .quad 5163053903184807760 + 0x41, 0xf0, 0x71, 0xeb, 0x66, 0x63, 0xa3, 0x85, //0x00004f98 .quad -8817094351773372351 + 0x24, 0xd9, 0x67, 0x5f, 0xb6, 0x90, 0x90, 0x99, //0x00004fa0 .quad -7381240676301154012 + 0x51, 0x6c, 0x4e, 0xa6, 0x40, 0x3c, 0x0c, 0xa7, //0x00004fa8 .quad -6409681921289327535 + 0x6d, 0xcf, 0x41, 0xf7, 0xe3, 0xb4, 0xf4, 0xff, //0x00004fb0 .quad -3178808521666707 + 0x65, 0x07, 0xe2, 0xcf, 0x50, 0x4b, 0xcf, 0xd0, //0x00004fb8 .quad -3400416383184271515 + 0xa4, 0x21, 0x89, 0x7a, 0x0e, 0xf1, 0xf8, 0xbf, //0x00004fc0 .quad -4613672773753429596 + 0x9f, 0x44, 0xed, 0x81, 0x12, 0x8f, 0x81, 0x82, //0x00004fc8 .quad -9042789267131251553 + 0x0d, 0x6a, 0x2b, 0x19, 0x52, 0x2d, 0xf7, 0xaf, //0x00004fd0 .quad -5767090967191786995 + 0xc7, 0x95, 0x68, 0x22, 0xd7, 0xf2, 0x21, 0xa3, //0x00004fd8 .quad -6691800565486676537 + 0x90, 0x44, 0x76, 0x9f, 0xa6, 0xf8, 0xf4, 0x9b, //0x00004fe0 .quad -7208863708989733744 + 0x39, 0xbb, 0x02, 0xeb, 0x8c, 0x6f, 0xea, 0xcb, //0x00004fe8 .quad -3753064688430957767 + 0xb4, 0xd5, 0x53, 0x47, 0xd0, 0x36, 0xf2, 0x02, //0x00004ff0 .quad 212292400617608628 + 0x08, 0x6a, 0xc3, 0x25, 0x70, 0x0b, 0xe5, 0xfe, //0x00004ff8 .quad -79644842111309304 + 0x90, 0x65, 0x94, 0x2c, 0x42, 0x62, 0xd7, 0x01, //0x00005000 .quad 132682750386005392 + 0x45, 0x22, 0x9a, 0x17, 0x26, 0x27, 0x4f, 0x9f, //0x00005008 .quad -6967307053960650171 + 0xf5, 0x7e, 0xb9, 0xb7, 0xd2, 0x3a, 0x4d, 0x42, //0x00005010 .quad 4777539456409894645 + 0xd6, 0xaa, 0x80, 0x9d, 0xef, 0xf0, 0x22, 0xc7, //0x00005018 .quad -4097447799023424810 + 0xb2, 0xde, 0xa7, 0x65, 0x87, 0x89, 0xe0, 0xd2, //0x00005020 .quad -3251447716342407502 + 0x8b, 0xd5, 0xe0, 0x84, 0x2b, 0xad, 0xeb, 0xf8, //0x00005028 .quad -510123730351893109 + 0x2f, 0xeb, 0x88, 0x9f, 0xf4, 0x55, 0xcc, 0x63, //0x00005030 .quad 7191217214140771119 + 0x77, 0x85, 0x0c, 0x33, 0x3b, 0x4c, 0x93, 0x9b, //0x00005038 .quad -7236356359111015049 + 0xfb, 0x25, 0x6b, 0xc7, 0x71, 0x6b, 0xbf, 0x3c, //0x00005040 .quad 4377335499248575995 + 0xd5, 0xa6, 0xcf, 0xff, 0x49, 0x1f, 0x78, 0xc2, //0x00005048 .quad -4433759430461380907 + 0x7a, 0xef, 0x45, 0x39, 0x4e, 0x46, 0xef, 0x8b, //0x00005050 .quad -8363388681221443718 + 0x8a, 0x90, 0xc3, 0x7f, 0x1c, 0x27, 0x16, 0xf3, //0x00005058 .quad -930513269649338230 + 0xac, 0xb5, 0xcb, 0xe3, 0xf0, 0x8b, 0x75, 0x97, //0x00005060 .quad -7532960934977096276 + 0x56, 0x3a, 0xda, 0xcf, 0x71, 0xd8, 0xed, 0x97, //0x00005068 .quad -7499099821171918250 + 0x17, 0xa3, 0xbe, 0x1c, 0xed, 0xee, 0x52, 0x3d, //0x00005070 .quad 4418856886560793367 + 0xec, 0xc8, 0xd0, 0x43, 0x8e, 0x4e, 0xe9, 0xbd, //0x00005078 .quad -4762188758037509908 + 0xdd, 0x4b, 0xee, 0x63, 0xa8, 0xaa, 0xa7, 0x4c, //0x00005080 .quad 5523571108200991709 + 0x27, 0xfb, 0xc4, 0xd4, 0x31, 0xa2, 0x63, 0xed, //0x00005088 .quad -1341049929119499481 + 0x6a, 0xef, 0x74, 0x3e, 0xa9, 0xca, 0xe8, 0x8f, //0x00005090 .quad -8076983103442849942 + 0xf8, 0x1c, 0xfb, 0x24, 0x5f, 0x45, 0x5e, 0x94, //0x00005098 .quad -7755685233340769032 + 0x44, 0x2b, 0x12, 0x8e, 0x53, 0xfd, 0xe2, 0xb3, //0x000050a0 .quad -5484542860876174524 + 0x36, 0xe4, 0x39, 0xee, 0xb6, 0xd6, 0x75, 0xb9, //0x000050a8 .quad -5082920523248573386 + 0x16, 0xb6, 0x96, 0x71, 0xa8, 0xbc, 0xdb, 0x60, //0x000050b0 .quad 6979379479186945558 + 0x44, 0x5d, 0xc8, 0xa9, 0x64, 0x4c, 0xd3, 0xe7, //0x000050b8 .quad -1741964635633328828 + 0xcd, 0x31, 0xfe, 0x46, 0xe9, 0x55, 0x89, 0xbc, //0x000050c0 .quad -4861259862362934835 + 0x4a, 0x3a, 0x1d, 0xea, 0xbe, 0x0f, 0xe4, 0x90, //0x000050c8 .quad -8006256924911912374 + 0x41, 0xbe, 0xbd, 0x98, 0x63, 0xab, 0xab, 0x6b, //0x000050d0 .quad 7758483227328495169 + 0xdd, 0x88, 0xa4, 0xa4, 0xae, 0x13, 0x1d, 0xb5, //0x000050d8 .quad -5396135137712502563 + 0xd1, 0x2d, 0xed, 0x7e, 0x3c, 0x96, 0x96, 0xc6, //0x000050e0 .quad -4136954021121544751 + 0x14, 0xab, 0xcd, 0x4d, 0x9a, 0x58, 0x64, 0xe2, //0x000050e8 .quad -2133482903713240300 + 0xa2, 0x3c, 0x54, 0xcf, 0xe5, 0x1d, 0x1e, 0xfc, //0x000050f0 .quad -279753253987271518 + 0xec, 0x8a, 0xa0, 0x70, 0x60, 0xb7, 0x7e, 0x8d, //0x000050f8 .quad -8250955842461857044 + 0xcb, 0x4b, 0x29, 0x43, 0x5f, 0xa5, 0x25, 0x3b, //0x00005100 .quad 4261994450943298507 + 0xa8, 0xad, 0xc8, 0x8c, 0x38, 0x65, 0xde, 0xb0, //0x00005108 .quad -5702008784649933400 + 0xbe, 0x9e, 0xf3, 0x13, 0xb7, 0x0e, 0xef, 0x49, //0x00005110 .quad 5327493063679123134 + 0x12, 0xd9, 0xfa, 0xaf, 0x86, 0xfe, 0x15, 0xdd, //0x00005118 .quad -2515824962385028846 + 0x37, 0x43, 0x78, 0x6c, 0x32, 0x69, 0x35, 0x6e, //0x00005120 .quad 7941369183226839863 + 0xab, 0xc7, 0xfc, 0x2d, 0x14, 0xbf, 0x2d, 0x8a, //0x00005128 .quad -8489919629131724885 + 0x04, 0x54, 0x96, 0x07, 0x7f, 0xc3, 0xc2, 0x49, //0x00005130 .quad 5315025460606161924 + 0x96, 0xf9, 0x7b, 0x39, 0xd9, 0x2e, 0xb9, 0xac, //0x00005138 .quad -6000713517987268202 + 0x06, 0xe9, 0x7b, 0xc9, 0x5e, 0x74, 0x33, 0xdc, //0x00005140 .quad -2579590211097073402 + 0xfb, 0xf7, 0xda, 0x87, 0x8f, 0x7a, 0xe7, 0xd7, //0x00005148 .quad -2889205879056697349 + 0xa3, 0x71, 0xed, 0x3d, 0xbb, 0x28, 0xa0, 0x69, //0x00005150 .quad 7611128154919104931 + 0xfd, 0xda, 0xe8, 0xb4, 0x99, 0xac, 0xf0, 0x86, //0x00005158 .quad -8723282702051517699 + 0x0c, 0xce, 0x68, 0x0d, 0xea, 0x32, 0x08, 0xc4, //0x00005160 .quad -4321147861633282548 + 0xbc, 0x11, 0x23, 0x22, 0xc0, 0xd7, 0xac, 0xa8, //0x00005168 .quad -6292417359137009220 + 0x90, 0x01, 0xc3, 0x90, 0xa4, 0x3f, 0x0a, 0xf5, //0x00005170 .quad -789748808614215280 + 0x2b, 0xd6, 0xab, 0x2a, 0xb0, 0x0d, 0xd8, 0xd2, //0x00005178 .quad -3253835680493873621 + 0xfa, 0xe0, 0x79, 0xda, 0xc6, 0x67, 0x26, 0x79, //0x00005180 .quad 8729779031470891258 + 0xdb, 0x65, 0xab, 0x1a, 0x8e, 0x08, 0xc7, 0x83, //0x00005188 .quad -8951176327949752869 + 0x38, 0x59, 0x18, 0x91, 0xb8, 0x01, 0x70, 0x57, //0x00005190 .quad 6300537770911226168 + 0x52, 0x3f, 0x56, 0xa1, 0xb1, 0xca, 0xb8, 0xa4, //0x00005198 .quad -6577284391509803182 + 0x86, 0x6f, 0x5e, 0xb5, 0x26, 0x02, 0x4c, 0xed, //0x000051a0 .quad -1347699823215743098 + 0x26, 0xcf, 0xab, 0x09, 0x5e, 0xfd, 0xe6, 0xcd, //0x000051a8 .quad -3609919470959866074 + 0xb4, 0x05, 0x5b, 0x31, 0x58, 0x81, 0x4f, 0x54, //0x000051b0 .quad 6075216638131242420 + 0x78, 0x61, 0x0b, 0xc6, 0x5a, 0x5e, 0xb0, 0x80, //0x000051b8 .quad -9173728696990998152 + 0x21, 0xc7, 0xb1, 0x3d, 0xae, 0x61, 0x63, 0x69, //0x000051c0 .quad 7594020797664053025 + 0xd6, 0x39, 0x8e, 0x77, 0xf1, 0x75, 0xdc, 0xa0, //0x000051c8 .quad -6855474852811359786 + 0xe9, 0x38, 0x1e, 0xcd, 0x19, 0x3a, 0xbc, 0x03, //0x000051d0 .quad 269153960225290473 + 0x4c, 0xc8, 0x71, 0xd5, 0x6d, 0x93, 0x13, 0xc9, //0x000051d8 .quad -3957657547586811828 + 0x23, 0xc7, 0x65, 0x40, 0xa0, 0x48, 0xab, 0x04, //0x000051e0 .quad 336442450281613091 + 0x5f, 0x3a, 0xce, 0x4a, 0x49, 0x78, 0x58, 0xfb, //0x000051e8 .quad -335385916056126881 + 0x76, 0x9c, 0x3f, 0x28, 0x64, 0x0d, 0xeb, 0x62, //0x000051f0 .quad 7127805559067090038 + 0x7b, 0xe4, 0xc0, 0xce, 0x2d, 0x4b, 0x17, 0x9d, //0x000051f8 .quad -7127145225176161157 + 0x94, 0x83, 0x4f, 0x32, 0xbd, 0xd0, 0xa5, 0x3b, //0x00005200 .quad 4298070930406474644 + 0x9a, 0x1d, 0x71, 0x42, 0xf9, 0x1d, 0x5d, 0xc4, //0x00005208 .quad -4297245513042813542 + 0x79, 0x64, 0xe3, 0x7e, 0xec, 0x44, 0x8f, 0xca, //0x00005210 .quad -3850783373846682503 + 0x00, 0x65, 0x0d, 0x93, 0x77, 0x65, 0x74, 0xf5, //0x00005218 .quad -759870872876129024 + 0xcb, 0x1e, 0x4e, 0xcf, 0x13, 0x8b, 0x99, 0x7e, //0x00005220 .quad 9122475437414293195 + 0x20, 0x5f, 0xe8, 0xbb, 0x6a, 0xbf, 0x68, 0x99, //0x00005228 .quad -7392448323188662496 + 0x7e, 0xa6, 0x21, 0xc3, 0xd8, 0xed, 0x3f, 0x9e, //0x00005230 .quad -7043649776941685122 + 0xe8, 0x76, 0xe2, 0x6a, 0x45, 0xef, 0xc2, 0xbf, //0x00005238 .quad -4628874385558440216 + 0x1e, 0x10, 0xea, 0xf3, 0x4e, 0xe9, 0xcf, 0xc5, //0x00005240 .quad -4192876202749718498 + 0xa2, 0x14, 0x9b, 0xc5, 0x16, 0xab, 0xb3, 0xef, //0x00005248 .quad -1174406963520662366 + 0x12, 0x4a, 0x72, 0x58, 0xd1, 0xf1, 0xa1, 0xbb, //0x00005250 .quad -4926390635932268014 + 0xe5, 0xec, 0x80, 0x3b, 0xee, 0x4a, 0xd0, 0x95, //0x00005258 .quad -7651533379841495835 + 0x97, 0xdc, 0x8e, 0xae, 0x45, 0x6e, 0x8a, 0x2a, //0x00005260 .quad 3065383741939440791 + 0x1f, 0x28, 0x61, 0xca, 0xa9, 0x5d, 0x44, 0xbb, //0x00005268 .quad -4952730706374481889 + 0xbd, 0x93, 0x32, 0x1a, 0xd7, 0x09, 0x2d, 0xf5, //0x00005270 .quad -779956341003086915 + 0x26, 0x72, 0xf9, 0x3c, 0x14, 0x75, 0x15, 0xea, //0x00005278 .quad -1579227364540714458 + 0x56, 0x9c, 0x5f, 0x70, 0x26, 0x26, 0x3c, 0x59, //0x00005280 .quad 6430056314514152534 + 0x58, 0xe7, 0x1b, 0xa6, 0x2c, 0x69, 0x4d, 0x92, //0x00005288 .quad -7904546130479028392 + 0x6c, 0x83, 0x77, 0x0c, 0xb0, 0x2f, 0x8b, 0x6f, //0x00005290 .quad 8037570393142690668 + 0x2e, 0xe1, 0xa2, 0xcf, 0x77, 0xc3, 0xe0, 0xb6, //0x00005298 .quad -5268996644671397586 + 0x47, 0x64, 0x95, 0x0f, 0x9c, 0xfb, 0x6d, 0x0b, //0x000052a0 .quad 823590954573587527 + 0x7a, 0x99, 0x8b, 0xc3, 0x55, 0xf4, 0x98, 0xe4, //0x000052a8 .quad -1974559787411859078 + 0xac, 0x5e, 0xbd, 0x89, 0x41, 0xbd, 0x24, 0x47, //0x000052b0 .quad 5126430365035880108 + 0xec, 0x3f, 0x37, 0x9a, 0xb5, 0x98, 0xdf, 0x8e, //0x000052b8 .quad -8151628894773493780 + 0x57, 0xb6, 0x2c, 0xec, 0x91, 0xec, 0xed, 0x58, //0x000052c0 .quad 6408037956294850135 + 0xe7, 0x0f, 0xc5, 0x00, 0xe3, 0x7e, 0x97, 0xb2, //0x000052c8 .quad -5577850100039479321 + 0xed, 0xe3, 0x37, 0x67, 0xb6, 0x67, 0x29, 0x2f, //0x000052d0 .quad 3398361426941174765 + 0xe1, 0x53, 0xf6, 0xc0, 0x9b, 0x5e, 0x3d, 0xdf, //0x000052d8 .quad -2360626606621961247 + 0x74, 0xee, 0x82, 0x00, 0xd2, 0xe0, 0x79, 0xbd, //0x000052e0 .quad -4793553135802847628 + 0x6c, 0xf4, 0x99, 0x58, 0x21, 0x5b, 0x86, 0x8b, //0x000052e8 .quad -8392920656779807636 + 0x11, 0xaa, 0xa3, 0x80, 0x06, 0x59, 0xd8, 0xec, //0x000052f0 .quad -1380255401326171631 + 0x87, 0x71, 0xc0, 0xae, 0xe9, 0xf1, 0x67, 0xae, //0x000052f8 .quad -5879464802547371641 + 0x95, 0x94, 0xcc, 0x20, 0x48, 0x6f, 0x0e, 0xe8, //0x00005300 .quad -1725319251657714539 + 0xe9, 0x8d, 0x70, 0x1a, 0x64, 0xee, 0x01, 0xda, //0x00005308 .quad -2737644984756826647 + 0xdd, 0xdc, 0x7f, 0x14, 0x8d, 0x05, 0x09, 0x31, //0x00005310 .quad 3533361486141316317 + 0xb2, 0x58, 0x86, 0x90, 0xfe, 0x34, 0x41, 0x88, //0x00005318 .quad -8628557143114098510 + 0x15, 0xd4, 0x9f, 0x59, 0xf0, 0x46, 0x4b, 0xbd, //0x00005320 .quad -4806670179178130411 + 0xde, 0xee, 0xa7, 0x34, 0x3e, 0x82, 0x51, 0xaa, //0x00005328 .quad -6174010410465235234 + 0x1a, 0xc9, 0x07, 0x70, 0xac, 0x18, 0x9e, 0x6c, //0x00005330 .quad 7826720331309500698 + 0x96, 0xea, 0xd1, 0xc1, 0xcd, 0xe2, 0xe5, 0xd4, //0x00005338 .quad -3105826994654156138 + 0xb0, 0xdd, 0x04, 0xc6, 0x6b, 0xcf, 0xe2, 0x03, //0x00005340 .quad 280014188641050032 + 0x9e, 0x32, 0x23, 0x99, 0xc0, 0xad, 0x0f, 0x85, //0x00005348 .quad -8858670899299929442 + 0x1c, 0x15, 0x86, 0xb7, 0x46, 0x83, 0xdb, 0x84, //0x00005350 .quad -8873354301053463268 + 0x45, 0xff, 0x6b, 0xbf, 0x30, 0x99, 0x53, 0xa6, //0x00005358 .quad -6461652605697523899 + 0x63, 0x9a, 0x67, 0x65, 0x18, 0x64, 0x12, 0xe6, //0x00005360 .quad -1868320839462053277 + 0x16, 0xff, 0x46, 0xef, 0x7c, 0x7f, 0xe8, 0xcf, //0x00005368 .quad -3465379738694516970 + 0x7e, 0xc0, 0x60, 0x3f, 0x8f, 0x7e, 0xcb, 0x4f, //0x00005370 .quad 5749828502977298558 + 0x6e, 0x5f, 0x8c, 0x15, 0xae, 0x4f, 0xf1, 0x81, //0x00005378 .quad -9083391364325154962 + 0x9d, 0xf0, 0x38, 0x0f, 0x33, 0x5e, 0xbe, 0xe3, //0x00005380 .quad -2036086408133152611 + 0x49, 0x77, 0xef, 0x9a, 0x99, 0xa3, 0x6d, 0xa2, //0x00005388 .quad -6742553186979055799 + 0xc5, 0x2c, 0x07, 0xd3, 0xbf, 0xf5, 0xad, 0x5c, //0x00005390 .quad 6678264026688335045 + 0x1c, 0x55, 0xab, 0x01, 0x80, 0x0c, 0x09, 0xcb, //0x00005398 .quad -3816505465296431844 + 0xf6, 0xf7, 0xc8, 0xc7, 0x2f, 0x73, 0xd9, 0x73, //0x000053a0 .quad 8347830033360418806 + 0x63, 0x2a, 0x16, 0x02, 0xa0, 0x4f, 0xcb, 0xfd, //0x000053a8 .quad -158945813193151901 + 0xfa, 0x9a, 0xdd, 0xdc, 0xfd, 0xe7, 0x67, 0x28, //0x000053b0 .quad 2911550761636567802 + 0x7e, 0xda, 0x4d, 0x01, 0xc4, 0x11, 0x9f, 0x9e, //0x000053b8 .quad -7016870160886801794 + 0xb8, 0x01, 0x15, 0x54, 0xfd, 0xe1, 0x81, 0xb2, //0x000053c0 .quad -5583933584809066056 + 0x1d, 0x51, 0xa1, 0x01, 0x35, 0xd6, 0x46, 0xc6, //0x000053c8 .quad -4159401682681114339 + 0x26, 0x42, 0x1a, 0xa9, 0x7c, 0x5a, 0x22, 0x1f, //0x000053d0 .quad 2243455055843443238 + 0x65, 0xa5, 0x09, 0x42, 0xc2, 0x8b, 0xd8, 0xf7, //0x000053d8 .quad -587566084924005019 + 0x58, 0x69, 0xb0, 0xe9, 0x8d, 0x78, 0x75, 0x33, //0x000053e0 .quad 3708002419115845976 + 0x5f, 0x07, 0x46, 0x69, 0x59, 0x57, 0xe7, 0x9a, //0x000053e8 .quad -7284757830718584993 + 0xae, 0x83, 0x1c, 0x64, 0xb1, 0xd6, 0x52, 0x00, //0x000053f0 .quad 23317005467419566 + 0x37, 0x89, 0x97, 0xc3, 0x2f, 0x2d, 0xa1, 0xc1, //0x000053f8 .quad -4494261269970843337 + 0x9a, 0xa4, 0x23, 0xbd, 0x5d, 0x8c, 0x67, 0xc0, //0x00005400 .quad -4582539761593113446 + 0x84, 0x6b, 0x7d, 0xb4, 0x7b, 0x78, 0x09, 0xf2, //0x00005408 .quad -1006140569036166268 + 0xe0, 0x46, 0x36, 0x96, 0xba, 0xb7, 0x40, 0xf8, //0x00005410 .quad -558244341782001952 + 0x32, 0x63, 0xce, 0x50, 0x4d, 0xeb, 0x45, 0x97, //0x00005418 .quad -7546366883288685774 + 0x98, 0xd8, 0xc3, 0x3b, 0xa9, 0xe5, 0x50, 0xb6, //0x00005420 .quad -5309491445654890344 + 0xff, 0xfb, 0x01, 0xa5, 0x20, 0x66, 0x17, 0xbd, //0x00005428 .quad -4821272585683469313 + 0xbe, 0xce, 0xb4, 0x8a, 0x13, 0x1f, 0xe5, 0xa3, //0x00005430 .quad -6636864307068612930 + 0xff, 0x7a, 0x42, 0xce, 0xa8, 0x3f, 0x5d, 0xec, //0x00005438 .quad -1414904713676948737 + 0x37, 0x01, 0xb1, 0x36, 0x6c, 0x33, 0x6f, 0xc6, //0x00005440 .quad -4148040191917883081 + 0xdf, 0x8c, 0xe9, 0x80, 0xc9, 0x47, 0xba, 0x93, //0x00005448 .quad -7801844473689174817 + 0x84, 0x41, 0x5d, 0x44, 0x47, 0x00, 0x0b, 0xb8, //0x00005450 .quad -5185050239897353852 + 0x17, 0xf0, 0x23, 0xe1, 0xbb, 0xd9, 0xa8, 0xb8, //0x00005458 .quad -5140619573684080617 + 0xe5, 0x91, 0x74, 0x15, 0x59, 0xc0, 0x0d, 0xa6, //0x00005460 .quad -6481312799871692315 + 0x1d, 0xec, 0x6c, 0xd9, 0x2a, 0x10, 0xd3, 0xe6, //0x00005468 .quad -1814088448677712867 + 0x2f, 0xdb, 0x68, 0xad, 0x37, 0x98, 0xc8, 0x87, //0x00005470 .quad -8662506518347195601 + 0x92, 0x13, 0xe4, 0xc7, 0x1a, 0xea, 0x43, 0x90, //0x00005478 .quad -8051334308064652398 + 0xfb, 0x11, 0xc3, 0x98, 0x45, 0xbe, 0xba, 0x29, //0x00005480 .quad 3006924907348169211 + 0x77, 0x18, 0xdd, 0x79, 0xa1, 0xe4, 0x54, 0xb4, //0x00005488 .quad -5452481866653427593 + 0x7a, 0xd6, 0xf3, 0xfe, 0xd6, 0x6d, 0x29, 0xf4, //0x00005490 .quad -853029884242176390 + 0x94, 0x5e, 0x54, 0xd8, 0xc9, 0x1d, 0x6a, 0xe1, //0x00005498 .quad -2203916314889396588 + 0x0c, 0x66, 0x58, 0x5f, 0xa6, 0xe4, 0x99, 0x18, //0x000054a0 .quad 1772699331562333708 + 0x1d, 0xbb, 0x34, 0x27, 0x9e, 0x52, 0xe2, 0x8c, //0x000054a8 .quad -8294976724446954723 + 0x8f, 0x7f, 0x2e, 0xf7, 0xcf, 0x5d, 0xc0, 0x5e, //0x000054b0 .quad 6827560182880305039 + 0xe4, 0xe9, 0x01, 0xb1, 0x45, 0xe7, 0x1a, 0xb0, //0x000054b8 .quad -5757034887131305500 + 0x73, 0x1f, 0xfa, 0xf4, 0x43, 0x75, 0x70, 0x76, //0x000054c0 .quad 8534450228600381299 + 0x5d, 0x64, 0x42, 0x1d, 0x17, 0xa1, 0x21, 0xdc, //0x000054c8 .quad -2584607590486743971 + 0xa8, 0x53, 0x1c, 0x79, 0x4a, 0x49, 0x06, 0x6a, //0x000054d0 .quad 7639874402088932264 + 0xba, 0x7e, 0x49, 0x72, 0xae, 0x04, 0x95, 0x89, //0x000054d8 .quad -8532908771695296838 + 0x92, 0x68, 0x63, 0x17, 0x9d, 0xdb, 0x87, 0x04, //0x000054e0 .quad 326470965756389522 + 0x69, 0xde, 0xdb, 0x0e, 0xda, 0x45, 0xfa, 0xab, //0x000054e8 .quad -6054449946191733143 + 0xb6, 0x42, 0x3c, 0x5d, 0x84, 0xd2, 0xa9, 0x45, //0x000054f0 .quad 5019774725622874806 + 0x03, 0xd6, 0x92, 0x92, 0x50, 0xd7, 0xf8, 0xd6, //0x000054f8 .quad -2956376414312278525 + 0xb2, 0xa9, 0x45, 0xba, 0x92, 0x23, 0x8a, 0x0b, //0x00005500 .quad 831516194300602802 + 0xc2, 0xc5, 0x9b, 0x5b, 0x92, 0x86, 0x5b, 0x86, //0x00005508 .quad -8765264286586255934 + 0x1e, 0x14, 0xd7, 0x68, 0x77, 0xac, 0x6c, 0x8e, //0x00005510 .quad -8183976793979022306 + 0x32, 0xb7, 0x82, 0xf2, 0x36, 0x68, 0xf2, 0xa7, //0x00005518 .quad -6344894339805432014 + 0x26, 0xd9, 0x0c, 0x43, 0x95, 0xd7, 0x07, 0x32, //0x00005520 .quad 3605087062808385830 + 0xff, 0x64, 0x23, 0xaf, 0x44, 0x02, 0xef, 0xd1, //0x00005528 .quad -3319431906329402113 + 0xb8, 0x07, 0xe8, 0x49, 0xbd, 0xe6, 0x44, 0x7f, //0x00005530 .quad 9170708441896323000 + 0x1f, 0x1f, 0x76, 0xed, 0x6a, 0x61, 0x35, 0x83, //0x00005538 .quad -8992173969096958177 + 0xa6, 0x09, 0x62, 0x9c, 0x6c, 0x20, 0x16, 0x5f, //0x00005540 .quad 6851699533943015846 + 0xe7, 0xa6, 0xd3, 0xa8, 0xc5, 0xb9, 0x02, 0xa4, //0x00005548 .quad -6628531442943809817 + 0x0f, 0x8c, 0x7a, 0xc3, 0x87, 0xa8, 0xdb, 0x36, //0x00005550 .quad 3952938399001381903 + 0xa1, 0x90, 0x08, 0x13, 0x37, 0x68, 0x03, 0xcd, //0x00005558 .quad -3673978285252374367 + 0x89, 0x97, 0x2c, 0xda, 0x54, 0x49, 0x49, 0xc2, //0x00005560 .quad -4446942528265218167 + 0x64, 0x5a, 0xe5, 0x6b, 0x22, 0x21, 0x22, 0x80, //0x00005568 .quad -9213765455923815836 + 0x6c, 0xbd, 0xb7, 0x10, 0xaa, 0x9b, 0xdb, 0xf2, //0x00005570 .quad -946992141904134804 + 0xfd, 0xb0, 0xde, 0x06, 0x6b, 0xa9, 0x2a, 0xa0, //0x00005578 .quad -6905520801477381891 + 0xc7, 0xac, 0xe5, 0x94, 0x94, 0x82, 0x92, 0x6f, //0x00005580 .quad 8039631859474607303 + 0x3d, 0x5d, 0x96, 0xc8, 0xc5, 0x53, 0x35, 0xc8, //0x00005588 .quad -4020214983419339459 + 0xf9, 0x17, 0x1f, 0xba, 0x39, 0x23, 0x77, 0xcb, //0x00005590 .quad -3785518230938904583 + 0x8c, 0xf4, 0xbb, 0x3a, 0xb7, 0xa8, 0x42, 0xfa, //0x00005598 .quad -413582710846786420 + 0xfb, 0x6e, 0x53, 0x14, 0x04, 0x76, 0x2a, 0xff, //0x000055a0 .quad -60105885123121413 + 0xd7, 0x78, 0xb5, 0x84, 0x72, 0xa9, 0x69, 0x9c, //0x000055a8 .quad -7176018221920323369 + 0xba, 0x4a, 0x68, 0x19, 0x85, 0x13, 0xf5, 0xfe, //0x000055b0 .quad -75132356403901766 + 0x0d, 0xd7, 0xe2, 0x25, 0xcf, 0x13, 0x84, 0xc3, //0x000055b8 .quad -4358336758973016307 + 0x69, 0x5d, 0xc2, 0x5f, 0x66, 0x58, 0xb2, 0x7e, //0x000055c0 .quad 9129456591349898601 + 0xd1, 0x8c, 0x5b, 0xef, 0xc2, 0x18, 0x65, 0xf4, //0x000055c8 .quad -836234930288882479 + 0x61, 0x7a, 0xd9, 0xfb, 0x3f, 0x77, 0x2f, 0xef, //0x000055d0 .quad -1211618658047395231 + 0x02, 0x38, 0x99, 0xd5, 0x79, 0x2f, 0xbf, 0x98, //0x000055d8 .quad -7440175859071633406 + 0xfa, 0xd8, 0xcf, 0xfa, 0x0f, 0x55, 0xfb, 0xaa, //0x000055e0 .quad -6126209340986631942 + 0x03, 0x86, 0xff, 0x4a, 0x58, 0xfb, 0xee, 0xbe, //0x000055e8 .quad -4688533805412153853 + 0x38, 0xcf, 0x83, 0xf9, 0x53, 0x2a, 0xba, 0x95, //0x000055f0 .quad -7657761676233289928 + 0x84, 0x67, 0xbf, 0x5d, 0x2e, 0xba, 0xaa, 0xee, //0x000055f8 .quad -1248981238337804412 + 0x83, 0x61, 0xf2, 0x7b, 0x74, 0x5a, 0x94, 0xdd, //0x00005600 .quad -2480258038432112253 + 0xb2, 0xa0, 0x97, 0xfa, 0x5c, 0xb4, 0x2a, 0x95, //0x00005608 .quad -7698142301602209614 + 0xe4, 0xf9, 0xee, 0x9a, 0x11, 0x71, 0xf9, 0x94, //0x00005610 .quad -7712008566467528220 + 0xdf, 0x88, 0x3d, 0x39, 0x74, 0x61, 0x75, 0xba, //0x00005618 .quad -5010991858575374113 + 0x5d, 0xb8, 0xaa, 0x01, 0x56, 0xcd, 0x37, 0x7a, //0x00005620 .quad 8806733365625141341 + 0x17, 0xeb, 0x8c, 0x47, 0xd1, 0xb9, 0x12, 0xe9, //0x00005628 .quad -1652053804791829737 + 0x3a, 0xb3, 0x0a, 0xc1, 0x55, 0xe0, 0x62, 0xac, //0x00005630 .quad -6025006692552756422 + 0xee, 0x12, 0xb8, 0xcc, 0x22, 0xb4, 0xab, 0x91, //0x00005638 .quad -7950062655635975442 + 0x09, 0x60, 0x4d, 0x31, 0x6b, 0x98, 0x7b, 0x57, //0x00005640 .quad 6303799689591218185 + 0xaa, 0x17, 0xe6, 0x7f, 0x2b, 0xa1, 0x16, 0xb6, //0x00005648 .quad -5325892301117581398 + 0x0b, 0xb8, 0xa0, 0xfd, 0x85, 0x7e, 0x5a, 0xed, //0x00005650 .quad -1343622424865753077 + 0x94, 0x9d, 0xdf, 0x5f, 0x76, 0x49, 0x9c, 0xe3, //0x00005658 .quad -2045679357969588844 + 0x07, 0x73, 0x84, 0xbe, 0x13, 0x8f, 0x58, 0x14, //0x00005660 .quad 1466078993672598279 + 0x7d, 0xc2, 0xeb, 0xfb, 0xe9, 0xad, 0x41, 0x8e, //0x00005668 .quad -8196078626372074883 + 0xc8, 0x8f, 0x25, 0xae, 0xd8, 0xb2, 0x6e, 0x59, //0x00005670 .quad 6444284760518135752 + 0x1c, 0xb3, 0xe6, 0x7a, 0x64, 0x19, 0xd2, 0xb1, //0x00005678 .quad -5633412264537705700 + 0xbb, 0xf3, 0xae, 0xd9, 0x8e, 0x5f, 0xca, 0x6f, //0x00005680 .quad 8055355950647669691 + 0xe3, 0x5f, 0xa0, 0x99, 0xbd, 0x9f, 0x46, 0xde, //0x00005688 .quad -2430079312244744221 + 0x54, 0x58, 0x0d, 0x48, 0xb9, 0x7b, 0xde, 0x25, //0x00005690 .quad 2728754459941099604 + 0xee, 0x3b, 0x04, 0x80, 0xd6, 0x23, 0xec, 0x8a, //0x00005698 .quad -8436328597794046994 + 0x6a, 0xae, 0x10, 0x9a, 0xa7, 0x1a, 0x56, 0xaf, //0x000056a0 .quad -5812428961928401302 + 0xe9, 0x4a, 0x05, 0x20, 0xcc, 0x2c, 0xa7, 0xad, //0x000056a8 .quad -5933724728815170839 + 0x04, 0xda, 0x94, 0x80, 0x51, 0xa1, 0x2b, 0x1b, //0x000056b0 .quad 1957835834444274180 + 0xa4, 0x9d, 0x06, 0x28, 0xff, 0xf7, 0x10, 0xd9, //0x000056b8 .quad -2805469892591575644 + 0x42, 0x08, 0x5d, 0xf0, 0xd2, 0x44, 0xfb, 0x90, //0x000056c0 .quad -7999724640327104446 + 0x86, 0x22, 0x04, 0x79, 0xff, 0x9a, 0xaa, 0x87, //0x000056c8 .quad -8670947710510816634 + 0x53, 0x4a, 0x74, 0xac, 0x07, 0x16, 0x3a, 0x35, //0x000056d0 .quad 3835402254873283155 + 0x28, 0x2b, 0x45, 0x57, 0xbf, 0x41, 0x95, 0xa9, //0x000056d8 .quad -6226998619711132888 + 0xe8, 0x5c, 0x91, 0x97, 0x89, 0x9b, 0x88, 0x42, //0x000056e0 .quad 4794252818591603944 + 0xf2, 0x75, 0x16, 0x2d, 0x2f, 0x92, 0xfa, 0xd3, //0x000056e8 .quad -3172062256211528206 + 0x11, 0xda, 0xba, 0xfe, 0x35, 0x61, 0x95, 0x69, //0x000056f0 .quad 7608094030047140369 + 0xb7, 0x09, 0x2e, 0x7c, 0x5d, 0x9b, 0x7c, 0x84, //0x000056f8 .quad -8900067937773286985 + 0x95, 0x90, 0x69, 0x7e, 0x83, 0xb9, 0xfa, 0x43, //0x00005700 .quad 4898431519131537557 + 0x25, 0x8c, 0x39, 0xdb, 0x34, 0xc2, 0x9b, 0xa5, //0x00005708 .quad -6513398903789220827 + 0xbb, 0xf4, 0x03, 0x5e, 0xe4, 0x67, 0xf9, 0x94, //0x00005710 .quad -7712018656367741765 + 0x2e, 0xef, 0x07, 0x12, 0xc2, 0xb2, 0x02, 0xcf, //0x00005718 .quad -3530062611309138130 + 0xf5, 0x78, 0xc2, 0xba, 0xee, 0xe0, 0x1b, 0x1d, //0x00005720 .quad 2097517367411243253 + 0x7d, 0xf5, 0x44, 0x4b, 0xb9, 0xaf, 0x61, 0x81, //0x00005728 .quad -9123818159709293187 + 0x32, 0x17, 0x73, 0x69, 0x2a, 0xd9, 0x62, 0x64, //0x00005730 .quad 7233582727691441970 + 0xdc, 0x32, 0x16, 0x9e, 0xa7, 0x1b, 0xba, 0xa1, //0x00005738 .quad -6793086681209228580 + 0xfe, 0xdc, 0xcf, 0x03, 0x75, 0x8f, 0x7b, 0x7d, //0x00005740 .quad 9041978409614302462 + 0x93, 0xbf, 0x9b, 0x85, 0x91, 0xa2, 0x28, 0xca, //0x00005748 .quad -3879672333084147821 + 0x3e, 0xd4, 0xc3, 0x44, 0x52, 0x73, 0xda, 0x5c, //0x00005750 .quad 6690786993590490174 + 0x78, 0xaf, 0x02, 0xe7, 0x35, 0xcb, 0xb2, 0xfc, //0x00005758 .quad -237904397927796872 + 0xa7, 0x64, 0xfa, 0x6a, 0x13, 0x88, 0x08, 0x3a, //0x00005760 .quad 4181741870994056359 + 0xab, 0xad, 0x61, 0xb0, 0x01, 0xbf, 0xef, 0x9d, //0x00005768 .quad -7066219276345954901 + 0xd0, 0xfd, 0xb8, 0x45, 0x18, 0xaa, 0x8a, 0x08, //0x00005770 .quad 615491320315182544 + 0x16, 0x19, 0x7a, 0x1c, 0xc2, 0xae, 0x6b, 0xc5, //0x00005778 .quad -4221088077005055722 + 0x45, 0x3d, 0x27, 0x57, 0x9e, 0x54, 0xad, 0x8a, //0x00005780 .quad -8454007886460797627 + 0x5b, 0x9f, 0x98, 0xa3, 0x72, 0x9a, 0xc6, 0xf6, //0x00005788 .quad -664674077828931749 + 0x4b, 0x86, 0x78, 0xf6, 0xe2, 0x54, 0xac, 0x36, //0x00005790 .quad 3939617107816777291 + 0x99, 0x63, 0x3f, 0xa6, 0x87, 0x20, 0x3c, 0x9a, //0x00005798 .quad -7332950326284164199 + 0xdd, 0xa7, 0x16, 0xb4, 0x1b, 0x6a, 0x57, 0x84, //0x000057a0 .quad -8910536670511192099 + 0x7f, 0x3c, 0xcf, 0x8f, 0xa9, 0x28, 0xcb, 0xc0, //0x000057a8 .quad -4554501889427817345 + 0xd5, 0x51, 0x1c, 0xa1, 0xa2, 0x44, 0x6d, 0x65, //0x000057b0 .quad 7308573235570561493 + 0x9f, 0x0b, 0xc3, 0xf3, 0xd3, 0xf2, 0xfd, 0xf0, //0x000057b8 .quad -1081441343357383777 + 0x25, 0xb3, 0xb1, 0xa4, 0xe5, 0x4a, 0x64, 0x9f, //0x000057c0 .quad -6961356773836868827 + 0x43, 0xe7, 0x59, 0x78, 0xc4, 0xb7, 0x9e, 0x96, //0x000057c8 .quad -7593429867239446717 + 0xee, 0x1f, 0xde, 0x0d, 0x9f, 0x5d, 0x3d, 0x87, //0x000057d0 .quad -8701695967296086034 + 0x14, 0x61, 0x70, 0x96, 0xb5, 0x65, 0x46, 0xbc, //0x000057d8 .quad -4880101315621920492 + 0xea, 0xa7, 0x55, 0xd1, 0x06, 0xb5, 0x0c, 0xa9, //0x000057e0 .quad -6265433940692719638 + 0x59, 0x79, 0x0c, 0xfc, 0x22, 0xff, 0x57, 0xeb, //0x000057e8 .quad -1488440626100012711 + 0xf2, 0x88, 0xd5, 0x42, 0x24, 0xf1, 0xa7, 0x09, //0x000057f0 .quad 695789805494438130 + 0xd8, 0xcb, 0x87, 0xdd, 0x75, 0xff, 0x16, 0x93, //0x000057f8 .quad -7847804418953589800 + 0x2f, 0xeb, 0x8a, 0x53, 0x6d, 0xed, 0x11, 0x0c, //0x00005800 .quad 869737256868047663 + 0xce, 0xbe, 0xe9, 0x54, 0x53, 0xbf, 0xdc, 0xb7, //0x00005808 .quad -5198069505264599346 + 0xfa, 0xa5, 0x6d, 0xa8, 0xc8, 0x68, 0x16, 0x8f, //0x00005810 .quad -8136200465769716230 + 0x81, 0x2e, 0x24, 0x2a, 0x28, 0xef, 0xd3, 0xe5, //0x00005818 .quad -1885900863153361279 + 0xbc, 0x87, 0x44, 0x69, 0x7d, 0x01, 0x6e, 0xf9, //0x00005820 .quad -473439272678684740 + 0x10, 0x9d, 0x56, 0x1a, 0x79, 0x75, 0xa4, 0x8f, //0x00005828 .quad -8096217067111932656 + 0xac, 0xa9, 0x95, 0xc3, 0xdc, 0x81, 0xc9, 0x37, //0x00005830 .quad 4019886927579031980 + 0x55, 0x44, 0xec, 0x60, 0xd7, 0x92, 0x8d, 0xb3, //0x00005838 .quad -5508585315462527915 + 0x17, 0x14, 0x7b, 0xf4, 0x53, 0xe2, 0xbb, 0x85, //0x00005840 .quad -8810199395808373737 + 0x6a, 0x55, 0x27, 0x39, 0x8d, 0xf7, 0x70, 0xe0, //0x00005848 .quad -2274045625900771990 + 0x8e, 0xec, 0xcc, 0x78, 0x74, 0x6d, 0x95, 0x93, //0x00005850 .quad -7812217631593927538 + 0x62, 0x95, 0xb8, 0x43, 0xb8, 0x9a, 0x46, 0x8c, //0x00005858 .quad -8338807543829064350 + 0xb2, 0x27, 0x00, 0x97, 0xd1, 0xc8, 0x7a, 0x38, //0x00005860 .quad 4069786015789754290 + 0xbb, 0xba, 0xa6, 0x54, 0x66, 0x41, 0x58, 0xaf, //0x00005868 .quad -5811823411358942533 + 0x9e, 0x31, 0xc0, 0xfc, 0x05, 0x7b, 0x99, 0x06, //0x00005870 .quad 475546501309804958 + 0x6a, 0x69, 0xd0, 0xe9, 0xbf, 0x51, 0x2e, 0xdb, //0x00005878 .quad -2653093245771290262 + 0x03, 0x1f, 0xf8, 0xbd, 0xe3, 0xec, 0x1f, 0x44, //0x00005880 .quad 4908902581746016003 + 0xe2, 0x41, 0x22, 0xf2, 0x17, 0xf3, 0xfc, 0x88, //0x00005888 .quad -8575712306248138270 + 0xc3, 0x26, 0x76, 0xad, 0x1c, 0xe8, 0x27, 0xd5, //0x00005890 .quad -3087243809672255805 + 0x5a, 0xd2, 0xaa, 0xee, 0xdd, 0x2f, 0x3c, 0xab, //0x00005898 .quad -6107954364382784934 + 0x74, 0xb0, 0xd3, 0xd8, 0x23, 0xe2, 0x71, 0x8a, //0x000058a0 .quad -8470740780517707660 + 0xf1, 0x86, 0x55, 0x6a, 0xd5, 0x3b, 0x0b, 0xd6, //0x000058a8 .quad -3023256937051093263 + 0x49, 0x4e, 0x84, 0x67, 0x56, 0x2d, 0x87, 0xf6, //0x000058b0 .quad -682526969396179383 + 0x56, 0x74, 0x75, 0x62, 0x65, 0x05, 0xc7, 0x85, //0x000058b8 .quad -8807064613298015146 + 0xdb, 0x61, 0x65, 0x01, 0xac, 0xf8, 0x28, 0xb4, //0x000058c0 .quad -5464844730172612133 + 0x6c, 0xd1, 0x12, 0xbb, 0xbe, 0xc6, 0x38, 0xa7, //0x000058c8 .quad -6397144748195131028 + 0x52, 0xba, 0xbe, 0x01, 0xd7, 0x36, 0x33, 0xe1, //0x000058d0 .quad -2219369894288377262 + 0xc7, 0x85, 0xd7, 0x69, 0x6e, 0xf8, 0x06, 0xd1, //0x000058d8 .quad -3384744916816525881 + 0x73, 0x34, 0x17, 0x61, 0x46, 0x02, 0xc0, 0xec, //0x000058e0 .quad -1387106183930235789 + 0x9c, 0xb3, 0x26, 0x02, 0x45, 0x5b, 0xa4, 0x82, //0x000058e8 .quad -9032994600651410532 + 0x90, 0x01, 0x5d, 0xf9, 0xd7, 0x02, 0xf0, 0x27, //0x000058f0 .quad 2877803288514593168 + 0x84, 0x60, 0xb0, 0x42, 0x16, 0x72, 0x4d, 0xa3, //0x000058f8 .quad -6679557232386875260 + 0xf4, 0x41, 0xb4, 0xf7, 0x8d, 0x03, 0xec, 0x31, //0x00005900 .quad 3597254110643241460 + 0xa5, 0x78, 0x5c, 0xd3, 0x9b, 0xce, 0x20, 0xcc, //0x00005908 .quad -3737760522056206171 + 0x71, 0x52, 0xa1, 0x75, 0x71, 0x04, 0x67, 0x7e, //0x00005910 .quad 9108253656731439729 + 0xce, 0x96, 0x33, 0xc8, 0x42, 0x02, 0x29, 0xff, //0x00005918 .quad -60514634142869810 + 0x86, 0xd3, 0x84, 0xe9, 0xc6, 0x62, 0x00, 0x0f, //0x00005920 .quad 1080972517029761926 + 0x41, 0x3e, 0x20, 0xbd, 0x69, 0xa1, 0x79, 0x9f, //0x00005928 .quad -6955350673980375487 + 0x68, 0x08, 0xe6, 0xa3, 0x78, 0x7b, 0xc0, 0x52, //0x00005930 .quad 5962901664714590312 + 0xd1, 0x4d, 0x68, 0x2c, 0xc4, 0x09, 0x58, 0xc7, //0x00005938 .quad -4082502324048081455 + 0x82, 0x8a, 0xdf, 0xcc, 0x56, 0x9a, 0x70, 0xa7, //0x00005940 .quad -6381430974388925822 + 0x45, 0x61, 0x82, 0x37, 0x35, 0x0c, 0x2e, 0xf9, //0x00005948 .quad -491441886632713915 + 0x91, 0xb6, 0x0b, 0x40, 0x76, 0x60, 0xa6, 0x88, //0x00005950 .quad -8600080377420466543 + 0xcb, 0x7c, 0xb1, 0x42, 0xa1, 0xc7, 0xbc, 0x9b, //0x00005958 .quad -7224680206786528053 + 0x35, 0xa4, 0x0e, 0xd0, 0x93, 0xf8, 0xcf, 0x6a, //0x00005960 .quad 7696643601933968437 + 0xfe, 0xdb, 0x5d, 0x93, 0x89, 0xf9, 0xab, 0xc2, //0x00005968 .quad -4419164240055772162 + 0x43, 0x4d, 0x12, 0xc4, 0xb8, 0xf6, 0x83, 0x05, //0x00005970 .quad 397432465562684739 + 0xfe, 0x52, 0x35, 0xf8, 0xeb, 0xf7, 0x56, 0xf3, //0x00005978 .quad -912269281642327298 + 0x4a, 0x70, 0x8b, 0x7a, 0x33, 0x7a, 0x72, 0xc3, //0x00005980 .quad -4363290727450709942 + 0xde, 0x53, 0x21, 0x7b, 0xf3, 0x5a, 0x16, 0x98, //0x00005988 .quad -7487697328667536418 + 0x5c, 0x4c, 0x2e, 0x59, 0xc0, 0x18, 0x4f, 0x74, //0x00005990 .quad 8380944645968776284 + 0xd6, 0xa8, 0xe9, 0x59, 0xb0, 0xf1, 0x1b, 0xbe, //0x00005998 .quad -4747935642407032618 + 0x73, 0xdf, 0x79, 0x6f, 0xf0, 0xde, 0x62, 0x11, //0x000059a0 .quad 1252808770606194547 + 0x0c, 0x13, 0x64, 0x70, 0x1c, 0xee, 0xa2, 0xed, //0x000059a8 .quad -1323233534581402868 + 0xa8, 0x2b, 0xac, 0x45, 0x56, 0xcb, 0xdd, 0x8a, //0x000059b0 .quad -8440366555225904216 + 0xe7, 0x8b, 0x3e, 0xc6, 0xd1, 0xd4, 0x85, 0x94, //0x000059b8 .quad -7744549986754458649 + 0x92, 0x36, 0x17, 0xd7, 0x2b, 0x3e, 0x95, 0x6d, //0x000059c0 .quad 7896285879677171346 + 0xe1, 0x2e, 0xce, 0x37, 0x06, 0x4a, 0xa7, 0xb9, //0x000059c8 .quad -5069001465015685407 + 0x37, 0x04, 0xdd, 0xcc, 0xb6, 0x8d, 0xfa, 0xc8, //0x000059d0 .quad -3964700705685699529 + 0x99, 0xba, 0xc1, 0xc5, 0x87, 0x1c, 0x11, 0xe8, //0x000059d8 .quad -1724565812842218855 + 0xa2, 0x22, 0x0a, 0x40, 0x92, 0x98, 0x9c, 0x1d, //0x000059e0 .quad 2133748077373825698 + 0xa0, 0x14, 0x99, 0xdb, 0xd4, 0xb1, 0x0a, 0x91, //0x000059e8 .quad -7995382660667468640 + 0x4b, 0xab, 0x0c, 0xd0, 0xb6, 0xbe, 0x03, 0x25, //0x000059f0 .quad 2667185096717282123 + 0xc8, 0x59, 0x7f, 0x12, 0x4a, 0x5e, 0x4d, 0xb5, //0x000059f8 .quad -5382542307406947896 + 0x1d, 0xd6, 0x0f, 0x84, 0x64, 0xae, 0x44, 0x2e, //0x00005a00 .quad 3333981370896602653 + 0x3a, 0x30, 0x1f, 0x97, 0xdc, 0xb5, 0xa0, 0xe2, //0x00005a08 .quad -2116491865831296966 + 0xd2, 0xe5, 0x89, 0xd2, 0xfe, 0xec, 0xea, 0x5c, //0x00005a10 .quad 6695424375237764562 + 0x24, 0x7e, 0x73, 0xde, 0xa9, 0x71, 0xa4, 0x8d, //0x00005a18 .quad -8240336443785642460 + 0x47, 0x5f, 0x2c, 0x87, 0x3e, 0xa8, 0x25, 0x74, //0x00005a20 .quad 8369280469047205703 + 0xad, 0x5d, 0x10, 0x56, 0x14, 0x8e, 0x0d, 0xb1, //0x00005a28 .quad -5688734536304665171 + 0x19, 0x77, 0xf7, 0x28, 0x4e, 0x12, 0x2f, 0xd1, //0x00005a30 .quad -3373457468973156583 + 0x18, 0x75, 0x94, 0x6b, 0x99, 0xf1, 0x50, 0xdd, //0x00005a38 .quad -2499232151953443560 + 0x6f, 0xaa, 0x9a, 0xd9, 0x70, 0x6b, 0xbd, 0x82, //0x00005a40 .quad -9025939945749304721 + 0x2f, 0xc9, 0x3c, 0xe3, 0xff, 0x96, 0x52, 0x8a, //0x00005a48 .quad -8479549122611984081 + 0x0b, 0x55, 0x01, 0x10, 0x4d, 0xc6, 0x6c, 0x63, //0x00005a50 .quad 7164319141522920715 + 0x7b, 0xfb, 0x0b, 0xdc, 0xbf, 0x3c, 0xe7, 0xac, //0x00005a58 .quad -5987750384837592197 + 0x4e, 0xaa, 0x01, 0x54, 0xe0, 0xf7, 0x47, 0x3c, //0x00005a60 .quad 4343712908476262990 + 0x5a, 0xfa, 0x0e, 0xd3, 0xef, 0x0b, 0x21, 0xd8, //0x00005a68 .quad -2873001962619602342 + 0x71, 0x0a, 0x81, 0x34, 0xec, 0xfa, 0xac, 0x65, //0x00005a70 .quad 7326506586225052273 + 0x78, 0x5c, 0xe9, 0xe3, 0x75, 0xa7, 0x14, 0x87, //0x00005a78 .quad -8713155254278333320 + 0x0d, 0x4d, 0xa1, 0x41, 0xa7, 0x39, 0x18, 0x7f, //0x00005a80 .quad 9158133232781315341 + 0x96, 0xb3, 0xe3, 0x5c, 0x53, 0xd1, 0xd9, 0xa8, //0x00005a88 .quad -6279758049420528746 + 0x50, 0xa0, 0x09, 0x12, 0x11, 0x48, 0xde, 0x1e, //0x00005a90 .quad 2224294504121868368 + 0x7c, 0xa0, 0x1c, 0x34, 0xa8, 0x45, 0x10, 0xd3, //0x00005a98 .quad -3238011543348273028 + 0x32, 0x04, 0x46, 0xab, 0x0a, 0xed, 0x4a, 0x93, //0x00005aa0 .quad -7833187971778608078 + 0x4d, 0xe4, 0x91, 0x20, 0x89, 0x2b, 0xea, 0x83, //0x00005aa8 .quad -8941286242233752499 + 0x3f, 0x85, 0x17, 0x56, 0x4d, 0xa8, 0x1d, 0xf8, //0x00005ab0 .quad -568112927868484289 + 0x60, 0x5d, 0xb6, 0x68, 0x6b, 0xb6, 0xe4, 0xa4, //0x00005ab8 .quad -6564921784364802720 + 0x8e, 0x66, 0x9d, 0xab, 0x60, 0x12, 0x25, 0x36, //0x00005ac0 .quad 3901544858591782542 + 0xb9, 0xf4, 0xe3, 0x42, 0x06, 0xe4, 0x1d, 0xce, //0x00005ac8 .quad -3594466212028615495 + 0x19, 0x60, 0x42, 0x6b, 0x7c, 0x2b, 0xd7, 0xc1, //0x00005ad0 .quad -4479063491021217767 + 0xf3, 0x78, 0xce, 0xe9, 0x83, 0xae, 0xd2, 0x80, //0x00005ad8 .quad -9164070410158966541 + 0x1f, 0xf8, 0x12, 0x86, 0x5b, 0xf6, 0x4c, 0xb2, //0x00005ae0 .quad -5598829363776522209 + 0x30, 0x17, 0x42, 0xe4, 0x24, 0x5a, 0x07, 0xa1, //0x00005ae8 .quad -6843401994271320272 + 0x27, 0xb6, 0x97, 0x67, 0xf2, 0x33, 0xe0, 0xde, //0x00005af0 .quad -2386850686293264857 + 0xfc, 0x9c, 0x52, 0x1d, 0xae, 0x30, 0x49, 0xc9, //0x00005af8 .quad -3942566474411762436 + 0xb1, 0xa3, 0x7d, 0x01, 0xef, 0x40, 0x98, 0x16, //0x00005b00 .quad 1628122660560806833 + 0x3c, 0x44, 0xa7, 0xa4, 0xd9, 0x7c, 0x9b, 0xfb, //0x00005b08 .quad -316522074587315140 + 0x4e, 0x86, 0xee, 0x60, 0x95, 0x28, 0x1f, 0x8e, //0x00005b10 .quad -8205795374004271538 + 0xa5, 0x8a, 0xe8, 0x06, 0x08, 0x2e, 0x41, 0x9d, //0x00005b18 .quad -7115355324258153819 + 0xe2, 0x27, 0x2a, 0xb9, 0xba, 0xf2, 0xa6, 0xf1, //0x00005b20 .quad -1033872180650563614 + 0x4e, 0xad, 0xa2, 0x08, 0x8a, 0x79, 0x91, 0xc4, //0x00005b28 .quad -4282508136895304370 + 0xdb, 0xb1, 0x74, 0x67, 0x69, 0xaf, 0x10, 0xae, //0x00005b30 .quad -5904026244240592421 + 0xa2, 0x58, 0xcb, 0x8a, 0xec, 0xd7, 0xb5, 0xf5, //0x00005b38 .quad -741449152691742558 + 0x29, 0xef, 0xa8, 0xe0, 0xa1, 0x6d, 0xca, 0xac, //0x00005b40 .quad -5995859411864064215 + 0x65, 0x17, 0xbf, 0xd6, 0xf3, 0xa6, 0x91, 0x99, //0x00005b48 .quad -7380934748073420955 + 0xf3, 0x2a, 0xd3, 0x58, 0x0a, 0x09, 0xfd, 0x17, //0x00005b50 .quad 1728547772024695539 + 0x3f, 0xdd, 0x6e, 0xcc, 0xb0, 0x10, 0xf6, 0xbf, //0x00005b58 .quad -4614482416664388289 + 0xb0, 0xf5, 0x07, 0xef, 0x4c, 0x4b, 0xfc, 0xdd, //0x00005b60 .quad -2451001303396518480 + 0x8e, 0x94, 0x8a, 0xff, 0xdc, 0x94, 0xf3, 0xef, //0x00005b68 .quad -1156417002403097458 + 0x8e, 0xf9, 0x64, 0x15, 0x10, 0xaf, 0xbd, 0x4a, //0x00005b70 .quad 5385653213018257806 + 0xd9, 0x9c, 0xb6, 0x1f, 0x0a, 0x3d, 0xf8, 0x95, //0x00005b78 .quad -7640289654143017767 + 0xf1, 0x37, 0xbe, 0x1a, 0xd4, 0x1a, 0x6d, 0x9d, //0x00005b80 .quad -7102991539009341455 + 0x0f, 0x44, 0xa4, 0xa7, 0x4c, 0x4c, 0x76, 0xbb, //0x00005b88 .quad -4938676049251384305 + 0xed, 0xc5, 0x6d, 0x21, 0x89, 0x61, 0xc8, 0x84, //0x00005b90 .quad -8878739423761676819 + 0x13, 0x55, 0x8d, 0xd1, 0x5f, 0xdf, 0x53, 0xea, //0x00005b98 .quad -1561659043136842477 + 0xb4, 0x9b, 0xe4, 0xb4, 0xf5, 0x3c, 0xfd, 0x32, //0x00005ba0 .quad 3674159897003727796 + 0x2c, 0x55, 0xf8, 0xe2, 0x9b, 0x6b, 0x74, 0x92, //0x00005ba8 .quad -7893565929601608404 + 0xa1, 0xc2, 0x1d, 0x22, 0x33, 0x8c, 0xbc, 0x3f, //0x00005bb0 .quad 4592699871254659745 + 0x77, 0x6a, 0xb6, 0xdb, 0x82, 0x86, 0x11, 0xb7, //0x00005bb8 .quad -5255271393574622601 + 0x4a, 0x33, 0xa5, 0xea, 0x3f, 0xaf, 0xab, 0x0f, //0x00005bc0 .quad 1129188820640936778 + 0x15, 0x05, 0xa4, 0x92, 0x23, 0xe8, 0xd5, 0xe4, //0x00005bc8 .quad -1957403223540890347 + 0x0e, 0x40, 0xa7, 0xf2, 0x87, 0x4d, 0xcb, 0x29, //0x00005bd0 .quad 3011586022114279438 + 0x2d, 0x83, 0xa6, 0x3b, 0x16, 0xb1, 0x05, 0x8f, //0x00005bd8 .quad -8140906042354138323 + 0x12, 0x10, 0x51, 0xef, 0xe9, 0x20, 0x3e, 0x74, //0x00005be0 .quad 8376168546070237202 + 0xf8, 0x23, 0x90, 0xca, 0x5b, 0x1d, 0xc7, 0xb2, //0x00005be8 .quad -5564446534515285000 + 0x16, 0x54, 0x25, 0x6b, 0x24, 0xa9, 0x4d, 0x91, //0x00005bf0 .quad -7976533391121755114 + 0xf6, 0x2c, 0x34, 0xbd, 0xb2, 0xe4, 0x78, 0xdf, //0x00005bf8 .quad -2343872149716718346 + 0x8e, 0x54, 0xf7, 0xc2, 0xb6, 0x89, 0xd0, 0x1a, //0x00005c00 .quad 1932195658189984910 + 0x1a, 0x9c, 0x40, 0xb6, 0xef, 0x8e, 0xab, 0x8b, //0x00005c08 .quad -8382449121214030822 + 0xb1, 0x29, 0xb5, 0x73, 0x24, 0xac, 0x84, 0xa1, //0x00005c10 .quad -6808127464117294671 + 0x20, 0xc3, 0xd0, 0xa3, 0xab, 0x72, 0x96, 0xae, //0x00005c18 .quad -5866375383090150624 + 0x1e, 0x74, 0xa2, 0x90, 0x2d, 0xd7, 0xe5, 0xc9, //0x00005c20 .quad -3898473311719230434 + 0xe8, 0xf3, 0xc4, 0x8c, 0x56, 0x0f, 0x3c, 0xda, //0x00005c28 .quad -2721283210435300376 + 0x92, 0x88, 0x65, 0x7a, 0x7c, 0xa6, 0x2f, 0x7e, //0x00005c30 .quad 9092669226243950738 + 0x71, 0x18, 0xfb, 0x17, 0x96, 0x89, 0x65, 0x88, //0x00005c38 .quad -8618331034163144591 + 0xb7, 0xea, 0xfe, 0x98, 0x1b, 0x90, 0xbb, 0xdd, //0x00005c40 .quad -2469221522477225289 + 0x8d, 0xde, 0xf9, 0x9d, 0xfb, 0xeb, 0x7e, 0xaa, //0x00005c48 .quad -6161227774276542835 + 0x65, 0xa5, 0x3e, 0x7f, 0x22, 0x74, 0x2a, 0x55, //0x00005c50 .quad 6136845133758244197 + 0x31, 0x56, 0x78, 0x85, 0xfa, 0xa6, 0x1e, 0xd5, //0x00005c58 .quad -3089848699418290639 + 0x5f, 0x27, 0x87, 0x8f, 0x95, 0x88, 0x3a, 0xd5, //0x00005c60 .quad -3082000819042179233 + 0xde, 0x35, 0x6b, 0x93, 0x5c, 0x28, 0x33, 0x85, //0x00005c68 .quad -8848684464777513506 + 0x37, 0xf1, 0x68, 0xf3, 0xba, 0x2a, 0x89, 0x8a, //0x00005c70 .quad -8464187042230111945 + 0x56, 0x03, 0x46, 0xb8, 0x73, 0xf2, 0x7f, 0xa6, //0x00005c78 .quad -6449169562544503978 + 0x85, 0x2d, 0x43, 0xb0, 0x69, 0x75, 0x2b, 0x2d, //0x00005c80 .quad 3254824252494523781 + 0x2c, 0x84, 0x57, 0xa6, 0x10, 0xef, 0x1f, 0xd0, //0x00005c88 .quad -3449775934753242068 + 0x73, 0xfc, 0x29, 0x0e, 0x62, 0x29, 0x3b, 0x9c, //0x00005c90 .quad -7189106879045698445 + 0x9b, 0xb2, 0xf6, 0x67, 0x6a, 0xf5, 0x13, 0x82, //0x00005c98 .quad -9073638986861858149 + 0x8f, 0x7b, 0xb4, 0x91, 0xba, 0xf3, 0x49, 0x83, //0x00005ca0 .quad -8986383598807123057 + 0x42, 0x5f, 0xf4, 0x01, 0xc5, 0xf2, 0x98, 0xa2, //0x00005ca8 .quad -6730362715149934782 + 0x73, 0x9a, 0x21, 0x36, 0xa9, 0x70, 0x1c, 0x24, //0x00005cb0 .quad 2602078556773259891 + 0x13, 0x77, 0x71, 0x42, 0x76, 0x2f, 0x3f, 0xcb, //0x00005cb8 .quad -3801267375510030573 + 0x10, 0x01, 0xaa, 0x83, 0xd3, 0x8c, 0x23, 0xed, //0x00005cc0 .quad -1359087822460813040 + 0xd7, 0xd4, 0x0d, 0xd3, 0x53, 0xfb, 0x0e, 0xfe, //0x00005cc8 .quad -139898200960150313 + 0xaa, 0x40, 0x4a, 0x32, 0x04, 0x38, 0x36, 0xf4, //0x00005cd0 .quad -849429889038008150 + 0x06, 0xa5, 0xe8, 0x63, 0x14, 0x5d, 0xc9, 0x9e, //0x00005cd8 .quad -7004965403241175802 + 0xd5, 0xd0, 0xdc, 0x3e, 0x05, 0xc6, 0x43, 0xb1, //0x00005ce0 .quad -5673473379724898091 + 0x48, 0xce, 0xe2, 0x7c, 0x59, 0xb4, 0x7b, 0xc6, //0x00005ce8 .quad -4144520735624081848 + 0x0a, 0x05, 0x94, 0x8e, 0x86, 0xb7, 0x94, 0xdd, //0x00005cf0 .quad -2480155706228734710 + 0xda, 0x81, 0x1b, 0xdc, 0x6f, 0xa1, 0x1a, 0xf8, //0x00005cf8 .quad -568964901102714406 + 0x26, 0x83, 0x1c, 0x19, 0xb4, 0xf2, 0x7c, 0xca, //0x00005d00 .quad -3855940325606653146 + 0x28, 0x31, 0x91, 0xe9, 0xe5, 0xa4, 0x10, 0x9b, //0x00005d08 .quad -7273132090830278360 + 0xf0, 0xa3, 0x63, 0x1f, 0x61, 0x2f, 0x1c, 0xfd, //0x00005d10 .quad -208239388580928528 + 0x72, 0x7d, 0xf5, 0x63, 0x1f, 0xce, 0xd4, 0xc1, //0x00005d18 .quad -4479729095110460046 + 0xec, 0x8c, 0x3c, 0x67, 0x39, 0x3b, 0x63, 0xbc, //0x00005d20 .quad -4871985254153548564 + 0xcf, 0xdc, 0xf2, 0x3c, 0xa7, 0x01, 0x4a, 0xf2, //0x00005d28 .quad -987975350460687153 + 0x13, 0xd8, 0x85, 0xe0, 0x03, 0x05, 0xbe, 0xd5, //0x00005d30 .quad -3044990783845967853 + 0x01, 0xca, 0x17, 0x86, 0x08, 0x41, 0x6e, 0x97, //0x00005d38 .quad -7535013621679011327 + 0x18, 0x4e, 0xa7, 0xd8, 0x44, 0x86, 0x2d, 0x4b, //0x00005d40 .quad 5417133557047315992 + 0x82, 0xbc, 0x9d, 0xa7, 0x4a, 0xd1, 0x49, 0xbd, //0x00005d48 .quad -4807081008671376254 + 0x9e, 0x21, 0xd1, 0x0e, 0xd6, 0xe7, 0xf8, 0xdd, //0x00005d50 .quad -2451955090545630818 + 0xa2, 0x2b, 0x85, 0x51, 0x9d, 0x45, 0x9c, 0xec, //0x00005d58 .quad -1397165242411832414 + 0x03, 0xb5, 0x42, 0xc9, 0xe5, 0x90, 0xbb, 0xca, //0x00005d60 .quad -3838314940804713213 + 0x45, 0x3b, 0xf3, 0x52, 0x82, 0xab, 0xe1, 0x93, //0x00005d68 .quad -7790757304148477115 + 0x43, 0x62, 0x93, 0x3b, 0x1f, 0x75, 0x6a, 0x3d, //0x00005d70 .quad 4425478360848884291 + 0x17, 0x0a, 0xb0, 0xe7, 0x62, 0x16, 0xda, 0xb8, //0x00005d78 .quad -5126760611758208489 + 0xd4, 0x3a, 0x78, 0x0a, 0x67, 0x12, 0xc5, 0x0c, //0x00005d80 .quad 920161932633717460 + 0x9d, 0x0c, 0x9c, 0xa1, 0xfb, 0x9b, 0x10, 0xe7, //0x00005d88 .quad -1796764746270372707 + 0xc5, 0x24, 0x8b, 0x66, 0x80, 0x2b, 0xfb, 0x27, //0x00005d90 .quad 2880944217109767365 + 0xe2, 0x87, 0x01, 0x45, 0x7d, 0x61, 0x6a, 0x90, //0x00005d98 .quad -8040506994060064798 + 0xf6, 0xed, 0x2d, 0x80, 0x60, 0xf6, 0xf9, 0xb1, //0x00005da0 .quad -5622191765467566602 + 0xda, 0xe9, 0x41, 0x96, 0xdc, 0xf9, 0x84, 0xb4, //0x00005da8 .quad -5438947724147693094 + 0x73, 0x69, 0x39, 0xa0, 0xf8, 0x73, 0x78, 0x5e, //0x00005db0 .quad 6807318348447705459 + 0x51, 0x64, 0xd2, 0xbb, 0x53, 0x38, 0xa6, 0xe1, //0x00005db8 .quad -2186998636757228463 + 0xe8, 0xe1, 0x23, 0x64, 0x7b, 0x48, 0x0b, 0xdb, //0x00005dc0 .quad -2662955059861265944 + 0xb2, 0x7e, 0x63, 0x55, 0x34, 0xe3, 0x07, 0x8d, //0x00005dc8 .quad -8284403175614349646 + 0x62, 0xda, 0x2c, 0x3d, 0x9a, 0x1a, 0xce, 0x91, //0x00005dd0 .quad -7940379843253970334 + 0x5f, 0x5e, 0xbc, 0x6a, 0x01, 0xdc, 0x49, 0xb0, //0x00005dd8 .quad -5743817951090549153 + 0xfb, 0x10, 0x78, 0xcc, 0x40, 0xa1, 0x41, 0x76, //0x00005de0 .quad 8521269269642088699 + 0xf7, 0x75, 0x6b, 0xc5, 0x01, 0x53, 0x5c, 0xdc, //0x00005de8 .quad -2568086420435798537 + 0x9d, 0x0a, 0xcb, 0x7f, 0xc8, 0x04, 0xe9, 0xa9, //0x00005df0 .quad -6203421752542164323 + 0xba, 0x29, 0x63, 0x1b, 0xe1, 0xb3, 0xb9, 0x89, //0x00005df8 .quad -8522583040413455942 + 0x44, 0xcd, 0xbd, 0x9f, 0xfa, 0x45, 0x63, 0x54, //0x00005e00 .quad 6080780864604458308 + 0x29, 0xf4, 0x3b, 0x62, 0xd9, 0x20, 0x28, 0xac, //0x00005e08 .quad -6041542782089432023 + 0x95, 0x40, 0xad, 0x47, 0x79, 0x17, 0x7c, 0xa9, //0x00005e10 .quad -6234081974526590827 + 0x33, 0xf1, 0xca, 0xba, 0x0f, 0x29, 0x32, 0xd7, //0x00005e18 .quad -2940242459184402125 + 0x5d, 0x48, 0xcc, 0xcc, 0xab, 0x8e, 0xed, 0x49, //0x00005e20 .quad 5327070802775656541 + 0xc0, 0xd6, 0xbe, 0xd4, 0xa9, 0x59, 0x7f, 0x86, //0x00005e28 .quad -8755180564631333184 + 0x74, 0x5a, 0xff, 0xbf, 0x56, 0xf2, 0x68, 0x5c, //0x00005e30 .quad 6658838503469570676 + 0x70, 0x8c, 0xee, 0x49, 0x14, 0x30, 0x1f, 0xa8, //0x00005e38 .quad -6332289687361778576 + 0x11, 0x31, 0xff, 0x6f, 0xec, 0x2e, 0x83, 0x73, //0x00005e40 .quad 8323548129336963345 + 0x8c, 0x2f, 0x6a, 0x5c, 0x19, 0xfc, 0x26, 0xd2, //0x00005e48 .quad -3303676090774835316 + 0xab, 0x7e, 0xff, 0xc5, 0x53, 0xfd, 0x31, 0xc8, //0x00005e50 .quad -4021154456019173717 + 0xb7, 0x5d, 0xc2, 0xd9, 0x8f, 0x5d, 0x58, 0x83, //0x00005e58 .quad -8982326584375353929 + 0x55, 0x5e, 0x7f, 0xb7, 0xa8, 0x7c, 0x3e, 0xba, //0x00005e60 .quad -5026443070023967147 + 0x25, 0xf5, 0x32, 0xd0, 0xf3, 0x74, 0x2e, 0xa4, //0x00005e68 .quad -6616222212041804507 + 0xeb, 0x35, 0x5f, 0xe5, 0xd2, 0x1b, 0xce, 0x28, //0x00005e70 .quad 2940318199324816875 + 0x6f, 0xb2, 0x3f, 0xc4, 0x30, 0x12, 0x3a, 0xcd, //0x00005e78 .quad -3658591746624867729 + 0xb3, 0x81, 0x5b, 0xcf, 0x63, 0xd1, 0x80, 0x79, //0x00005e80 .quad 8755227902219092403 + 0x85, 0xcf, 0xa7, 0x7a, 0x5e, 0x4b, 0x44, 0x80, //0x00005e88 .quad -9204148869281624187 + 0x1f, 0x62, 0x32, 0xc3, 0xbc, 0x05, 0xe1, 0xd7, //0x00005e90 .quad -2891023177508298209 + 0x66, 0xc3, 0x51, 0x19, 0x36, 0x5e, 0x55, 0xa0, //0x00005e98 .quad -6893500068174642330 + 0xa7, 0xfa, 0xfe, 0xf3, 0x2b, 0x47, 0xd9, 0x8d, //0x00005ea0 .quad -8225464990312760665 + 0x40, 0x34, 0xa6, 0x9f, 0xc3, 0xb5, 0x6a, 0xc8, //0x00005ea8 .quad -4005189066790915008 + 0x51, 0xb9, 0xfe, 0xf0, 0xf6, 0x98, 0x4f, 0xb1, //0x00005eb0 .quad -5670145219463562927 + 0x50, 0xc1, 0x8f, 0x87, 0x34, 0x63, 0x85, 0xfa, //0x00005eb8 .quad -394800315061255856 + 0xd3, 0x33, 0x9f, 0x56, 0x9a, 0xbf, 0xd1, 0x6e, //0x00005ec0 .quad 7985374283903742931 + 0xd2, 0xd8, 0xb9, 0xd4, 0x00, 0x5e, 0x93, 0x9c, //0x00005ec8 .quad -7164279224554366766 + 0xc8, 0x00, 0x47, 0xec, 0x80, 0x2f, 0x86, 0x0a, //0x00005ed0 .quad 758345818024902856 + 0x07, 0x4f, 0xe8, 0x09, 0x81, 0x35, 0xb8, 0xc3, //0x00005ed8 .quad -4343663012265570553 + 0xfa, 0xc0, 0x58, 0x27, 0x61, 0xbb, 0x27, 0xcd, //0x00005ee0 .quad -3663753745896259334 + 0xc8, 0x62, 0x62, 0x4c, 0xe1, 0x42, 0xa6, 0xf4, //0x00005ee8 .quad -817892746904575288 + 0x9c, 0x78, 0x97, 0xb8, 0x1c, 0xd5, 0x38, 0x80, //0x00005ef0 .quad -9207375118826243940 + 0xbd, 0x7d, 0xbd, 0xcf, 0xcc, 0xe9, 0xe7, 0x98, //0x00005ef8 .quad -7428711994456441411 + 0xc3, 0x56, 0xbd, 0xe6, 0x63, 0x0a, 0x47, 0xe0, //0x00005f00 .quad -2285846861678029117 + 0x2c, 0xdd, 0xac, 0x03, 0x40, 0xe4, 0x21, 0xbf, //0x00005f08 .quad -4674203974643163860 + 0x74, 0xac, 0x6c, 0xe0, 0xfc, 0xcc, 0x58, 0x18, //0x00005f10 .quad 1754377441329851508 + 0x78, 0x14, 0x98, 0x04, 0x50, 0x5d, 0xea, 0xee, //0x00005f18 .quad -1231068949876566920 + 0xc8, 0xeb, 0x43, 0x0c, 0x1e, 0x80, 0x37, 0x0f, //0x00005f20 .quad 1096485900831157192 + 0xcb, 0x0c, 0xdf, 0x02, 0x52, 0x7a, 0x52, 0x95, //0x00005f28 .quad -7686947121313936181 + 0xba, 0xe6, 0x54, 0x8f, 0x25, 0x60, 0x05, 0xd3, //0x00005f30 .quad -3241078642388441414 + 0xfd, 0xcf, 0x96, 0x83, 0xe6, 0x18, 0xa7, 0xba, //0x00005f38 .quad -4996997883215032323 + 0x69, 0x20, 0x2a, 0xf3, 0x2e, 0xb8, 0xc6, 0x47, //0x00005f40 .quad 5172023733869224041 + 0xfd, 0x83, 0x7c, 0x24, 0x20, 0xdf, 0x50, 0xe9, //0x00005f48 .quad -1634561335591402499 + 0x41, 0x54, 0xfa, 0x57, 0x1d, 0x33, 0xdc, 0x4c, //0x00005f50 .quad 5538357842881958977 + 0x7e, 0xd2, 0xcd, 0x16, 0x74, 0x8b, 0xd2, 0x91, //0x00005f58 .quad -7939129862385708418 + 0x52, 0xe9, 0xf8, 0xad, 0xe4, 0x3f, 0x13, 0xe0, //0x00005f60 .quad -2300424733252327086 + 0x1d, 0x47, 0x81, 0x1c, 0x51, 0x2e, 0x47, 0xb6, //0x00005f68 .quad -5312226309554747619 + 0xa6, 0x23, 0x77, 0xd9, 0xdd, 0x0f, 0x18, 0x58, //0x00005f70 .quad 6347841120289366950 + 0xe5, 0x98, 0xa1, 0x63, 0xe5, 0xf9, 0xd8, 0xe3, //0x00005f78 .quad -2028596868516046619 + 0x48, 0x76, 0xea, 0xa7, 0xea, 0x09, 0x0f, 0x57, //0x00005f80 .quad 6273243709394548296 + 0x8f, 0xff, 0x44, 0x5e, 0x2f, 0x9c, 0x67, 0x8e, //0x00005f88 .quad -8185402070463610993 + 0xda, 0x13, 0xe5, 0x51, 0x65, 0xcc, 0xd2, 0x2c, //0x00005f90 .quad 3229868618315797466 + 0x73, 0x3f, 0xd6, 0x35, 0x3b, 0x83, 0x01, 0xb2, //0x00005f98 .quad -5620066569652125837 + 0xd1, 0x58, 0x5e, 0xa6, 0x7e, 0x7f, 0x07, 0xf8, //0x00005fa0 .quad -574350245532641071 + 0x4f, 0xcf, 0x4b, 0x03, 0x0a, 0xe4, 0x81, 0xde, //0x00005fa8 .quad -2413397193637769393 + 0x82, 0xf7, 0xfa, 0x27, 0xaf, 0xaf, 0x04, 0xfb, //0x00005fb0 .quad -358968903457900670 + 0x91, 0x61, 0x0f, 0x42, 0x86, 0x2e, 0x11, 0x8b, //0x00005fb8 .quad -8425902273664687727 + 0x63, 0xb5, 0xf9, 0xf1, 0x9a, 0xdb, 0xc5, 0x79, //0x00005fc0 .quad 8774660907532399971 + 0xf6, 0x39, 0x93, 0xd2, 0x27, 0x7a, 0xd5, 0xad, //0x00005fc8 .quad -5920691823653471754 + 0xbc, 0x22, 0x78, 0xae, 0x81, 0x52, 0x37, 0x18, //0x00005fd0 .quad 1744954097560724156 + 0x74, 0x08, 0x38, 0xc7, 0xb1, 0xd8, 0x4a, 0xd9, //0x00005fd8 .quad -2789178761139451788 + 0xb5, 0x15, 0x0b, 0x0d, 0x91, 0x93, 0x22, 0x8f, //0x00005fe0 .quad -8132775725879323211 + 0x48, 0x05, 0x83, 0x1c, 0x6f, 0xc7, 0xce, 0x87, //0x00005fe8 .quad -8660765753353239224 + 0x22, 0xdb, 0x4d, 0x50, 0x75, 0x38, 0xeb, 0xb2, //0x00005ff0 .quad -5554283638921766110 + 0x9a, 0xc6, 0xa3, 0xe3, 0x4a, 0x79, 0xc2, 0xa9, //0x00005ff8 .quad -6214271173264161126 + 0xeb, 0x51, 0x61, 0xa4, 0x92, 0x06, 0xa6, 0x5f, //0x00006000 .quad 6892203506629956075 + 0x41, 0xb8, 0x8c, 0x9c, 0x9d, 0x17, 0x33, 0xd4, //0x00006008 .quad -3156152948152813503 + 0x33, 0xd3, 0xbc, 0xa6, 0x1b, 0xc4, 0xc7, 0xdb, //0x00006010 .quad -2609901835997359309 + 0x28, 0xf3, 0xd7, 0x81, 0xc2, 0xee, 0x9f, 0x84, //0x00006018 .quad -8890124620236590296 + 0x00, 0x08, 0x6c, 0x90, 0x22, 0xb5, 0xb9, 0x12, //0x00006020 .quad 1349308723430688768 + 0xf3, 0xef, 0x4d, 0x22, 0x73, 0xea, 0xc7, 0xa5, //0x00006028 .quad -6500969756868349965 + 0x00, 0x0a, 0x87, 0x34, 0x6b, 0x22, 0x68, 0xd7, //0x00006030 .quad -2925050114139026944 + 0xef, 0x6b, 0xe1, 0xea, 0x0f, 0xe5, 0x39, 0xcf, //0x00006038 .quad -3514526177658049553 + 0x40, 0x66, 0xd4, 0x00, 0x83, 0x15, 0xa1, 0xe6, //0x00006040 .quad -1828156321336891840 + 0x75, 0xe3, 0xcc, 0xf2, 0x29, 0x2f, 0x84, 0x81, //0x00006048 .quad -9114107888677362827 + 0xd0, 0x7f, 0x09, 0xc1, 0xe3, 0x5a, 0x49, 0x60, //0x00006050 .quad 6938176635183661008 + 0x53, 0x1c, 0x80, 0x6f, 0xf4, 0x3a, 0xe5, 0xa1, //0x00006058 .quad -6780948842419315629 + 0xc4, 0xdf, 0x4b, 0xb1, 0x9c, 0xb1, 0x5b, 0x38, //0x00006060 .quad 4061034775552188356 + 0x68, 0x23, 0x60, 0x8b, 0xb1, 0x89, 0x5e, 0xca, //0x00006068 .quad -3864500034596756632 + 0xb5, 0xd7, 0x9e, 0xdd, 0x03, 0x9e, 0x72, 0x46, //0x00006070 .quad 5076293469440235445 + 0x42, 0x2c, 0x38, 0xee, 0x1d, 0x2c, 0xf6, 0xfc, //0x00006078 .quad -218939024818557886 + 0xd1, 0x46, 0x83, 0x6a, 0xc2, 0xa2, 0x07, 0x6c, //0x00006080 .quad 7784369436827535057 + 0xa9, 0x1b, 0xe3, 0xb4, 0x92, 0xdb, 0x19, 0x9e, //0x00006088 .quad -7054365918152680535 + 0x85, 0x18, 0x24, 0x05, 0x73, 0x8b, 0x09, 0xc7, //0x00006090 .quad -4104596259247744891 + 0x93, 0xe2, 0x1b, 0x62, 0x77, 0x52, 0xa0, 0xc5, //0x00006098 .quad -4206271379263462765 + 0xa7, 0x1e, 0x6d, 0xc6, 0x4f, 0xee, 0xcb, 0xb8, //0x000060a0 .quad -5130745324059681113 + 0x38, 0xdb, 0xa2, 0x3a, 0x15, 0x67, 0x08, 0xf7, //0x000060a8 .quad -646153205651940552 + 0x28, 0x33, 0x04, 0xdc, 0xf1, 0x74, 0x7f, 0x73, //0x000060b0 .quad 8322499218531169064 + 0x03, 0xc9, 0xa5, 0x44, 0x6d, 0x40, 0x65, 0x9a, //0x000060b8 .quad -7321374781173544701 + 0xf2, 0x3f, 0x05, 0x53, 0x2e, 0x52, 0x5f, 0x50, //0x000060c0 .quad 5791438004736573426 + 0x44, 0x3b, 0xcf, 0x95, 0x88, 0x90, 0xfe, 0xc0, //0x000060c8 .quad -4540032458039542972 + 0xef, 0x8f, 0xc6, 0xe7, 0xb9, 0x26, 0x77, 0x64, //0x000060d0 .quad 7239297505920716783 + 0x15, 0x0a, 0x43, 0xbb, 0xaa, 0x34, 0x3e, 0xf1, //0x000060d8 .quad -1063354554122040811 + 0xf5, 0x19, 0xdc, 0x30, 0x34, 0x78, 0xca, 0x5e, //0x000060e0 .quad 6830403950414141941 + 0x4d, 0xe6, 0x09, 0xb5, 0xea, 0xe0, 0xc6, 0x96, //0x000060e8 .quad -7582125623967357363 + 0x72, 0x20, 0x13, 0x3d, 0x41, 0x16, 0x7d, 0xb6, //0x000060f0 .quad -5297053117264486286 + 0xe0, 0x5f, 0x4c, 0x62, 0x25, 0x99, 0x78, 0xbc, //0x000060f8 .quad -4865971011531808800 + 0x8f, 0xe8, 0x57, 0x8c, 0xd1, 0x5b, 0x1c, 0xe4, //0x00006100 .quad -2009630378153219953 + 0xd8, 0x77, 0xdf, 0xba, 0x6e, 0xbf, 0x96, 0xeb, //0x00006108 .quad -1470777745987373096 + 0x59, 0xf1, 0xb6, 0xf7, 0x62, 0xb9, 0x91, 0x8e, //0x00006110 .quad -8173548013986844327 + 0xe7, 0xaa, 0xcb, 0x34, 0xa5, 0x37, 0x3e, 0x93, //0x00006118 .quad -7836765118883190041 + 0xb0, 0xad, 0xa4, 0xb5, 0xbb, 0x27, 0x36, 0x72, //0x00006120 .quad 8229809056225996208 + 0xa1, 0x95, 0xfe, 0x81, 0x8e, 0xc5, 0x0d, 0xb8, //0x00006128 .quad -5184270380176599647 + 0x1c, 0xd9, 0x0d, 0xa3, 0xaa, 0xb1, 0xc3, 0xce, //0x00006130 .quad -3547796734999668452 + 0x09, 0x3b, 0x7e, 0x22, 0xf2, 0x36, 0x11, 0xe6, //0x00006138 .quad -1868651956793361655 + 0xb1, 0xa7, 0xe8, 0xa5, 0x0a, 0x4f, 0x3a, 0x21, //0x00006140 .quad 2394313059052595121 + 0xe6, 0xe4, 0x8e, 0x55, 0x57, 0xc2, 0xca, 0x8f, //0x00006148 .quad -8085436500636932890 + 0x9d, 0xd1, 0x62, 0x4f, 0xcd, 0xe2, 0x88, 0xa9, //0x00006150 .quad -6230480713039031907 + 0x1f, 0x9e, 0xf2, 0x2a, 0xed, 0x72, 0xbd, 0xb3, //0x00006158 .quad -5495109607368778209 + 0x05, 0x86, 0x3b, 0xa3, 0x80, 0x1b, 0xeb, 0x93, //0x00006160 .quad -7788100891298789883 + 0xa7, 0x45, 0xaf, 0x75, 0xa8, 0xcf, 0xac, 0xe0, //0x00006168 .quad -2257200990783584857 + 0xc3, 0x33, 0x05, 0x66, 0x30, 0xf1, 0x72, 0xbc, //0x00006170 .quad -4867563057061743677 + 0x88, 0x8b, 0x8d, 0x49, 0xc9, 0x01, 0x6c, 0x8c, //0x00006178 .quad -8328279646880822392 + 0xb4, 0x80, 0x86, 0x7f, 0x7c, 0xad, 0x8f, 0xeb, //0x00006180 .quad -1472767802899791692 + 0x6a, 0xee, 0xf0, 0x9b, 0x3b, 0x02, 0x87, 0xaf, //0x00006188 .quad -5798663540173640086 + 0xe1, 0x20, 0x68, 0x9f, 0xdb, 0x98, 0x73, 0xa6, //0x00006190 .quad -6452645772052127519 + 0x05, 0x2a, 0xed, 0x82, 0xca, 0xc2, 0x68, 0xdb, //0x00006198 .quad -2636643406789662203 + 0x8c, 0x14, 0xa1, 0x43, 0x89, 0x3f, 0x08, 0x88, //0x000061a0 .quad -8644589625959967604 + 0x43, 0x3a, 0xd4, 0x91, 0xbe, 0x79, 0x21, 0x89, //0x000061a8 .quad -8565431156884620733 + 0xb0, 0x59, 0x89, 0x94, 0x6b, 0x4f, 0x0a, 0x6a, //0x000061b0 .quad 7641007041259592112 + 0xd4, 0x48, 0x49, 0x36, 0x2e, 0xd8, 0x69, 0xab, //0x000061b8 .quad -6095102927678388012 + 0x1c, 0xb0, 0xab, 0x79, 0x46, 0xe3, 0x8c, 0x84, //0x000061c0 .quad -8895485272135061476 + 0x09, 0x9b, 0xdb, 0xc3, 0x39, 0x4e, 0x44, 0xd6, //0x000061c8 .quad -3007192641170597111 + 0x11, 0x4e, 0x0b, 0x0c, 0x0c, 0x0e, 0xd8, 0xf2, //0x000061d0 .quad -947992276657025519 + 0xe5, 0x40, 0x69, 0x1a, 0xe4, 0xb0, 0xea, 0x85, //0x000061d8 .quad -8797024428372705051 + 0x95, 0x21, 0x0e, 0x0f, 0x8f, 0x11, 0x8e, 0x6f, //0x000061e0 .quad 8038381691033493909 + 0x1f, 0x91, 0x03, 0x21, 0x1d, 0x5d, 0x65, 0xa7, //0x000061e8 .quad -6384594517038493409 + 0xfb, 0xa9, 0xd1, 0xd2, 0xf2, 0x95, 0x71, 0x4b, //0x000061f0 .quad 5436291095364479483 + 0x67, 0x75, 0x44, 0x69, 0x64, 0xb4, 0x3e, 0xd1, //0x000061f8 .quad -3369057127870728857 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006200 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x00006210 .p2align 4, 0x00 + //0x00006210 _POW_TAB + 0x01, 0x00, 0x00, 0x00, //0x00006210 .long 1 + 0x03, 0x00, 0x00, 0x00, //0x00006214 .long 3 + 0x06, 0x00, 0x00, 0x00, //0x00006218 .long 6 + 0x09, 0x00, 0x00, 0x00, //0x0000621c .long 9 + 0x0d, 0x00, 0x00, 0x00, //0x00006220 .long 13 + 0x10, 0x00, 0x00, 0x00, //0x00006224 .long 16 + 0x13, 0x00, 0x00, 0x00, //0x00006228 .long 19 + 0x17, 0x00, 0x00, 0x00, //0x0000622c .long 23 + 0x1a, 0x00, 0x00, 0x00, //0x00006230 .long 26 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006234 .p2align 4, 0x00 + //0x00006240 _LSHIFT_TAB + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006240 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006250 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006260 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006270 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006280 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006290 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062a0 QUAD $0x0000000000000000 // .space 8, '\x00\x00\x00\x00\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x000062a8 .long 1 + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062ac QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000630c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x00006310 .long 1 + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006314 QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006324 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006334 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006344 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006354 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006364 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006374 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x00006378 .long 1 + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000637c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000638c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000639c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000063dc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x000063e0 .long 2 + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063e4 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006404 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006414 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006424 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006434 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006444 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x00006448 .long 2 + 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000644c QUAD $0x0000000035323133; QUAD $0x0000000000000000 // .asciz 16, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000645c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000646c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000647c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000648c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000649c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000064ac LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x000064b0 .long 2 + 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064b4 QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006504 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006514 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x00006518 .long 3 + 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000651c QUAD $0x0000003532313837; QUAD $0x0000000000000000 // .asciz 16, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000652c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000653c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000654c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000655c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000656c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000657c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x00006580 .long 3 + 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006584 QUAD $0x0000353236303933; QUAD $0x0000000000000000 // .asciz 16, '390625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006594 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000065e4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x000065e8 .long 3 + 0x31, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065ec QUAD $0x0035323133353931; QUAD $0x0000000000000000 // .asciz 16, '1953125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000660c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000661c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000662c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000663c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000664c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00006650 .long 4 + 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006654 QUAD $0x0035323635363739; QUAD $0x0000000000000000 // .asciz 16, '9765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006664 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006674 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006684 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006694 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000066b4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x000066b8 .long 4 + 0x34, 0x38, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066bc QUAD $0x3532313832383834; QUAD $0x0000000000000000 // .asciz 16, '48828125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000670c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000671c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00006720 .long 4 + 0x32, 0x34, 0x34, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006724 QUAD $0x3236303431343432; QUAD $0x0000000000000035 // .asciz 16, '244140625\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006734 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006744 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006754 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006764 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006774 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006784 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00006788 .long 4 + 0x31, 0x32, 0x32, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000678c QUAD $0x3133303730323231; QUAD $0x0000000000003532 // .asciz 16, '1220703125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000679c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000067ec LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x000067f0 .long 5 + 0x36, 0x31, 0x30, 0x33, 0x35, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067f4 QUAD $0x3635313533303136; QUAD $0x0000000000003532 // .asciz 16, '6103515625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006804 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006814 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006824 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006834 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006844 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006854 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x00006858 .long 5 + 0x33, 0x30, 0x35, 0x31, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000685c QUAD $0x3837353731353033; QUAD $0x0000000000353231 // .asciz 16, '30517578125\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000686c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000687c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000688c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000689c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000068bc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x000068c0 .long 5 + 0x31, 0x35, 0x32, 0x35, 0x38, 0x37, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x000068c4 QUAD $0x3938373835323531; QUAD $0x0000000035323630 // .asciz 16, '152587890625\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006904 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006914 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006924 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00006928 .long 6 + 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x0000692c QUAD $0x3534393339323637; QUAD $0x0000000035323133 // .asciz 16, '762939453125\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000693c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000694c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000695c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000696c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000697c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000698c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00006990 .long 6 + 0x33, 0x38, 0x31, 0x34, 0x36, 0x39, 0x37, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, //0x00006994 QUAD $0x3237393634313833; QUAD $0x0000003532363536 // .asciz 16, '3814697265625\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000069f4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x000069f8 .long 6 + 0x31, 0x39, 0x30, 0x37, 0x33, 0x34, 0x38, 0x36, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, //0x000069fc QUAD $0x3638343337303931; QUAD $0x0000353231383233 // .asciz 16, '19073486328125\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a3c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006a5c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00006a60 .long 7 + 0x39, 0x35, 0x33, 0x36, 0x37, 0x34, 0x33, 0x31, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, //0x00006a64 QUAD $0x3133343736333539; QUAD $0x0000353236303436 // .asciz 16, '95367431640625\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006aa4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ab4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006ac4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00006ac8 .long 7 + 0x34, 0x37, 0x36, 0x38, 0x33, 0x37, 0x31, 0x35, 0x38, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, //0x00006acc QUAD $0x3531373338363734; QUAD $0x0035323133303238 // .asciz 16, '476837158203125\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006adc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006aec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006afc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006b2c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00006b30 .long 7 + 0x32, 0x33, 0x38, 0x34, 0x31, 0x38, 0x35, 0x37, 0x39, 0x31, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, //0x00006b34 QUAD $0x3735383134383332; QUAD $0x3532363531303139 // .asciz 16, '2384185791015625' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006b94 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00006b98 .long 7 + 0x31, 0x31, 0x39, 0x32, 0x30, 0x39, 0x32, 0x38, 0x39, 0x35, 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, //0x00006b9c QUAD $0x3832393032393131; QUAD $0x3231383730353539 // .asciz 16, '1192092895507812' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bac QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bbc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bcc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bdc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006bfc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00006c00 .long 8 + 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, //0x00006c04 QUAD $0x3434363430363935; QUAD $0x3236303933353737 // .asciz 16, '5960464477539062' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c14 QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c34 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006c64 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00006c68 .long 8 + 0x32, 0x39, 0x38, 0x30, 0x32, 0x33, 0x32, 0x32, 0x33, 0x38, 0x37, 0x36, 0x39, 0x35, 0x33, 0x31, //0x00006c6c QUAD $0x3232333230383932; QUAD $0x3133353936373833 // .asciz 16, '2980232238769531' + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c7c QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c9c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006cac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006cbc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006ccc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00006cd0 .long 8 + 0x31, 0x34, 0x39, 0x30, 0x31, 0x31, 0x36, 0x31, 0x31, 0x39, 0x33, 0x38, 0x34, 0x37, 0x36, 0x35, //0x00006cd4 QUAD $0x3136313130393431; QUAD $0x3536373438333931 // .asciz 16, '1490116119384765' + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ce4 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006cf4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006d34 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00006d38 .long 9 + 0x37, 0x34, 0x35, 0x30, 0x35, 0x38, 0x30, 0x35, 0x39, 0x36, 0x39, 0x32, 0x33, 0x38, 0x32, 0x38, //0x00006d3c QUAD $0x3530383530353437; QUAD $0x3832383332393639 // .asciz 16, '7450580596923828' + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d4c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d7c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006d9c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00006da0 .long 9 + 0x33, 0x37, 0x32, 0x35, 0x32, 0x39, 0x30, 0x32, 0x39, 0x38, 0x34, 0x36, 0x31, 0x39, 0x31, 0x34, //0x00006da4 QUAD $0x3230393235323733; QUAD $0x3431393136343839 // .asciz 16, '3725290298461914' + 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006db4 QUAD $0x0000000035323630; QUAD $0x0000000000000000 // .asciz 16, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006dc4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006dd4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006de4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006df4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006e04 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00006e08 .long 9 + 0x31, 0x38, 0x36, 0x32, 0x36, 0x34, 0x35, 0x31, 0x34, 0x39, 0x32, 0x33, 0x30, 0x39, 0x35, 0x37, //0x00006e0c QUAD $0x3135343632363831; QUAD $0x3735393033323934 // .asciz 16, '1862645149230957' + 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e1c QUAD $0x0000003532313330; QUAD $0x0000000000000000 // .asciz 16, '03125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e3c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006e6c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00006e70 .long 10 + 0x39, 0x33, 0x31, 0x33, 0x32, 0x32, 0x35, 0x37, 0x34, 0x36, 0x31, 0x35, 0x34, 0x37, 0x38, 0x35, //0x00006e74 QUAD $0x3735323233313339; QUAD $0x3538373435313634 // .asciz 16, '9313225746154785' + 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e84 QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ea4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006eb4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ec4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006ed4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00006ed8 .long 10 + 0x34, 0x36, 0x35, 0x36, 0x36, 0x31, 0x32, 0x38, 0x37, 0x33, 0x30, 0x37, 0x37, 0x33, 0x39, 0x32, //0x00006edc QUAD $0x3832313636353634; QUAD $0x3239333737303337 // .asciz 16, '4656612873077392' + 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006eec QUAD $0x0000353231383735; QUAD $0x0000000000000000 // .asciz 16, '578125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006efc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006f3c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00006f40 .long 10 + 0x32, 0x33, 0x32, 0x38, 0x33, 0x30, 0x36, 0x34, 0x33, 0x36, 0x35, 0x33, 0x38, 0x36, 0x39, 0x36, //0x00006f44 QUAD $0x3436303338323332; QUAD $0x3639363833353633 // .asciz 16, '2328306436538696' + 0x32, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f54 QUAD $0x0035323630393832; QUAD $0x0000000000000000 // .asciz 16, '2890625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006fa4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00006fa8 .long 10 + 0x31, 0x31, 0x36, 0x34, 0x31, 0x35, 0x33, 0x32, 0x31, 0x38, 0x32, 0x36, 0x39, 0x33, 0x34, 0x38, //0x00006fac QUAD $0x3233353134363131; QUAD $0x3834333936323831 // .asciz 16, '1164153218269348' + 0x31, 0x34, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006fbc QUAD $0x3532313335343431; QUAD $0x0000000000000000 // .asciz 16, '14453125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006fcc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006fdc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006fec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ffc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000700c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00007010 .long 11 + 0x35, 0x38, 0x32, 0x30, 0x37, 0x36, 0x36, 0x30, 0x39, 0x31, 0x33, 0x34, 0x36, 0x37, 0x34, 0x30, //0x00007014 QUAD $0x3036363730323835; QUAD $0x3034373634333139 // .asciz 16, '5820766091346740' + 0x37, 0x32, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007024 QUAD $0x3532363536323237; QUAD $0x0000000000000000 // .asciz 16, '72265625\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007034 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007044 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007054 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007064 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007074 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00007078 .long 11 + 0x32, 0x39, 0x31, 0x30, 0x33, 0x38, 0x33, 0x30, 0x34, 0x35, 0x36, 0x37, 0x33, 0x33, 0x37, 0x30, //0x0000707c QUAD $0x3033383330313932; QUAD $0x3037333337363534 // .asciz 16, '2910383045673370' + 0x33, 0x36, 0x31, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000708c QUAD $0x3231383233313633; QUAD $0x0000000000000035 // .asciz 16, '361328125\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000709c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000070ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000070bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000070cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000070dc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x000070e0 .long 11 + 0x31, 0x34, 0x35, 0x35, 0x31, 0x39, 0x31, 0x35, 0x32, 0x32, 0x38, 0x33, 0x36, 0x36, 0x38, 0x35, //0x000070e4 QUAD $0x3531393135353431; QUAD $0x3538363633383232 // .asciz 16, '1455191522836685' + 0x31, 0x38, 0x30, 0x36, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000070f4 QUAD $0x3630343636303831; QUAD $0x0000000000003532 // .asciz 16, '1806640625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007104 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007114 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007124 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007134 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007144 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00007148 .long 12 + 0x37, 0x32, 0x37, 0x35, 0x39, 0x35, 0x37, 0x36, 0x31, 0x34, 0x31, 0x38, 0x33, 0x34, 0x32, 0x35, //0x0000714c QUAD $0x3637353935373237; QUAD $0x3532343338313431 // .asciz 16, '7275957614183425' + 0x39, 0x30, 0x33, 0x33, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000715c QUAD $0x3133303233333039; QUAD $0x0000000000003532 // .asciz 16, '9033203125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000716c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000717c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000718c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000719c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000071ac LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x000071b0 .long 12 + 0x33, 0x36, 0x33, 0x37, 0x39, 0x37, 0x38, 0x38, 0x30, 0x37, 0x30, 0x39, 0x31, 0x37, 0x31, 0x32, //0x000071b4 QUAD $0x3838373937333633; QUAD $0x3231373139303730 // .asciz 16, '3637978807091712' + 0x39, 0x35, 0x31, 0x36, 0x36, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071c4 QUAD $0x3531303636313539; QUAD $0x0000000000353236 // .asciz 16, '95166015625\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007204 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007214 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00007218 .long 12 + 0x31, 0x38, 0x31, 0x38, 0x39, 0x38, 0x39, 0x34, 0x30, 0x33, 0x35, 0x34, 0x35, 0x38, 0x35, 0x36, //0x0000721c QUAD $0x3439383938313831; QUAD $0x3635383534353330 // .asciz 16, '1818989403545856' + 0x34, 0x37, 0x35, 0x38, 0x33, 0x30, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x0000722c QUAD $0x3730303338353734; QUAD $0x0000000035323138 // .asciz 16, '475830078125\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000723c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000724c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000725c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000726c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000727c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00007280 .long 13 + 0x39, 0x30, 0x39, 0x34, 0x39, 0x34, 0x37, 0x30, 0x31, 0x37, 0x37, 0x32, 0x39, 0x32, 0x38, 0x32, //0x00007284 QUAD $0x3037343934393039; QUAD $0x3238323932373731 // .asciz 16, '9094947017729282' + 0x33, 0x37, 0x39, 0x31, 0x35, 0x30, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x00007294 QUAD $0x3933303531393733; QUAD $0x0000000035323630 // .asciz 16, '379150390625\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000072e4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x000072e8 .long 13 + 0x34, 0x35, 0x34, 0x37, 0x34, 0x37, 0x33, 0x35, 0x30, 0x38, 0x38, 0x36, 0x34, 0x36, 0x34, 0x31, //0x000072ec QUAD $0x3533373437343534; QUAD $0x3134363436383830 // .asciz 16, '4547473508864641' + 0x31, 0x38, 0x39, 0x35, 0x37, 0x35, 0x31, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, //0x000072fc QUAD $0x3931353735393831; QUAD $0x0000003532313335 // .asciz 16, '1895751953125\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000730c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000731c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000732c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000733c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000734c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00007350 .long 13 + 0x32, 0x32, 0x37, 0x33, 0x37, 0x33, 0x36, 0x37, 0x35, 0x34, 0x34, 0x33, 0x32, 0x33, 0x32, 0x30, //0x00007354 QUAD $0x3736333733373232; QUAD $0x3032333233343435 // .asciz 16, '2273736754432320' + 0x35, 0x39, 0x34, 0x37, 0x38, 0x37, 0x35, 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, //0x00007364 QUAD $0x3935373837343935; QUAD $0x0000353236353637 // .asciz 16, '59478759765625\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007374 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007384 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007394 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000073a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000073b4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x000073b8 .long 13 + 0x31, 0x31, 0x33, 0x36, 0x38, 0x36, 0x38, 0x33, 0x37, 0x37, 0x32, 0x31, 0x36, 0x31, 0x36, 0x30, //0x000073bc QUAD $0x3338363836333131; QUAD $0x3036313631323737 // .asciz 16, '1136868377216160' + 0x32, 0x39, 0x37, 0x33, 0x39, 0x33, 0x37, 0x39, 0x38, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, //0x000073cc QUAD $0x3937333933373932; QUAD $0x0035323138323838 // .asciz 16, '297393798828125\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000073dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000073ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000073fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000740c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000741c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x00007420 .long 14 + 0x35, 0x36, 0x38, 0x34, 0x33, 0x34, 0x31, 0x38, 0x38, 0x36, 0x30, 0x38, 0x30, 0x38, 0x30, 0x31, //0x00007424 QUAD $0x3831343334383635; QUAD $0x3130383038303638 // .asciz 16, '5684341886080801' + 0x34, 0x38, 0x36, 0x39, 0x36, 0x38, 0x39, 0x39, 0x34, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, //0x00007434 QUAD $0x3939383639363834; QUAD $0x0035323630343134 // .asciz 16, '486968994140625\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007444 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007454 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007464 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007474 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007484 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x00007488 .long 14 + 0x32, 0x38, 0x34, 0x32, 0x31, 0x37, 0x30, 0x39, 0x34, 0x33, 0x30, 0x34, 0x30, 0x34, 0x30, 0x30, //0x0000748c QUAD $0x3930373132343832; QUAD $0x3030343034303334 // .asciz 16, '2842170943040400' + 0x37, 0x34, 0x33, 0x34, 0x38, 0x34, 0x34, 0x39, 0x37, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, //0x0000749c QUAD $0x3934343834333437; QUAD $0x3532313330373037 // .asciz 16, '7434844970703125' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000074ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000074bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000074cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000074dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000074ec LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x000074f0 .long 14 + 0x31, 0x34, 0x32, 0x31, 0x30, 0x38, 0x35, 0x34, 0x37, 0x31, 0x35, 0x32, 0x30, 0x32, 0x30, 0x30, //0x000074f4 QUAD $0x3435383031323431; QUAD $0x3030323032353137 // .asciz 16, '1421085471520200' + 0x33, 0x37, 0x31, 0x37, 0x34, 0x32, 0x32, 0x34, 0x38, 0x35, 0x33, 0x35, 0x31, 0x35, 0x36, 0x32, //0x00007504 QUAD $0x3432323437313733; QUAD $0x3236353135333538 // .asciz 16, '3717422485351562' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007514 QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007524 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007534 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007544 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007554 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00007558 .long 15 + 0x37, 0x31, 0x30, 0x35, 0x34, 0x32, 0x37, 0x33, 0x35, 0x37, 0x36, 0x30, 0x31, 0x30, 0x30, 0x31, //0x0000755c QUAD $0x3337323435303137; QUAD $0x3130303130363735 // .asciz 16, '7105427357601001' + 0x38, 0x35, 0x38, 0x37, 0x31, 0x31, 0x32, 0x34, 0x32, 0x36, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, //0x0000756c QUAD $0x3432313137383538; QUAD $0x3231383735373632 // .asciz 16, '8587112426757812' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000757c QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000758c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000759c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000075ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000075bc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x000075c0 .long 15 + 0x33, 0x35, 0x35, 0x32, 0x37, 0x31, 0x33, 0x36, 0x37, 0x38, 0x38, 0x30, 0x30, 0x35, 0x30, 0x30, //0x000075c4 QUAD $0x3633313732353533; QUAD $0x3030353030383837 // .asciz 16, '3552713678800500' + 0x39, 0x32, 0x39, 0x33, 0x35, 0x35, 0x36, 0x32, 0x31, 0x33, 0x33, 0x37, 0x38, 0x39, 0x30, 0x36, //0x000075d4 QUAD $0x3236353533393239; QUAD $0x3630393837333331 // .asciz 16, '9293556213378906' + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000075e4 QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000075f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007604 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007614 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007624 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00007628 .long 15 + 0x31, 0x37, 0x37, 0x36, 0x33, 0x35, 0x36, 0x38, 0x33, 0x39, 0x34, 0x30, 0x30, 0x32, 0x35, 0x30, //0x0000762c QUAD $0x3836353336373731; QUAD $0x3035323030343933 // .asciz 16, '1776356839400250' + 0x34, 0x36, 0x34, 0x36, 0x37, 0x37, 0x38, 0x31, 0x30, 0x36, 0x36, 0x38, 0x39, 0x34, 0x35, 0x33, //0x0000763c QUAD $0x3138373736343634; QUAD $0x3335343938363630 // .asciz 16, '4646778106689453' + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000764c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000765c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000766c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000767c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000768c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00007690 .long 16 + 0x38, 0x38, 0x38, 0x31, 0x37, 0x38, 0x34, 0x31, 0x39, 0x37, 0x30, 0x30, 0x31, 0x32, 0x35, 0x32, //0x00007694 QUAD $0x3134383731383838; QUAD $0x3235323130303739 // .asciz 16, '8881784197001252' + 0x33, 0x32, 0x33, 0x33, 0x38, 0x39, 0x30, 0x35, 0x33, 0x33, 0x34, 0x34, 0x37, 0x32, 0x36, 0x35, //0x000076a4 QUAD $0x3530393833333233; QUAD $0x3536323734343333 // .asciz 16, '3233890533447265' + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000076b4 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000076c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000076d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000076e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000076f4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x000076f8 .long 16 + 0x34, 0x34, 0x34, 0x30, 0x38, 0x39, 0x32, 0x30, 0x39, 0x38, 0x35, 0x30, 0x30, 0x36, 0x32, 0x36, //0x000076fc QUAD $0x3032393830343434; QUAD $0x3632363030353839 // .asciz 16, '4440892098500626' + 0x31, 0x36, 0x31, 0x36, 0x39, 0x34, 0x35, 0x32, 0x36, 0x36, 0x37, 0x32, 0x33, 0x36, 0x33, 0x32, //0x0000770c QUAD $0x3235343936313631; QUAD $0x3233363332373636 // .asciz 16, '1616945266723632' + 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000771c QUAD $0x0000000035323138; QUAD $0x0000000000000000 // .asciz 16, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000772c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000773c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000774c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000775c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00007760 .long 16 + 0x32, 0x32, 0x32, 0x30, 0x34, 0x34, 0x36, 0x30, 0x34, 0x39, 0x32, 0x35, 0x30, 0x33, 0x31, 0x33, //0x00007764 QUAD $0x3036343430323232; QUAD $0x3331333035323934 // .asciz 16, '2220446049250313' + 0x30, 0x38, 0x30, 0x38, 0x34, 0x37, 0x32, 0x36, 0x33, 0x33, 0x33, 0x36, 0x31, 0x38, 0x31, 0x36, //0x00007774 QUAD $0x3632373438303830; QUAD $0x3631383136333333 // .asciz 16, '0808472633361816' + 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007784 QUAD $0x0000003532363034; QUAD $0x0000000000000000 // .asciz 16, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007794 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000077a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000077b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000077c4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x000077c8 .long 16 + 0x31, 0x31, 0x31, 0x30, 0x32, 0x32, 0x33, 0x30, 0x32, 0x34, 0x36, 0x32, 0x35, 0x31, 0x35, 0x36, //0x000077cc QUAD $0x3033323230313131; QUAD $0x3635313532363432 // .asciz 16, '1110223024625156' + 0x35, 0x34, 0x30, 0x34, 0x32, 0x33, 0x36, 0x33, 0x31, 0x36, 0x36, 0x38, 0x30, 0x39, 0x30, 0x38, //0x000077dc QUAD $0x3336333234303435; QUAD $0x3830393038363631 // .asciz 16, '5404236316680908' + 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000077ec QUAD $0x0000353231333032; QUAD $0x0000000000000000 // .asciz 16, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000077fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000780c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000781c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000782c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00007830 .long 17 + 0x35, 0x35, 0x35, 0x31, 0x31, 0x31, 0x35, 0x31, 0x32, 0x33, 0x31, 0x32, 0x35, 0x37, 0x38, 0x32, //0x00007834 QUAD $0x3135313131353535; QUAD $0x3238373532313332 // .asciz 16, '5551115123125782' + 0x37, 0x30, 0x32, 0x31, 0x31, 0x38, 0x31, 0x35, 0x38, 0x33, 0x34, 0x30, 0x34, 0x35, 0x34, 0x31, //0x00007844 QUAD $0x3531383131323037; QUAD $0x3134353430343338 // .asciz 16, '7021181583404541' + 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007854 QUAD $0x0000353236353130; QUAD $0x0000000000000000 // .asciz 16, '015625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007864 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007874 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007884 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007894 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00007898 .long 17 + 0x32, 0x37, 0x37, 0x35, 0x35, 0x35, 0x37, 0x35, 0x36, 0x31, 0x35, 0x36, 0x32, 0x38, 0x39, 0x31, //0x0000789c QUAD $0x3537353535373732; QUAD $0x3139383236353136 // .asciz 16, '2775557561562891' + 0x33, 0x35, 0x31, 0x30, 0x35, 0x39, 0x30, 0x37, 0x39, 0x31, 0x37, 0x30, 0x32, 0x32, 0x37, 0x30, //0x000078ac QUAD $0x3730393530313533; QUAD $0x3037323230373139 // .asciz 16, '3510590791702270' + 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000078bc QUAD $0x0035323138373035; QUAD $0x0000000000000000 // .asciz 16, '5078125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000078cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000078dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000078ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000078fc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00007900 .long 17 + 0x31, 0x33, 0x38, 0x37, 0x37, 0x37, 0x38, 0x37, 0x38, 0x30, 0x37, 0x38, 0x31, 0x34, 0x34, 0x35, //0x00007904 QUAD $0x3738373737383331; QUAD $0x3534343138373038 // .asciz 16, '1387778780781445' + 0x36, 0x37, 0x35, 0x35, 0x32, 0x39, 0x35, 0x33, 0x39, 0x35, 0x38, 0x35, 0x31, 0x31, 0x33, 0x35, //0x00007914 QUAD $0x3335393235353736; QUAD $0x3533313135383539 // .asciz 16, '6755295395851135' + 0x32, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007924 QUAD $0x3532363039333532; QUAD $0x0000000000000000 // .asciz 16, '25390625\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007934 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007944 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007954 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007964 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x00007968 .long 18 + 0x36, 0x39, 0x33, 0x38, 0x38, 0x39, 0x33, 0x39, 0x30, 0x33, 0x39, 0x30, 0x37, 0x32, 0x32, 0x38, //0x0000796c QUAD $0x3933393838333936; QUAD $0x3832323730393330 // .asciz 16, '6938893903907228' + 0x33, 0x37, 0x37, 0x36, 0x34, 0x37, 0x36, 0x39, 0x37, 0x39, 0x32, 0x35, 0x35, 0x36, 0x37, 0x36, //0x0000797c QUAD $0x3936373436373733; QUAD $0x3637363535323937 // .asciz 16, '3776476979255676' + 0x32, 0x36, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000798c QUAD $0x3532313335393632; QUAD $0x0000000000000000 // .asciz 16, '26953125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000799c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000079ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000079bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000079cc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x000079d0 .long 18 + 0x33, 0x34, 0x36, 0x39, 0x34, 0x34, 0x36, 0x39, 0x35, 0x31, 0x39, 0x35, 0x33, 0x36, 0x31, 0x34, //0x000079d4 QUAD $0x3936343439363433; QUAD $0x3431363335393135 // .asciz 16, '3469446951953614' + 0x31, 0x38, 0x38, 0x38, 0x32, 0x33, 0x38, 0x34, 0x38, 0x39, 0x36, 0x32, 0x37, 0x38, 0x33, 0x38, //0x000079e4 QUAD $0x3438333238383831; QUAD $0x3833383732363938 // .asciz 16, '1888238489627838' + 0x31, 0x33, 0x34, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000079f4 QUAD $0x3236353637343331; QUAD $0x0000000000000035 // .asciz 16, '134765625\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007a34 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x00007a38 .long 18 + 0x31, 0x37, 0x33, 0x34, 0x37, 0x32, 0x33, 0x34, 0x37, 0x35, 0x39, 0x37, 0x36, 0x38, 0x30, 0x37, //0x00007a3c QUAD $0x3433323734333731; QUAD $0x3730383637393537 // .asciz 16, '1734723475976807' + 0x30, 0x39, 0x34, 0x34, 0x31, 0x31, 0x39, 0x32, 0x34, 0x34, 0x38, 0x31, 0x33, 0x39, 0x31, 0x39, //0x00007a4c QUAD $0x3239313134343930; QUAD $0x3931393331383434 // .asciz 16, '0944119244813919' + 0x30, 0x36, 0x37, 0x33, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a5c QUAD $0x3138323833373630; QUAD $0x0000000000003532 // .asciz 16, '0673828125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a7c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007a9c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x13, 0x00, 0x00, 0x00, //0x00007aa0 .long 19 + 0x38, 0x36, 0x37, 0x33, 0x36, 0x31, 0x37, 0x33, 0x37, 0x39, 0x38, 0x38, 0x34, 0x30, 0x33, 0x35, //0x00007aa4 QUAD $0x3337313633373638; QUAD $0x3533303438383937 // .asciz 16, '8673617379884035' + 0x34, 0x37, 0x32, 0x30, 0x35, 0x39, 0x36, 0x32, 0x32, 0x34, 0x30, 0x36, 0x39, 0x35, 0x39, 0x35, //0x00007ab4 QUAD $0x3236393530323734; QUAD $0x3539353936303432 // .asciz 16, '4720596224069595' + 0x33, 0x33, 0x36, 0x39, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007ac4 QUAD $0x3630343139363333; QUAD $0x0000000000003532 // .asciz 16, '3369140625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007ad4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007ae4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007af4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007b04 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/vnumber.go b/vendor/github.com/bytedance/sonic/internal/native/avx/vnumber.go new file mode 100644 index 0000000..ca4cf98 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/vnumber.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vnumber func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer) + +var S_vnumber uintptr + +//go:nosplit +func vnumber(s *string, p *int, v *types.JsonState) { + F_vnumber(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/vnumber_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/vnumber_subr.go new file mode 100644 index 0000000..b7e2d34 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/vnumber_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__vnumber = 48 +) + +const ( + _stack__vnumber = 112 +) + +const ( + _size__vnumber = 9048 +) + +var ( + _pcsp__vnumber = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {751, 112}, + {755, 48}, + {756, 40}, + {758, 32}, + {760, 24}, + {762, 16}, + {764, 8}, + {768, 0}, + {9045, 112}, + } +) + +var _cfunc_vnumber = []loader.CFunc{ + {"_vnumber_entry", 0, _entry__vnumber, 0, nil}, + {"_vnumber", _entry__vnumber, _size__vnumber, _stack__vnumber, _pcsp__vnumber}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/vnumber_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/vnumber_text_amd64.go new file mode 100644 index 0000000..1244635 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/vnumber_text_amd64.go @@ -0,0 +1,4387 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_vnumber = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x00, 0x00, 0x30, 0x43, // .long 1127219200 + 0x00, 0x00, 0x30, 0x45, //0x00000004 .long 1160773632 + 0x00, 0x00, 0x00, 0x00, //0x00000008 .long 0 + 0x00, 0x00, 0x00, 0x00, //0x0000000c .long 0 + //0x00000010 LCPI0_1 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x43, //0x00000010 .quad 4841369599423283200 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x45, //0x00000018 .quad 4985484787499139072 + //0x00000020 .p2align 3, 0x00 + //0x00000020 LCPI0_2 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0x43, //0x00000020 .quad 4831355200913801216 + //0x00000028 LCPI0_3 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0xc3, //0x00000028 .quad -4392016835940974592 + //0x00000030 .p2align 4, 0x90 + //0x00000030 _vnumber + 0x55, //0x00000030 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000031 movq %rsp, %rbp + 0x41, 0x57, //0x00000034 pushq %r15 + 0x41, 0x56, //0x00000036 pushq %r14 + 0x41, 0x55, //0x00000038 pushq %r13 + 0x41, 0x54, //0x0000003a pushq %r12 + 0x53, //0x0000003c pushq %rbx + 0x48, 0x83, 0xec, 0x40, //0x0000003d subq $64, %rsp + 0x49, 0x89, 0xd6, //0x00000041 movq %rdx, %r14 + 0x4c, 0x8b, 0x07, //0x00000044 movq (%rdi), %r8 + 0x4c, 0x8b, 0x5f, 0x08, //0x00000047 movq $8(%rdi), %r11 + 0x48, 0x8b, 0x06, //0x0000004b movq (%rsi), %rax + 0x4c, 0x8b, 0x62, 0x20, //0x0000004e movq $32(%rdx), %r12 + 0x4c, 0x8b, 0x6a, 0x28, //0x00000052 movq $40(%rdx), %r13 + 0x48, 0xc7, 0x02, 0x09, 0x00, 0x00, 0x00, //0x00000056 movq $9, (%rdx) + 0xc5, 0xf9, 0x57, 0xc0, //0x0000005d vxorpd %xmm0, %xmm0, %xmm0 + 0xc5, 0xf9, 0x11, 0x42, 0x08, //0x00000061 vmovupd %xmm0, $8(%rdx) + 0x48, 0x8b, 0x0e, //0x00000066 movq (%rsi), %rcx + 0x48, 0x89, 0x4a, 0x18, //0x00000069 movq %rcx, $24(%rdx) + 0x4c, 0x39, 0xd8, //0x0000006d cmpq %r11, %rax + 0x0f, 0x83, 0x9f, 0x02, 0x00, 0x00, //0x00000070 jae LBB0_50 + 0x41, 0x8a, 0x14, 0x00, //0x00000076 movb (%r8,%rax), %dl + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000007a movl $1, %r9d + 0x80, 0xfa, 0x2d, //0x00000080 cmpb $45, %dl + 0x0f, 0x85, 0x16, 0x00, 0x00, 0x00, //0x00000083 jne LBB0_4 + 0x48, 0xff, 0xc0, //0x00000089 incq %rax + 0x4c, 0x39, 0xd8, //0x0000008c cmpq %r11, %rax + 0x0f, 0x83, 0x80, 0x02, 0x00, 0x00, //0x0000008f jae LBB0_50 + 0x41, 0x8a, 0x14, 0x00, //0x00000095 movb (%r8,%rax), %dl + 0x41, 0xb9, 0xff, 0xff, 0xff, 0xff, //0x00000099 movl $-1, %r9d + //0x0000009f LBB0_4 + 0x8d, 0x4a, 0xd0, //0x0000009f leal $-48(%rdx), %ecx + 0x80, 0xf9, 0x0a, //0x000000a2 cmpb $10, %cl + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x000000a5 jb LBB0_6 + //0x000000ab LBB0_5 + 0x48, 0x89, 0x06, //0x000000ab movq %rax, (%rsi) + 0x49, 0xc7, 0x06, 0xfe, 0xff, 0xff, 0xff, //0x000000ae movq $-2, (%r14) + 0xe9, 0x65, 0x02, 0x00, 0x00, //0x000000b5 jmp LBB0_51 + //0x000000ba LBB0_6 + 0x80, 0xfa, 0x30, //0x000000ba cmpb $48, %dl + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x000000bd jne LBB0_10 + 0x48, 0x8d, 0x48, 0x01, //0x000000c3 leaq $1(%rax), %rcx + 0x4c, 0x39, 0xd8, //0x000000c7 cmpq %r11, %rax + 0x0f, 0x83, 0xcb, 0x00, 0x00, 0x00, //0x000000ca jae LBB0_21 + 0x41, 0x8a, 0x1c, 0x08, //0x000000d0 movb (%r8,%rcx), %bl + 0x80, 0xc3, 0xd2, //0x000000d4 addb $-46, %bl + 0x80, 0xfb, 0x37, //0x000000d7 cmpb $55, %bl + 0x0f, 0x87, 0xbb, 0x00, 0x00, 0x00, //0x000000da ja LBB0_21 + 0x0f, 0xb6, 0xfb, //0x000000e0 movzbl %bl, %edi + 0x48, 0xbb, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000000e3 movabsq $36028797027352577, %rbx + 0x48, 0x0f, 0xa3, 0xfb, //0x000000ed btq %rdi, %rbx + 0x0f, 0x83, 0xa4, 0x00, 0x00, 0x00, //0x000000f1 jae LBB0_21 + //0x000000f7 LBB0_10 + 0x4c, 0x39, 0xd8, //0x000000f7 cmpq %r11, %rax + 0x0f, 0x83, 0x8f, 0x00, 0x00, 0x00, //0x000000fa jae LBB0_20 + 0x48, 0xff, 0xc0, //0x00000100 incq %rax + 0x31, 0xc9, //0x00000103 xorl %ecx, %ecx + 0x31, 0xdb, //0x00000105 xorl %ebx, %ebx + 0x45, 0x31, 0xff, //0x00000107 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000010a .p2align 4, 0x90 + //0x00000110 LBB0_12 + 0x83, 0xfb, 0x12, //0x00000110 cmpl $18, %ebx + 0x0f, 0x8f, 0x17, 0x00, 0x00, 0x00, //0x00000113 jg LBB0_14 + 0x0f, 0xb6, 0xd2, //0x00000119 movzbl %dl, %edx + 0x4b, 0x8d, 0x3c, 0xbf, //0x0000011c leaq (%r15,%r15,4), %rdi + 0x4c, 0x8d, 0x7c, 0x7a, 0xd0, //0x00000120 leaq $-48(%rdx,%rdi,2), %r15 + 0xff, 0xc3, //0x00000125 incl %ebx + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x00000127 jmp LBB0_15 + 0x90, 0x90, 0x90, 0x90, //0x0000012c .p2align 4, 0x90 + //0x00000130 LBB0_14 + 0xff, 0xc1, //0x00000130 incl %ecx + //0x00000132 LBB0_15 + 0x49, 0x39, 0xc3, //0x00000132 cmpq %rax, %r11 + 0x0f, 0x84, 0x68, 0x00, 0x00, 0x00, //0x00000135 je LBB0_22 + 0x41, 0x0f, 0xb6, 0x14, 0x00, //0x0000013b movzbl (%r8,%rax), %edx + 0x8d, 0x7a, 0xd0, //0x00000140 leal $-48(%rdx), %edi + 0x48, 0xff, 0xc0, //0x00000143 incq %rax + 0x40, 0x80, 0xff, 0x0a, //0x00000146 cmpb $10, %dil + 0x0f, 0x82, 0xc0, 0xff, 0xff, 0xff, //0x0000014a jb LBB0_12 + 0x31, 0xff, //0x00000150 xorl %edi, %edi + 0x85, 0xc9, //0x00000152 testl %ecx, %ecx + 0x40, 0x0f, 0x9f, 0xc7, //0x00000154 setg %dil + 0x80, 0xfa, 0x2e, //0x00000158 cmpb $46, %dl + 0x0f, 0x85, 0xdf, 0x02, 0x00, 0x00, //0x0000015b jne LBB0_66 + 0x49, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, //0x00000161 movq $8, (%r14) + 0x4c, 0x39, 0xd8, //0x00000168 cmpq %r11, %rax + 0x0f, 0x83, 0xa4, 0x01, 0x00, 0x00, //0x0000016b jae LBB0_50 + 0x89, 0x7d, 0xc0, //0x00000171 movl %edi, $-64(%rbp) + 0x41, 0x8a, 0x14, 0x00, //0x00000174 movb (%r8,%rax), %dl + 0x80, 0xc2, 0xd0, //0x00000178 addb $-48, %dl + 0x41, 0xba, 0x08, 0x00, 0x00, 0x00, //0x0000017b movl $8, %r10d + 0x80, 0xfa, 0x0a, //0x00000181 cmpb $10, %dl + 0x0f, 0x83, 0x21, 0xff, 0xff, 0xff, //0x00000184 jae LBB0_5 + 0xe9, 0x27, 0x00, 0x00, 0x00, //0x0000018a jmp LBB0_24 + //0x0000018f LBB0_20 + 0x31, 0xc9, //0x0000018f xorl %ecx, %ecx + 0x31, 0xdb, //0x00000191 xorl %ebx, %ebx + 0x45, 0x31, 0xff, //0x00000193 xorl %r15d, %r15d + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00000196 jmp LBB0_23 + //0x0000019b LBB0_21 + 0x48, 0x89, 0x0e, //0x0000019b movq %rcx, (%rsi) + 0xe9, 0x7c, 0x01, 0x00, 0x00, //0x0000019e jmp LBB0_51 + //0x000001a3 LBB0_22 + 0x4c, 0x89, 0xd8, //0x000001a3 movq %r11, %rax + //0x000001a6 LBB0_23 + 0x31, 0xd2, //0x000001a6 xorl %edx, %edx + 0x85, 0xc9, //0x000001a8 testl %ecx, %ecx + 0x0f, 0x9f, 0xc2, //0x000001aa setg %dl + 0x89, 0x55, 0xc0, //0x000001ad movl %edx, $-64(%rbp) + 0x41, 0xba, 0x09, 0x00, 0x00, 0x00, //0x000001b0 movl $9, %r10d + //0x000001b6 LBB0_24 + 0x85, 0xc9, //0x000001b6 testl %ecx, %ecx + 0x44, 0x89, 0x4d, 0xc8, //0x000001b8 movl %r9d, $-56(%rbp) + 0x0f, 0x85, 0x58, 0x00, 0x00, 0x00, //0x000001bc jne LBB0_33 + //0x000001c2 LBB0_25 + 0x4d, 0x85, 0xff, //0x000001c2 testq %r15, %r15 + 0x0f, 0x85, 0x4f, 0x00, 0x00, 0x00, //0x000001c5 jne LBB0_33 + 0x4c, 0x39, 0xd8, //0x000001cb cmpq %r11, %rax + 0x0f, 0x83, 0x3f, 0x00, 0x00, 0x00, //0x000001ce jae LBB0_31 + 0x41, 0x89, 0xc1, //0x000001d4 movl %eax, %r9d + 0x45, 0x29, 0xd9, //0x000001d7 subl %r11d, %r9d + 0x31, 0xdb, //0x000001da xorl %ebx, %ebx + 0x31, 0xc9, //0x000001dc xorl %ecx, %ecx + 0x90, 0x90, //0x000001de .p2align 4, 0x90 + //0x000001e0 LBB0_28 + 0x41, 0x80, 0x3c, 0x00, 0x30, //0x000001e0 cmpb $48, (%r8,%rax) + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000001e5 jne LBB0_32 + 0x48, 0xff, 0xc0, //0x000001eb incq %rax + 0xff, 0xc9, //0x000001ee decl %ecx + 0x49, 0x39, 0xc3, //0x000001f0 cmpq %rax, %r11 + 0x0f, 0x85, 0xe7, 0xff, 0xff, 0xff, //0x000001f3 jne LBB0_28 + 0x45, 0x31, 0xff, //0x000001f9 xorl %r15d, %r15d + 0x41, 0x83, 0xfa, 0x09, //0x000001fc cmpl $9, %r10d + 0x48, 0x89, 0x75, 0xa0, //0x00000200 movq %rsi, $-96(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x00000204 movq %r11, $-88(%rbp) + 0x0f, 0x84, 0x3b, 0x01, 0x00, 0x00, //0x00000208 je LBB0_53 + 0xe9, 0x6c, 0x01, 0x00, 0x00, //0x0000020e jmp LBB0_57 + //0x00000213 LBB0_31 + 0x31, 0xc9, //0x00000213 xorl %ecx, %ecx + 0x31, 0xdb, //0x00000215 xorl %ebx, %ebx + //0x00000217 LBB0_32 + 0x45, 0x31, 0xff, //0x00000217 xorl %r15d, %r15d + //0x0000021a LBB0_33 + 0x4c, 0x39, 0xd8, //0x0000021a cmpq %r11, %rax + 0x0f, 0x83, 0x41, 0x00, 0x00, 0x00, //0x0000021d jae LBB0_38 + 0x83, 0xfb, 0x12, //0x00000223 cmpl $18, %ebx + 0x0f, 0x8f, 0x38, 0x00, 0x00, 0x00, //0x00000226 jg LBB0_38 + 0x90, 0x90, 0x90, 0x90, //0x0000022c .p2align 4, 0x90 + //0x00000230 LBB0_35 + 0x41, 0x0f, 0xb6, 0x14, 0x00, //0x00000230 movzbl (%r8,%rax), %edx + 0x8d, 0x7a, 0xd0, //0x00000235 leal $-48(%rdx), %edi + 0x40, 0x80, 0xff, 0x09, //0x00000238 cmpb $9, %dil + 0x0f, 0x87, 0x22, 0x00, 0x00, 0x00, //0x0000023c ja LBB0_38 + 0x4b, 0x8d, 0x3c, 0xbf, //0x00000242 leaq (%r15,%r15,4), %rdi + 0x4c, 0x8d, 0x7c, 0x7a, 0xd0, //0x00000246 leaq $-48(%rdx,%rdi,2), %r15 + 0xff, 0xc9, //0x0000024b decl %ecx + 0x48, 0xff, 0xc0, //0x0000024d incq %rax + 0x83, 0xfb, 0x11, //0x00000250 cmpl $17, %ebx + 0x0f, 0x8f, 0x0b, 0x00, 0x00, 0x00, //0x00000253 jg LBB0_38 + 0xff, 0xc3, //0x00000259 incl %ebx + 0x4c, 0x39, 0xd8, //0x0000025b cmpq %r11, %rax + 0x0f, 0x82, 0xcc, 0xff, 0xff, 0xff, //0x0000025e jb LBB0_35 + //0x00000264 LBB0_38 + 0x4c, 0x39, 0xd8, //0x00000264 cmpq %r11, %rax + 0x0f, 0x83, 0xc4, 0x00, 0x00, 0x00, //0x00000267 jae LBB0_52 + 0x41, 0x8a, 0x1c, 0x00, //0x0000026d movb (%r8,%rax), %bl + 0x8d, 0x53, 0xd0, //0x00000271 leal $-48(%rbx), %edx + 0x80, 0xfa, 0x09, //0x00000274 cmpb $9, %dl + 0x0f, 0x87, 0x39, 0x00, 0x00, 0x00, //0x00000277 ja LBB0_44 + 0x49, 0x8d, 0x53, 0xff, //0x0000027d leaq $-1(%r11), %rdx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000281 .p2align 4, 0x90 + //0x00000290 LBB0_41 + 0x48, 0x39, 0xc2, //0x00000290 cmpq %rax, %rdx + 0x0f, 0x84, 0xc4, 0x01, 0x00, 0x00, //0x00000293 je LBB0_67 + 0x41, 0x0f, 0xb6, 0x5c, 0x00, 0x01, //0x00000299 movzbl $1(%r8,%rax), %ebx + 0x48, 0xff, 0xc0, //0x0000029f incq %rax + 0x8d, 0x7b, 0xd0, //0x000002a2 leal $-48(%rbx), %edi + 0x40, 0x80, 0xff, 0x09, //0x000002a5 cmpb $9, %dil + 0x0f, 0x86, 0xe1, 0xff, 0xff, 0xff, //0x000002a9 jbe LBB0_41 + 0xc7, 0x45, 0xc0, 0x01, 0x00, 0x00, 0x00, //0x000002af movl $1, $-64(%rbp) + //0x000002b6 LBB0_44 + 0x80, 0xcb, 0x20, //0x000002b6 orb $32, %bl + 0x80, 0xfb, 0x65, //0x000002b9 cmpb $101, %bl + 0x0f, 0x85, 0x6f, 0x00, 0x00, 0x00, //0x000002bc jne LBB0_52 + 0x48, 0x8d, 0x50, 0x01, //0x000002c2 leaq $1(%rax), %rdx + 0x49, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, //0x000002c6 movq $8, (%r14) + 0x4c, 0x39, 0xda, //0x000002cd cmpq %r11, %rdx + 0x0f, 0x83, 0x3f, 0x00, 0x00, 0x00, //0x000002d0 jae LBB0_50 + 0x41, 0x8a, 0x1c, 0x10, //0x000002d6 movb (%r8,%rdx), %bl + 0x80, 0xfb, 0x2d, //0x000002da cmpb $45, %bl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x000002dd je LBB0_48 + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x000002e3 movl $1, %r10d + 0x80, 0xfb, 0x2b, //0x000002e9 cmpb $43, %bl + 0x0f, 0x85, 0x10, 0x05, 0x00, 0x00, //0x000002ec jne LBB0_102 + //0x000002f2 LBB0_48 + 0x48, 0x83, 0xc0, 0x02, //0x000002f2 addq $2, %rax + 0x4c, 0x39, 0xd8, //0x000002f6 cmpq %r11, %rax + 0x0f, 0x83, 0x16, 0x00, 0x00, 0x00, //0x000002f9 jae LBB0_50 + 0x31, 0xd2, //0x000002ff xorl %edx, %edx + 0x80, 0xfb, 0x2b, //0x00000301 cmpb $43, %bl + 0x0f, 0x94, 0xc2, //0x00000304 sete %dl + 0x44, 0x8d, 0x54, 0x12, 0xff, //0x00000307 leal $-1(%rdx,%rdx), %r10d + 0x41, 0x8a, 0x1c, 0x00, //0x0000030c movb (%r8,%rax), %bl + 0xe9, 0xf0, 0x04, 0x00, 0x00, //0x00000310 jmp LBB0_103 + //0x00000315 LBB0_50 + 0x4c, 0x89, 0x1e, //0x00000315 movq %r11, (%rsi) + 0x49, 0xc7, 0x06, 0xff, 0xff, 0xff, 0xff, //0x00000318 movq $-1, (%r14) + //0x0000031f LBB0_51 + 0x48, 0x83, 0xc4, 0x40, //0x0000031f addq $64, %rsp + 0x5b, //0x00000323 popq %rbx + 0x41, 0x5c, //0x00000324 popq %r12 + 0x41, 0x5d, //0x00000326 popq %r13 + 0x41, 0x5e, //0x00000328 popq %r14 + 0x41, 0x5f, //0x0000032a popq %r15 + 0x5d, //0x0000032c popq %rbp + 0xc5, 0xf8, 0x77, //0x0000032d vzeroupper + 0xc3, //0x00000330 retq + //0x00000331 LBB0_52 + 0x41, 0x89, 0xc9, //0x00000331 movl %ecx, %r9d + 0x49, 0x89, 0xc3, //0x00000334 movq %rax, %r11 + 0x41, 0x83, 0xfa, 0x09, //0x00000337 cmpl $9, %r10d + 0x48, 0x89, 0x75, 0xa0, //0x0000033b movq %rsi, $-96(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x0000033f movq %r11, $-88(%rbp) + 0x0f, 0x85, 0x36, 0x00, 0x00, 0x00, //0x00000343 jne LBB0_57 + //0x00000349 LBB0_53 + 0x45, 0x85, 0xc9, //0x00000349 testl %r9d, %r9d + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x0000034c jne LBB0_56 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000352 movabsq $-9223372036854775808, %rax + 0x48, 0x63, 0x4d, 0xc8, //0x0000035c movslq $-56(%rbp), %rcx + 0x4d, 0x85, 0xff, //0x00000360 testq %r15, %r15 + 0x0f, 0x89, 0x3b, 0x01, 0x00, 0x00, //0x00000363 jns LBB0_70 + 0x4c, 0x89, 0xfa, //0x00000369 movq %r15, %rdx + 0x48, 0x21, 0xca, //0x0000036c andq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x0000036f cmpq %rax, %rdx + 0x0f, 0x84, 0x2c, 0x01, 0x00, 0x00, //0x00000372 je LBB0_70 + //0x00000378 LBB0_56 + 0x49, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, //0x00000378 movq $8, (%r14) + //0x0000037f LBB0_57 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x0000037f movabsq $-9223372036854775808, %rdi + 0x4c, 0x89, 0xf8, //0x00000389 movq %r15, %rax + 0x48, 0xc1, 0xe8, 0x34, //0x0000038c shrq $52, %rax + 0x4c, 0x89, 0x75, 0x98, //0x00000390 movq %r14, $-104(%rbp) + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x00000394 je LBB0_61 + //0x0000039a LBB0_58 + 0x41, 0x8d, 0x81, 0x5c, 0x01, 0x00, 0x00, //0x0000039a leal $348(%r9), %eax + 0x3d, 0xb7, 0x02, 0x00, 0x00, //0x000003a1 cmpl $695, %eax + 0x0f, 0x87, 0x84, 0x02, 0x00, 0x00, //0x000003a6 ja LBB0_85 + 0x4d, 0x85, 0xff, //0x000003ac testq %r15, %r15 + 0x0f, 0x84, 0x78, 0x01, 0x00, 0x00, //0x000003af je LBB0_76 + //0x000003b5 LBB0_60 + 0x4d, 0x0f, 0xbd, 0xd7, //0x000003b5 bsrq %r15, %r10 + 0x49, 0x83, 0xf2, 0x3f, //0x000003b9 xorq $63, %r10 + 0xe9, 0x71, 0x01, 0x00, 0x00, //0x000003bd jmp LBB0_77 + //0x000003c2 LBB0_61 + 0xc4, 0xc1, 0xf9, 0x6e, 0xc7, //0x000003c2 vmovq %r15, %xmm0 + 0xc5, 0xf9, 0x62, 0x05, 0x31, 0xfc, 0xff, 0xff, //0x000003c7 vpunpckldq $-975(%rip), %xmm0, %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0x5c, 0x05, 0x39, 0xfc, 0xff, 0xff, //0x000003cf vsubpd $-967(%rip), %xmm0, %xmm0 /* LCPI0_1+0(%rip) */ + 0xc4, 0xe3, 0x79, 0x05, 0xc8, 0x01, //0x000003d7 vpermilpd $1, %xmm0, %xmm1 + 0xc5, 0xf3, 0x58, 0xc0, //0x000003dd vaddsd %xmm0, %xmm1, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc0, //0x000003e1 vmovq %xmm0, %rax + 0x8b, 0x4d, 0xc8, //0x000003e6 movl $-56(%rbp), %ecx + 0x89, 0xcb, //0x000003e9 movl %ecx, %ebx + 0xc1, 0xeb, 0x1f, //0x000003eb shrl $31, %ebx + 0x48, 0xc1, 0xe3, 0x3f, //0x000003ee shlq $63, %rbx + 0x48, 0x09, 0xc3, //0x000003f2 orq %rax, %rbx + 0x4d, 0x85, 0xff, //0x000003f5 testq %r15, %r15 + 0x0f, 0x84, 0x4f, 0x1f, 0x00, 0x00, //0x000003f8 je LBB0_507 + 0x45, 0x85, 0xc9, //0x000003fe testl %r9d, %r9d + 0x0f, 0x84, 0x46, 0x1f, 0x00, 0x00, //0x00000401 je LBB0_507 + 0xc4, 0xe1, 0xf9, 0x6e, 0xc3, //0x00000407 vmovq %rbx, %xmm0 + 0x41, 0x8d, 0x41, 0xff, //0x0000040c leal $-1(%r9), %eax + 0x83, 0xf8, 0x24, //0x00000410 cmpl $36, %eax + 0x0f, 0x87, 0x65, 0x00, 0x00, 0x00, //0x00000413 ja LBB0_68 + 0x41, 0x83, 0xf9, 0x17, //0x00000419 cmpl $23, %r9d + 0x0f, 0x8c, 0xbf, 0x00, 0x00, 0x00, //0x0000041d jl LBB0_71 + 0x49, 0x63, 0xc1, //0x00000423 movslq %r9d, %rax + 0x48, 0x8d, 0x0d, 0x63, 0x1f, 0x00, 0x00, //0x00000426 leaq $8035(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xc5, 0xfb, 0x59, 0x84, 0xc1, 0x50, 0xff, 0xff, 0xff, //0x0000042d vmulsd $-176(%rcx,%rax,8), %xmm0, %xmm0 + 0xb8, 0x16, 0x00, 0x00, 0x00, //0x00000436 movl $22, %eax + 0xe9, 0xa5, 0x00, 0x00, 0x00, //0x0000043b jmp LBB0_72 + //0x00000440 LBB0_66 + 0x89, 0x7d, 0xc0, //0x00000440 movl %edi, $-64(%rbp) + 0x48, 0xff, 0xc8, //0x00000443 decq %rax + 0x41, 0xba, 0x09, 0x00, 0x00, 0x00, //0x00000446 movl $9, %r10d + 0x85, 0xc9, //0x0000044c testl %ecx, %ecx + 0x44, 0x89, 0x4d, 0xc8, //0x0000044e movl %r9d, $-56(%rbp) + 0x0f, 0x84, 0x6a, 0xfd, 0xff, 0xff, //0x00000452 je LBB0_25 + 0xe9, 0xbd, 0xfd, 0xff, 0xff, //0x00000458 jmp LBB0_33 + //0x0000045d LBB0_67 + 0xc7, 0x45, 0xc0, 0x01, 0x00, 0x00, 0x00, //0x0000045d movl $1, $-64(%rbp) + 0x41, 0x89, 0xc9, //0x00000464 movl %ecx, %r9d + 0x41, 0x83, 0xfa, 0x09, //0x00000467 cmpl $9, %r10d + 0x48, 0x89, 0x75, 0xa0, //0x0000046b movq %rsi, $-96(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x0000046f movq %r11, $-88(%rbp) + 0x0f, 0x84, 0xd0, 0xfe, 0xff, 0xff, //0x00000473 je LBB0_53 + 0xe9, 0x01, 0xff, 0xff, 0xff, //0x00000479 jmp LBB0_57 + //0x0000047e LBB0_68 + 0x41, 0x83, 0xf9, 0xea, //0x0000047e cmpl $-22, %r9d + 0x0f, 0x82, 0x12, 0xff, 0xff, 0xff, //0x00000482 jb LBB0_58 + 0x41, 0xf7, 0xd9, //0x00000488 negl %r9d + 0x49, 0x63, 0xc1, //0x0000048b movslq %r9d, %rax + 0x48, 0x8d, 0x0d, 0xfb, 0x1e, 0x00, 0x00, //0x0000048e leaq $7931(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xc5, 0xfb, 0x5e, 0x04, 0xc1, //0x00000495 vdivsd (%rcx,%rax,8), %xmm0, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc3, //0x0000049a vmovq %xmm0, %rbx + 0xe9, 0xa9, 0x1e, 0x00, 0x00, //0x0000049f jmp LBB0_507 + //0x000004a4 LBB0_70 + 0xc4, 0xc1, 0xf9, 0x6e, 0xc7, //0x000004a4 vmovq %r15, %xmm0 + 0x4c, 0x0f, 0xaf, 0xf9, //0x000004a9 imulq %rcx, %r15 + 0xc5, 0xf9, 0x62, 0x05, 0x4b, 0xfb, 0xff, 0xff, //0x000004ad vpunpckldq $-1205(%rip), %xmm0, %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0x5c, 0x05, 0x53, 0xfb, 0xff, 0xff, //0x000004b5 vsubpd $-1197(%rip), %xmm0, %xmm0 /* LCPI0_1+0(%rip) */ + 0x4d, 0x89, 0x7e, 0x10, //0x000004bd movq %r15, $16(%r14) + 0xc4, 0xe3, 0x79, 0x05, 0xc8, 0x01, //0x000004c1 vpermilpd $1, %xmm0, %xmm1 + 0xc5, 0xf3, 0x58, 0xc0, //0x000004c7 vaddsd %xmm0, %xmm1, %xmm0 + 0x48, 0x21, 0xc8, //0x000004cb andq %rcx, %rax + 0xc4, 0xe1, 0xf9, 0x7e, 0xc1, //0x000004ce vmovq %xmm0, %rcx + 0x48, 0x09, 0xc1, //0x000004d3 orq %rax, %rcx + 0x49, 0x89, 0x4e, 0x08, //0x000004d6 movq %rcx, $8(%r14) + 0x4c, 0x89, 0x1e, //0x000004da movq %r11, (%rsi) + 0xe9, 0x3d, 0xfe, 0xff, 0xff, //0x000004dd jmp LBB0_51 + //0x000004e2 LBB0_71 + 0x44, 0x89, 0xc8, //0x000004e2 movl %r9d, %eax + //0x000004e5 LBB0_72 + 0xc5, 0xf9, 0x2e, 0x05, 0x33, 0xfb, 0xff, 0xff, //0x000004e5 vucomisd $-1229(%rip), %xmm0 /* LCPI0_2+0(%rip) */ + 0x0f, 0x87, 0x2a, 0x00, 0x00, 0x00, //0x000004ed ja LBB0_75 + 0xc5, 0xfb, 0x10, 0x0d, 0x2d, 0xfb, 0xff, 0xff, //0x000004f3 vmovsd $-1235(%rip), %xmm1 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0x2e, 0xc8, //0x000004fb vucomisd %xmm0, %xmm1 + 0x0f, 0x87, 0x18, 0x00, 0x00, 0x00, //0x000004ff ja LBB0_75 + 0x89, 0xc0, //0x00000505 movl %eax, %eax + 0x48, 0x8d, 0x0d, 0x82, 0x1e, 0x00, 0x00, //0x00000507 leaq $7810(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xc5, 0xfb, 0x59, 0x04, 0xc1, //0x0000050e vmulsd (%rcx,%rax,8), %xmm0, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc3, //0x00000513 vmovq %xmm0, %rbx + 0xe9, 0x30, 0x1e, 0x00, 0x00, //0x00000518 jmp LBB0_507 + //0x0000051d LBB0_75 + 0x41, 0x8d, 0x81, 0x5c, 0x01, 0x00, 0x00, //0x0000051d leal $348(%r9), %eax + 0x4d, 0x85, 0xff, //0x00000524 testq %r15, %r15 + 0x0f, 0x85, 0x88, 0xfe, 0xff, 0xff, //0x00000527 jne LBB0_60 + //0x0000052d LBB0_76 + 0x41, 0xba, 0x40, 0x00, 0x00, 0x00, //0x0000052d movl $64, %r10d + //0x00000533 LBB0_77 + 0x4c, 0x89, 0xfb, //0x00000533 movq %r15, %rbx + 0x44, 0x89, 0xd1, //0x00000536 movl %r10d, %ecx + 0x48, 0xd3, 0xe3, //0x00000539 shlq %cl, %rbx + 0x89, 0xc6, //0x0000053c movl %eax, %esi + 0x48, 0xc1, 0xe6, 0x04, //0x0000053e shlq $4, %rsi + 0x48, 0x8d, 0x05, 0x07, 0x1f, 0x00, 0x00, //0x00000542 leaq $7943(%rip), %rax /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0x8b, 0x44, 0x06, 0x08, //0x00000549 movq $8(%rsi,%rax), %rax + 0x48, 0x89, 0x45, 0xb0, //0x0000054e movq %rax, $-80(%rbp) + 0x48, 0xf7, 0xe3, //0x00000552 mulq %rbx + 0x49, 0x89, 0xc6, //0x00000555 movq %rax, %r14 + 0x49, 0x89, 0xd3, //0x00000558 movq %rdx, %r11 + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x0000055b andl $511, %edx + 0x48, 0x89, 0xd9, //0x00000561 movq %rbx, %rcx + 0x48, 0xf7, 0xd1, //0x00000564 notq %rcx + 0x48, 0x39, 0xc8, //0x00000567 cmpq %rcx, %rax + 0x0f, 0x86, 0x49, 0x00, 0x00, 0x00, //0x0000056a jbe LBB0_82 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x00000570 cmpl $511, %edx + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x00000576 jne LBB0_82 + 0x48, 0x89, 0xd8, //0x0000057c movq %rbx, %rax + 0x48, 0x8d, 0x15, 0xca, 0x1e, 0x00, 0x00, //0x0000057f leaq $7882(%rip), %rdx /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0xf7, 0x24, 0x16, //0x00000586 mulq (%rsi,%rdx) + 0x49, 0x01, 0xd6, //0x0000058a addq %rdx, %r14 + 0x49, 0x83, 0xd3, 0x00, //0x0000058d adcq $0, %r11 + 0x44, 0x89, 0xda, //0x00000591 movl %r11d, %edx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x00000594 andl $511, %edx + 0x48, 0x39, 0xc8, //0x0000059a cmpq %rcx, %rax + 0x0f, 0x86, 0x16, 0x00, 0x00, 0x00, //0x0000059d jbe LBB0_82 + 0x49, 0x83, 0xfe, 0xff, //0x000005a3 cmpq $-1, %r14 + 0x0f, 0x85, 0x0c, 0x00, 0x00, 0x00, //0x000005a7 jne LBB0_82 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x000005ad cmpl $511, %edx + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x000005b3 je LBB0_85 + //0x000005b9 LBB0_82 + 0x4c, 0x89, 0xd8, //0x000005b9 movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x3f, //0x000005bc shrq $63, %rax + 0x8d, 0x48, 0x09, //0x000005c0 leal $9(%rax), %ecx + 0x49, 0xd3, 0xeb, //0x000005c3 shrq %cl, %r11 + 0x4c, 0x09, 0xf2, //0x000005c6 orq %r14, %rdx + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x000005c9 jne LBB0_84 + 0x44, 0x89, 0xd9, //0x000005cf movl %r11d, %ecx + 0x83, 0xe1, 0x03, //0x000005d2 andl $3, %ecx + 0x83, 0xf9, 0x01, //0x000005d5 cmpl $1, %ecx + 0x0f, 0x84, 0x52, 0x00, 0x00, 0x00, //0x000005d8 je LBB0_85 + //0x000005de LBB0_84 + 0x41, 0x69, 0xc9, 0x6a, 0x52, 0x03, 0x00, //0x000005de imull $217706, %r9d, %ecx + 0xc1, 0xf9, 0x10, //0x000005e5 sarl $16, %ecx + 0x81, 0xc1, 0x3f, 0x04, 0x00, 0x00, //0x000005e8 addl $1087, %ecx + 0x4c, 0x63, 0xf1, //0x000005ee movslq %ecx, %r14 + 0x4c, 0x89, 0xf2, //0x000005f1 movq %r14, %rdx + 0x4c, 0x29, 0xd2, //0x000005f4 subq %r10, %rdx + 0x49, 0xba, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, //0x000005f7 movabsq $126100789566373888, %r10 + 0x48, 0x83, 0xf0, 0x01, //0x00000601 xorq $1, %rax + 0x48, 0x29, 0xc2, //0x00000605 subq %rax, %rdx + 0x44, 0x89, 0xd8, //0x00000608 movl %r11d, %eax + 0x83, 0xe0, 0x01, //0x0000060b andl $1, %eax + 0x4c, 0x01, 0xd8, //0x0000060e addq %r11, %rax + 0x48, 0x89, 0xc1, //0x00000611 movq %rax, %rcx + 0x4c, 0x21, 0xd1, //0x00000614 andq %r10, %rcx + 0x48, 0x83, 0xf9, 0x01, //0x00000617 cmpq $1, %rcx + 0x48, 0x83, 0xda, 0xff, //0x0000061b sbbq $-1, %rdx + 0x48, 0x8d, 0x5a, 0xff, //0x0000061f leaq $-1(%rdx), %rbx + 0x48, 0x81, 0xfb, 0xfd, 0x07, 0x00, 0x00, //0x00000623 cmpq $2045, %rbx + 0x0f, 0x86, 0x6e, 0x00, 0x00, 0x00, //0x0000062a jbe LBB0_90 + //0x00000630 LBB0_85 + 0x48, 0x8b, 0x45, 0xa0, //0x00000630 movq $-96(%rbp), %rax + 0x48, 0x8b, 0x30, //0x00000634 movq (%rax), %rsi + 0x4d, 0x8d, 0x14, 0x30, //0x00000637 leaq (%r8,%rsi), %r10 + 0x48, 0x8b, 0x4d, 0xa8, //0x0000063b movq $-88(%rbp), %rcx + 0x48, 0x29, 0xf1, //0x0000063f subq %rsi, %rcx + 0x4d, 0x85, 0xed, //0x00000642 testq %r13, %r13 + 0x0f, 0x84, 0x36, 0x03, 0x00, 0x00, //0x00000645 je LBB0_116 + 0x41, 0xc6, 0x04, 0x24, 0x00, //0x0000064b movb $0, (%r12) + 0x49, 0x83, 0xfd, 0x01, //0x00000650 cmpq $1, %r13 + 0x0f, 0x84, 0x27, 0x03, 0x00, 0x00, //0x00000654 je LBB0_116 + 0x4d, 0x8d, 0x4d, 0xff, //0x0000065a leaq $-1(%r13), %r9 + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x0000065e movl $1, %edi + 0x49, 0x81, 0xf9, 0x80, 0x00, 0x00, 0x00, //0x00000663 cmpq $128, %r9 + 0x0f, 0x82, 0x00, 0x03, 0x00, 0x00, //0x0000066a jb LBB0_115 + 0x4c, 0x89, 0xcf, //0x00000670 movq %r9, %rdi + 0x48, 0x83, 0xe7, 0x80, //0x00000673 andq $-128, %rdi + 0x48, 0x8d, 0x57, 0x80, //0x00000677 leaq $-128(%rdi), %rdx + 0x48, 0x89, 0xd3, //0x0000067b movq %rdx, %rbx + 0x48, 0xc1, 0xeb, 0x07, //0x0000067e shrq $7, %rbx + 0x48, 0xff, 0xc3, //0x00000682 incq %rbx + 0x89, 0xd8, //0x00000685 movl %ebx, %eax + 0x83, 0xe0, 0x03, //0x00000687 andl $3, %eax + 0x48, 0x81, 0xfa, 0x80, 0x01, 0x00, 0x00, //0x0000068a cmpq $384, %rdx + 0x0f, 0x83, 0xcf, 0x01, 0x00, 0x00, //0x00000691 jae LBB0_108 + 0x31, 0xdb, //0x00000697 xorl %ebx, %ebx + 0xe9, 0x79, 0x02, 0x00, 0x00, //0x00000699 jmp LBB0_110 + //0x0000069e LBB0_90 + 0x48, 0x83, 0xf9, 0x01, //0x0000069e cmpq $1, %rcx + 0xb1, 0x02, //0x000006a2 movb $2, %cl + 0x80, 0xd9, 0x00, //0x000006a4 sbbb $0, %cl + 0x48, 0xd3, 0xe8, //0x000006a7 shrq %cl, %rax + 0x48, 0xc1, 0xe2, 0x34, //0x000006aa shlq $52, %rdx + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000006ae movabsq $4503599627370495, %rcx + 0x48, 0x21, 0xc8, //0x000006b8 andq %rcx, %rax + 0x48, 0x09, 0xd0, //0x000006bb orq %rdx, %rax + 0x48, 0x89, 0xc3, //0x000006be movq %rax, %rbx + 0x48, 0x09, 0xfb, //0x000006c1 orq %rdi, %rbx + 0x8b, 0x4d, 0xc8, //0x000006c4 movl $-56(%rbp), %ecx + 0x83, 0xf9, 0xff, //0x000006c7 cmpl $-1, %ecx + 0x48, 0x0f, 0x45, 0xd8, //0x000006ca cmovneq %rax, %rbx + 0x83, 0x7d, 0xc0, 0x00, //0x000006ce cmpl $0, $-64(%rbp) + 0x0f, 0x84, 0x75, 0x1c, 0x00, 0x00, //0x000006d2 je LBB0_507 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000006d8 movl $64, %ecx + 0x49, 0xff, 0xc7, //0x000006dd incq %r15 + 0x0f, 0x84, 0x08, 0x00, 0x00, 0x00, //0x000006e0 je LBB0_93 + 0x49, 0x0f, 0xbd, 0xcf, //0x000006e6 bsrq %r15, %rcx + 0x48, 0x83, 0xf1, 0x3f, //0x000006ea xorq $63, %rcx + //0x000006ee LBB0_93 + 0x48, 0x89, 0x4d, 0xc0, //0x000006ee movq %rcx, $-64(%rbp) + 0x49, 0xd3, 0xe7, //0x000006f2 shlq %cl, %r15 + 0x48, 0x8b, 0x45, 0xb0, //0x000006f5 movq $-80(%rbp), %rax + 0x49, 0xf7, 0xe7, //0x000006f9 mulq %r15 + 0x49, 0x89, 0xc3, //0x000006fc movq %rax, %r11 + 0x49, 0x89, 0xd1, //0x000006ff movq %rdx, %r9 + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x00000702 andl $511, %edx + 0x4c, 0x89, 0xf9, //0x00000708 movq %r15, %rcx + 0x48, 0xf7, 0xd1, //0x0000070b notq %rcx + 0x48, 0x39, 0xc8, //0x0000070e cmpq %rcx, %rax + 0x0f, 0x86, 0x49, 0x00, 0x00, 0x00, //0x00000711 jbe LBB0_98 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x00000717 cmpl $511, %edx + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000071d jne LBB0_98 + 0x4c, 0x89, 0xf8, //0x00000723 movq %r15, %rax + 0x48, 0x8d, 0x15, 0x23, 0x1d, 0x00, 0x00, //0x00000726 leaq $7459(%rip), %rdx /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0xf7, 0x24, 0x16, //0x0000072d mulq (%rsi,%rdx) + 0x49, 0x01, 0xd3, //0x00000731 addq %rdx, %r11 + 0x49, 0x83, 0xd1, 0x00, //0x00000734 adcq $0, %r9 + 0x44, 0x89, 0xca, //0x00000738 movl %r9d, %edx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x0000073b andl $511, %edx + 0x48, 0x39, 0xc8, //0x00000741 cmpq %rcx, %rax + 0x0f, 0x86, 0x16, 0x00, 0x00, 0x00, //0x00000744 jbe LBB0_98 + 0x49, 0x83, 0xfb, 0xff, //0x0000074a cmpq $-1, %r11 + 0x0f, 0x85, 0x0c, 0x00, 0x00, 0x00, //0x0000074e jne LBB0_98 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x00000754 cmpl $511, %edx + 0x0f, 0x84, 0xd0, 0xfe, 0xff, 0xff, //0x0000075a je LBB0_85 + //0x00000760 LBB0_98 + 0x4c, 0x89, 0xc8, //0x00000760 movq %r9, %rax + 0x48, 0xc1, 0xe8, 0x3f, //0x00000763 shrq $63, %rax + 0x8d, 0x48, 0x09, //0x00000767 leal $9(%rax), %ecx + 0x49, 0xd3, 0xe9, //0x0000076a shrq %cl, %r9 + 0x4c, 0x09, 0xda, //0x0000076d orq %r11, %rdx + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x00000770 jne LBB0_100 + 0x44, 0x89, 0xc9, //0x00000776 movl %r9d, %ecx + 0x83, 0xe1, 0x03, //0x00000779 andl $3, %ecx + 0x83, 0xf9, 0x01, //0x0000077c cmpl $1, %ecx + 0x0f, 0x84, 0xab, 0xfe, 0xff, 0xff, //0x0000077f je LBB0_85 + //0x00000785 LBB0_100 + 0x4c, 0x2b, 0x75, 0xc0, //0x00000785 subq $-64(%rbp), %r14 + 0x48, 0x83, 0xf0, 0x01, //0x00000789 xorq $1, %rax + 0x49, 0x29, 0xc6, //0x0000078d subq %rax, %r14 + 0x44, 0x89, 0xc8, //0x00000790 movl %r9d, %eax + 0x83, 0xe0, 0x01, //0x00000793 andl $1, %eax + 0x4c, 0x01, 0xc8, //0x00000796 addq %r9, %rax + 0x49, 0x21, 0xc2, //0x00000799 andq %rax, %r10 + 0x49, 0x83, 0xfa, 0x01, //0x0000079c cmpq $1, %r10 + 0x49, 0x83, 0xde, 0xff, //0x000007a0 sbbq $-1, %r14 + 0x49, 0x8d, 0x4e, 0xff, //0x000007a4 leaq $-1(%r14), %rcx + 0x48, 0x81, 0xf9, 0xfd, 0x07, 0x00, 0x00, //0x000007a8 cmpq $2045, %rcx + 0x0f, 0x87, 0x7b, 0xfe, 0xff, 0xff, //0x000007af ja LBB0_85 + 0x49, 0x83, 0xfa, 0x01, //0x000007b5 cmpq $1, %r10 + 0xb1, 0x02, //0x000007b9 movb $2, %cl + 0x80, 0xd9, 0x00, //0x000007bb sbbb $0, %cl + 0x48, 0xd3, 0xe8, //0x000007be shrq %cl, %rax + 0x49, 0xc1, 0xe6, 0x34, //0x000007c1 shlq $52, %r14 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000007c5 movabsq $4503599627370495, %rcx + 0x48, 0x21, 0xc8, //0x000007cf andq %rcx, %rax + 0x4c, 0x09, 0xf0, //0x000007d2 orq %r14, %rax + 0x48, 0x89, 0xc1, //0x000007d5 movq %rax, %rcx + 0x48, 0x09, 0xf9, //0x000007d8 orq %rdi, %rcx + 0x83, 0x7d, 0xc8, 0xff, //0x000007db cmpl $-1, $-56(%rbp) + 0x48, 0x0f, 0x45, 0xc8, //0x000007df cmovneq %rax, %rcx + 0xc4, 0xe1, 0xf9, 0x6e, 0xc3, //0x000007e3 vmovq %rbx, %xmm0 + 0xc4, 0xe1, 0xf9, 0x6e, 0xc9, //0x000007e8 vmovq %rcx, %xmm1 + 0xc5, 0xf9, 0x2e, 0xc1, //0x000007ed vucomisd %xmm1, %xmm0 + 0x0f, 0x85, 0x39, 0xfe, 0xff, 0xff, //0x000007f1 jne LBB0_85 + 0x0f, 0x8b, 0x50, 0x1b, 0x00, 0x00, //0x000007f7 jnp LBB0_507 + 0xe9, 0x2e, 0xfe, 0xff, 0xff, //0x000007fd jmp LBB0_85 + //0x00000802 LBB0_102 + 0x48, 0x89, 0xd0, //0x00000802 movq %rdx, %rax + //0x00000805 LBB0_103 + 0x8d, 0x53, 0xd0, //0x00000805 leal $-48(%rbx), %edx + 0x80, 0xfa, 0x09, //0x00000808 cmpb $9, %dl + 0x0f, 0x87, 0x9a, 0xf8, 0xff, 0xff, //0x0000080b ja LBB0_5 + 0x45, 0x31, 0xc9, //0x00000811 xorl %r9d, %r9d + 0x4c, 0x39, 0xd8, //0x00000814 cmpq %r11, %rax + 0x48, 0x89, 0x75, 0xa0, //0x00000817 movq %rsi, $-96(%rbp) + 0x0f, 0x83, 0xae, 0x02, 0x00, 0x00, //0x0000081b jae LBB0_138 + 0x4c, 0x89, 0xdf, //0x00000821 movq %r11, %rdi + 0x49, 0xff, 0xcb, //0x00000824 decq %r11 + 0x45, 0x31, 0xc9, //0x00000827 xorl %r9d, %r9d + //0x0000082a LBB0_106 + 0x44, 0x89, 0xce, //0x0000082a movl %r9d, %esi + 0x41, 0x81, 0xf9, 0x10, 0x27, 0x00, 0x00, //0x0000082d cmpl $10000, %r9d + 0x8d, 0x14, 0xb6, //0x00000834 leal (%rsi,%rsi,4), %edx + 0x0f, 0xb6, 0xdb, //0x00000837 movzbl %bl, %ebx + 0x44, 0x8d, 0x4c, 0x53, 0xd0, //0x0000083a leal $-48(%rbx,%rdx,2), %r9d + 0x44, 0x0f, 0x4d, 0xce, //0x0000083f cmovgel %esi, %r9d + 0x49, 0x39, 0xc3, //0x00000843 cmpq %rax, %r11 + 0x0f, 0x84, 0x80, 0x02, 0x00, 0x00, //0x00000846 je LBB0_137 + 0x41, 0x0f, 0xb6, 0x5c, 0x00, 0x01, //0x0000084c movzbl $1(%r8,%rax), %ebx + 0x48, 0xff, 0xc0, //0x00000852 incq %rax + 0x8d, 0x53, 0xd0, //0x00000855 leal $-48(%rbx), %edx + 0x80, 0xfa, 0x0a, //0x00000858 cmpb $10, %dl + 0x0f, 0x82, 0xc9, 0xff, 0xff, 0xff, //0x0000085b jb LBB0_106 + 0xe9, 0x69, 0x02, 0x00, 0x00, //0x00000861 jmp LBB0_138 + //0x00000866 LBB0_108 + 0x48, 0x89, 0xc2, //0x00000866 movq %rax, %rdx + 0x48, 0x29, 0xda, //0x00000869 subq %rbx, %rdx + 0x31, 0xdb, //0x0000086c xorl %ebx, %ebx + 0xc5, 0xf9, 0x57, 0xc0, //0x0000086e vxorpd %xmm0, %xmm0, %xmm0 + //0x00000872 LBB0_109 + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x1c, 0x01, //0x00000872 vmovupd %ymm0, $1(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x1c, 0x21, //0x00000879 vmovupd %ymm0, $33(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x1c, 0x41, //0x00000880 vmovupd %ymm0, $65(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x1c, 0x61, //0x00000887 vmovupd %ymm0, $97(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0x81, 0x00, 0x00, 0x00, //0x0000088e vmovupd %ymm0, $129(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0xa1, 0x00, 0x00, 0x00, //0x00000898 vmovupd %ymm0, $161(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0xc1, 0x00, 0x00, 0x00, //0x000008a2 vmovupd %ymm0, $193(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0xe1, 0x00, 0x00, 0x00, //0x000008ac vmovupd %ymm0, $225(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0x01, 0x01, 0x00, 0x00, //0x000008b6 vmovupd %ymm0, $257(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0x21, 0x01, 0x00, 0x00, //0x000008c0 vmovupd %ymm0, $289(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0x41, 0x01, 0x00, 0x00, //0x000008ca vmovupd %ymm0, $321(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0x61, 0x01, 0x00, 0x00, //0x000008d4 vmovupd %ymm0, $353(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0x81, 0x01, 0x00, 0x00, //0x000008de vmovupd %ymm0, $385(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0xa1, 0x01, 0x00, 0x00, //0x000008e8 vmovupd %ymm0, $417(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0xc1, 0x01, 0x00, 0x00, //0x000008f2 vmovupd %ymm0, $449(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0xe1, 0x01, 0x00, 0x00, //0x000008fc vmovupd %ymm0, $481(%r12,%rbx) + 0x48, 0x81, 0xc3, 0x00, 0x02, 0x00, 0x00, //0x00000906 addq $512, %rbx + 0x48, 0x83, 0xc2, 0x04, //0x0000090d addq $4, %rdx + 0x0f, 0x85, 0x5b, 0xff, 0xff, 0xff, //0x00000911 jne LBB0_109 + //0x00000917 LBB0_110 + 0x48, 0x85, 0xc0, //0x00000917 testq %rax, %rax + 0x0f, 0x84, 0x36, 0x00, 0x00, 0x00, //0x0000091a je LBB0_113 + 0x48, 0xf7, 0xd8, //0x00000920 negq %rax + 0xc5, 0xf9, 0x57, 0xc0, //0x00000923 vxorpd %xmm0, %xmm0, %xmm0 + //0x00000927 LBB0_112 + 0x48, 0x89, 0xda, //0x00000927 movq %rbx, %rdx + 0x48, 0x83, 0xca, 0x01, //0x0000092a orq $1, %rdx + 0xc4, 0xc1, 0x7d, 0x11, 0x04, 0x14, //0x0000092e vmovupd %ymm0, (%r12,%rdx) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x14, 0x20, //0x00000934 vmovupd %ymm0, $32(%r12,%rdx) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x14, 0x40, //0x0000093b vmovupd %ymm0, $64(%r12,%rdx) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x14, 0x60, //0x00000942 vmovupd %ymm0, $96(%r12,%rdx) + 0x48, 0x83, 0xeb, 0x80, //0x00000949 subq $-128, %rbx + 0x48, 0xff, 0xc0, //0x0000094d incq %rax + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x00000950 jne LBB0_112 + //0x00000956 LBB0_113 + 0x49, 0x39, 0xf9, //0x00000956 cmpq %rdi, %r9 + 0x0f, 0x84, 0x22, 0x00, 0x00, 0x00, //0x00000959 je LBB0_116 + 0x48, 0x83, 0xcf, 0x01, //0x0000095f orq $1, %rdi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000963 .p2align 4, 0x90 + //0x00000970 LBB0_115 + 0x41, 0xc6, 0x04, 0x3c, 0x00, //0x00000970 movb $0, (%r12,%rdi) + 0x48, 0xff, 0xc7, //0x00000975 incq %rdi + 0x49, 0x39, 0xfd, //0x00000978 cmpq %rdi, %r13 + 0x0f, 0x85, 0xef, 0xff, 0xff, 0xff, //0x0000097b jne LBB0_115 + //0x00000981 LBB0_116 + 0x41, 0x8a, 0x12, //0x00000981 movb (%r10), %dl + 0x31, 0xff, //0x00000984 xorl %edi, %edi + 0x80, 0xfa, 0x2d, //0x00000986 cmpb $45, %dl + 0x40, 0x0f, 0x94, 0xc7, //0x00000989 sete %dil + 0x48, 0x39, 0xf9, //0x0000098d cmpq %rdi, %rcx + 0x0f, 0x8e, 0xa5, 0x00, 0x00, 0x00, //0x00000990 jle LBB0_128 + 0x48, 0x89, 0x75, 0xc8, //0x00000996 movq %rsi, $-56(%rbp) + 0x45, 0x31, 0xdb, //0x0000099a xorl %r11d, %r11d + 0x88, 0x55, 0xd7, //0x0000099d movb %dl, $-41(%rbp) + 0xb2, 0x01, //0x000009a0 movb $1, %dl + 0x45, 0x31, 0xff, //0x000009a2 xorl %r15d, %r15d + 0x45, 0x31, 0xf6, //0x000009a5 xorl %r14d, %r14d + 0x31, 0xc0, //0x000009a8 xorl %eax, %eax + 0x45, 0x31, 0xc9, //0x000009aa xorl %r9d, %r9d + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x000009ad jmp LBB0_120 + //0x000009b2 LBB0_118 + 0x41, 0xff, 0xcb, //0x000009b2 decl %r11d + 0x31, 0xc0, //0x000009b5 xorl %eax, %eax + //0x000009b7 LBB0_119 + 0x48, 0xff, 0xc7, //0x000009b7 incq %rdi + 0x48, 0x39, 0xcf, //0x000009ba cmpq %rcx, %rdi + 0x0f, 0x9c, 0xc2, //0x000009bd setl %dl + 0x48, 0x39, 0xf9, //0x000009c0 cmpq %rdi, %rcx + 0x0f, 0x84, 0x90, 0x00, 0x00, 0x00, //0x000009c3 je LBB0_129 + //0x000009c9 LBB0_120 + 0x41, 0x0f, 0xb6, 0x1c, 0x3a, //0x000009c9 movzbl (%r10,%rdi), %ebx + 0x8d, 0x73, 0xd0, //0x000009ce leal $-48(%rbx), %esi + 0x40, 0x80, 0xfe, 0x09, //0x000009d1 cmpb $9, %sil + 0x0f, 0x87, 0x35, 0x00, 0x00, 0x00, //0x000009d5 ja LBB0_125 + 0x85, 0xc0, //0x000009db testl %eax, %eax + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000009dd jne LBB0_123 + 0x80, 0xfb, 0x30, //0x000009e3 cmpb $48, %bl + 0x0f, 0x84, 0xc6, 0xff, 0xff, 0xff, //0x000009e6 je LBB0_118 + //0x000009ec LBB0_123 + 0x49, 0x63, 0xc7, //0x000009ec movslq %r15d, %rax + 0x49, 0x39, 0xc5, //0x000009ef cmpq %rax, %r13 + 0x0f, 0x86, 0x2f, 0x00, 0x00, 0x00, //0x000009f2 jbe LBB0_127 + 0x41, 0x88, 0x1c, 0x04, //0x000009f8 movb %bl, (%r12,%rax) + 0x41, 0xff, 0xc7, //0x000009fc incl %r15d + 0x44, 0x89, 0xf8, //0x000009ff movl %r15d, %eax + 0xe9, 0xb0, 0xff, 0xff, 0xff, //0x00000a02 jmp LBB0_119 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a07 .p2align 4, 0x90 + //0x00000a10 LBB0_125 + 0x80, 0xfb, 0x2e, //0x00000a10 cmpb $46, %bl + 0x0f, 0x85, 0x56, 0x00, 0x00, 0x00, //0x00000a13 jne LBB0_130 + 0x41, 0x89, 0xc3, //0x00000a19 movl %eax, %r11d + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000a1c movl $1, %r9d + 0xe9, 0x90, 0xff, 0xff, 0xff, //0x00000a22 jmp LBB0_119 + //0x00000a27 LBB0_127 + 0x80, 0xfb, 0x30, //0x00000a27 cmpb $48, %bl + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000a2a movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00000a2f cmovnel %eax, %r14d + 0x44, 0x89, 0xf8, //0x00000a33 movl %r15d, %eax + 0xe9, 0x7c, 0xff, 0xff, 0xff, //0x00000a36 jmp LBB0_119 + //0x00000a3b LBB0_128 + 0x45, 0x31, 0xc0, //0x00000a3b xorl %r8d, %r8d + 0x31, 0xf6, //0x00000a3e xorl %esi, %esi + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000a40 movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000a4a movabsq $4503599627370495, %r10 + 0xe9, 0xe1, 0x18, 0x00, 0x00, //0x00000a54 jmp LBB0_506 + //0x00000a59 LBB0_129 + 0x45, 0x85, 0xc9, //0x00000a59 testl %r9d, %r9d + 0x45, 0x0f, 0x44, 0xdf, //0x00000a5c cmovel %r15d, %r11d + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000a60 movabsq $4503599627370495, %r10 + 0xe9, 0xec, 0x00, 0x00, 0x00, //0x00000a6a jmp LBB0_148 + //0x00000a6f LBB0_130 + 0x45, 0x85, 0xc9, //0x00000a6f testl %r9d, %r9d + 0x45, 0x0f, 0x44, 0xdf, //0x00000a72 cmovel %r15d, %r11d + 0xf6, 0xc2, 0x01, //0x00000a76 testb $1, %dl + 0x0f, 0x84, 0x3e, 0x00, 0x00, 0x00, //0x00000a79 je LBB0_136 + 0x80, 0xcb, 0x20, //0x00000a7f orb $32, %bl + 0x80, 0xfb, 0x65, //0x00000a82 cmpb $101, %bl + 0x48, 0x8b, 0x5d, 0xa8, //0x00000a85 movq $-88(%rbp), %rbx + 0x0f, 0x85, 0x2e, 0x00, 0x00, 0x00, //0x00000a89 jne LBB0_136 + 0x48, 0x8d, 0x57, 0x01, //0x00000a8f leaq $1(%rdi), %rdx + 0x89, 0xd0, //0x00000a93 movl %edx, %eax + 0x41, 0x8a, 0x04, 0x02, //0x00000a95 movb (%r10,%rax), %al + 0x3c, 0x2b, //0x00000a99 cmpb $43, %al + 0x0f, 0x84, 0x3e, 0x00, 0x00, 0x00, //0x00000a9b je LBB0_139 + 0x3c, 0x2d, //0x00000aa1 cmpb $45, %al + 0x48, 0x8b, 0x45, 0xc8, //0x00000aa3 movq $-56(%rbp), %rax + 0x0f, 0x85, 0x50, 0x00, 0x00, 0x00, //0x00000aa7 jne LBB0_140 + 0x83, 0xc7, 0x02, //0x00000aad addl $2, %edi + 0x41, 0xb9, 0xff, 0xff, 0xff, 0xff, //0x00000ab0 movl $-1, %r9d + 0x89, 0xfa, //0x00000ab6 movl %edi, %edx + 0xe9, 0x46, 0x00, 0x00, 0x00, //0x00000ab8 jmp LBB0_141 + //0x00000abd LBB0_136 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000abd movabsq $4503599627370495, %r10 + 0xe9, 0x8f, 0x00, 0x00, 0x00, //0x00000ac7 jmp LBB0_148 + //0x00000acc LBB0_137 + 0x48, 0x89, 0xf8, //0x00000acc movq %rdi, %rax + //0x00000acf LBB0_138 + 0x45, 0x0f, 0xaf, 0xca, //0x00000acf imull %r10d, %r9d + 0x41, 0x01, 0xc9, //0x00000ad3 addl %ecx, %r9d + 0x48, 0x89, 0x45, 0xa8, //0x00000ad6 movq %rax, $-88(%rbp) + 0xe9, 0xa0, 0xf8, 0xff, 0xff, //0x00000ada jmp LBB0_57 + //0x00000adf LBB0_139 + 0x83, 0xc7, 0x02, //0x00000adf addl $2, %edi + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000ae2 movl $1, %r9d + 0x89, 0xfa, //0x00000ae8 movl %edi, %edx + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000aea movabsq $4503599627370495, %r10 + 0x48, 0x8b, 0x45, 0xc8, //0x00000af4 movq $-56(%rbp), %rax + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00000af8 jmp LBB0_142 + //0x00000afd LBB0_140 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000afd movl $1, %r9d + //0x00000b03 LBB0_141 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000b03 movabsq $4503599627370495, %r10 + //0x00000b0d LBB0_142 + 0x48, 0x63, 0xfa, //0x00000b0d movslq %edx, %rdi + 0x31, 0xd2, //0x00000b10 xorl %edx, %edx + 0x48, 0x39, 0xf9, //0x00000b12 cmpq %rdi, %rcx + 0x0f, 0x8e, 0x36, 0x00, 0x00, 0x00, //0x00000b15 jle LBB0_147 + 0x48, 0x01, 0xf8, //0x00000b1b addq %rdi, %rax + 0x31, 0xd2, //0x00000b1e xorl %edx, %edx + //0x00000b20 LBB0_144 + 0x81, 0xfa, 0x0f, 0x27, 0x00, 0x00, //0x00000b20 cmpl $9999, %edx + 0x0f, 0x8f, 0x25, 0x00, 0x00, 0x00, //0x00000b26 jg LBB0_147 + 0x41, 0x0f, 0xb6, 0x0c, 0x00, //0x00000b2c movzbl (%r8,%rax), %ecx + 0x8d, 0x71, 0xd0, //0x00000b31 leal $-48(%rcx), %esi + 0x40, 0x80, 0xfe, 0x09, //0x00000b34 cmpb $9, %sil + 0x0f, 0x87, 0x13, 0x00, 0x00, 0x00, //0x00000b38 ja LBB0_147 + 0x8d, 0x14, 0x92, //0x00000b3e leal (%rdx,%rdx,4), %edx + 0x8d, 0x54, 0x51, 0xd0, //0x00000b41 leal $-48(%rcx,%rdx,2), %edx + 0x48, 0xff, 0xc0, //0x00000b45 incq %rax + 0x48, 0x39, 0xc3, //0x00000b48 cmpq %rax, %rbx + 0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x00000b4b jne LBB0_144 + //0x00000b51 LBB0_147 + 0x41, 0x0f, 0xaf, 0xd1, //0x00000b51 imull %r9d, %edx + 0x44, 0x01, 0xda, //0x00000b55 addl %r11d, %edx + 0x41, 0x89, 0xd3, //0x00000b58 movl %edx, %r11d + //0x00000b5b LBB0_148 + 0x45, 0x85, 0xff, //0x00000b5b testl %r15d, %r15d + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000b5e movabsq $-9223372036854775808, %rdi + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00000b68 je LBB0_151 + 0x31, 0xf6, //0x00000b6e xorl %esi, %esi + 0x41, 0x81, 0xfb, 0x36, 0x01, 0x00, 0x00, //0x00000b70 cmpl $310, %r11d + 0x0f, 0x8e, 0x1f, 0x00, 0x00, 0x00, //0x00000b77 jle LBB0_152 + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00000b7d movabsq $9218868437227405312, %r8 + 0x8a, 0x55, 0xd7, //0x00000b87 movb $-41(%rbp), %dl + 0xe9, 0xab, 0x17, 0x00, 0x00, //0x00000b8a jmp LBB0_506 + //0x00000b8f LBB0_151 + 0x45, 0x31, 0xc0, //0x00000b8f xorl %r8d, %r8d + 0x31, 0xf6, //0x00000b92 xorl %esi, %esi + 0x8a, 0x55, 0xd7, //0x00000b94 movb $-41(%rbp), %dl + 0xe9, 0x9e, 0x17, 0x00, 0x00, //0x00000b97 jmp LBB0_506 + //0x00000b9c LBB0_152 + 0x41, 0x81, 0xfb, 0xb6, 0xfe, 0xff, 0xff, //0x00000b9c cmpl $-330, %r11d + 0x0f, 0x8d, 0x0b, 0x00, 0x00, 0x00, //0x00000ba3 jge LBB0_154 + 0x45, 0x31, 0xc0, //0x00000ba9 xorl %r8d, %r8d + 0x8a, 0x55, 0xd7, //0x00000bac movb $-41(%rbp), %dl + 0xe9, 0x86, 0x17, 0x00, 0x00, //0x00000baf jmp LBB0_506 + //0x00000bb4 LBB0_154 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, //0x00000bb4 movabsq $1152921504606846975, %r10 + 0x45, 0x85, 0xdb, //0x00000bbe testl %r11d, %r11d + 0x0f, 0x8e, 0xd5, 0x07, 0x00, 0x00, //0x00000bc1 jle LBB0_270 + 0x31, 0xf6, //0x00000bc7 xorl %esi, %esi + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000bc9 movl $1, %r8d + 0x44, 0x89, 0xf8, //0x00000bcf movl %r15d, %eax + 0xe9, 0x14, 0x00, 0x00, 0x00, //0x00000bd2 jmp LBB0_158 + //0x00000bd7 LBB0_156 + 0x89, 0xc7, //0x00000bd7 movl %eax, %edi + //0x00000bd9 LBB0_157 + 0x48, 0x8b, 0x75, 0xc0, //0x00000bd9 movq $-64(%rbp), %rsi + 0x03, 0x75, 0xbc, //0x00000bdd addl $-68(%rbp), %esi + 0x89, 0xf8, //0x00000be0 movl %edi, %eax + 0x45, 0x85, 0xdb, //0x00000be2 testl %r11d, %r11d + 0x0f, 0x8e, 0xb4, 0x07, 0x00, 0x00, //0x00000be5 jle LBB0_271 + //0x00000beb LBB0_158 + 0x48, 0x89, 0x75, 0xc0, //0x00000beb movq %rsi, $-64(%rbp) + 0xb9, 0x1b, 0x00, 0x00, 0x00, //0x00000bef movl $27, %ecx + 0x41, 0x83, 0xfb, 0x08, //0x00000bf4 cmpl $8, %r11d + 0x0f, 0x8f, 0x0d, 0x00, 0x00, 0x00, //0x00000bf8 jg LBB0_160 + 0x44, 0x89, 0xd9, //0x00000bfe movl %r11d, %ecx + 0x48, 0x8d, 0x15, 0xd8, 0x43, 0x00, 0x00, //0x00000c01 leaq $17368(%rip), %rdx /* _POW_TAB+0(%rip) */ + 0x8b, 0x0c, 0x8a, //0x00000c08 movl (%rdx,%rcx,4), %ecx + //0x00000c0b LBB0_160 + 0x85, 0xc0, //0x00000c0b testl %eax, %eax + 0x89, 0x4d, 0xbc, //0x00000c0d movl %ecx, $-68(%rbp) + 0x0f, 0x84, 0xc1, 0xff, 0xff, 0xff, //0x00000c10 je LBB0_156 + 0x41, 0x89, 0xc9, //0x00000c16 movl %ecx, %r9d + 0x41, 0xf7, 0xd9, //0x00000c19 negl %r9d + 0x85, 0xc9, //0x00000c1c testl %ecx, %ecx + 0x0f, 0x84, 0xb3, 0xff, 0xff, 0xff, //0x00000c1e je LBB0_156 + 0x0f, 0x88, 0x90, 0x01, 0x00, 0x00, //0x00000c24 js LBB0_187 + //0x00000c2a LBB0_163 + 0x41, 0x83, 0xf9, 0xc3, //0x00000c2a cmpl $-61, %r9d + 0x0f, 0x8e, 0x21, 0x00, 0x00, 0x00, //0x00000c2e jle LBB0_167 + 0xe9, 0xcd, 0x03, 0x00, 0x00, //0x00000c34 jmp LBB0_219 + //0x00000c39 LBB0_164 + 0xff, 0xc8, //0x00000c39 decl %eax + 0x41, 0x89, 0xc7, //0x00000c3b movl %eax, %r15d + //0x00000c3e LBB0_165 + 0x45, 0x85, 0xff, //0x00000c3e testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00000c41 cmovel %r15d, %r11d + //0x00000c45 LBB0_166 + 0x44, 0x8d, 0x49, 0x3c, //0x00000c45 leal $60(%rcx), %r9d + 0x44, 0x89, 0xf8, //0x00000c49 movl %r15d, %eax + 0x83, 0xf9, 0x88, //0x00000c4c cmpl $-120, %ecx + 0x0f, 0x8d, 0xa2, 0x03, 0x00, 0x00, //0x00000c4f jge LBB0_218 + //0x00000c55 LBB0_167 + 0x44, 0x89, 0xc9, //0x00000c55 movl %r9d, %ecx + 0x48, 0x63, 0xf8, //0x00000c58 movslq %eax, %rdi + 0x31, 0xf6, //0x00000c5b xorl %esi, %esi + 0x31, 0xd2, //0x00000c5d xorl %edx, %edx + 0x90, //0x00000c5f .p2align 4, 0x90 + //0x00000c60 LBB0_168 + 0x48, 0x39, 0xfe, //0x00000c60 cmpq %rdi, %rsi + 0x0f, 0x8d, 0x27, 0x00, 0x00, 0x00, //0x00000c63 jge LBB0_170 + 0x48, 0x8d, 0x14, 0x92, //0x00000c69 leaq (%rdx,%rdx,4), %rdx + 0x49, 0x0f, 0xbe, 0x1c, 0x34, //0x00000c6d movsbq (%r12,%rsi), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x00000c72 leaq $-48(%rbx,%rdx,2), %rdx + 0x48, 0xff, 0xc6, //0x00000c77 incq %rsi + 0x49, 0x8d, 0x5a, 0x01, //0x00000c7a leaq $1(%r10), %rbx + 0x48, 0x39, 0xda, //0x00000c7e cmpq %rbx, %rdx + 0x0f, 0x82, 0xd9, 0xff, 0xff, 0xff, //0x00000c81 jb LBB0_168 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00000c87 jmp LBB0_172 + 0x90, 0x90, 0x90, 0x90, //0x00000c8c .p2align 4, 0x90 + //0x00000c90 LBB0_170 + 0x48, 0x85, 0xd2, //0x00000c90 testq %rdx, %rdx + 0x0f, 0x84, 0x19, 0x01, 0x00, 0x00, //0x00000c93 je LBB0_185 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000c99 .p2align 4, 0x90 + //0x00000ca0 LBB0_171 + 0x48, 0x01, 0xd2, //0x00000ca0 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00000ca3 leaq (%rdx,%rdx,4), %rdx + 0xff, 0xc6, //0x00000ca7 incl %esi + 0x49, 0x8d, 0x7a, 0x01, //0x00000ca9 leaq $1(%r10), %rdi + 0x48, 0x39, 0xfa, //0x00000cad cmpq %rdi, %rdx + 0x0f, 0x82, 0xea, 0xff, 0xff, 0xff, //0x00000cb0 jb LBB0_171 + //0x00000cb6 LBB0_172 + 0x41, 0x29, 0xf3, //0x00000cb6 subl %esi, %r11d + 0x31, 0xff, //0x00000cb9 xorl %edi, %edi + 0x39, 0xc6, //0x00000cbb cmpl %eax, %esi + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x00000cbd jge LBB0_177 + 0x48, 0x63, 0xc6, //0x00000cc3 movslq %esi, %rax + 0x49, 0x63, 0xf7, //0x00000cc6 movslq %r15d, %rsi + 0x49, 0x8d, 0x3c, 0x04, //0x00000cc9 leaq (%r12,%rax), %rdi + 0x45, 0x31, 0xff, //0x00000ccd xorl %r15d, %r15d + //0x00000cd0 .p2align 4, 0x90 + //0x00000cd0 LBB0_174 + 0x48, 0x89, 0xd3, //0x00000cd0 movq %rdx, %rbx + 0x48, 0xc1, 0xeb, 0x3c, //0x00000cd3 shrq $60, %rbx + 0x4c, 0x21, 0xd2, //0x00000cd7 andq %r10, %rdx + 0x80, 0xcb, 0x30, //0x00000cda orb $48, %bl + 0x43, 0x88, 0x1c, 0x3c, //0x00000cdd movb %bl, (%r12,%r15) + 0x48, 0x8d, 0x14, 0x92, //0x00000ce1 leaq (%rdx,%rdx,4), %rdx + 0x4a, 0x0f, 0xbe, 0x1c, 0x3f, //0x00000ce5 movsbq (%rdi,%r15), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x00000cea leaq $-48(%rbx,%rdx,2), %rdx + 0x4a, 0x8d, 0x5c, 0x38, 0x01, //0x00000cef leaq $1(%rax,%r15), %rbx + 0x49, 0xff, 0xc7, //0x00000cf4 incq %r15 + 0x48, 0x39, 0xf3, //0x00000cf7 cmpq %rsi, %rbx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00000cfa jl LBB0_174 + 0x48, 0x85, 0xd2, //0x00000d00 testq %rdx, %rdx + 0x0f, 0x84, 0x5f, 0x00, 0x00, 0x00, //0x00000d03 je LBB0_181 + 0x44, 0x89, 0xff, //0x00000d09 movl %r15d, %edi + //0x00000d0c LBB0_177 + 0x41, 0x89, 0xff, //0x00000d0c movl %edi, %r15d + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00000d0f jmp LBB0_179 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d14 .p2align 4, 0x90 + //0x00000d20 LBB0_178 + 0x48, 0x85, 0xc0, //0x00000d20 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00000d23 cmovnel %r8d, %r14d + 0x48, 0x01, 0xd2, //0x00000d27 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00000d2a leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00000d2e testq %rdx, %rdx + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x00000d31 je LBB0_181 + //0x00000d37 LBB0_179 + 0x48, 0x89, 0xd0, //0x00000d37 movq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x3c, //0x00000d3a shrq $60, %rax + 0x4c, 0x21, 0xd2, //0x00000d3e andq %r10, %rdx + 0x49, 0x63, 0xf7, //0x00000d41 movslq %r15d, %rsi + 0x49, 0x39, 0xf5, //0x00000d44 cmpq %rsi, %r13 + 0x0f, 0x86, 0xd3, 0xff, 0xff, 0xff, //0x00000d47 jbe LBB0_178 + 0x0c, 0x30, //0x00000d4d orb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00000d4f movb %al, (%r12,%rsi) + 0xff, 0xc6, //0x00000d53 incl %esi + 0x41, 0x89, 0xf7, //0x00000d55 movl %esi, %r15d + 0x48, 0x01, 0xd2, //0x00000d58 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00000d5b leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00000d5f testq %rdx, %rdx + 0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x00000d62 jne LBB0_179 + //0x00000d68 LBB0_181 + 0x41, 0xff, 0xc3, //0x00000d68 incl %r11d + 0x45, 0x85, 0xff, //0x00000d6b testl %r15d, %r15d + 0x0f, 0x8e, 0xca, 0xfe, 0xff, 0xff, //0x00000d6e jle LBB0_165 + 0x44, 0x89, 0xf8, //0x00000d74 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00000d77 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0xc2, 0xfe, 0xff, 0xff, //0x00000d7d jne LBB0_166 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d83 .p2align 4, 0x90 + //0x00000d90 LBB0_183 + 0x48, 0x83, 0xf8, 0x01, //0x00000d90 cmpq $1, %rax + 0x0f, 0x8e, 0x9f, 0xfe, 0xff, 0xff, //0x00000d94 jle LBB0_164 + 0x4c, 0x8d, 0x78, 0xff, //0x00000d9a leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00000d9e cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00000da4 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00000da7 je LBB0_183 + 0xe9, 0x93, 0xfe, 0xff, 0xff, //0x00000dad jmp LBB0_166 + //0x00000db2 LBB0_185 + 0x45, 0x31, 0xff, //0x00000db2 xorl %r15d, %r15d + 0xe9, 0x8b, 0xfe, 0xff, 0xff, //0x00000db5 jmp LBB0_166 + //0x00000dba LBB0_187 + 0x83, 0xf9, 0xc3, //0x00000dba cmpl $-61, %ecx + 0x0f, 0x8f, 0xbe, 0x03, 0x00, 0x00, //0x00000dbd jg LBB0_238 + 0x48, 0x8d, 0x3d, 0x46, 0x42, 0x00, 0x00, //0x00000dc3 leaq $16966(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00000dca jmp LBB0_192 + //0x00000dcf LBB0_189 + 0x48, 0x8d, 0x3d, 0x3a, 0x42, 0x00, 0x00, //0x00000dcf leaq $16954(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + //0x00000dd6 LBB0_190 + 0x45, 0x85, 0xff, //0x00000dd6 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00000dd9 cmovel %r15d, %r11d + //0x00000ddd LBB0_191 + 0x44, 0x8d, 0x4b, 0xc4, //0x00000ddd leal $-60(%rbx), %r9d + 0x44, 0x89, 0xf8, //0x00000de1 movl %r15d, %eax + 0x83, 0xfb, 0x78, //0x00000de4 cmpl $120, %ebx + 0x0f, 0x8e, 0x85, 0x03, 0x00, 0x00, //0x00000de7 jle LBB0_237 + //0x00000ded LBB0_192 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000ded movl $1, %r8d + 0x44, 0x89, 0xcb, //0x00000df3 movl %r9d, %ebx + 0x48, 0x63, 0xf0, //0x00000df6 movslq %eax, %rsi + 0x85, 0xf6, //0x00000df9 testl %esi, %esi + 0x0f, 0x84, 0x45, 0x00, 0x00, 0x00, //0x00000dfb je LBB0_198 + 0xb2, 0x38, //0x00000e01 movb $56, %dl + 0x31, 0xc9, //0x00000e03 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000e05 .p2align 4, 0x90 + //0x00000e10 LBB0_194 + 0x41, 0xb9, 0x13, 0x00, 0x00, 0x00, //0x00000e10 movl $19, %r9d + 0x48, 0x83, 0xf9, 0x2a, //0x00000e16 cmpq $42, %rcx + 0x0f, 0x84, 0x2c, 0x00, 0x00, 0x00, //0x00000e1a je LBB0_199 + 0x41, 0x38, 0x14, 0x0c, //0x00000e20 cmpb %dl, (%r12,%rcx) + 0x0f, 0x85, 0xb8, 0x01, 0x00, 0x00, //0x00000e24 jne LBB0_216 + 0x0f, 0xb6, 0x94, 0x39, 0x65, 0x18, 0x00, 0x00, //0x00000e2a movzbl $6245(%rcx,%rdi), %edx + 0x48, 0xff, 0xc1, //0x00000e32 incq %rcx + 0x48, 0x39, 0xce, //0x00000e35 cmpq %rcx, %rsi + 0x0f, 0x85, 0xd2, 0xff, 0xff, 0xff, //0x00000e38 jne LBB0_194 + 0x84, 0xd2, //0x00000e3e testb %dl, %dl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00000e40 je LBB0_199 + //0x00000e46 LBB0_198 + 0x41, 0xb9, 0x12, 0x00, 0x00, 0x00, //0x00000e46 movl $18, %r9d + //0x00000e4c LBB0_199 + 0x85, 0xc0, //0x00000e4c testl %eax, %eax + 0x0f, 0x8e, 0xb7, 0x00, 0x00, 0x00, //0x00000e4e jle LBB0_207 + 0x48, 0x89, 0x5d, 0xb0, //0x00000e54 movq %rbx, $-80(%rbp) + 0x4c, 0x89, 0x5d, 0xc8, //0x00000e58 movq %r11, $-56(%rbp) + 0x44, 0x01, 0xc8, //0x00000e5c addl %r9d, %eax + 0x48, 0x98, //0x00000e5f cltq + 0x48, 0x89, 0xc3, //0x00000e61 movq %rax, %rbx + 0x48, 0xc1, 0xe3, 0x20, //0x00000e64 shlq $32, %rbx + 0x48, 0xff, 0xc8, //0x00000e68 decq %rax + 0x48, 0xff, 0xc6, //0x00000e6b incq %rsi + 0x31, 0xc9, //0x00000e6e xorl %ecx, %ecx + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x00000e70 jmp LBB0_203 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000e75 .p2align 4, 0x90 + //0x00000e80 LBB0_201 + 0x48, 0x85, 0xc0, //0x00000e80 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00000e83 cmovnel %r8d, %r14d + //0x00000e87 LBB0_202 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00000e87 movabsq $-4294967296, %rax + 0x48, 0x01, 0xc3, //0x00000e91 addq %rax, %rbx + 0x49, 0x8d, 0x43, 0xff, //0x00000e94 leaq $-1(%r11), %rax + 0x48, 0xff, 0xce, //0x00000e98 decq %rsi + 0x48, 0x83, 0xfe, 0x01, //0x00000e9b cmpq $1, %rsi + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00000e9f jle LBB0_205 + //0x00000ea5 LBB0_203 + 0x49, 0x89, 0xc3, //0x00000ea5 movq %rax, %r11 + 0x41, 0x0f, 0xb6, 0x7c, 0x34, 0xfe, //0x00000ea8 movzbl $-2(%r12,%rsi), %edi + 0x48, 0xc1, 0xe7, 0x3c, //0x00000eae shlq $60, %rdi + 0x48, 0x01, 0xcf, //0x00000eb2 addq %rcx, %rdi + 0x48, 0x89, 0xf8, //0x00000eb5 movq %rdi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00000eb8 movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00000ec2 mulq %rcx + 0x48, 0x89, 0xd1, //0x00000ec5 movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x00000ec8 shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00000ecc leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00000ed0 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf8, //0x00000ed4 movq %rdi, %rax + 0x48, 0x29, 0xd0, //0x00000ed7 subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x00000eda cmpq %r13, %r11 + 0x0f, 0x83, 0x9d, 0xff, 0xff, 0xff, //0x00000edd jae LBB0_201 + 0x04, 0x30, //0x00000ee3 addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x00000ee5 movb %al, (%r12,%r11) + 0xe9, 0x99, 0xff, 0xff, 0xff, //0x00000ee9 jmp LBB0_202 + //0x00000eee LBB0_205 + 0x48, 0x83, 0xff, 0x0a, //0x00000eee cmpq $10, %rdi + 0x0f, 0x83, 0x1e, 0x00, 0x00, 0x00, //0x00000ef2 jae LBB0_208 + 0x4c, 0x8b, 0x5d, 0xc8, //0x00000ef8 movq $-56(%rbp), %r11 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000efc movl $1, %r8d + 0x48, 0x8b, 0x5d, 0xb0, //0x00000f02 movq $-80(%rbp), %rbx + 0xe9, 0x85, 0x00, 0x00, 0x00, //0x00000f06 jmp LBB0_212 + //0x00000f0b LBB0_207 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000f0b movl $1, %r8d + 0xe9, 0x7a, 0x00, 0x00, 0x00, //0x00000f11 jmp LBB0_212 + //0x00000f16 LBB0_208 + 0x49, 0x63, 0xf3, //0x00000f16 movslq %r11d, %rsi + 0x48, 0xff, 0xce, //0x00000f19 decq %rsi + 0x4c, 0x8b, 0x5d, 0xc8, //0x00000f1c movq $-56(%rbp), %r11 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000f20 movl $1, %r8d + 0x48, 0x8b, 0x5d, 0xb0, //0x00000f26 movq $-80(%rbp), %rbx + 0xe9, 0x18, 0x00, 0x00, 0x00, //0x00000f2a jmp LBB0_210 + 0x90, //0x00000f2f .p2align 4, 0x90 + //0x00000f30 LBB0_209 + 0x48, 0x85, 0xc0, //0x00000f30 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00000f33 cmovnel %r8d, %r14d + 0x48, 0xff, 0xce, //0x00000f37 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00000f3a cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00000f3e movq %rdx, %rcx + 0x0f, 0x86, 0x49, 0x00, 0x00, 0x00, //0x00000f41 jbe LBB0_212 + //0x00000f47 LBB0_210 + 0x48, 0x89, 0xc8, //0x00000f47 movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00000f4a movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00000f54 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00000f57 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00000f5b leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00000f5f leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xc8, //0x00000f63 movq %rcx, %rax + 0x48, 0x29, 0xf8, //0x00000f66 subq %rdi, %rax + 0x4c, 0x39, 0xee, //0x00000f69 cmpq %r13, %rsi + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x00000f6c jae LBB0_209 + 0x04, 0x30, //0x00000f72 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00000f74 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x00000f78 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00000f7b cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00000f7f movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00000f82 ja LBB0_210 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000f88 .p2align 4, 0x90 + //0x00000f90 LBB0_212 + 0x45, 0x01, 0xcf, //0x00000f90 addl %r9d, %r15d + 0x4d, 0x63, 0xff, //0x00000f93 movslq %r15d, %r15 + 0x4d, 0x39, 0xfd, //0x00000f96 cmpq %r15, %r13 + 0x45, 0x0f, 0x46, 0xfd, //0x00000f99 cmovbel %r13d, %r15d + 0x45, 0x01, 0xcb, //0x00000f9d addl %r9d, %r11d + 0x45, 0x85, 0xff, //0x00000fa0 testl %r15d, %r15d + 0x0f, 0x8e, 0x26, 0xfe, 0xff, 0xff, //0x00000fa3 jle LBB0_189 + 0x44, 0x89, 0xf8, //0x00000fa9 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00000fac cmpb $48, $-1(%rax,%r12) + 0x48, 0x8d, 0x3d, 0x57, 0x40, 0x00, 0x00, //0x00000fb2 leaq $16471(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0x85, 0x1e, 0xfe, 0xff, 0xff, //0x00000fb9 jne LBB0_191 + 0x90, //0x00000fbf .p2align 4, 0x90 + //0x00000fc0 LBB0_214 + 0x48, 0x83, 0xf8, 0x01, //0x00000fc0 cmpq $1, %rax + 0x0f, 0x8e, 0x23, 0x00, 0x00, 0x00, //0x00000fc4 jle LBB0_217 + 0x4c, 0x8d, 0x78, 0xff, //0x00000fca leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00000fce cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00000fd4 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00000fd7 je LBB0_214 + 0xe9, 0xfb, 0xfd, 0xff, 0xff, //0x00000fdd jmp LBB0_191 + //0x00000fe2 LBB0_216 + 0x0f, 0x8c, 0x5e, 0xfe, 0xff, 0xff, //0x00000fe2 jl LBB0_198 + 0xe9, 0x5f, 0xfe, 0xff, 0xff, //0x00000fe8 jmp LBB0_199 + //0x00000fed LBB0_217 + 0xff, 0xc8, //0x00000fed decl %eax + 0x41, 0x89, 0xc7, //0x00000fef movl %eax, %r15d + 0xe9, 0xdf, 0xfd, 0xff, 0xff, //0x00000ff2 jmp LBB0_190 + //0x00000ff7 LBB0_218 + 0x44, 0x89, 0xf8, //0x00000ff7 movl %r15d, %eax + 0x44, 0x89, 0xff, //0x00000ffa movl %r15d, %edi + 0x45, 0x85, 0xc9, //0x00000ffd testl %r9d, %r9d + 0x0f, 0x84, 0xd3, 0xfb, 0xff, 0xff, //0x00001000 je LBB0_157 + //0x00001006 LBB0_219 + 0x41, 0xf7, 0xd9, //0x00001006 negl %r9d + 0x48, 0x63, 0xf0, //0x00001009 movslq %eax, %rsi + 0x31, 0xff, //0x0000100c xorl %edi, %edi + 0x31, 0xd2, //0x0000100e xorl %edx, %edx + //0x00001010 .p2align 4, 0x90 + //0x00001010 LBB0_220 + 0x48, 0x39, 0xf7, //0x00001010 cmpq %rsi, %rdi + 0x0f, 0x8d, 0x30, 0x01, 0x00, 0x00, //0x00001013 jge LBB0_234 + 0x48, 0x8d, 0x0c, 0x92, //0x00001019 leaq (%rdx,%rdx,4), %rcx + 0x49, 0x0f, 0xbe, 0x14, 0x3c, //0x0000101d movsbq (%r12,%rdi), %rdx + 0x48, 0x8d, 0x54, 0x4a, 0xd0, //0x00001022 leaq $-48(%rdx,%rcx,2), %rdx + 0x48, 0xff, 0xc7, //0x00001027 incq %rdi + 0x48, 0x89, 0xd3, //0x0000102a movq %rdx, %rbx + 0x44, 0x89, 0xc9, //0x0000102d movl %r9d, %ecx + 0x48, 0xd3, 0xeb, //0x00001030 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00001033 testq %rbx, %rbx + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x00001036 je LBB0_220 + //0x0000103c LBB0_222 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x0000103c movq $-1, %rsi + 0x44, 0x89, 0xc9, //0x00001043 movl %r9d, %ecx + 0x48, 0xd3, 0xe6, //0x00001046 shlq %cl, %rsi + 0x48, 0xf7, 0xd6, //0x00001049 notq %rsi + 0x31, 0xdb, //0x0000104c xorl %ebx, %ebx + 0x39, 0xc7, //0x0000104e cmpl %eax, %edi + 0x0f, 0x8d, 0x55, 0x00, 0x00, 0x00, //0x00001050 jge LBB0_226 + 0x4c, 0x89, 0x5d, 0xc8, //0x00001056 movq %r11, $-56(%rbp) + 0x4c, 0x63, 0xdf, //0x0000105a movslq %edi, %r11 + 0x4d, 0x63, 0xc7, //0x0000105d movslq %r15d, %r8 + 0x4f, 0x8d, 0x3c, 0x1c, //0x00001060 leaq (%r12,%r11), %r15 + 0x31, 0xdb, //0x00001064 xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001066 .p2align 4, 0x90 + //0x00001070 LBB0_224 + 0x48, 0x89, 0xd0, //0x00001070 movq %rdx, %rax + 0x44, 0x89, 0xc9, //0x00001073 movl %r9d, %ecx + 0x48, 0xd3, 0xe8, //0x00001076 shrq %cl, %rax + 0x48, 0x21, 0xf2, //0x00001079 andq %rsi, %rdx + 0x04, 0x30, //0x0000107c addb $48, %al + 0x41, 0x88, 0x04, 0x1c, //0x0000107e movb %al, (%r12,%rbx) + 0x48, 0x8d, 0x04, 0x92, //0x00001082 leaq (%rdx,%rdx,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x1f, //0x00001086 movsbq (%r15,%rbx), %rcx + 0x48, 0x8d, 0x54, 0x41, 0xd0, //0x0000108b leaq $-48(%rcx,%rax,2), %rdx + 0x49, 0x8d, 0x44, 0x1b, 0x01, //0x00001090 leaq $1(%r11,%rbx), %rax + 0x48, 0xff, 0xc3, //0x00001095 incq %rbx + 0x4c, 0x39, 0xc0, //0x00001098 cmpq %r8, %rax + 0x0f, 0x8c, 0xcf, 0xff, 0xff, 0xff, //0x0000109b jl LBB0_224 + 0x4c, 0x8b, 0x5d, 0xc8, //0x000010a1 movq $-56(%rbp), %r11 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000010a5 movl $1, %r8d + //0x000010ab LBB0_226 + 0x41, 0x29, 0xfb, //0x000010ab subl %edi, %r11d + 0x41, 0x89, 0xdf, //0x000010ae movl %ebx, %r15d + 0x48, 0x85, 0xd2, //0x000010b1 testq %rdx, %rdx + 0x8b, 0x7d, 0xbc, //0x000010b4 movl $-68(%rbp), %edi + 0x0f, 0x85, 0x1c, 0x00, 0x00, 0x00, //0x000010b7 jne LBB0_228 + 0xe9, 0x4a, 0x00, 0x00, 0x00, //0x000010bd jmp LBB0_230 + //0x000010c2 LBB0_227 + 0x48, 0x85, 0xc0, //0x000010c2 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x000010c5 cmovnel %r8d, %r14d + 0x48, 0x01, 0xd2, //0x000010c9 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x000010cc leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x000010d0 testq %rdx, %rdx + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x000010d3 je LBB0_230 + //0x000010d9 LBB0_228 + 0x48, 0x89, 0xd0, //0x000010d9 movq %rdx, %rax + 0x44, 0x89, 0xc9, //0x000010dc movl %r9d, %ecx + 0x48, 0xd3, 0xe8, //0x000010df shrq %cl, %rax + 0x48, 0x21, 0xf2, //0x000010e2 andq %rsi, %rdx + 0x49, 0x63, 0xcf, //0x000010e5 movslq %r15d, %rcx + 0x49, 0x39, 0xcd, //0x000010e8 cmpq %rcx, %r13 + 0x0f, 0x86, 0xd1, 0xff, 0xff, 0xff, //0x000010eb jbe LBB0_227 + 0x04, 0x30, //0x000010f1 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x000010f3 movb %al, (%r12,%rcx) + 0xff, 0xc1, //0x000010f7 incl %ecx + 0x41, 0x89, 0xcf, //0x000010f9 movl %ecx, %r15d + 0x48, 0x01, 0xd2, //0x000010fc addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x000010ff leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00001103 testq %rdx, %rdx + 0x0f, 0x85, 0xcd, 0xff, 0xff, 0xff, //0x00001106 jne LBB0_228 + //0x0000110c LBB0_230 + 0x41, 0xff, 0xc3, //0x0000110c incl %r11d + 0x45, 0x85, 0xff, //0x0000110f testl %r15d, %r15d + 0x0f, 0x8e, 0x44, 0x02, 0x00, 0x00, //0x00001112 jle LBB0_264 + 0x44, 0x89, 0xf8, //0x00001118 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x0000111b cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x42, 0x02, 0x00, 0x00, //0x00001121 jne LBB0_265 + //0x00001127 LBB0_232 + 0x48, 0x83, 0xf8, 0x01, //0x00001127 cmpq $1, %rax + 0x0f, 0x8e, 0x26, 0x02, 0x00, 0x00, //0x0000112b jle LBB0_263 + 0x4c, 0x8d, 0x78, 0xff, //0x00001131 leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001135 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x0000113b movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x0000113e je LBB0_232 + 0xe9, 0x20, 0x02, 0x00, 0x00, //0x00001144 jmp LBB0_265 + //0x00001149 LBB0_234 + 0x48, 0x85, 0xd2, //0x00001149 testq %rdx, %rdx + 0x0f, 0x84, 0x3c, 0x01, 0x00, 0x00, //0x0000114c je LBB0_253 + //0x00001152 LBB0_235 + 0x48, 0x89, 0xd6, //0x00001152 movq %rdx, %rsi + 0x44, 0x89, 0xc9, //0x00001155 movl %r9d, %ecx + 0x48, 0xd3, 0xee, //0x00001158 shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x0000115b testq %rsi, %rsi + 0x0f, 0x85, 0xd8, 0xfe, 0xff, 0xff, //0x0000115e jne LBB0_222 + 0x48, 0x01, 0xd2, //0x00001164 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001167 leaq (%rdx,%rdx,4), %rdx + 0xff, 0xc7, //0x0000116b incl %edi + 0xe9, 0xe0, 0xff, 0xff, 0xff, //0x0000116d jmp LBB0_235 + //0x00001172 LBB0_237 + 0x44, 0x89, 0xf8, //0x00001172 movl %r15d, %eax + 0x44, 0x89, 0xff, //0x00001175 movl %r15d, %edi + 0x45, 0x85, 0xc9, //0x00001178 testl %r9d, %r9d + 0x0f, 0x84, 0x58, 0xfa, 0xff, 0xff, //0x0000117b je LBB0_157 + //0x00001181 LBB0_238 + 0x44, 0x89, 0xc9, //0x00001181 movl %r9d, %ecx + 0x48, 0x6b, 0xf1, 0x68, //0x00001184 imulq $104, %rcx, %rsi + 0x48, 0x8d, 0x3d, 0x81, 0x3e, 0x00, 0x00, //0x00001188 leaq $16001(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0x8b, 0x1c, 0x3e, //0x0000118f movl (%rsi,%rdi), %ebx + 0x4c, 0x63, 0xc0, //0x00001192 movslq %eax, %r8 + 0x8a, 0x54, 0x3e, 0x04, //0x00001195 movb $4(%rsi,%rdi), %dl + 0x45, 0x85, 0xc0, //0x00001199 testl %r8d, %r8d + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x0000119c je LBB0_243 + 0x48, 0x8d, 0x74, 0x3e, 0x05, //0x000011a2 leaq $5(%rsi,%rdi), %rsi + 0x31, 0xff, //0x000011a7 xorl %edi, %edi + //0x000011a9 LBB0_240 + 0x84, 0xd2, //0x000011a9 testb %dl, %dl + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x000011ab je LBB0_245 + 0x41, 0x38, 0x14, 0x3c, //0x000011b1 cmpb %dl, (%r12,%rdi) + 0x0f, 0x85, 0xb6, 0x01, 0x00, 0x00, //0x000011b5 jne LBB0_266 + 0x0f, 0xb6, 0x14, 0x3e, //0x000011bb movzbl (%rsi,%rdi), %edx + 0x48, 0xff, 0xc7, //0x000011bf incq %rdi + 0x49, 0x39, 0xf8, //0x000011c2 cmpq %rdi, %r8 + 0x0f, 0x85, 0xde, 0xff, 0xff, 0xff, //0x000011c5 jne LBB0_240 + //0x000011cb LBB0_243 + 0x84, 0xd2, //0x000011cb testb %dl, %dl + 0x0f, 0x84, 0x02, 0x00, 0x00, 0x00, //0x000011cd je LBB0_245 + //0x000011d3 LBB0_244 + 0xff, 0xcb, //0x000011d3 decl %ebx + //0x000011d5 LBB0_245 + 0x85, 0xc0, //0x000011d5 testl %eax, %eax + 0x0f, 0x8e, 0xbb, 0x00, 0x00, 0x00, //0x000011d7 jle LBB0_254 + 0x4c, 0x89, 0x5d, 0xc8, //0x000011dd movq %r11, $-56(%rbp) + 0x89, 0x5d, 0xb0, //0x000011e1 movl %ebx, $-80(%rbp) + 0x01, 0xd8, //0x000011e4 addl %ebx, %eax + 0x48, 0x98, //0x000011e6 cltq + 0x48, 0x89, 0xc6, //0x000011e8 movq %rax, %rsi + 0x48, 0xc1, 0xe6, 0x20, //0x000011eb shlq $32, %rsi + 0x48, 0xff, 0xc8, //0x000011ef decq %rax + 0x49, 0xff, 0xc0, //0x000011f2 incq %r8 + 0x31, 0xff, //0x000011f5 xorl %edi, %edi + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x000011f7 jmp LBB0_249 + //0x000011fc LBB0_247 + 0x48, 0x85, 0xc0, //0x000011fc testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000011ff movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001204 cmovnel %eax, %r14d + //0x00001208 LBB0_248 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00001208 movabsq $-4294967296, %rax + 0x48, 0x01, 0xc6, //0x00001212 addq %rax, %rsi + 0x49, 0x8d, 0x43, 0xff, //0x00001215 leaq $-1(%r11), %rax + 0x49, 0xff, 0xc8, //0x00001219 decq %r8 + 0x49, 0x83, 0xf8, 0x01, //0x0000121c cmpq $1, %r8 + 0x0f, 0x8e, 0x4c, 0x00, 0x00, 0x00, //0x00001220 jle LBB0_251 + //0x00001226 LBB0_249 + 0x49, 0x89, 0xc3, //0x00001226 movq %rax, %r11 + 0x4b, 0x0f, 0xbe, 0x5c, 0x04, 0xfe, //0x00001229 movsbq $-2(%r12,%r8), %rbx + 0x48, 0x83, 0xc3, 0xd0, //0x0000122f addq $-48, %rbx + 0x48, 0xd3, 0xe3, //0x00001233 shlq %cl, %rbx + 0x48, 0x01, 0xfb, //0x00001236 addq %rdi, %rbx + 0x48, 0x89, 0xd8, //0x00001239 movq %rbx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x0000123c movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001246 mulq %rdx + 0x48, 0x89, 0xd7, //0x00001249 movq %rdx, %rdi + 0x48, 0xc1, 0xef, 0x03, //0x0000124c shrq $3, %rdi + 0x48, 0x8d, 0x04, 0x3f, //0x00001250 leaq (%rdi,%rdi), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00001254 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x00001258 movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x0000125b subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x0000125e cmpq %r13, %r11 + 0x0f, 0x83, 0x95, 0xff, 0xff, 0xff, //0x00001261 jae LBB0_247 + 0x04, 0x30, //0x00001267 addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x00001269 movb %al, (%r12,%r11) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x0000126d jmp LBB0_248 + //0x00001272 LBB0_251 + 0x48, 0x83, 0xfb, 0x0a, //0x00001272 cmpq $10, %rbx + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001276 movl $1, %r8d + 0x0f, 0x83, 0x21, 0x00, 0x00, 0x00, //0x0000127c jae LBB0_255 + 0x4c, 0x8b, 0x5d, 0xc8, //0x00001282 movq $-56(%rbp), %r11 + 0x8b, 0x5d, 0xb0, //0x00001286 movl $-80(%rbp), %ebx + 0xe9, 0x7f, 0x00, 0x00, 0x00, //0x00001289 jmp LBB0_259 + //0x0000128e LBB0_253 + 0x45, 0x31, 0xff, //0x0000128e xorl %r15d, %r15d + 0x31, 0xff, //0x00001291 xorl %edi, %edi + 0xe9, 0x41, 0xf9, 0xff, 0xff, //0x00001293 jmp LBB0_157 + //0x00001298 LBB0_254 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001298 movl $1, %r8d + 0xe9, 0x6a, 0x00, 0x00, 0x00, //0x0000129e jmp LBB0_259 + //0x000012a3 LBB0_255 + 0x49, 0x63, 0xcb, //0x000012a3 movslq %r11d, %rcx + 0x48, 0xff, 0xc9, //0x000012a6 decq %rcx + 0x4c, 0x8b, 0x5d, 0xc8, //0x000012a9 movq $-56(%rbp), %r11 + 0x8b, 0x5d, 0xb0, //0x000012ad movl $-80(%rbp), %ebx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x000012b0 jmp LBB0_257 + //0x000012b5 LBB0_256 + 0x48, 0x85, 0xc0, //0x000012b5 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x000012b8 cmovnel %r8d, %r14d + 0x48, 0xff, 0xc9, //0x000012bc decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x000012bf cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x000012c3 movq %rdx, %rdi + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x000012c6 jbe LBB0_259 + //0x000012cc LBB0_257 + 0x48, 0x89, 0xf8, //0x000012cc movq %rdi, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000012cf movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x000012d9 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x000012dc shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x000012e0 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x34, 0x80, //0x000012e4 leaq (%rax,%rax,4), %rsi + 0x48, 0x89, 0xf8, //0x000012e8 movq %rdi, %rax + 0x48, 0x29, 0xf0, //0x000012eb subq %rsi, %rax + 0x4c, 0x39, 0xe9, //0x000012ee cmpq %r13, %rcx + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x000012f1 jae LBB0_256 + 0x04, 0x30, //0x000012f7 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x000012f9 movb %al, (%r12,%rcx) + 0x48, 0xff, 0xc9, //0x000012fd decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x00001300 cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x00001304 movq %rdx, %rdi + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00001307 ja LBB0_257 + //0x0000130d LBB0_259 + 0x41, 0x01, 0xdf, //0x0000130d addl %ebx, %r15d + 0x4d, 0x63, 0xff, //0x00001310 movslq %r15d, %r15 + 0x4d, 0x39, 0xfd, //0x00001313 cmpq %r15, %r13 + 0x45, 0x0f, 0x46, 0xfd, //0x00001316 cmovbel %r13d, %r15d + 0x41, 0x01, 0xdb, //0x0000131a addl %ebx, %r11d + 0x45, 0x85, 0xff, //0x0000131d testl %r15d, %r15d + 0x0f, 0x8e, 0x5b, 0x00, 0x00, 0x00, //0x00001320 jle LBB0_268 + 0x44, 0x89, 0xf8, //0x00001326 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001329 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x53, 0x00, 0x00, 0x00, //0x0000132f jne LBB0_269 + //0x00001335 LBB0_261 + 0x48, 0x83, 0xf8, 0x01, //0x00001335 cmpq $1, %rax + 0x0f, 0x8e, 0x3d, 0x00, 0x00, 0x00, //0x00001339 jle LBB0_267 + 0x4c, 0x8d, 0x78, 0xff, //0x0000133f leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001343 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00001349 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x0000134c je LBB0_261 + 0xe9, 0x31, 0x00, 0x00, 0x00, //0x00001352 jmp LBB0_269 + //0x00001357 LBB0_263 + 0xff, 0xc8, //0x00001357 decl %eax + 0x41, 0x89, 0xc7, //0x00001359 movl %eax, %r15d + //0x0000135c LBB0_264 + 0x48, 0x8b, 0x45, 0xc0, //0x0000135c movq $-64(%rbp), %rax + 0x45, 0x85, 0xff, //0x00001360 testl %r15d, %r15d + 0x0f, 0x84, 0x04, 0x0c, 0x00, 0x00, //0x00001363 je LBB0_444 + //0x00001369 LBB0_265 + 0x44, 0x89, 0xff, //0x00001369 movl %r15d, %edi + 0xe9, 0x68, 0xf8, 0xff, 0xff, //0x0000136c jmp LBB0_157 + //0x00001371 LBB0_266 + 0x0f, 0x8c, 0x5c, 0xfe, 0xff, 0xff, //0x00001371 jl LBB0_244 + 0xe9, 0x59, 0xfe, 0xff, 0xff, //0x00001377 jmp LBB0_245 + //0x0000137c LBB0_267 + 0xff, 0xc8, //0x0000137c decl %eax + 0x41, 0x89, 0xc7, //0x0000137e movl %eax, %r15d + //0x00001381 LBB0_268 + 0x45, 0x85, 0xff, //0x00001381 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00001384 cmovel %r15d, %r11d + //0x00001388 LBB0_269 + 0x44, 0x89, 0xf8, //0x00001388 movl %r15d, %eax + 0x44, 0x89, 0xff, //0x0000138b movl %r15d, %edi + 0x45, 0x85, 0xc9, //0x0000138e testl %r9d, %r9d + 0x0f, 0x89, 0x42, 0xf8, 0xff, 0xff, //0x00001391 jns LBB0_157 + 0xe9, 0x8e, 0xf8, 0xff, 0xff, //0x00001397 jmp LBB0_163 + //0x0000139c LBB0_270 + 0x44, 0x89, 0xff, //0x0000139c movl %r15d, %edi + //0x0000139f LBB0_271 + 0x4c, 0x8d, 0x05, 0x6a, 0x3c, 0x00, 0x00, //0x0000139f leaq $15466(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x000013a6 jmp LBB0_274 + //0x000013ab LBB0_272 + 0x89, 0xf8, //0x000013ab movl %edi, %eax + //0x000013ad LBB0_273 + 0x48, 0x8b, 0x75, 0xc0, //0x000013ad movq $-64(%rbp), %rsi + 0x2b, 0x75, 0xb0, //0x000013b1 subl $-80(%rbp), %esi + 0x89, 0xc7, //0x000013b4 movl %eax, %edi + //0x000013b6 LBB0_274 + 0x45, 0x85, 0xdb, //0x000013b6 testl %r11d, %r11d + 0x0f, 0x88, 0x16, 0x00, 0x00, 0x00, //0x000013b9 js LBB0_277 + 0x0f, 0x85, 0xcd, 0x07, 0x00, 0x00, //0x000013bf jne LBB0_389 + 0x41, 0x80, 0x3c, 0x24, 0x35, //0x000013c5 cmpb $53, (%r12) + 0x0f, 0x8c, 0x14, 0x00, 0x00, 0x00, //0x000013ca jl LBB0_278 + 0xe9, 0xbd, 0x07, 0x00, 0x00, //0x000013d0 jmp LBB0_389 + //0x000013d5 LBB0_277 + 0xb8, 0x1b, 0x00, 0x00, 0x00, //0x000013d5 movl $27, %eax + 0x41, 0x83, 0xfb, 0xf8, //0x000013da cmpl $-8, %r11d + 0x0f, 0x8c, 0x11, 0x00, 0x00, 0x00, //0x000013de jl LBB0_279 + //0x000013e4 LBB0_278 + 0x44, 0x89, 0xd8, //0x000013e4 movl %r11d, %eax + 0xf7, 0xd8, //0x000013e7 negl %eax + 0x48, 0x98, //0x000013e9 cltq + 0x48, 0x8d, 0x0d, 0xee, 0x3b, 0x00, 0x00, //0x000013eb leaq $15342(%rip), %rcx /* _POW_TAB+0(%rip) */ + 0x8b, 0x04, 0x81, //0x000013f2 movl (%rcx,%rax,4), %eax + //0x000013f5 LBB0_279 + 0x85, 0xff, //0x000013f5 testl %edi, %edi + 0x48, 0x89, 0x75, 0xc0, //0x000013f7 movq %rsi, $-64(%rbp) + 0x89, 0x45, 0xb0, //0x000013fb movl %eax, $-80(%rbp) + 0x0f, 0x84, 0xa7, 0xff, 0xff, 0xff, //0x000013fe je LBB0_272 + 0x85, 0xc0, //0x00001404 testl %eax, %eax + 0x0f, 0x84, 0x9f, 0xff, 0xff, 0xff, //0x00001406 je LBB0_272 + 0x0f, 0x8e, 0x3b, 0x02, 0x00, 0x00, //0x0000140c jle LBB0_311 + 0x41, 0x89, 0xc1, //0x00001412 movl %eax, %r9d + 0x83, 0xf8, 0x3d, //0x00001415 cmpl $61, %eax + 0x0f, 0x8d, 0x21, 0x00, 0x00, 0x00, //0x00001418 jge LBB0_286 + 0xe9, 0x41, 0x02, 0x00, 0x00, //0x0000141e jmp LBB0_313 + //0x00001423 LBB0_283 + 0xff, 0xc8, //0x00001423 decl %eax + 0x41, 0x89, 0xc7, //0x00001425 movl %eax, %r15d + //0x00001428 LBB0_284 + 0x45, 0x85, 0xff, //0x00001428 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x0000142b cmovel %r15d, %r11d + //0x0000142f LBB0_285 + 0x44, 0x8d, 0x4b, 0xc4, //0x0000142f leal $-60(%rbx), %r9d + 0x44, 0x89, 0xff, //0x00001433 movl %r15d, %edi + 0x83, 0xfb, 0x78, //0x00001436 cmpl $120, %ebx + 0x0f, 0x8e, 0x16, 0x02, 0x00, 0x00, //0x00001439 jle LBB0_312 + //0x0000143f LBB0_286 + 0x44, 0x89, 0xcb, //0x0000143f movl %r9d, %ebx + 0x48, 0x63, 0xf7, //0x00001442 movslq %edi, %rsi + 0x85, 0xf6, //0x00001445 testl %esi, %esi + 0x0f, 0x84, 0x4a, 0x00, 0x00, 0x00, //0x00001447 je LBB0_292 + 0xb1, 0x38, //0x0000144d movb $56, %cl + 0x31, 0xc0, //0x0000144f xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001451 .p2align 4, 0x90 + //0x00001460 LBB0_288 + 0x41, 0xb9, 0x13, 0x00, 0x00, 0x00, //0x00001460 movl $19, %r9d + 0x48, 0x83, 0xf8, 0x2a, //0x00001466 cmpq $42, %rax + 0x0f, 0x84, 0x2d, 0x00, 0x00, 0x00, //0x0000146a je LBB0_293 + 0x41, 0x38, 0x0c, 0x04, //0x00001470 cmpb %cl, (%r12,%rax) + 0x0f, 0x85, 0xc8, 0x01, 0x00, 0x00, //0x00001474 jne LBB0_309 + 0x42, 0x0f, 0xb6, 0x8c, 0x00, 0x65, 0x18, 0x00, 0x00, //0x0000147a movzbl $6245(%rax,%r8), %ecx + 0x48, 0xff, 0xc0, //0x00001483 incq %rax + 0x48, 0x39, 0xc6, //0x00001486 cmpq %rax, %rsi + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x00001489 jne LBB0_288 + 0x84, 0xc9, //0x0000148f testb %cl, %cl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00001491 je LBB0_293 + //0x00001497 LBB0_292 + 0x41, 0xb9, 0x12, 0x00, 0x00, 0x00, //0x00001497 movl $18, %r9d + //0x0000149d LBB0_293 + 0x85, 0xff, //0x0000149d testl %edi, %edi + 0x0f, 0x8e, 0x4b, 0x01, 0x00, 0x00, //0x0000149f jle LBB0_305 + 0x48, 0x89, 0x5d, 0xc8, //0x000014a5 movq %rbx, $-56(%rbp) + 0x4d, 0x89, 0xd8, //0x000014a9 movq %r11, %r8 + 0x44, 0x01, 0xcf, //0x000014ac addl %r9d, %edi + 0x48, 0x63, 0xc7, //0x000014af movslq %edi, %rax + 0x48, 0x89, 0xc3, //0x000014b2 movq %rax, %rbx + 0x48, 0xc1, 0xe3, 0x20, //0x000014b5 shlq $32, %rbx + 0x48, 0xff, 0xc8, //0x000014b9 decq %rax + 0x48, 0xff, 0xc6, //0x000014bc incq %rsi + 0x31, 0xc9, //0x000014bf xorl %ecx, %ecx + 0xe9, 0x34, 0x00, 0x00, 0x00, //0x000014c1 jmp LBB0_297 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000014c6 .p2align 4, 0x90 + //0x000014d0 LBB0_295 + 0x48, 0x85, 0xc0, //0x000014d0 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000014d3 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000014d8 cmovnel %eax, %r14d + //0x000014dc LBB0_296 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x000014dc movabsq $-4294967296, %rax + 0x48, 0x01, 0xc3, //0x000014e6 addq %rax, %rbx + 0x49, 0x8d, 0x43, 0xff, //0x000014e9 leaq $-1(%r11), %rax + 0x48, 0xff, 0xce, //0x000014ed decq %rsi + 0x48, 0x83, 0xfe, 0x01, //0x000014f0 cmpq $1, %rsi + 0x0f, 0x8e, 0x56, 0x00, 0x00, 0x00, //0x000014f4 jle LBB0_299 + //0x000014fa LBB0_297 + 0x49, 0x89, 0xc3, //0x000014fa movq %rax, %r11 + 0x41, 0x0f, 0xb6, 0x7c, 0x34, 0xfe, //0x000014fd movzbl $-2(%r12,%rsi), %edi + 0x48, 0xc1, 0xe7, 0x3c, //0x00001503 shlq $60, %rdi + 0x48, 0x01, 0xcf, //0x00001507 addq %rcx, %rdi + 0x48, 0x89, 0xf8, //0x0000150a movq %rdi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x0000150d movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00001517 mulq %rcx + 0x48, 0x89, 0xd1, //0x0000151a movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x0000151d shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00001521 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00001525 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf8, //0x00001529 movq %rdi, %rax + 0x48, 0x29, 0xd0, //0x0000152c subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x0000152f cmpq %r13, %r11 + 0x0f, 0x83, 0x98, 0xff, 0xff, 0xff, //0x00001532 jae LBB0_295 + 0x04, 0x30, //0x00001538 addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x0000153a movb %al, (%r12,%r11) + 0xe9, 0x99, 0xff, 0xff, 0xff, //0x0000153e jmp LBB0_296 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001543 .p2align 4, 0x90 + //0x00001550 LBB0_299 + 0x48, 0x83, 0xff, 0x0a, //0x00001550 cmpq $10, %rdi + 0x0f, 0x83, 0x13, 0x00, 0x00, 0x00, //0x00001554 jae LBB0_301 + 0x4d, 0x89, 0xc3, //0x0000155a movq %r8, %r11 + 0x4c, 0x8d, 0x05, 0xac, 0x3a, 0x00, 0x00, //0x0000155d leaq $15020(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0x48, 0x8b, 0x5d, 0xc8, //0x00001564 movq $-56(%rbp), %rbx + 0xe9, 0x83, 0x00, 0x00, 0x00, //0x00001568 jmp LBB0_305 + //0x0000156d LBB0_301 + 0x49, 0x63, 0xf3, //0x0000156d movslq %r11d, %rsi + 0x48, 0xff, 0xce, //0x00001570 decq %rsi + 0x4d, 0x89, 0xc3, //0x00001573 movq %r8, %r11 + 0x4c, 0x8d, 0x05, 0x93, 0x3a, 0x00, 0x00, //0x00001576 leaq $14995(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0x48, 0x8b, 0x5d, 0xc8, //0x0000157d movq $-56(%rbp), %rbx + 0xe9, 0x26, 0x00, 0x00, 0x00, //0x00001581 jmp LBB0_303 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001586 .p2align 4, 0x90 + //0x00001590 LBB0_302 + 0x48, 0x85, 0xc0, //0x00001590 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001593 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001598 cmovnel %eax, %r14d + 0x48, 0xff, 0xce, //0x0000159c decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x0000159f cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x000015a3 movq %rdx, %rcx + 0x0f, 0x86, 0x44, 0x00, 0x00, 0x00, //0x000015a6 jbe LBB0_305 + //0x000015ac LBB0_303 + 0x48, 0x89, 0xc8, //0x000015ac movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000015af movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x000015b9 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x000015bc shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x000015c0 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x000015c4 leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xc8, //0x000015c8 movq %rcx, %rax + 0x48, 0x29, 0xf8, //0x000015cb subq %rdi, %rax + 0x4c, 0x39, 0xee, //0x000015ce cmpq %r13, %rsi + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x000015d1 jae LBB0_302 + 0x04, 0x30, //0x000015d7 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x000015d9 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x000015dd decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x000015e0 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x000015e4 movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x000015e7 ja LBB0_303 + 0x90, 0x90, 0x90, //0x000015ed .p2align 4, 0x90 + //0x000015f0 LBB0_305 + 0x45, 0x01, 0xcf, //0x000015f0 addl %r9d, %r15d + 0x4d, 0x63, 0xff, //0x000015f3 movslq %r15d, %r15 + 0x4d, 0x39, 0xfd, //0x000015f6 cmpq %r15, %r13 + 0x45, 0x0f, 0x46, 0xfd, //0x000015f9 cmovbel %r13d, %r15d + 0x45, 0x01, 0xcb, //0x000015fd addl %r9d, %r11d + 0x45, 0x85, 0xff, //0x00001600 testl %r15d, %r15d + 0x0f, 0x8e, 0x1f, 0xfe, 0xff, 0xff, //0x00001603 jle LBB0_284 + 0x44, 0x89, 0xf8, //0x00001609 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x0000160c cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x17, 0xfe, 0xff, 0xff, //0x00001612 jne LBB0_285 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001618 .p2align 4, 0x90 + //0x00001620 LBB0_307 + 0x48, 0x83, 0xf8, 0x01, //0x00001620 cmpq $1, %rax + 0x0f, 0x8e, 0xf9, 0xfd, 0xff, 0xff, //0x00001624 jle LBB0_283 + 0x4c, 0x8d, 0x78, 0xff, //0x0000162a leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x0000162e cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00001634 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001637 je LBB0_307 + 0xe9, 0xed, 0xfd, 0xff, 0xff, //0x0000163d jmp LBB0_285 + //0x00001642 LBB0_309 + 0x0f, 0x8c, 0x4f, 0xfe, 0xff, 0xff, //0x00001642 jl LBB0_292 + 0xe9, 0x50, 0xfe, 0xff, 0xff, //0x00001648 jmp LBB0_293 + //0x0000164d LBB0_311 + 0x41, 0x89, 0xc1, //0x0000164d movl %eax, %r9d + 0xe9, 0x09, 0x02, 0x00, 0x00, //0x00001650 jmp LBB0_341 + //0x00001655 LBB0_312 + 0x44, 0x89, 0xff, //0x00001655 movl %r15d, %edi + 0x44, 0x89, 0xf8, //0x00001658 movl %r15d, %eax + 0x45, 0x85, 0xc9, //0x0000165b testl %r9d, %r9d + 0x0f, 0x84, 0x49, 0xfd, 0xff, 0xff, //0x0000165e je LBB0_273 + //0x00001664 LBB0_313 + 0x44, 0x89, 0xc9, //0x00001664 movl %r9d, %ecx + 0x48, 0x6b, 0xd1, 0x68, //0x00001667 imulq $104, %rcx, %rdx + 0x42, 0x8b, 0x1c, 0x02, //0x0000166b movl (%rdx,%r8), %ebx + 0x4c, 0x89, 0xc6, //0x0000166f movq %r8, %rsi + 0x4c, 0x63, 0xc7, //0x00001672 movslq %edi, %r8 + 0x8a, 0x44, 0x32, 0x04, //0x00001675 movb $4(%rdx,%rsi), %al + 0x45, 0x85, 0xc0, //0x00001679 testl %r8d, %r8d + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x0000167c je LBB0_318 + 0x48, 0x8d, 0x54, 0x32, 0x05, //0x00001682 leaq $5(%rdx,%rsi), %rdx + 0x31, 0xf6, //0x00001687 xorl %esi, %esi + //0x00001689 LBB0_315 + 0x84, 0xc0, //0x00001689 testb %al, %al + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x0000168b je LBB0_320 + 0x41, 0x38, 0x04, 0x34, //0x00001691 cmpb %al, (%r12,%rsi) + 0x0f, 0x85, 0x9d, 0x01, 0x00, 0x00, //0x00001695 jne LBB0_337 + 0x0f, 0xb6, 0x04, 0x32, //0x0000169b movzbl (%rdx,%rsi), %eax + 0x48, 0xff, 0xc6, //0x0000169f incq %rsi + 0x49, 0x39, 0xf0, //0x000016a2 cmpq %rsi, %r8 + 0x0f, 0x85, 0xde, 0xff, 0xff, 0xff, //0x000016a5 jne LBB0_315 + //0x000016ab LBB0_318 + 0x84, 0xc0, //0x000016ab testb %al, %al + 0x0f, 0x84, 0x02, 0x00, 0x00, 0x00, //0x000016ad je LBB0_320 + //0x000016b3 LBB0_319 + 0xff, 0xcb, //0x000016b3 decl %ebx + //0x000016b5 LBB0_320 + 0x85, 0xff, //0x000016b5 testl %edi, %edi + 0x0f, 0x8e, 0xb6, 0x00, 0x00, 0x00, //0x000016b7 jle LBB0_328 + 0x4c, 0x89, 0x5d, 0xc8, //0x000016bd movq %r11, $-56(%rbp) + 0x89, 0x5d, 0xbc, //0x000016c1 movl %ebx, $-68(%rbp) + 0x01, 0xdf, //0x000016c4 addl %ebx, %edi + 0x48, 0x63, 0xc7, //0x000016c6 movslq %edi, %rax + 0x48, 0x89, 0xc6, //0x000016c9 movq %rax, %rsi + 0x48, 0xc1, 0xe6, 0x20, //0x000016cc shlq $32, %rsi + 0x48, 0xff, 0xc8, //0x000016d0 decq %rax + 0x49, 0xff, 0xc0, //0x000016d3 incq %r8 + 0x31, 0xff, //0x000016d6 xorl %edi, %edi + 0xe9, 0x2d, 0x00, 0x00, 0x00, //0x000016d8 jmp LBB0_324 + 0x90, 0x90, 0x90, //0x000016dd .p2align 4, 0x90 + //0x000016e0 LBB0_322 + 0x48, 0x85, 0xc0, //0x000016e0 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000016e3 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000016e8 cmovnel %eax, %r14d + //0x000016ec LBB0_323 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x000016ec movabsq $-4294967296, %rax + 0x48, 0x01, 0xc6, //0x000016f6 addq %rax, %rsi + 0x49, 0x8d, 0x43, 0xff, //0x000016f9 leaq $-1(%r11), %rax + 0x49, 0xff, 0xc8, //0x000016fd decq %r8 + 0x49, 0x83, 0xf8, 0x01, //0x00001700 cmpq $1, %r8 + 0x0f, 0x8e, 0x4c, 0x00, 0x00, 0x00, //0x00001704 jle LBB0_326 + //0x0000170a LBB0_324 + 0x49, 0x89, 0xc3, //0x0000170a movq %rax, %r11 + 0x4b, 0x0f, 0xbe, 0x5c, 0x04, 0xfe, //0x0000170d movsbq $-2(%r12,%r8), %rbx + 0x48, 0x83, 0xc3, 0xd0, //0x00001713 addq $-48, %rbx + 0x48, 0xd3, 0xe3, //0x00001717 shlq %cl, %rbx + 0x48, 0x01, 0xfb, //0x0000171a addq %rdi, %rbx + 0x48, 0x89, 0xd8, //0x0000171d movq %rbx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001720 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x0000172a mulq %rdx + 0x48, 0x89, 0xd7, //0x0000172d movq %rdx, %rdi + 0x48, 0xc1, 0xef, 0x03, //0x00001730 shrq $3, %rdi + 0x48, 0x8d, 0x04, 0x3f, //0x00001734 leaq (%rdi,%rdi), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00001738 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x0000173c movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x0000173f subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x00001742 cmpq %r13, %r11 + 0x0f, 0x83, 0x95, 0xff, 0xff, 0xff, //0x00001745 jae LBB0_322 + 0x04, 0x30, //0x0000174b addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x0000174d movb %al, (%r12,%r11) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x00001751 jmp LBB0_323 + //0x00001756 LBB0_326 + 0x48, 0x83, 0xfb, 0x0a, //0x00001756 cmpq $10, %rbx + 0x4c, 0x8d, 0x05, 0xaf, 0x38, 0x00, 0x00, //0x0000175a leaq $14511(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0x83, 0x18, 0x00, 0x00, 0x00, //0x00001761 jae LBB0_329 + 0x4c, 0x8b, 0x5d, 0xc8, //0x00001767 movq $-56(%rbp), %r11 + 0x8b, 0x5d, 0xbc, //0x0000176b movl $-68(%rbp), %ebx + 0xe9, 0x7b, 0x00, 0x00, 0x00, //0x0000176e jmp LBB0_333 + //0x00001773 LBB0_328 + 0x4c, 0x8d, 0x05, 0x96, 0x38, 0x00, 0x00, //0x00001773 leaq $14486(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x6f, 0x00, 0x00, 0x00, //0x0000177a jmp LBB0_333 + //0x0000177f LBB0_329 + 0x49, 0x63, 0xcb, //0x0000177f movslq %r11d, %rcx + 0x48, 0xff, 0xc9, //0x00001782 decq %rcx + 0x4c, 0x8b, 0x5d, 0xc8, //0x00001785 movq $-56(%rbp), %r11 + 0x8b, 0x5d, 0xbc, //0x00001789 movl $-68(%rbp), %ebx + 0xe9, 0x1c, 0x00, 0x00, 0x00, //0x0000178c jmp LBB0_331 + //0x00001791 LBB0_330 + 0x48, 0x85, 0xc0, //0x00001791 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001794 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001799 cmovnel %eax, %r14d + 0x48, 0xff, 0xc9, //0x0000179d decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x000017a0 cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x000017a4 movq %rdx, %rdi + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x000017a7 jbe LBB0_333 + //0x000017ad LBB0_331 + 0x48, 0x89, 0xf8, //0x000017ad movq %rdi, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000017b0 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x000017ba mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x000017bd shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x000017c1 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x34, 0x80, //0x000017c5 leaq (%rax,%rax,4), %rsi + 0x48, 0x89, 0xf8, //0x000017c9 movq %rdi, %rax + 0x48, 0x29, 0xf0, //0x000017cc subq %rsi, %rax + 0x4c, 0x39, 0xe9, //0x000017cf cmpq %r13, %rcx + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x000017d2 jae LBB0_330 + 0x04, 0x30, //0x000017d8 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x000017da movb %al, (%r12,%rcx) + 0x48, 0xff, 0xc9, //0x000017de decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x000017e1 cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x000017e5 movq %rdx, %rdi + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x000017e8 ja LBB0_331 + //0x000017ee LBB0_333 + 0x41, 0x01, 0xdf, //0x000017ee addl %ebx, %r15d + 0x4d, 0x63, 0xff, //0x000017f1 movslq %r15d, %r15 + 0x4d, 0x39, 0xfd, //0x000017f4 cmpq %r15, %r13 + 0x45, 0x0f, 0x46, 0xfd, //0x000017f7 cmovbel %r13d, %r15d + 0x41, 0x01, 0xdb, //0x000017fb addl %ebx, %r11d + 0x45, 0x85, 0xff, //0x000017fe testl %r15d, %r15d + 0x0f, 0x8e, 0x41, 0x00, 0x00, 0x00, //0x00001801 jle LBB0_339 + 0x44, 0x89, 0xf8, //0x00001807 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x0000180a cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x39, 0x00, 0x00, 0x00, //0x00001810 jne LBB0_340 + //0x00001816 LBB0_335 + 0x48, 0x83, 0xf8, 0x01, //0x00001816 cmpq $1, %rax + 0x0f, 0x8e, 0x23, 0x00, 0x00, 0x00, //0x0000181a jle LBB0_338 + 0x4c, 0x8d, 0x78, 0xff, //0x00001820 leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001824 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x0000182a movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x0000182d je LBB0_335 + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00001833 jmp LBB0_340 + //0x00001838 LBB0_337 + 0x0f, 0x8c, 0x75, 0xfe, 0xff, 0xff, //0x00001838 jl LBB0_319 + 0xe9, 0x72, 0xfe, 0xff, 0xff, //0x0000183e jmp LBB0_320 + //0x00001843 LBB0_338 + 0xff, 0xc8, //0x00001843 decl %eax + 0x41, 0x89, 0xc7, //0x00001845 movl %eax, %r15d + //0x00001848 LBB0_339 + 0x45, 0x85, 0xff, //0x00001848 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x0000184b cmovel %r15d, %r11d + //0x0000184f LBB0_340 + 0x44, 0x89, 0xff, //0x0000184f movl %r15d, %edi + 0x44, 0x89, 0xf8, //0x00001852 movl %r15d, %eax + 0x45, 0x85, 0xc9, //0x00001855 testl %r9d, %r9d + 0x0f, 0x89, 0x4f, 0xfb, 0xff, 0xff, //0x00001858 jns LBB0_273 + //0x0000185e LBB0_341 + 0x41, 0x83, 0xf9, 0xc3, //0x0000185e cmpl $-61, %r9d + 0x0f, 0x8e, 0x21, 0x00, 0x00, 0x00, //0x00001862 jle LBB0_345 + 0xe9, 0x9c, 0x01, 0x00, 0x00, //0x00001868 jmp LBB0_365 + //0x0000186d LBB0_342 + 0xff, 0xc9, //0x0000186d decl %ecx + 0x41, 0x89, 0xcf, //0x0000186f movl %ecx, %r15d + //0x00001872 LBB0_343 + 0x45, 0x85, 0xff, //0x00001872 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00001875 cmovel %r15d, %r11d + //0x00001879 LBB0_344 + 0x44, 0x8d, 0x48, 0x3c, //0x00001879 leal $60(%rax), %r9d + 0x44, 0x89, 0xff, //0x0000187d movl %r15d, %edi + 0x83, 0xf8, 0x88, //0x00001880 cmpl $-120, %eax + 0x0f, 0x8d, 0x71, 0x01, 0x00, 0x00, //0x00001883 jge LBB0_364 + //0x00001889 LBB0_345 + 0x44, 0x89, 0xc8, //0x00001889 movl %r9d, %eax + 0x48, 0x63, 0xf7, //0x0000188c movslq %edi, %rsi + 0x31, 0xd2, //0x0000188f xorl %edx, %edx + 0x31, 0xc9, //0x00001891 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001893 .p2align 4, 0x90 + //0x000018a0 LBB0_346 + 0x48, 0x39, 0xf2, //0x000018a0 cmpq %rsi, %rdx + 0x0f, 0x8d, 0x27, 0x00, 0x00, 0x00, //0x000018a3 jge LBB0_348 + 0x48, 0x8d, 0x0c, 0x89, //0x000018a9 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x1c, 0x14, //0x000018ad movsbq (%r12,%rdx), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x000018b2 leaq $-48(%rbx,%rcx,2), %rcx + 0x48, 0xff, 0xc2, //0x000018b7 incq %rdx + 0x49, 0x8d, 0x5a, 0x01, //0x000018ba leaq $1(%r10), %rbx + 0x48, 0x39, 0xd9, //0x000018be cmpq %rbx, %rcx + 0x0f, 0x82, 0xd9, 0xff, 0xff, 0xff, //0x000018c1 jb LBB0_346 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x000018c7 jmp LBB0_350 + 0x90, 0x90, 0x90, 0x90, //0x000018cc .p2align 4, 0x90 + //0x000018d0 LBB0_348 + 0x48, 0x85, 0xc9, //0x000018d0 testq %rcx, %rcx + 0x0f, 0x84, 0x19, 0x01, 0x00, 0x00, //0x000018d3 je LBB0_363 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000018d9 .p2align 4, 0x90 + //0x000018e0 LBB0_349 + 0x48, 0x01, 0xc9, //0x000018e0 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x000018e3 leaq (%rcx,%rcx,4), %rcx + 0xff, 0xc2, //0x000018e7 incl %edx + 0x49, 0x8d, 0x72, 0x01, //0x000018e9 leaq $1(%r10), %rsi + 0x48, 0x39, 0xf1, //0x000018ed cmpq %rsi, %rcx + 0x0f, 0x82, 0xea, 0xff, 0xff, 0xff, //0x000018f0 jb LBB0_349 + //0x000018f6 LBB0_350 + 0x41, 0x29, 0xd3, //0x000018f6 subl %edx, %r11d + 0x31, 0xf6, //0x000018f9 xorl %esi, %esi + 0x39, 0xfa, //0x000018fb cmpl %edi, %edx + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x000018fd jge LBB0_355 + 0x48, 0x63, 0xd2, //0x00001903 movslq %edx, %rdx + 0x49, 0x63, 0xf7, //0x00001906 movslq %r15d, %rsi + 0x49, 0x8d, 0x3c, 0x14, //0x00001909 leaq (%r12,%rdx), %rdi + 0x45, 0x31, 0xff, //0x0000190d xorl %r15d, %r15d + //0x00001910 .p2align 4, 0x90 + //0x00001910 LBB0_352 + 0x48, 0x89, 0xcb, //0x00001910 movq %rcx, %rbx + 0x48, 0xc1, 0xeb, 0x3c, //0x00001913 shrq $60, %rbx + 0x4c, 0x21, 0xd1, //0x00001917 andq %r10, %rcx + 0x80, 0xcb, 0x30, //0x0000191a orb $48, %bl + 0x43, 0x88, 0x1c, 0x3c, //0x0000191d movb %bl, (%r12,%r15) + 0x48, 0x8d, 0x0c, 0x89, //0x00001921 leaq (%rcx,%rcx,4), %rcx + 0x4a, 0x0f, 0xbe, 0x1c, 0x3f, //0x00001925 movsbq (%rdi,%r15), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x0000192a leaq $-48(%rbx,%rcx,2), %rcx + 0x4a, 0x8d, 0x5c, 0x3a, 0x01, //0x0000192f leaq $1(%rdx,%r15), %rbx + 0x49, 0xff, 0xc7, //0x00001934 incq %r15 + 0x48, 0x39, 0xf3, //0x00001937 cmpq %rsi, %rbx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x0000193a jl LBB0_352 + 0x48, 0x85, 0xc9, //0x00001940 testq %rcx, %rcx + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x00001943 je LBB0_359 + 0x44, 0x89, 0xfe, //0x00001949 movl %r15d, %esi + //0x0000194c LBB0_355 + 0x41, 0x89, 0xf7, //0x0000194c movl %esi, %r15d + 0xe9, 0x28, 0x00, 0x00, 0x00, //0x0000194f jmp LBB0_357 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001954 .p2align 4, 0x90 + //0x00001960 LBB0_356 + 0x48, 0x85, 0xd2, //0x00001960 testq %rdx, %rdx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001963 movl $1, %edx + 0x44, 0x0f, 0x45, 0xf2, //0x00001968 cmovnel %edx, %r14d + 0x48, 0x01, 0xc9, //0x0000196c addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x0000196f leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00001973 testq %rcx, %rcx + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x00001976 je LBB0_359 + //0x0000197c LBB0_357 + 0x48, 0x89, 0xca, //0x0000197c movq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x3c, //0x0000197f shrq $60, %rdx + 0x4c, 0x21, 0xd1, //0x00001983 andq %r10, %rcx + 0x49, 0x63, 0xf7, //0x00001986 movslq %r15d, %rsi + 0x49, 0x39, 0xf5, //0x00001989 cmpq %rsi, %r13 + 0x0f, 0x86, 0xce, 0xff, 0xff, 0xff, //0x0000198c jbe LBB0_356 + 0x80, 0xca, 0x30, //0x00001992 orb $48, %dl + 0x41, 0x88, 0x14, 0x34, //0x00001995 movb %dl, (%r12,%rsi) + 0xff, 0xc6, //0x00001999 incl %esi + 0x41, 0x89, 0xf7, //0x0000199b movl %esi, %r15d + 0x48, 0x01, 0xc9, //0x0000199e addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x000019a1 leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x000019a5 testq %rcx, %rcx + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x000019a8 jne LBB0_357 + //0x000019ae LBB0_359 + 0x41, 0xff, 0xc3, //0x000019ae incl %r11d + 0x45, 0x85, 0xff, //0x000019b1 testl %r15d, %r15d + 0x0f, 0x8e, 0xb8, 0xfe, 0xff, 0xff, //0x000019b4 jle LBB0_343 + 0x44, 0x89, 0xf9, //0x000019ba movl %r15d, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x000019bd cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0xb0, 0xfe, 0xff, 0xff, //0x000019c3 jne LBB0_344 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000019c9 .p2align 4, 0x90 + //0x000019d0 LBB0_361 + 0x48, 0x83, 0xf9, 0x01, //0x000019d0 cmpq $1, %rcx + 0x0f, 0x8e, 0x93, 0xfe, 0xff, 0xff, //0x000019d4 jle LBB0_342 + 0x4c, 0x8d, 0x79, 0xff, //0x000019da leaq $-1(%rcx), %r15 + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x000019de cmpb $48, $-2(%r12,%rcx) + 0x4c, 0x89, 0xf9, //0x000019e4 movq %r15, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x000019e7 je LBB0_361 + 0xe9, 0x87, 0xfe, 0xff, 0xff, //0x000019ed jmp LBB0_344 + //0x000019f2 LBB0_363 + 0x45, 0x31, 0xff, //0x000019f2 xorl %r15d, %r15d + 0xe9, 0x7f, 0xfe, 0xff, 0xff, //0x000019f5 jmp LBB0_344 + //0x000019fa LBB0_364 + 0x44, 0x89, 0xff, //0x000019fa movl %r15d, %edi + 0x44, 0x89, 0xf8, //0x000019fd movl %r15d, %eax + 0x45, 0x85, 0xc9, //0x00001a00 testl %r9d, %r9d + 0x0f, 0x84, 0xa4, 0xf9, 0xff, 0xff, //0x00001a03 je LBB0_273 + //0x00001a09 LBB0_365 + 0x41, 0xf7, 0xd9, //0x00001a09 negl %r9d + 0x48, 0x63, 0xf7, //0x00001a0c movslq %edi, %rsi + 0x31, 0xd2, //0x00001a0f xorl %edx, %edx + 0x31, 0xc0, //0x00001a11 xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001a13 .p2align 4, 0x90 + //0x00001a20 LBB0_366 + 0x48, 0x39, 0xf2, //0x00001a20 cmpq %rsi, %rdx + 0x0f, 0x8d, 0x22, 0x01, 0x00, 0x00, //0x00001a23 jge LBB0_382 + 0x48, 0x8d, 0x04, 0x80, //0x00001a29 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x14, //0x00001a2d movsbq (%r12,%rdx), %rcx + 0x48, 0x8d, 0x44, 0x41, 0xd0, //0x00001a32 leaq $-48(%rcx,%rax,2), %rax + 0x48, 0xff, 0xc2, //0x00001a37 incq %rdx + 0x48, 0x89, 0xc3, //0x00001a3a movq %rax, %rbx + 0x44, 0x89, 0xc9, //0x00001a3d movl %r9d, %ecx + 0x48, 0xd3, 0xeb, //0x00001a40 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00001a43 testq %rbx, %rbx + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x00001a46 je LBB0_366 + //0x00001a4c LBB0_368 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001a4c movq $-1, %rsi + 0x44, 0x89, 0xc9, //0x00001a53 movl %r9d, %ecx + 0x48, 0xd3, 0xe6, //0x00001a56 shlq %cl, %rsi + 0x48, 0xf7, 0xd6, //0x00001a59 notq %rsi + 0x31, 0xdb, //0x00001a5c xorl %ebx, %ebx + 0x39, 0xfa, //0x00001a5e cmpl %edi, %edx + 0x0f, 0x8d, 0x58, 0x00, 0x00, 0x00, //0x00001a60 jge LBB0_372 + 0x4c, 0x89, 0x5d, 0xc8, //0x00001a66 movq %r11, $-56(%rbp) + 0x4c, 0x63, 0xda, //0x00001a6a movslq %edx, %r11 + 0x4d, 0x63, 0xc7, //0x00001a6d movslq %r15d, %r8 + 0x4f, 0x8d, 0x3c, 0x1c, //0x00001a70 leaq (%r12,%r11), %r15 + 0x31, 0xdb, //0x00001a74 xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001a76 .p2align 4, 0x90 + //0x00001a80 LBB0_370 + 0x48, 0x89, 0xc7, //0x00001a80 movq %rax, %rdi + 0x44, 0x89, 0xc9, //0x00001a83 movl %r9d, %ecx + 0x48, 0xd3, 0xef, //0x00001a86 shrq %cl, %rdi + 0x48, 0x21, 0xf0, //0x00001a89 andq %rsi, %rax + 0x40, 0x80, 0xc7, 0x30, //0x00001a8c addb $48, %dil + 0x41, 0x88, 0x3c, 0x1c, //0x00001a90 movb %dil, (%r12,%rbx) + 0x48, 0x8d, 0x04, 0x80, //0x00001a94 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x1f, //0x00001a98 movsbq (%r15,%rbx), %rcx + 0x48, 0x8d, 0x44, 0x41, 0xd0, //0x00001a9d leaq $-48(%rcx,%rax,2), %rax + 0x49, 0x8d, 0x4c, 0x1b, 0x01, //0x00001aa2 leaq $1(%r11,%rbx), %rcx + 0x48, 0xff, 0xc3, //0x00001aa7 incq %rbx + 0x4c, 0x39, 0xc1, //0x00001aaa cmpq %r8, %rcx + 0x0f, 0x8c, 0xcd, 0xff, 0xff, 0xff, //0x00001aad jl LBB0_370 + 0x4c, 0x8b, 0x5d, 0xc8, //0x00001ab3 movq $-56(%rbp), %r11 + 0x4c, 0x8d, 0x05, 0x52, 0x35, 0x00, 0x00, //0x00001ab7 leaq $13650(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + //0x00001abe LBB0_372 + 0x41, 0x29, 0xd3, //0x00001abe subl %edx, %r11d + 0x41, 0x89, 0xdf, //0x00001ac1 movl %ebx, %r15d + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00001ac4 jmp LBB0_375 + //0x00001ac9 LBB0_373 + 0x48, 0x85, 0xd2, //0x00001ac9 testq %rdx, %rdx + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00001acc movl $1, %ecx + 0x44, 0x0f, 0x45, 0xf1, //0x00001ad1 cmovnel %ecx, %r14d + //0x00001ad5 LBB0_374 + 0x48, 0x01, 0xc0, //0x00001ad5 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001ad8 leaq (%rax,%rax,4), %rax + //0x00001adc LBB0_375 + 0x48, 0x85, 0xc0, //0x00001adc testq %rax, %rax + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00001adf je LBB0_378 + 0x48, 0x89, 0xc2, //0x00001ae5 movq %rax, %rdx + 0x44, 0x89, 0xc9, //0x00001ae8 movl %r9d, %ecx + 0x48, 0xd3, 0xea, //0x00001aeb shrq %cl, %rdx + 0x48, 0x21, 0xf0, //0x00001aee andq %rsi, %rax + 0x49, 0x63, 0xcf, //0x00001af1 movslq %r15d, %rcx + 0x49, 0x39, 0xcd, //0x00001af4 cmpq %rcx, %r13 + 0x0f, 0x86, 0xcc, 0xff, 0xff, 0xff, //0x00001af7 jbe LBB0_373 + 0x80, 0xc2, 0x30, //0x00001afd addb $48, %dl + 0x41, 0x88, 0x14, 0x0c, //0x00001b00 movb %dl, (%r12,%rcx) + 0xff, 0xc1, //0x00001b04 incl %ecx + 0x41, 0x89, 0xcf, //0x00001b06 movl %ecx, %r15d + 0xe9, 0xc7, 0xff, 0xff, 0xff, //0x00001b09 jmp LBB0_374 + //0x00001b0e LBB0_378 + 0x41, 0xff, 0xc3, //0x00001b0e incl %r11d + 0x45, 0x85, 0xff, //0x00001b11 testl %r15d, %r15d + 0x0f, 0x8e, 0x69, 0x00, 0x00, 0x00, //0x00001b14 jle LBB0_387 + 0x44, 0x89, 0xf8, //0x00001b1a movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001b1d cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x61, 0x00, 0x00, 0x00, //0x00001b23 jne LBB0_388 + //0x00001b29 LBB0_380 + 0x48, 0x83, 0xf8, 0x01, //0x00001b29 cmpq $1, %rax + 0x0f, 0x8e, 0x4b, 0x00, 0x00, 0x00, //0x00001b2d jle LBB0_386 + 0x4c, 0x8d, 0x78, 0xff, //0x00001b33 leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001b37 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00001b3d movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001b40 je LBB0_380 + 0xe9, 0x3f, 0x00, 0x00, 0x00, //0x00001b46 jmp LBB0_388 + //0x00001b4b LBB0_382 + 0x48, 0x85, 0xc0, //0x00001b4b testq %rax, %rax + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x00001b4e je LBB0_385 + //0x00001b54 LBB0_383 + 0x48, 0x89, 0xc6, //0x00001b54 movq %rax, %rsi + 0x44, 0x89, 0xc9, //0x00001b57 movl %r9d, %ecx + 0x48, 0xd3, 0xee, //0x00001b5a shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x00001b5d testq %rsi, %rsi + 0x0f, 0x85, 0xe6, 0xfe, 0xff, 0xff, //0x00001b60 jne LBB0_368 + 0x48, 0x01, 0xc0, //0x00001b66 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001b69 leaq (%rax,%rax,4), %rax + 0xff, 0xc2, //0x00001b6d incl %edx + 0xe9, 0xe0, 0xff, 0xff, 0xff, //0x00001b6f jmp LBB0_383 + //0x00001b74 LBB0_385 + 0x45, 0x31, 0xff, //0x00001b74 xorl %r15d, %r15d + 0x31, 0xc0, //0x00001b77 xorl %eax, %eax + 0xe9, 0x2f, 0xf8, 0xff, 0xff, //0x00001b79 jmp LBB0_273 + //0x00001b7e LBB0_386 + 0xff, 0xc8, //0x00001b7e decl %eax + 0x41, 0x89, 0xc7, //0x00001b80 movl %eax, %r15d + //0x00001b83 LBB0_387 + 0x45, 0x85, 0xff, //0x00001b83 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00001b86 cmovel %r15d, %r11d + //0x00001b8a LBB0_388 + 0x44, 0x89, 0xf8, //0x00001b8a movl %r15d, %eax + 0xe9, 0x1b, 0xf8, 0xff, 0xff, //0x00001b8d jmp LBB0_273 + //0x00001b92 LBB0_389 + 0x81, 0xfe, 0x02, 0xfc, 0xff, 0xff, //0x00001b92 cmpl $-1022, %esi + 0x0f, 0x8f, 0xb1, 0x01, 0x00, 0x00, //0x00001b98 jg LBB0_415 + 0x41, 0xb8, 0x02, 0xfc, 0xff, 0xff, //0x00001b9e movl $-1022, %r8d + 0x85, 0xff, //0x00001ba4 testl %edi, %edi + 0x0f, 0x84, 0xfd, 0x01, 0x00, 0x00, //0x00001ba6 je LBB0_420 + 0x8d, 0x8e, 0xfd, 0x03, 0x00, 0x00, //0x00001bac leal $1021(%rsi), %ecx + 0x81, 0xfe, 0xc6, 0xfb, 0xff, 0xff, //0x00001bb2 cmpl $-1082, %esi + 0x0f, 0x8f, 0x06, 0x02, 0x00, 0x00, //0x00001bb8 jg LBB0_421 + 0x4d, 0x89, 0xd8, //0x00001bbe movq %r11, %r8 + 0x49, 0x8d, 0x42, 0x01, //0x00001bc1 leaq $1(%r10), %rax + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001bc5 movl $1, %r11d + 0xe9, 0x1d, 0x00, 0x00, 0x00, //0x00001bcb jmp LBB0_396 + //0x00001bd0 LBB0_393 + 0xff, 0xc9, //0x00001bd0 decl %ecx + 0x41, 0x89, 0xcf, //0x00001bd2 movl %ecx, %r15d + //0x00001bd5 LBB0_394 + 0x45, 0x85, 0xff, //0x00001bd5 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xc7, //0x00001bd8 cmovel %r15d, %r8d + //0x00001bdc LBB0_395 + 0x41, 0x8d, 0x49, 0x3c, //0x00001bdc leal $60(%r9), %ecx + 0x44, 0x89, 0xff, //0x00001be0 movl %r15d, %edi + 0x41, 0x83, 0xf9, 0x88, //0x00001be3 cmpl $-120, %r9d + 0x0f, 0x8d, 0xe6, 0x01, 0x00, 0x00, //0x00001be7 jge LBB0_422 + //0x00001bed LBB0_396 + 0x41, 0x89, 0xc9, //0x00001bed movl %ecx, %r9d + 0x48, 0x63, 0xdf, //0x00001bf0 movslq %edi, %rbx + 0x31, 0xf6, //0x00001bf3 xorl %esi, %esi + 0x31, 0xc9, //0x00001bf5 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001bf7 .p2align 4, 0x90 + //0x00001c00 LBB0_397 + 0x48, 0x39, 0xde, //0x00001c00 cmpq %rbx, %rsi + 0x0f, 0x8d, 0x1f, 0x00, 0x00, 0x00, //0x00001c03 jge LBB0_399 + 0x48, 0x8d, 0x0c, 0x89, //0x00001c09 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x14, 0x34, //0x00001c0d movsbq (%r12,%rsi), %rdx + 0x48, 0x8d, 0x4c, 0x4a, 0xd0, //0x00001c12 leaq $-48(%rdx,%rcx,2), %rcx + 0x48, 0xff, 0xc6, //0x00001c17 incq %rsi + 0x48, 0x39, 0xc1, //0x00001c1a cmpq %rax, %rcx + 0x0f, 0x82, 0xdd, 0xff, 0xff, 0xff, //0x00001c1d jb LBB0_397 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00001c23 jmp LBB0_401 + //0x00001c28 LBB0_399 + 0x48, 0x85, 0xc9, //0x00001c28 testq %rcx, %rcx + 0x0f, 0x84, 0x16, 0x01, 0x00, 0x00, //0x00001c2b je LBB0_414 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001c31 .p2align 4, 0x90 + //0x00001c40 LBB0_400 + 0x48, 0x01, 0xc9, //0x00001c40 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00001c43 leaq (%rcx,%rcx,4), %rcx + 0xff, 0xc6, //0x00001c47 incl %esi + 0x48, 0x39, 0xc1, //0x00001c49 cmpq %rax, %rcx + 0x0f, 0x82, 0xee, 0xff, 0xff, 0xff, //0x00001c4c jb LBB0_400 + //0x00001c52 LBB0_401 + 0x41, 0x29, 0xf0, //0x00001c52 subl %esi, %r8d + 0x31, 0xdb, //0x00001c55 xorl %ebx, %ebx + 0x39, 0xfe, //0x00001c57 cmpl %edi, %esi + 0x0f, 0x8d, 0x4d, 0x00, 0x00, 0x00, //0x00001c59 jge LBB0_406 + 0x48, 0x63, 0xf6, //0x00001c5f movslq %esi, %rsi + 0x49, 0x63, 0xff, //0x00001c62 movslq %r15d, %rdi + 0x49, 0x8d, 0x1c, 0x34, //0x00001c65 leaq (%r12,%rsi), %rbx + 0x45, 0x31, 0xff, //0x00001c69 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, //0x00001c6c .p2align 4, 0x90 + //0x00001c70 LBB0_403 + 0x48, 0x89, 0xca, //0x00001c70 movq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x3c, //0x00001c73 shrq $60, %rdx + 0x4c, 0x21, 0xd1, //0x00001c77 andq %r10, %rcx + 0x80, 0xca, 0x30, //0x00001c7a orb $48, %dl + 0x43, 0x88, 0x14, 0x3c, //0x00001c7d movb %dl, (%r12,%r15) + 0x48, 0x8d, 0x0c, 0x89, //0x00001c81 leaq (%rcx,%rcx,4), %rcx + 0x4a, 0x0f, 0xbe, 0x14, 0x3b, //0x00001c85 movsbq (%rbx,%r15), %rdx + 0x48, 0x8d, 0x4c, 0x4a, 0xd0, //0x00001c8a leaq $-48(%rdx,%rcx,2), %rcx + 0x4a, 0x8d, 0x54, 0x3e, 0x01, //0x00001c8f leaq $1(%rsi,%r15), %rdx + 0x49, 0xff, 0xc7, //0x00001c94 incq %r15 + 0x48, 0x39, 0xfa, //0x00001c97 cmpq %rdi, %rdx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00001c9a jl LBB0_403 + 0x48, 0x85, 0xc9, //0x00001ca0 testq %rcx, %rcx + 0x0f, 0x84, 0x61, 0x00, 0x00, 0x00, //0x00001ca3 je LBB0_410 + 0x44, 0x89, 0xfb, //0x00001ca9 movl %r15d, %ebx + //0x00001cac LBB0_406 + 0x41, 0x89, 0xdf, //0x00001cac movl %ebx, %r15d + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00001caf jmp LBB0_408 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001cb4 .p2align 4, 0x90 + //0x00001cc0 LBB0_407 + 0x48, 0x85, 0xf6, //0x00001cc0 testq %rsi, %rsi + 0x45, 0x0f, 0x45, 0xf3, //0x00001cc3 cmovnel %r11d, %r14d + 0x48, 0x01, 0xc9, //0x00001cc7 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00001cca leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00001cce testq %rcx, %rcx + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00001cd1 je LBB0_410 + //0x00001cd7 LBB0_408 + 0x48, 0x89, 0xce, //0x00001cd7 movq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x3c, //0x00001cda shrq $60, %rsi + 0x4c, 0x21, 0xd1, //0x00001cde andq %r10, %rcx + 0x49, 0x63, 0xff, //0x00001ce1 movslq %r15d, %rdi + 0x49, 0x39, 0xfd, //0x00001ce4 cmpq %rdi, %r13 + 0x0f, 0x86, 0xd3, 0xff, 0xff, 0xff, //0x00001ce7 jbe LBB0_407 + 0x40, 0x80, 0xce, 0x30, //0x00001ced orb $48, %sil + 0x41, 0x88, 0x34, 0x3c, //0x00001cf1 movb %sil, (%r12,%rdi) + 0xff, 0xc7, //0x00001cf5 incl %edi + 0x41, 0x89, 0xff, //0x00001cf7 movl %edi, %r15d + 0x48, 0x01, 0xc9, //0x00001cfa addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00001cfd leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00001d01 testq %rcx, %rcx + 0x0f, 0x85, 0xcd, 0xff, 0xff, 0xff, //0x00001d04 jne LBB0_408 + //0x00001d0a LBB0_410 + 0x41, 0xff, 0xc0, //0x00001d0a incl %r8d + 0x45, 0x85, 0xff, //0x00001d0d testl %r15d, %r15d + 0x0f, 0x8e, 0xbf, 0xfe, 0xff, 0xff, //0x00001d10 jle LBB0_394 + 0x44, 0x89, 0xf9, //0x00001d16 movl %r15d, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x00001d19 cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0xb7, 0xfe, 0xff, 0xff, //0x00001d1f jne LBB0_395 + //0x00001d25 LBB0_412 + 0x48, 0x83, 0xf9, 0x01, //0x00001d25 cmpq $1, %rcx + 0x0f, 0x8e, 0xa1, 0xfe, 0xff, 0xff, //0x00001d29 jle LBB0_393 + 0x4c, 0x8d, 0x79, 0xff, //0x00001d2f leaq $-1(%rcx), %r15 + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x00001d33 cmpb $48, $-2(%r12,%rcx) + 0x4c, 0x89, 0xf9, //0x00001d39 movq %r15, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001d3c je LBB0_412 + 0xe9, 0x95, 0xfe, 0xff, 0xff, //0x00001d42 jmp LBB0_395 + //0x00001d47 LBB0_414 + 0x45, 0x31, 0xff, //0x00001d47 xorl %r15d, %r15d + 0xe9, 0x8d, 0xfe, 0xff, 0xff, //0x00001d4a jmp LBB0_395 + //0x00001d4f LBB0_415 + 0x81, 0xfe, 0x00, 0x04, 0x00, 0x00, //0x00001d4f cmpl $1024, %esi + 0x0f, 0x8e, 0x28, 0x00, 0x00, 0x00, //0x00001d55 jle LBB0_417 + 0x31, 0xf6, //0x00001d5b xorl %esi, %esi + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00001d5d movabsq $9218868437227405312, %r8 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001d67 movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001d71 movabsq $4503599627370495, %r10 + 0x8a, 0x55, 0xd7, //0x00001d7b movb $-41(%rbp), %dl + 0xe9, 0xb7, 0x05, 0x00, 0x00, //0x00001d7e jmp LBB0_506 + //0x00001d83 LBB0_417 + 0xff, 0xce, //0x00001d83 decl %esi + 0x41, 0x89, 0xf0, //0x00001d85 movl %esi, %r8d + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001d88 movabsq $4503599627370495, %r10 + //0x00001d92 LBB0_418 + 0x85, 0xff, //0x00001d92 testl %edi, %edi + 0x0f, 0x84, 0xc2, 0x01, 0x00, 0x00, //0x00001d94 je LBB0_443 + 0x4c, 0x89, 0x45, 0xc8, //0x00001d9a movq %r8, $-56(%rbp) + 0x4d, 0x89, 0xd8, //0x00001d9e movq %r11, %r8 + 0x45, 0x89, 0xfa, //0x00001da1 movl %r15d, %r10d + 0xe9, 0xfa, 0x01, 0x00, 0x00, //0x00001da4 jmp LBB0_448 + //0x00001da9 LBB0_420 + 0x31, 0xc0, //0x00001da9 xorl %eax, %eax + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001dab movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001db5 movabsq $4503599627370495, %r10 + 0xe9, 0xcf, 0x03, 0x00, 0x00, //0x00001dbf jmp LBB0_475 + //0x00001dc4 LBB0_421 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001dc4 movabsq $4503599627370495, %r10 + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00001dce jmp LBB0_423 + //0x00001dd3 LBB0_422 + 0x44, 0x89, 0xff, //0x00001dd3 movl %r15d, %edi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001dd6 movabsq $4503599627370495, %r10 + 0x4d, 0x89, 0xc3, //0x00001de0 movq %r8, %r11 + 0x41, 0xb8, 0x02, 0xfc, 0xff, 0xff, //0x00001de3 movl $-1022, %r8d + 0x85, 0xc9, //0x00001de9 testl %ecx, %ecx + 0x0f, 0x84, 0xa1, 0xff, 0xff, 0xff, //0x00001deb je LBB0_418 + //0x00001df1 LBB0_423 + 0xf7, 0xd9, //0x00001df1 negl %ecx + 0x48, 0x63, 0xf7, //0x00001df3 movslq %edi, %rsi + 0x31, 0xd2, //0x00001df6 xorl %edx, %edx + 0x31, 0xc0, //0x00001df8 xorl %eax, %eax + //0x00001dfa LBB0_424 + 0x48, 0x39, 0xf2, //0x00001dfa cmpq %rsi, %rdx + 0x0f, 0x8d, 0x25, 0x00, 0x00, 0x00, //0x00001dfd jge LBB0_440 + 0x48, 0x8d, 0x04, 0x80, //0x00001e03 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x1c, 0x14, //0x00001e07 movsbq (%r12,%rdx), %rbx + 0x48, 0x8d, 0x44, 0x43, 0xd0, //0x00001e0c leaq $-48(%rbx,%rax,2), %rax + 0x48, 0xff, 0xc2, //0x00001e11 incq %rdx + 0x48, 0x89, 0xc3, //0x00001e14 movq %rax, %rbx + 0x48, 0xd3, 0xeb, //0x00001e17 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00001e1a testq %rbx, %rbx + 0x0f, 0x84, 0xd7, 0xff, 0xff, 0xff, //0x00001e1d je LBB0_424 + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x00001e23 jmp LBB0_426 + //0x00001e28 LBB0_440 + 0x48, 0x85, 0xc0, //0x00001e28 testq %rax, %rax + 0x0f, 0x84, 0x2b, 0x01, 0x00, 0x00, //0x00001e2b je LBB0_443 + 0x48, 0x89, 0xc6, //0x00001e31 movq %rax, %rsi + 0x48, 0xd3, 0xee, //0x00001e34 shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x00001e37 testq %rsi, %rsi + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x00001e3a jne LBB0_426 + //0x00001e40 LBB0_442 + 0x48, 0x01, 0xc0, //0x00001e40 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001e43 leaq (%rax,%rax,4), %rax + 0xff, 0xc2, //0x00001e47 incl %edx + 0x48, 0x89, 0xc6, //0x00001e49 movq %rax, %rsi + 0x48, 0xd3, 0xee, //0x00001e4c shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x00001e4f testq %rsi, %rsi + 0x0f, 0x84, 0xe8, 0xff, 0xff, 0xff, //0x00001e52 je LBB0_442 + //0x00001e58 LBB0_426 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001e58 movq $-1, %rsi + 0x48, 0xd3, 0xe6, //0x00001e5f shlq %cl, %rsi + 0x48, 0xf7, 0xd6, //0x00001e62 notq %rsi + 0x45, 0x31, 0xd2, //0x00001e65 xorl %r10d, %r10d + 0x39, 0xfa, //0x00001e68 cmpl %edi, %edx + 0x0f, 0x8d, 0x3d, 0x00, 0x00, 0x00, //0x00001e6a jge LBB0_429 + 0x4c, 0x63, 0xca, //0x00001e70 movslq %edx, %r9 + 0x4d, 0x63, 0xc7, //0x00001e73 movslq %r15d, %r8 + 0x4b, 0x8d, 0x1c, 0x0c, //0x00001e76 leaq (%r12,%r9), %rbx + 0x45, 0x31, 0xd2, //0x00001e7a xorl %r10d, %r10d + //0x00001e7d LBB0_428 + 0x48, 0x89, 0xc7, //0x00001e7d movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00001e80 shrq %cl, %rdi + 0x48, 0x21, 0xf0, //0x00001e83 andq %rsi, %rax + 0x40, 0x80, 0xc7, 0x30, //0x00001e86 addb $48, %dil + 0x43, 0x88, 0x3c, 0x14, //0x00001e8a movb %dil, (%r12,%r10) + 0x48, 0x8d, 0x04, 0x80, //0x00001e8e leaq (%rax,%rax,4), %rax + 0x4a, 0x0f, 0xbe, 0x3c, 0x13, //0x00001e92 movsbq (%rbx,%r10), %rdi + 0x48, 0x8d, 0x44, 0x47, 0xd0, //0x00001e97 leaq $-48(%rdi,%rax,2), %rax + 0x4b, 0x8d, 0x7c, 0x11, 0x01, //0x00001e9c leaq $1(%r9,%r10), %rdi + 0x49, 0xff, 0xc2, //0x00001ea1 incq %r10 + 0x4c, 0x39, 0xc7, //0x00001ea4 cmpq %r8, %rdi + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00001ea7 jl LBB0_428 + //0x00001ead LBB0_429 + 0x41, 0x29, 0xd3, //0x00001ead subl %edx, %r11d + 0x48, 0x85, 0xc0, //0x00001eb0 testq %rax, %rax + 0x0f, 0x84, 0x53, 0x00, 0x00, 0x00, //0x00001eb3 je LBB0_434 + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001eb9 movl $1, %edx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00001ebe jmp LBB0_432 + //0x00001ec3 LBB0_431 + 0x48, 0x85, 0xff, //0x00001ec3 testq %rdi, %rdi + 0x44, 0x0f, 0x45, 0xf2, //0x00001ec6 cmovnel %edx, %r14d + 0x48, 0x01, 0xc0, //0x00001eca addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001ecd leaq (%rax,%rax,4), %rax + 0x48, 0x85, 0xc0, //0x00001ed1 testq %rax, %rax + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x00001ed4 je LBB0_434 + //0x00001eda LBB0_432 + 0x48, 0x89, 0xc7, //0x00001eda movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00001edd shrq %cl, %rdi + 0x48, 0x21, 0xf0, //0x00001ee0 andq %rsi, %rax + 0x49, 0x63, 0xda, //0x00001ee3 movslq %r10d, %rbx + 0x49, 0x39, 0xdd, //0x00001ee6 cmpq %rbx, %r13 + 0x0f, 0x86, 0xd4, 0xff, 0xff, 0xff, //0x00001ee9 jbe LBB0_431 + 0x40, 0x80, 0xc7, 0x30, //0x00001eef addb $48, %dil + 0x41, 0x88, 0x3c, 0x1c, //0x00001ef3 movb %dil, (%r12,%rbx) + 0xff, 0xc3, //0x00001ef7 incl %ebx + 0x41, 0x89, 0xda, //0x00001ef9 movl %ebx, %r10d + 0x48, 0x01, 0xc0, //0x00001efc addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001eff leaq (%rax,%rax,4), %rax + 0x48, 0x85, 0xc0, //0x00001f03 testq %rax, %rax + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x00001f06 jne LBB0_432 + //0x00001f0c LBB0_434 + 0x41, 0xff, 0xc3, //0x00001f0c incl %r11d + 0x45, 0x85, 0xd2, //0x00001f0f testl %r10d, %r10d + 0x0f, 0x8e, 0x6d, 0x00, 0x00, 0x00, //0x00001f12 jle LBB0_446 + 0x44, 0x89, 0xd0, //0x00001f18 movl %r10d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001f1b cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x6d, 0x00, 0x00, 0x00, //0x00001f21 jne LBB0_447 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001f27 movabsq $4503599627370495, %r10 + //0x00001f31 LBB0_437 + 0x48, 0x83, 0xf8, 0x01, //0x00001f31 cmpq $1, %rax + 0x0f, 0x8e, 0x45, 0x00, 0x00, 0x00, //0x00001f35 jle LBB0_445 + 0x4c, 0x8d, 0x78, 0xff, //0x00001f3b leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001f3f cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00001f45 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001f48 je LBB0_437 + 0x41, 0xb8, 0x02, 0xfc, 0xff, 0xff, //0x00001f4e movl $-1022, %r8d + 0x44, 0x89, 0xff, //0x00001f54 movl %r15d, %edi + 0xe9, 0x36, 0xfe, 0xff, 0xff, //0x00001f57 jmp LBB0_418 + //0x00001f5c LBB0_443 + 0x31, 0xc0, //0x00001f5c xorl %eax, %eax + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001f5e movabsq $-9223372036854775808, %rdi + 0xe9, 0x26, 0x02, 0x00, 0x00, //0x00001f68 jmp LBB0_475 + //0x00001f6d LBB0_444 + 0x01, 0xc7, //0x00001f6d addl %eax, %edi + 0x45, 0x31, 0xdb, //0x00001f6f xorl %r11d, %r11d + 0x45, 0x31, 0xff, //0x00001f72 xorl %r15d, %r15d + 0x89, 0xf8, //0x00001f75 movl %edi, %eax + 0x31, 0xff, //0x00001f77 xorl %edi, %edi + 0x89, 0xc6, //0x00001f79 movl %eax, %esi + 0xe9, 0x1f, 0xf4, 0xff, 0xff, //0x00001f7b jmp LBB0_271 + //0x00001f80 LBB0_445 + 0xff, 0xc8, //0x00001f80 decl %eax + 0x41, 0x89, 0xc2, //0x00001f82 movl %eax, %r10d + //0x00001f85 LBB0_446 + 0x41, 0xb8, 0x02, 0xfc, 0xff, 0xff, //0x00001f85 movl $-1022, %r8d + 0x45, 0x85, 0xd2, //0x00001f8b testl %r10d, %r10d + 0x0f, 0x84, 0x1d, 0x03, 0x00, 0x00, //0x00001f8e je LBB0_499 + //0x00001f94 LBB0_447 + 0xb8, 0x02, 0xfc, 0xff, 0xff, //0x00001f94 movl $-1022, %eax + 0x48, 0x89, 0x45, 0xc8, //0x00001f99 movq %rax, $-56(%rbp) + 0x4d, 0x89, 0xd8, //0x00001f9d movq %r11, %r8 + 0x44, 0x89, 0xd7, //0x00001fa0 movl %r10d, %edi + //0x00001fa3 LBB0_448 + 0x4c, 0x63, 0xdf, //0x00001fa3 movslq %edi, %r11 + 0xb1, 0x31, //0x00001fa6 movb $49, %cl + 0x31, 0xc0, //0x00001fa8 xorl %eax, %eax + 0x41, 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00001faa movl $16, %r9d + //0x00001fb0 LBB0_449 + 0x48, 0x83, 0xf8, 0x26, //0x00001fb0 cmpq $38, %rax + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00001fb4 je LBB0_454 + 0x41, 0x38, 0x0c, 0x04, //0x00001fba cmpb %cl, (%r12,%rax) + 0x0f, 0x85, 0xd7, 0x00, 0x00, 0x00, //0x00001fbe jne LBB0_463 + 0x48, 0x8d, 0x0d, 0x45, 0x30, 0x00, 0x00, //0x00001fc4 leaq $12357(%rip), %rcx /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0xb6, 0x8c, 0x08, 0x8d, 0x15, 0x00, 0x00, //0x00001fcb movzbl $5517(%rax,%rcx), %ecx + 0x48, 0xff, 0xc0, //0x00001fd3 incq %rax + 0x49, 0x39, 0xc3, //0x00001fd6 cmpq %rax, %r11 + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x00001fd9 jne LBB0_449 + 0x84, 0xc9, //0x00001fdf testb %cl, %cl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00001fe1 je LBB0_454 + //0x00001fe7 LBB0_453 + 0x41, 0xb9, 0x0f, 0x00, 0x00, 0x00, //0x00001fe7 movl $15, %r9d + //0x00001fed LBB0_454 + 0x85, 0xff, //0x00001fed testl %edi, %edi + 0x0f, 0x8e, 0x9a, 0x00, 0x00, 0x00, //0x00001fef jle LBB0_462 + 0x44, 0x01, 0xcf, //0x00001ff5 addl %r9d, %edi + 0x48, 0x63, 0xf7, //0x00001ff8 movslq %edi, %rsi + 0x48, 0xff, 0xce, //0x00001ffb decq %rsi + 0x49, 0xff, 0xc3, //0x00001ffe incq %r11 + 0x31, 0xc9, //0x00002001 xorl %ecx, %ecx + 0x49, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00002003 movabsq $-432345564227567616, %r15 + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x0000200d jmp LBB0_458 + //0x00002012 LBB0_456 + 0x48, 0x85, 0xc0, //0x00002012 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00002015 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x0000201a cmovnel %eax, %r14d + //0x0000201e LBB0_457 + 0xff, 0xcf, //0x0000201e decl %edi + 0x48, 0xff, 0xce, //0x00002020 decq %rsi + 0x49, 0xff, 0xcb, //0x00002023 decq %r11 + 0x49, 0x83, 0xfb, 0x01, //0x00002026 cmpq $1, %r11 + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x0000202a jle LBB0_460 + //0x00002030 LBB0_458 + 0x4b, 0x0f, 0xbe, 0x5c, 0x1c, 0xfe, //0x00002030 movsbq $-2(%r12,%r11), %rbx + 0x48, 0xc1, 0xe3, 0x35, //0x00002036 shlq $53, %rbx + 0x48, 0x01, 0xcb, //0x0000203a addq %rcx, %rbx + 0x4c, 0x01, 0xfb, //0x0000203d addq %r15, %rbx + 0x48, 0x89, 0xd8, //0x00002040 movq %rbx, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002043 movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x0000204d mulq %rcx + 0x48, 0x89, 0xd1, //0x00002050 movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x00002053 shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00002057 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x0000205b leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x0000205f movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x00002062 subq %rdx, %rax + 0x4c, 0x39, 0xee, //0x00002065 cmpq %r13, %rsi + 0x0f, 0x83, 0xa4, 0xff, 0xff, 0xff, //0x00002068 jae LBB0_456 + 0x04, 0x30, //0x0000206e addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00002070 movb %al, (%r12,%rsi) + 0xe9, 0xa5, 0xff, 0xff, 0xff, //0x00002074 jmp LBB0_457 + //0x00002079 LBB0_460 + 0x48, 0x83, 0xfb, 0x0a, //0x00002079 cmpq $10, %rbx + 0x4d, 0x89, 0xc3, //0x0000207d movq %r8, %r11 + 0x0f, 0x83, 0x20, 0x00, 0x00, 0x00, //0x00002080 jae LBB0_464 + 0x4c, 0x8b, 0x45, 0xc8, //0x00002086 movq $-56(%rbp), %r8 + 0xe9, 0x83, 0x00, 0x00, 0x00, //0x0000208a jmp LBB0_468 + //0x0000208f LBB0_462 + 0x4d, 0x89, 0xc3, //0x0000208f movq %r8, %r11 + 0x4c, 0x8b, 0x45, 0xc8, //0x00002092 movq $-56(%rbp), %r8 + 0xe9, 0x77, 0x00, 0x00, 0x00, //0x00002096 jmp LBB0_468 + //0x0000209b LBB0_463 + 0x0f, 0x8c, 0x46, 0xff, 0xff, 0xff, //0x0000209b jl LBB0_453 + 0xe9, 0x47, 0xff, 0xff, 0xff, //0x000020a1 jmp LBB0_454 + //0x000020a6 LBB0_464 + 0x48, 0x63, 0xf7, //0x000020a6 movslq %edi, %rsi + 0x48, 0xff, 0xce, //0x000020a9 decq %rsi + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x000020ac movl $1, %edi + 0x4c, 0x8b, 0x45, 0xc8, //0x000020b1 movq $-56(%rbp), %r8 + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x000020b5 jmp LBB0_466 + //0x000020ba LBB0_465 + 0x48, 0x85, 0xc0, //0x000020ba testq %rax, %rax + 0x44, 0x0f, 0x45, 0xf7, //0x000020bd cmovnel %edi, %r14d + 0x48, 0xff, 0xce, //0x000020c1 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x000020c4 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x000020c8 movq %rdx, %rcx + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x000020cb jbe LBB0_468 + //0x000020d1 LBB0_466 + 0x48, 0x89, 0xc8, //0x000020d1 movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000020d4 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x000020de mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x000020e1 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x000020e5 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x1c, 0x80, //0x000020e9 leaq (%rax,%rax,4), %rbx + 0x48, 0x89, 0xc8, //0x000020ed movq %rcx, %rax + 0x48, 0x29, 0xd8, //0x000020f0 subq %rbx, %rax + 0x4c, 0x39, 0xee, //0x000020f3 cmpq %r13, %rsi + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x000020f6 jae LBB0_465 + 0x04, 0x30, //0x000020fc addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x000020fe movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x00002102 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00002105 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00002109 movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x0000210c ja LBB0_466 + //0x00002112 LBB0_468 + 0x45, 0x01, 0xca, //0x00002112 addl %r9d, %r10d + 0x49, 0x63, 0xc2, //0x00002115 movslq %r10d, %rax + 0x49, 0x39, 0xc5, //0x00002118 cmpq %rax, %r13 + 0x41, 0x0f, 0x46, 0xc5, //0x0000211b cmovbel %r13d, %eax + 0x45, 0x01, 0xcb, //0x0000211f addl %r9d, %r11d + 0x85, 0xc0, //0x00002122 testl %eax, %eax + 0x0f, 0x8e, 0x44, 0x00, 0x00, 0x00, //0x00002124 jle LBB0_472 + 0x89, 0xc1, //0x0000212a movl %eax, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x0000212c cmpb $48, $-1(%rcx,%r12) + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00002132 movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x0000213c movabsq $4503599627370495, %r10 + 0x0f, 0x85, 0x47, 0x00, 0x00, 0x00, //0x00002146 jne LBB0_475 + //0x0000214c LBB0_470 + 0x48, 0x83, 0xf9, 0x01, //0x0000214c cmpq $1, %rcx + 0x0f, 0x8e, 0x31, 0x00, 0x00, 0x00, //0x00002150 jle LBB0_473 + 0x48, 0x8d, 0x41, 0xff, //0x00002156 leaq $-1(%rcx), %rax + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x0000215a cmpb $48, $-2(%r12,%rcx) + 0x48, 0x89, 0xc1, //0x00002160 movq %rax, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002163 je LBB0_470 + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00002169 jmp LBB0_475 + //0x0000216e LBB0_472 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x0000216e movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002178 movabsq $4503599627370495, %r10 + 0xe9, 0x04, 0x00, 0x00, 0x00, //0x00002182 jmp LBB0_474 + //0x00002187 LBB0_473 + 0xff, 0xc9, //0x00002187 decl %ecx + 0x89, 0xc8, //0x00002189 movl %ecx, %eax + //0x0000218b LBB0_474 + 0x85, 0xc0, //0x0000218b testl %eax, %eax + 0x0f, 0x84, 0x15, 0x01, 0x00, 0x00, //0x0000218d je LBB0_498 + //0x00002193 LBB0_475 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00002193 movq $-1, %rsi + 0x41, 0x83, 0xfb, 0x14, //0x0000219a cmpl $20, %r11d + 0x0f, 0x8e, 0x08, 0x00, 0x00, 0x00, //0x0000219e jle LBB0_477 + 0x8a, 0x55, 0xd7, //0x000021a4 movb $-41(%rbp), %dl + 0xe9, 0x6e, 0x01, 0x00, 0x00, //0x000021a7 jmp LBB0_505 + //0x000021ac LBB0_477 + 0x44, 0x89, 0xda, //0x000021ac movl %r11d, %edx + 0x45, 0x85, 0xdb, //0x000021af testl %r11d, %r11d + 0x0f, 0x8e, 0x32, 0x00, 0x00, 0x00, //0x000021b2 jle LBB0_482 + 0x48, 0x63, 0xf0, //0x000021b8 movslq %eax, %rsi + 0x31, 0xff, //0x000021bb xorl %edi, %edi + 0x31, 0xc9, //0x000021bd xorl %ecx, %ecx + //0x000021bf LBB0_479 + 0x48, 0x39, 0xf7, //0x000021bf cmpq %rsi, %rdi + 0x0f, 0x8d, 0x1a, 0x00, 0x00, 0x00, //0x000021c2 jge LBB0_481 + 0x48, 0x8d, 0x0c, 0x89, //0x000021c8 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x1c, 0x3c, //0x000021cc movsbq (%r12,%rdi), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x000021d1 leaq $-48(%rbx,%rcx,2), %rcx + 0x48, 0xff, 0xc7, //0x000021d6 incq %rdi + 0x48, 0x39, 0xfa, //0x000021d9 cmpq %rdi, %rdx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x000021dc jne LBB0_479 + //0x000021e2 LBB0_481 + 0x45, 0x31, 0xc9, //0x000021e2 xorl %r9d, %r9d + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x000021e5 jmp LBB0_483 + //0x000021ea LBB0_482 + 0x31, 0xff, //0x000021ea xorl %edi, %edi + 0x41, 0xb1, 0x01, //0x000021ec movb $1, %r9b + 0x31, 0xc9, //0x000021ef xorl %ecx, %ecx + //0x000021f1 LBB0_483 + 0x44, 0x89, 0xde, //0x000021f1 movl %r11d, %esi + 0x29, 0xfe, //0x000021f4 subl %edi, %esi + 0x0f, 0x8e, 0x52, 0x00, 0x00, 0x00, //0x000021f6 jle LBB0_491 + 0x41, 0x89, 0xfa, //0x000021fc movl %edi, %r10d + 0x41, 0xf7, 0xd2, //0x000021ff notl %r10d + 0x45, 0x01, 0xda, //0x00002202 addl %r11d, %r10d + 0x83, 0xe6, 0x07, //0x00002205 andl $7, %esi + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00002208 je LBB0_488 + 0xf7, 0xde, //0x0000220e negl %esi + 0x31, 0xdb, //0x00002210 xorl %ebx, %ebx + //0x00002212 LBB0_486 + 0x48, 0x01, 0xc9, //0x00002212 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00002215 leaq (%rcx,%rcx,4), %rcx + 0xff, 0xcb, //0x00002219 decl %ebx + 0x39, 0xde, //0x0000221b cmpl %ebx, %esi + 0x0f, 0x85, 0xef, 0xff, 0xff, 0xff, //0x0000221d jne LBB0_486 + 0x29, 0xdf, //0x00002223 subl %ebx, %edi + //0x00002225 LBB0_488 + 0x41, 0x83, 0xfa, 0x07, //0x00002225 cmpl $7, %r10d + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002229 movabsq $4503599627370495, %r10 + 0x0f, 0x82, 0x15, 0x00, 0x00, 0x00, //0x00002233 jb LBB0_491 + 0x44, 0x89, 0xde, //0x00002239 movl %r11d, %esi + 0x29, 0xfe, //0x0000223c subl %edi, %esi + //0x0000223e LBB0_490 + 0x48, 0x69, 0xc9, 0x00, 0xe1, 0xf5, 0x05, //0x0000223e imulq $100000000, %rcx, %rcx + 0x83, 0xc6, 0xf8, //0x00002245 addl $-8, %esi + 0x0f, 0x85, 0xf0, 0xff, 0xff, 0xff, //0x00002248 jne LBB0_490 + //0x0000224e LBB0_491 + 0x31, 0xff, //0x0000224e xorl %edi, %edi + 0x45, 0x85, 0xdb, //0x00002250 testl %r11d, %r11d + 0x0f, 0x88, 0x66, 0x00, 0x00, 0x00, //0x00002253 js LBB0_500 + 0x44, 0x39, 0xd8, //0x00002259 cmpl %r11d, %eax + 0x0f, 0x8e, 0x5d, 0x00, 0x00, 0x00, //0x0000225c jle LBB0_500 + 0x41, 0x8a, 0x14, 0x14, //0x00002262 movb (%r12,%rdx), %dl + 0x41, 0x8d, 0x73, 0x01, //0x00002266 leal $1(%r11), %esi + 0x39, 0xc6, //0x0000226a cmpl %eax, %esi + 0x0f, 0x85, 0x2a, 0x00, 0x00, 0x00, //0x0000226c jne LBB0_497 + 0x80, 0xfa, 0x35, //0x00002272 cmpb $53, %dl + 0x0f, 0x85, 0x21, 0x00, 0x00, 0x00, //0x00002275 jne LBB0_497 + 0x45, 0x85, 0xf6, //0x0000227b testl %r14d, %r14d + 0x40, 0x0f, 0x95, 0xc7, //0x0000227e setne %dil + 0x41, 0x08, 0xf9, //0x00002282 orb %dil, %r9b + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x00002285 jne LBB0_500 + 0x49, 0x63, 0xc3, //0x0000228b movslq %r11d, %rax + 0x42, 0x8a, 0x7c, 0x20, 0xff, //0x0000228e movb $-1(%rax,%r12), %dil + 0x40, 0x80, 0xe7, 0x01, //0x00002293 andb $1, %dil + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00002297 jmp LBB0_500 + //0x0000229c LBB0_497 + 0x80, 0xfa, 0x34, //0x0000229c cmpb $52, %dl + 0x40, 0x0f, 0x9f, 0xc7, //0x0000229f setg %dil + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x000022a3 jmp LBB0_500 + //0x000022a8 LBB0_498 + 0x31, 0xc9, //0x000022a8 xorl %ecx, %ecx + 0x31, 0xff, //0x000022aa xorl %edi, %edi + 0xe9, 0x0e, 0x00, 0x00, 0x00, //0x000022ac jmp LBB0_500 + //0x000022b1 LBB0_499 + 0x31, 0xc9, //0x000022b1 xorl %ecx, %ecx + 0x31, 0xff, //0x000022b3 xorl %edi, %edi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000022b5 movabsq $4503599627370495, %r10 + //0x000022bf LBB0_500 + 0x8a, 0x55, 0xd7, //0x000022bf movb $-41(%rbp), %dl + 0x40, 0x0f, 0xb6, 0xf7, //0x000022c2 movzbl %dil, %esi + 0x48, 0x01, 0xce, //0x000022c6 addq %rcx, %rsi + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, //0x000022c9 movabsq $9007199254740992, %rax + 0x48, 0x39, 0xc6, //0x000022d3 cmpq %rax, %rsi + 0x0f, 0x85, 0x28, 0x00, 0x00, 0x00, //0x000022d6 jne LBB0_503 + 0x41, 0x81, 0xf8, 0xfe, 0x03, 0x00, 0x00, //0x000022dc cmpl $1022, %r8d + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x000022e3 movabsq $-9223372036854775808, %rdi + 0x0f, 0x8e, 0x20, 0x00, 0x00, 0x00, //0x000022ed jle LBB0_504 + 0x31, 0xf6, //0x000022f3 xorl %esi, %esi + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x000022f5 movabsq $9218868437227405312, %r8 + 0xe9, 0x36, 0x00, 0x00, 0x00, //0x000022ff jmp LBB0_506 + //0x00002304 LBB0_503 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00002304 movabsq $-9223372036854775808, %rdi + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x0000230e jmp LBB0_505 + //0x00002313 LBB0_504 + 0x41, 0xff, 0xc0, //0x00002313 incl %r8d + 0x49, 0x8d, 0x72, 0x01, //0x00002316 leaq $1(%r10), %rsi + //0x0000231a LBB0_505 + 0x49, 0x8d, 0x42, 0x01, //0x0000231a leaq $1(%r10), %rax + 0x48, 0x21, 0xf0, //0x0000231e andq %rsi, %rax + 0x41, 0x81, 0xc0, 0xff, 0x03, 0x00, 0x00, //0x00002321 addl $1023, %r8d + 0x41, 0x81, 0xe0, 0xff, 0x07, 0x00, 0x00, //0x00002328 andl $2047, %r8d + 0x49, 0xc1, 0xe0, 0x34, //0x0000232f shlq $52, %r8 + 0x48, 0x85, 0xc0, //0x00002333 testq %rax, %rax + 0x4c, 0x0f, 0x44, 0xc0, //0x00002336 cmoveq %rax, %r8 + //0x0000233a LBB0_506 + 0x4c, 0x21, 0xd6, //0x0000233a andq %r10, %rsi + 0x4c, 0x09, 0xc6, //0x0000233d orq %r8, %rsi + 0x48, 0x89, 0xf3, //0x00002340 movq %rsi, %rbx + 0x48, 0x09, 0xfb, //0x00002343 orq %rdi, %rbx + 0x80, 0xfa, 0x2d, //0x00002346 cmpb $45, %dl + 0x48, 0x0f, 0x45, 0xde, //0x00002349 cmovneq %rsi, %rbx + //0x0000234d LBB0_507 + 0x48, 0xff, 0xcf, //0x0000234d decq %rdi + 0x48, 0x21, 0xdf, //0x00002350 andq %rbx, %rdi + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00002353 movabsq $9218868437227405312, %rax + 0x48, 0x39, 0xc7, //0x0000235d cmpq %rax, %rdi + 0x48, 0x8b, 0x45, 0x98, //0x00002360 movq $-104(%rbp), %rax + 0x0f, 0x85, 0x07, 0x00, 0x00, 0x00, //0x00002364 jne LBB0_509 + 0x48, 0xc7, 0x00, 0xf8, 0xff, 0xff, 0xff, //0x0000236a movq $-8, (%rax) + //0x00002371 LBB0_509 + 0x48, 0x89, 0x58, 0x08, //0x00002371 movq %rbx, $8(%rax) + 0x48, 0x8b, 0x45, 0xa0, //0x00002375 movq $-96(%rbp), %rax + 0x48, 0x8b, 0x4d, 0xa8, //0x00002379 movq $-88(%rbp), %rcx + 0x48, 0x89, 0x08, //0x0000237d movq %rcx, (%rax) + 0xe9, 0x9a, 0xdf, 0xff, 0xff, //0x00002380 jmp LBB0_51 + 0x00, 0x00, 0x00, //0x00002385 .p2align 2, 0x00 + //0x00002388 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00002388 .long 2 + 0x00, 0x00, 0x00, 0x00, //0x0000238c .p2align 4, 0x00 + //0x00002390 _P10_TAB + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, //0x00002390 .quad 4607182418800017408 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, //0x00002398 .quad 4621819117588971520 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, //0x000023a0 .quad 4636737291354636288 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8f, 0x40, //0x000023a8 .quad 4652007308841189376 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xc3, 0x40, //0x000023b0 .quad 4666723172467343360 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0xf8, 0x40, //0x000023b8 .quad 4681608360884174848 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x84, 0x2e, 0x41, //0x000023c0 .quad 4696837146684686336 + 0x00, 0x00, 0x00, 0x00, 0xd0, 0x12, 0x63, 0x41, //0x000023c8 .quad 4711630319722168320 + 0x00, 0x00, 0x00, 0x00, 0x84, 0xd7, 0x97, 0x41, //0x000023d0 .quad 4726483295884279808 + 0x00, 0x00, 0x00, 0x00, 0x65, 0xcd, 0xcd, 0x41, //0x000023d8 .quad 4741671816366391296 + 0x00, 0x00, 0x00, 0x20, 0x5f, 0xa0, 0x02, 0x42, //0x000023e0 .quad 4756540486875873280 + 0x00, 0x00, 0x00, 0xe8, 0x76, 0x48, 0x37, 0x42, //0x000023e8 .quad 4771362005757984768 + 0x00, 0x00, 0x00, 0xa2, 0x94, 0x1a, 0x6d, 0x42, //0x000023f0 .quad 4786511204640096256 + 0x00, 0x00, 0x40, 0xe5, 0x9c, 0x30, 0xa2, 0x42, //0x000023f8 .quad 4801453603149578240 + 0x00, 0x00, 0x90, 0x1e, 0xc4, 0xbc, 0xd6, 0x42, //0x00002400 .quad 4816244402031689728 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0x43, //0x00002408 .quad 4831355200913801216 + 0x00, 0x80, 0xe0, 0x37, 0x79, 0xc3, 0x41, 0x43, //0x00002410 .quad 4846369599423283200 + 0x00, 0xa0, 0xd8, 0x85, 0x57, 0x34, 0x76, 0x43, //0x00002418 .quad 4861130398305394688 + 0x00, 0xc8, 0x4e, 0x67, 0x6d, 0xc1, 0xab, 0x43, //0x00002420 .quad 4876203697187506176 + 0x00, 0x3d, 0x91, 0x60, 0xe4, 0x58, 0xe1, 0x43, //0x00002428 .quad 4891288408196988160 + 0x40, 0x8c, 0xb5, 0x78, 0x1d, 0xaf, 0x15, 0x44, //0x00002430 .quad 4906019910204099648 + 0x50, 0xef, 0xe2, 0xd6, 0xe4, 0x1a, 0x4b, 0x44, //0x00002438 .quad 4921056587992461136 + 0x92, 0xd5, 0x4d, 0x06, 0xcf, 0xf0, 0x80, 0x44, //0x00002440 .quad 4936209963552724370 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002448 .p2align 4, 0x00 + //0x00002450 _POW10_M128_TAB + 0x53, 0xe4, 0x60, 0xcd, 0x69, 0xc8, 0x32, 0x17, //0x00002450 .quad 1671618768450675795 + 0x88, 0x02, 0x1c, 0x08, 0xa0, 0xd5, 0x8f, 0xfa, //0x00002458 .quad -391859759250406776 + 0xb4, 0x8e, 0x5c, 0x20, 0x42, 0xbd, 0x7f, 0x0e, //0x00002460 .quad 1044761730281672372 + 0x95, 0x81, 0x11, 0x05, 0x84, 0xe5, 0x99, 0x9c, //0x00002468 .quad -7162441377172586091 + 0x61, 0xb2, 0x73, 0xa8, 0x92, 0xac, 0x1f, 0x52, //0x00002470 .quad 5917638181279478369 + 0xfa, 0xe1, 0x55, 0x06, 0xe5, 0x5e, 0xc0, 0xc3, //0x00002478 .quad -4341365703038344710 + 0xf9, 0x9e, 0x90, 0x52, 0xb7, 0x97, 0xa7, 0xe6, //0x00002480 .quad -1826324310255427847 + 0x78, 0x5a, 0xeb, 0x47, 0x9e, 0x76, 0xb0, 0xf4, //0x00002488 .quad -815021110370542984 + 0x5c, 0x63, 0x9a, 0x93, 0xd2, 0xbe, 0x28, 0x90, //0x00002490 .quad -8058981721550724260 + 0x8b, 0x18, 0xf3, 0xec, 0x22, 0x4a, 0xee, 0x98, //0x00002498 .quad -7426917221622671221 + 0x33, 0xfc, 0x80, 0x38, 0x87, 0xee, 0x32, 0x74, //0x000024a0 .quad 8373016921771146291 + 0xae, 0xde, 0x2f, 0xa8, 0xab, 0xdc, 0x29, 0xbf, //0x000024a8 .quad -4671960508600951122 + 0x3f, 0x3b, 0xa1, 0x06, 0x29, 0xaa, 0x3f, 0x11, //0x000024b0 .quad 1242899115359157055 + 0x5a, 0xd6, 0x3b, 0x92, 0xd6, 0x53, 0xf4, 0xee, //0x000024b8 .quad -1228264617323800998 + 0x07, 0xc5, 0x24, 0xa4, 0x59, 0xca, 0xc7, 0x4a, //0x000024c0 .quad 5388497965526861063 + 0xf8, 0x65, 0x65, 0x1b, 0x66, 0xb4, 0x58, 0x95, //0x000024c8 .quad -7685194413468457480 + 0x49, 0xf6, 0x2d, 0x0d, 0xf0, 0xbc, 0x79, 0x5d, //0x000024d0 .quad 6735622456908576329 + 0x76, 0xbf, 0x3e, 0xa2, 0x7f, 0xe1, 0xae, 0xba, //0x000024d8 .quad -4994806998408183946 + 0xdc, 0x73, 0x79, 0x10, 0x2c, 0x2c, 0xd8, 0xf4, //0x000024e0 .quad -803843965719055396 + 0x53, 0x6f, 0xce, 0x8a, 0xdf, 0x99, 0x5a, 0xe9, //0x000024e8 .quad -1631822729582842029 + 0x69, 0xe8, 0x4b, 0x8a, 0x9b, 0x1b, 0x07, 0x79, //0x000024f0 .quad 8720969558280366185 + 0x94, 0x05, 0xc1, 0xb6, 0x2b, 0xa0, 0xd8, 0x91, //0x000024f8 .quad -7937418233630358124 + 0x84, 0xe2, 0xde, 0x6c, 0x82, 0xe2, 0x48, 0x97, //0x00002500 .quad -7545532125859093884 + 0xf9, 0x46, 0x71, 0xa4, 0x36, 0xc8, 0x4e, 0xb6, //0x00002508 .quad -5310086773610559751 + 0x25, 0x9b, 0x16, 0x08, 0x23, 0x1b, 0x1b, 0xfd, //0x00002510 .quad -208543120469091547 + 0xb7, 0x98, 0x8d, 0x4d, 0x44, 0x7a, 0xe2, 0xe3, //0x00002518 .quad -2025922448585811785 + 0xf7, 0x20, 0x0e, 0xe5, 0xf5, 0xf0, 0x30, 0xfe, //0x00002520 .quad -130339450293182217 + 0x72, 0x7f, 0x78, 0xb0, 0x6a, 0x8c, 0x6d, 0x8e, //0x00002528 .quad -8183730558007214222 + 0x35, 0xa9, 0x51, 0x5e, 0x33, 0x2d, 0xbd, 0xbd, //0x00002530 .quad -4774610331293865675 + 0x4f, 0x9f, 0x96, 0x5c, 0x85, 0xef, 0x08, 0xb2, //0x00002538 .quad -5617977179081629873 + 0x82, 0x13, 0xe6, 0x35, 0x80, 0x78, 0x2c, 0xad, //0x00002540 .quad -5968262914117332094 + 0x23, 0x47, 0xbc, 0xb3, 0x66, 0x2b, 0x8b, 0xde, //0x00002548 .quad -2410785455424649437 + 0x31, 0xcc, 0xaf, 0x21, 0x50, 0xcb, 0x3b, 0x4c, //0x00002550 .quad 5493207715531443249 + 0x76, 0xac, 0x55, 0x30, 0x20, 0xfb, 0x16, 0x8b, //0x00002558 .quad -8424269937281487754 + 0x3d, 0xbf, 0x1b, 0x2a, 0x24, 0xbe, 0x4a, 0xdf, //0x00002560 .quad -2356862392440471747 + 0x93, 0x17, 0x6b, 0x3c, 0xe8, 0xb9, 0xdc, 0xad, //0x00002568 .quad -5918651403174471789 + 0x0d, 0xaf, 0xa2, 0x34, 0xad, 0x6d, 0x1d, 0xd7, //0x00002570 .quad -2946077990550589683 + 0x78, 0xdd, 0x85, 0x4b, 0x62, 0xe8, 0x53, 0xd9, //0x00002578 .quad -2786628235540701832 + 0x68, 0xad, 0xe5, 0x40, 0x8c, 0x64, 0x72, 0x86, //0x00002580 .quad -8758827771735200408 + 0x6b, 0xaa, 0x33, 0x6f, 0x3d, 0x71, 0xd4, 0x87, //0x00002588 .quad -8659171674854020501 + 0xc2, 0x18, 0x1f, 0x51, 0xaf, 0xfd, 0x0e, 0x68, //0x00002590 .quad 7498209359040551106 + 0x06, 0x95, 0x00, 0xcb, 0x8c, 0x8d, 0xc9, 0xa9, //0x00002598 .quad -6212278575140137722 + 0xf2, 0xde, 0x66, 0x25, 0x1b, 0xbd, 0x12, 0x02, //0x000025a0 .quad 149389661945913074 + 0x48, 0xba, 0xc0, 0xfd, 0xef, 0xf0, 0x3b, 0xd4, //0x000025a8 .quad -3153662200497784248 + 0x57, 0x4b, 0x60, 0xf7, 0x30, 0xb6, 0x4b, 0x01, //0x000025b0 .quad 93368538716195671 + 0x6d, 0x74, 0x98, 0xfe, 0x95, 0x76, 0xa5, 0x84, //0x000025b8 .quad -8888567902952197011 + 0x2d, 0x5e, 0x38, 0x35, 0xbd, 0xa3, 0x9e, 0x41, //0x000025c0 .quad 4728396691822632493 + 0x88, 0x91, 0x3e, 0x7e, 0x3b, 0xd4, 0xce, 0xa5, //0x000025c8 .quad -6499023860262858360 + 0xb9, 0x75, 0x86, 0x82, 0xac, 0x4c, 0x06, 0x52, //0x000025d0 .quad 5910495864778290617 + 0xea, 0x35, 0xce, 0x5d, 0x4a, 0x89, 0x42, 0xcf, //0x000025d8 .quad -3512093806901185046 + 0x93, 0x09, 0x94, 0xd1, 0xeb, 0xef, 0x43, 0x73, //0x000025e0 .quad 8305745933913819539 + 0xb2, 0xe1, 0xa0, 0x7a, 0xce, 0x95, 0x89, 0x81, //0x000025e8 .quad -9112587656954322510 + 0xf8, 0x0b, 0xf9, 0xc5, 0xe6, 0xeb, 0x14, 0x10, //0x000025f0 .quad 1158810380537498616 + 0x1f, 0x1a, 0x49, 0x19, 0x42, 0xfb, 0xeb, 0xa1, //0x000025f8 .quad -6779048552765515233 + 0xf6, 0x4e, 0x77, 0x77, 0xe0, 0x26, 0x1a, 0xd4, //0x00002600 .quad -3163173042755514634 + 0xa6, 0x60, 0x9b, 0x9f, 0x12, 0xfa, 0x66, 0xca, //0x00002608 .quad -3862124672529506138 + 0xb4, 0x22, 0x55, 0x95, 0x98, 0xb0, 0x20, 0x89, //0x00002610 .quad -8565652321871781196 + 0xd0, 0x38, 0x82, 0x47, 0x97, 0xb8, 0x00, 0xfd, //0x00002618 .quad -215969822234494768 + 0xb0, 0x35, 0x55, 0x5d, 0x5f, 0x6e, 0xb4, 0x55, //0x00002620 .quad 6175682344898606512 + 0x82, 0x63, 0xb1, 0x8c, 0x5e, 0x73, 0x20, 0x9e, //0x00002628 .quad -7052510166537641086 + 0x1d, 0x83, 0xaa, 0x34, 0xf7, 0x89, 0x21, 0xeb, //0x00002630 .quad -1503769105731517667 + 0x62, 0xbc, 0xdd, 0x2f, 0x36, 0x90, 0xa8, 0xc5, //0x00002638 .quad -4203951689744663454 + 0xe4, 0x23, 0xd5, 0x01, 0x75, 0xec, 0xe9, 0xa5, //0x00002640 .quad -6491397400591784988 + 0x7b, 0x2b, 0xd5, 0xbb, 0x43, 0xb4, 0x12, 0xf7, //0x00002648 .quad -643253593753441413 + 0x6e, 0x36, 0x25, 0x21, 0xc9, 0x33, 0xb2, 0x47, //0x00002650 .quad 5166248661484910190 + 0x2d, 0x3b, 0x65, 0x55, 0xaa, 0xb0, 0x6b, 0x9a, //0x00002658 .quad -7319562523736982739 + 0x0a, 0x84, 0x6e, 0x69, 0xbb, 0xc0, 0x9e, 0x99, //0x00002660 .quad -7377247228426025974 + 0xf8, 0x89, 0xbe, 0xea, 0xd4, 0x9c, 0x06, 0xc1, //0x00002668 .quad -4537767136243840520 + 0x0d, 0x25, 0xca, 0x43, 0xea, 0x70, 0x06, 0xc0, //0x00002670 .quad -4609873017105144563 + 0x76, 0x2c, 0x6e, 0x25, 0x0a, 0x44, 0x48, 0xf1, //0x00002678 .quad -1060522901877412746 + 0x28, 0x57, 0x5e, 0x6a, 0x92, 0x06, 0x04, 0x38, //0x00002680 .quad 4036358391950366504 + 0xca, 0xdb, 0x64, 0x57, 0x86, 0x2a, 0xcd, 0x96, //0x00002688 .quad -7580355841314464822 + 0xf2, 0xec, 0xf5, 0x04, 0x37, 0x08, 0x05, 0xc6, //0x00002690 .quad -4177924046916817678 + 0xbc, 0x12, 0x3e, 0xed, 0x27, 0x75, 0x80, 0xbc, //0x00002698 .quad -4863758783215693124 + 0x2e, 0x68, 0x33, 0xc6, 0x44, 0x4a, 0x86, 0xf7, //0x000026a0 .quad -610719040218634194 + 0x6b, 0x97, 0x8d, 0xe8, 0x71, 0x92, 0xa0, 0xeb, //0x000026a8 .quad -1468012460592228501 + 0x1d, 0x21, 0xe0, 0xfb, 0x6a, 0xee, 0xb3, 0x7a, //0x000026b0 .quad 8841672636718129437 + 0xa3, 0x7e, 0x58, 0x31, 0x87, 0x5b, 0x44, 0x93, //0x000026b8 .quad -7835036815511224669 + 0x64, 0x29, 0xd8, 0xba, 0x05, 0xea, 0x60, 0x59, //0x000026c0 .quad 6440404777470273892 + 0x4c, 0x9e, 0xae, 0xfd, 0x68, 0x72, 0x15, 0xb8, //0x000026c8 .quad -5182110000961642932 + 0xbd, 0x33, 0x8e, 0x29, 0x87, 0x24, 0xb9, 0x6f, //0x000026d0 .quad 8050505971837842365 + 0xdf, 0x45, 0x1a, 0x3d, 0x03, 0xcf, 0x1a, 0xe6, //0x000026d8 .quad -1865951482774665761 + 0x56, 0xe0, 0xf8, 0x79, 0xd4, 0xb6, 0xd3, 0xa5, //0x000026e0 .quad -6497648813669818282 + 0xab, 0x6b, 0x30, 0x06, 0x62, 0xc1, 0xd0, 0x8f, //0x000026e8 .quad -8083748704375247957 + 0x6c, 0x18, 0x77, 0x98, 0x89, 0xa4, 0x48, 0x8f, //0x000026f0 .quad -8122061017087272852 + 0x96, 0x86, 0xbc, 0x87, 0xba, 0xf1, 0xc4, 0xb3, //0x000026f8 .quad -5492999862041672042 + 0x87, 0xde, 0x94, 0xfe, 0xab, 0xcd, 0x1a, 0x33, //0x00002700 .quad 3682481783923072647 + 0x3c, 0xa8, 0xab, 0x29, 0x29, 0x2e, 0xb6, 0xe0, //0x00002708 .quad -2254563809124702148 + 0x14, 0x0b, 0x1d, 0x7f, 0x8b, 0xc0, 0xf0, 0x9f, //0x00002710 .quad -6921820921902855404 + 0x25, 0x49, 0x0b, 0xba, 0xd9, 0xdc, 0x71, 0x8c, //0x00002718 .quad -8326631408344020699 + 0xd9, 0x4d, 0xe4, 0x5e, 0xae, 0xf0, 0xec, 0x07, //0x00002720 .quad 571095884476206553 + 0x6f, 0x1b, 0x8e, 0x28, 0x10, 0x54, 0x8e, 0xaf, //0x00002728 .quad -5796603242002637969 + 0x50, 0x61, 0x9d, 0xf6, 0xd9, 0x2c, 0xe8, 0xc9, //0x00002730 .quad -3897816162832129712 + 0x4a, 0xa2, 0xb1, 0x32, 0x14, 0xe9, 0x71, 0xdb, //0x00002738 .quad -2634068034075909558 + 0xd2, 0x5c, 0x22, 0x3a, 0x08, 0x1c, 0x31, 0xbe, //0x00002740 .quad -4741978110983775022 + 0x6e, 0x05, 0xaf, 0x9f, 0xac, 0x31, 0x27, 0x89, //0x00002748 .quad -8563821548938525330 + 0x06, 0xf4, 0xaa, 0x48, 0x0a, 0x63, 0xbd, 0x6d, //0x00002750 .quad 7907585416552444934 + 0xca, 0xc6, 0x9a, 0xc7, 0x17, 0xfe, 0x70, 0xab, //0x00002758 .quad -6093090917745768758 + 0x08, 0xb1, 0xd5, 0xda, 0xcc, 0xbb, 0x2c, 0x09, //0x00002760 .quad 661109733835780360 + 0x7d, 0x78, 0x81, 0xb9, 0x9d, 0x3d, 0x4d, 0xd6, //0x00002768 .quad -3004677628754823043 + 0xa5, 0x8e, 0xc5, 0x08, 0x60, 0xf5, 0xbb, 0x25, //0x00002770 .quad 2719036592861056677 + 0x4e, 0xeb, 0xf0, 0x93, 0x82, 0x46, 0xf0, 0x85, //0x00002778 .quad -8795452545612846258 + 0x4e, 0xf2, 0xf6, 0x0a, 0xb8, 0xf2, 0x2a, 0xaf, //0x00002780 .quad -5824576295778454962 + 0x21, 0x26, 0xed, 0x38, 0x23, 0x58, 0x6c, 0xa7, //0x00002788 .quad -6382629663588669919 + 0xe1, 0xae, 0xb4, 0x0d, 0x66, 0xaf, 0xf5, 0x1a, //0x00002790 .quad 1942651667131707105 + 0xaa, 0x6f, 0x28, 0x07, 0x2c, 0x6e, 0x47, 0xd1, //0x00002798 .quad -3366601061058449494 + 0x4d, 0xed, 0x90, 0xc8, 0x9f, 0x8d, 0xd9, 0x50, //0x000027a0 .quad 5825843310384704845 + 0xca, 0x45, 0x79, 0x84, 0xdb, 0xa4, 0xcc, 0x82, //0x000027a8 .quad -9021654690802612790 + 0xa0, 0x28, 0xb5, 0xba, 0x07, 0xf1, 0x0f, 0xe5, //0x000027b0 .quad -1941067898873894752 + 0x3c, 0x97, 0x97, 0x65, 0x12, 0xce, 0x7f, 0xa3, //0x000027b8 .quad -6665382345075878084 + 0xc8, 0x72, 0x62, 0xa9, 0x49, 0xed, 0x53, 0x1e, //0x000027c0 .quad 2185351144835019464 + 0x0c, 0x7d, 0xfd, 0xfe, 0x96, 0xc1, 0x5f, 0xcc, //0x000027c8 .quad -3720041912917459700 + 0x7a, 0x0f, 0xbb, 0x13, 0x9c, 0xe8, 0xe8, 0x25, //0x000027d0 .quad 2731688931043774330 + 0x4f, 0xdc, 0xbc, 0xbe, 0xfc, 0xb1, 0x77, 0xff, //0x000027d8 .quad -38366372719436721 + 0xac, 0xe9, 0x54, 0x8c, 0x61, 0x91, 0xb1, 0x77, //0x000027e0 .quad 8624834609543440812 + 0xb1, 0x09, 0x36, 0xf7, 0x3d, 0xcf, 0xaa, 0x9f, //0x000027e8 .quad -6941508010590729807 + 0x17, 0x24, 0x6a, 0xef, 0xb9, 0xf5, 0x9d, 0xd5, //0x000027f0 .quad -3054014793352862697 + 0x1d, 0x8c, 0x03, 0x75, 0x0d, 0x83, 0x95, 0xc7, //0x000027f8 .quad -4065198994811024355 + 0x1d, 0xad, 0x44, 0x6b, 0x28, 0x73, 0x05, 0x4b, //0x00002800 .quad 5405853545163697437 + 0x25, 0x6f, 0x44, 0xd2, 0xd0, 0xe3, 0x7a, 0xf9, //0x00002808 .quad -469812725086392539 + 0x32, 0xec, 0x0a, 0x43, 0xf9, 0x67, 0xe3, 0x4e, //0x00002810 .quad 5684501474941004850 + 0x77, 0xc5, 0x6a, 0x83, 0x62, 0xce, 0xec, 0x9b, //0x00002818 .quad -7211161980820077193 + 0x3f, 0xa7, 0xcd, 0x93, 0xf7, 0x41, 0x9c, 0x22, //0x00002820 .quad 2493940825248868159 + 0xd5, 0x76, 0x45, 0x24, 0xfb, 0x01, 0xe8, 0xc2, //0x00002828 .quad -4402266457597708587 + 0x0f, 0x11, 0xc1, 0x78, 0x75, 0x52, 0x43, 0x6b, //0x00002830 .quad 7729112049988473103 + 0x8a, 0xd4, 0x56, 0xed, 0x79, 0x02, 0xa2, 0xf3, //0x00002838 .quad -891147053569747830 + 0xa9, 0xaa, 0x78, 0x6b, 0x89, 0x13, 0x0a, 0x83, //0x00002840 .quad -9004363024039368023 + 0xd6, 0x44, 0x56, 0x34, 0x8c, 0x41, 0x45, 0x98, //0x00002848 .quad -7474495936122174250 + 0x53, 0xd5, 0x56, 0xc6, 0x6b, 0x98, 0xcc, 0x23, //0x00002850 .quad 2579604275232953683 + 0x0c, 0xd6, 0x6b, 0x41, 0xef, 0x91, 0x56, 0xbe, //0x00002858 .quad -4731433901725329908 + 0xa8, 0x8a, 0xec, 0xb7, 0x86, 0xbe, 0xbf, 0x2c, //0x00002860 .quad 3224505344041192104 + 0x8f, 0xcb, 0xc6, 0x11, 0x6b, 0x36, 0xec, 0xed, //0x00002868 .quad -1302606358729274481 + 0xa9, 0xd6, 0xf3, 0x32, 0x14, 0xd7, 0xf7, 0x7b, //0x00002870 .quad 8932844867666826921 + 0x39, 0x3f, 0x1c, 0xeb, 0x02, 0xa2, 0xb3, 0x94, //0x00002878 .quad -7731658001846878407 + 0x53, 0xcc, 0xb0, 0x3f, 0xd9, 0xcc, 0xf5, 0xda, //0x00002880 .quad -2669001970698630061 + 0x07, 0x4f, 0xe3, 0xa5, 0x83, 0x8a, 0xe0, 0xb9, //0x00002888 .quad -5052886483881210105 + 0x68, 0xff, 0x9c, 0x8f, 0x0f, 0x40, 0xb3, 0xd1, //0x00002890 .quad -3336252463373287576 + 0xc9, 0x22, 0x5c, 0x8f, 0x24, 0xad, 0x58, 0xe8, //0x00002898 .quad -1704422086424124727 + 0xa1, 0x1f, 0xc2, 0xb9, 0x09, 0x08, 0x10, 0x23, //0x000028a0 .quad 2526528228819083169 + 0xbe, 0x95, 0x99, 0xd9, 0x36, 0x6c, 0x37, 0x91, //0x000028a8 .quad -7982792831656159810 + 0x8a, 0xa7, 0x32, 0x28, 0x0c, 0x0a, 0xd4, 0xab, //0x000028b0 .quad -6065211750830921846 + 0x2d, 0xfb, 0xff, 0x8f, 0x44, 0x47, 0x85, 0xb5, //0x000028b8 .quad -5366805021142811859 + 0x6c, 0x51, 0x3f, 0x32, 0x8f, 0x0c, 0xc9, 0x16, //0x000028c0 .quad 1641857348316123500 + 0xf9, 0xf9, 0xff, 0xb3, 0x15, 0x99, 0xe6, 0xe2, //0x000028c8 .quad -2096820258001126919 + 0xe3, 0x92, 0x67, 0x7f, 0xd9, 0xa7, 0x3d, 0xae, //0x000028d0 .quad -5891368184943504669 + 0x3b, 0xfc, 0x7f, 0x90, 0xad, 0x1f, 0xd0, 0x8d, //0x000028d8 .quad -8228041688891786181 + 0x9c, 0x77, 0x41, 0xdf, 0xcf, 0x11, 0xcd, 0x99, //0x000028e0 .quad -7364210231179380836 + 0x4a, 0xfb, 0x9f, 0xf4, 0x98, 0x27, 0x44, 0xb1, //0x000028e8 .quad -5673366092687344822 + 0x83, 0xd5, 0x11, 0xd7, 0x43, 0x56, 0x40, 0x40, //0x000028f0 .quad 4629795266307937667 + 0x1d, 0xfa, 0xc7, 0x31, 0x7f, 0x31, 0x95, 0xdd, //0x000028f8 .quad -2480021597431793123 + 0x72, 0x25, 0x6b, 0x66, 0xea, 0x35, 0x28, 0x48, //0x00002900 .quad 5199465050656154994 + 0x52, 0xfc, 0x1c, 0x7f, 0xef, 0x3e, 0x7d, 0x8a, //0x00002908 .quad -8467542526035952558 + 0xcf, 0xee, 0x05, 0x00, 0x65, 0x43, 0x32, 0xda, //0x00002910 .quad -2724040723534582065 + 0x66, 0x3b, 0xe4, 0x5e, 0xab, 0x8e, 0x1c, 0xad, //0x00002918 .quad -5972742139117552794 + 0x82, 0x6a, 0x07, 0x40, 0x3e, 0xd4, 0xbe, 0x90, //0x00002920 .quad -8016736922845615486 + 0x40, 0x4a, 0x9d, 0x36, 0x56, 0xb2, 0x63, 0xd8, //0x00002928 .quad -2854241655469553088 + 0x91, 0xa2, 0x04, 0xe8, 0xa6, 0x44, 0x77, 0x5a, //0x00002930 .quad 6518754469289960081 + 0x68, 0x4e, 0x22, 0xe2, 0x75, 0x4f, 0x3e, 0x87, //0x00002938 .quad -8701430062309552536 + 0x36, 0xcb, 0x05, 0xa2, 0xd0, 0x15, 0x15, 0x71, //0x00002940 .quad 8148443086612450102 + 0x02, 0xe2, 0xaa, 0x5a, 0x53, 0xe3, 0x0d, 0xa9, //0x00002948 .quad -6265101559459552766 + 0x03, 0x3e, 0x87, 0xca, 0x44, 0x5b, 0x5a, 0x0d, //0x00002950 .quad 962181821410786819 + 0x83, 0x9a, 0x55, 0x31, 0x28, 0x5c, 0x51, 0xd3, //0x00002958 .quad -3219690930897053053 + 0xc2, 0x86, 0x94, 0xfe, 0x0a, 0x79, 0x58, 0xe8, //0x00002960 .quad -1704479370831952190 + 0x91, 0x80, 0xd5, 0x1e, 0x99, 0xd9, 0x12, 0x84, //0x00002968 .quad -8929835859451740015 + 0x72, 0xa8, 0x39, 0xbe, 0x4d, 0x97, 0x6e, 0x62, //0x00002970 .quad 7092772823314835570 + 0xb6, 0xe0, 0x8a, 0x66, 0xff, 0x8f, 0x17, 0xa5, //0x00002978 .quad -6550608805887287114 + 0x8f, 0x12, 0xc8, 0x2d, 0x21, 0x3d, 0x0a, 0xfb, //0x00002980 .quad -357406007711231345 + 0xe3, 0x98, 0x2d, 0x40, 0xff, 0x73, 0x5d, 0xce, //0x00002988 .quad -3576574988931720989 + 0x99, 0x0b, 0x9d, 0xbc, 0x34, 0x66, 0xe6, 0x7c, //0x00002990 .quad 8999993282035256217 + 0x8e, 0x7f, 0x1c, 0x88, 0x7f, 0x68, 0xfa, 0x80, //0x00002998 .quad -9152888395723407474 + 0x80, 0x4e, 0xc4, 0xeb, 0xc1, 0xff, 0x1f, 0x1c, //0x000029a0 .quad 2026619565689294464 + 0x72, 0x9f, 0x23, 0x6a, 0x9f, 0x02, 0x39, 0xa1, //0x000029a8 .quad -6829424476226871438 + 0x20, 0x62, 0xb5, 0x66, 0xb2, 0xff, 0x27, 0xa3, //0x000029b0 .quad -6690097579743157728 + 0x4e, 0x87, 0xac, 0x44, 0x47, 0x43, 0x87, 0xc9, //0x000029b8 .quad -3925094576856201394 + 0xa8, 0xba, 0x62, 0x00, 0x9f, 0xff, 0xf1, 0x4b, //0x000029c0 .quad 5472436080603216552 + 0x22, 0xa9, 0xd7, 0x15, 0x19, 0x14, 0xe9, 0xfb, //0x000029c8 .quad -294682202642863838 + 0xa9, 0xb4, 0x3d, 0x60, 0xc3, 0x3f, 0x77, 0x6f, //0x000029d0 .quad 8031958568804398249 + 0xb5, 0xc9, 0xa6, 0xad, 0x8f, 0xac, 0x71, 0x9d, //0x000029d8 .quad -7101705404292871755 + 0xd3, 0x21, 0x4d, 0x38, 0xb4, 0x0f, 0x55, 0xcb, //0x000029e0 .quad -3795109844276665901 + 0x22, 0x7c, 0x10, 0x99, 0xb3, 0x17, 0xce, 0xc4, //0x000029e8 .quad -4265445736938701790 + 0x48, 0x6a, 0x60, 0x46, 0xa1, 0x53, 0x2a, 0x7e, //0x000029f0 .quad 9091170749936331336 + 0x2b, 0x9b, 0x54, 0x7f, 0xa0, 0x9d, 0x01, 0xf6, //0x000029f8 .quad -720121152745989333 + 0x6d, 0x42, 0xfc, 0xcb, 0x44, 0x74, 0xda, 0x2e, //0x00002a00 .quad 3376138709496513133 + 0xfb, 0xe0, 0x94, 0x4f, 0x84, 0x02, 0xc1, 0x99, //0x00002a08 .quad -7367604748107325189 + 0x08, 0x53, 0xfb, 0xfe, 0x55, 0x11, 0x91, 0xfa, //0x00002a10 .quad -391512631556746488 + 0x39, 0x19, 0x7a, 0x63, 0x25, 0x43, 0x31, 0xc0, //0x00002a18 .quad -4597819916706768583 + 0xca, 0x27, 0xba, 0x7e, 0xab, 0x55, 0x35, 0x79, //0x00002a20 .quad 8733981247408842698 + 0x88, 0x9f, 0x58, 0xbc, 0xee, 0x93, 0x3d, 0xf0, //0x00002a28 .quad -1135588877456072824 + 0xde, 0x58, 0x34, 0x2f, 0x8b, 0x55, 0xc1, 0x4b, //0x00002a30 .quad 5458738279630526686 + 0xb5, 0x63, 0xb7, 0x35, 0x75, 0x7c, 0x26, 0x96, //0x00002a38 .quad -7627272076051127371 + 0x16, 0x6f, 0x01, 0xfb, 0xed, 0xaa, 0xb1, 0x9e, //0x00002a40 .quad -7011635205744005354 + 0xa2, 0x3c, 0x25, 0x83, 0x92, 0x1b, 0xb0, 0xbb, //0x00002a48 .quad -4922404076636521310 + 0xdc, 0xca, 0xc1, 0x79, 0xa9, 0x15, 0x5e, 0x46, //0x00002a50 .quad 5070514048102157020 + 0xcb, 0x8b, 0xee, 0x23, 0x77, 0x22, 0x9c, 0xea, //0x00002a58 .quad -1541319077368263733 + 0xc9, 0x1e, 0x19, 0xec, 0x89, 0xcd, 0xfa, 0x0b, //0x00002a60 .quad 863228270850154185 + 0x5f, 0x17, 0x75, 0x76, 0x8a, 0x95, 0xa1, 0x92, //0x00002a68 .quad -7880853450996246689 + 0x7b, 0x66, 0x1f, 0x67, 0xec, 0x80, 0xf9, 0xce, //0x00002a70 .quad -3532650679864695173 + 0x36, 0x5d, 0x12, 0x14, 0xed, 0xfa, 0x49, 0xb7, //0x00002a78 .quad -5239380795317920458 + 0x1a, 0x40, 0xe7, 0x80, 0x27, 0xe1, 0xb7, 0x82, //0x00002a80 .quad -9027499368258256870 + 0x84, 0xf4, 0x16, 0x59, 0xa8, 0x79, 0x1c, 0xe5, //0x00002a88 .quad -1937539975720012668 + 0x10, 0x88, 0x90, 0xb0, 0xb8, 0xec, 0xb2, 0xd1, //0x00002a90 .quad -3336344095947716592 + 0xd2, 0x58, 0xae, 0x37, 0x09, 0xcc, 0x31, 0x8f, //0x00002a98 .quad -8128491512466089774 + 0x15, 0xaa, 0xb4, 0xdc, 0xe6, 0xa7, 0x1f, 0x86, //0x00002aa0 .quad -8782116138362033643 + 0x07, 0xef, 0x99, 0x85, 0x0b, 0x3f, 0xfe, 0xb2, //0x00002aa8 .quad -5548928372155224313 + 0x9a, 0xd4, 0xe1, 0x93, 0xe0, 0x91, 0xa7, 0x67, //0x00002ab0 .quad 7469098900757009562 + 0xc9, 0x6a, 0x00, 0x67, 0xce, 0xce, 0xbd, 0xdf, //0x00002ab8 .quad -2324474446766642487 + 0xe0, 0x24, 0x6d, 0x5c, 0x2c, 0xbb, 0xc8, 0xe0, //0x00002ac0 .quad -2249342214667950880 + 0xbd, 0x42, 0x60, 0x00, 0x41, 0xa1, 0xd6, 0x8b, //0x00002ac8 .quad -8370325556870233411 + 0x18, 0x6e, 0x88, 0x73, 0xf7, 0xe9, 0xfa, 0x58, //0x00002ad0 .quad 6411694268519837208 + 0x6d, 0x53, 0x78, 0x40, 0x91, 0x49, 0xcc, 0xae, //0x00002ad8 .quad -5851220927660403859 + 0x9e, 0x89, 0x6a, 0x50, 0x75, 0xa4, 0x39, 0xaf, //0x00002ae0 .quad -5820440219632367202 + 0x48, 0x68, 0x96, 0x90, 0xf5, 0x5b, 0x7f, 0xda, //0x00002ae8 .quad -2702340141148116920 + 0x03, 0x96, 0x42, 0x52, 0xc9, 0x06, 0x84, 0x6d, //0x00002af0 .quad 7891439908798240259 + 0x2d, 0x01, 0x5e, 0x7a, 0x79, 0x99, 0x8f, 0x88, //0x00002af8 .quad -8606491615858654931 + 0x83, 0x3b, 0xd3, 0xa6, 0x7b, 0x08, 0xe5, 0xc8, //0x00002b00 .quad -3970758169284363389 + 0x78, 0x81, 0xf5, 0xd8, 0xd7, 0x7f, 0xb3, 0xaa, //0x00002b08 .quad -6146428501395930760 + 0x64, 0x0a, 0x88, 0x90, 0x9a, 0x4a, 0x1e, 0xfb, //0x00002b10 .quad -351761693178066332 + 0xd6, 0xe1, 0x32, 0xcf, 0xcd, 0x5f, 0x60, 0xd5, //0x00002b18 .quad -3071349608317525546 + 0x7f, 0x06, 0x55, 0x9a, 0xa0, 0xee, 0xf2, 0x5c, //0x00002b20 .quad 6697677969404790399 + 0x26, 0xcd, 0x7f, 0xa1, 0xe0, 0x3b, 0x5c, 0x85, //0x00002b28 .quad -8837122532839535322 + 0x1e, 0x48, 0xea, 0xc0, 0x48, 0xaa, 0x2f, 0xf4, //0x00002b30 .quad -851274575098787810 + 0x6f, 0xc0, 0xdf, 0xc9, 0xd8, 0x4a, 0xb3, 0xa6, //0x00002b38 .quad -6434717147622031249 + 0x26, 0xda, 0x24, 0xf1, 0xda, 0x94, 0x3b, 0xf1, //0x00002b40 .quad -1064093218873484762 + 0x8b, 0xb0, 0x57, 0xfc, 0x8e, 0x1d, 0x60, 0xd0, //0x00002b48 .quad -3431710416100151157 + 0x58, 0x08, 0xb7, 0xd6, 0x08, 0x3d, 0xc5, 0x76, //0x00002b50 .quad 8558313775058847832 + 0x57, 0xce, 0xb6, 0x5d, 0x79, 0x12, 0x3c, 0x82, //0x00002b58 .quad -9062348037703676329 + 0x6e, 0xca, 0x64, 0x0c, 0x4b, 0x8c, 0x76, 0x54, //0x00002b60 .quad 6086206200396171886 + 0xed, 0x81, 0x24, 0xb5, 0x17, 0x17, 0xcb, 0xa2, //0x00002b68 .quad -6716249028702207507 + 0x09, 0xfd, 0x7d, 0xcf, 0x5d, 0x2f, 0x94, 0xa9, //0x00002b70 .quad -6227300304786948855 + 0x68, 0xa2, 0x6d, 0xa2, 0xdd, 0xdc, 0x7d, 0xcb, //0x00002b78 .quad -3783625267450371480 + 0x4c, 0x7c, 0x5d, 0x43, 0x35, 0x3b, 0xf9, 0xd3, //0x00002b80 .quad -3172439362556298164 + 0x02, 0x0b, 0x09, 0x0b, 0x15, 0x54, 0x5d, 0xfe, //0x00002b88 .quad -117845565885576446 + 0xaf, 0x6d, 0x1a, 0x4a, 0x01, 0xc5, 0x7b, 0xc4, //0x00002b90 .quad -4288617610811380305 + 0xe1, 0xa6, 0xe5, 0x26, 0x8d, 0x54, 0xfa, 0x9e, //0x00002b98 .quad -6991182506319567135 + 0x1b, 0x09, 0xa1, 0x9c, 0x41, 0xb6, 0x9a, 0x35, //0x00002ba0 .quad 3862600023340550427 + 0x9a, 0x10, 0x9f, 0x70, 0xb0, 0xe9, 0xb8, 0xc6, //0x00002ba8 .quad -4127292114472071014 + 0x62, 0x4b, 0xc9, 0x03, 0xd2, 0x63, 0x01, 0xc3, //0x00002bb0 .quad -4395122007679087774 + 0xc0, 0xd4, 0xc6, 0x8c, 0x1c, 0x24, 0x67, 0xf8, //0x00002bb8 .quad -547429124662700864 + 0x1d, 0xcf, 0x5d, 0x42, 0x63, 0xde, 0xe0, 0x79, //0x00002bc0 .quad 8782263791269039901 + 0xf8, 0x44, 0xfc, 0xd7, 0x91, 0x76, 0x40, 0x9b, //0x00002bc8 .quad -7259672230555269896 + 0xe4, 0x42, 0xf5, 0x12, 0xfc, 0x15, 0x59, 0x98, //0x00002bd0 .quad -7468914334623251740 + 0x36, 0x56, 0xfb, 0x4d, 0x36, 0x94, 0x10, 0xc2, //0x00002bd8 .quad -4462904269766699466 + 0x9d, 0x93, 0xb2, 0x17, 0x7b, 0x5b, 0x6f, 0x3e, //0x00002be0 .quad 4498915137003099037 + 0xc4, 0x2b, 0x7a, 0xe1, 0x43, 0xb9, 0x94, 0xf2, //0x00002be8 .quad -966944318780986428 + 0x42, 0x9c, 0xcf, 0xee, 0x2c, 0x99, 0x05, 0xa7, //0x00002bf0 .quad -6411550076227838910 + 0x5a, 0x5b, 0xec, 0x6c, 0xca, 0xf3, 0x9c, 0x97, //0x00002bf8 .quad -7521869226879198374 + 0x53, 0x83, 0x83, 0x2a, 0x78, 0xff, 0xc6, 0x50, //0x00002c00 .quad 5820620459997365075 + 0x31, 0x72, 0x27, 0x08, 0xbd, 0x30, 0x84, 0xbd, //0x00002c08 .quad -4790650515171610063 + 0x28, 0x64, 0x24, 0x35, 0x56, 0xbf, 0xf8, 0xa4, //0x00002c10 .quad -6559282480285457368 + 0xbd, 0x4e, 0x31, 0x4a, 0xec, 0x3c, 0xe5, 0xec, //0x00002c18 .quad -1376627125537124675 + 0x99, 0xbe, 0x36, 0xe1, 0x95, 0x77, 0x1b, 0x87, //0x00002c20 .quad -8711237568605798759 + 0x36, 0xd1, 0x5e, 0xae, 0x13, 0x46, 0x0f, 0x94, //0x00002c28 .quad -7777920981101784778 + 0x3f, 0x6e, 0x84, 0x59, 0x7b, 0x55, 0xe2, 0x28, //0x00002c30 .quad 2946011094524915263 + 0x84, 0x85, 0xf6, 0x99, 0x98, 0x17, 0x13, 0xb9, //0x00002c38 .quad -5110715207949843068 + 0xcf, 0x89, 0xe5, 0x2f, 0xda, 0xea, 0x1a, 0x33, //0x00002c40 .quad 3682513868156144079 + 0xe5, 0x26, 0x74, 0xc0, 0x7e, 0xdd, 0x57, 0xe7, //0x00002c48 .quad -1776707991509915931 + 0x21, 0x76, 0xef, 0x5d, 0xc8, 0xd2, 0xf0, 0x3f, //0x00002c50 .quad 4607414176811284001 + 0x4f, 0x98, 0x48, 0x38, 0x6f, 0xea, 0x96, 0x90, //0x00002c58 .quad -8027971522334779313 + 0xa9, 0x53, 0x6b, 0x75, 0x7a, 0x07, 0xed, 0x0f, //0x00002c60 .quad 1147581702586717097 + 0x63, 0xbe, 0x5a, 0x06, 0x0b, 0xa5, 0xbc, 0xb4, //0x00002c68 .quad -5423278384491086237 + 0x94, 0x28, 0xc6, 0x12, 0x59, 0x49, 0xe8, 0xd3, //0x00002c70 .quad -3177208890193991532 + 0xfb, 0x6d, 0xf1, 0xc7, 0x4d, 0xce, 0xeb, 0xe1, //0x00002c78 .quad -2167411962186469893 + 0x5c, 0xd9, 0xbb, 0xab, 0xd7, 0x2d, 0x71, 0x64, //0x00002c80 .quad 7237616480483531100 + 0xbd, 0xe4, 0xf6, 0x9c, 0xf0, 0x60, 0x33, 0x8d, //0x00002c88 .quad -8272161504007625539 + 0xb3, 0xcf, 0xaa, 0x96, 0x4d, 0x79, 0x8d, 0xbd, //0x00002c90 .quad -4788037454677749837 + 0xec, 0x9d, 0x34, 0xc4, 0x2c, 0x39, 0x80, 0xb0, //0x00002c98 .quad -5728515861582144020 + 0xa0, 0x83, 0x55, 0xfc, 0xa0, 0xd7, 0xf0, 0xec, //0x00002ca0 .quad -1373360799919799392 + 0x67, 0xc5, 0x41, 0xf5, 0x77, 0x47, 0xa0, 0xdc, //0x00002ca8 .quad -2548958808550292121 + 0x44, 0x72, 0xb5, 0x9d, 0xc4, 0x86, 0x16, 0xf4, //0x00002cb0 .quad -858350499949874620 + 0x60, 0x1b, 0x49, 0xf9, 0xaa, 0x2c, 0xe4, 0x89, //0x00002cb8 .quad -8510628282985014432 + 0xd5, 0xce, 0x22, 0xc5, 0x75, 0x28, 0x1c, 0x31, //0x00002cc0 .quad 3538747893490044629 + 0x39, 0x62, 0x9b, 0xb7, 0xd5, 0x37, 0x5d, 0xac, //0x00002cc8 .quad -6026599335303880135 + 0x8b, 0x82, 0x6b, 0x36, 0x93, 0x32, 0x63, 0x7d, //0x00002cd0 .quad 9035120885289943691 + 0xc7, 0x3a, 0x82, 0x25, 0xcb, 0x85, 0x74, 0xd7, //0x00002cd8 .quad -2921563150702462265 + 0x97, 0x31, 0x03, 0x02, 0x9c, 0xff, 0x5d, 0xae, //0x00002ce0 .quad -5882264492762254953 + 0xbc, 0x64, 0x71, 0xf7, 0x9e, 0xd3, 0xa8, 0x86, //0x00002ce8 .quad -8743505996830120772 + 0xfc, 0xfd, 0x83, 0x02, 0x83, 0x7f, 0xf5, 0xd9, //0x00002cf0 .quad -2741144597525430788 + 0xeb, 0xbd, 0x4d, 0xb5, 0x86, 0x08, 0x53, 0xa8, //0x00002cf8 .quad -6317696477610263061 + 0x7b, 0xfd, 0x24, 0xc3, 0x63, 0xdf, 0x72, 0xd0, //0x00002d00 .quad -3426430746906788485 + 0x66, 0x2d, 0xa1, 0x62, 0xa8, 0xca, 0x67, 0xd2, //0x00002d08 .quad -3285434578585440922 + 0x6d, 0x1e, 0xf7, 0x59, 0x9e, 0xcb, 0x47, 0x42, //0x00002d10 .quad 4776009810824339053 + 0x60, 0xbc, 0xa4, 0x3d, 0xa9, 0xde, 0x80, 0x83, //0x00002d18 .quad -8970925639256982432 + 0x08, 0xe6, 0x74, 0xf0, 0x85, 0xbe, 0xd9, 0x52, //0x00002d20 .quad 5970012263530423816 + 0x78, 0xeb, 0x0d, 0x8d, 0x53, 0x16, 0x61, 0xa4, //0x00002d28 .quad -6601971030643840136 + 0x8b, 0x1f, 0x92, 0x6c, 0x27, 0x2e, 0x90, 0x67, //0x00002d30 .quad 7462515329413029771 + 0x56, 0x66, 0x51, 0x70, 0xe8, 0x5b, 0x79, 0xcd, //0x00002d38 .quad -3640777769877412266 + 0xb6, 0x53, 0xdb, 0xa3, 0xd8, 0x1c, 0xba, 0x00, //0x00002d40 .quad 52386062455755702 + 0xf6, 0xdf, 0x32, 0x46, 0x71, 0xd9, 0x6b, 0x80, //0x00002d48 .quad -9193015133814464522 + 0xa4, 0x28, 0xd2, 0xcc, 0x0e, 0xa4, 0xe8, 0x80, //0x00002d50 .quad -9157889458785081180 + 0xf3, 0x97, 0xbf, 0x97, 0xcd, 0xcf, 0x86, 0xa0, //0x00002d58 .quad -6879582898840692749 + 0xcd, 0xb2, 0x06, 0x80, 0x12, 0xcd, 0x22, 0x61, //0x00002d60 .quad 6999382250228200141 + 0xf0, 0x7d, 0xaf, 0xfd, 0xc0, 0x83, 0xa8, 0xc8, //0x00002d68 .quad -3987792605123478032 + 0x81, 0x5f, 0x08, 0x20, 0x57, 0x80, 0x6b, 0x79, //0x00002d70 .quad 8749227812785250177 + 0x6c, 0x5d, 0x1b, 0x3d, 0xb1, 0xa4, 0xd2, 0xfa, //0x00002d78 .quad -373054737976959636 + 0xb0, 0x3b, 0x05, 0x74, 0x36, 0x30, 0xe3, 0xcb, //0x00002d80 .quad -3755104653863994448 + 0x63, 0x1a, 0x31, 0xc6, 0xee, 0xa6, 0xc3, 0x9c, //0x00002d88 .quad -7150688238876681629 + 0x9c, 0x8a, 0x06, 0x11, 0x44, 0xfc, 0xdb, 0xbe, //0x00002d90 .quad -4693880817329993060 + 0xfc, 0x60, 0xbd, 0x77, 0xaa, 0x90, 0xf4, 0xc3, //0x00002d98 .quad -4326674280168464132 + 0x44, 0x2d, 0x48, 0x15, 0x55, 0xfb, 0x92, 0xee, //0x00002da0 .quad -1255665003235103420 + 0x3b, 0xb9, 0xac, 0x15, 0xd5, 0xb4, 0xf1, 0xf4, //0x00002da8 .quad -796656831783192261 + 0x4a, 0x1c, 0x4d, 0x2d, 0x15, 0xdd, 0x1b, 0x75, //0x00002db0 .quad 8438581409832836170 + 0xc5, 0xf3, 0x8b, 0x2d, 0x05, 0x11, 0x17, 0x99, //0x00002db8 .quad -7415439547505577019 + 0x5d, 0x63, 0xa0, 0x78, 0x5a, 0xd4, 0x62, 0xd2, //0x00002dc0 .quad -3286831292991118499 + 0xb6, 0xf0, 0xee, 0x78, 0x46, 0xd5, 0x5c, 0xbf, //0x00002dc8 .quad -4657613415954583370 + 0x34, 0x7c, 0xc8, 0x16, 0x71, 0x89, 0xfb, 0x86, //0x00002dd0 .quad -8720225134666286028 + 0xe4, 0xac, 0x2a, 0x17, 0x98, 0x0a, 0x34, 0xef, //0x00002dd8 .quad -1210330751515841308 + 0xa0, 0x4d, 0x3d, 0xae, 0xe6, 0x35, 0x5d, 0xd4, //0x00002de0 .quad -3144297699952734816 + 0x0e, 0xac, 0x7a, 0x0e, 0x9f, 0x86, 0x80, 0x95, //0x00002de8 .quad -7673985747338482674 + 0x09, 0xa1, 0xcc, 0x59, 0x60, 0x83, 0x74, 0x89, //0x00002df0 .quad -8542058143368306423 + 0x12, 0x57, 0x19, 0xd2, 0x46, 0xa8, 0xe0, 0xba, //0x00002df8 .quad -4980796165745715438 + 0x4b, 0xc9, 0x3f, 0x70, 0x38, 0xa4, 0xd1, 0x2b, //0x00002e00 .quad 3157485376071780683 + 0xd7, 0xac, 0x9f, 0x86, 0x58, 0xd2, 0x98, 0xe9, //0x00002e08 .quad -1614309188754756393 + 0xcf, 0xdd, 0x27, 0x46, 0xa3, 0x06, 0x63, 0x7b, //0x00002e10 .quad 8890957387685944783 + 0x06, 0xcc, 0x23, 0x54, 0x77, 0x83, 0xff, 0x91, //0x00002e18 .quad -7926472270612804602 + 0x42, 0xd5, 0xb1, 0x17, 0x4c, 0xc8, 0x3b, 0x1a, //0x00002e20 .quad 1890324697752655170 + 0x08, 0xbf, 0x2c, 0x29, 0x55, 0x64, 0x7f, 0xb6, //0x00002e28 .quad -5296404319838617848 + 0x93, 0x4a, 0x9e, 0x1d, 0x5f, 0xba, 0xca, 0x20, //0x00002e30 .quad 2362905872190818963 + 0xca, 0xee, 0x77, 0x73, 0x6a, 0x3d, 0x1f, 0xe4, //0x00002e38 .quad -2008819381370884406 + 0x9c, 0xee, 0x82, 0x72, 0x7b, 0xb4, 0x7e, 0x54, //0x00002e40 .quad 6088502188546649756 + 0x3e, 0xf5, 0x2a, 0x88, 0x62, 0x86, 0x93, 0x8e, //0x00002e48 .quad -8173041140997884610 + 0x43, 0xaa, 0x23, 0x4f, 0x9a, 0x61, 0x9e, 0xe9, //0x00002e50 .quad -1612744301171463613 + 0x8d, 0xb2, 0x35, 0x2a, 0xfb, 0x67, 0x38, 0xb2, //0x00002e58 .quad -5604615407819967859 + 0xd4, 0x94, 0xec, 0xe2, 0x00, 0xfa, 0x05, 0x64, //0x00002e60 .quad 7207441660390446292 + 0x31, 0x1f, 0xc3, 0xf4, 0xf9, 0x81, 0xc6, 0xde, //0x00002e68 .quad -2394083241347571919 + 0x04, 0xdd, 0xd3, 0x8d, 0x40, 0xbc, 0x83, 0xde, //0x00002e70 .quad -2412877989897052924 + 0x7e, 0xf3, 0xf9, 0x38, 0x3c, 0x11, 0x3c, 0x8b, //0x00002e78 .quad -8413831053483314306 + 0x45, 0xd4, 0x48, 0xb1, 0x50, 0xab, 0x24, 0x96, //0x00002e80 .quad -7627783505798704059 + 0x5e, 0x70, 0x38, 0x47, 0x8b, 0x15, 0x0b, 0xae, //0x00002e88 .quad -5905602798426754978 + 0x57, 0x09, 0x9b, 0xdd, 0x24, 0xd6, 0xad, 0x3b, //0x00002e90 .quad 4300328673033783639 + 0x76, 0x8c, 0x06, 0x19, 0xee, 0xda, 0x8d, 0xd9, //0x00002e98 .quad -2770317479606055818 + 0xd6, 0xe5, 0x80, 0x0a, 0xd7, 0xa5, 0x4c, 0xe5, //0x00002ea0 .quad -1923980597781273130 + 0xc9, 0x17, 0xa4, 0xcf, 0xd4, 0xa8, 0xf8, 0x87, //0x00002ea8 .quad -8648977452394866743 + 0x4c, 0x1f, 0x21, 0xcd, 0x4c, 0xcf, 0x9f, 0x5e, //0x00002eb0 .quad 6818396289628184396 + 0xbc, 0x1d, 0x8d, 0x03, 0x0a, 0xd3, 0xf6, 0xa9, //0x00002eb8 .quad -6199535797066195524 + 0x1f, 0x67, 0x69, 0x00, 0x20, 0xc3, 0x47, 0x76, //0x00002ec0 .quad 8522995362035230495 + 0x2b, 0x65, 0x70, 0x84, 0xcc, 0x87, 0x74, 0xd4, //0x00002ec8 .quad -3137733727905356501 + 0x73, 0xe0, 0x41, 0x00, 0xf4, 0xd9, 0xec, 0x29, //0x00002ed0 .quad 3021029092058325107 + 0x3b, 0x3f, 0xc6, 0xd2, 0xdf, 0xd4, 0xc8, 0x84, //0x00002ed8 .quad -8878612607581929669 + 0x90, 0x58, 0x52, 0x00, 0x71, 0x10, 0x68, 0xf4, //0x00002ee0 .quad -835399653354481520 + 0x09, 0xcf, 0x77, 0xc7, 0x17, 0x0a, 0xfb, 0xa5, //0x00002ee8 .quad -6486579741050024183 + 0xb4, 0xee, 0x66, 0x40, 0x8d, 0x14, 0x82, 0x71, //0x00002ef0 .quad 8179122470161673908 + 0xcc, 0xc2, 0x55, 0xb9, 0x9d, 0xcc, 0x79, 0xcf, //0x00002ef8 .quad -3496538657885142324 + 0x30, 0x55, 0x40, 0x48, 0xd8, 0x4c, 0xf1, 0xc6, //0x00002f00 .quad -4111420493003729616 + 0xbf, 0x99, 0xd5, 0x93, 0xe2, 0x1f, 0xac, 0x81, //0x00002f08 .quad -9102865688819295809 + 0x7c, 0x6a, 0x50, 0x5a, 0x0e, 0xa0, 0xad, 0xb8, //0x00002f10 .quad -5139275616254662020 + 0x2f, 0x00, 0xcb, 0x38, 0xdb, 0x27, 0x17, 0xa2, //0x00002f18 .quad -6766896092596731857 + 0x1c, 0x85, 0xe4, 0xf0, 0x11, 0x08, 0xd9, 0xa6, //0x00002f20 .quad -6424094520318327524 + 0x3b, 0xc0, 0xfd, 0x06, 0xd2, 0xf1, 0x9c, 0xca, //0x00002f28 .quad -3846934097318526917 + 0x63, 0xa6, 0x1d, 0x6d, 0x16, 0x4a, 0x8f, 0x90, //0x00002f30 .quad -8030118150397909405 + 0x4a, 0x30, 0xbd, 0x88, 0x46, 0x2e, 0x44, 0xfd, //0x00002f38 .quad -196981603220770742 + 0xfe, 0x87, 0x32, 0x04, 0x4e, 0x8e, 0x59, 0x9a, //0x00002f40 .quad -7324666853212387330 + 0x2e, 0x3e, 0x76, 0x15, 0xec, 0x9c, 0x4a, 0x9e, //0x00002f48 .quad -7040642529654063570 + 0xfd, 0x29, 0x3f, 0x85, 0xe1, 0xf1, 0xef, 0x40, //0x00002f50 .quad 4679224488766679549 + 0xba, 0xcd, 0xd3, 0x1a, 0x27, 0x44, 0xdd, 0xc5, //0x00002f58 .quad -4189117143640191558 + 0x7c, 0xf4, 0x8e, 0xe6, 0x59, 0xee, 0x2b, 0xd1, //0x00002f60 .quad -3374341425896426372 + 0x28, 0xc1, 0x88, 0xe1, 0x30, 0x95, 0x54, 0xf7, //0x00002f68 .quad -624710411122851544 + 0xce, 0x58, 0x19, 0x30, 0xf8, 0x74, 0xbb, 0x82, //0x00002f70 .quad -9026492418826348338 + 0xb9, 0x78, 0xf5, 0x8c, 0x3e, 0xdd, 0x94, 0x9a, //0x00002f78 .quad -7307973034592864071 + 0x01, 0xaf, 0x1f, 0x3c, 0x36, 0x52, 0x6a, 0xe3, //0x00002f80 .quad -2059743486678159615 + 0xe7, 0xd6, 0x32, 0x30, 0x8e, 0x14, 0x3a, 0xc1, //0x00002f88 .quad -4523280274813692185 + 0xc1, 0x9a, 0x27, 0xcb, 0xc3, 0xe6, 0x44, 0xdc, //0x00002f90 .quad -2574679358347699519 + 0xa1, 0x8c, 0x3f, 0xbc, 0xb1, 0x99, 0x88, 0xf1, //0x00002f98 .quad -1042414325089727327 + 0xb9, 0xc0, 0xf8, 0x5e, 0x3a, 0x10, 0xab, 0x29, //0x00002fa0 .quad 3002511419460075705 + 0xe5, 0xb7, 0xa7, 0x15, 0x0f, 0x60, 0xf5, 0x96, //0x00002fa8 .quad -7569037980822161435 + 0xe7, 0xf0, 0xb6, 0xf6, 0x48, 0xd4, 0x15, 0x74, //0x00002fb0 .quad 8364825292752482535 + 0xde, 0xa5, 0x11, 0xdb, 0x12, 0xb8, 0xb2, 0xbc, //0x00002fb8 .quad -4849611457600313890 + 0x21, 0xad, 0x64, 0x34, 0x5b, 0x49, 0x1b, 0x11, //0x00002fc0 .quad 1232659579085827361 + 0x56, 0x0f, 0xd6, 0x91, 0x17, 0x66, 0xdf, 0xeb, //0x00002fc8 .quad -1450328303573004458 + 0x34, 0xec, 0xbe, 0x00, 0xd9, 0x0d, 0xb1, 0xca, //0x00002fd0 .quad -3841273781498745804 + 0x95, 0xc9, 0x25, 0xbb, 0xce, 0x9f, 0x6b, 0x93, //0x00002fd8 .quad -7823984217374209643 + 0x42, 0xa7, 0xee, 0x40, 0x4f, 0x51, 0x5d, 0x3d, //0x00002fe0 .quad 4421779809981343554 + 0xfb, 0x3b, 0xef, 0x69, 0xc2, 0x87, 0x46, 0xb8, //0x00002fe8 .quad -5168294253290374149 + 0x12, 0x51, 0x2a, 0x11, 0xa3, 0xa5, 0xb4, 0x0c, //0x00002ff0 .quad 915538744049291538 + 0xfa, 0x0a, 0x6b, 0x04, 0xb3, 0x29, 0x58, 0xe6, //0x00002ff8 .quad -1848681798185579782 + 0xab, 0x72, 0xba, 0xea, 0x85, 0xe7, 0xf0, 0x47, //0x00003000 .quad 5183897733458195115 + 0xdc, 0xe6, 0xc2, 0xe2, 0x0f, 0x1a, 0xf7, 0x8f, //0x00003008 .quad -8072955151507069220 + 0x56, 0x0f, 0x69, 0x65, 0x67, 0x21, 0xed, 0x59, //0x00003010 .quad 6479872166822743894 + 0x93, 0xa0, 0x73, 0xdb, 0x93, 0xe0, 0xf4, 0xb3, //0x00003018 .quad -5479507920956448621 + 0x2c, 0x53, 0xc3, 0x3e, 0xc1, 0x69, 0x68, 0x30, //0x00003020 .quad 3488154190101041964 + 0xb8, 0x88, 0x50, 0xd2, 0xb8, 0x18, 0xf2, 0xe0, //0x00003028 .quad -2237698882768172872 + 0xfb, 0x13, 0x3a, 0xc7, 0x18, 0x42, 0x41, 0x1e, //0x00003030 .quad 2180096368813151227 + 0x73, 0x55, 0x72, 0x83, 0x73, 0x4f, 0x97, 0x8c, //0x00003038 .quad -8316090829371189901 + 0xfa, 0x98, 0x08, 0xf9, 0x9e, 0x92, 0xd1, 0xe5, //0x00003040 .quad -1886565557410948870 + 0xcf, 0xea, 0x4e, 0x64, 0x50, 0x23, 0xbd, 0xaf, //0x00003048 .quad -5783427518286599473 + 0x39, 0xbf, 0x4a, 0xb7, 0x46, 0xf7, 0x45, 0xdf, //0x00003050 .quad -2358206946763686087 + 0x83, 0xa5, 0x62, 0x7d, 0x24, 0x6c, 0xac, 0xdb, //0x00003058 .quad -2617598379430861437 + 0x83, 0xb7, 0x8e, 0x32, 0x8c, 0xba, 0x8b, 0x6b, //0x00003060 .quad 7749492695127472003 + 0x72, 0xa7, 0x5d, 0xce, 0x96, 0xc3, 0x4b, 0x89, //0x00003068 .quad -8553528014785370254 + 0x64, 0x65, 0x32, 0x3f, 0x2f, 0xa9, 0x6e, 0x06, //0x00003070 .quad 463493832054564196 + 0x4f, 0x11, 0xf5, 0x81, 0x7c, 0xb4, 0x9e, 0xab, //0x00003078 .quad -6080224000054324913 + 0xbd, 0xfe, 0xfe, 0x0e, 0x7b, 0x53, 0x0a, 0xc8, //0x00003080 .quad -4032318728359182659 + 0xa2, 0x55, 0x72, 0xa2, 0x9b, 0x61, 0x86, 0xd6, //0x00003088 .quad -2988593981640518238 + 0x36, 0x5f, 0x5f, 0xe9, 0x2c, 0x74, 0x06, 0xbd, //0x00003090 .quad -4826042214438183114 + 0x85, 0x75, 0x87, 0x45, 0x01, 0xfd, 0x13, 0x86, //0x00003098 .quad -8785400266166405755 + 0x04, 0x37, 0xb7, 0x23, 0x38, 0x11, 0x48, 0x2c, //0x000030a0 .quad 3190819268807046916 + 0xe7, 0x52, 0xe9, 0x96, 0x41, 0xfc, 0x98, 0xa7, //0x000030a8 .quad -6370064314280619289 + 0xc5, 0x04, 0xa5, 0x2c, 0x86, 0x15, 0x5a, 0xf7, //0x000030b0 .quad -623161932418579259 + 0xa0, 0xa7, 0xa3, 0xfc, 0x51, 0x3b, 0x7f, 0xd1, //0x000030b8 .quad -3350894374423386208 + 0xfb, 0x22, 0xe7, 0xdb, 0x73, 0x4d, 0x98, 0x9a, //0x000030c0 .quad -7307005235402693893 + 0xc4, 0x48, 0xe6, 0x3d, 0x13, 0x85, 0xef, 0x82, //0x000030c8 .quad -9011838011655698236 + 0xba, 0xeb, 0xe0, 0xd2, 0xd0, 0x60, 0x3e, 0xc1, //0x000030d0 .quad -4522070525825979462 + 0xf5, 0xda, 0x5f, 0x0d, 0x58, 0x66, 0xab, 0xa3, //0x000030d8 .quad -6653111496142234891 + 0xa8, 0x26, 0x99, 0x07, 0x05, 0xf9, 0x8d, 0x31, //0x000030e0 .quad 3570783879572301480 + 0xb3, 0xd1, 0xb7, 0x10, 0xee, 0x3f, 0x96, 0xcc, //0x000030e8 .quad -3704703351750405709 + 0x52, 0x70, 0x7f, 0x49, 0x46, 0x77, 0xf1, 0xfd, //0x000030f0 .quad -148206168962011054 + 0x1f, 0xc6, 0xe5, 0x94, 0xe9, 0xcf, 0xbb, 0xff, //0x000030f8 .quad -19193171260619233 + 0x33, 0xa6, 0xef, 0xed, 0x8b, 0xea, 0xb6, 0xfe, //0x00003100 .quad -92628855601256909 + 0xd3, 0x9b, 0x0f, 0xfd, 0xf1, 0x61, 0xd5, 0x9f, //0x00003108 .quad -6929524759678968877 + 0xc0, 0x8f, 0x6b, 0xe9, 0x2e, 0xa5, 0x64, 0xfe, //0x00003110 .quad -115786069501571136 + 0xc8, 0x82, 0x53, 0x7c, 0x6e, 0xba, 0xca, 0xc7, //0x00003118 .quad -4050219931171323192 + 0xb0, 0x73, 0xc6, 0xa3, 0x7a, 0xce, 0xfd, 0x3d, //0x00003120 .quad 4466953431550423984 + 0x7b, 0x63, 0x68, 0x1b, 0x0a, 0x69, 0xbd, 0xf9, //0x00003128 .quad -451088895536766085 + 0x4e, 0x08, 0x5c, 0xa6, 0x0c, 0xa1, 0xbe, 0x06, //0x00003130 .quad 486002885505321038 + 0x2d, 0x3e, 0x21, 0x51, 0xa6, 0x61, 0x16, 0x9c, //0x00003138 .quad -7199459587351560659 + 0x62, 0x0a, 0xf3, 0xcf, 0x4f, 0x49, 0x6e, 0x48, //0x00003140 .quad 5219189625309039202 + 0xb8, 0x8d, 0x69, 0xe5, 0x0f, 0xfa, 0x1b, 0xc3, //0x00003148 .quad -4387638465762062920 + 0xfa, 0xcc, 0xef, 0xc3, 0xa3, 0xdb, 0x89, 0x5a, //0x00003150 .quad 6523987031636299002 + 0x26, 0xf1, 0xc3, 0xde, 0x93, 0xf8, 0xe2, 0xf3, //0x00003158 .quad -872862063775190746 + 0x1c, 0xe0, 0x75, 0x5a, 0x46, 0x29, 0x96, 0xf8, //0x00003160 .quad -534194123654701028 + 0xb7, 0x76, 0x3a, 0x6b, 0x5c, 0xdb, 0x6d, 0x98, //0x00003168 .quad -7463067817500576073 + 0x23, 0x58, 0x13, 0xf1, 0x97, 0xb3, 0xbb, 0xf6, //0x00003170 .quad -667742654568376285 + 0x65, 0x14, 0x09, 0x86, 0x33, 0x52, 0x89, 0xbe, //0x00003178 .quad -4717148753448332187 + 0x2c, 0x2e, 0x58, 0xed, 0x7d, 0xa0, 0x6a, 0x74, //0x00003180 .quad 8388693718644305452 + 0x7f, 0x59, 0x8b, 0x67, 0xc0, 0xa6, 0x2b, 0xee, //0x00003188 .quad -1284749923383027329 + 0xdc, 0x1c, 0x57, 0xb4, 0x4e, 0xa4, 0xc2, 0xa8, //0x00003190 .quad -6286281471915778852 + 0xef, 0x17, 0xb7, 0x40, 0x38, 0x48, 0xdb, 0x94, //0x00003198 .quad -7720497729755473937 + 0x13, 0xe4, 0x6c, 0x61, 0x62, 0x4d, 0xf3, 0x92, //0x000031a0 .quad -7857851839894723565 + 0xeb, 0xdd, 0xe4, 0x50, 0x46, 0x1a, 0x12, 0xba, //0x000031a8 .quad -5038936143766954517 + 0x17, 0x1d, 0xc8, 0xf9, 0xba, 0x20, 0xb0, 0x77, //0x000031b0 .quad 8624429273841147159 + 0x66, 0x15, 0x1e, 0xe5, 0xd7, 0xa0, 0x96, 0xe8, //0x000031b8 .quad -1686984161281305242 + 0x2e, 0x12, 0x1d, 0xdc, 0x74, 0x14, 0xce, 0x0a, //0x000031c0 .quad 778582277723329070 + 0x60, 0xcd, 0x32, 0xef, 0x86, 0x24, 0x5e, 0x91, //0x000031c8 .quad -7971894128441897632 + 0xba, 0x56, 0x24, 0x13, 0x92, 0x99, 0x81, 0x0d, //0x000031d0 .quad 973227847154161338 + 0xb8, 0x80, 0xff, 0xaa, 0xa8, 0xad, 0xb5, 0xb5, //0x000031d8 .quad -5353181642124984136 + 0x69, 0x6c, 0xed, 0x97, 0xf6, 0xff, 0xe1, 0x10, //0x000031e0 .quad 1216534808942701673 + 0xe6, 0x60, 0xbf, 0xd5, 0x12, 0x19, 0x23, 0xe3, //0x000031e8 .quad -2079791034228842266 + 0xc1, 0x63, 0xf4, 0x1e, 0xfa, 0x3f, 0x8d, 0xca, //0x000031f0 .quad -3851351762838199359 + 0x8f, 0x9c, 0x97, 0xc5, 0xab, 0xef, 0xf5, 0x8d, //0x000031f8 .quad -8217398424034108273 + 0xb2, 0x7c, 0xb1, 0xa6, 0xf8, 0x8f, 0x30, 0xbd, //0x00003200 .quad -4814189703547749198 + 0xb3, 0x83, 0xfd, 0xb6, 0x96, 0x6b, 0x73, 0xb1, //0x00003208 .quad -5660062011615247437 + 0xde, 0xdb, 0x5d, 0xd0, 0xf6, 0xb3, 0x7c, 0xac, //0x00003210 .quad -6017737129434686498 + 0xa0, 0xe4, 0xbc, 0x64, 0x7c, 0x46, 0xd0, 0xdd, //0x00003218 .quad -2463391496091671392 + 0x6b, 0xa9, 0x3a, 0x42, 0x7a, 0xf0, 0xcd, 0x6b, //0x00003220 .quad 7768129340171790699 + 0xe4, 0x0e, 0xf6, 0xbe, 0x0d, 0x2c, 0xa2, 0x8a, //0x00003228 .quad -8457148712698376476 + 0xc6, 0x53, 0xc9, 0xd2, 0x98, 0x6c, 0xc1, 0x86, //0x00003230 .quad -8736582398494813242 + 0x9d, 0x92, 0xb3, 0x2e, 0x11, 0xb7, 0x4a, 0xad, //0x00003238 .quad -5959749872445582691 + 0xb7, 0xa8, 0x7b, 0x07, 0xbf, 0xc7, 0x71, 0xe8, //0x00003240 .quad -1697355961263740745 + 0x44, 0x77, 0x60, 0x7a, 0xd5, 0x64, 0x9d, 0xd8, //0x00003248 .quad -2838001322129590460 + 0x72, 0x49, 0xad, 0x64, 0xd7, 0x1c, 0x47, 0x11, //0x00003250 .quad 1244995533423855986 + 0x8b, 0x4a, 0x7c, 0x6c, 0x05, 0x5f, 0x62, 0x87, //0x00003258 .quad -8691279853972075893 + 0xcf, 0x9b, 0xd8, 0x3d, 0x0d, 0xe4, 0x98, 0xd5, //0x00003260 .quad -3055441601647567921 + 0x2d, 0x5d, 0x9b, 0xc7, 0xc6, 0xf6, 0x3a, 0xa9, //0x00003268 .quad -6252413799037706963 + 0xc3, 0xc2, 0x4e, 0x8d, 0x10, 0x1d, 0xff, 0x4a, //0x00003270 .quad 5404070034795315907 + 0x79, 0x34, 0x82, 0x79, 0x78, 0xb4, 0x89, 0xd3, //0x00003278 .quad -3203831230369745799 + 0xba, 0x39, 0x51, 0x58, 0x2a, 0x72, 0xdf, 0xce, //0x00003280 .quad -3539985255894009414 + 0xcb, 0x60, 0xf1, 0x4b, 0xcb, 0x10, 0x36, 0x84, //0x00003288 .quad -8919923546622172981 + 0x28, 0x88, 0x65, 0xee, 0xb4, 0x4e, 0x97, 0xc2, //0x00003290 .quad -4424981569867511768 + 0xfe, 0xb8, 0xed, 0x1e, 0xfe, 0x94, 0x43, 0xa5, //0x00003298 .quad -6538218414850328322 + 0x32, 0xea, 0xfe, 0x29, 0x62, 0x22, 0x3d, 0x73, //0x000032a0 .quad 8303831092947774002 + 0x3e, 0x27, 0xa9, 0xa6, 0x3d, 0x7a, 0x94, 0xce, //0x000032a8 .quad -3561087000135522498 + 0x5f, 0x52, 0x3f, 0x5a, 0x7d, 0x35, 0x06, 0x08, //0x000032b0 .quad 578208414664970847 + 0x87, 0xb8, 0x29, 0x88, 0x66, 0xcc, 0x1c, 0x81, //0x000032b8 .quad -9143208402725783417 + 0xf7, 0x26, 0xcf, 0xb0, 0xdc, 0xc2, 0x07, 0xca, //0x000032c0 .quad -3888925500096174345 + 0xa8, 0x26, 0x34, 0x2a, 0x80, 0xff, 0x63, 0xa1, //0x000032c8 .quad -6817324484979841368 + 0xb5, 0xf0, 0x02, 0xdd, 0x93, 0xb3, 0x89, 0xfc, //0x000032d0 .quad -249470856692830027 + 0x52, 0x30, 0xc1, 0x34, 0x60, 0xff, 0xbc, 0xc9, //0x000032d8 .quad -3909969587797413806 + 0xe2, 0xac, 0x43, 0xd4, 0x78, 0x20, 0xac, 0xbb, //0x000032e0 .quad -4923524589293425438 + 0x67, 0x7c, 0xf1, 0x41, 0x38, 0x3f, 0x2c, 0xfc, //0x000032e8 .quad -275775966319379353 + 0x0d, 0x4c, 0xaa, 0x84, 0x4b, 0x94, 0x4b, 0xd5, //0x000032f0 .quad -3077202868308390899 + 0xc0, 0xed, 0x36, 0x29, 0x83, 0xa7, 0x9b, 0x9d, //0x000032f8 .quad -7089889006590693952 + 0x11, 0xdf, 0xd4, 0x65, 0x5e, 0x79, 0x9e, 0x0a, //0x00003300 .quad 765182433041899281 + 0x31, 0xa9, 0x84, 0xf3, 0x63, 0x91, 0x02, 0xc5, //0x00003308 .quad -4250675239810979535 + 0xd5, 0x16, 0x4a, 0xff, 0xb5, 0x17, 0x46, 0x4d, //0x00003310 .quad 5568164059729762005 + 0x7d, 0xd3, 0x65, 0xf0, 0xbc, 0x35, 0x43, 0xf6, //0x00003318 .quad -701658031336336515 + 0x45, 0x4e, 0x8e, 0xbf, 0xd1, 0xce, 0x4b, 0x50, //0x00003320 .quad 5785945546544795205 + 0x2e, 0xa4, 0x3f, 0x16, 0x96, 0x01, 0xea, 0x99, //0x00003328 .quad -7356065297226292178 + 0xd6, 0xe1, 0x71, 0x2f, 0x86, 0xc2, 0x5e, 0xe4, //0x00003330 .quad -1990940103673781802 + 0x39, 0x8d, 0xcf, 0x9b, 0xfb, 0x81, 0x64, 0xc0, //0x00003338 .quad -4583395603105477319 + 0x4c, 0x5a, 0x4e, 0xbb, 0x27, 0x73, 0x76, 0x5d, //0x00003340 .quad 6734696907262548556 + 0x88, 0x70, 0xc3, 0x82, 0x7a, 0xa2, 0x7d, 0xf0, //0x00003348 .quad -1117558485454458744 + 0x6f, 0xf8, 0x10, 0xd5, 0xf8, 0x07, 0x6a, 0x3a, //0x00003350 .quad 4209185567039092847 + 0x55, 0x26, 0xba, 0x91, 0x8c, 0x85, 0x4e, 0x96, //0x00003358 .quad -7616003081050118571 + 0x8b, 0x36, 0x55, 0x0a, 0xf7, 0x89, 0x04, 0x89, //0x00003360 .quad -8573576096483297653 + 0xea, 0xaf, 0x28, 0xb6, 0xef, 0x26, 0xe2, 0xbb, //0x00003368 .quad -4908317832885260310 + 0x2e, 0x84, 0xea, 0xcc, 0x74, 0xac, 0x45, 0x2b, //0x00003370 .quad 3118087934678041646 + 0xe5, 0xdb, 0xb2, 0xa3, 0xab, 0xb0, 0xda, 0xea, //0x00003378 .quad -1523711272679187483 + 0x9d, 0x92, 0x12, 0x00, 0xc9, 0x8b, 0x0b, 0x3b, //0x00003380 .quad 4254647968387469981 + 0x6f, 0xc9, 0x4f, 0x46, 0x6b, 0xae, 0xc8, 0x92, //0x00003388 .quad -7869848573065574033 + 0x44, 0x37, 0x17, 0x40, 0xbb, 0x6e, 0xce, 0x09, //0x00003390 .quad 706623942056949572 + 0xcb, 0xbb, 0xe3, 0x17, 0x06, 0xda, 0x7a, 0xb7, //0x00003398 .quad -5225624697904579637 + 0x15, 0x05, 0x1d, 0x10, 0x6a, 0x0a, 0x42, 0xcc, //0x000033a0 .quad -3728406090856200939 + 0xbd, 0xaa, 0xdc, 0x9d, 0x87, 0x90, 0x59, 0xe5, //0x000033a8 .quad -1920344853953336643 + 0x2d, 0x23, 0x12, 0x4a, 0x82, 0x46, 0xa9, 0x9f, //0x000033b0 .quad -6941939825212513491 + 0xb6, 0xea, 0xa9, 0xc2, 0x54, 0xfa, 0x57, 0x8f, //0x000033b8 .quad -8117744561361917258 + 0xf9, 0xab, 0x96, 0xdc, 0x22, 0x98, 0x93, 0x47, //0x000033c0 .quad 5157633273766521849 + 0x64, 0x65, 0x54, 0xf3, 0xe9, 0xf8, 0x2d, 0xb3, //0x000033c8 .quad -5535494683275008668 + 0xf7, 0x56, 0xbc, 0x93, 0x2b, 0x7e, 0x78, 0x59, //0x000033d0 .quad 6447041592208152311 + 0xbd, 0x7e, 0x29, 0x70, 0x24, 0x77, 0xf9, 0xdf, //0x000033d8 .quad -2307682335666372931 + 0x5a, 0xb6, 0x55, 0x3c, 0xdb, 0x4e, 0xeb, 0x57, //0x000033e0 .quad 6335244004343789146 + 0x36, 0xef, 0x19, 0xc6, 0x76, 0xea, 0xfb, 0x8b, //0x000033e8 .quad -8359830487432564938 + 0xf1, 0x23, 0x6b, 0x0b, 0x92, 0x22, 0xe6, 0xed, //0x000033f0 .quad -1304317031425039375 + 0x03, 0x6b, 0xa0, 0x77, 0x14, 0xe5, 0xfa, 0xae, //0x000033f8 .quad -5838102090863318269 + 0xed, 0xec, 0x45, 0x8e, 0x36, 0xab, 0x5f, 0xe9, //0x00003400 .quad -1630396289281299219 + 0xc4, 0x85, 0x88, 0x95, 0x59, 0x9e, 0xb9, 0xda, //0x00003408 .quad -2685941595151759932 + 0x14, 0xb4, 0xeb, 0x18, 0x02, 0xcb, 0xdb, 0x11, //0x00003410 .quad 1286845328412881940 + 0x9b, 0x53, 0x75, 0xfd, 0xf7, 0x02, 0xb4, 0x88, //0x00003418 .quad -8596242524610931813 + 0x19, 0xa1, 0x26, 0x9f, 0xc2, 0xbd, 0x52, 0xd6, //0x00003420 .quad -3003129357911285479 + 0x81, 0xa8, 0xd2, 0xfc, 0xb5, 0x03, 0xe1, 0xaa, //0x00003428 .quad -6133617137336276863 + 0x5f, 0x49, 0xf0, 0x46, 0x33, 0x6d, 0xe7, 0x4b, //0x00003430 .quad 5469460339465668959 + 0xa2, 0x52, 0x07, 0x7c, 0xa3, 0x44, 0x99, 0xd5, //0x00003438 .quad -3055335403242958174 + 0xdb, 0x2d, 0x56, 0x0c, 0x40, 0xa4, 0x70, 0x6f, //0x00003440 .quad 8030098730593431003 + 0xa5, 0x93, 0x84, 0x2d, 0xe6, 0xca, 0x7f, 0x85, //0x00003448 .quad -8827113654667930715 + 0x52, 0xb9, 0x6b, 0x0f, 0x50, 0xcd, 0x4c, 0xcb, //0x00003450 .quad -3797434642040374958 + 0x8e, 0xb8, 0xe5, 0xb8, 0x9f, 0xbd, 0xdf, 0xa6, //0x00003458 .quad -6422206049907525490 + 0xa7, 0xa7, 0x46, 0x13, 0xa4, 0x00, 0x20, 0x7e, //0x00003460 .quad 9088264752731695015 + 0xb2, 0x26, 0x1f, 0xa7, 0x07, 0xad, 0x97, 0xd0, //0x00003468 .quad -3416071543957018958 + 0xc8, 0x28, 0x0c, 0x8c, 0x66, 0x00, 0xd4, 0x8e, //0x00003470 .quad -8154892584824854328 + 0x2f, 0x78, 0x73, 0xc8, 0x24, 0xcc, 0x5e, 0x82, //0x00003478 .quad -9052573742614218705 + 0xfa, 0x32, 0x0f, 0x2f, 0x80, 0x00, 0x89, 0x72, //0x00003480 .quad 8253128342678483706 + 0x3b, 0x56, 0x90, 0xfa, 0x2d, 0x7f, 0xf6, 0xa2, //0x00003488 .quad -6704031159840385477 + 0xb9, 0xff, 0xd2, 0x3a, 0xa0, 0x40, 0x2b, 0x4f, //0x00003490 .quad 5704724409920716729 + 0xca, 0x6b, 0x34, 0x79, 0xf9, 0x1e, 0xb4, 0xcb, //0x00003498 .quad -3768352931373093942 + 0xa8, 0xbf, 0x87, 0x49, 0xc8, 0x10, 0xf6, 0xe2, //0x000034a0 .quad -2092466524453879896 + 0xbc, 0x86, 0x81, 0xd7, 0xb7, 0x26, 0xa1, 0xfe, //0x000034a8 .quad -98755145788979524 + 0xc9, 0xd7, 0xf4, 0x2d, 0x7d, 0xca, 0xd9, 0x0d, //0x000034b0 .quad 998051431430019017 + 0x36, 0xf4, 0xb0, 0xe6, 0x32, 0xb8, 0x24, 0x9f, //0x000034b8 .quad -6979250993759194058 + 0xbb, 0x0d, 0x72, 0x79, 0x1c, 0x3d, 0x50, 0x91, //0x000034c0 .quad -7975807747567252037 + 0x43, 0x31, 0x5d, 0xa0, 0x3f, 0xe6, 0xed, 0xc6, //0x000034c8 .quad -4112377723771604669 + 0x2a, 0x91, 0xce, 0x97, 0x63, 0x4c, 0xa4, 0x75, //0x000034d0 .quad 8476984389250486570 + 0x94, 0x7d, 0x74, 0x88, 0xcf, 0x5f, 0xa9, 0xf8, //0x000034d8 .quad -528786136287117932 + 0xba, 0x1a, 0xe1, 0x3e, 0xbe, 0xaf, 0x86, 0xc9, //0x000034e0 .quad -3925256793573221702 + 0x7c, 0xce, 0x48, 0xb5, 0xe1, 0xdb, 0x69, 0x9b, //0x000034e8 .quad -7248020362820530564 + 0x68, 0x61, 0x99, 0xce, 0xad, 0x5b, 0xe8, 0xfb, //0x000034f0 .quad -294884973539139224 + 0x1b, 0x02, 0x9b, 0x22, 0xda, 0x52, 0x44, 0xc2, //0x000034f8 .quad -4448339435098275301 + 0xc3, 0xb9, 0x3f, 0x42, 0x99, 0x72, 0xe2, 0xfa, //0x00003500 .quad -368606216923924029 + 0xa2, 0xc2, 0x41, 0xab, 0x90, 0x67, 0xd5, 0xf2, //0x00003508 .quad -948738275445456222 + 0x1a, 0xd4, 0x67, 0xc9, 0x9f, 0x87, 0xcd, 0xdc, //0x00003510 .quad -2536221894791146470 + 0xa5, 0x19, 0x09, 0x6b, 0xba, 0x60, 0xc5, 0x97, //0x00003518 .quad -7510490449794491995 + 0x20, 0xc9, 0xc1, 0xbb, 0x87, 0xe9, 0x00, 0x54, //0x00003520 .quad 6053094668365842720 + 0x0f, 0x60, 0xcb, 0x05, 0xe9, 0xb8, 0xb6, 0xbd, //0x00003528 .quad -4776427043815727089 + 0x68, 0x3b, 0xb2, 0xaa, 0xe9, 0x23, 0x01, 0x29, //0x00003530 .quad 2954682317029915496 + 0x13, 0x38, 0x3e, 0x47, 0x23, 0x67, 0x24, 0xed, //0x00003538 .quad -1358847786342270957 + 0x21, 0x65, 0xaf, 0x0a, 0x72, 0xb6, 0xa0, 0xf9, //0x00003540 .quad -459166561069996767 + 0x0b, 0xe3, 0x86, 0x0c, 0x76, 0xc0, 0x36, 0x94, //0x00003548 .quad -7766808894105001205 + 0x69, 0x3e, 0x5b, 0x8d, 0x0e, 0xe4, 0x08, 0xf8, //0x00003550 .quad -573958201337495959 + 0xce, 0x9b, 0xa8, 0x8f, 0x93, 0x70, 0x44, 0xb9, //0x00003558 .quad -5096825099203863602 + 0x04, 0x0e, 0xb2, 0x30, 0x12, 0x1d, 0x0b, 0xb6, //0x00003560 .quad -5329133770099257852 + 0xc2, 0xc2, 0x92, 0x73, 0xb8, 0x8c, 0x95, 0xe7, //0x00003568 .quad -1759345355577441598 + 0xc2, 0x48, 0x6f, 0x5e, 0x2b, 0xf2, 0xc6, 0xb1, //0x00003570 .quad -5636551615525730110 + 0xb9, 0xb9, 0x3b, 0x48, 0xf3, 0x77, 0xbd, 0x90, //0x00003578 .quad -8017119874876982855 + 0xf3, 0x1a, 0x0b, 0x36, 0xb6, 0xae, 0x38, 0x1e, //0x00003580 .quad 2177682517447613171 + 0x28, 0xa8, 0x4a, 0x1a, 0xf0, 0xd5, 0xec, 0xb4, //0x00003588 .quad -5409713825168840664 + 0xb0, 0xe1, 0x8d, 0xc3, 0x63, 0xda, 0xc6, 0x25, //0x00003590 .quad 2722103146809516464 + 0x32, 0x52, 0xdd, 0x20, 0x6c, 0x0b, 0x28, 0xe2, //0x00003598 .quad -2150456263033662926 + 0x0e, 0xad, 0x38, 0x5a, 0x7e, 0x48, 0x9c, 0x57, //0x000035a0 .quad 6313000485183335694 + 0x5f, 0x53, 0x8a, 0x94, 0x23, 0x07, 0x59, 0x8d, //0x000035a8 .quad -8261564192037121185 + 0x51, 0xd8, 0xc6, 0xf0, 0x9d, 0x5a, 0x83, 0x2d, //0x000035b0 .quad 3279564588051781713 + 0x37, 0xe8, 0xac, 0x79, 0xec, 0x48, 0xaf, 0xb0, //0x000035b8 .quad -5715269221619013577 + 0x65, 0x8e, 0xf8, 0x6c, 0x45, 0x31, 0xe4, 0xf8, //0x000035c0 .quad -512230283362660763 + 0x44, 0x22, 0x18, 0x98, 0x27, 0x1b, 0xdb, 0xdc, //0x000035c8 .quad -2532400508596379068 + 0xff, 0x58, 0x1b, 0x64, 0xcb, 0x9e, 0x8e, 0x1b, //0x000035d0 .quad 1985699082112030975 + 0x6b, 0x15, 0x0f, 0xbf, 0xf8, 0xf0, 0x08, 0x8a, //0x000035d8 .quad -8500279345513818773 + 0x3f, 0x2f, 0x22, 0x3d, 0x7e, 0x46, 0x72, 0xe2, //0x000035e0 .quad -2129562165787349185 + 0xc5, 0xda, 0xd2, 0xee, 0x36, 0x2d, 0x8b, 0xac, //0x000035e8 .quad -6013663163464885563 + 0x0f, 0xbb, 0x6a, 0xcc, 0x1d, 0xd8, 0x0e, 0x5b, //0x000035f0 .quad 6561419329620589327 + 0x77, 0x91, 0x87, 0xaa, 0x84, 0xf8, 0xad, 0xd7, //0x000035f8 .quad -2905392935903719049 + 0xe9, 0xb4, 0xc2, 0x9f, 0x12, 0x47, 0xe9, 0x98, //0x00003600 .quad -7428327965055601431 + 0xea, 0xba, 0x94, 0xea, 0x52, 0xbb, 0xcc, 0x86, //0x00003608 .quad -8733399612580906262 + 0x24, 0x62, 0xb3, 0x47, 0xd7, 0x98, 0x23, 0x3f, //0x00003610 .quad 4549648098962661924 + 0xa5, 0xe9, 0x39, 0xa5, 0x27, 0xea, 0x7f, 0xa8, //0x00003618 .quad -6305063497298744923 + 0xad, 0x3a, 0xa0, 0x19, 0x0d, 0x7f, 0xec, 0x8e, //0x00003620 .quad -8147997931578836307 + 0x0e, 0x64, 0x88, 0x8e, 0xb1, 0xe4, 0x9f, 0xd2, //0x00003628 .quad -3269643353196043250 + 0xac, 0x24, 0x04, 0x30, 0x68, 0xcf, 0x53, 0x19, //0x00003630 .quad 1825030320404309164 + 0x89, 0x3e, 0x15, 0xf9, 0xee, 0xee, 0xa3, 0x83, //0x00003638 .quad -8961056123388608887 + 0xd7, 0x2d, 0x05, 0x3c, 0x42, 0xc3, 0xa8, 0x5f, //0x00003640 .quad 6892973918932774359 + 0x2b, 0x8e, 0x5a, 0xb7, 0xaa, 0xea, 0x8c, 0xa4, //0x00003648 .quad -6589634135808373205 + 0x4d, 0x79, 0x06, 0xcb, 0x12, 0xf4, 0x92, 0x37, //0x00003650 .quad 4004531380238580045 + 0xb6, 0x31, 0x31, 0x65, 0x55, 0x25, 0xb0, 0xcd, //0x00003658 .quad -3625356651333078602 + 0xd0, 0x0b, 0xe4, 0xbe, 0x8b, 0xd8, 0xbb, 0xe2, //0x00003660 .quad -2108853905778275376 + 0x11, 0xbf, 0x3e, 0x5f, 0x55, 0x17, 0x8e, 0x80, //0x00003668 .quad -9183376934724255983 + 0xc4, 0x0e, 0x9d, 0xae, 0xae, 0xce, 0x6a, 0x5b, //0x00003670 .quad 6587304654631931588 + 0xd6, 0x6e, 0x0e, 0xb7, 0x2a, 0x9d, 0xb1, 0xa0, //0x00003678 .quad -6867535149977932074 + 0x75, 0x52, 0x44, 0x5a, 0x5a, 0x82, 0x45, 0xf2, //0x00003680 .quad -989241218564861323 + 0x8b, 0x0a, 0xd2, 0x64, 0x75, 0x04, 0xde, 0xc8, //0x00003688 .quad -3972732919045027189 + 0x12, 0x67, 0xd5, 0xf0, 0xf0, 0xe2, 0xd6, 0xee, //0x00003690 .quad -1236551523206076654 + 0x2e, 0x8d, 0x06, 0xbe, 0x92, 0x85, 0x15, 0xfb, //0x00003698 .quad -354230130378896082 + 0x6b, 0x60, 0x85, 0x96, 0xd6, 0x4d, 0x46, 0x55, //0x000036a0 .quad 6144684325637283947 + 0x3d, 0x18, 0xc4, 0xb6, 0x7b, 0x73, 0xed, 0x9c, //0x000036a8 .quad -7138922859127891907 + 0x86, 0xb8, 0x26, 0x3c, 0x4c, 0xe1, 0x97, 0xaa, //0x000036b0 .quad -6154202648235558778 + 0x4c, 0x1e, 0x75, 0xa4, 0x5a, 0xd0, 0x28, 0xc4, //0x000036b8 .quad -4311967555482476980 + 0xa8, 0x66, 0x30, 0x4b, 0x9f, 0xd9, 0x3d, 0xd5, //0x000036c0 .quad -3081067291867060568 + 0xdf, 0x65, 0x92, 0x4d, 0x71, 0x04, 0x33, 0xf5, //0x000036c8 .quad -778273425925708321 + 0x29, 0x40, 0xfe, 0x8e, 0x03, 0xa8, 0x46, 0xe5, //0x000036d0 .quad -1925667057416912855 + 0xab, 0x7f, 0x7b, 0xd0, 0xc6, 0xe2, 0x3f, 0x99, //0x000036d8 .quad -7403949918844649557 + 0x33, 0xd0, 0xbd, 0x72, 0x04, 0x52, 0x98, 0xde, //0x000036e0 .quad -2407083821771141069 + 0x96, 0x5f, 0x9a, 0x84, 0x78, 0xdb, 0x8f, 0xbf, //0x000036e8 .quad -4643251380128424042 + 0x40, 0x44, 0x6d, 0x8f, 0x85, 0x66, 0x3e, 0x96, //0x000036f0 .quad -7620540795641314240 + 0x7c, 0xf7, 0xc0, 0xa5, 0x56, 0xd2, 0x73, 0xef, //0x000036f8 .quad -1192378206733142148 + 0xa8, 0x4a, 0xa4, 0x79, 0x13, 0x00, 0xe7, 0xdd, //0x00003700 .quad -2456994988062127448 + 0xad, 0x9a, 0x98, 0x27, 0x76, 0x63, 0xa8, 0x95, //0x00003708 .quad -7662765406849295699 + 0x52, 0x5d, 0x0d, 0x58, 0x18, 0xc0, 0x60, 0x55, //0x00003710 .quad 6152128301777116498 + 0x59, 0xc1, 0x7e, 0xb1, 0x53, 0x7c, 0x12, 0xbb, //0x00003718 .quad -4966770740134231719 + 0xa6, 0xb4, 0x10, 0x6e, 0x1e, 0xf0, 0xb8, 0xaa, //0x00003720 .quad -6144897678060768090 + 0xaf, 0x71, 0xde, 0x9d, 0x68, 0x1b, 0xd7, 0xe9, //0x00003728 .quad -1596777406740401745 + 0xe8, 0x70, 0xca, 0x04, 0x13, 0x96, 0xb3, 0xca, //0x00003730 .quad -3840561048787980056 + 0x0d, 0x07, 0xab, 0x62, 0x21, 0x71, 0x26, 0x92, //0x00003738 .quad -7915514906853832947 + 0x22, 0x0d, 0xfd, 0xc5, 0x97, 0x7b, 0x60, 0x3d, //0x00003740 .quad 4422670725869800738 + 0xd1, 0xc8, 0x55, 0xbb, 0x69, 0x0d, 0xb0, 0xb6, //0x00003748 .quad -5282707615139903279 + 0x6a, 0x50, 0x7c, 0xb7, 0x7d, 0x9a, 0xb8, 0x8c, //0x00003750 .quad -8306719647944912790 + 0x05, 0x3b, 0x2b, 0x2a, 0xc4, 0x10, 0x5c, 0xe4, //0x00003758 .quad -1991698500497491195 + 0x42, 0xb2, 0xad, 0x92, 0x8e, 0x60, 0xf3, 0x77, //0x00003760 .quad 8643358275316593218 + 0xe3, 0x04, 0x5b, 0x9a, 0x7a, 0x8a, 0xb9, 0x8e, //0x00003768 .quad -8162340590452013853 + 0xd3, 0x1e, 0x59, 0x37, 0xb2, 0x38, 0xf0, 0x55, //0x00003770 .quad 6192511825718353619 + 0x1c, 0xc6, 0xf1, 0x40, 0x19, 0xed, 0x67, 0xb2, //0x00003778 .quad -5591239719637629412 + 0x88, 0x66, 0x2f, 0xc5, 0xde, 0x46, 0x6c, 0x6b, //0x00003780 .quad 7740639782147942024 + 0xa3, 0x37, 0x2e, 0x91, 0x5f, 0xe8, 0x01, 0xdf, //0x00003788 .quad -2377363631119648861 + 0x15, 0xa0, 0x3d, 0x3b, 0x4b, 0xac, 0x23, 0x23, //0x00003790 .quad 2532056854628769813 + 0xc6, 0xe2, 0xbc, 0xba, 0x3b, 0x31, 0x61, 0x8b, //0x00003798 .quad -8403381297090862394 + 0x1a, 0x08, 0x0d, 0x0a, 0x5e, 0x97, 0xec, 0xab, //0x000037a0 .quad -6058300968568813542 + 0x77, 0x1b, 0x6c, 0xa9, 0x8a, 0x7d, 0x39, 0xae, //0x000037a8 .quad -5892540602936190089 + 0x21, 0x4a, 0x90, 0x8c, 0x35, 0xbd, 0xe7, 0x96, //0x000037b0 .quad -7572876210711016927 + 0x55, 0x22, 0xc7, 0x53, 0xed, 0xdc, 0xc7, 0xd9, //0x000037b8 .quad -2753989735242849707 + 0x54, 0x2e, 0xda, 0x77, 0x41, 0xd6, 0x50, 0x7e, //0x000037c0 .quad 9102010423587778132 + 0x75, 0x75, 0x5c, 0x54, 0x14, 0xea, 0x1c, 0x88, //0x000037c8 .quad -8638772612167862923 + 0xe9, 0xb9, 0xd0, 0xd5, 0xd1, 0x0b, 0xe5, 0xdd, //0x000037d0 .quad -2457545025797441047 + 0xd2, 0x92, 0x73, 0x69, 0x99, 0x24, 0x24, 0xaa, //0x000037d8 .quad -6186779746782440750 + 0x64, 0xe8, 0x44, 0x4b, 0xc6, 0x4e, 0x5e, 0x95, //0x000037e0 .quad -7683617300674189212 + 0x87, 0x77, 0xd0, 0xc3, 0xbf, 0x2d, 0xad, 0xd4, //0x000037e8 .quad -3121788665050663033 + 0x3e, 0x11, 0x0b, 0xef, 0x3b, 0xf1, 0x5a, 0xbd, //0x000037f0 .quad -4802260812921368258 + 0xb4, 0x4a, 0x62, 0xda, 0x97, 0x3c, 0xec, 0x84, //0x000037f8 .quad -8868646943297746252 + 0x8e, 0xd5, 0xcd, 0xea, 0x8a, 0xad, 0xb1, 0xec, //0x00003800 .quad -1391139997724322418 + 0x61, 0xdd, 0xfa, 0xd0, 0xbd, 0x4b, 0x27, 0xa6, //0x00003808 .quad -6474122660694794911 + 0xf2, 0x4a, 0x81, 0xa5, 0xed, 0x18, 0xde, 0x67, //0x00003810 .quad 7484447039699372786 + 0xba, 0x94, 0x39, 0x45, 0xad, 0x1e, 0xb1, 0xcf, //0x00003818 .quad -3480967307441105734 + 0xd7, 0xce, 0x70, 0x87, 0x94, 0xcf, 0xea, 0x80, //0x00003820 .quad -9157278655470055721 + 0xf4, 0xfc, 0x43, 0x4b, 0x2c, 0xb3, 0xce, 0x81, //0x00003828 .quad -9093133594791772940 + 0x8d, 0x02, 0x4d, 0xa9, 0x79, 0x83, 0x25, 0xa1, //0x00003830 .quad -6834912300910181747 + 0x31, 0xfc, 0x14, 0x5e, 0xf7, 0x5f, 0x42, 0xa2, //0x00003838 .quad -6754730975062328271 + 0x30, 0x43, 0xa0, 0x13, 0x58, 0xe4, 0x6e, 0x09, //0x00003840 .quad 679731660717048624 + 0x3e, 0x3b, 0x9a, 0x35, 0xf5, 0xf7, 0xd2, 0xca, //0x00003848 .quad -3831727700400522434 + 0xfc, 0x53, 0x88, 0x18, 0x6e, 0x9d, 0xca, 0x8b, //0x00003850 .quad -8373707460958465028 + 0x0d, 0xca, 0x00, 0x83, 0xf2, 0xb5, 0x87, 0xfd, //0x00003858 .quad -177973607073265139 + 0x7d, 0x34, 0x55, 0xcf, 0x64, 0xa2, 0x5e, 0x77, //0x00003860 .quad 8601490892183123069 + 0x48, 0x7e, 0xe0, 0x91, 0xb7, 0xd1, 0x74, 0x9e, //0x00003868 .quad -7028762532061872568 + 0x9d, 0x81, 0x2a, 0x03, 0xfe, 0x4a, 0x36, 0x95, //0x00003870 .quad -7694880458480647779 + 0xda, 0x9d, 0x58, 0x76, 0x25, 0x06, 0x12, 0xc6, //0x00003878 .quad -4174267146649952806 + 0x04, 0x22, 0xf5, 0x83, 0xbd, 0xdd, 0x83, 0x3a, //0x00003880 .quad 4216457482181353988 + 0x51, 0xc5, 0xee, 0xd3, 0xae, 0x87, 0x96, 0xf7, //0x00003888 .quad -606147914885053103 + 0x42, 0x35, 0x79, 0x72, 0x96, 0x6a, 0x92, 0xc4, //0x00003890 .quad -4282243101277735614 + 0x52, 0x3b, 0x75, 0x44, 0xcd, 0x14, 0xbe, 0x9a, //0x00003898 .quad -7296371474444240046 + 0x93, 0x82, 0x17, 0x0f, 0x3c, 0x05, 0xb7, 0x75, //0x000038a0 .quad 8482254178684994195 + 0x27, 0x8a, 0x92, 0x95, 0x00, 0x9a, 0x6d, 0xc1, //0x000038a8 .quad -4508778324627912153 + 0x38, 0x63, 0xdd, 0x12, 0x8b, 0xc6, 0x24, 0x53, //0x000038b0 .quad 5991131704928854840 + 0xb1, 0x2c, 0xf7, 0xba, 0x80, 0x00, 0xc9, 0xf1, //0x000038b8 .quad -1024286887357502287 + 0x03, 0x5e, 0xca, 0xeb, 0x16, 0xfc, 0xf6, 0xd3, //0x000038c0 .quad -3173071712060547581 + 0xee, 0x7b, 0xda, 0x74, 0x50, 0xa0, 0x1d, 0x97, //0x000038c8 .quad -7557708332239520786 + 0x84, 0xf5, 0xbc, 0xa6, 0x1c, 0xbb, 0xf4, 0x88, //0x000038d0 .quad -8578025658503072380 + 0xea, 0x1a, 0x11, 0x92, 0x64, 0x08, 0xe5, 0xbc, //0x000038d8 .quad -4835449396872013078 + 0xe5, 0x32, 0x6c, 0xd0, 0xe3, 0xe9, 0x31, 0x2b, //0x000038e0 .quad 3112525982153323237 + 0xa5, 0x61, 0x95, 0xb6, 0x7d, 0x4a, 0x1e, 0xec, //0x000038e8 .quad -1432625727662628443 + 0xcf, 0x9f, 0x43, 0x62, 0x2e, 0x32, 0xff, 0x3a, //0x000038f0 .quad 4251171748059520975 + 0x07, 0x5d, 0x1d, 0x92, 0x8e, 0xee, 0x92, 0x93, //0x000038f8 .quad -7812920107430224633 + 0xc2, 0x87, 0xd4, 0xfa, 0xb9, 0xfe, 0xbe, 0x09, //0x00003900 .quad 702278666647013314 + 0x49, 0xb4, 0xa4, 0x36, 0x32, 0xaa, 0x77, 0xb8, //0x00003908 .quad -5154464115860392887 + 0xb3, 0xa9, 0x89, 0x79, 0x68, 0xbe, 0x2e, 0x4c, //0x00003910 .quad 5489534351736154547 + 0x5b, 0xe1, 0x4d, 0xc4, 0xbe, 0x94, 0x95, 0xe6, //0x00003918 .quad -1831394126398103205 + 0x10, 0x0a, 0xf6, 0x4b, 0x01, 0x37, 0x9d, 0x0f, //0x00003920 .quad 1125115960621402640 + 0xd9, 0xac, 0xb0, 0x3a, 0xf7, 0x7c, 0x1d, 0x90, //0x00003928 .quad -8062150356639896359 + 0x94, 0x8c, 0xf3, 0x9e, 0xc1, 0x84, 0x84, 0x53, //0x00003930 .quad 6018080969204141204 + 0x0f, 0xd8, 0x5c, 0x09, 0x35, 0xdc, 0x24, 0xb4, //0x00003938 .quad -5466001927372482545 + 0xb9, 0x6f, 0xb0, 0x06, 0xf2, 0xa5, 0x65, 0x28, //0x00003940 .quad 2910915193077788601 + 0x13, 0x0e, 0xb4, 0x4b, 0x42, 0x13, 0x2e, 0xe1, //0x00003948 .quad -2220816390788215277 + 0xd3, 0x45, 0x2e, 0x44, 0xb7, 0x87, 0x3f, 0xf9, //0x00003950 .quad -486521013540076077 + 0xcb, 0x88, 0x50, 0x6f, 0x09, 0xcc, 0xbc, 0x8c, //0x00003958 .quad -8305539271883716405 + 0x48, 0xd7, 0x39, 0x15, 0xa5, 0x69, 0x8f, 0xf7, //0x00003960 .quad -608151266925095096 + 0xfe, 0xaa, 0x24, 0xcb, 0x0b, 0xff, 0xeb, 0xaf, //0x00003968 .quad -5770238071427257602 + 0x1b, 0x4d, 0x88, 0x5a, 0x0e, 0x44, 0x73, 0xb5, //0x00003970 .quad -5371875102083756773 + 0xbe, 0xd5, 0xed, 0xbd, 0xce, 0xfe, 0xe6, 0xdb, //0x00003978 .quad -2601111570856684098 + 0x30, 0x30, 0x95, 0xf8, 0x88, 0x0a, 0x68, 0x31, //0x00003980 .quad 3560107088838733872 + 0x97, 0xa5, 0xb4, 0x36, 0x41, 0x5f, 0x70, 0x89, //0x00003988 .quad -8543223759426509417 + 0x3d, 0x7c, 0xba, 0x36, 0x2b, 0x0d, 0xc2, 0xfd, //0x00003990 .quad -161552157378970563 + 0xfc, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00003998 .quad -6067343680855748868 + 0x4c, 0x1b, 0x69, 0x04, 0x76, 0x90, 0x32, 0x3d, //0x000039a0 .quad 4409745821703674700 + 0xbc, 0x42, 0x7a, 0xe5, 0xd5, 0x94, 0xbf, 0xd6, //0x000039a8 .quad -2972493582642298180 + 0x0f, 0xb1, 0xc1, 0xc2, 0x49, 0x9a, 0x3f, 0xa6, //0x000039b0 .quad -6467280898289979121 + 0xb5, 0x69, 0x6c, 0xaf, 0x05, 0xbd, 0x37, 0x86, //0x000039b8 .quad -8775337516792518219 + 0x53, 0x1d, 0x72, 0x33, 0xdc, 0x80, 0xcf, 0x0f, //0x000039c0 .quad 1139270913992301907 + 0x23, 0x84, 0x47, 0x1b, 0x47, 0xac, 0xc5, 0xa7, //0x000039c8 .quad -6357485877563259869 + 0xa8, 0xa4, 0x4e, 0x40, 0x13, 0x61, 0xc3, 0xd3, //0x000039d0 .quad -3187597375937010520 + 0x2b, 0x65, 0x19, 0xe2, 0x58, 0x17, 0xb7, 0xd1, //0x000039d8 .quad -3335171328526686933 + 0xe9, 0x26, 0x31, 0x08, 0xac, 0x1c, 0x5a, 0x64, //0x000039e0 .quad 7231123676894144233 + 0x3b, 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83, //0x000039e8 .quad -9002011107970261189 + 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, 0x70, 0x3d, //0x000039f0 .quad 4427218577690292387 + 0x0a, 0xd7, 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, //0x000039f8 .quad -6640827866535438582 + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00003a00 QUAD $0xcccccccccccccccc; QUAD $0xcccccccccccccccc // .space 16, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a10 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00003a18 .quad -9223372036854775808 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a20 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, //0x00003a28 .quad -6917529027641081856 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a30 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, //0x00003a38 .quad -4035225266123964416 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a40 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00003a48 .quad -432345564227567616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a50 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9c, //0x00003a58 .quad -7187745005283311616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a60 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, //0x00003a68 .quad -4372995238176751616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a70 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, //0x00003a78 .quad -854558029293551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a80 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x96, 0x98, //0x00003a88 .quad -7451627795949551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a90 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbc, 0xbe, //0x00003a98 .quad -4702848726509551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003aa0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6b, 0xee, //0x00003aa8 .quad -1266874889709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003ab0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x95, //0x00003ab8 .quad -7709325833709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003ac0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x40, 0xb7, 0x43, 0xba, //0x00003ac8 .quad -5024971273709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003ad0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0xd4, 0xe8, //0x00003ad8 .quad -1669528073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003ae0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xe7, 0x84, 0x91, //0x00003ae8 .quad -7960984073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003af0 .quad 0 + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x20, 0xe6, 0xb5, //0x00003af8 .quad -5339544073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b00 .quad 0 + 0x00, 0x00, 0x00, 0xa0, 0x31, 0xa9, 0x5f, 0xe3, //0x00003b08 .quad -2062744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b10 .quad 0 + 0x00, 0x00, 0x00, 0x04, 0xbf, 0xc9, 0x1b, 0x8e, //0x00003b18 .quad -8206744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b20 .quad 0 + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0xbc, 0xa2, 0xb1, //0x00003b28 .quad -5646744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b30 .quad 0 + 0x00, 0x00, 0x40, 0x76, 0x3a, 0x6b, 0x0b, 0xde, //0x00003b38 .quad -2446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b40 .quad 0 + 0x00, 0x00, 0xe8, 0x89, 0x04, 0x23, 0xc7, 0x8a, //0x00003b48 .quad -8446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b50 .quad 0 + 0x00, 0x00, 0x62, 0xac, 0xc5, 0xeb, 0x78, 0xad, //0x00003b58 .quad -5946744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b60 .quad 0 + 0x00, 0x80, 0x7a, 0x17, 0xb7, 0x26, 0xd7, 0xd8, //0x00003b68 .quad -2821744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b70 .quad 0 + 0x00, 0x90, 0xac, 0x6e, 0x32, 0x78, 0x86, 0x87, //0x00003b78 .quad -8681119073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b80 .quad 0 + 0x00, 0xb4, 0x57, 0x0a, 0x3f, 0x16, 0x68, 0xa9, //0x00003b88 .quad -6239712823709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b90 .quad 0 + 0x00, 0xa1, 0xed, 0xcc, 0xce, 0x1b, 0xc2, 0xd3, //0x00003b98 .quad -3187955011209551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003ba0 .quad 0 + 0xa0, 0x84, 0x14, 0x40, 0x61, 0x51, 0x59, 0x84, //0x00003ba8 .quad -8910000909647051616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003bb0 .quad 0 + 0xc8, 0xa5, 0x19, 0x90, 0xb9, 0xa5, 0x6f, 0xa5, //0x00003bb8 .quad -6525815118631426616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003bc0 .quad 0 + 0x3a, 0x0f, 0x20, 0xf4, 0x27, 0x8f, 0xcb, 0xce, //0x00003bc8 .quad -3545582879861895366 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, //0x00003bd0 .quad 4611686018427387904 + 0x84, 0x09, 0x94, 0xf8, 0x78, 0x39, 0x3f, 0x81, //0x00003bd8 .quad -9133518327554766460 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, //0x00003be0 .quad 5764607523034234880 + 0xe5, 0x0b, 0xb9, 0x36, 0xd7, 0x07, 0x8f, 0xa1, //0x00003be8 .quad -6805211891016070171 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, //0x00003bf0 .quad -6629298651489370112 + 0xde, 0x4e, 0x67, 0x04, 0xcd, 0xc9, 0xf2, 0xc9, //0x00003bf8 .quad -3894828845342699810 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, //0x00003c00 .quad 5548434740920451072 + 0x96, 0x22, 0x81, 0x45, 0x40, 0x7c, 0x6f, 0xfc, //0x00003c08 .quad -256850038250986858 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, //0x00003c10 .quad -1143914305352105984 + 0x9d, 0xb5, 0x70, 0x2b, 0xa8, 0xad, 0xc5, 0x9d, //0x00003c18 .quad -7078060301547948643 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6c, //0x00003c20 .quad 7793479155164643328 + 0x05, 0xe3, 0x4c, 0x36, 0x12, 0x19, 0x37, 0xc5, //0x00003c28 .quad -4235889358507547899 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xc7, //0x00003c30 .quad -4093209111326359552 + 0xc6, 0x1b, 0xe0, 0xc3, 0x56, 0xdf, 0x84, 0xf6, //0x00003c38 .quad -683175679707046970 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7f, 0x3c, //0x00003c40 .quad 4359273333062107136 + 0x5c, 0x11, 0x6c, 0x3a, 0x96, 0x0b, 0x13, 0x9a, //0x00003c48 .quad -7344513827457986212 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x9f, 0x4b, //0x00003c50 .quad 5449091666327633920 + 0xb3, 0x15, 0x07, 0xc9, 0x7b, 0xce, 0x97, 0xc0, //0x00003c58 .quad -4568956265895094861 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x86, 0x1e, //0x00003c60 .quad 2199678564482154496 + 0x20, 0xdb, 0x48, 0xbb, 0x1a, 0xc2, 0xbd, 0xf0, //0x00003c68 .quad -1099509313941480672 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x14, 0x13, //0x00003c70 .quad 1374799102801346560 + 0xf4, 0x88, 0x0d, 0xb5, 0x50, 0x99, 0x76, 0x96, //0x00003c78 .quad -7604722348854507276 + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x55, 0xd9, 0x17, //0x00003c80 .quad 1718498878501683200 + 0x31, 0xeb, 0x50, 0xe2, 0xa4, 0x3f, 0x14, 0xbc, //0x00003c88 .quad -4894216917640746191 + 0x00, 0x00, 0x00, 0x00, 0x08, 0xab, 0xcf, 0x5d, //0x00003c90 .quad 6759809616554491904 + 0xfd, 0x25, 0xe5, 0x1a, 0x8e, 0x4f, 0x19, 0xeb, //0x00003c98 .quad -1506085128623544835 + 0x00, 0x00, 0x00, 0x00, 0xe5, 0xca, 0xa1, 0x5a, //0x00003ca0 .quad 6530724019560251392 + 0xbe, 0x37, 0xcf, 0xd0, 0xb8, 0xd1, 0xef, 0x92, //0x00003ca8 .quad -7858832233030797378 + 0x00, 0x00, 0x00, 0x40, 0x9e, 0x3d, 0x4a, 0xf1, //0x00003cb0 .quad -1059967012404461568 + 0xad, 0x05, 0x03, 0x05, 0x27, 0xc6, 0xab, 0xb7, //0x00003cb8 .quad -5211854272861108819 + 0x00, 0x00, 0x00, 0xd0, 0x05, 0xcd, 0x9c, 0x6d, //0x00003cc0 .quad 7898413271349198848 + 0x19, 0xc7, 0x43, 0xc6, 0xb0, 0xb7, 0x96, 0xe5, //0x00003cc8 .quad -1903131822648998119 + 0x00, 0x00, 0x00, 0xa2, 0x23, 0x00, 0x82, 0xe4, //0x00003cd0 .quad -1981020733047832576 + 0x6f, 0x5c, 0xea, 0x7b, 0xce, 0x32, 0x7e, 0x8f, //0x00003cd8 .quad -8106986416796705681 + 0x00, 0x00, 0x80, 0x8a, 0x2c, 0x80, 0xa2, 0xdd, //0x00003ce0 .quad -2476275916309790720 + 0x8b, 0xf3, 0xe4, 0x1a, 0x82, 0xbf, 0x5d, 0xb3, //0x00003ce8 .quad -5522047002568494197 + 0x00, 0x00, 0x20, 0xad, 0x37, 0x20, 0x0b, 0xd5, //0x00003cf0 .quad -3095344895387238400 + 0x6e, 0x30, 0x9e, 0xa1, 0x62, 0x2f, 0x35, 0xe0, //0x00003cf8 .quad -2290872734783229842 + 0x00, 0x00, 0x34, 0xcc, 0x22, 0xf4, 0x26, 0x45, //0x00003d00 .quad 4982938468024057856 + 0x45, 0xde, 0x02, 0xa5, 0x9d, 0x3d, 0x21, 0x8c, //0x00003d08 .quad -8349324486880600507 + 0x00, 0x00, 0x41, 0x7f, 0x2b, 0xb1, 0x70, 0x96, //0x00003d10 .quad -7606384970252091392 + 0xd6, 0x95, 0x43, 0x0e, 0x05, 0x8d, 0x29, 0xaf, //0x00003d18 .quad -5824969590173362730 + 0x00, 0x40, 0x11, 0x5f, 0x76, 0xdd, 0x0c, 0x3c, //0x00003d20 .quad 4327076842467049472 + 0x4c, 0x7b, 0xd4, 0x51, 0x46, 0xf0, 0xf3, 0xda, //0x00003d28 .quad -2669525969289315508 + 0x00, 0xc8, 0x6a, 0xfb, 0x69, 0x0a, 0x88, 0xa5, //0x00003d30 .quad -6518949010312869888 + 0x0f, 0xcd, 0x24, 0xf3, 0x2b, 0x76, 0xd8, 0x88, //0x00003d38 .quad -8585982758446904049 + 0x00, 0x7a, 0x45, 0x7a, 0x04, 0x0d, 0xea, 0x8e, //0x00003d40 .quad -8148686262891087360 + 0x53, 0x00, 0xee, 0xef, 0xb6, 0x93, 0x0e, 0xab, //0x00003d48 .quad -6120792429631242157 + 0x80, 0xd8, 0xd6, 0x98, 0x45, 0x90, 0xa4, 0x72, //0x00003d50 .quad 8260886245095692416 + 0x68, 0x80, 0xe9, 0xab, 0xa4, 0x38, 0xd2, 0xd5, //0x00003d58 .quad -3039304518611664792 + 0x50, 0x47, 0x86, 0x7f, 0x2b, 0xda, 0xa6, 0x47, //0x00003d60 .quad 5163053903184807760 + 0x41, 0xf0, 0x71, 0xeb, 0x66, 0x63, 0xa3, 0x85, //0x00003d68 .quad -8817094351773372351 + 0x24, 0xd9, 0x67, 0x5f, 0xb6, 0x90, 0x90, 0x99, //0x00003d70 .quad -7381240676301154012 + 0x51, 0x6c, 0x4e, 0xa6, 0x40, 0x3c, 0x0c, 0xa7, //0x00003d78 .quad -6409681921289327535 + 0x6d, 0xcf, 0x41, 0xf7, 0xe3, 0xb4, 0xf4, 0xff, //0x00003d80 .quad -3178808521666707 + 0x65, 0x07, 0xe2, 0xcf, 0x50, 0x4b, 0xcf, 0xd0, //0x00003d88 .quad -3400416383184271515 + 0xa4, 0x21, 0x89, 0x7a, 0x0e, 0xf1, 0xf8, 0xbf, //0x00003d90 .quad -4613672773753429596 + 0x9f, 0x44, 0xed, 0x81, 0x12, 0x8f, 0x81, 0x82, //0x00003d98 .quad -9042789267131251553 + 0x0d, 0x6a, 0x2b, 0x19, 0x52, 0x2d, 0xf7, 0xaf, //0x00003da0 .quad -5767090967191786995 + 0xc7, 0x95, 0x68, 0x22, 0xd7, 0xf2, 0x21, 0xa3, //0x00003da8 .quad -6691800565486676537 + 0x90, 0x44, 0x76, 0x9f, 0xa6, 0xf8, 0xf4, 0x9b, //0x00003db0 .quad -7208863708989733744 + 0x39, 0xbb, 0x02, 0xeb, 0x8c, 0x6f, 0xea, 0xcb, //0x00003db8 .quad -3753064688430957767 + 0xb4, 0xd5, 0x53, 0x47, 0xd0, 0x36, 0xf2, 0x02, //0x00003dc0 .quad 212292400617608628 + 0x08, 0x6a, 0xc3, 0x25, 0x70, 0x0b, 0xe5, 0xfe, //0x00003dc8 .quad -79644842111309304 + 0x90, 0x65, 0x94, 0x2c, 0x42, 0x62, 0xd7, 0x01, //0x00003dd0 .quad 132682750386005392 + 0x45, 0x22, 0x9a, 0x17, 0x26, 0x27, 0x4f, 0x9f, //0x00003dd8 .quad -6967307053960650171 + 0xf5, 0x7e, 0xb9, 0xb7, 0xd2, 0x3a, 0x4d, 0x42, //0x00003de0 .quad 4777539456409894645 + 0xd6, 0xaa, 0x80, 0x9d, 0xef, 0xf0, 0x22, 0xc7, //0x00003de8 .quad -4097447799023424810 + 0xb2, 0xde, 0xa7, 0x65, 0x87, 0x89, 0xe0, 0xd2, //0x00003df0 .quad -3251447716342407502 + 0x8b, 0xd5, 0xe0, 0x84, 0x2b, 0xad, 0xeb, 0xf8, //0x00003df8 .quad -510123730351893109 + 0x2f, 0xeb, 0x88, 0x9f, 0xf4, 0x55, 0xcc, 0x63, //0x00003e00 .quad 7191217214140771119 + 0x77, 0x85, 0x0c, 0x33, 0x3b, 0x4c, 0x93, 0x9b, //0x00003e08 .quad -7236356359111015049 + 0xfb, 0x25, 0x6b, 0xc7, 0x71, 0x6b, 0xbf, 0x3c, //0x00003e10 .quad 4377335499248575995 + 0xd5, 0xa6, 0xcf, 0xff, 0x49, 0x1f, 0x78, 0xc2, //0x00003e18 .quad -4433759430461380907 + 0x7a, 0xef, 0x45, 0x39, 0x4e, 0x46, 0xef, 0x8b, //0x00003e20 .quad -8363388681221443718 + 0x8a, 0x90, 0xc3, 0x7f, 0x1c, 0x27, 0x16, 0xf3, //0x00003e28 .quad -930513269649338230 + 0xac, 0xb5, 0xcb, 0xe3, 0xf0, 0x8b, 0x75, 0x97, //0x00003e30 .quad -7532960934977096276 + 0x56, 0x3a, 0xda, 0xcf, 0x71, 0xd8, 0xed, 0x97, //0x00003e38 .quad -7499099821171918250 + 0x17, 0xa3, 0xbe, 0x1c, 0xed, 0xee, 0x52, 0x3d, //0x00003e40 .quad 4418856886560793367 + 0xec, 0xc8, 0xd0, 0x43, 0x8e, 0x4e, 0xe9, 0xbd, //0x00003e48 .quad -4762188758037509908 + 0xdd, 0x4b, 0xee, 0x63, 0xa8, 0xaa, 0xa7, 0x4c, //0x00003e50 .quad 5523571108200991709 + 0x27, 0xfb, 0xc4, 0xd4, 0x31, 0xa2, 0x63, 0xed, //0x00003e58 .quad -1341049929119499481 + 0x6a, 0xef, 0x74, 0x3e, 0xa9, 0xca, 0xe8, 0x8f, //0x00003e60 .quad -8076983103442849942 + 0xf8, 0x1c, 0xfb, 0x24, 0x5f, 0x45, 0x5e, 0x94, //0x00003e68 .quad -7755685233340769032 + 0x44, 0x2b, 0x12, 0x8e, 0x53, 0xfd, 0xe2, 0xb3, //0x00003e70 .quad -5484542860876174524 + 0x36, 0xe4, 0x39, 0xee, 0xb6, 0xd6, 0x75, 0xb9, //0x00003e78 .quad -5082920523248573386 + 0x16, 0xb6, 0x96, 0x71, 0xa8, 0xbc, 0xdb, 0x60, //0x00003e80 .quad 6979379479186945558 + 0x44, 0x5d, 0xc8, 0xa9, 0x64, 0x4c, 0xd3, 0xe7, //0x00003e88 .quad -1741964635633328828 + 0xcd, 0x31, 0xfe, 0x46, 0xe9, 0x55, 0x89, 0xbc, //0x00003e90 .quad -4861259862362934835 + 0x4a, 0x3a, 0x1d, 0xea, 0xbe, 0x0f, 0xe4, 0x90, //0x00003e98 .quad -8006256924911912374 + 0x41, 0xbe, 0xbd, 0x98, 0x63, 0xab, 0xab, 0x6b, //0x00003ea0 .quad 7758483227328495169 + 0xdd, 0x88, 0xa4, 0xa4, 0xae, 0x13, 0x1d, 0xb5, //0x00003ea8 .quad -5396135137712502563 + 0xd1, 0x2d, 0xed, 0x7e, 0x3c, 0x96, 0x96, 0xc6, //0x00003eb0 .quad -4136954021121544751 + 0x14, 0xab, 0xcd, 0x4d, 0x9a, 0x58, 0x64, 0xe2, //0x00003eb8 .quad -2133482903713240300 + 0xa2, 0x3c, 0x54, 0xcf, 0xe5, 0x1d, 0x1e, 0xfc, //0x00003ec0 .quad -279753253987271518 + 0xec, 0x8a, 0xa0, 0x70, 0x60, 0xb7, 0x7e, 0x8d, //0x00003ec8 .quad -8250955842461857044 + 0xcb, 0x4b, 0x29, 0x43, 0x5f, 0xa5, 0x25, 0x3b, //0x00003ed0 .quad 4261994450943298507 + 0xa8, 0xad, 0xc8, 0x8c, 0x38, 0x65, 0xde, 0xb0, //0x00003ed8 .quad -5702008784649933400 + 0xbe, 0x9e, 0xf3, 0x13, 0xb7, 0x0e, 0xef, 0x49, //0x00003ee0 .quad 5327493063679123134 + 0x12, 0xd9, 0xfa, 0xaf, 0x86, 0xfe, 0x15, 0xdd, //0x00003ee8 .quad -2515824962385028846 + 0x37, 0x43, 0x78, 0x6c, 0x32, 0x69, 0x35, 0x6e, //0x00003ef0 .quad 7941369183226839863 + 0xab, 0xc7, 0xfc, 0x2d, 0x14, 0xbf, 0x2d, 0x8a, //0x00003ef8 .quad -8489919629131724885 + 0x04, 0x54, 0x96, 0x07, 0x7f, 0xc3, 0xc2, 0x49, //0x00003f00 .quad 5315025460606161924 + 0x96, 0xf9, 0x7b, 0x39, 0xd9, 0x2e, 0xb9, 0xac, //0x00003f08 .quad -6000713517987268202 + 0x06, 0xe9, 0x7b, 0xc9, 0x5e, 0x74, 0x33, 0xdc, //0x00003f10 .quad -2579590211097073402 + 0xfb, 0xf7, 0xda, 0x87, 0x8f, 0x7a, 0xe7, 0xd7, //0x00003f18 .quad -2889205879056697349 + 0xa3, 0x71, 0xed, 0x3d, 0xbb, 0x28, 0xa0, 0x69, //0x00003f20 .quad 7611128154919104931 + 0xfd, 0xda, 0xe8, 0xb4, 0x99, 0xac, 0xf0, 0x86, //0x00003f28 .quad -8723282702051517699 + 0x0c, 0xce, 0x68, 0x0d, 0xea, 0x32, 0x08, 0xc4, //0x00003f30 .quad -4321147861633282548 + 0xbc, 0x11, 0x23, 0x22, 0xc0, 0xd7, 0xac, 0xa8, //0x00003f38 .quad -6292417359137009220 + 0x90, 0x01, 0xc3, 0x90, 0xa4, 0x3f, 0x0a, 0xf5, //0x00003f40 .quad -789748808614215280 + 0x2b, 0xd6, 0xab, 0x2a, 0xb0, 0x0d, 0xd8, 0xd2, //0x00003f48 .quad -3253835680493873621 + 0xfa, 0xe0, 0x79, 0xda, 0xc6, 0x67, 0x26, 0x79, //0x00003f50 .quad 8729779031470891258 + 0xdb, 0x65, 0xab, 0x1a, 0x8e, 0x08, 0xc7, 0x83, //0x00003f58 .quad -8951176327949752869 + 0x38, 0x59, 0x18, 0x91, 0xb8, 0x01, 0x70, 0x57, //0x00003f60 .quad 6300537770911226168 + 0x52, 0x3f, 0x56, 0xa1, 0xb1, 0xca, 0xb8, 0xa4, //0x00003f68 .quad -6577284391509803182 + 0x86, 0x6f, 0x5e, 0xb5, 0x26, 0x02, 0x4c, 0xed, //0x00003f70 .quad -1347699823215743098 + 0x26, 0xcf, 0xab, 0x09, 0x5e, 0xfd, 0xe6, 0xcd, //0x00003f78 .quad -3609919470959866074 + 0xb4, 0x05, 0x5b, 0x31, 0x58, 0x81, 0x4f, 0x54, //0x00003f80 .quad 6075216638131242420 + 0x78, 0x61, 0x0b, 0xc6, 0x5a, 0x5e, 0xb0, 0x80, //0x00003f88 .quad -9173728696990998152 + 0x21, 0xc7, 0xb1, 0x3d, 0xae, 0x61, 0x63, 0x69, //0x00003f90 .quad 7594020797664053025 + 0xd6, 0x39, 0x8e, 0x77, 0xf1, 0x75, 0xdc, 0xa0, //0x00003f98 .quad -6855474852811359786 + 0xe9, 0x38, 0x1e, 0xcd, 0x19, 0x3a, 0xbc, 0x03, //0x00003fa0 .quad 269153960225290473 + 0x4c, 0xc8, 0x71, 0xd5, 0x6d, 0x93, 0x13, 0xc9, //0x00003fa8 .quad -3957657547586811828 + 0x23, 0xc7, 0x65, 0x40, 0xa0, 0x48, 0xab, 0x04, //0x00003fb0 .quad 336442450281613091 + 0x5f, 0x3a, 0xce, 0x4a, 0x49, 0x78, 0x58, 0xfb, //0x00003fb8 .quad -335385916056126881 + 0x76, 0x9c, 0x3f, 0x28, 0x64, 0x0d, 0xeb, 0x62, //0x00003fc0 .quad 7127805559067090038 + 0x7b, 0xe4, 0xc0, 0xce, 0x2d, 0x4b, 0x17, 0x9d, //0x00003fc8 .quad -7127145225176161157 + 0x94, 0x83, 0x4f, 0x32, 0xbd, 0xd0, 0xa5, 0x3b, //0x00003fd0 .quad 4298070930406474644 + 0x9a, 0x1d, 0x71, 0x42, 0xf9, 0x1d, 0x5d, 0xc4, //0x00003fd8 .quad -4297245513042813542 + 0x79, 0x64, 0xe3, 0x7e, 0xec, 0x44, 0x8f, 0xca, //0x00003fe0 .quad -3850783373846682503 + 0x00, 0x65, 0x0d, 0x93, 0x77, 0x65, 0x74, 0xf5, //0x00003fe8 .quad -759870872876129024 + 0xcb, 0x1e, 0x4e, 0xcf, 0x13, 0x8b, 0x99, 0x7e, //0x00003ff0 .quad 9122475437414293195 + 0x20, 0x5f, 0xe8, 0xbb, 0x6a, 0xbf, 0x68, 0x99, //0x00003ff8 .quad -7392448323188662496 + 0x7e, 0xa6, 0x21, 0xc3, 0xd8, 0xed, 0x3f, 0x9e, //0x00004000 .quad -7043649776941685122 + 0xe8, 0x76, 0xe2, 0x6a, 0x45, 0xef, 0xc2, 0xbf, //0x00004008 .quad -4628874385558440216 + 0x1e, 0x10, 0xea, 0xf3, 0x4e, 0xe9, 0xcf, 0xc5, //0x00004010 .quad -4192876202749718498 + 0xa2, 0x14, 0x9b, 0xc5, 0x16, 0xab, 0xb3, 0xef, //0x00004018 .quad -1174406963520662366 + 0x12, 0x4a, 0x72, 0x58, 0xd1, 0xf1, 0xa1, 0xbb, //0x00004020 .quad -4926390635932268014 + 0xe5, 0xec, 0x80, 0x3b, 0xee, 0x4a, 0xd0, 0x95, //0x00004028 .quad -7651533379841495835 + 0x97, 0xdc, 0x8e, 0xae, 0x45, 0x6e, 0x8a, 0x2a, //0x00004030 .quad 3065383741939440791 + 0x1f, 0x28, 0x61, 0xca, 0xa9, 0x5d, 0x44, 0xbb, //0x00004038 .quad -4952730706374481889 + 0xbd, 0x93, 0x32, 0x1a, 0xd7, 0x09, 0x2d, 0xf5, //0x00004040 .quad -779956341003086915 + 0x26, 0x72, 0xf9, 0x3c, 0x14, 0x75, 0x15, 0xea, //0x00004048 .quad -1579227364540714458 + 0x56, 0x9c, 0x5f, 0x70, 0x26, 0x26, 0x3c, 0x59, //0x00004050 .quad 6430056314514152534 + 0x58, 0xe7, 0x1b, 0xa6, 0x2c, 0x69, 0x4d, 0x92, //0x00004058 .quad -7904546130479028392 + 0x6c, 0x83, 0x77, 0x0c, 0xb0, 0x2f, 0x8b, 0x6f, //0x00004060 .quad 8037570393142690668 + 0x2e, 0xe1, 0xa2, 0xcf, 0x77, 0xc3, 0xe0, 0xb6, //0x00004068 .quad -5268996644671397586 + 0x47, 0x64, 0x95, 0x0f, 0x9c, 0xfb, 0x6d, 0x0b, //0x00004070 .quad 823590954573587527 + 0x7a, 0x99, 0x8b, 0xc3, 0x55, 0xf4, 0x98, 0xe4, //0x00004078 .quad -1974559787411859078 + 0xac, 0x5e, 0xbd, 0x89, 0x41, 0xbd, 0x24, 0x47, //0x00004080 .quad 5126430365035880108 + 0xec, 0x3f, 0x37, 0x9a, 0xb5, 0x98, 0xdf, 0x8e, //0x00004088 .quad -8151628894773493780 + 0x57, 0xb6, 0x2c, 0xec, 0x91, 0xec, 0xed, 0x58, //0x00004090 .quad 6408037956294850135 + 0xe7, 0x0f, 0xc5, 0x00, 0xe3, 0x7e, 0x97, 0xb2, //0x00004098 .quad -5577850100039479321 + 0xed, 0xe3, 0x37, 0x67, 0xb6, 0x67, 0x29, 0x2f, //0x000040a0 .quad 3398361426941174765 + 0xe1, 0x53, 0xf6, 0xc0, 0x9b, 0x5e, 0x3d, 0xdf, //0x000040a8 .quad -2360626606621961247 + 0x74, 0xee, 0x82, 0x00, 0xd2, 0xe0, 0x79, 0xbd, //0x000040b0 .quad -4793553135802847628 + 0x6c, 0xf4, 0x99, 0x58, 0x21, 0x5b, 0x86, 0x8b, //0x000040b8 .quad -8392920656779807636 + 0x11, 0xaa, 0xa3, 0x80, 0x06, 0x59, 0xd8, 0xec, //0x000040c0 .quad -1380255401326171631 + 0x87, 0x71, 0xc0, 0xae, 0xe9, 0xf1, 0x67, 0xae, //0x000040c8 .quad -5879464802547371641 + 0x95, 0x94, 0xcc, 0x20, 0x48, 0x6f, 0x0e, 0xe8, //0x000040d0 .quad -1725319251657714539 + 0xe9, 0x8d, 0x70, 0x1a, 0x64, 0xee, 0x01, 0xda, //0x000040d8 .quad -2737644984756826647 + 0xdd, 0xdc, 0x7f, 0x14, 0x8d, 0x05, 0x09, 0x31, //0x000040e0 .quad 3533361486141316317 + 0xb2, 0x58, 0x86, 0x90, 0xfe, 0x34, 0x41, 0x88, //0x000040e8 .quad -8628557143114098510 + 0x15, 0xd4, 0x9f, 0x59, 0xf0, 0x46, 0x4b, 0xbd, //0x000040f0 .quad -4806670179178130411 + 0xde, 0xee, 0xa7, 0x34, 0x3e, 0x82, 0x51, 0xaa, //0x000040f8 .quad -6174010410465235234 + 0x1a, 0xc9, 0x07, 0x70, 0xac, 0x18, 0x9e, 0x6c, //0x00004100 .quad 7826720331309500698 + 0x96, 0xea, 0xd1, 0xc1, 0xcd, 0xe2, 0xe5, 0xd4, //0x00004108 .quad -3105826994654156138 + 0xb0, 0xdd, 0x04, 0xc6, 0x6b, 0xcf, 0xe2, 0x03, //0x00004110 .quad 280014188641050032 + 0x9e, 0x32, 0x23, 0x99, 0xc0, 0xad, 0x0f, 0x85, //0x00004118 .quad -8858670899299929442 + 0x1c, 0x15, 0x86, 0xb7, 0x46, 0x83, 0xdb, 0x84, //0x00004120 .quad -8873354301053463268 + 0x45, 0xff, 0x6b, 0xbf, 0x30, 0x99, 0x53, 0xa6, //0x00004128 .quad -6461652605697523899 + 0x63, 0x9a, 0x67, 0x65, 0x18, 0x64, 0x12, 0xe6, //0x00004130 .quad -1868320839462053277 + 0x16, 0xff, 0x46, 0xef, 0x7c, 0x7f, 0xe8, 0xcf, //0x00004138 .quad -3465379738694516970 + 0x7e, 0xc0, 0x60, 0x3f, 0x8f, 0x7e, 0xcb, 0x4f, //0x00004140 .quad 5749828502977298558 + 0x6e, 0x5f, 0x8c, 0x15, 0xae, 0x4f, 0xf1, 0x81, //0x00004148 .quad -9083391364325154962 + 0x9d, 0xf0, 0x38, 0x0f, 0x33, 0x5e, 0xbe, 0xe3, //0x00004150 .quad -2036086408133152611 + 0x49, 0x77, 0xef, 0x9a, 0x99, 0xa3, 0x6d, 0xa2, //0x00004158 .quad -6742553186979055799 + 0xc5, 0x2c, 0x07, 0xd3, 0xbf, 0xf5, 0xad, 0x5c, //0x00004160 .quad 6678264026688335045 + 0x1c, 0x55, 0xab, 0x01, 0x80, 0x0c, 0x09, 0xcb, //0x00004168 .quad -3816505465296431844 + 0xf6, 0xf7, 0xc8, 0xc7, 0x2f, 0x73, 0xd9, 0x73, //0x00004170 .quad 8347830033360418806 + 0x63, 0x2a, 0x16, 0x02, 0xa0, 0x4f, 0xcb, 0xfd, //0x00004178 .quad -158945813193151901 + 0xfa, 0x9a, 0xdd, 0xdc, 0xfd, 0xe7, 0x67, 0x28, //0x00004180 .quad 2911550761636567802 + 0x7e, 0xda, 0x4d, 0x01, 0xc4, 0x11, 0x9f, 0x9e, //0x00004188 .quad -7016870160886801794 + 0xb8, 0x01, 0x15, 0x54, 0xfd, 0xe1, 0x81, 0xb2, //0x00004190 .quad -5583933584809066056 + 0x1d, 0x51, 0xa1, 0x01, 0x35, 0xd6, 0x46, 0xc6, //0x00004198 .quad -4159401682681114339 + 0x26, 0x42, 0x1a, 0xa9, 0x7c, 0x5a, 0x22, 0x1f, //0x000041a0 .quad 2243455055843443238 + 0x65, 0xa5, 0x09, 0x42, 0xc2, 0x8b, 0xd8, 0xf7, //0x000041a8 .quad -587566084924005019 + 0x58, 0x69, 0xb0, 0xe9, 0x8d, 0x78, 0x75, 0x33, //0x000041b0 .quad 3708002419115845976 + 0x5f, 0x07, 0x46, 0x69, 0x59, 0x57, 0xe7, 0x9a, //0x000041b8 .quad -7284757830718584993 + 0xae, 0x83, 0x1c, 0x64, 0xb1, 0xd6, 0x52, 0x00, //0x000041c0 .quad 23317005467419566 + 0x37, 0x89, 0x97, 0xc3, 0x2f, 0x2d, 0xa1, 0xc1, //0x000041c8 .quad -4494261269970843337 + 0x9a, 0xa4, 0x23, 0xbd, 0x5d, 0x8c, 0x67, 0xc0, //0x000041d0 .quad -4582539761593113446 + 0x84, 0x6b, 0x7d, 0xb4, 0x7b, 0x78, 0x09, 0xf2, //0x000041d8 .quad -1006140569036166268 + 0xe0, 0x46, 0x36, 0x96, 0xba, 0xb7, 0x40, 0xf8, //0x000041e0 .quad -558244341782001952 + 0x32, 0x63, 0xce, 0x50, 0x4d, 0xeb, 0x45, 0x97, //0x000041e8 .quad -7546366883288685774 + 0x98, 0xd8, 0xc3, 0x3b, 0xa9, 0xe5, 0x50, 0xb6, //0x000041f0 .quad -5309491445654890344 + 0xff, 0xfb, 0x01, 0xa5, 0x20, 0x66, 0x17, 0xbd, //0x000041f8 .quad -4821272585683469313 + 0xbe, 0xce, 0xb4, 0x8a, 0x13, 0x1f, 0xe5, 0xa3, //0x00004200 .quad -6636864307068612930 + 0xff, 0x7a, 0x42, 0xce, 0xa8, 0x3f, 0x5d, 0xec, //0x00004208 .quad -1414904713676948737 + 0x37, 0x01, 0xb1, 0x36, 0x6c, 0x33, 0x6f, 0xc6, //0x00004210 .quad -4148040191917883081 + 0xdf, 0x8c, 0xe9, 0x80, 0xc9, 0x47, 0xba, 0x93, //0x00004218 .quad -7801844473689174817 + 0x84, 0x41, 0x5d, 0x44, 0x47, 0x00, 0x0b, 0xb8, //0x00004220 .quad -5185050239897353852 + 0x17, 0xf0, 0x23, 0xe1, 0xbb, 0xd9, 0xa8, 0xb8, //0x00004228 .quad -5140619573684080617 + 0xe5, 0x91, 0x74, 0x15, 0x59, 0xc0, 0x0d, 0xa6, //0x00004230 .quad -6481312799871692315 + 0x1d, 0xec, 0x6c, 0xd9, 0x2a, 0x10, 0xd3, 0xe6, //0x00004238 .quad -1814088448677712867 + 0x2f, 0xdb, 0x68, 0xad, 0x37, 0x98, 0xc8, 0x87, //0x00004240 .quad -8662506518347195601 + 0x92, 0x13, 0xe4, 0xc7, 0x1a, 0xea, 0x43, 0x90, //0x00004248 .quad -8051334308064652398 + 0xfb, 0x11, 0xc3, 0x98, 0x45, 0xbe, 0xba, 0x29, //0x00004250 .quad 3006924907348169211 + 0x77, 0x18, 0xdd, 0x79, 0xa1, 0xe4, 0x54, 0xb4, //0x00004258 .quad -5452481866653427593 + 0x7a, 0xd6, 0xf3, 0xfe, 0xd6, 0x6d, 0x29, 0xf4, //0x00004260 .quad -853029884242176390 + 0x94, 0x5e, 0x54, 0xd8, 0xc9, 0x1d, 0x6a, 0xe1, //0x00004268 .quad -2203916314889396588 + 0x0c, 0x66, 0x58, 0x5f, 0xa6, 0xe4, 0x99, 0x18, //0x00004270 .quad 1772699331562333708 + 0x1d, 0xbb, 0x34, 0x27, 0x9e, 0x52, 0xe2, 0x8c, //0x00004278 .quad -8294976724446954723 + 0x8f, 0x7f, 0x2e, 0xf7, 0xcf, 0x5d, 0xc0, 0x5e, //0x00004280 .quad 6827560182880305039 + 0xe4, 0xe9, 0x01, 0xb1, 0x45, 0xe7, 0x1a, 0xb0, //0x00004288 .quad -5757034887131305500 + 0x73, 0x1f, 0xfa, 0xf4, 0x43, 0x75, 0x70, 0x76, //0x00004290 .quad 8534450228600381299 + 0x5d, 0x64, 0x42, 0x1d, 0x17, 0xa1, 0x21, 0xdc, //0x00004298 .quad -2584607590486743971 + 0xa8, 0x53, 0x1c, 0x79, 0x4a, 0x49, 0x06, 0x6a, //0x000042a0 .quad 7639874402088932264 + 0xba, 0x7e, 0x49, 0x72, 0xae, 0x04, 0x95, 0x89, //0x000042a8 .quad -8532908771695296838 + 0x92, 0x68, 0x63, 0x17, 0x9d, 0xdb, 0x87, 0x04, //0x000042b0 .quad 326470965756389522 + 0x69, 0xde, 0xdb, 0x0e, 0xda, 0x45, 0xfa, 0xab, //0x000042b8 .quad -6054449946191733143 + 0xb6, 0x42, 0x3c, 0x5d, 0x84, 0xd2, 0xa9, 0x45, //0x000042c0 .quad 5019774725622874806 + 0x03, 0xd6, 0x92, 0x92, 0x50, 0xd7, 0xf8, 0xd6, //0x000042c8 .quad -2956376414312278525 + 0xb2, 0xa9, 0x45, 0xba, 0x92, 0x23, 0x8a, 0x0b, //0x000042d0 .quad 831516194300602802 + 0xc2, 0xc5, 0x9b, 0x5b, 0x92, 0x86, 0x5b, 0x86, //0x000042d8 .quad -8765264286586255934 + 0x1e, 0x14, 0xd7, 0x68, 0x77, 0xac, 0x6c, 0x8e, //0x000042e0 .quad -8183976793979022306 + 0x32, 0xb7, 0x82, 0xf2, 0x36, 0x68, 0xf2, 0xa7, //0x000042e8 .quad -6344894339805432014 + 0x26, 0xd9, 0x0c, 0x43, 0x95, 0xd7, 0x07, 0x32, //0x000042f0 .quad 3605087062808385830 + 0xff, 0x64, 0x23, 0xaf, 0x44, 0x02, 0xef, 0xd1, //0x000042f8 .quad -3319431906329402113 + 0xb8, 0x07, 0xe8, 0x49, 0xbd, 0xe6, 0x44, 0x7f, //0x00004300 .quad 9170708441896323000 + 0x1f, 0x1f, 0x76, 0xed, 0x6a, 0x61, 0x35, 0x83, //0x00004308 .quad -8992173969096958177 + 0xa6, 0x09, 0x62, 0x9c, 0x6c, 0x20, 0x16, 0x5f, //0x00004310 .quad 6851699533943015846 + 0xe7, 0xa6, 0xd3, 0xa8, 0xc5, 0xb9, 0x02, 0xa4, //0x00004318 .quad -6628531442943809817 + 0x0f, 0x8c, 0x7a, 0xc3, 0x87, 0xa8, 0xdb, 0x36, //0x00004320 .quad 3952938399001381903 + 0xa1, 0x90, 0x08, 0x13, 0x37, 0x68, 0x03, 0xcd, //0x00004328 .quad -3673978285252374367 + 0x89, 0x97, 0x2c, 0xda, 0x54, 0x49, 0x49, 0xc2, //0x00004330 .quad -4446942528265218167 + 0x64, 0x5a, 0xe5, 0x6b, 0x22, 0x21, 0x22, 0x80, //0x00004338 .quad -9213765455923815836 + 0x6c, 0xbd, 0xb7, 0x10, 0xaa, 0x9b, 0xdb, 0xf2, //0x00004340 .quad -946992141904134804 + 0xfd, 0xb0, 0xde, 0x06, 0x6b, 0xa9, 0x2a, 0xa0, //0x00004348 .quad -6905520801477381891 + 0xc7, 0xac, 0xe5, 0x94, 0x94, 0x82, 0x92, 0x6f, //0x00004350 .quad 8039631859474607303 + 0x3d, 0x5d, 0x96, 0xc8, 0xc5, 0x53, 0x35, 0xc8, //0x00004358 .quad -4020214983419339459 + 0xf9, 0x17, 0x1f, 0xba, 0x39, 0x23, 0x77, 0xcb, //0x00004360 .quad -3785518230938904583 + 0x8c, 0xf4, 0xbb, 0x3a, 0xb7, 0xa8, 0x42, 0xfa, //0x00004368 .quad -413582710846786420 + 0xfb, 0x6e, 0x53, 0x14, 0x04, 0x76, 0x2a, 0xff, //0x00004370 .quad -60105885123121413 + 0xd7, 0x78, 0xb5, 0x84, 0x72, 0xa9, 0x69, 0x9c, //0x00004378 .quad -7176018221920323369 + 0xba, 0x4a, 0x68, 0x19, 0x85, 0x13, 0xf5, 0xfe, //0x00004380 .quad -75132356403901766 + 0x0d, 0xd7, 0xe2, 0x25, 0xcf, 0x13, 0x84, 0xc3, //0x00004388 .quad -4358336758973016307 + 0x69, 0x5d, 0xc2, 0x5f, 0x66, 0x58, 0xb2, 0x7e, //0x00004390 .quad 9129456591349898601 + 0xd1, 0x8c, 0x5b, 0xef, 0xc2, 0x18, 0x65, 0xf4, //0x00004398 .quad -836234930288882479 + 0x61, 0x7a, 0xd9, 0xfb, 0x3f, 0x77, 0x2f, 0xef, //0x000043a0 .quad -1211618658047395231 + 0x02, 0x38, 0x99, 0xd5, 0x79, 0x2f, 0xbf, 0x98, //0x000043a8 .quad -7440175859071633406 + 0xfa, 0xd8, 0xcf, 0xfa, 0x0f, 0x55, 0xfb, 0xaa, //0x000043b0 .quad -6126209340986631942 + 0x03, 0x86, 0xff, 0x4a, 0x58, 0xfb, 0xee, 0xbe, //0x000043b8 .quad -4688533805412153853 + 0x38, 0xcf, 0x83, 0xf9, 0x53, 0x2a, 0xba, 0x95, //0x000043c0 .quad -7657761676233289928 + 0x84, 0x67, 0xbf, 0x5d, 0x2e, 0xba, 0xaa, 0xee, //0x000043c8 .quad -1248981238337804412 + 0x83, 0x61, 0xf2, 0x7b, 0x74, 0x5a, 0x94, 0xdd, //0x000043d0 .quad -2480258038432112253 + 0xb2, 0xa0, 0x97, 0xfa, 0x5c, 0xb4, 0x2a, 0x95, //0x000043d8 .quad -7698142301602209614 + 0xe4, 0xf9, 0xee, 0x9a, 0x11, 0x71, 0xf9, 0x94, //0x000043e0 .quad -7712008566467528220 + 0xdf, 0x88, 0x3d, 0x39, 0x74, 0x61, 0x75, 0xba, //0x000043e8 .quad -5010991858575374113 + 0x5d, 0xb8, 0xaa, 0x01, 0x56, 0xcd, 0x37, 0x7a, //0x000043f0 .quad 8806733365625141341 + 0x17, 0xeb, 0x8c, 0x47, 0xd1, 0xb9, 0x12, 0xe9, //0x000043f8 .quad -1652053804791829737 + 0x3a, 0xb3, 0x0a, 0xc1, 0x55, 0xe0, 0x62, 0xac, //0x00004400 .quad -6025006692552756422 + 0xee, 0x12, 0xb8, 0xcc, 0x22, 0xb4, 0xab, 0x91, //0x00004408 .quad -7950062655635975442 + 0x09, 0x60, 0x4d, 0x31, 0x6b, 0x98, 0x7b, 0x57, //0x00004410 .quad 6303799689591218185 + 0xaa, 0x17, 0xe6, 0x7f, 0x2b, 0xa1, 0x16, 0xb6, //0x00004418 .quad -5325892301117581398 + 0x0b, 0xb8, 0xa0, 0xfd, 0x85, 0x7e, 0x5a, 0xed, //0x00004420 .quad -1343622424865753077 + 0x94, 0x9d, 0xdf, 0x5f, 0x76, 0x49, 0x9c, 0xe3, //0x00004428 .quad -2045679357969588844 + 0x07, 0x73, 0x84, 0xbe, 0x13, 0x8f, 0x58, 0x14, //0x00004430 .quad 1466078993672598279 + 0x7d, 0xc2, 0xeb, 0xfb, 0xe9, 0xad, 0x41, 0x8e, //0x00004438 .quad -8196078626372074883 + 0xc8, 0x8f, 0x25, 0xae, 0xd8, 0xb2, 0x6e, 0x59, //0x00004440 .quad 6444284760518135752 + 0x1c, 0xb3, 0xe6, 0x7a, 0x64, 0x19, 0xd2, 0xb1, //0x00004448 .quad -5633412264537705700 + 0xbb, 0xf3, 0xae, 0xd9, 0x8e, 0x5f, 0xca, 0x6f, //0x00004450 .quad 8055355950647669691 + 0xe3, 0x5f, 0xa0, 0x99, 0xbd, 0x9f, 0x46, 0xde, //0x00004458 .quad -2430079312244744221 + 0x54, 0x58, 0x0d, 0x48, 0xb9, 0x7b, 0xde, 0x25, //0x00004460 .quad 2728754459941099604 + 0xee, 0x3b, 0x04, 0x80, 0xd6, 0x23, 0xec, 0x8a, //0x00004468 .quad -8436328597794046994 + 0x6a, 0xae, 0x10, 0x9a, 0xa7, 0x1a, 0x56, 0xaf, //0x00004470 .quad -5812428961928401302 + 0xe9, 0x4a, 0x05, 0x20, 0xcc, 0x2c, 0xa7, 0xad, //0x00004478 .quad -5933724728815170839 + 0x04, 0xda, 0x94, 0x80, 0x51, 0xa1, 0x2b, 0x1b, //0x00004480 .quad 1957835834444274180 + 0xa4, 0x9d, 0x06, 0x28, 0xff, 0xf7, 0x10, 0xd9, //0x00004488 .quad -2805469892591575644 + 0x42, 0x08, 0x5d, 0xf0, 0xd2, 0x44, 0xfb, 0x90, //0x00004490 .quad -7999724640327104446 + 0x86, 0x22, 0x04, 0x79, 0xff, 0x9a, 0xaa, 0x87, //0x00004498 .quad -8670947710510816634 + 0x53, 0x4a, 0x74, 0xac, 0x07, 0x16, 0x3a, 0x35, //0x000044a0 .quad 3835402254873283155 + 0x28, 0x2b, 0x45, 0x57, 0xbf, 0x41, 0x95, 0xa9, //0x000044a8 .quad -6226998619711132888 + 0xe8, 0x5c, 0x91, 0x97, 0x89, 0x9b, 0x88, 0x42, //0x000044b0 .quad 4794252818591603944 + 0xf2, 0x75, 0x16, 0x2d, 0x2f, 0x92, 0xfa, 0xd3, //0x000044b8 .quad -3172062256211528206 + 0x11, 0xda, 0xba, 0xfe, 0x35, 0x61, 0x95, 0x69, //0x000044c0 .quad 7608094030047140369 + 0xb7, 0x09, 0x2e, 0x7c, 0x5d, 0x9b, 0x7c, 0x84, //0x000044c8 .quad -8900067937773286985 + 0x95, 0x90, 0x69, 0x7e, 0x83, 0xb9, 0xfa, 0x43, //0x000044d0 .quad 4898431519131537557 + 0x25, 0x8c, 0x39, 0xdb, 0x34, 0xc2, 0x9b, 0xa5, //0x000044d8 .quad -6513398903789220827 + 0xbb, 0xf4, 0x03, 0x5e, 0xe4, 0x67, 0xf9, 0x94, //0x000044e0 .quad -7712018656367741765 + 0x2e, 0xef, 0x07, 0x12, 0xc2, 0xb2, 0x02, 0xcf, //0x000044e8 .quad -3530062611309138130 + 0xf5, 0x78, 0xc2, 0xba, 0xee, 0xe0, 0x1b, 0x1d, //0x000044f0 .quad 2097517367411243253 + 0x7d, 0xf5, 0x44, 0x4b, 0xb9, 0xaf, 0x61, 0x81, //0x000044f8 .quad -9123818159709293187 + 0x32, 0x17, 0x73, 0x69, 0x2a, 0xd9, 0x62, 0x64, //0x00004500 .quad 7233582727691441970 + 0xdc, 0x32, 0x16, 0x9e, 0xa7, 0x1b, 0xba, 0xa1, //0x00004508 .quad -6793086681209228580 + 0xfe, 0xdc, 0xcf, 0x03, 0x75, 0x8f, 0x7b, 0x7d, //0x00004510 .quad 9041978409614302462 + 0x93, 0xbf, 0x9b, 0x85, 0x91, 0xa2, 0x28, 0xca, //0x00004518 .quad -3879672333084147821 + 0x3e, 0xd4, 0xc3, 0x44, 0x52, 0x73, 0xda, 0x5c, //0x00004520 .quad 6690786993590490174 + 0x78, 0xaf, 0x02, 0xe7, 0x35, 0xcb, 0xb2, 0xfc, //0x00004528 .quad -237904397927796872 + 0xa7, 0x64, 0xfa, 0x6a, 0x13, 0x88, 0x08, 0x3a, //0x00004530 .quad 4181741870994056359 + 0xab, 0xad, 0x61, 0xb0, 0x01, 0xbf, 0xef, 0x9d, //0x00004538 .quad -7066219276345954901 + 0xd0, 0xfd, 0xb8, 0x45, 0x18, 0xaa, 0x8a, 0x08, //0x00004540 .quad 615491320315182544 + 0x16, 0x19, 0x7a, 0x1c, 0xc2, 0xae, 0x6b, 0xc5, //0x00004548 .quad -4221088077005055722 + 0x45, 0x3d, 0x27, 0x57, 0x9e, 0x54, 0xad, 0x8a, //0x00004550 .quad -8454007886460797627 + 0x5b, 0x9f, 0x98, 0xa3, 0x72, 0x9a, 0xc6, 0xf6, //0x00004558 .quad -664674077828931749 + 0x4b, 0x86, 0x78, 0xf6, 0xe2, 0x54, 0xac, 0x36, //0x00004560 .quad 3939617107816777291 + 0x99, 0x63, 0x3f, 0xa6, 0x87, 0x20, 0x3c, 0x9a, //0x00004568 .quad -7332950326284164199 + 0xdd, 0xa7, 0x16, 0xb4, 0x1b, 0x6a, 0x57, 0x84, //0x00004570 .quad -8910536670511192099 + 0x7f, 0x3c, 0xcf, 0x8f, 0xa9, 0x28, 0xcb, 0xc0, //0x00004578 .quad -4554501889427817345 + 0xd5, 0x51, 0x1c, 0xa1, 0xa2, 0x44, 0x6d, 0x65, //0x00004580 .quad 7308573235570561493 + 0x9f, 0x0b, 0xc3, 0xf3, 0xd3, 0xf2, 0xfd, 0xf0, //0x00004588 .quad -1081441343357383777 + 0x25, 0xb3, 0xb1, 0xa4, 0xe5, 0x4a, 0x64, 0x9f, //0x00004590 .quad -6961356773836868827 + 0x43, 0xe7, 0x59, 0x78, 0xc4, 0xb7, 0x9e, 0x96, //0x00004598 .quad -7593429867239446717 + 0xee, 0x1f, 0xde, 0x0d, 0x9f, 0x5d, 0x3d, 0x87, //0x000045a0 .quad -8701695967296086034 + 0x14, 0x61, 0x70, 0x96, 0xb5, 0x65, 0x46, 0xbc, //0x000045a8 .quad -4880101315621920492 + 0xea, 0xa7, 0x55, 0xd1, 0x06, 0xb5, 0x0c, 0xa9, //0x000045b0 .quad -6265433940692719638 + 0x59, 0x79, 0x0c, 0xfc, 0x22, 0xff, 0x57, 0xeb, //0x000045b8 .quad -1488440626100012711 + 0xf2, 0x88, 0xd5, 0x42, 0x24, 0xf1, 0xa7, 0x09, //0x000045c0 .quad 695789805494438130 + 0xd8, 0xcb, 0x87, 0xdd, 0x75, 0xff, 0x16, 0x93, //0x000045c8 .quad -7847804418953589800 + 0x2f, 0xeb, 0x8a, 0x53, 0x6d, 0xed, 0x11, 0x0c, //0x000045d0 .quad 869737256868047663 + 0xce, 0xbe, 0xe9, 0x54, 0x53, 0xbf, 0xdc, 0xb7, //0x000045d8 .quad -5198069505264599346 + 0xfa, 0xa5, 0x6d, 0xa8, 0xc8, 0x68, 0x16, 0x8f, //0x000045e0 .quad -8136200465769716230 + 0x81, 0x2e, 0x24, 0x2a, 0x28, 0xef, 0xd3, 0xe5, //0x000045e8 .quad -1885900863153361279 + 0xbc, 0x87, 0x44, 0x69, 0x7d, 0x01, 0x6e, 0xf9, //0x000045f0 .quad -473439272678684740 + 0x10, 0x9d, 0x56, 0x1a, 0x79, 0x75, 0xa4, 0x8f, //0x000045f8 .quad -8096217067111932656 + 0xac, 0xa9, 0x95, 0xc3, 0xdc, 0x81, 0xc9, 0x37, //0x00004600 .quad 4019886927579031980 + 0x55, 0x44, 0xec, 0x60, 0xd7, 0x92, 0x8d, 0xb3, //0x00004608 .quad -5508585315462527915 + 0x17, 0x14, 0x7b, 0xf4, 0x53, 0xe2, 0xbb, 0x85, //0x00004610 .quad -8810199395808373737 + 0x6a, 0x55, 0x27, 0x39, 0x8d, 0xf7, 0x70, 0xe0, //0x00004618 .quad -2274045625900771990 + 0x8e, 0xec, 0xcc, 0x78, 0x74, 0x6d, 0x95, 0x93, //0x00004620 .quad -7812217631593927538 + 0x62, 0x95, 0xb8, 0x43, 0xb8, 0x9a, 0x46, 0x8c, //0x00004628 .quad -8338807543829064350 + 0xb2, 0x27, 0x00, 0x97, 0xd1, 0xc8, 0x7a, 0x38, //0x00004630 .quad 4069786015789754290 + 0xbb, 0xba, 0xa6, 0x54, 0x66, 0x41, 0x58, 0xaf, //0x00004638 .quad -5811823411358942533 + 0x9e, 0x31, 0xc0, 0xfc, 0x05, 0x7b, 0x99, 0x06, //0x00004640 .quad 475546501309804958 + 0x6a, 0x69, 0xd0, 0xe9, 0xbf, 0x51, 0x2e, 0xdb, //0x00004648 .quad -2653093245771290262 + 0x03, 0x1f, 0xf8, 0xbd, 0xe3, 0xec, 0x1f, 0x44, //0x00004650 .quad 4908902581746016003 + 0xe2, 0x41, 0x22, 0xf2, 0x17, 0xf3, 0xfc, 0x88, //0x00004658 .quad -8575712306248138270 + 0xc3, 0x26, 0x76, 0xad, 0x1c, 0xe8, 0x27, 0xd5, //0x00004660 .quad -3087243809672255805 + 0x5a, 0xd2, 0xaa, 0xee, 0xdd, 0x2f, 0x3c, 0xab, //0x00004668 .quad -6107954364382784934 + 0x74, 0xb0, 0xd3, 0xd8, 0x23, 0xe2, 0x71, 0x8a, //0x00004670 .quad -8470740780517707660 + 0xf1, 0x86, 0x55, 0x6a, 0xd5, 0x3b, 0x0b, 0xd6, //0x00004678 .quad -3023256937051093263 + 0x49, 0x4e, 0x84, 0x67, 0x56, 0x2d, 0x87, 0xf6, //0x00004680 .quad -682526969396179383 + 0x56, 0x74, 0x75, 0x62, 0x65, 0x05, 0xc7, 0x85, //0x00004688 .quad -8807064613298015146 + 0xdb, 0x61, 0x65, 0x01, 0xac, 0xf8, 0x28, 0xb4, //0x00004690 .quad -5464844730172612133 + 0x6c, 0xd1, 0x12, 0xbb, 0xbe, 0xc6, 0x38, 0xa7, //0x00004698 .quad -6397144748195131028 + 0x52, 0xba, 0xbe, 0x01, 0xd7, 0x36, 0x33, 0xe1, //0x000046a0 .quad -2219369894288377262 + 0xc7, 0x85, 0xd7, 0x69, 0x6e, 0xf8, 0x06, 0xd1, //0x000046a8 .quad -3384744916816525881 + 0x73, 0x34, 0x17, 0x61, 0x46, 0x02, 0xc0, 0xec, //0x000046b0 .quad -1387106183930235789 + 0x9c, 0xb3, 0x26, 0x02, 0x45, 0x5b, 0xa4, 0x82, //0x000046b8 .quad -9032994600651410532 + 0x90, 0x01, 0x5d, 0xf9, 0xd7, 0x02, 0xf0, 0x27, //0x000046c0 .quad 2877803288514593168 + 0x84, 0x60, 0xb0, 0x42, 0x16, 0x72, 0x4d, 0xa3, //0x000046c8 .quad -6679557232386875260 + 0xf4, 0x41, 0xb4, 0xf7, 0x8d, 0x03, 0xec, 0x31, //0x000046d0 .quad 3597254110643241460 + 0xa5, 0x78, 0x5c, 0xd3, 0x9b, 0xce, 0x20, 0xcc, //0x000046d8 .quad -3737760522056206171 + 0x71, 0x52, 0xa1, 0x75, 0x71, 0x04, 0x67, 0x7e, //0x000046e0 .quad 9108253656731439729 + 0xce, 0x96, 0x33, 0xc8, 0x42, 0x02, 0x29, 0xff, //0x000046e8 .quad -60514634142869810 + 0x86, 0xd3, 0x84, 0xe9, 0xc6, 0x62, 0x00, 0x0f, //0x000046f0 .quad 1080972517029761926 + 0x41, 0x3e, 0x20, 0xbd, 0x69, 0xa1, 0x79, 0x9f, //0x000046f8 .quad -6955350673980375487 + 0x68, 0x08, 0xe6, 0xa3, 0x78, 0x7b, 0xc0, 0x52, //0x00004700 .quad 5962901664714590312 + 0xd1, 0x4d, 0x68, 0x2c, 0xc4, 0x09, 0x58, 0xc7, //0x00004708 .quad -4082502324048081455 + 0x82, 0x8a, 0xdf, 0xcc, 0x56, 0x9a, 0x70, 0xa7, //0x00004710 .quad -6381430974388925822 + 0x45, 0x61, 0x82, 0x37, 0x35, 0x0c, 0x2e, 0xf9, //0x00004718 .quad -491441886632713915 + 0x91, 0xb6, 0x0b, 0x40, 0x76, 0x60, 0xa6, 0x88, //0x00004720 .quad -8600080377420466543 + 0xcb, 0x7c, 0xb1, 0x42, 0xa1, 0xc7, 0xbc, 0x9b, //0x00004728 .quad -7224680206786528053 + 0x35, 0xa4, 0x0e, 0xd0, 0x93, 0xf8, 0xcf, 0x6a, //0x00004730 .quad 7696643601933968437 + 0xfe, 0xdb, 0x5d, 0x93, 0x89, 0xf9, 0xab, 0xc2, //0x00004738 .quad -4419164240055772162 + 0x43, 0x4d, 0x12, 0xc4, 0xb8, 0xf6, 0x83, 0x05, //0x00004740 .quad 397432465562684739 + 0xfe, 0x52, 0x35, 0xf8, 0xeb, 0xf7, 0x56, 0xf3, //0x00004748 .quad -912269281642327298 + 0x4a, 0x70, 0x8b, 0x7a, 0x33, 0x7a, 0x72, 0xc3, //0x00004750 .quad -4363290727450709942 + 0xde, 0x53, 0x21, 0x7b, 0xf3, 0x5a, 0x16, 0x98, //0x00004758 .quad -7487697328667536418 + 0x5c, 0x4c, 0x2e, 0x59, 0xc0, 0x18, 0x4f, 0x74, //0x00004760 .quad 8380944645968776284 + 0xd6, 0xa8, 0xe9, 0x59, 0xb0, 0xf1, 0x1b, 0xbe, //0x00004768 .quad -4747935642407032618 + 0x73, 0xdf, 0x79, 0x6f, 0xf0, 0xde, 0x62, 0x11, //0x00004770 .quad 1252808770606194547 + 0x0c, 0x13, 0x64, 0x70, 0x1c, 0xee, 0xa2, 0xed, //0x00004778 .quad -1323233534581402868 + 0xa8, 0x2b, 0xac, 0x45, 0x56, 0xcb, 0xdd, 0x8a, //0x00004780 .quad -8440366555225904216 + 0xe7, 0x8b, 0x3e, 0xc6, 0xd1, 0xd4, 0x85, 0x94, //0x00004788 .quad -7744549986754458649 + 0x92, 0x36, 0x17, 0xd7, 0x2b, 0x3e, 0x95, 0x6d, //0x00004790 .quad 7896285879677171346 + 0xe1, 0x2e, 0xce, 0x37, 0x06, 0x4a, 0xa7, 0xb9, //0x00004798 .quad -5069001465015685407 + 0x37, 0x04, 0xdd, 0xcc, 0xb6, 0x8d, 0xfa, 0xc8, //0x000047a0 .quad -3964700705685699529 + 0x99, 0xba, 0xc1, 0xc5, 0x87, 0x1c, 0x11, 0xe8, //0x000047a8 .quad -1724565812842218855 + 0xa2, 0x22, 0x0a, 0x40, 0x92, 0x98, 0x9c, 0x1d, //0x000047b0 .quad 2133748077373825698 + 0xa0, 0x14, 0x99, 0xdb, 0xd4, 0xb1, 0x0a, 0x91, //0x000047b8 .quad -7995382660667468640 + 0x4b, 0xab, 0x0c, 0xd0, 0xb6, 0xbe, 0x03, 0x25, //0x000047c0 .quad 2667185096717282123 + 0xc8, 0x59, 0x7f, 0x12, 0x4a, 0x5e, 0x4d, 0xb5, //0x000047c8 .quad -5382542307406947896 + 0x1d, 0xd6, 0x0f, 0x84, 0x64, 0xae, 0x44, 0x2e, //0x000047d0 .quad 3333981370896602653 + 0x3a, 0x30, 0x1f, 0x97, 0xdc, 0xb5, 0xa0, 0xe2, //0x000047d8 .quad -2116491865831296966 + 0xd2, 0xe5, 0x89, 0xd2, 0xfe, 0xec, 0xea, 0x5c, //0x000047e0 .quad 6695424375237764562 + 0x24, 0x7e, 0x73, 0xde, 0xa9, 0x71, 0xa4, 0x8d, //0x000047e8 .quad -8240336443785642460 + 0x47, 0x5f, 0x2c, 0x87, 0x3e, 0xa8, 0x25, 0x74, //0x000047f0 .quad 8369280469047205703 + 0xad, 0x5d, 0x10, 0x56, 0x14, 0x8e, 0x0d, 0xb1, //0x000047f8 .quad -5688734536304665171 + 0x19, 0x77, 0xf7, 0x28, 0x4e, 0x12, 0x2f, 0xd1, //0x00004800 .quad -3373457468973156583 + 0x18, 0x75, 0x94, 0x6b, 0x99, 0xf1, 0x50, 0xdd, //0x00004808 .quad -2499232151953443560 + 0x6f, 0xaa, 0x9a, 0xd9, 0x70, 0x6b, 0xbd, 0x82, //0x00004810 .quad -9025939945749304721 + 0x2f, 0xc9, 0x3c, 0xe3, 0xff, 0x96, 0x52, 0x8a, //0x00004818 .quad -8479549122611984081 + 0x0b, 0x55, 0x01, 0x10, 0x4d, 0xc6, 0x6c, 0x63, //0x00004820 .quad 7164319141522920715 + 0x7b, 0xfb, 0x0b, 0xdc, 0xbf, 0x3c, 0xe7, 0xac, //0x00004828 .quad -5987750384837592197 + 0x4e, 0xaa, 0x01, 0x54, 0xe0, 0xf7, 0x47, 0x3c, //0x00004830 .quad 4343712908476262990 + 0x5a, 0xfa, 0x0e, 0xd3, 0xef, 0x0b, 0x21, 0xd8, //0x00004838 .quad -2873001962619602342 + 0x71, 0x0a, 0x81, 0x34, 0xec, 0xfa, 0xac, 0x65, //0x00004840 .quad 7326506586225052273 + 0x78, 0x5c, 0xe9, 0xe3, 0x75, 0xa7, 0x14, 0x87, //0x00004848 .quad -8713155254278333320 + 0x0d, 0x4d, 0xa1, 0x41, 0xa7, 0x39, 0x18, 0x7f, //0x00004850 .quad 9158133232781315341 + 0x96, 0xb3, 0xe3, 0x5c, 0x53, 0xd1, 0xd9, 0xa8, //0x00004858 .quad -6279758049420528746 + 0x50, 0xa0, 0x09, 0x12, 0x11, 0x48, 0xde, 0x1e, //0x00004860 .quad 2224294504121868368 + 0x7c, 0xa0, 0x1c, 0x34, 0xa8, 0x45, 0x10, 0xd3, //0x00004868 .quad -3238011543348273028 + 0x32, 0x04, 0x46, 0xab, 0x0a, 0xed, 0x4a, 0x93, //0x00004870 .quad -7833187971778608078 + 0x4d, 0xe4, 0x91, 0x20, 0x89, 0x2b, 0xea, 0x83, //0x00004878 .quad -8941286242233752499 + 0x3f, 0x85, 0x17, 0x56, 0x4d, 0xa8, 0x1d, 0xf8, //0x00004880 .quad -568112927868484289 + 0x60, 0x5d, 0xb6, 0x68, 0x6b, 0xb6, 0xe4, 0xa4, //0x00004888 .quad -6564921784364802720 + 0x8e, 0x66, 0x9d, 0xab, 0x60, 0x12, 0x25, 0x36, //0x00004890 .quad 3901544858591782542 + 0xb9, 0xf4, 0xe3, 0x42, 0x06, 0xe4, 0x1d, 0xce, //0x00004898 .quad -3594466212028615495 + 0x19, 0x60, 0x42, 0x6b, 0x7c, 0x2b, 0xd7, 0xc1, //0x000048a0 .quad -4479063491021217767 + 0xf3, 0x78, 0xce, 0xe9, 0x83, 0xae, 0xd2, 0x80, //0x000048a8 .quad -9164070410158966541 + 0x1f, 0xf8, 0x12, 0x86, 0x5b, 0xf6, 0x4c, 0xb2, //0x000048b0 .quad -5598829363776522209 + 0x30, 0x17, 0x42, 0xe4, 0x24, 0x5a, 0x07, 0xa1, //0x000048b8 .quad -6843401994271320272 + 0x27, 0xb6, 0x97, 0x67, 0xf2, 0x33, 0xe0, 0xde, //0x000048c0 .quad -2386850686293264857 + 0xfc, 0x9c, 0x52, 0x1d, 0xae, 0x30, 0x49, 0xc9, //0x000048c8 .quad -3942566474411762436 + 0xb1, 0xa3, 0x7d, 0x01, 0xef, 0x40, 0x98, 0x16, //0x000048d0 .quad 1628122660560806833 + 0x3c, 0x44, 0xa7, 0xa4, 0xd9, 0x7c, 0x9b, 0xfb, //0x000048d8 .quad -316522074587315140 + 0x4e, 0x86, 0xee, 0x60, 0x95, 0x28, 0x1f, 0x8e, //0x000048e0 .quad -8205795374004271538 + 0xa5, 0x8a, 0xe8, 0x06, 0x08, 0x2e, 0x41, 0x9d, //0x000048e8 .quad -7115355324258153819 + 0xe2, 0x27, 0x2a, 0xb9, 0xba, 0xf2, 0xa6, 0xf1, //0x000048f0 .quad -1033872180650563614 + 0x4e, 0xad, 0xa2, 0x08, 0x8a, 0x79, 0x91, 0xc4, //0x000048f8 .quad -4282508136895304370 + 0xdb, 0xb1, 0x74, 0x67, 0x69, 0xaf, 0x10, 0xae, //0x00004900 .quad -5904026244240592421 + 0xa2, 0x58, 0xcb, 0x8a, 0xec, 0xd7, 0xb5, 0xf5, //0x00004908 .quad -741449152691742558 + 0x29, 0xef, 0xa8, 0xe0, 0xa1, 0x6d, 0xca, 0xac, //0x00004910 .quad -5995859411864064215 + 0x65, 0x17, 0xbf, 0xd6, 0xf3, 0xa6, 0x91, 0x99, //0x00004918 .quad -7380934748073420955 + 0xf3, 0x2a, 0xd3, 0x58, 0x0a, 0x09, 0xfd, 0x17, //0x00004920 .quad 1728547772024695539 + 0x3f, 0xdd, 0x6e, 0xcc, 0xb0, 0x10, 0xf6, 0xbf, //0x00004928 .quad -4614482416664388289 + 0xb0, 0xf5, 0x07, 0xef, 0x4c, 0x4b, 0xfc, 0xdd, //0x00004930 .quad -2451001303396518480 + 0x8e, 0x94, 0x8a, 0xff, 0xdc, 0x94, 0xf3, 0xef, //0x00004938 .quad -1156417002403097458 + 0x8e, 0xf9, 0x64, 0x15, 0x10, 0xaf, 0xbd, 0x4a, //0x00004940 .quad 5385653213018257806 + 0xd9, 0x9c, 0xb6, 0x1f, 0x0a, 0x3d, 0xf8, 0x95, //0x00004948 .quad -7640289654143017767 + 0xf1, 0x37, 0xbe, 0x1a, 0xd4, 0x1a, 0x6d, 0x9d, //0x00004950 .quad -7102991539009341455 + 0x0f, 0x44, 0xa4, 0xa7, 0x4c, 0x4c, 0x76, 0xbb, //0x00004958 .quad -4938676049251384305 + 0xed, 0xc5, 0x6d, 0x21, 0x89, 0x61, 0xc8, 0x84, //0x00004960 .quad -8878739423761676819 + 0x13, 0x55, 0x8d, 0xd1, 0x5f, 0xdf, 0x53, 0xea, //0x00004968 .quad -1561659043136842477 + 0xb4, 0x9b, 0xe4, 0xb4, 0xf5, 0x3c, 0xfd, 0x32, //0x00004970 .quad 3674159897003727796 + 0x2c, 0x55, 0xf8, 0xe2, 0x9b, 0x6b, 0x74, 0x92, //0x00004978 .quad -7893565929601608404 + 0xa1, 0xc2, 0x1d, 0x22, 0x33, 0x8c, 0xbc, 0x3f, //0x00004980 .quad 4592699871254659745 + 0x77, 0x6a, 0xb6, 0xdb, 0x82, 0x86, 0x11, 0xb7, //0x00004988 .quad -5255271393574622601 + 0x4a, 0x33, 0xa5, 0xea, 0x3f, 0xaf, 0xab, 0x0f, //0x00004990 .quad 1129188820640936778 + 0x15, 0x05, 0xa4, 0x92, 0x23, 0xe8, 0xd5, 0xe4, //0x00004998 .quad -1957403223540890347 + 0x0e, 0x40, 0xa7, 0xf2, 0x87, 0x4d, 0xcb, 0x29, //0x000049a0 .quad 3011586022114279438 + 0x2d, 0x83, 0xa6, 0x3b, 0x16, 0xb1, 0x05, 0x8f, //0x000049a8 .quad -8140906042354138323 + 0x12, 0x10, 0x51, 0xef, 0xe9, 0x20, 0x3e, 0x74, //0x000049b0 .quad 8376168546070237202 + 0xf8, 0x23, 0x90, 0xca, 0x5b, 0x1d, 0xc7, 0xb2, //0x000049b8 .quad -5564446534515285000 + 0x16, 0x54, 0x25, 0x6b, 0x24, 0xa9, 0x4d, 0x91, //0x000049c0 .quad -7976533391121755114 + 0xf6, 0x2c, 0x34, 0xbd, 0xb2, 0xe4, 0x78, 0xdf, //0x000049c8 .quad -2343872149716718346 + 0x8e, 0x54, 0xf7, 0xc2, 0xb6, 0x89, 0xd0, 0x1a, //0x000049d0 .quad 1932195658189984910 + 0x1a, 0x9c, 0x40, 0xb6, 0xef, 0x8e, 0xab, 0x8b, //0x000049d8 .quad -8382449121214030822 + 0xb1, 0x29, 0xb5, 0x73, 0x24, 0xac, 0x84, 0xa1, //0x000049e0 .quad -6808127464117294671 + 0x20, 0xc3, 0xd0, 0xa3, 0xab, 0x72, 0x96, 0xae, //0x000049e8 .quad -5866375383090150624 + 0x1e, 0x74, 0xa2, 0x90, 0x2d, 0xd7, 0xe5, 0xc9, //0x000049f0 .quad -3898473311719230434 + 0xe8, 0xf3, 0xc4, 0x8c, 0x56, 0x0f, 0x3c, 0xda, //0x000049f8 .quad -2721283210435300376 + 0x92, 0x88, 0x65, 0x7a, 0x7c, 0xa6, 0x2f, 0x7e, //0x00004a00 .quad 9092669226243950738 + 0x71, 0x18, 0xfb, 0x17, 0x96, 0x89, 0x65, 0x88, //0x00004a08 .quad -8618331034163144591 + 0xb7, 0xea, 0xfe, 0x98, 0x1b, 0x90, 0xbb, 0xdd, //0x00004a10 .quad -2469221522477225289 + 0x8d, 0xde, 0xf9, 0x9d, 0xfb, 0xeb, 0x7e, 0xaa, //0x00004a18 .quad -6161227774276542835 + 0x65, 0xa5, 0x3e, 0x7f, 0x22, 0x74, 0x2a, 0x55, //0x00004a20 .quad 6136845133758244197 + 0x31, 0x56, 0x78, 0x85, 0xfa, 0xa6, 0x1e, 0xd5, //0x00004a28 .quad -3089848699418290639 + 0x5f, 0x27, 0x87, 0x8f, 0x95, 0x88, 0x3a, 0xd5, //0x00004a30 .quad -3082000819042179233 + 0xde, 0x35, 0x6b, 0x93, 0x5c, 0x28, 0x33, 0x85, //0x00004a38 .quad -8848684464777513506 + 0x37, 0xf1, 0x68, 0xf3, 0xba, 0x2a, 0x89, 0x8a, //0x00004a40 .quad -8464187042230111945 + 0x56, 0x03, 0x46, 0xb8, 0x73, 0xf2, 0x7f, 0xa6, //0x00004a48 .quad -6449169562544503978 + 0x85, 0x2d, 0x43, 0xb0, 0x69, 0x75, 0x2b, 0x2d, //0x00004a50 .quad 3254824252494523781 + 0x2c, 0x84, 0x57, 0xa6, 0x10, 0xef, 0x1f, 0xd0, //0x00004a58 .quad -3449775934753242068 + 0x73, 0xfc, 0x29, 0x0e, 0x62, 0x29, 0x3b, 0x9c, //0x00004a60 .quad -7189106879045698445 + 0x9b, 0xb2, 0xf6, 0x67, 0x6a, 0xf5, 0x13, 0x82, //0x00004a68 .quad -9073638986861858149 + 0x8f, 0x7b, 0xb4, 0x91, 0xba, 0xf3, 0x49, 0x83, //0x00004a70 .quad -8986383598807123057 + 0x42, 0x5f, 0xf4, 0x01, 0xc5, 0xf2, 0x98, 0xa2, //0x00004a78 .quad -6730362715149934782 + 0x73, 0x9a, 0x21, 0x36, 0xa9, 0x70, 0x1c, 0x24, //0x00004a80 .quad 2602078556773259891 + 0x13, 0x77, 0x71, 0x42, 0x76, 0x2f, 0x3f, 0xcb, //0x00004a88 .quad -3801267375510030573 + 0x10, 0x01, 0xaa, 0x83, 0xd3, 0x8c, 0x23, 0xed, //0x00004a90 .quad -1359087822460813040 + 0xd7, 0xd4, 0x0d, 0xd3, 0x53, 0xfb, 0x0e, 0xfe, //0x00004a98 .quad -139898200960150313 + 0xaa, 0x40, 0x4a, 0x32, 0x04, 0x38, 0x36, 0xf4, //0x00004aa0 .quad -849429889038008150 + 0x06, 0xa5, 0xe8, 0x63, 0x14, 0x5d, 0xc9, 0x9e, //0x00004aa8 .quad -7004965403241175802 + 0xd5, 0xd0, 0xdc, 0x3e, 0x05, 0xc6, 0x43, 0xb1, //0x00004ab0 .quad -5673473379724898091 + 0x48, 0xce, 0xe2, 0x7c, 0x59, 0xb4, 0x7b, 0xc6, //0x00004ab8 .quad -4144520735624081848 + 0x0a, 0x05, 0x94, 0x8e, 0x86, 0xb7, 0x94, 0xdd, //0x00004ac0 .quad -2480155706228734710 + 0xda, 0x81, 0x1b, 0xdc, 0x6f, 0xa1, 0x1a, 0xf8, //0x00004ac8 .quad -568964901102714406 + 0x26, 0x83, 0x1c, 0x19, 0xb4, 0xf2, 0x7c, 0xca, //0x00004ad0 .quad -3855940325606653146 + 0x28, 0x31, 0x91, 0xe9, 0xe5, 0xa4, 0x10, 0x9b, //0x00004ad8 .quad -7273132090830278360 + 0xf0, 0xa3, 0x63, 0x1f, 0x61, 0x2f, 0x1c, 0xfd, //0x00004ae0 .quad -208239388580928528 + 0x72, 0x7d, 0xf5, 0x63, 0x1f, 0xce, 0xd4, 0xc1, //0x00004ae8 .quad -4479729095110460046 + 0xec, 0x8c, 0x3c, 0x67, 0x39, 0x3b, 0x63, 0xbc, //0x00004af0 .quad -4871985254153548564 + 0xcf, 0xdc, 0xf2, 0x3c, 0xa7, 0x01, 0x4a, 0xf2, //0x00004af8 .quad -987975350460687153 + 0x13, 0xd8, 0x85, 0xe0, 0x03, 0x05, 0xbe, 0xd5, //0x00004b00 .quad -3044990783845967853 + 0x01, 0xca, 0x17, 0x86, 0x08, 0x41, 0x6e, 0x97, //0x00004b08 .quad -7535013621679011327 + 0x18, 0x4e, 0xa7, 0xd8, 0x44, 0x86, 0x2d, 0x4b, //0x00004b10 .quad 5417133557047315992 + 0x82, 0xbc, 0x9d, 0xa7, 0x4a, 0xd1, 0x49, 0xbd, //0x00004b18 .quad -4807081008671376254 + 0x9e, 0x21, 0xd1, 0x0e, 0xd6, 0xe7, 0xf8, 0xdd, //0x00004b20 .quad -2451955090545630818 + 0xa2, 0x2b, 0x85, 0x51, 0x9d, 0x45, 0x9c, 0xec, //0x00004b28 .quad -1397165242411832414 + 0x03, 0xb5, 0x42, 0xc9, 0xe5, 0x90, 0xbb, 0xca, //0x00004b30 .quad -3838314940804713213 + 0x45, 0x3b, 0xf3, 0x52, 0x82, 0xab, 0xe1, 0x93, //0x00004b38 .quad -7790757304148477115 + 0x43, 0x62, 0x93, 0x3b, 0x1f, 0x75, 0x6a, 0x3d, //0x00004b40 .quad 4425478360848884291 + 0x17, 0x0a, 0xb0, 0xe7, 0x62, 0x16, 0xda, 0xb8, //0x00004b48 .quad -5126760611758208489 + 0xd4, 0x3a, 0x78, 0x0a, 0x67, 0x12, 0xc5, 0x0c, //0x00004b50 .quad 920161932633717460 + 0x9d, 0x0c, 0x9c, 0xa1, 0xfb, 0x9b, 0x10, 0xe7, //0x00004b58 .quad -1796764746270372707 + 0xc5, 0x24, 0x8b, 0x66, 0x80, 0x2b, 0xfb, 0x27, //0x00004b60 .quad 2880944217109767365 + 0xe2, 0x87, 0x01, 0x45, 0x7d, 0x61, 0x6a, 0x90, //0x00004b68 .quad -8040506994060064798 + 0xf6, 0xed, 0x2d, 0x80, 0x60, 0xf6, 0xf9, 0xb1, //0x00004b70 .quad -5622191765467566602 + 0xda, 0xe9, 0x41, 0x96, 0xdc, 0xf9, 0x84, 0xb4, //0x00004b78 .quad -5438947724147693094 + 0x73, 0x69, 0x39, 0xa0, 0xf8, 0x73, 0x78, 0x5e, //0x00004b80 .quad 6807318348447705459 + 0x51, 0x64, 0xd2, 0xbb, 0x53, 0x38, 0xa6, 0xe1, //0x00004b88 .quad -2186998636757228463 + 0xe8, 0xe1, 0x23, 0x64, 0x7b, 0x48, 0x0b, 0xdb, //0x00004b90 .quad -2662955059861265944 + 0xb2, 0x7e, 0x63, 0x55, 0x34, 0xe3, 0x07, 0x8d, //0x00004b98 .quad -8284403175614349646 + 0x62, 0xda, 0x2c, 0x3d, 0x9a, 0x1a, 0xce, 0x91, //0x00004ba0 .quad -7940379843253970334 + 0x5f, 0x5e, 0xbc, 0x6a, 0x01, 0xdc, 0x49, 0xb0, //0x00004ba8 .quad -5743817951090549153 + 0xfb, 0x10, 0x78, 0xcc, 0x40, 0xa1, 0x41, 0x76, //0x00004bb0 .quad 8521269269642088699 + 0xf7, 0x75, 0x6b, 0xc5, 0x01, 0x53, 0x5c, 0xdc, //0x00004bb8 .quad -2568086420435798537 + 0x9d, 0x0a, 0xcb, 0x7f, 0xc8, 0x04, 0xe9, 0xa9, //0x00004bc0 .quad -6203421752542164323 + 0xba, 0x29, 0x63, 0x1b, 0xe1, 0xb3, 0xb9, 0x89, //0x00004bc8 .quad -8522583040413455942 + 0x44, 0xcd, 0xbd, 0x9f, 0xfa, 0x45, 0x63, 0x54, //0x00004bd0 .quad 6080780864604458308 + 0x29, 0xf4, 0x3b, 0x62, 0xd9, 0x20, 0x28, 0xac, //0x00004bd8 .quad -6041542782089432023 + 0x95, 0x40, 0xad, 0x47, 0x79, 0x17, 0x7c, 0xa9, //0x00004be0 .quad -6234081974526590827 + 0x33, 0xf1, 0xca, 0xba, 0x0f, 0x29, 0x32, 0xd7, //0x00004be8 .quad -2940242459184402125 + 0x5d, 0x48, 0xcc, 0xcc, 0xab, 0x8e, 0xed, 0x49, //0x00004bf0 .quad 5327070802775656541 + 0xc0, 0xd6, 0xbe, 0xd4, 0xa9, 0x59, 0x7f, 0x86, //0x00004bf8 .quad -8755180564631333184 + 0x74, 0x5a, 0xff, 0xbf, 0x56, 0xf2, 0x68, 0x5c, //0x00004c00 .quad 6658838503469570676 + 0x70, 0x8c, 0xee, 0x49, 0x14, 0x30, 0x1f, 0xa8, //0x00004c08 .quad -6332289687361778576 + 0x11, 0x31, 0xff, 0x6f, 0xec, 0x2e, 0x83, 0x73, //0x00004c10 .quad 8323548129336963345 + 0x8c, 0x2f, 0x6a, 0x5c, 0x19, 0xfc, 0x26, 0xd2, //0x00004c18 .quad -3303676090774835316 + 0xab, 0x7e, 0xff, 0xc5, 0x53, 0xfd, 0x31, 0xc8, //0x00004c20 .quad -4021154456019173717 + 0xb7, 0x5d, 0xc2, 0xd9, 0x8f, 0x5d, 0x58, 0x83, //0x00004c28 .quad -8982326584375353929 + 0x55, 0x5e, 0x7f, 0xb7, 0xa8, 0x7c, 0x3e, 0xba, //0x00004c30 .quad -5026443070023967147 + 0x25, 0xf5, 0x32, 0xd0, 0xf3, 0x74, 0x2e, 0xa4, //0x00004c38 .quad -6616222212041804507 + 0xeb, 0x35, 0x5f, 0xe5, 0xd2, 0x1b, 0xce, 0x28, //0x00004c40 .quad 2940318199324816875 + 0x6f, 0xb2, 0x3f, 0xc4, 0x30, 0x12, 0x3a, 0xcd, //0x00004c48 .quad -3658591746624867729 + 0xb3, 0x81, 0x5b, 0xcf, 0x63, 0xd1, 0x80, 0x79, //0x00004c50 .quad 8755227902219092403 + 0x85, 0xcf, 0xa7, 0x7a, 0x5e, 0x4b, 0x44, 0x80, //0x00004c58 .quad -9204148869281624187 + 0x1f, 0x62, 0x32, 0xc3, 0xbc, 0x05, 0xe1, 0xd7, //0x00004c60 .quad -2891023177508298209 + 0x66, 0xc3, 0x51, 0x19, 0x36, 0x5e, 0x55, 0xa0, //0x00004c68 .quad -6893500068174642330 + 0xa7, 0xfa, 0xfe, 0xf3, 0x2b, 0x47, 0xd9, 0x8d, //0x00004c70 .quad -8225464990312760665 + 0x40, 0x34, 0xa6, 0x9f, 0xc3, 0xb5, 0x6a, 0xc8, //0x00004c78 .quad -4005189066790915008 + 0x51, 0xb9, 0xfe, 0xf0, 0xf6, 0x98, 0x4f, 0xb1, //0x00004c80 .quad -5670145219463562927 + 0x50, 0xc1, 0x8f, 0x87, 0x34, 0x63, 0x85, 0xfa, //0x00004c88 .quad -394800315061255856 + 0xd3, 0x33, 0x9f, 0x56, 0x9a, 0xbf, 0xd1, 0x6e, //0x00004c90 .quad 7985374283903742931 + 0xd2, 0xd8, 0xb9, 0xd4, 0x00, 0x5e, 0x93, 0x9c, //0x00004c98 .quad -7164279224554366766 + 0xc8, 0x00, 0x47, 0xec, 0x80, 0x2f, 0x86, 0x0a, //0x00004ca0 .quad 758345818024902856 + 0x07, 0x4f, 0xe8, 0x09, 0x81, 0x35, 0xb8, 0xc3, //0x00004ca8 .quad -4343663012265570553 + 0xfa, 0xc0, 0x58, 0x27, 0x61, 0xbb, 0x27, 0xcd, //0x00004cb0 .quad -3663753745896259334 + 0xc8, 0x62, 0x62, 0x4c, 0xe1, 0x42, 0xa6, 0xf4, //0x00004cb8 .quad -817892746904575288 + 0x9c, 0x78, 0x97, 0xb8, 0x1c, 0xd5, 0x38, 0x80, //0x00004cc0 .quad -9207375118826243940 + 0xbd, 0x7d, 0xbd, 0xcf, 0xcc, 0xe9, 0xe7, 0x98, //0x00004cc8 .quad -7428711994456441411 + 0xc3, 0x56, 0xbd, 0xe6, 0x63, 0x0a, 0x47, 0xe0, //0x00004cd0 .quad -2285846861678029117 + 0x2c, 0xdd, 0xac, 0x03, 0x40, 0xe4, 0x21, 0xbf, //0x00004cd8 .quad -4674203974643163860 + 0x74, 0xac, 0x6c, 0xe0, 0xfc, 0xcc, 0x58, 0x18, //0x00004ce0 .quad 1754377441329851508 + 0x78, 0x14, 0x98, 0x04, 0x50, 0x5d, 0xea, 0xee, //0x00004ce8 .quad -1231068949876566920 + 0xc8, 0xeb, 0x43, 0x0c, 0x1e, 0x80, 0x37, 0x0f, //0x00004cf0 .quad 1096485900831157192 + 0xcb, 0x0c, 0xdf, 0x02, 0x52, 0x7a, 0x52, 0x95, //0x00004cf8 .quad -7686947121313936181 + 0xba, 0xe6, 0x54, 0x8f, 0x25, 0x60, 0x05, 0xd3, //0x00004d00 .quad -3241078642388441414 + 0xfd, 0xcf, 0x96, 0x83, 0xe6, 0x18, 0xa7, 0xba, //0x00004d08 .quad -4996997883215032323 + 0x69, 0x20, 0x2a, 0xf3, 0x2e, 0xb8, 0xc6, 0x47, //0x00004d10 .quad 5172023733869224041 + 0xfd, 0x83, 0x7c, 0x24, 0x20, 0xdf, 0x50, 0xe9, //0x00004d18 .quad -1634561335591402499 + 0x41, 0x54, 0xfa, 0x57, 0x1d, 0x33, 0xdc, 0x4c, //0x00004d20 .quad 5538357842881958977 + 0x7e, 0xd2, 0xcd, 0x16, 0x74, 0x8b, 0xd2, 0x91, //0x00004d28 .quad -7939129862385708418 + 0x52, 0xe9, 0xf8, 0xad, 0xe4, 0x3f, 0x13, 0xe0, //0x00004d30 .quad -2300424733252327086 + 0x1d, 0x47, 0x81, 0x1c, 0x51, 0x2e, 0x47, 0xb6, //0x00004d38 .quad -5312226309554747619 + 0xa6, 0x23, 0x77, 0xd9, 0xdd, 0x0f, 0x18, 0x58, //0x00004d40 .quad 6347841120289366950 + 0xe5, 0x98, 0xa1, 0x63, 0xe5, 0xf9, 0xd8, 0xe3, //0x00004d48 .quad -2028596868516046619 + 0x48, 0x76, 0xea, 0xa7, 0xea, 0x09, 0x0f, 0x57, //0x00004d50 .quad 6273243709394548296 + 0x8f, 0xff, 0x44, 0x5e, 0x2f, 0x9c, 0x67, 0x8e, //0x00004d58 .quad -8185402070463610993 + 0xda, 0x13, 0xe5, 0x51, 0x65, 0xcc, 0xd2, 0x2c, //0x00004d60 .quad 3229868618315797466 + 0x73, 0x3f, 0xd6, 0x35, 0x3b, 0x83, 0x01, 0xb2, //0x00004d68 .quad -5620066569652125837 + 0xd1, 0x58, 0x5e, 0xa6, 0x7e, 0x7f, 0x07, 0xf8, //0x00004d70 .quad -574350245532641071 + 0x4f, 0xcf, 0x4b, 0x03, 0x0a, 0xe4, 0x81, 0xde, //0x00004d78 .quad -2413397193637769393 + 0x82, 0xf7, 0xfa, 0x27, 0xaf, 0xaf, 0x04, 0xfb, //0x00004d80 .quad -358968903457900670 + 0x91, 0x61, 0x0f, 0x42, 0x86, 0x2e, 0x11, 0x8b, //0x00004d88 .quad -8425902273664687727 + 0x63, 0xb5, 0xf9, 0xf1, 0x9a, 0xdb, 0xc5, 0x79, //0x00004d90 .quad 8774660907532399971 + 0xf6, 0x39, 0x93, 0xd2, 0x27, 0x7a, 0xd5, 0xad, //0x00004d98 .quad -5920691823653471754 + 0xbc, 0x22, 0x78, 0xae, 0x81, 0x52, 0x37, 0x18, //0x00004da0 .quad 1744954097560724156 + 0x74, 0x08, 0x38, 0xc7, 0xb1, 0xd8, 0x4a, 0xd9, //0x00004da8 .quad -2789178761139451788 + 0xb5, 0x15, 0x0b, 0x0d, 0x91, 0x93, 0x22, 0x8f, //0x00004db0 .quad -8132775725879323211 + 0x48, 0x05, 0x83, 0x1c, 0x6f, 0xc7, 0xce, 0x87, //0x00004db8 .quad -8660765753353239224 + 0x22, 0xdb, 0x4d, 0x50, 0x75, 0x38, 0xeb, 0xb2, //0x00004dc0 .quad -5554283638921766110 + 0x9a, 0xc6, 0xa3, 0xe3, 0x4a, 0x79, 0xc2, 0xa9, //0x00004dc8 .quad -6214271173264161126 + 0xeb, 0x51, 0x61, 0xa4, 0x92, 0x06, 0xa6, 0x5f, //0x00004dd0 .quad 6892203506629956075 + 0x41, 0xb8, 0x8c, 0x9c, 0x9d, 0x17, 0x33, 0xd4, //0x00004dd8 .quad -3156152948152813503 + 0x33, 0xd3, 0xbc, 0xa6, 0x1b, 0xc4, 0xc7, 0xdb, //0x00004de0 .quad -2609901835997359309 + 0x28, 0xf3, 0xd7, 0x81, 0xc2, 0xee, 0x9f, 0x84, //0x00004de8 .quad -8890124620236590296 + 0x00, 0x08, 0x6c, 0x90, 0x22, 0xb5, 0xb9, 0x12, //0x00004df0 .quad 1349308723430688768 + 0xf3, 0xef, 0x4d, 0x22, 0x73, 0xea, 0xc7, 0xa5, //0x00004df8 .quad -6500969756868349965 + 0x00, 0x0a, 0x87, 0x34, 0x6b, 0x22, 0x68, 0xd7, //0x00004e00 .quad -2925050114139026944 + 0xef, 0x6b, 0xe1, 0xea, 0x0f, 0xe5, 0x39, 0xcf, //0x00004e08 .quad -3514526177658049553 + 0x40, 0x66, 0xd4, 0x00, 0x83, 0x15, 0xa1, 0xe6, //0x00004e10 .quad -1828156321336891840 + 0x75, 0xe3, 0xcc, 0xf2, 0x29, 0x2f, 0x84, 0x81, //0x00004e18 .quad -9114107888677362827 + 0xd0, 0x7f, 0x09, 0xc1, 0xe3, 0x5a, 0x49, 0x60, //0x00004e20 .quad 6938176635183661008 + 0x53, 0x1c, 0x80, 0x6f, 0xf4, 0x3a, 0xe5, 0xa1, //0x00004e28 .quad -6780948842419315629 + 0xc4, 0xdf, 0x4b, 0xb1, 0x9c, 0xb1, 0x5b, 0x38, //0x00004e30 .quad 4061034775552188356 + 0x68, 0x23, 0x60, 0x8b, 0xb1, 0x89, 0x5e, 0xca, //0x00004e38 .quad -3864500034596756632 + 0xb5, 0xd7, 0x9e, 0xdd, 0x03, 0x9e, 0x72, 0x46, //0x00004e40 .quad 5076293469440235445 + 0x42, 0x2c, 0x38, 0xee, 0x1d, 0x2c, 0xf6, 0xfc, //0x00004e48 .quad -218939024818557886 + 0xd1, 0x46, 0x83, 0x6a, 0xc2, 0xa2, 0x07, 0x6c, //0x00004e50 .quad 7784369436827535057 + 0xa9, 0x1b, 0xe3, 0xb4, 0x92, 0xdb, 0x19, 0x9e, //0x00004e58 .quad -7054365918152680535 + 0x85, 0x18, 0x24, 0x05, 0x73, 0x8b, 0x09, 0xc7, //0x00004e60 .quad -4104596259247744891 + 0x93, 0xe2, 0x1b, 0x62, 0x77, 0x52, 0xa0, 0xc5, //0x00004e68 .quad -4206271379263462765 + 0xa7, 0x1e, 0x6d, 0xc6, 0x4f, 0xee, 0xcb, 0xb8, //0x00004e70 .quad -5130745324059681113 + 0x38, 0xdb, 0xa2, 0x3a, 0x15, 0x67, 0x08, 0xf7, //0x00004e78 .quad -646153205651940552 + 0x28, 0x33, 0x04, 0xdc, 0xf1, 0x74, 0x7f, 0x73, //0x00004e80 .quad 8322499218531169064 + 0x03, 0xc9, 0xa5, 0x44, 0x6d, 0x40, 0x65, 0x9a, //0x00004e88 .quad -7321374781173544701 + 0xf2, 0x3f, 0x05, 0x53, 0x2e, 0x52, 0x5f, 0x50, //0x00004e90 .quad 5791438004736573426 + 0x44, 0x3b, 0xcf, 0x95, 0x88, 0x90, 0xfe, 0xc0, //0x00004e98 .quad -4540032458039542972 + 0xef, 0x8f, 0xc6, 0xe7, 0xb9, 0x26, 0x77, 0x64, //0x00004ea0 .quad 7239297505920716783 + 0x15, 0x0a, 0x43, 0xbb, 0xaa, 0x34, 0x3e, 0xf1, //0x00004ea8 .quad -1063354554122040811 + 0xf5, 0x19, 0xdc, 0x30, 0x34, 0x78, 0xca, 0x5e, //0x00004eb0 .quad 6830403950414141941 + 0x4d, 0xe6, 0x09, 0xb5, 0xea, 0xe0, 0xc6, 0x96, //0x00004eb8 .quad -7582125623967357363 + 0x72, 0x20, 0x13, 0x3d, 0x41, 0x16, 0x7d, 0xb6, //0x00004ec0 .quad -5297053117264486286 + 0xe0, 0x5f, 0x4c, 0x62, 0x25, 0x99, 0x78, 0xbc, //0x00004ec8 .quad -4865971011531808800 + 0x8f, 0xe8, 0x57, 0x8c, 0xd1, 0x5b, 0x1c, 0xe4, //0x00004ed0 .quad -2009630378153219953 + 0xd8, 0x77, 0xdf, 0xba, 0x6e, 0xbf, 0x96, 0xeb, //0x00004ed8 .quad -1470777745987373096 + 0x59, 0xf1, 0xb6, 0xf7, 0x62, 0xb9, 0x91, 0x8e, //0x00004ee0 .quad -8173548013986844327 + 0xe7, 0xaa, 0xcb, 0x34, 0xa5, 0x37, 0x3e, 0x93, //0x00004ee8 .quad -7836765118883190041 + 0xb0, 0xad, 0xa4, 0xb5, 0xbb, 0x27, 0x36, 0x72, //0x00004ef0 .quad 8229809056225996208 + 0xa1, 0x95, 0xfe, 0x81, 0x8e, 0xc5, 0x0d, 0xb8, //0x00004ef8 .quad -5184270380176599647 + 0x1c, 0xd9, 0x0d, 0xa3, 0xaa, 0xb1, 0xc3, 0xce, //0x00004f00 .quad -3547796734999668452 + 0x09, 0x3b, 0x7e, 0x22, 0xf2, 0x36, 0x11, 0xe6, //0x00004f08 .quad -1868651956793361655 + 0xb1, 0xa7, 0xe8, 0xa5, 0x0a, 0x4f, 0x3a, 0x21, //0x00004f10 .quad 2394313059052595121 + 0xe6, 0xe4, 0x8e, 0x55, 0x57, 0xc2, 0xca, 0x8f, //0x00004f18 .quad -8085436500636932890 + 0x9d, 0xd1, 0x62, 0x4f, 0xcd, 0xe2, 0x88, 0xa9, //0x00004f20 .quad -6230480713039031907 + 0x1f, 0x9e, 0xf2, 0x2a, 0xed, 0x72, 0xbd, 0xb3, //0x00004f28 .quad -5495109607368778209 + 0x05, 0x86, 0x3b, 0xa3, 0x80, 0x1b, 0xeb, 0x93, //0x00004f30 .quad -7788100891298789883 + 0xa7, 0x45, 0xaf, 0x75, 0xa8, 0xcf, 0xac, 0xe0, //0x00004f38 .quad -2257200990783584857 + 0xc3, 0x33, 0x05, 0x66, 0x30, 0xf1, 0x72, 0xbc, //0x00004f40 .quad -4867563057061743677 + 0x88, 0x8b, 0x8d, 0x49, 0xc9, 0x01, 0x6c, 0x8c, //0x00004f48 .quad -8328279646880822392 + 0xb4, 0x80, 0x86, 0x7f, 0x7c, 0xad, 0x8f, 0xeb, //0x00004f50 .quad -1472767802899791692 + 0x6a, 0xee, 0xf0, 0x9b, 0x3b, 0x02, 0x87, 0xaf, //0x00004f58 .quad -5798663540173640086 + 0xe1, 0x20, 0x68, 0x9f, 0xdb, 0x98, 0x73, 0xa6, //0x00004f60 .quad -6452645772052127519 + 0x05, 0x2a, 0xed, 0x82, 0xca, 0xc2, 0x68, 0xdb, //0x00004f68 .quad -2636643406789662203 + 0x8c, 0x14, 0xa1, 0x43, 0x89, 0x3f, 0x08, 0x88, //0x00004f70 .quad -8644589625959967604 + 0x43, 0x3a, 0xd4, 0x91, 0xbe, 0x79, 0x21, 0x89, //0x00004f78 .quad -8565431156884620733 + 0xb0, 0x59, 0x89, 0x94, 0x6b, 0x4f, 0x0a, 0x6a, //0x00004f80 .quad 7641007041259592112 + 0xd4, 0x48, 0x49, 0x36, 0x2e, 0xd8, 0x69, 0xab, //0x00004f88 .quad -6095102927678388012 + 0x1c, 0xb0, 0xab, 0x79, 0x46, 0xe3, 0x8c, 0x84, //0x00004f90 .quad -8895485272135061476 + 0x09, 0x9b, 0xdb, 0xc3, 0x39, 0x4e, 0x44, 0xd6, //0x00004f98 .quad -3007192641170597111 + 0x11, 0x4e, 0x0b, 0x0c, 0x0c, 0x0e, 0xd8, 0xf2, //0x00004fa0 .quad -947992276657025519 + 0xe5, 0x40, 0x69, 0x1a, 0xe4, 0xb0, 0xea, 0x85, //0x00004fa8 .quad -8797024428372705051 + 0x95, 0x21, 0x0e, 0x0f, 0x8f, 0x11, 0x8e, 0x6f, //0x00004fb0 .quad 8038381691033493909 + 0x1f, 0x91, 0x03, 0x21, 0x1d, 0x5d, 0x65, 0xa7, //0x00004fb8 .quad -6384594517038493409 + 0xfb, 0xa9, 0xd1, 0xd2, 0xf2, 0x95, 0x71, 0x4b, //0x00004fc0 .quad 5436291095364479483 + 0x67, 0x75, 0x44, 0x69, 0x64, 0xb4, 0x3e, 0xd1, //0x00004fc8 .quad -3369057127870728857 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004fd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x00004fe0 .p2align 4, 0x00 + //0x00004fe0 _POW_TAB + 0x01, 0x00, 0x00, 0x00, //0x00004fe0 .long 1 + 0x03, 0x00, 0x00, 0x00, //0x00004fe4 .long 3 + 0x06, 0x00, 0x00, 0x00, //0x00004fe8 .long 6 + 0x09, 0x00, 0x00, 0x00, //0x00004fec .long 9 + 0x0d, 0x00, 0x00, 0x00, //0x00004ff0 .long 13 + 0x10, 0x00, 0x00, 0x00, //0x00004ff4 .long 16 + 0x13, 0x00, 0x00, 0x00, //0x00004ff8 .long 19 + 0x17, 0x00, 0x00, 0x00, //0x00004ffc .long 23 + 0x1a, 0x00, 0x00, 0x00, //0x00005000 .long 26 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005004 .p2align 4, 0x00 + //0x00005010 _LSHIFT_TAB + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005010 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005020 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005030 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005040 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005050 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005060 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005070 QUAD $0x0000000000000000 // .space 8, '\x00\x00\x00\x00\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x00005078 .long 1 + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000507c QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000508c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000509c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000050dc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x000050e0 .long 1 + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050e4 QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005104 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005114 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005124 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005134 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005144 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x00005148 .long 1 + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000514c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000515c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000516c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000517c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000518c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000519c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000051ac LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x000051b0 .long 2 + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051b4 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005204 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005214 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x00005218 .long 2 + 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000521c QUAD $0x0000000035323133; QUAD $0x0000000000000000 // .asciz 16, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000522c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000523c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000524c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000525c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000526c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000527c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x00005280 .long 2 + 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005284 QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005294 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000052e4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x000052e8 .long 3 + 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052ec QUAD $0x0000003532313837; QUAD $0x0000000000000000 // .asciz 16, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000530c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000531c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000532c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000533c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000534c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x00005350 .long 3 + 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005354 QUAD $0x0000353236303933; QUAD $0x0000000000000000 // .asciz 16, '390625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005364 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005374 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005384 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005394 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000053b4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x000053b8 .long 3 + 0x31, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053bc QUAD $0x0035323133353931; QUAD $0x0000000000000000 // .asciz 16, '1953125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000540c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000541c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00005420 .long 4 + 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005424 QUAD $0x0035323635363739; QUAD $0x0000000000000000 // .asciz 16, '9765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005434 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005444 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005454 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005464 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005474 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005484 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00005488 .long 4 + 0x34, 0x38, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000548c QUAD $0x3532313832383834; QUAD $0x0000000000000000 // .asciz 16, '48828125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000549c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000054ec LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x000054f0 .long 4 + 0x32, 0x34, 0x34, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054f4 QUAD $0x3236303431343432; QUAD $0x0000000000000035 // .asciz 16, '244140625\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005504 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005514 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005524 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005534 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005544 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005554 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00005558 .long 4 + 0x31, 0x32, 0x32, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000555c QUAD $0x3133303730323231; QUAD $0x0000000000003532 // .asciz 16, '1220703125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000556c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000557c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000558c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000559c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000055bc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x000055c0 .long 5 + 0x36, 0x31, 0x30, 0x33, 0x35, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055c4 QUAD $0x3635313533303136; QUAD $0x0000000000003532 // .asciz 16, '6103515625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005604 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005614 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005624 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x00005628 .long 5 + 0x33, 0x30, 0x35, 0x31, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000562c QUAD $0x3837353731353033; QUAD $0x0000000000353231 // .asciz 16, '30517578125\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000563c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000564c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000565c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000566c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000567c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000568c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x00005690 .long 5 + 0x31, 0x35, 0x32, 0x35, 0x38, 0x37, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x00005694 QUAD $0x3938373835323531; QUAD $0x0000000035323630 // .asciz 16, '152587890625\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000056f4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x000056f8 .long 6 + 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x000056fc QUAD $0x3534393339323637; QUAD $0x0000000035323133 // .asciz 16, '762939453125\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000570c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000571c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000572c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000573c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000574c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000575c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00005760 .long 6 + 0x33, 0x38, 0x31, 0x34, 0x36, 0x39, 0x37, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, //0x00005764 QUAD $0x3237393634313833; QUAD $0x0000003532363536 // .asciz 16, '3814697265625\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005774 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005784 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005794 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000057c4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x000057c8 .long 6 + 0x31, 0x39, 0x30, 0x37, 0x33, 0x34, 0x38, 0x36, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, //0x000057cc QUAD $0x3638343337303931; QUAD $0x0000353231383233 // .asciz 16, '19073486328125\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000580c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000581c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000582c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00005830 .long 7 + 0x39, 0x35, 0x33, 0x36, 0x37, 0x34, 0x33, 0x31, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, //0x00005834 QUAD $0x3133343736333539; QUAD $0x0000353236303436 // .asciz 16, '95367431640625\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005844 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005854 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005864 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005874 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005884 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005894 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00005898 .long 7 + 0x34, 0x37, 0x36, 0x38, 0x33, 0x37, 0x31, 0x35, 0x38, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, //0x0000589c QUAD $0x3531373338363734; QUAD $0x0035323133303238 // .asciz 16, '476837158203125\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000058fc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00005900 .long 7 + 0x32, 0x33, 0x38, 0x34, 0x31, 0x38, 0x35, 0x37, 0x39, 0x31, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, //0x00005904 QUAD $0x3735383134383332; QUAD $0x3532363531303139 // .asciz 16, '2384185791015625' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005914 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005924 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005934 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005944 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005954 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005964 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00005968 .long 7 + 0x31, 0x31, 0x39, 0x32, 0x30, 0x39, 0x32, 0x38, 0x39, 0x35, 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, //0x0000596c QUAD $0x3832393032393131; QUAD $0x3231383730353539 // .asciz 16, '1192092895507812' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000597c QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000598c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000599c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000059cc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x000059d0 .long 8 + 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, //0x000059d4 QUAD $0x3434363430363935; QUAD $0x3236303933353737 // .asciz 16, '5960464477539062' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059e4 QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005a34 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00005a38 .long 8 + 0x32, 0x39, 0x38, 0x30, 0x32, 0x33, 0x32, 0x32, 0x33, 0x38, 0x37, 0x36, 0x39, 0x35, 0x33, 0x31, //0x00005a3c QUAD $0x3232333230383932; QUAD $0x3133353936373833 // .asciz 16, '2980232238769531' + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a4c QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a7c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005a9c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00005aa0 .long 8 + 0x31, 0x34, 0x39, 0x30, 0x31, 0x31, 0x36, 0x31, 0x31, 0x39, 0x33, 0x38, 0x34, 0x37, 0x36, 0x35, //0x00005aa4 QUAD $0x3136313130393431; QUAD $0x3536373438333931 // .asciz 16, '1490116119384765' + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ab4 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ac4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ad4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ae4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005af4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005b04 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00005b08 .long 9 + 0x37, 0x34, 0x35, 0x30, 0x35, 0x38, 0x30, 0x35, 0x39, 0x36, 0x39, 0x32, 0x33, 0x38, 0x32, 0x38, //0x00005b0c QUAD $0x3530383530353437; QUAD $0x3832383332393639 // .asciz 16, '7450580596923828' + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b1c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b3c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005b6c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00005b70 .long 9 + 0x33, 0x37, 0x32, 0x35, 0x32, 0x39, 0x30, 0x32, 0x39, 0x38, 0x34, 0x36, 0x31, 0x39, 0x31, 0x34, //0x00005b74 QUAD $0x3230393235323733; QUAD $0x3431393136343839 // .asciz 16, '3725290298461914' + 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b84 QUAD $0x0000000035323630; QUAD $0x0000000000000000 // .asciz 16, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ba4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005bb4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005bc4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005bd4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00005bd8 .long 9 + 0x31, 0x38, 0x36, 0x32, 0x36, 0x34, 0x35, 0x31, 0x34, 0x39, 0x32, 0x33, 0x30, 0x39, 0x35, 0x37, //0x00005bdc QUAD $0x3135343632363831; QUAD $0x3735393033323934 // .asciz 16, '1862645149230957' + 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005bec QUAD $0x0000003532313330; QUAD $0x0000000000000000 // .asciz 16, '03125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005bfc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005c3c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00005c40 .long 10 + 0x39, 0x33, 0x31, 0x33, 0x32, 0x32, 0x35, 0x37, 0x34, 0x36, 0x31, 0x35, 0x34, 0x37, 0x38, 0x35, //0x00005c44 QUAD $0x3735323233313339; QUAD $0x3538373435313634 // .asciz 16, '9313225746154785' + 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c54 QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005ca4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00005ca8 .long 10 + 0x34, 0x36, 0x35, 0x36, 0x36, 0x31, 0x32, 0x38, 0x37, 0x33, 0x30, 0x37, 0x37, 0x33, 0x39, 0x32, //0x00005cac QUAD $0x3832313636353634; QUAD $0x3239333737303337 // .asciz 16, '4656612873077392' + 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005cbc QUAD $0x0000353231383735; QUAD $0x0000000000000000 // .asciz 16, '578125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ccc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005cdc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005cec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005cfc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005d0c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00005d10 .long 10 + 0x32, 0x33, 0x32, 0x38, 0x33, 0x30, 0x36, 0x34, 0x33, 0x36, 0x35, 0x33, 0x38, 0x36, 0x39, 0x36, //0x00005d14 QUAD $0x3436303338323332; QUAD $0x3639363833353633 // .asciz 16, '2328306436538696' + 0x32, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d24 QUAD $0x0035323630393832; QUAD $0x0000000000000000 // .asciz 16, '2890625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d34 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005d74 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00005d78 .long 10 + 0x31, 0x31, 0x36, 0x34, 0x31, 0x35, 0x33, 0x32, 0x31, 0x38, 0x32, 0x36, 0x39, 0x33, 0x34, 0x38, //0x00005d7c QUAD $0x3233353134363131; QUAD $0x3834333936323831 // .asciz 16, '1164153218269348' + 0x31, 0x34, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d8c QUAD $0x3532313335343431; QUAD $0x0000000000000000 // .asciz 16, '14453125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d9c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005dac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005dbc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005dcc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005ddc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00005de0 .long 11 + 0x35, 0x38, 0x32, 0x30, 0x37, 0x36, 0x36, 0x30, 0x39, 0x31, 0x33, 0x34, 0x36, 0x37, 0x34, 0x30, //0x00005de4 QUAD $0x3036363730323835; QUAD $0x3034373634333139 // .asciz 16, '5820766091346740' + 0x37, 0x32, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005df4 QUAD $0x3532363536323237; QUAD $0x0000000000000000 // .asciz 16, '72265625\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e34 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005e44 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00005e48 .long 11 + 0x32, 0x39, 0x31, 0x30, 0x33, 0x38, 0x33, 0x30, 0x34, 0x35, 0x36, 0x37, 0x33, 0x33, 0x37, 0x30, //0x00005e4c QUAD $0x3033383330313932; QUAD $0x3037333337363534 // .asciz 16, '2910383045673370' + 0x33, 0x36, 0x31, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e5c QUAD $0x3231383233313633; QUAD $0x0000000000000035 // .asciz 16, '361328125\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e7c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e9c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005eac LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00005eb0 .long 11 + 0x31, 0x34, 0x35, 0x35, 0x31, 0x39, 0x31, 0x35, 0x32, 0x32, 0x38, 0x33, 0x36, 0x36, 0x38, 0x35, //0x00005eb4 QUAD $0x3531393135353431; QUAD $0x3538363633383232 // .asciz 16, '1455191522836685' + 0x31, 0x38, 0x30, 0x36, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ec4 QUAD $0x3630343636303831; QUAD $0x0000000000003532 // .asciz 16, '1806640625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ed4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ee4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ef4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005f14 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00005f18 .long 12 + 0x37, 0x32, 0x37, 0x35, 0x39, 0x35, 0x37, 0x36, 0x31, 0x34, 0x31, 0x38, 0x33, 0x34, 0x32, 0x35, //0x00005f1c QUAD $0x3637353935373237; QUAD $0x3532343338313431 // .asciz 16, '7275957614183425' + 0x39, 0x30, 0x33, 0x33, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f2c QUAD $0x3133303233333039; QUAD $0x0000000000003532 // .asciz 16, '9033203125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f3c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005f7c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00005f80 .long 12 + 0x33, 0x36, 0x33, 0x37, 0x39, 0x37, 0x38, 0x38, 0x30, 0x37, 0x30, 0x39, 0x31, 0x37, 0x31, 0x32, //0x00005f84 QUAD $0x3838373937333633; QUAD $0x3231373139303730 // .asciz 16, '3637978807091712' + 0x39, 0x35, 0x31, 0x36, 0x36, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f94 QUAD $0x3531303636313539; QUAD $0x0000000000353236 // .asciz 16, '95166015625\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005fa4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005fb4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005fc4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005fd4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005fe4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00005fe8 .long 12 + 0x31, 0x38, 0x31, 0x38, 0x39, 0x38, 0x39, 0x34, 0x30, 0x33, 0x35, 0x34, 0x35, 0x38, 0x35, 0x36, //0x00005fec QUAD $0x3439383938313831; QUAD $0x3635383534353330 // .asciz 16, '1818989403545856' + 0x34, 0x37, 0x35, 0x38, 0x33, 0x30, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x00005ffc QUAD $0x3730303338353734; QUAD $0x0000000035323138 // .asciz 16, '475830078125\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000600c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000601c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000602c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000603c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000604c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00006050 .long 13 + 0x39, 0x30, 0x39, 0x34, 0x39, 0x34, 0x37, 0x30, 0x31, 0x37, 0x37, 0x32, 0x39, 0x32, 0x38, 0x32, //0x00006054 QUAD $0x3037343934393039; QUAD $0x3238323932373731 // .asciz 16, '9094947017729282' + 0x33, 0x37, 0x39, 0x31, 0x35, 0x30, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x00006064 QUAD $0x3933303531393733; QUAD $0x0000000035323630 // .asciz 16, '379150390625\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006074 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006084 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006094 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000060a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000060b4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x000060b8 .long 13 + 0x34, 0x35, 0x34, 0x37, 0x34, 0x37, 0x33, 0x35, 0x30, 0x38, 0x38, 0x36, 0x34, 0x36, 0x34, 0x31, //0x000060bc QUAD $0x3533373437343534; QUAD $0x3134363436383830 // .asciz 16, '4547473508864641' + 0x31, 0x38, 0x39, 0x35, 0x37, 0x35, 0x31, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, //0x000060cc QUAD $0x3931353735393831; QUAD $0x0000003532313335 // .asciz 16, '1895751953125\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000060dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000060ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000060fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000610c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000611c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00006120 .long 13 + 0x32, 0x32, 0x37, 0x33, 0x37, 0x33, 0x36, 0x37, 0x35, 0x34, 0x34, 0x33, 0x32, 0x33, 0x32, 0x30, //0x00006124 QUAD $0x3736333733373232; QUAD $0x3032333233343435 // .asciz 16, '2273736754432320' + 0x35, 0x39, 0x34, 0x37, 0x38, 0x37, 0x35, 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, //0x00006134 QUAD $0x3935373837343935; QUAD $0x0000353236353637 // .asciz 16, '59478759765625\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006144 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006154 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006164 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006174 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006184 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00006188 .long 13 + 0x31, 0x31, 0x33, 0x36, 0x38, 0x36, 0x38, 0x33, 0x37, 0x37, 0x32, 0x31, 0x36, 0x31, 0x36, 0x30, //0x0000618c QUAD $0x3338363836333131; QUAD $0x3036313631323737 // .asciz 16, '1136868377216160' + 0x32, 0x39, 0x37, 0x33, 0x39, 0x33, 0x37, 0x39, 0x38, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, //0x0000619c QUAD $0x3937333933373932; QUAD $0x0035323138323838 // .asciz 16, '297393798828125\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000061ec LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x000061f0 .long 14 + 0x35, 0x36, 0x38, 0x34, 0x33, 0x34, 0x31, 0x38, 0x38, 0x36, 0x30, 0x38, 0x30, 0x38, 0x30, 0x31, //0x000061f4 QUAD $0x3831343334383635; QUAD $0x3130383038303638 // .asciz 16, '5684341886080801' + 0x34, 0x38, 0x36, 0x39, 0x36, 0x38, 0x39, 0x39, 0x34, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, //0x00006204 QUAD $0x3939383639363834; QUAD $0x0035323630343134 // .asciz 16, '486968994140625\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006214 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006224 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006234 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006244 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006254 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x00006258 .long 14 + 0x32, 0x38, 0x34, 0x32, 0x31, 0x37, 0x30, 0x39, 0x34, 0x33, 0x30, 0x34, 0x30, 0x34, 0x30, 0x30, //0x0000625c QUAD $0x3930373132343832; QUAD $0x3030343034303334 // .asciz 16, '2842170943040400' + 0x37, 0x34, 0x33, 0x34, 0x38, 0x34, 0x34, 0x39, 0x37, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, //0x0000626c QUAD $0x3934343834333437; QUAD $0x3532313330373037 // .asciz 16, '7434844970703125' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000627c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000628c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000629c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000062bc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x000062c0 .long 14 + 0x31, 0x34, 0x32, 0x31, 0x30, 0x38, 0x35, 0x34, 0x37, 0x31, 0x35, 0x32, 0x30, 0x32, 0x30, 0x30, //0x000062c4 QUAD $0x3435383031323431; QUAD $0x3030323032353137 // .asciz 16, '1421085471520200' + 0x33, 0x37, 0x31, 0x37, 0x34, 0x32, 0x32, 0x34, 0x38, 0x35, 0x33, 0x35, 0x31, 0x35, 0x36, 0x32, //0x000062d4 QUAD $0x3432323437313733; QUAD $0x3236353135333538 // .asciz 16, '3717422485351562' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062e4 QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006304 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006314 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006324 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00006328 .long 15 + 0x37, 0x31, 0x30, 0x35, 0x34, 0x32, 0x37, 0x33, 0x35, 0x37, 0x36, 0x30, 0x31, 0x30, 0x30, 0x31, //0x0000632c QUAD $0x3337323435303137; QUAD $0x3130303130363735 // .asciz 16, '7105427357601001' + 0x38, 0x35, 0x38, 0x37, 0x31, 0x31, 0x32, 0x34, 0x32, 0x36, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, //0x0000633c QUAD $0x3432313137383538; QUAD $0x3231383735373632 // .asciz 16, '8587112426757812' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000634c QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000635c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000636c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000637c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000638c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00006390 .long 15 + 0x33, 0x35, 0x35, 0x32, 0x37, 0x31, 0x33, 0x36, 0x37, 0x38, 0x38, 0x30, 0x30, 0x35, 0x30, 0x30, //0x00006394 QUAD $0x3633313732353533; QUAD $0x3030353030383837 // .asciz 16, '3552713678800500' + 0x39, 0x32, 0x39, 0x33, 0x35, 0x35, 0x36, 0x32, 0x31, 0x33, 0x33, 0x37, 0x38, 0x39, 0x30, 0x36, //0x000063a4 QUAD $0x3236353533393239; QUAD $0x3630393837333331 // .asciz 16, '9293556213378906' + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063b4 QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000063f4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x000063f8 .long 15 + 0x31, 0x37, 0x37, 0x36, 0x33, 0x35, 0x36, 0x38, 0x33, 0x39, 0x34, 0x30, 0x30, 0x32, 0x35, 0x30, //0x000063fc QUAD $0x3836353336373731; QUAD $0x3035323030343933 // .asciz 16, '1776356839400250' + 0x34, 0x36, 0x34, 0x36, 0x37, 0x37, 0x38, 0x31, 0x30, 0x36, 0x36, 0x38, 0x39, 0x34, 0x35, 0x33, //0x0000640c QUAD $0x3138373736343634; QUAD $0x3335343938363630 // .asciz 16, '4646778106689453' + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000641c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000642c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000643c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000644c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000645c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00006460 .long 16 + 0x38, 0x38, 0x38, 0x31, 0x37, 0x38, 0x34, 0x31, 0x39, 0x37, 0x30, 0x30, 0x31, 0x32, 0x35, 0x32, //0x00006464 QUAD $0x3134383731383838; QUAD $0x3235323130303739 // .asciz 16, '8881784197001252' + 0x33, 0x32, 0x33, 0x33, 0x38, 0x39, 0x30, 0x35, 0x33, 0x33, 0x34, 0x34, 0x37, 0x32, 0x36, 0x35, //0x00006474 QUAD $0x3530393833333233; QUAD $0x3536323734343333 // .asciz 16, '3233890533447265' + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006484 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006494 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000064c4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x000064c8 .long 16 + 0x34, 0x34, 0x34, 0x30, 0x38, 0x39, 0x32, 0x30, 0x39, 0x38, 0x35, 0x30, 0x30, 0x36, 0x32, 0x36, //0x000064cc QUAD $0x3032393830343434; QUAD $0x3632363030353839 // .asciz 16, '4440892098500626' + 0x31, 0x36, 0x31, 0x36, 0x39, 0x34, 0x35, 0x32, 0x36, 0x36, 0x37, 0x32, 0x33, 0x36, 0x33, 0x32, //0x000064dc QUAD $0x3235343936313631; QUAD $0x3233363332373636 // .asciz 16, '1616945266723632' + 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064ec QUAD $0x0000000035323138; QUAD $0x0000000000000000 // .asciz 16, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000650c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000651c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000652c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00006530 .long 16 + 0x32, 0x32, 0x32, 0x30, 0x34, 0x34, 0x36, 0x30, 0x34, 0x39, 0x32, 0x35, 0x30, 0x33, 0x31, 0x33, //0x00006534 QUAD $0x3036343430323232; QUAD $0x3331333035323934 // .asciz 16, '2220446049250313' + 0x30, 0x38, 0x30, 0x38, 0x34, 0x37, 0x32, 0x36, 0x33, 0x33, 0x33, 0x36, 0x31, 0x38, 0x31, 0x36, //0x00006544 QUAD $0x3632373438303830; QUAD $0x3631383136333333 // .asciz 16, '0808472633361816' + 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006554 QUAD $0x0000003532363034; QUAD $0x0000000000000000 // .asciz 16, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006564 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006574 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006584 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006594 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00006598 .long 16 + 0x31, 0x31, 0x31, 0x30, 0x32, 0x32, 0x33, 0x30, 0x32, 0x34, 0x36, 0x32, 0x35, 0x31, 0x35, 0x36, //0x0000659c QUAD $0x3033323230313131; QUAD $0x3635313532363432 // .asciz 16, '1110223024625156' + 0x35, 0x34, 0x30, 0x34, 0x32, 0x33, 0x36, 0x33, 0x31, 0x36, 0x36, 0x38, 0x30, 0x39, 0x30, 0x38, //0x000065ac QUAD $0x3336333234303435; QUAD $0x3830393038363631 // .asciz 16, '5404236316680908' + 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065bc QUAD $0x0000353231333032; QUAD $0x0000000000000000 // .asciz 16, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000065fc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00006600 .long 17 + 0x35, 0x35, 0x35, 0x31, 0x31, 0x31, 0x35, 0x31, 0x32, 0x33, 0x31, 0x32, 0x35, 0x37, 0x38, 0x32, //0x00006604 QUAD $0x3135313131353535; QUAD $0x3238373532313332 // .asciz 16, '5551115123125782' + 0x37, 0x30, 0x32, 0x31, 0x31, 0x38, 0x31, 0x35, 0x38, 0x33, 0x34, 0x30, 0x34, 0x35, 0x34, 0x31, //0x00006614 QUAD $0x3531383131323037; QUAD $0x3134353430343338 // .asciz 16, '7021181583404541' + 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006624 QUAD $0x0000353236353130; QUAD $0x0000000000000000 // .asciz 16, '015625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006634 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006644 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006654 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006664 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00006668 .long 17 + 0x32, 0x37, 0x37, 0x35, 0x35, 0x35, 0x37, 0x35, 0x36, 0x31, 0x35, 0x36, 0x32, 0x38, 0x39, 0x31, //0x0000666c QUAD $0x3537353535373732; QUAD $0x3139383236353136 // .asciz 16, '2775557561562891' + 0x33, 0x35, 0x31, 0x30, 0x35, 0x39, 0x30, 0x37, 0x39, 0x31, 0x37, 0x30, 0x32, 0x32, 0x37, 0x30, //0x0000667c QUAD $0x3730393530313533; QUAD $0x3037323230373139 // .asciz 16, '3510590791702270' + 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000668c QUAD $0x0035323138373035; QUAD $0x0000000000000000 // .asciz 16, '5078125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000669c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000066cc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x000066d0 .long 17 + 0x31, 0x33, 0x38, 0x37, 0x37, 0x37, 0x38, 0x37, 0x38, 0x30, 0x37, 0x38, 0x31, 0x34, 0x34, 0x35, //0x000066d4 QUAD $0x3738373737383331; QUAD $0x3534343138373038 // .asciz 16, '1387778780781445' + 0x36, 0x37, 0x35, 0x35, 0x32, 0x39, 0x35, 0x33, 0x39, 0x35, 0x38, 0x35, 0x31, 0x31, 0x33, 0x35, //0x000066e4 QUAD $0x3335393235353736; QUAD $0x3533313135383539 // .asciz 16, '6755295395851135' + 0x32, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066f4 QUAD $0x3532363039333532; QUAD $0x0000000000000000 // .asciz 16, '25390625\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006704 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006714 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006724 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006734 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x00006738 .long 18 + 0x36, 0x39, 0x33, 0x38, 0x38, 0x39, 0x33, 0x39, 0x30, 0x33, 0x39, 0x30, 0x37, 0x32, 0x32, 0x38, //0x0000673c QUAD $0x3933393838333936; QUAD $0x3832323730393330 // .asciz 16, '6938893903907228' + 0x33, 0x37, 0x37, 0x36, 0x34, 0x37, 0x36, 0x39, 0x37, 0x39, 0x32, 0x35, 0x35, 0x36, 0x37, 0x36, //0x0000674c QUAD $0x3936373436373733; QUAD $0x3637363535323937 // .asciz 16, '3776476979255676' + 0x32, 0x36, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000675c QUAD $0x3532313335393632; QUAD $0x0000000000000000 // .asciz 16, '26953125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000676c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000677c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000678c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000679c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x000067a0 .long 18 + 0x33, 0x34, 0x36, 0x39, 0x34, 0x34, 0x36, 0x39, 0x35, 0x31, 0x39, 0x35, 0x33, 0x36, 0x31, 0x34, //0x000067a4 QUAD $0x3936343439363433; QUAD $0x3431363335393135 // .asciz 16, '3469446951953614' + 0x31, 0x38, 0x38, 0x38, 0x32, 0x33, 0x38, 0x34, 0x38, 0x39, 0x36, 0x32, 0x37, 0x38, 0x33, 0x38, //0x000067b4 QUAD $0x3438333238383831; QUAD $0x3833383732363938 // .asciz 16, '1888238489627838' + 0x31, 0x33, 0x34, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067c4 QUAD $0x3236353637343331; QUAD $0x0000000000000035 // .asciz 16, '134765625\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006804 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x00006808 .long 18 + 0x31, 0x37, 0x33, 0x34, 0x37, 0x32, 0x33, 0x34, 0x37, 0x35, 0x39, 0x37, 0x36, 0x38, 0x30, 0x37, //0x0000680c QUAD $0x3433323734333731; QUAD $0x3730383637393537 // .asciz 16, '1734723475976807' + 0x30, 0x39, 0x34, 0x34, 0x31, 0x31, 0x39, 0x32, 0x34, 0x34, 0x38, 0x31, 0x33, 0x39, 0x31, 0x39, //0x0000681c QUAD $0x3239313134343930; QUAD $0x3931393331383434 // .asciz 16, '0944119244813919' + 0x30, 0x36, 0x37, 0x33, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000682c QUAD $0x3138323833373630; QUAD $0x0000000000003532 // .asciz 16, '0673828125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000683c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000684c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000685c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000686c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x13, 0x00, 0x00, 0x00, //0x00006870 .long 19 + 0x38, 0x36, 0x37, 0x33, 0x36, 0x31, 0x37, 0x33, 0x37, 0x39, 0x38, 0x38, 0x34, 0x30, 0x33, 0x35, //0x00006874 QUAD $0x3337313633373638; QUAD $0x3533303438383937 // .asciz 16, '8673617379884035' + 0x34, 0x37, 0x32, 0x30, 0x35, 0x39, 0x36, 0x32, 0x32, 0x34, 0x30, 0x36, 0x39, 0x35, 0x39, 0x35, //0x00006884 QUAD $0x3236393530323734; QUAD $0x3539353936303432 // .asciz 16, '4720596224069595' + 0x33, 0x33, 0x36, 0x39, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006894 QUAD $0x3630343139363333; QUAD $0x0000000000003532 // .asciz 16, '3369140625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000068d4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/vsigned.go b/vendor/github.com/bytedance/sonic/internal/native/avx/vsigned.go new file mode 100644 index 0000000..c42f4b0 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/vsigned.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vsigned func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer) + +var S_vsigned uintptr + +//go:nosplit +func vsigned(s *string, p *int, v *types.JsonState) { + F_vsigned(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/vsigned_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/vsigned_subr.go new file mode 100644 index 0000000..0cb1239 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/vsigned_subr.go @@ -0,0 +1,50 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__vsigned = 0 +) + +const ( + _stack__vsigned = 16 +) + +const ( + _size__vsigned = 320 +) + +var ( + _pcsp__vsigned = [][2]uint32{ + {1, 0}, + {4, 8}, + {112, 16}, + {113, 8}, + {114, 0}, + {125, 16}, + {126, 8}, + {127, 0}, + {260, 16}, + {261, 8}, + {262, 0}, + {266, 16}, + {267, 8}, + {268, 0}, + {306, 16}, + {307, 8}, + {308, 0}, + {316, 16}, + {317, 8}, + {319, 0}, + } +) + +var _cfunc_vsigned = []loader.CFunc{ + {"_vsigned_entry", 0, _entry__vsigned, 0, nil}, + {"_vsigned", _entry__vsigned, _size__vsigned, _stack__vsigned, _pcsp__vsigned}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/vsigned_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/vsigned_text_amd64.go new file mode 100644 index 0000000..632bd6e --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/vsigned_text_amd64.go @@ -0,0 +1,112 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_vsigned = []byte{ + // .p2align 4, 0x90 + // _vsigned + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x53, //0x00000004 pushq %rbx + 0x48, 0x8b, 0x1e, //0x00000005 movq (%rsi), %rbx + 0x4c, 0x8b, 0x07, //0x00000008 movq (%rdi), %r8 + 0x4c, 0x8b, 0x57, 0x08, //0x0000000b movq $8(%rdi), %r10 + 0x48, 0xc7, 0x02, 0x09, 0x00, 0x00, 0x00, //0x0000000f movq $9, (%rdx) + 0xc5, 0xf8, 0x57, 0xc0, //0x00000016 vxorps %xmm0, %xmm0, %xmm0 + 0xc5, 0xf8, 0x11, 0x42, 0x08, //0x0000001a vmovups %xmm0, $8(%rdx) + 0x48, 0x8b, 0x0e, //0x0000001f movq (%rsi), %rcx + 0x48, 0x89, 0x4a, 0x18, //0x00000022 movq %rcx, $24(%rdx) + 0x4c, 0x39, 0xd3, //0x00000026 cmpq %r10, %rbx + 0x0f, 0x83, 0x44, 0x00, 0x00, 0x00, //0x00000029 jae LBB0_1 + 0x41, 0x8a, 0x0c, 0x18, //0x0000002f movb (%r8,%rbx), %cl + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000033 movl $1, %r9d + 0x80, 0xf9, 0x2d, //0x00000039 cmpb $45, %cl + 0x0f, 0x85, 0x17, 0x00, 0x00, 0x00, //0x0000003c jne LBB0_5 + 0x48, 0xff, 0xc3, //0x00000042 incq %rbx + 0x4c, 0x39, 0xd3, //0x00000045 cmpq %r10, %rbx + 0x0f, 0x83, 0x25, 0x00, 0x00, 0x00, //0x00000048 jae LBB0_1 + 0x41, 0x8a, 0x0c, 0x18, //0x0000004e movb (%r8,%rbx), %cl + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000052 movq $-1, %r9 + //0x00000059 LBB0_5 + 0x8d, 0x79, 0xd0, //0x00000059 leal $-48(%rcx), %edi + 0x40, 0x80, 0xff, 0x0a, //0x0000005c cmpb $10, %dil + 0x0f, 0x82, 0x1a, 0x00, 0x00, 0x00, //0x00000060 jb LBB0_7 + 0x48, 0x89, 0x1e, //0x00000066 movq %rbx, (%rsi) + 0x48, 0xc7, 0x02, 0xfe, 0xff, 0xff, 0xff, //0x00000069 movq $-2, (%rdx) + 0x5b, //0x00000070 popq %rbx + 0x5d, //0x00000071 popq %rbp + 0xc3, //0x00000072 retq + //0x00000073 LBB0_1 + 0x4c, 0x89, 0x16, //0x00000073 movq %r10, (%rsi) + 0x48, 0xc7, 0x02, 0xff, 0xff, 0xff, 0xff, //0x00000076 movq $-1, (%rdx) + 0x5b, //0x0000007d popq %rbx + 0x5d, //0x0000007e popq %rbp + 0xc3, //0x0000007f retq + //0x00000080 LBB0_7 + 0x80, 0xf9, 0x30, //0x00000080 cmpb $48, %cl + 0x0f, 0x85, 0x35, 0x00, 0x00, 0x00, //0x00000083 jne LBB0_8 + 0x48, 0x8d, 0x7b, 0x01, //0x00000089 leaq $1(%rbx), %rdi + 0x4c, 0x39, 0xd3, //0x0000008d cmpq %r10, %rbx + 0x0f, 0x83, 0x71, 0x00, 0x00, 0x00, //0x00000090 jae LBB0_17 + 0x41, 0x8a, 0x0c, 0x38, //0x00000096 movb (%r8,%rdi), %cl + 0x80, 0xc1, 0xd2, //0x0000009a addb $-46, %cl + 0x80, 0xf9, 0x37, //0x0000009d cmpb $55, %cl + 0x0f, 0x87, 0x61, 0x00, 0x00, 0x00, //0x000000a0 ja LBB0_17 + 0x44, 0x0f, 0xb6, 0xd9, //0x000000a6 movzbl %cl, %r11d + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000000aa movabsq $36028797027352577, %rcx + 0x4c, 0x0f, 0xa3, 0xd9, //0x000000b4 btq %r11, %rcx + 0x0f, 0x83, 0x49, 0x00, 0x00, 0x00, //0x000000b8 jae LBB0_17 + //0x000000be LBB0_8 + 0x31, 0xff, //0x000000be xorl %edi, %edi + //0x000000c0 .p2align 4, 0x90 + //0x000000c0 LBB0_9 + 0x4c, 0x39, 0xd3, //0x000000c0 cmpq %r10, %rbx + 0x0f, 0x83, 0x6c, 0x00, 0x00, 0x00, //0x000000c3 jae LBB0_22 + 0x49, 0x0f, 0xbe, 0x0c, 0x18, //0x000000c9 movsbq (%r8,%rbx), %rcx + 0x8d, 0x41, 0xd0, //0x000000ce leal $-48(%rcx), %eax + 0x3c, 0x09, //0x000000d1 cmpb $9, %al + 0x0f, 0x87, 0x34, 0x00, 0x00, 0x00, //0x000000d3 ja LBB0_18 + 0x48, 0x6b, 0xff, 0x0a, //0x000000d9 imulq $10, %rdi, %rdi + 0x0f, 0x80, 0x14, 0x00, 0x00, 0x00, //0x000000dd jo LBB0_13 + 0x48, 0xff, 0xc3, //0x000000e3 incq %rbx + 0x48, 0x83, 0xc1, 0xd0, //0x000000e6 addq $-48, %rcx + 0x49, 0x0f, 0xaf, 0xc9, //0x000000ea imulq %r9, %rcx + 0x48, 0x01, 0xcf, //0x000000ee addq %rcx, %rdi + 0x0f, 0x81, 0xc9, 0xff, 0xff, 0xff, //0x000000f1 jno LBB0_9 + //0x000000f7 LBB0_13 + 0x48, 0xff, 0xcb, //0x000000f7 decq %rbx + 0x48, 0x89, 0x1e, //0x000000fa movq %rbx, (%rsi) + 0x48, 0xc7, 0x02, 0xfb, 0xff, 0xff, 0xff, //0x000000fd movq $-5, (%rdx) + 0x5b, //0x00000104 popq %rbx + 0x5d, //0x00000105 popq %rbp + 0xc3, //0x00000106 retq + //0x00000107 LBB0_17 + 0x48, 0x89, 0x3e, //0x00000107 movq %rdi, (%rsi) + 0x5b, //0x0000010a popq %rbx + 0x5d, //0x0000010b popq %rbp + 0xc3, //0x0000010c retq + //0x0000010d LBB0_18 + 0x80, 0xf9, 0x65, //0x0000010d cmpb $101, %cl + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00000110 je LBB0_21 + 0x80, 0xf9, 0x45, //0x00000116 cmpb $69, %cl + 0x0f, 0x84, 0x09, 0x00, 0x00, 0x00, //0x00000119 je LBB0_21 + 0x80, 0xf9, 0x2e, //0x0000011f cmpb $46, %cl + 0x0f, 0x85, 0x0d, 0x00, 0x00, 0x00, //0x00000122 jne LBB0_22 + //0x00000128 LBB0_21 + 0x48, 0x89, 0x1e, //0x00000128 movq %rbx, (%rsi) + 0x48, 0xc7, 0x02, 0xfa, 0xff, 0xff, 0xff, //0x0000012b movq $-6, (%rdx) + 0x5b, //0x00000132 popq %rbx + 0x5d, //0x00000133 popq %rbp + 0xc3, //0x00000134 retq + //0x00000135 LBB0_22 + 0x48, 0x89, 0x1e, //0x00000135 movq %rbx, (%rsi) + 0x48, 0x89, 0x7a, 0x10, //0x00000138 movq %rdi, $16(%rdx) + 0x5b, //0x0000013c popq %rbx + 0x5d, //0x0000013d popq %rbp + 0xc3, //0x0000013e retq + 0x00, //0x0000013f .p2align 2, 0x00 + //0x00000140 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000140 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/vstring.go b/vendor/github.com/bytedance/sonic/internal/native/avx/vstring.go new file mode 100644 index 0000000..07b84c0 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/vstring.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vstring func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer, flags uint64) + +var S_vstring uintptr + +//go:nosplit +func vstring(s *string, p *int, v *types.JsonState, flags uint64) { + F_vstring(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/vstring_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/vstring_subr.go new file mode 100644 index 0000000..e86d2ce --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/vstring_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__vstring = 48 +) + +const ( + _stack__vstring = 88 +) + +const ( + _size__vstring = 2328 +) + +var ( + _pcsp__vstring = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {2171, 88}, + {2175, 48}, + {2176, 40}, + {2178, 32}, + {2180, 24}, + {2182, 16}, + {2184, 8}, + {2185, 0}, + {2327, 88}, + } +) + +var _cfunc_vstring = []loader.CFunc{ + {"_vstring_entry", 0, _entry__vstring, 0, nil}, + {"_vstring", _entry__vstring, _size__vstring, _stack__vstring, _pcsp__vstring}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/vstring_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/vstring_text_amd64.go new file mode 100644 index 0000000..5b1f7dc --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/vstring_text_amd64.go @@ -0,0 +1,643 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_vstring = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, // QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000010 LCPI0_1 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000010 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000020 LCPI0_2 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000020 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000030 .p2align 4, 0x90 + //0x00000030 _vstring + 0x55, //0x00000030 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000031 movq %rsp, %rbp + 0x41, 0x57, //0x00000034 pushq %r15 + 0x41, 0x56, //0x00000036 pushq %r14 + 0x41, 0x55, //0x00000038 pushq %r13 + 0x41, 0x54, //0x0000003a pushq %r12 + 0x53, //0x0000003c pushq %rbx + 0x48, 0x83, 0xec, 0x28, //0x0000003d subq $40, %rsp + 0x48, 0x89, 0xd3, //0x00000041 movq %rdx, %rbx + 0x4c, 0x8b, 0x16, //0x00000044 movq (%rsi), %r10 + 0xf6, 0xc1, 0x20, //0x00000047 testb $32, %cl + 0x48, 0x89, 0x55, 0xb8, //0x0000004a movq %rdx, $-72(%rbp) + 0x48, 0x89, 0x75, 0xc0, //0x0000004e movq %rsi, $-64(%rbp) + 0x0f, 0x85, 0xad, 0x01, 0x00, 0x00, //0x00000052 jne LBB0_12 + 0x48, 0x8b, 0x4f, 0x08, //0x00000058 movq $8(%rdi), %rcx + 0x48, 0x89, 0xc8, //0x0000005c movq %rcx, %rax + 0x4c, 0x29, 0xd0, //0x0000005f subq %r10, %rax + 0x0f, 0x84, 0x68, 0x06, 0x00, 0x00, //0x00000062 je LBB0_55 + 0x48, 0x89, 0x4d, 0xc8, //0x00000068 movq %rcx, $-56(%rbp) + 0x48, 0x8b, 0x37, //0x0000006c movq (%rdi), %rsi + 0x4a, 0x8d, 0x0c, 0x16, //0x0000006f leaq (%rsi,%r10), %rcx + 0x48, 0x83, 0xf8, 0x40, //0x00000073 cmpq $64, %rax + 0x48, 0x89, 0x75, 0xd0, //0x00000077 movq %rsi, $-48(%rbp) + 0x0f, 0x82, 0x5b, 0x06, 0x00, 0x00, //0x0000007b jb LBB0_56 + 0x41, 0x89, 0xc5, //0x00000081 movl %eax, %r13d + 0x41, 0x83, 0xe5, 0x3f, //0x00000084 andl $63, %r13d + 0x48, 0x8d, 0x50, 0xc0, //0x00000088 leaq $-64(%rax), %rdx + 0x48, 0x83, 0xe2, 0xc0, //0x0000008c andq $-64, %rdx + 0x4c, 0x01, 0xd2, //0x00000090 addq %r10, %rdx + 0x48, 0x8d, 0x54, 0x16, 0x40, //0x00000093 leaq $64(%rsi,%rdx), %rdx + 0x48, 0x89, 0x55, 0xb0, //0x00000098 movq %rdx, $-80(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000009c movq $-1, %r11 + 0x45, 0x31, 0xc0, //0x000000a3 xorl %r8d, %r8d + 0xc5, 0xfa, 0x6f, 0x05, 0x52, 0xff, 0xff, 0xff, //0x000000a6 vmovdqu $-174(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0x5a, 0xff, 0xff, 0xff, //0x000000ae vmovdqu $-166(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000b6 .p2align 4, 0x90 + //0x000000c0 LBB0_4 + 0xc5, 0xfa, 0x6f, 0x11, //0x000000c0 vmovdqu (%rcx), %xmm2 + 0xc5, 0xfa, 0x6f, 0x59, 0x10, //0x000000c4 vmovdqu $16(%rcx), %xmm3 + 0xc5, 0xfa, 0x6f, 0x61, 0x20, //0x000000c9 vmovdqu $32(%rcx), %xmm4 + 0xc5, 0xfa, 0x6f, 0x69, 0x30, //0x000000ce vmovdqu $48(%rcx), %xmm5 + 0xc5, 0xe9, 0x74, 0xf0, //0x000000d3 vpcmpeqb %xmm0, %xmm2, %xmm6 + 0xc5, 0xf9, 0xd7, 0xde, //0x000000d7 vpmovmskb %xmm6, %ebx + 0xc5, 0xe1, 0x74, 0xf0, //0x000000db vpcmpeqb %xmm0, %xmm3, %xmm6 + 0xc5, 0xf9, 0xd7, 0xd6, //0x000000df vpmovmskb %xmm6, %edx + 0xc5, 0xd9, 0x74, 0xf0, //0x000000e3 vpcmpeqb %xmm0, %xmm4, %xmm6 + 0xc5, 0xf9, 0xd7, 0xf6, //0x000000e7 vpmovmskb %xmm6, %esi + 0xc5, 0xd1, 0x74, 0xf0, //0x000000eb vpcmpeqb %xmm0, %xmm5, %xmm6 + 0xc5, 0x79, 0xd7, 0xfe, //0x000000ef vpmovmskb %xmm6, %r15d + 0xc5, 0xe9, 0x74, 0xd1, //0x000000f3 vpcmpeqb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000000f7 vpmovmskb %xmm2, %edi + 0xc5, 0xe1, 0x74, 0xd1, //0x000000fb vpcmpeqb %xmm1, %xmm3, %xmm2 + 0xc5, 0x79, 0xd7, 0xe2, //0x000000ff vpmovmskb %xmm2, %r12d + 0xc5, 0xd9, 0x74, 0xd1, //0x00000103 vpcmpeqb %xmm1, %xmm4, %xmm2 + 0xc5, 0x79, 0xd7, 0xf2, //0x00000107 vpmovmskb %xmm2, %r14d + 0xc5, 0xd1, 0x74, 0xd1, //0x0000010b vpcmpeqb %xmm1, %xmm5, %xmm2 + 0xc5, 0x79, 0xd7, 0xca, //0x0000010f vpmovmskb %xmm2, %r9d + 0x49, 0xc1, 0xe7, 0x30, //0x00000113 shlq $48, %r15 + 0x48, 0xc1, 0xe6, 0x20, //0x00000117 shlq $32, %rsi + 0x48, 0xc1, 0xe2, 0x10, //0x0000011b shlq $16, %rdx + 0x48, 0x09, 0xd3, //0x0000011f orq %rdx, %rbx + 0x48, 0x09, 0xf3, //0x00000122 orq %rsi, %rbx + 0x49, 0xc1, 0xe1, 0x30, //0x00000125 shlq $48, %r9 + 0x49, 0xc1, 0xe6, 0x20, //0x00000129 shlq $32, %r14 + 0x49, 0xc1, 0xe4, 0x10, //0x0000012d shlq $16, %r12 + 0x4c, 0x09, 0xe7, //0x00000131 orq %r12, %rdi + 0x4c, 0x09, 0xf7, //0x00000134 orq %r14, %rdi + 0x4c, 0x09, 0xcf, //0x00000137 orq %r9, %rdi + 0x49, 0x83, 0xfb, 0xff, //0x0000013a cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000013e jne LBB0_6 + 0x48, 0x85, 0xff, //0x00000144 testq %rdi, %rdi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000147 jne LBB0_9 + //0x0000014d LBB0_6 + 0x4c, 0x09, 0xfb, //0x0000014d orq %r15, %rbx + 0x48, 0x89, 0xfa, //0x00000150 movq %rdi, %rdx + 0x4c, 0x09, 0xc2, //0x00000153 orq %r8, %rdx + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x00000156 jne LBB0_10 + //0x0000015c LBB0_7 + 0x48, 0x85, 0xdb, //0x0000015c testq %rbx, %rbx + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x0000015f jne LBB0_11 + //0x00000165 LBB0_8 + 0x48, 0x83, 0xc0, 0xc0, //0x00000165 addq $-64, %rax + 0x48, 0x83, 0xc1, 0x40, //0x00000169 addq $64, %rcx + 0x48, 0x83, 0xf8, 0x3f, //0x0000016d cmpq $63, %rax + 0x0f, 0x87, 0x49, 0xff, 0xff, 0xff, //0x00000171 ja LBB0_4 + 0xe9, 0xef, 0x02, 0x00, 0x00, //0x00000177 jmp LBB0_29 + //0x0000017c LBB0_9 + 0x48, 0x89, 0xca, //0x0000017c movq %rcx, %rdx + 0x48, 0x2b, 0x55, 0xd0, //0x0000017f subq $-48(%rbp), %rdx + 0x4c, 0x0f, 0xbc, 0xdf, //0x00000183 bsfq %rdi, %r11 + 0x49, 0x01, 0xd3, //0x00000187 addq %rdx, %r11 + 0x4c, 0x09, 0xfb, //0x0000018a orq %r15, %rbx + 0x48, 0x89, 0xfa, //0x0000018d movq %rdi, %rdx + 0x4c, 0x09, 0xc2, //0x00000190 orq %r8, %rdx + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000193 je LBB0_7 + //0x00000199 LBB0_10 + 0x4c, 0x89, 0xc2, //0x00000199 movq %r8, %rdx + 0x48, 0xf7, 0xd2, //0x0000019c notq %rdx + 0x48, 0x21, 0xfa, //0x0000019f andq %rdi, %rdx + 0x4c, 0x8d, 0x0c, 0x12, //0x000001a2 leaq (%rdx,%rdx), %r9 + 0x4d, 0x09, 0xc1, //0x000001a6 orq %r8, %r9 + 0x4c, 0x89, 0xce, //0x000001a9 movq %r9, %rsi + 0x48, 0xf7, 0xd6, //0x000001ac notq %rsi + 0x48, 0x21, 0xfe, //0x000001af andq %rdi, %rsi + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000001b2 movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfe, //0x000001bc andq %rdi, %rsi + 0x45, 0x31, 0xc0, //0x000001bf xorl %r8d, %r8d + 0x48, 0x01, 0xd6, //0x000001c2 addq %rdx, %rsi + 0x41, 0x0f, 0x92, 0xc0, //0x000001c5 setb %r8b + 0x48, 0x01, 0xf6, //0x000001c9 addq %rsi, %rsi + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000001cc movabsq $6148914691236517205, %rdx + 0x48, 0x31, 0xd6, //0x000001d6 xorq %rdx, %rsi + 0x4c, 0x21, 0xce, //0x000001d9 andq %r9, %rsi + 0x48, 0xf7, 0xd6, //0x000001dc notq %rsi + 0x48, 0x21, 0xf3, //0x000001df andq %rsi, %rbx + 0x48, 0x85, 0xdb, //0x000001e2 testq %rbx, %rbx + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x000001e5 je LBB0_8 + //0x000001eb LBB0_11 + 0x48, 0x0f, 0xbc, 0xc3, //0x000001eb bsfq %rbx, %rax + 0x48, 0x2b, 0x4d, 0xd0, //0x000001ef subq $-48(%rbp), %rcx + 0x48, 0x8d, 0x7c, 0x01, 0x01, //0x000001f3 leaq $1(%rcx,%rax), %rdi + 0x48, 0x8b, 0x5d, 0xb8, //0x000001f8 movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x000001fc movq $-64(%rbp), %rsi + 0xe9, 0x38, 0x02, 0x00, 0x00, //0x00000200 jmp LBB0_27 + //0x00000205 LBB0_12 + 0x48, 0x8b, 0x4f, 0x08, //0x00000205 movq $8(%rdi), %rcx + 0x48, 0x89, 0xc8, //0x00000209 movq %rcx, %rax + 0x4c, 0x29, 0xd0, //0x0000020c subq %r10, %rax + 0x0f, 0x84, 0xbb, 0x04, 0x00, 0x00, //0x0000020f je LBB0_55 + 0x48, 0x89, 0x4d, 0xc8, //0x00000215 movq %rcx, $-56(%rbp) + 0x48, 0x8b, 0x3f, //0x00000219 movq (%rdi), %rdi + 0x4a, 0x8d, 0x0c, 0x17, //0x0000021c leaq (%rdi,%r10), %rcx + 0x48, 0x83, 0xf8, 0x40, //0x00000220 cmpq $64, %rax + 0x48, 0x89, 0x7d, 0xd0, //0x00000224 movq %rdi, $-48(%rbp) + 0x0f, 0x82, 0x1b, 0x05, 0x00, 0x00, //0x00000228 jb LBB0_60 + 0x41, 0x89, 0xc5, //0x0000022e movl %eax, %r13d + 0x41, 0x83, 0xe5, 0x3f, //0x00000231 andl $63, %r13d + 0x48, 0x8d, 0x50, 0xc0, //0x00000235 leaq $-64(%rax), %rdx + 0x48, 0x83, 0xe2, 0xc0, //0x00000239 andq $-64, %rdx + 0x4c, 0x01, 0xd2, //0x0000023d addq %r10, %rdx + 0x48, 0x8d, 0x54, 0x17, 0x40, //0x00000240 leaq $64(%rdi,%rdx), %rdx + 0x48, 0x89, 0x55, 0xb0, //0x00000245 movq %rdx, $-80(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000249 movq $-1, %r11 + 0x45, 0x31, 0xc9, //0x00000250 xorl %r9d, %r9d + 0xc5, 0x7a, 0x6f, 0x05, 0xa5, 0xfd, 0xff, 0xff, //0x00000253 vmovdqu $-603(%rip), %xmm8 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0xad, 0xfd, 0xff, 0xff, //0x0000025b vmovdqu $-595(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0xb5, 0xfd, 0xff, 0xff, //0x00000263 vmovdqu $-587(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0xc5, 0xe1, 0x76, 0xdb, //0x0000026b vpcmpeqd %xmm3, %xmm3, %xmm3 + 0x90, //0x0000026f .p2align 4, 0x90 + //0x00000270 LBB0_15 + 0xc5, 0xfa, 0x6f, 0x39, //0x00000270 vmovdqu (%rcx), %xmm7 + 0xc5, 0xfa, 0x6f, 0x71, 0x10, //0x00000274 vmovdqu $16(%rcx), %xmm6 + 0xc5, 0xfa, 0x6f, 0x69, 0x20, //0x00000279 vmovdqu $32(%rcx), %xmm5 + 0xc5, 0xfa, 0x6f, 0x61, 0x30, //0x0000027e vmovdqu $48(%rcx), %xmm4 + 0xc5, 0xb9, 0x74, 0xc7, //0x00000283 vpcmpeqb %xmm7, %xmm8, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd8, //0x00000287 vpmovmskb %xmm0, %ebx + 0xc5, 0xb9, 0x74, 0xc6, //0x0000028b vpcmpeqb %xmm6, %xmm8, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x0000028f vpmovmskb %xmm0, %edx + 0xc5, 0xb9, 0x74, 0xc5, //0x00000293 vpcmpeqb %xmm5, %xmm8, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf0, //0x00000297 vpmovmskb %xmm0, %esi + 0xc5, 0xb9, 0x74, 0xc4, //0x0000029b vpcmpeqb %xmm4, %xmm8, %xmm0 + 0xc5, 0x79, 0xd7, 0xc0, //0x0000029f vpmovmskb %xmm0, %r8d + 0xc5, 0xc1, 0x74, 0xc1, //0x000002a3 vpcmpeqb %xmm1, %xmm7, %xmm0 + 0xc5, 0x79, 0xd7, 0xf8, //0x000002a7 vpmovmskb %xmm0, %r15d + 0xc5, 0xc9, 0x74, 0xc1, //0x000002ab vpcmpeqb %xmm1, %xmm6, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf8, //0x000002af vpmovmskb %xmm0, %edi + 0xc5, 0xd1, 0x74, 0xc1, //0x000002b3 vpcmpeqb %xmm1, %xmm5, %xmm0 + 0x48, 0xc1, 0xe2, 0x10, //0x000002b7 shlq $16, %rdx + 0x48, 0x09, 0xd3, //0x000002bb orq %rdx, %rbx + 0xc5, 0xf9, 0xd7, 0xd0, //0x000002be vpmovmskb %xmm0, %edx + 0xc5, 0xd9, 0x74, 0xc1, //0x000002c2 vpcmpeqb %xmm1, %xmm4, %xmm0 + 0x48, 0xc1, 0xe6, 0x20, //0x000002c6 shlq $32, %rsi + 0x48, 0x09, 0xf3, //0x000002ca orq %rsi, %rbx + 0xc5, 0xf9, 0xd7, 0xf0, //0x000002cd vpmovmskb %xmm0, %esi + 0xc5, 0xe9, 0x64, 0xc7, //0x000002d1 vpcmpgtb %xmm7, %xmm2, %xmm0 + 0xc5, 0xc1, 0x64, 0xfb, //0x000002d5 vpcmpgtb %xmm3, %xmm7, %xmm7 + 0xc5, 0xc1, 0xdb, 0xc0, //0x000002d9 vpand %xmm0, %xmm7, %xmm0 + 0x48, 0xc1, 0xe7, 0x10, //0x000002dd shlq $16, %rdi + 0x49, 0x09, 0xff, //0x000002e1 orq %rdi, %r15 + 0xc5, 0x79, 0xd7, 0xe0, //0x000002e4 vpmovmskb %xmm0, %r12d + 0xc5, 0xe9, 0x64, 0xc6, //0x000002e8 vpcmpgtb %xmm6, %xmm2, %xmm0 + 0xc5, 0xc9, 0x64, 0xf3, //0x000002ec vpcmpgtb %xmm3, %xmm6, %xmm6 + 0xc5, 0xc9, 0xdb, 0xc0, //0x000002f0 vpand %xmm0, %xmm6, %xmm0 + 0x48, 0xc1, 0xe2, 0x20, //0x000002f4 shlq $32, %rdx + 0x49, 0x09, 0xd7, //0x000002f8 orq %rdx, %r15 + 0xc5, 0xf9, 0xd7, 0xf8, //0x000002fb vpmovmskb %xmm0, %edi + 0xc5, 0xe9, 0x64, 0xc5, //0x000002ff vpcmpgtb %xmm5, %xmm2, %xmm0 + 0xc5, 0xd1, 0x64, 0xeb, //0x00000303 vpcmpgtb %xmm3, %xmm5, %xmm5 + 0xc5, 0xd1, 0xdb, 0xc0, //0x00000307 vpand %xmm0, %xmm5, %xmm0 + 0x48, 0xc1, 0xe6, 0x30, //0x0000030b shlq $48, %rsi + 0x49, 0x09, 0xf7, //0x0000030f orq %rsi, %r15 + 0xc5, 0xf9, 0xd7, 0xd0, //0x00000312 vpmovmskb %xmm0, %edx + 0xc5, 0xe9, 0x64, 0xc4, //0x00000316 vpcmpgtb %xmm4, %xmm2, %xmm0 + 0xc5, 0xd9, 0x64, 0xe3, //0x0000031a vpcmpgtb %xmm3, %xmm4, %xmm4 + 0xc5, 0xd9, 0xdb, 0xc0, //0x0000031e vpand %xmm0, %xmm4, %xmm0 + 0x48, 0xc1, 0xe7, 0x10, //0x00000322 shlq $16, %rdi + 0x49, 0x09, 0xfc, //0x00000326 orq %rdi, %r12 + 0xc5, 0x79, 0xd7, 0xf0, //0x00000329 vpmovmskb %xmm0, %r14d + 0x49, 0xc1, 0xe0, 0x30, //0x0000032d shlq $48, %r8 + 0x48, 0xc1, 0xe2, 0x20, //0x00000331 shlq $32, %rdx + 0x49, 0x83, 0xfb, 0xff, //0x00000335 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000339 jne LBB0_17 + 0x4d, 0x85, 0xff, //0x0000033f testq %r15, %r15 + 0x0f, 0x85, 0x9c, 0x00, 0x00, 0x00, //0x00000342 jne LBB0_22 + //0x00000348 LBB0_17 + 0x49, 0xc1, 0xe6, 0x30, //0x00000348 shlq $48, %r14 + 0x49, 0x09, 0xd4, //0x0000034c orq %rdx, %r12 + 0x4c, 0x09, 0xc3, //0x0000034f orq %r8, %rbx + 0x4c, 0x89, 0xfa, //0x00000352 movq %r15, %rdx + 0x4c, 0x09, 0xca, //0x00000355 orq %r9, %rdx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000358 jne LBB0_21 + 0x4d, 0x09, 0xf4, //0x0000035e orq %r14, %r12 + 0x48, 0x85, 0xdb, //0x00000361 testq %rbx, %rbx + 0x0f, 0x85, 0x8d, 0x00, 0x00, 0x00, //0x00000364 jne LBB0_23 + //0x0000036a LBB0_19 + 0x4d, 0x85, 0xe4, //0x0000036a testq %r12, %r12 + 0x0f, 0x85, 0x89, 0x01, 0x00, 0x00, //0x0000036d jne LBB0_35 + 0x48, 0x83, 0xc0, 0xc0, //0x00000373 addq $-64, %rax + 0x48, 0x83, 0xc1, 0x40, //0x00000377 addq $64, %rcx + 0x48, 0x83, 0xf8, 0x3f, //0x0000037b cmpq $63, %rax + 0x0f, 0x87, 0xeb, 0xfe, 0xff, 0xff, //0x0000037f ja LBB0_15 + 0xe9, 0x8a, 0x01, 0x00, 0x00, //0x00000385 jmp LBB0_37 + //0x0000038a LBB0_21 + 0x4c, 0x89, 0xca, //0x0000038a movq %r9, %rdx + 0x48, 0xf7, 0xd2, //0x0000038d notq %rdx + 0x4c, 0x21, 0xfa, //0x00000390 andq %r15, %rdx + 0x4c, 0x8d, 0x04, 0x12, //0x00000393 leaq (%rdx,%rdx), %r8 + 0x4d, 0x09, 0xc8, //0x00000397 orq %r9, %r8 + 0x4c, 0x89, 0xc7, //0x0000039a movq %r8, %rdi + 0x48, 0xf7, 0xd7, //0x0000039d notq %rdi + 0x4c, 0x21, 0xff, //0x000003a0 andq %r15, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000003a3 movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf7, //0x000003ad andq %rsi, %rdi + 0x45, 0x31, 0xc9, //0x000003b0 xorl %r9d, %r9d + 0x48, 0x01, 0xd7, //0x000003b3 addq %rdx, %rdi + 0x41, 0x0f, 0x92, 0xc1, //0x000003b6 setb %r9b + 0x48, 0x01, 0xff, //0x000003ba addq %rdi, %rdi + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000003bd movabsq $6148914691236517205, %rdx + 0x48, 0x31, 0xd7, //0x000003c7 xorq %rdx, %rdi + 0x4c, 0x21, 0xc7, //0x000003ca andq %r8, %rdi + 0x48, 0xf7, 0xd7, //0x000003cd notq %rdi + 0x48, 0x21, 0xfb, //0x000003d0 andq %rdi, %rbx + 0x4d, 0x09, 0xf4, //0x000003d3 orq %r14, %r12 + 0x48, 0x85, 0xdb, //0x000003d6 testq %rbx, %rbx + 0x0f, 0x84, 0x8b, 0xff, 0xff, 0xff, //0x000003d9 je LBB0_19 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x000003df jmp LBB0_23 + //0x000003e4 LBB0_22 + 0x48, 0x89, 0xce, //0x000003e4 movq %rcx, %rsi + 0x48, 0x2b, 0x75, 0xd0, //0x000003e7 subq $-48(%rbp), %rsi + 0x4d, 0x0f, 0xbc, 0xdf, //0x000003eb bsfq %r15, %r11 + 0x49, 0x01, 0xf3, //0x000003ef addq %rsi, %r11 + 0xe9, 0x51, 0xff, 0xff, 0xff, //0x000003f2 jmp LBB0_17 + //0x000003f7 LBB0_23 + 0x48, 0x0f, 0xbc, 0xc3, //0x000003f7 bsfq %rbx, %rax + 0x4d, 0x85, 0xe4, //0x000003fb testq %r12, %r12 + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000003fe je LBB0_25 + 0x49, 0x0f, 0xbc, 0xd4, //0x00000404 bsfq %r12, %rdx + 0x48, 0x8b, 0x5d, 0xb8, //0x00000408 movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x0000040c movq $-64(%rbp), %rsi + 0x48, 0x39, 0xc2, //0x00000410 cmpq %rax, %rdx + 0x0f, 0x83, 0x1b, 0x00, 0x00, 0x00, //0x00000413 jae LBB0_26 + 0xe9, 0x7c, 0x04, 0x00, 0x00, //0x00000419 jmp LBB0_80 + //0x0000041e LBB0_25 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x0000041e movl $64, %edx + 0x48, 0x8b, 0x5d, 0xb8, //0x00000423 movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x00000427 movq $-64(%rbp), %rsi + 0x48, 0x39, 0xc2, //0x0000042b cmpq %rax, %rdx + 0x0f, 0x82, 0x66, 0x04, 0x00, 0x00, //0x0000042e jb LBB0_80 + //0x00000434 LBB0_26 + 0x48, 0x2b, 0x4d, 0xd0, //0x00000434 subq $-48(%rbp), %rcx + 0x48, 0x8d, 0x7c, 0x01, 0x01, //0x00000438 leaq $1(%rcx,%rax), %rdi + //0x0000043d LBB0_27 + 0x48, 0x85, 0xff, //0x0000043d testq %rdi, %rdi + 0x0f, 0x88, 0x5b, 0x04, 0x00, 0x00, //0x00000440 js LBB0_81 + 0x48, 0x89, 0x3e, //0x00000446 movq %rdi, (%rsi) + 0x4c, 0x89, 0x53, 0x10, //0x00000449 movq %r10, $16(%rbx) + 0x48, 0xc7, 0x03, 0x07, 0x00, 0x00, 0x00, //0x0000044d movq $7, (%rbx) + 0x49, 0x39, 0xfb, //0x00000454 cmpq %rdi, %r11 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000457 movq $-1, %rax + 0x49, 0x0f, 0x4c, 0xc3, //0x0000045e cmovlq %r11, %rax + 0x48, 0x89, 0x43, 0x18, //0x00000462 movq %rax, $24(%rbx) + 0xe9, 0x40, 0x04, 0x00, 0x00, //0x00000466 jmp LBB0_83 + //0x0000046b LBB0_29 + 0x48, 0x8b, 0x4d, 0xb0, //0x0000046b movq $-80(%rbp), %rcx + 0x4c, 0x89, 0xe8, //0x0000046f movq %r13, %rax + 0x48, 0x83, 0xf8, 0x20, //0x00000472 cmpq $32, %rax + 0x0f, 0x82, 0x74, 0x02, 0x00, 0x00, //0x00000476 jb LBB0_57 + //0x0000047c LBB0_30 + 0xc5, 0xfa, 0x6f, 0x01, //0x0000047c vmovdqu (%rcx), %xmm0 + 0xc5, 0xfa, 0x6f, 0x49, 0x10, //0x00000480 vmovdqu $16(%rcx), %xmm1 + 0xc5, 0xfa, 0x6f, 0x15, 0x73, 0xfb, 0xff, 0xff, //0x00000485 vmovdqu $-1165(%rip), %xmm2 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x1d, 0x7b, 0xfb, 0xff, 0xff, //0x0000048d vmovdqu $-1157(%rip), %xmm3 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0x74, 0xe2, //0x00000495 vpcmpeqb %xmm2, %xmm0, %xmm4 + 0xc5, 0x79, 0xd7, 0xcc, //0x00000499 vpmovmskb %xmm4, %r9d + 0xc5, 0xf1, 0x74, 0xd2, //0x0000049d vpcmpeqb %xmm2, %xmm1, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x000004a1 vpmovmskb %xmm2, %edi + 0xc5, 0xf9, 0x74, 0xc3, //0x000004a5 vpcmpeqb %xmm3, %xmm0, %xmm0 + 0xc5, 0x79, 0xd7, 0xf8, //0x000004a9 vpmovmskb %xmm0, %r15d + 0xc5, 0xf1, 0x74, 0xc3, //0x000004ad vpcmpeqb %xmm3, %xmm1, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd0, //0x000004b1 vpmovmskb %xmm0, %edx + 0x48, 0xc1, 0xe7, 0x10, //0x000004b5 shlq $16, %rdi + 0x48, 0xc1, 0xe2, 0x10, //0x000004b9 shlq $16, %rdx + 0x49, 0x09, 0xd7, //0x000004bd orq %rdx, %r15 + 0x49, 0x83, 0xfb, 0xff, //0x000004c0 cmpq $-1, %r11 + 0x0f, 0x85, 0x0b, 0x01, 0x00, 0x00, //0x000004c4 jne LBB0_43 + 0x4d, 0x85, 0xff, //0x000004ca testq %r15, %r15 + 0x48, 0x8b, 0x5d, 0xb8, //0x000004cd movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x000004d1 movq $-64(%rbp), %rsi + 0x0f, 0x85, 0xdf, 0x03, 0x00, 0x00, //0x000004d5 jne LBB0_84 + 0x4c, 0x09, 0xcf, //0x000004db orq %r9, %rdi + 0x4c, 0x89, 0xfa, //0x000004de movq %r15, %rdx + 0x4c, 0x09, 0xc2, //0x000004e1 orq %r8, %rdx + 0x0f, 0x85, 0x02, 0x01, 0x00, 0x00, //0x000004e4 jne LBB0_44 + //0x000004ea LBB0_33 + 0x48, 0x85, 0xff, //0x000004ea testq %rdi, %rdi + 0x0f, 0x84, 0x3c, 0x01, 0x00, 0x00, //0x000004ed je LBB0_45 + //0x000004f3 LBB0_34 + 0x48, 0x0f, 0xbc, 0xc7, //0x000004f3 bsfq %rdi, %rax + 0xe9, 0x38, 0xff, 0xff, 0xff, //0x000004f7 jmp LBB0_26 + //0x000004fc LBB0_35 + 0x48, 0xc7, 0xc7, 0xfe, 0xff, 0xff, 0xff, //0x000004fc movq $-2, %rdi + //0x00000503 LBB0_36 + 0x4c, 0x8b, 0x55, 0xc8, //0x00000503 movq $-56(%rbp), %r10 + 0x48, 0x8b, 0x5d, 0xb8, //0x00000507 movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x0000050b movq $-64(%rbp), %rsi + 0xe9, 0x91, 0x03, 0x00, 0x00, //0x0000050f jmp LBB0_82 + //0x00000514 LBB0_37 + 0x48, 0x8b, 0x4d, 0xb0, //0x00000514 movq $-80(%rbp), %rcx + 0x4c, 0x89, 0xe8, //0x00000518 movq %r13, %rax + 0x48, 0x8b, 0x5d, 0xb8, //0x0000051b movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x0000051f movq $-64(%rbp), %rsi + 0x48, 0x83, 0xf8, 0x20, //0x00000523 cmpq $32, %rax + 0x0f, 0x82, 0xb1, 0x02, 0x00, 0x00, //0x00000527 jb LBB0_68 + //0x0000052d LBB0_38 + 0xc5, 0xfa, 0x6f, 0x01, //0x0000052d vmovdqu (%rcx), %xmm0 + 0xc5, 0xfa, 0x6f, 0x49, 0x10, //0x00000531 vmovdqu $16(%rcx), %xmm1 + 0xc5, 0xfa, 0x6f, 0x15, 0xc2, 0xfa, 0xff, 0xff, //0x00000536 vmovdqu $-1342(%rip), %xmm2 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0x74, 0xda, //0x0000053e vpcmpeqb %xmm2, %xmm0, %xmm3 + 0xc5, 0x79, 0xd7, 0xe3, //0x00000542 vpmovmskb %xmm3, %r12d + 0xc5, 0xf1, 0x74, 0xd2, //0x00000546 vpcmpeqb %xmm2, %xmm1, %xmm2 + 0xc5, 0xf9, 0xd7, 0xfa, //0x0000054a vpmovmskb %xmm2, %edi + 0xc5, 0xfa, 0x6f, 0x15, 0xba, 0xfa, 0xff, 0xff, //0x0000054e vmovdqu $-1350(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0x74, 0xda, //0x00000556 vpcmpeqb %xmm2, %xmm0, %xmm3 + 0xc5, 0x79, 0xd7, 0xfb, //0x0000055a vpmovmskb %xmm3, %r15d + 0xc5, 0xf1, 0x74, 0xd2, //0x0000055e vpcmpeqb %xmm2, %xmm1, %xmm2 + 0xc5, 0xf9, 0xd7, 0xd2, //0x00000562 vpmovmskb %xmm2, %edx + 0xc5, 0xfa, 0x6f, 0x15, 0xb2, 0xfa, 0xff, 0xff, //0x00000566 vmovdqu $-1358(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0xc5, 0xe9, 0x64, 0xd8, //0x0000056e vpcmpgtb %xmm0, %xmm2, %xmm3 + 0xc5, 0xd9, 0x76, 0xe4, //0x00000572 vpcmpeqd %xmm4, %xmm4, %xmm4 + 0xc5, 0xf9, 0x64, 0xc4, //0x00000576 vpcmpgtb %xmm4, %xmm0, %xmm0 + 0xc5, 0xf9, 0xdb, 0xc3, //0x0000057a vpand %xmm3, %xmm0, %xmm0 + 0xc5, 0xe9, 0x64, 0xd1, //0x0000057e vpcmpgtb %xmm1, %xmm2, %xmm2 + 0xc5, 0xf1, 0x64, 0xcc, //0x00000582 vpcmpgtb %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xdb, 0xca, //0x00000586 vpand %xmm2, %xmm1, %xmm1 + 0xc5, 0x79, 0xd7, 0xf1, //0x0000058a vpmovmskb %xmm1, %r14d + 0x48, 0xc1, 0xe7, 0x10, //0x0000058e shlq $16, %rdi + 0x48, 0xc1, 0xe2, 0x10, //0x00000592 shlq $16, %rdx + 0x49, 0x09, 0xd7, //0x00000596 orq %rdx, %r15 + 0x49, 0x83, 0xfb, 0xff, //0x00000599 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000059d jne LBB0_40 + 0x4d, 0x85, 0xff, //0x000005a3 testq %r15, %r15 + 0x0f, 0x85, 0x30, 0x03, 0x00, 0x00, //0x000005a6 jne LBB0_85 + //0x000005ac LBB0_40 + 0xc5, 0x79, 0xd7, 0xc0, //0x000005ac vpmovmskb %xmm0, %r8d + 0x4c, 0x09, 0xe7, //0x000005b0 orq %r12, %rdi + 0x4c, 0x89, 0xfa, //0x000005b3 movq %r15, %rdx + 0x4c, 0x09, 0xca, //0x000005b6 orq %r9, %rdx + 0x0f, 0x85, 0xa3, 0x01, 0x00, 0x00, //0x000005b9 jne LBB0_61 + 0x49, 0xc1, 0xe6, 0x10, //0x000005bf shlq $16, %r14 + 0x48, 0x85, 0xff, //0x000005c3 testq %rdi, %rdi + 0x0f, 0x84, 0xde, 0x01, 0x00, 0x00, //0x000005c6 je LBB0_62 + //0x000005cc LBB0_42 + 0x48, 0x0f, 0xbc, 0xd7, //0x000005cc bsfq %rdi, %rdx + 0xe9, 0xda, 0x01, 0x00, 0x00, //0x000005d0 jmp LBB0_63 + //0x000005d5 LBB0_43 + 0x48, 0x8b, 0x5d, 0xb8, //0x000005d5 movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x000005d9 movq $-64(%rbp), %rsi + 0x4c, 0x09, 0xcf, //0x000005dd orq %r9, %rdi + 0x4c, 0x89, 0xfa, //0x000005e0 movq %r15, %rdx + 0x4c, 0x09, 0xc2, //0x000005e3 orq %r8, %rdx + 0x0f, 0x84, 0xfe, 0xfe, 0xff, 0xff, //0x000005e6 je LBB0_33 + //0x000005ec LBB0_44 + 0x45, 0x89, 0xc6, //0x000005ec movl %r8d, %r14d + 0x41, 0xf7, 0xd6, //0x000005ef notl %r14d + 0x45, 0x21, 0xfe, //0x000005f2 andl %r15d, %r14d + 0x47, 0x8d, 0x0c, 0x36, //0x000005f5 leal (%r14,%r14), %r9d + 0x45, 0x09, 0xc1, //0x000005f9 orl %r8d, %r9d + 0xba, 0xaa, 0xaa, 0xaa, 0xaa, //0x000005fc movl $2863311530, %edx + 0x44, 0x31, 0xca, //0x00000601 xorl %r9d, %edx + 0x44, 0x21, 0xfa, //0x00000604 andl %r15d, %edx + 0x81, 0xe2, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000607 andl $-1431655766, %edx + 0x45, 0x31, 0xc0, //0x0000060d xorl %r8d, %r8d + 0x44, 0x01, 0xf2, //0x00000610 addl %r14d, %edx + 0x41, 0x0f, 0x92, 0xc0, //0x00000613 setb %r8b + 0x01, 0xd2, //0x00000617 addl %edx, %edx + 0x81, 0xf2, 0x55, 0x55, 0x55, 0x55, //0x00000619 xorl $1431655765, %edx + 0x44, 0x21, 0xca, //0x0000061f andl %r9d, %edx + 0xf7, 0xd2, //0x00000622 notl %edx + 0x21, 0xd7, //0x00000624 andl %edx, %edi + 0x48, 0x85, 0xff, //0x00000626 testq %rdi, %rdi + 0x0f, 0x85, 0xc4, 0xfe, 0xff, 0xff, //0x00000629 jne LBB0_34 + //0x0000062f LBB0_45 + 0x48, 0x83, 0xc1, 0x20, //0x0000062f addq $32, %rcx + 0x48, 0x83, 0xc0, 0xe0, //0x00000633 addq $-32, %rax + 0x4d, 0x85, 0xc0, //0x00000637 testq %r8, %r8 + 0x0f, 0x85, 0xc1, 0x00, 0x00, 0x00, //0x0000063a jne LBB0_58 + //0x00000640 LBB0_46 + 0x4d, 0x89, 0xd8, //0x00000640 movq %r11, %r8 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00000643 movq $-1, %rdi + 0x48, 0x85, 0xc0, //0x0000064a testq %rax, %rax + 0x0f, 0x84, 0x4e, 0x02, 0x00, 0x00, //0x0000064d je LBB0_81 + //0x00000653 LBB0_47 + 0x4c, 0x8b, 0x75, 0xd0, //0x00000653 movq $-48(%rbp), %r14 + 0x49, 0xf7, 0xd6, //0x00000657 notq %r14 + //0x0000065a LBB0_48 + 0x4c, 0x8d, 0x79, 0x01, //0x0000065a leaq $1(%rcx), %r15 + 0x0f, 0xb6, 0x11, //0x0000065e movzbl (%rcx), %edx + 0x80, 0xfa, 0x22, //0x00000661 cmpb $34, %dl + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x00000664 je LBB0_53 + 0x4c, 0x8d, 0x48, 0xff, //0x0000066a leaq $-1(%rax), %r9 + 0x80, 0xfa, 0x5c, //0x0000066e cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00000671 je LBB0_51 + 0x4c, 0x89, 0xc8, //0x00000677 movq %r9, %rax + 0x4c, 0x89, 0xf9, //0x0000067a movq %r15, %rcx + 0x4d, 0x85, 0xc9, //0x0000067d testq %r9, %r9 + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00000680 jne LBB0_48 + 0xe9, 0x16, 0x02, 0x00, 0x00, //0x00000686 jmp LBB0_81 + //0x0000068b LBB0_51 + 0x4d, 0x85, 0xc9, //0x0000068b testq %r9, %r9 + 0x0f, 0x84, 0x6f, 0xfe, 0xff, 0xff, //0x0000068e je LBB0_36 + 0x4d, 0x01, 0xf7, //0x00000694 addq %r14, %r15 + 0x49, 0x83, 0xf8, 0xff, //0x00000697 cmpq $-1, %r8 + 0x4d, 0x0f, 0x44, 0xdf, //0x0000069b cmoveq %r15, %r11 + 0x4d, 0x0f, 0x44, 0xc7, //0x0000069f cmoveq %r15, %r8 + 0x48, 0x83, 0xc1, 0x02, //0x000006a3 addq $2, %rcx + 0x48, 0x83, 0xc0, 0xfe, //0x000006a7 addq $-2, %rax + 0x49, 0x89, 0xc1, //0x000006ab movq %rax, %r9 + 0x48, 0x8b, 0x5d, 0xb8, //0x000006ae movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x000006b2 movq $-64(%rbp), %rsi + 0x4d, 0x85, 0xc9, //0x000006b6 testq %r9, %r9 + 0x0f, 0x85, 0x9b, 0xff, 0xff, 0xff, //0x000006b9 jne LBB0_48 + 0xe9, 0xdd, 0x01, 0x00, 0x00, //0x000006bf jmp LBB0_81 + //0x000006c4 LBB0_53 + 0x4c, 0x2b, 0x7d, 0xd0, //0x000006c4 subq $-48(%rbp), %r15 + 0x4c, 0x89, 0xff, //0x000006c8 movq %r15, %rdi + 0xe9, 0x6d, 0xfd, 0xff, 0xff, //0x000006cb jmp LBB0_27 + //0x000006d0 LBB0_55 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000006d0 movq $-1, %rdi + 0xe9, 0xc9, 0x01, 0x00, 0x00, //0x000006d7 jmp LBB0_82 + //0x000006dc LBB0_56 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000006dc movq $-1, %r11 + 0x45, 0x31, 0xc0, //0x000006e3 xorl %r8d, %r8d + 0x48, 0x83, 0xf8, 0x20, //0x000006e6 cmpq $32, %rax + 0x0f, 0x83, 0x8c, 0xfd, 0xff, 0xff, //0x000006ea jae LBB0_30 + //0x000006f0 LBB0_57 + 0x48, 0x8b, 0x5d, 0xb8, //0x000006f0 movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x000006f4 movq $-64(%rbp), %rsi + 0x4d, 0x85, 0xc0, //0x000006f8 testq %r8, %r8 + 0x0f, 0x84, 0x3f, 0xff, 0xff, 0xff, //0x000006fb je LBB0_46 + //0x00000701 LBB0_58 + 0x48, 0x85, 0xc0, //0x00000701 testq %rax, %rax + 0x0f, 0x84, 0x25, 0x02, 0x00, 0x00, //0x00000704 je LBB0_88 + 0x4c, 0x8b, 0x45, 0xd0, //0x0000070a movq $-48(%rbp), %r8 + 0x49, 0xf7, 0xd0, //0x0000070e notq %r8 + 0x49, 0x01, 0xc8, //0x00000711 addq %rcx, %r8 + 0x49, 0x83, 0xfb, 0xff, //0x00000714 cmpq $-1, %r11 + 0x4c, 0x89, 0xda, //0x00000718 movq %r11, %rdx + 0x49, 0x0f, 0x44, 0xd0, //0x0000071b cmoveq %r8, %rdx + 0x4d, 0x0f, 0x45, 0xc3, //0x0000071f cmovneq %r11, %r8 + 0x48, 0xff, 0xc1, //0x00000723 incq %rcx + 0x48, 0xff, 0xc8, //0x00000726 decq %rax + 0x49, 0x89, 0xd3, //0x00000729 movq %rdx, %r11 + 0x48, 0x8b, 0x5d, 0xb8, //0x0000072c movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x00000730 movq $-64(%rbp), %rsi + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00000734 movq $-1, %rdi + 0x48, 0x85, 0xc0, //0x0000073b testq %rax, %rax + 0x0f, 0x85, 0x0f, 0xff, 0xff, 0xff, //0x0000073e jne LBB0_47 + 0xe9, 0x58, 0x01, 0x00, 0x00, //0x00000744 jmp LBB0_81 + //0x00000749 LBB0_60 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000749 movq $-1, %r11 + 0x45, 0x31, 0xc9, //0x00000750 xorl %r9d, %r9d + 0x48, 0x83, 0xf8, 0x20, //0x00000753 cmpq $32, %rax + 0x0f, 0x83, 0xd0, 0xfd, 0xff, 0xff, //0x00000757 jae LBB0_38 + 0xe9, 0x7c, 0x00, 0x00, 0x00, //0x0000075d jmp LBB0_68 + //0x00000762 LBB0_61 + 0x45, 0x89, 0xcd, //0x00000762 movl %r9d, %r13d + 0x41, 0xf7, 0xd5, //0x00000765 notl %r13d + 0x45, 0x21, 0xfd, //0x00000768 andl %r15d, %r13d + 0x47, 0x8d, 0x64, 0x2d, 0x00, //0x0000076b leal (%r13,%r13), %r12d + 0x45, 0x09, 0xcc, //0x00000770 orl %r9d, %r12d + 0xba, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000773 movl $2863311530, %edx + 0x44, 0x31, 0xe2, //0x00000778 xorl %r12d, %edx + 0x44, 0x21, 0xfa, //0x0000077b andl %r15d, %edx + 0x81, 0xe2, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000077e andl $-1431655766, %edx + 0x45, 0x31, 0xc9, //0x00000784 xorl %r9d, %r9d + 0x44, 0x01, 0xea, //0x00000787 addl %r13d, %edx + 0x41, 0x0f, 0x92, 0xc1, //0x0000078a setb %r9b + 0x01, 0xd2, //0x0000078e addl %edx, %edx + 0x81, 0xf2, 0x55, 0x55, 0x55, 0x55, //0x00000790 xorl $1431655765, %edx + 0x44, 0x21, 0xe2, //0x00000796 andl %r12d, %edx + 0xf7, 0xd2, //0x00000799 notl %edx + 0x21, 0xd7, //0x0000079b andl %edx, %edi + 0x49, 0xc1, 0xe6, 0x10, //0x0000079d shlq $16, %r14 + 0x48, 0x85, 0xff, //0x000007a1 testq %rdi, %rdi + 0x0f, 0x85, 0x22, 0xfe, 0xff, 0xff, //0x000007a4 jne LBB0_42 + //0x000007aa LBB0_62 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x000007aa movl $64, %edx + //0x000007af LBB0_63 + 0x4d, 0x09, 0xc6, //0x000007af orq %r8, %r14 + 0x48, 0x85, 0xff, //0x000007b2 testq %rdi, %rdi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000007b5 je LBB0_66 + 0x4d, 0x85, 0xf6, //0x000007bb testq %r14, %r14 + 0x0f, 0x84, 0xab, 0x00, 0x00, 0x00, //0x000007be je LBB0_76 + 0x49, 0x0f, 0xbc, 0xc6, //0x000007c4 bsfq %r14, %rax + 0xe9, 0xa7, 0x00, 0x00, 0x00, //0x000007c8 jmp LBB0_77 + //0x000007cd LBB0_66 + 0x4d, 0x85, 0xf6, //0x000007cd testq %r14, %r14 + 0x0f, 0x85, 0xc4, 0x00, 0x00, 0x00, //0x000007d0 jne LBB0_80 + 0x48, 0x83, 0xc1, 0x20, //0x000007d6 addq $32, %rcx + 0x48, 0x83, 0xc0, 0xe0, //0x000007da addq $-32, %rax + //0x000007de LBB0_68 + 0x4d, 0x85, 0xc9, //0x000007de testq %r9, %r9 + 0x0f, 0x85, 0x08, 0x01, 0x00, 0x00, //0x000007e1 jne LBB0_86 + 0x4d, 0x89, 0xd8, //0x000007e7 movq %r11, %r8 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000007ea movq $-1, %rdi + 0x48, 0x85, 0xc0, //0x000007f1 testq %rax, %rax + 0x0f, 0x84, 0xa7, 0x00, 0x00, 0x00, //0x000007f4 je LBB0_81 + //0x000007fa LBB0_70 + 0x0f, 0xb6, 0x11, //0x000007fa movzbl (%rcx), %edx + 0x80, 0xfa, 0x22, //0x000007fd cmpb $34, %dl + 0x0f, 0x84, 0x85, 0x00, 0x00, 0x00, //0x00000800 je LBB0_79 + 0x80, 0xfa, 0x5c, //0x00000806 cmpb $92, %dl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00000809 je LBB0_74 + 0x80, 0xfa, 0x20, //0x0000080f cmpb $32, %dl + 0x0f, 0x82, 0x82, 0x00, 0x00, 0x00, //0x00000812 jb LBB0_80 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000818 movq $-1, %r9 + 0xba, 0x01, 0x00, 0x00, 0x00, //0x0000081f movl $1, %edx + 0x48, 0x01, 0xd1, //0x00000824 addq %rdx, %rcx + 0x4c, 0x01, 0xc8, //0x00000827 addq %r9, %rax + 0x0f, 0x85, 0xca, 0xff, 0xff, 0xff, //0x0000082a jne LBB0_70 + 0xe9, 0x6c, 0x00, 0x00, 0x00, //0x00000830 jmp LBB0_81 + //0x00000835 LBB0_74 + 0x48, 0x83, 0xf8, 0x01, //0x00000835 cmpq $1, %rax + 0x0f, 0x84, 0x62, 0x00, 0x00, 0x00, //0x00000839 je LBB0_81 + 0x48, 0x89, 0xca, //0x0000083f movq %rcx, %rdx + 0x48, 0x2b, 0x55, 0xd0, //0x00000842 subq $-48(%rbp), %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000846 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xda, //0x0000084a cmoveq %rdx, %r11 + 0x4c, 0x0f, 0x44, 0xc2, //0x0000084e cmoveq %rdx, %r8 + 0x49, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00000852 movq $-2, %r9 + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00000859 movl $2, %edx + 0x48, 0x01, 0xd1, //0x0000085e addq %rdx, %rcx + 0x4c, 0x01, 0xc8, //0x00000861 addq %r9, %rax + 0x0f, 0x85, 0x90, 0xff, 0xff, 0xff, //0x00000864 jne LBB0_70 + 0xe9, 0x32, 0x00, 0x00, 0x00, //0x0000086a jmp LBB0_81 + //0x0000086f LBB0_76 + 0xb8, 0x40, 0x00, 0x00, 0x00, //0x0000086f movl $64, %eax + //0x00000874 LBB0_77 + 0x48, 0x39, 0xd0, //0x00000874 cmpq %rdx, %rax + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x00000877 jb LBB0_80 + 0x48, 0x2b, 0x4d, 0xd0, //0x0000087d subq $-48(%rbp), %rcx + 0x48, 0x8d, 0x7c, 0x11, 0x01, //0x00000881 leaq $1(%rcx,%rdx), %rdi + 0xe9, 0xb2, 0xfb, 0xff, 0xff, //0x00000886 jmp LBB0_27 + //0x0000088b LBB0_79 + 0x48, 0x2b, 0x4d, 0xd0, //0x0000088b subq $-48(%rbp), %rcx + 0x48, 0xff, 0xc1, //0x0000088f incq %rcx + 0x48, 0x89, 0xcf, //0x00000892 movq %rcx, %rdi + 0xe9, 0xa3, 0xfb, 0xff, 0xff, //0x00000895 jmp LBB0_27 + //0x0000089a LBB0_80 + 0x48, 0xc7, 0xc7, 0xfe, 0xff, 0xff, 0xff, //0x0000089a movq $-2, %rdi + //0x000008a1 LBB0_81 + 0x4c, 0x8b, 0x55, 0xc8, //0x000008a1 movq $-56(%rbp), %r10 + //0x000008a5 LBB0_82 + 0x4c, 0x89, 0x16, //0x000008a5 movq %r10, (%rsi) + 0x48, 0x89, 0x3b, //0x000008a8 movq %rdi, (%rbx) + //0x000008ab LBB0_83 + 0x48, 0x83, 0xc4, 0x28, //0x000008ab addq $40, %rsp + 0x5b, //0x000008af popq %rbx + 0x41, 0x5c, //0x000008b0 popq %r12 + 0x41, 0x5d, //0x000008b2 popq %r13 + 0x41, 0x5e, //0x000008b4 popq %r14 + 0x41, 0x5f, //0x000008b6 popq %r15 + 0x5d, //0x000008b8 popq %rbp + 0xc3, //0x000008b9 retq + //0x000008ba LBB0_84 + 0x48, 0x89, 0xca, //0x000008ba movq %rcx, %rdx + 0x48, 0x2b, 0x55, 0xd0, //0x000008bd subq $-48(%rbp), %rdx + 0x4d, 0x0f, 0xbc, 0xdf, //0x000008c1 bsfq %r15, %r11 + 0x49, 0x01, 0xd3, //0x000008c5 addq %rdx, %r11 + 0x4c, 0x09, 0xcf, //0x000008c8 orq %r9, %rdi + 0x4c, 0x89, 0xfa, //0x000008cb movq %r15, %rdx + 0x4c, 0x09, 0xc2, //0x000008ce orq %r8, %rdx + 0x0f, 0x84, 0x13, 0xfc, 0xff, 0xff, //0x000008d1 je LBB0_33 + 0xe9, 0x10, 0xfd, 0xff, 0xff, //0x000008d7 jmp LBB0_44 + //0x000008dc LBB0_85 + 0x48, 0x89, 0xca, //0x000008dc movq %rcx, %rdx + 0x48, 0x2b, 0x55, 0xd0, //0x000008df subq $-48(%rbp), %rdx + 0x4d, 0x0f, 0xbc, 0xdf, //0x000008e3 bsfq %r15, %r11 + 0x49, 0x01, 0xd3, //0x000008e7 addq %rdx, %r11 + 0xe9, 0xbd, 0xfc, 0xff, 0xff, //0x000008ea jmp LBB0_40 + //0x000008ef LBB0_86 + 0x48, 0x85, 0xc0, //0x000008ef testq %rax, %rax + 0x0f, 0x84, 0x43, 0x00, 0x00, 0x00, //0x000008f2 je LBB0_89 + 0x4c, 0x8b, 0x45, 0xd0, //0x000008f8 movq $-48(%rbp), %r8 + 0x49, 0xf7, 0xd0, //0x000008fc notq %r8 + 0x49, 0x01, 0xc8, //0x000008ff addq %rcx, %r8 + 0x49, 0x83, 0xfb, 0xff, //0x00000902 cmpq $-1, %r11 + 0x4c, 0x89, 0xda, //0x00000906 movq %r11, %rdx + 0x49, 0x0f, 0x44, 0xd0, //0x00000909 cmoveq %r8, %rdx + 0x4d, 0x0f, 0x45, 0xc3, //0x0000090d cmovneq %r11, %r8 + 0x48, 0xff, 0xc1, //0x00000911 incq %rcx + 0x48, 0xff, 0xc8, //0x00000914 decq %rax + 0x49, 0x89, 0xd3, //0x00000917 movq %rdx, %r11 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x0000091a movq $-1, %rdi + 0x48, 0x85, 0xc0, //0x00000921 testq %rax, %rax + 0x0f, 0x85, 0xd0, 0xfe, 0xff, 0xff, //0x00000924 jne LBB0_70 + 0xe9, 0x72, 0xff, 0xff, 0xff, //0x0000092a jmp LBB0_81 + //0x0000092f LBB0_88 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x0000092f movq $-1, %rdi + 0xe9, 0xc8, 0xfb, 0xff, 0xff, //0x00000936 jmp LBB0_36 + //0x0000093b LBB0_89 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x0000093b movq $-1, %rdi + 0xe9, 0x5a, 0xff, 0xff, 0xff, //0x00000942 jmp LBB0_81 + 0x00, //0x00000947 .p2align 2, 0x00 + //0x00000948 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000948 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/vunsigned.go b/vendor/github.com/bytedance/sonic/internal/native/avx/vunsigned.go new file mode 100644 index 0000000..fdac8b6 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/vunsigned.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vunsigned func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer) + +var S_vunsigned uintptr + +//go:nosplit +func vunsigned(s *string, p *int, v *types.JsonState) { + F_vunsigned(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/vunsigned_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx/vunsigned_subr.go new file mode 100644 index 0000000..aa87760 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/vunsigned_subr.go @@ -0,0 +1,43 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__vunsigned = 0 +) + +const ( + _stack__vunsigned = 8 +) + +const ( + _size__vunsigned = 324 +) + +var ( + _pcsp__vunsigned = [][2]uint32{ + {1, 0}, + {71, 8}, + {72, 0}, + {83, 8}, + {84, 0}, + {107, 8}, + {108, 0}, + {273, 8}, + {274, 0}, + {312, 8}, + {313, 0}, + {320, 8}, + {322, 0}, + } +) + +var _cfunc_vunsigned = []loader.CFunc{ + {"_vunsigned_entry", 0, _entry__vunsigned, 0, nil}, + {"_vunsigned", _entry__vunsigned, _size__vunsigned, _stack__vunsigned, _pcsp__vunsigned}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/vunsigned_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx/vunsigned_text_amd64.go new file mode 100644 index 0000000..7892cbb --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/vunsigned_text_amd64.go @@ -0,0 +1,108 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx + +var _text_vunsigned = []byte{ + // .p2align 4, 0x90 + // _vunsigned + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x49, 0x89, 0xd0, //0x00000004 movq %rdx, %r8 + 0x48, 0x8b, 0x0e, //0x00000007 movq (%rsi), %rcx + 0x4c, 0x8b, 0x0f, //0x0000000a movq (%rdi), %r9 + 0x4c, 0x8b, 0x5f, 0x08, //0x0000000d movq $8(%rdi), %r11 + 0x48, 0xc7, 0x02, 0x09, 0x00, 0x00, 0x00, //0x00000011 movq $9, (%rdx) + 0xc5, 0xf8, 0x57, 0xc0, //0x00000018 vxorps %xmm0, %xmm0, %xmm0 + 0xc5, 0xf8, 0x11, 0x42, 0x08, //0x0000001c vmovups %xmm0, $8(%rdx) + 0x48, 0x8b, 0x06, //0x00000021 movq (%rsi), %rax + 0x48, 0x89, 0x42, 0x18, //0x00000024 movq %rax, $24(%rdx) + 0x4c, 0x39, 0xd9, //0x00000028 cmpq %r11, %rcx + 0x0f, 0x83, 0x18, 0x00, 0x00, 0x00, //0x0000002b jae LBB0_1 + 0x41, 0x8a, 0x04, 0x09, //0x00000031 movb (%r9,%rcx), %al + 0x3c, 0x2d, //0x00000035 cmpb $45, %al + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x00000037 jne LBB0_4 + //0x0000003d LBB0_3 + 0x48, 0x89, 0x0e, //0x0000003d movq %rcx, (%rsi) + 0x49, 0xc7, 0x00, 0xfa, 0xff, 0xff, 0xff, //0x00000040 movq $-6, (%r8) + 0x5d, //0x00000047 popq %rbp + 0xc3, //0x00000048 retq + //0x00000049 LBB0_1 + 0x4c, 0x89, 0x1e, //0x00000049 movq %r11, (%rsi) + 0x49, 0xc7, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000004c movq $-1, (%r8) + 0x5d, //0x00000053 popq %rbp + 0xc3, //0x00000054 retq + //0x00000055 LBB0_4 + 0x8d, 0x50, 0xd0, //0x00000055 leal $-48(%rax), %edx + 0x80, 0xfa, 0x0a, //0x00000058 cmpb $10, %dl + 0x0f, 0x82, 0x0c, 0x00, 0x00, 0x00, //0x0000005b jb LBB0_6 + 0x48, 0x89, 0x0e, //0x00000061 movq %rcx, (%rsi) + 0x49, 0xc7, 0x00, 0xfe, 0xff, 0xff, 0xff, //0x00000064 movq $-2, (%r8) + 0x5d, //0x0000006b popq %rbp + 0xc3, //0x0000006c retq + //0x0000006d LBB0_6 + 0x3c, 0x30, //0x0000006d cmpb $48, %al + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x0000006f jne LBB0_7 + 0x41, 0x8a, 0x44, 0x09, 0x01, //0x00000075 movb $1(%r9,%rcx), %al + 0x04, 0xd2, //0x0000007a addb $-46, %al + 0x3c, 0x37, //0x0000007c cmpb $55, %al + 0x0f, 0x87, 0xb6, 0x00, 0x00, 0x00, //0x0000007e ja LBB0_16 + 0x0f, 0xb6, 0xc0, //0x00000084 movzbl %al, %eax + 0x48, 0xba, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00000087 movabsq $36028797027352577, %rdx + 0x48, 0x0f, 0xa3, 0xc2, //0x00000091 btq %rax, %rdx + 0x0f, 0x83, 0x9f, 0x00, 0x00, 0x00, //0x00000095 jae LBB0_16 + //0x0000009b LBB0_7 + 0x31, 0xc0, //0x0000009b xorl %eax, %eax + 0x41, 0xba, 0x0a, 0x00, 0x00, 0x00, //0x0000009d movl $10, %r10d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000a3 .p2align 4, 0x90 + //0x000000b0 LBB0_8 + 0x4c, 0x39, 0xd9, //0x000000b0 cmpq %r11, %rcx + 0x0f, 0x83, 0x78, 0x00, 0x00, 0x00, //0x000000b3 jae LBB0_20 + 0x41, 0x0f, 0xbe, 0x3c, 0x09, //0x000000b9 movsbl (%r9,%rcx), %edi + 0x8d, 0x57, 0xd0, //0x000000be leal $-48(%rdi), %edx + 0x80, 0xfa, 0x09, //0x000000c1 cmpb $9, %dl + 0x0f, 0x87, 0x49, 0x00, 0x00, 0x00, //0x000000c4 ja LBB0_17 + 0x49, 0xf7, 0xe2, //0x000000ca mulq %r10 + 0x0f, 0x80, 0x31, 0x00, 0x00, 0x00, //0x000000cd jo LBB0_13 + 0x48, 0xff, 0xc1, //0x000000d3 incq %rcx + 0x83, 0xc7, 0xd0, //0x000000d6 addl $-48, %edi + 0x48, 0x63, 0xd7, //0x000000d9 movslq %edi, %rdx + 0x48, 0x89, 0xd7, //0x000000dc movq %rdx, %rdi + 0x48, 0xc1, 0xff, 0x3f, //0x000000df sarq $63, %rdi + 0x48, 0x01, 0xd0, //0x000000e3 addq %rdx, %rax + 0x48, 0x83, 0xd7, 0x00, //0x000000e6 adcq $0, %rdi + 0x89, 0xfa, //0x000000ea movl %edi, %edx + 0x83, 0xe2, 0x01, //0x000000ec andl $1, %edx + 0x48, 0xf7, 0xda, //0x000000ef negq %rdx + 0x48, 0x31, 0xd7, //0x000000f2 xorq %rdx, %rdi + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000000f5 jne LBB0_13 + 0x48, 0x85, 0xd2, //0x000000fb testq %rdx, %rdx + 0x0f, 0x89, 0xac, 0xff, 0xff, 0xff, //0x000000fe jns LBB0_8 + //0x00000104 LBB0_13 + 0x48, 0xff, 0xc9, //0x00000104 decq %rcx + 0x48, 0x89, 0x0e, //0x00000107 movq %rcx, (%rsi) + 0x49, 0xc7, 0x00, 0xfb, 0xff, 0xff, 0xff, //0x0000010a movq $-5, (%r8) + 0x5d, //0x00000111 popq %rbp + 0xc3, //0x00000112 retq + //0x00000113 LBB0_17 + 0x40, 0x80, 0xff, 0x65, //0x00000113 cmpb $101, %dil + 0x0f, 0x84, 0x20, 0xff, 0xff, 0xff, //0x00000117 je LBB0_3 + 0x40, 0x80, 0xff, 0x45, //0x0000011d cmpb $69, %dil + 0x0f, 0x84, 0x16, 0xff, 0xff, 0xff, //0x00000121 je LBB0_3 + 0x40, 0x80, 0xff, 0x2e, //0x00000127 cmpb $46, %dil + 0x0f, 0x84, 0x0c, 0xff, 0xff, 0xff, //0x0000012b je LBB0_3 + //0x00000131 LBB0_20 + 0x48, 0x89, 0x0e, //0x00000131 movq %rcx, (%rsi) + 0x49, 0x89, 0x40, 0x10, //0x00000134 movq %rax, $16(%r8) + 0x5d, //0x00000138 popq %rbp + 0xc3, //0x00000139 retq + //0x0000013a LBB0_16 + 0x48, 0xff, 0xc1, //0x0000013a incq %rcx + 0x48, 0x89, 0x0e, //0x0000013d movq %rcx, (%rsi) + 0x5d, //0x00000140 popq %rbp + 0xc3, //0x00000141 retq + 0x00, 0x00, //0x00000142 .p2align 2, 0x00 + //0x00000144 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000144 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/native_export_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/f32toa.go similarity index 51% rename from vendor/github.com/bytedance/sonic/internal/native/avx2/native_export_amd64.go rename to vendor/github.com/bytedance/sonic/internal/native/avx2/f32toa.go index 8adf5e9..0032b7a 100644 --- a/vendor/github.com/bytedance/sonic/internal/native/avx2/native_export_amd64.go +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/f32toa.go @@ -1,5 +1,7 @@ // Code generated by Makefile, DO NOT EDIT. +// Code generated by Makefile, DO NOT EDIT. + /* * Copyright 2021 ByteDance Inc. * @@ -18,32 +20,17 @@ package avx2 -var ( - S_f64toa = _subr__f64toa - S_f32toa = _subr__f32toa - S_i64toa = _subr__i64toa - S_u64toa = _subr__u64toa - S_lspace = _subr__lspace -) +import ( + `unsafe` -var ( - S_quote = _subr__quote - S_unquote = _subr__unquote + `github.com/bytedance/sonic/internal/rt` ) -var ( - S_value = _subr__value - S_vstring = _subr__vstring - S_vnumber = _subr__vnumber - S_vsigned = _subr__vsigned - S_vunsigned = _subr__vunsigned -) +var F_f32toa func(out *byte, val float32) (ret int) -var ( - S_skip_one = _subr__skip_one - S_skip_one_fast = _subr__skip_one_fast - S_skip_array = _subr__skip_array - S_skip_object = _subr__skip_object - S_skip_number = _subr__skip_number - S_get_by_path = _subr__get_by_path -) +var S_f32toa uintptr + +//go:nosplit +func f32toa(out *byte, val float32) (ret int) { + return F_f32toa((*byte)(rt.NoEscape(unsafe.Pointer(out))), val) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/f32toa_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/f32toa_subr.go new file mode 100644 index 0000000..1081a49 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/f32toa_subr.go @@ -0,0 +1,44 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__f32toa = 32 +) + +const ( + _stack__f32toa = 48 +) + +const ( + _size__f32toa = 3392 +) + +var ( + _pcsp__f32toa = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {3350, 48}, + {3351, 40}, + {3353, 32}, + {3355, 24}, + {3357, 16}, + {3359, 8}, + {3363, 0}, + {3385, 48}, + } +) + +var _cfunc_f32toa = []loader.CFunc{ + {"_f32toa_entry", 0, _entry__f32toa, 0, nil}, + {"_f32toa", _entry__f32toa, _size__f32toa, _stack__f32toa, _pcsp__f32toa}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/f32toa_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/f32toa_text_amd64.go new file mode 100644 index 0000000..2559830 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/f32toa_text_amd64.go @@ -0,0 +1,964 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_f32toa = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, // QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, //0x00000010 QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + //0x00000020 .p2align 4, 0x90 + //0x00000020 _f32toa + 0x55, //0x00000020 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000021 movq %rsp, %rbp + 0x41, 0x57, //0x00000024 pushq %r15 + 0x41, 0x56, //0x00000026 pushq %r14 + 0x41, 0x55, //0x00000028 pushq %r13 + 0x41, 0x54, //0x0000002a pushq %r12 + 0x53, //0x0000002c pushq %rbx + 0xc5, 0xf9, 0x7e, 0xc0, //0x0000002d vmovd %xmm0, %eax + 0x89, 0xc1, //0x00000031 movl %eax, %ecx + 0xc1, 0xe9, 0x17, //0x00000033 shrl $23, %ecx + 0x0f, 0xb6, 0xd9, //0x00000036 movzbl %cl, %ebx + 0x81, 0xfb, 0xff, 0x00, 0x00, 0x00, //0x00000039 cmpl $255, %ebx + 0x0f, 0x84, 0xff, 0x0c, 0x00, 0x00, //0x0000003f je LBB0_139 + 0xc6, 0x07, 0x2d, //0x00000045 movb $45, (%rdi) + 0x41, 0x89, 0xc1, //0x00000048 movl %eax, %r9d + 0x41, 0xc1, 0xe9, 0x1f, //0x0000004b shrl $31, %r9d + 0x4e, 0x8d, 0x04, 0x0f, //0x0000004f leaq (%rdi,%r9), %r8 + 0xa9, 0xff, 0xff, 0xff, 0x7f, //0x00000053 testl $2147483647, %eax + 0x0f, 0x84, 0xc6, 0x01, 0x00, 0x00, //0x00000058 je LBB0_14 + 0x25, 0xff, 0xff, 0x7f, 0x00, //0x0000005e andl $8388607, %eax + 0x85, 0xdb, //0x00000063 testl %ebx, %ebx + 0x0f, 0x84, 0xe1, 0x0c, 0x00, 0x00, //0x00000065 je LBB0_140 + 0x8d, 0xb0, 0x00, 0x00, 0x80, 0x00, //0x0000006b leal $8388608(%rax), %esi + 0x44, 0x8d, 0xbb, 0x6a, 0xff, 0xff, 0xff, //0x00000071 leal $-150(%rbx), %r15d + 0x8d, 0x4b, 0x81, //0x00000078 leal $-127(%rbx), %ecx + 0x83, 0xf9, 0x17, //0x0000007b cmpl $23, %ecx + 0x0f, 0x87, 0x1b, 0x00, 0x00, 0x00, //0x0000007e ja LBB0_5 + 0xb9, 0x96, 0x00, 0x00, 0x00, //0x00000084 movl $150, %ecx + 0x29, 0xd9, //0x00000089 subl %ebx, %ecx + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000008b movq $-1, %rdx + 0x48, 0xd3, 0xe2, //0x00000092 shlq %cl, %rdx + 0xf7, 0xd2, //0x00000095 notl %edx + 0x85, 0xf2, //0x00000097 testl %esi, %edx + 0x0f, 0x84, 0x12, 0x04, 0x00, 0x00, //0x00000099 je LBB0_32 + //0x0000009f LBB0_5 + 0x41, 0x89, 0xf6, //0x0000009f movl %esi, %r14d + 0x41, 0x83, 0xe6, 0x01, //0x000000a2 andl $1, %r14d + 0x85, 0xc0, //0x000000a6 testl %eax, %eax + 0x0f, 0x94, 0xc0, //0x000000a8 sete %al + 0x83, 0xfb, 0x01, //0x000000ab cmpl $1, %ebx + 0x0f, 0x97, 0xc1, //0x000000ae seta %cl + 0x20, 0xc1, //0x000000b1 andb %al, %cl + 0x0f, 0xb6, 0xc9, //0x000000b3 movzbl %cl, %ecx + 0x41, 0x89, 0xf2, //0x000000b6 movl %esi, %r10d + 0x41, 0xc1, 0xe2, 0x02, //0x000000b9 shll $2, %r10d + 0x8d, 0x44, 0xb1, 0xfe, //0x000000bd leal $-2(%rcx,%rsi,4), %eax + 0x45, 0x69, 0xdf, 0x13, 0x44, 0x13, 0x00, //0x000000c1 imull $1262611, %r15d, %r11d + 0x31, 0xd2, //0x000000c8 xorl %edx, %edx + 0x84, 0xc9, //0x000000ca testb %cl, %cl + 0xb9, 0xff, 0xfe, 0x07, 0x00, //0x000000cc movl $524031, %ecx + 0x0f, 0x44, 0xca, //0x000000d1 cmovel %edx, %ecx + 0x41, 0x29, 0xcb, //0x000000d4 subl %ecx, %r11d + 0x41, 0xc1, 0xfb, 0x16, //0x000000d7 sarl $22, %r11d + 0x41, 0x69, 0xcb, 0xb1, 0x6c, 0xe5, 0xff, //0x000000db imull $-1741647, %r11d, %ecx + 0xc1, 0xe9, 0x13, //0x000000e2 shrl $19, %ecx + 0x44, 0x01, 0xf9, //0x000000e5 addl %r15d, %ecx + 0xba, 0x1f, 0x00, 0x00, 0x00, //0x000000e8 movl $31, %edx + 0x44, 0x29, 0xda, //0x000000ed subl %r11d, %edx + 0x48, 0x63, 0xd2, //0x000000f0 movslq %edx, %rdx + 0x48, 0x8d, 0x1d, 0x36, 0x0d, 0x00, 0x00, //0x000000f3 leaq $3382(%rip), %rbx /* _pow10_ceil_sig_f32.g+0(%rip) */ + 0xfe, 0xc1, //0x000000fa incb %cl + 0xd3, 0xe0, //0x000000fc shll %cl, %eax + 0x4c, 0x8b, 0x24, 0xd3, //0x000000fe movq (%rbx,%rdx,8), %r12 + 0x49, 0xf7, 0xe4, //0x00000102 mulq %r12 + 0x48, 0xc1, 0xe8, 0x20, //0x00000105 shrq $32, %rax + 0x31, 0xdb, //0x00000109 xorl %ebx, %ebx + 0x83, 0xf8, 0x01, //0x0000010b cmpl $1, %eax + 0x0f, 0x97, 0xc3, //0x0000010e seta %bl + 0x41, 0xd3, 0xe2, //0x00000111 shll %cl, %r10d + 0x09, 0xd3, //0x00000114 orl %edx, %ebx + 0x4c, 0x89, 0xd0, //0x00000116 movq %r10, %rax + 0x49, 0xf7, 0xe4, //0x00000119 mulq %r12 + 0x49, 0x89, 0xd2, //0x0000011c movq %rdx, %r10 + 0x48, 0xc1, 0xe8, 0x20, //0x0000011f shrq $32, %rax + 0x45, 0x31, 0xff, //0x00000123 xorl %r15d, %r15d + 0x83, 0xf8, 0x01, //0x00000126 cmpl $1, %eax + 0x41, 0x0f, 0x97, 0xc7, //0x00000129 seta %r15b + 0x8d, 0x04, 0xb5, 0x02, 0x00, 0x00, 0x00, //0x0000012d leal $2(,%rsi,4), %eax + 0xd3, 0xe0, //0x00000134 shll %cl, %eax + 0x45, 0x09, 0xd7, //0x00000136 orl %r10d, %r15d + 0x49, 0xf7, 0xe4, //0x00000139 mulq %r12 + 0x48, 0xc1, 0xe8, 0x20, //0x0000013c shrq $32, %rax + 0x31, 0xc9, //0x00000140 xorl %ecx, %ecx + 0x83, 0xf8, 0x01, //0x00000142 cmpl $1, %eax + 0x0f, 0x97, 0xc1, //0x00000145 seta %cl + 0x09, 0xd1, //0x00000148 orl %edx, %ecx + 0x44, 0x01, 0xf3, //0x0000014a addl %r14d, %ebx + 0x44, 0x29, 0xf1, //0x0000014d subl %r14d, %ecx + 0x41, 0x83, 0xff, 0x28, //0x00000150 cmpl $40, %r15d + 0x0f, 0x82, 0x9a, 0x00, 0x00, 0x00, //0x00000154 jb LBB0_12 + 0x44, 0x89, 0xd2, //0x0000015a movl %r10d, %edx + 0xb8, 0xcd, 0xcc, 0xcc, 0xcc, //0x0000015d movl $3435973837, %eax + 0x48, 0x0f, 0xaf, 0xc2, //0x00000162 imulq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x25, //0x00000166 shrq $37, %rax + 0x41, 0x89, 0xde, //0x0000016a movl %ebx, %r14d + 0x48, 0x8d, 0x34, 0xc5, 0x00, 0x00, 0x00, 0x00, //0x0000016d leaq (,%rax,8), %rsi + 0x48, 0x8d, 0x14, 0xb6, //0x00000175 leaq (%rsi,%rsi,4), %rdx + 0x4c, 0x39, 0xf2, //0x00000179 cmpq %r14, %rdx + 0x41, 0x0f, 0x93, 0xc4, //0x0000017c setae %r12b + 0x4c, 0x8d, 0x74, 0xb6, 0x28, //0x00000180 leaq $40(%rsi,%rsi,4), %r14 + 0x89, 0xce, //0x00000185 movl %ecx, %esi + 0x49, 0x39, 0xf6, //0x00000187 cmpq %rsi, %r14 + 0x0f, 0x96, 0xc2, //0x0000018a setbe %dl + 0x41, 0x38, 0xd4, //0x0000018d cmpb %dl, %r12b + 0x0f, 0x84, 0x5e, 0x00, 0x00, 0x00, //0x00000190 je LBB0_12 + 0x45, 0x31, 0xed, //0x00000196 xorl %r13d, %r13d + 0x49, 0x39, 0xf6, //0x00000199 cmpq %rsi, %r14 + 0x41, 0x0f, 0x96, 0xc5, //0x0000019c setbe %r13b + 0x41, 0x01, 0xc5, //0x000001a0 addl %eax, %r13d + 0x41, 0xff, 0xc3, //0x000001a3 incl %r11d + 0x41, 0x81, 0xfd, 0xa0, 0x86, 0x01, 0x00, //0x000001a6 cmpl $100000, %r13d + 0x0f, 0x83, 0xb0, 0x00, 0x00, 0x00, //0x000001ad jae LBB0_18 + //0x000001b3 LBB0_8 + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000001b3 movl $1, %eax + 0x41, 0x83, 0xfd, 0x0a, //0x000001b8 cmpl $10, %r13d + 0x0f, 0x82, 0xd4, 0x00, 0x00, 0x00, //0x000001bc jb LBB0_22 + 0xb8, 0x02, 0x00, 0x00, 0x00, //0x000001c2 movl $2, %eax + 0x41, 0x83, 0xfd, 0x64, //0x000001c7 cmpl $100, %r13d + 0x0f, 0x82, 0xc5, 0x00, 0x00, 0x00, //0x000001cb jb LBB0_22 + 0xb8, 0x03, 0x00, 0x00, 0x00, //0x000001d1 movl $3, %eax + 0x41, 0x81, 0xfd, 0xe8, 0x03, 0x00, 0x00, //0x000001d6 cmpl $1000, %r13d + 0x0f, 0x82, 0xb3, 0x00, 0x00, 0x00, //0x000001dd jb LBB0_22 + 0x41, 0x81, 0xfd, 0x10, 0x27, 0x00, 0x00, //0x000001e3 cmpl $10000, %r13d + 0xb8, 0x05, 0x00, 0x00, 0x00, //0x000001ea movl $5, %eax + 0xe9, 0x9f, 0x00, 0x00, 0x00, //0x000001ef jmp LBB0_21 + //0x000001f4 LBB0_12 + 0x4d, 0x89, 0xd6, //0x000001f4 movq %r10, %r14 + 0x49, 0xc1, 0xee, 0x02, //0x000001f7 shrq $2, %r14 + 0x44, 0x89, 0xd6, //0x000001fb movl %r10d, %esi + 0x83, 0xe6, 0xfc, //0x000001fe andl $-4, %esi + 0x39, 0xf3, //0x00000201 cmpl %esi, %ebx + 0x0f, 0x96, 0xc2, //0x00000203 setbe %dl + 0x8d, 0x5e, 0x04, //0x00000206 leal $4(%rsi), %ebx + 0x39, 0xcb, //0x00000209 cmpl %ecx, %ebx + 0x0f, 0x96, 0xc0, //0x0000020b setbe %al + 0x38, 0xc2, //0x0000020e cmpb %al, %dl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x00000210 je LBB0_15 + 0x45, 0x31, 0xed, //0x00000216 xorl %r13d, %r13d + 0x39, 0xcb, //0x00000219 cmpl %ecx, %ebx + 0x41, 0x0f, 0x96, 0xc5, //0x0000021b setbe %r13b + 0xe9, 0x2f, 0x00, 0x00, 0x00, //0x0000021f jmp LBB0_17 + //0x00000224 LBB0_14 + 0x41, 0xc6, 0x00, 0x30, //0x00000224 movb $48, (%r8) + 0x41, 0x29, 0xf8, //0x00000228 subl %edi, %r8d + 0x41, 0xff, 0xc0, //0x0000022b incl %r8d + 0xe9, 0x00, 0x0b, 0x00, 0x00, //0x0000022e jmp LBB0_138 + //0x00000233 LBB0_15 + 0x83, 0xce, 0x02, //0x00000233 orl $2, %esi + 0x41, 0xbd, 0x01, 0x00, 0x00, 0x00, //0x00000236 movl $1, %r13d + 0x41, 0x39, 0xf7, //0x0000023c cmpl %esi, %r15d + 0x0f, 0x87, 0x0e, 0x00, 0x00, 0x00, //0x0000023f ja LBB0_17 + 0x0f, 0x94, 0xc0, //0x00000245 sete %al + 0x41, 0xc0, 0xea, 0x02, //0x00000248 shrb $2, %r10b + 0x41, 0x20, 0xc2, //0x0000024c andb %al, %r10b + 0x45, 0x0f, 0xb6, 0xea, //0x0000024f movzbl %r10b, %r13d + //0x00000253 LBB0_17 + 0x45, 0x01, 0xf5, //0x00000253 addl %r14d, %r13d + 0x41, 0x81, 0xfd, 0xa0, 0x86, 0x01, 0x00, //0x00000256 cmpl $100000, %r13d + 0x0f, 0x82, 0x50, 0xff, 0xff, 0xff, //0x0000025d jb LBB0_8 + //0x00000263 LBB0_18 + 0xb8, 0x06, 0x00, 0x00, 0x00, //0x00000263 movl $6, %eax + 0x41, 0x81, 0xfd, 0x40, 0x42, 0x0f, 0x00, //0x00000268 cmpl $1000000, %r13d + 0x0f, 0x82, 0x21, 0x00, 0x00, 0x00, //0x0000026f jb LBB0_22 + 0xb8, 0x07, 0x00, 0x00, 0x00, //0x00000275 movl $7, %eax + 0x41, 0x81, 0xfd, 0x80, 0x96, 0x98, 0x00, //0x0000027a cmpl $10000000, %r13d + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x00000281 jb LBB0_22 + 0x41, 0x81, 0xfd, 0x00, 0xe1, 0xf5, 0x05, //0x00000287 cmpl $100000000, %r13d + 0xb8, 0x09, 0x00, 0x00, 0x00, //0x0000028e movl $9, %eax + //0x00000293 LBB0_21 + 0x83, 0xd8, 0x00, //0x00000293 sbbl $0, %eax + //0x00000296 LBB0_22 + 0x46, 0x8d, 0x3c, 0x18, //0x00000296 leal (%rax,%r11), %r15d + 0x42, 0x8d, 0x4c, 0x18, 0x05, //0x0000029a leal $5(%rax,%r11), %ecx + 0x83, 0xf9, 0x1b, //0x0000029f cmpl $27, %ecx + 0x0f, 0x82, 0x77, 0x00, 0x00, 0x00, //0x000002a2 jb LBB0_26 + 0x89, 0xc0, //0x000002a8 movl %eax, %eax + 0x49, 0x8d, 0x5c, 0x00, 0x01, //0x000002aa leaq $1(%r8,%rax), %rbx + 0x41, 0x81, 0xfd, 0x10, 0x27, 0x00, 0x00, //0x000002af cmpl $10000, %r13d + 0x0f, 0x82, 0xd9, 0x00, 0x00, 0x00, //0x000002b6 jb LBB0_30 + 0x44, 0x89, 0xe8, //0x000002bc movl %r13d, %eax + 0x41, 0xbb, 0x59, 0x17, 0xb7, 0xd1, //0x000002bf movl $3518437209, %r11d + 0x4c, 0x0f, 0xaf, 0xd8, //0x000002c5 imulq %rax, %r11 + 0x49, 0xc1, 0xeb, 0x2d, //0x000002c9 shrq $45, %r11 + 0x41, 0x69, 0xc3, 0xf0, 0xd8, 0xff, 0xff, //0x000002cd imull $-10000, %r11d, %eax + 0x44, 0x01, 0xe8, //0x000002d4 addl %r13d, %eax + 0x0f, 0x84, 0xb3, 0x04, 0x00, 0x00, //0x000002d7 je LBB0_62 + 0x89, 0xc1, //0x000002dd movl %eax, %ecx + 0x48, 0x69, 0xc9, 0x1f, 0x85, 0xeb, 0x51, //0x000002df imulq $1374389535, %rcx, %rcx + 0x48, 0xc1, 0xe9, 0x25, //0x000002e6 shrq $37, %rcx + 0x6b, 0xd1, 0x64, //0x000002ea imull $100, %ecx, %edx + 0x29, 0xd0, //0x000002ed subl %edx, %eax + 0x48, 0x8d, 0x15, 0x6a, 0x0a, 0x00, 0x00, //0x000002ef leaq $2666(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x42, //0x000002f6 movzwl (%rdx,%rax,2), %eax + 0x66, 0x89, 0x43, 0xfe, //0x000002fa movw %ax, $-2(%rbx) + 0x0f, 0xb7, 0x04, 0x4a, //0x000002fe movzwl (%rdx,%rcx,2), %eax + 0x66, 0x89, 0x43, 0xfc, //0x00000302 movw %ax, $-4(%rbx) + 0x45, 0x31, 0xc9, //0x00000306 xorl %r9d, %r9d + 0x48, 0x8d, 0x4b, 0xfc, //0x00000309 leaq $-4(%rbx), %rcx + 0x41, 0x83, 0xfb, 0x64, //0x0000030d cmpl $100, %r11d + 0x0f, 0x83, 0x91, 0x00, 0x00, 0x00, //0x00000311 jae LBB0_64 + //0x00000317 LBB0_31 + 0x44, 0x89, 0xda, //0x00000317 movl %r11d, %edx + 0xe9, 0xd4, 0x00, 0x00, 0x00, //0x0000031a jmp LBB0_66 + //0x0000031f LBB0_26 + 0x41, 0x89, 0xc4, //0x0000031f movl %eax, %r12d + 0x45, 0x85, 0xdb, //0x00000322 testl %r11d, %r11d + 0x0f, 0x88, 0x1d, 0x02, 0x00, 0x00, //0x00000325 js LBB0_38 + 0x4b, 0x8d, 0x34, 0x20, //0x0000032b leaq (%r8,%r12), %rsi + 0x41, 0x81, 0xfd, 0x10, 0x27, 0x00, 0x00, //0x0000032f cmpl $10000, %r13d + 0x0f, 0x82, 0xa7, 0x02, 0x00, 0x00, //0x00000336 jb LBB0_43 + 0x44, 0x89, 0xe8, //0x0000033c movl %r13d, %eax + 0xb9, 0x59, 0x17, 0xb7, 0xd1, //0x0000033f movl $3518437209, %ecx + 0x48, 0x0f, 0xaf, 0xc8, //0x00000344 imulq %rax, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x00000348 shrq $45, %rcx + 0x69, 0xc1, 0xf0, 0xd8, 0xff, 0xff, //0x0000034c imull $-10000, %ecx, %eax + 0x44, 0x01, 0xe8, //0x00000352 addl %r13d, %eax + 0x48, 0x69, 0xd0, 0x1f, 0x85, 0xeb, 0x51, //0x00000355 imulq $1374389535, %rax, %rdx + 0x48, 0xc1, 0xea, 0x25, //0x0000035c shrq $37, %rdx + 0x6b, 0xda, 0x64, //0x00000360 imull $100, %edx, %ebx + 0x29, 0xd8, //0x00000363 subl %ebx, %eax + 0x48, 0x8d, 0x1d, 0xf4, 0x09, 0x00, 0x00, //0x00000365 leaq $2548(%rip), %rbx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x43, //0x0000036c movzwl (%rbx,%rax,2), %eax + 0x66, 0x89, 0x46, 0xfe, //0x00000370 movw %ax, $-2(%rsi) + 0x48, 0x8d, 0x46, 0xfc, //0x00000374 leaq $-4(%rsi), %rax + 0x0f, 0xb7, 0x14, 0x53, //0x00000378 movzwl (%rbx,%rdx,2), %edx + 0x66, 0x89, 0x56, 0xfc, //0x0000037c movw %dx, $-4(%rsi) + 0x41, 0x89, 0xcd, //0x00000380 movl %ecx, %r13d + 0x41, 0x83, 0xfd, 0x64, //0x00000383 cmpl $100, %r13d + 0x0f, 0x83, 0x63, 0x02, 0x00, 0x00, //0x00000387 jae LBB0_44 + //0x0000038d LBB0_29 + 0x44, 0x89, 0xe9, //0x0000038d movl %r13d, %ecx + 0xe9, 0x9e, 0x02, 0x00, 0x00, //0x00000390 jmp LBB0_46 + //0x00000395 LBB0_30 + 0x45, 0x31, 0xc9, //0x00000395 xorl %r9d, %r9d + 0x48, 0x89, 0xd9, //0x00000398 movq %rbx, %rcx + 0x45, 0x89, 0xeb, //0x0000039b movl %r13d, %r11d + 0x41, 0x83, 0xfb, 0x64, //0x0000039e cmpl $100, %r11d + 0x0f, 0x82, 0x6f, 0xff, 0xff, 0xff, //0x000003a2 jb LBB0_31 + //0x000003a8 LBB0_64 + 0x48, 0xff, 0xc9, //0x000003a8 decq %rcx + 0x4c, 0x8d, 0x15, 0xae, 0x09, 0x00, 0x00, //0x000003ab leaq $2478(%rip), %r10 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003b2 .p2align 4, 0x90 + //0x000003c0 LBB0_65 + 0x44, 0x89, 0xda, //0x000003c0 movl %r11d, %edx + 0x48, 0x69, 0xd2, 0x1f, 0x85, 0xeb, 0x51, //0x000003c3 imulq $1374389535, %rdx, %rdx + 0x48, 0xc1, 0xea, 0x25, //0x000003ca shrq $37, %rdx + 0x6b, 0xc2, 0x64, //0x000003ce imull $100, %edx, %eax + 0x44, 0x89, 0xde, //0x000003d1 movl %r11d, %esi + 0x29, 0xc6, //0x000003d4 subl %eax, %esi + 0x41, 0x0f, 0xb7, 0x04, 0x72, //0x000003d6 movzwl (%r10,%rsi,2), %eax + 0x66, 0x89, 0x41, 0xff, //0x000003db movw %ax, $-1(%rcx) + 0x48, 0x83, 0xc1, 0xfe, //0x000003df addq $-2, %rcx + 0x41, 0x81, 0xfb, 0x0f, 0x27, 0x00, 0x00, //0x000003e3 cmpl $9999, %r11d + 0x41, 0x89, 0xd3, //0x000003ea movl %edx, %r11d + 0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x000003ed ja LBB0_65 + //0x000003f3 LBB0_66 + 0x49, 0x8d, 0x70, 0x01, //0x000003f3 leaq $1(%r8), %rsi + 0x83, 0xfa, 0x0a, //0x000003f7 cmpl $10, %edx + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x000003fa jb LBB0_68 + 0x89, 0xd0, //0x00000400 movl %edx, %eax + 0x48, 0x8d, 0x0d, 0x57, 0x09, 0x00, 0x00, //0x00000402 leaq $2391(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x00000409 movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x0000040c movb $1(%rcx,%rax,2), %al + 0x41, 0x88, 0x50, 0x01, //0x00000410 movb %dl, $1(%r8) + 0x41, 0x88, 0x40, 0x02, //0x00000414 movb %al, $2(%r8) + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00000418 jmp LBB0_69 + //0x0000041d LBB0_68 + 0x80, 0xc2, 0x30, //0x0000041d addb $48, %dl + 0x88, 0x16, //0x00000420 movb %dl, (%rsi) + //0x00000422 LBB0_69 + 0x4c, 0x29, 0xcb, //0x00000422 subq %r9, %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000425 .p2align 4, 0x90 + //0x00000430 LBB0_70 + 0x80, 0x7b, 0xff, 0x30, //0x00000430 cmpb $48, $-1(%rbx) + 0x48, 0x8d, 0x5b, 0xff, //0x00000434 leaq $-1(%rbx), %rbx + 0x0f, 0x84, 0xf2, 0xff, 0xff, 0xff, //0x00000438 je LBB0_70 + 0x41, 0x88, 0x10, //0x0000043e movb %dl, (%r8) + 0x48, 0x8d, 0x43, 0x01, //0x00000441 leaq $1(%rbx), %rax + 0x48, 0x89, 0xc1, //0x00000445 movq %rax, %rcx + 0x48, 0x29, 0xf1, //0x00000448 subq %rsi, %rcx + 0x48, 0x83, 0xf9, 0x02, //0x0000044b cmpq $2, %rcx + 0x0f, 0x8c, 0x06, 0x00, 0x00, 0x00, //0x0000044f jl LBB0_73 + 0xc6, 0x06, 0x2e, //0x00000455 movb $46, (%rsi) + 0x48, 0x89, 0xc3, //0x00000458 movq %rax, %rbx + //0x0000045b LBB0_73 + 0xc6, 0x03, 0x65, //0x0000045b movb $101, (%rbx) + 0x45, 0x85, 0xff, //0x0000045e testl %r15d, %r15d + 0x0f, 0x8e, 0x41, 0x01, 0x00, 0x00, //0x00000461 jle LBB0_76 + 0x41, 0xff, 0xcf, //0x00000467 decl %r15d + 0xc6, 0x43, 0x01, 0x2b, //0x0000046a movb $43, $1(%rbx) + 0x44, 0x89, 0xf8, //0x0000046e movl %r15d, %eax + 0x83, 0xf8, 0x64, //0x00000471 cmpl $100, %eax + 0x0f, 0x8c, 0x43, 0x01, 0x00, 0x00, //0x00000474 jl LBB0_77 + //0x0000047a LBB0_75 + 0x89, 0xc1, //0x0000047a movl %eax, %ecx + 0xba, 0xcd, 0xcc, 0xcc, 0xcc, //0x0000047c movl $3435973837, %edx + 0x48, 0x0f, 0xaf, 0xd1, //0x00000481 imulq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x23, //0x00000485 shrq $35, %rdx + 0x8d, 0x0c, 0x12, //0x00000489 leal (%rdx,%rdx), %ecx + 0x8d, 0x0c, 0x89, //0x0000048c leal (%rcx,%rcx,4), %ecx + 0x29, 0xc8, //0x0000048f subl %ecx, %eax + 0x48, 0x8d, 0x0d, 0xc8, 0x08, 0x00, 0x00, //0x00000491 leaq $2248(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x51, //0x00000498 movzwl (%rcx,%rdx,2), %ecx + 0x66, 0x89, 0x4b, 0x02, //0x0000049c movw %cx, $2(%rbx) + 0x0c, 0x30, //0x000004a0 orb $48, %al + 0x88, 0x43, 0x04, //0x000004a2 movb %al, $4(%rbx) + 0x48, 0x83, 0xc3, 0x05, //0x000004a5 addq $5, %rbx + 0x49, 0x89, 0xd8, //0x000004a9 movq %rbx, %r8 + 0xe9, 0x7f, 0x08, 0x00, 0x00, //0x000004ac jmp LBB0_137 + //0x000004b1 LBB0_32 + 0xd3, 0xee, //0x000004b1 shrl %cl, %esi + 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x000004b3 cmpl $100000, %esi + 0x0f, 0x82, 0x1a, 0x02, 0x00, 0x00, //0x000004b9 jb LBB0_52 + 0xb8, 0x06, 0x00, 0x00, 0x00, //0x000004bf movl $6, %eax + 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x000004c4 cmpl $1000000, %esi + 0x0f, 0x82, 0x20, 0x00, 0x00, 0x00, //0x000004ca jb LBB0_36 + 0xb8, 0x07, 0x00, 0x00, 0x00, //0x000004d0 movl $7, %eax + 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x000004d5 cmpl $10000000, %esi + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x000004db jb LBB0_36 + 0x81, 0xfe, 0x00, 0xe1, 0xf5, 0x05, //0x000004e1 cmpl $100000000, %esi + 0xb8, 0x09, 0x00, 0x00, 0x00, //0x000004e7 movl $9, %eax + 0x48, 0x83, 0xd8, 0x00, //0x000004ec sbbq $0, %rax + //0x000004f0 LBB0_36 + 0x4c, 0x01, 0xc0, //0x000004f0 addq %r8, %rax + //0x000004f3 LBB0_37 + 0x89, 0xf1, //0x000004f3 movl %esi, %ecx + 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000004f5 movl $3518437209, %edx + 0x48, 0x0f, 0xaf, 0xd1, //0x000004fa imulq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x000004fe shrq $45, %rdx + 0x69, 0xca, 0xf0, 0xd8, 0xff, 0xff, //0x00000502 imull $-10000, %edx, %ecx + 0x01, 0xf1, //0x00000508 addl %esi, %ecx + 0x48, 0x69, 0xf1, 0x1f, 0x85, 0xeb, 0x51, //0x0000050a imulq $1374389535, %rcx, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x00000511 shrq $37, %rsi + 0x6b, 0xde, 0x64, //0x00000515 imull $100, %esi, %ebx + 0x29, 0xd9, //0x00000518 subl %ebx, %ecx + 0x48, 0x8d, 0x1d, 0x3f, 0x08, 0x00, 0x00, //0x0000051a leaq $2111(%rip), %rbx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4b, //0x00000521 movzwl (%rbx,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfe, //0x00000525 movw %cx, $-2(%rax) + 0x0f, 0xb7, 0x0c, 0x73, //0x00000529 movzwl (%rbx,%rsi,2), %ecx + 0x66, 0x89, 0x48, 0xfc, //0x0000052d movw %cx, $-4(%rax) + 0x49, 0x89, 0xc1, //0x00000531 movq %rax, %r9 + 0x48, 0x83, 0xc0, 0xfc, //0x00000534 addq $-4, %rax + 0x89, 0xd6, //0x00000538 movl %edx, %esi + 0x83, 0xfe, 0x64, //0x0000053a cmpl $100, %esi + 0x0f, 0x83, 0xd5, 0x01, 0x00, 0x00, //0x0000053d jae LBB0_56 + 0xe9, 0x17, 0x02, 0x00, 0x00, //0x00000543 jmp LBB0_58 + //0x00000548 LBB0_38 + 0x45, 0x85, 0xff, //0x00000548 testl %r15d, %r15d + 0x0f, 0x8f, 0x90, 0x04, 0x00, 0x00, //0x0000054b jg LBB0_98 + 0x66, 0x41, 0xc7, 0x00, 0x30, 0x2e, //0x00000551 movw $11824, (%r8) + 0x49, 0x83, 0xc0, 0x02, //0x00000557 addq $2, %r8 + 0x45, 0x85, 0xff, //0x0000055b testl %r15d, %r15d + 0x0f, 0x89, 0x7d, 0x04, 0x00, 0x00, //0x0000055e jns LBB0_98 + 0x31, 0xf6, //0x00000564 xorl %esi, %esi + 0x41, 0x83, 0xff, 0x80, //0x00000566 cmpl $-128, %r15d + 0x0f, 0x87, 0x5a, 0x04, 0x00, 0x00, //0x0000056a ja LBB0_96 + 0x45, 0x89, 0xfa, //0x00000570 movl %r15d, %r10d + 0x41, 0xf7, 0xd2, //0x00000573 notl %r10d + 0x49, 0xff, 0xc2, //0x00000576 incq %r10 + 0x4c, 0x89, 0xd6, //0x00000579 movq %r10, %rsi + 0x48, 0x83, 0xe6, 0x80, //0x0000057c andq $-128, %rsi + 0x48, 0x8d, 0x46, 0x80, //0x00000580 leaq $-128(%rsi), %rax + 0x48, 0x89, 0xc1, //0x00000584 movq %rax, %rcx + 0x48, 0xc1, 0xe9, 0x07, //0x00000587 shrq $7, %rcx + 0x48, 0xff, 0xc1, //0x0000058b incq %rcx + 0x41, 0x89, 0xcb, //0x0000058e movl %ecx, %r11d + 0x41, 0x83, 0xe3, 0x03, //0x00000591 andl $3, %r11d + 0x48, 0x3d, 0x80, 0x01, 0x00, 0x00, //0x00000595 cmpq $384, %rax + 0x0f, 0x83, 0x38, 0x03, 0x00, 0x00, //0x0000059b jae LBB0_90 + 0x31, 0xdb, //0x000005a1 xorl %ebx, %ebx + 0xe9, 0xda, 0x03, 0x00, 0x00, //0x000005a3 jmp LBB0_92 + //0x000005a8 LBB0_76 + 0xc6, 0x43, 0x01, 0x2d, //0x000005a8 movb $45, $1(%rbx) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000005ac movl $1, %eax + 0x44, 0x29, 0xf8, //0x000005b1 subl %r15d, %eax + 0x83, 0xf8, 0x64, //0x000005b4 cmpl $100, %eax + 0x0f, 0x8d, 0xbd, 0xfe, 0xff, 0xff, //0x000005b7 jge LBB0_75 + //0x000005bd LBB0_77 + 0x83, 0xf8, 0x0a, //0x000005bd cmpl $10, %eax + 0x0f, 0x8c, 0x02, 0x01, 0x00, 0x00, //0x000005c0 jl LBB0_79 + 0x48, 0x98, //0x000005c6 cltq + 0x48, 0x8d, 0x0d, 0x91, 0x07, 0x00, 0x00, //0x000005c8 leaq $1937(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x000005cf movzwl (%rcx,%rax,2), %eax + 0x66, 0x89, 0x43, 0x02, //0x000005d3 movw %ax, $2(%rbx) + 0x48, 0x83, 0xc3, 0x04, //0x000005d7 addq $4, %rbx + 0x49, 0x89, 0xd8, //0x000005db movq %rbx, %r8 + 0xe9, 0x4d, 0x07, 0x00, 0x00, //0x000005de jmp LBB0_137 + //0x000005e3 LBB0_43 + 0x48, 0x89, 0xf0, //0x000005e3 movq %rsi, %rax + 0x41, 0x83, 0xfd, 0x64, //0x000005e6 cmpl $100, %r13d + 0x0f, 0x82, 0x9d, 0xfd, 0xff, 0xff, //0x000005ea jb LBB0_29 + //0x000005f0 LBB0_44 + 0x48, 0xff, 0xc8, //0x000005f0 decq %rax + 0x4c, 0x8d, 0x15, 0x66, 0x07, 0x00, 0x00, //0x000005f3 leaq $1894(%rip), %r10 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000005fa .p2align 4, 0x90 + //0x00000600 LBB0_45 + 0x44, 0x89, 0xe9, //0x00000600 movl %r13d, %ecx + 0x48, 0x69, 0xc9, 0x1f, 0x85, 0xeb, 0x51, //0x00000603 imulq $1374389535, %rcx, %rcx + 0x48, 0xc1, 0xe9, 0x25, //0x0000060a shrq $37, %rcx + 0x6b, 0xd9, 0x64, //0x0000060e imull $100, %ecx, %ebx + 0x44, 0x89, 0xea, //0x00000611 movl %r13d, %edx + 0x29, 0xda, //0x00000614 subl %ebx, %edx + 0x41, 0x0f, 0xb7, 0x14, 0x52, //0x00000616 movzwl (%r10,%rdx,2), %edx + 0x66, 0x89, 0x50, 0xff, //0x0000061b movw %dx, $-1(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x0000061f addq $-2, %rax + 0x41, 0x81, 0xfd, 0x0f, 0x27, 0x00, 0x00, //0x00000623 cmpl $9999, %r13d + 0x41, 0x89, 0xcd, //0x0000062a movl %ecx, %r13d + 0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x0000062d ja LBB0_45 + //0x00000633 LBB0_46 + 0x49, 0x63, 0xc7, //0x00000633 movslq %r15d, %rax + 0x83, 0xf9, 0x0a, //0x00000636 cmpl $10, %ecx + 0x0f, 0x82, 0x22, 0x00, 0x00, 0x00, //0x00000639 jb LBB0_48 + 0x89, 0xc9, //0x0000063f movl %ecx, %ecx + 0x48, 0x8d, 0x15, 0x18, 0x07, 0x00, 0x00, //0x00000641 leaq $1816(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000648 movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x41, 0x89, 0x08, //0x0000064c movw %cx, (%r8) + 0x49, 0x01, 0xc0, //0x00000650 addq %rax, %r8 + 0x49, 0x39, 0xc4, //0x00000653 cmpq %rax, %r12 + 0x0f, 0x8c, 0x17, 0x00, 0x00, 0x00, //0x00000656 jl LBB0_49 + 0xe9, 0xcf, 0x06, 0x00, 0x00, //0x0000065c jmp LBB0_137 + //0x00000661 LBB0_48 + 0x80, 0xc1, 0x30, //0x00000661 addb $48, %cl + 0x41, 0x88, 0x08, //0x00000664 movb %cl, (%r8) + 0x49, 0x01, 0xc0, //0x00000667 addq %rax, %r8 + 0x49, 0x39, 0xc4, //0x0000066a cmpq %rax, %r12 + 0x0f, 0x8d, 0xbd, 0x06, 0x00, 0x00, //0x0000066d jge LBB0_137 + //0x00000673 LBB0_49 + 0x4b, 0x8d, 0x04, 0x21, //0x00000673 leaq (%r9,%r12), %rax + 0x4c, 0x8d, 0x5c, 0x07, 0x01, //0x00000677 leaq $1(%rdi,%rax), %r11 + 0x4d, 0x39, 0xc3, //0x0000067c cmpq %r8, %r11 + 0x4d, 0x0f, 0x46, 0xd8, //0x0000067f cmovbeq %r8, %r11 + 0x4a, 0x8d, 0x0c, 0x0f, //0x00000683 leaq (%rdi,%r9), %rcx + 0x4c, 0x01, 0xe1, //0x00000687 addq %r12, %rcx + 0x49, 0x29, 0xcb, //0x0000068a subq %rcx, %r11 + 0x49, 0x81, 0xfb, 0x80, 0x00, 0x00, 0x00, //0x0000068d cmpq $128, %r11 + 0x0f, 0x82, 0x06, 0x02, 0x00, 0x00, //0x00000694 jb LBB0_87 + 0x4d, 0x89, 0xda, //0x0000069a movq %r11, %r10 + 0x49, 0x83, 0xe2, 0x80, //0x0000069d andq $-128, %r10 + 0x49, 0x8d, 0x4a, 0x80, //0x000006a1 leaq $-128(%r10), %rcx + 0x48, 0x89, 0xcb, //0x000006a5 movq %rcx, %rbx + 0x48, 0xc1, 0xeb, 0x07, //0x000006a8 shrq $7, %rbx + 0x48, 0xff, 0xc3, //0x000006ac incq %rbx + 0x89, 0xda, //0x000006af movl %ebx, %edx + 0x83, 0xe2, 0x03, //0x000006b1 andl $3, %edx + 0x48, 0x81, 0xf9, 0x80, 0x01, 0x00, 0x00, //0x000006b4 cmpq $384, %rcx + 0x0f, 0x83, 0xe8, 0x00, 0x00, 0x00, //0x000006bb jae LBB0_80 + 0x31, 0xc0, //0x000006c1 xorl %eax, %eax + 0xe9, 0x88, 0x01, 0x00, 0x00, //0x000006c3 jmp LBB0_82 + //0x000006c8 LBB0_79 + 0x04, 0x30, //0x000006c8 addb $48, %al + 0x88, 0x43, 0x02, //0x000006ca movb %al, $2(%rbx) + 0x48, 0x83, 0xc3, 0x03, //0x000006cd addq $3, %rbx + 0x49, 0x89, 0xd8, //0x000006d1 movq %rbx, %r8 + 0xe9, 0x57, 0x06, 0x00, 0x00, //0x000006d4 jmp LBB0_137 + //0x000006d9 LBB0_52 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000006d9 movl $1, %r9d + 0x83, 0xfe, 0x0a, //0x000006df cmpl $10, %esi + 0x0f, 0x82, 0x21, 0x00, 0x00, 0x00, //0x000006e2 jb LBB0_55 + 0x41, 0xb9, 0x02, 0x00, 0x00, 0x00, //0x000006e8 movl $2, %r9d + 0x83, 0xfe, 0x64, //0x000006ee cmpl $100, %esi + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x000006f1 jb LBB0_55 + 0x41, 0xb9, 0x03, 0x00, 0x00, 0x00, //0x000006f7 movl $3, %r9d + 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x000006fd cmpl $1000, %esi + 0x0f, 0x83, 0xab, 0x01, 0x00, 0x00, //0x00000703 jae LBB0_88 + //0x00000709 LBB0_55 + 0x4d, 0x01, 0xc1, //0x00000709 addq %r8, %r9 + 0x4c, 0x89, 0xc8, //0x0000070c movq %r9, %rax + 0x83, 0xfe, 0x64, //0x0000070f cmpl $100, %esi + 0x0f, 0x82, 0x47, 0x00, 0x00, 0x00, //0x00000712 jb LBB0_58 + //0x00000718 LBB0_56 + 0x48, 0xff, 0xc8, //0x00000718 decq %rax + 0x4c, 0x8d, 0x15, 0x3e, 0x06, 0x00, 0x00, //0x0000071b leaq $1598(%rip), %r10 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000722 .p2align 4, 0x90 + //0x00000730 LBB0_57 + 0x89, 0xf3, //0x00000730 movl %esi, %ebx + 0x89, 0xf6, //0x00000732 movl %esi, %esi + 0x48, 0x69, 0xf6, 0x1f, 0x85, 0xeb, 0x51, //0x00000734 imulq $1374389535, %rsi, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x0000073b shrq $37, %rsi + 0x6b, 0xce, 0x64, //0x0000073f imull $100, %esi, %ecx + 0x89, 0xda, //0x00000742 movl %ebx, %edx + 0x29, 0xca, //0x00000744 subl %ecx, %edx + 0x41, 0x0f, 0xb7, 0x0c, 0x52, //0x00000746 movzwl (%r10,%rdx,2), %ecx + 0x66, 0x89, 0x48, 0xff, //0x0000074b movw %cx, $-1(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x0000074f addq $-2, %rax + 0x81, 0xfb, 0x0f, 0x27, 0x00, 0x00, //0x00000753 cmpl $9999, %ebx + 0x0f, 0x87, 0xd1, 0xff, 0xff, 0xff, //0x00000759 ja LBB0_57 + //0x0000075f LBB0_58 + 0x83, 0xfe, 0x0a, //0x0000075f cmpl $10, %esi + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000762 jb LBB0_60 + 0x89, 0xf0, //0x00000768 movl %esi, %eax + 0x48, 0x8d, 0x0d, 0xef, 0x05, 0x00, 0x00, //0x0000076a leaq $1519(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x00000771 movzwl (%rcx,%rax,2), %eax + 0x66, 0x41, 0x89, 0x00, //0x00000775 movw %ax, (%r8) + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00000779 jmp LBB0_61 + //0x0000077e LBB0_60 + 0x40, 0x80, 0xc6, 0x30, //0x0000077e addb $48, %sil + 0x41, 0x88, 0x30, //0x00000782 movb %sil, (%r8) + //0x00000785 LBB0_61 + 0x41, 0x29, 0xf9, //0x00000785 subl %edi, %r9d + 0x45, 0x89, 0xc8, //0x00000788 movl %r9d, %r8d + 0xe9, 0xa3, 0x05, 0x00, 0x00, //0x0000078b jmp LBB0_138 + //0x00000790 LBB0_62 + 0x41, 0xb9, 0x04, 0x00, 0x00, 0x00, //0x00000790 movl $4, %r9d + 0x48, 0x8d, 0x4b, 0xfc, //0x00000796 leaq $-4(%rbx), %rcx + 0x41, 0x83, 0xfb, 0x64, //0x0000079a cmpl $100, %r11d + 0x0f, 0x82, 0x73, 0xfb, 0xff, 0xff, //0x0000079e jb LBB0_31 + 0xe9, 0xff, 0xfb, 0xff, 0xff, //0x000007a4 jmp LBB0_64 + //0x000007a9 LBB0_80 + 0x48, 0x29, 0xd3, //0x000007a9 subq %rdx, %rbx + 0x48, 0x8d, 0x8c, 0x07, 0xe0, 0x01, 0x00, 0x00, //0x000007ac leaq $480(%rdi,%rax), %rcx + 0x31, 0xc0, //0x000007b4 xorl %eax, %eax + 0xc5, 0xfe, 0x6f, 0x05, 0x42, 0xf8, 0xff, 0xff, //0x000007b6 vmovdqu $-1982(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0x90, 0x90, //0x000007be .p2align 4, 0x90 + //0x000007c0 LBB0_81 + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x20, 0xfe, 0xff, 0xff, //0x000007c0 vmovdqu %ymm0, $-480(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x40, 0xfe, 0xff, 0xff, //0x000007c9 vmovdqu %ymm0, $-448(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x60, 0xfe, 0xff, 0xff, //0x000007d2 vmovdqu %ymm0, $-416(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x80, 0xfe, 0xff, 0xff, //0x000007db vmovdqu %ymm0, $-384(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xa0, 0xfe, 0xff, 0xff, //0x000007e4 vmovdqu %ymm0, $-352(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xc0, 0xfe, 0xff, 0xff, //0x000007ed vmovdqu %ymm0, $-320(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xe0, 0xfe, 0xff, 0xff, //0x000007f6 vmovdqu %ymm0, $-288(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x00, 0xff, 0xff, 0xff, //0x000007ff vmovdqu %ymm0, $-256(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x20, 0xff, 0xff, 0xff, //0x00000808 vmovdqu %ymm0, $-224(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x40, 0xff, 0xff, 0xff, //0x00000811 vmovdqu %ymm0, $-192(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x60, 0xff, 0xff, 0xff, //0x0000081a vmovdqu %ymm0, $-160(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0x80, //0x00000823 vmovdqu %ymm0, $-128(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0xa0, //0x00000829 vmovdqu %ymm0, $-96(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0xc0, //0x0000082f vmovdqu %ymm0, $-64(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0xe0, //0x00000835 vmovdqu %ymm0, $-32(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x04, 0x01, //0x0000083b vmovdqu %ymm0, (%rcx,%rax) + 0x48, 0x05, 0x00, 0x02, 0x00, 0x00, //0x00000840 addq $512, %rax + 0x48, 0x83, 0xc3, 0xfc, //0x00000846 addq $-4, %rbx + 0x0f, 0x85, 0x70, 0xff, 0xff, 0xff, //0x0000084a jne LBB0_81 + //0x00000850 LBB0_82 + 0x48, 0x85, 0xd2, //0x00000850 testq %rdx, %rdx + 0x0f, 0x84, 0x37, 0x00, 0x00, 0x00, //0x00000853 je LBB0_85 + 0x4c, 0x01, 0xc8, //0x00000859 addq %r9, %rax + 0x4c, 0x01, 0xe0, //0x0000085c addq %r12, %rax + 0x48, 0x8d, 0x44, 0x07, 0x60, //0x0000085f leaq $96(%rdi,%rax), %rax + 0x48, 0xf7, 0xda, //0x00000864 negq %rdx + 0xc5, 0xfe, 0x6f, 0x05, 0x91, 0xf7, 0xff, 0xff, //0x00000867 vmovdqu $-2159(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0x90, //0x0000086f .p2align 4, 0x90 + //0x00000870 LBB0_84 + 0xc5, 0xfe, 0x7f, 0x40, 0xa0, //0x00000870 vmovdqu %ymm0, $-96(%rax) + 0xc5, 0xfe, 0x7f, 0x40, 0xc0, //0x00000875 vmovdqu %ymm0, $-64(%rax) + 0xc5, 0xfe, 0x7f, 0x40, 0xe0, //0x0000087a vmovdqu %ymm0, $-32(%rax) + 0xc5, 0xfe, 0x7f, 0x00, //0x0000087f vmovdqu %ymm0, (%rax) + 0x48, 0x83, 0xe8, 0x80, //0x00000883 subq $-128, %rax + 0x48, 0xff, 0xc2, //0x00000887 incq %rdx + 0x0f, 0x85, 0xe0, 0xff, 0xff, 0xff, //0x0000088a jne LBB0_84 + //0x00000890 LBB0_85 + 0x4d, 0x39, 0xda, //0x00000890 cmpq %r11, %r10 + 0x0f, 0x84, 0x97, 0x04, 0x00, 0x00, //0x00000893 je LBB0_137 + 0x4c, 0x01, 0xd6, //0x00000899 addq %r10, %rsi + 0x90, 0x90, 0x90, 0x90, //0x0000089c .p2align 4, 0x90 + //0x000008a0 LBB0_87 + 0xc6, 0x06, 0x30, //0x000008a0 movb $48, (%rsi) + 0x48, 0xff, 0xc6, //0x000008a3 incq %rsi + 0x4c, 0x39, 0xc6, //0x000008a6 cmpq %r8, %rsi + 0x0f, 0x82, 0xf1, 0xff, 0xff, 0xff, //0x000008a9 jb LBB0_87 + 0xe9, 0x7c, 0x04, 0x00, 0x00, //0x000008af jmp LBB0_137 + //0x000008b4 LBB0_88 + 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x000008b4 cmpl $10000, %esi + 0x4c, 0x89, 0xc0, //0x000008ba movq %r8, %rax + 0x48, 0x83, 0xd8, 0x00, //0x000008bd sbbq $0, %rax + 0x48, 0x83, 0xc0, 0x05, //0x000008c1 addq $5, %rax + 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x000008c5 cmpl $10000, %esi + 0x0f, 0x83, 0x22, 0xfc, 0xff, 0xff, //0x000008cb jae LBB0_37 + 0x49, 0x89, 0xc1, //0x000008d1 movq %rax, %r9 + 0xe9, 0x3f, 0xfe, 0xff, 0xff, //0x000008d4 jmp LBB0_56 + //0x000008d9 LBB0_90 + 0x49, 0x8d, 0x84, 0x39, 0xe2, 0x01, 0x00, 0x00, //0x000008d9 leaq $482(%r9,%rdi), %rax + 0x4d, 0x89, 0xde, //0x000008e1 movq %r11, %r14 + 0x49, 0x29, 0xce, //0x000008e4 subq %rcx, %r14 + 0x31, 0xdb, //0x000008e7 xorl %ebx, %ebx + 0xc5, 0xfe, 0x6f, 0x05, 0x0f, 0xf7, 0xff, 0xff, //0x000008e9 vmovdqu $-2289(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x000008f1 LBB0_91 + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x20, 0xfe, 0xff, 0xff, //0x000008f1 vmovdqu %ymm0, $-480(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x40, 0xfe, 0xff, 0xff, //0x000008fa vmovdqu %ymm0, $-448(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x60, 0xfe, 0xff, 0xff, //0x00000903 vmovdqu %ymm0, $-416(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x80, 0xfe, 0xff, 0xff, //0x0000090c vmovdqu %ymm0, $-384(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0xa0, 0xfe, 0xff, 0xff, //0x00000915 vmovdqu %ymm0, $-352(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0xc0, 0xfe, 0xff, 0xff, //0x0000091e vmovdqu %ymm0, $-320(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0xe0, 0xfe, 0xff, 0xff, //0x00000927 vmovdqu %ymm0, $-288(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x00, 0xff, 0xff, 0xff, //0x00000930 vmovdqu %ymm0, $-256(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x20, 0xff, 0xff, 0xff, //0x00000939 vmovdqu %ymm0, $-224(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x40, 0xff, 0xff, 0xff, //0x00000942 vmovdqu %ymm0, $-192(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x84, 0x18, 0x60, 0xff, 0xff, 0xff, //0x0000094b vmovdqu %ymm0, $-160(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x44, 0x18, 0x80, //0x00000954 vmovdqu %ymm0, $-128(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x44, 0x18, 0xa0, //0x0000095a vmovdqu %ymm0, $-96(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x44, 0x18, 0xc0, //0x00000960 vmovdqu %ymm0, $-64(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x44, 0x18, 0xe0, //0x00000966 vmovdqu %ymm0, $-32(%rax,%rbx) + 0xc5, 0xfe, 0x7f, 0x04, 0x18, //0x0000096c vmovdqu %ymm0, (%rax,%rbx) + 0x48, 0x81, 0xc3, 0x00, 0x02, 0x00, 0x00, //0x00000971 addq $512, %rbx + 0x49, 0x83, 0xc6, 0x04, //0x00000978 addq $4, %r14 + 0x0f, 0x85, 0x6f, 0xff, 0xff, 0xff, //0x0000097c jne LBB0_91 + //0x00000982 LBB0_92 + 0x4d, 0x85, 0xdb, //0x00000982 testq %r11, %r11 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00000985 je LBB0_95 + 0x4c, 0x01, 0xcb, //0x0000098b addq %r9, %rbx + 0x48, 0x8d, 0x44, 0x1f, 0x62, //0x0000098e leaq $98(%rdi,%rbx), %rax + 0x49, 0xf7, 0xdb, //0x00000993 negq %r11 + 0xc5, 0xfe, 0x6f, 0x05, 0x62, 0xf6, 0xff, 0xff, //0x00000996 vmovdqu $-2462(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x0000099e LBB0_94 + 0xc5, 0xfe, 0x7f, 0x40, 0xa0, //0x0000099e vmovdqu %ymm0, $-96(%rax) + 0xc5, 0xfe, 0x7f, 0x40, 0xc0, //0x000009a3 vmovdqu %ymm0, $-64(%rax) + 0xc5, 0xfe, 0x7f, 0x40, 0xe0, //0x000009a8 vmovdqu %ymm0, $-32(%rax) + 0xc5, 0xfe, 0x7f, 0x00, //0x000009ad vmovdqu %ymm0, (%rax) + 0x48, 0x83, 0xe8, 0x80, //0x000009b1 subq $-128, %rax + 0x49, 0xff, 0xc3, //0x000009b5 incq %r11 + 0x0f, 0x85, 0xe0, 0xff, 0xff, 0xff, //0x000009b8 jne LBB0_94 + //0x000009be LBB0_95 + 0x49, 0x01, 0xf0, //0x000009be addq %rsi, %r8 + 0x49, 0x39, 0xf2, //0x000009c1 cmpq %rsi, %r10 + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000009c4 je LBB0_98 + //0x000009ca LBB0_96 + 0x44, 0x89, 0xf8, //0x000009ca movl %r15d, %eax + 0xf7, 0xd8, //0x000009cd negl %eax + 0x90, //0x000009cf .p2align 4, 0x90 + //0x000009d0 LBB0_97 + 0x41, 0xc6, 0x00, 0x30, //0x000009d0 movb $48, (%r8) + 0x49, 0xff, 0xc0, //0x000009d4 incq %r8 + 0xff, 0xc6, //0x000009d7 incl %esi + 0x39, 0xc6, //0x000009d9 cmpl %eax, %esi + 0x0f, 0x8c, 0xef, 0xff, 0xff, 0xff, //0x000009db jl LBB0_97 + //0x000009e1 LBB0_98 + 0x4b, 0x8d, 0x04, 0x20, //0x000009e1 leaq (%r8,%r12), %rax + 0x41, 0x81, 0xfd, 0x10, 0x27, 0x00, 0x00, //0x000009e5 cmpl $10000, %r13d + 0x0f, 0x82, 0x63, 0x00, 0x00, 0x00, //0x000009ec jb LBB0_101 + 0x44, 0x89, 0xe9, //0x000009f2 movl %r13d, %ecx + 0x41, 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000009f5 movl $3518437209, %r10d + 0x4c, 0x0f, 0xaf, 0xd1, //0x000009fb imulq %rcx, %r10 + 0x49, 0xc1, 0xea, 0x2d, //0x000009ff shrq $45, %r10 + 0x41, 0x69, 0xca, 0xf0, 0xd8, 0xff, 0xff, //0x00000a03 imull $-10000, %r10d, %ecx + 0x44, 0x01, 0xe9, //0x00000a0a addl %r13d, %ecx + 0x0f, 0x84, 0x87, 0x01, 0x00, 0x00, //0x00000a0d je LBB0_103 + 0x89, 0xca, //0x00000a13 movl %ecx, %edx + 0x48, 0x69, 0xd2, 0x1f, 0x85, 0xeb, 0x51, //0x00000a15 imulq $1374389535, %rdx, %rdx + 0x48, 0xc1, 0xea, 0x25, //0x00000a1c shrq $37, %rdx + 0x6b, 0xda, 0x64, //0x00000a20 imull $100, %edx, %ebx + 0x29, 0xd9, //0x00000a23 subl %ebx, %ecx + 0x48, 0x8d, 0x1d, 0x34, 0x03, 0x00, 0x00, //0x00000a25 leaq $820(%rip), %rbx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4b, //0x00000a2c movzwl (%rbx,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfe, //0x00000a30 movw %cx, $-2(%rax) + 0x0f, 0xb7, 0x0c, 0x53, //0x00000a34 movzwl (%rbx,%rdx,2), %ecx + 0x66, 0x89, 0x48, 0xfc, //0x00000a38 movw %cx, $-4(%rax) + 0x45, 0x31, 0xc9, //0x00000a3c xorl %r9d, %r9d + 0x48, 0x83, 0xc0, 0xfc, //0x00000a3f addq $-4, %rax + 0x41, 0x83, 0xfa, 0x64, //0x00000a43 cmpl $100, %r10d + 0x0f, 0x83, 0x18, 0x00, 0x00, 0x00, //0x00000a47 jae LBB0_105 + //0x00000a4d LBB0_102 + 0x44, 0x89, 0xd1, //0x00000a4d movl %r10d, %ecx + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x00000a50 jmp LBB0_107 + //0x00000a55 LBB0_101 + 0x45, 0x31, 0xc9, //0x00000a55 xorl %r9d, %r9d + 0x45, 0x89, 0xea, //0x00000a58 movl %r13d, %r10d + 0x41, 0x83, 0xfa, 0x64, //0x00000a5b cmpl $100, %r10d + 0x0f, 0x82, 0xe8, 0xff, 0xff, 0xff, //0x00000a5f jb LBB0_102 + //0x00000a65 LBB0_105 + 0x48, 0xff, 0xc8, //0x00000a65 decq %rax + 0x48, 0x8d, 0x15, 0xf1, 0x02, 0x00, 0x00, //0x00000a68 leaq $753(%rip), %rdx /* _Digits+0(%rip) */ + 0x90, //0x00000a6f .p2align 4, 0x90 + //0x00000a70 LBB0_106 + 0x44, 0x89, 0xd1, //0x00000a70 movl %r10d, %ecx + 0x48, 0x69, 0xc9, 0x1f, 0x85, 0xeb, 0x51, //0x00000a73 imulq $1374389535, %rcx, %rcx + 0x48, 0xc1, 0xe9, 0x25, //0x00000a7a shrq $37, %rcx + 0x6b, 0xd9, 0x64, //0x00000a7e imull $100, %ecx, %ebx + 0x44, 0x89, 0xd6, //0x00000a81 movl %r10d, %esi + 0x29, 0xde, //0x00000a84 subl %ebx, %esi + 0x0f, 0xb7, 0x34, 0x72, //0x00000a86 movzwl (%rdx,%rsi,2), %esi + 0x66, 0x89, 0x70, 0xff, //0x00000a8a movw %si, $-1(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x00000a8e addq $-2, %rax + 0x41, 0x81, 0xfa, 0x0f, 0x27, 0x00, 0x00, //0x00000a92 cmpl $9999, %r10d + 0x41, 0x89, 0xca, //0x00000a99 movl %ecx, %r10d + 0x0f, 0x87, 0xce, 0xff, 0xff, 0xff, //0x00000a9c ja LBB0_106 + //0x00000aa2 LBB0_107 + 0x83, 0xf9, 0x0a, //0x00000aa2 cmpl $10, %ecx + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000aa5 jb LBB0_109 + 0x89, 0xc8, //0x00000aab movl %ecx, %eax + 0x48, 0x8d, 0x0d, 0xac, 0x02, 0x00, 0x00, //0x00000aad leaq $684(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x00000ab4 movzwl (%rcx,%rax,2), %eax + 0x66, 0x41, 0x89, 0x00, //0x00000ab8 movw %ax, (%r8) + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x00000abc jmp LBB0_110 + //0x00000ac1 LBB0_109 + 0x80, 0xc1, 0x30, //0x00000ac1 addb $48, %cl + 0x41, 0x88, 0x08, //0x00000ac4 movb %cl, (%r8) + //0x00000ac7 LBB0_110 + 0x4d, 0x29, 0xcc, //0x00000ac7 subq %r9, %r12 + 0x49, 0x8d, 0x74, 0x24, 0x01, //0x00000aca leaq $1(%r12), %rsi + 0x49, 0x8d, 0x54, 0x24, 0x61, //0x00000acf leaq $97(%r12), %rdx + 0x49, 0x8d, 0x44, 0x24, 0x02, //0x00000ad4 leaq $2(%r12), %rax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000ad9 .p2align 4, 0x90 + //0x00000ae0 LBB0_111 + 0x48, 0xff, 0xca, //0x00000ae0 decq %rdx + 0x48, 0xff, 0xce, //0x00000ae3 decq %rsi + 0x48, 0xff, 0xc8, //0x00000ae6 decq %rax + 0x43, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00000ae9 cmpb $48, $-1(%r8,%r12) + 0x4d, 0x8d, 0x64, 0x24, 0xff, //0x00000aef leaq $-1(%r12), %r12 + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x00000af4 je LBB0_111 + 0x4d, 0x8d, 0x0c, 0x30, //0x00000afa leaq (%r8,%rsi), %r9 + 0x45, 0x85, 0xff, //0x00000afe testl %r15d, %r15d + 0x0f, 0x8e, 0x8b, 0x00, 0x00, 0x00, //0x00000b01 jle LBB0_116 + 0x44, 0x89, 0xc9, //0x00000b07 movl %r9d, %ecx + 0x44, 0x29, 0xc1, //0x00000b0a subl %r8d, %ecx + 0x41, 0x39, 0xcf, //0x00000b0d cmpl %ecx, %r15d + 0x0f, 0x8d, 0x23, 0x00, 0x00, 0x00, //0x00000b10 jge LBB0_117 + 0x43, 0x8d, 0x0c, 0x07, //0x00000b16 leal (%r15,%r8), %ecx + 0x41, 0x29, 0xc9, //0x00000b1a subl %ecx, %r9d + 0x49, 0x8d, 0x49, 0xff, //0x00000b1d leaq $-1(%r9), %rcx + 0x45, 0x89, 0xca, //0x00000b21 movl %r9d, %r10d + 0x41, 0x83, 0xe2, 0x03, //0x00000b24 andl $3, %r10d + 0x48, 0x83, 0xf9, 0x03, //0x00000b28 cmpq $3, %rcx + 0x0f, 0x83, 0x81, 0x00, 0x00, 0x00, //0x00000b2c jae LBB0_121 + 0x31, 0xc9, //0x00000b32 xorl %ecx, %ecx + 0xe9, 0xa3, 0x00, 0x00, 0x00, //0x00000b34 jmp LBB0_124 + //0x00000b39 LBB0_117 + 0x0f, 0x8e, 0x53, 0x00, 0x00, 0x00, //0x00000b39 jle LBB0_116 + 0x45, 0x01, 0xc7, //0x00000b3f addl %r8d, %r15d + 0x45, 0x89, 0xce, //0x00000b42 movl %r9d, %r14d + 0x41, 0xf7, 0xd6, //0x00000b45 notl %r14d + 0x45, 0x01, 0xfe, //0x00000b48 addl %r15d, %r14d + 0x45, 0x31, 0xd2, //0x00000b4b xorl %r10d, %r10d + 0x4d, 0x89, 0xcb, //0x00000b4e movq %r9, %r11 + 0x41, 0x83, 0xfe, 0x7e, //0x00000b51 cmpl $126, %r14d + 0x0f, 0x86, 0xb4, 0x01, 0x00, 0x00, //0x00000b55 jbe LBB0_135 + 0x49, 0xff, 0xc6, //0x00000b5b incq %r14 + 0x4d, 0x89, 0xf2, //0x00000b5e movq %r14, %r10 + 0x49, 0x83, 0xe2, 0x80, //0x00000b61 andq $-128, %r10 + 0x4f, 0x8d, 0x1c, 0x10, //0x00000b65 leaq (%r8,%r10), %r11 + 0x49, 0x8d, 0x5a, 0x80, //0x00000b69 leaq $-128(%r10), %rbx + 0x48, 0x89, 0xd9, //0x00000b6d movq %rbx, %rcx + 0x48, 0xc1, 0xe9, 0x07, //0x00000b70 shrq $7, %rcx + 0x48, 0xff, 0xc1, //0x00000b74 incq %rcx + 0x41, 0x89, 0xcc, //0x00000b77 movl %ecx, %r12d + 0x41, 0x83, 0xe4, 0x03, //0x00000b7a andl $3, %r12d + 0x48, 0x81, 0xfb, 0x80, 0x01, 0x00, 0x00, //0x00000b7e cmpq $384, %rbx + 0x0f, 0x83, 0x8f, 0x00, 0x00, 0x00, //0x00000b85 jae LBB0_129 + 0x31, 0xc9, //0x00000b8b xorl %ecx, %ecx + 0xe9, 0x30, 0x01, 0x00, 0x00, //0x00000b8d jmp LBB0_131 + //0x00000b92 LBB0_116 + 0x4d, 0x89, 0xc8, //0x00000b92 movq %r9, %r8 + 0xe9, 0x96, 0x01, 0x00, 0x00, //0x00000b95 jmp LBB0_137 + //0x00000b9a LBB0_103 + 0x41, 0xb9, 0x04, 0x00, 0x00, 0x00, //0x00000b9a movl $4, %r9d + 0x48, 0x83, 0xc0, 0xfc, //0x00000ba0 addq $-4, %rax + 0x41, 0x83, 0xfa, 0x64, //0x00000ba4 cmpl $100, %r10d + 0x0f, 0x82, 0x9f, 0xfe, 0xff, 0xff, //0x00000ba8 jb LBB0_102 + 0xe9, 0xb2, 0xfe, 0xff, 0xff, //0x00000bae jmp LBB0_105 + //0x00000bb3 LBB0_121 + 0x4d, 0x89, 0xd3, //0x00000bb3 movq %r10, %r11 + 0x4d, 0x29, 0xcb, //0x00000bb6 subq %r9, %r11 + 0x31, 0xc9, //0x00000bb9 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000bbb .p2align 4, 0x90 + //0x00000bc0 LBB0_122 + 0x49, 0x8d, 0x1c, 0x08, //0x00000bc0 leaq (%r8,%rcx), %rbx + 0x8b, 0x54, 0x1e, 0xfc, //0x00000bc4 movl $-4(%rsi,%rbx), %edx + 0x89, 0x54, 0x1e, 0xfd, //0x00000bc8 movl %edx, $-3(%rsi,%rbx) + 0x48, 0x83, 0xc1, 0xfc, //0x00000bcc addq $-4, %rcx + 0x49, 0x39, 0xcb, //0x00000bd0 cmpq %rcx, %r11 + 0x0f, 0x85, 0xe7, 0xff, 0xff, 0xff, //0x00000bd3 jne LBB0_122 + 0x48, 0xf7, 0xd9, //0x00000bd9 negq %rcx + //0x00000bdc LBB0_124 + 0x4d, 0x85, 0xd2, //0x00000bdc testq %r10, %r10 + 0x0f, 0x84, 0x25, 0x00, 0x00, 0x00, //0x00000bdf je LBB0_127 + 0x49, 0xf7, 0xda, //0x00000be5 negq %r10 + 0x4c, 0x89, 0xc2, //0x00000be8 movq %r8, %rdx + 0x48, 0x29, 0xca, //0x00000beb subq %rcx, %rdx + 0x31, 0xc9, //0x00000bee xorl %ecx, %ecx + //0x00000bf0 .p2align 4, 0x90 + //0x00000bf0 LBB0_126 + 0x48, 0x8d, 0x34, 0x0a, //0x00000bf0 leaq (%rdx,%rcx), %rsi + 0x41, 0x0f, 0xb6, 0x1c, 0x34, //0x00000bf4 movzbl (%r12,%rsi), %ebx + 0x41, 0x88, 0x5c, 0x34, 0x01, //0x00000bf9 movb %bl, $1(%r12,%rsi) + 0x48, 0xff, 0xc9, //0x00000bfe decq %rcx + 0x49, 0x39, 0xca, //0x00000c01 cmpq %rcx, %r10 + 0x0f, 0x85, 0xe6, 0xff, 0xff, 0xff, //0x00000c04 jne LBB0_126 + //0x00000c0a LBB0_127 + 0x49, 0x63, 0xcf, //0x00000c0a movslq %r15d, %rcx + 0x41, 0xc6, 0x04, 0x08, 0x2e, //0x00000c0d movb $46, (%r8,%rcx) + 0x49, 0x01, 0xc0, //0x00000c12 addq %rax, %r8 + 0xe9, 0x16, 0x01, 0x00, 0x00, //0x00000c15 jmp LBB0_137 + //0x00000c1a LBB0_129 + 0x4c, 0x89, 0xe3, //0x00000c1a movq %r12, %rbx + 0x48, 0x29, 0xcb, //0x00000c1d subq %rcx, %rbx + 0x31, 0xc9, //0x00000c20 xorl %ecx, %ecx + 0xc5, 0xfe, 0x6f, 0x05, 0xd6, 0xf3, 0xff, 0xff, //0x00000c22 vmovdqu $-3114(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x00000c2a LBB0_130 + 0x49, 0x8d, 0x04, 0x08, //0x00000c2a leaq (%r8,%rcx), %rax + 0xc5, 0xfe, 0x7f, 0x04, 0x06, //0x00000c2e vmovdqu %ymm0, (%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0x20, //0x00000c33 vmovdqu %ymm0, $32(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0x40, //0x00000c39 vmovdqu %ymm0, $64(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0x60, //0x00000c3f vmovdqu %ymm0, $96(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x80, 0x00, 0x00, 0x00, //0x00000c45 vmovdqu %ymm0, $128(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xa0, 0x00, 0x00, 0x00, //0x00000c4e vmovdqu %ymm0, $160(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xc0, 0x00, 0x00, 0x00, //0x00000c57 vmovdqu %ymm0, $192(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xe0, 0x00, 0x00, 0x00, //0x00000c60 vmovdqu %ymm0, $224(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x00, 0x01, 0x00, 0x00, //0x00000c69 vmovdqu %ymm0, $256(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x20, 0x01, 0x00, 0x00, //0x00000c72 vmovdqu %ymm0, $288(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x40, 0x01, 0x00, 0x00, //0x00000c7b vmovdqu %ymm0, $320(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x60, 0x01, 0x00, 0x00, //0x00000c84 vmovdqu %ymm0, $352(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x80, 0x01, 0x00, 0x00, //0x00000c8d vmovdqu %ymm0, $384(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xa0, 0x01, 0x00, 0x00, //0x00000c96 vmovdqu %ymm0, $416(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xc0, 0x01, 0x00, 0x00, //0x00000c9f vmovdqu %ymm0, $448(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xe0, 0x01, 0x00, 0x00, //0x00000ca8 vmovdqu %ymm0, $480(%rsi,%rax) + 0x48, 0x81, 0xc1, 0x00, 0x02, 0x00, 0x00, //0x00000cb1 addq $512, %rcx + 0x48, 0x83, 0xc3, 0x04, //0x00000cb8 addq $4, %rbx + 0x0f, 0x85, 0x68, 0xff, 0xff, 0xff, //0x00000cbc jne LBB0_130 + //0x00000cc2 LBB0_131 + 0x49, 0x01, 0xf3, //0x00000cc2 addq %rsi, %r11 + 0x4d, 0x85, 0xe4, //0x00000cc5 testq %r12, %r12 + 0x0f, 0x84, 0x35, 0x00, 0x00, 0x00, //0x00000cc8 je LBB0_134 + 0x49, 0x01, 0xc8, //0x00000cce addq %rcx, %r8 + 0x49, 0x01, 0xd0, //0x00000cd1 addq %rdx, %r8 + 0x49, 0xf7, 0xdc, //0x00000cd4 negq %r12 + 0xc5, 0xfe, 0x6f, 0x05, 0x21, 0xf3, 0xff, 0xff, //0x00000cd7 vmovdqu $-3295(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x00000cdf LBB0_133 + 0xc4, 0xc1, 0x7e, 0x7f, 0x40, 0xa0, //0x00000cdf vmovdqu %ymm0, $-96(%r8) + 0xc4, 0xc1, 0x7e, 0x7f, 0x40, 0xc0, //0x00000ce5 vmovdqu %ymm0, $-64(%r8) + 0xc4, 0xc1, 0x7e, 0x7f, 0x40, 0xe0, //0x00000ceb vmovdqu %ymm0, $-32(%r8) + 0xc4, 0xc1, 0x7e, 0x7f, 0x00, //0x00000cf1 vmovdqu %ymm0, (%r8) + 0x49, 0x83, 0xe8, 0x80, //0x00000cf6 subq $-128, %r8 + 0x49, 0xff, 0xc4, //0x00000cfa incq %r12 + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x00000cfd jne LBB0_133 + //0x00000d03 LBB0_134 + 0x4d, 0x89, 0xd8, //0x00000d03 movq %r11, %r8 + 0x4d, 0x39, 0xd6, //0x00000d06 cmpq %r10, %r14 + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00000d09 je LBB0_137 + //0x00000d0f LBB0_135 + 0x45, 0x29, 0xd7, //0x00000d0f subl %r10d, %r15d + 0x45, 0x29, 0xcf, //0x00000d12 subl %r9d, %r15d + 0x4d, 0x89, 0xd8, //0x00000d15 movq %r11, %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d18 .p2align 4, 0x90 + //0x00000d20 LBB0_136 + 0x41, 0xc6, 0x00, 0x30, //0x00000d20 movb $48, (%r8) + 0x49, 0xff, 0xc0, //0x00000d24 incq %r8 + 0x41, 0xff, 0xcf, //0x00000d27 decl %r15d + 0x0f, 0x85, 0xf0, 0xff, 0xff, 0xff, //0x00000d2a jne LBB0_136 + //0x00000d30 LBB0_137 + 0x41, 0x29, 0xf8, //0x00000d30 subl %edi, %r8d + //0x00000d33 LBB0_138 + 0x44, 0x89, 0xc0, //0x00000d33 movl %r8d, %eax + 0x5b, //0x00000d36 popq %rbx + 0x41, 0x5c, //0x00000d37 popq %r12 + 0x41, 0x5d, //0x00000d39 popq %r13 + 0x41, 0x5e, //0x00000d3b popq %r14 + 0x41, 0x5f, //0x00000d3d popq %r15 + 0x5d, //0x00000d3f popq %rbp + 0xc5, 0xf8, 0x77, //0x00000d40 vzeroupper + 0xc3, //0x00000d43 retq + //0x00000d44 LBB0_139 + 0x45, 0x31, 0xc0, //0x00000d44 xorl %r8d, %r8d + 0xe9, 0xe7, 0xff, 0xff, 0xff, //0x00000d47 jmp LBB0_138 + //0x00000d4c LBB0_140 + 0x41, 0xbf, 0x6b, 0xff, 0xff, 0xff, //0x00000d4c movl $-149, %r15d + 0x89, 0xc6, //0x00000d52 movl %eax, %esi + 0xe9, 0x46, 0xf3, 0xff, 0xff, //0x00000d54 jmp LBB0_5 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d59 .p2align 4, 0x00 + //0x00000d60 _Digits + 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00000d60 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' + 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00000d70 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' + 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x00000d80 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' + 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x00000d90 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' + 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x00000da0 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' + 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x00000db0 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' + 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x00000dc0 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' + 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x00000dd0 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' + 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x00000de0 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' + 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x00000df0 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' + 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x00000e00 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' + 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x00000e10 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' + 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x00000e20 QUAD $0x3939383937393639 // .ascii 8, '96979899' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e28 .p2align 4, 0x00 + //0x00000e30 _pow10_ceil_sig_f32.g + 0xf5, 0xfc, 0x43, 0x4b, 0x2c, 0xb3, 0xce, 0x81, //0x00000e30 .quad -9093133594791772939 + 0x32, 0xfc, 0x14, 0x5e, 0xf7, 0x5f, 0x42, 0xa2, //0x00000e38 .quad -6754730975062328270 + 0x3f, 0x3b, 0x9a, 0x35, 0xf5, 0xf7, 0xd2, 0xca, //0x00000e40 .quad -3831727700400522433 + 0x0e, 0xca, 0x00, 0x83, 0xf2, 0xb5, 0x87, 0xfd, //0x00000e48 .quad -177973607073265138 + 0x49, 0x7e, 0xe0, 0x91, 0xb7, 0xd1, 0x74, 0x9e, //0x00000e50 .quad -7028762532061872567 + 0xdb, 0x9d, 0x58, 0x76, 0x25, 0x06, 0x12, 0xc6, //0x00000e58 .quad -4174267146649952805 + 0x52, 0xc5, 0xee, 0xd3, 0xae, 0x87, 0x96, 0xf7, //0x00000e60 .quad -606147914885053102 + 0x53, 0x3b, 0x75, 0x44, 0xcd, 0x14, 0xbe, 0x9a, //0x00000e68 .quad -7296371474444240045 + 0x28, 0x8a, 0x92, 0x95, 0x00, 0x9a, 0x6d, 0xc1, //0x00000e70 .quad -4508778324627912152 + 0xb2, 0x2c, 0xf7, 0xba, 0x80, 0x00, 0xc9, 0xf1, //0x00000e78 .quad -1024286887357502286 + 0xef, 0x7b, 0xda, 0x74, 0x50, 0xa0, 0x1d, 0x97, //0x00000e80 .quad -7557708332239520785 + 0xeb, 0x1a, 0x11, 0x92, 0x64, 0x08, 0xe5, 0xbc, //0x00000e88 .quad -4835449396872013077 + 0xa6, 0x61, 0x95, 0xb6, 0x7d, 0x4a, 0x1e, 0xec, //0x00000e90 .quad -1432625727662628442 + 0x08, 0x5d, 0x1d, 0x92, 0x8e, 0xee, 0x92, 0x93, //0x00000e98 .quad -7812920107430224632 + 0x4a, 0xb4, 0xa4, 0x36, 0x32, 0xaa, 0x77, 0xb8, //0x00000ea0 .quad -5154464115860392886 + 0x5c, 0xe1, 0x4d, 0xc4, 0xbe, 0x94, 0x95, 0xe6, //0x00000ea8 .quad -1831394126398103204 + 0xda, 0xac, 0xb0, 0x3a, 0xf7, 0x7c, 0x1d, 0x90, //0x00000eb0 .quad -8062150356639896358 + 0x10, 0xd8, 0x5c, 0x09, 0x35, 0xdc, 0x24, 0xb4, //0x00000eb8 .quad -5466001927372482544 + 0x14, 0x0e, 0xb4, 0x4b, 0x42, 0x13, 0x2e, 0xe1, //0x00000ec0 .quad -2220816390788215276 + 0xcc, 0x88, 0x50, 0x6f, 0x09, 0xcc, 0xbc, 0x8c, //0x00000ec8 .quad -8305539271883716404 + 0xff, 0xaa, 0x24, 0xcb, 0x0b, 0xff, 0xeb, 0xaf, //0x00000ed0 .quad -5770238071427257601 + 0xbf, 0xd5, 0xed, 0xbd, 0xce, 0xfe, 0xe6, 0xdb, //0x00000ed8 .quad -2601111570856684097 + 0x98, 0xa5, 0xb4, 0x36, 0x41, 0x5f, 0x70, 0x89, //0x00000ee0 .quad -8543223759426509416 + 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000ee8 .quad -6067343680855748867 + 0xbd, 0x42, 0x7a, 0xe5, 0xd5, 0x94, 0xbf, 0xd6, //0x00000ef0 .quad -2972493582642298179 + 0xb6, 0x69, 0x6c, 0xaf, 0x05, 0xbd, 0x37, 0x86, //0x00000ef8 .quad -8775337516792518218 + 0x24, 0x84, 0x47, 0x1b, 0x47, 0xac, 0xc5, 0xa7, //0x00000f00 .quad -6357485877563259868 + 0x2c, 0x65, 0x19, 0xe2, 0x58, 0x17, 0xb7, 0xd1, //0x00000f08 .quad -3335171328526686932 + 0x3c, 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83, //0x00000f10 .quad -9002011107970261188 + 0x0b, 0xd7, 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, //0x00000f18 .quad -6640827866535438581 + 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00000f20 .quad -3689348814741910323 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000f28 .quad -9223372036854775808 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, //0x00000f30 .quad -6917529027641081856 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, //0x00000f38 .quad -4035225266123964416 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00000f40 .quad -432345564227567616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9c, //0x00000f48 .quad -7187745005283311616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, //0x00000f50 .quad -4372995238176751616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, //0x00000f58 .quad -854558029293551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x96, 0x98, //0x00000f60 .quad -7451627795949551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbc, 0xbe, //0x00000f68 .quad -4702848726509551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6b, 0xee, //0x00000f70 .quad -1266874889709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x95, //0x00000f78 .quad -7709325833709551616 + 0x00, 0x00, 0x00, 0x00, 0x40, 0xb7, 0x43, 0xba, //0x00000f80 .quad -5024971273709551616 + 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0xd4, 0xe8, //0x00000f88 .quad -1669528073709551616 + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xe7, 0x84, 0x91, //0x00000f90 .quad -7960984073709551616 + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x20, 0xe6, 0xb5, //0x00000f98 .quad -5339544073709551616 + 0x00, 0x00, 0x00, 0xa0, 0x31, 0xa9, 0x5f, 0xe3, //0x00000fa0 .quad -2062744073709551616 + 0x00, 0x00, 0x00, 0x04, 0xbf, 0xc9, 0x1b, 0x8e, //0x00000fa8 .quad -8206744073709551616 + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0xbc, 0xa2, 0xb1, //0x00000fb0 .quad -5646744073709551616 + 0x00, 0x00, 0x40, 0x76, 0x3a, 0x6b, 0x0b, 0xde, //0x00000fb8 .quad -2446744073709551616 + 0x00, 0x00, 0xe8, 0x89, 0x04, 0x23, 0xc7, 0x8a, //0x00000fc0 .quad -8446744073709551616 + 0x00, 0x00, 0x62, 0xac, 0xc5, 0xeb, 0x78, 0xad, //0x00000fc8 .quad -5946744073709551616 + 0x00, 0x80, 0x7a, 0x17, 0xb7, 0x26, 0xd7, 0xd8, //0x00000fd0 .quad -2821744073709551616 + 0x00, 0x90, 0xac, 0x6e, 0x32, 0x78, 0x86, 0x87, //0x00000fd8 .quad -8681119073709551616 + 0x00, 0xb4, 0x57, 0x0a, 0x3f, 0x16, 0x68, 0xa9, //0x00000fe0 .quad -6239712823709551616 + 0x00, 0xa1, 0xed, 0xcc, 0xce, 0x1b, 0xc2, 0xd3, //0x00000fe8 .quad -3187955011209551616 + 0xa0, 0x84, 0x14, 0x40, 0x61, 0x51, 0x59, 0x84, //0x00000ff0 .quad -8910000909647051616 + 0xc8, 0xa5, 0x19, 0x90, 0xb9, 0xa5, 0x6f, 0xa5, //0x00000ff8 .quad -6525815118631426616 + 0x3a, 0x0f, 0x20, 0xf4, 0x27, 0x8f, 0xcb, 0xce, //0x00001000 .quad -3545582879861895366 + 0x85, 0x09, 0x94, 0xf8, 0x78, 0x39, 0x3f, 0x81, //0x00001008 .quad -9133518327554766459 + 0xe6, 0x0b, 0xb9, 0x36, 0xd7, 0x07, 0x8f, 0xa1, //0x00001010 .quad -6805211891016070170 + 0xdf, 0x4e, 0x67, 0x04, 0xcd, 0xc9, 0xf2, 0xc9, //0x00001018 .quad -3894828845342699809 + 0x97, 0x22, 0x81, 0x45, 0x40, 0x7c, 0x6f, 0xfc, //0x00001020 .quad -256850038250986857 + 0x9e, 0xb5, 0x70, 0x2b, 0xa8, 0xad, 0xc5, 0x9d, //0x00001028 .quad -7078060301547948642 + 0x06, 0xe3, 0x4c, 0x36, 0x12, 0x19, 0x37, 0xc5, //0x00001030 .quad -4235889358507547898 + 0xc7, 0x1b, 0xe0, 0xc3, 0x56, 0xdf, 0x84, 0xf6, //0x00001038 .quad -683175679707046969 + 0x5d, 0x11, 0x6c, 0x3a, 0x96, 0x0b, 0x13, 0x9a, //0x00001040 .quad -7344513827457986211 + 0xb4, 0x15, 0x07, 0xc9, 0x7b, 0xce, 0x97, 0xc0, //0x00001048 .quad -4568956265895094860 + 0x21, 0xdb, 0x48, 0xbb, 0x1a, 0xc2, 0xbd, 0xf0, //0x00001050 .quad -1099509313941480671 + 0xf5, 0x88, 0x0d, 0xb5, 0x50, 0x99, 0x76, 0x96, //0x00001058 .quad -7604722348854507275 + 0x32, 0xeb, 0x50, 0xe2, 0xa4, 0x3f, 0x14, 0xbc, //0x00001060 .quad -4894216917640746190 + 0xfe, 0x25, 0xe5, 0x1a, 0x8e, 0x4f, 0x19, 0xeb, //0x00001068 .quad -1506085128623544834 + 0xbf, 0x37, 0xcf, 0xd0, 0xb8, 0xd1, 0xef, 0x92, //0x00001070 .quad -7858832233030797377 + 0xae, 0x05, 0x03, 0x05, 0x27, 0xc6, 0xab, 0xb7, //0x00001078 .quad -5211854272861108818 + 0x1a, 0xc7, 0x43, 0xc6, 0xb0, 0xb7, 0x96, 0xe5, //0x00001080 .quad -1903131822648998118 + 0x70, 0x5c, 0xea, 0x7b, 0xce, 0x32, 0x7e, 0x8f, //0x00001088 .quad -8106986416796705680 + 0x8c, 0xf3, 0xe4, 0x1a, 0x82, 0xbf, 0x5d, 0xb3, //0x00001090 .quad -5522047002568494196 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/f64toa.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/f64toa.go new file mode 100644 index 0000000..ffd22bc --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/f64toa.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_f64toa func(out unsafe.Pointer, val float64) (ret int) + +var S_f64toa uintptr + +//go:nosplit +func f64toa(out *byte, val float64) (ret int) { + return F_f64toa((rt.NoEscape(unsafe.Pointer(out))), val) +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/f64toa_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/f64toa_subr.go new file mode 100644 index 0000000..ee33b5f --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/f64toa_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__f64toa = 32 +) + +const ( + _stack__f64toa = 56 +) + +const ( + _size__f64toa = 4704 +) + +var ( + _pcsp__f64toa = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {4614, 56}, + {4618, 48}, + {4619, 40}, + {4621, 32}, + {4623, 24}, + {4625, 16}, + {4627, 8}, + {4631, 0}, + {4694, 56}, + } +) + +var _cfunc_f64toa = []loader.CFunc{ + {"_f64toa_entry", 0, _entry__f64toa, 0, nil}, + {"_f64toa", _entry__f64toa, _size__f64toa, _stack__f64toa, _pcsp__f64toa}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/f64toa_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/f64toa_text_amd64.go new file mode 100644 index 0000000..0721610 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/f64toa_text_amd64.go @@ -0,0 +1,2402 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_f64toa = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, // QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, //0x00000010 QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + //0x00000020 .p2align 4, 0x90 + //0x00000020 _f64toa + 0x55, //0x00000020 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000021 movq %rsp, %rbp + 0x41, 0x57, //0x00000024 pushq %r15 + 0x41, 0x56, //0x00000026 pushq %r14 + 0x41, 0x55, //0x00000028 pushq %r13 + 0x41, 0x54, //0x0000002a pushq %r12 + 0x53, //0x0000002c pushq %rbx + 0x50, //0x0000002d pushq %rax + 0xc4, 0xe1, 0xf9, 0x7e, 0xc2, //0x0000002e vmovq %xmm0, %rdx + 0x48, 0x89, 0xd0, //0x00000033 movq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x34, //0x00000036 shrq $52, %rax + 0x25, 0xff, 0x07, 0x00, 0x00, //0x0000003a andl $2047, %eax + 0x3d, 0xff, 0x07, 0x00, 0x00, //0x0000003f cmpl $2047, %eax + 0x0f, 0x84, 0xee, 0x11, 0x00, 0x00, //0x00000044 je LBB0_165 + 0xc6, 0x07, 0x2d, //0x0000004a movb $45, (%rdi) + 0x48, 0x89, 0xd6, //0x0000004d movq %rdx, %rsi + 0x48, 0xc1, 0xee, 0x3f, //0x00000050 shrq $63, %rsi + 0x4c, 0x8d, 0x04, 0x37, //0x00000054 leaq (%rdi,%rsi), %r8 + 0x48, 0x8d, 0x0c, 0x55, 0x00, 0x00, 0x00, 0x00, //0x00000058 leaq (,%rdx,2), %rcx + 0x48, 0x85, 0xc9, //0x00000060 testq %rcx, %rcx + 0x0f, 0x84, 0x7e, 0x02, 0x00, 0x00, //0x00000063 je LBB0_6 + 0x49, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000069 movabsq $4503599627370495, %r11 + 0x4c, 0x21, 0xda, //0x00000073 andq %r11, %rdx + 0x85, 0xc0, //0x00000076 testl %eax, %eax + 0x0f, 0x84, 0xc2, 0x11, 0x00, 0x00, //0x00000078 je LBB0_166 + 0x49, 0xff, 0xc3, //0x0000007e incq %r11 + 0x49, 0x09, 0xd3, //0x00000081 orq %rdx, %r11 + 0x44, 0x8d, 0x90, 0xcd, 0xfb, 0xff, 0xff, //0x00000084 leal $-1075(%rax), %r10d + 0x8d, 0x88, 0x01, 0xfc, 0xff, 0xff, //0x0000008b leal $-1023(%rax), %ecx + 0x83, 0xf9, 0x34, //0x00000091 cmpl $52, %ecx + 0x0f, 0x87, 0x1d, 0x00, 0x00, 0x00, //0x00000094 ja LBB0_7 + 0xb9, 0x33, 0x04, 0x00, 0x00, //0x0000009a movl $1075, %ecx + 0x29, 0xc1, //0x0000009f subl %eax, %ecx + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000000a1 movq $-1, %rbx + 0x48, 0xd3, 0xe3, //0x000000a8 shlq %cl, %rbx + 0x48, 0xf7, 0xd3, //0x000000ab notq %rbx + 0x49, 0x85, 0xdb, //0x000000ae testq %rbx, %r11 + 0x0f, 0x84, 0x43, 0x06, 0x00, 0x00, //0x000000b1 je LBB0_42 + //0x000000b7 LBB0_7 + 0x48, 0x89, 0x75, 0xd0, //0x000000b7 movq %rsi, $-48(%rbp) + //0x000000bb LBB0_8 + 0x48, 0x85, 0xd2, //0x000000bb testq %rdx, %rdx + 0x0f, 0x94, 0xc1, //0x000000be sete %cl + 0x83, 0xf8, 0x01, //0x000000c1 cmpl $1, %eax + 0x0f, 0x97, 0xc0, //0x000000c4 seta %al + 0x20, 0xc8, //0x000000c7 andb %cl, %al + 0x0f, 0xb6, 0xc0, //0x000000c9 movzbl %al, %eax + 0x4e, 0x8d, 0x4c, 0x98, 0xfe, //0x000000cc leaq $-2(%rax,%r11,4), %r9 + 0x45, 0x69, 0xfa, 0x13, 0x44, 0x13, 0x00, //0x000000d1 imull $1262611, %r10d, %r15d + 0x31, 0xc9, //0x000000d8 xorl %ecx, %ecx + 0x84, 0xc0, //0x000000da testb %al, %al + 0xb8, 0xff, 0xfe, 0x07, 0x00, //0x000000dc movl $524031, %eax + 0x0f, 0x44, 0xc1, //0x000000e1 cmovel %ecx, %eax + 0x41, 0x29, 0xc7, //0x000000e4 subl %eax, %r15d + 0x41, 0xc1, 0xff, 0x16, //0x000000e7 sarl $22, %r15d + 0x41, 0x69, 0xcf, 0xb1, 0x6c, 0xe5, 0xff, //0x000000eb imull $-1741647, %r15d, %ecx + 0xc1, 0xe9, 0x13, //0x000000f2 shrl $19, %ecx + 0x44, 0x01, 0xd1, //0x000000f5 addl %r10d, %ecx + 0xb8, 0x24, 0x01, 0x00, 0x00, //0x000000f8 movl $292, %eax + 0x44, 0x29, 0xf8, //0x000000fd subl %r15d, %eax + 0x48, 0x98, //0x00000100 cltq + 0x48, 0xc1, 0xe0, 0x04, //0x00000102 shlq $4, %rax + 0x48, 0x8d, 0x15, 0x43, 0x12, 0x00, 0x00, //0x00000106 leaq $4675(%rip), %rdx /* _pow10_ceil_sig.g+0(%rip) */ + 0x4c, 0x8b, 0x24, 0x10, //0x0000010d movq (%rax,%rdx), %r12 + 0x4c, 0x8b, 0x6c, 0x10, 0x08, //0x00000111 movq $8(%rax,%rdx), %r13 + 0xfe, 0xc1, //0x00000116 incb %cl + 0x49, 0xd3, 0xe1, //0x00000118 shlq %cl, %r9 + 0x4c, 0x89, 0xc8, //0x0000011b movq %r9, %rax + 0x49, 0xf7, 0xe5, //0x0000011e mulq %r13 + 0x49, 0x89, 0xd2, //0x00000121 movq %rdx, %r10 + 0x4c, 0x89, 0xc8, //0x00000124 movq %r9, %rax + 0x49, 0xf7, 0xe4, //0x00000127 mulq %r12 + 0x4a, 0x8d, 0x34, 0x9d, 0x00, 0x00, 0x00, 0x00, //0x0000012a leaq (,%r11,4), %rsi + 0x4c, 0x01, 0xd0, //0x00000132 addq %r10, %rax + 0x48, 0x83, 0xd2, 0x00, //0x00000135 adcq $0, %rdx + 0x31, 0xdb, //0x00000139 xorl %ebx, %ebx + 0x48, 0x83, 0xf8, 0x01, //0x0000013b cmpq $1, %rax + 0x0f, 0x97, 0xc3, //0x0000013f seta %bl + 0x48, 0x09, 0xd3, //0x00000142 orq %rdx, %rbx + 0x48, 0xd3, 0xe6, //0x00000145 shlq %cl, %rsi + 0x48, 0x89, 0xf0, //0x00000148 movq %rsi, %rax + 0x49, 0xf7, 0xe5, //0x0000014b mulq %r13 + 0x49, 0x89, 0xd2, //0x0000014e movq %rdx, %r10 + 0x48, 0x89, 0xf0, //0x00000151 movq %rsi, %rax + 0x49, 0xf7, 0xe4, //0x00000154 mulq %r12 + 0x49, 0x89, 0xd1, //0x00000157 movq %rdx, %r9 + 0x4a, 0x8d, 0x34, 0x9d, 0x02, 0x00, 0x00, 0x00, //0x0000015a leaq $2(,%r11,4), %rsi + 0x4c, 0x01, 0xd0, //0x00000162 addq %r10, %rax + 0x49, 0x83, 0xd1, 0x00, //0x00000165 adcq $0, %r9 + 0x45, 0x31, 0xd2, //0x00000169 xorl %r10d, %r10d + 0x48, 0x83, 0xf8, 0x01, //0x0000016c cmpq $1, %rax + 0x41, 0x0f, 0x97, 0xc2, //0x00000170 seta %r10b + 0x4d, 0x09, 0xca, //0x00000174 orq %r9, %r10 + 0x48, 0xd3, 0xe6, //0x00000177 shlq %cl, %rsi + 0x48, 0x89, 0xf0, //0x0000017a movq %rsi, %rax + 0x49, 0xf7, 0xe5, //0x0000017d mulq %r13 + 0x48, 0x89, 0xd1, //0x00000180 movq %rdx, %rcx + 0x48, 0x89, 0xf0, //0x00000183 movq %rsi, %rax + 0x49, 0xf7, 0xe4, //0x00000186 mulq %r12 + 0x48, 0x01, 0xc8, //0x00000189 addq %rcx, %rax + 0x48, 0x83, 0xd2, 0x00, //0x0000018c adcq $0, %rdx + 0x31, 0xf6, //0x00000190 xorl %esi, %esi + 0x48, 0x83, 0xf8, 0x01, //0x00000192 cmpq $1, %rax + 0x40, 0x0f, 0x97, 0xc6, //0x00000196 seta %sil + 0x48, 0x09, 0xd6, //0x0000019a orq %rdx, %rsi + 0x41, 0x83, 0xe3, 0x01, //0x0000019d andl $1, %r11d + 0x4c, 0x01, 0xdb, //0x000001a1 addq %r11, %rbx + 0x4c, 0x29, 0xde, //0x000001a4 subq %r11, %rsi + 0x49, 0x83, 0xfa, 0x28, //0x000001a7 cmpq $40, %r10 + 0x0f, 0x82, 0x01, 0x01, 0x00, 0x00, //0x000001ab jb LBB0_20 + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000001b1 movabsq $-3689348814741910323, %rcx + 0x4c, 0x89, 0xc8, //0x000001bb movq %r9, %rax + 0x48, 0xf7, 0xe1, //0x000001be mulq %rcx + 0x49, 0x89, 0xd6, //0x000001c1 movq %rdx, %r14 + 0x49, 0xc1, 0xee, 0x05, //0x000001c4 shrq $5, %r14 + 0x4a, 0x8d, 0x04, 0xf5, 0x00, 0x00, 0x00, 0x00, //0x000001c8 leaq (,%r14,8), %rax + 0x48, 0x8d, 0x14, 0x80, //0x000001d0 leaq (%rax,%rax,4), %rdx + 0x48, 0x39, 0xd3, //0x000001d4 cmpq %rdx, %rbx + 0x41, 0x0f, 0x96, 0xc3, //0x000001d7 setbe %r11b + 0x48, 0x8d, 0x44, 0x80, 0x28, //0x000001db leaq $40(%rax,%rax,4), %rax + 0x48, 0x39, 0xf0, //0x000001e0 cmpq %rsi, %rax + 0x0f, 0x96, 0xc2, //0x000001e3 setbe %dl + 0x41, 0x38, 0xd3, //0x000001e6 cmpb %dl, %r11b + 0x0f, 0x84, 0xc3, 0x00, 0x00, 0x00, //0x000001e9 je LBB0_20 + 0x31, 0xd2, //0x000001ef xorl %edx, %edx + 0x48, 0x39, 0xf0, //0x000001f1 cmpq %rsi, %rax + 0x0f, 0x96, 0xc2, //0x000001f4 setbe %dl + 0x49, 0x01, 0xd6, //0x000001f7 addq %rdx, %r14 + 0x41, 0xff, 0xc7, //0x000001fa incl %r15d + 0x49, 0xba, 0x80, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, //0x000001fd movabsq $8589934464, %r10 + 0x49, 0x8d, 0x82, 0x7f, 0xe4, 0x0b, 0x54, //0x00000207 leaq $1410065535(%r10), %rax + 0x49, 0x39, 0xc6, //0x0000020e cmpq %rax, %r14 + 0x0f, 0x87, 0x1d, 0x01, 0x00, 0x00, //0x00000211 ja LBB0_25 + //0x00000217 LBB0_11 + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000217 movl $1, %eax + 0x49, 0x83, 0xfe, 0x0a, //0x0000021c cmpq $10, %r14 + 0x0f, 0x82, 0x9e, 0x01, 0x00, 0x00, //0x00000220 jb LBB0_32 + 0xb8, 0x02, 0x00, 0x00, 0x00, //0x00000226 movl $2, %eax + 0x49, 0x83, 0xfe, 0x64, //0x0000022b cmpq $100, %r14 + 0x0f, 0x82, 0x8f, 0x01, 0x00, 0x00, //0x0000022f jb LBB0_32 + 0xb8, 0x03, 0x00, 0x00, 0x00, //0x00000235 movl $3, %eax + 0x49, 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x0000023a cmpq $1000, %r14 + 0x0f, 0x82, 0x7d, 0x01, 0x00, 0x00, //0x00000241 jb LBB0_32 + 0xb8, 0x04, 0x00, 0x00, 0x00, //0x00000247 movl $4, %eax + 0x49, 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x0000024c cmpq $10000, %r14 + 0x0f, 0x82, 0x6b, 0x01, 0x00, 0x00, //0x00000253 jb LBB0_32 + 0xb8, 0x05, 0x00, 0x00, 0x00, //0x00000259 movl $5, %eax + 0x49, 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x0000025e cmpq $100000, %r14 + 0x0f, 0x82, 0x59, 0x01, 0x00, 0x00, //0x00000265 jb LBB0_32 + 0xb8, 0x06, 0x00, 0x00, 0x00, //0x0000026b movl $6, %eax + 0x49, 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x00000270 cmpq $1000000, %r14 + 0x0f, 0x82, 0x47, 0x01, 0x00, 0x00, //0x00000277 jb LBB0_32 + 0xb8, 0x07, 0x00, 0x00, 0x00, //0x0000027d movl $7, %eax + 0x49, 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x00000282 cmpq $10000000, %r14 + 0x0f, 0x82, 0x35, 0x01, 0x00, 0x00, //0x00000289 jb LBB0_32 + 0xb8, 0x08, 0x00, 0x00, 0x00, //0x0000028f movl $8, %eax + 0x49, 0x81, 0xfe, 0x00, 0xe1, 0xf5, 0x05, //0x00000294 cmpq $100000000, %r14 + 0x0f, 0x82, 0x23, 0x01, 0x00, 0x00, //0x0000029b jb LBB0_32 + 0x49, 0x81, 0xfe, 0x00, 0xca, 0x9a, 0x3b, //0x000002a1 cmpq $1000000000, %r14 + 0xb8, 0x0a, 0x00, 0x00, 0x00, //0x000002a8 movl $10, %eax + 0xe9, 0x0f, 0x01, 0x00, 0x00, //0x000002ad jmp LBB0_31 + //0x000002b2 LBB0_20 + 0x4d, 0x89, 0xcb, //0x000002b2 movq %r9, %r11 + 0x49, 0xc1, 0xeb, 0x02, //0x000002b5 shrq $2, %r11 + 0x4c, 0x89, 0xca, //0x000002b9 movq %r9, %rdx + 0x48, 0x83, 0xe2, 0xfc, //0x000002bc andq $-4, %rdx + 0x48, 0x39, 0xd3, //0x000002c0 cmpq %rdx, %rbx + 0x0f, 0x96, 0xc1, //0x000002c3 setbe %cl + 0x48, 0x8d, 0x5a, 0x04, //0x000002c6 leaq $4(%rdx), %rbx + 0x48, 0x39, 0xf3, //0x000002ca cmpq %rsi, %rbx + 0x0f, 0x96, 0xc0, //0x000002cd setbe %al + 0x38, 0xc1, //0x000002d0 cmpb %al, %cl + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x000002d2 je LBB0_22 + 0x45, 0x31, 0xf6, //0x000002d8 xorl %r14d, %r14d + 0x48, 0x39, 0xf3, //0x000002db cmpq %rsi, %rbx + 0x41, 0x0f, 0x96, 0xc6, //0x000002de setbe %r14b + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x000002e2 jmp LBB0_24 + //0x000002e7 LBB0_6 + 0x41, 0xc6, 0x00, 0x30, //0x000002e7 movb $48, (%r8) + 0x41, 0x29, 0xf8, //0x000002eb subl %edi, %r8d + 0x41, 0xff, 0xc0, //0x000002ee incl %r8d + 0xe9, 0x2d, 0x0f, 0x00, 0x00, //0x000002f1 jmp LBB0_164 + //0x000002f6 LBB0_22 + 0x48, 0x83, 0xca, 0x02, //0x000002f6 orq $2, %rdx + 0x41, 0xbe, 0x01, 0x00, 0x00, 0x00, //0x000002fa movl $1, %r14d + 0x49, 0x39, 0xd2, //0x00000300 cmpq %rdx, %r10 + 0x0f, 0x87, 0x0e, 0x00, 0x00, 0x00, //0x00000303 ja LBB0_24 + 0x0f, 0x94, 0xc0, //0x00000309 sete %al + 0x41, 0xc0, 0xe9, 0x02, //0x0000030c shrb $2, %r9b + 0x41, 0x20, 0xc1, //0x00000310 andb %al, %r9b + 0x45, 0x0f, 0xb6, 0xf1, //0x00000313 movzbl %r9b, %r14d + //0x00000317 LBB0_24 + 0x4d, 0x01, 0xde, //0x00000317 addq %r11, %r14 + 0x49, 0xba, 0x80, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, //0x0000031a movabsq $8589934464, %r10 + 0x49, 0x8d, 0x82, 0x7f, 0xe4, 0x0b, 0x54, //0x00000324 leaq $1410065535(%r10), %rax + 0x49, 0x39, 0xc6, //0x0000032b cmpq %rax, %r14 + 0x0f, 0x86, 0xe3, 0xfe, 0xff, 0xff, //0x0000032e jbe LBB0_11 + //0x00000334 LBB0_25 + 0x4c, 0x89, 0xf2, //0x00000334 movq %r14, %rdx + 0x48, 0xc1, 0xea, 0x0b, //0x00000337 shrq $11, %rdx + 0xb8, 0x0b, 0x00, 0x00, 0x00, //0x0000033b movl $11, %eax + 0x48, 0x81, 0xfa, 0xdd, 0x0e, 0xe9, 0x02, //0x00000340 cmpq $48828125, %rdx + 0x0f, 0x82, 0x77, 0x00, 0x00, 0x00, //0x00000347 jb LBB0_32 + 0x4c, 0x89, 0xf2, //0x0000034d movq %r14, %rdx + 0x48, 0xc1, 0xea, 0x0c, //0x00000350 shrq $12, %rdx + 0xb8, 0x0c, 0x00, 0x00, 0x00, //0x00000354 movl $12, %eax + 0x48, 0x81, 0xfa, 0x51, 0x4a, 0x8d, 0x0e, //0x00000359 cmpq $244140625, %rdx + 0x0f, 0x82, 0x5e, 0x00, 0x00, 0x00, //0x00000360 jb LBB0_32 + 0x4c, 0x89, 0xf2, //0x00000366 movq %r14, %rdx + 0x48, 0xc1, 0xea, 0x0d, //0x00000369 shrq $13, %rdx + 0xb8, 0x0d, 0x00, 0x00, 0x00, //0x0000036d movl $13, %eax + 0x48, 0x81, 0xfa, 0x95, 0x73, 0xc2, 0x48, //0x00000372 cmpq $1220703125, %rdx + 0x0f, 0x82, 0x45, 0x00, 0x00, 0x00, //0x00000379 jb LBB0_32 + 0xb8, 0x0e, 0x00, 0x00, 0x00, //0x0000037f movl $14, %eax + 0x48, 0xba, 0x00, 0x40, 0x7a, 0x10, 0xf3, 0x5a, 0x00, 0x00, //0x00000384 movabsq $100000000000000, %rdx + 0x49, 0x39, 0xd6, //0x0000038e cmpq %rdx, %r14 + 0x0f, 0x82, 0x2d, 0x00, 0x00, 0x00, //0x00000391 jb LBB0_32 + 0xb8, 0x0f, 0x00, 0x00, 0x00, //0x00000397 movl $15, %eax + 0x48, 0xba, 0x00, 0x80, 0xc6, 0xa4, 0x7e, 0x8d, 0x03, 0x00, //0x0000039c movabsq $1000000000000000, %rdx + 0x49, 0x39, 0xd6, //0x000003a6 cmpq %rdx, %r14 + 0x0f, 0x82, 0x15, 0x00, 0x00, 0x00, //0x000003a9 jb LBB0_32 + 0x48, 0xb8, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x000003af movabsq $10000000000000000, %rax + 0x49, 0x39, 0xc6, //0x000003b9 cmpq %rax, %r14 + 0xb8, 0x11, 0x00, 0x00, 0x00, //0x000003bc movl $17, %eax + //0x000003c1 LBB0_31 + 0x83, 0xd8, 0x00, //0x000003c1 sbbl $0, %eax + //0x000003c4 LBB0_32 + 0x46, 0x8d, 0x0c, 0x38, //0x000003c4 leal (%rax,%r15), %r9d + 0x42, 0x8d, 0x54, 0x38, 0x05, //0x000003c8 leal $5(%rax,%r15), %edx + 0x41, 0x89, 0xc4, //0x000003cd movl %eax, %r12d + 0x83, 0xfa, 0x1b, //0x000003d0 cmpl $27, %edx + 0x0f, 0x82, 0xdb, 0x00, 0x00, 0x00, //0x000003d3 jb LBB0_36 + 0x4f, 0x8d, 0x7c, 0x20, 0x01, //0x000003d9 leaq $1(%r8,%r12), %r15 + 0x4c, 0x89, 0xf0, //0x000003de movq %r14, %rax + 0x48, 0xc1, 0xe8, 0x20, //0x000003e1 shrq $32, %rax + 0x0f, 0x84, 0xa8, 0x01, 0x00, 0x00, //0x000003e5 je LBB0_40 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x000003eb movabsq $-6067343680855748867, %rdx + 0x4c, 0x89, 0xf0, //0x000003f5 movq %r14, %rax + 0x48, 0xf7, 0xe2, //0x000003f8 mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x000003fb shrq $26, %rdx + 0x69, 0xda, 0x00, 0x1f, 0x0a, 0xfa, //0x000003ff imull $-100000000, %edx, %ebx + 0x44, 0x01, 0xf3, //0x00000405 addl %r14d, %ebx + 0x0f, 0x84, 0xc6, 0x07, 0x00, 0x00, //0x00000408 je LBB0_86 + 0x89, 0xd8, //0x0000040e movl %ebx, %eax + 0x41, 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x00000410 movl $3518437209, %r10d + 0x49, 0x0f, 0xaf, 0xc2, //0x00000416 imulq %r10, %rax + 0x48, 0xc1, 0xe8, 0x2d, //0x0000041a shrq $45, %rax + 0x69, 0xc8, 0x10, 0x27, 0x00, 0x00, //0x0000041e imull $10000, %eax, %ecx + 0x29, 0xcb, //0x00000424 subl %ecx, %ebx + 0x48, 0x89, 0xc1, //0x00000426 movq %rax, %rcx + 0x49, 0x0f, 0xaf, 0xca, //0x00000429 imulq %r10, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x0000042d shrq $45, %rcx + 0x69, 0xc9, 0x10, 0x27, 0x00, 0x00, //0x00000431 imull $10000, %ecx, %ecx + 0x29, 0xc8, //0x00000437 subl %ecx, %eax + 0x0f, 0xb7, 0xcb, //0x00000439 movzwl %bx, %ecx + 0xc1, 0xe9, 0x02, //0x0000043c shrl $2, %ecx + 0x44, 0x69, 0xd1, 0x7b, 0x14, 0x00, 0x00, //0x0000043f imull $5243, %ecx, %r10d + 0x41, 0xc1, 0xea, 0x11, //0x00000446 shrl $17, %r10d + 0x41, 0x6b, 0xca, 0x64, //0x0000044a imull $100, %r10d, %ecx + 0x29, 0xcb, //0x0000044e subl %ecx, %ebx + 0x44, 0x0f, 0xb7, 0xdb, //0x00000450 movzwl %bx, %r11d + 0x0f, 0xb7, 0xd8, //0x00000454 movzwl %ax, %ebx + 0xc1, 0xeb, 0x02, //0x00000457 shrl $2, %ebx + 0x69, 0xdb, 0x7b, 0x14, 0x00, 0x00, //0x0000045a imull $5243, %ebx, %ebx + 0xc1, 0xeb, 0x11, //0x00000460 shrl $17, %ebx + 0x6b, 0xcb, 0x64, //0x00000463 imull $100, %ebx, %ecx + 0x29, 0xc8, //0x00000466 subl %ecx, %eax + 0x44, 0x0f, 0xb7, 0xf0, //0x00000468 movzwl %ax, %r14d + 0x48, 0x8d, 0x0d, 0x0d, 0x0e, 0x00, 0x00, //0x0000046c leaq $3597(%rip), %rcx /* _Digits+0(%rip) */ + 0x42, 0x0f, 0xb7, 0x04, 0x59, //0x00000473 movzwl (%rcx,%r11,2), %eax + 0x66, 0x41, 0x89, 0x47, 0xfe, //0x00000478 movw %ax, $-2(%r15) + 0x42, 0x0f, 0xb7, 0x04, 0x51, //0x0000047d movzwl (%rcx,%r10,2), %eax + 0x66, 0x41, 0x89, 0x47, 0xfc, //0x00000482 movw %ax, $-4(%r15) + 0x42, 0x0f, 0xb7, 0x04, 0x71, //0x00000487 movzwl (%rcx,%r14,2), %eax + 0x66, 0x41, 0x89, 0x47, 0xfa, //0x0000048c movw %ax, $-6(%r15) + 0x0f, 0xb7, 0x04, 0x59, //0x00000491 movzwl (%rcx,%rbx,2), %eax + 0x66, 0x41, 0x89, 0x47, 0xf8, //0x00000495 movw %ax, $-8(%r15) + 0x45, 0x31, 0xd2, //0x0000049a xorl %r10d, %r10d + 0x4d, 0x8d, 0x67, 0xf8, //0x0000049d leaq $-8(%r15), %r12 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x000004a1 cmpl $10000, %edx + 0x0f, 0x83, 0xfb, 0x00, 0x00, 0x00, //0x000004a7 jae LBB0_88 + //0x000004ad LBB0_41 + 0x89, 0xd3, //0x000004ad movl %edx, %ebx + 0xe9, 0x56, 0x01, 0x00, 0x00, //0x000004af jmp LBB0_90 + //0x000004b4 LBB0_36 + 0x45, 0x85, 0xff, //0x000004b4 testl %r15d, %r15d + 0x0f, 0x88, 0x61, 0x04, 0x00, 0x00, //0x000004b7 js LBB0_57 + 0x4b, 0x8d, 0x1c, 0x20, //0x000004bd leaq (%r8,%r12), %rbx + 0x4c, 0x89, 0xf0, //0x000004c1 movq %r14, %rax + 0x48, 0xc1, 0xe8, 0x20, //0x000004c4 shrq $32, %rax + 0x0f, 0x84, 0xed, 0x04, 0x00, 0x00, //0x000004c8 je LBB0_62 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x000004ce movabsq $-6067343680855748867, %rdx + 0x4c, 0x89, 0xf0, //0x000004d8 movq %r14, %rax + 0x48, 0xf7, 0xe2, //0x000004db mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x000004de shrq $26, %rdx + 0x69, 0xf2, 0x00, 0x1f, 0x0a, 0xfa, //0x000004e2 imull $-100000000, %edx, %esi + 0x44, 0x01, 0xf6, //0x000004e8 addl %r14d, %esi + 0x41, 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000004eb movl $3518437209, %r10d + 0x48, 0x89, 0xf0, //0x000004f1 movq %rsi, %rax + 0x49, 0x0f, 0xaf, 0xc2, //0x000004f4 imulq %r10, %rax + 0x48, 0xc1, 0xe8, 0x2d, //0x000004f8 shrq $45, %rax + 0x69, 0xc8, 0x10, 0x27, 0x00, 0x00, //0x000004fc imull $10000, %eax, %ecx + 0x29, 0xce, //0x00000502 subl %ecx, %esi + 0x48, 0x89, 0xc1, //0x00000504 movq %rax, %rcx + 0x49, 0x0f, 0xaf, 0xca, //0x00000507 imulq %r10, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x0000050b shrq $45, %rcx + 0x69, 0xc9, 0x10, 0x27, 0x00, 0x00, //0x0000050f imull $10000, %ecx, %ecx + 0x29, 0xc8, //0x00000515 subl %ecx, %eax + 0x0f, 0xb7, 0xce, //0x00000517 movzwl %si, %ecx + 0xc1, 0xe9, 0x02, //0x0000051a shrl $2, %ecx + 0x44, 0x69, 0xd1, 0x7b, 0x14, 0x00, 0x00, //0x0000051d imull $5243, %ecx, %r10d + 0x41, 0xc1, 0xea, 0x11, //0x00000524 shrl $17, %r10d + 0x41, 0x6b, 0xca, 0x64, //0x00000528 imull $100, %r10d, %ecx + 0x29, 0xce, //0x0000052c subl %ecx, %esi + 0x44, 0x0f, 0xb7, 0xde, //0x0000052e movzwl %si, %r11d + 0x0f, 0xb7, 0xf0, //0x00000532 movzwl %ax, %esi + 0xc1, 0xee, 0x02, //0x00000535 shrl $2, %esi + 0x69, 0xf6, 0x7b, 0x14, 0x00, 0x00, //0x00000538 imull $5243, %esi, %esi + 0xc1, 0xee, 0x11, //0x0000053e shrl $17, %esi + 0x6b, 0xce, 0x64, //0x00000541 imull $100, %esi, %ecx + 0x29, 0xc8, //0x00000544 subl %ecx, %eax + 0x44, 0x0f, 0xb7, 0xf8, //0x00000546 movzwl %ax, %r15d + 0x48, 0x8d, 0x0d, 0x2f, 0x0d, 0x00, 0x00, //0x0000054a leaq $3375(%rip), %rcx /* _Digits+0(%rip) */ + 0x42, 0x0f, 0xb7, 0x04, 0x59, //0x00000551 movzwl (%rcx,%r11,2), %eax + 0x66, 0x89, 0x43, 0xfe, //0x00000556 movw %ax, $-2(%rbx) + 0x42, 0x0f, 0xb7, 0x04, 0x51, //0x0000055a movzwl (%rcx,%r10,2), %eax + 0x66, 0x89, 0x43, 0xfc, //0x0000055f movw %ax, $-4(%rbx) + 0x42, 0x0f, 0xb7, 0x04, 0x79, //0x00000563 movzwl (%rcx,%r15,2), %eax + 0x66, 0x89, 0x43, 0xfa, //0x00000568 movw %ax, $-6(%rbx) + 0x48, 0x8d, 0x43, 0xf8, //0x0000056c leaq $-8(%rbx), %rax + 0x0f, 0xb7, 0x0c, 0x71, //0x00000570 movzwl (%rcx,%rsi,2), %ecx + 0x66, 0x89, 0x4b, 0xf8, //0x00000574 movw %cx, $-8(%rbx) + 0x41, 0x89, 0xd6, //0x00000578 movl %edx, %r14d + 0x49, 0x89, 0xff, //0x0000057b movq %rdi, %r15 + 0x41, 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x0000057e cmpl $10000, %r14d + 0x0f, 0x83, 0x43, 0x04, 0x00, 0x00, //0x00000585 jae LBB0_63 + //0x0000058b LBB0_39 + 0x44, 0x89, 0xf2, //0x0000058b movl %r14d, %edx + 0xe9, 0x97, 0x04, 0x00, 0x00, //0x0000058e jmp LBB0_65 + //0x00000593 LBB0_40 + 0x45, 0x31, 0xd2, //0x00000593 xorl %r10d, %r10d + 0x44, 0x89, 0xf2, //0x00000596 movl %r14d, %edx + 0x4d, 0x89, 0xfc, //0x00000599 movq %r15, %r12 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x0000059c cmpl $10000, %edx + 0x0f, 0x82, 0x05, 0xff, 0xff, 0xff, //0x000005a2 jb LBB0_41 + //0x000005a8 LBB0_88 + 0x41, 0xbb, 0x59, 0x17, 0xb7, 0xd1, //0x000005a8 movl $3518437209, %r11d + 0x4c, 0x8d, 0x35, 0xcb, 0x0c, 0x00, 0x00, //0x000005ae leaq $3275(%rip), %r14 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000005b5 .p2align 4, 0x90 + //0x000005c0 LBB0_89 + 0x89, 0xd3, //0x000005c0 movl %edx, %ebx + 0x49, 0x0f, 0xaf, 0xdb, //0x000005c2 imulq %r11, %rbx + 0x48, 0xc1, 0xeb, 0x2d, //0x000005c6 shrq $45, %rbx + 0x69, 0xc3, 0xf0, 0xd8, 0xff, 0xff, //0x000005ca imull $-10000, %ebx, %eax + 0x01, 0xd0, //0x000005d0 addl %edx, %eax + 0x48, 0x69, 0xf0, 0x1f, 0x85, 0xeb, 0x51, //0x000005d2 imulq $1374389535, %rax, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x000005d9 shrq $37, %rsi + 0x6b, 0xce, 0x64, //0x000005dd imull $100, %esi, %ecx + 0x29, 0xc8, //0x000005e0 subl %ecx, %eax + 0x41, 0x0f, 0xb7, 0x04, 0x46, //0x000005e2 movzwl (%r14,%rax,2), %eax + 0x66, 0x41, 0x89, 0x44, 0x24, 0xfe, //0x000005e7 movw %ax, $-2(%r12) + 0x41, 0x0f, 0xb7, 0x04, 0x76, //0x000005ed movzwl (%r14,%rsi,2), %eax + 0x66, 0x41, 0x89, 0x44, 0x24, 0xfc, //0x000005f2 movw %ax, $-4(%r12) + 0x49, 0x83, 0xc4, 0xfc, //0x000005f8 addq $-4, %r12 + 0x81, 0xfa, 0xff, 0xe0, 0xf5, 0x05, //0x000005fc cmpl $99999999, %edx + 0x89, 0xda, //0x00000602 movl %ebx, %edx + 0x0f, 0x87, 0xb6, 0xff, 0xff, 0xff, //0x00000604 ja LBB0_89 + //0x0000060a LBB0_90 + 0x83, 0xfb, 0x64, //0x0000060a cmpl $100, %ebx + 0x0f, 0x82, 0x2e, 0x00, 0x00, 0x00, //0x0000060d jb LBB0_92 + 0x0f, 0xb7, 0xc3, //0x00000613 movzwl %bx, %eax + 0xc1, 0xe8, 0x02, //0x00000616 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000619 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x0000061f shrl $17, %eax + 0x6b, 0xc8, 0x64, //0x00000622 imull $100, %eax, %ecx + 0x29, 0xcb, //0x00000625 subl %ecx, %ebx + 0x0f, 0xb7, 0xcb, //0x00000627 movzwl %bx, %ecx + 0x48, 0x8d, 0x15, 0x4f, 0x0c, 0x00, 0x00, //0x0000062a leaq $3151(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000631 movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x41, 0x89, 0x4c, 0x24, 0xfe, //0x00000635 movw %cx, $-2(%r12) + 0x49, 0x83, 0xc4, 0xfe, //0x0000063b addq $-2, %r12 + 0x89, 0xc3, //0x0000063f movl %eax, %ebx + //0x00000641 LBB0_92 + 0x49, 0x8d, 0x40, 0x01, //0x00000641 leaq $1(%r8), %rax + 0x83, 0xfb, 0x0a, //0x00000645 cmpl $10, %ebx + 0x0f, 0x82, 0x18, 0x00, 0x00, 0x00, //0x00000648 jb LBB0_94 + 0x89, 0xd9, //0x0000064e movl %ebx, %ecx + 0x48, 0x8d, 0x15, 0x29, 0x0c, 0x00, 0x00, //0x00000650 leaq $3113(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000657 movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x41, 0x89, 0x4c, 0x24, 0xfe, //0x0000065b movw %cx, $-2(%r12) + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00000661 jmp LBB0_95 + //0x00000666 LBB0_94 + 0x80, 0xc3, 0x30, //0x00000666 addb $48, %bl + 0x88, 0x18, //0x00000669 movb %bl, (%rax) + //0x0000066b LBB0_95 + 0x4d, 0x29, 0xd7, //0x0000066b subq %r10, %r15 + 0x90, 0x90, //0x0000066e .p2align 4, 0x90 + //0x00000670 LBB0_96 + 0x41, 0x80, 0x7f, 0xff, 0x30, //0x00000670 cmpb $48, $-1(%r15) + 0x4d, 0x8d, 0x7f, 0xff, //0x00000675 leaq $-1(%r15), %r15 + 0x0f, 0x84, 0xf1, 0xff, 0xff, 0xff, //0x00000679 je LBB0_96 + 0x41, 0x8a, 0x48, 0x01, //0x0000067f movb $1(%r8), %cl + 0x41, 0x88, 0x08, //0x00000683 movb %cl, (%r8) + 0x49, 0x8d, 0x4f, 0x01, //0x00000686 leaq $1(%r15), %rcx + 0x48, 0x89, 0xca, //0x0000068a movq %rcx, %rdx + 0x48, 0x29, 0xc2, //0x0000068d subq %rax, %rdx + 0x48, 0x83, 0xfa, 0x02, //0x00000690 cmpq $2, %rdx + 0x0f, 0x8c, 0x06, 0x00, 0x00, 0x00, //0x00000694 jl LBB0_99 + 0xc6, 0x00, 0x2e, //0x0000069a movb $46, (%rax) + 0x49, 0x89, 0xcf, //0x0000069d movq %rcx, %r15 + //0x000006a0 LBB0_99 + 0x41, 0xc6, 0x07, 0x65, //0x000006a0 movb $101, (%r15) + 0x45, 0x85, 0xc9, //0x000006a4 testl %r9d, %r9d + 0x0f, 0x8e, 0xd1, 0x02, 0x00, 0x00, //0x000006a7 jle LBB0_102 + 0x41, 0xff, 0xc9, //0x000006ad decl %r9d + 0x41, 0xc6, 0x47, 0x01, 0x2b, //0x000006b0 movb $43, $1(%r15) + 0x44, 0x89, 0xc8, //0x000006b5 movl %r9d, %eax + 0x83, 0xf8, 0x64, //0x000006b8 cmpl $100, %eax + 0x0f, 0x8c, 0xd3, 0x02, 0x00, 0x00, //0x000006bb jl LBB0_103 + //0x000006c1 LBB0_101 + 0x89, 0xc1, //0x000006c1 movl %eax, %ecx + 0xba, 0xcd, 0xcc, 0xcc, 0xcc, //0x000006c3 movl $3435973837, %edx + 0x48, 0x0f, 0xaf, 0xd1, //0x000006c8 imulq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x23, //0x000006cc shrq $35, %rdx + 0x8d, 0x0c, 0x12, //0x000006d0 leal (%rdx,%rdx), %ecx + 0x8d, 0x0c, 0x89, //0x000006d3 leal (%rcx,%rcx,4), %ecx + 0x29, 0xc8, //0x000006d6 subl %ecx, %eax + 0x48, 0x8d, 0x0d, 0xa1, 0x0b, 0x00, 0x00, //0x000006d8 leaq $2977(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x51, //0x000006df movzwl (%rcx,%rdx,2), %ecx + 0x66, 0x41, 0x89, 0x4f, 0x02, //0x000006e3 movw %cx, $2(%r15) + 0x0c, 0x30, //0x000006e8 orb $48, %al + 0x41, 0x88, 0x47, 0x04, //0x000006ea movb %al, $4(%r15) + 0x49, 0x83, 0xc7, 0x05, //0x000006ee addq $5, %r15 + 0x4d, 0x89, 0xf8, //0x000006f2 movq %r15, %r8 + 0xe9, 0x26, 0x0b, 0x00, 0x00, //0x000006f5 jmp LBB0_163 + //0x000006fa LBB0_42 + 0x49, 0xd3, 0xeb, //0x000006fa shrq %cl, %r11 + 0x48, 0xb8, 0x80, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, //0x000006fd movabsq $8589934464, %rax + 0x48, 0x05, 0x7f, 0xe4, 0x0b, 0x54, //0x00000707 addq $1410065535, %rax + 0x49, 0x39, 0xc3, //0x0000070d cmpq %rax, %r11 + 0x0f, 0x86, 0xf7, 0x03, 0x00, 0x00, //0x00000710 jbe LBB0_73 + 0x4c, 0x89, 0xd8, //0x00000716 movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x0b, //0x00000719 shrq $11, %rax + 0x41, 0xba, 0x0b, 0x00, 0x00, 0x00, //0x0000071d movl $11, %r10d + 0x48, 0x3d, 0xdd, 0x0e, 0xe9, 0x02, //0x00000723 cmpq $48828125, %rax + 0x0f, 0x82, 0x7b, 0x00, 0x00, 0x00, //0x00000729 jb LBB0_49 + 0x4c, 0x89, 0xd8, //0x0000072f movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x0c, //0x00000732 shrq $12, %rax + 0x41, 0xba, 0x0c, 0x00, 0x00, 0x00, //0x00000736 movl $12, %r10d + 0x48, 0x3d, 0x51, 0x4a, 0x8d, 0x0e, //0x0000073c cmpq $244140625, %rax + 0x0f, 0x82, 0x62, 0x00, 0x00, 0x00, //0x00000742 jb LBB0_49 + 0x4c, 0x89, 0xd8, //0x00000748 movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x0d, //0x0000074b shrq $13, %rax + 0x41, 0xba, 0x0d, 0x00, 0x00, 0x00, //0x0000074f movl $13, %r10d + 0x48, 0x3d, 0x95, 0x73, 0xc2, 0x48, //0x00000755 cmpq $1220703125, %rax + 0x0f, 0x82, 0x49, 0x00, 0x00, 0x00, //0x0000075b jb LBB0_49 + 0x41, 0xba, 0x0e, 0x00, 0x00, 0x00, //0x00000761 movl $14, %r10d + 0x48, 0xb8, 0x00, 0x40, 0x7a, 0x10, 0xf3, 0x5a, 0x00, 0x00, //0x00000767 movabsq $100000000000000, %rax + 0x49, 0x39, 0xc3, //0x00000771 cmpq %rax, %r11 + 0x0f, 0x82, 0x30, 0x00, 0x00, 0x00, //0x00000774 jb LBB0_49 + 0x41, 0xba, 0x0f, 0x00, 0x00, 0x00, //0x0000077a movl $15, %r10d + 0x48, 0xb8, 0x00, 0x80, 0xc6, 0xa4, 0x7e, 0x8d, 0x03, 0x00, //0x00000780 movabsq $1000000000000000, %rax + 0x49, 0x39, 0xc3, //0x0000078a cmpq %rax, %r11 + 0x0f, 0x82, 0x17, 0x00, 0x00, 0x00, //0x0000078d jb LBB0_49 + 0x48, 0xb8, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x00000793 movabsq $10000000000000000, %rax + 0x49, 0x39, 0xc3, //0x0000079d cmpq %rax, %r11 + 0x41, 0xba, 0x11, 0x00, 0x00, 0x00, //0x000007a0 movl $17, %r10d + 0x49, 0x83, 0xda, 0x00, //0x000007a6 sbbq $0, %r10 + //0x000007aa LBB0_49 + 0x4d, 0x01, 0xc2, //0x000007aa addq %r8, %r10 + //0x000007ad LBB0_50 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x000007ad movabsq $-6067343680855748867, %rdx + 0x4c, 0x89, 0xd8, //0x000007b7 movq %r11, %rax + 0x48, 0xf7, 0xe2, //0x000007ba mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x000007bd shrq $26, %rdx + 0x69, 0xca, 0x00, 0x1f, 0x0a, 0xfa, //0x000007c1 imull $-100000000, %edx, %ecx + 0x44, 0x01, 0xd9, //0x000007c7 addl %r11d, %ecx + 0x41, 0xb9, 0x59, 0x17, 0xb7, 0xd1, //0x000007ca movl $3518437209, %r9d + 0x48, 0x89, 0xce, //0x000007d0 movq %rcx, %rsi + 0x49, 0x0f, 0xaf, 0xf1, //0x000007d3 imulq %r9, %rsi + 0x48, 0xc1, 0xee, 0x2d, //0x000007d7 shrq $45, %rsi + 0x69, 0xde, 0x10, 0x27, 0x00, 0x00, //0x000007db imull $10000, %esi, %ebx + 0x29, 0xd9, //0x000007e1 subl %ebx, %ecx + 0x48, 0x89, 0xf0, //0x000007e3 movq %rsi, %rax + 0x49, 0x0f, 0xaf, 0xc1, //0x000007e6 imulq %r9, %rax + 0x48, 0xc1, 0xe8, 0x2d, //0x000007ea shrq $45, %rax + 0x69, 0xc0, 0x10, 0x27, 0x00, 0x00, //0x000007ee imull $10000, %eax, %eax + 0x29, 0xc6, //0x000007f4 subl %eax, %esi + 0x0f, 0xb7, 0xc1, //0x000007f6 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x000007f9 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000007fc imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000802 shrl $17, %eax + 0x6b, 0xd8, 0x64, //0x00000805 imull $100, %eax, %ebx + 0x29, 0xd9, //0x00000808 subl %ebx, %ecx + 0x44, 0x0f, 0xb7, 0xc9, //0x0000080a movzwl %cx, %r9d + 0x0f, 0xb7, 0xde, //0x0000080e movzwl %si, %ebx + 0xc1, 0xeb, 0x02, //0x00000811 shrl $2, %ebx + 0x69, 0xdb, 0x7b, 0x14, 0x00, 0x00, //0x00000814 imull $5243, %ebx, %ebx + 0xc1, 0xeb, 0x11, //0x0000081a shrl $17, %ebx + 0x6b, 0xcb, 0x64, //0x0000081d imull $100, %ebx, %ecx + 0x29, 0xce, //0x00000820 subl %ecx, %esi + 0x44, 0x0f, 0xb7, 0xde, //0x00000822 movzwl %si, %r11d + 0x48, 0x8d, 0x35, 0x53, 0x0a, 0x00, 0x00, //0x00000826 leaq $2643(%rip), %rsi /* _Digits+0(%rip) */ + 0x42, 0x0f, 0xb7, 0x0c, 0x4e, //0x0000082d movzwl (%rsi,%r9,2), %ecx + 0x66, 0x41, 0x89, 0x4a, 0xfe, //0x00000832 movw %cx, $-2(%r10) + 0x0f, 0xb7, 0x04, 0x46, //0x00000837 movzwl (%rsi,%rax,2), %eax + 0x66, 0x41, 0x89, 0x42, 0xfc, //0x0000083b movw %ax, $-4(%r10) + 0x42, 0x0f, 0xb7, 0x04, 0x5e, //0x00000840 movzwl (%rsi,%r11,2), %eax + 0x66, 0x41, 0x89, 0x42, 0xfa, //0x00000845 movw %ax, $-6(%r10) + 0x0f, 0xb7, 0x04, 0x5e, //0x0000084a movzwl (%rsi,%rbx,2), %eax + 0x66, 0x41, 0x89, 0x42, 0xf8, //0x0000084e movw %ax, $-8(%r10) + 0x49, 0x8d, 0x42, 0xf8, //0x00000853 leaq $-8(%r10), %rax + 0x49, 0x89, 0xd3, //0x00000857 movq %rdx, %r11 + 0x41, 0x81, 0xfb, 0x10, 0x27, 0x00, 0x00, //0x0000085a cmpl $10000, %r11d + 0x0f, 0x82, 0x4b, 0x03, 0x00, 0x00, //0x00000861 jb LBB0_83 + //0x00000867 LBB0_51 + 0x41, 0xb9, 0x59, 0x17, 0xb7, 0xd1, //0x00000867 movl $3518437209, %r9d + 0x4c, 0x8d, 0x35, 0x0c, 0x0a, 0x00, 0x00, //0x0000086d leaq $2572(%rip), %r14 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000874 .p2align 4, 0x90 + //0x00000880 LBB0_52 + 0x44, 0x89, 0xda, //0x00000880 movl %r11d, %edx + 0x49, 0x0f, 0xaf, 0xd1, //0x00000883 imulq %r9, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x00000887 shrq $45, %rdx + 0x69, 0xca, 0xf0, 0xd8, 0xff, 0xff, //0x0000088b imull $-10000, %edx, %ecx + 0x44, 0x01, 0xd9, //0x00000891 addl %r11d, %ecx + 0x48, 0x69, 0xf1, 0x1f, 0x85, 0xeb, 0x51, //0x00000894 imulq $1374389535, %rcx, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x0000089b shrq $37, %rsi + 0x6b, 0xde, 0x64, //0x0000089f imull $100, %esi, %ebx + 0x29, 0xd9, //0x000008a2 subl %ebx, %ecx + 0x41, 0x0f, 0xb7, 0x0c, 0x4e, //0x000008a4 movzwl (%r14,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfe, //0x000008a9 movw %cx, $-2(%rax) + 0x41, 0x0f, 0xb7, 0x0c, 0x76, //0x000008ad movzwl (%r14,%rsi,2), %ecx + 0x66, 0x89, 0x48, 0xfc, //0x000008b2 movw %cx, $-4(%rax) + 0x48, 0x83, 0xc0, 0xfc, //0x000008b6 addq $-4, %rax + 0x41, 0x81, 0xfb, 0xff, 0xe0, 0xf5, 0x05, //0x000008ba cmpl $99999999, %r11d + 0x41, 0x89, 0xd3, //0x000008c1 movl %edx, %r11d + 0x0f, 0x87, 0xb6, 0xff, 0xff, 0xff, //0x000008c4 ja LBB0_52 + 0x83, 0xfa, 0x64, //0x000008ca cmpl $100, %edx + 0x0f, 0x82, 0x2c, 0x00, 0x00, 0x00, //0x000008cd jb LBB0_55 + //0x000008d3 LBB0_54 + 0x0f, 0xb7, 0xca, //0x000008d3 movzwl %dx, %ecx + 0xc1, 0xe9, 0x02, //0x000008d6 shrl $2, %ecx + 0x69, 0xc9, 0x7b, 0x14, 0x00, 0x00, //0x000008d9 imull $5243, %ecx, %ecx + 0xc1, 0xe9, 0x11, //0x000008df shrl $17, %ecx + 0x6b, 0xf1, 0x64, //0x000008e2 imull $100, %ecx, %esi + 0x29, 0xf2, //0x000008e5 subl %esi, %edx + 0x0f, 0xb7, 0xd2, //0x000008e7 movzwl %dx, %edx + 0x48, 0x8d, 0x35, 0x8f, 0x09, 0x00, 0x00, //0x000008ea leaq $2447(%rip), %rsi /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x14, 0x56, //0x000008f1 movzwl (%rsi,%rdx,2), %edx + 0x66, 0x89, 0x50, 0xfe, //0x000008f5 movw %dx, $-2(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x000008f9 addq $-2, %rax + 0x89, 0xca, //0x000008fd movl %ecx, %edx + //0x000008ff LBB0_55 + 0x83, 0xfa, 0x0a, //0x000008ff cmpl $10, %edx + 0x0f, 0x82, 0xbb, 0x02, 0x00, 0x00, //0x00000902 jb LBB0_84 + 0x89, 0xd1, //0x00000908 movl %edx, %ecx + 0x48, 0x8d, 0x15, 0x6f, 0x09, 0x00, 0x00, //0x0000090a leaq $2415(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000911 movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfe, //0x00000915 movw %cx, $-2(%rax) + 0xe9, 0xab, 0x02, 0x00, 0x00, //0x00000919 jmp LBB0_85 + //0x0000091e LBB0_57 + 0x45, 0x85, 0xc9, //0x0000091e testl %r9d, %r9d + 0x0f, 0x8f, 0xea, 0x04, 0x00, 0x00, //0x00000921 jg LBB0_122 + 0x66, 0x41, 0xc7, 0x00, 0x30, 0x2e, //0x00000927 movw $11824, (%r8) + 0x49, 0x83, 0xc0, 0x02, //0x0000092d addq $2, %r8 + 0x45, 0x85, 0xc9, //0x00000931 testl %r9d, %r9d + 0x0f, 0x89, 0xd7, 0x04, 0x00, 0x00, //0x00000934 jns LBB0_122 + 0x31, 0xc0, //0x0000093a xorl %eax, %eax + 0x41, 0x83, 0xf9, 0x80, //0x0000093c cmpl $-128, %r9d + 0x0f, 0x87, 0xb4, 0x04, 0x00, 0x00, //0x00000940 ja LBB0_120 + 0x45, 0x89, 0xcb, //0x00000946 movl %r9d, %r11d + 0x41, 0xf7, 0xd3, //0x00000949 notl %r11d + 0x49, 0xff, 0xc3, //0x0000094c incq %r11 + 0x4c, 0x89, 0xd8, //0x0000094f movq %r11, %rax + 0x4c, 0x21, 0xd0, //0x00000952 andq %r10, %rax + 0x48, 0x8d, 0x70, 0x80, //0x00000955 leaq $-128(%rax), %rsi + 0x48, 0x89, 0xf2, //0x00000959 movq %rsi, %rdx + 0x48, 0xc1, 0xea, 0x07, //0x0000095c shrq $7, %rdx + 0x48, 0xff, 0xc2, //0x00000960 incq %rdx + 0x41, 0x89, 0xd7, //0x00000963 movl %edx, %r15d + 0x41, 0x83, 0xe7, 0x03, //0x00000966 andl $3, %r15d + 0x48, 0x81, 0xfe, 0x80, 0x01, 0x00, 0x00, //0x0000096a cmpq $384, %rsi + 0x0f, 0x83, 0x8d, 0x03, 0x00, 0x00, //0x00000971 jae LBB0_114 + 0x31, 0xd2, //0x00000977 xorl %edx, %edx + 0xe9, 0x33, 0x04, 0x00, 0x00, //0x00000979 jmp LBB0_116 + //0x0000097e LBB0_102 + 0x41, 0xc6, 0x47, 0x01, 0x2d, //0x0000097e movb $45, $1(%r15) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000983 movl $1, %eax + 0x44, 0x29, 0xc8, //0x00000988 subl %r9d, %eax + 0x83, 0xf8, 0x64, //0x0000098b cmpl $100, %eax + 0x0f, 0x8d, 0x2d, 0xfd, 0xff, 0xff, //0x0000098e jge LBB0_101 + //0x00000994 LBB0_103 + 0x83, 0xf8, 0x0a, //0x00000994 cmpl $10, %eax + 0x0f, 0x8c, 0x5e, 0x01, 0x00, 0x00, //0x00000997 jl LBB0_105 + 0x48, 0x98, //0x0000099d cltq + 0x48, 0x8d, 0x0d, 0xda, 0x08, 0x00, 0x00, //0x0000099f leaq $2266(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x000009a6 movzwl (%rcx,%rax,2), %eax + 0x66, 0x41, 0x89, 0x47, 0x02, //0x000009aa movw %ax, $2(%r15) + 0x49, 0x83, 0xc7, 0x04, //0x000009af addq $4, %r15 + 0x4d, 0x89, 0xf8, //0x000009b3 movq %r15, %r8 + 0xe9, 0x65, 0x08, 0x00, 0x00, //0x000009b6 jmp LBB0_163 + //0x000009bb LBB0_62 + 0x48, 0x89, 0xd8, //0x000009bb movq %rbx, %rax + 0x49, 0x89, 0xff, //0x000009be movq %rdi, %r15 + 0x41, 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x000009c1 cmpl $10000, %r14d + 0x0f, 0x82, 0xbd, 0xfb, 0xff, 0xff, //0x000009c8 jb LBB0_39 + //0x000009ce LBB0_63 + 0x41, 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000009ce movl $3518437209, %r10d + 0x4c, 0x8d, 0x1d, 0xa5, 0x08, 0x00, 0x00, //0x000009d4 leaq $2213(%rip), %r11 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000009db .p2align 4, 0x90 + //0x000009e0 LBB0_64 + 0x44, 0x89, 0xf2, //0x000009e0 movl %r14d, %edx + 0x49, 0x0f, 0xaf, 0xd2, //0x000009e3 imulq %r10, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x000009e7 shrq $45, %rdx + 0x69, 0xf2, 0xf0, 0xd8, 0xff, 0xff, //0x000009eb imull $-10000, %edx, %esi + 0x44, 0x01, 0xf6, //0x000009f1 addl %r14d, %esi + 0x48, 0x69, 0xce, 0x1f, 0x85, 0xeb, 0x51, //0x000009f4 imulq $1374389535, %rsi, %rcx + 0x48, 0xc1, 0xe9, 0x25, //0x000009fb shrq $37, %rcx + 0x6b, 0xf9, 0x64, //0x000009ff imull $100, %ecx, %edi + 0x29, 0xfe, //0x00000a02 subl %edi, %esi + 0x41, 0x0f, 0xb7, 0x34, 0x73, //0x00000a04 movzwl (%r11,%rsi,2), %esi + 0x66, 0x89, 0x70, 0xfe, //0x00000a09 movw %si, $-2(%rax) + 0x41, 0x0f, 0xb7, 0x0c, 0x4b, //0x00000a0d movzwl (%r11,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfc, //0x00000a12 movw %cx, $-4(%rax) + 0x48, 0x83, 0xc0, 0xfc, //0x00000a16 addq $-4, %rax + 0x41, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x00000a1a cmpl $99999999, %r14d + 0x41, 0x89, 0xd6, //0x00000a21 movl %edx, %r14d + 0x0f, 0x87, 0xb6, 0xff, 0xff, 0xff, //0x00000a24 ja LBB0_64 + //0x00000a2a LBB0_65 + 0x83, 0xfa, 0x64, //0x00000a2a cmpl $100, %edx + 0x0f, 0x82, 0x2c, 0x00, 0x00, 0x00, //0x00000a2d jb LBB0_67 + 0x0f, 0xb7, 0xca, //0x00000a33 movzwl %dx, %ecx + 0xc1, 0xe9, 0x02, //0x00000a36 shrl $2, %ecx + 0x69, 0xc9, 0x7b, 0x14, 0x00, 0x00, //0x00000a39 imull $5243, %ecx, %ecx + 0xc1, 0xe9, 0x11, //0x00000a3f shrl $17, %ecx + 0x6b, 0xf1, 0x64, //0x00000a42 imull $100, %ecx, %esi + 0x29, 0xf2, //0x00000a45 subl %esi, %edx + 0x0f, 0xb7, 0xd2, //0x00000a47 movzwl %dx, %edx + 0x48, 0x8d, 0x35, 0x2f, 0x08, 0x00, 0x00, //0x00000a4a leaq $2095(%rip), %rsi /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x14, 0x56, //0x00000a51 movzwl (%rsi,%rdx,2), %edx + 0x66, 0x89, 0x50, 0xfe, //0x00000a55 movw %dx, $-2(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x00000a59 addq $-2, %rax + 0x89, 0xca, //0x00000a5d movl %ecx, %edx + //0x00000a5f LBB0_67 + 0x4c, 0x89, 0xff, //0x00000a5f movq %r15, %rdi + 0x4c, 0x8b, 0x5d, 0xd0, //0x00000a62 movq $-48(%rbp), %r11 + 0x49, 0x63, 0xc9, //0x00000a66 movslq %r9d, %rcx + 0x83, 0xfa, 0x0a, //0x00000a69 cmpl $10, %edx + 0x0f, 0x82, 0x22, 0x00, 0x00, 0x00, //0x00000a6c jb LBB0_69 + 0x89, 0xd2, //0x00000a72 movl %edx, %edx + 0x48, 0x8d, 0x35, 0x05, 0x08, 0x00, 0x00, //0x00000a74 leaq $2053(%rip), %rsi /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x14, 0x56, //0x00000a7b movzwl (%rsi,%rdx,2), %edx + 0x66, 0x89, 0x50, 0xfe, //0x00000a7f movw %dx, $-2(%rax) + 0x49, 0x01, 0xc8, //0x00000a83 addq %rcx, %r8 + 0x49, 0x39, 0xcc, //0x00000a86 cmpq %rcx, %r12 + 0x0f, 0x8c, 0x17, 0x00, 0x00, 0x00, //0x00000a89 jl LBB0_70 + 0xe9, 0x8c, 0x07, 0x00, 0x00, //0x00000a8f jmp LBB0_163 + //0x00000a94 LBB0_69 + 0x80, 0xc2, 0x30, //0x00000a94 addb $48, %dl + 0x41, 0x88, 0x10, //0x00000a97 movb %dl, (%r8) + 0x49, 0x01, 0xc8, //0x00000a9a addq %rcx, %r8 + 0x49, 0x39, 0xcc, //0x00000a9d cmpq %rcx, %r12 + 0x0f, 0x8d, 0x7a, 0x07, 0x00, 0x00, //0x00000aa0 jge LBB0_163 + //0x00000aa6 LBB0_70 + 0x4b, 0x8d, 0x04, 0x23, //0x00000aa6 leaq (%r11,%r12), %rax + 0x4c, 0x8d, 0x54, 0x07, 0x01, //0x00000aaa leaq $1(%rdi,%rax), %r10 + 0x4d, 0x39, 0xc2, //0x00000aaf cmpq %r8, %r10 + 0x4d, 0x0f, 0x46, 0xd0, //0x00000ab2 cmovbeq %r8, %r10 + 0x4a, 0x8d, 0x0c, 0x1f, //0x00000ab6 leaq (%rdi,%r11), %rcx + 0x4c, 0x01, 0xe1, //0x00000aba addq %r12, %rcx + 0x49, 0x29, 0xca, //0x00000abd subq %rcx, %r10 + 0x49, 0x81, 0xfa, 0x80, 0x00, 0x00, 0x00, //0x00000ac0 cmpq $128, %r10 + 0x0f, 0x82, 0x23, 0x02, 0x00, 0x00, //0x00000ac7 jb LBB0_113 + 0x4d, 0x89, 0xd1, //0x00000acd movq %r10, %r9 + 0x49, 0x83, 0xe1, 0x80, //0x00000ad0 andq $-128, %r9 + 0x49, 0x8d, 0x71, 0x80, //0x00000ad4 leaq $-128(%r9), %rsi + 0x48, 0x89, 0xf2, //0x00000ad8 movq %rsi, %rdx + 0x48, 0xc1, 0xea, 0x07, //0x00000adb shrq $7, %rdx + 0x48, 0xff, 0xc2, //0x00000adf incq %rdx + 0x89, 0xd1, //0x00000ae2 movl %edx, %ecx + 0x83, 0xe1, 0x03, //0x00000ae4 andl $3, %ecx + 0x48, 0x81, 0xfe, 0x80, 0x01, 0x00, 0x00, //0x00000ae7 cmpq $384, %rsi + 0x0f, 0x83, 0xfb, 0x00, 0x00, 0x00, //0x00000aee jae LBB0_106 + 0x31, 0xc0, //0x00000af4 xorl %eax, %eax + 0xe9, 0xa5, 0x01, 0x00, 0x00, //0x00000af6 jmp LBB0_108 + //0x00000afb LBB0_105 + 0x04, 0x30, //0x00000afb addb $48, %al + 0x41, 0x88, 0x47, 0x02, //0x00000afd movb %al, $2(%r15) + 0x49, 0x83, 0xc7, 0x03, //0x00000b01 addq $3, %r15 + 0x4d, 0x89, 0xf8, //0x00000b05 movq %r15, %r8 + 0xe9, 0x13, 0x07, 0x00, 0x00, //0x00000b08 jmp LBB0_163 + //0x00000b0d LBB0_73 + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x00000b0d movl $1, %r10d + 0x49, 0x83, 0xfb, 0x0a, //0x00000b13 cmpq $10, %r11 + 0x0f, 0x82, 0x82, 0x00, 0x00, 0x00, //0x00000b17 jb LBB0_81 + 0x41, 0xba, 0x02, 0x00, 0x00, 0x00, //0x00000b1d movl $2, %r10d + 0x49, 0x83, 0xfb, 0x64, //0x00000b23 cmpq $100, %r11 + 0x0f, 0x82, 0x72, 0x00, 0x00, 0x00, //0x00000b27 jb LBB0_81 + 0x41, 0xba, 0x03, 0x00, 0x00, 0x00, //0x00000b2d movl $3, %r10d + 0x49, 0x81, 0xfb, 0xe8, 0x03, 0x00, 0x00, //0x00000b33 cmpq $1000, %r11 + 0x0f, 0x82, 0x5f, 0x00, 0x00, 0x00, //0x00000b3a jb LBB0_81 + 0x41, 0xba, 0x04, 0x00, 0x00, 0x00, //0x00000b40 movl $4, %r10d + 0x49, 0x81, 0xfb, 0x10, 0x27, 0x00, 0x00, //0x00000b46 cmpq $10000, %r11 + 0x0f, 0x82, 0x4c, 0x00, 0x00, 0x00, //0x00000b4d jb LBB0_81 + 0x41, 0xba, 0x05, 0x00, 0x00, 0x00, //0x00000b53 movl $5, %r10d + 0x49, 0x81, 0xfb, 0xa0, 0x86, 0x01, 0x00, //0x00000b59 cmpq $100000, %r11 + 0x0f, 0x82, 0x39, 0x00, 0x00, 0x00, //0x00000b60 jb LBB0_81 + 0x41, 0xba, 0x06, 0x00, 0x00, 0x00, //0x00000b66 movl $6, %r10d + 0x49, 0x81, 0xfb, 0x40, 0x42, 0x0f, 0x00, //0x00000b6c cmpq $1000000, %r11 + 0x0f, 0x82, 0x26, 0x00, 0x00, 0x00, //0x00000b73 jb LBB0_81 + 0x41, 0xba, 0x07, 0x00, 0x00, 0x00, //0x00000b79 movl $7, %r10d + 0x49, 0x81, 0xfb, 0x80, 0x96, 0x98, 0x00, //0x00000b7f cmpq $10000000, %r11 + 0x0f, 0x82, 0x13, 0x00, 0x00, 0x00, //0x00000b86 jb LBB0_81 + 0x41, 0xba, 0x08, 0x00, 0x00, 0x00, //0x00000b8c movl $8, %r10d + 0x49, 0x81, 0xfb, 0xff, 0xe0, 0xf5, 0x05, //0x00000b92 cmpq $99999999, %r11 + 0x0f, 0x87, 0xb3, 0x06, 0x00, 0x00, //0x00000b99 ja LBB0_167 + //0x00000b9f LBB0_81 + 0x4d, 0x01, 0xc2, //0x00000b9f addq %r8, %r10 + //0x00000ba2 LBB0_82 + 0x4c, 0x89, 0xd0, //0x00000ba2 movq %r10, %rax + 0x41, 0x81, 0xfb, 0x10, 0x27, 0x00, 0x00, //0x00000ba5 cmpl $10000, %r11d + 0x0f, 0x83, 0xb5, 0xfc, 0xff, 0xff, //0x00000bac jae LBB0_51 + //0x00000bb2 LBB0_83 + 0x44, 0x89, 0xda, //0x00000bb2 movl %r11d, %edx + 0x83, 0xfa, 0x64, //0x00000bb5 cmpl $100, %edx + 0x0f, 0x83, 0x15, 0xfd, 0xff, 0xff, //0x00000bb8 jae LBB0_54 + 0xe9, 0x3c, 0xfd, 0xff, 0xff, //0x00000bbe jmp LBB0_55 + //0x00000bc3 LBB0_84 + 0x80, 0xc2, 0x30, //0x00000bc3 addb $48, %dl + 0x41, 0x88, 0x10, //0x00000bc6 movb %dl, (%r8) + //0x00000bc9 LBB0_85 + 0x41, 0x29, 0xfa, //0x00000bc9 subl %edi, %r10d + 0x45, 0x89, 0xd0, //0x00000bcc movl %r10d, %r8d + 0xe9, 0x4f, 0x06, 0x00, 0x00, //0x00000bcf jmp LBB0_164 + //0x00000bd4 LBB0_86 + 0x41, 0xba, 0x08, 0x00, 0x00, 0x00, //0x00000bd4 movl $8, %r10d + 0x4d, 0x8d, 0x67, 0xf8, //0x00000bda leaq $-8(%r15), %r12 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x00000bde cmpl $10000, %edx + 0x0f, 0x82, 0xc3, 0xf8, 0xff, 0xff, //0x00000be4 jb LBB0_41 + 0xe9, 0xb9, 0xf9, 0xff, 0xff, //0x00000bea jmp LBB0_88 + //0x00000bef LBB0_106 + 0x48, 0x29, 0xca, //0x00000bef subq %rcx, %rdx + 0x48, 0x8d, 0xb4, 0x07, 0xe0, 0x01, 0x00, 0x00, //0x00000bf2 leaq $480(%rdi,%rax), %rsi + 0x31, 0xc0, //0x00000bfa xorl %eax, %eax + 0xc5, 0xfe, 0x6f, 0x05, 0xfc, 0xf3, 0xff, 0xff, //0x00000bfc vmovdqu $-3076(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000c04 .p2align 4, 0x90 + //0x00000c10 LBB0_107 + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x20, 0xfe, 0xff, 0xff, //0x00000c10 vmovdqu %ymm0, $-480(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x40, 0xfe, 0xff, 0xff, //0x00000c19 vmovdqu %ymm0, $-448(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x60, 0xfe, 0xff, 0xff, //0x00000c22 vmovdqu %ymm0, $-416(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x80, 0xfe, 0xff, 0xff, //0x00000c2b vmovdqu %ymm0, $-384(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xa0, 0xfe, 0xff, 0xff, //0x00000c34 vmovdqu %ymm0, $-352(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xc0, 0xfe, 0xff, 0xff, //0x00000c3d vmovdqu %ymm0, $-320(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0xe0, 0xfe, 0xff, 0xff, //0x00000c46 vmovdqu %ymm0, $-288(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x00, 0xff, 0xff, 0xff, //0x00000c4f vmovdqu %ymm0, $-256(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x20, 0xff, 0xff, 0xff, //0x00000c58 vmovdqu %ymm0, $-224(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x40, 0xff, 0xff, 0xff, //0x00000c61 vmovdqu %ymm0, $-192(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x06, 0x60, 0xff, 0xff, 0xff, //0x00000c6a vmovdqu %ymm0, $-160(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0x80, //0x00000c73 vmovdqu %ymm0, $-128(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0xa0, //0x00000c79 vmovdqu %ymm0, $-96(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0xc0, //0x00000c7f vmovdqu %ymm0, $-64(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x06, 0xe0, //0x00000c85 vmovdqu %ymm0, $-32(%rsi,%rax) + 0xc5, 0xfe, 0x7f, 0x04, 0x06, //0x00000c8b vmovdqu %ymm0, (%rsi,%rax) + 0x48, 0x05, 0x00, 0x02, 0x00, 0x00, //0x00000c90 addq $512, %rax + 0x48, 0x83, 0xc2, 0xfc, //0x00000c96 addq $-4, %rdx + 0x0f, 0x85, 0x70, 0xff, 0xff, 0xff, //0x00000c9a jne LBB0_107 + //0x00000ca0 LBB0_108 + 0x48, 0x85, 0xc9, //0x00000ca0 testq %rcx, %rcx + 0x0f, 0x84, 0x37, 0x00, 0x00, 0x00, //0x00000ca3 je LBB0_111 + 0x4c, 0x01, 0xd8, //0x00000ca9 addq %r11, %rax + 0x4c, 0x01, 0xe0, //0x00000cac addq %r12, %rax + 0x48, 0x8d, 0x44, 0x07, 0x60, //0x00000caf leaq $96(%rdi,%rax), %rax + 0x48, 0xf7, 0xd9, //0x00000cb4 negq %rcx + 0xc5, 0xfe, 0x6f, 0x05, 0x41, 0xf3, 0xff, 0xff, //0x00000cb7 vmovdqu $-3263(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0x90, //0x00000cbf .p2align 4, 0x90 + //0x00000cc0 LBB0_110 + 0xc5, 0xfe, 0x7f, 0x40, 0xa0, //0x00000cc0 vmovdqu %ymm0, $-96(%rax) + 0xc5, 0xfe, 0x7f, 0x40, 0xc0, //0x00000cc5 vmovdqu %ymm0, $-64(%rax) + 0xc5, 0xfe, 0x7f, 0x40, 0xe0, //0x00000cca vmovdqu %ymm0, $-32(%rax) + 0xc5, 0xfe, 0x7f, 0x00, //0x00000ccf vmovdqu %ymm0, (%rax) + 0x48, 0x83, 0xe8, 0x80, //0x00000cd3 subq $-128, %rax + 0x48, 0xff, 0xc1, //0x00000cd7 incq %rcx + 0x0f, 0x85, 0xe0, 0xff, 0xff, 0xff, //0x00000cda jne LBB0_110 + //0x00000ce0 LBB0_111 + 0x4d, 0x39, 0xd1, //0x00000ce0 cmpq %r10, %r9 + 0x0f, 0x84, 0x37, 0x05, 0x00, 0x00, //0x00000ce3 je LBB0_163 + 0x4c, 0x01, 0xcb, //0x00000ce9 addq %r9, %rbx + 0x90, 0x90, 0x90, 0x90, //0x00000cec .p2align 4, 0x90 + //0x00000cf0 LBB0_113 + 0xc6, 0x03, 0x30, //0x00000cf0 movb $48, (%rbx) + 0x48, 0xff, 0xc3, //0x00000cf3 incq %rbx + 0x4c, 0x39, 0xc3, //0x00000cf6 cmpq %r8, %rbx + 0x0f, 0x82, 0xf1, 0xff, 0xff, 0xff, //0x00000cf9 jb LBB0_113 + 0xe9, 0x1c, 0x05, 0x00, 0x00, //0x00000cff jmp LBB0_163 + //0x00000d04 LBB0_114 + 0x48, 0x8b, 0x4d, 0xd0, //0x00000d04 movq $-48(%rbp), %rcx + 0x48, 0x8d, 0xb4, 0x39, 0xe2, 0x01, 0x00, 0x00, //0x00000d08 leaq $482(%rcx,%rdi), %rsi + 0x4c, 0x89, 0xfb, //0x00000d10 movq %r15, %rbx + 0x48, 0x29, 0xd3, //0x00000d13 subq %rdx, %rbx + 0x31, 0xd2, //0x00000d16 xorl %edx, %edx + 0xc5, 0xfe, 0x6f, 0x05, 0xe0, 0xf2, 0xff, 0xff, //0x00000d18 vmovdqu $-3360(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x00000d20 LBB0_115 + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x20, 0xfe, 0xff, 0xff, //0x00000d20 vmovdqu %ymm0, $-480(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x40, 0xfe, 0xff, 0xff, //0x00000d29 vmovdqu %ymm0, $-448(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x60, 0xfe, 0xff, 0xff, //0x00000d32 vmovdqu %ymm0, $-416(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x80, 0xfe, 0xff, 0xff, //0x00000d3b vmovdqu %ymm0, $-384(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0xa0, 0xfe, 0xff, 0xff, //0x00000d44 vmovdqu %ymm0, $-352(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0xc0, 0xfe, 0xff, 0xff, //0x00000d4d vmovdqu %ymm0, $-320(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0xe0, 0xfe, 0xff, 0xff, //0x00000d56 vmovdqu %ymm0, $-288(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x00, 0xff, 0xff, 0xff, //0x00000d5f vmovdqu %ymm0, $-256(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x20, 0xff, 0xff, 0xff, //0x00000d68 vmovdqu %ymm0, $-224(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x40, 0xff, 0xff, 0xff, //0x00000d71 vmovdqu %ymm0, $-192(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x84, 0x16, 0x60, 0xff, 0xff, 0xff, //0x00000d7a vmovdqu %ymm0, $-160(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x44, 0x16, 0x80, //0x00000d83 vmovdqu %ymm0, $-128(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x44, 0x16, 0xa0, //0x00000d89 vmovdqu %ymm0, $-96(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x44, 0x16, 0xc0, //0x00000d8f vmovdqu %ymm0, $-64(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x44, 0x16, 0xe0, //0x00000d95 vmovdqu %ymm0, $-32(%rsi,%rdx) + 0xc5, 0xfe, 0x7f, 0x04, 0x16, //0x00000d9b vmovdqu %ymm0, (%rsi,%rdx) + 0x48, 0x81, 0xc2, 0x00, 0x02, 0x00, 0x00, //0x00000da0 addq $512, %rdx + 0x48, 0x83, 0xc3, 0x04, //0x00000da7 addq $4, %rbx + 0x0f, 0x85, 0x6f, 0xff, 0xff, 0xff, //0x00000dab jne LBB0_115 + //0x00000db1 LBB0_116 + 0x4d, 0x85, 0xff, //0x00000db1 testq %r15, %r15 + 0x0f, 0x84, 0x34, 0x00, 0x00, 0x00, //0x00000db4 je LBB0_119 + 0x48, 0x03, 0x55, 0xd0, //0x00000dba addq $-48(%rbp), %rdx + 0x48, 0x8d, 0x54, 0x17, 0x62, //0x00000dbe leaq $98(%rdi,%rdx), %rdx + 0x49, 0xf7, 0xdf, //0x00000dc3 negq %r15 + 0xc5, 0xfe, 0x6f, 0x05, 0x32, 0xf2, 0xff, 0xff, //0x00000dc6 vmovdqu $-3534(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x00000dce LBB0_118 + 0xc5, 0xfe, 0x7f, 0x42, 0xa0, //0x00000dce vmovdqu %ymm0, $-96(%rdx) + 0xc5, 0xfe, 0x7f, 0x42, 0xc0, //0x00000dd3 vmovdqu %ymm0, $-64(%rdx) + 0xc5, 0xfe, 0x7f, 0x42, 0xe0, //0x00000dd8 vmovdqu %ymm0, $-32(%rdx) + 0xc5, 0xfe, 0x7f, 0x02, //0x00000ddd vmovdqu %ymm0, (%rdx) + 0x48, 0x83, 0xea, 0x80, //0x00000de1 subq $-128, %rdx + 0x49, 0xff, 0xc7, //0x00000de5 incq %r15 + 0x0f, 0x85, 0xe0, 0xff, 0xff, 0xff, //0x00000de8 jne LBB0_118 + //0x00000dee LBB0_119 + 0x49, 0x01, 0xc0, //0x00000dee addq %rax, %r8 + 0x49, 0x39, 0xc3, //0x00000df1 cmpq %rax, %r11 + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000df4 je LBB0_122 + //0x00000dfa LBB0_120 + 0x44, 0x89, 0xca, //0x00000dfa movl %r9d, %edx + 0xf7, 0xda, //0x00000dfd negl %edx + 0x90, //0x00000dff .p2align 4, 0x90 + //0x00000e00 LBB0_121 + 0x41, 0xc6, 0x00, 0x30, //0x00000e00 movb $48, (%r8) + 0x49, 0xff, 0xc0, //0x00000e04 incq %r8 + 0xff, 0xc0, //0x00000e07 incl %eax + 0x39, 0xd0, //0x00000e09 cmpl %edx, %eax + 0x0f, 0x8c, 0xef, 0xff, 0xff, 0xff, //0x00000e0b jl LBB0_121 + //0x00000e11 LBB0_122 + 0x4f, 0x8d, 0x2c, 0x20, //0x00000e11 leaq (%r8,%r12), %r13 + 0x4c, 0x89, 0xf0, //0x00000e15 movq %r14, %rax + 0x48, 0xc1, 0xe8, 0x20, //0x00000e18 shrq $32, %rax + 0x0f, 0x84, 0xc9, 0x00, 0x00, 0x00, //0x00000e1c je LBB0_125 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000e22 movabsq $-6067343680855748867, %rdx + 0x4c, 0x89, 0xf0, //0x00000e2c movq %r14, %rax + 0x48, 0xf7, 0xe2, //0x00000e2f mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x00000e32 shrq $26, %rdx + 0x69, 0xf2, 0x00, 0x1f, 0x0a, 0xfa, //0x00000e36 imull $-100000000, %edx, %esi + 0x44, 0x01, 0xf6, //0x00000e3c addl %r14d, %esi + 0x0f, 0x84, 0x40, 0x02, 0x00, 0x00, //0x00000e3f je LBB0_127 + 0x89, 0xf0, //0x00000e45 movl %esi, %eax + 0x41, 0xbb, 0x59, 0x17, 0xb7, 0xd1, //0x00000e47 movl $3518437209, %r11d + 0x49, 0x0f, 0xaf, 0xc3, //0x00000e4d imulq %r11, %rax + 0x48, 0xc1, 0xe8, 0x2d, //0x00000e51 shrq $45, %rax + 0x69, 0xc8, 0x10, 0x27, 0x00, 0x00, //0x00000e55 imull $10000, %eax, %ecx + 0x29, 0xce, //0x00000e5b subl %ecx, %esi + 0x48, 0x89, 0xc1, //0x00000e5d movq %rax, %rcx + 0x49, 0x0f, 0xaf, 0xcb, //0x00000e60 imulq %r11, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x00000e64 shrq $45, %rcx + 0x69, 0xc9, 0x10, 0x27, 0x00, 0x00, //0x00000e68 imull $10000, %ecx, %ecx + 0x29, 0xc8, //0x00000e6e subl %ecx, %eax + 0x0f, 0xb7, 0xce, //0x00000e70 movzwl %si, %ecx + 0xc1, 0xe9, 0x02, //0x00000e73 shrl $2, %ecx + 0x44, 0x69, 0xd9, 0x7b, 0x14, 0x00, 0x00, //0x00000e76 imull $5243, %ecx, %r11d + 0x41, 0xc1, 0xeb, 0x11, //0x00000e7d shrl $17, %r11d + 0x41, 0x6b, 0xcb, 0x64, //0x00000e81 imull $100, %r11d, %ecx + 0x29, 0xce, //0x00000e85 subl %ecx, %esi + 0x44, 0x0f, 0xb7, 0xf6, //0x00000e87 movzwl %si, %r14d + 0x0f, 0xb7, 0xf0, //0x00000e8b movzwl %ax, %esi + 0xc1, 0xee, 0x02, //0x00000e8e shrl $2, %esi + 0x69, 0xf6, 0x7b, 0x14, 0x00, 0x00, //0x00000e91 imull $5243, %esi, %esi + 0xc1, 0xee, 0x11, //0x00000e97 shrl $17, %esi + 0x6b, 0xce, 0x64, //0x00000e9a imull $100, %esi, %ecx + 0x29, 0xc8, //0x00000e9d subl %ecx, %eax + 0x44, 0x0f, 0xb7, 0xf8, //0x00000e9f movzwl %ax, %r15d + 0x48, 0x8d, 0x0d, 0xd6, 0x03, 0x00, 0x00, //0x00000ea3 leaq $982(%rip), %rcx /* _Digits+0(%rip) */ + 0x42, 0x0f, 0xb7, 0x04, 0x71, //0x00000eaa movzwl (%rcx,%r14,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfe, //0x00000eaf movw %ax, $-2(%r13) + 0x42, 0x0f, 0xb7, 0x04, 0x59, //0x00000eb4 movzwl (%rcx,%r11,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfc, //0x00000eb9 movw %ax, $-4(%r13) + 0x42, 0x0f, 0xb7, 0x04, 0x79, //0x00000ebe movzwl (%rcx,%r15,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfa, //0x00000ec3 movw %ax, $-6(%r13) + 0x0f, 0xb7, 0x04, 0x71, //0x00000ec8 movzwl (%rcx,%rsi,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xf8, //0x00000ecc movw %ax, $-8(%r13) + 0x45, 0x31, 0xdb, //0x00000ed1 xorl %r11d, %r11d + 0x49, 0x83, 0xc5, 0xf8, //0x00000ed4 addq $-8, %r13 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x00000ed8 cmpl $10000, %edx + 0x0f, 0x83, 0x19, 0x00, 0x00, 0x00, //0x00000ede jae LBB0_129 + //0x00000ee4 LBB0_126 + 0x89, 0xd1, //0x00000ee4 movl %edx, %ecx + 0xe9, 0x6d, 0x00, 0x00, 0x00, //0x00000ee6 jmp LBB0_131 + //0x00000eeb LBB0_125 + 0x45, 0x31, 0xdb, //0x00000eeb xorl %r11d, %r11d + 0x44, 0x89, 0xf2, //0x00000eee movl %r14d, %edx + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x00000ef1 cmpl $10000, %edx + 0x0f, 0x82, 0xe7, 0xff, 0xff, 0xff, //0x00000ef7 jb LBB0_126 + //0x00000efd LBB0_129 + 0x41, 0xbe, 0x59, 0x17, 0xb7, 0xd1, //0x00000efd movl $3518437209, %r14d + 0x4c, 0x8d, 0x3d, 0x76, 0x03, 0x00, 0x00, //0x00000f03 leaq $886(%rip), %r15 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000f0a .p2align 4, 0x90 + //0x00000f10 LBB0_130 + 0x89, 0xd1, //0x00000f10 movl %edx, %ecx + 0x49, 0x0f, 0xaf, 0xce, //0x00000f12 imulq %r14, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x00000f16 shrq $45, %rcx + 0x69, 0xc1, 0xf0, 0xd8, 0xff, 0xff, //0x00000f1a imull $-10000, %ecx, %eax + 0x01, 0xd0, //0x00000f20 addl %edx, %eax + 0x48, 0x69, 0xf0, 0x1f, 0x85, 0xeb, 0x51, //0x00000f22 imulq $1374389535, %rax, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x00000f29 shrq $37, %rsi + 0x6b, 0xde, 0x64, //0x00000f2d imull $100, %esi, %ebx + 0x29, 0xd8, //0x00000f30 subl %ebx, %eax + 0x41, 0x0f, 0xb7, 0x04, 0x47, //0x00000f32 movzwl (%r15,%rax,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfe, //0x00000f37 movw %ax, $-2(%r13) + 0x41, 0x0f, 0xb7, 0x04, 0x77, //0x00000f3c movzwl (%r15,%rsi,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfc, //0x00000f41 movw %ax, $-4(%r13) + 0x49, 0x83, 0xc5, 0xfc, //0x00000f46 addq $-4, %r13 + 0x81, 0xfa, 0xff, 0xe0, 0xf5, 0x05, //0x00000f4a cmpl $99999999, %edx + 0x89, 0xca, //0x00000f50 movl %ecx, %edx + 0x0f, 0x87, 0xb8, 0xff, 0xff, 0xff, //0x00000f52 ja LBB0_130 + //0x00000f58 LBB0_131 + 0x83, 0xf9, 0x64, //0x00000f58 cmpl $100, %ecx + 0x0f, 0x82, 0x2d, 0x00, 0x00, 0x00, //0x00000f5b jb LBB0_133 + 0x0f, 0xb7, 0xc1, //0x00000f61 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x00000f64 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000f67 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000f6d shrl $17, %eax + 0x6b, 0xd0, 0x64, //0x00000f70 imull $100, %eax, %edx + 0x29, 0xd1, //0x00000f73 subl %edx, %ecx + 0x0f, 0xb7, 0xc9, //0x00000f75 movzwl %cx, %ecx + 0x48, 0x8d, 0x15, 0x01, 0x03, 0x00, 0x00, //0x00000f78 leaq $769(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000f7f movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x41, 0x89, 0x4d, 0xfe, //0x00000f83 movw %cx, $-2(%r13) + 0x49, 0x83, 0xc5, 0xfe, //0x00000f88 addq $-2, %r13 + 0x89, 0xc1, //0x00000f8c movl %eax, %ecx + //0x00000f8e LBB0_133 + 0x83, 0xf9, 0x0a, //0x00000f8e cmpl $10, %ecx + 0x0f, 0x82, 0x17, 0x00, 0x00, 0x00, //0x00000f91 jb LBB0_135 + 0x89, 0xc8, //0x00000f97 movl %ecx, %eax + 0x48, 0x8d, 0x0d, 0xe0, 0x02, 0x00, 0x00, //0x00000f99 leaq $736(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x00000fa0 movzwl (%rcx,%rax,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfe, //0x00000fa4 movw %ax, $-2(%r13) + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x00000fa9 jmp LBB0_136 + //0x00000fae LBB0_135 + 0x80, 0xc1, 0x30, //0x00000fae addb $48, %cl + 0x41, 0x88, 0x08, //0x00000fb1 movb %cl, (%r8) + //0x00000fb4 LBB0_136 + 0x4d, 0x29, 0xdc, //0x00000fb4 subq %r11, %r12 + 0x49, 0x8d, 0x4c, 0x24, 0x01, //0x00000fb7 leaq $1(%r12), %rcx + 0x49, 0x8d, 0x54, 0x24, 0x61, //0x00000fbc leaq $97(%r12), %rdx + 0x49, 0x8d, 0x5c, 0x24, 0x02, //0x00000fc1 leaq $2(%r12), %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000fc6 .p2align 4, 0x90 + //0x00000fd0 LBB0_137 + 0x48, 0xff, 0xca, //0x00000fd0 decq %rdx + 0x48, 0xff, 0xc9, //0x00000fd3 decq %rcx + 0x48, 0xff, 0xcb, //0x00000fd6 decq %rbx + 0x43, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00000fd9 cmpb $48, $-1(%r8,%r12) + 0x4d, 0x8d, 0x64, 0x24, 0xff, //0x00000fdf leaq $-1(%r12), %r12 + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x00000fe4 je LBB0_137 + 0x4d, 0x8d, 0x3c, 0x08, //0x00000fea leaq (%r8,%rcx), %r15 + 0x45, 0x85, 0xc9, //0x00000fee testl %r9d, %r9d + 0x0f, 0x8e, 0x86, 0x00, 0x00, 0x00, //0x00000ff1 jle LBB0_142 + 0x44, 0x89, 0xf8, //0x00000ff7 movl %r15d, %eax + 0x44, 0x29, 0xc0, //0x00000ffa subl %r8d, %eax + 0x41, 0x39, 0xc1, //0x00000ffd cmpl %eax, %r9d + 0x0f, 0x8d, 0x23, 0x00, 0x00, 0x00, //0x00001000 jge LBB0_143 + 0x43, 0x8d, 0x04, 0x01, //0x00001006 leal (%r9,%r8), %eax + 0x41, 0x29, 0xc7, //0x0000100a subl %eax, %r15d + 0x49, 0x8d, 0x47, 0xff, //0x0000100d leaq $-1(%r15), %rax + 0x45, 0x89, 0xfa, //0x00001011 movl %r15d, %r10d + 0x41, 0x83, 0xe2, 0x03, //0x00001014 andl $3, %r10d + 0x48, 0x83, 0xf8, 0x03, //0x00001018 cmpq $3, %rax + 0x0f, 0x83, 0x7e, 0x00, 0x00, 0x00, //0x0000101c jae LBB0_147 + 0x31, 0xc0, //0x00001022 xorl %eax, %eax + 0xe9, 0xa3, 0x00, 0x00, 0x00, //0x00001024 jmp LBB0_150 + //0x00001029 LBB0_143 + 0x0f, 0x8e, 0x4e, 0x00, 0x00, 0x00, //0x00001029 jle LBB0_142 + 0x45, 0x01, 0xc1, //0x0000102f addl %r8d, %r9d + 0x45, 0x89, 0xfe, //0x00001032 movl %r15d, %r14d + 0x41, 0xf7, 0xd6, //0x00001035 notl %r14d + 0x45, 0x01, 0xce, //0x00001038 addl %r9d, %r14d + 0x31, 0xc0, //0x0000103b xorl %eax, %eax + 0x4d, 0x89, 0xfb, //0x0000103d movq %r15, %r11 + 0x41, 0x83, 0xfe, 0x7e, //0x00001040 cmpl $126, %r14d + 0x0f, 0x86, 0xb8, 0x01, 0x00, 0x00, //0x00001044 jbe LBB0_161 + 0x49, 0xff, 0xc6, //0x0000104a incq %r14 + 0x4d, 0x21, 0xf2, //0x0000104d andq %r14, %r10 + 0x4f, 0x8d, 0x1c, 0x10, //0x00001050 leaq (%r8,%r10), %r11 + 0x49, 0x8d, 0x5a, 0x80, //0x00001054 leaq $-128(%r10), %rbx + 0x48, 0x89, 0xde, //0x00001058 movq %rbx, %rsi + 0x48, 0xc1, 0xee, 0x07, //0x0000105b shrq $7, %rsi + 0x48, 0xff, 0xc6, //0x0000105f incq %rsi + 0x41, 0x89, 0xf4, //0x00001062 movl %esi, %r12d + 0x41, 0x83, 0xe4, 0x03, //0x00001065 andl $3, %r12d + 0x48, 0x81, 0xfb, 0x80, 0x01, 0x00, 0x00, //0x00001069 cmpq $384, %rbx + 0x0f, 0x83, 0x94, 0x00, 0x00, 0x00, //0x00001070 jae LBB0_155 + 0x31, 0xf6, //0x00001076 xorl %esi, %esi + 0xe9, 0x35, 0x01, 0x00, 0x00, //0x00001078 jmp LBB0_157 + //0x0000107d LBB0_142 + 0x4d, 0x89, 0xf8, //0x0000107d movq %r15, %r8 + 0xe9, 0x9b, 0x01, 0x00, 0x00, //0x00001080 jmp LBB0_163 + //0x00001085 LBB0_127 + 0x41, 0xbb, 0x08, 0x00, 0x00, 0x00, //0x00001085 movl $8, %r11d + 0x49, 0x83, 0xc5, 0xf8, //0x0000108b addq $-8, %r13 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x0000108f cmpl $10000, %edx + 0x0f, 0x82, 0x49, 0xfe, 0xff, 0xff, //0x00001095 jb LBB0_126 + 0xe9, 0x5d, 0xfe, 0xff, 0xff, //0x0000109b jmp LBB0_129 + //0x000010a0 LBB0_147 + 0x4d, 0x89, 0xd3, //0x000010a0 movq %r10, %r11 + 0x4d, 0x29, 0xfb, //0x000010a3 subq %r15, %r11 + 0x31, 0xc0, //0x000010a6 xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000010a8 .p2align 4, 0x90 + //0x000010b0 LBB0_148 + 0x49, 0x8d, 0x14, 0x00, //0x000010b0 leaq (%r8,%rax), %rdx + 0x8b, 0x74, 0x11, 0xfc, //0x000010b4 movl $-4(%rcx,%rdx), %esi + 0x89, 0x74, 0x11, 0xfd, //0x000010b8 movl %esi, $-3(%rcx,%rdx) + 0x48, 0x83, 0xc0, 0xfc, //0x000010bc addq $-4, %rax + 0x49, 0x39, 0xc3, //0x000010c0 cmpq %rax, %r11 + 0x0f, 0x85, 0xe7, 0xff, 0xff, 0xff, //0x000010c3 jne LBB0_148 + 0x48, 0xf7, 0xd8, //0x000010c9 negq %rax + //0x000010cc LBB0_150 + 0x4d, 0x85, 0xd2, //0x000010cc testq %r10, %r10 + 0x0f, 0x84, 0x25, 0x00, 0x00, 0x00, //0x000010cf je LBB0_153 + 0x49, 0xf7, 0xda, //0x000010d5 negq %r10 + 0x4c, 0x89, 0xc1, //0x000010d8 movq %r8, %rcx + 0x48, 0x29, 0xc1, //0x000010db subq %rax, %rcx + 0x31, 0xc0, //0x000010de xorl %eax, %eax + //0x000010e0 .p2align 4, 0x90 + //0x000010e0 LBB0_152 + 0x48, 0x8d, 0x34, 0x01, //0x000010e0 leaq (%rcx,%rax), %rsi + 0x41, 0x0f, 0xb6, 0x14, 0x34, //0x000010e4 movzbl (%r12,%rsi), %edx + 0x41, 0x88, 0x54, 0x34, 0x01, //0x000010e9 movb %dl, $1(%r12,%rsi) + 0x48, 0xff, 0xc8, //0x000010ee decq %rax + 0x49, 0x39, 0xc2, //0x000010f1 cmpq %rax, %r10 + 0x0f, 0x85, 0xe6, 0xff, 0xff, 0xff, //0x000010f4 jne LBB0_152 + //0x000010fa LBB0_153 + 0x49, 0x63, 0xc1, //0x000010fa movslq %r9d, %rax + 0x41, 0xc6, 0x04, 0x00, 0x2e, //0x000010fd movb $46, (%r8,%rax) + 0x49, 0x01, 0xd8, //0x00001102 addq %rbx, %r8 + 0xe9, 0x16, 0x01, 0x00, 0x00, //0x00001105 jmp LBB0_163 + //0x0000110a LBB0_155 + 0x4c, 0x89, 0xe3, //0x0000110a movq %r12, %rbx + 0x48, 0x29, 0xf3, //0x0000110d subq %rsi, %rbx + 0x31, 0xf6, //0x00001110 xorl %esi, %esi + 0xc5, 0xfe, 0x6f, 0x05, 0xe6, 0xee, 0xff, 0xff, //0x00001112 vmovdqu $-4378(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x0000111a LBB0_156 + 0x49, 0x8d, 0x04, 0x30, //0x0000111a leaq (%r8,%rsi), %rax + 0xc5, 0xfe, 0x7f, 0x04, 0x01, //0x0000111e vmovdqu %ymm0, (%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0x20, //0x00001123 vmovdqu %ymm0, $32(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0x40, //0x00001129 vmovdqu %ymm0, $64(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x44, 0x01, 0x60, //0x0000112f vmovdqu %ymm0, $96(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x80, 0x00, 0x00, 0x00, //0x00001135 vmovdqu %ymm0, $128(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xa0, 0x00, 0x00, 0x00, //0x0000113e vmovdqu %ymm0, $160(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xc0, 0x00, 0x00, 0x00, //0x00001147 vmovdqu %ymm0, $192(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xe0, 0x00, 0x00, 0x00, //0x00001150 vmovdqu %ymm0, $224(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x00, 0x01, 0x00, 0x00, //0x00001159 vmovdqu %ymm0, $256(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x20, 0x01, 0x00, 0x00, //0x00001162 vmovdqu %ymm0, $288(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x40, 0x01, 0x00, 0x00, //0x0000116b vmovdqu %ymm0, $320(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x60, 0x01, 0x00, 0x00, //0x00001174 vmovdqu %ymm0, $352(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0x80, 0x01, 0x00, 0x00, //0x0000117d vmovdqu %ymm0, $384(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xa0, 0x01, 0x00, 0x00, //0x00001186 vmovdqu %ymm0, $416(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xc0, 0x01, 0x00, 0x00, //0x0000118f vmovdqu %ymm0, $448(%rcx,%rax) + 0xc5, 0xfe, 0x7f, 0x84, 0x01, 0xe0, 0x01, 0x00, 0x00, //0x00001198 vmovdqu %ymm0, $480(%rcx,%rax) + 0x48, 0x81, 0xc6, 0x00, 0x02, 0x00, 0x00, //0x000011a1 addq $512, %rsi + 0x48, 0x83, 0xc3, 0x04, //0x000011a8 addq $4, %rbx + 0x0f, 0x85, 0x68, 0xff, 0xff, 0xff, //0x000011ac jne LBB0_156 + //0x000011b2 LBB0_157 + 0x49, 0x01, 0xcb, //0x000011b2 addq %rcx, %r11 + 0x4d, 0x85, 0xe4, //0x000011b5 testq %r12, %r12 + 0x0f, 0x84, 0x35, 0x00, 0x00, 0x00, //0x000011b8 je LBB0_160 + 0x49, 0x01, 0xf0, //0x000011be addq %rsi, %r8 + 0x49, 0x01, 0xd0, //0x000011c1 addq %rdx, %r8 + 0x49, 0xf7, 0xdc, //0x000011c4 negq %r12 + 0xc5, 0xfe, 0x6f, 0x05, 0x31, 0xee, 0xff, 0xff, //0x000011c7 vmovdqu $-4559(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x000011cf LBB0_159 + 0xc4, 0xc1, 0x7e, 0x7f, 0x40, 0xa0, //0x000011cf vmovdqu %ymm0, $-96(%r8) + 0xc4, 0xc1, 0x7e, 0x7f, 0x40, 0xc0, //0x000011d5 vmovdqu %ymm0, $-64(%r8) + 0xc4, 0xc1, 0x7e, 0x7f, 0x40, 0xe0, //0x000011db vmovdqu %ymm0, $-32(%r8) + 0xc4, 0xc1, 0x7e, 0x7f, 0x00, //0x000011e1 vmovdqu %ymm0, (%r8) + 0x49, 0x83, 0xe8, 0x80, //0x000011e6 subq $-128, %r8 + 0x49, 0xff, 0xc4, //0x000011ea incq %r12 + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000011ed jne LBB0_159 + //0x000011f3 LBB0_160 + 0x44, 0x89, 0xd0, //0x000011f3 movl %r10d, %eax + 0x4d, 0x89, 0xd8, //0x000011f6 movq %r11, %r8 + 0x4d, 0x39, 0xd6, //0x000011f9 cmpq %r10, %r14 + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x000011fc je LBB0_163 + //0x00001202 LBB0_161 + 0x41, 0x29, 0xc1, //0x00001202 subl %eax, %r9d + 0x45, 0x29, 0xf9, //0x00001205 subl %r15d, %r9d + 0x4d, 0x89, 0xd8, //0x00001208 movq %r11, %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000120b .p2align 4, 0x90 + //0x00001210 LBB0_162 + 0x41, 0xc6, 0x00, 0x30, //0x00001210 movb $48, (%r8) + 0x49, 0xff, 0xc0, //0x00001214 incq %r8 + 0x41, 0xff, 0xc9, //0x00001217 decl %r9d + 0x0f, 0x85, 0xf0, 0xff, 0xff, 0xff, //0x0000121a jne LBB0_162 + //0x00001220 LBB0_163 + 0x41, 0x29, 0xf8, //0x00001220 subl %edi, %r8d + //0x00001223 LBB0_164 + 0x44, 0x89, 0xc0, //0x00001223 movl %r8d, %eax + 0x48, 0x83, 0xc4, 0x08, //0x00001226 addq $8, %rsp + 0x5b, //0x0000122a popq %rbx + 0x41, 0x5c, //0x0000122b popq %r12 + 0x41, 0x5d, //0x0000122d popq %r13 + 0x41, 0x5e, //0x0000122f popq %r14 + 0x41, 0x5f, //0x00001231 popq %r15 + 0x5d, //0x00001233 popq %rbp + 0xc5, 0xf8, 0x77, //0x00001234 vzeroupper + 0xc3, //0x00001237 retq + //0x00001238 LBB0_165 + 0x45, 0x31, 0xc0, //0x00001238 xorl %r8d, %r8d + 0xe9, 0xe3, 0xff, 0xff, 0xff, //0x0000123b jmp LBB0_164 + //0x00001240 LBB0_166 + 0x48, 0x89, 0x75, 0xd0, //0x00001240 movq %rsi, $-48(%rbp) + 0x41, 0xba, 0xce, 0xfb, 0xff, 0xff, //0x00001244 movl $-1074, %r10d + 0x49, 0x89, 0xd3, //0x0000124a movq %rdx, %r11 + 0xe9, 0x69, 0xee, 0xff, 0xff, //0x0000124d jmp LBB0_8 + //0x00001252 LBB0_167 + 0x49, 0x81, 0xfb, 0x00, 0xca, 0x9a, 0x3b, //0x00001252 cmpq $1000000000, %r11 + 0x4d, 0x89, 0xc2, //0x00001259 movq %r8, %r10 + 0x49, 0x83, 0xda, 0x00, //0x0000125c sbbq $0, %r10 + 0x49, 0x83, 0xc2, 0x0a, //0x00001260 addq $10, %r10 + 0x4c, 0x89, 0xd8, //0x00001264 movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x20, //0x00001267 shrq $32, %rax + 0x0f, 0x85, 0x3c, 0xf5, 0xff, 0xff, //0x0000126b jne LBB0_50 + 0xe9, 0x2c, 0xf9, 0xff, 0xff, //0x00001271 jmp LBB0_82 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001276 .p2align 4, 0x00 + //0x00001280 _Digits + 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00001280 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' + 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00001290 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' + 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x000012a0 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' + 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x000012b0 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' + 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x000012c0 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' + 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x000012d0 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' + 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x000012e0 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' + 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x000012f0 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' + 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x00001300 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' + 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x00001310 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' + 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x00001320 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' + 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x00001330 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' + 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x00001340 QUAD $0x3939383937393639 // .ascii 8, '96979899' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001348 .p2align 4, 0x00 + //0x00001350 _pow10_ceil_sig.g + 0x4f, 0xdc, 0xbc, 0xbe, 0xfc, 0xb1, 0x77, 0xff, //0x00001350 .quad -38366372719436721 + 0x7b, 0x0f, 0xbb, 0x13, 0x9c, 0xe8, 0xe8, 0x25, //0x00001358 .quad 2731688931043774331 + 0xb1, 0x09, 0x36, 0xf7, 0x3d, 0xcf, 0xaa, 0x9f, //0x00001360 .quad -6941508010590729807 + 0xad, 0xe9, 0x54, 0x8c, 0x61, 0x91, 0xb1, 0x77, //0x00001368 .quad 8624834609543440813 + 0x1d, 0x8c, 0x03, 0x75, 0x0d, 0x83, 0x95, 0xc7, //0x00001370 .quad -4065198994811024355 + 0x18, 0x24, 0x6a, 0xef, 0xb9, 0xf5, 0x9d, 0xd5, //0x00001378 .quad -3054014793352862696 + 0x25, 0x6f, 0x44, 0xd2, 0xd0, 0xe3, 0x7a, 0xf9, //0x00001380 .quad -469812725086392539 + 0x1e, 0xad, 0x44, 0x6b, 0x28, 0x73, 0x05, 0x4b, //0x00001388 .quad 5405853545163697438 + 0x77, 0xc5, 0x6a, 0x83, 0x62, 0xce, 0xec, 0x9b, //0x00001390 .quad -7211161980820077193 + 0x33, 0xec, 0x0a, 0x43, 0xf9, 0x67, 0xe3, 0x4e, //0x00001398 .quad 5684501474941004851 + 0xd5, 0x76, 0x45, 0x24, 0xfb, 0x01, 0xe8, 0xc2, //0x000013a0 .quad -4402266457597708587 + 0x40, 0xa7, 0xcd, 0x93, 0xf7, 0x41, 0x9c, 0x22, //0x000013a8 .quad 2493940825248868160 + 0x8a, 0xd4, 0x56, 0xed, 0x79, 0x02, 0xa2, 0xf3, //0x000013b0 .quad -891147053569747830 + 0x10, 0x11, 0xc1, 0x78, 0x75, 0x52, 0x43, 0x6b, //0x000013b8 .quad 7729112049988473104 + 0xd6, 0x44, 0x56, 0x34, 0x8c, 0x41, 0x45, 0x98, //0x000013c0 .quad -7474495936122174250 + 0xaa, 0xaa, 0x78, 0x6b, 0x89, 0x13, 0x0a, 0x83, //0x000013c8 .quad -9004363024039368022 + 0x0c, 0xd6, 0x6b, 0x41, 0xef, 0x91, 0x56, 0xbe, //0x000013d0 .quad -4731433901725329908 + 0x54, 0xd5, 0x56, 0xc6, 0x6b, 0x98, 0xcc, 0x23, //0x000013d8 .quad 2579604275232953684 + 0x8f, 0xcb, 0xc6, 0x11, 0x6b, 0x36, 0xec, 0xed, //0x000013e0 .quad -1302606358729274481 + 0xa9, 0x8a, 0xec, 0xb7, 0x86, 0xbe, 0xbf, 0x2c, //0x000013e8 .quad 3224505344041192105 + 0x39, 0x3f, 0x1c, 0xeb, 0x02, 0xa2, 0xb3, 0x94, //0x000013f0 .quad -7731658001846878407 + 0xaa, 0xd6, 0xf3, 0x32, 0x14, 0xd7, 0xf7, 0x7b, //0x000013f8 .quad 8932844867666826922 + 0x07, 0x4f, 0xe3, 0xa5, 0x83, 0x8a, 0xe0, 0xb9, //0x00001400 .quad -5052886483881210105 + 0x54, 0xcc, 0xb0, 0x3f, 0xd9, 0xcc, 0xf5, 0xda, //0x00001408 .quad -2669001970698630060 + 0xc9, 0x22, 0x5c, 0x8f, 0x24, 0xad, 0x58, 0xe8, //0x00001410 .quad -1704422086424124727 + 0x69, 0xff, 0x9c, 0x8f, 0x0f, 0x40, 0xb3, 0xd1, //0x00001418 .quad -3336252463373287575 + 0xbe, 0x95, 0x99, 0xd9, 0x36, 0x6c, 0x37, 0x91, //0x00001420 .quad -7982792831656159810 + 0xa2, 0x1f, 0xc2, 0xb9, 0x09, 0x08, 0x10, 0x23, //0x00001428 .quad 2526528228819083170 + 0x2d, 0xfb, 0xff, 0x8f, 0x44, 0x47, 0x85, 0xb5, //0x00001430 .quad -5366805021142811859 + 0x8b, 0xa7, 0x32, 0x28, 0x0c, 0x0a, 0xd4, 0xab, //0x00001438 .quad -6065211750830921845 + 0xf9, 0xf9, 0xff, 0xb3, 0x15, 0x99, 0xe6, 0xe2, //0x00001440 .quad -2096820258001126919 + 0x6d, 0x51, 0x3f, 0x32, 0x8f, 0x0c, 0xc9, 0x16, //0x00001448 .quad 1641857348316123501 + 0x3b, 0xfc, 0x7f, 0x90, 0xad, 0x1f, 0xd0, 0x8d, //0x00001450 .quad -8228041688891786181 + 0xe4, 0x92, 0x67, 0x7f, 0xd9, 0xa7, 0x3d, 0xae, //0x00001458 .quad -5891368184943504668 + 0x4a, 0xfb, 0x9f, 0xf4, 0x98, 0x27, 0x44, 0xb1, //0x00001460 .quad -5673366092687344822 + 0x9d, 0x77, 0x41, 0xdf, 0xcf, 0x11, 0xcd, 0x99, //0x00001468 .quad -7364210231179380835 + 0x1d, 0xfa, 0xc7, 0x31, 0x7f, 0x31, 0x95, 0xdd, //0x00001470 .quad -2480021597431793123 + 0x84, 0xd5, 0x11, 0xd7, 0x43, 0x56, 0x40, 0x40, //0x00001478 .quad 4629795266307937668 + 0x52, 0xfc, 0x1c, 0x7f, 0xef, 0x3e, 0x7d, 0x8a, //0x00001480 .quad -8467542526035952558 + 0x73, 0x25, 0x6b, 0x66, 0xea, 0x35, 0x28, 0x48, //0x00001488 .quad 5199465050656154995 + 0x66, 0x3b, 0xe4, 0x5e, 0xab, 0x8e, 0x1c, 0xad, //0x00001490 .quad -5972742139117552794 + 0xd0, 0xee, 0x05, 0x00, 0x65, 0x43, 0x32, 0xda, //0x00001498 .quad -2724040723534582064 + 0x40, 0x4a, 0x9d, 0x36, 0x56, 0xb2, 0x63, 0xd8, //0x000014a0 .quad -2854241655469553088 + 0x83, 0x6a, 0x07, 0x40, 0x3e, 0xd4, 0xbe, 0x90, //0x000014a8 .quad -8016736922845615485 + 0x68, 0x4e, 0x22, 0xe2, 0x75, 0x4f, 0x3e, 0x87, //0x000014b0 .quad -8701430062309552536 + 0x92, 0xa2, 0x04, 0xe8, 0xa6, 0x44, 0x77, 0x5a, //0x000014b8 .quad 6518754469289960082 + 0x02, 0xe2, 0xaa, 0x5a, 0x53, 0xe3, 0x0d, 0xa9, //0x000014c0 .quad -6265101559459552766 + 0x37, 0xcb, 0x05, 0xa2, 0xd0, 0x15, 0x15, 0x71, //0x000014c8 .quad 8148443086612450103 + 0x83, 0x9a, 0x55, 0x31, 0x28, 0x5c, 0x51, 0xd3, //0x000014d0 .quad -3219690930897053053 + 0x04, 0x3e, 0x87, 0xca, 0x44, 0x5b, 0x5a, 0x0d, //0x000014d8 .quad 962181821410786820 + 0x91, 0x80, 0xd5, 0x1e, 0x99, 0xd9, 0x12, 0x84, //0x000014e0 .quad -8929835859451740015 + 0xc3, 0x86, 0x94, 0xfe, 0x0a, 0x79, 0x58, 0xe8, //0x000014e8 .quad -1704479370831952189 + 0xb6, 0xe0, 0x8a, 0x66, 0xff, 0x8f, 0x17, 0xa5, //0x000014f0 .quad -6550608805887287114 + 0x73, 0xa8, 0x39, 0xbe, 0x4d, 0x97, 0x6e, 0x62, //0x000014f8 .quad 7092772823314835571 + 0xe3, 0x98, 0x2d, 0x40, 0xff, 0x73, 0x5d, 0xce, //0x00001500 .quad -3576574988931720989 + 0x90, 0x12, 0xc8, 0x2d, 0x21, 0x3d, 0x0a, 0xfb, //0x00001508 .quad -357406007711231344 + 0x8e, 0x7f, 0x1c, 0x88, 0x7f, 0x68, 0xfa, 0x80, //0x00001510 .quad -9152888395723407474 + 0x9a, 0x0b, 0x9d, 0xbc, 0x34, 0x66, 0xe6, 0x7c, //0x00001518 .quad 8999993282035256218 + 0x72, 0x9f, 0x23, 0x6a, 0x9f, 0x02, 0x39, 0xa1, //0x00001520 .quad -6829424476226871438 + 0x81, 0x4e, 0xc4, 0xeb, 0xc1, 0xff, 0x1f, 0x1c, //0x00001528 .quad 2026619565689294465 + 0x4e, 0x87, 0xac, 0x44, 0x47, 0x43, 0x87, 0xc9, //0x00001530 .quad -3925094576856201394 + 0x21, 0x62, 0xb5, 0x66, 0xb2, 0xff, 0x27, 0xa3, //0x00001538 .quad -6690097579743157727 + 0x22, 0xa9, 0xd7, 0x15, 0x19, 0x14, 0xe9, 0xfb, //0x00001540 .quad -294682202642863838 + 0xa9, 0xba, 0x62, 0x00, 0x9f, 0xff, 0xf1, 0x4b, //0x00001548 .quad 5472436080603216553 + 0xb5, 0xc9, 0xa6, 0xad, 0x8f, 0xac, 0x71, 0x9d, //0x00001550 .quad -7101705404292871755 + 0xaa, 0xb4, 0x3d, 0x60, 0xc3, 0x3f, 0x77, 0x6f, //0x00001558 .quad 8031958568804398250 + 0x22, 0x7c, 0x10, 0x99, 0xb3, 0x17, 0xce, 0xc4, //0x00001560 .quad -4265445736938701790 + 0xd4, 0x21, 0x4d, 0x38, 0xb4, 0x0f, 0x55, 0xcb, //0x00001568 .quad -3795109844276665900 + 0x2b, 0x9b, 0x54, 0x7f, 0xa0, 0x9d, 0x01, 0xf6, //0x00001570 .quad -720121152745989333 + 0x49, 0x6a, 0x60, 0x46, 0xa1, 0x53, 0x2a, 0x7e, //0x00001578 .quad 9091170749936331337 + 0xfb, 0xe0, 0x94, 0x4f, 0x84, 0x02, 0xc1, 0x99, //0x00001580 .quad -7367604748107325189 + 0x6e, 0x42, 0xfc, 0xcb, 0x44, 0x74, 0xda, 0x2e, //0x00001588 .quad 3376138709496513134 + 0x39, 0x19, 0x7a, 0x63, 0x25, 0x43, 0x31, 0xc0, //0x00001590 .quad -4597819916706768583 + 0x09, 0x53, 0xfb, 0xfe, 0x55, 0x11, 0x91, 0xfa, //0x00001598 .quad -391512631556746487 + 0x88, 0x9f, 0x58, 0xbc, 0xee, 0x93, 0x3d, 0xf0, //0x000015a0 .quad -1135588877456072824 + 0xcb, 0x27, 0xba, 0x7e, 0xab, 0x55, 0x35, 0x79, //0x000015a8 .quad 8733981247408842699 + 0xb5, 0x63, 0xb7, 0x35, 0x75, 0x7c, 0x26, 0x96, //0x000015b0 .quad -7627272076051127371 + 0xdf, 0x58, 0x34, 0x2f, 0x8b, 0x55, 0xc1, 0x4b, //0x000015b8 .quad 5458738279630526687 + 0xa2, 0x3c, 0x25, 0x83, 0x92, 0x1b, 0xb0, 0xbb, //0x000015c0 .quad -4922404076636521310 + 0x17, 0x6f, 0x01, 0xfb, 0xed, 0xaa, 0xb1, 0x9e, //0x000015c8 .quad -7011635205744005353 + 0xcb, 0x8b, 0xee, 0x23, 0x77, 0x22, 0x9c, 0xea, //0x000015d0 .quad -1541319077368263733 + 0xdd, 0xca, 0xc1, 0x79, 0xa9, 0x15, 0x5e, 0x46, //0x000015d8 .quad 5070514048102157021 + 0x5f, 0x17, 0x75, 0x76, 0x8a, 0x95, 0xa1, 0x92, //0x000015e0 .quad -7880853450996246689 + 0xca, 0x1e, 0x19, 0xec, 0x89, 0xcd, 0xfa, 0x0b, //0x000015e8 .quad 863228270850154186 + 0x36, 0x5d, 0x12, 0x14, 0xed, 0xfa, 0x49, 0xb7, //0x000015f0 .quad -5239380795317920458 + 0x7c, 0x66, 0x1f, 0x67, 0xec, 0x80, 0xf9, 0xce, //0x000015f8 .quad -3532650679864695172 + 0x84, 0xf4, 0x16, 0x59, 0xa8, 0x79, 0x1c, 0xe5, //0x00001600 .quad -1937539975720012668 + 0x1b, 0x40, 0xe7, 0x80, 0x27, 0xe1, 0xb7, 0x82, //0x00001608 .quad -9027499368258256869 + 0xd2, 0x58, 0xae, 0x37, 0x09, 0xcc, 0x31, 0x8f, //0x00001610 .quad -8128491512466089774 + 0x11, 0x88, 0x90, 0xb0, 0xb8, 0xec, 0xb2, 0xd1, //0x00001618 .quad -3336344095947716591 + 0x07, 0xef, 0x99, 0x85, 0x0b, 0x3f, 0xfe, 0xb2, //0x00001620 .quad -5548928372155224313 + 0x16, 0xaa, 0xb4, 0xdc, 0xe6, 0xa7, 0x1f, 0x86, //0x00001628 .quad -8782116138362033642 + 0xc9, 0x6a, 0x00, 0x67, 0xce, 0xce, 0xbd, 0xdf, //0x00001630 .quad -2324474446766642487 + 0x9b, 0xd4, 0xe1, 0x93, 0xe0, 0x91, 0xa7, 0x67, //0x00001638 .quad 7469098900757009563 + 0xbd, 0x42, 0x60, 0x00, 0x41, 0xa1, 0xd6, 0x8b, //0x00001640 .quad -8370325556870233411 + 0xe1, 0x24, 0x6d, 0x5c, 0x2c, 0xbb, 0xc8, 0xe0, //0x00001648 .quad -2249342214667950879 + 0x6d, 0x53, 0x78, 0x40, 0x91, 0x49, 0xcc, 0xae, //0x00001650 .quad -5851220927660403859 + 0x19, 0x6e, 0x88, 0x73, 0xf7, 0xe9, 0xfa, 0x58, //0x00001658 .quad 6411694268519837209 + 0x48, 0x68, 0x96, 0x90, 0xf5, 0x5b, 0x7f, 0xda, //0x00001660 .quad -2702340141148116920 + 0x9f, 0x89, 0x6a, 0x50, 0x75, 0xa4, 0x39, 0xaf, //0x00001668 .quad -5820440219632367201 + 0x2d, 0x01, 0x5e, 0x7a, 0x79, 0x99, 0x8f, 0x88, //0x00001670 .quad -8606491615858654931 + 0x04, 0x96, 0x42, 0x52, 0xc9, 0x06, 0x84, 0x6d, //0x00001678 .quad 7891439908798240260 + 0x78, 0x81, 0xf5, 0xd8, 0xd7, 0x7f, 0xb3, 0xaa, //0x00001680 .quad -6146428501395930760 + 0x84, 0x3b, 0xd3, 0xa6, 0x7b, 0x08, 0xe5, 0xc8, //0x00001688 .quad -3970758169284363388 + 0xd6, 0xe1, 0x32, 0xcf, 0xcd, 0x5f, 0x60, 0xd5, //0x00001690 .quad -3071349608317525546 + 0x65, 0x0a, 0x88, 0x90, 0x9a, 0x4a, 0x1e, 0xfb, //0x00001698 .quad -351761693178066331 + 0x26, 0xcd, 0x7f, 0xa1, 0xe0, 0x3b, 0x5c, 0x85, //0x000016a0 .quad -8837122532839535322 + 0x80, 0x06, 0x55, 0x9a, 0xa0, 0xee, 0xf2, 0x5c, //0x000016a8 .quad 6697677969404790400 + 0x6f, 0xc0, 0xdf, 0xc9, 0xd8, 0x4a, 0xb3, 0xa6, //0x000016b0 .quad -6434717147622031249 + 0x1f, 0x48, 0xea, 0xc0, 0x48, 0xaa, 0x2f, 0xf4, //0x000016b8 .quad -851274575098787809 + 0x8b, 0xb0, 0x57, 0xfc, 0x8e, 0x1d, 0x60, 0xd0, //0x000016c0 .quad -3431710416100151157 + 0x27, 0xda, 0x24, 0xf1, 0xda, 0x94, 0x3b, 0xf1, //0x000016c8 .quad -1064093218873484761 + 0x57, 0xce, 0xb6, 0x5d, 0x79, 0x12, 0x3c, 0x82, //0x000016d0 .quad -9062348037703676329 + 0x59, 0x08, 0xb7, 0xd6, 0x08, 0x3d, 0xc5, 0x76, //0x000016d8 .quad 8558313775058847833 + 0xed, 0x81, 0x24, 0xb5, 0x17, 0x17, 0xcb, 0xa2, //0x000016e0 .quad -6716249028702207507 + 0x6f, 0xca, 0x64, 0x0c, 0x4b, 0x8c, 0x76, 0x54, //0x000016e8 .quad 6086206200396171887 + 0x68, 0xa2, 0x6d, 0xa2, 0xdd, 0xdc, 0x7d, 0xcb, //0x000016f0 .quad -3783625267450371480 + 0x0a, 0xfd, 0x7d, 0xcf, 0x5d, 0x2f, 0x94, 0xa9, //0x000016f8 .quad -6227300304786948854 + 0x02, 0x0b, 0x09, 0x0b, 0x15, 0x54, 0x5d, 0xfe, //0x00001700 .quad -117845565885576446 + 0x4d, 0x7c, 0x5d, 0x43, 0x35, 0x3b, 0xf9, 0xd3, //0x00001708 .quad -3172439362556298163 + 0xe1, 0xa6, 0xe5, 0x26, 0x8d, 0x54, 0xfa, 0x9e, //0x00001710 .quad -6991182506319567135 + 0xb0, 0x6d, 0x1a, 0x4a, 0x01, 0xc5, 0x7b, 0xc4, //0x00001718 .quad -4288617610811380304 + 0x9a, 0x10, 0x9f, 0x70, 0xb0, 0xe9, 0xb8, 0xc6, //0x00001720 .quad -4127292114472071014 + 0x1c, 0x09, 0xa1, 0x9c, 0x41, 0xb6, 0x9a, 0x35, //0x00001728 .quad 3862600023340550428 + 0xc0, 0xd4, 0xc6, 0x8c, 0x1c, 0x24, 0x67, 0xf8, //0x00001730 .quad -547429124662700864 + 0x63, 0x4b, 0xc9, 0x03, 0xd2, 0x63, 0x01, 0xc3, //0x00001738 .quad -4395122007679087773 + 0xf8, 0x44, 0xfc, 0xd7, 0x91, 0x76, 0x40, 0x9b, //0x00001740 .quad -7259672230555269896 + 0x1e, 0xcf, 0x5d, 0x42, 0x63, 0xde, 0xe0, 0x79, //0x00001748 .quad 8782263791269039902 + 0x36, 0x56, 0xfb, 0x4d, 0x36, 0x94, 0x10, 0xc2, //0x00001750 .quad -4462904269766699466 + 0xe5, 0x42, 0xf5, 0x12, 0xfc, 0x15, 0x59, 0x98, //0x00001758 .quad -7468914334623251739 + 0xc4, 0x2b, 0x7a, 0xe1, 0x43, 0xb9, 0x94, 0xf2, //0x00001760 .quad -966944318780986428 + 0x9e, 0x93, 0xb2, 0x17, 0x7b, 0x5b, 0x6f, 0x3e, //0x00001768 .quad 4498915137003099038 + 0x5a, 0x5b, 0xec, 0x6c, 0xca, 0xf3, 0x9c, 0x97, //0x00001770 .quad -7521869226879198374 + 0x43, 0x9c, 0xcf, 0xee, 0x2c, 0x99, 0x05, 0xa7, //0x00001778 .quad -6411550076227838909 + 0x31, 0x72, 0x27, 0x08, 0xbd, 0x30, 0x84, 0xbd, //0x00001780 .quad -4790650515171610063 + 0x54, 0x83, 0x83, 0x2a, 0x78, 0xff, 0xc6, 0x50, //0x00001788 .quad 5820620459997365076 + 0xbd, 0x4e, 0x31, 0x4a, 0xec, 0x3c, 0xe5, 0xec, //0x00001790 .quad -1376627125537124675 + 0x29, 0x64, 0x24, 0x35, 0x56, 0xbf, 0xf8, 0xa4, //0x00001798 .quad -6559282480285457367 + 0x36, 0xd1, 0x5e, 0xae, 0x13, 0x46, 0x0f, 0x94, //0x000017a0 .quad -7777920981101784778 + 0x9a, 0xbe, 0x36, 0xe1, 0x95, 0x77, 0x1b, 0x87, //0x000017a8 .quad -8711237568605798758 + 0x84, 0x85, 0xf6, 0x99, 0x98, 0x17, 0x13, 0xb9, //0x000017b0 .quad -5110715207949843068 + 0x40, 0x6e, 0x84, 0x59, 0x7b, 0x55, 0xe2, 0x28, //0x000017b8 .quad 2946011094524915264 + 0xe5, 0x26, 0x74, 0xc0, 0x7e, 0xdd, 0x57, 0xe7, //0x000017c0 .quad -1776707991509915931 + 0xd0, 0x89, 0xe5, 0x2f, 0xda, 0xea, 0x1a, 0x33, //0x000017c8 .quad 3682513868156144080 + 0x4f, 0x98, 0x48, 0x38, 0x6f, 0xea, 0x96, 0x90, //0x000017d0 .quad -8027971522334779313 + 0x22, 0x76, 0xef, 0x5d, 0xc8, 0xd2, 0xf0, 0x3f, //0x000017d8 .quad 4607414176811284002 + 0x63, 0xbe, 0x5a, 0x06, 0x0b, 0xa5, 0xbc, 0xb4, //0x000017e0 .quad -5423278384491086237 + 0xaa, 0x53, 0x6b, 0x75, 0x7a, 0x07, 0xed, 0x0f, //0x000017e8 .quad 1147581702586717098 + 0xfb, 0x6d, 0xf1, 0xc7, 0x4d, 0xce, 0xeb, 0xe1, //0x000017f0 .quad -2167411962186469893 + 0x95, 0x28, 0xc6, 0x12, 0x59, 0x49, 0xe8, 0xd3, //0x000017f8 .quad -3177208890193991531 + 0xbd, 0xe4, 0xf6, 0x9c, 0xf0, 0x60, 0x33, 0x8d, //0x00001800 .quad -8272161504007625539 + 0x5d, 0xd9, 0xbb, 0xab, 0xd7, 0x2d, 0x71, 0x64, //0x00001808 .quad 7237616480483531101 + 0xec, 0x9d, 0x34, 0xc4, 0x2c, 0x39, 0x80, 0xb0, //0x00001810 .quad -5728515861582144020 + 0xb4, 0xcf, 0xaa, 0x96, 0x4d, 0x79, 0x8d, 0xbd, //0x00001818 .quad -4788037454677749836 + 0x67, 0xc5, 0x41, 0xf5, 0x77, 0x47, 0xa0, 0xdc, //0x00001820 .quad -2548958808550292121 + 0xa1, 0x83, 0x55, 0xfc, 0xa0, 0xd7, 0xf0, 0xec, //0x00001828 .quad -1373360799919799391 + 0x60, 0x1b, 0x49, 0xf9, 0xaa, 0x2c, 0xe4, 0x89, //0x00001830 .quad -8510628282985014432 + 0x45, 0x72, 0xb5, 0x9d, 0xc4, 0x86, 0x16, 0xf4, //0x00001838 .quad -858350499949874619 + 0x39, 0x62, 0x9b, 0xb7, 0xd5, 0x37, 0x5d, 0xac, //0x00001840 .quad -6026599335303880135 + 0xd6, 0xce, 0x22, 0xc5, 0x75, 0x28, 0x1c, 0x31, //0x00001848 .quad 3538747893490044630 + 0xc7, 0x3a, 0x82, 0x25, 0xcb, 0x85, 0x74, 0xd7, //0x00001850 .quad -2921563150702462265 + 0x8c, 0x82, 0x6b, 0x36, 0x93, 0x32, 0x63, 0x7d, //0x00001858 .quad 9035120885289943692 + 0xbc, 0x64, 0x71, 0xf7, 0x9e, 0xd3, 0xa8, 0x86, //0x00001860 .quad -8743505996830120772 + 0x98, 0x31, 0x03, 0x02, 0x9c, 0xff, 0x5d, 0xae, //0x00001868 .quad -5882264492762254952 + 0xeb, 0xbd, 0x4d, 0xb5, 0x86, 0x08, 0x53, 0xa8, //0x00001870 .quad -6317696477610263061 + 0xfd, 0xfd, 0x83, 0x02, 0x83, 0x7f, 0xf5, 0xd9, //0x00001878 .quad -2741144597525430787 + 0x66, 0x2d, 0xa1, 0x62, 0xa8, 0xca, 0x67, 0xd2, //0x00001880 .quad -3285434578585440922 + 0x7c, 0xfd, 0x24, 0xc3, 0x63, 0xdf, 0x72, 0xd0, //0x00001888 .quad -3426430746906788484 + 0x60, 0xbc, 0xa4, 0x3d, 0xa9, 0xde, 0x80, 0x83, //0x00001890 .quad -8970925639256982432 + 0x6e, 0x1e, 0xf7, 0x59, 0x9e, 0xcb, 0x47, 0x42, //0x00001898 .quad 4776009810824339054 + 0x78, 0xeb, 0x0d, 0x8d, 0x53, 0x16, 0x61, 0xa4, //0x000018a0 .quad -6601971030643840136 + 0x09, 0xe6, 0x74, 0xf0, 0x85, 0xbe, 0xd9, 0x52, //0x000018a8 .quad 5970012263530423817 + 0x56, 0x66, 0x51, 0x70, 0xe8, 0x5b, 0x79, 0xcd, //0x000018b0 .quad -3640777769877412266 + 0x8c, 0x1f, 0x92, 0x6c, 0x27, 0x2e, 0x90, 0x67, //0x000018b8 .quad 7462515329413029772 + 0xf6, 0xdf, 0x32, 0x46, 0x71, 0xd9, 0x6b, 0x80, //0x000018c0 .quad -9193015133814464522 + 0xb7, 0x53, 0xdb, 0xa3, 0xd8, 0x1c, 0xba, 0x00, //0x000018c8 .quad 52386062455755703 + 0xf3, 0x97, 0xbf, 0x97, 0xcd, 0xcf, 0x86, 0xa0, //0x000018d0 .quad -6879582898840692749 + 0xa5, 0x28, 0xd2, 0xcc, 0x0e, 0xa4, 0xe8, 0x80, //0x000018d8 .quad -9157889458785081179 + 0xf0, 0x7d, 0xaf, 0xfd, 0xc0, 0x83, 0xa8, 0xc8, //0x000018e0 .quad -3987792605123478032 + 0xce, 0xb2, 0x06, 0x80, 0x12, 0xcd, 0x22, 0x61, //0x000018e8 .quad 6999382250228200142 + 0x6c, 0x5d, 0x1b, 0x3d, 0xb1, 0xa4, 0xd2, 0xfa, //0x000018f0 .quad -373054737976959636 + 0x82, 0x5f, 0x08, 0x20, 0x57, 0x80, 0x6b, 0x79, //0x000018f8 .quad 8749227812785250178 + 0x63, 0x1a, 0x31, 0xc6, 0xee, 0xa6, 0xc3, 0x9c, //0x00001900 .quad -7150688238876681629 + 0xb1, 0x3b, 0x05, 0x74, 0x36, 0x30, 0xe3, 0xcb, //0x00001908 .quad -3755104653863994447 + 0xfc, 0x60, 0xbd, 0x77, 0xaa, 0x90, 0xf4, 0xc3, //0x00001910 .quad -4326674280168464132 + 0x9d, 0x8a, 0x06, 0x11, 0x44, 0xfc, 0xdb, 0xbe, //0x00001918 .quad -4693880817329993059 + 0x3b, 0xb9, 0xac, 0x15, 0xd5, 0xb4, 0xf1, 0xf4, //0x00001920 .quad -796656831783192261 + 0x45, 0x2d, 0x48, 0x15, 0x55, 0xfb, 0x92, 0xee, //0x00001928 .quad -1255665003235103419 + 0xc5, 0xf3, 0x8b, 0x2d, 0x05, 0x11, 0x17, 0x99, //0x00001930 .quad -7415439547505577019 + 0x4b, 0x1c, 0x4d, 0x2d, 0x15, 0xdd, 0x1b, 0x75, //0x00001938 .quad 8438581409832836171 + 0xb6, 0xf0, 0xee, 0x78, 0x46, 0xd5, 0x5c, 0xbf, //0x00001940 .quad -4657613415954583370 + 0x5e, 0x63, 0xa0, 0x78, 0x5a, 0xd4, 0x62, 0xd2, //0x00001948 .quad -3286831292991118498 + 0xe4, 0xac, 0x2a, 0x17, 0x98, 0x0a, 0x34, 0xef, //0x00001950 .quad -1210330751515841308 + 0x35, 0x7c, 0xc8, 0x16, 0x71, 0x89, 0xfb, 0x86, //0x00001958 .quad -8720225134666286027 + 0x0e, 0xac, 0x7a, 0x0e, 0x9f, 0x86, 0x80, 0x95, //0x00001960 .quad -7673985747338482674 + 0xa1, 0x4d, 0x3d, 0xae, 0xe6, 0x35, 0x5d, 0xd4, //0x00001968 .quad -3144297699952734815 + 0x12, 0x57, 0x19, 0xd2, 0x46, 0xa8, 0xe0, 0xba, //0x00001970 .quad -4980796165745715438 + 0x0a, 0xa1, 0xcc, 0x59, 0x60, 0x83, 0x74, 0x89, //0x00001978 .quad -8542058143368306422 + 0xd7, 0xac, 0x9f, 0x86, 0x58, 0xd2, 0x98, 0xe9, //0x00001980 .quad -1614309188754756393 + 0x4c, 0xc9, 0x3f, 0x70, 0x38, 0xa4, 0xd1, 0x2b, //0x00001988 .quad 3157485376071780684 + 0x06, 0xcc, 0x23, 0x54, 0x77, 0x83, 0xff, 0x91, //0x00001990 .quad -7926472270612804602 + 0xd0, 0xdd, 0x27, 0x46, 0xa3, 0x06, 0x63, 0x7b, //0x00001998 .quad 8890957387685944784 + 0x08, 0xbf, 0x2c, 0x29, 0x55, 0x64, 0x7f, 0xb6, //0x000019a0 .quad -5296404319838617848 + 0x43, 0xd5, 0xb1, 0x17, 0x4c, 0xc8, 0x3b, 0x1a, //0x000019a8 .quad 1890324697752655171 + 0xca, 0xee, 0x77, 0x73, 0x6a, 0x3d, 0x1f, 0xe4, //0x000019b0 .quad -2008819381370884406 + 0x94, 0x4a, 0x9e, 0x1d, 0x5f, 0xba, 0xca, 0x20, //0x000019b8 .quad 2362905872190818964 + 0x3e, 0xf5, 0x2a, 0x88, 0x62, 0x86, 0x93, 0x8e, //0x000019c0 .quad -8173041140997884610 + 0x9d, 0xee, 0x82, 0x72, 0x7b, 0xb4, 0x7e, 0x54, //0x000019c8 .quad 6088502188546649757 + 0x8d, 0xb2, 0x35, 0x2a, 0xfb, 0x67, 0x38, 0xb2, //0x000019d0 .quad -5604615407819967859 + 0x44, 0xaa, 0x23, 0x4f, 0x9a, 0x61, 0x9e, 0xe9, //0x000019d8 .quad -1612744301171463612 + 0x31, 0x1f, 0xc3, 0xf4, 0xf9, 0x81, 0xc6, 0xde, //0x000019e0 .quad -2394083241347571919 + 0xd5, 0x94, 0xec, 0xe2, 0x00, 0xfa, 0x05, 0x64, //0x000019e8 .quad 7207441660390446293 + 0x7e, 0xf3, 0xf9, 0x38, 0x3c, 0x11, 0x3c, 0x8b, //0x000019f0 .quad -8413831053483314306 + 0x05, 0xdd, 0xd3, 0x8d, 0x40, 0xbc, 0x83, 0xde, //0x000019f8 .quad -2412877989897052923 + 0x5e, 0x70, 0x38, 0x47, 0x8b, 0x15, 0x0b, 0xae, //0x00001a00 .quad -5905602798426754978 + 0x46, 0xd4, 0x48, 0xb1, 0x50, 0xab, 0x24, 0x96, //0x00001a08 .quad -7627783505798704058 + 0x76, 0x8c, 0x06, 0x19, 0xee, 0xda, 0x8d, 0xd9, //0x00001a10 .quad -2770317479606055818 + 0x58, 0x09, 0x9b, 0xdd, 0x24, 0xd6, 0xad, 0x3b, //0x00001a18 .quad 4300328673033783640 + 0xc9, 0x17, 0xa4, 0xcf, 0xd4, 0xa8, 0xf8, 0x87, //0x00001a20 .quad -8648977452394866743 + 0xd7, 0xe5, 0x80, 0x0a, 0xd7, 0xa5, 0x4c, 0xe5, //0x00001a28 .quad -1923980597781273129 + 0xbc, 0x1d, 0x8d, 0x03, 0x0a, 0xd3, 0xf6, 0xa9, //0x00001a30 .quad -6199535797066195524 + 0x4d, 0x1f, 0x21, 0xcd, 0x4c, 0xcf, 0x9f, 0x5e, //0x00001a38 .quad 6818396289628184397 + 0x2b, 0x65, 0x70, 0x84, 0xcc, 0x87, 0x74, 0xd4, //0x00001a40 .quad -3137733727905356501 + 0x20, 0x67, 0x69, 0x00, 0x20, 0xc3, 0x47, 0x76, //0x00001a48 .quad 8522995362035230496 + 0x3b, 0x3f, 0xc6, 0xd2, 0xdf, 0xd4, 0xc8, 0x84, //0x00001a50 .quad -8878612607581929669 + 0x74, 0xe0, 0x41, 0x00, 0xf4, 0xd9, 0xec, 0x29, //0x00001a58 .quad 3021029092058325108 + 0x09, 0xcf, 0x77, 0xc7, 0x17, 0x0a, 0xfb, 0xa5, //0x00001a60 .quad -6486579741050024183 + 0x91, 0x58, 0x52, 0x00, 0x71, 0x10, 0x68, 0xf4, //0x00001a68 .quad -835399653354481519 + 0xcc, 0xc2, 0x55, 0xb9, 0x9d, 0xcc, 0x79, 0xcf, //0x00001a70 .quad -3496538657885142324 + 0xb5, 0xee, 0x66, 0x40, 0x8d, 0x14, 0x82, 0x71, //0x00001a78 .quad 8179122470161673909 + 0xbf, 0x99, 0xd5, 0x93, 0xe2, 0x1f, 0xac, 0x81, //0x00001a80 .quad -9102865688819295809 + 0x31, 0x55, 0x40, 0x48, 0xd8, 0x4c, 0xf1, 0xc6, //0x00001a88 .quad -4111420493003729615 + 0x2f, 0x00, 0xcb, 0x38, 0xdb, 0x27, 0x17, 0xa2, //0x00001a90 .quad -6766896092596731857 + 0x7d, 0x6a, 0x50, 0x5a, 0x0e, 0xa0, 0xad, 0xb8, //0x00001a98 .quad -5139275616254662019 + 0x3b, 0xc0, 0xfd, 0x06, 0xd2, 0xf1, 0x9c, 0xca, //0x00001aa0 .quad -3846934097318526917 + 0x1d, 0x85, 0xe4, 0xf0, 0x11, 0x08, 0xd9, 0xa6, //0x00001aa8 .quad -6424094520318327523 + 0x4a, 0x30, 0xbd, 0x88, 0x46, 0x2e, 0x44, 0xfd, //0x00001ab0 .quad -196981603220770742 + 0x64, 0xa6, 0x1d, 0x6d, 0x16, 0x4a, 0x8f, 0x90, //0x00001ab8 .quad -8030118150397909404 + 0x2e, 0x3e, 0x76, 0x15, 0xec, 0x9c, 0x4a, 0x9e, //0x00001ac0 .quad -7040642529654063570 + 0xff, 0x87, 0x32, 0x04, 0x4e, 0x8e, 0x59, 0x9a, //0x00001ac8 .quad -7324666853212387329 + 0xba, 0xcd, 0xd3, 0x1a, 0x27, 0x44, 0xdd, 0xc5, //0x00001ad0 .quad -4189117143640191558 + 0xfe, 0x29, 0x3f, 0x85, 0xe1, 0xf1, 0xef, 0x40, //0x00001ad8 .quad 4679224488766679550 + 0x28, 0xc1, 0x88, 0xe1, 0x30, 0x95, 0x54, 0xf7, //0x00001ae0 .quad -624710411122851544 + 0x7d, 0xf4, 0x8e, 0xe6, 0x59, 0xee, 0x2b, 0xd1, //0x00001ae8 .quad -3374341425896426371 + 0xb9, 0x78, 0xf5, 0x8c, 0x3e, 0xdd, 0x94, 0x9a, //0x00001af0 .quad -7307973034592864071 + 0xcf, 0x58, 0x19, 0x30, 0xf8, 0x74, 0xbb, 0x82, //0x00001af8 .quad -9026492418826348337 + 0xe7, 0xd6, 0x32, 0x30, 0x8e, 0x14, 0x3a, 0xc1, //0x00001b00 .quad -4523280274813692185 + 0x02, 0xaf, 0x1f, 0x3c, 0x36, 0x52, 0x6a, 0xe3, //0x00001b08 .quad -2059743486678159614 + 0xa1, 0x8c, 0x3f, 0xbc, 0xb1, 0x99, 0x88, 0xf1, //0x00001b10 .quad -1042414325089727327 + 0xc2, 0x9a, 0x27, 0xcb, 0xc3, 0xe6, 0x44, 0xdc, //0x00001b18 .quad -2574679358347699518 + 0xe5, 0xb7, 0xa7, 0x15, 0x0f, 0x60, 0xf5, 0x96, //0x00001b20 .quad -7569037980822161435 + 0xba, 0xc0, 0xf8, 0x5e, 0x3a, 0x10, 0xab, 0x29, //0x00001b28 .quad 3002511419460075706 + 0xde, 0xa5, 0x11, 0xdb, 0x12, 0xb8, 0xb2, 0xbc, //0x00001b30 .quad -4849611457600313890 + 0xe8, 0xf0, 0xb6, 0xf6, 0x48, 0xd4, 0x15, 0x74, //0x00001b38 .quad 8364825292752482536 + 0x56, 0x0f, 0xd6, 0x91, 0x17, 0x66, 0xdf, 0xeb, //0x00001b40 .quad -1450328303573004458 + 0x22, 0xad, 0x64, 0x34, 0x5b, 0x49, 0x1b, 0x11, //0x00001b48 .quad 1232659579085827362 + 0x95, 0xc9, 0x25, 0xbb, 0xce, 0x9f, 0x6b, 0x93, //0x00001b50 .quad -7823984217374209643 + 0x35, 0xec, 0xbe, 0x00, 0xd9, 0x0d, 0xb1, 0xca, //0x00001b58 .quad -3841273781498745803 + 0xfb, 0x3b, 0xef, 0x69, 0xc2, 0x87, 0x46, 0xb8, //0x00001b60 .quad -5168294253290374149 + 0x43, 0xa7, 0xee, 0x40, 0x4f, 0x51, 0x5d, 0x3d, //0x00001b68 .quad 4421779809981343555 + 0xfa, 0x0a, 0x6b, 0x04, 0xb3, 0x29, 0x58, 0xe6, //0x00001b70 .quad -1848681798185579782 + 0x13, 0x51, 0x2a, 0x11, 0xa3, 0xa5, 0xb4, 0x0c, //0x00001b78 .quad 915538744049291539 + 0xdc, 0xe6, 0xc2, 0xe2, 0x0f, 0x1a, 0xf7, 0x8f, //0x00001b80 .quad -8072955151507069220 + 0xac, 0x72, 0xba, 0xea, 0x85, 0xe7, 0xf0, 0x47, //0x00001b88 .quad 5183897733458195116 + 0x93, 0xa0, 0x73, 0xdb, 0x93, 0xe0, 0xf4, 0xb3, //0x00001b90 .quad -5479507920956448621 + 0x57, 0x0f, 0x69, 0x65, 0x67, 0x21, 0xed, 0x59, //0x00001b98 .quad 6479872166822743895 + 0xb8, 0x88, 0x50, 0xd2, 0xb8, 0x18, 0xf2, 0xe0, //0x00001ba0 .quad -2237698882768172872 + 0x2d, 0x53, 0xc3, 0x3e, 0xc1, 0x69, 0x68, 0x30, //0x00001ba8 .quad 3488154190101041965 + 0x73, 0x55, 0x72, 0x83, 0x73, 0x4f, 0x97, 0x8c, //0x00001bb0 .quad -8316090829371189901 + 0xfc, 0x13, 0x3a, 0xc7, 0x18, 0x42, 0x41, 0x1e, //0x00001bb8 .quad 2180096368813151228 + 0xcf, 0xea, 0x4e, 0x64, 0x50, 0x23, 0xbd, 0xaf, //0x00001bc0 .quad -5783427518286599473 + 0xfb, 0x98, 0x08, 0xf9, 0x9e, 0x92, 0xd1, 0xe5, //0x00001bc8 .quad -1886565557410948869 + 0x83, 0xa5, 0x62, 0x7d, 0x24, 0x6c, 0xac, 0xdb, //0x00001bd0 .quad -2617598379430861437 + 0x3a, 0xbf, 0x4a, 0xb7, 0x46, 0xf7, 0x45, 0xdf, //0x00001bd8 .quad -2358206946763686086 + 0x72, 0xa7, 0x5d, 0xce, 0x96, 0xc3, 0x4b, 0x89, //0x00001be0 .quad -8553528014785370254 + 0x84, 0xb7, 0x8e, 0x32, 0x8c, 0xba, 0x8b, 0x6b, //0x00001be8 .quad 7749492695127472004 + 0x4f, 0x11, 0xf5, 0x81, 0x7c, 0xb4, 0x9e, 0xab, //0x00001bf0 .quad -6080224000054324913 + 0x65, 0x65, 0x32, 0x3f, 0x2f, 0xa9, 0x6e, 0x06, //0x00001bf8 .quad 463493832054564197 + 0xa2, 0x55, 0x72, 0xa2, 0x9b, 0x61, 0x86, 0xd6, //0x00001c00 .quad -2988593981640518238 + 0xbe, 0xfe, 0xfe, 0x0e, 0x7b, 0x53, 0x0a, 0xc8, //0x00001c08 .quad -4032318728359182658 + 0x85, 0x75, 0x87, 0x45, 0x01, 0xfd, 0x13, 0x86, //0x00001c10 .quad -8785400266166405755 + 0x37, 0x5f, 0x5f, 0xe9, 0x2c, 0x74, 0x06, 0xbd, //0x00001c18 .quad -4826042214438183113 + 0xe7, 0x52, 0xe9, 0x96, 0x41, 0xfc, 0x98, 0xa7, //0x00001c20 .quad -6370064314280619289 + 0x05, 0x37, 0xb7, 0x23, 0x38, 0x11, 0x48, 0x2c, //0x00001c28 .quad 3190819268807046917 + 0xa0, 0xa7, 0xa3, 0xfc, 0x51, 0x3b, 0x7f, 0xd1, //0x00001c30 .quad -3350894374423386208 + 0xc6, 0x04, 0xa5, 0x2c, 0x86, 0x15, 0x5a, 0xf7, //0x00001c38 .quad -623161932418579258 + 0xc4, 0x48, 0xe6, 0x3d, 0x13, 0x85, 0xef, 0x82, //0x00001c40 .quad -9011838011655698236 + 0xfc, 0x22, 0xe7, 0xdb, 0x73, 0x4d, 0x98, 0x9a, //0x00001c48 .quad -7307005235402693892 + 0xf5, 0xda, 0x5f, 0x0d, 0x58, 0x66, 0xab, 0xa3, //0x00001c50 .quad -6653111496142234891 + 0xbb, 0xeb, 0xe0, 0xd2, 0xd0, 0x60, 0x3e, 0xc1, //0x00001c58 .quad -4522070525825979461 + 0xb3, 0xd1, 0xb7, 0x10, 0xee, 0x3f, 0x96, 0xcc, //0x00001c60 .quad -3704703351750405709 + 0xa9, 0x26, 0x99, 0x07, 0x05, 0xf9, 0x8d, 0x31, //0x00001c68 .quad 3570783879572301481 + 0x1f, 0xc6, 0xe5, 0x94, 0xe9, 0xcf, 0xbb, 0xff, //0x00001c70 .quad -19193171260619233 + 0x53, 0x70, 0x7f, 0x49, 0x46, 0x77, 0xf1, 0xfd, //0x00001c78 .quad -148206168962011053 + 0xd3, 0x9b, 0x0f, 0xfd, 0xf1, 0x61, 0xd5, 0x9f, //0x00001c80 .quad -6929524759678968877 + 0x34, 0xa6, 0xef, 0xed, 0x8b, 0xea, 0xb6, 0xfe, //0x00001c88 .quad -92628855601256908 + 0xc8, 0x82, 0x53, 0x7c, 0x6e, 0xba, 0xca, 0xc7, //0x00001c90 .quad -4050219931171323192 + 0xc1, 0x8f, 0x6b, 0xe9, 0x2e, 0xa5, 0x64, 0xfe, //0x00001c98 .quad -115786069501571135 + 0x7b, 0x63, 0x68, 0x1b, 0x0a, 0x69, 0xbd, 0xf9, //0x00001ca0 .quad -451088895536766085 + 0xb1, 0x73, 0xc6, 0xa3, 0x7a, 0xce, 0xfd, 0x3d, //0x00001ca8 .quad 4466953431550423985 + 0x2d, 0x3e, 0x21, 0x51, 0xa6, 0x61, 0x16, 0x9c, //0x00001cb0 .quad -7199459587351560659 + 0x4f, 0x08, 0x5c, 0xa6, 0x0c, 0xa1, 0xbe, 0x06, //0x00001cb8 .quad 486002885505321039 + 0xb8, 0x8d, 0x69, 0xe5, 0x0f, 0xfa, 0x1b, 0xc3, //0x00001cc0 .quad -4387638465762062920 + 0x63, 0x0a, 0xf3, 0xcf, 0x4f, 0x49, 0x6e, 0x48, //0x00001cc8 .quad 5219189625309039203 + 0x26, 0xf1, 0xc3, 0xde, 0x93, 0xf8, 0xe2, 0xf3, //0x00001cd0 .quad -872862063775190746 + 0xfb, 0xcc, 0xef, 0xc3, 0xa3, 0xdb, 0x89, 0x5a, //0x00001cd8 .quad 6523987031636299003 + 0xb7, 0x76, 0x3a, 0x6b, 0x5c, 0xdb, 0x6d, 0x98, //0x00001ce0 .quad -7463067817500576073 + 0x1d, 0xe0, 0x75, 0x5a, 0x46, 0x29, 0x96, 0xf8, //0x00001ce8 .quad -534194123654701027 + 0x65, 0x14, 0x09, 0x86, 0x33, 0x52, 0x89, 0xbe, //0x00001cf0 .quad -4717148753448332187 + 0x24, 0x58, 0x13, 0xf1, 0x97, 0xb3, 0xbb, 0xf6, //0x00001cf8 .quad -667742654568376284 + 0x7f, 0x59, 0x8b, 0x67, 0xc0, 0xa6, 0x2b, 0xee, //0x00001d00 .quad -1284749923383027329 + 0x2d, 0x2e, 0x58, 0xed, 0x7d, 0xa0, 0x6a, 0x74, //0x00001d08 .quad 8388693718644305453 + 0xef, 0x17, 0xb7, 0x40, 0x38, 0x48, 0xdb, 0x94, //0x00001d10 .quad -7720497729755473937 + 0xdd, 0x1c, 0x57, 0xb4, 0x4e, 0xa4, 0xc2, 0xa8, //0x00001d18 .quad -6286281471915778851 + 0xeb, 0xdd, 0xe4, 0x50, 0x46, 0x1a, 0x12, 0xba, //0x00001d20 .quad -5038936143766954517 + 0x14, 0xe4, 0x6c, 0x61, 0x62, 0x4d, 0xf3, 0x92, //0x00001d28 .quad -7857851839894723564 + 0x66, 0x15, 0x1e, 0xe5, 0xd7, 0xa0, 0x96, 0xe8, //0x00001d30 .quad -1686984161281305242 + 0x18, 0x1d, 0xc8, 0xf9, 0xba, 0x20, 0xb0, 0x77, //0x00001d38 .quad 8624429273841147160 + 0x60, 0xcd, 0x32, 0xef, 0x86, 0x24, 0x5e, 0x91, //0x00001d40 .quad -7971894128441897632 + 0x2f, 0x12, 0x1d, 0xdc, 0x74, 0x14, 0xce, 0x0a, //0x00001d48 .quad 778582277723329071 + 0xb8, 0x80, 0xff, 0xaa, 0xa8, 0xad, 0xb5, 0xb5, //0x00001d50 .quad -5353181642124984136 + 0xbb, 0x56, 0x24, 0x13, 0x92, 0x99, 0x81, 0x0d, //0x00001d58 .quad 973227847154161339 + 0xe6, 0x60, 0xbf, 0xd5, 0x12, 0x19, 0x23, 0xe3, //0x00001d60 .quad -2079791034228842266 + 0x6a, 0x6c, 0xed, 0x97, 0xf6, 0xff, 0xe1, 0x10, //0x00001d68 .quad 1216534808942701674 + 0x8f, 0x9c, 0x97, 0xc5, 0xab, 0xef, 0xf5, 0x8d, //0x00001d70 .quad -8217398424034108273 + 0xc2, 0x63, 0xf4, 0x1e, 0xfa, 0x3f, 0x8d, 0xca, //0x00001d78 .quad -3851351762838199358 + 0xb3, 0x83, 0xfd, 0xb6, 0x96, 0x6b, 0x73, 0xb1, //0x00001d80 .quad -5660062011615247437 + 0xb3, 0x7c, 0xb1, 0xa6, 0xf8, 0x8f, 0x30, 0xbd, //0x00001d88 .quad -4814189703547749197 + 0xa0, 0xe4, 0xbc, 0x64, 0x7c, 0x46, 0xd0, 0xdd, //0x00001d90 .quad -2463391496091671392 + 0xdf, 0xdb, 0x5d, 0xd0, 0xf6, 0xb3, 0x7c, 0xac, //0x00001d98 .quad -6017737129434686497 + 0xe4, 0x0e, 0xf6, 0xbe, 0x0d, 0x2c, 0xa2, 0x8a, //0x00001da0 .quad -8457148712698376476 + 0x6c, 0xa9, 0x3a, 0x42, 0x7a, 0xf0, 0xcd, 0x6b, //0x00001da8 .quad 7768129340171790700 + 0x9d, 0x92, 0xb3, 0x2e, 0x11, 0xb7, 0x4a, 0xad, //0x00001db0 .quad -5959749872445582691 + 0xc7, 0x53, 0xc9, 0xd2, 0x98, 0x6c, 0xc1, 0x86, //0x00001db8 .quad -8736582398494813241 + 0x44, 0x77, 0x60, 0x7a, 0xd5, 0x64, 0x9d, 0xd8, //0x00001dc0 .quad -2838001322129590460 + 0xb8, 0xa8, 0x7b, 0x07, 0xbf, 0xc7, 0x71, 0xe8, //0x00001dc8 .quad -1697355961263740744 + 0x8b, 0x4a, 0x7c, 0x6c, 0x05, 0x5f, 0x62, 0x87, //0x00001dd0 .quad -8691279853972075893 + 0x73, 0x49, 0xad, 0x64, 0xd7, 0x1c, 0x47, 0x11, //0x00001dd8 .quad 1244995533423855987 + 0x2d, 0x5d, 0x9b, 0xc7, 0xc6, 0xf6, 0x3a, 0xa9, //0x00001de0 .quad -6252413799037706963 + 0xd0, 0x9b, 0xd8, 0x3d, 0x0d, 0xe4, 0x98, 0xd5, //0x00001de8 .quad -3055441601647567920 + 0x79, 0x34, 0x82, 0x79, 0x78, 0xb4, 0x89, 0xd3, //0x00001df0 .quad -3203831230369745799 + 0xc4, 0xc2, 0x4e, 0x8d, 0x10, 0x1d, 0xff, 0x4a, //0x00001df8 .quad 5404070034795315908 + 0xcb, 0x60, 0xf1, 0x4b, 0xcb, 0x10, 0x36, 0x84, //0x00001e00 .quad -8919923546622172981 + 0xbb, 0x39, 0x51, 0x58, 0x2a, 0x72, 0xdf, 0xce, //0x00001e08 .quad -3539985255894009413 + 0xfe, 0xb8, 0xed, 0x1e, 0xfe, 0x94, 0x43, 0xa5, //0x00001e10 .quad -6538218414850328322 + 0x29, 0x88, 0x65, 0xee, 0xb4, 0x4e, 0x97, 0xc2, //0x00001e18 .quad -4424981569867511767 + 0x3e, 0x27, 0xa9, 0xa6, 0x3d, 0x7a, 0x94, 0xce, //0x00001e20 .quad -3561087000135522498 + 0x33, 0xea, 0xfe, 0x29, 0x62, 0x22, 0x3d, 0x73, //0x00001e28 .quad 8303831092947774003 + 0x87, 0xb8, 0x29, 0x88, 0x66, 0xcc, 0x1c, 0x81, //0x00001e30 .quad -9143208402725783417 + 0x60, 0x52, 0x3f, 0x5a, 0x7d, 0x35, 0x06, 0x08, //0x00001e38 .quad 578208414664970848 + 0xa8, 0x26, 0x34, 0x2a, 0x80, 0xff, 0x63, 0xa1, //0x00001e40 .quad -6817324484979841368 + 0xf8, 0x26, 0xcf, 0xb0, 0xdc, 0xc2, 0x07, 0xca, //0x00001e48 .quad -3888925500096174344 + 0x52, 0x30, 0xc1, 0x34, 0x60, 0xff, 0xbc, 0xc9, //0x00001e50 .quad -3909969587797413806 + 0xb6, 0xf0, 0x02, 0xdd, 0x93, 0xb3, 0x89, 0xfc, //0x00001e58 .quad -249470856692830026 + 0x67, 0x7c, 0xf1, 0x41, 0x38, 0x3f, 0x2c, 0xfc, //0x00001e60 .quad -275775966319379353 + 0xe3, 0xac, 0x43, 0xd4, 0x78, 0x20, 0xac, 0xbb, //0x00001e68 .quad -4923524589293425437 + 0xc0, 0xed, 0x36, 0x29, 0x83, 0xa7, 0x9b, 0x9d, //0x00001e70 .quad -7089889006590693952 + 0x0e, 0x4c, 0xaa, 0x84, 0x4b, 0x94, 0x4b, 0xd5, //0x00001e78 .quad -3077202868308390898 + 0x31, 0xa9, 0x84, 0xf3, 0x63, 0x91, 0x02, 0xc5, //0x00001e80 .quad -4250675239810979535 + 0x12, 0xdf, 0xd4, 0x65, 0x5e, 0x79, 0x9e, 0x0a, //0x00001e88 .quad 765182433041899282 + 0x7d, 0xd3, 0x65, 0xf0, 0xbc, 0x35, 0x43, 0xf6, //0x00001e90 .quad -701658031336336515 + 0xd6, 0x16, 0x4a, 0xff, 0xb5, 0x17, 0x46, 0x4d, //0x00001e98 .quad 5568164059729762006 + 0x2e, 0xa4, 0x3f, 0x16, 0x96, 0x01, 0xea, 0x99, //0x00001ea0 .quad -7356065297226292178 + 0x46, 0x4e, 0x8e, 0xbf, 0xd1, 0xce, 0x4b, 0x50, //0x00001ea8 .quad 5785945546544795206 + 0x39, 0x8d, 0xcf, 0x9b, 0xfb, 0x81, 0x64, 0xc0, //0x00001eb0 .quad -4583395603105477319 + 0xd7, 0xe1, 0x71, 0x2f, 0x86, 0xc2, 0x5e, 0xe4, //0x00001eb8 .quad -1990940103673781801 + 0x88, 0x70, 0xc3, 0x82, 0x7a, 0xa2, 0x7d, 0xf0, //0x00001ec0 .quad -1117558485454458744 + 0x4d, 0x5a, 0x4e, 0xbb, 0x27, 0x73, 0x76, 0x5d, //0x00001ec8 .quad 6734696907262548557 + 0x55, 0x26, 0xba, 0x91, 0x8c, 0x85, 0x4e, 0x96, //0x00001ed0 .quad -7616003081050118571 + 0x70, 0xf8, 0x10, 0xd5, 0xf8, 0x07, 0x6a, 0x3a, //0x00001ed8 .quad 4209185567039092848 + 0xea, 0xaf, 0x28, 0xb6, 0xef, 0x26, 0xe2, 0xbb, //0x00001ee0 .quad -4908317832885260310 + 0x8c, 0x36, 0x55, 0x0a, 0xf7, 0x89, 0x04, 0x89, //0x00001ee8 .quad -8573576096483297652 + 0xe5, 0xdb, 0xb2, 0xa3, 0xab, 0xb0, 0xda, 0xea, //0x00001ef0 .quad -1523711272679187483 + 0x2f, 0x84, 0xea, 0xcc, 0x74, 0xac, 0x45, 0x2b, //0x00001ef8 .quad 3118087934678041647 + 0x6f, 0xc9, 0x4f, 0x46, 0x6b, 0xae, 0xc8, 0x92, //0x00001f00 .quad -7869848573065574033 + 0x9e, 0x92, 0x12, 0x00, 0xc9, 0x8b, 0x0b, 0x3b, //0x00001f08 .quad 4254647968387469982 + 0xcb, 0xbb, 0xe3, 0x17, 0x06, 0xda, 0x7a, 0xb7, //0x00001f10 .quad -5225624697904579637 + 0x45, 0x37, 0x17, 0x40, 0xbb, 0x6e, 0xce, 0x09, //0x00001f18 .quad 706623942056949573 + 0xbd, 0xaa, 0xdc, 0x9d, 0x87, 0x90, 0x59, 0xe5, //0x00001f20 .quad -1920344853953336643 + 0x16, 0x05, 0x1d, 0x10, 0x6a, 0x0a, 0x42, 0xcc, //0x00001f28 .quad -3728406090856200938 + 0xb6, 0xea, 0xa9, 0xc2, 0x54, 0xfa, 0x57, 0x8f, //0x00001f30 .quad -8117744561361917258 + 0x2e, 0x23, 0x12, 0x4a, 0x82, 0x46, 0xa9, 0x9f, //0x00001f38 .quad -6941939825212513490 + 0x64, 0x65, 0x54, 0xf3, 0xe9, 0xf8, 0x2d, 0xb3, //0x00001f40 .quad -5535494683275008668 + 0xfa, 0xab, 0x96, 0xdc, 0x22, 0x98, 0x93, 0x47, //0x00001f48 .quad 5157633273766521850 + 0xbd, 0x7e, 0x29, 0x70, 0x24, 0x77, 0xf9, 0xdf, //0x00001f50 .quad -2307682335666372931 + 0xf8, 0x56, 0xbc, 0x93, 0x2b, 0x7e, 0x78, 0x59, //0x00001f58 .quad 6447041592208152312 + 0x36, 0xef, 0x19, 0xc6, 0x76, 0xea, 0xfb, 0x8b, //0x00001f60 .quad -8359830487432564938 + 0x5b, 0xb6, 0x55, 0x3c, 0xdb, 0x4e, 0xeb, 0x57, //0x00001f68 .quad 6335244004343789147 + 0x03, 0x6b, 0xa0, 0x77, 0x14, 0xe5, 0xfa, 0xae, //0x00001f70 .quad -5838102090863318269 + 0xf2, 0x23, 0x6b, 0x0b, 0x92, 0x22, 0xe6, 0xed, //0x00001f78 .quad -1304317031425039374 + 0xc4, 0x85, 0x88, 0x95, 0x59, 0x9e, 0xb9, 0xda, //0x00001f80 .quad -2685941595151759932 + 0xee, 0xec, 0x45, 0x8e, 0x36, 0xab, 0x5f, 0xe9, //0x00001f88 .quad -1630396289281299218 + 0x9b, 0x53, 0x75, 0xfd, 0xf7, 0x02, 0xb4, 0x88, //0x00001f90 .quad -8596242524610931813 + 0x15, 0xb4, 0xeb, 0x18, 0x02, 0xcb, 0xdb, 0x11, //0x00001f98 .quad 1286845328412881941 + 0x81, 0xa8, 0xd2, 0xfc, 0xb5, 0x03, 0xe1, 0xaa, //0x00001fa0 .quad -6133617137336276863 + 0x1a, 0xa1, 0x26, 0x9f, 0xc2, 0xbd, 0x52, 0xd6, //0x00001fa8 .quad -3003129357911285478 + 0xa2, 0x52, 0x07, 0x7c, 0xa3, 0x44, 0x99, 0xd5, //0x00001fb0 .quad -3055335403242958174 + 0x60, 0x49, 0xf0, 0x46, 0x33, 0x6d, 0xe7, 0x4b, //0x00001fb8 .quad 5469460339465668960 + 0xa5, 0x93, 0x84, 0x2d, 0xe6, 0xca, 0x7f, 0x85, //0x00001fc0 .quad -8827113654667930715 + 0xdc, 0x2d, 0x56, 0x0c, 0x40, 0xa4, 0x70, 0x6f, //0x00001fc8 .quad 8030098730593431004 + 0x8e, 0xb8, 0xe5, 0xb8, 0x9f, 0xbd, 0xdf, 0xa6, //0x00001fd0 .quad -6422206049907525490 + 0x53, 0xb9, 0x6b, 0x0f, 0x50, 0xcd, 0x4c, 0xcb, //0x00001fd8 .quad -3797434642040374957 + 0xb2, 0x26, 0x1f, 0xa7, 0x07, 0xad, 0x97, 0xd0, //0x00001fe0 .quad -3416071543957018958 + 0xa8, 0xa7, 0x46, 0x13, 0xa4, 0x00, 0x20, 0x7e, //0x00001fe8 .quad 9088264752731695016 + 0x2f, 0x78, 0x73, 0xc8, 0x24, 0xcc, 0x5e, 0x82, //0x00001ff0 .quad -9052573742614218705 + 0xc9, 0x28, 0x0c, 0x8c, 0x66, 0x00, 0xd4, 0x8e, //0x00001ff8 .quad -8154892584824854327 + 0x3b, 0x56, 0x90, 0xfa, 0x2d, 0x7f, 0xf6, 0xa2, //0x00002000 .quad -6704031159840385477 + 0xfb, 0x32, 0x0f, 0x2f, 0x80, 0x00, 0x89, 0x72, //0x00002008 .quad 8253128342678483707 + 0xca, 0x6b, 0x34, 0x79, 0xf9, 0x1e, 0xb4, 0xcb, //0x00002010 .quad -3768352931373093942 + 0xba, 0xff, 0xd2, 0x3a, 0xa0, 0x40, 0x2b, 0x4f, //0x00002018 .quad 5704724409920716730 + 0xbc, 0x86, 0x81, 0xd7, 0xb7, 0x26, 0xa1, 0xfe, //0x00002020 .quad -98755145788979524 + 0xa9, 0xbf, 0x87, 0x49, 0xc8, 0x10, 0xf6, 0xe2, //0x00002028 .quad -2092466524453879895 + 0x36, 0xf4, 0xb0, 0xe6, 0x32, 0xb8, 0x24, 0x9f, //0x00002030 .quad -6979250993759194058 + 0xca, 0xd7, 0xf4, 0x2d, 0x7d, 0xca, 0xd9, 0x0d, //0x00002038 .quad 998051431430019018 + 0x43, 0x31, 0x5d, 0xa0, 0x3f, 0xe6, 0xed, 0xc6, //0x00002040 .quad -4112377723771604669 + 0xbc, 0x0d, 0x72, 0x79, 0x1c, 0x3d, 0x50, 0x91, //0x00002048 .quad -7975807747567252036 + 0x94, 0x7d, 0x74, 0x88, 0xcf, 0x5f, 0xa9, 0xf8, //0x00002050 .quad -528786136287117932 + 0x2b, 0x91, 0xce, 0x97, 0x63, 0x4c, 0xa4, 0x75, //0x00002058 .quad 8476984389250486571 + 0x7c, 0xce, 0x48, 0xb5, 0xe1, 0xdb, 0x69, 0x9b, //0x00002060 .quad -7248020362820530564 + 0xbb, 0x1a, 0xe1, 0x3e, 0xbe, 0xaf, 0x86, 0xc9, //0x00002068 .quad -3925256793573221701 + 0x1b, 0x02, 0x9b, 0x22, 0xda, 0x52, 0x44, 0xc2, //0x00002070 .quad -4448339435098275301 + 0x69, 0x61, 0x99, 0xce, 0xad, 0x5b, 0xe8, 0xfb, //0x00002078 .quad -294884973539139223 + 0xa2, 0xc2, 0x41, 0xab, 0x90, 0x67, 0xd5, 0xf2, //0x00002080 .quad -948738275445456222 + 0xc4, 0xb9, 0x3f, 0x42, 0x99, 0x72, 0xe2, 0xfa, //0x00002088 .quad -368606216923924028 + 0xa5, 0x19, 0x09, 0x6b, 0xba, 0x60, 0xc5, 0x97, //0x00002090 .quad -7510490449794491995 + 0x1b, 0xd4, 0x67, 0xc9, 0x9f, 0x87, 0xcd, 0xdc, //0x00002098 .quad -2536221894791146469 + 0x0f, 0x60, 0xcb, 0x05, 0xe9, 0xb8, 0xb6, 0xbd, //0x000020a0 .quad -4776427043815727089 + 0x21, 0xc9, 0xc1, 0xbb, 0x87, 0xe9, 0x00, 0x54, //0x000020a8 .quad 6053094668365842721 + 0x13, 0x38, 0x3e, 0x47, 0x23, 0x67, 0x24, 0xed, //0x000020b0 .quad -1358847786342270957 + 0x69, 0x3b, 0xb2, 0xaa, 0xe9, 0x23, 0x01, 0x29, //0x000020b8 .quad 2954682317029915497 + 0x0b, 0xe3, 0x86, 0x0c, 0x76, 0xc0, 0x36, 0x94, //0x000020c0 .quad -7766808894105001205 + 0x22, 0x65, 0xaf, 0x0a, 0x72, 0xb6, 0xa0, 0xf9, //0x000020c8 .quad -459166561069996766 + 0xce, 0x9b, 0xa8, 0x8f, 0x93, 0x70, 0x44, 0xb9, //0x000020d0 .quad -5096825099203863602 + 0x6a, 0x3e, 0x5b, 0x8d, 0x0e, 0xe4, 0x08, 0xf8, //0x000020d8 .quad -573958201337495958 + 0xc2, 0xc2, 0x92, 0x73, 0xb8, 0x8c, 0x95, 0xe7, //0x000020e0 .quad -1759345355577441598 + 0x05, 0x0e, 0xb2, 0x30, 0x12, 0x1d, 0x0b, 0xb6, //0x000020e8 .quad -5329133770099257851 + 0xb9, 0xb9, 0x3b, 0x48, 0xf3, 0x77, 0xbd, 0x90, //0x000020f0 .quad -8017119874876982855 + 0xc3, 0x48, 0x6f, 0x5e, 0x2b, 0xf2, 0xc6, 0xb1, //0x000020f8 .quad -5636551615525730109 + 0x28, 0xa8, 0x4a, 0x1a, 0xf0, 0xd5, 0xec, 0xb4, //0x00002100 .quad -5409713825168840664 + 0xf4, 0x1a, 0x0b, 0x36, 0xb6, 0xae, 0x38, 0x1e, //0x00002108 .quad 2177682517447613172 + 0x32, 0x52, 0xdd, 0x20, 0x6c, 0x0b, 0x28, 0xe2, //0x00002110 .quad -2150456263033662926 + 0xb1, 0xe1, 0x8d, 0xc3, 0x63, 0xda, 0xc6, 0x25, //0x00002118 .quad 2722103146809516465 + 0x5f, 0x53, 0x8a, 0x94, 0x23, 0x07, 0x59, 0x8d, //0x00002120 .quad -8261564192037121185 + 0x0f, 0xad, 0x38, 0x5a, 0x7e, 0x48, 0x9c, 0x57, //0x00002128 .quad 6313000485183335695 + 0x37, 0xe8, 0xac, 0x79, 0xec, 0x48, 0xaf, 0xb0, //0x00002130 .quad -5715269221619013577 + 0x52, 0xd8, 0xc6, 0xf0, 0x9d, 0x5a, 0x83, 0x2d, //0x00002138 .quad 3279564588051781714 + 0x44, 0x22, 0x18, 0x98, 0x27, 0x1b, 0xdb, 0xdc, //0x00002140 .quad -2532400508596379068 + 0x66, 0x8e, 0xf8, 0x6c, 0x45, 0x31, 0xe4, 0xf8, //0x00002148 .quad -512230283362660762 + 0x6b, 0x15, 0x0f, 0xbf, 0xf8, 0xf0, 0x08, 0x8a, //0x00002150 .quad -8500279345513818773 + 0x00, 0x59, 0x1b, 0x64, 0xcb, 0x9e, 0x8e, 0x1b, //0x00002158 .quad 1985699082112030976 + 0xc5, 0xda, 0xd2, 0xee, 0x36, 0x2d, 0x8b, 0xac, //0x00002160 .quad -6013663163464885563 + 0x40, 0x2f, 0x22, 0x3d, 0x7e, 0x46, 0x72, 0xe2, //0x00002168 .quad -2129562165787349184 + 0x77, 0x91, 0x87, 0xaa, 0x84, 0xf8, 0xad, 0xd7, //0x00002170 .quad -2905392935903719049 + 0x10, 0xbb, 0x6a, 0xcc, 0x1d, 0xd8, 0x0e, 0x5b, //0x00002178 .quad 6561419329620589328 + 0xea, 0xba, 0x94, 0xea, 0x52, 0xbb, 0xcc, 0x86, //0x00002180 .quad -8733399612580906262 + 0xea, 0xb4, 0xc2, 0x9f, 0x12, 0x47, 0xe9, 0x98, //0x00002188 .quad -7428327965055601430 + 0xa5, 0xe9, 0x39, 0xa5, 0x27, 0xea, 0x7f, 0xa8, //0x00002190 .quad -6305063497298744923 + 0x25, 0x62, 0xb3, 0x47, 0xd7, 0x98, 0x23, 0x3f, //0x00002198 .quad 4549648098962661925 + 0x0e, 0x64, 0x88, 0x8e, 0xb1, 0xe4, 0x9f, 0xd2, //0x000021a0 .quad -3269643353196043250 + 0xae, 0x3a, 0xa0, 0x19, 0x0d, 0x7f, 0xec, 0x8e, //0x000021a8 .quad -8147997931578836306 + 0x89, 0x3e, 0x15, 0xf9, 0xee, 0xee, 0xa3, 0x83, //0x000021b0 .quad -8961056123388608887 + 0xad, 0x24, 0x04, 0x30, 0x68, 0xcf, 0x53, 0x19, //0x000021b8 .quad 1825030320404309165 + 0x2b, 0x8e, 0x5a, 0xb7, 0xaa, 0xea, 0x8c, 0xa4, //0x000021c0 .quad -6589634135808373205 + 0xd8, 0x2d, 0x05, 0x3c, 0x42, 0xc3, 0xa8, 0x5f, //0x000021c8 .quad 6892973918932774360 + 0xb6, 0x31, 0x31, 0x65, 0x55, 0x25, 0xb0, 0xcd, //0x000021d0 .quad -3625356651333078602 + 0x4e, 0x79, 0x06, 0xcb, 0x12, 0xf4, 0x92, 0x37, //0x000021d8 .quad 4004531380238580046 + 0x11, 0xbf, 0x3e, 0x5f, 0x55, 0x17, 0x8e, 0x80, //0x000021e0 .quad -9183376934724255983 + 0xd1, 0x0b, 0xe4, 0xbe, 0x8b, 0xd8, 0xbb, 0xe2, //0x000021e8 .quad -2108853905778275375 + 0xd6, 0x6e, 0x0e, 0xb7, 0x2a, 0x9d, 0xb1, 0xa0, //0x000021f0 .quad -6867535149977932074 + 0xc5, 0x0e, 0x9d, 0xae, 0xae, 0xce, 0x6a, 0x5b, //0x000021f8 .quad 6587304654631931589 + 0x8b, 0x0a, 0xd2, 0x64, 0x75, 0x04, 0xde, 0xc8, //0x00002200 .quad -3972732919045027189 + 0x76, 0x52, 0x44, 0x5a, 0x5a, 0x82, 0x45, 0xf2, //0x00002208 .quad -989241218564861322 + 0x2e, 0x8d, 0x06, 0xbe, 0x92, 0x85, 0x15, 0xfb, //0x00002210 .quad -354230130378896082 + 0x13, 0x67, 0xd5, 0xf0, 0xf0, 0xe2, 0xd6, 0xee, //0x00002218 .quad -1236551523206076653 + 0x3d, 0x18, 0xc4, 0xb6, 0x7b, 0x73, 0xed, 0x9c, //0x00002220 .quad -7138922859127891907 + 0x6c, 0x60, 0x85, 0x96, 0xd6, 0x4d, 0x46, 0x55, //0x00002228 .quad 6144684325637283948 + 0x4c, 0x1e, 0x75, 0xa4, 0x5a, 0xd0, 0x28, 0xc4, //0x00002230 .quad -4311967555482476980 + 0x87, 0xb8, 0x26, 0x3c, 0x4c, 0xe1, 0x97, 0xaa, //0x00002238 .quad -6154202648235558777 + 0xdf, 0x65, 0x92, 0x4d, 0x71, 0x04, 0x33, 0xf5, //0x00002240 .quad -778273425925708321 + 0xa9, 0x66, 0x30, 0x4b, 0x9f, 0xd9, 0x3d, 0xd5, //0x00002248 .quad -3081067291867060567 + 0xab, 0x7f, 0x7b, 0xd0, 0xc6, 0xe2, 0x3f, 0x99, //0x00002250 .quad -7403949918844649557 + 0x2a, 0x40, 0xfe, 0x8e, 0x03, 0xa8, 0x46, 0xe5, //0x00002258 .quad -1925667057416912854 + 0x96, 0x5f, 0x9a, 0x84, 0x78, 0xdb, 0x8f, 0xbf, //0x00002260 .quad -4643251380128424042 + 0x34, 0xd0, 0xbd, 0x72, 0x04, 0x52, 0x98, 0xde, //0x00002268 .quad -2407083821771141068 + 0x7c, 0xf7, 0xc0, 0xa5, 0x56, 0xd2, 0x73, 0xef, //0x00002270 .quad -1192378206733142148 + 0x41, 0x44, 0x6d, 0x8f, 0x85, 0x66, 0x3e, 0x96, //0x00002278 .quad -7620540795641314239 + 0xad, 0x9a, 0x98, 0x27, 0x76, 0x63, 0xa8, 0x95, //0x00002280 .quad -7662765406849295699 + 0xa9, 0x4a, 0xa4, 0x79, 0x13, 0x00, 0xe7, 0xdd, //0x00002288 .quad -2456994988062127447 + 0x59, 0xc1, 0x7e, 0xb1, 0x53, 0x7c, 0x12, 0xbb, //0x00002290 .quad -4966770740134231719 + 0x53, 0x5d, 0x0d, 0x58, 0x18, 0xc0, 0x60, 0x55, //0x00002298 .quad 6152128301777116499 + 0xaf, 0x71, 0xde, 0x9d, 0x68, 0x1b, 0xd7, 0xe9, //0x000022a0 .quad -1596777406740401745 + 0xa7, 0xb4, 0x10, 0x6e, 0x1e, 0xf0, 0xb8, 0xaa, //0x000022a8 .quad -6144897678060768089 + 0x0d, 0x07, 0xab, 0x62, 0x21, 0x71, 0x26, 0x92, //0x000022b0 .quad -7915514906853832947 + 0xe9, 0x70, 0xca, 0x04, 0x13, 0x96, 0xb3, 0xca, //0x000022b8 .quad -3840561048787980055 + 0xd1, 0xc8, 0x55, 0xbb, 0x69, 0x0d, 0xb0, 0xb6, //0x000022c0 .quad -5282707615139903279 + 0x23, 0x0d, 0xfd, 0xc5, 0x97, 0x7b, 0x60, 0x3d, //0x000022c8 .quad 4422670725869800739 + 0x05, 0x3b, 0x2b, 0x2a, 0xc4, 0x10, 0x5c, 0xe4, //0x000022d0 .quad -1991698500497491195 + 0x6b, 0x50, 0x7c, 0xb7, 0x7d, 0x9a, 0xb8, 0x8c, //0x000022d8 .quad -8306719647944912789 + 0xe3, 0x04, 0x5b, 0x9a, 0x7a, 0x8a, 0xb9, 0x8e, //0x000022e0 .quad -8162340590452013853 + 0x43, 0xb2, 0xad, 0x92, 0x8e, 0x60, 0xf3, 0x77, //0x000022e8 .quad 8643358275316593219 + 0x1c, 0xc6, 0xf1, 0x40, 0x19, 0xed, 0x67, 0xb2, //0x000022f0 .quad -5591239719637629412 + 0xd4, 0x1e, 0x59, 0x37, 0xb2, 0x38, 0xf0, 0x55, //0x000022f8 .quad 6192511825718353620 + 0xa3, 0x37, 0x2e, 0x91, 0x5f, 0xe8, 0x01, 0xdf, //0x00002300 .quad -2377363631119648861 + 0x89, 0x66, 0x2f, 0xc5, 0xde, 0x46, 0x6c, 0x6b, //0x00002308 .quad 7740639782147942025 + 0xc6, 0xe2, 0xbc, 0xba, 0x3b, 0x31, 0x61, 0x8b, //0x00002310 .quad -8403381297090862394 + 0x16, 0xa0, 0x3d, 0x3b, 0x4b, 0xac, 0x23, 0x23, //0x00002318 .quad 2532056854628769814 + 0x77, 0x1b, 0x6c, 0xa9, 0x8a, 0x7d, 0x39, 0xae, //0x00002320 .quad -5892540602936190089 + 0x1b, 0x08, 0x0d, 0x0a, 0x5e, 0x97, 0xec, 0xab, //0x00002328 .quad -6058300968568813541 + 0x55, 0x22, 0xc7, 0x53, 0xed, 0xdc, 0xc7, 0xd9, //0x00002330 .quad -2753989735242849707 + 0x22, 0x4a, 0x90, 0x8c, 0x35, 0xbd, 0xe7, 0x96, //0x00002338 .quad -7572876210711016926 + 0x75, 0x75, 0x5c, 0x54, 0x14, 0xea, 0x1c, 0x88, //0x00002340 .quad -8638772612167862923 + 0x55, 0x2e, 0xda, 0x77, 0x41, 0xd6, 0x50, 0x7e, //0x00002348 .quad 9102010423587778133 + 0xd2, 0x92, 0x73, 0x69, 0x99, 0x24, 0x24, 0xaa, //0x00002350 .quad -6186779746782440750 + 0xea, 0xb9, 0xd0, 0xd5, 0xd1, 0x0b, 0xe5, 0xdd, //0x00002358 .quad -2457545025797441046 + 0x87, 0x77, 0xd0, 0xc3, 0xbf, 0x2d, 0xad, 0xd4, //0x00002360 .quad -3121788665050663033 + 0x65, 0xe8, 0x44, 0x4b, 0xc6, 0x4e, 0x5e, 0x95, //0x00002368 .quad -7683617300674189211 + 0xb4, 0x4a, 0x62, 0xda, 0x97, 0x3c, 0xec, 0x84, //0x00002370 .quad -8868646943297746252 + 0x3f, 0x11, 0x0b, 0xef, 0x3b, 0xf1, 0x5a, 0xbd, //0x00002378 .quad -4802260812921368257 + 0x61, 0xdd, 0xfa, 0xd0, 0xbd, 0x4b, 0x27, 0xa6, //0x00002380 .quad -6474122660694794911 + 0x8f, 0xd5, 0xcd, 0xea, 0x8a, 0xad, 0xb1, 0xec, //0x00002388 .quad -1391139997724322417 + 0xba, 0x94, 0x39, 0x45, 0xad, 0x1e, 0xb1, 0xcf, //0x00002390 .quad -3480967307441105734 + 0xf3, 0x4a, 0x81, 0xa5, 0xed, 0x18, 0xde, 0x67, //0x00002398 .quad 7484447039699372787 + 0xf4, 0xfc, 0x43, 0x4b, 0x2c, 0xb3, 0xce, 0x81, //0x000023a0 .quad -9093133594791772940 + 0xd8, 0xce, 0x70, 0x87, 0x94, 0xcf, 0xea, 0x80, //0x000023a8 .quad -9157278655470055720 + 0x31, 0xfc, 0x14, 0x5e, 0xf7, 0x5f, 0x42, 0xa2, //0x000023b0 .quad -6754730975062328271 + 0x8e, 0x02, 0x4d, 0xa9, 0x79, 0x83, 0x25, 0xa1, //0x000023b8 .quad -6834912300910181746 + 0x3e, 0x3b, 0x9a, 0x35, 0xf5, 0xf7, 0xd2, 0xca, //0x000023c0 .quad -3831727700400522434 + 0x31, 0x43, 0xa0, 0x13, 0x58, 0xe4, 0x6e, 0x09, //0x000023c8 .quad 679731660717048625 + 0x0d, 0xca, 0x00, 0x83, 0xf2, 0xb5, 0x87, 0xfd, //0x000023d0 .quad -177973607073265139 + 0xfd, 0x53, 0x88, 0x18, 0x6e, 0x9d, 0xca, 0x8b, //0x000023d8 .quad -8373707460958465027 + 0x48, 0x7e, 0xe0, 0x91, 0xb7, 0xd1, 0x74, 0x9e, //0x000023e0 .quad -7028762532061872568 + 0x7e, 0x34, 0x55, 0xcf, 0x64, 0xa2, 0x5e, 0x77, //0x000023e8 .quad 8601490892183123070 + 0xda, 0x9d, 0x58, 0x76, 0x25, 0x06, 0x12, 0xc6, //0x000023f0 .quad -4174267146649952806 + 0x9e, 0x81, 0x2a, 0x03, 0xfe, 0x4a, 0x36, 0x95, //0x000023f8 .quad -7694880458480647778 + 0x51, 0xc5, 0xee, 0xd3, 0xae, 0x87, 0x96, 0xf7, //0x00002400 .quad -606147914885053103 + 0x05, 0x22, 0xf5, 0x83, 0xbd, 0xdd, 0x83, 0x3a, //0x00002408 .quad 4216457482181353989 + 0x52, 0x3b, 0x75, 0x44, 0xcd, 0x14, 0xbe, 0x9a, //0x00002410 .quad -7296371474444240046 + 0x43, 0x35, 0x79, 0x72, 0x96, 0x6a, 0x92, 0xc4, //0x00002418 .quad -4282243101277735613 + 0x27, 0x8a, 0x92, 0x95, 0x00, 0x9a, 0x6d, 0xc1, //0x00002420 .quad -4508778324627912153 + 0x94, 0x82, 0x17, 0x0f, 0x3c, 0x05, 0xb7, 0x75, //0x00002428 .quad 8482254178684994196 + 0xb1, 0x2c, 0xf7, 0xba, 0x80, 0x00, 0xc9, 0xf1, //0x00002430 .quad -1024286887357502287 + 0x39, 0x63, 0xdd, 0x12, 0x8b, 0xc6, 0x24, 0x53, //0x00002438 .quad 5991131704928854841 + 0xee, 0x7b, 0xda, 0x74, 0x50, 0xa0, 0x1d, 0x97, //0x00002440 .quad -7557708332239520786 + 0x04, 0x5e, 0xca, 0xeb, 0x16, 0xfc, 0xf6, 0xd3, //0x00002448 .quad -3173071712060547580 + 0xea, 0x1a, 0x11, 0x92, 0x64, 0x08, 0xe5, 0xbc, //0x00002450 .quad -4835449396872013078 + 0x85, 0xf5, 0xbc, 0xa6, 0x1c, 0xbb, 0xf4, 0x88, //0x00002458 .quad -8578025658503072379 + 0xa5, 0x61, 0x95, 0xb6, 0x7d, 0x4a, 0x1e, 0xec, //0x00002460 .quad -1432625727662628443 + 0xe6, 0x32, 0x6c, 0xd0, 0xe3, 0xe9, 0x31, 0x2b, //0x00002468 .quad 3112525982153323238 + 0x07, 0x5d, 0x1d, 0x92, 0x8e, 0xee, 0x92, 0x93, //0x00002470 .quad -7812920107430224633 + 0xd0, 0x9f, 0x43, 0x62, 0x2e, 0x32, 0xff, 0x3a, //0x00002478 .quad 4251171748059520976 + 0x49, 0xb4, 0xa4, 0x36, 0x32, 0xaa, 0x77, 0xb8, //0x00002480 .quad -5154464115860392887 + 0xc3, 0x87, 0xd4, 0xfa, 0xb9, 0xfe, 0xbe, 0x09, //0x00002488 .quad 702278666647013315 + 0x5b, 0xe1, 0x4d, 0xc4, 0xbe, 0x94, 0x95, 0xe6, //0x00002490 .quad -1831394126398103205 + 0xb4, 0xa9, 0x89, 0x79, 0x68, 0xbe, 0x2e, 0x4c, //0x00002498 .quad 5489534351736154548 + 0xd9, 0xac, 0xb0, 0x3a, 0xf7, 0x7c, 0x1d, 0x90, //0x000024a0 .quad -8062150356639896359 + 0x11, 0x0a, 0xf6, 0x4b, 0x01, 0x37, 0x9d, 0x0f, //0x000024a8 .quad 1125115960621402641 + 0x0f, 0xd8, 0x5c, 0x09, 0x35, 0xdc, 0x24, 0xb4, //0x000024b0 .quad -5466001927372482545 + 0x95, 0x8c, 0xf3, 0x9e, 0xc1, 0x84, 0x84, 0x53, //0x000024b8 .quad 6018080969204141205 + 0x13, 0x0e, 0xb4, 0x4b, 0x42, 0x13, 0x2e, 0xe1, //0x000024c0 .quad -2220816390788215277 + 0xba, 0x6f, 0xb0, 0x06, 0xf2, 0xa5, 0x65, 0x28, //0x000024c8 .quad 2910915193077788602 + 0xcb, 0x88, 0x50, 0x6f, 0x09, 0xcc, 0xbc, 0x8c, //0x000024d0 .quad -8305539271883716405 + 0xd4, 0x45, 0x2e, 0x44, 0xb7, 0x87, 0x3f, 0xf9, //0x000024d8 .quad -486521013540076076 + 0xfe, 0xaa, 0x24, 0xcb, 0x0b, 0xff, 0xeb, 0xaf, //0x000024e0 .quad -5770238071427257602 + 0x49, 0xd7, 0x39, 0x15, 0xa5, 0x69, 0x8f, 0xf7, //0x000024e8 .quad -608151266925095095 + 0xbe, 0xd5, 0xed, 0xbd, 0xce, 0xfe, 0xe6, 0xdb, //0x000024f0 .quad -2601111570856684098 + 0x1c, 0x4d, 0x88, 0x5a, 0x0e, 0x44, 0x73, 0xb5, //0x000024f8 .quad -5371875102083756772 + 0x97, 0xa5, 0xb4, 0x36, 0x41, 0x5f, 0x70, 0x89, //0x00002500 .quad -8543223759426509417 + 0x31, 0x30, 0x95, 0xf8, 0x88, 0x0a, 0x68, 0x31, //0x00002508 .quad 3560107088838733873 + 0xfc, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00002510 .quad -6067343680855748868 + 0x3e, 0x7c, 0xba, 0x36, 0x2b, 0x0d, 0xc2, 0xfd, //0x00002518 .quad -161552157378970562 + 0xbc, 0x42, 0x7a, 0xe5, 0xd5, 0x94, 0xbf, 0xd6, //0x00002520 .quad -2972493582642298180 + 0x4d, 0x1b, 0x69, 0x04, 0x76, 0x90, 0x32, 0x3d, //0x00002528 .quad 4409745821703674701 + 0xb5, 0x69, 0x6c, 0xaf, 0x05, 0xbd, 0x37, 0x86, //0x00002530 .quad -8775337516792518219 + 0x10, 0xb1, 0xc1, 0xc2, 0x49, 0x9a, 0x3f, 0xa6, //0x00002538 .quad -6467280898289979120 + 0x23, 0x84, 0x47, 0x1b, 0x47, 0xac, 0xc5, 0xa7, //0x00002540 .quad -6357485877563259869 + 0x54, 0x1d, 0x72, 0x33, 0xdc, 0x80, 0xcf, 0x0f, //0x00002548 .quad 1139270913992301908 + 0x2b, 0x65, 0x19, 0xe2, 0x58, 0x17, 0xb7, 0xd1, //0x00002550 .quad -3335171328526686933 + 0xa9, 0xa4, 0x4e, 0x40, 0x13, 0x61, 0xc3, 0xd3, //0x00002558 .quad -3187597375937010519 + 0x3b, 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83, //0x00002560 .quad -9002011107970261189 + 0xea, 0x26, 0x31, 0x08, 0xac, 0x1c, 0x5a, 0x64, //0x00002568 .quad 7231123676894144234 + 0x0a, 0xd7, 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, //0x00002570 .quad -6640827866535438582 + 0xa4, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, 0x70, 0x3d, //0x00002578 .quad 4427218577690292388 + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002580 .quad -3689348814741910324 + 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002588 .quad -3689348814741910323 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00002590 .quad -9223372036854775808 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002598 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, //0x000025a0 .quad -6917529027641081856 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025a8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, //0x000025b0 .quad -4035225266123964416 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025b8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x000025c0 .quad -432345564227567616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025c8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9c, //0x000025d0 .quad -7187745005283311616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025d8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, //0x000025e0 .quad -4372995238176751616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025e8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, //0x000025f0 .quad -854558029293551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025f8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x96, 0x98, //0x00002600 .quad -7451627795949551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002608 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbc, 0xbe, //0x00002610 .quad -4702848726509551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002618 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6b, 0xee, //0x00002620 .quad -1266874889709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002628 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x95, //0x00002630 .quad -7709325833709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002638 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x40, 0xb7, 0x43, 0xba, //0x00002640 .quad -5024971273709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002648 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0xd4, 0xe8, //0x00002650 .quad -1669528073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002658 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xe7, 0x84, 0x91, //0x00002660 .quad -7960984073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002668 .quad 0 + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x20, 0xe6, 0xb5, //0x00002670 .quad -5339544073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002678 .quad 0 + 0x00, 0x00, 0x00, 0xa0, 0x31, 0xa9, 0x5f, 0xe3, //0x00002680 .quad -2062744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002688 .quad 0 + 0x00, 0x00, 0x00, 0x04, 0xbf, 0xc9, 0x1b, 0x8e, //0x00002690 .quad -8206744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002698 .quad 0 + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0xbc, 0xa2, 0xb1, //0x000026a0 .quad -5646744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026a8 .quad 0 + 0x00, 0x00, 0x40, 0x76, 0x3a, 0x6b, 0x0b, 0xde, //0x000026b0 .quad -2446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026b8 .quad 0 + 0x00, 0x00, 0xe8, 0x89, 0x04, 0x23, 0xc7, 0x8a, //0x000026c0 .quad -8446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026c8 .quad 0 + 0x00, 0x00, 0x62, 0xac, 0xc5, 0xeb, 0x78, 0xad, //0x000026d0 .quad -5946744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026d8 .quad 0 + 0x00, 0x80, 0x7a, 0x17, 0xb7, 0x26, 0xd7, 0xd8, //0x000026e0 .quad -2821744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026e8 .quad 0 + 0x00, 0x90, 0xac, 0x6e, 0x32, 0x78, 0x86, 0x87, //0x000026f0 .quad -8681119073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026f8 .quad 0 + 0x00, 0xb4, 0x57, 0x0a, 0x3f, 0x16, 0x68, 0xa9, //0x00002700 .quad -6239712823709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002708 .quad 0 + 0x00, 0xa1, 0xed, 0xcc, 0xce, 0x1b, 0xc2, 0xd3, //0x00002710 .quad -3187955011209551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002718 .quad 0 + 0xa0, 0x84, 0x14, 0x40, 0x61, 0x51, 0x59, 0x84, //0x00002720 .quad -8910000909647051616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002728 .quad 0 + 0xc8, 0xa5, 0x19, 0x90, 0xb9, 0xa5, 0x6f, 0xa5, //0x00002730 .quad -6525815118631426616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002738 .quad 0 + 0x3a, 0x0f, 0x20, 0xf4, 0x27, 0x8f, 0xcb, 0xce, //0x00002740 .quad -3545582879861895366 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002748 .quad 0 + 0x84, 0x09, 0x94, 0xf8, 0x78, 0x39, 0x3f, 0x81, //0x00002750 .quad -9133518327554766460 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, //0x00002758 .quad 4611686018427387904 + 0xe5, 0x0b, 0xb9, 0x36, 0xd7, 0x07, 0x8f, 0xa1, //0x00002760 .quad -6805211891016070171 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, //0x00002768 .quad 5764607523034234880 + 0xde, 0x4e, 0x67, 0x04, 0xcd, 0xc9, 0xf2, 0xc9, //0x00002770 .quad -3894828845342699810 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, //0x00002778 .quad -6629298651489370112 + 0x96, 0x22, 0x81, 0x45, 0x40, 0x7c, 0x6f, 0xfc, //0x00002780 .quad -256850038250986858 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, //0x00002788 .quad 5548434740920451072 + 0x9d, 0xb5, 0x70, 0x2b, 0xa8, 0xad, 0xc5, 0x9d, //0x00002790 .quad -7078060301547948643 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, //0x00002798 .quad -1143914305352105984 + 0x05, 0xe3, 0x4c, 0x36, 0x12, 0x19, 0x37, 0xc5, //0x000027a0 .quad -4235889358507547899 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6c, //0x000027a8 .quad 7793479155164643328 + 0xc6, 0x1b, 0xe0, 0xc3, 0x56, 0xdf, 0x84, 0xf6, //0x000027b0 .quad -683175679707046970 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xc7, //0x000027b8 .quad -4093209111326359552 + 0x5c, 0x11, 0x6c, 0x3a, 0x96, 0x0b, 0x13, 0x9a, //0x000027c0 .quad -7344513827457986212 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7f, 0x3c, //0x000027c8 .quad 4359273333062107136 + 0xb3, 0x15, 0x07, 0xc9, 0x7b, 0xce, 0x97, 0xc0, //0x000027d0 .quad -4568956265895094861 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x9f, 0x4b, //0x000027d8 .quad 5449091666327633920 + 0x20, 0xdb, 0x48, 0xbb, 0x1a, 0xc2, 0xbd, 0xf0, //0x000027e0 .quad -1099509313941480672 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x86, 0x1e, //0x000027e8 .quad 2199678564482154496 + 0xf4, 0x88, 0x0d, 0xb5, 0x50, 0x99, 0x76, 0x96, //0x000027f0 .quad -7604722348854507276 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x14, 0x13, //0x000027f8 .quad 1374799102801346560 + 0x31, 0xeb, 0x50, 0xe2, 0xa4, 0x3f, 0x14, 0xbc, //0x00002800 .quad -4894216917640746191 + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x55, 0xd9, 0x17, //0x00002808 .quad 1718498878501683200 + 0xfd, 0x25, 0xe5, 0x1a, 0x8e, 0x4f, 0x19, 0xeb, //0x00002810 .quad -1506085128623544835 + 0x00, 0x00, 0x00, 0x00, 0x08, 0xab, 0xcf, 0x5d, //0x00002818 .quad 6759809616554491904 + 0xbe, 0x37, 0xcf, 0xd0, 0xb8, 0xd1, 0xef, 0x92, //0x00002820 .quad -7858832233030797378 + 0x00, 0x00, 0x00, 0x00, 0xe5, 0xca, 0xa1, 0x5a, //0x00002828 .quad 6530724019560251392 + 0xad, 0x05, 0x03, 0x05, 0x27, 0xc6, 0xab, 0xb7, //0x00002830 .quad -5211854272861108819 + 0x00, 0x00, 0x00, 0x40, 0x9e, 0x3d, 0x4a, 0xf1, //0x00002838 .quad -1059967012404461568 + 0x19, 0xc7, 0x43, 0xc6, 0xb0, 0xb7, 0x96, 0xe5, //0x00002840 .quad -1903131822648998119 + 0x00, 0x00, 0x00, 0xd0, 0x05, 0xcd, 0x9c, 0x6d, //0x00002848 .quad 7898413271349198848 + 0x6f, 0x5c, 0xea, 0x7b, 0xce, 0x32, 0x7e, 0x8f, //0x00002850 .quad -8106986416796705681 + 0x00, 0x00, 0x00, 0xa2, 0x23, 0x00, 0x82, 0xe4, //0x00002858 .quad -1981020733047832576 + 0x8b, 0xf3, 0xe4, 0x1a, 0x82, 0xbf, 0x5d, 0xb3, //0x00002860 .quad -5522047002568494197 + 0x00, 0x00, 0x80, 0x8a, 0x2c, 0x80, 0xa2, 0xdd, //0x00002868 .quad -2476275916309790720 + 0x6e, 0x30, 0x9e, 0xa1, 0x62, 0x2f, 0x35, 0xe0, //0x00002870 .quad -2290872734783229842 + 0x00, 0x00, 0x20, 0xad, 0x37, 0x20, 0x0b, 0xd5, //0x00002878 .quad -3095344895387238400 + 0x45, 0xde, 0x02, 0xa5, 0x9d, 0x3d, 0x21, 0x8c, //0x00002880 .quad -8349324486880600507 + 0x00, 0x00, 0x34, 0xcc, 0x22, 0xf4, 0x26, 0x45, //0x00002888 .quad 4982938468024057856 + 0xd6, 0x95, 0x43, 0x0e, 0x05, 0x8d, 0x29, 0xaf, //0x00002890 .quad -5824969590173362730 + 0x00, 0x00, 0x41, 0x7f, 0x2b, 0xb1, 0x70, 0x96, //0x00002898 .quad -7606384970252091392 + 0x4c, 0x7b, 0xd4, 0x51, 0x46, 0xf0, 0xf3, 0xda, //0x000028a0 .quad -2669525969289315508 + 0x00, 0x40, 0x11, 0x5f, 0x76, 0xdd, 0x0c, 0x3c, //0x000028a8 .quad 4327076842467049472 + 0x0f, 0xcd, 0x24, 0xf3, 0x2b, 0x76, 0xd8, 0x88, //0x000028b0 .quad -8585982758446904049 + 0x00, 0xc8, 0x6a, 0xfb, 0x69, 0x0a, 0x88, 0xa5, //0x000028b8 .quad -6518949010312869888 + 0x53, 0x00, 0xee, 0xef, 0xb6, 0x93, 0x0e, 0xab, //0x000028c0 .quad -6120792429631242157 + 0x00, 0x7a, 0x45, 0x7a, 0x04, 0x0d, 0xea, 0x8e, //0x000028c8 .quad -8148686262891087360 + 0x68, 0x80, 0xe9, 0xab, 0xa4, 0x38, 0xd2, 0xd5, //0x000028d0 .quad -3039304518611664792 + 0x80, 0xd8, 0xd6, 0x98, 0x45, 0x90, 0xa4, 0x72, //0x000028d8 .quad 8260886245095692416 + 0x41, 0xf0, 0x71, 0xeb, 0x66, 0x63, 0xa3, 0x85, //0x000028e0 .quad -8817094351773372351 + 0x50, 0x47, 0x86, 0x7f, 0x2b, 0xda, 0xa6, 0x47, //0x000028e8 .quad 5163053903184807760 + 0x51, 0x6c, 0x4e, 0xa6, 0x40, 0x3c, 0x0c, 0xa7, //0x000028f0 .quad -6409681921289327535 + 0x24, 0xd9, 0x67, 0x5f, 0xb6, 0x90, 0x90, 0x99, //0x000028f8 .quad -7381240676301154012 + 0x65, 0x07, 0xe2, 0xcf, 0x50, 0x4b, 0xcf, 0xd0, //0x00002900 .quad -3400416383184271515 + 0x6d, 0xcf, 0x41, 0xf7, 0xe3, 0xb4, 0xf4, 0xff, //0x00002908 .quad -3178808521666707 + 0x9f, 0x44, 0xed, 0x81, 0x12, 0x8f, 0x81, 0x82, //0x00002910 .quad -9042789267131251553 + 0xa5, 0x21, 0x89, 0x7a, 0x0e, 0xf1, 0xf8, 0xbf, //0x00002918 .quad -4613672773753429595 + 0xc7, 0x95, 0x68, 0x22, 0xd7, 0xf2, 0x21, 0xa3, //0x00002920 .quad -6691800565486676537 + 0x0e, 0x6a, 0x2b, 0x19, 0x52, 0x2d, 0xf7, 0xaf, //0x00002928 .quad -5767090967191786994 + 0x39, 0xbb, 0x02, 0xeb, 0x8c, 0x6f, 0xea, 0xcb, //0x00002930 .quad -3753064688430957767 + 0x91, 0x44, 0x76, 0x9f, 0xa6, 0xf8, 0xf4, 0x9b, //0x00002938 .quad -7208863708989733743 + 0x08, 0x6a, 0xc3, 0x25, 0x70, 0x0b, 0xe5, 0xfe, //0x00002940 .quad -79644842111309304 + 0xb5, 0xd5, 0x53, 0x47, 0xd0, 0x36, 0xf2, 0x02, //0x00002948 .quad 212292400617608629 + 0x45, 0x22, 0x9a, 0x17, 0x26, 0x27, 0x4f, 0x9f, //0x00002950 .quad -6967307053960650171 + 0x91, 0x65, 0x94, 0x2c, 0x42, 0x62, 0xd7, 0x01, //0x00002958 .quad 132682750386005393 + 0xd6, 0xaa, 0x80, 0x9d, 0xef, 0xf0, 0x22, 0xc7, //0x00002960 .quad -4097447799023424810 + 0xf6, 0x7e, 0xb9, 0xb7, 0xd2, 0x3a, 0x4d, 0x42, //0x00002968 .quad 4777539456409894646 + 0x8b, 0xd5, 0xe0, 0x84, 0x2b, 0xad, 0xeb, 0xf8, //0x00002970 .quad -510123730351893109 + 0xb3, 0xde, 0xa7, 0x65, 0x87, 0x89, 0xe0, 0xd2, //0x00002978 .quad -3251447716342407501 + 0x77, 0x85, 0x0c, 0x33, 0x3b, 0x4c, 0x93, 0x9b, //0x00002980 .quad -7236356359111015049 + 0x30, 0xeb, 0x88, 0x9f, 0xf4, 0x55, 0xcc, 0x63, //0x00002988 .quad 7191217214140771120 + 0xd5, 0xa6, 0xcf, 0xff, 0x49, 0x1f, 0x78, 0xc2, //0x00002990 .quad -4433759430461380907 + 0xfc, 0x25, 0x6b, 0xc7, 0x71, 0x6b, 0xbf, 0x3c, //0x00002998 .quad 4377335499248575996 + 0x8a, 0x90, 0xc3, 0x7f, 0x1c, 0x27, 0x16, 0xf3, //0x000029a0 .quad -930513269649338230 + 0x7b, 0xef, 0x45, 0x39, 0x4e, 0x46, 0xef, 0x8b, //0x000029a8 .quad -8363388681221443717 + 0x56, 0x3a, 0xda, 0xcf, 0x71, 0xd8, 0xed, 0x97, //0x000029b0 .quad -7499099821171918250 + 0xad, 0xb5, 0xcb, 0xe3, 0xf0, 0x8b, 0x75, 0x97, //0x000029b8 .quad -7532960934977096275 + 0xec, 0xc8, 0xd0, 0x43, 0x8e, 0x4e, 0xe9, 0xbd, //0x000029c0 .quad -4762188758037509908 + 0x18, 0xa3, 0xbe, 0x1c, 0xed, 0xee, 0x52, 0x3d, //0x000029c8 .quad 4418856886560793368 + 0x27, 0xfb, 0xc4, 0xd4, 0x31, 0xa2, 0x63, 0xed, //0x000029d0 .quad -1341049929119499481 + 0xde, 0x4b, 0xee, 0x63, 0xa8, 0xaa, 0xa7, 0x4c, //0x000029d8 .quad 5523571108200991710 + 0xf8, 0x1c, 0xfb, 0x24, 0x5f, 0x45, 0x5e, 0x94, //0x000029e0 .quad -7755685233340769032 + 0x6b, 0xef, 0x74, 0x3e, 0xa9, 0xca, 0xe8, 0x8f, //0x000029e8 .quad -8076983103442849941 + 0x36, 0xe4, 0x39, 0xee, 0xb6, 0xd6, 0x75, 0xb9, //0x000029f0 .quad -5082920523248573386 + 0x45, 0x2b, 0x12, 0x8e, 0x53, 0xfd, 0xe2, 0xb3, //0x000029f8 .quad -5484542860876174523 + 0x44, 0x5d, 0xc8, 0xa9, 0x64, 0x4c, 0xd3, 0xe7, //0x00002a00 .quad -1741964635633328828 + 0x17, 0xb6, 0x96, 0x71, 0xa8, 0xbc, 0xdb, 0x60, //0x00002a08 .quad 6979379479186945559 + 0x4a, 0x3a, 0x1d, 0xea, 0xbe, 0x0f, 0xe4, 0x90, //0x00002a10 .quad -8006256924911912374 + 0xce, 0x31, 0xfe, 0x46, 0xe9, 0x55, 0x89, 0xbc, //0x00002a18 .quad -4861259862362934834 + 0xdd, 0x88, 0xa4, 0xa4, 0xae, 0x13, 0x1d, 0xb5, //0x00002a20 .quad -5396135137712502563 + 0x42, 0xbe, 0xbd, 0x98, 0x63, 0xab, 0xab, 0x6b, //0x00002a28 .quad 7758483227328495170 + 0x14, 0xab, 0xcd, 0x4d, 0x9a, 0x58, 0x64, 0xe2, //0x00002a30 .quad -2133482903713240300 + 0xd2, 0x2d, 0xed, 0x7e, 0x3c, 0x96, 0x96, 0xc6, //0x00002a38 .quad -4136954021121544750 + 0xec, 0x8a, 0xa0, 0x70, 0x60, 0xb7, 0x7e, 0x8d, //0x00002a40 .quad -8250955842461857044 + 0xa3, 0x3c, 0x54, 0xcf, 0xe5, 0x1d, 0x1e, 0xfc, //0x00002a48 .quad -279753253987271517 + 0xa8, 0xad, 0xc8, 0x8c, 0x38, 0x65, 0xde, 0xb0, //0x00002a50 .quad -5702008784649933400 + 0xcc, 0x4b, 0x29, 0x43, 0x5f, 0xa5, 0x25, 0x3b, //0x00002a58 .quad 4261994450943298508 + 0x12, 0xd9, 0xfa, 0xaf, 0x86, 0xfe, 0x15, 0xdd, //0x00002a60 .quad -2515824962385028846 + 0xbf, 0x9e, 0xf3, 0x13, 0xb7, 0x0e, 0xef, 0x49, //0x00002a68 .quad 5327493063679123135 + 0xab, 0xc7, 0xfc, 0x2d, 0x14, 0xbf, 0x2d, 0x8a, //0x00002a70 .quad -8489919629131724885 + 0x38, 0x43, 0x78, 0x6c, 0x32, 0x69, 0x35, 0x6e, //0x00002a78 .quad 7941369183226839864 + 0x96, 0xf9, 0x7b, 0x39, 0xd9, 0x2e, 0xb9, 0xac, //0x00002a80 .quad -6000713517987268202 + 0x05, 0x54, 0x96, 0x07, 0x7f, 0xc3, 0xc2, 0x49, //0x00002a88 .quad 5315025460606161925 + 0xfb, 0xf7, 0xda, 0x87, 0x8f, 0x7a, 0xe7, 0xd7, //0x00002a90 .quad -2889205879056697349 + 0x07, 0xe9, 0x7b, 0xc9, 0x5e, 0x74, 0x33, 0xdc, //0x00002a98 .quad -2579590211097073401 + 0xfd, 0xda, 0xe8, 0xb4, 0x99, 0xac, 0xf0, 0x86, //0x00002aa0 .quad -8723282702051517699 + 0xa4, 0x71, 0xed, 0x3d, 0xbb, 0x28, 0xa0, 0x69, //0x00002aa8 .quad 7611128154919104932 + 0xbc, 0x11, 0x23, 0x22, 0xc0, 0xd7, 0xac, 0xa8, //0x00002ab0 .quad -6292417359137009220 + 0x0d, 0xce, 0x68, 0x0d, 0xea, 0x32, 0x08, 0xc4, //0x00002ab8 .quad -4321147861633282547 + 0x2b, 0xd6, 0xab, 0x2a, 0xb0, 0x0d, 0xd8, 0xd2, //0x00002ac0 .quad -3253835680493873621 + 0x91, 0x01, 0xc3, 0x90, 0xa4, 0x3f, 0x0a, 0xf5, //0x00002ac8 .quad -789748808614215279 + 0xdb, 0x65, 0xab, 0x1a, 0x8e, 0x08, 0xc7, 0x83, //0x00002ad0 .quad -8951176327949752869 + 0xfb, 0xe0, 0x79, 0xda, 0xc6, 0x67, 0x26, 0x79, //0x00002ad8 .quad 8729779031470891259 + 0x52, 0x3f, 0x56, 0xa1, 0xb1, 0xca, 0xb8, 0xa4, //0x00002ae0 .quad -6577284391509803182 + 0x39, 0x59, 0x18, 0x91, 0xb8, 0x01, 0x70, 0x57, //0x00002ae8 .quad 6300537770911226169 + 0x26, 0xcf, 0xab, 0x09, 0x5e, 0xfd, 0xe6, 0xcd, //0x00002af0 .quad -3609919470959866074 + 0x87, 0x6f, 0x5e, 0xb5, 0x26, 0x02, 0x4c, 0xed, //0x00002af8 .quad -1347699823215743097 + 0x78, 0x61, 0x0b, 0xc6, 0x5a, 0x5e, 0xb0, 0x80, //0x00002b00 .quad -9173728696990998152 + 0xb5, 0x05, 0x5b, 0x31, 0x58, 0x81, 0x4f, 0x54, //0x00002b08 .quad 6075216638131242421 + 0xd6, 0x39, 0x8e, 0x77, 0xf1, 0x75, 0xdc, 0xa0, //0x00002b10 .quad -6855474852811359786 + 0x22, 0xc7, 0xb1, 0x3d, 0xae, 0x61, 0x63, 0x69, //0x00002b18 .quad 7594020797664053026 + 0x4c, 0xc8, 0x71, 0xd5, 0x6d, 0x93, 0x13, 0xc9, //0x00002b20 .quad -3957657547586811828 + 0xea, 0x38, 0x1e, 0xcd, 0x19, 0x3a, 0xbc, 0x03, //0x00002b28 .quad 269153960225290474 + 0x5f, 0x3a, 0xce, 0x4a, 0x49, 0x78, 0x58, 0xfb, //0x00002b30 .quad -335385916056126881 + 0x24, 0xc7, 0x65, 0x40, 0xa0, 0x48, 0xab, 0x04, //0x00002b38 .quad 336442450281613092 + 0x7b, 0xe4, 0xc0, 0xce, 0x2d, 0x4b, 0x17, 0x9d, //0x00002b40 .quad -7127145225176161157 + 0x77, 0x9c, 0x3f, 0x28, 0x64, 0x0d, 0xeb, 0x62, //0x00002b48 .quad 7127805559067090039 + 0x9a, 0x1d, 0x71, 0x42, 0xf9, 0x1d, 0x5d, 0xc4, //0x00002b50 .quad -4297245513042813542 + 0x95, 0x83, 0x4f, 0x32, 0xbd, 0xd0, 0xa5, 0x3b, //0x00002b58 .quad 4298070930406474645 + 0x00, 0x65, 0x0d, 0x93, 0x77, 0x65, 0x74, 0xf5, //0x00002b60 .quad -759870872876129024 + 0x7a, 0x64, 0xe3, 0x7e, 0xec, 0x44, 0x8f, 0xca, //0x00002b68 .quad -3850783373846682502 + 0x20, 0x5f, 0xe8, 0xbb, 0x6a, 0xbf, 0x68, 0x99, //0x00002b70 .quad -7392448323188662496 + 0xcc, 0x1e, 0x4e, 0xcf, 0x13, 0x8b, 0x99, 0x7e, //0x00002b78 .quad 9122475437414293196 + 0xe8, 0x76, 0xe2, 0x6a, 0x45, 0xef, 0xc2, 0xbf, //0x00002b80 .quad -4628874385558440216 + 0x7f, 0xa6, 0x21, 0xc3, 0xd8, 0xed, 0x3f, 0x9e, //0x00002b88 .quad -7043649776941685121 + 0xa2, 0x14, 0x9b, 0xc5, 0x16, 0xab, 0xb3, 0xef, //0x00002b90 .quad -1174406963520662366 + 0x1f, 0x10, 0xea, 0xf3, 0x4e, 0xe9, 0xcf, 0xc5, //0x00002b98 .quad -4192876202749718497 + 0xe5, 0xec, 0x80, 0x3b, 0xee, 0x4a, 0xd0, 0x95, //0x00002ba0 .quad -7651533379841495835 + 0x13, 0x4a, 0x72, 0x58, 0xd1, 0xf1, 0xa1, 0xbb, //0x00002ba8 .quad -4926390635932268013 + 0x1f, 0x28, 0x61, 0xca, 0xa9, 0x5d, 0x44, 0xbb, //0x00002bb0 .quad -4952730706374481889 + 0x98, 0xdc, 0x8e, 0xae, 0x45, 0x6e, 0x8a, 0x2a, //0x00002bb8 .quad 3065383741939440792 + 0x26, 0x72, 0xf9, 0x3c, 0x14, 0x75, 0x15, 0xea, //0x00002bc0 .quad -1579227364540714458 + 0xbe, 0x93, 0x32, 0x1a, 0xd7, 0x09, 0x2d, 0xf5, //0x00002bc8 .quad -779956341003086914 + 0x58, 0xe7, 0x1b, 0xa6, 0x2c, 0x69, 0x4d, 0x92, //0x00002bd0 .quad -7904546130479028392 + 0x57, 0x9c, 0x5f, 0x70, 0x26, 0x26, 0x3c, 0x59, //0x00002bd8 .quad 6430056314514152535 + 0x2e, 0xe1, 0xa2, 0xcf, 0x77, 0xc3, 0xe0, 0xb6, //0x00002be0 .quad -5268996644671397586 + 0x6d, 0x83, 0x77, 0x0c, 0xb0, 0x2f, 0x8b, 0x6f, //0x00002be8 .quad 8037570393142690669 + 0x7a, 0x99, 0x8b, 0xc3, 0x55, 0xf4, 0x98, 0xe4, //0x00002bf0 .quad -1974559787411859078 + 0x48, 0x64, 0x95, 0x0f, 0x9c, 0xfb, 0x6d, 0x0b, //0x00002bf8 .quad 823590954573587528 + 0xec, 0x3f, 0x37, 0x9a, 0xb5, 0x98, 0xdf, 0x8e, //0x00002c00 .quad -8151628894773493780 + 0xad, 0x5e, 0xbd, 0x89, 0x41, 0xbd, 0x24, 0x47, //0x00002c08 .quad 5126430365035880109 + 0xe7, 0x0f, 0xc5, 0x00, 0xe3, 0x7e, 0x97, 0xb2, //0x00002c10 .quad -5577850100039479321 + 0x58, 0xb6, 0x2c, 0xec, 0x91, 0xec, 0xed, 0x58, //0x00002c18 .quad 6408037956294850136 + 0xe1, 0x53, 0xf6, 0xc0, 0x9b, 0x5e, 0x3d, 0xdf, //0x00002c20 .quad -2360626606621961247 + 0xee, 0xe3, 0x37, 0x67, 0xb6, 0x67, 0x29, 0x2f, //0x00002c28 .quad 3398361426941174766 + 0x6c, 0xf4, 0x99, 0x58, 0x21, 0x5b, 0x86, 0x8b, //0x00002c30 .quad -8392920656779807636 + 0x75, 0xee, 0x82, 0x00, 0xd2, 0xe0, 0x79, 0xbd, //0x00002c38 .quad -4793553135802847627 + 0x87, 0x71, 0xc0, 0xae, 0xe9, 0xf1, 0x67, 0xae, //0x00002c40 .quad -5879464802547371641 + 0x12, 0xaa, 0xa3, 0x80, 0x06, 0x59, 0xd8, 0xec, //0x00002c48 .quad -1380255401326171630 + 0xe9, 0x8d, 0x70, 0x1a, 0x64, 0xee, 0x01, 0xda, //0x00002c50 .quad -2737644984756826647 + 0x96, 0x94, 0xcc, 0x20, 0x48, 0x6f, 0x0e, 0xe8, //0x00002c58 .quad -1725319251657714538 + 0xb2, 0x58, 0x86, 0x90, 0xfe, 0x34, 0x41, 0x88, //0x00002c60 .quad -8628557143114098510 + 0xde, 0xdc, 0x7f, 0x14, 0x8d, 0x05, 0x09, 0x31, //0x00002c68 .quad 3533361486141316318 + 0xde, 0xee, 0xa7, 0x34, 0x3e, 0x82, 0x51, 0xaa, //0x00002c70 .quad -6174010410465235234 + 0x16, 0xd4, 0x9f, 0x59, 0xf0, 0x46, 0x4b, 0xbd, //0x00002c78 .quad -4806670179178130410 + 0x96, 0xea, 0xd1, 0xc1, 0xcd, 0xe2, 0xe5, 0xd4, //0x00002c80 .quad -3105826994654156138 + 0x1b, 0xc9, 0x07, 0x70, 0xac, 0x18, 0x9e, 0x6c, //0x00002c88 .quad 7826720331309500699 + 0x9e, 0x32, 0x23, 0x99, 0xc0, 0xad, 0x0f, 0x85, //0x00002c90 .quad -8858670899299929442 + 0xb1, 0xdd, 0x04, 0xc6, 0x6b, 0xcf, 0xe2, 0x03, //0x00002c98 .quad 280014188641050033 + 0x45, 0xff, 0x6b, 0xbf, 0x30, 0x99, 0x53, 0xa6, //0x00002ca0 .quad -6461652605697523899 + 0x1d, 0x15, 0x86, 0xb7, 0x46, 0x83, 0xdb, 0x84, //0x00002ca8 .quad -8873354301053463267 + 0x16, 0xff, 0x46, 0xef, 0x7c, 0x7f, 0xe8, 0xcf, //0x00002cb0 .quad -3465379738694516970 + 0x64, 0x9a, 0x67, 0x65, 0x18, 0x64, 0x12, 0xe6, //0x00002cb8 .quad -1868320839462053276 + 0x6e, 0x5f, 0x8c, 0x15, 0xae, 0x4f, 0xf1, 0x81, //0x00002cc0 .quad -9083391364325154962 + 0x7f, 0xc0, 0x60, 0x3f, 0x8f, 0x7e, 0xcb, 0x4f, //0x00002cc8 .quad 5749828502977298559 + 0x49, 0x77, 0xef, 0x9a, 0x99, 0xa3, 0x6d, 0xa2, //0x00002cd0 .quad -6742553186979055799 + 0x9e, 0xf0, 0x38, 0x0f, 0x33, 0x5e, 0xbe, 0xe3, //0x00002cd8 .quad -2036086408133152610 + 0x1c, 0x55, 0xab, 0x01, 0x80, 0x0c, 0x09, 0xcb, //0x00002ce0 .quad -3816505465296431844 + 0xc6, 0x2c, 0x07, 0xd3, 0xbf, 0xf5, 0xad, 0x5c, //0x00002ce8 .quad 6678264026688335046 + 0x63, 0x2a, 0x16, 0x02, 0xa0, 0x4f, 0xcb, 0xfd, //0x00002cf0 .quad -158945813193151901 + 0xf7, 0xf7, 0xc8, 0xc7, 0x2f, 0x73, 0xd9, 0x73, //0x00002cf8 .quad 8347830033360418807 + 0x7e, 0xda, 0x4d, 0x01, 0xc4, 0x11, 0x9f, 0x9e, //0x00002d00 .quad -7016870160886801794 + 0xfb, 0x9a, 0xdd, 0xdc, 0xfd, 0xe7, 0x67, 0x28, //0x00002d08 .quad 2911550761636567803 + 0x1d, 0x51, 0xa1, 0x01, 0x35, 0xd6, 0x46, 0xc6, //0x00002d10 .quad -4159401682681114339 + 0xb9, 0x01, 0x15, 0x54, 0xfd, 0xe1, 0x81, 0xb2, //0x00002d18 .quad -5583933584809066055 + 0x65, 0xa5, 0x09, 0x42, 0xc2, 0x8b, 0xd8, 0xf7, //0x00002d20 .quad -587566084924005019 + 0x27, 0x42, 0x1a, 0xa9, 0x7c, 0x5a, 0x22, 0x1f, //0x00002d28 .quad 2243455055843443239 + 0x5f, 0x07, 0x46, 0x69, 0x59, 0x57, 0xe7, 0x9a, //0x00002d30 .quad -7284757830718584993 + 0x59, 0x69, 0xb0, 0xe9, 0x8d, 0x78, 0x75, 0x33, //0x00002d38 .quad 3708002419115845977 + 0x37, 0x89, 0x97, 0xc3, 0x2f, 0x2d, 0xa1, 0xc1, //0x00002d40 .quad -4494261269970843337 + 0xaf, 0x83, 0x1c, 0x64, 0xb1, 0xd6, 0x52, 0x00, //0x00002d48 .quad 23317005467419567 + 0x84, 0x6b, 0x7d, 0xb4, 0x7b, 0x78, 0x09, 0xf2, //0x00002d50 .quad -1006140569036166268 + 0x9b, 0xa4, 0x23, 0xbd, 0x5d, 0x8c, 0x67, 0xc0, //0x00002d58 .quad -4582539761593113445 + 0x32, 0x63, 0xce, 0x50, 0x4d, 0xeb, 0x45, 0x97, //0x00002d60 .quad -7546366883288685774 + 0xe1, 0x46, 0x36, 0x96, 0xba, 0xb7, 0x40, 0xf8, //0x00002d68 .quad -558244341782001951 + 0xff, 0xfb, 0x01, 0xa5, 0x20, 0x66, 0x17, 0xbd, //0x00002d70 .quad -4821272585683469313 + 0x99, 0xd8, 0xc3, 0x3b, 0xa9, 0xe5, 0x50, 0xb6, //0x00002d78 .quad -5309491445654890343 + 0xff, 0x7a, 0x42, 0xce, 0xa8, 0x3f, 0x5d, 0xec, //0x00002d80 .quad -1414904713676948737 + 0xbf, 0xce, 0xb4, 0x8a, 0x13, 0x1f, 0xe5, 0xa3, //0x00002d88 .quad -6636864307068612929 + 0xdf, 0x8c, 0xe9, 0x80, 0xc9, 0x47, 0xba, 0x93, //0x00002d90 .quad -7801844473689174817 + 0x38, 0x01, 0xb1, 0x36, 0x6c, 0x33, 0x6f, 0xc6, //0x00002d98 .quad -4148040191917883080 + 0x17, 0xf0, 0x23, 0xe1, 0xbb, 0xd9, 0xa8, 0xb8, //0x00002da0 .quad -5140619573684080617 + 0x85, 0x41, 0x5d, 0x44, 0x47, 0x00, 0x0b, 0xb8, //0x00002da8 .quad -5185050239897353851 + 0x1d, 0xec, 0x6c, 0xd9, 0x2a, 0x10, 0xd3, 0xe6, //0x00002db0 .quad -1814088448677712867 + 0xe6, 0x91, 0x74, 0x15, 0x59, 0xc0, 0x0d, 0xa6, //0x00002db8 .quad -6481312799871692314 + 0x92, 0x13, 0xe4, 0xc7, 0x1a, 0xea, 0x43, 0x90, //0x00002dc0 .quad -8051334308064652398 + 0x30, 0xdb, 0x68, 0xad, 0x37, 0x98, 0xc8, 0x87, //0x00002dc8 .quad -8662506518347195600 + 0x77, 0x18, 0xdd, 0x79, 0xa1, 0xe4, 0x54, 0xb4, //0x00002dd0 .quad -5452481866653427593 + 0xfc, 0x11, 0xc3, 0x98, 0x45, 0xbe, 0xba, 0x29, //0x00002dd8 .quad 3006924907348169212 + 0x94, 0x5e, 0x54, 0xd8, 0xc9, 0x1d, 0x6a, 0xe1, //0x00002de0 .quad -2203916314889396588 + 0x7b, 0xd6, 0xf3, 0xfe, 0xd6, 0x6d, 0x29, 0xf4, //0x00002de8 .quad -853029884242176389 + 0x1d, 0xbb, 0x34, 0x27, 0x9e, 0x52, 0xe2, 0x8c, //0x00002df0 .quad -8294976724446954723 + 0x0d, 0x66, 0x58, 0x5f, 0xa6, 0xe4, 0x99, 0x18, //0x00002df8 .quad 1772699331562333709 + 0xe4, 0xe9, 0x01, 0xb1, 0x45, 0xe7, 0x1a, 0xb0, //0x00002e00 .quad -5757034887131305500 + 0x90, 0x7f, 0x2e, 0xf7, 0xcf, 0x5d, 0xc0, 0x5e, //0x00002e08 .quad 6827560182880305040 + 0x5d, 0x64, 0x42, 0x1d, 0x17, 0xa1, 0x21, 0xdc, //0x00002e10 .quad -2584607590486743971 + 0x74, 0x1f, 0xfa, 0xf4, 0x43, 0x75, 0x70, 0x76, //0x00002e18 .quad 8534450228600381300 + 0xba, 0x7e, 0x49, 0x72, 0xae, 0x04, 0x95, 0x89, //0x00002e20 .quad -8532908771695296838 + 0xa9, 0x53, 0x1c, 0x79, 0x4a, 0x49, 0x06, 0x6a, //0x00002e28 .quad 7639874402088932265 + 0x69, 0xde, 0xdb, 0x0e, 0xda, 0x45, 0xfa, 0xab, //0x00002e30 .quad -6054449946191733143 + 0x93, 0x68, 0x63, 0x17, 0x9d, 0xdb, 0x87, 0x04, //0x00002e38 .quad 326470965756389523 + 0x03, 0xd6, 0x92, 0x92, 0x50, 0xd7, 0xf8, 0xd6, //0x00002e40 .quad -2956376414312278525 + 0xb7, 0x42, 0x3c, 0x5d, 0x84, 0xd2, 0xa9, 0x45, //0x00002e48 .quad 5019774725622874807 + 0xc2, 0xc5, 0x9b, 0x5b, 0x92, 0x86, 0x5b, 0x86, //0x00002e50 .quad -8765264286586255934 + 0xb3, 0xa9, 0x45, 0xba, 0x92, 0x23, 0x8a, 0x0b, //0x00002e58 .quad 831516194300602803 + 0x32, 0xb7, 0x82, 0xf2, 0x36, 0x68, 0xf2, 0xa7, //0x00002e60 .quad -6344894339805432014 + 0x1f, 0x14, 0xd7, 0x68, 0x77, 0xac, 0x6c, 0x8e, //0x00002e68 .quad -8183976793979022305 + 0xff, 0x64, 0x23, 0xaf, 0x44, 0x02, 0xef, 0xd1, //0x00002e70 .quad -3319431906329402113 + 0x27, 0xd9, 0x0c, 0x43, 0x95, 0xd7, 0x07, 0x32, //0x00002e78 .quad 3605087062808385831 + 0x1f, 0x1f, 0x76, 0xed, 0x6a, 0x61, 0x35, 0x83, //0x00002e80 .quad -8992173969096958177 + 0xb9, 0x07, 0xe8, 0x49, 0xbd, 0xe6, 0x44, 0x7f, //0x00002e88 .quad 9170708441896323001 + 0xe7, 0xa6, 0xd3, 0xa8, 0xc5, 0xb9, 0x02, 0xa4, //0x00002e90 .quad -6628531442943809817 + 0xa7, 0x09, 0x62, 0x9c, 0x6c, 0x20, 0x16, 0x5f, //0x00002e98 .quad 6851699533943015847 + 0xa1, 0x90, 0x08, 0x13, 0x37, 0x68, 0x03, 0xcd, //0x00002ea0 .quad -3673978285252374367 + 0x10, 0x8c, 0x7a, 0xc3, 0x87, 0xa8, 0xdb, 0x36, //0x00002ea8 .quad 3952938399001381904 + 0x64, 0x5a, 0xe5, 0x6b, 0x22, 0x21, 0x22, 0x80, //0x00002eb0 .quad -9213765455923815836 + 0x8a, 0x97, 0x2c, 0xda, 0x54, 0x49, 0x49, 0xc2, //0x00002eb8 .quad -4446942528265218166 + 0xfd, 0xb0, 0xde, 0x06, 0x6b, 0xa9, 0x2a, 0xa0, //0x00002ec0 .quad -6905520801477381891 + 0x6d, 0xbd, 0xb7, 0x10, 0xaa, 0x9b, 0xdb, 0xf2, //0x00002ec8 .quad -946992141904134803 + 0x3d, 0x5d, 0x96, 0xc8, 0xc5, 0x53, 0x35, 0xc8, //0x00002ed0 .quad -4020214983419339459 + 0xc8, 0xac, 0xe5, 0x94, 0x94, 0x82, 0x92, 0x6f, //0x00002ed8 .quad 8039631859474607304 + 0x8c, 0xf4, 0xbb, 0x3a, 0xb7, 0xa8, 0x42, 0xfa, //0x00002ee0 .quad -413582710846786420 + 0xfa, 0x17, 0x1f, 0xba, 0x39, 0x23, 0x77, 0xcb, //0x00002ee8 .quad -3785518230938904582 + 0xd7, 0x78, 0xb5, 0x84, 0x72, 0xa9, 0x69, 0x9c, //0x00002ef0 .quad -7176018221920323369 + 0xfc, 0x6e, 0x53, 0x14, 0x04, 0x76, 0x2a, 0xff, //0x00002ef8 .quad -60105885123121412 + 0x0d, 0xd7, 0xe2, 0x25, 0xcf, 0x13, 0x84, 0xc3, //0x00002f00 .quad -4358336758973016307 + 0xbb, 0x4a, 0x68, 0x19, 0x85, 0x13, 0xf5, 0xfe, //0x00002f08 .quad -75132356403901765 + 0xd1, 0x8c, 0x5b, 0xef, 0xc2, 0x18, 0x65, 0xf4, //0x00002f10 .quad -836234930288882479 + 0x6a, 0x5d, 0xc2, 0x5f, 0x66, 0x58, 0xb2, 0x7e, //0x00002f18 .quad 9129456591349898602 + 0x02, 0x38, 0x99, 0xd5, 0x79, 0x2f, 0xbf, 0x98, //0x00002f20 .quad -7440175859071633406 + 0x62, 0x7a, 0xd9, 0xfb, 0x3f, 0x77, 0x2f, 0xef, //0x00002f28 .quad -1211618658047395230 + 0x03, 0x86, 0xff, 0x4a, 0x58, 0xfb, 0xee, 0xbe, //0x00002f30 .quad -4688533805412153853 + 0xfb, 0xd8, 0xcf, 0xfa, 0x0f, 0x55, 0xfb, 0xaa, //0x00002f38 .quad -6126209340986631941 + 0x84, 0x67, 0xbf, 0x5d, 0x2e, 0xba, 0xaa, 0xee, //0x00002f40 .quad -1248981238337804412 + 0x39, 0xcf, 0x83, 0xf9, 0x53, 0x2a, 0xba, 0x95, //0x00002f48 .quad -7657761676233289927 + 0xb2, 0xa0, 0x97, 0xfa, 0x5c, 0xb4, 0x2a, 0x95, //0x00002f50 .quad -7698142301602209614 + 0x84, 0x61, 0xf2, 0x7b, 0x74, 0x5a, 0x94, 0xdd, //0x00002f58 .quad -2480258038432112252 + 0xdf, 0x88, 0x3d, 0x39, 0x74, 0x61, 0x75, 0xba, //0x00002f60 .quad -5010991858575374113 + 0xe5, 0xf9, 0xee, 0x9a, 0x11, 0x71, 0xf9, 0x94, //0x00002f68 .quad -7712008566467528219 + 0x17, 0xeb, 0x8c, 0x47, 0xd1, 0xb9, 0x12, 0xe9, //0x00002f70 .quad -1652053804791829737 + 0x5e, 0xb8, 0xaa, 0x01, 0x56, 0xcd, 0x37, 0x7a, //0x00002f78 .quad 8806733365625141342 + 0xee, 0x12, 0xb8, 0xcc, 0x22, 0xb4, 0xab, 0x91, //0x00002f80 .quad -7950062655635975442 + 0x3b, 0xb3, 0x0a, 0xc1, 0x55, 0xe0, 0x62, 0xac, //0x00002f88 .quad -6025006692552756421 + 0xaa, 0x17, 0xe6, 0x7f, 0x2b, 0xa1, 0x16, 0xb6, //0x00002f90 .quad -5325892301117581398 + 0x0a, 0x60, 0x4d, 0x31, 0x6b, 0x98, 0x7b, 0x57, //0x00002f98 .quad 6303799689591218186 + 0x94, 0x9d, 0xdf, 0x5f, 0x76, 0x49, 0x9c, 0xe3, //0x00002fa0 .quad -2045679357969588844 + 0x0c, 0xb8, 0xa0, 0xfd, 0x85, 0x7e, 0x5a, 0xed, //0x00002fa8 .quad -1343622424865753076 + 0x7d, 0xc2, 0xeb, 0xfb, 0xe9, 0xad, 0x41, 0x8e, //0x00002fb0 .quad -8196078626372074883 + 0x08, 0x73, 0x84, 0xbe, 0x13, 0x8f, 0x58, 0x14, //0x00002fb8 .quad 1466078993672598280 + 0x1c, 0xb3, 0xe6, 0x7a, 0x64, 0x19, 0xd2, 0xb1, //0x00002fc0 .quad -5633412264537705700 + 0xc9, 0x8f, 0x25, 0xae, 0xd8, 0xb2, 0x6e, 0x59, //0x00002fc8 .quad 6444284760518135753 + 0xe3, 0x5f, 0xa0, 0x99, 0xbd, 0x9f, 0x46, 0xde, //0x00002fd0 .quad -2430079312244744221 + 0xbc, 0xf3, 0xae, 0xd9, 0x8e, 0x5f, 0xca, 0x6f, //0x00002fd8 .quad 8055355950647669692 + 0xee, 0x3b, 0x04, 0x80, 0xd6, 0x23, 0xec, 0x8a, //0x00002fe0 .quad -8436328597794046994 + 0x55, 0x58, 0x0d, 0x48, 0xb9, 0x7b, 0xde, 0x25, //0x00002fe8 .quad 2728754459941099605 + 0xe9, 0x4a, 0x05, 0x20, 0xcc, 0x2c, 0xa7, 0xad, //0x00002ff0 .quad -5933724728815170839 + 0x6b, 0xae, 0x10, 0x9a, 0xa7, 0x1a, 0x56, 0xaf, //0x00002ff8 .quad -5812428961928401301 + 0xa4, 0x9d, 0x06, 0x28, 0xff, 0xf7, 0x10, 0xd9, //0x00003000 .quad -2805469892591575644 + 0x05, 0xda, 0x94, 0x80, 0x51, 0xa1, 0x2b, 0x1b, //0x00003008 .quad 1957835834444274181 + 0x86, 0x22, 0x04, 0x79, 0xff, 0x9a, 0xaa, 0x87, //0x00003010 .quad -8670947710510816634 + 0x43, 0x08, 0x5d, 0xf0, 0xd2, 0x44, 0xfb, 0x90, //0x00003018 .quad -7999724640327104445 + 0x28, 0x2b, 0x45, 0x57, 0xbf, 0x41, 0x95, 0xa9, //0x00003020 .quad -6226998619711132888 + 0x54, 0x4a, 0x74, 0xac, 0x07, 0x16, 0x3a, 0x35, //0x00003028 .quad 3835402254873283156 + 0xf2, 0x75, 0x16, 0x2d, 0x2f, 0x92, 0xfa, 0xd3, //0x00003030 .quad -3172062256211528206 + 0xe9, 0x5c, 0x91, 0x97, 0x89, 0x9b, 0x88, 0x42, //0x00003038 .quad 4794252818591603945 + 0xb7, 0x09, 0x2e, 0x7c, 0x5d, 0x9b, 0x7c, 0x84, //0x00003040 .quad -8900067937773286985 + 0x12, 0xda, 0xba, 0xfe, 0x35, 0x61, 0x95, 0x69, //0x00003048 .quad 7608094030047140370 + 0x25, 0x8c, 0x39, 0xdb, 0x34, 0xc2, 0x9b, 0xa5, //0x00003050 .quad -6513398903789220827 + 0x96, 0x90, 0x69, 0x7e, 0x83, 0xb9, 0xfa, 0x43, //0x00003058 .quad 4898431519131537558 + 0x2e, 0xef, 0x07, 0x12, 0xc2, 0xb2, 0x02, 0xcf, //0x00003060 .quad -3530062611309138130 + 0xbc, 0xf4, 0x03, 0x5e, 0xe4, 0x67, 0xf9, 0x94, //0x00003068 .quad -7712018656367741764 + 0x7d, 0xf5, 0x44, 0x4b, 0xb9, 0xaf, 0x61, 0x81, //0x00003070 .quad -9123818159709293187 + 0xf6, 0x78, 0xc2, 0xba, 0xee, 0xe0, 0x1b, 0x1d, //0x00003078 .quad 2097517367411243254 + 0xdc, 0x32, 0x16, 0x9e, 0xa7, 0x1b, 0xba, 0xa1, //0x00003080 .quad -6793086681209228580 + 0x33, 0x17, 0x73, 0x69, 0x2a, 0xd9, 0x62, 0x64, //0x00003088 .quad 7233582727691441971 + 0x93, 0xbf, 0x9b, 0x85, 0x91, 0xa2, 0x28, 0xca, //0x00003090 .quad -3879672333084147821 + 0xff, 0xdc, 0xcf, 0x03, 0x75, 0x8f, 0x7b, 0x7d, //0x00003098 .quad 9041978409614302463 + 0x78, 0xaf, 0x02, 0xe7, 0x35, 0xcb, 0xb2, 0xfc, //0x000030a0 .quad -237904397927796872 + 0x3f, 0xd4, 0xc3, 0x44, 0x52, 0x73, 0xda, 0x5c, //0x000030a8 .quad 6690786993590490175 + 0xab, 0xad, 0x61, 0xb0, 0x01, 0xbf, 0xef, 0x9d, //0x000030b0 .quad -7066219276345954901 + 0xa8, 0x64, 0xfa, 0x6a, 0x13, 0x88, 0x08, 0x3a, //0x000030b8 .quad 4181741870994056360 + 0x16, 0x19, 0x7a, 0x1c, 0xc2, 0xae, 0x6b, 0xc5, //0x000030c0 .quad -4221088077005055722 + 0xd1, 0xfd, 0xb8, 0x45, 0x18, 0xaa, 0x8a, 0x08, //0x000030c8 .quad 615491320315182545 + 0x5b, 0x9f, 0x98, 0xa3, 0x72, 0x9a, 0xc6, 0xf6, //0x000030d0 .quad -664674077828931749 + 0x46, 0x3d, 0x27, 0x57, 0x9e, 0x54, 0xad, 0x8a, //0x000030d8 .quad -8454007886460797626 + 0x99, 0x63, 0x3f, 0xa6, 0x87, 0x20, 0x3c, 0x9a, //0x000030e0 .quad -7332950326284164199 + 0x4c, 0x86, 0x78, 0xf6, 0xe2, 0x54, 0xac, 0x36, //0x000030e8 .quad 3939617107816777292 + 0x7f, 0x3c, 0xcf, 0x8f, 0xa9, 0x28, 0xcb, 0xc0, //0x000030f0 .quad -4554501889427817345 + 0xde, 0xa7, 0x16, 0xb4, 0x1b, 0x6a, 0x57, 0x84, //0x000030f8 .quad -8910536670511192098 + 0x9f, 0x0b, 0xc3, 0xf3, 0xd3, 0xf2, 0xfd, 0xf0, //0x00003100 .quad -1081441343357383777 + 0xd6, 0x51, 0x1c, 0xa1, 0xa2, 0x44, 0x6d, 0x65, //0x00003108 .quad 7308573235570561494 + 0x43, 0xe7, 0x59, 0x78, 0xc4, 0xb7, 0x9e, 0x96, //0x00003110 .quad -7593429867239446717 + 0x26, 0xb3, 0xb1, 0xa4, 0xe5, 0x4a, 0x64, 0x9f, //0x00003118 .quad -6961356773836868826 + 0x14, 0x61, 0x70, 0x96, 0xb5, 0x65, 0x46, 0xbc, //0x00003120 .quad -4880101315621920492 + 0xef, 0x1f, 0xde, 0x0d, 0x9f, 0x5d, 0x3d, 0x87, //0x00003128 .quad -8701695967296086033 + 0x59, 0x79, 0x0c, 0xfc, 0x22, 0xff, 0x57, 0xeb, //0x00003130 .quad -1488440626100012711 + 0xeb, 0xa7, 0x55, 0xd1, 0x06, 0xb5, 0x0c, 0xa9, //0x00003138 .quad -6265433940692719637 + 0xd8, 0xcb, 0x87, 0xdd, 0x75, 0xff, 0x16, 0x93, //0x00003140 .quad -7847804418953589800 + 0xf3, 0x88, 0xd5, 0x42, 0x24, 0xf1, 0xa7, 0x09, //0x00003148 .quad 695789805494438131 + 0xce, 0xbe, 0xe9, 0x54, 0x53, 0xbf, 0xdc, 0xb7, //0x00003150 .quad -5198069505264599346 + 0x30, 0xeb, 0x8a, 0x53, 0x6d, 0xed, 0x11, 0x0c, //0x00003158 .quad 869737256868047664 + 0x81, 0x2e, 0x24, 0x2a, 0x28, 0xef, 0xd3, 0xe5, //0x00003160 .quad -1885900863153361279 + 0xfb, 0xa5, 0x6d, 0xa8, 0xc8, 0x68, 0x16, 0x8f, //0x00003168 .quad -8136200465769716229 + 0x10, 0x9d, 0x56, 0x1a, 0x79, 0x75, 0xa4, 0x8f, //0x00003170 .quad -8096217067111932656 + 0xbd, 0x87, 0x44, 0x69, 0x7d, 0x01, 0x6e, 0xf9, //0x00003178 .quad -473439272678684739 + 0x55, 0x44, 0xec, 0x60, 0xd7, 0x92, 0x8d, 0xb3, //0x00003180 .quad -5508585315462527915 + 0xad, 0xa9, 0x95, 0xc3, 0xdc, 0x81, 0xc9, 0x37, //0x00003188 .quad 4019886927579031981 + 0x6a, 0x55, 0x27, 0x39, 0x8d, 0xf7, 0x70, 0xe0, //0x00003190 .quad -2274045625900771990 + 0x18, 0x14, 0x7b, 0xf4, 0x53, 0xe2, 0xbb, 0x85, //0x00003198 .quad -8810199395808373736 + 0x62, 0x95, 0xb8, 0x43, 0xb8, 0x9a, 0x46, 0x8c, //0x000031a0 .quad -8338807543829064350 + 0x8f, 0xec, 0xcc, 0x78, 0x74, 0x6d, 0x95, 0x93, //0x000031a8 .quad -7812217631593927537 + 0xbb, 0xba, 0xa6, 0x54, 0x66, 0x41, 0x58, 0xaf, //0x000031b0 .quad -5811823411358942533 + 0xb3, 0x27, 0x00, 0x97, 0xd1, 0xc8, 0x7a, 0x38, //0x000031b8 .quad 4069786015789754291 + 0x6a, 0x69, 0xd0, 0xe9, 0xbf, 0x51, 0x2e, 0xdb, //0x000031c0 .quad -2653093245771290262 + 0x9f, 0x31, 0xc0, 0xfc, 0x05, 0x7b, 0x99, 0x06, //0x000031c8 .quad 475546501309804959 + 0xe2, 0x41, 0x22, 0xf2, 0x17, 0xf3, 0xfc, 0x88, //0x000031d0 .quad -8575712306248138270 + 0x04, 0x1f, 0xf8, 0xbd, 0xe3, 0xec, 0x1f, 0x44, //0x000031d8 .quad 4908902581746016004 + 0x5a, 0xd2, 0xaa, 0xee, 0xdd, 0x2f, 0x3c, 0xab, //0x000031e0 .quad -6107954364382784934 + 0xc4, 0x26, 0x76, 0xad, 0x1c, 0xe8, 0x27, 0xd5, //0x000031e8 .quad -3087243809672255804 + 0xf1, 0x86, 0x55, 0x6a, 0xd5, 0x3b, 0x0b, 0xd6, //0x000031f0 .quad -3023256937051093263 + 0x75, 0xb0, 0xd3, 0xd8, 0x23, 0xe2, 0x71, 0x8a, //0x000031f8 .quad -8470740780517707659 + 0x56, 0x74, 0x75, 0x62, 0x65, 0x05, 0xc7, 0x85, //0x00003200 .quad -8807064613298015146 + 0x4a, 0x4e, 0x84, 0x67, 0x56, 0x2d, 0x87, 0xf6, //0x00003208 .quad -682526969396179382 + 0x6c, 0xd1, 0x12, 0xbb, 0xbe, 0xc6, 0x38, 0xa7, //0x00003210 .quad -6397144748195131028 + 0xdc, 0x61, 0x65, 0x01, 0xac, 0xf8, 0x28, 0xb4, //0x00003218 .quad -5464844730172612132 + 0xc7, 0x85, 0xd7, 0x69, 0x6e, 0xf8, 0x06, 0xd1, //0x00003220 .quad -3384744916816525881 + 0x53, 0xba, 0xbe, 0x01, 0xd7, 0x36, 0x33, 0xe1, //0x00003228 .quad -2219369894288377261 + 0x9c, 0xb3, 0x26, 0x02, 0x45, 0x5b, 0xa4, 0x82, //0x00003230 .quad -9032994600651410532 + 0x74, 0x34, 0x17, 0x61, 0x46, 0x02, 0xc0, 0xec, //0x00003238 .quad -1387106183930235788 + 0x84, 0x60, 0xb0, 0x42, 0x16, 0x72, 0x4d, 0xa3, //0x00003240 .quad -6679557232386875260 + 0x91, 0x01, 0x5d, 0xf9, 0xd7, 0x02, 0xf0, 0x27, //0x00003248 .quad 2877803288514593169 + 0xa5, 0x78, 0x5c, 0xd3, 0x9b, 0xce, 0x20, 0xcc, //0x00003250 .quad -3737760522056206171 + 0xf5, 0x41, 0xb4, 0xf7, 0x8d, 0x03, 0xec, 0x31, //0x00003258 .quad 3597254110643241461 + 0xce, 0x96, 0x33, 0xc8, 0x42, 0x02, 0x29, 0xff, //0x00003260 .quad -60514634142869810 + 0x72, 0x52, 0xa1, 0x75, 0x71, 0x04, 0x67, 0x7e, //0x00003268 .quad 9108253656731439730 + 0x41, 0x3e, 0x20, 0xbd, 0x69, 0xa1, 0x79, 0x9f, //0x00003270 .quad -6955350673980375487 + 0x87, 0xd3, 0x84, 0xe9, 0xc6, 0x62, 0x00, 0x0f, //0x00003278 .quad 1080972517029761927 + 0xd1, 0x4d, 0x68, 0x2c, 0xc4, 0x09, 0x58, 0xc7, //0x00003280 .quad -4082502324048081455 + 0x69, 0x08, 0xe6, 0xa3, 0x78, 0x7b, 0xc0, 0x52, //0x00003288 .quad 5962901664714590313 + 0x45, 0x61, 0x82, 0x37, 0x35, 0x0c, 0x2e, 0xf9, //0x00003290 .quad -491441886632713915 + 0x83, 0x8a, 0xdf, 0xcc, 0x56, 0x9a, 0x70, 0xa7, //0x00003298 .quad -6381430974388925821 + 0xcb, 0x7c, 0xb1, 0x42, 0xa1, 0xc7, 0xbc, 0x9b, //0x000032a0 .quad -7224680206786528053 + 0x92, 0xb6, 0x0b, 0x40, 0x76, 0x60, 0xa6, 0x88, //0x000032a8 .quad -8600080377420466542 + 0xfe, 0xdb, 0x5d, 0x93, 0x89, 0xf9, 0xab, 0xc2, //0x000032b0 .quad -4419164240055772162 + 0x36, 0xa4, 0x0e, 0xd0, 0x93, 0xf8, 0xcf, 0x6a, //0x000032b8 .quad 7696643601933968438 + 0xfe, 0x52, 0x35, 0xf8, 0xeb, 0xf7, 0x56, 0xf3, //0x000032c0 .quad -912269281642327298 + 0x44, 0x4d, 0x12, 0xc4, 0xb8, 0xf6, 0x83, 0x05, //0x000032c8 .quad 397432465562684740 + 0xde, 0x53, 0x21, 0x7b, 0xf3, 0x5a, 0x16, 0x98, //0x000032d0 .quad -7487697328667536418 + 0x4b, 0x70, 0x8b, 0x7a, 0x33, 0x7a, 0x72, 0xc3, //0x000032d8 .quad -4363290727450709941 + 0xd6, 0xa8, 0xe9, 0x59, 0xb0, 0xf1, 0x1b, 0xbe, //0x000032e0 .quad -4747935642407032618 + 0x5d, 0x4c, 0x2e, 0x59, 0xc0, 0x18, 0x4f, 0x74, //0x000032e8 .quad 8380944645968776285 + 0x0c, 0x13, 0x64, 0x70, 0x1c, 0xee, 0xa2, 0xed, //0x000032f0 .quad -1323233534581402868 + 0x74, 0xdf, 0x79, 0x6f, 0xf0, 0xde, 0x62, 0x11, //0x000032f8 .quad 1252808770606194548 + 0xe7, 0x8b, 0x3e, 0xc6, 0xd1, 0xd4, 0x85, 0x94, //0x00003300 .quad -7744549986754458649 + 0xa9, 0x2b, 0xac, 0x45, 0x56, 0xcb, 0xdd, 0x8a, //0x00003308 .quad -8440366555225904215 + 0xe1, 0x2e, 0xce, 0x37, 0x06, 0x4a, 0xa7, 0xb9, //0x00003310 .quad -5069001465015685407 + 0x93, 0x36, 0x17, 0xd7, 0x2b, 0x3e, 0x95, 0x6d, //0x00003318 .quad 7896285879677171347 + 0x99, 0xba, 0xc1, 0xc5, 0x87, 0x1c, 0x11, 0xe8, //0x00003320 .quad -1724565812842218855 + 0x38, 0x04, 0xdd, 0xcc, 0xb6, 0x8d, 0xfa, 0xc8, //0x00003328 .quad -3964700705685699528 + 0xa0, 0x14, 0x99, 0xdb, 0xd4, 0xb1, 0x0a, 0x91, //0x00003330 .quad -7995382660667468640 + 0xa3, 0x22, 0x0a, 0x40, 0x92, 0x98, 0x9c, 0x1d, //0x00003338 .quad 2133748077373825699 + 0xc8, 0x59, 0x7f, 0x12, 0x4a, 0x5e, 0x4d, 0xb5, //0x00003340 .quad -5382542307406947896 + 0x4c, 0xab, 0x0c, 0xd0, 0xb6, 0xbe, 0x03, 0x25, //0x00003348 .quad 2667185096717282124 + 0x3a, 0x30, 0x1f, 0x97, 0xdc, 0xb5, 0xa0, 0xe2, //0x00003350 .quad -2116491865831296966 + 0x1e, 0xd6, 0x0f, 0x84, 0x64, 0xae, 0x44, 0x2e, //0x00003358 .quad 3333981370896602654 + 0x24, 0x7e, 0x73, 0xde, 0xa9, 0x71, 0xa4, 0x8d, //0x00003360 .quad -8240336443785642460 + 0xd3, 0xe5, 0x89, 0xd2, 0xfe, 0xec, 0xea, 0x5c, //0x00003368 .quad 6695424375237764563 + 0xad, 0x5d, 0x10, 0x56, 0x14, 0x8e, 0x0d, 0xb1, //0x00003370 .quad -5688734536304665171 + 0x48, 0x5f, 0x2c, 0x87, 0x3e, 0xa8, 0x25, 0x74, //0x00003378 .quad 8369280469047205704 + 0x18, 0x75, 0x94, 0x6b, 0x99, 0xf1, 0x50, 0xdd, //0x00003380 .quad -2499232151953443560 + 0x1a, 0x77, 0xf7, 0x28, 0x4e, 0x12, 0x2f, 0xd1, //0x00003388 .quad -3373457468973156582 + 0x2f, 0xc9, 0x3c, 0xe3, 0xff, 0x96, 0x52, 0x8a, //0x00003390 .quad -8479549122611984081 + 0x70, 0xaa, 0x9a, 0xd9, 0x70, 0x6b, 0xbd, 0x82, //0x00003398 .quad -9025939945749304720 + 0x7b, 0xfb, 0x0b, 0xdc, 0xbf, 0x3c, 0xe7, 0xac, //0x000033a0 .quad -5987750384837592197 + 0x0c, 0x55, 0x01, 0x10, 0x4d, 0xc6, 0x6c, 0x63, //0x000033a8 .quad 7164319141522920716 + 0x5a, 0xfa, 0x0e, 0xd3, 0xef, 0x0b, 0x21, 0xd8, //0x000033b0 .quad -2873001962619602342 + 0x4f, 0xaa, 0x01, 0x54, 0xe0, 0xf7, 0x47, 0x3c, //0x000033b8 .quad 4343712908476262991 + 0x78, 0x5c, 0xe9, 0xe3, 0x75, 0xa7, 0x14, 0x87, //0x000033c0 .quad -8713155254278333320 + 0x72, 0x0a, 0x81, 0x34, 0xec, 0xfa, 0xac, 0x65, //0x000033c8 .quad 7326506586225052274 + 0x96, 0xb3, 0xe3, 0x5c, 0x53, 0xd1, 0xd9, 0xa8, //0x000033d0 .quad -6279758049420528746 + 0x0e, 0x4d, 0xa1, 0x41, 0xa7, 0x39, 0x18, 0x7f, //0x000033d8 .quad 9158133232781315342 + 0x7c, 0xa0, 0x1c, 0x34, 0xa8, 0x45, 0x10, 0xd3, //0x000033e0 .quad -3238011543348273028 + 0x51, 0xa0, 0x09, 0x12, 0x11, 0x48, 0xde, 0x1e, //0x000033e8 .quad 2224294504121868369 + 0x4d, 0xe4, 0x91, 0x20, 0x89, 0x2b, 0xea, 0x83, //0x000033f0 .quad -8941286242233752499 + 0x33, 0x04, 0x46, 0xab, 0x0a, 0xed, 0x4a, 0x93, //0x000033f8 .quad -7833187971778608077 + 0x60, 0x5d, 0xb6, 0x68, 0x6b, 0xb6, 0xe4, 0xa4, //0x00003400 .quad -6564921784364802720 + 0x40, 0x85, 0x17, 0x56, 0x4d, 0xa8, 0x1d, 0xf8, //0x00003408 .quad -568112927868484288 + 0xb9, 0xf4, 0xe3, 0x42, 0x06, 0xe4, 0x1d, 0xce, //0x00003410 .quad -3594466212028615495 + 0x8f, 0x66, 0x9d, 0xab, 0x60, 0x12, 0x25, 0x36, //0x00003418 .quad 3901544858591782543 + 0xf3, 0x78, 0xce, 0xe9, 0x83, 0xae, 0xd2, 0x80, //0x00003420 .quad -9164070410158966541 + 0x1a, 0x60, 0x42, 0x6b, 0x7c, 0x2b, 0xd7, 0xc1, //0x00003428 .quad -4479063491021217766 + 0x30, 0x17, 0x42, 0xe4, 0x24, 0x5a, 0x07, 0xa1, //0x00003430 .quad -6843401994271320272 + 0x20, 0xf8, 0x12, 0x86, 0x5b, 0xf6, 0x4c, 0xb2, //0x00003438 .quad -5598829363776522208 + 0xfc, 0x9c, 0x52, 0x1d, 0xae, 0x30, 0x49, 0xc9, //0x00003440 .quad -3942566474411762436 + 0x28, 0xb6, 0x97, 0x67, 0xf2, 0x33, 0xe0, 0xde, //0x00003448 .quad -2386850686293264856 + 0x3c, 0x44, 0xa7, 0xa4, 0xd9, 0x7c, 0x9b, 0xfb, //0x00003450 .quad -316522074587315140 + 0xb2, 0xa3, 0x7d, 0x01, 0xef, 0x40, 0x98, 0x16, //0x00003458 .quad 1628122660560806834 + 0xa5, 0x8a, 0xe8, 0x06, 0x08, 0x2e, 0x41, 0x9d, //0x00003460 .quad -7115355324258153819 + 0x4f, 0x86, 0xee, 0x60, 0x95, 0x28, 0x1f, 0x8e, //0x00003468 .quad -8205795374004271537 + 0x4e, 0xad, 0xa2, 0x08, 0x8a, 0x79, 0x91, 0xc4, //0x00003470 .quad -4282508136895304370 + 0xe3, 0x27, 0x2a, 0xb9, 0xba, 0xf2, 0xa6, 0xf1, //0x00003478 .quad -1033872180650563613 + 0xa2, 0x58, 0xcb, 0x8a, 0xec, 0xd7, 0xb5, 0xf5, //0x00003480 .quad -741449152691742558 + 0xdc, 0xb1, 0x74, 0x67, 0x69, 0xaf, 0x10, 0xae, //0x00003488 .quad -5904026244240592420 + 0x65, 0x17, 0xbf, 0xd6, 0xf3, 0xa6, 0x91, 0x99, //0x00003490 .quad -7380934748073420955 + 0x2a, 0xef, 0xa8, 0xe0, 0xa1, 0x6d, 0xca, 0xac, //0x00003498 .quad -5995859411864064214 + 0x3f, 0xdd, 0x6e, 0xcc, 0xb0, 0x10, 0xf6, 0xbf, //0x000034a0 .quad -4614482416664388289 + 0xf4, 0x2a, 0xd3, 0x58, 0x0a, 0x09, 0xfd, 0x17, //0x000034a8 .quad 1728547772024695540 + 0x8e, 0x94, 0x8a, 0xff, 0xdc, 0x94, 0xf3, 0xef, //0x000034b0 .quad -1156417002403097458 + 0xb1, 0xf5, 0x07, 0xef, 0x4c, 0x4b, 0xfc, 0xdd, //0x000034b8 .quad -2451001303396518479 + 0xd9, 0x9c, 0xb6, 0x1f, 0x0a, 0x3d, 0xf8, 0x95, //0x000034c0 .quad -7640289654143017767 + 0x8f, 0xf9, 0x64, 0x15, 0x10, 0xaf, 0xbd, 0x4a, //0x000034c8 .quad 5385653213018257807 + 0x0f, 0x44, 0xa4, 0xa7, 0x4c, 0x4c, 0x76, 0xbb, //0x000034d0 .quad -4938676049251384305 + 0xf2, 0x37, 0xbe, 0x1a, 0xd4, 0x1a, 0x6d, 0x9d, //0x000034d8 .quad -7102991539009341454 + 0x13, 0x55, 0x8d, 0xd1, 0x5f, 0xdf, 0x53, 0xea, //0x000034e0 .quad -1561659043136842477 + 0xee, 0xc5, 0x6d, 0x21, 0x89, 0x61, 0xc8, 0x84, //0x000034e8 .quad -8878739423761676818 + 0x2c, 0x55, 0xf8, 0xe2, 0x9b, 0x6b, 0x74, 0x92, //0x000034f0 .quad -7893565929601608404 + 0xb5, 0x9b, 0xe4, 0xb4, 0xf5, 0x3c, 0xfd, 0x32, //0x000034f8 .quad 3674159897003727797 + 0x77, 0x6a, 0xb6, 0xdb, 0x82, 0x86, 0x11, 0xb7, //0x00003500 .quad -5255271393574622601 + 0xa2, 0xc2, 0x1d, 0x22, 0x33, 0x8c, 0xbc, 0x3f, //0x00003508 .quad 4592699871254659746 + 0x15, 0x05, 0xa4, 0x92, 0x23, 0xe8, 0xd5, 0xe4, //0x00003510 .quad -1957403223540890347 + 0x4b, 0x33, 0xa5, 0xea, 0x3f, 0xaf, 0xab, 0x0f, //0x00003518 .quad 1129188820640936779 + 0x2d, 0x83, 0xa6, 0x3b, 0x16, 0xb1, 0x05, 0x8f, //0x00003520 .quad -8140906042354138323 + 0x0f, 0x40, 0xa7, 0xf2, 0x87, 0x4d, 0xcb, 0x29, //0x00003528 .quad 3011586022114279439 + 0xf8, 0x23, 0x90, 0xca, 0x5b, 0x1d, 0xc7, 0xb2, //0x00003530 .quad -5564446534515285000 + 0x13, 0x10, 0x51, 0xef, 0xe9, 0x20, 0x3e, 0x74, //0x00003538 .quad 8376168546070237203 + 0xf6, 0x2c, 0x34, 0xbd, 0xb2, 0xe4, 0x78, 0xdf, //0x00003540 .quad -2343872149716718346 + 0x17, 0x54, 0x25, 0x6b, 0x24, 0xa9, 0x4d, 0x91, //0x00003548 .quad -7976533391121755113 + 0x1a, 0x9c, 0x40, 0xb6, 0xef, 0x8e, 0xab, 0x8b, //0x00003550 .quad -8382449121214030822 + 0x8f, 0x54, 0xf7, 0xc2, 0xb6, 0x89, 0xd0, 0x1a, //0x00003558 .quad 1932195658189984911 + 0x20, 0xc3, 0xd0, 0xa3, 0xab, 0x72, 0x96, 0xae, //0x00003560 .quad -5866375383090150624 + 0xb2, 0x29, 0xb5, 0x73, 0x24, 0xac, 0x84, 0xa1, //0x00003568 .quad -6808127464117294670 + 0xe8, 0xf3, 0xc4, 0x8c, 0x56, 0x0f, 0x3c, 0xda, //0x00003570 .quad -2721283210435300376 + 0x1f, 0x74, 0xa2, 0x90, 0x2d, 0xd7, 0xe5, 0xc9, //0x00003578 .quad -3898473311719230433 + 0x71, 0x18, 0xfb, 0x17, 0x96, 0x89, 0x65, 0x88, //0x00003580 .quad -8618331034163144591 + 0x93, 0x88, 0x65, 0x7a, 0x7c, 0xa6, 0x2f, 0x7e, //0x00003588 .quad 9092669226243950739 + 0x8d, 0xde, 0xf9, 0x9d, 0xfb, 0xeb, 0x7e, 0xaa, //0x00003590 .quad -6161227774276542835 + 0xb8, 0xea, 0xfe, 0x98, 0x1b, 0x90, 0xbb, 0xdd, //0x00003598 .quad -2469221522477225288 + 0x31, 0x56, 0x78, 0x85, 0xfa, 0xa6, 0x1e, 0xd5, //0x000035a0 .quad -3089848699418290639 + 0x66, 0xa5, 0x3e, 0x7f, 0x22, 0x74, 0x2a, 0x55, //0x000035a8 .quad 6136845133758244198 + 0xde, 0x35, 0x6b, 0x93, 0x5c, 0x28, 0x33, 0x85, //0x000035b0 .quad -8848684464777513506 + 0x60, 0x27, 0x87, 0x8f, 0x95, 0x88, 0x3a, 0xd5, //0x000035b8 .quad -3082000819042179232 + 0x56, 0x03, 0x46, 0xb8, 0x73, 0xf2, 0x7f, 0xa6, //0x000035c0 .quad -6449169562544503978 + 0x38, 0xf1, 0x68, 0xf3, 0xba, 0x2a, 0x89, 0x8a, //0x000035c8 .quad -8464187042230111944 + 0x2c, 0x84, 0x57, 0xa6, 0x10, 0xef, 0x1f, 0xd0, //0x000035d0 .quad -3449775934753242068 + 0x86, 0x2d, 0x43, 0xb0, 0x69, 0x75, 0x2b, 0x2d, //0x000035d8 .quad 3254824252494523782 + 0x9b, 0xb2, 0xf6, 0x67, 0x6a, 0xf5, 0x13, 0x82, //0x000035e0 .quad -9073638986861858149 + 0x74, 0xfc, 0x29, 0x0e, 0x62, 0x29, 0x3b, 0x9c, //0x000035e8 .quad -7189106879045698444 + 0x42, 0x5f, 0xf4, 0x01, 0xc5, 0xf2, 0x98, 0xa2, //0x000035f0 .quad -6730362715149934782 + 0x90, 0x7b, 0xb4, 0x91, 0xba, 0xf3, 0x49, 0x83, //0x000035f8 .quad -8986383598807123056 + 0x13, 0x77, 0x71, 0x42, 0x76, 0x2f, 0x3f, 0xcb, //0x00003600 .quad -3801267375510030573 + 0x74, 0x9a, 0x21, 0x36, 0xa9, 0x70, 0x1c, 0x24, //0x00003608 .quad 2602078556773259892 + 0xd7, 0xd4, 0x0d, 0xd3, 0x53, 0xfb, 0x0e, 0xfe, //0x00003610 .quad -139898200960150313 + 0x11, 0x01, 0xaa, 0x83, 0xd3, 0x8c, 0x23, 0xed, //0x00003618 .quad -1359087822460813039 + 0x06, 0xa5, 0xe8, 0x63, 0x14, 0x5d, 0xc9, 0x9e, //0x00003620 .quad -7004965403241175802 + 0xab, 0x40, 0x4a, 0x32, 0x04, 0x38, 0x36, 0xf4, //0x00003628 .quad -849429889038008149 + 0x48, 0xce, 0xe2, 0x7c, 0x59, 0xb4, 0x7b, 0xc6, //0x00003630 .quad -4144520735624081848 + 0xd6, 0xd0, 0xdc, 0x3e, 0x05, 0xc6, 0x43, 0xb1, //0x00003638 .quad -5673473379724898090 + 0xda, 0x81, 0x1b, 0xdc, 0x6f, 0xa1, 0x1a, 0xf8, //0x00003640 .quad -568964901102714406 + 0x0b, 0x05, 0x94, 0x8e, 0x86, 0xb7, 0x94, 0xdd, //0x00003648 .quad -2480155706228734709 + 0x28, 0x31, 0x91, 0xe9, 0xe5, 0xa4, 0x10, 0x9b, //0x00003650 .quad -7273132090830278360 + 0x27, 0x83, 0x1c, 0x19, 0xb4, 0xf2, 0x7c, 0xca, //0x00003658 .quad -3855940325606653145 + 0x72, 0x7d, 0xf5, 0x63, 0x1f, 0xce, 0xd4, 0xc1, //0x00003660 .quad -4479729095110460046 + 0xf1, 0xa3, 0x63, 0x1f, 0x61, 0x2f, 0x1c, 0xfd, //0x00003668 .quad -208239388580928527 + 0xcf, 0xdc, 0xf2, 0x3c, 0xa7, 0x01, 0x4a, 0xf2, //0x00003670 .quad -987975350460687153 + 0xed, 0x8c, 0x3c, 0x67, 0x39, 0x3b, 0x63, 0xbc, //0x00003678 .quad -4871985254153548563 + 0x01, 0xca, 0x17, 0x86, 0x08, 0x41, 0x6e, 0x97, //0x00003680 .quad -7535013621679011327 + 0x14, 0xd8, 0x85, 0xe0, 0x03, 0x05, 0xbe, 0xd5, //0x00003688 .quad -3044990783845967852 + 0x82, 0xbc, 0x9d, 0xa7, 0x4a, 0xd1, 0x49, 0xbd, //0x00003690 .quad -4807081008671376254 + 0x19, 0x4e, 0xa7, 0xd8, 0x44, 0x86, 0x2d, 0x4b, //0x00003698 .quad 5417133557047315993 + 0xa2, 0x2b, 0x85, 0x51, 0x9d, 0x45, 0x9c, 0xec, //0x000036a0 .quad -1397165242411832414 + 0x9f, 0x21, 0xd1, 0x0e, 0xd6, 0xe7, 0xf8, 0xdd, //0x000036a8 .quad -2451955090545630817 + 0x45, 0x3b, 0xf3, 0x52, 0x82, 0xab, 0xe1, 0x93, //0x000036b0 .quad -7790757304148477115 + 0x04, 0xb5, 0x42, 0xc9, 0xe5, 0x90, 0xbb, 0xca, //0x000036b8 .quad -3838314940804713212 + 0x17, 0x0a, 0xb0, 0xe7, 0x62, 0x16, 0xda, 0xb8, //0x000036c0 .quad -5126760611758208489 + 0x44, 0x62, 0x93, 0x3b, 0x1f, 0x75, 0x6a, 0x3d, //0x000036c8 .quad 4425478360848884292 + 0x9d, 0x0c, 0x9c, 0xa1, 0xfb, 0x9b, 0x10, 0xe7, //0x000036d0 .quad -1796764746270372707 + 0xd5, 0x3a, 0x78, 0x0a, 0x67, 0x12, 0xc5, 0x0c, //0x000036d8 .quad 920161932633717461 + 0xe2, 0x87, 0x01, 0x45, 0x7d, 0x61, 0x6a, 0x90, //0x000036e0 .quad -8040506994060064798 + 0xc6, 0x24, 0x8b, 0x66, 0x80, 0x2b, 0xfb, 0x27, //0x000036e8 .quad 2880944217109767366 + 0xda, 0xe9, 0x41, 0x96, 0xdc, 0xf9, 0x84, 0xb4, //0x000036f0 .quad -5438947724147693094 + 0xf7, 0xed, 0x2d, 0x80, 0x60, 0xf6, 0xf9, 0xb1, //0x000036f8 .quad -5622191765467566601 + 0x51, 0x64, 0xd2, 0xbb, 0x53, 0x38, 0xa6, 0xe1, //0x00003700 .quad -2186998636757228463 + 0x74, 0x69, 0x39, 0xa0, 0xf8, 0x73, 0x78, 0x5e, //0x00003708 .quad 6807318348447705460 + 0xb2, 0x7e, 0x63, 0x55, 0x34, 0xe3, 0x07, 0x8d, //0x00003710 .quad -8284403175614349646 + 0xe9, 0xe1, 0x23, 0x64, 0x7b, 0x48, 0x0b, 0xdb, //0x00003718 .quad -2662955059861265943 + 0x5f, 0x5e, 0xbc, 0x6a, 0x01, 0xdc, 0x49, 0xb0, //0x00003720 .quad -5743817951090549153 + 0x63, 0xda, 0x2c, 0x3d, 0x9a, 0x1a, 0xce, 0x91, //0x00003728 .quad -7940379843253970333 + 0xf7, 0x75, 0x6b, 0xc5, 0x01, 0x53, 0x5c, 0xdc, //0x00003730 .quad -2568086420435798537 + 0xfc, 0x10, 0x78, 0xcc, 0x40, 0xa1, 0x41, 0x76, //0x00003738 .quad 8521269269642088700 + 0xba, 0x29, 0x63, 0x1b, 0xe1, 0xb3, 0xb9, 0x89, //0x00003740 .quad -8522583040413455942 + 0x9e, 0x0a, 0xcb, 0x7f, 0xc8, 0x04, 0xe9, 0xa9, //0x00003748 .quad -6203421752542164322 + 0x29, 0xf4, 0x3b, 0x62, 0xd9, 0x20, 0x28, 0xac, //0x00003750 .quad -6041542782089432023 + 0x45, 0xcd, 0xbd, 0x9f, 0xfa, 0x45, 0x63, 0x54, //0x00003758 .quad 6080780864604458309 + 0x33, 0xf1, 0xca, 0xba, 0x0f, 0x29, 0x32, 0xd7, //0x00003760 .quad -2940242459184402125 + 0x96, 0x40, 0xad, 0x47, 0x79, 0x17, 0x7c, 0xa9, //0x00003768 .quad -6234081974526590826 + 0xc0, 0xd6, 0xbe, 0xd4, 0xa9, 0x59, 0x7f, 0x86, //0x00003770 .quad -8755180564631333184 + 0x5e, 0x48, 0xcc, 0xcc, 0xab, 0x8e, 0xed, 0x49, //0x00003778 .quad 5327070802775656542 + 0x70, 0x8c, 0xee, 0x49, 0x14, 0x30, 0x1f, 0xa8, //0x00003780 .quad -6332289687361778576 + 0x75, 0x5a, 0xff, 0xbf, 0x56, 0xf2, 0x68, 0x5c, //0x00003788 .quad 6658838503469570677 + 0x8c, 0x2f, 0x6a, 0x5c, 0x19, 0xfc, 0x26, 0xd2, //0x00003790 .quad -3303676090774835316 + 0x12, 0x31, 0xff, 0x6f, 0xec, 0x2e, 0x83, 0x73, //0x00003798 .quad 8323548129336963346 + 0xb7, 0x5d, 0xc2, 0xd9, 0x8f, 0x5d, 0x58, 0x83, //0x000037a0 .quad -8982326584375353929 + 0xac, 0x7e, 0xff, 0xc5, 0x53, 0xfd, 0x31, 0xc8, //0x000037a8 .quad -4021154456019173716 + 0x25, 0xf5, 0x32, 0xd0, 0xf3, 0x74, 0x2e, 0xa4, //0x000037b0 .quad -6616222212041804507 + 0x56, 0x5e, 0x7f, 0xb7, 0xa8, 0x7c, 0x3e, 0xba, //0x000037b8 .quad -5026443070023967146 + 0x6f, 0xb2, 0x3f, 0xc4, 0x30, 0x12, 0x3a, 0xcd, //0x000037c0 .quad -3658591746624867729 + 0xec, 0x35, 0x5f, 0xe5, 0xd2, 0x1b, 0xce, 0x28, //0x000037c8 .quad 2940318199324816876 + 0x85, 0xcf, 0xa7, 0x7a, 0x5e, 0x4b, 0x44, 0x80, //0x000037d0 .quad -9204148869281624187 + 0xb4, 0x81, 0x5b, 0xcf, 0x63, 0xd1, 0x80, 0x79, //0x000037d8 .quad 8755227902219092404 + 0x66, 0xc3, 0x51, 0x19, 0x36, 0x5e, 0x55, 0xa0, //0x000037e0 .quad -6893500068174642330 + 0x20, 0x62, 0x32, 0xc3, 0xbc, 0x05, 0xe1, 0xd7, //0x000037e8 .quad -2891023177508298208 + 0x40, 0x34, 0xa6, 0x9f, 0xc3, 0xb5, 0x6a, 0xc8, //0x000037f0 .quad -4005189066790915008 + 0xa8, 0xfa, 0xfe, 0xf3, 0x2b, 0x47, 0xd9, 0x8d, //0x000037f8 .quad -8225464990312760664 + 0x50, 0xc1, 0x8f, 0x87, 0x34, 0x63, 0x85, 0xfa, //0x00003800 .quad -394800315061255856 + 0x52, 0xb9, 0xfe, 0xf0, 0xf6, 0x98, 0x4f, 0xb1, //0x00003808 .quad -5670145219463562926 + 0xd2, 0xd8, 0xb9, 0xd4, 0x00, 0x5e, 0x93, 0x9c, //0x00003810 .quad -7164279224554366766 + 0xd4, 0x33, 0x9f, 0x56, 0x9a, 0xbf, 0xd1, 0x6e, //0x00003818 .quad 7985374283903742932 + 0x07, 0x4f, 0xe8, 0x09, 0x81, 0x35, 0xb8, 0xc3, //0x00003820 .quad -4343663012265570553 + 0xc9, 0x00, 0x47, 0xec, 0x80, 0x2f, 0x86, 0x0a, //0x00003828 .quad 758345818024902857 + 0xc8, 0x62, 0x62, 0x4c, 0xe1, 0x42, 0xa6, 0xf4, //0x00003830 .quad -817892746904575288 + 0xfb, 0xc0, 0x58, 0x27, 0x61, 0xbb, 0x27, 0xcd, //0x00003838 .quad -3663753745896259333 + 0xbd, 0x7d, 0xbd, 0xcf, 0xcc, 0xe9, 0xe7, 0x98, //0x00003840 .quad -7428711994456441411 + 0x9d, 0x78, 0x97, 0xb8, 0x1c, 0xd5, 0x38, 0x80, //0x00003848 .quad -9207375118826243939 + 0x2c, 0xdd, 0xac, 0x03, 0x40, 0xe4, 0x21, 0xbf, //0x00003850 .quad -4674203974643163860 + 0xc4, 0x56, 0xbd, 0xe6, 0x63, 0x0a, 0x47, 0xe0, //0x00003858 .quad -2285846861678029116 + 0x78, 0x14, 0x98, 0x04, 0x50, 0x5d, 0xea, 0xee, //0x00003860 .quad -1231068949876566920 + 0x75, 0xac, 0x6c, 0xe0, 0xfc, 0xcc, 0x58, 0x18, //0x00003868 .quad 1754377441329851509 + 0xcb, 0x0c, 0xdf, 0x02, 0x52, 0x7a, 0x52, 0x95, //0x00003870 .quad -7686947121313936181 + 0xc9, 0xeb, 0x43, 0x0c, 0x1e, 0x80, 0x37, 0x0f, //0x00003878 .quad 1096485900831157193 + 0xfd, 0xcf, 0x96, 0x83, 0xe6, 0x18, 0xa7, 0xba, //0x00003880 .quad -4996997883215032323 + 0xbb, 0xe6, 0x54, 0x8f, 0x25, 0x60, 0x05, 0xd3, //0x00003888 .quad -3241078642388441413 + 0xfd, 0x83, 0x7c, 0x24, 0x20, 0xdf, 0x50, 0xe9, //0x00003890 .quad -1634561335591402499 + 0x6a, 0x20, 0x2a, 0xf3, 0x2e, 0xb8, 0xc6, 0x47, //0x00003898 .quad 5172023733869224042 + 0x7e, 0xd2, 0xcd, 0x16, 0x74, 0x8b, 0xd2, 0x91, //0x000038a0 .quad -7939129862385708418 + 0x42, 0x54, 0xfa, 0x57, 0x1d, 0x33, 0xdc, 0x4c, //0x000038a8 .quad 5538357842881958978 + 0x1d, 0x47, 0x81, 0x1c, 0x51, 0x2e, 0x47, 0xb6, //0x000038b0 .quad -5312226309554747619 + 0x53, 0xe9, 0xf8, 0xad, 0xe4, 0x3f, 0x13, 0xe0, //0x000038b8 .quad -2300424733252327085 + 0xe5, 0x98, 0xa1, 0x63, 0xe5, 0xf9, 0xd8, 0xe3, //0x000038c0 .quad -2028596868516046619 + 0xa7, 0x23, 0x77, 0xd9, 0xdd, 0x0f, 0x18, 0x58, //0x000038c8 .quad 6347841120289366951 + 0x8f, 0xff, 0x44, 0x5e, 0x2f, 0x9c, 0x67, 0x8e, //0x000038d0 .quad -8185402070463610993 + 0x49, 0x76, 0xea, 0xa7, 0xea, 0x09, 0x0f, 0x57, //0x000038d8 .quad 6273243709394548297 + 0x73, 0x3f, 0xd6, 0x35, 0x3b, 0x83, 0x01, 0xb2, //0x000038e0 .quad -5620066569652125837 + 0xdb, 0x13, 0xe5, 0x51, 0x65, 0xcc, 0xd2, 0x2c, //0x000038e8 .quad 3229868618315797467 + 0x4f, 0xcf, 0x4b, 0x03, 0x0a, 0xe4, 0x81, 0xde, //0x000038f0 .quad -2413397193637769393 + 0xd2, 0x58, 0x5e, 0xa6, 0x7e, 0x7f, 0x07, 0xf8, //0x000038f8 .quad -574350245532641070 + 0x91, 0x61, 0x0f, 0x42, 0x86, 0x2e, 0x11, 0x8b, //0x00003900 .quad -8425902273664687727 + 0x83, 0xf7, 0xfa, 0x27, 0xaf, 0xaf, 0x04, 0xfb, //0x00003908 .quad -358968903457900669 + 0xf6, 0x39, 0x93, 0xd2, 0x27, 0x7a, 0xd5, 0xad, //0x00003910 .quad -5920691823653471754 + 0x64, 0xb5, 0xf9, 0xf1, 0x9a, 0xdb, 0xc5, 0x79, //0x00003918 .quad 8774660907532399972 + 0x74, 0x08, 0x38, 0xc7, 0xb1, 0xd8, 0x4a, 0xd9, //0x00003920 .quad -2789178761139451788 + 0xbd, 0x22, 0x78, 0xae, 0x81, 0x52, 0x37, 0x18, //0x00003928 .quad 1744954097560724157 + 0x48, 0x05, 0x83, 0x1c, 0x6f, 0xc7, 0xce, 0x87, //0x00003930 .quad -8660765753353239224 + 0xb6, 0x15, 0x0b, 0x0d, 0x91, 0x93, 0x22, 0x8f, //0x00003938 .quad -8132775725879323210 + 0x9a, 0xc6, 0xa3, 0xe3, 0x4a, 0x79, 0xc2, 0xa9, //0x00003940 .quad -6214271173264161126 + 0x23, 0xdb, 0x4d, 0x50, 0x75, 0x38, 0xeb, 0xb2, //0x00003948 .quad -5554283638921766109 + 0x41, 0xb8, 0x8c, 0x9c, 0x9d, 0x17, 0x33, 0xd4, //0x00003950 .quad -3156152948152813503 + 0xec, 0x51, 0x61, 0xa4, 0x92, 0x06, 0xa6, 0x5f, //0x00003958 .quad 6892203506629956076 + 0x28, 0xf3, 0xd7, 0x81, 0xc2, 0xee, 0x9f, 0x84, //0x00003960 .quad -8890124620236590296 + 0x34, 0xd3, 0xbc, 0xa6, 0x1b, 0xc4, 0xc7, 0xdb, //0x00003968 .quad -2609901835997359308 + 0xf3, 0xef, 0x4d, 0x22, 0x73, 0xea, 0xc7, 0xa5, //0x00003970 .quad -6500969756868349965 + 0x01, 0x08, 0x6c, 0x90, 0x22, 0xb5, 0xb9, 0x12, //0x00003978 .quad 1349308723430688769 + 0xef, 0x6b, 0xe1, 0xea, 0x0f, 0xe5, 0x39, 0xcf, //0x00003980 .quad -3514526177658049553 + 0x01, 0x0a, 0x87, 0x34, 0x6b, 0x22, 0x68, 0xd7, //0x00003988 .quad -2925050114139026943 + 0x75, 0xe3, 0xcc, 0xf2, 0x29, 0x2f, 0x84, 0x81, //0x00003990 .quad -9114107888677362827 + 0x41, 0x66, 0xd4, 0x00, 0x83, 0x15, 0xa1, 0xe6, //0x00003998 .quad -1828156321336891839 + 0x53, 0x1c, 0x80, 0x6f, 0xf4, 0x3a, 0xe5, 0xa1, //0x000039a0 .quad -6780948842419315629 + 0xd1, 0x7f, 0x09, 0xc1, 0xe3, 0x5a, 0x49, 0x60, //0x000039a8 .quad 6938176635183661009 + 0x68, 0x23, 0x60, 0x8b, 0xb1, 0x89, 0x5e, 0xca, //0x000039b0 .quad -3864500034596756632 + 0xc5, 0xdf, 0x4b, 0xb1, 0x9c, 0xb1, 0x5b, 0x38, //0x000039b8 .quad 4061034775552188357 + 0x42, 0x2c, 0x38, 0xee, 0x1d, 0x2c, 0xf6, 0xfc, //0x000039c0 .quad -218939024818557886 + 0xb6, 0xd7, 0x9e, 0xdd, 0x03, 0x9e, 0x72, 0x46, //0x000039c8 .quad 5076293469440235446 + 0xa9, 0x1b, 0xe3, 0xb4, 0x92, 0xdb, 0x19, 0x9e, //0x000039d0 .quad -7054365918152680535 + 0xd2, 0x46, 0x83, 0x6a, 0xc2, 0xa2, 0x07, 0x6c, //0x000039d8 .quad 7784369436827535058 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/get_by_path.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/get_by_path.go new file mode 100644 index 0000000..0d2dc27 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/get_by_path.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_get_by_path func(s unsafe.Pointer, p unsafe.Pointer, path unsafe.Pointer, m unsafe.Pointer) (ret int) + +var S_get_by_path uintptr + +//go:nosplit +func get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int) { + return F_get_by_path(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(path)), rt.NoEscape(unsafe.Pointer(m))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/get_by_path_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/get_by_path_subr.go new file mode 100644 index 0000000..9087de6 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/get_by_path_subr.go @@ -0,0 +1,45 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__get_by_path = 624 +) + +const ( + _stack__get_by_path = 240 +) + +const ( + _size__get_by_path = 21752 +) + +var ( + _pcsp__get_by_path = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {12437, 240}, + {12438, 232}, + {12440, 224}, + {12442, 216}, + {12444, 208}, + {12446, 200}, + {12450, 192}, + {21752, 240}, + } +) + +var _cfunc_get_by_path = []loader.CFunc{ + {"_get_by_path_entry", 0, _entry__get_by_path, 0, nil}, + {"_get_by_path", _entry__get_by_path, _size__get_by_path, _stack__get_by_path, _pcsp__get_by_path}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/get_by_path_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/get_by_path_text_amd64.go new file mode 100644 index 0000000..93454ce --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/get_by_path_text_amd64.go @@ -0,0 +1,6531 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_get_by_path = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x20, // .byte 32 + 0x00, //0x00000001 .byte 0 + 0x00, //0x00000002 .byte 0 + 0x00, //0x00000003 .byte 0 + 0x00, //0x00000004 .byte 0 + 0x00, //0x00000005 .byte 0 + 0x00, //0x00000006 .byte 0 + 0x00, //0x00000007 .byte 0 + 0x00, //0x00000008 .byte 0 + 0x09, //0x00000009 .byte 9 + 0x0a, //0x0000000a .byte 10 + 0x00, //0x0000000b .byte 0 + 0x00, //0x0000000c .byte 0 + 0x0d, //0x0000000d .byte 13 + 0x00, //0x0000000e .byte 0 + 0x00, //0x0000000f .byte 0 + 0x20, //0x00000010 .byte 32 + 0x00, //0x00000011 .byte 0 + 0x00, //0x00000012 .byte 0 + 0x00, //0x00000013 .byte 0 + 0x00, //0x00000014 .byte 0 + 0x00, //0x00000015 .byte 0 + 0x00, //0x00000016 .byte 0 + 0x00, //0x00000017 .byte 0 + 0x00, //0x00000018 .byte 0 + 0x09, //0x00000019 .byte 9 + 0x0a, //0x0000001a .byte 10 + 0x00, //0x0000001b .byte 0 + 0x00, //0x0000001c .byte 0 + 0x0d, //0x0000001d .byte 13 + 0x00, //0x0000001e .byte 0 + 0x00, //0x0000001f .byte 0 + //0x00000020 LCPI0_1 + 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, //0x00000020 QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' + 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, //0x00000030 QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' + //0x00000040 LCPI0_2 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000040 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000050 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000060 LCPI0_3 + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, //0x00000060 QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, //0x00000070 QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' + //0x00000080 LCPI0_7 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000080 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000090 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x000000a0 LCPI0_8 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x000000a0 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x000000b0 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x000000c0 LCPI0_9 + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, //0x000000c0 QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, //0x000000d0 QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' + //0x000000e0 LCPI0_10 + 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, //0x000000e0 QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' + 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, //0x000000f0 QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' + //0x00000100 LCPI0_11 + 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, //0x00000100 QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' + 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, //0x00000110 QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' + //0x00000120 LCPI0_12 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000120 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000130 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000140 LCPI0_13 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000140 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000150 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000160 LCPI0_14 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000160 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000170 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000180 LCPI0_15 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000180 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000190 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x000001a0 LCPI0_16 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x000001a0 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x000001b0 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x000001c0 LCPI0_17 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000001c0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000001d0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000001e0 .p2align 4, 0x00 + //0x000001e0 LCPI0_4 + 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, //0x000001e0 QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' + //0x000001f0 LCPI0_5 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x000001f0 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000200 LCPI0_6 + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, //0x00000200 QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' + //0x00000210 LCPI0_18 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000210 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000220 LCPI0_19 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000220 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000230 LCPI0_20 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000230 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000240 LCPI0_21 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000240 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000250 LCPI0_22 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000250 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000260 LCPI0_23 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000260 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000270 .p2align 4, 0x90 + //0x00000270 _get_by_path + 0x55, //0x00000270 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000271 movq %rsp, %rbp + 0x41, 0x57, //0x00000274 pushq %r15 + 0x41, 0x56, //0x00000276 pushq %r14 + 0x41, 0x55, //0x00000278 pushq %r13 + 0x41, 0x54, //0x0000027a pushq %r12 + 0x53, //0x0000027c pushq %rbx + 0x48, 0x81, 0xec, 0xc0, 0x00, 0x00, 0x00, //0x0000027d subq $192, %rsp + 0x49, 0x89, 0xca, //0x00000284 movq %rcx, %r10 + 0x49, 0x89, 0xf6, //0x00000287 movq %rsi, %r14 + 0x49, 0x89, 0xff, //0x0000028a movq %rdi, %r15 + 0x48, 0x8b, 0x4a, 0x08, //0x0000028d movq $8(%rdx), %rcx + 0x48, 0x85, 0xc9, //0x00000291 testq %rcx, %rcx + 0x48, 0x89, 0x74, 0x24, 0x08, //0x00000294 movq %rsi, $8(%rsp) + 0x48, 0x89, 0x7c, 0x24, 0x10, //0x00000299 movq %rdi, $16(%rsp) + 0x0f, 0x84, 0x2f, 0x2c, 0x00, 0x00, //0x0000029e je LBB0_525 + 0x4c, 0x8b, 0x2a, //0x000002a4 movq (%rdx), %r13 + 0x48, 0xc1, 0xe1, 0x04, //0x000002a7 shlq $4, %rcx + 0x4c, 0x01, 0xe9, //0x000002ab addq %r13, %rcx + 0x4d, 0x8d, 0x5f, 0x08, //0x000002ae leaq $8(%r15), %r11 + 0x4d, 0x8b, 0x07, //0x000002b2 movq (%r15), %r8 + 0x49, 0x8b, 0x06, //0x000002b5 movq (%r14), %rax + 0xc5, 0xfe, 0x6f, 0x05, 0x40, 0xfd, 0xff, 0xff, //0x000002b8 vmovdqu $-704(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0xb8, 0xfd, 0xff, 0xff, //0x000002c0 vmovdqu $-584(%rip), %ymm1 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x15, 0xd0, 0xfd, 0xff, 0xff, //0x000002c8 vmovdqu $-560(%rip), %ymm2 /* LCPI0_8+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x1d, 0x48, 0xfd, 0xff, 0xff, //0x000002d0 vmovdqu $-696(%rip), %ymm3 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x25, 0x60, 0xfd, 0xff, 0xff, //0x000002d8 vmovdqu $-672(%rip), %ymm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x78, 0xfd, 0xff, 0xff, //0x000002e0 vmovdqu $-648(%rip), %ymm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x05, 0x10, 0xff, 0xff, 0xff, //0x000002e8 vmovdqu $-240(%rip), %xmm8 /* LCPI0_6+0(%rip) */ + 0xc4, 0x41, 0x31, 0x76, 0xc9, //0x000002f0 vpcmpeqd %xmm9, %xmm9, %xmm9 + 0xc5, 0x7e, 0x6f, 0x15, 0xe3, 0xfd, 0xff, 0xff, //0x000002f5 vmovdqu $-541(%rip), %ymm10 /* LCPI0_10+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xfb, 0xfd, 0xff, 0xff, //0x000002fd vmovdqu $-517(%rip), %ymm11 /* LCPI0_11+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0xb3, 0xfd, 0xff, 0xff, //0x00000305 vmovdqu $-589(%rip), %ymm13 /* LCPI0_9+0(%rip) */ + 0x4c, 0x89, 0x5c, 0x24, 0x18, //0x0000030d movq %r11, $24(%rsp) + 0x4c, 0x89, 0x54, 0x24, 0x28, //0x00000312 movq %r10, $40(%rsp) + 0x48, 0x89, 0x8c, 0x24, 0xa0, 0x00, 0x00, 0x00, //0x00000317 movq %rcx, $160(%rsp) + //0x0000031f LBB0_2 + 0x49, 0x8b, 0x0b, //0x0000031f movq (%r11), %rcx + 0x48, 0x39, 0xc8, //0x00000322 cmpq %rcx, %rax + 0x0f, 0x83, 0x35, 0x00, 0x00, 0x00, //0x00000325 jae LBB0_7 + 0x41, 0x8a, 0x14, 0x00, //0x0000032b movb (%r8,%rax), %dl + 0x80, 0xfa, 0x0d, //0x0000032f cmpb $13, %dl + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x00000332 je LBB0_7 + 0x80, 0xfa, 0x20, //0x00000338 cmpb $32, %dl + 0x0f, 0x84, 0x1f, 0x00, 0x00, 0x00, //0x0000033b je LBB0_7 + 0x80, 0xc2, 0xf7, //0x00000341 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000344 cmpb $1, %dl + 0x0f, 0x86, 0x13, 0x00, 0x00, 0x00, //0x00000347 jbe LBB0_7 + 0x48, 0x89, 0xc2, //0x0000034d movq %rax, %rdx + 0xe9, 0xc3, 0x01, 0x00, 0x00, //0x00000350 jmp LBB0_33 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000355 .p2align 4, 0x90 + //0x00000360 LBB0_7 + 0x48, 0x8d, 0x50, 0x01, //0x00000360 leaq $1(%rax), %rdx + 0x48, 0x39, 0xca, //0x00000364 cmpq %rcx, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000367 jae LBB0_11 + 0x41, 0x8a, 0x1c, 0x10, //0x0000036d movb (%r8,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00000371 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000374 je LBB0_11 + 0x80, 0xfb, 0x20, //0x0000037a cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000037d je LBB0_11 + 0x80, 0xc3, 0xf7, //0x00000383 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000386 cmpb $1, %bl + 0x0f, 0x87, 0x89, 0x01, 0x00, 0x00, //0x00000389 ja LBB0_33 + 0x90, //0x0000038f .p2align 4, 0x90 + //0x00000390 LBB0_11 + 0x48, 0x8d, 0x50, 0x02, //0x00000390 leaq $2(%rax), %rdx + 0x48, 0x39, 0xca, //0x00000394 cmpq %rcx, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000397 jae LBB0_15 + 0x41, 0x8a, 0x1c, 0x10, //0x0000039d movb (%r8,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x000003a1 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000003a4 je LBB0_15 + 0x80, 0xfb, 0x20, //0x000003aa cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x000003ad je LBB0_15 + 0x80, 0xc3, 0xf7, //0x000003b3 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000003b6 cmpb $1, %bl + 0x0f, 0x87, 0x59, 0x01, 0x00, 0x00, //0x000003b9 ja LBB0_33 + 0x90, //0x000003bf .p2align 4, 0x90 + //0x000003c0 LBB0_15 + 0x48, 0x8d, 0x50, 0x03, //0x000003c0 leaq $3(%rax), %rdx + 0x48, 0x39, 0xca, //0x000003c4 cmpq %rcx, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000003c7 jae LBB0_19 + 0x41, 0x8a, 0x1c, 0x10, //0x000003cd movb (%r8,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x000003d1 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000003d4 je LBB0_19 + 0x80, 0xfb, 0x20, //0x000003da cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x000003dd je LBB0_19 + 0x80, 0xc3, 0xf7, //0x000003e3 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000003e6 cmpb $1, %bl + 0x0f, 0x87, 0x29, 0x01, 0x00, 0x00, //0x000003e9 ja LBB0_33 + 0x90, //0x000003ef .p2align 4, 0x90 + //0x000003f0 LBB0_19 + 0x4c, 0x8d, 0x50, 0x04, //0x000003f0 leaq $4(%rax), %r10 + 0x48, 0x89, 0xcf, //0x000003f4 movq %rcx, %rdi + 0x4c, 0x29, 0xd7, //0x000003f7 subq %r10, %rdi + 0x0f, 0x86, 0xe0, 0x00, 0x00, 0x00, //0x000003fa jbe LBB0_627 + 0x4d, 0x01, 0xc2, //0x00000400 addq %r8, %r10 + 0x48, 0x83, 0xff, 0x20, //0x00000403 cmpq $32, %rdi + 0x0f, 0x82, 0x58, 0x00, 0x00, 0x00, //0x00000407 jb LBB0_25 + 0x48, 0x89, 0xca, //0x0000040d movq %rcx, %rdx + 0x48, 0x29, 0xc2, //0x00000410 subq %rax, %rdx + 0x48, 0x83, 0xc2, 0xdc, //0x00000413 addq $-36, %rdx + 0x48, 0x89, 0xd6, //0x00000417 movq %rdx, %rsi + 0x48, 0x83, 0xe6, 0xe0, //0x0000041a andq $-32, %rsi + 0x48, 0x01, 0xc6, //0x0000041e addq %rax, %rsi + 0x49, 0x8d, 0x74, 0x30, 0x24, //0x00000421 leaq $36(%r8,%rsi), %rsi + 0x83, 0xe2, 0x1f, //0x00000426 andl $31, %edx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000429 .p2align 4, 0x90 + //0x00000430 LBB0_22 + 0xc4, 0x41, 0x7e, 0x6f, 0x32, //0x00000430 vmovdqu (%r10), %ymm14 + 0xc4, 0x42, 0x7d, 0x00, 0xfe, //0x00000435 vpshufb %ymm14, %ymm0, %ymm15 + 0xc4, 0x41, 0x0d, 0x74, 0xf7, //0x0000043a vpcmpeqb %ymm15, %ymm14, %ymm14 + 0xc4, 0xc1, 0x7d, 0xd7, 0xde, //0x0000043f vpmovmskb %ymm14, %ebx + 0x83, 0xfb, 0xff, //0x00000444 cmpl $-1, %ebx + 0x0f, 0x85, 0xb3, 0x00, 0x00, 0x00, //0x00000447 jne LBB0_32 + 0x49, 0x83, 0xc2, 0x20, //0x0000044d addq $32, %r10 + 0x48, 0x83, 0xc7, 0xe0, //0x00000451 addq $-32, %rdi + 0x48, 0x83, 0xff, 0x1f, //0x00000455 cmpq $31, %rdi + 0x0f, 0x87, 0xd1, 0xff, 0xff, 0xff, //0x00000459 ja LBB0_22 + 0x48, 0x89, 0xd7, //0x0000045f movq %rdx, %rdi + 0x49, 0x89, 0xf2, //0x00000462 movq %rsi, %r10 + //0x00000465 LBB0_25 + 0x48, 0x85, 0xff, //0x00000465 testq %rdi, %rdi + 0x0f, 0x84, 0x43, 0x00, 0x00, 0x00, //0x00000468 je LBB0_31 + 0x4d, 0x89, 0xc1, //0x0000046e movq %r8, %r9 + 0x4d, 0x8d, 0x04, 0x3a, //0x00000471 leaq (%r10,%rdi), %r8 + 0x49, 0xff, 0xc2, //0x00000475 incq %r10 + 0x4c, 0x89, 0xd2, //0x00000478 movq %r10, %rdx + //0x0000047b LBB0_27 + 0x0f, 0xbe, 0x5a, 0xff, //0x0000047b movsbl $-1(%rdx), %ebx + 0x83, 0xfb, 0x20, //0x0000047f cmpl $32, %ebx + 0x0f, 0x87, 0x1a, 0x2a, 0x00, 0x00, //0x00000482 ja LBB0_34 + 0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000488 movabsq $4294977024, %rsi + 0x48, 0x0f, 0xa3, 0xde, //0x00000492 btq %rbx, %rsi + 0x0f, 0x83, 0x06, 0x2a, 0x00, 0x00, //0x00000496 jae LBB0_34 + 0x48, 0xff, 0xcf, //0x0000049c decq %rdi + 0x48, 0xff, 0xc2, //0x0000049f incq %rdx + 0x48, 0x85, 0xff, //0x000004a2 testq %rdi, %rdi + 0x0f, 0x85, 0xd0, 0xff, 0xff, 0xff, //0x000004a5 jne LBB0_27 + 0x4d, 0x89, 0xc2, //0x000004ab movq %r8, %r10 + 0x4d, 0x89, 0xc8, //0x000004ae movq %r9, %r8 + //0x000004b1 LBB0_31 + 0x4d, 0x29, 0xc2, //0x000004b1 subq %r8, %r10 + 0x4c, 0x89, 0xd2, //0x000004b4 movq %r10, %rdx + 0x48, 0x39, 0xca, //0x000004b7 cmpq %rcx, %rdx + 0x0f, 0x82, 0x58, 0x00, 0x00, 0x00, //0x000004ba jb LBB0_33 + //0x000004c0 LBB0_35 + 0x31, 0xc9, //0x000004c0 xorl %ecx, %ecx + 0x49, 0x89, 0xc2, //0x000004c2 movq %rax, %r10 + 0x49, 0x8b, 0x45, 0x00, //0x000004c5 movq (%r13), %rax + 0x48, 0x85, 0xc0, //0x000004c9 testq %rax, %rax + 0x0f, 0x85, 0x5e, 0x00, 0x00, 0x00, //0x000004cc jne LBB0_36 + 0xe9, 0x2e, 0x2c, 0x00, 0x00, //0x000004d2 jmp LBB0_628 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000004d7 .p2align 4, 0x90 + //0x000004e0 LBB0_627 + 0x4d, 0x89, 0x16, //0x000004e0 movq %r10, (%r14) + 0x31, 0xc9, //0x000004e3 xorl %ecx, %ecx + 0x49, 0x8b, 0x45, 0x00, //0x000004e5 movq (%r13), %rax + 0x48, 0x85, 0xc0, //0x000004e9 testq %rax, %rax + 0x0f, 0x85, 0x3e, 0x00, 0x00, 0x00, //0x000004ec jne LBB0_36 + 0xe9, 0x0e, 0x2c, 0x00, 0x00, //0x000004f2 jmp LBB0_628 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000004f7 .p2align 4, 0x90 + //0x00000500 LBB0_32 + 0x4d, 0x29, 0xc2, //0x00000500 subq %r8, %r10 + 0xf7, 0xd3, //0x00000503 notl %ebx + 0x48, 0x63, 0xd3, //0x00000505 movslq %ebx, %rdx + 0x48, 0x0f, 0xbc, 0xd2, //0x00000508 bsfq %rdx, %rdx + 0x4c, 0x01, 0xd2, //0x0000050c addq %r10, %rdx + 0x48, 0x39, 0xca, //0x0000050f cmpq %rcx, %rdx + 0x0f, 0x83, 0xa8, 0xff, 0xff, 0xff, //0x00000512 jae LBB0_35 + //0x00000518 LBB0_33 + 0x4c, 0x8d, 0x52, 0x01, //0x00000518 leaq $1(%rdx), %r10 + 0x4d, 0x89, 0x16, //0x0000051c movq %r10, (%r14) + 0x41, 0x8a, 0x0c, 0x10, //0x0000051f movb (%r8,%rdx), %cl + 0x49, 0x8b, 0x45, 0x00, //0x00000523 movq (%r13), %rax + 0x48, 0x85, 0xc0, //0x00000527 testq %rax, %rax + 0x0f, 0x84, 0xd5, 0x2b, 0x00, 0x00, //0x0000052a je LBB0_628 + //0x00000530 LBB0_36 + 0x8a, 0x40, 0x17, //0x00000530 movb $23(%rax), %al + 0x24, 0x1f, //0x00000533 andb $31, %al + 0x3c, 0x02, //0x00000535 cmpb $2, %al + 0x0f, 0x84, 0x53, 0x1a, 0x00, 0x00, //0x00000537 je LBB0_387 + 0x3c, 0x18, //0x0000053d cmpb $24, %al + 0x0f, 0x85, 0xc0, 0x2b, 0x00, 0x00, //0x0000053f jne LBB0_628 + 0x80, 0xf9, 0x7b, //0x00000545 cmpb $123, %cl + 0x0f, 0x85, 0xa3, 0x2d, 0x00, 0x00, //0x00000548 jne LBB0_657 + //0x0000054e LBB0_39 + 0x49, 0x8b, 0x03, //0x0000054e movq (%r11), %rax + 0x49, 0x39, 0xc2, //0x00000551 cmpq %rax, %r10 + 0x0f, 0x83, 0x36, 0x00, 0x00, 0x00, //0x00000554 jae LBB0_44 + 0x43, 0x8a, 0x0c, 0x10, //0x0000055a movb (%r8,%r10), %cl + 0x80, 0xf9, 0x0d, //0x0000055e cmpb $13, %cl + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00000561 je LBB0_44 + 0x80, 0xf9, 0x20, //0x00000567 cmpb $32, %cl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x0000056a je LBB0_44 + 0x80, 0xc1, 0xf7, //0x00000570 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00000573 cmpb $1, %cl + 0x0f, 0x86, 0x14, 0x00, 0x00, 0x00, //0x00000576 jbe LBB0_44 + 0x4c, 0x89, 0xd1, //0x0000057c movq %r10, %rcx + 0xe9, 0x84, 0x01, 0x00, 0x00, //0x0000057f jmp LBB0_70 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000584 .p2align 4, 0x90 + //0x00000590 LBB0_44 + 0x49, 0x8d, 0x4a, 0x01, //0x00000590 leaq $1(%r10), %rcx + 0x48, 0x39, 0xc1, //0x00000594 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000597 jae LBB0_48 + 0x41, 0x8a, 0x14, 0x08, //0x0000059d movb (%r8,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x000005a1 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000005a4 je LBB0_48 + 0x80, 0xfa, 0x20, //0x000005aa cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x000005ad je LBB0_48 + 0x80, 0xc2, 0xf7, //0x000005b3 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000005b6 cmpb $1, %dl + 0x0f, 0x87, 0x49, 0x01, 0x00, 0x00, //0x000005b9 ja LBB0_70 + 0x90, //0x000005bf .p2align 4, 0x90 + //0x000005c0 LBB0_48 + 0x49, 0x8d, 0x4a, 0x02, //0x000005c0 leaq $2(%r10), %rcx + 0x48, 0x39, 0xc1, //0x000005c4 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000005c7 jae LBB0_52 + 0x41, 0x8a, 0x14, 0x08, //0x000005cd movb (%r8,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x000005d1 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000005d4 je LBB0_52 + 0x80, 0xfa, 0x20, //0x000005da cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x000005dd je LBB0_52 + 0x80, 0xc2, 0xf7, //0x000005e3 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000005e6 cmpb $1, %dl + 0x0f, 0x87, 0x19, 0x01, 0x00, 0x00, //0x000005e9 ja LBB0_70 + 0x90, //0x000005ef .p2align 4, 0x90 + //0x000005f0 LBB0_52 + 0x49, 0x8d, 0x4a, 0x03, //0x000005f0 leaq $3(%r10), %rcx + 0x48, 0x39, 0xc1, //0x000005f4 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000005f7 jae LBB0_56 + 0x41, 0x8a, 0x14, 0x08, //0x000005fd movb (%r8,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x00000601 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000604 je LBB0_56 + 0x80, 0xfa, 0x20, //0x0000060a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000060d je LBB0_56 + 0x80, 0xc2, 0xf7, //0x00000613 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000616 cmpb $1, %dl + 0x0f, 0x87, 0xe9, 0x00, 0x00, 0x00, //0x00000619 ja LBB0_70 + 0x90, //0x0000061f .p2align 4, 0x90 + //0x00000620 LBB0_56 + 0x49, 0x8d, 0x4a, 0x04, //0x00000620 leaq $4(%r10), %rcx + 0x48, 0x89, 0xc2, //0x00000624 movq %rax, %rdx + 0x48, 0x29, 0xca, //0x00000627 subq %rcx, %rdx + 0x0f, 0x86, 0xbd, 0x2a, 0x00, 0x00, //0x0000062a jbe LBB0_625 + 0x4c, 0x01, 0xc1, //0x00000630 addq %r8, %rcx + 0x48, 0x83, 0xfa, 0x20, //0x00000633 cmpq $32, %rdx + 0x0f, 0x82, 0x57, 0x00, 0x00, 0x00, //0x00000637 jb LBB0_62 + 0x48, 0x89, 0xc6, //0x0000063d movq %rax, %rsi + 0x4c, 0x29, 0xd6, //0x00000640 subq %r10, %rsi + 0x48, 0x83, 0xc6, 0xdc, //0x00000643 addq $-36, %rsi + 0x48, 0x89, 0xf7, //0x00000647 movq %rsi, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x0000064a andq $-32, %rdi + 0x4c, 0x01, 0xd7, //0x0000064e addq %r10, %rdi + 0x49, 0x8d, 0x7c, 0x38, 0x24, //0x00000651 leaq $36(%r8,%rdi), %rdi + 0x83, 0xe6, 0x1f, //0x00000656 andl $31, %esi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000659 .p2align 4, 0x90 + //0x00000660 LBB0_59 + 0xc5, 0x7e, 0x6f, 0x31, //0x00000660 vmovdqu (%rcx), %ymm14 + 0xc4, 0x42, 0x7d, 0x00, 0xfe, //0x00000664 vpshufb %ymm14, %ymm0, %ymm15 + 0xc4, 0x41, 0x0d, 0x74, 0xf7, //0x00000669 vpcmpeqb %ymm15, %ymm14, %ymm14 + 0xc4, 0xc1, 0x7d, 0xd7, 0xde, //0x0000066e vpmovmskb %ymm14, %ebx + 0x83, 0xfb, 0xff, //0x00000673 cmpl $-1, %ebx + 0x0f, 0x85, 0x74, 0x00, 0x00, 0x00, //0x00000676 jne LBB0_69 + 0x48, 0x83, 0xc1, 0x20, //0x0000067c addq $32, %rcx + 0x48, 0x83, 0xc2, 0xe0, //0x00000680 addq $-32, %rdx + 0x48, 0x83, 0xfa, 0x1f, //0x00000684 cmpq $31, %rdx + 0x0f, 0x87, 0xd2, 0xff, 0xff, 0xff, //0x00000688 ja LBB0_59 + 0x48, 0x89, 0xf2, //0x0000068e movq %rsi, %rdx + 0x48, 0x89, 0xf9, //0x00000691 movq %rdi, %rcx + //0x00000694 LBB0_62 + 0x48, 0x85, 0xd2, //0x00000694 testq %rdx, %rdx + 0x0f, 0x84, 0x3a, 0x00, 0x00, 0x00, //0x00000697 je LBB0_68 + 0x48, 0x8d, 0x34, 0x11, //0x0000069d leaq (%rcx,%rdx), %rsi + 0x48, 0xff, 0xc1, //0x000006a1 incq %rcx + //0x000006a4 LBB0_64 + 0x0f, 0xbe, 0x79, 0xff, //0x000006a4 movsbl $-1(%rcx), %edi + 0x83, 0xff, 0x20, //0x000006a8 cmpl $32, %edi + 0x0f, 0x87, 0x0d, 0x05, 0x00, 0x00, //0x000006ab ja LBB0_125 + 0x48, 0xbb, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000006b1 movabsq $4294977024, %rbx + 0x48, 0x0f, 0xa3, 0xfb, //0x000006bb btq %rdi, %rbx + 0x0f, 0x83, 0xf9, 0x04, 0x00, 0x00, //0x000006bf jae LBB0_125 + 0x48, 0xff, 0xca, //0x000006c5 decq %rdx + 0x48, 0xff, 0xc1, //0x000006c8 incq %rcx + 0x48, 0x85, 0xd2, //0x000006cb testq %rdx, %rdx + 0x0f, 0x85, 0xd0, 0xff, 0xff, 0xff, //0x000006ce jne LBB0_64 + 0x48, 0x89, 0xf1, //0x000006d4 movq %rsi, %rcx + //0x000006d7 LBB0_68 + 0x4c, 0x29, 0xc1, //0x000006d7 subq %r8, %rcx + 0x48, 0x39, 0xc1, //0x000006da cmpq %rax, %rcx + 0x0f, 0x82, 0x25, 0x00, 0x00, 0x00, //0x000006dd jb LBB0_70 + 0xe9, 0x09, 0x2c, 0x00, 0x00, //0x000006e3 jmp LBB0_657 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000006e8 .p2align 4, 0x90 + //0x000006f0 LBB0_69 + 0x4c, 0x29, 0xc1, //0x000006f0 subq %r8, %rcx + 0xf7, 0xd3, //0x000006f3 notl %ebx + 0x48, 0x63, 0xd3, //0x000006f5 movslq %ebx, %rdx + 0x48, 0x0f, 0xbc, 0xd2, //0x000006f8 bsfq %rdx, %rdx + 0x48, 0x01, 0xd1, //0x000006fc addq %rdx, %rcx + 0x48, 0x39, 0xc1, //0x000006ff cmpq %rax, %rcx + 0x0f, 0x83, 0xe9, 0x2b, 0x00, 0x00, //0x00000702 jae LBB0_657 + //0x00000708 LBB0_70 + 0x4c, 0x8d, 0x49, 0x01, //0x00000708 leaq $1(%rcx), %r9 + 0x4d, 0x89, 0x0e, //0x0000070c movq %r9, (%r14) + 0x41, 0x8a, 0x04, 0x08, //0x0000070f movb (%r8,%rcx), %al + 0x3c, 0x22, //0x00000713 cmpb $34, %al + 0x0f, 0x85, 0xfc, 0x29, 0x00, 0x00, //0x00000715 jne LBB0_629 + 0x49, 0x8b, 0x33, //0x0000071b movq (%r11), %rsi + 0x48, 0x89, 0xf0, //0x0000071e movq %rsi, %rax + 0x4c, 0x29, 0xc8, //0x00000721 subq %r9, %rax + 0x0f, 0x84, 0x08, 0x4e, 0x00, 0x00, //0x00000724 je LBB0_1093 + 0x49, 0x8b, 0x55, 0x08, //0x0000072a movq $8(%r13), %rdx + 0x4c, 0x8b, 0x22, //0x0000072e movq (%rdx), %r12 + 0x48, 0x8b, 0x52, 0x08, //0x00000731 movq $8(%rdx), %rdx + 0x4d, 0x01, 0xc1, //0x00000735 addq %r8, %r9 + 0x48, 0x83, 0xf8, 0x40, //0x00000738 cmpq $64, %rax + 0x4c, 0x89, 0x04, 0x24, //0x0000073c movq %r8, (%rsp) + 0x48, 0x89, 0xb4, 0x24, 0x98, 0x00, 0x00, 0x00, //0x00000740 movq %rsi, $152(%rsp) + 0x0f, 0x82, 0x87, 0x04, 0x00, 0x00, //0x00000748 jb LBB0_126 + 0x4c, 0x89, 0x64, 0x24, 0x20, //0x0000074e movq %r12, $32(%rsp) + 0x4d, 0x89, 0xee, //0x00000753 movq %r13, %r14 + 0x41, 0x89, 0xc2, //0x00000756 movl %eax, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x00000759 andl $63, %r10d + 0x48, 0x29, 0xce, //0x0000075d subq %rcx, %rsi + 0x48, 0x83, 0xc6, 0xbf, //0x00000760 addq $-65, %rsi + 0x48, 0x83, 0xe6, 0xc0, //0x00000764 andq $-64, %rsi + 0x48, 0x01, 0xce, //0x00000768 addq %rcx, %rsi + 0x49, 0x8d, 0x74, 0x30, 0x41, //0x0000076b leaq $65(%r8,%rsi), %rsi + 0x48, 0x89, 0x74, 0x24, 0x30, //0x00000770 movq %rsi, $48(%rsp) + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00000775 movq $-1, %r15 + 0x4d, 0x89, 0xc8, //0x0000077c movq %r9, %r8 + 0x31, 0xdb, //0x0000077f xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000781 .p2align 4, 0x90 + //0x00000790 LBB0_74 + 0xc4, 0x41, 0x7e, 0x6f, 0x30, //0x00000790 vmovdqu (%r8), %ymm14 + 0xc4, 0x41, 0x7e, 0x6f, 0x78, 0x20, //0x00000795 vmovdqu $32(%r8), %ymm15 + 0xc5, 0x0d, 0x74, 0xe1, //0x0000079b vpcmpeqb %ymm1, %ymm14, %ymm12 + 0xc4, 0x41, 0x7d, 0xd7, 0xdc, //0x0000079f vpmovmskb %ymm12, %r11d + 0xc5, 0x05, 0x74, 0xe1, //0x000007a4 vpcmpeqb %ymm1, %ymm15, %ymm12 + 0xc4, 0xc1, 0x7d, 0xd7, 0xfc, //0x000007a8 vpmovmskb %ymm12, %edi + 0xc5, 0x0d, 0x74, 0xe2, //0x000007ad vpcmpeqb %ymm2, %ymm14, %ymm12 + 0xc4, 0x41, 0x7d, 0xd7, 0xec, //0x000007b1 vpmovmskb %ymm12, %r13d + 0xc5, 0x05, 0x74, 0xe2, //0x000007b6 vpcmpeqb %ymm2, %ymm15, %ymm12 + 0xc4, 0x41, 0x7d, 0xd7, 0xe4, //0x000007ba vpmovmskb %ymm12, %r12d + 0x48, 0xc1, 0xe7, 0x20, //0x000007bf shlq $32, %rdi + 0x49, 0xc1, 0xe4, 0x20, //0x000007c3 shlq $32, %r12 + 0x4d, 0x09, 0xe5, //0x000007c7 orq %r12, %r13 + 0x49, 0x83, 0xff, 0xff, //0x000007ca cmpq $-1, %r15 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000007ce jne LBB0_76 + 0x4d, 0x85, 0xed, //0x000007d4 testq %r13, %r13 + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000007d7 jne LBB0_84 + //0x000007dd LBB0_76 + 0x4c, 0x09, 0xdf, //0x000007dd orq %r11, %rdi + 0x4c, 0x89, 0xee, //0x000007e0 movq %r13, %rsi + 0x48, 0x09, 0xde, //0x000007e3 orq %rbx, %rsi + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x000007e6 jne LBB0_85 + //0x000007ec LBB0_77 + 0x48, 0x85, 0xff, //0x000007ec testq %rdi, %rdi + 0x0f, 0x85, 0x8b, 0x00, 0x00, 0x00, //0x000007ef jne LBB0_86 + //0x000007f5 LBB0_78 + 0x48, 0x83, 0xc0, 0xc0, //0x000007f5 addq $-64, %rax + 0x49, 0x83, 0xc0, 0x40, //0x000007f9 addq $64, %r8 + 0x48, 0x83, 0xf8, 0x3f, //0x000007fd cmpq $63, %rax + 0x0f, 0x87, 0x89, 0xff, 0xff, 0xff, //0x00000801 ja LBB0_74 + 0xe9, 0x4a, 0x03, 0x00, 0x00, //0x00000807 jmp LBB0_79 + //0x0000080c LBB0_84 + 0x4d, 0x89, 0xc4, //0x0000080c movq %r8, %r12 + 0x4c, 0x2b, 0x24, 0x24, //0x0000080f subq (%rsp), %r12 + 0x4d, 0x0f, 0xbc, 0xfd, //0x00000813 bsfq %r13, %r15 + 0x4d, 0x01, 0xe7, //0x00000817 addq %r12, %r15 + 0x4c, 0x09, 0xdf, //0x0000081a orq %r11, %rdi + 0x4c, 0x89, 0xee, //0x0000081d movq %r13, %rsi + 0x48, 0x09, 0xde, //0x00000820 orq %rbx, %rsi + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000823 je LBB0_77 + //0x00000829 LBB0_85 + 0x49, 0x89, 0xdc, //0x00000829 movq %rbx, %r12 + 0x49, 0xf7, 0xd4, //0x0000082c notq %r12 + 0x4d, 0x21, 0xec, //0x0000082f andq %r13, %r12 + 0x4f, 0x8d, 0x1c, 0x24, //0x00000832 leaq (%r12,%r12), %r11 + 0x49, 0x09, 0xdb, //0x00000836 orq %rbx, %r11 + 0x4c, 0x89, 0x5c, 0x24, 0x38, //0x00000839 movq %r11, $56(%rsp) + 0x49, 0xf7, 0xd3, //0x0000083e notq %r11 + 0x4d, 0x21, 0xeb, //0x00000841 andq %r13, %r11 + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000844 movabsq $-6148914691236517206, %rbx + 0x49, 0x21, 0xdb, //0x0000084e andq %rbx, %r11 + 0x31, 0xdb, //0x00000851 xorl %ebx, %ebx + 0x4d, 0x01, 0xe3, //0x00000853 addq %r12, %r11 + 0x0f, 0x92, 0xc3, //0x00000856 setb %bl + 0x4d, 0x01, 0xdb, //0x00000859 addq %r11, %r11 + 0x48, 0xbe, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x0000085c movabsq $6148914691236517205, %rsi + 0x49, 0x31, 0xf3, //0x00000866 xorq %rsi, %r11 + 0x4c, 0x23, 0x5c, 0x24, 0x38, //0x00000869 andq $56(%rsp), %r11 + 0x49, 0xf7, 0xd3, //0x0000086e notq %r11 + 0x4c, 0x21, 0xdf, //0x00000871 andq %r11, %rdi + 0x48, 0x85, 0xff, //0x00000874 testq %rdi, %rdi + 0x0f, 0x84, 0x78, 0xff, 0xff, 0xff, //0x00000877 je LBB0_78 + 0x90, 0x90, 0x90, //0x0000087d .p2align 4, 0x90 + //0x00000880 LBB0_86 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000880 bsfq %rdi, %rax + 0x4c, 0x2b, 0x04, 0x24, //0x00000884 subq (%rsp), %r8 + 0x4d, 0x8d, 0x54, 0x00, 0x01, //0x00000888 leaq $1(%r8,%rax), %r10 + 0x4d, 0x89, 0xf5, //0x0000088d movq %r14, %r13 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00000890 movq $24(%rsp), %r11 + 0x4c, 0x8b, 0x64, 0x24, 0x20, //0x00000895 movq $32(%rsp), %r12 + //0x0000089a LBB0_87 + 0x4d, 0x85, 0xd2, //0x0000089a testq %r10, %r10 + 0x0f, 0x88, 0x97, 0x4c, 0x00, 0x00, //0x0000089d js LBB0_1094 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x000008a3 movq $8(%rsp), %r14 + 0x4d, 0x89, 0x16, //0x000008a8 movq %r10, (%r14) + 0x49, 0x83, 0xff, 0xff, //0x000008ab cmpq $-1, %r15 + 0x0f, 0x84, 0x09, 0x00, 0x00, 0x00, //0x000008af je LBB0_90 + 0x4d, 0x39, 0xd7, //0x000008b5 cmpq %r10, %r15 + 0x0f, 0x8e, 0x3b, 0x03, 0x00, 0x00, //0x000008b8 jle LBB0_127 + //0x000008be LBB0_90 + 0x4c, 0x89, 0xd0, //0x000008be movq %r10, %rax + 0x48, 0x29, 0xc8, //0x000008c1 subq %rcx, %rax + 0x48, 0x83, 0xc0, 0xfe, //0x000008c4 addq $-2, %rax + 0x48, 0x89, 0xc1, //0x000008c8 movq %rax, %rcx + 0x48, 0x09, 0xd1, //0x000008cb orq %rdx, %rcx + 0x4c, 0x8b, 0x04, 0x24, //0x000008ce movq (%rsp), %r8 + 0x0f, 0x84, 0xd8, 0x00, 0x00, 0x00, //0x000008d2 je LBB0_101 + 0x48, 0x39, 0xd0, //0x000008d8 cmpq %rdx, %rax + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x000008db movq $16(%rsp), %r15 + 0x0f, 0x85, 0xea, 0x00, 0x00, 0x00, //0x000008e0 jne LBB0_102 + 0x48, 0x83, 0xfa, 0x20, //0x000008e6 cmpq $32, %rdx + 0x0f, 0x82, 0x55, 0x00, 0x00, 0x00, //0x000008ea jb LBB0_97 + 0x48, 0x8d, 0x42, 0xe0, //0x000008f0 leaq $-32(%rdx), %rax + 0x48, 0x89, 0xc6, //0x000008f4 movq %rax, %rsi + 0x48, 0x83, 0xe6, 0xe0, //0x000008f7 andq $-32, %rsi + 0x49, 0x8d, 0x4c, 0x31, 0x20, //0x000008fb leaq $32(%r9,%rsi), %rcx + 0x49, 0x8d, 0x74, 0x34, 0x20, //0x00000900 leaq $32(%r12,%rsi), %rsi + 0x83, 0xe0, 0x1f, //0x00000905 andl $31, %eax + 0x31, 0xff, //0x00000908 xorl %edi, %edi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000090a .p2align 4, 0x90 + //0x00000910 LBB0_94 + 0xc4, 0x41, 0x7e, 0x6f, 0x24, 0x39, //0x00000910 vmovdqu (%r9,%rdi), %ymm12 + 0xc4, 0x41, 0x1d, 0x74, 0x24, 0x3c, //0x00000916 vpcmpeqb (%r12,%rdi), %ymm12, %ymm12 + 0xc4, 0xc1, 0x7d, 0xd7, 0xdc, //0x0000091c vpmovmskb %ymm12, %ebx + 0x83, 0xfb, 0xff, //0x00000921 cmpl $-1, %ebx + 0x0f, 0x85, 0x34, 0x01, 0x00, 0x00, //0x00000924 jne LBB0_112 + 0x48, 0x83, 0xc2, 0xe0, //0x0000092a addq $-32, %rdx + 0x48, 0x83, 0xc7, 0x20, //0x0000092e addq $32, %rdi + 0x48, 0x83, 0xfa, 0x1f, //0x00000932 cmpq $31, %rdx + 0x0f, 0x87, 0xd4, 0xff, 0xff, 0xff, //0x00000936 ja LBB0_94 + 0x48, 0x89, 0xc2, //0x0000093c movq %rax, %rdx + 0x49, 0x89, 0xf4, //0x0000093f movq %rsi, %r12 + 0x49, 0x89, 0xc9, //0x00000942 movq %rcx, %r9 + //0x00000945 LBB0_97 + 0x44, 0x89, 0xce, //0x00000945 movl %r9d, %esi + 0x81, 0xe6, 0xff, 0x0f, 0x00, 0x00, //0x00000948 andl $4095, %esi + 0x44, 0x89, 0xe1, //0x0000094e movl %r12d, %ecx + 0x81, 0xe1, 0xff, 0x0f, 0x00, 0x00, //0x00000951 andl $4095, %ecx + 0x48, 0x81, 0xf9, 0xe0, 0x0f, 0x00, 0x00, //0x00000957 cmpq $4064, %rcx + 0x0f, 0x87, 0x80, 0x00, 0x00, 0x00, //0x0000095e ja LBB0_103 + 0x81, 0xfe, 0xe1, 0x0f, 0x00, 0x00, //0x00000964 cmpl $4065, %esi + 0x0f, 0x83, 0x74, 0x00, 0x00, 0x00, //0x0000096a jae LBB0_103 + 0xc4, 0x41, 0x7e, 0x6f, 0x21, //0x00000970 vmovdqu (%r9), %ymm12 + 0xc4, 0x41, 0x1d, 0x74, 0x24, 0x24, //0x00000975 vpcmpeqb (%r12), %ymm12, %ymm12 + 0xc4, 0xc1, 0x7d, 0xd7, 0xc4, //0x0000097b vpmovmskb %ymm12, %eax + 0x83, 0xf8, 0xff, //0x00000980 cmpl $-1, %eax + 0x0f, 0x84, 0x38, 0x01, 0x00, 0x00, //0x00000983 je LBB0_117 + 0xf7, 0xd0, //0x00000989 notl %eax + 0x48, 0x0f, 0xbc, 0xc0, //0x0000098b bsfq %rax, %rax + 0x48, 0x39, 0xd0, //0x0000098f cmpq %rdx, %rax + 0x0f, 0x93, 0xc2, //0x00000992 setae %dl + 0x44, 0x0f, 0xb6, 0xca, //0x00000995 movzbl %dl, %r9d + 0x49, 0x8b, 0x13, //0x00000999 movq (%r11), %rdx + 0x49, 0x39, 0xd2, //0x0000099c cmpq %rdx, %r10 + 0x0f, 0x82, 0x8b, 0x01, 0x00, 0x00, //0x0000099f jb LBB0_121 + 0xe9, 0xf6, 0x05, 0x00, 0x00, //0x000009a5 jmp LBB0_171 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000009aa .p2align 4, 0x90 + //0x000009b0 LBB0_101 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000009b0 movl $1, %r9d + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x000009b6 movq $16(%rsp), %r15 + 0x49, 0x8b, 0x13, //0x000009bb movq (%r11), %rdx + 0x49, 0x39, 0xd2, //0x000009be cmpq %rdx, %r10 + 0x0f, 0x82, 0x69, 0x01, 0x00, 0x00, //0x000009c1 jb LBB0_121 + 0xe9, 0xd4, 0x05, 0x00, 0x00, //0x000009c7 jmp LBB0_171 + 0x90, 0x90, 0x90, 0x90, //0x000009cc .p2align 4, 0x90 + //0x000009d0 LBB0_102 + 0x45, 0x31, 0xc9, //0x000009d0 xorl %r9d, %r9d + 0x49, 0x8b, 0x13, //0x000009d3 movq (%r11), %rdx + 0x49, 0x39, 0xd2, //0x000009d6 cmpq %rdx, %r10 + 0x0f, 0x82, 0x51, 0x01, 0x00, 0x00, //0x000009d9 jb LBB0_121 + 0xe9, 0xbc, 0x05, 0x00, 0x00, //0x000009df jmp LBB0_171 + //0x000009e4 LBB0_103 + 0x48, 0x83, 0xfa, 0x10, //0x000009e4 cmpq $16, %rdx + 0x0f, 0x82, 0x87, 0x00, 0x00, 0x00, //0x000009e8 jb LBB0_113 + 0x48, 0x8d, 0x42, 0xf0, //0x000009ee leaq $-16(%rdx), %rax + 0x48, 0x89, 0xc1, //0x000009f2 movq %rax, %rcx + 0x48, 0x83, 0xe1, 0xf0, //0x000009f5 andq $-16, %rcx + 0x49, 0x8d, 0x7c, 0x09, 0x10, //0x000009f9 leaq $16(%r9,%rcx), %rdi + 0x4d, 0x8d, 0x44, 0x0c, 0x10, //0x000009fe leaq $16(%r12,%rcx), %r8 + 0x83, 0xe0, 0x0f, //0x00000a03 andl $15, %eax + 0x31, 0xc9, //0x00000a06 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a08 .p2align 4, 0x90 + //0x00000a10 LBB0_105 + 0xc4, 0xc1, 0x7a, 0x6f, 0x34, 0x09, //0x00000a10 vmovdqu (%r9,%rcx), %xmm6 + 0xc4, 0xc1, 0x49, 0x74, 0x34, 0x0c, //0x00000a16 vpcmpeqb (%r12,%rcx), %xmm6, %xmm6 + 0xc5, 0xf9, 0xd7, 0xf6, //0x00000a1c vpmovmskb %xmm6, %esi + 0x66, 0x83, 0xfe, 0xff, //0x00000a20 cmpw $-1, %si + 0x0f, 0x85, 0xe5, 0x00, 0x00, 0x00, //0x00000a24 jne LBB0_118 + 0x48, 0x83, 0xc2, 0xf0, //0x00000a2a addq $-16, %rdx + 0x48, 0x83, 0xc1, 0x10, //0x00000a2e addq $16, %rcx + 0x48, 0x83, 0xfa, 0x0f, //0x00000a32 cmpq $15, %rdx + 0x0f, 0x87, 0xd4, 0xff, 0xff, 0xff, //0x00000a36 ja LBB0_105 + 0x89, 0xfe, //0x00000a3c movl %edi, %esi + 0x81, 0xe6, 0xff, 0x0f, 0x00, 0x00, //0x00000a3e andl $4095, %esi + 0x44, 0x89, 0xc1, //0x00000a44 movl %r8d, %ecx + 0x81, 0xe1, 0xff, 0x0f, 0x00, 0x00, //0x00000a47 andl $4095, %ecx + 0x81, 0xf9, 0xf0, 0x0f, 0x00, 0x00, //0x00000a4d cmpl $4080, %ecx + 0x0f, 0x86, 0x31, 0x00, 0x00, 0x00, //0x00000a53 jbe LBB0_114 + 0xe9, 0x7a, 0x00, 0x00, 0x00, //0x00000a59 jmp LBB0_108 + //0x00000a5e LBB0_112 + 0x31, 0xd2, //0x00000a5e xorl %edx, %edx + 0x44, 0x0f, 0xb6, 0xca, //0x00000a60 movzbl %dl, %r9d + 0x49, 0x8b, 0x13, //0x00000a64 movq (%r11), %rdx + 0x49, 0x39, 0xd2, //0x00000a67 cmpq %rdx, %r10 + 0x0f, 0x82, 0xc0, 0x00, 0x00, 0x00, //0x00000a6a jb LBB0_121 + 0xe9, 0x2b, 0x05, 0x00, 0x00, //0x00000a70 jmp LBB0_171 + //0x00000a75 LBB0_113 + 0x48, 0x89, 0xd0, //0x00000a75 movq %rdx, %rax + 0x4d, 0x89, 0xe0, //0x00000a78 movq %r12, %r8 + 0x4c, 0x89, 0xcf, //0x00000a7b movq %r9, %rdi + 0x81, 0xf9, 0xf0, 0x0f, 0x00, 0x00, //0x00000a7e cmpl $4080, %ecx + 0x0f, 0x87, 0x4e, 0x00, 0x00, 0x00, //0x00000a84 ja LBB0_108 + //0x00000a8a LBB0_114 + 0x81, 0xfe, 0xf1, 0x0f, 0x00, 0x00, //0x00000a8a cmpl $4081, %esi + 0x0f, 0x83, 0x42, 0x00, 0x00, 0x00, //0x00000a90 jae LBB0_108 + 0xc5, 0xfa, 0x6f, 0x37, //0x00000a96 vmovdqu (%rdi), %xmm6 + 0xc4, 0xc1, 0x49, 0x74, 0x30, //0x00000a9a vpcmpeqb (%r8), %xmm6, %xmm6 + 0xc5, 0xf9, 0xd7, 0xce, //0x00000a9f vpmovmskb %xmm6, %ecx + 0x66, 0x83, 0xf9, 0xff, //0x00000aa3 cmpw $-1, %cx + 0x0f, 0x84, 0x69, 0x00, 0x00, 0x00, //0x00000aa7 je LBB0_119 + 0xf7, 0xd1, //0x00000aad notl %ecx + 0x0f, 0xb7, 0xc9, //0x00000aaf movzwl %cx, %ecx + 0x48, 0x0f, 0xbc, 0xc9, //0x00000ab2 bsfq %rcx, %rcx + 0x48, 0x39, 0xc1, //0x00000ab6 cmpq %rax, %rcx + 0x0f, 0x93, 0xc2, //0x00000ab9 setae %dl + 0xe9, 0x57, 0x00, 0x00, 0x00, //0x00000abc jmp LBB0_120 + //0x00000ac1 LBB0_117 + 0xb2, 0x01, //0x00000ac1 movb $1, %dl + 0x44, 0x0f, 0xb6, 0xca, //0x00000ac3 movzbl %dl, %r9d + 0x49, 0x8b, 0x13, //0x00000ac7 movq (%r11), %rdx + 0x49, 0x39, 0xd2, //0x00000aca cmpq %rdx, %r10 + 0x0f, 0x82, 0x5d, 0x00, 0x00, 0x00, //0x00000acd jb LBB0_121 + 0xe9, 0xc8, 0x04, 0x00, 0x00, //0x00000ad3 jmp LBB0_171 + //0x00000ad8 LBB0_108 + 0xb2, 0x01, //0x00000ad8 movb $1, %dl + 0x48, 0x85, 0xc0, //0x00000ada testq %rax, %rax + 0x0f, 0x84, 0x35, 0x00, 0x00, 0x00, //0x00000add je LBB0_120 + 0x31, 0xc9, //0x00000ae3 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000ae5 .p2align 4, 0x90 + //0x00000af0 LBB0_110 + 0x0f, 0xb6, 0x1c, 0x0f, //0x00000af0 movzbl (%rdi,%rcx), %ebx + 0x41, 0x3a, 0x1c, 0x08, //0x00000af4 cmpb (%r8,%rcx), %bl + 0x0f, 0x85, 0x11, 0x00, 0x00, 0x00, //0x00000af8 jne LBB0_118 + 0x48, 0xff, 0xc1, //0x00000afe incq %rcx + 0x48, 0x39, 0xc8, //0x00000b01 cmpq %rcx, %rax + 0x0f, 0x85, 0xe6, 0xff, 0xff, 0xff, //0x00000b04 jne LBB0_110 + 0xe9, 0x09, 0x00, 0x00, 0x00, //0x00000b0a jmp LBB0_120 + //0x00000b0f LBB0_118 + 0x31, 0xd2, //0x00000b0f xorl %edx, %edx + 0xe9, 0x02, 0x00, 0x00, 0x00, //0x00000b11 jmp LBB0_120 + //0x00000b16 LBB0_119 + 0xb2, 0x01, //0x00000b16 movb $1, %dl + //0x00000b18 LBB0_120 + 0x4c, 0x8b, 0x04, 0x24, //0x00000b18 movq (%rsp), %r8 + 0x44, 0x0f, 0xb6, 0xca, //0x00000b1c movzbl %dl, %r9d + 0x49, 0x8b, 0x13, //0x00000b20 movq (%r11), %rdx + 0x49, 0x39, 0xd2, //0x00000b23 cmpq %rdx, %r10 + 0x0f, 0x83, 0x74, 0x04, 0x00, 0x00, //0x00000b26 jae LBB0_171 + 0x90, 0x90, 0x90, 0x90, //0x00000b2c .p2align 4, 0x90 + //0x00000b30 LBB0_121 + 0x43, 0x8a, 0x04, 0x10, //0x00000b30 movb (%r8,%r10), %al + 0x3c, 0x0d, //0x00000b34 cmpb $13, %al + 0x0f, 0x84, 0x64, 0x04, 0x00, 0x00, //0x00000b36 je LBB0_171 + 0x3c, 0x20, //0x00000b3c cmpb $32, %al + 0x0f, 0x84, 0x5c, 0x04, 0x00, 0x00, //0x00000b3e je LBB0_171 + 0x04, 0xf7, //0x00000b44 addb $-9, %al + 0x3c, 0x01, //0x00000b46 cmpb $1, %al + 0x0f, 0x86, 0x52, 0x04, 0x00, 0x00, //0x00000b48 jbe LBB0_171 + 0x4c, 0x89, 0xd0, //0x00000b4e movq %r10, %rax + 0xe9, 0xc2, 0x05, 0x00, 0x00, //0x00000b51 jmp LBB0_197 + //0x00000b56 LBB0_79 + 0x4c, 0x89, 0x7c, 0x24, 0x38, //0x00000b56 movq %r15, $56(%rsp) + 0x4c, 0x89, 0xd0, //0x00000b5b movq %r10, %rax + 0x4d, 0x89, 0xf5, //0x00000b5e movq %r14, %r13 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00000b61 movq $24(%rsp), %r11 + 0x4c, 0x8b, 0x64, 0x24, 0x20, //0x00000b66 movq $32(%rsp), %r12 + 0x48, 0x8b, 0x7c, 0x24, 0x30, //0x00000b6b movq $48(%rsp), %rdi + 0x48, 0x83, 0xf8, 0x20, //0x00000b70 cmpq $32, %rax + 0x0f, 0x82, 0xe1, 0x12, 0x00, 0x00, //0x00000b74 jb LBB0_371 + //0x00000b7a LBB0_80 + 0xc5, 0x7e, 0x6f, 0x27, //0x00000b7a vmovdqu (%rdi), %ymm12 + 0xc5, 0x1d, 0x74, 0xf1, //0x00000b7e vpcmpeqb %ymm1, %ymm12, %ymm14 + 0xc4, 0x41, 0x7d, 0xd7, 0xc6, //0x00000b82 vpmovmskb %ymm14, %r8d + 0xc5, 0x1d, 0x74, 0xe2, //0x00000b87 vpcmpeqb %ymm2, %ymm12, %ymm12 + 0xc4, 0xc1, 0x7d, 0xd7, 0xf4, //0x00000b8b vpmovmskb %ymm12, %esi + 0x85, 0xf6, //0x00000b90 testl %esi, %esi + 0x0f, 0x85, 0x46, 0x12, 0x00, 0x00, //0x00000b92 jne LBB0_366 + 0x48, 0x85, 0xdb, //0x00000b98 testq %rbx, %rbx + 0x0f, 0x85, 0x64, 0x12, 0x00, 0x00, //0x00000b9b jne LBB0_368 + 0x31, 0xdb, //0x00000ba1 xorl %ebx, %ebx + 0x4d, 0x85, 0xc0, //0x00000ba3 testq %r8, %r8 + 0x0f, 0x84, 0xa7, 0x12, 0x00, 0x00, //0x00000ba6 je LBB0_370 + //0x00000bac LBB0_83 + 0x49, 0x0f, 0xbc, 0xc0, //0x00000bac bsfq %r8, %rax + 0x48, 0x2b, 0x3c, 0x24, //0x00000bb0 subq (%rsp), %rdi + 0x4c, 0x8d, 0x54, 0x07, 0x01, //0x00000bb4 leaq $1(%rdi,%rax), %r10 + 0xe9, 0xdc, 0xfc, 0xff, 0xff, //0x00000bb9 jmp LBB0_87 + //0x00000bbe LBB0_125 + 0x4c, 0x89, 0xc2, //0x00000bbe movq %r8, %rdx + 0x48, 0xf7, 0xd2, //0x00000bc1 notq %rdx + 0x48, 0x01, 0xd1, //0x00000bc4 addq %rdx, %rcx + 0x48, 0x39, 0xc1, //0x00000bc7 cmpq %rax, %rcx + 0x0f, 0x82, 0x38, 0xfb, 0xff, 0xff, //0x00000bca jb LBB0_70 + 0xe9, 0x1c, 0x27, 0x00, 0x00, //0x00000bd0 jmp LBB0_657 + //0x00000bd5 LBB0_126 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00000bd5 movq $-1, %r15 + 0x48, 0xc7, 0x44, 0x24, 0x38, 0xff, 0xff, 0xff, 0xff, //0x00000bdc movq $-1, $56(%rsp) + 0x31, 0xdb, //0x00000be5 xorl %ebx, %ebx + 0x4c, 0x89, 0xcf, //0x00000be7 movq %r9, %rdi + 0x48, 0x83, 0xf8, 0x20, //0x00000bea cmpq $32, %rax + 0x0f, 0x83, 0x86, 0xff, 0xff, 0xff, //0x00000bee jae LBB0_80 + 0xe9, 0x62, 0x12, 0x00, 0x00, //0x00000bf4 jmp LBB0_371 + //0x00000bf9 LBB0_127 + 0x48, 0xc7, 0x44, 0x24, 0x40, 0x00, 0x00, 0x00, 0x00, //0x00000bf9 movq $0, $64(%rsp) + 0x48, 0x8b, 0x04, 0x24, //0x00000c02 movq (%rsp), %rax + 0x4e, 0x8d, 0x44, 0x10, 0xff, //0x00000c06 leaq $-1(%rax,%r10), %r8 + 0x4d, 0x8d, 0x34, 0x14, //0x00000c0b leaq (%r12,%rdx), %r14 + 0x48, 0x85, 0xd2, //0x00000c0f testq %rdx, %rdx + 0x0f, 0x8e, 0x5c, 0x03, 0x00, 0x00, //0x00000c12 jle LBB0_169 + 0x4d, 0x39, 0xc8, //0x00000c18 cmpq %r9, %r8 + 0x0f, 0x86, 0x53, 0x03, 0x00, 0x00, //0x00000c1b jbe LBB0_169 + 0x4c, 0x8d, 0x7c, 0x24, 0x40, //0x00000c21 leaq $64(%rsp), %r15 + //0x00000c26 LBB0_130 + 0x41, 0x8a, 0x01, //0x00000c26 movb (%r9), %al + 0x3c, 0x5c, //0x00000c29 cmpb $92, %al + 0x0f, 0x85, 0x4f, 0x00, 0x00, 0x00, //0x00000c2b jne LBB0_135 + 0x4c, 0x89, 0xc0, //0x00000c31 movq %r8, %rax + 0x4c, 0x29, 0xc8, //0x00000c34 subq %r9, %rax + 0x48, 0x85, 0xc0, //0x00000c37 testq %rax, %rax + 0x0f, 0x8e, 0xa5, 0x4a, 0x00, 0x00, //0x00000c3a jle LBB0_1114 + 0x41, 0x0f, 0xb6, 0x51, 0x01, //0x00000c40 movzbl $1(%r9), %edx + 0x48, 0x8d, 0x0d, 0xd4, 0x54, 0x00, 0x00, //0x00000c45 leaq $21716(%rip), %rcx /* __UnquoteTab+0(%rip) */ + 0x8a, 0x1c, 0x0a, //0x00000c4c movb (%rdx,%rcx), %bl + 0x80, 0xfb, 0xff, //0x00000c4f cmpb $-1, %bl + 0x0f, 0x84, 0x3d, 0x00, 0x00, 0x00, //0x00000c52 je LBB0_137 + 0x84, 0xdb, //0x00000c58 testb %bl, %bl + 0x0f, 0x84, 0x73, 0x4a, 0x00, 0x00, //0x00000c5a je LBB0_1112 + 0x88, 0x5c, 0x24, 0x40, //0x00000c60 movb %bl, $64(%rsp) + 0x49, 0x83, 0xc1, 0x02, //0x00000c64 addq $2, %r9 + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000c68 movl $1, %eax + 0x48, 0x8d, 0x44, 0x04, 0x40, //0x00000c6d leaq $64(%rsp,%rax), %rax + 0x4d, 0x39, 0xf4, //0x00000c72 cmpq %r14, %r12 + 0x0f, 0x82, 0x28, 0x01, 0x00, 0x00, //0x00000c75 jb LBB0_147 + 0xe9, 0xd6, 0x02, 0x00, 0x00, //0x00000c7b jmp LBB0_165 + //0x00000c80 LBB0_135 + 0x41, 0x3a, 0x04, 0x24, //0x00000c80 cmpb (%r12), %al + 0x0f, 0x85, 0x3b, 0x11, 0x00, 0x00, //0x00000c84 jne LBB0_364 + 0x49, 0xff, 0xc1, //0x00000c8a incq %r9 + 0x49, 0xff, 0xc4, //0x00000c8d incq %r12 + 0xe9, 0xcd, 0x02, 0x00, 0x00, //0x00000c90 jmp LBB0_167 + //0x00000c95 LBB0_137 + 0x48, 0x83, 0xf8, 0x03, //0x00000c95 cmpq $3, %rax + 0x0f, 0x8e, 0x43, 0x4a, 0x00, 0x00, //0x00000c99 jle LBB0_1113 + 0x41, 0x8b, 0x51, 0x02, //0x00000c9f movl $2(%r9), %edx + 0x89, 0xd6, //0x00000ca3 movl %edx, %esi + 0xf7, 0xd6, //0x00000ca5 notl %esi + 0x8d, 0xba, 0xd0, 0xcf, 0xcf, 0xcf, //0x00000ca7 leal $-808464432(%rdx), %edi + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x00000cad andl $-2139062144, %esi + 0x85, 0xfe, //0x00000cb3 testl %edi, %esi + 0x0f, 0x85, 0xef, 0x49, 0x00, 0x00, //0x00000cb5 jne LBB0_1110 + 0x8d, 0xba, 0x19, 0x19, 0x19, 0x19, //0x00000cbb leal $421075225(%rdx), %edi + 0x09, 0xd7, //0x00000cc1 orl %edx, %edi + 0xf7, 0xc7, 0x80, 0x80, 0x80, 0x80, //0x00000cc3 testl $-2139062144, %edi + 0x0f, 0x85, 0xdb, 0x49, 0x00, 0x00, //0x00000cc9 jne LBB0_1110 + 0x89, 0xd7, //0x00000ccf movl %edx, %edi + 0x81, 0xe7, 0x7f, 0x7f, 0x7f, 0x7f, //0x00000cd1 andl $2139062143, %edi + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x00000cd7 movl $-1061109568, %ebx + 0x29, 0xfb, //0x00000cdc subl %edi, %ebx + 0x8d, 0x8f, 0x46, 0x46, 0x46, 0x46, //0x00000cde leal $1179010630(%rdi), %ecx + 0x21, 0xf3, //0x00000ce4 andl %esi, %ebx + 0x85, 0xcb, //0x00000ce6 testl %ecx, %ebx + 0x0f, 0x85, 0xbc, 0x49, 0x00, 0x00, //0x00000ce8 jne LBB0_1110 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x00000cee movl $-522133280, %ecx + 0x29, 0xf9, //0x00000cf3 subl %edi, %ecx + 0x81, 0xc7, 0x39, 0x39, 0x39, 0x39, //0x00000cf5 addl $960051513, %edi + 0x21, 0xce, //0x00000cfb andl %ecx, %esi + 0x85, 0xfe, //0x00000cfd testl %edi, %esi + 0x0f, 0x85, 0xa5, 0x49, 0x00, 0x00, //0x00000cff jne LBB0_1110 + 0x0f, 0xca, //0x00000d05 bswapl %edx + 0x89, 0xd1, //0x00000d07 movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x00000d09 shrl $4, %ecx + 0xf7, 0xd1, //0x00000d0c notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00000d0e andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00000d14 leal (%rcx,%rcx,8), %ecx + 0x81, 0xe2, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000d17 andl $252645135, %edx + 0x01, 0xca, //0x00000d1d addl %ecx, %edx + 0x89, 0xd3, //0x00000d1f movl %edx, %ebx + 0xc1, 0xeb, 0x04, //0x00000d21 shrl $4, %ebx + 0x09, 0xd3, //0x00000d24 orl %edx, %ebx + 0x89, 0xde, //0x00000d26 movl %ebx, %esi + 0xc1, 0xee, 0x08, //0x00000d28 shrl $8, %esi + 0x81, 0xe6, 0x00, 0xff, 0x00, 0x00, //0x00000d2b andl $65280, %esi + 0x0f, 0xb6, 0xd3, //0x00000d31 movzbl %bl, %edx + 0x09, 0xf2, //0x00000d34 orl %esi, %edx + 0x4d, 0x8d, 0x59, 0x06, //0x00000d36 leaq $6(%r9), %r11 + 0x83, 0xfa, 0x7f, //0x00000d3a cmpl $127, %edx + 0x0f, 0x86, 0xb1, 0x00, 0x00, 0x00, //0x00000d3d jbe LBB0_153 + 0x81, 0xfa, 0xff, 0x07, 0x00, 0x00, //0x00000d43 cmpl $2047, %edx + 0x0f, 0x86, 0xb3, 0x00, 0x00, 0x00, //0x00000d49 jbe LBB0_154 + 0x89, 0xd9, //0x00000d4f movl %ebx, %ecx + 0x81, 0xe1, 0x00, 0x00, 0xf8, 0x00, //0x00000d51 andl $16252928, %ecx + 0x81, 0xf9, 0x00, 0x00, 0xd8, 0x00, //0x00000d57 cmpl $14155776, %ecx + 0x0f, 0x84, 0xbf, 0x00, 0x00, 0x00, //0x00000d5d je LBB0_155 + 0xc1, 0xee, 0x0c, //0x00000d63 shrl $12, %esi + 0x40, 0x80, 0xce, 0xe0, //0x00000d66 orb $-32, %sil + 0x40, 0x88, 0x74, 0x24, 0x40, //0x00000d6a movb %sil, $64(%rsp) + 0xc1, 0xea, 0x06, //0x00000d6f shrl $6, %edx + 0x80, 0xe2, 0x3f, //0x00000d72 andb $63, %dl + 0x80, 0xca, 0x80, //0x00000d75 orb $-128, %dl + 0x88, 0x54, 0x24, 0x41, //0x00000d78 movb %dl, $65(%rsp) + 0x80, 0xe3, 0x3f, //0x00000d7c andb $63, %bl + 0x80, 0xcb, 0x80, //0x00000d7f orb $-128, %bl + 0x88, 0x5c, 0x24, 0x42, //0x00000d82 movb %bl, $66(%rsp) + 0xb8, 0x03, 0x00, 0x00, 0x00, //0x00000d86 movl $3, %eax + 0x89, 0xf3, //0x00000d8b movl %esi, %ebx + //0x00000d8d LBB0_146 + 0x4d, 0x89, 0xd9, //0x00000d8d movq %r11, %r9 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00000d90 movq $24(%rsp), %r11 + 0x48, 0x8d, 0x44, 0x04, 0x40, //0x00000d95 leaq $64(%rsp,%rax), %rax + 0x4d, 0x39, 0xf4, //0x00000d9a cmpq %r14, %r12 + 0x0f, 0x83, 0xb3, 0x01, 0x00, 0x00, //0x00000d9d jae LBB0_165 + //0x00000da3 LBB0_147 + 0x4c, 0x39, 0xf8, //0x00000da3 cmpq %r15, %rax + 0x0f, 0x86, 0xaa, 0x01, 0x00, 0x00, //0x00000da6 jbe LBB0_165 + 0x41, 0x38, 0x1c, 0x24, //0x00000dac cmpb %bl, (%r12) + 0x0f, 0x85, 0xa0, 0x01, 0x00, 0x00, //0x00000db0 jne LBB0_165 + 0x49, 0xff, 0xc4, //0x00000db6 incq %r12 + 0x48, 0x8d, 0x74, 0x24, 0x41, //0x00000db9 leaq $65(%rsp), %rsi + 0x4c, 0x89, 0xe7, //0x00000dbe movq %r12, %rdi + //0x00000dc1 LBB0_150 + 0x49, 0x89, 0xfc, //0x00000dc1 movq %rdi, %r12 + 0x48, 0x89, 0xf2, //0x00000dc4 movq %rsi, %rdx + 0x48, 0x39, 0xc6, //0x00000dc7 cmpq %rax, %rsi + 0x0f, 0x83, 0x89, 0x01, 0x00, 0x00, //0x00000dca jae LBB0_166 + 0x4d, 0x39, 0xf4, //0x00000dd0 cmpq %r14, %r12 + 0x0f, 0x83, 0x80, 0x01, 0x00, 0x00, //0x00000dd3 jae LBB0_166 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x00000dd9 movzbl (%r12), %ecx + 0x49, 0x8d, 0x7c, 0x24, 0x01, //0x00000dde leaq $1(%r12), %rdi + 0x48, 0x8d, 0x72, 0x01, //0x00000de3 leaq $1(%rdx), %rsi + 0x3a, 0x0a, //0x00000de7 cmpb (%rdx), %cl + 0x0f, 0x84, 0xd2, 0xff, 0xff, 0xff, //0x00000de9 je LBB0_150 + 0xe9, 0x65, 0x01, 0x00, 0x00, //0x00000def jmp LBB0_166 + //0x00000df4 LBB0_153 + 0x88, 0x5c, 0x24, 0x40, //0x00000df4 movb %bl, $64(%rsp) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000df8 movl $1, %eax + 0xe9, 0x8b, 0xff, 0xff, 0xff, //0x00000dfd jmp LBB0_146 + //0x00000e02 LBB0_154 + 0xc1, 0xea, 0x06, //0x00000e02 shrl $6, %edx + 0x80, 0xca, 0xc0, //0x00000e05 orb $-64, %dl + 0x88, 0x54, 0x24, 0x40, //0x00000e08 movb %dl, $64(%rsp) + 0x80, 0xe3, 0x3f, //0x00000e0c andb $63, %bl + 0x80, 0xcb, 0x80, //0x00000e0f orb $-128, %bl + 0x88, 0x5c, 0x24, 0x41, //0x00000e12 movb %bl, $65(%rsp) + 0xb8, 0x02, 0x00, 0x00, 0x00, //0x00000e16 movl $2, %eax + 0x89, 0xd3, //0x00000e1b movl %edx, %ebx + 0xe9, 0x6b, 0xff, 0xff, 0xff, //0x00000e1d jmp LBB0_146 + //0x00000e22 LBB0_155 + 0x48, 0x83, 0xf8, 0x06, //0x00000e22 cmpq $6, %rax + 0x0f, 0x8c, 0xf2, 0x48, 0x00, 0x00, //0x00000e26 jl LBB0_1119 + 0x81, 0xfa, 0xff, 0xdb, 0x00, 0x00, //0x00000e2c cmpl $56319, %edx + 0x0f, 0x87, 0xe6, 0x48, 0x00, 0x00, //0x00000e32 ja LBB0_1119 + 0x41, 0x80, 0x3b, 0x5c, //0x00000e38 cmpb $92, (%r11) + 0x0f, 0x85, 0xdc, 0x48, 0x00, 0x00, //0x00000e3c jne LBB0_1119 + 0x41, 0x80, 0x79, 0x07, 0x75, //0x00000e42 cmpb $117, $7(%r9) + 0x0f, 0x85, 0xd1, 0x48, 0x00, 0x00, //0x00000e47 jne LBB0_1119 + 0x4d, 0x8d, 0x59, 0x08, //0x00000e4d leaq $8(%r9), %r11 + 0x41, 0x8b, 0x59, 0x08, //0x00000e51 movl $8(%r9), %ebx + 0x89, 0xdf, //0x00000e55 movl %ebx, %edi + 0xf7, 0xd7, //0x00000e57 notl %edi + 0x8d, 0x8b, 0xd0, 0xcf, 0xcf, 0xcf, //0x00000e59 leal $-808464432(%rbx), %ecx + 0x81, 0xe7, 0x80, 0x80, 0x80, 0x80, //0x00000e5f andl $-2139062144, %edi + 0x85, 0xcf, //0x00000e65 testl %ecx, %edi + 0x0f, 0x85, 0xc0, 0x48, 0x00, 0x00, //0x00000e67 jne LBB0_1120 + 0x8d, 0x8b, 0x19, 0x19, 0x19, 0x19, //0x00000e6d leal $421075225(%rbx), %ecx + 0x09, 0xd9, //0x00000e73 orl %ebx, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x00000e75 testl $-2139062144, %ecx + 0x0f, 0x85, 0xac, 0x48, 0x00, 0x00, //0x00000e7b jne LBB0_1120 + 0x89, 0xde, //0x00000e81 movl %ebx, %esi + 0x81, 0xe6, 0x7f, 0x7f, 0x7f, 0x7f, //0x00000e83 andl $2139062143, %esi + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x00000e89 movl $-1061109568, %ecx + 0x29, 0xf1, //0x00000e8e subl %esi, %ecx + 0x8d, 0x86, 0x46, 0x46, 0x46, 0x46, //0x00000e90 leal $1179010630(%rsi), %eax + 0x21, 0xf9, //0x00000e96 andl %edi, %ecx + 0x85, 0xc1, //0x00000e98 testl %eax, %ecx + 0x0f, 0x85, 0x8d, 0x48, 0x00, 0x00, //0x00000e9a jne LBB0_1120 + 0xb8, 0xe0, 0xe0, 0xe0, 0xe0, //0x00000ea0 movl $-522133280, %eax + 0x29, 0xf0, //0x00000ea5 subl %esi, %eax + 0x81, 0xc6, 0x39, 0x39, 0x39, 0x39, //0x00000ea7 addl $960051513, %esi + 0x21, 0xc7, //0x00000ead andl %eax, %edi + 0x85, 0xf7, //0x00000eaf testl %esi, %edi + 0x0f, 0x85, 0x76, 0x48, 0x00, 0x00, //0x00000eb1 jne LBB0_1120 + 0x0f, 0xcb, //0x00000eb7 bswapl %ebx + 0x89, 0xd8, //0x00000eb9 movl %ebx, %eax + 0xc1, 0xe8, 0x04, //0x00000ebb shrl $4, %eax + 0xf7, 0xd0, //0x00000ebe notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x00000ec0 andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00000ec5 leal (%rax,%rax,8), %eax + 0x81, 0xe3, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000ec8 andl $252645135, %ebx + 0x01, 0xc3, //0x00000ece addl %eax, %ebx + 0x89, 0xde, //0x00000ed0 movl %ebx, %esi + 0xc1, 0xee, 0x04, //0x00000ed2 shrl $4, %esi + 0x09, 0xde, //0x00000ed5 orl %ebx, %esi + 0x89, 0xf0, //0x00000ed7 movl %esi, %eax + 0x25, 0x00, 0x00, 0xfc, 0x00, //0x00000ed9 andl $16515072, %eax + 0x3d, 0x00, 0x00, 0xdc, 0x00, //0x00000ede cmpl $14417920, %eax + 0x0f, 0x85, 0x35, 0x48, 0x00, 0x00, //0x00000ee3 jne LBB0_1119 + 0x89, 0xf0, //0x00000ee9 movl %esi, %eax + 0xc1, 0xe8, 0x08, //0x00000eeb shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00000eee andl $65280, %eax + 0x40, 0x0f, 0xb6, 0xce, //0x00000ef3 movzbl %sil, %ecx + 0x09, 0xc1, //0x00000ef7 orl %eax, %ecx + 0xc1, 0xe2, 0x0a, //0x00000ef9 shll $10, %edx + 0x8d, 0x84, 0x0a, 0x00, 0x24, 0xa0, 0xfc, //0x00000efc leal $-56613888(%rdx,%rcx), %eax + 0x89, 0xc3, //0x00000f03 movl %eax, %ebx + 0xc1, 0xeb, 0x12, //0x00000f05 shrl $18, %ebx + 0x80, 0xcb, 0xf0, //0x00000f08 orb $-16, %bl + 0x88, 0x5c, 0x24, 0x40, //0x00000f0b movb %bl, $64(%rsp) + 0x89, 0xc1, //0x00000f0f movl %eax, %ecx + 0xc1, 0xe9, 0x0c, //0x00000f11 shrl $12, %ecx + 0x80, 0xe1, 0x3f, //0x00000f14 andb $63, %cl + 0x80, 0xc9, 0x80, //0x00000f17 orb $-128, %cl + 0x88, 0x4c, 0x24, 0x41, //0x00000f1a movb %cl, $65(%rsp) + 0x89, 0xc1, //0x00000f1e movl %eax, %ecx + 0xc1, 0xe9, 0x06, //0x00000f20 shrl $6, %ecx + 0x80, 0xe1, 0x3f, //0x00000f23 andb $63, %cl + 0x80, 0xc9, 0x80, //0x00000f26 orb $-128, %cl + 0x88, 0x4c, 0x24, 0x42, //0x00000f29 movb %cl, $66(%rsp) + 0x24, 0x3f, //0x00000f2d andb $63, %al + 0x0c, 0x80, //0x00000f2f orb $-128, %al + 0x88, 0x44, 0x24, 0x43, //0x00000f31 movb %al, $67(%rsp) + 0x49, 0x83, 0xc1, 0x0c, //0x00000f35 addq $12, %r9 + 0xb8, 0x04, 0x00, 0x00, 0x00, //0x00000f39 movl $4, %eax + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00000f3e movq $24(%rsp), %r11 + 0x4c, 0x8d, 0x7c, 0x24, 0x40, //0x00000f43 leaq $64(%rsp), %r15 + 0x48, 0x8d, 0x44, 0x04, 0x40, //0x00000f48 leaq $64(%rsp,%rax), %rax + 0x4d, 0x39, 0xf4, //0x00000f4d cmpq %r14, %r12 + 0x0f, 0x82, 0x4d, 0xfe, 0xff, 0xff, //0x00000f50 jb LBB0_147 + //0x00000f56 LBB0_165 + 0x4c, 0x89, 0xfa, //0x00000f56 movq %r15, %rdx + //0x00000f59 LBB0_166 + 0x48, 0x39, 0xc2, //0x00000f59 cmpq %rax, %rdx + 0x0f, 0x85, 0x63, 0x0e, 0x00, 0x00, //0x00000f5c jne LBB0_364 + //0x00000f62 LBB0_167 + 0x4d, 0x39, 0xc8, //0x00000f62 cmpq %r9, %r8 + 0x0f, 0x86, 0x09, 0x00, 0x00, 0x00, //0x00000f65 jbe LBB0_169 + 0x4d, 0x39, 0xf4, //0x00000f6b cmpq %r14, %r12 + 0x0f, 0x82, 0xb2, 0xfc, 0xff, 0xff, //0x00000f6e jb LBB0_130 + //0x00000f74 LBB0_169 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00000f74 movq $16(%rsp), %r15 + 0x4d, 0x31, 0xc8, //0x00000f79 xorq %r9, %r8 + 0x4d, 0x31, 0xf4, //0x00000f7c xorq %r14, %r12 + 0x45, 0x31, 0xc9, //0x00000f7f xorl %r9d, %r9d + 0x4d, 0x09, 0xc4, //0x00000f82 orq %r8, %r12 + 0x41, 0x0f, 0x94, 0xc1, //0x00000f85 sete %r9b + //0x00000f89 LBB0_170 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00000f89 movq $8(%rsp), %r14 + 0x4c, 0x8b, 0x04, 0x24, //0x00000f8e movq (%rsp), %r8 + 0x49, 0x8b, 0x13, //0x00000f92 movq (%r11), %rdx + 0x49, 0x39, 0xd2, //0x00000f95 cmpq %rdx, %r10 + 0x0f, 0x82, 0x92, 0xfb, 0xff, 0xff, //0x00000f98 jb LBB0_121 + 0x90, 0x90, //0x00000f9e .p2align 4, 0x90 + //0x00000fa0 LBB0_171 + 0x49, 0x8d, 0x42, 0x01, //0x00000fa0 leaq $1(%r10), %rax + 0x48, 0x39, 0xd0, //0x00000fa4 cmpq %rdx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000fa7 jae LBB0_175 + 0x41, 0x8a, 0x1c, 0x00, //0x00000fad movb (%r8,%rax), %bl + 0x80, 0xfb, 0x0d, //0x00000fb1 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000fb4 je LBB0_175 + 0x80, 0xfb, 0x20, //0x00000fba cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x00000fbd je LBB0_175 + 0x80, 0xc3, 0xf7, //0x00000fc3 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000fc6 cmpb $1, %bl + 0x0f, 0x87, 0x49, 0x01, 0x00, 0x00, //0x00000fc9 ja LBB0_197 + 0x90, //0x00000fcf .p2align 4, 0x90 + //0x00000fd0 LBB0_175 + 0x49, 0x8d, 0x42, 0x02, //0x00000fd0 leaq $2(%r10), %rax + 0x48, 0x39, 0xd0, //0x00000fd4 cmpq %rdx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000fd7 jae LBB0_179 + 0x41, 0x8a, 0x1c, 0x00, //0x00000fdd movb (%r8,%rax), %bl + 0x80, 0xfb, 0x0d, //0x00000fe1 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000fe4 je LBB0_179 + 0x80, 0xfb, 0x20, //0x00000fea cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x00000fed je LBB0_179 + 0x80, 0xc3, 0xf7, //0x00000ff3 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000ff6 cmpb $1, %bl + 0x0f, 0x87, 0x19, 0x01, 0x00, 0x00, //0x00000ff9 ja LBB0_197 + 0x90, //0x00000fff .p2align 4, 0x90 + //0x00001000 LBB0_179 + 0x49, 0x8d, 0x42, 0x03, //0x00001000 leaq $3(%r10), %rax + 0x48, 0x39, 0xd0, //0x00001004 cmpq %rdx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00001007 jae LBB0_183 + 0x41, 0x8a, 0x1c, 0x00, //0x0000100d movb (%r8,%rax), %bl + 0x80, 0xfb, 0x0d, //0x00001011 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00001014 je LBB0_183 + 0x80, 0xfb, 0x20, //0x0000101a cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000101d je LBB0_183 + 0x80, 0xc3, 0xf7, //0x00001023 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00001026 cmpb $1, %bl + 0x0f, 0x87, 0xe9, 0x00, 0x00, 0x00, //0x00001029 ja LBB0_197 + 0x90, //0x0000102f .p2align 4, 0x90 + //0x00001030 LBB0_183 + 0x49, 0x8d, 0x42, 0x04, //0x00001030 leaq $4(%r10), %rax + 0x48, 0x89, 0xd7, //0x00001034 movq %rdx, %rdi + 0x48, 0x29, 0xc7, //0x00001037 subq %rax, %rdi + 0x0f, 0x86, 0xab, 0x22, 0x00, 0x00, //0x0000103a jbe LBB0_656 + 0x4c, 0x01, 0xc0, //0x00001040 addq %r8, %rax + 0x48, 0x83, 0xff, 0x20, //0x00001043 cmpq $32, %rdi + 0x0f, 0x82, 0x55, 0x00, 0x00, 0x00, //0x00001047 jb LBB0_189 + 0x48, 0x89, 0xd6, //0x0000104d movq %rdx, %rsi + 0x4c, 0x29, 0xd6, //0x00001050 subq %r10, %rsi + 0x48, 0x83, 0xc6, 0xdc, //0x00001053 addq $-36, %rsi + 0x48, 0x89, 0xf1, //0x00001057 movq %rsi, %rcx + 0x48, 0x83, 0xe1, 0xe0, //0x0000105a andq $-32, %rcx + 0x4c, 0x01, 0xd1, //0x0000105e addq %r10, %rcx + 0x49, 0x8d, 0x5c, 0x08, 0x24, //0x00001061 leaq $36(%r8,%rcx), %rbx + 0x83, 0xe6, 0x1f, //0x00001066 andl $31, %esi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001069 .p2align 4, 0x90 + //0x00001070 LBB0_186 + 0xc5, 0xfe, 0x6f, 0x30, //0x00001070 vmovdqu (%rax), %ymm6 + 0xc4, 0x62, 0x7d, 0x00, 0xe6, //0x00001074 vpshufb %ymm6, %ymm0, %ymm12 + 0xc5, 0x9d, 0x74, 0xf6, //0x00001079 vpcmpeqb %ymm6, %ymm12, %ymm6 + 0xc5, 0xfd, 0xd7, 0xce, //0x0000107d vpmovmskb %ymm6, %ecx + 0x83, 0xf9, 0xff, //0x00001081 cmpl $-1, %ecx + 0x0f, 0x85, 0x76, 0x00, 0x00, 0x00, //0x00001084 jne LBB0_196 + 0x48, 0x83, 0xc0, 0x20, //0x0000108a addq $32, %rax + 0x48, 0x83, 0xc7, 0xe0, //0x0000108e addq $-32, %rdi + 0x48, 0x83, 0xff, 0x1f, //0x00001092 cmpq $31, %rdi + 0x0f, 0x87, 0xd4, 0xff, 0xff, 0xff, //0x00001096 ja LBB0_186 + 0x48, 0x89, 0xf7, //0x0000109c movq %rsi, %rdi + 0x48, 0x89, 0xd8, //0x0000109f movq %rbx, %rax + //0x000010a2 LBB0_189 + 0x48, 0x85, 0xff, //0x000010a2 testq %rdi, %rdi + 0x0f, 0x84, 0x3a, 0x00, 0x00, 0x00, //0x000010a5 je LBB0_195 + 0x48, 0x8d, 0x34, 0x38, //0x000010ab leaq (%rax,%rdi), %rsi + 0x48, 0xff, 0xc0, //0x000010af incq %rax + //0x000010b2 LBB0_191 + 0x0f, 0xbe, 0x48, 0xff, //0x000010b2 movsbl $-1(%rax), %ecx + 0x83, 0xf9, 0x20, //0x000010b6 cmpl $32, %ecx + 0x0f, 0x87, 0xb5, 0x0c, 0x00, 0x00, //0x000010b9 ja LBB0_360 + 0x48, 0xbb, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000010bf movabsq $4294977024, %rbx + 0x48, 0x0f, 0xa3, 0xcb, //0x000010c9 btq %rcx, %rbx + 0x0f, 0x83, 0xa1, 0x0c, 0x00, 0x00, //0x000010cd jae LBB0_360 + 0x48, 0xff, 0xcf, //0x000010d3 decq %rdi + 0x48, 0xff, 0xc0, //0x000010d6 incq %rax + 0x48, 0x85, 0xff, //0x000010d9 testq %rdi, %rdi + 0x0f, 0x85, 0xd0, 0xff, 0xff, 0xff, //0x000010dc jne LBB0_191 + 0x48, 0x89, 0xf0, //0x000010e2 movq %rsi, %rax + //0x000010e5 LBB0_195 + 0x4c, 0x29, 0xc0, //0x000010e5 subq %r8, %rax + 0x48, 0x39, 0xd0, //0x000010e8 cmpq %rdx, %rax + 0x0f, 0x82, 0x27, 0x00, 0x00, 0x00, //0x000010eb jb LBB0_197 + 0xe9, 0xfb, 0x21, 0x00, 0x00, //0x000010f1 jmp LBB0_657 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000010f6 .p2align 4, 0x90 + //0x00001100 LBB0_196 + 0x4c, 0x29, 0xc0, //0x00001100 subq %r8, %rax + 0xf7, 0xd1, //0x00001103 notl %ecx + 0x48, 0x63, 0xc9, //0x00001105 movslq %ecx, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x00001108 bsfq %rcx, %rcx + 0x48, 0x01, 0xc8, //0x0000110c addq %rcx, %rax + 0x48, 0x39, 0xd0, //0x0000110f cmpq %rdx, %rax + 0x0f, 0x83, 0xd9, 0x21, 0x00, 0x00, //0x00001112 jae LBB0_657 + //0x00001118 LBB0_197 + 0x4c, 0x8d, 0x50, 0x01, //0x00001118 leaq $1(%rax), %r10 + 0x4d, 0x89, 0x16, //0x0000111c movq %r10, (%r14) + 0x41, 0x80, 0x3c, 0x00, 0x3a, //0x0000111f cmpb $58, (%r8,%rax) + 0x0f, 0x85, 0xc7, 0x21, 0x00, 0x00, //0x00001124 jne LBB0_657 + 0x4d, 0x85, 0xc9, //0x0000112a testq %r9, %r9 + 0x0f, 0x85, 0x4d, 0x1d, 0x00, 0x00, //0x0000112d jne LBB0_524 + 0x4d, 0x8b, 0x03, //0x00001133 movq (%r11), %r8 + 0x4d, 0x39, 0xc2, //0x00001136 cmpq %r8, %r10 + 0x0f, 0x83, 0x31, 0x00, 0x00, 0x00, //0x00001139 jae LBB0_204 + 0x48, 0x8b, 0x0c, 0x24, //0x0000113f movq (%rsp), %rcx + 0x42, 0x8a, 0x0c, 0x11, //0x00001143 movb (%rcx,%r10), %cl + 0x80, 0xf9, 0x0d, //0x00001147 cmpb $13, %cl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x0000114a je LBB0_204 + 0x80, 0xf9, 0x20, //0x00001150 cmpb $32, %cl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00001153 je LBB0_204 + 0x80, 0xc1, 0xf7, //0x00001159 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x0000115c cmpb $1, %cl + 0x0f, 0x86, 0x0b, 0x00, 0x00, 0x00, //0x0000115f jbe LBB0_204 + 0x4c, 0x89, 0xd1, //0x00001165 movq %r10, %rcx + 0xe9, 0xac, 0x01, 0x00, 0x00, //0x00001168 jmp LBB0_230 + 0x90, 0x90, 0x90, //0x0000116d .p2align 4, 0x90 + //0x00001170 LBB0_204 + 0x48, 0x8d, 0x48, 0x02, //0x00001170 leaq $2(%rax), %rcx + 0x4c, 0x39, 0xc1, //0x00001174 cmpq %r8, %rcx + 0x0f, 0x83, 0x33, 0x00, 0x00, 0x00, //0x00001177 jae LBB0_208 + 0x48, 0x8b, 0x14, 0x24, //0x0000117d movq (%rsp), %rdx + 0x8a, 0x1c, 0x0a, //0x00001181 movb (%rdx,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00001184 cmpb $13, %bl + 0x0f, 0x84, 0x23, 0x00, 0x00, 0x00, //0x00001187 je LBB0_208 + 0x80, 0xfb, 0x20, //0x0000118d cmpb $32, %bl + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00001190 je LBB0_208 + 0x80, 0xc3, 0xf7, //0x00001196 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00001199 cmpb $1, %bl + 0x0f, 0x87, 0x77, 0x01, 0x00, 0x00, //0x0000119c ja LBB0_230 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000011a2 .p2align 4, 0x90 + //0x000011b0 LBB0_208 + 0x48, 0x8d, 0x48, 0x03, //0x000011b0 leaq $3(%rax), %rcx + 0x4c, 0x39, 0xc1, //0x000011b4 cmpq %r8, %rcx + 0x0f, 0x83, 0x33, 0x00, 0x00, 0x00, //0x000011b7 jae LBB0_212 + 0x48, 0x8b, 0x14, 0x24, //0x000011bd movq (%rsp), %rdx + 0x8a, 0x1c, 0x0a, //0x000011c1 movb (%rdx,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x000011c4 cmpb $13, %bl + 0x0f, 0x84, 0x23, 0x00, 0x00, 0x00, //0x000011c7 je LBB0_212 + 0x80, 0xfb, 0x20, //0x000011cd cmpb $32, %bl + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000011d0 je LBB0_212 + 0x80, 0xc3, 0xf7, //0x000011d6 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000011d9 cmpb $1, %bl + 0x0f, 0x87, 0x37, 0x01, 0x00, 0x00, //0x000011dc ja LBB0_230 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000011e2 .p2align 4, 0x90 + //0x000011f0 LBB0_212 + 0x48, 0x8d, 0x48, 0x04, //0x000011f0 leaq $4(%rax), %rcx + 0x4c, 0x39, 0xc1, //0x000011f4 cmpq %r8, %rcx + 0x0f, 0x83, 0x33, 0x00, 0x00, 0x00, //0x000011f7 jae LBB0_216 + 0x48, 0x8b, 0x14, 0x24, //0x000011fd movq (%rsp), %rdx + 0x8a, 0x1c, 0x0a, //0x00001201 movb (%rdx,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00001204 cmpb $13, %bl + 0x0f, 0x84, 0x23, 0x00, 0x00, 0x00, //0x00001207 je LBB0_216 + 0x80, 0xfb, 0x20, //0x0000120d cmpb $32, %bl + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00001210 je LBB0_216 + 0x80, 0xc3, 0xf7, //0x00001216 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00001219 cmpb $1, %bl + 0x0f, 0x87, 0xf7, 0x00, 0x00, 0x00, //0x0000121c ja LBB0_230 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001222 .p2align 4, 0x90 + //0x00001230 LBB0_216 + 0x48, 0x8d, 0x48, 0x05, //0x00001230 leaq $5(%rax), %rcx + 0x4c, 0x89, 0xc7, //0x00001234 movq %r8, %rdi + 0x48, 0x29, 0xcf, //0x00001237 subq %rcx, %rdi + 0x0f, 0x86, 0x00, 0x06, 0x00, 0x00, //0x0000123a jbe LBB0_293 + 0x48, 0x8b, 0x1c, 0x24, //0x00001240 movq (%rsp), %rbx + 0x48, 0x01, 0xd9, //0x00001244 addq %rbx, %rcx + 0x48, 0x83, 0xff, 0x20, //0x00001247 cmpq $32, %rdi + 0x0f, 0x82, 0x51, 0x00, 0x00, 0x00, //0x0000124b jb LBB0_222 + 0x4c, 0x89, 0xc2, //0x00001251 movq %r8, %rdx + 0x48, 0x29, 0xc2, //0x00001254 subq %rax, %rdx + 0x48, 0x83, 0xc2, 0xdb, //0x00001257 addq $-37, %rdx + 0x48, 0x89, 0xd6, //0x0000125b movq %rdx, %rsi + 0x48, 0x83, 0xe6, 0xe0, //0x0000125e andq $-32, %rsi + 0x48, 0x01, 0xc6, //0x00001262 addq %rax, %rsi + 0x48, 0x8d, 0x44, 0x33, 0x25, //0x00001265 leaq $37(%rbx,%rsi), %rax + 0x83, 0xe2, 0x1f, //0x0000126a andl $31, %edx + 0x90, 0x90, 0x90, //0x0000126d .p2align 4, 0x90 + //0x00001270 LBB0_219 + 0xc5, 0xfe, 0x6f, 0x31, //0x00001270 vmovdqu (%rcx), %ymm6 + 0xc4, 0x62, 0x7d, 0x00, 0xe6, //0x00001274 vpshufb %ymm6, %ymm0, %ymm12 + 0xc5, 0x9d, 0x74, 0xf6, //0x00001279 vpcmpeqb %ymm6, %ymm12, %ymm6 + 0xc5, 0xfd, 0xd7, 0xde, //0x0000127d vpmovmskb %ymm6, %ebx + 0x83, 0xfb, 0xff, //0x00001281 cmpl $-1, %ebx + 0x0f, 0x85, 0x76, 0x00, 0x00, 0x00, //0x00001284 jne LBB0_229 + 0x48, 0x83, 0xc1, 0x20, //0x0000128a addq $32, %rcx + 0x48, 0x83, 0xc7, 0xe0, //0x0000128e addq $-32, %rdi + 0x48, 0x83, 0xff, 0x1f, //0x00001292 cmpq $31, %rdi + 0x0f, 0x87, 0xd4, 0xff, 0xff, 0xff, //0x00001296 ja LBB0_219 + 0x48, 0x89, 0xd7, //0x0000129c movq %rdx, %rdi + 0x48, 0x89, 0xc1, //0x0000129f movq %rax, %rcx + //0x000012a2 LBB0_222 + 0x48, 0x85, 0xff, //0x000012a2 testq %rdi, %rdi + 0x0f, 0x84, 0x3a, 0x00, 0x00, 0x00, //0x000012a5 je LBB0_228 + 0x48, 0x8d, 0x04, 0x39, //0x000012ab leaq (%rcx,%rdi), %rax + 0x48, 0xff, 0xc1, //0x000012af incq %rcx + //0x000012b2 LBB0_224 + 0x0f, 0xbe, 0x71, 0xff, //0x000012b2 movsbl $-1(%rcx), %esi + 0x83, 0xfe, 0x20, //0x000012b6 cmpl $32, %esi + 0x0f, 0x87, 0xe3, 0x0a, 0x00, 0x00, //0x000012b9 ja LBB0_362 + 0x48, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000012bf movabsq $4294977024, %rdx + 0x48, 0x0f, 0xa3, 0xf2, //0x000012c9 btq %rsi, %rdx + 0x0f, 0x83, 0xcf, 0x0a, 0x00, 0x00, //0x000012cd jae LBB0_362 + 0x48, 0xff, 0xcf, //0x000012d3 decq %rdi + 0x48, 0xff, 0xc1, //0x000012d6 incq %rcx + 0x48, 0x85, 0xff, //0x000012d9 testq %rdi, %rdi + 0x0f, 0x85, 0xd0, 0xff, 0xff, 0xff, //0x000012dc jne LBB0_224 + 0x48, 0x89, 0xc1, //0x000012e2 movq %rax, %rcx + //0x000012e5 LBB0_228 + 0x48, 0x2b, 0x0c, 0x24, //0x000012e5 subq (%rsp), %rcx + 0x4c, 0x39, 0xc1, //0x000012e9 cmpq %r8, %rcx + 0x0f, 0x82, 0x27, 0x00, 0x00, 0x00, //0x000012ec jb LBB0_230 + 0xe9, 0x4f, 0x05, 0x00, 0x00, //0x000012f2 jmp LBB0_294 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000012f7 .p2align 4, 0x90 + //0x00001300 LBB0_229 + 0x48, 0x2b, 0x0c, 0x24, //0x00001300 subq (%rsp), %rcx + 0xf7, 0xd3, //0x00001304 notl %ebx + 0x48, 0x63, 0xc3, //0x00001306 movslq %ebx, %rax + 0x48, 0x0f, 0xbc, 0xc0, //0x00001309 bsfq %rax, %rax + 0x48, 0x01, 0xc1, //0x0000130d addq %rax, %rcx + 0x4c, 0x39, 0xc1, //0x00001310 cmpq %r8, %rcx + 0x0f, 0x83, 0x2d, 0x05, 0x00, 0x00, //0x00001313 jae LBB0_294 + //0x00001319 LBB0_230 + 0x4c, 0x8d, 0x51, 0x01, //0x00001319 leaq $1(%rcx), %r10 + 0x4d, 0x89, 0x16, //0x0000131d movq %r10, (%r14) + 0x48, 0x8b, 0x04, 0x24, //0x00001320 movq (%rsp), %rax + 0x0f, 0xbe, 0x04, 0x08, //0x00001324 movsbl (%rax,%rcx), %eax + 0x83, 0xf8, 0x7b, //0x00001328 cmpl $123, %eax + 0x0f, 0x87, 0x0f, 0x05, 0x00, 0x00, //0x0000132b ja LBB0_293 + 0x48, 0x8d, 0x15, 0x20, 0x46, 0x00, 0x00, //0x00001331 leaq $17952(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x00001338 movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x0000133c addq %rdx, %rax + 0xff, 0xe0, //0x0000133f jmpq *%rax + //0x00001341 LBB0_232 + 0x49, 0x8b, 0x13, //0x00001341 movq (%r11), %rdx + 0x48, 0x89, 0xd0, //0x00001344 movq %rdx, %rax + 0x4c, 0x29, 0xd0, //0x00001347 subq %r10, %rax + 0x48, 0x8b, 0x3c, 0x24, //0x0000134a movq (%rsp), %rdi + 0x49, 0x01, 0xfa, //0x0000134e addq %rdi, %r10 + 0x48, 0x83, 0xf8, 0x20, //0x00001351 cmpq $32, %rax + 0x0f, 0x82, 0x5e, 0x00, 0x00, 0x00, //0x00001355 jb LBB0_237 + 0x48, 0x29, 0xca, //0x0000135b subq %rcx, %rdx + 0x48, 0x83, 0xc2, 0xdf, //0x0000135e addq $-33, %rdx + 0x48, 0x89, 0xd6, //0x00001362 movq %rdx, %rsi + 0x48, 0x83, 0xe6, 0xe0, //0x00001365 andq $-32, %rsi + 0x48, 0x01, 0xce, //0x00001369 addq %rcx, %rsi + 0x48, 0x8d, 0x4c, 0x37, 0x21, //0x0000136c leaq $33(%rdi,%rsi), %rcx + 0x83, 0xe2, 0x1f, //0x00001371 andl $31, %edx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001374 .p2align 4, 0x90 + //0x00001380 LBB0_234 + 0xc4, 0xc1, 0x7e, 0x6f, 0x32, //0x00001380 vmovdqu (%r10), %ymm6 + 0xc5, 0x4d, 0x74, 0xe3, //0x00001385 vpcmpeqb %ymm3, %ymm6, %ymm12 + 0xc5, 0xcd, 0xeb, 0xf4, //0x00001389 vpor %ymm4, %ymm6, %ymm6 + 0xc5, 0xcd, 0x74, 0xf5, //0x0000138d vpcmpeqb %ymm5, %ymm6, %ymm6 + 0xc5, 0x9d, 0xeb, 0xf6, //0x00001391 vpor %ymm6, %ymm12, %ymm6 + 0xc5, 0xfd, 0xd7, 0xf6, //0x00001395 vpmovmskb %ymm6, %esi + 0x85, 0xf6, //0x00001399 testl %esi, %esi + 0x0f, 0x85, 0xcf, 0x00, 0x00, 0x00, //0x0000139b jne LBB0_251 + 0x49, 0x83, 0xc2, 0x20, //0x000013a1 addq $32, %r10 + 0x48, 0x83, 0xc0, 0xe0, //0x000013a5 addq $-32, %rax + 0x48, 0x83, 0xf8, 0x1f, //0x000013a9 cmpq $31, %rax + 0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x000013ad ja LBB0_234 + 0x48, 0x89, 0xd0, //0x000013b3 movq %rdx, %rax + 0x49, 0x89, 0xca, //0x000013b6 movq %rcx, %r10 + //0x000013b9 LBB0_237 + 0x48, 0x83, 0xf8, 0x10, //0x000013b9 cmpq $16, %rax + 0x0f, 0x82, 0x55, 0x00, 0x00, 0x00, //0x000013bd jb LBB0_242 + 0x48, 0x8d, 0x48, 0xf0, //0x000013c3 leaq $-16(%rax), %rcx + 0x48, 0x89, 0xca, //0x000013c7 movq %rcx, %rdx + 0x48, 0x83, 0xe2, 0xf0, //0x000013ca andq $-16, %rdx + 0x4a, 0x8d, 0x54, 0x12, 0x10, //0x000013ce leaq $16(%rdx,%r10), %rdx + 0x83, 0xe1, 0x0f, //0x000013d3 andl $15, %ecx + //0x000013d6 LBB0_239 + 0xc4, 0xc1, 0x7a, 0x6f, 0x32, //0x000013d6 vmovdqu (%r10), %xmm6 + 0xc5, 0xc9, 0x74, 0x3d, 0xfd, 0xed, 0xff, 0xff, //0x000013db vpcmpeqb $-4611(%rip), %xmm6, %xmm7 /* LCPI0_4+0(%rip) */ + 0xc5, 0xc9, 0xeb, 0x35, 0x05, 0xee, 0xff, 0xff, //0x000013e3 vpor $-4603(%rip), %xmm6, %xmm6 /* LCPI0_5+0(%rip) */ + 0xc5, 0xb9, 0x74, 0xf6, //0x000013eb vpcmpeqb %xmm6, %xmm8, %xmm6 + 0xc5, 0xc9, 0xeb, 0xf7, //0x000013ef vpor %xmm7, %xmm6, %xmm6 + 0xc5, 0xf9, 0xd7, 0xf6, //0x000013f3 vpmovmskb %xmm6, %esi + 0x66, 0x85, 0xf6, //0x000013f7 testw %si, %si + 0x0f, 0x85, 0x6c, 0x09, 0x00, 0x00, //0x000013fa jne LBB0_359 + 0x49, 0x83, 0xc2, 0x10, //0x00001400 addq $16, %r10 + 0x48, 0x83, 0xc0, 0xf0, //0x00001404 addq $-16, %rax + 0x48, 0x83, 0xf8, 0x0f, //0x00001408 cmpq $15, %rax + 0x0f, 0x87, 0xc4, 0xff, 0xff, 0xff, //0x0000140c ja LBB0_239 + 0x48, 0x89, 0xc8, //0x00001412 movq %rcx, %rax + 0x49, 0x89, 0xd2, //0x00001415 movq %rdx, %r10 + //0x00001418 LBB0_242 + 0x48, 0x85, 0xc0, //0x00001418 testq %rax, %rax + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x0000141b je LBB0_249 + 0x49, 0x8d, 0x0c, 0x02, //0x00001421 leaq (%r10,%rax), %rcx + //0x00001425 LBB0_244 + 0x41, 0x0f, 0xb6, 0x12, //0x00001425 movzbl (%r10), %edx + 0x80, 0xfa, 0x2c, //0x00001429 cmpb $44, %dl + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x0000142c je LBB0_249 + 0x80, 0xfa, 0x7d, //0x00001432 cmpb $125, %dl + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x00001435 je LBB0_249 + 0x80, 0xfa, 0x5d, //0x0000143b cmpb $93, %dl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x0000143e je LBB0_249 + 0x49, 0xff, 0xc2, //0x00001444 incq %r10 + 0x48, 0xff, 0xc8, //0x00001447 decq %rax + 0x0f, 0x85, 0xd5, 0xff, 0xff, 0xff, //0x0000144a jne LBB0_244 + 0x49, 0x89, 0xca, //0x00001450 movq %rcx, %r10 + //0x00001453 LBB0_249 + 0x4c, 0x2b, 0x14, 0x24, //0x00001453 subq (%rsp), %r10 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00001457 movq $8(%rsp), %r14 + 0x4d, 0x89, 0x16, //0x0000145c movq %r10, (%r14) + //0x0000145f LBB0_250 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x0000145f movq $16(%rsp), %r15 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00001464 movq $24(%rsp), %r11 + 0xe9, 0xd8, 0x03, 0x00, 0x00, //0x00001469 jmp LBB0_294 + 0x90, 0x90, //0x0000146e .p2align 4, 0x90 + //0x00001470 LBB0_251 + 0x48, 0x63, 0xc6, //0x00001470 movslq %esi, %rax + //0x00001473 LBB0_252 + 0x48, 0x0f, 0xbc, 0xc0, //0x00001473 bsfq %rax, %rax + 0x49, 0x29, 0xfa, //0x00001477 subq %rdi, %r10 + 0x49, 0x01, 0xc2, //0x0000147a addq %rax, %r10 + 0x4d, 0x89, 0x16, //0x0000147d movq %r10, (%r14) + 0xe9, 0xc1, 0x03, 0x00, 0x00, //0x00001480 jmp LBB0_294 + //0x00001485 LBB0_253 + 0x48, 0x83, 0xc1, 0x04, //0x00001485 addq $4, %rcx + 0x49, 0x3b, 0x0b, //0x00001489 cmpq (%r11), %rcx + 0x0f, 0x86, 0xae, 0x03, 0x00, 0x00, //0x0000148c jbe LBB0_293 + 0xe9, 0xaf, 0x03, 0x00, 0x00, //0x00001492 jmp LBB0_294 + //0x00001497 LBB0_254 + 0x4d, 0x8b, 0x03, //0x00001497 movq (%r11), %r8 + 0x4c, 0x89, 0xc0, //0x0000149a movq %r8, %rax + 0x4c, 0x29, 0xd0, //0x0000149d subq %r10, %rax + 0x48, 0x83, 0xf8, 0x20, //0x000014a0 cmpq $32, %rax + 0x0f, 0x8c, 0x28, 0x09, 0x00, 0x00, //0x000014a4 jl LBB0_365 + 0x48, 0x8b, 0x04, 0x24, //0x000014aa movq (%rsp), %rax + 0x4c, 0x8d, 0x0c, 0x08, //0x000014ae leaq (%rax,%rcx), %r9 + 0x49, 0x29, 0xc8, //0x000014b2 subq %rcx, %r8 + 0xb9, 0x1f, 0x00, 0x00, 0x00, //0x000014b5 movl $31, %ecx + 0x31, 0xc0, //0x000014ba xorl %eax, %eax + 0x31, 0xdb, //0x000014bc xorl %ebx, %ebx + 0x90, 0x90, //0x000014be .p2align 4, 0x90 + //0x000014c0 LBB0_256 + 0xc4, 0xc1, 0x7e, 0x6f, 0x74, 0x01, 0x01, //0x000014c0 vmovdqu $1(%r9,%rax), %ymm6 + 0xc5, 0x4d, 0x74, 0xe1, //0x000014c7 vpcmpeqb %ymm1, %ymm6, %ymm12 + 0xc4, 0x41, 0x7d, 0xd7, 0xdc, //0x000014cb vpmovmskb %ymm12, %r11d + 0xc5, 0xcd, 0x74, 0xf2, //0x000014d0 vpcmpeqb %ymm2, %ymm6, %ymm6 + 0xc5, 0xfd, 0xd7, 0xd6, //0x000014d4 vpmovmskb %ymm6, %edx + 0x48, 0x85, 0xdb, //0x000014d8 testq %rbx, %rbx + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x000014db jne LBB0_259 + 0x85, 0xd2, //0x000014e1 testl %edx, %edx + 0x0f, 0x85, 0x07, 0x00, 0x00, 0x00, //0x000014e3 jne LBB0_259 + 0x31, 0xdb, //0x000014e9 xorl %ebx, %ebx + 0xe9, 0x3b, 0x00, 0x00, 0x00, //0x000014eb jmp LBB0_260 + //0x000014f0 .p2align 4, 0x90 + //0x000014f0 LBB0_259 + 0x89, 0xdf, //0x000014f0 movl %ebx, %edi + 0x41, 0xbc, 0xff, 0xff, 0xff, 0xff, //0x000014f2 movl $4294967295, %r12d + 0x44, 0x31, 0xe7, //0x000014f8 xorl %r12d, %edi + 0x21, 0xd7, //0x000014fb andl %edx, %edi + 0x8d, 0x14, 0x3f, //0x000014fd leal (%rdi,%rdi), %edx + 0x09, 0xda, //0x00001500 orl %ebx, %edx + 0x41, 0x8d, 0xb4, 0x24, 0xab, 0xaa, 0xaa, 0xaa, //0x00001502 leal $-1431655765(%r12), %esi + 0x31, 0xd6, //0x0000150a xorl %edx, %esi + 0x21, 0xfe, //0x0000150c andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000150e andl $-1431655766, %esi + 0x31, 0xdb, //0x00001514 xorl %ebx, %ebx + 0x01, 0xfe, //0x00001516 addl %edi, %esi + 0x0f, 0x92, 0xc3, //0x00001518 setb %bl + 0x01, 0xf6, //0x0000151b addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x0000151d xorl $1431655765, %esi + 0x21, 0xd6, //0x00001523 andl %edx, %esi + 0x44, 0x31, 0xe6, //0x00001525 xorl %r12d, %esi + 0x41, 0x21, 0xf3, //0x00001528 andl %esi, %r11d + //0x0000152b LBB0_260 + 0x45, 0x85, 0xdb, //0x0000152b testl %r11d, %r11d + 0x0f, 0x85, 0xcc, 0x07, 0x00, 0x00, //0x0000152e jne LBB0_354 + 0x48, 0x83, 0xc0, 0x20, //0x00001534 addq $32, %rax + 0x49, 0x8d, 0x54, 0x08, 0xe0, //0x00001538 leaq $-32(%r8,%rcx), %rdx + 0x48, 0x83, 0xc1, 0xe0, //0x0000153d addq $-32, %rcx + 0x48, 0x83, 0xfa, 0x3f, //0x00001541 cmpq $63, %rdx + 0x0f, 0x8f, 0x75, 0xff, 0xff, 0xff, //0x00001545 jg LBB0_256 + 0x48, 0x85, 0xdb, //0x0000154b testq %rbx, %rbx + 0x0f, 0x85, 0x01, 0x0a, 0x00, 0x00, //0x0000154e jne LBB0_384 + 0x4a, 0x8d, 0x4c, 0x08, 0x01, //0x00001554 leaq $1(%rax,%r9), %rcx + 0x48, 0xf7, 0xd0, //0x00001559 notq %rax + 0x4c, 0x01, 0xc0, //0x0000155c addq %r8, %rax + //0x0000155f LBB0_264 + 0x48, 0x85, 0xc0, //0x0000155f testq %rax, %rax + 0x48, 0x8b, 0x3c, 0x24, //0x00001562 movq (%rsp), %rdi + 0x0f, 0x8e, 0xdf, 0x09, 0x00, 0x00, //0x00001566 jle LBB0_383 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x0000156c movq $24(%rsp), %r11 + 0xe9, 0xc4, 0x07, 0x00, 0x00, //0x00001571 jmp LBB0_356 + //0x00001576 LBB0_266 + 0x4d, 0x8b, 0x1b, //0x00001576 movq (%r11), %r11 + 0x4d, 0x29, 0xd3, //0x00001579 subq %r10, %r11 + 0x4c, 0x01, 0x14, 0x24, //0x0000157c addq %r10, (%rsp) + 0x45, 0x31, 0xc0, //0x00001580 xorl %r8d, %r8d + 0x45, 0x31, 0xf6, //0x00001583 xorl %r14d, %r14d + 0x45, 0x31, 0xff, //0x00001586 xorl %r15d, %r15d + 0x31, 0xd2, //0x00001589 xorl %edx, %edx + 0x49, 0x83, 0xfb, 0x40, //0x0000158b cmpq $64, %r11 + 0x0f, 0x8d, 0x3c, 0x01, 0x00, 0x00, //0x0000158f jge LBB0_267 + //0x00001595 LBB0_276 + 0x4d, 0x85, 0xdb, //0x00001595 testq %r11, %r11 + 0x0f, 0x8e, 0x9b, 0x09, 0x00, 0x00, //0x00001598 jle LBB0_382 + 0xc5, 0xc9, 0xef, 0xf6, //0x0000159e vpxor %xmm6, %xmm6, %xmm6 + 0xc5, 0xfe, 0x7f, 0x74, 0x24, 0x60, //0x000015a2 vmovdqu %ymm6, $96(%rsp) + 0xc5, 0xfe, 0x7f, 0x74, 0x24, 0x40, //0x000015a8 vmovdqu %ymm6, $64(%rsp) + 0x48, 0x8b, 0x04, 0x24, //0x000015ae movq (%rsp), %rax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x000015b2 andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x000015b7 cmpl $4033, %eax + 0x0f, 0x82, 0x0f, 0x01, 0x00, 0x00, //0x000015bc jb LBB0_267 + 0x49, 0x83, 0xfb, 0x20, //0x000015c2 cmpq $32, %r11 + 0x0f, 0x82, 0x24, 0x00, 0x00, 0x00, //0x000015c6 jb LBB0_280 + 0x48, 0x8b, 0x04, 0x24, //0x000015cc movq (%rsp), %rax + 0xc5, 0xfe, 0x6f, 0x30, //0x000015d0 vmovdqu (%rax), %ymm6 + 0xc5, 0xfe, 0x7f, 0x74, 0x24, 0x40, //0x000015d4 vmovdqu %ymm6, $64(%rsp) + 0x48, 0x83, 0xc0, 0x20, //0x000015da addq $32, %rax + 0x48, 0x89, 0x04, 0x24, //0x000015de movq %rax, (%rsp) + 0x4d, 0x8d, 0x53, 0xe0, //0x000015e2 leaq $-32(%r11), %r10 + 0x4c, 0x8d, 0x4c, 0x24, 0x60, //0x000015e6 leaq $96(%rsp), %r9 + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x000015eb jmp LBB0_281 + //0x000015f0 LBB0_280 + 0x4c, 0x8d, 0x4c, 0x24, 0x40, //0x000015f0 leaq $64(%rsp), %r9 + 0x4d, 0x89, 0xda, //0x000015f5 movq %r11, %r10 + //0x000015f8 LBB0_281 + 0x49, 0x83, 0xfa, 0x10, //0x000015f8 cmpq $16, %r10 + 0x0f, 0x82, 0x5d, 0x00, 0x00, 0x00, //0x000015fc jb LBB0_282 + 0x48, 0x8b, 0x04, 0x24, //0x00001602 movq (%rsp), %rax + 0xc5, 0xfa, 0x6f, 0x30, //0x00001606 vmovdqu (%rax), %xmm6 + 0xc4, 0xc1, 0x7a, 0x7f, 0x31, //0x0000160a vmovdqu %xmm6, (%r9) + 0x48, 0x83, 0xc0, 0x10, //0x0000160f addq $16, %rax + 0x48, 0x89, 0x04, 0x24, //0x00001613 movq %rax, (%rsp) + 0x49, 0x83, 0xc1, 0x10, //0x00001617 addq $16, %r9 + 0x49, 0x83, 0xc2, 0xf0, //0x0000161b addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x08, //0x0000161f cmpq $8, %r10 + 0x0f, 0x83, 0x40, 0x00, 0x00, 0x00, //0x00001623 jae LBB0_287 + //0x00001629 LBB0_283 + 0x49, 0x83, 0xfa, 0x04, //0x00001629 cmpq $4, %r10 + 0x0f, 0x8c, 0x5a, 0x00, 0x00, 0x00, //0x0000162d jl LBB0_284 + //0x00001633 LBB0_288 + 0x48, 0x8b, 0x0c, 0x24, //0x00001633 movq (%rsp), %rcx + 0x8b, 0x01, //0x00001637 movl (%rcx), %eax + 0x41, 0x89, 0x01, //0x00001639 movl %eax, (%r9) + 0x48, 0x83, 0xc1, 0x04, //0x0000163c addq $4, %rcx + 0x48, 0x89, 0x0c, 0x24, //0x00001640 movq %rcx, (%rsp) + 0x49, 0x83, 0xc1, 0x04, //0x00001644 addq $4, %r9 + 0x49, 0x83, 0xc2, 0xfc, //0x00001648 addq $-4, %r10 + 0x49, 0x83, 0xfa, 0x02, //0x0000164c cmpq $2, %r10 + 0x0f, 0x83, 0x41, 0x00, 0x00, 0x00, //0x00001650 jae LBB0_285 + //0x00001656 LBB0_289 + 0x48, 0x8b, 0x04, 0x24, //0x00001656 movq (%rsp), %rax + 0xe9, 0x52, 0x00, 0x00, 0x00, //0x0000165a jmp LBB0_290 + //0x0000165f LBB0_282 + 0x49, 0x83, 0xfa, 0x08, //0x0000165f cmpq $8, %r10 + 0x0f, 0x82, 0xc0, 0xff, 0xff, 0xff, //0x00001663 jb LBB0_283 + //0x00001669 LBB0_287 + 0x48, 0x8b, 0x0c, 0x24, //0x00001669 movq (%rsp), %rcx + 0x48, 0x8b, 0x01, //0x0000166d movq (%rcx), %rax + 0x49, 0x89, 0x01, //0x00001670 movq %rax, (%r9) + 0x48, 0x83, 0xc1, 0x08, //0x00001673 addq $8, %rcx + 0x48, 0x89, 0x0c, 0x24, //0x00001677 movq %rcx, (%rsp) + 0x49, 0x83, 0xc1, 0x08, //0x0000167b addq $8, %r9 + 0x49, 0x83, 0xc2, 0xf8, //0x0000167f addq $-8, %r10 + 0x49, 0x83, 0xfa, 0x04, //0x00001683 cmpq $4, %r10 + 0x0f, 0x8d, 0xa6, 0xff, 0xff, 0xff, //0x00001687 jge LBB0_288 + //0x0000168d LBB0_284 + 0x49, 0x83, 0xfa, 0x02, //0x0000168d cmpq $2, %r10 + 0x0f, 0x82, 0xbf, 0xff, 0xff, 0xff, //0x00001691 jb LBB0_289 + //0x00001697 LBB0_285 + 0x48, 0x8b, 0x0c, 0x24, //0x00001697 movq (%rsp), %rcx + 0x0f, 0xb7, 0x01, //0x0000169b movzwl (%rcx), %eax + 0x66, 0x41, 0x89, 0x01, //0x0000169e movw %ax, (%r9) + 0x48, 0x83, 0xc1, 0x02, //0x000016a2 addq $2, %rcx + 0x49, 0x83, 0xc1, 0x02, //0x000016a6 addq $2, %r9 + 0x49, 0x83, 0xc2, 0xfe, //0x000016aa addq $-2, %r10 + 0x48, 0x89, 0xc8, //0x000016ae movq %rcx, %rax + //0x000016b1 LBB0_290 + 0x48, 0x8d, 0x4c, 0x24, 0x40, //0x000016b1 leaq $64(%rsp), %rcx + 0x48, 0x89, 0x0c, 0x24, //0x000016b6 movq %rcx, (%rsp) + 0x4d, 0x85, 0xd2, //0x000016ba testq %r10, %r10 + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000016bd je LBB0_267 + 0x8a, 0x00, //0x000016c3 movb (%rax), %al + 0x41, 0x88, 0x01, //0x000016c5 movb %al, (%r9) + 0x48, 0x8d, 0x44, 0x24, 0x40, //0x000016c8 leaq $64(%rsp), %rax + 0x48, 0x89, 0x04, 0x24, //0x000016cd movq %rax, (%rsp) + //0x000016d1 LBB0_267 + 0x48, 0x8b, 0x04, 0x24, //0x000016d1 movq (%rsp), %rax + 0xc5, 0x7e, 0x6f, 0x38, //0x000016d5 vmovdqu (%rax), %ymm15 + 0xc5, 0x7e, 0x6f, 0x70, 0x20, //0x000016d9 vmovdqu $32(%rax), %ymm14 + 0xc5, 0x85, 0x74, 0xf1, //0x000016de vpcmpeqb %ymm1, %ymm15, %ymm6 + 0xc5, 0x7d, 0xd7, 0xce, //0x000016e2 vpmovmskb %ymm6, %r9d + 0xc5, 0x8d, 0x74, 0xf1, //0x000016e6 vpcmpeqb %ymm1, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x000016ea vpmovmskb %ymm6, %eax + 0x48, 0xc1, 0xe0, 0x20, //0x000016ee shlq $32, %rax + 0x49, 0x09, 0xc1, //0x000016f2 orq %rax, %r9 + 0xc5, 0x85, 0x74, 0xf2, //0x000016f5 vpcmpeqb %ymm2, %ymm15, %ymm6 + 0xc5, 0xfd, 0xd7, 0xfe, //0x000016f9 vpmovmskb %ymm6, %edi + 0xc5, 0x8d, 0x74, 0xf2, //0x000016fd vpcmpeqb %ymm2, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00001701 vpmovmskb %ymm6, %eax + 0x48, 0xc1, 0xe0, 0x20, //0x00001705 shlq $32, %rax + 0x48, 0x09, 0xc7, //0x00001709 orq %rax, %rdi + 0x48, 0x89, 0xf8, //0x0000170c movq %rdi, %rax + 0x4c, 0x09, 0xf0, //0x0000170f orq %r14, %rax + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x00001712 je LBB0_269 + 0x4c, 0x89, 0xf0, //0x00001718 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x0000171b notq %rax + 0x48, 0x21, 0xf8, //0x0000171e andq %rdi, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00001721 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xf1, //0x00001725 orq %r14, %rcx + 0x48, 0x89, 0xcb, //0x00001728 movq %rcx, %rbx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000172b movabsq $-6148914691236517206, %rsi + 0x48, 0x31, 0xf3, //0x00001735 xorq %rsi, %rbx + 0x48, 0x21, 0xf7, //0x00001738 andq %rsi, %rdi + 0x48, 0x21, 0xdf, //0x0000173b andq %rbx, %rdi + 0x45, 0x31, 0xf6, //0x0000173e xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x00001741 addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x00001744 setb %r14b + 0x48, 0x01, 0xff, //0x00001748 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x0000174b movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00001755 xorq %rax, %rdi + 0x48, 0x21, 0xcf, //0x00001758 andq %rcx, %rdi + 0x48, 0xf7, 0xd7, //0x0000175b notq %rdi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x0000175e jmp LBB0_270 + //0x00001763 LBB0_269 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00001763 movq $-1, %rdi + 0x45, 0x31, 0xf6, //0x0000176a xorl %r14d, %r14d + //0x0000176d LBB0_270 + 0x4c, 0x21, 0xcf, //0x0000176d andq %r9, %rdi + 0xc4, 0xe1, 0xf9, 0x6e, 0xf7, //0x00001770 vmovq %rdi, %xmm6 + 0xc4, 0xc3, 0x49, 0x44, 0xf1, 0x00, //0x00001775 vpclmulqdq $0, %xmm9, %xmm6, %xmm6 + 0xc4, 0xe1, 0xf9, 0x7e, 0xf7, //0x0000177b vmovq %xmm6, %rdi + 0x4c, 0x31, 0xc7, //0x00001780 xorq %r8, %rdi + 0xc4, 0xc1, 0x05, 0x74, 0xf2, //0x00001783 vpcmpeqb %ymm10, %ymm15, %ymm6 + 0xc5, 0xfd, 0xd7, 0xf6, //0x00001788 vpmovmskb %ymm6, %esi + 0xc4, 0xc1, 0x0d, 0x74, 0xf2, //0x0000178c vpcmpeqb %ymm10, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00001791 vpmovmskb %ymm6, %eax + 0x48, 0xc1, 0xe0, 0x20, //0x00001795 shlq $32, %rax + 0x48, 0x09, 0xc6, //0x00001799 orq %rax, %rsi + 0x48, 0x89, 0xf9, //0x0000179c movq %rdi, %rcx + 0x48, 0xf7, 0xd1, //0x0000179f notq %rcx + 0x48, 0x21, 0xce, //0x000017a2 andq %rcx, %rsi + 0xc4, 0xc1, 0x05, 0x74, 0xf3, //0x000017a5 vpcmpeqb %ymm11, %ymm15, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x000017aa vpmovmskb %ymm6, %eax + 0xc4, 0xc1, 0x0d, 0x74, 0xf3, //0x000017ae vpcmpeqb %ymm11, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xde, //0x000017b3 vpmovmskb %ymm6, %ebx + 0x48, 0xc1, 0xe3, 0x20, //0x000017b7 shlq $32, %rbx + 0x48, 0x09, 0xd8, //0x000017bb orq %rbx, %rax + 0x48, 0x21, 0xc8, //0x000017be andq %rcx, %rax + 0x0f, 0x84, 0x35, 0x00, 0x00, 0x00, //0x000017c1 je LBB0_274 + 0x4c, 0x8b, 0x04, 0x24, //0x000017c7 movq (%rsp), %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000017cb .p2align 4, 0x90 + //0x000017d0 LBB0_272 + 0x48, 0x8d, 0x58, 0xff, //0x000017d0 leaq $-1(%rax), %rbx + 0x48, 0x89, 0xd9, //0x000017d4 movq %rbx, %rcx + 0x48, 0x21, 0xf1, //0x000017d7 andq %rsi, %rcx + 0xf3, 0x48, 0x0f, 0xb8, 0xc9, //0x000017da popcntq %rcx, %rcx + 0x4c, 0x01, 0xf9, //0x000017df addq %r15, %rcx + 0x48, 0x39, 0xd1, //0x000017e2 cmpq %rdx, %rcx + 0x0f, 0x86, 0xdf, 0x04, 0x00, 0x00, //0x000017e5 jbe LBB0_352 + 0x48, 0xff, 0xc2, //0x000017eb incq %rdx + 0x48, 0x21, 0xd8, //0x000017ee andq %rbx, %rax + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x000017f1 jne LBB0_272 + 0xe9, 0x04, 0x00, 0x00, 0x00, //0x000017f7 jmp LBB0_275 + //0x000017fc LBB0_274 + 0x4c, 0x8b, 0x04, 0x24, //0x000017fc movq (%rsp), %r8 + //0x00001800 LBB0_275 + 0x48, 0xc1, 0xff, 0x3f, //0x00001800 sarq $63, %rdi + 0xf3, 0x48, 0x0f, 0xb8, 0xc6, //0x00001804 popcntq %rsi, %rax + 0x49, 0x01, 0xc7, //0x00001809 addq %rax, %r15 + 0x49, 0x83, 0xc0, 0x40, //0x0000180c addq $64, %r8 + 0x4c, 0x89, 0x04, 0x24, //0x00001810 movq %r8, (%rsp) + 0x49, 0x83, 0xc3, 0xc0, //0x00001814 addq $-64, %r11 + 0x49, 0x89, 0xf8, //0x00001818 movq %rdi, %r8 + 0x49, 0x83, 0xfb, 0x40, //0x0000181b cmpq $64, %r11 + 0x0f, 0x8d, 0xac, 0xfe, 0xff, 0xff, //0x0000181f jge LBB0_267 + 0xe9, 0x6b, 0xfd, 0xff, 0xff, //0x00001825 jmp LBB0_276 + //0x0000182a LBB0_292 + 0x48, 0x83, 0xc1, 0x05, //0x0000182a addq $5, %rcx + 0x49, 0x3b, 0x0b, //0x0000182e cmpq (%r11), %rcx + 0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x00001831 ja LBB0_294 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001837 .p2align 4, 0x90 + //0x00001840 LBB0_293 + 0x49, 0x89, 0x0e, //0x00001840 movq %rcx, (%r14) + 0x49, 0x89, 0xca, //0x00001843 movq %rcx, %r10 + //0x00001846 LBB0_294 + 0x4d, 0x8b, 0x07, //0x00001846 movq (%r15), %r8 + 0x49, 0x8b, 0x47, 0x08, //0x00001849 movq $8(%r15), %rax + 0x49, 0x39, 0xc2, //0x0000184d cmpq %rax, %r10 + 0x0f, 0x83, 0x2a, 0x00, 0x00, 0x00, //0x00001850 jae LBB0_299 + 0x43, 0x8a, 0x0c, 0x10, //0x00001856 movb (%r8,%r10), %cl + 0x80, 0xf9, 0x0d, //0x0000185a cmpb $13, %cl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x0000185d je LBB0_299 + 0x80, 0xf9, 0x20, //0x00001863 cmpb $32, %cl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001866 je LBB0_299 + 0x80, 0xc1, 0xf7, //0x0000186c addb $-9, %cl + 0x80, 0xf9, 0x01, //0x0000186f cmpb $1, %cl + 0x0f, 0x86, 0x08, 0x00, 0x00, 0x00, //0x00001872 jbe LBB0_299 + 0x4c, 0x89, 0xd1, //0x00001878 movq %r10, %rcx + 0xe9, 0x78, 0x01, 0x00, 0x00, //0x0000187b jmp LBB0_325 + //0x00001880 .p2align 4, 0x90 + //0x00001880 LBB0_299 + 0x49, 0x8d, 0x4a, 0x01, //0x00001880 leaq $1(%r10), %rcx + 0x48, 0x39, 0xc1, //0x00001884 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00001887 jae LBB0_303 + 0x41, 0x8a, 0x14, 0x08, //0x0000188d movb (%r8,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x00001891 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00001894 je LBB0_303 + 0x80, 0xfa, 0x20, //0x0000189a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000189d je LBB0_303 + 0x80, 0xc2, 0xf7, //0x000018a3 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000018a6 cmpb $1, %dl + 0x0f, 0x87, 0x49, 0x01, 0x00, 0x00, //0x000018a9 ja LBB0_325 + 0x90, //0x000018af .p2align 4, 0x90 + //0x000018b0 LBB0_303 + 0x49, 0x8d, 0x4a, 0x02, //0x000018b0 leaq $2(%r10), %rcx + 0x48, 0x39, 0xc1, //0x000018b4 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000018b7 jae LBB0_307 + 0x41, 0x8a, 0x14, 0x08, //0x000018bd movb (%r8,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x000018c1 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000018c4 je LBB0_307 + 0x80, 0xfa, 0x20, //0x000018ca cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x000018cd je LBB0_307 + 0x80, 0xc2, 0xf7, //0x000018d3 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000018d6 cmpb $1, %dl + 0x0f, 0x87, 0x19, 0x01, 0x00, 0x00, //0x000018d9 ja LBB0_325 + 0x90, //0x000018df .p2align 4, 0x90 + //0x000018e0 LBB0_307 + 0x49, 0x8d, 0x4a, 0x03, //0x000018e0 leaq $3(%r10), %rcx + 0x48, 0x39, 0xc1, //0x000018e4 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000018e7 jae LBB0_311 + 0x41, 0x8a, 0x14, 0x08, //0x000018ed movb (%r8,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x000018f1 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000018f4 je LBB0_311 + 0x80, 0xfa, 0x20, //0x000018fa cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x000018fd je LBB0_311 + 0x80, 0xc2, 0xf7, //0x00001903 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00001906 cmpb $1, %dl + 0x0f, 0x87, 0xe9, 0x00, 0x00, 0x00, //0x00001909 ja LBB0_325 + 0x90, //0x0000190f .p2align 4, 0x90 + //0x00001910 LBB0_311 + 0x49, 0x8d, 0x4a, 0x04, //0x00001910 leaq $4(%r10), %rcx + 0x48, 0x89, 0xc2, //0x00001914 movq %rax, %rdx + 0x48, 0x29, 0xca, //0x00001917 subq %rcx, %rdx + 0x0f, 0x86, 0xcd, 0x17, 0x00, 0x00, //0x0000191a jbe LBB0_625 + 0x4c, 0x01, 0xc1, //0x00001920 addq %r8, %rcx + 0x48, 0x83, 0xfa, 0x20, //0x00001923 cmpq $32, %rdx + 0x0f, 0x82, 0x55, 0x00, 0x00, 0x00, //0x00001927 jb LBB0_317 + 0x48, 0x89, 0xc6, //0x0000192d movq %rax, %rsi + 0x4c, 0x29, 0xd6, //0x00001930 subq %r10, %rsi + 0x48, 0x83, 0xc6, 0xdc, //0x00001933 addq $-36, %rsi + 0x48, 0x89, 0xf7, //0x00001937 movq %rsi, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x0000193a andq $-32, %rdi + 0x4c, 0x01, 0xd7, //0x0000193e addq %r10, %rdi + 0x49, 0x8d, 0x7c, 0x38, 0x24, //0x00001941 leaq $36(%r8,%rdi), %rdi + 0x83, 0xe6, 0x1f, //0x00001946 andl $31, %esi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001949 .p2align 4, 0x90 + //0x00001950 LBB0_314 + 0xc5, 0xfe, 0x6f, 0x31, //0x00001950 vmovdqu (%rcx), %ymm6 + 0xc4, 0xe2, 0x7d, 0x00, 0xfe, //0x00001954 vpshufb %ymm6, %ymm0, %ymm7 + 0xc5, 0xcd, 0x74, 0xf7, //0x00001959 vpcmpeqb %ymm7, %ymm6, %ymm6 + 0xc5, 0xfd, 0xd7, 0xde, //0x0000195d vpmovmskb %ymm6, %ebx + 0x83, 0xfb, 0xff, //0x00001961 cmpl $-1, %ebx + 0x0f, 0x85, 0x76, 0x00, 0x00, 0x00, //0x00001964 jne LBB0_324 + 0x48, 0x83, 0xc1, 0x20, //0x0000196a addq $32, %rcx + 0x48, 0x83, 0xc2, 0xe0, //0x0000196e addq $-32, %rdx + 0x48, 0x83, 0xfa, 0x1f, //0x00001972 cmpq $31, %rdx + 0x0f, 0x87, 0xd4, 0xff, 0xff, 0xff, //0x00001976 ja LBB0_314 + 0x48, 0x89, 0xf2, //0x0000197c movq %rsi, %rdx + 0x48, 0x89, 0xf9, //0x0000197f movq %rdi, %rcx + //0x00001982 LBB0_317 + 0x48, 0x85, 0xd2, //0x00001982 testq %rdx, %rdx + 0x0f, 0x84, 0x3a, 0x00, 0x00, 0x00, //0x00001985 je LBB0_323 + 0x48, 0x8d, 0x34, 0x11, //0x0000198b leaq (%rcx,%rdx), %rsi + 0x48, 0xff, 0xc1, //0x0000198f incq %rcx + //0x00001992 LBB0_319 + 0x0f, 0xbe, 0x79, 0xff, //0x00001992 movsbl $-1(%rcx), %edi + 0x83, 0xff, 0x20, //0x00001996 cmpl $32, %edi + 0x0f, 0x87, 0xec, 0x03, 0x00, 0x00, //0x00001999 ja LBB0_361 + 0x48, 0xbb, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000199f movabsq $4294977024, %rbx + 0x48, 0x0f, 0xa3, 0xfb, //0x000019a9 btq %rdi, %rbx + 0x0f, 0x83, 0xd8, 0x03, 0x00, 0x00, //0x000019ad jae LBB0_361 + 0x48, 0xff, 0xca, //0x000019b3 decq %rdx + 0x48, 0xff, 0xc1, //0x000019b6 incq %rcx + 0x48, 0x85, 0xd2, //0x000019b9 testq %rdx, %rdx + 0x0f, 0x85, 0xd0, 0xff, 0xff, 0xff, //0x000019bc jne LBB0_319 + 0x48, 0x89, 0xf1, //0x000019c2 movq %rsi, %rcx + //0x000019c5 LBB0_323 + 0x4c, 0x29, 0xc1, //0x000019c5 subq %r8, %rcx + 0x48, 0x39, 0xc1, //0x000019c8 cmpq %rax, %rcx + 0x0f, 0x82, 0x27, 0x00, 0x00, 0x00, //0x000019cb jb LBB0_325 + 0xe9, 0x1b, 0x19, 0x00, 0x00, //0x000019d1 jmp LBB0_657 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000019d6 .p2align 4, 0x90 + //0x000019e0 LBB0_324 + 0x4c, 0x29, 0xc1, //0x000019e0 subq %r8, %rcx + 0xf7, 0xd3, //0x000019e3 notl %ebx + 0x48, 0x63, 0xd3, //0x000019e5 movslq %ebx, %rdx + 0x48, 0x0f, 0xbc, 0xd2, //0x000019e8 bsfq %rdx, %rdx + 0x48, 0x01, 0xd1, //0x000019ec addq %rdx, %rcx + 0x48, 0x39, 0xc1, //0x000019ef cmpq %rax, %rcx + 0x0f, 0x83, 0xf9, 0x18, 0x00, 0x00, //0x000019f2 jae LBB0_657 + //0x000019f8 LBB0_325 + 0x4c, 0x8d, 0x51, 0x01, //0x000019f8 leaq $1(%rcx), %r10 + 0x4d, 0x89, 0x16, //0x000019fc movq %r10, (%r14) + 0x41, 0x8a, 0x04, 0x08, //0x000019ff movb (%r8,%rcx), %al + 0x3c, 0x2c, //0x00001a03 cmpb $44, %al + 0x0f, 0x84, 0x43, 0xeb, 0xff, 0xff, //0x00001a05 je LBB0_39 + 0xe9, 0x0a, 0x17, 0x00, 0x00, //0x00001a0b jmp LBB0_630 + //0x00001a10 LBB0_326 + 0x4d, 0x8b, 0x1b, //0x00001a10 movq (%r11), %r11 + 0x4d, 0x29, 0xd3, //0x00001a13 subq %r10, %r11 + 0x4c, 0x01, 0x14, 0x24, //0x00001a16 addq %r10, (%rsp) + 0x45, 0x31, 0xc0, //0x00001a1a xorl %r8d, %r8d + 0x45, 0x31, 0xf6, //0x00001a1d xorl %r14d, %r14d + 0x45, 0x31, 0xff, //0x00001a20 xorl %r15d, %r15d + 0x31, 0xd2, //0x00001a23 xorl %edx, %edx + 0x49, 0x83, 0xfb, 0x40, //0x00001a25 cmpq $64, %r11 + 0x0f, 0x8d, 0x3c, 0x01, 0x00, 0x00, //0x00001a29 jge LBB0_327 + //0x00001a2f LBB0_336 + 0x4d, 0x85, 0xdb, //0x00001a2f testq %r11, %r11 + 0x0f, 0x8e, 0x01, 0x05, 0x00, 0x00, //0x00001a32 jle LBB0_382 + 0xc5, 0xc9, 0xef, 0xf6, //0x00001a38 vpxor %xmm6, %xmm6, %xmm6 + 0xc5, 0xfe, 0x7f, 0x74, 0x24, 0x60, //0x00001a3c vmovdqu %ymm6, $96(%rsp) + 0xc5, 0xfe, 0x7f, 0x74, 0x24, 0x40, //0x00001a42 vmovdqu %ymm6, $64(%rsp) + 0x48, 0x8b, 0x04, 0x24, //0x00001a48 movq (%rsp), %rax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00001a4c andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x00001a51 cmpl $4033, %eax + 0x0f, 0x82, 0x0f, 0x01, 0x00, 0x00, //0x00001a56 jb LBB0_327 + 0x49, 0x83, 0xfb, 0x20, //0x00001a5c cmpq $32, %r11 + 0x0f, 0x82, 0x24, 0x00, 0x00, 0x00, //0x00001a60 jb LBB0_340 + 0x48, 0x8b, 0x04, 0x24, //0x00001a66 movq (%rsp), %rax + 0xc5, 0xfe, 0x6f, 0x30, //0x00001a6a vmovdqu (%rax), %ymm6 + 0xc5, 0xfe, 0x7f, 0x74, 0x24, 0x40, //0x00001a6e vmovdqu %ymm6, $64(%rsp) + 0x48, 0x83, 0xc0, 0x20, //0x00001a74 addq $32, %rax + 0x48, 0x89, 0x04, 0x24, //0x00001a78 movq %rax, (%rsp) + 0x4d, 0x8d, 0x53, 0xe0, //0x00001a7c leaq $-32(%r11), %r10 + 0x4c, 0x8d, 0x4c, 0x24, 0x60, //0x00001a80 leaq $96(%rsp), %r9 + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x00001a85 jmp LBB0_341 + //0x00001a8a LBB0_340 + 0x4c, 0x8d, 0x4c, 0x24, 0x40, //0x00001a8a leaq $64(%rsp), %r9 + 0x4d, 0x89, 0xda, //0x00001a8f movq %r11, %r10 + //0x00001a92 LBB0_341 + 0x49, 0x83, 0xfa, 0x10, //0x00001a92 cmpq $16, %r10 + 0x0f, 0x82, 0x5d, 0x00, 0x00, 0x00, //0x00001a96 jb LBB0_342 + 0x48, 0x8b, 0x04, 0x24, //0x00001a9c movq (%rsp), %rax + 0xc5, 0xfa, 0x6f, 0x30, //0x00001aa0 vmovdqu (%rax), %xmm6 + 0xc4, 0xc1, 0x7a, 0x7f, 0x31, //0x00001aa4 vmovdqu %xmm6, (%r9) + 0x48, 0x83, 0xc0, 0x10, //0x00001aa9 addq $16, %rax + 0x48, 0x89, 0x04, 0x24, //0x00001aad movq %rax, (%rsp) + 0x49, 0x83, 0xc1, 0x10, //0x00001ab1 addq $16, %r9 + 0x49, 0x83, 0xc2, 0xf0, //0x00001ab5 addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x08, //0x00001ab9 cmpq $8, %r10 + 0x0f, 0x83, 0x40, 0x00, 0x00, 0x00, //0x00001abd jae LBB0_347 + //0x00001ac3 LBB0_343 + 0x49, 0x83, 0xfa, 0x04, //0x00001ac3 cmpq $4, %r10 + 0x0f, 0x8c, 0x5a, 0x00, 0x00, 0x00, //0x00001ac7 jl LBB0_344 + //0x00001acd LBB0_348 + 0x48, 0x8b, 0x0c, 0x24, //0x00001acd movq (%rsp), %rcx + 0x8b, 0x01, //0x00001ad1 movl (%rcx), %eax + 0x41, 0x89, 0x01, //0x00001ad3 movl %eax, (%r9) + 0x48, 0x83, 0xc1, 0x04, //0x00001ad6 addq $4, %rcx + 0x48, 0x89, 0x0c, 0x24, //0x00001ada movq %rcx, (%rsp) + 0x49, 0x83, 0xc1, 0x04, //0x00001ade addq $4, %r9 + 0x49, 0x83, 0xc2, 0xfc, //0x00001ae2 addq $-4, %r10 + 0x49, 0x83, 0xfa, 0x02, //0x00001ae6 cmpq $2, %r10 + 0x0f, 0x83, 0x41, 0x00, 0x00, 0x00, //0x00001aea jae LBB0_345 + //0x00001af0 LBB0_349 + 0x48, 0x8b, 0x04, 0x24, //0x00001af0 movq (%rsp), %rax + 0xe9, 0x52, 0x00, 0x00, 0x00, //0x00001af4 jmp LBB0_350 + //0x00001af9 LBB0_342 + 0x49, 0x83, 0xfa, 0x08, //0x00001af9 cmpq $8, %r10 + 0x0f, 0x82, 0xc0, 0xff, 0xff, 0xff, //0x00001afd jb LBB0_343 + //0x00001b03 LBB0_347 + 0x48, 0x8b, 0x0c, 0x24, //0x00001b03 movq (%rsp), %rcx + 0x48, 0x8b, 0x01, //0x00001b07 movq (%rcx), %rax + 0x49, 0x89, 0x01, //0x00001b0a movq %rax, (%r9) + 0x48, 0x83, 0xc1, 0x08, //0x00001b0d addq $8, %rcx + 0x48, 0x89, 0x0c, 0x24, //0x00001b11 movq %rcx, (%rsp) + 0x49, 0x83, 0xc1, 0x08, //0x00001b15 addq $8, %r9 + 0x49, 0x83, 0xc2, 0xf8, //0x00001b19 addq $-8, %r10 + 0x49, 0x83, 0xfa, 0x04, //0x00001b1d cmpq $4, %r10 + 0x0f, 0x8d, 0xa6, 0xff, 0xff, 0xff, //0x00001b21 jge LBB0_348 + //0x00001b27 LBB0_344 + 0x49, 0x83, 0xfa, 0x02, //0x00001b27 cmpq $2, %r10 + 0x0f, 0x82, 0xbf, 0xff, 0xff, 0xff, //0x00001b2b jb LBB0_349 + //0x00001b31 LBB0_345 + 0x48, 0x8b, 0x0c, 0x24, //0x00001b31 movq (%rsp), %rcx + 0x0f, 0xb7, 0x01, //0x00001b35 movzwl (%rcx), %eax + 0x66, 0x41, 0x89, 0x01, //0x00001b38 movw %ax, (%r9) + 0x48, 0x83, 0xc1, 0x02, //0x00001b3c addq $2, %rcx + 0x49, 0x83, 0xc1, 0x02, //0x00001b40 addq $2, %r9 + 0x49, 0x83, 0xc2, 0xfe, //0x00001b44 addq $-2, %r10 + 0x48, 0x89, 0xc8, //0x00001b48 movq %rcx, %rax + //0x00001b4b LBB0_350 + 0x48, 0x8d, 0x4c, 0x24, 0x40, //0x00001b4b leaq $64(%rsp), %rcx + 0x48, 0x89, 0x0c, 0x24, //0x00001b50 movq %rcx, (%rsp) + 0x4d, 0x85, 0xd2, //0x00001b54 testq %r10, %r10 + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00001b57 je LBB0_327 + 0x8a, 0x00, //0x00001b5d movb (%rax), %al + 0x41, 0x88, 0x01, //0x00001b5f movb %al, (%r9) + 0x48, 0x8d, 0x44, 0x24, 0x40, //0x00001b62 leaq $64(%rsp), %rax + 0x48, 0x89, 0x04, 0x24, //0x00001b67 movq %rax, (%rsp) + //0x00001b6b LBB0_327 + 0x48, 0x8b, 0x04, 0x24, //0x00001b6b movq (%rsp), %rax + 0xc5, 0x7e, 0x6f, 0x38, //0x00001b6f vmovdqu (%rax), %ymm15 + 0xc5, 0x7e, 0x6f, 0x70, 0x20, //0x00001b73 vmovdqu $32(%rax), %ymm14 + 0xc5, 0x85, 0x74, 0xf1, //0x00001b78 vpcmpeqb %ymm1, %ymm15, %ymm6 + 0xc5, 0x7d, 0xd7, 0xce, //0x00001b7c vpmovmskb %ymm6, %r9d + 0xc5, 0x8d, 0x74, 0xf1, //0x00001b80 vpcmpeqb %ymm1, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00001b84 vpmovmskb %ymm6, %eax + 0x48, 0xc1, 0xe0, 0x20, //0x00001b88 shlq $32, %rax + 0x49, 0x09, 0xc1, //0x00001b8c orq %rax, %r9 + 0xc5, 0x85, 0x74, 0xf2, //0x00001b8f vpcmpeqb %ymm2, %ymm15, %ymm6 + 0xc5, 0xfd, 0xd7, 0xfe, //0x00001b93 vpmovmskb %ymm6, %edi + 0xc5, 0x8d, 0x74, 0xf2, //0x00001b97 vpcmpeqb %ymm2, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00001b9b vpmovmskb %ymm6, %eax + 0x48, 0xc1, 0xe0, 0x20, //0x00001b9f shlq $32, %rax + 0x48, 0x09, 0xc7, //0x00001ba3 orq %rax, %rdi + 0x48, 0x89, 0xf8, //0x00001ba6 movq %rdi, %rax + 0x4c, 0x09, 0xf0, //0x00001ba9 orq %r14, %rax + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x00001bac je LBB0_329 + 0x4c, 0x89, 0xf0, //0x00001bb2 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00001bb5 notq %rax + 0x48, 0x21, 0xf8, //0x00001bb8 andq %rdi, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00001bbb leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xf1, //0x00001bbf orq %r14, %rcx + 0x48, 0x89, 0xcb, //0x00001bc2 movq %rcx, %rbx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001bc5 movabsq $-6148914691236517206, %rsi + 0x48, 0x31, 0xf3, //0x00001bcf xorq %rsi, %rbx + 0x48, 0x21, 0xf7, //0x00001bd2 andq %rsi, %rdi + 0x48, 0x21, 0xdf, //0x00001bd5 andq %rbx, %rdi + 0x45, 0x31, 0xf6, //0x00001bd8 xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x00001bdb addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x00001bde setb %r14b + 0x48, 0x01, 0xff, //0x00001be2 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001be5 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00001bef xorq %rax, %rdi + 0x48, 0x21, 0xcf, //0x00001bf2 andq %rcx, %rdi + 0x48, 0xf7, 0xd7, //0x00001bf5 notq %rdi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00001bf8 jmp LBB0_330 + //0x00001bfd LBB0_329 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00001bfd movq $-1, %rdi + 0x45, 0x31, 0xf6, //0x00001c04 xorl %r14d, %r14d + //0x00001c07 LBB0_330 + 0x4c, 0x21, 0xcf, //0x00001c07 andq %r9, %rdi + 0xc4, 0xe1, 0xf9, 0x6e, 0xf7, //0x00001c0a vmovq %rdi, %xmm6 + 0xc4, 0xc3, 0x49, 0x44, 0xf1, 0x00, //0x00001c0f vpclmulqdq $0, %xmm9, %xmm6, %xmm6 + 0xc4, 0xe1, 0xf9, 0x7e, 0xf7, //0x00001c15 vmovq %xmm6, %rdi + 0x4c, 0x31, 0xc7, //0x00001c1a xorq %r8, %rdi + 0xc4, 0xc1, 0x05, 0x74, 0xf5, //0x00001c1d vpcmpeqb %ymm13, %ymm15, %ymm6 + 0xc5, 0xfd, 0xd7, 0xf6, //0x00001c22 vpmovmskb %ymm6, %esi + 0xc4, 0xc1, 0x0d, 0x74, 0xf5, //0x00001c26 vpcmpeqb %ymm13, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00001c2b vpmovmskb %ymm6, %eax + 0x48, 0xc1, 0xe0, 0x20, //0x00001c2f shlq $32, %rax + 0x48, 0x09, 0xc6, //0x00001c33 orq %rax, %rsi + 0x48, 0x89, 0xf9, //0x00001c36 movq %rdi, %rcx + 0x48, 0xf7, 0xd1, //0x00001c39 notq %rcx + 0x48, 0x21, 0xce, //0x00001c3c andq %rcx, %rsi + 0xc5, 0x85, 0x74, 0xf5, //0x00001c3f vpcmpeqb %ymm5, %ymm15, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00001c43 vpmovmskb %ymm6, %eax + 0xc5, 0x8d, 0x74, 0xf5, //0x00001c47 vpcmpeqb %ymm5, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xde, //0x00001c4b vpmovmskb %ymm6, %ebx + 0x48, 0xc1, 0xe3, 0x20, //0x00001c4f shlq $32, %rbx + 0x48, 0x09, 0xd8, //0x00001c53 orq %rbx, %rax + 0x48, 0x21, 0xc8, //0x00001c56 andq %rcx, %rax + 0x0f, 0x84, 0x3d, 0x00, 0x00, 0x00, //0x00001c59 je LBB0_334 + 0x4c, 0x8b, 0x04, 0x24, //0x00001c5f movq (%rsp), %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001c63 .p2align 4, 0x90 + //0x00001c70 LBB0_332 + 0x48, 0x8d, 0x58, 0xff, //0x00001c70 leaq $-1(%rax), %rbx + 0x48, 0x89, 0xd9, //0x00001c74 movq %rbx, %rcx + 0x48, 0x21, 0xf1, //0x00001c77 andq %rsi, %rcx + 0xf3, 0x48, 0x0f, 0xb8, 0xc9, //0x00001c7a popcntq %rcx, %rcx + 0x4c, 0x01, 0xf9, //0x00001c7f addq %r15, %rcx + 0x48, 0x39, 0xd1, //0x00001c82 cmpq %rdx, %rcx + 0x0f, 0x86, 0x3f, 0x00, 0x00, 0x00, //0x00001c85 jbe LBB0_352 + 0x48, 0xff, 0xc2, //0x00001c8b incq %rdx + 0x48, 0x21, 0xd8, //0x00001c8e andq %rbx, %rax + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00001c91 jne LBB0_332 + 0xe9, 0x04, 0x00, 0x00, 0x00, //0x00001c97 jmp LBB0_335 + //0x00001c9c LBB0_334 + 0x4c, 0x8b, 0x04, 0x24, //0x00001c9c movq (%rsp), %r8 + //0x00001ca0 LBB0_335 + 0x48, 0xc1, 0xff, 0x3f, //0x00001ca0 sarq $63, %rdi + 0xf3, 0x48, 0x0f, 0xb8, 0xc6, //0x00001ca4 popcntq %rsi, %rax + 0x49, 0x01, 0xc7, //0x00001ca9 addq %rax, %r15 + 0x49, 0x83, 0xc0, 0x40, //0x00001cac addq $64, %r8 + 0x4c, 0x89, 0x04, 0x24, //0x00001cb0 movq %r8, (%rsp) + 0x49, 0x83, 0xc3, 0xc0, //0x00001cb4 addq $-64, %r11 + 0x49, 0x89, 0xf8, //0x00001cb8 movq %rdi, %r8 + 0x49, 0x83, 0xfb, 0x40, //0x00001cbb cmpq $64, %r11 + 0x0f, 0x8d, 0xa6, 0xfe, 0xff, 0xff, //0x00001cbf jge LBB0_327 + 0xe9, 0x65, 0xfd, 0xff, 0xff, //0x00001cc5 jmp LBB0_336 + //0x00001cca LBB0_352 + 0x48, 0x8b, 0x54, 0x24, 0x18, //0x00001cca movq $24(%rsp), %rdx + 0x48, 0x8b, 0x0a, //0x00001ccf movq (%rdx), %rcx + 0x48, 0x0f, 0xbc, 0xc0, //0x00001cd2 bsfq %rax, %rax + 0x4c, 0x29, 0xd8, //0x00001cd6 subq %r11, %rax + 0x49, 0x89, 0xd3, //0x00001cd9 movq %rdx, %r11 + 0x4c, 0x8d, 0x54, 0x08, 0x01, //0x00001cdc leaq $1(%rax,%rcx), %r10 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00001ce1 movq $8(%rsp), %r14 + 0x4d, 0x89, 0x16, //0x00001ce6 movq %r10, (%r14) + 0x48, 0x8b, 0x02, //0x00001ce9 movq (%rdx), %rax + 0x49, 0x39, 0xc2, //0x00001cec cmpq %rax, %r10 + 0x4c, 0x0f, 0x47, 0xd0, //0x00001cef cmovaq %rax, %r10 + //0x00001cf3 LBB0_353 + 0x4d, 0x89, 0x16, //0x00001cf3 movq %r10, (%r14) + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00001cf6 movq $16(%rsp), %r15 + 0xe9, 0x46, 0xfb, 0xff, 0xff, //0x00001cfb jmp LBB0_294 + //0x00001d00 LBB0_354 + 0x49, 0x0f, 0xbc, 0xcb, //0x00001d00 bsfq %r11, %rcx + 0x49, 0x01, 0xc9, //0x00001d04 addq %rcx, %r9 + 0x49, 0x01, 0xc1, //0x00001d07 addq %rax, %r9 + 0x4c, 0x2b, 0x0c, 0x24, //0x00001d0a subq (%rsp), %r9 + 0x49, 0x83, 0xc1, 0x02, //0x00001d0e addq $2, %r9 + 0x4d, 0x89, 0x0e, //0x00001d12 movq %r9, (%r14) + 0x4d, 0x89, 0xca, //0x00001d15 movq %r9, %r10 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00001d18 movq $24(%rsp), %r11 + 0xe9, 0x24, 0xfb, 0xff, 0xff, //0x00001d1d jmp LBB0_294 + //0x00001d22 LBB0_355 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00001d22 movq $-2, %rdx + 0xbe, 0x02, 0x00, 0x00, 0x00, //0x00001d29 movl $2, %esi + 0x48, 0x01, 0xf1, //0x00001d2e addq %rsi, %rcx + 0x48, 0x01, 0xd0, //0x00001d31 addq %rdx, %rax + 0x0f, 0x8e, 0x0c, 0xfb, 0xff, 0xff, //0x00001d34 jle LBB0_294 + //0x00001d3a LBB0_356 + 0x0f, 0xb6, 0x11, //0x00001d3a movzbl (%rcx), %edx + 0x80, 0xfa, 0x5c, //0x00001d3d cmpb $92, %dl + 0x0f, 0x84, 0xdc, 0xff, 0xff, 0xff, //0x00001d40 je LBB0_355 + 0x80, 0xfa, 0x22, //0x00001d46 cmpb $34, %dl + 0x0f, 0x84, 0x6b, 0x00, 0x00, 0x00, //0x00001d49 je LBB0_363 + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00001d4f movq $-1, %rdx + 0xbe, 0x01, 0x00, 0x00, 0x00, //0x00001d56 movl $1, %esi + 0x48, 0x01, 0xf1, //0x00001d5b addq %rsi, %rcx + 0x48, 0x01, 0xd0, //0x00001d5e addq %rdx, %rax + 0x0f, 0x8f, 0xd3, 0xff, 0xff, 0xff, //0x00001d61 jg LBB0_356 + 0xe9, 0xda, 0xfa, 0xff, 0xff, //0x00001d67 jmp LBB0_294 + //0x00001d6c LBB0_359 + 0x0f, 0xb7, 0xc6, //0x00001d6c movzwl %si, %eax + 0xe9, 0xff, 0xf6, 0xff, 0xff, //0x00001d6f jmp LBB0_252 + //0x00001d74 LBB0_360 + 0x4c, 0x89, 0xc1, //0x00001d74 movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x00001d77 notq %rcx + 0x48, 0x01, 0xc8, //0x00001d7a addq %rcx, %rax + 0x48, 0x39, 0xd0, //0x00001d7d cmpq %rdx, %rax + 0x0f, 0x82, 0x92, 0xf3, 0xff, 0xff, //0x00001d80 jb LBB0_197 + 0xe9, 0x66, 0x15, 0x00, 0x00, //0x00001d86 jmp LBB0_657 + //0x00001d8b LBB0_361 + 0x4c, 0x89, 0xc2, //0x00001d8b movq %r8, %rdx + 0x48, 0xf7, 0xd2, //0x00001d8e notq %rdx + 0x48, 0x01, 0xd1, //0x00001d91 addq %rdx, %rcx + 0x48, 0x39, 0xc1, //0x00001d94 cmpq %rax, %rcx + 0x0f, 0x82, 0x5b, 0xfc, 0xff, 0xff, //0x00001d97 jb LBB0_325 + 0xe9, 0x4f, 0x15, 0x00, 0x00, //0x00001d9d jmp LBB0_657 + //0x00001da2 LBB0_362 + 0x48, 0x8b, 0x04, 0x24, //0x00001da2 movq (%rsp), %rax + 0x48, 0xf7, 0xd0, //0x00001da6 notq %rax + 0x48, 0x01, 0xc1, //0x00001da9 addq %rax, %rcx + 0x4c, 0x39, 0xc1, //0x00001dac cmpq %r8, %rcx + 0x0f, 0x82, 0x64, 0xf5, 0xff, 0xff, //0x00001daf jb LBB0_230 + 0xe9, 0x8c, 0xfa, 0xff, 0xff, //0x00001db5 jmp LBB0_294 + //0x00001dba LBB0_363 + 0x48, 0x29, 0xf9, //0x00001dba subq %rdi, %rcx + 0x48, 0xff, 0xc1, //0x00001dbd incq %rcx + 0xe9, 0x7b, 0xfa, 0xff, 0xff, //0x00001dc0 jmp LBB0_293 + //0x00001dc5 LBB0_364 + 0x45, 0x31, 0xc9, //0x00001dc5 xorl %r9d, %r9d + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00001dc8 movq $16(%rsp), %r15 + 0xe9, 0xb7, 0xf1, 0xff, 0xff, //0x00001dcd jmp LBB0_170 + //0x00001dd2 LBB0_365 + 0x48, 0x8b, 0x0c, 0x24, //0x00001dd2 movq (%rsp), %rcx + 0x4c, 0x01, 0xd1, //0x00001dd6 addq %r10, %rcx + 0xe9, 0x81, 0xf7, 0xff, 0xff, //0x00001dd9 jmp LBB0_264 + //0x00001dde LBB0_366 + 0x49, 0x89, 0xfe, //0x00001dde movq %rdi, %r14 + 0x48, 0x83, 0x7c, 0x24, 0x38, 0xff, //0x00001de1 cmpq $-1, $56(%rsp) + 0x0f, 0x85, 0x1b, 0x00, 0x00, 0x00, //0x00001de7 jne LBB0_369 + 0x4c, 0x89, 0xf7, //0x00001ded movq %r14, %rdi + 0x48, 0x2b, 0x3c, 0x24, //0x00001df0 subq (%rsp), %rdi + 0x4c, 0x0f, 0xbc, 0xfe, //0x00001df4 bsfq %rsi, %r15 + 0x49, 0x01, 0xff, //0x00001df8 addq %rdi, %r15 + 0x4c, 0x89, 0x7c, 0x24, 0x38, //0x00001dfb movq %r15, $56(%rsp) + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00001e00 jmp LBB0_369 + //0x00001e05 LBB0_368 + 0x49, 0x89, 0xfe, //0x00001e05 movq %rdi, %r14 + //0x00001e08 LBB0_369 + 0x41, 0x89, 0xdb, //0x00001e08 movl %ebx, %r11d + 0x41, 0xf7, 0xd3, //0x00001e0b notl %r11d + 0x41, 0x21, 0xf3, //0x00001e0e andl %esi, %r11d + 0x47, 0x8d, 0x14, 0x1b, //0x00001e11 leal (%r11,%r11), %r10d + 0x41, 0x09, 0xda, //0x00001e15 orl %ebx, %r10d + 0x44, 0x89, 0xd7, //0x00001e18 movl %r10d, %edi + 0xf7, 0xd7, //0x00001e1b notl %edi + 0x21, 0xf7, //0x00001e1d andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001e1f andl $-1431655766, %edi + 0x31, 0xdb, //0x00001e25 xorl %ebx, %ebx + 0x44, 0x01, 0xdf, //0x00001e27 addl %r11d, %edi + 0x0f, 0x92, 0xc3, //0x00001e2a setb %bl + 0x01, 0xff, //0x00001e2d addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00001e2f xorl $1431655765, %edi + 0x44, 0x21, 0xd7, //0x00001e35 andl %r10d, %edi + 0xbe, 0xff, 0xff, 0xff, 0xff, //0x00001e38 movl $4294967295, %esi + 0x31, 0xfe, //0x00001e3d xorl %edi, %esi + 0x41, 0x21, 0xf0, //0x00001e3f andl %esi, %r8d + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00001e42 movq $24(%rsp), %r11 + 0x4c, 0x89, 0xf7, //0x00001e47 movq %r14, %rdi + 0x4d, 0x85, 0xc0, //0x00001e4a testq %r8, %r8 + 0x0f, 0x85, 0x59, 0xed, 0xff, 0xff, //0x00001e4d jne LBB0_83 + //0x00001e53 LBB0_370 + 0x48, 0x83, 0xc7, 0x20, //0x00001e53 addq $32, %rdi + 0x48, 0x83, 0xc0, 0xe0, //0x00001e57 addq $-32, %rax + //0x00001e5b LBB0_371 + 0x48, 0x85, 0xdb, //0x00001e5b testq %rbx, %rbx + 0x4c, 0x8b, 0x04, 0x24, //0x00001e5e movq (%rsp), %r8 + 0x0f, 0x85, 0x8c, 0x00, 0x00, 0x00, //0x00001e62 jne LBB0_380 + 0x48, 0x85, 0xc0, //0x00001e68 testq %rax, %rax + 0x0f, 0x84, 0xc9, 0x36, 0x00, 0x00, //0x00001e6b je LBB0_1094 + //0x00001e71 LBB0_373 + 0x4d, 0x89, 0xc6, //0x00001e71 movq %r8, %r14 + 0x49, 0xf7, 0xd6, //0x00001e74 notq %r14 + //0x00001e77 LBB0_374 + 0x4c, 0x8d, 0x57, 0x01, //0x00001e77 leaq $1(%rdi), %r10 + 0x0f, 0xb6, 0x1f, //0x00001e7b movzbl (%rdi), %ebx + 0x80, 0xfb, 0x22, //0x00001e7e cmpb $34, %bl + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x00001e81 je LBB0_379 + 0x48, 0x8d, 0x70, 0xff, //0x00001e87 leaq $-1(%rax), %rsi + 0x80, 0xfb, 0x5c, //0x00001e8b cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001e8e je LBB0_377 + 0x48, 0x89, 0xf0, //0x00001e94 movq %rsi, %rax + 0x4c, 0x89, 0xd7, //0x00001e97 movq %r10, %rdi + 0x48, 0x85, 0xf6, //0x00001e9a testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00001e9d jne LBB0_374 + 0xe9, 0x92, 0x36, 0x00, 0x00, //0x00001ea3 jmp LBB0_1094 + //0x00001ea8 LBB0_377 + 0x48, 0x85, 0xf6, //0x00001ea8 testq %rsi, %rsi + 0x0f, 0x84, 0x89, 0x36, 0x00, 0x00, //0x00001eab je LBB0_1094 + 0x4d, 0x01, 0xf2, //0x00001eb1 addq %r14, %r10 + 0x48, 0x8b, 0x74, 0x24, 0x38, //0x00001eb4 movq $56(%rsp), %rsi + 0x48, 0x83, 0xfe, 0xff, //0x00001eb9 cmpq $-1, %rsi + 0x4d, 0x0f, 0x44, 0xfa, //0x00001ebd cmoveq %r10, %r15 + 0x49, 0x0f, 0x44, 0xf2, //0x00001ec1 cmoveq %r10, %rsi + 0x48, 0x89, 0x74, 0x24, 0x38, //0x00001ec5 movq %rsi, $56(%rsp) + 0x48, 0x83, 0xc7, 0x02, //0x00001eca addq $2, %rdi + 0x48, 0x83, 0xc0, 0xfe, //0x00001ece addq $-2, %rax + 0x48, 0x89, 0xc6, //0x00001ed2 movq %rax, %rsi + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00001ed5 movq $24(%rsp), %r11 + 0x4c, 0x8b, 0x04, 0x24, //0x00001eda movq (%rsp), %r8 + 0x48, 0x85, 0xf6, //0x00001ede testq %rsi, %rsi + 0x0f, 0x85, 0x90, 0xff, 0xff, 0xff, //0x00001ee1 jne LBB0_374 + 0xe9, 0x4e, 0x36, 0x00, 0x00, //0x00001ee7 jmp LBB0_1094 + //0x00001eec LBB0_379 + 0x4d, 0x29, 0xc2, //0x00001eec subq %r8, %r10 + 0xe9, 0xa6, 0xe9, 0xff, 0xff, //0x00001eef jmp LBB0_87 + //0x00001ef4 LBB0_380 + 0x48, 0x85, 0xc0, //0x00001ef4 testq %rax, %rax + 0x0f, 0x84, 0x3d, 0x36, 0x00, 0x00, //0x00001ef7 je LBB0_1094 + 0x4c, 0x8b, 0x04, 0x24, //0x00001efd movq (%rsp), %r8 + 0x4c, 0x89, 0xc6, //0x00001f01 movq %r8, %rsi + 0x48, 0xf7, 0xd6, //0x00001f04 notq %rsi + 0x48, 0x01, 0xfe, //0x00001f07 addq %rdi, %rsi + 0x48, 0x8b, 0x5c, 0x24, 0x38, //0x00001f0a movq $56(%rsp), %rbx + 0x48, 0x83, 0xfb, 0xff, //0x00001f0f cmpq $-1, %rbx + 0x4c, 0x0f, 0x44, 0xfe, //0x00001f13 cmoveq %rsi, %r15 + 0x48, 0x0f, 0x44, 0xde, //0x00001f17 cmoveq %rsi, %rbx + 0x48, 0x89, 0x5c, 0x24, 0x38, //0x00001f1b movq %rbx, $56(%rsp) + 0x48, 0xff, 0xc7, //0x00001f20 incq %rdi + 0x48, 0xff, 0xc8, //0x00001f23 decq %rax + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00001f26 movq $24(%rsp), %r11 + 0x48, 0x85, 0xc0, //0x00001f2b testq %rax, %rax + 0x0f, 0x85, 0x3d, 0xff, 0xff, 0xff, //0x00001f2e jne LBB0_373 + 0xe9, 0x01, 0x36, 0x00, 0x00, //0x00001f34 jmp LBB0_1094 + //0x00001f39 LBB0_382 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00001f39 movq $24(%rsp), %r11 + 0x4d, 0x8b, 0x13, //0x00001f3e movq (%r11), %r10 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00001f41 movq $8(%rsp), %r14 + 0xe9, 0xa8, 0xfd, 0xff, 0xff, //0x00001f46 jmp LBB0_353 + //0x00001f4b LBB0_383 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00001f4b movq $24(%rsp), %r11 + 0xe9, 0xf1, 0xf8, 0xff, 0xff, //0x00001f50 jmp LBB0_294 + //0x00001f55 LBB0_384 + 0x49, 0x8d, 0x48, 0xff, //0x00001f55 leaq $-1(%r8), %rcx + 0x48, 0x39, 0xc1, //0x00001f59 cmpq %rax, %rcx + 0x0f, 0x85, 0x0a, 0x00, 0x00, 0x00, //0x00001f5c jne LBB0_386 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00001f62 movq $8(%rsp), %r14 + 0xe9, 0xf3, 0xf4, 0xff, 0xff, //0x00001f67 jmp LBB0_250 + //0x00001f6c LBB0_386 + 0x4a, 0x8d, 0x4c, 0x08, 0x02, //0x00001f6c leaq $2(%rax,%r9), %rcx + 0x49, 0x29, 0xc0, //0x00001f71 subq %rax, %r8 + 0x49, 0x83, 0xc0, 0xfe, //0x00001f74 addq $-2, %r8 + 0x4c, 0x89, 0xc0, //0x00001f78 movq %r8, %rax + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00001f7b movq $8(%rsp), %r14 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00001f80 movq $16(%rsp), %r15 + 0xe9, 0xd5, 0xf5, 0xff, 0xff, //0x00001f85 jmp LBB0_264 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001f8a .p2align 4, 0x90 + //0x00001f90 LBB0_387 + 0x80, 0xf9, 0x5b, //0x00001f90 cmpb $91, %cl + 0x0f, 0x85, 0x58, 0x13, 0x00, 0x00, //0x00001f93 jne LBB0_657 + 0x49, 0x8b, 0x45, 0x08, //0x00001f99 movq $8(%r13), %rax + 0x4c, 0x8b, 0x08, //0x00001f9d movq (%rax), %r9 + 0x4d, 0x85, 0xc9, //0x00001fa0 testq %r9, %r9 + 0x0f, 0x88, 0x5c, 0x11, 0x00, 0x00, //0x00001fa3 js LBB0_628 + 0x49, 0x8b, 0x03, //0x00001fa9 movq (%r11), %rax + 0x49, 0x39, 0xc2, //0x00001fac cmpq %rax, %r10 + 0x0f, 0x83, 0x2b, 0x00, 0x00, 0x00, //0x00001faf jae LBB0_394 + 0x43, 0x8a, 0x0c, 0x10, //0x00001fb5 movb (%r8,%r10), %cl + 0x80, 0xf9, 0x0d, //0x00001fb9 cmpb $13, %cl + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x00001fbc je LBB0_394 + 0x80, 0xf9, 0x20, //0x00001fc2 cmpb $32, %cl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00001fc5 je LBB0_394 + 0x80, 0xc1, 0xf7, //0x00001fcb addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00001fce cmpb $1, %cl + 0x0f, 0x86, 0x09, 0x00, 0x00, 0x00, //0x00001fd1 jbe LBB0_394 + 0x4c, 0x89, 0xd1, //0x00001fd7 movq %r10, %rcx + 0xe9, 0x7a, 0x01, 0x00, 0x00, //0x00001fda jmp LBB0_421 + 0x90, //0x00001fdf .p2align 4, 0x90 + //0x00001fe0 LBB0_394 + 0x49, 0x8d, 0x4a, 0x01, //0x00001fe0 leaq $1(%r10), %rcx + 0x48, 0x39, 0xc1, //0x00001fe4 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00001fe7 jae LBB0_398 + 0x41, 0x8a, 0x14, 0x08, //0x00001fed movb (%r8,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x00001ff1 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00001ff4 je LBB0_398 + 0x80, 0xfa, 0x20, //0x00001ffa cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x00001ffd je LBB0_398 + 0x80, 0xc2, 0xf7, //0x00002003 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00002006 cmpb $1, %dl + 0x0f, 0x87, 0x4a, 0x01, 0x00, 0x00, //0x00002009 ja LBB0_421 + 0x90, //0x0000200f .p2align 4, 0x90 + //0x00002010 LBB0_398 + 0x49, 0x8d, 0x4a, 0x02, //0x00002010 leaq $2(%r10), %rcx + 0x48, 0x39, 0xc1, //0x00002014 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002017 jae LBB0_402 + 0x41, 0x8a, 0x14, 0x08, //0x0000201d movb (%r8,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x00002021 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00002024 je LBB0_402 + 0x80, 0xfa, 0x20, //0x0000202a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000202d je LBB0_402 + 0x80, 0xc2, 0xf7, //0x00002033 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00002036 cmpb $1, %dl + 0x0f, 0x87, 0x1a, 0x01, 0x00, 0x00, //0x00002039 ja LBB0_421 + 0x90, //0x0000203f .p2align 4, 0x90 + //0x00002040 LBB0_402 + 0x49, 0x8d, 0x4a, 0x03, //0x00002040 leaq $3(%r10), %rcx + 0x48, 0x39, 0xc1, //0x00002044 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002047 jae LBB0_406 + 0x41, 0x8a, 0x14, 0x08, //0x0000204d movb (%r8,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x00002051 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00002054 je LBB0_406 + 0x80, 0xfa, 0x20, //0x0000205a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000205d je LBB0_406 + 0x80, 0xc2, 0xf7, //0x00002063 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00002066 cmpb $1, %dl + 0x0f, 0x87, 0xea, 0x00, 0x00, 0x00, //0x00002069 ja LBB0_421 + 0x90, //0x0000206f .p2align 4, 0x90 + //0x00002070 LBB0_406 + 0x49, 0x8d, 0x4a, 0x04, //0x00002070 leaq $4(%r10), %rcx + 0x48, 0x89, 0xc2, //0x00002074 movq %rax, %rdx + 0x48, 0x29, 0xca, //0x00002077 subq %rcx, %rdx + 0x0f, 0x86, 0xb6, 0x00, 0x00, 0x00, //0x0000207a jbe LBB0_419 + 0x4c, 0x01, 0xc1, //0x00002080 addq %r8, %rcx + 0x48, 0x83, 0xfa, 0x20, //0x00002083 cmpq $32, %rdx + 0x0f, 0x82, 0x55, 0x00, 0x00, 0x00, //0x00002087 jb LBB0_412 + 0x48, 0x89, 0xc6, //0x0000208d movq %rax, %rsi + 0x4c, 0x29, 0xd6, //0x00002090 subq %r10, %rsi + 0x48, 0x83, 0xc6, 0xdc, //0x00002093 addq $-36, %rsi + 0x48, 0x89, 0xf7, //0x00002097 movq %rsi, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x0000209a andq $-32, %rdi + 0x4c, 0x01, 0xd7, //0x0000209e addq %r10, %rdi + 0x49, 0x8d, 0x7c, 0x38, 0x24, //0x000020a1 leaq $36(%r8,%rdi), %rdi + 0x83, 0xe6, 0x1f, //0x000020a6 andl $31, %esi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000020a9 .p2align 4, 0x90 + //0x000020b0 LBB0_409 + 0xc5, 0xfe, 0x6f, 0x31, //0x000020b0 vmovdqu (%rcx), %ymm6 + 0xc4, 0xe2, 0x7d, 0x00, 0xfe, //0x000020b4 vpshufb %ymm6, %ymm0, %ymm7 + 0xc5, 0xcd, 0x74, 0xf7, //0x000020b9 vpcmpeqb %ymm7, %ymm6, %ymm6 + 0xc5, 0xfd, 0xd7, 0xde, //0x000020bd vpmovmskb %ymm6, %ebx + 0x83, 0xfb, 0xff, //0x000020c1 cmpl $-1, %ebx + 0x0f, 0x85, 0x77, 0x00, 0x00, 0x00, //0x000020c4 jne LBB0_420 + 0x48, 0x83, 0xc1, 0x20, //0x000020ca addq $32, %rcx + 0x48, 0x83, 0xc2, 0xe0, //0x000020ce addq $-32, %rdx + 0x48, 0x83, 0xfa, 0x1f, //0x000020d2 cmpq $31, %rdx + 0x0f, 0x87, 0xd4, 0xff, 0xff, 0xff, //0x000020d6 ja LBB0_409 + 0x48, 0x89, 0xf2, //0x000020dc movq %rsi, %rdx + 0x48, 0x89, 0xf9, //0x000020df movq %rdi, %rcx + //0x000020e2 LBB0_412 + 0x48, 0x85, 0xd2, //0x000020e2 testq %rdx, %rdx + 0x0f, 0x84, 0x3a, 0x00, 0x00, 0x00, //0x000020e5 je LBB0_418 + 0x48, 0x8d, 0x34, 0x11, //0x000020eb leaq (%rcx,%rdx), %rsi + 0x48, 0xff, 0xc1, //0x000020ef incq %rcx + //0x000020f2 LBB0_414 + 0x0f, 0xbe, 0x79, 0xff, //0x000020f2 movsbl $-1(%rcx), %edi + 0x83, 0xff, 0x20, //0x000020f6 cmpl $32, %edi + 0x0f, 0x87, 0xbd, 0x0d, 0x00, 0x00, //0x000020f9 ja LBB0_594 + 0x48, 0xbb, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000020ff movabsq $4294977024, %rbx + 0x48, 0x0f, 0xa3, 0xfb, //0x00002109 btq %rdi, %rbx + 0x0f, 0x83, 0xa9, 0x0d, 0x00, 0x00, //0x0000210d jae LBB0_594 + 0x48, 0xff, 0xca, //0x00002113 decq %rdx + 0x48, 0xff, 0xc1, //0x00002116 incq %rcx + 0x48, 0x85, 0xd2, //0x00002119 testq %rdx, %rdx + 0x0f, 0x85, 0xd0, 0xff, 0xff, 0xff, //0x0000211c jne LBB0_414 + 0x48, 0x89, 0xf1, //0x00002122 movq %rsi, %rcx + //0x00002125 LBB0_418 + 0x4c, 0x29, 0xc1, //0x00002125 subq %r8, %rcx + 0x48, 0x39, 0xc1, //0x00002128 cmpq %rax, %rcx + 0x0f, 0x82, 0x28, 0x00, 0x00, 0x00, //0x0000212b jb LBB0_421 + 0xe9, 0x35, 0x00, 0x00, 0x00, //0x00002131 jmp LBB0_422 + //0x00002136 LBB0_419 + 0x49, 0x89, 0x0e, //0x00002136 movq %rcx, (%r14) + 0x49, 0x89, 0xca, //0x00002139 movq %rcx, %r10 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x0000213c jmp LBB0_422 + //0x00002141 LBB0_420 + 0x4c, 0x29, 0xc1, //0x00002141 subq %r8, %rcx + 0xf7, 0xd3, //0x00002144 notl %ebx + 0x48, 0x63, 0xd3, //0x00002146 movslq %ebx, %rdx + 0x48, 0x0f, 0xbc, 0xd2, //0x00002149 bsfq %rdx, %rdx + 0x48, 0x01, 0xd1, //0x0000214d addq %rdx, %rcx + 0x48, 0x39, 0xc1, //0x00002150 cmpq %rax, %rcx + 0x0f, 0x83, 0x12, 0x00, 0x00, 0x00, //0x00002153 jae LBB0_422 + //0x00002159 LBB0_421 + 0x4c, 0x8d, 0x51, 0x01, //0x00002159 leaq $1(%rcx), %r10 + 0x4d, 0x89, 0x16, //0x0000215d movq %r10, (%r14) + 0x41, 0x80, 0x3c, 0x08, 0x5d, //0x00002160 cmpb $93, (%r8,%rcx) + 0x0f, 0x84, 0xb7, 0x0f, 0x00, 0x00, //0x00002165 je LBB0_631 + //0x0000216b LBB0_422 + 0x49, 0xff, 0xca, //0x0000216b decq %r10 + 0x4d, 0x89, 0x16, //0x0000216e movq %r10, (%r14) + 0x4d, 0x85, 0xc9, //0x00002171 testq %r9, %r9 + 0x0f, 0x8e, 0x06, 0x0d, 0x00, 0x00, //0x00002174 jle LBB0_524 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000217a .p2align 4, 0x90 + //0x00002180 LBB0_423 + 0x49, 0x8b, 0x0b, //0x00002180 movq (%r11), %rcx + 0x49, 0x39, 0xca, //0x00002183 cmpq %rcx, %r10 + 0x0f, 0x83, 0x34, 0x00, 0x00, 0x00, //0x00002186 jae LBB0_428 + 0x43, 0x8a, 0x04, 0x10, //0x0000218c movb (%r8,%r10), %al + 0x3c, 0x0d, //0x00002190 cmpb $13, %al + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x00002192 je LBB0_428 + 0x3c, 0x20, //0x00002198 cmpb $32, %al + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x0000219a je LBB0_428 + 0x04, 0xf7, //0x000021a0 addb $-9, %al + 0x3c, 0x01, //0x000021a2 cmpb $1, %al + 0x0f, 0x86, 0x16, 0x00, 0x00, 0x00, //0x000021a4 jbe LBB0_428 + 0x4c, 0x89, 0xd0, //0x000021aa movq %r10, %rax + 0xe9, 0x86, 0x01, 0x00, 0x00, //0x000021ad jmp LBB0_454 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000021b2 .p2align 4, 0x90 + //0x000021c0 LBB0_428 + 0x49, 0x8d, 0x42, 0x01, //0x000021c0 leaq $1(%r10), %rax + 0x48, 0x39, 0xc8, //0x000021c4 cmpq %rcx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000021c7 jae LBB0_432 + 0x41, 0x8a, 0x14, 0x00, //0x000021cd movb (%r8,%rax), %dl + 0x80, 0xfa, 0x0d, //0x000021d1 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000021d4 je LBB0_432 + 0x80, 0xfa, 0x20, //0x000021da cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x000021dd je LBB0_432 + 0x80, 0xc2, 0xf7, //0x000021e3 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000021e6 cmpb $1, %dl + 0x0f, 0x87, 0x49, 0x01, 0x00, 0x00, //0x000021e9 ja LBB0_454 + 0x90, //0x000021ef .p2align 4, 0x90 + //0x000021f0 LBB0_432 + 0x49, 0x8d, 0x42, 0x02, //0x000021f0 leaq $2(%r10), %rax + 0x48, 0x39, 0xc8, //0x000021f4 cmpq %rcx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000021f7 jae LBB0_436 + 0x41, 0x8a, 0x14, 0x00, //0x000021fd movb (%r8,%rax), %dl + 0x80, 0xfa, 0x0d, //0x00002201 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00002204 je LBB0_436 + 0x80, 0xfa, 0x20, //0x0000220a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000220d je LBB0_436 + 0x80, 0xc2, 0xf7, //0x00002213 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00002216 cmpb $1, %dl + 0x0f, 0x87, 0x19, 0x01, 0x00, 0x00, //0x00002219 ja LBB0_454 + 0x90, //0x0000221f .p2align 4, 0x90 + //0x00002220 LBB0_436 + 0x49, 0x8d, 0x42, 0x03, //0x00002220 leaq $3(%r10), %rax + 0x48, 0x39, 0xc8, //0x00002224 cmpq %rcx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002227 jae LBB0_440 + 0x41, 0x8a, 0x14, 0x00, //0x0000222d movb (%r8,%rax), %dl + 0x80, 0xfa, 0x0d, //0x00002231 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00002234 je LBB0_440 + 0x80, 0xfa, 0x20, //0x0000223a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000223d je LBB0_440 + 0x80, 0xc2, 0xf7, //0x00002243 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00002246 cmpb $1, %dl + 0x0f, 0x87, 0xe9, 0x00, 0x00, 0x00, //0x00002249 ja LBB0_454 + 0x90, //0x0000224f .p2align 4, 0x90 + //0x00002250 LBB0_440 + 0x49, 0x8d, 0x42, 0x04, //0x00002250 leaq $4(%r10), %rax + 0x48, 0x89, 0xca, //0x00002254 movq %rcx, %rdx + 0x48, 0x29, 0xc2, //0x00002257 subq %rax, %rdx + 0x0f, 0x86, 0x70, 0x03, 0x00, 0x00, //0x0000225a jbe LBB0_490 + 0x4c, 0x01, 0xc0, //0x00002260 addq %r8, %rax + 0x48, 0x83, 0xfa, 0x20, //0x00002263 cmpq $32, %rdx + 0x0f, 0x82, 0x55, 0x00, 0x00, 0x00, //0x00002267 jb LBB0_446 + 0x48, 0x89, 0xce, //0x0000226d movq %rcx, %rsi + 0x4c, 0x29, 0xd6, //0x00002270 subq %r10, %rsi + 0x48, 0x83, 0xc6, 0xdc, //0x00002273 addq $-36, %rsi + 0x48, 0x89, 0xf7, //0x00002277 movq %rsi, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x0000227a andq $-32, %rdi + 0x4c, 0x01, 0xd7, //0x0000227e addq %r10, %rdi + 0x49, 0x8d, 0x7c, 0x38, 0x24, //0x00002281 leaq $36(%r8,%rdi), %rdi + 0x83, 0xe6, 0x1f, //0x00002286 andl $31, %esi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002289 .p2align 4, 0x90 + //0x00002290 LBB0_443 + 0xc5, 0xfe, 0x6f, 0x30, //0x00002290 vmovdqu (%rax), %ymm6 + 0xc4, 0xe2, 0x7d, 0x00, 0xfe, //0x00002294 vpshufb %ymm6, %ymm0, %ymm7 + 0xc5, 0xcd, 0x74, 0xf7, //0x00002299 vpcmpeqb %ymm7, %ymm6, %ymm6 + 0xc5, 0xfd, 0xd7, 0xde, //0x0000229d vpmovmskb %ymm6, %ebx + 0x83, 0xfb, 0xff, //0x000022a1 cmpl $-1, %ebx + 0x0f, 0x85, 0x76, 0x00, 0x00, 0x00, //0x000022a4 jne LBB0_453 + 0x48, 0x83, 0xc0, 0x20, //0x000022aa addq $32, %rax + 0x48, 0x83, 0xc2, 0xe0, //0x000022ae addq $-32, %rdx + 0x48, 0x83, 0xfa, 0x1f, //0x000022b2 cmpq $31, %rdx + 0x0f, 0x87, 0xd4, 0xff, 0xff, 0xff, //0x000022b6 ja LBB0_443 + 0x48, 0x89, 0xf2, //0x000022bc movq %rsi, %rdx + 0x48, 0x89, 0xf8, //0x000022bf movq %rdi, %rax + //0x000022c2 LBB0_446 + 0x48, 0x85, 0xd2, //0x000022c2 testq %rdx, %rdx + 0x0f, 0x84, 0x3a, 0x00, 0x00, 0x00, //0x000022c5 je LBB0_452 + 0x48, 0x8d, 0x34, 0x10, //0x000022cb leaq (%rax,%rdx), %rsi + 0x48, 0xff, 0xc0, //0x000022cf incq %rax + //0x000022d2 LBB0_448 + 0x0f, 0xbe, 0x78, 0xff, //0x000022d2 movsbl $-1(%rax), %edi + 0x83, 0xff, 0x20, //0x000022d6 cmpl $32, %edi + 0x0f, 0x87, 0x7e, 0x0a, 0x00, 0x00, //0x000022d9 ja LBB0_584 + 0x48, 0xbb, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000022df movabsq $4294977024, %rbx + 0x48, 0x0f, 0xa3, 0xfb, //0x000022e9 btq %rdi, %rbx + 0x0f, 0x83, 0x6a, 0x0a, 0x00, 0x00, //0x000022ed jae LBB0_584 + 0x48, 0xff, 0xca, //0x000022f3 decq %rdx + 0x48, 0xff, 0xc0, //0x000022f6 incq %rax + 0x48, 0x85, 0xd2, //0x000022f9 testq %rdx, %rdx + 0x0f, 0x85, 0xd0, 0xff, 0xff, 0xff, //0x000022fc jne LBB0_448 + 0x48, 0x89, 0xf0, //0x00002302 movq %rsi, %rax + //0x00002305 LBB0_452 + 0x4c, 0x29, 0xc0, //0x00002305 subq %r8, %rax + 0x48, 0x39, 0xc8, //0x00002308 cmpq %rcx, %rax + 0x0f, 0x82, 0x27, 0x00, 0x00, 0x00, //0x0000230b jb LBB0_454 + 0xe9, 0xc0, 0x02, 0x00, 0x00, //0x00002311 jmp LBB0_491 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002316 .p2align 4, 0x90 + //0x00002320 LBB0_453 + 0x4c, 0x29, 0xc0, //0x00002320 subq %r8, %rax + 0xf7, 0xd3, //0x00002323 notl %ebx + 0x48, 0x63, 0xd3, //0x00002325 movslq %ebx, %rdx + 0x48, 0x0f, 0xbc, 0xd2, //0x00002328 bsfq %rdx, %rdx + 0x48, 0x01, 0xd0, //0x0000232c addq %rdx, %rax + 0x48, 0x39, 0xc8, //0x0000232f cmpq %rcx, %rax + 0x0f, 0x83, 0x9e, 0x02, 0x00, 0x00, //0x00002332 jae LBB0_491 + //0x00002338 LBB0_454 + 0x4c, 0x8d, 0x50, 0x01, //0x00002338 leaq $1(%rax), %r10 + 0x4d, 0x89, 0x16, //0x0000233c movq %r10, (%r14) + 0x41, 0x0f, 0xbe, 0x0c, 0x00, //0x0000233f movsbl (%r8,%rax), %ecx + 0x83, 0xf9, 0x7b, //0x00002344 cmpl $123, %ecx + 0x0f, 0x87, 0x83, 0x02, 0x00, 0x00, //0x00002347 ja LBB0_490 + 0x48, 0x8d, 0x15, 0x14, 0x34, 0x00, 0x00, //0x0000234d leaq $13332(%rip), %rdx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8a, //0x00002354 movslq (%rdx,%rcx,4), %rcx + 0x48, 0x01, 0xd1, //0x00002358 addq %rdx, %rcx + 0xff, 0xe1, //0x0000235b jmpq *%rcx + //0x0000235d LBB0_456 + 0x49, 0x8b, 0x13, //0x0000235d movq (%r11), %rdx + 0x48, 0x89, 0xd1, //0x00002360 movq %rdx, %rcx + 0x4c, 0x29, 0xd1, //0x00002363 subq %r10, %rcx + 0x4d, 0x01, 0xc2, //0x00002366 addq %r8, %r10 + 0x48, 0x83, 0xf9, 0x20, //0x00002369 cmpq $32, %rcx + 0x0f, 0x82, 0x56, 0x00, 0x00, 0x00, //0x0000236d jb LBB0_461 + 0x48, 0x29, 0xc2, //0x00002373 subq %rax, %rdx + 0x48, 0x83, 0xc2, 0xdf, //0x00002376 addq $-33, %rdx + 0x48, 0x89, 0xd6, //0x0000237a movq %rdx, %rsi + 0x48, 0x83, 0xe6, 0xe0, //0x0000237d andq $-32, %rsi + 0x48, 0x01, 0xc6, //0x00002381 addq %rax, %rsi + 0x49, 0x8d, 0x44, 0x30, 0x21, //0x00002384 leaq $33(%r8,%rsi), %rax + 0x83, 0xe2, 0x1f, //0x00002389 andl $31, %edx + 0x90, 0x90, 0x90, 0x90, //0x0000238c .p2align 4, 0x90 + //0x00002390 LBB0_458 + 0xc4, 0xc1, 0x7e, 0x6f, 0x32, //0x00002390 vmovdqu (%r10), %ymm6 + 0xc5, 0xcd, 0x74, 0xfb, //0x00002395 vpcmpeqb %ymm3, %ymm6, %ymm7 + 0xc5, 0xcd, 0xeb, 0xf4, //0x00002399 vpor %ymm4, %ymm6, %ymm6 + 0xc5, 0xcd, 0x74, 0xf5, //0x0000239d vpcmpeqb %ymm5, %ymm6, %ymm6 + 0xc5, 0xcd, 0xeb, 0xf7, //0x000023a1 vpor %ymm7, %ymm6, %ymm6 + 0xc5, 0xfd, 0xd7, 0xf6, //0x000023a5 vpmovmskb %ymm6, %esi + 0x85, 0xf6, //0x000023a9 testl %esi, %esi + 0x0f, 0x85, 0xdf, 0x00, 0x00, 0x00, //0x000023ab jne LBB0_474 + 0x49, 0x83, 0xc2, 0x20, //0x000023b1 addq $32, %r10 + 0x48, 0x83, 0xc1, 0xe0, //0x000023b5 addq $-32, %rcx + 0x48, 0x83, 0xf9, 0x1f, //0x000023b9 cmpq $31, %rcx + 0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x000023bd ja LBB0_458 + 0x48, 0x89, 0xd1, //0x000023c3 movq %rdx, %rcx + 0x49, 0x89, 0xc2, //0x000023c6 movq %rax, %r10 + //0x000023c9 LBB0_461 + 0x48, 0x83, 0xf9, 0x10, //0x000023c9 cmpq $16, %rcx + 0x0f, 0x82, 0x5f, 0x00, 0x00, 0x00, //0x000023cd jb LBB0_466 + 0x48, 0x8d, 0x41, 0xf0, //0x000023d3 leaq $-16(%rcx), %rax + 0x48, 0x89, 0xc2, //0x000023d7 movq %rax, %rdx + 0x48, 0x83, 0xe2, 0xf0, //0x000023da andq $-16, %rdx + 0x4a, 0x8d, 0x54, 0x12, 0x10, //0x000023de leaq $16(%rdx,%r10), %rdx + 0x83, 0xe0, 0x0f, //0x000023e3 andl $15, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000023e6 .p2align 4, 0x90 + //0x000023f0 LBB0_463 + 0xc4, 0xc1, 0x7a, 0x6f, 0x32, //0x000023f0 vmovdqu (%r10), %xmm6 + 0xc5, 0xc9, 0x74, 0x3d, 0xe3, 0xdd, 0xff, 0xff, //0x000023f5 vpcmpeqb $-8733(%rip), %xmm6, %xmm7 /* LCPI0_4+0(%rip) */ + 0xc5, 0xc9, 0xeb, 0x35, 0xeb, 0xdd, 0xff, 0xff, //0x000023fd vpor $-8725(%rip), %xmm6, %xmm6 /* LCPI0_5+0(%rip) */ + 0xc5, 0xb9, 0x74, 0xf6, //0x00002405 vpcmpeqb %xmm6, %xmm8, %xmm6 + 0xc5, 0xc9, 0xeb, 0xf7, //0x00002409 vpor %xmm7, %xmm6, %xmm6 + 0xc5, 0xf9, 0xd7, 0xf6, //0x0000240d vpmovmskb %xmm6, %esi + 0x66, 0x85, 0xf6, //0x00002411 testw %si, %si + 0x0f, 0x85, 0x24, 0x09, 0x00, 0x00, //0x00002414 jne LBB0_582 + 0x49, 0x83, 0xc2, 0x10, //0x0000241a addq $16, %r10 + 0x48, 0x83, 0xc1, 0xf0, //0x0000241e addq $-16, %rcx + 0x48, 0x83, 0xf9, 0x0f, //0x00002422 cmpq $15, %rcx + 0x0f, 0x87, 0xc4, 0xff, 0xff, 0xff, //0x00002426 ja LBB0_463 + 0x48, 0x89, 0xc1, //0x0000242c movq %rax, %rcx + 0x49, 0x89, 0xd2, //0x0000242f movq %rdx, %r10 + //0x00002432 LBB0_466 + 0x48, 0x85, 0xc9, //0x00002432 testq %rcx, %rcx + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x00002435 je LBB0_473 + 0x49, 0x8d, 0x04, 0x0a, //0x0000243b leaq (%r10,%rcx), %rax + //0x0000243f LBB0_468 + 0x41, 0x0f, 0xb6, 0x12, //0x0000243f movzbl (%r10), %edx + 0x80, 0xfa, 0x2c, //0x00002443 cmpb $44, %dl + 0x0f, 0x84, 0xad, 0x09, 0x00, 0x00, //0x00002446 je LBB0_586 + 0x80, 0xfa, 0x7d, //0x0000244c cmpb $125, %dl + 0x0f, 0x84, 0xa4, 0x09, 0x00, 0x00, //0x0000244f je LBB0_586 + 0x80, 0xfa, 0x5d, //0x00002455 cmpb $93, %dl + 0x0f, 0x84, 0x9b, 0x09, 0x00, 0x00, //0x00002458 je LBB0_586 + 0x49, 0xff, 0xc2, //0x0000245e incq %r10 + 0x48, 0xff, 0xc9, //0x00002461 decq %rcx + 0x0f, 0x85, 0xd5, 0xff, 0xff, 0xff, //0x00002464 jne LBB0_468 + 0x49, 0x89, 0xc2, //0x0000246a movq %rax, %r10 + //0x0000246d LBB0_473 + 0x4d, 0x29, 0xc2, //0x0000246d subq %r8, %r10 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00002470 movq $8(%rsp), %r14 + 0x4d, 0x89, 0x16, //0x00002475 movq %r10, (%r14) + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00002478 movq $16(%rsp), %r15 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x0000247d movq $24(%rsp), %r11 + 0xe9, 0x4f, 0x01, 0x00, 0x00, //0x00002482 jmp LBB0_491 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002487 .p2align 4, 0x90 + //0x00002490 LBB0_474 + 0x48, 0x63, 0xc6, //0x00002490 movslq %esi, %rax + //0x00002493 LBB0_475 + 0x48, 0x0f, 0xbc, 0xc0, //0x00002493 bsfq %rax, %rax + 0x4d, 0x29, 0xc2, //0x00002497 subq %r8, %r10 + 0x49, 0x01, 0xc2, //0x0000249a addq %rax, %r10 + 0x4d, 0x89, 0x16, //0x0000249d movq %r10, (%r14) + 0xe9, 0x31, 0x01, 0x00, 0x00, //0x000024a0 jmp LBB0_491 + //0x000024a5 LBB0_476 + 0x48, 0x83, 0xc0, 0x04, //0x000024a5 addq $4, %rax + 0x49, 0x3b, 0x03, //0x000024a9 cmpq (%r11), %rax + 0x0f, 0x86, 0x1e, 0x01, 0x00, 0x00, //0x000024ac jbe LBB0_490 + 0xe9, 0x1f, 0x01, 0x00, 0x00, //0x000024b2 jmp LBB0_491 + //0x000024b7 LBB0_477 + 0x4c, 0x89, 0x4c, 0x24, 0x20, //0x000024b7 movq %r9, $32(%rsp) + 0x4c, 0x89, 0x04, 0x24, //0x000024bc movq %r8, (%rsp) + 0x4d, 0x8b, 0x03, //0x000024c0 movq (%r11), %r8 + 0x4c, 0x89, 0xc1, //0x000024c3 movq %r8, %rcx + 0x4c, 0x29, 0xd1, //0x000024c6 subq %r10, %rcx + 0x48, 0x83, 0xf9, 0x20, //0x000024c9 cmpq $32, %rcx + 0x0f, 0x8c, 0x31, 0x09, 0x00, 0x00, //0x000024cd jl LBB0_587 + 0x48, 0x8b, 0x0c, 0x24, //0x000024d3 movq (%rsp), %rcx + 0x4c, 0x8d, 0x0c, 0x01, //0x000024d7 leaq (%rcx,%rax), %r9 + 0x49, 0x29, 0xc0, //0x000024db subq %rax, %r8 + 0xb8, 0x1f, 0x00, 0x00, 0x00, //0x000024de movl $31, %eax + 0x31, 0xc9, //0x000024e3 xorl %ecx, %ecx + 0x31, 0xdb, //0x000024e5 xorl %ebx, %ebx + 0xe9, 0x70, 0x00, 0x00, 0x00, //0x000024e7 jmp LBB0_479 + 0x90, 0x90, 0x90, 0x90, //0x000024ec .p2align 4, 0x90 + //0x000024f0 LBB0_483 + 0x89, 0xdf, //0x000024f0 movl %ebx, %edi + 0x4d, 0x89, 0xf4, //0x000024f2 movq %r14, %r12 + 0x4d, 0x89, 0xfe, //0x000024f5 movq %r15, %r14 + 0x4d, 0x89, 0xef, //0x000024f8 movq %r13, %r15 + 0x41, 0xbd, 0xff, 0xff, 0xff, 0xff, //0x000024fb movl $4294967295, %r13d + 0x44, 0x31, 0xef, //0x00002501 xorl %r13d, %edi + 0x21, 0xd7, //0x00002504 andl %edx, %edi + 0x8d, 0x14, 0x3f, //0x00002506 leal (%rdi,%rdi), %edx + 0x09, 0xda, //0x00002509 orl %ebx, %edx + 0x41, 0x8d, 0xb5, 0xab, 0xaa, 0xaa, 0xaa, //0x0000250b leal $-1431655765(%r13), %esi + 0x31, 0xd6, //0x00002512 xorl %edx, %esi + 0x21, 0xfe, //0x00002514 andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002516 andl $-1431655766, %esi + 0x31, 0xdb, //0x0000251c xorl %ebx, %ebx + 0x01, 0xfe, //0x0000251e addl %edi, %esi + 0x0f, 0x92, 0xc3, //0x00002520 setb %bl + 0x01, 0xf6, //0x00002523 addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x00002525 xorl $1431655765, %esi + 0x21, 0xd6, //0x0000252b andl %edx, %esi + 0x44, 0x31, 0xee, //0x0000252d xorl %r13d, %esi + 0x4d, 0x89, 0xfd, //0x00002530 movq %r15, %r13 + 0x4d, 0x89, 0xf7, //0x00002533 movq %r14, %r15 + 0x4d, 0x89, 0xe6, //0x00002536 movq %r12, %r14 + 0x41, 0x21, 0xf3, //0x00002539 andl %esi, %r11d + 0x45, 0x85, 0xdb, //0x0000253c testl %r11d, %r11d + 0x0f, 0x85, 0x4a, 0x00, 0x00, 0x00, //0x0000253f jne LBB0_482 + //0x00002545 LBB0_484 + 0x48, 0x83, 0xc1, 0x20, //0x00002545 addq $32, %rcx + 0x49, 0x8d, 0x54, 0x00, 0xe0, //0x00002549 leaq $-32(%r8,%rax), %rdx + 0x48, 0x83, 0xc0, 0xe0, //0x0000254e addq $-32, %rax + 0x48, 0x83, 0xfa, 0x3f, //0x00002552 cmpq $63, %rdx + 0x0f, 0x8e, 0x18, 0x08, 0x00, 0x00, //0x00002556 jle LBB0_485 + //0x0000255c LBB0_479 + 0xc4, 0xc1, 0x7e, 0x6f, 0x74, 0x09, 0x01, //0x0000255c vmovdqu $1(%r9,%rcx), %ymm6 + 0xc5, 0xcd, 0x74, 0xf9, //0x00002563 vpcmpeqb %ymm1, %ymm6, %ymm7 + 0xc5, 0x7d, 0xd7, 0xdf, //0x00002567 vpmovmskb %ymm7, %r11d + 0xc5, 0xcd, 0x74, 0xf2, //0x0000256b vpcmpeqb %ymm2, %ymm6, %ymm6 + 0xc5, 0xfd, 0xd7, 0xd6, //0x0000256f vpmovmskb %ymm6, %edx + 0x48, 0x85, 0xdb, //0x00002573 testq %rbx, %rbx + 0x0f, 0x85, 0x74, 0xff, 0xff, 0xff, //0x00002576 jne LBB0_483 + 0x85, 0xd2, //0x0000257c testl %edx, %edx + 0x0f, 0x85, 0x6c, 0xff, 0xff, 0xff, //0x0000257e jne LBB0_483 + 0x31, 0xdb, //0x00002584 xorl %ebx, %ebx + 0x45, 0x85, 0xdb, //0x00002586 testl %r11d, %r11d + 0x0f, 0x84, 0xb6, 0xff, 0xff, 0xff, //0x00002589 je LBB0_484 + //0x0000258f LBB0_482 + 0x49, 0x0f, 0xbc, 0xc3, //0x0000258f bsfq %r11, %rax + 0x49, 0x01, 0xc1, //0x00002593 addq %rax, %r9 + 0x49, 0x01, 0xc9, //0x00002596 addq %rcx, %r9 + 0x4c, 0x2b, 0x0c, 0x24, //0x00002599 subq (%rsp), %r9 + 0x49, 0x83, 0xc1, 0x02, //0x0000259d addq $2, %r9 + 0x4d, 0x89, 0x0e, //0x000025a1 movq %r9, (%r14) + 0x4d, 0x89, 0xca, //0x000025a4 movq %r9, %r10 + //0x000025a7 LBB0_592 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x000025a7 movq $24(%rsp), %r11 + 0x4c, 0x8b, 0x4c, 0x24, 0x20, //0x000025ac movq $32(%rsp), %r9 + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x000025b1 jmp LBB0_491 + //0x000025b6 LBB0_489 + 0x48, 0x83, 0xc0, 0x05, //0x000025b6 addq $5, %rax + 0x49, 0x3b, 0x03, //0x000025ba cmpq (%r11), %rax + 0x0f, 0x87, 0x13, 0x00, 0x00, 0x00, //0x000025bd ja LBB0_491 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000025c3 .p2align 4, 0x90 + //0x000025d0 LBB0_490 + 0x49, 0x89, 0x06, //0x000025d0 movq %rax, (%r14) + 0x49, 0x89, 0xc2, //0x000025d3 movq %rax, %r10 + //0x000025d6 LBB0_491 + 0x4d, 0x8b, 0x07, //0x000025d6 movq (%r15), %r8 + 0x49, 0x8b, 0x47, 0x08, //0x000025d9 movq $8(%r15), %rax + 0x49, 0x39, 0xc2, //0x000025dd cmpq %rax, %r10 + 0x0f, 0x83, 0x2a, 0x00, 0x00, 0x00, //0x000025e0 jae LBB0_496 + 0x43, 0x8a, 0x0c, 0x10, //0x000025e6 movb (%r8,%r10), %cl + 0x80, 0xf9, 0x0d, //0x000025ea cmpb $13, %cl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x000025ed je LBB0_496 + 0x80, 0xf9, 0x20, //0x000025f3 cmpb $32, %cl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000025f6 je LBB0_496 + 0x80, 0xc1, 0xf7, //0x000025fc addb $-9, %cl + 0x80, 0xf9, 0x01, //0x000025ff cmpb $1, %cl + 0x0f, 0x86, 0x08, 0x00, 0x00, 0x00, //0x00002602 jbe LBB0_496 + 0x4c, 0x89, 0xd1, //0x00002608 movq %r10, %rcx + 0xe9, 0x88, 0x01, 0x00, 0x00, //0x0000260b jmp LBB0_522 + //0x00002610 .p2align 4, 0x90 + //0x00002610 LBB0_496 + 0x49, 0x8d, 0x4a, 0x01, //0x00002610 leaq $1(%r10), %rcx + 0x48, 0x39, 0xc1, //0x00002614 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002617 jae LBB0_500 + 0x41, 0x8a, 0x14, 0x08, //0x0000261d movb (%r8,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x00002621 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00002624 je LBB0_500 + 0x80, 0xfa, 0x20, //0x0000262a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000262d je LBB0_500 + 0x80, 0xc2, 0xf7, //0x00002633 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00002636 cmpb $1, %dl + 0x0f, 0x87, 0x59, 0x01, 0x00, 0x00, //0x00002639 ja LBB0_522 + 0x90, //0x0000263f .p2align 4, 0x90 + //0x00002640 LBB0_500 + 0x49, 0x8d, 0x4a, 0x02, //0x00002640 leaq $2(%r10), %rcx + 0x48, 0x39, 0xc1, //0x00002644 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002647 jae LBB0_504 + 0x41, 0x8a, 0x14, 0x08, //0x0000264d movb (%r8,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x00002651 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00002654 je LBB0_504 + 0x80, 0xfa, 0x20, //0x0000265a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000265d je LBB0_504 + 0x80, 0xc2, 0xf7, //0x00002663 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00002666 cmpb $1, %dl + 0x0f, 0x87, 0x29, 0x01, 0x00, 0x00, //0x00002669 ja LBB0_522 + 0x90, //0x0000266f .p2align 4, 0x90 + //0x00002670 LBB0_504 + 0x49, 0x8d, 0x4a, 0x03, //0x00002670 leaq $3(%r10), %rcx + 0x48, 0x39, 0xc1, //0x00002674 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002677 jae LBB0_508 + 0x41, 0x8a, 0x14, 0x08, //0x0000267d movb (%r8,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x00002681 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00002684 je LBB0_508 + 0x80, 0xfa, 0x20, //0x0000268a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000268d je LBB0_508 + 0x80, 0xc2, 0xf7, //0x00002693 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00002696 cmpb $1, %dl + 0x0f, 0x87, 0xf9, 0x00, 0x00, 0x00, //0x00002699 ja LBB0_522 + 0x90, //0x0000269f .p2align 4, 0x90 + //0x000026a0 LBB0_508 + 0x49, 0x8d, 0x4a, 0x04, //0x000026a0 leaq $4(%r10), %rcx + 0x48, 0x89, 0xc2, //0x000026a4 movq %rax, %rdx + 0x48, 0x29, 0xca, //0x000026a7 subq %rcx, %rdx + 0x0f, 0x86, 0x3d, 0x0a, 0x00, 0x00, //0x000026aa jbe LBB0_625 + 0x4c, 0x01, 0xc1, //0x000026b0 addq %r8, %rcx + 0x48, 0x83, 0xfa, 0x20, //0x000026b3 cmpq $32, %rdx + 0x0f, 0x82, 0x55, 0x00, 0x00, 0x00, //0x000026b7 jb LBB0_514 + 0x48, 0x89, 0xc6, //0x000026bd movq %rax, %rsi + 0x4c, 0x29, 0xd6, //0x000026c0 subq %r10, %rsi + 0x48, 0x83, 0xc6, 0xdc, //0x000026c3 addq $-36, %rsi + 0x48, 0x89, 0xf7, //0x000026c7 movq %rsi, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x000026ca andq $-32, %rdi + 0x4c, 0x01, 0xd7, //0x000026ce addq %r10, %rdi + 0x49, 0x8d, 0x7c, 0x38, 0x24, //0x000026d1 leaq $36(%r8,%rdi), %rdi + 0x83, 0xe6, 0x1f, //0x000026d6 andl $31, %esi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000026d9 .p2align 4, 0x90 + //0x000026e0 LBB0_511 + 0xc5, 0xfe, 0x6f, 0x31, //0x000026e0 vmovdqu (%rcx), %ymm6 + 0xc4, 0xe2, 0x7d, 0x00, 0xfe, //0x000026e4 vpshufb %ymm6, %ymm0, %ymm7 + 0xc5, 0xcd, 0x74, 0xf7, //0x000026e9 vpcmpeqb %ymm7, %ymm6, %ymm6 + 0xc5, 0xfd, 0xd7, 0xde, //0x000026ed vpmovmskb %ymm6, %ebx + 0x83, 0xfb, 0xff, //0x000026f1 cmpl $-1, %ebx + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x000026f4 jne LBB0_521 + 0x48, 0x83, 0xc1, 0x20, //0x000026fa addq $32, %rcx + 0x48, 0x83, 0xc2, 0xe0, //0x000026fe addq $-32, %rdx + 0x48, 0x83, 0xfa, 0x1f, //0x00002702 cmpq $31, %rdx + 0x0f, 0x87, 0xd4, 0xff, 0xff, 0xff, //0x00002706 ja LBB0_511 + 0x48, 0x89, 0xf2, //0x0000270c movq %rsi, %rdx + 0x48, 0x89, 0xf9, //0x0000270f movq %rdi, %rcx + //0x00002712 LBB0_514 + 0x48, 0x85, 0xd2, //0x00002712 testq %rdx, %rdx + 0x0f, 0x84, 0x48, 0x00, 0x00, 0x00, //0x00002715 je LBB0_520 + 0x48, 0x8d, 0x34, 0x11, //0x0000271b leaq (%rcx,%rdx), %rsi + 0x48, 0xff, 0xc1, //0x0000271f incq %rcx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002722 .p2align 4, 0x90 + //0x00002730 LBB0_516 + 0x0f, 0xbe, 0x79, 0xff, //0x00002730 movsbl $-1(%rcx), %edi + 0x83, 0xff, 0x20, //0x00002734 cmpl $32, %edi + 0x0f, 0x87, 0x09, 0x06, 0x00, 0x00, //0x00002737 ja LBB0_583 + 0x48, 0xbb, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000273d movabsq $4294977024, %rbx + 0x48, 0x0f, 0xa3, 0xfb, //0x00002747 btq %rdi, %rbx + 0x0f, 0x83, 0xf5, 0x05, 0x00, 0x00, //0x0000274b jae LBB0_583 + 0x48, 0xff, 0xca, //0x00002751 decq %rdx + 0x48, 0xff, 0xc1, //0x00002754 incq %rcx + 0x48, 0x85, 0xd2, //0x00002757 testq %rdx, %rdx + 0x0f, 0x85, 0xd0, 0xff, 0xff, 0xff, //0x0000275a jne LBB0_516 + 0x48, 0x89, 0xf1, //0x00002760 movq %rsi, %rcx + //0x00002763 LBB0_520 + 0x4c, 0x29, 0xc1, //0x00002763 subq %r8, %rcx + 0x48, 0x39, 0xc1, //0x00002766 cmpq %rax, %rcx + 0x0f, 0x82, 0x29, 0x00, 0x00, 0x00, //0x00002769 jb LBB0_522 + 0xe9, 0x7d, 0x0b, 0x00, 0x00, //0x0000276f jmp LBB0_657 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002774 .p2align 4, 0x90 + //0x00002780 LBB0_521 + 0x4c, 0x29, 0xc1, //0x00002780 subq %r8, %rcx + 0xf7, 0xd3, //0x00002783 notl %ebx + 0x48, 0x63, 0xd3, //0x00002785 movslq %ebx, %rdx + 0x48, 0x0f, 0xbc, 0xd2, //0x00002788 bsfq %rdx, %rdx + 0x48, 0x01, 0xd1, //0x0000278c addq %rdx, %rcx + 0x48, 0x39, 0xc1, //0x0000278f cmpq %rax, %rcx + 0x0f, 0x83, 0x59, 0x0b, 0x00, 0x00, //0x00002792 jae LBB0_657 + //0x00002798 LBB0_522 + 0x4c, 0x8d, 0x51, 0x01, //0x00002798 leaq $1(%rcx), %r10 + 0x4d, 0x89, 0x16, //0x0000279c movq %r10, (%r14) + 0x41, 0x8a, 0x04, 0x08, //0x0000279f movb (%r8,%rcx), %al + 0x3c, 0x2c, //0x000027a3 cmpb $44, %al + 0x0f, 0x85, 0x4d, 0x09, 0x00, 0x00, //0x000027a5 jne LBB0_626 + 0x49, 0x83, 0xf9, 0x02, //0x000027ab cmpq $2, %r9 + 0x4d, 0x8d, 0x49, 0xff, //0x000027af leaq $-1(%r9), %r9 + 0x0f, 0x8d, 0xc7, 0xf9, 0xff, 0xff, //0x000027b3 jge LBB0_423 + 0xe9, 0xc2, 0x06, 0x00, 0x00, //0x000027b9 jmp LBB0_524 + //0x000027be LBB0_527 + 0x4c, 0x89, 0x2c, 0x24, //0x000027be movq %r13, (%rsp) + 0x4d, 0x8b, 0x1b, //0x000027c2 movq (%r11), %r11 + 0x4d, 0x29, 0xd3, //0x000027c5 subq %r10, %r11 + 0x4d, 0x01, 0xd0, //0x000027c8 addq %r10, %r8 + 0x45, 0x31, 0xed, //0x000027cb xorl %r13d, %r13d + 0x45, 0x31, 0xf6, //0x000027ce xorl %r14d, %r14d + 0x45, 0x31, 0xff, //0x000027d1 xorl %r15d, %r15d + 0x31, 0xd2, //0x000027d4 xorl %edx, %edx + 0x4d, 0x89, 0xcc, //0x000027d6 movq %r9, %r12 + 0x49, 0x83, 0xfb, 0x40, //0x000027d9 cmpq $64, %r11 + 0x0f, 0x8d, 0x24, 0x01, 0x00, 0x00, //0x000027dd jge LBB0_528 + //0x000027e3 LBB0_537 + 0x48, 0x8b, 0x04, 0x24, //0x000027e3 movq (%rsp), %rax + 0x4d, 0x85, 0xdb, //0x000027e7 testq %r11, %r11 + 0x0f, 0x8e, 0x20, 0x06, 0x00, 0x00, //0x000027ea jle LBB0_588 + 0xc5, 0xc9, 0xef, 0xf6, //0x000027f0 vpxor %xmm6, %xmm6, %xmm6 + 0xc5, 0xfe, 0x7f, 0x74, 0x24, 0x60, //0x000027f4 vmovdqu %ymm6, $96(%rsp) + 0xc5, 0xfe, 0x7f, 0x74, 0x24, 0x40, //0x000027fa vmovdqu %ymm6, $64(%rsp) + 0x44, 0x89, 0xc0, //0x00002800 movl %r8d, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00002803 andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x00002808 cmpl $4033, %eax + 0x0f, 0x82, 0xf4, 0x00, 0x00, 0x00, //0x0000280d jb LBB0_528 + 0x49, 0x83, 0xfb, 0x20, //0x00002813 cmpq $32, %r11 + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x00002817 jb LBB0_541 + 0xc4, 0xc1, 0x7e, 0x6f, 0x30, //0x0000281d vmovdqu (%r8), %ymm6 + 0xc5, 0xfe, 0x7f, 0x74, 0x24, 0x40, //0x00002822 vmovdqu %ymm6, $64(%rsp) + 0x49, 0x83, 0xc0, 0x20, //0x00002828 addq $32, %r8 + 0x4d, 0x8d, 0x53, 0xe0, //0x0000282c leaq $-32(%r11), %r10 + 0x4c, 0x8d, 0x4c, 0x24, 0x60, //0x00002830 leaq $96(%rsp), %r9 + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x00002835 jmp LBB0_542 + //0x0000283a LBB0_541 + 0x4c, 0x8d, 0x4c, 0x24, 0x40, //0x0000283a leaq $64(%rsp), %r9 + 0x4d, 0x89, 0xda, //0x0000283f movq %r11, %r10 + //0x00002842 LBB0_542 + 0x49, 0x83, 0xfa, 0x10, //0x00002842 cmpq $16, %r10 + 0x0f, 0x82, 0x5c, 0x00, 0x00, 0x00, //0x00002846 jb LBB0_543 + 0xc4, 0xc1, 0x7a, 0x6f, 0x30, //0x0000284c vmovdqu (%r8), %xmm6 + 0xc4, 0xc1, 0x7a, 0x7f, 0x31, //0x00002851 vmovdqu %xmm6, (%r9) + 0x49, 0x83, 0xc0, 0x10, //0x00002856 addq $16, %r8 + 0x49, 0x83, 0xc1, 0x10, //0x0000285a addq $16, %r9 + 0x49, 0x83, 0xc2, 0xf0, //0x0000285e addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x08, //0x00002862 cmpq $8, %r10 + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x00002866 jae LBB0_548 + //0x0000286c LBB0_544 + 0x49, 0x83, 0xfa, 0x04, //0x0000286c cmpq $4, %r10 + 0x0f, 0x8c, 0x58, 0x00, 0x00, 0x00, //0x00002870 jl LBB0_545 + //0x00002876 LBB0_549 + 0x41, 0x8b, 0x00, //0x00002876 movl (%r8), %eax + 0x41, 0x89, 0x01, //0x00002879 movl %eax, (%r9) + 0x49, 0x83, 0xc0, 0x04, //0x0000287c addq $4, %r8 + 0x49, 0x83, 0xc1, 0x04, //0x00002880 addq $4, %r9 + 0x49, 0x83, 0xc2, 0xfc, //0x00002884 addq $-4, %r10 + 0x49, 0x83, 0xfa, 0x02, //0x00002888 cmpq $2, %r10 + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x0000288c jae LBB0_550 + //0x00002892 LBB0_546 + 0x4c, 0x89, 0xc0, //0x00002892 movq %r8, %rax + 0x4c, 0x8d, 0x44, 0x24, 0x40, //0x00002895 leaq $64(%rsp), %r8 + 0x4d, 0x85, 0xd2, //0x0000289a testq %r10, %r10 + 0x0f, 0x85, 0x5a, 0x00, 0x00, 0x00, //0x0000289d jne LBB0_551 + 0xe9, 0x5f, 0x00, 0x00, 0x00, //0x000028a3 jmp LBB0_528 + //0x000028a8 LBB0_543 + 0x49, 0x83, 0xfa, 0x08, //0x000028a8 cmpq $8, %r10 + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x000028ac jb LBB0_544 + //0x000028b2 LBB0_548 + 0x49, 0x8b, 0x00, //0x000028b2 movq (%r8), %rax + 0x49, 0x89, 0x01, //0x000028b5 movq %rax, (%r9) + 0x49, 0x83, 0xc0, 0x08, //0x000028b8 addq $8, %r8 + 0x49, 0x83, 0xc1, 0x08, //0x000028bc addq $8, %r9 + 0x49, 0x83, 0xc2, 0xf8, //0x000028c0 addq $-8, %r10 + 0x49, 0x83, 0xfa, 0x04, //0x000028c4 cmpq $4, %r10 + 0x0f, 0x8d, 0xa8, 0xff, 0xff, 0xff, //0x000028c8 jge LBB0_549 + //0x000028ce LBB0_545 + 0x49, 0x83, 0xfa, 0x02, //0x000028ce cmpq $2, %r10 + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x000028d2 jb LBB0_546 + //0x000028d8 LBB0_550 + 0x41, 0x0f, 0xb7, 0x00, //0x000028d8 movzwl (%r8), %eax + 0x66, 0x41, 0x89, 0x01, //0x000028dc movw %ax, (%r9) + 0x49, 0x83, 0xc0, 0x02, //0x000028e0 addq $2, %r8 + 0x49, 0x83, 0xc1, 0x02, //0x000028e4 addq $2, %r9 + 0x49, 0x83, 0xc2, 0xfe, //0x000028e8 addq $-2, %r10 + 0x4c, 0x89, 0xc0, //0x000028ec movq %r8, %rax + 0x4c, 0x8d, 0x44, 0x24, 0x40, //0x000028ef leaq $64(%rsp), %r8 + 0x4d, 0x85, 0xd2, //0x000028f4 testq %r10, %r10 + 0x0f, 0x84, 0x0a, 0x00, 0x00, 0x00, //0x000028f7 je LBB0_528 + //0x000028fd LBB0_551 + 0x8a, 0x00, //0x000028fd movb (%rax), %al + 0x41, 0x88, 0x01, //0x000028ff movb %al, (%r9) + 0x4c, 0x8d, 0x44, 0x24, 0x40, //0x00002902 leaq $64(%rsp), %r8 + //0x00002907 LBB0_528 + 0x4c, 0x89, 0xc0, //0x00002907 movq %r8, %rax + 0xc4, 0x41, 0x7e, 0x6f, 0x38, //0x0000290a vmovdqu (%r8), %ymm15 + 0xc4, 0x41, 0x7e, 0x6f, 0x70, 0x20, //0x0000290f vmovdqu $32(%r8), %ymm14 + 0xc5, 0x85, 0x74, 0xf1, //0x00002915 vpcmpeqb %ymm1, %ymm15, %ymm6 + 0xc5, 0x7d, 0xd7, 0xce, //0x00002919 vpmovmskb %ymm6, %r9d + 0xc5, 0x8d, 0x74, 0xf1, //0x0000291d vpcmpeqb %ymm1, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00002921 vpmovmskb %ymm6, %eax + 0x48, 0xc1, 0xe0, 0x20, //0x00002925 shlq $32, %rax + 0x49, 0x09, 0xc1, //0x00002929 orq %rax, %r9 + 0xc5, 0x85, 0x74, 0xf2, //0x0000292c vpcmpeqb %ymm2, %ymm15, %ymm6 + 0xc5, 0xfd, 0xd7, 0xfe, //0x00002930 vpmovmskb %ymm6, %edi + 0xc5, 0x8d, 0x74, 0xf2, //0x00002934 vpcmpeqb %ymm2, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00002938 vpmovmskb %ymm6, %eax + 0x48, 0xc1, 0xe0, 0x20, //0x0000293c shlq $32, %rax + 0x48, 0x09, 0xc7, //0x00002940 orq %rax, %rdi + 0x48, 0x89, 0xf8, //0x00002943 movq %rdi, %rax + 0x4c, 0x09, 0xf0, //0x00002946 orq %r14, %rax + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x00002949 je LBB0_530 + 0x4c, 0x89, 0xf0, //0x0000294f movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00002952 notq %rax + 0x48, 0x21, 0xf8, //0x00002955 andq %rdi, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00002958 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xf1, //0x0000295c orq %r14, %rcx + 0x48, 0x89, 0xcb, //0x0000295f movq %rcx, %rbx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002962 movabsq $-6148914691236517206, %rsi + 0x48, 0x31, 0xf3, //0x0000296c xorq %rsi, %rbx + 0x48, 0x21, 0xf7, //0x0000296f andq %rsi, %rdi + 0x48, 0x21, 0xdf, //0x00002972 andq %rbx, %rdi + 0x45, 0x31, 0xf6, //0x00002975 xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x00002978 addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x0000297b setb %r14b + 0x48, 0x01, 0xff, //0x0000297f addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00002982 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x0000298c xorq %rax, %rdi + 0x48, 0x21, 0xcf, //0x0000298f andq %rcx, %rdi + 0x48, 0xf7, 0xd7, //0x00002992 notq %rdi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00002995 jmp LBB0_531 + //0x0000299a LBB0_530 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x0000299a movq $-1, %rdi + 0x45, 0x31, 0xf6, //0x000029a1 xorl %r14d, %r14d + //0x000029a4 LBB0_531 + 0x4c, 0x21, 0xcf, //0x000029a4 andq %r9, %rdi + 0xc4, 0xe1, 0xf9, 0x6e, 0xf7, //0x000029a7 vmovq %rdi, %xmm6 + 0xc4, 0xc3, 0x49, 0x44, 0xf1, 0x00, //0x000029ac vpclmulqdq $0, %xmm9, %xmm6, %xmm6 + 0xc4, 0xe1, 0xf9, 0x7e, 0xf7, //0x000029b2 vmovq %xmm6, %rdi + 0x4c, 0x31, 0xef, //0x000029b7 xorq %r13, %rdi + 0xc4, 0xc1, 0x05, 0x74, 0xf2, //0x000029ba vpcmpeqb %ymm10, %ymm15, %ymm6 + 0xc5, 0xfd, 0xd7, 0xf6, //0x000029bf vpmovmskb %ymm6, %esi + 0xc4, 0xc1, 0x0d, 0x74, 0xf2, //0x000029c3 vpcmpeqb %ymm10, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x000029c8 vpmovmskb %ymm6, %eax + 0x48, 0xc1, 0xe0, 0x20, //0x000029cc shlq $32, %rax + 0x48, 0x09, 0xc6, //0x000029d0 orq %rax, %rsi + 0x48, 0x89, 0xf9, //0x000029d3 movq %rdi, %rcx + 0x48, 0xf7, 0xd1, //0x000029d6 notq %rcx + 0x48, 0x21, 0xce, //0x000029d9 andq %rcx, %rsi + 0xc4, 0xc1, 0x05, 0x74, 0xf3, //0x000029dc vpcmpeqb %ymm11, %ymm15, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x000029e1 vpmovmskb %ymm6, %eax + 0xc4, 0xc1, 0x0d, 0x74, 0xf3, //0x000029e5 vpcmpeqb %ymm11, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xde, //0x000029ea vpmovmskb %ymm6, %ebx + 0x48, 0xc1, 0xe3, 0x20, //0x000029ee shlq $32, %rbx + 0x48, 0x09, 0xd8, //0x000029f2 orq %rbx, %rax + 0x48, 0x21, 0xc8, //0x000029f5 andq %rcx, %rax + 0x0f, 0x84, 0x3e, 0x00, 0x00, 0x00, //0x000029f8 je LBB0_535 + 0x4c, 0x8b, 0x2c, 0x24, //0x000029fe movq (%rsp), %r13 + 0x4d, 0x89, 0xe1, //0x00002a02 movq %r12, %r9 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002a05 .p2align 4, 0x90 + //0x00002a10 LBB0_533 + 0x48, 0x8d, 0x58, 0xff, //0x00002a10 leaq $-1(%rax), %rbx + 0x48, 0x89, 0xd9, //0x00002a14 movq %rbx, %rcx + 0x48, 0x21, 0xf1, //0x00002a17 andq %rsi, %rcx + 0xf3, 0x48, 0x0f, 0xb8, 0xc9, //0x00002a1a popcntq %rcx, %rcx + 0x4c, 0x01, 0xf9, //0x00002a1f addq %r15, %rcx + 0x48, 0x39, 0xd1, //0x00002a22 cmpq %rdx, %rcx + 0x0f, 0x86, 0xdd, 0x02, 0x00, 0x00, //0x00002a25 jbe LBB0_577 + 0x48, 0xff, 0xc2, //0x00002a2b incq %rdx + 0x48, 0x21, 0xd8, //0x00002a2e andq %rbx, %rax + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00002a31 jne LBB0_533 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00002a37 jmp LBB0_536 + //0x00002a3c LBB0_535 + 0x4d, 0x89, 0xe1, //0x00002a3c movq %r12, %r9 + //0x00002a3f LBB0_536 + 0x48, 0xc1, 0xff, 0x3f, //0x00002a3f sarq $63, %rdi + 0xf3, 0x48, 0x0f, 0xb8, 0xc6, //0x00002a43 popcntq %rsi, %rax + 0x49, 0x01, 0xc7, //0x00002a48 addq %rax, %r15 + 0x49, 0x83, 0xc0, 0x40, //0x00002a4b addq $64, %r8 + 0x49, 0x83, 0xc3, 0xc0, //0x00002a4f addq $-64, %r11 + 0x49, 0x89, 0xfd, //0x00002a53 movq %rdi, %r13 + 0x4d, 0x89, 0xcc, //0x00002a56 movq %r9, %r12 + 0x49, 0x83, 0xfb, 0x40, //0x00002a59 cmpq $64, %r11 + 0x0f, 0x8d, 0xa4, 0xfe, 0xff, 0xff, //0x00002a5d jge LBB0_528 + 0xe9, 0x7b, 0xfd, 0xff, 0xff, //0x00002a63 jmp LBB0_537 + //0x00002a68 LBB0_552 + 0x4c, 0x89, 0x2c, 0x24, //0x00002a68 movq %r13, (%rsp) + 0x4d, 0x8b, 0x1b, //0x00002a6c movq (%r11), %r11 + 0x4d, 0x29, 0xd3, //0x00002a6f subq %r10, %r11 + 0x4d, 0x01, 0xd0, //0x00002a72 addq %r10, %r8 + 0x45, 0x31, 0xed, //0x00002a75 xorl %r13d, %r13d + 0x45, 0x31, 0xf6, //0x00002a78 xorl %r14d, %r14d + 0x45, 0x31, 0xff, //0x00002a7b xorl %r15d, %r15d + 0x31, 0xd2, //0x00002a7e xorl %edx, %edx + 0x4d, 0x89, 0xcc, //0x00002a80 movq %r9, %r12 + 0x49, 0x83, 0xfb, 0x40, //0x00002a83 cmpq $64, %r11 + 0x0f, 0x8d, 0x24, 0x01, 0x00, 0x00, //0x00002a87 jge LBB0_553 + //0x00002a8d LBB0_562 + 0x48, 0x8b, 0x04, 0x24, //0x00002a8d movq (%rsp), %rax + 0x4d, 0x85, 0xdb, //0x00002a91 testq %r11, %r11 + 0x0f, 0x8e, 0x76, 0x03, 0x00, 0x00, //0x00002a94 jle LBB0_588 + 0xc5, 0xc9, 0xef, 0xf6, //0x00002a9a vpxor %xmm6, %xmm6, %xmm6 + 0xc5, 0xfe, 0x7f, 0x74, 0x24, 0x60, //0x00002a9e vmovdqu %ymm6, $96(%rsp) + 0xc5, 0xfe, 0x7f, 0x74, 0x24, 0x40, //0x00002aa4 vmovdqu %ymm6, $64(%rsp) + 0x44, 0x89, 0xc0, //0x00002aaa movl %r8d, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00002aad andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x00002ab2 cmpl $4033, %eax + 0x0f, 0x82, 0xf4, 0x00, 0x00, 0x00, //0x00002ab7 jb LBB0_553 + 0x49, 0x83, 0xfb, 0x20, //0x00002abd cmpq $32, %r11 + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x00002ac1 jb LBB0_566 + 0xc4, 0xc1, 0x7e, 0x6f, 0x30, //0x00002ac7 vmovdqu (%r8), %ymm6 + 0xc5, 0xfe, 0x7f, 0x74, 0x24, 0x40, //0x00002acc vmovdqu %ymm6, $64(%rsp) + 0x49, 0x83, 0xc0, 0x20, //0x00002ad2 addq $32, %r8 + 0x4d, 0x8d, 0x53, 0xe0, //0x00002ad6 leaq $-32(%r11), %r10 + 0x4c, 0x8d, 0x4c, 0x24, 0x60, //0x00002ada leaq $96(%rsp), %r9 + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x00002adf jmp LBB0_567 + //0x00002ae4 LBB0_566 + 0x4c, 0x8d, 0x4c, 0x24, 0x40, //0x00002ae4 leaq $64(%rsp), %r9 + 0x4d, 0x89, 0xda, //0x00002ae9 movq %r11, %r10 + //0x00002aec LBB0_567 + 0x49, 0x83, 0xfa, 0x10, //0x00002aec cmpq $16, %r10 + 0x0f, 0x82, 0x5c, 0x00, 0x00, 0x00, //0x00002af0 jb LBB0_568 + 0xc4, 0xc1, 0x7a, 0x6f, 0x30, //0x00002af6 vmovdqu (%r8), %xmm6 + 0xc4, 0xc1, 0x7a, 0x7f, 0x31, //0x00002afb vmovdqu %xmm6, (%r9) + 0x49, 0x83, 0xc0, 0x10, //0x00002b00 addq $16, %r8 + 0x49, 0x83, 0xc1, 0x10, //0x00002b04 addq $16, %r9 + 0x49, 0x83, 0xc2, 0xf0, //0x00002b08 addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x08, //0x00002b0c cmpq $8, %r10 + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x00002b10 jae LBB0_573 + //0x00002b16 LBB0_569 + 0x49, 0x83, 0xfa, 0x04, //0x00002b16 cmpq $4, %r10 + 0x0f, 0x8c, 0x58, 0x00, 0x00, 0x00, //0x00002b1a jl LBB0_570 + //0x00002b20 LBB0_574 + 0x41, 0x8b, 0x00, //0x00002b20 movl (%r8), %eax + 0x41, 0x89, 0x01, //0x00002b23 movl %eax, (%r9) + 0x49, 0x83, 0xc0, 0x04, //0x00002b26 addq $4, %r8 + 0x49, 0x83, 0xc1, 0x04, //0x00002b2a addq $4, %r9 + 0x49, 0x83, 0xc2, 0xfc, //0x00002b2e addq $-4, %r10 + 0x49, 0x83, 0xfa, 0x02, //0x00002b32 cmpq $2, %r10 + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x00002b36 jae LBB0_575 + //0x00002b3c LBB0_571 + 0x4c, 0x89, 0xc0, //0x00002b3c movq %r8, %rax + 0x4c, 0x8d, 0x44, 0x24, 0x40, //0x00002b3f leaq $64(%rsp), %r8 + 0x4d, 0x85, 0xd2, //0x00002b44 testq %r10, %r10 + 0x0f, 0x85, 0x5a, 0x00, 0x00, 0x00, //0x00002b47 jne LBB0_576 + 0xe9, 0x5f, 0x00, 0x00, 0x00, //0x00002b4d jmp LBB0_553 + //0x00002b52 LBB0_568 + 0x49, 0x83, 0xfa, 0x08, //0x00002b52 cmpq $8, %r10 + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x00002b56 jb LBB0_569 + //0x00002b5c LBB0_573 + 0x49, 0x8b, 0x00, //0x00002b5c movq (%r8), %rax + 0x49, 0x89, 0x01, //0x00002b5f movq %rax, (%r9) + 0x49, 0x83, 0xc0, 0x08, //0x00002b62 addq $8, %r8 + 0x49, 0x83, 0xc1, 0x08, //0x00002b66 addq $8, %r9 + 0x49, 0x83, 0xc2, 0xf8, //0x00002b6a addq $-8, %r10 + 0x49, 0x83, 0xfa, 0x04, //0x00002b6e cmpq $4, %r10 + 0x0f, 0x8d, 0xa8, 0xff, 0xff, 0xff, //0x00002b72 jge LBB0_574 + //0x00002b78 LBB0_570 + 0x49, 0x83, 0xfa, 0x02, //0x00002b78 cmpq $2, %r10 + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x00002b7c jb LBB0_571 + //0x00002b82 LBB0_575 + 0x41, 0x0f, 0xb7, 0x00, //0x00002b82 movzwl (%r8), %eax + 0x66, 0x41, 0x89, 0x01, //0x00002b86 movw %ax, (%r9) + 0x49, 0x83, 0xc0, 0x02, //0x00002b8a addq $2, %r8 + 0x49, 0x83, 0xc1, 0x02, //0x00002b8e addq $2, %r9 + 0x49, 0x83, 0xc2, 0xfe, //0x00002b92 addq $-2, %r10 + 0x4c, 0x89, 0xc0, //0x00002b96 movq %r8, %rax + 0x4c, 0x8d, 0x44, 0x24, 0x40, //0x00002b99 leaq $64(%rsp), %r8 + 0x4d, 0x85, 0xd2, //0x00002b9e testq %r10, %r10 + 0x0f, 0x84, 0x0a, 0x00, 0x00, 0x00, //0x00002ba1 je LBB0_553 + //0x00002ba7 LBB0_576 + 0x8a, 0x00, //0x00002ba7 movb (%rax), %al + 0x41, 0x88, 0x01, //0x00002ba9 movb %al, (%r9) + 0x4c, 0x8d, 0x44, 0x24, 0x40, //0x00002bac leaq $64(%rsp), %r8 + //0x00002bb1 LBB0_553 + 0x4c, 0x89, 0xc0, //0x00002bb1 movq %r8, %rax + 0xc4, 0x41, 0x7e, 0x6f, 0x38, //0x00002bb4 vmovdqu (%r8), %ymm15 + 0xc4, 0x41, 0x7e, 0x6f, 0x70, 0x20, //0x00002bb9 vmovdqu $32(%r8), %ymm14 + 0xc5, 0x85, 0x74, 0xf1, //0x00002bbf vpcmpeqb %ymm1, %ymm15, %ymm6 + 0xc5, 0x7d, 0xd7, 0xce, //0x00002bc3 vpmovmskb %ymm6, %r9d + 0xc5, 0x8d, 0x74, 0xf1, //0x00002bc7 vpcmpeqb %ymm1, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00002bcb vpmovmskb %ymm6, %eax + 0x48, 0xc1, 0xe0, 0x20, //0x00002bcf shlq $32, %rax + 0x49, 0x09, 0xc1, //0x00002bd3 orq %rax, %r9 + 0xc5, 0x85, 0x74, 0xf2, //0x00002bd6 vpcmpeqb %ymm2, %ymm15, %ymm6 + 0xc5, 0xfd, 0xd7, 0xfe, //0x00002bda vpmovmskb %ymm6, %edi + 0xc5, 0x8d, 0x74, 0xf2, //0x00002bde vpcmpeqb %ymm2, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00002be2 vpmovmskb %ymm6, %eax + 0x48, 0xc1, 0xe0, 0x20, //0x00002be6 shlq $32, %rax + 0x48, 0x09, 0xc7, //0x00002bea orq %rax, %rdi + 0x48, 0x89, 0xf8, //0x00002bed movq %rdi, %rax + 0x4c, 0x09, 0xf0, //0x00002bf0 orq %r14, %rax + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x00002bf3 je LBB0_555 + 0x4c, 0x89, 0xf0, //0x00002bf9 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00002bfc notq %rax + 0x48, 0x21, 0xf8, //0x00002bff andq %rdi, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00002c02 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xf1, //0x00002c06 orq %r14, %rcx + 0x48, 0x89, 0xcb, //0x00002c09 movq %rcx, %rbx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002c0c movabsq $-6148914691236517206, %rsi + 0x48, 0x31, 0xf3, //0x00002c16 xorq %rsi, %rbx + 0x48, 0x21, 0xf7, //0x00002c19 andq %rsi, %rdi + 0x48, 0x21, 0xdf, //0x00002c1c andq %rbx, %rdi + 0x45, 0x31, 0xf6, //0x00002c1f xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x00002c22 addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x00002c25 setb %r14b + 0x48, 0x01, 0xff, //0x00002c29 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00002c2c movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00002c36 xorq %rax, %rdi + 0x48, 0x21, 0xcf, //0x00002c39 andq %rcx, %rdi + 0x48, 0xf7, 0xd7, //0x00002c3c notq %rdi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00002c3f jmp LBB0_556 + //0x00002c44 LBB0_555 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00002c44 movq $-1, %rdi + 0x45, 0x31, 0xf6, //0x00002c4b xorl %r14d, %r14d + //0x00002c4e LBB0_556 + 0x4c, 0x21, 0xcf, //0x00002c4e andq %r9, %rdi + 0xc4, 0xe1, 0xf9, 0x6e, 0xf7, //0x00002c51 vmovq %rdi, %xmm6 + 0xc4, 0xc3, 0x49, 0x44, 0xf1, 0x00, //0x00002c56 vpclmulqdq $0, %xmm9, %xmm6, %xmm6 + 0xc4, 0xe1, 0xf9, 0x7e, 0xf7, //0x00002c5c vmovq %xmm6, %rdi + 0x4c, 0x31, 0xef, //0x00002c61 xorq %r13, %rdi + 0xc4, 0xc1, 0x05, 0x74, 0xf5, //0x00002c64 vpcmpeqb %ymm13, %ymm15, %ymm6 + 0xc5, 0xfd, 0xd7, 0xf6, //0x00002c69 vpmovmskb %ymm6, %esi + 0xc4, 0xc1, 0x0d, 0x74, 0xf5, //0x00002c6d vpcmpeqb %ymm13, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00002c72 vpmovmskb %ymm6, %eax + 0x48, 0xc1, 0xe0, 0x20, //0x00002c76 shlq $32, %rax + 0x48, 0x09, 0xc6, //0x00002c7a orq %rax, %rsi + 0x48, 0x89, 0xf9, //0x00002c7d movq %rdi, %rcx + 0x48, 0xf7, 0xd1, //0x00002c80 notq %rcx + 0x48, 0x21, 0xce, //0x00002c83 andq %rcx, %rsi + 0xc5, 0x85, 0x74, 0xf5, //0x00002c86 vpcmpeqb %ymm5, %ymm15, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00002c8a vpmovmskb %ymm6, %eax + 0xc5, 0x8d, 0x74, 0xf5, //0x00002c8e vpcmpeqb %ymm5, %ymm14, %ymm6 + 0xc5, 0xfd, 0xd7, 0xde, //0x00002c92 vpmovmskb %ymm6, %ebx + 0x48, 0xc1, 0xe3, 0x20, //0x00002c96 shlq $32, %rbx + 0x48, 0x09, 0xd8, //0x00002c9a orq %rbx, %rax + 0x48, 0x21, 0xc8, //0x00002c9d andq %rcx, %rax + 0x0f, 0x84, 0x36, 0x00, 0x00, 0x00, //0x00002ca0 je LBB0_560 + 0x4c, 0x8b, 0x2c, 0x24, //0x00002ca6 movq (%rsp), %r13 + 0x4d, 0x89, 0xe1, //0x00002caa movq %r12, %r9 + 0x90, 0x90, 0x90, //0x00002cad .p2align 4, 0x90 + //0x00002cb0 LBB0_558 + 0x48, 0x8d, 0x58, 0xff, //0x00002cb0 leaq $-1(%rax), %rbx + 0x48, 0x89, 0xd9, //0x00002cb4 movq %rbx, %rcx + 0x48, 0x21, 0xf1, //0x00002cb7 andq %rsi, %rcx + 0xf3, 0x48, 0x0f, 0xb8, 0xc9, //0x00002cba popcntq %rcx, %rcx + 0x4c, 0x01, 0xf9, //0x00002cbf addq %r15, %rcx + 0x48, 0x39, 0xd1, //0x00002cc2 cmpq %rdx, %rcx + 0x0f, 0x86, 0x3d, 0x00, 0x00, 0x00, //0x00002cc5 jbe LBB0_577 + 0x48, 0xff, 0xc2, //0x00002ccb incq %rdx + 0x48, 0x21, 0xd8, //0x00002cce andq %rbx, %rax + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00002cd1 jne LBB0_558 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00002cd7 jmp LBB0_561 + //0x00002cdc LBB0_560 + 0x4d, 0x89, 0xe1, //0x00002cdc movq %r12, %r9 + //0x00002cdf LBB0_561 + 0x48, 0xc1, 0xff, 0x3f, //0x00002cdf sarq $63, %rdi + 0xf3, 0x48, 0x0f, 0xb8, 0xc6, //0x00002ce3 popcntq %rsi, %rax + 0x49, 0x01, 0xc7, //0x00002ce8 addq %rax, %r15 + 0x49, 0x83, 0xc0, 0x40, //0x00002ceb addq $64, %r8 + 0x49, 0x83, 0xc3, 0xc0, //0x00002cef addq $-64, %r11 + 0x49, 0x89, 0xfd, //0x00002cf3 movq %rdi, %r13 + 0x4d, 0x89, 0xcc, //0x00002cf6 movq %r9, %r12 + 0x49, 0x83, 0xfb, 0x40, //0x00002cf9 cmpq $64, %r11 + 0x0f, 0x8d, 0xae, 0xfe, 0xff, 0xff, //0x00002cfd jge LBB0_553 + 0xe9, 0x85, 0xfd, 0xff, 0xff, //0x00002d03 jmp LBB0_562 + //0x00002d08 LBB0_577 + 0x48, 0x8b, 0x54, 0x24, 0x18, //0x00002d08 movq $24(%rsp), %rdx + 0x48, 0x8b, 0x0a, //0x00002d0d movq (%rdx), %rcx + 0x48, 0x0f, 0xbc, 0xc0, //0x00002d10 bsfq %rax, %rax + 0x4c, 0x29, 0xd8, //0x00002d14 subq %r11, %rax + 0x49, 0x89, 0xd3, //0x00002d17 movq %rdx, %r11 + 0x4c, 0x8d, 0x54, 0x08, 0x01, //0x00002d1a leaq $1(%rax,%rcx), %r10 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00002d1f movq $8(%rsp), %r14 + 0x4d, 0x89, 0x16, //0x00002d24 movq %r10, (%r14) + 0x48, 0x8b, 0x02, //0x00002d27 movq (%rdx), %rax + 0x49, 0x39, 0xc2, //0x00002d2a cmpq %rax, %r10 + 0x4c, 0x0f, 0x47, 0xd0, //0x00002d2d cmovaq %rax, %r10 + 0x4d, 0x89, 0x16, //0x00002d31 movq %r10, (%r14) + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00002d34 movq $16(%rsp), %r15 + 0xe9, 0x98, 0xf8, 0xff, 0xff, //0x00002d39 jmp LBB0_491 + //0x00002d3e LBB0_582 + 0x0f, 0xb7, 0xc6, //0x00002d3e movzwl %si, %eax + 0xe9, 0x4d, 0xf7, 0xff, 0xff, //0x00002d41 jmp LBB0_475 + //0x00002d46 LBB0_583 + 0x4c, 0x89, 0xc2, //0x00002d46 movq %r8, %rdx + 0x48, 0xf7, 0xd2, //0x00002d49 notq %rdx + 0x48, 0x01, 0xd1, //0x00002d4c addq %rdx, %rcx + 0x48, 0x39, 0xc1, //0x00002d4f cmpq %rax, %rcx + 0x0f, 0x82, 0x40, 0xfa, 0xff, 0xff, //0x00002d52 jb LBB0_522 + 0xe9, 0x94, 0x05, 0x00, 0x00, //0x00002d58 jmp LBB0_657 + //0x00002d5d LBB0_584 + 0x4c, 0x89, 0xc2, //0x00002d5d movq %r8, %rdx + 0x48, 0xf7, 0xd2, //0x00002d60 notq %rdx + 0x48, 0x01, 0xd0, //0x00002d63 addq %rdx, %rax + 0x48, 0x39, 0xc8, //0x00002d66 cmpq %rcx, %rax + 0x0f, 0x82, 0xc9, 0xf5, 0xff, 0xff, //0x00002d69 jb LBB0_454 + 0xe9, 0x62, 0xf8, 0xff, 0xff, //0x00002d6f jmp LBB0_491 + //0x00002d74 LBB0_485 + 0x48, 0x85, 0xdb, //0x00002d74 testq %rbx, %rbx + 0x0f, 0x85, 0xbd, 0x00, 0x00, 0x00, //0x00002d77 jne LBB0_590 + 0x4a, 0x8d, 0x44, 0x09, 0x01, //0x00002d7d leaq $1(%rcx,%r9), %rax + 0x48, 0xf7, 0xd1, //0x00002d82 notq %rcx + 0x4c, 0x01, 0xc1, //0x00002d85 addq %r8, %rcx + //0x00002d88 LBB0_487 + 0x48, 0x85, 0xc9, //0x00002d88 testq %rcx, %rcx + 0x48, 0x8b, 0x3c, 0x24, //0x00002d8b movq (%rsp), %rdi + 0x4c, 0x8b, 0x4c, 0x24, 0x20, //0x00002d8f movq $32(%rsp), %r9 + 0x0f, 0x8e, 0x96, 0x00, 0x00, 0x00, //0x00002d94 jle LBB0_589 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00002d9a movq $24(%rsp), %r11 + 0xe9, 0x18, 0x00, 0x00, 0x00, //0x00002d9f jmp LBB0_579 + //0x00002da4 LBB0_578 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00002da4 movq $-2, %rdx + 0xbe, 0x02, 0x00, 0x00, 0x00, //0x00002dab movl $2, %esi + 0x48, 0x01, 0xf0, //0x00002db0 addq %rsi, %rax + 0x48, 0x01, 0xd1, //0x00002db3 addq %rdx, %rcx + 0x0f, 0x8e, 0x1a, 0xf8, 0xff, 0xff, //0x00002db6 jle LBB0_491 + //0x00002dbc LBB0_579 + 0x0f, 0xb6, 0x10, //0x00002dbc movzbl (%rax), %edx + 0x80, 0xfa, 0x5c, //0x00002dbf cmpb $92, %dl + 0x0f, 0x84, 0xdc, 0xff, 0xff, 0xff, //0x00002dc2 je LBB0_578 + 0x80, 0xfa, 0x22, //0x00002dc8 cmpb $34, %dl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x00002dcb je LBB0_585 + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00002dd1 movq $-1, %rdx + 0xbe, 0x01, 0x00, 0x00, 0x00, //0x00002dd8 movl $1, %esi + 0x48, 0x01, 0xf0, //0x00002ddd addq %rsi, %rax + 0x48, 0x01, 0xd1, //0x00002de0 addq %rdx, %rcx + 0x0f, 0x8f, 0xd3, 0xff, 0xff, 0xff, //0x00002de3 jg LBB0_579 + 0xe9, 0xe8, 0xf7, 0xff, 0xff, //0x00002de9 jmp LBB0_491 + //0x00002dee LBB0_585 + 0x48, 0x29, 0xf8, //0x00002dee subq %rdi, %rax + 0x48, 0xff, 0xc0, //0x00002df1 incq %rax + 0xe9, 0xd7, 0xf7, 0xff, 0xff, //0x00002df4 jmp LBB0_490 + //0x00002df9 LBB0_586 + 0x4d, 0x29, 0xc2, //0x00002df9 subq %r8, %r10 + 0x4d, 0x89, 0x16, //0x00002dfc movq %r10, (%r14) + 0xe9, 0xd2, 0xf7, 0xff, 0xff, //0x00002dff jmp LBB0_491 + //0x00002e04 LBB0_587 + 0x48, 0x8b, 0x04, 0x24, //0x00002e04 movq (%rsp), %rax + 0x4c, 0x01, 0xd0, //0x00002e08 addq %r10, %rax + 0xe9, 0x78, 0xff, 0xff, 0xff, //0x00002e0b jmp LBB0_487 + //0x00002e10 LBB0_588 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00002e10 movq $24(%rsp), %r11 + 0x4d, 0x8b, 0x13, //0x00002e15 movq (%r11), %r10 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00002e18 movq $8(%rsp), %r14 + 0x4d, 0x89, 0x16, //0x00002e1d movq %r10, (%r14) + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00002e20 movq $16(%rsp), %r15 + 0x49, 0x89, 0xc5, //0x00002e25 movq %rax, %r13 + 0x4d, 0x89, 0xe1, //0x00002e28 movq %r12, %r9 + 0xe9, 0xa6, 0xf7, 0xff, 0xff, //0x00002e2b jmp LBB0_491 + //0x00002e30 LBB0_589 + 0x4c, 0x8b, 0x5c, 0x24, 0x18, //0x00002e30 movq $24(%rsp), %r11 + 0xe9, 0x9c, 0xf7, 0xff, 0xff, //0x00002e35 jmp LBB0_491 + //0x00002e3a LBB0_590 + 0x49, 0x8d, 0x40, 0xff, //0x00002e3a leaq $-1(%r8), %rax + 0x48, 0x39, 0xc8, //0x00002e3e cmpq %rcx, %rax + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x00002e41 jne LBB0_593 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00002e47 movq $8(%rsp), %r14 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00002e4c movq $16(%rsp), %r15 + 0xe9, 0x51, 0xf7, 0xff, 0xff, //0x00002e51 jmp LBB0_592 + //0x00002e56 LBB0_593 + 0x4a, 0x8d, 0x44, 0x09, 0x02, //0x00002e56 leaq $2(%rcx,%r9), %rax + 0x49, 0x29, 0xc8, //0x00002e5b subq %rcx, %r8 + 0x49, 0x83, 0xc0, 0xfe, //0x00002e5e addq $-2, %r8 + 0x4c, 0x89, 0xc1, //0x00002e62 movq %r8, %rcx + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00002e65 movq $8(%rsp), %r14 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00002e6a movq $16(%rsp), %r15 + 0xe9, 0x14, 0xff, 0xff, 0xff, //0x00002e6f jmp LBB0_487 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002e74 .p2align 4, 0x90 + //0x00002e80 LBB0_524 + 0x49, 0x83, 0xc5, 0x10, //0x00002e80 addq $16, %r13 + 0x4c, 0x89, 0xd0, //0x00002e84 movq %r10, %rax + 0x48, 0x8b, 0x8c, 0x24, 0xa0, 0x00, 0x00, 0x00, //0x00002e87 movq $160(%rsp), %rcx + 0x49, 0x39, 0xcd, //0x00002e8f cmpq %rcx, %r13 + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00002e92 movq $40(%rsp), %r10 + 0x0f, 0x85, 0x82, 0xd4, 0xff, 0xff, //0x00002e97 jne LBB0_2 + 0xe9, 0x31, 0x00, 0x00, 0x00, //0x00002e9d jmp LBB0_525 + //0x00002ea2 LBB0_34 + 0x4d, 0x89, 0xc8, //0x00002ea2 movq %r9, %r8 + 0x4c, 0x89, 0xce, //0x00002ea5 movq %r9, %rsi + 0x48, 0xf7, 0xd6, //0x00002ea8 notq %rsi + 0x48, 0x01, 0xf2, //0x00002eab addq %rsi, %rdx + 0x48, 0x39, 0xca, //0x00002eae cmpq %rcx, %rdx + 0x0f, 0x82, 0x61, 0xd6, 0xff, 0xff, //0x00002eb1 jb LBB0_33 + 0xe9, 0x04, 0xd6, 0xff, 0xff, //0x00002eb7 jmp LBB0_35 + //0x00002ebc LBB0_594 + 0x4c, 0x89, 0xc2, //0x00002ebc movq %r8, %rdx + 0x48, 0xf7, 0xd2, //0x00002ebf notq %rdx + 0x48, 0x01, 0xd1, //0x00002ec2 addq %rdx, %rcx + 0x48, 0x39, 0xc1, //0x00002ec5 cmpq %rax, %rcx + 0x0f, 0x82, 0x8b, 0xf2, 0xff, 0xff, //0x00002ec8 jb LBB0_421 + 0xe9, 0x98, 0xf2, 0xff, 0xff, //0x00002ece jmp LBB0_422 + //0x00002ed3 LBB0_525 + 0x4d, 0x85, 0xd2, //0x00002ed3 testq %r10, %r10 + 0x0f, 0x84, 0x7c, 0x00, 0x00, 0x00, //0x00002ed6 je LBB0_595 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00002edc movl $1, %r9d + 0xc4, 0xc1, 0xf9, 0x6e, 0xc1, //0x00002ee2 vmovq %r9, %xmm0 + 0xc4, 0xc1, 0x7a, 0x7f, 0x02, //0x00002ee7 vmovdqu %xmm0, (%r10) + 0x4d, 0x8b, 0x2e, //0x00002eec movq (%r14), %r13 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002eef movq $-1, %r8 + 0xc5, 0xfe, 0x6f, 0x2d, 0x02, 0xd1, 0xff, 0xff, //0x00002ef6 vmovdqu $-12030(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x7a, 0xd1, 0xff, 0xff, //0x00002efe vmovdqu $-11910(%rip), %ymm6 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x92, 0xd1, 0xff, 0xff, //0x00002f06 vmovdqu $-11886(%rip), %ymm7 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0x0a, 0xd2, 0xff, 0xff, //0x00002f0e vmovdqu $-11766(%rip), %ymm8 /* LCPI0_12+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x0d, 0x22, 0xd2, 0xff, 0xff, //0x00002f16 vmovdqu $-11742(%rip), %ymm9 /* LCPI0_13+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x3a, 0xd2, 0xff, 0xff, //0x00002f1e vmovdqu $-11718(%rip), %ymm10 /* LCPI0_14+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x52, 0xd2, 0xff, 0xff, //0x00002f26 vmovdqu $-11694(%rip), %ymm11 /* LCPI0_15+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x0a, 0xd1, 0xff, 0xff, //0x00002f2e vmovdqu $-12022(%rip), %ymm12 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x62, 0xd2, 0xff, 0xff, //0x00002f36 vmovdqu $-11678(%rip), %ymm13 /* LCPI0_16+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x7a, 0xd2, 0xff, 0xff, //0x00002f3e vmovdqu $-11654(%rip), %ymm14 /* LCPI0_17+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x3d, 0xc2, 0xd2, 0xff, 0xff, //0x00002f46 vmovdqu $-11582(%rip), %xmm15 /* LCPI0_18+0(%rip) */ + 0x4c, 0x89, 0x54, 0x24, 0x28, //0x00002f4e movq %r10, $40(%rsp) + 0xe9, 0xea, 0x03, 0x00, 0x00, //0x00002f53 jmp LBB0_664 + //0x00002f58 LBB0_595 + 0x4d, 0x8b, 0x1f, //0x00002f58 movq (%r15), %r11 + 0x49, 0x8b, 0x5f, 0x08, //0x00002f5b movq $8(%r15), %rbx + 0x49, 0x8b, 0x0e, //0x00002f5f movq (%r14), %rcx + 0x48, 0x39, 0xd9, //0x00002f62 cmpq %rbx, %rcx + 0x0f, 0x83, 0x26, 0x00, 0x00, 0x00, //0x00002f65 jae LBB0_600 + 0x41, 0x8a, 0x04, 0x0b, //0x00002f6b movb (%r11,%rcx), %al + 0x3c, 0x0d, //0x00002f6f cmpb $13, %al + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00002f71 je LBB0_600 + 0x3c, 0x20, //0x00002f77 cmpb $32, %al + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00002f79 je LBB0_600 + 0x04, 0xf7, //0x00002f7f addb $-9, %al + 0x3c, 0x01, //0x00002f81 cmpb $1, %al + 0x0f, 0x86, 0x08, 0x00, 0x00, 0x00, //0x00002f83 jbe LBB0_600 + 0x48, 0x89, 0xc8, //0x00002f89 movq %rcx, %rax + 0xe9, 0xd1, 0x01, 0x00, 0x00, //0x00002f8c jmp LBB0_634 + //0x00002f91 LBB0_600 + 0x48, 0x8d, 0x41, 0x01, //0x00002f91 leaq $1(%rcx), %rax + 0x48, 0x39, 0xd8, //0x00002f95 cmpq %rbx, %rax + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00002f98 jae LBB0_604 + 0x41, 0x8a, 0x14, 0x03, //0x00002f9e movb (%r11,%rax), %dl + 0x80, 0xfa, 0x0d, //0x00002fa2 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00002fa5 je LBB0_604 + 0x80, 0xfa, 0x20, //0x00002fab cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x00002fae je LBB0_604 + 0x80, 0xc2, 0xf7, //0x00002fb4 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00002fb7 cmpb $1, %dl + 0x0f, 0x87, 0xa2, 0x01, 0x00, 0x00, //0x00002fba ja LBB0_634 + //0x00002fc0 LBB0_604 + 0x48, 0x8d, 0x41, 0x02, //0x00002fc0 leaq $2(%rcx), %rax + 0x48, 0x39, 0xd8, //0x00002fc4 cmpq %rbx, %rax + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00002fc7 jae LBB0_608 + 0x41, 0x8a, 0x14, 0x03, //0x00002fcd movb (%r11,%rax), %dl + 0x80, 0xfa, 0x0d, //0x00002fd1 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00002fd4 je LBB0_608 + 0x80, 0xfa, 0x20, //0x00002fda cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x00002fdd je LBB0_608 + 0x80, 0xc2, 0xf7, //0x00002fe3 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00002fe6 cmpb $1, %dl + 0x0f, 0x87, 0x73, 0x01, 0x00, 0x00, //0x00002fe9 ja LBB0_634 + //0x00002fef LBB0_608 + 0x48, 0x8d, 0x41, 0x03, //0x00002fef leaq $3(%rcx), %rax + 0x48, 0x39, 0xd8, //0x00002ff3 cmpq %rbx, %rax + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00002ff6 jae LBB0_612 + 0x41, 0x8a, 0x14, 0x03, //0x00002ffc movb (%r11,%rax), %dl + 0x80, 0xfa, 0x0d, //0x00003000 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00003003 je LBB0_612 + 0x80, 0xfa, 0x20, //0x00003009 cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000300c je LBB0_612 + 0x80, 0xc2, 0xf7, //0x00003012 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00003015 cmpb $1, %dl + 0x0f, 0x87, 0x44, 0x01, 0x00, 0x00, //0x00003018 ja LBB0_634 + //0x0000301e LBB0_612 + 0x48, 0x8d, 0x41, 0x04, //0x0000301e leaq $4(%rcx), %rax + 0x48, 0x89, 0xda, //0x00003022 movq %rbx, %rdx + 0x48, 0x29, 0xc2, //0x00003025 subq %rax, %rdx + 0x0f, 0x86, 0x06, 0x01, 0x00, 0x00, //0x00003028 jbe LBB0_632 + 0x4c, 0x01, 0xd8, //0x0000302e addq %r11, %rax + 0x48, 0x83, 0xfa, 0x20, //0x00003031 cmpq $32, %rdx + 0x0f, 0x82, 0x57, 0x00, 0x00, 0x00, //0x00003035 jb LBB0_618 + 0x48, 0x89, 0xde, //0x0000303b movq %rbx, %rsi + 0x48, 0x29, 0xce, //0x0000303e subq %rcx, %rsi + 0x48, 0x83, 0xc6, 0xdc, //0x00003041 addq $-36, %rsi + 0x48, 0x89, 0xf7, //0x00003045 movq %rsi, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x00003048 andq $-32, %rdi + 0x48, 0x01, 0xcf, //0x0000304c addq %rcx, %rdi + 0x49, 0x8d, 0x4c, 0x3b, 0x24, //0x0000304f leaq $36(%r11,%rdi), %rcx + 0x83, 0xe6, 0x1f, //0x00003054 andl $31, %esi + 0xc5, 0xfe, 0x6f, 0x05, 0xa1, 0xcf, 0xff, 0xff, //0x00003057 vmovdqu $-12383(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0x90, //0x0000305f .p2align 4, 0x90 + //0x00003060 LBB0_615 + 0xc5, 0xfe, 0x6f, 0x08, //0x00003060 vmovdqu (%rax), %ymm1 + 0xc4, 0xe2, 0x7d, 0x00, 0xd1, //0x00003064 vpshufb %ymm1, %ymm0, %ymm2 + 0xc5, 0xf5, 0x74, 0xca, //0x00003069 vpcmpeqb %ymm2, %ymm1, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf9, //0x0000306d vpmovmskb %ymm1, %edi + 0x83, 0xff, 0xff, //0x00003071 cmpl $-1, %edi + 0x0f, 0x85, 0xc9, 0x00, 0x00, 0x00, //0x00003074 jne LBB0_633 + 0x48, 0x83, 0xc0, 0x20, //0x0000307a addq $32, %rax + 0x48, 0x83, 0xc2, 0xe0, //0x0000307e addq $-32, %rdx + 0x48, 0x83, 0xfa, 0x1f, //0x00003082 cmpq $31, %rdx + 0x0f, 0x87, 0xd4, 0xff, 0xff, 0xff, //0x00003086 ja LBB0_615 + 0x48, 0x89, 0xf2, //0x0000308c movq %rsi, %rdx + 0x48, 0x89, 0xc8, //0x0000308f movq %rcx, %rax + //0x00003092 LBB0_618 + 0x48, 0x85, 0xd2, //0x00003092 testq %rdx, %rdx + 0x0f, 0x84, 0x3a, 0x00, 0x00, 0x00, //0x00003095 je LBB0_624 + 0x48, 0x8d, 0x0c, 0x10, //0x0000309b leaq (%rax,%rdx), %rcx + 0x48, 0xff, 0xc0, //0x0000309f incq %rax + 0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000030a2 movabsq $4294977024, %rsi + //0x000030ac LBB0_620 + 0x0f, 0xbe, 0x78, 0xff, //0x000030ac movsbl $-1(%rax), %edi + 0x83, 0xff, 0x20, //0x000030b0 cmpl $32, %edi + 0x0f, 0x87, 0xc9, 0x25, 0x00, 0x00, //0x000030b3 ja LBB0_1108 + 0x48, 0x0f, 0xa3, 0xfe, //0x000030b9 btq %rdi, %rsi + 0x0f, 0x83, 0xbf, 0x25, 0x00, 0x00, //0x000030bd jae LBB0_1108 + 0x48, 0xff, 0xca, //0x000030c3 decq %rdx + 0x48, 0xff, 0xc0, //0x000030c6 incq %rax + 0x48, 0x85, 0xd2, //0x000030c9 testq %rdx, %rdx + 0x0f, 0x85, 0xda, 0xff, 0xff, 0xff, //0x000030cc jne LBB0_620 + 0x48, 0x89, 0xc8, //0x000030d2 movq %rcx, %rax + //0x000030d5 LBB0_624 + 0x4c, 0x29, 0xd8, //0x000030d5 subq %r11, %rax + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000030d8 movq $-1, %rcx + 0x48, 0x39, 0xd8, //0x000030df cmpq %rbx, %rax + 0x0f, 0x82, 0x7a, 0x00, 0x00, 0x00, //0x000030e2 jb LBB0_634 + 0xe9, 0x11, 0x02, 0x00, 0x00, //0x000030e8 jmp LBB0_659 + //0x000030ed LBB0_625 + 0x49, 0x89, 0x0e, //0x000030ed movq %rcx, (%r14) + 0x49, 0x89, 0xca, //0x000030f0 movq %rcx, %r10 + 0xe9, 0xf9, 0x01, 0x00, 0x00, //0x000030f3 jmp LBB0_657 + //0x000030f8 LBB0_626 + 0x3c, 0x5d, //0x000030f8 cmpb $93, %al + 0x0f, 0x84, 0x22, 0x00, 0x00, 0x00, //0x000030fa je LBB0_631 + 0xe9, 0xec, 0x01, 0x00, 0x00, //0x00003100 jmp LBB0_657 + //0x00003105 LBB0_628 + 0x49, 0xff, 0xca, //0x00003105 decq %r10 + 0x4d, 0x89, 0x16, //0x00003108 movq %r10, (%r14) + 0x48, 0xc7, 0xc1, 0xde, 0xff, 0xff, 0xff, //0x0000310b movq $-34, %rcx + 0xe9, 0xe7, 0x01, 0x00, 0x00, //0x00003112 jmp LBB0_659 + //0x00003117 LBB0_629 + 0x4d, 0x89, 0xca, //0x00003117 movq %r9, %r10 + //0x0000311a LBB0_630 + 0x3c, 0x7d, //0x0000311a cmpb $125, %al + 0x0f, 0x85, 0xcf, 0x01, 0x00, 0x00, //0x0000311c jne LBB0_657 + //0x00003122 LBB0_631 + 0x49, 0xff, 0xca, //0x00003122 decq %r10 + 0x4d, 0x89, 0x16, //0x00003125 movq %r10, (%r14) + 0x48, 0xc7, 0xc1, 0xdf, 0xff, 0xff, 0xff, //0x00003128 movq $-33, %rcx + 0xe9, 0xca, 0x01, 0x00, 0x00, //0x0000312f jmp LBB0_659 + //0x00003134 LBB0_632 + 0x49, 0x89, 0x06, //0x00003134 movq %rax, (%r14) + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00003137 movq $-1, %rcx + 0xe9, 0xbb, 0x01, 0x00, 0x00, //0x0000313e jmp LBB0_659 + //0x00003143 LBB0_633 + 0x4c, 0x29, 0xd8, //0x00003143 subq %r11, %rax + 0xf7, 0xd7, //0x00003146 notl %edi + 0x48, 0x63, 0xcf, //0x00003148 movslq %edi, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x0000314b bsfq %rcx, %rcx + 0x48, 0x01, 0xc8, //0x0000314f addq %rcx, %rax + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00003152 movq $-1, %rcx + 0x48, 0x39, 0xd8, //0x00003159 cmpq %rbx, %rax + 0x0f, 0x83, 0x9c, 0x01, 0x00, 0x00, //0x0000315c jae LBB0_659 + //0x00003162 LBB0_634 + 0x48, 0x8d, 0x58, 0x01, //0x00003162 leaq $1(%rax), %rbx + 0x49, 0x89, 0x1e, //0x00003166 movq %rbx, (%r14) + 0x41, 0x0f, 0xbe, 0x14, 0x03, //0x00003169 movsbl (%r11,%rax), %edx + 0x83, 0xfa, 0x7b, //0x0000316e cmpl $123, %edx + 0x0f, 0x87, 0x53, 0x23, 0x00, 0x00, //0x00003171 ja LBB0_1087 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00003177 movq $-1, %rcx + 0x48, 0x8d, 0x35, 0xa3, 0x2d, 0x00, 0x00, //0x0000317e leaq $11683(%rip), %rsi /* LJTI0_6+0(%rip) */ + 0x48, 0x63, 0x14, 0x96, //0x00003185 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00003189 addq %rsi, %rdx + 0xff, 0xe2, //0x0000318c jmpq *%rdx + //0x0000318e LBB0_636 + 0x49, 0x8b, 0x57, 0x08, //0x0000318e movq $8(%r15), %rdx + 0x48, 0x89, 0xd1, //0x00003192 movq %rdx, %rcx + 0x48, 0x29, 0xd9, //0x00003195 subq %rbx, %rcx + 0x4c, 0x01, 0xdb, //0x00003198 addq %r11, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x0000319b cmpq $32, %rcx + 0x0f, 0x82, 0x73, 0x00, 0x00, 0x00, //0x0000319f jb LBB0_641 + 0x48, 0x29, 0xc2, //0x000031a5 subq %rax, %rdx + 0x48, 0x83, 0xc2, 0xdf, //0x000031a8 addq $-33, %rdx + 0x48, 0x89, 0xd6, //0x000031ac movq %rdx, %rsi + 0x48, 0x83, 0xe6, 0xe0, //0x000031af andq $-32, %rsi + 0x48, 0x01, 0xc6, //0x000031b3 addq %rax, %rsi + 0x49, 0x8d, 0x74, 0x33, 0x21, //0x000031b6 leaq $33(%r11,%rsi), %rsi + 0x83, 0xe2, 0x1f, //0x000031bb andl $31, %edx + 0xc5, 0xfe, 0x6f, 0x05, 0x5a, 0xce, 0xff, 0xff, //0x000031be vmovdqu $-12710(%rip), %ymm0 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0x72, 0xce, 0xff, 0xff, //0x000031c6 vmovdqu $-12686(%rip), %ymm1 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x15, 0x8a, 0xce, 0xff, 0xff, //0x000031ce vmovdqu $-12662(%rip), %ymm2 /* LCPI0_3+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000031d6 .p2align 4, 0x90 + //0x000031e0 LBB0_638 + 0xc5, 0xfe, 0x6f, 0x1b, //0x000031e0 vmovdqu (%rbx), %ymm3 + 0xc5, 0xe5, 0x74, 0xe0, //0x000031e4 vpcmpeqb %ymm0, %ymm3, %ymm4 + 0xc5, 0xe5, 0xeb, 0xd9, //0x000031e8 vpor %ymm1, %ymm3, %ymm3 + 0xc5, 0xe5, 0x74, 0xda, //0x000031ec vpcmpeqb %ymm2, %ymm3, %ymm3 + 0xc5, 0xe5, 0xeb, 0xdc, //0x000031f0 vpor %ymm4, %ymm3, %ymm3 + 0xc5, 0xfd, 0xd7, 0xfb, //0x000031f4 vpmovmskb %ymm3, %edi + 0x85, 0xff, //0x000031f8 testl %edi, %edi + 0x0f, 0x85, 0xd3, 0x00, 0x00, 0x00, //0x000031fa jne LBB0_654 + 0x48, 0x83, 0xc3, 0x20, //0x00003200 addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x00003204 addq $-32, %rcx + 0x48, 0x83, 0xf9, 0x1f, //0x00003208 cmpq $31, %rcx + 0x0f, 0x87, 0xce, 0xff, 0xff, 0xff, //0x0000320c ja LBB0_638 + 0x48, 0x89, 0xd1, //0x00003212 movq %rdx, %rcx + 0x48, 0x89, 0xf3, //0x00003215 movq %rsi, %rbx + //0x00003218 LBB0_641 + 0x48, 0x83, 0xf9, 0x10, //0x00003218 cmpq $16, %rcx + 0x0f, 0x82, 0x64, 0x00, 0x00, 0x00, //0x0000321c jb LBB0_646 + 0x48, 0x8d, 0x51, 0xf0, //0x00003222 leaq $-16(%rcx), %rdx + 0x48, 0x89, 0xd6, //0x00003226 movq %rdx, %rsi + 0x48, 0x83, 0xe6, 0xf0, //0x00003229 andq $-16, %rsi + 0x48, 0x8d, 0x74, 0x1e, 0x10, //0x0000322d leaq $16(%rsi,%rbx), %rsi + 0x83, 0xe2, 0x0f, //0x00003232 andl $15, %edx + 0xc5, 0xfa, 0x6f, 0x05, 0xa3, 0xcf, 0xff, 0xff, //0x00003235 vmovdqu $-12381(%rip), %xmm0 /* LCPI0_4+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0xab, 0xcf, 0xff, 0xff, //0x0000323d vmovdqu $-12373(%rip), %xmm1 /* LCPI0_5+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0xb3, 0xcf, 0xff, 0xff, //0x00003245 vmovdqu $-12365(%rip), %xmm2 /* LCPI0_6+0(%rip) */ + //0x0000324d LBB0_643 + 0xc5, 0xfa, 0x6f, 0x1b, //0x0000324d vmovdqu (%rbx), %xmm3 + 0xc5, 0xe1, 0x74, 0xe0, //0x00003251 vpcmpeqb %xmm0, %xmm3, %xmm4 + 0xc5, 0xe1, 0xeb, 0xd9, //0x00003255 vpor %xmm1, %xmm3, %xmm3 + 0xc5, 0xe1, 0x74, 0xda, //0x00003259 vpcmpeqb %xmm2, %xmm3, %xmm3 + 0xc5, 0xe1, 0xeb, 0xdc, //0x0000325d vpor %xmm4, %xmm3, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x00003261 vpmovmskb %xmm3, %edi + 0x66, 0x85, 0xff, //0x00003265 testw %di, %di + 0x0f, 0x85, 0xe8, 0x22, 0x00, 0x00, //0x00003268 jne LBB0_1095 + 0x48, 0x83, 0xc3, 0x10, //0x0000326e addq $16, %rbx + 0x48, 0x83, 0xc1, 0xf0, //0x00003272 addq $-16, %rcx + 0x48, 0x83, 0xf9, 0x0f, //0x00003276 cmpq $15, %rcx + 0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x0000327a ja LBB0_643 + 0x48, 0x89, 0xd1, //0x00003280 movq %rdx, %rcx + 0x48, 0x89, 0xf3, //0x00003283 movq %rsi, %rbx + //0x00003286 LBB0_646 + 0x48, 0x85, 0xc9, //0x00003286 testq %rcx, %rcx + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x00003289 je LBB0_653 + 0x48, 0x8d, 0x34, 0x0b, //0x0000328f leaq (%rbx,%rcx), %rsi + //0x00003293 LBB0_648 + 0x0f, 0xb6, 0x13, //0x00003293 movzbl (%rbx), %edx + 0x80, 0xfa, 0x2c, //0x00003296 cmpb $44, %dl + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00003299 je LBB0_653 + 0x80, 0xfa, 0x7d, //0x0000329f cmpb $125, %dl + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x000032a2 je LBB0_653 + 0x80, 0xfa, 0x5d, //0x000032a8 cmpb $93, %dl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x000032ab je LBB0_653 + 0x48, 0xff, 0xc3, //0x000032b1 incq %rbx + 0x48, 0xff, 0xc9, //0x000032b4 decq %rcx + 0x0f, 0x85, 0xd6, 0xff, 0xff, 0xff, //0x000032b7 jne LBB0_648 + 0x48, 0x89, 0xf3, //0x000032bd movq %rsi, %rbx + //0x000032c0 LBB0_653 + 0x4c, 0x29, 0xdb, //0x000032c0 subq %r11, %rbx + 0x48, 0x8b, 0x4c, 0x24, 0x08, //0x000032c3 movq $8(%rsp), %rcx + 0x48, 0x89, 0x19, //0x000032c8 movq %rbx, (%rcx) + 0x48, 0x89, 0xc1, //0x000032cb movq %rax, %rcx + 0xe9, 0x2b, 0x00, 0x00, 0x00, //0x000032ce jmp LBB0_659 + //0x000032d3 LBB0_654 + 0x48, 0x63, 0xcf, //0x000032d3 movslq %edi, %rcx + //0x000032d6 LBB0_655 + 0x48, 0x0f, 0xbc, 0xc9, //0x000032d6 bsfq %rcx, %rcx + 0x4c, 0x29, 0xdb, //0x000032da subq %r11, %rbx + 0x48, 0x01, 0xcb, //0x000032dd addq %rcx, %rbx + 0x49, 0x89, 0x1e, //0x000032e0 movq %rbx, (%r14) + 0x48, 0x89, 0xc1, //0x000032e3 movq %rax, %rcx + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x000032e6 jmp LBB0_659 + //0x000032eb LBB0_656 + 0x49, 0x89, 0x06, //0x000032eb movq %rax, (%r14) + 0x49, 0x89, 0xc2, //0x000032ee movq %rax, %r10 + //0x000032f1 LBB0_657 + 0x49, 0xff, 0xca, //0x000032f1 decq %r10 + 0x4d, 0x89, 0x16, //0x000032f4 movq %r10, (%r14) + //0x000032f7 LBB0_658 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000032f7 movq $-2, %rcx + //0x000032fe LBB0_659 + 0x48, 0x89, 0xc8, //0x000032fe movq %rcx, %rax + 0x48, 0x8d, 0x65, 0xd8, //0x00003301 leaq $-40(%rbp), %rsp + 0x5b, //0x00003305 popq %rbx + 0x41, 0x5c, //0x00003306 popq %r12 + 0x41, 0x5d, //0x00003308 popq %r13 + 0x41, 0x5e, //0x0000330a popq %r14 + 0x41, 0x5f, //0x0000330c popq %r15 + 0x5d, //0x0000330e popq %rbp + 0xc5, 0xf8, 0x77, //0x0000330f vzeroupper + 0xc3, //0x00003312 retq + //0x00003313 LBB0_660 + 0x4c, 0x89, 0xe8, //0x00003313 movq %r13, %rax + 0x4d, 0x8d, 0x6b, 0x04, //0x00003316 leaq $4(%r11), %r13 + 0x4d, 0x89, 0x2e, //0x0000331a movq %r13, (%r14) + 0x4c, 0x89, 0xd9, //0x0000331d movq %r11, %rcx + 0x48, 0x85, 0xc0, //0x00003320 testq %rax, %rax + 0x0f, 0x8e, 0xd5, 0xff, 0xff, 0xff, //0x00003323 jle LBB0_659 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003329 .p2align 4, 0x90 + //0x00003330 LBB0_662 + 0x49, 0x8b, 0x32, //0x00003330 movq (%r10), %rsi + 0x49, 0x89, 0xf1, //0x00003333 movq %rsi, %r9 + 0x4c, 0x89, 0xc1, //0x00003336 movq %r8, %rcx + 0x48, 0x85, 0xf6, //0x00003339 testq %rsi, %rsi + 0x0f, 0x84, 0xbc, 0xff, 0xff, 0xff, //0x0000333c je LBB0_659 + //0x00003342 LBB0_664 + 0x4d, 0x8b, 0x27, //0x00003342 movq (%r15), %r12 + 0x49, 0x8b, 0x57, 0x08, //0x00003345 movq $8(%r15), %rdx + 0x49, 0x39, 0xd5, //0x00003349 cmpq %rdx, %r13 + 0x0f, 0x83, 0x2e, 0x00, 0x00, 0x00, //0x0000334c jae LBB0_669 + 0x43, 0x8a, 0x04, 0x2c, //0x00003352 movb (%r12,%r13), %al + 0x3c, 0x0d, //0x00003356 cmpb $13, %al + 0x0f, 0x84, 0x22, 0x00, 0x00, 0x00, //0x00003358 je LBB0_669 + 0x3c, 0x20, //0x0000335e cmpb $32, %al + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00003360 je LBB0_669 + 0x04, 0xf7, //0x00003366 addb $-9, %al + 0x3c, 0x01, //0x00003368 cmpb $1, %al + 0x0f, 0x86, 0x10, 0x00, 0x00, 0x00, //0x0000336a jbe LBB0_669 + 0x4d, 0x89, 0xeb, //0x00003370 movq %r13, %r11 + 0xe9, 0x83, 0x01, 0x00, 0x00, //0x00003373 jmp LBB0_695 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003378 .p2align 4, 0x90 + //0x00003380 LBB0_669 + 0x4d, 0x8d, 0x5d, 0x01, //0x00003380 leaq $1(%r13), %r11 + 0x49, 0x39, 0xd3, //0x00003384 cmpq %rdx, %r11 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00003387 jae LBB0_673 + 0x43, 0x8a, 0x1c, 0x1c, //0x0000338d movb (%r12,%r11), %bl + 0x80, 0xfb, 0x0d, //0x00003391 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00003394 je LBB0_673 + 0x80, 0xfb, 0x20, //0x0000339a cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000339d je LBB0_673 + 0x80, 0xc3, 0xf7, //0x000033a3 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000033a6 cmpb $1, %bl + 0x0f, 0x87, 0x4c, 0x01, 0x00, 0x00, //0x000033a9 ja LBB0_695 + 0x90, //0x000033af .p2align 4, 0x90 + //0x000033b0 LBB0_673 + 0x4d, 0x8d, 0x5d, 0x02, //0x000033b0 leaq $2(%r13), %r11 + 0x49, 0x39, 0xd3, //0x000033b4 cmpq %rdx, %r11 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000033b7 jae LBB0_677 + 0x43, 0x8a, 0x1c, 0x1c, //0x000033bd movb (%r12,%r11), %bl + 0x80, 0xfb, 0x0d, //0x000033c1 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000033c4 je LBB0_677 + 0x80, 0xfb, 0x20, //0x000033ca cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x000033cd je LBB0_677 + 0x80, 0xc3, 0xf7, //0x000033d3 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000033d6 cmpb $1, %bl + 0x0f, 0x87, 0x1c, 0x01, 0x00, 0x00, //0x000033d9 ja LBB0_695 + 0x90, //0x000033df .p2align 4, 0x90 + //0x000033e0 LBB0_677 + 0x4d, 0x8d, 0x5d, 0x03, //0x000033e0 leaq $3(%r13), %r11 + 0x49, 0x39, 0xd3, //0x000033e4 cmpq %rdx, %r11 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000033e7 jae LBB0_681 + 0x43, 0x8a, 0x1c, 0x1c, //0x000033ed movb (%r12,%r11), %bl + 0x80, 0xfb, 0x0d, //0x000033f1 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000033f4 je LBB0_681 + 0x80, 0xfb, 0x20, //0x000033fa cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x000033fd je LBB0_681 + 0x80, 0xc3, 0xf7, //0x00003403 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00003406 cmpb $1, %bl + 0x0f, 0x87, 0xec, 0x00, 0x00, 0x00, //0x00003409 ja LBB0_695 + 0x90, //0x0000340f .p2align 4, 0x90 + //0x00003410 LBB0_681 + 0x4d, 0x8d, 0x5d, 0x04, //0x00003410 leaq $4(%r13), %r11 + 0x48, 0x89, 0xd6, //0x00003414 movq %rdx, %rsi + 0x4c, 0x29, 0xde, //0x00003417 subq %r11, %rsi + 0x0f, 0x86, 0x82, 0x19, 0x00, 0x00, //0x0000341a jbe LBB0_1013 + 0x4d, 0x01, 0xe3, //0x00003420 addq %r12, %r11 + 0x48, 0x83, 0xfe, 0x20, //0x00003423 cmpq $32, %rsi + 0x0f, 0x82, 0x59, 0x00, 0x00, 0x00, //0x00003427 jb LBB0_687 + 0x4c, 0x89, 0xc0, //0x0000342d movq %r8, %rax + 0x48, 0x89, 0xd1, //0x00003430 movq %rdx, %rcx + 0x4c, 0x29, 0xe9, //0x00003433 subq %r13, %rcx + 0x48, 0x83, 0xc1, 0xdc, //0x00003436 addq $-36, %rcx + 0x48, 0x89, 0xcf, //0x0000343a movq %rcx, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x0000343d andq $-32, %rdi + 0x4c, 0x01, 0xef, //0x00003441 addq %r13, %rdi + 0x4d, 0x8d, 0x44, 0x3c, 0x24, //0x00003444 leaq $36(%r12,%rdi), %r8 + 0x83, 0xe1, 0x1f, //0x00003449 andl $31, %ecx + 0x90, 0x90, 0x90, 0x90, //0x0000344c .p2align 4, 0x90 + //0x00003450 LBB0_684 + 0xc4, 0xc1, 0x7e, 0x6f, 0x03, //0x00003450 vmovdqu (%r11), %ymm0 + 0xc4, 0xe2, 0x55, 0x00, 0xc8, //0x00003455 vpshufb %ymm0, %ymm5, %ymm1 + 0xc5, 0xfd, 0x74, 0xc1, //0x0000345a vpcmpeqb %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xd8, //0x0000345e vpmovmskb %ymm0, %ebx + 0x83, 0xfb, 0xff, //0x00003462 cmpl $-1, %ebx + 0x0f, 0x85, 0x75, 0x00, 0x00, 0x00, //0x00003465 jne LBB0_694 + 0x49, 0x83, 0xc3, 0x20, //0x0000346b addq $32, %r11 + 0x48, 0x83, 0xc6, 0xe0, //0x0000346f addq $-32, %rsi + 0x48, 0x83, 0xfe, 0x1f, //0x00003473 cmpq $31, %rsi + 0x0f, 0x87, 0xd3, 0xff, 0xff, 0xff, //0x00003477 ja LBB0_684 + 0x48, 0x89, 0xce, //0x0000347d movq %rcx, %rsi + 0x4d, 0x89, 0xc3, //0x00003480 movq %r8, %r11 + 0x49, 0x89, 0xc0, //0x00003483 movq %rax, %r8 + //0x00003486 LBB0_687 + 0x48, 0x85, 0xf6, //0x00003486 testq %rsi, %rsi + 0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00003489 movabsq $4294977024, %rax + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x00003493 je LBB0_693 + 0x49, 0x8d, 0x3c, 0x33, //0x00003499 leaq (%r11,%rsi), %rdi + 0x49, 0xff, 0xc3, //0x0000349d incq %r11 + //0x000034a0 LBB0_689 + 0x41, 0x0f, 0xbe, 0x5b, 0xff, //0x000034a0 movsbl $-1(%r11), %ebx + 0x83, 0xfb, 0x20, //0x000034a5 cmpl $32, %ebx + 0x0f, 0x87, 0xcf, 0x0c, 0x00, 0x00, //0x000034a8 ja LBB0_869 + 0x48, 0x0f, 0xa3, 0xd8, //0x000034ae btq %rbx, %rax + 0x0f, 0x83, 0xc5, 0x0c, 0x00, 0x00, //0x000034b2 jae LBB0_869 + 0x48, 0xff, 0xce, //0x000034b8 decq %rsi + 0x49, 0xff, 0xc3, //0x000034bb incq %r11 + 0x48, 0x85, 0xf6, //0x000034be testq %rsi, %rsi + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x000034c1 jne LBB0_689 + 0x49, 0x89, 0xfb, //0x000034c7 movq %rdi, %r11 + //0x000034ca LBB0_693 + 0x4d, 0x29, 0xe3, //0x000034ca subq %r12, %r11 + 0x49, 0x39, 0xd3, //0x000034cd cmpq %rdx, %r11 + 0x0f, 0x82, 0x25, 0x00, 0x00, 0x00, //0x000034d0 jb LBB0_695 + 0xe9, 0xca, 0x18, 0x00, 0x00, //0x000034d6 jmp LBB0_1014 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000034db .p2align 4, 0x90 + //0x000034e0 LBB0_694 + 0x4d, 0x29, 0xe3, //0x000034e0 subq %r12, %r11 + 0xf7, 0xd3, //0x000034e3 notl %ebx + 0x48, 0x63, 0xcb, //0x000034e5 movslq %ebx, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x000034e8 bsfq %rcx, %rcx + 0x49, 0x01, 0xcb, //0x000034ec addq %rcx, %r11 + 0x49, 0x89, 0xc0, //0x000034ef movq %rax, %r8 + 0x49, 0x39, 0xd3, //0x000034f2 cmpq %rdx, %r11 + 0x0f, 0x83, 0xaa, 0x18, 0x00, 0x00, //0x000034f5 jae LBB0_1014 + //0x000034fb LBB0_695 + 0x4d, 0x8d, 0x6b, 0x01, //0x000034fb leaq $1(%r11), %r13 + 0x4d, 0x89, 0x2e, //0x000034ff movq %r13, (%r14) + 0x43, 0x0f, 0xbe, 0x3c, 0x1c, //0x00003502 movsbl (%r12,%r11), %edi + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00003507 movq $-1, %rcx + 0x85, 0xff, //0x0000350e testl %edi, %edi + 0x0f, 0x84, 0xe8, 0xfd, 0xff, 0xff, //0x00003510 je LBB0_659 + 0x49, 0x8d, 0x71, 0xff, //0x00003516 leaq $-1(%r9), %rsi + 0x43, 0x8b, 0x1c, 0xca, //0x0000351a movl (%r10,%r9,8), %ebx + 0x49, 0x83, 0xf8, 0xff, //0x0000351e cmpq $-1, %r8 + 0x4d, 0x0f, 0x44, 0xc3, //0x00003522 cmoveq %r11, %r8 + 0xff, 0xcb, //0x00003526 decl %ebx + 0x83, 0xfb, 0x05, //0x00003528 cmpl $5, %ebx + 0x0f, 0x87, 0xe7, 0x01, 0x00, 0x00, //0x0000352b ja LBB0_724 + 0x48, 0x8d, 0x05, 0x10, 0x26, 0x00, 0x00, //0x00003531 leaq $9744(%rip), %rax /* LJTI0_2+0(%rip) */ + 0x48, 0x63, 0x14, 0x98, //0x00003538 movslq (%rax,%rbx,4), %rdx + 0x48, 0x01, 0xc2, //0x0000353c addq %rax, %rdx + 0xff, 0xe2, //0x0000353f jmpq *%rdx + //0x00003541 LBB0_698 + 0x83, 0xff, 0x2c, //0x00003541 cmpl $44, %edi + 0x0f, 0x84, 0x77, 0x02, 0x00, 0x00, //0x00003544 je LBB0_733 + 0x83, 0xff, 0x5d, //0x0000354a cmpl $93, %edi + 0x0f, 0x84, 0x57, 0x02, 0x00, 0x00, //0x0000354d je LBB0_700 + 0xe9, 0x9f, 0xfd, 0xff, 0xff, //0x00003553 jmp LBB0_658 + //0x00003558 LBB0_701 + 0x40, 0x80, 0xff, 0x5d, //0x00003558 cmpb $93, %dil + 0x0f, 0x84, 0x48, 0x02, 0x00, 0x00, //0x0000355c je LBB0_700 + 0x4b, 0xc7, 0x04, 0xca, 0x01, 0x00, 0x00, 0x00, //0x00003562 movq $1, (%r10,%r9,8) + 0x83, 0xff, 0x7b, //0x0000356a cmpl $123, %edi + 0x0f, 0x86, 0xb1, 0x01, 0x00, 0x00, //0x0000356d jbe LBB0_703 + 0xe9, 0x7f, 0xfd, 0xff, 0xff, //0x00003573 jmp LBB0_658 + //0x00003578 LBB0_704 + 0x40, 0x80, 0xff, 0x22, //0x00003578 cmpb $34, %dil + 0x0f, 0x85, 0x75, 0xfd, 0xff, 0xff, //0x0000357c jne LBB0_658 + 0x4b, 0xc7, 0x04, 0xca, 0x04, 0x00, 0x00, 0x00, //0x00003582 movq $4, (%r10,%r9,8) + 0x49, 0x8b, 0x57, 0x08, //0x0000358a movq $8(%r15), %rdx + 0x48, 0x89, 0xd1, //0x0000358e movq %rdx, %rcx + 0x4c, 0x29, 0xe9, //0x00003591 subq %r13, %rcx + 0x0f, 0x84, 0x06, 0x21, 0x00, 0x00, //0x00003594 je LBB0_1109 + 0x4c, 0x89, 0x6c, 0x24, 0x20, //0x0000359a movq %r13, $32(%rsp) + 0x4b, 0x8d, 0x1c, 0x2c, //0x0000359f leaq (%r12,%r13), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x000035a3 cmpq $64, %rcx + 0x48, 0x89, 0x54, 0x24, 0x18, //0x000035a7 movq %rdx, $24(%rsp) + 0x0f, 0x82, 0xf1, 0x12, 0x00, 0x00, //0x000035ac jb LBB0_949 + 0x4c, 0x89, 0x04, 0x24, //0x000035b2 movq %r8, (%rsp) + 0x4d, 0x89, 0xd0, //0x000035b6 movq %r10, %r8 + 0x41, 0x89, 0xca, //0x000035b9 movl %ecx, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x000035bc andl $63, %r10d + 0x4c, 0x29, 0xda, //0x000035c0 subq %r11, %rdx + 0x48, 0x83, 0xc2, 0xbf, //0x000035c3 addq $-65, %rdx + 0x48, 0x83, 0xe2, 0xc0, //0x000035c7 andq $-64, %rdx + 0x4c, 0x01, 0xda, //0x000035cb addq %r11, %rdx + 0x4d, 0x8d, 0x6c, 0x14, 0x41, //0x000035ce leaq $65(%r12,%rdx), %r13 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000035d3 movq $-1, %r9 + 0x45, 0x31, 0xf6, //0x000035da xorl %r14d, %r14d + 0x90, 0x90, 0x90, //0x000035dd .p2align 4, 0x90 + //0x000035e0 LBB0_708 + 0xc5, 0xfe, 0x6f, 0x03, //0x000035e0 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x000035e4 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x000035e9 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x000035ed vpmovmskb %ymm2, %edx + 0xc5, 0xf5, 0x74, 0xd6, //0x000035f1 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x000035f5 vpmovmskb %ymm2, %edi + 0xc5, 0xfd, 0x74, 0xc7, //0x000035f9 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x000035fd vpmovmskb %ymm0, %esi + 0xc5, 0xf5, 0x74, 0xc7, //0x00003601 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00003605 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe7, 0x20, //0x00003609 shlq $32, %rdi + 0x48, 0xc1, 0xe0, 0x20, //0x0000360d shlq $32, %rax + 0x48, 0x09, 0xc6, //0x00003611 orq %rax, %rsi + 0x49, 0x83, 0xf9, 0xff, //0x00003614 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00003618 jne LBB0_710 + 0x48, 0x85, 0xf6, //0x0000361e testq %rsi, %rsi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00003621 jne LBB0_718 + //0x00003627 LBB0_710 + 0x48, 0x09, 0xd7, //0x00003627 orq %rdx, %rdi + 0x48, 0x89, 0xf0, //0x0000362a movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x0000362d orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00003630 jne LBB0_719 + //0x00003636 LBB0_711 + 0x48, 0x85, 0xff, //0x00003636 testq %rdi, %rdi + 0x0f, 0x85, 0x8a, 0x00, 0x00, 0x00, //0x00003639 jne LBB0_720 + //0x0000363f LBB0_712 + 0x48, 0x83, 0xc1, 0xc0, //0x0000363f addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x00003643 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x00003647 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x0000364b ja LBB0_708 + 0xe9, 0x2e, 0x0f, 0x00, 0x00, //0x00003651 jmp LBB0_713 + //0x00003656 LBB0_718 + 0x48, 0x89, 0xd8, //0x00003656 movq %rbx, %rax + 0x4c, 0x29, 0xe0, //0x00003659 subq %r12, %rax + 0x4c, 0x0f, 0xbc, 0xce, //0x0000365c bsfq %rsi, %r9 + 0x49, 0x01, 0xc1, //0x00003660 addq %rax, %r9 + 0x48, 0x09, 0xd7, //0x00003663 orq %rdx, %rdi + 0x48, 0x89, 0xf0, //0x00003666 movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00003669 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x0000366c je LBB0_711 + //0x00003672 LBB0_719 + 0x4c, 0x89, 0xf0, //0x00003672 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00003675 notq %rax + 0x48, 0x21, 0xf0, //0x00003678 andq %rsi, %rax + 0x4c, 0x8d, 0x3c, 0x00, //0x0000367b leaq (%rax,%rax), %r15 + 0x4d, 0x09, 0xf7, //0x0000367f orq %r14, %r15 + 0x4c, 0x89, 0xfa, //0x00003682 movq %r15, %rdx + 0x48, 0xf7, 0xd2, //0x00003685 notq %rdx + 0x48, 0x21, 0xf2, //0x00003688 andq %rsi, %rdx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000368b movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf2, //0x00003695 andq %rsi, %rdx + 0x45, 0x31, 0xf6, //0x00003698 xorl %r14d, %r14d + 0x48, 0x01, 0xc2, //0x0000369b addq %rax, %rdx + 0x41, 0x0f, 0x92, 0xc6, //0x0000369e setb %r14b + 0x48, 0x01, 0xd2, //0x000036a2 addq %rdx, %rdx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000036a5 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc2, //0x000036af xorq %rax, %rdx + 0x4c, 0x21, 0xfa, //0x000036b2 andq %r15, %rdx + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x000036b5 movq $16(%rsp), %r15 + 0x48, 0xf7, 0xd2, //0x000036ba notq %rdx + 0x48, 0x21, 0xd7, //0x000036bd andq %rdx, %rdi + 0x48, 0x85, 0xff, //0x000036c0 testq %rdi, %rdi + 0x0f, 0x84, 0x76, 0xff, 0xff, 0xff, //0x000036c3 je LBB0_712 + //0x000036c9 LBB0_720 + 0x48, 0x0f, 0xbc, 0xc7, //0x000036c9 bsfq %rdi, %rax + 0x4c, 0x29, 0xe3, //0x000036cd subq %r12, %rbx + 0x4c, 0x8d, 0x6c, 0x03, 0x01, //0x000036d0 leaq $1(%rbx,%rax), %r13 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x000036d5 movq $8(%rsp), %r14 + 0x4d, 0x89, 0xc2, //0x000036da movq %r8, %r10 + 0x4c, 0x8b, 0x04, 0x24, //0x000036dd movq (%rsp), %r8 + 0x4d, 0x85, 0xed, //0x000036e1 testq %r13, %r13 + 0x0f, 0x88, 0xdc, 0x16, 0x00, 0x00, //0x000036e4 js LBB0_978 + //0x000036ea LBB0_721 + 0x4d, 0x89, 0x2e, //0x000036ea movq %r13, (%r14) + 0x4c, 0x89, 0xd9, //0x000036ed movq %r11, %rcx + 0x48, 0x83, 0x7c, 0x24, 0x20, 0x00, //0x000036f0 cmpq $0, $32(%rsp) + 0x0f, 0x8f, 0x34, 0xfc, 0xff, 0xff, //0x000036f6 jg LBB0_662 + 0xe9, 0xfd, 0xfb, 0xff, 0xff, //0x000036fc jmp LBB0_659 + //0x00003701 LBB0_722 + 0x40, 0x80, 0xff, 0x3a, //0x00003701 cmpb $58, %dil + 0x0f, 0x85, 0xec, 0xfb, 0xff, 0xff, //0x00003705 jne LBB0_658 + 0x4b, 0xc7, 0x04, 0xca, 0x00, 0x00, 0x00, 0x00, //0x0000370b movq $0, (%r10,%r9,8) + 0xe9, 0x18, 0xfc, 0xff, 0xff, //0x00003713 jmp LBB0_662 + //0x00003718 LBB0_724 + 0x49, 0x89, 0x32, //0x00003718 movq %rsi, (%r10) + 0x83, 0xff, 0x7b, //0x0000371b cmpl $123, %edi + 0x0f, 0x87, 0xd3, 0xfb, 0xff, 0xff, //0x0000371e ja LBB0_658 + //0x00003724 LBB0_703 + 0x4f, 0x8d, 0x0c, 0x1c, //0x00003724 leaq (%r12,%r11), %r9 + 0x89, 0xf8, //0x00003728 movl %edi, %eax + 0x48, 0x8d, 0x15, 0x2f, 0x24, 0x00, 0x00, //0x0000372a leaq $9263(%rip), %rdx /* LJTI0_3+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x00003731 movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x00003735 addq %rdx, %rax + 0xff, 0xe0, //0x00003738 jmpq *%rax + //0x0000373a LBB0_729 + 0x4d, 0x8b, 0x57, 0x08, //0x0000373a movq $8(%r15), %r10 + 0x4d, 0x29, 0xda, //0x0000373e subq %r11, %r10 + 0x0f, 0x84, 0x9a, 0x16, 0x00, 0x00, //0x00003741 je LBB0_1016 + 0x4c, 0x89, 0x04, 0x24, //0x00003747 movq %r8, (%rsp) + 0x41, 0x80, 0x39, 0x30, //0x0000374b cmpb $48, (%r9) + 0x0f, 0x85, 0x57, 0x02, 0x00, 0x00, //0x0000374f jne LBB0_758 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00003755 movl $1, %r8d + 0x49, 0x83, 0xfa, 0x01, //0x0000375b cmpq $1, %r10 + 0x0f, 0x85, 0x1d, 0x02, 0x00, 0x00, //0x0000375f jne LBB0_756 + //0x00003765 LBB0_732 + 0x4c, 0x89, 0xe9, //0x00003765 movq %r13, %rcx + 0xe9, 0xeb, 0x09, 0x00, 0x00, //0x00003768 jmp LBB0_867 + //0x0000376d LBB0_725 + 0x83, 0xff, 0x2c, //0x0000376d cmpl $44, %edi + 0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x00003770 jne LBB0_726 + 0x49, 0x81, 0xf9, 0xff, 0x0f, 0x00, 0x00, //0x00003776 cmpq $4095, %r9 + 0x0f, 0x8f, 0x2e, 0x16, 0x00, 0x00, //0x0000377d jg LBB0_1097 + 0x49, 0x8d, 0x41, 0x01, //0x00003783 leaq $1(%r9), %rax + 0x49, 0x89, 0x02, //0x00003787 movq %rax, (%r10) + 0x4b, 0xc7, 0x44, 0xca, 0x08, 0x03, 0x00, 0x00, 0x00, //0x0000378a movq $3, $8(%r10,%r9,8) + 0xe9, 0x98, 0xfb, 0xff, 0xff, //0x00003793 jmp LBB0_662 + //0x00003798 LBB0_727 + 0x83, 0xff, 0x22, //0x00003798 cmpl $34, %edi + 0x0f, 0x84, 0x42, 0x00, 0x00, 0x00, //0x0000379b je LBB0_737 + //0x000037a1 LBB0_726 + 0x83, 0xff, 0x7d, //0x000037a1 cmpl $125, %edi + 0x0f, 0x85, 0x4d, 0xfb, 0xff, 0xff, //0x000037a4 jne LBB0_658 + //0x000037aa LBB0_700 + 0x49, 0x89, 0x32, //0x000037aa movq %rsi, (%r10) + 0x49, 0x89, 0xf1, //0x000037ad movq %rsi, %r9 + 0x4c, 0x89, 0xc1, //0x000037b0 movq %r8, %rcx + 0x48, 0x85, 0xf6, //0x000037b3 testq %rsi, %rsi + 0x0f, 0x85, 0x86, 0xfb, 0xff, 0xff, //0x000037b6 jne LBB0_664 + 0xe9, 0x3d, 0xfb, 0xff, 0xff, //0x000037bc jmp LBB0_659 + //0x000037c1 LBB0_733 + 0x49, 0x81, 0xf9, 0xff, 0x0f, 0x00, 0x00, //0x000037c1 cmpq $4095, %r9 + 0x0f, 0x8f, 0xe3, 0x15, 0x00, 0x00, //0x000037c8 jg LBB0_1097 + 0x49, 0x8d, 0x41, 0x01, //0x000037ce leaq $1(%r9), %rax + 0x49, 0x89, 0x02, //0x000037d2 movq %rax, (%r10) + 0x4b, 0xc7, 0x44, 0xca, 0x08, 0x00, 0x00, 0x00, 0x00, //0x000037d5 movq $0, $8(%r10,%r9,8) + 0xe9, 0x4d, 0xfb, 0xff, 0xff, //0x000037de jmp LBB0_662 + //0x000037e3 LBB0_737 + 0x4c, 0x89, 0x04, 0x24, //0x000037e3 movq %r8, (%rsp) + 0x4b, 0xc7, 0x04, 0xca, 0x02, 0x00, 0x00, 0x00, //0x000037e7 movq $2, (%r10,%r9,8) + 0x4d, 0x8b, 0x47, 0x08, //0x000037ef movq $8(%r15), %r8 + 0x4c, 0x89, 0xc1, //0x000037f3 movq %r8, %rcx + 0x4c, 0x29, 0xe9, //0x000037f6 subq %r13, %rcx + 0x0f, 0x84, 0xbb, 0x1e, 0x00, 0x00, //0x000037f9 je LBB0_1116 + 0x4c, 0x89, 0x6c, 0x24, 0x20, //0x000037ff movq %r13, $32(%rsp) + 0x4b, 0x8d, 0x1c, 0x2c, //0x00003804 leaq (%r12,%r13), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x00003808 cmpq $64, %rcx + 0x0f, 0x82, 0x2e, 0x11, 0x00, 0x00, //0x0000380c jb LBB0_957 + 0x41, 0x89, 0xca, //0x00003812 movl %ecx, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x00003815 andl $63, %r10d + 0x4c, 0x89, 0xc0, //0x00003819 movq %r8, %rax + 0x4c, 0x29, 0xd8, //0x0000381c subq %r11, %rax + 0x48, 0x83, 0xc0, 0xbf, //0x0000381f addq $-65, %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00003823 andq $-64, %rax + 0x4c, 0x01, 0xd8, //0x00003827 addq %r11, %rax + 0x4d, 0x8d, 0x6c, 0x04, 0x41, //0x0000382a leaq $65(%r12,%rax), %r13 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000382f movq $-1, %r9 + 0x45, 0x31, 0xf6, //0x00003836 xorl %r14d, %r14d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003839 .p2align 4, 0x90 + //0x00003840 LBB0_740 + 0xc5, 0xfe, 0x6f, 0x03, //0x00003840 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x00003844 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00003849 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x0000384d vpmovmskb %ymm2, %edx + 0xc5, 0xf5, 0x74, 0xd6, //0x00003851 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x00003855 vpmovmskb %ymm2, %edi + 0xc5, 0xfd, 0x74, 0xc7, //0x00003859 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x0000385d vpmovmskb %ymm0, %esi + 0xc5, 0xf5, 0x74, 0xc7, //0x00003861 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00003865 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe7, 0x20, //0x00003869 shlq $32, %rdi + 0x48, 0xc1, 0xe0, 0x20, //0x0000386d shlq $32, %rax + 0x48, 0x09, 0xc6, //0x00003871 orq %rax, %rsi + 0x49, 0x83, 0xf9, 0xff, //0x00003874 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00003878 jne LBB0_742 + 0x48, 0x85, 0xf6, //0x0000387e testq %rsi, %rsi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00003881 jne LBB0_750 + //0x00003887 LBB0_742 + 0x48, 0x09, 0xd7, //0x00003887 orq %rdx, %rdi + 0x48, 0x89, 0xf0, //0x0000388a movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x0000388d orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00003890 jne LBB0_751 + //0x00003896 LBB0_743 + 0x48, 0x85, 0xff, //0x00003896 testq %rdi, %rdi + 0x0f, 0x85, 0x8a, 0x00, 0x00, 0x00, //0x00003899 jne LBB0_752 + //0x0000389f LBB0_744 + 0x48, 0x83, 0xc1, 0xc0, //0x0000389f addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x000038a3 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x000038a7 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x000038ab ja LBB0_740 + 0xe9, 0x6f, 0x0e, 0x00, 0x00, //0x000038b1 jmp LBB0_745 + //0x000038b6 LBB0_750 + 0x48, 0x89, 0xd8, //0x000038b6 movq %rbx, %rax + 0x4c, 0x29, 0xe0, //0x000038b9 subq %r12, %rax + 0x4c, 0x0f, 0xbc, 0xce, //0x000038bc bsfq %rsi, %r9 + 0x49, 0x01, 0xc1, //0x000038c0 addq %rax, %r9 + 0x48, 0x09, 0xd7, //0x000038c3 orq %rdx, %rdi + 0x48, 0x89, 0xf0, //0x000038c6 movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x000038c9 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x000038cc je LBB0_743 + //0x000038d2 LBB0_751 + 0x4c, 0x89, 0xf0, //0x000038d2 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x000038d5 notq %rax + 0x48, 0x21, 0xf0, //0x000038d8 andq %rsi, %rax + 0x4c, 0x8d, 0x3c, 0x00, //0x000038db leaq (%rax,%rax), %r15 + 0x4d, 0x09, 0xf7, //0x000038df orq %r14, %r15 + 0x4c, 0x89, 0xfa, //0x000038e2 movq %r15, %rdx + 0x48, 0xf7, 0xd2, //0x000038e5 notq %rdx + 0x48, 0x21, 0xf2, //0x000038e8 andq %rsi, %rdx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000038eb movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf2, //0x000038f5 andq %rsi, %rdx + 0x45, 0x31, 0xf6, //0x000038f8 xorl %r14d, %r14d + 0x48, 0x01, 0xc2, //0x000038fb addq %rax, %rdx + 0x41, 0x0f, 0x92, 0xc6, //0x000038fe setb %r14b + 0x48, 0x01, 0xd2, //0x00003902 addq %rdx, %rdx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00003905 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc2, //0x0000390f xorq %rax, %rdx + 0x4c, 0x21, 0xfa, //0x00003912 andq %r15, %rdx + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00003915 movq $16(%rsp), %r15 + 0x48, 0xf7, 0xd2, //0x0000391a notq %rdx + 0x48, 0x21, 0xd7, //0x0000391d andq %rdx, %rdi + 0x48, 0x85, 0xff, //0x00003920 testq %rdi, %rdi + 0x0f, 0x84, 0x76, 0xff, 0xff, 0xff, //0x00003923 je LBB0_744 + //0x00003929 LBB0_752 + 0x48, 0x0f, 0xbc, 0xc7, //0x00003929 bsfq %rdi, %rax + 0x4c, 0x29, 0xe3, //0x0000392d subq %r12, %rbx + 0x4c, 0x8d, 0x6c, 0x03, 0x01, //0x00003930 leaq $1(%rbx,%rax), %r13 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00003935 movq $8(%rsp), %r14 + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x0000393a movq $40(%rsp), %r10 + 0x4d, 0x85, 0xed, //0x0000393f testq %r13, %r13 + 0x0f, 0x88, 0x56, 0x1b, 0x00, 0x00, //0x00003942 js LBB0_1082 + //0x00003948 LBB0_753 + 0x4d, 0x89, 0x2e, //0x00003948 movq %r13, (%r14) + 0x4c, 0x89, 0xd9, //0x0000394b movq %r11, %rcx + 0x48, 0x83, 0x7c, 0x24, 0x20, 0x00, //0x0000394e cmpq $0, $32(%rsp) + 0x4c, 0x8b, 0x04, 0x24, //0x00003954 movq (%rsp), %r8 + 0x0f, 0x8e, 0xa0, 0xf9, 0xff, 0xff, //0x00003958 jle LBB0_659 + 0x49, 0x8b, 0x02, //0x0000395e movq (%r10), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00003961 cmpq $4095, %rax + 0x0f, 0x8f, 0x44, 0x14, 0x00, 0x00, //0x00003967 jg LBB0_1097 + 0x48, 0x8d, 0x48, 0x01, //0x0000396d leaq $1(%rax), %rcx + 0x49, 0x89, 0x0a, //0x00003971 movq %rcx, (%r10) + 0x49, 0xc7, 0x44, 0xc2, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00003974 movq $4, $8(%r10,%rax,8) + 0xe9, 0xae, 0xf9, 0xff, 0xff, //0x0000397d jmp LBB0_662 + //0x00003982 LBB0_756 + 0x43, 0x8a, 0x0c, 0x2c, //0x00003982 movb (%r12,%r13), %cl + 0x80, 0xc1, 0xd2, //0x00003986 addb $-46, %cl + 0x80, 0xf9, 0x37, //0x00003989 cmpb $55, %cl + 0x0f, 0x87, 0xd3, 0xfd, 0xff, 0xff, //0x0000398c ja LBB0_732 + 0x0f, 0xb6, 0xc1, //0x00003992 movzbl %cl, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00003995 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x0000399f btq %rax, %rcx + 0x4c, 0x89, 0xe9, //0x000039a3 movq %r13, %rcx + 0x0f, 0x83, 0xac, 0x07, 0x00, 0x00, //0x000039a6 jae LBB0_867 + //0x000039ac LBB0_758 + 0x4c, 0x89, 0x6c, 0x24, 0x20, //0x000039ac movq %r13, $32(%rsp) + 0x49, 0x83, 0xfa, 0x20, //0x000039b1 cmpq $32, %r10 + 0x0f, 0x82, 0x4d, 0x0f, 0x00, 0x00, //0x000039b5 jb LBB0_954 + 0x49, 0x8d, 0x4a, 0xe0, //0x000039bb leaq $-32(%r10), %rcx + 0x48, 0x89, 0xc8, //0x000039bf movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xe0, //0x000039c2 andq $-32, %rax + 0x4e, 0x8d, 0x44, 0x08, 0x20, //0x000039c6 leaq $32(%rax,%r9), %r8 + 0x83, 0xe1, 0x1f, //0x000039cb andl $31, %ecx + 0x48, 0x89, 0x4c, 0x24, 0x18, //0x000039ce movq %rcx, $24(%rsp) + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x000039d3 movq $-1, %r13 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000039da movq $-1, %r15 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000039e1 movq $-1, %r12 + 0x4c, 0x89, 0xcb, //0x000039e8 movq %r9, %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000039eb .p2align 4, 0x90 + //0x000039f0 LBB0_760 + 0xc5, 0xfe, 0x6f, 0x03, //0x000039f0 vmovdqu (%rbx), %ymm0 + 0xc4, 0xc1, 0x7d, 0x64, 0xc8, //0x000039f4 vpcmpgtb %ymm8, %ymm0, %ymm1 + 0xc5, 0xb5, 0x64, 0xd0, //0x000039f9 vpcmpgtb %ymm0, %ymm9, %ymm2 + 0xc5, 0xf5, 0xdb, 0xca, //0x000039fd vpand %ymm2, %ymm1, %ymm1 + 0xc5, 0xad, 0x74, 0xd0, //0x00003a01 vpcmpeqb %ymm0, %ymm10, %ymm2 + 0xc5, 0xa5, 0x74, 0xd8, //0x00003a05 vpcmpeqb %ymm0, %ymm11, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x00003a09 vpor %ymm2, %ymm3, %ymm2 + 0xc5, 0x9d, 0xeb, 0xd8, //0x00003a0d vpor %ymm0, %ymm12, %ymm3 + 0xc5, 0x95, 0x74, 0xc0, //0x00003a11 vpcmpeqb %ymm0, %ymm13, %ymm0 + 0xc5, 0x7d, 0xd7, 0xf0, //0x00003a15 vpmovmskb %ymm0, %r14d + 0xc5, 0x8d, 0x74, 0xdb, //0x00003a19 vpcmpeqb %ymm3, %ymm14, %ymm3 + 0xc5, 0xfd, 0xd7, 0xf3, //0x00003a1d vpmovmskb %ymm3, %esi + 0xc5, 0xfd, 0xd7, 0xfa, //0x00003a21 vpmovmskb %ymm2, %edi + 0xc5, 0xe5, 0xeb, 0xc0, //0x00003a25 vpor %ymm0, %ymm3, %ymm0 + 0xc5, 0xed, 0xeb, 0xc9, //0x00003a29 vpor %ymm1, %ymm2, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc1, //0x00003a2d vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00003a31 vpmovmskb %ymm0, %eax + 0x48, 0xf7, 0xd0, //0x00003a35 notq %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x00003a38 bsfq %rax, %rcx + 0x83, 0xf9, 0x20, //0x00003a3c cmpl $32, %ecx + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00003a3f je LBB0_762 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00003a45 movl $-1, %eax + 0xd3, 0xe0, //0x00003a4a shll %cl, %eax + 0xf7, 0xd0, //0x00003a4c notl %eax + 0x41, 0x21, 0xc6, //0x00003a4e andl %eax, %r14d + 0x21, 0xc6, //0x00003a51 andl %eax, %esi + 0x21, 0xf8, //0x00003a53 andl %edi, %eax + 0x89, 0xc7, //0x00003a55 movl %eax, %edi + //0x00003a57 LBB0_762 + 0x41, 0x8d, 0x56, 0xff, //0x00003a57 leal $-1(%r14), %edx + 0x44, 0x21, 0xf2, //0x00003a5b andl %r14d, %edx + 0x0f, 0x85, 0x81, 0x0b, 0x00, 0x00, //0x00003a5e jne LBB0_921 + 0x8d, 0x56, 0xff, //0x00003a64 leal $-1(%rsi), %edx + 0x21, 0xf2, //0x00003a67 andl %esi, %edx + 0x0f, 0x85, 0x76, 0x0b, 0x00, 0x00, //0x00003a69 jne LBB0_921 + 0x8d, 0x57, 0xff, //0x00003a6f leal $-1(%rdi), %edx + 0x21, 0xfa, //0x00003a72 andl %edi, %edx + 0x0f, 0x85, 0x6b, 0x0b, 0x00, 0x00, //0x00003a74 jne LBB0_921 + 0x45, 0x85, 0xf6, //0x00003a7a testl %r14d, %r14d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00003a7d je LBB0_768 + 0x48, 0x89, 0xd8, //0x00003a83 movq %rbx, %rax + 0x4c, 0x29, 0xc8, //0x00003a86 subq %r9, %rax + 0x41, 0x0f, 0xbc, 0xd6, //0x00003a89 bsfl %r14d, %edx + 0x48, 0x01, 0xc2, //0x00003a8d addq %rax, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x00003a90 cmpq $-1, %r12 + 0x0f, 0x85, 0x28, 0x0d, 0x00, 0x00, //0x00003a94 jne LBB0_942 + 0x49, 0x89, 0xd4, //0x00003a9a movq %rdx, %r12 + //0x00003a9d LBB0_768 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00003a9d movq $8(%rsp), %r14 + 0x85, 0xf6, //0x00003aa2 testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00003aa4 je LBB0_771 + 0x48, 0x89, 0xd8, //0x00003aaa movq %rbx, %rax + 0x4c, 0x29, 0xc8, //0x00003aad subq %r9, %rax + 0x0f, 0xbc, 0xd6, //0x00003ab0 bsfl %esi, %edx + 0x48, 0x01, 0xc2, //0x00003ab3 addq %rax, %rdx + 0x49, 0x83, 0xff, 0xff, //0x00003ab6 cmpq $-1, %r15 + 0x0f, 0x85, 0xf7, 0x0c, 0x00, 0x00, //0x00003aba jne LBB0_941 + 0x49, 0x89, 0xd7, //0x00003ac0 movq %rdx, %r15 + //0x00003ac3 LBB0_771 + 0x85, 0xff, //0x00003ac3 testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00003ac5 je LBB0_774 + 0x48, 0x89, 0xd8, //0x00003acb movq %rbx, %rax + 0x4c, 0x29, 0xc8, //0x00003ace subq %r9, %rax + 0x0f, 0xbc, 0xd7, //0x00003ad1 bsfl %edi, %edx + 0x48, 0x01, 0xc2, //0x00003ad4 addq %rax, %rdx + 0x49, 0x83, 0xfd, 0xff, //0x00003ad7 cmpq $-1, %r13 + 0x0f, 0x85, 0xd6, 0x0c, 0x00, 0x00, //0x00003adb jne LBB0_941 + 0x49, 0x89, 0xd5, //0x00003ae1 movq %rdx, %r13 + //0x00003ae4 LBB0_774 + 0x83, 0xf9, 0x20, //0x00003ae4 cmpl $32, %ecx + 0x0f, 0x85, 0x69, 0x02, 0x00, 0x00, //0x00003ae7 jne LBB0_807 + 0x48, 0x83, 0xc3, 0x20, //0x00003aed addq $32, %rbx + 0x49, 0x83, 0xc2, 0xe0, //0x00003af1 addq $-32, %r10 + 0x49, 0x83, 0xfa, 0x1f, //0x00003af5 cmpq $31, %r10 + 0x0f, 0x87, 0xf1, 0xfe, 0xff, 0xff, //0x00003af9 ja LBB0_760 + 0xc5, 0xf8, 0x77, //0x00003aff vzeroupper + 0x4c, 0x8b, 0x54, 0x24, 0x18, //0x00003b02 movq $24(%rsp), %r10 + //0x00003b07 LBB0_777 + 0x49, 0x83, 0xfa, 0x10, //0x00003b07 cmpq $16, %r10 + 0xc5, 0xfe, 0x6f, 0x2d, 0xed, 0xc4, 0xff, 0xff, //0x00003b0b vmovdqu $-15123(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x65, 0xc5, 0xff, 0xff, //0x00003b13 vmovdqu $-15003(%rip), %ymm6 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x7d, 0xc5, 0xff, 0xff, //0x00003b1b vmovdqu $-14979(%rip), %ymm7 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0xf5, 0xc5, 0xff, 0xff, //0x00003b23 vmovdqu $-14859(%rip), %ymm8 /* LCPI0_12+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x0d, 0x0d, 0xc6, 0xff, 0xff, //0x00003b2b vmovdqu $-14835(%rip), %ymm9 /* LCPI0_13+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x25, 0xc6, 0xff, 0xff, //0x00003b33 vmovdqu $-14811(%rip), %ymm10 /* LCPI0_14+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x3d, 0xc6, 0xff, 0xff, //0x00003b3b vmovdqu $-14787(%rip), %ymm11 /* LCPI0_15+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0xf5, 0xc4, 0xff, 0xff, //0x00003b43 vmovdqu $-15115(%rip), %ymm12 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x4d, 0xc6, 0xff, 0xff, //0x00003b4b vmovdqu $-14771(%rip), %ymm13 /* LCPI0_16+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x65, 0xc6, 0xff, 0xff, //0x00003b53 vmovdqu $-14747(%rip), %ymm14 /* LCPI0_17+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x3d, 0xad, 0xc6, 0xff, 0xff, //0x00003b5b vmovdqu $-14675(%rip), %xmm15 /* LCPI0_18+0(%rip) */ + 0x0f, 0x82, 0x56, 0x01, 0x00, 0x00, //0x00003b63 jb LBB0_796 + 0x4d, 0x8d, 0x72, 0xf0, //0x00003b69 leaq $-16(%r10), %r14 + 0x4c, 0x89, 0xf0, //0x00003b6d movq %r14, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00003b70 andq $-16, %rax + 0x4a, 0x8d, 0x44, 0x00, 0x10, //0x00003b74 leaq $16(%rax,%r8), %rax + 0x48, 0x89, 0x44, 0x24, 0x18, //0x00003b79 movq %rax, $24(%rsp) + 0x41, 0x83, 0xe6, 0x0f, //0x00003b7e andl $15, %r14d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003b82 .p2align 4, 0x90 + //0x00003b90 LBB0_779 + 0xc4, 0xc1, 0x7a, 0x6f, 0x00, //0x00003b90 vmovdqu (%r8), %xmm0 + 0xc4, 0xc1, 0x79, 0x64, 0xcf, //0x00003b95 vpcmpgtb %xmm15, %xmm0, %xmm1 + 0xc5, 0xfa, 0x6f, 0x15, 0x7e, 0xc6, 0xff, 0xff, //0x00003b9a vmovdqu $-14722(%rip), %xmm2 /* LCPI0_19+0(%rip) */ + 0xc5, 0xe9, 0x64, 0xd0, //0x00003ba2 vpcmpgtb %xmm0, %xmm2, %xmm2 + 0xc5, 0xf1, 0xdb, 0xca, //0x00003ba6 vpand %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x74, 0x15, 0x7e, 0xc6, 0xff, 0xff, //0x00003baa vpcmpeqb $-14722(%rip), %xmm0, %xmm2 /* LCPI0_20+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x1d, 0x86, 0xc6, 0xff, 0xff, //0x00003bb2 vpcmpeqb $-14714(%rip), %xmm0, %xmm3 /* LCPI0_21+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xd2, //0x00003bba vpor %xmm2, %xmm3, %xmm2 + 0xc5, 0xf9, 0xeb, 0x1d, 0x2a, 0xc6, 0xff, 0xff, //0x00003bbe vpor $-14806(%rip), %xmm0, %xmm3 /* LCPI0_5+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x05, 0x82, 0xc6, 0xff, 0xff, //0x00003bc6 vpcmpeqb $-14718(%rip), %xmm0, %xmm0 /* LCPI0_22+0(%rip) */ + 0xc5, 0xe1, 0x74, 0x1d, 0x8a, 0xc6, 0xff, 0xff, //0x00003bce vpcmpeqb $-14710(%rip), %xmm3, %xmm3 /* LCPI0_23+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xe0, //0x00003bd6 vpor %xmm0, %xmm3, %xmm4 + 0xc5, 0xe9, 0xeb, 0xc9, //0x00003bda vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xd9, 0xeb, 0xc9, //0x00003bde vpor %xmm1, %xmm4, %xmm1 + 0xc5, 0xf9, 0xd7, 0xd8, //0x00003be2 vpmovmskb %xmm0, %ebx + 0xc5, 0xf9, 0xd7, 0xf3, //0x00003be6 vpmovmskb %xmm3, %esi + 0xc5, 0xf9, 0xd7, 0xfa, //0x00003bea vpmovmskb %xmm2, %edi + 0xc5, 0xf9, 0xd7, 0xc1, //0x00003bee vpmovmskb %xmm1, %eax + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x00003bf2 movl $4294967295, %ecx + 0x48, 0x31, 0xc8, //0x00003bf7 xorq %rcx, %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x00003bfa bsfq %rax, %rcx + 0x83, 0xf9, 0x10, //0x00003bfe cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00003c01 je LBB0_781 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00003c07 movl $-1, %eax + 0xd3, 0xe0, //0x00003c0c shll %cl, %eax + 0xf7, 0xd0, //0x00003c0e notl %eax + 0x21, 0xc3, //0x00003c10 andl %eax, %ebx + 0x21, 0xc6, //0x00003c12 andl %eax, %esi + 0x21, 0xf8, //0x00003c14 andl %edi, %eax + 0x89, 0xc7, //0x00003c16 movl %eax, %edi + //0x00003c18 LBB0_781 + 0x8d, 0x53, 0xff, //0x00003c18 leal $-1(%rbx), %edx + 0x21, 0xda, //0x00003c1b andl %ebx, %edx + 0x0f, 0x85, 0x7b, 0x0b, 0x00, 0x00, //0x00003c1d jne LBB0_940 + 0x8d, 0x56, 0xff, //0x00003c23 leal $-1(%rsi), %edx + 0x21, 0xf2, //0x00003c26 andl %esi, %edx + 0x0f, 0x85, 0x70, 0x0b, 0x00, 0x00, //0x00003c28 jne LBB0_940 + 0x8d, 0x57, 0xff, //0x00003c2e leal $-1(%rdi), %edx + 0x21, 0xfa, //0x00003c31 andl %edi, %edx + 0x0f, 0x85, 0x65, 0x0b, 0x00, 0x00, //0x00003c33 jne LBB0_940 + 0x85, 0xdb, //0x00003c39 testl %ebx, %ebx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00003c3b je LBB0_787 + 0x4c, 0x89, 0xc0, //0x00003c41 movq %r8, %rax + 0x4c, 0x29, 0xc8, //0x00003c44 subq %r9, %rax + 0x0f, 0xbc, 0xdb, //0x00003c47 bsfl %ebx, %ebx + 0x48, 0x01, 0xc3, //0x00003c4a addq %rax, %rbx + 0x49, 0x83, 0xfc, 0xff, //0x00003c4d cmpq $-1, %r12 + 0x0f, 0x85, 0xa3, 0x0b, 0x00, 0x00, //0x00003c51 jne LBB0_945 + 0x49, 0x89, 0xdc, //0x00003c57 movq %rbx, %r12 + //0x00003c5a LBB0_787 + 0x85, 0xf6, //0x00003c5a testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00003c5c je LBB0_790 + 0x4c, 0x89, 0xc0, //0x00003c62 movq %r8, %rax + 0x4c, 0x29, 0xc8, //0x00003c65 subq %r9, %rax + 0x0f, 0xbc, 0xf6, //0x00003c68 bsfl %esi, %esi + 0x48, 0x01, 0xc6, //0x00003c6b addq %rax, %rsi + 0x49, 0x83, 0xff, 0xff, //0x00003c6e cmpq $-1, %r15 + 0x0f, 0x85, 0x5a, 0x0b, 0x00, 0x00, //0x00003c72 jne LBB0_943 + 0x49, 0x89, 0xf7, //0x00003c78 movq %rsi, %r15 + //0x00003c7b LBB0_790 + 0x85, 0xff, //0x00003c7b testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00003c7d je LBB0_793 + 0x4c, 0x89, 0xc0, //0x00003c83 movq %r8, %rax + 0x4c, 0x29, 0xc8, //0x00003c86 subq %r9, %rax + 0x0f, 0xbc, 0xf7, //0x00003c89 bsfl %edi, %esi + 0x48, 0x01, 0xc6, //0x00003c8c addq %rax, %rsi + 0x49, 0x83, 0xfd, 0xff, //0x00003c8f cmpq $-1, %r13 + 0x0f, 0x85, 0x39, 0x0b, 0x00, 0x00, //0x00003c93 jne LBB0_943 + 0x49, 0x89, 0xf5, //0x00003c99 movq %rsi, %r13 + //0x00003c9c LBB0_793 + 0x83, 0xf9, 0x10, //0x00003c9c cmpl $16, %ecx + 0x0f, 0x85, 0xd7, 0x00, 0x00, 0x00, //0x00003c9f jne LBB0_808 + 0x49, 0x83, 0xc0, 0x10, //0x00003ca5 addq $16, %r8 + 0x49, 0x83, 0xc2, 0xf0, //0x00003ca9 addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x0f, //0x00003cad cmpq $15, %r10 + 0x0f, 0x87, 0xd9, 0xfe, 0xff, 0xff, //0x00003cb1 ja LBB0_779 + 0x4d, 0x89, 0xf2, //0x00003cb7 movq %r14, %r10 + 0x4c, 0x8b, 0x44, 0x24, 0x18, //0x00003cba movq $24(%rsp), %r8 + //0x00003cbf LBB0_796 + 0x4d, 0x85, 0xd2, //0x00003cbf testq %r10, %r10 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00003cc2 movq $8(%rsp), %r14 + 0x0f, 0x84, 0xb7, 0x00, 0x00, 0x00, //0x00003cc7 je LBB0_809 + 0x4b, 0x8d, 0x0c, 0x10, //0x00003ccd leaq (%r8,%r10), %rcx + 0xe9, 0x26, 0x00, 0x00, 0x00, //0x00003cd1 jmp LBB0_801 + //0x00003cd6 LBB0_798 + 0x49, 0x89, 0xf0, //0x00003cd6 movq %rsi, %r8 + 0x4d, 0x29, 0xc8, //0x00003cd9 subq %r9, %r8 + 0x49, 0x83, 0xfd, 0xff, //0x00003cdc cmpq $-1, %r13 + 0x0f, 0x85, 0x91, 0x0b, 0x00, 0x00, //0x00003ce0 jne LBB0_946 + 0x49, 0xff, 0xc8, //0x00003ce6 decq %r8 + 0x4d, 0x89, 0xc5, //0x00003ce9 movq %r8, %r13 + 0x90, 0x90, 0x90, 0x90, //0x00003cec .p2align 4, 0x90 + //0x00003cf0 LBB0_800 + 0x49, 0x89, 0xf0, //0x00003cf0 movq %rsi, %r8 + 0x49, 0xff, 0xca, //0x00003cf3 decq %r10 + 0x0f, 0x84, 0xe6, 0x0a, 0x00, 0x00, //0x00003cf6 je LBB0_944 + //0x00003cfc LBB0_801 + 0x41, 0x0f, 0xbe, 0x10, //0x00003cfc movsbl (%r8), %edx + 0x83, 0xc2, 0xd5, //0x00003d00 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x00003d03 cmpl $58, %edx + 0x0f, 0x87, 0x78, 0x00, 0x00, 0x00, //0x00003d06 ja LBB0_809 + 0x49, 0x8d, 0x70, 0x01, //0x00003d0c leaq $1(%r8), %rsi + 0x48, 0x8d, 0x3d, 0x25, 0x21, 0x00, 0x00, //0x00003d10 leaq $8485(%rip), %rdi /* LJTI0_5+0(%rip) */ + 0x48, 0x63, 0x04, 0x97, //0x00003d17 movslq (%rdi,%rdx,4), %rax + 0x48, 0x01, 0xf8, //0x00003d1b addq %rdi, %rax + 0xff, 0xe0, //0x00003d1e jmpq *%rax + //0x00003d20 LBB0_803 + 0x49, 0x89, 0xf0, //0x00003d20 movq %rsi, %r8 + 0x4d, 0x29, 0xc8, //0x00003d23 subq %r9, %r8 + 0x49, 0x83, 0xff, 0xff, //0x00003d26 cmpq $-1, %r15 + 0x0f, 0x85, 0x47, 0x0b, 0x00, 0x00, //0x00003d2a jne LBB0_946 + 0x49, 0xff, 0xc8, //0x00003d30 decq %r8 + 0x4d, 0x89, 0xc7, //0x00003d33 movq %r8, %r15 + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x00003d36 jmp LBB0_800 + //0x00003d3b LBB0_805 + 0x49, 0x89, 0xf0, //0x00003d3b movq %rsi, %r8 + 0x4d, 0x29, 0xc8, //0x00003d3e subq %r9, %r8 + 0x49, 0x83, 0xfc, 0xff, //0x00003d41 cmpq $-1, %r12 + 0x0f, 0x85, 0x2c, 0x0b, 0x00, 0x00, //0x00003d45 jne LBB0_946 + 0x49, 0xff, 0xc8, //0x00003d4b decq %r8 + 0x4d, 0x89, 0xc4, //0x00003d4e movq %r8, %r12 + 0xe9, 0x9a, 0xff, 0xff, 0xff, //0x00003d51 jmp LBB0_800 + //0x00003d56 LBB0_807 + 0x48, 0x01, 0xcb, //0x00003d56 addq %rcx, %rbx + 0xc5, 0xf8, 0x77, //0x00003d59 vzeroupper + 0xc5, 0x7a, 0x6f, 0x3d, 0xac, 0xc4, 0xff, 0xff, //0x00003d5c vmovdqu $-15188(%rip), %xmm15 /* LCPI0_18+0(%rip) */ + 0x49, 0x89, 0xd8, //0x00003d64 movq %rbx, %r8 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00003d67 movq $-1, %rcx + 0x4d, 0x85, 0xff, //0x00003d6e testq %r15, %r15 + 0x0f, 0x85, 0x1d, 0x00, 0x00, 0x00, //0x00003d71 jne LBB0_810 + 0xe9, 0x44, 0x17, 0x00, 0x00, //0x00003d77 jmp LBB0_1086 + //0x00003d7c LBB0_808 + 0x49, 0x01, 0xc8, //0x00003d7c addq %rcx, %r8 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00003d7f movq $8(%rsp), %r14 + //0x00003d84 LBB0_809 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00003d84 movq $-1, %rcx + 0x4d, 0x85, 0xff, //0x00003d8b testq %r15, %r15 + 0x0f, 0x84, 0x2c, 0x17, 0x00, 0x00, //0x00003d8e je LBB0_1086 + //0x00003d94 LBB0_810 + 0x4d, 0x85, 0xed, //0x00003d94 testq %r13, %r13 + 0x0f, 0x84, 0x23, 0x17, 0x00, 0x00, //0x00003d97 je LBB0_1086 + 0x4d, 0x85, 0xe4, //0x00003d9d testq %r12, %r12 + 0x0f, 0x84, 0x1a, 0x17, 0x00, 0x00, //0x00003da0 je LBB0_1086 + 0x4d, 0x29, 0xc8, //0x00003da6 subq %r9, %r8 + 0x49, 0x8d, 0x48, 0xff, //0x00003da9 leaq $-1(%r8), %rcx + 0x49, 0x39, 0xcf, //0x00003dad cmpq %rcx, %r15 + 0x0f, 0x84, 0x83, 0x00, 0x00, 0x00, //0x00003db0 je LBB0_818 + 0x49, 0x39, 0xcc, //0x00003db6 cmpq %rcx, %r12 + 0x0f, 0x84, 0x7a, 0x00, 0x00, 0x00, //0x00003db9 je LBB0_818 + 0x49, 0x39, 0xcd, //0x00003dbf cmpq %rcx, %r13 + 0x0f, 0x84, 0x71, 0x00, 0x00, 0x00, //0x00003dc2 je LBB0_818 + 0x4d, 0x85, 0xed, //0x00003dc8 testq %r13, %r13 + 0xc5, 0xfe, 0x6f, 0x2d, 0x2d, 0xc2, 0xff, 0xff, //0x00003dcb vmovdqu $-15827(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xa5, 0xc2, 0xff, 0xff, //0x00003dd3 vmovdqu $-15707(%rip), %ymm6 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xbd, 0xc2, 0xff, 0xff, //0x00003ddb vmovdqu $-15683(%rip), %ymm7 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0x35, 0xc3, 0xff, 0xff, //0x00003de3 vmovdqu $-15563(%rip), %ymm8 /* LCPI0_12+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x0d, 0x4d, 0xc3, 0xff, 0xff, //0x00003deb vmovdqu $-15539(%rip), %ymm9 /* LCPI0_13+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x65, 0xc3, 0xff, 0xff, //0x00003df3 vmovdqu $-15515(%rip), %ymm10 /* LCPI0_14+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x7d, 0xc3, 0xff, 0xff, //0x00003dfb vmovdqu $-15491(%rip), %ymm11 /* LCPI0_15+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x35, 0xc2, 0xff, 0xff, //0x00003e03 vmovdqu $-15819(%rip), %ymm12 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x8d, 0xc3, 0xff, 0xff, //0x00003e0b vmovdqu $-15475(%rip), %ymm13 /* LCPI0_16+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xa5, 0xc3, 0xff, 0xff, //0x00003e13 vmovdqu $-15451(%rip), %ymm14 /* LCPI0_17+0(%rip) */ + 0x0f, 0x8e, 0x75, 0x00, 0x00, 0x00, //0x00003e1b jle LBB0_819 + 0x49, 0x8d, 0x45, 0xff, //0x00003e21 leaq $-1(%r13), %rax + 0x49, 0x39, 0xc7, //0x00003e25 cmpq %rax, %r15 + 0x0f, 0x84, 0x68, 0x00, 0x00, 0x00, //0x00003e28 je LBB0_819 + 0x49, 0xf7, 0xd5, //0x00003e2e notq %r13 + 0x4d, 0x89, 0xe8, //0x00003e31 movq %r13, %r8 + 0xe9, 0x09, 0x03, 0x00, 0x00, //0x00003e34 jmp LBB0_864 + //0x00003e39 LBB0_818 + 0x49, 0xf7, 0xd8, //0x00003e39 negq %r8 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00003e3c movq $16(%rsp), %r15 + 0xc5, 0xfe, 0x6f, 0x2d, 0xb7, 0xc1, 0xff, 0xff, //0x00003e41 vmovdqu $-15945(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x2f, 0xc2, 0xff, 0xff, //0x00003e49 vmovdqu $-15825(%rip), %ymm6 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x47, 0xc2, 0xff, 0xff, //0x00003e51 vmovdqu $-15801(%rip), %ymm7 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0xbf, 0xc2, 0xff, 0xff, //0x00003e59 vmovdqu $-15681(%rip), %ymm8 /* LCPI0_12+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x0d, 0xd7, 0xc2, 0xff, 0xff, //0x00003e61 vmovdqu $-15657(%rip), %ymm9 /* LCPI0_13+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0xef, 0xc2, 0xff, 0xff, //0x00003e69 vmovdqu $-15633(%rip), %ymm10 /* LCPI0_14+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x07, 0xc3, 0xff, 0xff, //0x00003e71 vmovdqu $-15609(%rip), %ymm11 /* LCPI0_15+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0xbf, 0xc1, 0xff, 0xff, //0x00003e79 vmovdqu $-15937(%rip), %ymm12 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x17, 0xc3, 0xff, 0xff, //0x00003e81 vmovdqu $-15593(%rip), %ymm13 /* LCPI0_16+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x2f, 0xc3, 0xff, 0xff, //0x00003e89 vmovdqu $-15569(%rip), %ymm14 /* LCPI0_17+0(%rip) */ + 0xe9, 0xb1, 0x02, 0x00, 0x00, //0x00003e91 jmp LBB0_865 + //0x00003e96 LBB0_819 + 0x4c, 0x89, 0xe1, //0x00003e96 movq %r12, %rcx + 0x4c, 0x09, 0xf9, //0x00003e99 orq %r15, %rcx + 0x4d, 0x39, 0xfc, //0x00003e9c cmpq %r15, %r12 + 0x0f, 0x8c, 0x88, 0x02, 0x00, 0x00, //0x00003e9f jl LBB0_863 + 0x48, 0x85, 0xc9, //0x00003ea5 testq %rcx, %rcx + 0x0f, 0x88, 0x7f, 0x02, 0x00, 0x00, //0x00003ea8 js LBB0_863 + 0x49, 0xf7, 0xd4, //0x00003eae notq %r12 + 0x4d, 0x89, 0xe0, //0x00003eb1 movq %r12, %r8 + 0xe9, 0x89, 0x02, 0x00, 0x00, //0x00003eb4 jmp LBB0_864 + //0x00003eb9 LBB0_822 + 0x4c, 0x89, 0x04, 0x24, //0x00003eb9 movq %r8, (%rsp) + 0x4d, 0x8b, 0x47, 0x08, //0x00003ebd movq $8(%r15), %r8 + 0x4c, 0x89, 0xc1, //0x00003ec1 movq %r8, %rcx + 0x4c, 0x29, 0xe9, //0x00003ec4 subq %r13, %rcx + 0x0f, 0x84, 0xed, 0x17, 0x00, 0x00, //0x00003ec7 je LBB0_1116 + 0x4c, 0x89, 0x6c, 0x24, 0x20, //0x00003ecd movq %r13, $32(%rsp) + 0x4b, 0x8d, 0x1c, 0x2c, //0x00003ed2 leaq (%r12,%r13), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x00003ed6 cmpq $64, %rcx + 0x0f, 0x82, 0xb5, 0x0a, 0x00, 0x00, //0x00003eda jb LBB0_961 + 0x41, 0x89, 0xca, //0x00003ee0 movl %ecx, %r10d + 0x41, 0x83, 0xe2, 0x3f, //0x00003ee3 andl $63, %r10d + 0x4c, 0x89, 0xc0, //0x00003ee7 movq %r8, %rax + 0x4c, 0x29, 0xd8, //0x00003eea subq %r11, %rax + 0x48, 0x83, 0xc0, 0xbf, //0x00003eed addq $-65, %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00003ef1 andq $-64, %rax + 0x4c, 0x01, 0xd8, //0x00003ef5 addq %r11, %rax + 0x4d, 0x8d, 0x6c, 0x04, 0x41, //0x00003ef8 leaq $65(%r12,%rax), %r13 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00003efd movq $-1, %r9 + 0x45, 0x31, 0xf6, //0x00003f04 xorl %r14d, %r14d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003f07 .p2align 4, 0x90 + //0x00003f10 LBB0_825 + 0xc5, 0xfe, 0x6f, 0x03, //0x00003f10 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x00003f14 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00003f19 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00003f1d vpmovmskb %ymm2, %edx + 0xc5, 0xf5, 0x74, 0xd6, //0x00003f21 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x00003f25 vpmovmskb %ymm2, %edi + 0xc5, 0xfd, 0x74, 0xc7, //0x00003f29 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00003f2d vpmovmskb %ymm0, %esi + 0xc5, 0xf5, 0x74, 0xc7, //0x00003f31 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00003f35 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe7, 0x20, //0x00003f39 shlq $32, %rdi + 0x48, 0xc1, 0xe0, 0x20, //0x00003f3d shlq $32, %rax + 0x48, 0x09, 0xc6, //0x00003f41 orq %rax, %rsi + 0x49, 0x83, 0xf9, 0xff, //0x00003f44 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00003f48 jne LBB0_827 + 0x48, 0x85, 0xf6, //0x00003f4e testq %rsi, %rsi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00003f51 jne LBB0_835 + //0x00003f57 LBB0_827 + 0x48, 0x09, 0xd7, //0x00003f57 orq %rdx, %rdi + 0x48, 0x89, 0xf0, //0x00003f5a movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00003f5d orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00003f60 jne LBB0_836 + //0x00003f66 LBB0_828 + 0x48, 0x85, 0xff, //0x00003f66 testq %rdi, %rdi + 0x0f, 0x85, 0x8a, 0x00, 0x00, 0x00, //0x00003f69 jne LBB0_837 + //0x00003f6f LBB0_829 + 0x48, 0x83, 0xc1, 0xc0, //0x00003f6f addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x00003f73 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x00003f77 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x00003f7b ja LBB0_825 + 0xe9, 0x84, 0x08, 0x00, 0x00, //0x00003f81 jmp LBB0_830 + //0x00003f86 LBB0_835 + 0x48, 0x89, 0xd8, //0x00003f86 movq %rbx, %rax + 0x4c, 0x29, 0xe0, //0x00003f89 subq %r12, %rax + 0x4c, 0x0f, 0xbc, 0xce, //0x00003f8c bsfq %rsi, %r9 + 0x49, 0x01, 0xc1, //0x00003f90 addq %rax, %r9 + 0x48, 0x09, 0xd7, //0x00003f93 orq %rdx, %rdi + 0x48, 0x89, 0xf0, //0x00003f96 movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00003f99 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x00003f9c je LBB0_828 + //0x00003fa2 LBB0_836 + 0x4c, 0x89, 0xf0, //0x00003fa2 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00003fa5 notq %rax + 0x48, 0x21, 0xf0, //0x00003fa8 andq %rsi, %rax + 0x4c, 0x8d, 0x3c, 0x00, //0x00003fab leaq (%rax,%rax), %r15 + 0x4d, 0x09, 0xf7, //0x00003faf orq %r14, %r15 + 0x4c, 0x89, 0xfa, //0x00003fb2 movq %r15, %rdx + 0x48, 0xf7, 0xd2, //0x00003fb5 notq %rdx + 0x48, 0x21, 0xf2, //0x00003fb8 andq %rsi, %rdx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00003fbb movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf2, //0x00003fc5 andq %rsi, %rdx + 0x45, 0x31, 0xf6, //0x00003fc8 xorl %r14d, %r14d + 0x48, 0x01, 0xc2, //0x00003fcb addq %rax, %rdx + 0x41, 0x0f, 0x92, 0xc6, //0x00003fce setb %r14b + 0x48, 0x01, 0xd2, //0x00003fd2 addq %rdx, %rdx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00003fd5 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc2, //0x00003fdf xorq %rax, %rdx + 0x4c, 0x21, 0xfa, //0x00003fe2 andq %r15, %rdx + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00003fe5 movq $16(%rsp), %r15 + 0x48, 0xf7, 0xd2, //0x00003fea notq %rdx + 0x48, 0x21, 0xd7, //0x00003fed andq %rdx, %rdi + 0x48, 0x85, 0xff, //0x00003ff0 testq %rdi, %rdi + 0x0f, 0x84, 0x76, 0xff, 0xff, 0xff, //0x00003ff3 je LBB0_829 + //0x00003ff9 LBB0_837 + 0x48, 0x0f, 0xbc, 0xc7, //0x00003ff9 bsfq %rdi, %rax + 0x4c, 0x29, 0xe3, //0x00003ffd subq %r12, %rbx + 0x4c, 0x8d, 0x6c, 0x03, 0x01, //0x00004000 leaq $1(%rbx,%rax), %r13 + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00004005 movq $40(%rsp), %r10 + 0x4d, 0x85, 0xed, //0x0000400a testq %r13, %r13 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x0000400d movq $8(%rsp), %r14 + 0x0f, 0x88, 0x86, 0x14, 0x00, 0x00, //0x00004012 js LBB0_1082 + //0x00004018 LBB0_838 + 0x4d, 0x89, 0x2e, //0x00004018 movq %r13, (%r14) + 0x4c, 0x89, 0xd9, //0x0000401b movq %r11, %rcx + 0x48, 0x83, 0x7c, 0x24, 0x20, 0x00, //0x0000401e cmpq $0, $32(%rsp) + 0xe9, 0x45, 0x01, 0x00, 0x00, //0x00004024 jmp LBB0_868 + //0x00004029 LBB0_839 + 0x4d, 0x8b, 0x4f, 0x08, //0x00004029 movq $8(%r15), %r9 + 0x4d, 0x29, 0xe9, //0x0000402d subq %r13, %r9 + 0x0f, 0x84, 0x32, 0x16, 0x00, 0x00, //0x00004030 je LBB0_1106 + 0x4c, 0x89, 0x6c, 0x24, 0x20, //0x00004036 movq %r13, $32(%rsp) + 0x4d, 0x01, 0xec, //0x0000403b addq %r13, %r12 + 0x41, 0x80, 0x3c, 0x24, 0x30, //0x0000403e cmpb $48, (%r12) + 0x0f, 0x85, 0x78, 0x01, 0x00, 0x00, //0x00004043 jne LBB0_872 + 0x41, 0xbe, 0x01, 0x00, 0x00, 0x00, //0x00004049 movl $1, %r14d + 0x49, 0x83, 0xf9, 0x01, //0x0000404f cmpq $1, %r9 + 0x0f, 0x85, 0x3b, 0x01, 0x00, 0x00, //0x00004053 jne LBB0_870 + 0x4c, 0x8b, 0x6c, 0x24, 0x20, //0x00004059 movq $32(%rsp), %r13 + 0xe9, 0x92, 0x06, 0x00, 0x00, //0x0000405e jmp LBB0_935 + //0x00004063 LBB0_843 + 0x49, 0x8b, 0x02, //0x00004063 movq (%r10), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00004066 cmpq $4095, %rax + 0x0f, 0x8f, 0x3f, 0x0d, 0x00, 0x00, //0x0000406c jg LBB0_1097 + 0x48, 0x8d, 0x48, 0x01, //0x00004072 leaq $1(%rax), %rcx + 0x49, 0x89, 0x0a, //0x00004076 movq %rcx, (%r10) + 0x49, 0xc7, 0x44, 0xc2, 0x08, 0x05, 0x00, 0x00, 0x00, //0x00004079 movq $5, $8(%r10,%rax,8) + 0xe9, 0xa9, 0xf2, 0xff, 0xff, //0x00004082 jmp LBB0_662 + //0x00004087 LBB0_845 + 0x49, 0x8b, 0x57, 0x08, //0x00004087 movq $8(%r15), %rdx + 0x48, 0x8d, 0x42, 0xfc, //0x0000408b leaq $-4(%rdx), %rax + 0x49, 0x39, 0xc3, //0x0000408f cmpq %rax, %r11 + 0x0f, 0x83, 0x3a, 0x14, 0x00, 0x00, //0x00004092 jae LBB0_1096 + 0x43, 0x8b, 0x14, 0x2c, //0x00004098 movl (%r12,%r13), %edx + 0x81, 0xfa, 0x61, 0x6c, 0x73, 0x65, //0x0000409c cmpl $1702063201, %edx + 0x0f, 0x85, 0xb6, 0x14, 0x00, 0x00, //0x000040a2 jne LBB0_1098 + 0x4c, 0x89, 0xe8, //0x000040a8 movq %r13, %rax + 0x4d, 0x8d, 0x6b, 0x05, //0x000040ab leaq $5(%r11), %r13 + 0x4d, 0x89, 0x2e, //0x000040af movq %r13, (%r14) + 0x4c, 0x89, 0xd9, //0x000040b2 movq %r11, %rcx + 0x48, 0x85, 0xc0, //0x000040b5 testq %rax, %rax + 0x0f, 0x8f, 0x72, 0xf2, 0xff, 0xff, //0x000040b8 jg LBB0_662 + 0xe9, 0x3b, 0xf2, 0xff, 0xff, //0x000040be jmp LBB0_659 + //0x000040c3 LBB0_848 + 0x49, 0x8b, 0x57, 0x08, //0x000040c3 movq $8(%r15), %rdx + 0x48, 0x8d, 0x42, 0xfd, //0x000040c7 leaq $-3(%rdx), %rax + 0x49, 0x39, 0xc3, //0x000040cb cmpq %rax, %r11 + 0x0f, 0x83, 0xfe, 0x13, 0x00, 0x00, //0x000040ce jae LBB0_1096 + 0x41, 0x81, 0x39, 0x6e, 0x75, 0x6c, 0x6c, //0x000040d4 cmpl $1819047278, (%r9) + 0x0f, 0x84, 0x32, 0xf2, 0xff, 0xff, //0x000040db je LBB0_660 + 0xe9, 0xca, 0x14, 0x00, 0x00, //0x000040e1 jmp LBB0_850 + //0x000040e6 LBB0_855 + 0x49, 0x8b, 0x57, 0x08, //0x000040e6 movq $8(%r15), %rdx + 0x48, 0x8d, 0x42, 0xfd, //0x000040ea leaq $-3(%rdx), %rax + 0x49, 0x39, 0xc3, //0x000040ee cmpq %rax, %r11 + 0x0f, 0x83, 0xdb, 0x13, 0x00, 0x00, //0x000040f1 jae LBB0_1096 + 0x41, 0x81, 0x39, 0x74, 0x72, 0x75, 0x65, //0x000040f7 cmpl $1702195828, (%r9) + 0x0f, 0x84, 0x0f, 0xf2, 0xff, 0xff, //0x000040fe je LBB0_660 + 0xe9, 0xf9, 0x14, 0x00, 0x00, //0x00004104 jmp LBB0_857 + //0x00004109 LBB0_861 + 0x49, 0x8b, 0x02, //0x00004109 movq (%r10), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x0000410c cmpq $4095, %rax + 0x0f, 0x8f, 0x99, 0x0c, 0x00, 0x00, //0x00004112 jg LBB0_1097 + 0x48, 0x8d, 0x48, 0x01, //0x00004118 leaq $1(%rax), %rcx + 0x49, 0x89, 0x0a, //0x0000411c movq %rcx, (%r10) + 0x49, 0xc7, 0x44, 0xc2, 0x08, 0x06, 0x00, 0x00, 0x00, //0x0000411f movq $6, $8(%r10,%rax,8) + 0xe9, 0x03, 0xf2, 0xff, 0xff, //0x00004128 jmp LBB0_662 + //0x0000412d LBB0_863 + 0x48, 0x85, 0xc9, //0x0000412d testq %rcx, %rcx + 0x49, 0x8d, 0x47, 0xff, //0x00004130 leaq $-1(%r15), %rax + 0x49, 0xf7, 0xd7, //0x00004134 notq %r15 + 0x4d, 0x0f, 0x48, 0xf8, //0x00004137 cmovsq %r8, %r15 + 0x49, 0x39, 0xc4, //0x0000413b cmpq %rax, %r12 + 0x4d, 0x0f, 0x44, 0xc7, //0x0000413e cmoveq %r15, %r8 + //0x00004142 LBB0_864 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00004142 movq $16(%rsp), %r15 + //0x00004147 LBB0_865 + 0x4c, 0x8b, 0x6c, 0x24, 0x20, //0x00004147 movq $32(%rsp), %r13 + 0x4d, 0x85, 0xc0, //0x0000414c testq %r8, %r8 + 0x0f, 0x88, 0x68, 0x13, 0x00, 0x00, //0x0000414f js LBB0_1085 + 0x49, 0x8b, 0x0e, //0x00004155 movq (%r14), %rcx + //0x00004158 LBB0_867 + 0x4c, 0x89, 0xe8, //0x00004158 movq %r13, %rax + 0x4e, 0x8d, 0x6c, 0x01, 0xff, //0x0000415b leaq $-1(%rcx,%r8), %r13 + 0x4d, 0x89, 0x2e, //0x00004160 movq %r13, (%r14) + 0x4c, 0x89, 0xd9, //0x00004163 movq %r11, %rcx + 0x48, 0x85, 0xc0, //0x00004166 testq %rax, %rax + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00004169 movq $40(%rsp), %r10 + //0x0000416e LBB0_868 + 0x4c, 0x8b, 0x04, 0x24, //0x0000416e movq (%rsp), %r8 + 0x0f, 0x8f, 0xb8, 0xf1, 0xff, 0xff, //0x00004172 jg LBB0_662 + 0xe9, 0x81, 0xf1, 0xff, 0xff, //0x00004178 jmp LBB0_659 + //0x0000417d LBB0_869 + 0x4c, 0x89, 0xe1, //0x0000417d movq %r12, %rcx + 0x48, 0xf7, 0xd1, //0x00004180 notq %rcx + 0x49, 0x01, 0xcb, //0x00004183 addq %rcx, %r11 + 0x49, 0x39, 0xd3, //0x00004186 cmpq %rdx, %r11 + 0x0f, 0x82, 0x6c, 0xf3, 0xff, 0xff, //0x00004189 jb LBB0_695 + 0xe9, 0x11, 0x0c, 0x00, 0x00, //0x0000418f jmp LBB0_1014 + //0x00004194 LBB0_870 + 0x41, 0x8a, 0x4c, 0x24, 0x01, //0x00004194 movb $1(%r12), %cl + 0x80, 0xc1, 0xd2, //0x00004199 addb $-46, %cl + 0x80, 0xf9, 0x37, //0x0000419c cmpb $55, %cl + 0x4c, 0x8b, 0x6c, 0x24, 0x20, //0x0000419f movq $32(%rsp), %r13 + 0x0f, 0x87, 0x4b, 0x05, 0x00, 0x00, //0x000041a4 ja LBB0_935 + 0x0f, 0xb6, 0xc1, //0x000041aa movzbl %cl, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000041ad movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x000041b7 btq %rax, %rcx + 0x0f, 0x83, 0x34, 0x05, 0x00, 0x00, //0x000041bb jae LBB0_935 + //0x000041c1 LBB0_872 + 0x49, 0x83, 0xf9, 0x20, //0x000041c1 cmpq $32, %r9 + 0x0f, 0x82, 0xef, 0x07, 0x00, 0x00, //0x000041c5 jb LBB0_962 + 0x49, 0x8d, 0x49, 0xe0, //0x000041cb leaq $-32(%r9), %rcx + 0x48, 0x89, 0xc8, //0x000041cf movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xe0, //0x000041d2 andq $-32, %rax + 0x4e, 0x8d, 0x74, 0x20, 0x20, //0x000041d6 leaq $32(%rax,%r12), %r14 + 0x83, 0xe1, 0x1f, //0x000041db andl $31, %ecx + 0x48, 0x89, 0x8c, 0x24, 0x98, 0x00, 0x00, 0x00, //0x000041de movq %rcx, $152(%rsp) + 0x48, 0xc7, 0x44, 0x24, 0x18, 0xff, 0xff, 0xff, 0xff, //0x000041e6 movq $-1, $24(%rsp) + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x000041ef movq $-1, %r13 + 0x48, 0xc7, 0x44, 0x24, 0x30, 0xff, 0xff, 0xff, 0xff, //0x000041f6 movq $-1, $48(%rsp) + 0x4d, 0x89, 0xe7, //0x000041ff movq %r12, %r15 + 0x4c, 0x89, 0x04, 0x24, //0x00004202 movq %r8, (%rsp) + //0x00004206 LBB0_874 + 0xc4, 0xc1, 0x7e, 0x6f, 0x07, //0x00004206 vmovdqu (%r15), %ymm0 + 0xc4, 0xc1, 0x7d, 0x64, 0xc8, //0x0000420b vpcmpgtb %ymm8, %ymm0, %ymm1 + 0xc5, 0xb5, 0x64, 0xd0, //0x00004210 vpcmpgtb %ymm0, %ymm9, %ymm2 + 0xc5, 0xf5, 0xdb, 0xca, //0x00004214 vpand %ymm2, %ymm1, %ymm1 + 0xc5, 0xad, 0x74, 0xd0, //0x00004218 vpcmpeqb %ymm0, %ymm10, %ymm2 + 0xc5, 0xa5, 0x74, 0xd8, //0x0000421c vpcmpeqb %ymm0, %ymm11, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x00004220 vpor %ymm2, %ymm3, %ymm2 + 0xc5, 0x9d, 0xeb, 0xd8, //0x00004224 vpor %ymm0, %ymm12, %ymm3 + 0xc5, 0x95, 0x74, 0xc0, //0x00004228 vpcmpeqb %ymm0, %ymm13, %ymm0 + 0xc5, 0xfd, 0xd7, 0xd8, //0x0000422c vpmovmskb %ymm0, %ebx + 0xc5, 0x8d, 0x74, 0xdb, //0x00004230 vpcmpeqb %ymm3, %ymm14, %ymm3 + 0xc5, 0xfd, 0xd7, 0xf3, //0x00004234 vpmovmskb %ymm3, %esi + 0xc5, 0xfd, 0xd7, 0xfa, //0x00004238 vpmovmskb %ymm2, %edi + 0xc5, 0xe5, 0xeb, 0xc0, //0x0000423c vpor %ymm0, %ymm3, %ymm0 + 0xc5, 0xed, 0xeb, 0xc9, //0x00004240 vpor %ymm1, %ymm2, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc1, //0x00004244 vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00004248 vpmovmskb %ymm0, %eax + 0x48, 0xf7, 0xd0, //0x0000424c notq %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x0000424f bsfq %rax, %rcx + 0x4d, 0x89, 0xd0, //0x00004253 movq %r10, %r8 + 0x83, 0xf9, 0x20, //0x00004256 cmpl $32, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00004259 je LBB0_876 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x0000425f movl $-1, %eax + 0xd3, 0xe0, //0x00004264 shll %cl, %eax + 0xf7, 0xd0, //0x00004266 notl %eax + 0x21, 0xc3, //0x00004268 andl %eax, %ebx + 0x21, 0xc6, //0x0000426a andl %eax, %esi + 0x21, 0xf8, //0x0000426c andl %edi, %eax + 0x89, 0xc7, //0x0000426e movl %eax, %edi + //0x00004270 LBB0_876 + 0x44, 0x8d, 0x53, 0xff, //0x00004270 leal $-1(%rbx), %r10d + 0x41, 0x21, 0xda, //0x00004274 andl %ebx, %r10d + 0x0f, 0x85, 0x46, 0x06, 0x00, 0x00, //0x00004277 jne LBB0_950 + 0x8d, 0x56, 0xff, //0x0000427d leal $-1(%rsi), %edx + 0x21, 0xf2, //0x00004280 andl %esi, %edx + 0x0f, 0x85, 0x47, 0x06, 0x00, 0x00, //0x00004282 jne LBB0_951 + 0x8d, 0x57, 0xff, //0x00004288 leal $-1(%rdi), %edx + 0x21, 0xfa, //0x0000428b andl %edi, %edx + 0x4d, 0x89, 0xc2, //0x0000428d movq %r8, %r10 + 0x0f, 0x85, 0x57, 0x06, 0x00, 0x00, //0x00004290 jne LBB0_953 + 0x85, 0xdb, //0x00004296 testl %ebx, %ebx + 0x4c, 0x8b, 0x04, 0x24, //0x00004298 movq (%rsp), %r8 + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x0000429c je LBB0_882 + 0x4c, 0x89, 0xf8, //0x000042a2 movq %r15, %rax + 0x4c, 0x29, 0xe0, //0x000042a5 subq %r12, %rax + 0x0f, 0xbc, 0xdb, //0x000042a8 bsfl %ebx, %ebx + 0x48, 0x01, 0xc3, //0x000042ab addq %rax, %rbx + 0x48, 0x83, 0x7c, 0x24, 0x30, 0xff, //0x000042ae cmpq $-1, $48(%rsp) + 0x0f, 0x85, 0x6b, 0x06, 0x00, 0x00, //0x000042b4 jne LBB0_955 + 0x48, 0x89, 0x5c, 0x24, 0x30, //0x000042ba movq %rbx, $48(%rsp) + //0x000042bf LBB0_882 + 0x85, 0xf6, //0x000042bf testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000042c1 je LBB0_885 + 0x4c, 0x89, 0xf8, //0x000042c7 movq %r15, %rax + 0x4c, 0x29, 0xe0, //0x000042ca subq %r12, %rax + 0x0f, 0xbc, 0xf6, //0x000042cd bsfl %esi, %esi + 0x48, 0x01, 0xc6, //0x000042d0 addq %rax, %rsi + 0x49, 0x83, 0xfd, 0xff, //0x000042d3 cmpq $-1, %r13 + 0x0f, 0x85, 0xb6, 0x05, 0x00, 0x00, //0x000042d7 jne LBB0_948 + 0x49, 0x89, 0xf5, //0x000042dd movq %rsi, %r13 + //0x000042e0 LBB0_885 + 0x85, 0xff, //0x000042e0 testl %edi, %edi + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x000042e2 je LBB0_888 + 0x4c, 0x89, 0xf8, //0x000042e8 movq %r15, %rax + 0x4c, 0x29, 0xe0, //0x000042eb subq %r12, %rax + 0x0f, 0xbc, 0xf7, //0x000042ee bsfl %edi, %esi + 0x48, 0x01, 0xc6, //0x000042f1 addq %rax, %rsi + 0x48, 0x83, 0x7c, 0x24, 0x18, 0xff, //0x000042f4 cmpq $-1, $24(%rsp) + 0x0f, 0x85, 0x93, 0x05, 0x00, 0x00, //0x000042fa jne LBB0_948 + 0x48, 0x89, 0x74, 0x24, 0x18, //0x00004300 movq %rsi, $24(%rsp) + //0x00004305 LBB0_888 + 0x83, 0xf9, 0x20, //0x00004305 cmpl $32, %ecx + 0x0f, 0x85, 0x30, 0x02, 0x00, 0x00, //0x00004308 jne LBB0_1104 + 0x49, 0x83, 0xc7, 0x20, //0x0000430e addq $32, %r15 + 0x49, 0x83, 0xc1, 0xe0, //0x00004312 addq $-32, %r9 + 0x49, 0x83, 0xf9, 0x1f, //0x00004316 cmpq $31, %r9 + 0x0f, 0x87, 0xe6, 0xfe, 0xff, 0xff, //0x0000431a ja LBB0_874 + 0xc5, 0xf8, 0x77, //0x00004320 vzeroupper + 0x4c, 0x8b, 0x8c, 0x24, 0x98, 0x00, 0x00, 0x00, //0x00004323 movq $152(%rsp), %r9 + //0x0000432b LBB0_891 + 0x49, 0x83, 0xf9, 0x10, //0x0000432b cmpq $16, %r9 + 0xc5, 0xfe, 0x6f, 0x2d, 0xc9, 0xbc, 0xff, 0xff, //0x0000432f vmovdqu $-17207(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x41, 0xbd, 0xff, 0xff, //0x00004337 vmovdqu $-17087(%rip), %ymm6 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x59, 0xbd, 0xff, 0xff, //0x0000433f vmovdqu $-17063(%rip), %ymm7 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x3d, 0xc1, 0xbe, 0xff, 0xff, //0x00004347 vmovdqu $-16703(%rip), %xmm15 /* LCPI0_18+0(%rip) */ + 0x0f, 0x82, 0x49, 0x01, 0x00, 0x00, //0x0000434f jb LBB0_910 + 0x4d, 0x8d, 0x79, 0xf0, //0x00004355 leaq $-16(%r9), %r15 + 0x4c, 0x89, 0xf8, //0x00004359 movq %r15, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x0000435c andq $-16, %rax + 0x4e, 0x8d, 0x54, 0x30, 0x10, //0x00004360 leaq $16(%rax,%r14), %r10 + 0x41, 0x83, 0xe7, 0x0f, //0x00004365 andl $15, %r15d + //0x00004369 LBB0_893 + 0xc4, 0xc1, 0x7a, 0x6f, 0x06, //0x00004369 vmovdqu (%r14), %xmm0 + 0xc4, 0xc1, 0x79, 0x64, 0xcf, //0x0000436e vpcmpgtb %xmm15, %xmm0, %xmm1 + 0xc5, 0xfa, 0x6f, 0x15, 0xa5, 0xbe, 0xff, 0xff, //0x00004373 vmovdqu $-16731(%rip), %xmm2 /* LCPI0_19+0(%rip) */ + 0xc5, 0xe9, 0x64, 0xd0, //0x0000437b vpcmpgtb %xmm0, %xmm2, %xmm2 + 0xc5, 0xf1, 0xdb, 0xca, //0x0000437f vpand %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x74, 0x15, 0xa5, 0xbe, 0xff, 0xff, //0x00004383 vpcmpeqb $-16731(%rip), %xmm0, %xmm2 /* LCPI0_20+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x1d, 0xad, 0xbe, 0xff, 0xff, //0x0000438b vpcmpeqb $-16723(%rip), %xmm0, %xmm3 /* LCPI0_21+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xd2, //0x00004393 vpor %xmm2, %xmm3, %xmm2 + 0xc5, 0xf9, 0xeb, 0x1d, 0x51, 0xbe, 0xff, 0xff, //0x00004397 vpor $-16815(%rip), %xmm0, %xmm3 /* LCPI0_5+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x05, 0xa9, 0xbe, 0xff, 0xff, //0x0000439f vpcmpeqb $-16727(%rip), %xmm0, %xmm0 /* LCPI0_22+0(%rip) */ + 0xc5, 0xe1, 0x74, 0x1d, 0xb1, 0xbe, 0xff, 0xff, //0x000043a7 vpcmpeqb $-16719(%rip), %xmm3, %xmm3 /* LCPI0_23+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xe0, //0x000043af vpor %xmm0, %xmm3, %xmm4 + 0xc5, 0xe9, 0xeb, 0xc9, //0x000043b3 vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xd9, 0xeb, 0xc9, //0x000043b7 vpor %xmm1, %xmm4, %xmm1 + 0xc5, 0xf9, 0xd7, 0xd8, //0x000043bb vpmovmskb %xmm0, %ebx + 0xc5, 0xf9, 0xd7, 0xf3, //0x000043bf vpmovmskb %xmm3, %esi + 0xc5, 0xf9, 0xd7, 0xfa, //0x000043c3 vpmovmskb %xmm2, %edi + 0xc5, 0xf9, 0xd7, 0xc1, //0x000043c7 vpmovmskb %xmm1, %eax + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x000043cb movl $4294967295, %ecx + 0x48, 0x31, 0xc8, //0x000043d0 xorq %rcx, %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x000043d3 bsfq %rax, %rcx + 0x83, 0xf9, 0x10, //0x000043d7 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000043da je LBB0_895 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000043e0 movl $-1, %eax + 0xd3, 0xe0, //0x000043e5 shll %cl, %eax + 0xf7, 0xd0, //0x000043e7 notl %eax + 0x21, 0xc3, //0x000043e9 andl %eax, %ebx + 0x21, 0xc6, //0x000043eb andl %eax, %esi + 0x21, 0xf8, //0x000043ed andl %edi, %eax + 0x89, 0xc7, //0x000043ef movl %eax, %edi + //0x000043f1 LBB0_895 + 0x8d, 0x53, 0xff, //0x000043f1 leal $-1(%rbx), %edx + 0x21, 0xda, //0x000043f4 andl %ebx, %edx + 0x0f, 0x85, 0x83, 0x04, 0x00, 0x00, //0x000043f6 jne LBB0_947 + 0x8d, 0x56, 0xff, //0x000043fc leal $-1(%rsi), %edx + 0x21, 0xf2, //0x000043ff andl %esi, %edx + 0x0f, 0x85, 0x78, 0x04, 0x00, 0x00, //0x00004401 jne LBB0_947 + 0x8d, 0x57, 0xff, //0x00004407 leal $-1(%rdi), %edx + 0x21, 0xfa, //0x0000440a andl %edi, %edx + 0x0f, 0x85, 0x6d, 0x04, 0x00, 0x00, //0x0000440c jne LBB0_947 + 0x85, 0xdb, //0x00004412 testl %ebx, %ebx + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x00004414 je LBB0_901 + 0x4c, 0x89, 0xf0, //0x0000441a movq %r14, %rax + 0x4c, 0x29, 0xe0, //0x0000441d subq %r12, %rax + 0x0f, 0xbc, 0xdb, //0x00004420 bsfl %ebx, %ebx + 0x48, 0x01, 0xc3, //0x00004423 addq %rax, %rbx + 0x48, 0x83, 0x7c, 0x24, 0x30, 0xff, //0x00004426 cmpq $-1, $48(%rsp) + 0x0f, 0x85, 0x4e, 0x05, 0x00, 0x00, //0x0000442c jne LBB0_959 + 0x48, 0x89, 0x5c, 0x24, 0x30, //0x00004432 movq %rbx, $48(%rsp) + //0x00004437 LBB0_901 + 0x85, 0xf6, //0x00004437 testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00004439 je LBB0_904 + 0x4c, 0x89, 0xf0, //0x0000443f movq %r14, %rax + 0x4c, 0x29, 0xe0, //0x00004442 subq %r12, %rax + 0x0f, 0xbc, 0xf6, //0x00004445 bsfl %esi, %esi + 0x48, 0x01, 0xc6, //0x00004448 addq %rax, %rsi + 0x49, 0x83, 0xfd, 0xff, //0x0000444b cmpq $-1, %r13 + 0x0f, 0x85, 0xe0, 0x04, 0x00, 0x00, //0x0000444f jne LBB0_956 + 0x49, 0x89, 0xf5, //0x00004455 movq %rsi, %r13 + //0x00004458 LBB0_904 + 0x85, 0xff, //0x00004458 testl %edi, %edi + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x0000445a je LBB0_907 + 0x4c, 0x89, 0xf0, //0x00004460 movq %r14, %rax + 0x4c, 0x29, 0xe0, //0x00004463 subq %r12, %rax + 0x0f, 0xbc, 0xf7, //0x00004466 bsfl %edi, %esi + 0x48, 0x01, 0xc6, //0x00004469 addq %rax, %rsi + 0x48, 0x83, 0x7c, 0x24, 0x18, 0xff, //0x0000446c cmpq $-1, $24(%rsp) + 0x0f, 0x85, 0xbd, 0x04, 0x00, 0x00, //0x00004472 jne LBB0_956 + 0x48, 0x89, 0x74, 0x24, 0x18, //0x00004478 movq %rsi, $24(%rsp) + //0x0000447d LBB0_907 + 0x83, 0xf9, 0x10, //0x0000447d cmpl $16, %ecx + 0x0f, 0x85, 0x76, 0x01, 0x00, 0x00, //0x00004480 jne LBB0_922 + 0x49, 0x83, 0xc6, 0x10, //0x00004486 addq $16, %r14 + 0x49, 0x83, 0xc1, 0xf0, //0x0000448a addq $-16, %r9 + 0x49, 0x83, 0xf9, 0x0f, //0x0000448e cmpq $15, %r9 + 0x0f, 0x87, 0xd1, 0xfe, 0xff, 0xff, //0x00004492 ja LBB0_893 + 0x4d, 0x89, 0xf9, //0x00004498 movq %r15, %r9 + 0x4d, 0x89, 0xd6, //0x0000449b movq %r10, %r14 + //0x0000449e LBB0_910 + 0x4d, 0x85, 0xc9, //0x0000449e testq %r9, %r9 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x000044a1 movq $16(%rsp), %r15 + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x000044a6 movq $40(%rsp), %r10 + 0x0f, 0x84, 0x58, 0x01, 0x00, 0x00, //0x000044ab je LBB0_923 + 0x4b, 0x8d, 0x0c, 0x0e, //0x000044b1 leaq (%r14,%r9), %rcx + 0xe9, 0x26, 0x00, 0x00, 0x00, //0x000044b5 jmp LBB0_915 + //0x000044ba LBB0_912 + 0x49, 0x89, 0xd6, //0x000044ba movq %rdx, %r14 + 0x4d, 0x29, 0xe6, //0x000044bd subq %r12, %r14 + 0x48, 0x83, 0x7c, 0x24, 0x18, 0xff, //0x000044c0 cmpq $-1, $24(%rsp) + 0x0f, 0x85, 0xdd, 0x01, 0x00, 0x00, //0x000044c6 jne LBB0_932 + 0x49, 0xff, 0xce, //0x000044cc decq %r14 + 0x4c, 0x89, 0x74, 0x24, 0x18, //0x000044cf movq %r14, $24(%rsp) + //0x000044d4 LBB0_914 + 0x49, 0x89, 0xd6, //0x000044d4 movq %rdx, %r14 + 0x49, 0xff, 0xc9, //0x000044d7 decq %r9 + 0x0f, 0x84, 0x85, 0x04, 0x00, 0x00, //0x000044da je LBB0_958 + //0x000044e0 LBB0_915 + 0x41, 0x0f, 0xbe, 0x36, //0x000044e0 movsbl (%r14), %esi + 0x83, 0xc6, 0xd5, //0x000044e4 addl $-43, %esi + 0x83, 0xfe, 0x3a, //0x000044e7 cmpl $58, %esi + 0x0f, 0x87, 0x19, 0x01, 0x00, 0x00, //0x000044ea ja LBB0_923 + 0x49, 0x8d, 0x56, 0x01, //0x000044f0 leaq $1(%r14), %rdx + 0x48, 0x8d, 0x3d, 0x55, 0x18, 0x00, 0x00, //0x000044f4 leaq $6229(%rip), %rdi /* LJTI0_4+0(%rip) */ + 0x48, 0x63, 0x04, 0xb7, //0x000044fb movslq (%rdi,%rsi,4), %rax + 0x48, 0x01, 0xf8, //0x000044ff addq %rdi, %rax + 0xff, 0xe0, //0x00004502 jmpq *%rax + //0x00004504 LBB0_917 + 0x49, 0x89, 0xd6, //0x00004504 movq %rdx, %r14 + 0x4d, 0x29, 0xe6, //0x00004507 subq %r12, %r14 + 0x49, 0x83, 0xfd, 0xff, //0x0000450a cmpq $-1, %r13 + 0x0f, 0x85, 0x95, 0x01, 0x00, 0x00, //0x0000450e jne LBB0_932 + 0x49, 0xff, 0xce, //0x00004514 decq %r14 + 0x4d, 0x89, 0xf5, //0x00004517 movq %r14, %r13 + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x0000451a jmp LBB0_914 + //0x0000451f LBB0_919 + 0x49, 0x89, 0xd6, //0x0000451f movq %rdx, %r14 + 0x4d, 0x29, 0xe6, //0x00004522 subq %r12, %r14 + 0x48, 0x83, 0x7c, 0x24, 0x30, 0xff, //0x00004525 cmpq $-1, $48(%rsp) + 0x0f, 0x85, 0x78, 0x01, 0x00, 0x00, //0x0000452b jne LBB0_932 + 0x49, 0xff, 0xce, //0x00004531 decq %r14 + 0x4c, 0x89, 0x74, 0x24, 0x30, //0x00004534 movq %r14, $48(%rsp) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x00004539 jmp LBB0_914 + //0x0000453e LBB0_1104 + 0x49, 0x01, 0xcf, //0x0000453e addq %rcx, %r15 + 0xc5, 0xf8, 0x77, //0x00004541 vzeroupper + 0xc5, 0x7a, 0x6f, 0x3d, 0xc4, 0xbc, 0xff, 0xff, //0x00004544 vmovdqu $-17212(%rip), %xmm15 /* LCPI0_18+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x4c, 0xbb, 0xff, 0xff, //0x0000454c vmovdqu $-17588(%rip), %ymm7 /* LCPI0_8+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x24, 0xbb, 0xff, 0xff, //0x00004554 vmovdqu $-17628(%rip), %ymm6 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x9c, 0xba, 0xff, 0xff, //0x0000455c vmovdqu $-17764(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0x4d, 0x89, 0xfe, //0x00004564 movq %r15, %r14 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00004567 movq $16(%rsp), %r15 + 0x4d, 0x85, 0xed, //0x0000456c testq %r13, %r13 + 0x48, 0x8b, 0x54, 0x24, 0x30, //0x0000456f movq $48(%rsp), %rdx + 0x48, 0x8b, 0x74, 0x24, 0x18, //0x00004574 movq $24(%rsp), %rsi + 0x0f, 0x85, 0x9d, 0x00, 0x00, 0x00, //0x00004579 jne LBB0_924 + 0xe9, 0xdc, 0x10, 0x00, 0x00, //0x0000457f jmp LBB0_1105 + //0x00004584 LBB0_713 + 0x4d, 0x89, 0xcf, //0x00004584 movq %r9, %r15 + 0x4c, 0x89, 0xd1, //0x00004587 movq %r10, %rcx + 0x4c, 0x89, 0xeb, //0x0000458a movq %r13, %rbx + 0x4d, 0x89, 0xc2, //0x0000458d movq %r8, %r10 + 0x4c, 0x8b, 0x04, 0x24, //0x00004590 movq (%rsp), %r8 + 0x48, 0x83, 0xf9, 0x20, //0x00004594 cmpq $32, %rcx + 0x0f, 0x82, 0xb7, 0x04, 0x00, 0x00, //0x00004598 jb LBB0_968 + //0x0000459e LBB0_714 + 0xc5, 0xfe, 0x6f, 0x03, //0x0000459e vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x000045a2 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf9, //0x000045a6 vpmovmskb %ymm1, %edi + 0xc5, 0xfd, 0x74, 0xc7, //0x000045aa vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x000045ae vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x000045b2 testl %esi, %esi + 0x0f, 0x85, 0x21, 0x04, 0x00, 0x00, //0x000045b4 jne LBB0_963 + 0x4d, 0x85, 0xf6, //0x000045ba testq %r14, %r14 + 0x0f, 0x85, 0x3d, 0x04, 0x00, 0x00, //0x000045bd jne LBB0_965 + 0x45, 0x31, 0xf6, //0x000045c3 xorl %r14d, %r14d + 0x48, 0x85, 0xff, //0x000045c6 testq %rdi, %rdi + 0x0f, 0x84, 0x7e, 0x04, 0x00, 0x00, //0x000045c9 je LBB0_967 + //0x000045cf LBB0_717 + 0x48, 0x0f, 0xbc, 0xc7, //0x000045cf bsfq %rdi, %rax + 0x4c, 0x29, 0xe3, //0x000045d3 subq %r12, %rbx + 0x4c, 0x8d, 0x6c, 0x03, 0x01, //0x000045d6 leaq $1(%rbx,%rax), %r13 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x000045db movq $8(%rsp), %r14 + 0xe9, 0xf7, 0x04, 0x00, 0x00, //0x000045e0 jmp LBB0_977 + //0x000045e5 LBB0_921 + 0x4c, 0x29, 0xcb, //0x000045e5 subq %r9, %rbx + 0x44, 0x0f, 0xbc, 0xc2, //0x000045e8 bsfl %edx, %r8d + 0x49, 0x01, 0xd8, //0x000045ec addq %rbx, %r8 + 0x49, 0xf7, 0xd0, //0x000045ef notq %r8 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x000045f2 movq $8(%rsp), %r14 + 0xe9, 0x46, 0xfb, 0xff, 0xff, //0x000045f7 jmp LBB0_864 + //0x000045fc LBB0_922 + 0x49, 0x01, 0xce, //0x000045fc addq %rcx, %r14 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x000045ff movq $16(%rsp), %r15 + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00004604 movq $40(%rsp), %r10 + //0x00004609 LBB0_923 + 0x4d, 0x85, 0xed, //0x00004609 testq %r13, %r13 + 0x48, 0x8b, 0x54, 0x24, 0x30, //0x0000460c movq $48(%rsp), %rdx + 0x48, 0x8b, 0x74, 0x24, 0x18, //0x00004611 movq $24(%rsp), %rsi + 0x0f, 0x84, 0x44, 0x10, 0x00, 0x00, //0x00004616 je LBB0_1105 + //0x0000461c LBB0_924 + 0x48, 0x85, 0xf6, //0x0000461c testq %rsi, %rsi + 0x0f, 0x84, 0x3b, 0x10, 0x00, 0x00, //0x0000461f je LBB0_1105 + 0x48, 0x85, 0xd2, //0x00004625 testq %rdx, %rdx + 0x0f, 0x84, 0x32, 0x10, 0x00, 0x00, //0x00004628 je LBB0_1105 + 0x4d, 0x29, 0xe6, //0x0000462e subq %r12, %r14 + 0x49, 0x8d, 0x4e, 0xff, //0x00004631 leaq $-1(%r14), %rcx + 0x49, 0x39, 0xcd, //0x00004635 cmpq %rcx, %r13 + 0x0f, 0x84, 0x6b, 0x00, 0x00, 0x00, //0x00004638 je LBB0_932 + 0x48, 0x39, 0xca, //0x0000463e cmpq %rcx, %rdx + 0x0f, 0x84, 0x62, 0x00, 0x00, 0x00, //0x00004641 je LBB0_932 + 0x48, 0x39, 0xce, //0x00004647 cmpq %rcx, %rsi + 0x0f, 0x84, 0x59, 0x00, 0x00, 0x00, //0x0000464a je LBB0_932 + 0x48, 0x85, 0xf6, //0x00004650 testq %rsi, %rsi + 0xc5, 0x7e, 0x6f, 0x05, 0xc5, 0xba, 0xff, 0xff, //0x00004653 vmovdqu $-17723(%rip), %ymm8 /* LCPI0_12+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x0d, 0xdd, 0xba, 0xff, 0xff, //0x0000465b vmovdqu $-17699(%rip), %ymm9 /* LCPI0_13+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0xf5, 0xba, 0xff, 0xff, //0x00004663 vmovdqu $-17675(%rip), %ymm10 /* LCPI0_14+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x0d, 0xbb, 0xff, 0xff, //0x0000466b vmovdqu $-17651(%rip), %ymm11 /* LCPI0_15+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0xc5, 0xb9, 0xff, 0xff, //0x00004673 vmovdqu $-17979(%rip), %ymm12 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x1d, 0xbb, 0xff, 0xff, //0x0000467b vmovdqu $-17635(%rip), %ymm13 /* LCPI0_16+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x35, 0xbb, 0xff, 0xff, //0x00004683 vmovdqu $-17611(%rip), %ymm14 /* LCPI0_17+0(%rip) */ + 0x0f, 0x8e, 0x71, 0x00, 0x00, 0x00, //0x0000468b jle LBB0_936 + 0x48, 0x8d, 0x46, 0xff, //0x00004691 leaq $-1(%rsi), %rax + 0x49, 0x39, 0xc5, //0x00004695 cmpq %rax, %r13 + 0x0f, 0x84, 0x64, 0x00, 0x00, 0x00, //0x00004698 je LBB0_936 + 0x48, 0xf7, 0xd6, //0x0000469e notq %rsi + 0x49, 0x89, 0xf6, //0x000046a1 movq %rsi, %r14 + 0xe9, 0x3b, 0x00, 0x00, 0x00, //0x000046a4 jmp LBB0_934 + //0x000046a9 LBB0_932 + 0x49, 0xf7, 0xde, //0x000046a9 negq %r14 + //0x000046ac LBB0_933 + 0xc5, 0x7e, 0x6f, 0x05, 0x6c, 0xba, 0xff, 0xff, //0x000046ac vmovdqu $-17812(%rip), %ymm8 /* LCPI0_12+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x0d, 0x84, 0xba, 0xff, 0xff, //0x000046b4 vmovdqu $-17788(%rip), %ymm9 /* LCPI0_13+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x9c, 0xba, 0xff, 0xff, //0x000046bc vmovdqu $-17764(%rip), %ymm10 /* LCPI0_14+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xb4, 0xba, 0xff, 0xff, //0x000046c4 vmovdqu $-17740(%rip), %ymm11 /* LCPI0_15+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x6c, 0xb9, 0xff, 0xff, //0x000046cc vmovdqu $-18068(%rip), %ymm12 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0xc4, 0xba, 0xff, 0xff, //0x000046d4 vmovdqu $-17724(%rip), %ymm13 /* LCPI0_16+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xdc, 0xba, 0xff, 0xff, //0x000046dc vmovdqu $-17700(%rip), %ymm14 /* LCPI0_17+0(%rip) */ + //0x000046e4 LBB0_934 + 0x48, 0x8b, 0x44, 0x24, 0x08, //0x000046e4 movq $8(%rsp), %rax + 0x4c, 0x8b, 0x28, //0x000046e9 movq (%rax), %r13 + 0x4d, 0x85, 0xf6, //0x000046ec testq %r14, %r14 + 0x0f, 0x88, 0x7a, 0x0f, 0x00, 0x00, //0x000046ef js LBB0_1107 + //0x000046f5 LBB0_935 + 0x4d, 0x01, 0xf5, //0x000046f5 addq %r14, %r13 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x000046f8 movq $8(%rsp), %r14 + 0xe9, 0xe8, 0xef, 0xff, 0xff, //0x000046fd jmp LBB0_721 + //0x00004702 LBB0_936 + 0x48, 0x89, 0xd1, //0x00004702 movq %rdx, %rcx + 0x4c, 0x09, 0xe9, //0x00004705 orq %r13, %rcx + 0x4c, 0x39, 0xea, //0x00004708 cmpq %r13, %rdx + 0x0f, 0x8c, 0x73, 0x00, 0x00, 0x00, //0x0000470b jl LBB0_939 + 0x48, 0x85, 0xc9, //0x00004711 testq %rcx, %rcx + 0x0f, 0x88, 0x6a, 0x00, 0x00, 0x00, //0x00004714 js LBB0_939 + 0x48, 0xf7, 0xd2, //0x0000471a notq %rdx + 0x49, 0x89, 0xd6, //0x0000471d movq %rdx, %r14 + 0xe9, 0xbf, 0xff, 0xff, 0xff, //0x00004720 jmp LBB0_934 + //0x00004725 LBB0_745 + 0x4d, 0x89, 0xcf, //0x00004725 movq %r9, %r15 + 0x4c, 0x89, 0xd1, //0x00004728 movq %r10, %rcx + 0x4c, 0x89, 0xeb, //0x0000472b movq %r13, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x0000472e cmpq $32, %rcx + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00004732 movq $40(%rsp), %r10 + 0x0f, 0x82, 0x1a, 0x04, 0x00, 0x00, //0x00004737 jb LBB0_984 + //0x0000473d LBB0_746 + 0xc5, 0xfe, 0x6f, 0x03, //0x0000473d vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00004741 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf9, //0x00004745 vpmovmskb %ymm1, %edi + 0xc5, 0xfd, 0x74, 0xc7, //0x00004749 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x0000474d vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00004751 testl %esi, %esi + 0x0f, 0x85, 0x96, 0x03, 0x00, 0x00, //0x00004753 jne LBB0_980 + 0x4d, 0x85, 0xf6, //0x00004759 testq %r14, %r14 + 0x0f, 0x85, 0xa7, 0x03, 0x00, 0x00, //0x0000475c jne LBB0_982 + 0x45, 0x31, 0xf6, //0x00004762 xorl %r14d, %r14d + 0x48, 0x85, 0xff, //0x00004765 testq %rdi, %rdi + 0x0f, 0x84, 0xe1, 0x03, 0x00, 0x00, //0x00004768 je LBB0_983 + //0x0000476e LBB0_749 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000476e bsfq %rdi, %rax + 0x4c, 0x29, 0xe3, //0x00004772 subq %r12, %rbx + 0x4c, 0x8d, 0x6c, 0x03, 0x01, //0x00004775 leaq $1(%rbx,%rax), %r13 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x0000477a movq $8(%rsp), %r14 + 0xe9, 0x5f, 0x04, 0x00, 0x00, //0x0000477f jmp LBB0_993 + //0x00004784 LBB0_939 + 0x48, 0x85, 0xc9, //0x00004784 testq %rcx, %rcx + 0x49, 0x8d, 0x45, 0xff, //0x00004787 leaq $-1(%r13), %rax + 0x49, 0xf7, 0xd5, //0x0000478b notq %r13 + 0x4d, 0x0f, 0x48, 0xee, //0x0000478e cmovsq %r14, %r13 + 0x48, 0x39, 0xc2, //0x00004792 cmpq %rax, %rdx + 0x4d, 0x0f, 0x44, 0xf5, //0x00004795 cmoveq %r13, %r14 + 0xe9, 0x46, 0xff, 0xff, 0xff, //0x00004799 jmp LBB0_934 + //0x0000479e LBB0_940 + 0x4d, 0x29, 0xc8, //0x0000479e subq %r9, %r8 + 0x0f, 0xbc, 0xc2, //0x000047a1 bsfl %edx, %eax + 0x4c, 0x01, 0xc0, //0x000047a4 addq %r8, %rax + 0x48, 0xf7, 0xd0, //0x000047a7 notq %rax + 0x49, 0x89, 0xc0, //0x000047aa movq %rax, %r8 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x000047ad movq $8(%rsp), %r14 + 0xe9, 0x8b, 0xf9, 0xff, 0xff, //0x000047b2 jmp LBB0_864 + //0x000047b7 LBB0_941 + 0x48, 0xf7, 0xd2, //0x000047b7 notq %rdx + 0x49, 0x89, 0xd0, //0x000047ba movq %rdx, %r8 + 0xe9, 0x80, 0xf9, 0xff, 0xff, //0x000047bd jmp LBB0_864 + //0x000047c2 LBB0_942 + 0x48, 0xf7, 0xd2, //0x000047c2 notq %rdx + 0x49, 0x89, 0xd0, //0x000047c5 movq %rdx, %r8 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x000047c8 movq $8(%rsp), %r14 + 0xe9, 0x70, 0xf9, 0xff, 0xff, //0x000047cd jmp LBB0_864 + //0x000047d2 LBB0_943 + 0x48, 0xf7, 0xd6, //0x000047d2 notq %rsi + 0x49, 0x89, 0xf0, //0x000047d5 movq %rsi, %r8 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x000047d8 movq $8(%rsp), %r14 + 0xe9, 0x60, 0xf9, 0xff, 0xff, //0x000047dd jmp LBB0_864 + //0x000047e2 LBB0_944 + 0x49, 0x89, 0xc8, //0x000047e2 movq %rcx, %r8 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000047e5 movq $-1, %rcx + 0x4d, 0x85, 0xff, //0x000047ec testq %r15, %r15 + 0x0f, 0x85, 0x9f, 0xf5, 0xff, 0xff, //0x000047ef jne LBB0_810 + 0xe9, 0xc6, 0x0c, 0x00, 0x00, //0x000047f5 jmp LBB0_1086 + //0x000047fa LBB0_945 + 0x48, 0xf7, 0xd3, //0x000047fa notq %rbx + 0x49, 0x89, 0xd8, //0x000047fd movq %rbx, %r8 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00004800 movq $8(%rsp), %r14 + 0xe9, 0x38, 0xf9, 0xff, 0xff, //0x00004805 jmp LBB0_864 + //0x0000480a LBB0_830 + 0x4d, 0x89, 0xcf, //0x0000480a movq %r9, %r15 + 0x4c, 0x89, 0xd1, //0x0000480d movq %r10, %rcx + 0x4c, 0x89, 0xeb, //0x00004810 movq %r13, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00004813 cmpq $32, %rcx + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00004817 movq $40(%rsp), %r10 + 0x0f, 0x82, 0xaf, 0x04, 0x00, 0x00, //0x0000481c jb LBB0_1002 + //0x00004822 LBB0_831 + 0xc5, 0xfe, 0x6f, 0x03, //0x00004822 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00004826 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf9, //0x0000482a vpmovmskb %ymm1, %edi + 0xc5, 0xfd, 0x74, 0xc7, //0x0000482e vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00004832 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00004836 testl %esi, %esi + 0x0f, 0x85, 0x2b, 0x04, 0x00, 0x00, //0x00004838 jne LBB0_998 + 0x4d, 0x85, 0xf6, //0x0000483e testq %r14, %r14 + 0x0f, 0x85, 0x3c, 0x04, 0x00, 0x00, //0x00004841 jne LBB0_1000 + 0x45, 0x31, 0xf6, //0x00004847 xorl %r14d, %r14d + 0x48, 0x85, 0xff, //0x0000484a testq %rdi, %rdi + 0x0f, 0x84, 0x76, 0x04, 0x00, 0x00, //0x0000484d je LBB0_1001 + //0x00004853 LBB0_834 + 0x48, 0x0f, 0xbc, 0xc7, //0x00004853 bsfq %rdi, %rax + 0x4c, 0x29, 0xe3, //0x00004857 subq %r12, %rbx + 0x4c, 0x8d, 0x6c, 0x03, 0x01, //0x0000485a leaq $1(%rbx,%rax), %r13 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x0000485f movq $16(%rsp), %r15 + 0x4d, 0x85, 0xed, //0x00004864 testq %r13, %r13 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00004867 movq $8(%rsp), %r14 + 0x0f, 0x89, 0xa6, 0xf7, 0xff, 0xff, //0x0000486c jns LBB0_838 + 0xe9, 0x27, 0x0c, 0x00, 0x00, //0x00004872 jmp LBB0_1082 + //0x00004877 LBB0_946 + 0x49, 0xf7, 0xd8, //0x00004877 negq %r8 + 0xe9, 0xc3, 0xf8, 0xff, 0xff, //0x0000487a jmp LBB0_864 + //0x0000487f LBB0_947 + 0x4d, 0x29, 0xe6, //0x0000487f subq %r12, %r14 + 0x0f, 0xbc, 0xc2, //0x00004882 bsfl %edx, %eax + 0x4c, 0x01, 0xf0, //0x00004885 addq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00004888 notq %rax + 0x49, 0x89, 0xc6, //0x0000488b movq %rax, %r14 + 0xe9, 0xf3, 0x00, 0x00, 0x00, //0x0000488e jmp LBB0_960 + //0x00004893 LBB0_948 + 0x48, 0xf7, 0xd6, //0x00004893 notq %rsi + 0x49, 0x89, 0xf6, //0x00004896 movq %rsi, %r14 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00004899 movq $16(%rsp), %r15 + 0xe9, 0x41, 0xfe, 0xff, 0xff, //0x0000489e jmp LBB0_934 + //0x000048a3 LBB0_949 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000048a3 movq $-1, %r9 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000048aa movq $-1, %r15 + 0x45, 0x31, 0xf6, //0x000048b1 xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x000048b4 cmpq $32, %rcx + 0x0f, 0x83, 0xe0, 0xfc, 0xff, 0xff, //0x000048b8 jae LBB0_714 + 0xe9, 0x92, 0x01, 0x00, 0x00, //0x000048be jmp LBB0_968 + //0x000048c3 LBB0_950 + 0x4d, 0x29, 0xe7, //0x000048c3 subq %r12, %r15 + 0x45, 0x0f, 0xbc, 0xf2, //0x000048c6 bsfl %r10d, %r14d + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x000048ca jmp LBB0_952 + //0x000048cf LBB0_951 + 0x4d, 0x29, 0xe7, //0x000048cf subq %r12, %r15 + 0x44, 0x0f, 0xbc, 0xf2, //0x000048d2 bsfl %edx, %r14d + //0x000048d6 LBB0_952 + 0x4d, 0x01, 0xfe, //0x000048d6 addq %r15, %r14 + 0x49, 0xf7, 0xd6, //0x000048d9 notq %r14 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x000048dc movq $16(%rsp), %r15 + 0x4d, 0x89, 0xc2, //0x000048e1 movq %r8, %r10 + 0x4c, 0x8b, 0x04, 0x24, //0x000048e4 movq (%rsp), %r8 + 0xe9, 0xf7, 0xfd, 0xff, 0xff, //0x000048e8 jmp LBB0_934 + //0x000048ed LBB0_953 + 0x4d, 0x29, 0xe7, //0x000048ed subq %r12, %r15 + 0x44, 0x0f, 0xbc, 0xf2, //0x000048f0 bsfl %edx, %r14d + 0x4d, 0x01, 0xfe, //0x000048f4 addq %r15, %r14 + 0x49, 0xf7, 0xd6, //0x000048f7 notq %r14 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x000048fa movq $16(%rsp), %r15 + 0x4c, 0x8b, 0x04, 0x24, //0x000048ff movq (%rsp), %r8 + 0xe9, 0xdc, 0xfd, 0xff, 0xff, //0x00004903 jmp LBB0_934 + //0x00004908 LBB0_954 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00004908 movq $-1, %r13 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x0000490f movq $-1, %r15 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00004916 movq $-1, %r12 + 0x4d, 0x89, 0xc8, //0x0000491d movq %r9, %r8 + 0xe9, 0xe2, 0xf1, 0xff, 0xff, //0x00004920 jmp LBB0_777 + //0x00004925 LBB0_955 + 0x48, 0xf7, 0xd3, //0x00004925 notq %rbx + 0x49, 0x89, 0xde, //0x00004928 movq %rbx, %r14 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x0000492b movq $16(%rsp), %r15 + 0xe9, 0xaf, 0xfd, 0xff, 0xff, //0x00004930 jmp LBB0_934 + //0x00004935 LBB0_956 + 0x48, 0xf7, 0xd6, //0x00004935 notq %rsi + 0x49, 0x89, 0xf6, //0x00004938 movq %rsi, %r14 + 0xe9, 0x46, 0x00, 0x00, 0x00, //0x0000493b jmp LBB0_960 + //0x00004940 LBB0_957 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00004940 movq $-1, %r9 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00004947 movq $-1, %r15 + 0x45, 0x31, 0xf6, //0x0000494e xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00004951 cmpq $32, %rcx + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00004955 movq $40(%rsp), %r10 + 0x0f, 0x83, 0xdd, 0xfd, 0xff, 0xff, //0x0000495a jae LBB0_746 + 0xe9, 0xf2, 0x01, 0x00, 0x00, //0x00004960 jmp LBB0_984 + //0x00004965 LBB0_958 + 0x49, 0x89, 0xce, //0x00004965 movq %rcx, %r14 + 0x4d, 0x85, 0xed, //0x00004968 testq %r13, %r13 + 0x48, 0x8b, 0x54, 0x24, 0x30, //0x0000496b movq $48(%rsp), %rdx + 0x48, 0x8b, 0x74, 0x24, 0x18, //0x00004970 movq $24(%rsp), %rsi + 0x0f, 0x85, 0xa1, 0xfc, 0xff, 0xff, //0x00004975 jne LBB0_924 + 0xe9, 0xe0, 0x0c, 0x00, 0x00, //0x0000497b jmp LBB0_1105 + //0x00004980 LBB0_959 + 0x48, 0xf7, 0xd3, //0x00004980 notq %rbx + 0x49, 0x89, 0xde, //0x00004983 movq %rbx, %r14 + //0x00004986 LBB0_960 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00004986 movq $16(%rsp), %r15 + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x0000498b movq $40(%rsp), %r10 + 0xe9, 0x17, 0xfd, 0xff, 0xff, //0x00004990 jmp LBB0_933 + //0x00004995 LBB0_961 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00004995 movq $-1, %r9 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x0000499c movq $-1, %r15 + 0x45, 0x31, 0xf6, //0x000049a3 xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x000049a6 cmpq $32, %rcx + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x000049aa movq $40(%rsp), %r10 + 0x0f, 0x83, 0x6d, 0xfe, 0xff, 0xff, //0x000049af jae LBB0_831 + 0xe9, 0x17, 0x03, 0x00, 0x00, //0x000049b5 jmp LBB0_1002 + //0x000049ba LBB0_962 + 0x48, 0xc7, 0x44, 0x24, 0x18, 0xff, 0xff, 0xff, 0xff, //0x000049ba movq $-1, $24(%rsp) + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x000049c3 movq $-1, %r13 + 0x48, 0xc7, 0x44, 0x24, 0x30, 0xff, 0xff, 0xff, 0xff, //0x000049ca movq $-1, $48(%rsp) + 0x4d, 0x89, 0xe6, //0x000049d3 movq %r12, %r14 + 0xe9, 0x50, 0xf9, 0xff, 0xff, //0x000049d6 jmp LBB0_891 + //0x000049db LBB0_963 + 0x4d, 0x89, 0xc5, //0x000049db movq %r8, %r13 + 0x4d, 0x89, 0xd0, //0x000049de movq %r10, %r8 + 0x49, 0x83, 0xff, 0xff, //0x000049e1 cmpq $-1, %r15 + 0x0f, 0x85, 0x1b, 0x00, 0x00, 0x00, //0x000049e5 jne LBB0_966 + 0x48, 0x89, 0xd8, //0x000049eb movq %rbx, %rax + 0x4c, 0x29, 0xe0, //0x000049ee subq %r12, %rax + 0x4c, 0x0f, 0xbc, 0xce, //0x000049f1 bsfq %rsi, %r9 + 0x49, 0x01, 0xc1, //0x000049f5 addq %rax, %r9 + 0x4d, 0x89, 0xcf, //0x000049f8 movq %r9, %r15 + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x000049fb jmp LBB0_966 + //0x00004a00 LBB0_965 + 0x4d, 0x89, 0xc5, //0x00004a00 movq %r8, %r13 + 0x4d, 0x89, 0xd0, //0x00004a03 movq %r10, %r8 + //0x00004a06 LBB0_966 + 0x44, 0x89, 0xf0, //0x00004a06 movl %r14d, %eax + 0xf7, 0xd0, //0x00004a09 notl %eax + 0x21, 0xf0, //0x00004a0b andl %esi, %eax + 0x44, 0x8d, 0x14, 0x00, //0x00004a0d leal (%rax,%rax), %r10d + 0x45, 0x09, 0xf2, //0x00004a11 orl %r14d, %r10d + 0x44, 0x89, 0xd2, //0x00004a14 movl %r10d, %edx + 0xf7, 0xd2, //0x00004a17 notl %edx + 0x21, 0xf2, //0x00004a19 andl %esi, %edx + 0x81, 0xe2, 0xaa, 0xaa, 0xaa, 0xaa, //0x00004a1b andl $-1431655766, %edx + 0x45, 0x31, 0xf6, //0x00004a21 xorl %r14d, %r14d + 0x01, 0xc2, //0x00004a24 addl %eax, %edx + 0x41, 0x0f, 0x92, 0xc6, //0x00004a26 setb %r14b + 0x01, 0xd2, //0x00004a2a addl %edx, %edx + 0x81, 0xf2, 0x55, 0x55, 0x55, 0x55, //0x00004a2c xorl $1431655765, %edx + 0x44, 0x21, 0xd2, //0x00004a32 andl %r10d, %edx + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00004a35 movl $4294967295, %eax + 0x31, 0xd0, //0x00004a3a xorl %edx, %eax + 0x21, 0xc7, //0x00004a3c andl %eax, %edi + 0x4d, 0x89, 0xc2, //0x00004a3e movq %r8, %r10 + 0x4d, 0x89, 0xe8, //0x00004a41 movq %r13, %r8 + 0x48, 0x85, 0xff, //0x00004a44 testq %rdi, %rdi + 0x0f, 0x85, 0x82, 0xfb, 0xff, 0xff, //0x00004a47 jne LBB0_717 + //0x00004a4d LBB0_967 + 0x48, 0x83, 0xc3, 0x20, //0x00004a4d addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x00004a51 addq $-32, %rcx + //0x00004a55 LBB0_968 + 0x4d, 0x85, 0xf6, //0x00004a55 testq %r14, %r14 + 0x0f, 0x85, 0x98, 0x01, 0x00, 0x00, //0x00004a58 jne LBB0_994 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00004a5e movq $8(%rsp), %r14 + 0x48, 0x85, 0xc9, //0x00004a63 testq %rcx, %rcx + 0x0f, 0x84, 0x64, 0x03, 0x00, 0x00, //0x00004a66 je LBB0_979 + //0x00004a6c LBB0_970 + 0x4c, 0x89, 0xe7, //0x00004a6c movq %r12, %rdi + 0x48, 0xf7, 0xd7, //0x00004a6f notq %rdi + //0x00004a72 LBB0_971 + 0x4c, 0x8d, 0x6b, 0x01, //0x00004a72 leaq $1(%rbx), %r13 + 0x0f, 0xb6, 0x13, //0x00004a76 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x00004a79 cmpb $34, %dl + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x00004a7c je LBB0_976 + 0x48, 0x8d, 0x71, 0xff, //0x00004a82 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00004a86 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00004a89 je LBB0_974 + 0x48, 0x89, 0xf1, //0x00004a8f movq %rsi, %rcx + 0x4c, 0x89, 0xeb, //0x00004a92 movq %r13, %rbx + 0x48, 0x85, 0xf6, //0x00004a95 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00004a98 jne LBB0_971 + 0xe9, 0x2d, 0x03, 0x00, 0x00, //0x00004a9e jmp LBB0_979 + //0x00004aa3 LBB0_974 + 0x48, 0x85, 0xf6, //0x00004aa3 testq %rsi, %rsi + 0x0f, 0x84, 0x90, 0x0c, 0x00, 0x00, //0x00004aa6 je LBB0_1123 + 0x49, 0x01, 0xfd, //0x00004aac addq %rdi, %r13 + 0x49, 0x83, 0xff, 0xff, //0x00004aaf cmpq $-1, %r15 + 0x4d, 0x0f, 0x44, 0xcd, //0x00004ab3 cmoveq %r13, %r9 + 0x4d, 0x0f, 0x44, 0xfd, //0x00004ab7 cmoveq %r13, %r15 + 0x48, 0x83, 0xc3, 0x02, //0x00004abb addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x00004abf addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00004ac3 movq %rcx, %rsi + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00004ac6 movq $8(%rsp), %r14 + 0x48, 0x85, 0xf6, //0x00004acb testq %rsi, %rsi + 0x0f, 0x85, 0x9e, 0xff, 0xff, 0xff, //0x00004ace jne LBB0_971 + 0xe9, 0xf7, 0x02, 0x00, 0x00, //0x00004ad4 jmp LBB0_979 + //0x00004ad9 LBB0_976 + 0x4d, 0x29, 0xe5, //0x00004ad9 subq %r12, %r13 + //0x00004adc LBB0_977 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00004adc movq $16(%rsp), %r15 + 0x4d, 0x85, 0xed, //0x00004ae1 testq %r13, %r13 + 0x0f, 0x89, 0x00, 0xec, 0xff, 0xff, //0x00004ae4 jns LBB0_721 + 0xe9, 0xd7, 0x02, 0x00, 0x00, //0x00004aea jmp LBB0_978 + //0x00004aef LBB0_980 + 0x49, 0x83, 0xff, 0xff, //0x00004aef cmpq $-1, %r15 + 0x0f, 0x85, 0x10, 0x00, 0x00, 0x00, //0x00004af3 jne LBB0_982 + 0x48, 0x89, 0xd8, //0x00004af9 movq %rbx, %rax + 0x4c, 0x29, 0xe0, //0x00004afc subq %r12, %rax + 0x4c, 0x0f, 0xbc, 0xce, //0x00004aff bsfq %rsi, %r9 + 0x49, 0x01, 0xc1, //0x00004b03 addq %rax, %r9 + 0x4d, 0x89, 0xcf, //0x00004b06 movq %r9, %r15 + //0x00004b09 LBB0_982 + 0x44, 0x89, 0xf0, //0x00004b09 movl %r14d, %eax + 0xf7, 0xd0, //0x00004b0c notl %eax + 0x21, 0xf0, //0x00004b0e andl %esi, %eax + 0x44, 0x8d, 0x14, 0x00, //0x00004b10 leal (%rax,%rax), %r10d + 0x45, 0x09, 0xf2, //0x00004b14 orl %r14d, %r10d + 0x44, 0x89, 0xd2, //0x00004b17 movl %r10d, %edx + 0xf7, 0xd2, //0x00004b1a notl %edx + 0x21, 0xf2, //0x00004b1c andl %esi, %edx + 0x81, 0xe2, 0xaa, 0xaa, 0xaa, 0xaa, //0x00004b1e andl $-1431655766, %edx + 0x45, 0x31, 0xf6, //0x00004b24 xorl %r14d, %r14d + 0x01, 0xc2, //0x00004b27 addl %eax, %edx + 0x41, 0x0f, 0x92, 0xc6, //0x00004b29 setb %r14b + 0x01, 0xd2, //0x00004b2d addl %edx, %edx + 0x81, 0xf2, 0x55, 0x55, 0x55, 0x55, //0x00004b2f xorl $1431655765, %edx + 0x44, 0x21, 0xd2, //0x00004b35 andl %r10d, %edx + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00004b38 movl $4294967295, %eax + 0x31, 0xd0, //0x00004b3d xorl %edx, %eax + 0x21, 0xc7, //0x00004b3f andl %eax, %edi + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00004b41 movq $40(%rsp), %r10 + 0x48, 0x85, 0xff, //0x00004b46 testq %rdi, %rdi + 0x0f, 0x85, 0x1f, 0xfc, 0xff, 0xff, //0x00004b49 jne LBB0_749 + //0x00004b4f LBB0_983 + 0x48, 0x83, 0xc3, 0x20, //0x00004b4f addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x00004b53 addq $-32, %rcx + //0x00004b57 LBB0_984 + 0x4d, 0x85, 0xf6, //0x00004b57 testq %r14, %r14 + 0x0f, 0x85, 0xcd, 0x00, 0x00, 0x00, //0x00004b5a jne LBB0_996 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00004b60 movq $8(%rsp), %r14 + 0x48, 0x85, 0xc9, //0x00004b65 testq %rcx, %rcx + 0x0f, 0x84, 0x3a, 0x09, 0x00, 0x00, //0x00004b68 je LBB0_1083 + //0x00004b6e LBB0_986 + 0x4c, 0x89, 0xe7, //0x00004b6e movq %r12, %rdi + 0x48, 0xf7, 0xd7, //0x00004b71 notq %rdi + //0x00004b74 LBB0_987 + 0x4c, 0x8d, 0x6b, 0x01, //0x00004b74 leaq $1(%rbx), %r13 + 0x0f, 0xb6, 0x13, //0x00004b78 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x00004b7b cmpb $34, %dl + 0x0f, 0x84, 0x5c, 0x00, 0x00, 0x00, //0x00004b7e je LBB0_992 + 0x48, 0x8d, 0x71, 0xff, //0x00004b84 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00004b88 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00004b8b je LBB0_990 + 0x48, 0x89, 0xf1, //0x00004b91 movq %rsi, %rcx + 0x4c, 0x89, 0xeb, //0x00004b94 movq %r13, %rbx + 0x48, 0x85, 0xf6, //0x00004b97 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00004b9a jne LBB0_987 + 0xe9, 0x03, 0x09, 0x00, 0x00, //0x00004ba0 jmp LBB0_1083 + //0x00004ba5 LBB0_990 + 0x48, 0x85, 0xf6, //0x00004ba5 testq %rsi, %rsi + 0x0f, 0x84, 0xea, 0x01, 0x00, 0x00, //0x00004ba8 je LBB0_1012 + 0x49, 0x01, 0xfd, //0x00004bae addq %rdi, %r13 + 0x49, 0x83, 0xff, 0xff, //0x00004bb1 cmpq $-1, %r15 + 0x4d, 0x0f, 0x44, 0xcd, //0x00004bb5 cmoveq %r13, %r9 + 0x4d, 0x0f, 0x44, 0xfd, //0x00004bb9 cmoveq %r13, %r15 + 0x48, 0x83, 0xc3, 0x02, //0x00004bbd addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x00004bc1 addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00004bc5 movq %rcx, %rsi + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00004bc8 movq $8(%rsp), %r14 + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00004bcd movq $40(%rsp), %r10 + 0x48, 0x85, 0xf6, //0x00004bd2 testq %rsi, %rsi + 0x0f, 0x85, 0x99, 0xff, 0xff, 0xff, //0x00004bd5 jne LBB0_987 + 0xe9, 0xc8, 0x08, 0x00, 0x00, //0x00004bdb jmp LBB0_1083 + //0x00004be0 LBB0_992 + 0x4d, 0x29, 0xe5, //0x00004be0 subq %r12, %r13 + //0x00004be3 LBB0_993 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00004be3 movq $16(%rsp), %r15 + 0x4d, 0x85, 0xed, //0x00004be8 testq %r13, %r13 + 0x0f, 0x89, 0x57, 0xed, 0xff, 0xff, //0x00004beb jns LBB0_753 + 0xe9, 0xa8, 0x08, 0x00, 0x00, //0x00004bf1 jmp LBB0_1082 + //0x00004bf6 LBB0_994 + 0x48, 0x85, 0xc9, //0x00004bf6 testq %rcx, %rcx + 0x0f, 0x84, 0x3d, 0x0b, 0x00, 0x00, //0x00004bf9 je LBB0_1123 + 0x4c, 0x89, 0xe0, //0x00004bff movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x00004c02 notq %rax + 0x48, 0x01, 0xd8, //0x00004c05 addq %rbx, %rax + 0x49, 0x83, 0xff, 0xff, //0x00004c08 cmpq $-1, %r15 + 0x4c, 0x0f, 0x44, 0xc8, //0x00004c0c cmoveq %rax, %r9 + 0x4c, 0x0f, 0x44, 0xf8, //0x00004c10 cmoveq %rax, %r15 + 0x48, 0xff, 0xc3, //0x00004c14 incq %rbx + 0x48, 0xff, 0xc9, //0x00004c17 decq %rcx + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00004c1a movq $8(%rsp), %r14 + 0x48, 0x85, 0xc9, //0x00004c1f testq %rcx, %rcx + 0x0f, 0x85, 0x44, 0xfe, 0xff, 0xff, //0x00004c22 jne LBB0_970 + 0xe9, 0xa3, 0x01, 0x00, 0x00, //0x00004c28 jmp LBB0_979 + //0x00004c2d LBB0_996 + 0x48, 0x85, 0xc9, //0x00004c2d testq %rcx, %rcx + 0x0f, 0x84, 0x62, 0x01, 0x00, 0x00, //0x00004c30 je LBB0_1012 + 0x4c, 0x89, 0xe0, //0x00004c36 movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x00004c39 notq %rax + 0x48, 0x01, 0xd8, //0x00004c3c addq %rbx, %rax + 0x49, 0x83, 0xff, 0xff, //0x00004c3f cmpq $-1, %r15 + 0x4c, 0x0f, 0x44, 0xc8, //0x00004c43 cmoveq %rax, %r9 + 0x4c, 0x0f, 0x44, 0xf8, //0x00004c47 cmoveq %rax, %r15 + 0x48, 0xff, 0xc3, //0x00004c4b incq %rbx + 0x48, 0xff, 0xc9, //0x00004c4e decq %rcx + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00004c51 movq $8(%rsp), %r14 + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00004c56 movq $40(%rsp), %r10 + 0x48, 0x85, 0xc9, //0x00004c5b testq %rcx, %rcx + 0x0f, 0x85, 0x0a, 0xff, 0xff, 0xff, //0x00004c5e jne LBB0_986 + 0xe9, 0x3f, 0x08, 0x00, 0x00, //0x00004c64 jmp LBB0_1083 + //0x00004c69 LBB0_998 + 0x49, 0x83, 0xff, 0xff, //0x00004c69 cmpq $-1, %r15 + 0x0f, 0x85, 0x10, 0x00, 0x00, 0x00, //0x00004c6d jne LBB0_1000 + 0x48, 0x89, 0xd8, //0x00004c73 movq %rbx, %rax + 0x4c, 0x29, 0xe0, //0x00004c76 subq %r12, %rax + 0x4c, 0x0f, 0xbc, 0xce, //0x00004c79 bsfq %rsi, %r9 + 0x49, 0x01, 0xc1, //0x00004c7d addq %rax, %r9 + 0x4d, 0x89, 0xcf, //0x00004c80 movq %r9, %r15 + //0x00004c83 LBB0_1000 + 0x44, 0x89, 0xf0, //0x00004c83 movl %r14d, %eax + 0xf7, 0xd0, //0x00004c86 notl %eax + 0x21, 0xf0, //0x00004c88 andl %esi, %eax + 0x44, 0x8d, 0x14, 0x00, //0x00004c8a leal (%rax,%rax), %r10d + 0x45, 0x09, 0xf2, //0x00004c8e orl %r14d, %r10d + 0x44, 0x89, 0xd2, //0x00004c91 movl %r10d, %edx + 0xf7, 0xd2, //0x00004c94 notl %edx + 0x21, 0xf2, //0x00004c96 andl %esi, %edx + 0x81, 0xe2, 0xaa, 0xaa, 0xaa, 0xaa, //0x00004c98 andl $-1431655766, %edx + 0x45, 0x31, 0xf6, //0x00004c9e xorl %r14d, %r14d + 0x01, 0xc2, //0x00004ca1 addl %eax, %edx + 0x41, 0x0f, 0x92, 0xc6, //0x00004ca3 setb %r14b + 0x01, 0xd2, //0x00004ca7 addl %edx, %edx + 0x81, 0xf2, 0x55, 0x55, 0x55, 0x55, //0x00004ca9 xorl $1431655765, %edx + 0x44, 0x21, 0xd2, //0x00004caf andl %r10d, %edx + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00004cb2 movl $4294967295, %eax + 0x31, 0xc2, //0x00004cb7 xorl %eax, %edx + 0x21, 0xd7, //0x00004cb9 andl %edx, %edi + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00004cbb movq $40(%rsp), %r10 + 0x48, 0x85, 0xff, //0x00004cc0 testq %rdi, %rdi + 0x0f, 0x85, 0x8a, 0xfb, 0xff, 0xff, //0x00004cc3 jne LBB0_834 + //0x00004cc9 LBB0_1001 + 0x48, 0x83, 0xc3, 0x20, //0x00004cc9 addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x00004ccd addq $-32, %rcx + //0x00004cd1 LBB0_1002 + 0x4d, 0x85, 0xf6, //0x00004cd1 testq %r14, %r14 + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x00004cd4 jne LBB0_1010 + 0x48, 0x85, 0xc9, //0x00004cda testq %rcx, %rcx + 0x0f, 0x84, 0xb5, 0x00, 0x00, 0x00, //0x00004cdd je LBB0_1012 + //0x00004ce3 LBB0_1004 + 0x4c, 0x89, 0xe7, //0x00004ce3 movq %r12, %rdi + 0x48, 0xf7, 0xd7, //0x00004ce6 notq %rdi + //0x00004ce9 LBB0_1005 + 0x4c, 0x8d, 0x6b, 0x01, //0x00004ce9 leaq $1(%rbx), %r13 + 0x0f, 0xb6, 0x13, //0x00004ced movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x00004cf0 cmpb $34, %dl + 0x0f, 0x84, 0x52, 0x00, 0x00, 0x00, //0x00004cf3 je LBB0_1081 + 0x48, 0x8d, 0x71, 0xff, //0x00004cf9 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00004cfd cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00004d00 je LBB0_1008 + 0x48, 0x89, 0xf1, //0x00004d06 movq %rsi, %rcx + 0x4c, 0x89, 0xeb, //0x00004d09 movq %r13, %rbx + 0x48, 0x85, 0xf6, //0x00004d0c testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00004d0f jne LBB0_1005 + 0xe9, 0x7e, 0x00, 0x00, 0x00, //0x00004d15 jmp LBB0_1012 + //0x00004d1a LBB0_1008 + 0x48, 0x85, 0xf6, //0x00004d1a testq %rsi, %rsi + 0x0f, 0x84, 0x75, 0x00, 0x00, 0x00, //0x00004d1d je LBB0_1012 + 0x49, 0x01, 0xfd, //0x00004d23 addq %rdi, %r13 + 0x49, 0x83, 0xff, 0xff, //0x00004d26 cmpq $-1, %r15 + 0x4d, 0x0f, 0x44, 0xcd, //0x00004d2a cmoveq %r13, %r9 + 0x4d, 0x0f, 0x44, 0xfd, //0x00004d2e cmoveq %r13, %r15 + 0x48, 0x83, 0xc3, 0x02, //0x00004d32 addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x00004d36 addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00004d3a movq %rcx, %rsi + 0x48, 0x85, 0xf6, //0x00004d3d testq %rsi, %rsi + 0x0f, 0x85, 0xa3, 0xff, 0xff, 0xff, //0x00004d40 jne LBB0_1005 + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x00004d46 jmp LBB0_1012 + //0x00004d4b LBB0_1081 + 0x4d, 0x29, 0xe5, //0x00004d4b subq %r12, %r13 + 0x4c, 0x8b, 0x7c, 0x24, 0x10, //0x00004d4e movq $16(%rsp), %r15 + 0x4c, 0x8b, 0x54, 0x24, 0x28, //0x00004d53 movq $40(%rsp), %r10 + 0x4d, 0x85, 0xed, //0x00004d58 testq %r13, %r13 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00004d5b movq $8(%rsp), %r14 + 0x0f, 0x89, 0xb2, 0xf2, 0xff, 0xff, //0x00004d60 jns LBB0_838 + 0xe9, 0x33, 0x07, 0x00, 0x00, //0x00004d66 jmp LBB0_1082 + //0x00004d6b LBB0_1010 + 0x48, 0x85, 0xc9, //0x00004d6b testq %rcx, %rcx + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x00004d6e je LBB0_1012 + 0x4c, 0x89, 0xe0, //0x00004d74 movq %r12, %rax + 0x48, 0xf7, 0xd0, //0x00004d77 notq %rax + 0x48, 0x01, 0xd8, //0x00004d7a addq %rbx, %rax + 0x49, 0x83, 0xff, 0xff, //0x00004d7d cmpq $-1, %r15 + 0x4c, 0x0f, 0x44, 0xc8, //0x00004d81 cmoveq %rax, %r9 + 0x4c, 0x0f, 0x44, 0xf8, //0x00004d85 cmoveq %rax, %r15 + 0x48, 0xff, 0xc3, //0x00004d89 incq %rbx + 0x48, 0xff, 0xc9, //0x00004d8c decq %rcx + 0x48, 0x85, 0xc9, //0x00004d8f testq %rcx, %rcx + 0x0f, 0x85, 0x4b, 0xff, 0xff, 0xff, //0x00004d92 jne LBB0_1004 + //0x00004d98 LBB0_1012 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x00004d98 movq $8(%rsp), %r14 + 0xe9, 0x06, 0x07, 0x00, 0x00, //0x00004d9d jmp LBB0_1083 + //0x00004da2 LBB0_1013 + 0x4d, 0x89, 0x1e, //0x00004da2 movq %r11, (%r14) + //0x00004da5 LBB0_1014 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00004da5 movq $-1, %rcx + 0xe9, 0x4d, 0xe5, 0xff, 0xff, //0x00004dac jmp LBB0_659 + //0x00004db1 LBB0_1097 + 0x48, 0xc7, 0xc1, 0xf9, 0xff, 0xff, 0xff, //0x00004db1 movq $-7, %rcx + 0xe9, 0x41, 0xe5, 0xff, 0xff, //0x00004db8 jmp LBB0_659 + //0x00004dbd LBB0_1015 + 0x48, 0x8d, 0x50, 0x04, //0x00004dbd leaq $4(%rax), %rdx + 0xe9, 0xbd, 0x03, 0x00, 0x00, //0x00004dc1 jmp LBB0_1053 + //0x00004dc6 LBB0_978 + 0x49, 0x83, 0xfd, 0xff, //0x00004dc6 cmpq $-1, %r13 + 0x0f, 0x85, 0xe2, 0x06, 0x00, 0x00, //0x00004dca jne LBB0_1084 + //0x00004dd0 LBB0_979 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00004dd0 movq $-1, %r13 + 0x4c, 0x8b, 0x4c, 0x24, 0x18, //0x00004dd7 movq $24(%rsp), %r9 + 0xe9, 0xd1, 0x06, 0x00, 0x00, //0x00004ddc jmp LBB0_1084 + //0x00004de1 LBB0_1016 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00004de1 movq $-1, %rcx + 0xe9, 0xd3, 0x06, 0x00, 0x00, //0x00004de8 jmp LBB0_1086 + //0x00004ded LBB0_1017 + 0x4d, 0x8b, 0x4f, 0x08, //0x00004ded movq $8(%r15), %r9 + 0x4d, 0x89, 0xcf, //0x00004df1 movq %r9, %r15 + 0x49, 0x29, 0xdf, //0x00004df4 subq %rbx, %r15 + 0x49, 0x83, 0xff, 0x20, //0x00004df7 cmpq $32, %r15 + 0x0f, 0x8c, 0xff, 0x08, 0x00, 0x00, //0x00004dfb jl LBB0_1117 + 0x41, 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00004e01 movl $4294967295, %r8d + 0x4d, 0x8d, 0x14, 0x03, //0x00004e07 leaq (%r11,%rax), %r10 + 0x49, 0x29, 0xc1, //0x00004e0b subq %rax, %r9 + 0xba, 0x1f, 0x00, 0x00, 0x00, //0x00004e0e movl $31, %edx + 0x45, 0x31, 0xff, //0x00004e13 xorl %r15d, %r15d + 0xc5, 0xfe, 0x6f, 0x05, 0x62, 0xb2, 0xff, 0xff, //0x00004e16 vmovdqu $-19870(%rip), %ymm0 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0x7a, 0xb2, 0xff, 0xff, //0x00004e1e vmovdqu $-19846(%rip), %ymm1 /* LCPI0_8+0(%rip) */ + 0x45, 0x31, 0xe4, //0x00004e26 xorl %r12d, %r12d + //0x00004e29 LBB0_1019 + 0xc4, 0x81, 0x7e, 0x6f, 0x54, 0x3a, 0x01, //0x00004e29 vmovdqu $1(%r10,%r15), %ymm2 + 0xc5, 0xed, 0x74, 0xd8, //0x00004e30 vpcmpeqb %ymm0, %ymm2, %ymm3 + 0xc5, 0x7d, 0xd7, 0xf3, //0x00004e34 vpmovmskb %ymm3, %r14d + 0xc5, 0xed, 0x74, 0xd1, //0x00004e38 vpcmpeqb %ymm1, %ymm2, %ymm2 + 0xc5, 0xfd, 0xd7, 0xda, //0x00004e3c vpmovmskb %ymm2, %ebx + 0x4d, 0x85, 0xe4, //0x00004e40 testq %r12, %r12 + 0x0f, 0x85, 0x10, 0x00, 0x00, 0x00, //0x00004e43 jne LBB0_1022 + 0x85, 0xdb, //0x00004e49 testl %ebx, %ebx + 0x0f, 0x85, 0x08, 0x00, 0x00, 0x00, //0x00004e4b jne LBB0_1022 + 0x45, 0x31, 0xe4, //0x00004e51 xorl %r12d, %r12d + 0xe9, 0x38, 0x00, 0x00, 0x00, //0x00004e54 jmp LBB0_1023 + //0x00004e59 LBB0_1022 + 0x44, 0x89, 0xe6, //0x00004e59 movl %r12d, %esi + 0x44, 0x31, 0xc6, //0x00004e5c xorl %r8d, %esi + 0x21, 0xde, //0x00004e5f andl %ebx, %esi + 0x8d, 0x1c, 0x36, //0x00004e61 leal (%rsi,%rsi), %ebx + 0x44, 0x09, 0xe3, //0x00004e64 orl %r12d, %ebx + 0x41, 0x8d, 0xb8, 0xab, 0xaa, 0xaa, 0xaa, //0x00004e67 leal $-1431655765(%r8), %edi + 0x31, 0xdf, //0x00004e6e xorl %ebx, %edi + 0x21, 0xf7, //0x00004e70 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00004e72 andl $-1431655766, %edi + 0x45, 0x31, 0xe4, //0x00004e78 xorl %r12d, %r12d + 0x01, 0xf7, //0x00004e7b addl %esi, %edi + 0x41, 0x0f, 0x92, 0xc4, //0x00004e7d setb %r12b + 0x01, 0xff, //0x00004e81 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00004e83 xorl $1431655765, %edi + 0x21, 0xdf, //0x00004e89 andl %ebx, %edi + 0x44, 0x31, 0xc7, //0x00004e8b xorl %r8d, %edi + 0x41, 0x21, 0xfe, //0x00004e8e andl %edi, %r14d + //0x00004e91 LBB0_1023 + 0x45, 0x85, 0xf6, //0x00004e91 testl %r14d, %r14d + 0x0f, 0x85, 0xe3, 0x05, 0x00, 0x00, //0x00004e94 jne LBB0_1080 + 0x49, 0x83, 0xc7, 0x20, //0x00004e9a addq $32, %r15 + 0x49, 0x8d, 0x74, 0x11, 0xe0, //0x00004e9e leaq $-32(%r9,%rdx), %rsi + 0x48, 0x83, 0xc2, 0xe0, //0x00004ea3 addq $-32, %rdx + 0x48, 0x83, 0xfe, 0x3f, //0x00004ea7 cmpq $63, %rsi + 0x0f, 0x8f, 0x78, 0xff, 0xff, 0xff, //0x00004eab jg LBB0_1019 + 0x4d, 0x85, 0xe4, //0x00004eb1 testq %r12, %r12 + 0x0f, 0x85, 0x8c, 0x08, 0x00, 0x00, //0x00004eb4 jne LBB0_1121 + 0x4b, 0x8d, 0x5c, 0x17, 0x01, //0x00004eba leaq $1(%r15,%r10), %rbx + 0x49, 0xf7, 0xd7, //0x00004ebf notq %r15 + 0x4d, 0x01, 0xcf, //0x00004ec2 addq %r9, %r15 + //0x00004ec5 LBB0_1027 + 0x4d, 0x85, 0xff, //0x00004ec5 testq %r15, %r15 + 0x48, 0x8b, 0x74, 0x24, 0x08, //0x00004ec8 movq $8(%rsp), %rsi + 0x0f, 0x8f, 0x26, 0x06, 0x00, 0x00, //0x00004ecd jg LBB0_1090 + 0xe9, 0x26, 0xe4, 0xff, 0xff, //0x00004ed3 jmp LBB0_659 + //0x00004ed8 LBB0_1028 + 0x49, 0xb8, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00004ed8 movabsq $-6148914691236517206, %r8 + 0x4d, 0x8b, 0x77, 0x08, //0x00004ee2 movq $8(%r15), %r14 + 0x49, 0x29, 0xde, //0x00004ee6 subq %rbx, %r14 + 0x49, 0x01, 0xdb, //0x00004ee9 addq %rbx, %r11 + 0x45, 0x31, 0xd2, //0x00004eec xorl %r10d, %r10d + 0xc5, 0xfe, 0x6f, 0x05, 0x89, 0xb1, 0xff, 0xff, //0x00004eef vmovdqu $-20087(%rip), %ymm0 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0xa1, 0xb1, 0xff, 0xff, //0x00004ef7 vmovdqu $-20063(%rip), %ymm1 /* LCPI0_8+0(%rip) */ + 0xc5, 0xe9, 0x76, 0xd2, //0x00004eff vpcmpeqd %xmm2, %xmm2, %xmm2 + 0xc5, 0xfe, 0x6f, 0x1d, 0xd5, 0xb1, 0xff, 0xff, //0x00004f03 vmovdqu $-20011(%rip), %ymm3 /* LCPI0_10+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x25, 0xed, 0xb1, 0xff, 0xff, //0x00004f0b vmovdqu $-19987(%rip), %ymm4 /* LCPI0_11+0(%rip) */ + 0xc4, 0x41, 0x31, 0xef, 0xc9, //0x00004f13 vpxor %xmm9, %xmm9, %xmm9 + 0x45, 0x31, 0xe4, //0x00004f18 xorl %r12d, %r12d + 0x45, 0x31, 0xff, //0x00004f1b xorl %r15d, %r15d + 0x31, 0xdb, //0x00004f1e xorl %ebx, %ebx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00004f20 jmp LBB0_1030 + //0x00004f25 LBB0_1029 + 0x49, 0xc1, 0xfd, 0x3f, //0x00004f25 sarq $63, %r13 + 0xf3, 0x49, 0x0f, 0xb8, 0xd1, //0x00004f29 popcntq %r9, %rdx + 0x49, 0x01, 0xd7, //0x00004f2e addq %rdx, %r15 + 0x49, 0x83, 0xc3, 0x40, //0x00004f31 addq $64, %r11 + 0x49, 0x83, 0xc6, 0xc0, //0x00004f35 addq $-64, %r14 + 0x4d, 0x89, 0xea, //0x00004f39 movq %r13, %r10 + //0x00004f3c LBB0_1030 + 0x49, 0x83, 0xfe, 0x40, //0x00004f3c cmpq $64, %r14 + 0x0f, 0x8c, 0x16, 0x01, 0x00, 0x00, //0x00004f40 jl LBB0_1037 + //0x00004f46 LBB0_1031 + 0xc4, 0xc1, 0x7e, 0x6f, 0x3b, //0x00004f46 vmovdqu (%r11), %ymm7 + 0xc4, 0xc1, 0x7e, 0x6f, 0x73, 0x20, //0x00004f4b vmovdqu $32(%r11), %ymm6 + 0xc5, 0x45, 0x74, 0xc0, //0x00004f51 vpcmpeqb %ymm0, %ymm7, %ymm8 + 0xc4, 0x41, 0x7d, 0xd7, 0xe8, //0x00004f55 vpmovmskb %ymm8, %r13d + 0xc5, 0x4d, 0x74, 0xc0, //0x00004f5a vpcmpeqb %ymm0, %ymm6, %ymm8 + 0xc4, 0xc1, 0x7d, 0xd7, 0xf8, //0x00004f5e vpmovmskb %ymm8, %edi + 0x48, 0xc1, 0xe7, 0x20, //0x00004f63 shlq $32, %rdi + 0x49, 0x09, 0xfd, //0x00004f67 orq %rdi, %r13 + 0xc5, 0x45, 0x74, 0xc1, //0x00004f6a vpcmpeqb %ymm1, %ymm7, %ymm8 + 0xc4, 0xc1, 0x7d, 0xd7, 0xf8, //0x00004f6e vpmovmskb %ymm8, %edi + 0xc5, 0x4d, 0x74, 0xc1, //0x00004f73 vpcmpeqb %ymm1, %ymm6, %ymm8 + 0xc4, 0xc1, 0x7d, 0xd7, 0xd0, //0x00004f77 vpmovmskb %ymm8, %edx + 0x48, 0xc1, 0xe2, 0x20, //0x00004f7c shlq $32, %rdx + 0x48, 0x09, 0xd7, //0x00004f80 orq %rdx, %rdi + 0x48, 0x89, 0xfa, //0x00004f83 movq %rdi, %rdx + 0x4c, 0x09, 0xe2, //0x00004f86 orq %r12, %rdx + 0x0f, 0x84, 0x41, 0x00, 0x00, 0x00, //0x00004f89 je LBB0_1033 + 0x4c, 0x89, 0xe2, //0x00004f8f movq %r12, %rdx + 0x48, 0xf7, 0xd2, //0x00004f92 notq %rdx + 0x48, 0x21, 0xfa, //0x00004f95 andq %rdi, %rdx + 0x48, 0x8d, 0x34, 0x12, //0x00004f98 leaq (%rdx,%rdx), %rsi + 0x4c, 0x09, 0xe6, //0x00004f9c orq %r12, %rsi + 0x49, 0x89, 0xf4, //0x00004f9f movq %rsi, %r12 + 0x4d, 0x31, 0xc4, //0x00004fa2 xorq %r8, %r12 + 0x4c, 0x21, 0xc7, //0x00004fa5 andq %r8, %rdi + 0x4c, 0x21, 0xe7, //0x00004fa8 andq %r12, %rdi + 0x45, 0x31, 0xe4, //0x00004fab xorl %r12d, %r12d + 0x48, 0x01, 0xd7, //0x00004fae addq %rdx, %rdi + 0x41, 0x0f, 0x92, 0xc4, //0x00004fb1 setb %r12b + 0x48, 0x01, 0xff, //0x00004fb5 addq %rdi, %rdi + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00004fb8 movabsq $6148914691236517205, %rdx + 0x48, 0x31, 0xd7, //0x00004fc2 xorq %rdx, %rdi + 0x48, 0x21, 0xf7, //0x00004fc5 andq %rsi, %rdi + 0x48, 0xf7, 0xd7, //0x00004fc8 notq %rdi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00004fcb jmp LBB0_1034 + //0x00004fd0 LBB0_1033 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00004fd0 movq $-1, %rdi + 0x45, 0x31, 0xe4, //0x00004fd7 xorl %r12d, %r12d + //0x00004fda LBB0_1034 + 0x4c, 0x21, 0xef, //0x00004fda andq %r13, %rdi + 0xc4, 0xe1, 0xf9, 0x6e, 0xef, //0x00004fdd vmovq %rdi, %xmm5 + 0xc4, 0xe3, 0x51, 0x44, 0xea, 0x00, //0x00004fe2 vpclmulqdq $0, %xmm2, %xmm5, %xmm5 + 0xc4, 0xc1, 0xf9, 0x7e, 0xed, //0x00004fe8 vmovq %xmm5, %r13 + 0x4d, 0x31, 0xd5, //0x00004fed xorq %r10, %r13 + 0xc5, 0xc5, 0x74, 0xeb, //0x00004ff0 vpcmpeqb %ymm3, %ymm7, %ymm5 + 0xc5, 0x7d, 0xd7, 0xcd, //0x00004ff4 vpmovmskb %ymm5, %r9d + 0xc5, 0xcd, 0x74, 0xeb, //0x00004ff8 vpcmpeqb %ymm3, %ymm6, %ymm5 + 0xc5, 0xfd, 0xd7, 0xd5, //0x00004ffc vpmovmskb %ymm5, %edx + 0x48, 0xc1, 0xe2, 0x20, //0x00005000 shlq $32, %rdx + 0x49, 0x09, 0xd1, //0x00005004 orq %rdx, %r9 + 0x4d, 0x89, 0xea, //0x00005007 movq %r13, %r10 + 0x49, 0xf7, 0xd2, //0x0000500a notq %r10 + 0x4d, 0x21, 0xd1, //0x0000500d andq %r10, %r9 + 0xc5, 0xc5, 0x74, 0xec, //0x00005010 vpcmpeqb %ymm4, %ymm7, %ymm5 + 0xc5, 0xfd, 0xd7, 0xd5, //0x00005014 vpmovmskb %ymm5, %edx + 0xc5, 0xcd, 0x74, 0xec, //0x00005018 vpcmpeqb %ymm4, %ymm6, %ymm5 + 0xc5, 0xfd, 0xd7, 0xf5, //0x0000501c vpmovmskb %ymm5, %esi + 0x48, 0xc1, 0xe6, 0x20, //0x00005020 shlq $32, %rsi + 0x48, 0x09, 0xf2, //0x00005024 orq %rsi, %rdx + 0x4c, 0x21, 0xd2, //0x00005027 andq %r10, %rdx + 0x0f, 0x84, 0xf5, 0xfe, 0xff, 0xff, //0x0000502a je LBB0_1029 + //0x00005030 LBB0_1035 + 0x48, 0x8d, 0x7a, 0xff, //0x00005030 leaq $-1(%rdx), %rdi + 0x48, 0x89, 0xfe, //0x00005034 movq %rdi, %rsi + 0x4c, 0x21, 0xce, //0x00005037 andq %r9, %rsi + 0xf3, 0x48, 0x0f, 0xb8, 0xf6, //0x0000503a popcntq %rsi, %rsi + 0x4c, 0x01, 0xfe, //0x0000503f addq %r15, %rsi + 0x48, 0x39, 0xde, //0x00005042 cmpq %rbx, %rsi + 0x0f, 0x86, 0xf4, 0x03, 0x00, 0x00, //0x00005045 jbe LBB0_1079 + 0x48, 0xff, 0xc3, //0x0000504b incq %rbx + 0x48, 0x21, 0xfa, //0x0000504e andq %rdi, %rdx + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00005051 jne LBB0_1035 + 0xe9, 0xc9, 0xfe, 0xff, 0xff, //0x00005057 jmp LBB0_1029 + //0x0000505c LBB0_1037 + 0x4d, 0x85, 0xf6, //0x0000505c testq %r14, %r14 + 0x0f, 0x8e, 0xa3, 0x06, 0x00, 0x00, //0x0000505f jle LBB0_1118 + 0xc5, 0x7e, 0x7f, 0x4c, 0x24, 0x60, //0x00005065 vmovdqu %ymm9, $96(%rsp) + 0xc5, 0x7e, 0x7f, 0x4c, 0x24, 0x40, //0x0000506b vmovdqu %ymm9, $64(%rsp) + 0x44, 0x89, 0xda, //0x00005071 movl %r11d, %edx + 0x81, 0xe2, 0xff, 0x0f, 0x00, 0x00, //0x00005074 andl $4095, %edx + 0x81, 0xfa, 0xc1, 0x0f, 0x00, 0x00, //0x0000507a cmpl $4033, %edx + 0x0f, 0x82, 0xc0, 0xfe, 0xff, 0xff, //0x00005080 jb LBB0_1031 + 0x49, 0x83, 0xfe, 0x20, //0x00005086 cmpq $32, %r14 + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x0000508a jb LBB0_1041 + 0xc4, 0xc1, 0x7e, 0x6f, 0x2b, //0x00005090 vmovdqu (%r11), %ymm5 + 0xc5, 0xfe, 0x7f, 0x6c, 0x24, 0x40, //0x00005095 vmovdqu %ymm5, $64(%rsp) + 0x49, 0x83, 0xc3, 0x20, //0x0000509b addq $32, %r11 + 0x49, 0x8d, 0x7e, 0xe0, //0x0000509f leaq $-32(%r14), %rdi + 0x4c, 0x8d, 0x4c, 0x24, 0x60, //0x000050a3 leaq $96(%rsp), %r9 + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x000050a8 jmp LBB0_1042 + //0x000050ad LBB0_1041 + 0x4c, 0x8d, 0x4c, 0x24, 0x40, //0x000050ad leaq $64(%rsp), %r9 + 0x4c, 0x89, 0xf7, //0x000050b2 movq %r14, %rdi + //0x000050b5 LBB0_1042 + 0x48, 0x83, 0xff, 0x10, //0x000050b5 cmpq $16, %rdi + 0x0f, 0x82, 0x5c, 0x00, 0x00, 0x00, //0x000050b9 jb LBB0_1043 + 0xc4, 0xc1, 0x7a, 0x6f, 0x2b, //0x000050bf vmovdqu (%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x7f, 0x29, //0x000050c4 vmovdqu %xmm5, (%r9) + 0x49, 0x83, 0xc3, 0x10, //0x000050c9 addq $16, %r11 + 0x49, 0x83, 0xc1, 0x10, //0x000050cd addq $16, %r9 + 0x48, 0x83, 0xc7, 0xf0, //0x000050d1 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x000050d5 cmpq $8, %rdi + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x000050d9 jae LBB0_1048 + //0x000050df LBB0_1044 + 0x48, 0x83, 0xff, 0x04, //0x000050df cmpq $4, %rdi + 0x0f, 0x8c, 0x58, 0x00, 0x00, 0x00, //0x000050e3 jl LBB0_1045 + //0x000050e9 LBB0_1049 + 0x41, 0x8b, 0x13, //0x000050e9 movl (%r11), %edx + 0x41, 0x89, 0x11, //0x000050ec movl %edx, (%r9) + 0x49, 0x83, 0xc3, 0x04, //0x000050ef addq $4, %r11 + 0x49, 0x83, 0xc1, 0x04, //0x000050f3 addq $4, %r9 + 0x48, 0x83, 0xc7, 0xfc, //0x000050f7 addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x000050fb cmpq $2, %rdi + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x000050ff jae LBB0_1050 + //0x00005105 LBB0_1046 + 0x4c, 0x89, 0xde, //0x00005105 movq %r11, %rsi + 0x4c, 0x8d, 0x5c, 0x24, 0x40, //0x00005108 leaq $64(%rsp), %r11 + 0x48, 0x85, 0xff, //0x0000510d testq %rdi, %rdi + 0x0f, 0x85, 0x5a, 0x00, 0x00, 0x00, //0x00005110 jne LBB0_1051 + 0xe9, 0x2b, 0xfe, 0xff, 0xff, //0x00005116 jmp LBB0_1031 + //0x0000511b LBB0_1043 + 0x48, 0x83, 0xff, 0x08, //0x0000511b cmpq $8, %rdi + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x0000511f jb LBB0_1044 + //0x00005125 LBB0_1048 + 0x49, 0x8b, 0x13, //0x00005125 movq (%r11), %rdx + 0x49, 0x89, 0x11, //0x00005128 movq %rdx, (%r9) + 0x49, 0x83, 0xc3, 0x08, //0x0000512b addq $8, %r11 + 0x49, 0x83, 0xc1, 0x08, //0x0000512f addq $8, %r9 + 0x48, 0x83, 0xc7, 0xf8, //0x00005133 addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x00005137 cmpq $4, %rdi + 0x0f, 0x8d, 0xa8, 0xff, 0xff, 0xff, //0x0000513b jge LBB0_1049 + //0x00005141 LBB0_1045 + 0x48, 0x83, 0xff, 0x02, //0x00005141 cmpq $2, %rdi + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x00005145 jb LBB0_1046 + //0x0000514b LBB0_1050 + 0x41, 0x0f, 0xb7, 0x13, //0x0000514b movzwl (%r11), %edx + 0x66, 0x41, 0x89, 0x11, //0x0000514f movw %dx, (%r9) + 0x49, 0x83, 0xc3, 0x02, //0x00005153 addq $2, %r11 + 0x49, 0x83, 0xc1, 0x02, //0x00005157 addq $2, %r9 + 0x48, 0x83, 0xc7, 0xfe, //0x0000515b addq $-2, %rdi + 0x4c, 0x89, 0xde, //0x0000515f movq %r11, %rsi + 0x4c, 0x8d, 0x5c, 0x24, 0x40, //0x00005162 leaq $64(%rsp), %r11 + 0x48, 0x85, 0xff, //0x00005167 testq %rdi, %rdi + 0x0f, 0x84, 0xd6, 0xfd, 0xff, 0xff, //0x0000516a je LBB0_1031 + //0x00005170 LBB0_1051 + 0x8a, 0x16, //0x00005170 movb (%rsi), %dl + 0x41, 0x88, 0x11, //0x00005172 movb %dl, (%r9) + 0x4c, 0x8d, 0x5c, 0x24, 0x40, //0x00005175 leaq $64(%rsp), %r11 + 0xe9, 0xc7, 0xfd, 0xff, 0xff, //0x0000517a jmp LBB0_1031 + //0x0000517f LBB0_1052 + 0x48, 0x8d, 0x50, 0x05, //0x0000517f leaq $5(%rax), %rdx + //0x00005183 LBB0_1053 + 0x49, 0x3b, 0x57, 0x08, //0x00005183 cmpq $8(%r15), %rdx + 0x0f, 0x87, 0x71, 0xe1, 0xff, 0xff, //0x00005187 ja LBB0_659 + 0x49, 0x89, 0x16, //0x0000518d movq %rdx, (%r14) + 0x48, 0x89, 0xc1, //0x00005190 movq %rax, %rcx + 0xe9, 0x66, 0xe1, 0xff, 0xff, //0x00005193 jmp LBB0_659 + //0x00005198 LBB0_1055 + 0x49, 0xb8, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00005198 movabsq $-6148914691236517206, %r8 + 0x4d, 0x8b, 0x77, 0x08, //0x000051a2 movq $8(%r15), %r14 + 0x49, 0x29, 0xde, //0x000051a6 subq %rbx, %r14 + 0x49, 0x01, 0xdb, //0x000051a9 addq %rbx, %r11 + 0x45, 0x31, 0xd2, //0x000051ac xorl %r10d, %r10d + 0xc5, 0xfe, 0x6f, 0x05, 0xc9, 0xae, 0xff, 0xff, //0x000051af vmovdqu $-20791(%rip), %ymm0 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0xe1, 0xae, 0xff, 0xff, //0x000051b7 vmovdqu $-20767(%rip), %ymm1 /* LCPI0_8+0(%rip) */ + 0xc5, 0xe9, 0x76, 0xd2, //0x000051bf vpcmpeqd %xmm2, %xmm2, %xmm2 + 0xc5, 0xfe, 0x6f, 0x1d, 0xf5, 0xae, 0xff, 0xff, //0x000051c3 vmovdqu $-20747(%rip), %ymm3 /* LCPI0_9+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x25, 0x8d, 0xae, 0xff, 0xff, //0x000051cb vmovdqu $-20851(%rip), %ymm4 /* LCPI0_3+0(%rip) */ + 0xc4, 0x41, 0x31, 0xef, 0xc9, //0x000051d3 vpxor %xmm9, %xmm9, %xmm9 + 0x45, 0x31, 0xe4, //0x000051d8 xorl %r12d, %r12d + 0x45, 0x31, 0xff, //0x000051db xorl %r15d, %r15d + 0x31, 0xdb, //0x000051de xorl %ebx, %ebx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x000051e0 jmp LBB0_1057 + //0x000051e5 LBB0_1056 + 0x49, 0xc1, 0xfd, 0x3f, //0x000051e5 sarq $63, %r13 + 0xf3, 0x49, 0x0f, 0xb8, 0xd1, //0x000051e9 popcntq %r9, %rdx + 0x49, 0x01, 0xd7, //0x000051ee addq %rdx, %r15 + 0x49, 0x83, 0xc3, 0x40, //0x000051f1 addq $64, %r11 + 0x49, 0x83, 0xc6, 0xc0, //0x000051f5 addq $-64, %r14 + 0x4d, 0x89, 0xea, //0x000051f9 movq %r13, %r10 + //0x000051fc LBB0_1057 + 0x49, 0x83, 0xfe, 0x40, //0x000051fc cmpq $64, %r14 + 0x0f, 0x8c, 0x16, 0x01, 0x00, 0x00, //0x00005200 jl LBB0_1064 + //0x00005206 LBB0_1058 + 0xc4, 0xc1, 0x7e, 0x6f, 0x3b, //0x00005206 vmovdqu (%r11), %ymm7 + 0xc4, 0xc1, 0x7e, 0x6f, 0x73, 0x20, //0x0000520b vmovdqu $32(%r11), %ymm6 + 0xc5, 0x45, 0x74, 0xc0, //0x00005211 vpcmpeqb %ymm0, %ymm7, %ymm8 + 0xc4, 0x41, 0x7d, 0xd7, 0xe8, //0x00005215 vpmovmskb %ymm8, %r13d + 0xc5, 0x4d, 0x74, 0xc0, //0x0000521a vpcmpeqb %ymm0, %ymm6, %ymm8 + 0xc4, 0xc1, 0x7d, 0xd7, 0xf8, //0x0000521e vpmovmskb %ymm8, %edi + 0x48, 0xc1, 0xe7, 0x20, //0x00005223 shlq $32, %rdi + 0x49, 0x09, 0xfd, //0x00005227 orq %rdi, %r13 + 0xc5, 0x45, 0x74, 0xc1, //0x0000522a vpcmpeqb %ymm1, %ymm7, %ymm8 + 0xc4, 0xc1, 0x7d, 0xd7, 0xf8, //0x0000522e vpmovmskb %ymm8, %edi + 0xc5, 0x4d, 0x74, 0xc1, //0x00005233 vpcmpeqb %ymm1, %ymm6, %ymm8 + 0xc4, 0xc1, 0x7d, 0xd7, 0xd0, //0x00005237 vpmovmskb %ymm8, %edx + 0x48, 0xc1, 0xe2, 0x20, //0x0000523c shlq $32, %rdx + 0x48, 0x09, 0xd7, //0x00005240 orq %rdx, %rdi + 0x48, 0x89, 0xfa, //0x00005243 movq %rdi, %rdx + 0x4c, 0x09, 0xe2, //0x00005246 orq %r12, %rdx + 0x0f, 0x84, 0x41, 0x00, 0x00, 0x00, //0x00005249 je LBB0_1060 + 0x4c, 0x89, 0xe2, //0x0000524f movq %r12, %rdx + 0x48, 0xf7, 0xd2, //0x00005252 notq %rdx + 0x48, 0x21, 0xfa, //0x00005255 andq %rdi, %rdx + 0x48, 0x8d, 0x34, 0x12, //0x00005258 leaq (%rdx,%rdx), %rsi + 0x4c, 0x09, 0xe6, //0x0000525c orq %r12, %rsi + 0x49, 0x89, 0xf4, //0x0000525f movq %rsi, %r12 + 0x4d, 0x31, 0xc4, //0x00005262 xorq %r8, %r12 + 0x4c, 0x21, 0xc7, //0x00005265 andq %r8, %rdi + 0x4c, 0x21, 0xe7, //0x00005268 andq %r12, %rdi + 0x45, 0x31, 0xe4, //0x0000526b xorl %r12d, %r12d + 0x48, 0x01, 0xd7, //0x0000526e addq %rdx, %rdi + 0x41, 0x0f, 0x92, 0xc4, //0x00005271 setb %r12b + 0x48, 0x01, 0xff, //0x00005275 addq %rdi, %rdi + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00005278 movabsq $6148914691236517205, %rdx + 0x48, 0x31, 0xd7, //0x00005282 xorq %rdx, %rdi + 0x48, 0x21, 0xf7, //0x00005285 andq %rsi, %rdi + 0x48, 0xf7, 0xd7, //0x00005288 notq %rdi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x0000528b jmp LBB0_1061 + //0x00005290 LBB0_1060 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00005290 movq $-1, %rdi + 0x45, 0x31, 0xe4, //0x00005297 xorl %r12d, %r12d + //0x0000529a LBB0_1061 + 0x4c, 0x21, 0xef, //0x0000529a andq %r13, %rdi + 0xc4, 0xe1, 0xf9, 0x6e, 0xef, //0x0000529d vmovq %rdi, %xmm5 + 0xc4, 0xe3, 0x51, 0x44, 0xea, 0x00, //0x000052a2 vpclmulqdq $0, %xmm2, %xmm5, %xmm5 + 0xc4, 0xc1, 0xf9, 0x7e, 0xed, //0x000052a8 vmovq %xmm5, %r13 + 0x4d, 0x31, 0xd5, //0x000052ad xorq %r10, %r13 + 0xc5, 0xc5, 0x74, 0xeb, //0x000052b0 vpcmpeqb %ymm3, %ymm7, %ymm5 + 0xc5, 0x7d, 0xd7, 0xcd, //0x000052b4 vpmovmskb %ymm5, %r9d + 0xc5, 0xcd, 0x74, 0xeb, //0x000052b8 vpcmpeqb %ymm3, %ymm6, %ymm5 + 0xc5, 0xfd, 0xd7, 0xd5, //0x000052bc vpmovmskb %ymm5, %edx + 0x48, 0xc1, 0xe2, 0x20, //0x000052c0 shlq $32, %rdx + 0x49, 0x09, 0xd1, //0x000052c4 orq %rdx, %r9 + 0x4d, 0x89, 0xea, //0x000052c7 movq %r13, %r10 + 0x49, 0xf7, 0xd2, //0x000052ca notq %r10 + 0x4d, 0x21, 0xd1, //0x000052cd andq %r10, %r9 + 0xc5, 0xc5, 0x74, 0xec, //0x000052d0 vpcmpeqb %ymm4, %ymm7, %ymm5 + 0xc5, 0xfd, 0xd7, 0xd5, //0x000052d4 vpmovmskb %ymm5, %edx + 0xc5, 0xcd, 0x74, 0xec, //0x000052d8 vpcmpeqb %ymm4, %ymm6, %ymm5 + 0xc5, 0xfd, 0xd7, 0xf5, //0x000052dc vpmovmskb %ymm5, %esi + 0x48, 0xc1, 0xe6, 0x20, //0x000052e0 shlq $32, %rsi + 0x48, 0x09, 0xf2, //0x000052e4 orq %rsi, %rdx + 0x4c, 0x21, 0xd2, //0x000052e7 andq %r10, %rdx + 0x0f, 0x84, 0xf5, 0xfe, 0xff, 0xff, //0x000052ea je LBB0_1056 + //0x000052f0 LBB0_1062 + 0x48, 0x8d, 0x7a, 0xff, //0x000052f0 leaq $-1(%rdx), %rdi + 0x48, 0x89, 0xfe, //0x000052f4 movq %rdi, %rsi + 0x4c, 0x21, 0xce, //0x000052f7 andq %r9, %rsi + 0xf3, 0x48, 0x0f, 0xb8, 0xf6, //0x000052fa popcntq %rsi, %rsi + 0x4c, 0x01, 0xfe, //0x000052ff addq %r15, %rsi + 0x48, 0x39, 0xde, //0x00005302 cmpq %rbx, %rsi + 0x0f, 0x86, 0x34, 0x01, 0x00, 0x00, //0x00005305 jbe LBB0_1079 + 0x48, 0xff, 0xc3, //0x0000530b incq %rbx + 0x48, 0x21, 0xfa, //0x0000530e andq %rdi, %rdx + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00005311 jne LBB0_1062 + 0xe9, 0xc9, 0xfe, 0xff, 0xff, //0x00005317 jmp LBB0_1056 + //0x0000531c LBB0_1064 + 0x4d, 0x85, 0xf6, //0x0000531c testq %r14, %r14 + 0x0f, 0x8e, 0xe3, 0x03, 0x00, 0x00, //0x0000531f jle LBB0_1118 + 0xc5, 0x7e, 0x7f, 0x4c, 0x24, 0x60, //0x00005325 vmovdqu %ymm9, $96(%rsp) + 0xc5, 0x7e, 0x7f, 0x4c, 0x24, 0x40, //0x0000532b vmovdqu %ymm9, $64(%rsp) + 0x44, 0x89, 0xda, //0x00005331 movl %r11d, %edx + 0x81, 0xe2, 0xff, 0x0f, 0x00, 0x00, //0x00005334 andl $4095, %edx + 0x81, 0xfa, 0xc1, 0x0f, 0x00, 0x00, //0x0000533a cmpl $4033, %edx + 0x0f, 0x82, 0xc0, 0xfe, 0xff, 0xff, //0x00005340 jb LBB0_1058 + 0x49, 0x83, 0xfe, 0x20, //0x00005346 cmpq $32, %r14 + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x0000534a jb LBB0_1068 + 0xc4, 0xc1, 0x7e, 0x6f, 0x2b, //0x00005350 vmovdqu (%r11), %ymm5 + 0xc5, 0xfe, 0x7f, 0x6c, 0x24, 0x40, //0x00005355 vmovdqu %ymm5, $64(%rsp) + 0x49, 0x83, 0xc3, 0x20, //0x0000535b addq $32, %r11 + 0x49, 0x8d, 0x7e, 0xe0, //0x0000535f leaq $-32(%r14), %rdi + 0x4c, 0x8d, 0x4c, 0x24, 0x60, //0x00005363 leaq $96(%rsp), %r9 + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x00005368 jmp LBB0_1069 + //0x0000536d LBB0_1068 + 0x4c, 0x8d, 0x4c, 0x24, 0x40, //0x0000536d leaq $64(%rsp), %r9 + 0x4c, 0x89, 0xf7, //0x00005372 movq %r14, %rdi + //0x00005375 LBB0_1069 + 0x48, 0x83, 0xff, 0x10, //0x00005375 cmpq $16, %rdi + 0x0f, 0x82, 0x5c, 0x00, 0x00, 0x00, //0x00005379 jb LBB0_1070 + 0xc4, 0xc1, 0x7a, 0x6f, 0x2b, //0x0000537f vmovdqu (%r11), %xmm5 + 0xc4, 0xc1, 0x7a, 0x7f, 0x29, //0x00005384 vmovdqu %xmm5, (%r9) + 0x49, 0x83, 0xc3, 0x10, //0x00005389 addq $16, %r11 + 0x49, 0x83, 0xc1, 0x10, //0x0000538d addq $16, %r9 + 0x48, 0x83, 0xc7, 0xf0, //0x00005391 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x00005395 cmpq $8, %rdi + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x00005399 jae LBB0_1075 + //0x0000539f LBB0_1071 + 0x48, 0x83, 0xff, 0x04, //0x0000539f cmpq $4, %rdi + 0x0f, 0x8c, 0x58, 0x00, 0x00, 0x00, //0x000053a3 jl LBB0_1072 + //0x000053a9 LBB0_1076 + 0x41, 0x8b, 0x13, //0x000053a9 movl (%r11), %edx + 0x41, 0x89, 0x11, //0x000053ac movl %edx, (%r9) + 0x49, 0x83, 0xc3, 0x04, //0x000053af addq $4, %r11 + 0x49, 0x83, 0xc1, 0x04, //0x000053b3 addq $4, %r9 + 0x48, 0x83, 0xc7, 0xfc, //0x000053b7 addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x000053bb cmpq $2, %rdi + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x000053bf jae LBB0_1077 + //0x000053c5 LBB0_1073 + 0x4c, 0x89, 0xde, //0x000053c5 movq %r11, %rsi + 0x4c, 0x8d, 0x5c, 0x24, 0x40, //0x000053c8 leaq $64(%rsp), %r11 + 0x48, 0x85, 0xff, //0x000053cd testq %rdi, %rdi + 0x0f, 0x85, 0x5a, 0x00, 0x00, 0x00, //0x000053d0 jne LBB0_1078 + 0xe9, 0x2b, 0xfe, 0xff, 0xff, //0x000053d6 jmp LBB0_1058 + //0x000053db LBB0_1070 + 0x48, 0x83, 0xff, 0x08, //0x000053db cmpq $8, %rdi + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x000053df jb LBB0_1071 + //0x000053e5 LBB0_1075 + 0x49, 0x8b, 0x13, //0x000053e5 movq (%r11), %rdx + 0x49, 0x89, 0x11, //0x000053e8 movq %rdx, (%r9) + 0x49, 0x83, 0xc3, 0x08, //0x000053eb addq $8, %r11 + 0x49, 0x83, 0xc1, 0x08, //0x000053ef addq $8, %r9 + 0x48, 0x83, 0xc7, 0xf8, //0x000053f3 addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x000053f7 cmpq $4, %rdi + 0x0f, 0x8d, 0xa8, 0xff, 0xff, 0xff, //0x000053fb jge LBB0_1076 + //0x00005401 LBB0_1072 + 0x48, 0x83, 0xff, 0x02, //0x00005401 cmpq $2, %rdi + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x00005405 jb LBB0_1073 + //0x0000540b LBB0_1077 + 0x41, 0x0f, 0xb7, 0x13, //0x0000540b movzwl (%r11), %edx + 0x66, 0x41, 0x89, 0x11, //0x0000540f movw %dx, (%r9) + 0x49, 0x83, 0xc3, 0x02, //0x00005413 addq $2, %r11 + 0x49, 0x83, 0xc1, 0x02, //0x00005417 addq $2, %r9 + 0x48, 0x83, 0xc7, 0xfe, //0x0000541b addq $-2, %rdi + 0x4c, 0x89, 0xde, //0x0000541f movq %r11, %rsi + 0x4c, 0x8d, 0x5c, 0x24, 0x40, //0x00005422 leaq $64(%rsp), %r11 + 0x48, 0x85, 0xff, //0x00005427 testq %rdi, %rdi + 0x0f, 0x84, 0xd6, 0xfd, 0xff, 0xff, //0x0000542a je LBB0_1058 + //0x00005430 LBB0_1078 + 0x8a, 0x16, //0x00005430 movb (%rsi), %dl + 0x41, 0x88, 0x11, //0x00005432 movb %dl, (%r9) + 0x4c, 0x8d, 0x5c, 0x24, 0x40, //0x00005435 leaq $64(%rsp), %r11 + 0xe9, 0xc7, 0xfd, 0xff, 0xff, //0x0000543a jmp LBB0_1058 + //0x0000543f LBB0_1079 + 0x48, 0x8b, 0x7c, 0x24, 0x10, //0x0000543f movq $16(%rsp), %rdi + 0x48, 0x8b, 0x4f, 0x08, //0x00005444 movq $8(%rdi), %rcx + 0x48, 0x0f, 0xbc, 0xd2, //0x00005448 bsfq %rdx, %rdx + 0x4c, 0x29, 0xf2, //0x0000544c subq %r14, %rdx + 0x48, 0x8d, 0x4c, 0x0a, 0x01, //0x0000544f leaq $1(%rdx,%rcx), %rcx + 0x48, 0x8b, 0x74, 0x24, 0x08, //0x00005454 movq $8(%rsp), %rsi + 0x48, 0x89, 0x0e, //0x00005459 movq %rcx, (%rsi) + 0x48, 0x8b, 0x57, 0x08, //0x0000545c movq $8(%rdi), %rdx + 0x48, 0x39, 0xd1, //0x00005460 cmpq %rdx, %rcx + 0x48, 0x0f, 0x47, 0xca, //0x00005463 cmovaq %rdx, %rcx + 0x48, 0x89, 0x0e, //0x00005467 movq %rcx, (%rsi) + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000546a movq $-1, %rcx + 0x48, 0x0f, 0x47, 0xc1, //0x00005471 cmovaq %rcx, %rax + 0x48, 0x89, 0xc1, //0x00005475 movq %rax, %rcx + 0xe9, 0x81, 0xde, 0xff, 0xff, //0x00005478 jmp LBB0_659 + //0x0000547d LBB0_1080 + 0x49, 0x0f, 0xbc, 0xce, //0x0000547d bsfq %r14, %rcx + 0x49, 0x01, 0xca, //0x00005481 addq %rcx, %r10 + 0x4d, 0x01, 0xfa, //0x00005484 addq %r15, %r10 + 0x4d, 0x29, 0xda, //0x00005487 subq %r11, %r10 + 0x49, 0x83, 0xc2, 0x02, //0x0000548a addq $2, %r10 + 0x48, 0x8b, 0x4c, 0x24, 0x08, //0x0000548e movq $8(%rsp), %rcx + 0x4c, 0x89, 0x11, //0x00005493 movq %r10, (%rcx) + 0x48, 0x89, 0xc1, //0x00005496 movq %rax, %rcx + 0xe9, 0x60, 0xde, 0xff, 0xff, //0x00005499 jmp LBB0_659 + //0x0000549e LBB0_1082 + 0x49, 0x83, 0xfd, 0xff, //0x0000549e cmpq $-1, %r13 + 0x0f, 0x85, 0x0a, 0x00, 0x00, 0x00, //0x000054a2 jne LBB0_1084 + //0x000054a8 LBB0_1083 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x000054a8 movq $-1, %r13 + 0x4d, 0x89, 0xc1, //0x000054af movq %r8, %r9 + //0x000054b2 LBB0_1084 + 0x4d, 0x89, 0x0e, //0x000054b2 movq %r9, (%r14) + 0x4c, 0x89, 0xe9, //0x000054b5 movq %r13, %rcx + 0xe9, 0x41, 0xde, 0xff, 0xff, //0x000054b8 jmp LBB0_659 + //0x000054bd LBB0_1085 + 0x4c, 0x89, 0xc1, //0x000054bd movq %r8, %rcx + //0x000054c0 LBB0_1086 + 0x49, 0x8b, 0x06, //0x000054c0 movq (%r14), %rax + 0x48, 0x29, 0xc8, //0x000054c3 subq %rcx, %rax + 0x48, 0x83, 0xc0, 0xfe, //0x000054c6 addq $-2, %rax + //0x000054ca LBB0_1087 + 0x49, 0x89, 0x06, //0x000054ca movq %rax, (%r14) + 0xe9, 0x25, 0xde, 0xff, 0xff, //0x000054cd jmp LBB0_658 + //0x000054d2 LBB0_1096 + 0x49, 0x89, 0x16, //0x000054d2 movq %rdx, (%r14) + 0xe9, 0x24, 0xde, 0xff, 0xff, //0x000054d5 jmp LBB0_659 + //0x000054da LBB0_1088 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x000054da movq $-2, %rdx + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x000054e1 movl $2, %ecx + 0x48, 0x01, 0xcb, //0x000054e6 addq %rcx, %rbx + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000054e9 movq $-1, %rcx + 0x49, 0x01, 0xd7, //0x000054f0 addq %rdx, %r15 + 0x0f, 0x8e, 0x05, 0xde, 0xff, 0xff, //0x000054f3 jle LBB0_659 + //0x000054f9 LBB0_1090 + 0x0f, 0xb6, 0x0b, //0x000054f9 movzbl (%rbx), %ecx + 0x80, 0xf9, 0x5c, //0x000054fc cmpb $92, %cl + 0x0f, 0x84, 0xd5, 0xff, 0xff, 0xff, //0x000054ff je LBB0_1088 + 0x80, 0xf9, 0x22, //0x00005505 cmpb $34, %cl + 0x0f, 0x84, 0xb4, 0x01, 0x00, 0x00, //0x00005508 je LBB0_1111 + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000550e movq $-1, %rdx + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00005515 movl $1, %ecx + 0x48, 0x01, 0xcb, //0x0000551a addq %rcx, %rbx + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000551d movq $-1, %rcx + 0x49, 0x01, 0xd7, //0x00005524 addq %rdx, %r15 + 0x0f, 0x8f, 0xcc, 0xff, 0xff, 0xff, //0x00005527 jg LBB0_1090 + 0xe9, 0xcc, 0xdd, 0xff, 0xff, //0x0000552d jmp LBB0_659 + //0x00005532 LBB0_1093 + 0x4c, 0x89, 0x8c, 0x24, 0x98, 0x00, 0x00, 0x00, //0x00005532 movq %r9, $152(%rsp) + //0x0000553a LBB0_1094 + 0x48, 0x8b, 0x44, 0x24, 0x08, //0x0000553a movq $8(%rsp), %rax + 0x48, 0x8b, 0x8c, 0x24, 0x98, 0x00, 0x00, 0x00, //0x0000553f movq $152(%rsp), %rcx + 0x48, 0x89, 0x08, //0x00005547 movq %rcx, (%rax) + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000554a movq $-1, %rcx + 0xe9, 0xa8, 0xdd, 0xff, 0xff, //0x00005551 jmp LBB0_659 + //0x00005556 LBB0_1095 + 0x0f, 0xb7, 0xcf, //0x00005556 movzwl %di, %ecx + 0xe9, 0x78, 0xdd, 0xff, 0xff, //0x00005559 jmp LBB0_655 + //0x0000555e LBB0_1098 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x0000555e movq $-2, %rcx + 0x80, 0xfa, 0x61, //0x00005565 cmpb $97, %dl + 0x0f, 0x85, 0x90, 0xdd, 0xff, 0xff, //0x00005568 jne LBB0_659 + 0x49, 0x8d, 0x43, 0x02, //0x0000556e leaq $2(%r11), %rax + 0x49, 0x89, 0x06, //0x00005572 movq %rax, (%r14) + 0x43, 0x80, 0x7c, 0x1c, 0x02, 0x6c, //0x00005575 cmpb $108, $2(%r12,%r11) + 0x0f, 0x85, 0x7d, 0xdd, 0xff, 0xff, //0x0000557b jne LBB0_659 + 0x49, 0x8d, 0x43, 0x03, //0x00005581 leaq $3(%r11), %rax + 0x49, 0x89, 0x06, //0x00005585 movq %rax, (%r14) + 0x43, 0x80, 0x7c, 0x1c, 0x03, 0x73, //0x00005588 cmpb $115, $3(%r12,%r11) + 0x0f, 0x85, 0x6a, 0xdd, 0xff, 0xff, //0x0000558e jne LBB0_659 + 0x49, 0x8d, 0x43, 0x04, //0x00005594 leaq $4(%r11), %rax + 0x49, 0x89, 0x06, //0x00005598 movq %rax, (%r14) + 0x43, 0x80, 0x7c, 0x1c, 0x04, 0x65, //0x0000559b cmpb $101, $4(%r12,%r11) + 0x0f, 0x85, 0x57, 0xdd, 0xff, 0xff, //0x000055a1 jne LBB0_659 + 0x49, 0x83, 0xc3, 0x05, //0x000055a7 addq $5, %r11 + 0xe9, 0xa3, 0x00, 0x00, 0x00, //0x000055ab jmp LBB0_1103 + //0x000055b0 LBB0_850 + 0x4d, 0x89, 0x1e, //0x000055b0 movq %r11, (%r14) + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000055b3 movq $-2, %rcx + 0x41, 0x80, 0x39, 0x6e, //0x000055ba cmpb $110, (%r9) + 0x0f, 0x85, 0x3a, 0xdd, 0xff, 0xff, //0x000055be jne LBB0_659 + 0x49, 0x8d, 0x43, 0x01, //0x000055c4 leaq $1(%r11), %rax + 0x49, 0x89, 0x06, //0x000055c8 movq %rax, (%r14) + 0x43, 0x80, 0x7c, 0x1c, 0x01, 0x75, //0x000055cb cmpb $117, $1(%r12,%r11) + 0x0f, 0x85, 0x27, 0xdd, 0xff, 0xff, //0x000055d1 jne LBB0_659 + 0x49, 0x8d, 0x43, 0x02, //0x000055d7 leaq $2(%r11), %rax + 0x49, 0x89, 0x06, //0x000055db movq %rax, (%r14) + 0x43, 0x80, 0x7c, 0x1c, 0x02, 0x6c, //0x000055de cmpb $108, $2(%r12,%r11) + 0x0f, 0x85, 0x14, 0xdd, 0xff, 0xff, //0x000055e4 jne LBB0_659 + 0x49, 0x8d, 0x43, 0x03, //0x000055ea leaq $3(%r11), %rax + 0x49, 0x89, 0x06, //0x000055ee movq %rax, (%r14) + 0x43, 0x80, 0x7c, 0x1c, 0x03, 0x6c, //0x000055f1 cmpb $108, $3(%r12,%r11) + 0x0f, 0x85, 0x01, 0xdd, 0xff, 0xff, //0x000055f7 jne LBB0_659 + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x000055fd jmp LBB0_854 + //0x00005602 LBB0_857 + 0x4d, 0x89, 0x1e, //0x00005602 movq %r11, (%r14) + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00005605 movq $-2, %rcx + 0x41, 0x80, 0x39, 0x74, //0x0000560c cmpb $116, (%r9) + 0x0f, 0x85, 0xe8, 0xdc, 0xff, 0xff, //0x00005610 jne LBB0_659 + 0x49, 0x8d, 0x43, 0x01, //0x00005616 leaq $1(%r11), %rax + 0x49, 0x89, 0x06, //0x0000561a movq %rax, (%r14) + 0x43, 0x80, 0x7c, 0x1c, 0x01, 0x72, //0x0000561d cmpb $114, $1(%r12,%r11) + 0x0f, 0x85, 0xd5, 0xdc, 0xff, 0xff, //0x00005623 jne LBB0_659 + 0x49, 0x8d, 0x43, 0x02, //0x00005629 leaq $2(%r11), %rax + 0x49, 0x89, 0x06, //0x0000562d movq %rax, (%r14) + 0x43, 0x80, 0x7c, 0x1c, 0x02, 0x75, //0x00005630 cmpb $117, $2(%r12,%r11) + 0x0f, 0x85, 0xc2, 0xdc, 0xff, 0xff, //0x00005636 jne LBB0_659 + 0x49, 0x8d, 0x43, 0x03, //0x0000563c leaq $3(%r11), %rax + 0x49, 0x89, 0x06, //0x00005640 movq %rax, (%r14) + 0x43, 0x80, 0x7c, 0x1c, 0x03, 0x65, //0x00005643 cmpb $101, $3(%r12,%r11) + 0x0f, 0x85, 0xaf, 0xdc, 0xff, 0xff, //0x00005649 jne LBB0_659 + //0x0000564f LBB0_854 + 0x49, 0x83, 0xc3, 0x04, //0x0000564f addq $4, %r11 + //0x00005653 LBB0_1103 + 0x48, 0x8b, 0x44, 0x24, 0x08, //0x00005653 movq $8(%rsp), %rax + 0x4c, 0x89, 0x18, //0x00005658 movq %r11, (%rax) + 0xe9, 0x9e, 0xdc, 0xff, 0xff, //0x0000565b jmp LBB0_659 + //0x00005660 LBB0_1105 + 0x48, 0x8b, 0x44, 0x24, 0x08, //0x00005660 movq $8(%rsp), %rax + 0x4c, 0x8b, 0x28, //0x00005665 movq (%rax), %r13 + //0x00005668 LBB0_1106 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00005668 movq $-1, %r14 + //0x0000566f LBB0_1107 + 0x49, 0xf7, 0xd6, //0x0000566f notq %r14 + 0x4d, 0x01, 0xee, //0x00005672 addq %r13, %r14 + 0x48, 0x8b, 0x44, 0x24, 0x08, //0x00005675 movq $8(%rsp), %rax + 0x4c, 0x89, 0x30, //0x0000567a movq %r14, (%rax) + 0xe9, 0x75, 0xdc, 0xff, 0xff, //0x0000567d jmp LBB0_658 + //0x00005682 LBB0_1108 + 0x4c, 0x89, 0xd9, //0x00005682 movq %r11, %rcx + 0x48, 0xf7, 0xd1, //0x00005685 notq %rcx + 0x48, 0x01, 0xc8, //0x00005688 addq %rcx, %rax + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000568b movq $-1, %rcx + 0x48, 0x39, 0xd8, //0x00005692 cmpq %rbx, %rax + 0x0f, 0x82, 0xc7, 0xda, 0xff, 0xff, //0x00005695 jb LBB0_634 + 0xe9, 0x5e, 0xdc, 0xff, 0xff, //0x0000569b jmp LBB0_659 + //0x000056a0 LBB0_1109 + 0x4c, 0x89, 0x6c, 0x24, 0x18, //0x000056a0 movq %r13, $24(%rsp) + 0xe9, 0x26, 0xf7, 0xff, 0xff, //0x000056a5 jmp LBB0_979 + //0x000056aa LBB0_1110 + 0x49, 0x83, 0xc1, 0x02, //0x000056aa addq $2, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000056ae movq $-2, %rcx + 0xe9, 0x32, 0x00, 0x00, 0x00, //0x000056b5 jmp LBB0_1115 + //0x000056ba LBB0_1116 + 0x4d, 0x89, 0xe8, //0x000056ba movq %r13, %r8 + 0xe9, 0xe6, 0xfd, 0xff, 0xff, //0x000056bd jmp LBB0_1083 + //0x000056c2 LBB0_1111 + 0x4c, 0x29, 0xdb, //0x000056c2 subq %r11, %rbx + 0x48, 0xff, 0xc3, //0x000056c5 incq %rbx + 0x48, 0x89, 0x1e, //0x000056c8 movq %rbx, (%rsi) + 0x48, 0x89, 0xc1, //0x000056cb movq %rax, %rcx + 0xe9, 0x2b, 0xdc, 0xff, 0xff, //0x000056ce jmp LBB0_659 + //0x000056d3 LBB0_1112 + 0x49, 0xff, 0xc1, //0x000056d3 incq %r9 + 0x48, 0xc7, 0xc1, 0xfd, 0xff, 0xff, 0xff, //0x000056d6 movq $-3, %rcx + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x000056dd jmp LBB0_1115 + //0x000056e2 LBB0_1113 + 0x49, 0xff, 0xc1, //0x000056e2 incq %r9 + //0x000056e5 LBB0_1114 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000056e5 movq $-1, %rcx + //0x000056ec LBB0_1115 + 0x48, 0x8b, 0x44, 0x24, 0x08, //0x000056ec movq $8(%rsp), %rax + 0x48, 0x8b, 0x14, 0x24, //0x000056f1 movq (%rsp), %rdx + 0x49, 0x29, 0xd1, //0x000056f5 subq %rdx, %r9 + 0x4c, 0x89, 0x08, //0x000056f8 movq %r9, (%rax) + 0xe9, 0xfe, 0xdb, 0xff, 0xff, //0x000056fb jmp LBB0_659 + //0x00005700 LBB0_1117 + 0x4c, 0x01, 0xdb, //0x00005700 addq %r11, %rbx + 0xe9, 0xbd, 0xf7, 0xff, 0xff, //0x00005703 jmp LBB0_1027 + //0x00005708 LBB0_1118 + 0x48, 0x8b, 0x44, 0x24, 0x10, //0x00005708 movq $16(%rsp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x0000570d movq $8(%rax), %rax + 0x48, 0x8b, 0x54, 0x24, 0x08, //0x00005711 movq $8(%rsp), %rdx + 0x48, 0x89, 0x02, //0x00005716 movq %rax, (%rdx) + 0xe9, 0xe0, 0xdb, 0xff, 0xff, //0x00005719 jmp LBB0_659 + //0x0000571e LBB0_1119 + 0x48, 0xc7, 0xc1, 0xfc, 0xff, 0xff, 0xff, //0x0000571e movq $-4, %rcx + 0x4d, 0x89, 0xd9, //0x00005725 movq %r11, %r9 + 0xe9, 0xbf, 0xff, 0xff, 0xff, //0x00005728 jmp LBB0_1115 + //0x0000572d LBB0_1120 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x0000572d movq $-2, %rcx + 0x4d, 0x89, 0xd9, //0x00005734 movq %r11, %r9 + 0xe9, 0xb0, 0xff, 0xff, 0xff, //0x00005737 jmp LBB0_1115 + //0x0000573c LBB0_1123 + 0x4c, 0x8b, 0x74, 0x24, 0x08, //0x0000573c movq $8(%rsp), %r14 + 0xe9, 0x8a, 0xf6, 0xff, 0xff, //0x00005741 jmp LBB0_979 + //0x00005746 LBB0_1121 + 0x49, 0x8d, 0x51, 0xff, //0x00005746 leaq $-1(%r9), %rdx + 0x4c, 0x39, 0xfa, //0x0000574a cmpq %r15, %rdx + 0x0f, 0x84, 0xab, 0xdb, 0xff, 0xff, //0x0000574d je LBB0_659 + 0x4b, 0x8d, 0x5c, 0x17, 0x02, //0x00005753 leaq $2(%r15,%r10), %rbx + 0x4d, 0x29, 0xf9, //0x00005758 subq %r15, %r9 + 0x49, 0x83, 0xc1, 0xfe, //0x0000575b addq $-2, %r9 + 0x4d, 0x89, 0xcf, //0x0000575f movq %r9, %r15 + 0xe9, 0x5e, 0xf7, 0xff, 0xff, //0x00005762 jmp LBB0_1027 + 0x90, //0x00005767 .p2align 2, 0x90 + // // .set L0_0_set_491, LBB0_491-LJTI0_0 + // // .set L0_0_set_490, LBB0_490-LJTI0_0 + // // .set L0_0_set_477, LBB0_477-LJTI0_0 + // // .set L0_0_set_456, LBB0_456-LJTI0_0 + // // .set L0_0_set_527, LBB0_527-LJTI0_0 + // // .set L0_0_set_489, LBB0_489-LJTI0_0 + // // .set L0_0_set_476, LBB0_476-LJTI0_0 + // // .set L0_0_set_552, LBB0_552-LJTI0_0 + //0x00005768 LJTI0_0 + 0x6e, 0xce, 0xff, 0xff, //0x00005768 .long L0_0_set_491 + 0x68, 0xce, 0xff, 0xff, //0x0000576c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005770 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005774 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005778 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000577c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005780 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005784 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005788 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000578c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005790 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005794 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005798 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000579c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057a0 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057a4 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057a8 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057ac .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057b0 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057b4 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057b8 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057bc .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057c0 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057c4 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057c8 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057cc .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057d0 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057d4 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057d8 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057dc .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057e0 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057e4 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057e8 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057ec .long L0_0_set_490 + 0x4f, 0xcd, 0xff, 0xff, //0x000057f0 .long L0_0_set_477 + 0x68, 0xce, 0xff, 0xff, //0x000057f4 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057f8 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000057fc .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005800 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005804 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005808 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000580c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005810 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005814 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005818 .long L0_0_set_490 + 0xf5, 0xcb, 0xff, 0xff, //0x0000581c .long L0_0_set_456 + 0x68, 0xce, 0xff, 0xff, //0x00005820 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005824 .long L0_0_set_490 + 0xf5, 0xcb, 0xff, 0xff, //0x00005828 .long L0_0_set_456 + 0xf5, 0xcb, 0xff, 0xff, //0x0000582c .long L0_0_set_456 + 0xf5, 0xcb, 0xff, 0xff, //0x00005830 .long L0_0_set_456 + 0xf5, 0xcb, 0xff, 0xff, //0x00005834 .long L0_0_set_456 + 0xf5, 0xcb, 0xff, 0xff, //0x00005838 .long L0_0_set_456 + 0xf5, 0xcb, 0xff, 0xff, //0x0000583c .long L0_0_set_456 + 0xf5, 0xcb, 0xff, 0xff, //0x00005840 .long L0_0_set_456 + 0xf5, 0xcb, 0xff, 0xff, //0x00005844 .long L0_0_set_456 + 0xf5, 0xcb, 0xff, 0xff, //0x00005848 .long L0_0_set_456 + 0xf5, 0xcb, 0xff, 0xff, //0x0000584c .long L0_0_set_456 + 0x68, 0xce, 0xff, 0xff, //0x00005850 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005854 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005858 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000585c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005860 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005864 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005868 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000586c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005870 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005874 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005878 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000587c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005880 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005884 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005888 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000588c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005890 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005894 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005898 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000589c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058a0 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058a4 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058a8 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058ac .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058b0 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058b4 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058b8 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058bc .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058c0 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058c4 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058c8 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058cc .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058d0 .long L0_0_set_490 + 0x56, 0xd0, 0xff, 0xff, //0x000058d4 .long L0_0_set_527 + 0x68, 0xce, 0xff, 0xff, //0x000058d8 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058dc .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058e0 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058e4 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058e8 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058ec .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058f0 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058f4 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058f8 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x000058fc .long L0_0_set_490 + 0x4e, 0xce, 0xff, 0xff, //0x00005900 .long L0_0_set_489 + 0x68, 0xce, 0xff, 0xff, //0x00005904 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005908 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000590c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005910 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005914 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005918 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000591c .long L0_0_set_490 + 0x3d, 0xcd, 0xff, 0xff, //0x00005920 .long L0_0_set_476 + 0x68, 0xce, 0xff, 0xff, //0x00005924 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005928 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000592c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005930 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005934 .long L0_0_set_490 + 0x3d, 0xcd, 0xff, 0xff, //0x00005938 .long L0_0_set_476 + 0x68, 0xce, 0xff, 0xff, //0x0000593c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005940 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005944 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005948 .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x0000594c .long L0_0_set_490 + 0x68, 0xce, 0xff, 0xff, //0x00005950 .long L0_0_set_490 + 0x00, 0xd3, 0xff, 0xff, //0x00005954 .long L0_0_set_552 + // // .set L0_1_set_294, LBB0_294-LJTI0_1 + // // .set L0_1_set_293, LBB0_293-LJTI0_1 + // // .set L0_1_set_254, LBB0_254-LJTI0_1 + // // .set L0_1_set_232, LBB0_232-LJTI0_1 + // // .set L0_1_set_266, LBB0_266-LJTI0_1 + // // .set L0_1_set_292, LBB0_292-LJTI0_1 + // // .set L0_1_set_253, LBB0_253-LJTI0_1 + // // .set L0_1_set_326, LBB0_326-LJTI0_1 + //0x00005958 LJTI0_1 + 0xee, 0xbe, 0xff, 0xff, //0x00005958 .long L0_1_set_294 + 0xe8, 0xbe, 0xff, 0xff, //0x0000595c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005960 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005964 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005968 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x0000596c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005970 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005974 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005978 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x0000597c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005980 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005984 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005988 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x0000598c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005990 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005994 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005998 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x0000599c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059a0 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059a4 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059a8 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059ac .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059b0 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059b4 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059b8 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059bc .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059c0 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059c4 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059c8 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059cc .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059d0 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059d4 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059d8 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059dc .long L0_1_set_293 + 0x3f, 0xbb, 0xff, 0xff, //0x000059e0 .long L0_1_set_254 + 0xe8, 0xbe, 0xff, 0xff, //0x000059e4 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059e8 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059ec .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059f0 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059f4 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059f8 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x000059fc .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a00 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a04 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a08 .long L0_1_set_293 + 0xe9, 0xb9, 0xff, 0xff, //0x00005a0c .long L0_1_set_232 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a10 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a14 .long L0_1_set_293 + 0xe9, 0xb9, 0xff, 0xff, //0x00005a18 .long L0_1_set_232 + 0xe9, 0xb9, 0xff, 0xff, //0x00005a1c .long L0_1_set_232 + 0xe9, 0xb9, 0xff, 0xff, //0x00005a20 .long L0_1_set_232 + 0xe9, 0xb9, 0xff, 0xff, //0x00005a24 .long L0_1_set_232 + 0xe9, 0xb9, 0xff, 0xff, //0x00005a28 .long L0_1_set_232 + 0xe9, 0xb9, 0xff, 0xff, //0x00005a2c .long L0_1_set_232 + 0xe9, 0xb9, 0xff, 0xff, //0x00005a30 .long L0_1_set_232 + 0xe9, 0xb9, 0xff, 0xff, //0x00005a34 .long L0_1_set_232 + 0xe9, 0xb9, 0xff, 0xff, //0x00005a38 .long L0_1_set_232 + 0xe9, 0xb9, 0xff, 0xff, //0x00005a3c .long L0_1_set_232 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a40 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a44 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a48 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a4c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a50 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a54 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a58 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a5c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a60 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a64 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a68 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a6c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a70 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a74 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a78 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a7c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a80 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a84 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a88 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a8c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a90 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a94 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a98 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005a9c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005aa0 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005aa4 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005aa8 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005aac .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005ab0 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005ab4 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005ab8 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005abc .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005ac0 .long L0_1_set_293 + 0x1e, 0xbc, 0xff, 0xff, //0x00005ac4 .long L0_1_set_266 + 0xe8, 0xbe, 0xff, 0xff, //0x00005ac8 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005acc .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005ad0 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005ad4 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005ad8 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005adc .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005ae0 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005ae4 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005ae8 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005aec .long L0_1_set_293 + 0xd2, 0xbe, 0xff, 0xff, //0x00005af0 .long L0_1_set_292 + 0xe8, 0xbe, 0xff, 0xff, //0x00005af4 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005af8 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005afc .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b00 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b04 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b08 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b0c .long L0_1_set_293 + 0x2d, 0xbb, 0xff, 0xff, //0x00005b10 .long L0_1_set_253 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b14 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b18 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b1c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b20 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b24 .long L0_1_set_293 + 0x2d, 0xbb, 0xff, 0xff, //0x00005b28 .long L0_1_set_253 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b2c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b30 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b34 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b38 .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b3c .long L0_1_set_293 + 0xe8, 0xbe, 0xff, 0xff, //0x00005b40 .long L0_1_set_293 + 0xb8, 0xc0, 0xff, 0xff, //0x00005b44 .long L0_1_set_326 + // // .set L0_2_set_698, LBB0_698-LJTI0_2 + // // .set L0_2_set_725, LBB0_725-LJTI0_2 + // // .set L0_2_set_704, LBB0_704-LJTI0_2 + // // .set L0_2_set_722, LBB0_722-LJTI0_2 + // // .set L0_2_set_701, LBB0_701-LJTI0_2 + // // .set L0_2_set_727, LBB0_727-LJTI0_2 + //0x00005b48 LJTI0_2 + 0xf9, 0xd9, 0xff, 0xff, //0x00005b48 .long L0_2_set_698 + 0x25, 0xdc, 0xff, 0xff, //0x00005b4c .long L0_2_set_725 + 0x30, 0xda, 0xff, 0xff, //0x00005b50 .long L0_2_set_704 + 0xb9, 0xdb, 0xff, 0xff, //0x00005b54 .long L0_2_set_722 + 0x10, 0xda, 0xff, 0xff, //0x00005b58 .long L0_2_set_701 + 0x50, 0xdc, 0xff, 0xff, //0x00005b5c .long L0_2_set_727 + // // .set L0_3_set_659, LBB0_659-LJTI0_3 + // // .set L0_3_set_658, LBB0_658-LJTI0_3 + // // .set L0_3_set_822, LBB0_822-LJTI0_3 + // // .set L0_3_set_839, LBB0_839-LJTI0_3 + // // .set L0_3_set_729, LBB0_729-LJTI0_3 + // // .set L0_3_set_843, LBB0_843-LJTI0_3 + // // .set L0_3_set_845, LBB0_845-LJTI0_3 + // // .set L0_3_set_848, LBB0_848-LJTI0_3 + // // .set L0_3_set_855, LBB0_855-LJTI0_3 + // // .set L0_3_set_861, LBB0_861-LJTI0_3 + //0x00005b60 LJTI0_3 + 0x9e, 0xd7, 0xff, 0xff, //0x00005b60 .long L0_3_set_659 + 0x97, 0xd7, 0xff, 0xff, //0x00005b64 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b68 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b6c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b70 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b74 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b78 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b7c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b80 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b84 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b88 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b8c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b90 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b94 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b98 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005b9c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005ba0 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005ba4 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005ba8 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bac .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bb0 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bb4 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bb8 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bbc .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bc0 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bc4 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bc8 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bcc .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bd0 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bd4 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bd8 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bdc .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005be0 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005be4 .long L0_3_set_658 + 0x59, 0xe3, 0xff, 0xff, //0x00005be8 .long L0_3_set_822 + 0x97, 0xd7, 0xff, 0xff, //0x00005bec .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bf0 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bf4 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bf8 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005bfc .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c00 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c04 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c08 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c0c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c10 .long L0_3_set_658 + 0xc9, 0xe4, 0xff, 0xff, //0x00005c14 .long L0_3_set_839 + 0x97, 0xd7, 0xff, 0xff, //0x00005c18 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c1c .long L0_3_set_658 + 0xda, 0xdb, 0xff, 0xff, //0x00005c20 .long L0_3_set_729 + 0xda, 0xdb, 0xff, 0xff, //0x00005c24 .long L0_3_set_729 + 0xda, 0xdb, 0xff, 0xff, //0x00005c28 .long L0_3_set_729 + 0xda, 0xdb, 0xff, 0xff, //0x00005c2c .long L0_3_set_729 + 0xda, 0xdb, 0xff, 0xff, //0x00005c30 .long L0_3_set_729 + 0xda, 0xdb, 0xff, 0xff, //0x00005c34 .long L0_3_set_729 + 0xda, 0xdb, 0xff, 0xff, //0x00005c38 .long L0_3_set_729 + 0xda, 0xdb, 0xff, 0xff, //0x00005c3c .long L0_3_set_729 + 0xda, 0xdb, 0xff, 0xff, //0x00005c40 .long L0_3_set_729 + 0xda, 0xdb, 0xff, 0xff, //0x00005c44 .long L0_3_set_729 + 0x97, 0xd7, 0xff, 0xff, //0x00005c48 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c4c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c50 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c54 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c58 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c5c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c60 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c64 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c68 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c6c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c70 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c74 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c78 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c7c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c80 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c84 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c88 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c8c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c90 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c94 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c98 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005c9c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005ca0 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005ca4 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005ca8 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cac .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cb0 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cb4 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cb8 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cbc .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cc0 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cc4 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cc8 .long L0_3_set_658 + 0x03, 0xe5, 0xff, 0xff, //0x00005ccc .long L0_3_set_843 + 0x97, 0xd7, 0xff, 0xff, //0x00005cd0 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cd4 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cd8 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cdc .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005ce0 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005ce4 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005ce8 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cec .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cf0 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005cf4 .long L0_3_set_658 + 0x27, 0xe5, 0xff, 0xff, //0x00005cf8 .long L0_3_set_845 + 0x97, 0xd7, 0xff, 0xff, //0x00005cfc .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d00 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d04 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d08 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d0c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d10 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d14 .long L0_3_set_658 + 0x63, 0xe5, 0xff, 0xff, //0x00005d18 .long L0_3_set_848 + 0x97, 0xd7, 0xff, 0xff, //0x00005d1c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d20 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d24 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d28 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d2c .long L0_3_set_658 + 0x86, 0xe5, 0xff, 0xff, //0x00005d30 .long L0_3_set_855 + 0x97, 0xd7, 0xff, 0xff, //0x00005d34 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d38 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d3c .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d40 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d44 .long L0_3_set_658 + 0x97, 0xd7, 0xff, 0xff, //0x00005d48 .long L0_3_set_658 + 0xa9, 0xe5, 0xff, 0xff, //0x00005d4c .long L0_3_set_861 + // // .set L0_4_set_912, LBB0_912-LJTI0_4 + // // .set L0_4_set_923, LBB0_923-LJTI0_4 + // // .set L0_4_set_919, LBB0_919-LJTI0_4 + // // .set L0_4_set_914, LBB0_914-LJTI0_4 + // // .set L0_4_set_917, LBB0_917-LJTI0_4 + //0x00005d50 LJTI0_4 + 0x6a, 0xe7, 0xff, 0xff, //0x00005d50 .long L0_4_set_912 + 0xb9, 0xe8, 0xff, 0xff, //0x00005d54 .long L0_4_set_923 + 0x6a, 0xe7, 0xff, 0xff, //0x00005d58 .long L0_4_set_912 + 0xcf, 0xe7, 0xff, 0xff, //0x00005d5c .long L0_4_set_919 + 0xb9, 0xe8, 0xff, 0xff, //0x00005d60 .long L0_4_set_923 + 0x84, 0xe7, 0xff, 0xff, //0x00005d64 .long L0_4_set_914 + 0x84, 0xe7, 0xff, 0xff, //0x00005d68 .long L0_4_set_914 + 0x84, 0xe7, 0xff, 0xff, //0x00005d6c .long L0_4_set_914 + 0x84, 0xe7, 0xff, 0xff, //0x00005d70 .long L0_4_set_914 + 0x84, 0xe7, 0xff, 0xff, //0x00005d74 .long L0_4_set_914 + 0x84, 0xe7, 0xff, 0xff, //0x00005d78 .long L0_4_set_914 + 0x84, 0xe7, 0xff, 0xff, //0x00005d7c .long L0_4_set_914 + 0x84, 0xe7, 0xff, 0xff, //0x00005d80 .long L0_4_set_914 + 0x84, 0xe7, 0xff, 0xff, //0x00005d84 .long L0_4_set_914 + 0x84, 0xe7, 0xff, 0xff, //0x00005d88 .long L0_4_set_914 + 0xb9, 0xe8, 0xff, 0xff, //0x00005d8c .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005d90 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005d94 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005d98 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005d9c .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005da0 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005da4 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005da8 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005dac .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005db0 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005db4 .long L0_4_set_923 + 0xb4, 0xe7, 0xff, 0xff, //0x00005db8 .long L0_4_set_917 + 0xb9, 0xe8, 0xff, 0xff, //0x00005dbc .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005dc0 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005dc4 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005dc8 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005dcc .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005dd0 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005dd4 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005dd8 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005ddc .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005de0 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005de4 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005de8 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005dec .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005df0 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005df4 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005df8 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005dfc .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e00 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e04 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e08 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e0c .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e10 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e14 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e18 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e1c .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e20 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e24 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e28 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e2c .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e30 .long L0_4_set_923 + 0xb9, 0xe8, 0xff, 0xff, //0x00005e34 .long L0_4_set_923 + 0xb4, 0xe7, 0xff, 0xff, //0x00005e38 .long L0_4_set_917 + // // .set L0_5_set_798, LBB0_798-LJTI0_5 + // // .set L0_5_set_809, LBB0_809-LJTI0_5 + // // .set L0_5_set_805, LBB0_805-LJTI0_5 + // // .set L0_5_set_800, LBB0_800-LJTI0_5 + // // .set L0_5_set_803, LBB0_803-LJTI0_5 + //0x00005e3c LJTI0_5 + 0x9a, 0xde, 0xff, 0xff, //0x00005e3c .long L0_5_set_798 + 0x48, 0xdf, 0xff, 0xff, //0x00005e40 .long L0_5_set_809 + 0x9a, 0xde, 0xff, 0xff, //0x00005e44 .long L0_5_set_798 + 0xff, 0xde, 0xff, 0xff, //0x00005e48 .long L0_5_set_805 + 0x48, 0xdf, 0xff, 0xff, //0x00005e4c .long L0_5_set_809 + 0xb4, 0xde, 0xff, 0xff, //0x00005e50 .long L0_5_set_800 + 0xb4, 0xde, 0xff, 0xff, //0x00005e54 .long L0_5_set_800 + 0xb4, 0xde, 0xff, 0xff, //0x00005e58 .long L0_5_set_800 + 0xb4, 0xde, 0xff, 0xff, //0x00005e5c .long L0_5_set_800 + 0xb4, 0xde, 0xff, 0xff, //0x00005e60 .long L0_5_set_800 + 0xb4, 0xde, 0xff, 0xff, //0x00005e64 .long L0_5_set_800 + 0xb4, 0xde, 0xff, 0xff, //0x00005e68 .long L0_5_set_800 + 0xb4, 0xde, 0xff, 0xff, //0x00005e6c .long L0_5_set_800 + 0xb4, 0xde, 0xff, 0xff, //0x00005e70 .long L0_5_set_800 + 0xb4, 0xde, 0xff, 0xff, //0x00005e74 .long L0_5_set_800 + 0x48, 0xdf, 0xff, 0xff, //0x00005e78 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005e7c .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005e80 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005e84 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005e88 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005e8c .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005e90 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005e94 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005e98 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005e9c .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ea0 .long L0_5_set_809 + 0xe4, 0xde, 0xff, 0xff, //0x00005ea4 .long L0_5_set_803 + 0x48, 0xdf, 0xff, 0xff, //0x00005ea8 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005eac .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005eb0 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005eb4 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005eb8 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ebc .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ec0 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ec4 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ec8 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ecc .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ed0 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ed4 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ed8 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005edc .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ee0 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ee4 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ee8 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005eec .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ef0 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ef4 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005ef8 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005efc .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005f00 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005f04 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005f08 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005f0c .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005f10 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005f14 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005f18 .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005f1c .long L0_5_set_809 + 0x48, 0xdf, 0xff, 0xff, //0x00005f20 .long L0_5_set_809 + 0xe4, 0xde, 0xff, 0xff, //0x00005f24 .long L0_5_set_803 + // // .set L0_6_set_659, LBB0_659-LJTI0_6 + // // .set L0_6_set_1087, LBB0_1087-LJTI0_6 + // // .set L0_6_set_1017, LBB0_1017-LJTI0_6 + // // .set L0_6_set_636, LBB0_636-LJTI0_6 + // // .set L0_6_set_1028, LBB0_1028-LJTI0_6 + // // .set L0_6_set_1052, LBB0_1052-LJTI0_6 + // // .set L0_6_set_1015, LBB0_1015-LJTI0_6 + // // .set L0_6_set_1055, LBB0_1055-LJTI0_6 + //0x00005f28 LJTI0_6 + 0xd6, 0xd3, 0xff, 0xff, //0x00005f28 .long L0_6_set_659 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f2c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f30 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f34 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f38 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f3c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f40 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f44 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f48 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f4c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f50 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f54 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f58 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f5c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f60 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f64 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f68 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f6c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f70 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f74 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f78 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f7c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f80 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f84 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f88 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f8c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f90 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f94 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f98 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005f9c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fa0 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fa4 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fa8 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fac .long L0_6_set_1087 + 0xc5, 0xee, 0xff, 0xff, //0x00005fb0 .long L0_6_set_1017 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fb4 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fb8 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fbc .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fc0 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fc4 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fc8 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fcc .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fd0 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fd4 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fd8 .long L0_6_set_1087 + 0x66, 0xd2, 0xff, 0xff, //0x00005fdc .long L0_6_set_636 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fe0 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00005fe4 .long L0_6_set_1087 + 0x66, 0xd2, 0xff, 0xff, //0x00005fe8 .long L0_6_set_636 + 0x66, 0xd2, 0xff, 0xff, //0x00005fec .long L0_6_set_636 + 0x66, 0xd2, 0xff, 0xff, //0x00005ff0 .long L0_6_set_636 + 0x66, 0xd2, 0xff, 0xff, //0x00005ff4 .long L0_6_set_636 + 0x66, 0xd2, 0xff, 0xff, //0x00005ff8 .long L0_6_set_636 + 0x66, 0xd2, 0xff, 0xff, //0x00005ffc .long L0_6_set_636 + 0x66, 0xd2, 0xff, 0xff, //0x00006000 .long L0_6_set_636 + 0x66, 0xd2, 0xff, 0xff, //0x00006004 .long L0_6_set_636 + 0x66, 0xd2, 0xff, 0xff, //0x00006008 .long L0_6_set_636 + 0x66, 0xd2, 0xff, 0xff, //0x0000600c .long L0_6_set_636 + 0xa2, 0xf5, 0xff, 0xff, //0x00006010 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006014 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006018 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x0000601c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006020 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006024 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006028 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x0000602c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006030 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006034 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006038 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x0000603c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006040 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006044 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006048 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x0000604c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006050 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006054 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006058 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x0000605c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006060 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006064 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006068 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x0000606c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006070 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006074 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006078 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x0000607c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006080 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006084 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006088 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x0000608c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006090 .long L0_6_set_1087 + 0xb0, 0xef, 0xff, 0xff, //0x00006094 .long L0_6_set_1028 + 0xa2, 0xf5, 0xff, 0xff, //0x00006098 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x0000609c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060a0 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060a4 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060a8 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060ac .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060b0 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060b4 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060b8 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060bc .long L0_6_set_1087 + 0x57, 0xf2, 0xff, 0xff, //0x000060c0 .long L0_6_set_1052 + 0xa2, 0xf5, 0xff, 0xff, //0x000060c4 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060c8 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060cc .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060d0 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060d4 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060d8 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060dc .long L0_6_set_1087 + 0x95, 0xee, 0xff, 0xff, //0x000060e0 .long L0_6_set_1015 + 0xa2, 0xf5, 0xff, 0xff, //0x000060e4 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060e8 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060ec .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060f0 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x000060f4 .long L0_6_set_1087 + 0x95, 0xee, 0xff, 0xff, //0x000060f8 .long L0_6_set_1015 + 0xa2, 0xf5, 0xff, 0xff, //0x000060fc .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006100 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006104 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006108 .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x0000610c .long L0_6_set_1087 + 0xa2, 0xf5, 0xff, 0xff, //0x00006110 .long L0_6_set_1087 + 0x70, 0xf2, 0xff, 0xff, //0x00006114 .long L0_6_set_1055 + //0x00006118 .p2align 2, 0x00 + //0x00006118 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00006118 .long 2 + 0x00, 0x00, 0x00, 0x00, //0x0000611c .p2align 4, 0x00 + //0x00006120 __UnquoteTab + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006120 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006130 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, //0x00006140 QUAD $0x0000000000220000; QUAD $0x2f00000000000000 // .ascii 16, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006150 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006160 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, //0x00006170 QUAD $0x0000000000000000; QUAD $0x0000005c00000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00' + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, //0x00006180 QUAD $0x000c000000080000; QUAD $0x000a000000000000 // .ascii 16, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00' + 0x00, 0x00, 0x0d, 0x00, 0x09, 0xff, //0x00006190 LONG $0x000d0000; WORD $0xff09 // .ascii 6, '\x00\x00\r\x00\t\xff' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006196 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061a6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061b6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061c6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061d6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061e6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061f6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006206 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006216 QUAD $0x0000000000000000; WORD $0x0000 // .space 10, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/html_escape.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/html_escape.go new file mode 100644 index 0000000..5d535a3 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/html_escape.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_html_escape func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer) (ret int) + +var S_html_escape uintptr + +//go:nosplit +func html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) { + return F_html_escape(rt.NoEscape(sp), nb, dp, rt.NoEscape(unsafe.Pointer(dn))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/html_escape_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/html_escape_subr.go new file mode 100644 index 0000000..d5afc30 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/html_escape_subr.go @@ -0,0 +1,45 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__html_escape = 192 +) + +const ( + _stack__html_escape = 72 +) + +const ( + _size__html_escape = 2064 +) + +var ( + _pcsp__html_escape = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {2045, 72}, + {2049, 48}, + {2050, 40}, + {2052, 32}, + {2054, 24}, + {2056, 16}, + {2058, 8}, + {2063, 0}, + } +) + +var _cfunc_html_escape = []loader.CFunc{ + {"_html_escape_entry", 0, _entry__html_escape, 0, nil}, + {"_html_escape", _entry__html_escape, _size__html_escape, _stack__html_escape, _pcsp__html_escape}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/html_escape_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/html_escape_text_amd64.go new file mode 100644 index 0000000..f66c2a9 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/html_escape_text_amd64.go @@ -0,0 +1,845 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_html_escape = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, // QUAD $0x2626262626262626; QUAD $0x2626262626262626 // .space 16, '&&&&&&&&&&&&&&&&' + 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, //0x00000010 QUAD $0x2626262626262626; QUAD $0x2626262626262626 // .space 16, '&&&&&&&&&&&&&&&&' + //0x00000020 LCPI0_1 + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, //0x00000020 QUAD $0xe2e2e2e2e2e2e2e2; QUAD $0xe2e2e2e2e2e2e2e2 // .space 16, '\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2' + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, //0x00000030 QUAD $0xe2e2e2e2e2e2e2e2; QUAD $0xe2e2e2e2e2e2e2e2 // .space 16, '\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2' + //0x00000040 LCPI0_2 + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, //0x00000040 QUAD $0x0202020202020202; QUAD $0x0202020202020202 // .space 16, '\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02' + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, //0x00000050 QUAD $0x0202020202020202; QUAD $0x0202020202020202 // .space 16, '\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02' + //0x00000060 LCPI0_3 + 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, //0x00000060 QUAD $0x3e3e3e3e3e3e3e3e; QUAD $0x3e3e3e3e3e3e3e3e // .space 16, '>>>>>>>>>>>>>>>>' + 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, //0x00000070 QUAD $0x3e3e3e3e3e3e3e3e; QUAD $0x3e3e3e3e3e3e3e3e // .space 16, '>>>>>>>>>>>>>>>>' + //0x00000080 .p2align 4, 0x00 + //0x00000080 LCPI0_4 + 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, //0x00000080 QUAD $0x2626262626262626; QUAD $0x2626262626262626 // .space 16, '&&&&&&&&&&&&&&&&' + //0x00000090 LCPI0_5 + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, //0x00000090 QUAD $0xe2e2e2e2e2e2e2e2; QUAD $0xe2e2e2e2e2e2e2e2 // .space 16, '\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2' + //0x000000a0 LCPI0_6 + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, //0x000000a0 QUAD $0x0202020202020202; QUAD $0x0202020202020202 // .space 16, '\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02' + //0x000000b0 LCPI0_7 + 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, //0x000000b0 QUAD $0x3e3e3e3e3e3e3e3e; QUAD $0x3e3e3e3e3e3e3e3e // .space 16, '>>>>>>>>>>>>>>>>' + //0x000000c0 .p2align 4, 0x90 + //0x000000c0 _html_escape + 0x55, //0x000000c0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000000c1 movq %rsp, %rbp + 0x41, 0x57, //0x000000c4 pushq %r15 + 0x41, 0x56, //0x000000c6 pushq %r14 + 0x41, 0x55, //0x000000c8 pushq %r13 + 0x41, 0x54, //0x000000ca pushq %r12 + 0x53, //0x000000cc pushq %rbx + 0x48, 0x83, 0xec, 0x18, //0x000000cd subq $24, %rsp + 0x48, 0x89, 0x4d, 0xc0, //0x000000d1 movq %rcx, $-64(%rbp) + 0x49, 0x89, 0xd7, //0x000000d5 movq %rdx, %r15 + 0x48, 0x89, 0x55, 0xc8, //0x000000d8 movq %rdx, $-56(%rbp) + 0x48, 0x89, 0x7d, 0xd0, //0x000000dc movq %rdi, $-48(%rbp) + 0x48, 0x89, 0xf8, //0x000000e0 movq %rdi, %rax + 0x48, 0x85, 0xf6, //0x000000e3 testq %rsi, %rsi + 0x0f, 0x8e, 0xa8, 0x07, 0x00, 0x00, //0x000000e6 jle LBB0_94 + 0x49, 0x89, 0xf2, //0x000000ec movq %rsi, %r10 + 0x48, 0x8b, 0x45, 0xc0, //0x000000ef movq $-64(%rbp), %rax + 0x4c, 0x8b, 0x08, //0x000000f3 movq (%rax), %r9 + 0xc5, 0xfe, 0x6f, 0x1d, 0x02, 0xff, 0xff, 0xff, //0x000000f6 vmovdqu $-254(%rip), %ymm3 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x25, 0x1a, 0xff, 0xff, 0xff, //0x000000fe vmovdqu $-230(%rip), %ymm4 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x32, 0xff, 0xff, 0xff, //0x00000106 vmovdqu $-206(%rip), %ymm5 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x4a, 0xff, 0xff, 0xff, //0x0000010e vmovdqu $-182(%rip), %ymm6 /* LCPI0_3+0(%rip) */ + 0x4c, 0x8d, 0x35, 0xb3, 0x07, 0x00, 0x00, //0x00000116 leaq $1971(%rip), %r14 /* __HtmlQuoteTab+0(%rip) */ + 0x48, 0xbf, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, //0x0000011d movabsq $12884901889, %rdi + 0x4c, 0x8b, 0x65, 0xd0, //0x00000127 movq $-48(%rbp), %r12 + 0x4c, 0x8b, 0x7d, 0xc8, //0x0000012b movq $-56(%rbp), %r15 + 0x90, //0x0000012f .p2align 4, 0x90 + //0x00000130 LBB0_2 + 0x4d, 0x85, 0xc9, //0x00000130 testq %r9, %r9 + 0x0f, 0x8e, 0x7a, 0x07, 0x00, 0x00, //0x00000133 jle LBB0_96 + 0x49, 0x83, 0xfa, 0x1f, //0x00000139 cmpq $31, %r10 + 0x0f, 0x9f, 0xc3, //0x0000013d setg %bl + 0x4c, 0x89, 0xc8, //0x00000140 movq %r9, %rax + 0x4d, 0x89, 0xf8, //0x00000143 movq %r15, %r8 + 0x4c, 0x89, 0xd6, //0x00000146 movq %r10, %rsi + 0x4d, 0x89, 0xe5, //0x00000149 movq %r12, %r13 + 0x49, 0x83, 0xf9, 0x20, //0x0000014c cmpq $32, %r9 + 0x0f, 0x8c, 0x7a, 0x00, 0x00, 0x00, //0x00000150 jl LBB0_9 + 0x49, 0x83, 0xfa, 0x20, //0x00000156 cmpq $32, %r10 + 0x0f, 0x8c, 0x70, 0x00, 0x00, 0x00, //0x0000015a jl LBB0_9 + 0x4d, 0x89, 0xe5, //0x00000160 movq %r12, %r13 + 0x4c, 0x89, 0xd6, //0x00000163 movq %r10, %rsi + 0x4d, 0x89, 0xf8, //0x00000166 movq %r15, %r8 + 0x4c, 0x89, 0xca, //0x00000169 movq %r9, %rdx + 0x90, 0x90, 0x90, 0x90, //0x0000016c .p2align 4, 0x90 + //0x00000170 LBB0_6 + 0xc4, 0xc1, 0x7e, 0x6f, 0x45, 0x00, //0x00000170 vmovdqu (%r13), %ymm0 + 0xc5, 0xfd, 0x74, 0xcb, //0x00000176 vpcmpeqb %ymm3, %ymm0, %ymm1 + 0xc5, 0xfd, 0x74, 0xd4, //0x0000017a vpcmpeqb %ymm4, %ymm0, %ymm2 + 0xc5, 0xed, 0xeb, 0xc9, //0x0000017e vpor %ymm1, %ymm2, %ymm1 + 0xc5, 0xfd, 0xeb, 0xd5, //0x00000182 vpor %ymm5, %ymm0, %ymm2 + 0xc5, 0xed, 0x74, 0xd6, //0x00000186 vpcmpeqb %ymm6, %ymm2, %ymm2 + 0xc5, 0xf5, 0xeb, 0xca, //0x0000018a vpor %ymm2, %ymm1, %ymm1 + 0xc4, 0xc1, 0x7e, 0x7f, 0x00, //0x0000018e vmovdqu %ymm0, (%r8) + 0xc5, 0xfd, 0xd7, 0xc1, //0x00000193 vpmovmskb %ymm1, %eax + 0x85, 0xc0, //0x00000197 testl %eax, %eax + 0x0f, 0x85, 0x01, 0x02, 0x00, 0x00, //0x00000199 jne LBB0_19 + 0x49, 0x83, 0xc5, 0x20, //0x0000019f addq $32, %r13 + 0x49, 0x83, 0xc0, 0x20, //0x000001a3 addq $32, %r8 + 0x48, 0x8d, 0x42, 0xe0, //0x000001a7 leaq $-32(%rdx), %rax + 0x48, 0x83, 0xfe, 0x3f, //0x000001ab cmpq $63, %rsi + 0x0f, 0x9f, 0xc3, //0x000001af setg %bl + 0x48, 0x83, 0xfe, 0x40, //0x000001b2 cmpq $64, %rsi + 0x48, 0x8d, 0x76, 0xe0, //0x000001b6 leaq $-32(%rsi), %rsi + 0x0f, 0x8c, 0x10, 0x00, 0x00, 0x00, //0x000001ba jl LBB0_9 + 0x48, 0x83, 0xfa, 0x3f, //0x000001c0 cmpq $63, %rdx + 0x48, 0x89, 0xc2, //0x000001c4 movq %rax, %rdx + 0x0f, 0x8f, 0xa3, 0xff, 0xff, 0xff, //0x000001c7 jg LBB0_6 + 0x90, 0x90, 0x90, //0x000001cd .p2align 4, 0x90 + //0x000001d0 LBB0_9 + 0x84, 0xdb, //0x000001d0 testb %bl, %bl + 0x0f, 0x84, 0x88, 0x00, 0x00, 0x00, //0x000001d2 je LBB0_13 + 0xc4, 0xc1, 0x7e, 0x6f, 0x45, 0x00, //0x000001d8 vmovdqu (%r13), %ymm0 + 0xc5, 0xfd, 0x74, 0xcb, //0x000001de vpcmpeqb %ymm3, %ymm0, %ymm1 + 0xc5, 0xfd, 0x74, 0xd4, //0x000001e2 vpcmpeqb %ymm4, %ymm0, %ymm2 + 0xc5, 0xed, 0xeb, 0xc9, //0x000001e6 vpor %ymm1, %ymm2, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc5, //0x000001ea vpor %ymm5, %ymm0, %ymm0 + 0xc5, 0xfd, 0x74, 0xc6, //0x000001ee vpcmpeqb %ymm6, %ymm0, %ymm0 + 0xc5, 0xf5, 0xeb, 0xc0, //0x000001f2 vpor %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc8, //0x000001f6 vpmovmskb %ymm0, %ecx + 0x48, 0xba, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000001fa movabsq $4294967296, %rdx + 0x48, 0x09, 0xd1, //0x00000204 orq %rdx, %rcx + 0x4c, 0x0f, 0xbc, 0xd9, //0x00000207 bsfq %rcx, %r11 + 0xc4, 0xc1, 0x7a, 0x6f, 0x45, 0x00, //0x0000020b vmovdqu (%r13), %xmm0 + 0xc4, 0xe3, 0xf9, 0x16, 0xc1, 0x01, //0x00000211 vpextrq $1, %xmm0, %rcx + 0xc4, 0xe1, 0xf9, 0x7e, 0xc2, //0x00000217 vmovq %xmm0, %rdx + 0x49, 0x39, 0xc3, //0x0000021c cmpq %rax, %r11 + 0x0f, 0x8e, 0x92, 0x01, 0x00, 0x00, //0x0000021f jle LBB0_20 + 0x48, 0x83, 0xf8, 0x10, //0x00000225 cmpq $16, %rax + 0x0f, 0x82, 0xd1, 0x01, 0x00, 0x00, //0x00000229 jb LBB0_23 + 0x49, 0x89, 0x10, //0x0000022f movq %rdx, (%r8) + 0x49, 0x89, 0x48, 0x08, //0x00000232 movq %rcx, $8(%r8) + 0x4d, 0x8d, 0x5d, 0x10, //0x00000236 leaq $16(%r13), %r11 + 0x49, 0x83, 0xc0, 0x10, //0x0000023a addq $16, %r8 + 0x48, 0x8d, 0x70, 0xf0, //0x0000023e leaq $-16(%rax), %rsi + 0x48, 0x83, 0xfe, 0x08, //0x00000242 cmpq $8, %rsi + 0x0f, 0x83, 0xc4, 0x01, 0x00, 0x00, //0x00000246 jae LBB0_24 + 0xe9, 0xd1, 0x01, 0x00, 0x00, //0x0000024c jmp LBB0_25 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000251 .p2align 4, 0x90 + //0x00000260 LBB0_13 + 0x4c, 0x89, 0xf2, //0x00000260 movq %r14, %rdx + 0xc5, 0xf8, 0x77, //0x00000263 vzeroupper + 0x48, 0x83, 0xfe, 0x0f, //0x00000266 cmpq $15, %rsi + 0x41, 0x0f, 0x9f, 0xc6, //0x0000026a setg %r14b + 0x48, 0x83, 0xf8, 0x10, //0x0000026e cmpq $16, %rax + 0x0f, 0x8c, 0x22, 0x02, 0x00, 0x00, //0x00000272 jl LBB0_30 + 0x48, 0x83, 0xfe, 0x10, //0x00000278 cmpq $16, %rsi + 0xc5, 0xfa, 0x6f, 0x3d, 0xfc, 0xfd, 0xff, 0xff, //0x0000027c vmovdqu $-516(%rip), %xmm7 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x05, 0x04, 0xfe, 0xff, 0xff, //0x00000284 vmovdqu $-508(%rip), %xmm8 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0x0c, 0xfe, 0xff, 0xff, //0x0000028c vmovdqu $-500(%rip), %xmm9 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0x14, 0xfe, 0xff, 0xff, //0x00000294 vmovdqu $-492(%rip), %xmm10 /* LCPI0_7+0(%rip) */ + 0x0f, 0x8c, 0x49, 0x02, 0x00, 0x00, //0x0000029c jl LBB0_35 + 0xc5, 0xfe, 0x6f, 0x1d, 0x56, 0xfd, 0xff, 0xff, //0x000002a2 vmovdqu $-682(%rip), %ymm3 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x25, 0x6e, 0xfd, 0xff, 0xff, //0x000002aa vmovdqu $-658(%rip), %ymm4 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x86, 0xfd, 0xff, 0xff, //0x000002b2 vmovdqu $-634(%rip), %ymm5 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x9e, 0xfd, 0xff, 0xff, //0x000002ba vmovdqu $-610(%rip), %ymm6 /* LCPI0_3+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002c2 .p2align 4, 0x90 + //0x000002d0 LBB0_16 + 0xc4, 0xc1, 0x7a, 0x6f, 0x45, 0x00, //0x000002d0 vmovdqu (%r13), %xmm0 + 0xc5, 0xf9, 0x74, 0xcf, //0x000002d6 vpcmpeqb %xmm7, %xmm0, %xmm1 + 0xc5, 0xb9, 0x74, 0xd0, //0x000002da vpcmpeqb %xmm0, %xmm8, %xmm2 + 0xc5, 0xe9, 0xeb, 0xc9, //0x000002de vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xb1, 0xeb, 0xd0, //0x000002e2 vpor %xmm0, %xmm9, %xmm2 + 0xc5, 0xa9, 0x74, 0xd2, //0x000002e6 vpcmpeqb %xmm2, %xmm10, %xmm2 + 0xc5, 0xf1, 0xeb, 0xca, //0x000002ea vpor %xmm2, %xmm1, %xmm1 + 0xc4, 0xc1, 0x7a, 0x7f, 0x00, //0x000002ee vmovdqu %xmm0, (%r8) + 0xc5, 0xf9, 0xd7, 0xc9, //0x000002f3 vpmovmskb %xmm1, %ecx + 0x66, 0x85, 0xc9, //0x000002f7 testw %cx, %cx + 0x0f, 0x85, 0xe3, 0x00, 0x00, 0x00, //0x000002fa jne LBB0_22 + 0x49, 0x83, 0xc5, 0x10, //0x00000300 addq $16, %r13 + 0x49, 0x83, 0xc0, 0x10, //0x00000304 addq $16, %r8 + 0x4c, 0x8d, 0x58, 0xf0, //0x00000308 leaq $-16(%rax), %r11 + 0x48, 0x83, 0xfe, 0x1f, //0x0000030c cmpq $31, %rsi + 0x41, 0x0f, 0x9f, 0xc6, //0x00000310 setg %r14b + 0x48, 0x83, 0xfe, 0x20, //0x00000314 cmpq $32, %rsi + 0x48, 0x8d, 0x76, 0xf0, //0x00000318 leaq $-16(%rsi), %rsi + 0x0f, 0x8c, 0x0e, 0x00, 0x00, 0x00, //0x0000031c jl LBB0_31 + 0x48, 0x83, 0xf8, 0x1f, //0x00000322 cmpq $31, %rax + 0x4c, 0x89, 0xd8, //0x00000326 movq %r11, %rax + 0x0f, 0x8f, 0xa1, 0xff, 0xff, 0xff, //0x00000329 jg LBB0_16 + 0x90, //0x0000032f .p2align 4, 0x90 + //0x00000330 LBB0_31 + 0x45, 0x84, 0xf6, //0x00000330 testb %r14b, %r14b + 0x0f, 0x84, 0xde, 0x01, 0x00, 0x00, //0x00000333 je LBB0_36 + //0x00000339 LBB0_32 + 0xc4, 0xc1, 0x7a, 0x6f, 0x45, 0x00, //0x00000339 vmovdqu (%r13), %xmm0 + 0xc5, 0xf9, 0x74, 0xcf, //0x0000033f vpcmpeqb %xmm7, %xmm0, %xmm1 + 0xc5, 0xb9, 0x74, 0xd0, //0x00000343 vpcmpeqb %xmm0, %xmm8, %xmm2 + 0xc5, 0xe9, 0xeb, 0xc9, //0x00000347 vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xb1, 0xeb, 0xd0, //0x0000034b vpor %xmm0, %xmm9, %xmm2 + 0xc5, 0xa9, 0x74, 0xd2, //0x0000034f vpcmpeqb %xmm2, %xmm10, %xmm2 + 0xc5, 0xf1, 0xeb, 0xca, //0x00000353 vpor %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0xd7, 0xc1, //0x00000357 vpmovmskb %xmm1, %eax + 0x0d, 0x00, 0x00, 0x01, 0x00, //0x0000035b orl $65536, %eax + 0x44, 0x0f, 0xbc, 0xf0, //0x00000360 bsfl %eax, %r14d + 0xc4, 0xe1, 0xf9, 0x7e, 0xc0, //0x00000364 vmovq %xmm0, %rax + 0x4d, 0x39, 0xf3, //0x00000369 cmpq %r14, %r11 + 0x0f, 0x8d, 0xaa, 0x02, 0x00, 0x00, //0x0000036c jge LBB0_55 + 0x49, 0x83, 0xfb, 0x08, //0x00000372 cmpq $8, %r11 + 0x0f, 0x82, 0xdc, 0x02, 0x00, 0x00, //0x00000376 jb LBB0_58 + 0x49, 0x89, 0x00, //0x0000037c movq %rax, (%r8) + 0x49, 0x8d, 0x45, 0x08, //0x0000037f leaq $8(%r13), %rax + 0x49, 0x83, 0xc0, 0x08, //0x00000383 addq $8, %r8 + 0x49, 0x8d, 0x73, 0xf8, //0x00000387 leaq $-8(%r11), %rsi + 0x49, 0x89, 0xd6, //0x0000038b movq %rdx, %r14 + 0x48, 0x83, 0xfe, 0x04, //0x0000038e cmpq $4, %rsi + 0x0f, 0x8d, 0xd3, 0x02, 0x00, 0x00, //0x00000392 jge LBB0_59 + 0xe9, 0xdf, 0x02, 0x00, 0x00, //0x00000398 jmp LBB0_60 + 0x90, 0x90, 0x90, //0x0000039d .p2align 4, 0x90 + //0x000003a0 LBB0_19 + 0x4d, 0x29, 0xe5, //0x000003a0 subq %r12, %r13 + 0x0f, 0xbc, 0xc0, //0x000003a3 bsfl %eax, %eax + 0x4c, 0x01, 0xe8, //0x000003a6 addq %r13, %rax + 0x48, 0x85, 0xc0, //0x000003a9 testq %rax, %rax + 0x0f, 0x89, 0xae, 0x03, 0x00, 0x00, //0x000003ac jns LBB0_72 + 0xe9, 0xba, 0x04, 0x00, 0x00, //0x000003b2 jmp LBB0_92 + //0x000003b7 LBB0_20 + 0x41, 0x83, 0xfb, 0x10, //0x000003b7 cmpl $16, %r11d + 0x0f, 0x82, 0xc4, 0x01, 0x00, 0x00, //0x000003bb jb LBB0_43 + 0x49, 0x89, 0x10, //0x000003c1 movq %rdx, (%r8) + 0x49, 0x89, 0x48, 0x08, //0x000003c4 movq %rcx, $8(%r8) + 0x49, 0x8d, 0x45, 0x10, //0x000003c8 leaq $16(%r13), %rax + 0x49, 0x83, 0xc0, 0x10, //0x000003cc addq $16, %r8 + 0x49, 0x8d, 0x73, 0xf0, //0x000003d0 leaq $-16(%r11), %rsi + 0x48, 0x83, 0xfe, 0x08, //0x000003d4 cmpq $8, %rsi + 0x0f, 0x83, 0xb7, 0x01, 0x00, 0x00, //0x000003d8 jae LBB0_44 + 0xe9, 0xc4, 0x01, 0x00, 0x00, //0x000003de jmp LBB0_45 + //0x000003e3 LBB0_22 + 0x0f, 0xb7, 0xc1, //0x000003e3 movzwl %cx, %eax + 0x4d, 0x29, 0xe5, //0x000003e6 subq %r12, %r13 + 0x0f, 0xbc, 0xc0, //0x000003e9 bsfl %eax, %eax + 0x4c, 0x01, 0xe8, //0x000003ec addq %r13, %rax + 0x49, 0x89, 0xd6, //0x000003ef movq %rdx, %r14 + 0x48, 0x85, 0xc0, //0x000003f2 testq %rax, %rax + 0x0f, 0x89, 0x65, 0x03, 0x00, 0x00, //0x000003f5 jns LBB0_72 + 0xe9, 0x71, 0x04, 0x00, 0x00, //0x000003fb jmp LBB0_92 + //0x00000400 LBB0_23 + 0x4d, 0x89, 0xeb, //0x00000400 movq %r13, %r11 + 0x48, 0x89, 0xc6, //0x00000403 movq %rax, %rsi + 0x48, 0x83, 0xfe, 0x08, //0x00000406 cmpq $8, %rsi + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x0000040a jb LBB0_25 + //0x00000410 LBB0_24 + 0x49, 0x8b, 0x0b, //0x00000410 movq (%r11), %rcx + 0x49, 0x89, 0x08, //0x00000413 movq %rcx, (%r8) + 0x49, 0x83, 0xc3, 0x08, //0x00000416 addq $8, %r11 + 0x49, 0x83, 0xc0, 0x08, //0x0000041a addq $8, %r8 + 0x48, 0x83, 0xc6, 0xf8, //0x0000041e addq $-8, %rsi + //0x00000422 LBB0_25 + 0x48, 0x83, 0xfe, 0x04, //0x00000422 cmpq $4, %rsi + 0x0f, 0x8c, 0x42, 0x00, 0x00, 0x00, //0x00000426 jl LBB0_26 + 0x41, 0x8b, 0x0b, //0x0000042c movl (%r11), %ecx + 0x41, 0x89, 0x08, //0x0000042f movl %ecx, (%r8) + 0x49, 0x83, 0xc3, 0x04, //0x00000432 addq $4, %r11 + 0x49, 0x83, 0xc0, 0x04, //0x00000436 addq $4, %r8 + 0x48, 0x83, 0xc6, 0xfc, //0x0000043a addq $-4, %rsi + 0x48, 0x83, 0xfe, 0x02, //0x0000043e cmpq $2, %rsi + 0x0f, 0x83, 0x30, 0x00, 0x00, 0x00, //0x00000442 jae LBB0_52 + //0x00000448 LBB0_27 + 0x48, 0x85, 0xf6, //0x00000448 testq %rsi, %rsi + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x0000044b je LBB0_29 + //0x00000451 LBB0_28 + 0x41, 0x8a, 0x0b, //0x00000451 movb (%r11), %cl + 0x41, 0x88, 0x08, //0x00000454 movb %cl, (%r8) + //0x00000457 LBB0_29 + 0x4c, 0x29, 0xe0, //0x00000457 subq %r12, %rax + 0x4c, 0x01, 0xe8, //0x0000045a addq %r13, %rax + 0x48, 0xf7, 0xd0, //0x0000045d notq %rax + 0x48, 0x85, 0xc0, //0x00000460 testq %rax, %rax + 0x0f, 0x89, 0xf7, 0x02, 0x00, 0x00, //0x00000463 jns LBB0_72 + 0xe9, 0x03, 0x04, 0x00, 0x00, //0x00000469 jmp LBB0_92 + //0x0000046e LBB0_26 + 0x48, 0x83, 0xfe, 0x02, //0x0000046e cmpq $2, %rsi + 0x0f, 0x82, 0xd0, 0xff, 0xff, 0xff, //0x00000472 jb LBB0_27 + //0x00000478 LBB0_52 + 0x41, 0x0f, 0xb7, 0x0b, //0x00000478 movzwl (%r11), %ecx + 0x66, 0x41, 0x89, 0x08, //0x0000047c movw %cx, (%r8) + 0x49, 0x83, 0xc3, 0x02, //0x00000480 addq $2, %r11 + 0x49, 0x83, 0xc0, 0x02, //0x00000484 addq $2, %r8 + 0x48, 0x83, 0xc6, 0xfe, //0x00000488 addq $-2, %rsi + 0x48, 0x85, 0xf6, //0x0000048c testq %rsi, %rsi + 0x0f, 0x85, 0xbc, 0xff, 0xff, 0xff, //0x0000048f jne LBB0_28 + 0xe9, 0xbd, 0xff, 0xff, 0xff, //0x00000495 jmp LBB0_29 + //0x0000049a LBB0_30 + 0x49, 0x89, 0xc3, //0x0000049a movq %rax, %r11 + 0xc5, 0xfe, 0x6f, 0x1d, 0x5b, 0xfb, 0xff, 0xff, //0x0000049d vmovdqu $-1189(%rip), %ymm3 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x25, 0x73, 0xfb, 0xff, 0xff, //0x000004a5 vmovdqu $-1165(%rip), %ymm4 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x8b, 0xfb, 0xff, 0xff, //0x000004ad vmovdqu $-1141(%rip), %ymm5 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xa3, 0xfb, 0xff, 0xff, //0x000004b5 vmovdqu $-1117(%rip), %ymm6 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x3d, 0xbb, 0xfb, 0xff, 0xff, //0x000004bd vmovdqu $-1093(%rip), %xmm7 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x05, 0xc3, 0xfb, 0xff, 0xff, //0x000004c5 vmovdqu $-1085(%rip), %xmm8 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0xcb, 0xfb, 0xff, 0xff, //0x000004cd vmovdqu $-1077(%rip), %xmm9 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0xd3, 0xfb, 0xff, 0xff, //0x000004d5 vmovdqu $-1069(%rip), %xmm10 /* LCPI0_7+0(%rip) */ + 0x45, 0x84, 0xf6, //0x000004dd testb %r14b, %r14b + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x000004e0 je LBB0_36 + 0xe9, 0x4e, 0xfe, 0xff, 0xff, //0x000004e6 jmp LBB0_32 + //0x000004eb LBB0_35 + 0x49, 0x89, 0xc3, //0x000004eb movq %rax, %r11 + 0xc5, 0xfe, 0x6f, 0x1d, 0x0a, 0xfb, 0xff, 0xff, //0x000004ee vmovdqu $-1270(%rip), %ymm3 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x25, 0x22, 0xfb, 0xff, 0xff, //0x000004f6 vmovdqu $-1246(%rip), %ymm4 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x3a, 0xfb, 0xff, 0xff, //0x000004fe vmovdqu $-1222(%rip), %ymm5 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x52, 0xfb, 0xff, 0xff, //0x00000506 vmovdqu $-1198(%rip), %ymm6 /* LCPI0_3+0(%rip) */ + 0x45, 0x84, 0xf6, //0x0000050e testb %r14b, %r14b + 0x0f, 0x85, 0x22, 0xfe, 0xff, 0xff, //0x00000511 jne LBB0_32 + //0x00000517 LBB0_36 + 0x4d, 0x85, 0xdb, //0x00000517 testq %r11, %r11 + 0x0f, 0x8e, 0xaf, 0x01, 0x00, 0x00, //0x0000051a jle LBB0_64 + 0x48, 0x85, 0xf6, //0x00000520 testq %rsi, %rsi + 0x49, 0x89, 0xd6, //0x00000523 movq %rdx, %r14 + 0x0f, 0x8e, 0xa6, 0x01, 0x00, 0x00, //0x00000526 jle LBB0_65 + 0x90, 0x90, 0x90, 0x90, //0x0000052c .p2align 4, 0x90 + //0x00000530 LBB0_38 + 0x41, 0x0f, 0xb6, 0x45, 0x00, //0x00000530 movzbl (%r13), %eax + 0x48, 0x83, 0xf8, 0x3e, //0x00000535 cmpq $62, %rax + 0x0f, 0x87, 0x14, 0x00, 0x00, 0x00, //0x00000539 ja LBB0_40 + 0x48, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x50, //0x0000053f movabsq $5764607797912141824, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00000549 btq %rax, %rcx + 0x0f, 0x82, 0xf1, 0x00, 0x00, 0x00, //0x0000054d jb LBB0_57 + //0x00000553 LBB0_40 + 0x3c, 0xe2, //0x00000553 cmpb $-30, %al + 0x0f, 0x84, 0xe9, 0x00, 0x00, 0x00, //0x00000555 je LBB0_57 + 0x49, 0xff, 0xc5, //0x0000055b incq %r13 + 0x41, 0x88, 0x00, //0x0000055e movb %al, (%r8) + 0x48, 0x83, 0xfe, 0x02, //0x00000561 cmpq $2, %rsi + 0x48, 0x8d, 0x76, 0xff, //0x00000565 leaq $-1(%rsi), %rsi + 0x0f, 0x8c, 0x63, 0x01, 0x00, 0x00, //0x00000569 jl LBB0_65 + 0x49, 0xff, 0xc0, //0x0000056f incq %r8 + 0x49, 0x83, 0xfb, 0x01, //0x00000572 cmpq $1, %r11 + 0x4d, 0x8d, 0x5b, 0xff, //0x00000576 leaq $-1(%r11), %r11 + 0x0f, 0x8f, 0xb0, 0xff, 0xff, 0xff, //0x0000057a jg LBB0_38 + 0xe9, 0x4d, 0x01, 0x00, 0x00, //0x00000580 jmp LBB0_65 + //0x00000585 LBB0_43 + 0x4c, 0x89, 0xe8, //0x00000585 movq %r13, %rax + 0x4c, 0x89, 0xde, //0x00000588 movq %r11, %rsi + 0x48, 0x83, 0xfe, 0x08, //0x0000058b cmpq $8, %rsi + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x0000058f jb LBB0_45 + //0x00000595 LBB0_44 + 0x48, 0x8b, 0x08, //0x00000595 movq (%rax), %rcx + 0x49, 0x89, 0x08, //0x00000598 movq %rcx, (%r8) + 0x48, 0x83, 0xc0, 0x08, //0x0000059b addq $8, %rax + 0x49, 0x83, 0xc0, 0x08, //0x0000059f addq $8, %r8 + 0x48, 0x83, 0xc6, 0xf8, //0x000005a3 addq $-8, %rsi + //0x000005a7 LBB0_45 + 0x48, 0x83, 0xfe, 0x04, //0x000005a7 cmpq $4, %rsi + 0x0f, 0x8c, 0x40, 0x00, 0x00, 0x00, //0x000005ab jl LBB0_46 + 0x8b, 0x08, //0x000005b1 movl (%rax), %ecx + 0x41, 0x89, 0x08, //0x000005b3 movl %ecx, (%r8) + 0x48, 0x83, 0xc0, 0x04, //0x000005b6 addq $4, %rax + 0x49, 0x83, 0xc0, 0x04, //0x000005ba addq $4, %r8 + 0x48, 0x83, 0xc6, 0xfc, //0x000005be addq $-4, %rsi + 0x48, 0x83, 0xfe, 0x02, //0x000005c2 cmpq $2, %rsi + 0x0f, 0x83, 0x2f, 0x00, 0x00, 0x00, //0x000005c6 jae LBB0_54 + //0x000005cc LBB0_47 + 0x48, 0x85, 0xf6, //0x000005cc testq %rsi, %rsi + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x000005cf je LBB0_49 + //0x000005d5 LBB0_48 + 0x8a, 0x00, //0x000005d5 movb (%rax), %al + 0x41, 0x88, 0x00, //0x000005d7 movb %al, (%r8) + //0x000005da LBB0_49 + 0x4d, 0x29, 0xe5, //0x000005da subq %r12, %r13 + 0x4d, 0x01, 0xdd, //0x000005dd addq %r11, %r13 + 0x4c, 0x89, 0xe8, //0x000005e0 movq %r13, %rax + 0x48, 0x85, 0xc0, //0x000005e3 testq %rax, %rax + 0x0f, 0x89, 0x74, 0x01, 0x00, 0x00, //0x000005e6 jns LBB0_72 + 0xe9, 0x80, 0x02, 0x00, 0x00, //0x000005ec jmp LBB0_92 + //0x000005f1 LBB0_46 + 0x48, 0x83, 0xfe, 0x02, //0x000005f1 cmpq $2, %rsi + 0x0f, 0x82, 0xd1, 0xff, 0xff, 0xff, //0x000005f5 jb LBB0_47 + //0x000005fb LBB0_54 + 0x0f, 0xb7, 0x08, //0x000005fb movzwl (%rax), %ecx + 0x66, 0x41, 0x89, 0x08, //0x000005fe movw %cx, (%r8) + 0x48, 0x83, 0xc0, 0x02, //0x00000602 addq $2, %rax + 0x49, 0x83, 0xc0, 0x02, //0x00000606 addq $2, %r8 + 0x48, 0x83, 0xc6, 0xfe, //0x0000060a addq $-2, %rsi + 0x48, 0x85, 0xf6, //0x0000060e testq %rsi, %rsi + 0x0f, 0x85, 0xbe, 0xff, 0xff, 0xff, //0x00000611 jne LBB0_48 + 0xe9, 0xbe, 0xff, 0xff, 0xff, //0x00000617 jmp LBB0_49 + //0x0000061c LBB0_55 + 0x41, 0x83, 0xfe, 0x08, //0x0000061c cmpl $8, %r14d + 0x0f, 0x82, 0xc6, 0x00, 0x00, 0x00, //0x00000620 jb LBB0_66 + 0x49, 0x89, 0x00, //0x00000626 movq %rax, (%r8) + 0x49, 0x8d, 0x75, 0x08, //0x00000629 leaq $8(%r13), %rsi + 0x49, 0x83, 0xc0, 0x08, //0x0000062d addq $8, %r8 + 0x49, 0x8d, 0x46, 0xf8, //0x00000631 leaq $-8(%r14), %rax + 0x48, 0x83, 0xf8, 0x04, //0x00000635 cmpq $4, %rax + 0x0f, 0x8d, 0xbd, 0x00, 0x00, 0x00, //0x00000639 jge LBB0_67 + 0xe9, 0xc9, 0x00, 0x00, 0x00, //0x0000063f jmp LBB0_68 + //0x00000644 LBB0_57 + 0x4d, 0x29, 0xe5, //0x00000644 subq %r12, %r13 + 0x4c, 0x89, 0xe8, //0x00000647 movq %r13, %rax + 0x48, 0x85, 0xc0, //0x0000064a testq %rax, %rax + 0x0f, 0x89, 0x0d, 0x01, 0x00, 0x00, //0x0000064d jns LBB0_72 + 0xe9, 0x19, 0x02, 0x00, 0x00, //0x00000653 jmp LBB0_92 + //0x00000658 LBB0_58 + 0x4c, 0x89, 0xe8, //0x00000658 movq %r13, %rax + 0x4c, 0x89, 0xde, //0x0000065b movq %r11, %rsi + 0x49, 0x89, 0xd6, //0x0000065e movq %rdx, %r14 + 0x48, 0x83, 0xfe, 0x04, //0x00000661 cmpq $4, %rsi + 0x0f, 0x8c, 0x11, 0x00, 0x00, 0x00, //0x00000665 jl LBB0_60 + //0x0000066b LBB0_59 + 0x8b, 0x08, //0x0000066b movl (%rax), %ecx + 0x41, 0x89, 0x08, //0x0000066d movl %ecx, (%r8) + 0x48, 0x83, 0xc0, 0x04, //0x00000670 addq $4, %rax + 0x49, 0x83, 0xc0, 0x04, //0x00000674 addq $4, %r8 + 0x48, 0x83, 0xc6, 0xfc, //0x00000678 addq $-4, %rsi + //0x0000067c LBB0_60 + 0x48, 0x83, 0xfe, 0x02, //0x0000067c cmpq $2, %rsi + 0x0f, 0x82, 0x21, 0x00, 0x00, 0x00, //0x00000680 jb LBB0_61 + 0x0f, 0xb7, 0x08, //0x00000686 movzwl (%rax), %ecx + 0x66, 0x41, 0x89, 0x08, //0x00000689 movw %cx, (%r8) + 0x48, 0x83, 0xc0, 0x02, //0x0000068d addq $2, %rax + 0x49, 0x83, 0xc0, 0x02, //0x00000691 addq $2, %r8 + 0x48, 0x83, 0xc6, 0xfe, //0x00000695 addq $-2, %rsi + 0x48, 0x85, 0xf6, //0x00000699 testq %rsi, %rsi + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000069c jne LBB0_62 + 0xe9, 0x0e, 0x00, 0x00, 0x00, //0x000006a2 jmp LBB0_63 + //0x000006a7 LBB0_61 + 0x48, 0x85, 0xf6, //0x000006a7 testq %rsi, %rsi + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x000006aa je LBB0_63 + //0x000006b0 LBB0_62 + 0x8a, 0x00, //0x000006b0 movb (%rax), %al + 0x41, 0x88, 0x00, //0x000006b2 movb %al, (%r8) + //0x000006b5 LBB0_63 + 0x4d, 0x29, 0xe3, //0x000006b5 subq %r12, %r11 + 0x4d, 0x01, 0xeb, //0x000006b8 addq %r13, %r11 + 0x49, 0xf7, 0xd3, //0x000006bb notq %r11 + 0x4c, 0x89, 0xd8, //0x000006be movq %r11, %rax + 0x48, 0x85, 0xc0, //0x000006c1 testq %rax, %rax + 0x0f, 0x89, 0x96, 0x00, 0x00, 0x00, //0x000006c4 jns LBB0_72 + 0xe9, 0xa2, 0x01, 0x00, 0x00, //0x000006ca jmp LBB0_92 + //0x000006cf LBB0_64 + 0x49, 0x89, 0xd6, //0x000006cf movq %rdx, %r14 + //0x000006d2 LBB0_65 + 0x4d, 0x29, 0xe5, //0x000006d2 subq %r12, %r13 + 0x48, 0xf7, 0xde, //0x000006d5 negq %rsi + 0x48, 0x19, 0xc0, //0x000006d8 sbbq %rax, %rax + 0x4c, 0x31, 0xe8, //0x000006db xorq %r13, %rax + 0x48, 0x85, 0xc0, //0x000006de testq %rax, %rax + 0x0f, 0x89, 0x79, 0x00, 0x00, 0x00, //0x000006e1 jns LBB0_72 + 0xe9, 0x85, 0x01, 0x00, 0x00, //0x000006e7 jmp LBB0_92 + //0x000006ec LBB0_66 + 0x4c, 0x89, 0xee, //0x000006ec movq %r13, %rsi + 0x4c, 0x89, 0xf0, //0x000006ef movq %r14, %rax + 0x48, 0x83, 0xf8, 0x04, //0x000006f2 cmpq $4, %rax + 0x0f, 0x8c, 0x11, 0x00, 0x00, 0x00, //0x000006f6 jl LBB0_68 + //0x000006fc LBB0_67 + 0x8b, 0x0e, //0x000006fc movl (%rsi), %ecx + 0x41, 0x89, 0x08, //0x000006fe movl %ecx, (%r8) + 0x48, 0x83, 0xc6, 0x04, //0x00000701 addq $4, %rsi + 0x49, 0x83, 0xc0, 0x04, //0x00000705 addq $4, %r8 + 0x48, 0x83, 0xc0, 0xfc, //0x00000709 addq $-4, %rax + //0x0000070d LBB0_68 + 0x48, 0x83, 0xf8, 0x02, //0x0000070d cmpq $2, %rax + 0x0f, 0x82, 0x21, 0x00, 0x00, 0x00, //0x00000711 jb LBB0_69 + 0x0f, 0xb7, 0x0e, //0x00000717 movzwl (%rsi), %ecx + 0x66, 0x41, 0x89, 0x08, //0x0000071a movw %cx, (%r8) + 0x48, 0x83, 0xc6, 0x02, //0x0000071e addq $2, %rsi + 0x49, 0x83, 0xc0, 0x02, //0x00000722 addq $2, %r8 + 0x48, 0x83, 0xc0, 0xfe, //0x00000726 addq $-2, %rax + 0x48, 0x85, 0xc0, //0x0000072a testq %rax, %rax + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000072d jne LBB0_70 + 0xe9, 0x0e, 0x00, 0x00, 0x00, //0x00000733 jmp LBB0_71 + //0x00000738 LBB0_69 + 0x48, 0x85, 0xc0, //0x00000738 testq %rax, %rax + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x0000073b je LBB0_71 + //0x00000741 LBB0_70 + 0x8a, 0x06, //0x00000741 movb (%rsi), %al + 0x41, 0x88, 0x00, //0x00000743 movb %al, (%r8) + //0x00000746 LBB0_71 + 0x4d, 0x29, 0xe5, //0x00000746 subq %r12, %r13 + 0x4d, 0x01, 0xf5, //0x00000749 addq %r14, %r13 + 0x4c, 0x89, 0xe8, //0x0000074c movq %r13, %rax + 0x49, 0x89, 0xd6, //0x0000074f movq %rdx, %r14 + 0x48, 0x85, 0xc0, //0x00000752 testq %rax, %rax + 0x0f, 0x88, 0x16, 0x01, 0x00, 0x00, //0x00000755 js LBB0_92 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000075b .p2align 4, 0x90 + //0x00000760 LBB0_72 + 0x49, 0x01, 0xc4, //0x00000760 addq %rax, %r12 + 0x49, 0x01, 0xc7, //0x00000763 addq %rax, %r15 + 0x49, 0x29, 0xc2, //0x00000766 subq %rax, %r10 + 0x0f, 0x8e, 0x22, 0x01, 0x00, 0x00, //0x00000769 jle LBB0_93 + 0x49, 0x29, 0xc1, //0x0000076f subq %rax, %r9 + 0x41, 0x8a, 0x0c, 0x24, //0x00000772 movb (%r12), %cl + 0x80, 0xf9, 0xe2, //0x00000776 cmpb $-30, %cl + 0x0f, 0x84, 0xa2, 0x00, 0x00, 0x00, //0x00000779 je LBB0_86 + 0x4c, 0x89, 0xe0, //0x0000077f movq %r12, %rax + //0x00000782 LBB0_75 + 0x0f, 0xb6, 0xc9, //0x00000782 movzbl %cl, %ecx + 0x48, 0xc1, 0xe1, 0x04, //0x00000785 shlq $4, %rcx + 0x4a, 0x8b, 0x14, 0x31, //0x00000789 movq (%rcx,%r14), %rdx + 0x48, 0x63, 0xf2, //0x0000078d movslq %edx, %rsi + 0x49, 0x29, 0xf1, //0x00000790 subq %rsi, %r9 + 0x0f, 0x8c, 0x0f, 0x01, 0x00, 0x00, //0x00000793 jl LBB0_95 + 0x48, 0xc1, 0xe2, 0x20, //0x00000799 shlq $32, %rdx + 0x4a, 0x8d, 0x5c, 0x31, 0x08, //0x0000079d leaq $8(%rcx,%r14), %rbx + 0x48, 0x39, 0xfa, //0x000007a2 cmpq %rdi, %rdx + 0x0f, 0x8c, 0x25, 0x00, 0x00, 0x00, //0x000007a5 jl LBB0_78 + 0x8b, 0x13, //0x000007ab movl (%rbx), %edx + 0x41, 0x89, 0x17, //0x000007ad movl %edx, (%r15) + 0x4a, 0x8d, 0x5c, 0x31, 0x0c, //0x000007b0 leaq $12(%rcx,%r14), %rbx + 0x49, 0x8d, 0x57, 0x04, //0x000007b5 leaq $4(%r15), %rdx + 0x48, 0x8d, 0x4e, 0xfc, //0x000007b9 leaq $-4(%rsi), %rcx + 0x48, 0x83, 0xf9, 0x02, //0x000007bd cmpq $2, %rcx + 0x0f, 0x83, 0x19, 0x00, 0x00, 0x00, //0x000007c1 jae LBB0_79 + 0xe9, 0x2c, 0x00, 0x00, 0x00, //0x000007c7 jmp LBB0_80 + 0x90, 0x90, 0x90, 0x90, //0x000007cc .p2align 4, 0x90 + //0x000007d0 LBB0_78 + 0x4c, 0x89, 0xfa, //0x000007d0 movq %r15, %rdx + 0x48, 0x89, 0xf1, //0x000007d3 movq %rsi, %rcx + 0x48, 0x83, 0xf9, 0x02, //0x000007d6 cmpq $2, %rcx + 0x0f, 0x82, 0x18, 0x00, 0x00, 0x00, //0x000007da jb LBB0_80 + //0x000007e0 LBB0_79 + 0x49, 0x89, 0xf8, //0x000007e0 movq %rdi, %r8 + 0x0f, 0xb7, 0x3b, //0x000007e3 movzwl (%rbx), %edi + 0x66, 0x89, 0x3a, //0x000007e6 movw %di, (%rdx) + 0x4c, 0x89, 0xc7, //0x000007e9 movq %r8, %rdi + 0x48, 0x83, 0xc3, 0x02, //0x000007ec addq $2, %rbx + 0x48, 0x83, 0xc2, 0x02, //0x000007f0 addq $2, %rdx + 0x48, 0x83, 0xc1, 0xfe, //0x000007f4 addq $-2, %rcx + //0x000007f8 LBB0_80 + 0x48, 0x85, 0xc9, //0x000007f8 testq %rcx, %rcx + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x000007fb je LBB0_82 + 0x8a, 0x0b, //0x00000801 movb (%rbx), %cl + 0x88, 0x0a, //0x00000803 movb %cl, (%rdx) + //0x00000805 LBB0_82 + 0x49, 0x01, 0xf7, //0x00000805 addq %rsi, %r15 + //0x00000808 LBB0_83 + 0x48, 0xff, 0xc0, //0x00000808 incq %rax + 0x49, 0x89, 0xc4, //0x0000080b movq %rax, %r12 + 0x49, 0x83, 0xfa, 0x01, //0x0000080e cmpq $1, %r10 + 0x4d, 0x8d, 0x52, 0xff, //0x00000812 leaq $-1(%r10), %r10 + 0x0f, 0x8f, 0x14, 0xf9, 0xff, 0xff, //0x00000816 jg LBB0_2 + 0xe9, 0x73, 0x00, 0x00, 0x00, //0x0000081c jmp LBB0_94 + //0x00000821 LBB0_86 + 0x49, 0x83, 0xfa, 0x03, //0x00000821 cmpq $3, %r10 + 0x0f, 0x8c, 0x2b, 0x00, 0x00, 0x00, //0x00000825 jl LBB0_90 + 0x41, 0x80, 0x7c, 0x24, 0x01, 0x80, //0x0000082b cmpb $-128, $1(%r12) + 0x0f, 0x85, 0x1f, 0x00, 0x00, 0x00, //0x00000831 jne LBB0_90 + 0x41, 0x8a, 0x4c, 0x24, 0x02, //0x00000837 movb $2(%r12), %cl + 0x89, 0xc8, //0x0000083c movl %ecx, %eax + 0x24, 0xfe, //0x0000083e andb $-2, %al + 0x3c, 0xa8, //0x00000840 cmpb $-88, %al + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00000842 jne LBB0_90 + 0x49, 0x8d, 0x44, 0x24, 0x02, //0x00000848 leaq $2(%r12), %rax + 0x49, 0x83, 0xc2, 0xfe, //0x0000084d addq $-2, %r10 + 0xe9, 0x2c, 0xff, 0xff, 0xff, //0x00000851 jmp LBB0_75 + //0x00000856 LBB0_90 + 0x4d, 0x85, 0xc9, //0x00000856 testq %r9, %r9 + 0x0f, 0x8e, 0x54, 0x00, 0x00, 0x00, //0x00000859 jle LBB0_96 + 0x41, 0xc6, 0x07, 0xe2, //0x0000085f movb $-30, (%r15) + 0x49, 0xff, 0xc7, //0x00000863 incq %r15 + 0x49, 0xff, 0xc9, //0x00000866 decq %r9 + 0x4c, 0x89, 0xe0, //0x00000869 movq %r12, %rax + 0xe9, 0x97, 0xff, 0xff, 0xff, //0x0000086c jmp LBB0_83 + //0x00000871 LBB0_92 + 0x4c, 0x2b, 0x7d, 0xc8, //0x00000871 subq $-56(%rbp), %r15 + 0x48, 0xf7, 0xd0, //0x00000875 notq %rax + 0x49, 0x01, 0xc7, //0x00000878 addq %rax, %r15 + 0x48, 0x8b, 0x4d, 0xc0, //0x0000087b movq $-64(%rbp), %rcx + 0x4c, 0x89, 0x39, //0x0000087f movq %r15, (%rcx) + 0x4c, 0x2b, 0x65, 0xd0, //0x00000882 subq $-48(%rbp), %r12 + 0x49, 0x01, 0xc4, //0x00000886 addq %rax, %r12 + 0x49, 0xf7, 0xd4, //0x00000889 notq %r12 + 0xe9, 0x29, 0x00, 0x00, 0x00, //0x0000088c jmp LBB0_97 + //0x00000891 LBB0_93 + 0x4c, 0x89, 0xe0, //0x00000891 movq %r12, %rax + //0x00000894 LBB0_94 + 0x4c, 0x2b, 0x7d, 0xc8, //0x00000894 subq $-56(%rbp), %r15 + 0x48, 0x8b, 0x4d, 0xc0, //0x00000898 movq $-64(%rbp), %rcx + 0x4c, 0x89, 0x39, //0x0000089c movq %r15, (%rcx) + 0x48, 0x2b, 0x45, 0xd0, //0x0000089f subq $-48(%rbp), %rax + 0xe9, 0x15, 0x00, 0x00, 0x00, //0x000008a3 jmp LBB0_98 + //0x000008a8 LBB0_95 + 0x4c, 0x2b, 0x7d, 0xc8, //0x000008a8 subq $-56(%rbp), %r15 + 0x48, 0x8b, 0x45, 0xc0, //0x000008ac movq $-64(%rbp), %rax + 0x4c, 0x89, 0x38, //0x000008b0 movq %r15, (%rax) + //0x000008b3 LBB0_96 + 0x49, 0xf7, 0xd4, //0x000008b3 notq %r12 + 0x4c, 0x03, 0x65, 0xd0, //0x000008b6 addq $-48(%rbp), %r12 + //0x000008ba LBB0_97 + 0x4c, 0x89, 0xe0, //0x000008ba movq %r12, %rax + //0x000008bd LBB0_98 + 0x48, 0x83, 0xc4, 0x18, //0x000008bd addq $24, %rsp + 0x5b, //0x000008c1 popq %rbx + 0x41, 0x5c, //0x000008c2 popq %r12 + 0x41, 0x5d, //0x000008c4 popq %r13 + 0x41, 0x5e, //0x000008c6 popq %r14 + 0x41, 0x5f, //0x000008c8 popq %r15 + 0x5d, //0x000008ca popq %rbp + 0xc5, 0xf8, 0x77, //0x000008cb vzeroupper + 0xc3, //0x000008ce retq + 0x00, //0x000008cf .p2align 4, 0x00 + //0x000008d0 __HtmlQuoteTab + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000900 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000910 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000920 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000930 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000940 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000950 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000960 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000970 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000980 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000990 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000aa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ab0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ac0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ad0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ae0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000af0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b30 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x32, 0x36, 0x00, 0x00, //0x00000b38 QUAD $0x000036323030755c // .asciz 8, '\\u0026\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ba0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000be0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c90 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x33, 0x63, 0x00, 0x00, //0x00000c98 QUAD $0x000063333030755c // .asciz 8, '\\u003c\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ca0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cb0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x33, 0x65, 0x00, 0x00, //0x00000cb8 QUAD $0x000065333030755c // .asciz 8, '\\u003e\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ce0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000da0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000db0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000de0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000df0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ea0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000eb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ec0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ed0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ee0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ef0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fe0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ff0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001000 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001010 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001020 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001030 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001040 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001050 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001060 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001070 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001080 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001090 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001100 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001110 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001120 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001130 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001140 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001150 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001160 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001170 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001180 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001190 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001200 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001210 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001220 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001230 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001240 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001250 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001260 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001270 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001280 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001290 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001300 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001310 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001320 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001330 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001340 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001350 .quad 6 + 0x5c, 0x75, 0x32, 0x30, 0x32, 0x38, 0x00, 0x00, //0x00001358 QUAD $0x000038323032755c // .asciz 8, '\\u2028\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001360 .quad 6 + 0x5c, 0x75, 0x32, 0x30, 0x32, 0x39, 0x00, 0x00, //0x00001368 QUAD $0x000039323032755c // .asciz 8, '\\u2029\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001370 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001380 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001390 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001400 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001410 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001420 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001430 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001440 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001450 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001460 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001470 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001480 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001490 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001500 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001510 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001520 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001530 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001540 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001550 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001560 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001570 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001580 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001590 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001600 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001610 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001620 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001630 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001640 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001650 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001660 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001670 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001680 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001690 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001700 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001710 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001720 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001730 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001740 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001750 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001760 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001770 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001780 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001790 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001800 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001810 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001820 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001830 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001840 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001850 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001860 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001870 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001880 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001890 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/i64toa.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/i64toa.go new file mode 100644 index 0000000..b41ec3b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/i64toa.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_i64toa func(out unsafe.Pointer, val int64) (ret int) + +var S_i64toa uintptr + +//go:nosplit +func i64toa(out *byte, val int64) (ret int) { + return F_i64toa(rt.NoEscape(unsafe.Pointer(out)), val) +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/i64toa_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/i64toa_subr.go new file mode 100644 index 0000000..fb12932 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/i64toa_subr.go @@ -0,0 +1,47 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__i64toa = 64 +) + +const ( + _stack__i64toa = 8 +) + +const ( + _size__i64toa = 2288 +) + +var ( + _pcsp__i64toa = [][2]uint32{ + {1, 0}, + {170, 8}, + {171, 0}, + {505, 8}, + {506, 0}, + {637, 8}, + {638, 0}, + {1103, 8}, + {1104, 0}, + {1240, 8}, + {1241, 0}, + {1544, 8}, + {1545, 0}, + {1907, 8}, + {1908, 0}, + {2276, 8}, + {2278, 0}, + } +) + +var _cfunc_i64toa = []loader.CFunc{ + {"_i64toa_entry", 0, _entry__i64toa, 0, nil}, + {"_i64toa", _entry__i64toa, _size__i64toa, _stack__i64toa, _pcsp__i64toa}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/i64toa_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/i64toa_text_amd64.go new file mode 100644 index 0000000..18e39a4 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/i64toa_text_amd64.go @@ -0,0 +1,639 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_i64toa = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, // .quad 3518437209 + 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 3518437209 + //0x00000010 LCPI0_3 + 0x0a, 0x00, //0x00000010 .word 10 + 0x0a, 0x00, //0x00000012 .word 10 + 0x0a, 0x00, //0x00000014 .word 10 + 0x0a, 0x00, //0x00000016 .word 10 + 0x0a, 0x00, //0x00000018 .word 10 + 0x0a, 0x00, //0x0000001a .word 10 + 0x0a, 0x00, //0x0000001c .word 10 + 0x0a, 0x00, //0x0000001e .word 10 + //0x00000020 LCPI0_4 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, //0x00000020 QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + //0x00000030 .p2align 3, 0x00 + //0x00000030 LCPI0_1 + 0xc5, 0x20, 0x7b, 0x14, 0x34, 0x33, 0x00, 0x80, //0x00000030 .quad -9223315738079846203 + //0x00000038 LCPI0_2 + 0x80, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, //0x00000038 .quad -9223336852348469120 + //0x00000040 .p2align 4, 0x90 + //0x00000040 _i64toa + 0x55, //0x00000040 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000041 movq %rsp, %rbp + 0x48, 0x85, 0xf6, //0x00000044 testq %rsi, %rsi + 0x0f, 0x88, 0xaf, 0x00, 0x00, 0x00, //0x00000047 js LBB0_25 + 0x48, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x0000004d cmpq $9999, %rsi + 0x0f, 0x87, 0xf8, 0x00, 0x00, 0x00, //0x00000054 ja LBB0_9 + 0x0f, 0xb7, 0xc6, //0x0000005a movzwl %si, %eax + 0xc1, 0xe8, 0x02, //0x0000005d shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000060 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000066 shrl $17, %eax + 0x48, 0x8d, 0x14, 0x00, //0x00000069 leaq (%rax,%rax), %rdx + 0x6b, 0xc0, 0x64, //0x0000006d imull $100, %eax, %eax + 0x89, 0xf1, //0x00000070 movl %esi, %ecx + 0x29, 0xc1, //0x00000072 subl %eax, %ecx + 0x0f, 0xb7, 0xc1, //0x00000074 movzwl %cx, %eax + 0x48, 0x01, 0xc0, //0x00000077 addq %rax, %rax + 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x0000007a cmpl $1000, %esi + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000080 jb LBB0_4 + 0x48, 0x8d, 0x0d, 0xa3, 0x08, 0x00, 0x00, //0x00000086 leaq $2211(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x0c, 0x0a, //0x0000008d movb (%rdx,%rcx), %cl + 0x88, 0x0f, //0x00000090 movb %cl, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000092 movl $1, %ecx + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00000097 jmp LBB0_5 + //0x0000009c LBB0_4 + 0x31, 0xc9, //0x0000009c xorl %ecx, %ecx + 0x83, 0xfe, 0x64, //0x0000009e cmpl $100, %esi + 0x0f, 0x82, 0x45, 0x00, 0x00, 0x00, //0x000000a1 jb LBB0_6 + //0x000000a7 LBB0_5 + 0x0f, 0xb7, 0xd2, //0x000000a7 movzwl %dx, %edx + 0x48, 0x83, 0xca, 0x01, //0x000000aa orq $1, %rdx + 0x48, 0x8d, 0x35, 0x7b, 0x08, 0x00, 0x00, //0x000000ae leaq $2171(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x32, //0x000000b5 movb (%rdx,%rsi), %dl + 0x89, 0xce, //0x000000b8 movl %ecx, %esi + 0xff, 0xc1, //0x000000ba incl %ecx + 0x88, 0x14, 0x37, //0x000000bc movb %dl, (%rdi,%rsi) + //0x000000bf LBB0_7 + 0x48, 0x8d, 0x15, 0x6a, 0x08, 0x00, 0x00, //0x000000bf leaq $2154(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x10, //0x000000c6 movb (%rax,%rdx), %dl + 0x89, 0xce, //0x000000c9 movl %ecx, %esi + 0xff, 0xc1, //0x000000cb incl %ecx + 0x88, 0x14, 0x37, //0x000000cd movb %dl, (%rdi,%rsi) + //0x000000d0 LBB0_8 + 0x0f, 0xb7, 0xc0, //0x000000d0 movzwl %ax, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000000d3 orq $1, %rax + 0x48, 0x8d, 0x15, 0x52, 0x08, 0x00, 0x00, //0x000000d7 leaq $2130(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x10, //0x000000de movb (%rax,%rdx), %al + 0x89, 0xca, //0x000000e1 movl %ecx, %edx + 0xff, 0xc1, //0x000000e3 incl %ecx + 0x88, 0x04, 0x17, //0x000000e5 movb %al, (%rdi,%rdx) + 0x89, 0xc8, //0x000000e8 movl %ecx, %eax + 0x5d, //0x000000ea popq %rbp + 0xc3, //0x000000eb retq + //0x000000ec LBB0_6 + 0x31, 0xc9, //0x000000ec xorl %ecx, %ecx + 0x83, 0xfe, 0x0a, //0x000000ee cmpl $10, %esi + 0x0f, 0x83, 0xc8, 0xff, 0xff, 0xff, //0x000000f1 jae LBB0_7 + 0xe9, 0xd4, 0xff, 0xff, 0xff, //0x000000f7 jmp LBB0_8 + //0x000000fc LBB0_25 + 0xc6, 0x07, 0x2d, //0x000000fc movb $45, (%rdi) + 0x48, 0xf7, 0xde, //0x000000ff negq %rsi + 0x48, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x00000102 cmpq $9999, %rsi + 0x0f, 0x87, 0xd3, 0x01, 0x00, 0x00, //0x00000109 ja LBB0_33 + 0x0f, 0xb7, 0xc6, //0x0000010f movzwl %si, %eax + 0xc1, 0xe8, 0x02, //0x00000112 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000115 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x0000011b shrl $17, %eax + 0x48, 0x8d, 0x14, 0x00, //0x0000011e leaq (%rax,%rax), %rdx + 0x6b, 0xc0, 0x64, //0x00000122 imull $100, %eax, %eax + 0x89, 0xf1, //0x00000125 movl %esi, %ecx + 0x29, 0xc1, //0x00000127 subl %eax, %ecx + 0x0f, 0xb7, 0xc1, //0x00000129 movzwl %cx, %eax + 0x48, 0x01, 0xc0, //0x0000012c addq %rax, %rax + 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x0000012f cmpl $1000, %esi + 0x0f, 0x82, 0xab, 0x00, 0x00, 0x00, //0x00000135 jb LBB0_28 + 0x48, 0x8d, 0x0d, 0xee, 0x07, 0x00, 0x00, //0x0000013b leaq $2030(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x0c, 0x0a, //0x00000142 movb (%rdx,%rcx), %cl + 0x88, 0x4f, 0x01, //0x00000145 movb %cl, $1(%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000148 movl $1, %ecx + 0xe9, 0x9f, 0x00, 0x00, 0x00, //0x0000014d jmp LBB0_29 + //0x00000152 LBB0_9 + 0x48, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x00000152 cmpq $99999999, %rsi + 0x0f, 0x87, 0x18, 0x02, 0x00, 0x00, //0x00000159 ja LBB0_17 + 0x89, 0xf0, //0x0000015f movl %esi, %eax + 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x00000161 movl $3518437209, %edx + 0x48, 0x0f, 0xaf, 0xd0, //0x00000166 imulq %rax, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x0000016a shrq $45, %rdx + 0x44, 0x69, 0xc2, 0x10, 0x27, 0x00, 0x00, //0x0000016e imull $10000, %edx, %r8d + 0x89, 0xf1, //0x00000175 movl %esi, %ecx + 0x44, 0x29, 0xc1, //0x00000177 subl %r8d, %ecx + 0x4c, 0x69, 0xd0, 0x83, 0xde, 0x1b, 0x43, //0x0000017a imulq $1125899907, %rax, %r10 + 0x49, 0xc1, 0xea, 0x31, //0x00000181 shrq $49, %r10 + 0x41, 0x83, 0xe2, 0xfe, //0x00000185 andl $-2, %r10d + 0x0f, 0xb7, 0xc2, //0x00000189 movzwl %dx, %eax + 0xc1, 0xe8, 0x02, //0x0000018c shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000018f imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000195 shrl $17, %eax + 0x6b, 0xc0, 0x64, //0x00000198 imull $100, %eax, %eax + 0x29, 0xc2, //0x0000019b subl %eax, %edx + 0x44, 0x0f, 0xb7, 0xca, //0x0000019d movzwl %dx, %r9d + 0x4d, 0x01, 0xc9, //0x000001a1 addq %r9, %r9 + 0x0f, 0xb7, 0xc1, //0x000001a4 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x000001a7 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000001aa imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x000001b0 shrl $17, %eax + 0x4c, 0x8d, 0x04, 0x00, //0x000001b3 leaq (%rax,%rax), %r8 + 0x6b, 0xc0, 0x64, //0x000001b7 imull $100, %eax, %eax + 0x29, 0xc1, //0x000001ba subl %eax, %ecx + 0x44, 0x0f, 0xb7, 0xd9, //0x000001bc movzwl %cx, %r11d + 0x4d, 0x01, 0xdb, //0x000001c0 addq %r11, %r11 + 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x000001c3 cmpl $10000000, %esi + 0x0f, 0x82, 0x6c, 0x00, 0x00, 0x00, //0x000001c9 jb LBB0_12 + 0x48, 0x8d, 0x05, 0x5a, 0x07, 0x00, 0x00, //0x000001cf leaq $1882(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x02, //0x000001d6 movb (%r10,%rax), %al + 0x88, 0x07, //0x000001da movb %al, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000001dc movl $1, %ecx + 0xe9, 0x63, 0x00, 0x00, 0x00, //0x000001e1 jmp LBB0_13 + //0x000001e6 LBB0_28 + 0x31, 0xc9, //0x000001e6 xorl %ecx, %ecx + 0x83, 0xfe, 0x64, //0x000001e8 cmpl $100, %esi + 0x0f, 0x82, 0xce, 0x00, 0x00, 0x00, //0x000001eb jb LBB0_30 + //0x000001f1 LBB0_29 + 0x0f, 0xb7, 0xd2, //0x000001f1 movzwl %dx, %edx + 0x48, 0x83, 0xca, 0x01, //0x000001f4 orq $1, %rdx + 0x48, 0x8d, 0x35, 0x31, 0x07, 0x00, 0x00, //0x000001f8 leaq $1841(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x32, //0x000001ff movb (%rdx,%rsi), %dl + 0x89, 0xce, //0x00000202 movl %ecx, %esi + 0xff, 0xc1, //0x00000204 incl %ecx + 0x88, 0x54, 0x37, 0x01, //0x00000206 movb %dl, $1(%rdi,%rsi) + //0x0000020a LBB0_31 + 0x48, 0x8d, 0x15, 0x1f, 0x07, 0x00, 0x00, //0x0000020a leaq $1823(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x10, //0x00000211 movb (%rax,%rdx), %dl + 0x89, 0xce, //0x00000214 movl %ecx, %esi + 0xff, 0xc1, //0x00000216 incl %ecx + 0x88, 0x54, 0x37, 0x01, //0x00000218 movb %dl, $1(%rdi,%rsi) + //0x0000021c LBB0_32 + 0x0f, 0xb7, 0xc0, //0x0000021c movzwl %ax, %eax + 0x48, 0x83, 0xc8, 0x01, //0x0000021f orq $1, %rax + 0x48, 0x8d, 0x15, 0x06, 0x07, 0x00, 0x00, //0x00000223 leaq $1798(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x10, //0x0000022a movb (%rax,%rdx), %al + 0x89, 0xca, //0x0000022d movl %ecx, %edx + 0xff, 0xc1, //0x0000022f incl %ecx + 0x88, 0x44, 0x17, 0x01, //0x00000231 movb %al, $1(%rdi,%rdx) + 0xff, 0xc1, //0x00000235 incl %ecx + 0x89, 0xc8, //0x00000237 movl %ecx, %eax + 0x5d, //0x00000239 popq %rbp + 0xc3, //0x0000023a retq + //0x0000023b LBB0_12 + 0x31, 0xc9, //0x0000023b xorl %ecx, %ecx + 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x0000023d cmpl $1000000, %esi + 0x0f, 0x82, 0x86, 0x00, 0x00, 0x00, //0x00000243 jb LBB0_14 + //0x00000249 LBB0_13 + 0x44, 0x89, 0xd0, //0x00000249 movl %r10d, %eax + 0x48, 0x83, 0xc8, 0x01, //0x0000024c orq $1, %rax + 0x48, 0x8d, 0x35, 0xd9, 0x06, 0x00, 0x00, //0x00000250 leaq $1753(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x00000257 movb (%rax,%rsi), %al + 0x89, 0xce, //0x0000025a movl %ecx, %esi + 0xff, 0xc1, //0x0000025c incl %ecx + 0x88, 0x04, 0x37, //0x0000025e movb %al, (%rdi,%rsi) + //0x00000261 LBB0_15 + 0x48, 0x8d, 0x05, 0xc8, 0x06, 0x00, 0x00, //0x00000261 leaq $1736(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x01, //0x00000268 movb (%r9,%rax), %al + 0x89, 0xce, //0x0000026c movl %ecx, %esi + 0xff, 0xc1, //0x0000026e incl %ecx + 0x88, 0x04, 0x37, //0x00000270 movb %al, (%rdi,%rsi) + //0x00000273 LBB0_16 + 0x41, 0x0f, 0xb7, 0xc1, //0x00000273 movzwl %r9w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x00000277 orq $1, %rax + 0x48, 0x8d, 0x35, 0xae, 0x06, 0x00, 0x00, //0x0000027b leaq $1710(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x00000282 movb (%rax,%rsi), %al + 0x89, 0xca, //0x00000285 movl %ecx, %edx + 0x88, 0x04, 0x3a, //0x00000287 movb %al, (%rdx,%rdi) + 0x41, 0x8a, 0x04, 0x30, //0x0000028a movb (%r8,%rsi), %al + 0x88, 0x44, 0x3a, 0x01, //0x0000028e movb %al, $1(%rdx,%rdi) + 0x41, 0x0f, 0xb7, 0xc0, //0x00000292 movzwl %r8w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x00000296 orq $1, %rax + 0x8a, 0x04, 0x30, //0x0000029a movb (%rax,%rsi), %al + 0x88, 0x44, 0x3a, 0x02, //0x0000029d movb %al, $2(%rdx,%rdi) + 0x41, 0x8a, 0x04, 0x33, //0x000002a1 movb (%r11,%rsi), %al + 0x88, 0x44, 0x3a, 0x03, //0x000002a5 movb %al, $3(%rdx,%rdi) + 0x41, 0x0f, 0xb7, 0xc3, //0x000002a9 movzwl %r11w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000002ad orq $1, %rax + 0x8a, 0x04, 0x30, //0x000002b1 movb (%rax,%rsi), %al + 0x83, 0xc1, 0x05, //0x000002b4 addl $5, %ecx + 0x88, 0x44, 0x3a, 0x04, //0x000002b7 movb %al, $4(%rdx,%rdi) + 0x89, 0xc8, //0x000002bb movl %ecx, %eax + 0x5d, //0x000002bd popq %rbp + 0xc3, //0x000002be retq + //0x000002bf LBB0_30 + 0x31, 0xc9, //0x000002bf xorl %ecx, %ecx + 0x83, 0xfe, 0x0a, //0x000002c1 cmpl $10, %esi + 0x0f, 0x83, 0x40, 0xff, 0xff, 0xff, //0x000002c4 jae LBB0_31 + 0xe9, 0x4d, 0xff, 0xff, 0xff, //0x000002ca jmp LBB0_32 + //0x000002cf LBB0_14 + 0x31, 0xc9, //0x000002cf xorl %ecx, %ecx + 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x000002d1 cmpl $100000, %esi + 0x0f, 0x83, 0x84, 0xff, 0xff, 0xff, //0x000002d7 jae LBB0_15 + 0xe9, 0x91, 0xff, 0xff, 0xff, //0x000002dd jmp LBB0_16 + //0x000002e2 LBB0_33 + 0x48, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x000002e2 cmpq $99999999, %rsi + 0x0f, 0x87, 0x3e, 0x02, 0x00, 0x00, //0x000002e9 ja LBB0_41 + 0x89, 0xf0, //0x000002ef movl %esi, %eax + 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000002f1 movl $3518437209, %edx + 0x48, 0x0f, 0xaf, 0xd0, //0x000002f6 imulq %rax, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x000002fa shrq $45, %rdx + 0x44, 0x69, 0xc2, 0x10, 0x27, 0x00, 0x00, //0x000002fe imull $10000, %edx, %r8d + 0x89, 0xf1, //0x00000305 movl %esi, %ecx + 0x44, 0x29, 0xc1, //0x00000307 subl %r8d, %ecx + 0x4c, 0x69, 0xd0, 0x83, 0xde, 0x1b, 0x43, //0x0000030a imulq $1125899907, %rax, %r10 + 0x49, 0xc1, 0xea, 0x31, //0x00000311 shrq $49, %r10 + 0x41, 0x83, 0xe2, 0xfe, //0x00000315 andl $-2, %r10d + 0x0f, 0xb7, 0xc2, //0x00000319 movzwl %dx, %eax + 0xc1, 0xe8, 0x02, //0x0000031c shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000031f imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000325 shrl $17, %eax + 0x6b, 0xc0, 0x64, //0x00000328 imull $100, %eax, %eax + 0x29, 0xc2, //0x0000032b subl %eax, %edx + 0x44, 0x0f, 0xb7, 0xca, //0x0000032d movzwl %dx, %r9d + 0x4d, 0x01, 0xc9, //0x00000331 addq %r9, %r9 + 0x0f, 0xb7, 0xc1, //0x00000334 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x00000337 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000033a imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000340 shrl $17, %eax + 0x4c, 0x8d, 0x04, 0x00, //0x00000343 leaq (%rax,%rax), %r8 + 0x6b, 0xc0, 0x64, //0x00000347 imull $100, %eax, %eax + 0x29, 0xc1, //0x0000034a subl %eax, %ecx + 0x44, 0x0f, 0xb7, 0xd9, //0x0000034c movzwl %cx, %r11d + 0x4d, 0x01, 0xdb, //0x00000350 addq %r11, %r11 + 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x00000353 cmpl $10000000, %esi + 0x0f, 0x82, 0x32, 0x01, 0x00, 0x00, //0x00000359 jb LBB0_36 + 0x48, 0x8d, 0x05, 0xca, 0x05, 0x00, 0x00, //0x0000035f leaq $1482(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x02, //0x00000366 movb (%r10,%rax), %al + 0x88, 0x47, 0x01, //0x0000036a movb %al, $1(%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000036d movl $1, %ecx + 0xe9, 0x28, 0x01, 0x00, 0x00, //0x00000372 jmp LBB0_37 + //0x00000377 LBB0_17 + 0x48, 0xb9, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x00000377 movabsq $10000000000000000, %rcx + 0x48, 0x39, 0xce, //0x00000381 cmpq %rcx, %rsi + 0x0f, 0x83, 0xc0, 0x02, 0x00, 0x00, //0x00000384 jae LBB0_19 + 0x48, 0xb9, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x0000038a movabsq $-6067343680855748867, %rcx + 0x48, 0x89, 0xf0, //0x00000394 movq %rsi, %rax + 0x48, 0xf7, 0xe1, //0x00000397 mulq %rcx + 0x48, 0xc1, 0xea, 0x1a, //0x0000039a shrq $26, %rdx + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x0000039e imull $100000000, %edx, %eax + 0x29, 0xc6, //0x000003a4 subl %eax, %esi + 0xc5, 0xf9, 0x6e, 0xc2, //0x000003a6 vmovd %edx, %xmm0 + 0xc5, 0xfa, 0x6f, 0x0d, 0x4e, 0xfc, 0xff, 0xff, //0x000003aa vmovdqu $-946(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0xf4, 0xd1, //0x000003b2 vpmuludq %xmm1, %xmm0, %xmm2 + 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x000003b6 vpsrlq $45, %xmm2, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x000003bb movl $10000, %eax + 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x000003c0 vmovq %rax, %xmm3 + 0xc5, 0xe9, 0xf4, 0xe3, //0x000003c5 vpmuludq %xmm3, %xmm2, %xmm4 + 0xc5, 0xf9, 0xfa, 0xc4, //0x000003c9 vpsubd %xmm4, %xmm0, %xmm0 + 0xc5, 0xe9, 0x61, 0xc0, //0x000003cd vpunpcklwd %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x000003d1 vpsllq $2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x000003d6 vpshuflw $80, %xmm0, %xmm0 + 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x000003db vpshufd $80, %xmm0, %xmm0 + 0xc4, 0xe2, 0x79, 0x59, 0x15, 0x47, 0xfc, 0xff, 0xff, //0x000003e0 vpbroadcastq $-953(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc4, 0xe2, 0x79, 0x59, 0x25, 0x46, 0xfc, 0xff, 0xff, //0x000003e9 vpbroadcastq $-954(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc2, //0x000003f2 vpmulhuw %xmm2, %xmm0, %xmm0 + 0xc5, 0xf9, 0xe4, 0xc4, //0x000003f6 vpmulhuw %xmm4, %xmm0, %xmm0 + 0xc5, 0xfa, 0x6f, 0x2d, 0x0e, 0xfc, 0xff, 0xff, //0x000003fa vmovdqu $-1010(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0xd5, 0xf5, //0x00000402 vpmullw %xmm5, %xmm0, %xmm6 + 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x00000406 vpsllq $16, %xmm6, %xmm6 + 0xc5, 0xf9, 0xf9, 0xc6, //0x0000040b vpsubw %xmm6, %xmm0, %xmm0 + 0xc5, 0xf9, 0x6e, 0xf6, //0x0000040f vmovd %esi, %xmm6 + 0xc5, 0xc9, 0xf4, 0xc9, //0x00000413 vpmuludq %xmm1, %xmm6, %xmm1 + 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x00000417 vpsrlq $45, %xmm1, %xmm1 + 0xc5, 0xf1, 0xf4, 0xdb, //0x0000041c vpmuludq %xmm3, %xmm1, %xmm3 + 0xc5, 0xc9, 0xfa, 0xdb, //0x00000420 vpsubd %xmm3, %xmm6, %xmm3 + 0xc5, 0xf1, 0x61, 0xcb, //0x00000424 vpunpcklwd %xmm3, %xmm1, %xmm1 + 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x00000428 vpsllq $2, %xmm1, %xmm1 + 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x0000042d vpshuflw $80, %xmm1, %xmm1 + 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x00000432 vpshufd $80, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xca, //0x00000437 vpmulhuw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xcc, //0x0000043b vpmulhuw %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xd5, 0xd5, //0x0000043f vpmullw %xmm5, %xmm1, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x00000443 vpsllq $16, %xmm2, %xmm2 + 0xc5, 0xf1, 0xf9, 0xca, //0x00000448 vpsubw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x67, 0xc1, //0x0000044c vpackuswb %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xfc, 0x0d, 0xc8, 0xfb, 0xff, 0xff, //0x00000450 vpaddb $-1080(%rip), %xmm0, %xmm1 /* LCPI0_4+0(%rip) */ + 0xc5, 0xe9, 0xef, 0xd2, //0x00000458 vpxor %xmm2, %xmm2, %xmm2 + 0xc5, 0xf9, 0x74, 0xc2, //0x0000045c vpcmpeqb %xmm2, %xmm0, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x00000460 vpmovmskb %xmm0, %eax + 0x0d, 0x00, 0x80, 0x00, 0x00, //0x00000464 orl $32768, %eax + 0x35, 0xff, 0x7f, 0xff, 0xff, //0x00000469 xorl $-32769, %eax + 0x0f, 0xbc, 0xc0, //0x0000046e bsfl %eax, %eax + 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00000471 movl $16, %ecx + 0x29, 0xc1, //0x00000476 subl %eax, %ecx + 0x48, 0xc1, 0xe0, 0x04, //0x00000478 shlq $4, %rax + 0x48, 0x8d, 0x15, 0x7d, 0x05, 0x00, 0x00, //0x0000047c leaq $1405(%rip), %rdx /* _VecShiftShuffles+0(%rip) */ + 0xc4, 0xe2, 0x71, 0x00, 0x04, 0x10, //0x00000483 vpshufb (%rax,%rdx), %xmm1, %xmm0 + 0xc5, 0xfa, 0x7f, 0x07, //0x00000489 vmovdqu %xmm0, (%rdi) + 0x89, 0xc8, //0x0000048d movl %ecx, %eax + 0x5d, //0x0000048f popq %rbp + 0xc3, //0x00000490 retq + //0x00000491 LBB0_36 + 0x31, 0xc9, //0x00000491 xorl %ecx, %ecx + 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x00000493 cmpl $1000000, %esi + 0x0f, 0x82, 0x7b, 0x00, 0x00, 0x00, //0x00000499 jb LBB0_38 + //0x0000049f LBB0_37 + 0x44, 0x89, 0xd0, //0x0000049f movl %r10d, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000004a2 orq $1, %rax + 0x48, 0x8d, 0x35, 0x83, 0x04, 0x00, 0x00, //0x000004a6 leaq $1155(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x000004ad movb (%rax,%rsi), %al + 0x89, 0xce, //0x000004b0 movl %ecx, %esi + 0xff, 0xc1, //0x000004b2 incl %ecx + 0x88, 0x44, 0x37, 0x01, //0x000004b4 movb %al, $1(%rdi,%rsi) + //0x000004b8 LBB0_39 + 0x48, 0x8d, 0x05, 0x71, 0x04, 0x00, 0x00, //0x000004b8 leaq $1137(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x01, //0x000004bf movb (%r9,%rax), %al + 0x89, 0xce, //0x000004c3 movl %ecx, %esi + 0xff, 0xc1, //0x000004c5 incl %ecx + 0x88, 0x44, 0x37, 0x01, //0x000004c7 movb %al, $1(%rdi,%rsi) + //0x000004cb LBB0_40 + 0x41, 0x0f, 0xb7, 0xc1, //0x000004cb movzwl %r9w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000004cf orq $1, %rax + 0x48, 0x8d, 0x35, 0x56, 0x04, 0x00, 0x00, //0x000004d3 leaq $1110(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x000004da movb (%rax,%rsi), %al + 0x89, 0xca, //0x000004dd movl %ecx, %edx + 0x88, 0x44, 0x17, 0x01, //0x000004df movb %al, $1(%rdi,%rdx) + 0x41, 0x8a, 0x04, 0x30, //0x000004e3 movb (%r8,%rsi), %al + 0x88, 0x44, 0x17, 0x02, //0x000004e7 movb %al, $2(%rdi,%rdx) + 0x41, 0x0f, 0xb7, 0xc0, //0x000004eb movzwl %r8w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000004ef orq $1, %rax + 0x8a, 0x04, 0x30, //0x000004f3 movb (%rax,%rsi), %al + 0x88, 0x44, 0x17, 0x03, //0x000004f6 movb %al, $3(%rdi,%rdx) + 0x41, 0x8a, 0x04, 0x33, //0x000004fa movb (%r11,%rsi), %al + 0x88, 0x44, 0x17, 0x04, //0x000004fe movb %al, $4(%rdi,%rdx) + 0x41, 0x0f, 0xb7, 0xc3, //0x00000502 movzwl %r11w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x00000506 orq $1, %rax + 0x8a, 0x04, 0x30, //0x0000050a movb (%rax,%rsi), %al + 0x83, 0xc1, 0x05, //0x0000050d addl $5, %ecx + 0x88, 0x44, 0x17, 0x05, //0x00000510 movb %al, $5(%rdi,%rdx) + 0xff, 0xc1, //0x00000514 incl %ecx + 0x89, 0xc8, //0x00000516 movl %ecx, %eax + 0x5d, //0x00000518 popq %rbp + 0xc3, //0x00000519 retq + //0x0000051a LBB0_38 + 0x31, 0xc9, //0x0000051a xorl %ecx, %ecx + 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x0000051c cmpl $100000, %esi + 0x0f, 0x83, 0x90, 0xff, 0xff, 0xff, //0x00000522 jae LBB0_39 + 0xe9, 0x9e, 0xff, 0xff, 0xff, //0x00000528 jmp LBB0_40 + //0x0000052d LBB0_41 + 0x48, 0xb9, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x0000052d movabsq $10000000000000000, %rcx + 0x48, 0x39, 0xce, //0x00000537 cmpq %rcx, %rsi + 0x0f, 0x83, 0x75, 0x02, 0x00, 0x00, //0x0000053a jae LBB0_43 + 0x48, 0xb9, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000540 movabsq $-6067343680855748867, %rcx + 0x48, 0x89, 0xf0, //0x0000054a movq %rsi, %rax + 0x48, 0xf7, 0xe1, //0x0000054d mulq %rcx + 0x48, 0xc1, 0xea, 0x1a, //0x00000550 shrq $26, %rdx + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x00000554 imull $100000000, %edx, %eax + 0x29, 0xc6, //0x0000055a subl %eax, %esi + 0xc5, 0xf9, 0x6e, 0xc2, //0x0000055c vmovd %edx, %xmm0 + 0xc5, 0xfa, 0x6f, 0x0d, 0x98, 0xfa, 0xff, 0xff, //0x00000560 vmovdqu $-1384(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0xf4, 0xd1, //0x00000568 vpmuludq %xmm1, %xmm0, %xmm2 + 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x0000056c vpsrlq $45, %xmm2, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x00000571 movl $10000, %eax + 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x00000576 vmovq %rax, %xmm3 + 0xc5, 0xe9, 0xf4, 0xe3, //0x0000057b vpmuludq %xmm3, %xmm2, %xmm4 + 0xc5, 0xf9, 0xfa, 0xc4, //0x0000057f vpsubd %xmm4, %xmm0, %xmm0 + 0xc5, 0xe9, 0x61, 0xc0, //0x00000583 vpunpcklwd %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x00000587 vpsllq $2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x0000058c vpshuflw $80, %xmm0, %xmm0 + 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x00000591 vpshufd $80, %xmm0, %xmm0 + 0xc4, 0xe2, 0x79, 0x59, 0x15, 0x91, 0xfa, 0xff, 0xff, //0x00000596 vpbroadcastq $-1391(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc4, 0xe2, 0x79, 0x59, 0x25, 0x90, 0xfa, 0xff, 0xff, //0x0000059f vpbroadcastq $-1392(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc2, //0x000005a8 vpmulhuw %xmm2, %xmm0, %xmm0 + 0xc5, 0xf9, 0xe4, 0xc4, //0x000005ac vpmulhuw %xmm4, %xmm0, %xmm0 + 0xc5, 0xfa, 0x6f, 0x2d, 0x58, 0xfa, 0xff, 0xff, //0x000005b0 vmovdqu $-1448(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0xd5, 0xf5, //0x000005b8 vpmullw %xmm5, %xmm0, %xmm6 + 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x000005bc vpsllq $16, %xmm6, %xmm6 + 0xc5, 0xf9, 0xf9, 0xc6, //0x000005c1 vpsubw %xmm6, %xmm0, %xmm0 + 0xc5, 0xf9, 0x6e, 0xf6, //0x000005c5 vmovd %esi, %xmm6 + 0xc5, 0xc9, 0xf4, 0xc9, //0x000005c9 vpmuludq %xmm1, %xmm6, %xmm1 + 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x000005cd vpsrlq $45, %xmm1, %xmm1 + 0xc5, 0xf1, 0xf4, 0xdb, //0x000005d2 vpmuludq %xmm3, %xmm1, %xmm3 + 0xc5, 0xc9, 0xfa, 0xdb, //0x000005d6 vpsubd %xmm3, %xmm6, %xmm3 + 0xc5, 0xf1, 0x61, 0xcb, //0x000005da vpunpcklwd %xmm3, %xmm1, %xmm1 + 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x000005de vpsllq $2, %xmm1, %xmm1 + 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x000005e3 vpshuflw $80, %xmm1, %xmm1 + 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x000005e8 vpshufd $80, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xca, //0x000005ed vpmulhuw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xcc, //0x000005f1 vpmulhuw %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xd5, 0xd5, //0x000005f5 vpmullw %xmm5, %xmm1, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x000005f9 vpsllq $16, %xmm2, %xmm2 + 0xc5, 0xf1, 0xf9, 0xca, //0x000005fe vpsubw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x67, 0xc1, //0x00000602 vpackuswb %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xfc, 0x0d, 0x12, 0xfa, 0xff, 0xff, //0x00000606 vpaddb $-1518(%rip), %xmm0, %xmm1 /* LCPI0_4+0(%rip) */ + 0xc5, 0xe9, 0xef, 0xd2, //0x0000060e vpxor %xmm2, %xmm2, %xmm2 + 0xc5, 0xf9, 0x74, 0xc2, //0x00000612 vpcmpeqb %xmm2, %xmm0, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x00000616 vpmovmskb %xmm0, %eax + 0x0d, 0x00, 0x80, 0x00, 0x00, //0x0000061a orl $32768, %eax + 0x35, 0xff, 0x7f, 0xff, 0xff, //0x0000061f xorl $-32769, %eax + 0x0f, 0xbc, 0xc0, //0x00000624 bsfl %eax, %eax + 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00000627 movl $16, %ecx + 0x29, 0xc1, //0x0000062c subl %eax, %ecx + 0x48, 0xc1, 0xe0, 0x04, //0x0000062e shlq $4, %rax + 0x48, 0x8d, 0x15, 0xc7, 0x03, 0x00, 0x00, //0x00000632 leaq $967(%rip), %rdx /* _VecShiftShuffles+0(%rip) */ + 0xc4, 0xe2, 0x71, 0x00, 0x04, 0x10, //0x00000639 vpshufb (%rax,%rdx), %xmm1, %xmm0 + 0xc5, 0xfa, 0x7f, 0x47, 0x01, //0x0000063f vmovdqu %xmm0, $1(%rdi) + 0xff, 0xc1, //0x00000644 incl %ecx + 0x89, 0xc8, //0x00000646 movl %ecx, %eax + 0x5d, //0x00000648 popq %rbp + 0xc3, //0x00000649 retq + //0x0000064a LBB0_19 + 0x48, 0xba, 0x57, 0x78, 0x13, 0xb1, 0x2f, 0x65, 0xa5, 0x39, //0x0000064a movabsq $4153837486827862103, %rdx + 0x48, 0x89, 0xf0, //0x00000654 movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x00000657 mulq %rdx + 0x48, 0xc1, 0xea, 0x33, //0x0000065a shrq $51, %rdx + 0x48, 0x0f, 0xaf, 0xca, //0x0000065e imulq %rdx, %rcx + 0x48, 0x29, 0xce, //0x00000662 subq %rcx, %rsi + 0x83, 0xfa, 0x09, //0x00000665 cmpl $9, %edx + 0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x00000668 ja LBB0_21 + 0x80, 0xc2, 0x30, //0x0000066e addb $48, %dl + 0x88, 0x17, //0x00000671 movb %dl, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000673 movl $1, %ecx + 0xe9, 0x5c, 0x00, 0x00, 0x00, //0x00000678 jmp LBB0_24 + //0x0000067d LBB0_21 + 0x83, 0xfa, 0x63, //0x0000067d cmpl $99, %edx + 0x0f, 0x87, 0x1f, 0x00, 0x00, 0x00, //0x00000680 ja LBB0_23 + 0x89, 0xd0, //0x00000686 movl %edx, %eax + 0x48, 0x8d, 0x0d, 0xa1, 0x02, 0x00, 0x00, //0x00000688 leaq $673(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x0000068f movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x00000692 movb $1(%rcx,%rax,2), %al + 0x88, 0x17, //0x00000696 movb %dl, (%rdi) + 0x88, 0x47, 0x01, //0x00000698 movb %al, $1(%rdi) + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x0000069b movl $2, %ecx + 0xe9, 0x34, 0x00, 0x00, 0x00, //0x000006a0 jmp LBB0_24 + //0x000006a5 LBB0_23 + 0x89, 0xd0, //0x000006a5 movl %edx, %eax + 0xc1, 0xe8, 0x02, //0x000006a7 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000006aa imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x000006b0 shrl $17, %eax + 0x8d, 0x48, 0x30, //0x000006b3 leal $48(%rax), %ecx + 0x88, 0x0f, //0x000006b6 movb %cl, (%rdi) + 0x6b, 0xc0, 0x64, //0x000006b8 imull $100, %eax, %eax + 0x29, 0xc2, //0x000006bb subl %eax, %edx + 0x0f, 0xb7, 0xc2, //0x000006bd movzwl %dx, %eax + 0x48, 0x8d, 0x0d, 0x69, 0x02, 0x00, 0x00, //0x000006c0 leaq $617(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x000006c7 movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x000006ca movb $1(%rcx,%rax,2), %al + 0x88, 0x57, 0x01, //0x000006ce movb %dl, $1(%rdi) + 0x88, 0x47, 0x02, //0x000006d1 movb %al, $2(%rdi) + 0xb9, 0x03, 0x00, 0x00, 0x00, //0x000006d4 movl $3, %ecx + //0x000006d9 LBB0_24 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x000006d9 movabsq $-6067343680855748867, %rdx + 0x48, 0x89, 0xf0, //0x000006e3 movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x000006e6 mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x000006e9 shrq $26, %rdx + 0xc5, 0xf9, 0x6e, 0xc2, //0x000006ed vmovd %edx, %xmm0 + 0xc5, 0xfa, 0x6f, 0x0d, 0x07, 0xf9, 0xff, 0xff, //0x000006f1 vmovdqu $-1785(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0xf4, 0xd1, //0x000006f9 vpmuludq %xmm1, %xmm0, %xmm2 + 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x000006fd vpsrlq $45, %xmm2, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x00000702 movl $10000, %eax + 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x00000707 vmovq %rax, %xmm3 + 0xc5, 0xe9, 0xf4, 0xe3, //0x0000070c vpmuludq %xmm3, %xmm2, %xmm4 + 0xc5, 0xf9, 0xfa, 0xc4, //0x00000710 vpsubd %xmm4, %xmm0, %xmm0 + 0xc5, 0xe9, 0x61, 0xc0, //0x00000714 vpunpcklwd %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x00000718 vpsllq $2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x0000071d vpshuflw $80, %xmm0, %xmm0 + 0xc4, 0xe2, 0x79, 0x59, 0x15, 0x05, 0xf9, 0xff, 0xff, //0x00000722 vpbroadcastq $-1787(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x0000072b vpshufd $80, %xmm0, %xmm0 + 0xc5, 0xf9, 0xe4, 0xc2, //0x00000730 vpmulhuw %xmm2, %xmm0, %xmm0 + 0xc4, 0xe2, 0x79, 0x59, 0x25, 0xfb, 0xf8, 0xff, 0xff, //0x00000734 vpbroadcastq $-1797(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc4, //0x0000073d vpmulhuw %xmm4, %xmm0, %xmm0 + 0xc5, 0xfa, 0x6f, 0x2d, 0xc7, 0xf8, 0xff, 0xff, //0x00000741 vmovdqu $-1849(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0xd5, 0xf5, //0x00000749 vpmullw %xmm5, %xmm0, %xmm6 + 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x0000074d vpsllq $16, %xmm6, %xmm6 + 0xc5, 0xf9, 0xf9, 0xc6, //0x00000752 vpsubw %xmm6, %xmm0, %xmm0 + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x00000756 imull $100000000, %edx, %eax + 0x29, 0xc6, //0x0000075c subl %eax, %esi + 0xc5, 0xf9, 0x6e, 0xf6, //0x0000075e vmovd %esi, %xmm6 + 0xc5, 0xc9, 0xf4, 0xc9, //0x00000762 vpmuludq %xmm1, %xmm6, %xmm1 + 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x00000766 vpsrlq $45, %xmm1, %xmm1 + 0xc5, 0xf1, 0xf4, 0xdb, //0x0000076b vpmuludq %xmm3, %xmm1, %xmm3 + 0xc5, 0xc9, 0xfa, 0xdb, //0x0000076f vpsubd %xmm3, %xmm6, %xmm3 + 0xc5, 0xf1, 0x61, 0xcb, //0x00000773 vpunpcklwd %xmm3, %xmm1, %xmm1 + 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x00000777 vpsllq $2, %xmm1, %xmm1 + 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x0000077c vpshuflw $80, %xmm1, %xmm1 + 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x00000781 vpshufd $80, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xca, //0x00000786 vpmulhuw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xcc, //0x0000078a vpmulhuw %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xd5, 0xd5, //0x0000078e vpmullw %xmm5, %xmm1, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x00000792 vpsllq $16, %xmm2, %xmm2 + 0xc5, 0xf1, 0xf9, 0xca, //0x00000797 vpsubw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x67, 0xc1, //0x0000079b vpackuswb %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xfc, 0x05, 0x79, 0xf8, 0xff, 0xff, //0x0000079f vpaddb $-1927(%rip), %xmm0, %xmm0 /* LCPI0_4+0(%rip) */ + 0x89, 0xc8, //0x000007a7 movl %ecx, %eax + 0xc5, 0xfa, 0x7f, 0x04, 0x07, //0x000007a9 vmovdqu %xmm0, (%rdi,%rax) + 0x83, 0xc9, 0x10, //0x000007ae orl $16, %ecx + 0x89, 0xc8, //0x000007b1 movl %ecx, %eax + 0x5d, //0x000007b3 popq %rbp + 0xc3, //0x000007b4 retq + //0x000007b5 LBB0_43 + 0x48, 0xba, 0x57, 0x78, 0x13, 0xb1, 0x2f, 0x65, 0xa5, 0x39, //0x000007b5 movabsq $4153837486827862103, %rdx + 0x48, 0x89, 0xf0, //0x000007bf movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x000007c2 mulq %rdx + 0x48, 0xc1, 0xea, 0x33, //0x000007c5 shrq $51, %rdx + 0x48, 0x0f, 0xaf, 0xca, //0x000007c9 imulq %rdx, %rcx + 0x48, 0x29, 0xce, //0x000007cd subq %rcx, %rsi + 0x83, 0xfa, 0x09, //0x000007d0 cmpl $9, %edx + 0x0f, 0x87, 0x10, 0x00, 0x00, 0x00, //0x000007d3 ja LBB0_45 + 0x80, 0xc2, 0x30, //0x000007d9 addb $48, %dl + 0x88, 0x57, 0x01, //0x000007dc movb %dl, $1(%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000007df movl $1, %ecx + 0xe9, 0x5e, 0x00, 0x00, 0x00, //0x000007e4 jmp LBB0_48 + //0x000007e9 LBB0_45 + 0x83, 0xfa, 0x63, //0x000007e9 cmpl $99, %edx + 0x0f, 0x87, 0x20, 0x00, 0x00, 0x00, //0x000007ec ja LBB0_47 + 0x89, 0xd0, //0x000007f2 movl %edx, %eax + 0x48, 0x8d, 0x0d, 0x35, 0x01, 0x00, 0x00, //0x000007f4 leaq $309(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x000007fb movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x000007fe movb $1(%rcx,%rax,2), %al + 0x88, 0x57, 0x01, //0x00000802 movb %dl, $1(%rdi) + 0x88, 0x47, 0x02, //0x00000805 movb %al, $2(%rdi) + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x00000808 movl $2, %ecx + 0xe9, 0x35, 0x00, 0x00, 0x00, //0x0000080d jmp LBB0_48 + //0x00000812 LBB0_47 + 0x89, 0xd0, //0x00000812 movl %edx, %eax + 0xc1, 0xe8, 0x02, //0x00000814 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000817 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x0000081d shrl $17, %eax + 0x8d, 0x48, 0x30, //0x00000820 leal $48(%rax), %ecx + 0x88, 0x4f, 0x01, //0x00000823 movb %cl, $1(%rdi) + 0x6b, 0xc0, 0x64, //0x00000826 imull $100, %eax, %eax + 0x29, 0xc2, //0x00000829 subl %eax, %edx + 0x0f, 0xb7, 0xc2, //0x0000082b movzwl %dx, %eax + 0x48, 0x8d, 0x0d, 0xfb, 0x00, 0x00, 0x00, //0x0000082e leaq $251(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x00000835 movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x00000838 movb $1(%rcx,%rax,2), %al + 0x88, 0x57, 0x02, //0x0000083c movb %dl, $2(%rdi) + 0x88, 0x47, 0x03, //0x0000083f movb %al, $3(%rdi) + 0xb9, 0x03, 0x00, 0x00, 0x00, //0x00000842 movl $3, %ecx + //0x00000847 LBB0_48 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000847 movabsq $-6067343680855748867, %rdx + 0x48, 0x89, 0xf0, //0x00000851 movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x00000854 mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x00000857 shrq $26, %rdx + 0xc5, 0xf9, 0x6e, 0xc2, //0x0000085b vmovd %edx, %xmm0 + 0xc5, 0xfa, 0x6f, 0x0d, 0x99, 0xf7, 0xff, 0xff, //0x0000085f vmovdqu $-2151(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0xf4, 0xd1, //0x00000867 vpmuludq %xmm1, %xmm0, %xmm2 + 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x0000086b vpsrlq $45, %xmm2, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x00000870 movl $10000, %eax + 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x00000875 vmovq %rax, %xmm3 + 0xc5, 0xe9, 0xf4, 0xe3, //0x0000087a vpmuludq %xmm3, %xmm2, %xmm4 + 0xc5, 0xf9, 0xfa, 0xc4, //0x0000087e vpsubd %xmm4, %xmm0, %xmm0 + 0xc5, 0xe9, 0x61, 0xc0, //0x00000882 vpunpcklwd %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x00000886 vpsllq $2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x0000088b vpshuflw $80, %xmm0, %xmm0 + 0xc4, 0xe2, 0x79, 0x59, 0x15, 0x97, 0xf7, 0xff, 0xff, //0x00000890 vpbroadcastq $-2153(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x00000899 vpshufd $80, %xmm0, %xmm0 + 0xc5, 0xf9, 0xe4, 0xc2, //0x0000089e vpmulhuw %xmm2, %xmm0, %xmm0 + 0xc4, 0xe2, 0x79, 0x59, 0x25, 0x8d, 0xf7, 0xff, 0xff, //0x000008a2 vpbroadcastq $-2163(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc4, //0x000008ab vpmulhuw %xmm4, %xmm0, %xmm0 + 0xc5, 0xfa, 0x6f, 0x2d, 0x59, 0xf7, 0xff, 0xff, //0x000008af vmovdqu $-2215(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0xd5, 0xf5, //0x000008b7 vpmullw %xmm5, %xmm0, %xmm6 + 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x000008bb vpsllq $16, %xmm6, %xmm6 + 0xc5, 0xf9, 0xf9, 0xc6, //0x000008c0 vpsubw %xmm6, %xmm0, %xmm0 + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x000008c4 imull $100000000, %edx, %eax + 0x29, 0xc6, //0x000008ca subl %eax, %esi + 0xc5, 0xf9, 0x6e, 0xf6, //0x000008cc vmovd %esi, %xmm6 + 0xc5, 0xc9, 0xf4, 0xc9, //0x000008d0 vpmuludq %xmm1, %xmm6, %xmm1 + 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x000008d4 vpsrlq $45, %xmm1, %xmm1 + 0xc5, 0xf1, 0xf4, 0xdb, //0x000008d9 vpmuludq %xmm3, %xmm1, %xmm3 + 0xc5, 0xc9, 0xfa, 0xdb, //0x000008dd vpsubd %xmm3, %xmm6, %xmm3 + 0xc5, 0xf1, 0x61, 0xcb, //0x000008e1 vpunpcklwd %xmm3, %xmm1, %xmm1 + 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x000008e5 vpsllq $2, %xmm1, %xmm1 + 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x000008ea vpshuflw $80, %xmm1, %xmm1 + 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x000008ef vpshufd $80, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xca, //0x000008f4 vpmulhuw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xcc, //0x000008f8 vpmulhuw %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xd5, 0xd5, //0x000008fc vpmullw %xmm5, %xmm1, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x00000900 vpsllq $16, %xmm2, %xmm2 + 0xc5, 0xf1, 0xf9, 0xca, //0x00000905 vpsubw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x67, 0xc1, //0x00000909 vpackuswb %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xfc, 0x05, 0x0b, 0xf7, 0xff, 0xff, //0x0000090d vpaddb $-2293(%rip), %xmm0, %xmm0 /* LCPI0_4+0(%rip) */ + 0x89, 0xc8, //0x00000915 movl %ecx, %eax + 0xc5, 0xfa, 0x7f, 0x44, 0x07, 0x01, //0x00000917 vmovdqu %xmm0, $1(%rdi,%rax) + 0x83, 0xc9, 0x10, //0x0000091d orl $16, %ecx + 0xff, 0xc1, //0x00000920 incl %ecx + 0x89, 0xc8, //0x00000922 movl %ecx, %eax + 0x5d, //0x00000924 popq %rbp + 0xc3, //0x00000925 retq + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000926 .p2align 4, 0x00 + //0x00000930 _Digits + 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00000930 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' + 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00000940 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' + 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x00000950 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' + 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x00000960 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' + 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x00000970 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' + 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x00000980 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' + 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x00000990 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' + 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x000009a0 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' + 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x000009b0 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' + 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x000009c0 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' + 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x000009d0 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' + 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x000009e0 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' + 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x000009f0 QUAD $0x3939383937393639 // .ascii 8, '96979899' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009f8 .p2align 4, 0x00 + //0x00000a00 _VecShiftShuffles + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, //0x00000a00 QUAD $0x0706050403020100; QUAD $0x0f0e0d0c0b0a0908 // .ascii 16, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, //0x00000a10 QUAD $0x0807060504030201; QUAD $0xff0f0e0d0c0b0a09 // .ascii 16, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' + 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, //0x00000a20 QUAD $0x0908070605040302; QUAD $0xffff0f0e0d0c0b0a // .ascii 16, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' + 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, //0x00000a30 QUAD $0x0a09080706050403; QUAD $0xffffff0f0e0d0c0b // .ascii 16, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, //0x00000a40 QUAD $0x0b0a090807060504; QUAD $0xffffffff0f0e0d0c // .ascii 16, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' + 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a50 QUAD $0x0c0b0a0908070605; QUAD $0xffffffffff0f0e0d // .ascii 16, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff' + 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a60 QUAD $0x0d0c0b0a09080706; QUAD $0xffffffffffff0f0e // .ascii 16, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff' + 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a70 QUAD $0x0e0d0c0b0a090807; QUAD $0xffffffffffffff0f // .ascii 16, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff' + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a80 QUAD $0x0f0e0d0c0b0a0908; QUAD $0xffffffffffffffff // .ascii 16, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/lspace.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/lspace.go new file mode 100644 index 0000000..9681924 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/lspace.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_lspace func(sp unsafe.Pointer, nb int, off int) (ret int) + +var S_lspace uintptr + +//go:nosplit +func lspace(sp *byte, nb int, off int) (ret int) { + return F_lspace(rt.NoEscape(unsafe.Pointer(sp)), nb, off) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/lspace_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/lspace_subr.go new file mode 100644 index 0000000..8de4801 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/lspace_subr.go @@ -0,0 +1,37 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__lspace = 32 +) + +const ( + _stack__lspace = 8 +) + +const ( + _size__lspace = 220 +) + +var ( + _pcsp__lspace = [][2]uint32{ + {1, 0}, + {184, 8}, + {188, 0}, + {204, 8}, + {208, 0}, + {215, 8}, + {219, 0}, + } +) + +var _cfunc_lspace = []loader.CFunc{ + {"_lspace_entry", 0, _entry__lspace, 0, nil}, + {"_lspace", _entry__lspace, _size__lspace, _stack__lspace, _pcsp__lspace}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/lspace_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/lspace_text_amd64.go new file mode 100644 index 0000000..d521b55 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/lspace_text_amd64.go @@ -0,0 +1,110 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_lspace = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x20, // .byte 32 + 0x00, //0x00000001 .byte 0 + 0x00, //0x00000002 .byte 0 + 0x00, //0x00000003 .byte 0 + 0x00, //0x00000004 .byte 0 + 0x00, //0x00000005 .byte 0 + 0x00, //0x00000006 .byte 0 + 0x00, //0x00000007 .byte 0 + 0x00, //0x00000008 .byte 0 + 0x09, //0x00000009 .byte 9 + 0x0a, //0x0000000a .byte 10 + 0x00, //0x0000000b .byte 0 + 0x00, //0x0000000c .byte 0 + 0x0d, //0x0000000d .byte 13 + 0x00, //0x0000000e .byte 0 + 0x00, //0x0000000f .byte 0 + 0x20, //0x00000010 .byte 32 + 0x00, //0x00000011 .byte 0 + 0x00, //0x00000012 .byte 0 + 0x00, //0x00000013 .byte 0 + 0x00, //0x00000014 .byte 0 + 0x00, //0x00000015 .byte 0 + 0x00, //0x00000016 .byte 0 + 0x00, //0x00000017 .byte 0 + 0x00, //0x00000018 .byte 0 + 0x09, //0x00000019 .byte 9 + 0x0a, //0x0000001a .byte 10 + 0x00, //0x0000001b .byte 0 + 0x00, //0x0000001c .byte 0 + 0x0d, //0x0000001d .byte 13 + 0x00, //0x0000001e .byte 0 + 0x00, //0x0000001f .byte 0 + //0x00000020 .p2align 4, 0x90 + //0x00000020 _lspace + 0x55, //0x00000020 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000021 movq %rsp, %rbp + 0x48, 0x8d, 0x04, 0x17, //0x00000024 leaq (%rdi,%rdx), %rax + 0x49, 0x89, 0xf1, //0x00000028 movq %rsi, %r9 + 0x49, 0x29, 0xd1, //0x0000002b subq %rdx, %r9 + 0x49, 0x83, 0xf9, 0x20, //0x0000002e cmpq $32, %r9 + 0x0f, 0x82, 0x5a, 0x00, 0x00, 0x00, //0x00000032 jb LBB0_4 + 0x48, 0x29, 0xd6, //0x00000038 subq %rdx, %rsi + 0x48, 0x83, 0xc6, 0xe0, //0x0000003b addq $-32, %rsi + 0x48, 0x89, 0xf1, //0x0000003f movq %rsi, %rcx + 0x48, 0x83, 0xe1, 0xe0, //0x00000042 andq $-32, %rcx + 0x48, 0x01, 0xd1, //0x00000046 addq %rdx, %rcx + 0x4c, 0x8d, 0x44, 0x0f, 0x20, //0x00000049 leaq $32(%rdi,%rcx), %r8 + 0x83, 0xe6, 0x1f, //0x0000004e andl $31, %esi + 0xc5, 0xfe, 0x6f, 0x05, 0xa7, 0xff, 0xff, 0xff, //0x00000051 vmovdqu $-89(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000059 .p2align 4, 0x90 + //0x00000060 LBB0_2 + 0xc5, 0xfe, 0x6f, 0x08, //0x00000060 vmovdqu (%rax), %ymm1 + 0xc4, 0xe2, 0x7d, 0x00, 0xd1, //0x00000064 vpshufb %ymm1, %ymm0, %ymm2 + 0xc5, 0xf5, 0x74, 0xca, //0x00000069 vpcmpeqb %ymm2, %ymm1, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x0000006d vpmovmskb %ymm1, %edx + 0x83, 0xfa, 0xff, //0x00000071 cmpl $-1, %edx + 0x0f, 0x85, 0x63, 0x00, 0x00, 0x00, //0x00000074 jne LBB0_3 + 0x48, 0x83, 0xc0, 0x20, //0x0000007a addq $32, %rax + 0x49, 0x83, 0xc1, 0xe0, //0x0000007e addq $-32, %r9 + 0x49, 0x83, 0xf9, 0x1f, //0x00000082 cmpq $31, %r9 + 0x0f, 0x87, 0xd4, 0xff, 0xff, 0xff, //0x00000086 ja LBB0_2 + 0x49, 0x89, 0xf1, //0x0000008c movq %rsi, %r9 + 0x4c, 0x89, 0xc0, //0x0000008f movq %r8, %rax + //0x00000092 LBB0_4 + 0x4d, 0x85, 0xc9, //0x00000092 testq %r9, %r9 + 0x0f, 0x84, 0x3a, 0x00, 0x00, 0x00, //0x00000095 je LBB0_13 + 0x4e, 0x8d, 0x04, 0x08, //0x0000009b leaq (%rax,%r9), %r8 + 0x48, 0xff, 0xc0, //0x0000009f incq %rax + 0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000000a2 movabsq $4294977024, %rsi + //0x000000ac LBB0_6 + 0x0f, 0xbe, 0x50, 0xff, //0x000000ac movsbl $-1(%rax), %edx + 0x83, 0xfa, 0x20, //0x000000b0 cmpl $32, %edx + 0x0f, 0x87, 0x38, 0x00, 0x00, 0x00, //0x000000b3 ja LBB0_8 + 0x48, 0x0f, 0xa3, 0xd6, //0x000000b9 btq %rdx, %rsi + 0x0f, 0x83, 0x2e, 0x00, 0x00, 0x00, //0x000000bd jae LBB0_8 + 0x49, 0xff, 0xc9, //0x000000c3 decq %r9 + 0x48, 0xff, 0xc0, //0x000000c6 incq %rax + 0x4d, 0x85, 0xc9, //0x000000c9 testq %r9, %r9 + 0x0f, 0x85, 0xda, 0xff, 0xff, 0xff, //0x000000cc jne LBB0_6 + 0x4c, 0x89, 0xc0, //0x000000d2 movq %r8, %rax + //0x000000d5 LBB0_13 + 0x48, 0x29, 0xf8, //0x000000d5 subq %rdi, %rax + 0x5d, //0x000000d8 popq %rbp + 0xc5, 0xf8, 0x77, //0x000000d9 vzeroupper + 0xc3, //0x000000dc retq + //0x000000dd LBB0_3 + 0x48, 0x29, 0xf8, //0x000000dd subq %rdi, %rax + 0xf7, 0xd2, //0x000000e0 notl %edx + 0x48, 0x63, 0xca, //0x000000e2 movslq %edx, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x000000e5 bsfq %rcx, %rcx + 0x48, 0x01, 0xc8, //0x000000e9 addq %rcx, %rax + 0x5d, //0x000000ec popq %rbp + 0xc5, 0xf8, 0x77, //0x000000ed vzeroupper + 0xc3, //0x000000f0 retq + //0x000000f1 LBB0_8 + 0x48, 0xf7, 0xd7, //0x000000f1 notq %rdi + 0x48, 0x01, 0xf8, //0x000000f4 addq %rdi, %rax + 0x5d, //0x000000f7 popq %rbp + 0xc5, 0xf8, 0x77, //0x000000f8 vzeroupper + 0xc3, //0x000000fb retq +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/native_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/native_amd64.go deleted file mode 100644 index bebd83c..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/avx2/native_amd64.go +++ /dev/null @@ -1,135 +0,0 @@ -// Code generated by Makefile, DO NOT EDIT. - -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package avx2 - -import ( - `unsafe` - - `github.com/bytedance/sonic/internal/native/types` -) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __i64toa(out *byte, val int64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __u64toa(out *byte, val uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __f64toa(out *byte, val float64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __f32toa(out *byte, val float32) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __lspace(sp unsafe.Pointer, nb int, off int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vstring(s *string, p *int, v *types.JsonState, flags uint64) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vnumber(s *string, p *int, v *types.JsonState) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vsigned(s *string, p *int, v *types.JsonState) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vunsigned(s *string, p *int, v *types.JsonState) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_one_fast(s *string, p *int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_number(s *string, p *int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __validate_one(s *string, p *int, m *types.StateMachine) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __validate_utf8_fast(s *string) (ret int) \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/native_amd64.s b/vendor/github.com/bytedance/sonic/internal/native/avx2/native_amd64.s deleted file mode 100644 index 07789ae..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/avx2/native_amd64.s +++ /dev/null @@ -1,15972 +0,0 @@ -// +build !noasm !appengine -// Code generated by asm2asm, DO NOT EDIT. - -#include "go_asm.h" -#include "funcdata.h" -#include "textflag.h" - -TEXT ·__native_entry__(SB), NOSPLIT, $0 - NO_LOCAL_POINTERS - LONG $0xf9058d48; WORD $0xffff; BYTE $0xff // leaq $-7(%rip), %rax - LONG $0x24448948; BYTE $0x08 // movq %rax, $8(%rsp) - BYTE $0xc3 // retq - QUAD $0x0000000000000000; QUAD $0x0000000000000000; WORD $0x0000; BYTE $0x00 // .p2align 5, 0x00 - -LCPI0_0: - BYTE $0x20 // .byte 32 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x09 // .byte 9 - BYTE $0x0a // .byte 10 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x0d // .byte 13 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x20 // .byte 32 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x09 // .byte 9 - BYTE $0x0a // .byte 10 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x0d // .byte 13 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - - // .p2align 4, 0x90 -_lspace: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - LONG $0x17048d48 // leaq (%rdi,%rdx), %rax - WORD $0x2948; BYTE $0xd6 // subq %rdx, %rsi - LONG $0x20fe8348 // cmpq $32, %rsi - LONG $0x0037820f; WORD $0x0000 // jb LBB0_5, $55(%rip) - QUAD $0xffffffc3056ffdc5 // vmovdqa $-61(%rip), %ymm0 /* LCPI0_0(%rip) */ - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB0_2: - LONG $0x086ffec5 // vmovdqu (%rax), %ymm1 - LONG $0x007de2c4; BYTE $0xd1 // vpshufb %ymm1, %ymm0, %ymm2 - LONG $0xca74f5c5 // vpcmpeqb %ymm2, %ymm1, %ymm1 - LONG $0xc9d7fdc5 // vpmovmskb %ymm1, %ecx - WORD $0xf983; BYTE $0xff // cmpl $-1, %ecx - LONG $0x005d850f; WORD $0x0000 // jne LBB0_3, $93(%rip) - LONG $0x20c08348 // addq $32, %rax - LONG $0xe0c68348 // addq $-32, %rsi - LONG $0x1ffe8348 // cmpq $31, %rsi - LONG $0xffd4870f; WORD $0xffff // ja LBB0_2, $-44(%rip) - -LBB0_5: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x003a840f; WORD $0x0000 // je LBB0_12, $58(%rip) - LONG $0x30048d4c // leaq (%rax,%rsi), %r8 - WORD $0xff48; BYTE $0xc0 // incq %rax - QUAD $0x000100002600ba48; WORD $0x0000 // movabsq $4294977024, %rdx - -LBB0_7: - LONG $0xff48be0f // movsbl $-1(%rax), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x0038870f; WORD $0x0000 // ja LBB0_9, $56(%rip) - LONG $0xcaa30f48 // btq %rcx, %rdx - LONG $0x002e830f; WORD $0x0000 // jae LBB0_9, $46(%rip) - WORD $0xff48; BYTE $0xce // decq %rsi - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xffda850f; WORD $0xffff // jne LBB0_7, $-38(%rip) - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - -LBB0_12: - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB0_3: - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - WORD $0xd1f7 // notl %ecx - WORD $0x6348; BYTE $0xc9 // movslq %ecx, %rcx - LONG $0xc9bc0f48 // bsfq %rcx, %rcx - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB0_9: - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x0148; BYTE $0xf8 // addq %rdi, %rax - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - QUAD $0x0000000000000000; WORD $0x0000 // .p2align 5, 0x00 - -LCPI1_0: - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - - // .p2align 4, 0x90 -_f64toa: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - LONG $0x7ef9e1c4; BYTE $0xc2 // vmovq %xmm0, %rdx - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0x34e8c148 // shrq $52, %rax - LONG $0x0007ff25; BYTE $0x00 // andl $2047, %eax - LONG $0x0007ff3d; BYTE $0x00 // cmpl $2047, %eax - LONG $0x0ade840f; WORD $0x0000 // je LBB1_1, $2782(%rip) - WORD $0x8949; BYTE $0xfe // movq %rdi, %r14 - WORD $0x07c6; BYTE $0x2d // movb $45, (%rdi) - WORD $0x8949; BYTE $0xd4 // movq %rdx, %r12 - LONG $0x3fecc149 // shrq $63, %r12 - LONG $0x273c8d4e // leaq (%rdi,%r12), %r15 - QUAD $0x00000000550c8d48 // leaq (,%rdx,2), %rcx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x01e3840f; WORD $0x0000 // je LBB1_3, $483(%rip) - QUAD $0xffffffffffffbf48; WORD $0x000f // movabsq $4503599627370495, %rdi - WORD $0x2148; BYTE $0xfa // andq %rdi, %rdx - WORD $0xc085 // testl %eax, %eax - LONG $0x0aae840f; WORD $0x0000 // je LBB1_5, $2734(%rip) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0x0948; BYTE $0xd7 // orq %rdx, %rdi - LONG $0xfbcd988d; WORD $0xffff // leal $-1075(%rax), %ebx - LONG $0xfc01888d; WORD $0xffff // leal $-1023(%rax), %ecx - WORD $0xf983; BYTE $0x34 // cmpl $52, %ecx - LONG $0x001a870f; WORD $0x0000 // ja LBB1_6, $26(%rip) - WORD $0xd989 // movl %ebx, %ecx - WORD $0xd9f7 // negl %ecx - LONG $0xffc6c748; WORD $0xffff; BYTE $0xff // movq $-1, %rsi - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0xf748; BYTE $0xd6 // notq %rsi - WORD $0x8548; BYTE $0xf7 // testq %rsi, %rdi - LONG $0x0421840f; WORD $0x0000 // je LBB1_11, $1057(%rip) - -LBB1_6: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - WORD $0x940f; BYTE $0xc1 // sete %cl - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - WORD $0x970f; BYTE $0xc0 // seta %al - WORD $0xc820 // andb %cl, %al - WORD $0xb60f; BYTE $0xc0 // movzbl %al, %eax - LONG $0x4413cb69; WORD $0x0013 // imull $1262611, %ebx, %ecx - WORD $0xd231 // xorl %edx, %edx - WORD $0xc084 // testb %al, %al - LONG $0x0101b941; WORD $0xfff8 // movl $-524031, %r9d - LONG $0xca440f44 // cmovel %edx, %r9d - LONG $0xb8748d48; BYTE $0xfe // leaq $-2(%rax,%rdi,4), %rsi - WORD $0x0141; BYTE $0xc9 // addl %ecx, %r9d - LONG $0x16f9c141 // sarl $22, %r9d - LONG $0xb1c96941; WORD $0xe56c; BYTE $0xff // imull $-1741647, %r9d, %ecx - WORD $0xe9c1; BYTE $0x13 // shrl $19, %ecx - WORD $0xd901 // addl %ebx, %ecx - LONG $0x000124b8; BYTE $0x00 // movl $292, %eax - WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax - LONG $0x04e0c148 // shlq $4, %rax - LONG $0xaa158d48; WORD $0x00c4; BYTE $0x00 // leaq $50346(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ - LONG $0x101c8b4c // movq (%rax,%rdx), %r11 - LONG $0x106c8b4c; BYTE $0x08 // movq $8(%rax,%rdx), %r13 - WORD $0xc1fe // incb %cl - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe5 // mulq %r13 - WORD $0x8948; BYTE $0xd3 // movq %rdx, %rbx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - QUAD $0x00000000bd348d48 // leaq (,%rdi,4), %rsi - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - LONG $0x00d28348 // adcq $0, %rdx - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0x01f88348 // cmpq $1, %rax - WORD $0x970f; BYTE $0xc3 // seta %bl - WORD $0x0948; BYTE $0xd3 // orq %rdx, %rbx - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe5 // mulq %r13 - WORD $0x8949; BYTE $0xd2 // movq %rdx, %r10 - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - QUAD $0x00000002bd348d48 // leaq $2(,%rdi,4), %rsi - WORD $0x014c; BYTE $0xd0 // addq %r10, %rax - LONG $0x00d08349 // adcq $0, %r8 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - LONG $0x01f88348 // cmpq $1, %rax - LONG $0xc2970f41 // seta %r10b - WORD $0x094d; BYTE $0xc2 // orq %r8, %r10 - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe5 // mulq %r13 - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - LONG $0x00d28348 // adcq $0, %rdx - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x01f88348 // cmpq $1, %rax - WORD $0x970f; BYTE $0xc1 // seta %cl - WORD $0x0948; BYTE $0xd1 // orq %rdx, %rcx - WORD $0xe783; BYTE $0x01 // andl $1, %edi - WORD $0x0148; BYTE $0xfb // addq %rdi, %rbx - WORD $0x2948; BYTE $0xf9 // subq %rdi, %rcx - LONG $0x28fa8349 // cmpq $40, %r10 - LONG $0x003e820f; WORD $0x0000 // jb LBB1_29, $62(%rip) - QUAD $0xcccccccccccdba48; WORD $0xcccc // movabsq $-3689348814741910323, %rdx - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - WORD $0xf748; BYTE $0xe2 // mulq %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0x05efc148 // shrq $5, %rdi - QUAD $0x00000000fd048d48 // leaq (,%rdi,8), %rax - LONG $0x80148d48 // leaq (%rax,%rax,4), %rdx - WORD $0x3948; BYTE $0xd3 // cmpq %rdx, %rbx - LONG $0xc6970f40 // seta %sil - LONG $0x80448d48; BYTE $0x28 // leaq $40(%rax,%rax,4), %rax - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - WORD $0x960f; BYTE $0xc2 // setbe %dl - WORD $0x3040; BYTE $0xf2 // xorb %sil, %dl - LONG $0x0130840f; WORD $0x0000 // je LBB1_8, $304(%rip) - -LBB1_29: - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0x02e8c148 // shrq $2, %rax - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - LONG $0xfce28348 // andq $-4, %rdx - WORD $0x3948; BYTE $0xd3 // cmpq %rdx, %rbx - LONG $0xc7970f40 // seta %dil - LONG $0x04728d48 // leaq $4(%rdx), %rsi - WORD $0x3948; BYTE $0xce // cmpq %rcx, %rsi - WORD $0x960f; BYTE $0xc3 // setbe %bl - WORD $0x3040; BYTE $0xfb // xorb %dil, %bl - LONG $0x0053840f; WORD $0x0000 // je LBB1_30, $83(%rip) - LONG $0x02ca8348 // orq $2, %rdx - LONG $0x000001bf; BYTE $0x00 // movl $1, %edi - WORD $0x3949; BYTE $0xd2 // cmpq %rdx, %r10 - LONG $0x000e870f; WORD $0x0000 // ja LBB1_33, $14(%rip) - WORD $0x940f; BYTE $0xc1 // sete %cl - LONG $0x02e8c041 // shrb $2, %r8b - WORD $0x2041; BYTE $0xc8 // andb %cl, %r8b - LONG $0xf8b60f41 // movzbl %r8b, %edi - -LBB1_33: - WORD $0x0148; BYTE $0xc7 // addq %rax, %rdi - QUAD $0x0001ffffff80b848; WORD $0x0000 // movabsq $8589934464, %rax - LONG $0xe47f0548; WORD $0x540b // addq $1410065535, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x003a870f; WORD $0x0000 // ja LBB1_35, $58(%rip) - LONG $0x0000eae9; BYTE $0x00 // jmp LBB1_41, $234(%rip) - -LBB1_3: - LONG $0x3007c641 // movb $48, (%r15) - WORD $0x2945; BYTE $0xf7 // subl %r14d, %r15d - WORD $0xff41; BYTE $0xc7 // incl %r15d - WORD $0x8944; BYTE $0xfb // movl %r15d, %ebx - LONG $0x0008a2e9; BYTE $0x00 // jmp LBB1_116, $2210(%rip) - -LBB1_30: - WORD $0x3948; BYTE $0xf1 // cmpq %rsi, %rcx - LONG $0xffd88348 // sbbq $-1, %rax - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - QUAD $0x0001ffffff80b848; WORD $0x0000 // movabsq $8589934464, %rax - LONG $0xe47f0548; WORD $0x540b // addq $1410065535, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x00b5860f; WORD $0x0000 // jbe LBB1_41, $181(%rip) - -LBB1_35: - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0be8c148 // shrq $11, %rax - LONG $0x00000bba; BYTE $0x00 // movl $11, %edx - LONG $0x0edd3d48; WORD $0x02e9 // cmpq $48828125, %rax - LONG $0x0127820f; WORD $0x0000 // jb LBB1_51, $295(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0ce8c148 // shrq $12, %rax - LONG $0x00000cba; BYTE $0x00 // movl $12, %edx - LONG $0x4a513d48; WORD $0x0e8d // cmpq $244140625, %rax - LONG $0x010f820f; WORD $0x0000 // jb LBB1_51, $271(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0de8c148 // shrq $13, %rax - LONG $0x00000dba; BYTE $0x00 // movl $13, %edx - LONG $0x73953d48; WORD $0x48c2 // cmpq $1220703125, %rax - LONG $0x00f7820f; WORD $0x0000 // jb LBB1_51, $247(%rip) - LONG $0x00000eba; BYTE $0x00 // movl $14, %edx - QUAD $0x5af3107a4000b848; WORD $0x0000 // movabsq $100000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x00df820f; WORD $0x0000 // jb LBB1_51, $223(%rip) - LONG $0x00000fba; BYTE $0x00 // movl $15, %edx - QUAD $0x8d7ea4c68000b848; WORD $0x0003 // movabsq $1000000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x00c7820f; WORD $0x0000 // jb LBB1_51, $199(%rip) - QUAD $0x86f26fc10000b848; WORD $0x0023 // movabsq $10000000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x000011ba; BYTE $0x00 // movl $17, %edx - -LBB1_50: - WORD $0xda83; BYTE $0x00 // sbbl $0, %edx - LONG $0x0000ade9; BYTE $0x00 // jmp LBB1_51, $173(%rip) - -LBB1_8: - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0xffdf8348 // sbbq $-1, %rdi - WORD $0xff41; BYTE $0xc1 // incl %r9d - QUAD $0x0001ffffff80b848; WORD $0x0000 // movabsq $8589934464, %rax - LONG $0xe47f0548; WORD $0x540b // addq $1410065535, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0xff4b870f; WORD $0xffff // ja LBB1_35, $-181(%rip) - -LBB1_41: - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0x0aff8348 // cmpq $10, %rdi - LONG $0x007b820f; WORD $0x0000 // jb LBB1_51, $123(%rip) - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - LONG $0x64ff8348 // cmpq $100, %rdi - LONG $0x006c820f; WORD $0x0000 // jb LBB1_51, $108(%rip) - LONG $0x000003ba; BYTE $0x00 // movl $3, %edx - LONG $0xe8ff8148; WORD $0x0003; BYTE $0x00 // cmpq $1000, %rdi - LONG $0x005a820f; WORD $0x0000 // jb LBB1_51, $90(%rip) - LONG $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0x10ff8148; WORD $0x0027; BYTE $0x00 // cmpq $10000, %rdi - LONG $0x0048820f; WORD $0x0000 // jb LBB1_51, $72(%rip) - LONG $0x000005ba; BYTE $0x00 // movl $5, %edx - LONG $0xa0ff8148; WORD $0x0186; BYTE $0x00 // cmpq $100000, %rdi - LONG $0x0036820f; WORD $0x0000 // jb LBB1_51, $54(%rip) - LONG $0x000006ba; BYTE $0x00 // movl $6, %edx - LONG $0x40ff8148; WORD $0x0f42; BYTE $0x00 // cmpq $1000000, %rdi - LONG $0x0024820f; WORD $0x0000 // jb LBB1_51, $36(%rip) - LONG $0x000007ba; BYTE $0x00 // movl $7, %edx - LONG $0x80ff8148; WORD $0x9896; BYTE $0x00 // cmpq $10000000, %rdi - LONG $0x0012820f; WORD $0x0000 // jb LBB1_51, $18(%rip) - LONG $0x000008ba; BYTE $0x00 // movl $8, %edx - LONG $0x00ff8148; WORD $0xf5e1; BYTE $0x05 // cmpq $100000000, %rdi - LONG $0x0754830f; WORD $0x0000 // jae LBB1_49, $1876(%rip) - -LBB1_51: - LONG $0x0a2c8d46 // leal (%rdx,%r9), %r13d - LONG $0x0a448d42; BYTE $0x05 // leal $5(%rdx,%r9), %eax - WORD $0xf883; BYTE $0x1b // cmpl $27, %eax - LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip) - LONG $0x01678d4d // leaq $1(%r15), %r12 - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x008cafe8; BYTE $0x00 // callq _format_significand, $36015(%rip) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB1_53: - LONG $0x30ff7b80 // cmpb $48, $-1(%rbx) - LONG $0xff5b8d48 // leaq $-1(%rbx), %rbx - LONG $0xfff2840f; WORD $0xffff // je LBB1_53, $-14(%rip) - LONG $0x01478a41 // movb $1(%r15), %al - WORD $0x8841; BYTE $0x07 // movb %al, (%r15) - LONG $0x01438d48 // leaq $1(%rbx), %rax - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x294c; BYTE $0xe1 // subq %r12, %rcx - LONG $0x02f98348 // cmpq $2, %rcx - LONG $0x00088c0f; WORD $0x0000 // jl LBB1_56, $8(%rip) - LONG $0x2404c641; BYTE $0x2e // movb $46, (%r12) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - -LBB1_56: - WORD $0x03c6; BYTE $0x65 // movb $101, (%rbx) - LONG $0xff458d41 // leal $-1(%r13), %eax - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x01548e0f; WORD $0x0000 // jle LBB1_57, $340(%rip) - LONG $0x2b0143c6 // movb $43, $1(%rbx) - WORD $0xf883; BYTE $0x64 // cmpl $100, %eax - LONG $0x01568c0f; WORD $0x0000 // jl LBB1_61, $342(%rip) - -LBB1_60: - WORD $0xc189 // movl %eax, %ecx - LONG $0xcccccdba; BYTE $0xcc // movl $3435973837, %edx - LONG $0xd1af0f48 // imulq %rcx, %rdx - LONG $0x23eac148 // shrq $35, %rdx - WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx - WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx - WORD $0xc829 // subl %ecx, %eax - LONG $0x840d8d48; WORD $0x00c0; BYTE $0x00 // leaq $49284(%rip), %rcx /* _Digits(%rip) */ - LONG $0x510cb70f // movzwl (%rcx,%rdx,2), %ecx - LONG $0x024b8966 // movw %cx, $2(%rbx) - WORD $0x300c // orb $48, %al - WORD $0x4388; BYTE $0x04 // movb %al, $4(%rbx) - LONG $0x05c38348 // addq $5, %rbx - LONG $0x00068ee9; BYTE $0x00 // jmp LBB1_115, $1678(%rip) - -LBB1_64: - WORD $0x8545; BYTE $0xc9 // testl %r9d, %r9d - LONG $0x013c880f; WORD $0x0000 // js LBB1_65, $316(%rip) - WORD $0x634d; BYTE $0xed // movslq %r13d, %r13 - LONG $0x2f1c8d4b // leaq (%r15,%r13), %rbx - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0x0006c6e8; BYTE $0x00 // callq _format_integer, $1734(%rip) - WORD $0x3948; BYTE $0xd8 // cmpq %rbx, %rax - LONG $0x066d830f; WORD $0x0000 // jae LBB1_115, $1645(%rip) - WORD $0x014d; BYTE $0xec // addq %r13, %r12 - WORD $0x2949; BYTE $0xc4 // subq %rax, %r12 - WORD $0x014d; BYTE $0xf4 // addq %r14, %r12 - LONG $0x80fc8149; WORD $0x0000; BYTE $0x00 // cmpq $128, %r12 - LONG $0x0317820f; WORD $0x0000 // jb LBB1_114, $791(%rip) - WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx - LONG $0x80e18348 // andq $-128, %rcx - LONG $0x80798d48 // leaq $-128(%rcx), %rdi - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - LONG $0x07eec148 // shrq $7, %rsi - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0xf289 // movl %esi, %edx - WORD $0xe283; BYTE $0x03 // andl $3, %edx - LONG $0x80ff8148; WORD $0x0001; BYTE $0x00 // cmpq $384, %rdi - LONG $0x01fc830f; WORD $0x0000 // jae LBB1_107, $508(%rip) - WORD $0xff31 // xorl %edi, %edi - LONG $0x00029de9; BYTE $0x00 // jmp LBB1_109, $669(%rip) - -LBB1_11: - WORD $0xd348; BYTE $0xef // shrq %cl, %rdi - QUAD $0x0001ffffff80b848; WORD $0x0000 // movabsq $8589934464, %rax - LONG $0xe47f0548; WORD $0x540b // addq $1410065535, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x013f860f; WORD $0x0000 // jbe LBB1_18, $319(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0be8c148 // shrq $11, %rax - LONG $0x00000bba; BYTE $0x00 // movl $11, %edx - LONG $0x0edd3d48; WORD $0x02e9 // cmpq $48828125, %rax - LONG $0x01b1820f; WORD $0x0000 // jb LBB1_28, $433(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0ce8c148 // shrq $12, %rax - LONG $0x00000cba; BYTE $0x00 // movl $12, %edx - LONG $0x4a513d48; WORD $0x0e8d // cmpq $244140625, %rax - LONG $0x0199820f; WORD $0x0000 // jb LBB1_28, $409(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0de8c148 // shrq $13, %rax - LONG $0x00000dba; BYTE $0x00 // movl $13, %edx - LONG $0x73953d48; WORD $0x48c2 // cmpq $1220703125, %rax - LONG $0x0181820f; WORD $0x0000 // jb LBB1_28, $385(%rip) - LONG $0x00000eba; BYTE $0x00 // movl $14, %edx - QUAD $0x5af3107a4000b848; WORD $0x0000 // movabsq $100000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x0169820f; WORD $0x0000 // jb LBB1_28, $361(%rip) - LONG $0x00000fba; BYTE $0x00 // movl $15, %edx - QUAD $0x8d7ea4c68000b848; WORD $0x0003 // movabsq $1000000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x0151820f; WORD $0x0000 // jb LBB1_28, $337(%rip) - QUAD $0x86f26fc10000b848; WORD $0x0023 // movabsq $10000000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x000011ba; BYTE $0x00 // movl $17, %edx - -LBB1_27: - WORD $0xda83; BYTE $0x00 // sbbl $0, %edx - LONG $0x000137e9; BYTE $0x00 // jmp LBB1_28, $311(%rip) - -LBB1_57: - LONG $0x2d0143c6 // movb $45, $1(%rbx) - WORD $0xd8f7 // negl %eax - WORD $0xf883; BYTE $0x64 // cmpl $100, %eax - LONG $0xfeaa8d0f; WORD $0xffff // jge LBB1_60, $-342(%rip) - -LBB1_61: - WORD $0xf883; BYTE $0x0a // cmpl $10, %eax - LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip) - WORD $0xc089 // movl %eax, %eax - LONG $0x3a0d8d48; WORD $0x00bf; BYTE $0x00 // leaq $48954(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x02438966 // movw %ax, $2(%rbx) - LONG $0x04c38348 // addq $4, %rbx - LONG $0x000549e9; BYTE $0x00 // jmp LBB1_115, $1353(%rip) - -LBB1_65: - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x031f8f0f; WORD $0x0000 // jg LBB1_78, $799(%rip) - LONG $0x07c74166; WORD $0x2e30 // movw $11824, (%r15) - LONG $0x02c78349 // addq $2, %r15 - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x030c890f; WORD $0x0000 // jns LBB1_78, $780(%rip) - WORD $0x8941; BYTE $0xd0 // movl %edx, %r8d - WORD $0xf741; BYTE $0xd0 // notl %r8d - WORD $0x2945; BYTE $0xc8 // subl %r9d, %r8d - WORD $0xc031 // xorl %eax, %eax - LONG $0x7ff88341 // cmpl $127, %r8d - LONG $0x02de820f; WORD $0x0000 // jb LBB1_76, $734(%rip) - WORD $0xff49; BYTE $0xc0 // incq %r8 - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - QUAD $0x0001ffffff80b948; WORD $0x0000 // movabsq $8589934464, %rcx - WORD $0x2148; BYTE $0xc8 // andq %rcx, %rax - LONG $0x80488d48 // leaq $-128(%rax), %rcx - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - LONG $0x07eec148 // shrq $7, %rsi - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x8941; BYTE $0xf1 // movl %esi, %r9d - LONG $0x03e18341 // andl $3, %r9d - LONG $0x80f98148; WORD $0x0001; BYTE $0x00 // cmpq $384, %rcx - LONG $0x01b7830f; WORD $0x0000 // jae LBB1_70, $439(%rip) - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x00025ae9; BYTE $0x00 // jmp LBB1_72, $602(%rip) - -LBB1_63: - WORD $0x3004 // addb $48, %al - WORD $0x4388; BYTE $0x02 // movb %al, $2(%rbx) - LONG $0x03c38348 // addq $3, %rbx - LONG $0x0004cee9; BYTE $0x00 // jmp LBB1_115, $1230(%rip) - -LBB1_18: - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0x0aff8348 // cmpq $10, %rdi - LONG $0x007b820f; WORD $0x0000 // jb LBB1_28, $123(%rip) - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - LONG $0x64ff8348 // cmpq $100, %rdi - LONG $0x006c820f; WORD $0x0000 // jb LBB1_28, $108(%rip) - LONG $0x000003ba; BYTE $0x00 // movl $3, %edx - LONG $0xe8ff8148; WORD $0x0003; BYTE $0x00 // cmpq $1000, %rdi - LONG $0x005a820f; WORD $0x0000 // jb LBB1_28, $90(%rip) - LONG $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0x10ff8148; WORD $0x0027; BYTE $0x00 // cmpq $10000, %rdi - LONG $0x0048820f; WORD $0x0000 // jb LBB1_28, $72(%rip) - LONG $0x000005ba; BYTE $0x00 // movl $5, %edx - LONG $0xa0ff8148; WORD $0x0186; BYTE $0x00 // cmpq $100000, %rdi - LONG $0x0036820f; WORD $0x0000 // jb LBB1_28, $54(%rip) - LONG $0x000006ba; BYTE $0x00 // movl $6, %edx - LONG $0x40ff8148; WORD $0x0f42; BYTE $0x00 // cmpq $1000000, %rdi - LONG $0x0024820f; WORD $0x0000 // jb LBB1_28, $36(%rip) - LONG $0x000007ba; BYTE $0x00 // movl $7, %edx - LONG $0x80ff8148; WORD $0x9896; BYTE $0x00 // cmpq $10000000, %rdi - LONG $0x0012820f; WORD $0x0000 // jb LBB1_28, $18(%rip) - LONG $0x000008ba; BYTE $0x00 // movl $8, %edx - LONG $0x00ff8148; WORD $0xf5e1; BYTE $0x05 // cmpq $100000000, %rdi - LONG $0x0480830f; WORD $0x0000 // jae LBB1_26, $1152(%rip) - -LBB1_28: - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0x00048ce8; BYTE $0x00 // callq _format_integer, $1164(%rip) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - LONG $0x000434e9; BYTE $0x00 // jmp LBB1_115, $1076(%rip) - -LBB1_107: - LONG $0xfce68348 // andq $-4, %rsi - WORD $0xf748; BYTE $0xde // negq %rsi - WORD $0xff31 // xorl %edi, %edi - QUAD $0xfffff923056ffdc5 // vmovdqa $-1757(%rip), %ymm0 /* LCPI1_0(%rip) */ - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_108: - LONG $0x047ffec5; BYTE $0x38 // vmovdqu %ymm0, (%rax,%rdi) - LONG $0x447ffec5; WORD $0x2038 // vmovdqu %ymm0, $32(%rax,%rdi) - LONG $0x447ffec5; WORD $0x4038 // vmovdqu %ymm0, $64(%rax,%rdi) - LONG $0x447ffec5; WORD $0x6038 // vmovdqu %ymm0, $96(%rax,%rdi) - QUAD $0x00008038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $128(%rax,%rdi) - QUAD $0x0000a038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $160(%rax,%rdi) - QUAD $0x0000c038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $192(%rax,%rdi) - QUAD $0x0000e038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $224(%rax,%rdi) - QUAD $0x00010038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $256(%rax,%rdi) - QUAD $0x00012038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $288(%rax,%rdi) - QUAD $0x00014038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $320(%rax,%rdi) - QUAD $0x00016038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $352(%rax,%rdi) - QUAD $0x00018038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $384(%rax,%rdi) - QUAD $0x0001a038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $416(%rax,%rdi) - QUAD $0x0001c038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $448(%rax,%rdi) - QUAD $0x0001e038847ffec5; BYTE $0x00 // vmovdqu %ymm0, $480(%rax,%rdi) - LONG $0x00c78148; WORD $0x0002; BYTE $0x00 // addq $512, %rdi - LONG $0x04c68348 // addq $4, %rsi - LONG $0xff6c850f; WORD $0xffff // jne LBB1_108, $-148(%rip) - -LBB1_109: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0033840f; WORD $0x0000 // je LBB1_112, $51(%rip) - LONG $0x07748d48; BYTE $0x60 // leaq $96(%rdi,%rax), %rsi - WORD $0xf748; BYTE $0xda // negq %rdx - QUAD $0xfffff873056ffdc5 // vmovdqa $-1933(%rip), %ymm0 /* LCPI1_0(%rip) */ - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_111: - LONG $0x467ffec5; BYTE $0xa0 // vmovdqu %ymm0, $-96(%rsi) - LONG $0x467ffec5; BYTE $0xc0 // vmovdqu %ymm0, $-64(%rsi) - LONG $0x467ffec5; BYTE $0xe0 // vmovdqu %ymm0, $-32(%rsi) - LONG $0x067ffec5 // vmovdqu %ymm0, (%rsi) - LONG $0x80ee8348 // subq $-128, %rsi - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0xffe0850f; WORD $0xffff // jne LBB1_111, $-32(%rip) - -LBB1_112: - WORD $0x394c; BYTE $0xe1 // cmpq %r12, %rcx - LONG $0x0347840f; WORD $0x0000 // je LBB1_115, $839(%rip) - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - LONG $0x90909090 // .p2align 4, 0x90 - -LBB1_114: - WORD $0x00c6; BYTE $0x30 // movb $48, (%rax) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x3948; BYTE $0xc3 // cmpq %rax, %rbx - LONG $0xfff1850f; WORD $0xffff // jne LBB1_114, $-15(%rip) - LONG $0x00032ce9; BYTE $0x00 // jmp LBB1_115, $812(%rip) - -LBB1_70: - QUAD $0x000001e2349c8d4b // leaq $482(%r12,%r14), %rbx - LONG $0xfce68348 // andq $-4, %rsi - WORD $0xf748; BYTE $0xde // negq %rsi - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0xfffff813056ffdc5 // vmovdqa $-2029(%rip), %ymm0 /* LCPI1_0(%rip) */ - -LBB1_71: - QUAD $0xfffe200b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-480(%rbx,%rcx) - QUAD $0xfffe400b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-448(%rbx,%rcx) - QUAD $0xfffe600b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-416(%rbx,%rcx) - QUAD $0xfffe800b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-384(%rbx,%rcx) - QUAD $0xfffea00b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-352(%rbx,%rcx) - QUAD $0xfffec00b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-320(%rbx,%rcx) - QUAD $0xfffee00b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-288(%rbx,%rcx) - QUAD $0xffff000b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-256(%rbx,%rcx) - QUAD $0xffff200b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-224(%rbx,%rcx) - QUAD $0xffff400b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-192(%rbx,%rcx) - QUAD $0xffff600b847ffec5; BYTE $0xff // vmovdqu %ymm0, $-160(%rbx,%rcx) - LONG $0x447ffec5; WORD $0x800b // vmovdqu %ymm0, $-128(%rbx,%rcx) - LONG $0x447ffec5; WORD $0xa00b // vmovdqu %ymm0, $-96(%rbx,%rcx) - LONG $0x447ffec5; WORD $0xc00b // vmovdqu %ymm0, $-64(%rbx,%rcx) - LONG $0x447ffec5; WORD $0xe00b // vmovdqu %ymm0, $-32(%rbx,%rcx) - LONG $0x047ffec5; BYTE $0x0b // vmovdqu %ymm0, (%rbx,%rcx) - LONG $0x00c18148; WORD $0x0002; BYTE $0x00 // addq $512, %rcx - LONG $0x04c68348 // addq $4, %rsi - LONG $0xff6f850f; WORD $0xffff // jne LBB1_71, $-145(%rip) - -LBB1_72: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x0033840f; WORD $0x0000 // je LBB1_75, $51(%rip) - WORD $0x014c; BYTE $0xe1 // addq %r12, %rcx - LONG $0x0e4c8d49; BYTE $0x62 // leaq $98(%r14,%rcx), %rcx - WORD $0xf749; BYTE $0xd9 // negq %r9 - QUAD $0xfffff766056ffdc5 // vmovdqa $-2202(%rip), %ymm0 /* LCPI1_0(%rip) */ - -LBB1_74: - LONG $0x417ffec5; BYTE $0xa0 // vmovdqu %ymm0, $-96(%rcx) - LONG $0x417ffec5; BYTE $0xc0 // vmovdqu %ymm0, $-64(%rcx) - LONG $0x417ffec5; BYTE $0xe0 // vmovdqu %ymm0, $-32(%rcx) - LONG $0x017ffec5 // vmovdqu %ymm0, (%rcx) - LONG $0x80e98348 // subq $-128, %rcx - WORD $0xff49; BYTE $0xc1 // incq %r9 - LONG $0xffe0850f; WORD $0xffff // jne LBB1_74, $-32(%rip) - -LBB1_75: - WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 - WORD $0x3949; BYTE $0xc0 // cmpq %rax, %r8 - LONG $0x0019840f; WORD $0x0000 // je LBB1_78, $25(%rip) - -LBB1_76: - WORD $0x0144; BYTE $0xe8 // addl %r13d, %eax - WORD $0xd8f7 // negl %eax - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_77: - LONG $0x3007c641 // movb $48, (%r15) - WORD $0xff49; BYTE $0xc7 // incq %r15 - WORD $0xc8ff // decl %eax - LONG $0xfff1850f; WORD $0xffff // jne LBB1_77, $-15(%rip) - -LBB1_78: - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x0087a6e8; BYTE $0x00 // callq _format_significand, $34726(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB1_79: - LONG $0x30ff7880 // cmpb $48, $-1(%rax) - LONG $0xff408d48 // leaq $-1(%rax), %rax - LONG $0xfff2840f; WORD $0xffff // je LBB1_79, $-14(%rip) - LONG $0x01588d48 // leaq $1(%rax), %rbx - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x01f58e0f; WORD $0x0000 // jle LBB1_115, $501(%rip) - WORD $0xda89 // movl %ebx, %edx - WORD $0x2944; BYTE $0xfa // subl %r15d, %edx - WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - WORD $0xd129 // subl %edx, %ecx - LONG $0x00258d0f; WORD $0x0000 // jge LBB1_82, $37(%rip) - WORD $0x2944; BYTE $0xea // subl %r13d, %edx - LONG $0x00c48e0f; WORD $0x0000 // jle LBB1_100, $196(%rip) - WORD $0xd689 // movl %edx, %esi - LONG $0xff568d48 // leaq $-1(%rsi), %rdx - WORD $0xf189 // movl %esi, %ecx - WORD $0xe183; BYTE $0x03 // andl $3, %ecx - LONG $0x03fa8348 // cmpq $3, %rdx - LONG $0x005c830f; WORD $0x0000 // jae LBB1_101, $92(%rip) - WORD $0xd231 // xorl %edx, %edx - LONG $0x000078e9; BYTE $0x00 // jmp LBB1_97, $120(%rip) - -LBB1_82: - LONG $0x01ba8e0f; WORD $0x0000 // jle LBB1_115, $442(%rip) - WORD $0x0145; BYTE $0xfd // addl %r15d, %r13d - WORD $0x8941; BYTE $0xd8 // movl %ebx, %r8d - WORD $0xf741; BYTE $0xd0 // notl %r8d - WORD $0x0145; BYTE $0xe8 // addl %r13d, %r8d - WORD $0xd231 // xorl %edx, %edx - LONG $0x7ef88341 // cmpl $126, %r8d - LONG $0x0192860f; WORD $0x0000 // jbe LBB1_92, $402(%rip) - WORD $0xff49; BYTE $0xc0 // incq %r8 - QUAD $0x0001ffffff80b949; WORD $0x0000 // movabsq $8589934464, %r9 - WORD $0x214d; BYTE $0xc1 // andq %r8, %r9 - LONG $0x80518d49 // leaq $-128(%r9), %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0x07efc148 // shrq $7, %rdi - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0xfe89 // movl %edi, %esi - WORD $0xe683; BYTE $0x03 // andl $3, %esi - LONG $0x80fa8148; WORD $0x0001; BYTE $0x00 // cmpq $384, %rdx - LONG $0x006e830f; WORD $0x0000 // jae LBB1_86, $110(%rip) - WORD $0xd231 // xorl %edx, %edx - LONG $0x00010de9; BYTE $0x00 // jmp LBB1_88, $269(%rip) - -LBB1_101: - WORD $0xe683; BYTE $0xfc // andl $-4, %esi - WORD $0xf748; BYTE $0xde // negq %rsi - WORD $0xd231 // xorl %edx, %edx - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_102: - LONG $0xfd107c8b // movl $-3(%rax,%rdx), %edi - LONG $0xfe107c89 // movl %edi, $-2(%rax,%rdx) - LONG $0xfcc28348 // addq $-4, %rdx - WORD $0x3948; BYTE $0xd6 // cmpq %rdx, %rsi - LONG $0xffeb850f; WORD $0xffff // jne LBB1_102, $-21(%rip) - WORD $0xf748; BYTE $0xda // negq %rdx - -LBB1_97: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x0027840f; WORD $0x0000 // je LBB1_100, $39(%rip) - WORD $0xf748; BYTE $0xda // negq %rdx - WORD $0xf748; BYTE $0xd9 // negq %rcx - WORD $0xf631 // xorl %esi, %esi - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_99: - LONG $0x323c8d48 // leaq (%rdx,%rsi), %rdi - LONG $0x381cb60f // movzbl (%rax,%rdi), %ebx - LONG $0x01385c88 // movb %bl, $1(%rax,%rdi) - WORD $0xff48; BYTE $0xce // decq %rsi - WORD $0x3948; BYTE $0xf1 // cmpq %rsi, %rcx - LONG $0xffe8850f; WORD $0xffff // jne LBB1_99, $-24(%rip) - -LBB1_100: - WORD $0x6349; BYTE $0xcd // movslq %r13d, %rcx - LONG $0x0f04c641; BYTE $0x2e // movb $46, (%r15,%rcx) - LONG $0x02c08348 // addq $2, %rax - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - LONG $0x000104e9; BYTE $0x00 // jmp LBB1_115, $260(%rip) - -LBB1_86: - LONG $0xfce78348 // andq $-4, %rdi - WORD $0xf748; BYTE $0xdf // negq %rdi - WORD $0xd231 // xorl %edx, %edx - QUAD $0xfffff5f3056ffdc5 // vmovdqa $-2573(%rip), %ymm0 /* LCPI1_0(%rip) */ - -LBB1_87: - LONG $0x447ffec5; WORD $0x0110 // vmovdqu %ymm0, $1(%rax,%rdx) - LONG $0x447ffec5; WORD $0x2110 // vmovdqu %ymm0, $33(%rax,%rdx) - LONG $0x447ffec5; WORD $0x4110 // vmovdqu %ymm0, $65(%rax,%rdx) - LONG $0x447ffec5; WORD $0x6110 // vmovdqu %ymm0, $97(%rax,%rdx) - QUAD $0x00008110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $129(%rax,%rdx) - QUAD $0x0000a110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $161(%rax,%rdx) - QUAD $0x0000c110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $193(%rax,%rdx) - QUAD $0x0000e110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $225(%rax,%rdx) - QUAD $0x00010110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $257(%rax,%rdx) - QUAD $0x00012110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $289(%rax,%rdx) - QUAD $0x00014110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $321(%rax,%rdx) - QUAD $0x00016110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $353(%rax,%rdx) - QUAD $0x00018110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $385(%rax,%rdx) - QUAD $0x0001a110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $417(%rax,%rdx) - QUAD $0x0001c110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $449(%rax,%rdx) - QUAD $0x0001e110847ffec5; BYTE $0x00 // vmovdqu %ymm0, $481(%rax,%rdx) - LONG $0x00c28148; WORD $0x0002; BYTE $0x00 // addq $512, %rdx - LONG $0x04c78348 // addq $4, %rdi - LONG $0xff6b850f; WORD $0xffff // jne LBB1_87, $-149(%rip) - -LBB1_88: - LONG $0x085c8d4a; BYTE $0x01 // leaq $1(%rax,%r9), %rbx - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0030840f; WORD $0x0000 // je LBB1_91, $48(%rip) - LONG $0x10448d48; BYTE $0x61 // leaq $97(%rax,%rdx), %rax - WORD $0xf748; BYTE $0xde // negq %rsi - QUAD $0xfffff540056ffdc5 // vmovdqa $-2752(%rip), %ymm0 /* LCPI1_0(%rip) */ - -LBB1_90: - LONG $0x407ffec5; BYTE $0xa0 // vmovdqu %ymm0, $-96(%rax) - LONG $0x407ffec5; BYTE $0xc0 // vmovdqu %ymm0, $-64(%rax) - LONG $0x407ffec5; BYTE $0xe0 // vmovdqu %ymm0, $-32(%rax) - LONG $0x007ffec5 // vmovdqu %ymm0, (%rax) - LONG $0x80e88348 // subq $-128, %rax - WORD $0xff48; BYTE $0xc6 // incq %rsi - LONG $0xffe0850f; WORD $0xffff // jne LBB1_90, $-32(%rip) - -LBB1_91: - WORD $0x8944; BYTE $0xca // movl %r9d, %edx - WORD $0x394d; BYTE $0xc8 // cmpq %r9, %r8 - LONG $0x0014840f; WORD $0x0000 // je LBB1_115, $20(%rip) - LONG $0x90909090 // .p2align 4, 0x90 - -LBB1_92: - WORD $0x03c6; BYTE $0x30 // movb $48, (%rbx) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xc2ff // incl %edx - WORD $0xca39 // cmpl %ecx, %edx - LONG $0xfff08c0f; WORD $0xffff // jl LBB1_92, $-16(%rip) - -LBB1_115: - WORD $0x2944; BYTE $0xf3 // subl %r14d, %ebx - -LBB1_116: - WORD $0xd889 // movl %ebx, %eax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB1_49: - LONG $0x00ff8148; WORD $0x9aca; BYTE $0x3b // cmpq $1000000000, %rdi - LONG $0x00000aba; BYTE $0x00 // movl $10, %edx - LONG $0xfff7e6e9; BYTE $0xff // jmp LBB1_50, $-2074(%rip) - -LBB1_1: - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0xffffd4e9; BYTE $0xff // jmp LBB1_116, $-44(%rip) - -LBB1_5: - LONG $0xfffbcebb; BYTE $0xff // movl $-1074, %ebx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0xfff57ae9; BYTE $0xff // jmp LBB1_6, $-2694(%rip) - -LBB1_26: - LONG $0x00ff8148; WORD $0x9aca; BYTE $0x3b // cmpq $1000000000, %rdi - LONG $0x00000aba; BYTE $0x00 // movl $10, %edx - LONG $0xfffa30e9; BYTE $0xff // jmp LBB1_27, $-1488(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_format_integer: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - WORD $0x8941; BYTE $0xd0 // movl %edx, %r8d - WORD $0x0149; BYTE $0xf0 // addq %rsi, %r8 - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x20e8c148 // shrq $32, %rax - LONG $0x0016850f; WORD $0x0000 // jne LBB2_2, $22(%rip) - WORD $0x894d; BYTE $0xc3 // movq %r8, %r11 - LONG $0x2710ff81; WORD $0x0000 // cmpl $10000, %edi - LONG $0x00c3830f; WORD $0x0000 // jae LBB2_5, $195(%rip) - -LBB2_4: - WORD $0xfa89 // movl %edi, %edx - LONG $0x00011ae9; BYTE $0x00 // jmp LBB2_7, $282(%rip) - -LBB2_2: - QUAD $0x77118461cefdb948; WORD $0xabcc // movabsq $-6067343680855748867, %rcx - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - WORD $0xf748; BYTE $0xe1 // mulq %rcx - LONG $0x1aeac148 // shrq $26, %rdx - LONG $0x1f00ca69; WORD $0xfa0a // imull $-100000000, %edx, %ecx - WORD $0xf901 // addl %edi, %ecx - LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0xc1af0f49 // imulq %r9, %rax - LONG $0x2de8c148 // shrq $45, %rax - LONG $0x2710f869; WORD $0x0000 // imull $10000, %eax, %edi - WORD $0xf929 // subl %edi, %ecx - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0xf9af0f49 // imulq %r9, %rdi - LONG $0x2defc148 // shrq $45, %rdi - LONG $0x2710ff69; WORD $0x0000 // imull $10000, %edi, %edi - WORD $0xf829 // subl %edi, %eax - WORD $0xb70f; BYTE $0xf9 // movzwl %cx, %edi - WORD $0xefc1; BYTE $0x02 // shrl $2, %edi - LONG $0x7bcf6944; WORD $0x0014; BYTE $0x00 // imull $5243, %edi, %r9d - LONG $0x11e9c141 // shrl $17, %r9d - LONG $0x64f96b41 // imull $100, %r9d, %edi - WORD $0xf929 // subl %edi, %ecx - LONG $0xd1b70f44 // movzwl %cx, %r10d - WORD $0xb70f; BYTE $0xf8 // movzwl %ax, %edi - WORD $0xefc1; BYTE $0x02 // shrl $2, %edi - LONG $0x147bff69; WORD $0x0000 // imull $5243, %edi, %edi - WORD $0xefc1; BYTE $0x11 // shrl $17, %edi - WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx - WORD $0xc829 // subl %ecx, %eax - LONG $0xd8b70f44 // movzwl %ax, %r11d - LONG $0xe00d8d48; WORD $0x00b8; BYTE $0x00 // leaq $47328(%rip), %rcx /* _Digits(%rip) */ - LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax - LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8) - LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax - LONG $0x40894166; BYTE $0xfc // movw %ax, $-4(%r8) - LONG $0x04b70f42; BYTE $0x59 // movzwl (%rcx,%r11,2), %eax - LONG $0x40894166; BYTE $0xfa // movw %ax, $-6(%r8) - LONG $0xf8588d4d // leaq $-8(%r8), %r11 - LONG $0x790cb70f // movzwl (%rcx,%rdi,2), %ecx - LONG $0x48894166; BYTE $0xf8 // movw %cx, $-8(%r8) - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0x2710ff81; WORD $0x0000 // cmpl $10000, %edi - LONG $0xff3d820f; WORD $0xffff // jb LBB2_4, $-195(%rip) - -LBB2_5: - LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - LONG $0x99158d4c; WORD $0x00b8; BYTE $0x00 // leaq $47257(%rip), %r10 /* _Digits(%rip) */ - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB2_6: - WORD $0xfa89 // movl %edi, %edx - LONG $0xd1af0f49 // imulq %r9, %rdx - LONG $0x2deac148 // shrq $45, %rdx - LONG $0xd8f0ca69; WORD $0xffff // imull $-10000, %edx, %ecx - WORD $0xf901 // addl %edi, %ecx - LONG $0x1fc16948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rax - LONG $0x25e8c148 // shrq $37, %rax - WORD $0xd86b; BYTE $0x64 // imull $100, %eax, %ebx - WORD $0xd929 // subl %ebx, %ecx - LONG $0x0cb70f41; BYTE $0x4a // movzwl (%r10,%rcx,2), %ecx - LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11) - LONG $0x04b70f41; BYTE $0x42 // movzwl (%r10,%rax,2), %eax - LONG $0x43894166; BYTE $0xfc // movw %ax, $-4(%r11) - LONG $0xfcc38349 // addq $-4, %r11 - LONG $0xe0ffff81; WORD $0x05f5 // cmpl $99999999, %edi - WORD $0xd789 // movl %edx, %edi - LONG $0xffb8870f; WORD $0xffff // ja LBB2_6, $-72(%rip) - -LBB2_7: - WORD $0xfa83; BYTE $0x64 // cmpl $100, %edx - LONG $0x002d820f; WORD $0x0000 // jb LBB2_9, $45(%rip) - WORD $0xb70f; BYTE $0xc2 // movzwl %dx, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx - WORD $0xca29 // subl %ecx, %edx - WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx - LONG $0x21158d48; WORD $0x00b8; BYTE $0x00 // leaq $47137(%rip), %rdx /* _Digits(%rip) */ - LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx - LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11) - LONG $0xfec38349 // addq $-2, %r11 - WORD $0xc289 // movl %eax, %edx - -LBB2_9: - WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx - LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip) - WORD $0xd089 // movl %edx, %eax - LONG $0x000d8d48; WORD $0x00b8; BYTE $0x00 // leaq $47104(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x43894166; BYTE $0xfe // movw %ax, $-2(%r11) - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB2_11: - WORD $0xc280; BYTE $0x30 // addb $48, %dl - WORD $0x1688 // movb %dl, (%rsi) - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_i64toa: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0005880f; WORD $0x0000 // js LBB3_1, $5(%rip) - LONG $0x000062e9; BYTE $0x00 // jmp _u64toa, $98(%rip) - -LBB3_1: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x07c6; BYTE $0x2d // movb $45, (%rdi) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0xf748; BYTE $0xde // negq %rsi - LONG $0x000050e8; BYTE $0x00 // callq _u64toa, $80(%rip) - WORD $0xc0ff // incl %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; LONG $0x00000000 // .p2align 4, 0x00 - -LCPI4_0: - QUAD $0x00000000d1b71759 // .quad 3518437209 - QUAD $0x00000000d1b71759 // .quad 3518437209 - -LCPI4_3: - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - -LCPI4_4: - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - - // .p2align 3, 0x00 -LCPI4_1: - QUAD $0x80003334147b20c5 // .quad -9223315738079846203 - -LCPI4_2: - QUAD $0x8000200008000080 // .quad -9223336852348469120 - - // .p2align 4, 0x90 -_u64toa: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - LONG $0x0ffe8148; WORD $0x0027; BYTE $0x00 // cmpq $9999, %rsi - LONG $0x00a2870f; WORD $0x0000 // ja LBB4_8, $162(%rip) - WORD $0xb70f; BYTE $0xc6 // movzwl %si, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - LONG $0x00148d48 // leaq (%rax,%rax), %rdx - WORD $0xc06b; BYTE $0x64 // imull $100, %eax, %eax - WORD $0xf189 // movl %esi, %ecx - WORD $0xc129 // subl %eax, %ecx - WORD $0xb70f; BYTE $0xc1 // movzwl %cx, %eax - WORD $0x0148; BYTE $0xc0 // addq %rax, %rax - LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi - LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip) - LONG $0x2c0d8d48; WORD $0x00b7; BYTE $0x00 // leaq $46892(%rip), %rcx /* _Digits(%rip) */ - WORD $0x0c8a; BYTE $0x0a // movb (%rdx,%rcx), %cl - WORD $0x0f88 // movb %cl, (%rdi) - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0x00000be9; BYTE $0x00 // jmp LBB4_4, $11(%rip) - -LBB4_3: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x0045820f; WORD $0x0000 // jb LBB4_5, $69(%rip) - -LBB4_4: - WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx - LONG $0x01ca8348 // orq $1, %rdx - LONG $0x04358d48; WORD $0x00b7; BYTE $0x00 // leaq $46852(%rip), %rsi /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x32 // movb (%rdx,%rsi), %dl - WORD $0xce89 // movl %ecx, %esi - WORD $0xc1ff // incl %ecx - WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi) - -LBB4_6: - LONG $0xf3158d48; WORD $0x00b6; BYTE $0x00 // leaq $46835(%rip), %rdx /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x10 // movb (%rax,%rdx), %dl - WORD $0xce89 // movl %ecx, %esi - WORD $0xc1ff // incl %ecx - WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi) - -LBB4_7: - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x01c88348 // orq $1, %rax - LONG $0xdb158d48; WORD $0x00b6; BYTE $0x00 // leaq $46811(%rip), %rdx /* _Digits(%rip) */ - WORD $0x048a; BYTE $0x10 // movb (%rax,%rdx), %al - WORD $0xca89 // movl %ecx, %edx - WORD $0xc1ff // incl %ecx - WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx) - WORD $0xc889 // movl %ecx, %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB4_5: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0xfe83; BYTE $0x0a // cmpl $10, %esi - LONG $0xffc8830f; WORD $0xffff // jae LBB4_6, $-56(%rip) - LONG $0xffffd4e9; BYTE $0xff // jmp LBB4_7, $-44(%rip) - -LBB4_8: - LONG $0xfffe8148; WORD $0xf5e0; BYTE $0x05 // cmpq $99999999, %rsi - LONG $0x011e870f; WORD $0x0000 // ja LBB4_16, $286(%rip) - WORD $0xf089 // movl %esi, %eax - LONG $0xb71759ba; BYTE $0xd1 // movl $3518437209, %edx - LONG $0xd0af0f48 // imulq %rax, %rdx - LONG $0x2deac148 // shrq $45, %rdx - LONG $0x10c26944; WORD $0x0027; BYTE $0x00 // imull $10000, %edx, %r8d - WORD $0xf189 // movl %esi, %ecx - WORD $0x2944; BYTE $0xc1 // subl %r8d, %ecx - LONG $0x83d0694c; WORD $0x1bde; BYTE $0x43 // imulq $1125899907, %rax, %r10 - LONG $0x31eac149 // shrq $49, %r10 - LONG $0xfee28341 // andl $-2, %r10d - WORD $0xb70f; BYTE $0xc2 // movzwl %dx, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - WORD $0xc06b; BYTE $0x64 // imull $100, %eax, %eax - WORD $0xc229 // subl %eax, %edx - LONG $0xcab70f44 // movzwl %dx, %r9d - WORD $0x014d; BYTE $0xc9 // addq %r9, %r9 - WORD $0xb70f; BYTE $0xc1 // movzwl %cx, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - LONG $0x00048d4c // leaq (%rax,%rax), %r8 - WORD $0xc06b; BYTE $0x64 // imull $100, %eax, %eax - WORD $0xc129 // subl %eax, %ecx - LONG $0xd9b70f44 // movzwl %cx, %r11d - WORD $0x014d; BYTE $0xdb // addq %r11, %r11 - LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi - LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip) - LONG $0x39058d48; WORD $0x00b6; BYTE $0x00 // leaq $46649(%rip), %rax /* _Digits(%rip) */ - LONG $0x02048a41 // movb (%r10,%rax), %al - WORD $0x0788 // movb %al, (%rdi) - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0x00000ee9; BYTE $0x00 // jmp LBB4_12, $14(%rip) - -LBB4_11: - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x4240fe81; WORD $0x000f // cmpl $1000000, %esi - LONG $0x0076820f; WORD $0x0000 // jb LBB4_13, $118(%rip) - -LBB4_12: - WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax - LONG $0x01c88348 // orq $1, %rax - LONG $0x0d358d48; WORD $0x00b6; BYTE $0x00 // leaq $46605(%rip), %rsi /* _Digits(%rip) */ - WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al - WORD $0xce89 // movl %ecx, %esi - WORD $0xc1ff // incl %ecx - WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi) - -LBB4_14: - LONG $0xfc058d48; WORD $0x00b5; BYTE $0x00 // leaq $46588(%rip), %rax /* _Digits(%rip) */ - LONG $0x01048a41 // movb (%r9,%rax), %al - WORD $0xce89 // movl %ecx, %esi - WORD $0xc1ff // incl %ecx - WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi) - -LBB4_15: - LONG $0xc1b70f41 // movzwl %r9w, %eax - LONG $0x01c88348 // orq $1, %rax - LONG $0xe2358d48; WORD $0x00b5; BYTE $0x00 // leaq $46562(%rip), %rsi /* _Digits(%rip) */ - WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al - WORD $0xca89 // movl %ecx, %edx - WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx) - LONG $0x30048a41 // movb (%r8,%rsi), %al - LONG $0x01174488 // movb %al, $1(%rdi,%rdx) - LONG $0xc0b70f41 // movzwl %r8w, %eax - LONG $0x01c88348 // orq $1, %rax - WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al - LONG $0x02174488 // movb %al, $2(%rdi,%rdx) - LONG $0x33048a41 // movb (%r11,%rsi), %al - LONG $0x03174488 // movb %al, $3(%rdi,%rdx) - LONG $0xc3b70f41 // movzwl %r11w, %eax - LONG $0x01c88348 // orq $1, %rax - WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al - WORD $0xc183; BYTE $0x05 // addl $5, %ecx - LONG $0x04174488 // movb %al, $4(%rdi,%rdx) - WORD $0xc889 // movl %ecx, %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB4_13: - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x86a0fe81; WORD $0x0001 // cmpl $100000, %esi - LONG $0xff94830f; WORD $0xffff // jae LBB4_14, $-108(%rip) - LONG $0xffffa1e9; BYTE $0xff // jmp LBB4_15, $-95(%rip) - -LBB4_16: - QUAD $0x86f26fc0ffffb848; WORD $0x0023 // movabsq $9999999999999999, %rax - WORD $0x3948; BYTE $0xc6 // cmpq %rax, %rsi - LONG $0x0107870f; WORD $0x0000 // ja LBB4_18, $263(%rip) - QUAD $0x77118461cefdb948; WORD $0xabcc // movabsq $-6067343680855748867, %rcx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf748; BYTE $0xe1 // mulq %rcx - LONG $0x1aeac148 // shrq $26, %rdx - LONG $0xe100c269; WORD $0x05f5 // imull $100000000, %edx, %eax - WORD $0xc629 // subl %eax, %esi - LONG $0xc26ef9c5 // vmovd %edx, %xmm0 - QUAD $0xfffffda70d6ff9c5 // vmovdqa $-601(%rip), %xmm1 /* LCPI4_0(%rip) */ - LONG $0xd1f4f9c5 // vpmuludq %xmm1, %xmm0, %xmm2 - LONG $0xd273e9c5; BYTE $0x2d // vpsrlq $45, %xmm2, %xmm2 - LONG $0x002710b8; BYTE $0x00 // movl $10000, %eax - LONG $0x6ef9e1c4; BYTE $0xd8 // vmovq %rax, %xmm3 - LONG $0xe3f4e9c5 // vpmuludq %xmm3, %xmm2, %xmm4 - LONG $0xc4faf9c5 // vpsubd %xmm4, %xmm0, %xmm0 - LONG $0xc061e9c5 // vpunpcklwd %xmm0, %xmm2, %xmm0 - LONG $0xf073f9c5; BYTE $0x02 // vpsllq $2, %xmm0, %xmm0 - LONG $0xc070fbc5; BYTE $0x50 // vpshuflw $80, %xmm0, %xmm0 - LONG $0xc070f9c5; BYTE $0x50 // vpshufd $80, %xmm0, %xmm0 - QUAD $0xfffda0155979e2c4; BYTE $0xff // vpbroadcastq $-608(%rip), %xmm2 /* LCPI4_1(%rip) */ - QUAD $0xfffd9f255979e2c4; BYTE $0xff // vpbroadcastq $-609(%rip), %xmm4 /* LCPI4_2(%rip) */ - LONG $0xc2e4f9c5 // vpmulhuw %xmm2, %xmm0, %xmm0 - LONG $0xc4e4f9c5 // vpmulhuw %xmm4, %xmm0, %xmm0 - QUAD $0xfffffd672d6ff9c5 // vmovdqa $-665(%rip), %xmm5 /* LCPI4_3(%rip) */ - LONG $0xf5d5f9c5 // vpmullw %xmm5, %xmm0, %xmm6 - LONG $0xf673c9c5; BYTE $0x10 // vpsllq $16, %xmm6, %xmm6 - LONG $0xc6f9f9c5 // vpsubw %xmm6, %xmm0, %xmm0 - LONG $0xf66ef9c5 // vmovd %esi, %xmm6 - LONG $0xc9f4c9c5 // vpmuludq %xmm1, %xmm6, %xmm1 - LONG $0xd173f1c5; BYTE $0x2d // vpsrlq $45, %xmm1, %xmm1 - LONG $0xdbf4f1c5 // vpmuludq %xmm3, %xmm1, %xmm3 - LONG $0xdbfac9c5 // vpsubd %xmm3, %xmm6, %xmm3 - LONG $0xcb61f1c5 // vpunpcklwd %xmm3, %xmm1, %xmm1 - LONG $0xf173f1c5; BYTE $0x02 // vpsllq $2, %xmm1, %xmm1 - LONG $0xc970fbc5; BYTE $0x50 // vpshuflw $80, %xmm1, %xmm1 - LONG $0xc970f9c5; BYTE $0x50 // vpshufd $80, %xmm1, %xmm1 - LONG $0xcae4f1c5 // vpmulhuw %xmm2, %xmm1, %xmm1 - LONG $0xcce4f1c5 // vpmulhuw %xmm4, %xmm1, %xmm1 - LONG $0xd5d5f1c5 // vpmullw %xmm5, %xmm1, %xmm2 - LONG $0xf273e9c5; BYTE $0x10 // vpsllq $16, %xmm2, %xmm2 - LONG $0xcaf9f1c5 // vpsubw %xmm2, %xmm1, %xmm1 - LONG $0xc167f9c5 // vpackuswb %xmm1, %xmm0, %xmm0 - QUAD $0xfffffd210dfcf9c5 // vpaddb $-735(%rip), %xmm0, %xmm1 /* LCPI4_4(%rip) */ - LONG $0xd2efe9c5 // vpxor %xmm2, %xmm2, %xmm2 - LONG $0xc274f9c5 // vpcmpeqb %xmm2, %xmm0, %xmm0 - LONG $0xc0d7f9c5 // vpmovmskb %xmm0, %eax - LONG $0x0080000d; BYTE $0x00 // orl $32768, %eax - LONG $0xff7fff35; BYTE $0xff // xorl $-32769, %eax - WORD $0xbc0f; BYTE $0xc0 // bsfl %eax, %eax - LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx - WORD $0xc129 // subl %eax, %ecx - LONG $0x04e0c148 // shlq $4, %rax - LONG $0xe6158d48; WORD $0x00db; BYTE $0x00 // leaq $56294(%rip), %rdx /* _VecShiftShuffles(%rip) */ - LONG $0x0071e2c4; WORD $0x1004 // vpshufb (%rax,%rdx), %xmm1, %xmm0 - LONG $0x077ffac5 // vmovdqu %xmm0, (%rdi) - WORD $0xc889 // movl %ecx, %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB4_18: - QUAD $0x652fb1137857b948; WORD $0x39a5 // movabsq $4153837486827862103, %rcx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf748; BYTE $0xe1 // mulq %rcx - LONG $0x33eac148 // shrq $51, %rdx - QUAD $0x86f26fc10000b848; WORD $0x0023 // movabsq $10000000000000000, %rax - LONG $0xc2af0f48 // imulq %rdx, %rax - WORD $0x2948; BYTE $0xc6 // subq %rax, %rsi - WORD $0xfa83; BYTE $0x09 // cmpl $9, %edx - LONG $0x000f870f; WORD $0x0000 // ja LBB4_20, $15(%rip) - WORD $0xc280; BYTE $0x30 // addb $48, %dl - WORD $0x1788 // movb %dl, (%rdi) - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0x0000bae9; BYTE $0x00 // jmp LBB4_25, $186(%rip) - -LBB4_20: - WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx - LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip) - WORD $0xd089 // movl %edx, %eax - LONG $0x290d8d48; WORD $0x00b4; BYTE $0x00 // leaq $46121(%rip), %rcx /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl - LONG $0x0141448a // movb $1(%rcx,%rax,2), %al - WORD $0x1788 // movb %dl, (%rdi) - WORD $0x4788; BYTE $0x01 // movb %al, $1(%rdi) - LONG $0x000002b9; BYTE $0x00 // movl $2, %ecx - LONG $0x000092e9; BYTE $0x00 // jmp LBB4_25, $146(%rip) - -LBB4_22: - WORD $0xd089 // movl %edx, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - LONG $0x03e7fa81; WORD $0x0000 // cmpl $999, %edx - LONG $0x003c870f; WORD $0x0000 // ja LBB4_24, $60(%rip) - WORD $0xc083; BYTE $0x30 // addl $48, %eax - WORD $0x0788 // movb %al, (%rdi) - WORD $0xb70f; BYTE $0xc2 // movzwl %dx, %eax - WORD $0xc189 // movl %eax, %ecx - WORD $0xe9c1; BYTE $0x02 // shrl $2, %ecx - LONG $0x147bc969; WORD $0x0000 // imull $5243, %ecx, %ecx - WORD $0xe9c1; BYTE $0x11 // shrl $17, %ecx - WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx - WORD $0xc829 // subl %ecx, %eax - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0xd40d8d48; WORD $0x00b3; BYTE $0x00 // leaq $46036(%rip), %rcx /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl - LONG $0x0141448a // movb $1(%rcx,%rax,2), %al - WORD $0x5788; BYTE $0x01 // movb %dl, $1(%rdi) - WORD $0x4788; BYTE $0x02 // movb %al, $2(%rdi) - LONG $0x000003b9; BYTE $0x00 // movl $3, %ecx - LONG $0x00003ce9; BYTE $0x00 // jmp LBB4_25, $60(%rip) - -LBB4_24: - WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx - WORD $0xca29 // subl %ecx, %edx - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0xae058d4c; WORD $0x00b3; BYTE $0x00 // leaq $45998(%rip), %r8 /* _Digits(%rip) */ - LONG $0x400c8a41 // movb (%r8,%rax,2), %cl - LONG $0x40448a41; BYTE $0x01 // movb $1(%r8,%rax,2), %al - WORD $0x0f88 // movb %cl, (%rdi) - WORD $0x4788; BYTE $0x01 // movb %al, $1(%rdi) - WORD $0xb70f; BYTE $0xc2 // movzwl %dx, %eax - LONG $0x400c8a41 // movb (%r8,%rax,2), %cl - WORD $0x0148; BYTE $0xc0 // addq %rax, %rax - WORD $0x4f88; BYTE $0x02 // movb %cl, $2(%rdi) - WORD $0xc883; BYTE $0x01 // orl $1, %eax - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x00048a42 // movb (%rax,%r8), %al - WORD $0x4788; BYTE $0x03 // movb %al, $3(%rdi) - LONG $0x000004b9; BYTE $0x00 // movl $4, %ecx - -LBB4_25: - QUAD $0x77118461cefdba48; WORD $0xabcc // movabsq $-6067343680855748867, %rdx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf748; BYTE $0xe2 // mulq %rdx - LONG $0x1aeac148 // shrq $26, %rdx - LONG $0xc26ef9c5 // vmovd %edx, %xmm0 - QUAD $0xfffffbb10d6ff9c5 // vmovdqa $-1103(%rip), %xmm1 /* LCPI4_0(%rip) */ - LONG $0xd1f4f9c5 // vpmuludq %xmm1, %xmm0, %xmm2 - LONG $0xd273e9c5; BYTE $0x2d // vpsrlq $45, %xmm2, %xmm2 - LONG $0x002710b8; BYTE $0x00 // movl $10000, %eax - LONG $0x6ef9e1c4; BYTE $0xd8 // vmovq %rax, %xmm3 - LONG $0xe3f4e9c5 // vpmuludq %xmm3, %xmm2, %xmm4 - LONG $0xc4faf9c5 // vpsubd %xmm4, %xmm0, %xmm0 - LONG $0xc061e9c5 // vpunpcklwd %xmm0, %xmm2, %xmm0 - LONG $0xf073f9c5; BYTE $0x02 // vpsllq $2, %xmm0, %xmm0 - LONG $0xc070fbc5; BYTE $0x50 // vpshuflw $80, %xmm0, %xmm0 - QUAD $0xfffbaf155979e2c4; BYTE $0xff // vpbroadcastq $-1105(%rip), %xmm2 /* LCPI4_1(%rip) */ - LONG $0xc070f9c5; BYTE $0x50 // vpshufd $80, %xmm0, %xmm0 - LONG $0xc2e4f9c5 // vpmulhuw %xmm2, %xmm0, %xmm0 - QUAD $0xfffba5255979e2c4; BYTE $0xff // vpbroadcastq $-1115(%rip), %xmm4 /* LCPI4_2(%rip) */ - LONG $0xc4e4f9c5 // vpmulhuw %xmm4, %xmm0, %xmm0 - QUAD $0xfffffb712d6ff9c5 // vmovdqa $-1167(%rip), %xmm5 /* LCPI4_3(%rip) */ - LONG $0xf5d5f9c5 // vpmullw %xmm5, %xmm0, %xmm6 - LONG $0xf673c9c5; BYTE $0x10 // vpsllq $16, %xmm6, %xmm6 - LONG $0xc6f9f9c5 // vpsubw %xmm6, %xmm0, %xmm0 - LONG $0xe100c269; WORD $0x05f5 // imull $100000000, %edx, %eax - WORD $0xc629 // subl %eax, %esi - LONG $0xf66ef9c5 // vmovd %esi, %xmm6 - LONG $0xc9f4c9c5 // vpmuludq %xmm1, %xmm6, %xmm1 - LONG $0xd173f1c5; BYTE $0x2d // vpsrlq $45, %xmm1, %xmm1 - LONG $0xdbf4f1c5 // vpmuludq %xmm3, %xmm1, %xmm3 - LONG $0xdbfac9c5 // vpsubd %xmm3, %xmm6, %xmm3 - LONG $0xcb61f1c5 // vpunpcklwd %xmm3, %xmm1, %xmm1 - LONG $0xf173f1c5; BYTE $0x02 // vpsllq $2, %xmm1, %xmm1 - LONG $0xc970fbc5; BYTE $0x50 // vpshuflw $80, %xmm1, %xmm1 - LONG $0xc970f9c5; BYTE $0x50 // vpshufd $80, %xmm1, %xmm1 - LONG $0xcae4f1c5 // vpmulhuw %xmm2, %xmm1, %xmm1 - LONG $0xcce4f1c5 // vpmulhuw %xmm4, %xmm1, %xmm1 - LONG $0xd5d5f1c5 // vpmullw %xmm5, %xmm1, %xmm2 - LONG $0xf273e9c5; BYTE $0x10 // vpsllq $16, %xmm2, %xmm2 - LONG $0xcaf9f1c5 // vpsubw %xmm2, %xmm1, %xmm1 - LONG $0xc167f9c5 // vpackuswb %xmm1, %xmm0, %xmm0 - QUAD $0xfffffb2305fcf9c5 // vpaddb $-1245(%rip), %xmm0, %xmm0 /* LCPI4_4(%rip) */ - WORD $0xc889 // movl %ecx, %eax - LONG $0x047ffac5; BYTE $0x07 // vmovdqu %xmm0, (%rdi,%rax) - WORD $0xc983; BYTE $0x10 // orl $16, %ecx - WORD $0xc889 // movl %ecx, %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - LONG $0x00000000; BYTE $0x00 // .p2align 5, 0x00 - -LCPI5_0: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI5_1: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI5_2: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - - // .p2align 4, 0x00 -LCPI5_3: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI5_4: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI5_5: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - - // .p2align 4, 0x90 -_quote: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - WORD $0x8949; BYTE $0xcf // movq %rcx, %r15 - WORD $0x8949; BYTE $0xf2 // movq %rsi, %r10 - WORD $0x8b4c; BYTE $0x09 // movq (%rcx), %r9 - LONG $0x01c0f641 // testb $1, %r8b - LONG $0xde058d48; WORD $0x00d9; BYTE $0x00 // leaq $55774(%rip), %rax /* __SingleQuoteTab(%rip) */ - LONG $0xd7058d4c; WORD $0x00e9; BYTE $0x00 // leaq $59863(%rip), %r8 /* __DoubleQuoteTab(%rip) */ - LONG $0xc0440f4c // cmoveq %rax, %r8 - QUAD $0x00000000f5048d48 // leaq (,%rsi,8), %rax - WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9 - LONG $0x06e78d0f; WORD $0x0000 // jge LBB5_88, $1767(%rip) - WORD $0x8949; BYTE $0xd4 // movq %rdx, %r12 - WORD $0x8949; BYTE $0xfb // movq %rdi, %r11 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0a22840f; WORD $0x0000 // je LBB5_120, $2594(%rip) - QUAD $0xffffff1b256ffdc5 // vmovdqa $-229(%rip), %ymm4 /* LCPI5_0(%rip) */ - QUAD $0xffffff332d6ffdc5 // vmovdqa $-205(%rip), %ymm5 /* LCPI5_1(%rip) */ - QUAD $0xffffff4b356ffdc5 // vmovdqa $-181(%rip), %ymm6 /* LCPI5_2(%rip) */ - LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd %ymm8, %ymm8, %ymm8 - WORD $0x8949; BYTE $0xfb // movq %rdi, %r11 - WORD $0x8949; BYTE $0xd4 // movq %rdx, %r12 - LONG $0xd0558948 // movq %rdx, $-48(%rbp) - -LBB5_3: - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0x1ffa8349 // cmpq $31, %r10 - WORD $0x9f0f; BYTE $0xc1 // setg %cl - WORD $0x894d; BYTE $0xce // movq %r9, %r14 - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - WORD $0x894d; BYTE $0xd7 // movq %r10, %r15 - WORD $0x894d; BYTE $0xdd // movq %r11, %r13 - LONG $0x20f98349 // cmpq $32, %r9 - LONG $0x008c8c0f; WORD $0x0000 // jl LBB5_9, $140(%rip) - LONG $0x20fa8349 // cmpq $32, %r10 - LONG $0x00828c0f; WORD $0x0000 // jl LBB5_9, $130(%rip) - WORD $0x894d; BYTE $0xdd // movq %r11, %r13 - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - WORD $0x894c; BYTE $0xcb // movq %r9, %rbx - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB5_6: - LONG $0x6f7ec1c4; WORD $0x0045 // vmovdqu (%r13), %ymm0 - LONG $0xc864ddc5 // vpcmpgtb %ymm0, %ymm4, %ymm1 - LONG $0xd574fdc5 // vpcmpeqb %ymm5, %ymm0, %ymm2 - LONG $0xde74fdc5 // vpcmpeqb %ymm6, %ymm0, %ymm3 - LONG $0xd2ebe5c5 // vpor %ymm2, %ymm3, %ymm2 - LONG $0x067ffec5 // vmovdqu %ymm0, (%rsi) - LONG $0x647dc1c4; BYTE $0xc0 // vpcmpgtb %ymm8, %ymm0, %ymm0 - LONG $0xc0dbf5c5 // vpand %ymm0, %ymm1, %ymm0 - LONG $0xc0ebedc5 // vpor %ymm0, %ymm2, %ymm0 - LONG $0xc8d7fdc5 // vpmovmskb %ymm0, %ecx - WORD $0xc985 // testl %ecx, %ecx - LONG $0x01f8850f; WORD $0x0000 // jne LBB5_19, $504(%rip) - LONG $0x20c58349 // addq $32, %r13 - LONG $0x20c68348 // addq $32, %rsi - LONG $0xe0788d4c // leaq $-32(%rax), %r15 - LONG $0xe0738d4c // leaq $-32(%rbx), %r14 - LONG $0x3ff88348 // cmpq $63, %rax - WORD $0x9f0f; BYTE $0xc1 // setg %cl - LONG $0x40f88348 // cmpq $64, %rax - LONG $0x001c8c0f; WORD $0x0000 // jl LBB5_9, $28(%rip) - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - LONG $0x3ffb8348 // cmpq $63, %rbx - WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx - LONG $0xff9c8f0f; WORD $0xffff // jg LBB5_6, $-100(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB5_9: - WORD $0xc984 // testb %cl, %cl - LONG $0x0081840f; WORD $0x0000 // je LBB5_13, $129(%rip) - LONG $0x6f7ec1c4; WORD $0x0045 // vmovdqu (%r13), %ymm0 - LONG $0xc864ddc5 // vpcmpgtb %ymm0, %ymm4, %ymm1 - LONG $0xd574fdc5 // vpcmpeqb %ymm5, %ymm0, %ymm2 - LONG $0xde74fdc5 // vpcmpeqb %ymm6, %ymm0, %ymm3 - LONG $0xd2ebe5c5 // vpor %ymm2, %ymm3, %ymm2 - LONG $0x647dc1c4; BYTE $0xc0 // vpcmpgtb %ymm8, %ymm0, %ymm0 - LONG $0xc0dbf5c5 // vpand %ymm0, %ymm1, %ymm0 - LONG $0xc0ebedc5 // vpor %ymm0, %ymm2, %ymm0 - LONG $0xc0d7fdc5 // vpmovmskb %ymm0, %eax - QUAD $0x000100000000b948; WORD $0x0000 // movabsq $4294967296, %rcx - WORD $0x0948; BYTE $0xc8 // orq %rcx, %rax - LONG $0xc8bc0f48 // bsfq %rax, %rcx - LONG $0x6f7ac1c4; WORD $0x0045 // vmovdqu (%r13), %xmm0 - LONG $0x16f9e3c4; WORD $0x01c0 // vpextrq $1, %xmm0, %rax - LONG $0x7ef9e1c4; BYTE $0xc3 // vmovq %xmm0, %rbx - WORD $0x394c; BYTE $0xf1 // cmpq %r14, %rcx - LONG $0x016d8e0f; WORD $0x0000 // jle LBB5_20, $365(%rip) - LONG $0x10fe8349 // cmpq $16, %r14 - WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - LONG $0x01a3820f; WORD $0x0000 // jb LBB5_24, $419(%rip) - WORD $0x8948; BYTE $0x1e // movq %rbx, (%rsi) - LONG $0x08468948 // movq %rax, $8(%rsi) - LONG $0x10458d49 // leaq $16(%r13), %rax - LONG $0x10c68348 // addq $16, %rsi - LONG $0xf04e8d49 // leaq $-16(%r14), %rcx - LONG $0x08f98348 // cmpq $8, %rcx - LONG $0x0196830f; WORD $0x0000 // jae LBB5_25, $406(%rip) - LONG $0x0001a3e9; BYTE $0x00 // jmp LBB5_26, $419(%rip) - -LBB5_13: - WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x0fff8349 // cmpq $15, %r15 - WORD $0x9f0f; BYTE $0xc1 // setg %cl - LONG $0x10fe8349 // cmpq $16, %r14 - LONG $0x01f88c0f; WORD $0x0000 // jl LBB5_31, $504(%rip) - LONG $0x10ff8349 // cmpq $16, %r15 - QUAD $0xfffffe073d6ff9c5 // vmovdqa $-505(%rip), %xmm7 /* LCPI5_3(%rip) */ - QUAD $0xfffffe0f0d6f79c5 // vmovdqa $-497(%rip), %xmm9 /* LCPI5_4(%rip) */ - QUAD $0xfffffe17156f79c5 // vmovdqa $-489(%rip), %xmm10 /* LCPI5_5(%rip) */ - LONG $0x762141c4; BYTE $0xdb // vpcmpeqd %xmm11, %xmm11, %xmm11 - LONG $0x021e8c0f; WORD $0x0000 // jl LBB5_36, $542(%rip) - QUAD $0xfffffd84256ffdc5 // vmovdqa $-636(%rip), %ymm4 /* LCPI5_0(%rip) */ - QUAD $0xfffffd9c2d6ffdc5 // vmovdqa $-612(%rip), %ymm5 /* LCPI5_1(%rip) */ - QUAD $0xfffffdb4356ffdc5 // vmovdqa $-588(%rip), %ymm6 /* LCPI5_2(%rip) */ - LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd %ymm8, %ymm8, %ymm8 - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB5_16: - LONG $0x6f7ac1c4; WORD $0x0045 // vmovdqu (%r13), %xmm0 - LONG $0xc864c1c5 // vpcmpgtb %xmm0, %xmm7, %xmm1 - LONG $0xd074b1c5 // vpcmpeqb %xmm0, %xmm9, %xmm2 - LONG $0xd874a9c5 // vpcmpeqb %xmm0, %xmm10, %xmm3 - LONG $0xd2ebe1c5 // vpor %xmm2, %xmm3, %xmm2 - LONG $0x067ffac5 // vmovdqu %xmm0, (%rsi) - LONG $0x6479c1c4; BYTE $0xc3 // vpcmpgtb %xmm11, %xmm0, %xmm0 - LONG $0xc0dbf1c5 // vpand %xmm0, %xmm1, %xmm0 - LONG $0xc0ebe9c5 // vpor %xmm0, %xmm2, %xmm0 - LONG $0xc0d7f9c5 // vpmovmskb %xmm0, %eax - WORD $0x8566; BYTE $0xc0 // testw %ax, %ax - LONG $0x00d1850f; WORD $0x0000 // jne LBB5_22, $209(%rip) - LONG $0x10c58349 // addq $16, %r13 - LONG $0x10c68348 // addq $16, %rsi - LONG $0xf0478d49 // leaq $-16(%r15), %rax - LONG $0xf05e8d49 // leaq $-16(%r14), %rbx - LONG $0x1fff8349 // cmpq $31, %r15 - WORD $0x9f0f; BYTE $0xc1 // setg %cl - LONG $0x20ff8349 // cmpq $32, %r15 - LONG $0x00108c0f; WORD $0x0000 // jl LBB5_32, $16(%rip) - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - LONG $0x1ffe8349 // cmpq $31, %r14 - WORD $0x8949; BYTE $0xde // movq %rbx, %r14 - LONG $0xff9b8f0f; WORD $0xffff // jg LBB5_16, $-101(%rip) - -LBB5_32: - WORD $0xc984 // testb %cl, %cl - LONG $0x01b0840f; WORD $0x0000 // je LBB5_37, $432(%rip) - -LBB5_33: - LONG $0x6f7ac1c4; WORD $0x0045 // vmovdqu (%r13), %xmm0 - LONG $0xc864c1c5 // vpcmpgtb %xmm0, %xmm7, %xmm1 - LONG $0xd074b1c5 // vpcmpeqb %xmm0, %xmm9, %xmm2 - LONG $0xd874a9c5 // vpcmpeqb %xmm0, %xmm10, %xmm3 - LONG $0xd2ebe1c5 // vpor %xmm2, %xmm3, %xmm2 - LONG $0x6479c1c4; BYTE $0xdb // vpcmpgtb %xmm11, %xmm0, %xmm3 - LONG $0xcbdbf1c5 // vpand %xmm3, %xmm1, %xmm1 - LONG $0xc9ebe9c5 // vpor %xmm1, %xmm2, %xmm1 - LONG $0xc1d7f9c5 // vpmovmskb %xmm1, %eax - LONG $0x0100000d; BYTE $0x00 // orl $65536, %eax - WORD $0xbc0f; BYTE $0xc0 // bsfl %eax, %eax - LONG $0x7ef9e1c4; BYTE $0xc1 // vmovq %xmm0, %rcx - WORD $0x3948; BYTE $0xc3 // cmpq %rax, %rbx - WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - LONG $0x02618d0f; WORD $0x0000 // jge LBB5_53, $609(%rip) - LONG $0x08fb8348 // cmpq $8, %rbx - LONG $0x027c820f; WORD $0x0000 // jb LBB5_56, $636(%rip) - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0x08458d49 // leaq $8(%r13), %rax - LONG $0x08c68348 // addq $8, %rsi - LONG $0xf84b8d48 // leaq $-8(%rbx), %rcx - LONG $0x00026ee9; BYTE $0x00 // jmp LBB5_57, $622(%rip) - -LBB5_19: - WORD $0x294d; BYTE $0xdd // subq %r11, %r13 - LONG $0xf1bc0f44 // bsfl %ecx, %r14d - LONG $0x000038e9; BYTE $0x00 // jmp LBB5_23, $56(%rip) - -LBB5_20: - WORD $0xf983; BYTE $0x10 // cmpl $16, %ecx - WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - LONG $0x01a3820f; WORD $0x0000 // jb LBB5_42, $419(%rip) - WORD $0x8948; BYTE $0x1e // movq %rbx, (%rsi) - LONG $0x08468948 // movq %rax, $8(%rsi) - LONG $0x10458d49 // leaq $16(%r13), %rax - LONG $0x10c68348 // addq $16, %rsi - LONG $0xf0598d48 // leaq $-16(%rcx), %rbx - LONG $0x08fb8348 // cmpq $8, %rbx - LONG $0x0196830f; WORD $0x0000 // jae LBB5_43, $406(%rip) - LONG $0x0001a3e9; BYTE $0x00 // jmp LBB5_44, $419(%rip) - -LBB5_22: - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - WORD $0x294d; BYTE $0xdd // subq %r11, %r13 - LONG $0xf0bc0f44 // bsfl %eax, %r14d - -LBB5_23: - WORD $0x014d; BYTE $0xee // addq %r13, %r14 - WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - LONG $0x0002dfe9; BYTE $0x00 // jmp LBB5_71, $735(%rip) - -LBB5_24: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - WORD $0x894c; BYTE $0xf1 // movq %r14, %rcx - LONG $0x08f98348 // cmpq $8, %rcx - LONG $0x0012820f; WORD $0x0000 // jb LBB5_26, $18(%rip) - -LBB5_25: - WORD $0x8b48; BYTE $0x10 // movq (%rax), %rdx - WORD $0x8948; BYTE $0x16 // movq %rdx, (%rsi) - LONG $0x08c08348 // addq $8, %rax - LONG $0x08c68348 // addq $8, %rsi - LONG $0xf8c18348 // addq $-8, %rcx - -LBB5_26: - LONG $0x04f98348 // cmpq $4, %rcx - LONG $0x00358c0f; WORD $0x0000 // jl LBB5_27, $53(%rip) - WORD $0x108b // movl (%rax), %edx - WORD $0x1689 // movl %edx, (%rsi) - LONG $0x04c08348 // addq $4, %rax - LONG $0x04c68348 // addq $4, %rsi - LONG $0xfcc18348 // addq $-4, %rcx - LONG $0x02f98348 // cmpq $2, %rcx - LONG $0x0025830f; WORD $0x0000 // jae LBB5_50, $37(%rip) - -LBB5_28: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x0004840f; WORD $0x0000 // je LBB5_30, $4(%rip) - -LBB5_29: - WORD $0x008a // movb (%rax), %al - WORD $0x0688 // movb %al, (%rsi) - -LBB5_30: - WORD $0x294d; BYTE $0xde // subq %r11, %r14 - WORD $0x014d; BYTE $0xee // addq %r13, %r14 - WORD $0xf749; BYTE $0xd6 // notq %r14 - LONG $0x00027ee9; BYTE $0x00 // jmp LBB5_71, $638(%rip) - -LBB5_27: - LONG $0x02f98348 // cmpq $2, %rcx - LONG $0xffdb820f; WORD $0xffff // jb LBB5_28, $-37(%rip) - -LBB5_50: - WORD $0xb70f; BYTE $0x10 // movzwl (%rax), %edx - WORD $0x8966; BYTE $0x16 // movw %dx, (%rsi) - LONG $0x02c08348 // addq $2, %rax - LONG $0x02c68348 // addq $2, %rsi - LONG $0xfec18348 // addq $-2, %rcx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0xffc9850f; WORD $0xffff // jne LBB5_29, $-55(%rip) - LONG $0xffffc8e9; BYTE $0xff // jmp LBB5_30, $-56(%rip) - -LBB5_31: - WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - QUAD $0xfffffbad256ffdc5 // vmovdqa $-1107(%rip), %ymm4 /* LCPI5_0(%rip) */ - QUAD $0xfffffbc52d6ffdc5 // vmovdqa $-1083(%rip), %ymm5 /* LCPI5_1(%rip) */ - QUAD $0xfffffbdd356ffdc5 // vmovdqa $-1059(%rip), %ymm6 /* LCPI5_2(%rip) */ - LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd %ymm8, %ymm8, %ymm8 - QUAD $0xfffffbf03d6ff9c5 // vmovdqa $-1040(%rip), %xmm7 /* LCPI5_3(%rip) */ - QUAD $0xfffffbf80d6f79c5 // vmovdqa $-1032(%rip), %xmm9 /* LCPI5_4(%rip) */ - QUAD $0xfffffc00156f79c5 // vmovdqa $-1024(%rip), %xmm10 /* LCPI5_5(%rip) */ - LONG $0x762141c4; BYTE $0xdb // vpcmpeqd %xmm11, %xmm11, %xmm11 - WORD $0xc984 // testb %cl, %cl - LONG $0x0030840f; WORD $0x0000 // je LBB5_37, $48(%rip) - LONG $0xfffe7be9; BYTE $0xff // jmp LBB5_33, $-389(%rip) - -LBB5_36: - WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - QUAD $0xfffffb60256ffdc5 // vmovdqa $-1184(%rip), %ymm4 /* LCPI5_0(%rip) */ - QUAD $0xfffffb782d6ffdc5 // vmovdqa $-1160(%rip), %ymm5 /* LCPI5_1(%rip) */ - QUAD $0xfffffb90356ffdc5 // vmovdqa $-1136(%rip), %ymm6 /* LCPI5_2(%rip) */ - LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd %ymm8, %ymm8, %ymm8 - WORD $0xc984 // testb %cl, %cl - LONG $0xfe50850f; WORD $0xffff // jne LBB5_33, $-432(%rip) - -LBB5_37: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - LONG $0xc6358d4c; WORD $0x00d5; BYTE $0x00 // leaq $54726(%rip), %r14 /* __SingleQuoteTab(%rip) */ - LONG $0x01758e0f; WORD $0x0000 // jle LBB5_62, $373(%rip) - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x016c8e0f; WORD $0x0000 // jle LBB5_63, $364(%rip) - LONG $0x90909090 // .p2align 4, 0x90 - -LBB5_39: - LONG $0x55b60f41; BYTE $0x00 // movzbl (%r13), %edx - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - LONG $0x04e1c148 // shlq $4, %rcx - LONG $0x313c834a; BYTE $0x00 // cmpq $0, (%rcx,%r14) - LONG $0x00d4850f; WORD $0x0000 // jne LBB5_55, $212(%rip) - LONG $0xff488d48 // leaq $-1(%rax), %rcx - WORD $0xff49; BYTE $0xc5 // incq %r13 - WORD $0x1688 // movb %dl, (%rsi) - LONG $0x02f88348 // cmpq $2, %rax - LONG $0x013e8c0f; WORD $0x0000 // jl LBB5_63, $318(%rip) - LONG $0xff538d48 // leaq $-1(%rbx), %rdx - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0x01fb8348 // cmpq $1, %rbx - WORD $0x8948; BYTE $0xd3 // movq %rdx, %rbx - LONG $0xffbf8f0f; WORD $0xffff // jg LBB5_39, $-65(%rip) - LONG $0x000122e9; BYTE $0x00 // jmp LBB5_63, $290(%rip) - -LBB5_42: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - LONG $0x08fb8348 // cmpq $8, %rbx - LONG $0x0012820f; WORD $0x0000 // jb LBB5_44, $18(%rip) - -LBB5_43: - WORD $0x8b48; BYTE $0x10 // movq (%rax), %rdx - WORD $0x8948; BYTE $0x16 // movq %rdx, (%rsi) - LONG $0x08c08348 // addq $8, %rax - LONG $0x08c68348 // addq $8, %rsi - LONG $0xf8c38348 // addq $-8, %rbx - -LBB5_44: - LONG $0x04fb8348 // cmpq $4, %rbx - LONG $0x00328c0f; WORD $0x0000 // jl LBB5_45, $50(%rip) - WORD $0x108b // movl (%rax), %edx - WORD $0x1689 // movl %edx, (%rsi) - LONG $0x04c08348 // addq $4, %rax - LONG $0x04c68348 // addq $4, %rsi - LONG $0xfcc38348 // addq $-4, %rbx - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0x0022830f; WORD $0x0000 // jae LBB5_52, $34(%rip) - -LBB5_46: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0004840f; WORD $0x0000 // je LBB5_48, $4(%rip) - -LBB5_47: - WORD $0x008a // movb (%rax), %al - WORD $0x0688 // movb %al, (%rsi) - -LBB5_48: - WORD $0x294d; BYTE $0xdd // subq %r11, %r13 - WORD $0x0149; BYTE $0xcd // addq %rcx, %r13 - LONG $0x000112e9; BYTE $0x00 // jmp LBB5_70, $274(%rip) - -LBB5_45: - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0xffde820f; WORD $0xffff // jb LBB5_46, $-34(%rip) - -LBB5_52: - WORD $0xb70f; BYTE $0x10 // movzwl (%rax), %edx - WORD $0x8966; BYTE $0x16 // movw %dx, (%rsi) - LONG $0x02c08348 // addq $2, %rax - LONG $0x02c68348 // addq $2, %rsi - LONG $0xfec38348 // addq $-2, %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xffcc850f; WORD $0xffff // jne LBB5_47, $-52(%rip) - LONG $0xffffcbe9; BYTE $0xff // jmp LBB5_48, $-53(%rip) - -LBB5_53: - WORD $0xf883; BYTE $0x08 // cmpl $8, %eax - LONG $0x00a2820f; WORD $0x0000 // jb LBB5_64, $162(%rip) - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0x084d8d49 // leaq $8(%r13), %rcx - LONG $0x08c68348 // addq $8, %rsi - LONG $0xf8588d48 // leaq $-8(%rax), %rbx - LONG $0x000094e9; BYTE $0x00 // jmp LBB5_65, $148(%rip) - -LBB5_55: - WORD $0x294d; BYTE $0xdd // subq %r11, %r13 - LONG $0x0000c3e9; BYTE $0x00 // jmp LBB5_70, $195(%rip) - -LBB5_56: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx - -LBB5_57: - LONG $0x04f98348 // cmpq $4, %rcx - LONG $0x00388c0f; WORD $0x0000 // jl LBB5_58, $56(%rip) - WORD $0x108b // movl (%rax), %edx - WORD $0x1689 // movl %edx, (%rsi) - LONG $0x04c08348 // addq $4, %rax - LONG $0x04c68348 // addq $4, %rsi - LONG $0xfcc18348 // addq $-4, %rcx - LONG $0x02f98348 // cmpq $2, %rcx - LONG $0x0028830f; WORD $0x0000 // jae LBB5_85, $40(%rip) - -LBB5_59: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x0004840f; WORD $0x0000 // je LBB5_61, $4(%rip) - -LBB5_60: - WORD $0x008a // movb (%rax), %al - WORD $0x0688 // movb %al, (%rsi) - -LBB5_61: - WORD $0x294c; BYTE $0xdb // subq %r11, %rbx - WORD $0x014c; BYTE $0xeb // addq %r13, %rbx - WORD $0xf748; BYTE $0xd3 // notq %rbx - WORD $0x8949; BYTE $0xde // movq %rbx, %r14 - LONG $0x00007ee9; BYTE $0x00 // jmp LBB5_71, $126(%rip) - -LBB5_58: - LONG $0x02f98348 // cmpq $2, %rcx - LONG $0xffd8820f; WORD $0xffff // jb LBB5_59, $-40(%rip) - -LBB5_85: - WORD $0xb70f; BYTE $0x10 // movzwl (%rax), %edx - WORD $0x8966; BYTE $0x16 // movw %dx, (%rsi) - LONG $0x02c08348 // addq $2, %rax - LONG $0x02c68348 // addq $2, %rsi - LONG $0xfec18348 // addq $-2, %rcx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0xffc6850f; WORD $0xffff // jne LBB5_60, $-58(%rip) - LONG $0xffffc5e9; BYTE $0xff // jmp LBB5_61, $-59(%rip) - -LBB5_62: - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - -LBB5_63: - WORD $0x294d; BYTE $0xdd // subq %r11, %r13 - WORD $0xf748; BYTE $0xd9 // negq %rcx - WORD $0x194d; BYTE $0xf6 // sbbq %r14, %r14 - WORD $0x314d; BYTE $0xee // xorq %r13, %r14 - LONG $0x000040e9; BYTE $0x00 // jmp LBB5_71, $64(%rip) - -LBB5_64: - WORD $0x894c; BYTE $0xe9 // movq %r13, %rcx - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - -LBB5_65: - LONG $0x04fb8348 // cmpq $4, %rbx - LONG $0x01228c0f; WORD $0x0000 // jl LBB5_66, $290(%rip) - WORD $0x118b // movl (%rcx), %edx - WORD $0x1689 // movl %edx, (%rsi) - LONG $0x04c18348 // addq $4, %rcx - LONG $0x04c68348 // addq $4, %rsi - LONG $0xfcc38348 // addq $-4, %rbx - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0x0112830f; WORD $0x0000 // jae LBB5_87, $274(%rip) - -LBB5_67: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0004840f; WORD $0x0000 // je LBB5_69, $4(%rip) - -LBB5_68: - WORD $0x098a // movb (%rcx), %cl - WORD $0x0e88 // movb %cl, (%rsi) - -LBB5_69: - WORD $0x294d; BYTE $0xdd // subq %r11, %r13 - WORD $0x0149; BYTE $0xc5 // addq %rax, %r13 - -LBB5_70: - WORD $0x894d; BYTE $0xee // movq %r13, %r14 - -LBB5_71: - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0xd0558b48 // movq $-48(%rbp), %rdx - QUAD $0x000300000001bd49; WORD $0x0000 // movabsq $12884901889, %r13 - LONG $0x0481880f; WORD $0x0000 // js LBB5_124, $1153(%rip) - WORD $0x014d; BYTE $0xf3 // addq %r14, %r11 - WORD $0x014d; BYTE $0xf4 // addq %r14, %r12 - WORD $0x394d; BYTE $0xf2 // cmpq %r14, %r10 - LONG $0x0440840f; WORD $0x0000 // je LBB5_120, $1088(%rip) - WORD $0x294d; BYTE $0xf1 // subq %r14, %r9 - WORD $0x294d; BYTE $0xd6 // subq %r10, %r14 - LONG $0x000015e9; BYTE $0x00 // jmp LBB5_75, $21(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB5_74: - WORD $0xff49; BYTE $0xc3 // incq %r11 - WORD $0x0149; BYTE $0xc4 // addq %rax, %r12 - WORD $0xff49; BYTE $0xc6 // incq %r14 - LONG $0x0420840f; WORD $0x0000 // je LBB5_120, $1056(%rip) - -LBB5_75: - LONG $0x33b60f41 // movzbl (%r11), %esi - LONG $0x04e6c148 // shlq $4, %rsi - LONG $0x301c8b49 // movq (%r8,%rsi), %rbx - WORD $0xdb85 // testl %ebx, %ebx - LONG $0x0084840f; WORD $0x0000 // je LBB5_83, $132(%rip) - WORD $0x6348; BYTE $0xc3 // movslq %ebx, %rax - WORD $0x2949; BYTE $0xc1 // subq %rax, %r9 - LONG $0x040e8c0f; WORD $0x0000 // jl LBB5_121, $1038(%rip) - LONG $0x20e3c148 // shlq $32, %rbx - LONG $0x304c8d49; BYTE $0x08 // leaq $8(%r8,%rsi), %rcx - WORD $0x394c; BYTE $0xeb // cmpq %r13, %rbx - LONG $0x002f8c0f; WORD $0x0000 // jl LBB5_79, $47(%rip) - WORD $0x098b // movl (%rcx), %ecx - LONG $0x240c8941 // movl %ecx, (%r12) - LONG $0x304c8d49; BYTE $0x0c // leaq $12(%r8,%rsi), %rcx - LONG $0x24548d4d; BYTE $0x04 // leaq $4(%r12), %r10 - LONG $0xfc588d48 // leaq $-4(%rax), %rbx - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0x0021830f; WORD $0x0000 // jae LBB5_80, $33(%rip) - LONG $0x00002fe9; BYTE $0x00 // jmp LBB5_81, $47(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB5_79: - WORD $0x894d; BYTE $0xe2 // movq %r12, %r10 - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0x0013820f; WORD $0x0000 // jb LBB5_81, $19(%rip) - -LBB5_80: - WORD $0xb70f; BYTE $0x31 // movzwl (%rcx), %esi - LONG $0x32894166 // movw %si, (%r10) - LONG $0x02c18348 // addq $2, %rcx - LONG $0x02c28349 // addq $2, %r10 - LONG $0xfec38348 // addq $-2, %rbx - -LBB5_81: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xff64840f; WORD $0xffff // je LBB5_74, $-156(%rip) - WORD $0xb60f; BYTE $0x09 // movzbl (%rcx), %ecx - WORD $0x8841; BYTE $0x0a // movb %cl, (%r10) - LONG $0xffff59e9; BYTE $0xff // jmp LBB5_74, $-167(%rip) - -LBB5_83: - WORD $0x894d; BYTE $0xf2 // movq %r14, %r10 - WORD $0xf749; BYTE $0xda // negq %r10 - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0xf97e850f; WORD $0xffff // jne LBB5_3, $-1666(%rip) - LONG $0x000374e9; BYTE $0x00 // jmp LBB5_120, $884(%rip) - -LBB5_66: - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0xfeee820f; WORD $0xffff // jb LBB5_67, $-274(%rip) - -LBB5_87: - WORD $0xb70f; BYTE $0x11 // movzwl (%rcx), %edx - WORD $0x8966; BYTE $0x16 // movw %dx, (%rsi) - LONG $0x02c18348 // addq $2, %rcx - LONG $0x02c68348 // addq $2, %rsi - LONG $0xfec38348 // addq $-2, %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xfedc850f; WORD $0xffff // jne LBB5_68, $-292(%rip) - LONG $0xfffedbe9; BYTE $0xff // jmp LBB5_69, $-293(%rip) - -LBB5_88: - LONG $0xd40d8d4c; WORD $0x00f2; BYTE $0x00 // leaq $62164(%rip), %r9 /* __EscTab(%rip) */ - QUAD $0xfffff83c156f7dc5 // vmovdqa $-1988(%rip), %ymm10 /* LCPI5_0(%rip) */ - QUAD $0xfffff8540d6f7dc5 // vmovdqa $-1964(%rip), %ymm9 /* LCPI5_1(%rip) */ - QUAD $0xfffff86c1d6f7dc5 // vmovdqa $-1940(%rip), %ymm11 /* LCPI5_2(%rip) */ - LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd %ymm8, %ymm8, %ymm8 - WORD $0x8948; BYTE $0xd3 // movq %rdx, %rbx - WORD $0x894d; BYTE $0xd3 // movq %r10, %r11 - -LBB5_89: - LONG $0x10fb8349 // cmpq $16, %r11 - LONG $0x01278d0f; WORD $0x0000 // jge LBB5_90, $295(%rip) - -LBB5_95: - LONG $0x08fb8349 // cmpq $8, %r11 - LONG $0x00858c0f; WORD $0x0000 // jl LBB5_99, $133(%rip) - -LBB5_96: - WORD $0xb60f; BYTE $0x07 // movzbl (%rdi), %eax - LONG $0x04b60f42; BYTE $0x08 // movzbl (%rax,%r9), %eax - LONG $0x014fb60f // movzbl $1(%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - WORD $0xc901 // addl %ecx, %ecx - WORD $0xc109 // orl %eax, %ecx - LONG $0x0247b60f // movzbl $2(%rdi), %eax - LONG $0x34b60f42; BYTE $0x08 // movzbl (%rax,%r9), %esi - WORD $0xe6c1; BYTE $0x02 // shll $2, %esi - LONG $0x0347b60f // movzbl $3(%rdi), %eax - LONG $0x04b60f42; BYTE $0x08 // movzbl (%rax,%r9), %eax - WORD $0xe0c1; BYTE $0x03 // shll $3, %eax - WORD $0xf009 // orl %esi, %eax - WORD $0xc809 // orl %ecx, %eax - WORD $0x8b48; BYTE $0x0f // movq (%rdi), %rcx - WORD $0x8948; BYTE $0x0b // movq %rcx, (%rbx) - WORD $0xc084 // testb %al, %al - LONG $0x029b850f; WORD $0x0000 // jne LBB5_117, $667(%rip) - LONG $0x0447b60f // movzbl $4(%rdi), %eax - LONG $0x04b60f42; BYTE $0x08 // movzbl (%rax,%r9), %eax - LONG $0x054fb60f // movzbl $5(%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - WORD $0xc901 // addl %ecx, %ecx - WORD $0xc109 // orl %eax, %ecx - LONG $0x0647b60f // movzbl $6(%rdi), %eax - LONG $0x34b60f42; BYTE $0x08 // movzbl (%rax,%r9), %esi - WORD $0xe6c1; BYTE $0x02 // shll $2, %esi - LONG $0x0747b60f // movzbl $7(%rdi), %eax - LONG $0x04b60f42; BYTE $0x08 // movzbl (%rax,%r9), %eax - WORD $0xe0c1; BYTE $0x03 // shll $3, %eax - WORD $0xf009 // orl %esi, %eax - WORD $0xc809 // orl %ecx, %eax - WORD $0xc084 // testb %al, %al - LONG $0x026f850f; WORD $0x0000 // jne LBB5_118, $623(%rip) - LONG $0x08c38348 // addq $8, %rbx - LONG $0x08c78348 // addq $8, %rdi - LONG $0xf8c38349 // addq $-8, %r11 - -LBB5_99: - LONG $0x04fb8349 // cmpq $4, %r11 - LONG $0x00498c0f; WORD $0x0000 // jl LBB5_102, $73(%rip) - WORD $0xb60f; BYTE $0x07 // movzbl (%rdi), %eax - LONG $0x04b60f42; BYTE $0x08 // movzbl (%rax,%r9), %eax - LONG $0x014fb60f // movzbl $1(%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - WORD $0xc901 // addl %ecx, %ecx - WORD $0xc109 // orl %eax, %ecx - LONG $0x0247b60f // movzbl $2(%rdi), %eax - LONG $0x34b60f42; BYTE $0x08 // movzbl (%rax,%r9), %esi - WORD $0xe6c1; BYTE $0x02 // shll $2, %esi - LONG $0x0347b60f // movzbl $3(%rdi), %eax - LONG $0x04b60f42; BYTE $0x08 // movzbl (%rax,%r9), %eax - WORD $0xe0c1; BYTE $0x03 // shll $3, %eax - WORD $0xf009 // orl %esi, %eax - WORD $0xc809 // orl %ecx, %eax - WORD $0x0f8b // movl (%rdi), %ecx - WORD $0x0b89 // movl %ecx, (%rbx) - WORD $0xc084 // testb %al, %al - LONG $0x020e850f; WORD $0x0000 // jne LBB5_117, $526(%rip) - LONG $0x04c38348 // addq $4, %rbx - LONG $0x04c78348 // addq $4, %rdi - LONG $0xfcc38349 // addq $-4, %r11 - -LBB5_102: - WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x02208e0f; WORD $0x0000 // jle LBB5_119, $544(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB5_103: - WORD $0xb60f; BYTE $0x07 // movzbl (%rdi), %eax - LONG $0x083c8042; BYTE $0x00 // cmpb $0, (%rax,%r9) - LONG $0x0194850f; WORD $0x0000 // jne LBB5_114, $404(%rip) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0x0388 // movb %al, (%rbx) - WORD $0xff48; BYTE $0xc3 // incq %rbx - LONG $0xff438d49 // leaq $-1(%r11), %rax - LONG $0x01fb8349 // cmpq $1, %r11 - WORD $0x8949; BYTE $0xc3 // movq %rax, %r11 - LONG $0xffd98f0f; WORD $0xffff // jg LBB5_103, $-39(%rip) - LONG $0x0001e8e9; BYTE $0x00 // jmp LBB5_119, $488(%rip) - LONG $0x90909090 // .p2align 4, 0x90 - -LBB5_90: - LONG $0x20fb8349 // cmpq $32, %r11 - LONG $0x009f8c0f; WORD $0x0000 // jl LBB5_105, $159(%rip) - LONG $0x204b8d49 // leaq $32(%r11), %rcx - WORD $0xc031 // xorl %eax, %eax - - // .p2align 4, 0x90 -LBB5_92: - LONG $0x046ffec5; BYTE $0x07 // vmovdqu (%rdi,%rax), %ymm0 - LONG $0xc864adc5 // vpcmpgtb %ymm0, %ymm10, %ymm1 - LONG $0xd074b5c5 // vpcmpeqb %ymm0, %ymm9, %ymm2 - LONG $0xd874a5c5 // vpcmpeqb %ymm0, %ymm11, %ymm3 - LONG $0xd2ebe5c5 // vpor %ymm2, %ymm3, %ymm2 - LONG $0x047ffec5; BYTE $0x03 // vmovdqu %ymm0, (%rbx,%rax) - LONG $0x647dc1c4; BYTE $0xc0 // vpcmpgtb %ymm8, %ymm0, %ymm0 - LONG $0xc0dbf5c5 // vpand %ymm0, %ymm1, %ymm0 - LONG $0xc0ebedc5 // vpor %ymm0, %ymm2, %ymm0 - LONG $0xf0d7fdc5 // vpmovmskb %ymm0, %esi - WORD $0xf685 // testl %esi, %esi - LONG $0x011a850f; WORD $0x0000 // jne LBB5_111, $282(%rip) - LONG $0x20c08348 // addq $32, %rax - LONG $0xe0c18348 // addq $-32, %rcx - LONG $0x3ff98348 // cmpq $63, %rcx - LONG $0xffbb8f0f; WORD $0xffff // jg LBB5_92, $-69(%rip) - WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd %ymm8, %ymm8, %ymm8 - QUAD $0xfffff6cb1d6f7dc5 // vmovdqa $-2357(%rip), %ymm11 /* LCPI5_2(%rip) */ - QUAD $0xfffff6a30d6f7dc5 // vmovdqa $-2397(%rip), %ymm9 /* LCPI5_1(%rip) */ - QUAD $0xfffff67b156f7dc5 // vmovdqa $-2437(%rip), %ymm10 /* LCPI5_0(%rip) */ - WORD $0x0148; BYTE $0xc7 // addq %rax, %rdi - WORD $0x2949; BYTE $0xc3 // subq %rax, %r11 - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - LONG $0x30f98348 // cmpq $48, %rcx - QUAD $0xfffff6c63d6ff9c5 // vmovdqa $-2362(%rip), %xmm7 /* LCPI5_3(%rip) */ - QUAD $0xfffff6ce2d6ff9c5 // vmovdqa $-2354(%rip), %xmm5 /* LCPI5_4(%rip) */ - QUAD $0xfffff6d6256ff9c5 // vmovdqa $-2346(%rip), %xmm4 /* LCPI5_5(%rip) */ - LONG $0xf676c9c5 // vpcmpeqd %xmm6, %xmm6, %xmm6 - LONG $0x00418d0f; WORD $0x0000 // jge LBB5_106, $65(%rip) - LONG $0xfffe30e9; BYTE $0xff // jmp LBB5_95, $-464(%rip) - -LBB5_105: - WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd %ymm8, %ymm8, %ymm8 - QUAD $0xfffff6771d6f7dc5 // vmovdqa $-2441(%rip), %ymm11 /* LCPI5_2(%rip) */ - QUAD $0xfffff64f0d6f7dc5 // vmovdqa $-2481(%rip), %ymm9 /* LCPI5_1(%rip) */ - QUAD $0xfffff627156f7dc5 // vmovdqa $-2521(%rip), %ymm10 /* LCPI5_0(%rip) */ - QUAD $0xfffff67f3d6ff9c5 // vmovdqa $-2433(%rip), %xmm7 /* LCPI5_3(%rip) */ - QUAD $0xfffff6872d6ff9c5 // vmovdqa $-2425(%rip), %xmm5 /* LCPI5_4(%rip) */ - QUAD $0xfffff68f256ff9c5 // vmovdqa $-2417(%rip), %xmm4 /* LCPI5_5(%rip) */ - LONG $0xf676c9c5 // vpcmpeqd %xmm6, %xmm6, %xmm6 - -LBB5_106: - LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx - WORD $0xc031 // xorl %eax, %eax - LONG $0x90909090 // .p2align 4, 0x90 - -LBB5_107: - LONG $0x046ffac5; BYTE $0x07 // vmovdqu (%rdi,%rax), %xmm0 - LONG $0xc864c1c5 // vpcmpgtb %xmm0, %xmm7, %xmm1 - LONG $0xd574f9c5 // vpcmpeqb %xmm5, %xmm0, %xmm2 - LONG $0xdc74f9c5 // vpcmpeqb %xmm4, %xmm0, %xmm3 - LONG $0xd2ebe1c5 // vpor %xmm2, %xmm3, %xmm2 - LONG $0x047ffac5; BYTE $0x03 // vmovdqu %xmm0, (%rbx,%rax) - LONG $0xc664f9c5 // vpcmpgtb %xmm6, %xmm0, %xmm0 - LONG $0xc0dbf1c5 // vpand %xmm0, %xmm1, %xmm0 - LONG $0xc0ebe9c5 // vpor %xmm0, %xmm2, %xmm0 - LONG $0xf0d7f9c5 // vpmovmskb %xmm0, %esi - WORD $0x8566; BYTE $0xf6 // testw %si, %si - LONG $0x002f850f; WORD $0x0000 // jne LBB5_110, $47(%rip) - LONG $0x10c08348 // addq $16, %rax - LONG $0x0b748d49; BYTE $0xf0 // leaq $-16(%r11,%rcx), %rsi - LONG $0xf0c18348 // addq $-16, %rcx - LONG $0x1ffe8348 // cmpq $31, %rsi - LONG $0xffb68f0f; WORD $0xffff // jg LBB5_107, $-74(%rip) - WORD $0x0148; BYTE $0xc7 // addq %rax, %rdi - WORD $0x2949; BYTE $0xc3 // subq %rax, %r11 - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - LONG $0x08fb8349 // cmpq $8, %r11 - LONG $0xfd968d0f; WORD $0xffff // jge LBB5_96, $-618(%rip) - LONG $0xfffe16e9; BYTE $0xff // jmp LBB5_99, $-490(%rip) - -LBB5_110: - WORD $0xb70f; BYTE $0xce // movzwl %si, %ecx - WORD $0xbc0f; BYTE $0xc9 // bsfl %ecx, %ecx - LONG $0x000003e9; BYTE $0x00 // jmp LBB5_112, $3(%rip) - -LBB5_111: - WORD $0xbc0f; BYTE $0xce // bsfl %esi, %ecx - -LBB5_112: - WORD $0x0148; BYTE $0xcf // addq %rcx, %rdi - WORD $0x0148; BYTE $0xc7 // addq %rax, %rdi - WORD $0x2949; BYTE $0xcb // subq %rcx, %r11 - WORD $0x2949; BYTE $0xc3 // subq %rax, %r11 - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - -LBB5_113: - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - -LBB5_114: - WORD $0x078a // movb (%rdi), %al - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB5_115: - WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx - WORD $0xb60f; BYTE $0xc0 // movzbl %al, %eax - LONG $0x04e0c148 // shlq $4, %rax - LONG $0x001c6349 // movslq (%r8,%rax), %rbx - LONG $0x00448b49; BYTE $0x08 // movq $8(%r8,%rax), %rax - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - LONG $0x02fb8349 // cmpq $2, %r11 - LONG $0x00418c0f; WORD $0x0000 // jl LBB5_119, $65(%rip) - WORD $0xff49; BYTE $0xcb // decq %r11 - LONG $0x0147b60f // movzbl $1(%rdi), %eax - WORD $0xff48; BYTE $0xc7 // incq %rdi - LONG $0x083c8042; BYTE $0x00 // cmpb $0, (%rax,%r9) - LONG $0xffc8850f; WORD $0xffff // jne LBB5_115, $-56(%rip) - LONG $0xfffd12e9; BYTE $0xff // jmp LBB5_89, $-750(%rip) - -LBB5_117: - WORD $0xbc0f; BYTE $0xc0 // bsfl %eax, %eax - WORD $0x0148; BYTE $0xc7 // addq %rax, %rdi - WORD $0x2949; BYTE $0xc3 // subq %rax, %r11 - LONG $0xffffa4e9; BYTE $0xff // jmp LBB5_113, $-92(%rip) - -LBB5_118: - WORD $0xbc0f; BYTE $0xc0 // bsfl %eax, %eax - LONG $0x04488d48 // leaq $4(%rax), %rcx - LONG $0x077c8d48; BYTE $0x04 // leaq $4(%rdi,%rax), %rdi - WORD $0x2949; BYTE $0xcb // subq %rcx, %r11 - LONG $0x035c8d48; BYTE $0x04 // leaq $4(%rbx,%rax), %rbx - LONG $0xffff8ee9; BYTE $0xff // jmp LBB5_114, $-114(%rip) - -LBB5_119: - WORD $0x2948; BYTE $0xd3 // subq %rdx, %rbx - WORD $0x8949; BYTE $0x1f // movq %rbx, (%r15) - LONG $0x00001de9; BYTE $0x00 // jmp LBB5_123, $29(%rip) - -LBB5_120: - WORD $0x2949; BYTE $0xd4 // subq %rdx, %r12 - WORD $0x894d; BYTE $0x27 // movq %r12, (%r15) - WORD $0x2949; BYTE $0xfb // subq %rdi, %r11 - LONG $0x00000ce9; BYTE $0x00 // jmp LBB5_122, $12(%rip) - -LBB5_121: - WORD $0x2949; BYTE $0xd4 // subq %rdx, %r12 - WORD $0x894d; BYTE $0x27 // movq %r12, (%r15) - WORD $0xf749; BYTE $0xd3 // notq %r11 - WORD $0x0149; BYTE $0xfb // addq %rdi, %r11 - -LBB5_122: - WORD $0x894d; BYTE $0xda // movq %r11, %r10 - -LBB5_123: - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB5_124: - WORD $0x2949; BYTE $0xd4 // subq %rdx, %r12 - WORD $0x894c; BYTE $0xf0 // movq %r14, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x014c; BYTE $0xe0 // addq %r12, %rax - WORD $0x8949; BYTE $0x07 // movq %rax, (%r15) - WORD $0x294c; BYTE $0xdf // subq %r11, %rdi - WORD $0x014c; BYTE $0xf7 // addq %r14, %rdi - WORD $0x8949; BYTE $0xfa // movq %rdi, %r10 - LONG $0xffffcee9; BYTE $0xff // jmp LBB5_123, $-50(%rip) - QUAD $0x0000000000000000; QUAD $0x0000000000000000; WORD $0x0000 // .p2align 5, 0x00 - -LCPI6_0: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - - // .p2align 4, 0x00 -LCPI6_1: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - - // .p2align 4, 0x90 -_unquote: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x18ec8348 // subq $24, %rsp - WORD $0x8949; BYTE $0xd3 // movq %rdx, %r11 - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0029840f; WORD $0x0000 // je LBB6_2, $41(%rip) - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - WORD $0x8945; BYTE $0xc2 // movl %r8d, %r10d - LONG $0x01e28341 // andl $1, %r10d - QUAD $0xffffffa00d6ffdc5 // vmovdqa $-96(%rip), %ymm1 /* LCPI6_0(%rip) */ - QUAD $0xffffffb8156ff9c5 // vmovdqa $-72(%rip), %xmm2 /* LCPI6_1(%rip) */ - WORD $0x8949; BYTE $0xf9 // movq %rdi, %r9 - WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13 - WORD $0x894c; BYTE $0xda // movq %r11, %rdx - LONG $0x000056e9; BYTE $0x00 // jmp LBB6_8, $86(%rip) - -LBB6_2: - WORD $0x3145; BYTE $0xed // xorl %r13d, %r13d - WORD $0x894c; BYTE $0xda // movq %r11, %rdx - -LBB6_3: - WORD $0x014c; BYTE $0xea // addq %r13, %rdx - WORD $0x294c; BYTE $0xda // subq %r11, %rdx - -LBB6_4: - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0x18c48348 // addq $24, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB6_5: - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - WORD $0x8944; BYTE $0xf8 // movl %r15d, %eax - WORD $0xe8c1; BYTE $0x06 // shrl $6, %eax - WORD $0xc00c // orb $-64, %al - WORD $0x0288 // movb %al, (%rdx) - LONG $0x3fe78041 // andb $63, %r15b - LONG $0x80cf8041 // orb $-128, %r15b - LONG $0x017a8844 // movb %r15b, $1(%rdx) - LONG $0x02c28348 // addq $2, %rdx - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB6_6: - WORD $0x894d; BYTE $0xf5 // movq %r14, %r13 - -LBB6_7: - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - LONG $0x0846840f; WORD $0x0000 // je LBB6_115, $2118(%rip) - -LBB6_8: - LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x000a850f; WORD $0x0000 // jne LBB6_10, $10(%rip) - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0x000143e9; BYTE $0x00 // jmp LBB6_24, $323(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB6_10: - WORD $0x894d; BYTE $0xef // movq %r13, %r15 - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x894d; BYTE $0xce // movq %r9, %r14 - LONG $0x20fd8349 // cmpq $32, %r13 - LONG $0x00408c0f; WORD $0x0000 // jl LBB6_14, $64(%rip) - WORD $0x894d; BYTE $0xce // movq %r9, %r14 - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x894d; BYTE $0xec // movq %r13, %r12 - LONG $0x90909090 // .p2align 4, 0x90 - -LBB6_12: - LONG $0x6f7ec1c4; BYTE $0x06 // vmovdqu (%r14), %ymm0 - LONG $0x007ffec5 // vmovdqu %ymm0, (%rax) - LONG $0xc174fdc5 // vpcmpeqb %ymm1, %ymm0, %ymm0 - LONG $0xd8d7fdc5 // vpmovmskb %ymm0, %ebx - WORD $0xdb85 // testl %ebx, %ebx - LONG $0x00c1850f; WORD $0x0000 // jne LBB6_22, $193(%rip) - LONG $0x20c68349 // addq $32, %r14 - LONG $0x20c08348 // addq $32, %rax - LONG $0x247c8d4d; BYTE $0xe0 // leaq $-32(%r12), %r15 - LONG $0x3ffc8349 // cmpq $63, %r12 - WORD $0x894d; BYTE $0xfc // movq %r15, %r12 - LONG $0xffcd8f0f; WORD $0xffff // jg LBB6_12, $-51(%rip) - -LBB6_14: - WORD $0xf8c5; BYTE $0x77 // vzeroupper - QUAD $0xfffffee2156ff9c5 // vmovdqa $-286(%rip), %xmm2 /* LCPI6_1(%rip) */ - LONG $0x10ff8349 // cmpq $16, %r15 - LONG $0x003b8c0f; WORD $0x0000 // jl LBB6_17, $59(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB6_15: - LONG $0x6f7ac1c4; BYTE $0x06 // vmovdqu (%r14), %xmm0 - LONG $0x007ffac5 // vmovdqu %xmm0, (%rax) - LONG $0xc274f9c5 // vpcmpeqb %xmm2, %xmm0, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx - WORD $0x8566; BYTE $0xdb // testw %bx, %bx - LONG $0x008c850f; WORD $0x0000 // jne LBB6_23, $140(%rip) - LONG $0x10c68349 // addq $16, %r14 - LONG $0x10c08348 // addq $16, %rax - LONG $0xf04f8d49 // leaq $-16(%r15), %rcx - LONG $0x1fff8349 // cmpq $31, %r15 - WORD $0x8949; BYTE $0xcf // movq %rcx, %r15 - LONG $0xffcd8f0f; WORD $0xffff // jg LBB6_15, $-51(%rip) - -LBB6_17: - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0xfef0840f; WORD $0xffff // je LBB6_3, $-272(%rip) - WORD $0xdb31 // xorl %ebx, %ebx - QUAD $0xfffffe6a0d6ffdc5 // vmovdqa $-406(%rip), %ymm1 /* LCPI6_0(%rip) */ - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB6_19: - LONG $0x0cb60f41; BYTE $0x1e // movzbl (%r14,%rbx), %ecx - WORD $0xf980; BYTE $0x5c // cmpb $92, %cl - LONG $0x0014840f; WORD $0x0000 // je LBB6_21, $20(%rip) - WORD $0x0c88; BYTE $0x18 // movb %cl, (%rax,%rbx) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0x3949; BYTE $0xdf // cmpq %rbx, %r15 - LONG $0xffe3850f; WORD $0xffff // jne LBB6_19, $-29(%rip) - LONG $0xfffebae9; BYTE $0xff // jmp LBB6_3, $-326(%rip) - -LBB6_21: - WORD $0x0149; BYTE $0xde // addq %rbx, %r14 - WORD $0x294d; BYTE $0xce // subq %r9, %r14 - WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx - LONG $0xfffb8348 // cmpq $-1, %rbx - LONG $0x004b850f; WORD $0x0000 // jne LBB6_24, $75(%rip) - LONG $0xfffea2e9; BYTE $0xff // jmp LBB6_3, $-350(%rip) - -LBB6_22: - WORD $0x6348; BYTE $0xc3 // movslq %ebx, %rax - WORD $0x294d; BYTE $0xce // subq %r9, %r14 - LONG $0xd8bc0f48 // bsfq %rax, %rbx - WORD $0x014c; BYTE $0xf3 // addq %r14, %rbx - LONG $0xfffb8348 // cmpq $-1, %rbx - LONG $0x002f850f; WORD $0x0000 // jne LBB6_24, $47(%rip) - LONG $0xfffe86e9; BYTE $0xff // jmp LBB6_3, $-378(%rip) - -LBB6_23: - WORD $0xb70f; BYTE $0xc3 // movzwl %bx, %eax - WORD $0x294d; BYTE $0xce // subq %r9, %r14 - LONG $0xd8bc0f48 // bsfq %rax, %rbx - WORD $0x014c; BYTE $0xf3 // addq %r14, %rbx - QUAD $0xfffffdf50d6ffdc5 // vmovdqa $-523(%rip), %ymm1 /* LCPI6_0(%rip) */ - LONG $0xfffb8348 // cmpq $-1, %rbx - LONG $0xfe67840f; WORD $0xffff // je LBB6_3, $-409(%rip) - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB6_24: - LONG $0x02438d48 // leaq $2(%rbx), %rax - WORD $0x2949; BYTE $0xc5 // subq %rax, %r13 - LONG $0x06ed880f; WORD $0x0000 // js LBB6_116, $1773(%rip) - LONG $0x194c8d4d; BYTE $0x02 // leaq $2(%r9,%rbx), %r9 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x03d6850f; WORD $0x0000 // jne LBB6_67, $982(%rip) - -LBB6_26: - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0x41b60f41; BYTE $0xff // movzbl $-1(%r9), %eax - LONG $0xe60d8d48; WORD $0x00ed; BYTE $0x00 // leaq $60902(%rip), %rcx /* __UnquoteTab(%rip) */ - WORD $0x048a; BYTE $0x08 // movb (%rax,%rcx), %al - WORD $0xff3c // cmpb $-1, %al - LONG $0x001b840f; WORD $0x0000 // je LBB6_29, $27(%rip) - WORD $0xc084 // testb %al, %al - LONG $0x058d840f; WORD $0x0000 // je LBB6_98, $1421(%rip) - WORD $0x0288 // movb %al, (%rdx) - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0xfffe5ce9; BYTE $0xff // jmp LBB6_7, $-420(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB6_29: - LONG $0x03fd8349 // cmpq $3, %r13 - LONG $0x06a08e0f; WORD $0x0000 // jle LBB6_116, $1696(%rip) - WORD $0x8b45; BYTE $0x31 // movl (%r9), %r14d - WORD $0x8945; BYTE $0xf7 // movl %r14d, %r15d - WORD $0xf741; BYTE $0xd7 // notl %r15d - LONG $0xd0868d41; WORD $0xcfcf; BYTE $0xcf // leal $-808464432(%r14), %eax - LONG $0x80e78141; WORD $0x8080; BYTE $0x80 // andl $-2139062144, %r15d - WORD $0x8541; BYTE $0xc7 // testl %eax, %r15d - LONG $0x049c850f; WORD $0x0000 // jne LBB6_89, $1180(%rip) - LONG $0x19868d41; WORD $0x1919; BYTE $0x19 // leal $421075225(%r14), %eax - WORD $0x0944; BYTE $0xf0 // orl %r14d, %eax - LONG $0x808080a9; BYTE $0x80 // testl $-2139062144, %eax - LONG $0x0487850f; WORD $0x0000 // jne LBB6_89, $1159(%rip) - WORD $0x8944; BYTE $0xf3 // movl %r14d, %ebx - LONG $0x7f7fe381; WORD $0x7f7f // andl $2139062143, %ebx - LONG $0xc0c0c0b8; BYTE $0xc0 // movl $-1061109568, %eax - WORD $0xd829 // subl %ebx, %eax - LONG $0x46468b8d; WORD $0x4646 // leal $1179010630(%rbx), %ecx - WORD $0x2144; BYTE $0xf8 // andl %r15d, %eax - WORD $0xc885 // testl %ecx, %eax - LONG $0x0466850f; WORD $0x0000 // jne LBB6_89, $1126(%rip) - LONG $0xe0e0e0b8; BYTE $0xe0 // movl $-522133280, %eax - WORD $0xd829 // subl %ebx, %eax - LONG $0x3939c381; WORD $0x3939 // addl $960051513, %ebx - WORD $0x2141; BYTE $0xc7 // andl %eax, %r15d - WORD $0x8541; BYTE $0xdf // testl %ebx, %r15d - LONG $0x044d850f; WORD $0x0000 // jne LBB6_89, $1101(%rip) - WORD $0x0f41; BYTE $0xce // bswapl %r14d - WORD $0x8944; BYTE $0xf0 // movl %r14d, %eax - WORD $0xe8c1; BYTE $0x04 // shrl $4, %eax - WORD $0xd0f7 // notl %eax - LONG $0x01010125; BYTE $0x01 // andl $16843009, %eax - WORD $0x048d; BYTE $0xc0 // leal (%rax,%rax,8), %eax - LONG $0x0fe68141; WORD $0x0f0f; BYTE $0x0f // andl $252645135, %r14d - WORD $0x0141; BYTE $0xc6 // addl %eax, %r14d - WORD $0x8944; BYTE $0xf0 // movl %r14d, %eax - WORD $0xe8c1; BYTE $0x04 // shrl $4, %eax - WORD $0x0944; BYTE $0xf0 // orl %r14d, %eax - LONG $0xf8b60f44 // movzbl %al, %r15d - WORD $0xe8c1; BYTE $0x08 // shrl $8, %eax - LONG $0x00ff0025; BYTE $0x00 // andl $65280, %eax - WORD $0x0941; BYTE $0xc7 // orl %eax, %r15d - LONG $0xfc758d4d // leaq $-4(%r13), %r14 - LONG $0x80ff8141; WORD $0x0000; BYTE $0x00 // cmpl $128, %r15d - LONG $0x032f820f; WORD $0x0000 // jb LBB6_75, $815(%rip) - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0145850f; WORD $0x0000 // jne LBB6_49, $325(%rip) - -LBB6_36: - LONG $0x00ff8141; WORD $0x0008; BYTE $0x00 // cmpl $2048, %r15d - LONG $0xfd4f820f; WORD $0xffff // jb LBB6_5, $-689(%rip) - WORD $0x8944; BYTE $0xf8 // movl %r15d, %eax - LONG $0xfff80025; BYTE $0xff // andl $-2048, %eax - LONG $0x00d8003d; BYTE $0x00 // cmpl $55296, %eax - LONG $0x0285850f; WORD $0x0000 // jne LBB6_65, $645(%rip) - LONG $0xffff8141; WORD $0x00db; BYTE $0x00 // cmpl $56319, %r15d - LONG $0x0305870f; WORD $0x0000 // ja LBB6_77, $773(%rip) - LONG $0x06fe8349 // cmpq $6, %r14 - LONG $0x02fb8c0f; WORD $0x0000 // jl LBB6_77, $763(%rip) - LONG $0x217c8043; WORD $0x5c04 // cmpb $92, $4(%r9,%r12) - LONG $0x02ef850f; WORD $0x0000 // jne LBB6_77, $751(%rip) - LONG $0x217c8043; WORD $0x7505 // cmpb $117, $5(%r9,%r12) - LONG $0x02e3850f; WORD $0x0000 // jne LBB6_77, $739(%rip) - LONG $0x214c8b43; BYTE $0x06 // movl $6(%r9,%r12), %ecx - WORD $0xcb89 // movl %ecx, %ebx - WORD $0xd3f7 // notl %ebx - LONG $0xcfd0818d; WORD $0xcfcf // leal $-808464432(%rcx), %eax - LONG $0x8080e381; WORD $0x8080 // andl $-2139062144, %ebx - WORD $0x5d89; BYTE $0xcc // movl %ebx, $-52(%rbp) - WORD $0xc385 // testl %eax, %ebx - LONG $0x0464850f; WORD $0x0000 // jne LBB6_100, $1124(%rip) - LONG $0x1919818d; WORD $0x1919 // leal $421075225(%rcx), %eax - WORD $0xc809 // orl %ecx, %eax - LONG $0x808080a9; BYTE $0x80 // testl $-2139062144, %eax - LONG $0x0451850f; WORD $0x0000 // jne LBB6_100, $1105(%rip) - WORD $0xcb89 // movl %ecx, %ebx - LONG $0x7f7fe381; WORD $0x7f7f // andl $2139062143, %ebx - LONG $0xc0c0c0b8; BYTE $0xc0 // movl $-1061109568, %eax - WORD $0xd829 // subl %ebx, %eax - LONG $0xc04d8948 // movq %rcx, $-64(%rbp) - LONG $0x46468b8d; WORD $0x4646 // leal $1179010630(%rbx), %ecx - WORD $0x4523; BYTE $0xcc // andl $-52(%rbp), %eax - WORD $0xc885 // testl %ecx, %eax - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - LONG $0x0429850f; WORD $0x0000 // jne LBB6_100, $1065(%rip) - LONG $0xe0e0e0b8; BYTE $0xe0 // movl $-522133280, %eax - WORD $0xd829 // subl %ebx, %eax - WORD $0x4589; BYTE $0xc8 // movl %eax, $-56(%rbp) - LONG $0x3939c381; WORD $0x3939 // addl $960051513, %ebx - WORD $0x458b; BYTE $0xcc // movl $-52(%rbp), %eax - WORD $0x4523; BYTE $0xc8 // andl $-56(%rbp), %eax - WORD $0xd885 // testl %ebx, %eax - LONG $0x040b850f; WORD $0x0000 // jne LBB6_100, $1035(%rip) - WORD $0xc90f // bswapl %ecx - WORD $0xc889 // movl %ecx, %eax - WORD $0xe8c1; BYTE $0x04 // shrl $4, %eax - WORD $0xd0f7 // notl %eax - LONG $0x01010125; BYTE $0x01 // andl $16843009, %eax - WORD $0x048d; BYTE $0xc0 // leal (%rax,%rax,8), %eax - LONG $0x0f0fe181; WORD $0x0f0f // andl $252645135, %ecx - WORD $0xc101 // addl %eax, %ecx - WORD $0xc889 // movl %ecx, %eax - WORD $0xe8c1; BYTE $0x04 // shrl $4, %eax - WORD $0xc809 // orl %ecx, %eax - WORD $0xc189 // movl %eax, %ecx - WORD $0xe9c1; BYTE $0x08 // shrl $8, %ecx - LONG $0xff00e181; WORD $0x0000 // andl $65280, %ecx - WORD $0xb60f; BYTE $0xd8 // movzbl %al, %ebx - WORD $0xcb09 // orl %ecx, %ebx - LONG $0xfc000025; BYTE $0x00 // andl $16515072, %eax - LONG $0xdc00003d; BYTE $0x00 // cmpl $14417920, %eax - LONG $0x026f840f; WORD $0x0000 // je LBB6_83, $623(%rip) - LONG $0x02c0f641 // testb $2, %r8b - LONG $0x04fa840f; WORD $0x0000 // je LBB6_119, $1274(%rip) - LONG $0xfac68349 // addq $-6, %r14 - LONG $0xef02c766; BYTE $0xbf // movw $-16401, (%rdx) - LONG $0xbd0242c6 // movb $-67, $2(%rdx) - LONG $0x03c28348 // addq $3, %rdx - LONG $0x06c48349 // addq $6, %r12 - WORD $0x8941; BYTE $0xdf // movl %ebx, %r15d - WORD $0xfb83; BYTE $0x7f // cmpl $127, %ebx - LONG $0xfecd870f; WORD $0xffff // ja LBB6_36, $-307(%rip) - LONG $0x000158e9; BYTE $0x00 // jmp LBB6_64, $344(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB6_49: - LONG $0x00ff8141; WORD $0x0008; BYTE $0x00 // cmpl $2048, %r15d - LONG $0xfc0a820f; WORD $0xffff // jb LBB6_5, $-1014(%rip) - WORD $0x8944; BYTE $0xf8 // movl %r15d, %eax - LONG $0xfff80025; BYTE $0xff // andl $-2048, %eax - LONG $0x00d8003d; BYTE $0x00 // cmpl $55296, %eax - LONG $0x0140850f; WORD $0x0000 // jne LBB6_65, $320(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x04528e0f; WORD $0x0000 // jle LBB6_113, $1106(%rip) - LONG $0x217c8043; WORD $0x5c04 // cmpb $92, $4(%r9,%r12) - LONG $0x01e9850f; WORD $0x0000 // jne LBB6_81, $489(%rip) - LONG $0xffff8141; WORD $0x00db; BYTE $0x00 // cmpl $56319, %r15d - LONG $0x01b5870f; WORD $0x0000 // ja LBB6_78, $437(%rip) - LONG $0x07fe8349 // cmpq $7, %r14 - LONG $0x01ab8c0f; WORD $0x0000 // jl LBB6_78, $427(%rip) - LONG $0x217c8043; WORD $0x5c05 // cmpb $92, $5(%r9,%r12) - LONG $0x019f850f; WORD $0x0000 // jne LBB6_78, $415(%rip) - LONG $0x217c8043; WORD $0x7506 // cmpb $117, $6(%r9,%r12) - LONG $0x0193850f; WORD $0x0000 // jne LBB6_78, $403(%rip) - LONG $0x214c8b43; BYTE $0x07 // movl $7(%r9,%r12), %ecx - WORD $0xcb89 // movl %ecx, %ebx - WORD $0xd3f7 // notl %ebx - LONG $0xcfd0818d; WORD $0xcfcf // leal $-808464432(%rcx), %eax - LONG $0x8080e381; WORD $0x8080 // andl $-2139062144, %ebx - WORD $0x5d89; BYTE $0xcc // movl %ebx, $-52(%rbp) - WORD $0xc385 // testl %eax, %ebx - LONG $0x0314850f; WORD $0x0000 // jne LBB6_101, $788(%rip) - LONG $0x1919818d; WORD $0x1919 // leal $421075225(%rcx), %eax - WORD $0xc809 // orl %ecx, %eax - LONG $0x808080a9; BYTE $0x80 // testl $-2139062144, %eax - LONG $0x0301850f; WORD $0x0000 // jne LBB6_101, $769(%rip) - WORD $0xcb89 // movl %ecx, %ebx - LONG $0x7f7fe381; WORD $0x7f7f // andl $2139062143, %ebx - LONG $0xc0c0c0b8; BYTE $0xc0 // movl $-1061109568, %eax - WORD $0xd829 // subl %ebx, %eax - LONG $0xc04d8948 // movq %rcx, $-64(%rbp) - LONG $0x46468b8d; WORD $0x4646 // leal $1179010630(%rbx), %ecx - WORD $0x4523; BYTE $0xcc // andl $-52(%rbp), %eax - WORD $0xc885 // testl %ecx, %eax - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - LONG $0x02d9850f; WORD $0x0000 // jne LBB6_101, $729(%rip) - LONG $0xe0e0e0b8; BYTE $0xe0 // movl $-522133280, %eax - WORD $0xd829 // subl %ebx, %eax - WORD $0x4589; BYTE $0xc8 // movl %eax, $-56(%rbp) - LONG $0x3939c381; WORD $0x3939 // addl $960051513, %ebx - WORD $0x458b; BYTE $0xcc // movl $-52(%rbp), %eax - WORD $0x4523; BYTE $0xc8 // andl $-56(%rbp), %eax - WORD $0xd885 // testl %ebx, %eax - LONG $0x02bb850f; WORD $0x0000 // jne LBB6_101, $699(%rip) - WORD $0xc90f // bswapl %ecx - WORD $0xc889 // movl %ecx, %eax - WORD $0xe8c1; BYTE $0x04 // shrl $4, %eax - WORD $0xd0f7 // notl %eax - LONG $0x01010125; BYTE $0x01 // andl $16843009, %eax - WORD $0x048d; BYTE $0xc0 // leal (%rax,%rax,8), %eax - LONG $0x0f0fe181; WORD $0x0f0f // andl $252645135, %ecx - WORD $0xc101 // addl %eax, %ecx - WORD $0xc889 // movl %ecx, %eax - WORD $0xe8c1; BYTE $0x04 // shrl $4, %eax - WORD $0xc809 // orl %ecx, %eax - WORD $0xc189 // movl %eax, %ecx - WORD $0xe9c1; BYTE $0x08 // shrl $8, %ecx - LONG $0xff00e181; WORD $0x0000 // andl $65280, %ecx - WORD $0xb60f; BYTE $0xd8 // movzbl %al, %ebx - WORD $0xcb09 // orl %ecx, %ebx - LONG $0xfc000025; BYTE $0x00 // andl $16515072, %eax - LONG $0xdc00003d; BYTE $0x00 // cmpl $14417920, %eax - LONG $0x0126840f; WORD $0x0000 // je LBB6_84, $294(%rip) - LONG $0x02c0f641 // testb $2, %r8b - LONG $0x03aa840f; WORD $0x0000 // je LBB6_120, $938(%rip) - LONG $0xf9c68349 // addq $-7, %r14 - LONG $0xef02c766; BYTE $0xbf // movw $-16401, (%rdx) - LONG $0xbd0242c6 // movb $-67, $2(%rdx) - LONG $0x03c28348 // addq $3, %rdx - LONG $0x07c48349 // addq $7, %r12 - WORD $0x8941; BYTE $0xdf // movl %ebx, %r15d - LONG $0x0080fb81; WORD $0x0000 // cmpl $128, %ebx - LONG $0xfeb5830f; WORD $0xffff // jae LBB6_49, $-331(%rip) - -LBB6_64: - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - WORD $0x8941; BYTE $0xdf // movl %ebx, %r15d - LONG $0x00008ae9; BYTE $0x00 // jmp LBB6_76, $138(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB6_65: - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - WORD $0x8944; BYTE $0xf8 // movl %r15d, %eax - WORD $0xe8c1; BYTE $0x0c // shrl $12, %eax - WORD $0xe00c // orb $-32, %al - WORD $0x0288 // movb %al, (%rdx) - WORD $0x8944; BYTE $0xf8 // movl %r15d, %eax - WORD $0xe8c1; BYTE $0x06 // shrl $6, %eax - WORD $0x3f24 // andb $63, %al - WORD $0x800c // orb $-128, %al - WORD $0x4288; BYTE $0x01 // movb %al, $1(%rdx) - LONG $0x3fe78041 // andb $63, %r15b - LONG $0x80cf8041 // orb $-128, %r15b - LONG $0x027a8844 // movb %r15b, $2(%rdx) - -LBB6_66: - LONG $0x03c28348 // addq $3, %rdx - LONG $0xfffaafe9; BYTE $0xff // jmp LBB6_6, $-1361(%rip) - -LBB6_67: - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x0300840f; WORD $0x0000 // je LBB6_116, $768(%rip) - LONG $0xff798041; BYTE $0x5c // cmpb $92, $-1(%r9) - LONG $0x01de850f; WORD $0x0000 // jne LBB6_99, $478(%rip) - LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x0024850f; WORD $0x0000 // jne LBB6_74, $36(%rip) - LONG $0x01fd8341 // cmpl $1, %r13d - LONG $0x02e18e0f; WORD $0x0000 // jle LBB6_116, $737(%rip) - LONG $0x01418a41 // movb $1(%r9), %al - WORD $0x223c // cmpb $34, %al - LONG $0x0008840f; WORD $0x0000 // je LBB6_73, $8(%rip) - WORD $0x5c3c // cmpb $92, %al - LONG $0x0295850f; WORD $0x0000 // jne LBB6_111, $661(%rip) - -LBB6_73: - WORD $0xff49; BYTE $0xc1 // incq %r9 - WORD $0xff49; BYTE $0xcd // decq %r13 - -LBB6_74: - WORD $0xff49; BYTE $0xc1 // incq %r9 - WORD $0xff49; BYTE $0xcd // decq %r13 - LONG $0xfffbdde9; BYTE $0xff // jmp LBB6_26, $-1059(%rip) - -LBB6_75: - LONG $0x04c18349 // addq $4, %r9 - -LBB6_76: - WORD $0x8844; BYTE $0x3a // movb %r15b, (%rdx) - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0xfffa53e9; BYTE $0xff // jmp LBB6_6, $-1453(%rip) - -LBB6_77: - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - LONG $0x00000fe9; BYTE $0x00 // jmp LBB6_79, $15(%rip) - -LBB6_78: - LONG $0x214c8d4f; BYTE $0x05 // leaq $5(%r9,%r12), %r9 - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - LONG $0xfbc58349 // addq $-5, %r13 - WORD $0x894d; BYTE $0xee // movq %r13, %r14 - -LBB6_79: - LONG $0x02c0f641 // testb $2, %r8b - LONG $0x02e0840f; WORD $0x0000 // je LBB6_122, $736(%rip) - -LBB6_80: - LONG $0xef02c766; BYTE $0xbf // movw $-16401, (%rdx) - LONG $0xbd0242c6 // movb $-67, $2(%rdx) - LONG $0xffff6ae9; BYTE $0xff // jmp LBB6_66, $-150(%rip) - -LBB6_81: - LONG $0x02c0f641 // testb $2, %r8b - LONG $0x02d5840f; WORD $0x0000 // je LBB6_123, $725(%rip) - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - LONG $0xffffdee9; BYTE $0xff // jmp LBB6_80, $-34(%rip) - -LBB6_83: - LONG $0x214c8d4f; BYTE $0x0a // leaq $10(%r9,%r12), %r9 - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - LONG $0xf6c58349 // addq $-10, %r13 - LONG $0x00000ce9; BYTE $0x00 // jmp LBB6_85, $12(%rip) - -LBB6_84: - LONG $0x214c8d4f; BYTE $0x0b // leaq $11(%r9,%r12), %r9 - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - LONG $0xf5c58349 // addq $-11, %r13 - -LBB6_85: - LONG $0x0ae7c141 // shll $10, %r15d - QUAD $0xfca024001f9c8d41 // leal $-56613888(%r15,%rbx), %ebx - LONG $0x0000fb81; WORD $0x0011 // cmpl $1114112, %ebx - LONG $0x001c820f; WORD $0x0000 // jb LBB6_88, $28(%rip) - LONG $0x02c0f641 // testb $2, %r8b - LONG $0x023c840f; WORD $0x0000 // je LBB6_117, $572(%rip) - LONG $0xef02c766; BYTE $0xbf // movw $-16401, (%rdx) - LONG $0xbd0242c6 // movb $-67, $2(%rdx) - LONG $0x03c28348 // addq $3, %rdx - LONG $0xfff9c0e9; BYTE $0xff // jmp LBB6_7, $-1600(%rip) - -LBB6_88: - WORD $0xd889 // movl %ebx, %eax - WORD $0xe8c1; BYTE $0x12 // shrl $18, %eax - WORD $0xf00c // orb $-16, %al - WORD $0x0288 // movb %al, (%rdx) - WORD $0xd889 // movl %ebx, %eax - WORD $0xe8c1; BYTE $0x0c // shrl $12, %eax - WORD $0x3f24 // andb $63, %al - WORD $0x800c // orb $-128, %al - WORD $0x4288; BYTE $0x01 // movb %al, $1(%rdx) - WORD $0xd889 // movl %ebx, %eax - WORD $0xe8c1; BYTE $0x06 // shrl $6, %eax - WORD $0x3f24 // andb $63, %al - WORD $0x800c // orb $-128, %al - WORD $0x4288; BYTE $0x02 // movb %al, $2(%rdx) - WORD $0xe380; BYTE $0x3f // andb $63, %bl - WORD $0xcb80; BYTE $0x80 // orb $-128, %bl - WORD $0x5a88; BYTE $0x03 // movb %bl, $3(%rdx) - LONG $0x04c28348 // addq $4, %rdx - LONG $0xfff98de9; BYTE $0xff // jmp LBB6_7, $-1651(%rip) - -LBB6_89: - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - LONG $0xd07d8b48 // movq $-48(%rbp), %rdi - WORD $0x8948; BYTE $0x07 // movq %rax, (%rdi) - WORD $0x8a41; BYTE $0x09 // movb (%r9), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0xfec2c748; WORD $0xffff; BYTE $0xff // movq $-2, %rdx - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_91, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xf919870f; WORD $0xffff // ja LBB6_4, $-1767(%rip) - -LBB6_91: - LONG $0x01488d48 // leaq $1(%rax), %rcx - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - LONG $0x01498a41 // movb $1(%r9), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_93, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xf8f2870f; WORD $0xffff // ja LBB6_4, $-1806(%rip) - -LBB6_93: - LONG $0x02488d48 // leaq $2(%rax), %rcx - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - LONG $0x02498a41 // movb $2(%r9), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_95, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xf8cb870f; WORD $0xffff // ja LBB6_4, $-1845(%rip) - -LBB6_95: - LONG $0x03488d48 // leaq $3(%rax), %rcx - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - LONG $0x03498a41 // movb $3(%r9), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_97, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xf8a4870f; WORD $0xffff // ja LBB6_4, $-1884(%rip) - -LBB6_97: - LONG $0x04c08348 // addq $4, %rax - WORD $0x8948; BYTE $0x07 // movq %rax, (%rdi) - LONG $0xfff898e9; BYTE $0xff // jmp LBB6_4, $-1896(%rip) - -LBB6_98: - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x0149; BYTE $0xf9 // addq %rdi, %r9 - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x894c; BYTE $0x08 // movq %r9, (%rax) - LONG $0xfdc2c748; WORD $0xffff; BYTE $0xff // movq $-3, %rdx - LONG $0xfff87fe9; BYTE $0xff // jmp LBB6_4, $-1921(%rip) - -LBB6_99: - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x0149; BYTE $0xf9 // addq %rdi, %r9 - LONG $0x0000dae9; BYTE $0x00 // jmp LBB6_112, $218(%rip) - -LBB6_100: - LONG $0x21748d4b; BYTE $0x04 // leaq $4(%r9,%r12), %rsi - LONG $0x000005e9; BYTE $0x00 // jmp LBB6_102, $5(%rip) - -LBB6_101: - LONG $0x21748d4b; BYTE $0x05 // leaq $5(%r9,%r12), %rsi - -LBB6_102: - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - LONG $0x02c08348 // addq $2, %rax - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - WORD $0x4e8a; BYTE $0x02 // movb $2(%rsi), %cl - WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi - LONG $0xfec2c748; WORD $0xffff; BYTE $0xff // movq $-2, %rdx - LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_104, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xf82e870f; WORD $0xffff // ja LBB6_4, $-2002(%rip) - -LBB6_104: - LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0xd07d8b48 // movq $-48(%rbp), %rdi - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - WORD $0x4e8a; BYTE $0x03 // movb $3(%rsi), %cl - WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi - LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_106, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xf804870f; WORD $0xffff // ja LBB6_4, $-2044(%rip) - -LBB6_106: - LONG $0x02488d48 // leaq $2(%rax), %rcx - LONG $0xd07d8b48 // movq $-48(%rbp), %rdi - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - WORD $0x4e8a; BYTE $0x04 // movb $4(%rsi), %cl - WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi - LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_108, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xf7da870f; WORD $0xffff // ja LBB6_4, $-2086(%rip) - -LBB6_108: - LONG $0x03488d48 // leaq $3(%rax), %rcx - LONG $0xd07d8b48 // movq $-48(%rbp), %rdi - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - WORD $0x4e8a; BYTE $0x05 // movb $5(%rsi), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_110, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xf7b0870f; WORD $0xffff // ja LBB6_4, $-2128(%rip) - -LBB6_110: - LONG $0x04c08348 // addq $4, %rax - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xfff7a0e9; BYTE $0xff // jmp LBB6_4, $-2144(%rip) - -LBB6_111: - WORD $0x2949; BYTE $0xf9 // subq %rdi, %r9 - WORD $0xff49; BYTE $0xc1 // incq %r9 - -LBB6_112: - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x894c; BYTE $0x08 // movq %r9, (%rax) - LONG $0xfec2c748; WORD $0xffff; BYTE $0xff // movq $-2, %rdx - LONG $0xfff787e9; BYTE $0xff // jmp LBB6_4, $-2169(%rip) - -LBB6_113: - LONG $0x02c0f641 // testb $2, %r8b - LONG $0x0015840f; WORD $0x0000 // je LBB6_116, $21(%rip) - LONG $0xef02c766; BYTE $0xbf // movw $-16401, (%rdx) - LONG $0xbd0242c6 // movb $-67, $2(%rdx) - LONG $0x03c28348 // addq $3, %rdx - -LBB6_115: - WORD $0x3145; BYTE $0xed // xorl %r13d, %r13d - LONG $0xfff762e9; BYTE $0xff // jmp LBB6_3, $-2206(%rip) - -LBB6_116: - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x8948; BYTE $0x30 // movq %rsi, (%rax) - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - LONG $0xfff755e9; BYTE $0xff // jmp LBB6_4, $-2219(%rip) - -LBB6_117: - WORD $0x2949; BYTE $0xf9 // subq %rdi, %r9 - LONG $0xfcc18349 // addq $-4, %r9 - -LBB6_118: - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x894c; BYTE $0x08 // movq %r9, (%rax) - LONG $0xfcc2c748; WORD $0xffff; BYTE $0xff // movq $-4, %rdx - LONG $0xfff73be9; BYTE $0xff // jmp LBB6_4, $-2245(%rip) - -LBB6_119: - LONG $0x21448d4b; BYTE $0x0a // leaq $10(%r9,%r12), %rax - LONG $0x000005e9; BYTE $0x00 // jmp LBB6_121, $5(%rip) - -LBB6_120: - LONG $0x21448d4b; BYTE $0x0b // leaq $11(%r9,%r12), %rax - -LBB6_121: - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - LONG $0xfcc08348 // addq $-4, %rax - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xfcc2c748; WORD $0xffff; BYTE $0xff // movq $-4, %rdx - LONG $0xfff712e9; BYTE $0xff // jmp LBB6_4, $-2286(%rip) - -LBB6_122: - LONG $0x3a448d49; BYTE $0x04 // leaq $4(%r10,%rdi), %rax - WORD $0x2949; BYTE $0xc1 // subq %rax, %r9 - LONG $0xffffb7e9; BYTE $0xff // jmp LBB6_118, $-73(%rip) - -LBB6_123: - WORD $0x014d; BYTE $0xe1 // addq %r12, %r9 - WORD $0x2949; BYTE $0xf9 // subq %rdi, %r9 - LONG $0xfffface9; BYTE $0xff // jmp LBB6_118, $-84(%rip) - QUAD $0x0000000000000000; QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .p2align 5, 0x00 - -LCPI7_0: - QUAD $0x2626262626262626; QUAD $0x2626262626262626 // .space 16, '&&&&&&&&&&&&&&&&' - QUAD $0x2626262626262626; QUAD $0x2626262626262626 // .space 16, '&&&&&&&&&&&&&&&&' - -LCPI7_1: - QUAD $0xe2e2e2e2e2e2e2e2; QUAD $0xe2e2e2e2e2e2e2e2 // .space 16, '\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2' - QUAD $0xe2e2e2e2e2e2e2e2; QUAD $0xe2e2e2e2e2e2e2e2 // .space 16, '\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2' - -LCPI7_2: - QUAD $0xfdfdfdfdfdfdfdfd; QUAD $0xfdfdfdfdfdfdfdfd // .space 16, '\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd' - QUAD $0xfdfdfdfdfdfdfdfd; QUAD $0xfdfdfdfdfdfdfdfd // .space 16, '\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd' - -LCPI7_3: - QUAD $0x3c3c3c3c3c3c3c3c; QUAD $0x3c3c3c3c3c3c3c3c // .space 16, '<<<<<<<<<<<<<<<<' - QUAD $0x3c3c3c3c3c3c3c3c; QUAD $0x3c3c3c3c3c3c3c3c // .space 16, '<<<<<<<<<<<<<<<<' - - // .p2align 4, 0x00 -LCPI7_4: - QUAD $0x2626262626262626; QUAD $0x2626262626262626 // .space 16, '&&&&&&&&&&&&&&&&' - -LCPI7_5: - QUAD $0xe2e2e2e2e2e2e2e2; QUAD $0xe2e2e2e2e2e2e2e2 // .space 16, '\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2' - -LCPI7_6: - QUAD $0xfdfdfdfdfdfdfdfd; QUAD $0xfdfdfdfdfdfdfdfd // .space 16, '\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd' - -LCPI7_7: - QUAD $0x3c3c3c3c3c3c3c3c; QUAD $0x3c3c3c3c3c3c3c3c // .space 16, '<<<<<<<<<<<<<<<<' - - // .p2align 4, 0x90 -_html_escape: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x18ec8348 // subq $24, %rsp - LONG $0xc04d8948 // movq %rcx, $-64(%rbp) - LONG $0xc8558948 // movq %rdx, $-56(%rbp) - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - LONG $0xd07d8948 // movq %rdi, $-48(%rbp) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x075f8e0f; WORD $0x0000 // jle LBB7_102, $1887(%rip) - WORD $0x8949; BYTE $0xf3 // movq %rsi, %r11 - LONG $0xc0458b48 // movq $-64(%rbp), %rax - WORD $0x8b4c; BYTE $0x08 // movq (%rax), %r9 - QUAD $0xffffff021d6ffdc5 // vmovdqa $-254(%rip), %ymm3 /* LCPI7_0(%rip) */ - QUAD $0xffffff1a256ffdc5 // vmovdqa $-230(%rip), %ymm4 /* LCPI7_1(%rip) */ - QUAD $0xffffff322d6ffdc5 // vmovdqa $-206(%rip), %ymm5 /* LCPI7_2(%rip) */ - QUAD $0xffffff4a356ffdc5 // vmovdqa $-182(%rip), %ymm6 /* LCPI7_3(%rip) */ - LONG $0x733d8d4c; WORD $0x00e6; BYTE $0x00 // leaq $58995(%rip), %r15 /* __HtmlQuoteTab(%rip) */ - QUAD $0x000300000001bf48; WORD $0x0000 // movabsq $12884901889, %rdi - LONG $0xd0658b4c // movq $-48(%rbp), %r12 - LONG $0xc8458b4c // movq $-56(%rbp), %r8 - BYTE $0x90 // .p2align 4, 0x90 - -LBB7_2: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x07318e0f; WORD $0x0000 // jle LBB7_3, $1841(%rip) - LONG $0x1ffb8349 // cmpq $31, %r11 - WORD $0x9f0f; BYTE $0xc1 // setg %cl - WORD $0x894d; BYTE $0xca // movq %r9, %r10 - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - WORD $0x894d; BYTE $0xde // movq %r11, %r14 - WORD $0x894d; BYTE $0xe5 // movq %r12, %r13 - LONG $0x20f98349 // cmpq $32, %r9 - LONG $0x007a8c0f; WORD $0x0000 // jl LBB7_11, $122(%rip) - LONG $0x20fb8349 // cmpq $32, %r11 - LONG $0x00708c0f; WORD $0x0000 // jl LBB7_11, $112(%rip) - WORD $0x894d; BYTE $0xe5 // movq %r12, %r13 - WORD $0x894c; BYTE $0xde // movq %r11, %rsi - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - LONG $0x90909090 // .p2align 4, 0x90 - -LBB7_7: - LONG $0x6f7ec1c4; WORD $0x0045 // vmovdqu (%r13), %ymm0 - LONG $0xcb74fdc5 // vpcmpeqb %ymm3, %ymm0, %ymm1 - LONG $0xd474fdc5 // vpcmpeqb %ymm4, %ymm0, %ymm2 - LONG $0xc9ebedc5 // vpor %ymm1, %ymm2, %ymm1 - LONG $0xd5dbfdc5 // vpand %ymm5, %ymm0, %ymm2 - LONG $0xd674edc5 // vpcmpeqb %ymm6, %ymm2, %ymm2 - LONG $0xcaebf5c5 // vpor %ymm2, %ymm1, %ymm1 - LONG $0x037ffec5 // vmovdqu %ymm0, (%rbx) - LONG $0xc9d7fdc5 // vpmovmskb %ymm1, %ecx - WORD $0xc985 // testl %ecx, %ecx - LONG $0x01a2850f; WORD $0x0000 // jne LBB7_8, $418(%rip) - LONG $0x20c58349 // addq $32, %r13 - LONG $0x20c38348 // addq $32, %rbx - LONG $0xe0768d4c // leaq $-32(%rsi), %r14 - LONG $0xe0508d4c // leaq $-32(%rax), %r10 - LONG $0x3ffe8348 // cmpq $63, %rsi - WORD $0x9f0f; BYTE $0xc1 // setg %cl - LONG $0x40fe8348 // cmpq $64, %rsi - LONG $0x00118c0f; WORD $0x0000 // jl LBB7_11, $17(%rip) - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi - LONG $0x3ff88348 // cmpq $63, %rax - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - LONG $0xffa18f0f; WORD $0xffff // jg LBB7_7, $-95(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB7_11: - WORD $0xc984 // testb %cl, %cl - LONG $0x0088840f; WORD $0x0000 // je LBB7_37, $136(%rip) - LONG $0x6f7ec1c4; WORD $0x0045 // vmovdqu (%r13), %ymm0 - LONG $0xcb74fdc5 // vpcmpeqb %ymm3, %ymm0, %ymm1 - LONG $0xd474fdc5 // vpcmpeqb %ymm4, %ymm0, %ymm2 - LONG $0xc9ebedc5 // vpor %ymm1, %ymm2, %ymm1 - LONG $0xc5dbfdc5 // vpand %ymm5, %ymm0, %ymm0 - LONG $0xc674fdc5 // vpcmpeqb %ymm6, %ymm0, %ymm0 - LONG $0xc0ebf5c5 // vpor %ymm0, %ymm1, %ymm0 - LONG $0xc0d7fdc5 // vpmovmskb %ymm0, %eax - QUAD $0x000100000000b948; WORD $0x0000 // movabsq $4294967296, %rcx - WORD $0x0948; BYTE $0xc8 // orq %rcx, %rax - LONG $0xc8bc0f48 // bsfq %rax, %rcx - LONG $0x6f7ac1c4; WORD $0x0045 // vmovdqu (%r13), %xmm0 - LONG $0x16f9e3c4; WORD $0x01c0 // vpextrq $1, %xmm0, %rax - LONG $0x7ef9e1c4; BYTE $0xc2 // vmovq %xmm0, %rdx - WORD $0x394c; BYTE $0xd1 // cmpq %r10, %rcx - LONG $0x012a8e0f; WORD $0x0000 // jle LBB7_13, $298(%rip) - LONG $0x10fa8349 // cmpq $16, %r10 - LONG $0x0160820f; WORD $0x0000 // jb LBB7_26, $352(%rip) - WORD $0x8948; BYTE $0x13 // movq %rdx, (%rbx) - LONG $0x08438948 // movq %rax, $8(%rbx) - LONG $0x10458d49 // leaq $16(%r13), %rax - LONG $0x10c38348 // addq $16, %rbx - LONG $0xf0728d49 // leaq $-16(%r10), %rsi - LONG $0x08fe8348 // cmpq $8, %rsi - LONG $0x0153830f; WORD $0x0000 // jae LBB7_29, $339(%rip) - LONG $0x000160e9; BYTE $0x00 // jmp LBB7_30, $352(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB7_37: - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x0ffe8349 // cmpq $15, %r14 - LONG $0xc79f0f41 // setg %r15b - LONG $0x10fa8349 // cmpq $16, %r10 - LONG $0x01688c0f; WORD $0x0000 // jl LBB7_38, $360(%rip) - LONG $0x10fe8349 // cmpq $16, %r14 - QUAD $0xfffffdfc3d6ff9c5 // vmovdqa $-516(%rip), %xmm7 /* LCPI7_4(%rip) */ - QUAD $0xfffffe04056f79c5 // vmovdqa $-508(%rip), %xmm8 /* LCPI7_5(%rip) */ - QUAD $0xfffffe0c0d6f79c5 // vmovdqa $-500(%rip), %xmm9 /* LCPI7_6(%rip) */ - QUAD $0xfffffe14156f79c5 // vmovdqa $-492(%rip), %xmm10 /* LCPI7_7(%rip) */ - LONG $0x01f08c0f; WORD $0x0000 // jl LBB7_40, $496(%rip) - QUAD $0xfffffd561d6ffdc5 // vmovdqa $-682(%rip), %ymm3 /* LCPI7_0(%rip) */ - QUAD $0xfffffd6e256ffdc5 // vmovdqa $-658(%rip), %ymm4 /* LCPI7_1(%rip) */ - QUAD $0xfffffd862d6ffdc5 // vmovdqa $-634(%rip), %ymm5 /* LCPI7_2(%rip) */ - QUAD $0xfffffd9e356ffdc5 // vmovdqa $-610(%rip), %ymm6 /* LCPI7_3(%rip) */ - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB7_42: - LONG $0x6f7ac1c4; WORD $0x0045 // vmovdqu (%r13), %xmm0 - LONG $0xcf74f9c5 // vpcmpeqb %xmm7, %xmm0, %xmm1 - LONG $0xd074b9c5 // vpcmpeqb %xmm0, %xmm8, %xmm2 - LONG $0xc9ebe9c5 // vpor %xmm1, %xmm2, %xmm1 - LONG $0xd0dbb1c5 // vpand %xmm0, %xmm9, %xmm2 - LONG $0xd274a9c5 // vpcmpeqb %xmm2, %xmm10, %xmm2 - LONG $0xcaebf1c5 // vpor %xmm2, %xmm1, %xmm1 - LONG $0x037ffac5 // vmovdqu %xmm0, (%rbx) - LONG $0xc1d7f9c5 // vpmovmskb %xmm1, %eax - WORD $0x8566; BYTE $0xc0 // testw %ax, %ax - LONG $0x007b850f; WORD $0x0000 // jne LBB7_43, $123(%rip) - LONG $0x10c58349 // addq $16, %r13 - LONG $0x10c38348 // addq $16, %rbx - LONG $0xf0468d49 // leaq $-16(%r14), %rax - LONG $0xf04a8d49 // leaq $-16(%r10), %rcx - LONG $0x1ffe8349 // cmpq $31, %r14 - LONG $0xc79f0f41 // setg %r15b - LONG $0x20fe8349 // cmpq $32, %r14 - LONG $0x01058c0f; WORD $0x0000 // jl LBB7_46, $261(%rip) - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - LONG $0x1ffa8349 // cmpq $31, %r10 - WORD $0x8949; BYTE $0xca // movq %rcx, %r10 - LONG $0xff9f8f0f; WORD $0xffff // jg LBB7_42, $-97(%rip) - LONG $0x0000f0e9; BYTE $0x00 // jmp LBB7_46, $240(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB7_8: - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - LONG $0xd1bc0f44 // bsfl %ecx, %r10d - WORD $0x014d; BYTE $0xea // addq %r13, %r10 - LONG $0x00037be9; BYTE $0x00 // jmp LBB7_79, $891(%rip) - -LBB7_13: - WORD $0xf983; BYTE $0x10 // cmpl $16, %ecx - LONG $0x01e3820f; WORD $0x0000 // jb LBB7_14, $483(%rip) - WORD $0x8948; BYTE $0x13 // movq %rdx, (%rbx) - LONG $0x08438948 // movq %rax, $8(%rbx) - LONG $0x10458d49 // leaq $16(%r13), %rax - LONG $0x10c38348 // addq $16, %rbx - LONG $0xf0718d48 // leaq $-16(%rcx), %rsi - LONG $0x08fe8348 // cmpq $8, %rsi - LONG $0x01d6830f; WORD $0x0000 // jae LBB7_17, $470(%rip) - LONG $0x0001e3e9; BYTE $0x00 // jmp LBB7_18, $483(%rip) - -LBB7_43: - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - LONG $0xd0bc0f44 // bsfl %eax, %r10d - WORD $0x014d; BYTE $0xea // addq %r13, %r10 - WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - LONG $0x00033be9; BYTE $0x00 // jmp LBB7_79, $827(%rip) - -LBB7_26: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - WORD $0x894c; BYTE $0xd6 // movq %r10, %rsi - LONG $0x08fe8348 // cmpq $8, %rsi - LONG $0x0012820f; WORD $0x0000 // jb LBB7_30, $18(%rip) - -LBB7_29: - WORD $0x8b48; BYTE $0x08 // movq (%rax), %rcx - WORD $0x8948; BYTE $0x0b // movq %rcx, (%rbx) - LONG $0x08c08348 // addq $8, %rax - LONG $0x08c38348 // addq $8, %rbx - LONG $0xf8c68348 // addq $-8, %rsi - -LBB7_30: - LONG $0x04fe8348 // cmpq $4, %rsi - LONG $0x01ce8d0f; WORD $0x0000 // jge LBB7_31, $462(%rip) - LONG $0x02fe8348 // cmpq $2, %rsi - LONG $0x01de830f; WORD $0x0000 // jae LBB7_33, $478(%rip) - -LBB7_34: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0004840f; WORD $0x0000 // je LBB7_36, $4(%rip) - -LBB7_35: - WORD $0x008a // movb (%rax), %al - WORD $0x0388 // movb %al, (%rbx) - -LBB7_36: - WORD $0x294d; BYTE $0xe2 // subq %r12, %r10 - WORD $0x014d; BYTE $0xea // addq %r13, %r10 - WORD $0xf749; BYTE $0xd2 // notq %r10 - LONG $0x0002eae9; BYTE $0x00 // jmp LBB7_79, $746(%rip) - -LBB7_38: - WORD $0x894c; BYTE $0xd1 // movq %r10, %rcx - WORD $0x894c; BYTE $0xf0 // movq %r14, %rax - QUAD $0xfffffc121d6ffdc5 // vmovdqa $-1006(%rip), %ymm3 /* LCPI7_0(%rip) */ - QUAD $0xfffffc2a256ffdc5 // vmovdqa $-982(%rip), %ymm4 /* LCPI7_1(%rip) */ - QUAD $0xfffffc422d6ffdc5 // vmovdqa $-958(%rip), %ymm5 /* LCPI7_2(%rip) */ - QUAD $0xfffffc5a356ffdc5 // vmovdqa $-934(%rip), %ymm6 /* LCPI7_3(%rip) */ - QUAD $0xfffffc723d6ff9c5 // vmovdqa $-910(%rip), %xmm7 /* LCPI7_4(%rip) */ - QUAD $0xfffffc7a056f79c5 // vmovdqa $-902(%rip), %xmm8 /* LCPI7_5(%rip) */ - QUAD $0xfffffc820d6f79c5 // vmovdqa $-894(%rip), %xmm9 /* LCPI7_6(%rip) */ - QUAD $0xfffffc8a156f79c5 // vmovdqa $-886(%rip), %xmm10 /* LCPI7_7(%rip) */ - -LBB7_46: - WORD $0x8445; BYTE $0xff // testb %r15b, %r15b - LONG $0x0092840f; WORD $0x0000 // je LBB7_47, $146(%rip) - -LBB7_49: - LONG $0x6f7ac1c4; WORD $0x0045 // vmovdqu (%r13), %xmm0 - LONG $0xcf74f9c5 // vpcmpeqb %xmm7, %xmm0, %xmm1 - LONG $0xd074b9c5 // vpcmpeqb %xmm0, %xmm8, %xmm2 - LONG $0xc9ebe9c5 // vpor %xmm1, %xmm2, %xmm1 - LONG $0xd0dbb1c5 // vpand %xmm0, %xmm9, %xmm2 - LONG $0xd274a9c5 // vpcmpeqb %xmm2, %xmm10, %xmm2 - LONG $0xcaebf1c5 // vpor %xmm2, %xmm1, %xmm1 - LONG $0xc1d7f9c5 // vpmovmskb %xmm1, %eax - LONG $0x0100000d; BYTE $0x00 // orl $65536, %eax - WORD $0xbc0f; BYTE $0xf0 // bsfl %eax, %esi - LONG $0x7ef9e1c4; BYTE $0xc0 // vmovq %xmm0, %rax - WORD $0x3948; BYTE $0xf1 // cmpq %rsi, %rcx - WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - LONG $0x01938d0f; WORD $0x0000 // jge LBB7_50, $403(%rip) - LONG $0x08f98348 // cmpq $8, %rcx - LONG $0x01b8820f; WORD $0x0000 // jb LBB7_61, $440(%rip) - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0x08458d49 // leaq $8(%r13), %rax - LONG $0x08c38348 // addq $8, %rbx - LONG $0xf8718d48 // leaq $-8(%rcx), %rsi - LONG $0x04fe8348 // cmpq $4, %rsi - LONG $0x01af8d0f; WORD $0x0000 // jge LBB7_64, $431(%rip) - LONG $0x0001bae9; BYTE $0x00 // jmp LBB7_65, $442(%rip) - -LBB7_40: - WORD $0x894c; BYTE $0xd1 // movq %r10, %rcx - WORD $0x894c; BYTE $0xf0 // movq %r14, %rax - QUAD $0xfffffb601d6ffdc5 // vmovdqa $-1184(%rip), %ymm3 /* LCPI7_0(%rip) */ - QUAD $0xfffffb78256ffdc5 // vmovdqa $-1160(%rip), %ymm4 /* LCPI7_1(%rip) */ - QUAD $0xfffffb902d6ffdc5 // vmovdqa $-1136(%rip), %ymm5 /* LCPI7_2(%rip) */ - QUAD $0xfffffba8356ffdc5 // vmovdqa $-1112(%rip), %ymm6 /* LCPI7_3(%rip) */ - WORD $0x8445; BYTE $0xff // testb %r15b, %r15b - LONG $0xff6e850f; WORD $0xffff // jne LBB7_49, $-146(%rip) - -LBB7_47: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - LONG $0x01a78e0f; WORD $0x0000 // jle LBB7_48, $423(%rip) - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x019e8e0f; WORD $0x0000 // jle LBB7_75, $414(%rip) - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB7_71: - LONG $0x55b60f41; BYTE $0x00 // movzbl (%r13), %edx - LONG $0x3efa8348 // cmpq $62, %rdx - LONG $0x0014870f; WORD $0x0000 // ja LBB7_72, $20(%rip) - QUAD $0x004000000000be48; WORD $0x5000 // movabsq $5764607797912141824, %rsi - LONG $0xd6a30f48 // btq %rdx, %rsi - LONG $0x0121820f; WORD $0x0000 // jb LBB7_77, $289(%rip) - -LBB7_72: - WORD $0xfa80; BYTE $0xe2 // cmpb $-30, %dl - LONG $0x0118840f; WORD $0x0000 // je LBB7_77, $280(%rip) - LONG $0xff708d48 // leaq $-1(%rax), %rsi - WORD $0xff49; BYTE $0xc5 // incq %r13 - WORD $0x1388 // movb %dl, (%rbx) - LONG $0x02f88348 // cmpq $2, %rax - LONG $0x01588c0f; WORD $0x0000 // jl LBB7_75, $344(%rip) - LONG $0xff518d48 // leaq $-1(%rcx), %rdx - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - LONG $0x01f98348 // cmpq $1, %rcx - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - LONG $0xffaa8f0f; WORD $0xffff // jg LBB7_71, $-86(%rip) - LONG $0x00013ce9; BYTE $0x00 // jmp LBB7_75, $316(%rip) - -LBB7_14: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - LONG $0x08fe8348 // cmpq $8, %rsi - LONG $0x0012820f; WORD $0x0000 // jb LBB7_18, $18(%rip) - -LBB7_17: - WORD $0x8b48; BYTE $0x10 // movq (%rax), %rdx - WORD $0x8948; BYTE $0x13 // movq %rdx, (%rbx) - LONG $0x08c08348 // addq $8, %rax - LONG $0x08c38348 // addq $8, %rbx - LONG $0xf8c68348 // addq $-8, %rsi - -LBB7_18: - LONG $0x04fe8348 // cmpq $4, %rsi - LONG $0x005c8d0f; WORD $0x0000 // jge LBB7_19, $92(%rip) - LONG $0x02fe8348 // cmpq $2, %rsi - LONG $0x006c830f; WORD $0x0000 // jae LBB7_21, $108(%rip) - -LBB7_22: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0004840f; WORD $0x0000 // je LBB7_24, $4(%rip) - -LBB7_23: - WORD $0x008a // movb (%rax), %al - WORD $0x0388 // movb %al, (%rbx) - -LBB7_24: - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - WORD $0x0149; BYTE $0xcd // addq %rcx, %r13 - LONG $0x00013ee9; BYTE $0x00 // jmp LBB7_78, $318(%rip) - -LBB7_31: - WORD $0x088b // movl (%rax), %ecx - WORD $0x0b89 // movl %ecx, (%rbx) - LONG $0x04c08348 // addq $4, %rax - LONG $0x04c38348 // addq $4, %rbx - LONG $0xfcc68348 // addq $-4, %rsi - LONG $0x02fe8348 // cmpq $2, %rsi - LONG $0xfe22820f; WORD $0xffff // jb LBB7_34, $-478(%rip) - -LBB7_33: - WORD $0xb70f; BYTE $0x08 // movzwl (%rax), %ecx - WORD $0x8966; BYTE $0x0b // movw %cx, (%rbx) - LONG $0x02c08348 // addq $2, %rax - LONG $0x02c38348 // addq $2, %rbx - LONG $0xfec68348 // addq $-2, %rsi - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xfe10850f; WORD $0xffff // jne LBB7_35, $-496(%rip) - LONG $0xfffe0fe9; BYTE $0xff // jmp LBB7_36, $-497(%rip) - -LBB7_19: - WORD $0x108b // movl (%rax), %edx - WORD $0x1389 // movl %edx, (%rbx) - LONG $0x04c08348 // addq $4, %rax - LONG $0x04c38348 // addq $4, %rbx - LONG $0xfcc68348 // addq $-4, %rsi - LONG $0x02fe8348 // cmpq $2, %rsi - LONG $0xff94820f; WORD $0xffff // jb LBB7_22, $-108(%rip) - -LBB7_21: - WORD $0xb70f; BYTE $0x10 // movzwl (%rax), %edx - WORD $0x8966; BYTE $0x13 // movw %dx, (%rbx) - LONG $0x02c08348 // addq $2, %rax - LONG $0x02c38348 // addq $2, %rbx - LONG $0xfec68348 // addq $-2, %rsi - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xff82850f; WORD $0xffff // jne LBB7_23, $-126(%rip) - LONG $0xffff81e9; BYTE $0xff // jmp LBB7_24, $-127(%rip) - -LBB7_50: - WORD $0xfe83; BYTE $0x08 // cmpl $8, %esi - LONG $0x0082820f; WORD $0x0000 // jb LBB7_51, $130(%rip) - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0x08558d4d // leaq $8(%r13), %r10 - LONG $0x08c38348 // addq $8, %rbx - LONG $0xf8468d48 // leaq $-8(%rsi), %rax - LONG $0x04f88348 // cmpq $4, %rax - LONG $0x00798d0f; WORD $0x0000 // jge LBB7_54, $121(%rip) - LONG $0x000085e9; BYTE $0x00 // jmp LBB7_55, $133(%rip) - -LBB7_77: - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - LONG $0x00009be9; BYTE $0x00 // jmp LBB7_78, $155(%rip) - -LBB7_61: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - LONG $0x04fe8348 // cmpq $4, %rsi - LONG $0x00108c0f; WORD $0x0000 // jl LBB7_65, $16(%rip) - -LBB7_64: - WORD $0x108b // movl (%rax), %edx - WORD $0x1389 // movl %edx, (%rbx) - LONG $0x04c08348 // addq $4, %rax - LONG $0x04c38348 // addq $4, %rbx - LONG $0xfcc68348 // addq $-4, %rsi - -LBB7_65: - LONG $0x02fe8348 // cmpq $2, %rsi - LONG $0x013e830f; WORD $0x0000 // jae LBB7_66, $318(%rip) - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0004840f; WORD $0x0000 // je LBB7_69, $4(%rip) - -LBB7_68: - WORD $0x008a // movb (%rax), %al - WORD $0x0388 // movb %al, (%rbx) - -LBB7_69: - WORD $0x294c; BYTE $0xe1 // subq %r12, %rcx - WORD $0x014c; BYTE $0xe9 // addq %r13, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x8949; BYTE $0xca // movq %rcx, %r10 - LONG $0x000056e9; BYTE $0x00 // jmp LBB7_79, $86(%rip) - -LBB7_48: - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - -LBB7_75: - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - WORD $0xf748; BYTE $0xde // negq %rsi - WORD $0x194d; BYTE $0xd2 // sbbq %r10, %r10 - WORD $0x314d; BYTE $0xea // xorq %r13, %r10 - LONG $0x000042e9; BYTE $0x00 // jmp LBB7_79, $66(%rip) - -LBB7_51: - WORD $0x894d; BYTE $0xea // movq %r13, %r10 - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - LONG $0x04f88348 // cmpq $4, %rax - LONG $0x00118c0f; WORD $0x0000 // jl LBB7_55, $17(%rip) - -LBB7_54: - WORD $0x8b41; BYTE $0x0a // movl (%r10), %ecx - WORD $0x0b89 // movl %ecx, (%rbx) - LONG $0x04c28349 // addq $4, %r10 - LONG $0x04c38348 // addq $4, %rbx - LONG $0xfcc08348 // addq $-4, %rax - -LBB7_55: - LONG $0x02f88348 // cmpq $2, %rax - LONG $0x0101830f; WORD $0x0000 // jae LBB7_56, $257(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0005840f; WORD $0x0000 // je LBB7_59, $5(%rip) - -LBB7_58: - WORD $0x8a41; BYTE $0x02 // movb (%r10), %al - WORD $0x0388 // movb %al, (%rbx) - -LBB7_59: - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - WORD $0x0149; BYTE $0xf5 // addq %rsi, %r13 - -LBB7_78: - WORD $0x894d; BYTE $0xea // movq %r13, %r10 - -LBB7_79: - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0152880f; WORD $0x0000 // js LBB7_80, $338(%rip) - WORD $0x014d; BYTE $0xd4 // addq %r10, %r12 - WORD $0x014d; BYTE $0xd0 // addq %r10, %r8 - WORD $0x294d; BYTE $0xd3 // subq %r10, %r11 - LONG $0x01668e0f; WORD $0x0000 // jle LBB7_82, $358(%rip) - WORD $0x294d; BYTE $0xd1 // subq %r10, %r9 - LONG $0x240c8a41 // movb (%r12), %cl - WORD $0xf980; BYTE $0xe2 // cmpb $-30, %cl - LONG $0x00e3840f; WORD $0x0000 // je LBB7_85, $227(%rip) - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - -LBB7_89: - WORD $0xb60f; BYTE $0xd1 // movzbl %cl, %edx - LONG $0x04e2c148 // shlq $4, %rdx - LONG $0x3a1c8b4a // movq (%rdx,%r15), %rbx - WORD $0x6348; BYTE $0xf3 // movslq %ebx, %rsi - WORD $0x2949; BYTE $0xf1 // subq %rsi, %r9 - LONG $0x01538c0f; WORD $0x0000 // jl LBB7_90, $339(%rip) - LONG $0x20e3c148 // shlq $32, %rbx - LONG $0x3a4c8d4a; BYTE $0x08 // leaq $8(%rdx,%r15), %rcx - WORD $0x3948; BYTE $0xfb // cmpq %rdi, %rbx - LONG $0x00228c0f; WORD $0x0000 // jl LBB7_94, $34(%rip) - WORD $0x098b // movl (%rcx), %ecx - WORD $0x8941; BYTE $0x08 // movl %ecx, (%r8) - LONG $0x3a4c8d4a; BYTE $0x0c // leaq $12(%rdx,%r15), %rcx - LONG $0x04588d49 // leaq $4(%r8), %rbx - LONG $0xfc568d48 // leaq $-4(%rsi), %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0016830f; WORD $0x0000 // jae LBB7_97, $22(%rip) - LONG $0x000029e9; BYTE $0x00 // jmp LBB7_98, $41(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB7_94: - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0018820f; WORD $0x0000 // jb LBB7_98, $24(%rip) - -LBB7_97: - WORD $0x8949; BYTE $0xfa // movq %rdi, %r10 - WORD $0xb70f; BYTE $0x39 // movzwl (%rcx), %edi - WORD $0x8966; BYTE $0x3b // movw %di, (%rbx) - WORD $0x894c; BYTE $0xd7 // movq %r10, %rdi - LONG $0x02c18348 // addq $2, %rcx - LONG $0x02c38348 // addq $2, %rbx - LONG $0xfec28348 // addq $-2, %rdx - -LBB7_98: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0004840f; WORD $0x0000 // je LBB7_100, $4(%rip) - WORD $0x098a // movb (%rcx), %cl - WORD $0x0b88 // movb %cl, (%rbx) - -LBB7_100: - WORD $0x0149; BYTE $0xf0 // addq %rsi, %r8 - -LBB7_101: - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0xff4b8d49 // leaq $-1(%r11), %rcx - WORD $0x8949; BYTE $0xc4 // movq %rax, %r12 - LONG $0x01fb8349 // cmpq $1, %r11 - WORD $0x8949; BYTE $0xcb // movq %rcx, %r11 - LONG $0xf9a18f0f; WORD $0xffff // jg LBB7_2, $-1631(%rip) - LONG $0x0000b7e9; BYTE $0x00 // jmp LBB7_102, $183(%rip) - -LBB7_66: - WORD $0xb70f; BYTE $0x10 // movzwl (%rax), %edx - WORD $0x8966; BYTE $0x13 // movw %dx, (%rbx) - LONG $0x02c08348 // addq $2, %rax - LONG $0x02c38348 // addq $2, %rbx - LONG $0xfec68348 // addq $-2, %rsi - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xfeb0850f; WORD $0xffff // jne LBB7_68, $-336(%rip) - LONG $0xfffeafe9; BYTE $0xff // jmp LBB7_69, $-337(%rip) - -LBB7_56: - LONG $0x0ab70f41 // movzwl (%r10), %ecx - WORD $0x8966; BYTE $0x0b // movw %cx, (%rbx) - LONG $0x02c28349 // addq $2, %r10 - LONG $0x02c38348 // addq $2, %rbx - LONG $0xfec08348 // addq $-2, %rax - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xfeec850f; WORD $0xffff // jne LBB7_58, $-276(%rip) - LONG $0xfffeece9; BYTE $0xff // jmp LBB7_59, $-276(%rip) - -LBB7_85: - LONG $0x03fb8349 // cmpq $3, %r11 - LONG $0x002b8c0f; WORD $0x0000 // jl LBB7_91, $43(%rip) - LONG $0x247c8041; WORD $0x8001 // cmpb $-128, $1(%r12) - LONG $0x001f850f; WORD $0x0000 // jne LBB7_91, $31(%rip) - LONG $0x244c8a41; BYTE $0x02 // movb $2(%r12), %cl - WORD $0xc889 // movl %ecx, %eax - WORD $0xfe24 // andb $-2, %al - WORD $0xa83c // cmpb $-88, %al - LONG $0x000e850f; WORD $0x0000 // jne LBB7_91, $14(%rip) - LONG $0x24448d49; BYTE $0x02 // leaq $2(%r12), %rax - LONG $0xfec38349 // addq $-2, %r11 - LONG $0xfffeebe9; BYTE $0xff // jmp LBB7_89, $-277(%rip) - -LBB7_91: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00578e0f; WORD $0x0000 // jle LBB7_3, $87(%rip) - LONG $0xe200c641 // movb $-30, (%r8) - WORD $0xff49; BYTE $0xc0 // incq %r8 - WORD $0xff49; BYTE $0xc9 // decq %r9 - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - LONG $0xffff53e9; BYTE $0xff // jmp LBB7_101, $-173(%rip) - -LBB7_80: - LONG $0xc8452b4c // subq $-56(%rbp), %r8 - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x014c; BYTE $0xc0 // addq %r8, %rax - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x294c; BYTE $0xe0 // subq %r12, %rax - WORD $0x014c; BYTE $0xd0 // addq %r10, %rax - LONG $0x00002ce9; BYTE $0x00 // jmp LBB7_103, $44(%rip) - -LBB7_82: - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - -LBB7_102: - LONG $0xc8452b4c // subq $-56(%rbp), %r8 - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - WORD $0x894c; BYTE $0x01 // movq %r8, (%rcx) - LONG $0xd0452b48 // subq $-48(%rbp), %rax - LONG $0x000015e9; BYTE $0x00 // jmp LBB7_103, $21(%rip) - -LBB7_90: - LONG $0xc8452b4c // subq $-56(%rbp), %r8 - LONG $0xc0458b48 // movq $-64(%rbp), %rax - WORD $0x894c; BYTE $0x00 // movq %r8, (%rax) - -LBB7_3: - WORD $0xf749; BYTE $0xd4 // notq %r12 - LONG $0xd065034c // addq $-48(%rbp), %r12 - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - -LBB7_103: - LONG $0x18c48348 // addq $24, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -_atof_eisel_lemire64: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - LONG $0x015c868d; WORD $0x0000 // leal $348(%rsi), %eax - LONG $0x0002b73d; BYTE $0x00 // cmpl $695, %eax - LONG $0x0115870f; WORD $0x0000 // ja LBB8_1, $277(%rip) - WORD $0x8949; BYTE $0xc8 // movq %rcx, %r8 - WORD $0x8941; BYTE $0xd1 // movl %edx, %r9d - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x000d840f; WORD $0x0000 // je LBB8_4, $13(%rip) - LONG $0xd7bd0f4c // bsrq %rdi, %r10 - LONG $0x3ff28349 // xorq $63, %r10 - LONG $0x000006e9; BYTE $0x00 // jmp LBB8_5, $6(%rip) - -LBB8_4: - LONG $0x0040ba41; WORD $0x0000 // movl $64, %r10d - -LBB8_5: - WORD $0x8944; BYTE $0xd1 // movl %r10d, %ecx - WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi - WORD $0xc389 // movl %eax, %ebx - LONG $0x04e3c148 // shlq $4, %rbx - LONG $0x01358d4c; WORD $0x0069; BYTE $0x00 // leaq $26881(%rip), %r14 /* _POW10_M128_TAB(%rip) */ - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x3364f74a; BYTE $0x08 // mulq $8(%rbx,%r14) - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - WORD $0x8949; BYTE $0xd3 // movq %rdx, %r11 - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - LONG $0x0001ff25; BYTE $0x00 // andl $511, %eax - WORD $0x8948; BYTE $0xf9 // movq %rdi, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x3949; BYTE $0xcf // cmpq %rcx, %r15 - LONG $0x004f860f; WORD $0x0000 // jbe LBB8_11, $79(%rip) - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0x0001ff3d; BYTE $0x00 // cmpl $511, %eax - LONG $0x0044850f; WORD $0x0000 // jne LBB8_13, $68(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x3324f74a // mulq (%rbx,%r14) - WORD $0x014c; BYTE $0xfa // addq %r15, %rdx - LONG $0x00d38349 // adcq $0, %r11 - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0x001d860f; WORD $0x0000 // jbe LBB8_12, $29(%rip) - LONG $0xfffa8348 // cmpq $-1, %rdx - LONG $0x0013850f; WORD $0x0000 // jne LBB8_12, $19(%rip) - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - LONG $0x0001ff25; BYTE $0x00 // andl $511, %eax - LONG $0x0001ff3d; BYTE $0x00 // cmpl $511, %eax - LONG $0x0079840f; WORD $0x0000 // je LBB8_1, $121(%rip) - -LBB8_12: - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - LONG $0x0001ff25; BYTE $0x00 // andl $511, %eax - LONG $0x000003e9; BYTE $0x00 // jmp LBB8_13, $3(%rip) - -LBB8_11: - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - -LBB8_13: - WORD $0x894c; BYTE $0xdf // movq %r11, %rdi - LONG $0x3fefc148 // shrq $63, %rdi - WORD $0x4f8d; BYTE $0x09 // leal $9(%rdi), %ecx - WORD $0xd349; BYTE $0xeb // shrq %cl, %r11 - WORD $0x0948; BYTE $0xd0 // orq %rdx, %rax - LONG $0x000f850f; WORD $0x0000 // jne LBB8_16, $15(%rip) - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - WORD $0xe083; BYTE $0x03 // andl $3, %eax - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - LONG $0x0044840f; WORD $0x0000 // je LBB8_1, $68(%rip) - -LBB8_16: - LONG $0x526ac669; WORD $0x0003 // imull $217706, %esi, %eax - WORD $0xf8c1; BYTE $0x10 // sarl $16, %eax - LONG $0x00043f05; BYTE $0x00 // addl $1087, %eax - WORD $0x6348; BYTE $0xd0 // movslq %eax, %rdx - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - WORD $0xe083; BYTE $0x01 // andl $1, %eax - WORD $0x014c; BYTE $0xd8 // addq %r11, %rax - QUAD $0x000000000000b948; WORD $0x01c0 // movabsq $126100789566373888, %rcx - WORD $0x2148; BYTE $0xc1 // andq %rax, %rcx - WORD $0x294c; BYTE $0xd2 // subq %r10, %rdx - LONG $0x3a548d48; BYTE $0xfe // leaq $-2(%rdx,%rdi), %rdx - LONG $0x01f98348 // cmpq $1, %rcx - LONG $0xffda8348 // sbbq $-1, %rdx - LONG $0xfdfa8148; WORD $0x0007; BYTE $0x00 // cmpq $2045, %rdx - LONG $0x0009860f; WORD $0x0000 // jbe LBB8_18, $9(%rip) - -LBB8_1: - WORD $0xc031 // xorl %eax, %eax - -LBB8_19: - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB8_18: - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0x01f98348 // cmpq $1, %rcx - WORD $0x02b1 // movb $2, %cl - WORD $0xd980; BYTE $0x00 // sbbb $0, %cl - WORD $0xd348; BYTE $0xe8 // shrq %cl, %rax - LONG $0x34e2c148 // shlq $52, %rdx - QUAD $0xffffffffffffb948; WORD $0x000f // movabsq $4503599627370495, %rcx - WORD $0x2148; BYTE $0xc1 // andq %rax, %rcx - WORD $0x0948; BYTE $0xd1 // orq %rdx, %rcx - QUAD $0x000000000000b848; WORD $0x8000 // movabsq $-9223372036854775808, %rax - WORD $0x0948; BYTE $0xc8 // orq %rcx, %rax - LONG $0xfff98341 // cmpl $-1, %r9d - LONG $0xc1450f48 // cmovneq %rcx, %rax - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - WORD $0x01b0 // movb $1, %al - LONG $0xffffb7e9; BYTE $0xff // jmp LBB8_19, $-73(%rip) - QUAD $0x0000000000000000; QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000 // .p2align 5, 0x00 - -LCPI9_0: - QUAD $0x0000000000000000 // .space 8, '\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000001 // .quad 1 - QUAD $0x0000000000000001 // .quad 1 - QUAD $0x0000000000000001 // .quad 1 - - // .p2align 3, 0x00 -LCPI9_1: - QUAD $0x0000000000000001 // .quad 1 - -LCPI9_2: - QUAD $0x0000000000002710 // .quad 10000 - -LCPI9_3: - QUAD $0x000000000000000a // .quad 10 - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -_decimal_to_f64: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - QUAD $0x000000000000bd49; WORD $0x0010 // movabsq $4503599627370496, %r13 - LONG $0x00107f83 // cmpl $0, $16(%rdi) - LONG $0x002f840f; WORD $0x0000 // je LBB9_4, $47(%rip) - QUAD $0x000000000000be49; WORD $0x7ff0 // movabsq $9218868437227405312, %r14 - LONG $0x14478b41 // movl $20(%r15), %eax - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x0001363d; BYTE $0x00 // cmpl $310, %eax - LONG $0x052b8f0f; WORD $0x0000 // jg LBB9_69, $1323(%rip) - LONG $0xfffeb63d; BYTE $0xff // cmpl $-330, %eax - LONG $0x00138d0f; WORD $0x0000 // jge LBB9_5, $19(%rip) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - LONG $0x000518e9; BYTE $0x00 // jmp LBB9_69, $1304(%rip) - -LBB9_4: - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x00050de9; BYTE $0x00 // jmp LBB9_69, $1293(%rip) - -LBB9_5: - WORD $0xc085 // testl %eax, %eax - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip) - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x98358d4c; WORD $0x0092; BYTE $0x00 // leaq $37528(%rip), %r14 /* _POW_TAB(%rip) */ - LONG $0x00002de9; BYTE $0x00 // jmp LBB9_8, $45(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB9_10: - WORD $0xc089 // movl %eax, %eax - LONG $0x861c8b41 // movl (%r14,%rax,4), %ebx - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0x000a840f; WORD $0x0000 // je LBB9_7, $10(%rip) - -LBB9_11: - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0xde89 // movl %ebx, %esi - LONG $0x006225e8; BYTE $0x00 // callq _right_shift, $25125(%rip) - -LBB9_7: - WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d - LONG $0x14478b41 // movl $20(%r15), %eax - WORD $0xc085 // testl %eax, %eax - LONG $0x001e8e0f; WORD $0x0000 // jle LBB9_12, $30(%rip) - -LBB9_8: - WORD $0xf883; BYTE $0x08 // cmpl $8, %eax - LONG $0xffcd8e0f; WORD $0xffff // jle LBB9_10, $-51(%rip) - LONG $0x00001bbb; BYTE $0x00 // movl $27, %ebx - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0xffce850f; WORD $0xffff // jne LBB9_11, $-50(%rip) - LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip) - -LBB9_12: - LONG $0x41358d4c; WORD $0x0092; BYTE $0x00 // leaq $37441(%rip), %r14 /* _POW_TAB(%rip) */ - LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip) - -LBB9_18: - LONG $0x00001bbb; BYTE $0x00 // movl $27, %ebx - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0x001a840f; WORD $0x0000 // je LBB9_13, $26(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB9_20: - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0xde89 // movl %ebx, %esi - LONG $0x005fd6e8; BYTE $0x00 // callq _left_shift, $24534(%rip) - LONG $0x14478b41 // movl $20(%r15), %eax - -LBB9_13: - WORD $0x2941; BYTE $0xdc // subl %ebx, %r12d - -LBB9_14: - WORD $0xc085 // testl %eax, %eax - LONG $0x0017880f; WORD $0x0000 // js LBB9_17, $23(%rip) - LONG $0x0035850f; WORD $0x0000 // jne LBB9_21, $53(%rip) - WORD $0x8b49; BYTE $0x0f // movq (%r15), %rcx - WORD $0x3980; BYTE $0x35 // cmpb $53, (%rcx) - LONG $0x000e8c0f; WORD $0x0000 // jl LBB9_19, $14(%rip) - LONG $0x000024e9; BYTE $0x00 // jmp LBB9_21, $36(%rip) - - // .p2align 4, 0x90 -LBB9_17: - WORD $0xf883; BYTE $0xf8 // cmpl $-8, %eax - LONG $0xffab8c0f; WORD $0xffff // jl LBB9_18, $-85(%rip) - -LBB9_19: - WORD $0xc189 // movl %eax, %ecx - WORD $0xd9f7 // negl %ecx - WORD $0x6348; BYTE $0xc9 // movslq %ecx, %rcx - LONG $0x8e1c8b41 // movl (%r14,%rcx,4), %ebx - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0xffb1850f; WORD $0xffff // jne LBB9_20, $-79(%rip) - LONG $0xffffbae9; BYTE $0xff // jmp LBB9_13, $-70(%rip) - -LBB9_21: - LONG $0x02fc8141; WORD $0xfffc; BYTE $0xff // cmpl $-1022, %r12d - LONG $0x00538f0f; WORD $0x0000 // jg LBB9_27, $83(%rip) - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x0060840f; WORD $0x0000 // je LBB9_29, $96(%rip) - LONG $0xc6fc8141; WORD $0xfffb; BYTE $0xff // cmpl $-1082, %r12d - LONG $0x005e8f0f; WORD $0x0000 // jg LBB9_30, $94(%rip) - LONG $0xc1c48141; WORD $0x0003; BYTE $0x00 // addl $961, %r12d - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB9_25: - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi - LONG $0x006133e8; BYTE $0x00 // callq _right_shift, $24883(%rip) - LONG $0x3cc48341 // addl $60, %r12d - LONG $0x88fc8341 // cmpl $-120, %r12d - LONG $0xffe58c0f; WORD $0xffff // jl LBB9_25, $-27(%rip) - LONG $0x3cc48341 // addl $60, %r12d - LONG $0x00002ee9; BYTE $0x00 // jmp LBB9_31, $46(%rip) - -LBB9_27: - LONG $0x00fc8141; WORD $0x0004; BYTE $0x00 // cmpl $1024, %r12d - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x03838f0f; WORD $0x0000 // jg LBB9_66, $899(%rip) - WORD $0xff41; BYTE $0xcc // decl %r12d - WORD $0x8945; BYTE $0xe6 // movl %r12d, %r14d - LONG $0x000026e9; BYTE $0x00 // jmp LBB9_32, $38(%rip) - -LBB9_29: - LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d - LONG $0x000033e9; BYTE $0x00 // jmp LBB9_34, $51(%rip) - -LBB9_30: - LONG $0xfdc48141; WORD $0x0003; BYTE $0x00 // addl $1021, %r12d - -LBB9_31: - WORD $0xf741; BYTE $0xdc // negl %r12d - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi - LONG $0x0060e0e8; BYTE $0x00 // callq _right_shift, $24800(%rip) - LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d - -LBB9_32: - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip) - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - LONG $0x000035be; BYTE $0x00 // movl $53, %esi - LONG $0x005ed2e8; BYTE $0x00 // callq _left_shift, $24274(%rip) - -LBB9_34: - LONG $0x14478b41 // movl $20(%r15), %eax - LONG $0xffc4c749; WORD $0xffff; BYTE $0xff // movq $-1, %r12 - WORD $0xf883; BYTE $0x14 // cmpl $20, %eax - LONG $0x033e8f0f; WORD $0x0000 // jg LBB9_68, $830(%rip) - WORD $0xc085 // testl %eax, %eax - LONG $0x00548e0f; WORD $0x0000 // jle LBB9_40, $84(%rip) - LONG $0x10578b41 // movl $16(%r15), %edx - WORD $0xf631 // xorl %esi, %esi - WORD $0xd285 // testl %edx, %edx - WORD $0x480f; BYTE $0xd6 // cmovsl %esi, %edx - LONG $0xff488d4c // leaq $-1(%rax), %r9 - WORD $0x3949; BYTE $0xd1 // cmpq %rdx, %r9 - LONG $0xca430f44 // cmovael %edx, %r9d - LONG $0x01418d45 // leal $1(%r9), %r8d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB9_37: - WORD $0x3948; BYTE $0xf2 // cmpq %rsi, %rdx - LONG $0x002b840f; WORD $0x0000 // je LBB9_41, $43(%rip) - LONG $0xa43c8d4b // leaq (%r12,%r12,4), %rdi - WORD $0x8b49; BYTE $0x0f // movq (%r15), %rcx - LONG $0x0cbe0f48; BYTE $0x31 // movsbq (%rcx,%rsi), %rcx - LONG $0x79648d4c; BYTE $0xd0 // leaq $-48(%rcx,%rdi,2), %r12 - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0xffda850f; WORD $0xffff // jne LBB9_37, $-38(%rip) - WORD $0x8945; BYTE $0xc1 // movl %r8d, %r9d - LONG $0x000006e9; BYTE $0x00 // jmp LBB9_41, $6(%rip) - -LBB9_40: - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - -LBB9_41: - WORD $0x3944; BYTE $0xc8 // cmpl %r9d, %eax - LONG $0x02428e0f; WORD $0x0000 // jle LBB9_54, $578(%rip) - WORD $0xc289 // movl %eax, %edx - WORD $0x2944; BYTE $0xca // subl %r9d, %edx - WORD $0xfa83; BYTE $0x10 // cmpl $16, %edx - LONG $0x0220820f; WORD $0x0000 // jb LBB9_52, $544(%rip) - WORD $0x8941; BYTE $0xd0 // movl %edx, %r8d - QUAD $0xfffffd2a056ff9c5 // vmovdqa $-726(%rip), %xmm0 /* LCPI9_0(%rip) */ - LONG $0x22f9c3c4; WORD $0x00c4 // vpinsrq $0, %r12, %xmm0, %xmm0 - LONG $0xf0e08341 // andl $-16, %r8d - QUAD $0xfffd1605027de3c4; WORD $0xf0ff // vpblendd $240, $-746(%rip), %ymm0, %ymm0 /* LCPI9_0(%rip) */ - LONG $0xf0488d41 // leal $-16(%r8), %ecx - WORD $0xcf89 // movl %ecx, %edi - WORD $0xefc1; BYTE $0x04 // shrl $4, %edi - WORD $0xc7ff // incl %edi - WORD $0xfe89 // movl %edi, %esi - WORD $0xe683; BYTE $0x03 // andl $3, %esi - WORD $0xf983; BYTE $0x30 // cmpl $48, %ecx - LONG $0x0016830f; WORD $0x0000 // jae LBB9_45, $22(%rip) - QUAD $0xfffd1415597de2c4; BYTE $0xff // vpbroadcastq $-748(%rip), %ymm2 /* LCPI9_1(%rip) */ - LONG $0xda6ffdc5 // vmovdqa %ymm2, %ymm3 - LONG $0xca6ffdc5 // vmovdqa %ymm2, %ymm1 - LONG $0x000088e9; BYTE $0x00 // jmp LBB9_47, $136(%rip) - -LBB9_45: - WORD $0xe783; BYTE $0xfc // andl $-4, %edi - WORD $0xdff7 // negl %edi - QUAD $0xfffcf915597de2c4; BYTE $0xff // vpbroadcastq $-775(%rip), %ymm2 /* LCPI9_1(%rip) */ - QUAD $0xfffcf825597de2c4; BYTE $0xff // vpbroadcastq $-776(%rip), %ymm4 /* LCPI9_2(%rip) */ - LONG $0xda6ffdc5 // vmovdqa %ymm2, %ymm3 - LONG $0xca6ffdc5 // vmovdqa %ymm2, %ymm1 - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB9_46: - LONG $0xecf4fdc5 // vpmuludq %ymm4, %ymm0, %ymm5 - LONG $0xd073fdc5; BYTE $0x20 // vpsrlq $32, %ymm0, %ymm0 - LONG $0xc4f4fdc5 // vpmuludq %ymm4, %ymm0, %ymm0 - LONG $0xf073fdc5; BYTE $0x20 // vpsllq $32, %ymm0, %ymm0 - LONG $0xc0d4d5c5 // vpaddq %ymm0, %ymm5, %ymm0 - LONG $0xecf4edc5 // vpmuludq %ymm4, %ymm2, %ymm5 - LONG $0xd273edc5; BYTE $0x20 // vpsrlq $32, %ymm2, %ymm2 - LONG $0xd4f4edc5 // vpmuludq %ymm4, %ymm2, %ymm2 - LONG $0xf273edc5; BYTE $0x20 // vpsllq $32, %ymm2, %ymm2 - LONG $0xd2d4d5c5 // vpaddq %ymm2, %ymm5, %ymm2 - LONG $0xecf4e5c5 // vpmuludq %ymm4, %ymm3, %ymm5 - LONG $0xd373e5c5; BYTE $0x20 // vpsrlq $32, %ymm3, %ymm3 - LONG $0xdcf4e5c5 // vpmuludq %ymm4, %ymm3, %ymm3 - LONG $0xf373e5c5; BYTE $0x20 // vpsllq $32, %ymm3, %ymm3 - LONG $0xdbd4d5c5 // vpaddq %ymm3, %ymm5, %ymm3 - LONG $0xecf4f5c5 // vpmuludq %ymm4, %ymm1, %ymm5 - LONG $0xd173f5c5; BYTE $0x20 // vpsrlq $32, %ymm1, %ymm1 - LONG $0xccf4f5c5 // vpmuludq %ymm4, %ymm1, %ymm1 - LONG $0xf173f5c5; BYTE $0x20 // vpsllq $32, %ymm1, %ymm1 - LONG $0xc9d4d5c5 // vpaddq %ymm1, %ymm5, %ymm1 - WORD $0xc783; BYTE $0x04 // addl $4, %edi - LONG $0xff9f850f; WORD $0xffff // jne LBB9_46, $-97(%rip) - -LBB9_47: - WORD $0xf685 // testl %esi, %esi - LONG $0x0077840f; WORD $0x0000 // je LBB9_50, $119(%rip) - WORD $0xdef7 // negl %esi - QUAD $0xfffc7c25597de2c4; BYTE $0xff // vpbroadcastq $-900(%rip), %ymm4 /* LCPI9_3(%rip) */ - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB9_49: - LONG $0xecf4fdc5 // vpmuludq %ymm4, %ymm0, %ymm5 - LONG $0xd073fdc5; BYTE $0x20 // vpsrlq $32, %ymm0, %ymm0 - LONG $0xc4f4fdc5 // vpmuludq %ymm4, %ymm0, %ymm0 - LONG $0xf073fdc5; BYTE $0x20 // vpsllq $32, %ymm0, %ymm0 - LONG $0xc0d4d5c5 // vpaddq %ymm0, %ymm5, %ymm0 - LONG $0xecf4edc5 // vpmuludq %ymm4, %ymm2, %ymm5 - LONG $0xd273edc5; BYTE $0x20 // vpsrlq $32, %ymm2, %ymm2 - LONG $0xd4f4edc5 // vpmuludq %ymm4, %ymm2, %ymm2 - LONG $0xf273edc5; BYTE $0x20 // vpsllq $32, %ymm2, %ymm2 - LONG $0xd2d4d5c5 // vpaddq %ymm2, %ymm5, %ymm2 - LONG $0xecf4e5c5 // vpmuludq %ymm4, %ymm3, %ymm5 - LONG $0xd373e5c5; BYTE $0x20 // vpsrlq $32, %ymm3, %ymm3 - LONG $0xdcf4e5c5 // vpmuludq %ymm4, %ymm3, %ymm3 - LONG $0xf373e5c5; BYTE $0x20 // vpsllq $32, %ymm3, %ymm3 - LONG $0xdbd4d5c5 // vpaddq %ymm3, %ymm5, %ymm3 - LONG $0xecf4f5c5 // vpmuludq %ymm4, %ymm1, %ymm5 - LONG $0xd173f5c5; BYTE $0x20 // vpsrlq $32, %ymm1, %ymm1 - LONG $0xccf4f5c5 // vpmuludq %ymm4, %ymm1, %ymm1 - LONG $0xf173f5c5; BYTE $0x20 // vpsllq $32, %ymm1, %ymm1 - LONG $0xc9d4d5c5 // vpaddq %ymm1, %ymm5, %ymm1 - WORD $0xc6ff // incl %esi - LONG $0xffa0850f; WORD $0xffff // jne LBB9_49, $-96(%rip) - -LBB9_50: - LONG $0xd273ddc5; BYTE $0x20 // vpsrlq $32, %ymm2, %ymm4 - LONG $0xe0f4ddc5 // vpmuludq %ymm0, %ymm4, %ymm4 - LONG $0xd073d5c5; BYTE $0x20 // vpsrlq $32, %ymm0, %ymm5 - LONG $0xedf4edc5 // vpmuludq %ymm5, %ymm2, %ymm5 - LONG $0xe4d4d5c5 // vpaddq %ymm4, %ymm5, %ymm4 - LONG $0xf473ddc5; BYTE $0x20 // vpsllq $32, %ymm4, %ymm4 - LONG $0xc0f4edc5 // vpmuludq %ymm0, %ymm2, %ymm0 - LONG $0xc4d4fdc5 // vpaddq %ymm4, %ymm0, %ymm0 - LONG $0xd373edc5; BYTE $0x20 // vpsrlq $32, %ymm3, %ymm2 - LONG $0xd0f4edc5 // vpmuludq %ymm0, %ymm2, %ymm2 - LONG $0xd073ddc5; BYTE $0x20 // vpsrlq $32, %ymm0, %ymm4 - LONG $0xe4f4e5c5 // vpmuludq %ymm4, %ymm3, %ymm4 - LONG $0xd2d4ddc5 // vpaddq %ymm2, %ymm4, %ymm2 - LONG $0xf273edc5; BYTE $0x20 // vpsllq $32, %ymm2, %ymm2 - LONG $0xc0f4e5c5 // vpmuludq %ymm0, %ymm3, %ymm0 - LONG $0xc2d4fdc5 // vpaddq %ymm2, %ymm0, %ymm0 - LONG $0xd173edc5; BYTE $0x20 // vpsrlq $32, %ymm1, %ymm2 - LONG $0xd0f4edc5 // vpmuludq %ymm0, %ymm2, %ymm2 - LONG $0xd073e5c5; BYTE $0x20 // vpsrlq $32, %ymm0, %ymm3 - LONG $0xdbf4f5c5 // vpmuludq %ymm3, %ymm1, %ymm3 - LONG $0xd2d4e5c5 // vpaddq %ymm2, %ymm3, %ymm2 - LONG $0xf273edc5; BYTE $0x20 // vpsllq $32, %ymm2, %ymm2 - LONG $0xc0f4f5c5 // vpmuludq %ymm0, %ymm1, %ymm0 - LONG $0xc2d4fdc5 // vpaddq %ymm2, %ymm0, %ymm0 - LONG $0x397de3c4; WORD $0x01c1 // vextracti128 $1, %ymm0, %xmm1 - LONG $0xd073e9c5; BYTE $0x20 // vpsrlq $32, %xmm0, %xmm2 - LONG $0xd1f4e9c5 // vpmuludq %xmm1, %xmm2, %xmm2 - LONG $0xd173e1c5; BYTE $0x20 // vpsrlq $32, %xmm1, %xmm3 - LONG $0xdbf4f9c5 // vpmuludq %xmm3, %xmm0, %xmm3 - LONG $0xd2d4e1c5 // vpaddq %xmm2, %xmm3, %xmm2 - LONG $0xf273e9c5; BYTE $0x20 // vpsllq $32, %xmm2, %xmm2 - LONG $0xc1f4f9c5 // vpmuludq %xmm1, %xmm0, %xmm0 - LONG $0xc2d4f9c5 // vpaddq %xmm2, %xmm0, %xmm0 - LONG $0xc870f9c5; BYTE $0x4e // vpshufd $78, %xmm0, %xmm1 - LONG $0xd073e9c5; BYTE $0x20 // vpsrlq $32, %xmm0, %xmm2 - LONG $0xd1f4e9c5 // vpmuludq %xmm1, %xmm2, %xmm2 - LONG $0xd873e1c5; BYTE $0x0c // vpsrldq $12, %xmm0, %xmm3 - LONG $0xdbf4f9c5 // vpmuludq %xmm3, %xmm0, %xmm3 - LONG $0xd2d4e1c5 // vpaddq %xmm2, %xmm3, %xmm2 - LONG $0xf273e9c5; BYTE $0x20 // vpsllq $32, %xmm2, %xmm2 - LONG $0xc1f4f9c5 // vpmuludq %xmm1, %xmm0, %xmm0 - LONG $0xc2d4f9c5 // vpaddq %xmm2, %xmm0, %xmm0 - LONG $0x7ef9c1c4; BYTE $0xc4 // vmovq %xmm0, %r12 - WORD $0x3944; BYTE $0xc2 // cmpl %r8d, %edx - LONG $0x0017840f; WORD $0x0000 // je LBB9_54, $23(%rip) - WORD $0x0145; BYTE $0xc1 // addl %r8d, %r9d - -LBB9_52: - WORD $0xc289 // movl %eax, %edx - WORD $0x2944; BYTE $0xca // subl %r9d, %edx - - // .p2align 4, 0x90 -LBB9_53: - WORD $0x014d; BYTE $0xe4 // addq %r12, %r12 - LONG $0xa4248d4f // leaq (%r12,%r12,4), %r12 - WORD $0xcaff // decl %edx - LONG $0xfff1850f; WORD $0xffff // jne LBB9_53, $-15(%rip) - -LBB9_54: - WORD $0xc085 // testl %eax, %eax - LONG $0x0049880f; WORD $0x0000 // js LBB9_62, $73(%rip) - LONG $0x10778b41 // movl $16(%r15), %esi - WORD $0xc639 // cmpl %eax, %esi - LONG $0x003d8e0f; WORD $0x0000 // jle LBB9_62, $61(%rip) - WORD $0x8b49; BYTE $0x17 // movq (%r15), %rdx - WORD $0x0c8a; BYTE $0x02 // movb (%rdx,%rax), %cl - WORD $0x788d; BYTE $0x01 // leal $1(%rax), %edi - WORD $0xf739 // cmpl %esi, %edi - LONG $0x00c1850f; WORD $0x0000 // jne LBB9_63, $193(%rip) - WORD $0xf980; BYTE $0x35 // cmpb $53, %cl - LONG $0x00b8850f; WORD $0x0000 // jne LBB9_63, $184(%rip) - LONG $0x1c7f8341; BYTE $0x00 // cmpl $0, $28(%r15) - WORD $0x950f; BYTE $0xc1 // setne %cl - LONG $0x0017850f; WORD $0x0000 // jne LBB9_64, $23(%rip) - WORD $0xc085 // testl %eax, %eax - LONG $0x000f8e0f; WORD $0x0000 // jle LBB9_64, $15(%rip) - WORD $0xc8ff // decl %eax - WORD $0x0c8a; BYTE $0x02 // movb (%rdx,%rax), %cl - WORD $0xe180; BYTE $0x01 // andb $1, %cl - LONG $0x000002e9; BYTE $0x00 // jmp LBB9_64, $2(%rip) - -LBB9_62: - WORD $0xc931 // xorl %ecx, %ecx - -LBB9_64: - WORD $0xb60f; BYTE $0xc1 // movzbl %cl, %eax - WORD $0x0149; BYTE $0xc4 // addq %rax, %r12 - QUAD $0x000000000000b848; WORD $0x0020 // movabsq $9007199254740992, %rax - WORD $0x3949; BYTE $0xc4 // cmpq %rax, %r12 - LONG $0x0025850f; WORD $0x0000 // jne LBB9_68, $37(%rip) - LONG $0xfefe8141; WORD $0x0003; BYTE $0x00 // cmpl $1022, %r14d - LONG $0x00128e0f; WORD $0x0000 // jle LBB9_67, $18(%rip) - -LBB9_66: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - QUAD $0x000000000000be49; WORD $0x7ff0 // movabsq $9218868437227405312, %r14 - LONG $0x000025e9; BYTE $0x00 // jmp LBB9_69, $37(%rip) - -LBB9_67: - WORD $0xff41; BYTE $0xc6 // incl %r14d - WORD $0x894d; BYTE $0xec // movq %r13, %r12 - -LBB9_68: - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - WORD $0x214c; BYTE $0xe8 // andq %r13, %rax - LONG $0xffc68141; WORD $0x0003; BYTE $0x00 // addl $1023, %r14d - LONG $0xffe68141; WORD $0x0007; BYTE $0x00 // andl $2047, %r14d - LONG $0x34e6c149 // shlq $52, %r14 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xf0440f4c // cmoveq %rax, %r14 - -LBB9_69: - WORD $0xff49; BYTE $0xcd // decq %r13 - WORD $0x214d; BYTE $0xe5 // andq %r12, %r13 - WORD $0x094d; BYTE $0xf5 // orq %r14, %r13 - QUAD $0x000000000000b848; WORD $0x8000 // movabsq $-9223372036854775808, %rax - WORD $0x094c; BYTE $0xe8 // orq %r13, %rax - LONG $0x187f8341; BYTE $0x00 // cmpl $0, $24(%r15) - LONG $0xc5440f49 // cmoveq %r13, %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - WORD $0xc031 // xorl %eax, %eax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB9_63: - WORD $0xf980; BYTE $0x34 // cmpb $52, %cl - WORD $0x9f0f; BYTE $0xc1 // setg %cl - LONG $0xffff62e9; BYTE $0xff // jmp LBB9_64, $-158(%rip) - - // .p2align 4, 0x90 -_atof_native: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - LONG $0x30ec8348 // subq $48, %rsp - QUAD $0x00000000d845c748 // movq $0, $-40(%rbp) - LONG $0xe0558948 // movq %rdx, $-32(%rbp) - LONG $0xe84d8948 // movq %rcx, $-24(%rbp) - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x0044840f; WORD $0x0000 // je LBB10_5, $68(%rip) - WORD $0x02c6; BYTE $0x00 // movb $0, (%rdx) - LONG $0x01f98348 // cmpq $1, %rcx - LONG $0x0037840f; WORD $0x0000 // je LBB10_5, $55(%rip) - LONG $0x000142c6 // movb $0, $1(%rdx) - LONG $0xe87d8348; BYTE $0x03 // cmpq $3, $-24(%rbp) - LONG $0x0028820f; WORD $0x0000 // jb LBB10_5, $40(%rip) - LONG $0x000002b8; BYTE $0x00 // movl $2, %eax - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB10_4: - LONG $0xe04d8b48 // movq $-32(%rbp), %rcx - LONG $0x000104c6 // movb $0, (%rcx,%rax) - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0xe8453948 // cmpq %rax, $-24(%rbp) - LONG $0xffeb870f; WORD $0xffff // ja LBB10_4, $-21(%rip) - -LBB10_5: - LONG $0xc057f8c5 // vxorps %xmm0, %xmm0, %xmm0 - LONG $0x4511f8c5; BYTE $0xf0 // vmovups %xmm0, $-16(%rbp) - WORD $0x3f80; BYTE $0x2d // cmpb $45, (%rdi) - LONG $0x0021850f; WORD $0x0000 // jne LBB10_8, $33(%rip) - LONG $0x01f845c7; WORD $0x0000; BYTE $0x00 // movl $1, $-8(%rbp) - LONG $0x000001b8; BYTE $0x00 // movl $1, %eax - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0x00178c0f; WORD $0x0000 // jl LBB10_9, $23(%rip) - -LBB10_7: - LONG $0x00f445c7; WORD $0x0000; BYTE $0x00 // movl $0, $-12(%rbp) - LONG $0x0001a1e9; BYTE $0x00 // jmp LBB10_39, $417(%rip) - -LBB10_8: - WORD $0xc031 // xorl %eax, %eax - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0xffe98d0f; WORD $0xffff // jge LBB10_7, $-23(%rip) - -LBB10_9: - WORD $0xb341; BYTE $0x01 // movb $1, %r11b - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0x00001fe9; BYTE $0x00 // jmp LBB10_13, $31(%rip) - -LBB10_21: - LONG $0x01fc45c7; WORD $0x0000; BYTE $0x00 // movl $1, $-4(%rbp) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB10_12: - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0xc39c0f41 // setl %r11b - WORD $0x3948; BYTE $0xc6 // cmpq %rax, %rsi - LONG $0x0090840f; WORD $0x0000 // je LBB10_23, $144(%rip) - -LBB10_13: - LONG $0x070cb60f // movzbl (%rdi,%rax), %ecx - WORD $0x518d; BYTE $0xd0 // leal $-48(%rcx), %edx - WORD $0xfa80; BYTE $0x09 // cmpb $9, %dl - LONG $0x002d870f; WORD $0x0000 // ja LBB10_18, $45(%rip) - WORD $0xf980; BYTE $0x30 // cmpb $48, %cl - LONG $0x0044850f; WORD $0x0000 // jne LBB10_20, $68(%rip) - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x0063840f; WORD $0x0000 // je LBB10_22, $99(%rip) - WORD $0x634d; BYTE $0xd9 // movslq %r9d, %r11 - LONG $0xe85d394c // cmpq %r11, $-24(%rbp) - LONG $0x003b870f; WORD $0x0000 // ja LBB10_10, $59(%rip) - LONG $0x000049e9; BYTE $0x00 // jmp LBB10_11, $73(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB10_18: - WORD $0xf980; BYTE $0x2e // cmpb $46, %cl - LONG $0x009b850f; WORD $0x0000 // jne LBB10_30, $155(%rip) - LONG $0xf4558944 // movl %r10d, $-12(%rbp) - LONG $0x0001b841; WORD $0x0000 // movl $1, %r8d - LONG $0xffff98e9; BYTE $0xff // jmp LBB10_12, $-104(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB10_20: - WORD $0x634d; BYTE $0xda // movslq %r10d, %r11 - LONG $0xe85d394c // cmpq %r11, $-24(%rbp) - LONG $0xff77860f; WORD $0xffff // jbe LBB10_21, $-137(%rip) - -LBB10_10: - LONG $0xe0558b48 // movq $-32(%rbp), %rdx - LONG $0x1a0c8842 // movb %cl, (%rdx,%r11) - LONG $0xf04d8b44 // movl $-16(%rbp), %r9d - WORD $0xff41; BYTE $0xc1 // incl %r9d - LONG $0xf04d8944 // movl %r9d, $-16(%rbp) - -LBB10_11: - WORD $0x8945; BYTE $0xca // movl %r9d, %r10d - LONG $0xffff68e9; BYTE $0xff // jmp LBB10_12, $-152(%rip) - -LBB10_22: - WORD $0x4dff; BYTE $0xf4 // decl $-12(%rbp) - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - LONG $0xffff5de9; BYTE $0xff // jmp LBB10_12, $-163(%rip) - -LBB10_23: - WORD $0xf189 // movl %esi, %ecx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0x0004850f; WORD $0x0000 // jne LBB10_25, $4(%rip) - -LBB10_24: - LONG $0xf44d8944 // movl %r9d, $-12(%rbp) - -LBB10_25: - LONG $0x01c3f641 // testb $1, %r11b - LONG $0x00ba840f; WORD $0x0000 // je LBB10_39, $186(%rip) - WORD $0x0c8a; BYTE $0x0f // movb (%rdi,%rcx), %cl - WORD $0xc980; BYTE $0x20 // orb $32, %cl - WORD $0xf980; BYTE $0x65 // cmpb $101, %cl - LONG $0x00ab850f; WORD $0x0000 // jne LBB10_39, $171(%rip) - WORD $0xc289 // movl %eax, %edx - LONG $0x01174c8a // movb $1(%rdi,%rdx), %cl - WORD $0xf980; BYTE $0x2d // cmpb $45, %cl - LONG $0x0028840f; WORD $0x0000 // je LBB10_31, $40(%rip) - LONG $0x0001b841; WORD $0x0000 // movl $1, %r8d - WORD $0xf980; BYTE $0x2b // cmpb $43, %cl - LONG $0x0038850f; WORD $0x0000 // jne LBB10_33, $56(%rip) - WORD $0xc083; BYTE $0x02 // addl $2, %eax - LONG $0x00001ae9; BYTE $0x00 // jmp LBB10_32, $26(%rip) - -LBB10_30: - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0xffb5850f; WORD $0xffff // jne LBB10_25, $-75(%rip) - LONG $0xfffface9; BYTE $0xff // jmp LBB10_24, $-84(%rip) - -LBB10_31: - WORD $0xc083; BYTE $0x02 // addl $2, %eax - LONG $0xffffb841; WORD $0xffff // movl $-1, %r8d - -LBB10_32: - WORD $0xc289 // movl %eax, %edx - WORD $0x6348; BYTE $0xd2 // movslq %edx, %rdx - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x3948; BYTE $0xf2 // cmpq %rsi, %rdx - LONG $0x00178c0f; WORD $0x0000 // jl LBB10_34, $23(%rip) - LONG $0x00004de9; BYTE $0x00 // jmp LBB10_38, $77(%rip) - -LBB10_33: - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0x6348; BYTE $0xd2 // movslq %edx, %rdx - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x3948; BYTE $0xf2 // cmpq %rsi, %rdx - LONG $0x003b8d0f; WORD $0x0000 // jge LBB10_38, $59(%rip) - -LBB10_34: - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB10_35: - LONG $0x0ff98141; WORD $0x0027; BYTE $0x00 // cmpl $9999, %r9d - LONG $0x00248f0f; WORD $0x0000 // jg LBB10_38, $36(%rip) - LONG $0x170cb60f // movzbl (%rdi,%rdx), %ecx - WORD $0x418d; BYTE $0xd0 // leal $-48(%rcx), %eax - WORD $0x093c // cmpb $9, %al - LONG $0x0015870f; WORD $0x0000 // ja LBB10_38, $21(%rip) - LONG $0x89048d43 // leal (%r9,%r9,4), %eax - LONG $0x414c8d44; BYTE $0xd0 // leal $-48(%rcx,%rax,2), %r9d - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0x3948; BYTE $0xd6 // cmpq %rdx, %rsi - LONG $0xffcf850f; WORD $0xffff // jne LBB10_35, $-49(%rip) - -LBB10_38: - LONG $0xc8af0f45 // imull %r8d, %r9d - LONG $0xf44d0144 // addl %r9d, $-12(%rbp) - -LBB10_39: - LONG $0xe07d8d48 // leaq $-32(%rbp), %rdi - LONG $0xd8758d48 // leaq $-40(%rbp), %rsi - LONG $0xfff80ae8; BYTE $0xff // callq _decimal_to_f64, $-2038(%rip) - LONG $0x4510fbc5; BYTE $0xd8 // vmovsd $-40(%rbp), %xmm0 - LONG $0x30c48348 // addq $48, %rsp - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_value: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x28ec8348 // subq $40, %rsp - WORD $0x894d; BYTE $0xc4 // movq %r8, %r12 - WORD $0x8949; BYTE $0xce // movq %rcx, %r14 - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - LONG $0xd0558948 // movq %rdx, $-48(%rbp) - LONG $0xb07d8948 // movq %rdi, $-80(%rbp) - LONG $0xb8758948 // movq %rsi, $-72(%rbp) - LONG $0xd0558d48 // leaq $-48(%rbp), %rdx - LONG $0x0005dee8; BYTE $0x00 // callq _advance_ns, $1502(%rip) - WORD $0xbe0f; BYTE $0xc0 // movsbl %al, %eax - WORD $0xf883; BYTE $0x7d // cmpl $125, %eax - LONG $0x00c3870f; WORD $0x0000 // ja LBB11_11, $195(%rip) - LONG $0xa70d8d48; WORD $0x0003; BYTE $0x00 // leaq $935(%rip), %rcx /* LJTI11_0(%rip) */ - LONG $0x81046348 // movslq (%rcx,%rax,4), %rax - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - JMP AX - -LBB11_2: - LONG $0xc875894c // movq %r14, $-56(%rbp) - LONG $0xd0758b4c // movq $-48(%rbp), %r14 - LONG $0xff6e8d4d // leaq $-1(%r14), %r13 - LONG $0xd06d894c // movq %r13, $-48(%rbp) - LONG $0x02c4f641 // testb $2, %r12b - LONG $0x001a850f; WORD $0x0000 // jne LBB11_4, $26(%rip) - LONG $0xb07d8d48 // leaq $-80(%rbp), %rdi - LONG $0xd0758d48 // leaq $-48(%rbp), %rsi - LONG $0xc8558b48 // movq $-56(%rbp), %rdx - LONG $0x000c87e8; BYTE $0x00 // callq _vnumber, $3207(%rip) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x000355e9; BYTE $0x00 // jmp LBB11_58, $853(%rip) - -LBB11_4: - WORD $0xc031 // xorl %eax, %eax - LONG $0x2f3c8043; BYTE $0x2d // cmpb $45, (%r15,%r13) - LONG $0x2f248d4f // leaq (%r15,%r13), %r12 - WORD $0x940f; BYTE $0xc0 // sete %al - WORD $0x0149; BYTE $0xc4 // addq %rax, %r12 - WORD $0x2948; BYTE $0xc3 // subq %rax, %rbx - LONG $0x030a840f; WORD $0x0000 // je LBB11_53, $778(%rip) - WORD $0x3949; BYTE $0xdd // cmpq %rbx, %r13 - LONG $0x000e830f; WORD $0x0000 // jae LBB11_7, $14(%rip) - LONG $0x24048a41 // movb (%r12), %al - WORD $0xd004 // addb $-48, %al - WORD $0x0a3c // cmpb $10, %al - LONG $0x030c830f; WORD $0x0000 // jae LBB11_55, $780(%rip) - -LBB11_7: - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x8948; BYTE $0xde // movq %rbx, %rsi - LONG $0x001fa2e8; BYTE $0x00 // callq _do_skip_number, $8098(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x02f2880f; WORD $0x0000 // js LBB11_54, $754(%rip) - WORD $0x0149; BYTE $0xc4 // addq %rax, %r12 - WORD $0x894c; BYTE $0xe3 // movq %r12, %rbx - WORD $0x294c; BYTE $0xfb // subq %r15, %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x02f38e0f; WORD $0x0000 // jle LBB11_57, $755(%rip) - LONG $0xc8458b48 // movq $-56(%rbp), %rax - LONG $0x0800c748; WORD $0x0000; BYTE $0x00 // movq $8, (%rax) - LONG $0x1868894c // movq %r13, $24(%rax) - LONG $0x0002e6e9; BYTE $0x00 // jmp LBB11_58, $742(%rip) - -LBB11_10: - LONG $0x0106c749; WORD $0x0000; BYTE $0x00 // movq $1, (%r14) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x0002d6e9; BYTE $0x00 // jmp LBB11_58, $726(%rip) - -LBB11_11: - LONG $0xfe06c749; WORD $0xffff; BYTE $0xff // movq $-2, (%r14) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - WORD $0xff48; BYTE $0xcb // decq %rbx - LONG $0x0002c3e9; BYTE $0x00 // jmp LBB11_58, $707(%rip) - -LBB11_12: - QUAD $0xffffffffc045c748 // movq $-1, $-64(%rbp) - LONG $0xd07d8b4c // movq $-48(%rbp), %r15 - LONG $0xb07d8d48 // leaq $-80(%rbp), %rdi - LONG $0xc0558d48 // leaq $-64(%rbp), %rdx - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx - LONG $0x00077de8; BYTE $0x00 // callq _advance_string, $1917(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x025e880f; WORD $0x0000 // js LBB11_47, $606(%rip) - LONG $0xd0458948 // movq %rax, $-48(%rbp) - LONG $0x107e894d // movq %r15, $16(%r14) - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - LONG $0xd14c0f48 // cmovlq %rcx, %rdx - LONG $0x18568949 // movq %rdx, $24(%r14) - LONG $0x000007b9; BYTE $0x00 // movl $7, %ecx - WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - LONG $0x00026de9; BYTE $0x00 // jmp LBB11_58, $621(%rip) - -LBB11_14: - WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x00000bb9; BYTE $0x00 // movl $11, %ecx - LONG $0x0000e8e9; BYTE $0x00 // jmp LBB11_28, $232(%rip) - -LBB11_15: - WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x00000ab9; BYTE $0x00 // movl $10, %ecx - LONG $0x0000d4e9; BYTE $0x00 // jmp LBB11_28, $212(%rip) - -LBB11_16: - LONG $0x0506c749; WORD $0x0000; BYTE $0x00 // movq $5, (%r14) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x000235e9; BYTE $0x00 // jmp LBB11_58, $565(%rip) - -LBB11_17: - WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x00000cb9; BYTE $0x00 // movl $12, %ecx - LONG $0x0000b0e9; BYTE $0x00 // jmp LBB11_28, $176(%rip) - -LBB11_18: - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0xfc438d48 // leaq $-4(%rbx), %rax - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x006d870f; WORD $0x0000 // ja LBB11_22, $109(%rip) - LONG $0x0f148b41 // movl (%r15,%rcx), %edx - LONG $0x6c61fa81; WORD $0x6573 // cmpl $1702063201, %edx - LONG $0x00cc850f; WORD $0x0000 // jne LBB11_31, $204(%rip) - LONG $0x04c18348 // addq $4, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - LONG $0x000004b8; BYTE $0x00 // movl $4, %eax - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x0001e8e9; BYTE $0x00 // jmp LBB11_58, $488(%rip) - -LBB11_21: - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0xfd438d48 // leaq $-3(%rbx), %rax - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x0034870f; WORD $0x0000 // ja LBB11_22, $52(%rip) - LONG $0x0f548b41; BYTE $0xff // movl $-1(%r15,%rcx), %edx - LONG $0x756efa81; WORD $0x6c6c // cmpl $1819047278, %edx - LONG $0x00d1850f; WORD $0x0000 // jne LBB11_35, $209(%rip) - LONG $0x03c18348 // addq $3, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - LONG $0x000002b8; BYTE $0x00 // movl $2, %eax - LONG $0x000165e9; BYTE $0x00 // jmp LBB11_50, $357(%rip) - -LBB11_23: - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0xfd438d48 // leaq $-3(%rbx), %rax - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x004c860f; WORD $0x0000 // jbe LBB11_24, $76(%rip) - -LBB11_22: - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x000190e9; BYTE $0x00 // jmp LBB11_58, $400(%rip) - -LBB11_26: - LONG $0x0606c749; WORD $0x0000; BYTE $0x00 // movq $6, (%r14) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x000180e9; BYTE $0x00 // jmp LBB11_58, $384(%rip) - -LBB11_27: - WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x00000db9; BYTE $0x00 // movl $13, %ecx - -LBB11_28: - LONG $0xc8490f48 // cmovnsq %rax, %rcx - WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) - LONG $0x1ffcc141 // sarl $31, %r12d - WORD $0xf741; BYTE $0xd4 // notl %r12d - WORD $0x6349; BYTE $0xdc // movslq %r12d, %rbx - LONG $0xd05d0348 // addq $-48(%rbp), %rbx - LONG $0x000157e9; BYTE $0x00 // jmp LBB11_58, $343(%rip) - -LBB11_24: - LONG $0x0f548b41; BYTE $0xff // movl $-1(%r15,%rcx), %edx - LONG $0x7274fa81; WORD $0x6575 // cmpl $1702195828, %edx - LONG $0x0097850f; WORD $0x0000 // jne LBB11_39, $151(%rip) - LONG $0x03c18348 // addq $3, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - LONG $0x000003b8; BYTE $0x00 // movl $3, %eax - LONG $0x0000e5e9; BYTE $0x00 // jmp LBB11_50, $229(%rip) - -LBB11_31: - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - WORD $0xfa80; BYTE $0x61 // cmpb $97, %dl - LONG $0x00bb850f; WORD $0x0000 // jne LBB11_43, $187(%rip) - LONG $0x0f7c8041; WORD $0x6c01 // cmpb $108, $1(%r15,%rcx) - LONG $0x00ba850f; WORD $0x0000 // jne LBB11_44, $186(%rip) - LONG $0x0f7c8041; WORD $0x7302 // cmpb $115, $2(%r15,%rcx) - LONG $0x00c8850f; WORD $0x0000 // jne LBB11_45, $200(%rip) - LONG $0x03598d48 // leaq $3(%rcx), %rbx - LONG $0x04518d48 // leaq $4(%rcx), %rdx - LONG $0x0f7c8041; WORD $0x6503 // cmpb $101, $3(%r15,%rcx) - LONG $0xda440f48 // cmoveq %rdx, %rbx - LONG $0x0000b8e9; BYTE $0x00 // jmp LBB11_47, $184(%rip) - -LBB11_35: - LONG $0xff598d48 // leaq $-1(%rcx), %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - WORD $0xfa80; BYTE $0x6e // cmpb $110, %dl - LONG $0x0091850f; WORD $0x0000 // jne LBB11_51, $145(%rip) - LONG $0x0f3c8041; BYTE $0x75 // cmpb $117, (%r15,%rcx) - LONG $0x007f850f; WORD $0x0000 // jne LBB11_49, $127(%rip) - LONG $0x0f7c8041; WORD $0x6c01 // cmpb $108, $1(%r15,%rcx) - LONG $0x0070850f; WORD $0x0000 // jne LBB11_48, $112(%rip) - LONG $0x0f7c8041; WORD $0x6c02 // cmpb $108, $2(%r15,%rcx) - LONG $0x03518d48 // leaq $3(%rcx), %rdx - LONG $0x02498d48 // leaq $2(%rcx), %rcx - LONG $0xca440f48 // cmoveq %rdx, %rcx - LONG $0x00005ce9; BYTE $0x00 // jmp LBB11_49, $92(%rip) - -LBB11_39: - LONG $0xff598d48 // leaq $-1(%rcx), %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - WORD $0xfa80; BYTE $0x74 // cmpb $116, %dl - LONG $0x004b850f; WORD $0x0000 // jne LBB11_51, $75(%rip) - LONG $0x0f3c8041; BYTE $0x72 // cmpb $114, (%r15,%rcx) - LONG $0x0039850f; WORD $0x0000 // jne LBB11_49, $57(%rip) - LONG $0x0f7c8041; WORD $0x7501 // cmpb $117, $1(%r15,%rcx) - LONG $0x002a850f; WORD $0x0000 // jne LBB11_48, $42(%rip) - LONG $0x0f7c8041; WORD $0x6502 // cmpb $101, $2(%r15,%rcx) - LONG $0x03518d48 // leaq $3(%rcx), %rdx - LONG $0x02498d48 // leaq $2(%rcx), %rcx - LONG $0xca440f48 // cmoveq %rdx, %rcx - LONG $0x000016e9; BYTE $0x00 // jmp LBB11_49, $22(%rip) - -LBB11_43: - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x00005ee9; BYTE $0x00 // jmp LBB11_58, $94(%rip) - -LBB11_44: - WORD $0xff48; BYTE $0xc1 // incq %rcx - LONG $0x000016e9; BYTE $0x00 // jmp LBB11_46, $22(%rip) - -LBB11_48: - WORD $0xff48; BYTE $0xc1 // incq %rcx - -LBB11_49: - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - -LBB11_50: - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - -LBB11_51: - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x000044e9; BYTE $0x00 // jmp LBB11_58, $68(%rip) - -LBB11_45: - LONG $0x02c18348 // addq $2, %rcx - -LBB11_46: - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - -LBB11_47: - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x000031e9; BYTE $0x00 // jmp LBB11_58, $49(%rip) - -LBB11_53: - WORD $0x294d; BYTE $0xfc // subq %r15, %r12 - LONG $0xd065894c // movq %r12, $-48(%rbp) - LONG $0xffc5c749; WORD $0xffff; BYTE $0xff // movq $-1, %r13 - LONG $0x000014e9; BYTE $0x00 // jmp LBB11_56, $20(%rip) - -LBB11_54: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0xc4 // addq %rax, %r12 - -LBB11_55: - WORD $0x294d; BYTE $0xfc // subq %r15, %r12 - LONG $0xd065894c // movq %r12, $-48(%rbp) - LONG $0xfec5c749; WORD $0xffff; BYTE $0xff // movq $-2, %r13 - -LBB11_56: - WORD $0x894c; BYTE $0xe3 // movq %r12, %rbx - -LBB11_57: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x894c; BYTE $0x28 // movq %r13, (%rax) - -LBB11_58: - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - LONG $0x28c48348 // addq $40, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - WORD $0x9090; BYTE $0x90 // .p2align 2, 0x90 - - // .set L11_0_set_10, LBB11_10-LJTI11_0 - // .set L11_0_set_11, LBB11_11-LJTI11_0 - // .set L11_0_set_12, LBB11_12-LJTI11_0 - // .set L11_0_set_14, LBB11_14-LJTI11_0 - // .set L11_0_set_2, LBB11_2-LJTI11_0 - // .set L11_0_set_15, LBB11_15-LJTI11_0 - // .set L11_0_set_16, LBB11_16-LJTI11_0 - // .set L11_0_set_17, LBB11_17-LJTI11_0 - // .set L11_0_set_18, LBB11_18-LJTI11_0 - // .set L11_0_set_21, LBB11_21-LJTI11_0 - // .set L11_0_set_23, LBB11_23-LJTI11_0 - // .set L11_0_set_26, LBB11_26-LJTI11_0 - // .set L11_0_set_27, LBB11_27-LJTI11_0 -LJTI11_0: - LONG $0xfffffd05 // .long L11_0_set_10 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd28 // .long L11_0_set_12 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd7e // .long L11_0_set_14 - LONG $0xfffffc62 // .long L11_0_set_2 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffc62 // .long L11_0_set_2 - LONG $0xfffffc62 // .long L11_0_set_2 - LONG $0xfffffc62 // .long L11_0_set_2 - LONG $0xfffffc62 // .long L11_0_set_2 - LONG $0xfffffc62 // .long L11_0_set_2 - LONG $0xfffffc62 // .long L11_0_set_2 - LONG $0xfffffc62 // .long L11_0_set_2 - LONG $0xfffffc62 // .long L11_0_set_2 - LONG $0xfffffc62 // .long L11_0_set_2 - LONG $0xfffffc62 // .long L11_0_set_2 - LONG $0xfffffd92 // .long L11_0_set_15 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffda6 // .long L11_0_set_16 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffdb6 // .long L11_0_set_17 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffdca // .long L11_0_set_18 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffe03 // .long L11_0_set_21 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffe37 // .long L11_0_set_23 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffe5b // .long L11_0_set_26 - LONG $0xfffffd15 // .long L11_0_set_11 - LONG $0xfffffe6b // .long L11_0_set_27 - QUAD $0x0000000000000000; LONG $0x00000000 // .p2align 5, 0x00 - -LCPI12_0: - BYTE $0x20 // .byte 32 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x09 // .byte 9 - BYTE $0x0a // .byte 10 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x0d // .byte 13 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x20 // .byte 32 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x09 // .byte 9 - BYTE $0x0a // .byte 10 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x0d // .byte 13 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - - // .p2align 4, 0x90 -_advance_ns: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8b4c; BYTE $0x02 // movq (%rdx), %r8 - WORD $0x3949; BYTE $0xf0 // cmpq %rsi, %r8 - LONG $0x0026830f; WORD $0x0000 // jae LBB12_6, $38(%rip) - LONG $0x07048a42 // movb (%rdi,%r8), %al - WORD $0x0d3c // cmpb $13, %al - LONG $0x001a840f; WORD $0x0000 // je LBB12_6, $26(%rip) - WORD $0x203c // cmpb $32, %al - LONG $0x0012840f; WORD $0x0000 // je LBB12_6, $18(%rip) - WORD $0xf704 // addb $-9, %al - WORD $0x013c // cmpb $1, %al - LONG $0x0008860f; WORD $0x0000 // jbe LBB12_6, $8(%rip) - WORD $0x894d; BYTE $0xc2 // movq %r8, %r10 - LONG $0x00015be9; BYTE $0x00 // jmp LBB12_5, $347(%rip) - -LBB12_6: - LONG $0x01508d4d // leaq $1(%r8), %r10 - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x0022830f; WORD $0x0000 // jae LBB12_10, $34(%rip) - LONG $0x170c8a42 // movb (%rdi,%r10), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB12_10, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB12_10, $12(%rip) - WORD $0xc180; BYTE $0xf7 // addb $-9, %cl - WORD $0xf980; BYTE $0x01 // cmpb $1, %cl - LONG $0x012c870f; WORD $0x0000 // ja LBB12_5, $300(%rip) - -LBB12_10: - LONG $0x02508d4d // leaq $2(%r8), %r10 - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x0022830f; WORD $0x0000 // jae LBB12_14, $34(%rip) - LONG $0x170c8a42 // movb (%rdi,%r10), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB12_14, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB12_14, $12(%rip) - WORD $0xc180; BYTE $0xf7 // addb $-9, %cl - WORD $0xf980; BYTE $0x01 // cmpb $1, %cl - LONG $0x00fd870f; WORD $0x0000 // ja LBB12_5, $253(%rip) - -LBB12_14: - LONG $0x03508d4d // leaq $3(%r8), %r10 - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x0022830f; WORD $0x0000 // jae LBB12_18, $34(%rip) - LONG $0x170c8a42 // movb (%rdi,%r10), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB12_18, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB12_18, $12(%rip) - WORD $0xc180; BYTE $0xf7 // addb $-9, %cl - WORD $0xf980; BYTE $0x01 // cmpb $1, %cl - LONG $0x00ce870f; WORD $0x0000 // ja LBB12_5, $206(%rip) - -LBB12_18: - LONG $0x04c08349 // addq $4, %r8 - WORD $0x3949; BYTE $0xf0 // cmpq %rsi, %r8 - LONG $0x00a2830f; WORD $0x0000 // jae LBB12_19, $162(%rip) - LONG $0x07148d4e // leaq (%rdi,%r8), %r10 - WORD $0x8948; BYTE $0xf1 // movq %rsi, %rcx - WORD $0x294c; BYTE $0xc1 // subq %r8, %rcx - LONG $0x20f98348 // cmpq $32, %rcx - LONG $0x0039820f; WORD $0x0000 // jb LBB12_25, $57(%rip) - QUAD $0xfffffef4056ffdc5 // vmovdqa $-268(%rip), %ymm0 /* LCPI12_0(%rip) */ - LONG $0x90909090 // .p2align 4, 0x90 - -LBB12_22: - LONG $0x6f7ec1c4; BYTE $0x0a // vmovdqu (%r10), %ymm1 - LONG $0x007de2c4; BYTE $0xd1 // vpshufb %ymm1, %ymm0, %ymm2 - LONG $0xca74f5c5 // vpcmpeqb %ymm2, %ymm1, %ymm1 - LONG $0xc1d7fdc5 // vpmovmskb %ymm1, %eax - WORD $0xf883; BYTE $0xff // cmpl $-1, %eax - LONG $0x006f850f; WORD $0x0000 // jne LBB12_23, $111(%rip) - LONG $0x20c28349 // addq $32, %r10 - LONG $0xe0c18348 // addq $-32, %rcx - LONG $0x1ff98348 // cmpq $31, %rcx - LONG $0xffd3870f; WORD $0xffff // ja LBB12_22, $-45(%rip) - -LBB12_25: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x003b840f; WORD $0x0000 // je LBB12_32, $59(%rip) - LONG $0x0a048d4d // leaq (%r10,%rcx), %r8 - WORD $0xff49; BYTE $0xc2 // incq %r10 - QUAD $0x000100002600b949; WORD $0x0000 // movabsq $4294977024, %r9 - -LBB12_27: - LONG $0x42be0f41; BYTE $0xff // movsbl $-1(%r10), %eax - WORD $0xf883; BYTE $0x20 // cmpl $32, %eax - LONG $0x005f870f; WORD $0x0000 // ja LBB12_29, $95(%rip) - LONG $0xc1a30f49 // btq %rax, %r9 - LONG $0x0055830f; WORD $0x0000 // jae LBB12_29, $85(%rip) - WORD $0xff48; BYTE $0xc9 // decq %rcx - WORD $0xff49; BYTE $0xc2 // incq %r10 - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0xffd9850f; WORD $0xffff // jne LBB12_27, $-39(%rip) - WORD $0x894d; BYTE $0xc2 // movq %r8, %r10 - -LBB12_32: - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x0024820f; WORD $0x0000 // jb LBB12_5, $36(%rip) - LONG $0x000044e9; BYTE $0x00 // jmp LBB12_34, $68(%rip) - -LBB12_19: - WORD $0x894c; BYTE $0x02 // movq %r8, (%rdx) - LONG $0x00003ce9; BYTE $0x00 // jmp LBB12_34, $60(%rip) - -LBB12_23: - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - WORD $0xd0f7 // notl %eax - WORD $0x9848 // cltq - LONG $0xc0bc0f48 // bsfq %rax, %rax - WORD $0x0149; BYTE $0xc2 // addq %rax, %r10 - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x0025830f; WORD $0x0000 // jae LBB12_34, $37(%rip) - -LBB12_5: - LONG $0x01428d49 // leaq $1(%r10), %rax - WORD $0x8948; BYTE $0x02 // movq %rax, (%rdx) - LONG $0x17048a42 // movb (%rdi,%r10), %al - WORD $0xbe0f; BYTE $0xc0 // movsbl %al, %eax - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB12_29: - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0xc2 // addq %rax, %r10 - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0xffdb820f; WORD $0xffff // jb LBB12_5, $-37(%rip) - -LBB12_34: - WORD $0xc031 // xorl %eax, %eax - WORD $0xbe0f; BYTE $0xc0 // movsbl %al, %eax - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - - // .p2align 4, 0x90 -_vstring: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x10ec8348 // subq $16, %rsp - WORD $0x8949; BYTE $0xd6 // movq %rdx, %r14 - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - QUAD $0xffffffffd845c748 // movq $-1, $-40(%rbp) - WORD $0x8b4c; BYTE $0x26 // movq (%rsi), %r12 - LONG $0xd8558d48 // leaq $-40(%rbp), %rdx - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x0000b1e8; BYTE $0x00 // callq _advance_string, $177(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0027880f; WORD $0x0000 // js LBB13_1, $39(%rip) - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0x1066894d // movq %r12, $16(%r14) - LONG $0xd84d8b48 // movq $-40(%rbp), %rcx - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xc14c0f48 // cmovlq %rcx, %rax - LONG $0x18468949 // movq %rax, $24(%r14) - LONG $0x000007b8; BYTE $0x00 // movl $7, %eax - LONG $0x000007e9; BYTE $0x00 // jmp LBB13_3, $7(%rip) - -LBB13_1: - LONG $0x084f8b49 // movq $8(%r15), %rcx - WORD $0x8948; BYTE $0x0b // movq %rcx, (%rbx) - -LBB13_3: - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x10c48348 // addq $16, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; WORD $0x0000 // .p2align 5, 0x00 - -LCPI14_0: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI14_1: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - -LCPI14_2: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - - // .p2align 4, 0x90 -_advance_string: - WORD $0xc1f6; BYTE $0x20 // testb $32, %cl - LONG $0x0005850f; WORD $0x0000 // jne LBB14_2, $5(%rip) - LONG $0x0053f2e9; BYTE $0x00 // jmp _advance_string_default, $21490(%rip) - -LBB14_2: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - LONG $0x087f8b4c // movq $8(%rdi), %r15 - WORD $0x2949; BYTE $0xf7 // subq %rsi, %r15 - LONG $0x03d6840f; WORD $0x0000 // je LBB14_21, $982(%rip) - WORD $0x8b4c; BYTE $0x1f // movq (%rdi), %r11 - WORD $0x014c; BYTE $0xde // addq %r11, %rsi - LONG $0xff02c748; WORD $0xffff; BYTE $0xff // movq $-1, (%rdx) - LONG $0x40ff8349 // cmpq $64, %r15 - LONG $0x01b4820f; WORD $0x0000 // jb LBB14_22, $436(%rip) - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - QUAD $0xffffff4d056ffdc5 // vmovdqa $-179(%rip), %ymm0 /* LCPI14_0(%rip) */ - QUAD $0xffffff650d6ffdc5 // vmovdqa $-155(%rip), %ymm1 /* LCPI14_1(%rip) */ - QUAD $0xffffff7d156ffdc5 // vmovdqa $-131(%rip), %ymm2 /* LCPI14_2(%rip) */ - LONG $0xdb76e5c5 // vpcmpeqd %ymm3, %ymm3, %ymm3 - QUAD $0xaaaaaaaaaaaab949; WORD $0xaaaa // movabsq $-6148914691236517206, %r9 - QUAD $0x555555555555ba49; WORD $0x5555 // movabsq $6148914691236517205, %r10 - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB14_5: - LONG $0x266ffec5 // vmovdqu (%rsi), %ymm4 - LONG $0x6e6ffec5; BYTE $0x20 // vmovdqu $32(%rsi), %ymm5 - LONG $0xf074ddc5 // vpcmpeqb %ymm0, %ymm4, %ymm6 - LONG $0xeed77dc5 // vpmovmskb %ymm6, %r13d - LONG $0xf074d5c5 // vpcmpeqb %ymm0, %ymm5, %ymm6 - LONG $0xc6d7fdc5 // vpmovmskb %ymm6, %eax - LONG $0xf174ddc5 // vpcmpeqb %ymm1, %ymm4, %ymm6 - LONG $0xced7fdc5 // vpmovmskb %ymm6, %ecx - LONG $0xf174d5c5 // vpcmpeqb %ymm1, %ymm5, %ymm6 - LONG $0xfed7fdc5 // vpmovmskb %ymm6, %edi - LONG $0xf464edc5 // vpcmpgtb %ymm4, %ymm2, %ymm6 - LONG $0xe364ddc5 // vpcmpgtb %ymm3, %ymm4, %ymm4 - LONG $0xe4dbcdc5 // vpand %ymm4, %ymm6, %ymm4 - LONG $0xe4d77dc5 // vpmovmskb %ymm4, %r12d - LONG $0xe564edc5 // vpcmpgtb %ymm5, %ymm2, %ymm4 - LONG $0xeb64d5c5 // vpcmpgtb %ymm3, %ymm5, %ymm5 - LONG $0xe5dbddc5 // vpand %ymm5, %ymm4, %ymm4 - LONG $0xdcd7fdc5 // vpmovmskb %ymm4, %ebx - LONG $0x20e0c148 // shlq $32, %rax - WORD $0x0949; BYTE $0xc5 // orq %rax, %r13 - LONG $0x20e7c148 // shlq $32, %rdi - LONG $0x20e3c148 // shlq $32, %rbx - WORD $0x0948; BYTE $0xf9 // orq %rdi, %rcx - LONG $0x0038850f; WORD $0x0000 // jne LBB14_10, $56(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x004e850f; WORD $0x0000 // jne LBB14_12, $78(%rip) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x094c; BYTE $0xe3 // orq %r12, %rbx - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - LONG $0x0080850f; WORD $0x0000 // jne LBB14_13, $128(%rip) - -LBB14_8: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00ce850f; WORD $0x0000 // jne LBB14_19, $206(%rip) - LONG $0x40c68348 // addq $64, %rsi - LONG $0xc0c78349 // addq $-64, %r15 - LONG $0x3fff8349 // cmpq $63, %r15 - LONG $0xff6c870f; WORD $0xffff // ja LBB14_5, $-148(%rip) - LONG $0x0000e6e9; BYTE $0x00 // jmp LBB14_23, $230(%rip) - -LBB14_10: - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0014850f; WORD $0x0000 // jne LBB14_12, $20(%rip) - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x294c; BYTE $0xd8 // subq %r11, %rax - LONG $0xf9bc0f48 // bsfq %rcx, %rdi - WORD $0x0148; BYTE $0xc7 // addq %rax, %rdi - LONG $0xd07d8948 // movq %rdi, $-48(%rbp) - WORD $0x8948; BYTE $0x3a // movq %rdi, (%rdx) - -LBB14_12: - WORD $0x894c; BYTE $0xf0 // movq %r14, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x2148; BYTE $0xc8 // andq %rcx, %rax - LONG $0x00048d4c // leaq (%rax,%rax), %r8 - WORD $0x094d; BYTE $0xf0 // orq %r14, %r8 - WORD $0x894c; BYTE $0xc7 // movq %r8, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - WORD $0x214c; BYTE $0xcf // andq %r9, %rdi - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x0148; BYTE $0xc7 // addq %rax, %rdi - LONG $0xc6920f41 // setb %r14b - WORD $0x0148; BYTE $0xff // addq %rdi, %rdi - WORD $0x314c; BYTE $0xd7 // xorq %r10, %rdi - WORD $0x214c; BYTE $0xc7 // andq %r8, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x2149; BYTE $0xfd // andq %rdi, %r13 - WORD $0x094c; BYTE $0xe3 // orq %r12, %rbx - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - LONG $0xff80840f; WORD $0xffff // je LBB14_8, $-128(%rip) - -LBB14_13: - LONG $0xc5bc0f49 // bsfq %r13, %rax - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0027840f; WORD $0x0000 // je LBB14_17, $39(%rip) - LONG $0xcbbc0f48 // bsfq %rbx, %rcx - WORD $0x294c; BYTE $0xde // subq %r11, %rsi - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x0028820f; WORD $0x0000 // jb LBB14_18, $40(%rip) - -LBB14_15: - LONG $0x06448d48; BYTE $0x01 // leaq $1(%rsi,%rax), %rax - -LBB14_16: - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB14_17: - LONG $0x000040b9; BYTE $0x00 // movl $64, %ecx - WORD $0x294c; BYTE $0xde // subq %r11, %rsi - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0xffd8830f; WORD $0xffff // jae LBB14_15, $-40(%rip) - -LBB14_18: - WORD $0x0148; BYTE $0xf1 // addq %rsi, %rcx - WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xffffcbe9; BYTE $0xff // jmp LBB14_16, $-53(%rip) - -LBB14_19: - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0xffb9850f; WORD $0xffff // jne LBB14_16, $-71(%rip) - LONG $0xcbbc0f48 // bsfq %rbx, %rcx - WORD $0x294c; BYTE $0xde // subq %r11, %rsi - WORD $0x0148; BYTE $0xce // addq %rcx, %rsi - WORD $0x8948; BYTE $0x32 // movq %rsi, (%rdx) - LONG $0xffffa7e9; BYTE $0xff // jmp LBB14_16, $-89(%rip) - -LBB14_22: - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - -LBB14_23: - LONG $0x20ff8349 // cmpq $32, %r15 - LONG $0x009e820f; WORD $0x0000 // jb LBB14_33, $158(%rip) - LONG $0x066ffec5 // vmovdqu (%rsi), %ymm0 - QUAD $0xfffffd8b0d74fdc5 // vpcmpeqb $-629(%rip), %ymm0, %ymm1 /* LCPI14_0(%rip) */ - LONG $0xf9d7fdc5 // vpmovmskb %ymm1, %edi - QUAD $0xfffffd9f0d74fdc5 // vpcmpeqb $-609(%rip), %ymm0, %ymm1 /* LCPI14_1(%rip) */ - LONG $0xc1d7fdc5 // vpmovmskb %ymm1, %eax - QUAD $0xfffffdb30d6ffdc5 // vmovdqa $-589(%rip), %ymm1 /* LCPI14_2(%rip) */ - LONG $0xc864f5c5 // vpcmpgtb %ymm0, %ymm1, %ymm1 - LONG $0xd276edc5 // vpcmpeqd %ymm2, %ymm2, %ymm2 - LONG $0xc264fdc5 // vpcmpgtb %ymm2, %ymm0, %ymm0 - LONG $0xc0dbf5c5 // vpand %ymm0, %ymm1, %ymm0 - LONG $0xc8d77dc5 // vpmovmskb %ymm0, %r9d - WORD $0xc085 // testl %eax, %eax - LONG $0x00f3850f; WORD $0x0000 // jne LBB14_44, $243(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0109850f; WORD $0x0000 // jne LBB14_46, $265(%rip) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - LONG $0x000040b8; BYTE $0x00 // movl $64, %eax - LONG $0x000040b9; BYTE $0x00 // movl $64, %ecx - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0004840f; WORD $0x0000 // je LBB14_28, $4(%rip) - -LBB14_27: - LONG $0xcfbc0f48 // bsfq %rdi, %rcx - -LBB14_28: - LONG $0xd9bc0f49 // bsfq %r9, %rbx - WORD $0x8545; BYTE $0xc9 // testl %r9d, %r9d - LONG $0xc3450f48 // cmovneq %rbx, %rax - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0016840f; WORD $0x0000 // je LBB14_31, $22(%rip) - WORD $0x294c; BYTE $0xde // subq %r11, %rsi - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0x0117820f; WORD $0x0000 // jb LBB14_47, $279(%rip) - LONG $0x0e448d48; BYTE $0x01 // leaq $1(%rsi,%rcx), %rax - LONG $0xffff05e9; BYTE $0xff // jmp LBB14_16, $-251(%rip) - -LBB14_31: - WORD $0x8545; BYTE $0xc9 // testl %r9d, %r9d - LONG $0x0116850f; WORD $0x0000 // jne LBB14_48, $278(%rip) - LONG $0x20c68348 // addq $32, %rsi - LONG $0xe0c78349 // addq $-32, %r15 - -LBB14_33: - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0110850f; WORD $0x0000 // jne LBB14_49, $272(%rip) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0xfedb840f; WORD $0xffff // je LBB14_16, $-293(%rip) - -LBB14_35: - WORD $0xb60f; BYTE $0x0e // movzbl (%rsi), %ecx - WORD $0xf980; BYTE $0x22 // cmpb $34, %cl - LONG $0x0062840f; WORD $0x0000 // je LBB14_43, $98(%rip) - WORD $0xf980; BYTE $0x5c // cmpb $92, %cl - LONG $0x0026840f; WORD $0x0000 // je LBB14_40, $38(%rip) - WORD $0xf980; BYTE $0x1f // cmpb $31, %cl - LONG $0x012d860f; WORD $0x0000 // jbe LBB14_53, $301(%rip) - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - LONG $0x000001bf; BYTE $0x00 // movl $1, %edi - -LBB14_39: - WORD $0x0148; BYTE $0xfe // addq %rdi, %rsi - WORD $0x0149; BYTE $0xcf // addq %rcx, %r15 - LONG $0xffca850f; WORD $0xffff // jne LBB14_35, $-54(%rip) - LONG $0xfffea0e9; BYTE $0xff // jmp LBB14_16, $-352(%rip) - -LBB14_40: - LONG $0x01ff8349 // cmpq $1, %r15 - LONG $0xfe96840f; WORD $0xffff // je LBB14_16, $-362(%rip) - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - LONG $0x000002bf; BYTE $0x00 // movl $2, %edi - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0xffce850f; WORD $0xffff // jne LBB14_39, $-50(%rip) - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0x294c; BYTE $0xdb // subq %r11, %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - WORD $0x8948; BYTE $0x1a // movq %rbx, (%rdx) - LONG $0xffffbce9; BYTE $0xff // jmp LBB14_39, $-68(%rip) - -LBB14_43: - WORD $0x294c; BYTE $0xde // subq %r11, %rsi - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - LONG $0xfffe5fe9; BYTE $0xff // jmp LBB14_16, $-417(%rip) - -LBB14_44: - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0014850f; WORD $0x0000 // jne LBB14_46, $20(%rip) - WORD $0x8948; BYTE $0xf1 // movq %rsi, %rcx - WORD $0x294c; BYTE $0xd9 // subq %r11, %rcx - LONG $0xd8bc0f48 // bsfq %rax, %rbx - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - WORD $0x8948; BYTE $0x1a // movq %rbx, (%rdx) - -LBB14_46: - WORD $0x8944; BYTE $0xf1 // movl %r14d, %ecx - WORD $0xd1f7 // notl %ecx - WORD $0xc121 // andl %eax, %ecx - WORD $0x1c8d; BYTE $0x09 // leal (%rcx,%rcx), %ebx - LONG $0x4e048d45 // leal (%r14,%rcx,2), %r8d - WORD $0xd3f7 // notl %ebx - WORD $0xc321 // andl %eax, %ebx - LONG $0xaaaae381; WORD $0xaaaa // andl $-1431655766, %ebx - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0xcb01 // addl %ecx, %ebx - LONG $0xc6920f41 // setb %r14b - WORD $0xdb01 // addl %ebx, %ebx - LONG $0x5555f381; WORD $0x5555 // xorl $1431655765, %ebx - WORD $0x2144; BYTE $0xc3 // andl %r8d, %ebx - WORD $0xd3f7 // notl %ebx - WORD $0xdf21 // andl %ebx, %edi - LONG $0x000040b8; BYTE $0x00 // movl $64, %eax - LONG $0x000040b9; BYTE $0x00 // movl $64, %ecx - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xfeca850f; WORD $0xffff // jne LBB14_27, $-310(%rip) - LONG $0xfffec9e9; BYTE $0xff // jmp LBB14_28, $-311(%rip) - -LBB14_47: - WORD $0x0148; BYTE $0xf0 // addq %rsi, %rax - WORD $0x8948; BYTE $0x02 // movq %rax, (%rdx) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xfffde6e9; BYTE $0xff // jmp LBB14_16, $-538(%rip) - -LBB14_48: - WORD $0x294c; BYTE $0xde // subq %r11, %rsi - WORD $0x0148; BYTE $0xde // addq %rbx, %rsi - LONG $0x00004ee9; BYTE $0x00 // jmp LBB14_54, $78(%rip) - -LBB14_49: - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0036840f; WORD $0x0000 // je LBB14_21, $54(%rip) - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0010850f; WORD $0x0000 // jne LBB14_52, $16(%rip) - WORD $0x894c; BYTE $0xd8 // movq %r11, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0xf0 // addq %rsi, %rax - LONG $0xd0458948 // movq %rax, $-48(%rbp) - WORD $0x8948; BYTE $0x02 // movq %rax, (%rdx) - -LBB14_52: - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0xff49; BYTE $0xcf // decq %r15 - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0xfec6850f; WORD $0xffff // jne LBB14_35, $-314(%rip) - LONG $0xfffd9ce9; BYTE $0xff // jmp LBB14_16, $-612(%rip) - -LBB14_21: - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xfffd90e9; BYTE $0xff // jmp LBB14_16, $-624(%rip) - -LBB14_53: - WORD $0x294c; BYTE $0xde // subq %r11, %rsi - -LBB14_54: - WORD $0x8948; BYTE $0x32 // movq %rsi, (%rdx) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xfffd7ee9; BYTE $0xff // jmp LBB14_16, $-642(%rip) - WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI15_0: - LONG $0x43300000 // .long 1127219200 - LONG $0x45300000 // .long 1160773632 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - -LCPI15_1: - QUAD $0x4330000000000000 // .quad 0x4330000000000000 - QUAD $0x4530000000000000 // .quad 0x4530000000000000 - - // .p2align 3, 0x00 -LCPI15_2: - QUAD $0x430c6bf526340000 // .quad 0x430c6bf526340000 - -LCPI15_3: - QUAD $0xc30c6bf526340000 // .quad 0xc30c6bf526340000 - - // .p2align 4, 0x90 -_vnumber: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x38ec8348 // subq $56, %rsp - WORD $0x8949; BYTE $0xd6 // movq %rdx, %r14 - QUAD $0x00000000c845c748 // movq $0, $-56(%rbp) - WORD $0x8b48; BYTE $0x06 // movq (%rsi), %rax - WORD $0x8b4c; BYTE $0x3f // movq (%rdi), %r15 - LONG $0x086f8b4c // movq $8(%rdi), %r13 - LONG $0x205a8b48 // movq $32(%rdx), %rbx - LONG $0x285a8b4c // movq $40(%rdx), %r11 - LONG $0x0902c748; WORD $0x0000; BYTE $0x00 // movq $9, (%rdx) - LONG $0xc057f9c5 // vxorpd %xmm0, %xmm0, %xmm0 - LONG $0x4211f9c5; BYTE $0x08 // vmovupd %xmm0, $8(%rdx) - WORD $0x8b48; BYTE $0x0e // movq (%rsi), %rcx - LONG $0x184a8948 // movq %rcx, $24(%rdx) - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0045830f; WORD $0x0000 // jae LBB15_6, $69(%rip) - LONG $0x073c8a41 // movb (%r15,%rax), %dil - LONG $0x0001ba41; WORD $0x0000 // movl $1, %r10d - LONG $0x2dff8040 // cmpb $45, %dil - LONG $0x0016850f; WORD $0x0000 // jne LBB15_4, $22(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0025830f; WORD $0x0000 // jae LBB15_6, $37(%rip) - LONG $0x073c8a41 // movb (%r15,%rax), %dil - LONG $0xffffba41; WORD $0xffff // movl $-1, %r10d - -LBB15_4: - WORD $0x4f8d; BYTE $0xd0 // leal $-48(%rdi), %ecx - WORD $0xf980; BYTE $0x0a // cmpb $10, %cl - LONG $0x0028820f; WORD $0x0000 // jb LBB15_9, $40(%rip) - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xfe06c749; WORD $0xffff; BYTE $0xff // movq $-2, (%r14) - LONG $0x00000ae9; BYTE $0x00 // jmp LBB15_8, $10(%rip) - -LBB15_6: - WORD $0x894c; BYTE $0x2e // movq %r13, (%rsi) - -LBB15_7: - LONG $0xff06c749; WORD $0xffff; BYTE $0xff // movq $-1, (%r14) - -LBB15_8: - LONG $0x38c48348 // addq $56, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB15_9: - LONG $0x30ff8040 // cmpb $48, %dil - LONG $0x0035850f; WORD $0x0000 // jne LBB15_13, $53(%rip) - LONG $0x01488d4c // leaq $1(%rax), %r9 - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00bf830f; WORD $0x0000 // jae LBB15_22, $191(%rip) - LONG $0x0f148a43 // movb (%r15,%r9), %dl - WORD $0xc280; BYTE $0xd2 // addb $-46, %dl - WORD $0xfa80; BYTE $0x37 // cmpb $55, %dl - LONG $0x00af870f; WORD $0x0000 // ja LBB15_22, $175(%rip) - LONG $0xc2b60f44 // movzbl %dl, %r8d - QUAD $0x000000800001ba48; WORD $0x0080 // movabsq $36028797027352577, %rdx - LONG $0xc2a30f4c // btq %r8, %rdx - LONG $0x0097830f; WORD $0x0000 // jae LBB15_22, $151(%rip) - -LBB15_13: - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0xa05d8948 // movq %rbx, $-96(%rbp) - LONG $0xc0558944 // movl %r10d, $-64(%rbp) - LONG $0xd0758948 // movq %rsi, $-48(%rbp) - LONG $0x0075830f; WORD $0x0000 // jae LBB15_21, $117(%rip) - WORD $0xf980; BYTE $0x09 // cmpb $9, %cl - LONG $0x0081870f; WORD $0x0000 // ja LBB15_23, $129(%rip) - LONG $0xffd0b841; WORD $0xffff // movl $4294967248, %r8d - LONG $0xff4d8d4d // leaq $-1(%r13), %r9 - WORD $0xc931 // xorl %ecx, %ecx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB15_16: - LONG $0x12fa8341 // cmpl $18, %r10d - LONG $0x00268f0f; WORD $0x0000 // jg LBB15_18, $38(%rip) - LONG $0xa4148d4b // leaq (%r12,%r12,4), %rdx - LONG $0xffbe0f40 // movsbl %dil, %edi - WORD $0x0144; BYTE $0xc7 // addl %r8d, %edi - LONG $0x57248d4c // leaq (%rdi,%rdx,2), %r12 - WORD $0xff41; BYTE $0xc2 // incl %r10d - LONG $0x000011e9; BYTE $0x00 // jmp LBB15_19, $17(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB15_18: - WORD $0xc1ff // incl %ecx - -LBB15_19: - WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9 - LONG $0x0079840f; WORD $0x0000 // je LBB15_28, $121(%rip) - LONG $0x7cb60f41; WORD $0x0107 // movzbl $1(%r15,%rax), %edi - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x578d; BYTE $0xd0 // leal $-48(%rdi), %edx - WORD $0xfa80; BYTE $0x0a // cmpb $10, %dl - LONG $0xffb0820f; WORD $0xffff // jb LBB15_16, $-80(%rip) - LONG $0x00001de9; BYTE $0x00 // jmp LBB15_24, $29(%rip) - -LBB15_21: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x000055e9; BYTE $0x00 // jmp LBB15_29, $85(%rip) - -LBB15_22: - WORD $0x894c; BYTE $0x0e // movq %r9, (%rsi) - LONG $0xffff13e9; BYTE $0xff // jmp LBB15_8, $-237(%rip) - -LBB15_23: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0xc931 // xorl %ecx, %ecx - -LBB15_24: - WORD $0xd231 // xorl %edx, %edx - WORD $0xc985 // testl %ecx, %ecx - WORD $0x9f0f; BYTE $0xc2 // setg %dl - WORD $0x5589; BYTE $0xc4 // movl %edx, $-60(%rbp) - WORD $0xb041; BYTE $0x01 // movb $1, %r8b - LONG $0x2eff8040 // cmpb $46, %dil - LONG $0x003b850f; WORD $0x0000 // jne LBB15_30, $59(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0x0806c749; WORD $0x0000; BYTE $0x00 // movq $8, (%r14) - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0268830f; WORD $0x0000 // jae LBB15_68, $616(%rip) - LONG $0x07148a41 // movb (%r15,%rax), %dl - WORD $0xc280; BYTE $0xd0 // addb $-48, %dl - WORD $0xfa80; BYTE $0x0a // cmpb $10, %dl - LONG $0x0401830f; WORD $0x0000 // jae LBB15_91, $1025(%rip) - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0x000010e9; BYTE $0x00 // jmp LBB15_30, $16(%rip) - -LBB15_28: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - -LBB15_29: - WORD $0xd231 // xorl %edx, %edx - WORD $0xc985 // testl %ecx, %ecx - WORD $0x9f0f; BYTE $0xc2 // setg %dl - WORD $0x5589; BYTE $0xc4 // movl %edx, $-60(%rbp) - WORD $0xb041; BYTE $0x01 // movb $1, %r8b - -LBB15_30: - WORD $0xc985 // testl %ecx, %ecx - LONG $0x0056850f; WORD $0x0000 // jne LBB15_39, $86(%rip) - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x004d850f; WORD $0x0000 // jne LBB15_39, $77(%rip) - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x003c830f; WORD $0x0000 // jae LBB15_37, $60(%rip) - WORD $0xc689 // movl %eax, %esi - WORD $0x2944; BYTE $0xee // subl %r13d, %esi - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB15_34: - LONG $0x073c8041; BYTE $0x30 // cmpb $48, (%r15,%rax) - LONG $0x0024850f; WORD $0x0000 // jne LBB15_38, $36(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0xc9ff // decl %ecx - WORD $0x3949; BYTE $0xc5 // cmpq %rax, %r13 - LONG $0xffe7850f; WORD $0xffff // jne LBB15_34, $-25(%rip) - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0x8445; BYTE $0xc0 // testb %r8b, %r8b - LONG $0x0122850f; WORD $0x0000 // jne LBB15_58, $290(%rip) - LONG $0x000152e9; BYTE $0x00 // jmp LBB15_62, $338(%rip) - -LBB15_37: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - -LBB15_38: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - -LBB15_39: - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0051830f; WORD $0x0000 // jae LBB15_45, $81(%rip) - LONG $0x12fa8341 // cmpl $18, %r10d - LONG $0x00478f0f; WORD $0x0000 // jg LBB15_45, $71(%rip) - LONG $0xffd0b941; WORD $0xffff // movl $4294967248, %r9d - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB15_42: - LONG $0x14b60f41; BYTE $0x07 // movzbl (%r15,%rax), %edx - WORD $0x7a8d; BYTE $0xd0 // leal $-48(%rdx), %edi - LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x002a870f; WORD $0x0000 // ja LBB15_45, $42(%rip) - LONG $0xa43c8d4b // leaq (%r12,%r12,4), %rdi - WORD $0x0144; BYTE $0xca // addl %r9d, %edx - LONG $0x7a248d4c // leaq (%rdx,%rdi,2), %r12 - WORD $0xc9ff // decl %ecx - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0011830f; WORD $0x0000 // jae LBB15_45, $17(%rip) - LONG $0x01528d41 // leal $1(%r10), %edx - LONG $0x12fa8341 // cmpl $18, %r10d - WORD $0x8941; BYTE $0xd2 // movl %edx, %r10d - LONG $0xffc48c0f; WORD $0xffff // jl LBB15_42, $-60(%rip) - -LBB15_45: - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00a4830f; WORD $0x0000 // jae LBB15_57, $164(%rip) - LONG $0x07348a41 // movb (%r15,%rax), %sil - WORD $0x568d; BYTE $0xd0 // leal $-48(%rsi), %edx - WORD $0xfa80; BYTE $0x09 // cmpb $9, %dl - LONG $0x0030870f; WORD $0x0000 // ja LBB15_51, $48(%rip) - LONG $0xff7d8d49 // leaq $-1(%r13), %rdi - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB15_48: - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x0167840f; WORD $0x0000 // je LBB15_69, $359(%rip) - LONG $0x74b60f41; WORD $0x0107 // movzbl $1(%r15,%rax), %esi - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x568d; BYTE $0xd0 // leal $-48(%rsi), %edx - WORD $0xfa80; BYTE $0x09 // cmpb $9, %dl - LONG $0xffe2860f; WORD $0xffff // jbe LBB15_48, $-30(%rip) - LONG $0x01c445c7; WORD $0x0000; BYTE $0x00 // movl $1, $-60(%rbp) - -LBB15_51: - LONG $0x20ce8040 // orb $32, %sil - LONG $0x65fe8040 // cmpb $101, %sil - LONG $0x0056850f; WORD $0x0000 // jne LBB15_57, $86(%rip) - LONG $0x01788d48 // leaq $1(%rax), %rdi - LONG $0x0806c749; WORD $0x0000; BYTE $0x00 // movq $8, (%r14) - WORD $0x394c; BYTE $0xef // cmpq %r13, %rdi - LONG $0x011d830f; WORD $0x0000 // jae LBB15_68, $285(%rip) - LONG $0x3f348a41 // movb (%r15,%rdi), %sil - LONG $0x2dfe8040 // cmpb $45, %sil - LONG $0x0010840f; WORD $0x0000 // je LBB15_55, $16(%rip) - LONG $0x0001b841; WORD $0x0000 // movl $1, %r8d - LONG $0x2bfe8040 // cmpb $43, %sil - LONG $0x0298850f; WORD $0x0000 // jne LBB15_89, $664(%rip) - -LBB15_55: - LONG $0x02c08348 // addq $2, %rax - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00f2830f; WORD $0x0000 // jae LBB15_68, $242(%rip) - WORD $0xd231 // xorl %edx, %edx - LONG $0x2bfe8040 // cmpb $43, %sil - WORD $0x940f; BYTE $0xc2 // sete %dl - LONG $0x12448d44; BYTE $0xff // leal $-1(%rdx,%rdx), %r8d - LONG $0x07348a41 // movb (%r15,%rax), %sil - LONG $0x000277e9; BYTE $0x00 // jmp LBB15_90, $631(%rip) - -LBB15_57: - WORD $0xce89 // movl %ecx, %esi - WORD $0x8949; BYTE $0xc5 // movq %rax, %r13 - WORD $0x8445; BYTE $0xc0 // testb %r8b, %r8b - LONG $0x0035840f; WORD $0x0000 // je LBB15_62, $53(%rip) - -LBB15_58: - WORD $0xf685 // testl %esi, %esi - LONG $0x0026850f; WORD $0x0000 // jne LBB15_61, $38(%rip) - QUAD $0x000000000000b848; WORD $0x8000 // movabsq $-9223372036854775808, %rax - LONG $0xc04d6348 // movslq $-64(%rbp), %rcx - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x00f2890f; WORD $0x0000 // jns LBB15_72, $242(%rip) - WORD $0x894c; BYTE $0xe2 // movq %r12, %rdx - WORD $0x2148; BYTE $0xca // andq %rcx, %rdx - WORD $0x3948; BYTE $0xc2 // cmpq %rax, %rdx - LONG $0x00e3840f; WORD $0x0000 // je LBB15_72, $227(%rip) - -LBB15_61: - LONG $0x0806c749; WORD $0x0000; BYTE $0x00 // movq $8, (%r14) - -LBB15_62: - QUAD $0x00000000b845c748 // movq $0, $-72(%rbp) - LONG $0x6ef9c1c4; BYTE $0xc4 // vmovq %r12, %xmm0 - QUAD $0xfffffc2f0562f9c5 // vpunpckldq $-977(%rip), %xmm0, %xmm0 /* LCPI15_0(%rip) */ - QUAD $0xfffffc37055cf9c5 // vsubpd $-969(%rip), %xmm0, %xmm0 /* LCPI15_1(%rip) */ - LONG $0x0579e3c4; WORD $0x01c8 // vpermilpd $1, %xmm0, %xmm1 - LONG $0xc058f3c5 // vaddsd %xmm0, %xmm1, %xmm0 - LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - LONG $0x34e8c148 // shrq $52, %rax - LONG $0x011f850f; WORD $0x0000 // jne LBB15_77, $287(%rip) - LONG $0x7ef9e1c4; BYTE $0xc1 // vmovq %xmm0, %rcx - WORD $0x458b; BYTE $0xc0 // movl $-64(%rbp), %eax - WORD $0xe8c1; BYTE $0x1f // shrl $31, %eax - LONG $0x3fe0c148 // shlq $63, %rax - WORD $0x0948; BYTE $0xc8 // orq %rcx, %rax - LONG $0xc8458948 // movq %rax, $-56(%rbp) - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x019f840f; WORD $0x0000 // je LBB15_85, $415(%rip) - WORD $0xf685 // testl %esi, %esi - LONG $0x0197840f; WORD $0x0000 // je LBB15_85, $407(%rip) - LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq %rax, %xmm0 - WORD $0x468d; BYTE $0xff // leal $-1(%rsi), %eax - WORD $0xf883; BYTE $0x24 // cmpl $36, %eax - LONG $0x004a870f; WORD $0x0000 // ja LBB15_70, $74(%rip) - WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi - LONG $0x00a48c0f; WORD $0x0000 // jl LBB15_73, $164(%rip) - WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax - LONG $0xe00d8d48; WORD $0x00ec; BYTE $0x00 // leaq $60640(%rip), %rcx /* _P10_TAB(%rip) */ - LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0 - LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) - LONG $0x000016b8; BYTE $0x00 // movl $22, %eax - LONG $0x000088e9; BYTE $0x00 // jmp LBB15_74, $136(%rip) - -LBB15_68: - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x894c; BYTE $0x28 // movq %r13, (%rax) - LONG $0xfffc66e9; BYTE $0xff // jmp LBB15_7, $-922(%rip) - -LBB15_69: - LONG $0x01c445c7; WORD $0x0000; BYTE $0x00 // movl $1, $-60(%rbp) - WORD $0xce89 // movl %ecx, %esi - WORD $0x8445; BYTE $0xc0 // testb %r8b, %r8b - LONG $0xff15850f; WORD $0xffff // jne LBB15_58, $-235(%rip) - LONG $0xffff45e9; BYTE $0xff // jmp LBB15_62, $-187(%rip) - -LBB15_70: - WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi - LONG $0x0094820f; WORD $0x0000 // jb LBB15_77, $148(%rip) - WORD $0xdef7 // negl %esi - LONG $0x97058d48; WORD $0x00ec; BYTE $0x00 // leaq $60567(%rip), %rax /* _P10_TAB(%rip) */ - LONG $0x045efbc5; BYTE $0xf0 // vdivsd (%rax,%rsi,8), %xmm0, %xmm0 - LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) - LONG $0x0000dee9; BYTE $0x00 // jmp LBB15_81, $222(%rip) - -LBB15_72: - LONG $0x6ef9c1c4; BYTE $0xc4 // vmovq %r12, %xmm0 - LONG $0xe1af0f4c // imulq %rcx, %r12 - QUAD $0xfffffb570562f9c5 // vpunpckldq $-1193(%rip), %xmm0, %xmm0 /* LCPI15_0(%rip) */ - QUAD $0xfffffb5f055cf9c5 // vsubpd $-1185(%rip), %xmm0, %xmm0 /* LCPI15_1(%rip) */ - LONG $0x1066894d // movq %r12, $16(%r14) - LONG $0x0579e3c4; WORD $0x01c8 // vpermilpd $1, %xmm0, %xmm1 - LONG $0xc058f3c5 // vaddsd %xmm0, %xmm1, %xmm0 - WORD $0x2148; BYTE $0xc8 // andq %rcx, %rax - LONG $0x7ef9e1c4; BYTE $0xc1 // vmovq %xmm0, %rcx - WORD $0x0948; BYTE $0xc1 // orq %rax, %rcx - LONG $0x084e8949 // movq %rcx, $8(%r14) - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x894c; BYTE $0x28 // movq %r13, (%rax) - LONG $0xfffbf3e9; BYTE $0xff // jmp LBB15_8, $-1037(%rip) - -LBB15_73: - WORD $0xf089 // movl %esi, %eax - -LBB15_74: - QUAD $0xfffffb3c052ef9c5 // vucomisd $-1220(%rip), %xmm0 /* LCPI15_2(%rip) */ - LONG $0x002a870f; WORD $0x0000 // ja LBB15_77, $42(%rip) - QUAD $0xfffffb360d10fbc5 // vmovsd $-1226(%rip), %xmm1 /* LCPI15_3(%rip) */ - LONG $0xc82ef9c5 // vucomisd %xmm0, %xmm1 - LONG $0x0018870f; WORD $0x0000 // ja LBB15_77, $24(%rip) - WORD $0xc089 // movl %eax, %eax - LONG $0x1b0d8d48; WORD $0x00ec; BYTE $0x00 // leaq $60443(%rip), %rcx /* _P10_TAB(%rip) */ - LONG $0x0459fbc5; BYTE $0xc1 // vmulsd (%rcx,%rax,8), %xmm0, %xmm0 - LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) - LONG $0x000062e9; BYTE $0x00 // jmp LBB15_81, $98(%rip) - -LBB15_77: - LONG $0xa85d894c // movq %r11, $-88(%rbp) - LONG $0xc84d8d48 // leaq $-56(%rbp), %rcx - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x5d8b; BYTE $0xc0 // movl $-64(%rbp), %ebx - WORD $0xda89 // movl %ebx, %edx - LONG $0xb0758948 // movq %rsi, $-80(%rbp) - LONG $0xffe423e8; BYTE $0xff // callq _atof_eisel_lemire64, $-7133(%rip) - WORD $0xc084 // testb %al, %al - LONG $0x004b840f; WORD $0x0000 // je LBB15_83, $75(%rip) - LONG $0xb0758b48 // movq $-80(%rbp), %rsi - LONG $0x00c47d83 // cmpl $0, $-60(%rbp) - LONG $0x006c840f; WORD $0x0000 // je LBB15_84, $108(%rip) - WORD $0xff49; BYTE $0xc4 // incq %r12 - LONG $0xb84d8d48 // leaq $-72(%rbp), %rcx - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0xda89 // movl %ebx, %edx - LONG $0xffe3fce8; BYTE $0xff // callq _atof_eisel_lemire64, $-7172(%rip) - WORD $0xc084 // testb %al, %al - LONG $0x0024840f; WORD $0x0000 // je LBB15_83, $36(%rip) - LONG $0x4d10fbc5; BYTE $0xb8 // vmovsd $-72(%rbp), %xmm1 - LONG $0x4510fbc5; BYTE $0xc8 // vmovsd $-56(%rbp), %xmm0 - LONG $0xc82ef9c5 // vucomisd %xmm0, %xmm1 - LONG $0x0010850f; WORD $0x0000 // jne LBB15_83, $16(%rip) - LONG $0x000a8a0f; WORD $0x0000 // jp LBB15_83, $10(%rip) - -LBB15_81: - LONG $0x7ef9e1c4; BYTE $0xc0 // vmovq %xmm0, %rax - LONG $0x000033e9; BYTE $0x00 // jmp LBB15_85, $51(%rip) - -LBB15_83: - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - WORD $0x8b48; BYTE $0x03 // movq (%rbx), %rax - WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - WORD $0x2948; BYTE $0xc6 // subq %rax, %rsi - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - LONG $0xa0558b48 // movq $-96(%rbp), %rdx - LONG $0xa84d8b48 // movq $-88(%rbp), %rcx - LONG $0xffeb30e8; BYTE $0xff // callq _atof_native, $-5328(%rip) - LONG $0x4511fbc5; BYTE $0xc8 // vmovsd %xmm0, $-56(%rbp) - LONG $0x7ef9e1c4; BYTE $0xc0 // vmovq %xmm0, %rax - LONG $0x000008e9; BYTE $0x00 // jmp LBB15_86, $8(%rip) - -LBB15_84: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - -LBB15_85: - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - -LBB15_86: - QUAD $0x000000000000b948; WORD $0x8000 // movabsq $-9223372036854775808, %rcx - WORD $0xff48; BYTE $0xc9 // decq %rcx - WORD $0x2148; BYTE $0xc1 // andq %rax, %rcx - QUAD $0x000000000000ba48; WORD $0x7ff0 // movabsq $9218868437227405312, %rdx - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x0007850f; WORD $0x0000 // jne LBB15_88, $7(%rip) - LONG $0xf806c749; WORD $0xffff; BYTE $0xff // movq $-8, (%r14) - -LBB15_88: - LONG $0x08468949 // movq %rax, $8(%r14) - WORD $0x894c; BYTE $0x2b // movq %r13, (%rbx) - LONG $0xfffae0e9; BYTE $0xff // jmp LBB15_8, $-1312(%rip) - -LBB15_89: - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - -LBB15_90: - WORD $0x7e8d; BYTE $0xd0 // leal $-48(%rsi), %edi - LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x0013860f; WORD $0x0000 // jbe LBB15_92, $19(%rip) - -LBB15_91: - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xfe06c749; WORD $0xffff; BYTE $0xff // movq $-2, (%r14) - LONG $0xfffabde9; BYTE $0xff // jmp LBB15_8, $-1347(%rip) - -LBB15_92: - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0049830f; WORD $0x0000 // jae LBB15_98, $73(%rip) - LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x003f870f; WORD $0x0000 // ja LBB15_98, $63(%rip) - LONG $0xff4d8d4d // leaq $-1(%r13), %r9 - WORD $0xff31 // xorl %edi, %edi - -LBB15_95: - WORD $0xfa89 // movl %edi, %edx - LONG $0x2710ff81; WORD $0x0000 // cmpl $10000, %edi - WORD $0x3c8d; BYTE $0x92 // leal (%rdx,%rdx,4), %edi - LONG $0xf6b60f40 // movzbl %sil, %esi - LONG $0xd07e7c8d // leal $-48(%rsi,%rdi,2), %edi - WORD $0x4d0f; BYTE $0xfa // cmovgel %edx, %edi - WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9 - LONG $0x0021840f; WORD $0x0000 // je LBB15_99, $33(%rip) - LONG $0x74b60f41; WORD $0x0107 // movzbl $1(%r15,%rax), %esi - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x568d; BYTE $0xd0 // leal $-48(%rsi), %edx - WORD $0xfa80; BYTE $0x0a // cmpb $10, %dl - LONG $0xffcc820f; WORD $0xffff // jb LBB15_95, $-52(%rip) - LONG $0x00000ae9; BYTE $0x00 // jmp LBB15_100, $10(%rip) - -LBB15_98: - WORD $0xff31 // xorl %edi, %edi - LONG $0x000003e9; BYTE $0x00 // jmp LBB15_100, $3(%rip) - -LBB15_99: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - -LBB15_100: - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - LONG $0xf0af0f41 // imull %r8d, %esi - WORD $0xce01 // addl %ecx, %esi - WORD $0x8949; BYTE $0xc5 // movq %rax, %r13 - LONG $0xfffd3fe9; BYTE $0xff // jmp LBB15_62, $-705(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_vsigned: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - WORD $0x8b48; BYTE $0x06 // movq (%rsi), %rax - WORD $0x8b4c; BYTE $0x0f // movq (%rdi), %r9 - LONG $0x085f8b4c // movq $8(%rdi), %r11 - LONG $0x0902c748; WORD $0x0000; BYTE $0x00 // movq $9, (%rdx) - LONG $0xc057f8c5 // vxorps %xmm0, %xmm0, %xmm0 - LONG $0x4211f8c5; BYTE $0x08 // vmovups %xmm0, $8(%rdx) - WORD $0x8b48; BYTE $0x0e // movq (%rsi), %rcx - LONG $0x184a8948 // movq %rcx, $24(%rdx) - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x0044830f; WORD $0x0000 // jae LBB16_1, $68(%rip) - LONG $0x010c8a41 // movb (%r9,%rax), %cl - LONG $0x0001b841; WORD $0x0000 // movl $1, %r8d - WORD $0xf980; BYTE $0x2d // cmpb $45, %cl - LONG $0x0017850f; WORD $0x0000 // jne LBB16_5, $23(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x0025830f; WORD $0x0000 // jae LBB16_1, $37(%rip) - LONG $0x010c8a41 // movb (%r9,%rax), %cl - LONG $0xffc0c749; WORD $0xffff; BYTE $0xff // movq $-1, %r8 - -LBB16_5: - WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi - LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x001a820f; WORD $0x0000 // jb LBB16_7, $26(%rip) - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xfe02c748; WORD $0xffff; BYTE $0xff // movq $-2, (%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_1: - WORD $0x894c; BYTE $0x1e // movq %r11, (%rsi) - LONG $0xff02c748; WORD $0xffff; BYTE $0xff // movq $-1, (%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_7: - WORD $0xf980; BYTE $0x30 // cmpb $48, %cl - LONG $0x0035850f; WORD $0x0000 // jne LBB16_12, $53(%rip) - LONG $0x01788d48 // leaq $1(%rax), %rdi - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x0081830f; WORD $0x0000 // jae LBB16_11, $129(%rip) - LONG $0x390c8a41 // movb (%r9,%rdi), %cl - WORD $0xc180; BYTE $0xd2 // addb $-46, %cl - WORD $0xf980; BYTE $0x37 // cmpb $55, %cl - LONG $0x0071870f; WORD $0x0000 // ja LBB16_11, $113(%rip) - LONG $0xd1b60f44 // movzbl %cl, %r10d - QUAD $0x000000800001b948; WORD $0x0080 // movabsq $36028797027352577, %rcx - LONG $0xd1a30f4c // btq %r10, %rcx - LONG $0x0059830f; WORD $0x0000 // jae LBB16_11, $89(%rip) - -LBB16_12: - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - WORD $0x894d; BYTE $0xda // movq %r11, %r10 - LONG $0xd0470f4c // cmovaq %rax, %r10 - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB16_13: - WORD $0x3949; BYTE $0xc2 // cmpq %rax, %r10 - LONG $0x007f840f; WORD $0x0000 // je LBB16_23, $127(%rip) - LONG $0x3cbe0f49; BYTE $0x01 // movsbq (%r9,%rax), %rdi - WORD $0x5f8d; BYTE $0xd0 // leal $-48(%rdi), %ebx - WORD $0xfb80; BYTE $0x09 // cmpb $9, %bl - LONG $0x0033870f; WORD $0x0000 // ja LBB16_18, $51(%rip) - LONG $0x0ac96b48 // imulq $10, %rcx, %rcx - LONG $0x0013800f; WORD $0x0000 // jo LBB16_17, $19(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0xc783; BYTE $0xd0 // addl $-48, %edi - LONG $0xf8af0f49 // imulq %r8, %rdi - WORD $0x0148; BYTE $0xf9 // addq %rdi, %rcx - LONG $0xffc9810f; WORD $0xffff // jno LBB16_13, $-55(%rip) - -LBB16_17: - WORD $0xff48; BYTE $0xc8 // decq %rax - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xfb02c748; WORD $0xffff; BYTE $0xff // movq $-5, (%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_11: - WORD $0x8948; BYTE $0x3e // movq %rdi, (%rsi) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_18: - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x002f830f; WORD $0x0000 // jae LBB16_22, $47(%rip) - LONG $0x013c8a41 // movb (%r9,%rax), %dil - LONG $0x2eff8040 // cmpb $46, %dil - LONG $0x0014840f; WORD $0x0000 // je LBB16_25, $20(%rip) - LONG $0x45ff8040 // cmpb $69, %dil - LONG $0x000a840f; WORD $0x0000 // je LBB16_25, $10(%rip) - LONG $0x65ff8040 // cmpb $101, %dil - LONG $0x000d850f; WORD $0x0000 // jne LBB16_22, $13(%rip) - -LBB16_25: - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xfa02c748; WORD $0xffff; BYTE $0xff // movq $-6, (%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_22: - WORD $0x8949; BYTE $0xc2 // movq %rax, %r10 - -LBB16_23: - WORD $0x894c; BYTE $0x16 // movq %r10, (%rsi) - LONG $0x104a8948 // movq %rcx, $16(%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_vunsigned: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - WORD $0x8b48; BYTE $0x0e // movq (%rsi), %rcx - WORD $0x8b4c; BYTE $0x0f // movq (%rdi), %r9 - LONG $0x085f8b4c // movq $8(%rdi), %r11 - LONG $0x0902c748; WORD $0x0000; BYTE $0x00 // movq $9, (%rdx) - LONG $0xc057f8c5 // vxorps %xmm0, %xmm0, %xmm0 - LONG $0x4211f8c5; BYTE $0x08 // vmovups %xmm0, $8(%rdx) - WORD $0x8b48; BYTE $0x06 // movq (%rsi), %rax - LONG $0x18428948 // movq %rax, $24(%rdx) - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x0019830f; WORD $0x0000 // jae LBB17_1, $25(%rip) - LONG $0x09048a41 // movb (%r9,%rcx), %al - WORD $0x2d3c // cmpb $45, %al - LONG $0x001a850f; WORD $0x0000 // jne LBB17_4, $26(%rip) - -LBB17_3: - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfa00c749; WORD $0xffff; BYTE $0xff // movq $-6, (%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB17_1: - WORD $0x894c; BYTE $0x1e // movq %r11, (%rsi) - LONG $0xff00c749; WORD $0xffff; BYTE $0xff // movq $-1, (%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB17_4: - WORD $0x508d; BYTE $0xd0 // leal $-48(%rax), %edx - WORD $0xfa80; BYTE $0x0a // cmpb $10, %dl - LONG $0x000d820f; WORD $0x0000 // jb LBB17_6, $13(%rip) - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfe00c749; WORD $0xffff; BYTE $0xff // movq $-2, (%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB17_6: - WORD $0x303c // cmpb $48, %al - LONG $0x0026850f; WORD $0x0000 // jne LBB17_7, $38(%rip) - LONG $0x09448a41; BYTE $0x01 // movb $1(%r9,%rcx), %al - WORD $0xd204 // addb $-46, %al - WORD $0x373c // cmpb $55, %al - LONG $0x00b6870f; WORD $0x0000 // ja LBB17_16, $182(%rip) - WORD $0xb60f; BYTE $0xc0 // movzbl %al, %eax - QUAD $0x000000800001ba48; WORD $0x0080 // movabsq $36028797027352577, %rdx - LONG $0xc2a30f48 // btq %rax, %rdx - LONG $0x009f830f; WORD $0x0000 // jae LBB17_16, $159(%rip) - -LBB17_7: - WORD $0xc031 // xorl %eax, %eax - LONG $0x000aba41; WORD $0x0000 // movl $10, %r10d - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB17_8: - WORD $0x3949; BYTE $0xcb // cmpq %rcx, %r11 - LONG $0x007b840f; WORD $0x0000 // je LBB17_22, $123(%rip) - LONG $0x3cbe0f41; BYTE $0x09 // movsbl (%r9,%rcx), %edi - WORD $0x578d; BYTE $0xd0 // leal $-48(%rdi), %edx - WORD $0xfa80; BYTE $0x09 // cmpb $9, %dl - LONG $0x003f870f; WORD $0x0000 // ja LBB17_17, $63(%rip) - WORD $0xf749; BYTE $0xe2 // mulq %r10 - LONG $0x0026800f; WORD $0x0000 // jo LBB17_13, $38(%rip) - WORD $0xff48; BYTE $0xc1 // incq %rcx - WORD $0xc783; BYTE $0xd0 // addl $-48, %edi - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0x0148; BYTE $0xf8 // addq %rdi, %rax - WORD $0x920f; BYTE $0xc3 // setb %bl - WORD $0x8948; BYTE $0xda // movq %rbx, %rdx - WORD $0xf748; BYTE $0xda // negq %rdx - WORD $0x3148; BYTE $0xd3 // xorq %rdx, %rbx - LONG $0x0009850f; WORD $0x0000 // jne LBB17_13, $9(%rip) - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xffb7890f; WORD $0xffff // jns LBB17_8, $-73(%rip) - -LBB17_13: - WORD $0xff48; BYTE $0xc9 // decq %rcx - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfb00c749; WORD $0xffff; BYTE $0xff // movq $-5, (%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB17_17: - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x001f830f; WORD $0x0000 // jae LBB17_21, $31(%rip) - LONG $0x09148a41 // movb (%r9,%rcx), %dl - WORD $0xfa80; BYTE $0x2e // cmpb $46, %dl - LONG $0xff1f840f; WORD $0xffff // je LBB17_3, $-225(%rip) - WORD $0xfa80; BYTE $0x45 // cmpb $69, %dl - LONG $0xff16840f; WORD $0xffff // je LBB17_3, $-234(%rip) - WORD $0xfa80; BYTE $0x65 // cmpb $101, %dl - LONG $0xff0d840f; WORD $0xffff // je LBB17_3, $-243(%rip) - -LBB17_21: - WORD $0x8949; BYTE $0xcb // movq %rcx, %r11 - -LBB17_22: - WORD $0x894c; BYTE $0x1e // movq %r11, (%rsi) - LONG $0x10408949 // movq %rax, $16(%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB17_16: - WORD $0xff48; BYTE $0xc1 // incq %rcx - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI18_0: - QUAD $0x0000000000000001 // .quad 1 - QUAD $0x0000000000000005 // .quad 5 - - // .p2align 4, 0x90 -_skip_array: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - QUAD $0xffffffdb0528f8c5 // vmovaps $-37(%rip), %xmm0 /* LCPI18_0(%rip) */ - LONG $0x0011f8c5 // vmovups %xmm0, (%rax) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - BYTE $0x5d // popq %rbp - LONG $0x00000ee9; BYTE $0x00 // jmp _fsm_exec, $14(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_fsm_exec: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x28ec8348 // subq $40, %rsp - LONG $0xb84d8948 // movq %rcx, $-72(%rbp) - LONG $0x003f8348 // cmpq $0, (%rdi) - LONG $0x0407840f; WORD $0x0000 // je LBB19_2, $1031(%rip) - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - WORD $0x8949; BYTE $0xfd // movq %rdi, %r13 - LONG $0xc8758948 // movq %rsi, $-56(%rbp) - LONG $0x08468d48 // leaq $8(%rsi), %rax - LONG $0xc0458948 // movq %rax, $-64(%rbp) - LONG $0xffc4c749; WORD $0xffff; BYTE $0xff // movq $-1, %r12 - LONG $0x000023e9; BYTE $0x00 // jmp LBB19_4, $35(%rip) - -LBB19_3: - LONG $0x03488d48 // leaq $3(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x04498e0f; WORD $0x0000 // jle LBB19_62, $1097(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB19_39: - LONG $0x00558b49 // movq (%r13), %rdx - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0415840f; WORD $0x0000 // je LBB19_65, $1045(%rip) - -LBB19_4: - LONG $0xc8758b4c // movq $-56(%rbp), %r14 - WORD $0x8b49; BYTE $0x3e // movq (%r14), %rdi - LONG $0x08768b49 // movq $8(%r14), %rsi - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - LONG $0xffef4ae8; BYTE $0xff // callq _advance_ns, $-4278(%rip) - WORD $0xc084 // testb %al, %al - LONG $0x03a8840f; WORD $0x0000 // je LBB19_2, $936(%rip) - LONG $0x004d8b49 // movq (%r13), %rcx - LONG $0xcd7c8b41; BYTE $0x00 // movl (%r13,%rcx,8), %edi - LONG $0xfffc8349 // cmpq $-1, %r12 - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0x0006850f; WORD $0x0000 // jne LBB19_7, $6(%rip) - WORD $0x8b4d; BYTE $0x20 // movq (%r8), %r12 - WORD $0xff49; BYTE $0xcc // decq %r12 - -LBB19_7: - WORD $0xbe0f; BYTE $0xf0 // movsbl %al, %esi - LONG $0xff518d48 // leaq $-1(%rcx), %rdx - WORD $0xcfff // decl %edi - WORD $0xff83; BYTE $0x05 // cmpl $5, %edi - LONG $0x0037870f; WORD $0x0000 // ja LBB19_12, $55(%rip) - LONG $0xf91d8d48; WORD $0x0004; BYTE $0x00 // leaq $1273(%rip), %rbx /* LJTI19_0(%rip) */ - LONG $0xbb3c6348 // movslq (%rbx,%rdi,4), %rdi - WORD $0x0148; BYTE $0xdf // addq %rbx, %rdi - JMP DI - -LBB19_9: - WORD $0xfe83; BYTE $0x2c // cmpl $44, %esi - LONG $0x0173840f; WORD $0x0000 // je LBB19_31, $371(%rip) - WORD $0xfe83; BYTE $0x5d // cmpl $93, %esi - LONG $0x03a0850f; WORD $0x0000 // jne LBB19_64, $928(%rip) - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xff82850f; WORD $0xffff // jne LBB19_4, $-126(%rip) - LONG $0x000392e9; BYTE $0x00 // jmp LBB19_65, $914(%rip) - -LBB19_12: - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0xfe83; BYTE $0x7b // cmpl $123, %esi - LONG $0x00ea860f; WORD $0x0000 // jbe LBB19_28, $234(%rip) - LONG $0x000379e9; BYTE $0x00 // jmp LBB19_64, $889(%rip) - -LBB19_13: - WORD $0xfe83; BYTE $0x2c // cmpl $44, %esi - LONG $0x015d840f; WORD $0x0000 // je LBB19_33, $349(%rip) - WORD $0xfe83; BYTE $0x7d // cmpl $125, %esi - LONG $0x0367850f; WORD $0x0000 // jne LBB19_64, $871(%rip) - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xff49850f; WORD $0xffff // jne LBB19_4, $-183(%rip) - LONG $0x000359e9; BYTE $0x00 // jmp LBB19_65, $857(%rip) - -LBB19_16: - WORD $0x223c // cmpb $34, %al - LONG $0x034a850f; WORD $0x0000 // jne LBB19_64, $842(%rip) - QUAD $0x00000400cd44c749; BYTE $0x00 // movq $4, (%r13,%rcx,8) - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x8b4d; BYTE $0x38 // movq (%r8), %r15 - WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi - -LBB19_18: - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xd0558d48 // leaq $-48(%rbp), %rdx - LONG $0xb84d8b48 // movq $-72(%rbp), %rcx - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - LONG $0xfff112e8; BYTE $0xff // callq _advance_string, $-3822(%rip) - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x02e4880f; WORD $0x0000 // js LBB19_55, $740(%rip) - WORD $0x894c; BYTE $0x33 // movq %r14, (%rbx) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xfee78f0f; WORD $0xffff // jg LBB19_39, $-281(%rip) - LONG $0x0002e8e9; BYTE $0x00 // jmp LBB19_56, $744(%rip) - -LBB19_20: - WORD $0x3a3c // cmpb $58, %al - LONG $0x02f8850f; WORD $0x0000 // jne LBB19_64, $760(%rip) - QUAD $0x00000000cd44c749; BYTE $0x00 // movq $0, (%r13,%rcx,8) - LONG $0xfffecce9; BYTE $0xff // jmp LBB19_39, $-308(%rip) - -LBB19_22: - WORD $0x5d3c // cmpb $93, %al - LONG $0x003c850f; WORD $0x0000 // jne LBB19_27, $60(%rip) - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xfec4850f; WORD $0xffff // jne LBB19_4, $-316(%rip) - LONG $0x0002d4e9; BYTE $0x00 // jmp LBB19_65, $724(%rip) - -LBB19_24: - WORD $0xfe83; BYTE $0x22 // cmpl $34, %esi - LONG $0x00d4840f; WORD $0x0000 // je LBB19_35, $212(%rip) - WORD $0xfe83; BYTE $0x7d // cmpl $125, %esi - LONG $0x02bb850f; WORD $0x0000 // jne LBB19_64, $699(%rip) - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xfe9d850f; WORD $0xffff // jne LBB19_4, $-355(%rip) - LONG $0x0002ade9; BYTE $0x00 // jmp LBB19_65, $685(%rip) - -LBB19_27: - QUAD $0x00000100cd44c749; BYTE $0x00 // movq $1, (%r13,%rcx,8) - WORD $0xfe83; BYTE $0x7b // cmpl $123, %esi - LONG $0x0294870f; WORD $0x0000 // ja LBB19_64, $660(%rip) - -LBB19_28: - WORD $0xf089 // movl %esi, %eax - LONG $0xe10d8d48; WORD $0x0003; BYTE $0x00 // leaq $993(%rip), %rcx /* LJTI19_1(%rip) */ - LONG $0x81046348 // movslq (%rcx,%rax,4), %rax - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - LONG $0xffc6c749; WORD $0xffff; BYTE $0xff // movq $-1, %r14 - JMP AX - -LBB19_29: - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - WORD $0x8b4d; BYTE $0x38 // movq (%r8), %r15 - LONG $0xff778d4d // leaq $-1(%r15), %r14 - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x8b48; BYTE $0x38 // movq (%rax), %rdi - WORD $0x014c; BYTE $0xf7 // addq %r14, %rdi - LONG $0x08708b48 // movq $8(%rax), %rsi - WORD $0x294c; BYTE $0xf6 // subq %r14, %rsi - LONG $0x0007fde8; BYTE $0x00 // callq _do_skip_number, $2045(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0245880f; WORD $0x0000 // js LBB19_57, $581(%rip) - WORD $0x8b48; BYTE $0x0b // movq (%rbx), %rcx - LONG $0x08448d48; BYTE $0xff // leaq $-1(%rax,%rcx), %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xfe1d8f0f; WORD $0xffff // jg LBB19_39, $-483(%rip) - LONG $0x00023de9; BYTE $0x00 // jmp LBB19_65, $573(%rip) - -LBB19_31: - LONG $0xfff98148; WORD $0x000f; BYTE $0x00 // cmpq $4095, %rcx - LONG $0x01ed8f0f; WORD $0x0000 // jg LBB19_58, $493(%rip) - LONG $0x01418d48 // leaq $1(%rcx), %rax - LONG $0x00458949 // movq %rax, (%r13) - QUAD $0x00000008cd44c749; BYTE $0x00 // movq $0, $8(%r13,%rcx,8) - LONG $0xfffdf5e9; BYTE $0xff // jmp LBB19_39, $-523(%rip) - -LBB19_33: - LONG $0xfff98148; WORD $0x000f; BYTE $0x00 // cmpq $4095, %rcx - LONG $0x01ca8f0f; WORD $0x0000 // jg LBB19_58, $458(%rip) - LONG $0x01418d48 // leaq $1(%rcx), %rax - LONG $0x00458949 // movq %rax, (%r13) - QUAD $0x00000308cd44c749; BYTE $0x00 // movq $3, $8(%r13,%rcx,8) - LONG $0xfffdd2e9; BYTE $0xff // jmp LBB19_39, $-558(%rip) - -LBB19_35: - QUAD $0x00000200cd44c749; BYTE $0x00 // movq $2, (%r13,%rcx,8) - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x8b4d; BYTE $0x38 // movq (%r8), %r15 - WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xd0558d48 // leaq $-48(%rbp), %rdx - LONG $0xb84d8b48 // movq $-72(%rbp), %rcx - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - LONG $0xffefb8e8; BYTE $0xff // callq _advance_string, $-4168(%rip) - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x018a880f; WORD $0x0000 // js LBB19_55, $394(%rip) - WORD $0x894c; BYTE $0x33 // movq %r14, (%rbx) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x01968e0f; WORD $0x0000 // jle LBB19_56, $406(%rip) - LONG $0x00458b49 // movq (%r13), %rax - LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x01628f0f; WORD $0x0000 // jg LBB19_58, $354(%rip) - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x004d8949 // movq %rcx, (%r13) - QUAD $0x00000408c544c749; BYTE $0x00 // movq $4, $8(%r13,%rax,8) - LONG $0xfffd67e9; BYTE $0xff // jmp LBB19_39, $-665(%rip) - -LBB19_40: - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x8b4d; BYTE $0x38 // movq (%r8), %r15 - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - LONG $0xfffe3ee9; BYTE $0xff // jmp LBB19_18, $-450(%rip) - -LBB19_41: - WORD $0x8b4d; BYTE $0x30 // movq (%r8), %r14 - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x8b48; BYTE $0x38 // movq (%rax), %rdi - WORD $0x014c; BYTE $0xf7 // addq %r14, %rdi - LONG $0x08708b48 // movq $8(%rax), %rsi - WORD $0x294c; BYTE $0xf6 // subq %r14, %rsi - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - LONG $0x0006f7e8; BYTE $0x00 // callq _do_skip_number, $1783(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x017f880f; WORD $0x0000 // js LBB19_63, $383(%rip) - WORD $0x0148; BYTE $0x03 // addq %rax, (%rbx) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xfd1f8f0f; WORD $0xffff // jg LBB19_39, $-737(%rip) - LONG $0x000176e9; BYTE $0x00 // jmp LBB19_68, $374(%rip) - -LBB19_43: - LONG $0x00458b49 // movq (%r13), %rax - LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x00ec8f0f; WORD $0x0000 // jg LBB19_58, $236(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x004d8949 // movq %rcx, (%r13) - QUAD $0x00000508c544c749; BYTE $0x00 // movq $5, $8(%r13,%rax,8) - LONG $0xfffcf4e9; BYTE $0xff // jmp LBB19_39, $-780(%rip) - -LBB19_45: - WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - LONG $0xfc518d48 // leaq $-4(%rcx), %rdx - WORD $0x3948; BYTE $0xd0 // cmpq %rdx, %rax - LONG $0x0114870f; WORD $0x0000 // ja LBB19_61, $276(%rip) - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - WORD $0x148b; BYTE $0x01 // movl (%rcx,%rax), %edx - LONG $0x6c61fa81; WORD $0x6573 // cmpl $1702063201, %edx - LONG $0x01d0850f; WORD $0x0000 // jne LBB19_78, $464(%rip) - LONG $0x04488d48 // leaq $4(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xfcb78f0f; WORD $0xffff // jg LBB19_39, $-841(%rip) - LONG $0x0000f8e9; BYTE $0x00 // jmp LBB19_62, $248(%rip) - -LBB19_48: - WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - LONG $0xfd518d48 // leaq $-3(%rcx), %rdx - WORD $0x3948; BYTE $0xd0 // cmpq %rdx, %rax - LONG $0x00d2870f; WORD $0x0000 // ja LBB19_61, $210(%rip) - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - QUAD $0x6c6c756eff017c81 // cmpl $1819047278, $-1(%rcx,%rax) - LONG $0xfc73840f; WORD $0xffff // je LBB19_3, $-909(%rip) - LONG $0x0000e5e9; BYTE $0x00 // jmp LBB19_69, $229(%rip) - -LBB19_50: - WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - LONG $0xfd518d48 // leaq $-3(%rcx), %rdx - WORD $0x3948; BYTE $0xd0 // cmpq %rdx, %rax - LONG $0x00a1870f; WORD $0x0000 // ja LBB19_61, $161(%rip) - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - QUAD $0x65757274ff017c81 // cmpl $1702195828, $-1(%rcx,%rax) - LONG $0xfc42840f; WORD $0xffff // je LBB19_3, $-958(%rip) - LONG $0x000103e9; BYTE $0x00 // jmp LBB19_73, $259(%rip) - -LBB19_52: - LONG $0x00458b49 // movq (%r13), %rax - LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x00228f0f; WORD $0x0000 // jg LBB19_58, $34(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x004d8949 // movq %rcx, (%r13) - QUAD $0x00000608c544c749; BYTE $0x00 // movq $6, $8(%r13,%rax,8) - LONG $0xfffc2ae9; BYTE $0xff // jmp LBB19_39, $-982(%rip) - -LBB19_2: - LONG $0xffc6c749; WORD $0xffff; BYTE $0xff // movq $-1, %r14 - LONG $0x000043e9; BYTE $0x00 // jmp LBB19_65, $67(%rip) - -LBB19_58: - LONG $0xf9c6c749; WORD $0xffff; BYTE $0xff // movq $-7, %r14 - LONG $0x000037e9; BYTE $0x00 // jmp LBB19_65, $55(%rip) - -LBB19_55: - LONG $0xfffe8349 // cmpq $-1, %r14 - LONG $0xd0458d48 // leaq $-48(%rbp), %rax - LONG $0x45440f48; BYTE $0xc0 // cmoveq $-64(%rbp), %rax - WORD $0x8b48; BYTE $0x00 // movq (%rax), %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0x00001fe9; BYTE $0x00 // jmp LBB19_65, $31(%rip) - -LBB19_56: - WORD $0xff49; BYTE $0xcf // decq %r15 - WORD $0x894d; BYTE $0xfe // movq %r15, %r14 - LONG $0x000014e9; BYTE $0x00 // jmp LBB19_65, $20(%rip) - -LBB19_57: - WORD $0x8b48; BYTE $0x0b // movq (%rbx), %rcx - WORD $0x2948; BYTE $0xc1 // subq %rax, %rcx - LONG $0xfec18348 // addq $-2, %rcx - WORD $0x8948; BYTE $0x0b // movq %rcx, (%rbx) - -LBB19_64: - LONG $0xfec6c749; WORD $0xffff; BYTE $0xff // movq $-2, %r14 - -LBB19_65: - WORD $0x894c; BYTE $0xf0 // movq %r14, %rax - LONG $0x28c48348 // addq $40, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB19_61: - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0xffc6c749; WORD $0xffff; BYTE $0xff // movq $-1, %r14 - LONG $0xffffdfe9; BYTE $0xff // jmp LBB19_65, $-33(%rip) - -LBB19_62: - WORD $0xff48; BYTE $0xc8 // decq %rax - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - LONG $0xffffd4e9; BYTE $0xff // jmp LBB19_65, $-44(%rip) - -LBB19_63: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0x03 // addq %rax, (%rbx) - LONG $0xffffc2e9; BYTE $0xff // jmp LBB19_64, $-62(%rip) - -LBB19_68: - WORD $0xff49; BYTE $0xce // decq %r14 - LONG $0xffffc1e9; BYTE $0xff // jmp LBB19_65, $-63(%rip) - -LBB19_69: - LONG $0xff508d48 // leaq $-1(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0xfec6c749; WORD $0xffff; BYTE $0xff // movq $-2, %r14 - LONG $0xff017c80; BYTE $0x6e // cmpb $110, $-1(%rcx,%rax) - LONG $0xffa8850f; WORD $0xffff // jne LBB19_65, $-88(%rip) - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0x75013c80 // cmpb $117, (%rcx,%rax) - LONG $0xff9b850f; WORD $0xffff // jne LBB19_65, $-101(%rip) - LONG $0x01508d48 // leaq $1(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x01017c80; BYTE $0x6c // cmpb $108, $1(%rcx,%rax) - LONG $0xff89850f; WORD $0xffff // jne LBB19_65, $-119(%rip) - LONG $0x02508d48 // leaq $2(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x02017c80; BYTE $0x6c // cmpb $108, $2(%rcx,%rax) - LONG $0xff77850f; WORD $0xffff // jne LBB19_65, $-137(%rip) - LONG $0x00004ae9; BYTE $0x00 // jmp LBB19_77, $74(%rip) - -LBB19_73: - LONG $0xff508d48 // leaq $-1(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0xfec6c749; WORD $0xffff; BYTE $0xff // movq $-2, %r14 - LONG $0xff017c80; BYTE $0x74 // cmpb $116, $-1(%rcx,%rax) - LONG $0xff59850f; WORD $0xffff // jne LBB19_65, $-167(%rip) - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0x72013c80 // cmpb $114, (%rcx,%rax) - LONG $0xff4c850f; WORD $0xffff // jne LBB19_65, $-180(%rip) - LONG $0x01508d48 // leaq $1(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x01017c80; BYTE $0x75 // cmpb $117, $1(%rcx,%rax) - LONG $0xff3a850f; WORD $0xffff // jne LBB19_65, $-198(%rip) - LONG $0x02508d48 // leaq $2(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x02017c80; BYTE $0x65 // cmpb $101, $2(%rcx,%rax) - LONG $0xff28850f; WORD $0xffff // jne LBB19_65, $-216(%rip) - -LBB19_77: - LONG $0x03c08348 // addq $3, %rax - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0xffff1ce9; BYTE $0xff // jmp LBB19_65, $-228(%rip) - -LBB19_78: - LONG $0xfec6c749; WORD $0xffff; BYTE $0xff // movq $-2, %r14 - WORD $0xfa80; BYTE $0x61 // cmpb $97, %dl - LONG $0xff0c850f; WORD $0xffff // jne LBB19_65, $-244(%rip) - LONG $0x01508d48 // leaq $1(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x01017c80; BYTE $0x6c // cmpb $108, $1(%rcx,%rax) - LONG $0xfefa850f; WORD $0xffff // jne LBB19_65, $-262(%rip) - LONG $0x02508d48 // leaq $2(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x02017c80; BYTE $0x73 // cmpb $115, $2(%rcx,%rax) - LONG $0xfee8850f; WORD $0xffff // jne LBB19_65, $-280(%rip) - LONG $0x03508d48 // leaq $3(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x03017c80; BYTE $0x65 // cmpb $101, $3(%rcx,%rax) - LONG $0xfed6850f; WORD $0xffff // jne LBB19_65, $-298(%rip) - LONG $0x04c08348 // addq $4, %rax - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0xfffecae9; BYTE $0xff // jmp LBB19_65, $-310(%rip) - BYTE $0x90 // .p2align 2, 0x90 - - // .set L19_0_set_9, LBB19_9-LJTI19_0 - // .set L19_0_set_13, LBB19_13-LJTI19_0 - // .set L19_0_set_16, LBB19_16-LJTI19_0 - // .set L19_0_set_20, LBB19_20-LJTI19_0 - // .set L19_0_set_22, LBB19_22-LJTI19_0 - // .set L19_0_set_24, LBB19_24-LJTI19_0 -LJTI19_0: - LONG $0xfffffb10 // .long L19_0_set_9 - LONG $0xfffffb49 // .long L19_0_set_13 - LONG $0xfffffb70 // .long L19_0_set_16 - LONG $0xfffffbc2 // .long L19_0_set_20 - LONG $0xfffffbd8 // .long L19_0_set_22 - LONG $0xfffffbf5 // .long L19_0_set_24 - - // .set L19_1_set_65, LBB19_65-LJTI19_1 - // .set L19_1_set_64, LBB19_64-LJTI19_1 - // .set L19_1_set_40, LBB19_40-LJTI19_1 - // .set L19_1_set_41, LBB19_41-LJTI19_1 - // .set L19_1_set_29, LBB19_29-LJTI19_1 - // .set L19_1_set_43, LBB19_43-LJTI19_1 - // .set L19_1_set_45, LBB19_45-LJTI19_1 - // .set L19_1_set_48, LBB19_48-LJTI19_1 - // .set L19_1_set_50, LBB19_50-LJTI19_1 - // .set L19_1_set_52, LBB19_52-LJTI19_1 -LJTI19_1: - LONG $0xfffffeb1 // .long L19_1_set_65 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffd25 // .long L19_1_set_40 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffd39 // .long L19_1_set_41 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffc2f // .long L19_1_set_29 - LONG $0xfffffc2f // .long L19_1_set_29 - LONG $0xfffffc2f // .long L19_1_set_29 - LONG $0xfffffc2f // .long L19_1_set_29 - LONG $0xfffffc2f // .long L19_1_set_29 - LONG $0xfffffc2f // .long L19_1_set_29 - LONG $0xfffffc2f // .long L19_1_set_29 - LONG $0xfffffc2f // .long L19_1_set_29 - LONG $0xfffffc2f // .long L19_1_set_29 - LONG $0xfffffc2f // .long L19_1_set_29 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffd72 // .long L19_1_set_43 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffd98 // .long L19_1_set_45 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffdda // .long L19_1_set_48 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffe0b // .long L19_1_set_50 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffeaa // .long L19_1_set_64 - LONG $0xfffffe3c // .long L19_1_set_52 - QUAD $0x0000000000000000; LONG $0x00000000 // .p2align 4, 0x00 - -LCPI20_0: - QUAD $0x0000000000000001 // .quad 1 - QUAD $0x0000000000000006 // .quad 6 - - // .p2align 4, 0x90 -_skip_object: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - QUAD $0xffffffdb0528f8c5 // vmovaps $-37(%rip), %xmm0 /* LCPI20_0(%rip) */ - LONG $0x0011f8c5 // vmovups %xmm0, (%rax) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - BYTE $0x5d // popq %rbp - LONG $0xfff80ee9; BYTE $0xff // jmp _fsm_exec, $-2034(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_skip_string: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x10ec8348 // subq $16, %rsp - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - QUAD $0xffffffffd845c748 // movq $-1, $-40(%rbp) - WORD $0x8b48; BYTE $0x1e // movq (%rsi), %rbx - LONG $0xd8658d4c // leaq $-40(%rbp), %r12 - WORD $0x8948; BYTE $0xde // movq %rbx, %rsi - WORD $0x894c; BYTE $0xe2 // movq %r12, %rdx - LONG $0xffea2ee8; BYTE $0xff // callq _advance_string, $-5586(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x000e880f; WORD $0x0000 // js LBB21_1, $14(%rip) - WORD $0xff48; BYTE $0xcb // decq %rbx - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - LONG $0x000010e9; BYTE $0x00 // jmp LBB21_3, $16(%rip) - -LBB21_1: - LONG $0x08c78349 // addq $8, %r15 - LONG $0xfff88348 // cmpq $-1, %rax - LONG $0xe7440f4d // cmoveq %r15, %r12 - LONG $0x240c8b49 // movq (%r12), %rcx - -LBB21_3: - WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) - LONG $0x10c48348 // addq $16, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_skip_negative: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8b48; BYTE $0x1e // movq (%rsi), %rbx - WORD $0x8b48; BYTE $0x07 // movq (%rdi), %rax - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - LONG $0x08778b48 // movq $8(%rdi), %rsi - WORD $0x2948; BYTE $0xde // subq %rbx, %rsi - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0x00017ee8; BYTE $0x00 // callq _do_skip_number, $382(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x000b880f; WORD $0x0000 // js LBB22_1, $11(%rip) - WORD $0x0149; BYTE $0x06 // addq %rax, (%r14) - WORD $0xff48; BYTE $0xcb // decq %rbx - LONG $0x00000de9; BYTE $0x00 // jmp LBB22_3, $13(%rip) - -LBB22_1: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0x06 // addq %rax, (%r14) - LONG $0xfec3c748; WORD $0xffff; BYTE $0xff // movq $-2, %rbx - -LBB22_3: - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - LONG $0x00000000; BYTE $0x00 // .p2align 5, 0x00 - -LCPI23_0: - QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' - QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' - -LCPI23_1: - QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' - QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' - -LCPI23_2: - QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' - QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' - -LCPI23_3: - QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' - QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' - -LCPI23_4: - QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' - QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' - -LCPI23_5: - QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' - QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' - -LCPI23_6: - QUAD $0x4545454545454545; QUAD $0x4545454545454545 // .space 16, 'EEEEEEEEEEEEEEEE' - QUAD $0x4545454545454545; QUAD $0x4545454545454545 // .space 16, 'EEEEEEEEEEEEEEEE' - - // .p2align 4, 0x00 -LCPI23_7: - QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' - -LCPI23_8: - QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' - -LCPI23_9: - QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' - -LCPI23_10: - QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' - -LCPI23_11: - QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' - -LCPI23_12: - QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' - -LCPI23_13: - QUAD $0x4545454545454545; QUAD $0x4545454545454545 // .space 16, 'EEEEEEEEEEEEEEEE' - - // .p2align 4, 0x90 -_do_skip_number: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x03a8840f; WORD $0x0000 // je LBB23_52, $936(%rip) - WORD $0x3f80; BYTE $0x30 // cmpb $48, (%rdi) - LONG $0x0033850f; WORD $0x0000 // jne LBB23_5, $51(%rip) - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0x01fe8348 // cmpq $1, %rsi - LONG $0x047c840f; WORD $0x0000 // je LBB23_71, $1148(%rip) - WORD $0x478a; BYTE $0x01 // movb $1(%rdi), %al - WORD $0xd204 // addb $-46, %al - WORD $0x373c // cmpb $55, %al - LONG $0x046f870f; WORD $0x0000 // ja LBB23_71, $1135(%rip) - WORD $0xb60f; BYTE $0xc0 // movzbl %al, %eax - QUAD $0x000000800001b948; WORD $0x0080 // movabsq $36028797027352577, %rcx - LONG $0xc1a30f48 // btq %rax, %rcx - LONG $0x0458830f; WORD $0x0000 // jae LBB23_71, $1112(%rip) - -LBB23_5: - LONG $0xffc1c749; WORD $0xffff; BYTE $0xff // movq $-1, %r9 - LONG $0x20fe8348 // cmpq $32, %rsi - LONG $0x0474820f; WORD $0x0000 // jb LBB23_74, $1140(%rip) - QUAD $0xfffffe49056ffdc5 // vmovdqa $-439(%rip), %ymm0 /* LCPI23_0(%rip) */ - QUAD $0xfffffe610d6ffdc5 // vmovdqa $-415(%rip), %ymm1 /* LCPI23_1(%rip) */ - QUAD $0xfffffe79156ffdc5 // vmovdqa $-391(%rip), %ymm2 /* LCPI23_2(%rip) */ - QUAD $0xfffffe911d6ffdc5 // vmovdqa $-367(%rip), %ymm3 /* LCPI23_3(%rip) */ - QUAD $0xfffffea9256ffdc5 // vmovdqa $-343(%rip), %ymm4 /* LCPI23_4(%rip) */ - QUAD $0xfffffec12d6ffdc5 // vmovdqa $-319(%rip), %ymm5 /* LCPI23_5(%rip) */ - QUAD $0xfffffed9356ffdc5 // vmovdqa $-295(%rip), %ymm6 /* LCPI23_6(%rip) */ - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffc0c749; WORD $0xffff; BYTE $0xff // movq $-1, %r8 - WORD $0x8949; BYTE $0xfa // movq %rdi, %r10 - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB23_7: - LONG $0x6f7ec1c4; BYTE $0x3a // vmovdqu (%r10), %ymm7 - LONG $0xc06445c5 // vpcmpgtb %ymm0, %ymm7, %ymm8 - LONG $0xcf6475c5 // vpcmpgtb %ymm7, %ymm1, %ymm9 - LONG $0xdb3541c4; BYTE $0xc0 // vpand %ymm8, %ymm9, %ymm8 - LONG $0xca7445c5 // vpcmpeqb %ymm2, %ymm7, %ymm9 - LONG $0xd37445c5 // vpcmpeqb %ymm3, %ymm7, %ymm10 - LONG $0xeb2d41c4; BYTE $0xc9 // vpor %ymm9, %ymm10, %ymm9 - LONG $0xd4db45c5 // vpand %ymm4, %ymm7, %ymm10 - LONG $0xd6742dc5 // vpcmpeqb %ymm6, %ymm10, %ymm10 - LONG $0xfd74c5c5 // vpcmpeqb %ymm5, %ymm7, %ymm7 - LONG $0xd7d7fdc5 // vpmovmskb %ymm7, %edx - LONG $0xd77d41c4; BYTE $0xf2 // vpmovmskb %ymm10, %r14d - LONG $0xd77d41c4; BYTE $0xd9 // vpmovmskb %ymm9, %r11d - LONG $0xffebbdc5 // vpor %ymm7, %ymm8, %ymm7 - LONG $0xeb2d41c4; BYTE $0xc1 // vpor %ymm9, %ymm10, %ymm8 - LONG $0xffebbdc5 // vpor %ymm7, %ymm8, %ymm7 - LONG $0xcfd7fdc5 // vpmovmskb %ymm7, %ecx - WORD $0xf748; BYTE $0xd1 // notq %rcx - LONG $0xc9bc0f48 // bsfq %rcx, %rcx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x0014840f; WORD $0x0000 // je LBB23_9, $20(%rip) - LONG $0xffffffbb; BYTE $0xff // movl $-1, %ebx - WORD $0xe3d3 // shll %cl, %ebx - WORD $0xd3f7 // notl %ebx - WORD $0xda21 // andl %ebx, %edx - WORD $0x2141; BYTE $0xde // andl %ebx, %r14d - WORD $0x2144; BYTE $0xdb // andl %r11d, %ebx - WORD $0x8941; BYTE $0xdb // movl %ebx, %r11d - -LBB23_9: - WORD $0x5a8d; BYTE $0xff // leal $-1(%rdx), %ebx - WORD $0xd321 // andl %edx, %ebx - LONG $0x0371850f; WORD $0x0000 // jne LBB23_69, $881(%rip) - LONG $0xff5e8d41 // leal $-1(%r14), %ebx - WORD $0x2144; BYTE $0xf3 // andl %r14d, %ebx - LONG $0x0364850f; WORD $0x0000 // jne LBB23_69, $868(%rip) - LONG $0xff5b8d41 // leal $-1(%r11), %ebx - WORD $0x2144; BYTE $0xdb // andl %r11d, %ebx - LONG $0x0357850f; WORD $0x0000 // jne LBB23_69, $855(%rip) - WORD $0xd285 // testl %edx, %edx - LONG $0x0019840f; WORD $0x0000 // je LBB23_15, $25(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - WORD $0xbc0f; BYTE $0xd2 // bsfl %edx, %edx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0xfff88349 // cmpq $-1, %r8 - LONG $0x0342850f; WORD $0x0000 // jne LBB23_70, $834(%rip) - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - -LBB23_15: - WORD $0x8545; BYTE $0xf6 // testl %r14d, %r14d - LONG $0x001a840f; WORD $0x0000 // je LBB23_18, $26(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - LONG $0xd6bc0f41 // bsfl %r14d, %edx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0xfff88348 // cmpq $-1, %rax - LONG $0x031f850f; WORD $0x0000 // jne LBB23_70, $799(%rip) - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB23_18: - WORD $0x8545; BYTE $0xdb // testl %r11d, %r11d - LONG $0x001a840f; WORD $0x0000 // je LBB23_21, $26(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - LONG $0xd3bc0f41 // bsfl %r11d, %edx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0xfff98349 // cmpq $-1, %r9 - LONG $0x02fc850f; WORD $0x0000 // jne LBB23_70, $764(%rip) - WORD $0x8949; BYTE $0xd1 // movq %rdx, %r9 - -LBB23_21: - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x0213850f; WORD $0x0000 // jne LBB23_53, $531(%rip) - LONG $0x20c28349 // addq $32, %r10 - LONG $0xe0c68348 // addq $-32, %rsi - LONG $0x1ffe8348 // cmpq $31, %rsi - LONG $0xfeeb870f; WORD $0xffff // ja LBB23_7, $-277(%rip) - WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x10fe8348 // cmpq $16, %rsi - LONG $0x014f820f; WORD $0x0000 // jb LBB23_41, $335(%rip) - -LBB23_24: - QUAD $0xfffffdb6056f79c5 // vmovdqa $-586(%rip), %xmm8 /* LCPI23_7(%rip) */ - QUAD $0xfffffdbe0d6f79c5 // vmovdqa $-578(%rip), %xmm9 /* LCPI23_8(%rip) */ - QUAD $0xfffffdc6156f79c5 // vmovdqa $-570(%rip), %xmm10 /* LCPI23_9(%rip) */ - QUAD $0xfffffdce1d6f79c5 // vmovdqa $-562(%rip), %xmm11 /* LCPI23_10(%rip) */ - QUAD $0xfffffdd6256ff9c5 // vmovdqa $-554(%rip), %xmm4 /* LCPI23_11(%rip) */ - QUAD $0xfffffdde2d6ff9c5 // vmovdqa $-546(%rip), %xmm5 /* LCPI23_12(%rip) */ - QUAD $0xfffffde6356ff9c5 // vmovdqa $-538(%rip), %xmm6 /* LCPI23_13(%rip) */ - LONG $0xffffbb41; WORD $0xffff // movl $4294967295, %r11d - - // .p2align 4, 0x90 -LBB23_25: - LONG $0x6f7ac1c4; BYTE $0x3a // vmovdqu (%r10), %xmm7 - LONG $0x6441c1c4; BYTE $0xc0 // vpcmpgtb %xmm8, %xmm7, %xmm0 - LONG $0xcf64b1c5 // vpcmpgtb %xmm7, %xmm9, %xmm1 - LONG $0xc1dbf9c5 // vpand %xmm1, %xmm0, %xmm0 - LONG $0xcf74a9c5 // vpcmpeqb %xmm7, %xmm10, %xmm1 - LONG $0xd774a1c5 // vpcmpeqb %xmm7, %xmm11, %xmm2 - LONG $0xc9ebe9c5 // vpor %xmm1, %xmm2, %xmm1 - LONG $0xd4dbc1c5 // vpand %xmm4, %xmm7, %xmm2 - LONG $0xd674e9c5 // vpcmpeqb %xmm6, %xmm2, %xmm2 - LONG $0xfd74c1c5 // vpcmpeqb %xmm5, %xmm7, %xmm7 - LONG $0xdfebe9c5 // vpor %xmm7, %xmm2, %xmm3 - LONG $0xc0ebf1c5 // vpor %xmm0, %xmm1, %xmm0 - LONG $0xc0ebe1c5 // vpor %xmm0, %xmm3, %xmm0 - LONG $0xd7d7f9c5 // vpmovmskb %xmm7, %edx - LONG $0xfad779c5 // vpmovmskb %xmm2, %r15d - LONG $0xf1d779c5 // vpmovmskb %xmm1, %r14d - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - WORD $0x314c; BYTE $0xd9 // xorq %r11, %rcx - LONG $0xc9bc0f48 // bsfq %rcx, %rcx - WORD $0xf983; BYTE $0x10 // cmpl $16, %ecx - LONG $0x0014840f; WORD $0x0000 // je LBB23_27, $20(%rip) - LONG $0xffffffbb; BYTE $0xff // movl $-1, %ebx - WORD $0xe3d3 // shll %cl, %ebx - WORD $0xd3f7 // notl %ebx - WORD $0xda21 // andl %ebx, %edx - WORD $0x2141; BYTE $0xdf // andl %ebx, %r15d - WORD $0x2144; BYTE $0xf3 // andl %r14d, %ebx - WORD $0x8941; BYTE $0xde // movl %ebx, %r14d - -LBB23_27: - WORD $0x5a8d; BYTE $0xff // leal $-1(%rdx), %ebx - WORD $0xd321 // andl %edx, %ebx - LONG $0x0215850f; WORD $0x0000 // jne LBB23_69, $533(%rip) - LONG $0xff5f8d41 // leal $-1(%r15), %ebx - WORD $0x2144; BYTE $0xfb // andl %r15d, %ebx - LONG $0x0208850f; WORD $0x0000 // jne LBB23_69, $520(%rip) - LONG $0xff5e8d41 // leal $-1(%r14), %ebx - WORD $0x2144; BYTE $0xf3 // andl %r14d, %ebx - LONG $0x01fb850f; WORD $0x0000 // jne LBB23_69, $507(%rip) - WORD $0xd285 // testl %edx, %edx - LONG $0x0019840f; WORD $0x0000 // je LBB23_33, $25(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - WORD $0xbc0f; BYTE $0xd2 // bsfl %edx, %edx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0xfff88349 // cmpq $-1, %r8 - LONG $0x01e6850f; WORD $0x0000 // jne LBB23_70, $486(%rip) - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - -LBB23_33: - WORD $0x8545; BYTE $0xff // testl %r15d, %r15d - LONG $0x001a840f; WORD $0x0000 // je LBB23_36, $26(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - LONG $0xd7bc0f41 // bsfl %r15d, %edx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0xfff88348 // cmpq $-1, %rax - LONG $0x01c3850f; WORD $0x0000 // jne LBB23_70, $451(%rip) - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB23_36: - WORD $0x8545; BYTE $0xf6 // testl %r14d, %r14d - LONG $0x001a840f; WORD $0x0000 // je LBB23_39, $26(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - LONG $0xd6bc0f41 // bsfl %r14d, %edx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0xfff98349 // cmpq $-1, %r9 - LONG $0x01a0850f; WORD $0x0000 // jne LBB23_70, $416(%rip) - WORD $0x8949; BYTE $0xd1 // movq %rdx, %r9 - -LBB23_39: - WORD $0xf983; BYTE $0x10 // cmpl $16, %ecx - LONG $0x00d2850f; WORD $0x0000 // jne LBB23_54, $210(%rip) - LONG $0x10c28349 // addq $16, %r10 - LONG $0xf0c68348 // addq $-16, %rsi - LONG $0x0ffe8348 // cmpq $15, %rsi - LONG $0xfeef870f; WORD $0xffff // ja LBB23_25, $-273(%rip) - -LBB23_41: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x00ba840f; WORD $0x0000 // je LBB23_55, $186(%rip) - LONG $0x321c8d4d // leaq (%r10,%rsi), %r11 - LONG $0xbf1d8d48; WORD $0x0001; BYTE $0x00 // leaq $447(%rip), %rbx /* LJTI23_0(%rip) */ - LONG $0x000012e9; BYTE $0x00 // jmp LBB23_44, $18(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB23_43: - WORD $0x8949; BYTE $0xca // movq %rcx, %r10 - WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x0167840f; WORD $0x0000 // je LBB23_73, $359(%rip) - -LBB23_44: - LONG $0x12be0f41 // movsbl (%r10), %edx - WORD $0xc283; BYTE $0xd5 // addl $-43, %edx - WORD $0xfa83; BYTE $0x3a // cmpl $58, %edx - LONG $0x0088870f; WORD $0x0000 // ja LBB23_55, $136(%rip) - LONG $0x014a8d49 // leaq $1(%r10), %rcx - LONG $0x93146348 // movslq (%rbx,%rdx,4), %rdx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - JMP DX - -LBB23_46: - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0xfff98349 // cmpq $-1, %r9 - LONG $0x0152850f; WORD $0x0000 // jne LBB23_77, $338(%rip) - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0x8949; BYTE $0xd1 // movq %rdx, %r9 - LONG $0xffffbce9; BYTE $0xff // jmp LBB23_43, $-68(%rip) - -LBB23_48: - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0xfff88348 // cmpq $-1, %rax - LONG $0x0137850f; WORD $0x0000 // jne LBB23_77, $311(%rip) - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0xffffa1e9; BYTE $0xff // jmp LBB23_43, $-95(%rip) - -LBB23_50: - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0xfff88349 // cmpq $-1, %r8 - LONG $0x011c850f; WORD $0x0000 // jne LBB23_77, $284(%rip) - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - LONG $0xffff86e9; BYTE $0xff // jmp LBB23_43, $-122(%rip) - -LBB23_52: - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x0000e3e9; BYTE $0x00 // jmp LBB23_72, $227(%rip) - -LBB23_53: - WORD $0x0149; BYTE $0xca // addq %rcx, %r10 - WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0018850f; WORD $0x0000 // jne LBB23_56, $24(%rip) - LONG $0x0000c5e9; BYTE $0x00 // jmp LBB23_71, $197(%rip) - -LBB23_54: - WORD $0x0149; BYTE $0xca // addq %rcx, %r10 - -LBB23_55: - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x00b2840f; WORD $0x0000 // je LBB23_71, $178(%rip) - -LBB23_56: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00a9840f; WORD $0x0000 // je LBB23_71, $169(%rip) - WORD $0x854d; BYTE $0xc0 // testq %r8, %r8 - LONG $0x00a0840f; WORD $0x0000 // je LBB23_71, $160(%rip) - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - LONG $0xff4a8d49 // leaq $-1(%r10), %rcx - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0x0036840f; WORD $0x0000 // je LBB23_64, $54(%rip) - WORD $0x3949; BYTE $0xc8 // cmpq %rcx, %r8 - LONG $0x002d840f; WORD $0x0000 // je LBB23_64, $45(%rip) - WORD $0x3949; BYTE $0xc9 // cmpq %rcx, %r9 - LONG $0x0024840f; WORD $0x0000 // je LBB23_64, $36(%rip) - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00298e0f; WORD $0x0000 // jle LBB23_65, $41(%rip) - LONG $0xff498d49 // leaq $-1(%r9), %rcx - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0x001c840f; WORD $0x0000 // je LBB23_65, $28(%rip) - WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - LONG $0x00005de9; BYTE $0x00 // jmp LBB23_72, $93(%rip) - -LBB23_64: - WORD $0xf749; BYTE $0xda // negq %r10 - WORD $0x894c; BYTE $0xd2 // movq %r10, %rdx - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - LONG $0x00004fe9; BYTE $0x00 // jmp LBB23_72, $79(%rip) - -LBB23_65: - WORD $0x894c; BYTE $0xc1 // movq %r8, %rcx - WORD $0x0948; BYTE $0xc1 // orq %rax, %rcx - WORD $0x3949; BYTE $0xc0 // cmpq %rax, %r8 - LONG $0x00178c0f; WORD $0x0000 // jl LBB23_68, $23(%rip) - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x000e880f; WORD $0x0000 // js LBB23_68, $14(%rip) - WORD $0xf749; BYTE $0xd0 // notq %r8 - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0x000029e9; BYTE $0x00 // jmp LBB23_72, $41(%rip) - -LBB23_68: - LONG $0xff508d48 // leaq $-1(%rax), %rdx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - WORD $0xf748; BYTE $0xd0 // notq %rax - LONG $0xc2480f49 // cmovsq %r10, %rax - WORD $0x3949; BYTE $0xd0 // cmpq %rdx, %r8 - LONG $0xc2450f49 // cmovneq %r10, %rax - LONG $0x00000fe9; BYTE $0x00 // jmp LBB23_72, $15(%rip) - -LBB23_69: - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - WORD $0xbc0f; BYTE $0xd3 // bsfl %ebx, %edx - WORD $0x014c; BYTE $0xd2 // addq %r10, %rdx - -LBB23_70: - WORD $0xf748; BYTE $0xd2 // notq %rdx - -LBB23_71: - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB23_72: - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB23_73: - WORD $0x894d; BYTE $0xda // movq %r11, %r10 - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xff2e850f; WORD $0xffff // jne LBB23_56, $-210(%rip) - LONG $0xffffdbe9; BYTE $0xff // jmp LBB23_71, $-37(%rip) - -LBB23_77: - WORD $0xf748; BYTE $0xda // negq %rdx - LONG $0xffffd3e9; BYTE $0xff // jmp LBB23_71, $-45(%rip) - -LBB23_74: - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffc0c749; WORD $0xffff; BYTE $0xff // movq $-1, %r8 - WORD $0x8949; BYTE $0xfa // movq %rdi, %r10 - LONG $0x10fe8348 // cmpq $16, %rsi - LONG $0xfce4830f; WORD $0xffff // jae LBB23_24, $-796(%rip) - LONG $0xfffe2ee9; BYTE $0xff // jmp LBB23_41, $-466(%rip) - BYTE $0x90 // .p2align 2, 0x90 - - // .set L23_0_set_46, LBB23_46-LJTI23_0 - // .set L23_0_set_55, LBB23_55-LJTI23_0 - // .set L23_0_set_50, LBB23_50-LJTI23_0 - // .set L23_0_set_43, LBB23_43-LJTI23_0 - // .set L23_0_set_48, LBB23_48-LJTI23_0 -LJTI23_0: - LONG $0xfffffe75 // .long L23_0_set_46 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffe75 // .long L23_0_set_46 - LONG $0xfffffeab // .long L23_0_set_50 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffe4c // .long L23_0_set_43 - LONG $0xfffffe4c // .long L23_0_set_43 - LONG $0xfffffe4c // .long L23_0_set_43 - LONG $0xfffffe4c // .long L23_0_set_43 - LONG $0xfffffe4c // .long L23_0_set_43 - LONG $0xfffffe4c // .long L23_0_set_43 - LONG $0xfffffe4c // .long L23_0_set_43 - LONG $0xfffffe4c // .long L23_0_set_43 - LONG $0xfffffe4c // .long L23_0_set_43 - LONG $0xfffffe4c // .long L23_0_set_43 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffe90 // .long L23_0_set_48 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffef0 // .long L23_0_set_55 - LONG $0xfffffe90 // .long L23_0_set_48 - - // .p2align 4, 0x90 -_skip_positive: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8b48; BYTE $0x1e // movq (%rsi), %rbx - WORD $0xff48; BYTE $0xcb // decq %rbx - WORD $0x8b48; BYTE $0x07 // movq (%rdi), %rax - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - LONG $0x08778b48 // movq $8(%rdi), %rsi - WORD $0x2948; BYTE $0xde // subq %rbx, %rsi - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0xfff9fbe8; BYTE $0xff // callq _do_skip_number, $-1541(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x000d880f; WORD $0x0000 // js LBB24_1, $13(%rip) - WORD $0x8b49; BYTE $0x0e // movq (%r14), %rcx - LONG $0x084c8d48; BYTE $0xff // leaq $-1(%rax,%rcx), %rcx - LONG $0x000011e9; BYTE $0x00 // jmp LBB24_3, $17(%rip) - -LBB24_1: - WORD $0x8b49; BYTE $0x0e // movq (%r14), %rcx - WORD $0x2948; BYTE $0xc1 // subq %rax, %rcx - LONG $0xfec18348 // addq $-2, %rcx - LONG $0xfec3c748; WORD $0xffff; BYTE $0xff // movq $-2, %rbx - -LBB24_3: - WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -_skip_number: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8b4c; BYTE $0x27 // movq (%rdi), %r12 - LONG $0x08778b48 // movq $8(%rdi), %rsi - WORD $0x8b4d; BYTE $0x3e // movq (%r14), %r15 - WORD $0xc031 // xorl %eax, %eax - LONG $0x3c3c8043; BYTE $0x2d // cmpb $45, (%r12,%r15) - LONG $0x3c1c8d4b // leaq (%r12,%r15), %rbx - WORD $0x940f; BYTE $0xc0 // sete %al - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - WORD $0x2948; BYTE $0xc6 // subq %rax, %rsi - LONG $0x003b840f; WORD $0x0000 // je LBB25_6, $59(%rip) - WORD $0x3949; BYTE $0xf7 // cmpq %rsi, %r15 - LONG $0x000c830f; WORD $0x0000 // jae LBB25_3, $12(%rip) - WORD $0x038a // movb (%rbx), %al - WORD $0xd004 // addb $-48, %al - WORD $0x093c // cmpb $9, %al - LONG $0x0038870f; WORD $0x0000 // ja LBB25_8, $56(%rip) - -LBB25_3: - WORD $0x8948; BYTE $0xdf // movq %rbx, %rdi - LONG $0xfff971e8; BYTE $0xff // callq _do_skip_number, $-1679(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0021880f; WORD $0x0000 // js LBB25_7, $33(%rip) - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - -LBB25_5: - WORD $0x294c; BYTE $0xe3 // subq %r12, %rbx - WORD $0x8949; BYTE $0x1e // movq %rbx, (%r14) - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB25_6: - LONG $0xffc7c749; WORD $0xffff; BYTE $0xff // movq $-1, %r15 - LONG $0xffffe2e9; BYTE $0xff // jmp LBB25_5, $-30(%rip) - -LBB25_7: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - -LBB25_8: - LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - LONG $0xffffd0e9; BYTE $0xff // jmp LBB25_5, $-48(%rip) - LONG $0x00000000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI26_0: - LONG $0x00000001 // .long 1 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - - // .p2align 4, 0x90 -_skip_one: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - QUAD $0xffffffdb0528f8c5 // vmovaps $-37(%rip), %xmm0 /* LCPI26_0(%rip) */ - LONG $0x0011f8c5 // vmovups %xmm0, (%rax) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - BYTE $0x5d // popq %rbp - LONG $0xffeeeee9; BYTE $0xff // jmp _fsm_exec, $-4370(%rip) - QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000 // .p2align 4, 0x00 - -LCPI27_0: - LONG $0x00000001 // .long 1 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - - // .p2align 4, 0x90 -_validate_one: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - QUAD $0xffffffdb0528f8c5 // vmovaps $-37(%rip), %xmm0 /* LCPI27_0(%rip) */ - LONG $0x0011f8c5 // vmovups %xmm0, (%rax) - LONG $0x000020b9; BYTE $0x00 // movl $32, %ecx - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - BYTE $0x5d // popq %rbp - LONG $0xffeea9e9; BYTE $0xff // jmp _fsm_exec, $-4439(%rip) - QUAD $0x0000000000000000; BYTE $0x00 // .p2align 5, 0x00 - -LCPI28_0: - QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' - QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' - -LCPI28_1: - QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' - QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' - -LCPI28_2: - QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' - QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' - -LCPI28_6: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI28_7: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - -LCPI28_8: - QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' - QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' - -LCPI28_9: - QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' - QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' - -LCPI28_10: - QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' - QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' - - // .p2align 4, 0x00 -LCPI28_3: - QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' - -LCPI28_4: - QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' - -LCPI28_5: - QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' - - // .p2align 4, 0x90 -_skip_one_fast: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0xe0e48348 // andq $-32, %rsp - LONG $0x80ec8148; WORD $0x0000; BYTE $0x00 // subq $128, %rsp - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - WORD $0x8b48; BYTE $0x3f // movq (%rdi), %rdi - LONG $0x08778b49 // movq $8(%r15), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0xffdd03e8; BYTE $0xff // callq _advance_ns, $-8957(%rip) - WORD $0x8b49; BYTE $0x16 // movq (%r14), %rdx - LONG $0xff628d4c // leaq $-1(%rdx), %r12 - WORD $0xbe0f; BYTE $0xc8 // movsbl %al, %ecx - WORD $0xf983; BYTE $0x7b // cmpl $123, %ecx - LONG $0x015d870f; WORD $0x0000 // ja LBB28_23, $349(%rip) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xc6358d48; WORD $0x0008; BYTE $0x00 // leaq $2246(%rip), %rsi /* LJTI28_0(%rip) */ - LONG $0x8e0c6348 // movslq (%rsi,%rcx,4), %rcx - WORD $0x0148; BYTE $0xf1 // addq %rsi, %rcx - JMP CX - -LBB28_2: - WORD $0x8b49; BYTE $0x07 // movq (%r15), %rax - LONG $0x084f8b49 // movq $8(%r15), %rcx - WORD $0x2948; BYTE $0xd1 // subq %rdx, %rcx - WORD $0x0148; BYTE $0xc2 // addq %rax, %rdx - LONG $0x20f98348 // cmpq $32, %rcx - LONG $0x0054820f; WORD $0x0000 // jb LBB28_6, $84(%rip) - QUAD $0xfffffe5a056ffdc5 // vmovdqa $-422(%rip), %ymm0 /* LCPI28_0(%rip) */ - QUAD $0xfffffe720d6ffdc5 // vmovdqa $-398(%rip), %ymm1 /* LCPI28_1(%rip) */ - QUAD $0xfffffe8a156ffdc5 // vmovdqa $-374(%rip), %ymm2 /* LCPI28_2(%rip) */ - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB28_4: - LONG $0x1a6ffec5 // vmovdqu (%rdx), %ymm3 - LONG $0xe074e5c5 // vpcmpeqb %ymm0, %ymm3, %ymm4 - LONG $0xd9dbe5c5 // vpand %ymm1, %ymm3, %ymm3 - LONG $0xda74e5c5 // vpcmpeqb %ymm2, %ymm3, %ymm3 - LONG $0xdcebe5c5 // vpor %ymm4, %ymm3, %ymm3 - LONG $0xf3d7fdc5 // vpmovmskb %ymm3, %esi - WORD $0xf685 // testl %esi, %esi - LONG $0x00b5850f; WORD $0x0000 // jne LBB28_17, $181(%rip) - LONG $0x20c28348 // addq $32, %rdx - LONG $0xe0c18348 // addq $-32, %rcx - LONG $0x1ff98348 // cmpq $31, %rcx - LONG $0xffce870f; WORD $0xffff // ja LBB28_4, $-50(%rip) - -LBB28_6: - LONG $0x10f98348 // cmpq $16, %rcx - LONG $0x0057820f; WORD $0x0000 // jb LBB28_10, $87(%rip) - QUAD $0xfffffefc056ff9c5 // vmovdqa $-260(%rip), %xmm0 /* LCPI28_3(%rip) */ - QUAD $0xffffff040d6ff9c5 // vmovdqa $-252(%rip), %xmm1 /* LCPI28_4(%rip) */ - QUAD $0xffffff0c156ff9c5 // vmovdqa $-244(%rip), %xmm2 /* LCPI28_5(%rip) */ - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB28_8: - LONG $0x1a6ffac5 // vmovdqu (%rdx), %xmm3 - LONG $0xe074e1c5 // vpcmpeqb %xmm0, %xmm3, %xmm4 - LONG $0xd9dbe1c5 // vpand %xmm1, %xmm3, %xmm3 - LONG $0xda74e1c5 // vpcmpeqb %xmm2, %xmm3, %xmm3 - LONG $0xdcebe1c5 // vpor %xmm4, %xmm3, %xmm3 - LONG $0xf3d7f9c5 // vpmovmskb %xmm3, %esi - WORD $0x8566; BYTE $0xf6 // testw %si, %si - LONG $0x0751850f; WORD $0x0000 // jne LBB28_86, $1873(%rip) - LONG $0x10c28348 // addq $16, %rdx - LONG $0xf0c18348 // addq $-16, %rcx - LONG $0x0ff98348 // cmpq $15, %rcx - LONG $0xffcd870f; WORD $0xffff // ja LBB28_8, $-51(%rip) - -LBB28_10: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x075b840f; WORD $0x0000 // je LBB28_87, $1883(%rip) - LONG $0x0a348d48 // leaq (%rdx,%rcx), %rsi - -LBB28_12: - WORD $0xb60f; BYTE $0x1a // movzbl (%rdx), %ebx - WORD $0xfb80; BYTE $0x2c // cmpb $44, %bl - LONG $0x074b840f; WORD $0x0000 // je LBB28_87, $1867(%rip) - WORD $0xfb80; BYTE $0x7d // cmpb $125, %bl - LONG $0x0742840f; WORD $0x0000 // je LBB28_87, $1858(%rip) - WORD $0xfb80; BYTE $0x5d // cmpb $93, %bl - LONG $0x0739840f; WORD $0x0000 // je LBB28_87, $1849(%rip) - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0xff48; BYTE $0xc9 // decq %rcx - LONG $0xffd6850f; WORD $0xffff // jne LBB28_12, $-42(%rip) - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - LONG $0x00000de9; BYTE $0x00 // jmp LBB28_19, $13(%rip) - -LBB28_17: - WORD $0x6348; BYTE $0xce // movslq %esi, %rcx - -LBB28_18: - LONG $0xc9bc0f48 // bsfq %rcx, %rcx - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - WORD $0x0148; BYTE $0xca // addq %rcx, %rdx - -LBB28_19: - WORD $0x8949; BYTE $0x16 // movq %rdx, (%r14) - -LBB28_20: - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - -LBB28_21: - LONG $0xd8658d48 // leaq $-40(%rbp), %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB28_22: - LONG $0x03c28348 // addq $3, %rdx - LONG $0x08573b49 // cmpq $8(%r15), %rdx - LONG $0xffda860f; WORD $0xffff // jbe LBB28_19, $-38(%rip) - LONG $0xffffdbe9; BYTE $0xff // jmp LBB28_21, $-37(%rip) - -LBB28_23: - WORD $0x894d; BYTE $0x26 // movq %r12, (%r14) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xffffcce9; BYTE $0xff // jmp LBB28_21, $-52(%rip) - -LBB28_24: - WORD $0x8b49; BYTE $0x0f // movq (%r15), %rcx - LONG $0x085f8b4d // movq $8(%r15), %r11 - LONG $0x244c8948; BYTE $0x18 // movq %rcx, $24(%rsp) - LONG $0x113c8d4c // leaq (%rcx,%rdx), %r15 - WORD $0x2949; BYTE $0xd3 // subq %rdx, %r11 - LONG $0x20fb8349 // cmpq $32, %r11 - LONG $0x06b08c0f; WORD $0x0000 // jl LBB28_33, $1712(%rip) - LONG $0x000020bb; BYTE $0x00 // movl $32, %ebx - LONG $0xffffb941; WORD $0xffff // movl $4294967295, %r9d - WORD $0xd231 // xorl %edx, %edx - QUAD $0xfffffd52056ffdc5 // vmovdqa $-686(%rip), %ymm0 /* LCPI28_6(%rip) */ - QUAD $0xfffffd6a0d6ffdc5 // vmovdqa $-662(%rip), %ymm1 /* LCPI28_7(%rip) */ - LONG $0xab918d45; WORD $0xaaaa; BYTE $0xaa // leal $-1431655765(%r9), %r10d - WORD $0xff31 // xorl %edi, %edi - LONG $0x000061e9; BYTE $0x00 // jmp LBB28_26, $97(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB28_29: - WORD $0xfe89 // movl %edi, %esi - WORD $0x3144; BYTE $0xce // xorl %r9d, %esi - WORD $0xce21 // andl %ecx, %esi - LONG $0x36048d44 // leal (%rsi,%rsi), %r8d - WORD $0x0941; BYTE $0xf8 // orl %edi, %r8d - WORD $0x8944; BYTE $0xc1 // movl %r8d, %ecx - WORD $0x3144; BYTE $0xd1 // xorl %r10d, %ecx - WORD $0xf121 // andl %esi, %ecx - LONG $0xaaaae181; WORD $0xaaaa // andl $-1431655766, %ecx - WORD $0xff31 // xorl %edi, %edi - WORD $0xf101 // addl %esi, %ecx - LONG $0xc7920f40 // setb %dil - WORD $0xc901 // addl %ecx, %ecx - LONG $0x5555f181; WORD $0x5555 // xorl $1431655765, %ecx - WORD $0x2144; BYTE $0xc1 // andl %r8d, %ecx - WORD $0x3144; BYTE $0xc9 // xorl %r9d, %ecx - WORD $0x2141; BYTE $0xcd // andl %ecx, %r13d - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x0049850f; WORD $0x0000 // jne LBB28_84, $73(%rip) - -LBB28_30: - LONG $0x20c28348 // addq $32, %rdx - LONG $0x1b4c8d49; BYTE $0xe0 // leaq $-32(%r11,%rbx), %rcx - LONG $0xe0c38348 // addq $-32, %rbx - LONG $0x3ff98348 // cmpq $63, %rcx - LONG $0x06158e0f; WORD $0x0000 // jle LBB28_31, $1557(%rip) - -LBB28_26: - LONG $0x6f7ec1c4; WORD $0x1714 // vmovdqu (%r15,%rdx), %ymm2 - LONG $0xd874edc5 // vpcmpeqb %ymm0, %ymm2, %ymm3 - LONG $0xebd77dc5 // vpmovmskb %ymm3, %r13d - LONG $0xd174edc5 // vpcmpeqb %ymm1, %ymm2, %ymm2 - LONG $0xcad7fdc5 // vpmovmskb %ymm2, %ecx - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xff8c850f; WORD $0xffff // jne LBB28_29, $-116(%rip) - WORD $0xc985 // testl %ecx, %ecx - LONG $0xff84850f; WORD $0xffff // jne LBB28_29, $-124(%rip) - WORD $0xff31 // xorl %edi, %edi - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0xffb7840f; WORD $0xffff // je LBB28_30, $-73(%rip) - -LBB28_84: - LONG $0xc5bc0f49 // bsfq %r13, %rax - WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 - WORD $0x0149; BYTE $0xd7 // addq %rdx, %r15 - -LBB28_85: - LONG $0x247c2b4c; BYTE $0x18 // subq $24(%rsp), %r15 - WORD $0xff49; BYTE $0xc7 // incq %r15 - WORD $0x894d; BYTE $0x3e // movq %r15, (%r14) - LONG $0xfffed4e9; BYTE $0xff // jmp LBB28_20, $-300(%rip) - -LBB28_34: - LONG $0x084f8b49 // movq $8(%r15), %rcx - WORD $0x2948; BYTE $0xd1 // subq %rdx, %rcx - WORD $0x0349; BYTE $0x17 // addq (%r15), %rdx - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - QUAD $0xfffffc9a056ffdc5 // vmovdqa $-870(%rip), %ymm0 /* LCPI28_7(%rip) */ - QUAD $0xfffffc720d6ffdc5 // vmovdqa $-910(%rip), %ymm1 /* LCPI28_6(%rip) */ - LONG $0xd276e9c5 // vpcmpeqd %xmm2, %xmm2, %xmm2 - QUAD $0xfffffce61d6ffdc5 // vmovdqa $-794(%rip), %ymm3 /* LCPI28_10(%rip) */ - QUAD $0xfffffc3e256ffdc5 // vmovdqa $-962(%rip), %ymm4 /* LCPI28_2(%rip) */ - LONG $0x573041c4; BYTE $0xc9 // vxorps %xmm9, %xmm9, %xmm9 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - WORD $0xf631 // xorl %esi, %esi - LONG $0x00001ce9; BYTE $0x00 // jmp LBB28_36, $28(%rip) - -LBB28_35: - LONG $0x3ffdc149 // sarq $63, %r13 - LONG $0xb80f49f3; BYTE $0xcb // popcntq %r11, %rcx - WORD $0x0149; BYTE $0xc8 // addq %rcx, %r8 - LONG $0x40c28348 // addq $64, %rdx - LONG $0x244c8b48; BYTE $0x18 // movq $24(%rsp), %rcx - LONG $0xc0c18348 // addq $-64, %rcx - WORD $0x894d; BYTE $0xe9 // movq %r13, %r9 - -LBB28_36: - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0x244c8948; BYTE $0x18 // movq %rcx, $24(%rsp) - LONG $0x012d8c0f; WORD $0x0000 // jl LBB28_43, $301(%rip) - -LBB28_37: - LONG $0x3a6ffec5 // vmovdqu (%rdx), %ymm7 - LONG $0x726ffec5; BYTE $0x20 // vmovdqu $32(%rdx), %ymm6 - LONG $0xc07445c5 // vpcmpeqb %ymm0, %ymm7, %ymm8 - LONG $0xd77dc1c4; BYTE $0xc8 // vpmovmskb %ymm8, %ecx - LONG $0xc0744dc5 // vpcmpeqb %ymm0, %ymm6, %ymm8 - LONG $0xd77dc1c4; BYTE $0xf8 // vpmovmskb %ymm8, %edi - LONG $0x20e7c148 // shlq $32, %rdi - WORD $0x0948; BYTE $0xf9 // orq %rdi, %rcx - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x094c; BYTE $0xd7 // orq %r10, %rdi - LONG $0x004b840f; WORD $0x0000 // je LBB28_39, $75(%rip) - WORD $0x894c; BYTE $0xd7 // movq %r10, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - LONG $0x3f2c8d4c // leaq (%rdi,%rdi), %r13 - WORD $0x094d; BYTE $0xd5 // orq %r10, %r13 - WORD $0x894d; BYTE $0xea // movq %r13, %r10 - QUAD $0xaaaaaaaaaaaabb48; WORD $0xaaaa // movabsq $-6148914691236517206, %rbx - WORD $0x3149; BYTE $0xda // xorq %rbx, %r10 - WORD $0x2148; BYTE $0xd9 // andq %rbx, %rcx - WORD $0x214c; BYTE $0xd1 // andq %r10, %rcx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x0148; BYTE $0xf9 // addq %rdi, %rcx - LONG $0xc2920f41 // setb %r10b - WORD $0x0148; BYTE $0xc9 // addq %rcx, %rcx - QUAD $0x555555555555bf48; WORD $0x5555 // movabsq $6148914691236517205, %rdi - WORD $0x3148; BYTE $0xf9 // xorq %rdi, %rcx - WORD $0x214c; BYTE $0xe9 // andq %r13, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - LONG $0x00000ae9; BYTE $0x00 // jmp LBB28_40, $10(%rip) - -LBB28_39: - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - -LBB28_40: - LONG $0xc1744dc5 // vpcmpeqb %ymm1, %ymm6, %ymm8 - LONG $0xd77dc1c4; BYTE $0xf8 // vpmovmskb %ymm8, %edi - LONG $0x20e7c148 // shlq $32, %rdi - LONG $0xc17445c5 // vpcmpeqb %ymm1, %ymm7, %ymm8 - LONG $0xd77dc1c4; BYTE $0xd8 // vpmovmskb %ymm8, %ebx - WORD $0x0948; BYTE $0xfb // orq %rdi, %rbx - WORD $0x2148; BYTE $0xcb // andq %rcx, %rbx - LONG $0x6ef9e1c4; BYTE $0xeb // vmovq %rbx, %xmm5 - LONG $0x4451e3c4; WORD $0x00ea // vpclmulqdq $0, %xmm2, %xmm5, %xmm5 - LONG $0x7ef9c1c4; BYTE $0xed // vmovq %xmm5, %r13 - WORD $0x314d; BYTE $0xcd // xorq %r9, %r13 - LONG $0xeb74c5c5 // vpcmpeqb %ymm3, %ymm7, %ymm5 - LONG $0xddd77dc5 // vpmovmskb %ymm5, %r11d - LONG $0xeb74cdc5 // vpcmpeqb %ymm3, %ymm6, %ymm5 - LONG $0xfdd7fdc5 // vpmovmskb %ymm5, %edi - LONG $0x20e7c148 // shlq $32, %rdi - WORD $0x0949; BYTE $0xfb // orq %rdi, %r11 - WORD $0x894d; BYTE $0xe9 // movq %r13, %r9 - WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x214d; BYTE $0xcb // andq %r9, %r11 - LONG $0xec74c5c5 // vpcmpeqb %ymm4, %ymm7, %ymm5 - LONG $0xfdd7fdc5 // vpmovmskb %ymm5, %edi - LONG $0xec74cdc5 // vpcmpeqb %ymm4, %ymm6, %ymm5 - LONG $0xddd7fdc5 // vpmovmskb %ymm5, %ebx - LONG $0x20e3c148 // shlq $32, %rbx - WORD $0x0948; BYTE $0xdf // orq %rbx, %rdi - WORD $0x214c; BYTE $0xcf // andq %r9, %rdi - LONG $0xfee3840f; WORD $0xffff // je LBB28_35, $-285(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_41: - LONG $0xff4f8d48 // leaq $-1(%rdi), %rcx - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - WORD $0x214c; BYTE $0xdb // andq %r11, %rbx - LONG $0xb80f48f3; BYTE $0xdb // popcntq %rbx, %rbx - WORD $0x014c; BYTE $0xc3 // addq %r8, %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x0404860f; WORD $0x0000 // jbe LBB28_83, $1028(%rip) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - LONG $0xffd9850f; WORD $0xffff // jne LBB28_41, $-39(%rip) - LONG $0xfffea8e9; BYTE $0xff // jmp LBB28_35, $-344(%rip) - -LBB28_43: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x044a8e0f; WORD $0x0000 // jle LBB28_88, $1098(%rip) - LONG $0x4c297cc5; WORD $0x4024 // vmovaps %ymm9, $64(%rsp) - LONG $0x4c297cc5; WORD $0x2024 // vmovaps %ymm9, $32(%rsp) - WORD $0xd189 // movl %edx, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0fc1f981; WORD $0x0000 // cmpl $4033, %ecx - LONG $0xfeaa820f; WORD $0xffff // jb LBB28_37, $-342(%rip) - LONG $0x247c8348; WORD $0x2018 // cmpq $32, $24(%rsp) - LONG $0x0021820f; WORD $0x0000 // jb LBB28_47, $33(%rip) - LONG $0x2a10fcc5 // vmovups (%rdx), %ymm5 - LONG $0x6c29fcc5; WORD $0x2024 // vmovaps %ymm5, $32(%rsp) - LONG $0x20c28348 // addq $32, %rdx - LONG $0x244c8b48; BYTE $0x18 // movq $24(%rsp), %rcx - LONG $0xe0598d48 // leaq $-32(%rcx), %rbx - LONG $0x247c8d48; BYTE $0x40 // leaq $64(%rsp), %rdi - LONG $0x00000ae9; BYTE $0x00 // jmp LBB28_48, $10(%rip) - -LBB28_47: - LONG $0x247c8d48; BYTE $0x20 // leaq $32(%rsp), %rdi - LONG $0x245c8b48; BYTE $0x18 // movq $24(%rsp), %rbx - -LBB28_48: - LONG $0x10fb8348 // cmpq $16, %rbx - LONG $0x0058820f; WORD $0x0000 // jb LBB28_49, $88(%rip) - LONG $0x2a10f8c5 // vmovups (%rdx), %xmm5 - LONG $0x2f11f8c5 // vmovups %xmm5, (%rdi) - LONG $0x10c28348 // addq $16, %rdx - LONG $0x10c78348 // addq $16, %rdi - LONG $0xf0c38348 // addq $-16, %rbx - LONG $0x08fb8348 // cmpq $8, %rbx - LONG $0x0044830f; WORD $0x0000 // jae LBB28_54, $68(%rip) - -LBB28_50: - LONG $0x04fb8348 // cmpq $4, %rbx - LONG $0x00568c0f; WORD $0x0000 // jl LBB28_51, $86(%rip) - -LBB28_55: - WORD $0x0a8b // movl (%rdx), %ecx - WORD $0x0f89 // movl %ecx, (%rdi) - LONG $0x04c28348 // addq $4, %rdx - LONG $0x04c78348 // addq $4, %rdi - LONG $0xfcc38348 // addq $-4, %rbx - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0x0046830f; WORD $0x0000 // jae LBB28_56, $70(%rip) - -LBB28_52: - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0058850f; WORD $0x0000 // jne LBB28_57, $88(%rip) - LONG $0xfffe11e9; BYTE $0xff // jmp LBB28_37, $-495(%rip) - -LBB28_49: - LONG $0x08fb8348 // cmpq $8, %rbx - LONG $0xffbc820f; WORD $0xffff // jb LBB28_50, $-68(%rip) - -LBB28_54: - WORD $0x8b48; BYTE $0x0a // movq (%rdx), %rcx - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - LONG $0x08c28348 // addq $8, %rdx - LONG $0x08c78348 // addq $8, %rdi - LONG $0xf8c38348 // addq $-8, %rbx - LONG $0x04fb8348 // cmpq $4, %rbx - LONG $0xffaa8d0f; WORD $0xffff // jge LBB28_55, $-86(%rip) - -LBB28_51: - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0xffba820f; WORD $0xffff // jb LBB28_52, $-70(%rip) - -LBB28_56: - WORD $0xb70f; BYTE $0x0a // movzwl (%rdx), %ecx - WORD $0x8966; BYTE $0x0f // movw %cx, (%rdi) - LONG $0x02c28348 // addq $2, %rdx - LONG $0x02c78348 // addq $2, %rdi - LONG $0xfec38348 // addq $-2, %rbx - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xfdbe840f; WORD $0xffff // je LBB28_37, $-578(%rip) - -LBB28_57: - WORD $0x098a // movb (%rcx), %cl - WORD $0x0f88 // movb %cl, (%rdi) - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - LONG $0xfffdb0e9; BYTE $0xff // jmp LBB28_37, $-592(%rip) - -LBB28_58: - LONG $0x04c28348 // addq $4, %rdx - LONG $0x08573b49 // cmpq $8(%r15), %rdx - LONG $0xfc05860f; WORD $0xffff // jbe LBB28_19, $-1019(%rip) - LONG $0xfffc06e9; BYTE $0xff // jmp LBB28_21, $-1018(%rip) - -LBB28_59: - LONG $0x084f8b49 // movq $8(%r15), %rcx - WORD $0x2948; BYTE $0xd1 // subq %rdx, %rcx - WORD $0x0349; BYTE $0x17 // addq (%r15), %rdx - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - QUAD $0xfffff9c9056ffdc5 // vmovdqa $-1591(%rip), %ymm0 /* LCPI28_7(%rip) */ - QUAD $0xfffff9a10d6ffdc5 // vmovdqa $-1631(%rip), %ymm1 /* LCPI28_6(%rip) */ - LONG $0xd276e9c5 // vpcmpeqd %xmm2, %xmm2, %xmm2 - QUAD $0xfffff9d51d6ffdc5 // vmovdqa $-1579(%rip), %ymm3 /* LCPI28_8(%rip) */ - QUAD $0xfffff9ed256ffdc5 // vmovdqa $-1555(%rip), %ymm4 /* LCPI28_9(%rip) */ - LONG $0x573041c4; BYTE $0xc9 // vxorps %xmm9, %xmm9, %xmm9 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - WORD $0xf631 // xorl %esi, %esi - LONG $0x00001ce9; BYTE $0x00 // jmp LBB28_61, $28(%rip) - -LBB28_60: - LONG $0x3ffdc149 // sarq $63, %r13 - LONG $0xb80f49f3; BYTE $0xcb // popcntq %r11, %rcx - WORD $0x0149; BYTE $0xc8 // addq %rcx, %r8 - LONG $0x40c28348 // addq $64, %rdx - LONG $0x244c8b48; BYTE $0x18 // movq $24(%rsp), %rcx - LONG $0xc0c18348 // addq $-64, %rcx - WORD $0x894d; BYTE $0xe9 // movq %r13, %r9 - -LBB28_61: - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0x244c8948; BYTE $0x18 // movq %rcx, $24(%rsp) - LONG $0x012c8c0f; WORD $0x0000 // jl LBB28_68, $300(%rip) - -LBB28_62: - LONG $0x3a6ffec5 // vmovdqu (%rdx), %ymm7 - LONG $0x726ffec5; BYTE $0x20 // vmovdqu $32(%rdx), %ymm6 - LONG $0xc07445c5 // vpcmpeqb %ymm0, %ymm7, %ymm8 - LONG $0xd77dc1c4; BYTE $0xc8 // vpmovmskb %ymm8, %ecx - LONG $0xc0744dc5 // vpcmpeqb %ymm0, %ymm6, %ymm8 - LONG $0xd77dc1c4; BYTE $0xf8 // vpmovmskb %ymm8, %edi - LONG $0x20e7c148 // shlq $32, %rdi - WORD $0x0948; BYTE $0xf9 // orq %rdi, %rcx - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x094c; BYTE $0xd7 // orq %r10, %rdi - LONG $0x004b840f; WORD $0x0000 // je LBB28_64, $75(%rip) - WORD $0x894c; BYTE $0xd7 // movq %r10, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - LONG $0x3f2c8d4c // leaq (%rdi,%rdi), %r13 - WORD $0x094d; BYTE $0xd5 // orq %r10, %r13 - WORD $0x894d; BYTE $0xea // movq %r13, %r10 - QUAD $0xaaaaaaaaaaaabb48; WORD $0xaaaa // movabsq $-6148914691236517206, %rbx - WORD $0x3149; BYTE $0xda // xorq %rbx, %r10 - WORD $0x2148; BYTE $0xd9 // andq %rbx, %rcx - WORD $0x214c; BYTE $0xd1 // andq %r10, %rcx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x0148; BYTE $0xf9 // addq %rdi, %rcx - LONG $0xc2920f41 // setb %r10b - WORD $0x0148; BYTE $0xc9 // addq %rcx, %rcx - QUAD $0x555555555555bf48; WORD $0x5555 // movabsq $6148914691236517205, %rdi - WORD $0x3148; BYTE $0xf9 // xorq %rdi, %rcx - WORD $0x214c; BYTE $0xe9 // andq %r13, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - LONG $0x00000ae9; BYTE $0x00 // jmp LBB28_65, $10(%rip) - -LBB28_64: - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - -LBB28_65: - LONG $0xc1744dc5 // vpcmpeqb %ymm1, %ymm6, %ymm8 - LONG $0xd77dc1c4; BYTE $0xf8 // vpmovmskb %ymm8, %edi - LONG $0x20e7c148 // shlq $32, %rdi - LONG $0xc17445c5 // vpcmpeqb %ymm1, %ymm7, %ymm8 - LONG $0xd77dc1c4; BYTE $0xd8 // vpmovmskb %ymm8, %ebx - WORD $0x0948; BYTE $0xfb // orq %rdi, %rbx - WORD $0x2148; BYTE $0xcb // andq %rcx, %rbx - LONG $0x6ef9e1c4; BYTE $0xeb // vmovq %rbx, %xmm5 - LONG $0x4451e3c4; WORD $0x00ea // vpclmulqdq $0, %xmm2, %xmm5, %xmm5 - LONG $0x7ef9c1c4; BYTE $0xed // vmovq %xmm5, %r13 - WORD $0x314d; BYTE $0xcd // xorq %r9, %r13 - LONG $0xeb74c5c5 // vpcmpeqb %ymm3, %ymm7, %ymm5 - LONG $0xddd77dc5 // vpmovmskb %ymm5, %r11d - LONG $0xeb74cdc5 // vpcmpeqb %ymm3, %ymm6, %ymm5 - LONG $0xfdd7fdc5 // vpmovmskb %ymm5, %edi - LONG $0x20e7c148 // shlq $32, %rdi - WORD $0x0949; BYTE $0xfb // orq %rdi, %r11 - WORD $0x894d; BYTE $0xe9 // movq %r13, %r9 - WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x214d; BYTE $0xcb // andq %r9, %r11 - LONG $0xec74c5c5 // vpcmpeqb %ymm4, %ymm7, %ymm5 - LONG $0xfdd7fdc5 // vpmovmskb %ymm5, %edi - LONG $0xec74cdc5 // vpcmpeqb %ymm4, %ymm6, %ymm5 - LONG $0xddd7fdc5 // vpmovmskb %ymm5, %ebx - LONG $0x20e3c148 // shlq $32, %rbx - WORD $0x0948; BYTE $0xdf // orq %rbx, %rdi - WORD $0x214c; BYTE $0xcf // andq %r9, %rdi - LONG $0xfee3840f; WORD $0xffff // je LBB28_60, $-285(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB28_66: - LONG $0xff4f8d48 // leaq $-1(%rdi), %rcx - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - WORD $0x214c; BYTE $0xdb // andq %r11, %rbx - LONG $0xb80f48f3; BYTE $0xdb // popcntq %rbx, %rbx - WORD $0x014c; BYTE $0xc3 // addq %r8, %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x0134860f; WORD $0x0000 // jbe LBB28_83, $308(%rip) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - LONG $0xffd9850f; WORD $0xffff // jne LBB28_66, $-39(%rip) - LONG $0xfffea9e9; BYTE $0xff // jmp LBB28_60, $-343(%rip) - -LBB28_68: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x017a8e0f; WORD $0x0000 // jle LBB28_88, $378(%rip) - LONG $0x4c297cc5; WORD $0x4024 // vmovaps %ymm9, $64(%rsp) - LONG $0x4c297cc5; WORD $0x2024 // vmovaps %ymm9, $32(%rsp) - WORD $0xd189 // movl %edx, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0fc1f981; WORD $0x0000 // cmpl $4033, %ecx - LONG $0xfeab820f; WORD $0xffff // jb LBB28_62, $-341(%rip) - LONG $0x247c8348; WORD $0x2018 // cmpq $32, $24(%rsp) - LONG $0x0021820f; WORD $0x0000 // jb LBB28_72, $33(%rip) - LONG $0x2a10fcc5 // vmovups (%rdx), %ymm5 - LONG $0x6c29fcc5; WORD $0x2024 // vmovaps %ymm5, $32(%rsp) - LONG $0x20c28348 // addq $32, %rdx - LONG $0x244c8b48; BYTE $0x18 // movq $24(%rsp), %rcx - LONG $0xe0598d48 // leaq $-32(%rcx), %rbx - LONG $0x247c8d48; BYTE $0x40 // leaq $64(%rsp), %rdi - LONG $0x00000ae9; BYTE $0x00 // jmp LBB28_73, $10(%rip) - -LBB28_72: - LONG $0x247c8d48; BYTE $0x20 // leaq $32(%rsp), %rdi - LONG $0x245c8b48; BYTE $0x18 // movq $24(%rsp), %rbx - -LBB28_73: - LONG $0x10fb8348 // cmpq $16, %rbx - LONG $0x0058820f; WORD $0x0000 // jb LBB28_74, $88(%rip) - LONG $0x2a10f8c5 // vmovups (%rdx), %xmm5 - LONG $0x2f11f8c5 // vmovups %xmm5, (%rdi) - LONG $0x10c28348 // addq $16, %rdx - LONG $0x10c78348 // addq $16, %rdi - LONG $0xf0c38348 // addq $-16, %rbx - LONG $0x08fb8348 // cmpq $8, %rbx - LONG $0x0044830f; WORD $0x0000 // jae LBB28_79, $68(%rip) - -LBB28_75: - LONG $0x04fb8348 // cmpq $4, %rbx - LONG $0x00568c0f; WORD $0x0000 // jl LBB28_76, $86(%rip) - -LBB28_80: - WORD $0x0a8b // movl (%rdx), %ecx - WORD $0x0f89 // movl %ecx, (%rdi) - LONG $0x04c28348 // addq $4, %rdx - LONG $0x04c78348 // addq $4, %rdi - LONG $0xfcc38348 // addq $-4, %rbx - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0x0046830f; WORD $0x0000 // jae LBB28_81, $70(%rip) - -LBB28_77: - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0058850f; WORD $0x0000 // jne LBB28_82, $88(%rip) - LONG $0xfffe12e9; BYTE $0xff // jmp LBB28_62, $-494(%rip) - -LBB28_74: - LONG $0x08fb8348 // cmpq $8, %rbx - LONG $0xffbc820f; WORD $0xffff // jb LBB28_75, $-68(%rip) - -LBB28_79: - WORD $0x8b48; BYTE $0x0a // movq (%rdx), %rcx - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - LONG $0x08c28348 // addq $8, %rdx - LONG $0x08c78348 // addq $8, %rdi - LONG $0xf8c38348 // addq $-8, %rbx - LONG $0x04fb8348 // cmpq $4, %rbx - LONG $0xffaa8d0f; WORD $0xffff // jge LBB28_80, $-86(%rip) - -LBB28_76: - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0xffba820f; WORD $0xffff // jb LBB28_77, $-70(%rip) - -LBB28_81: - WORD $0xb70f; BYTE $0x0a // movzwl (%rdx), %ecx - WORD $0x8966; BYTE $0x0f // movw %cx, (%rdi) - LONG $0x02c28348 // addq $2, %rdx - LONG $0x02c78348 // addq $2, %rdi - LONG $0xfec38348 // addq $-2, %rbx - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xfdbf840f; WORD $0xffff // je LBB28_62, $-577(%rip) - -LBB28_82: - WORD $0x098a // movb (%rcx), %cl - WORD $0x0f88 // movb %cl, (%rdi) - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - LONG $0xfffdb1e9; BYTE $0xff // jmp LBB28_62, $-591(%rip) - -LBB28_83: - LONG $0x08478b49 // movq $8(%r15), %rax - LONG $0xcfbc0f48 // bsfq %rdi, %rcx - LONG $0x244c2b48; BYTE $0x18 // subq $24(%rsp), %rcx - LONG $0x01448d48; BYTE $0x01 // leaq $1(%rcx,%rax), %rax - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x084f8b49 // movq $8(%r15), %rcx - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0xc1470f48 // cmovaq %rcx, %rax - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xe0470f4c // cmovaq %rax, %r12 - LONG $0xfff913e9; BYTE $0xff // jmp LBB28_20, $-1773(%rip) - -LBB28_86: - WORD $0xb70f; BYTE $0xce // movzwl %si, %ecx - LONG $0xfff8fee9; BYTE $0xff // jmp LBB28_18, $-1794(%rip) - -LBB28_31: - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0028850f; WORD $0x0000 // jne LBB28_89, $40(%rip) - WORD $0x0149; BYTE $0xd7 // addq %rdx, %r15 - WORD $0x2949; BYTE $0xd3 // subq %rdx, %r11 - -LBB28_33: - WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x005a8f0f; WORD $0x0000 // jg LBB28_93, $90(%rip) - LONG $0xfff8f1e9; BYTE $0xff // jmp LBB28_21, $-1807(%rip) - -LBB28_87: - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - LONG $0xfff8e3e9; BYTE $0xff // jmp LBB28_19, $-1821(%rip) - -LBB28_88: - LONG $0x084f8b49 // movq $8(%r15), %rcx - WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) - LONG $0xfff8dde9; BYTE $0xff // jmp LBB28_21, $-1827(%rip) - -LBB28_89: - WORD $0x3949; BYTE $0xd3 // cmpq %rdx, %r11 - LONG $0xf8d4840f; WORD $0xffff // je LBB28_21, $-1836(%rip) - LONG $0x177c8d4d; BYTE $0x01 // leaq $1(%r15,%rdx), %r15 - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x0149; BYTE $0xd3 // addq %rdx, %r11 - WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x00248f0f; WORD $0x0000 // jg LBB28_93, $36(%rip) - LONG $0xfff8bbe9; BYTE $0xff // jmp LBB28_21, $-1861(%rip) - -LBB28_91: - LONG $0xfec2c748; WORD $0xffff; BYTE $0xff // movq $-2, %rdx - LONG $0x000002b8; BYTE $0x00 // movl $2, %eax - WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x0149; BYTE $0xd3 // addq %rdx, %r11 - LONG $0xf89c8e0f; WORD $0xffff // jle LBB28_21, $-1892(%rip) - -LBB28_93: - LONG $0x07b60f41 // movzbl (%r15), %eax - WORD $0x5c3c // cmpb $92, %al - LONG $0xffd5840f; WORD $0xffff // je LBB28_91, $-43(%rip) - WORD $0x223c // cmpb $34, %al - LONG $0xf9a1840f; WORD $0xffff // je LBB28_85, $-1631(%rip) - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - LONG $0x000001b8; BYTE $0x00 // movl $1, %eax - WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x0149; BYTE $0xd3 // addq %rdx, %r11 - LONG $0xffcd8f0f; WORD $0xffff // jg LBB28_93, $-51(%rip) - LONG $0xfff864e9; BYTE $0xff // jmp LBB28_21, $-1948(%rip) - - // .p2align 2, 0x90 - // .set L28_0_set_21, LBB28_21-LJTI28_0 - // .set L28_0_set_23, LBB28_23-LJTI28_0 - // .set L28_0_set_24, LBB28_24-LJTI28_0 - // .set L28_0_set_2, LBB28_2-LJTI28_0 - // .set L28_0_set_34, LBB28_34-LJTI28_0 - // .set L28_0_set_58, LBB28_58-LJTI28_0 - // .set L28_0_set_22, LBB28_22-LJTI28_0 - // .set L28_0_set_59, LBB28_59-LJTI28_0 -LJTI28_0: - LONG $0xfffff864 // .long L28_0_set_21 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff898 // .long L28_0_set_24 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff743 // .long L28_0_set_2 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff743 // .long L28_0_set_2 - LONG $0xfffff743 // .long L28_0_set_2 - LONG $0xfffff743 // .long L28_0_set_2 - LONG $0xfffff743 // .long L28_0_set_2 - LONG $0xfffff743 // .long L28_0_set_2 - LONG $0xfffff743 // .long L28_0_set_2 - LONG $0xfffff743 // .long L28_0_set_2 - LONG $0xfffff743 // .long L28_0_set_2 - LONG $0xfffff743 // .long L28_0_set_2 - LONG $0xfffff743 // .long L28_0_set_2 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff98d // .long L28_0_set_34 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffffc4b // .long L28_0_set_58 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff876 // .long L28_0_set_22 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff876 // .long L28_0_set_22 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffffc5e // .long L28_0_set_59 - QUAD $0x0000000000000000; LONG $0x00000000 // .p2align 4, 0x00 - -LCPI29_0: - LONG $0x00000001 // .long 1 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - - // .p2align 4, 0x90 -_get_by_path: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x28ec8348 // subq $40, %rsp - WORD $0x8949; BYTE $0xf7 // movq %rsi, %r15 - WORD $0x8949; BYTE $0xfd // movq %rdi, %r13 - LONG $0x08428b48 // movq $8(%rdx), %rax - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x06d1840f; WORD $0x0000 // je LBB29_93, $1745(%rip) - WORD $0x8b4c; BYTE $0x32 // movq (%rdx), %r14 - LONG $0x04e0c148 // shlq $4, %rax - WORD $0x014c; BYTE $0xf0 // addq %r14, %rax - LONG $0xb04d8948 // movq %rcx, $-80(%rbp) - LONG $0xb8458948 // movq %rax, $-72(%rbp) - -LBB29_2: - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffd1cae8; BYTE $0xff // callq _advance_ns, $-11830(%rip) - WORD $0x8b49; BYTE $0x0e // movq (%r14), %rcx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x06fc840f; WORD $0x0000 // je LBB29_99, $1788(%rip) - WORD $0x498a; BYTE $0x17 // movb $23(%rcx), %cl - WORD $0xe180; BYTE $0x1f // andb $31, %cl - WORD $0xf980; BYTE $0x02 // cmpb $2, %cl - LONG $0x05ff840f; WORD $0x0000 // je LBB29_86, $1535(%rip) - WORD $0xf980; BYTE $0x18 // cmpb $24, %cl - LONG $0x06e4850f; WORD $0x0000 // jne LBB29_99, $1764(%rip) - WORD $0x7b3c // cmpb $123, %al - LONG $0xc875894c // movq %r14, $-56(%rbp) - LONG $0x06bf850f; WORD $0x0000 // jne LBB29_97, $1727(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB29_6: - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffd180e8; BYTE $0xff // callq _advance_ns, $-11904(%rip) - WORD $0x223c // cmpb $34, %al - LONG $0x067e850f; WORD $0x0000 // jne LBB29_94, $1662(%rip) - LONG $0x08468b49 // movq $8(%r14), %rax - WORD $0x8b4c; BYTE $0x30 // movq (%rax), %r14 - LONG $0x08608b4c // movq $8(%rax), %r12 - QUAD $0xffffffffc045c748 // movq $-1, $-64(%rbp) - WORD $0x8b49; BYTE $0x1f // movq (%r15), %rbx - WORD $0x894c; BYTE $0xef // movq %r13, %rdi - WORD $0x8948; BYTE $0xde // movq %rbx, %rsi - LONG $0xc0558d48 // leaq $-64(%rbp), %rdx - LONG $0x0027f3e8; BYTE $0x00 // callq _advance_string_default, $10227(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0697880f; WORD $0x0000 // js LBB29_100, $1687(%rip) - WORD $0x8949; BYTE $0x07 // movq %rax, (%r15) - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - LONG $0xfff98348 // cmpq $-1, %rcx - LONG $0x0009840f; WORD $0x0000 // je LBB29_10, $9(%rip) - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x01d48e0f; WORD $0x0000 // jle LBB29_40, $468(%rip) - -LBB29_10: - WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x094c; BYTE $0xe1 // orq %r12, %rcx - LONG $0x008b840f; WORD $0x0000 // je LBB29_18, $139(%rip) - WORD $0x394c; BYTE $0xe0 // cmpq %r12, %rax - LONG $0x0092850f; WORD $0x0000 // jne LBB29_19, $146(%rip) - LONG $0x005d0349 // addq (%r13), %rbx - LONG $0x20fc8349 // cmpq $32, %r12 - LONG $0x0030820f; WORD $0x0000 // jb LBB29_15, $48(%rip) - LONG $0x90909090 // .p2align 4, 0x90 - -LBB29_13: - LONG $0x036ffec5 // vmovdqu (%rbx), %ymm0 - LONG $0x747dc1c4; BYTE $0x06 // vpcmpeqb (%r14), %ymm0, %ymm0 - LONG $0xc0d7fdc5 // vpmovmskb %ymm0, %eax - WORD $0xf883; BYTE $0xff // cmpl $-1, %eax - LONG $0x0139850f; WORD $0x0000 // jne LBB29_34, $313(%rip) - LONG $0x20c38348 // addq $32, %rbx - LONG $0x20c68349 // addq $32, %r14 - LONG $0xe0c48349 // addq $-32, %r12 - LONG $0x1ffc8349 // cmpq $31, %r12 - LONG $0xffd4870f; WORD $0xffff // ja LBB29_13, $-44(%rip) - -LBB29_15: - WORD $0xd889 // movl %ebx, %eax - LONG $0x000fff25; BYTE $0x00 // andl $4095, %eax - WORD $0x8944; BYTE $0xf1 // movl %r14d, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0xe0f98148; WORD $0x000f; BYTE $0x00 // cmpq $4064, %rcx - LONG $0x003e870f; WORD $0x0000 // ja LBB29_20, $62(%rip) - LONG $0x000fe13d; BYTE $0x00 // cmpl $4065, %eax - LONG $0x0033830f; WORD $0x0000 // jae LBB29_20, $51(%rip) - LONG $0x036ffec5 // vmovdqu (%rbx), %ymm0 - LONG $0x747dc1c4; BYTE $0x06 // vpcmpeqb (%r14), %ymm0, %ymm0 - LONG $0xc0d7fdc5 // vpmovmskb %ymm0, %eax - WORD $0xf883; BYTE $0xff // cmpl $-1, %eax - WORD $0x940f; BYTE $0xc1 // sete %cl - WORD $0xd0f7 // notl %eax - LONG $0x00009fe9; BYTE $0x00 // jmp LBB29_27, $159(%rip) - WORD $0x9090 // .p2align 4, 0x90 - -LBB29_18: - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - LONG $0x0000dae9; BYTE $0x00 // jmp LBB29_36, $218(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB29_19: - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0x0000cde9; BYTE $0x00 // jmp LBB29_36, $205(%rip) - -LBB29_20: - LONG $0x10fc8349 // cmpq $16, %r12 - LONG $0x004c820f; WORD $0x0000 // jb LBB29_24, $76(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB29_21: - LONG $0x036ffac5 // vmovdqu (%rbx), %xmm0 - LONG $0x7479c1c4; BYTE $0x06 // vpcmpeqb (%r14), %xmm0, %xmm0 - LONG $0xc0d7f9c5 // vpmovmskb %xmm0, %eax - LONG $0xfff88366 // cmpw $-1, %ax - LONG $0x0098850f; WORD $0x0000 // jne LBB29_34, $152(%rip) - LONG $0x10c38348 // addq $16, %rbx - LONG $0x10c68349 // addq $16, %r14 - LONG $0xf0c48349 // addq $-16, %r12 - LONG $0x0ffc8349 // cmpq $15, %r12 - LONG $0xffd3870f; WORD $0xffff // ja LBB29_21, $-45(%rip) - WORD $0xd889 // movl %ebx, %eax - LONG $0x000fff25; BYTE $0x00 // andl $4095, %eax - WORD $0x8944; BYTE $0xf1 // movl %r14d, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - -LBB29_24: - LONG $0x0ff0f981; WORD $0x0000 // cmpl $4080, %ecx - LONG $0x0035870f; WORD $0x0000 // ja LBB29_29, $53(%rip) - LONG $0x000ff13d; BYTE $0x00 // cmpl $4081, %eax - LONG $0x002a830f; WORD $0x0000 // jae LBB29_29, $42(%rip) - LONG $0x036ffac5 // vmovdqu (%rbx), %xmm0 - LONG $0x7479c1c4; BYTE $0x06 // vpcmpeqb (%r14), %xmm0, %xmm0 - LONG $0xc0d7f9c5 // vpmovmskb %xmm0, %eax - LONG $0xfff88366 // cmpw $-1, %ax - WORD $0x940f; BYTE $0xc1 // sete %cl - WORD $0xd0f7 // notl %eax - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - -LBB29_27: - LONG $0xc0bc0f48 // bsfq %rax, %rax - WORD $0x394c; BYTE $0xe0 // cmpq %r12, %rax - WORD $0x930f; BYTE $0xc0 // setae %al - WORD $0xc808 // orb %cl, %al - LONG $0x000033e9; BYTE $0x00 // jmp LBB29_35, $51(%rip) - -LBB29_29: - WORD $0x01b0 // movb $1, %al - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x0028840f; WORD $0x0000 // je LBB29_35, $40(%rip) - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB29_31: - LONG $0x0b14b60f // movzbl (%rbx,%rcx), %edx - LONG $0x0e143a41 // cmpb (%r14,%rcx), %dl - LONG $0x0011850f; WORD $0x0000 // jne LBB29_34, $17(%rip) - WORD $0xff48; BYTE $0xc1 // incq %rcx - WORD $0x3949; BYTE $0xcc // cmpq %rcx, %r12 - LONG $0xffe6850f; WORD $0xffff // jne LBB29_31, $-26(%rip) - LONG $0x000002e9; BYTE $0x00 // jmp LBB29_35, $2(%rip) - -LBB29_34: - WORD $0xc031 // xorl %eax, %eax - -LBB29_35: - WORD $0xb60f; BYTE $0xd8 // movzbl %al, %ebx - -LBB29_36: - LONG $0xc8758b4c // movq $-56(%rbp), %r14 - LONG $0x007d8b49 // movq (%r13), %rdi - -LBB29_37: - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0xffcf95e8; BYTE $0xff // callq _advance_ns, $-12395(%rip) - WORD $0x3a3c // cmpb $58, %al - LONG $0x04b2850f; WORD $0x0000 // jne LBB29_97, $1202(%rip) - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0454850f; WORD $0x0000 // jne LBB29_92, $1108(%rip) - WORD $0x894c; BYTE $0xef // movq %r13, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xfff249e8; BYTE $0xff // callq _skip_one_fast, $-3511(%rip) - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffcf69e8; BYTE $0xff // callq _advance_ns, $-12439(%rip) - WORD $0x2c3c // cmpb $44, %al - LONG $0xfdd1840f; WORD $0xffff // je LBB29_6, $-559(%rip) - LONG $0x000462e9; BYTE $0x00 // jmp LBB29_94, $1122(%rip) - -LBB29_40: - QUAD $0x00000000d045c748 // movq $0, $-48(%rbp) - LONG $0x007d8b49 // movq (%r13), %rdi - WORD $0x0148; BYTE $0xfb // addq %rdi, %rbx - LONG $0x07448d4c; BYTE $0xff // leaq $-1(%rdi,%rax), %r8 - LONG $0x26148d4f // leaq (%r14,%r12), %r10 - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x03638e0f; WORD $0x0000 // jle LBB29_84, $867(%rip) - WORD $0x3949; BYTE $0xd8 // cmpq %rbx, %r8 - LONG $0x035a860f; WORD $0x0000 // jbe LBB29_84, $858(%rip) - -LBB29_42: - WORD $0x038a // movb (%rbx), %al - WORD $0x5c3c // cmpb $92, %al - LONG $0x0058850f; WORD $0x0000 // jne LBB29_47, $88(%rip) - WORD $0x894c; BYTE $0xc1 // movq %r8, %rcx - WORD $0x2948; BYTE $0xd9 // subq %rbx, %rcx - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x04948e0f; WORD $0x0000 // jle LBB29_104, $1172(%rip) - LONG $0x0153b60f // movzbl $1(%rbx), %edx - LONG $0x17358d48; WORD $0x009d; BYTE $0x00 // leaq $40215(%rip), %rsi /* __UnquoteTab(%rip) */ - LONG $0x321c8a44 // movb (%rdx,%rsi), %r11b - LONG $0xfffb8041 // cmpb $-1, %r11b - LONG $0x003d840f; WORD $0x0000 // je LBB29_49, $61(%rip) - WORD $0x8445; BYTE $0xdb // testb %r11b, %r11b - LONG $0x0460840f; WORD $0x0000 // je LBB29_102, $1120(%rip) - LONG $0xd05d8844 // movb %r11b, $-48(%rbp) - LONG $0x02c38348 // addq $2, %rbx - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0x012c820f; WORD $0x0000 // jb LBB29_60, $300(%rip) - LONG $0x0002d9e9; BYTE $0x00 // jmp LBB29_68, $729(%rip) - -LBB29_47: - WORD $0x3a41; BYTE $0x06 // cmpb (%r14), %al - LONG $0x0306850f; WORD $0x0000 // jne LBB29_85, $774(%rip) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xff49; BYTE $0xc6 // incq %r14 - LONG $0x0002d2e9; BYTE $0x00 // jmp LBB29_70, $722(%rip) - -LBB29_49: - LONG $0x03f98348 // cmpq $3, %rcx - LONG $0x04318e0f; WORD $0x0000 // jle LBB29_103, $1073(%rip) - WORD $0x438b; BYTE $0x02 // movl $2(%rbx), %eax - WORD $0xc289 // movl %eax, %edx - WORD $0xd2f7 // notl %edx - LONG $0xcfd0b08d; WORD $0xcfcf // leal $-808464432(%rax), %esi - LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx - WORD $0xf285 // testl %esi, %edx - LONG $0x03f7850f; WORD $0x0000 // jne LBB29_101, $1015(%rip) - LONG $0x1919b08d; WORD $0x1919 // leal $421075225(%rax), %esi - WORD $0xc609 // orl %eax, %esi - LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi - LONG $0x03e3850f; WORD $0x0000 // jne LBB29_101, $995(%rip) - WORD $0xc689 // movl %eax, %esi - LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi - LONG $0xc0c0b941; WORD $0xc0c0 // movl $-1061109568, %r9d - WORD $0x2941; BYTE $0xf1 // subl %esi, %r9d - LONG $0x469e8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r11d - WORD $0x2141; BYTE $0xd1 // andl %edx, %r9d - WORD $0x8545; BYTE $0xd9 // testl %r11d, %r9d - LONG $0x03bf850f; WORD $0x0000 // jne LBB29_101, $959(%rip) - LONG $0xe0e0b941; WORD $0xe0e0 // movl $-522133280, %r9d - WORD $0x2941; BYTE $0xf1 // subl %esi, %r9d - LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi - WORD $0x2144; BYTE $0xca // andl %r9d, %edx - WORD $0xf285 // testl %esi, %edx - LONG $0x03a5850f; WORD $0x0000 // jne LBB29_101, $933(%rip) - WORD $0xc80f // bswapl %eax - WORD $0xc289 // movl %eax, %edx - WORD $0xeac1; BYTE $0x04 // shrl $4, %edx - WORD $0xd2f7 // notl %edx - LONG $0x0101e281; WORD $0x0101 // andl $16843009, %edx - WORD $0x148d; BYTE $0xd2 // leal (%rdx,%rdx,8), %edx - LONG $0x0f0f0f25; BYTE $0x0f // andl $252645135, %eax - WORD $0xd001 // addl %edx, %eax - WORD $0x8941; BYTE $0xc3 // movl %eax, %r11d - LONG $0x04ebc141 // shrl $4, %r11d - WORD $0x0941; BYTE $0xc3 // orl %eax, %r11d - WORD $0x8944; BYTE $0xde // movl %r11d, %esi - WORD $0xeec1; BYTE $0x08 // shrl $8, %esi - LONG $0xff00e681; WORD $0x0000 // andl $65280, %esi - LONG $0xc3b60f41 // movzbl %r11b, %eax - WORD $0xf009 // orl %esi, %eax - LONG $0x064b8d4c // leaq $6(%rbx), %r9 - WORD $0xf883; BYTE $0x7f // cmpl $127, %eax - LONG $0x00ab860f; WORD $0x0000 // jbe LBB29_72, $171(%rip) - LONG $0x0007ff3d; BYTE $0x00 // cmpl $2047, %eax - LONG $0x00ae860f; WORD $0x0000 // jbe LBB29_73, $174(%rip) - WORD $0x8944; BYTE $0xda // movl %r11d, %edx - LONG $0x0000e281; WORD $0x00f8 // andl $16252928, %edx - LONG $0x0000fa81; WORD $0x00d8 // cmpl $14155776, %edx - LONG $0x00ba840f; WORD $0x0000 // je LBB29_74, $186(%rip) - WORD $0xeec1; BYTE $0x0c // shrl $12, %esi - LONG $0xe0ce8040 // orb $-32, %sil - LONG $0xd0758840 // movb %sil, $-48(%rbp) - WORD $0xe8c1; BYTE $0x06 // shrl $6, %eax - WORD $0x3f24 // andb $63, %al - WORD $0x800c // orb $-128, %al - WORD $0x4588; BYTE $0xd1 // movb %al, $-47(%rbp) - LONG $0x3fe38041 // andb $63, %r11b - LONG $0x80cb8041 // orb $-128, %r11b - LONG $0xd25d8844 // movb %r11b, $-46(%rbp) - LONG $0x000003b9; BYTE $0x00 // movl $3, %ecx - WORD $0x8941; BYTE $0xf3 // movl %esi, %r11d - -LBB29_58: - WORD $0x894c; BYTE $0xcb // movq %r9, %rbx - LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0x01b2830f; WORD $0x0000 // jae LBB29_68, $434(%rip) - -LBB29_60: - LONG $0xd0458d48 // leaq $-48(%rbp), %rax - WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9 - LONG $0x01a5860f; WORD $0x0000 // jbe LBB29_68, $421(%rip) - WORD $0x3845; BYTE $0x1e // cmpb %r11b, (%r14) - LONG $0x019c850f; WORD $0x0000 // jne LBB29_68, $412(%rip) - WORD $0xff49; BYTE $0xc6 // incq %r14 - LONG $0xd1558d48 // leaq $-47(%rbp), %rdx - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi - -LBB29_63: - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x394c; BYTE $0xca // cmpq %r9, %rdx - LONG $0x0187830f; WORD $0x0000 // jae LBB29_69, $391(%rip) - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0x017e830f; WORD $0x0000 // jae LBB29_69, $382(%rip) - LONG $0x06b60f41 // movzbl (%r14), %eax - LONG $0x01768d49 // leaq $1(%r14), %rsi - LONG $0x01518d48 // leaq $1(%rcx), %rdx - WORD $0x013a // cmpb (%rcx), %al - LONG $0xffd4840f; WORD $0xffff // je LBB29_63, $-44(%rip) - LONG $0x000165e9; BYTE $0x00 // jmp LBB29_69, $357(%rip) - -LBB29_72: - LONG $0xd05d8844 // movb %r11b, $-48(%rbp) - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0xffff90e9; BYTE $0xff // jmp LBB29_58, $-112(%rip) - -LBB29_73: - WORD $0xe8c1; BYTE $0x06 // shrl $6, %eax - WORD $0xc00c // orb $-64, %al - WORD $0x4588; BYTE $0xd0 // movb %al, $-48(%rbp) - LONG $0x3fe38041 // andb $63, %r11b - LONG $0x80cb8041 // orb $-128, %r11b - LONG $0xd15d8844 // movb %r11b, $-47(%rbp) - LONG $0x000002b9; BYTE $0x00 // movl $2, %ecx - WORD $0x8941; BYTE $0xc3 // movl %eax, %r11d - LONG $0xffff6fe9; BYTE $0xff // jmp LBB29_58, $-145(%rip) - -LBB29_74: - LONG $0x06f98348 // cmpq $6, %rcx - LONG $0x02b88c0f; WORD $0x0000 // jl LBB29_106, $696(%rip) - LONG $0x00dbff3d; BYTE $0x00 // cmpl $56319, %eax - LONG $0x02ad870f; WORD $0x0000 // ja LBB29_106, $685(%rip) - LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x02a3850f; WORD $0x0000 // jne LBB29_106, $675(%rip) - LONG $0x75077b80 // cmpb $117, $7(%rbx) - LONG $0x0299850f; WORD $0x0000 // jne LBB29_106, $665(%rip) - LONG $0x084b8d4c // leaq $8(%rbx), %r9 - WORD $0x4b8b; BYTE $0x08 // movl $8(%rbx), %ecx - WORD $0xca89 // movl %ecx, %edx - WORD $0xd2f7 // notl %edx - LONG $0xcfd0b18d; WORD $0xcfcf // leal $-808464432(%rcx), %esi - LONG $0x8080e281; WORD $0x8080 // andl $-2139062144, %edx - WORD $0xf285 // testl %esi, %edx - LONG $0x026e850f; WORD $0x0000 // jne LBB29_105, $622(%rip) - LONG $0x1919b18d; WORD $0x1919 // leal $421075225(%rcx), %esi - WORD $0xce09 // orl %ecx, %esi - LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi - LONG $0x025a850f; WORD $0x0000 // jne LBB29_105, $602(%rip) - WORD $0xce89 // movl %ecx, %esi - LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi - LONG $0xc0c0bb41; WORD $0xc0c0 // movl $-1061109568, %r11d - WORD $0x2941; BYTE $0xf3 // subl %esi, %r11d - LONG $0x46a68d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r12d - WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d - WORD $0x8545; BYTE $0xe3 // testl %r12d, %r11d - LONG $0x0236850f; WORD $0x0000 // jne LBB29_105, $566(%rip) - LONG $0xe0e0bb41; WORD $0xe0e0 // movl $-522133280, %r11d - WORD $0x2941; BYTE $0xf3 // subl %esi, %r11d - LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi - WORD $0x2144; BYTE $0xda // andl %r11d, %edx - WORD $0xf285 // testl %esi, %edx - LONG $0x021c850f; WORD $0x0000 // jne LBB29_105, $540(%rip) - WORD $0xc90f // bswapl %ecx - WORD $0xca89 // movl %ecx, %edx - WORD $0xeac1; BYTE $0x04 // shrl $4, %edx - WORD $0xd2f7 // notl %edx - LONG $0x0101e281; WORD $0x0101 // andl $16843009, %edx - WORD $0x148d; BYTE $0xd2 // leal (%rdx,%rdx,8), %edx - LONG $0x0f0fe181; WORD $0x0f0f // andl $252645135, %ecx - WORD $0xd101 // addl %edx, %ecx - WORD $0xca89 // movl %ecx, %edx - WORD $0xeac1; BYTE $0x04 // shrl $4, %edx - WORD $0xca09 // orl %ecx, %edx - WORD $0xd189 // movl %edx, %ecx - LONG $0x0000e181; WORD $0x00fc // andl $16515072, %ecx - LONG $0x0000f981; WORD $0x00dc // cmpl $14417920, %ecx - LONG $0x01f3850f; WORD $0x0000 // jne LBB29_106, $499(%rip) - WORD $0xd189 // movl %edx, %ecx - WORD $0xe9c1; BYTE $0x08 // shrl $8, %ecx - LONG $0xff00e181; WORD $0x0000 // andl $65280, %ecx - WORD $0xb60f; BYTE $0xd2 // movzbl %dl, %edx - WORD $0xca09 // orl %ecx, %edx - WORD $0xe0c1; BYTE $0x0a // shll $10, %eax - LONG $0x0010848d; WORD $0xa024; BYTE $0xfc // leal $-56613888(%rax,%rdx), %eax - WORD $0x8941; BYTE $0xc3 // movl %eax, %r11d - LONG $0x12ebc141 // shrl $18, %r11d - LONG $0xf0cb8041 // orb $-16, %r11b - LONG $0xd05d8844 // movb %r11b, $-48(%rbp) - WORD $0xc189 // movl %eax, %ecx - WORD $0xe9c1; BYTE $0x0c // shrl $12, %ecx - WORD $0xe180; BYTE $0x3f // andb $63, %cl - WORD $0xc980; BYTE $0x80 // orb $-128, %cl - WORD $0x4d88; BYTE $0xd1 // movb %cl, $-47(%rbp) - WORD $0xc189 // movl %eax, %ecx - WORD $0xe9c1; BYTE $0x06 // shrl $6, %ecx - WORD $0xe180; BYTE $0x3f // andb $63, %cl - WORD $0xc980; BYTE $0x80 // orb $-128, %cl - WORD $0x4d88; BYTE $0xd2 // movb %cl, $-46(%rbp) - WORD $0x3f24 // andb $63, %al - WORD $0x800c // orb $-128, %al - WORD $0x4588; BYTE $0xd3 // movb %al, $-45(%rbp) - LONG $0x0cc38348 // addq $12, %rbx - LONG $0x000004b9; BYTE $0x00 // movl $4, %ecx - LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0xfe4e820f; WORD $0xffff // jb LBB29_60, $-434(%rip) - -LBB29_68: - LONG $0xd04d8d48 // leaq $-48(%rbp), %rcx - -LBB29_69: - WORD $0x394c; BYTE $0xc9 // cmpq %r9, %rcx - LONG $0x0029850f; WORD $0x0000 // jne LBB29_85, $41(%rip) - -LBB29_70: - WORD $0x3949; BYTE $0xd8 // cmpq %rbx, %r8 - LONG $0x0009860f; WORD $0x0000 // jbe LBB29_84, $9(%rip) - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0xfca6820f; WORD $0xffff // jb LBB29_42, $-858(%rip) - -LBB29_84: - WORD $0x3149; BYTE $0xd8 // xorq %rbx, %r8 - WORD $0x314d; BYTE $0xd6 // xorq %r10, %r14 - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0x094d; BYTE $0xc6 // orq %r8, %r14 - WORD $0x940f; BYTE $0xc3 // sete %bl - LONG $0xc8758b4c // movq $-56(%rbp), %r14 - LONG $0xfffc1de9; BYTE $0xff // jmp LBB29_37, $-995(%rip) - -LBB29_85: - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0xc8758b4c // movq $-56(%rbp), %r14 - LONG $0xfffc12e9; BYTE $0xff // jmp LBB29_37, $-1006(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB29_86: - WORD $0x5b3c // cmpb $91, %al - LONG $0x00cd850f; WORD $0x0000 // jne LBB29_97, $205(%rip) - LONG $0x08468b49 // movq $8(%r14), %rax - WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00d6880f; WORD $0x0000 // js LBB29_99, $214(%rip) - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffcb88e8; BYTE $0xff // callq _advance_ns, $-13432(%rip) - WORD $0x5d3c // cmpb $93, %al - LONG $0x008e840f; WORD $0x0000 // je LBB29_95, $142(%rip) - WORD $0xff49; BYTE $0x0f // decq (%r15) - WORD $0xff48; BYTE $0xc3 // incq %rbx - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB29_90: - WORD $0xff48; BYTE $0xcb // decq %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00348e0f; WORD $0x0000 // jle LBB29_92, $52(%rip) - WORD $0x894c; BYTE $0xef // movq %r13, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xffee29e8; BYTE $0xff // callq _skip_one_fast, $-4567(%rip) - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0xffcb49e8; BYTE $0xff // callq _advance_ns, $-13495(%rip) - WORD $0x2c3c // cmpb $44, %al - LONG $0xffd1840f; WORD $0xffff // je LBB29_90, $-47(%rip) - LONG $0x000059e9; BYTE $0x00 // jmp LBB29_96, $89(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB29_92: - LONG $0x10c68349 // addq $16, %r14 - LONG $0xb8458b48 // movq $-72(%rbp), %rax - WORD $0x3949; BYTE $0xc6 // cmpq %rax, %r14 - LONG $0xb04d8b48 // movq $-80(%rbp), %rcx - LONG $0xf941850f; WORD $0xffff // jne LBB29_2, $-1727(%rip) - -LBB29_93: - QUAD $0xfffff8f3056ff9c5 // vmovdqa $-1805(%rip), %xmm0 /* LCPI29_0(%rip) */ - LONG $0x017ffac5 // vmovdqu %xmm0, (%rcx) - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - WORD $0xc931 // xorl %ecx, %ecx - LONG $0xffdb3fe8; BYTE $0xff // callq _fsm_exec, $-9409(%rip) - LONG $0x000029e9; BYTE $0x00 // jmp LBB29_98, $41(%rip) - -LBB29_94: - WORD $0x7d3c // cmpb $125, %al - LONG $0x0017850f; WORD $0x0000 // jne LBB29_97, $23(%rip) - -LBB29_95: - WORD $0xff49; BYTE $0x0f // decq (%r15) - LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_98, $18(%rip) - -LBB29_96: - WORD $0x5d3c // cmpb $93, %al - LONG $0xffe9840f; WORD $0xffff // je LBB29_95, $-23(%rip) - -LBB29_97: - WORD $0xff49; BYTE $0x0f // decq (%r15) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - -LBB29_98: - LONG $0x28c48348 // addq $40, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB29_99: - WORD $0xff49; BYTE $0x0f // decq (%r15) - LONG $0xdec0c748; WORD $0xffff; BYTE $0xff // movq $-34, %rax - LONG $0xffffe2e9; BYTE $0xff // jmp LBB29_98, $-30(%rip) - -LBB29_100: - LONG $0x08458b49 // movq $8(%r13), %rax - WORD $0x8949; BYTE $0x07 // movq %rax, (%r15) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffffcfe9; BYTE $0xff // jmp LBB29_98, $-49(%rip) - -LBB29_101: - LONG $0x02c38348 // addq $2, %rbx - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_104, $18(%rip) - -LBB29_102: - WORD $0xff48; BYTE $0xc3 // incq %rbx - LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax - LONG $0x000003e9; BYTE $0x00 // jmp LBB29_104, $3(%rip) - -LBB29_103: - WORD $0xff48; BYTE $0xc3 // incq %rbx - -LBB29_104: - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - WORD $0x8949; BYTE $0x1f // movq %rbx, (%r15) - LONG $0xffffa2e9; BYTE $0xff // jmp LBB29_98, $-94(%rip) - -LBB29_105: - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000007e9; BYTE $0x00 // jmp LBB29_107, $7(%rip) - -LBB29_106: - LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax - -LBB29_107: - WORD $0x894c; BYTE $0xcb // movq %r9, %rbx - LONG $0xffffdae9; BYTE $0xff // jmp LBB29_104, $-38(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -_validate_utf8: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - WORD $0x8b4c; BYTE $0x17 // movq (%rdi), %r10 - LONG $0x085f8b4c // movq $8(%rdi), %r11 - WORD $0x8b48; BYTE $0x0e // movq (%rsi), %rcx - WORD $0x014c; BYTE $0xd1 // addq %r10, %rcx - LONG $0x1a448d4f; BYTE $0xfd // leaq $-3(%r10,%r11), %r8 - LONG $0x000010e9; BYTE $0x00 // jmp LBB30_1, $16(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB30_19: - WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx - -LBB30_1: - WORD $0x394c; BYTE $0xc1 // cmpq %r8, %rcx - LONG $0x00e1830f; WORD $0x0000 // jae LBB30_2, $225(%rip) - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - WORD $0x3980; BYTE $0x00 // cmpb $0, (%rcx) - LONG $0xffe6890f; WORD $0xffff // jns LBB30_19, $-26(%rip) - WORD $0x018b // movl (%rcx), %eax - WORD $0xc789 // movl %eax, %edi - LONG $0xc0f0e781; WORD $0x00c0 // andl $12632304, %edi - LONG $0x80e0ff81; WORD $0x0080 // cmpl $8421600, %edi - LONG $0x0030850f; WORD $0x0000 // jne LBB30_10, $48(%rip) - WORD $0xc789 // movl %eax, %edi - LONG $0x200fe781; WORD $0x0000 // andl $8207, %edi - LONG $0x200dff81; WORD $0x0000 // cmpl $8205, %edi - LONG $0x001c840f; WORD $0x0000 // je LBB30_10, $28(%rip) - LONG $0x000003bb; BYTE $0x00 // movl $3, %ebx - WORD $0xff85 // testl %edi, %edi - LONG $0xffaf850f; WORD $0xffff // jne LBB30_19, $-81(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB30_10: - WORD $0xc789 // movl %eax, %edi - LONG $0xc0e0e781; WORD $0x0000 // andl $49376, %edi - LONG $0x80c0ff81; WORD $0x0000 // cmpl $32960, %edi - LONG $0x0010850f; WORD $0x0000 // jne LBB30_12, $16(%rip) - WORD $0xc789 // movl %eax, %edi - LONG $0x000002bb; BYTE $0x00 // movl $2, %ebx - WORD $0xe783; BYTE $0x1e // andl $30, %edi - LONG $0xff7c850f; WORD $0xffff // jne LBB30_19, $-132(%rip) - -LBB30_12: - WORD $0xc789 // movl %eax, %edi - LONG $0xc0f8e781; WORD $0xc0c0 // andl $-1061109512, %edi - LONG $0x80f0ff81; WORD $0x8080 // cmpl $-2139062032, %edi - LONG $0x0026850f; WORD $0x0000 // jne LBB30_16, $38(%rip) - WORD $0xc789 // movl %eax, %edi - LONG $0x3007e781; WORD $0x0000 // andl $12295, %edi - LONG $0x0018840f; WORD $0x0000 // je LBB30_16, $24(%rip) - LONG $0x000004bb; BYTE $0x00 // movl $4, %ebx - WORD $0x04a8 // testb $4, %al - LONG $0xff4d840f; WORD $0xffff // je LBB30_19, $-179(%rip) - LONG $0x00300325; BYTE $0x00 // andl $12291, %eax - LONG $0xff42840f; WORD $0xffff // je LBB30_19, $-190(%rip) - -LBB30_16: - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x294c; BYTE $0xd7 // subq %r10, %rdi - WORD $0x8b48; BYTE $0x1a // movq (%rdx), %rbx - LONG $0x00fb8148; WORD $0x0010; BYTE $0x00 // cmpq $4096, %rbx - LONG $0x0187830f; WORD $0x0000 // jae LBB30_17, $391(%rip) - WORD $0x6348; BYTE $0xc7 // movslq %edi, %rax - LONG $0x017b8d48 // leaq $1(%rbx), %rdi - WORD $0x8948; BYTE $0x3a // movq %rdi, (%rdx) - LONG $0xda448948; BYTE $0x08 // movq %rax, $8(%rdx,%rbx,8) - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - LONG $0xffff13e9; BYTE $0xff // jmp LBB30_19, $-237(%rip) - -LBB30_2: - WORD $0x014d; BYTE $0xd3 // addq %r10, %r11 - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x013e830f; WORD $0x0000 // jae LBB30_36, $318(%rip) - LONG $0xdc458d4c // leaq $-36(%rbp), %r8 - LONG $0xda4d8d4c // leaq $-38(%rbp), %r9 - LONG $0x000016e9; BYTE $0x00 // jmp LBB30_4, $22(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB30_5: - WORD $0xff48; BYTE $0xc1 // incq %rcx - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x011b830f; WORD $0x0000 // jae LBB30_36, $283(%rip) - -LBB30_4: - WORD $0x3980; BYTE $0x00 // cmpb $0, (%rcx) - LONG $0xffeb890f; WORD $0xffff // jns LBB30_5, $-21(%rip) - LONG $0x00dc45c6 // movb $0, $-36(%rbp) - LONG $0x00da45c6 // movb $0, $-38(%rbp) - WORD $0x894c; BYTE $0xdb // movq %r11, %rbx - WORD $0x2948; BYTE $0xcb // subq %rcx, %rbx - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0x0035820f; WORD $0x0000 // jb LBB30_21, $53(%rip) - LONG $0x21b60f44 // movzbl (%rcx), %r12d - LONG $0x71b60f44; BYTE $0x01 // movzbl $1(%rcx), %r14d - LONG $0xdc658844 // movb %r12b, $-36(%rbp) - LONG $0x02798d4c // leaq $2(%rcx), %r15 - LONG $0xfec38348 // addq $-2, %rbx - WORD $0x894c; BYTE $0xcf // movq %r9, %rdi - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0029840f; WORD $0x0000 // je LBB30_24, $41(%rip) - -LBB30_25: - LONG $0x07b60f41 // movzbl (%r15), %eax - WORD $0x0788 // movb %al, (%rdi) - LONG $0x65b60f44; BYTE $0xdc // movzbl $-36(%rbp), %r12d - LONG $0xda7db60f // movzbl $-38(%rbp), %edi - LONG $0x000017e9; BYTE $0x00 // jmp LBB30_26, $23(%rip) - -LBB30_21: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x894c; BYTE $0xc7 // movq %r8, %rdi - WORD $0x8949; BYTE $0xcf // movq %rcx, %r15 - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xffd7850f; WORD $0xffff // jne LBB30_25, $-41(%rip) - -LBB30_24: - WORD $0xff31 // xorl %edi, %edi - -LBB30_26: - LONG $0xc7b60f40 // movzbl %dil, %eax - WORD $0xe0c1; BYTE $0x10 // shll $16, %eax - LONG $0xdeb60f41 // movzbl %r14b, %ebx - WORD $0xe3c1; BYTE $0x08 // shll $8, %ebx - LONG $0xfcb60f41 // movzbl %r12b, %edi - WORD $0xdf09 // orl %ebx, %edi - WORD $0xf809 // orl %edi, %eax - LONG $0xc0c0f025; BYTE $0x00 // andl $12632304, %eax - LONG $0x8080e03d; BYTE $0x00 // cmpl $8421600, %eax - LONG $0x0021850f; WORD $0x0000 // jne LBB30_29, $33(%rip) - WORD $0xf889 // movl %edi, %eax - LONG $0x00200f25; BYTE $0x00 // andl $8207, %eax - LONG $0x00200d3d; BYTE $0x00 // cmpl $8205, %eax - LONG $0x000f840f; WORD $0x0000 // je LBB30_29, $15(%rip) - LONG $0x000003bb; BYTE $0x00 // movl $3, %ebx - WORD $0xc085 // testl %eax, %eax - LONG $0x0023850f; WORD $0x0000 // jne LBB30_34, $35(%rip) - WORD $0x9090 // .p2align 4, 0x90 - -LBB30_29: - LONG $0x1ec4f641 // testb $30, %r12b - LONG $0x0028840f; WORD $0x0000 // je LBB30_31, $40(%rip) - LONG $0xc0e0e781; WORD $0x0000 // andl $49376, %edi - LONG $0x000002bb; BYTE $0x00 // movl $2, %ebx - LONG $0x80c0ff81; WORD $0x0000 // cmpl $32960, %edi - LONG $0x0011850f; WORD $0x0000 // jne LBB30_31, $17(%rip) - -LBB30_34: - WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0xff1f820f; WORD $0xffff // jb LBB30_4, $-225(%rip) - LONG $0x000035e9; BYTE $0x00 // jmp LBB30_36, $53(%rip) - -LBB30_31: - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - WORD $0x294c; BYTE $0xd0 // subq %r10, %rax - WORD $0x8b48; BYTE $0x3a // movq (%rdx), %rdi - LONG $0x00ff8148; WORD $0x0010; BYTE $0x00 // cmpq $4096, %rdi - LONG $0x0034830f; WORD $0x0000 // jae LBB30_32, $52(%rip) - WORD $0x9848 // cltq - LONG $0x015f8d48 // leaq $1(%rdi), %rbx - WORD $0x8948; BYTE $0x1a // movq %rbx, (%rdx) - LONG $0xfa448948; BYTE $0x08 // movq %rax, $8(%rdx,%rdi,8) - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0xfee5820f; WORD $0xffff // jb LBB30_4, $-283(%rip) - -LBB30_36: - WORD $0x294c; BYTE $0xd1 // subq %r10, %rcx - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - WORD $0xc031 // xorl %eax, %eax - -LBB30_37: - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB30_32: - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffffe4e9; BYTE $0xff // jmp LBB30_37, $-28(%rip) - -LBB30_17: - WORD $0x8948; BYTE $0x3e // movq %rdi, (%rsi) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffffd5e9; BYTE $0xff // jmp LBB30_37, $-43(%rip) - QUAD $0x0000000000000000; QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000 // .p2align 5, 0x00 - -LCPI31_0: - QUAD $0x0f0f0f0f0f0f0f0f; QUAD $0x0f0f0f0f0f0f0f0f // .space 16, '\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f' - QUAD $0x0f0f0f0f0f0f0f0f; QUAD $0x0f0f0f0f0f0f0f0f // .space 16, '\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f' - -LCPI31_1: - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x80 // .byte 128 - BYTE $0x80 // .byte 128 - BYTE $0x80 // .byte 128 - BYTE $0x80 // .byte 128 - BYTE $0x21 // .byte 33 - BYTE $0x01 // .byte 1 - BYTE $0x15 // .byte 21 - BYTE $0x49 // .byte 73 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x02 // .byte 2 - BYTE $0x80 // .byte 128 - BYTE $0x80 // .byte 128 - BYTE $0x80 // .byte 128 - BYTE $0x80 // .byte 128 - BYTE $0x21 // .byte 33 - BYTE $0x01 // .byte 1 - BYTE $0x15 // .byte 21 - BYTE $0x49 // .byte 73 - -LCPI31_2: - BYTE $0xe7 // .byte 231 - BYTE $0xa3 // .byte 163 - BYTE $0x83 // .byte 131 - BYTE $0x83 // .byte 131 - BYTE $0x8b // .byte 139 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xdb // .byte 219 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xe7 // .byte 231 - BYTE $0xa3 // .byte 163 - BYTE $0x83 // .byte 131 - BYTE $0x83 // .byte 131 - BYTE $0x8b // .byte 139 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - BYTE $0xdb // .byte 219 - BYTE $0xcb // .byte 203 - BYTE $0xcb // .byte 203 - -LCPI31_3: - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0xe6 // .byte 230 - BYTE $0xae // .byte 174 - BYTE $0xba // .byte 186 - BYTE $0xba // .byte 186 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0xe6 // .byte 230 - BYTE $0xae // .byte 174 - BYTE $0xba // .byte 186 - BYTE $0xba // .byte 186 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - BYTE $0x01 // .byte 1 - -LCPI31_4: - QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' - QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' - -LCPI31_5: - QUAD $0xefefefefefefefef; QUAD $0xefefefefefefefef // .space 16, '\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef' - QUAD $0xefefefefefefefef; QUAD $0xefefefefefefefef // .space 16, '\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef' - -LCPI31_7: - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xff // .byte 255 - BYTE $0xef // .byte 239 - BYTE $0xdf // .byte 223 - BYTE $0xbf // .byte 191 - -LCPI31_8: - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 3, 0x00 -LCPI31_6: - QUAD $0x8080808080808080 // .quad -9187201950435737472 - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -_validate_utf8_fast: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - LONG $0xe0e48348 // andq $-32, %rsp - LONG $0x80ec8148; WORD $0x0000; BYTE $0x00 // subq $128, %rsp - LONG $0x08478b48 // movq $8(%rdi), %rax - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x079d840f; WORD $0x0000 // je LBB31_69, $1949(%rip) - WORD $0x8b4c; BYTE $0x07 // movq (%rdi), %r8 - LONG $0x00348d4d // leaq (%r8,%rax), %r14 - LONG $0x807e8d49 // leaq $-128(%r14), %rdi - LONG $0xc9eff1c5 // vpxor %xmm1, %xmm1, %xmm1 - LONG $0xd2efe9c5 // vpxor %xmm2, %xmm2, %xmm2 - LONG $0xc0eff9c5 // vpxor %xmm0, %xmm0, %xmm0 - WORD $0x894c; BYTE $0xc6 // movq %r8, %rsi - WORD $0x394c; BYTE $0xc7 // cmpq %r8, %rdi - LONG $0x0373860f; WORD $0x0000 // jbe LBB31_12, $883(%rip) - QUAD $0xfffffea6256ffdc5 // vmovdqa $-346(%rip), %ymm4 /* LCPI31_0(%rip) */ - QUAD $0xfffffede356ffdc5 // vmovdqa $-290(%rip), %ymm6 /* LCPI31_2(%rip) */ - QUAD $0xfffffef63d6ffdc5 // vmovdqa $-266(%rip), %ymm7 /* LCPI31_3(%rip) */ - QUAD $0xffffff0e056f7dc5 // vmovdqa $-242(%rip), %ymm8 /* LCPI31_4(%rip) */ - QUAD $0xffffff260d6f7dc5 // vmovdqa $-218(%rip), %ymm9 /* LCPI31_5(%rip) */ - QUAD $0xffffff3e156f7dc5 // vmovdqa $-194(%rip), %ymm10 /* LCPI31_7(%rip) */ - WORD $0x894c; BYTE $0xc6 // movq %r8, %rsi - LONG $0xc0eff9c5 // vpxor %xmm0, %xmm0, %xmm0 - LONG $0xd2efe9c5 // vpxor %xmm2, %xmm2, %xmm2 - LONG $0xc9eff1c5 // vpxor %xmm1, %xmm1, %xmm1 - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_3: - LONG $0x3e6f7ec5 // vmovdqu (%rsi), %ymm15 - LONG $0x6e6f7ec5; BYTE $0x20 // vmovdqu $32(%rsi), %ymm13 - LONG $0x666f7ec5; BYTE $0x40 // vmovdqu $64(%rsi), %ymm12 - LONG $0x5e6f7ec5; BYTE $0x60 // vmovdqu $96(%rsi), %ymm11 - LONG $0xeb15c1c4; BYTE $0xdf // vpor %ymm15, %ymm13, %ymm3 - LONG $0xeb2541c4; BYTE $0xf4 // vpor %ymm12, %ymm11, %ymm14 - LONG $0xebeb8dc5 // vpor %ymm3, %ymm14, %ymm5 - LONG $0xcdd7fdc5 // vpmovmskb %ymm5, %ecx - WORD $0xc985 // testl %ecx, %ecx - LONG $0x0016850f; WORD $0x0000 // jne LBB31_6, $22(%rip) - LONG $0xc0ebf5c5 // vpor %ymm0, %ymm1, %ymm0 - -LBB31_5: - LONG $0x80ee8348 // subq $-128, %rsi - WORD $0x3948; BYTE $0xfe // cmpq %rdi, %rsi - LONG $0xffc2820f; WORD $0xffff // jb LBB31_3, $-62(%rip) - LONG $0x0002e2e9; BYTE $0x00 // jmp LBB31_12, $738(%rip) - -LBB31_6: - LONG $0xcbd7fdc5 // vpmovmskb %ymm3, %ecx - WORD $0xc985 // testl %ecx, %ecx - LONG $0x00f0850f; WORD $0x0000 // jne LBB31_9, $240(%rip) - LONG $0xc0ebf5c5 // vpor %ymm0, %ymm1, %ymm0 - LONG $0x466dc3c4; WORD $0x21cc // vperm2i128 $33, %ymm12, %ymm2, %ymm1 - LONG $0x0f1de3c4; WORD $0x0fd1 // vpalignr $15, %ymm1, %ymm12, %ymm2 - LONG $0xd271e5c5; BYTE $0x04 // vpsrlw $4, %ymm2, %ymm3 - LONG $0xdcdbe5c5 // vpand %ymm4, %ymm3, %ymm3 - QUAD $0xfffffe10356f7dc5 // vmovdqa $-496(%rip), %ymm14 /* LCPI31_1(%rip) */ - LONG $0x000de2c4; BYTE $0xdb // vpshufb %ymm3, %ymm14, %ymm3 - LONG $0xd4dbedc5 // vpand %ymm4, %ymm2, %ymm2 - LONG $0x004de2c4; BYTE $0xd2 // vpshufb %ymm2, %ymm6, %ymm2 - LONG $0x7155c1c4; WORD $0x04d4 // vpsrlw $4, %ymm12, %ymm5 - LONG $0xecdbd5c5 // vpand %ymm4, %ymm5, %ymm5 - LONG $0x0045e2c4; BYTE $0xed // vpshufb %ymm5, %ymm7, %ymm5 - LONG $0xd5dbedc5 // vpand %ymm5, %ymm2, %ymm2 - LONG $0xd2dbe5c5 // vpand %ymm2, %ymm3, %ymm2 - LONG $0x0f1de3c4; WORD $0x0ed9 // vpalignr $14, %ymm1, %ymm12, %ymm3 - LONG $0x0f1de3c4; WORD $0x0dc9 // vpalignr $13, %ymm1, %ymm12, %ymm1 - LONG $0xd865c1c4; BYTE $0xd8 // vpsubusb %ymm8, %ymm3, %ymm3 - LONG $0xd875c1c4; BYTE $0xc9 // vpsubusb %ymm9, %ymm1, %ymm1 - LONG $0xcbebf5c5 // vpor %ymm3, %ymm1, %ymm1 - LONG $0xef1141c4; BYTE $0xed // vpxor %xmm13, %xmm13, %xmm13 - LONG $0xc97495c5 // vpcmpeqb %ymm1, %ymm13, %ymm1 - QUAD $0xfffe9f1d597de2c4; BYTE $0xff // vpbroadcastq $-353(%rip), %ymm3 /* LCPI31_6(%rip) */ - LONG $0xcbdff5c5 // vpandn %ymm3, %ymm1, %ymm1 - LONG $0xcaeff5c5 // vpxor %ymm2, %ymm1, %ymm1 - LONG $0xc1ebfdc5 // vpor %ymm1, %ymm0, %ymm0 - LONG $0x461dc3c4; WORD $0x21cb // vperm2i128 $33, %ymm11, %ymm12, %ymm1 - LONG $0x0f25e3c4; WORD $0x0fd1 // vpalignr $15, %ymm1, %ymm11, %ymm2 - LONG $0xd271d5c5; BYTE $0x04 // vpsrlw $4, %ymm2, %ymm5 - LONG $0xecdbd5c5 // vpand %ymm4, %ymm5, %ymm5 - LONG $0x000de2c4; BYTE $0xed // vpshufb %ymm5, %ymm14, %ymm5 - LONG $0xd4dbedc5 // vpand %ymm4, %ymm2, %ymm2 - LONG $0x004de2c4; BYTE $0xd2 // vpshufb %ymm2, %ymm6, %ymm2 - LONG $0x711dc1c4; WORD $0x04d3 // vpsrlw $4, %ymm11, %ymm12 - LONG $0xe4db1dc5 // vpand %ymm4, %ymm12, %ymm12 - LONG $0x004542c4; BYTE $0xe4 // vpshufb %ymm12, %ymm7, %ymm12 - LONG $0xd2db9dc5 // vpand %ymm2, %ymm12, %ymm2 - LONG $0xd2dbd5c5 // vpand %ymm2, %ymm5, %ymm2 - LONG $0x0f25e3c4; WORD $0x0ee9 // vpalignr $14, %ymm1, %ymm11, %ymm5 - LONG $0x0f25e3c4; WORD $0x0dc9 // vpalignr $13, %ymm1, %ymm11, %ymm1 - LONG $0xd855c1c4; BYTE $0xe8 // vpsubusb %ymm8, %ymm5, %ymm5 - LONG $0xd875c1c4; BYTE $0xc9 // vpsubusb %ymm9, %ymm1, %ymm1 - LONG $0xcdebf5c5 // vpor %ymm5, %ymm1, %ymm1 - LONG $0xc97495c5 // vpcmpeqb %ymm1, %ymm13, %ymm1 - LONG $0xcbdff5c5 // vpandn %ymm3, %ymm1, %ymm1 - LONG $0xcaeff5c5 // vpxor %ymm2, %ymm1, %ymm1 - -LBB31_8: - LONG $0xc1ebfdc5 // vpor %ymm1, %ymm0, %ymm0 - LONG $0xd825c1c4; BYTE $0xca // vpsubusb %ymm10, %ymm11, %ymm1 - LONG $0xda7f7dc5 // vmovdqa %ymm11, %ymm2 - LONG $0xfffef2e9; BYTE $0xff // jmp LBB31_5, $-270(%rip) - -LBB31_9: - LONG $0x466dc3c4; WORD $0x21cf // vperm2i128 $33, %ymm15, %ymm2, %ymm1 - LONG $0x0f05e3c4; WORD $0x0fd1 // vpalignr $15, %ymm1, %ymm15, %ymm2 - LONG $0xd271e5c5; BYTE $0x04 // vpsrlw $4, %ymm2, %ymm3 - LONG $0xdcdbe5c5 // vpand %ymm4, %ymm3, %ymm3 - QUAD $0xfffffd242d6ffdc5 // vmovdqa $-732(%rip), %ymm5 /* LCPI31_1(%rip) */ - LONG $0x0055e2c4; BYTE $0xdb // vpshufb %ymm3, %ymm5, %ymm3 - LONG $0xd4dbedc5 // vpand %ymm4, %ymm2, %ymm2 - LONG $0x004de2c4; BYTE $0xd2 // vpshufb %ymm2, %ymm6, %ymm2 - LONG $0x7155c1c4; WORD $0x04d7 // vpsrlw $4, %ymm15, %ymm5 - LONG $0xecdbd5c5 // vpand %ymm4, %ymm5, %ymm5 - LONG $0x0045e2c4; BYTE $0xed // vpshufb %ymm5, %ymm7, %ymm5 - LONG $0xd5dbedc5 // vpand %ymm5, %ymm2, %ymm2 - LONG $0xd2dbe5c5 // vpand %ymm2, %ymm3, %ymm2 - LONG $0x0f05e3c4; WORD $0x0ed9 // vpalignr $14, %ymm1, %ymm15, %ymm3 - LONG $0x0f05e3c4; WORD $0x0dc9 // vpalignr $13, %ymm1, %ymm15, %ymm1 - LONG $0xd865c1c4; BYTE $0xd8 // vpsubusb %ymm8, %ymm3, %ymm3 - LONG $0xd875c1c4; BYTE $0xc9 // vpsubusb %ymm9, %ymm1, %ymm1 - LONG $0xcbebf5c5 // vpor %ymm3, %ymm1, %ymm1 - LONG $0xdbefe1c5 // vpxor %xmm3, %xmm3, %xmm3 - LONG $0xdb74f5c5 // vpcmpeqb %ymm3, %ymm1, %ymm3 - QUAD $0xfffdb40d597de2c4; BYTE $0xff // vpbroadcastq $-588(%rip), %ymm1 /* LCPI31_6(%rip) */ - LONG $0xd9dfe5c5 // vpandn %ymm1, %ymm3, %ymm3 - LONG $0xd2efe5c5 // vpxor %ymm2, %ymm3, %ymm2 - LONG $0x547ffdc5; WORD $0x6024 // vmovdqa %ymm2, $96(%rsp) - LONG $0x4605c3c4; WORD $0x21dd // vperm2i128 $33, %ymm13, %ymm15, %ymm3 - LONG $0x0f15e3c4; WORD $0x0feb // vpalignr $15, %ymm3, %ymm13, %ymm5 - LONG $0xd57185c5; BYTE $0x04 // vpsrlw $4, %ymm5, %ymm15 - LONG $0xfcdb05c5 // vpand %ymm4, %ymm15, %ymm15 - QUAD $0xfffffca9156ffdc5 // vmovdqa $-855(%rip), %ymm2 /* LCPI31_1(%rip) */ - LONG $0x006d42c4; BYTE $0xff // vpshufb %ymm15, %ymm2, %ymm15 - LONG $0xecdbd5c5 // vpand %ymm4, %ymm5, %ymm5 - LONG $0x004de2c4; BYTE $0xed // vpshufb %ymm5, %ymm6, %ymm5 - LONG $0x716dc1c4; WORD $0x04d5 // vpsrlw $4, %ymm13, %ymm2 - LONG $0xd4dbedc5 // vpand %ymm4, %ymm2, %ymm2 - LONG $0x0045e2c4; BYTE $0xd2 // vpshufb %ymm2, %ymm7, %ymm2 - LONG $0xd2dbd5c5 // vpand %ymm2, %ymm5, %ymm2 - LONG $0xd2db85c5 // vpand %ymm2, %ymm15, %ymm2 - LONG $0x0f15e3c4; WORD $0x0eeb // vpalignr $14, %ymm3, %ymm13, %ymm5 - LONG $0x0f15e3c4; WORD $0x0ddb // vpalignr $13, %ymm3, %ymm13, %ymm3 - LONG $0xd855c1c4; BYTE $0xe8 // vpsubusb %ymm8, %ymm5, %ymm5 - LONG $0xd865c1c4; BYTE $0xd9 // vpsubusb %ymm9, %ymm3, %ymm3 - LONG $0xddebe5c5 // vpor %ymm5, %ymm3, %ymm3 - QUAD $0xfffffd221d74e5c5 // vpcmpeqb $-734(%rip), %ymm3, %ymm3 /* LCPI31_8(%rip) */ - LONG $0xd9dfe5c5 // vpandn %ymm1, %ymm3, %ymm3 - LONG $0xd2efe5c5 // vpxor %ymm2, %ymm3, %ymm2 - LONG $0x44ebfdc5; WORD $0x6024 // vpor $96(%rsp), %ymm0, %ymm0 - LONG $0xc2ebfdc5 // vpor %ymm2, %ymm0, %ymm0 - LONG $0xd77dc1c4; BYTE $0xce // vpmovmskb %ymm14, %ecx - WORD $0xc985 // testl %ecx, %ecx - LONG $0x00d6840f; WORD $0x0000 // je LBB31_11, $214(%rip) - LONG $0x4615c3c4; WORD $0x21d4 // vperm2i128 $33, %ymm12, %ymm13, %ymm2 - LONG $0x0f1de3c4; WORD $0x0fda // vpalignr $15, %ymm2, %ymm12, %ymm3 - LONG $0xd371d5c5; BYTE $0x04 // vpsrlw $4, %ymm3, %ymm5 - LONG $0xecdbd5c5 // vpand %ymm4, %ymm5, %ymm5 - QUAD $0xfffffc263d6f7dc5 // vmovdqa $-986(%rip), %ymm15 /* LCPI31_1(%rip) */ - LONG $0x0005e2c4; BYTE $0xed // vpshufb %ymm5, %ymm15, %ymm5 - LONG $0xdcdbe5c5 // vpand %ymm4, %ymm3, %ymm3 - LONG $0x004de2c4; BYTE $0xdb // vpshufb %ymm3, %ymm6, %ymm3 - LONG $0x7115c1c4; WORD $0x04d4 // vpsrlw $4, %ymm12, %ymm13 - LONG $0xecdb15c5 // vpand %ymm4, %ymm13, %ymm13 - LONG $0x004542c4; BYTE $0xed // vpshufb %ymm13, %ymm7, %ymm13 - LONG $0xdbdb95c5 // vpand %ymm3, %ymm13, %ymm3 - LONG $0xdbdbd5c5 // vpand %ymm3, %ymm5, %ymm3 - LONG $0x0f1de3c4; WORD $0x0eea // vpalignr $14, %ymm2, %ymm12, %ymm5 - LONG $0x0f1de3c4; WORD $0x0dd2 // vpalignr $13, %ymm2, %ymm12, %ymm2 - LONG $0xd855c1c4; BYTE $0xe8 // vpsubusb %ymm8, %ymm5, %ymm5 - LONG $0xd86dc1c4; BYTE $0xd1 // vpsubusb %ymm9, %ymm2, %ymm2 - LONG $0xd5ebedc5 // vpor %ymm5, %ymm2, %ymm2 - LONG $0xef0941c4; BYTE $0xf6 // vpxor %xmm14, %xmm14, %xmm14 - LONG $0xd2748dc5 // vpcmpeqb %ymm2, %ymm14, %ymm2 - LONG $0xd1dfedc5 // vpandn %ymm1, %ymm2, %ymm2 - LONG $0xd3efedc5 // vpxor %ymm3, %ymm2, %ymm2 - LONG $0x461dc3c4; WORD $0x21db // vperm2i128 $33, %ymm11, %ymm12, %ymm3 - LONG $0x0f25e3c4; WORD $0x0feb // vpalignr $15, %ymm3, %ymm11, %ymm5 - LONG $0xd5719dc5; BYTE $0x04 // vpsrlw $4, %ymm5, %ymm12 - LONG $0xe4db1dc5 // vpand %ymm4, %ymm12, %ymm12 - LONG $0x000542c4; BYTE $0xe4 // vpshufb %ymm12, %ymm15, %ymm12 - LONG $0xecdbd5c5 // vpand %ymm4, %ymm5, %ymm5 - LONG $0x004de2c4; BYTE $0xed // vpshufb %ymm5, %ymm6, %ymm5 - LONG $0x7115c1c4; WORD $0x04d3 // vpsrlw $4, %ymm11, %ymm13 - LONG $0xecdb15c5 // vpand %ymm4, %ymm13, %ymm13 - LONG $0x004542c4; BYTE $0xed // vpshufb %ymm13, %ymm7, %ymm13 - LONG $0xeddb95c5 // vpand %ymm5, %ymm13, %ymm5 - LONG $0xeddb9dc5 // vpand %ymm5, %ymm12, %ymm5 - LONG $0x0f2563c4; WORD $0x0ee3 // vpalignr $14, %ymm3, %ymm11, %ymm12 - LONG $0x0f25e3c4; WORD $0x0ddb // vpalignr $13, %ymm3, %ymm11, %ymm3 - LONG $0xd81d41c4; BYTE $0xe0 // vpsubusb %ymm8, %ymm12, %ymm12 - LONG $0xd865c1c4; BYTE $0xd9 // vpsubusb %ymm9, %ymm3, %ymm3 - LONG $0xdbeb9dc5 // vpor %ymm3, %ymm12, %ymm3 - LONG $0xdb748dc5 // vpcmpeqb %ymm3, %ymm14, %ymm3 - LONG $0xc9dfe5c5 // vpandn %ymm1, %ymm3, %ymm1 - LONG $0xcdeff5c5 // vpxor %ymm5, %ymm1, %ymm1 - LONG $0xc0ebedc5 // vpor %ymm0, %ymm2, %ymm0 - LONG $0xfffe1ae9; BYTE $0xff // jmp LBB31_8, $-486(%rip) - -LBB31_11: - LONG $0xd815c1c4; BYTE $0xca // vpsubusb %ymm10, %ymm13, %ymm1 - LONG $0xc1ebfdc5 // vpor %ymm1, %ymm0, %ymm0 - LONG $0xea7f7dc5 // vmovdqa %ymm13, %ymm2 - LONG $0xfffd0ce9; BYTE $0xff // jmp LBB31_5, $-756(%rip) - -LBB31_12: - LONG $0xc07e8d49 // leaq $-64(%r14), %rdi - WORD $0x3948; BYTE $0xfe // cmpq %rdi, %rsi - LONG $0x0159830f; WORD $0x0000 // jae LBB31_17, $345(%rip) - QUAD $0xfffffb261d6ffdc5 // vmovdqa $-1242(%rip), %ymm3 /* LCPI31_0(%rip) */ - QUAD $0xfffffb3e256ffdc5 // vmovdqa $-1218(%rip), %ymm4 /* LCPI31_1(%rip) */ - QUAD $0xfffffb562d6ffdc5 // vmovdqa $-1194(%rip), %ymm5 /* LCPI31_2(%rip) */ - QUAD $0xfffffb6e356ffdc5 // vmovdqa $-1170(%rip), %ymm6 /* LCPI31_3(%rip) */ - QUAD $0xfffffb863d6ffdc5 // vmovdqa $-1146(%rip), %ymm7 /* LCPI31_4(%rip) */ - QUAD $0xfffffb9e056f7dc5 // vmovdqa $-1122(%rip), %ymm8 /* LCPI31_5(%rip) */ - LONG $0xef3141c4; BYTE $0xc9 // vpxor %xmm9, %xmm9, %xmm9 - QUAD $0xfffffbb1156f7dc5 // vmovdqa $-1103(%rip), %ymm10 /* LCPI31_7(%rip) */ - BYTE $0x90 // .p2align 4, 0x90 - -LBB31_14: - LONG $0x266f7ec5 // vmovdqu (%rsi), %ymm12 - LONG $0x5e6f7ec5; BYTE $0x20 // vmovdqu $32(%rsi), %ymm11 - LONG $0xeb2541c4; BYTE $0xec // vpor %ymm12, %ymm11, %ymm13 - LONG $0xd77dc1c4; BYTE $0xcd // vpmovmskb %ymm13, %ecx - WORD $0xc985 // testl %ecx, %ecx - LONG $0x0016850f; WORD $0x0000 // jne LBB31_16, $22(%rip) - LONG $0xc0ebf5c5 // vpor %ymm0, %ymm1, %ymm0 - LONG $0x40c68348 // addq $64, %rsi - WORD $0x3948; BYTE $0xfe // cmpq %rdi, %rsi - LONG $0xffd4820f; WORD $0xffff // jb LBB31_14, $-44(%rip) - LONG $0x0000eae9; BYTE $0x00 // jmp LBB31_17, $234(%rip) - -LBB31_16: - LONG $0x466dc3c4; WORD $0x21cc // vperm2i128 $33, %ymm12, %ymm2, %ymm1 - LONG $0x0f1de3c4; WORD $0x0fd1 // vpalignr $15, %ymm1, %ymm12, %ymm2 - LONG $0xd27195c5; BYTE $0x04 // vpsrlw $4, %ymm2, %ymm13 - LONG $0xebdb15c5 // vpand %ymm3, %ymm13, %ymm13 - LONG $0x005d42c4; BYTE $0xed // vpshufb %ymm13, %ymm4, %ymm13 - LONG $0xd3dbedc5 // vpand %ymm3, %ymm2, %ymm2 - LONG $0x0055e2c4; BYTE $0xd2 // vpshufb %ymm2, %ymm5, %ymm2 - LONG $0x710dc1c4; WORD $0x04d4 // vpsrlw $4, %ymm12, %ymm14 - LONG $0xf3db0dc5 // vpand %ymm3, %ymm14, %ymm14 - LONG $0x004d42c4; BYTE $0xf6 // vpshufb %ymm14, %ymm6, %ymm14 - LONG $0xd2db8dc5 // vpand %ymm2, %ymm14, %ymm2 - LONG $0xd2db95c5 // vpand %ymm2, %ymm13, %ymm2 - LONG $0x0f1d63c4; WORD $0x0ee9 // vpalignr $14, %ymm1, %ymm12, %ymm13 - LONG $0x0f1de3c4; WORD $0x0dc9 // vpalignr $13, %ymm1, %ymm12, %ymm1 - LONG $0xefd815c5 // vpsubusb %ymm7, %ymm13, %ymm13 - LONG $0xd875c1c4; BYTE $0xc8 // vpsubusb %ymm8, %ymm1, %ymm1 - LONG $0xc9eb95c5 // vpor %ymm1, %ymm13, %ymm1 - LONG $0xc974b5c5 // vpcmpeqb %ymm1, %ymm9, %ymm1 - QUAD $0xfffb5f2d597d62c4; BYTE $0xff // vpbroadcastq $-1185(%rip), %ymm13 /* LCPI31_6(%rip) */ - LONG $0xdf75c1c4; BYTE $0xcd // vpandn %ymm13, %ymm1, %ymm1 - LONG $0xcaeff5c5 // vpxor %ymm2, %ymm1, %ymm1 - LONG $0x461dc3c4; WORD $0x21d3 // vperm2i128 $33, %ymm11, %ymm12, %ymm2 - LONG $0x0f2563c4; WORD $0x0fe2 // vpalignr $15, %ymm2, %ymm11, %ymm12 - LONG $0x710dc1c4; WORD $0x04d4 // vpsrlw $4, %ymm12, %ymm14 - LONG $0xf3db0dc5 // vpand %ymm3, %ymm14, %ymm14 - LONG $0x005d42c4; BYTE $0xf6 // vpshufb %ymm14, %ymm4, %ymm14 - LONG $0xe3db1dc5 // vpand %ymm3, %ymm12, %ymm12 - LONG $0x005542c4; BYTE $0xe4 // vpshufb %ymm12, %ymm5, %ymm12 - LONG $0x7105c1c4; WORD $0x04d3 // vpsrlw $4, %ymm11, %ymm15 - LONG $0xfbdb05c5 // vpand %ymm3, %ymm15, %ymm15 - LONG $0x004d42c4; BYTE $0xff // vpshufb %ymm15, %ymm6, %ymm15 - LONG $0xdb1d41c4; BYTE $0xe7 // vpand %ymm15, %ymm12, %ymm12 - LONG $0xdb0d41c4; BYTE $0xe4 // vpand %ymm12, %ymm14, %ymm12 - LONG $0x0f2563c4; WORD $0x0ef2 // vpalignr $14, %ymm2, %ymm11, %ymm14 - LONG $0x0f25e3c4; WORD $0x0dd2 // vpalignr $13, %ymm2, %ymm11, %ymm2 - LONG $0xf7d80dc5 // vpsubusb %ymm7, %ymm14, %ymm14 - LONG $0xd86dc1c4; BYTE $0xd0 // vpsubusb %ymm8, %ymm2, %ymm2 - LONG $0xd2eb8dc5 // vpor %ymm2, %ymm14, %ymm2 - LONG $0xd274b5c5 // vpcmpeqb %ymm2, %ymm9, %ymm2 - LONG $0xdf6dc1c4; BYTE $0xd5 // vpandn %ymm13, %ymm2, %ymm2 - LONG $0xd2ef9dc5 // vpxor %ymm2, %ymm12, %ymm2 - LONG $0xc0ebf5c5 // vpor %ymm0, %ymm1, %ymm0 - LONG $0xc2ebfdc5 // vpor %ymm2, %ymm0, %ymm0 - LONG $0xd825c1c4; BYTE $0xca // vpsubusb %ymm10, %ymm11, %ymm1 - LONG $0xda7f7dc5 // vmovdqa %ymm11, %ymm2 - LONG $0x40c68348 // addq $64, %rsi - WORD $0x3948; BYTE $0xfe // cmpq %rdi, %rsi - LONG $0xfee5820f; WORD $0xffff // jb LBB31_14, $-283(%rip) - -LBB31_17: - LONG $0xdbefe1c5 // vpxor %xmm3, %xmm3, %xmm3 - LONG $0x5c7ffdc5; WORD $0x4024 // vmovdqa %ymm3, $64(%rsp) - LONG $0x5c7ffdc5; WORD $0x2024 // vmovdqa %ymm3, $32(%rsp) - LONG $0xe4efd9c5 // vpxor %xmm4, %xmm4, %xmm4 - WORD $0x394c; BYTE $0xf6 // cmpq %r14, %rsi - LONG $0x0067830f; WORD $0x0000 // jae LBB31_34, $103(%rip) - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x2948; BYTE $0xf1 // subq %rsi, %rcx - LONG $0x08148d4d // leaq (%r8,%rcx), %r10 - LONG $0x80fa8149; WORD $0x0000; BYTE $0x00 // cmpq $128, %r10 - LONG $0x001f820f; WORD $0x0000 // jb LBB31_19, $31(%rip) - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - WORD $0x394c; BYTE $0xf2 // cmpq %r14, %rdx - LONG $0x026d830f; WORD $0x0000 // jae LBB31_24, $621(%rip) - LONG $0x0c4c8d48; BYTE $0x20 // leaq $32(%rsp,%rcx), %rcx - WORD $0x014c; BYTE $0xc1 // addq %r8, %rcx - WORD $0x3948; BYTE $0xce // cmpq %rcx, %rsi - LONG $0x025c830f; WORD $0x0000 // jae LBB31_24, $604(%rip) - -LBB31_19: - WORD $0x3145; BYTE $0xdb // xorl %r11d, %r11d - -LBB31_31: - LONG $0x1c4c8d4a; BYTE $0x20 // leaq $32(%rsp,%r11), %rcx - WORD $0x2948; BYTE $0xf0 // subq %rsi, %rax - WORD $0x014c; BYTE $0xc0 // addq %r8, %rax - WORD $0xd231 // xorl %edx, %edx - WORD $0x9090 // .p2align 4, 0x90 - -LBB31_32: - LONG $0x161cb60f // movzbl (%rsi,%rdx), %ebx - WORD $0x1c88; BYTE $0x11 // movb %bl, (%rcx,%rdx) - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0x3948; BYTE $0xd0 // cmpq %rdx, %rax - LONG $0xffed850f; WORD $0xffff // jne LBB31_32, $-19(%rip) - -LBB31_33: - LONG $0x646ffdc5; WORD $0x2024 // vmovdqa $32(%rsp), %ymm4 - LONG $0x5c6ffdc5; WORD $0x4024 // vmovdqa $64(%rsp), %ymm3 - -LBB31_34: - LONG $0xebebddc5 // vpor %ymm3, %ymm4, %ymm5 - LONG $0xc5d7fdc5 // vpmovmskb %ymm5, %eax - WORD $0xc085 // testl %eax, %eax - LONG $0x033a850f; WORD $0x0000 // jne LBB31_38, $826(%rip) - LONG $0xc1ebfdc5 // vpor %ymm1, %ymm0, %ymm0 - LONG $0xc1ebfdc5 // vpor %ymm1, %ymm0, %ymm0 - LONG $0x177de2c4; BYTE $0xc0 // vptest %ymm0, %ymm0 - LONG $0x01fa840f; WORD $0x0000 // je LBB31_69, $506(%rip) - -LBB31_39: - LONG $0xfd4e8d49 // leaq $-3(%r14), %rcx - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - WORD $0x3949; BYTE $0xc8 // cmpq %rcx, %r8 - LONG $0x00da830f; WORD $0x0000 // jae LBB31_53, $218(%rip) - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB31_42, $18(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB31_41: - WORD $0x0148; BYTE $0xd0 // addq %rdx, %rax - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0x00c0830f; WORD $0x0000 // jae LBB31_53, $192(%rip) - -LBB31_42: - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - WORD $0x3880; BYTE $0x00 // cmpb $0, (%rax) - LONG $0xffe6890f; WORD $0xffff // jns LBB31_41, $-26(%rip) - WORD $0x308b // movl (%rax), %esi - WORD $0xf289 // movl %esi, %edx - LONG $0xc0f0e281; WORD $0x00c0 // andl $12632304, %edx - LONG $0x80e0fa81; WORD $0x0080 // cmpl $8421600, %edx - LONG $0x0030850f; WORD $0x0000 // jne LBB31_46, $48(%rip) - WORD $0xf789 // movl %esi, %edi - LONG $0x200fe781; WORD $0x0000 // andl $8207, %edi - LONG $0x200dff81; WORD $0x0000 // cmpl $8205, %edi - LONG $0x001c840f; WORD $0x0000 // je LBB31_46, $28(%rip) - LONG $0x000003ba; BYTE $0x00 // movl $3, %edx - WORD $0xff85 // testl %edi, %edi - LONG $0xffaf850f; WORD $0xffff // jne LBB31_41, $-81(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_46: - WORD $0xf289 // movl %esi, %edx - LONG $0xc0e0e281; WORD $0x0000 // andl $49376, %edx - LONG $0x80c0fa81; WORD $0x0000 // cmpl $32960, %edx - LONG $0x0010850f; WORD $0x0000 // jne LBB31_48, $16(%rip) - WORD $0xf789 // movl %esi, %edi - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - WORD $0xe783; BYTE $0x1e // andl $30, %edi - LONG $0xff7c850f; WORD $0xffff // jne LBB31_41, $-132(%rip) - -LBB31_48: - WORD $0xf289 // movl %esi, %edx - LONG $0xc0f8e281; WORD $0xc0c0 // andl $-1061109512, %edx - LONG $0x80f0fa81; WORD $0x8080 // cmpl $-2139062032, %edx - LONG $0x0029850f; WORD $0x0000 // jne LBB31_52, $41(%rip) - WORD $0xf289 // movl %esi, %edx - LONG $0x3007e281; WORD $0x0000 // andl $12295, %edx - LONG $0x001b840f; WORD $0x0000 // je LBB31_52, $27(%rip) - LONG $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0x04c6f640 // testb $4, %sil - LONG $0xff4b840f; WORD $0xffff // je LBB31_41, $-181(%rip) - LONG $0x3003e681; WORD $0x0000 // andl $12291, %esi - LONG $0xff3f840f; WORD $0xffff // je LBB31_41, $-193(%rip) - -LBB31_52: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x014c; BYTE $0xc0 // addq %r8, %rax - LONG $0x000112e9; BYTE $0x00 // jmp LBB31_70, $274(%rip) - -LBB31_53: - WORD $0x394c; BYTE $0xf0 // cmpq %r14, %rax - LONG $0x0107830f; WORD $0x0000 // jae LBB31_69, $263(%rip) - LONG $0x244c8d4c; BYTE $0x20 // leaq $32(%rsp), %r9 - LONG $0x24548d4c; BYTE $0x1e // leaq $30(%rsp), %r10 - LONG $0x000018e9; BYTE $0x00 // jmp LBB31_56, $24(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB31_55: - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x394c; BYTE $0xf0 // cmpq %r14, %rax - LONG $0x00e0830f; WORD $0x0000 // jae LBB31_69, $224(%rip) - -LBB31_56: - WORD $0x3880; BYTE $0x00 // cmpb $0, (%rax) - LONG $0xffeb890f; WORD $0xffff // jns LBB31_55, $-21(%rip) - LONG $0x202444c6; BYTE $0x00 // movb $0, $32(%rsp) - LONG $0x1e2444c6; BYTE $0x00 // movb $0, $30(%rsp) - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0033820f; WORD $0x0000 // jb LBB31_60, $51(%rip) - WORD $0xb60f; BYTE $0x08 // movzbl (%rax), %ecx - LONG $0x0170b60f // movzbl $1(%rax), %esi - LONG $0x20244c88 // movb %cl, $32(%rsp) - LONG $0x02788d48 // leaq $2(%rax), %rdi - LONG $0xfec28348 // addq $-2, %rdx - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0027840f; WORD $0x0000 // je LBB31_61, $39(%rip) - -LBB31_59: - WORD $0xb60f; BYTE $0x0f // movzbl (%rdi), %ecx - WORD $0x0b88 // movb %cl, (%rbx) - LONG $0x244cb60f; BYTE $0x20 // movzbl $32(%rsp), %ecx - LONG $0x2454b60f; BYTE $0x1e // movzbl $30(%rsp), %edx - LONG $0x000015e9; BYTE $0x00 // jmp LBB31_62, $21(%rip) - -LBB31_60: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0xf631 // xorl %esi, %esi - WORD $0x894c; BYTE $0xcb // movq %r9, %rbx - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xffd9850f; WORD $0xffff // jne LBB31_59, $-39(%rip) - -LBB31_61: - WORD $0xd231 // xorl %edx, %edx - -LBB31_62: - WORD $0xb60f; BYTE $0xfa // movzbl %dl, %edi - WORD $0xe7c1; BYTE $0x10 // shll $16, %edi - LONG $0xf6b60f40 // movzbl %sil, %esi - WORD $0xe6c1; BYTE $0x08 // shll $8, %esi - WORD $0xb60f; BYTE $0xd1 // movzbl %cl, %edx - WORD $0xf209 // orl %esi, %edx - WORD $0xd709 // orl %edx, %edi - LONG $0xc0f0e781; WORD $0x00c0 // andl $12632304, %edi - LONG $0x80e0ff81; WORD $0x0080 // cmpl $8421600, %edi - LONG $0x0023850f; WORD $0x0000 // jne LBB31_65, $35(%rip) - WORD $0xd789 // movl %edx, %edi - LONG $0x200fe781; WORD $0x0000 // andl $8207, %edi - LONG $0x200dff81; WORD $0x0000 // cmpl $8205, %edi - LONG $0x000f840f; WORD $0x0000 // je LBB31_65, $15(%rip) - LONG $0x000003be; BYTE $0x00 // movl $3, %esi - WORD $0xff85 // testl %edi, %edi - LONG $0x0022850f; WORD $0x0000 // jne LBB31_67, $34(%rip) - WORD $0x9090 // .p2align 4, 0x90 - -LBB31_65: - WORD $0xc1f6; BYTE $0x1e // testb $30, %cl - LONG $0xff08840f; WORD $0xffff // je LBB31_52, $-248(%rip) - LONG $0xc0e0e281; WORD $0x0000 // andl $49376, %edx - LONG $0x000002be; BYTE $0x00 // movl $2, %esi - LONG $0x80c0fa81; WORD $0x0000 // cmpl $32960, %edx - LONG $0xfef1850f; WORD $0xffff // jne LBB31_52, $-271(%rip) - -LBB31_67: - WORD $0x0148; BYTE $0xf0 // addq %rsi, %rax - WORD $0x394c; BYTE $0xf0 // cmpq %r14, %rax - LONG $0xff20820f; WORD $0xffff // jb LBB31_56, $-224(%rip) - -LBB31_69: - WORD $0xc031 // xorl %eax, %eax - -LBB31_70: - LONG $0xf0658d48 // leaq $-16(%rbp), %rsp - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB31_24: - WORD $0x894d; BYTE $0xd3 // movq %r10, %r11 - LONG $0x80e38349 // andq $-128, %r11 - LONG $0x804b8d49 // leaq $-128(%r11), %rcx - WORD $0x8949; BYTE $0xc9 // movq %rcx, %r9 - LONG $0x07e9c149 // shrq $7, %r9 - WORD $0xff49; BYTE $0xc1 // incq %r9 - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x00f0840f; WORD $0x0000 // je LBB31_37, $240(%rip) - WORD $0x894c; BYTE $0xcf // movq %r9, %rdi - LONG $0xfee78348 // andq $-2, %rdi - WORD $0xf748; BYTE $0xdf // negq %rdi - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB31_26: - LONG $0x1c10fcc5; BYTE $0x0e // vmovups (%rsi,%rcx), %ymm3 - LONG $0x6410fcc5; WORD $0x200e // vmovups $32(%rsi,%rcx), %ymm4 - LONG $0x6c10fcc5; WORD $0x400e // vmovups $64(%rsi,%rcx), %ymm5 - LONG $0x7410fcc5; WORD $0x600e // vmovups $96(%rsi,%rcx), %ymm6 - LONG $0x5c11fcc5; WORD $0x200c // vmovups %ymm3, $32(%rsp,%rcx) - LONG $0x6411fcc5; WORD $0x400c // vmovups %ymm4, $64(%rsp,%rcx) - LONG $0x6c11fcc5; WORD $0x600c // vmovups %ymm5, $96(%rsp,%rcx) - QUAD $0x0000800cb411fcc5; BYTE $0x00 // vmovups %ymm6, $128(%rsp,%rcx) - QUAD $0x0000800e9c6ffec5; BYTE $0x00 // vmovdqu $128(%rsi,%rcx), %ymm3 - QUAD $0x0000a00ea46ffec5; BYTE $0x00 // vmovdqu $160(%rsi,%rcx), %ymm4 - QUAD $0x0000c00eac6ffec5; BYTE $0x00 // vmovdqu $192(%rsi,%rcx), %ymm5 - QUAD $0x0000e00eb46ffec5; BYTE $0x00 // vmovdqu $224(%rsi,%rcx), %ymm6 - QUAD $0x0000a00c9c7ffec5; BYTE $0x00 // vmovdqu %ymm3, $160(%rsp,%rcx) - QUAD $0x0000c00ca47ffec5; BYTE $0x00 // vmovdqu %ymm4, $192(%rsp,%rcx) - QUAD $0x0000e00cac7ffec5; BYTE $0x00 // vmovdqu %ymm5, $224(%rsp,%rcx) - QUAD $0x0001000cb47ffec5; BYTE $0x00 // vmovdqu %ymm6, $256(%rsp,%rcx) - LONG $0x00c18148; WORD $0x0001; BYTE $0x00 // addq $256, %rcx - LONG $0x02c78348 // addq $2, %rdi - LONG $0xff75850f; WORD $0xffff // jne LBB31_26, $-139(%rip) - LONG $0x01c1f641 // testb $1, %r9b - LONG $0x0032840f; WORD $0x0000 // je LBB31_29, $50(%rip) - -LBB31_28: - LONG $0x1c6ffec5; BYTE $0x0e // vmovdqu (%rsi,%rcx), %ymm3 - LONG $0x646ffec5; WORD $0x200e // vmovdqu $32(%rsi,%rcx), %ymm4 - LONG $0x6c6ffec5; WORD $0x400e // vmovdqu $64(%rsi,%rcx), %ymm5 - LONG $0x746ffec5; WORD $0x600e // vmovdqu $96(%rsi,%rcx), %ymm6 - LONG $0x5c7ffec5; WORD $0x200c // vmovdqu %ymm3, $32(%rsp,%rcx) - LONG $0x647ffec5; WORD $0x400c // vmovdqu %ymm4, $64(%rsp,%rcx) - LONG $0x6c7ffec5; WORD $0x600c // vmovdqu %ymm5, $96(%rsp,%rcx) - QUAD $0x0000800cb47ffec5; BYTE $0x00 // vmovdqu %ymm6, $128(%rsp,%rcx) - -LBB31_29: - WORD $0x394d; BYTE $0xd3 // cmpq %r10, %r11 - LONG $0xfcc3840f; WORD $0xffff // je LBB31_33, $-829(%rip) - WORD $0x014c; BYTE $0xde // addq %r11, %rsi - LONG $0xfffc99e9; BYTE $0xff // jmp LBB31_31, $-871(%rip) - -LBB31_37: - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x01c1f641 // testb $1, %r9b - LONG $0xffb1850f; WORD $0xffff // jne LBB31_28, $-79(%rip) - LONG $0xffffdee9; BYTE $0xff // jmp LBB31_29, $-34(%rip) - -LBB31_38: - LONG $0x466de3c4; WORD $0x21d4 // vperm2i128 $33, %ymm4, %ymm2, %ymm2 - LONG $0x0f5de3c4; WORD $0x0fea // vpalignr $15, %ymm2, %ymm4, %ymm5 - LONG $0xd571cdc5; BYTE $0x04 // vpsrlw $4, %ymm5, %ymm6 - QUAD $0xfffff5ee0d6ffdc5 // vmovdqa $-2578(%rip), %ymm1 /* LCPI31_0(%rip) */ - LONG $0xf1dbcdc5 // vpand %ymm1, %ymm6, %ymm6 - QUAD $0xfffff6023d6ffdc5 // vmovdqa $-2558(%rip), %ymm7 /* LCPI31_1(%rip) */ - LONG $0x0045e2c4; BYTE $0xf6 // vpshufb %ymm6, %ymm7, %ymm6 - LONG $0xe9dbd5c5 // vpand %ymm1, %ymm5, %ymm5 - QUAD $0xfffff611056f7dc5 // vmovdqa $-2543(%rip), %ymm8 /* LCPI31_2(%rip) */ - LONG $0x003de2c4; BYTE $0xed // vpshufb %ymm5, %ymm8, %ymm5 - LONG $0xd471b5c5; BYTE $0x04 // vpsrlw $4, %ymm4, %ymm9 - LONG $0xc9db35c5 // vpand %ymm1, %ymm9, %ymm9 - QUAD $0xfffff61b156f7dc5 // vmovdqa $-2533(%rip), %ymm10 /* LCPI31_3(%rip) */ - LONG $0x002d42c4; BYTE $0xc9 // vpshufb %ymm9, %ymm10, %ymm9 - LONG $0xeddbb5c5 // vpand %ymm5, %ymm9, %ymm5 - LONG $0xeddbcdc5 // vpand %ymm5, %ymm6, %ymm5 - LONG $0x0f5de3c4; WORD $0x0ef2 // vpalignr $14, %ymm2, %ymm4, %ymm6 - LONG $0x0f5de3c4; WORD $0x0dd2 // vpalignr $13, %ymm2, %ymm4, %ymm2 - QUAD $0xfffff61a0d6f7dc5 // vmovdqa $-2534(%rip), %ymm9 /* LCPI31_4(%rip) */ - LONG $0xd84dc1c4; BYTE $0xf1 // vpsubusb %ymm9, %ymm6, %ymm6 - QUAD $0xfffff62d1d6f7dc5 // vmovdqa $-2515(%rip), %ymm11 /* LCPI31_5(%rip) */ - LONG $0xd86dc1c4; BYTE $0xd3 // vpsubusb %ymm11, %ymm2, %ymm2 - LONG $0xd6ebedc5 // vpor %ymm6, %ymm2, %ymm2 - LONG $0xf6efc9c5 // vpxor %xmm6, %xmm6, %xmm6 - LONG $0xd674edc5 // vpcmpeqb %ymm6, %ymm2, %ymm2 - QUAD $0xfff67325597d62c4; BYTE $0xff // vpbroadcastq $-2445(%rip), %ymm12 /* LCPI31_6(%rip) */ - LONG $0xdf6dc1c4; BYTE $0xd4 // vpandn %ymm12, %ymm2, %ymm2 - LONG $0xd5efedc5 // vpxor %ymm5, %ymm2, %ymm2 - LONG $0x465de3c4; WORD $0x21e3 // vperm2i128 $33, %ymm3, %ymm4, %ymm4 - LONG $0x0f65e3c4; WORD $0x0fec // vpalignr $15, %ymm4, %ymm3, %ymm5 - LONG $0xd57195c5; BYTE $0x04 // vpsrlw $4, %ymm5, %ymm13 - LONG $0xe9db15c5 // vpand %ymm1, %ymm13, %ymm13 - LONG $0x0045c2c4; BYTE $0xfd // vpshufb %ymm13, %ymm7, %ymm7 - LONG $0xe9dbd5c5 // vpand %ymm1, %ymm5, %ymm5 - LONG $0x003de2c4; BYTE $0xed // vpshufb %ymm5, %ymm8, %ymm5 - LONG $0xd371bdc5; BYTE $0x04 // vpsrlw $4, %ymm3, %ymm8 - LONG $0xc9dbbdc5 // vpand %ymm1, %ymm8, %ymm1 - LONG $0x002de2c4; BYTE $0xc9 // vpshufb %ymm1, %ymm10, %ymm1 - LONG $0xc9dbd5c5 // vpand %ymm1, %ymm5, %ymm1 - LONG $0xc9dbc5c5 // vpand %ymm1, %ymm7, %ymm1 - LONG $0x0f65e3c4; WORD $0x0eec // vpalignr $14, %ymm4, %ymm3, %ymm5 - LONG $0x0f65e3c4; WORD $0x0de4 // vpalignr $13, %ymm4, %ymm3, %ymm4 - LONG $0xd855c1c4; BYTE $0xe9 // vpsubusb %ymm9, %ymm5, %ymm5 - LONG $0xd85dc1c4; BYTE $0xe3 // vpsubusb %ymm11, %ymm4, %ymm4 - LONG $0xe5ebddc5 // vpor %ymm5, %ymm4, %ymm4 - LONG $0xe674ddc5 // vpcmpeqb %ymm6, %ymm4, %ymm4 - LONG $0xdf5dc1c4; BYTE $0xe4 // vpandn %ymm12, %ymm4, %ymm4 - LONG $0xc9efddc5 // vpxor %ymm1, %ymm4, %ymm1 - LONG $0xc0ebedc5 // vpor %ymm0, %ymm2, %ymm0 - LONG $0xc1ebfdc5 // vpor %ymm1, %ymm0, %ymm0 - QUAD $0xfffff5ba0dd8e5c5 // vpsubusb $-2630(%rip), %ymm3, %ymm1 /* LCPI31_7(%rip) */ - LONG $0xc1ebfdc5 // vpor %ymm1, %ymm0, %ymm0 - LONG $0x177de2c4; BYTE $0xc0 // vptest %ymm0, %ymm0 - LONG $0xfdb7840f; WORD $0xffff // je LBB31_69, $-585(%rip) - LONG $0xfffbb8e9; BYTE $0xff // jmp LBB31_39, $-1096(%rip) - LONG $0x00000000; WORD $0x0000 // .p2align 5, 0x00 - -LCPI32_0: - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - - // .p2align 4, 0x90 -_f32toa: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0xc07ef9c5 // vmovd %xmm0, %eax - WORD $0xc189 // movl %eax, %ecx - WORD $0xe9c1; BYTE $0x17 // shrl $23, %ecx - WORD $0xb60f; BYTE $0xd9 // movzbl %cl, %ebx - LONG $0x00fffb81; WORD $0x0000 // cmpl $255, %ebx - LONG $0x0cf1840f; WORD $0x0000 // je LBB32_138, $3313(%rip) - WORD $0x07c6; BYTE $0x2d // movb $45, (%rdi) - WORD $0x8941; BYTE $0xc1 // movl %eax, %r9d - LONG $0x1fe9c141 // shrl $31, %r9d - LONG $0x0f048d4e // leaq (%rdi,%r9), %r8 - LONG $0xffffffa9; BYTE $0x7f // testl $2147483647, %eax - LONG $0x01bf840f; WORD $0x0000 // je LBB32_11, $447(%rip) - LONG $0x7fffff25; BYTE $0x00 // andl $8388607, %eax - WORD $0xdb85 // testl %ebx, %ebx - LONG $0x0cd3840f; WORD $0x0000 // je LBB32_139, $3283(%rip) - LONG $0x0000b08d; WORD $0x0080 // leal $8388608(%rax), %esi - LONG $0x6abb8d44; WORD $0xffff; BYTE $0xff // leal $-150(%rbx), %r15d - WORD $0x4b8d; BYTE $0x81 // leal $-127(%rbx), %ecx - WORD $0xf983; BYTE $0x17 // cmpl $23, %ecx - LONG $0x0019870f; WORD $0x0000 // ja LBB32_5, $25(%rip) - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - WORD $0xd9f7 // negl %ecx - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0xd348; BYTE $0xe2 // shlq %cl, %rdx - WORD $0xd2f7 // notl %edx - WORD $0xf285 // testl %esi, %edx - LONG $0x03fc840f; WORD $0x0000 // je LBB32_32, $1020(%rip) - -LBB32_5: - WORD $0x8941; BYTE $0xf6 // movl %esi, %r14d - LONG $0x01e68341 // andl $1, %r14d - WORD $0xc085 // testl %eax, %eax - WORD $0x940f; BYTE $0xc0 // sete %al - WORD $0xfb83; BYTE $0x01 // cmpl $1, %ebx - WORD $0x970f; BYTE $0xc1 // seta %cl - WORD $0xc120 // andb %al, %cl - WORD $0xb60f; BYTE $0xc9 // movzbl %cl, %ecx - WORD $0x8941; BYTE $0xf2 // movl %esi, %r10d - LONG $0x02e2c141 // shll $2, %r10d - LONG $0xfeb1448d // leal $-2(%rcx,%rsi,4), %eax - LONG $0x13d76941; WORD $0x1344; BYTE $0x00 // imull $1262611, %r15d, %edx - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0xc984 // testb %cl, %cl - LONG $0x0101bb41; WORD $0xfff8 // movl $-524031, %r11d - LONG $0xdb440f44 // cmovel %ebx, %r11d - WORD $0x0141; BYTE $0xd3 // addl %edx, %r11d - LONG $0x16fbc141 // sarl $22, %r11d - LONG $0xb1cb6941; WORD $0xe56c; BYTE $0xff // imull $-1741647, %r11d, %ecx - WORD $0xe9c1; BYTE $0x13 // shrl $19, %ecx - WORD $0x0144; BYTE $0xf9 // addl %r15d, %ecx - LONG $0x00001fba; BYTE $0x00 // movl $31, %edx - WORD $0x2944; BYTE $0xda // subl %r11d, %edx - LONG $0x291d8d48; WORD $0x00b4; BYTE $0x00 // leaq $46121(%rip), %rbx /* _pow10_ceil_sig_f32.g(%rip) */ - WORD $0xc1fe // incb %cl - WORD $0xe0d3 // shll %cl, %eax - LONG $0xd3248b4c // movq (%rbx,%rdx,8), %r12 - WORD $0xf749; BYTE $0xe4 // mulq %r12 - LONG $0x20e8c148 // shrq $32, %rax - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - WORD $0x970f; BYTE $0xc3 // seta %bl - WORD $0xd341; BYTE $0xe2 // shll %cl, %r10d - WORD $0xd309 // orl %edx, %ebx - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - WORD $0xf749; BYTE $0xe4 // mulq %r12 - WORD $0x8949; BYTE $0xd2 // movq %rdx, %r10 - LONG $0x20e8c148 // shrq $32, %rax - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - LONG $0xc7970f41 // seta %r15b - LONG $0x02b5048d; WORD $0x0000; BYTE $0x00 // leal $2(,%rsi,4), %eax - WORD $0xe0d3 // shll %cl, %eax - WORD $0x0945; BYTE $0xd7 // orl %r10d, %r15d - WORD $0xf749; BYTE $0xe4 // mulq %r12 - LONG $0x20e8c148 // shrq $32, %rax - WORD $0xc931 // xorl %ecx, %ecx - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - WORD $0x970f; BYTE $0xc1 // seta %cl - WORD $0xd109 // orl %edx, %ecx - WORD $0x0144; BYTE $0xf3 // addl %r14d, %ebx - WORD $0x2944; BYTE $0xf1 // subl %r14d, %ecx - LONG $0x28ff8341 // cmpl $40, %r15d - LONG $0x003d820f; WORD $0x0000 // jb LBB32_7, $61(%rip) - WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax - LONG $0xcccdbd41; WORD $0xcccc // movl $3435973837, %r13d - LONG $0xe8af0f4c // imulq %rax, %r13 - LONG $0x25edc149 // shrq $37, %r13 - WORD $0x8941; BYTE $0xde // movl %ebx, %r14d - QUAD $0x00000000ed348d4a // leaq (,%r13,8), %rsi - LONG $0xb6048d48 // leaq (%rsi,%rsi,4), %rax - WORD $0x394c; BYTE $0xf0 // cmpq %r14, %rax - LONG $0xc6920f41 // setb %r14b - LONG $0xb6648d4c; BYTE $0x28 // leaq $40(%rsi,%rsi,4), %r12 - WORD $0xce89 // movl %ecx, %esi - WORD $0x3949; BYTE $0xf4 // cmpq %rsi, %r12 - WORD $0x960f; BYTE $0xc0 // setbe %al - WORD $0x3044; BYTE $0xf0 // xorb %r14b, %al - LONG $0x01e9840f; WORD $0x0000 // je LBB32_16, $489(%rip) - -LBB32_7: - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - LONG $0x02e8c148 // shrq $2, %rax - WORD $0x8944; BYTE $0xd6 // movl %r10d, %esi - WORD $0xe683; BYTE $0xfc // andl $-4, %esi - WORD $0xf339 // cmpl %esi, %ebx - LONG $0xc6970f41 // seta %r14b - WORD $0x568d; BYTE $0x04 // leal $4(%rsi), %edx - WORD $0xca39 // cmpl %ecx, %edx - WORD $0x960f; BYTE $0xc3 // setbe %bl - WORD $0x3044; BYTE $0xf3 // xorb %r14b, %bl - LONG $0x0074840f; WORD $0x0000 // je LBB32_12, $116(%rip) - WORD $0xce83; BYTE $0x02 // orl $2, %esi - LONG $0x0001bd41; WORD $0x0000 // movl $1, %r13d - WORD $0x3941; BYTE $0xf7 // cmpl %esi, %r15d - LONG $0x000e870f; WORD $0x0000 // ja LBB32_10, $14(%rip) - WORD $0x940f; BYTE $0xc1 // sete %cl - LONG $0x02eac041 // shrb $2, %r10b - WORD $0x2041; BYTE $0xca // andb %cl, %r10b - LONG $0xeab60f45 // movzbl %r10b, %r13d - -LBB32_10: - WORD $0x0141; BYTE $0xc5 // addl %eax, %r13d - LONG $0xa0fd8141; WORD $0x0186; BYTE $0x00 // cmpl $100000, %r13d - LONG $0x0059820f; WORD $0x0000 // jb LBB32_17, $89(%rip) - -LBB32_13: - LONG $0x000006be; BYTE $0x00 // movl $6, %esi - LONG $0x40fd8141; WORD $0x0f42; BYTE $0x00 // cmpl $1000000, %r13d - LONG $0x0086820f; WORD $0x0000 // jb LBB32_22, $134(%rip) - LONG $0x000007be; BYTE $0x00 // movl $7, %esi - LONG $0x80fd8141; WORD $0x9896; BYTE $0x00 // cmpl $10000000, %r13d - LONG $0x0074820f; WORD $0x0000 // jb LBB32_22, $116(%rip) - LONG $0x00fd8141; WORD $0xf5e1; BYTE $0x05 // cmpl $100000000, %r13d - LONG $0x000009be; BYTE $0x00 // movl $9, %esi - LONG $0x000060e9; BYTE $0x00 // jmp LBB32_21, $96(%rip) - -LBB32_11: - LONG $0x3000c641 // movb $48, (%r8) - WORD $0x2941; BYTE $0xf8 // subl %edi, %r8d - WORD $0xff41; BYTE $0xc0 // incl %r8d - LONG $0x000af9e9; BYTE $0x00 // jmp LBB32_137, $2809(%rip) - -LBB32_12: - WORD $0xd139 // cmpl %edx, %ecx - WORD $0xd883; BYTE $0xff // sbbl $-1, %eax - WORD $0x8941; BYTE $0xc5 // movl %eax, %r13d - LONG $0xa0fd8141; WORD $0x0186; BYTE $0x00 // cmpl $100000, %r13d - LONG $0xffa7830f; WORD $0xffff // jae LBB32_13, $-89(%rip) - -LBB32_17: - LONG $0x000001be; BYTE $0x00 // movl $1, %esi - LONG $0x0afd8341 // cmpl $10, %r13d - LONG $0x0030820f; WORD $0x0000 // jb LBB32_22, $48(%rip) - LONG $0x000002be; BYTE $0x00 // movl $2, %esi - LONG $0x64fd8341 // cmpl $100, %r13d - LONG $0x0021820f; WORD $0x0000 // jb LBB32_22, $33(%rip) - LONG $0x000003be; BYTE $0x00 // movl $3, %esi - LONG $0xe8fd8141; WORD $0x0003; BYTE $0x00 // cmpl $1000, %r13d - LONG $0x000f820f; WORD $0x0000 // jb LBB32_22, $15(%rip) - LONG $0x10fd8141; WORD $0x0027; BYTE $0x00 // cmpl $10000, %r13d - LONG $0x000005be; BYTE $0x00 // movl $5, %esi - -LBB32_21: - WORD $0xde83; BYTE $0x00 // sbbl $0, %esi - -LBB32_22: - LONG $0x1e148d46 // leal (%rsi,%r11), %r10d - LONG $0x1e448d42; BYTE $0x05 // leal $5(%rsi,%r11), %eax - WORD $0xf883; BYTE $0x1b // cmpl $27, %eax - LONG $0x0075820f; WORD $0x0000 // jb LBB32_26, $117(%rip) - WORD $0xf089 // movl %esi, %eax - LONG $0x00748d4d; BYTE $0x01 // leaq $1(%r8,%rax), %r14 - LONG $0x10fd8141; WORD $0x0027; BYTE $0x00 // cmpl $10000, %r13d - LONG $0x00f3820f; WORD $0x0000 // jb LBB32_30, $243(%rip) - WORD $0x8944; BYTE $0xe8 // movl %r13d, %eax - LONG $0xb71759bb; BYTE $0xd1 // movl $3518437209, %ebx - LONG $0xd8af0f48 // imulq %rax, %rbx - LONG $0x2debc148 // shrq $45, %rbx - LONG $0xd8f0c369; WORD $0xffff // imull $-10000, %ebx, %eax - WORD $0x0144; BYTE $0xe8 // addl %r13d, %eax - LONG $0x048b840f; WORD $0x0000 // je LBB32_62, $1163(%rip) - WORD $0xc189 // movl %eax, %ecx - LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx - LONG $0x25e9c148 // shrq $37, %rcx - WORD $0xd16b; BYTE $0x64 // imull $100, %ecx, %edx - WORD $0xd029 // subl %edx, %eax - LONG $0xc2158d48; WORD $0x003e; BYTE $0x00 // leaq $16066(%rip), %rdx /* _Digits(%rip) */ - LONG $0x4204b70f // movzwl (%rdx,%rax,2), %eax - LONG $0x46894166; BYTE $0xfe // movw %ax, $-2(%r14) - LONG $0x4a04b70f // movzwl (%rdx,%rcx,2), %eax - LONG $0x46894166; BYTE $0xfc // movw %ax, $-4(%r14) - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0xfc4e8d49 // leaq $-4(%r14), %rcx - WORD $0xfb83; BYTE $0x64 // cmpl $100, %ebx - LONG $0x00ab830f; WORD $0x0000 // jae LBB32_64, $171(%rip) - -LBB32_31: - WORD $0xda89 // movl %ebx, %edx - LONG $0x0000e8e9; BYTE $0x00 // jmp LBB32_66, $232(%rip) - -LBB32_26: - WORD $0x8941; BYTE $0xf4 // movl %esi, %r12d - WORD $0x8545; BYTE $0xdb // testl %r11d, %r11d - LONG $0x021d880f; WORD $0x0000 // js LBB32_38, $541(%rip) - LONG $0x20348d4b // leaq (%r8,%r12), %rsi - LONG $0x10fd8141; WORD $0x0027; BYTE $0x00 // cmpl $10000, %r13d - LONG $0x028d820f; WORD $0x0000 // jb LBB32_43, $653(%rip) - WORD $0x8944; BYTE $0xe8 // movl %r13d, %eax - LONG $0xb71759b9; BYTE $0xd1 // movl $3518437209, %ecx - LONG $0xc8af0f48 // imulq %rax, %rcx - LONG $0x2de9c148 // shrq $45, %rcx - LONG $0xd8f0c169; WORD $0xffff // imull $-10000, %ecx, %eax - WORD $0x0144; BYTE $0xe8 // addl %r13d, %eax - LONG $0x1fd06948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rax, %rdx - LONG $0x25eac148 // shrq $37, %rdx - WORD $0xda6b; BYTE $0x64 // imull $100, %edx, %ebx - WORD $0xd829 // subl %ebx, %eax - LONG $0x4c1d8d48; WORD $0x003e; BYTE $0x00 // leaq $15948(%rip), %rbx /* _Digits(%rip) */ - LONG $0x4304b70f // movzwl (%rbx,%rax,2), %eax - LONG $0xfe468966 // movw %ax, $-2(%rsi) - LONG $0xfc468d48 // leaq $-4(%rsi), %rax - LONG $0x5314b70f // movzwl (%rbx,%rdx,2), %edx - LONG $0xfc568966 // movw %dx, $-4(%rsi) - WORD $0x8941; BYTE $0xcd // movl %ecx, %r13d - LONG $0x64fd8341 // cmpl $100, %r13d - LONG $0x0249830f; WORD $0x0000 // jae LBB32_44, $585(%rip) - -LBB32_29: - WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - LONG $0x000286e9; BYTE $0x00 // jmp LBB32_46, $646(%rip) - -LBB32_16: - WORD $0x394c; BYTE $0xe6 // cmpq %r12, %rsi - LONG $0xffdd8341 // sbbl $-1, %r13d - WORD $0xff41; BYTE $0xc3 // incl %r11d - LONG $0xa0fd8141; WORD $0x0186; BYTE $0x00 // cmpl $100000, %r13d - LONG $0xfe54830f; WORD $0xffff // jae LBB32_13, $-428(%rip) - LONG $0xfffea8e9; BYTE $0xff // jmp LBB32_17, $-344(%rip) - -LBB32_30: - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x894c; BYTE $0xf1 // movq %r14, %rcx - WORD $0x8944; BYTE $0xeb // movl %r13d, %ebx - WORD $0xfb83; BYTE $0x64 // cmpl $100, %ebx - LONG $0xff55820f; WORD $0xffff // jb LBB32_31, $-171(%rip) - -LBB32_64: - WORD $0xff48; BYTE $0xc9 // decq %rcx - LONG $0xeb1d8d4c; WORD $0x003d; BYTE $0x00 // leaq $15851(%rip), %r11 /* _Digits(%rip) */ - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB32_65: - WORD $0xda89 // movl %ebx, %edx - LONG $0x1fd26948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rdx, %rdx - LONG $0x25eac148 // shrq $37, %rdx - WORD $0xc26b; BYTE $0x64 // imull $100, %edx, %eax - WORD $0xde89 // movl %ebx, %esi - WORD $0xc629 // subl %eax, %esi - LONG $0x04b70f41; BYTE $0x73 // movzwl (%r11,%rsi,2), %eax - LONG $0xff418966 // movw %ax, $-1(%rcx) - LONG $0xfec18348 // addq $-2, %rcx - LONG $0x270ffb81; WORD $0x0000 // cmpl $9999, %ebx - WORD $0xd389 // movl %edx, %ebx - LONG $0xffd1870f; WORD $0xffff // ja LBB32_65, $-47(%rip) - -LBB32_66: - LONG $0x01708d49 // leaq $1(%r8), %rsi - WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx - LONG $0x001d820f; WORD $0x0000 // jb LBB32_68, $29(%rip) - WORD $0xd089 // movl %edx, %eax - LONG $0x9b0d8d48; WORD $0x003d; BYTE $0x00 // leaq $15771(%rip), %rcx /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl - LONG $0x0141448a // movb $1(%rcx,%rax,2), %al - LONG $0x01508841 // movb %dl, $1(%r8) - LONG $0x02408841 // movb %al, $2(%r8) - LONG $0x000005e9; BYTE $0x00 // jmp LBB32_69, $5(%rip) - -LBB32_68: - WORD $0xc280; BYTE $0x30 // addb $48, %dl - WORD $0x1688 // movb %dl, (%rsi) - -LBB32_69: - WORD $0x294d; BYTE $0xce // subq %r9, %r14 - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB32_70: - LONG $0xff7e8041; BYTE $0x30 // cmpb $48, $-1(%r14) - LONG $0xff768d4d // leaq $-1(%r14), %r14 - LONG $0xfff1840f; WORD $0xffff // je LBB32_70, $-15(%rip) - WORD $0x8841; BYTE $0x10 // movb %dl, (%r8) - LONG $0x01468d49 // leaq $1(%r14), %rax - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x2948; BYTE $0xf1 // subq %rsi, %rcx - LONG $0x02f98348 // cmpq $2, %rcx - LONG $0x00068c0f; WORD $0x0000 // jl LBB32_73, $6(%rip) - WORD $0x06c6; BYTE $0x2e // movb $46, (%rsi) - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - -LBB32_73: - LONG $0x6506c641 // movb $101, (%r14) - LONG $0xff428d41 // leal $-1(%r10), %eax - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x01228e0f; WORD $0x0000 // jle LBB32_76, $290(%rip) - LONG $0x0146c641; BYTE $0x2b // movb $43, $1(%r14) - WORD $0xf883; BYTE $0x0a // cmpl $10, %eax - LONG $0x01248c0f; WORD $0x0000 // jl LBB32_77, $292(%rip) - -LBB32_75: - WORD $0x9848 // cltq - LONG $0x1c0d8d48; WORD $0x003d; BYTE $0x00 // leaq $15644(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x46894166; BYTE $0x02 // movw %ax, $2(%r14) - LONG $0x04c68349 // addq $4, %r14 - WORD $0x894d; BYTE $0xf0 // movq %r14, %r8 - LONG $0x000889e9; BYTE $0x00 // jmp LBB32_136, $2185(%rip) - -LBB32_32: - WORD $0xeed3 // shrl %cl, %esi - LONG $0x86a0fe81; WORD $0x0001 // cmpl $100000, %esi - LONG $0x01f1820f; WORD $0x0000 // jb LBB32_52, $497(%rip) - LONG $0x000006b8; BYTE $0x00 // movl $6, %eax - LONG $0x4240fe81; WORD $0x000f // cmpl $1000000, %esi - LONG $0x0020820f; WORD $0x0000 // jb LBB32_36, $32(%rip) - LONG $0x000007b8; BYTE $0x00 // movl $7, %eax - LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi - LONG $0x000f820f; WORD $0x0000 // jb LBB32_36, $15(%rip) - LONG $0xe100fe81; WORD $0x05f5 // cmpl $100000000, %esi - LONG $0x000009b8; BYTE $0x00 // movl $9, %eax - LONG $0x00d88348 // sbbq $0, %rax - -LBB32_36: - WORD $0x014c; BYTE $0xc0 // addq %r8, %rax - -LBB32_37: - WORD $0xf189 // movl %esi, %ecx - LONG $0xb71759ba; BYTE $0xd1 // movl $3518437209, %edx - LONG $0xd1af0f48 // imulq %rcx, %rdx - LONG $0x2deac148 // shrq $45, %rdx - LONG $0xd8f0ca69; WORD $0xffff // imull $-10000, %edx, %ecx - WORD $0xf101 // addl %esi, %ecx - LONG $0x1ff16948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rsi - LONG $0x25eec148 // shrq $37, %rsi - WORD $0xde6b; BYTE $0x64 // imull $100, %esi, %ebx - WORD $0xd929 // subl %ebx, %ecx - LONG $0x971d8d48; WORD $0x003c; BYTE $0x00 // leaq $15511(%rip), %rbx /* _Digits(%rip) */ - LONG $0x4b0cb70f // movzwl (%rbx,%rcx,2), %ecx - LONG $0xfe488966 // movw %cx, $-2(%rax) - LONG $0x730cb70f // movzwl (%rbx,%rsi,2), %ecx - LONG $0xfc488966 // movw %cx, $-4(%rax) - WORD $0x8949; BYTE $0xc1 // movq %rax, %r9 - LONG $0xfcc08348 // addq $-4, %rax - WORD $0xd689 // movl %edx, %esi - WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x01ac830f; WORD $0x0000 // jae LBB32_56, $428(%rip) - LONG $0x0001efe9; BYTE $0x00 // jmp LBB32_58, $495(%rip) - -LBB32_38: - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x04878f0f; WORD $0x0000 // jg LBB32_96, $1159(%rip) - LONG $0x00c74166; WORD $0x2e30 // movw $11824, (%r8) - LONG $0x02c08349 // addq $2, %r8 - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x0474890f; WORD $0x0000 // jns LBB32_96, $1140(%rip) - WORD $0xd6f7 // notl %esi - WORD $0x2944; BYTE $0xde // subl %r11d, %esi - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0xfe83; BYTE $0x7f // cmpl $127, %esi - LONG $0x043e820f; WORD $0x0000 // jb LBB32_94, $1086(%rip) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x8949; BYTE $0xf7 // movq %rsi, %r15 - LONG $0x80e78349 // andq $-128, %r15 - LONG $0x80478d49 // leaq $-128(%r15), %rax - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - LONG $0x07eec149 // shrq $7, %r14 - WORD $0xff49; BYTE $0xc6 // incq %r14 - WORD $0x8945; BYTE $0xf3 // movl %r14d, %r11d - LONG $0x03e38341 // andl $3, %r11d - LONG $0x01803d48; WORD $0x0000 // cmpq $384, %rax - LONG $0x0321830f; WORD $0x0000 // jae LBB32_88, $801(%rip) - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0x0003c4e9; BYTE $0x00 // jmp LBB32_90, $964(%rip) - -LBB32_76: - LONG $0x0146c641; BYTE $0x2d // movb $45, $1(%r14) - WORD $0xd8f7 // negl %eax - WORD $0xf883; BYTE $0x0a // cmpl $10, %eax - LONG $0xfedc8d0f; WORD $0xffff // jge LBB32_75, $-292(%rip) - -LBB32_77: - WORD $0x3004 // addb $48, %al - LONG $0x02468841 // movb %al, $2(%r14) - LONG $0x03c68349 // addq $3, %r14 - WORD $0x894d; BYTE $0xf0 // movq %r14, %r8 - LONG $0x000771e9; BYTE $0x00 // jmp LBB32_136, $1905(%rip) - -LBB32_43: - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - LONG $0x64fd8341 // cmpl $100, %r13d - LONG $0xfdb7820f; WORD $0xffff // jb LBB32_29, $-585(%rip) - -LBB32_44: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0xd81d8d4c; WORD $0x003b; BYTE $0x00 // leaq $15320(%rip), %r11 /* _Digits(%rip) */ - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB32_45: - WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx - LONG $0x25e9c148 // shrq $37, %rcx - WORD $0xd96b; BYTE $0x64 // imull $100, %ecx, %ebx - WORD $0x8944; BYTE $0xea // movl %r13d, %edx - WORD $0xda29 // subl %ebx, %edx - LONG $0x14b70f41; BYTE $0x53 // movzwl (%r11,%rdx,2), %edx - LONG $0xff508966 // movw %dx, $-1(%rax) - LONG $0xfec08348 // addq $-2, %rax - LONG $0x0ffd8141; WORD $0x0027; BYTE $0x00 // cmpl $9999, %r13d - WORD $0x8941; BYTE $0xcd // movl %ecx, %r13d - LONG $0xffcd870f; WORD $0xffff // ja LBB32_45, $-51(%rip) - -LBB32_46: - WORD $0x6349; BYTE $0xc2 // movslq %r10d, %rax - WORD $0xf983; BYTE $0x0a // cmpl $10, %ecx - LONG $0x0022820f; WORD $0x0000 // jb LBB32_48, $34(%rip) - WORD $0xc989 // movl %ecx, %ecx - LONG $0x88158d48; WORD $0x003b; BYTE $0x00 // leaq $15240(%rip), %rdx /* _Digits(%rip) */ - LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx - LONG $0x08894166 // movw %cx, (%r8) - WORD $0x0149; BYTE $0xc0 // addq %rax, %r8 - WORD $0x3949; BYTE $0xc4 // cmpq %rax, %r12 - LONG $0x00178c0f; WORD $0x0000 // jl LBB32_49, $23(%rip) - LONG $0x0006f1e9; BYTE $0x00 // jmp LBB32_136, $1777(%rip) - -LBB32_48: - WORD $0xc180; BYTE $0x30 // addb $48, %cl - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - WORD $0x0149; BYTE $0xc0 // addq %rax, %r8 - WORD $0x3949; BYTE $0xc4 // cmpq %rax, %r12 - LONG $0x06df8d0f; WORD $0x0000 // jge LBB32_136, $1759(%rip) - -LBB32_49: - LONG $0x21048d4b // leaq (%r9,%r12), %rax - LONG $0x075c8d4c; BYTE $0x01 // leaq $1(%rdi,%rax), %r11 - WORD $0x394d; BYTE $0xc3 // cmpq %r8, %r11 - LONG $0xd8460f4d // cmovbeq %r8, %r11 - LONG $0x0f0c8d4a // leaq (%rdi,%r9), %rcx - WORD $0x014c; BYTE $0xe1 // addq %r12, %rcx - WORD $0x2949; BYTE $0xcb // subq %rcx, %r11 - LONG $0x80fb8149; WORD $0x0000; BYTE $0x00 // cmpq $128, %r11 - LONG $0x0206820f; WORD $0x0000 // jb LBB32_85, $518(%rip) - WORD $0x894d; BYTE $0xda // movq %r11, %r10 - LONG $0x80e28349 // andq $-128, %r10 - LONG $0x804a8d49 // leaq $-128(%r10), %rcx - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - LONG $0x07ebc148 // shrq $7, %rbx - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xda89 // movl %ebx, %edx - WORD $0xe283; BYTE $0x03 // andl $3, %edx - LONG $0x80f98148; WORD $0x0001; BYTE $0x00 // cmpq $384, %rcx - LONG $0x00d7830f; WORD $0x0000 // jae LBB32_78, $215(%rip) - WORD $0xc031 // xorl %eax, %eax - LONG $0x000188e9; BYTE $0x00 // jmp LBB32_80, $392(%rip) - -LBB32_52: - LONG $0x0001b941; WORD $0x0000 // movl $1, %r9d - WORD $0xfe83; BYTE $0x0a // cmpl $10, %esi - LONG $0x0021820f; WORD $0x0000 // jb LBB32_55, $33(%rip) - LONG $0x0002b941; WORD $0x0000 // movl $2, %r9d - WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x0012820f; WORD $0x0000 // jb LBB32_55, $18(%rip) - LONG $0x0003b941; WORD $0x0000 // movl $3, %r9d - LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi - LONG $0x01bc830f; WORD $0x0000 // jae LBB32_86, $444(%rip) - -LBB32_55: - WORD $0x014d; BYTE $0xc1 // addq %r8, %r9 - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x0048820f; WORD $0x0000 // jb LBB32_58, $72(%rip) - -LBB32_56: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0xbf158d4c; WORD $0x003a; BYTE $0x00 // leaq $15039(%rip), %r10 /* _Digits(%rip) */ - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB32_57: - WORD $0xf389 // movl %esi, %ebx - WORD $0xf689 // movl %esi, %esi - LONG $0x1ff66948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rsi, %rsi - LONG $0x25eec148 // shrq $37, %rsi - WORD $0xce6b; BYTE $0x64 // imull $100, %esi, %ecx - WORD $0xda89 // movl %ebx, %edx - WORD $0xca29 // subl %ecx, %edx - LONG $0x0cb70f41; BYTE $0x52 // movzwl (%r10,%rdx,2), %ecx - LONG $0xff488966 // movw %cx, $-1(%rax) - LONG $0xfec08348 // addq $-2, %rax - LONG $0x270ffb81; WORD $0x0000 // cmpl $9999, %ebx - LONG $0xffd1870f; WORD $0xffff // ja LBB32_57, $-47(%rip) - -LBB32_58: - WORD $0xfe83; BYTE $0x0a // cmpl $10, %esi - LONG $0x0016820f; WORD $0x0000 // jb LBB32_60, $22(%rip) - WORD $0xf089 // movl %esi, %eax - LONG $0x6f0d8d48; WORD $0x003a; BYTE $0x00 // leaq $14959(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x00894166 // movw %ax, (%r8) - LONG $0x000007e9; BYTE $0x00 // jmp LBB32_61, $7(%rip) - -LBB32_60: - LONG $0x30c68040 // addb $48, %sil - WORD $0x8841; BYTE $0x30 // movb %sil, (%r8) - -LBB32_61: - WORD $0x2941; BYTE $0xf9 // subl %edi, %r9d - WORD $0x8945; BYTE $0xc8 // movl %r9d, %r8d - LONG $0x0005d5e9; BYTE $0x00 // jmp LBB32_137, $1493(%rip) - -LBB32_62: - LONG $0x0004b941; WORD $0x0000 // movl $4, %r9d - LONG $0xfc4e8d49 // leaq $-4(%r14), %rcx - WORD $0xfb83; BYTE $0x64 // cmpl $100, %ebx - LONG $0xfb9d820f; WORD $0xffff // jb LBB32_31, $-1123(%rip) - LONG $0xfffc43e9; BYTE $0xff // jmp LBB32_64, $-957(%rip) - -LBB32_78: - QUAD $0x000001e0078c8d48 // leaq $480(%rdi,%rax), %rcx - LONG $0xfce38348 // andq $-4, %rbx - WORD $0xf748; BYTE $0xdb // negq %rbx - WORD $0xc031 // xorl %eax, %eax - QUAD $0xfffff87f056ffdc5 // vmovdqa $-1921(%rip), %ymm0 /* LCPI32_0(%rip) */ - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB32_79: - QUAD $0xfffe2001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-480(%rcx,%rax) - QUAD $0xfffe4001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-448(%rcx,%rax) - QUAD $0xfffe6001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-416(%rcx,%rax) - QUAD $0xfffe8001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-384(%rcx,%rax) - QUAD $0xfffea001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-352(%rcx,%rax) - QUAD $0xfffec001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-320(%rcx,%rax) - QUAD $0xfffee001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-288(%rcx,%rax) - QUAD $0xffff0001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-256(%rcx,%rax) - QUAD $0xffff2001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-224(%rcx,%rax) - QUAD $0xffff4001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-192(%rcx,%rax) - QUAD $0xffff6001847ffec5; BYTE $0xff // vmovdqu %ymm0, $-160(%rcx,%rax) - LONG $0x447ffec5; WORD $0x8001 // vmovdqu %ymm0, $-128(%rcx,%rax) - LONG $0x447ffec5; WORD $0xa001 // vmovdqu %ymm0, $-96(%rcx,%rax) - LONG $0x447ffec5; WORD $0xc001 // vmovdqu %ymm0, $-64(%rcx,%rax) - LONG $0x447ffec5; WORD $0xe001 // vmovdqu %ymm0, $-32(%rcx,%rax) - LONG $0x047ffec5; BYTE $0x01 // vmovdqu %ymm0, (%rcx,%rax) - LONG $0x02000548; WORD $0x0000 // addq $512, %rax - LONG $0x04c38348 // addq $4, %rbx - LONG $0xff70850f; WORD $0xffff // jne LBB32_79, $-144(%rip) - -LBB32_80: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0037840f; WORD $0x0000 // je LBB32_83, $55(%rip) - WORD $0x014c; BYTE $0xc8 // addq %r9, %rax - WORD $0x014c; BYTE $0xe0 // addq %r12, %rax - LONG $0x07448d48; BYTE $0x60 // leaq $96(%rdi,%rax), %rax - WORD $0xf748; BYTE $0xda // negq %rdx - QUAD $0xfffff7c1056ffdc5 // vmovdqa $-2111(%rip), %ymm0 /* LCPI32_0(%rip) */ - BYTE $0x90 // .p2align 4, 0x90 - -LBB32_82: - LONG $0x407ffec5; BYTE $0xa0 // vmovdqu %ymm0, $-96(%rax) - LONG $0x407ffec5; BYTE $0xc0 // vmovdqu %ymm0, $-64(%rax) - LONG $0x407ffec5; BYTE $0xe0 // vmovdqu %ymm0, $-32(%rax) - LONG $0x007ffec5 // vmovdqu %ymm0, (%rax) - LONG $0x80e88348 // subq $-128, %rax - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0xffe0850f; WORD $0xffff // jne LBB32_82, $-32(%rip) - -LBB32_83: - WORD $0x394d; BYTE $0xda // cmpq %r11, %r10 - LONG $0x04b9840f; WORD $0x0000 // je LBB32_136, $1209(%rip) - WORD $0x014c; BYTE $0xd6 // addq %r10, %rsi - LONG $0x90909090 // .p2align 4, 0x90 - -LBB32_85: - WORD $0x06c6; BYTE $0x30 // movb $48, (%rsi) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0xfff1820f; WORD $0xffff // jb LBB32_85, $-15(%rip) - LONG $0x00049ee9; BYTE $0x00 // jmp LBB32_136, $1182(%rip) - -LBB32_86: - LONG $0x2710fe81; WORD $0x0000 // cmpl $10000, %esi - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0x00d88348 // sbbq $0, %rax - LONG $0x05c08348 // addq $5, %rax - LONG $0x2710fe81; WORD $0x0000 // cmpl $10000, %esi - LONG $0xfc3a830f; WORD $0xffff // jae LBB32_37, $-966(%rip) - WORD $0x8949; BYTE $0xc1 // movq %rax, %r9 - LONG $0xfffe2ee9; BYTE $0xff // jmp LBB32_56, $-466(%rip) - -LBB32_88: - QUAD $0x000001e239848d49 // leaq $482(%r9,%rdi), %rax - LONG $0xfce68349 // andq $-4, %r14 - WORD $0xf749; BYTE $0xde // negq %r14 - WORD $0xdb31 // xorl %ebx, %ebx - QUAD $0xfffff73e056ffdc5 // vmovdqa $-2242(%rip), %ymm0 /* LCPI32_0(%rip) */ - -LBB32_89: - QUAD $0xfffe2018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-480(%rax,%rbx) - QUAD $0xfffe4018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-448(%rax,%rbx) - QUAD $0xfffe6018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-416(%rax,%rbx) - QUAD $0xfffe8018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-384(%rax,%rbx) - QUAD $0xfffea018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-352(%rax,%rbx) - QUAD $0xfffec018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-320(%rax,%rbx) - QUAD $0xfffee018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-288(%rax,%rbx) - QUAD $0xffff0018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-256(%rax,%rbx) - QUAD $0xffff2018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-224(%rax,%rbx) - QUAD $0xffff4018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-192(%rax,%rbx) - QUAD $0xffff6018847ffec5; BYTE $0xff // vmovdqu %ymm0, $-160(%rax,%rbx) - LONG $0x447ffec5; WORD $0x8018 // vmovdqu %ymm0, $-128(%rax,%rbx) - LONG $0x447ffec5; WORD $0xa018 // vmovdqu %ymm0, $-96(%rax,%rbx) - LONG $0x447ffec5; WORD $0xc018 // vmovdqu %ymm0, $-64(%rax,%rbx) - LONG $0x447ffec5; WORD $0xe018 // vmovdqu %ymm0, $-32(%rax,%rbx) - LONG $0x047ffec5; BYTE $0x18 // vmovdqu %ymm0, (%rax,%rbx) - LONG $0x00c38148; WORD $0x0002; BYTE $0x00 // addq $512, %rbx - LONG $0x04c68349 // addq $4, %r14 - LONG $0xff6f850f; WORD $0xffff // jne LBB32_89, $-145(%rip) - -LBB32_90: - WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x0033840f; WORD $0x0000 // je LBB32_93, $51(%rip) - WORD $0x014c; BYTE $0xcb // addq %r9, %rbx - LONG $0x1f448d48; BYTE $0x62 // leaq $98(%rdi,%rbx), %rax - WORD $0xf749; BYTE $0xdb // negq %r11 - QUAD $0xfffff691056ffdc5 // vmovdqa $-2415(%rip), %ymm0 /* LCPI32_0(%rip) */ - -LBB32_92: - LONG $0x407ffec5; BYTE $0xa0 // vmovdqu %ymm0, $-96(%rax) - LONG $0x407ffec5; BYTE $0xc0 // vmovdqu %ymm0, $-64(%rax) - LONG $0x407ffec5; BYTE $0xe0 // vmovdqu %ymm0, $-32(%rax) - LONG $0x007ffec5 // vmovdqu %ymm0, (%rax) - LONG $0x80e88348 // subq $-128, %rax - WORD $0xff49; BYTE $0xc3 // incq %r11 - LONG $0xffe0850f; WORD $0xffff // jne LBB32_92, $-32(%rip) - -LBB32_93: - WORD $0x014d; BYTE $0xf8 // addq %r15, %r8 - WORD $0x394c; BYTE $0xfe // cmpq %r15, %rsi - LONG $0x0025840f; WORD $0x0000 // je LBB32_96, $37(%rip) - -LBB32_94: - WORD $0x0145; BYTE $0xd7 // addl %r10d, %r15d - WORD $0xf741; BYTE $0xdf // negl %r15d - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB32_95: - LONG $0x3000c641 // movb $48, (%r8) - WORD $0xff49; BYTE $0xc0 // incq %r8 - WORD $0xff41; BYTE $0xcf // decl %r15d - LONG $0xfff0850f; WORD $0xffff // jne LBB32_95, $-16(%rip) - -LBB32_96: - LONG $0x20048d4b // leaq (%r8,%r12), %rax - LONG $0x10fd8141; WORD $0x0027; BYTE $0x00 // cmpl $10000, %r13d - LONG $0x0063820f; WORD $0x0000 // jb LBB32_99, $99(%rip) - WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - LONG $0x1759bb41; WORD $0xd1b7 // movl $3518437209, %r11d - LONG $0xd9af0f4c // imulq %rcx, %r11 - LONG $0x2debc149 // shrq $45, %r11 - LONG $0xf0cb6941; WORD $0xffd8; BYTE $0xff // imull $-10000, %r11d, %ecx - WORD $0x0144; BYTE $0xe9 // addl %r13d, %ecx - LONG $0x0190840f; WORD $0x0000 // je LBB32_101, $400(%rip) - WORD $0xca89 // movl %ecx, %edx - LONG $0x1fd26948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rdx, %rdx - LONG $0x25eac148 // shrq $37, %rdx - WORD $0xda6b; BYTE $0x64 // imull $100, %edx, %ebx - WORD $0xd929 // subl %ebx, %ecx - LONG $0x951d8d48; WORD $0x0037; BYTE $0x00 // leaq $14229(%rip), %rbx /* _Digits(%rip) */ - LONG $0x4b0cb70f // movzwl (%rbx,%rcx,2), %ecx - LONG $0xfe488966 // movw %cx, $-2(%rax) - LONG $0x530cb70f // movzwl (%rbx,%rdx,2), %ecx - LONG $0xfc488966 // movw %cx, $-4(%rax) - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0xfcc08348 // addq $-4, %rax - LONG $0x64fb8341 // cmpl $100, %r11d - LONG $0x0018830f; WORD $0x0000 // jae LBB32_103, $24(%rip) - -LBB32_100: - WORD $0x8944; BYTE $0xd9 // movl %r11d, %ecx - LONG $0x00004ee9; BYTE $0x00 // jmp LBB32_105, $78(%rip) - -LBB32_99: - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x8945; BYTE $0xeb // movl %r13d, %r11d - LONG $0x64fb8341 // cmpl $100, %r11d - LONG $0xffe8820f; WORD $0xffff // jb LBB32_100, $-24(%rip) - -LBB32_103: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0x52158d48; WORD $0x0037; BYTE $0x00 // leaq $14162(%rip), %rdx /* _Digits(%rip) */ - WORD $0x9090 // .p2align 4, 0x90 - -LBB32_104: - WORD $0x8944; BYTE $0xd9 // movl %r11d, %ecx - LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx - LONG $0x25e9c148 // shrq $37, %rcx - WORD $0xd96b; BYTE $0x64 // imull $100, %ecx, %ebx - WORD $0x8944; BYTE $0xde // movl %r11d, %esi - WORD $0xde29 // subl %ebx, %esi - LONG $0x7234b70f // movzwl (%rdx,%rsi,2), %esi - LONG $0xff708966 // movw %si, $-1(%rax) - LONG $0xfec08348 // addq $-2, %rax - LONG $0x0ffb8141; WORD $0x0027; BYTE $0x00 // cmpl $9999, %r11d - WORD $0x8941; BYTE $0xcb // movl %ecx, %r11d - LONG $0xffce870f; WORD $0xffff // ja LBB32_104, $-50(%rip) - -LBB32_105: - WORD $0xf983; BYTE $0x0a // cmpl $10, %ecx - LONG $0x0016820f; WORD $0x0000 // jb LBB32_107, $22(%rip) - WORD $0xc889 // movl %ecx, %eax - LONG $0x0c0d8d48; WORD $0x0037; BYTE $0x00 // leaq $14092(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x00894166 // movw %ax, (%r8) - LONG $0x000006e9; BYTE $0x00 // jmp LBB32_108, $6(%rip) - -LBB32_107: - WORD $0xc180; BYTE $0x30 // addb $48, %cl - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - -LBB32_108: - WORD $0x294d; BYTE $0xcc // subq %r9, %r12 - LONG $0x24548d49; BYTE $0x01 // leaq $1(%r12), %rdx - LONG $0x24748d49; BYTE $0x61 // leaq $97(%r12), %rsi - LONG $0x24448d49; BYTE $0x02 // leaq $2(%r12), %rax - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB32_109: - WORD $0xff48; BYTE $0xce // decq %rsi - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0x207c8043; WORD $0x30ff // cmpb $48, $-1(%r8,%r12) - LONG $0x24648d4d; BYTE $0xff // leaq $-1(%r12), %r12 - LONG $0xffe6840f; WORD $0xffff // je LBB32_109, $-26(%rip) - LONG $0x100c8d4d // leaq (%r8,%rdx), %r9 - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x00938e0f; WORD $0x0000 // jle LBB32_115, $147(%rip) - WORD $0x8944; BYTE $0xc9 // movl %r9d, %ecx - WORD $0x2944; BYTE $0xc1 // subl %r8d, %ecx - WORD $0xcb89 // movl %ecx, %ebx - WORD $0x2944; BYTE $0xd3 // subl %r10d, %ebx - LONG $0x00278e0f; WORD $0x0000 // jle LBB32_116, $39(%rip) - WORD $0xdb85 // testl %ebx, %ebx - LONG $0x00fa8e0f; WORD $0x0000 // jle LBB32_127, $250(%rip) - WORD $0x8941; BYTE $0xdb // movl %ebx, %r11d - LONG $0xff4b8d49 // leaq $-1(%r11), %rcx - WORD $0x8945; BYTE $0xd9 // movl %r11d, %r9d - LONG $0x03e18341 // andl $3, %r9d - LONG $0x03f98348 // cmpq $3, %rcx - LONG $0x0083830f; WORD $0x0000 // jae LBB32_121, $131(%rip) - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x0000ade9; BYTE $0x00 // jmp LBB32_124, $173(%rip) - -LBB32_116: - WORD $0x8945; BYTE $0xd6 // movl %r10d, %r14d - WORD $0x2941; BYTE $0xce // subl %ecx, %r14d - LONG $0x004f8e0f; WORD $0x0000 // jle LBB32_115, $79(%rip) - WORD $0x0145; BYTE $0xc2 // addl %r8d, %r10d - WORD $0x8945; BYTE $0xcb // movl %r9d, %r11d - WORD $0xf741; BYTE $0xd3 // notl %r11d - WORD $0x0145; BYTE $0xd3 // addl %r10d, %r11d - WORD $0xc031 // xorl %eax, %eax - LONG $0x7efb8341 // cmpl $126, %r11d - LONG $0x01bd860f; WORD $0x0000 // jbe LBB32_134, $445(%rip) - WORD $0xff49; BYTE $0xc3 // incq %r11 - WORD $0x894c; BYTE $0xd8 // movq %r11, %rax - LONG $0x80e08348 // andq $-128, %rax - LONG $0x000c8d4d // leaq (%r8,%rax), %r9 - LONG $0x80488d48 // leaq $-128(%rax), %rcx - WORD $0x8949; BYTE $0xcf // movq %rcx, %r15 - LONG $0x07efc149 // shrq $7, %r15 - WORD $0xff49; BYTE $0xc7 // incq %r15 - WORD $0x8945; BYTE $0xfa // movl %r15d, %r10d - LONG $0x03e28341 // andl $3, %r10d - LONG $0x80f98148; WORD $0x0001; BYTE $0x00 // cmpq $384, %rcx - LONG $0x0097830f; WORD $0x0000 // jae LBB32_128, $151(%rip) - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x000139e9; BYTE $0x00 // jmp LBB32_130, $313(%rip) - -LBB32_115: - WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 - LONG $0x0001a0e9; BYTE $0x00 // jmp LBB32_136, $416(%rip) - -LBB32_101: - LONG $0x0004b941; WORD $0x0000 // movl $4, %r9d - LONG $0xfcc08348 // addq $-4, %rax - LONG $0x64fb8341 // cmpl $100, %r11d - LONG $0xfe96820f; WORD $0xffff // jb LBB32_100, $-362(%rip) - LONG $0xfffea9e9; BYTE $0xff // jmp LBB32_103, $-343(%rip) - -LBB32_121: - LONG $0xfce38341 // andl $-4, %r11d - WORD $0xf749; BYTE $0xdb // negq %r11 - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB32_122: - LONG $0x081c8d49 // leaq (%r8,%rcx), %rbx - LONG $0xfc1a748b // movl $-4(%rdx,%rbx), %esi - LONG $0xfd1a7489 // movl %esi, $-3(%rdx,%rbx) - LONG $0xfcc18348 // addq $-4, %rcx - WORD $0x3949; BYTE $0xcb // cmpq %rcx, %r11 - LONG $0xffe7850f; WORD $0xffff // jne LBB32_122, $-25(%rip) - WORD $0xf748; BYTE $0xd9 // negq %rcx - -LBB32_124: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x0025840f; WORD $0x0000 // je LBB32_127, $37(%rip) - WORD $0xf749; BYTE $0xd9 // negq %r9 - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - WORD $0x2948; BYTE $0xca // subq %rcx, %rdx - WORD $0xc931 // xorl %ecx, %ecx - - // .p2align 4, 0x90 -LBB32_126: - LONG $0x0a348d48 // leaq (%rdx,%rcx), %rsi - LONG $0x1cb60f41; BYTE $0x34 // movzbl (%r12,%rsi), %ebx - LONG $0x345c8841; BYTE $0x01 // movb %bl, $1(%r12,%rsi) - WORD $0xff48; BYTE $0xc9 // decq %rcx - WORD $0x3949; BYTE $0xc9 // cmpq %rcx, %r9 - LONG $0xffe6850f; WORD $0xffff // jne LBB32_126, $-26(%rip) - -LBB32_127: - WORD $0x6349; BYTE $0xca // movslq %r10d, %rcx - LONG $0x0804c641; BYTE $0x2e // movb $46, (%r8,%rcx) - WORD $0x0149; BYTE $0xc0 // addq %rax, %r8 - LONG $0x000118e9; BYTE $0x00 // jmp LBB32_136, $280(%rip) - -LBB32_128: - LONG $0xfce78349 // andq $-4, %r15 - WORD $0xf749; BYTE $0xdf // negq %r15 - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0xfffff3e5056ffdc5 // vmovdqa $-3099(%rip), %ymm0 /* LCPI32_0(%rip) */ - -LBB32_129: - LONG $0x081c8d49 // leaq (%r8,%rcx), %rbx - LONG $0x047ffec5; BYTE $0x1a // vmovdqu %ymm0, (%rdx,%rbx) - LONG $0x447ffec5; WORD $0x201a // vmovdqu %ymm0, $32(%rdx,%rbx) - LONG $0x447ffec5; WORD $0x401a // vmovdqu %ymm0, $64(%rdx,%rbx) - LONG $0x447ffec5; WORD $0x601a // vmovdqu %ymm0, $96(%rdx,%rbx) - QUAD $0x0000801a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $128(%rdx,%rbx) - QUAD $0x0000a01a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $160(%rdx,%rbx) - QUAD $0x0000c01a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $192(%rdx,%rbx) - QUAD $0x0000e01a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $224(%rdx,%rbx) - QUAD $0x0001001a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $256(%rdx,%rbx) - QUAD $0x0001201a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $288(%rdx,%rbx) - QUAD $0x0001401a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $320(%rdx,%rbx) - QUAD $0x0001601a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $352(%rdx,%rbx) - QUAD $0x0001801a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $384(%rdx,%rbx) - QUAD $0x0001a01a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $416(%rdx,%rbx) - QUAD $0x0001c01a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $448(%rdx,%rbx) - QUAD $0x0001e01a847ffec5; BYTE $0x00 // vmovdqu %ymm0, $480(%rdx,%rbx) - LONG $0x00c18148; WORD $0x0002; BYTE $0x00 // addq $512, %rcx - LONG $0x04c78349 // addq $4, %r15 - LONG $0xff68850f; WORD $0xffff // jne LBB32_129, $-152(%rip) - -LBB32_130: - WORD $0x0149; BYTE $0xd1 // addq %rdx, %r9 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0035840f; WORD $0x0000 // je LBB32_133, $53(%rip) - WORD $0x0149; BYTE $0xc8 // addq %rcx, %r8 - WORD $0x0149; BYTE $0xf0 // addq %rsi, %r8 - WORD $0xf749; BYTE $0xda // negq %r10 - QUAD $0xfffff330056ffdc5 // vmovdqa $-3280(%rip), %ymm0 /* LCPI32_0(%rip) */ - -LBB32_132: - LONG $0x7f7ec1c4; WORD $0xa040 // vmovdqu %ymm0, $-96(%r8) - LONG $0x7f7ec1c4; WORD $0xc040 // vmovdqu %ymm0, $-64(%r8) - LONG $0x7f7ec1c4; WORD $0xe040 // vmovdqu %ymm0, $-32(%r8) - LONG $0x7f7ec1c4; BYTE $0x00 // vmovdqu %ymm0, (%r8) - LONG $0x80e88349 // subq $-128, %r8 - WORD $0xff49; BYTE $0xc2 // incq %r10 - LONG $0xffdc850f; WORD $0xffff // jne LBB32_132, $-36(%rip) - -LBB32_133: - WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 - WORD $0x3949; BYTE $0xc3 // cmpq %rax, %r11 - LONG $0x0022840f; WORD $0x0000 // je LBB32_136, $34(%rip) - -LBB32_134: - WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB32_135: - LONG $0x3000c641 // movb $48, (%r8) - WORD $0xff49; BYTE $0xc0 // incq %r8 - WORD $0xc0ff // incl %eax - WORD $0x3944; BYTE $0xf0 // cmpl %r14d, %eax - LONG $0xffee8c0f; WORD $0xffff // jl LBB32_135, $-18(%rip) - -LBB32_136: - WORD $0x2941; BYTE $0xf8 // subl %edi, %r8d - -LBB32_137: - WORD $0x8944; BYTE $0xc0 // movl %r8d, %eax - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB32_138: - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0xffffe7e9; BYTE $0xff // jmp LBB32_137, $-25(%rip) - -LBB32_139: - LONG $0xff6bbf41; WORD $0xffff // movl $-149, %r15d - WORD $0xc689 // movl %eax, %esi - LONG $0xfff352e9; BYTE $0xff // jmp LBB32_5, $-3246(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -_format_significand: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0x634c; BYTE $0xc2 // movslq %edx, %r8 - WORD $0x0149; BYTE $0xf0 // addq %rsi, %r8 - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x20e8c148 // shrq $32, %rax - LONG $0x001c850f; WORD $0x0000 // jne LBB33_2, $28(%rip) - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x894d; BYTE $0xc6 // movq %r8, %r14 - WORD $0x8948; BYTE $0xfa // movq %rdi, %rdx - LONG $0x2710fa81; WORD $0x0000 // cmpl $10000, %edx - LONG $0x00e3830f; WORD $0x0000 // jae LBB33_8, $227(%rip) - -LBB33_7: - WORD $0xd789 // movl %edx, %edi - LONG $0x000132e9; BYTE $0x00 // jmp LBB33_10, $306(%rip) - -LBB33_2: - QUAD $0x77118461cefdb948; WORD $0xabcc // movabsq $-6067343680855748867, %rcx - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - WORD $0xf748; BYTE $0xe1 // mulq %rcx - LONG $0x1aeac148 // shrq $26, %rdx - LONG $0x1f00ca69; WORD $0xfa0a // imull $-100000000, %edx, %ecx - WORD $0xf901 // addl %edi, %ecx - LONG $0x00a4840f; WORD $0x0000 // je LBB33_3, $164(%rip) - WORD $0xc889 // movl %ecx, %eax - LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - LONG $0xc1af0f49 // imulq %r9, %rax - LONG $0x2de8c148 // shrq $45, %rax - LONG $0x2710f869; WORD $0x0000 // imull $10000, %eax, %edi - WORD $0xf929 // subl %edi, %ecx - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0xf9af0f49 // imulq %r9, %rdi - LONG $0x2defc148 // shrq $45, %rdi - LONG $0x2710ff69; WORD $0x0000 // imull $10000, %edi, %edi - WORD $0xf829 // subl %edi, %eax - WORD $0xb70f; BYTE $0xf9 // movzwl %cx, %edi - WORD $0xefc1; BYTE $0x02 // shrl $2, %edi - LONG $0x7bcf6944; WORD $0x0014; BYTE $0x00 // imull $5243, %edi, %r9d - LONG $0x11e9c141 // shrl $17, %r9d - LONG $0x64f96b41 // imull $100, %r9d, %edi - WORD $0xf929 // subl %edi, %ecx - LONG $0xd1b70f44 // movzwl %cx, %r10d - WORD $0xb70f; BYTE $0xf8 // movzwl %ax, %edi - WORD $0xefc1; BYTE $0x02 // shrl $2, %edi - LONG $0x147bff69; WORD $0x0000 // imull $5243, %edi, %edi - WORD $0xefc1; BYTE $0x11 // shrl $17, %edi - WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx - WORD $0xc829 // subl %ecx, %eax - LONG $0xd8b70f44 // movzwl %ax, %r11d - LONG $0x930d8d48; WORD $0x0033; BYTE $0x00 // leaq $13203(%rip), %rcx /* _Digits(%rip) */ - LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax - LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8) - LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax - LONG $0x40894166; BYTE $0xfc // movw %ax, $-4(%r8) - LONG $0x04b70f42; BYTE $0x59 // movzwl (%rcx,%r11,2), %eax - LONG $0x40894166; BYTE $0xfa // movw %ax, $-6(%r8) - LONG $0x7904b70f // movzwl (%rcx,%rdi,2), %eax - LONG $0x40894166; BYTE $0xf8 // movw %ax, $-8(%r8) - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0xf8708d4d // leaq $-8(%r8), %r14 - LONG $0x2710fa81; WORD $0x0000 // cmpl $10000, %edx - LONG $0xff38820f; WORD $0xffff // jb LBB33_7, $-200(%rip) - LONG $0x000016e9; BYTE $0x00 // jmp LBB33_8, $22(%rip) - -LBB33_3: - LONG $0x0008b941; WORD $0x0000 // movl $8, %r9d - LONG $0xf8708d4d // leaq $-8(%r8), %r14 - LONG $0x2710fa81; WORD $0x0000 // cmpl $10000, %edx - LONG $0xff1d820f; WORD $0xffff // jb LBB33_7, $-227(%rip) - -LBB33_8: - LONG $0x1759ba41; WORD $0xd1b7 // movl $3518437209, %r10d - LONG $0x311d8d4c; WORD $0x0033; BYTE $0x00 // leaq $13105(%rip), %r11 /* _Digits(%rip) */ - BYTE $0x90 // .p2align 4, 0x90 - -LBB33_9: - WORD $0xd789 // movl %edx, %edi - LONG $0xfaaf0f49 // imulq %r10, %rdi - LONG $0x2defc148 // shrq $45, %rdi - LONG $0xd8f0c769; WORD $0xffff // imull $-10000, %edi, %eax - WORD $0xd001 // addl %edx, %eax - LONG $0x1fd86948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rax, %rbx - LONG $0x25ebc148 // shrq $37, %rbx - WORD $0xcb6b; BYTE $0x64 // imull $100, %ebx, %ecx - WORD $0xc829 // subl %ecx, %eax - LONG $0x04b70f41; BYTE $0x43 // movzwl (%r11,%rax,2), %eax - LONG $0x46894166; BYTE $0xfe // movw %ax, $-2(%r14) - LONG $0x04b70f41; BYTE $0x5b // movzwl (%r11,%rbx,2), %eax - LONG $0x46894166; BYTE $0xfc // movw %ax, $-4(%r14) - LONG $0xfcc68349 // addq $-4, %r14 - LONG $0xe0fffa81; WORD $0x05f5 // cmpl $99999999, %edx - WORD $0xfa89 // movl %edi, %edx - LONG $0xffb8870f; WORD $0xffff // ja LBB33_9, $-72(%rip) - -LBB33_10: - WORD $0xff83; BYTE $0x64 // cmpl $100, %edi - LONG $0x0020830f; WORD $0x0000 // jae LBB33_11, $32(%rip) - WORD $0xff83; BYTE $0x0a // cmpl $10, %edi - LONG $0x004d820f; WORD $0x0000 // jb LBB33_14, $77(%rip) - -LBB33_13: - WORD $0xf889 // movl %edi, %eax - LONG $0xcd0d8d48; WORD $0x0032; BYTE $0x00 // leaq $13005(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x46894166; BYTE $0xfe // movw %ax, $-2(%r14) - LONG $0x00003de9; BYTE $0x00 // jmp LBB33_15, $61(%rip) - -LBB33_11: - WORD $0xb70f; BYTE $0xc7 // movzwl %di, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx - WORD $0xcf29 // subl %ecx, %edi - WORD $0xb70f; BYTE $0xcf // movzwl %di, %ecx - LONG $0xa1158d48; WORD $0x0032; BYTE $0x00 // leaq $12961(%rip), %rdx /* _Digits(%rip) */ - LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx - LONG $0x4e894166; BYTE $0xfe // movw %cx, $-2(%r14) - LONG $0xfec68349 // addq $-2, %r14 - WORD $0xc789 // movl %eax, %edi - WORD $0xff83; BYTE $0x0a // cmpl $10, %edi - LONG $0xffb3830f; WORD $0xffff // jae LBB33_13, $-77(%rip) - -LBB33_14: - LONG $0x30c78040 // addb $48, %dil - WORD $0x8840; BYTE $0x3e // movb %dil, (%rsi) - -LBB33_15: - WORD $0x294d; BYTE $0xc8 // subq %r9, %r8 - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_left_shift: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0xf189 // movl %esi, %ecx - LONG $0x68d16b48 // imulq $104, %rcx, %rdx - LONG $0x4c358d48; WORD $0x008c; BYTE $0x00 // leaq $35916(%rip), %rsi /* _LSHIFT_TAB(%rip) */ - LONG $0x32048b44 // movl (%rdx,%rsi), %r8d - WORD $0x8b4c; BYTE $0x17 // movq (%rdi), %r10 - LONG $0x104f634c // movslq $16(%rdi), %r9 - LONG $0x0432448a // movb $4(%rdx,%rsi), %al - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x0036840f; WORD $0x0000 // je LBB34_6, $54(%rip) - LONG $0x32548d48; BYTE $0x05 // leaq $5(%rdx,%rsi), %rdx - WORD $0xf631 // xorl %esi, %esi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB34_3: - WORD $0xc084 // testb %al, %al - LONG $0x0025840f; WORD $0x0000 // je LBB34_8, $37(%rip) - LONG $0x32043841 // cmpb %al, (%r10,%rsi) - LONG $0x0189850f; WORD $0x0000 // jne LBB34_5, $393(%rip) - LONG $0x3204b60f // movzbl (%rdx,%rsi), %eax - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x3949; BYTE $0xf1 // cmpq %rsi, %r9 - LONG $0xffde850f; WORD $0xffff // jne LBB34_3, $-34(%rip) - -LBB34_6: - WORD $0xc084 // testb %al, %al - LONG $0x0003840f; WORD $0x0000 // je LBB34_8, $3(%rip) - -LBB34_7: - WORD $0xff41; BYTE $0xc8 // decl %r8d - -LBB34_8: - WORD $0x8545; BYTE $0xc9 // testl %r9d, %r9d - LONG $0x008c8e0f; WORD $0x0000 // jle LBB34_23, $140(%rip) - LONG $0x08048d43 // leal (%r8,%r9), %eax - WORD $0x634c; BYTE $0xf0 // movslq %eax, %r14 - WORD $0xff49; BYTE $0xce // decq %r14 - WORD $0xd231 // xorl %edx, %edx - QUAD $0xcccccccccccdbb49; WORD $0xcccc // movabsq $-3689348814741910323, %r11 - LONG $0x90909090 // .p2align 4, 0x90 - -LBB34_10: - LONG $0x74be0f4b; WORD $0xff0a // movsbq $-1(%r10,%r9), %rsi - LONG $0xd0c68348 // addq $-48, %rsi - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0x0148; BYTE $0xd6 // addq %rdx, %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - LONG $0x03eac148 // shrq $3, %rdx - LONG $0x12048d48 // leaq (%rdx,%rdx), %rax - LONG $0x801c8d48 // leaq (%rax,%rax,4), %rbx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x2948; BYTE $0xd8 // subq %rbx, %rax - LONG $0x0877394c // cmpq %r14, $8(%rdi) - LONG $0x000e860f; WORD $0x0000 // jbe LBB34_16, $14(%rip) - WORD $0x3004 // addb $48, %al - LONG $0x32048843 // movb %al, (%r10,%r14) - LONG $0x000013e9; BYTE $0x00 // jmp LBB34_18, $19(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB34_16: - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0007840f; WORD $0x0000 // je LBB34_18, $7(%rip) - LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - -LBB34_18: - LONG $0x02f98349 // cmpq $2, %r9 - LONG $0x000e8c0f; WORD $0x0000 // jl LBB34_12, $14(%rip) - WORD $0xff49; BYTE $0xc9 // decq %r9 - WORD $0x8b4c; BYTE $0x17 // movq (%rdi), %r10 - WORD $0xff49; BYTE $0xce // decq %r14 - LONG $0xffff98e9; BYTE $0xff // jmp LBB34_10, $-104(%rip) - -LBB34_12: - LONG $0x0afe8348 // cmpq $10, %rsi - LONG $0x0067830f; WORD $0x0000 // jae LBB34_13, $103(%rip) - -LBB34_23: - LONG $0x104f6348 // movslq $16(%rdi), %rcx - WORD $0x6349; BYTE $0xc0 // movslq %r8d, %rax - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - WORD $0x4789; BYTE $0x10 // movl %eax, $16(%rdi) - LONG $0x084f8b48 // movq $8(%rdi), %rcx - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x0005870f; WORD $0x0000 // ja LBB34_25, $5(%rip) - WORD $0x4f89; BYTE $0x10 // movl %ecx, $16(%rdi) - WORD $0xc889 // movl %ecx, %eax - -LBB34_25: - LONG $0x14470144 // addl %r8d, $20(%rdi) - WORD $0xc085 // testl %eax, %eax - LONG $0x002f8e0f; WORD $0x0000 // jle LBB34_29, $47(%rip) - WORD $0x8b48; BYTE $0x0f // movq (%rdi), %rcx - WORD $0xc289 // movl %eax, %edx - WORD $0xff48; BYTE $0xc2 // incq %rdx - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB34_27: - WORD $0xc8ff // decl %eax - LONG $0x30013c80 // cmpb $48, (%rcx,%rax) - LONG $0x0018850f; WORD $0x0000 // jne LBB34_31, $24(%rip) - WORD $0x4789; BYTE $0x10 // movl %eax, $16(%rdi) - WORD $0xff48; BYTE $0xca // decq %rdx - LONG $0x01fa8348 // cmpq $1, %rdx - LONG $0xffe48f0f; WORD $0xffff // jg LBB34_27, $-28(%rip) - -LBB34_29: - WORD $0xc085 // testl %eax, %eax - LONG $0x006b840f; WORD $0x0000 // je LBB34_30, $107(%rip) - -LBB34_31: - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB34_13: - WORD $0x6349; BYTE $0xf6 // movslq %r14d, %rsi - WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x000021e9; BYTE $0x00 // jmp LBB34_14, $33(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB34_15: - WORD $0x3004 // addb $48, %al - WORD $0x8b48; BYTE $0x1f // movq (%rdi), %rbx - WORD $0x0488; BYTE $0x33 // movb %al, (%rbx,%rsi) - -LBB34_22: - WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x09f98348 // cmpq $9, %rcx - LONG $0xff6d860f; WORD $0xffff // jbe LBB34_23, $-147(%rip) - -LBB34_14: - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - LONG $0x03eac148 // shrq $3, %rdx - LONG $0x12048d48 // leaq (%rdx,%rdx), %rax - LONG $0x801c8d48 // leaq (%rax,%rax,4), %rbx - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - WORD $0x2948; BYTE $0xd8 // subq %rbx, %rax - LONG $0x08773948 // cmpq %rsi, $8(%rdi) - LONG $0xffc6870f; WORD $0xffff // ja LBB34_15, $-58(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xffc5840f; WORD $0xffff // je LBB34_22, $-59(%rip) - LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - LONG $0xffffb9e9; BYTE $0xff // jmp LBB34_22, $-71(%rip) - -LBB34_30: - LONG $0x001447c7; WORD $0x0000; BYTE $0x00 // movl $0, $20(%rdi) - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB34_5: - LONG $0xfe898c0f; WORD $0xffff // jl LBB34_7, $-375(%rip) - LONG $0xfffe87e9; BYTE $0xff // jmp LBB34_8, $-377(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -_right_shift: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - WORD $0xf189 // movl %esi, %ecx - LONG $0x10478b44 // movl $16(%rdi), %r8d - WORD $0xd231 // xorl %edx, %edx - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0x0000bb41; WORD $0x0000 // movl $0, %r11d - LONG $0xd8490f45 // cmovnsl %r8d, %r11d - WORD $0xc031 // xorl %eax, %eax - LONG $0x90909090 // .p2align 4, 0x90 - -LBB35_1: - WORD $0x3949; BYTE $0xd3 // cmpq %rdx, %r11 - LONG $0x0132840f; WORD $0x0000 // je LBB35_2, $306(%rip) - LONG $0x80048d48 // leaq (%rax,%rax,4), %rax - WORD $0x8b48; BYTE $0x37 // movq (%rdi), %rsi - LONG $0x34be0f48; BYTE $0x16 // movsbq (%rsi,%rdx), %rsi - LONG $0x46448d48; BYTE $0xd0 // leaq $-48(%rsi,%rax,2), %rax - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0xd348; BYTE $0xee // shrq %cl, %rsi - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xffd4840f; WORD $0xffff // je LBB35_1, $-44(%rip) - WORD $0x8941; BYTE $0xd3 // movl %edx, %r11d - -LBB35_7: - WORD $0x578b; BYTE $0x14 // movl $20(%rdi), %edx - WORD $0x2944; BYTE $0xda // subl %r11d, %edx - WORD $0xc2ff // incl %edx - LONG $0xffc1c749; WORD $0xffff; BYTE $0xff // movq $-1, %r9 - WORD $0xd349; BYTE $0xe1 // shlq %cl, %r9 - WORD $0x5789; BYTE $0x14 // movl %edx, $20(%rdi) - WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3945; BYTE $0xc3 // cmpl %r8d, %r11d - LONG $0x00648d0f; WORD $0x0000 // jge LBB35_10, $100(%rip) - WORD $0x634d; BYTE $0xc3 // movslq %r11d, %r8 - WORD $0x8b48; BYTE $0x37 // movq (%rdi), %rsi - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - LONG $0x90909090 // .p2align 4, 0x90 - -LBB35_9: - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0xd348; BYTE $0xea // shrq %cl, %rdx - WORD $0x214c; BYTE $0xc8 // andq %r9, %rax - WORD $0xc280; BYTE $0x30 // addb $48, %dl - LONG $0x16148842 // movb %dl, (%rsi,%r10) - WORD $0x8b48; BYTE $0x37 // movq (%rdi), %rsi - LONG $0x06148d4a // leaq (%rsi,%r8), %rdx - LONG $0x1cbe0f4d; BYTE $0x12 // movsbq (%r10,%rdx), %r11 - LONG $0x105c8d4b; BYTE $0x01 // leaq $1(%r8,%r10), %rbx - LONG $0x01528d4d // leaq $1(%r10), %r10 - LONG $0x80048d48 // leaq (%rax,%rax,4), %rax - LONG $0x43448d49; BYTE $0xd0 // leaq $-48(%r11,%rax,2), %rax - LONG $0x10576348 // movslq $16(%rdi), %rdx - WORD $0x3948; BYTE $0xd3 // cmpq %rdx, %rbx - LONG $0xffc58c0f; WORD $0xffff // jl LBB35_9, $-59(%rip) - LONG $0x000017e9; BYTE $0x00 // jmp LBB35_10, $23(%rip) - - // .p2align 4, 0x90 -LBB35_12: - LONG $0x30c68040 // addb $48, %sil - WORD $0x8b48; BYTE $0x1f // movq (%rdi), %rbx - LONG $0x13348840 // movb %sil, (%rbx,%rdx) - WORD $0xc2ff // incl %edx - WORD $0x8941; BYTE $0xd2 // movl %edx, %r10d - -LBB35_15: - WORD $0x0148; BYTE $0xc0 // addq %rax, %rax - LONG $0x80048d48 // leaq (%rax,%rax,4), %rax - -LBB35_10: - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x002b840f; WORD $0x0000 // je LBB35_16, $43(%rip) - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0xd348; BYTE $0xee // shrq %cl, %rsi - WORD $0x214c; BYTE $0xc8 // andq %r9, %rax - WORD $0x6349; BYTE $0xd2 // movslq %r10d, %rdx - LONG $0x08573948 // cmpq %rdx, $8(%rdi) - LONG $0xffca870f; WORD $0xffff // ja LBB35_12, $-54(%rip) - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xffd1840f; WORD $0xffff // je LBB35_15, $-47(%rip) - LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - LONG $0xffffc5e9; BYTE $0xff // jmp LBB35_15, $-59(%rip) - -LBB35_16: - LONG $0x10578944 // movl %r10d, $16(%rdi) - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x00378e0f; WORD $0x0000 // jle LBB35_20, $55(%rip) - WORD $0x8b48; BYTE $0x07 // movq (%rdi), %rax - WORD $0x8944; BYTE $0xd1 // movl %r10d, %ecx - WORD $0xff48; BYTE $0xc1 // incq %rcx - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB35_18: - WORD $0xff41; BYTE $0xca // decl %r10d - LONG $0x103c8042; BYTE $0x30 // cmpb $48, (%rax,%r10) - LONG $0x001a850f; WORD $0x0000 // jne LBB35_22, $26(%rip) - LONG $0x10578944 // movl %r10d, $16(%rdi) - WORD $0xff48; BYTE $0xc9 // decq %rcx - LONG $0x01f98348 // cmpq $1, %rcx - LONG $0xffe18f0f; WORD $0xffff // jg LBB35_18, $-31(%rip) - -LBB35_20: - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x0045840f; WORD $0x0000 // je LBB35_21, $69(%rip) - -LBB35_22: - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB35_2: - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0043840f; WORD $0x0000 // je LBB35_23, $67(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0xd348; BYTE $0xea // shrq %cl, %rdx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xfed0850f; WORD $0xffff // jne LBB35_7, $-304(%rip) - -LBB35_4: - WORD $0x0148; BYTE $0xc0 // addq %rax, %rax - LONG $0x80048d48 // leaq (%rax,%rax,4), %rax - WORD $0xff41; BYTE $0xc3 // incl %r11d - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0xd348; BYTE $0xea // shrq %cl, %rdx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xffe7840f; WORD $0xffff // je LBB35_4, $-25(%rip) - LONG $0xfffeb2e9; BYTE $0xff // jmp LBB35_7, $-334(%rip) - -LBB35_21: - LONG $0x001447c7; WORD $0x0000; BYTE $0x00 // movl $0, $20(%rdi) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB35_23: - LONG $0x001047c7; WORD $0x0000; BYTE $0x00 // movl $0, $16(%rdi) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000; BYTE $0x00 // .p2align 5, 0x00 - -LCPI36_0: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI36_1: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - - // .p2align 4, 0x90 -_advance_string_default: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x087f8b4c // movq $8(%rdi), %r15 - WORD $0x2949; BYTE $0xf7 // subq %rsi, %r15 - LONG $0x028e840f; WORD $0x0000 // je LBB36_16, $654(%rip) - WORD $0x8b4c; BYTE $0x1f // movq (%rdi), %r11 - WORD $0x014c; BYTE $0xde // addq %r11, %rsi - LONG $0xff02c748; WORD $0xffff; BYTE $0xff // movq $-1, (%rdx) - LONG $0xffc0c749; WORD $0xffff; BYTE $0xff // movq $-1, %r8 - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - LONG $0x40ff8349 // cmpq $64, %r15 - LONG $0x00ed820f; WORD $0x0000 // jb LBB36_10, $237(%rip) - QUAD $0xffffff7f056ffdc5 // vmovdqa $-129(%rip), %ymm0 /* LCPI36_0(%rip) */ - QUAD $0xffffff970d6ffdc5 // vmovdqa $-105(%rip), %ymm1 /* LCPI36_1(%rip) */ - QUAD $0xaaaaaaaaaaaab949; WORD $0xaaaa // movabsq $-6148914691236517206, %r9 - QUAD $0x555555555555ba49; WORD $0x5555 // movabsq $6148914691236517205, %r10 - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB36_3: - LONG $0x166ffec5 // vmovdqu (%rsi), %ymm2 - LONG $0x5e6ffec5; BYTE $0x20 // vmovdqu $32(%rsi), %ymm3 - LONG $0xe074edc5 // vpcmpeqb %ymm0, %ymm2, %ymm4 - LONG $0xfcd7fdc5 // vpmovmskb %ymm4, %edi - LONG $0xe074e5c5 // vpcmpeqb %ymm0, %ymm3, %ymm4 - LONG $0xc4d7fdc5 // vpmovmskb %ymm4, %eax - LONG $0xd174edc5 // vpcmpeqb %ymm1, %ymm2, %ymm2 - LONG $0xdad7fdc5 // vpmovmskb %ymm2, %ebx - LONG $0xd174e5c5 // vpcmpeqb %ymm1, %ymm3, %ymm2 - LONG $0xcad7fdc5 // vpmovmskb %ymm2, %ecx - LONG $0x20e0c148 // shlq $32, %rax - WORD $0x0948; BYTE $0xc7 // orq %rax, %rdi - LONG $0x20e1c148 // shlq $32, %rcx - WORD $0x0948; BYTE $0xcb // orq %rcx, %rbx - LONG $0x002c850f; WORD $0x0000 // jne LBB36_7, $44(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x003d850f; WORD $0x0000 // jne LBB36_9, $61(%rip) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x00b7850f; WORD $0x0000 // jne LBB36_14, $183(%rip) - -LBB36_6: - LONG $0x40c68348 // addq $64, %rsi - LONG $0xc0c78349 // addq $-64, %r15 - LONG $0x3fff8349 // cmpq $63, %r15 - LONG $0xff9c870f; WORD $0xffff // ja LBB36_3, $-100(%rip) - LONG $0x00005de9; BYTE $0x00 // jmp LBB36_10, $93(%rip) - -LBB36_7: - LONG $0xfff88349 // cmpq $-1, %r8 - LONG $0x0010850f; WORD $0x0000 // jne LBB36_9, $16(%rip) - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x294c; BYTE $0xd8 // subq %r11, %rax - LONG $0xc3bc0f4c // bsfq %rbx, %r8 - WORD $0x0149; BYTE $0xc0 // addq %rax, %r8 - WORD $0x894c; BYTE $0x02 // movq %r8, (%rdx) - -LBB36_9: - WORD $0x894c; BYTE $0xf0 // movq %r14, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x2148; BYTE $0xd8 // andq %rbx, %rax - LONG $0x00248d4c // leaq (%rax,%rax), %r12 - WORD $0x094d; BYTE $0xf4 // orq %r14, %r12 - WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x2148; BYTE $0xd9 // andq %rbx, %rcx - WORD $0x214c; BYTE $0xc9 // andq %r9, %rcx - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x0148; BYTE $0xc1 // addq %rax, %rcx - LONG $0xc6920f41 // setb %r14b - WORD $0x0148; BYTE $0xc9 // addq %rcx, %rcx - WORD $0x314c; BYTE $0xd1 // xorq %r10, %rcx - WORD $0x214c; BYTE $0xe1 // andq %r12, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xff91840f; WORD $0xffff // je LBB36_6, $-111(%rip) - LONG $0x000043e9; BYTE $0x00 // jmp LBB36_14, $67(%rip) - -LBB36_10: - LONG $0x20ff8349 // cmpq $32, %r15 - LONG $0x00ac820f; WORD $0x0000 // jb LBB36_21, $172(%rip) - LONG $0x066ffec5 // vmovdqu (%rsi), %ymm0 - QUAD $0xfffffe840d74fdc5 // vpcmpeqb $-380(%rip), %ymm0, %ymm1 /* LCPI36_0(%rip) */ - LONG $0xf9d7fdc5 // vpmovmskb %ymm1, %edi - QUAD $0xfffffe980574fdc5 // vpcmpeqb $-360(%rip), %ymm0, %ymm0 /* LCPI36_1(%rip) */ - LONG $0xd8d7fdc5 // vpmovmskb %ymm0, %ebx - WORD $0xdb85 // testl %ebx, %ebx - LONG $0x002d850f; WORD $0x0000 // jne LBB36_17, $45(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x003e850f; WORD $0x0000 // jne LBB36_19, $62(%rip) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x006b840f; WORD $0x0000 // je LBB36_20, $107(%rip) - -LBB36_14: - LONG $0xc7bc0f48 // bsfq %rdi, %rax - WORD $0x294c; BYTE $0xde // subq %r11, %rsi - LONG $0x06448d48; BYTE $0x01 // leaq $1(%rsi,%rax), %rax - -LBB36_15: - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - BYTE $0xc3 // retq - -LBB36_17: - LONG $0xfff88349 // cmpq $-1, %r8 - LONG $0x0010850f; WORD $0x0000 // jne LBB36_19, $16(%rip) - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x294c; BYTE $0xd8 // subq %r11, %rax - LONG $0xc3bc0f4c // bsfq %rbx, %r8 - WORD $0x0149; BYTE $0xc0 // addq %rax, %r8 - WORD $0x894c; BYTE $0x02 // movq %r8, (%rdx) - -LBB36_19: - WORD $0x8944; BYTE $0xf0 // movl %r14d, %eax - WORD $0xd0f7 // notl %eax - WORD $0xd821 // andl %ebx, %eax - WORD $0x0c8d; BYTE $0x00 // leal (%rax,%rax), %ecx - LONG $0x460c8d45 // leal (%r14,%rax,2), %r9d - WORD $0xd1f7 // notl %ecx - WORD $0xd921 // andl %ebx, %ecx - LONG $0xaaaae181; WORD $0xaaaa // andl $-1431655766, %ecx - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0xc101 // addl %eax, %ecx - LONG $0xc6920f41 // setb %r14b - WORD $0xc901 // addl %ecx, %ecx - LONG $0x5555f181; WORD $0x5555 // xorl $1431655765, %ecx - WORD $0x2144; BYTE $0xc9 // andl %r9d, %ecx - WORD $0xd1f7 // notl %ecx - WORD $0xcf21 // andl %ecx, %edi - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xff95850f; WORD $0xffff // jne LBB36_14, $-107(%rip) - -LBB36_20: - LONG $0x20c68348 // addq $32, %rsi - LONG $0xe0c78349 // addq $-32, %r15 - -LBB36_21: - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0087850f; WORD $0x0000 // jne LBB36_32, $135(%rip) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0xff80840f; WORD $0xffff // je LBB36_15, $-128(%rip) - -LBB36_23: - WORD $0x894d; BYTE $0xd9 // movq %r11, %r9 - WORD $0xf749; BYTE $0xd1 // notq %r9 - -LBB36_24: - LONG $0x017e8d48 // leaq $1(%rsi), %rdi - WORD $0xb60f; BYTE $0x1e // movzbl (%rsi), %ebx - WORD $0xfb80; BYTE $0x22 // cmpb $34, %bl - LONG $0x0056840f; WORD $0x0000 // je LBB36_31, $86(%rip) - LONG $0xff578d4d // leaq $-1(%r15), %r10 - WORD $0xfb80; BYTE $0x5c // cmpb $92, %bl - LONG $0x0014840f; WORD $0x0000 // je LBB36_27, $20(%rip) - WORD $0x894d; BYTE $0xd7 // movq %r10, %r15 - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xffd4850f; WORD $0xffff // jne LBB36_24, $-44(%rip) - LONG $0xffff49e9; BYTE $0xff // jmp LBB36_15, $-183(%rip) - -LBB36_27: - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xff40840f; WORD $0xffff // je LBB36_15, $-192(%rip) - LONG $0xfff88349 // cmpq $-1, %r8 - LONG $0x0009850f; WORD $0x0000 // jne LBB36_30, $9(%rip) - WORD $0x014c; BYTE $0xcf // addq %r9, %rdi - WORD $0x8948; BYTE $0x3a // movq %rdi, (%rdx) - WORD $0x8949; BYTE $0xf8 // movq %rdi, %r8 - -LBB36_30: - LONG $0x02c68348 // addq $2, %rsi - LONG $0xfec78349 // addq $-2, %r15 - WORD $0x894d; BYTE $0xfa // movq %r15, %r10 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xff9f850f; WORD $0xffff // jne LBB36_24, $-97(%rip) - LONG $0xffff14e9; BYTE $0xff // jmp LBB36_15, $-236(%rip) - -LBB36_31: - WORD $0x294c; BYTE $0xdf // subq %r11, %rdi - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0xffff09e9; BYTE $0xff // jmp LBB36_15, $-247(%rip) - -LBB36_32: - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0031840f; WORD $0x0000 // je LBB36_16, $49(%rip) - LONG $0xfff88349 // cmpq $-1, %r8 - LONG $0x000c850f; WORD $0x0000 // jne LBB36_35, $12(%rip) - WORD $0x894d; BYTE $0xd8 // movq %r11, %r8 - WORD $0xf749; BYTE $0xd0 // notq %r8 - WORD $0x0149; BYTE $0xf0 // addq %rsi, %r8 - WORD $0x894c; BYTE $0x02 // movq %r8, (%rdx) - -LBB36_35: - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0xff49; BYTE $0xcf // decq %r15 - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0xff54850f; WORD $0xffff // jne LBB36_23, $-172(%rip) - LONG $0xfffecfe9; BYTE $0xff // jmp LBB36_15, $-305(%rip) - -LBB36_16: - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xfffec3e9; BYTE $0xff // jmp LBB36_15, $-317(%rip) - QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000 // .p2align 4, 0x00 - -_POW10_M128_TAB: - QUAD $0x1732c869cd60e453 // .quad 1671618768450675795 - QUAD $0xfa8fd5a0081c0288 // .quad -391859759250406776 - QUAD $0x0e7fbd42205c8eb4 // .quad 1044761730281672372 - QUAD $0x9c99e58405118195 // .quad -7162441377172586091 - QUAD $0x521fac92a873b261 // .quad 5917638181279478369 - QUAD $0xc3c05ee50655e1fa // .quad -4341365703038344710 - QUAD $0xe6a797b752909ef9 // .quad -1826324310255427847 - QUAD $0xf4b0769e47eb5a78 // .quad -815021110370542984 - QUAD $0x9028bed2939a635c // .quad -8058981721550724260 - QUAD $0x98ee4a22ecf3188b // .quad -7426917221622671221 - QUAD $0x7432ee873880fc33 // .quad 8373016921771146291 - QUAD $0xbf29dcaba82fdeae // .quad -4671960508600951122 - QUAD $0x113faa2906a13b3f // .quad 1242899115359157055 - QUAD $0xeef453d6923bd65a // .quad -1228264617323800998 - QUAD $0x4ac7ca59a424c507 // .quad 5388497965526861063 - QUAD $0x9558b4661b6565f8 // .quad -7685194413468457480 - QUAD $0x5d79bcf00d2df649 // .quad 6735622456908576329 - QUAD $0xbaaee17fa23ebf76 // .quad -4994806998408183946 - QUAD $0xf4d82c2c107973dc // .quad -803843965719055396 - QUAD $0xe95a99df8ace6f53 // .quad -1631822729582842029 - QUAD $0x79071b9b8a4be869 // .quad 8720969558280366185 - QUAD $0x91d8a02bb6c10594 // .quad -7937418233630358124 - QUAD $0x9748e2826cdee284 // .quad -7545532125859093884 - QUAD $0xb64ec836a47146f9 // .quad -5310086773610559751 - QUAD $0xfd1b1b2308169b25 // .quad -208543120469091547 - QUAD $0xe3e27a444d8d98b7 // .quad -2025922448585811785 - QUAD $0xfe30f0f5e50e20f7 // .quad -130339450293182217 - QUAD $0x8e6d8c6ab0787f72 // .quad -8183730558007214222 - QUAD $0xbdbd2d335e51a935 // .quad -4774610331293865675 - QUAD $0xb208ef855c969f4f // .quad -5617977179081629873 - QUAD $0xad2c788035e61382 // .quad -5968262914117332094 - QUAD $0xde8b2b66b3bc4723 // .quad -2410785455424649437 - QUAD $0x4c3bcb5021afcc31 // .quad 5493207715531443249 - QUAD $0x8b16fb203055ac76 // .quad -8424269937281487754 - QUAD $0xdf4abe242a1bbf3d // .quad -2356862392440471747 - QUAD $0xaddcb9e83c6b1793 // .quad -5918651403174471789 - QUAD $0xd71d6dad34a2af0d // .quad -2946077990550589683 - QUAD $0xd953e8624b85dd78 // .quad -2786628235540701832 - QUAD $0x8672648c40e5ad68 // .quad -8758827771735200408 - QUAD $0x87d4713d6f33aa6b // .quad -8659171674854020501 - QUAD $0x680efdaf511f18c2 // .quad 7498209359040551106 - QUAD $0xa9c98d8ccb009506 // .quad -6212278575140137722 - QUAD $0x0212bd1b2566def2 // .quad 149389661945913074 - QUAD $0xd43bf0effdc0ba48 // .quad -3153662200497784248 - QUAD $0x014bb630f7604b57 // .quad 93368538716195671 - QUAD $0x84a57695fe98746d // .quad -8888567902952197011 - QUAD $0x419ea3bd35385e2d // .quad 4728396691822632493 - QUAD $0xa5ced43b7e3e9188 // .quad -6499023860262858360 - QUAD $0x52064cac828675b9 // .quad 5910495864778290617 - QUAD $0xcf42894a5dce35ea // .quad -3512093806901185046 - QUAD $0x7343efebd1940993 // .quad 8305745933913819539 - QUAD $0x818995ce7aa0e1b2 // .quad -9112587656954322510 - QUAD $0x1014ebe6c5f90bf8 // .quad 1158810380537498616 - QUAD $0xa1ebfb4219491a1f // .quad -6779048552765515233 - QUAD $0xd41a26e077774ef6 // .quad -3163173042755514634 - QUAD $0xca66fa129f9b60a6 // .quad -3862124672529506138 - QUAD $0x8920b098955522b4 // .quad -8565652321871781196 - QUAD $0xfd00b897478238d0 // .quad -215969822234494768 - QUAD $0x55b46e5f5d5535b0 // .quad 6175682344898606512 - QUAD $0x9e20735e8cb16382 // .quad -7052510166537641086 - QUAD $0xeb2189f734aa831d // .quad -1503769105731517667 - QUAD $0xc5a890362fddbc62 // .quad -4203951689744663454 - QUAD $0xa5e9ec7501d523e4 // .quad -6491397400591784988 - QUAD $0xf712b443bbd52b7b // .quad -643253593753441413 - QUAD $0x47b233c92125366e // .quad 5166248661484910190 - QUAD $0x9a6bb0aa55653b2d // .quad -7319562523736982739 - QUAD $0x999ec0bb696e840a // .quad -7377247228426025974 - QUAD $0xc1069cd4eabe89f8 // .quad -4537767136243840520 - QUAD $0xc00670ea43ca250d // .quad -4609873017105144563 - QUAD $0xf148440a256e2c76 // .quad -1060522901877412746 - QUAD $0x380406926a5e5728 // .quad 4036358391950366504 - QUAD $0x96cd2a865764dbca // .quad -7580355841314464822 - QUAD $0xc605083704f5ecf2 // .quad -4177924046916817678 - QUAD $0xbc807527ed3e12bc // .quad -4863758783215693124 - QUAD $0xf7864a44c633682e // .quad -610719040218634194 - QUAD $0xeba09271e88d976b // .quad -1468012460592228501 - QUAD $0x7ab3ee6afbe0211d // .quad 8841672636718129437 - QUAD $0x93445b8731587ea3 // .quad -7835036815511224669 - QUAD $0x5960ea05bad82964 // .quad 6440404777470273892 - QUAD $0xb8157268fdae9e4c // .quad -5182110000961642932 - QUAD $0x6fb92487298e33bd // .quad 8050505971837842365 - QUAD $0xe61acf033d1a45df // .quad -1865951482774665761 - QUAD $0xa5d3b6d479f8e056 // .quad -6497648813669818282 - QUAD $0x8fd0c16206306bab // .quad -8083748704375247957 - QUAD $0x8f48a4899877186c // .quad -8122061017087272852 - QUAD $0xb3c4f1ba87bc8696 // .quad -5492999862041672042 - QUAD $0x331acdabfe94de87 // .quad 3682481783923072647 - QUAD $0xe0b62e2929aba83c // .quad -2254563809124702148 - QUAD $0x9ff0c08b7f1d0b14 // .quad -6921820921902855404 - QUAD $0x8c71dcd9ba0b4925 // .quad -8326631408344020699 - QUAD $0x07ecf0ae5ee44dd9 // .quad 571095884476206553 - QUAD $0xaf8e5410288e1b6f // .quad -5796603242002637969 - QUAD $0xc9e82cd9f69d6150 // .quad -3897816162832129712 - QUAD $0xdb71e91432b1a24a // .quad -2634068034075909558 - QUAD $0xbe311c083a225cd2 // .quad -4741978110983775022 - QUAD $0x892731ac9faf056e // .quad -8563821548938525330 - QUAD $0x6dbd630a48aaf406 // .quad 7907585416552444934 - QUAD $0xab70fe17c79ac6ca // .quad -6093090917745768758 - QUAD $0x092cbbccdad5b108 // .quad 661109733835780360 - QUAD $0xd64d3d9db981787d // .quad -3004677628754823043 - QUAD $0x25bbf56008c58ea5 // .quad 2719036592861056677 - QUAD $0x85f0468293f0eb4e // .quad -8795452545612846258 - QUAD $0xaf2af2b80af6f24e // .quad -5824576295778454962 - QUAD $0xa76c582338ed2621 // .quad -6382629663588669919 - QUAD $0x1af5af660db4aee1 // .quad 1942651667131707105 - QUAD $0xd1476e2c07286faa // .quad -3366601061058449494 - QUAD $0x50d98d9fc890ed4d // .quad 5825843310384704845 - QUAD $0x82cca4db847945ca // .quad -9021654690802612790 - QUAD $0xe50ff107bab528a0 // .quad -1941067898873894752 - QUAD $0xa37fce126597973c // .quad -6665382345075878084 - QUAD $0x1e53ed49a96272c8 // .quad 2185351144835019464 - QUAD $0xcc5fc196fefd7d0c // .quad -3720041912917459700 - QUAD $0x25e8e89c13bb0f7a // .quad 2731688931043774330 - QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 - QUAD $0x77b191618c54e9ac // .quad 8624834609543440812 - QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 - QUAD $0xd59df5b9ef6a2417 // .quad -3054014793352862697 - QUAD $0xc795830d75038c1d // .quad -4065198994811024355 - QUAD $0x4b0573286b44ad1d // .quad 5405853545163697437 - QUAD $0xf97ae3d0d2446f25 // .quad -469812725086392539 - QUAD $0x4ee367f9430aec32 // .quad 5684501474941004850 - QUAD $0x9becce62836ac577 // .quad -7211161980820077193 - QUAD $0x229c41f793cda73f // .quad 2493940825248868159 - QUAD $0xc2e801fb244576d5 // .quad -4402266457597708587 - QUAD $0x6b43527578c1110f // .quad 7729112049988473103 - QUAD $0xf3a20279ed56d48a // .quad -891147053569747830 - QUAD $0x830a13896b78aaa9 // .quad -9004363024039368023 - QUAD $0x9845418c345644d6 // .quad -7474495936122174250 - QUAD $0x23cc986bc656d553 // .quad 2579604275232953683 - QUAD $0xbe5691ef416bd60c // .quad -4731433901725329908 - QUAD $0x2cbfbe86b7ec8aa8 // .quad 3224505344041192104 - QUAD $0xedec366b11c6cb8f // .quad -1302606358729274481 - QUAD $0x7bf7d71432f3d6a9 // .quad 8932844867666826921 - QUAD $0x94b3a202eb1c3f39 // .quad -7731658001846878407 - QUAD $0xdaf5ccd93fb0cc53 // .quad -2669001970698630061 - QUAD $0xb9e08a83a5e34f07 // .quad -5052886483881210105 - QUAD $0xd1b3400f8f9cff68 // .quad -3336252463373287576 - QUAD $0xe858ad248f5c22c9 // .quad -1704422086424124727 - QUAD $0x23100809b9c21fa1 // .quad 2526528228819083169 - QUAD $0x91376c36d99995be // .quad -7982792831656159810 - QUAD $0xabd40a0c2832a78a // .quad -6065211750830921846 - QUAD $0xb58547448ffffb2d // .quad -5366805021142811859 - QUAD $0x16c90c8f323f516c // .quad 1641857348316123500 - QUAD $0xe2e69915b3fff9f9 // .quad -2096820258001126919 - QUAD $0xae3da7d97f6792e3 // .quad -5891368184943504669 - QUAD $0x8dd01fad907ffc3b // .quad -8228041688891786181 - QUAD $0x99cd11cfdf41779c // .quad -7364210231179380836 - QUAD $0xb1442798f49ffb4a // .quad -5673366092687344822 - QUAD $0x40405643d711d583 // .quad 4629795266307937667 - QUAD $0xdd95317f31c7fa1d // .quad -2480021597431793123 - QUAD $0x482835ea666b2572 // .quad 5199465050656154994 - QUAD $0x8a7d3eef7f1cfc52 // .quad -8467542526035952558 - QUAD $0xda3243650005eecf // .quad -2724040723534582065 - QUAD $0xad1c8eab5ee43b66 // .quad -5972742139117552794 - QUAD $0x90bed43e40076a82 // .quad -8016736922845615486 - QUAD $0xd863b256369d4a40 // .quad -2854241655469553088 - QUAD $0x5a7744a6e804a291 // .quad 6518754469289960081 - QUAD $0x873e4f75e2224e68 // .quad -8701430062309552536 - QUAD $0x711515d0a205cb36 // .quad 8148443086612450102 - QUAD $0xa90de3535aaae202 // .quad -6265101559459552766 - QUAD $0x0d5a5b44ca873e03 // .quad 962181821410786819 - QUAD $0xd3515c2831559a83 // .quad -3219690930897053053 - QUAD $0xe858790afe9486c2 // .quad -1704479370831952190 - QUAD $0x8412d9991ed58091 // .quad -8929835859451740015 - QUAD $0x626e974dbe39a872 // .quad 7092772823314835570 - QUAD $0xa5178fff668ae0b6 // .quad -6550608805887287114 - QUAD $0xfb0a3d212dc8128f // .quad -357406007711231345 - QUAD $0xce5d73ff402d98e3 // .quad -3576574988931720989 - QUAD $0x7ce66634bc9d0b99 // .quad 8999993282035256217 - QUAD $0x80fa687f881c7f8e // .quad -9152888395723407474 - QUAD $0x1c1fffc1ebc44e80 // .quad 2026619565689294464 - QUAD $0xa139029f6a239f72 // .quad -6829424476226871438 - QUAD $0xa327ffb266b56220 // .quad -6690097579743157728 - QUAD $0xc987434744ac874e // .quad -3925094576856201394 - QUAD $0x4bf1ff9f0062baa8 // .quad 5472436080603216552 - QUAD $0xfbe9141915d7a922 // .quad -294682202642863838 - QUAD $0x6f773fc3603db4a9 // .quad 8031958568804398249 - QUAD $0x9d71ac8fada6c9b5 // .quad -7101705404292871755 - QUAD $0xcb550fb4384d21d3 // .quad -3795109844276665901 - QUAD $0xc4ce17b399107c22 // .quad -4265445736938701790 - QUAD $0x7e2a53a146606a48 // .quad 9091170749936331336 - QUAD $0xf6019da07f549b2b // .quad -720121152745989333 - QUAD $0x2eda7444cbfc426d // .quad 3376138709496513133 - QUAD $0x99c102844f94e0fb // .quad -7367604748107325189 - QUAD $0xfa911155fefb5308 // .quad -391512631556746488 - QUAD $0xc0314325637a1939 // .quad -4597819916706768583 - QUAD $0x793555ab7eba27ca // .quad 8733981247408842698 - QUAD $0xf03d93eebc589f88 // .quad -1135588877456072824 - QUAD $0x4bc1558b2f3458de // .quad 5458738279630526686 - QUAD $0x96267c7535b763b5 // .quad -7627272076051127371 - QUAD $0x9eb1aaedfb016f16 // .quad -7011635205744005354 - QUAD $0xbbb01b9283253ca2 // .quad -4922404076636521310 - QUAD $0x465e15a979c1cadc // .quad 5070514048102157020 - QUAD $0xea9c227723ee8bcb // .quad -1541319077368263733 - QUAD $0x0bfacd89ec191ec9 // .quad 863228270850154185 - QUAD $0x92a1958a7675175f // .quad -7880853450996246689 - QUAD $0xcef980ec671f667b // .quad -3532650679864695173 - QUAD $0xb749faed14125d36 // .quad -5239380795317920458 - QUAD $0x82b7e12780e7401a // .quad -9027499368258256870 - QUAD $0xe51c79a85916f484 // .quad -1937539975720012668 - QUAD $0xd1b2ecb8b0908810 // .quad -3336344095947716592 - QUAD $0x8f31cc0937ae58d2 // .quad -8128491512466089774 - QUAD $0x861fa7e6dcb4aa15 // .quad -8782116138362033643 - QUAD $0xb2fe3f0b8599ef07 // .quad -5548928372155224313 - QUAD $0x67a791e093e1d49a // .quad 7469098900757009562 - QUAD $0xdfbdcece67006ac9 // .quad -2324474446766642487 - QUAD $0xe0c8bb2c5c6d24e0 // .quad -2249342214667950880 - QUAD $0x8bd6a141006042bd // .quad -8370325556870233411 - QUAD $0x58fae9f773886e18 // .quad 6411694268519837208 - QUAD $0xaecc49914078536d // .quad -5851220927660403859 - QUAD $0xaf39a475506a899e // .quad -5820440219632367202 - QUAD $0xda7f5bf590966848 // .quad -2702340141148116920 - QUAD $0x6d8406c952429603 // .quad 7891439908798240259 - QUAD $0x888f99797a5e012d // .quad -8606491615858654931 - QUAD $0xc8e5087ba6d33b83 // .quad -3970758169284363389 - QUAD $0xaab37fd7d8f58178 // .quad -6146428501395930760 - QUAD $0xfb1e4a9a90880a64 // .quad -351761693178066332 - QUAD $0xd5605fcdcf32e1d6 // .quad -3071349608317525546 - QUAD $0x5cf2eea09a55067f // .quad 6697677969404790399 - QUAD $0x855c3be0a17fcd26 // .quad -8837122532839535322 - QUAD $0xf42faa48c0ea481e // .quad -851274575098787810 - QUAD $0xa6b34ad8c9dfc06f // .quad -6434717147622031249 - QUAD $0xf13b94daf124da26 // .quad -1064093218873484762 - QUAD $0xd0601d8efc57b08b // .quad -3431710416100151157 - QUAD $0x76c53d08d6b70858 // .quad 8558313775058847832 - QUAD $0x823c12795db6ce57 // .quad -9062348037703676329 - QUAD $0x54768c4b0c64ca6e // .quad 6086206200396171886 - QUAD $0xa2cb1717b52481ed // .quad -6716249028702207507 - QUAD $0xa9942f5dcf7dfd09 // .quad -6227300304786948855 - QUAD $0xcb7ddcdda26da268 // .quad -3783625267450371480 - QUAD $0xd3f93b35435d7c4c // .quad -3172439362556298164 - QUAD $0xfe5d54150b090b02 // .quad -117845565885576446 - QUAD $0xc47bc5014a1a6daf // .quad -4288617610811380305 - QUAD $0x9efa548d26e5a6e1 // .quad -6991182506319567135 - QUAD $0x359ab6419ca1091b // .quad 3862600023340550427 - QUAD $0xc6b8e9b0709f109a // .quad -4127292114472071014 - QUAD $0xc30163d203c94b62 // .quad -4395122007679087774 - QUAD $0xf867241c8cc6d4c0 // .quad -547429124662700864 - QUAD $0x79e0de63425dcf1d // .quad 8782263791269039901 - QUAD $0x9b407691d7fc44f8 // .quad -7259672230555269896 - QUAD $0x985915fc12f542e4 // .quad -7468914334623251740 - QUAD $0xc21094364dfb5636 // .quad -4462904269766699466 - QUAD $0x3e6f5b7b17b2939d // .quad 4498915137003099037 - QUAD $0xf294b943e17a2bc4 // .quad -966944318780986428 - QUAD $0xa705992ceecf9c42 // .quad -6411550076227838910 - QUAD $0x979cf3ca6cec5b5a // .quad -7521869226879198374 - QUAD $0x50c6ff782a838353 // .quad 5820620459997365075 - QUAD $0xbd8430bd08277231 // .quad -4790650515171610063 - QUAD $0xa4f8bf5635246428 // .quad -6559282480285457368 - QUAD $0xece53cec4a314ebd // .quad -1376627125537124675 - QUAD $0x871b7795e136be99 // .quad -8711237568605798759 - QUAD $0x940f4613ae5ed136 // .quad -7777920981101784778 - QUAD $0x28e2557b59846e3f // .quad 2946011094524915263 - QUAD $0xb913179899f68584 // .quad -5110715207949843068 - QUAD $0x331aeada2fe589cf // .quad 3682513868156144079 - QUAD $0xe757dd7ec07426e5 // .quad -1776707991509915931 - QUAD $0x3ff0d2c85def7621 // .quad 4607414176811284001 - QUAD $0x9096ea6f3848984f // .quad -8027971522334779313 - QUAD $0x0fed077a756b53a9 // .quad 1147581702586717097 - QUAD $0xb4bca50b065abe63 // .quad -5423278384491086237 - QUAD $0xd3e8495912c62894 // .quad -3177208890193991532 - QUAD $0xe1ebce4dc7f16dfb // .quad -2167411962186469893 - QUAD $0x64712dd7abbbd95c // .quad 7237616480483531100 - QUAD $0x8d3360f09cf6e4bd // .quad -8272161504007625539 - QUAD $0xbd8d794d96aacfb3 // .quad -4788037454677749837 - QUAD $0xb080392cc4349dec // .quad -5728515861582144020 - QUAD $0xecf0d7a0fc5583a0 // .quad -1373360799919799392 - QUAD $0xdca04777f541c567 // .quad -2548958808550292121 - QUAD $0xf41686c49db57244 // .quad -858350499949874620 - QUAD $0x89e42caaf9491b60 // .quad -8510628282985014432 - QUAD $0x311c2875c522ced5 // .quad 3538747893490044629 - QUAD $0xac5d37d5b79b6239 // .quad -6026599335303880135 - QUAD $0x7d633293366b828b // .quad 9035120885289943691 - QUAD $0xd77485cb25823ac7 // .quad -2921563150702462265 - QUAD $0xae5dff9c02033197 // .quad -5882264492762254953 - QUAD $0x86a8d39ef77164bc // .quad -8743505996830120772 - QUAD $0xd9f57f830283fdfc // .quad -2741144597525430788 - QUAD $0xa8530886b54dbdeb // .quad -6317696477610263061 - QUAD $0xd072df63c324fd7b // .quad -3426430746906788485 - QUAD $0xd267caa862a12d66 // .quad -3285434578585440922 - QUAD $0x4247cb9e59f71e6d // .quad 4776009810824339053 - QUAD $0x8380dea93da4bc60 // .quad -8970925639256982432 - QUAD $0x52d9be85f074e608 // .quad 5970012263530423816 - QUAD $0xa46116538d0deb78 // .quad -6601971030643840136 - QUAD $0x67902e276c921f8b // .quad 7462515329413029771 - QUAD $0xcd795be870516656 // .quad -3640777769877412266 - QUAD $0x00ba1cd8a3db53b6 // .quad 52386062455755702 - QUAD $0x806bd9714632dff6 // .quad -9193015133814464522 - QUAD $0x80e8a40eccd228a4 // .quad -9157889458785081180 - QUAD $0xa086cfcd97bf97f3 // .quad -6879582898840692749 - QUAD $0x6122cd128006b2cd // .quad 6999382250228200141 - QUAD $0xc8a883c0fdaf7df0 // .quad -3987792605123478032 - QUAD $0x796b805720085f81 // .quad 8749227812785250177 - QUAD $0xfad2a4b13d1b5d6c // .quad -373054737976959636 - QUAD $0xcbe3303674053bb0 // .quad -3755104653863994448 - QUAD $0x9cc3a6eec6311a63 // .quad -7150688238876681629 - QUAD $0xbedbfc4411068a9c // .quad -4693880817329993060 - QUAD $0xc3f490aa77bd60fc // .quad -4326674280168464132 - QUAD $0xee92fb5515482d44 // .quad -1255665003235103420 - QUAD $0xf4f1b4d515acb93b // .quad -796656831783192261 - QUAD $0x751bdd152d4d1c4a // .quad 8438581409832836170 - QUAD $0x991711052d8bf3c5 // .quad -7415439547505577019 - QUAD $0xd262d45a78a0635d // .quad -3286831292991118499 - QUAD $0xbf5cd54678eef0b6 // .quad -4657613415954583370 - QUAD $0x86fb897116c87c34 // .quad -8720225134666286028 - QUAD $0xef340a98172aace4 // .quad -1210330751515841308 - QUAD $0xd45d35e6ae3d4da0 // .quad -3144297699952734816 - QUAD $0x9580869f0e7aac0e // .quad -7673985747338482674 - QUAD $0x8974836059cca109 // .quad -8542058143368306423 - QUAD $0xbae0a846d2195712 // .quad -4980796165745715438 - QUAD $0x2bd1a438703fc94b // .quad 3157485376071780683 - QUAD $0xe998d258869facd7 // .quad -1614309188754756393 - QUAD $0x7b6306a34627ddcf // .quad 8890957387685944783 - QUAD $0x91ff83775423cc06 // .quad -7926472270612804602 - QUAD $0x1a3bc84c17b1d542 // .quad 1890324697752655170 - QUAD $0xb67f6455292cbf08 // .quad -5296404319838617848 - QUAD $0x20caba5f1d9e4a93 // .quad 2362905872190818963 - QUAD $0xe41f3d6a7377eeca // .quad -2008819381370884406 - QUAD $0x547eb47b7282ee9c // .quad 6088502188546649756 - QUAD $0x8e938662882af53e // .quad -8173041140997884610 - QUAD $0xe99e619a4f23aa43 // .quad -1612744301171463613 - QUAD $0xb23867fb2a35b28d // .quad -5604615407819967859 - QUAD $0x6405fa00e2ec94d4 // .quad 7207441660390446292 - QUAD $0xdec681f9f4c31f31 // .quad -2394083241347571919 - QUAD $0xde83bc408dd3dd04 // .quad -2412877989897052924 - QUAD $0x8b3c113c38f9f37e // .quad -8413831053483314306 - QUAD $0x9624ab50b148d445 // .quad -7627783505798704059 - QUAD $0xae0b158b4738705e // .quad -5905602798426754978 - QUAD $0x3badd624dd9b0957 // .quad 4300328673033783639 - QUAD $0xd98ddaee19068c76 // .quad -2770317479606055818 - QUAD $0xe54ca5d70a80e5d6 // .quad -1923980597781273130 - QUAD $0x87f8a8d4cfa417c9 // .quad -8648977452394866743 - QUAD $0x5e9fcf4ccd211f4c // .quad 6818396289628184396 - QUAD $0xa9f6d30a038d1dbc // .quad -6199535797066195524 - QUAD $0x7647c3200069671f // .quad 8522995362035230495 - QUAD $0xd47487cc8470652b // .quad -3137733727905356501 - QUAD $0x29ecd9f40041e073 // .quad 3021029092058325107 - QUAD $0x84c8d4dfd2c63f3b // .quad -8878612607581929669 - QUAD $0xf468107100525890 // .quad -835399653354481520 - QUAD $0xa5fb0a17c777cf09 // .quad -6486579741050024183 - QUAD $0x7182148d4066eeb4 // .quad 8179122470161673908 - QUAD $0xcf79cc9db955c2cc // .quad -3496538657885142324 - QUAD $0xc6f14cd848405530 // .quad -4111420493003729616 - QUAD $0x81ac1fe293d599bf // .quad -9102865688819295809 - QUAD $0xb8ada00e5a506a7c // .quad -5139275616254662020 - QUAD $0xa21727db38cb002f // .quad -6766896092596731857 - QUAD $0xa6d90811f0e4851c // .quad -6424094520318327524 - QUAD $0xca9cf1d206fdc03b // .quad -3846934097318526917 - QUAD $0x908f4a166d1da663 // .quad -8030118150397909405 - QUAD $0xfd442e4688bd304a // .quad -196981603220770742 - QUAD $0x9a598e4e043287fe // .quad -7324666853212387330 - QUAD $0x9e4a9cec15763e2e // .quad -7040642529654063570 - QUAD $0x40eff1e1853f29fd // .quad 4679224488766679549 - QUAD $0xc5dd44271ad3cdba // .quad -4189117143640191558 - QUAD $0xd12bee59e68ef47c // .quad -3374341425896426372 - QUAD $0xf7549530e188c128 // .quad -624710411122851544 - QUAD $0x82bb74f8301958ce // .quad -9026492418826348338 - QUAD $0x9a94dd3e8cf578b9 // .quad -7307973034592864071 - QUAD $0xe36a52363c1faf01 // .quad -2059743486678159615 - QUAD $0xc13a148e3032d6e7 // .quad -4523280274813692185 - QUAD $0xdc44e6c3cb279ac1 // .quad -2574679358347699519 - QUAD $0xf18899b1bc3f8ca1 // .quad -1042414325089727327 - QUAD $0x29ab103a5ef8c0b9 // .quad 3002511419460075705 - QUAD $0x96f5600f15a7b7e5 // .quad -7569037980822161435 - QUAD $0x7415d448f6b6f0e7 // .quad 8364825292752482535 - QUAD $0xbcb2b812db11a5de // .quad -4849611457600313890 - QUAD $0x111b495b3464ad21 // .quad 1232659579085827361 - QUAD $0xebdf661791d60f56 // .quad -1450328303573004458 - QUAD $0xcab10dd900beec34 // .quad -3841273781498745804 - QUAD $0x936b9fcebb25c995 // .quad -7823984217374209643 - QUAD $0x3d5d514f40eea742 // .quad 4421779809981343554 - QUAD $0xb84687c269ef3bfb // .quad -5168294253290374149 - QUAD $0x0cb4a5a3112a5112 // .quad 915538744049291538 - QUAD $0xe65829b3046b0afa // .quad -1848681798185579782 - QUAD $0x47f0e785eaba72ab // .quad 5183897733458195115 - QUAD $0x8ff71a0fe2c2e6dc // .quad -8072955151507069220 - QUAD $0x59ed216765690f56 // .quad 6479872166822743894 - QUAD $0xb3f4e093db73a093 // .quad -5479507920956448621 - QUAD $0x306869c13ec3532c // .quad 3488154190101041964 - QUAD $0xe0f218b8d25088b8 // .quad -2237698882768172872 - QUAD $0x1e414218c73a13fb // .quad 2180096368813151227 - QUAD $0x8c974f7383725573 // .quad -8316090829371189901 - QUAD $0xe5d1929ef90898fa // .quad -1886565557410948870 - QUAD $0xafbd2350644eeacf // .quad -5783427518286599473 - QUAD $0xdf45f746b74abf39 // .quad -2358206946763686087 - QUAD $0xdbac6c247d62a583 // .quad -2617598379430861437 - QUAD $0x6b8bba8c328eb783 // .quad 7749492695127472003 - QUAD $0x894bc396ce5da772 // .quad -8553528014785370254 - QUAD $0x066ea92f3f326564 // .quad 463493832054564196 - QUAD $0xab9eb47c81f5114f // .quad -6080224000054324913 - QUAD $0xc80a537b0efefebd // .quad -4032318728359182659 - QUAD $0xd686619ba27255a2 // .quad -2988593981640518238 - QUAD $0xbd06742ce95f5f36 // .quad -4826042214438183114 - QUAD $0x8613fd0145877585 // .quad -8785400266166405755 - QUAD $0x2c48113823b73704 // .quad 3190819268807046916 - QUAD $0xa798fc4196e952e7 // .quad -6370064314280619289 - QUAD $0xf75a15862ca504c5 // .quad -623161932418579259 - QUAD $0xd17f3b51fca3a7a0 // .quad -3350894374423386208 - QUAD $0x9a984d73dbe722fb // .quad -7307005235402693893 - QUAD $0x82ef85133de648c4 // .quad -9011838011655698236 - QUAD $0xc13e60d0d2e0ebba // .quad -4522070525825979462 - QUAD $0xa3ab66580d5fdaf5 // .quad -6653111496142234891 - QUAD $0x318df905079926a8 // .quad 3570783879572301480 - QUAD $0xcc963fee10b7d1b3 // .quad -3704703351750405709 - QUAD $0xfdf17746497f7052 // .quad -148206168962011054 - QUAD $0xffbbcfe994e5c61f // .quad -19193171260619233 - QUAD $0xfeb6ea8bedefa633 // .quad -92628855601256909 - QUAD $0x9fd561f1fd0f9bd3 // .quad -6929524759678968877 - QUAD $0xfe64a52ee96b8fc0 // .quad -115786069501571136 - QUAD $0xc7caba6e7c5382c8 // .quad -4050219931171323192 - QUAD $0x3dfdce7aa3c673b0 // .quad 4466953431550423984 - QUAD $0xf9bd690a1b68637b // .quad -451088895536766085 - QUAD $0x06bea10ca65c084e // .quad 486002885505321038 - QUAD $0x9c1661a651213e2d // .quad -7199459587351560659 - QUAD $0x486e494fcff30a62 // .quad 5219189625309039202 - QUAD $0xc31bfa0fe5698db8 // .quad -4387638465762062920 - QUAD $0x5a89dba3c3efccfa // .quad 6523987031636299002 - QUAD $0xf3e2f893dec3f126 // .quad -872862063775190746 - QUAD $0xf89629465a75e01c // .quad -534194123654701028 - QUAD $0x986ddb5c6b3a76b7 // .quad -7463067817500576073 - QUAD $0xf6bbb397f1135823 // .quad -667742654568376285 - QUAD $0xbe89523386091465 // .quad -4717148753448332187 - QUAD $0x746aa07ded582e2c // .quad 8388693718644305452 - QUAD $0xee2ba6c0678b597f // .quad -1284749923383027329 - QUAD $0xa8c2a44eb4571cdc // .quad -6286281471915778852 - QUAD $0x94db483840b717ef // .quad -7720497729755473937 - QUAD $0x92f34d62616ce413 // .quad -7857851839894723565 - QUAD $0xba121a4650e4ddeb // .quad -5038936143766954517 - QUAD $0x77b020baf9c81d17 // .quad 8624429273841147159 - QUAD $0xe896a0d7e51e1566 // .quad -1686984161281305242 - QUAD $0x0ace1474dc1d122e // .quad 778582277723329070 - QUAD $0x915e2486ef32cd60 // .quad -7971894128441897632 - QUAD $0x0d819992132456ba // .quad 973227847154161338 - QUAD $0xb5b5ada8aaff80b8 // .quad -5353181642124984136 - QUAD $0x10e1fff697ed6c69 // .quad 1216534808942701673 - QUAD $0xe3231912d5bf60e6 // .quad -2079791034228842266 - QUAD $0xca8d3ffa1ef463c1 // .quad -3851351762838199359 - QUAD $0x8df5efabc5979c8f // .quad -8217398424034108273 - QUAD $0xbd308ff8a6b17cb2 // .quad -4814189703547749198 - QUAD $0xb1736b96b6fd83b3 // .quad -5660062011615247437 - QUAD $0xac7cb3f6d05ddbde // .quad -6017737129434686498 - QUAD $0xddd0467c64bce4a0 // .quad -2463391496091671392 - QUAD $0x6bcdf07a423aa96b // .quad 7768129340171790699 - QUAD $0x8aa22c0dbef60ee4 // .quad -8457148712698376476 - QUAD $0x86c16c98d2c953c6 // .quad -8736582398494813242 - QUAD $0xad4ab7112eb3929d // .quad -5959749872445582691 - QUAD $0xe871c7bf077ba8b7 // .quad -1697355961263740745 - QUAD $0xd89d64d57a607744 // .quad -2838001322129590460 - QUAD $0x11471cd764ad4972 // .quad 1244995533423855986 - QUAD $0x87625f056c7c4a8b // .quad -8691279853972075893 - QUAD $0xd598e40d3dd89bcf // .quad -3055441601647567921 - QUAD $0xa93af6c6c79b5d2d // .quad -6252413799037706963 - QUAD $0x4aff1d108d4ec2c3 // .quad 5404070034795315907 - QUAD $0xd389b47879823479 // .quad -3203831230369745799 - QUAD $0xcedf722a585139ba // .quad -3539985255894009414 - QUAD $0x843610cb4bf160cb // .quad -8919923546622172981 - QUAD $0xc2974eb4ee658828 // .quad -4424981569867511768 - QUAD $0xa54394fe1eedb8fe // .quad -6538218414850328322 - QUAD $0x733d226229feea32 // .quad 8303831092947774002 - QUAD $0xce947a3da6a9273e // .quad -3561087000135522498 - QUAD $0x0806357d5a3f525f // .quad 578208414664970847 - QUAD $0x811ccc668829b887 // .quad -9143208402725783417 - QUAD $0xca07c2dcb0cf26f7 // .quad -3888925500096174345 - QUAD $0xa163ff802a3426a8 // .quad -6817324484979841368 - QUAD $0xfc89b393dd02f0b5 // .quad -249470856692830027 - QUAD $0xc9bcff6034c13052 // .quad -3909969587797413806 - QUAD $0xbbac2078d443ace2 // .quad -4923524589293425438 - QUAD $0xfc2c3f3841f17c67 // .quad -275775966319379353 - QUAD $0xd54b944b84aa4c0d // .quad -3077202868308390899 - QUAD $0x9d9ba7832936edc0 // .quad -7089889006590693952 - QUAD $0x0a9e795e65d4df11 // .quad 765182433041899281 - QUAD $0xc5029163f384a931 // .quad -4250675239810979535 - QUAD $0x4d4617b5ff4a16d5 // .quad 5568164059729762005 - QUAD $0xf64335bcf065d37d // .quad -701658031336336515 - QUAD $0x504bced1bf8e4e45 // .quad 5785945546544795205 - QUAD $0x99ea0196163fa42e // .quad -7356065297226292178 - QUAD $0xe45ec2862f71e1d6 // .quad -1990940103673781802 - QUAD $0xc06481fb9bcf8d39 // .quad -4583395603105477319 - QUAD $0x5d767327bb4e5a4c // .quad 6734696907262548556 - QUAD $0xf07da27a82c37088 // .quad -1117558485454458744 - QUAD $0x3a6a07f8d510f86f // .quad 4209185567039092847 - QUAD $0x964e858c91ba2655 // .quad -7616003081050118571 - QUAD $0x890489f70a55368b // .quad -8573576096483297653 - QUAD $0xbbe226efb628afea // .quad -4908317832885260310 - QUAD $0x2b45ac74ccea842e // .quad 3118087934678041646 - QUAD $0xeadab0aba3b2dbe5 // .quad -1523711272679187483 - QUAD $0x3b0b8bc90012929d // .quad 4254647968387469981 - QUAD $0x92c8ae6b464fc96f // .quad -7869848573065574033 - QUAD $0x09ce6ebb40173744 // .quad 706623942056949572 - QUAD $0xb77ada0617e3bbcb // .quad -5225624697904579637 - QUAD $0xcc420a6a101d0515 // .quad -3728406090856200939 - QUAD $0xe55990879ddcaabd // .quad -1920344853953336643 - QUAD $0x9fa946824a12232d // .quad -6941939825212513491 - QUAD $0x8f57fa54c2a9eab6 // .quad -8117744561361917258 - QUAD $0x47939822dc96abf9 // .quad 5157633273766521849 - QUAD $0xb32df8e9f3546564 // .quad -5535494683275008668 - QUAD $0x59787e2b93bc56f7 // .quad 6447041592208152311 - QUAD $0xdff9772470297ebd // .quad -2307682335666372931 - QUAD $0x57eb4edb3c55b65a // .quad 6335244004343789146 - QUAD $0x8bfbea76c619ef36 // .quad -8359830487432564938 - QUAD $0xede622920b6b23f1 // .quad -1304317031425039375 - QUAD $0xaefae51477a06b03 // .quad -5838102090863318269 - QUAD $0xe95fab368e45eced // .quad -1630396289281299219 - QUAD $0xdab99e59958885c4 // .quad -2685941595151759932 - QUAD $0x11dbcb0218ebb414 // .quad 1286845328412881940 - QUAD $0x88b402f7fd75539b // .quad -8596242524610931813 - QUAD $0xd652bdc29f26a119 // .quad -3003129357911285479 - QUAD $0xaae103b5fcd2a881 // .quad -6133617137336276863 - QUAD $0x4be76d3346f0495f // .quad 5469460339465668959 - QUAD $0xd59944a37c0752a2 // .quad -3055335403242958174 - QUAD $0x6f70a4400c562ddb // .quad 8030098730593431003 - QUAD $0x857fcae62d8493a5 // .quad -8827113654667930715 - QUAD $0xcb4ccd500f6bb952 // .quad -3797434642040374958 - QUAD $0xa6dfbd9fb8e5b88e // .quad -6422206049907525490 - QUAD $0x7e2000a41346a7a7 // .quad 9088264752731695015 - QUAD $0xd097ad07a71f26b2 // .quad -3416071543957018958 - QUAD $0x8ed400668c0c28c8 // .quad -8154892584824854328 - QUAD $0x825ecc24c873782f // .quad -9052573742614218705 - QUAD $0x728900802f0f32fa // .quad 8253128342678483706 - QUAD $0xa2f67f2dfa90563b // .quad -6704031159840385477 - QUAD $0x4f2b40a03ad2ffb9 // .quad 5704724409920716729 - QUAD $0xcbb41ef979346bca // .quad -3768352931373093942 - QUAD $0xe2f610c84987bfa8 // .quad -2092466524453879896 - QUAD $0xfea126b7d78186bc // .quad -98755145788979524 - QUAD $0x0dd9ca7d2df4d7c9 // .quad 998051431430019017 - QUAD $0x9f24b832e6b0f436 // .quad -6979250993759194058 - QUAD $0x91503d1c79720dbb // .quad -7975807747567252037 - QUAD $0xc6ede63fa05d3143 // .quad -4112377723771604669 - QUAD $0x75a44c6397ce912a // .quad 8476984389250486570 - QUAD $0xf8a95fcf88747d94 // .quad -528786136287117932 - QUAD $0xc986afbe3ee11aba // .quad -3925256793573221702 - QUAD $0x9b69dbe1b548ce7c // .quad -7248020362820530564 - QUAD $0xfbe85badce996168 // .quad -294884973539139224 - QUAD $0xc24452da229b021b // .quad -4448339435098275301 - QUAD $0xfae27299423fb9c3 // .quad -368606216923924029 - QUAD $0xf2d56790ab41c2a2 // .quad -948738275445456222 - QUAD $0xdccd879fc967d41a // .quad -2536221894791146470 - QUAD $0x97c560ba6b0919a5 // .quad -7510490449794491995 - QUAD $0x5400e987bbc1c920 // .quad 6053094668365842720 - QUAD $0xbdb6b8e905cb600f // .quad -4776427043815727089 - QUAD $0x290123e9aab23b68 // .quad 2954682317029915496 - QUAD $0xed246723473e3813 // .quad -1358847786342270957 - QUAD $0xf9a0b6720aaf6521 // .quad -459166561069996767 - QUAD $0x9436c0760c86e30b // .quad -7766808894105001205 - QUAD $0xf808e40e8d5b3e69 // .quad -573958201337495959 - QUAD $0xb94470938fa89bce // .quad -5096825099203863602 - QUAD $0xb60b1d1230b20e04 // .quad -5329133770099257852 - QUAD $0xe7958cb87392c2c2 // .quad -1759345355577441598 - QUAD $0xb1c6f22b5e6f48c2 // .quad -5636551615525730110 - QUAD $0x90bd77f3483bb9b9 // .quad -8017119874876982855 - QUAD $0x1e38aeb6360b1af3 // .quad 2177682517447613171 - QUAD $0xb4ecd5f01a4aa828 // .quad -5409713825168840664 - QUAD $0x25c6da63c38de1b0 // .quad 2722103146809516464 - QUAD $0xe2280b6c20dd5232 // .quad -2150456263033662926 - QUAD $0x579c487e5a38ad0e // .quad 6313000485183335694 - QUAD $0x8d590723948a535f // .quad -8261564192037121185 - QUAD $0x2d835a9df0c6d851 // .quad 3279564588051781713 - QUAD $0xb0af48ec79ace837 // .quad -5715269221619013577 - QUAD $0xf8e431456cf88e65 // .quad -512230283362660763 - QUAD $0xdcdb1b2798182244 // .quad -2532400508596379068 - QUAD $0x1b8e9ecb641b58ff // .quad 1985699082112030975 - QUAD $0x8a08f0f8bf0f156b // .quad -8500279345513818773 - QUAD $0xe272467e3d222f3f // .quad -2129562165787349185 - QUAD $0xac8b2d36eed2dac5 // .quad -6013663163464885563 - QUAD $0x5b0ed81dcc6abb0f // .quad 6561419329620589327 - QUAD $0xd7adf884aa879177 // .quad -2905392935903719049 - QUAD $0x98e947129fc2b4e9 // .quad -7428327965055601431 - QUAD $0x86ccbb52ea94baea // .quad -8733399612580906262 - QUAD $0x3f2398d747b36224 // .quad 4549648098962661924 - QUAD $0xa87fea27a539e9a5 // .quad -6305063497298744923 - QUAD $0x8eec7f0d19a03aad // .quad -8147997931578836307 - QUAD $0xd29fe4b18e88640e // .quad -3269643353196043250 - QUAD $0x1953cf68300424ac // .quad 1825030320404309164 - QUAD $0x83a3eeeef9153e89 // .quad -8961056123388608887 - QUAD $0x5fa8c3423c052dd7 // .quad 6892973918932774359 - QUAD $0xa48ceaaab75a8e2b // .quad -6589634135808373205 - QUAD $0x3792f412cb06794d // .quad 4004531380238580045 - QUAD $0xcdb02555653131b6 // .quad -3625356651333078602 - QUAD $0xe2bbd88bbee40bd0 // .quad -2108853905778275376 - QUAD $0x808e17555f3ebf11 // .quad -9183376934724255983 - QUAD $0x5b6aceaeae9d0ec4 // .quad 6587304654631931588 - QUAD $0xa0b19d2ab70e6ed6 // .quad -6867535149977932074 - QUAD $0xf245825a5a445275 // .quad -989241218564861323 - QUAD $0xc8de047564d20a8b // .quad -3972732919045027189 - QUAD $0xeed6e2f0f0d56712 // .quad -1236551523206076654 - QUAD $0xfb158592be068d2e // .quad -354230130378896082 - QUAD $0x55464dd69685606b // .quad 6144684325637283947 - QUAD $0x9ced737bb6c4183d // .quad -7138922859127891907 - QUAD $0xaa97e14c3c26b886 // .quad -6154202648235558778 - QUAD $0xc428d05aa4751e4c // .quad -4311967555482476980 - QUAD $0xd53dd99f4b3066a8 // .quad -3081067291867060568 - QUAD $0xf53304714d9265df // .quad -778273425925708321 - QUAD $0xe546a8038efe4029 // .quad -1925667057416912855 - QUAD $0x993fe2c6d07b7fab // .quad -7403949918844649557 - QUAD $0xde98520472bdd033 // .quad -2407083821771141069 - QUAD $0xbf8fdb78849a5f96 // .quad -4643251380128424042 - QUAD $0x963e66858f6d4440 // .quad -7620540795641314240 - QUAD $0xef73d256a5c0f77c // .quad -1192378206733142148 - QUAD $0xdde7001379a44aa8 // .quad -2456994988062127448 - QUAD $0x95a8637627989aad // .quad -7662765406849295699 - QUAD $0x5560c018580d5d52 // .quad 6152128301777116498 - QUAD $0xbb127c53b17ec159 // .quad -4966770740134231719 - QUAD $0xaab8f01e6e10b4a6 // .quad -6144897678060768090 - QUAD $0xe9d71b689dde71af // .quad -1596777406740401745 - QUAD $0xcab3961304ca70e8 // .quad -3840561048787980056 - QUAD $0x9226712162ab070d // .quad -7915514906853832947 - QUAD $0x3d607b97c5fd0d22 // .quad 4422670725869800738 - QUAD $0xb6b00d69bb55c8d1 // .quad -5282707615139903279 - QUAD $0x8cb89a7db77c506a // .quad -8306719647944912790 - QUAD $0xe45c10c42a2b3b05 // .quad -1991698500497491195 - QUAD $0x77f3608e92adb242 // .quad 8643358275316593218 - QUAD $0x8eb98a7a9a5b04e3 // .quad -8162340590452013853 - QUAD $0x55f038b237591ed3 // .quad 6192511825718353619 - QUAD $0xb267ed1940f1c61c // .quad -5591239719637629412 - QUAD $0x6b6c46dec52f6688 // .quad 7740639782147942024 - QUAD $0xdf01e85f912e37a3 // .quad -2377363631119648861 - QUAD $0x2323ac4b3b3da015 // .quad 2532056854628769813 - QUAD $0x8b61313bbabce2c6 // .quad -8403381297090862394 - QUAD $0xabec975e0a0d081a // .quad -6058300968568813542 - QUAD $0xae397d8aa96c1b77 // .quad -5892540602936190089 - QUAD $0x96e7bd358c904a21 // .quad -7572876210711016927 - QUAD $0xd9c7dced53c72255 // .quad -2753989735242849707 - QUAD $0x7e50d64177da2e54 // .quad 9102010423587778132 - QUAD $0x881cea14545c7575 // .quad -8638772612167862923 - QUAD $0xdde50bd1d5d0b9e9 // .quad -2457545025797441047 - QUAD $0xaa242499697392d2 // .quad -6186779746782440750 - QUAD $0x955e4ec64b44e864 // .quad -7683617300674189212 - QUAD $0xd4ad2dbfc3d07787 // .quad -3121788665050663033 - QUAD $0xbd5af13bef0b113e // .quad -4802260812921368258 - QUAD $0x84ec3c97da624ab4 // .quad -8868646943297746252 - QUAD $0xecb1ad8aeacdd58e // .quad -1391139997724322418 - QUAD $0xa6274bbdd0fadd61 // .quad -6474122660694794911 - QUAD $0x67de18eda5814af2 // .quad 7484447039699372786 - QUAD $0xcfb11ead453994ba // .quad -3480967307441105734 - QUAD $0x80eacf948770ced7 // .quad -9157278655470055721 - QUAD $0x81ceb32c4b43fcf4 // .quad -9093133594791772940 - QUAD $0xa1258379a94d028d // .quad -6834912300910181747 - QUAD $0xa2425ff75e14fc31 // .quad -6754730975062328271 - QUAD $0x096ee45813a04330 // .quad 679731660717048624 - QUAD $0xcad2f7f5359a3b3e // .quad -3831727700400522434 - QUAD $0x8bca9d6e188853fc // .quad -8373707460958465028 - QUAD $0xfd87b5f28300ca0d // .quad -177973607073265139 - QUAD $0x775ea264cf55347d // .quad 8601490892183123069 - QUAD $0x9e74d1b791e07e48 // .quad -7028762532061872568 - QUAD $0x95364afe032a819d // .quad -7694880458480647779 - QUAD $0xc612062576589dda // .quad -4174267146649952806 - QUAD $0x3a83ddbd83f52204 // .quad 4216457482181353988 - QUAD $0xf79687aed3eec551 // .quad -606147914885053103 - QUAD $0xc4926a9672793542 // .quad -4282243101277735614 - QUAD $0x9abe14cd44753b52 // .quad -7296371474444240046 - QUAD $0x75b7053c0f178293 // .quad 8482254178684994195 - QUAD $0xc16d9a0095928a27 // .quad -4508778324627912153 - QUAD $0x5324c68b12dd6338 // .quad 5991131704928854840 - QUAD $0xf1c90080baf72cb1 // .quad -1024286887357502287 - QUAD $0xd3f6fc16ebca5e03 // .quad -3173071712060547581 - QUAD $0x971da05074da7bee // .quad -7557708332239520786 - QUAD $0x88f4bb1ca6bcf584 // .quad -8578025658503072380 - QUAD $0xbce5086492111aea // .quad -4835449396872013078 - QUAD $0x2b31e9e3d06c32e5 // .quad 3112525982153323237 - QUAD $0xec1e4a7db69561a5 // .quad -1432625727662628443 - QUAD $0x3aff322e62439fcf // .quad 4251171748059520975 - QUAD $0x9392ee8e921d5d07 // .quad -7812920107430224633 - QUAD $0x09befeb9fad487c2 // .quad 702278666647013314 - QUAD $0xb877aa3236a4b449 // .quad -5154464115860392887 - QUAD $0x4c2ebe687989a9b3 // .quad 5489534351736154547 - QUAD $0xe69594bec44de15b // .quad -1831394126398103205 - QUAD $0x0f9d37014bf60a10 // .quad 1125115960621402640 - QUAD $0x901d7cf73ab0acd9 // .quad -8062150356639896359 - QUAD $0x538484c19ef38c94 // .quad 6018080969204141204 - QUAD $0xb424dc35095cd80f // .quad -5466001927372482545 - QUAD $0x2865a5f206b06fb9 // .quad 2910915193077788601 - QUAD $0xe12e13424bb40e13 // .quad -2220816390788215277 - QUAD $0xf93f87b7442e45d3 // .quad -486521013540076077 - QUAD $0x8cbccc096f5088cb // .quad -8305539271883716405 - QUAD $0xf78f69a51539d748 // .quad -608151266925095096 - QUAD $0xafebff0bcb24aafe // .quad -5770238071427257602 - QUAD $0xb573440e5a884d1b // .quad -5371875102083756773 - QUAD $0xdbe6fecebdedd5be // .quad -2601111570856684098 - QUAD $0x31680a88f8953030 // .quad 3560107088838733872 - QUAD $0x89705f4136b4a597 // .quad -8543223759426509417 - QUAD $0xfdc20d2b36ba7c3d // .quad -161552157378970563 - QUAD $0xabcc77118461cefc // .quad -6067343680855748868 - QUAD $0x3d32907604691b4c // .quad 4409745821703674700 - QUAD $0xd6bf94d5e57a42bc // .quad -2972493582642298180 - QUAD $0xa63f9a49c2c1b10f // .quad -6467280898289979121 - QUAD $0x8637bd05af6c69b5 // .quad -8775337516792518219 - QUAD $0x0fcf80dc33721d53 // .quad 1139270913992301907 - QUAD $0xa7c5ac471b478423 // .quad -6357485877563259869 - QUAD $0xd3c36113404ea4a8 // .quad -3187597375937010520 - QUAD $0xd1b71758e219652b // .quad -3335171328526686933 - QUAD $0x645a1cac083126e9 // .quad 7231123676894144233 - QUAD $0x83126e978d4fdf3b // .quad -9002011107970261189 - QUAD $0x3d70a3d70a3d70a3 // .quad 4427218577690292387 - QUAD $0xa3d70a3d70a3d70a // .quad -6640827866535438582 - QUAD $0xcccccccccccccccc; QUAD $0xcccccccccccccccc // .space 16, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8000000000000000 // .quad -9223372036854775808 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa000000000000000 // .quad -6917529027641081856 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xc800000000000000 // .quad -4035225266123964416 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xfa00000000000000 // .quad -432345564227567616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9c40000000000000 // .quad -7187745005283311616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xc350000000000000 // .quad -4372995238176751616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xf424000000000000 // .quad -854558029293551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9896800000000000 // .quad -7451627795949551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xbebc200000000000 // .quad -4702848726509551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xee6b280000000000 // .quad -1266874889709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9502f90000000000 // .quad -7709325833709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xba43b74000000000 // .quad -5024971273709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xe8d4a51000000000 // .quad -1669528073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9184e72a00000000 // .quad -7960984073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xb5e620f480000000 // .quad -5339544073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xe35fa931a0000000 // .quad -2062744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8e1bc9bf04000000 // .quad -8206744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xb1a2bc2ec5000000 // .quad -5646744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xde0b6b3a76400000 // .quad -2446744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8ac7230489e80000 // .quad -8446744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xad78ebc5ac620000 // .quad -5946744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xd8d726b7177a8000 // .quad -2821744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x878678326eac9000 // .quad -8681119073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa968163f0a57b400 // .quad -6239712823709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xd3c21bcecceda100 // .quad -3187955011209551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x84595161401484a0 // .quad -8910000909647051616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa56fa5b99019a5c8 // .quad -6525815118631426616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xcecb8f27f4200f3a // .quad -3545582879861895366 - QUAD $0x4000000000000000 // .quad 4611686018427387904 - QUAD $0x813f3978f8940984 // .quad -9133518327554766460 - QUAD $0x5000000000000000 // .quad 5764607523034234880 - QUAD $0xa18f07d736b90be5 // .quad -6805211891016070171 - QUAD $0xa400000000000000 // .quad -6629298651489370112 - QUAD $0xc9f2c9cd04674ede // .quad -3894828845342699810 - QUAD $0x4d00000000000000 // .quad 5548434740920451072 - QUAD $0xfc6f7c4045812296 // .quad -256850038250986858 - QUAD $0xf020000000000000 // .quad -1143914305352105984 - QUAD $0x9dc5ada82b70b59d // .quad -7078060301547948643 - QUAD $0x6c28000000000000 // .quad 7793479155164643328 - QUAD $0xc5371912364ce305 // .quad -4235889358507547899 - QUAD $0xc732000000000000 // .quad -4093209111326359552 - QUAD $0xf684df56c3e01bc6 // .quad -683175679707046970 - QUAD $0x3c7f400000000000 // .quad 4359273333062107136 - QUAD $0x9a130b963a6c115c // .quad -7344513827457986212 - QUAD $0x4b9f100000000000 // .quad 5449091666327633920 - QUAD $0xc097ce7bc90715b3 // .quad -4568956265895094861 - QUAD $0x1e86d40000000000 // .quad 2199678564482154496 - QUAD $0xf0bdc21abb48db20 // .quad -1099509313941480672 - QUAD $0x1314448000000000 // .quad 1374799102801346560 - QUAD $0x96769950b50d88f4 // .quad -7604722348854507276 - QUAD $0x17d955a000000000 // .quad 1718498878501683200 - QUAD $0xbc143fa4e250eb31 // .quad -4894216917640746191 - QUAD $0x5dcfab0800000000 // .quad 6759809616554491904 - QUAD $0xeb194f8e1ae525fd // .quad -1506085128623544835 - QUAD $0x5aa1cae500000000 // .quad 6530724019560251392 - QUAD $0x92efd1b8d0cf37be // .quad -7858832233030797378 - QUAD $0xf14a3d9e40000000 // .quad -1059967012404461568 - QUAD $0xb7abc627050305ad // .quad -5211854272861108819 - QUAD $0x6d9ccd05d0000000 // .quad 7898413271349198848 - QUAD $0xe596b7b0c643c719 // .quad -1903131822648998119 - QUAD $0xe4820023a2000000 // .quad -1981020733047832576 - QUAD $0x8f7e32ce7bea5c6f // .quad -8106986416796705681 - QUAD $0xdda2802c8a800000 // .quad -2476275916309790720 - QUAD $0xb35dbf821ae4f38b // .quad -5522047002568494197 - QUAD $0xd50b2037ad200000 // .quad -3095344895387238400 - QUAD $0xe0352f62a19e306e // .quad -2290872734783229842 - QUAD $0x4526f422cc340000 // .quad 4982938468024057856 - QUAD $0x8c213d9da502de45 // .quad -8349324486880600507 - QUAD $0x9670b12b7f410000 // .quad -7606384970252091392 - QUAD $0xaf298d050e4395d6 // .quad -5824969590173362730 - QUAD $0x3c0cdd765f114000 // .quad 4327076842467049472 - QUAD $0xdaf3f04651d47b4c // .quad -2669525969289315508 - QUAD $0xa5880a69fb6ac800 // .quad -6518949010312869888 - QUAD $0x88d8762bf324cd0f // .quad -8585982758446904049 - QUAD $0x8eea0d047a457a00 // .quad -8148686262891087360 - QUAD $0xab0e93b6efee0053 // .quad -6120792429631242157 - QUAD $0x72a4904598d6d880 // .quad 8260886245095692416 - QUAD $0xd5d238a4abe98068 // .quad -3039304518611664792 - QUAD $0x47a6da2b7f864750 // .quad 5163053903184807760 - QUAD $0x85a36366eb71f041 // .quad -8817094351773372351 - QUAD $0x999090b65f67d924 // .quad -7381240676301154012 - QUAD $0xa70c3c40a64e6c51 // .quad -6409681921289327535 - QUAD $0xfff4b4e3f741cf6d // .quad -3178808521666707 - QUAD $0xd0cf4b50cfe20765 // .quad -3400416383184271515 - QUAD $0xbff8f10e7a8921a4 // .quad -4613672773753429596 - QUAD $0x82818f1281ed449f // .quad -9042789267131251553 - QUAD $0xaff72d52192b6a0d // .quad -5767090967191786995 - QUAD $0xa321f2d7226895c7 // .quad -6691800565486676537 - QUAD $0x9bf4f8a69f764490 // .quad -7208863708989733744 - QUAD $0xcbea6f8ceb02bb39 // .quad -3753064688430957767 - QUAD $0x02f236d04753d5b4 // .quad 212292400617608628 - QUAD $0xfee50b7025c36a08 // .quad -79644842111309304 - QUAD $0x01d762422c946590 // .quad 132682750386005392 - QUAD $0x9f4f2726179a2245 // .quad -6967307053960650171 - QUAD $0x424d3ad2b7b97ef5 // .quad 4777539456409894645 - QUAD $0xc722f0ef9d80aad6 // .quad -4097447799023424810 - QUAD $0xd2e0898765a7deb2 // .quad -3251447716342407502 - QUAD $0xf8ebad2b84e0d58b // .quad -510123730351893109 - QUAD $0x63cc55f49f88eb2f // .quad 7191217214140771119 - QUAD $0x9b934c3b330c8577 // .quad -7236356359111015049 - QUAD $0x3cbf6b71c76b25fb // .quad 4377335499248575995 - QUAD $0xc2781f49ffcfa6d5 // .quad -4433759430461380907 - QUAD $0x8bef464e3945ef7a // .quad -8363388681221443718 - QUAD $0xf316271c7fc3908a // .quad -930513269649338230 - QUAD $0x97758bf0e3cbb5ac // .quad -7532960934977096276 - QUAD $0x97edd871cfda3a56 // .quad -7499099821171918250 - QUAD $0x3d52eeed1cbea317 // .quad 4418856886560793367 - QUAD $0xbde94e8e43d0c8ec // .quad -4762188758037509908 - QUAD $0x4ca7aaa863ee4bdd // .quad 5523571108200991709 - QUAD $0xed63a231d4c4fb27 // .quad -1341049929119499481 - QUAD $0x8fe8caa93e74ef6a // .quad -8076983103442849942 - QUAD $0x945e455f24fb1cf8 // .quad -7755685233340769032 - QUAD $0xb3e2fd538e122b44 // .quad -5484542860876174524 - QUAD $0xb975d6b6ee39e436 // .quad -5082920523248573386 - QUAD $0x60dbbca87196b616 // .quad 6979379479186945558 - QUAD $0xe7d34c64a9c85d44 // .quad -1741964635633328828 - QUAD $0xbc8955e946fe31cd // .quad -4861259862362934835 - QUAD $0x90e40fbeea1d3a4a // .quad -8006256924911912374 - QUAD $0x6babab6398bdbe41 // .quad 7758483227328495169 - QUAD $0xb51d13aea4a488dd // .quad -5396135137712502563 - QUAD $0xc696963c7eed2dd1 // .quad -4136954021121544751 - QUAD $0xe264589a4dcdab14 // .quad -2133482903713240300 - QUAD $0xfc1e1de5cf543ca2 // .quad -279753253987271518 - QUAD $0x8d7eb76070a08aec // .quad -8250955842461857044 - QUAD $0x3b25a55f43294bcb // .quad 4261994450943298507 - QUAD $0xb0de65388cc8ada8 // .quad -5702008784649933400 - QUAD $0x49ef0eb713f39ebe // .quad 5327493063679123134 - QUAD $0xdd15fe86affad912 // .quad -2515824962385028846 - QUAD $0x6e3569326c784337 // .quad 7941369183226839863 - QUAD $0x8a2dbf142dfcc7ab // .quad -8489919629131724885 - QUAD $0x49c2c37f07965404 // .quad 5315025460606161924 - QUAD $0xacb92ed9397bf996 // .quad -6000713517987268202 - QUAD $0xdc33745ec97be906 // .quad -2579590211097073402 - QUAD $0xd7e77a8f87daf7fb // .quad -2889205879056697349 - QUAD $0x69a028bb3ded71a3 // .quad 7611128154919104931 - QUAD $0x86f0ac99b4e8dafd // .quad -8723282702051517699 - QUAD $0xc40832ea0d68ce0c // .quad -4321147861633282548 - QUAD $0xa8acd7c0222311bc // .quad -6292417359137009220 - QUAD $0xf50a3fa490c30190 // .quad -789748808614215280 - QUAD $0xd2d80db02aabd62b // .quad -3253835680493873621 - QUAD $0x792667c6da79e0fa // .quad 8729779031470891258 - QUAD $0x83c7088e1aab65db // .quad -8951176327949752869 - QUAD $0x577001b891185938 // .quad 6300537770911226168 - QUAD $0xa4b8cab1a1563f52 // .quad -6577284391509803182 - QUAD $0xed4c0226b55e6f86 // .quad -1347699823215743098 - QUAD $0xcde6fd5e09abcf26 // .quad -3609919470959866074 - QUAD $0x544f8158315b05b4 // .quad 6075216638131242420 - QUAD $0x80b05e5ac60b6178 // .quad -9173728696990998152 - QUAD $0x696361ae3db1c721 // .quad 7594020797664053025 - QUAD $0xa0dc75f1778e39d6 // .quad -6855474852811359786 - QUAD $0x03bc3a19cd1e38e9 // .quad 269153960225290473 - QUAD $0xc913936dd571c84c // .quad -3957657547586811828 - QUAD $0x04ab48a04065c723 // .quad 336442450281613091 - QUAD $0xfb5878494ace3a5f // .quad -335385916056126881 - QUAD $0x62eb0d64283f9c76 // .quad 7127805559067090038 - QUAD $0x9d174b2dcec0e47b // .quad -7127145225176161157 - QUAD $0x3ba5d0bd324f8394 // .quad 4298070930406474644 - QUAD $0xc45d1df942711d9a // .quad -4297245513042813542 - QUAD $0xca8f44ec7ee36479 // .quad -3850783373846682503 - QUAD $0xf5746577930d6500 // .quad -759870872876129024 - QUAD $0x7e998b13cf4e1ecb // .quad 9122475437414293195 - QUAD $0x9968bf6abbe85f20 // .quad -7392448323188662496 - QUAD $0x9e3fedd8c321a67e // .quad -7043649776941685122 - QUAD $0xbfc2ef456ae276e8 // .quad -4628874385558440216 - QUAD $0xc5cfe94ef3ea101e // .quad -4192876202749718498 - QUAD $0xefb3ab16c59b14a2 // .quad -1174406963520662366 - QUAD $0xbba1f1d158724a12 // .quad -4926390635932268014 - QUAD $0x95d04aee3b80ece5 // .quad -7651533379841495835 - QUAD $0x2a8a6e45ae8edc97 // .quad 3065383741939440791 - QUAD $0xbb445da9ca61281f // .quad -4952730706374481889 - QUAD $0xf52d09d71a3293bd // .quad -779956341003086915 - QUAD $0xea1575143cf97226 // .quad -1579227364540714458 - QUAD $0x593c2626705f9c56 // .quad 6430056314514152534 - QUAD $0x924d692ca61be758 // .quad -7904546130479028392 - QUAD $0x6f8b2fb00c77836c // .quad 8037570393142690668 - QUAD $0xb6e0c377cfa2e12e // .quad -5268996644671397586 - QUAD $0x0b6dfb9c0f956447 // .quad 823590954573587527 - QUAD $0xe498f455c38b997a // .quad -1974559787411859078 - QUAD $0x4724bd4189bd5eac // .quad 5126430365035880108 - QUAD $0x8edf98b59a373fec // .quad -8151628894773493780 - QUAD $0x58edec91ec2cb657 // .quad 6408037956294850135 - QUAD $0xb2977ee300c50fe7 // .quad -5577850100039479321 - QUAD $0x2f2967b66737e3ed // .quad 3398361426941174765 - QUAD $0xdf3d5e9bc0f653e1 // .quad -2360626606621961247 - QUAD $0xbd79e0d20082ee74 // .quad -4793553135802847628 - QUAD $0x8b865b215899f46c // .quad -8392920656779807636 - QUAD $0xecd8590680a3aa11 // .quad -1380255401326171631 - QUAD $0xae67f1e9aec07187 // .quad -5879464802547371641 - QUAD $0xe80e6f4820cc9495 // .quad -1725319251657714539 - QUAD $0xda01ee641a708de9 // .quad -2737644984756826647 - QUAD $0x3109058d147fdcdd // .quad 3533361486141316317 - QUAD $0x884134fe908658b2 // .quad -8628557143114098510 - QUAD $0xbd4b46f0599fd415 // .quad -4806670179178130411 - QUAD $0xaa51823e34a7eede // .quad -6174010410465235234 - QUAD $0x6c9e18ac7007c91a // .quad 7826720331309500698 - QUAD $0xd4e5e2cdc1d1ea96 // .quad -3105826994654156138 - QUAD $0x03e2cf6bc604ddb0 // .quad 280014188641050032 - QUAD $0x850fadc09923329e // .quad -8858670899299929442 - QUAD $0x84db8346b786151c // .quad -8873354301053463268 - QUAD $0xa6539930bf6bff45 // .quad -6461652605697523899 - QUAD $0xe612641865679a63 // .quad -1868320839462053277 - QUAD $0xcfe87f7cef46ff16 // .quad -3465379738694516970 - QUAD $0x4fcb7e8f3f60c07e // .quad 5749828502977298558 - QUAD $0x81f14fae158c5f6e // .quad -9083391364325154962 - QUAD $0xe3be5e330f38f09d // .quad -2036086408133152611 - QUAD $0xa26da3999aef7749 // .quad -6742553186979055799 - QUAD $0x5cadf5bfd3072cc5 // .quad 6678264026688335045 - QUAD $0xcb090c8001ab551c // .quad -3816505465296431844 - QUAD $0x73d9732fc7c8f7f6 // .quad 8347830033360418806 - QUAD $0xfdcb4fa002162a63 // .quad -158945813193151901 - QUAD $0x2867e7fddcdd9afa // .quad 2911550761636567802 - QUAD $0x9e9f11c4014dda7e // .quad -7016870160886801794 - QUAD $0xb281e1fd541501b8 // .quad -5583933584809066056 - QUAD $0xc646d63501a1511d // .quad -4159401682681114339 - QUAD $0x1f225a7ca91a4226 // .quad 2243455055843443238 - QUAD $0xf7d88bc24209a565 // .quad -587566084924005019 - QUAD $0x3375788de9b06958 // .quad 3708002419115845976 - QUAD $0x9ae757596946075f // .quad -7284757830718584993 - QUAD $0x0052d6b1641c83ae // .quad 23317005467419566 - QUAD $0xc1a12d2fc3978937 // .quad -4494261269970843337 - QUAD $0xc0678c5dbd23a49a // .quad -4582539761593113446 - QUAD $0xf209787bb47d6b84 // .quad -1006140569036166268 - QUAD $0xf840b7ba963646e0 // .quad -558244341782001952 - QUAD $0x9745eb4d50ce6332 // .quad -7546366883288685774 - QUAD $0xb650e5a93bc3d898 // .quad -5309491445654890344 - QUAD $0xbd176620a501fbff // .quad -4821272585683469313 - QUAD $0xa3e51f138ab4cebe // .quad -6636864307068612930 - QUAD $0xec5d3fa8ce427aff // .quad -1414904713676948737 - QUAD $0xc66f336c36b10137 // .quad -4148040191917883081 - QUAD $0x93ba47c980e98cdf // .quad -7801844473689174817 - QUAD $0xb80b0047445d4184 // .quad -5185050239897353852 - QUAD $0xb8a8d9bbe123f017 // .quad -5140619573684080617 - QUAD $0xa60dc059157491e5 // .quad -6481312799871692315 - QUAD $0xe6d3102ad96cec1d // .quad -1814088448677712867 - QUAD $0x87c89837ad68db2f // .quad -8662506518347195601 - QUAD $0x9043ea1ac7e41392 // .quad -8051334308064652398 - QUAD $0x29babe4598c311fb // .quad 3006924907348169211 - QUAD $0xb454e4a179dd1877 // .quad -5452481866653427593 - QUAD $0xf4296dd6fef3d67a // .quad -853029884242176390 - QUAD $0xe16a1dc9d8545e94 // .quad -2203916314889396588 - QUAD $0x1899e4a65f58660c // .quad 1772699331562333708 - QUAD $0x8ce2529e2734bb1d // .quad -8294976724446954723 - QUAD $0x5ec05dcff72e7f8f // .quad 6827560182880305039 - QUAD $0xb01ae745b101e9e4 // .quad -5757034887131305500 - QUAD $0x76707543f4fa1f73 // .quad 8534450228600381299 - QUAD $0xdc21a1171d42645d // .quad -2584607590486743971 - QUAD $0x6a06494a791c53a8 // .quad 7639874402088932264 - QUAD $0x899504ae72497eba // .quad -8532908771695296838 - QUAD $0x0487db9d17636892 // .quad 326470965756389522 - QUAD $0xabfa45da0edbde69 // .quad -6054449946191733143 - QUAD $0x45a9d2845d3c42b6 // .quad 5019774725622874806 - QUAD $0xd6f8d7509292d603 // .quad -2956376414312278525 - QUAD $0x0b8a2392ba45a9b2 // .quad 831516194300602802 - QUAD $0x865b86925b9bc5c2 // .quad -8765264286586255934 - QUAD $0x8e6cac7768d7141e // .quad -8183976793979022306 - QUAD $0xa7f26836f282b732 // .quad -6344894339805432014 - QUAD $0x3207d795430cd926 // .quad 3605087062808385830 - QUAD $0xd1ef0244af2364ff // .quad -3319431906329402113 - QUAD $0x7f44e6bd49e807b8 // .quad 9170708441896323000 - QUAD $0x8335616aed761f1f // .quad -8992173969096958177 - QUAD $0x5f16206c9c6209a6 // .quad 6851699533943015846 - QUAD $0xa402b9c5a8d3a6e7 // .quad -6628531442943809817 - QUAD $0x36dba887c37a8c0f // .quad 3952938399001381903 - QUAD $0xcd036837130890a1 // .quad -3673978285252374367 - QUAD $0xc2494954da2c9789 // .quad -4446942528265218167 - QUAD $0x802221226be55a64 // .quad -9213765455923815836 - QUAD $0xf2db9baa10b7bd6c // .quad -946992141904134804 - QUAD $0xa02aa96b06deb0fd // .quad -6905520801477381891 - QUAD $0x6f92829494e5acc7 // .quad 8039631859474607303 - QUAD $0xc83553c5c8965d3d // .quad -4020214983419339459 - QUAD $0xcb772339ba1f17f9 // .quad -3785518230938904583 - QUAD $0xfa42a8b73abbf48c // .quad -413582710846786420 - QUAD $0xff2a760414536efb // .quad -60105885123121413 - QUAD $0x9c69a97284b578d7 // .quad -7176018221920323369 - QUAD $0xfef5138519684aba // .quad -75132356403901766 - QUAD $0xc38413cf25e2d70d // .quad -4358336758973016307 - QUAD $0x7eb258665fc25d69 // .quad 9129456591349898601 - QUAD $0xf46518c2ef5b8cd1 // .quad -836234930288882479 - QUAD $0xef2f773ffbd97a61 // .quad -1211618658047395231 - QUAD $0x98bf2f79d5993802 // .quad -7440175859071633406 - QUAD $0xaafb550ffacfd8fa // .quad -6126209340986631942 - QUAD $0xbeeefb584aff8603 // .quad -4688533805412153853 - QUAD $0x95ba2a53f983cf38 // .quad -7657761676233289928 - QUAD $0xeeaaba2e5dbf6784 // .quad -1248981238337804412 - QUAD $0xdd945a747bf26183 // .quad -2480258038432112253 - QUAD $0x952ab45cfa97a0b2 // .quad -7698142301602209614 - QUAD $0x94f971119aeef9e4 // .quad -7712008566467528220 - QUAD $0xba756174393d88df // .quad -5010991858575374113 - QUAD $0x7a37cd5601aab85d // .quad 8806733365625141341 - QUAD $0xe912b9d1478ceb17 // .quad -1652053804791829737 - QUAD $0xac62e055c10ab33a // .quad -6025006692552756422 - QUAD $0x91abb422ccb812ee // .quad -7950062655635975442 - QUAD $0x577b986b314d6009 // .quad 6303799689591218185 - QUAD $0xb616a12b7fe617aa // .quad -5325892301117581398 - QUAD $0xed5a7e85fda0b80b // .quad -1343622424865753077 - QUAD $0xe39c49765fdf9d94 // .quad -2045679357969588844 - QUAD $0x14588f13be847307 // .quad 1466078993672598279 - QUAD $0x8e41ade9fbebc27d // .quad -8196078626372074883 - QUAD $0x596eb2d8ae258fc8 // .quad 6444284760518135752 - QUAD $0xb1d219647ae6b31c // .quad -5633412264537705700 - QUAD $0x6fca5f8ed9aef3bb // .quad 8055355950647669691 - QUAD $0xde469fbd99a05fe3 // .quad -2430079312244744221 - QUAD $0x25de7bb9480d5854 // .quad 2728754459941099604 - QUAD $0x8aec23d680043bee // .quad -8436328597794046994 - QUAD $0xaf561aa79a10ae6a // .quad -5812428961928401302 - QUAD $0xada72ccc20054ae9 // .quad -5933724728815170839 - QUAD $0x1b2ba1518094da04 // .quad 1957835834444274180 - QUAD $0xd910f7ff28069da4 // .quad -2805469892591575644 - QUAD $0x90fb44d2f05d0842 // .quad -7999724640327104446 - QUAD $0x87aa9aff79042286 // .quad -8670947710510816634 - QUAD $0x353a1607ac744a53 // .quad 3835402254873283155 - QUAD $0xa99541bf57452b28 // .quad -6226998619711132888 - QUAD $0x42889b8997915ce8 // .quad 4794252818591603944 - QUAD $0xd3fa922f2d1675f2 // .quad -3172062256211528206 - QUAD $0x69956135febada11 // .quad 7608094030047140369 - QUAD $0x847c9b5d7c2e09b7 // .quad -8900067937773286985 - QUAD $0x43fab9837e699095 // .quad 4898431519131537557 - QUAD $0xa59bc234db398c25 // .quad -6513398903789220827 - QUAD $0x94f967e45e03f4bb // .quad -7712018656367741765 - QUAD $0xcf02b2c21207ef2e // .quad -3530062611309138130 - QUAD $0x1d1be0eebac278f5 // .quad 2097517367411243253 - QUAD $0x8161afb94b44f57d // .quad -9123818159709293187 - QUAD $0x6462d92a69731732 // .quad 7233582727691441970 - QUAD $0xa1ba1ba79e1632dc // .quad -6793086681209228580 - QUAD $0x7d7b8f7503cfdcfe // .quad 9041978409614302462 - QUAD $0xca28a291859bbf93 // .quad -3879672333084147821 - QUAD $0x5cda735244c3d43e // .quad 6690786993590490174 - QUAD $0xfcb2cb35e702af78 // .quad -237904397927796872 - QUAD $0x3a0888136afa64a7 // .quad 4181741870994056359 - QUAD $0x9defbf01b061adab // .quad -7066219276345954901 - QUAD $0x088aaa1845b8fdd0 // .quad 615491320315182544 - QUAD $0xc56baec21c7a1916 // .quad -4221088077005055722 - QUAD $0x8aad549e57273d45 // .quad -8454007886460797627 - QUAD $0xf6c69a72a3989f5b // .quad -664674077828931749 - QUAD $0x36ac54e2f678864b // .quad 3939617107816777291 - QUAD $0x9a3c2087a63f6399 // .quad -7332950326284164199 - QUAD $0x84576a1bb416a7dd // .quad -8910536670511192099 - QUAD $0xc0cb28a98fcf3c7f // .quad -4554501889427817345 - QUAD $0x656d44a2a11c51d5 // .quad 7308573235570561493 - QUAD $0xf0fdf2d3f3c30b9f // .quad -1081441343357383777 - QUAD $0x9f644ae5a4b1b325 // .quad -6961356773836868827 - QUAD $0x969eb7c47859e743 // .quad -7593429867239446717 - QUAD $0x873d5d9f0dde1fee // .quad -8701695967296086034 - QUAD $0xbc4665b596706114 // .quad -4880101315621920492 - QUAD $0xa90cb506d155a7ea // .quad -6265433940692719638 - QUAD $0xeb57ff22fc0c7959 // .quad -1488440626100012711 - QUAD $0x09a7f12442d588f2 // .quad 695789805494438130 - QUAD $0x9316ff75dd87cbd8 // .quad -7847804418953589800 - QUAD $0x0c11ed6d538aeb2f // .quad 869737256868047663 - QUAD $0xb7dcbf5354e9bece // .quad -5198069505264599346 - QUAD $0x8f1668c8a86da5fa // .quad -8136200465769716230 - QUAD $0xe5d3ef282a242e81 // .quad -1885900863153361279 - QUAD $0xf96e017d694487bc // .quad -473439272678684740 - QUAD $0x8fa475791a569d10 // .quad -8096217067111932656 - QUAD $0x37c981dcc395a9ac // .quad 4019886927579031980 - QUAD $0xb38d92d760ec4455 // .quad -5508585315462527915 - QUAD $0x85bbe253f47b1417 // .quad -8810199395808373737 - QUAD $0xe070f78d3927556a // .quad -2274045625900771990 - QUAD $0x93956d7478ccec8e // .quad -7812217631593927538 - QUAD $0x8c469ab843b89562 // .quad -8338807543829064350 - QUAD $0x387ac8d1970027b2 // .quad 4069786015789754290 - QUAD $0xaf58416654a6babb // .quad -5811823411358942533 - QUAD $0x06997b05fcc0319e // .quad 475546501309804958 - QUAD $0xdb2e51bfe9d0696a // .quad -2653093245771290262 - QUAD $0x441fece3bdf81f03 // .quad 4908902581746016003 - QUAD $0x88fcf317f22241e2 // .quad -8575712306248138270 - QUAD $0xd527e81cad7626c3 // .quad -3087243809672255805 - QUAD $0xab3c2fddeeaad25a // .quad -6107954364382784934 - QUAD $0x8a71e223d8d3b074 // .quad -8470740780517707660 - QUAD $0xd60b3bd56a5586f1 // .quad -3023256937051093263 - QUAD $0xf6872d5667844e49 // .quad -682526969396179383 - QUAD $0x85c7056562757456 // .quad -8807064613298015146 - QUAD $0xb428f8ac016561db // .quad -5464844730172612133 - QUAD $0xa738c6bebb12d16c // .quad -6397144748195131028 - QUAD $0xe13336d701beba52 // .quad -2219369894288377262 - QUAD $0xd106f86e69d785c7 // .quad -3384744916816525881 - QUAD $0xecc0024661173473 // .quad -1387106183930235789 - QUAD $0x82a45b450226b39c // .quad -9032994600651410532 - QUAD $0x27f002d7f95d0190 // .quad 2877803288514593168 - QUAD $0xa34d721642b06084 // .quad -6679557232386875260 - QUAD $0x31ec038df7b441f4 // .quad 3597254110643241460 - QUAD $0xcc20ce9bd35c78a5 // .quad -3737760522056206171 - QUAD $0x7e67047175a15271 // .quad 9108253656731439729 - QUAD $0xff290242c83396ce // .quad -60514634142869810 - QUAD $0x0f0062c6e984d386 // .quad 1080972517029761926 - QUAD $0x9f79a169bd203e41 // .quad -6955350673980375487 - QUAD $0x52c07b78a3e60868 // .quad 5962901664714590312 - QUAD $0xc75809c42c684dd1 // .quad -4082502324048081455 - QUAD $0xa7709a56ccdf8a82 // .quad -6381430974388925822 - QUAD $0xf92e0c3537826145 // .quad -491441886632713915 - QUAD $0x88a66076400bb691 // .quad -8600080377420466543 - QUAD $0x9bbcc7a142b17ccb // .quad -7224680206786528053 - QUAD $0x6acff893d00ea435 // .quad 7696643601933968437 - QUAD $0xc2abf989935ddbfe // .quad -4419164240055772162 - QUAD $0x0583f6b8c4124d43 // .quad 397432465562684739 - QUAD $0xf356f7ebf83552fe // .quad -912269281642327298 - QUAD $0xc3727a337a8b704a // .quad -4363290727450709942 - QUAD $0x98165af37b2153de // .quad -7487697328667536418 - QUAD $0x744f18c0592e4c5c // .quad 8380944645968776284 - QUAD $0xbe1bf1b059e9a8d6 // .quad -4747935642407032618 - QUAD $0x1162def06f79df73 // .quad 1252808770606194547 - QUAD $0xeda2ee1c7064130c // .quad -1323233534581402868 - QUAD $0x8addcb5645ac2ba8 // .quad -8440366555225904216 - QUAD $0x9485d4d1c63e8be7 // .quad -7744549986754458649 - QUAD $0x6d953e2bd7173692 // .quad 7896285879677171346 - QUAD $0xb9a74a0637ce2ee1 // .quad -5069001465015685407 - QUAD $0xc8fa8db6ccdd0437 // .quad -3964700705685699529 - QUAD $0xe8111c87c5c1ba99 // .quad -1724565812842218855 - QUAD $0x1d9c9892400a22a2 // .quad 2133748077373825698 - QUAD $0x910ab1d4db9914a0 // .quad -7995382660667468640 - QUAD $0x2503beb6d00cab4b // .quad 2667185096717282123 - QUAD $0xb54d5e4a127f59c8 // .quad -5382542307406947896 - QUAD $0x2e44ae64840fd61d // .quad 3333981370896602653 - QUAD $0xe2a0b5dc971f303a // .quad -2116491865831296966 - QUAD $0x5ceaecfed289e5d2 // .quad 6695424375237764562 - QUAD $0x8da471a9de737e24 // .quad -8240336443785642460 - QUAD $0x7425a83e872c5f47 // .quad 8369280469047205703 - QUAD $0xb10d8e1456105dad // .quad -5688734536304665171 - QUAD $0xd12f124e28f77719 // .quad -3373457468973156583 - QUAD $0xdd50f1996b947518 // .quad -2499232151953443560 - QUAD $0x82bd6b70d99aaa6f // .quad -9025939945749304721 - QUAD $0x8a5296ffe33cc92f // .quad -8479549122611984081 - QUAD $0x636cc64d1001550b // .quad 7164319141522920715 - QUAD $0xace73cbfdc0bfb7b // .quad -5987750384837592197 - QUAD $0x3c47f7e05401aa4e // .quad 4343712908476262990 - QUAD $0xd8210befd30efa5a // .quad -2873001962619602342 - QUAD $0x65acfaec34810a71 // .quad 7326506586225052273 - QUAD $0x8714a775e3e95c78 // .quad -8713155254278333320 - QUAD $0x7f1839a741a14d0d // .quad 9158133232781315341 - QUAD $0xa8d9d1535ce3b396 // .quad -6279758049420528746 - QUAD $0x1ede48111209a050 // .quad 2224294504121868368 - QUAD $0xd31045a8341ca07c // .quad -3238011543348273028 - QUAD $0x934aed0aab460432 // .quad -7833187971778608078 - QUAD $0x83ea2b892091e44d // .quad -8941286242233752499 - QUAD $0xf81da84d5617853f // .quad -568112927868484289 - QUAD $0xa4e4b66b68b65d60 // .quad -6564921784364802720 - QUAD $0x36251260ab9d668e // .quad 3901544858591782542 - QUAD $0xce1de40642e3f4b9 // .quad -3594466212028615495 - QUAD $0xc1d72b7c6b426019 // .quad -4479063491021217767 - QUAD $0x80d2ae83e9ce78f3 // .quad -9164070410158966541 - QUAD $0xb24cf65b8612f81f // .quad -5598829363776522209 - QUAD $0xa1075a24e4421730 // .quad -6843401994271320272 - QUAD $0xdee033f26797b627 // .quad -2386850686293264857 - QUAD $0xc94930ae1d529cfc // .quad -3942566474411762436 - QUAD $0x169840ef017da3b1 // .quad 1628122660560806833 - QUAD $0xfb9b7cd9a4a7443c // .quad -316522074587315140 - QUAD $0x8e1f289560ee864e // .quad -8205795374004271538 - QUAD $0x9d412e0806e88aa5 // .quad -7115355324258153819 - QUAD $0xf1a6f2bab92a27e2 // .quad -1033872180650563614 - QUAD $0xc491798a08a2ad4e // .quad -4282508136895304370 - QUAD $0xae10af696774b1db // .quad -5904026244240592421 - QUAD $0xf5b5d7ec8acb58a2 // .quad -741449152691742558 - QUAD $0xacca6da1e0a8ef29 // .quad -5995859411864064215 - QUAD $0x9991a6f3d6bf1765 // .quad -7380934748073420955 - QUAD $0x17fd090a58d32af3 // .quad 1728547772024695539 - QUAD $0xbff610b0cc6edd3f // .quad -4614482416664388289 - QUAD $0xddfc4b4cef07f5b0 // .quad -2451001303396518480 - QUAD $0xeff394dcff8a948e // .quad -1156417002403097458 - QUAD $0x4abdaf101564f98e // .quad 5385653213018257806 - QUAD $0x95f83d0a1fb69cd9 // .quad -7640289654143017767 - QUAD $0x9d6d1ad41abe37f1 // .quad -7102991539009341455 - QUAD $0xbb764c4ca7a4440f // .quad -4938676049251384305 - QUAD $0x84c86189216dc5ed // .quad -8878739423761676819 - QUAD $0xea53df5fd18d5513 // .quad -1561659043136842477 - QUAD $0x32fd3cf5b4e49bb4 // .quad 3674159897003727796 - QUAD $0x92746b9be2f8552c // .quad -7893565929601608404 - QUAD $0x3fbc8c33221dc2a1 // .quad 4592699871254659745 - QUAD $0xb7118682dbb66a77 // .quad -5255271393574622601 - QUAD $0x0fabaf3feaa5334a // .quad 1129188820640936778 - QUAD $0xe4d5e82392a40515 // .quad -1957403223540890347 - QUAD $0x29cb4d87f2a7400e // .quad 3011586022114279438 - QUAD $0x8f05b1163ba6832d // .quad -8140906042354138323 - QUAD $0x743e20e9ef511012 // .quad 8376168546070237202 - QUAD $0xb2c71d5bca9023f8 // .quad -5564446534515285000 - QUAD $0x914da9246b255416 // .quad -7976533391121755114 - QUAD $0xdf78e4b2bd342cf6 // .quad -2343872149716718346 - QUAD $0x1ad089b6c2f7548e // .quad 1932195658189984910 - QUAD $0x8bab8eefb6409c1a // .quad -8382449121214030822 - QUAD $0xa184ac2473b529b1 // .quad -6808127464117294671 - QUAD $0xae9672aba3d0c320 // .quad -5866375383090150624 - QUAD $0xc9e5d72d90a2741e // .quad -3898473311719230434 - QUAD $0xda3c0f568cc4f3e8 // .quad -2721283210435300376 - QUAD $0x7e2fa67c7a658892 // .quad 9092669226243950738 - QUAD $0x8865899617fb1871 // .quad -8618331034163144591 - QUAD $0xddbb901b98feeab7 // .quad -2469221522477225289 - QUAD $0xaa7eebfb9df9de8d // .quad -6161227774276542835 - QUAD $0x552a74227f3ea565 // .quad 6136845133758244197 - QUAD $0xd51ea6fa85785631 // .quad -3089848699418290639 - QUAD $0xd53a88958f87275f // .quad -3082000819042179233 - QUAD $0x8533285c936b35de // .quad -8848684464777513506 - QUAD $0x8a892abaf368f137 // .quad -8464187042230111945 - QUAD $0xa67ff273b8460356 // .quad -6449169562544503978 - QUAD $0x2d2b7569b0432d85 // .quad 3254824252494523781 - QUAD $0xd01fef10a657842c // .quad -3449775934753242068 - QUAD $0x9c3b29620e29fc73 // .quad -7189106879045698445 - QUAD $0x8213f56a67f6b29b // .quad -9073638986861858149 - QUAD $0x8349f3ba91b47b8f // .quad -8986383598807123057 - QUAD $0xa298f2c501f45f42 // .quad -6730362715149934782 - QUAD $0x241c70a936219a73 // .quad 2602078556773259891 - QUAD $0xcb3f2f7642717713 // .quad -3801267375510030573 - QUAD $0xed238cd383aa0110 // .quad -1359087822460813040 - QUAD $0xfe0efb53d30dd4d7 // .quad -139898200960150313 - QUAD $0xf4363804324a40aa // .quad -849429889038008150 - QUAD $0x9ec95d1463e8a506 // .quad -7004965403241175802 - QUAD $0xb143c6053edcd0d5 // .quad -5673473379724898091 - QUAD $0xc67bb4597ce2ce48 // .quad -4144520735624081848 - QUAD $0xdd94b7868e94050a // .quad -2480155706228734710 - QUAD $0xf81aa16fdc1b81da // .quad -568964901102714406 - QUAD $0xca7cf2b4191c8326 // .quad -3855940325606653146 - QUAD $0x9b10a4e5e9913128 // .quad -7273132090830278360 - QUAD $0xfd1c2f611f63a3f0 // .quad -208239388580928528 - QUAD $0xc1d4ce1f63f57d72 // .quad -4479729095110460046 - QUAD $0xbc633b39673c8cec // .quad -4871985254153548564 - QUAD $0xf24a01a73cf2dccf // .quad -987975350460687153 - QUAD $0xd5be0503e085d813 // .quad -3044990783845967853 - QUAD $0x976e41088617ca01 // .quad -7535013621679011327 - QUAD $0x4b2d8644d8a74e18 // .quad 5417133557047315992 - QUAD $0xbd49d14aa79dbc82 // .quad -4807081008671376254 - QUAD $0xddf8e7d60ed1219e // .quad -2451955090545630818 - QUAD $0xec9c459d51852ba2 // .quad -1397165242411832414 - QUAD $0xcabb90e5c942b503 // .quad -3838314940804713213 - QUAD $0x93e1ab8252f33b45 // .quad -7790757304148477115 - QUAD $0x3d6a751f3b936243 // .quad 4425478360848884291 - QUAD $0xb8da1662e7b00a17 // .quad -5126760611758208489 - QUAD $0x0cc512670a783ad4 // .quad 920161932633717460 - QUAD $0xe7109bfba19c0c9d // .quad -1796764746270372707 - QUAD $0x27fb2b80668b24c5 // .quad 2880944217109767365 - QUAD $0x906a617d450187e2 // .quad -8040506994060064798 - QUAD $0xb1f9f660802dedf6 // .quad -5622191765467566602 - QUAD $0xb484f9dc9641e9da // .quad -5438947724147693094 - QUAD $0x5e7873f8a0396973 // .quad 6807318348447705459 - QUAD $0xe1a63853bbd26451 // .quad -2186998636757228463 - QUAD $0xdb0b487b6423e1e8 // .quad -2662955059861265944 - QUAD $0x8d07e33455637eb2 // .quad -8284403175614349646 - QUAD $0x91ce1a9a3d2cda62 // .quad -7940379843253970334 - QUAD $0xb049dc016abc5e5f // .quad -5743817951090549153 - QUAD $0x7641a140cc7810fb // .quad 8521269269642088699 - QUAD $0xdc5c5301c56b75f7 // .quad -2568086420435798537 - QUAD $0xa9e904c87fcb0a9d // .quad -6203421752542164323 - QUAD $0x89b9b3e11b6329ba // .quad -8522583040413455942 - QUAD $0x546345fa9fbdcd44 // .quad 6080780864604458308 - QUAD $0xac2820d9623bf429 // .quad -6041542782089432023 - QUAD $0xa97c177947ad4095 // .quad -6234081974526590827 - QUAD $0xd732290fbacaf133 // .quad -2940242459184402125 - QUAD $0x49ed8eabcccc485d // .quad 5327070802775656541 - QUAD $0x867f59a9d4bed6c0 // .quad -8755180564631333184 - QUAD $0x5c68f256bfff5a74 // .quad 6658838503469570676 - QUAD $0xa81f301449ee8c70 // .quad -6332289687361778576 - QUAD $0x73832eec6fff3111 // .quad 8323548129336963345 - QUAD $0xd226fc195c6a2f8c // .quad -3303676090774835316 - QUAD $0xc831fd53c5ff7eab // .quad -4021154456019173717 - QUAD $0x83585d8fd9c25db7 // .quad -8982326584375353929 - QUAD $0xba3e7ca8b77f5e55 // .quad -5026443070023967147 - QUAD $0xa42e74f3d032f525 // .quad -6616222212041804507 - QUAD $0x28ce1bd2e55f35eb // .quad 2940318199324816875 - QUAD $0xcd3a1230c43fb26f // .quad -3658591746624867729 - QUAD $0x7980d163cf5b81b3 // .quad 8755227902219092403 - QUAD $0x80444b5e7aa7cf85 // .quad -9204148869281624187 - QUAD $0xd7e105bcc332621f // .quad -2891023177508298209 - QUAD $0xa0555e361951c366 // .quad -6893500068174642330 - QUAD $0x8dd9472bf3fefaa7 // .quad -8225464990312760665 - QUAD $0xc86ab5c39fa63440 // .quad -4005189066790915008 - QUAD $0xb14f98f6f0feb951 // .quad -5670145219463562927 - QUAD $0xfa856334878fc150 // .quad -394800315061255856 - QUAD $0x6ed1bf9a569f33d3 // .quad 7985374283903742931 - QUAD $0x9c935e00d4b9d8d2 // .quad -7164279224554366766 - QUAD $0x0a862f80ec4700c8 // .quad 758345818024902856 - QUAD $0xc3b8358109e84f07 // .quad -4343663012265570553 - QUAD $0xcd27bb612758c0fa // .quad -3663753745896259334 - QUAD $0xf4a642e14c6262c8 // .quad -817892746904575288 - QUAD $0x8038d51cb897789c // .quad -9207375118826243940 - QUAD $0x98e7e9cccfbd7dbd // .quad -7428711994456441411 - QUAD $0xe0470a63e6bd56c3 // .quad -2285846861678029117 - QUAD $0xbf21e44003acdd2c // .quad -4674203974643163860 - QUAD $0x1858ccfce06cac74 // .quad 1754377441329851508 - QUAD $0xeeea5d5004981478 // .quad -1231068949876566920 - QUAD $0x0f37801e0c43ebc8 // .quad 1096485900831157192 - QUAD $0x95527a5202df0ccb // .quad -7686947121313936181 - QUAD $0xd30560258f54e6ba // .quad -3241078642388441414 - QUAD $0xbaa718e68396cffd // .quad -4996997883215032323 - QUAD $0x47c6b82ef32a2069 // .quad 5172023733869224041 - QUAD $0xe950df20247c83fd // .quad -1634561335591402499 - QUAD $0x4cdc331d57fa5441 // .quad 5538357842881958977 - QUAD $0x91d28b7416cdd27e // .quad -7939129862385708418 - QUAD $0xe0133fe4adf8e952 // .quad -2300424733252327086 - QUAD $0xb6472e511c81471d // .quad -5312226309554747619 - QUAD $0x58180fddd97723a6 // .quad 6347841120289366950 - QUAD $0xe3d8f9e563a198e5 // .quad -2028596868516046619 - QUAD $0x570f09eaa7ea7648 // .quad 6273243709394548296 - QUAD $0x8e679c2f5e44ff8f // .quad -8185402070463610993 - QUAD $0x2cd2cc6551e513da // .quad 3229868618315797466 - QUAD $0xb201833b35d63f73 // .quad -5620066569652125837 - QUAD $0xf8077f7ea65e58d1 // .quad -574350245532641071 - QUAD $0xde81e40a034bcf4f // .quad -2413397193637769393 - QUAD $0xfb04afaf27faf782 // .quad -358968903457900670 - QUAD $0x8b112e86420f6191 // .quad -8425902273664687727 - QUAD $0x79c5db9af1f9b563 // .quad 8774660907532399971 - QUAD $0xadd57a27d29339f6 // .quad -5920691823653471754 - QUAD $0x18375281ae7822bc // .quad 1744954097560724156 - QUAD $0xd94ad8b1c7380874 // .quad -2789178761139451788 - QUAD $0x8f2293910d0b15b5 // .quad -8132775725879323211 - QUAD $0x87cec76f1c830548 // .quad -8660765753353239224 - QUAD $0xb2eb3875504ddb22 // .quad -5554283638921766110 - QUAD $0xa9c2794ae3a3c69a // .quad -6214271173264161126 - QUAD $0x5fa60692a46151eb // .quad 6892203506629956075 - QUAD $0xd433179d9c8cb841 // .quad -3156152948152813503 - QUAD $0xdbc7c41ba6bcd333 // .quad -2609901835997359309 - QUAD $0x849feec281d7f328 // .quad -8890124620236590296 - QUAD $0x12b9b522906c0800 // .quad 1349308723430688768 - QUAD $0xa5c7ea73224deff3 // .quad -6500969756868349965 - QUAD $0xd768226b34870a00 // .quad -2925050114139026944 - QUAD $0xcf39e50feae16bef // .quad -3514526177658049553 - QUAD $0xe6a1158300d46640 // .quad -1828156321336891840 - QUAD $0x81842f29f2cce375 // .quad -9114107888677362827 - QUAD $0x60495ae3c1097fd0 // .quad 6938176635183661008 - QUAD $0xa1e53af46f801c53 // .quad -6780948842419315629 - QUAD $0x385bb19cb14bdfc4 // .quad 4061034775552188356 - QUAD $0xca5e89b18b602368 // .quad -3864500034596756632 - QUAD $0x46729e03dd9ed7b5 // .quad 5076293469440235445 - QUAD $0xfcf62c1dee382c42 // .quad -218939024818557886 - QUAD $0x6c07a2c26a8346d1 // .quad 7784369436827535057 - QUAD $0x9e19db92b4e31ba9 // .quad -7054365918152680535 - QUAD $0xc7098b7305241885 // .quad -4104596259247744891 - QUAD $0xc5a05277621be293 // .quad -4206271379263462765 - QUAD $0xb8cbee4fc66d1ea7 // .quad -5130745324059681113 - QUAD $0xf70867153aa2db38 // .quad -646153205651940552 - QUAD $0x737f74f1dc043328 // .quad 8322499218531169064 - QUAD $0x9a65406d44a5c903 // .quad -7321374781173544701 - QUAD $0x505f522e53053ff2 // .quad 5791438004736573426 - QUAD $0xc0fe908895cf3b44 // .quad -4540032458039542972 - QUAD $0x647726b9e7c68fef // .quad 7239297505920716783 - QUAD $0xf13e34aabb430a15 // .quad -1063354554122040811 - QUAD $0x5eca783430dc19f5 // .quad 6830403950414141941 - QUAD $0x96c6e0eab509e64d // .quad -7582125623967357363 - QUAD $0xb67d16413d132072 // .quad -5297053117264486286 - QUAD $0xbc789925624c5fe0 // .quad -4865971011531808800 - QUAD $0xe41c5bd18c57e88f // .quad -2009630378153219953 - QUAD $0xeb96bf6ebadf77d8 // .quad -1470777745987373096 - QUAD $0x8e91b962f7b6f159 // .quad -8173548013986844327 - QUAD $0x933e37a534cbaae7 // .quad -7836765118883190041 - QUAD $0x723627bbb5a4adb0 // .quad 8229809056225996208 - QUAD $0xb80dc58e81fe95a1 // .quad -5184270380176599647 - QUAD $0xcec3b1aaa30dd91c // .quad -3547796734999668452 - QUAD $0xe61136f2227e3b09 // .quad -1868651956793361655 - QUAD $0x213a4f0aa5e8a7b1 // .quad 2394313059052595121 - QUAD $0x8fcac257558ee4e6 // .quad -8085436500636932890 - QUAD $0xa988e2cd4f62d19d // .quad -6230480713039031907 - QUAD $0xb3bd72ed2af29e1f // .quad -5495109607368778209 - QUAD $0x93eb1b80a33b8605 // .quad -7788100891298789883 - QUAD $0xe0accfa875af45a7 // .quad -2257200990783584857 - QUAD $0xbc72f130660533c3 // .quad -4867563057061743677 - QUAD $0x8c6c01c9498d8b88 // .quad -8328279646880822392 - QUAD $0xeb8fad7c7f8680b4 // .quad -1472767802899791692 - QUAD $0xaf87023b9bf0ee6a // .quad -5798663540173640086 - QUAD $0xa67398db9f6820e1 // .quad -6452645772052127519 - QUAD $0xdb68c2ca82ed2a05 // .quad -2636643406789662203 - QUAD $0x88083f8943a1148c // .quad -8644589625959967604 - QUAD $0x892179be91d43a43 // .quad -8565431156884620733 - QUAD $0x6a0a4f6b948959b0 // .quad 7641007041259592112 - QUAD $0xab69d82e364948d4 // .quad -6095102927678388012 - QUAD $0x848ce34679abb01c // .quad -8895485272135061476 - QUAD $0xd6444e39c3db9b09 // .quad -3007192641170597111 - QUAD $0xf2d80e0c0c0b4e11 // .quad -947992276657025519 - QUAD $0x85eab0e41a6940e5 // .quad -8797024428372705051 - QUAD $0x6f8e118f0f0e2195 // .quad 8038381691033493909 - QUAD $0xa7655d1d2103911f // .quad -6384594517038493409 - QUAD $0x4b7195f2d2d1a9fb // .quad 5436291095364479483 - QUAD $0xd13eb46469447567 // .quad -3369057127870728857 - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -_POW_TAB: - LONG $0x00000001 // .long 1 - LONG $0x00000003 // .long 3 - LONG $0x00000006 // .long 6 - LONG $0x00000009 // .long 9 - LONG $0x0000000d // .long 13 - LONG $0x00000010 // .long 16 - LONG $0x00000013 // .long 19 - LONG $0x00000017 // .long 23 - LONG $0x0000001a // .long 26 - - // .p2align 2, 0x00 -_MASK_USE_NUMBER: - LONG $0x00000002 // .long 2 - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -_Digits: - QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' - QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' - QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' - QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' - QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' - QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' - QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' - QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' - QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' - QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' - QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' - QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' - QUAD $0x3939383937393639 // .ascii 8, '96979899' - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -_LB_35efc682: // _pow10_ceil_sig.g - QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 - QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331 - QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 - QUAD $0x77b191618c54e9ad // .quad 8624834609543440813 - QUAD $0xc795830d75038c1d // .quad -4065198994811024355 - QUAD $0xd59df5b9ef6a2418 // .quad -3054014793352862696 - QUAD $0xf97ae3d0d2446f25 // .quad -469812725086392539 - QUAD $0x4b0573286b44ad1e // .quad 5405853545163697438 - QUAD $0x9becce62836ac577 // .quad -7211161980820077193 - QUAD $0x4ee367f9430aec33 // .quad 5684501474941004851 - QUAD $0xc2e801fb244576d5 // .quad -4402266457597708587 - QUAD $0x229c41f793cda740 // .quad 2493940825248868160 - QUAD $0xf3a20279ed56d48a // .quad -891147053569747830 - QUAD $0x6b43527578c11110 // .quad 7729112049988473104 - QUAD $0x9845418c345644d6 // .quad -7474495936122174250 - QUAD $0x830a13896b78aaaa // .quad -9004363024039368022 - QUAD $0xbe5691ef416bd60c // .quad -4731433901725329908 - QUAD $0x23cc986bc656d554 // .quad 2579604275232953684 - QUAD $0xedec366b11c6cb8f // .quad -1302606358729274481 - QUAD $0x2cbfbe86b7ec8aa9 // .quad 3224505344041192105 - QUAD $0x94b3a202eb1c3f39 // .quad -7731658001846878407 - QUAD $0x7bf7d71432f3d6aa // .quad 8932844867666826922 - QUAD $0xb9e08a83a5e34f07 // .quad -5052886483881210105 - QUAD $0xdaf5ccd93fb0cc54 // .quad -2669001970698630060 - QUAD $0xe858ad248f5c22c9 // .quad -1704422086424124727 - QUAD $0xd1b3400f8f9cff69 // .quad -3336252463373287575 - QUAD $0x91376c36d99995be // .quad -7982792831656159810 - QUAD $0x23100809b9c21fa2 // .quad 2526528228819083170 - QUAD $0xb58547448ffffb2d // .quad -5366805021142811859 - QUAD $0xabd40a0c2832a78b // .quad -6065211750830921845 - QUAD $0xe2e69915b3fff9f9 // .quad -2096820258001126919 - QUAD $0x16c90c8f323f516d // .quad 1641857348316123501 - QUAD $0x8dd01fad907ffc3b // .quad -8228041688891786181 - QUAD $0xae3da7d97f6792e4 // .quad -5891368184943504668 - QUAD $0xb1442798f49ffb4a // .quad -5673366092687344822 - QUAD $0x99cd11cfdf41779d // .quad -7364210231179380835 - QUAD $0xdd95317f31c7fa1d // .quad -2480021597431793123 - QUAD $0x40405643d711d584 // .quad 4629795266307937668 - QUAD $0x8a7d3eef7f1cfc52 // .quad -8467542526035952558 - QUAD $0x482835ea666b2573 // .quad 5199465050656154995 - QUAD $0xad1c8eab5ee43b66 // .quad -5972742139117552794 - QUAD $0xda3243650005eed0 // .quad -2724040723534582064 - QUAD $0xd863b256369d4a40 // .quad -2854241655469553088 - QUAD $0x90bed43e40076a83 // .quad -8016736922845615485 - QUAD $0x873e4f75e2224e68 // .quad -8701430062309552536 - QUAD $0x5a7744a6e804a292 // .quad 6518754469289960082 - QUAD $0xa90de3535aaae202 // .quad -6265101559459552766 - QUAD $0x711515d0a205cb37 // .quad 8148443086612450103 - QUAD $0xd3515c2831559a83 // .quad -3219690930897053053 - QUAD $0x0d5a5b44ca873e04 // .quad 962181821410786820 - QUAD $0x8412d9991ed58091 // .quad -8929835859451740015 - QUAD $0xe858790afe9486c3 // .quad -1704479370831952189 - QUAD $0xa5178fff668ae0b6 // .quad -6550608805887287114 - QUAD $0x626e974dbe39a873 // .quad 7092772823314835571 - QUAD $0xce5d73ff402d98e3 // .quad -3576574988931720989 - QUAD $0xfb0a3d212dc81290 // .quad -357406007711231344 - QUAD $0x80fa687f881c7f8e // .quad -9152888395723407474 - QUAD $0x7ce66634bc9d0b9a // .quad 8999993282035256218 - QUAD $0xa139029f6a239f72 // .quad -6829424476226871438 - QUAD $0x1c1fffc1ebc44e81 // .quad 2026619565689294465 - QUAD $0xc987434744ac874e // .quad -3925094576856201394 - QUAD $0xa327ffb266b56221 // .quad -6690097579743157727 - QUAD $0xfbe9141915d7a922 // .quad -294682202642863838 - QUAD $0x4bf1ff9f0062baa9 // .quad 5472436080603216553 - QUAD $0x9d71ac8fada6c9b5 // .quad -7101705404292871755 - QUAD $0x6f773fc3603db4aa // .quad 8031958568804398250 - QUAD $0xc4ce17b399107c22 // .quad -4265445736938701790 - QUAD $0xcb550fb4384d21d4 // .quad -3795109844276665900 - QUAD $0xf6019da07f549b2b // .quad -720121152745989333 - QUAD $0x7e2a53a146606a49 // .quad 9091170749936331337 - QUAD $0x99c102844f94e0fb // .quad -7367604748107325189 - QUAD $0x2eda7444cbfc426e // .quad 3376138709496513134 - QUAD $0xc0314325637a1939 // .quad -4597819916706768583 - QUAD $0xfa911155fefb5309 // .quad -391512631556746487 - QUAD $0xf03d93eebc589f88 // .quad -1135588877456072824 - QUAD $0x793555ab7eba27cb // .quad 8733981247408842699 - QUAD $0x96267c7535b763b5 // .quad -7627272076051127371 - QUAD $0x4bc1558b2f3458df // .quad 5458738279630526687 - QUAD $0xbbb01b9283253ca2 // .quad -4922404076636521310 - QUAD $0x9eb1aaedfb016f17 // .quad -7011635205744005353 - QUAD $0xea9c227723ee8bcb // .quad -1541319077368263733 - QUAD $0x465e15a979c1cadd // .quad 5070514048102157021 - QUAD $0x92a1958a7675175f // .quad -7880853450996246689 - QUAD $0x0bfacd89ec191eca // .quad 863228270850154186 - QUAD $0xb749faed14125d36 // .quad -5239380795317920458 - QUAD $0xcef980ec671f667c // .quad -3532650679864695172 - QUAD $0xe51c79a85916f484 // .quad -1937539975720012668 - QUAD $0x82b7e12780e7401b // .quad -9027499368258256869 - QUAD $0x8f31cc0937ae58d2 // .quad -8128491512466089774 - QUAD $0xd1b2ecb8b0908811 // .quad -3336344095947716591 - QUAD $0xb2fe3f0b8599ef07 // .quad -5548928372155224313 - QUAD $0x861fa7e6dcb4aa16 // .quad -8782116138362033642 - QUAD $0xdfbdcece67006ac9 // .quad -2324474446766642487 - QUAD $0x67a791e093e1d49b // .quad 7469098900757009563 - QUAD $0x8bd6a141006042bd // .quad -8370325556870233411 - QUAD $0xe0c8bb2c5c6d24e1 // .quad -2249342214667950879 - QUAD $0xaecc49914078536d // .quad -5851220927660403859 - QUAD $0x58fae9f773886e19 // .quad 6411694268519837209 - QUAD $0xda7f5bf590966848 // .quad -2702340141148116920 - QUAD $0xaf39a475506a899f // .quad -5820440219632367201 - QUAD $0x888f99797a5e012d // .quad -8606491615858654931 - QUAD $0x6d8406c952429604 // .quad 7891439908798240260 - QUAD $0xaab37fd7d8f58178 // .quad -6146428501395930760 - QUAD $0xc8e5087ba6d33b84 // .quad -3970758169284363388 - QUAD $0xd5605fcdcf32e1d6 // .quad -3071349608317525546 - QUAD $0xfb1e4a9a90880a65 // .quad -351761693178066331 - QUAD $0x855c3be0a17fcd26 // .quad -8837122532839535322 - QUAD $0x5cf2eea09a550680 // .quad 6697677969404790400 - QUAD $0xa6b34ad8c9dfc06f // .quad -6434717147622031249 - QUAD $0xf42faa48c0ea481f // .quad -851274575098787809 - QUAD $0xd0601d8efc57b08b // .quad -3431710416100151157 - QUAD $0xf13b94daf124da27 // .quad -1064093218873484761 - QUAD $0x823c12795db6ce57 // .quad -9062348037703676329 - QUAD $0x76c53d08d6b70859 // .quad 8558313775058847833 - QUAD $0xa2cb1717b52481ed // .quad -6716249028702207507 - QUAD $0x54768c4b0c64ca6f // .quad 6086206200396171887 - QUAD $0xcb7ddcdda26da268 // .quad -3783625267450371480 - QUAD $0xa9942f5dcf7dfd0a // .quad -6227300304786948854 - QUAD $0xfe5d54150b090b02 // .quad -117845565885576446 - QUAD $0xd3f93b35435d7c4d // .quad -3172439362556298163 - QUAD $0x9efa548d26e5a6e1 // .quad -6991182506319567135 - QUAD $0xc47bc5014a1a6db0 // .quad -4288617610811380304 - QUAD $0xc6b8e9b0709f109a // .quad -4127292114472071014 - QUAD $0x359ab6419ca1091c // .quad 3862600023340550428 - QUAD $0xf867241c8cc6d4c0 // .quad -547429124662700864 - QUAD $0xc30163d203c94b63 // .quad -4395122007679087773 - QUAD $0x9b407691d7fc44f8 // .quad -7259672230555269896 - QUAD $0x79e0de63425dcf1e // .quad 8782263791269039902 - QUAD $0xc21094364dfb5636 // .quad -4462904269766699466 - QUAD $0x985915fc12f542e5 // .quad -7468914334623251739 - QUAD $0xf294b943e17a2bc4 // .quad -966944318780986428 - QUAD $0x3e6f5b7b17b2939e // .quad 4498915137003099038 - QUAD $0x979cf3ca6cec5b5a // .quad -7521869226879198374 - QUAD $0xa705992ceecf9c43 // .quad -6411550076227838909 - QUAD $0xbd8430bd08277231 // .quad -4790650515171610063 - QUAD $0x50c6ff782a838354 // .quad 5820620459997365076 - QUAD $0xece53cec4a314ebd // .quad -1376627125537124675 - QUAD $0xa4f8bf5635246429 // .quad -6559282480285457367 - QUAD $0x940f4613ae5ed136 // .quad -7777920981101784778 - QUAD $0x871b7795e136be9a // .quad -8711237568605798758 - QUAD $0xb913179899f68584 // .quad -5110715207949843068 - QUAD $0x28e2557b59846e40 // .quad 2946011094524915264 - QUAD $0xe757dd7ec07426e5 // .quad -1776707991509915931 - QUAD $0x331aeada2fe589d0 // .quad 3682513868156144080 - QUAD $0x9096ea6f3848984f // .quad -8027971522334779313 - QUAD $0x3ff0d2c85def7622 // .quad 4607414176811284002 - QUAD $0xb4bca50b065abe63 // .quad -5423278384491086237 - QUAD $0x0fed077a756b53aa // .quad 1147581702586717098 - QUAD $0xe1ebce4dc7f16dfb // .quad -2167411962186469893 - QUAD $0xd3e8495912c62895 // .quad -3177208890193991531 - QUAD $0x8d3360f09cf6e4bd // .quad -8272161504007625539 - QUAD $0x64712dd7abbbd95d // .quad 7237616480483531101 - QUAD $0xb080392cc4349dec // .quad -5728515861582144020 - QUAD $0xbd8d794d96aacfb4 // .quad -4788037454677749836 - QUAD $0xdca04777f541c567 // .quad -2548958808550292121 - QUAD $0xecf0d7a0fc5583a1 // .quad -1373360799919799391 - QUAD $0x89e42caaf9491b60 // .quad -8510628282985014432 - QUAD $0xf41686c49db57245 // .quad -858350499949874619 - QUAD $0xac5d37d5b79b6239 // .quad -6026599335303880135 - QUAD $0x311c2875c522ced6 // .quad 3538747893490044630 - QUAD $0xd77485cb25823ac7 // .quad -2921563150702462265 - QUAD $0x7d633293366b828c // .quad 9035120885289943692 - QUAD $0x86a8d39ef77164bc // .quad -8743505996830120772 - QUAD $0xae5dff9c02033198 // .quad -5882264492762254952 - QUAD $0xa8530886b54dbdeb // .quad -6317696477610263061 - QUAD $0xd9f57f830283fdfd // .quad -2741144597525430787 - QUAD $0xd267caa862a12d66 // .quad -3285434578585440922 - QUAD $0xd072df63c324fd7c // .quad -3426430746906788484 - QUAD $0x8380dea93da4bc60 // .quad -8970925639256982432 - QUAD $0x4247cb9e59f71e6e // .quad 4776009810824339054 - QUAD $0xa46116538d0deb78 // .quad -6601971030643840136 - QUAD $0x52d9be85f074e609 // .quad 5970012263530423817 - QUAD $0xcd795be870516656 // .quad -3640777769877412266 - QUAD $0x67902e276c921f8c // .quad 7462515329413029772 - QUAD $0x806bd9714632dff6 // .quad -9193015133814464522 - QUAD $0x00ba1cd8a3db53b7 // .quad 52386062455755703 - QUAD $0xa086cfcd97bf97f3 // .quad -6879582898840692749 - QUAD $0x80e8a40eccd228a5 // .quad -9157889458785081179 - QUAD $0xc8a883c0fdaf7df0 // .quad -3987792605123478032 - QUAD $0x6122cd128006b2ce // .quad 6999382250228200142 - QUAD $0xfad2a4b13d1b5d6c // .quad -373054737976959636 - QUAD $0x796b805720085f82 // .quad 8749227812785250178 - QUAD $0x9cc3a6eec6311a63 // .quad -7150688238876681629 - QUAD $0xcbe3303674053bb1 // .quad -3755104653863994447 - QUAD $0xc3f490aa77bd60fc // .quad -4326674280168464132 - QUAD $0xbedbfc4411068a9d // .quad -4693880817329993059 - QUAD $0xf4f1b4d515acb93b // .quad -796656831783192261 - QUAD $0xee92fb5515482d45 // .quad -1255665003235103419 - QUAD $0x991711052d8bf3c5 // .quad -7415439547505577019 - QUAD $0x751bdd152d4d1c4b // .quad 8438581409832836171 - QUAD $0xbf5cd54678eef0b6 // .quad -4657613415954583370 - QUAD $0xd262d45a78a0635e // .quad -3286831292991118498 - QUAD $0xef340a98172aace4 // .quad -1210330751515841308 - QUAD $0x86fb897116c87c35 // .quad -8720225134666286027 - QUAD $0x9580869f0e7aac0e // .quad -7673985747338482674 - QUAD $0xd45d35e6ae3d4da1 // .quad -3144297699952734815 - QUAD $0xbae0a846d2195712 // .quad -4980796165745715438 - QUAD $0x8974836059cca10a // .quad -8542058143368306422 - QUAD $0xe998d258869facd7 // .quad -1614309188754756393 - QUAD $0x2bd1a438703fc94c // .quad 3157485376071780684 - QUAD $0x91ff83775423cc06 // .quad -7926472270612804602 - QUAD $0x7b6306a34627ddd0 // .quad 8890957387685944784 - QUAD $0xb67f6455292cbf08 // .quad -5296404319838617848 - QUAD $0x1a3bc84c17b1d543 // .quad 1890324697752655171 - QUAD $0xe41f3d6a7377eeca // .quad -2008819381370884406 - QUAD $0x20caba5f1d9e4a94 // .quad 2362905872190818964 - QUAD $0x8e938662882af53e // .quad -8173041140997884610 - QUAD $0x547eb47b7282ee9d // .quad 6088502188546649757 - QUAD $0xb23867fb2a35b28d // .quad -5604615407819967859 - QUAD $0xe99e619a4f23aa44 // .quad -1612744301171463612 - QUAD $0xdec681f9f4c31f31 // .quad -2394083241347571919 - QUAD $0x6405fa00e2ec94d5 // .quad 7207441660390446293 - QUAD $0x8b3c113c38f9f37e // .quad -8413831053483314306 - QUAD $0xde83bc408dd3dd05 // .quad -2412877989897052923 - QUAD $0xae0b158b4738705e // .quad -5905602798426754978 - QUAD $0x9624ab50b148d446 // .quad -7627783505798704058 - QUAD $0xd98ddaee19068c76 // .quad -2770317479606055818 - QUAD $0x3badd624dd9b0958 // .quad 4300328673033783640 - QUAD $0x87f8a8d4cfa417c9 // .quad -8648977452394866743 - QUAD $0xe54ca5d70a80e5d7 // .quad -1923980597781273129 - QUAD $0xa9f6d30a038d1dbc // .quad -6199535797066195524 - QUAD $0x5e9fcf4ccd211f4d // .quad 6818396289628184397 - QUAD $0xd47487cc8470652b // .quad -3137733727905356501 - QUAD $0x7647c32000696720 // .quad 8522995362035230496 - QUAD $0x84c8d4dfd2c63f3b // .quad -8878612607581929669 - QUAD $0x29ecd9f40041e074 // .quad 3021029092058325108 - QUAD $0xa5fb0a17c777cf09 // .quad -6486579741050024183 - QUAD $0xf468107100525891 // .quad -835399653354481519 - QUAD $0xcf79cc9db955c2cc // .quad -3496538657885142324 - QUAD $0x7182148d4066eeb5 // .quad 8179122470161673909 - QUAD $0x81ac1fe293d599bf // .quad -9102865688819295809 - QUAD $0xc6f14cd848405531 // .quad -4111420493003729615 - QUAD $0xa21727db38cb002f // .quad -6766896092596731857 - QUAD $0xb8ada00e5a506a7d // .quad -5139275616254662019 - QUAD $0xca9cf1d206fdc03b // .quad -3846934097318526917 - QUAD $0xa6d90811f0e4851d // .quad -6424094520318327523 - QUAD $0xfd442e4688bd304a // .quad -196981603220770742 - QUAD $0x908f4a166d1da664 // .quad -8030118150397909404 - QUAD $0x9e4a9cec15763e2e // .quad -7040642529654063570 - QUAD $0x9a598e4e043287ff // .quad -7324666853212387329 - QUAD $0xc5dd44271ad3cdba // .quad -4189117143640191558 - QUAD $0x40eff1e1853f29fe // .quad 4679224488766679550 - QUAD $0xf7549530e188c128 // .quad -624710411122851544 - QUAD $0xd12bee59e68ef47d // .quad -3374341425896426371 - QUAD $0x9a94dd3e8cf578b9 // .quad -7307973034592864071 - QUAD $0x82bb74f8301958cf // .quad -9026492418826348337 - QUAD $0xc13a148e3032d6e7 // .quad -4523280274813692185 - QUAD $0xe36a52363c1faf02 // .quad -2059743486678159614 - QUAD $0xf18899b1bc3f8ca1 // .quad -1042414325089727327 - QUAD $0xdc44e6c3cb279ac2 // .quad -2574679358347699518 - QUAD $0x96f5600f15a7b7e5 // .quad -7569037980822161435 - QUAD $0x29ab103a5ef8c0ba // .quad 3002511419460075706 - QUAD $0xbcb2b812db11a5de // .quad -4849611457600313890 - QUAD $0x7415d448f6b6f0e8 // .quad 8364825292752482536 - QUAD $0xebdf661791d60f56 // .quad -1450328303573004458 - QUAD $0x111b495b3464ad22 // .quad 1232659579085827362 - QUAD $0x936b9fcebb25c995 // .quad -7823984217374209643 - QUAD $0xcab10dd900beec35 // .quad -3841273781498745803 - QUAD $0xb84687c269ef3bfb // .quad -5168294253290374149 - QUAD $0x3d5d514f40eea743 // .quad 4421779809981343555 - QUAD $0xe65829b3046b0afa // .quad -1848681798185579782 - QUAD $0x0cb4a5a3112a5113 // .quad 915538744049291539 - QUAD $0x8ff71a0fe2c2e6dc // .quad -8072955151507069220 - QUAD $0x47f0e785eaba72ac // .quad 5183897733458195116 - QUAD $0xb3f4e093db73a093 // .quad -5479507920956448621 - QUAD $0x59ed216765690f57 // .quad 6479872166822743895 - QUAD $0xe0f218b8d25088b8 // .quad -2237698882768172872 - QUAD $0x306869c13ec3532d // .quad 3488154190101041965 - QUAD $0x8c974f7383725573 // .quad -8316090829371189901 - QUAD $0x1e414218c73a13fc // .quad 2180096368813151228 - QUAD $0xafbd2350644eeacf // .quad -5783427518286599473 - QUAD $0xe5d1929ef90898fb // .quad -1886565557410948869 - QUAD $0xdbac6c247d62a583 // .quad -2617598379430861437 - QUAD $0xdf45f746b74abf3a // .quad -2358206946763686086 - QUAD $0x894bc396ce5da772 // .quad -8553528014785370254 - QUAD $0x6b8bba8c328eb784 // .quad 7749492695127472004 - QUAD $0xab9eb47c81f5114f // .quad -6080224000054324913 - QUAD $0x066ea92f3f326565 // .quad 463493832054564197 - QUAD $0xd686619ba27255a2 // .quad -2988593981640518238 - QUAD $0xc80a537b0efefebe // .quad -4032318728359182658 - QUAD $0x8613fd0145877585 // .quad -8785400266166405755 - QUAD $0xbd06742ce95f5f37 // .quad -4826042214438183113 - QUAD $0xa798fc4196e952e7 // .quad -6370064314280619289 - QUAD $0x2c48113823b73705 // .quad 3190819268807046917 - QUAD $0xd17f3b51fca3a7a0 // .quad -3350894374423386208 - QUAD $0xf75a15862ca504c6 // .quad -623161932418579258 - QUAD $0x82ef85133de648c4 // .quad -9011838011655698236 - QUAD $0x9a984d73dbe722fc // .quad -7307005235402693892 - QUAD $0xa3ab66580d5fdaf5 // .quad -6653111496142234891 - QUAD $0xc13e60d0d2e0ebbb // .quad -4522070525825979461 - QUAD $0xcc963fee10b7d1b3 // .quad -3704703351750405709 - QUAD $0x318df905079926a9 // .quad 3570783879572301481 - QUAD $0xffbbcfe994e5c61f // .quad -19193171260619233 - QUAD $0xfdf17746497f7053 // .quad -148206168962011053 - QUAD $0x9fd561f1fd0f9bd3 // .quad -6929524759678968877 - QUAD $0xfeb6ea8bedefa634 // .quad -92628855601256908 - QUAD $0xc7caba6e7c5382c8 // .quad -4050219931171323192 - QUAD $0xfe64a52ee96b8fc1 // .quad -115786069501571135 - QUAD $0xf9bd690a1b68637b // .quad -451088895536766085 - QUAD $0x3dfdce7aa3c673b1 // .quad 4466953431550423985 - QUAD $0x9c1661a651213e2d // .quad -7199459587351560659 - QUAD $0x06bea10ca65c084f // .quad 486002885505321039 - QUAD $0xc31bfa0fe5698db8 // .quad -4387638465762062920 - QUAD $0x486e494fcff30a63 // .quad 5219189625309039203 - QUAD $0xf3e2f893dec3f126 // .quad -872862063775190746 - QUAD $0x5a89dba3c3efccfb // .quad 6523987031636299003 - QUAD $0x986ddb5c6b3a76b7 // .quad -7463067817500576073 - QUAD $0xf89629465a75e01d // .quad -534194123654701027 - QUAD $0xbe89523386091465 // .quad -4717148753448332187 - QUAD $0xf6bbb397f1135824 // .quad -667742654568376284 - QUAD $0xee2ba6c0678b597f // .quad -1284749923383027329 - QUAD $0x746aa07ded582e2d // .quad 8388693718644305453 - QUAD $0x94db483840b717ef // .quad -7720497729755473937 - QUAD $0xa8c2a44eb4571cdd // .quad -6286281471915778851 - QUAD $0xba121a4650e4ddeb // .quad -5038936143766954517 - QUAD $0x92f34d62616ce414 // .quad -7857851839894723564 - QUAD $0xe896a0d7e51e1566 // .quad -1686984161281305242 - QUAD $0x77b020baf9c81d18 // .quad 8624429273841147160 - QUAD $0x915e2486ef32cd60 // .quad -7971894128441897632 - QUAD $0x0ace1474dc1d122f // .quad 778582277723329071 - QUAD $0xb5b5ada8aaff80b8 // .quad -5353181642124984136 - QUAD $0x0d819992132456bb // .quad 973227847154161339 - QUAD $0xe3231912d5bf60e6 // .quad -2079791034228842266 - QUAD $0x10e1fff697ed6c6a // .quad 1216534808942701674 - QUAD $0x8df5efabc5979c8f // .quad -8217398424034108273 - QUAD $0xca8d3ffa1ef463c2 // .quad -3851351762838199358 - QUAD $0xb1736b96b6fd83b3 // .quad -5660062011615247437 - QUAD $0xbd308ff8a6b17cb3 // .quad -4814189703547749197 - QUAD $0xddd0467c64bce4a0 // .quad -2463391496091671392 - QUAD $0xac7cb3f6d05ddbdf // .quad -6017737129434686497 - QUAD $0x8aa22c0dbef60ee4 // .quad -8457148712698376476 - QUAD $0x6bcdf07a423aa96c // .quad 7768129340171790700 - QUAD $0xad4ab7112eb3929d // .quad -5959749872445582691 - QUAD $0x86c16c98d2c953c7 // .quad -8736582398494813241 - QUAD $0xd89d64d57a607744 // .quad -2838001322129590460 - QUAD $0xe871c7bf077ba8b8 // .quad -1697355961263740744 - QUAD $0x87625f056c7c4a8b // .quad -8691279853972075893 - QUAD $0x11471cd764ad4973 // .quad 1244995533423855987 - QUAD $0xa93af6c6c79b5d2d // .quad -6252413799037706963 - QUAD $0xd598e40d3dd89bd0 // .quad -3055441601647567920 - QUAD $0xd389b47879823479 // .quad -3203831230369745799 - QUAD $0x4aff1d108d4ec2c4 // .quad 5404070034795315908 - QUAD $0x843610cb4bf160cb // .quad -8919923546622172981 - QUAD $0xcedf722a585139bb // .quad -3539985255894009413 - QUAD $0xa54394fe1eedb8fe // .quad -6538218414850328322 - QUAD $0xc2974eb4ee658829 // .quad -4424981569867511767 - QUAD $0xce947a3da6a9273e // .quad -3561087000135522498 - QUAD $0x733d226229feea33 // .quad 8303831092947774003 - QUAD $0x811ccc668829b887 // .quad -9143208402725783417 - QUAD $0x0806357d5a3f5260 // .quad 578208414664970848 - QUAD $0xa163ff802a3426a8 // .quad -6817324484979841368 - QUAD $0xca07c2dcb0cf26f8 // .quad -3888925500096174344 - QUAD $0xc9bcff6034c13052 // .quad -3909969587797413806 - QUAD $0xfc89b393dd02f0b6 // .quad -249470856692830026 - QUAD $0xfc2c3f3841f17c67 // .quad -275775966319379353 - QUAD $0xbbac2078d443ace3 // .quad -4923524589293425437 - QUAD $0x9d9ba7832936edc0 // .quad -7089889006590693952 - QUAD $0xd54b944b84aa4c0e // .quad -3077202868308390898 - QUAD $0xc5029163f384a931 // .quad -4250675239810979535 - QUAD $0x0a9e795e65d4df12 // .quad 765182433041899282 - QUAD $0xf64335bcf065d37d // .quad -701658031336336515 - QUAD $0x4d4617b5ff4a16d6 // .quad 5568164059729762006 - QUAD $0x99ea0196163fa42e // .quad -7356065297226292178 - QUAD $0x504bced1bf8e4e46 // .quad 5785945546544795206 - QUAD $0xc06481fb9bcf8d39 // .quad -4583395603105477319 - QUAD $0xe45ec2862f71e1d7 // .quad -1990940103673781801 - QUAD $0xf07da27a82c37088 // .quad -1117558485454458744 - QUAD $0x5d767327bb4e5a4d // .quad 6734696907262548557 - QUAD $0x964e858c91ba2655 // .quad -7616003081050118571 - QUAD $0x3a6a07f8d510f870 // .quad 4209185567039092848 - QUAD $0xbbe226efb628afea // .quad -4908317832885260310 - QUAD $0x890489f70a55368c // .quad -8573576096483297652 - QUAD $0xeadab0aba3b2dbe5 // .quad -1523711272679187483 - QUAD $0x2b45ac74ccea842f // .quad 3118087934678041647 - QUAD $0x92c8ae6b464fc96f // .quad -7869848573065574033 - QUAD $0x3b0b8bc90012929e // .quad 4254647968387469982 - QUAD $0xb77ada0617e3bbcb // .quad -5225624697904579637 - QUAD $0x09ce6ebb40173745 // .quad 706623942056949573 - QUAD $0xe55990879ddcaabd // .quad -1920344853953336643 - QUAD $0xcc420a6a101d0516 // .quad -3728406090856200938 - QUAD $0x8f57fa54c2a9eab6 // .quad -8117744561361917258 - QUAD $0x9fa946824a12232e // .quad -6941939825212513490 - QUAD $0xb32df8e9f3546564 // .quad -5535494683275008668 - QUAD $0x47939822dc96abfa // .quad 5157633273766521850 - QUAD $0xdff9772470297ebd // .quad -2307682335666372931 - QUAD $0x59787e2b93bc56f8 // .quad 6447041592208152312 - QUAD $0x8bfbea76c619ef36 // .quad -8359830487432564938 - QUAD $0x57eb4edb3c55b65b // .quad 6335244004343789147 - QUAD $0xaefae51477a06b03 // .quad -5838102090863318269 - QUAD $0xede622920b6b23f2 // .quad -1304317031425039374 - QUAD $0xdab99e59958885c4 // .quad -2685941595151759932 - QUAD $0xe95fab368e45ecee // .quad -1630396289281299218 - QUAD $0x88b402f7fd75539b // .quad -8596242524610931813 - QUAD $0x11dbcb0218ebb415 // .quad 1286845328412881941 - QUAD $0xaae103b5fcd2a881 // .quad -6133617137336276863 - QUAD $0xd652bdc29f26a11a // .quad -3003129357911285478 - QUAD $0xd59944a37c0752a2 // .quad -3055335403242958174 - QUAD $0x4be76d3346f04960 // .quad 5469460339465668960 - QUAD $0x857fcae62d8493a5 // .quad -8827113654667930715 - QUAD $0x6f70a4400c562ddc // .quad 8030098730593431004 - QUAD $0xa6dfbd9fb8e5b88e // .quad -6422206049907525490 - QUAD $0xcb4ccd500f6bb953 // .quad -3797434642040374957 - QUAD $0xd097ad07a71f26b2 // .quad -3416071543957018958 - QUAD $0x7e2000a41346a7a8 // .quad 9088264752731695016 - QUAD $0x825ecc24c873782f // .quad -9052573742614218705 - QUAD $0x8ed400668c0c28c9 // .quad -8154892584824854327 - QUAD $0xa2f67f2dfa90563b // .quad -6704031159840385477 - QUAD $0x728900802f0f32fb // .quad 8253128342678483707 - QUAD $0xcbb41ef979346bca // .quad -3768352931373093942 - QUAD $0x4f2b40a03ad2ffba // .quad 5704724409920716730 - QUAD $0xfea126b7d78186bc // .quad -98755145788979524 - QUAD $0xe2f610c84987bfa9 // .quad -2092466524453879895 - QUAD $0x9f24b832e6b0f436 // .quad -6979250993759194058 - QUAD $0x0dd9ca7d2df4d7ca // .quad 998051431430019018 - QUAD $0xc6ede63fa05d3143 // .quad -4112377723771604669 - QUAD $0x91503d1c79720dbc // .quad -7975807747567252036 - QUAD $0xf8a95fcf88747d94 // .quad -528786136287117932 - QUAD $0x75a44c6397ce912b // .quad 8476984389250486571 - QUAD $0x9b69dbe1b548ce7c // .quad -7248020362820530564 - QUAD $0xc986afbe3ee11abb // .quad -3925256793573221701 - QUAD $0xc24452da229b021b // .quad -4448339435098275301 - QUAD $0xfbe85badce996169 // .quad -294884973539139223 - QUAD $0xf2d56790ab41c2a2 // .quad -948738275445456222 - QUAD $0xfae27299423fb9c4 // .quad -368606216923924028 - QUAD $0x97c560ba6b0919a5 // .quad -7510490449794491995 - QUAD $0xdccd879fc967d41b // .quad -2536221894791146469 - QUAD $0xbdb6b8e905cb600f // .quad -4776427043815727089 - QUAD $0x5400e987bbc1c921 // .quad 6053094668365842721 - QUAD $0xed246723473e3813 // .quad -1358847786342270957 - QUAD $0x290123e9aab23b69 // .quad 2954682317029915497 - QUAD $0x9436c0760c86e30b // .quad -7766808894105001205 - QUAD $0xf9a0b6720aaf6522 // .quad -459166561069996766 - QUAD $0xb94470938fa89bce // .quad -5096825099203863602 - QUAD $0xf808e40e8d5b3e6a // .quad -573958201337495958 - QUAD $0xe7958cb87392c2c2 // .quad -1759345355577441598 - QUAD $0xb60b1d1230b20e05 // .quad -5329133770099257851 - QUAD $0x90bd77f3483bb9b9 // .quad -8017119874876982855 - QUAD $0xb1c6f22b5e6f48c3 // .quad -5636551615525730109 - QUAD $0xb4ecd5f01a4aa828 // .quad -5409713825168840664 - QUAD $0x1e38aeb6360b1af4 // .quad 2177682517447613172 - QUAD $0xe2280b6c20dd5232 // .quad -2150456263033662926 - QUAD $0x25c6da63c38de1b1 // .quad 2722103146809516465 - QUAD $0x8d590723948a535f // .quad -8261564192037121185 - QUAD $0x579c487e5a38ad0f // .quad 6313000485183335695 - QUAD $0xb0af48ec79ace837 // .quad -5715269221619013577 - QUAD $0x2d835a9df0c6d852 // .quad 3279564588051781714 - QUAD $0xdcdb1b2798182244 // .quad -2532400508596379068 - QUAD $0xf8e431456cf88e66 // .quad -512230283362660762 - QUAD $0x8a08f0f8bf0f156b // .quad -8500279345513818773 - QUAD $0x1b8e9ecb641b5900 // .quad 1985699082112030976 - QUAD $0xac8b2d36eed2dac5 // .quad -6013663163464885563 - QUAD $0xe272467e3d222f40 // .quad -2129562165787349184 - QUAD $0xd7adf884aa879177 // .quad -2905392935903719049 - QUAD $0x5b0ed81dcc6abb10 // .quad 6561419329620589328 - QUAD $0x86ccbb52ea94baea // .quad -8733399612580906262 - QUAD $0x98e947129fc2b4ea // .quad -7428327965055601430 - QUAD $0xa87fea27a539e9a5 // .quad -6305063497298744923 - QUAD $0x3f2398d747b36225 // .quad 4549648098962661925 - QUAD $0xd29fe4b18e88640e // .quad -3269643353196043250 - QUAD $0x8eec7f0d19a03aae // .quad -8147997931578836306 - QUAD $0x83a3eeeef9153e89 // .quad -8961056123388608887 - QUAD $0x1953cf68300424ad // .quad 1825030320404309165 - QUAD $0xa48ceaaab75a8e2b // .quad -6589634135808373205 - QUAD $0x5fa8c3423c052dd8 // .quad 6892973918932774360 - QUAD $0xcdb02555653131b6 // .quad -3625356651333078602 - QUAD $0x3792f412cb06794e // .quad 4004531380238580046 - QUAD $0x808e17555f3ebf11 // .quad -9183376934724255983 - QUAD $0xe2bbd88bbee40bd1 // .quad -2108853905778275375 - QUAD $0xa0b19d2ab70e6ed6 // .quad -6867535149977932074 - QUAD $0x5b6aceaeae9d0ec5 // .quad 6587304654631931589 - QUAD $0xc8de047564d20a8b // .quad -3972732919045027189 - QUAD $0xf245825a5a445276 // .quad -989241218564861322 - QUAD $0xfb158592be068d2e // .quad -354230130378896082 - QUAD $0xeed6e2f0f0d56713 // .quad -1236551523206076653 - QUAD $0x9ced737bb6c4183d // .quad -7138922859127891907 - QUAD $0x55464dd69685606c // .quad 6144684325637283948 - QUAD $0xc428d05aa4751e4c // .quad -4311967555482476980 - QUAD $0xaa97e14c3c26b887 // .quad -6154202648235558777 - QUAD $0xf53304714d9265df // .quad -778273425925708321 - QUAD $0xd53dd99f4b3066a9 // .quad -3081067291867060567 - QUAD $0x993fe2c6d07b7fab // .quad -7403949918844649557 - QUAD $0xe546a8038efe402a // .quad -1925667057416912854 - QUAD $0xbf8fdb78849a5f96 // .quad -4643251380128424042 - QUAD $0xde98520472bdd034 // .quad -2407083821771141068 - QUAD $0xef73d256a5c0f77c // .quad -1192378206733142148 - QUAD $0x963e66858f6d4441 // .quad -7620540795641314239 - QUAD $0x95a8637627989aad // .quad -7662765406849295699 - QUAD $0xdde7001379a44aa9 // .quad -2456994988062127447 - QUAD $0xbb127c53b17ec159 // .quad -4966770740134231719 - QUAD $0x5560c018580d5d53 // .quad 6152128301777116499 - QUAD $0xe9d71b689dde71af // .quad -1596777406740401745 - QUAD $0xaab8f01e6e10b4a7 // .quad -6144897678060768089 - QUAD $0x9226712162ab070d // .quad -7915514906853832947 - QUAD $0xcab3961304ca70e9 // .quad -3840561048787980055 - QUAD $0xb6b00d69bb55c8d1 // .quad -5282707615139903279 - QUAD $0x3d607b97c5fd0d23 // .quad 4422670725869800739 - QUAD $0xe45c10c42a2b3b05 // .quad -1991698500497491195 - QUAD $0x8cb89a7db77c506b // .quad -8306719647944912789 - QUAD $0x8eb98a7a9a5b04e3 // .quad -8162340590452013853 - QUAD $0x77f3608e92adb243 // .quad 8643358275316593219 - QUAD $0xb267ed1940f1c61c // .quad -5591239719637629412 - QUAD $0x55f038b237591ed4 // .quad 6192511825718353620 - QUAD $0xdf01e85f912e37a3 // .quad -2377363631119648861 - QUAD $0x6b6c46dec52f6689 // .quad 7740639782147942025 - QUAD $0x8b61313bbabce2c6 // .quad -8403381297090862394 - QUAD $0x2323ac4b3b3da016 // .quad 2532056854628769814 - QUAD $0xae397d8aa96c1b77 // .quad -5892540602936190089 - QUAD $0xabec975e0a0d081b // .quad -6058300968568813541 - QUAD $0xd9c7dced53c72255 // .quad -2753989735242849707 - QUAD $0x96e7bd358c904a22 // .quad -7572876210711016926 - QUAD $0x881cea14545c7575 // .quad -8638772612167862923 - QUAD $0x7e50d64177da2e55 // .quad 9102010423587778133 - QUAD $0xaa242499697392d2 // .quad -6186779746782440750 - QUAD $0xdde50bd1d5d0b9ea // .quad -2457545025797441046 - QUAD $0xd4ad2dbfc3d07787 // .quad -3121788665050663033 - QUAD $0x955e4ec64b44e865 // .quad -7683617300674189211 - QUAD $0x84ec3c97da624ab4 // .quad -8868646943297746252 - QUAD $0xbd5af13bef0b113f // .quad -4802260812921368257 - QUAD $0xa6274bbdd0fadd61 // .quad -6474122660694794911 - QUAD $0xecb1ad8aeacdd58f // .quad -1391139997724322417 - QUAD $0xcfb11ead453994ba // .quad -3480967307441105734 - QUAD $0x67de18eda5814af3 // .quad 7484447039699372787 - QUAD $0x81ceb32c4b43fcf4 // .quad -9093133594791772940 - QUAD $0x80eacf948770ced8 // .quad -9157278655470055720 - QUAD $0xa2425ff75e14fc31 // .quad -6754730975062328271 - QUAD $0xa1258379a94d028e // .quad -6834912300910181746 - QUAD $0xcad2f7f5359a3b3e // .quad -3831727700400522434 - QUAD $0x096ee45813a04331 // .quad 679731660717048625 - QUAD $0xfd87b5f28300ca0d // .quad -177973607073265139 - QUAD $0x8bca9d6e188853fd // .quad -8373707460958465027 - QUAD $0x9e74d1b791e07e48 // .quad -7028762532061872568 - QUAD $0x775ea264cf55347e // .quad 8601490892183123070 - QUAD $0xc612062576589dda // .quad -4174267146649952806 - QUAD $0x95364afe032a819e // .quad -7694880458480647778 - QUAD $0xf79687aed3eec551 // .quad -606147914885053103 - QUAD $0x3a83ddbd83f52205 // .quad 4216457482181353989 - QUAD $0x9abe14cd44753b52 // .quad -7296371474444240046 - QUAD $0xc4926a9672793543 // .quad -4282243101277735613 - QUAD $0xc16d9a0095928a27 // .quad -4508778324627912153 - QUAD $0x75b7053c0f178294 // .quad 8482254178684994196 - QUAD $0xf1c90080baf72cb1 // .quad -1024286887357502287 - QUAD $0x5324c68b12dd6339 // .quad 5991131704928854841 - QUAD $0x971da05074da7bee // .quad -7557708332239520786 - QUAD $0xd3f6fc16ebca5e04 // .quad -3173071712060547580 - QUAD $0xbce5086492111aea // .quad -4835449396872013078 - QUAD $0x88f4bb1ca6bcf585 // .quad -8578025658503072379 - QUAD $0xec1e4a7db69561a5 // .quad -1432625727662628443 - QUAD $0x2b31e9e3d06c32e6 // .quad 3112525982153323238 - QUAD $0x9392ee8e921d5d07 // .quad -7812920107430224633 - QUAD $0x3aff322e62439fd0 // .quad 4251171748059520976 - QUAD $0xb877aa3236a4b449 // .quad -5154464115860392887 - QUAD $0x09befeb9fad487c3 // .quad 702278666647013315 - QUAD $0xe69594bec44de15b // .quad -1831394126398103205 - QUAD $0x4c2ebe687989a9b4 // .quad 5489534351736154548 - QUAD $0x901d7cf73ab0acd9 // .quad -8062150356639896359 - QUAD $0x0f9d37014bf60a11 // .quad 1125115960621402641 - QUAD $0xb424dc35095cd80f // .quad -5466001927372482545 - QUAD $0x538484c19ef38c95 // .quad 6018080969204141205 - QUAD $0xe12e13424bb40e13 // .quad -2220816390788215277 - QUAD $0x2865a5f206b06fba // .quad 2910915193077788602 - QUAD $0x8cbccc096f5088cb // .quad -8305539271883716405 - QUAD $0xf93f87b7442e45d4 // .quad -486521013540076076 - QUAD $0xafebff0bcb24aafe // .quad -5770238071427257602 - QUAD $0xf78f69a51539d749 // .quad -608151266925095095 - QUAD $0xdbe6fecebdedd5be // .quad -2601111570856684098 - QUAD $0xb573440e5a884d1c // .quad -5371875102083756772 - QUAD $0x89705f4136b4a597 // .quad -8543223759426509417 - QUAD $0x31680a88f8953031 // .quad 3560107088838733873 - QUAD $0xabcc77118461cefc // .quad -6067343680855748868 - QUAD $0xfdc20d2b36ba7c3e // .quad -161552157378970562 - QUAD $0xd6bf94d5e57a42bc // .quad -2972493582642298180 - QUAD $0x3d32907604691b4d // .quad 4409745821703674701 - QUAD $0x8637bd05af6c69b5 // .quad -8775337516792518219 - QUAD $0xa63f9a49c2c1b110 // .quad -6467280898289979120 - QUAD $0xa7c5ac471b478423 // .quad -6357485877563259869 - QUAD $0x0fcf80dc33721d54 // .quad 1139270913992301908 - QUAD $0xd1b71758e219652b // .quad -3335171328526686933 - QUAD $0xd3c36113404ea4a9 // .quad -3187597375937010519 - QUAD $0x83126e978d4fdf3b // .quad -9002011107970261189 - QUAD $0x645a1cac083126ea // .quad 7231123676894144234 - QUAD $0xa3d70a3d70a3d70a // .quad -6640827866535438582 - QUAD $0x3d70a3d70a3d70a4 // .quad 4427218577690292388 - QUAD $0xcccccccccccccccc // .quad -3689348814741910324 - QUAD $0xcccccccccccccccd // .quad -3689348814741910323 - QUAD $0x8000000000000000 // .quad -9223372036854775808 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa000000000000000 // .quad -6917529027641081856 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xc800000000000000 // .quad -4035225266123964416 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xfa00000000000000 // .quad -432345564227567616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9c40000000000000 // .quad -7187745005283311616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xc350000000000000 // .quad -4372995238176751616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xf424000000000000 // .quad -854558029293551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9896800000000000 // .quad -7451627795949551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xbebc200000000000 // .quad -4702848726509551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xee6b280000000000 // .quad -1266874889709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9502f90000000000 // .quad -7709325833709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xba43b74000000000 // .quad -5024971273709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xe8d4a51000000000 // .quad -1669528073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9184e72a00000000 // .quad -7960984073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xb5e620f480000000 // .quad -5339544073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xe35fa931a0000000 // .quad -2062744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8e1bc9bf04000000 // .quad -8206744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xb1a2bc2ec5000000 // .quad -5646744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xde0b6b3a76400000 // .quad -2446744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8ac7230489e80000 // .quad -8446744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xad78ebc5ac620000 // .quad -5946744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xd8d726b7177a8000 // .quad -2821744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x878678326eac9000 // .quad -8681119073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa968163f0a57b400 // .quad -6239712823709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xd3c21bcecceda100 // .quad -3187955011209551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x84595161401484a0 // .quad -8910000909647051616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa56fa5b99019a5c8 // .quad -6525815118631426616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xcecb8f27f4200f3a // .quad -3545582879861895366 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x813f3978f8940984 // .quad -9133518327554766460 - QUAD $0x4000000000000000 // .quad 4611686018427387904 - QUAD $0xa18f07d736b90be5 // .quad -6805211891016070171 - QUAD $0x5000000000000000 // .quad 5764607523034234880 - QUAD $0xc9f2c9cd04674ede // .quad -3894828845342699810 - QUAD $0xa400000000000000 // .quad -6629298651489370112 - QUAD $0xfc6f7c4045812296 // .quad -256850038250986858 - QUAD $0x4d00000000000000 // .quad 5548434740920451072 - QUAD $0x9dc5ada82b70b59d // .quad -7078060301547948643 - QUAD $0xf020000000000000 // .quad -1143914305352105984 - QUAD $0xc5371912364ce305 // .quad -4235889358507547899 - QUAD $0x6c28000000000000 // .quad 7793479155164643328 - QUAD $0xf684df56c3e01bc6 // .quad -683175679707046970 - QUAD $0xc732000000000000 // .quad -4093209111326359552 - QUAD $0x9a130b963a6c115c // .quad -7344513827457986212 - QUAD $0x3c7f400000000000 // .quad 4359273333062107136 - QUAD $0xc097ce7bc90715b3 // .quad -4568956265895094861 - QUAD $0x4b9f100000000000 // .quad 5449091666327633920 - QUAD $0xf0bdc21abb48db20 // .quad -1099509313941480672 - QUAD $0x1e86d40000000000 // .quad 2199678564482154496 - QUAD $0x96769950b50d88f4 // .quad -7604722348854507276 - QUAD $0x1314448000000000 // .quad 1374799102801346560 - QUAD $0xbc143fa4e250eb31 // .quad -4894216917640746191 - QUAD $0x17d955a000000000 // .quad 1718498878501683200 - QUAD $0xeb194f8e1ae525fd // .quad -1506085128623544835 - QUAD $0x5dcfab0800000000 // .quad 6759809616554491904 - QUAD $0x92efd1b8d0cf37be // .quad -7858832233030797378 - QUAD $0x5aa1cae500000000 // .quad 6530724019560251392 - QUAD $0xb7abc627050305ad // .quad -5211854272861108819 - QUAD $0xf14a3d9e40000000 // .quad -1059967012404461568 - QUAD $0xe596b7b0c643c719 // .quad -1903131822648998119 - QUAD $0x6d9ccd05d0000000 // .quad 7898413271349198848 - QUAD $0x8f7e32ce7bea5c6f // .quad -8106986416796705681 - QUAD $0xe4820023a2000000 // .quad -1981020733047832576 - QUAD $0xb35dbf821ae4f38b // .quad -5522047002568494197 - QUAD $0xdda2802c8a800000 // .quad -2476275916309790720 - QUAD $0xe0352f62a19e306e // .quad -2290872734783229842 - QUAD $0xd50b2037ad200000 // .quad -3095344895387238400 - QUAD $0x8c213d9da502de45 // .quad -8349324486880600507 - QUAD $0x4526f422cc340000 // .quad 4982938468024057856 - QUAD $0xaf298d050e4395d6 // .quad -5824969590173362730 - QUAD $0x9670b12b7f410000 // .quad -7606384970252091392 - QUAD $0xdaf3f04651d47b4c // .quad -2669525969289315508 - QUAD $0x3c0cdd765f114000 // .quad 4327076842467049472 - QUAD $0x88d8762bf324cd0f // .quad -8585982758446904049 - QUAD $0xa5880a69fb6ac800 // .quad -6518949010312869888 - QUAD $0xab0e93b6efee0053 // .quad -6120792429631242157 - QUAD $0x8eea0d047a457a00 // .quad -8148686262891087360 - QUAD $0xd5d238a4abe98068 // .quad -3039304518611664792 - QUAD $0x72a4904598d6d880 // .quad 8260886245095692416 - QUAD $0x85a36366eb71f041 // .quad -8817094351773372351 - QUAD $0x47a6da2b7f864750 // .quad 5163053903184807760 - QUAD $0xa70c3c40a64e6c51 // .quad -6409681921289327535 - QUAD $0x999090b65f67d924 // .quad -7381240676301154012 - QUAD $0xd0cf4b50cfe20765 // .quad -3400416383184271515 - QUAD $0xfff4b4e3f741cf6d // .quad -3178808521666707 - QUAD $0x82818f1281ed449f // .quad -9042789267131251553 - QUAD $0xbff8f10e7a8921a5 // .quad -4613672773753429595 - QUAD $0xa321f2d7226895c7 // .quad -6691800565486676537 - QUAD $0xaff72d52192b6a0e // .quad -5767090967191786994 - QUAD $0xcbea6f8ceb02bb39 // .quad -3753064688430957767 - QUAD $0x9bf4f8a69f764491 // .quad -7208863708989733743 - QUAD $0xfee50b7025c36a08 // .quad -79644842111309304 - QUAD $0x02f236d04753d5b5 // .quad 212292400617608629 - QUAD $0x9f4f2726179a2245 // .quad -6967307053960650171 - QUAD $0x01d762422c946591 // .quad 132682750386005393 - QUAD $0xc722f0ef9d80aad6 // .quad -4097447799023424810 - QUAD $0x424d3ad2b7b97ef6 // .quad 4777539456409894646 - QUAD $0xf8ebad2b84e0d58b // .quad -510123730351893109 - QUAD $0xd2e0898765a7deb3 // .quad -3251447716342407501 - QUAD $0x9b934c3b330c8577 // .quad -7236356359111015049 - QUAD $0x63cc55f49f88eb30 // .quad 7191217214140771120 - QUAD $0xc2781f49ffcfa6d5 // .quad -4433759430461380907 - QUAD $0x3cbf6b71c76b25fc // .quad 4377335499248575996 - QUAD $0xf316271c7fc3908a // .quad -930513269649338230 - QUAD $0x8bef464e3945ef7b // .quad -8363388681221443717 - QUAD $0x97edd871cfda3a56 // .quad -7499099821171918250 - QUAD $0x97758bf0e3cbb5ad // .quad -7532960934977096275 - QUAD $0xbde94e8e43d0c8ec // .quad -4762188758037509908 - QUAD $0x3d52eeed1cbea318 // .quad 4418856886560793368 - QUAD $0xed63a231d4c4fb27 // .quad -1341049929119499481 - QUAD $0x4ca7aaa863ee4bde // .quad 5523571108200991710 - QUAD $0x945e455f24fb1cf8 // .quad -7755685233340769032 - QUAD $0x8fe8caa93e74ef6b // .quad -8076983103442849941 - QUAD $0xb975d6b6ee39e436 // .quad -5082920523248573386 - QUAD $0xb3e2fd538e122b45 // .quad -5484542860876174523 - QUAD $0xe7d34c64a9c85d44 // .quad -1741964635633328828 - QUAD $0x60dbbca87196b617 // .quad 6979379479186945559 - QUAD $0x90e40fbeea1d3a4a // .quad -8006256924911912374 - QUAD $0xbc8955e946fe31ce // .quad -4861259862362934834 - QUAD $0xb51d13aea4a488dd // .quad -5396135137712502563 - QUAD $0x6babab6398bdbe42 // .quad 7758483227328495170 - QUAD $0xe264589a4dcdab14 // .quad -2133482903713240300 - QUAD $0xc696963c7eed2dd2 // .quad -4136954021121544750 - QUAD $0x8d7eb76070a08aec // .quad -8250955842461857044 - QUAD $0xfc1e1de5cf543ca3 // .quad -279753253987271517 - QUAD $0xb0de65388cc8ada8 // .quad -5702008784649933400 - QUAD $0x3b25a55f43294bcc // .quad 4261994450943298508 - QUAD $0xdd15fe86affad912 // .quad -2515824962385028846 - QUAD $0x49ef0eb713f39ebf // .quad 5327493063679123135 - QUAD $0x8a2dbf142dfcc7ab // .quad -8489919629131724885 - QUAD $0x6e3569326c784338 // .quad 7941369183226839864 - QUAD $0xacb92ed9397bf996 // .quad -6000713517987268202 - QUAD $0x49c2c37f07965405 // .quad 5315025460606161925 - QUAD $0xd7e77a8f87daf7fb // .quad -2889205879056697349 - QUAD $0xdc33745ec97be907 // .quad -2579590211097073401 - QUAD $0x86f0ac99b4e8dafd // .quad -8723282702051517699 - QUAD $0x69a028bb3ded71a4 // .quad 7611128154919104932 - QUAD $0xa8acd7c0222311bc // .quad -6292417359137009220 - QUAD $0xc40832ea0d68ce0d // .quad -4321147861633282547 - QUAD $0xd2d80db02aabd62b // .quad -3253835680493873621 - QUAD $0xf50a3fa490c30191 // .quad -789748808614215279 - QUAD $0x83c7088e1aab65db // .quad -8951176327949752869 - QUAD $0x792667c6da79e0fb // .quad 8729779031470891259 - QUAD $0xa4b8cab1a1563f52 // .quad -6577284391509803182 - QUAD $0x577001b891185939 // .quad 6300537770911226169 - QUAD $0xcde6fd5e09abcf26 // .quad -3609919470959866074 - QUAD $0xed4c0226b55e6f87 // .quad -1347699823215743097 - QUAD $0x80b05e5ac60b6178 // .quad -9173728696990998152 - QUAD $0x544f8158315b05b5 // .quad 6075216638131242421 - QUAD $0xa0dc75f1778e39d6 // .quad -6855474852811359786 - QUAD $0x696361ae3db1c722 // .quad 7594020797664053026 - QUAD $0xc913936dd571c84c // .quad -3957657547586811828 - QUAD $0x03bc3a19cd1e38ea // .quad 269153960225290474 - QUAD $0xfb5878494ace3a5f // .quad -335385916056126881 - QUAD $0x04ab48a04065c724 // .quad 336442450281613092 - QUAD $0x9d174b2dcec0e47b // .quad -7127145225176161157 - QUAD $0x62eb0d64283f9c77 // .quad 7127805559067090039 - QUAD $0xc45d1df942711d9a // .quad -4297245513042813542 - QUAD $0x3ba5d0bd324f8395 // .quad 4298070930406474645 - QUAD $0xf5746577930d6500 // .quad -759870872876129024 - QUAD $0xca8f44ec7ee3647a // .quad -3850783373846682502 - QUAD $0x9968bf6abbe85f20 // .quad -7392448323188662496 - QUAD $0x7e998b13cf4e1ecc // .quad 9122475437414293196 - QUAD $0xbfc2ef456ae276e8 // .quad -4628874385558440216 - QUAD $0x9e3fedd8c321a67f // .quad -7043649776941685121 - QUAD $0xefb3ab16c59b14a2 // .quad -1174406963520662366 - QUAD $0xc5cfe94ef3ea101f // .quad -4192876202749718497 - QUAD $0x95d04aee3b80ece5 // .quad -7651533379841495835 - QUAD $0xbba1f1d158724a13 // .quad -4926390635932268013 - QUAD $0xbb445da9ca61281f // .quad -4952730706374481889 - QUAD $0x2a8a6e45ae8edc98 // .quad 3065383741939440792 - QUAD $0xea1575143cf97226 // .quad -1579227364540714458 - QUAD $0xf52d09d71a3293be // .quad -779956341003086914 - QUAD $0x924d692ca61be758 // .quad -7904546130479028392 - QUAD $0x593c2626705f9c57 // .quad 6430056314514152535 - QUAD $0xb6e0c377cfa2e12e // .quad -5268996644671397586 - QUAD $0x6f8b2fb00c77836d // .quad 8037570393142690669 - QUAD $0xe498f455c38b997a // .quad -1974559787411859078 - QUAD $0x0b6dfb9c0f956448 // .quad 823590954573587528 - QUAD $0x8edf98b59a373fec // .quad -8151628894773493780 - QUAD $0x4724bd4189bd5ead // .quad 5126430365035880109 - QUAD $0xb2977ee300c50fe7 // .quad -5577850100039479321 - QUAD $0x58edec91ec2cb658 // .quad 6408037956294850136 - QUAD $0xdf3d5e9bc0f653e1 // .quad -2360626606621961247 - QUAD $0x2f2967b66737e3ee // .quad 3398361426941174766 - QUAD $0x8b865b215899f46c // .quad -8392920656779807636 - QUAD $0xbd79e0d20082ee75 // .quad -4793553135802847627 - QUAD $0xae67f1e9aec07187 // .quad -5879464802547371641 - QUAD $0xecd8590680a3aa12 // .quad -1380255401326171630 - QUAD $0xda01ee641a708de9 // .quad -2737644984756826647 - QUAD $0xe80e6f4820cc9496 // .quad -1725319251657714538 - QUAD $0x884134fe908658b2 // .quad -8628557143114098510 - QUAD $0x3109058d147fdcde // .quad 3533361486141316318 - QUAD $0xaa51823e34a7eede // .quad -6174010410465235234 - QUAD $0xbd4b46f0599fd416 // .quad -4806670179178130410 - QUAD $0xd4e5e2cdc1d1ea96 // .quad -3105826994654156138 - QUAD $0x6c9e18ac7007c91b // .quad 7826720331309500699 - QUAD $0x850fadc09923329e // .quad -8858670899299929442 - QUAD $0x03e2cf6bc604ddb1 // .quad 280014188641050033 - QUAD $0xa6539930bf6bff45 // .quad -6461652605697523899 - QUAD $0x84db8346b786151d // .quad -8873354301053463267 - QUAD $0xcfe87f7cef46ff16 // .quad -3465379738694516970 - QUAD $0xe612641865679a64 // .quad -1868320839462053276 - QUAD $0x81f14fae158c5f6e // .quad -9083391364325154962 - QUAD $0x4fcb7e8f3f60c07f // .quad 5749828502977298559 - QUAD $0xa26da3999aef7749 // .quad -6742553186979055799 - QUAD $0xe3be5e330f38f09e // .quad -2036086408133152610 - QUAD $0xcb090c8001ab551c // .quad -3816505465296431844 - QUAD $0x5cadf5bfd3072cc6 // .quad 6678264026688335046 - QUAD $0xfdcb4fa002162a63 // .quad -158945813193151901 - QUAD $0x73d9732fc7c8f7f7 // .quad 8347830033360418807 - QUAD $0x9e9f11c4014dda7e // .quad -7016870160886801794 - QUAD $0x2867e7fddcdd9afb // .quad 2911550761636567803 - QUAD $0xc646d63501a1511d // .quad -4159401682681114339 - QUAD $0xb281e1fd541501b9 // .quad -5583933584809066055 - QUAD $0xf7d88bc24209a565 // .quad -587566084924005019 - QUAD $0x1f225a7ca91a4227 // .quad 2243455055843443239 - QUAD $0x9ae757596946075f // .quad -7284757830718584993 - QUAD $0x3375788de9b06959 // .quad 3708002419115845977 - QUAD $0xc1a12d2fc3978937 // .quad -4494261269970843337 - QUAD $0x0052d6b1641c83af // .quad 23317005467419567 - QUAD $0xf209787bb47d6b84 // .quad -1006140569036166268 - QUAD $0xc0678c5dbd23a49b // .quad -4582539761593113445 - QUAD $0x9745eb4d50ce6332 // .quad -7546366883288685774 - QUAD $0xf840b7ba963646e1 // .quad -558244341782001951 - QUAD $0xbd176620a501fbff // .quad -4821272585683469313 - QUAD $0xb650e5a93bc3d899 // .quad -5309491445654890343 - QUAD $0xec5d3fa8ce427aff // .quad -1414904713676948737 - QUAD $0xa3e51f138ab4cebf // .quad -6636864307068612929 - QUAD $0x93ba47c980e98cdf // .quad -7801844473689174817 - QUAD $0xc66f336c36b10138 // .quad -4148040191917883080 - QUAD $0xb8a8d9bbe123f017 // .quad -5140619573684080617 - QUAD $0xb80b0047445d4185 // .quad -5185050239897353851 - QUAD $0xe6d3102ad96cec1d // .quad -1814088448677712867 - QUAD $0xa60dc059157491e6 // .quad -6481312799871692314 - QUAD $0x9043ea1ac7e41392 // .quad -8051334308064652398 - QUAD $0x87c89837ad68db30 // .quad -8662506518347195600 - QUAD $0xb454e4a179dd1877 // .quad -5452481866653427593 - QUAD $0x29babe4598c311fc // .quad 3006924907348169212 - QUAD $0xe16a1dc9d8545e94 // .quad -2203916314889396588 - QUAD $0xf4296dd6fef3d67b // .quad -853029884242176389 - QUAD $0x8ce2529e2734bb1d // .quad -8294976724446954723 - QUAD $0x1899e4a65f58660d // .quad 1772699331562333709 - QUAD $0xb01ae745b101e9e4 // .quad -5757034887131305500 - QUAD $0x5ec05dcff72e7f90 // .quad 6827560182880305040 - QUAD $0xdc21a1171d42645d // .quad -2584607590486743971 - QUAD $0x76707543f4fa1f74 // .quad 8534450228600381300 - QUAD $0x899504ae72497eba // .quad -8532908771695296838 - QUAD $0x6a06494a791c53a9 // .quad 7639874402088932265 - QUAD $0xabfa45da0edbde69 // .quad -6054449946191733143 - QUAD $0x0487db9d17636893 // .quad 326470965756389523 - QUAD $0xd6f8d7509292d603 // .quad -2956376414312278525 - QUAD $0x45a9d2845d3c42b7 // .quad 5019774725622874807 - QUAD $0x865b86925b9bc5c2 // .quad -8765264286586255934 - QUAD $0x0b8a2392ba45a9b3 // .quad 831516194300602803 - QUAD $0xa7f26836f282b732 // .quad -6344894339805432014 - QUAD $0x8e6cac7768d7141f // .quad -8183976793979022305 - QUAD $0xd1ef0244af2364ff // .quad -3319431906329402113 - QUAD $0x3207d795430cd927 // .quad 3605087062808385831 - QUAD $0x8335616aed761f1f // .quad -8992173969096958177 - QUAD $0x7f44e6bd49e807b9 // .quad 9170708441896323001 - QUAD $0xa402b9c5a8d3a6e7 // .quad -6628531442943809817 - QUAD $0x5f16206c9c6209a7 // .quad 6851699533943015847 - QUAD $0xcd036837130890a1 // .quad -3673978285252374367 - QUAD $0x36dba887c37a8c10 // .quad 3952938399001381904 - QUAD $0x802221226be55a64 // .quad -9213765455923815836 - QUAD $0xc2494954da2c978a // .quad -4446942528265218166 - QUAD $0xa02aa96b06deb0fd // .quad -6905520801477381891 - QUAD $0xf2db9baa10b7bd6d // .quad -946992141904134803 - QUAD $0xc83553c5c8965d3d // .quad -4020214983419339459 - QUAD $0x6f92829494e5acc8 // .quad 8039631859474607304 - QUAD $0xfa42a8b73abbf48c // .quad -413582710846786420 - QUAD $0xcb772339ba1f17fa // .quad -3785518230938904582 - QUAD $0x9c69a97284b578d7 // .quad -7176018221920323369 - QUAD $0xff2a760414536efc // .quad -60105885123121412 - QUAD $0xc38413cf25e2d70d // .quad -4358336758973016307 - QUAD $0xfef5138519684abb // .quad -75132356403901765 - QUAD $0xf46518c2ef5b8cd1 // .quad -836234930288882479 - QUAD $0x7eb258665fc25d6a // .quad 9129456591349898602 - QUAD $0x98bf2f79d5993802 // .quad -7440175859071633406 - QUAD $0xef2f773ffbd97a62 // .quad -1211618658047395230 - QUAD $0xbeeefb584aff8603 // .quad -4688533805412153853 - QUAD $0xaafb550ffacfd8fb // .quad -6126209340986631941 - QUAD $0xeeaaba2e5dbf6784 // .quad -1248981238337804412 - QUAD $0x95ba2a53f983cf39 // .quad -7657761676233289927 - QUAD $0x952ab45cfa97a0b2 // .quad -7698142301602209614 - QUAD $0xdd945a747bf26184 // .quad -2480258038432112252 - QUAD $0xba756174393d88df // .quad -5010991858575374113 - QUAD $0x94f971119aeef9e5 // .quad -7712008566467528219 - QUAD $0xe912b9d1478ceb17 // .quad -1652053804791829737 - QUAD $0x7a37cd5601aab85e // .quad 8806733365625141342 - QUAD $0x91abb422ccb812ee // .quad -7950062655635975442 - QUAD $0xac62e055c10ab33b // .quad -6025006692552756421 - QUAD $0xb616a12b7fe617aa // .quad -5325892301117581398 - QUAD $0x577b986b314d600a // .quad 6303799689591218186 - QUAD $0xe39c49765fdf9d94 // .quad -2045679357969588844 - QUAD $0xed5a7e85fda0b80c // .quad -1343622424865753076 - QUAD $0x8e41ade9fbebc27d // .quad -8196078626372074883 - QUAD $0x14588f13be847308 // .quad 1466078993672598280 - QUAD $0xb1d219647ae6b31c // .quad -5633412264537705700 - QUAD $0x596eb2d8ae258fc9 // .quad 6444284760518135753 - QUAD $0xde469fbd99a05fe3 // .quad -2430079312244744221 - QUAD $0x6fca5f8ed9aef3bc // .quad 8055355950647669692 - QUAD $0x8aec23d680043bee // .quad -8436328597794046994 - QUAD $0x25de7bb9480d5855 // .quad 2728754459941099605 - QUAD $0xada72ccc20054ae9 // .quad -5933724728815170839 - QUAD $0xaf561aa79a10ae6b // .quad -5812428961928401301 - QUAD $0xd910f7ff28069da4 // .quad -2805469892591575644 - QUAD $0x1b2ba1518094da05 // .quad 1957835834444274181 - QUAD $0x87aa9aff79042286 // .quad -8670947710510816634 - QUAD $0x90fb44d2f05d0843 // .quad -7999724640327104445 - QUAD $0xa99541bf57452b28 // .quad -6226998619711132888 - QUAD $0x353a1607ac744a54 // .quad 3835402254873283156 - QUAD $0xd3fa922f2d1675f2 // .quad -3172062256211528206 - QUAD $0x42889b8997915ce9 // .quad 4794252818591603945 - QUAD $0x847c9b5d7c2e09b7 // .quad -8900067937773286985 - QUAD $0x69956135febada12 // .quad 7608094030047140370 - QUAD $0xa59bc234db398c25 // .quad -6513398903789220827 - QUAD $0x43fab9837e699096 // .quad 4898431519131537558 - QUAD $0xcf02b2c21207ef2e // .quad -3530062611309138130 - QUAD $0x94f967e45e03f4bc // .quad -7712018656367741764 - QUAD $0x8161afb94b44f57d // .quad -9123818159709293187 - QUAD $0x1d1be0eebac278f6 // .quad 2097517367411243254 - QUAD $0xa1ba1ba79e1632dc // .quad -6793086681209228580 - QUAD $0x6462d92a69731733 // .quad 7233582727691441971 - QUAD $0xca28a291859bbf93 // .quad -3879672333084147821 - QUAD $0x7d7b8f7503cfdcff // .quad 9041978409614302463 - QUAD $0xfcb2cb35e702af78 // .quad -237904397927796872 - QUAD $0x5cda735244c3d43f // .quad 6690786993590490175 - QUAD $0x9defbf01b061adab // .quad -7066219276345954901 - QUAD $0x3a0888136afa64a8 // .quad 4181741870994056360 - QUAD $0xc56baec21c7a1916 // .quad -4221088077005055722 - QUAD $0x088aaa1845b8fdd1 // .quad 615491320315182545 - QUAD $0xf6c69a72a3989f5b // .quad -664674077828931749 - QUAD $0x8aad549e57273d46 // .quad -8454007886460797626 - QUAD $0x9a3c2087a63f6399 // .quad -7332950326284164199 - QUAD $0x36ac54e2f678864c // .quad 3939617107816777292 - QUAD $0xc0cb28a98fcf3c7f // .quad -4554501889427817345 - QUAD $0x84576a1bb416a7de // .quad -8910536670511192098 - QUAD $0xf0fdf2d3f3c30b9f // .quad -1081441343357383777 - QUAD $0x656d44a2a11c51d6 // .quad 7308573235570561494 - QUAD $0x969eb7c47859e743 // .quad -7593429867239446717 - QUAD $0x9f644ae5a4b1b326 // .quad -6961356773836868826 - QUAD $0xbc4665b596706114 // .quad -4880101315621920492 - QUAD $0x873d5d9f0dde1fef // .quad -8701695967296086033 - QUAD $0xeb57ff22fc0c7959 // .quad -1488440626100012711 - QUAD $0xa90cb506d155a7eb // .quad -6265433940692719637 - QUAD $0x9316ff75dd87cbd8 // .quad -7847804418953589800 - QUAD $0x09a7f12442d588f3 // .quad 695789805494438131 - QUAD $0xb7dcbf5354e9bece // .quad -5198069505264599346 - QUAD $0x0c11ed6d538aeb30 // .quad 869737256868047664 - QUAD $0xe5d3ef282a242e81 // .quad -1885900863153361279 - QUAD $0x8f1668c8a86da5fb // .quad -8136200465769716229 - QUAD $0x8fa475791a569d10 // .quad -8096217067111932656 - QUAD $0xf96e017d694487bd // .quad -473439272678684739 - QUAD $0xb38d92d760ec4455 // .quad -5508585315462527915 - QUAD $0x37c981dcc395a9ad // .quad 4019886927579031981 - QUAD $0xe070f78d3927556a // .quad -2274045625900771990 - QUAD $0x85bbe253f47b1418 // .quad -8810199395808373736 - QUAD $0x8c469ab843b89562 // .quad -8338807543829064350 - QUAD $0x93956d7478ccec8f // .quad -7812217631593927537 - QUAD $0xaf58416654a6babb // .quad -5811823411358942533 - QUAD $0x387ac8d1970027b3 // .quad 4069786015789754291 - QUAD $0xdb2e51bfe9d0696a // .quad -2653093245771290262 - QUAD $0x06997b05fcc0319f // .quad 475546501309804959 - QUAD $0x88fcf317f22241e2 // .quad -8575712306248138270 - QUAD $0x441fece3bdf81f04 // .quad 4908902581746016004 - QUAD $0xab3c2fddeeaad25a // .quad -6107954364382784934 - QUAD $0xd527e81cad7626c4 // .quad -3087243809672255804 - QUAD $0xd60b3bd56a5586f1 // .quad -3023256937051093263 - QUAD $0x8a71e223d8d3b075 // .quad -8470740780517707659 - QUAD $0x85c7056562757456 // .quad -8807064613298015146 - QUAD $0xf6872d5667844e4a // .quad -682526969396179382 - QUAD $0xa738c6bebb12d16c // .quad -6397144748195131028 - QUAD $0xb428f8ac016561dc // .quad -5464844730172612132 - QUAD $0xd106f86e69d785c7 // .quad -3384744916816525881 - QUAD $0xe13336d701beba53 // .quad -2219369894288377261 - QUAD $0x82a45b450226b39c // .quad -9032994600651410532 - QUAD $0xecc0024661173474 // .quad -1387106183930235788 - QUAD $0xa34d721642b06084 // .quad -6679557232386875260 - QUAD $0x27f002d7f95d0191 // .quad 2877803288514593169 - QUAD $0xcc20ce9bd35c78a5 // .quad -3737760522056206171 - QUAD $0x31ec038df7b441f5 // .quad 3597254110643241461 - QUAD $0xff290242c83396ce // .quad -60514634142869810 - QUAD $0x7e67047175a15272 // .quad 9108253656731439730 - QUAD $0x9f79a169bd203e41 // .quad -6955350673980375487 - QUAD $0x0f0062c6e984d387 // .quad 1080972517029761927 - QUAD $0xc75809c42c684dd1 // .quad -4082502324048081455 - QUAD $0x52c07b78a3e60869 // .quad 5962901664714590313 - QUAD $0xf92e0c3537826145 // .quad -491441886632713915 - QUAD $0xa7709a56ccdf8a83 // .quad -6381430974388925821 - QUAD $0x9bbcc7a142b17ccb // .quad -7224680206786528053 - QUAD $0x88a66076400bb692 // .quad -8600080377420466542 - QUAD $0xc2abf989935ddbfe // .quad -4419164240055772162 - QUAD $0x6acff893d00ea436 // .quad 7696643601933968438 - QUAD $0xf356f7ebf83552fe // .quad -912269281642327298 - QUAD $0x0583f6b8c4124d44 // .quad 397432465562684740 - QUAD $0x98165af37b2153de // .quad -7487697328667536418 - QUAD $0xc3727a337a8b704b // .quad -4363290727450709941 - QUAD $0xbe1bf1b059e9a8d6 // .quad -4747935642407032618 - QUAD $0x744f18c0592e4c5d // .quad 8380944645968776285 - QUAD $0xeda2ee1c7064130c // .quad -1323233534581402868 - QUAD $0x1162def06f79df74 // .quad 1252808770606194548 - QUAD $0x9485d4d1c63e8be7 // .quad -7744549986754458649 - QUAD $0x8addcb5645ac2ba9 // .quad -8440366555225904215 - QUAD $0xb9a74a0637ce2ee1 // .quad -5069001465015685407 - QUAD $0x6d953e2bd7173693 // .quad 7896285879677171347 - QUAD $0xe8111c87c5c1ba99 // .quad -1724565812842218855 - QUAD $0xc8fa8db6ccdd0438 // .quad -3964700705685699528 - QUAD $0x910ab1d4db9914a0 // .quad -7995382660667468640 - QUAD $0x1d9c9892400a22a3 // .quad 2133748077373825699 - QUAD $0xb54d5e4a127f59c8 // .quad -5382542307406947896 - QUAD $0x2503beb6d00cab4c // .quad 2667185096717282124 - QUAD $0xe2a0b5dc971f303a // .quad -2116491865831296966 - QUAD $0x2e44ae64840fd61e // .quad 3333981370896602654 - QUAD $0x8da471a9de737e24 // .quad -8240336443785642460 - QUAD $0x5ceaecfed289e5d3 // .quad 6695424375237764563 - QUAD $0xb10d8e1456105dad // .quad -5688734536304665171 - QUAD $0x7425a83e872c5f48 // .quad 8369280469047205704 - QUAD $0xdd50f1996b947518 // .quad -2499232151953443560 - QUAD $0xd12f124e28f7771a // .quad -3373457468973156582 - QUAD $0x8a5296ffe33cc92f // .quad -8479549122611984081 - QUAD $0x82bd6b70d99aaa70 // .quad -9025939945749304720 - QUAD $0xace73cbfdc0bfb7b // .quad -5987750384837592197 - QUAD $0x636cc64d1001550c // .quad 7164319141522920716 - QUAD $0xd8210befd30efa5a // .quad -2873001962619602342 - QUAD $0x3c47f7e05401aa4f // .quad 4343712908476262991 - QUAD $0x8714a775e3e95c78 // .quad -8713155254278333320 - QUAD $0x65acfaec34810a72 // .quad 7326506586225052274 - QUAD $0xa8d9d1535ce3b396 // .quad -6279758049420528746 - QUAD $0x7f1839a741a14d0e // .quad 9158133232781315342 - QUAD $0xd31045a8341ca07c // .quad -3238011543348273028 - QUAD $0x1ede48111209a051 // .quad 2224294504121868369 - QUAD $0x83ea2b892091e44d // .quad -8941286242233752499 - QUAD $0x934aed0aab460433 // .quad -7833187971778608077 - QUAD $0xa4e4b66b68b65d60 // .quad -6564921784364802720 - QUAD $0xf81da84d56178540 // .quad -568112927868484288 - QUAD $0xce1de40642e3f4b9 // .quad -3594466212028615495 - QUAD $0x36251260ab9d668f // .quad 3901544858591782543 - QUAD $0x80d2ae83e9ce78f3 // .quad -9164070410158966541 - QUAD $0xc1d72b7c6b42601a // .quad -4479063491021217766 - QUAD $0xa1075a24e4421730 // .quad -6843401994271320272 - QUAD $0xb24cf65b8612f820 // .quad -5598829363776522208 - QUAD $0xc94930ae1d529cfc // .quad -3942566474411762436 - QUAD $0xdee033f26797b628 // .quad -2386850686293264856 - QUAD $0xfb9b7cd9a4a7443c // .quad -316522074587315140 - QUAD $0x169840ef017da3b2 // .quad 1628122660560806834 - QUAD $0x9d412e0806e88aa5 // .quad -7115355324258153819 - QUAD $0x8e1f289560ee864f // .quad -8205795374004271537 - QUAD $0xc491798a08a2ad4e // .quad -4282508136895304370 - QUAD $0xf1a6f2bab92a27e3 // .quad -1033872180650563613 - QUAD $0xf5b5d7ec8acb58a2 // .quad -741449152691742558 - QUAD $0xae10af696774b1dc // .quad -5904026244240592420 - QUAD $0x9991a6f3d6bf1765 // .quad -7380934748073420955 - QUAD $0xacca6da1e0a8ef2a // .quad -5995859411864064214 - QUAD $0xbff610b0cc6edd3f // .quad -4614482416664388289 - QUAD $0x17fd090a58d32af4 // .quad 1728547772024695540 - QUAD $0xeff394dcff8a948e // .quad -1156417002403097458 - QUAD $0xddfc4b4cef07f5b1 // .quad -2451001303396518479 - QUAD $0x95f83d0a1fb69cd9 // .quad -7640289654143017767 - QUAD $0x4abdaf101564f98f // .quad 5385653213018257807 - QUAD $0xbb764c4ca7a4440f // .quad -4938676049251384305 - QUAD $0x9d6d1ad41abe37f2 // .quad -7102991539009341454 - QUAD $0xea53df5fd18d5513 // .quad -1561659043136842477 - QUAD $0x84c86189216dc5ee // .quad -8878739423761676818 - QUAD $0x92746b9be2f8552c // .quad -7893565929601608404 - QUAD $0x32fd3cf5b4e49bb5 // .quad 3674159897003727797 - QUAD $0xb7118682dbb66a77 // .quad -5255271393574622601 - QUAD $0x3fbc8c33221dc2a2 // .quad 4592699871254659746 - QUAD $0xe4d5e82392a40515 // .quad -1957403223540890347 - QUAD $0x0fabaf3feaa5334b // .quad 1129188820640936779 - QUAD $0x8f05b1163ba6832d // .quad -8140906042354138323 - QUAD $0x29cb4d87f2a7400f // .quad 3011586022114279439 - QUAD $0xb2c71d5bca9023f8 // .quad -5564446534515285000 - QUAD $0x743e20e9ef511013 // .quad 8376168546070237203 - QUAD $0xdf78e4b2bd342cf6 // .quad -2343872149716718346 - QUAD $0x914da9246b255417 // .quad -7976533391121755113 - QUAD $0x8bab8eefb6409c1a // .quad -8382449121214030822 - QUAD $0x1ad089b6c2f7548f // .quad 1932195658189984911 - QUAD $0xae9672aba3d0c320 // .quad -5866375383090150624 - QUAD $0xa184ac2473b529b2 // .quad -6808127464117294670 - QUAD $0xda3c0f568cc4f3e8 // .quad -2721283210435300376 - QUAD $0xc9e5d72d90a2741f // .quad -3898473311719230433 - QUAD $0x8865899617fb1871 // .quad -8618331034163144591 - QUAD $0x7e2fa67c7a658893 // .quad 9092669226243950739 - QUAD $0xaa7eebfb9df9de8d // .quad -6161227774276542835 - QUAD $0xddbb901b98feeab8 // .quad -2469221522477225288 - QUAD $0xd51ea6fa85785631 // .quad -3089848699418290639 - QUAD $0x552a74227f3ea566 // .quad 6136845133758244198 - QUAD $0x8533285c936b35de // .quad -8848684464777513506 - QUAD $0xd53a88958f872760 // .quad -3082000819042179232 - QUAD $0xa67ff273b8460356 // .quad -6449169562544503978 - QUAD $0x8a892abaf368f138 // .quad -8464187042230111944 - QUAD $0xd01fef10a657842c // .quad -3449775934753242068 - QUAD $0x2d2b7569b0432d86 // .quad 3254824252494523782 - QUAD $0x8213f56a67f6b29b // .quad -9073638986861858149 - QUAD $0x9c3b29620e29fc74 // .quad -7189106879045698444 - QUAD $0xa298f2c501f45f42 // .quad -6730362715149934782 - QUAD $0x8349f3ba91b47b90 // .quad -8986383598807123056 - QUAD $0xcb3f2f7642717713 // .quad -3801267375510030573 - QUAD $0x241c70a936219a74 // .quad 2602078556773259892 - QUAD $0xfe0efb53d30dd4d7 // .quad -139898200960150313 - QUAD $0xed238cd383aa0111 // .quad -1359087822460813039 - QUAD $0x9ec95d1463e8a506 // .quad -7004965403241175802 - QUAD $0xf4363804324a40ab // .quad -849429889038008149 - QUAD $0xc67bb4597ce2ce48 // .quad -4144520735624081848 - QUAD $0xb143c6053edcd0d6 // .quad -5673473379724898090 - QUAD $0xf81aa16fdc1b81da // .quad -568964901102714406 - QUAD $0xdd94b7868e94050b // .quad -2480155706228734709 - QUAD $0x9b10a4e5e9913128 // .quad -7273132090830278360 - QUAD $0xca7cf2b4191c8327 // .quad -3855940325606653145 - QUAD $0xc1d4ce1f63f57d72 // .quad -4479729095110460046 - QUAD $0xfd1c2f611f63a3f1 // .quad -208239388580928527 - QUAD $0xf24a01a73cf2dccf // .quad -987975350460687153 - QUAD $0xbc633b39673c8ced // .quad -4871985254153548563 - QUAD $0x976e41088617ca01 // .quad -7535013621679011327 - QUAD $0xd5be0503e085d814 // .quad -3044990783845967852 - QUAD $0xbd49d14aa79dbc82 // .quad -4807081008671376254 - QUAD $0x4b2d8644d8a74e19 // .quad 5417133557047315993 - QUAD $0xec9c459d51852ba2 // .quad -1397165242411832414 - QUAD $0xddf8e7d60ed1219f // .quad -2451955090545630817 - QUAD $0x93e1ab8252f33b45 // .quad -7790757304148477115 - QUAD $0xcabb90e5c942b504 // .quad -3838314940804713212 - QUAD $0xb8da1662e7b00a17 // .quad -5126760611758208489 - QUAD $0x3d6a751f3b936244 // .quad 4425478360848884292 - QUAD $0xe7109bfba19c0c9d // .quad -1796764746270372707 - QUAD $0x0cc512670a783ad5 // .quad 920161932633717461 - QUAD $0x906a617d450187e2 // .quad -8040506994060064798 - QUAD $0x27fb2b80668b24c6 // .quad 2880944217109767366 - QUAD $0xb484f9dc9641e9da // .quad -5438947724147693094 - QUAD $0xb1f9f660802dedf7 // .quad -5622191765467566601 - QUAD $0xe1a63853bbd26451 // .quad -2186998636757228463 - QUAD $0x5e7873f8a0396974 // .quad 6807318348447705460 - QUAD $0x8d07e33455637eb2 // .quad -8284403175614349646 - QUAD $0xdb0b487b6423e1e9 // .quad -2662955059861265943 - QUAD $0xb049dc016abc5e5f // .quad -5743817951090549153 - QUAD $0x91ce1a9a3d2cda63 // .quad -7940379843253970333 - QUAD $0xdc5c5301c56b75f7 // .quad -2568086420435798537 - QUAD $0x7641a140cc7810fc // .quad 8521269269642088700 - QUAD $0x89b9b3e11b6329ba // .quad -8522583040413455942 - QUAD $0xa9e904c87fcb0a9e // .quad -6203421752542164322 - QUAD $0xac2820d9623bf429 // .quad -6041542782089432023 - QUAD $0x546345fa9fbdcd45 // .quad 6080780864604458309 - QUAD $0xd732290fbacaf133 // .quad -2940242459184402125 - QUAD $0xa97c177947ad4096 // .quad -6234081974526590826 - QUAD $0x867f59a9d4bed6c0 // .quad -8755180564631333184 - QUAD $0x49ed8eabcccc485e // .quad 5327070802775656542 - QUAD $0xa81f301449ee8c70 // .quad -6332289687361778576 - QUAD $0x5c68f256bfff5a75 // .quad 6658838503469570677 - QUAD $0xd226fc195c6a2f8c // .quad -3303676090774835316 - QUAD $0x73832eec6fff3112 // .quad 8323548129336963346 - QUAD $0x83585d8fd9c25db7 // .quad -8982326584375353929 - QUAD $0xc831fd53c5ff7eac // .quad -4021154456019173716 - QUAD $0xa42e74f3d032f525 // .quad -6616222212041804507 - QUAD $0xba3e7ca8b77f5e56 // .quad -5026443070023967146 - QUAD $0xcd3a1230c43fb26f // .quad -3658591746624867729 - QUAD $0x28ce1bd2e55f35ec // .quad 2940318199324816876 - QUAD $0x80444b5e7aa7cf85 // .quad -9204148869281624187 - QUAD $0x7980d163cf5b81b4 // .quad 8755227902219092404 - QUAD $0xa0555e361951c366 // .quad -6893500068174642330 - QUAD $0xd7e105bcc3326220 // .quad -2891023177508298208 - QUAD $0xc86ab5c39fa63440 // .quad -4005189066790915008 - QUAD $0x8dd9472bf3fefaa8 // .quad -8225464990312760664 - QUAD $0xfa856334878fc150 // .quad -394800315061255856 - QUAD $0xb14f98f6f0feb952 // .quad -5670145219463562926 - QUAD $0x9c935e00d4b9d8d2 // .quad -7164279224554366766 - QUAD $0x6ed1bf9a569f33d4 // .quad 7985374283903742932 - QUAD $0xc3b8358109e84f07 // .quad -4343663012265570553 - QUAD $0x0a862f80ec4700c9 // .quad 758345818024902857 - QUAD $0xf4a642e14c6262c8 // .quad -817892746904575288 - QUAD $0xcd27bb612758c0fb // .quad -3663753745896259333 - QUAD $0x98e7e9cccfbd7dbd // .quad -7428711994456441411 - QUAD $0x8038d51cb897789d // .quad -9207375118826243939 - QUAD $0xbf21e44003acdd2c // .quad -4674203974643163860 - QUAD $0xe0470a63e6bd56c4 // .quad -2285846861678029116 - QUAD $0xeeea5d5004981478 // .quad -1231068949876566920 - QUAD $0x1858ccfce06cac75 // .quad 1754377441329851509 - QUAD $0x95527a5202df0ccb // .quad -7686947121313936181 - QUAD $0x0f37801e0c43ebc9 // .quad 1096485900831157193 - QUAD $0xbaa718e68396cffd // .quad -4996997883215032323 - QUAD $0xd30560258f54e6bb // .quad -3241078642388441413 - QUAD $0xe950df20247c83fd // .quad -1634561335591402499 - QUAD $0x47c6b82ef32a206a // .quad 5172023733869224042 - QUAD $0x91d28b7416cdd27e // .quad -7939129862385708418 - QUAD $0x4cdc331d57fa5442 // .quad 5538357842881958978 - QUAD $0xb6472e511c81471d // .quad -5312226309554747619 - QUAD $0xe0133fe4adf8e953 // .quad -2300424733252327085 - QUAD $0xe3d8f9e563a198e5 // .quad -2028596868516046619 - QUAD $0x58180fddd97723a7 // .quad 6347841120289366951 - QUAD $0x8e679c2f5e44ff8f // .quad -8185402070463610993 - QUAD $0x570f09eaa7ea7649 // .quad 6273243709394548297 - QUAD $0xb201833b35d63f73 // .quad -5620066569652125837 - QUAD $0x2cd2cc6551e513db // .quad 3229868618315797467 - QUAD $0xde81e40a034bcf4f // .quad -2413397193637769393 - QUAD $0xf8077f7ea65e58d2 // .quad -574350245532641070 - QUAD $0x8b112e86420f6191 // .quad -8425902273664687727 - QUAD $0xfb04afaf27faf783 // .quad -358968903457900669 - QUAD $0xadd57a27d29339f6 // .quad -5920691823653471754 - QUAD $0x79c5db9af1f9b564 // .quad 8774660907532399972 - QUAD $0xd94ad8b1c7380874 // .quad -2789178761139451788 - QUAD $0x18375281ae7822bd // .quad 1744954097560724157 - QUAD $0x87cec76f1c830548 // .quad -8660765753353239224 - QUAD $0x8f2293910d0b15b6 // .quad -8132775725879323210 - QUAD $0xa9c2794ae3a3c69a // .quad -6214271173264161126 - QUAD $0xb2eb3875504ddb23 // .quad -5554283638921766109 - QUAD $0xd433179d9c8cb841 // .quad -3156152948152813503 - QUAD $0x5fa60692a46151ec // .quad 6892203506629956076 - QUAD $0x849feec281d7f328 // .quad -8890124620236590296 - QUAD $0xdbc7c41ba6bcd334 // .quad -2609901835997359308 - QUAD $0xa5c7ea73224deff3 // .quad -6500969756868349965 - QUAD $0x12b9b522906c0801 // .quad 1349308723430688769 - QUAD $0xcf39e50feae16bef // .quad -3514526177658049553 - QUAD $0xd768226b34870a01 // .quad -2925050114139026943 - QUAD $0x81842f29f2cce375 // .quad -9114107888677362827 - QUAD $0xe6a1158300d46641 // .quad -1828156321336891839 - QUAD $0xa1e53af46f801c53 // .quad -6780948842419315629 - QUAD $0x60495ae3c1097fd1 // .quad 6938176635183661009 - QUAD $0xca5e89b18b602368 // .quad -3864500034596756632 - QUAD $0x385bb19cb14bdfc5 // .quad 4061034775552188357 - QUAD $0xfcf62c1dee382c42 // .quad -218939024818557886 - QUAD $0x46729e03dd9ed7b6 // .quad 5076293469440235446 - QUAD $0x9e19db92b4e31ba9 // .quad -7054365918152680535 - QUAD $0x6c07a2c26a8346d2 // .quad 7784369436827535058 - - // .p2align 4, 0x00 -_VecShiftShuffles: - QUAD $0x0706050403020100; QUAD $0x0f0e0d0c0b0a0908 // .ascii 16, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' - QUAD $0x0807060504030201; QUAD $0xff0f0e0d0c0b0a09 // .ascii 16, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' - QUAD $0x0908070605040302; QUAD $0xffff0f0e0d0c0b0a // .ascii 16, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' - QUAD $0x0a09080706050403; QUAD $0xffffff0f0e0d0c0b // .ascii 16, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' - QUAD $0x0b0a090807060504; QUAD $0xffffffff0f0e0d0c // .ascii 16, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' - QUAD $0x0c0b0a0908070605; QUAD $0xffffffffff0f0e0d // .ascii 16, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff' - QUAD $0x0d0c0b0a09080706; QUAD $0xffffffffffff0f0e // .ascii 16, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff' - QUAD $0x0e0d0c0b0a090807; QUAD $0xffffffffffffff0f // .ascii 16, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff' - QUAD $0x0f0e0d0c0b0a0908; QUAD $0xffffffffffffffff // .ascii 16, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' - - // .p2align 4, 0x00 -__SingleQuoteTab: - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000030303030755c // .asciz 8, '\\u0000\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000031303030755c // .asciz 8, '\\u0001\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000032303030755c // .asciz 8, '\\u0002\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000033303030755c // .asciz 8, '\\u0003\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000034303030755c // .asciz 8, '\\u0004\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000035303030755c // .asciz 8, '\\u0005\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000036303030755c // .asciz 8, '\\u0006\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000037303030755c // .asciz 8, '\\u0007\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000038303030755c // .asciz 8, '\\u0008\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x000000000000745c // .asciz 8, '\\t\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x0000000000006e5c // .asciz 8, '\\n\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000062303030755c // .asciz 8, '\\u000b\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000063303030755c // .asciz 8, '\\u000c\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x000000000000725c // .asciz 8, '\\r\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000065303030755c // .asciz 8, '\\u000e\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000066303030755c // .asciz 8, '\\u000f\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000030313030755c // .asciz 8, '\\u0010\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000031313030755c // .asciz 8, '\\u0011\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000032313030755c // .asciz 8, '\\u0012\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000033313030755c // .asciz 8, '\\u0013\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000034313030755c // .asciz 8, '\\u0014\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000035313030755c // .asciz 8, '\\u0015\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000036313030755c // .asciz 8, '\\u0016\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000037313030755c // .asciz 8, '\\u0017\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000038313030755c // .asciz 8, '\\u0018\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000039313030755c // .asciz 8, '\\u0019\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000061313030755c // .asciz 8, '\\u001a\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000062313030755c // .asciz 8, '\\u001b\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000063313030755c // .asciz 8, '\\u001c\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000064313030755c // .asciz 8, '\\u001d\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000065313030755c // .asciz 8, '\\u001e\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000066313030755c // .asciz 8, '\\u001f\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x000000000000225c // .asciz 8, '\\"\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x0000000000005c5c // .asciz 8, '\\\\\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -__DoubleQuoteTab: - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0030303030755c5c // .asciz 8, '\\\\u0000\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0031303030755c5c // .asciz 8, '\\\\u0001\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0032303030755c5c // .asciz 8, '\\\\u0002\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0033303030755c5c // .asciz 8, '\\\\u0003\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0034303030755c5c // .asciz 8, '\\\\u0004\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0035303030755c5c // .asciz 8, '\\\\u0005\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0036303030755c5c // .asciz 8, '\\\\u0006\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0037303030755c5c // .asciz 8, '\\\\u0007\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0038303030755c5c // .asciz 8, '\\\\u0008\x00' - QUAD $0x0000000000000003 // .quad 3 - QUAD $0x0000000000745c5c // .asciz 8, '\\\\t\x00\x00\x00\x00\x00' - QUAD $0x0000000000000003 // .quad 3 - QUAD $0x00000000006e5c5c // .asciz 8, '\\\\n\x00\x00\x00\x00\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0062303030755c5c // .asciz 8, '\\\\u000b\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0063303030755c5c // .asciz 8, '\\\\u000c\x00' - QUAD $0x0000000000000003 // .quad 3 - QUAD $0x0000000000725c5c // .asciz 8, '\\\\r\x00\x00\x00\x00\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0065303030755c5c // .asciz 8, '\\\\u000e\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0066303030755c5c // .asciz 8, '\\\\u000f\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0030313030755c5c // .asciz 8, '\\\\u0010\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0031313030755c5c // .asciz 8, '\\\\u0011\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0032313030755c5c // .asciz 8, '\\\\u0012\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0033313030755c5c // .asciz 8, '\\\\u0013\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0034313030755c5c // .asciz 8, '\\\\u0014\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0035313030755c5c // .asciz 8, '\\\\u0015\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0036313030755c5c // .asciz 8, '\\\\u0016\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0037313030755c5c // .asciz 8, '\\\\u0017\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0038313030755c5c // .asciz 8, '\\\\u0018\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0039313030755c5c // .asciz 8, '\\\\u0019\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0061313030755c5c // .asciz 8, '\\\\u001a\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0062313030755c5c // .asciz 8, '\\\\u001b\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0063313030755c5c // .asciz 8, '\\\\u001c\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0064313030755c5c // .asciz 8, '\\\\u001d\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0065313030755c5c // .asciz 8, '\\\\u001e\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0066313030755c5c // .asciz 8, '\\\\u001f\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000004 // .quad 4 - QUAD $0x00000000225c5c5c // .asciz 8, '\\\\\\"\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000004 // .quad 4 - QUAD $0x000000005c5c5c5c // .asciz 8, '\\\\\\\\\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -__EscTab: - QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .ascii 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' - QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .ascii 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' - QUAD $0x0000000000010000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; LONG $0x00000000; BYTE $0x01 // .ascii 13, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - WORD $0x0000; BYTE $0x00 // .space 3, '\x00\x00\x00' - - // .p2align 4, 0x00 -__UnquoteTab: - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000220000; QUAD $0x2f00000000000000 // .ascii 16, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000005c00000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00' - QUAD $0x000c000000080000; QUAD $0x000a000000000000 // .ascii 16, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00' - LONG $0x000d0000; WORD $0xff09 // .ascii 6, '\x00\x00\r\x00\t\xff' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; WORD $0x0000 // .space 10, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -__HtmlQuoteTab: - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000036323030755c // .asciz 8, '\\u0026\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000063333030755c // .asciz 8, '\\u003c\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000065333030755c // .asciz 8, '\\u003e\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000038323032755c // .asciz 8, '\\u2028\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000039323032755c // .asciz 8, '\\u2029\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -_LSHIFT_TAB: - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000 // .space 8, '\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000001 // .long 1 - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000001 // .long 1 - QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000001 // .long 1 - QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000002 // .long 2 - QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000002 // .long 2 - QUAD $0x0000000035323133; QUAD $0x0000000000000000 // .asciz 16, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000002 // .long 2 - QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000003 // .long 3 - QUAD $0x0000003532313837; QUAD $0x0000000000000000 // .asciz 16, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000003 // .long 3 - QUAD $0x0000353236303933; QUAD $0x0000000000000000 // .asciz 16, '390625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000003 // .long 3 - QUAD $0x0035323133353931; QUAD $0x0000000000000000 // .asciz 16, '1953125\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000004 // .long 4 - QUAD $0x0035323635363739; QUAD $0x0000000000000000 // .asciz 16, '9765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000004 // .long 4 - QUAD $0x3532313832383834; QUAD $0x0000000000000000 // .asciz 16, '48828125\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000004 // .long 4 - QUAD $0x3236303431343432; QUAD $0x0000000000000035 // .asciz 16, '244140625\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000004 // .long 4 - QUAD $0x3133303730323231; QUAD $0x0000000000003532 // .asciz 16, '1220703125\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000005 // .long 5 - QUAD $0x3635313533303136; QUAD $0x0000000000003532 // .asciz 16, '6103515625\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000005 // .long 5 - QUAD $0x3837353731353033; QUAD $0x0000000000353231 // .asciz 16, '30517578125\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000005 // .long 5 - QUAD $0x3938373835323531; QUAD $0x0000000035323630 // .asciz 16, '152587890625\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000006 // .long 6 - QUAD $0x3534393339323637; QUAD $0x0000000035323133 // .asciz 16, '762939453125\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000006 // .long 6 - QUAD $0x3237393634313833; QUAD $0x0000003532363536 // .asciz 16, '3814697265625\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000006 // .long 6 - QUAD $0x3638343337303931; QUAD $0x0000353231383233 // .asciz 16, '19073486328125\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000007 // .long 7 - QUAD $0x3133343736333539; QUAD $0x0000353236303436 // .asciz 16, '95367431640625\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000007 // .long 7 - QUAD $0x3531373338363734; QUAD $0x0035323133303238 // .asciz 16, '476837158203125\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000007 // .long 7 - QUAD $0x3735383134383332; QUAD $0x3532363531303139 // .asciz 16, '2384185791015625' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000007 // .long 7 - QUAD $0x3832393032393131; QUAD $0x3231383730353539 // .asciz 16, '1192092895507812' - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000008 // .long 8 - QUAD $0x3434363430363935; QUAD $0x3236303933353737 // .asciz 16, '5960464477539062' - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000008 // .long 8 - QUAD $0x3232333230383932; QUAD $0x3133353936373833 // .asciz 16, '2980232238769531' - QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000008 // .long 8 - QUAD $0x3136313130393431; QUAD $0x3536373438333931 // .asciz 16, '1490116119384765' - QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000009 // .long 9 - QUAD $0x3530383530353437; QUAD $0x3832383332393639 // .asciz 16, '7450580596923828' - QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000009 // .long 9 - QUAD $0x3230393235323733; QUAD $0x3431393136343839 // .asciz 16, '3725290298461914' - QUAD $0x0000000035323630; QUAD $0x0000000000000000 // .asciz 16, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000009 // .long 9 - QUAD $0x3135343632363831; QUAD $0x3735393033323934 // .asciz 16, '1862645149230957' - QUAD $0x0000003532313330; QUAD $0x0000000000000000 // .asciz 16, '03125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000a // .long 10 - QUAD $0x3735323233313339; QUAD $0x3538373435313634 // .asciz 16, '9313225746154785' - QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000a // .long 10 - QUAD $0x3832313636353634; QUAD $0x3239333737303337 // .asciz 16, '4656612873077392' - QUAD $0x0000353231383735; QUAD $0x0000000000000000 // .asciz 16, '578125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000a // .long 10 - QUAD $0x3436303338323332; QUAD $0x3639363833353633 // .asciz 16, '2328306436538696' - QUAD $0x0035323630393832; QUAD $0x0000000000000000 // .asciz 16, '2890625\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000a // .long 10 - QUAD $0x3233353134363131; QUAD $0x3834333936323831 // .asciz 16, '1164153218269348' - QUAD $0x3532313335343431; QUAD $0x0000000000000000 // .asciz 16, '14453125\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000b // .long 11 - QUAD $0x3036363730323835; QUAD $0x3034373634333139 // .asciz 16, '5820766091346740' - QUAD $0x3532363536323237; QUAD $0x0000000000000000 // .asciz 16, '72265625\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000b // .long 11 - QUAD $0x3033383330313932; QUAD $0x3037333337363534 // .asciz 16, '2910383045673370' - QUAD $0x3231383233313633; QUAD $0x0000000000000035 // .asciz 16, '361328125\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000b // .long 11 - QUAD $0x3531393135353431; QUAD $0x3538363633383232 // .asciz 16, '1455191522836685' - QUAD $0x3630343636303831; QUAD $0x0000000000003532 // .asciz 16, '1806640625\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000c // .long 12 - QUAD $0x3637353935373237; QUAD $0x3532343338313431 // .asciz 16, '7275957614183425' - QUAD $0x3133303233333039; QUAD $0x0000000000003532 // .asciz 16, '9033203125\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000c // .long 12 - QUAD $0x3838373937333633; QUAD $0x3231373139303730 // .asciz 16, '3637978807091712' - QUAD $0x3531303636313539; QUAD $0x0000000000353236 // .asciz 16, '95166015625\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000c // .long 12 - QUAD $0x3439383938313831; QUAD $0x3635383534353330 // .asciz 16, '1818989403545856' - QUAD $0x3730303338353734; QUAD $0x0000000035323138 // .asciz 16, '475830078125\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000d // .long 13 - QUAD $0x3037343934393039; QUAD $0x3238323932373731 // .asciz 16, '9094947017729282' - QUAD $0x3933303531393733; QUAD $0x0000000035323630 // .asciz 16, '379150390625\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000d // .long 13 - QUAD $0x3533373437343534; QUAD $0x3134363436383830 // .asciz 16, '4547473508864641' - QUAD $0x3931353735393831; QUAD $0x0000003532313335 // .asciz 16, '1895751953125\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000d // .long 13 - QUAD $0x3736333733373232; QUAD $0x3032333233343435 // .asciz 16, '2273736754432320' - QUAD $0x3935373837343935; QUAD $0x0000353236353637 // .asciz 16, '59478759765625\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000d // .long 13 - QUAD $0x3338363836333131; QUAD $0x3036313631323737 // .asciz 16, '1136868377216160' - QUAD $0x3937333933373932; QUAD $0x0035323138323838 // .asciz 16, '297393798828125\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000e // .long 14 - QUAD $0x3831343334383635; QUAD $0x3130383038303638 // .asciz 16, '5684341886080801' - QUAD $0x3939383639363834; QUAD $0x0035323630343134 // .asciz 16, '486968994140625\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000e // .long 14 - QUAD $0x3930373132343832; QUAD $0x3030343034303334 // .asciz 16, '2842170943040400' - QUAD $0x3934343834333437; QUAD $0x3532313330373037 // .asciz 16, '7434844970703125' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000e // .long 14 - QUAD $0x3435383031323431; QUAD $0x3030323032353137 // .asciz 16, '1421085471520200' - QUAD $0x3432323437313733; QUAD $0x3236353135333538 // .asciz 16, '3717422485351562' - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000f // .long 15 - QUAD $0x3337323435303137; QUAD $0x3130303130363735 // .asciz 16, '7105427357601001' - QUAD $0x3432313137383538; QUAD $0x3231383735373632 // .asciz 16, '8587112426757812' - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000f // .long 15 - QUAD $0x3633313732353533; QUAD $0x3030353030383837 // .asciz 16, '3552713678800500' - QUAD $0x3236353533393239; QUAD $0x3630393837333331 // .asciz 16, '9293556213378906' - QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000f // .long 15 - QUAD $0x3836353336373731; QUAD $0x3035323030343933 // .asciz 16, '1776356839400250' - QUAD $0x3138373736343634; QUAD $0x3335343938363630 // .asciz 16, '4646778106689453' - QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000010 // .long 16 - QUAD $0x3134383731383838; QUAD $0x3235323130303739 // .asciz 16, '8881784197001252' - QUAD $0x3530393833333233; QUAD $0x3536323734343333 // .asciz 16, '3233890533447265' - QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000010 // .long 16 - QUAD $0x3032393830343434; QUAD $0x3632363030353839 // .asciz 16, '4440892098500626' - QUAD $0x3235343936313631; QUAD $0x3233363332373636 // .asciz 16, '1616945266723632' - QUAD $0x0000000035323138; QUAD $0x0000000000000000 // .asciz 16, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000010 // .long 16 - QUAD $0x3036343430323232; QUAD $0x3331333035323934 // .asciz 16, '2220446049250313' - QUAD $0x3632373438303830; QUAD $0x3631383136333333 // .asciz 16, '0808472633361816' - QUAD $0x0000003532363034; QUAD $0x0000000000000000 // .asciz 16, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000010 // .long 16 - QUAD $0x3033323230313131; QUAD $0x3635313532363432 // .asciz 16, '1110223024625156' - QUAD $0x3336333234303435; QUAD $0x3830393038363631 // .asciz 16, '5404236316680908' - QUAD $0x0000353231333032; QUAD $0x0000000000000000 // .asciz 16, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000011 // .long 17 - QUAD $0x3135313131353535; QUAD $0x3238373532313332 // .asciz 16, '5551115123125782' - QUAD $0x3531383131323037; QUAD $0x3134353430343338 // .asciz 16, '7021181583404541' - QUAD $0x0000353236353130; QUAD $0x0000000000000000 // .asciz 16, '015625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000011 // .long 17 - QUAD $0x3537353535373732; QUAD $0x3139383236353136 // .asciz 16, '2775557561562891' - QUAD $0x3730393530313533; QUAD $0x3037323230373139 // .asciz 16, '3510590791702270' - QUAD $0x0035323138373035; QUAD $0x0000000000000000 // .asciz 16, '5078125\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000011 // .long 17 - QUAD $0x3738373737383331; QUAD $0x3534343138373038 // .asciz 16, '1387778780781445' - QUAD $0x3335393235353736; QUAD $0x3533313135383539 // .asciz 16, '6755295395851135' - QUAD $0x3532363039333532; QUAD $0x0000000000000000 // .asciz 16, '25390625\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000012 // .long 18 - QUAD $0x3933393838333936; QUAD $0x3832323730393330 // .asciz 16, '6938893903907228' - QUAD $0x3936373436373733; QUAD $0x3637363535323937 // .asciz 16, '3776476979255676' - QUAD $0x3532313335393632; QUAD $0x0000000000000000 // .asciz 16, '26953125\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000012 // .long 18 - QUAD $0x3936343439363433; QUAD $0x3431363335393135 // .asciz 16, '3469446951953614' - QUAD $0x3438333238383831; QUAD $0x3833383732363938 // .asciz 16, '1888238489627838' - QUAD $0x3236353637343331; QUAD $0x0000000000000035 // .asciz 16, '134765625\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000012 // .long 18 - QUAD $0x3433323734333731; QUAD $0x3730383637393537 // .asciz 16, '1734723475976807' - QUAD $0x3239313134343930; QUAD $0x3931393331383434 // .asciz 16, '0944119244813919' - QUAD $0x3138323833373630; QUAD $0x0000000000003532 // .asciz 16, '0673828125\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000013 // .long 19 - QUAD $0x3337313633373638; QUAD $0x3533303438383937 // .asciz 16, '8673617379884035' - QUAD $0x3236393530323734; QUAD $0x3539353936303432 // .asciz 16, '4720596224069595' - QUAD $0x3630343139363333; QUAD $0x0000000000003532 // .asciz 16, '3369140625\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -_P10_TAB: - QUAD $0x3ff0000000000000 // .quad 0x3ff0000000000000 - QUAD $0x4024000000000000 // .quad 0x4024000000000000 - QUAD $0x4059000000000000 // .quad 0x4059000000000000 - QUAD $0x408f400000000000 // .quad 0x408f400000000000 - QUAD $0x40c3880000000000 // .quad 0x40c3880000000000 - QUAD $0x40f86a0000000000 // .quad 0x40f86a0000000000 - QUAD $0x412e848000000000 // .quad 0x412e848000000000 - QUAD $0x416312d000000000 // .quad 0x416312d000000000 - QUAD $0x4197d78400000000 // .quad 0x4197d78400000000 - QUAD $0x41cdcd6500000000 // .quad 0x41cdcd6500000000 - QUAD $0x4202a05f20000000 // .quad 0x4202a05f20000000 - QUAD $0x42374876e8000000 // .quad 0x42374876e8000000 - QUAD $0x426d1a94a2000000 // .quad 0x426d1a94a2000000 - QUAD $0x42a2309ce5400000 // .quad 0x42a2309ce5400000 - QUAD $0x42d6bcc41e900000 // .quad 0x42d6bcc41e900000 - QUAD $0x430c6bf526340000 // .quad 0x430c6bf526340000 - QUAD $0x4341c37937e08000 // .quad 0x4341c37937e08000 - QUAD $0x4376345785d8a000 // .quad 0x4376345785d8a000 - QUAD $0x43abc16d674ec800 // .quad 0x43abc16d674ec800 - QUAD $0x43e158e460913d00 // .quad 0x43e158e460913d00 - QUAD $0x4415af1d78b58c40 // .quad 0x4415af1d78b58c40 - QUAD $0x444b1ae4d6e2ef50 // .quad 0x444b1ae4d6e2ef50 - QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592 - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -_LB_2202da27: // _pow10_ceil_sig_f32.g - QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939 - QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270 - QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433 - QUAD $0xfd87b5f28300ca0e // .quad -177973607073265138 - QUAD $0x9e74d1b791e07e49 // .quad -7028762532061872567 - QUAD $0xc612062576589ddb // .quad -4174267146649952805 - QUAD $0xf79687aed3eec552 // .quad -606147914885053102 - QUAD $0x9abe14cd44753b53 // .quad -7296371474444240045 - QUAD $0xc16d9a0095928a28 // .quad -4508778324627912152 - QUAD $0xf1c90080baf72cb2 // .quad -1024286887357502286 - QUAD $0x971da05074da7bef // .quad -7557708332239520785 - QUAD $0xbce5086492111aeb // .quad -4835449396872013077 - QUAD $0xec1e4a7db69561a6 // .quad -1432625727662628442 - QUAD $0x9392ee8e921d5d08 // .quad -7812920107430224632 - QUAD $0xb877aa3236a4b44a // .quad -5154464115860392886 - QUAD $0xe69594bec44de15c // .quad -1831394126398103204 - QUAD $0x901d7cf73ab0acda // .quad -8062150356639896358 - QUAD $0xb424dc35095cd810 // .quad -5466001927372482544 - QUAD $0xe12e13424bb40e14 // .quad -2220816390788215276 - QUAD $0x8cbccc096f5088cc // .quad -8305539271883716404 - QUAD $0xafebff0bcb24aaff // .quad -5770238071427257601 - QUAD $0xdbe6fecebdedd5bf // .quad -2601111570856684097 - QUAD $0x89705f4136b4a598 // .quad -8543223759426509416 - QUAD $0xabcc77118461cefd // .quad -6067343680855748867 - QUAD $0xd6bf94d5e57a42bd // .quad -2972493582642298179 - QUAD $0x8637bd05af6c69b6 // .quad -8775337516792518218 - QUAD $0xa7c5ac471b478424 // .quad -6357485877563259868 - QUAD $0xd1b71758e219652c // .quad -3335171328526686932 - QUAD $0x83126e978d4fdf3c // .quad -9002011107970261188 - QUAD $0xa3d70a3d70a3d70b // .quad -6640827866535438581 - QUAD $0xcccccccccccccccd // .quad -3689348814741910323 - QUAD $0x8000000000000000 // .quad -9223372036854775808 - QUAD $0xa000000000000000 // .quad -6917529027641081856 - QUAD $0xc800000000000000 // .quad -4035225266123964416 - QUAD $0xfa00000000000000 // .quad -432345564227567616 - QUAD $0x9c40000000000000 // .quad -7187745005283311616 - QUAD $0xc350000000000000 // .quad -4372995238176751616 - QUAD $0xf424000000000000 // .quad -854558029293551616 - QUAD $0x9896800000000000 // .quad -7451627795949551616 - QUAD $0xbebc200000000000 // .quad -4702848726509551616 - QUAD $0xee6b280000000000 // .quad -1266874889709551616 - QUAD $0x9502f90000000000 // .quad -7709325833709551616 - QUAD $0xba43b74000000000 // .quad -5024971273709551616 - QUAD $0xe8d4a51000000000 // .quad -1669528073709551616 - QUAD $0x9184e72a00000000 // .quad -7960984073709551616 - QUAD $0xb5e620f480000000 // .quad -5339544073709551616 - QUAD $0xe35fa931a0000000 // .quad -2062744073709551616 - QUAD $0x8e1bc9bf04000000 // .quad -8206744073709551616 - QUAD $0xb1a2bc2ec5000000 // .quad -5646744073709551616 - QUAD $0xde0b6b3a76400000 // .quad -2446744073709551616 - QUAD $0x8ac7230489e80000 // .quad -8446744073709551616 - QUAD $0xad78ebc5ac620000 // .quad -5946744073709551616 - QUAD $0xd8d726b7177a8000 // .quad -2821744073709551616 - QUAD $0x878678326eac9000 // .quad -8681119073709551616 - QUAD $0xa968163f0a57b400 // .quad -6239712823709551616 - QUAD $0xd3c21bcecceda100 // .quad -3187955011209551616 - QUAD $0x84595161401484a0 // .quad -8910000909647051616 - QUAD $0xa56fa5b99019a5c8 // .quad -6525815118631426616 - QUAD $0xcecb8f27f4200f3a // .quad -3545582879861895366 - QUAD $0x813f3978f8940985 // .quad -9133518327554766459 - QUAD $0xa18f07d736b90be6 // .quad -6805211891016070170 - QUAD $0xc9f2c9cd04674edf // .quad -3894828845342699809 - QUAD $0xfc6f7c4045812297 // .quad -256850038250986857 - QUAD $0x9dc5ada82b70b59e // .quad -7078060301547948642 - QUAD $0xc5371912364ce306 // .quad -4235889358507547898 - QUAD $0xf684df56c3e01bc7 // .quad -683175679707046969 - QUAD $0x9a130b963a6c115d // .quad -7344513827457986211 - QUAD $0xc097ce7bc90715b4 // .quad -4568956265895094860 - QUAD $0xf0bdc21abb48db21 // .quad -1099509313941480671 - QUAD $0x96769950b50d88f5 // .quad -7604722348854507275 - QUAD $0xbc143fa4e250eb32 // .quad -4894216917640746190 - QUAD $0xeb194f8e1ae525fe // .quad -1506085128623544834 - QUAD $0x92efd1b8d0cf37bf // .quad -7858832233030797377 - QUAD $0xb7abc627050305ae // .quad -5211854272861108818 - QUAD $0xe596b7b0c643c71a // .quad -1903131822648998118 - QUAD $0x8f7e32ce7bea5c70 // .quad -8106986416796705680 - QUAD $0xb35dbf821ae4f38c // .quad -5522047002568494196 - -TEXT ·__f32toa(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -48(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_f32toa: - MOVQ out+0(FP), DI - MOVSD val+8(FP), X0 - CALL ·__native_entry__+33888(SB) // _f32toa - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__f64toa(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -80(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_f64toa: - MOVQ out+0(FP), DI - MOVSD val+8(FP), X0 - CALL ·__native_entry__+288(SB) // _f64toa - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__get_by_path(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -296(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_get_by_path: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ path+16(FP), DX - MOVQ m+24(FP), CX - CALL ·__native_entry__+28336(SB) // _get_by_path - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__html_escape(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -72(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_html_escape: - MOVQ sp+0(FP), DI - MOVQ nb+8(FP), SI - MOVQ dp+16(FP), DX - MOVQ dn+24(FP), CX - CALL ·__native_entry__+10496(SB) // _html_escape - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__i64toa(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -16(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_i64toa: - MOVQ out+0(FP), DI - MOVQ val+8(FP), SI - CALL ·__native_entry__+3584(SB) // _i64toa - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__lspace(SB), NOSPLIT | NOFRAME, $0 - 32 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -8(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_lspace: - MOVQ sp+0(FP), DI - MOVQ nb+8(FP), SI - MOVQ off+16(FP), DX - CALL ·__native_entry__+64(SB) // _lspace - MOVQ AX, ret+24(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__quote(SB), NOSPLIT | NOFRAME, $0 - 48 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -56(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_quote: - MOVQ sp+0(FP), DI - MOVQ nb+8(FP), SI - MOVQ dp+16(FP), DX - MOVQ dn+24(FP), CX - MOVQ flags+32(FP), R8 - CALL ·__native_entry__+5072(SB) // _quote - MOVQ AX, ret+40(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_array(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_array: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - MOVQ flags+24(FP), CX - CALL ·__native_entry__+20688(SB) // _skip_array - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_number(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -72(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_number: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - CALL ·__native_entry__+24912(SB) // _skip_number - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_object(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_object: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - MOVQ flags+24(FP), CX - CALL ·__native_entry__+22736(SB) // _skip_object - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_one(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_one: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - MOVQ flags+24(FP), CX - CALL ·__native_entry__+25072(SB) // _skip_one - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_one_fast(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -208(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_one_fast: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - CALL ·__native_entry__+25488(SB) // _skip_one_fast - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__u64toa(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -8(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_u64toa: - MOVQ out+0(FP), DI - MOVQ val+8(FP), SI - CALL ·__native_entry__+3696(SB) // _u64toa - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__unquote(SB), NOSPLIT | NOFRAME, $0 - 48 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -72(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_unquote: - MOVQ sp+0(FP), DI - MOVQ nb+8(FP), SI - MOVQ dp+16(FP), DX - MOVQ ep+24(FP), CX - MOVQ flags+32(FP), R8 - CALL ·__native_entry__+7888(SB) // _unquote - MOVQ AX, ret+40(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__validate_one(SB), NOSPLIT | NOFRAME, $0 - 32 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_validate_one: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - CALL ·__native_entry__+25136(SB) // _validate_one - MOVQ AX, ret+24(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__validate_utf8(SB), NOSPLIT | NOFRAME, $0 - 32 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -48(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_validate_utf8: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - CALL ·__native_entry__+30320(SB) // _validate_utf8 - MOVQ AX, ret+24(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__validate_utf8_fast(SB), NOSPLIT | NOFRAME, $0 - 16 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -176(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_validate_utf8_fast: - MOVQ s+0(FP), DI - CALL ·__native_entry__+31280(SB) // _validate_utf8_fast - MOVQ AX, ret+8(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__value(SB), NOSPLIT | NOFRAME, $0 - 48 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -328(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_value: - MOVQ s+0(FP), DI - MOVQ n+8(FP), SI - MOVQ p+16(FP), DX - MOVQ v+24(FP), CX - MOVQ flags+32(FP), R8 - CALL ·__native_entry__+15024(SB) // _value - MOVQ AX, ret+40(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__vnumber(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -240(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_vnumber: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ v+16(FP), DX - LEAQ ·__native_entry__+18352(SB), AX // _vnumber - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__vsigned(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -16(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_vsigned: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ v+16(FP), DX - LEAQ ·__native_entry__+19968(SB), AX // _vsigned - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__vstring(SB), NOSPLIT | NOFRAME, $0 - 32 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -112(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_vstring: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ v+16(FP), DX - MOVQ flags+24(FP), CX - LEAQ ·__native_entry__+17024(SB), AX // _vstring - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__vunsigned(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -16(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_vunsigned: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ v+16(FP), DX - LEAQ ·__native_entry__+20336(SB), AX // _vunsigned - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/native_export.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/native_export.go new file mode 100644 index 0000000..e3d882b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/native_export.go @@ -0,0 +1,47 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + + +func Use() { + loader.WrapGoC(_text_f64toa, _cfunc_f64toa, []loader.GoC{{"_f64toa", &S_f64toa, &F_f64toa}}, "avx2", "avx2/f64toa.c") + loader.WrapGoC(_text_f32toa, _cfunc_f32toa, []loader.GoC{{"_f32toa", &S_f32toa, &F_f32toa}}, "avx2", "avx2/f32toa.c") + loader.WrapGoC(_text_get_by_path, _cfunc_get_by_path, []loader.GoC{{"_get_by_path", &S_get_by_path, &F_get_by_path}}, "avx2", "avx2/get_by_path.c") + loader.WrapGoC(_text_html_escape, _cfunc_html_escape, []loader.GoC{{"_html_escape", &S_html_escape, &F_html_escape}}, "avx2", "avx2/html_escape.c") + loader.WrapGoC(_text_i64toa, _cfunc_i64toa, []loader.GoC{{"_i64toa", &S_i64toa, &F_i64toa}}, "avx2", "avx2/i64toa.c") + loader.WrapGoC(_text_lspace, _cfunc_lspace, []loader.GoC{{"_lspace", &S_lspace, &F_lspace}}, "avx2", "avx2/lspace.c") + loader.WrapGoC(_text_quote, _cfunc_quote, []loader.GoC{{"_quote", &S_quote, &F_quote}}, "avx2", "avx2/quote.c") + loader.WrapGoC(_text_skip_array, _cfunc_skip_array, []loader.GoC{{"_skip_array", &S_skip_array, &F_skip_array}}, "avx2", "avx2/skip_array.c") + loader.WrapGoC(_text_skip_number, _cfunc_skip_number, []loader.GoC{{"_skip_number", &S_skip_number, &F_skip_number}}, "avx2", "avx2/skip_number.c") + loader.WrapGoC(_text_skip_one, _cfunc_skip_one, []loader.GoC{{"_skip_one", &S_skip_one, &F_skip_one}}, "avx2", "avx2/skip_one.c") + loader.WrapGoC(_text_skip_object, _cfunc_skip_object, []loader.GoC{{"_skip_object", &S_skip_object, &F_skip_object}}, "avx2", "avx2/skip_object.c") + loader.WrapGoC(_text_skip_one_fast, _cfunc_skip_one_fast, []loader.GoC{{"_skip_one_fast", &S_skip_one_fast, &F_skip_one_fast}}, "avx2", "avx2/skip_one_fast.c") + loader.WrapGoC(_text_u64toa, _cfunc_u64toa, []loader.GoC{{"_u64toa", &S_u64toa, &F_u64toa}}, "avx2", "avx2/u64toa.c") + loader.WrapGoC(_text_unquote, _cfunc_unquote, []loader.GoC{{"_unquote", &S_unquote, &F_unquote}}, "avx2", "avx2/unquote.c") + loader.WrapGoC(_text_validate_one, _cfunc_validate_one, []loader.GoC{{"_validate_one", &S_validate_one, &F_validate_one}}, "avx2", "avx2/validate_one.c") + loader.WrapGoC(_text_validate_utf8, _cfunc_validate_utf8, []loader.GoC{{"_validate_utf8", &S_validate_utf8, &F_validate_utf8}}, "avx2", "avx2/validate_utf8.c") + loader.WrapGoC(_text_validate_utf8_fast, _cfunc_validate_utf8_fast, []loader.GoC{{"_validate_utf8_fast", &S_validate_utf8_fast, &F_validate_utf8_fast}}, "avx2", "avx2/validate_utf8_fast.c") + loader.WrapGoC(_text_vnumber, _cfunc_vnumber, []loader.GoC{{"_vnumber", &S_vnumber, &F_vnumber}}, "avx2", "avx2/vnumber.c") + loader.WrapGoC(_text_vsigned, _cfunc_vsigned, []loader.GoC{{"_vsigned", &S_vsigned, &F_vsigned}}, "avx2", "avx2/vsigned.c") + loader.WrapGoC(_text_vunsigned, _cfunc_vunsigned, []loader.GoC{{"_vunsigned", &S_vunsigned, &F_vunsigned}}, "avx2", "avx2/vunsigned.c") + loader.WrapGoC(_text_vstring, _cfunc_vstring, []loader.GoC{{"_vstring", &S_vstring, &F_vstring}}, "avx2", "avx2/vstring.c") + loader.WrapGoC(_text_value, _cfunc_value, []loader.GoC{{"_value", &S_value, &F_value}}, "avx2", "avx2/value.c") +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/native_subr_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/native_subr_amd64.go deleted file mode 100644 index 10b3d60..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/avx2/native_subr_amd64.go +++ /dev/null @@ -1,109 +0,0 @@ -// +build !noasm !appengine -// Code generated by asm2asm, DO NOT EDIT. - -package avx2 - -//go:nosplit -//go:noescape -//goland:noinspection ALL -func __native_entry__() uintptr - -var ( - _subr__f32toa = __native_entry__() + 33888 - _subr__f64toa = __native_entry__() + 288 - _subr__get_by_path = __native_entry__() + 28336 - _subr__html_escape = __native_entry__() + 10496 - _subr__i64toa = __native_entry__() + 3584 - _subr__lspace = __native_entry__() + 64 - _subr__quote = __native_entry__() + 5072 - _subr__skip_array = __native_entry__() + 20688 - _subr__skip_number = __native_entry__() + 24912 - _subr__skip_object = __native_entry__() + 22736 - _subr__skip_one = __native_entry__() + 25072 - _subr__skip_one_fast = __native_entry__() + 25488 - _subr__u64toa = __native_entry__() + 3696 - _subr__unquote = __native_entry__() + 7888 - _subr__validate_one = __native_entry__() + 25136 - _subr__validate_utf8 = __native_entry__() + 30320 - _subr__validate_utf8_fast = __native_entry__() + 31280 - _subr__value = __native_entry__() + 15024 - _subr__vnumber = __native_entry__() + 18352 - _subr__vsigned = __native_entry__() + 19968 - _subr__vstring = __native_entry__() + 17024 - _subr__vunsigned = __native_entry__() + 20336 -) - -const ( - _stack__f32toa = 48 - _stack__f64toa = 80 - _stack__get_by_path = 296 - _stack__html_escape = 72 - _stack__i64toa = 16 - _stack__lspace = 8 - _stack__quote = 56 - _stack__skip_array = 128 - _stack__skip_number = 72 - _stack__skip_object = 128 - _stack__skip_one = 128 - _stack__skip_one_fast = 208 - _stack__u64toa = 8 - _stack__unquote = 72 - _stack__validate_one = 128 - _stack__validate_utf8 = 48 - _stack__validate_utf8_fast = 176 - _stack__value = 328 - _stack__vnumber = 240 - _stack__vsigned = 16 - _stack__vstring = 112 - _stack__vunsigned = 16 -) - -var ( - _ = _subr__f32toa - _ = _subr__f64toa - _ = _subr__get_by_path - _ = _subr__html_escape - _ = _subr__i64toa - _ = _subr__lspace - _ = _subr__quote - _ = _subr__skip_array - _ = _subr__skip_number - _ = _subr__skip_object - _ = _subr__skip_one - _ = _subr__skip_one_fast - _ = _subr__u64toa - _ = _subr__unquote - _ = _subr__validate_one - _ = _subr__validate_utf8 - _ = _subr__validate_utf8_fast - _ = _subr__value - _ = _subr__vnumber - _ = _subr__vsigned - _ = _subr__vstring - _ = _subr__vunsigned -) - -const ( - _ = _stack__f32toa - _ = _stack__f64toa - _ = _stack__get_by_path - _ = _stack__html_escape - _ = _stack__i64toa - _ = _stack__lspace - _ = _stack__quote - _ = _stack__skip_array - _ = _stack__skip_number - _ = _stack__skip_object - _ = _stack__skip_one - _ = _stack__skip_one_fast - _ = _stack__u64toa - _ = _stack__unquote - _ = _stack__validate_one - _ = _stack__validate_utf8 - _ = _stack__validate_utf8_fast - _ = _stack__value - _ = _stack__vnumber - _ = _stack__vsigned - _ = _stack__vstring - _ = _stack__vunsigned -) diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/quote.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/quote.go new file mode 100644 index 0000000..eba96c2 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/quote.go @@ -0,0 +1,35 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) +var F_quote func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer, flags uint64) (ret int) + +var S_quote uintptr + +//go:nosplit +func quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int) { + return F_quote(rt.NoEscape(sp), nb, rt.NoEscape(dp), rt.NoEscape(unsafe.Pointer(dn)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/quote_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/quote_subr.go new file mode 100644 index 0000000..f57232d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/quote_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__quote = 144 +) + +const ( + _stack__quote = 56 +) + +const ( + _size__quote = 2736 +) + +var ( + _pcsp__quote = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {2687, 56}, + {2691, 48}, + {2692, 40}, + {2694, 32}, + {2696, 24}, + {2698, 16}, + {2700, 8}, + {2704, 0}, + {2731, 56}, + } +) + +var _cfunc_quote = []loader.CFunc{ + {"_quote_entry", 0, _entry__quote, 0, nil}, + {"_quote", _entry__quote, _size__quote, _stack__quote, _pcsp__quote}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/quote_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/quote_text_amd64.go new file mode 100644 index 0000000..9e5d1eb --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/quote_text_amd64.go @@ -0,0 +1,1354 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_quote = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000010 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000020 LCPI0_1 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000020 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000030 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000040 LCPI0_2 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000040 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000050 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000060 .p2align 4, 0x00 + //0x00000060 LCPI0_3 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000060 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000070 LCPI0_4 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000070 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000080 LCPI0_5 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000080 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000090 .p2align 4, 0x90 + //0x00000090 _quote + 0x55, //0x00000090 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000091 movq %rsp, %rbp + 0x41, 0x57, //0x00000094 pushq %r15 + 0x41, 0x56, //0x00000096 pushq %r14 + 0x41, 0x55, //0x00000098 pushq %r13 + 0x41, 0x54, //0x0000009a pushq %r12 + 0x53, //0x0000009c pushq %rbx + 0x50, //0x0000009d pushq %rax + 0x49, 0x89, 0xcf, //0x0000009e movq %rcx, %r15 + 0x49, 0x89, 0xf6, //0x000000a1 movq %rsi, %r14 + 0x4c, 0x8b, 0x09, //0x000000a4 movq (%rcx), %r9 + 0x41, 0xf6, 0xc0, 0x01, //0x000000a7 testb $1, %r8b + 0x48, 0x8d, 0x05, 0x8e, 0x0a, 0x00, 0x00, //0x000000ab leaq $2702(%rip), %rax /* __SingleQuoteTab+0(%rip) */ + 0x4c, 0x8d, 0x05, 0x87, 0x1a, 0x00, 0x00, //0x000000b2 leaq $6791(%rip), %r8 /* __DoubleQuoteTab+0(%rip) */ + 0x4c, 0x0f, 0x44, 0xc0, //0x000000b9 cmoveq %rax, %r8 + 0x48, 0x8d, 0x04, 0xf5, 0x00, 0x00, 0x00, 0x00, //0x000000bd leaq (,%rsi,8), %rax + 0x49, 0x39, 0xc1, //0x000000c5 cmpq %rax, %r9 + 0x0f, 0x8d, 0xd8, 0x06, 0x00, 0x00, //0x000000c8 jge LBB0_86 + 0x49, 0x89, 0xd4, //0x000000ce movq %rdx, %r12 + 0x49, 0x89, 0xfb, //0x000000d1 movq %rdi, %r11 + 0x4d, 0x85, 0xf6, //0x000000d4 testq %r14, %r14 + 0x0f, 0x84, 0x12, 0x0a, 0x00, 0x00, //0x000000d7 je LBB0_118 + 0xc5, 0xfe, 0x6f, 0x25, 0x1b, 0xff, 0xff, 0xff, //0x000000dd vmovdqu $-229(%rip), %ymm4 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x33, 0xff, 0xff, 0xff, //0x000000e5 vmovdqu $-205(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x4b, 0xff, 0xff, 0xff, //0x000000ed vmovdqu $-181(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc4, 0x41, 0x3d, 0x76, 0xc0, //0x000000f5 vpcmpeqd %ymm8, %ymm8, %ymm8 + 0x49, 0x89, 0xfb, //0x000000fa movq %rdi, %r11 + 0x49, 0x89, 0xd4, //0x000000fd movq %rdx, %r12 + 0x48, 0x89, 0x55, 0xd0, //0x00000100 movq %rdx, $-48(%rbp) + //0x00000104 LBB0_3 + 0x49, 0x83, 0xfe, 0x1f, //0x00000104 cmpq $31, %r14 + 0x0f, 0x9f, 0xc1, //0x00000108 setg %cl + 0x4d, 0x89, 0xca, //0x0000010b movq %r9, %r10 + 0x4c, 0x89, 0xe6, //0x0000010e movq %r12, %rsi + 0x4c, 0x89, 0xf0, //0x00000111 movq %r14, %rax + 0x4d, 0x89, 0xdd, //0x00000114 movq %r11, %r13 + 0x49, 0x83, 0xf9, 0x20, //0x00000117 cmpq $32, %r9 + 0x0f, 0x8c, 0x8f, 0x00, 0x00, 0x00, //0x0000011b jl LBB0_9 + 0x49, 0x83, 0xfe, 0x20, //0x00000121 cmpq $32, %r14 + 0x0f, 0x8c, 0x85, 0x00, 0x00, 0x00, //0x00000125 jl LBB0_9 + 0x4d, 0x89, 0xdd, //0x0000012b movq %r11, %r13 + 0x4c, 0x89, 0xf0, //0x0000012e movq %r14, %rax + 0x4c, 0x89, 0xe6, //0x00000131 movq %r12, %rsi + 0x4c, 0x89, 0xcb, //0x00000134 movq %r9, %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000137 .p2align 4, 0x90 + //0x00000140 LBB0_6 + 0xc4, 0xc1, 0x7e, 0x6f, 0x45, 0x00, //0x00000140 vmovdqu (%r13), %ymm0 + 0xc5, 0xdd, 0x64, 0xc8, //0x00000146 vpcmpgtb %ymm0, %ymm4, %ymm1 + 0xc5, 0xfd, 0x74, 0xd5, //0x0000014a vpcmpeqb %ymm5, %ymm0, %ymm2 + 0xc5, 0xfd, 0x74, 0xde, //0x0000014e vpcmpeqb %ymm6, %ymm0, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x00000152 vpor %ymm2, %ymm3, %ymm2 + 0xc5, 0xfe, 0x7f, 0x06, //0x00000156 vmovdqu %ymm0, (%rsi) + 0xc4, 0xc1, 0x7d, 0x64, 0xc0, //0x0000015a vpcmpgtb %ymm8, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x0000015f vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0xed, 0xeb, 0xc0, //0x00000163 vpor %ymm0, %ymm2, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc8, //0x00000167 vpmovmskb %ymm0, %ecx + 0x85, 0xc9, //0x0000016b testl %ecx, %ecx + 0x0f, 0x85, 0xf7, 0x01, 0x00, 0x00, //0x0000016d jne LBB0_19 + 0x49, 0x83, 0xc5, 0x20, //0x00000173 addq $32, %r13 + 0x48, 0x83, 0xc6, 0x20, //0x00000177 addq $32, %rsi + 0x4c, 0x8d, 0x53, 0xe0, //0x0000017b leaq $-32(%rbx), %r10 + 0x48, 0x83, 0xf8, 0x3f, //0x0000017f cmpq $63, %rax + 0x0f, 0x9f, 0xc1, //0x00000183 setg %cl + 0x48, 0x83, 0xf8, 0x40, //0x00000186 cmpq $64, %rax + 0x48, 0x8d, 0x40, 0xe0, //0x0000018a leaq $-32(%rax), %rax + 0x0f, 0x8c, 0x1c, 0x00, 0x00, 0x00, //0x0000018e jl LBB0_9 + 0x48, 0x83, 0xfb, 0x3f, //0x00000194 cmpq $63, %rbx + 0x4c, 0x89, 0xd3, //0x00000198 movq %r10, %rbx + 0x0f, 0x8f, 0x9f, 0xff, 0xff, 0xff, //0x0000019b jg LBB0_6 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001a1 .p2align 4, 0x90 + //0x000001b0 LBB0_9 + 0x84, 0xc9, //0x000001b0 testb %cl, %cl + 0x0f, 0x84, 0x7e, 0x00, 0x00, 0x00, //0x000001b2 je LBB0_13 + 0xc4, 0xc1, 0x7e, 0x6f, 0x45, 0x00, //0x000001b8 vmovdqu (%r13), %ymm0 + 0xc5, 0xdd, 0x64, 0xc8, //0x000001be vpcmpgtb %ymm0, %ymm4, %ymm1 + 0xc5, 0xfd, 0x74, 0xd5, //0x000001c2 vpcmpeqb %ymm5, %ymm0, %ymm2 + 0xc5, 0xfd, 0x74, 0xde, //0x000001c6 vpcmpeqb %ymm6, %ymm0, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x000001ca vpor %ymm2, %ymm3, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc0, //0x000001ce vpcmpgtb %ymm8, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x000001d3 vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0xed, 0xeb, 0xc0, //0x000001d7 vpor %ymm0, %ymm2, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x000001db vpmovmskb %ymm0, %eax + 0x48, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000001df movabsq $4294967296, %rcx + 0x48, 0x09, 0xc8, //0x000001e9 orq %rcx, %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x000001ec bsfq %rax, %rcx + 0xc4, 0xc1, 0x7a, 0x6f, 0x45, 0x00, //0x000001f0 vmovdqu (%r13), %xmm0 + 0xc4, 0xe3, 0xf9, 0x16, 0xc0, 0x01, //0x000001f6 vpextrq $1, %xmm0, %rax + 0xc4, 0xe1, 0xf9, 0x7e, 0xc3, //0x000001fc vmovq %xmm0, %rbx + 0x4c, 0x39, 0xd1, //0x00000201 cmpq %r10, %rcx + 0x0f, 0x8e, 0x6f, 0x01, 0x00, 0x00, //0x00000204 jle LBB0_20 + 0x49, 0x83, 0xfa, 0x10, //0x0000020a cmpq $16, %r10 + 0x0f, 0x82, 0xa5, 0x01, 0x00, 0x00, //0x0000020e jb LBB0_23 + 0x48, 0x89, 0x1e, //0x00000214 movq %rbx, (%rsi) + 0x48, 0x89, 0x46, 0x08, //0x00000217 movq %rax, $8(%rsi) + 0x49, 0x8d, 0x4d, 0x10, //0x0000021b leaq $16(%r13), %rcx + 0x48, 0x83, 0xc6, 0x10, //0x0000021f addq $16, %rsi + 0x49, 0x8d, 0x42, 0xf0, //0x00000223 leaq $-16(%r10), %rax + 0x48, 0x83, 0xf8, 0x08, //0x00000227 cmpq $8, %rax + 0x0f, 0x83, 0x98, 0x01, 0x00, 0x00, //0x0000022b jae LBB0_24 + 0xe9, 0xa5, 0x01, 0x00, 0x00, //0x00000231 jmp LBB0_25 + //0x00000236 LBB0_13 + 0x4c, 0x89, 0xfa, //0x00000236 movq %r15, %rdx + 0xc5, 0xf8, 0x77, //0x00000239 vzeroupper + 0x48, 0x83, 0xf8, 0x0f, //0x0000023c cmpq $15, %rax + 0x41, 0x0f, 0x9f, 0xc7, //0x00000240 setg %r15b + 0x49, 0x83, 0xfa, 0x10, //0x00000244 cmpq $16, %r10 + 0x0f, 0x8c, 0xf6, 0x01, 0x00, 0x00, //0x00000248 jl LBB0_30 + 0x48, 0x83, 0xf8, 0x10, //0x0000024e cmpq $16, %rax + 0xc5, 0xfa, 0x6f, 0x3d, 0x06, 0xfe, 0xff, 0xff, //0x00000252 vmovdqu $-506(%rip), %xmm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0x0e, 0xfe, 0xff, 0xff, //0x0000025a vmovdqu $-498(%rip), %xmm9 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0x16, 0xfe, 0xff, 0xff, //0x00000262 vmovdqu $-490(%rip), %xmm10 /* LCPI0_5+0(%rip) */ + 0xc4, 0x41, 0x21, 0x76, 0xdb, //0x0000026a vpcmpeqd %xmm11, %xmm11, %xmm11 + 0x0f, 0x8c, 0x1a, 0x02, 0x00, 0x00, //0x0000026f jl LBB0_35 + 0xc5, 0xfe, 0x6f, 0x25, 0x83, 0xfd, 0xff, 0xff, //0x00000275 vmovdqu $-637(%rip), %ymm4 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x9b, 0xfd, 0xff, 0xff, //0x0000027d vmovdqu $-613(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xb3, 0xfd, 0xff, 0xff, //0x00000285 vmovdqu $-589(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc4, 0x41, 0x3d, 0x76, 0xc0, //0x0000028d vpcmpeqd %ymm8, %ymm8, %ymm8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000292 .p2align 4, 0x90 + //0x000002a0 LBB0_16 + 0xc4, 0xc1, 0x7a, 0x6f, 0x45, 0x00, //0x000002a0 vmovdqu (%r13), %xmm0 + 0xc5, 0xc1, 0x64, 0xc8, //0x000002a6 vpcmpgtb %xmm0, %xmm7, %xmm1 + 0xc5, 0xb1, 0x74, 0xd0, //0x000002aa vpcmpeqb %xmm0, %xmm9, %xmm2 + 0xc5, 0xa9, 0x74, 0xd8, //0x000002ae vpcmpeqb %xmm0, %xmm10, %xmm3 + 0xc5, 0xe1, 0xeb, 0xd2, //0x000002b2 vpor %xmm2, %xmm3, %xmm2 + 0xc5, 0xfa, 0x7f, 0x06, //0x000002b6 vmovdqu %xmm0, (%rsi) + 0xc4, 0xc1, 0x79, 0x64, 0xc3, //0x000002ba vpcmpgtb %xmm11, %xmm0, %xmm0 + 0xc5, 0xf9, 0xdb, 0xc1, //0x000002bf vpand %xmm1, %xmm0, %xmm0 + 0xc5, 0xe9, 0xeb, 0xc0, //0x000002c3 vpor %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc8, //0x000002c7 vpmovmskb %xmm0, %ecx + 0x66, 0x85, 0xc9, //0x000002cb testw %cx, %cx + 0x0f, 0x85, 0xd0, 0x00, 0x00, 0x00, //0x000002ce jne LBB0_22 + 0x49, 0x83, 0xc5, 0x10, //0x000002d4 addq $16, %r13 + 0x48, 0x83, 0xc6, 0x10, //0x000002d8 addq $16, %rsi + 0x49, 0x8d, 0x4a, 0xf0, //0x000002dc leaq $-16(%r10), %rcx + 0x48, 0x83, 0xf8, 0x1f, //0x000002e0 cmpq $31, %rax + 0x41, 0x0f, 0x9f, 0xc7, //0x000002e4 setg %r15b + 0x48, 0x83, 0xf8, 0x20, //0x000002e8 cmpq $32, %rax + 0x48, 0x8d, 0x40, 0xf0, //0x000002ec leaq $-16(%rax), %rax + 0x0f, 0x8c, 0x0d, 0x00, 0x00, 0x00, //0x000002f0 jl LBB0_31 + 0x49, 0x83, 0xfa, 0x1f, //0x000002f6 cmpq $31, %r10 + 0x49, 0x89, 0xca, //0x000002fa movq %rcx, %r10 + 0x0f, 0x8f, 0x9d, 0xff, 0xff, 0xff, //0x000002fd jg LBB0_16 + //0x00000303 LBB0_31 + 0x45, 0x84, 0xff, //0x00000303 testb %r15b, %r15b + 0x0f, 0x84, 0xac, 0x01, 0x00, 0x00, //0x00000306 je LBB0_36 + //0x0000030c LBB0_32 + 0xc4, 0xc1, 0x7a, 0x6f, 0x45, 0x00, //0x0000030c vmovdqu (%r13), %xmm0 + 0xc5, 0xc1, 0x64, 0xc8, //0x00000312 vpcmpgtb %xmm0, %xmm7, %xmm1 + 0xc5, 0xb1, 0x74, 0xd0, //0x00000316 vpcmpeqb %xmm0, %xmm9, %xmm2 + 0xc5, 0xa9, 0x74, 0xd8, //0x0000031a vpcmpeqb %xmm0, %xmm10, %xmm3 + 0xc5, 0xe1, 0xeb, 0xd2, //0x0000031e vpor %xmm2, %xmm3, %xmm2 + 0xc4, 0xc1, 0x79, 0x64, 0xdb, //0x00000322 vpcmpgtb %xmm11, %xmm0, %xmm3 + 0xc5, 0xe1, 0xdb, 0xc9, //0x00000327 vpand %xmm1, %xmm3, %xmm1 + 0xc5, 0xe9, 0xeb, 0xc9, //0x0000032b vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xf9, 0xd7, 0xc1, //0x0000032f vpmovmskb %xmm1, %eax + 0x0d, 0x00, 0x00, 0x01, 0x00, //0x00000333 orl $65536, %eax + 0x0f, 0xbc, 0xd8, //0x00000338 bsfl %eax, %ebx + 0xc4, 0xe1, 0xf9, 0x7e, 0xc0, //0x0000033b vmovq %xmm0, %rax + 0x48, 0x39, 0xd9, //0x00000340 cmpq %rbx, %rcx + 0x49, 0x89, 0xd7, //0x00000343 movq %rdx, %r15 + 0x0f, 0x8d, 0x68, 0x02, 0x00, 0x00, //0x00000346 jge LBB0_53 + 0x48, 0x83, 0xf9, 0x08, //0x0000034c cmpq $8, %rcx + 0x0f, 0x82, 0x83, 0x02, 0x00, 0x00, //0x00000350 jb LBB0_56 + 0x48, 0x89, 0x06, //0x00000356 movq %rax, (%rsi) + 0x49, 0x8d, 0x45, 0x08, //0x00000359 leaq $8(%r13), %rax + 0x48, 0x83, 0xc6, 0x08, //0x0000035d addq $8, %rsi + 0x48, 0x8d, 0x59, 0xf8, //0x00000361 leaq $-8(%rcx), %rbx + 0xe9, 0x75, 0x02, 0x00, 0x00, //0x00000365 jmp LBB0_57 + //0x0000036a LBB0_19 + 0x4d, 0x29, 0xdd, //0x0000036a subq %r11, %r13 + 0x44, 0x0f, 0xbc, 0xd1, //0x0000036d bsfl %ecx, %r10d + 0x4d, 0x01, 0xea, //0x00000371 addq %r13, %r10 + 0xe9, 0x14, 0x03, 0x00, 0x00, //0x00000374 jmp LBB0_69 + //0x00000379 LBB0_20 + 0x83, 0xf9, 0x10, //0x00000379 cmpl $16, %ecx + 0x0f, 0x82, 0xaa, 0x01, 0x00, 0x00, //0x0000037c jb LBB0_42 + 0x48, 0x89, 0x1e, //0x00000382 movq %rbx, (%rsi) + 0x48, 0x89, 0x46, 0x08, //0x00000385 movq %rax, $8(%rsi) + 0x49, 0x8d, 0x5d, 0x10, //0x00000389 leaq $16(%r13), %rbx + 0x48, 0x83, 0xc6, 0x10, //0x0000038d addq $16, %rsi + 0x48, 0x8d, 0x41, 0xf0, //0x00000391 leaq $-16(%rcx), %rax + 0x48, 0x83, 0xf8, 0x08, //0x00000395 cmpq $8, %rax + 0x0f, 0x83, 0x9d, 0x01, 0x00, 0x00, //0x00000399 jae LBB0_43 + 0xe9, 0xaa, 0x01, 0x00, 0x00, //0x0000039f jmp LBB0_44 + //0x000003a4 LBB0_22 + 0x0f, 0xb7, 0xc1, //0x000003a4 movzwl %cx, %eax + 0x4d, 0x29, 0xdd, //0x000003a7 subq %r11, %r13 + 0x44, 0x0f, 0xbc, 0xd0, //0x000003aa bsfl %eax, %r10d + 0x4d, 0x01, 0xea, //0x000003ae addq %r13, %r10 + 0x49, 0x89, 0xd7, //0x000003b1 movq %rdx, %r15 + 0xe9, 0xd4, 0x02, 0x00, 0x00, //0x000003b4 jmp LBB0_69 + //0x000003b9 LBB0_23 + 0x4c, 0x89, 0xe9, //0x000003b9 movq %r13, %rcx + 0x4c, 0x89, 0xd0, //0x000003bc movq %r10, %rax + 0x48, 0x83, 0xf8, 0x08, //0x000003bf cmpq $8, %rax + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x000003c3 jb LBB0_25 + //0x000003c9 LBB0_24 + 0x48, 0x8b, 0x11, //0x000003c9 movq (%rcx), %rdx + 0x48, 0x89, 0x16, //0x000003cc movq %rdx, (%rsi) + 0x48, 0x83, 0xc1, 0x08, //0x000003cf addq $8, %rcx + 0x48, 0x83, 0xc6, 0x08, //0x000003d3 addq $8, %rsi + 0x48, 0x83, 0xc0, 0xf8, //0x000003d7 addq $-8, %rax + //0x000003db LBB0_25 + 0x48, 0x83, 0xf8, 0x04, //0x000003db cmpq $4, %rax + 0x0f, 0x8c, 0x35, 0x00, 0x00, 0x00, //0x000003df jl LBB0_26 + 0x8b, 0x11, //0x000003e5 movl (%rcx), %edx + 0x89, 0x16, //0x000003e7 movl %edx, (%rsi) + 0x48, 0x83, 0xc1, 0x04, //0x000003e9 addq $4, %rcx + 0x48, 0x83, 0xc6, 0x04, //0x000003ed addq $4, %rsi + 0x48, 0x83, 0xc0, 0xfc, //0x000003f1 addq $-4, %rax + 0x48, 0x83, 0xf8, 0x02, //0x000003f5 cmpq $2, %rax + 0x0f, 0x83, 0x25, 0x00, 0x00, 0x00, //0x000003f9 jae LBB0_50 + //0x000003ff LBB0_27 + 0x48, 0x85, 0xc0, //0x000003ff testq %rax, %rax + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00000402 je LBB0_29 + //0x00000408 LBB0_28 + 0x8a, 0x01, //0x00000408 movb (%rcx), %al + 0x88, 0x06, //0x0000040a movb %al, (%rsi) + //0x0000040c LBB0_29 + 0x4d, 0x29, 0xda, //0x0000040c subq %r11, %r10 + 0x4d, 0x01, 0xea, //0x0000040f addq %r13, %r10 + 0x49, 0xf7, 0xd2, //0x00000412 notq %r10 + 0xe9, 0x73, 0x02, 0x00, 0x00, //0x00000415 jmp LBB0_69 + //0x0000041a LBB0_26 + 0x48, 0x83, 0xf8, 0x02, //0x0000041a cmpq $2, %rax + 0x0f, 0x82, 0xdb, 0xff, 0xff, 0xff, //0x0000041e jb LBB0_27 + //0x00000424 LBB0_50 + 0x0f, 0xb7, 0x11, //0x00000424 movzwl (%rcx), %edx + 0x66, 0x89, 0x16, //0x00000427 movw %dx, (%rsi) + 0x48, 0x83, 0xc1, 0x02, //0x0000042a addq $2, %rcx + 0x48, 0x83, 0xc6, 0x02, //0x0000042e addq $2, %rsi + 0x48, 0x83, 0xc0, 0xfe, //0x00000432 addq $-2, %rax + 0x48, 0x85, 0xc0, //0x00000436 testq %rax, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00000439 jne LBB0_28 + 0xe9, 0xc8, 0xff, 0xff, 0xff, //0x0000043f jmp LBB0_29 + //0x00000444 LBB0_30 + 0x4c, 0x89, 0xd1, //0x00000444 movq %r10, %rcx + 0xc5, 0xfe, 0x6f, 0x25, 0xb1, 0xfb, 0xff, 0xff, //0x00000447 vmovdqu $-1103(%rip), %ymm4 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0xc9, 0xfb, 0xff, 0xff, //0x0000044f vmovdqu $-1079(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xe1, 0xfb, 0xff, 0xff, //0x00000457 vmovdqu $-1055(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc4, 0x41, 0x3d, 0x76, 0xc0, //0x0000045f vpcmpeqd %ymm8, %ymm8, %ymm8 + 0xc5, 0xfa, 0x6f, 0x3d, 0xf4, 0xfb, 0xff, 0xff, //0x00000464 vmovdqu $-1036(%rip), %xmm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0xfc, 0xfb, 0xff, 0xff, //0x0000046c vmovdqu $-1028(%rip), %xmm9 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0x04, 0xfc, 0xff, 0xff, //0x00000474 vmovdqu $-1020(%rip), %xmm10 /* LCPI0_5+0(%rip) */ + 0xc4, 0x41, 0x21, 0x76, 0xdb, //0x0000047c vpcmpeqd %xmm11, %xmm11, %xmm11 + 0x45, 0x84, 0xff, //0x00000481 testb %r15b, %r15b + 0x0f, 0x84, 0x2e, 0x00, 0x00, 0x00, //0x00000484 je LBB0_36 + 0xe9, 0x7d, 0xfe, 0xff, 0xff, //0x0000048a jmp LBB0_32 + //0x0000048f LBB0_35 + 0x4c, 0x89, 0xd1, //0x0000048f movq %r10, %rcx + 0xc5, 0xfe, 0x6f, 0x25, 0x66, 0xfb, 0xff, 0xff, //0x00000492 vmovdqu $-1178(%rip), %ymm4 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x7e, 0xfb, 0xff, 0xff, //0x0000049a vmovdqu $-1154(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x96, 0xfb, 0xff, 0xff, //0x000004a2 vmovdqu $-1130(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc4, 0x41, 0x3d, 0x76, 0xc0, //0x000004aa vpcmpeqd %ymm8, %ymm8, %ymm8 + 0x45, 0x84, 0xff, //0x000004af testb %r15b, %r15b + 0x0f, 0x85, 0x54, 0xfe, 0xff, 0xff, //0x000004b2 jne LBB0_32 + //0x000004b8 LBB0_36 + 0x48, 0x85, 0xc9, //0x000004b8 testq %rcx, %rcx + 0x49, 0x89, 0xd7, //0x000004bb movq %rdx, %r15 + 0x4c, 0x8d, 0x15, 0x7b, 0x06, 0x00, 0x00, //0x000004be leaq $1659(%rip), %r10 /* __SingleQuoteTab+0(%rip) */ + 0x0f, 0x8e, 0x50, 0x00, 0x00, 0x00, //0x000004c5 jle LBB0_41 + 0x48, 0x85, 0xc0, //0x000004cb testq %rax, %rax + 0x0f, 0x8e, 0x47, 0x00, 0x00, 0x00, //0x000004ce jle LBB0_41 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000004d4 .p2align 4, 0x90 + //0x000004e0 LBB0_38 + 0x41, 0x0f, 0xb6, 0x5d, 0x00, //0x000004e0 movzbl (%r13), %ebx + 0x48, 0x89, 0xda, //0x000004e5 movq %rbx, %rdx + 0x48, 0xc1, 0xe2, 0x04, //0x000004e8 shlq $4, %rdx + 0x4a, 0x83, 0x3c, 0x12, 0x00, //0x000004ec cmpq $0, (%rdx,%r10) + 0x0f, 0x85, 0xda, 0x00, 0x00, 0x00, //0x000004f1 jne LBB0_55 + 0x49, 0xff, 0xc5, //0x000004f7 incq %r13 + 0x88, 0x1e, //0x000004fa movb %bl, (%rsi) + 0x48, 0x83, 0xf8, 0x02, //0x000004fc cmpq $2, %rax + 0x48, 0x8d, 0x40, 0xff, //0x00000500 leaq $-1(%rax), %rax + 0x0f, 0x8c, 0x11, 0x00, 0x00, 0x00, //0x00000504 jl LBB0_41 + 0x48, 0xff, 0xc6, //0x0000050a incq %rsi + 0x48, 0x83, 0xf9, 0x01, //0x0000050d cmpq $1, %rcx + 0x48, 0x8d, 0x49, 0xff, //0x00000511 leaq $-1(%rcx), %rcx + 0x0f, 0x8f, 0xc5, 0xff, 0xff, 0xff, //0x00000515 jg LBB0_38 + //0x0000051b LBB0_41 + 0x4d, 0x29, 0xdd, //0x0000051b subq %r11, %r13 + 0x48, 0xf7, 0xd8, //0x0000051e negq %rax + 0x4d, 0x19, 0xd2, //0x00000521 sbbq %r10, %r10 + 0x4d, 0x31, 0xea, //0x00000524 xorq %r13, %r10 + 0xe9, 0x61, 0x01, 0x00, 0x00, //0x00000527 jmp LBB0_69 + //0x0000052c LBB0_42 + 0x4c, 0x89, 0xeb, //0x0000052c movq %r13, %rbx + 0x48, 0x89, 0xc8, //0x0000052f movq %rcx, %rax + 0x48, 0x83, 0xf8, 0x08, //0x00000532 cmpq $8, %rax + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x00000536 jb LBB0_44 + //0x0000053c LBB0_43 + 0x48, 0x8b, 0x13, //0x0000053c movq (%rbx), %rdx + 0x48, 0x89, 0x16, //0x0000053f movq %rdx, (%rsi) + 0x48, 0x83, 0xc3, 0x08, //0x00000542 addq $8, %rbx + 0x48, 0x83, 0xc6, 0x08, //0x00000546 addq $8, %rsi + 0x48, 0x83, 0xc0, 0xf8, //0x0000054a addq $-8, %rax + //0x0000054e LBB0_44 + 0x48, 0x83, 0xf8, 0x04, //0x0000054e cmpq $4, %rax + 0x0f, 0x8c, 0x32, 0x00, 0x00, 0x00, //0x00000552 jl LBB0_45 + 0x8b, 0x13, //0x00000558 movl (%rbx), %edx + 0x89, 0x16, //0x0000055a movl %edx, (%rsi) + 0x48, 0x83, 0xc3, 0x04, //0x0000055c addq $4, %rbx + 0x48, 0x83, 0xc6, 0x04, //0x00000560 addq $4, %rsi + 0x48, 0x83, 0xc0, 0xfc, //0x00000564 addq $-4, %rax + 0x48, 0x83, 0xf8, 0x02, //0x00000568 cmpq $2, %rax + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x0000056c jae LBB0_52 + //0x00000572 LBB0_46 + 0x48, 0x85, 0xc0, //0x00000572 testq %rax, %rax + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00000575 je LBB0_48 + //0x0000057b LBB0_47 + 0x8a, 0x03, //0x0000057b movb (%rbx), %al + 0x88, 0x06, //0x0000057d movb %al, (%rsi) + //0x0000057f LBB0_48 + 0x4d, 0x29, 0xdd, //0x0000057f subq %r11, %r13 + 0x49, 0x01, 0xcd, //0x00000582 addq %rcx, %r13 + 0xe9, 0x00, 0x01, 0x00, 0x00, //0x00000585 jmp LBB0_68 + //0x0000058a LBB0_45 + 0x48, 0x83, 0xf8, 0x02, //0x0000058a cmpq $2, %rax + 0x0f, 0x82, 0xde, 0xff, 0xff, 0xff, //0x0000058e jb LBB0_46 + //0x00000594 LBB0_52 + 0x0f, 0xb7, 0x13, //0x00000594 movzwl (%rbx), %edx + 0x66, 0x89, 0x16, //0x00000597 movw %dx, (%rsi) + 0x48, 0x83, 0xc3, 0x02, //0x0000059a addq $2, %rbx + 0x48, 0x83, 0xc6, 0x02, //0x0000059e addq $2, %rsi + 0x48, 0x83, 0xc0, 0xfe, //0x000005a2 addq $-2, %rax + 0x48, 0x85, 0xc0, //0x000005a6 testq %rax, %rax + 0x0f, 0x85, 0xcc, 0xff, 0xff, 0xff, //0x000005a9 jne LBB0_47 + 0xe9, 0xcb, 0xff, 0xff, 0xff, //0x000005af jmp LBB0_48 + //0x000005b4 LBB0_53 + 0x83, 0xfb, 0x08, //0x000005b4 cmpl $8, %ebx + 0x0f, 0x82, 0x8e, 0x00, 0x00, 0x00, //0x000005b7 jb LBB0_62 + 0x48, 0x89, 0x06, //0x000005bd movq %rax, (%rsi) + 0x4d, 0x8d, 0x55, 0x08, //0x000005c0 leaq $8(%r13), %r10 + 0x48, 0x83, 0xc6, 0x08, //0x000005c4 addq $8, %rsi + 0x48, 0x8d, 0x43, 0xf8, //0x000005c8 leaq $-8(%rbx), %rax + 0xe9, 0x80, 0x00, 0x00, 0x00, //0x000005cc jmp LBB0_63 + //0x000005d1 LBB0_55 + 0x4d, 0x29, 0xdd, //0x000005d1 subq %r11, %r13 + 0xe9, 0xb1, 0x00, 0x00, 0x00, //0x000005d4 jmp LBB0_68 + //0x000005d9 LBB0_56 + 0x4c, 0x89, 0xe8, //0x000005d9 movq %r13, %rax + 0x48, 0x89, 0xcb, //0x000005dc movq %rcx, %rbx + //0x000005df LBB0_57 + 0x48, 0x83, 0xfb, 0x04, //0x000005df cmpq $4, %rbx + 0x0f, 0x8c, 0x38, 0x00, 0x00, 0x00, //0x000005e3 jl LBB0_58 + 0x8b, 0x10, //0x000005e9 movl (%rax), %edx + 0x89, 0x16, //0x000005eb movl %edx, (%rsi) + 0x48, 0x83, 0xc0, 0x04, //0x000005ed addq $4, %rax + 0x48, 0x83, 0xc6, 0x04, //0x000005f1 addq $4, %rsi + 0x48, 0x83, 0xc3, 0xfc, //0x000005f5 addq $-4, %rbx + 0x48, 0x83, 0xfb, 0x02, //0x000005f9 cmpq $2, %rbx + 0x0f, 0x83, 0x28, 0x00, 0x00, 0x00, //0x000005fd jae LBB0_83 + //0x00000603 LBB0_59 + 0x48, 0x85, 0xdb, //0x00000603 testq %rbx, %rbx + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00000606 je LBB0_61 + //0x0000060c LBB0_60 + 0x8a, 0x00, //0x0000060c movb (%rax), %al + 0x88, 0x06, //0x0000060e movb %al, (%rsi) + //0x00000610 LBB0_61 + 0x4c, 0x29, 0xd9, //0x00000610 subq %r11, %rcx + 0x4c, 0x01, 0xe9, //0x00000613 addq %r13, %rcx + 0x48, 0xf7, 0xd1, //0x00000616 notq %rcx + 0x49, 0x89, 0xca, //0x00000619 movq %rcx, %r10 + 0xe9, 0x6c, 0x00, 0x00, 0x00, //0x0000061c jmp LBB0_69 + //0x00000621 LBB0_58 + 0x48, 0x83, 0xfb, 0x02, //0x00000621 cmpq $2, %rbx + 0x0f, 0x82, 0xd8, 0xff, 0xff, 0xff, //0x00000625 jb LBB0_59 + //0x0000062b LBB0_83 + 0x0f, 0xb7, 0x10, //0x0000062b movzwl (%rax), %edx + 0x66, 0x89, 0x16, //0x0000062e movw %dx, (%rsi) + 0x48, 0x83, 0xc0, 0x02, //0x00000631 addq $2, %rax + 0x48, 0x83, 0xc6, 0x02, //0x00000635 addq $2, %rsi + 0x48, 0x83, 0xc3, 0xfe, //0x00000639 addq $-2, %rbx + 0x48, 0x85, 0xdb, //0x0000063d testq %rbx, %rbx + 0x0f, 0x85, 0xc6, 0xff, 0xff, 0xff, //0x00000640 jne LBB0_60 + 0xe9, 0xc5, 0xff, 0xff, 0xff, //0x00000646 jmp LBB0_61 + //0x0000064b LBB0_62 + 0x4d, 0x89, 0xea, //0x0000064b movq %r13, %r10 + 0x48, 0x89, 0xd8, //0x0000064e movq %rbx, %rax + //0x00000651 LBB0_63 + 0x48, 0x83, 0xf8, 0x04, //0x00000651 cmpq $4, %rax + 0x0f, 0x8c, 0x20, 0x01, 0x00, 0x00, //0x00000655 jl LBB0_64 + 0x41, 0x8b, 0x0a, //0x0000065b movl (%r10), %ecx + 0x89, 0x0e, //0x0000065e movl %ecx, (%rsi) + 0x49, 0x83, 0xc2, 0x04, //0x00000660 addq $4, %r10 + 0x48, 0x83, 0xc6, 0x04, //0x00000664 addq $4, %rsi + 0x48, 0x83, 0xc0, 0xfc, //0x00000668 addq $-4, %rax + 0x48, 0x83, 0xf8, 0x02, //0x0000066c cmpq $2, %rax + 0x0f, 0x83, 0x0f, 0x01, 0x00, 0x00, //0x00000670 jae LBB0_85 + //0x00000676 LBB0_65 + 0x48, 0x85, 0xc0, //0x00000676 testq %rax, %rax + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00000679 je LBB0_67 + //0x0000067f LBB0_66 + 0x41, 0x8a, 0x02, //0x0000067f movb (%r10), %al + 0x88, 0x06, //0x00000682 movb %al, (%rsi) + //0x00000684 LBB0_67 + 0x4d, 0x29, 0xdd, //0x00000684 subq %r11, %r13 + 0x49, 0x01, 0xdd, //0x00000687 addq %rbx, %r13 + //0x0000068a LBB0_68 + 0x4d, 0x89, 0xea, //0x0000068a movq %r13, %r10 + //0x0000068d LBB0_69 + 0x4d, 0x85, 0xd2, //0x0000068d testq %r10, %r10 + 0x48, 0x8b, 0x55, 0xd0, //0x00000690 movq $-48(%rbp), %rdx + 0x49, 0xbd, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, //0x00000694 movabsq $12884901889, %r13 + 0x0f, 0x88, 0x7d, 0x04, 0x00, 0x00, //0x0000069e js LBB0_122 + 0x4d, 0x01, 0xd3, //0x000006a4 addq %r10, %r11 + 0x4d, 0x01, 0xd4, //0x000006a7 addq %r10, %r12 + 0x4d, 0x39, 0xd6, //0x000006aa cmpq %r10, %r14 + 0x0f, 0x84, 0x3c, 0x04, 0x00, 0x00, //0x000006ad je LBB0_118 + 0x4d, 0x29, 0xd1, //0x000006b3 subq %r10, %r9 + 0x4d, 0x29, 0xf2, //0x000006b6 subq %r14, %r10 + 0xe9, 0x11, 0x00, 0x00, 0x00, //0x000006b9 jmp LBB0_73 + 0x90, 0x90, //0x000006be .p2align 4, 0x90 + //0x000006c0 LBB0_72 + 0x49, 0xff, 0xc3, //0x000006c0 incq %r11 + 0x49, 0x01, 0xc4, //0x000006c3 addq %rax, %r12 + 0x49, 0xff, 0xc2, //0x000006c6 incq %r10 + 0x0f, 0x84, 0x20, 0x04, 0x00, 0x00, //0x000006c9 je LBB0_118 + //0x000006cf LBB0_73 + 0x41, 0x0f, 0xb6, 0x33, //0x000006cf movzbl (%r11), %esi + 0x48, 0xc1, 0xe6, 0x04, //0x000006d3 shlq $4, %rsi + 0x49, 0x8b, 0x1c, 0x30, //0x000006d7 movq (%r8,%rsi), %rbx + 0x85, 0xdb, //0x000006db testl %ebx, %ebx + 0x0f, 0x84, 0x84, 0x00, 0x00, 0x00, //0x000006dd je LBB0_81 + 0x48, 0x63, 0xc3, //0x000006e3 movslq %ebx, %rax + 0x49, 0x29, 0xc1, //0x000006e6 subq %rax, %r9 + 0x0f, 0x8c, 0x0e, 0x04, 0x00, 0x00, //0x000006e9 jl LBB0_119 + 0x48, 0xc1, 0xe3, 0x20, //0x000006ef shlq $32, %rbx + 0x49, 0x8d, 0x4c, 0x30, 0x08, //0x000006f3 leaq $8(%r8,%rsi), %rcx + 0x4c, 0x39, 0xeb, //0x000006f8 cmpq %r13, %rbx + 0x0f, 0x8c, 0x2f, 0x00, 0x00, 0x00, //0x000006fb jl LBB0_77 + 0x8b, 0x09, //0x00000701 movl (%rcx), %ecx + 0x41, 0x89, 0x0c, 0x24, //0x00000703 movl %ecx, (%r12) + 0x49, 0x8d, 0x4c, 0x30, 0x0c, //0x00000707 leaq $12(%r8,%rsi), %rcx + 0x4d, 0x8d, 0x74, 0x24, 0x04, //0x0000070c leaq $4(%r12), %r14 + 0x48, 0x8d, 0x58, 0xfc, //0x00000711 leaq $-4(%rax), %rbx + 0x48, 0x83, 0xfb, 0x02, //0x00000715 cmpq $2, %rbx + 0x0f, 0x83, 0x21, 0x00, 0x00, 0x00, //0x00000719 jae LBB0_78 + 0xe9, 0x2f, 0x00, 0x00, 0x00, //0x0000071f jmp LBB0_79 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000724 .p2align 4, 0x90 + //0x00000730 LBB0_77 + 0x4d, 0x89, 0xe6, //0x00000730 movq %r12, %r14 + 0x48, 0x89, 0xc3, //0x00000733 movq %rax, %rbx + 0x48, 0x83, 0xfb, 0x02, //0x00000736 cmpq $2, %rbx + 0x0f, 0x82, 0x13, 0x00, 0x00, 0x00, //0x0000073a jb LBB0_79 + //0x00000740 LBB0_78 + 0x0f, 0xb7, 0x31, //0x00000740 movzwl (%rcx), %esi + 0x66, 0x41, 0x89, 0x36, //0x00000743 movw %si, (%r14) + 0x48, 0x83, 0xc1, 0x02, //0x00000747 addq $2, %rcx + 0x49, 0x83, 0xc6, 0x02, //0x0000074b addq $2, %r14 + 0x48, 0x83, 0xc3, 0xfe, //0x0000074f addq $-2, %rbx + //0x00000753 LBB0_79 + 0x48, 0x85, 0xdb, //0x00000753 testq %rbx, %rbx + 0x0f, 0x84, 0x64, 0xff, 0xff, 0xff, //0x00000756 je LBB0_72 + 0x0f, 0xb6, 0x09, //0x0000075c movzbl (%rcx), %ecx + 0x41, 0x88, 0x0e, //0x0000075f movb %cl, (%r14) + 0xe9, 0x59, 0xff, 0xff, 0xff, //0x00000762 jmp LBB0_72 + //0x00000767 LBB0_81 + 0x4d, 0x89, 0xd6, //0x00000767 movq %r10, %r14 + 0x49, 0xf7, 0xde, //0x0000076a negq %r14 + 0x4d, 0x85, 0xd2, //0x0000076d testq %r10, %r10 + 0x0f, 0x85, 0x8e, 0xf9, 0xff, 0xff, //0x00000770 jne LBB0_3 + 0xe9, 0x74, 0x03, 0x00, 0x00, //0x00000776 jmp LBB0_118 + //0x0000077b LBB0_64 + 0x48, 0x83, 0xf8, 0x02, //0x0000077b cmpq $2, %rax + 0x0f, 0x82, 0xf1, 0xfe, 0xff, 0xff, //0x0000077f jb LBB0_65 + //0x00000785 LBB0_85 + 0x41, 0x0f, 0xb7, 0x0a, //0x00000785 movzwl (%r10), %ecx + 0x66, 0x89, 0x0e, //0x00000789 movw %cx, (%rsi) + 0x49, 0x83, 0xc2, 0x02, //0x0000078c addq $2, %r10 + 0x48, 0x83, 0xc6, 0x02, //0x00000790 addq $2, %rsi + 0x48, 0x83, 0xc0, 0xfe, //0x00000794 addq $-2, %rax + 0x48, 0x85, 0xc0, //0x00000798 testq %rax, %rax + 0x0f, 0x85, 0xde, 0xfe, 0xff, 0xff, //0x0000079b jne LBB0_66 + 0xe9, 0xde, 0xfe, 0xff, 0xff, //0x000007a1 jmp LBB0_67 + //0x000007a6 LBB0_86 + 0x4c, 0x8d, 0x0d, 0x93, 0x23, 0x00, 0x00, //0x000007a6 leaq $9107(%rip), %r9 /* __EscTab+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x4b, 0xf8, 0xff, 0xff, //0x000007ad vmovdqu $-1973(%rip), %ymm10 /* LCPI0_0+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x0d, 0x63, 0xf8, 0xff, 0xff, //0x000007b5 vmovdqu $-1949(%rip), %ymm9 /* LCPI0_1+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x7b, 0xf8, 0xff, 0xff, //0x000007bd vmovdqu $-1925(%rip), %ymm11 /* LCPI0_2+0(%rip) */ + 0xc4, 0x41, 0x3d, 0x76, 0xc0, //0x000007c5 vpcmpeqd %ymm8, %ymm8, %ymm8 + 0x48, 0x89, 0xd3, //0x000007ca movq %rdx, %rbx + 0x4d, 0x89, 0xf2, //0x000007cd movq %r14, %r10 + //0x000007d0 LBB0_87 + 0x49, 0x83, 0xfa, 0x10, //0x000007d0 cmpq $16, %r10 + 0x0f, 0x8d, 0x26, 0x01, 0x00, 0x00, //0x000007d4 jge LBB0_88 + //0x000007da LBB0_93 + 0x49, 0x83, 0xfa, 0x08, //0x000007da cmpq $8, %r10 + 0x0f, 0x8c, 0x85, 0x00, 0x00, 0x00, //0x000007de jl LBB0_97 + //0x000007e4 LBB0_94 + 0x0f, 0xb6, 0x07, //0x000007e4 movzbl (%rdi), %eax + 0x42, 0x0f, 0xb6, 0x04, 0x08, //0x000007e7 movzbl (%rax,%r9), %eax + 0x0f, 0xb6, 0x4f, 0x01, //0x000007ec movzbl $1(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x000007f0 movzbl (%rcx,%r9), %ecx + 0x01, 0xc9, //0x000007f5 addl %ecx, %ecx + 0x09, 0xc1, //0x000007f7 orl %eax, %ecx + 0x0f, 0xb6, 0x47, 0x02, //0x000007f9 movzbl $2(%rdi), %eax + 0x42, 0x0f, 0xb6, 0x34, 0x08, //0x000007fd movzbl (%rax,%r9), %esi + 0xc1, 0xe6, 0x02, //0x00000802 shll $2, %esi + 0x0f, 0xb6, 0x47, 0x03, //0x00000805 movzbl $3(%rdi), %eax + 0x42, 0x0f, 0xb6, 0x04, 0x08, //0x00000809 movzbl (%rax,%r9), %eax + 0xc1, 0xe0, 0x03, //0x0000080e shll $3, %eax + 0x09, 0xf0, //0x00000811 orl %esi, %eax + 0x09, 0xc8, //0x00000813 orl %ecx, %eax + 0x48, 0x8b, 0x0f, //0x00000815 movq (%rdi), %rcx + 0x48, 0x89, 0x0b, //0x00000818 movq %rcx, (%rbx) + 0x84, 0xc0, //0x0000081b testb %al, %al + 0x0f, 0x85, 0x9a, 0x02, 0x00, 0x00, //0x0000081d jne LBB0_115 + 0x0f, 0xb6, 0x47, 0x04, //0x00000823 movzbl $4(%rdi), %eax + 0x42, 0x0f, 0xb6, 0x04, 0x08, //0x00000827 movzbl (%rax,%r9), %eax + 0x0f, 0xb6, 0x4f, 0x05, //0x0000082c movzbl $5(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x00000830 movzbl (%rcx,%r9), %ecx + 0x01, 0xc9, //0x00000835 addl %ecx, %ecx + 0x09, 0xc1, //0x00000837 orl %eax, %ecx + 0x0f, 0xb6, 0x47, 0x06, //0x00000839 movzbl $6(%rdi), %eax + 0x42, 0x0f, 0xb6, 0x34, 0x08, //0x0000083d movzbl (%rax,%r9), %esi + 0xc1, 0xe6, 0x02, //0x00000842 shll $2, %esi + 0x0f, 0xb6, 0x47, 0x07, //0x00000845 movzbl $7(%rdi), %eax + 0x42, 0x0f, 0xb6, 0x04, 0x08, //0x00000849 movzbl (%rax,%r9), %eax + 0xc1, 0xe0, 0x03, //0x0000084e shll $3, %eax + 0x09, 0xf0, //0x00000851 orl %esi, %eax + 0x09, 0xc8, //0x00000853 orl %ecx, %eax + 0x84, 0xc0, //0x00000855 testb %al, %al + 0x0f, 0x85, 0x6e, 0x02, 0x00, 0x00, //0x00000857 jne LBB0_116 + 0x48, 0x83, 0xc3, 0x08, //0x0000085d addq $8, %rbx + 0x48, 0x83, 0xc7, 0x08, //0x00000861 addq $8, %rdi + 0x49, 0x83, 0xc2, 0xf8, //0x00000865 addq $-8, %r10 + //0x00000869 LBB0_97 + 0x49, 0x83, 0xfa, 0x04, //0x00000869 cmpq $4, %r10 + 0x0f, 0x8c, 0x49, 0x00, 0x00, 0x00, //0x0000086d jl LBB0_100 + 0x0f, 0xb6, 0x07, //0x00000873 movzbl (%rdi), %eax + 0x42, 0x0f, 0xb6, 0x04, 0x08, //0x00000876 movzbl (%rax,%r9), %eax + 0x0f, 0xb6, 0x4f, 0x01, //0x0000087b movzbl $1(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x0000087f movzbl (%rcx,%r9), %ecx + 0x01, 0xc9, //0x00000884 addl %ecx, %ecx + 0x09, 0xc1, //0x00000886 orl %eax, %ecx + 0x0f, 0xb6, 0x47, 0x02, //0x00000888 movzbl $2(%rdi), %eax + 0x42, 0x0f, 0xb6, 0x34, 0x08, //0x0000088c movzbl (%rax,%r9), %esi + 0xc1, 0xe6, 0x02, //0x00000891 shll $2, %esi + 0x0f, 0xb6, 0x47, 0x03, //0x00000894 movzbl $3(%rdi), %eax + 0x42, 0x0f, 0xb6, 0x04, 0x08, //0x00000898 movzbl (%rax,%r9), %eax + 0xc1, 0xe0, 0x03, //0x0000089d shll $3, %eax + 0x09, 0xf0, //0x000008a0 orl %esi, %eax + 0x09, 0xc8, //0x000008a2 orl %ecx, %eax + 0x8b, 0x0f, //0x000008a4 movl (%rdi), %ecx + 0x89, 0x0b, //0x000008a6 movl %ecx, (%rbx) + 0x84, 0xc0, //0x000008a8 testb %al, %al + 0x0f, 0x85, 0x0d, 0x02, 0x00, 0x00, //0x000008aa jne LBB0_115 + 0x48, 0x83, 0xc3, 0x04, //0x000008b0 addq $4, %rbx + 0x48, 0x83, 0xc7, 0x04, //0x000008b4 addq $4, %rdi + 0x49, 0x83, 0xc2, 0xfc, //0x000008b8 addq $-4, %r10 + //0x000008bc LBB0_100 + 0x4d, 0x85, 0xd2, //0x000008bc testq %r10, %r10 + 0x0f, 0x8e, 0x1f, 0x02, 0x00, 0x00, //0x000008bf jle LBB0_117 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008c5 .p2align 4, 0x90 + //0x000008d0 LBB0_101 + 0x0f, 0xb6, 0x07, //0x000008d0 movzbl (%rdi), %eax + 0x42, 0x80, 0x3c, 0x08, 0x00, //0x000008d3 cmpb $0, (%rax,%r9) + 0x0f, 0x85, 0x94, 0x01, 0x00, 0x00, //0x000008d8 jne LBB0_112 + 0x48, 0xff, 0xc7, //0x000008de incq %rdi + 0x88, 0x03, //0x000008e1 movb %al, (%rbx) + 0x48, 0xff, 0xc3, //0x000008e3 incq %rbx + 0x49, 0x83, 0xfa, 0x01, //0x000008e6 cmpq $1, %r10 + 0x4d, 0x8d, 0x52, 0xff, //0x000008ea leaq $-1(%r10), %r10 + 0x0f, 0x8f, 0xdc, 0xff, 0xff, 0xff, //0x000008ee jg LBB0_101 + 0xe9, 0xeb, 0x01, 0x00, 0x00, //0x000008f4 jmp LBB0_117 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008f9 .p2align 4, 0x90 + //0x00000900 LBB0_88 + 0x49, 0x83, 0xfa, 0x20, //0x00000900 cmpq $32, %r10 + 0x0f, 0x8c, 0x9f, 0x00, 0x00, 0x00, //0x00000904 jl LBB0_103 + 0x49, 0x8d, 0x4a, 0x20, //0x0000090a leaq $32(%r10), %rcx + 0x31, 0xc0, //0x0000090e xorl %eax, %eax + //0x00000910 .p2align 4, 0x90 + //0x00000910 LBB0_90 + 0xc5, 0xfe, 0x6f, 0x04, 0x07, //0x00000910 vmovdqu (%rdi,%rax), %ymm0 + 0xc5, 0xad, 0x64, 0xc8, //0x00000915 vpcmpgtb %ymm0, %ymm10, %ymm1 + 0xc5, 0xb5, 0x74, 0xd0, //0x00000919 vpcmpeqb %ymm0, %ymm9, %ymm2 + 0xc5, 0xa5, 0x74, 0xd8, //0x0000091d vpcmpeqb %ymm0, %ymm11, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x00000921 vpor %ymm2, %ymm3, %ymm2 + 0xc5, 0xfe, 0x7f, 0x04, 0x03, //0x00000925 vmovdqu %ymm0, (%rbx,%rax) + 0xc4, 0xc1, 0x7d, 0x64, 0xc0, //0x0000092a vpcmpgtb %ymm8, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x0000092f vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0xed, 0xeb, 0xc0, //0x00000933 vpor %ymm0, %ymm2, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00000937 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x0000093b testl %esi, %esi + 0x0f, 0x85, 0x1a, 0x01, 0x00, 0x00, //0x0000093d jne LBB0_109 + 0x48, 0x83, 0xc0, 0x20, //0x00000943 addq $32, %rax + 0x48, 0x83, 0xc1, 0xe0, //0x00000947 addq $-32, %rcx + 0x48, 0x83, 0xf9, 0x3f, //0x0000094b cmpq $63, %rcx + 0x0f, 0x8f, 0xbb, 0xff, 0xff, 0xff, //0x0000094f jg LBB0_90 + 0xc5, 0xf8, 0x77, //0x00000955 vzeroupper + 0xc4, 0x41, 0x3d, 0x76, 0xc0, //0x00000958 vpcmpeqd %ymm8, %ymm8, %ymm8 + 0xc5, 0x7e, 0x6f, 0x1d, 0xdb, 0xf6, 0xff, 0xff, //0x0000095d vmovdqu $-2341(%rip), %ymm11 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x0d, 0xb3, 0xf6, 0xff, 0xff, //0x00000965 vmovdqu $-2381(%rip), %ymm9 /* LCPI0_1+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x8b, 0xf6, 0xff, 0xff, //0x0000096d vmovdqu $-2421(%rip), %ymm10 /* LCPI0_0+0(%rip) */ + 0x48, 0x01, 0xc7, //0x00000975 addq %rax, %rdi + 0x49, 0x29, 0xc2, //0x00000978 subq %rax, %r10 + 0x48, 0x01, 0xc3, //0x0000097b addq %rax, %rbx + 0x48, 0x83, 0xf9, 0x30, //0x0000097e cmpq $48, %rcx + 0xc5, 0xfa, 0x6f, 0x3d, 0xd6, 0xf6, 0xff, 0xff, //0x00000982 vmovdqu $-2346(%rip), %xmm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x2d, 0xde, 0xf6, 0xff, 0xff, //0x0000098a vmovdqu $-2338(%rip), %xmm5 /* LCPI0_4+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x25, 0xe6, 0xf6, 0xff, 0xff, //0x00000992 vmovdqu $-2330(%rip), %xmm4 /* LCPI0_5+0(%rip) */ + 0xc5, 0xc9, 0x76, 0xf6, //0x0000099a vpcmpeqd %xmm6, %xmm6, %xmm6 + 0x0f, 0x8d, 0x41, 0x00, 0x00, 0x00, //0x0000099e jge LBB0_104 + 0xe9, 0x31, 0xfe, 0xff, 0xff, //0x000009a4 jmp LBB0_93 + //0x000009a9 LBB0_103 + 0xc5, 0xf8, 0x77, //0x000009a9 vzeroupper + 0xc4, 0x41, 0x3d, 0x76, 0xc0, //0x000009ac vpcmpeqd %ymm8, %ymm8, %ymm8 + 0xc5, 0x7e, 0x6f, 0x1d, 0x87, 0xf6, 0xff, 0xff, //0x000009b1 vmovdqu $-2425(%rip), %ymm11 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x0d, 0x5f, 0xf6, 0xff, 0xff, //0x000009b9 vmovdqu $-2465(%rip), %ymm9 /* LCPI0_1+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x37, 0xf6, 0xff, 0xff, //0x000009c1 vmovdqu $-2505(%rip), %ymm10 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x3d, 0x8f, 0xf6, 0xff, 0xff, //0x000009c9 vmovdqu $-2417(%rip), %xmm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x2d, 0x97, 0xf6, 0xff, 0xff, //0x000009d1 vmovdqu $-2409(%rip), %xmm5 /* LCPI0_4+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x25, 0x9f, 0xf6, 0xff, 0xff, //0x000009d9 vmovdqu $-2401(%rip), %xmm4 /* LCPI0_5+0(%rip) */ + 0xc5, 0xc9, 0x76, 0xf6, //0x000009e1 vpcmpeqd %xmm6, %xmm6, %xmm6 + //0x000009e5 LBB0_104 + 0xb9, 0x10, 0x00, 0x00, 0x00, //0x000009e5 movl $16, %ecx + 0x31, 0xc0, //0x000009ea xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, //0x000009ec .p2align 4, 0x90 + //0x000009f0 LBB0_105 + 0xc5, 0xfa, 0x6f, 0x04, 0x07, //0x000009f0 vmovdqu (%rdi,%rax), %xmm0 + 0xc5, 0xc1, 0x64, 0xc8, //0x000009f5 vpcmpgtb %xmm0, %xmm7, %xmm1 + 0xc5, 0xf9, 0x74, 0xd5, //0x000009f9 vpcmpeqb %xmm5, %xmm0, %xmm2 + 0xc5, 0xf9, 0x74, 0xdc, //0x000009fd vpcmpeqb %xmm4, %xmm0, %xmm3 + 0xc5, 0xe1, 0xeb, 0xd2, //0x00000a01 vpor %xmm2, %xmm3, %xmm2 + 0xc5, 0xfa, 0x7f, 0x04, 0x03, //0x00000a05 vmovdqu %xmm0, (%rbx,%rax) + 0xc5, 0xf9, 0x64, 0xc6, //0x00000a0a vpcmpgtb %xmm6, %xmm0, %xmm0 + 0xc5, 0xf9, 0xdb, 0xc1, //0x00000a0e vpand %xmm1, %xmm0, %xmm0 + 0xc5, 0xe9, 0xeb, 0xc0, //0x00000a12 vpor %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0xd7, 0xf0, //0x00000a16 vpmovmskb %xmm0, %esi + 0x66, 0x85, 0xf6, //0x00000a1a testw %si, %si + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000a1d jne LBB0_108 + 0x48, 0x83, 0xc0, 0x10, //0x00000a23 addq $16, %rax + 0x49, 0x8d, 0x74, 0x0a, 0xf0, //0x00000a27 leaq $-16(%r10,%rcx), %rsi + 0x48, 0x83, 0xc1, 0xf0, //0x00000a2c addq $-16, %rcx + 0x48, 0x83, 0xfe, 0x1f, //0x00000a30 cmpq $31, %rsi + 0x0f, 0x8f, 0xb6, 0xff, 0xff, 0xff, //0x00000a34 jg LBB0_105 + 0x48, 0x01, 0xc7, //0x00000a3a addq %rax, %rdi + 0x49, 0x29, 0xc2, //0x00000a3d subq %rax, %r10 + 0x48, 0x01, 0xc3, //0x00000a40 addq %rax, %rbx + 0x49, 0x83, 0xfa, 0x08, //0x00000a43 cmpq $8, %r10 + 0x0f, 0x8d, 0x97, 0xfd, 0xff, 0xff, //0x00000a47 jge LBB0_94 + 0xe9, 0x17, 0xfe, 0xff, 0xff, //0x00000a4d jmp LBB0_97 + //0x00000a52 LBB0_108 + 0x0f, 0xb7, 0xce, //0x00000a52 movzwl %si, %ecx + 0x0f, 0xbc, 0xc9, //0x00000a55 bsfl %ecx, %ecx + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00000a58 jmp LBB0_110 + //0x00000a5d LBB0_109 + 0x0f, 0xbc, 0xce, //0x00000a5d bsfl %esi, %ecx + //0x00000a60 LBB0_110 + 0x48, 0x01, 0xcf, //0x00000a60 addq %rcx, %rdi + 0x48, 0x01, 0xc7, //0x00000a63 addq %rax, %rdi + 0x49, 0x29, 0xca, //0x00000a66 subq %rcx, %r10 + 0x49, 0x29, 0xc2, //0x00000a69 subq %rax, %r10 + 0x48, 0x01, 0xcb, //0x00000a6c addq %rcx, %rbx + //0x00000a6f LBB0_111 + 0x48, 0x01, 0xc3, //0x00000a6f addq %rax, %rbx + //0x00000a72 LBB0_112 + 0x8a, 0x07, //0x00000a72 movb (%rdi), %al + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a74 .p2align 4, 0x90 + //0x00000a80 LBB0_113 + 0x48, 0x89, 0xd9, //0x00000a80 movq %rbx, %rcx + 0x0f, 0xb6, 0xc0, //0x00000a83 movzbl %al, %eax + 0x48, 0xc1, 0xe0, 0x04, //0x00000a86 shlq $4, %rax + 0x49, 0x63, 0x1c, 0x00, //0x00000a8a movslq (%r8,%rax), %rbx + 0x49, 0x8b, 0x44, 0x00, 0x08, //0x00000a8e movq $8(%r8,%rax), %rax + 0x48, 0x89, 0x01, //0x00000a93 movq %rax, (%rcx) + 0x48, 0x01, 0xcb, //0x00000a96 addq %rcx, %rbx + 0x49, 0x83, 0xfa, 0x02, //0x00000a99 cmpq $2, %r10 + 0x0f, 0x8c, 0x41, 0x00, 0x00, 0x00, //0x00000a9d jl LBB0_117 + 0x49, 0xff, 0xca, //0x00000aa3 decq %r10 + 0x0f, 0xb6, 0x47, 0x01, //0x00000aa6 movzbl $1(%rdi), %eax + 0x48, 0xff, 0xc7, //0x00000aaa incq %rdi + 0x42, 0x80, 0x3c, 0x08, 0x00, //0x00000aad cmpb $0, (%rax,%r9) + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x00000ab2 jne LBB0_113 + 0xe9, 0x13, 0xfd, 0xff, 0xff, //0x00000ab8 jmp LBB0_87 + //0x00000abd LBB0_115 + 0x0f, 0xbc, 0xc0, //0x00000abd bsfl %eax, %eax + 0x48, 0x01, 0xc7, //0x00000ac0 addq %rax, %rdi + 0x49, 0x29, 0xc2, //0x00000ac3 subq %rax, %r10 + 0xe9, 0xa4, 0xff, 0xff, 0xff, //0x00000ac6 jmp LBB0_111 + //0x00000acb LBB0_116 + 0x0f, 0xbc, 0xc0, //0x00000acb bsfl %eax, %eax + 0x48, 0x8d, 0x48, 0x04, //0x00000ace leaq $4(%rax), %rcx + 0x48, 0x8d, 0x7c, 0x07, 0x04, //0x00000ad2 leaq $4(%rdi,%rax), %rdi + 0x49, 0x29, 0xca, //0x00000ad7 subq %rcx, %r10 + 0x48, 0x8d, 0x5c, 0x03, 0x04, //0x00000ada leaq $4(%rbx,%rax), %rbx + 0xe9, 0x8e, 0xff, 0xff, 0xff, //0x00000adf jmp LBB0_112 + //0x00000ae4 LBB0_117 + 0x48, 0x29, 0xd3, //0x00000ae4 subq %rdx, %rbx + 0x49, 0x89, 0x1f, //0x00000ae7 movq %rbx, (%r15) + 0xe9, 0x1d, 0x00, 0x00, 0x00, //0x00000aea jmp LBB0_121 + //0x00000aef LBB0_118 + 0x49, 0x29, 0xd4, //0x00000aef subq %rdx, %r12 + 0x4d, 0x89, 0x27, //0x00000af2 movq %r12, (%r15) + 0x49, 0x29, 0xfb, //0x00000af5 subq %rdi, %r11 + 0xe9, 0x0c, 0x00, 0x00, 0x00, //0x00000af8 jmp LBB0_120 + //0x00000afd LBB0_119 + 0x49, 0x29, 0xd4, //0x00000afd subq %rdx, %r12 + 0x4d, 0x89, 0x27, //0x00000b00 movq %r12, (%r15) + 0x49, 0xf7, 0xd3, //0x00000b03 notq %r11 + 0x49, 0x01, 0xfb, //0x00000b06 addq %rdi, %r11 + //0x00000b09 LBB0_120 + 0x4d, 0x89, 0xde, //0x00000b09 movq %r11, %r14 + //0x00000b0c LBB0_121 + 0x4c, 0x89, 0xf0, //0x00000b0c movq %r14, %rax + 0x48, 0x83, 0xc4, 0x08, //0x00000b0f addq $8, %rsp + 0x5b, //0x00000b13 popq %rbx + 0x41, 0x5c, //0x00000b14 popq %r12 + 0x41, 0x5d, //0x00000b16 popq %r13 + 0x41, 0x5e, //0x00000b18 popq %r14 + 0x41, 0x5f, //0x00000b1a popq %r15 + 0x5d, //0x00000b1c popq %rbp + 0xc5, 0xf8, 0x77, //0x00000b1d vzeroupper + 0xc3, //0x00000b20 retq + //0x00000b21 LBB0_122 + 0x49, 0x29, 0xd4, //0x00000b21 subq %rdx, %r12 + 0x49, 0xf7, 0xd2, //0x00000b24 notq %r10 + 0x4d, 0x01, 0xd4, //0x00000b27 addq %r10, %r12 + 0x4d, 0x89, 0x27, //0x00000b2a movq %r12, (%r15) + 0x49, 0x29, 0xfb, //0x00000b2d subq %rdi, %r11 + 0x4d, 0x01, 0xd3, //0x00000b30 addq %r10, %r11 + 0x49, 0xf7, 0xd3, //0x00000b33 notq %r11 + 0xe9, 0xce, 0xff, 0xff, 0xff, //0x00000b36 jmp LBB0_120 + 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b3b .p2align 4, 0x00 + //0x00000b40 __SingleQuoteTab + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b40 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, //0x00000b48 QUAD $0x000030303030755c // .asciz 8, '\\u0000\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b50 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x31, 0x00, 0x00, //0x00000b58 QUAD $0x000031303030755c // .asciz 8, '\\u0001\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b60 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x32, 0x00, 0x00, //0x00000b68 QUAD $0x000032303030755c // .asciz 8, '\\u0002\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b70 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x33, 0x00, 0x00, //0x00000b78 QUAD $0x000033303030755c // .asciz 8, '\\u0003\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b80 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x34, 0x00, 0x00, //0x00000b88 QUAD $0x000034303030755c // .asciz 8, '\\u0004\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b90 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x35, 0x00, 0x00, //0x00000b98 QUAD $0x000035303030755c // .asciz 8, '\\u0005\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ba0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x36, 0x00, 0x00, //0x00000ba8 QUAD $0x000036303030755c // .asciz 8, '\\u0006\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bb0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x37, 0x00, 0x00, //0x00000bb8 QUAD $0x000037303030755c // .asciz 8, '\\u0007\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bc0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x38, 0x00, 0x00, //0x00000bc8 QUAD $0x000038303030755c // .asciz 8, '\\u0008\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bd0 .quad 2 + 0x5c, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bd8 QUAD $0x000000000000745c // .asciz 8, '\\t\x00\x00\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000be0 .quad 2 + 0x5c, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000be8 QUAD $0x0000000000006e5c // .asciz 8, '\\n\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bf0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x62, 0x00, 0x00, //0x00000bf8 QUAD $0x000062303030755c // .asciz 8, '\\u000b\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c00 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x63, 0x00, 0x00, //0x00000c08 QUAD $0x000063303030755c // .asciz 8, '\\u000c\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c10 .quad 2 + 0x5c, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c18 QUAD $0x000000000000725c // .asciz 8, '\\r\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c20 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x65, 0x00, 0x00, //0x00000c28 QUAD $0x000065303030755c // .asciz 8, '\\u000e\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c30 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x66, 0x00, 0x00, //0x00000c38 QUAD $0x000066303030755c // .asciz 8, '\\u000f\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c40 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x30, 0x00, 0x00, //0x00000c48 QUAD $0x000030313030755c // .asciz 8, '\\u0010\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c50 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x31, 0x00, 0x00, //0x00000c58 QUAD $0x000031313030755c // .asciz 8, '\\u0011\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c60 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x32, 0x00, 0x00, //0x00000c68 QUAD $0x000032313030755c // .asciz 8, '\\u0012\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c70 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x33, 0x00, 0x00, //0x00000c78 QUAD $0x000033313030755c // .asciz 8, '\\u0013\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c80 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x34, 0x00, 0x00, //0x00000c88 QUAD $0x000034313030755c // .asciz 8, '\\u0014\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c90 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x35, 0x00, 0x00, //0x00000c98 QUAD $0x000035313030755c // .asciz 8, '\\u0015\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ca0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x36, 0x00, 0x00, //0x00000ca8 QUAD $0x000036313030755c // .asciz 8, '\\u0016\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cb0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x37, 0x00, 0x00, //0x00000cb8 QUAD $0x000037313030755c // .asciz 8, '\\u0017\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cc0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x38, 0x00, 0x00, //0x00000cc8 QUAD $0x000038313030755c // .asciz 8, '\\u0018\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cd0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x39, 0x00, 0x00, //0x00000cd8 QUAD $0x000039313030755c // .asciz 8, '\\u0019\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ce0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x61, 0x00, 0x00, //0x00000ce8 QUAD $0x000061313030755c // .asciz 8, '\\u001a\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cf0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x62, 0x00, 0x00, //0x00000cf8 QUAD $0x000062313030755c // .asciz 8, '\\u001b\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d00 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x63, 0x00, 0x00, //0x00000d08 QUAD $0x000063313030755c // .asciz 8, '\\u001c\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d10 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x64, 0x00, 0x00, //0x00000d18 QUAD $0x000064313030755c // .asciz 8, '\\u001d\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d20 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x65, 0x00, 0x00, //0x00000d28 QUAD $0x000065313030755c // .asciz 8, '\\u001e\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d30 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x66, 0x00, 0x00, //0x00000d38 QUAD $0x000066313030755c // .asciz 8, '\\u001f\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d60 .quad 2 + 0x5c, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d68 QUAD $0x000000000000225c // .asciz 8, '\\"\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000da0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000db0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000de0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000df0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ea0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000eb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ec0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ed0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ee0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ef0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fe0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ff0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001000 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001010 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001020 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001030 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001040 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001050 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001060 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001070 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001080 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001090 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001100 .quad 2 + 0x5c, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001108 QUAD $0x0000000000005c5c // .asciz 8, '\\\\\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001110 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001120 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001130 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001140 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001150 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001160 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001170 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001180 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001190 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001200 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001210 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001220 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001230 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001240 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001250 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001260 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001270 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001280 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001290 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001300 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001310 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001320 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001330 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001340 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001350 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001360 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001370 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001380 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001390 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001400 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001410 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001420 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001430 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001440 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001450 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001460 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001470 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001480 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001490 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001500 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001510 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001520 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001530 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001540 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001550 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001560 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001570 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001580 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001590 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001600 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001610 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001620 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001630 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001640 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001650 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001660 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001670 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001680 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001690 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001700 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001710 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001720 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001730 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001740 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001750 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001760 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001770 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001780 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001790 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001800 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001810 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001820 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001830 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001840 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001850 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001860 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001870 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001880 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001890 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001900 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001910 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001920 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001930 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001940 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001950 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001960 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001970 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001980 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001990 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001aa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ab0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ac0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ad0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ae0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001af0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x00001b40 .p2align 4, 0x00 + //0x00001b40 __DoubleQuoteTab + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b40 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x30, 0x00, //0x00001b48 QUAD $0x0030303030755c5c // .asciz 8, '\\\\u0000\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b50 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x31, 0x00, //0x00001b58 QUAD $0x0031303030755c5c // .asciz 8, '\\\\u0001\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b60 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x32, 0x00, //0x00001b68 QUAD $0x0032303030755c5c // .asciz 8, '\\\\u0002\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b70 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x33, 0x00, //0x00001b78 QUAD $0x0033303030755c5c // .asciz 8, '\\\\u0003\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b80 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x34, 0x00, //0x00001b88 QUAD $0x0034303030755c5c // .asciz 8, '\\\\u0004\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b90 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x35, 0x00, //0x00001b98 QUAD $0x0035303030755c5c // .asciz 8, '\\\\u0005\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ba0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x36, 0x00, //0x00001ba8 QUAD $0x0036303030755c5c // .asciz 8, '\\\\u0006\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bb0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x37, 0x00, //0x00001bb8 QUAD $0x0037303030755c5c // .asciz 8, '\\\\u0007\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bc0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x38, 0x00, //0x00001bc8 QUAD $0x0038303030755c5c // .asciz 8, '\\\\u0008\x00' + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bd0 .quad 3 + 0x5c, 0x5c, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bd8 QUAD $0x0000000000745c5c // .asciz 8, '\\\\t\x00\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001be0 .quad 3 + 0x5c, 0x5c, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001be8 QUAD $0x00000000006e5c5c // .asciz 8, '\\\\n\x00\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bf0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x62, 0x00, //0x00001bf8 QUAD $0x0062303030755c5c // .asciz 8, '\\\\u000b\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c00 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x63, 0x00, //0x00001c08 QUAD $0x0063303030755c5c // .asciz 8, '\\\\u000c\x00' + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c10 .quad 3 + 0x5c, 0x5c, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c18 QUAD $0x0000000000725c5c // .asciz 8, '\\\\r\x00\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c20 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x65, 0x00, //0x00001c28 QUAD $0x0065303030755c5c // .asciz 8, '\\\\u000e\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c30 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x66, 0x00, //0x00001c38 QUAD $0x0066303030755c5c // .asciz 8, '\\\\u000f\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c40 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x30, 0x00, //0x00001c48 QUAD $0x0030313030755c5c // .asciz 8, '\\\\u0010\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c50 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x31, 0x00, //0x00001c58 QUAD $0x0031313030755c5c // .asciz 8, '\\\\u0011\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c60 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x32, 0x00, //0x00001c68 QUAD $0x0032313030755c5c // .asciz 8, '\\\\u0012\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c70 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x33, 0x00, //0x00001c78 QUAD $0x0033313030755c5c // .asciz 8, '\\\\u0013\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c80 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x34, 0x00, //0x00001c88 QUAD $0x0034313030755c5c // .asciz 8, '\\\\u0014\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c90 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x35, 0x00, //0x00001c98 QUAD $0x0035313030755c5c // .asciz 8, '\\\\u0015\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ca0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x36, 0x00, //0x00001ca8 QUAD $0x0036313030755c5c // .asciz 8, '\\\\u0016\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001cb0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x37, 0x00, //0x00001cb8 QUAD $0x0037313030755c5c // .asciz 8, '\\\\u0017\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001cc0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x38, 0x00, //0x00001cc8 QUAD $0x0038313030755c5c // .asciz 8, '\\\\u0018\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001cd0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x39, 0x00, //0x00001cd8 QUAD $0x0039313030755c5c // .asciz 8, '\\\\u0019\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ce0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x61, 0x00, //0x00001ce8 QUAD $0x0061313030755c5c // .asciz 8, '\\\\u001a\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001cf0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x62, 0x00, //0x00001cf8 QUAD $0x0062313030755c5c // .asciz 8, '\\\\u001b\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d00 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x63, 0x00, //0x00001d08 QUAD $0x0063313030755c5c // .asciz 8, '\\\\u001c\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d10 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x64, 0x00, //0x00001d18 QUAD $0x0064313030755c5c // .asciz 8, '\\\\u001d\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d20 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x65, 0x00, //0x00001d28 QUAD $0x0065313030755c5c // .asciz 8, '\\\\u001e\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d30 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x66, 0x00, //0x00001d38 QUAD $0x0066313030755c5c // .asciz 8, '\\\\u001f\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d60 .quad 4 + 0x5c, 0x5c, 0x5c, 0x22, 0x00, 0x00, 0x00, 0x00, //0x00001d68 QUAD $0x00000000225c5c5c // .asciz 8, '\\\\\\"\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001da0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001db0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001dc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001dd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001de0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001df0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ea0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001eb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ec0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ed0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ee0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ef0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fe0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ff0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002000 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002010 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002020 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002030 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002040 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002050 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002060 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002070 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002080 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002090 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002100 .quad 4 + 0x5c, 0x5c, 0x5c, 0x5c, 0x00, 0x00, 0x00, 0x00, //0x00002108 QUAD $0x000000005c5c5c5c // .asciz 8, '\\\\\\\\\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002110 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002120 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002130 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002140 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002150 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002160 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002170 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002180 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002190 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002200 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002210 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002220 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002230 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002240 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002250 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002260 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002270 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002280 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002290 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002300 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002310 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002320 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002330 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002340 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002350 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002360 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002370 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002380 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002390 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002400 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002410 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002420 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002430 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002440 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002450 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002460 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002470 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002480 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002490 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002500 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002510 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002520 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002530 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002540 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002550 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002560 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002570 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002580 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002590 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002600 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002610 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002620 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002630 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002640 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002650 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002660 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002670 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002680 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002690 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002700 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002710 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002720 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002730 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002740 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002750 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002760 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002770 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002780 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002790 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000027a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000027b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000027c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000027d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000027e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000027f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002800 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002810 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002820 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002830 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002840 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002850 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002860 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002870 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002880 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002890 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000028a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000028b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000028c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000028d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000028e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000028f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002900 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002910 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002920 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002930 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002940 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002950 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002960 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002970 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002980 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002990 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000029a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000029b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000029c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000029d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000029e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000029f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002a00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002a10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002a20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002a30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002a40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002a50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002a60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002a70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002a80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002a90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002aa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002ab0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002ac0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002ad0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002ae0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002af0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002b00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002b10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002b20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002b30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x00002b40 .p2align 4, 0x00 + //0x00002b40 __EscTab + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x00002b40 QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .ascii 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x00002b50 QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .ascii 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002b60 QUAD $0x0000000000010000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002b70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002b80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //0x00002b90 QUAD $0x0000000000000000; LONG $0x00000000; BYTE $0x01 // .ascii 13, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002b9d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002bad QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002bbd QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002bcd QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002bdd QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002bed QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002bfd QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002c0d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002c1d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002c2d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, //0x00002c3d WORD $0x0000; BYTE $0x00 // .space 3, '\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_array.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_array.go new file mode 100644 index 0000000..df96e21 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_array.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the License ); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_array func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_skip_array uintptr + +//go:nosplit +func skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_skip_array(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_array_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_array_subr.go new file mode 100644 index 0000000..4a1c40d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_array_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_array = 448 +) + +const ( + _stack__skip_array = 120 +) + +const ( + _size__skip_array = 10328 +) + +var ( + _pcsp__skip_array = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {9772, 120}, + {9776, 48}, + {9777, 40}, + {9779, 32}, + {9781, 24}, + {9783, 16}, + {9785, 8}, + {9789, 0}, + {10328, 120}, + } +) + +var _cfunc_skip_array = []loader.CFunc{ + {"_skip_array_entry", 0, _entry__skip_array, 0, nil}, + {"_skip_array", _entry__skip_array, _size__skip_array, _stack__skip_array, _pcsp__skip_array}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_array_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_array_text_amd64.go new file mode 100644 index 0000000..6d070fe --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_array_text_amd64.go @@ -0,0 +1,3082 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_skip_array = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .quad 1 + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 5 + //0x00000010 LCPI0_11 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000010 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000020 LCPI0_12 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000020 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000030 LCPI0_13 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000030 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000040 LCPI0_14 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000040 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000050 LCPI0_15 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000050 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000060 LCPI0_16 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000060 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000070 LCPI0_17 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000070 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000080 .p2align 5, 0x00 + //0x00000080 LCPI0_1 + 0x20, //0x00000080 .byte 32 + 0x00, //0x00000081 .byte 0 + 0x00, //0x00000082 .byte 0 + 0x00, //0x00000083 .byte 0 + 0x00, //0x00000084 .byte 0 + 0x00, //0x00000085 .byte 0 + 0x00, //0x00000086 .byte 0 + 0x00, //0x00000087 .byte 0 + 0x00, //0x00000088 .byte 0 + 0x09, //0x00000089 .byte 9 + 0x0a, //0x0000008a .byte 10 + 0x00, //0x0000008b .byte 0 + 0x00, //0x0000008c .byte 0 + 0x0d, //0x0000008d .byte 13 + 0x00, //0x0000008e .byte 0 + 0x00, //0x0000008f .byte 0 + 0x20, //0x00000090 .byte 32 + 0x00, //0x00000091 .byte 0 + 0x00, //0x00000092 .byte 0 + 0x00, //0x00000093 .byte 0 + 0x00, //0x00000094 .byte 0 + 0x00, //0x00000095 .byte 0 + 0x00, //0x00000096 .byte 0 + 0x00, //0x00000097 .byte 0 + 0x00, //0x00000098 .byte 0 + 0x09, //0x00000099 .byte 9 + 0x0a, //0x0000009a .byte 10 + 0x00, //0x0000009b .byte 0 + 0x00, //0x0000009c .byte 0 + 0x0d, //0x0000009d .byte 13 + 0x00, //0x0000009e .byte 0 + 0x00, //0x0000009f .byte 0 + //0x000000a0 LCPI0_2 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x000000a0 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x000000b0 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x000000c0 LCPI0_3 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x000000c0 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x000000d0 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x000000e0 LCPI0_4 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x000000e0 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x000000f0 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000100 LCPI0_5 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000100 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000110 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000120 LCPI0_6 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000120 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000130 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000140 LCPI0_7 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000140 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000150 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000160 LCPI0_8 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000160 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000170 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000180 LCPI0_9 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000180 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000190 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x000001a0 LCPI0_10 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000001a0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000001b0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000001c0 .p2align 4, 0x90 + //0x000001c0 _skip_array + 0x55, //0x000001c0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000001c1 movq %rsp, %rbp + 0x41, 0x57, //0x000001c4 pushq %r15 + 0x41, 0x56, //0x000001c6 pushq %r14 + 0x41, 0x55, //0x000001c8 pushq %r13 + 0x41, 0x54, //0x000001ca pushq %r12 + 0x53, //0x000001cc pushq %rbx + 0x48, 0x83, 0xec, 0x48, //0x000001cd subq $72, %rsp + 0x48, 0x89, 0x4d, 0x98, //0x000001d1 movq %rcx, $-104(%rbp) + 0x49, 0x89, 0xd6, //0x000001d5 movq %rdx, %r14 + 0x49, 0x89, 0xf2, //0x000001d8 movq %rsi, %r10 + 0x48, 0x89, 0x7d, 0xb0, //0x000001db movq %rdi, $-80(%rbp) + 0xc5, 0xfa, 0x6f, 0x05, 0x19, 0xfe, 0xff, 0xff, //0x000001df vmovdqu $-487(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x7f, 0x02, //0x000001e7 vmovdqu %xmm0, (%rdx) + 0x4c, 0x8b, 0x26, //0x000001eb movq (%rsi), %r12 + 0x48, 0xc7, 0x45, 0x90, 0xff, 0xff, 0xff, 0xff, //0x000001ee movq $-1, $-112(%rbp) + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000001f6 movl $1, %r8d + 0xc5, 0xfe, 0x6f, 0x2d, 0x7c, 0xfe, 0xff, 0xff, //0x000001fc vmovdqu $-388(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x94, 0xfe, 0xff, 0xff, //0x00000204 vmovdqu $-364(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xac, 0xfe, 0xff, 0xff, //0x0000020c vmovdqu $-340(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0xc4, 0xfe, 0xff, 0xff, //0x00000214 vmovdqu $-316(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000021c vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0xd7, 0xfe, 0xff, 0xff, //0x00000221 vmovdqu $-297(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xef, 0xfe, 0xff, 0xff, //0x00000229 vmovdqu $-273(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x07, 0xff, 0xff, 0xff, //0x00000231 vmovdqu $-249(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x1f, 0xff, 0xff, 0xff, //0x00000239 vmovdqu $-225(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x37, 0xff, 0xff, 0xff, //0x00000241 vmovdqu $-201(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x4f, 0xff, 0xff, 0xff, //0x00000249 vmovdqu $-177(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + 0x48, 0x89, 0x75, 0xd0, //0x00000251 movq %rsi, $-48(%rbp) + 0x48, 0x89, 0x55, 0xc8, //0x00000255 movq %rdx, $-56(%rbp) + 0xe9, 0x62, 0x00, 0x00, 0x00, //0x00000259 jmp LBB0_5 + //0x0000025e LBB0_72 + 0x4c, 0x89, 0xe1, //0x0000025e movq %r12, %rcx + //0x00000261 LBB0_199 + 0x4c, 0x89, 0xe0, //0x00000261 movq %r12, %rax + 0x4e, 0x8d, 0x64, 0x31, 0xff, //0x00000264 leaq $-1(%rcx,%r14), %r12 + 0x4c, 0x8b, 0x55, 0xd0, //0x00000269 movq $-48(%rbp), %r10 + 0x4d, 0x89, 0x22, //0x0000026d movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00000270 movq %r13, %rcx + 0x48, 0x85, 0xc0, //0x00000273 testq %rax, %rax + 0x4c, 0x8b, 0x75, 0xc8, //0x00000276 movq $-56(%rbp), %r14 + 0x0f, 0x8e, 0x69, 0x25, 0x00, 0x00, //0x0000027a jle LBB0_501 + //0x00000280 .p2align 4, 0x90 + //0x00000280 LBB0_3 + 0x49, 0x8b, 0x16, //0x00000280 movq (%r14), %rdx + 0x49, 0x89, 0xd0, //0x00000283 movq %rdx, %r8 + 0x48, 0x8b, 0x4d, 0x90, //0x00000286 movq $-112(%rbp), %rcx + 0x48, 0x85, 0xd2, //0x0000028a testq %rdx, %rdx + 0x0f, 0x85, 0x2d, 0x00, 0x00, 0x00, //0x0000028d jne LBB0_5 + 0xe9, 0x51, 0x25, 0x00, 0x00, //0x00000293 jmp LBB0_501 + //0x00000298 LBB0_1 + 0x4c, 0x89, 0xe0, //0x00000298 movq %r12, %rax + 0x4d, 0x8d, 0x65, 0x04, //0x0000029b leaq $4(%r13), %r12 + 0x4d, 0x89, 0x22, //0x0000029f movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x000002a2 movq %r13, %rcx + 0x48, 0x85, 0xc0, //0x000002a5 testq %rax, %rax + 0x0f, 0x8f, 0xd2, 0xff, 0xff, 0xff, //0x000002a8 jg LBB0_3 + 0xe9, 0x36, 0x25, 0x00, 0x00, //0x000002ae jmp LBB0_501 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002b3 .p2align 4, 0x90 + //0x000002c0 LBB0_5 + 0x48, 0x8b, 0x45, 0xb0, //0x000002c0 movq $-80(%rbp), %rax + 0x4c, 0x8b, 0x08, //0x000002c4 movq (%rax), %r9 + 0x48, 0x8b, 0x48, 0x08, //0x000002c7 movq $8(%rax), %rcx + 0x49, 0x39, 0xcc, //0x000002cb cmpq %rcx, %r12 + 0x0f, 0x83, 0x2c, 0x00, 0x00, 0x00, //0x000002ce jae LBB0_10 + 0x43, 0x8a, 0x04, 0x21, //0x000002d4 movb (%r9,%r12), %al + 0x3c, 0x0d, //0x000002d8 cmpb $13, %al + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x000002da je LBB0_10 + 0x3c, 0x20, //0x000002e0 cmpb $32, %al + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x000002e2 je LBB0_10 + 0x04, 0xf7, //0x000002e8 addb $-9, %al + 0x3c, 0x01, //0x000002ea cmpb $1, %al + 0x0f, 0x86, 0x0e, 0x00, 0x00, 0x00, //0x000002ec jbe LBB0_10 + 0x4d, 0x89, 0xe5, //0x000002f2 movq %r12, %r13 + 0xe9, 0x8e, 0x01, 0x00, 0x00, //0x000002f5 jmp LBB0_36 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002fa .p2align 4, 0x90 + //0x00000300 LBB0_10 + 0x4d, 0x8d, 0x6c, 0x24, 0x01, //0x00000300 leaq $1(%r12), %r13 + 0x49, 0x39, 0xcd, //0x00000305 cmpq %rcx, %r13 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000308 jae LBB0_14 + 0x43, 0x8a, 0x14, 0x29, //0x0000030e movb (%r9,%r13), %dl + 0x80, 0xfa, 0x0d, //0x00000312 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000315 je LBB0_14 + 0x80, 0xfa, 0x20, //0x0000031b cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000031e je LBB0_14 + 0x80, 0xc2, 0xf7, //0x00000324 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000327 cmpb $1, %dl + 0x0f, 0x87, 0x58, 0x01, 0x00, 0x00, //0x0000032a ja LBB0_36 + //0x00000330 .p2align 4, 0x90 + //0x00000330 LBB0_14 + 0x4d, 0x8d, 0x6c, 0x24, 0x02, //0x00000330 leaq $2(%r12), %r13 + 0x49, 0x39, 0xcd, //0x00000335 cmpq %rcx, %r13 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000338 jae LBB0_18 + 0x43, 0x8a, 0x14, 0x29, //0x0000033e movb (%r9,%r13), %dl + 0x80, 0xfa, 0x0d, //0x00000342 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000345 je LBB0_18 + 0x80, 0xfa, 0x20, //0x0000034b cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000034e je LBB0_18 + 0x80, 0xc2, 0xf7, //0x00000354 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000357 cmpb $1, %dl + 0x0f, 0x87, 0x28, 0x01, 0x00, 0x00, //0x0000035a ja LBB0_36 + //0x00000360 .p2align 4, 0x90 + //0x00000360 LBB0_18 + 0x4d, 0x8d, 0x6c, 0x24, 0x03, //0x00000360 leaq $3(%r12), %r13 + 0x49, 0x39, 0xcd, //0x00000365 cmpq %rcx, %r13 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000368 jae LBB0_22 + 0x43, 0x8a, 0x14, 0x29, //0x0000036e movb (%r9,%r13), %dl + 0x80, 0xfa, 0x0d, //0x00000372 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000375 je LBB0_22 + 0x80, 0xfa, 0x20, //0x0000037b cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000037e je LBB0_22 + 0x80, 0xc2, 0xf7, //0x00000384 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000387 cmpb $1, %dl + 0x0f, 0x87, 0xf8, 0x00, 0x00, 0x00, //0x0000038a ja LBB0_36 + //0x00000390 .p2align 4, 0x90 + //0x00000390 LBB0_22 + 0x4d, 0x8d, 0x6c, 0x24, 0x04, //0x00000390 leaq $4(%r12), %r13 + 0x48, 0x89, 0xca, //0x00000395 movq %rcx, %rdx + 0x4c, 0x29, 0xea, //0x00000398 subq %r13, %rdx + 0x0f, 0x86, 0xd2, 0x23, 0x00, 0x00, //0x0000039b jbe LBB0_473 + 0x4d, 0x01, 0xcd, //0x000003a1 addq %r9, %r13 + 0x48, 0x83, 0xfa, 0x20, //0x000003a4 cmpq $32, %rdx + 0x0f, 0x82, 0x56, 0x00, 0x00, 0x00, //0x000003a8 jb LBB0_28 + 0x48, 0x89, 0xce, //0x000003ae movq %rcx, %rsi + 0x4c, 0x29, 0xe6, //0x000003b1 subq %r12, %rsi + 0x48, 0x83, 0xc6, 0xdc, //0x000003b4 addq $-36, %rsi + 0x48, 0x89, 0xf7, //0x000003b8 movq %rsi, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x000003bb andq $-32, %rdi + 0x4c, 0x01, 0xe7, //0x000003bf addq %r12, %rdi + 0x49, 0x8d, 0x7c, 0x39, 0x24, //0x000003c2 leaq $36(%r9,%rdi), %rdi + 0x83, 0xe6, 0x1f, //0x000003c7 andl $31, %esi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003ca .p2align 4, 0x90 + //0x000003d0 LBB0_25 + 0xc4, 0xc1, 0x7e, 0x6f, 0x45, 0x00, //0x000003d0 vmovdqu (%r13), %ymm0 + 0xc4, 0xe2, 0x55, 0x00, 0xc8, //0x000003d6 vpshufb %ymm0, %ymm5, %ymm1 + 0xc5, 0xfd, 0x74, 0xc1, //0x000003db vpcmpeqb %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xd8, //0x000003df vpmovmskb %ymm0, %ebx + 0x83, 0xfb, 0xff, //0x000003e3 cmpl $-1, %ebx + 0x0f, 0x85, 0x84, 0x00, 0x00, 0x00, //0x000003e6 jne LBB0_35 + 0x49, 0x83, 0xc5, 0x20, //0x000003ec addq $32, %r13 + 0x48, 0x83, 0xc2, 0xe0, //0x000003f0 addq $-32, %rdx + 0x48, 0x83, 0xfa, 0x1f, //0x000003f4 cmpq $31, %rdx + 0x0f, 0x87, 0xd2, 0xff, 0xff, 0xff, //0x000003f8 ja LBB0_25 + 0x48, 0x89, 0xf2, //0x000003fe movq %rsi, %rdx + 0x49, 0x89, 0xfd, //0x00000401 movq %rdi, %r13 + //0x00000404 LBB0_28 + 0x48, 0x85, 0xd2, //0x00000404 testq %rdx, %rdx + 0x0f, 0x84, 0x47, 0x00, 0x00, 0x00, //0x00000407 je LBB0_34 + 0x49, 0x8d, 0x74, 0x15, 0x00, //0x0000040d leaq (%r13,%rdx), %rsi + 0x49, 0xff, 0xc5, //0x00000412 incq %r13 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000415 .p2align 4, 0x90 + //0x00000420 LBB0_30 + 0x41, 0x0f, 0xbe, 0x7d, 0xff, //0x00000420 movsbl $-1(%r13), %edi + 0x83, 0xff, 0x20, //0x00000425 cmpl $32, %edi + 0x0f, 0x87, 0x09, 0x11, 0x00, 0x00, //0x00000428 ja LBB0_268 + 0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000042e movabsq $4294977024, %rax + 0x48, 0x0f, 0xa3, 0xf8, //0x00000438 btq %rdi, %rax + 0x0f, 0x83, 0xf5, 0x10, 0x00, 0x00, //0x0000043c jae LBB0_268 + 0x48, 0xff, 0xca, //0x00000442 decq %rdx + 0x49, 0xff, 0xc5, //0x00000445 incq %r13 + 0x48, 0x85, 0xd2, //0x00000448 testq %rdx, %rdx + 0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x0000044b jne LBB0_30 + 0x49, 0x89, 0xf5, //0x00000451 movq %rsi, %r13 + //0x00000454 LBB0_34 + 0x4d, 0x29, 0xcd, //0x00000454 subq %r9, %r13 + 0x49, 0x39, 0xcd, //0x00000457 cmpq %rcx, %r13 + 0x0f, 0x82, 0x28, 0x00, 0x00, 0x00, //0x0000045a jb LBB0_36 + 0xe9, 0x11, 0x23, 0x00, 0x00, //0x00000460 jmp LBB0_474 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000465 .p2align 4, 0x90 + //0x00000470 LBB0_35 + 0x4d, 0x29, 0xcd, //0x00000470 subq %r9, %r13 + 0xf7, 0xd3, //0x00000473 notl %ebx + 0x48, 0x63, 0xd3, //0x00000475 movslq %ebx, %rdx + 0x48, 0x0f, 0xbc, 0xd2, //0x00000478 bsfq %rdx, %rdx + 0x49, 0x01, 0xd5, //0x0000047c addq %rdx, %r13 + 0x49, 0x39, 0xcd, //0x0000047f cmpq %rcx, %r13 + 0x0f, 0x83, 0xee, 0x22, 0x00, 0x00, //0x00000482 jae LBB0_474 + //0x00000488 LBB0_36 + 0x4d, 0x8d, 0x65, 0x01, //0x00000488 leaq $1(%r13), %r12 + 0x4d, 0x89, 0x22, //0x0000048c movq %r12, (%r10) + 0x43, 0x0f, 0xbe, 0x3c, 0x29, //0x0000048f movsbl (%r9,%r13), %edi + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000494 movq $-1, %rcx + 0x85, 0xff, //0x0000049b testl %edi, %edi + 0x0f, 0x84, 0x46, 0x23, 0x00, 0x00, //0x0000049d je LBB0_501 + 0x4c, 0x89, 0xee, //0x000004a3 movq %r13, %rsi + 0x48, 0xf7, 0xd6, //0x000004a6 notq %rsi + 0x49, 0x8d, 0x50, 0xff, //0x000004a9 leaq $-1(%r8), %rdx + 0x43, 0x8b, 0x1c, 0xc6, //0x000004ad movl (%r14,%r8,8), %ebx + 0x48, 0x8b, 0x45, 0x90, //0x000004b1 movq $-112(%rbp), %rax + 0x48, 0x83, 0xf8, 0xff, //0x000004b5 cmpq $-1, %rax + 0x49, 0x0f, 0x44, 0xc5, //0x000004b9 cmoveq %r13, %rax + 0x48, 0x89, 0x45, 0x90, //0x000004bd movq %rax, $-112(%rbp) + 0xff, 0xcb, //0x000004c1 decl %ebx + 0x83, 0xfb, 0x05, //0x000004c3 cmpl $5, %ebx + 0x0f, 0x87, 0x0d, 0x02, 0x00, 0x00, //0x000004c6 ja LBB0_67 + 0x48, 0x8d, 0x05, 0x45, 0x25, 0x00, 0x00, //0x000004cc leaq $9541(%rip), %rax /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x1c, 0x98, //0x000004d3 movslq (%rax,%rbx,4), %rbx + 0x48, 0x01, 0xc3, //0x000004d7 addq %rax, %rbx + 0xff, 0xe3, //0x000004da jmpq *%rbx + //0x000004dc LBB0_39 + 0x83, 0xff, 0x2c, //0x000004dc cmpl $44, %edi + 0x0f, 0x84, 0x01, 0x06, 0x00, 0x00, //0x000004df je LBB0_73 + 0x83, 0xff, 0x5d, //0x000004e5 cmpl $93, %edi + 0x0f, 0x84, 0xd3, 0x01, 0x00, 0x00, //0x000004e8 je LBB0_41 + 0xe9, 0xef, 0x22, 0x00, 0x00, //0x000004ee jmp LBB0_500 + //0x000004f3 LBB0_42 + 0x40, 0x80, 0xff, 0x5d, //0x000004f3 cmpb $93, %dil + 0x0f, 0x84, 0xc4, 0x01, 0x00, 0x00, //0x000004f7 je LBB0_41 + 0x4b, 0xc7, 0x04, 0xc6, 0x01, 0x00, 0x00, 0x00, //0x000004fd movq $1, (%r14,%r8,8) + 0x83, 0xff, 0x7b, //0x00000505 cmpl $123, %edi + 0x0f, 0x86, 0xd7, 0x01, 0x00, 0x00, //0x00000508 jbe LBB0_68 + 0xe9, 0xcf, 0x22, 0x00, 0x00, //0x0000050e jmp LBB0_500 + //0x00000513 LBB0_44 + 0x40, 0x80, 0xff, 0x22, //0x00000513 cmpb $34, %dil + 0x0f, 0x85, 0xc5, 0x22, 0x00, 0x00, //0x00000517 jne LBB0_500 + 0x4b, 0xc7, 0x04, 0xc6, 0x04, 0x00, 0x00, 0x00, //0x0000051d movq $4, (%r14,%r8,8) + 0x48, 0x8b, 0x45, 0xb0, //0x00000525 movq $-80(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x00000529 movq $8(%rax), %rdx + 0xf6, 0x45, 0x98, 0x20, //0x0000052d testb $32, $-104(%rbp) + 0x4c, 0x89, 0x65, 0xa8, //0x00000531 movq %r12, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb8, //0x00000535 movq %rdx, $-72(%rbp) + 0x0f, 0x85, 0xc9, 0x05, 0x00, 0x00, //0x00000539 jne LBB0_75 + 0x48, 0x89, 0xd1, //0x0000053f movq %rdx, %rcx + 0x4c, 0x29, 0xe1, //0x00000542 subq %r12, %rcx + 0x0f, 0x84, 0x34, 0x24, 0x00, 0x00, //0x00000545 je LBB0_507 + 0x4b, 0x8d, 0x1c, 0x21, //0x0000054b leaq (%r9,%r12), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x0000054f cmpq $64, %rcx + 0x0f, 0x82, 0xea, 0x18, 0x00, 0x00, //0x00000553 jb LBB0_356 + 0x41, 0x89, 0xcf, //0x00000559 movl %ecx, %r15d + 0x41, 0x83, 0xe7, 0x3f, //0x0000055c andl $63, %r15d + 0x48, 0x8d, 0x54, 0x32, 0xc0, //0x00000560 leaq $-64(%rdx,%rsi), %rdx + 0x48, 0x83, 0xe2, 0xc0, //0x00000565 andq $-64, %rdx + 0x4c, 0x01, 0xe2, //0x00000569 addq %r12, %rdx + 0x4d, 0x89, 0xcb, //0x0000056c movq %r9, %r11 + 0x4d, 0x8d, 0x4c, 0x11, 0x40, //0x0000056f leaq $64(%r9,%rdx), %r9 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000574 movq $-1, %r8 + 0x45, 0x31, 0xf6, //0x0000057b xorl %r14d, %r14d + 0x90, 0x90, //0x0000057e .p2align 4, 0x90 + //0x00000580 LBB0_49 + 0xc5, 0xfe, 0x6f, 0x03, //0x00000580 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x00000584 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000589 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x0000058d vpmovmskb %ymm2, %edi + 0xc5, 0xf5, 0x74, 0xd6, //0x00000591 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000595 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00000599 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x0000059d vpmovmskb %ymm0, %esi + 0xc5, 0xf5, 0x74, 0xc7, //0x000005a1 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x000005a5 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe2, 0x20, //0x000005a9 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x000005ad shlq $32, %rax + 0x48, 0x09, 0xc6, //0x000005b1 orq %rax, %rsi + 0x49, 0x83, 0xf8, 0xff, //0x000005b4 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000005b8 jne LBB0_51 + 0x48, 0x85, 0xf6, //0x000005be testq %rsi, %rsi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000005c1 jne LBB0_58 + //0x000005c7 LBB0_51 + 0x48, 0x09, 0xfa, //0x000005c7 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x000005ca movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x000005cd orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x000005d0 jne LBB0_59 + //0x000005d6 LBB0_52 + 0x48, 0x85, 0xd2, //0x000005d6 testq %rdx, %rdx + 0x0f, 0x85, 0xdb, 0x14, 0x00, 0x00, //0x000005d9 jne LBB0_60 + //0x000005df LBB0_53 + 0x48, 0x83, 0xc1, 0xc0, //0x000005df addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x000005e3 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x000005e7 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x000005eb ja LBB0_49 + 0xe9, 0x83, 0x14, 0x00, 0x00, //0x000005f1 jmp LBB0_54 + //0x000005f6 LBB0_58 + 0x48, 0x89, 0xd8, //0x000005f6 movq %rbx, %rax + 0x4c, 0x29, 0xd8, //0x000005f9 subq %r11, %rax + 0x4c, 0x0f, 0xbc, 0xc6, //0x000005fc bsfq %rsi, %r8 + 0x49, 0x01, 0xc0, //0x00000600 addq %rax, %r8 + 0x48, 0x09, 0xfa, //0x00000603 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x00000606 movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00000609 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x0000060c je LBB0_52 + //0x00000612 LBB0_59 + 0x4c, 0x89, 0xf0, //0x00000612 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00000615 notq %rax + 0x48, 0x21, 0xf0, //0x00000618 andq %rsi, %rax + 0x4c, 0x8d, 0x14, 0x00, //0x0000061b leaq (%rax,%rax), %r10 + 0x4d, 0x09, 0xf2, //0x0000061f orq %r14, %r10 + 0x4c, 0x89, 0xd7, //0x00000622 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x00000625 notq %rdi + 0x48, 0x21, 0xf7, //0x00000628 andq %rsi, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000062b movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf7, //0x00000635 andq %rsi, %rdi + 0x45, 0x31, 0xf6, //0x00000638 xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x0000063b addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x0000063e setb %r14b + 0x48, 0x01, 0xff, //0x00000642 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000645 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x0000064f xorq %rax, %rdi + 0x4c, 0x21, 0xd7, //0x00000652 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xd0, //0x00000655 movq $-48(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x00000659 notq %rdi + 0x48, 0x21, 0xfa, //0x0000065c andq %rdi, %rdx + 0x48, 0x85, 0xd2, //0x0000065f testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0xff, 0xff, 0xff, //0x00000662 je LBB0_53 + 0xe9, 0x4d, 0x14, 0x00, 0x00, //0x00000668 jmp LBB0_60 + //0x0000066d LBB0_61 + 0x40, 0x80, 0xff, 0x3a, //0x0000066d cmpb $58, %dil + 0x0f, 0x85, 0x6b, 0x21, 0x00, 0x00, //0x00000671 jne LBB0_500 + 0x4b, 0xc7, 0x04, 0xc6, 0x00, 0x00, 0x00, 0x00, //0x00000677 movq $0, (%r14,%r8,8) + 0xe9, 0xfc, 0xfb, 0xff, 0xff, //0x0000067f jmp LBB0_3 + //0x00000684 LBB0_63 + 0x83, 0xff, 0x2c, //0x00000684 cmpl $44, %edi + 0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x00000687 jne LBB0_64 + 0x49, 0x81, 0xf8, 0xff, 0x0f, 0x00, 0x00, //0x0000068d cmpq $4095, %r8 + 0x0f, 0x8f, 0xe8, 0x20, 0x00, 0x00, //0x00000694 jg LBB0_489 + 0x49, 0x8d, 0x40, 0x01, //0x0000069a leaq $1(%r8), %rax + 0x49, 0x89, 0x06, //0x0000069e movq %rax, (%r14) + 0x4b, 0xc7, 0x44, 0xc6, 0x08, 0x03, 0x00, 0x00, 0x00, //0x000006a1 movq $3, $8(%r14,%r8,8) + 0xe9, 0xd1, 0xfb, 0xff, 0xff, //0x000006aa jmp LBB0_3 + //0x000006af LBB0_65 + 0x83, 0xff, 0x22, //0x000006af cmpl $34, %edi + 0x0f, 0x84, 0xb7, 0x05, 0x00, 0x00, //0x000006b2 je LBB0_92 + //0x000006b8 LBB0_64 + 0x83, 0xff, 0x7d, //0x000006b8 cmpl $125, %edi + 0x0f, 0x85, 0x21, 0x21, 0x00, 0x00, //0x000006bb jne LBB0_500 + //0x000006c1 LBB0_41 + 0x49, 0x89, 0x16, //0x000006c1 movq %rdx, (%r14) + 0x49, 0x89, 0xd0, //0x000006c4 movq %rdx, %r8 + 0x48, 0x8b, 0x4d, 0x90, //0x000006c7 movq $-112(%rbp), %rcx + 0x48, 0x85, 0xd2, //0x000006cb testq %rdx, %rdx + 0x0f, 0x85, 0xec, 0xfb, 0xff, 0xff, //0x000006ce jne LBB0_5 + 0xe9, 0x10, 0x21, 0x00, 0x00, //0x000006d4 jmp LBB0_501 + //0x000006d9 LBB0_67 + 0x49, 0x89, 0x16, //0x000006d9 movq %rdx, (%r14) + 0x83, 0xff, 0x7b, //0x000006dc cmpl $123, %edi + 0x0f, 0x87, 0xfd, 0x20, 0x00, 0x00, //0x000006df ja LBB0_500 + //0x000006e5 LBB0_68 + 0x4f, 0x8d, 0x3c, 0x29, //0x000006e5 leaq (%r9,%r13), %r15 + 0x89, 0xf8, //0x000006e9 movl %edi, %eax + 0x48, 0x8d, 0x15, 0x3e, 0x23, 0x00, 0x00, //0x000006eb leaq $9022(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x000006f2 movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x000006f6 addq %rdx, %rax + 0xff, 0xe0, //0x000006f9 jmpq *%rax + //0x000006fb LBB0_69 + 0x48, 0x8b, 0x45, 0xb0, //0x000006fb movq $-80(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x000006ff movq $8(%rax), %r10 + 0x4d, 0x29, 0xea, //0x00000703 subq %r13, %r10 + 0x0f, 0x84, 0x9c, 0x20, 0x00, 0x00, //0x00000706 je LBB0_477 + 0x41, 0x80, 0x3f, 0x30, //0x0000070c cmpb $48, (%r15) + 0x0f, 0x85, 0x3a, 0x00, 0x00, 0x00, //0x00000710 jne LBB0_132 + 0x41, 0xbe, 0x01, 0x00, 0x00, 0x00, //0x00000716 movl $1, %r14d + 0x49, 0x83, 0xfa, 0x01, //0x0000071c cmpq $1, %r10 + 0x0f, 0x84, 0x38, 0xfb, 0xff, 0xff, //0x00000720 je LBB0_72 + 0x43, 0x8a, 0x0c, 0x21, //0x00000726 movb (%r9,%r12), %cl + 0x80, 0xc1, 0xd2, //0x0000072a addb $-46, %cl + 0x80, 0xf9, 0x37, //0x0000072d cmpb $55, %cl + 0x0f, 0x87, 0x28, 0xfb, 0xff, 0xff, //0x00000730 ja LBB0_72 + 0x0f, 0xb6, 0xc1, //0x00000736 movzbl %cl, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00000739 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00000743 btq %rax, %rcx + 0x4c, 0x89, 0xe1, //0x00000747 movq %r12, %rcx + 0x0f, 0x83, 0x11, 0xfb, 0xff, 0xff, //0x0000074a jae LBB0_199 + //0x00000750 LBB0_132 + 0x4c, 0x89, 0x65, 0xa8, //0x00000750 movq %r12, $-88(%rbp) + 0x49, 0x83, 0xfa, 0x20, //0x00000754 cmpq $32, %r10 + 0x0f, 0x82, 0xbe, 0x16, 0x00, 0x00, //0x00000758 jb LBB0_355 + 0x49, 0x8d, 0x4a, 0xe0, //0x0000075e leaq $-32(%r10), %rcx + 0x48, 0x89, 0xc8, //0x00000762 movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xe0, //0x00000765 andq $-32, %rax + 0x4e, 0x8d, 0x74, 0x38, 0x20, //0x00000769 leaq $32(%rax,%r15), %r14 + 0x83, 0xe1, 0x1f, //0x0000076e andl $31, %ecx + 0x48, 0x89, 0x4d, 0xc0, //0x00000771 movq %rcx, $-64(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000775 movq $-1, %r8 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x0000077c movq $-1, %r12 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000783 movq $-1, %rax + 0x4d, 0x89, 0xfb, //0x0000078a movq %r15, %r11 + 0x90, 0x90, 0x90, //0x0000078d .p2align 4, 0x90 + //0x00000790 LBB0_134 + 0xc4, 0xc1, 0x7e, 0x6f, 0x03, //0x00000790 vmovdqu (%r11), %ymm0 + 0xc4, 0xc1, 0x7d, 0x64, 0xca, //0x00000795 vpcmpgtb %ymm10, %ymm0, %ymm1 + 0xc5, 0xa5, 0x64, 0xd0, //0x0000079a vpcmpgtb %ymm0, %ymm11, %ymm2 + 0xc5, 0xf5, 0xdb, 0xca, //0x0000079e vpand %ymm2, %ymm1, %ymm1 + 0xc5, 0x9d, 0x74, 0xd0, //0x000007a2 vpcmpeqb %ymm0, %ymm12, %ymm2 + 0xc5, 0x95, 0x74, 0xd8, //0x000007a6 vpcmpeqb %ymm0, %ymm13, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x000007aa vpor %ymm2, %ymm3, %ymm2 + 0xc5, 0xbd, 0xeb, 0xd8, //0x000007ae vpor %ymm0, %ymm8, %ymm3 + 0xc5, 0x8d, 0x74, 0xc0, //0x000007b2 vpcmpeqb %ymm0, %ymm14, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x000007b6 vpmovmskb %ymm0, %edi + 0xc5, 0x85, 0x74, 0xdb, //0x000007ba vpcmpeqb %ymm3, %ymm15, %ymm3 + 0xc5, 0xfd, 0xd7, 0xd3, //0x000007be vpmovmskb %ymm3, %edx + 0xc5, 0xfd, 0xd7, 0xf2, //0x000007c2 vpmovmskb %ymm2, %esi + 0xc5, 0xe5, 0xeb, 0xc0, //0x000007c6 vpor %ymm0, %ymm3, %ymm0 + 0xc5, 0xed, 0xeb, 0xc9, //0x000007ca vpor %ymm1, %ymm2, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc1, //0x000007ce vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc8, //0x000007d2 vpmovmskb %ymm0, %ecx + 0x48, 0xf7, 0xd1, //0x000007d6 notq %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x000007d9 bsfq %rcx, %rcx + 0x83, 0xf9, 0x20, //0x000007dd cmpl $32, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000007e0 je LBB0_136 + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x000007e6 movl $-1, %ebx + 0xd3, 0xe3, //0x000007eb shll %cl, %ebx + 0xf7, 0xd3, //0x000007ed notl %ebx + 0x21, 0xdf, //0x000007ef andl %ebx, %edi + 0x21, 0xda, //0x000007f1 andl %ebx, %edx + 0x21, 0xf3, //0x000007f3 andl %esi, %ebx + 0x89, 0xde, //0x000007f5 movl %ebx, %esi + //0x000007f7 LBB0_136 + 0x44, 0x8d, 0x4f, 0xff, //0x000007f7 leal $-1(%rdi), %r9d + 0x41, 0x21, 0xf9, //0x000007fb andl %edi, %r9d + 0x0f, 0x85, 0xab, 0x13, 0x00, 0x00, //0x000007fe jne LBB0_345 + 0x8d, 0x5a, 0xff, //0x00000804 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x00000807 andl %edx, %ebx + 0x0f, 0x85, 0x5e, 0x12, 0x00, 0x00, //0x00000809 jne LBB0_339 + 0x8d, 0x5e, 0xff, //0x0000080f leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x00000812 andl %esi, %ebx + 0x0f, 0x85, 0x53, 0x12, 0x00, 0x00, //0x00000814 jne LBB0_339 + 0x85, 0xff, //0x0000081a testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000081c je LBB0_142 + 0x4c, 0x89, 0xdb, //0x00000822 movq %r11, %rbx + 0x4c, 0x29, 0xfb, //0x00000825 subq %r15, %rbx + 0x0f, 0xbc, 0xff, //0x00000828 bsfl %edi, %edi + 0x48, 0x01, 0xdf, //0x0000082b addq %rbx, %rdi + 0x48, 0x83, 0xf8, 0xff, //0x0000082e cmpq $-1, %rax + 0x0f, 0x85, 0x8d, 0x13, 0x00, 0x00, //0x00000832 jne LBB0_347 + 0x48, 0x89, 0xf8, //0x00000838 movq %rdi, %rax + //0x0000083b LBB0_142 + 0x85, 0xd2, //0x0000083b testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000083d je LBB0_145 + 0x4c, 0x89, 0xdf, //0x00000843 movq %r11, %rdi + 0x4c, 0x29, 0xff, //0x00000846 subq %r15, %rdi + 0x0f, 0xbc, 0xd2, //0x00000849 bsfl %edx, %edx + 0x48, 0x01, 0xfa, //0x0000084c addq %rdi, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x0000084f cmpq $-1, %r12 + 0x0f, 0x85, 0xf1, 0x12, 0x00, 0x00, //0x00000853 jne LBB0_340 + 0x49, 0x89, 0xd4, //0x00000859 movq %rdx, %r12 + //0x0000085c LBB0_145 + 0x85, 0xf6, //0x0000085c testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000085e je LBB0_148 + 0x4c, 0x89, 0xdf, //0x00000864 movq %r11, %rdi + 0x4c, 0x29, 0xff, //0x00000867 subq %r15, %rdi + 0x0f, 0xbc, 0xd6, //0x0000086a bsfl %esi, %edx + 0x48, 0x01, 0xfa, //0x0000086d addq %rdi, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000870 cmpq $-1, %r8 + 0x0f, 0x85, 0xd0, 0x12, 0x00, 0x00, //0x00000874 jne LBB0_340 + 0x49, 0x89, 0xd0, //0x0000087a movq %rdx, %r8 + //0x0000087d LBB0_148 + 0x83, 0xf9, 0x20, //0x0000087d cmpl $32, %ecx + 0x0f, 0x85, 0x51, 0x05, 0x00, 0x00, //0x00000880 jne LBB0_180 + 0x49, 0x83, 0xc3, 0x20, //0x00000886 addq $32, %r11 + 0x49, 0x83, 0xc2, 0xe0, //0x0000088a addq $-32, %r10 + 0x49, 0x83, 0xfa, 0x1f, //0x0000088e cmpq $31, %r10 + 0x0f, 0x87, 0xf8, 0xfe, 0xff, 0xff, //0x00000892 ja LBB0_134 + 0xc5, 0xf8, 0x77, //0x00000898 vzeroupper + 0xc5, 0x7e, 0x6f, 0x3d, 0xfd, 0xf8, 0xff, 0xff, //0x0000089b vmovdqu $-1795(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xd5, 0xf8, 0xff, 0xff, //0x000008a3 vmovdqu $-1835(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0xad, 0xf8, 0xff, 0xff, //0x000008ab vmovdqu $-1875(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x85, 0xf8, 0xff, 0xff, //0x000008b3 vmovdqu $-1915(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x5d, 0xf8, 0xff, 0xff, //0x000008bb vmovdqu $-1955(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x35, 0xf8, 0xff, 0xff, //0x000008c3 vmovdqu $-1995(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000008cb vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x05, 0x08, 0xf8, 0xff, 0xff, //0x000008d0 vmovdqu $-2040(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xe0, 0xf7, 0xff, 0xff, //0x000008d8 vmovdqu $-2080(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xb8, 0xf7, 0xff, 0xff, //0x000008e0 vmovdqu $-2120(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x90, 0xf7, 0xff, 0xff, //0x000008e8 vmovdqu $-2160(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0x4c, 0x8b, 0x55, 0xc0, //0x000008f0 movq $-64(%rbp), %r10 + 0x49, 0x83, 0xfa, 0x10, //0x000008f4 cmpq $16, %r10 + 0x0f, 0x82, 0x52, 0x01, 0x00, 0x00, //0x000008f8 jb LBB0_169 + //0x000008fe LBB0_151 + 0x4d, 0x8d, 0x4a, 0xf0, //0x000008fe leaq $-16(%r10), %r9 + 0x4c, 0x89, 0xc9, //0x00000902 movq %r9, %rcx + 0x48, 0x83, 0xe1, 0xf0, //0x00000905 andq $-16, %rcx + 0x4e, 0x8d, 0x5c, 0x31, 0x10, //0x00000909 leaq $16(%rcx,%r14), %r11 + 0x41, 0x83, 0xe1, 0x0f, //0x0000090e andl $15, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000912 .p2align 4, 0x90 + //0x00000920 LBB0_152 + 0xc4, 0xc1, 0x7a, 0x6f, 0x06, //0x00000920 vmovdqu (%r14), %xmm0 + 0xc5, 0xf9, 0x64, 0x0d, 0xe3, 0xf6, 0xff, 0xff, //0x00000925 vpcmpgtb $-2333(%rip), %xmm0, %xmm1 /* LCPI0_11+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0xeb, 0xf6, 0xff, 0xff, //0x0000092d vmovdqu $-2325(%rip), %xmm2 /* LCPI0_12+0(%rip) */ + 0xc5, 0xe9, 0x64, 0xd0, //0x00000935 vpcmpgtb %xmm0, %xmm2, %xmm2 + 0xc5, 0xf1, 0xdb, 0xca, //0x00000939 vpand %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x74, 0x15, 0xeb, 0xf6, 0xff, 0xff, //0x0000093d vpcmpeqb $-2325(%rip), %xmm0, %xmm2 /* LCPI0_13+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x1d, 0xf3, 0xf6, 0xff, 0xff, //0x00000945 vpcmpeqb $-2317(%rip), %xmm0, %xmm3 /* LCPI0_14+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xd2, //0x0000094d vpor %xmm2, %xmm3, %xmm2 + 0xc5, 0xf9, 0xeb, 0x1d, 0xf7, 0xf6, 0xff, 0xff, //0x00000951 vpor $-2313(%rip), %xmm0, %xmm3 /* LCPI0_15+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x05, 0xff, 0xf6, 0xff, 0xff, //0x00000959 vpcmpeqb $-2305(%rip), %xmm0, %xmm0 /* LCPI0_16+0(%rip) */ + 0xc5, 0xe1, 0x74, 0x1d, 0x07, 0xf7, 0xff, 0xff, //0x00000961 vpcmpeqb $-2297(%rip), %xmm3, %xmm3 /* LCPI0_17+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xe0, //0x00000969 vpor %xmm0, %xmm3, %xmm4 + 0xc5, 0xe9, 0xeb, 0xc9, //0x0000096d vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xd9, 0xeb, 0xc9, //0x00000971 vpor %xmm1, %xmm4, %xmm1 + 0xc5, 0xf9, 0xd7, 0xf8, //0x00000975 vpmovmskb %xmm0, %edi + 0xc5, 0xf9, 0xd7, 0xf3, //0x00000979 vpmovmskb %xmm3, %esi + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000097d vpmovmskb %xmm2, %edx + 0xc5, 0xf9, 0xd7, 0xc9, //0x00000981 vpmovmskb %xmm1, %ecx + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x00000985 movl $4294967295, %ebx + 0x48, 0x31, 0xd9, //0x0000098a xorq %rbx, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x0000098d bsfq %rcx, %rcx + 0x83, 0xf9, 0x10, //0x00000991 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00000994 je LBB0_154 + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x0000099a movl $-1, %ebx + 0xd3, 0xe3, //0x0000099f shll %cl, %ebx + 0xf7, 0xd3, //0x000009a1 notl %ebx + 0x21, 0xdf, //0x000009a3 andl %ebx, %edi + 0x21, 0xde, //0x000009a5 andl %ebx, %esi + 0x21, 0xd3, //0x000009a7 andl %edx, %ebx + 0x89, 0xda, //0x000009a9 movl %ebx, %edx + //0x000009ab LBB0_154 + 0x8d, 0x5f, 0xff, //0x000009ab leal $-1(%rdi), %ebx + 0x21, 0xfb, //0x000009ae andl %edi, %ebx + 0x0f, 0x85, 0xe1, 0x11, 0x00, 0x00, //0x000009b0 jne LBB0_344 + 0x8d, 0x5e, 0xff, //0x000009b6 leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x000009b9 andl %esi, %ebx + 0x0f, 0x85, 0xd6, 0x11, 0x00, 0x00, //0x000009bb jne LBB0_344 + 0x8d, 0x5a, 0xff, //0x000009c1 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x000009c4 andl %edx, %ebx + 0x0f, 0x85, 0xcb, 0x11, 0x00, 0x00, //0x000009c6 jne LBB0_344 + 0x85, 0xff, //0x000009cc testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000009ce je LBB0_160 + 0x4c, 0x89, 0xf3, //0x000009d4 movq %r14, %rbx + 0x4c, 0x29, 0xfb, //0x000009d7 subq %r15, %rbx + 0x0f, 0xbc, 0xff, //0x000009da bsfl %edi, %edi + 0x48, 0x01, 0xdf, //0x000009dd addq %rbx, %rdi + 0x48, 0x83, 0xf8, 0xff, //0x000009e0 cmpq $-1, %rax + 0x0f, 0x85, 0xdb, 0x11, 0x00, 0x00, //0x000009e4 jne LBB0_347 + 0x48, 0x89, 0xf8, //0x000009ea movq %rdi, %rax + //0x000009ed LBB0_160 + 0x85, 0xf6, //0x000009ed testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000009ef je LBB0_163 + 0x4c, 0x89, 0xf7, //0x000009f5 movq %r14, %rdi + 0x4c, 0x29, 0xff, //0x000009f8 subq %r15, %rdi + 0x0f, 0xbc, 0xf6, //0x000009fb bsfl %esi, %esi + 0x48, 0x01, 0xfe, //0x000009fe addq %rdi, %rsi + 0x49, 0x83, 0xfc, 0xff, //0x00000a01 cmpq $-1, %r12 + 0x0f, 0x85, 0xed, 0x12, 0x00, 0x00, //0x00000a05 jne LBB0_350 + 0x49, 0x89, 0xf4, //0x00000a0b movq %rsi, %r12 + //0x00000a0e LBB0_163 + 0x85, 0xd2, //0x00000a0e testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000a10 je LBB0_166 + 0x4c, 0x89, 0xf6, //0x00000a16 movq %r14, %rsi + 0x4c, 0x29, 0xfe, //0x00000a19 subq %r15, %rsi + 0x0f, 0xbc, 0xd2, //0x00000a1c bsfl %edx, %edx + 0x48, 0x01, 0xf2, //0x00000a1f addq %rsi, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000a22 cmpq $-1, %r8 + 0x0f, 0x85, 0x1e, 0x11, 0x00, 0x00, //0x00000a26 jne LBB0_340 + 0x49, 0x89, 0xd0, //0x00000a2c movq %rdx, %r8 + //0x00000a2f LBB0_166 + 0x83, 0xf9, 0x10, //0x00000a2f cmpl $16, %ecx + 0x0f, 0x85, 0x82, 0x05, 0x00, 0x00, //0x00000a32 jne LBB0_186 + 0x49, 0x83, 0xc6, 0x10, //0x00000a38 addq $16, %r14 + 0x49, 0x83, 0xc2, 0xf0, //0x00000a3c addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x0f, //0x00000a40 cmpq $15, %r10 + 0x0f, 0x87, 0xd6, 0xfe, 0xff, 0xff, //0x00000a44 ja LBB0_152 + 0x4d, 0x89, 0xca, //0x00000a4a movq %r9, %r10 + 0x4d, 0x89, 0xde, //0x00000a4d movq %r11, %r14 + //0x00000a50 LBB0_169 + 0x4d, 0x85, 0xd2, //0x00000a50 testq %r10, %r10 + 0x0f, 0x84, 0x64, 0x05, 0x00, 0x00, //0x00000a53 je LBB0_187 + 0x4b, 0x8d, 0x0c, 0x16, //0x00000a59 leaq (%r14,%r10), %rcx + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00000a5d jmp LBB0_174 + //0x00000a62 LBB0_171 + 0x49, 0x89, 0xd6, //0x00000a62 movq %rdx, %r14 + 0x4d, 0x29, 0xfe, //0x00000a65 subq %r15, %r14 + 0x49, 0x83, 0xf8, 0xff, //0x00000a68 cmpq $-1, %r8 + 0x0f, 0x85, 0x15, 0x13, 0x00, 0x00, //0x00000a6c jne LBB0_352 + 0x49, 0xff, 0xce, //0x00000a72 decq %r14 + 0x4d, 0x89, 0xf0, //0x00000a75 movq %r14, %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a78 .p2align 4, 0x90 + //0x00000a80 LBB0_173 + 0x49, 0x89, 0xd6, //0x00000a80 movq %rdx, %r14 + 0x49, 0xff, 0xca, //0x00000a83 decq %r10 + 0x0f, 0x84, 0x3a, 0x12, 0x00, 0x00, //0x00000a86 je LBB0_348 + //0x00000a8c LBB0_174 + 0x41, 0x0f, 0xbe, 0x36, //0x00000a8c movsbl (%r14), %esi + 0x83, 0xc6, 0xd5, //0x00000a90 addl $-43, %esi + 0x83, 0xfe, 0x3a, //0x00000a93 cmpl $58, %esi + 0x0f, 0x87, 0x21, 0x05, 0x00, 0x00, //0x00000a96 ja LBB0_187 + 0x49, 0x8d, 0x56, 0x01, //0x00000a9c leaq $1(%r14), %rdx + 0x48, 0x8d, 0x3d, 0x65, 0x22, 0x00, 0x00, //0x00000aa0 leaq $8805(%rip), %rdi /* LJTI0_3+0(%rip) */ + 0x48, 0x63, 0x34, 0xb7, //0x00000aa7 movslq (%rdi,%rsi,4), %rsi + 0x48, 0x01, 0xfe, //0x00000aab addq %rdi, %rsi + 0xff, 0xe6, //0x00000aae jmpq *%rsi + //0x00000ab0 LBB0_176 + 0x49, 0x89, 0xd6, //0x00000ab0 movq %rdx, %r14 + 0x4d, 0x29, 0xfe, //0x00000ab3 subq %r15, %r14 + 0x49, 0x83, 0xfc, 0xff, //0x00000ab6 cmpq $-1, %r12 + 0x0f, 0x85, 0xc7, 0x12, 0x00, 0x00, //0x00000aba jne LBB0_352 + 0x49, 0xff, 0xce, //0x00000ac0 decq %r14 + 0x4d, 0x89, 0xf4, //0x00000ac3 movq %r14, %r12 + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x00000ac6 jmp LBB0_173 + //0x00000acb LBB0_178 + 0x49, 0x89, 0xd6, //0x00000acb movq %rdx, %r14 + 0x4d, 0x29, 0xfe, //0x00000ace subq %r15, %r14 + 0x48, 0x83, 0xf8, 0xff, //0x00000ad1 cmpq $-1, %rax + 0x0f, 0x85, 0xac, 0x12, 0x00, 0x00, //0x00000ad5 jne LBB0_352 + 0x49, 0xff, 0xce, //0x00000adb decq %r14 + 0x4c, 0x89, 0xf0, //0x00000ade movq %r14, %rax + 0xe9, 0x9a, 0xff, 0xff, 0xff, //0x00000ae1 jmp LBB0_173 + //0x00000ae6 LBB0_73 + 0x49, 0x81, 0xf8, 0xff, 0x0f, 0x00, 0x00, //0x00000ae6 cmpq $4095, %r8 + 0x0f, 0x8f, 0x8f, 0x1c, 0x00, 0x00, //0x00000aed jg LBB0_489 + 0x49, 0x8d, 0x40, 0x01, //0x00000af3 leaq $1(%r8), %rax + 0x49, 0x89, 0x06, //0x00000af7 movq %rax, (%r14) + 0x4b, 0xc7, 0x44, 0xc6, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00000afa movq $0, $8(%r14,%r8,8) + 0xe9, 0x78, 0xf7, 0xff, 0xff, //0x00000b03 jmp LBB0_3 + //0x00000b08 LBB0_75 + 0x49, 0x89, 0xd2, //0x00000b08 movq %rdx, %r10 + 0x4d, 0x29, 0xe2, //0x00000b0b subq %r12, %r10 + 0x0f, 0x84, 0x74, 0x1e, 0x00, 0x00, //0x00000b0e je LBB0_508 + 0x4c, 0x89, 0xe0, //0x00000b14 movq %r12, %rax + 0x4d, 0x01, 0xcc, //0x00000b17 addq %r9, %r12 + 0x49, 0x83, 0xfa, 0x40, //0x00000b1a cmpq $64, %r10 + 0x4c, 0x89, 0x4d, 0xc0, //0x00000b1e movq %r9, $-64(%rbp) + 0x0f, 0x82, 0x37, 0x13, 0x00, 0x00, //0x00000b22 jb LBB0_357 + 0x45, 0x89, 0xd6, //0x00000b28 movl %r10d, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000b2b andl $63, %r14d + 0x48, 0x8d, 0x4c, 0x32, 0xc0, //0x00000b2f leaq $-64(%rdx,%rsi), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000b34 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000b38 addq %rax, %rcx + 0x49, 0x8d, 0x44, 0x09, 0x40, //0x00000b3b leaq $64(%r9,%rcx), %rax + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000b40 movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00000b47 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000b4a .p2align 4, 0x90 + //0x00000b50 LBB0_78 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00000b50 vmovdqu (%r12), %ymm0 + 0xc4, 0xc1, 0x7e, 0x6f, 0x4c, 0x24, 0x20, //0x00000b56 vmovdqu $32(%r12), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000b5d vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xca, //0x00000b61 vpmovmskb %ymm2, %r9d + 0xc5, 0xf5, 0x74, 0xd6, //0x00000b65 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000b69 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xd7, //0x00000b6d vpcmpeqb %ymm7, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xda, //0x00000b71 vpmovmskb %ymm2, %r11d + 0xc5, 0xf5, 0x74, 0xd7, //0x00000b75 vpcmpeqb %ymm7, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xda, //0x00000b79 vpmovmskb %ymm2, %ebx + 0xc5, 0xbd, 0x64, 0xd0, //0x00000b7d vpcmpgtb %ymm0, %ymm8, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00000b81 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc2, //0x00000b86 vpand %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x00000b8a vpmovmskb %ymm0, %edi + 0xc5, 0xbd, 0x64, 0xc1, //0x00000b8e vpcmpgtb %ymm1, %ymm8, %ymm0 + 0xc4, 0xc1, 0x75, 0x64, 0xc9, //0x00000b92 vpcmpgtb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xdb, 0xc0, //0x00000b97 vpand %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00000b9b vpmovmskb %ymm0, %esi + 0x48, 0xc1, 0xe2, 0x20, //0x00000b9f shlq $32, %rdx + 0x48, 0xc1, 0xe3, 0x20, //0x00000ba3 shlq $32, %rbx + 0x49, 0x09, 0xdb, //0x00000ba7 orq %rbx, %r11 + 0x49, 0x83, 0xf8, 0xff, //0x00000baa cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000bae jne LBB0_80 + 0x4d, 0x85, 0xdb, //0x00000bb4 testq %r11, %r11 + 0x0f, 0x85, 0x9f, 0x00, 0x00, 0x00, //0x00000bb7 jne LBB0_89 + //0x00000bbd LBB0_80 + 0x48, 0xc1, 0xe6, 0x20, //0x00000bbd shlq $32, %rsi + 0x4c, 0x09, 0xca, //0x00000bc1 orq %r9, %rdx + 0x4c, 0x89, 0xd9, //0x00000bc4 movq %r11, %rcx + 0x4c, 0x09, 0xf9, //0x00000bc7 orq %r15, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000bca jne LBB0_108 + 0x48, 0x09, 0xfe, //0x00000bd0 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00000bd3 testq %rdx, %rdx + 0x0f, 0x85, 0xe1, 0x01, 0x00, 0x00, //0x00000bd6 jne LBB0_109 + //0x00000bdc LBB0_82 + 0x48, 0x85, 0xf6, //0x00000bdc testq %rsi, %rsi + 0x0f, 0x85, 0x21, 0x1c, 0x00, 0x00, //0x00000bdf jne LBB0_482 + 0x49, 0x83, 0xc2, 0xc0, //0x00000be5 addq $-64, %r10 + 0x49, 0x83, 0xc4, 0x40, //0x00000be9 addq $64, %r12 + 0x49, 0x83, 0xfa, 0x3f, //0x00000bed cmpq $63, %r10 + 0x0f, 0x87, 0x59, 0xff, 0xff, 0xff, //0x00000bf1 ja LBB0_78 + 0xe9, 0xed, 0x0e, 0x00, 0x00, //0x00000bf7 jmp LBB0_84 + //0x00000bfc LBB0_108 + 0x4c, 0x89, 0xf9, //0x00000bfc movq %r15, %rcx + 0x48, 0xf7, 0xd1, //0x00000bff notq %rcx + 0x4c, 0x21, 0xd9, //0x00000c02 andq %r11, %rcx + 0x4c, 0x8d, 0x0c, 0x09, //0x00000c05 leaq (%rcx,%rcx), %r9 + 0x4d, 0x09, 0xf9, //0x00000c09 orq %r15, %r9 + 0x4c, 0x89, 0xcb, //0x00000c0c movq %r9, %rbx + 0x48, 0xf7, 0xd3, //0x00000c0f notq %rbx + 0x4c, 0x21, 0xdb, //0x00000c12 andq %r11, %rbx + 0x49, 0x89, 0xc3, //0x00000c15 movq %rax, %r11 + 0x48, 0xb8, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000c18 movabsq $-6148914691236517206, %rax + 0x48, 0x21, 0xc3, //0x00000c22 andq %rax, %rbx + 0x45, 0x31, 0xff, //0x00000c25 xorl %r15d, %r15d + 0x48, 0x01, 0xcb, //0x00000c28 addq %rcx, %rbx + 0x41, 0x0f, 0x92, 0xc7, //0x00000c2b setb %r15b + 0x48, 0x01, 0xdb, //0x00000c2f addq %rbx, %rbx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000c32 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc3, //0x00000c3c xorq %rax, %rbx + 0x4c, 0x89, 0xd8, //0x00000c3f movq %r11, %rax + 0x4c, 0x21, 0xcb, //0x00000c42 andq %r9, %rbx + 0x48, 0xf7, 0xd3, //0x00000c45 notq %rbx + 0x48, 0x21, 0xda, //0x00000c48 andq %rbx, %rdx + 0x48, 0x09, 0xfe, //0x00000c4b orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00000c4e testq %rdx, %rdx + 0x0f, 0x84, 0x85, 0xff, 0xff, 0xff, //0x00000c51 je LBB0_82 + 0xe9, 0x61, 0x01, 0x00, 0x00, //0x00000c57 jmp LBB0_109 + //0x00000c5c LBB0_89 + 0x4c, 0x89, 0xe3, //0x00000c5c movq %r12, %rbx + 0x48, 0x2b, 0x5d, 0xc0, //0x00000c5f subq $-64(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xc3, //0x00000c63 bsfq %r11, %r8 + 0x49, 0x01, 0xd8, //0x00000c67 addq %rbx, %r8 + 0xe9, 0x4e, 0xff, 0xff, 0xff, //0x00000c6a jmp LBB0_80 + //0x00000c6f LBB0_92 + 0x4b, 0xc7, 0x04, 0xc6, 0x02, 0x00, 0x00, 0x00, //0x00000c6f movq $2, (%r14,%r8,8) + 0x48, 0x8b, 0x45, 0xb0, //0x00000c77 movq $-80(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x00000c7b movq $8(%rax), %rax + 0xf6, 0x45, 0x98, 0x20, //0x00000c7f testb $32, $-104(%rbp) + 0x48, 0x89, 0x45, 0xb8, //0x00000c83 movq %rax, $-72(%rbp) + 0x0f, 0x85, 0x6c, 0x01, 0x00, 0x00, //0x00000c87 jne LBB0_111 + 0x48, 0x89, 0xc1, //0x00000c8d movq %rax, %rcx + 0x4c, 0x29, 0xe1, //0x00000c90 subq %r12, %rcx + 0x0f, 0x84, 0xdd, 0x1c, 0x00, 0x00, //0x00000c93 je LBB0_510 + 0x4b, 0x8d, 0x1c, 0x21, //0x00000c99 leaq (%r9,%r12), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x00000c9d cmpq $64, %rcx + 0x0f, 0x82, 0xf1, 0x11, 0x00, 0x00, //0x00000ca1 jb LBB0_360 + 0x4c, 0x89, 0xca, //0x00000ca7 movq %r9, %rdx + 0x41, 0x89, 0xcf, //0x00000caa movl %ecx, %r15d + 0x41, 0x83, 0xe7, 0x3f, //0x00000cad andl $63, %r15d + 0x48, 0x8d, 0x44, 0x30, 0xc0, //0x00000cb1 leaq $-64(%rax,%rsi), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00000cb6 andq $-64, %rax + 0x4c, 0x01, 0xe0, //0x00000cba addq %r12, %rax + 0x4d, 0x8d, 0x44, 0x01, 0x40, //0x00000cbd leaq $64(%r9,%rax), %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000cc2 movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00000cc9 xorl %r14d, %r14d + 0x90, 0x90, 0x90, 0x90, //0x00000ccc .p2align 4, 0x90 + //0x00000cd0 LBB0_96 + 0xc5, 0xfe, 0x6f, 0x03, //0x00000cd0 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x00000cd4 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000cd9 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x00000cdd vpmovmskb %ymm2, %edi + 0xc5, 0xf5, 0x74, 0xd6, //0x00000ce1 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000ce5 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00000ce9 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00000ced vpmovmskb %ymm0, %esi + 0xc5, 0xf5, 0x74, 0xc7, //0x00000cf1 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00000cf5 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe2, 0x20, //0x00000cf9 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x00000cfd shlq $32, %rax + 0x48, 0x09, 0xc6, //0x00000d01 orq %rax, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x00000d04 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000d08 jne LBB0_98 + 0x48, 0x85, 0xf6, //0x00000d0e testq %rsi, %rsi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000d11 jne LBB0_105 + //0x00000d17 LBB0_98 + 0x48, 0x09, 0xfa, //0x00000d17 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x00000d1a movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00000d1d orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00000d20 jne LBB0_106 + //0x00000d26 LBB0_99 + 0x48, 0x85, 0xd2, //0x00000d26 testq %rdx, %rdx + 0x0f, 0x85, 0xe6, 0x0e, 0x00, 0x00, //0x00000d29 jne LBB0_107 + //0x00000d2f LBB0_100 + 0x48, 0x83, 0xc1, 0xc0, //0x00000d2f addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x00000d33 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x00000d37 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x00000d3b ja LBB0_96 + 0xe9, 0x8e, 0x0e, 0x00, 0x00, //0x00000d41 jmp LBB0_101 + //0x00000d46 LBB0_105 + 0x48, 0x89, 0xd8, //0x00000d46 movq %rbx, %rax + 0x4c, 0x29, 0xc8, //0x00000d49 subq %r9, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x00000d4c bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x00000d50 addq %rax, %r11 + 0x48, 0x09, 0xfa, //0x00000d53 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x00000d56 movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00000d59 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x00000d5c je LBB0_99 + //0x00000d62 LBB0_106 + 0x4c, 0x89, 0xf0, //0x00000d62 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00000d65 notq %rax + 0x48, 0x21, 0xf0, //0x00000d68 andq %rsi, %rax + 0x4c, 0x8d, 0x14, 0x00, //0x00000d6b leaq (%rax,%rax), %r10 + 0x4d, 0x09, 0xf2, //0x00000d6f orq %r14, %r10 + 0x4c, 0x89, 0xd7, //0x00000d72 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x00000d75 notq %rdi + 0x48, 0x21, 0xf7, //0x00000d78 andq %rsi, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000d7b movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf7, //0x00000d85 andq %rsi, %rdi + 0x45, 0x31, 0xf6, //0x00000d88 xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x00000d8b addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x00000d8e setb %r14b + 0x48, 0x01, 0xff, //0x00000d92 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000d95 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00000d9f xorq %rax, %rdi + 0x4c, 0x21, 0xd7, //0x00000da2 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xd0, //0x00000da5 movq $-48(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x00000da9 notq %rdi + 0x48, 0x21, 0xfa, //0x00000dac andq %rdi, %rdx + 0x48, 0x85, 0xd2, //0x00000daf testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0xff, 0xff, 0xff, //0x00000db2 je LBB0_100 + 0xe9, 0x58, 0x0e, 0x00, 0x00, //0x00000db8 jmp LBB0_107 + //0x00000dbd LBB0_109 + 0x48, 0x0f, 0xbc, 0xca, //0x00000dbd bsfq %rdx, %rcx + 0x48, 0x85, 0xf6, //0x00000dc1 testq %rsi, %rsi + 0x48, 0x8b, 0x45, 0xc0, //0x00000dc4 movq $-64(%rbp), %rax + 0x0f, 0x84, 0xc9, 0x01, 0x00, 0x00, //0x00000dc8 je LBB0_181 + 0x48, 0x0f, 0xbc, 0xd6, //0x00000dce bsfq %rsi, %rdx + 0xe9, 0xc5, 0x01, 0x00, 0x00, //0x00000dd2 jmp LBB0_182 + //0x00000dd7 LBB0_180 + 0x49, 0x01, 0xcb, //0x00000dd7 addq %rcx, %r11 + 0xc5, 0xf8, 0x77, //0x00000dda vzeroupper + 0x4d, 0x89, 0xde, //0x00000ddd movq %r11, %r14 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000de0 movq $-1, %rcx + 0x4d, 0x85, 0xe4, //0x00000de7 testq %r12, %r12 + 0x48, 0x8b, 0x55, 0xd0, //0x00000dea movq $-48(%rbp), %rdx + 0x0f, 0x85, 0xdd, 0x01, 0x00, 0x00, //0x00000dee jne LBB0_188 + 0xe9, 0xdc, 0x19, 0x00, 0x00, //0x00000df4 jmp LBB0_481 + //0x00000df9 LBB0_111 + 0x48, 0x89, 0xc3, //0x00000df9 movq %rax, %rbx + 0x4c, 0x29, 0xe3, //0x00000dfc subq %r12, %rbx + 0x0f, 0x84, 0x71, 0x1b, 0x00, 0x00, //0x00000dff je LBB0_510 + 0x4c, 0x89, 0xe1, //0x00000e05 movq %r12, %rcx + 0x4d, 0x01, 0xcc, //0x00000e08 addq %r9, %r12 + 0x48, 0x83, 0xfb, 0x40, //0x00000e0b cmpq $64, %rbx + 0x4c, 0x89, 0x4d, 0xc0, //0x00000e0f movq %r9, $-64(%rbp) + 0x0f, 0x82, 0x98, 0x10, 0x00, 0x00, //0x00000e13 jb LBB0_361 + 0x41, 0x89, 0xde, //0x00000e19 movl %ebx, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000e1c andl $63, %r14d + 0x48, 0x8d, 0x44, 0x30, 0xc0, //0x00000e20 leaq $-64(%rax,%rsi), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00000e25 andq $-64, %rax + 0x49, 0x89, 0xc8, //0x00000e29 movq %rcx, %r8 + 0x48, 0x01, 0xc8, //0x00000e2c addq %rcx, %rax + 0x49, 0x8d, 0x44, 0x01, 0x40, //0x00000e2f leaq $64(%r9,%rax), %rax + 0x48, 0x89, 0x45, 0xa0, //0x00000e34 movq %rax, $-96(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000e38 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x00000e3f xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000e42 .p2align 4, 0x90 + //0x00000e50 LBB0_114 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00000e50 vmovdqu (%r12), %ymm0 + 0xc4, 0xc1, 0x7e, 0x6f, 0x4c, 0x24, 0x20, //0x00000e56 vmovdqu $32(%r12), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000e5d vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xca, //0x00000e61 vpmovmskb %ymm2, %r9d + 0xc5, 0xf5, 0x74, 0xd6, //0x00000e65 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000e69 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xd7, //0x00000e6d vpcmpeqb %ymm7, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xca, //0x00000e71 vpmovmskb %ymm2, %ecx + 0xc5, 0xf5, 0x74, 0xd7, //0x00000e75 vpcmpeqb %ymm7, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xc2, //0x00000e79 vpmovmskb %ymm2, %eax + 0xc5, 0xbd, 0x64, 0xd0, //0x00000e7d vpcmpgtb %ymm0, %ymm8, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00000e81 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc2, //0x00000e86 vpand %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x00000e8a vpmovmskb %ymm0, %edi + 0xc5, 0xbd, 0x64, 0xc1, //0x00000e8e vpcmpgtb %ymm1, %ymm8, %ymm0 + 0xc4, 0xc1, 0x75, 0x64, 0xc9, //0x00000e92 vpcmpgtb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xdb, 0xc0, //0x00000e97 vpand %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00000e9b vpmovmskb %ymm0, %esi + 0x48, 0xc1, 0xe2, 0x20, //0x00000e9f shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x00000ea3 shlq $32, %rax + 0x48, 0x09, 0xc1, //0x00000ea7 orq %rax, %rcx + 0x49, 0x83, 0xfb, 0xff, //0x00000eaa cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000eae jne LBB0_116 + 0x48, 0x85, 0xc9, //0x00000eb4 testq %rcx, %rcx + 0x0f, 0x85, 0x9d, 0x00, 0x00, 0x00, //0x00000eb7 jne LBB0_125 + //0x00000ebd LBB0_116 + 0x48, 0xc1, 0xe6, 0x20, //0x00000ebd shlq $32, %rsi + 0x4c, 0x09, 0xca, //0x00000ec1 orq %r9, %rdx + 0x48, 0x89, 0xc8, //0x00000ec4 movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x00000ec7 orq %r15, %rax + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000eca jne LBB0_126 + 0x48, 0x09, 0xfe, //0x00000ed0 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00000ed3 testq %rdx, %rdx + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x00000ed6 jne LBB0_127 + //0x00000edc LBB0_118 + 0x48, 0x85, 0xf6, //0x00000edc testq %rsi, %rsi + 0x0f, 0x85, 0x4f, 0x19, 0x00, 0x00, //0x00000edf jne LBB0_502 + 0x48, 0x83, 0xc3, 0xc0, //0x00000ee5 addq $-64, %rbx + 0x49, 0x83, 0xc4, 0x40, //0x00000ee9 addq $64, %r12 + 0x48, 0x83, 0xfb, 0x3f, //0x00000eed cmpq $63, %rbx + 0x0f, 0x87, 0x59, 0xff, 0xff, 0xff, //0x00000ef1 ja LBB0_114 + 0xe9, 0x68, 0x0d, 0x00, 0x00, //0x00000ef7 jmp LBB0_120 + //0x00000efc LBB0_126 + 0x4d, 0x89, 0xfa, //0x00000efc movq %r15, %r10 + 0x49, 0xf7, 0xd2, //0x00000eff notq %r10 + 0x49, 0x21, 0xca, //0x00000f02 andq %rcx, %r10 + 0x4f, 0x8d, 0x0c, 0x12, //0x00000f05 leaq (%r10,%r10), %r9 + 0x4d, 0x09, 0xf9, //0x00000f09 orq %r15, %r9 + 0x4c, 0x89, 0xc8, //0x00000f0c movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000f0f notq %rax + 0x48, 0x21, 0xc8, //0x00000f12 andq %rcx, %rax + 0x48, 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000f15 movabsq $-6148914691236517206, %rcx + 0x48, 0x21, 0xc8, //0x00000f1f andq %rcx, %rax + 0x45, 0x31, 0xff, //0x00000f22 xorl %r15d, %r15d + 0x4c, 0x01, 0xd0, //0x00000f25 addq %r10, %rax + 0x4c, 0x8b, 0x55, 0xd0, //0x00000f28 movq $-48(%rbp), %r10 + 0x41, 0x0f, 0x92, 0xc7, //0x00000f2c setb %r15b + 0x48, 0x01, 0xc0, //0x00000f30 addq %rax, %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000f33 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xc8, //0x00000f3d xorq %rcx, %rax + 0x4c, 0x21, 0xc8, //0x00000f40 andq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000f43 notq %rax + 0x48, 0x21, 0xc2, //0x00000f46 andq %rax, %rdx + 0x48, 0x09, 0xfe, //0x00000f49 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00000f4c testq %rdx, %rdx + 0x0f, 0x84, 0x87, 0xff, 0xff, 0xff, //0x00000f4f je LBB0_118 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00000f55 jmp LBB0_127 + //0x00000f5a LBB0_125 + 0x4c, 0x89, 0xe0, //0x00000f5a movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x00000f5d subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x00000f61 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x00000f65 addq %rax, %r11 + 0xe9, 0x50, 0xff, 0xff, 0xff, //0x00000f68 jmp LBB0_116 + //0x00000f6d LBB0_127 + 0x48, 0x0f, 0xbc, 0xca, //0x00000f6d bsfq %rdx, %rcx + 0x48, 0x85, 0xf6, //0x00000f71 testq %rsi, %rsi + 0x48, 0x8b, 0x45, 0xc0, //0x00000f74 movq $-64(%rbp), %rax + 0x0f, 0x84, 0x8d, 0x01, 0x00, 0x00, //0x00000f78 je LBB0_203 + 0x48, 0x0f, 0xbc, 0xd6, //0x00000f7e bsfq %rsi, %rdx + 0x4c, 0x8b, 0x75, 0xc8, //0x00000f82 movq $-56(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00000f86 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x00000f89 cmpq %rcx, %rdx + 0x0f, 0x83, 0x8e, 0x01, 0x00, 0x00, //0x00000f8c jae LBB0_204 + 0xe9, 0x19, 0x1a, 0x00, 0x00, //0x00000f92 jmp LBB0_129 + //0x00000f97 LBB0_181 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00000f97 movl $64, %edx + //0x00000f9c LBB0_182 + 0x4c, 0x8b, 0x55, 0xd0, //0x00000f9c movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00000fa0 movq $-56(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00000fa4 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x00000fa7 cmpq %rcx, %rdx + 0x0f, 0x82, 0xe5, 0x19, 0x00, 0x00, //0x00000faa jb LBB0_509 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x00000fb0 leaq $1(%r12,%rcx), %r12 + 0xe9, 0x10, 0x0b, 0x00, 0x00, //0x00000fb5 jmp LBB0_184 + //0x00000fba LBB0_186 + 0x49, 0x01, 0xce, //0x00000fba addq %rcx, %r14 + //0x00000fbd LBB0_187 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000fbd movq $-1, %rcx + 0x4d, 0x85, 0xe4, //0x00000fc4 testq %r12, %r12 + 0x48, 0x8b, 0x55, 0xd0, //0x00000fc7 movq $-48(%rbp), %rdx + 0x0f, 0x84, 0x04, 0x18, 0x00, 0x00, //0x00000fcb je LBB0_481 + //0x00000fd1 LBB0_188 + 0x4d, 0x85, 0xc0, //0x00000fd1 testq %r8, %r8 + 0x0f, 0x84, 0xfb, 0x17, 0x00, 0x00, //0x00000fd4 je LBB0_481 + 0x48, 0x85, 0xc0, //0x00000fda testq %rax, %rax + 0x0f, 0x84, 0xf2, 0x17, 0x00, 0x00, //0x00000fdd je LBB0_481 + 0x4d, 0x29, 0xfe, //0x00000fe3 subq %r15, %r14 + 0x49, 0x8d, 0x4e, 0xff, //0x00000fe6 leaq $-1(%r14), %rcx + 0x49, 0x39, 0xcc, //0x00000fea cmpq %rcx, %r12 + 0x0f, 0x84, 0x88, 0x00, 0x00, 0x00, //0x00000fed je LBB0_196 + 0x48, 0x39, 0xc8, //0x00000ff3 cmpq %rcx, %rax + 0x0f, 0x84, 0x7f, 0x00, 0x00, 0x00, //0x00000ff6 je LBB0_196 + 0x49, 0x39, 0xc8, //0x00000ffc cmpq %rcx, %r8 + 0x0f, 0x84, 0x76, 0x00, 0x00, 0x00, //0x00000fff je LBB0_196 + 0x4d, 0x85, 0xc0, //0x00001005 testq %r8, %r8 + 0xc5, 0xfe, 0x6f, 0x2d, 0x70, 0xf0, 0xff, 0xff, //0x00001008 vmovdqu $-3984(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x88, 0xf0, 0xff, 0xff, //0x00001010 vmovdqu $-3960(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xa0, 0xf0, 0xff, 0xff, //0x00001018 vmovdqu $-3936(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0xb8, 0xf0, 0xff, 0xff, //0x00001020 vmovdqu $-3912(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00001028 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0xcb, 0xf0, 0xff, 0xff, //0x0000102d vmovdqu $-3893(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xe3, 0xf0, 0xff, 0xff, //0x00001035 vmovdqu $-3869(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0xfb, 0xf0, 0xff, 0xff, //0x0000103d vmovdqu $-3845(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x13, 0xf1, 0xff, 0xff, //0x00001045 vmovdqu $-3821(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x2b, 0xf1, 0xff, 0xff, //0x0000104d vmovdqu $-3797(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x43, 0xf1, 0xff, 0xff, //0x00001055 vmovdqu $-3773(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + 0x0f, 0x8e, 0x85, 0x00, 0x00, 0x00, //0x0000105d jle LBB0_200 + 0x49, 0x8d, 0x48, 0xff, //0x00001063 leaq $-1(%r8), %rcx + 0x49, 0x39, 0xcc, //0x00001067 cmpq %rcx, %r12 + 0x0f, 0x84, 0x78, 0x00, 0x00, 0x00, //0x0000106a je LBB0_200 + 0x49, 0xf7, 0xd0, //0x00001070 notq %r8 + 0x4d, 0x89, 0xc6, //0x00001073 movq %r8, %r14 + 0xe9, 0x58, 0x00, 0x00, 0x00, //0x00001076 jmp LBB0_197 + //0x0000107b LBB0_196 + 0x49, 0xf7, 0xde, //0x0000107b negq %r14 + 0xc5, 0xfe, 0x6f, 0x2d, 0xfa, 0xef, 0xff, 0xff, //0x0000107e vmovdqu $-4102(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x12, 0xf0, 0xff, 0xff, //0x00001086 vmovdqu $-4078(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x2a, 0xf0, 0xff, 0xff, //0x0000108e vmovdqu $-4054(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0x42, 0xf0, 0xff, 0xff, //0x00001096 vmovdqu $-4030(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000109e vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0x55, 0xf0, 0xff, 0xff, //0x000010a3 vmovdqu $-4011(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x6d, 0xf0, 0xff, 0xff, //0x000010ab vmovdqu $-3987(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x85, 0xf0, 0xff, 0xff, //0x000010b3 vmovdqu $-3963(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x9d, 0xf0, 0xff, 0xff, //0x000010bb vmovdqu $-3939(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xb5, 0xf0, 0xff, 0xff, //0x000010c3 vmovdqu $-3915(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0xcd, 0xf0, 0xff, 0xff, //0x000010cb vmovdqu $-3891(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + //0x000010d3 LBB0_197 + 0x4d, 0x85, 0xf6, //0x000010d3 testq %r14, %r14 + 0x4c, 0x8b, 0x65, 0xa8, //0x000010d6 movq $-88(%rbp), %r12 + 0x0f, 0x88, 0xf2, 0x16, 0x00, 0x00, //0x000010da js LBB0_480 + 0x48, 0x8b, 0x0a, //0x000010e0 movq (%rdx), %rcx + 0xe9, 0x79, 0xf1, 0xff, 0xff, //0x000010e3 jmp LBB0_199 + //0x000010e8 LBB0_200 + 0x48, 0x89, 0xc1, //0x000010e8 movq %rax, %rcx + 0x4c, 0x09, 0xe1, //0x000010eb orq %r12, %rcx + 0x4c, 0x39, 0xe0, //0x000010ee cmpq %r12, %rax + 0x0f, 0x8c, 0x98, 0x02, 0x00, 0x00, //0x000010f1 jl LBB0_249 + 0x48, 0x85, 0xc9, //0x000010f7 testq %rcx, %rcx + 0x0f, 0x88, 0x8f, 0x02, 0x00, 0x00, //0x000010fa js LBB0_249 + 0x48, 0xf7, 0xd0, //0x00001100 notq %rax + 0x49, 0x89, 0xc6, //0x00001103 movq %rax, %r14 + 0xe9, 0xc8, 0xff, 0xff, 0xff, //0x00001106 jmp LBB0_197 + //0x0000110b LBB0_203 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x0000110b movl $64, %edx + 0x4c, 0x8b, 0x75, 0xc8, //0x00001110 movq $-56(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00001114 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x00001117 cmpq %rcx, %rdx + 0x0f, 0x82, 0x90, 0x18, 0x00, 0x00, //0x0000111a jb LBB0_129 + //0x00001120 LBB0_204 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x00001120 leaq $1(%r12,%rcx), %r12 + 0xe9, 0xfe, 0x0a, 0x00, 0x00, //0x00001125 jmp LBB0_205 + //0x0000112a LBB0_209 + 0x49, 0x8b, 0x06, //0x0000112a movq (%r14), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x0000112d cmpq $4095, %rax + 0x0f, 0x8f, 0x49, 0x16, 0x00, 0x00, //0x00001133 jg LBB0_489 + 0x48, 0x8d, 0x48, 0x01, //0x00001139 leaq $1(%rax), %rcx + 0x49, 0x89, 0x0e, //0x0000113d movq %rcx, (%r14) + 0x49, 0xc7, 0x44, 0xc6, 0x08, 0x05, 0x00, 0x00, 0x00, //0x00001140 movq $5, $8(%r14,%rax,8) + 0xe9, 0x32, 0xf1, 0xff, 0xff, //0x00001149 jmp LBB0_3 + //0x0000114e LBB0_211 + 0x48, 0x8b, 0x45, 0xb0, //0x0000114e movq $-80(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x00001152 movq $8(%rax), %rax + 0xf6, 0x45, 0x98, 0x20, //0x00001156 testb $32, $-104(%rbp) + 0x48, 0x89, 0x45, 0xb8, //0x0000115a movq %rax, $-72(%rbp) + 0x0f, 0x85, 0x46, 0x02, 0x00, 0x00, //0x0000115e jne LBB0_250 + 0x48, 0x89, 0xc1, //0x00001164 movq %rax, %rcx + 0x4c, 0x29, 0xe1, //0x00001167 subq %r12, %rcx + 0x0f, 0x84, 0x06, 0x18, 0x00, 0x00, //0x0000116a je LBB0_510 + 0x4b, 0x8d, 0x1c, 0x21, //0x00001170 leaq (%r9,%r12), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x00001174 cmpq $64, %rcx + 0x4c, 0x89, 0xca, //0x00001178 movq %r9, %rdx + 0x0f, 0x82, 0x71, 0x0d, 0x00, 0x00, //0x0000117b jb LBB0_363 + 0x41, 0x89, 0xcf, //0x00001181 movl %ecx, %r15d + 0x41, 0x83, 0xe7, 0x3f, //0x00001184 andl $63, %r15d + 0x48, 0x8d, 0x44, 0x30, 0xc0, //0x00001188 leaq $-64(%rax,%rsi), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x0000118d andq $-64, %rax + 0x4c, 0x01, 0xe0, //0x00001191 addq %r12, %rax + 0x49, 0x89, 0xd1, //0x00001194 movq %rdx, %r9 + 0x4c, 0x8d, 0x44, 0x02, 0x40, //0x00001197 leaq $64(%rdx,%rax), %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000119c movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x000011a3 xorl %r14d, %r14d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000011a6 .p2align 4, 0x90 + //0x000011b0 LBB0_215 + 0xc5, 0xfe, 0x6f, 0x03, //0x000011b0 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x000011b4 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x000011b9 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x000011bd vpmovmskb %ymm2, %edi + 0xc5, 0xf5, 0x74, 0xd6, //0x000011c1 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x000011c5 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x000011c9 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x000011cd vpmovmskb %ymm0, %esi + 0xc5, 0xf5, 0x74, 0xc7, //0x000011d1 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x000011d5 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe2, 0x20, //0x000011d9 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x000011dd shlq $32, %rax + 0x48, 0x09, 0xc6, //0x000011e1 orq %rax, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x000011e4 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000011e8 jne LBB0_217 + 0x48, 0x85, 0xf6, //0x000011ee testq %rsi, %rsi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000011f1 jne LBB0_224 + //0x000011f7 LBB0_217 + 0x48, 0x09, 0xfa, //0x000011f7 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x000011fa movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x000011fd orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00001200 jne LBB0_225 + //0x00001206 LBB0_218 + 0x48, 0x85, 0xd2, //0x00001206 testq %rdx, %rdx + 0x0f, 0x85, 0x48, 0x0b, 0x00, 0x00, //0x00001209 jne LBB0_226 + //0x0000120f LBB0_219 + 0x48, 0x83, 0xc1, 0xc0, //0x0000120f addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x00001213 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x00001217 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x0000121b ja LBB0_215 + 0xe9, 0xf0, 0x0a, 0x00, 0x00, //0x00001221 jmp LBB0_220 + //0x00001226 LBB0_224 + 0x48, 0x89, 0xd8, //0x00001226 movq %rbx, %rax + 0x4c, 0x29, 0xc8, //0x00001229 subq %r9, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x0000122c bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x00001230 addq %rax, %r11 + 0x48, 0x09, 0xfa, //0x00001233 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x00001236 movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00001239 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x0000123c je LBB0_218 + //0x00001242 LBB0_225 + 0x4c, 0x89, 0xf0, //0x00001242 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00001245 notq %rax + 0x48, 0x21, 0xf0, //0x00001248 andq %rsi, %rax + 0x4c, 0x8d, 0x14, 0x00, //0x0000124b leaq (%rax,%rax), %r10 + 0x4d, 0x09, 0xf2, //0x0000124f orq %r14, %r10 + 0x4c, 0x89, 0xd7, //0x00001252 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x00001255 notq %rdi + 0x48, 0x21, 0xf7, //0x00001258 andq %rsi, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000125b movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf7, //0x00001265 andq %rsi, %rdi + 0x45, 0x31, 0xf6, //0x00001268 xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x0000126b addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x0000126e setb %r14b + 0x48, 0x01, 0xff, //0x00001272 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001275 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x0000127f xorq %rax, %rdi + 0x4c, 0x21, 0xd7, //0x00001282 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xd0, //0x00001285 movq $-48(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x00001289 notq %rdi + 0x48, 0x21, 0xfa, //0x0000128c andq %rdi, %rdx + 0x48, 0x85, 0xd2, //0x0000128f testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0xff, 0xff, 0xff, //0x00001292 je LBB0_219 + 0xe9, 0xba, 0x0a, 0x00, 0x00, //0x00001298 jmp LBB0_226 + //0x0000129d LBB0_227 + 0x48, 0x8b, 0x45, 0xb0, //0x0000129d movq $-80(%rbp), %rax + 0x4c, 0x8b, 0x70, 0x08, //0x000012a1 movq $8(%rax), %r14 + 0x4d, 0x29, 0xe6, //0x000012a5 subq %r12, %r14 + 0x0f, 0x84, 0xb3, 0x16, 0x00, 0x00, //0x000012a8 je LBB0_498 + 0x4c, 0x89, 0x65, 0xa8, //0x000012ae movq %r12, $-88(%rbp) + 0x4c, 0x89, 0xc8, //0x000012b2 movq %r9, %rax + 0x4c, 0x01, 0xe0, //0x000012b5 addq %r12, %rax + 0x49, 0x89, 0xc1, //0x000012b8 movq %rax, %r9 + 0x80, 0x38, 0x30, //0x000012bb cmpb $48, (%rax) + 0x0f, 0x85, 0xb5, 0x02, 0x00, 0x00, //0x000012be jne LBB0_271 + 0x41, 0xbf, 0x01, 0x00, 0x00, 0x00, //0x000012c4 movl $1, %r15d + 0x49, 0x83, 0xfe, 0x01, //0x000012ca cmpq $1, %r14 + 0x0f, 0x85, 0x7a, 0x02, 0x00, 0x00, //0x000012ce jne LBB0_269 + 0x4c, 0x8b, 0x65, 0xa8, //0x000012d4 movq $-88(%rbp), %r12 + 0xe9, 0x9d, 0x08, 0x00, 0x00, //0x000012d8 jmp LBB0_343 + //0x000012dd LBB0_231 + 0x48, 0x8b, 0x45, 0xb0, //0x000012dd movq $-80(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x000012e1 movq $8(%rax), %rdx + 0x48, 0x8d, 0x42, 0xfd, //0x000012e5 leaq $-3(%rdx), %rax + 0x49, 0x39, 0xc5, //0x000012e9 cmpq %rax, %r13 + 0x0f, 0x83, 0x0c, 0x15, 0x00, 0x00, //0x000012ec jae LBB0_490 + 0x41, 0x81, 0x3f, 0x6e, 0x75, 0x6c, 0x6c, //0x000012f2 cmpl $1819047278, (%r15) + 0x0f, 0x84, 0x99, 0xef, 0xff, 0xff, //0x000012f9 je LBB0_1 + 0xe9, 0x5a, 0x15, 0x00, 0x00, //0x000012ff jmp LBB0_233 + //0x00001304 LBB0_238 + 0x49, 0x8b, 0x06, //0x00001304 movq (%r14), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00001307 cmpq $4095, %rax + 0x0f, 0x8f, 0x6f, 0x14, 0x00, 0x00, //0x0000130d jg LBB0_489 + 0x48, 0x8d, 0x48, 0x01, //0x00001313 leaq $1(%rax), %rcx + 0x49, 0x89, 0x0e, //0x00001317 movq %rcx, (%r14) + 0x49, 0xc7, 0x44, 0xc6, 0x08, 0x06, 0x00, 0x00, 0x00, //0x0000131a movq $6, $8(%r14,%rax,8) + 0xe9, 0x58, 0xef, 0xff, 0xff, //0x00001323 jmp LBB0_3 + //0x00001328 LBB0_240 + 0x48, 0x8b, 0x45, 0xb0, //0x00001328 movq $-80(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x0000132c movq $8(%rax), %rdx + 0x48, 0x8d, 0x42, 0xfc, //0x00001330 leaq $-4(%rdx), %rax + 0x49, 0x39, 0xc5, //0x00001334 cmpq %rax, %r13 + 0x0f, 0x83, 0xc1, 0x14, 0x00, 0x00, //0x00001337 jae LBB0_490 + 0x43, 0x8b, 0x14, 0x21, //0x0000133d movl (%r9,%r12), %edx + 0x81, 0xfa, 0x61, 0x6c, 0x73, 0x65, //0x00001341 cmpl $1702063201, %edx + 0x0f, 0x85, 0x63, 0x15, 0x00, 0x00, //0x00001347 jne LBB0_491 + 0x4c, 0x89, 0xe0, //0x0000134d movq %r12, %rax + 0x4d, 0x8d, 0x65, 0x05, //0x00001350 leaq $5(%r13), %r12 + 0x4d, 0x89, 0x22, //0x00001354 movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001357 movq %r13, %rcx + 0x48, 0x85, 0xc0, //0x0000135a testq %rax, %rax + 0x0f, 0x8f, 0x1d, 0xef, 0xff, 0xff, //0x0000135d jg LBB0_3 + 0xe9, 0x81, 0x14, 0x00, 0x00, //0x00001363 jmp LBB0_501 + //0x00001368 LBB0_243 + 0x48, 0x8b, 0x45, 0xb0, //0x00001368 movq $-80(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x0000136c movq $8(%rax), %rdx + 0x48, 0x8d, 0x42, 0xfd, //0x00001370 leaq $-3(%rdx), %rax + 0x49, 0x39, 0xc5, //0x00001374 cmpq %rax, %r13 + 0x0f, 0x83, 0x81, 0x14, 0x00, 0x00, //0x00001377 jae LBB0_490 + 0x41, 0x81, 0x3f, 0x74, 0x72, 0x75, 0x65, //0x0000137d cmpl $1702195828, (%r15) + 0x0f, 0x84, 0x0e, 0xef, 0xff, 0xff, //0x00001384 je LBB0_1 + 0xe9, 0x76, 0x15, 0x00, 0x00, //0x0000138a jmp LBB0_245 + //0x0000138f LBB0_249 + 0x48, 0x85, 0xc9, //0x0000138f testq %rcx, %rcx + 0x49, 0x8d, 0x4c, 0x24, 0xff, //0x00001392 leaq $-1(%r12), %rcx + 0x49, 0xf7, 0xd4, //0x00001397 notq %r12 + 0x4d, 0x0f, 0x48, 0xe6, //0x0000139a cmovsq %r14, %r12 + 0x48, 0x39, 0xc8, //0x0000139e cmpq %rcx, %rax + 0x4d, 0x0f, 0x44, 0xf4, //0x000013a1 cmoveq %r12, %r14 + 0xe9, 0x29, 0xfd, 0xff, 0xff, //0x000013a5 jmp LBB0_197 + //0x000013aa LBB0_250 + 0x48, 0x89, 0xc3, //0x000013aa movq %rax, %rbx + 0x4c, 0x29, 0xe3, //0x000013ad subq %r12, %rbx + 0x0f, 0x84, 0xc0, 0x15, 0x00, 0x00, //0x000013b0 je LBB0_510 + 0x4c, 0x89, 0xe1, //0x000013b6 movq %r12, %rcx + 0x4d, 0x01, 0xcc, //0x000013b9 addq %r9, %r12 + 0x48, 0x83, 0xfb, 0x40, //0x000013bc cmpq $64, %rbx + 0x4c, 0x89, 0x4d, 0xc0, //0x000013c0 movq %r9, $-64(%rbp) + 0x0f, 0x82, 0x44, 0x0b, 0x00, 0x00, //0x000013c4 jb LBB0_364 + 0x41, 0x89, 0xde, //0x000013ca movl %ebx, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x000013cd andl $63, %r14d + 0x48, 0x8d, 0x44, 0x30, 0xc0, //0x000013d1 leaq $-64(%rax,%rsi), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x000013d6 andq $-64, %rax + 0x49, 0x89, 0xc8, //0x000013da movq %rcx, %r8 + 0x48, 0x01, 0xc8, //0x000013dd addq %rcx, %rax + 0x49, 0x8d, 0x44, 0x01, 0x40, //0x000013e0 leaq $64(%r9,%rax), %rax + 0x48, 0x89, 0x45, 0xa0, //0x000013e5 movq %rax, $-96(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000013e9 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x000013f0 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000013f3 .p2align 4, 0x90 + //0x00001400 LBB0_253 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001400 vmovdqu (%r12), %ymm0 + 0xc4, 0xc1, 0x7e, 0x6f, 0x4c, 0x24, 0x20, //0x00001406 vmovdqu $32(%r12), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x0000140d vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xca, //0x00001411 vpmovmskb %ymm2, %r9d + 0xc5, 0xf5, 0x74, 0xd6, //0x00001415 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00001419 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xd7, //0x0000141d vpcmpeqb %ymm7, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xca, //0x00001421 vpmovmskb %ymm2, %ecx + 0xc5, 0xf5, 0x74, 0xd7, //0x00001425 vpcmpeqb %ymm7, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xc2, //0x00001429 vpmovmskb %ymm2, %eax + 0xc5, 0xbd, 0x64, 0xd0, //0x0000142d vpcmpgtb %ymm0, %ymm8, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001431 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc2, //0x00001436 vpand %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x0000143a vpmovmskb %ymm0, %edi + 0xc5, 0xbd, 0x64, 0xc1, //0x0000143e vpcmpgtb %ymm1, %ymm8, %ymm0 + 0xc4, 0xc1, 0x75, 0x64, 0xc9, //0x00001442 vpcmpgtb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xdb, 0xc0, //0x00001447 vpand %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x0000144b vpmovmskb %ymm0, %esi + 0x48, 0xc1, 0xe2, 0x20, //0x0000144f shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x00001453 shlq $32, %rax + 0x48, 0x09, 0xc1, //0x00001457 orq %rax, %rcx + 0x49, 0x83, 0xfb, 0xff, //0x0000145a cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000145e jne LBB0_255 + 0x48, 0x85, 0xc9, //0x00001464 testq %rcx, %rcx + 0x0f, 0x85, 0x9d, 0x00, 0x00, 0x00, //0x00001467 jne LBB0_264 + //0x0000146d LBB0_255 + 0x48, 0xc1, 0xe6, 0x20, //0x0000146d shlq $32, %rsi + 0x4c, 0x09, 0xca, //0x00001471 orq %r9, %rdx + 0x48, 0x89, 0xc8, //0x00001474 movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x00001477 orq %r15, %rax + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x0000147a jne LBB0_265 + 0x48, 0x09, 0xfe, //0x00001480 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00001483 testq %rdx, %rdx + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x00001486 jne LBB0_266 + //0x0000148c LBB0_257 + 0x48, 0x85, 0xf6, //0x0000148c testq %rsi, %rsi + 0x0f, 0x85, 0x9f, 0x13, 0x00, 0x00, //0x0000148f jne LBB0_502 + 0x48, 0x83, 0xc3, 0xc0, //0x00001495 addq $-64, %rbx + 0x49, 0x83, 0xc4, 0x40, //0x00001499 addq $64, %r12 + 0x48, 0x83, 0xfb, 0x3f, //0x0000149d cmpq $63, %rbx + 0x0f, 0x87, 0x59, 0xff, 0xff, 0xff, //0x000014a1 ja LBB0_253 + 0xe9, 0xe7, 0x08, 0x00, 0x00, //0x000014a7 jmp LBB0_259 + //0x000014ac LBB0_265 + 0x4d, 0x89, 0xfa, //0x000014ac movq %r15, %r10 + 0x49, 0xf7, 0xd2, //0x000014af notq %r10 + 0x49, 0x21, 0xca, //0x000014b2 andq %rcx, %r10 + 0x4f, 0x8d, 0x0c, 0x12, //0x000014b5 leaq (%r10,%r10), %r9 + 0x4d, 0x09, 0xf9, //0x000014b9 orq %r15, %r9 + 0x4c, 0x89, 0xc8, //0x000014bc movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000014bf notq %rax + 0x48, 0x21, 0xc8, //0x000014c2 andq %rcx, %rax + 0x48, 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000014c5 movabsq $-6148914691236517206, %rcx + 0x48, 0x21, 0xc8, //0x000014cf andq %rcx, %rax + 0x45, 0x31, 0xff, //0x000014d2 xorl %r15d, %r15d + 0x4c, 0x01, 0xd0, //0x000014d5 addq %r10, %rax + 0x4c, 0x8b, 0x55, 0xd0, //0x000014d8 movq $-48(%rbp), %r10 + 0x41, 0x0f, 0x92, 0xc7, //0x000014dc setb %r15b + 0x48, 0x01, 0xc0, //0x000014e0 addq %rax, %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000014e3 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xc8, //0x000014ed xorq %rcx, %rax + 0x4c, 0x21, 0xc8, //0x000014f0 andq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000014f3 notq %rax + 0x48, 0x21, 0xc2, //0x000014f6 andq %rax, %rdx + 0x48, 0x09, 0xfe, //0x000014f9 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x000014fc testq %rdx, %rdx + 0x0f, 0x84, 0x87, 0xff, 0xff, 0xff, //0x000014ff je LBB0_257 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00001505 jmp LBB0_266 + //0x0000150a LBB0_264 + 0x4c, 0x89, 0xe0, //0x0000150a movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x0000150d subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x00001511 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x00001515 addq %rax, %r11 + 0xe9, 0x50, 0xff, 0xff, 0xff, //0x00001518 jmp LBB0_255 + //0x0000151d LBB0_266 + 0x48, 0x0f, 0xbc, 0xca, //0x0000151d bsfq %rdx, %rcx + 0x48, 0x85, 0xf6, //0x00001521 testq %rsi, %rsi + 0x48, 0x8b, 0x45, 0xc0, //0x00001524 movq $-64(%rbp), %rax + 0x0f, 0x84, 0x20, 0x04, 0x00, 0x00, //0x00001528 je LBB0_320 + 0x48, 0x0f, 0xbc, 0xd6, //0x0000152e bsfq %rsi, %rdx + 0xe9, 0x1c, 0x04, 0x00, 0x00, //0x00001532 jmp LBB0_321 + //0x00001537 LBB0_268 + 0x4c, 0x89, 0xca, //0x00001537 movq %r9, %rdx + 0x48, 0xf7, 0xd2, //0x0000153a notq %rdx + 0x49, 0x01, 0xd5, //0x0000153d addq %rdx, %r13 + 0x49, 0x39, 0xcd, //0x00001540 cmpq %rcx, %r13 + 0x0f, 0x82, 0x3f, 0xef, 0xff, 0xff, //0x00001543 jb LBB0_36 + 0xe9, 0x28, 0x12, 0x00, 0x00, //0x00001549 jmp LBB0_474 + //0x0000154e LBB0_269 + 0x41, 0x8a, 0x49, 0x01, //0x0000154e movb $1(%r9), %cl + 0x80, 0xc1, 0xd2, //0x00001552 addb $-46, %cl + 0x80, 0xf9, 0x37, //0x00001555 cmpb $55, %cl + 0x4c, 0x8b, 0x65, 0xa8, //0x00001558 movq $-88(%rbp), %r12 + 0x0f, 0x87, 0x18, 0x06, 0x00, 0x00, //0x0000155c ja LBB0_343 + 0x0f, 0xb6, 0xc1, //0x00001562 movzbl %cl, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00001565 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x0000156f btq %rax, %rcx + 0x0f, 0x83, 0x01, 0x06, 0x00, 0x00, //0x00001573 jae LBB0_343 + //0x00001579 LBB0_271 + 0x49, 0x83, 0xfe, 0x20, //0x00001579 cmpq $32, %r14 + 0x0f, 0x82, 0x52, 0x09, 0x00, 0x00, //0x0000157d jb LBB0_362 + 0x49, 0x8d, 0x4e, 0xe0, //0x00001583 leaq $-32(%r14), %rcx + 0x48, 0x89, 0xc8, //0x00001587 movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xe0, //0x0000158a andq $-32, %rax + 0x4d, 0x89, 0xca, //0x0000158e movq %r9, %r10 + 0x4e, 0x8d, 0x7c, 0x08, 0x20, //0x00001591 leaq $32(%rax,%r9), %r15 + 0x83, 0xe1, 0x1f, //0x00001596 andl $31, %ecx + 0x48, 0x89, 0x4d, 0xc0, //0x00001599 movq %rcx, $-64(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000159d movq $-1, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000015a4 movq $-1, %r11 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000015ab movq $-1, %r12 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000015b2 .p2align 4, 0x90 + //0x000015c0 LBB0_273 + 0xc4, 0xc1, 0x7e, 0x6f, 0x02, //0x000015c0 vmovdqu (%r10), %ymm0 + 0xc4, 0xc1, 0x7d, 0x64, 0xca, //0x000015c5 vpcmpgtb %ymm10, %ymm0, %ymm1 + 0xc5, 0xa5, 0x64, 0xd0, //0x000015ca vpcmpgtb %ymm0, %ymm11, %ymm2 + 0xc5, 0xf5, 0xdb, 0xca, //0x000015ce vpand %ymm2, %ymm1, %ymm1 + 0xc5, 0x9d, 0x74, 0xd0, //0x000015d2 vpcmpeqb %ymm0, %ymm12, %ymm2 + 0xc5, 0x95, 0x74, 0xd8, //0x000015d6 vpcmpeqb %ymm0, %ymm13, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x000015da vpor %ymm2, %ymm3, %ymm2 + 0xc5, 0xbd, 0xeb, 0xd8, //0x000015de vpor %ymm0, %ymm8, %ymm3 + 0xc5, 0x8d, 0x74, 0xc0, //0x000015e2 vpcmpeqb %ymm0, %ymm14, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x000015e6 vpmovmskb %ymm0, %edi + 0xc5, 0x85, 0x74, 0xdb, //0x000015ea vpcmpeqb %ymm3, %ymm15, %ymm3 + 0xc5, 0xfd, 0xd7, 0xd3, //0x000015ee vpmovmskb %ymm3, %edx + 0xc5, 0xfd, 0xd7, 0xf2, //0x000015f2 vpmovmskb %ymm2, %esi + 0xc5, 0xe5, 0xeb, 0xc0, //0x000015f6 vpor %ymm0, %ymm3, %ymm0 + 0xc5, 0xed, 0xeb, 0xc9, //0x000015fa vpor %ymm1, %ymm2, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc1, //0x000015fe vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00001602 vpmovmskb %ymm0, %eax + 0x48, 0xf7, 0xd0, //0x00001606 notq %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x00001609 bsfq %rax, %rcx + 0x83, 0xf9, 0x20, //0x0000160d cmpl $32, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00001610 je LBB0_275 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00001616 movl $-1, %eax + 0xd3, 0xe0, //0x0000161b shll %cl, %eax + 0xf7, 0xd0, //0x0000161d notl %eax + 0x21, 0xc7, //0x0000161f andl %eax, %edi + 0x21, 0xc2, //0x00001621 andl %eax, %edx + 0x21, 0xf0, //0x00001623 andl %esi, %eax + 0x89, 0xc6, //0x00001625 movl %eax, %esi + //0x00001627 LBB0_275 + 0x8d, 0x5f, 0xff, //0x00001627 leal $-1(%rdi), %ebx + 0x21, 0xfb, //0x0000162a andl %edi, %ebx + 0x0f, 0x85, 0xb0, 0x06, 0x00, 0x00, //0x0000162c jne LBB0_349 + 0x8d, 0x5a, 0xff, //0x00001632 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x00001635 andl %edx, %ebx + 0x0f, 0x85, 0xa5, 0x06, 0x00, 0x00, //0x00001637 jne LBB0_349 + 0x8d, 0x5e, 0xff, //0x0000163d leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x00001640 andl %esi, %ebx + 0x0f, 0x85, 0x9a, 0x06, 0x00, 0x00, //0x00001642 jne LBB0_349 + 0x85, 0xff, //0x00001648 testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000164a je LBB0_281 + 0x4c, 0x89, 0xd0, //0x00001650 movq %r10, %rax + 0x4c, 0x29, 0xc8, //0x00001653 subq %r9, %rax + 0x0f, 0xbc, 0xff, //0x00001656 bsfl %edi, %edi + 0x48, 0x01, 0xc7, //0x00001659 addq %rax, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x0000165c cmpq $-1, %r12 + 0x0f, 0x85, 0xa7, 0x07, 0x00, 0x00, //0x00001660 jne LBB0_354 + 0x49, 0x89, 0xfc, //0x00001666 movq %rdi, %r12 + //0x00001669 LBB0_281 + 0x85, 0xd2, //0x00001669 testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000166b je LBB0_284 + 0x4c, 0x89, 0xd0, //0x00001671 movq %r10, %rax + 0x4c, 0x29, 0xc8, //0x00001674 subq %r9, %rax + 0x0f, 0xbc, 0xd2, //0x00001677 bsfl %edx, %edx + 0x48, 0x01, 0xc2, //0x0000167a addq %rax, %rdx + 0x49, 0x83, 0xfb, 0xff, //0x0000167d cmpq $-1, %r11 + 0x0f, 0x85, 0x80, 0x06, 0x00, 0x00, //0x00001681 jne LBB0_351 + 0x49, 0x89, 0xd3, //0x00001687 movq %rdx, %r11 + //0x0000168a LBB0_284 + 0x85, 0xf6, //0x0000168a testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000168c je LBB0_287 + 0x4c, 0x89, 0xd0, //0x00001692 movq %r10, %rax + 0x4c, 0x29, 0xc8, //0x00001695 subq %r9, %rax + 0x0f, 0xbc, 0xd6, //0x00001698 bsfl %esi, %edx + 0x48, 0x01, 0xc2, //0x0000169b addq %rax, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x0000169e cmpq $-1, %r8 + 0x0f, 0x85, 0x5f, 0x06, 0x00, 0x00, //0x000016a2 jne LBB0_351 + 0x49, 0x89, 0xd0, //0x000016a8 movq %rdx, %r8 + //0x000016ab LBB0_287 + 0x83, 0xf9, 0x20, //0x000016ab cmpl $32, %ecx + 0x0f, 0x85, 0x62, 0x02, 0x00, 0x00, //0x000016ae jne LBB0_496 + 0x49, 0x83, 0xc2, 0x20, //0x000016b4 addq $32, %r10 + 0x49, 0x83, 0xc6, 0xe0, //0x000016b8 addq $-32, %r14 + 0x49, 0x83, 0xfe, 0x1f, //0x000016bc cmpq $31, %r14 + 0x0f, 0x87, 0xfa, 0xfe, 0xff, 0xff, //0x000016c0 ja LBB0_273 + 0xc5, 0xf8, 0x77, //0x000016c6 vzeroupper + 0x4c, 0x8b, 0x75, 0xc0, //0x000016c9 movq $-64(%rbp), %r14 + //0x000016cd LBB0_290 + 0x49, 0x83, 0xfe, 0x10, //0x000016cd cmpq $16, %r14 + 0xc5, 0xfe, 0x6f, 0x2d, 0xa7, 0xe9, 0xff, 0xff, //0x000016d1 vmovdqu $-5721(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xbf, 0xe9, 0xff, 0xff, //0x000016d9 vmovdqu $-5697(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xd7, 0xe9, 0xff, 0xff, //0x000016e1 vmovdqu $-5673(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0xef, 0xe9, 0xff, 0xff, //0x000016e9 vmovdqu $-5649(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000016f1 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0x02, 0xea, 0xff, 0xff, //0x000016f6 vmovdqu $-5630(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x1a, 0xea, 0xff, 0xff, //0x000016fe vmovdqu $-5606(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x32, 0xea, 0xff, 0xff, //0x00001706 vmovdqu $-5582(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x4a, 0xea, 0xff, 0xff, //0x0000170e vmovdqu $-5558(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x62, 0xea, 0xff, 0xff, //0x00001716 vmovdqu $-5534(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x7a, 0xea, 0xff, 0xff, //0x0000171e vmovdqu $-5510(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + 0x0f, 0x82, 0x55, 0x01, 0x00, 0x00, //0x00001726 jb LBB0_309 + 0x4d, 0x8d, 0x56, 0xf0, //0x0000172c leaq $-16(%r14), %r10 + 0x4c, 0x89, 0xd0, //0x00001730 movq %r10, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00001733 andq $-16, %rax + 0x4a, 0x8d, 0x44, 0x38, 0x10, //0x00001737 leaq $16(%rax,%r15), %rax + 0x48, 0x89, 0x45, 0xc0, //0x0000173c movq %rax, $-64(%rbp) + 0x41, 0x83, 0xe2, 0x0f, //0x00001740 andl $15, %r10d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001744 .p2align 4, 0x90 + //0x00001750 LBB0_292 + 0xc4, 0xc1, 0x7a, 0x6f, 0x07, //0x00001750 vmovdqu (%r15), %xmm0 + 0xc5, 0xf9, 0x64, 0x0d, 0xb3, 0xe8, 0xff, 0xff, //0x00001755 vpcmpgtb $-5965(%rip), %xmm0, %xmm1 /* LCPI0_11+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0xbb, 0xe8, 0xff, 0xff, //0x0000175d vmovdqu $-5957(%rip), %xmm2 /* LCPI0_12+0(%rip) */ + 0xc5, 0xe9, 0x64, 0xd0, //0x00001765 vpcmpgtb %xmm0, %xmm2, %xmm2 + 0xc5, 0xf1, 0xdb, 0xca, //0x00001769 vpand %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x74, 0x15, 0xbb, 0xe8, 0xff, 0xff, //0x0000176d vpcmpeqb $-5957(%rip), %xmm0, %xmm2 /* LCPI0_13+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x1d, 0xc3, 0xe8, 0xff, 0xff, //0x00001775 vpcmpeqb $-5949(%rip), %xmm0, %xmm3 /* LCPI0_14+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xd2, //0x0000177d vpor %xmm2, %xmm3, %xmm2 + 0xc5, 0xf9, 0xeb, 0x1d, 0xc7, 0xe8, 0xff, 0xff, //0x00001781 vpor $-5945(%rip), %xmm0, %xmm3 /* LCPI0_15+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x05, 0xcf, 0xe8, 0xff, 0xff, //0x00001789 vpcmpeqb $-5937(%rip), %xmm0, %xmm0 /* LCPI0_16+0(%rip) */ + 0xc5, 0xe1, 0x74, 0x1d, 0xd7, 0xe8, 0xff, 0xff, //0x00001791 vpcmpeqb $-5929(%rip), %xmm3, %xmm3 /* LCPI0_17+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xe0, //0x00001799 vpor %xmm0, %xmm3, %xmm4 + 0xc5, 0xe9, 0xeb, 0xc9, //0x0000179d vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xd9, 0xeb, 0xc9, //0x000017a1 vpor %xmm1, %xmm4, %xmm1 + 0xc5, 0xf9, 0xd7, 0xf8, //0x000017a5 vpmovmskb %xmm0, %edi + 0xc5, 0xf9, 0xd7, 0xf3, //0x000017a9 vpmovmskb %xmm3, %esi + 0xc5, 0xf9, 0xd7, 0xd2, //0x000017ad vpmovmskb %xmm2, %edx + 0xc5, 0xf9, 0xd7, 0xc1, //0x000017b1 vpmovmskb %xmm1, %eax + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x000017b5 movl $4294967295, %ecx + 0x48, 0x31, 0xc8, //0x000017ba xorq %rcx, %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x000017bd bsfq %rax, %rcx + 0x83, 0xf9, 0x10, //0x000017c1 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000017c4 je LBB0_294 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000017ca movl $-1, %eax + 0xd3, 0xe0, //0x000017cf shll %cl, %eax + 0xf7, 0xd0, //0x000017d1 notl %eax + 0x21, 0xc7, //0x000017d3 andl %eax, %edi + 0x21, 0xc6, //0x000017d5 andl %eax, %esi + 0x21, 0xd0, //0x000017d7 andl %edx, %eax + 0x89, 0xc2, //0x000017d9 movl %eax, %edx + //0x000017db LBB0_294 + 0x8d, 0x5f, 0xff, //0x000017db leal $-1(%rdi), %ebx + 0x21, 0xfb, //0x000017de andl %edi, %ebx + 0x0f, 0x85, 0x0f, 0x06, 0x00, 0x00, //0x000017e0 jne LBB0_353 + 0x8d, 0x5e, 0xff, //0x000017e6 leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x000017e9 andl %esi, %ebx + 0x0f, 0x85, 0x04, 0x06, 0x00, 0x00, //0x000017eb jne LBB0_353 + 0x8d, 0x5a, 0xff, //0x000017f1 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x000017f4 andl %edx, %ebx + 0x0f, 0x85, 0xf9, 0x05, 0x00, 0x00, //0x000017f6 jne LBB0_353 + 0x85, 0xff, //0x000017fc testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000017fe je LBB0_300 + 0x4c, 0x89, 0xf8, //0x00001804 movq %r15, %rax + 0x4c, 0x29, 0xc8, //0x00001807 subq %r9, %rax + 0x0f, 0xbc, 0xff, //0x0000180a bsfl %edi, %edi + 0x48, 0x01, 0xc7, //0x0000180d addq %rax, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x00001810 cmpq $-1, %r12 + 0x0f, 0x85, 0xf3, 0x05, 0x00, 0x00, //0x00001814 jne LBB0_354 + 0x49, 0x89, 0xfc, //0x0000181a movq %rdi, %r12 + //0x0000181d LBB0_300 + 0x85, 0xf6, //0x0000181d testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000181f je LBB0_303 + 0x4c, 0x89, 0xf8, //0x00001825 movq %r15, %rax + 0x4c, 0x29, 0xc8, //0x00001828 subq %r9, %rax + 0x0f, 0xbc, 0xf6, //0x0000182b bsfl %esi, %esi + 0x48, 0x01, 0xc6, //0x0000182e addq %rax, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x00001831 cmpq $-1, %r11 + 0x0f, 0x85, 0x4e, 0x06, 0x00, 0x00, //0x00001835 jne LBB0_359 + 0x49, 0x89, 0xf3, //0x0000183b movq %rsi, %r11 + //0x0000183e LBB0_303 + 0x85, 0xd2, //0x0000183e testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00001840 je LBB0_306 + 0x4c, 0x89, 0xf8, //0x00001846 movq %r15, %rax + 0x4c, 0x29, 0xc8, //0x00001849 subq %r9, %rax + 0x0f, 0xbc, 0xd2, //0x0000184c bsfl %edx, %edx + 0x48, 0x01, 0xc2, //0x0000184f addq %rax, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001852 cmpq $-1, %r8 + 0x0f, 0x85, 0xab, 0x04, 0x00, 0x00, //0x00001856 jne LBB0_351 + 0x49, 0x89, 0xd0, //0x0000185c movq %rdx, %r8 + //0x0000185f LBB0_306 + 0x83, 0xf9, 0x10, //0x0000185f cmpl $16, %ecx + 0x0f, 0x85, 0x05, 0x01, 0x00, 0x00, //0x00001862 jne LBB0_325 + 0x49, 0x83, 0xc7, 0x10, //0x00001868 addq $16, %r15 + 0x49, 0x83, 0xc6, 0xf0, //0x0000186c addq $-16, %r14 + 0x49, 0x83, 0xfe, 0x0f, //0x00001870 cmpq $15, %r14 + 0x0f, 0x87, 0xd6, 0xfe, 0xff, 0xff, //0x00001874 ja LBB0_292 + 0x4d, 0x89, 0xd6, //0x0000187a movq %r10, %r14 + 0x4c, 0x8b, 0x7d, 0xc0, //0x0000187d movq $-64(%rbp), %r15 + //0x00001881 LBB0_309 + 0x4d, 0x85, 0xf6, //0x00001881 testq %r14, %r14 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001884 movq $-48(%rbp), %r10 + 0x0f, 0x84, 0xe6, 0x00, 0x00, 0x00, //0x00001888 je LBB0_326 + 0x4b, 0x8d, 0x0c, 0x37, //0x0000188e leaq (%r15,%r14), %rcx + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00001892 jmp LBB0_314 + //0x00001897 LBB0_311 + 0x49, 0x89, 0xd7, //0x00001897 movq %rdx, %r15 + 0x4d, 0x29, 0xcf, //0x0000189a subq %r9, %r15 + 0x49, 0x83, 0xf8, 0xff, //0x0000189d cmpq $-1, %r8 + 0x0f, 0x85, 0x26, 0x06, 0x00, 0x00, //0x000018a1 jne LBB0_365 + 0x49, 0xff, 0xcf, //0x000018a7 decq %r15 + 0x4d, 0x89, 0xf8, //0x000018aa movq %r15, %r8 + 0x90, 0x90, 0x90, //0x000018ad .p2align 4, 0x90 + //0x000018b0 LBB0_313 + 0x49, 0x89, 0xd7, //0x000018b0 movq %rdx, %r15 + 0x49, 0xff, 0xce, //0x000018b3 decq %r14 + 0x0f, 0x84, 0xbc, 0x05, 0x00, 0x00, //0x000018b6 je LBB0_358 + //0x000018bc LBB0_314 + 0x41, 0x0f, 0xbe, 0x37, //0x000018bc movsbl (%r15), %esi + 0x83, 0xc6, 0xd5, //0x000018c0 addl $-43, %esi + 0x83, 0xfe, 0x3a, //0x000018c3 cmpl $58, %esi + 0x0f, 0x87, 0xa8, 0x00, 0x00, 0x00, //0x000018c6 ja LBB0_326 + 0x49, 0x8d, 0x57, 0x01, //0x000018cc leaq $1(%r15), %rdx + 0x48, 0x8d, 0x3d, 0x49, 0x13, 0x00, 0x00, //0x000018d0 leaq $4937(%rip), %rdi /* LJTI0_2+0(%rip) */ + 0x48, 0x63, 0x04, 0xb7, //0x000018d7 movslq (%rdi,%rsi,4), %rax + 0x48, 0x01, 0xf8, //0x000018db addq %rdi, %rax + 0xff, 0xe0, //0x000018de jmpq *%rax + //0x000018e0 LBB0_316 + 0x49, 0x89, 0xd7, //0x000018e0 movq %rdx, %r15 + 0x4d, 0x29, 0xcf, //0x000018e3 subq %r9, %r15 + 0x49, 0x83, 0xfb, 0xff, //0x000018e6 cmpq $-1, %r11 + 0x0f, 0x85, 0xdd, 0x05, 0x00, 0x00, //0x000018ea jne LBB0_365 + 0x49, 0xff, 0xcf, //0x000018f0 decq %r15 + 0x4d, 0x89, 0xfb, //0x000018f3 movq %r15, %r11 + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x000018f6 jmp LBB0_313 + //0x000018fb LBB0_318 + 0x49, 0x89, 0xd7, //0x000018fb movq %rdx, %r15 + 0x4d, 0x29, 0xcf, //0x000018fe subq %r9, %r15 + 0x49, 0x83, 0xfc, 0xff, //0x00001901 cmpq $-1, %r12 + 0x0f, 0x85, 0xc2, 0x05, 0x00, 0x00, //0x00001905 jne LBB0_365 + 0x49, 0xff, 0xcf, //0x0000190b decq %r15 + 0x4d, 0x89, 0xfc, //0x0000190e movq %r15, %r12 + 0xe9, 0x9a, 0xff, 0xff, 0xff, //0x00001911 jmp LBB0_313 + //0x00001916 LBB0_496 + 0x49, 0x01, 0xca, //0x00001916 addq %rcx, %r10 + 0xc5, 0xf8, 0x77, //0x00001919 vzeroupper + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000191c vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0xfe, 0x6f, 0x3d, 0x97, 0xe7, 0xff, 0xff, //0x00001921 vmovdqu $-6249(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x6f, 0xe7, 0xff, 0xff, //0x00001929 vmovdqu $-6289(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x47, 0xe7, 0xff, 0xff, //0x00001931 vmovdqu $-6329(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0x4d, 0x89, 0xd7, //0x00001939 movq %r10, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x0000193c movq $-48(%rbp), %r10 + 0x4d, 0x85, 0xdb, //0x00001940 testq %r11, %r11 + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x00001943 jne LBB0_327 + 0xe9, 0x10, 0x10, 0x00, 0x00, //0x00001949 jmp LBB0_497 + //0x0000194e LBB0_320 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x0000194e movl $64, %edx + //0x00001953 LBB0_321 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001953 movq $-56(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00001957 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x0000195a cmpq %rcx, %rdx + 0x0f, 0x82, 0x4d, 0x10, 0x00, 0x00, //0x0000195d jb LBB0_129 + //0x00001963 LBB0_322 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x00001963 leaq $1(%r12,%rcx), %r12 + 0xe9, 0xfd, 0x03, 0x00, 0x00, //0x00001968 jmp LBB0_323 + //0x0000196d LBB0_325 + 0x49, 0x01, 0xcf, //0x0000196d addq %rcx, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001970 movq $-48(%rbp), %r10 + //0x00001974 LBB0_326 + 0x4d, 0x85, 0xdb, //0x00001974 testq %r11, %r11 + 0x0f, 0x84, 0xe1, 0x0f, 0x00, 0x00, //0x00001977 je LBB0_497 + //0x0000197d LBB0_327 + 0x4d, 0x85, 0xc0, //0x0000197d testq %r8, %r8 + 0x0f, 0x84, 0xd8, 0x0f, 0x00, 0x00, //0x00001980 je LBB0_497 + 0x4d, 0x85, 0xe4, //0x00001986 testq %r12, %r12 + 0x0f, 0x84, 0xcf, 0x0f, 0x00, 0x00, //0x00001989 je LBB0_497 + 0x4d, 0x29, 0xcf, //0x0000198f subq %r9, %r15 + 0x49, 0x8d, 0x4f, 0xff, //0x00001992 leaq $-1(%r15), %rcx + 0x49, 0x39, 0xcb, //0x00001996 cmpq %rcx, %r11 + 0x0f, 0x84, 0x6b, 0x00, 0x00, 0x00, //0x00001999 je LBB0_335 + 0x49, 0x39, 0xcc, //0x0000199f cmpq %rcx, %r12 + 0x0f, 0x84, 0x62, 0x00, 0x00, 0x00, //0x000019a2 je LBB0_335 + 0x49, 0x39, 0xc8, //0x000019a8 cmpq %rcx, %r8 + 0x0f, 0x84, 0x59, 0x00, 0x00, 0x00, //0x000019ab je LBB0_335 + 0x4d, 0x85, 0xc0, //0x000019b1 testq %r8, %r8 + 0xc5, 0x7e, 0x6f, 0x05, 0x24, 0xe7, 0xff, 0xff, //0x000019b4 vmovdqu $-6364(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x3c, 0xe7, 0xff, 0xff, //0x000019bc vmovdqu $-6340(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x54, 0xe7, 0xff, 0xff, //0x000019c4 vmovdqu $-6316(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x6c, 0xe7, 0xff, 0xff, //0x000019cc vmovdqu $-6292(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x84, 0xe7, 0xff, 0xff, //0x000019d4 vmovdqu $-6268(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x9c, 0xe7, 0xff, 0xff, //0x000019dc vmovdqu $-6244(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0xb4, 0xe7, 0xff, 0xff, //0x000019e4 vmovdqu $-6220(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + 0x0f, 0x8e, 0x58, 0x00, 0x00, 0x00, //0x000019ec jle LBB0_336 + 0x49, 0x8d, 0x40, 0xff, //0x000019f2 leaq $-1(%r8), %rax + 0x49, 0x39, 0xc3, //0x000019f6 cmpq %rax, %r11 + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x000019f9 je LBB0_336 + 0x49, 0xf7, 0xd0, //0x000019ff notq %r8 + 0x4d, 0x89, 0xc7, //0x00001a02 movq %r8, %r15 + 0xe9, 0x64, 0x01, 0x00, 0x00, //0x00001a05 jmp LBB0_342 + //0x00001a0a LBB0_335 + 0x49, 0xf7, 0xdf, //0x00001a0a negq %r15 + 0xc5, 0x7e, 0x6f, 0x05, 0xcb, 0xe6, 0xff, 0xff, //0x00001a0d vmovdqu $-6453(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0xe3, 0xe6, 0xff, 0xff, //0x00001a15 vmovdqu $-6429(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xfb, 0xe6, 0xff, 0xff, //0x00001a1d vmovdqu $-6405(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x13, 0xe7, 0xff, 0xff, //0x00001a25 vmovdqu $-6381(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x2b, 0xe7, 0xff, 0xff, //0x00001a2d vmovdqu $-6357(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x43, 0xe7, 0xff, 0xff, //0x00001a35 vmovdqu $-6333(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x5b, 0xe7, 0xff, 0xff, //0x00001a3d vmovdqu $-6309(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + 0xe9, 0x24, 0x01, 0x00, 0x00, //0x00001a45 jmp LBB0_342 + //0x00001a4a LBB0_336 + 0x4c, 0x89, 0xe1, //0x00001a4a movq %r12, %rcx + 0x4c, 0x09, 0xd9, //0x00001a4d orq %r11, %rcx + 0x4d, 0x39, 0xdc, //0x00001a50 cmpq %r11, %r12 + 0x0f, 0x8c, 0x00, 0x01, 0x00, 0x00, //0x00001a53 jl LBB0_341 + 0x48, 0x85, 0xc9, //0x00001a59 testq %rcx, %rcx + 0x0f, 0x88, 0xf7, 0x00, 0x00, 0x00, //0x00001a5c js LBB0_341 + 0x49, 0xf7, 0xd4, //0x00001a62 notq %r12 + 0x4d, 0x89, 0xe7, //0x00001a65 movq %r12, %r15 + 0xe9, 0x01, 0x01, 0x00, 0x00, //0x00001a68 jmp LBB0_342 + //0x00001a6d LBB0_339 + 0x4d, 0x29, 0xfb, //0x00001a6d subq %r15, %r11 + 0x44, 0x0f, 0xbc, 0xf3, //0x00001a70 bsfl %ebx, %r14d + 0xe9, 0x3d, 0x01, 0x00, 0x00, //0x00001a74 jmp LBB0_346 + //0x00001a79 LBB0_54 + 0x4c, 0x89, 0xf9, //0x00001a79 movq %r15, %rcx + 0x4c, 0x89, 0xcb, //0x00001a7c movq %r9, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00001a7f cmpq $32, %rcx + 0x0f, 0x82, 0x0e, 0x05, 0x00, 0x00, //0x00001a83 jb LBB0_370 + //0x00001a89 LBB0_55 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001a89 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001a8d vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x00001a91 vpmovmskb %ymm1, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001a95 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00001a99 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00001a9d testl %esi, %esi + 0x0f, 0x85, 0x89, 0x04, 0x00, 0x00, //0x00001a9f jne LBB0_366 + 0x4d, 0x85, 0xf6, //0x00001aa5 testq %r14, %r14 + 0x0f, 0x85, 0x97, 0x04, 0x00, 0x00, //0x00001aa8 jne LBB0_368 + 0x45, 0x31, 0xf6, //0x00001aae xorl %r14d, %r14d + 0x48, 0x85, 0xd2, //0x00001ab1 testq %rdx, %rdx + 0x0f, 0x84, 0xd5, 0x04, 0x00, 0x00, //0x00001ab4 je LBB0_369 + //0x00001aba LBB0_60 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001aba bsfq %rdx, %rax + 0x4c, 0x29, 0xdb, //0x00001abe subq %r11, %rbx + 0x4c, 0x8d, 0x64, 0x03, 0x01, //0x00001ac1 leaq $1(%rbx,%rax), %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001ac6 movq $-56(%rbp), %r14 + //0x00001aca LBB0_184 + 0x4d, 0x85, 0xe4, //0x00001aca testq %r12, %r12 + 0x0f, 0x88, 0xbb, 0x0c, 0x00, 0x00, //0x00001acd js LBB0_475 + 0x4d, 0x89, 0x22, //0x00001ad3 movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001ad6 movq %r13, %rcx + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00001ad9 cmpq $0, $-88(%rbp) + 0x0f, 0x8f, 0x9c, 0xe7, 0xff, 0xff, //0x00001ade jg LBB0_3 + 0xe9, 0x00, 0x0d, 0x00, 0x00, //0x00001ae4 jmp LBB0_501 + //0x00001ae9 LBB0_84 + 0x4d, 0x89, 0xf2, //0x00001ae9 movq %r14, %r10 + 0x49, 0x89, 0xc4, //0x00001aec movq %rax, %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001aef movq $-56(%rbp), %r14 + 0x49, 0x83, 0xfa, 0x20, //0x00001af3 cmpq $32, %r10 + 0x0f, 0x82, 0xd2, 0x05, 0x00, 0x00, //0x00001af7 jb LBB0_388 + //0x00001afd LBB0_85 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001afd vmovdqu (%r12), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001b03 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf1, //0x00001b07 vpmovmskb %ymm1, %esi + 0xc5, 0xfd, 0x74, 0xcf, //0x00001b0b vpcmpeqb %ymm7, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc9, //0x00001b0f vpmovmskb %ymm1, %ecx + 0xc5, 0xbd, 0x64, 0xc8, //0x00001b13 vpcmpgtb %ymm0, %ymm8, %ymm1 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001b17 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00001b1c vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xc8, //0x00001b20 vpmovmskb %ymm0, %r9d + 0x85, 0xc9, //0x00001b24 testl %ecx, %ecx + 0x0f, 0x85, 0xfa, 0x04, 0x00, 0x00, //0x00001b26 jne LBB0_379 + 0x4d, 0x85, 0xff, //0x00001b2c testq %r15, %r15 + 0x0f, 0x85, 0x09, 0x05, 0x00, 0x00, //0x00001b2f jne LBB0_381 + 0x45, 0x31, 0xff, //0x00001b35 xorl %r15d, %r15d + 0x48, 0x85, 0xf6, //0x00001b38 testq %rsi, %rsi + 0x0f, 0x84, 0x44, 0x05, 0x00, 0x00, //0x00001b3b je LBB0_382 + //0x00001b41 LBB0_88 + 0x48, 0x0f, 0xbc, 0xce, //0x00001b41 bsfq %rsi, %rcx + 0xe9, 0x40, 0x05, 0x00, 0x00, //0x00001b45 jmp LBB0_383 + //0x00001b4a LBB0_340 + 0x48, 0xf7, 0xd2, //0x00001b4a notq %rdx + 0x49, 0x89, 0xd6, //0x00001b4d movq %rdx, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001b50 movq $-48(%rbp), %rdx + 0xe9, 0x7a, 0xf5, 0xff, 0xff, //0x00001b54 jmp LBB0_197 + //0x00001b59 LBB0_341 + 0x48, 0x85, 0xc9, //0x00001b59 testq %rcx, %rcx + 0x49, 0x8d, 0x43, 0xff, //0x00001b5c leaq $-1(%r11), %rax + 0x49, 0xf7, 0xd3, //0x00001b60 notq %r11 + 0x4d, 0x0f, 0x48, 0xdf, //0x00001b63 cmovsq %r15, %r11 + 0x49, 0x39, 0xc4, //0x00001b67 cmpq %rax, %r12 + 0x4d, 0x0f, 0x44, 0xfb, //0x00001b6a cmoveq %r11, %r15 + //0x00001b6e LBB0_342 + 0x4d, 0x8b, 0x22, //0x00001b6e movq (%r10), %r12 + 0x4d, 0x85, 0xff, //0x00001b71 testq %r15, %r15 + 0x0f, 0x88, 0xee, 0x0d, 0x00, 0x00, //0x00001b74 js LBB0_499 + //0x00001b7a LBB0_343 + 0x4d, 0x01, 0xfc, //0x00001b7a addq %r15, %r12 + 0x4d, 0x89, 0x22, //0x00001b7d movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001b80 movq %r13, %rcx + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00001b83 cmpq $0, $-88(%rbp) + 0x4c, 0x8b, 0x75, 0xc8, //0x00001b88 movq $-56(%rbp), %r14 + 0x0f, 0x8f, 0xee, 0xe6, 0xff, 0xff, //0x00001b8c jg LBB0_3 + 0xe9, 0x52, 0x0c, 0x00, 0x00, //0x00001b92 jmp LBB0_501 + //0x00001b97 LBB0_344 + 0x4d, 0x29, 0xfe, //0x00001b97 subq %r15, %r14 + 0x0f, 0xbc, 0xc3, //0x00001b9a bsfl %ebx, %eax + 0x4c, 0x01, 0xf0, //0x00001b9d addq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00001ba0 notq %rax + 0x49, 0x89, 0xc6, //0x00001ba3 movq %rax, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001ba6 movq $-48(%rbp), %rdx + 0xe9, 0x24, 0xf5, 0xff, 0xff, //0x00001baa jmp LBB0_197 + //0x00001baf LBB0_345 + 0x4d, 0x29, 0xfb, //0x00001baf subq %r15, %r11 + 0x45, 0x0f, 0xbc, 0xf1, //0x00001bb2 bsfl %r9d, %r14d + //0x00001bb6 LBB0_346 + 0x4d, 0x01, 0xde, //0x00001bb6 addq %r11, %r14 + 0x49, 0xf7, 0xd6, //0x00001bb9 notq %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001bbc movq $-48(%rbp), %rdx + 0xe9, 0x0e, 0xf5, 0xff, 0xff, //0x00001bc0 jmp LBB0_197 + //0x00001bc5 LBB0_347 + 0x48, 0xf7, 0xd7, //0x00001bc5 notq %rdi + 0x49, 0x89, 0xfe, //0x00001bc8 movq %rdi, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001bcb movq $-48(%rbp), %rdx + 0xe9, 0xff, 0xf4, 0xff, 0xff, //0x00001bcf jmp LBB0_197 + //0x00001bd4 LBB0_101 + 0x4c, 0x89, 0xf9, //0x00001bd4 movq %r15, %rcx + 0x4c, 0x89, 0xc3, //0x00001bd7 movq %r8, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00001bda cmpq $32, %rcx + 0x0f, 0x82, 0x02, 0x06, 0x00, 0x00, //0x00001bde jb LBB0_402 + //0x00001be4 LBB0_102 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001be4 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001be8 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x00001bec vpmovmskb %ymm1, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001bf0 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00001bf4 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00001bf8 testl %esi, %esi + 0x0f, 0x85, 0x6f, 0x05, 0x00, 0x00, //0x00001bfa jne LBB0_397 + 0x4d, 0x85, 0xf6, //0x00001c00 testq %r14, %r14 + 0x0f, 0x85, 0x85, 0x05, 0x00, 0x00, //0x00001c03 jne LBB0_399 + 0x45, 0x31, 0xf6, //0x00001c09 xorl %r14d, %r14d + 0x48, 0x85, 0xd2, //0x00001c0c testq %rdx, %rdx + 0x0f, 0x84, 0xc9, 0x05, 0x00, 0x00, //0x00001c0f je LBB0_401 + //0x00001c15 LBB0_107 + 0x4d, 0x89, 0xe0, //0x00001c15 movq %r12, %r8 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001c18 bsfq %rdx, %rax + 0x4c, 0x29, 0xcb, //0x00001c1c subq %r9, %rbx + 0x4c, 0x8d, 0x64, 0x03, 0x01, //0x00001c1f leaq $1(%rbx,%rax), %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001c24 movq $-56(%rbp), %r14 + //0x00001c28 LBB0_205 + 0x4d, 0x85, 0xe4, //0x00001c28 testq %r12, %r12 + 0x0f, 0x88, 0x87, 0x0b, 0x00, 0x00, //0x00001c2b js LBB0_478 + 0x4d, 0x89, 0x22, //0x00001c31 movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001c34 movq %r13, %rcx + 0x4d, 0x85, 0xc0, //0x00001c37 testq %r8, %r8 + 0x0f, 0x8e, 0xa9, 0x0b, 0x00, 0x00, //0x00001c3a jle LBB0_501 + 0x49, 0x8b, 0x06, //0x00001c40 movq (%r14), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00001c43 cmpq $4095, %rax + 0x0f, 0x8f, 0x33, 0x0b, 0x00, 0x00, //0x00001c49 jg LBB0_489 + 0x48, 0x8d, 0x48, 0x01, //0x00001c4f leaq $1(%rax), %rcx + 0x49, 0x89, 0x0e, //0x00001c53 movq %rcx, (%r14) + 0x49, 0xc7, 0x44, 0xc6, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00001c56 movq $4, $8(%r14,%rax,8) + 0xe9, 0x1c, 0xe6, 0xff, 0xff, //0x00001c5f jmp LBB0_3 + //0x00001c64 LBB0_120 + 0x4c, 0x89, 0xf3, //0x00001c64 movq %r14, %rbx + 0x4c, 0x8b, 0x65, 0xa0, //0x00001c67 movq $-96(%rbp), %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001c6b movq $-56(%rbp), %r14 + 0x48, 0x83, 0xfb, 0x20, //0x00001c6f cmpq $32, %rbx + 0x0f, 0x82, 0xa3, 0x06, 0x00, 0x00, //0x00001c73 jb LBB0_420 + //0x00001c79 LBB0_121 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001c79 vmovdqu (%r12), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001c7f vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf1, //0x00001c83 vpmovmskb %ymm1, %esi + 0xc5, 0xfd, 0x74, 0xcf, //0x00001c87 vpcmpeqb %ymm7, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc9, //0x00001c8b vpmovmskb %ymm1, %ecx + 0xc5, 0xbd, 0x64, 0xc8, //0x00001c8f vpcmpgtb %ymm0, %ymm8, %ymm1 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001c93 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00001c98 vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xc8, //0x00001c9c vpmovmskb %ymm0, %r9d + 0x85, 0xc9, //0x00001ca0 testl %ecx, %ecx + 0x0f, 0x85, 0xd0, 0x05, 0x00, 0x00, //0x00001ca2 jne LBB0_411 + 0x4d, 0x85, 0xff, //0x00001ca8 testq %r15, %r15 + 0x0f, 0x85, 0xdf, 0x05, 0x00, 0x00, //0x00001cab jne LBB0_413 + 0x45, 0x31, 0xff, //0x00001cb1 xorl %r15d, %r15d + 0x48, 0x85, 0xf6, //0x00001cb4 testq %rsi, %rsi + 0x0f, 0x84, 0x1e, 0x06, 0x00, 0x00, //0x00001cb7 je LBB0_414 + //0x00001cbd LBB0_124 + 0x48, 0x0f, 0xbc, 0xce, //0x00001cbd bsfq %rsi, %rcx + 0xe9, 0x1a, 0x06, 0x00, 0x00, //0x00001cc1 jmp LBB0_415 + //0x00001cc6 LBB0_348 + 0x49, 0x89, 0xce, //0x00001cc6 movq %rcx, %r14 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001cc9 movq $-1, %rcx + 0x4d, 0x85, 0xe4, //0x00001cd0 testq %r12, %r12 + 0x48, 0x8b, 0x55, 0xd0, //0x00001cd3 movq $-48(%rbp), %rdx + 0x0f, 0x85, 0xf4, 0xf2, 0xff, 0xff, //0x00001cd7 jne LBB0_188 + 0xe9, 0xf3, 0x0a, 0x00, 0x00, //0x00001cdd jmp LBB0_481 + //0x00001ce2 LBB0_349 + 0x4d, 0x29, 0xca, //0x00001ce2 subq %r9, %r10 + 0x44, 0x0f, 0xbc, 0xfb, //0x00001ce5 bsfl %ebx, %r15d + 0x4d, 0x01, 0xd7, //0x00001ce9 addq %r10, %r15 + 0x49, 0xf7, 0xd7, //0x00001cec notq %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001cef movq $-48(%rbp), %r10 + 0xe9, 0x76, 0xfe, 0xff, 0xff, //0x00001cf3 jmp LBB0_342 + //0x00001cf8 LBB0_350 + 0x48, 0xf7, 0xd6, //0x00001cf8 notq %rsi + 0x49, 0x89, 0xf6, //0x00001cfb movq %rsi, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001cfe movq $-48(%rbp), %rdx + 0xe9, 0xcc, 0xf3, 0xff, 0xff, //0x00001d02 jmp LBB0_197 + //0x00001d07 LBB0_351 + 0x48, 0xf7, 0xd2, //0x00001d07 notq %rdx + 0x49, 0x89, 0xd7, //0x00001d0a movq %rdx, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001d0d movq $-48(%rbp), %r10 + 0xe9, 0x58, 0xfe, 0xff, 0xff, //0x00001d11 jmp LBB0_342 + //0x00001d16 LBB0_220 + 0x4c, 0x89, 0xf9, //0x00001d16 movq %r15, %rcx + 0x4c, 0x89, 0xc3, //0x00001d19 movq %r8, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00001d1c cmpq $32, %rcx + 0x0f, 0x82, 0xfd, 0x07, 0x00, 0x00, //0x00001d20 jb LBB0_443 + //0x00001d26 LBB0_221 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001d26 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001d2a vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x00001d2e vpmovmskb %ymm1, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001d32 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00001d36 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00001d3a testl %esi, %esi + 0x0f, 0x85, 0x6a, 0x07, 0x00, 0x00, //0x00001d3c jne LBB0_438 + 0x4d, 0x85, 0xf6, //0x00001d42 testq %r14, %r14 + 0x0f, 0x85, 0x80, 0x07, 0x00, 0x00, //0x00001d45 jne LBB0_440 + 0x45, 0x31, 0xf6, //0x00001d4b xorl %r14d, %r14d + 0x48, 0x85, 0xd2, //0x00001d4e testq %rdx, %rdx + 0x0f, 0x84, 0xc4, 0x07, 0x00, 0x00, //0x00001d51 je LBB0_442 + //0x00001d57 LBB0_226 + 0x4d, 0x89, 0xe0, //0x00001d57 movq %r12, %r8 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001d5a bsfq %rdx, %rax + 0x4c, 0x29, 0xcb, //0x00001d5e subq %r9, %rbx + 0x4c, 0x8d, 0x64, 0x03, 0x01, //0x00001d61 leaq $1(%rbx,%rax), %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001d66 movq $-56(%rbp), %r14 + //0x00001d6a LBB0_323 + 0x4d, 0x85, 0xe4, //0x00001d6a testq %r12, %r12 + 0x0f, 0x88, 0x45, 0x0a, 0x00, 0x00, //0x00001d6d js LBB0_478 + 0x4d, 0x89, 0x22, //0x00001d73 movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001d76 movq %r13, %rcx + 0x4d, 0x85, 0xc0, //0x00001d79 testq %r8, %r8 + 0x0f, 0x8f, 0xfe, 0xe4, 0xff, 0xff, //0x00001d7c jg LBB0_3 + 0xe9, 0x62, 0x0a, 0x00, 0x00, //0x00001d82 jmp LBB0_501 + //0x00001d87 LBB0_352 + 0x49, 0xf7, 0xde, //0x00001d87 negq %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001d8a movq $-48(%rbp), %rdx + 0xe9, 0x40, 0xf3, 0xff, 0xff, //0x00001d8e jmp LBB0_197 + //0x00001d93 LBB0_259 + 0x4c, 0x89, 0xf3, //0x00001d93 movq %r14, %rbx + 0x4c, 0x8b, 0x65, 0xa0, //0x00001d96 movq $-96(%rbp), %r12 + 0x48, 0x83, 0xfb, 0x20, //0x00001d9a cmpq $32, %rbx + 0x4c, 0x8b, 0x75, 0xc8, //0x00001d9e movq $-56(%rbp), %r14 + 0x0f, 0x82, 0xb1, 0x08, 0x00, 0x00, //0x00001da2 jb LBB0_460 + //0x00001da8 LBB0_260 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001da8 vmovdqu (%r12), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001dae vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf1, //0x00001db2 vpmovmskb %ymm1, %esi + 0xc5, 0xfd, 0x74, 0xcf, //0x00001db6 vpcmpeqb %ymm7, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc9, //0x00001dba vpmovmskb %ymm1, %ecx + 0xc5, 0xbd, 0x64, 0xc8, //0x00001dbe vpcmpgtb %ymm0, %ymm8, %ymm1 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001dc2 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00001dc7 vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xc8, //0x00001dcb vpmovmskb %ymm0, %r9d + 0x85, 0xc9, //0x00001dcf testl %ecx, %ecx + 0x0f, 0x85, 0xde, 0x07, 0x00, 0x00, //0x00001dd1 jne LBB0_452 + 0x4d, 0x85, 0xff, //0x00001dd7 testq %r15, %r15 + 0x0f, 0x85, 0xed, 0x07, 0x00, 0x00, //0x00001dda jne LBB0_454 + 0x45, 0x31, 0xff, //0x00001de0 xorl %r15d, %r15d + 0x48, 0x85, 0xf6, //0x00001de3 testq %rsi, %rsi + 0x0f, 0x84, 0x2c, 0x08, 0x00, 0x00, //0x00001de6 je LBB0_455 + //0x00001dec LBB0_263 + 0x48, 0x0f, 0xbc, 0xce, //0x00001dec bsfq %rsi, %rcx + 0xe9, 0x28, 0x08, 0x00, 0x00, //0x00001df0 jmp LBB0_456 + //0x00001df5 LBB0_353 + 0x4d, 0x29, 0xcf, //0x00001df5 subq %r9, %r15 + 0x0f, 0xbc, 0xc3, //0x00001df8 bsfl %ebx, %eax + 0x4c, 0x01, 0xf8, //0x00001dfb addq %r15, %rax + 0x48, 0xf7, 0xd0, //0x00001dfe notq %rax + 0x49, 0x89, 0xc7, //0x00001e01 movq %rax, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001e04 movq $-48(%rbp), %r10 + 0xe9, 0x61, 0xfd, 0xff, 0xff, //0x00001e08 jmp LBB0_342 + //0x00001e0d LBB0_354 + 0x48, 0xf7, 0xd7, //0x00001e0d notq %rdi + 0x49, 0x89, 0xff, //0x00001e10 movq %rdi, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001e13 movq $-48(%rbp), %r10 + 0xe9, 0x52, 0xfd, 0xff, 0xff, //0x00001e17 jmp LBB0_342 + //0x00001e1c LBB0_355 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001e1c movq $-1, %r8 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001e23 movq $-1, %r12 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001e2a movq $-1, %rax + 0x4d, 0x89, 0xfe, //0x00001e31 movq %r15, %r14 + 0x49, 0x83, 0xfa, 0x10, //0x00001e34 cmpq $16, %r10 + 0x0f, 0x83, 0xc0, 0xea, 0xff, 0xff, //0x00001e38 jae LBB0_151 + 0xe9, 0x0d, 0xec, 0xff, 0xff, //0x00001e3e jmp LBB0_169 + //0x00001e43 LBB0_356 + 0x4d, 0x89, 0xcb, //0x00001e43 movq %r9, %r11 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001e46 movq $-1, %r8 + 0x45, 0x31, 0xf6, //0x00001e4d xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00001e50 cmpq $32, %rcx + 0x0f, 0x83, 0x2f, 0xfc, 0xff, 0xff, //0x00001e54 jae LBB0_55 + 0xe9, 0x38, 0x01, 0x00, 0x00, //0x00001e5a jmp LBB0_370 + //0x00001e5f LBB0_357 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001e5f movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00001e66 xorl %r15d, %r15d + 0x49, 0x83, 0xfa, 0x20, //0x00001e69 cmpq $32, %r10 + 0x0f, 0x83, 0x8a, 0xfc, 0xff, 0xff, //0x00001e6d jae LBB0_85 + 0xe9, 0x57, 0x02, 0x00, 0x00, //0x00001e73 jmp LBB0_388 + //0x00001e78 LBB0_358 + 0x49, 0x89, 0xcf, //0x00001e78 movq %rcx, %r15 + 0x4d, 0x85, 0xdb, //0x00001e7b testq %r11, %r11 + 0x0f, 0x85, 0xf9, 0xfa, 0xff, 0xff, //0x00001e7e jne LBB0_327 + 0xe9, 0xd5, 0x0a, 0x00, 0x00, //0x00001e84 jmp LBB0_497 + //0x00001e89 LBB0_359 + 0x48, 0xf7, 0xd6, //0x00001e89 notq %rsi + 0x49, 0x89, 0xf7, //0x00001e8c movq %rsi, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001e8f movq $-48(%rbp), %r10 + 0xe9, 0xd6, 0xfc, 0xff, 0xff, //0x00001e93 jmp LBB0_342 + //0x00001e98 LBB0_360 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001e98 movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00001e9f xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00001ea2 cmpq $32, %rcx + 0x0f, 0x83, 0x38, 0xfd, 0xff, 0xff, //0x00001ea6 jae LBB0_102 + 0xe9, 0x35, 0x03, 0x00, 0x00, //0x00001eac jmp LBB0_402 + //0x00001eb1 LBB0_361 + 0x49, 0x89, 0xc8, //0x00001eb1 movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001eb4 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x00001ebb xorl %r15d, %r15d + 0x48, 0x83, 0xfb, 0x20, //0x00001ebe cmpq $32, %rbx + 0x0f, 0x83, 0xb1, 0xfd, 0xff, 0xff, //0x00001ec2 jae LBB0_121 + 0xe9, 0x4f, 0x04, 0x00, 0x00, //0x00001ec8 jmp LBB0_420 + //0x00001ecd LBB0_365 + 0x49, 0xf7, 0xdf, //0x00001ecd negq %r15 + 0xe9, 0x99, 0xfc, 0xff, 0xff, //0x00001ed0 jmp LBB0_342 + //0x00001ed5 LBB0_362 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001ed5 movq $-1, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001edc movq $-1, %r11 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001ee3 movq $-1, %r12 + 0x4d, 0x89, 0xcf, //0x00001eea movq %r9, %r15 + 0xe9, 0xdb, 0xf7, 0xff, 0xff, //0x00001eed jmp LBB0_290 + //0x00001ef2 LBB0_363 + 0x49, 0x89, 0xd1, //0x00001ef2 movq %rdx, %r9 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001ef5 movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00001efc xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00001eff cmpq $32, %rcx + 0x0f, 0x83, 0x1d, 0xfe, 0xff, 0xff, //0x00001f03 jae LBB0_221 + 0xe9, 0x15, 0x06, 0x00, 0x00, //0x00001f09 jmp LBB0_443 + //0x00001f0e LBB0_364 + 0x49, 0x89, 0xc8, //0x00001f0e movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001f11 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x00001f18 xorl %r15d, %r15d + 0x48, 0x83, 0xfb, 0x20, //0x00001f1b cmpq $32, %rbx + 0x4c, 0x8b, 0x75, 0xc8, //0x00001f1f movq $-56(%rbp), %r14 + 0x0f, 0x83, 0x7f, 0xfe, 0xff, 0xff, //0x00001f23 jae LBB0_260 + 0xe9, 0x2b, 0x07, 0x00, 0x00, //0x00001f29 jmp LBB0_460 + //0x00001f2e LBB0_366 + 0x49, 0x83, 0xf8, 0xff, //0x00001f2e cmpq $-1, %r8 + 0x0f, 0x85, 0x0d, 0x00, 0x00, 0x00, //0x00001f32 jne LBB0_368 + 0x48, 0x89, 0xd8, //0x00001f38 movq %rbx, %rax + 0x4c, 0x29, 0xd8, //0x00001f3b subq %r11, %rax + 0x4c, 0x0f, 0xbc, 0xc6, //0x00001f3e bsfq %rsi, %r8 + 0x49, 0x01, 0xc0, //0x00001f42 addq %rax, %r8 + //0x00001f45 LBB0_368 + 0x44, 0x89, 0xf0, //0x00001f45 movl %r14d, %eax + 0xf7, 0xd0, //0x00001f48 notl %eax + 0x21, 0xf0, //0x00001f4a andl %esi, %eax + 0x44, 0x8d, 0x0c, 0x00, //0x00001f4c leal (%rax,%rax), %r9d + 0x45, 0x09, 0xf1, //0x00001f50 orl %r14d, %r9d + 0x44, 0x89, 0xcf, //0x00001f53 movl %r9d, %edi + 0xf7, 0xd7, //0x00001f56 notl %edi + 0x21, 0xf7, //0x00001f58 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f5a andl $-1431655766, %edi + 0x45, 0x31, 0xf6, //0x00001f60 xorl %r14d, %r14d + 0x01, 0xc7, //0x00001f63 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc6, //0x00001f65 setb %r14b + 0x01, 0xff, //0x00001f69 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00001f6b xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x00001f71 andl %r9d, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00001f74 movl $4294967295, %eax + 0x31, 0xf8, //0x00001f79 xorl %edi, %eax + 0x21, 0xc2, //0x00001f7b andl %eax, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x00001f7d movq $-48(%rbp), %r10 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00001f81 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xd2, //0x00001f86 testq %rdx, %rdx + 0x0f, 0x85, 0x2b, 0xfb, 0xff, 0xff, //0x00001f89 jne LBB0_60 + //0x00001f8f LBB0_369 + 0x48, 0x83, 0xc3, 0x20, //0x00001f8f addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x00001f93 addq $-32, %rcx + //0x00001f97 LBB0_370 + 0x4d, 0x85, 0xf6, //0x00001f97 testq %r14, %r14 + 0x0f, 0x85, 0x1c, 0x04, 0x00, 0x00, //0x00001f9a jne LBB0_429 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001fa0 movq $-56(%rbp), %r14 + 0x48, 0x85, 0xc9, //0x00001fa4 testq %rcx, %rcx + 0x0f, 0x84, 0xeb, 0x07, 0x00, 0x00, //0x00001fa7 je LBB0_476 + //0x00001fad LBB0_372 + 0x4c, 0x89, 0xdf, //0x00001fad movq %r11, %rdi + 0x48, 0xf7, 0xd7, //0x00001fb0 notq %rdi + //0x00001fb3 LBB0_373 + 0x4c, 0x8d, 0x63, 0x01, //0x00001fb3 leaq $1(%rbx), %r12 + 0x0f, 0xb6, 0x13, //0x00001fb7 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x00001fba cmpb $34, %dl + 0x0f, 0x84, 0x5b, 0x00, 0x00, 0x00, //0x00001fbd je LBB0_378 + 0x48, 0x8d, 0x71, 0xff, //0x00001fc3 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00001fc7 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001fca je LBB0_376 + 0x48, 0x89, 0xf1, //0x00001fd0 movq %rsi, %rcx + 0x4c, 0x89, 0xe3, //0x00001fd3 movq %r12, %rbx + 0x48, 0x85, 0xf6, //0x00001fd6 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00001fd9 jne LBB0_373 + 0xe9, 0xb4, 0x07, 0x00, 0x00, //0x00001fdf jmp LBB0_476 + //0x00001fe4 LBB0_376 + 0x48, 0x85, 0xf6, //0x00001fe4 testq %rsi, %rsi + 0x0f, 0x84, 0xba, 0x09, 0x00, 0x00, //0x00001fe7 je LBB0_433 + 0x49, 0x01, 0xfc, //0x00001fed addq %rdi, %r12 + 0x49, 0x83, 0xf8, 0xff, //0x00001ff0 cmpq $-1, %r8 + 0x4d, 0x0f, 0x44, 0xc4, //0x00001ff4 cmoveq %r12, %r8 + 0x48, 0x83, 0xc3, 0x02, //0x00001ff8 addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x00001ffc addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00002000 movq %rcx, %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002003 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002007 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000200b vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x00002010 testq %rsi, %rsi + 0x0f, 0x85, 0x9a, 0xff, 0xff, 0xff, //0x00002013 jne LBB0_373 + 0xe9, 0x7a, 0x07, 0x00, 0x00, //0x00002019 jmp LBB0_476 + //0x0000201e LBB0_378 + 0x4d, 0x29, 0xdc, //0x0000201e subq %r11, %r12 + 0xe9, 0xa4, 0xfa, 0xff, 0xff, //0x00002021 jmp LBB0_184 + //0x00002026 LBB0_379 + 0x49, 0x83, 0xf8, 0xff, //0x00002026 cmpq $-1, %r8 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000202a jne LBB0_381 + 0x4c, 0x89, 0xe2, //0x00002030 movq %r12, %rdx + 0x48, 0x2b, 0x55, 0xc0, //0x00002033 subq $-64(%rbp), %rdx + 0x4c, 0x0f, 0xbc, 0xc1, //0x00002037 bsfq %rcx, %r8 + 0x49, 0x01, 0xd0, //0x0000203b addq %rdx, %r8 + //0x0000203e LBB0_381 + 0x44, 0x89, 0xfa, //0x0000203e movl %r15d, %edx + 0xf7, 0xd2, //0x00002041 notl %edx + 0x21, 0xca, //0x00002043 andl %ecx, %edx + 0x8d, 0x1c, 0x12, //0x00002045 leal (%rdx,%rdx), %ebx + 0x44, 0x09, 0xfb, //0x00002048 orl %r15d, %ebx + 0x89, 0xdf, //0x0000204b movl %ebx, %edi + 0xf7, 0xd7, //0x0000204d notl %edi + 0x21, 0xcf, //0x0000204f andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002051 andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x00002057 xorl %r15d, %r15d + 0x01, 0xd7, //0x0000205a addl %edx, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x0000205c setb %r15b + 0x01, 0xff, //0x00002060 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00002062 xorl $1431655765, %edi + 0x21, 0xdf, //0x00002068 andl %ebx, %edi + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x0000206a movl $4294967295, %ecx + 0x31, 0xf9, //0x0000206f xorl %edi, %ecx + 0x21, 0xce, //0x00002071 andl %ecx, %esi + 0x4c, 0x8b, 0x75, 0xc8, //0x00002073 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002077 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x0000207c testq %rsi, %rsi + 0x0f, 0x85, 0xbc, 0xfa, 0xff, 0xff, //0x0000207f jne LBB0_88 + //0x00002085 LBB0_382 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00002085 movl $64, %ecx + //0x0000208a LBB0_383 + 0x49, 0x0f, 0xbc, 0xd1, //0x0000208a bsfq %r9, %rdx + 0x45, 0x85, 0xc9, //0x0000208e testl %r9d, %r9d + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x00002091 movl $64, %edi + 0x48, 0x0f, 0x45, 0xfa, //0x00002096 cmovneq %rdx, %rdi + 0x48, 0x85, 0xf6, //0x0000209a testq %rsi, %rsi + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x0000209d je LBB0_386 + 0x4c, 0x2b, 0x65, 0xc0, //0x000020a3 subq $-64(%rbp), %r12 + 0x48, 0x39, 0xcf, //0x000020a7 cmpq %rcx, %rdi + 0x0f, 0x82, 0x12, 0x09, 0x00, 0x00, //0x000020aa jb LBB0_511 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x000020b0 leaq $1(%r12,%rcx), %r12 + 0x4c, 0x8b, 0x55, 0xd0, //0x000020b5 movq $-48(%rbp), %r10 + 0xe9, 0x0c, 0xfa, 0xff, 0xff, //0x000020b9 jmp LBB0_184 + //0x000020be LBB0_386 + 0x45, 0x85, 0xc9, //0x000020be testl %r9d, %r9d + 0x0f, 0x85, 0x0d, 0x09, 0x00, 0x00, //0x000020c1 jne LBB0_512 + 0x49, 0x83, 0xc4, 0x20, //0x000020c7 addq $32, %r12 + 0x49, 0x83, 0xc2, 0xe0, //0x000020cb addq $-32, %r10 + //0x000020cf LBB0_388 + 0x4d, 0x85, 0xff, //0x000020cf testq %r15, %r15 + 0x0f, 0x85, 0x1f, 0x03, 0x00, 0x00, //0x000020d2 jne LBB0_431 + 0x48, 0x8b, 0x45, 0xc0, //0x000020d8 movq $-64(%rbp), %rax + 0x4d, 0x85, 0xd2, //0x000020dc testq %r10, %r10 + 0x0f, 0x84, 0xc2, 0x08, 0x00, 0x00, //0x000020df je LBB0_433 + //0x000020e5 LBB0_390 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x000020e5 movzbl (%r12), %ecx + 0x80, 0xf9, 0x22, //0x000020ea cmpb $34, %cl + 0x0f, 0x84, 0x6d, 0x00, 0x00, 0x00, //0x000020ed je LBB0_396 + 0x80, 0xf9, 0x5c, //0x000020f3 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x000020f6 je LBB0_394 + 0x80, 0xf9, 0x1f, //0x000020fc cmpb $31, %cl + 0x0f, 0x86, 0xed, 0x08, 0x00, 0x00, //0x000020ff jbe LBB0_513 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00002105 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x0000210c movl $1, %edx + 0x49, 0x01, 0xd4, //0x00002111 addq %rdx, %r12 + 0x49, 0x01, 0xca, //0x00002114 addq %rcx, %r10 + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x00002117 jne LBB0_390 + 0xe9, 0x85, 0x08, 0x00, 0x00, //0x0000211d jmp LBB0_433 + //0x00002122 LBB0_394 + 0x49, 0x83, 0xfa, 0x01, //0x00002122 cmpq $1, %r10 + 0x0f, 0x84, 0x7b, 0x08, 0x00, 0x00, //0x00002126 je LBB0_433 + 0x4c, 0x89, 0xe1, //0x0000212c movq %r12, %rcx + 0x48, 0x29, 0xc1, //0x0000212f subq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00002132 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00002136 cmoveq %rcx, %r8 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x0000213a movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00002141 movl $2, %edx + 0x4c, 0x8b, 0x75, 0xc8, //0x00002146 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000214a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x49, 0x01, 0xd4, //0x0000214f addq %rdx, %r12 + 0x49, 0x01, 0xca, //0x00002152 addq %rcx, %r10 + 0x0f, 0x85, 0x8a, 0xff, 0xff, 0xff, //0x00002155 jne LBB0_390 + 0xe9, 0x47, 0x08, 0x00, 0x00, //0x0000215b jmp LBB0_433 + //0x00002160 LBB0_396 + 0x49, 0x29, 0xc4, //0x00002160 subq %rax, %r12 + 0x49, 0xff, 0xc4, //0x00002163 incq %r12 + 0x4c, 0x8b, 0x55, 0xd0, //0x00002166 movq $-48(%rbp), %r10 + 0xe9, 0x5b, 0xf9, 0xff, 0xff, //0x0000216a jmp LBB0_184 + //0x0000216f LBB0_397 + 0x4d, 0x89, 0xc8, //0x0000216f movq %r9, %r8 + 0x49, 0x83, 0xfb, 0xff, //0x00002172 cmpq $-1, %r11 + 0x0f, 0x85, 0x15, 0x00, 0x00, 0x00, //0x00002176 jne LBB0_400 + 0x48, 0x89, 0xd8, //0x0000217c movq %rbx, %rax + 0x4c, 0x29, 0xc0, //0x0000217f subq %r8, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x00002182 bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x00002186 addq %rax, %r11 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00002189 jmp LBB0_400 + //0x0000218e LBB0_399 + 0x4d, 0x89, 0xc8, //0x0000218e movq %r9, %r8 + //0x00002191 LBB0_400 + 0x44, 0x89, 0xf0, //0x00002191 movl %r14d, %eax + 0xf7, 0xd0, //0x00002194 notl %eax + 0x21, 0xf0, //0x00002196 andl %esi, %eax + 0x44, 0x8d, 0x0c, 0x00, //0x00002198 leal (%rax,%rax), %r9d + 0x45, 0x09, 0xf1, //0x0000219c orl %r14d, %r9d + 0x44, 0x89, 0xcf, //0x0000219f movl %r9d, %edi + 0xf7, 0xd7, //0x000021a2 notl %edi + 0x21, 0xf7, //0x000021a4 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000021a6 andl $-1431655766, %edi + 0x45, 0x31, 0xf6, //0x000021ac xorl %r14d, %r14d + 0x01, 0xc7, //0x000021af addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc6, //0x000021b1 setb %r14b + 0x01, 0xff, //0x000021b5 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000021b7 xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x000021bd andl %r9d, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000021c0 movl $4294967295, %eax + 0x31, 0xf8, //0x000021c5 xorl %edi, %eax + 0x21, 0xc2, //0x000021c7 andl %eax, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x000021c9 movq $-48(%rbp), %r10 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000021cd vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x4d, 0x89, 0xc1, //0x000021d2 movq %r8, %r9 + 0x48, 0x85, 0xd2, //0x000021d5 testq %rdx, %rdx + 0x0f, 0x85, 0x37, 0xfa, 0xff, 0xff, //0x000021d8 jne LBB0_107 + //0x000021de LBB0_401 + 0x48, 0x83, 0xc3, 0x20, //0x000021de addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x000021e2 addq $-32, %rcx + //0x000021e6 LBB0_402 + 0x4d, 0x85, 0xf6, //0x000021e6 testq %r14, %r14 + 0x0f, 0x85, 0x43, 0x02, 0x00, 0x00, //0x000021e9 jne LBB0_434 + 0x4c, 0x8b, 0x75, 0xc8, //0x000021ef movq $-56(%rbp), %r14 + 0x48, 0x85, 0xc9, //0x000021f3 testq %rcx, %rcx + 0x0f, 0x84, 0xc6, 0x05, 0x00, 0x00, //0x000021f6 je LBB0_479 + //0x000021fc LBB0_404 + 0x4d, 0x89, 0xe0, //0x000021fc movq %r12, %r8 + 0x4c, 0x89, 0xcf, //0x000021ff movq %r9, %rdi + 0x48, 0xf7, 0xd7, //0x00002202 notq %rdi + //0x00002205 LBB0_405 + 0x4c, 0x8d, 0x63, 0x01, //0x00002205 leaq $1(%rbx), %r12 + 0x0f, 0xb6, 0x13, //0x00002209 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x0000220c cmpb $34, %dl + 0x0f, 0x84, 0x5b, 0x00, 0x00, 0x00, //0x0000220f je LBB0_410 + 0x48, 0x8d, 0x71, 0xff, //0x00002215 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00002219 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000221c je LBB0_408 + 0x48, 0x89, 0xf1, //0x00002222 movq %rsi, %rcx + 0x4c, 0x89, 0xe3, //0x00002225 movq %r12, %rbx + 0x48, 0x85, 0xf6, //0x00002228 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x0000222b jne LBB0_405 + 0xe9, 0x8c, 0x05, 0x00, 0x00, //0x00002231 jmp LBB0_479 + //0x00002236 LBB0_408 + 0x48, 0x85, 0xf6, //0x00002236 testq %rsi, %rsi + 0x0f, 0x84, 0xcf, 0x07, 0x00, 0x00, //0x00002239 je LBB0_516 + 0x49, 0x01, 0xfc, //0x0000223f addq %rdi, %r12 + 0x49, 0x83, 0xfb, 0xff, //0x00002242 cmpq $-1, %r11 + 0x4d, 0x0f, 0x44, 0xdc, //0x00002246 cmoveq %r12, %r11 + 0x48, 0x83, 0xc3, 0x02, //0x0000224a addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x0000224e addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00002252 movq %rcx, %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002255 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002259 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000225d vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x00002262 testq %rsi, %rsi + 0x0f, 0x85, 0x9a, 0xff, 0xff, 0xff, //0x00002265 jne LBB0_405 + 0xe9, 0x52, 0x05, 0x00, 0x00, //0x0000226b jmp LBB0_479 + //0x00002270 LBB0_410 + 0x4d, 0x29, 0xcc, //0x00002270 subq %r9, %r12 + 0xe9, 0xb0, 0xf9, 0xff, 0xff, //0x00002273 jmp LBB0_205 + //0x00002278 LBB0_411 + 0x49, 0x83, 0xfb, 0xff, //0x00002278 cmpq $-1, %r11 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000227c jne LBB0_413 + 0x4c, 0x89, 0xe0, //0x00002282 movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x00002285 subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x00002289 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x0000228d addq %rax, %r11 + //0x00002290 LBB0_413 + 0x44, 0x89, 0xf8, //0x00002290 movl %r15d, %eax + 0xf7, 0xd0, //0x00002293 notl %eax + 0x21, 0xc8, //0x00002295 andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x00002297 leal (%rax,%rax), %edx + 0x44, 0x09, 0xfa, //0x0000229a orl %r15d, %edx + 0x89, 0xd7, //0x0000229d movl %edx, %edi + 0xf7, 0xd7, //0x0000229f notl %edi + 0x21, 0xcf, //0x000022a1 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022a3 andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x000022a9 xorl %r15d, %r15d + 0x01, 0xc7, //0x000022ac addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x000022ae setb %r15b + 0x01, 0xff, //0x000022b2 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000022b4 xorl $1431655765, %edi + 0x21, 0xd7, //0x000022ba andl %edx, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000022bc movl $4294967295, %eax + 0x31, 0xf8, //0x000022c1 xorl %edi, %eax + 0x21, 0xc6, //0x000022c3 andl %eax, %esi + 0x4c, 0x8b, 0x55, 0xd0, //0x000022c5 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x000022c9 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000022cd vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x000022d2 testq %rsi, %rsi + 0x0f, 0x85, 0xe2, 0xf9, 0xff, 0xff, //0x000022d5 jne LBB0_124 + //0x000022db LBB0_414 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000022db movl $64, %ecx + //0x000022e0 LBB0_415 + 0x49, 0x0f, 0xbc, 0xd1, //0x000022e0 bsfq %r9, %rdx + 0x45, 0x85, 0xc9, //0x000022e4 testl %r9d, %r9d + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x000022e7 movl $64, %edi + 0x48, 0x0f, 0x45, 0xfa, //0x000022ec cmovneq %rdx, %rdi + 0x48, 0x85, 0xf6, //0x000022f0 testq %rsi, %rsi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000022f3 je LBB0_418 + 0x4c, 0x2b, 0x65, 0xc0, //0x000022f9 subq $-64(%rbp), %r12 + 0x48, 0x39, 0xcf, //0x000022fd cmpq %rcx, %rdi + 0x0f, 0x83, 0x1a, 0xee, 0xff, 0xff, //0x00002300 jae LBB0_204 + 0xe9, 0xd5, 0x06, 0x00, 0x00, //0x00002306 jmp LBB0_417 + //0x0000230b LBB0_418 + 0x45, 0x85, 0xc9, //0x0000230b testl %r9d, %r9d + 0x0f, 0x85, 0xe6, 0x06, 0x00, 0x00, //0x0000230e jne LBB0_514 + 0x49, 0x83, 0xc4, 0x20, //0x00002314 addq $32, %r12 + 0x48, 0x83, 0xc3, 0xe0, //0x00002318 addq $-32, %rbx + //0x0000231c LBB0_420 + 0x4d, 0x85, 0xff, //0x0000231c testq %r15, %r15 + 0x0f, 0x85, 0x48, 0x01, 0x00, 0x00, //0x0000231f jne LBB0_436 + 0x48, 0x8b, 0x75, 0xc0, //0x00002325 movq $-64(%rbp), %rsi + 0x48, 0x85, 0xdb, //0x00002329 testq %rbx, %rbx + 0x0f, 0x84, 0x90, 0x04, 0x00, 0x00, //0x0000232c je LBB0_479 + //0x00002332 LBB0_422 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x00002332 movzbl (%r12), %ecx + 0x80, 0xf9, 0x22, //0x00002337 cmpb $34, %cl + 0x0f, 0x84, 0x71, 0x00, 0x00, 0x00, //0x0000233a je LBB0_428 + 0x80, 0xf9, 0x5c, //0x00002340 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00002343 je LBB0_426 + 0x80, 0xf9, 0x1f, //0x00002349 cmpb $31, %cl + 0x0f, 0x86, 0xb4, 0x06, 0x00, 0x00, //0x0000234c jbe LBB0_515 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00002352 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00002359 movl $1, %edx + 0x49, 0x01, 0xd4, //0x0000235e addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x00002361 addq %rcx, %rbx + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x00002364 jne LBB0_422 + 0xe9, 0x53, 0x04, 0x00, 0x00, //0x0000236a jmp LBB0_479 + //0x0000236f LBB0_426 + 0x48, 0x83, 0xfb, 0x01, //0x0000236f cmpq $1, %rbx + 0x0f, 0x84, 0x95, 0x06, 0x00, 0x00, //0x00002373 je LBB0_516 + 0x4c, 0x89, 0xe0, //0x00002379 movq %r12, %rax + 0x48, 0x29, 0xf0, //0x0000237c subq %rsi, %rax + 0x49, 0x83, 0xfb, 0xff, //0x0000237f cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x00002383 cmoveq %rax, %r11 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002387 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x0000238e movl $2, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002393 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002397 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000239b vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x49, 0x01, 0xd4, //0x000023a0 addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x000023a3 addq %rcx, %rbx + 0x0f, 0x85, 0x86, 0xff, 0xff, 0xff, //0x000023a6 jne LBB0_422 + 0xe9, 0x11, 0x04, 0x00, 0x00, //0x000023ac jmp LBB0_479 + //0x000023b1 LBB0_428 + 0x49, 0x29, 0xf4, //0x000023b1 subq %rsi, %r12 + 0x49, 0xff, 0xc4, //0x000023b4 incq %r12 + 0xe9, 0x6c, 0xf8, 0xff, 0xff, //0x000023b7 jmp LBB0_205 + //0x000023bc LBB0_429 + 0x48, 0x85, 0xc9, //0x000023bc testq %rcx, %rcx + 0x0f, 0x84, 0xe2, 0x05, 0x00, 0x00, //0x000023bf je LBB0_433 + 0x4c, 0x89, 0xd8, //0x000023c5 movq %r11, %rax + 0x48, 0xf7, 0xd0, //0x000023c8 notq %rax + 0x48, 0x01, 0xd8, //0x000023cb addq %rbx, %rax + 0x49, 0x83, 0xf8, 0xff, //0x000023ce cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x000023d2 cmoveq %rax, %r8 + 0x48, 0xff, 0xc3, //0x000023d6 incq %rbx + 0x48, 0xff, 0xc9, //0x000023d9 decq %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x000023dc movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x000023e0 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000023e4 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xc9, //0x000023e9 testq %rcx, %rcx + 0x0f, 0x85, 0xbb, 0xfb, 0xff, 0xff, //0x000023ec jne LBB0_372 + 0xe9, 0xa1, 0x03, 0x00, 0x00, //0x000023f2 jmp LBB0_476 + //0x000023f7 LBB0_431 + 0x4d, 0x85, 0xd2, //0x000023f7 testq %r10, %r10 + 0x0f, 0x84, 0xa7, 0x05, 0x00, 0x00, //0x000023fa je LBB0_433 + 0x48, 0x8b, 0x45, 0xc0, //0x00002400 movq $-64(%rbp), %rax + 0x48, 0x89, 0xc1, //0x00002404 movq %rax, %rcx + 0x48, 0xf7, 0xd1, //0x00002407 notq %rcx + 0x4c, 0x01, 0xe1, //0x0000240a addq %r12, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x0000240d cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00002411 cmoveq %rcx, %r8 + 0x49, 0xff, 0xc4, //0x00002415 incq %r12 + 0x49, 0xff, 0xca, //0x00002418 decq %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x0000241b movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000241f vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x4d, 0x85, 0xd2, //0x00002424 testq %r10, %r10 + 0x0f, 0x85, 0xb8, 0xfc, 0xff, 0xff, //0x00002427 jne LBB0_390 + 0xe9, 0x75, 0x05, 0x00, 0x00, //0x0000242d jmp LBB0_433 + //0x00002432 LBB0_434 + 0x48, 0x85, 0xc9, //0x00002432 testq %rcx, %rcx + 0x0f, 0x84, 0xd3, 0x05, 0x00, 0x00, //0x00002435 je LBB0_516 + 0x4c, 0x89, 0xc8, //0x0000243b movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x0000243e notq %rax + 0x48, 0x01, 0xd8, //0x00002441 addq %rbx, %rax + 0x49, 0x83, 0xfb, 0xff, //0x00002444 cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x00002448 cmoveq %rax, %r11 + 0x48, 0xff, 0xc3, //0x0000244c incq %rbx + 0x48, 0xff, 0xc9, //0x0000244f decq %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002452 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002456 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000245a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xc9, //0x0000245f testq %rcx, %rcx + 0x0f, 0x85, 0x94, 0xfd, 0xff, 0xff, //0x00002462 jne LBB0_404 + 0xe9, 0x55, 0x03, 0x00, 0x00, //0x00002468 jmp LBB0_479 + //0x0000246d LBB0_436 + 0x48, 0x85, 0xdb, //0x0000246d testq %rbx, %rbx + 0x0f, 0x84, 0x98, 0x05, 0x00, 0x00, //0x00002470 je LBB0_516 + 0x48, 0x8b, 0x75, 0xc0, //0x00002476 movq $-64(%rbp), %rsi + 0x48, 0x89, 0xf0, //0x0000247a movq %rsi, %rax + 0x48, 0xf7, 0xd0, //0x0000247d notq %rax + 0x4c, 0x01, 0xe0, //0x00002480 addq %r12, %rax + 0x49, 0x83, 0xfb, 0xff, //0x00002483 cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x00002487 cmoveq %rax, %r11 + 0x49, 0xff, 0xc4, //0x0000248b incq %r12 + 0x48, 0xff, 0xcb, //0x0000248e decq %rbx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002491 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002495 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002499 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xdb, //0x0000249e testq %rbx, %rbx + 0x0f, 0x85, 0x8b, 0xfe, 0xff, 0xff, //0x000024a1 jne LBB0_422 + 0xe9, 0x16, 0x03, 0x00, 0x00, //0x000024a7 jmp LBB0_479 + //0x000024ac LBB0_438 + 0x4d, 0x89, 0xc8, //0x000024ac movq %r9, %r8 + 0x49, 0x83, 0xfb, 0xff, //0x000024af cmpq $-1, %r11 + 0x0f, 0x85, 0x15, 0x00, 0x00, 0x00, //0x000024b3 jne LBB0_441 + 0x48, 0x89, 0xd8, //0x000024b9 movq %rbx, %rax + 0x4c, 0x29, 0xc0, //0x000024bc subq %r8, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x000024bf bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x000024c3 addq %rax, %r11 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x000024c6 jmp LBB0_441 + //0x000024cb LBB0_440 + 0x4d, 0x89, 0xc8, //0x000024cb movq %r9, %r8 + //0x000024ce LBB0_441 + 0x44, 0x89, 0xf0, //0x000024ce movl %r14d, %eax + 0xf7, 0xd0, //0x000024d1 notl %eax + 0x21, 0xf0, //0x000024d3 andl %esi, %eax + 0x44, 0x8d, 0x0c, 0x00, //0x000024d5 leal (%rax,%rax), %r9d + 0x45, 0x09, 0xf1, //0x000024d9 orl %r14d, %r9d + 0x44, 0x89, 0xcf, //0x000024dc movl %r9d, %edi + 0xf7, 0xd7, //0x000024df notl %edi + 0x21, 0xf7, //0x000024e1 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000024e3 andl $-1431655766, %edi + 0x45, 0x31, 0xf6, //0x000024e9 xorl %r14d, %r14d + 0x01, 0xc7, //0x000024ec addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc6, //0x000024ee setb %r14b + 0x01, 0xff, //0x000024f2 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000024f4 xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x000024fa andl %r9d, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000024fd movl $4294967295, %eax + 0x31, 0xc7, //0x00002502 xorl %eax, %edi + 0x21, 0xfa, //0x00002504 andl %edi, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002506 movq $-48(%rbp), %r10 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000250a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x4d, 0x89, 0xc1, //0x0000250f movq %r8, %r9 + 0x48, 0x85, 0xd2, //0x00002512 testq %rdx, %rdx + 0x0f, 0x85, 0x3c, 0xf8, 0xff, 0xff, //0x00002515 jne LBB0_226 + //0x0000251b LBB0_442 + 0x48, 0x83, 0xc3, 0x20, //0x0000251b addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x0000251f addq $-32, %rcx + //0x00002523 LBB0_443 + 0x4d, 0x85, 0xf6, //0x00002523 testq %r14, %r14 + 0x0f, 0x85, 0xcd, 0x01, 0x00, 0x00, //0x00002526 jne LBB0_469 + 0x4c, 0x8b, 0x75, 0xc8, //0x0000252c movq $-56(%rbp), %r14 + 0x48, 0x85, 0xc9, //0x00002530 testq %rcx, %rcx + 0x0f, 0x84, 0x89, 0x02, 0x00, 0x00, //0x00002533 je LBB0_479 + //0x00002539 LBB0_445 + 0x4d, 0x89, 0xe0, //0x00002539 movq %r12, %r8 + 0x4c, 0x89, 0xcf, //0x0000253c movq %r9, %rdi + 0x48, 0xf7, 0xd7, //0x0000253f notq %rdi + //0x00002542 LBB0_446 + 0x4c, 0x8d, 0x63, 0x01, //0x00002542 leaq $1(%rbx), %r12 + 0x0f, 0xb6, 0x13, //0x00002546 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x00002549 cmpb $34, %dl + 0x0f, 0x84, 0x5b, 0x00, 0x00, 0x00, //0x0000254c je LBB0_451 + 0x48, 0x8d, 0x71, 0xff, //0x00002552 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00002556 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00002559 je LBB0_449 + 0x48, 0x89, 0xf1, //0x0000255f movq %rsi, %rcx + 0x4c, 0x89, 0xe3, //0x00002562 movq %r12, %rbx + 0x48, 0x85, 0xf6, //0x00002565 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00002568 jne LBB0_446 + 0xe9, 0x4f, 0x02, 0x00, 0x00, //0x0000256e jmp LBB0_479 + //0x00002573 LBB0_449 + 0x48, 0x85, 0xf6, //0x00002573 testq %rsi, %rsi + 0x0f, 0x84, 0x92, 0x04, 0x00, 0x00, //0x00002576 je LBB0_516 + 0x49, 0x01, 0xfc, //0x0000257c addq %rdi, %r12 + 0x49, 0x83, 0xfb, 0xff, //0x0000257f cmpq $-1, %r11 + 0x4d, 0x0f, 0x44, 0xdc, //0x00002583 cmoveq %r12, %r11 + 0x48, 0x83, 0xc3, 0x02, //0x00002587 addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x0000258b addq $-2, %rcx + 0x48, 0x89, 0xce, //0x0000258f movq %rcx, %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002592 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002596 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000259a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x0000259f testq %rsi, %rsi + 0x0f, 0x85, 0x9a, 0xff, 0xff, 0xff, //0x000025a2 jne LBB0_446 + 0xe9, 0x15, 0x02, 0x00, 0x00, //0x000025a8 jmp LBB0_479 + //0x000025ad LBB0_451 + 0x4d, 0x29, 0xcc, //0x000025ad subq %r9, %r12 + 0xe9, 0xb5, 0xf7, 0xff, 0xff, //0x000025b0 jmp LBB0_323 + //0x000025b5 LBB0_452 + 0x49, 0x83, 0xfb, 0xff, //0x000025b5 cmpq $-1, %r11 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000025b9 jne LBB0_454 + 0x4c, 0x89, 0xe0, //0x000025bf movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x000025c2 subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x000025c6 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x000025ca addq %rax, %r11 + //0x000025cd LBB0_454 + 0x44, 0x89, 0xf8, //0x000025cd movl %r15d, %eax + 0xf7, 0xd0, //0x000025d0 notl %eax + 0x21, 0xc8, //0x000025d2 andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x000025d4 leal (%rax,%rax), %edx + 0x44, 0x09, 0xfa, //0x000025d7 orl %r15d, %edx + 0x89, 0xd7, //0x000025da movl %edx, %edi + 0xf7, 0xd7, //0x000025dc notl %edi + 0x21, 0xcf, //0x000025de andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000025e0 andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x000025e6 xorl %r15d, %r15d + 0x01, 0xc7, //0x000025e9 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x000025eb setb %r15b + 0x01, 0xff, //0x000025ef addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000025f1 xorl $1431655765, %edi + 0x21, 0xd7, //0x000025f7 andl %edx, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000025f9 movl $4294967295, %eax + 0x31, 0xf8, //0x000025fe xorl %edi, %eax + 0x21, 0xc6, //0x00002600 andl %eax, %esi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002602 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002606 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000260a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x0000260f testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xf7, 0xff, 0xff, //0x00002612 jne LBB0_263 + //0x00002618 LBB0_455 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00002618 movl $64, %ecx + //0x0000261d LBB0_456 + 0x49, 0x0f, 0xbc, 0xd1, //0x0000261d bsfq %r9, %rdx + 0x45, 0x85, 0xc9, //0x00002621 testl %r9d, %r9d + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x00002624 movl $64, %edi + 0x48, 0x0f, 0x45, 0xfa, //0x00002629 cmovneq %rdx, %rdi + 0x48, 0x85, 0xf6, //0x0000262d testq %rsi, %rsi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00002630 je LBB0_458 + 0x4c, 0x2b, 0x65, 0xc0, //0x00002636 subq $-64(%rbp), %r12 + 0x48, 0x39, 0xcf, //0x0000263a cmpq %rcx, %rdi + 0x0f, 0x83, 0x20, 0xf3, 0xff, 0xff, //0x0000263d jae LBB0_322 + 0xe9, 0x98, 0x03, 0x00, 0x00, //0x00002643 jmp LBB0_417 + //0x00002648 LBB0_458 + 0x45, 0x85, 0xc9, //0x00002648 testl %r9d, %r9d + 0x0f, 0x85, 0xa9, 0x03, 0x00, 0x00, //0x0000264b jne LBB0_514 + 0x49, 0x83, 0xc4, 0x20, //0x00002651 addq $32, %r12 + 0x48, 0x83, 0xc3, 0xe0, //0x00002655 addq $-32, %rbx + //0x00002659 LBB0_460 + 0x4d, 0x85, 0xff, //0x00002659 testq %r15, %r15 + 0x0f, 0x85, 0xd2, 0x00, 0x00, 0x00, //0x0000265c jne LBB0_471 + 0x48, 0x8b, 0x75, 0xc0, //0x00002662 movq $-64(%rbp), %rsi + 0x48, 0x85, 0xdb, //0x00002666 testq %rbx, %rbx + 0x0f, 0x84, 0x53, 0x01, 0x00, 0x00, //0x00002669 je LBB0_479 + //0x0000266f LBB0_462 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x0000266f movzbl (%r12), %ecx + 0x80, 0xf9, 0x22, //0x00002674 cmpb $34, %cl + 0x0f, 0x84, 0x71, 0x00, 0x00, 0x00, //0x00002677 je LBB0_468 + 0x80, 0xf9, 0x5c, //0x0000267d cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00002680 je LBB0_466 + 0x80, 0xf9, 0x1f, //0x00002686 cmpb $31, %cl + 0x0f, 0x86, 0x77, 0x03, 0x00, 0x00, //0x00002689 jbe LBB0_515 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000268f movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00002696 movl $1, %edx + 0x49, 0x01, 0xd4, //0x0000269b addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x0000269e addq %rcx, %rbx + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x000026a1 jne LBB0_462 + 0xe9, 0x16, 0x01, 0x00, 0x00, //0x000026a7 jmp LBB0_479 + //0x000026ac LBB0_466 + 0x48, 0x83, 0xfb, 0x01, //0x000026ac cmpq $1, %rbx + 0x0f, 0x84, 0x58, 0x03, 0x00, 0x00, //0x000026b0 je LBB0_516 + 0x4c, 0x89, 0xe0, //0x000026b6 movq %r12, %rax + 0x48, 0x29, 0xf0, //0x000026b9 subq %rsi, %rax + 0x49, 0x83, 0xfb, 0xff, //0x000026bc cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x000026c0 cmoveq %rax, %r11 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000026c4 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x000026cb movl $2, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x000026d0 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x000026d4 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000026d8 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x49, 0x01, 0xd4, //0x000026dd addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x000026e0 addq %rcx, %rbx + 0x0f, 0x85, 0x86, 0xff, 0xff, 0xff, //0x000026e3 jne LBB0_462 + 0xe9, 0xd4, 0x00, 0x00, 0x00, //0x000026e9 jmp LBB0_479 + //0x000026ee LBB0_468 + 0x49, 0x29, 0xf4, //0x000026ee subq %rsi, %r12 + 0x49, 0xff, 0xc4, //0x000026f1 incq %r12 + 0xe9, 0x71, 0xf6, 0xff, 0xff, //0x000026f4 jmp LBB0_323 + //0x000026f9 LBB0_469 + 0x48, 0x85, 0xc9, //0x000026f9 testq %rcx, %rcx + 0x0f, 0x84, 0x0c, 0x03, 0x00, 0x00, //0x000026fc je LBB0_516 + 0x4c, 0x89, 0xc8, //0x00002702 movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00002705 notq %rax + 0x48, 0x01, 0xd8, //0x00002708 addq %rbx, %rax + 0x49, 0x83, 0xfb, 0xff, //0x0000270b cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x0000270f cmoveq %rax, %r11 + 0x48, 0xff, 0xc3, //0x00002713 incq %rbx + 0x48, 0xff, 0xc9, //0x00002716 decq %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002719 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x0000271d movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002721 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xc9, //0x00002726 testq %rcx, %rcx + 0x0f, 0x85, 0x0a, 0xfe, 0xff, 0xff, //0x00002729 jne LBB0_445 + 0xe9, 0x8e, 0x00, 0x00, 0x00, //0x0000272f jmp LBB0_479 + //0x00002734 LBB0_471 + 0x48, 0x85, 0xdb, //0x00002734 testq %rbx, %rbx + 0x0f, 0x84, 0xd1, 0x02, 0x00, 0x00, //0x00002737 je LBB0_516 + 0x48, 0x8b, 0x75, 0xc0, //0x0000273d movq $-64(%rbp), %rsi + 0x48, 0x89, 0xf0, //0x00002741 movq %rsi, %rax + 0x48, 0xf7, 0xd0, //0x00002744 notq %rax + 0x4c, 0x01, 0xe0, //0x00002747 addq %r12, %rax + 0x49, 0x83, 0xfb, 0xff, //0x0000274a cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x0000274e cmoveq %rax, %r11 + 0x49, 0xff, 0xc4, //0x00002752 incq %r12 + 0x48, 0xff, 0xcb, //0x00002755 decq %rbx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002758 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x0000275c movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002760 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xdb, //0x00002765 testq %rbx, %rbx + 0x0f, 0x85, 0x01, 0xff, 0xff, 0xff, //0x00002768 jne LBB0_462 + 0xe9, 0x4f, 0x00, 0x00, 0x00, //0x0000276e jmp LBB0_479 + //0x00002773 LBB0_473 + 0x4d, 0x89, 0x2a, //0x00002773 movq %r13, (%r10) + //0x00002776 LBB0_474 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00002776 movq $-1, %rcx + 0xe9, 0x67, 0x00, 0x00, 0x00, //0x0000277d jmp LBB0_501 + //0x00002782 LBB0_489 + 0x48, 0xc7, 0xc1, 0xf9, 0xff, 0xff, 0xff, //0x00002782 movq $-7, %rcx + 0xe9, 0x5b, 0x00, 0x00, 0x00, //0x00002789 jmp LBB0_501 + //0x0000278e LBB0_475 + 0x49, 0x83, 0xfc, 0xff, //0x0000278e cmpq $-1, %r12 + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x00002792 jne LBB0_487 + //0x00002798 LBB0_476 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00002798 movq $-1, %r12 + 0x4c, 0x8b, 0x45, 0xb8, //0x0000279f movq $-72(%rbp), %r8 + 0xe9, 0x81, 0x00, 0x00, 0x00, //0x000027a3 jmp LBB0_487 + //0x000027a8 LBB0_477 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000027a8 movq $-1, %rcx + 0x48, 0x8b, 0x55, 0xd0, //0x000027af movq $-48(%rbp), %rdx + 0xe9, 0x1d, 0x00, 0x00, 0x00, //0x000027b3 jmp LBB0_481 + //0x000027b8 LBB0_478 + 0x49, 0x83, 0xfc, 0xff, //0x000027b8 cmpq $-1, %r12 + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x000027bc jne LBB0_506 + //0x000027c2 LBB0_479 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000027c2 movq $-1, %r12 + 0x4c, 0x8b, 0x5d, 0xb8, //0x000027c9 movq $-72(%rbp), %r11 + 0xe9, 0x81, 0x00, 0x00, 0x00, //0x000027cd jmp LBB0_506 + //0x000027d2 LBB0_480 + 0x4c, 0x89, 0xf1, //0x000027d2 movq %r14, %rcx + //0x000027d5 LBB0_481 + 0x48, 0x8b, 0x02, //0x000027d5 movq (%rdx), %rax + 0x48, 0x29, 0xc8, //0x000027d8 subq %rcx, %rax + 0x48, 0x83, 0xc0, 0xfe, //0x000027db addq $-2, %rax + 0x48, 0x89, 0x02, //0x000027df movq %rax, (%rdx) + //0x000027e2 LBB0_500 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000027e2 movq $-2, %rcx + //0x000027e9 LBB0_501 + 0x48, 0x89, 0xc8, //0x000027e9 movq %rcx, %rax + 0x48, 0x83, 0xc4, 0x48, //0x000027ec addq $72, %rsp + 0x5b, //0x000027f0 popq %rbx + 0x41, 0x5c, //0x000027f1 popq %r12 + 0x41, 0x5d, //0x000027f3 popq %r13 + 0x41, 0x5e, //0x000027f5 popq %r14 + 0x41, 0x5f, //0x000027f7 popq %r15 + 0x5d, //0x000027f9 popq %rbp + 0xc5, 0xf8, 0x77, //0x000027fa vzeroupper + 0xc3, //0x000027fd retq + //0x000027fe LBB0_490 + 0x49, 0x89, 0x12, //0x000027fe movq %rdx, (%r10) + 0xe9, 0xe3, 0xff, 0xff, 0xff, //0x00002801 jmp LBB0_501 + //0x00002806 LBB0_482 + 0x49, 0x83, 0xf8, 0xff, //0x00002806 cmpq $-1, %r8 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000280a jne LBB0_485 + 0x48, 0x0f, 0xbc, 0xc6, //0x00002810 bsfq %rsi, %rax + 0x4c, 0x2b, 0x65, 0xc0, //0x00002814 subq $-64(%rbp), %r12 + 0x49, 0x01, 0xc4, //0x00002818 addq %rax, %r12 + //0x0000281b LBB0_484 + 0x4d, 0x89, 0xe0, //0x0000281b movq %r12, %r8 + //0x0000281e LBB0_485 + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x0000281e movq $-2, %r12 + //0x00002825 LBB0_486 + 0x4c, 0x8b, 0x55, 0xd0, //0x00002825 movq $-48(%rbp), %r10 + //0x00002829 LBB0_487 + 0x4d, 0x89, 0x02, //0x00002829 movq %r8, (%r10) + 0x4c, 0x89, 0xe1, //0x0000282c movq %r12, %rcx + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x0000282f jmp LBB0_501 + //0x00002834 LBB0_502 + 0x49, 0x83, 0xfb, 0xff, //0x00002834 cmpq $-1, %r11 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00002838 jne LBB0_505 + 0x48, 0x0f, 0xbc, 0xc6, //0x0000283e bsfq %rsi, %rax + 0x4c, 0x2b, 0x65, 0xc0, //0x00002842 subq $-64(%rbp), %r12 + 0x49, 0x01, 0xc4, //0x00002846 addq %rax, %r12 + //0x00002849 LBB0_504 + 0x4d, 0x89, 0xe3, //0x00002849 movq %r12, %r11 + //0x0000284c LBB0_505 + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x0000284c movq $-2, %r12 + //0x00002853 LBB0_506 + 0x4d, 0x89, 0x1a, //0x00002853 movq %r11, (%r10) + 0x4c, 0x89, 0xe1, //0x00002856 movq %r12, %rcx + 0xe9, 0x8b, 0xff, 0xff, 0xff, //0x00002859 jmp LBB0_501 + //0x0000285e LBB0_233 + 0x4d, 0x89, 0x2a, //0x0000285e movq %r13, (%r10) + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002861 movq $-2, %rcx + 0x41, 0x80, 0x3f, 0x6e, //0x00002868 cmpb $110, (%r15) + 0x0f, 0x85, 0x77, 0xff, 0xff, 0xff, //0x0000286c jne LBB0_501 + 0x49, 0x8d, 0x45, 0x01, //0x00002872 leaq $1(%r13), %rax + 0x49, 0x89, 0x02, //0x00002876 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x01, 0x75, //0x00002879 cmpb $117, $1(%r9,%r13) + 0x0f, 0x85, 0x64, 0xff, 0xff, 0xff, //0x0000287f jne LBB0_501 + 0x49, 0x8d, 0x45, 0x02, //0x00002885 leaq $2(%r13), %rax + 0x49, 0x89, 0x02, //0x00002889 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x02, 0x6c, //0x0000288c cmpb $108, $2(%r9,%r13) + 0x0f, 0x85, 0x51, 0xff, 0xff, 0xff, //0x00002892 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x03, //0x00002898 leaq $3(%r13), %rax + 0x49, 0x89, 0x02, //0x0000289c movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x03, 0x6c, //0x0000289f cmpb $108, $3(%r9,%r13) + 0x0f, 0x85, 0x3e, 0xff, 0xff, 0xff, //0x000028a5 jne LBB0_501 + 0xe9, 0xa2, 0x00, 0x00, 0x00, //0x000028ab jmp LBB0_237 + //0x000028b0 LBB0_491 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000028b0 movq $-2, %rcx + 0x80, 0xfa, 0x61, //0x000028b7 cmpb $97, %dl + 0x0f, 0x85, 0x29, 0xff, 0xff, 0xff, //0x000028ba jne LBB0_501 + 0x49, 0x8d, 0x45, 0x02, //0x000028c0 leaq $2(%r13), %rax + 0x49, 0x89, 0x02, //0x000028c4 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x02, 0x6c, //0x000028c7 cmpb $108, $2(%r9,%r13) + 0x0f, 0x85, 0x16, 0xff, 0xff, 0xff, //0x000028cd jne LBB0_501 + 0x49, 0x8d, 0x45, 0x03, //0x000028d3 leaq $3(%r13), %rax + 0x49, 0x89, 0x02, //0x000028d7 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x03, 0x73, //0x000028da cmpb $115, $3(%r9,%r13) + 0x0f, 0x85, 0x03, 0xff, 0xff, 0xff, //0x000028e0 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x04, //0x000028e6 leaq $4(%r13), %rax + 0x49, 0x89, 0x02, //0x000028ea movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x04, 0x65, //0x000028ed cmpb $101, $4(%r9,%r13) + 0x0f, 0x85, 0xf0, 0xfe, 0xff, 0xff, //0x000028f3 jne LBB0_501 + 0x49, 0x83, 0xc5, 0x05, //0x000028f9 addq $5, %r13 + 0x4d, 0x89, 0x2a, //0x000028fd movq %r13, (%r10) + 0xe9, 0xe4, 0xfe, 0xff, 0xff, //0x00002900 jmp LBB0_501 + //0x00002905 LBB0_245 + 0x4d, 0x89, 0x2a, //0x00002905 movq %r13, (%r10) + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002908 movq $-2, %rcx + 0x41, 0x80, 0x3f, 0x74, //0x0000290f cmpb $116, (%r15) + 0x0f, 0x85, 0xd0, 0xfe, 0xff, 0xff, //0x00002913 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x01, //0x00002919 leaq $1(%r13), %rax + 0x49, 0x89, 0x02, //0x0000291d movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x01, 0x72, //0x00002920 cmpb $114, $1(%r9,%r13) + 0x0f, 0x85, 0xbd, 0xfe, 0xff, 0xff, //0x00002926 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x02, //0x0000292c leaq $2(%r13), %rax + 0x49, 0x89, 0x02, //0x00002930 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x02, 0x75, //0x00002933 cmpb $117, $2(%r9,%r13) + 0x0f, 0x85, 0xaa, 0xfe, 0xff, 0xff, //0x00002939 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x03, //0x0000293f leaq $3(%r13), %rax + 0x49, 0x89, 0x02, //0x00002943 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x03, 0x65, //0x00002946 cmpb $101, $3(%r9,%r13) + 0x0f, 0x85, 0x97, 0xfe, 0xff, 0xff, //0x0000294c jne LBB0_501 + //0x00002952 LBB0_237 + 0x49, 0x83, 0xc5, 0x04, //0x00002952 addq $4, %r13 + 0x4d, 0x89, 0x2a, //0x00002956 movq %r13, (%r10) + 0xe9, 0x8b, 0xfe, 0xff, 0xff, //0x00002959 jmp LBB0_501 + //0x0000295e LBB0_497 + 0x4d, 0x8b, 0x22, //0x0000295e movq (%r10), %r12 + //0x00002961 LBB0_498 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00002961 movq $-1, %r15 + //0x00002968 LBB0_499 + 0x49, 0xf7, 0xd7, //0x00002968 notq %r15 + 0x4d, 0x01, 0xe7, //0x0000296b addq %r12, %r15 + 0x4d, 0x89, 0x3a, //0x0000296e movq %r15, (%r10) + 0xe9, 0x6c, 0xfe, 0xff, 0xff, //0x00002971 jmp LBB0_500 + //0x00002976 LBB0_510 + 0x4c, 0x89, 0x65, 0xb8, //0x00002976 movq %r12, $-72(%rbp) + 0xe9, 0x43, 0xfe, 0xff, 0xff, //0x0000297a jmp LBB0_479 + //0x0000297f LBB0_507 + 0x4c, 0x89, 0x65, 0xb8, //0x0000297f movq %r12, $-72(%rbp) + 0xe9, 0x10, 0xfe, 0xff, 0xff, //0x00002983 jmp LBB0_476 + //0x00002988 LBB0_508 + 0x4c, 0x89, 0x65, 0xb8, //0x00002988 movq %r12, $-72(%rbp) + 0x4c, 0x8b, 0x55, 0xd0, //0x0000298c movq $-48(%rbp), %r10 + 0xe9, 0x03, 0xfe, 0xff, 0xff, //0x00002990 jmp LBB0_476 + //0x00002995 LBB0_509 + 0x4c, 0x01, 0xe2, //0x00002995 addq %r12, %rdx + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x00002998 movq $-2, %r12 + 0x49, 0x89, 0xd0, //0x0000299f movq %rdx, %r8 + 0xe9, 0x82, 0xfe, 0xff, 0xff, //0x000029a2 jmp LBB0_487 + //0x000029a7 LBB0_433 + 0x4c, 0x8b, 0x55, 0xd0, //0x000029a7 movq $-48(%rbp), %r10 + 0xe9, 0xe8, 0xfd, 0xff, 0xff, //0x000029ab jmp LBB0_476 + //0x000029b0 LBB0_129 + 0x4c, 0x01, 0xe2, //0x000029b0 addq %r12, %rdx + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x000029b3 movq $-2, %r12 + 0x49, 0x89, 0xd3, //0x000029ba movq %rdx, %r11 + 0xe9, 0x91, 0xfe, 0xff, 0xff, //0x000029bd jmp LBB0_506 + //0x000029c2 LBB0_511 + 0x4c, 0x01, 0xe7, //0x000029c2 addq %r12, %rdi + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x000029c5 movq $-2, %r12 + 0x49, 0x89, 0xf8, //0x000029cc movq %rdi, %r8 + 0xe9, 0x51, 0xfe, 0xff, 0xff, //0x000029cf jmp LBB0_486 + //0x000029d4 LBB0_512 + 0x4c, 0x2b, 0x65, 0xc0, //0x000029d4 subq $-64(%rbp), %r12 + 0x49, 0x01, 0xd4, //0x000029d8 addq %rdx, %r12 + 0xe9, 0x3b, 0xfe, 0xff, 0xff, //0x000029db jmp LBB0_484 + //0x000029e0 LBB0_417 + 0x4c, 0x01, 0xe7, //0x000029e0 addq %r12, %rdi + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x000029e3 movq $-2, %r12 + 0x49, 0x89, 0xfb, //0x000029ea movq %rdi, %r11 + 0xe9, 0x61, 0xfe, 0xff, 0xff, //0x000029ed jmp LBB0_506 + //0x000029f2 LBB0_513 + 0x49, 0x29, 0xc4, //0x000029f2 subq %rax, %r12 + 0xe9, 0x21, 0xfe, 0xff, 0xff, //0x000029f5 jmp LBB0_484 + //0x000029fa LBB0_514 + 0x4c, 0x2b, 0x65, 0xc0, //0x000029fa subq $-64(%rbp), %r12 + 0x49, 0x01, 0xd4, //0x000029fe addq %rdx, %r12 + 0xe9, 0x43, 0xfe, 0xff, 0xff, //0x00002a01 jmp LBB0_504 + //0x00002a06 LBB0_515 + 0x49, 0x29, 0xf4, //0x00002a06 subq %rsi, %r12 + 0xe9, 0x3b, 0xfe, 0xff, 0xff, //0x00002a09 jmp LBB0_504 + //0x00002a0e LBB0_516 + 0x4c, 0x8b, 0x55, 0xd0, //0x00002a0e movq $-48(%rbp), %r10 + 0xe9, 0xab, 0xfd, 0xff, 0xff, //0x00002a12 jmp LBB0_479 + 0x90, //0x00002a17 .p2align 2, 0x90 + // // .set L0_0_set_39, LBB0_39-LJTI0_0 + // // .set L0_0_set_63, LBB0_63-LJTI0_0 + // // .set L0_0_set_44, LBB0_44-LJTI0_0 + // // .set L0_0_set_61, LBB0_61-LJTI0_0 + // // .set L0_0_set_42, LBB0_42-LJTI0_0 + // // .set L0_0_set_65, LBB0_65-LJTI0_0 + //0x00002a18 LJTI0_0 + 0xc4, 0xda, 0xff, 0xff, //0x00002a18 .long L0_0_set_39 + 0x6c, 0xdc, 0xff, 0xff, //0x00002a1c .long L0_0_set_63 + 0xfb, 0xda, 0xff, 0xff, //0x00002a20 .long L0_0_set_44 + 0x55, 0xdc, 0xff, 0xff, //0x00002a24 .long L0_0_set_61 + 0xdb, 0xda, 0xff, 0xff, //0x00002a28 .long L0_0_set_42 + 0x97, 0xdc, 0xff, 0xff, //0x00002a2c .long L0_0_set_65 + // // .set L0_1_set_501, LBB0_501-LJTI0_1 + // // .set L0_1_set_500, LBB0_500-LJTI0_1 + // // .set L0_1_set_211, LBB0_211-LJTI0_1 + // // .set L0_1_set_227, LBB0_227-LJTI0_1 + // // .set L0_1_set_69, LBB0_69-LJTI0_1 + // // .set L0_1_set_209, LBB0_209-LJTI0_1 + // // .set L0_1_set_240, LBB0_240-LJTI0_1 + // // .set L0_1_set_231, LBB0_231-LJTI0_1 + // // .set L0_1_set_243, LBB0_243-LJTI0_1 + // // .set L0_1_set_238, LBB0_238-LJTI0_1 + //0x00002a30 LJTI0_1 + 0xb9, 0xfd, 0xff, 0xff, //0x00002a30 .long L0_1_set_501 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a34 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a38 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a3c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a40 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a44 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a48 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a4c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a50 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a54 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a58 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a5c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a60 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a64 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a68 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a6c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a70 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a74 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a78 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a7c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a80 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a84 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a88 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a8c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a90 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a94 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a98 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a9c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aa0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aa4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aa8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aac .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ab0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ab4 .long L0_1_set_500 + 0x1e, 0xe7, 0xff, 0xff, //0x00002ab8 .long L0_1_set_211 + 0xb2, 0xfd, 0xff, 0xff, //0x00002abc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ac0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ac4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ac8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002acc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ad0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ad4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ad8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002adc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ae0 .long L0_1_set_500 + 0x6d, 0xe8, 0xff, 0xff, //0x00002ae4 .long L0_1_set_227 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ae8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aec .long L0_1_set_500 + 0xcb, 0xdc, 0xff, 0xff, //0x00002af0 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002af4 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002af8 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002afc .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b00 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b04 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b08 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b0c .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b10 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b14 .long L0_1_set_69 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b18 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b1c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b20 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b24 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b28 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b2c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b30 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b34 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b38 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b3c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b40 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b44 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b48 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b4c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b50 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b54 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b58 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b5c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b60 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b64 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b68 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b6c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b70 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b74 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b78 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b7c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b80 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b84 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b88 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b8c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b90 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b94 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b98 .long L0_1_set_500 + 0xfa, 0xe6, 0xff, 0xff, //0x00002b9c .long L0_1_set_209 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ba0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ba4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ba8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bac .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bb0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bb4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bb8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bbc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bc0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bc4 .long L0_1_set_500 + 0xf8, 0xe8, 0xff, 0xff, //0x00002bc8 .long L0_1_set_240 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bcc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bd0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bd4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bd8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bdc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002be0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002be4 .long L0_1_set_500 + 0xad, 0xe8, 0xff, 0xff, //0x00002be8 .long L0_1_set_231 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bec .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bf0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bf4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bf8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bfc .long L0_1_set_500 + 0x38, 0xe9, 0xff, 0xff, //0x00002c00 .long L0_1_set_243 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c04 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c08 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c0c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c10 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c14 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c18 .long L0_1_set_500 + 0xd4, 0xe8, 0xff, 0xff, //0x00002c1c .long L0_1_set_238 + // // .set L0_2_set_311, LBB0_311-LJTI0_2 + // // .set L0_2_set_326, LBB0_326-LJTI0_2 + // // .set L0_2_set_318, LBB0_318-LJTI0_2 + // // .set L0_2_set_313, LBB0_313-LJTI0_2 + // // .set L0_2_set_316, LBB0_316-LJTI0_2 + //0x00002c20 LJTI0_2 + 0x77, 0xec, 0xff, 0xff, //0x00002c20 .long L0_2_set_311 + 0x54, 0xed, 0xff, 0xff, //0x00002c24 .long L0_2_set_326 + 0x77, 0xec, 0xff, 0xff, //0x00002c28 .long L0_2_set_311 + 0xdb, 0xec, 0xff, 0xff, //0x00002c2c .long L0_2_set_318 + 0x54, 0xed, 0xff, 0xff, //0x00002c30 .long L0_2_set_326 + 0x90, 0xec, 0xff, 0xff, //0x00002c34 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c38 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c3c .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c40 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c44 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c48 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c4c .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c50 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c54 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c58 .long L0_2_set_313 + 0x54, 0xed, 0xff, 0xff, //0x00002c5c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c60 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c64 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c68 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c6c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c70 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c74 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c78 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c7c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c80 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c84 .long L0_2_set_326 + 0xc0, 0xec, 0xff, 0xff, //0x00002c88 .long L0_2_set_316 + 0x54, 0xed, 0xff, 0xff, //0x00002c8c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c90 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c94 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c98 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c9c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ca0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ca4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ca8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cac .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cb0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cb4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cb8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cbc .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cc0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cc4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cc8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ccc .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cd0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cd4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cd8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cdc .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ce0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ce4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ce8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cec .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cf0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cf4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cf8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cfc .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002d00 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002d04 .long L0_2_set_326 + 0xc0, 0xec, 0xff, 0xff, //0x00002d08 .long L0_2_set_316 + // // .set L0_3_set_171, LBB0_171-LJTI0_3 + // // .set L0_3_set_187, LBB0_187-LJTI0_3 + // // .set L0_3_set_178, LBB0_178-LJTI0_3 + // // .set L0_3_set_173, LBB0_173-LJTI0_3 + // // .set L0_3_set_176, LBB0_176-LJTI0_3 + //0x00002d0c LJTI0_3 + 0x56, 0xdd, 0xff, 0xff, //0x00002d0c .long L0_3_set_171 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d10 .long L0_3_set_187 + 0x56, 0xdd, 0xff, 0xff, //0x00002d14 .long L0_3_set_171 + 0xbf, 0xdd, 0xff, 0xff, //0x00002d18 .long L0_3_set_178 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d1c .long L0_3_set_187 + 0x74, 0xdd, 0xff, 0xff, //0x00002d20 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d24 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d28 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d2c .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d30 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d34 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d38 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d3c .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d40 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d44 .long L0_3_set_173 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d48 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d4c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d50 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d54 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d58 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d5c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d60 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d64 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d68 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d6c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d70 .long L0_3_set_187 + 0xa4, 0xdd, 0xff, 0xff, //0x00002d74 .long L0_3_set_176 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d78 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d7c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d80 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d84 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d88 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d8c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d90 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d94 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d98 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d9c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002da0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002da4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002da8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dac .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002db0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002db4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002db8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dbc .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dc0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dc4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dc8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dcc .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dd0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dd4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dd8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002ddc .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002de0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002de4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002de8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dec .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002df0 .long L0_3_set_187 + 0xa4, 0xdd, 0xff, 0xff, //0x00002df4 .long L0_3_set_176 + //0x00002df8 .p2align 2, 0x00 + //0x00002df8 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00002df8 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_number.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_number.go new file mode 100644 index 0000000..f991daf --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_number.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the License ); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_number func(s unsafe.Pointer, p unsafe.Pointer) (ret int) + +var S_skip_number uintptr + +//go:nosplit +func skip_number(s *string, p *int) (ret int) { + return F_skip_number(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_number_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_number_subr.go new file mode 100644 index 0000000..8e489d3 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_number_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_number = 336 +) + +const ( + _stack__skip_number = 72 +) + +const ( + _size__skip_number = 1528 +) + +var ( + _pcsp__skip_number = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {1441, 72}, + {1445, 48}, + {1446, 40}, + {1448, 32}, + {1450, 24}, + {1452, 16}, + {1454, 8}, + {1458, 0}, + {1528, 72}, + } +) + +var _cfunc_skip_number = []loader.CFunc{ + {"_skip_number_entry", 0, _entry__skip_number, 0, nil}, + {"_skip_number", _entry__skip_number, _size__skip_number, _stack__skip_number, _pcsp__skip_number}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_number_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_number_text_amd64.go new file mode 100644 index 0000000..0d89762 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_number_text_amd64.go @@ -0,0 +1,521 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_skip_number = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, // QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000010 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000020 LCPI0_1 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000020 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000030 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000040 LCPI0_2 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000040 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000050 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000060 LCPI0_3 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000060 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000070 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000080 LCPI0_4 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000080 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000090 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x000000a0 LCPI0_5 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x000000a0 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x000000b0 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x000000c0 LCPI0_6 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000000c0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000000d0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000000e0 .p2align 4, 0x00 + //0x000000e0 LCPI0_7 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x000000e0 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x000000f0 LCPI0_8 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x000000f0 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000100 LCPI0_9 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000100 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000110 LCPI0_10 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000110 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000120 LCPI0_11 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000120 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000130 LCPI0_12 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000130 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000140 LCPI0_13 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000140 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000150 .p2align 4, 0x90 + //0x00000150 _skip_number + 0x55, //0x00000150 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000151 movq %rsp, %rbp + 0x41, 0x57, //0x00000154 pushq %r15 + 0x41, 0x56, //0x00000156 pushq %r14 + 0x41, 0x55, //0x00000158 pushq %r13 + 0x41, 0x54, //0x0000015a pushq %r12 + 0x53, //0x0000015c pushq %rbx + 0x48, 0x83, 0xec, 0x18, //0x0000015d subq $24, %rsp + 0x48, 0x8b, 0x1f, //0x00000161 movq (%rdi), %rbx + 0x48, 0x8b, 0x57, 0x08, //0x00000164 movq $8(%rdi), %rdx + 0x48, 0x8b, 0x3e, //0x00000168 movq (%rsi), %rdi + 0x48, 0x29, 0xfa, //0x0000016b subq %rdi, %rdx + 0x31, 0xc0, //0x0000016e xorl %eax, %eax + 0x80, 0x3c, 0x3b, 0x2d, //0x00000170 cmpb $45, (%rbx,%rdi) + 0x4c, 0x8d, 0x0c, 0x3b, //0x00000174 leaq (%rbx,%rdi), %r9 + 0x0f, 0x94, 0xc0, //0x00000178 sete %al + 0x49, 0x01, 0xc1, //0x0000017b addq %rax, %r9 + 0x48, 0x29, 0xc2, //0x0000017e subq %rax, %rdx + 0x0f, 0x84, 0x8d, 0x05, 0x00, 0x00, //0x00000181 je LBB0_79 + 0x41, 0x8a, 0x09, //0x00000187 movb (%r9), %cl + 0x44, 0x8d, 0x41, 0xd0, //0x0000018a leal $-48(%rcx), %r8d + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000018e movq $-2, %rax + 0x41, 0x80, 0xf8, 0x09, //0x00000195 cmpb $9, %r8b + 0x0f, 0x87, 0x4c, 0x05, 0x00, 0x00, //0x00000199 ja LBB0_78 + 0x48, 0x89, 0x7d, 0xc0, //0x0000019f movq %rdi, $-64(%rbp) + 0x48, 0x89, 0x5d, 0xc8, //0x000001a3 movq %rbx, $-56(%rbp) + 0x80, 0xf9, 0x30, //0x000001a7 cmpb $48, %cl + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x000001aa jne LBB0_6 + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000001b0 movl $1, %ebx + 0x48, 0x83, 0xfa, 0x01, //0x000001b5 cmpq $1, %rdx + 0x0f, 0x84, 0xf8, 0x04, 0x00, 0x00, //0x000001b9 je LBB0_75 + 0x41, 0x8a, 0x41, 0x01, //0x000001bf movb $1(%r9), %al + 0x04, 0xd2, //0x000001c3 addb $-46, %al + 0x3c, 0x37, //0x000001c5 cmpb $55, %al + 0x0f, 0x87, 0xea, 0x04, 0x00, 0x00, //0x000001c7 ja LBB0_75 + 0x0f, 0xb6, 0xc0, //0x000001cd movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000001d0 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x000001da btq %rax, %rcx + 0x0f, 0x83, 0xd3, 0x04, 0x00, 0x00, //0x000001de jae LBB0_75 + //0x000001e4 LBB0_6 + 0x48, 0x83, 0xfa, 0x20, //0x000001e4 cmpq $32, %rdx + 0x0f, 0x82, 0x32, 0x05, 0x00, 0x00, //0x000001e8 jb LBB0_80 + 0x48, 0x89, 0x75, 0xd0, //0x000001ee movq %rsi, $-48(%rbp) + 0x4c, 0x8d, 0x62, 0xe0, //0x000001f2 leaq $-32(%rdx), %r12 + 0x4c, 0x89, 0xe0, //0x000001f6 movq %r12, %rax + 0x48, 0x83, 0xe0, 0xe0, //0x000001f9 andq $-32, %rax + 0x4e, 0x8d, 0x6c, 0x08, 0x20, //0x000001fd leaq $32(%rax,%r9), %r13 + 0x41, 0x83, 0xe4, 0x1f, //0x00000202 andl $31, %r12d + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000206 movq $-1, %r11 + 0xc5, 0xfe, 0x6f, 0x05, 0xeb, 0xfd, 0xff, 0xff, //0x0000020d vmovdqu $-533(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0x03, 0xfe, 0xff, 0xff, //0x00000215 vmovdqu $-509(%rip), %ymm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x15, 0x1b, 0xfe, 0xff, 0xff, //0x0000021d vmovdqu $-485(%rip), %ymm2 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x1d, 0x33, 0xfe, 0xff, 0xff, //0x00000225 vmovdqu $-461(%rip), %ymm3 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x25, 0x4b, 0xfe, 0xff, 0xff, //0x0000022d vmovdqu $-437(%rip), %ymm4 /* LCPI0_4+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x63, 0xfe, 0xff, 0xff, //0x00000235 vmovdqu $-413(%rip), %ymm5 /* LCPI0_5+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x7b, 0xfe, 0xff, 0xff, //0x0000023d vmovdqu $-389(%rip), %ymm6 /* LCPI0_6+0(%rip) */ + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000245 movq $-1, %r14 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000024c movq $-1, %r10 + 0x4d, 0x89, 0xcf, //0x00000253 movq %r9, %r15 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000256 .p2align 4, 0x90 + //0x00000260 LBB0_8 + 0xc4, 0xc1, 0x7e, 0x6f, 0x3f, //0x00000260 vmovdqu (%r15), %ymm7 + 0xc5, 0x45, 0x64, 0xc0, //0x00000265 vpcmpgtb %ymm0, %ymm7, %ymm8 + 0xc5, 0x75, 0x64, 0xcf, //0x00000269 vpcmpgtb %ymm7, %ymm1, %ymm9 + 0xc4, 0x41, 0x3d, 0xdb, 0xc1, //0x0000026d vpand %ymm9, %ymm8, %ymm8 + 0xc5, 0x45, 0x74, 0xca, //0x00000272 vpcmpeqb %ymm2, %ymm7, %ymm9 + 0xc5, 0x45, 0x74, 0xd3, //0x00000276 vpcmpeqb %ymm3, %ymm7, %ymm10 + 0xc4, 0x41, 0x2d, 0xeb, 0xc9, //0x0000027a vpor %ymm9, %ymm10, %ymm9 + 0xc5, 0x45, 0xeb, 0xd4, //0x0000027f vpor %ymm4, %ymm7, %ymm10 + 0xc5, 0x2d, 0x74, 0xd6, //0x00000283 vpcmpeqb %ymm6, %ymm10, %ymm10 + 0xc5, 0xc5, 0x74, 0xfd, //0x00000287 vpcmpeqb %ymm5, %ymm7, %ymm7 + 0xc5, 0xfd, 0xd7, 0xf7, //0x0000028b vpmovmskb %ymm7, %esi + 0xc4, 0xc1, 0x7d, 0xd7, 0xc2, //0x0000028f vpmovmskb %ymm10, %eax + 0xc4, 0x41, 0x7d, 0xd7, 0xc1, //0x00000294 vpmovmskb %ymm9, %r8d + 0xc5, 0xad, 0xeb, 0xff, //0x00000299 vpor %ymm7, %ymm10, %ymm7 + 0xc4, 0x41, 0x35, 0xeb, 0xc0, //0x0000029d vpor %ymm8, %ymm9, %ymm8 + 0xc5, 0xbd, 0xeb, 0xff, //0x000002a2 vpor %ymm7, %ymm8, %ymm7 + 0xc5, 0xfd, 0xd7, 0xcf, //0x000002a6 vpmovmskb %ymm7, %ecx + 0x48, 0xf7, 0xd1, //0x000002aa notq %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x000002ad bsfq %rcx, %rcx + 0x83, 0xf9, 0x20, //0x000002b1 cmpl $32, %ecx + 0x0f, 0x84, 0x13, 0x00, 0x00, 0x00, //0x000002b4 je LBB0_10 + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x000002ba movl $-1, %ebx + 0xd3, 0xe3, //0x000002bf shll %cl, %ebx + 0xf7, 0xd3, //0x000002c1 notl %ebx + 0x21, 0xde, //0x000002c3 andl %ebx, %esi + 0x21, 0xd8, //0x000002c5 andl %ebx, %eax + 0x44, 0x21, 0xc3, //0x000002c7 andl %r8d, %ebx + 0x41, 0x89, 0xd8, //0x000002ca movl %ebx, %r8d + //0x000002cd LBB0_10 + 0x8d, 0x5e, 0xff, //0x000002cd leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x000002d0 andl %esi, %ebx + 0x0f, 0x85, 0xac, 0x03, 0x00, 0x00, //0x000002d2 jne LBB0_70 + 0x8d, 0x58, 0xff, //0x000002d8 leal $-1(%rax), %ebx + 0x21, 0xc3, //0x000002db andl %eax, %ebx + 0x0f, 0x85, 0xa1, 0x03, 0x00, 0x00, //0x000002dd jne LBB0_70 + 0x41, 0x8d, 0x58, 0xff, //0x000002e3 leal $-1(%r8), %ebx + 0x44, 0x21, 0xc3, //0x000002e7 andl %r8d, %ebx + 0x0f, 0x85, 0x94, 0x03, 0x00, 0x00, //0x000002ea jne LBB0_70 + 0x85, 0xf6, //0x000002f0 testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000002f2 je LBB0_16 + 0x4c, 0x89, 0xff, //0x000002f8 movq %r15, %rdi + 0x4c, 0x29, 0xcf, //0x000002fb subq %r9, %rdi + 0x0f, 0xbc, 0xde, //0x000002fe bsfl %esi, %ebx + 0x48, 0x01, 0xfb, //0x00000301 addq %rdi, %rbx + 0x49, 0x83, 0xfa, 0xff, //0x00000304 cmpq $-1, %r10 + 0x0f, 0x85, 0x7f, 0x03, 0x00, 0x00, //0x00000308 jne LBB0_71 + 0x49, 0x89, 0xda, //0x0000030e movq %rbx, %r10 + //0x00000311 LBB0_16 + 0x85, 0xc0, //0x00000311 testl %eax, %eax + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000313 je LBB0_19 + 0x4c, 0x89, 0xfe, //0x00000319 movq %r15, %rsi + 0x4c, 0x29, 0xce, //0x0000031c subq %r9, %rsi + 0x0f, 0xbc, 0xd8, //0x0000031f bsfl %eax, %ebx + 0x48, 0x01, 0xf3, //0x00000322 addq %rsi, %rbx + 0x49, 0x83, 0xfe, 0xff, //0x00000325 cmpq $-1, %r14 + 0x0f, 0x85, 0x5e, 0x03, 0x00, 0x00, //0x00000329 jne LBB0_71 + 0x49, 0x89, 0xde, //0x0000032f movq %rbx, %r14 + //0x00000332 LBB0_19 + 0x45, 0x85, 0xc0, //0x00000332 testl %r8d, %r8d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000335 je LBB0_22 + 0x4c, 0x89, 0xf8, //0x0000033b movq %r15, %rax + 0x4c, 0x29, 0xc8, //0x0000033e subq %r9, %rax + 0x41, 0x0f, 0xbc, 0xd8, //0x00000341 bsfl %r8d, %ebx + 0x48, 0x01, 0xc3, //0x00000345 addq %rax, %rbx + 0x49, 0x83, 0xfb, 0xff, //0x00000348 cmpq $-1, %r11 + 0x0f, 0x85, 0x3b, 0x03, 0x00, 0x00, //0x0000034c jne LBB0_71 + 0x49, 0x89, 0xdb, //0x00000352 movq %rbx, %r11 + //0x00000355 LBB0_22 + 0x83, 0xf9, 0x20, //0x00000355 cmpl $32, %ecx + 0x0f, 0x85, 0x2d, 0x02, 0x00, 0x00, //0x00000358 jne LBB0_54 + 0x49, 0x83, 0xc7, 0x20, //0x0000035e addq $32, %r15 + 0x48, 0x83, 0xc2, 0xe0, //0x00000362 addq $-32, %rdx + 0x48, 0x83, 0xfa, 0x1f, //0x00000366 cmpq $31, %rdx + 0x0f, 0x87, 0xf0, 0xfe, 0xff, 0xff, //0x0000036a ja LBB0_8 + 0xc5, 0xf8, 0x77, //0x00000370 vzeroupper + 0x4c, 0x89, 0xe2, //0x00000373 movq %r12, %rdx + 0x48, 0x8b, 0x75, 0xd0, //0x00000376 movq $-48(%rbp), %rsi + 0x48, 0x83, 0xfa, 0x10, //0x0000037a cmpq $16, %rdx + 0x0f, 0x82, 0x70, 0x01, 0x00, 0x00, //0x0000037e jb LBB0_43 + //0x00000384 LBB0_25 + 0x4c, 0x8d, 0x42, 0xf0, //0x00000384 leaq $-16(%rdx), %r8 + 0x4c, 0x89, 0xc0, //0x00000388 movq %r8, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x0000038b andq $-16, %rax + 0x4a, 0x8d, 0x44, 0x28, 0x10, //0x0000038f leaq $16(%rax,%r13), %rax + 0x48, 0x89, 0x45, 0xd0, //0x00000394 movq %rax, $-48(%rbp) + 0x41, 0x83, 0xe0, 0x0f, //0x00000398 andl $15, %r8d + 0xc5, 0x7a, 0x6f, 0x05, 0x3c, 0xfd, 0xff, 0xff, //0x0000039c vmovdqu $-708(%rip), %xmm8 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0x44, 0xfd, 0xff, 0xff, //0x000003a4 vmovdqu $-700(%rip), %xmm9 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0x4c, 0xfd, 0xff, 0xff, //0x000003ac vmovdqu $-692(%rip), %xmm10 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x1d, 0x54, 0xfd, 0xff, 0xff, //0x000003b4 vmovdqu $-684(%rip), %xmm11 /* LCPI0_10+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x25, 0x5c, 0xfd, 0xff, 0xff, //0x000003bc vmovdqu $-676(%rip), %xmm4 /* LCPI0_11+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x2d, 0x64, 0xfd, 0xff, 0xff, //0x000003c4 vmovdqu $-668(%rip), %xmm5 /* LCPI0_12+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x35, 0x6c, 0xfd, 0xff, 0xff, //0x000003cc vmovdqu $-660(%rip), %xmm6 /* LCPI0_13+0(%rip) */ + 0x41, 0xbc, 0xff, 0xff, 0xff, 0xff, //0x000003d4 movl $4294967295, %r12d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003da .p2align 4, 0x90 + //0x000003e0 LBB0_26 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7d, 0x00, //0x000003e0 vmovdqu (%r13), %xmm7 + 0xc4, 0xc1, 0x41, 0x64, 0xc0, //0x000003e6 vpcmpgtb %xmm8, %xmm7, %xmm0 + 0xc5, 0xb1, 0x64, 0xcf, //0x000003eb vpcmpgtb %xmm7, %xmm9, %xmm1 + 0xc5, 0xf9, 0xdb, 0xc1, //0x000003ef vpand %xmm1, %xmm0, %xmm0 + 0xc5, 0xa9, 0x74, 0xcf, //0x000003f3 vpcmpeqb %xmm7, %xmm10, %xmm1 + 0xc5, 0xa1, 0x74, 0xd7, //0x000003f7 vpcmpeqb %xmm7, %xmm11, %xmm2 + 0xc5, 0xe9, 0xeb, 0xc9, //0x000003fb vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xc1, 0xeb, 0xd4, //0x000003ff vpor %xmm4, %xmm7, %xmm2 + 0xc5, 0xe9, 0x74, 0xd6, //0x00000403 vpcmpeqb %xmm6, %xmm2, %xmm2 + 0xc5, 0xc1, 0x74, 0xfd, //0x00000407 vpcmpeqb %xmm5, %xmm7, %xmm7 + 0xc5, 0xe9, 0xeb, 0xdf, //0x0000040b vpor %xmm7, %xmm2, %xmm3 + 0xc5, 0xf1, 0xeb, 0xc0, //0x0000040f vpor %xmm0, %xmm1, %xmm0 + 0xc5, 0xe1, 0xeb, 0xc0, //0x00000413 vpor %xmm0, %xmm3, %xmm0 + 0xc5, 0xf9, 0xd7, 0xdf, //0x00000417 vpmovmskb %xmm7, %ebx + 0xc5, 0xf9, 0xd7, 0xc2, //0x0000041b vpmovmskb %xmm2, %eax + 0xc5, 0x79, 0xd7, 0xf9, //0x0000041f vpmovmskb %xmm1, %r15d + 0xc5, 0xf9, 0xd7, 0xc8, //0x00000423 vpmovmskb %xmm0, %ecx + 0x4c, 0x31, 0xe1, //0x00000427 xorq %r12, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x0000042a bsfq %rcx, %rcx + 0x83, 0xf9, 0x10, //0x0000042e cmpl $16, %ecx + 0x0f, 0x84, 0x13, 0x00, 0x00, 0x00, //0x00000431 je LBB0_28 + 0xbf, 0xff, 0xff, 0xff, 0xff, //0x00000437 movl $-1, %edi + 0xd3, 0xe7, //0x0000043c shll %cl, %edi + 0xf7, 0xd7, //0x0000043e notl %edi + 0x21, 0xfb, //0x00000440 andl %edi, %ebx + 0x21, 0xf8, //0x00000442 andl %edi, %eax + 0x44, 0x21, 0xff, //0x00000444 andl %r15d, %edi + 0x41, 0x89, 0xff, //0x00000447 movl %edi, %r15d + //0x0000044a LBB0_28 + 0x8d, 0x7b, 0xff, //0x0000044a leal $-1(%rbx), %edi + 0x21, 0xdf, //0x0000044d andl %ebx, %edi + 0x0f, 0x85, 0x4d, 0x02, 0x00, 0x00, //0x0000044f jne LBB0_72 + 0x8d, 0x78, 0xff, //0x00000455 leal $-1(%rax), %edi + 0x21, 0xc7, //0x00000458 andl %eax, %edi + 0x0f, 0x85, 0x42, 0x02, 0x00, 0x00, //0x0000045a jne LBB0_72 + 0x41, 0x8d, 0x7f, 0xff, //0x00000460 leal $-1(%r15), %edi + 0x44, 0x21, 0xff, //0x00000464 andl %r15d, %edi + 0x0f, 0x85, 0x35, 0x02, 0x00, 0x00, //0x00000467 jne LBB0_72 + 0x85, 0xdb, //0x0000046d testl %ebx, %ebx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000046f je LBB0_34 + 0x4c, 0x89, 0xef, //0x00000475 movq %r13, %rdi + 0x4c, 0x29, 0xcf, //0x00000478 subq %r9, %rdi + 0x0f, 0xbc, 0xdb, //0x0000047b bsfl %ebx, %ebx + 0x48, 0x01, 0xfb, //0x0000047e addq %rdi, %rbx + 0x49, 0x83, 0xfa, 0xff, //0x00000481 cmpq $-1, %r10 + 0x0f, 0x85, 0x20, 0x02, 0x00, 0x00, //0x00000485 jne LBB0_73 + 0x49, 0x89, 0xda, //0x0000048b movq %rbx, %r10 + //0x0000048e LBB0_34 + 0x85, 0xc0, //0x0000048e testl %eax, %eax + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000490 je LBB0_37 + 0x4c, 0x89, 0xef, //0x00000496 movq %r13, %rdi + 0x4c, 0x29, 0xcf, //0x00000499 subq %r9, %rdi + 0x0f, 0xbc, 0xd8, //0x0000049c bsfl %eax, %ebx + 0x48, 0x01, 0xfb, //0x0000049f addq %rdi, %rbx + 0x49, 0x83, 0xfe, 0xff, //0x000004a2 cmpq $-1, %r14 + 0x0f, 0x85, 0xff, 0x01, 0x00, 0x00, //0x000004a6 jne LBB0_73 + 0x49, 0x89, 0xde, //0x000004ac movq %rbx, %r14 + //0x000004af LBB0_37 + 0x45, 0x85, 0xff, //0x000004af testl %r15d, %r15d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000004b2 je LBB0_40 + 0x4c, 0x89, 0xef, //0x000004b8 movq %r13, %rdi + 0x4c, 0x29, 0xcf, //0x000004bb subq %r9, %rdi + 0x41, 0x0f, 0xbc, 0xdf, //0x000004be bsfl %r15d, %ebx + 0x48, 0x01, 0xfb, //0x000004c2 addq %rdi, %rbx + 0x49, 0x83, 0xfb, 0xff, //0x000004c5 cmpq $-1, %r11 + 0x0f, 0x85, 0xdc, 0x01, 0x00, 0x00, //0x000004c9 jne LBB0_73 + 0x49, 0x89, 0xdb, //0x000004cf movq %rbx, %r11 + //0x000004d2 LBB0_40 + 0x83, 0xf9, 0x10, //0x000004d2 cmpl $16, %ecx + 0x0f, 0x85, 0xd2, 0x00, 0x00, 0x00, //0x000004d5 jne LBB0_55 + 0x49, 0x83, 0xc5, 0x10, //0x000004db addq $16, %r13 + 0x48, 0x83, 0xc2, 0xf0, //0x000004df addq $-16, %rdx + 0x48, 0x83, 0xfa, 0x0f, //0x000004e3 cmpq $15, %rdx + 0x0f, 0x87, 0xf3, 0xfe, 0xff, 0xff, //0x000004e7 ja LBB0_26 + 0x4c, 0x89, 0xc2, //0x000004ed movq %r8, %rdx + 0x4c, 0x8b, 0x6d, 0xd0, //0x000004f0 movq $-48(%rbp), %r13 + //0x000004f4 LBB0_43 + 0x48, 0x85, 0xd2, //0x000004f4 testq %rdx, %rdx + 0x0f, 0x84, 0xb3, 0x00, 0x00, 0x00, //0x000004f7 je LBB0_56 + 0x4d, 0x8d, 0x44, 0x15, 0x00, //0x000004fd leaq (%r13,%rdx), %r8 + 0x48, 0x8d, 0x0d, 0x3f, 0x02, 0x00, 0x00, //0x00000502 leaq $575(%rip), %rcx /* LJTI0_0+0(%rip) */ + 0xe9, 0x0e, 0x00, 0x00, 0x00, //0x00000509 jmp LBB0_46 + 0x90, 0x90, //0x0000050e .p2align 4, 0x90 + //0x00000510 LBB0_45 + 0x49, 0x89, 0xc5, //0x00000510 movq %rax, %r13 + 0x48, 0xff, 0xca, //0x00000513 decq %rdx + 0x0f, 0x84, 0xab, 0x01, 0x00, 0x00, //0x00000516 je LBB0_76 + //0x0000051c LBB0_46 + 0x41, 0x0f, 0xbe, 0x7d, 0x00, //0x0000051c movsbl (%r13), %edi + 0x83, 0xc7, 0xd5, //0x00000521 addl $-43, %edi + 0x83, 0xff, 0x3a, //0x00000524 cmpl $58, %edi + 0x0f, 0x87, 0x83, 0x00, 0x00, 0x00, //0x00000527 ja LBB0_56 + 0x49, 0x8d, 0x45, 0x01, //0x0000052d leaq $1(%r13), %rax + 0x48, 0x63, 0x3c, 0xb9, //0x00000531 movslq (%rcx,%rdi,4), %rdi + 0x48, 0x01, 0xcf, //0x00000535 addq %rcx, %rdi + 0xff, 0xe7, //0x00000538 jmpq *%rdi + //0x0000053a LBB0_48 + 0x48, 0x89, 0xc3, //0x0000053a movq %rax, %rbx + 0x4c, 0x29, 0xcb, //0x0000053d subq %r9, %rbx + 0x49, 0x83, 0xfb, 0xff, //0x00000540 cmpq $-1, %r11 + 0x0f, 0x85, 0xb9, 0x01, 0x00, 0x00, //0x00000544 jne LBB0_83 + 0x48, 0xff, 0xcb, //0x0000054a decq %rbx + 0x49, 0x89, 0xdb, //0x0000054d movq %rbx, %r11 + 0xe9, 0xbb, 0xff, 0xff, 0xff, //0x00000550 jmp LBB0_45 + //0x00000555 LBB0_50 + 0x48, 0x89, 0xc3, //0x00000555 movq %rax, %rbx + 0x4c, 0x29, 0xcb, //0x00000558 subq %r9, %rbx + 0x49, 0x83, 0xfe, 0xff, //0x0000055b cmpq $-1, %r14 + 0x0f, 0x85, 0x9e, 0x01, 0x00, 0x00, //0x0000055f jne LBB0_83 + 0x48, 0xff, 0xcb, //0x00000565 decq %rbx + 0x49, 0x89, 0xde, //0x00000568 movq %rbx, %r14 + 0xe9, 0xa0, 0xff, 0xff, 0xff, //0x0000056b jmp LBB0_45 + //0x00000570 LBB0_52 + 0x48, 0x89, 0xc3, //0x00000570 movq %rax, %rbx + 0x4c, 0x29, 0xcb, //0x00000573 subq %r9, %rbx + 0x49, 0x83, 0xfa, 0xff, //0x00000576 cmpq $-1, %r10 + 0x0f, 0x85, 0x83, 0x01, 0x00, 0x00, //0x0000057a jne LBB0_83 + 0x48, 0xff, 0xcb, //0x00000580 decq %rbx + 0x49, 0x89, 0xda, //0x00000583 movq %rbx, %r10 + 0xe9, 0x85, 0xff, 0xff, 0xff, //0x00000586 jmp LBB0_45 + //0x0000058b LBB0_54 + 0x49, 0x01, 0xcf, //0x0000058b addq %rcx, %r15 + 0xc5, 0xf8, 0x77, //0x0000058e vzeroupper + 0x4d, 0x89, 0xfd, //0x00000591 movq %r15, %r13 + 0x48, 0x8b, 0x75, 0xd0, //0x00000594 movq $-48(%rbp), %rsi + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000598 movq $-1, %rbx + 0x4d, 0x85, 0xf6, //0x0000059f testq %r14, %r14 + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x000005a2 jne LBB0_57 + 0xe9, 0x2d, 0x01, 0x00, 0x00, //0x000005a8 jmp LBB0_77 + //0x000005ad LBB0_55 + 0x49, 0x01, 0xcd, //0x000005ad addq %rcx, %r13 + //0x000005b0 LBB0_56 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000005b0 movq $-1, %rbx + 0x4d, 0x85, 0xf6, //0x000005b7 testq %r14, %r14 + 0x0f, 0x84, 0x1a, 0x01, 0x00, 0x00, //0x000005ba je LBB0_77 + //0x000005c0 LBB0_57 + 0x4d, 0x85, 0xdb, //0x000005c0 testq %r11, %r11 + 0x0f, 0x84, 0x11, 0x01, 0x00, 0x00, //0x000005c3 je LBB0_77 + 0x4d, 0x85, 0xd2, //0x000005c9 testq %r10, %r10 + 0x0f, 0x84, 0x08, 0x01, 0x00, 0x00, //0x000005cc je LBB0_77 + 0x4d, 0x29, 0xcd, //0x000005d2 subq %r9, %r13 + 0x49, 0x8d, 0x45, 0xff, //0x000005d5 leaq $-1(%r13), %rax + 0x49, 0x39, 0xc6, //0x000005d9 cmpq %rax, %r14 + 0x0f, 0x84, 0x3c, 0x00, 0x00, 0x00, //0x000005dc je LBB0_65 + 0x49, 0x39, 0xc2, //0x000005e2 cmpq %rax, %r10 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x000005e5 je LBB0_65 + 0x49, 0x39, 0xc3, //0x000005eb cmpq %rax, %r11 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x000005ee je LBB0_65 + 0x4d, 0x85, 0xdb, //0x000005f4 testq %r11, %r11 + 0x0f, 0x8e, 0x35, 0x00, 0x00, 0x00, //0x000005f7 jle LBB0_66 + 0x49, 0x8d, 0x43, 0xff, //0x000005fd leaq $-1(%r11), %rax + 0x49, 0x39, 0xc6, //0x00000601 cmpq %rax, %r14 + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x00000604 je LBB0_66 + 0x49, 0xf7, 0xd3, //0x0000060a notq %r11 + 0x4c, 0x89, 0xdb, //0x0000060d movq %r11, %rbx + 0x48, 0x85, 0xdb, //0x00000610 testq %rbx, %rbx + 0x0f, 0x89, 0x9e, 0x00, 0x00, 0x00, //0x00000613 jns LBB0_75 + 0xe9, 0xbc, 0x00, 0x00, 0x00, //0x00000619 jmp LBB0_77 + //0x0000061e LBB0_65 + 0x49, 0xf7, 0xdd, //0x0000061e negq %r13 + 0x4c, 0x89, 0xeb, //0x00000621 movq %r13, %rbx + 0x48, 0x85, 0xdb, //0x00000624 testq %rbx, %rbx + 0x0f, 0x89, 0x8a, 0x00, 0x00, 0x00, //0x00000627 jns LBB0_75 + 0xe9, 0xa8, 0x00, 0x00, 0x00, //0x0000062d jmp LBB0_77 + //0x00000632 LBB0_66 + 0x4c, 0x89, 0xd0, //0x00000632 movq %r10, %rax + 0x4c, 0x09, 0xf0, //0x00000635 orq %r14, %rax + 0x4d, 0x39, 0xf2, //0x00000638 cmpq %r14, %r10 + 0x0f, 0x8c, 0x1d, 0x00, 0x00, 0x00, //0x0000063b jl LBB0_69 + 0x48, 0x85, 0xc0, //0x00000641 testq %rax, %rax + 0x0f, 0x88, 0x14, 0x00, 0x00, 0x00, //0x00000644 js LBB0_69 + 0x49, 0xf7, 0xd2, //0x0000064a notq %r10 + 0x4c, 0x89, 0xd3, //0x0000064d movq %r10, %rbx + 0x48, 0x85, 0xdb, //0x00000650 testq %rbx, %rbx + 0x0f, 0x89, 0x5e, 0x00, 0x00, 0x00, //0x00000653 jns LBB0_75 + 0xe9, 0x7c, 0x00, 0x00, 0x00, //0x00000659 jmp LBB0_77 + //0x0000065e LBB0_69 + 0x48, 0x85, 0xc0, //0x0000065e testq %rax, %rax + 0x49, 0x8d, 0x46, 0xff, //0x00000661 leaq $-1(%r14), %rax + 0x49, 0xf7, 0xd6, //0x00000665 notq %r14 + 0x4d, 0x0f, 0x48, 0xf5, //0x00000668 cmovsq %r13, %r14 + 0x49, 0x39, 0xc2, //0x0000066c cmpq %rax, %r10 + 0x4d, 0x0f, 0x45, 0xf5, //0x0000066f cmovneq %r13, %r14 + 0x4c, 0x89, 0xf3, //0x00000673 movq %r14, %rbx + 0x48, 0x85, 0xdb, //0x00000676 testq %rbx, %rbx + 0x0f, 0x89, 0x38, 0x00, 0x00, 0x00, //0x00000679 jns LBB0_75 + 0xe9, 0x56, 0x00, 0x00, 0x00, //0x0000067f jmp LBB0_77 + //0x00000684 LBB0_70 + 0x4d, 0x29, 0xcf, //0x00000684 subq %r9, %r15 + 0x0f, 0xbc, 0xdb, //0x00000687 bsfl %ebx, %ebx + 0x4c, 0x01, 0xfb, //0x0000068a addq %r15, %rbx + //0x0000068d LBB0_71 + 0x48, 0xf7, 0xd3, //0x0000068d notq %rbx + 0x48, 0x8b, 0x75, 0xd0, //0x00000690 movq $-48(%rbp), %rsi + 0x48, 0x85, 0xdb, //0x00000694 testq %rbx, %rbx + 0x0f, 0x89, 0x1a, 0x00, 0x00, 0x00, //0x00000697 jns LBB0_75 + 0xe9, 0x38, 0x00, 0x00, 0x00, //0x0000069d jmp LBB0_77 + //0x000006a2 LBB0_72 + 0x4d, 0x29, 0xcd, //0x000006a2 subq %r9, %r13 + 0x0f, 0xbc, 0xdf, //0x000006a5 bsfl %edi, %ebx + 0x4c, 0x01, 0xeb, //0x000006a8 addq %r13, %rbx + //0x000006ab LBB0_73 + 0x48, 0xf7, 0xd3, //0x000006ab notq %rbx + 0x48, 0x85, 0xdb, //0x000006ae testq %rbx, %rbx + 0x0f, 0x88, 0x23, 0x00, 0x00, 0x00, //0x000006b1 js LBB0_77 + //0x000006b7 LBB0_75 + 0x49, 0x01, 0xd9, //0x000006b7 addq %rbx, %r9 + 0x48, 0x8b, 0x45, 0xc0, //0x000006ba movq $-64(%rbp), %rax + 0x48, 0x8b, 0x5d, 0xc8, //0x000006be movq $-56(%rbp), %rbx + 0xe9, 0x24, 0x00, 0x00, 0x00, //0x000006c2 jmp LBB0_78 + //0x000006c7 LBB0_76 + 0x4d, 0x89, 0xc5, //0x000006c7 movq %r8, %r13 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000006ca movq $-1, %rbx + 0x4d, 0x85, 0xf6, //0x000006d1 testq %r14, %r14 + 0x0f, 0x85, 0xe6, 0xfe, 0xff, 0xff, //0x000006d4 jne LBB0_57 + //0x000006da LBB0_77 + 0x48, 0xf7, 0xd3, //0x000006da notq %rbx + 0x49, 0x01, 0xd9, //0x000006dd addq %rbx, %r9 + 0x48, 0x8b, 0x5d, 0xc8, //0x000006e0 movq $-56(%rbp), %rbx + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000006e4 movq $-2, %rax + //0x000006eb LBB0_78 + 0x49, 0x29, 0xd9, //0x000006eb subq %rbx, %r9 + 0x4c, 0x89, 0x0e, //0x000006ee movq %r9, (%rsi) + 0x48, 0x83, 0xc4, 0x18, //0x000006f1 addq $24, %rsp + 0x5b, //0x000006f5 popq %rbx + 0x41, 0x5c, //0x000006f6 popq %r12 + 0x41, 0x5d, //0x000006f8 popq %r13 + 0x41, 0x5e, //0x000006fa popq %r14 + 0x41, 0x5f, //0x000006fc popq %r15 + 0x5d, //0x000006fe popq %rbp + 0xc5, 0xf8, 0x77, //0x000006ff vzeroupper + 0xc3, //0x00000702 retq + //0x00000703 LBB0_83 + 0x48, 0xf7, 0xdb, //0x00000703 negq %rbx + 0x48, 0x85, 0xdb, //0x00000706 testq %rbx, %rbx + 0x0f, 0x89, 0xa8, 0xff, 0xff, 0xff, //0x00000709 jns LBB0_75 + 0xe9, 0xc6, 0xff, 0xff, 0xff, //0x0000070f jmp LBB0_77 + //0x00000714 LBB0_79 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000714 movq $-1, %rax + 0xe9, 0xcb, 0xff, 0xff, 0xff, //0x0000071b jmp LBB0_78 + //0x00000720 LBB0_80 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000720 movq $-1, %r11 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000727 movq $-1, %r14 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000072e movq $-1, %r10 + 0x4d, 0x89, 0xcd, //0x00000735 movq %r9, %r13 + 0x48, 0x83, 0xfa, 0x10, //0x00000738 cmpq $16, %rdx + 0x0f, 0x83, 0x42, 0xfc, 0xff, 0xff, //0x0000073c jae LBB0_25 + 0xe9, 0xad, 0xfd, 0xff, 0xff, //0x00000742 jmp LBB0_43 + 0x90, //0x00000747 .p2align 2, 0x90 + // // .set L0_0_set_48, LBB0_48-LJTI0_0 + // // .set L0_0_set_56, LBB0_56-LJTI0_0 + // // .set L0_0_set_52, LBB0_52-LJTI0_0 + // // .set L0_0_set_45, LBB0_45-LJTI0_0 + // // .set L0_0_set_50, LBB0_50-LJTI0_0 + //0x00000748 LJTI0_0 + 0xf2, 0xfd, 0xff, 0xff, //0x00000748 .long L0_0_set_48 + 0x68, 0xfe, 0xff, 0xff, //0x0000074c .long L0_0_set_56 + 0xf2, 0xfd, 0xff, 0xff, //0x00000750 .long L0_0_set_48 + 0x28, 0xfe, 0xff, 0xff, //0x00000754 .long L0_0_set_52 + 0x68, 0xfe, 0xff, 0xff, //0x00000758 .long L0_0_set_56 + 0xc8, 0xfd, 0xff, 0xff, //0x0000075c .long L0_0_set_45 + 0xc8, 0xfd, 0xff, 0xff, //0x00000760 .long L0_0_set_45 + 0xc8, 0xfd, 0xff, 0xff, //0x00000764 .long L0_0_set_45 + 0xc8, 0xfd, 0xff, 0xff, //0x00000768 .long L0_0_set_45 + 0xc8, 0xfd, 0xff, 0xff, //0x0000076c .long L0_0_set_45 + 0xc8, 0xfd, 0xff, 0xff, //0x00000770 .long L0_0_set_45 + 0xc8, 0xfd, 0xff, 0xff, //0x00000774 .long L0_0_set_45 + 0xc8, 0xfd, 0xff, 0xff, //0x00000778 .long L0_0_set_45 + 0xc8, 0xfd, 0xff, 0xff, //0x0000077c .long L0_0_set_45 + 0xc8, 0xfd, 0xff, 0xff, //0x00000780 .long L0_0_set_45 + 0x68, 0xfe, 0xff, 0xff, //0x00000784 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000788 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x0000078c .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000790 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000794 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000798 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x0000079c .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007a0 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007a4 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007a8 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007ac .long L0_0_set_56 + 0x0d, 0xfe, 0xff, 0xff, //0x000007b0 .long L0_0_set_50 + 0x68, 0xfe, 0xff, 0xff, //0x000007b4 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007b8 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007bc .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007c0 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007c4 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007c8 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007cc .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007d0 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007d4 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007d8 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007dc .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007e0 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007e4 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007e8 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007ec .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007f0 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007f4 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007f8 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x000007fc .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000800 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000804 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000808 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x0000080c .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000810 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000814 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000818 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x0000081c .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000820 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000824 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x00000828 .long L0_0_set_56 + 0x68, 0xfe, 0xff, 0xff, //0x0000082c .long L0_0_set_56 + 0x0d, 0xfe, 0xff, 0xff, //0x00000830 .long L0_0_set_50 + //0x00000834 .p2align 2, 0x00 + //0x00000834 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000834 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_object.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_object.go new file mode 100644 index 0000000..207d69c --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_object.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the License ); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_object func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_skip_object uintptr + +//go:nosplit +func skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_skip_object(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_object_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_object_subr.go new file mode 100644 index 0000000..4a80582 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_object_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_object = 448 +) + +const ( + _stack__skip_object = 120 +) + +const ( + _size__skip_object = 10328 +) + +var ( + _pcsp__skip_object = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {9772, 120}, + {9776, 48}, + {9777, 40}, + {9779, 32}, + {9781, 24}, + {9783, 16}, + {9785, 8}, + {9789, 0}, + {10328, 120}, + } +) + +var _cfunc_skip_object = []loader.CFunc{ + {"_skip_object_entry", 0, _entry__skip_object, 0, nil}, + {"_skip_object", _entry__skip_object, _size__skip_object, _stack__skip_object, _pcsp__skip_object}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_object_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_object_text_amd64.go new file mode 100644 index 0000000..3fe7fe6 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_object_text_amd64.go @@ -0,0 +1,3082 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_skip_object = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .quad 1 + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 6 + //0x00000010 LCPI0_11 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000010 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000020 LCPI0_12 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000020 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000030 LCPI0_13 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000030 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000040 LCPI0_14 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000040 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000050 LCPI0_15 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000050 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000060 LCPI0_16 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000060 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000070 LCPI0_17 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000070 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000080 .p2align 5, 0x00 + //0x00000080 LCPI0_1 + 0x20, //0x00000080 .byte 32 + 0x00, //0x00000081 .byte 0 + 0x00, //0x00000082 .byte 0 + 0x00, //0x00000083 .byte 0 + 0x00, //0x00000084 .byte 0 + 0x00, //0x00000085 .byte 0 + 0x00, //0x00000086 .byte 0 + 0x00, //0x00000087 .byte 0 + 0x00, //0x00000088 .byte 0 + 0x09, //0x00000089 .byte 9 + 0x0a, //0x0000008a .byte 10 + 0x00, //0x0000008b .byte 0 + 0x00, //0x0000008c .byte 0 + 0x0d, //0x0000008d .byte 13 + 0x00, //0x0000008e .byte 0 + 0x00, //0x0000008f .byte 0 + 0x20, //0x00000090 .byte 32 + 0x00, //0x00000091 .byte 0 + 0x00, //0x00000092 .byte 0 + 0x00, //0x00000093 .byte 0 + 0x00, //0x00000094 .byte 0 + 0x00, //0x00000095 .byte 0 + 0x00, //0x00000096 .byte 0 + 0x00, //0x00000097 .byte 0 + 0x00, //0x00000098 .byte 0 + 0x09, //0x00000099 .byte 9 + 0x0a, //0x0000009a .byte 10 + 0x00, //0x0000009b .byte 0 + 0x00, //0x0000009c .byte 0 + 0x0d, //0x0000009d .byte 13 + 0x00, //0x0000009e .byte 0 + 0x00, //0x0000009f .byte 0 + //0x000000a0 LCPI0_2 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x000000a0 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x000000b0 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x000000c0 LCPI0_3 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x000000c0 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x000000d0 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x000000e0 LCPI0_4 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x000000e0 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x000000f0 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000100 LCPI0_5 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000100 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000110 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000120 LCPI0_6 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000120 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000130 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000140 LCPI0_7 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000140 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000150 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000160 LCPI0_8 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000160 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000170 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000180 LCPI0_9 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000180 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000190 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x000001a0 LCPI0_10 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000001a0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000001b0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000001c0 .p2align 4, 0x90 + //0x000001c0 _skip_object + 0x55, //0x000001c0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000001c1 movq %rsp, %rbp + 0x41, 0x57, //0x000001c4 pushq %r15 + 0x41, 0x56, //0x000001c6 pushq %r14 + 0x41, 0x55, //0x000001c8 pushq %r13 + 0x41, 0x54, //0x000001ca pushq %r12 + 0x53, //0x000001cc pushq %rbx + 0x48, 0x83, 0xec, 0x48, //0x000001cd subq $72, %rsp + 0x48, 0x89, 0x4d, 0x98, //0x000001d1 movq %rcx, $-104(%rbp) + 0x49, 0x89, 0xd6, //0x000001d5 movq %rdx, %r14 + 0x49, 0x89, 0xf2, //0x000001d8 movq %rsi, %r10 + 0x48, 0x89, 0x7d, 0xb0, //0x000001db movq %rdi, $-80(%rbp) + 0xc5, 0xfa, 0x6f, 0x05, 0x19, 0xfe, 0xff, 0xff, //0x000001df vmovdqu $-487(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x7f, 0x02, //0x000001e7 vmovdqu %xmm0, (%rdx) + 0x4c, 0x8b, 0x26, //0x000001eb movq (%rsi), %r12 + 0x48, 0xc7, 0x45, 0x90, 0xff, 0xff, 0xff, 0xff, //0x000001ee movq $-1, $-112(%rbp) + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000001f6 movl $1, %r8d + 0xc5, 0xfe, 0x6f, 0x2d, 0x7c, 0xfe, 0xff, 0xff, //0x000001fc vmovdqu $-388(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x94, 0xfe, 0xff, 0xff, //0x00000204 vmovdqu $-364(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xac, 0xfe, 0xff, 0xff, //0x0000020c vmovdqu $-340(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0xc4, 0xfe, 0xff, 0xff, //0x00000214 vmovdqu $-316(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000021c vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0xd7, 0xfe, 0xff, 0xff, //0x00000221 vmovdqu $-297(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xef, 0xfe, 0xff, 0xff, //0x00000229 vmovdqu $-273(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x07, 0xff, 0xff, 0xff, //0x00000231 vmovdqu $-249(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x1f, 0xff, 0xff, 0xff, //0x00000239 vmovdqu $-225(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x37, 0xff, 0xff, 0xff, //0x00000241 vmovdqu $-201(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x4f, 0xff, 0xff, 0xff, //0x00000249 vmovdqu $-177(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + 0x48, 0x89, 0x75, 0xd0, //0x00000251 movq %rsi, $-48(%rbp) + 0x48, 0x89, 0x55, 0xc8, //0x00000255 movq %rdx, $-56(%rbp) + 0xe9, 0x62, 0x00, 0x00, 0x00, //0x00000259 jmp LBB0_5 + //0x0000025e LBB0_72 + 0x4c, 0x89, 0xe1, //0x0000025e movq %r12, %rcx + //0x00000261 LBB0_199 + 0x4c, 0x89, 0xe0, //0x00000261 movq %r12, %rax + 0x4e, 0x8d, 0x64, 0x31, 0xff, //0x00000264 leaq $-1(%rcx,%r14), %r12 + 0x4c, 0x8b, 0x55, 0xd0, //0x00000269 movq $-48(%rbp), %r10 + 0x4d, 0x89, 0x22, //0x0000026d movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00000270 movq %r13, %rcx + 0x48, 0x85, 0xc0, //0x00000273 testq %rax, %rax + 0x4c, 0x8b, 0x75, 0xc8, //0x00000276 movq $-56(%rbp), %r14 + 0x0f, 0x8e, 0x69, 0x25, 0x00, 0x00, //0x0000027a jle LBB0_501 + //0x00000280 .p2align 4, 0x90 + //0x00000280 LBB0_3 + 0x49, 0x8b, 0x16, //0x00000280 movq (%r14), %rdx + 0x49, 0x89, 0xd0, //0x00000283 movq %rdx, %r8 + 0x48, 0x8b, 0x4d, 0x90, //0x00000286 movq $-112(%rbp), %rcx + 0x48, 0x85, 0xd2, //0x0000028a testq %rdx, %rdx + 0x0f, 0x85, 0x2d, 0x00, 0x00, 0x00, //0x0000028d jne LBB0_5 + 0xe9, 0x51, 0x25, 0x00, 0x00, //0x00000293 jmp LBB0_501 + //0x00000298 LBB0_1 + 0x4c, 0x89, 0xe0, //0x00000298 movq %r12, %rax + 0x4d, 0x8d, 0x65, 0x04, //0x0000029b leaq $4(%r13), %r12 + 0x4d, 0x89, 0x22, //0x0000029f movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x000002a2 movq %r13, %rcx + 0x48, 0x85, 0xc0, //0x000002a5 testq %rax, %rax + 0x0f, 0x8f, 0xd2, 0xff, 0xff, 0xff, //0x000002a8 jg LBB0_3 + 0xe9, 0x36, 0x25, 0x00, 0x00, //0x000002ae jmp LBB0_501 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002b3 .p2align 4, 0x90 + //0x000002c0 LBB0_5 + 0x48, 0x8b, 0x45, 0xb0, //0x000002c0 movq $-80(%rbp), %rax + 0x4c, 0x8b, 0x08, //0x000002c4 movq (%rax), %r9 + 0x48, 0x8b, 0x48, 0x08, //0x000002c7 movq $8(%rax), %rcx + 0x49, 0x39, 0xcc, //0x000002cb cmpq %rcx, %r12 + 0x0f, 0x83, 0x2c, 0x00, 0x00, 0x00, //0x000002ce jae LBB0_10 + 0x43, 0x8a, 0x04, 0x21, //0x000002d4 movb (%r9,%r12), %al + 0x3c, 0x0d, //0x000002d8 cmpb $13, %al + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x000002da je LBB0_10 + 0x3c, 0x20, //0x000002e0 cmpb $32, %al + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x000002e2 je LBB0_10 + 0x04, 0xf7, //0x000002e8 addb $-9, %al + 0x3c, 0x01, //0x000002ea cmpb $1, %al + 0x0f, 0x86, 0x0e, 0x00, 0x00, 0x00, //0x000002ec jbe LBB0_10 + 0x4d, 0x89, 0xe5, //0x000002f2 movq %r12, %r13 + 0xe9, 0x8e, 0x01, 0x00, 0x00, //0x000002f5 jmp LBB0_36 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002fa .p2align 4, 0x90 + //0x00000300 LBB0_10 + 0x4d, 0x8d, 0x6c, 0x24, 0x01, //0x00000300 leaq $1(%r12), %r13 + 0x49, 0x39, 0xcd, //0x00000305 cmpq %rcx, %r13 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000308 jae LBB0_14 + 0x43, 0x8a, 0x14, 0x29, //0x0000030e movb (%r9,%r13), %dl + 0x80, 0xfa, 0x0d, //0x00000312 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000315 je LBB0_14 + 0x80, 0xfa, 0x20, //0x0000031b cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000031e je LBB0_14 + 0x80, 0xc2, 0xf7, //0x00000324 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000327 cmpb $1, %dl + 0x0f, 0x87, 0x58, 0x01, 0x00, 0x00, //0x0000032a ja LBB0_36 + //0x00000330 .p2align 4, 0x90 + //0x00000330 LBB0_14 + 0x4d, 0x8d, 0x6c, 0x24, 0x02, //0x00000330 leaq $2(%r12), %r13 + 0x49, 0x39, 0xcd, //0x00000335 cmpq %rcx, %r13 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000338 jae LBB0_18 + 0x43, 0x8a, 0x14, 0x29, //0x0000033e movb (%r9,%r13), %dl + 0x80, 0xfa, 0x0d, //0x00000342 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000345 je LBB0_18 + 0x80, 0xfa, 0x20, //0x0000034b cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000034e je LBB0_18 + 0x80, 0xc2, 0xf7, //0x00000354 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000357 cmpb $1, %dl + 0x0f, 0x87, 0x28, 0x01, 0x00, 0x00, //0x0000035a ja LBB0_36 + //0x00000360 .p2align 4, 0x90 + //0x00000360 LBB0_18 + 0x4d, 0x8d, 0x6c, 0x24, 0x03, //0x00000360 leaq $3(%r12), %r13 + 0x49, 0x39, 0xcd, //0x00000365 cmpq %rcx, %r13 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000368 jae LBB0_22 + 0x43, 0x8a, 0x14, 0x29, //0x0000036e movb (%r9,%r13), %dl + 0x80, 0xfa, 0x0d, //0x00000372 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000375 je LBB0_22 + 0x80, 0xfa, 0x20, //0x0000037b cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000037e je LBB0_22 + 0x80, 0xc2, 0xf7, //0x00000384 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000387 cmpb $1, %dl + 0x0f, 0x87, 0xf8, 0x00, 0x00, 0x00, //0x0000038a ja LBB0_36 + //0x00000390 .p2align 4, 0x90 + //0x00000390 LBB0_22 + 0x4d, 0x8d, 0x6c, 0x24, 0x04, //0x00000390 leaq $4(%r12), %r13 + 0x48, 0x89, 0xca, //0x00000395 movq %rcx, %rdx + 0x4c, 0x29, 0xea, //0x00000398 subq %r13, %rdx + 0x0f, 0x86, 0xd2, 0x23, 0x00, 0x00, //0x0000039b jbe LBB0_473 + 0x4d, 0x01, 0xcd, //0x000003a1 addq %r9, %r13 + 0x48, 0x83, 0xfa, 0x20, //0x000003a4 cmpq $32, %rdx + 0x0f, 0x82, 0x56, 0x00, 0x00, 0x00, //0x000003a8 jb LBB0_28 + 0x48, 0x89, 0xce, //0x000003ae movq %rcx, %rsi + 0x4c, 0x29, 0xe6, //0x000003b1 subq %r12, %rsi + 0x48, 0x83, 0xc6, 0xdc, //0x000003b4 addq $-36, %rsi + 0x48, 0x89, 0xf7, //0x000003b8 movq %rsi, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x000003bb andq $-32, %rdi + 0x4c, 0x01, 0xe7, //0x000003bf addq %r12, %rdi + 0x49, 0x8d, 0x7c, 0x39, 0x24, //0x000003c2 leaq $36(%r9,%rdi), %rdi + 0x83, 0xe6, 0x1f, //0x000003c7 andl $31, %esi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003ca .p2align 4, 0x90 + //0x000003d0 LBB0_25 + 0xc4, 0xc1, 0x7e, 0x6f, 0x45, 0x00, //0x000003d0 vmovdqu (%r13), %ymm0 + 0xc4, 0xe2, 0x55, 0x00, 0xc8, //0x000003d6 vpshufb %ymm0, %ymm5, %ymm1 + 0xc5, 0xfd, 0x74, 0xc1, //0x000003db vpcmpeqb %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xd8, //0x000003df vpmovmskb %ymm0, %ebx + 0x83, 0xfb, 0xff, //0x000003e3 cmpl $-1, %ebx + 0x0f, 0x85, 0x84, 0x00, 0x00, 0x00, //0x000003e6 jne LBB0_35 + 0x49, 0x83, 0xc5, 0x20, //0x000003ec addq $32, %r13 + 0x48, 0x83, 0xc2, 0xe0, //0x000003f0 addq $-32, %rdx + 0x48, 0x83, 0xfa, 0x1f, //0x000003f4 cmpq $31, %rdx + 0x0f, 0x87, 0xd2, 0xff, 0xff, 0xff, //0x000003f8 ja LBB0_25 + 0x48, 0x89, 0xf2, //0x000003fe movq %rsi, %rdx + 0x49, 0x89, 0xfd, //0x00000401 movq %rdi, %r13 + //0x00000404 LBB0_28 + 0x48, 0x85, 0xd2, //0x00000404 testq %rdx, %rdx + 0x0f, 0x84, 0x47, 0x00, 0x00, 0x00, //0x00000407 je LBB0_34 + 0x49, 0x8d, 0x74, 0x15, 0x00, //0x0000040d leaq (%r13,%rdx), %rsi + 0x49, 0xff, 0xc5, //0x00000412 incq %r13 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000415 .p2align 4, 0x90 + //0x00000420 LBB0_30 + 0x41, 0x0f, 0xbe, 0x7d, 0xff, //0x00000420 movsbl $-1(%r13), %edi + 0x83, 0xff, 0x20, //0x00000425 cmpl $32, %edi + 0x0f, 0x87, 0x09, 0x11, 0x00, 0x00, //0x00000428 ja LBB0_268 + 0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000042e movabsq $4294977024, %rax + 0x48, 0x0f, 0xa3, 0xf8, //0x00000438 btq %rdi, %rax + 0x0f, 0x83, 0xf5, 0x10, 0x00, 0x00, //0x0000043c jae LBB0_268 + 0x48, 0xff, 0xca, //0x00000442 decq %rdx + 0x49, 0xff, 0xc5, //0x00000445 incq %r13 + 0x48, 0x85, 0xd2, //0x00000448 testq %rdx, %rdx + 0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x0000044b jne LBB0_30 + 0x49, 0x89, 0xf5, //0x00000451 movq %rsi, %r13 + //0x00000454 LBB0_34 + 0x4d, 0x29, 0xcd, //0x00000454 subq %r9, %r13 + 0x49, 0x39, 0xcd, //0x00000457 cmpq %rcx, %r13 + 0x0f, 0x82, 0x28, 0x00, 0x00, 0x00, //0x0000045a jb LBB0_36 + 0xe9, 0x11, 0x23, 0x00, 0x00, //0x00000460 jmp LBB0_474 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000465 .p2align 4, 0x90 + //0x00000470 LBB0_35 + 0x4d, 0x29, 0xcd, //0x00000470 subq %r9, %r13 + 0xf7, 0xd3, //0x00000473 notl %ebx + 0x48, 0x63, 0xd3, //0x00000475 movslq %ebx, %rdx + 0x48, 0x0f, 0xbc, 0xd2, //0x00000478 bsfq %rdx, %rdx + 0x49, 0x01, 0xd5, //0x0000047c addq %rdx, %r13 + 0x49, 0x39, 0xcd, //0x0000047f cmpq %rcx, %r13 + 0x0f, 0x83, 0xee, 0x22, 0x00, 0x00, //0x00000482 jae LBB0_474 + //0x00000488 LBB0_36 + 0x4d, 0x8d, 0x65, 0x01, //0x00000488 leaq $1(%r13), %r12 + 0x4d, 0x89, 0x22, //0x0000048c movq %r12, (%r10) + 0x43, 0x0f, 0xbe, 0x3c, 0x29, //0x0000048f movsbl (%r9,%r13), %edi + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000494 movq $-1, %rcx + 0x85, 0xff, //0x0000049b testl %edi, %edi + 0x0f, 0x84, 0x46, 0x23, 0x00, 0x00, //0x0000049d je LBB0_501 + 0x4c, 0x89, 0xee, //0x000004a3 movq %r13, %rsi + 0x48, 0xf7, 0xd6, //0x000004a6 notq %rsi + 0x49, 0x8d, 0x50, 0xff, //0x000004a9 leaq $-1(%r8), %rdx + 0x43, 0x8b, 0x1c, 0xc6, //0x000004ad movl (%r14,%r8,8), %ebx + 0x48, 0x8b, 0x45, 0x90, //0x000004b1 movq $-112(%rbp), %rax + 0x48, 0x83, 0xf8, 0xff, //0x000004b5 cmpq $-1, %rax + 0x49, 0x0f, 0x44, 0xc5, //0x000004b9 cmoveq %r13, %rax + 0x48, 0x89, 0x45, 0x90, //0x000004bd movq %rax, $-112(%rbp) + 0xff, 0xcb, //0x000004c1 decl %ebx + 0x83, 0xfb, 0x05, //0x000004c3 cmpl $5, %ebx + 0x0f, 0x87, 0x0d, 0x02, 0x00, 0x00, //0x000004c6 ja LBB0_67 + 0x48, 0x8d, 0x05, 0x45, 0x25, 0x00, 0x00, //0x000004cc leaq $9541(%rip), %rax /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x1c, 0x98, //0x000004d3 movslq (%rax,%rbx,4), %rbx + 0x48, 0x01, 0xc3, //0x000004d7 addq %rax, %rbx + 0xff, 0xe3, //0x000004da jmpq *%rbx + //0x000004dc LBB0_39 + 0x83, 0xff, 0x2c, //0x000004dc cmpl $44, %edi + 0x0f, 0x84, 0x01, 0x06, 0x00, 0x00, //0x000004df je LBB0_73 + 0x83, 0xff, 0x5d, //0x000004e5 cmpl $93, %edi + 0x0f, 0x84, 0xd3, 0x01, 0x00, 0x00, //0x000004e8 je LBB0_41 + 0xe9, 0xef, 0x22, 0x00, 0x00, //0x000004ee jmp LBB0_500 + //0x000004f3 LBB0_42 + 0x40, 0x80, 0xff, 0x5d, //0x000004f3 cmpb $93, %dil + 0x0f, 0x84, 0xc4, 0x01, 0x00, 0x00, //0x000004f7 je LBB0_41 + 0x4b, 0xc7, 0x04, 0xc6, 0x01, 0x00, 0x00, 0x00, //0x000004fd movq $1, (%r14,%r8,8) + 0x83, 0xff, 0x7b, //0x00000505 cmpl $123, %edi + 0x0f, 0x86, 0xd7, 0x01, 0x00, 0x00, //0x00000508 jbe LBB0_68 + 0xe9, 0xcf, 0x22, 0x00, 0x00, //0x0000050e jmp LBB0_500 + //0x00000513 LBB0_44 + 0x40, 0x80, 0xff, 0x22, //0x00000513 cmpb $34, %dil + 0x0f, 0x85, 0xc5, 0x22, 0x00, 0x00, //0x00000517 jne LBB0_500 + 0x4b, 0xc7, 0x04, 0xc6, 0x04, 0x00, 0x00, 0x00, //0x0000051d movq $4, (%r14,%r8,8) + 0x48, 0x8b, 0x45, 0xb0, //0x00000525 movq $-80(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x00000529 movq $8(%rax), %rdx + 0xf6, 0x45, 0x98, 0x20, //0x0000052d testb $32, $-104(%rbp) + 0x4c, 0x89, 0x65, 0xa8, //0x00000531 movq %r12, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb8, //0x00000535 movq %rdx, $-72(%rbp) + 0x0f, 0x85, 0xc9, 0x05, 0x00, 0x00, //0x00000539 jne LBB0_75 + 0x48, 0x89, 0xd1, //0x0000053f movq %rdx, %rcx + 0x4c, 0x29, 0xe1, //0x00000542 subq %r12, %rcx + 0x0f, 0x84, 0x34, 0x24, 0x00, 0x00, //0x00000545 je LBB0_507 + 0x4b, 0x8d, 0x1c, 0x21, //0x0000054b leaq (%r9,%r12), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x0000054f cmpq $64, %rcx + 0x0f, 0x82, 0xea, 0x18, 0x00, 0x00, //0x00000553 jb LBB0_356 + 0x41, 0x89, 0xcf, //0x00000559 movl %ecx, %r15d + 0x41, 0x83, 0xe7, 0x3f, //0x0000055c andl $63, %r15d + 0x48, 0x8d, 0x54, 0x32, 0xc0, //0x00000560 leaq $-64(%rdx,%rsi), %rdx + 0x48, 0x83, 0xe2, 0xc0, //0x00000565 andq $-64, %rdx + 0x4c, 0x01, 0xe2, //0x00000569 addq %r12, %rdx + 0x4d, 0x89, 0xcb, //0x0000056c movq %r9, %r11 + 0x4d, 0x8d, 0x4c, 0x11, 0x40, //0x0000056f leaq $64(%r9,%rdx), %r9 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000574 movq $-1, %r8 + 0x45, 0x31, 0xf6, //0x0000057b xorl %r14d, %r14d + 0x90, 0x90, //0x0000057e .p2align 4, 0x90 + //0x00000580 LBB0_49 + 0xc5, 0xfe, 0x6f, 0x03, //0x00000580 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x00000584 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000589 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x0000058d vpmovmskb %ymm2, %edi + 0xc5, 0xf5, 0x74, 0xd6, //0x00000591 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000595 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00000599 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x0000059d vpmovmskb %ymm0, %esi + 0xc5, 0xf5, 0x74, 0xc7, //0x000005a1 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x000005a5 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe2, 0x20, //0x000005a9 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x000005ad shlq $32, %rax + 0x48, 0x09, 0xc6, //0x000005b1 orq %rax, %rsi + 0x49, 0x83, 0xf8, 0xff, //0x000005b4 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000005b8 jne LBB0_51 + 0x48, 0x85, 0xf6, //0x000005be testq %rsi, %rsi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000005c1 jne LBB0_58 + //0x000005c7 LBB0_51 + 0x48, 0x09, 0xfa, //0x000005c7 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x000005ca movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x000005cd orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x000005d0 jne LBB0_59 + //0x000005d6 LBB0_52 + 0x48, 0x85, 0xd2, //0x000005d6 testq %rdx, %rdx + 0x0f, 0x85, 0xdb, 0x14, 0x00, 0x00, //0x000005d9 jne LBB0_60 + //0x000005df LBB0_53 + 0x48, 0x83, 0xc1, 0xc0, //0x000005df addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x000005e3 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x000005e7 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x000005eb ja LBB0_49 + 0xe9, 0x83, 0x14, 0x00, 0x00, //0x000005f1 jmp LBB0_54 + //0x000005f6 LBB0_58 + 0x48, 0x89, 0xd8, //0x000005f6 movq %rbx, %rax + 0x4c, 0x29, 0xd8, //0x000005f9 subq %r11, %rax + 0x4c, 0x0f, 0xbc, 0xc6, //0x000005fc bsfq %rsi, %r8 + 0x49, 0x01, 0xc0, //0x00000600 addq %rax, %r8 + 0x48, 0x09, 0xfa, //0x00000603 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x00000606 movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00000609 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x0000060c je LBB0_52 + //0x00000612 LBB0_59 + 0x4c, 0x89, 0xf0, //0x00000612 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00000615 notq %rax + 0x48, 0x21, 0xf0, //0x00000618 andq %rsi, %rax + 0x4c, 0x8d, 0x14, 0x00, //0x0000061b leaq (%rax,%rax), %r10 + 0x4d, 0x09, 0xf2, //0x0000061f orq %r14, %r10 + 0x4c, 0x89, 0xd7, //0x00000622 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x00000625 notq %rdi + 0x48, 0x21, 0xf7, //0x00000628 andq %rsi, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000062b movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf7, //0x00000635 andq %rsi, %rdi + 0x45, 0x31, 0xf6, //0x00000638 xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x0000063b addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x0000063e setb %r14b + 0x48, 0x01, 0xff, //0x00000642 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000645 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x0000064f xorq %rax, %rdi + 0x4c, 0x21, 0xd7, //0x00000652 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xd0, //0x00000655 movq $-48(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x00000659 notq %rdi + 0x48, 0x21, 0xfa, //0x0000065c andq %rdi, %rdx + 0x48, 0x85, 0xd2, //0x0000065f testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0xff, 0xff, 0xff, //0x00000662 je LBB0_53 + 0xe9, 0x4d, 0x14, 0x00, 0x00, //0x00000668 jmp LBB0_60 + //0x0000066d LBB0_61 + 0x40, 0x80, 0xff, 0x3a, //0x0000066d cmpb $58, %dil + 0x0f, 0x85, 0x6b, 0x21, 0x00, 0x00, //0x00000671 jne LBB0_500 + 0x4b, 0xc7, 0x04, 0xc6, 0x00, 0x00, 0x00, 0x00, //0x00000677 movq $0, (%r14,%r8,8) + 0xe9, 0xfc, 0xfb, 0xff, 0xff, //0x0000067f jmp LBB0_3 + //0x00000684 LBB0_63 + 0x83, 0xff, 0x2c, //0x00000684 cmpl $44, %edi + 0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x00000687 jne LBB0_64 + 0x49, 0x81, 0xf8, 0xff, 0x0f, 0x00, 0x00, //0x0000068d cmpq $4095, %r8 + 0x0f, 0x8f, 0xe8, 0x20, 0x00, 0x00, //0x00000694 jg LBB0_489 + 0x49, 0x8d, 0x40, 0x01, //0x0000069a leaq $1(%r8), %rax + 0x49, 0x89, 0x06, //0x0000069e movq %rax, (%r14) + 0x4b, 0xc7, 0x44, 0xc6, 0x08, 0x03, 0x00, 0x00, 0x00, //0x000006a1 movq $3, $8(%r14,%r8,8) + 0xe9, 0xd1, 0xfb, 0xff, 0xff, //0x000006aa jmp LBB0_3 + //0x000006af LBB0_65 + 0x83, 0xff, 0x22, //0x000006af cmpl $34, %edi + 0x0f, 0x84, 0xb7, 0x05, 0x00, 0x00, //0x000006b2 je LBB0_92 + //0x000006b8 LBB0_64 + 0x83, 0xff, 0x7d, //0x000006b8 cmpl $125, %edi + 0x0f, 0x85, 0x21, 0x21, 0x00, 0x00, //0x000006bb jne LBB0_500 + //0x000006c1 LBB0_41 + 0x49, 0x89, 0x16, //0x000006c1 movq %rdx, (%r14) + 0x49, 0x89, 0xd0, //0x000006c4 movq %rdx, %r8 + 0x48, 0x8b, 0x4d, 0x90, //0x000006c7 movq $-112(%rbp), %rcx + 0x48, 0x85, 0xd2, //0x000006cb testq %rdx, %rdx + 0x0f, 0x85, 0xec, 0xfb, 0xff, 0xff, //0x000006ce jne LBB0_5 + 0xe9, 0x10, 0x21, 0x00, 0x00, //0x000006d4 jmp LBB0_501 + //0x000006d9 LBB0_67 + 0x49, 0x89, 0x16, //0x000006d9 movq %rdx, (%r14) + 0x83, 0xff, 0x7b, //0x000006dc cmpl $123, %edi + 0x0f, 0x87, 0xfd, 0x20, 0x00, 0x00, //0x000006df ja LBB0_500 + //0x000006e5 LBB0_68 + 0x4f, 0x8d, 0x3c, 0x29, //0x000006e5 leaq (%r9,%r13), %r15 + 0x89, 0xf8, //0x000006e9 movl %edi, %eax + 0x48, 0x8d, 0x15, 0x3e, 0x23, 0x00, 0x00, //0x000006eb leaq $9022(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x000006f2 movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x000006f6 addq %rdx, %rax + 0xff, 0xe0, //0x000006f9 jmpq *%rax + //0x000006fb LBB0_69 + 0x48, 0x8b, 0x45, 0xb0, //0x000006fb movq $-80(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x000006ff movq $8(%rax), %r10 + 0x4d, 0x29, 0xea, //0x00000703 subq %r13, %r10 + 0x0f, 0x84, 0x9c, 0x20, 0x00, 0x00, //0x00000706 je LBB0_477 + 0x41, 0x80, 0x3f, 0x30, //0x0000070c cmpb $48, (%r15) + 0x0f, 0x85, 0x3a, 0x00, 0x00, 0x00, //0x00000710 jne LBB0_132 + 0x41, 0xbe, 0x01, 0x00, 0x00, 0x00, //0x00000716 movl $1, %r14d + 0x49, 0x83, 0xfa, 0x01, //0x0000071c cmpq $1, %r10 + 0x0f, 0x84, 0x38, 0xfb, 0xff, 0xff, //0x00000720 je LBB0_72 + 0x43, 0x8a, 0x0c, 0x21, //0x00000726 movb (%r9,%r12), %cl + 0x80, 0xc1, 0xd2, //0x0000072a addb $-46, %cl + 0x80, 0xf9, 0x37, //0x0000072d cmpb $55, %cl + 0x0f, 0x87, 0x28, 0xfb, 0xff, 0xff, //0x00000730 ja LBB0_72 + 0x0f, 0xb6, 0xc1, //0x00000736 movzbl %cl, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00000739 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00000743 btq %rax, %rcx + 0x4c, 0x89, 0xe1, //0x00000747 movq %r12, %rcx + 0x0f, 0x83, 0x11, 0xfb, 0xff, 0xff, //0x0000074a jae LBB0_199 + //0x00000750 LBB0_132 + 0x4c, 0x89, 0x65, 0xa8, //0x00000750 movq %r12, $-88(%rbp) + 0x49, 0x83, 0xfa, 0x20, //0x00000754 cmpq $32, %r10 + 0x0f, 0x82, 0xbe, 0x16, 0x00, 0x00, //0x00000758 jb LBB0_355 + 0x49, 0x8d, 0x4a, 0xe0, //0x0000075e leaq $-32(%r10), %rcx + 0x48, 0x89, 0xc8, //0x00000762 movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xe0, //0x00000765 andq $-32, %rax + 0x4e, 0x8d, 0x74, 0x38, 0x20, //0x00000769 leaq $32(%rax,%r15), %r14 + 0x83, 0xe1, 0x1f, //0x0000076e andl $31, %ecx + 0x48, 0x89, 0x4d, 0xc0, //0x00000771 movq %rcx, $-64(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000775 movq $-1, %r8 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x0000077c movq $-1, %r12 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000783 movq $-1, %rax + 0x4d, 0x89, 0xfb, //0x0000078a movq %r15, %r11 + 0x90, 0x90, 0x90, //0x0000078d .p2align 4, 0x90 + //0x00000790 LBB0_134 + 0xc4, 0xc1, 0x7e, 0x6f, 0x03, //0x00000790 vmovdqu (%r11), %ymm0 + 0xc4, 0xc1, 0x7d, 0x64, 0xca, //0x00000795 vpcmpgtb %ymm10, %ymm0, %ymm1 + 0xc5, 0xa5, 0x64, 0xd0, //0x0000079a vpcmpgtb %ymm0, %ymm11, %ymm2 + 0xc5, 0xf5, 0xdb, 0xca, //0x0000079e vpand %ymm2, %ymm1, %ymm1 + 0xc5, 0x9d, 0x74, 0xd0, //0x000007a2 vpcmpeqb %ymm0, %ymm12, %ymm2 + 0xc5, 0x95, 0x74, 0xd8, //0x000007a6 vpcmpeqb %ymm0, %ymm13, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x000007aa vpor %ymm2, %ymm3, %ymm2 + 0xc5, 0xbd, 0xeb, 0xd8, //0x000007ae vpor %ymm0, %ymm8, %ymm3 + 0xc5, 0x8d, 0x74, 0xc0, //0x000007b2 vpcmpeqb %ymm0, %ymm14, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x000007b6 vpmovmskb %ymm0, %edi + 0xc5, 0x85, 0x74, 0xdb, //0x000007ba vpcmpeqb %ymm3, %ymm15, %ymm3 + 0xc5, 0xfd, 0xd7, 0xd3, //0x000007be vpmovmskb %ymm3, %edx + 0xc5, 0xfd, 0xd7, 0xf2, //0x000007c2 vpmovmskb %ymm2, %esi + 0xc5, 0xe5, 0xeb, 0xc0, //0x000007c6 vpor %ymm0, %ymm3, %ymm0 + 0xc5, 0xed, 0xeb, 0xc9, //0x000007ca vpor %ymm1, %ymm2, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc1, //0x000007ce vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc8, //0x000007d2 vpmovmskb %ymm0, %ecx + 0x48, 0xf7, 0xd1, //0x000007d6 notq %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x000007d9 bsfq %rcx, %rcx + 0x83, 0xf9, 0x20, //0x000007dd cmpl $32, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000007e0 je LBB0_136 + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x000007e6 movl $-1, %ebx + 0xd3, 0xe3, //0x000007eb shll %cl, %ebx + 0xf7, 0xd3, //0x000007ed notl %ebx + 0x21, 0xdf, //0x000007ef andl %ebx, %edi + 0x21, 0xda, //0x000007f1 andl %ebx, %edx + 0x21, 0xf3, //0x000007f3 andl %esi, %ebx + 0x89, 0xde, //0x000007f5 movl %ebx, %esi + //0x000007f7 LBB0_136 + 0x44, 0x8d, 0x4f, 0xff, //0x000007f7 leal $-1(%rdi), %r9d + 0x41, 0x21, 0xf9, //0x000007fb andl %edi, %r9d + 0x0f, 0x85, 0xab, 0x13, 0x00, 0x00, //0x000007fe jne LBB0_345 + 0x8d, 0x5a, 0xff, //0x00000804 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x00000807 andl %edx, %ebx + 0x0f, 0x85, 0x5e, 0x12, 0x00, 0x00, //0x00000809 jne LBB0_339 + 0x8d, 0x5e, 0xff, //0x0000080f leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x00000812 andl %esi, %ebx + 0x0f, 0x85, 0x53, 0x12, 0x00, 0x00, //0x00000814 jne LBB0_339 + 0x85, 0xff, //0x0000081a testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000081c je LBB0_142 + 0x4c, 0x89, 0xdb, //0x00000822 movq %r11, %rbx + 0x4c, 0x29, 0xfb, //0x00000825 subq %r15, %rbx + 0x0f, 0xbc, 0xff, //0x00000828 bsfl %edi, %edi + 0x48, 0x01, 0xdf, //0x0000082b addq %rbx, %rdi + 0x48, 0x83, 0xf8, 0xff, //0x0000082e cmpq $-1, %rax + 0x0f, 0x85, 0x8d, 0x13, 0x00, 0x00, //0x00000832 jne LBB0_347 + 0x48, 0x89, 0xf8, //0x00000838 movq %rdi, %rax + //0x0000083b LBB0_142 + 0x85, 0xd2, //0x0000083b testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000083d je LBB0_145 + 0x4c, 0x89, 0xdf, //0x00000843 movq %r11, %rdi + 0x4c, 0x29, 0xff, //0x00000846 subq %r15, %rdi + 0x0f, 0xbc, 0xd2, //0x00000849 bsfl %edx, %edx + 0x48, 0x01, 0xfa, //0x0000084c addq %rdi, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x0000084f cmpq $-1, %r12 + 0x0f, 0x85, 0xf1, 0x12, 0x00, 0x00, //0x00000853 jne LBB0_340 + 0x49, 0x89, 0xd4, //0x00000859 movq %rdx, %r12 + //0x0000085c LBB0_145 + 0x85, 0xf6, //0x0000085c testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000085e je LBB0_148 + 0x4c, 0x89, 0xdf, //0x00000864 movq %r11, %rdi + 0x4c, 0x29, 0xff, //0x00000867 subq %r15, %rdi + 0x0f, 0xbc, 0xd6, //0x0000086a bsfl %esi, %edx + 0x48, 0x01, 0xfa, //0x0000086d addq %rdi, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000870 cmpq $-1, %r8 + 0x0f, 0x85, 0xd0, 0x12, 0x00, 0x00, //0x00000874 jne LBB0_340 + 0x49, 0x89, 0xd0, //0x0000087a movq %rdx, %r8 + //0x0000087d LBB0_148 + 0x83, 0xf9, 0x20, //0x0000087d cmpl $32, %ecx + 0x0f, 0x85, 0x51, 0x05, 0x00, 0x00, //0x00000880 jne LBB0_180 + 0x49, 0x83, 0xc3, 0x20, //0x00000886 addq $32, %r11 + 0x49, 0x83, 0xc2, 0xe0, //0x0000088a addq $-32, %r10 + 0x49, 0x83, 0xfa, 0x1f, //0x0000088e cmpq $31, %r10 + 0x0f, 0x87, 0xf8, 0xfe, 0xff, 0xff, //0x00000892 ja LBB0_134 + 0xc5, 0xf8, 0x77, //0x00000898 vzeroupper + 0xc5, 0x7e, 0x6f, 0x3d, 0xfd, 0xf8, 0xff, 0xff, //0x0000089b vmovdqu $-1795(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xd5, 0xf8, 0xff, 0xff, //0x000008a3 vmovdqu $-1835(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0xad, 0xf8, 0xff, 0xff, //0x000008ab vmovdqu $-1875(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x85, 0xf8, 0xff, 0xff, //0x000008b3 vmovdqu $-1915(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x5d, 0xf8, 0xff, 0xff, //0x000008bb vmovdqu $-1955(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x35, 0xf8, 0xff, 0xff, //0x000008c3 vmovdqu $-1995(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000008cb vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x05, 0x08, 0xf8, 0xff, 0xff, //0x000008d0 vmovdqu $-2040(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xe0, 0xf7, 0xff, 0xff, //0x000008d8 vmovdqu $-2080(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xb8, 0xf7, 0xff, 0xff, //0x000008e0 vmovdqu $-2120(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x90, 0xf7, 0xff, 0xff, //0x000008e8 vmovdqu $-2160(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0x4c, 0x8b, 0x55, 0xc0, //0x000008f0 movq $-64(%rbp), %r10 + 0x49, 0x83, 0xfa, 0x10, //0x000008f4 cmpq $16, %r10 + 0x0f, 0x82, 0x52, 0x01, 0x00, 0x00, //0x000008f8 jb LBB0_169 + //0x000008fe LBB0_151 + 0x4d, 0x8d, 0x4a, 0xf0, //0x000008fe leaq $-16(%r10), %r9 + 0x4c, 0x89, 0xc9, //0x00000902 movq %r9, %rcx + 0x48, 0x83, 0xe1, 0xf0, //0x00000905 andq $-16, %rcx + 0x4e, 0x8d, 0x5c, 0x31, 0x10, //0x00000909 leaq $16(%rcx,%r14), %r11 + 0x41, 0x83, 0xe1, 0x0f, //0x0000090e andl $15, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000912 .p2align 4, 0x90 + //0x00000920 LBB0_152 + 0xc4, 0xc1, 0x7a, 0x6f, 0x06, //0x00000920 vmovdqu (%r14), %xmm0 + 0xc5, 0xf9, 0x64, 0x0d, 0xe3, 0xf6, 0xff, 0xff, //0x00000925 vpcmpgtb $-2333(%rip), %xmm0, %xmm1 /* LCPI0_11+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0xeb, 0xf6, 0xff, 0xff, //0x0000092d vmovdqu $-2325(%rip), %xmm2 /* LCPI0_12+0(%rip) */ + 0xc5, 0xe9, 0x64, 0xd0, //0x00000935 vpcmpgtb %xmm0, %xmm2, %xmm2 + 0xc5, 0xf1, 0xdb, 0xca, //0x00000939 vpand %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x74, 0x15, 0xeb, 0xf6, 0xff, 0xff, //0x0000093d vpcmpeqb $-2325(%rip), %xmm0, %xmm2 /* LCPI0_13+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x1d, 0xf3, 0xf6, 0xff, 0xff, //0x00000945 vpcmpeqb $-2317(%rip), %xmm0, %xmm3 /* LCPI0_14+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xd2, //0x0000094d vpor %xmm2, %xmm3, %xmm2 + 0xc5, 0xf9, 0xeb, 0x1d, 0xf7, 0xf6, 0xff, 0xff, //0x00000951 vpor $-2313(%rip), %xmm0, %xmm3 /* LCPI0_15+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x05, 0xff, 0xf6, 0xff, 0xff, //0x00000959 vpcmpeqb $-2305(%rip), %xmm0, %xmm0 /* LCPI0_16+0(%rip) */ + 0xc5, 0xe1, 0x74, 0x1d, 0x07, 0xf7, 0xff, 0xff, //0x00000961 vpcmpeqb $-2297(%rip), %xmm3, %xmm3 /* LCPI0_17+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xe0, //0x00000969 vpor %xmm0, %xmm3, %xmm4 + 0xc5, 0xe9, 0xeb, 0xc9, //0x0000096d vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xd9, 0xeb, 0xc9, //0x00000971 vpor %xmm1, %xmm4, %xmm1 + 0xc5, 0xf9, 0xd7, 0xf8, //0x00000975 vpmovmskb %xmm0, %edi + 0xc5, 0xf9, 0xd7, 0xf3, //0x00000979 vpmovmskb %xmm3, %esi + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000097d vpmovmskb %xmm2, %edx + 0xc5, 0xf9, 0xd7, 0xc9, //0x00000981 vpmovmskb %xmm1, %ecx + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x00000985 movl $4294967295, %ebx + 0x48, 0x31, 0xd9, //0x0000098a xorq %rbx, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x0000098d bsfq %rcx, %rcx + 0x83, 0xf9, 0x10, //0x00000991 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00000994 je LBB0_154 + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x0000099a movl $-1, %ebx + 0xd3, 0xe3, //0x0000099f shll %cl, %ebx + 0xf7, 0xd3, //0x000009a1 notl %ebx + 0x21, 0xdf, //0x000009a3 andl %ebx, %edi + 0x21, 0xde, //0x000009a5 andl %ebx, %esi + 0x21, 0xd3, //0x000009a7 andl %edx, %ebx + 0x89, 0xda, //0x000009a9 movl %ebx, %edx + //0x000009ab LBB0_154 + 0x8d, 0x5f, 0xff, //0x000009ab leal $-1(%rdi), %ebx + 0x21, 0xfb, //0x000009ae andl %edi, %ebx + 0x0f, 0x85, 0xe1, 0x11, 0x00, 0x00, //0x000009b0 jne LBB0_344 + 0x8d, 0x5e, 0xff, //0x000009b6 leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x000009b9 andl %esi, %ebx + 0x0f, 0x85, 0xd6, 0x11, 0x00, 0x00, //0x000009bb jne LBB0_344 + 0x8d, 0x5a, 0xff, //0x000009c1 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x000009c4 andl %edx, %ebx + 0x0f, 0x85, 0xcb, 0x11, 0x00, 0x00, //0x000009c6 jne LBB0_344 + 0x85, 0xff, //0x000009cc testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000009ce je LBB0_160 + 0x4c, 0x89, 0xf3, //0x000009d4 movq %r14, %rbx + 0x4c, 0x29, 0xfb, //0x000009d7 subq %r15, %rbx + 0x0f, 0xbc, 0xff, //0x000009da bsfl %edi, %edi + 0x48, 0x01, 0xdf, //0x000009dd addq %rbx, %rdi + 0x48, 0x83, 0xf8, 0xff, //0x000009e0 cmpq $-1, %rax + 0x0f, 0x85, 0xdb, 0x11, 0x00, 0x00, //0x000009e4 jne LBB0_347 + 0x48, 0x89, 0xf8, //0x000009ea movq %rdi, %rax + //0x000009ed LBB0_160 + 0x85, 0xf6, //0x000009ed testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000009ef je LBB0_163 + 0x4c, 0x89, 0xf7, //0x000009f5 movq %r14, %rdi + 0x4c, 0x29, 0xff, //0x000009f8 subq %r15, %rdi + 0x0f, 0xbc, 0xf6, //0x000009fb bsfl %esi, %esi + 0x48, 0x01, 0xfe, //0x000009fe addq %rdi, %rsi + 0x49, 0x83, 0xfc, 0xff, //0x00000a01 cmpq $-1, %r12 + 0x0f, 0x85, 0xed, 0x12, 0x00, 0x00, //0x00000a05 jne LBB0_350 + 0x49, 0x89, 0xf4, //0x00000a0b movq %rsi, %r12 + //0x00000a0e LBB0_163 + 0x85, 0xd2, //0x00000a0e testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000a10 je LBB0_166 + 0x4c, 0x89, 0xf6, //0x00000a16 movq %r14, %rsi + 0x4c, 0x29, 0xfe, //0x00000a19 subq %r15, %rsi + 0x0f, 0xbc, 0xd2, //0x00000a1c bsfl %edx, %edx + 0x48, 0x01, 0xf2, //0x00000a1f addq %rsi, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000a22 cmpq $-1, %r8 + 0x0f, 0x85, 0x1e, 0x11, 0x00, 0x00, //0x00000a26 jne LBB0_340 + 0x49, 0x89, 0xd0, //0x00000a2c movq %rdx, %r8 + //0x00000a2f LBB0_166 + 0x83, 0xf9, 0x10, //0x00000a2f cmpl $16, %ecx + 0x0f, 0x85, 0x82, 0x05, 0x00, 0x00, //0x00000a32 jne LBB0_186 + 0x49, 0x83, 0xc6, 0x10, //0x00000a38 addq $16, %r14 + 0x49, 0x83, 0xc2, 0xf0, //0x00000a3c addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x0f, //0x00000a40 cmpq $15, %r10 + 0x0f, 0x87, 0xd6, 0xfe, 0xff, 0xff, //0x00000a44 ja LBB0_152 + 0x4d, 0x89, 0xca, //0x00000a4a movq %r9, %r10 + 0x4d, 0x89, 0xde, //0x00000a4d movq %r11, %r14 + //0x00000a50 LBB0_169 + 0x4d, 0x85, 0xd2, //0x00000a50 testq %r10, %r10 + 0x0f, 0x84, 0x64, 0x05, 0x00, 0x00, //0x00000a53 je LBB0_187 + 0x4b, 0x8d, 0x0c, 0x16, //0x00000a59 leaq (%r14,%r10), %rcx + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00000a5d jmp LBB0_174 + //0x00000a62 LBB0_171 + 0x49, 0x89, 0xd6, //0x00000a62 movq %rdx, %r14 + 0x4d, 0x29, 0xfe, //0x00000a65 subq %r15, %r14 + 0x49, 0x83, 0xf8, 0xff, //0x00000a68 cmpq $-1, %r8 + 0x0f, 0x85, 0x15, 0x13, 0x00, 0x00, //0x00000a6c jne LBB0_352 + 0x49, 0xff, 0xce, //0x00000a72 decq %r14 + 0x4d, 0x89, 0xf0, //0x00000a75 movq %r14, %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a78 .p2align 4, 0x90 + //0x00000a80 LBB0_173 + 0x49, 0x89, 0xd6, //0x00000a80 movq %rdx, %r14 + 0x49, 0xff, 0xca, //0x00000a83 decq %r10 + 0x0f, 0x84, 0x3a, 0x12, 0x00, 0x00, //0x00000a86 je LBB0_348 + //0x00000a8c LBB0_174 + 0x41, 0x0f, 0xbe, 0x36, //0x00000a8c movsbl (%r14), %esi + 0x83, 0xc6, 0xd5, //0x00000a90 addl $-43, %esi + 0x83, 0xfe, 0x3a, //0x00000a93 cmpl $58, %esi + 0x0f, 0x87, 0x21, 0x05, 0x00, 0x00, //0x00000a96 ja LBB0_187 + 0x49, 0x8d, 0x56, 0x01, //0x00000a9c leaq $1(%r14), %rdx + 0x48, 0x8d, 0x3d, 0x65, 0x22, 0x00, 0x00, //0x00000aa0 leaq $8805(%rip), %rdi /* LJTI0_3+0(%rip) */ + 0x48, 0x63, 0x34, 0xb7, //0x00000aa7 movslq (%rdi,%rsi,4), %rsi + 0x48, 0x01, 0xfe, //0x00000aab addq %rdi, %rsi + 0xff, 0xe6, //0x00000aae jmpq *%rsi + //0x00000ab0 LBB0_176 + 0x49, 0x89, 0xd6, //0x00000ab0 movq %rdx, %r14 + 0x4d, 0x29, 0xfe, //0x00000ab3 subq %r15, %r14 + 0x49, 0x83, 0xfc, 0xff, //0x00000ab6 cmpq $-1, %r12 + 0x0f, 0x85, 0xc7, 0x12, 0x00, 0x00, //0x00000aba jne LBB0_352 + 0x49, 0xff, 0xce, //0x00000ac0 decq %r14 + 0x4d, 0x89, 0xf4, //0x00000ac3 movq %r14, %r12 + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x00000ac6 jmp LBB0_173 + //0x00000acb LBB0_178 + 0x49, 0x89, 0xd6, //0x00000acb movq %rdx, %r14 + 0x4d, 0x29, 0xfe, //0x00000ace subq %r15, %r14 + 0x48, 0x83, 0xf8, 0xff, //0x00000ad1 cmpq $-1, %rax + 0x0f, 0x85, 0xac, 0x12, 0x00, 0x00, //0x00000ad5 jne LBB0_352 + 0x49, 0xff, 0xce, //0x00000adb decq %r14 + 0x4c, 0x89, 0xf0, //0x00000ade movq %r14, %rax + 0xe9, 0x9a, 0xff, 0xff, 0xff, //0x00000ae1 jmp LBB0_173 + //0x00000ae6 LBB0_73 + 0x49, 0x81, 0xf8, 0xff, 0x0f, 0x00, 0x00, //0x00000ae6 cmpq $4095, %r8 + 0x0f, 0x8f, 0x8f, 0x1c, 0x00, 0x00, //0x00000aed jg LBB0_489 + 0x49, 0x8d, 0x40, 0x01, //0x00000af3 leaq $1(%r8), %rax + 0x49, 0x89, 0x06, //0x00000af7 movq %rax, (%r14) + 0x4b, 0xc7, 0x44, 0xc6, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00000afa movq $0, $8(%r14,%r8,8) + 0xe9, 0x78, 0xf7, 0xff, 0xff, //0x00000b03 jmp LBB0_3 + //0x00000b08 LBB0_75 + 0x49, 0x89, 0xd2, //0x00000b08 movq %rdx, %r10 + 0x4d, 0x29, 0xe2, //0x00000b0b subq %r12, %r10 + 0x0f, 0x84, 0x74, 0x1e, 0x00, 0x00, //0x00000b0e je LBB0_508 + 0x4c, 0x89, 0xe0, //0x00000b14 movq %r12, %rax + 0x4d, 0x01, 0xcc, //0x00000b17 addq %r9, %r12 + 0x49, 0x83, 0xfa, 0x40, //0x00000b1a cmpq $64, %r10 + 0x4c, 0x89, 0x4d, 0xc0, //0x00000b1e movq %r9, $-64(%rbp) + 0x0f, 0x82, 0x37, 0x13, 0x00, 0x00, //0x00000b22 jb LBB0_357 + 0x45, 0x89, 0xd6, //0x00000b28 movl %r10d, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000b2b andl $63, %r14d + 0x48, 0x8d, 0x4c, 0x32, 0xc0, //0x00000b2f leaq $-64(%rdx,%rsi), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000b34 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000b38 addq %rax, %rcx + 0x49, 0x8d, 0x44, 0x09, 0x40, //0x00000b3b leaq $64(%r9,%rcx), %rax + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000b40 movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00000b47 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000b4a .p2align 4, 0x90 + //0x00000b50 LBB0_78 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00000b50 vmovdqu (%r12), %ymm0 + 0xc4, 0xc1, 0x7e, 0x6f, 0x4c, 0x24, 0x20, //0x00000b56 vmovdqu $32(%r12), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000b5d vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xca, //0x00000b61 vpmovmskb %ymm2, %r9d + 0xc5, 0xf5, 0x74, 0xd6, //0x00000b65 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000b69 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xd7, //0x00000b6d vpcmpeqb %ymm7, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xda, //0x00000b71 vpmovmskb %ymm2, %r11d + 0xc5, 0xf5, 0x74, 0xd7, //0x00000b75 vpcmpeqb %ymm7, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xda, //0x00000b79 vpmovmskb %ymm2, %ebx + 0xc5, 0xbd, 0x64, 0xd0, //0x00000b7d vpcmpgtb %ymm0, %ymm8, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00000b81 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc2, //0x00000b86 vpand %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x00000b8a vpmovmskb %ymm0, %edi + 0xc5, 0xbd, 0x64, 0xc1, //0x00000b8e vpcmpgtb %ymm1, %ymm8, %ymm0 + 0xc4, 0xc1, 0x75, 0x64, 0xc9, //0x00000b92 vpcmpgtb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xdb, 0xc0, //0x00000b97 vpand %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00000b9b vpmovmskb %ymm0, %esi + 0x48, 0xc1, 0xe2, 0x20, //0x00000b9f shlq $32, %rdx + 0x48, 0xc1, 0xe3, 0x20, //0x00000ba3 shlq $32, %rbx + 0x49, 0x09, 0xdb, //0x00000ba7 orq %rbx, %r11 + 0x49, 0x83, 0xf8, 0xff, //0x00000baa cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000bae jne LBB0_80 + 0x4d, 0x85, 0xdb, //0x00000bb4 testq %r11, %r11 + 0x0f, 0x85, 0x9f, 0x00, 0x00, 0x00, //0x00000bb7 jne LBB0_89 + //0x00000bbd LBB0_80 + 0x48, 0xc1, 0xe6, 0x20, //0x00000bbd shlq $32, %rsi + 0x4c, 0x09, 0xca, //0x00000bc1 orq %r9, %rdx + 0x4c, 0x89, 0xd9, //0x00000bc4 movq %r11, %rcx + 0x4c, 0x09, 0xf9, //0x00000bc7 orq %r15, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000bca jne LBB0_108 + 0x48, 0x09, 0xfe, //0x00000bd0 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00000bd3 testq %rdx, %rdx + 0x0f, 0x85, 0xe1, 0x01, 0x00, 0x00, //0x00000bd6 jne LBB0_109 + //0x00000bdc LBB0_82 + 0x48, 0x85, 0xf6, //0x00000bdc testq %rsi, %rsi + 0x0f, 0x85, 0x21, 0x1c, 0x00, 0x00, //0x00000bdf jne LBB0_482 + 0x49, 0x83, 0xc2, 0xc0, //0x00000be5 addq $-64, %r10 + 0x49, 0x83, 0xc4, 0x40, //0x00000be9 addq $64, %r12 + 0x49, 0x83, 0xfa, 0x3f, //0x00000bed cmpq $63, %r10 + 0x0f, 0x87, 0x59, 0xff, 0xff, 0xff, //0x00000bf1 ja LBB0_78 + 0xe9, 0xed, 0x0e, 0x00, 0x00, //0x00000bf7 jmp LBB0_84 + //0x00000bfc LBB0_108 + 0x4c, 0x89, 0xf9, //0x00000bfc movq %r15, %rcx + 0x48, 0xf7, 0xd1, //0x00000bff notq %rcx + 0x4c, 0x21, 0xd9, //0x00000c02 andq %r11, %rcx + 0x4c, 0x8d, 0x0c, 0x09, //0x00000c05 leaq (%rcx,%rcx), %r9 + 0x4d, 0x09, 0xf9, //0x00000c09 orq %r15, %r9 + 0x4c, 0x89, 0xcb, //0x00000c0c movq %r9, %rbx + 0x48, 0xf7, 0xd3, //0x00000c0f notq %rbx + 0x4c, 0x21, 0xdb, //0x00000c12 andq %r11, %rbx + 0x49, 0x89, 0xc3, //0x00000c15 movq %rax, %r11 + 0x48, 0xb8, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000c18 movabsq $-6148914691236517206, %rax + 0x48, 0x21, 0xc3, //0x00000c22 andq %rax, %rbx + 0x45, 0x31, 0xff, //0x00000c25 xorl %r15d, %r15d + 0x48, 0x01, 0xcb, //0x00000c28 addq %rcx, %rbx + 0x41, 0x0f, 0x92, 0xc7, //0x00000c2b setb %r15b + 0x48, 0x01, 0xdb, //0x00000c2f addq %rbx, %rbx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000c32 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc3, //0x00000c3c xorq %rax, %rbx + 0x4c, 0x89, 0xd8, //0x00000c3f movq %r11, %rax + 0x4c, 0x21, 0xcb, //0x00000c42 andq %r9, %rbx + 0x48, 0xf7, 0xd3, //0x00000c45 notq %rbx + 0x48, 0x21, 0xda, //0x00000c48 andq %rbx, %rdx + 0x48, 0x09, 0xfe, //0x00000c4b orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00000c4e testq %rdx, %rdx + 0x0f, 0x84, 0x85, 0xff, 0xff, 0xff, //0x00000c51 je LBB0_82 + 0xe9, 0x61, 0x01, 0x00, 0x00, //0x00000c57 jmp LBB0_109 + //0x00000c5c LBB0_89 + 0x4c, 0x89, 0xe3, //0x00000c5c movq %r12, %rbx + 0x48, 0x2b, 0x5d, 0xc0, //0x00000c5f subq $-64(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xc3, //0x00000c63 bsfq %r11, %r8 + 0x49, 0x01, 0xd8, //0x00000c67 addq %rbx, %r8 + 0xe9, 0x4e, 0xff, 0xff, 0xff, //0x00000c6a jmp LBB0_80 + //0x00000c6f LBB0_92 + 0x4b, 0xc7, 0x04, 0xc6, 0x02, 0x00, 0x00, 0x00, //0x00000c6f movq $2, (%r14,%r8,8) + 0x48, 0x8b, 0x45, 0xb0, //0x00000c77 movq $-80(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x00000c7b movq $8(%rax), %rax + 0xf6, 0x45, 0x98, 0x20, //0x00000c7f testb $32, $-104(%rbp) + 0x48, 0x89, 0x45, 0xb8, //0x00000c83 movq %rax, $-72(%rbp) + 0x0f, 0x85, 0x6c, 0x01, 0x00, 0x00, //0x00000c87 jne LBB0_111 + 0x48, 0x89, 0xc1, //0x00000c8d movq %rax, %rcx + 0x4c, 0x29, 0xe1, //0x00000c90 subq %r12, %rcx + 0x0f, 0x84, 0xdd, 0x1c, 0x00, 0x00, //0x00000c93 je LBB0_510 + 0x4b, 0x8d, 0x1c, 0x21, //0x00000c99 leaq (%r9,%r12), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x00000c9d cmpq $64, %rcx + 0x0f, 0x82, 0xf1, 0x11, 0x00, 0x00, //0x00000ca1 jb LBB0_360 + 0x4c, 0x89, 0xca, //0x00000ca7 movq %r9, %rdx + 0x41, 0x89, 0xcf, //0x00000caa movl %ecx, %r15d + 0x41, 0x83, 0xe7, 0x3f, //0x00000cad andl $63, %r15d + 0x48, 0x8d, 0x44, 0x30, 0xc0, //0x00000cb1 leaq $-64(%rax,%rsi), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00000cb6 andq $-64, %rax + 0x4c, 0x01, 0xe0, //0x00000cba addq %r12, %rax + 0x4d, 0x8d, 0x44, 0x01, 0x40, //0x00000cbd leaq $64(%r9,%rax), %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000cc2 movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00000cc9 xorl %r14d, %r14d + 0x90, 0x90, 0x90, 0x90, //0x00000ccc .p2align 4, 0x90 + //0x00000cd0 LBB0_96 + 0xc5, 0xfe, 0x6f, 0x03, //0x00000cd0 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x00000cd4 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000cd9 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x00000cdd vpmovmskb %ymm2, %edi + 0xc5, 0xf5, 0x74, 0xd6, //0x00000ce1 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000ce5 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00000ce9 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00000ced vpmovmskb %ymm0, %esi + 0xc5, 0xf5, 0x74, 0xc7, //0x00000cf1 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00000cf5 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe2, 0x20, //0x00000cf9 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x00000cfd shlq $32, %rax + 0x48, 0x09, 0xc6, //0x00000d01 orq %rax, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x00000d04 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000d08 jne LBB0_98 + 0x48, 0x85, 0xf6, //0x00000d0e testq %rsi, %rsi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000d11 jne LBB0_105 + //0x00000d17 LBB0_98 + 0x48, 0x09, 0xfa, //0x00000d17 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x00000d1a movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00000d1d orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00000d20 jne LBB0_106 + //0x00000d26 LBB0_99 + 0x48, 0x85, 0xd2, //0x00000d26 testq %rdx, %rdx + 0x0f, 0x85, 0xe6, 0x0e, 0x00, 0x00, //0x00000d29 jne LBB0_107 + //0x00000d2f LBB0_100 + 0x48, 0x83, 0xc1, 0xc0, //0x00000d2f addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x00000d33 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x00000d37 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x00000d3b ja LBB0_96 + 0xe9, 0x8e, 0x0e, 0x00, 0x00, //0x00000d41 jmp LBB0_101 + //0x00000d46 LBB0_105 + 0x48, 0x89, 0xd8, //0x00000d46 movq %rbx, %rax + 0x4c, 0x29, 0xc8, //0x00000d49 subq %r9, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x00000d4c bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x00000d50 addq %rax, %r11 + 0x48, 0x09, 0xfa, //0x00000d53 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x00000d56 movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00000d59 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x00000d5c je LBB0_99 + //0x00000d62 LBB0_106 + 0x4c, 0x89, 0xf0, //0x00000d62 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00000d65 notq %rax + 0x48, 0x21, 0xf0, //0x00000d68 andq %rsi, %rax + 0x4c, 0x8d, 0x14, 0x00, //0x00000d6b leaq (%rax,%rax), %r10 + 0x4d, 0x09, 0xf2, //0x00000d6f orq %r14, %r10 + 0x4c, 0x89, 0xd7, //0x00000d72 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x00000d75 notq %rdi + 0x48, 0x21, 0xf7, //0x00000d78 andq %rsi, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000d7b movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf7, //0x00000d85 andq %rsi, %rdi + 0x45, 0x31, 0xf6, //0x00000d88 xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x00000d8b addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x00000d8e setb %r14b + 0x48, 0x01, 0xff, //0x00000d92 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000d95 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00000d9f xorq %rax, %rdi + 0x4c, 0x21, 0xd7, //0x00000da2 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xd0, //0x00000da5 movq $-48(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x00000da9 notq %rdi + 0x48, 0x21, 0xfa, //0x00000dac andq %rdi, %rdx + 0x48, 0x85, 0xd2, //0x00000daf testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0xff, 0xff, 0xff, //0x00000db2 je LBB0_100 + 0xe9, 0x58, 0x0e, 0x00, 0x00, //0x00000db8 jmp LBB0_107 + //0x00000dbd LBB0_109 + 0x48, 0x0f, 0xbc, 0xca, //0x00000dbd bsfq %rdx, %rcx + 0x48, 0x85, 0xf6, //0x00000dc1 testq %rsi, %rsi + 0x48, 0x8b, 0x45, 0xc0, //0x00000dc4 movq $-64(%rbp), %rax + 0x0f, 0x84, 0xc9, 0x01, 0x00, 0x00, //0x00000dc8 je LBB0_181 + 0x48, 0x0f, 0xbc, 0xd6, //0x00000dce bsfq %rsi, %rdx + 0xe9, 0xc5, 0x01, 0x00, 0x00, //0x00000dd2 jmp LBB0_182 + //0x00000dd7 LBB0_180 + 0x49, 0x01, 0xcb, //0x00000dd7 addq %rcx, %r11 + 0xc5, 0xf8, 0x77, //0x00000dda vzeroupper + 0x4d, 0x89, 0xde, //0x00000ddd movq %r11, %r14 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000de0 movq $-1, %rcx + 0x4d, 0x85, 0xe4, //0x00000de7 testq %r12, %r12 + 0x48, 0x8b, 0x55, 0xd0, //0x00000dea movq $-48(%rbp), %rdx + 0x0f, 0x85, 0xdd, 0x01, 0x00, 0x00, //0x00000dee jne LBB0_188 + 0xe9, 0xdc, 0x19, 0x00, 0x00, //0x00000df4 jmp LBB0_481 + //0x00000df9 LBB0_111 + 0x48, 0x89, 0xc3, //0x00000df9 movq %rax, %rbx + 0x4c, 0x29, 0xe3, //0x00000dfc subq %r12, %rbx + 0x0f, 0x84, 0x71, 0x1b, 0x00, 0x00, //0x00000dff je LBB0_510 + 0x4c, 0x89, 0xe1, //0x00000e05 movq %r12, %rcx + 0x4d, 0x01, 0xcc, //0x00000e08 addq %r9, %r12 + 0x48, 0x83, 0xfb, 0x40, //0x00000e0b cmpq $64, %rbx + 0x4c, 0x89, 0x4d, 0xc0, //0x00000e0f movq %r9, $-64(%rbp) + 0x0f, 0x82, 0x98, 0x10, 0x00, 0x00, //0x00000e13 jb LBB0_361 + 0x41, 0x89, 0xde, //0x00000e19 movl %ebx, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000e1c andl $63, %r14d + 0x48, 0x8d, 0x44, 0x30, 0xc0, //0x00000e20 leaq $-64(%rax,%rsi), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00000e25 andq $-64, %rax + 0x49, 0x89, 0xc8, //0x00000e29 movq %rcx, %r8 + 0x48, 0x01, 0xc8, //0x00000e2c addq %rcx, %rax + 0x49, 0x8d, 0x44, 0x01, 0x40, //0x00000e2f leaq $64(%r9,%rax), %rax + 0x48, 0x89, 0x45, 0xa0, //0x00000e34 movq %rax, $-96(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000e38 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x00000e3f xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000e42 .p2align 4, 0x90 + //0x00000e50 LBB0_114 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00000e50 vmovdqu (%r12), %ymm0 + 0xc4, 0xc1, 0x7e, 0x6f, 0x4c, 0x24, 0x20, //0x00000e56 vmovdqu $32(%r12), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000e5d vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xca, //0x00000e61 vpmovmskb %ymm2, %r9d + 0xc5, 0xf5, 0x74, 0xd6, //0x00000e65 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000e69 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xd7, //0x00000e6d vpcmpeqb %ymm7, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xca, //0x00000e71 vpmovmskb %ymm2, %ecx + 0xc5, 0xf5, 0x74, 0xd7, //0x00000e75 vpcmpeqb %ymm7, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xc2, //0x00000e79 vpmovmskb %ymm2, %eax + 0xc5, 0xbd, 0x64, 0xd0, //0x00000e7d vpcmpgtb %ymm0, %ymm8, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00000e81 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc2, //0x00000e86 vpand %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x00000e8a vpmovmskb %ymm0, %edi + 0xc5, 0xbd, 0x64, 0xc1, //0x00000e8e vpcmpgtb %ymm1, %ymm8, %ymm0 + 0xc4, 0xc1, 0x75, 0x64, 0xc9, //0x00000e92 vpcmpgtb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xdb, 0xc0, //0x00000e97 vpand %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00000e9b vpmovmskb %ymm0, %esi + 0x48, 0xc1, 0xe2, 0x20, //0x00000e9f shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x00000ea3 shlq $32, %rax + 0x48, 0x09, 0xc1, //0x00000ea7 orq %rax, %rcx + 0x49, 0x83, 0xfb, 0xff, //0x00000eaa cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000eae jne LBB0_116 + 0x48, 0x85, 0xc9, //0x00000eb4 testq %rcx, %rcx + 0x0f, 0x85, 0x9d, 0x00, 0x00, 0x00, //0x00000eb7 jne LBB0_125 + //0x00000ebd LBB0_116 + 0x48, 0xc1, 0xe6, 0x20, //0x00000ebd shlq $32, %rsi + 0x4c, 0x09, 0xca, //0x00000ec1 orq %r9, %rdx + 0x48, 0x89, 0xc8, //0x00000ec4 movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x00000ec7 orq %r15, %rax + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000eca jne LBB0_126 + 0x48, 0x09, 0xfe, //0x00000ed0 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00000ed3 testq %rdx, %rdx + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x00000ed6 jne LBB0_127 + //0x00000edc LBB0_118 + 0x48, 0x85, 0xf6, //0x00000edc testq %rsi, %rsi + 0x0f, 0x85, 0x4f, 0x19, 0x00, 0x00, //0x00000edf jne LBB0_502 + 0x48, 0x83, 0xc3, 0xc0, //0x00000ee5 addq $-64, %rbx + 0x49, 0x83, 0xc4, 0x40, //0x00000ee9 addq $64, %r12 + 0x48, 0x83, 0xfb, 0x3f, //0x00000eed cmpq $63, %rbx + 0x0f, 0x87, 0x59, 0xff, 0xff, 0xff, //0x00000ef1 ja LBB0_114 + 0xe9, 0x68, 0x0d, 0x00, 0x00, //0x00000ef7 jmp LBB0_120 + //0x00000efc LBB0_126 + 0x4d, 0x89, 0xfa, //0x00000efc movq %r15, %r10 + 0x49, 0xf7, 0xd2, //0x00000eff notq %r10 + 0x49, 0x21, 0xca, //0x00000f02 andq %rcx, %r10 + 0x4f, 0x8d, 0x0c, 0x12, //0x00000f05 leaq (%r10,%r10), %r9 + 0x4d, 0x09, 0xf9, //0x00000f09 orq %r15, %r9 + 0x4c, 0x89, 0xc8, //0x00000f0c movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000f0f notq %rax + 0x48, 0x21, 0xc8, //0x00000f12 andq %rcx, %rax + 0x48, 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000f15 movabsq $-6148914691236517206, %rcx + 0x48, 0x21, 0xc8, //0x00000f1f andq %rcx, %rax + 0x45, 0x31, 0xff, //0x00000f22 xorl %r15d, %r15d + 0x4c, 0x01, 0xd0, //0x00000f25 addq %r10, %rax + 0x4c, 0x8b, 0x55, 0xd0, //0x00000f28 movq $-48(%rbp), %r10 + 0x41, 0x0f, 0x92, 0xc7, //0x00000f2c setb %r15b + 0x48, 0x01, 0xc0, //0x00000f30 addq %rax, %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000f33 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xc8, //0x00000f3d xorq %rcx, %rax + 0x4c, 0x21, 0xc8, //0x00000f40 andq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000f43 notq %rax + 0x48, 0x21, 0xc2, //0x00000f46 andq %rax, %rdx + 0x48, 0x09, 0xfe, //0x00000f49 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00000f4c testq %rdx, %rdx + 0x0f, 0x84, 0x87, 0xff, 0xff, 0xff, //0x00000f4f je LBB0_118 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00000f55 jmp LBB0_127 + //0x00000f5a LBB0_125 + 0x4c, 0x89, 0xe0, //0x00000f5a movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x00000f5d subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x00000f61 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x00000f65 addq %rax, %r11 + 0xe9, 0x50, 0xff, 0xff, 0xff, //0x00000f68 jmp LBB0_116 + //0x00000f6d LBB0_127 + 0x48, 0x0f, 0xbc, 0xca, //0x00000f6d bsfq %rdx, %rcx + 0x48, 0x85, 0xf6, //0x00000f71 testq %rsi, %rsi + 0x48, 0x8b, 0x45, 0xc0, //0x00000f74 movq $-64(%rbp), %rax + 0x0f, 0x84, 0x8d, 0x01, 0x00, 0x00, //0x00000f78 je LBB0_203 + 0x48, 0x0f, 0xbc, 0xd6, //0x00000f7e bsfq %rsi, %rdx + 0x4c, 0x8b, 0x75, 0xc8, //0x00000f82 movq $-56(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00000f86 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x00000f89 cmpq %rcx, %rdx + 0x0f, 0x83, 0x8e, 0x01, 0x00, 0x00, //0x00000f8c jae LBB0_204 + 0xe9, 0x19, 0x1a, 0x00, 0x00, //0x00000f92 jmp LBB0_129 + //0x00000f97 LBB0_181 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00000f97 movl $64, %edx + //0x00000f9c LBB0_182 + 0x4c, 0x8b, 0x55, 0xd0, //0x00000f9c movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00000fa0 movq $-56(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00000fa4 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x00000fa7 cmpq %rcx, %rdx + 0x0f, 0x82, 0xe5, 0x19, 0x00, 0x00, //0x00000faa jb LBB0_509 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x00000fb0 leaq $1(%r12,%rcx), %r12 + 0xe9, 0x10, 0x0b, 0x00, 0x00, //0x00000fb5 jmp LBB0_184 + //0x00000fba LBB0_186 + 0x49, 0x01, 0xce, //0x00000fba addq %rcx, %r14 + //0x00000fbd LBB0_187 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000fbd movq $-1, %rcx + 0x4d, 0x85, 0xe4, //0x00000fc4 testq %r12, %r12 + 0x48, 0x8b, 0x55, 0xd0, //0x00000fc7 movq $-48(%rbp), %rdx + 0x0f, 0x84, 0x04, 0x18, 0x00, 0x00, //0x00000fcb je LBB0_481 + //0x00000fd1 LBB0_188 + 0x4d, 0x85, 0xc0, //0x00000fd1 testq %r8, %r8 + 0x0f, 0x84, 0xfb, 0x17, 0x00, 0x00, //0x00000fd4 je LBB0_481 + 0x48, 0x85, 0xc0, //0x00000fda testq %rax, %rax + 0x0f, 0x84, 0xf2, 0x17, 0x00, 0x00, //0x00000fdd je LBB0_481 + 0x4d, 0x29, 0xfe, //0x00000fe3 subq %r15, %r14 + 0x49, 0x8d, 0x4e, 0xff, //0x00000fe6 leaq $-1(%r14), %rcx + 0x49, 0x39, 0xcc, //0x00000fea cmpq %rcx, %r12 + 0x0f, 0x84, 0x88, 0x00, 0x00, 0x00, //0x00000fed je LBB0_196 + 0x48, 0x39, 0xc8, //0x00000ff3 cmpq %rcx, %rax + 0x0f, 0x84, 0x7f, 0x00, 0x00, 0x00, //0x00000ff6 je LBB0_196 + 0x49, 0x39, 0xc8, //0x00000ffc cmpq %rcx, %r8 + 0x0f, 0x84, 0x76, 0x00, 0x00, 0x00, //0x00000fff je LBB0_196 + 0x4d, 0x85, 0xc0, //0x00001005 testq %r8, %r8 + 0xc5, 0xfe, 0x6f, 0x2d, 0x70, 0xf0, 0xff, 0xff, //0x00001008 vmovdqu $-3984(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x88, 0xf0, 0xff, 0xff, //0x00001010 vmovdqu $-3960(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xa0, 0xf0, 0xff, 0xff, //0x00001018 vmovdqu $-3936(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0xb8, 0xf0, 0xff, 0xff, //0x00001020 vmovdqu $-3912(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00001028 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0xcb, 0xf0, 0xff, 0xff, //0x0000102d vmovdqu $-3893(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xe3, 0xf0, 0xff, 0xff, //0x00001035 vmovdqu $-3869(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0xfb, 0xf0, 0xff, 0xff, //0x0000103d vmovdqu $-3845(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x13, 0xf1, 0xff, 0xff, //0x00001045 vmovdqu $-3821(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x2b, 0xf1, 0xff, 0xff, //0x0000104d vmovdqu $-3797(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x43, 0xf1, 0xff, 0xff, //0x00001055 vmovdqu $-3773(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + 0x0f, 0x8e, 0x85, 0x00, 0x00, 0x00, //0x0000105d jle LBB0_200 + 0x49, 0x8d, 0x48, 0xff, //0x00001063 leaq $-1(%r8), %rcx + 0x49, 0x39, 0xcc, //0x00001067 cmpq %rcx, %r12 + 0x0f, 0x84, 0x78, 0x00, 0x00, 0x00, //0x0000106a je LBB0_200 + 0x49, 0xf7, 0xd0, //0x00001070 notq %r8 + 0x4d, 0x89, 0xc6, //0x00001073 movq %r8, %r14 + 0xe9, 0x58, 0x00, 0x00, 0x00, //0x00001076 jmp LBB0_197 + //0x0000107b LBB0_196 + 0x49, 0xf7, 0xde, //0x0000107b negq %r14 + 0xc5, 0xfe, 0x6f, 0x2d, 0xfa, 0xef, 0xff, 0xff, //0x0000107e vmovdqu $-4102(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x12, 0xf0, 0xff, 0xff, //0x00001086 vmovdqu $-4078(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x2a, 0xf0, 0xff, 0xff, //0x0000108e vmovdqu $-4054(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0x42, 0xf0, 0xff, 0xff, //0x00001096 vmovdqu $-4030(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000109e vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0x55, 0xf0, 0xff, 0xff, //0x000010a3 vmovdqu $-4011(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x6d, 0xf0, 0xff, 0xff, //0x000010ab vmovdqu $-3987(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x85, 0xf0, 0xff, 0xff, //0x000010b3 vmovdqu $-3963(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x9d, 0xf0, 0xff, 0xff, //0x000010bb vmovdqu $-3939(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xb5, 0xf0, 0xff, 0xff, //0x000010c3 vmovdqu $-3915(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0xcd, 0xf0, 0xff, 0xff, //0x000010cb vmovdqu $-3891(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + //0x000010d3 LBB0_197 + 0x4d, 0x85, 0xf6, //0x000010d3 testq %r14, %r14 + 0x4c, 0x8b, 0x65, 0xa8, //0x000010d6 movq $-88(%rbp), %r12 + 0x0f, 0x88, 0xf2, 0x16, 0x00, 0x00, //0x000010da js LBB0_480 + 0x48, 0x8b, 0x0a, //0x000010e0 movq (%rdx), %rcx + 0xe9, 0x79, 0xf1, 0xff, 0xff, //0x000010e3 jmp LBB0_199 + //0x000010e8 LBB0_200 + 0x48, 0x89, 0xc1, //0x000010e8 movq %rax, %rcx + 0x4c, 0x09, 0xe1, //0x000010eb orq %r12, %rcx + 0x4c, 0x39, 0xe0, //0x000010ee cmpq %r12, %rax + 0x0f, 0x8c, 0x98, 0x02, 0x00, 0x00, //0x000010f1 jl LBB0_249 + 0x48, 0x85, 0xc9, //0x000010f7 testq %rcx, %rcx + 0x0f, 0x88, 0x8f, 0x02, 0x00, 0x00, //0x000010fa js LBB0_249 + 0x48, 0xf7, 0xd0, //0x00001100 notq %rax + 0x49, 0x89, 0xc6, //0x00001103 movq %rax, %r14 + 0xe9, 0xc8, 0xff, 0xff, 0xff, //0x00001106 jmp LBB0_197 + //0x0000110b LBB0_203 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x0000110b movl $64, %edx + 0x4c, 0x8b, 0x75, 0xc8, //0x00001110 movq $-56(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00001114 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x00001117 cmpq %rcx, %rdx + 0x0f, 0x82, 0x90, 0x18, 0x00, 0x00, //0x0000111a jb LBB0_129 + //0x00001120 LBB0_204 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x00001120 leaq $1(%r12,%rcx), %r12 + 0xe9, 0xfe, 0x0a, 0x00, 0x00, //0x00001125 jmp LBB0_205 + //0x0000112a LBB0_209 + 0x49, 0x8b, 0x06, //0x0000112a movq (%r14), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x0000112d cmpq $4095, %rax + 0x0f, 0x8f, 0x49, 0x16, 0x00, 0x00, //0x00001133 jg LBB0_489 + 0x48, 0x8d, 0x48, 0x01, //0x00001139 leaq $1(%rax), %rcx + 0x49, 0x89, 0x0e, //0x0000113d movq %rcx, (%r14) + 0x49, 0xc7, 0x44, 0xc6, 0x08, 0x05, 0x00, 0x00, 0x00, //0x00001140 movq $5, $8(%r14,%rax,8) + 0xe9, 0x32, 0xf1, 0xff, 0xff, //0x00001149 jmp LBB0_3 + //0x0000114e LBB0_211 + 0x48, 0x8b, 0x45, 0xb0, //0x0000114e movq $-80(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x00001152 movq $8(%rax), %rax + 0xf6, 0x45, 0x98, 0x20, //0x00001156 testb $32, $-104(%rbp) + 0x48, 0x89, 0x45, 0xb8, //0x0000115a movq %rax, $-72(%rbp) + 0x0f, 0x85, 0x46, 0x02, 0x00, 0x00, //0x0000115e jne LBB0_250 + 0x48, 0x89, 0xc1, //0x00001164 movq %rax, %rcx + 0x4c, 0x29, 0xe1, //0x00001167 subq %r12, %rcx + 0x0f, 0x84, 0x06, 0x18, 0x00, 0x00, //0x0000116a je LBB0_510 + 0x4b, 0x8d, 0x1c, 0x21, //0x00001170 leaq (%r9,%r12), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x00001174 cmpq $64, %rcx + 0x4c, 0x89, 0xca, //0x00001178 movq %r9, %rdx + 0x0f, 0x82, 0x71, 0x0d, 0x00, 0x00, //0x0000117b jb LBB0_363 + 0x41, 0x89, 0xcf, //0x00001181 movl %ecx, %r15d + 0x41, 0x83, 0xe7, 0x3f, //0x00001184 andl $63, %r15d + 0x48, 0x8d, 0x44, 0x30, 0xc0, //0x00001188 leaq $-64(%rax,%rsi), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x0000118d andq $-64, %rax + 0x4c, 0x01, 0xe0, //0x00001191 addq %r12, %rax + 0x49, 0x89, 0xd1, //0x00001194 movq %rdx, %r9 + 0x4c, 0x8d, 0x44, 0x02, 0x40, //0x00001197 leaq $64(%rdx,%rax), %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000119c movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x000011a3 xorl %r14d, %r14d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000011a6 .p2align 4, 0x90 + //0x000011b0 LBB0_215 + 0xc5, 0xfe, 0x6f, 0x03, //0x000011b0 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x000011b4 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x000011b9 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x000011bd vpmovmskb %ymm2, %edi + 0xc5, 0xf5, 0x74, 0xd6, //0x000011c1 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x000011c5 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x000011c9 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x000011cd vpmovmskb %ymm0, %esi + 0xc5, 0xf5, 0x74, 0xc7, //0x000011d1 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x000011d5 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe2, 0x20, //0x000011d9 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x000011dd shlq $32, %rax + 0x48, 0x09, 0xc6, //0x000011e1 orq %rax, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x000011e4 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000011e8 jne LBB0_217 + 0x48, 0x85, 0xf6, //0x000011ee testq %rsi, %rsi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000011f1 jne LBB0_224 + //0x000011f7 LBB0_217 + 0x48, 0x09, 0xfa, //0x000011f7 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x000011fa movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x000011fd orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00001200 jne LBB0_225 + //0x00001206 LBB0_218 + 0x48, 0x85, 0xd2, //0x00001206 testq %rdx, %rdx + 0x0f, 0x85, 0x48, 0x0b, 0x00, 0x00, //0x00001209 jne LBB0_226 + //0x0000120f LBB0_219 + 0x48, 0x83, 0xc1, 0xc0, //0x0000120f addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x00001213 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x00001217 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x0000121b ja LBB0_215 + 0xe9, 0xf0, 0x0a, 0x00, 0x00, //0x00001221 jmp LBB0_220 + //0x00001226 LBB0_224 + 0x48, 0x89, 0xd8, //0x00001226 movq %rbx, %rax + 0x4c, 0x29, 0xc8, //0x00001229 subq %r9, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x0000122c bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x00001230 addq %rax, %r11 + 0x48, 0x09, 0xfa, //0x00001233 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x00001236 movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00001239 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x0000123c je LBB0_218 + //0x00001242 LBB0_225 + 0x4c, 0x89, 0xf0, //0x00001242 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00001245 notq %rax + 0x48, 0x21, 0xf0, //0x00001248 andq %rsi, %rax + 0x4c, 0x8d, 0x14, 0x00, //0x0000124b leaq (%rax,%rax), %r10 + 0x4d, 0x09, 0xf2, //0x0000124f orq %r14, %r10 + 0x4c, 0x89, 0xd7, //0x00001252 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x00001255 notq %rdi + 0x48, 0x21, 0xf7, //0x00001258 andq %rsi, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000125b movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf7, //0x00001265 andq %rsi, %rdi + 0x45, 0x31, 0xf6, //0x00001268 xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x0000126b addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x0000126e setb %r14b + 0x48, 0x01, 0xff, //0x00001272 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001275 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x0000127f xorq %rax, %rdi + 0x4c, 0x21, 0xd7, //0x00001282 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xd0, //0x00001285 movq $-48(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x00001289 notq %rdi + 0x48, 0x21, 0xfa, //0x0000128c andq %rdi, %rdx + 0x48, 0x85, 0xd2, //0x0000128f testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0xff, 0xff, 0xff, //0x00001292 je LBB0_219 + 0xe9, 0xba, 0x0a, 0x00, 0x00, //0x00001298 jmp LBB0_226 + //0x0000129d LBB0_227 + 0x48, 0x8b, 0x45, 0xb0, //0x0000129d movq $-80(%rbp), %rax + 0x4c, 0x8b, 0x70, 0x08, //0x000012a1 movq $8(%rax), %r14 + 0x4d, 0x29, 0xe6, //0x000012a5 subq %r12, %r14 + 0x0f, 0x84, 0xb3, 0x16, 0x00, 0x00, //0x000012a8 je LBB0_498 + 0x4c, 0x89, 0x65, 0xa8, //0x000012ae movq %r12, $-88(%rbp) + 0x4c, 0x89, 0xc8, //0x000012b2 movq %r9, %rax + 0x4c, 0x01, 0xe0, //0x000012b5 addq %r12, %rax + 0x49, 0x89, 0xc1, //0x000012b8 movq %rax, %r9 + 0x80, 0x38, 0x30, //0x000012bb cmpb $48, (%rax) + 0x0f, 0x85, 0xb5, 0x02, 0x00, 0x00, //0x000012be jne LBB0_271 + 0x41, 0xbf, 0x01, 0x00, 0x00, 0x00, //0x000012c4 movl $1, %r15d + 0x49, 0x83, 0xfe, 0x01, //0x000012ca cmpq $1, %r14 + 0x0f, 0x85, 0x7a, 0x02, 0x00, 0x00, //0x000012ce jne LBB0_269 + 0x4c, 0x8b, 0x65, 0xa8, //0x000012d4 movq $-88(%rbp), %r12 + 0xe9, 0x9d, 0x08, 0x00, 0x00, //0x000012d8 jmp LBB0_343 + //0x000012dd LBB0_231 + 0x48, 0x8b, 0x45, 0xb0, //0x000012dd movq $-80(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x000012e1 movq $8(%rax), %rdx + 0x48, 0x8d, 0x42, 0xfd, //0x000012e5 leaq $-3(%rdx), %rax + 0x49, 0x39, 0xc5, //0x000012e9 cmpq %rax, %r13 + 0x0f, 0x83, 0x0c, 0x15, 0x00, 0x00, //0x000012ec jae LBB0_490 + 0x41, 0x81, 0x3f, 0x6e, 0x75, 0x6c, 0x6c, //0x000012f2 cmpl $1819047278, (%r15) + 0x0f, 0x84, 0x99, 0xef, 0xff, 0xff, //0x000012f9 je LBB0_1 + 0xe9, 0x5a, 0x15, 0x00, 0x00, //0x000012ff jmp LBB0_233 + //0x00001304 LBB0_238 + 0x49, 0x8b, 0x06, //0x00001304 movq (%r14), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00001307 cmpq $4095, %rax + 0x0f, 0x8f, 0x6f, 0x14, 0x00, 0x00, //0x0000130d jg LBB0_489 + 0x48, 0x8d, 0x48, 0x01, //0x00001313 leaq $1(%rax), %rcx + 0x49, 0x89, 0x0e, //0x00001317 movq %rcx, (%r14) + 0x49, 0xc7, 0x44, 0xc6, 0x08, 0x06, 0x00, 0x00, 0x00, //0x0000131a movq $6, $8(%r14,%rax,8) + 0xe9, 0x58, 0xef, 0xff, 0xff, //0x00001323 jmp LBB0_3 + //0x00001328 LBB0_240 + 0x48, 0x8b, 0x45, 0xb0, //0x00001328 movq $-80(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x0000132c movq $8(%rax), %rdx + 0x48, 0x8d, 0x42, 0xfc, //0x00001330 leaq $-4(%rdx), %rax + 0x49, 0x39, 0xc5, //0x00001334 cmpq %rax, %r13 + 0x0f, 0x83, 0xc1, 0x14, 0x00, 0x00, //0x00001337 jae LBB0_490 + 0x43, 0x8b, 0x14, 0x21, //0x0000133d movl (%r9,%r12), %edx + 0x81, 0xfa, 0x61, 0x6c, 0x73, 0x65, //0x00001341 cmpl $1702063201, %edx + 0x0f, 0x85, 0x63, 0x15, 0x00, 0x00, //0x00001347 jne LBB0_491 + 0x4c, 0x89, 0xe0, //0x0000134d movq %r12, %rax + 0x4d, 0x8d, 0x65, 0x05, //0x00001350 leaq $5(%r13), %r12 + 0x4d, 0x89, 0x22, //0x00001354 movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001357 movq %r13, %rcx + 0x48, 0x85, 0xc0, //0x0000135a testq %rax, %rax + 0x0f, 0x8f, 0x1d, 0xef, 0xff, 0xff, //0x0000135d jg LBB0_3 + 0xe9, 0x81, 0x14, 0x00, 0x00, //0x00001363 jmp LBB0_501 + //0x00001368 LBB0_243 + 0x48, 0x8b, 0x45, 0xb0, //0x00001368 movq $-80(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x0000136c movq $8(%rax), %rdx + 0x48, 0x8d, 0x42, 0xfd, //0x00001370 leaq $-3(%rdx), %rax + 0x49, 0x39, 0xc5, //0x00001374 cmpq %rax, %r13 + 0x0f, 0x83, 0x81, 0x14, 0x00, 0x00, //0x00001377 jae LBB0_490 + 0x41, 0x81, 0x3f, 0x74, 0x72, 0x75, 0x65, //0x0000137d cmpl $1702195828, (%r15) + 0x0f, 0x84, 0x0e, 0xef, 0xff, 0xff, //0x00001384 je LBB0_1 + 0xe9, 0x76, 0x15, 0x00, 0x00, //0x0000138a jmp LBB0_245 + //0x0000138f LBB0_249 + 0x48, 0x85, 0xc9, //0x0000138f testq %rcx, %rcx + 0x49, 0x8d, 0x4c, 0x24, 0xff, //0x00001392 leaq $-1(%r12), %rcx + 0x49, 0xf7, 0xd4, //0x00001397 notq %r12 + 0x4d, 0x0f, 0x48, 0xe6, //0x0000139a cmovsq %r14, %r12 + 0x48, 0x39, 0xc8, //0x0000139e cmpq %rcx, %rax + 0x4d, 0x0f, 0x44, 0xf4, //0x000013a1 cmoveq %r12, %r14 + 0xe9, 0x29, 0xfd, 0xff, 0xff, //0x000013a5 jmp LBB0_197 + //0x000013aa LBB0_250 + 0x48, 0x89, 0xc3, //0x000013aa movq %rax, %rbx + 0x4c, 0x29, 0xe3, //0x000013ad subq %r12, %rbx + 0x0f, 0x84, 0xc0, 0x15, 0x00, 0x00, //0x000013b0 je LBB0_510 + 0x4c, 0x89, 0xe1, //0x000013b6 movq %r12, %rcx + 0x4d, 0x01, 0xcc, //0x000013b9 addq %r9, %r12 + 0x48, 0x83, 0xfb, 0x40, //0x000013bc cmpq $64, %rbx + 0x4c, 0x89, 0x4d, 0xc0, //0x000013c0 movq %r9, $-64(%rbp) + 0x0f, 0x82, 0x44, 0x0b, 0x00, 0x00, //0x000013c4 jb LBB0_364 + 0x41, 0x89, 0xde, //0x000013ca movl %ebx, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x000013cd andl $63, %r14d + 0x48, 0x8d, 0x44, 0x30, 0xc0, //0x000013d1 leaq $-64(%rax,%rsi), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x000013d6 andq $-64, %rax + 0x49, 0x89, 0xc8, //0x000013da movq %rcx, %r8 + 0x48, 0x01, 0xc8, //0x000013dd addq %rcx, %rax + 0x49, 0x8d, 0x44, 0x01, 0x40, //0x000013e0 leaq $64(%r9,%rax), %rax + 0x48, 0x89, 0x45, 0xa0, //0x000013e5 movq %rax, $-96(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000013e9 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x000013f0 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000013f3 .p2align 4, 0x90 + //0x00001400 LBB0_253 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001400 vmovdqu (%r12), %ymm0 + 0xc4, 0xc1, 0x7e, 0x6f, 0x4c, 0x24, 0x20, //0x00001406 vmovdqu $32(%r12), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x0000140d vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xca, //0x00001411 vpmovmskb %ymm2, %r9d + 0xc5, 0xf5, 0x74, 0xd6, //0x00001415 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00001419 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xd7, //0x0000141d vpcmpeqb %ymm7, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xca, //0x00001421 vpmovmskb %ymm2, %ecx + 0xc5, 0xf5, 0x74, 0xd7, //0x00001425 vpcmpeqb %ymm7, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xc2, //0x00001429 vpmovmskb %ymm2, %eax + 0xc5, 0xbd, 0x64, 0xd0, //0x0000142d vpcmpgtb %ymm0, %ymm8, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001431 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc2, //0x00001436 vpand %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x0000143a vpmovmskb %ymm0, %edi + 0xc5, 0xbd, 0x64, 0xc1, //0x0000143e vpcmpgtb %ymm1, %ymm8, %ymm0 + 0xc4, 0xc1, 0x75, 0x64, 0xc9, //0x00001442 vpcmpgtb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xdb, 0xc0, //0x00001447 vpand %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x0000144b vpmovmskb %ymm0, %esi + 0x48, 0xc1, 0xe2, 0x20, //0x0000144f shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x00001453 shlq $32, %rax + 0x48, 0x09, 0xc1, //0x00001457 orq %rax, %rcx + 0x49, 0x83, 0xfb, 0xff, //0x0000145a cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000145e jne LBB0_255 + 0x48, 0x85, 0xc9, //0x00001464 testq %rcx, %rcx + 0x0f, 0x85, 0x9d, 0x00, 0x00, 0x00, //0x00001467 jne LBB0_264 + //0x0000146d LBB0_255 + 0x48, 0xc1, 0xe6, 0x20, //0x0000146d shlq $32, %rsi + 0x4c, 0x09, 0xca, //0x00001471 orq %r9, %rdx + 0x48, 0x89, 0xc8, //0x00001474 movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x00001477 orq %r15, %rax + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x0000147a jne LBB0_265 + 0x48, 0x09, 0xfe, //0x00001480 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00001483 testq %rdx, %rdx + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x00001486 jne LBB0_266 + //0x0000148c LBB0_257 + 0x48, 0x85, 0xf6, //0x0000148c testq %rsi, %rsi + 0x0f, 0x85, 0x9f, 0x13, 0x00, 0x00, //0x0000148f jne LBB0_502 + 0x48, 0x83, 0xc3, 0xc0, //0x00001495 addq $-64, %rbx + 0x49, 0x83, 0xc4, 0x40, //0x00001499 addq $64, %r12 + 0x48, 0x83, 0xfb, 0x3f, //0x0000149d cmpq $63, %rbx + 0x0f, 0x87, 0x59, 0xff, 0xff, 0xff, //0x000014a1 ja LBB0_253 + 0xe9, 0xe7, 0x08, 0x00, 0x00, //0x000014a7 jmp LBB0_259 + //0x000014ac LBB0_265 + 0x4d, 0x89, 0xfa, //0x000014ac movq %r15, %r10 + 0x49, 0xf7, 0xd2, //0x000014af notq %r10 + 0x49, 0x21, 0xca, //0x000014b2 andq %rcx, %r10 + 0x4f, 0x8d, 0x0c, 0x12, //0x000014b5 leaq (%r10,%r10), %r9 + 0x4d, 0x09, 0xf9, //0x000014b9 orq %r15, %r9 + 0x4c, 0x89, 0xc8, //0x000014bc movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000014bf notq %rax + 0x48, 0x21, 0xc8, //0x000014c2 andq %rcx, %rax + 0x48, 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000014c5 movabsq $-6148914691236517206, %rcx + 0x48, 0x21, 0xc8, //0x000014cf andq %rcx, %rax + 0x45, 0x31, 0xff, //0x000014d2 xorl %r15d, %r15d + 0x4c, 0x01, 0xd0, //0x000014d5 addq %r10, %rax + 0x4c, 0x8b, 0x55, 0xd0, //0x000014d8 movq $-48(%rbp), %r10 + 0x41, 0x0f, 0x92, 0xc7, //0x000014dc setb %r15b + 0x48, 0x01, 0xc0, //0x000014e0 addq %rax, %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000014e3 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xc8, //0x000014ed xorq %rcx, %rax + 0x4c, 0x21, 0xc8, //0x000014f0 andq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000014f3 notq %rax + 0x48, 0x21, 0xc2, //0x000014f6 andq %rax, %rdx + 0x48, 0x09, 0xfe, //0x000014f9 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x000014fc testq %rdx, %rdx + 0x0f, 0x84, 0x87, 0xff, 0xff, 0xff, //0x000014ff je LBB0_257 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00001505 jmp LBB0_266 + //0x0000150a LBB0_264 + 0x4c, 0x89, 0xe0, //0x0000150a movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x0000150d subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x00001511 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x00001515 addq %rax, %r11 + 0xe9, 0x50, 0xff, 0xff, 0xff, //0x00001518 jmp LBB0_255 + //0x0000151d LBB0_266 + 0x48, 0x0f, 0xbc, 0xca, //0x0000151d bsfq %rdx, %rcx + 0x48, 0x85, 0xf6, //0x00001521 testq %rsi, %rsi + 0x48, 0x8b, 0x45, 0xc0, //0x00001524 movq $-64(%rbp), %rax + 0x0f, 0x84, 0x20, 0x04, 0x00, 0x00, //0x00001528 je LBB0_320 + 0x48, 0x0f, 0xbc, 0xd6, //0x0000152e bsfq %rsi, %rdx + 0xe9, 0x1c, 0x04, 0x00, 0x00, //0x00001532 jmp LBB0_321 + //0x00001537 LBB0_268 + 0x4c, 0x89, 0xca, //0x00001537 movq %r9, %rdx + 0x48, 0xf7, 0xd2, //0x0000153a notq %rdx + 0x49, 0x01, 0xd5, //0x0000153d addq %rdx, %r13 + 0x49, 0x39, 0xcd, //0x00001540 cmpq %rcx, %r13 + 0x0f, 0x82, 0x3f, 0xef, 0xff, 0xff, //0x00001543 jb LBB0_36 + 0xe9, 0x28, 0x12, 0x00, 0x00, //0x00001549 jmp LBB0_474 + //0x0000154e LBB0_269 + 0x41, 0x8a, 0x49, 0x01, //0x0000154e movb $1(%r9), %cl + 0x80, 0xc1, 0xd2, //0x00001552 addb $-46, %cl + 0x80, 0xf9, 0x37, //0x00001555 cmpb $55, %cl + 0x4c, 0x8b, 0x65, 0xa8, //0x00001558 movq $-88(%rbp), %r12 + 0x0f, 0x87, 0x18, 0x06, 0x00, 0x00, //0x0000155c ja LBB0_343 + 0x0f, 0xb6, 0xc1, //0x00001562 movzbl %cl, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00001565 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x0000156f btq %rax, %rcx + 0x0f, 0x83, 0x01, 0x06, 0x00, 0x00, //0x00001573 jae LBB0_343 + //0x00001579 LBB0_271 + 0x49, 0x83, 0xfe, 0x20, //0x00001579 cmpq $32, %r14 + 0x0f, 0x82, 0x52, 0x09, 0x00, 0x00, //0x0000157d jb LBB0_362 + 0x49, 0x8d, 0x4e, 0xe0, //0x00001583 leaq $-32(%r14), %rcx + 0x48, 0x89, 0xc8, //0x00001587 movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xe0, //0x0000158a andq $-32, %rax + 0x4d, 0x89, 0xca, //0x0000158e movq %r9, %r10 + 0x4e, 0x8d, 0x7c, 0x08, 0x20, //0x00001591 leaq $32(%rax,%r9), %r15 + 0x83, 0xe1, 0x1f, //0x00001596 andl $31, %ecx + 0x48, 0x89, 0x4d, 0xc0, //0x00001599 movq %rcx, $-64(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000159d movq $-1, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000015a4 movq $-1, %r11 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000015ab movq $-1, %r12 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000015b2 .p2align 4, 0x90 + //0x000015c0 LBB0_273 + 0xc4, 0xc1, 0x7e, 0x6f, 0x02, //0x000015c0 vmovdqu (%r10), %ymm0 + 0xc4, 0xc1, 0x7d, 0x64, 0xca, //0x000015c5 vpcmpgtb %ymm10, %ymm0, %ymm1 + 0xc5, 0xa5, 0x64, 0xd0, //0x000015ca vpcmpgtb %ymm0, %ymm11, %ymm2 + 0xc5, 0xf5, 0xdb, 0xca, //0x000015ce vpand %ymm2, %ymm1, %ymm1 + 0xc5, 0x9d, 0x74, 0xd0, //0x000015d2 vpcmpeqb %ymm0, %ymm12, %ymm2 + 0xc5, 0x95, 0x74, 0xd8, //0x000015d6 vpcmpeqb %ymm0, %ymm13, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x000015da vpor %ymm2, %ymm3, %ymm2 + 0xc5, 0xbd, 0xeb, 0xd8, //0x000015de vpor %ymm0, %ymm8, %ymm3 + 0xc5, 0x8d, 0x74, 0xc0, //0x000015e2 vpcmpeqb %ymm0, %ymm14, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x000015e6 vpmovmskb %ymm0, %edi + 0xc5, 0x85, 0x74, 0xdb, //0x000015ea vpcmpeqb %ymm3, %ymm15, %ymm3 + 0xc5, 0xfd, 0xd7, 0xd3, //0x000015ee vpmovmskb %ymm3, %edx + 0xc5, 0xfd, 0xd7, 0xf2, //0x000015f2 vpmovmskb %ymm2, %esi + 0xc5, 0xe5, 0xeb, 0xc0, //0x000015f6 vpor %ymm0, %ymm3, %ymm0 + 0xc5, 0xed, 0xeb, 0xc9, //0x000015fa vpor %ymm1, %ymm2, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc1, //0x000015fe vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00001602 vpmovmskb %ymm0, %eax + 0x48, 0xf7, 0xd0, //0x00001606 notq %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x00001609 bsfq %rax, %rcx + 0x83, 0xf9, 0x20, //0x0000160d cmpl $32, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00001610 je LBB0_275 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00001616 movl $-1, %eax + 0xd3, 0xe0, //0x0000161b shll %cl, %eax + 0xf7, 0xd0, //0x0000161d notl %eax + 0x21, 0xc7, //0x0000161f andl %eax, %edi + 0x21, 0xc2, //0x00001621 andl %eax, %edx + 0x21, 0xf0, //0x00001623 andl %esi, %eax + 0x89, 0xc6, //0x00001625 movl %eax, %esi + //0x00001627 LBB0_275 + 0x8d, 0x5f, 0xff, //0x00001627 leal $-1(%rdi), %ebx + 0x21, 0xfb, //0x0000162a andl %edi, %ebx + 0x0f, 0x85, 0xb0, 0x06, 0x00, 0x00, //0x0000162c jne LBB0_349 + 0x8d, 0x5a, 0xff, //0x00001632 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x00001635 andl %edx, %ebx + 0x0f, 0x85, 0xa5, 0x06, 0x00, 0x00, //0x00001637 jne LBB0_349 + 0x8d, 0x5e, 0xff, //0x0000163d leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x00001640 andl %esi, %ebx + 0x0f, 0x85, 0x9a, 0x06, 0x00, 0x00, //0x00001642 jne LBB0_349 + 0x85, 0xff, //0x00001648 testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000164a je LBB0_281 + 0x4c, 0x89, 0xd0, //0x00001650 movq %r10, %rax + 0x4c, 0x29, 0xc8, //0x00001653 subq %r9, %rax + 0x0f, 0xbc, 0xff, //0x00001656 bsfl %edi, %edi + 0x48, 0x01, 0xc7, //0x00001659 addq %rax, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x0000165c cmpq $-1, %r12 + 0x0f, 0x85, 0xa7, 0x07, 0x00, 0x00, //0x00001660 jne LBB0_354 + 0x49, 0x89, 0xfc, //0x00001666 movq %rdi, %r12 + //0x00001669 LBB0_281 + 0x85, 0xd2, //0x00001669 testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000166b je LBB0_284 + 0x4c, 0x89, 0xd0, //0x00001671 movq %r10, %rax + 0x4c, 0x29, 0xc8, //0x00001674 subq %r9, %rax + 0x0f, 0xbc, 0xd2, //0x00001677 bsfl %edx, %edx + 0x48, 0x01, 0xc2, //0x0000167a addq %rax, %rdx + 0x49, 0x83, 0xfb, 0xff, //0x0000167d cmpq $-1, %r11 + 0x0f, 0x85, 0x80, 0x06, 0x00, 0x00, //0x00001681 jne LBB0_351 + 0x49, 0x89, 0xd3, //0x00001687 movq %rdx, %r11 + //0x0000168a LBB0_284 + 0x85, 0xf6, //0x0000168a testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000168c je LBB0_287 + 0x4c, 0x89, 0xd0, //0x00001692 movq %r10, %rax + 0x4c, 0x29, 0xc8, //0x00001695 subq %r9, %rax + 0x0f, 0xbc, 0xd6, //0x00001698 bsfl %esi, %edx + 0x48, 0x01, 0xc2, //0x0000169b addq %rax, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x0000169e cmpq $-1, %r8 + 0x0f, 0x85, 0x5f, 0x06, 0x00, 0x00, //0x000016a2 jne LBB0_351 + 0x49, 0x89, 0xd0, //0x000016a8 movq %rdx, %r8 + //0x000016ab LBB0_287 + 0x83, 0xf9, 0x20, //0x000016ab cmpl $32, %ecx + 0x0f, 0x85, 0x62, 0x02, 0x00, 0x00, //0x000016ae jne LBB0_496 + 0x49, 0x83, 0xc2, 0x20, //0x000016b4 addq $32, %r10 + 0x49, 0x83, 0xc6, 0xe0, //0x000016b8 addq $-32, %r14 + 0x49, 0x83, 0xfe, 0x1f, //0x000016bc cmpq $31, %r14 + 0x0f, 0x87, 0xfa, 0xfe, 0xff, 0xff, //0x000016c0 ja LBB0_273 + 0xc5, 0xf8, 0x77, //0x000016c6 vzeroupper + 0x4c, 0x8b, 0x75, 0xc0, //0x000016c9 movq $-64(%rbp), %r14 + //0x000016cd LBB0_290 + 0x49, 0x83, 0xfe, 0x10, //0x000016cd cmpq $16, %r14 + 0xc5, 0xfe, 0x6f, 0x2d, 0xa7, 0xe9, 0xff, 0xff, //0x000016d1 vmovdqu $-5721(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xbf, 0xe9, 0xff, 0xff, //0x000016d9 vmovdqu $-5697(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xd7, 0xe9, 0xff, 0xff, //0x000016e1 vmovdqu $-5673(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0xef, 0xe9, 0xff, 0xff, //0x000016e9 vmovdqu $-5649(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000016f1 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0x02, 0xea, 0xff, 0xff, //0x000016f6 vmovdqu $-5630(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x1a, 0xea, 0xff, 0xff, //0x000016fe vmovdqu $-5606(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x32, 0xea, 0xff, 0xff, //0x00001706 vmovdqu $-5582(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x4a, 0xea, 0xff, 0xff, //0x0000170e vmovdqu $-5558(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x62, 0xea, 0xff, 0xff, //0x00001716 vmovdqu $-5534(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x7a, 0xea, 0xff, 0xff, //0x0000171e vmovdqu $-5510(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + 0x0f, 0x82, 0x55, 0x01, 0x00, 0x00, //0x00001726 jb LBB0_309 + 0x4d, 0x8d, 0x56, 0xf0, //0x0000172c leaq $-16(%r14), %r10 + 0x4c, 0x89, 0xd0, //0x00001730 movq %r10, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00001733 andq $-16, %rax + 0x4a, 0x8d, 0x44, 0x38, 0x10, //0x00001737 leaq $16(%rax,%r15), %rax + 0x48, 0x89, 0x45, 0xc0, //0x0000173c movq %rax, $-64(%rbp) + 0x41, 0x83, 0xe2, 0x0f, //0x00001740 andl $15, %r10d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001744 .p2align 4, 0x90 + //0x00001750 LBB0_292 + 0xc4, 0xc1, 0x7a, 0x6f, 0x07, //0x00001750 vmovdqu (%r15), %xmm0 + 0xc5, 0xf9, 0x64, 0x0d, 0xb3, 0xe8, 0xff, 0xff, //0x00001755 vpcmpgtb $-5965(%rip), %xmm0, %xmm1 /* LCPI0_11+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0xbb, 0xe8, 0xff, 0xff, //0x0000175d vmovdqu $-5957(%rip), %xmm2 /* LCPI0_12+0(%rip) */ + 0xc5, 0xe9, 0x64, 0xd0, //0x00001765 vpcmpgtb %xmm0, %xmm2, %xmm2 + 0xc5, 0xf1, 0xdb, 0xca, //0x00001769 vpand %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x74, 0x15, 0xbb, 0xe8, 0xff, 0xff, //0x0000176d vpcmpeqb $-5957(%rip), %xmm0, %xmm2 /* LCPI0_13+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x1d, 0xc3, 0xe8, 0xff, 0xff, //0x00001775 vpcmpeqb $-5949(%rip), %xmm0, %xmm3 /* LCPI0_14+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xd2, //0x0000177d vpor %xmm2, %xmm3, %xmm2 + 0xc5, 0xf9, 0xeb, 0x1d, 0xc7, 0xe8, 0xff, 0xff, //0x00001781 vpor $-5945(%rip), %xmm0, %xmm3 /* LCPI0_15+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x05, 0xcf, 0xe8, 0xff, 0xff, //0x00001789 vpcmpeqb $-5937(%rip), %xmm0, %xmm0 /* LCPI0_16+0(%rip) */ + 0xc5, 0xe1, 0x74, 0x1d, 0xd7, 0xe8, 0xff, 0xff, //0x00001791 vpcmpeqb $-5929(%rip), %xmm3, %xmm3 /* LCPI0_17+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xe0, //0x00001799 vpor %xmm0, %xmm3, %xmm4 + 0xc5, 0xe9, 0xeb, 0xc9, //0x0000179d vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xd9, 0xeb, 0xc9, //0x000017a1 vpor %xmm1, %xmm4, %xmm1 + 0xc5, 0xf9, 0xd7, 0xf8, //0x000017a5 vpmovmskb %xmm0, %edi + 0xc5, 0xf9, 0xd7, 0xf3, //0x000017a9 vpmovmskb %xmm3, %esi + 0xc5, 0xf9, 0xd7, 0xd2, //0x000017ad vpmovmskb %xmm2, %edx + 0xc5, 0xf9, 0xd7, 0xc1, //0x000017b1 vpmovmskb %xmm1, %eax + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x000017b5 movl $4294967295, %ecx + 0x48, 0x31, 0xc8, //0x000017ba xorq %rcx, %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x000017bd bsfq %rax, %rcx + 0x83, 0xf9, 0x10, //0x000017c1 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000017c4 je LBB0_294 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000017ca movl $-1, %eax + 0xd3, 0xe0, //0x000017cf shll %cl, %eax + 0xf7, 0xd0, //0x000017d1 notl %eax + 0x21, 0xc7, //0x000017d3 andl %eax, %edi + 0x21, 0xc6, //0x000017d5 andl %eax, %esi + 0x21, 0xd0, //0x000017d7 andl %edx, %eax + 0x89, 0xc2, //0x000017d9 movl %eax, %edx + //0x000017db LBB0_294 + 0x8d, 0x5f, 0xff, //0x000017db leal $-1(%rdi), %ebx + 0x21, 0xfb, //0x000017de andl %edi, %ebx + 0x0f, 0x85, 0x0f, 0x06, 0x00, 0x00, //0x000017e0 jne LBB0_353 + 0x8d, 0x5e, 0xff, //0x000017e6 leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x000017e9 andl %esi, %ebx + 0x0f, 0x85, 0x04, 0x06, 0x00, 0x00, //0x000017eb jne LBB0_353 + 0x8d, 0x5a, 0xff, //0x000017f1 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x000017f4 andl %edx, %ebx + 0x0f, 0x85, 0xf9, 0x05, 0x00, 0x00, //0x000017f6 jne LBB0_353 + 0x85, 0xff, //0x000017fc testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000017fe je LBB0_300 + 0x4c, 0x89, 0xf8, //0x00001804 movq %r15, %rax + 0x4c, 0x29, 0xc8, //0x00001807 subq %r9, %rax + 0x0f, 0xbc, 0xff, //0x0000180a bsfl %edi, %edi + 0x48, 0x01, 0xc7, //0x0000180d addq %rax, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x00001810 cmpq $-1, %r12 + 0x0f, 0x85, 0xf3, 0x05, 0x00, 0x00, //0x00001814 jne LBB0_354 + 0x49, 0x89, 0xfc, //0x0000181a movq %rdi, %r12 + //0x0000181d LBB0_300 + 0x85, 0xf6, //0x0000181d testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000181f je LBB0_303 + 0x4c, 0x89, 0xf8, //0x00001825 movq %r15, %rax + 0x4c, 0x29, 0xc8, //0x00001828 subq %r9, %rax + 0x0f, 0xbc, 0xf6, //0x0000182b bsfl %esi, %esi + 0x48, 0x01, 0xc6, //0x0000182e addq %rax, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x00001831 cmpq $-1, %r11 + 0x0f, 0x85, 0x4e, 0x06, 0x00, 0x00, //0x00001835 jne LBB0_359 + 0x49, 0x89, 0xf3, //0x0000183b movq %rsi, %r11 + //0x0000183e LBB0_303 + 0x85, 0xd2, //0x0000183e testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00001840 je LBB0_306 + 0x4c, 0x89, 0xf8, //0x00001846 movq %r15, %rax + 0x4c, 0x29, 0xc8, //0x00001849 subq %r9, %rax + 0x0f, 0xbc, 0xd2, //0x0000184c bsfl %edx, %edx + 0x48, 0x01, 0xc2, //0x0000184f addq %rax, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001852 cmpq $-1, %r8 + 0x0f, 0x85, 0xab, 0x04, 0x00, 0x00, //0x00001856 jne LBB0_351 + 0x49, 0x89, 0xd0, //0x0000185c movq %rdx, %r8 + //0x0000185f LBB0_306 + 0x83, 0xf9, 0x10, //0x0000185f cmpl $16, %ecx + 0x0f, 0x85, 0x05, 0x01, 0x00, 0x00, //0x00001862 jne LBB0_325 + 0x49, 0x83, 0xc7, 0x10, //0x00001868 addq $16, %r15 + 0x49, 0x83, 0xc6, 0xf0, //0x0000186c addq $-16, %r14 + 0x49, 0x83, 0xfe, 0x0f, //0x00001870 cmpq $15, %r14 + 0x0f, 0x87, 0xd6, 0xfe, 0xff, 0xff, //0x00001874 ja LBB0_292 + 0x4d, 0x89, 0xd6, //0x0000187a movq %r10, %r14 + 0x4c, 0x8b, 0x7d, 0xc0, //0x0000187d movq $-64(%rbp), %r15 + //0x00001881 LBB0_309 + 0x4d, 0x85, 0xf6, //0x00001881 testq %r14, %r14 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001884 movq $-48(%rbp), %r10 + 0x0f, 0x84, 0xe6, 0x00, 0x00, 0x00, //0x00001888 je LBB0_326 + 0x4b, 0x8d, 0x0c, 0x37, //0x0000188e leaq (%r15,%r14), %rcx + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00001892 jmp LBB0_314 + //0x00001897 LBB0_311 + 0x49, 0x89, 0xd7, //0x00001897 movq %rdx, %r15 + 0x4d, 0x29, 0xcf, //0x0000189a subq %r9, %r15 + 0x49, 0x83, 0xf8, 0xff, //0x0000189d cmpq $-1, %r8 + 0x0f, 0x85, 0x26, 0x06, 0x00, 0x00, //0x000018a1 jne LBB0_365 + 0x49, 0xff, 0xcf, //0x000018a7 decq %r15 + 0x4d, 0x89, 0xf8, //0x000018aa movq %r15, %r8 + 0x90, 0x90, 0x90, //0x000018ad .p2align 4, 0x90 + //0x000018b0 LBB0_313 + 0x49, 0x89, 0xd7, //0x000018b0 movq %rdx, %r15 + 0x49, 0xff, 0xce, //0x000018b3 decq %r14 + 0x0f, 0x84, 0xbc, 0x05, 0x00, 0x00, //0x000018b6 je LBB0_358 + //0x000018bc LBB0_314 + 0x41, 0x0f, 0xbe, 0x37, //0x000018bc movsbl (%r15), %esi + 0x83, 0xc6, 0xd5, //0x000018c0 addl $-43, %esi + 0x83, 0xfe, 0x3a, //0x000018c3 cmpl $58, %esi + 0x0f, 0x87, 0xa8, 0x00, 0x00, 0x00, //0x000018c6 ja LBB0_326 + 0x49, 0x8d, 0x57, 0x01, //0x000018cc leaq $1(%r15), %rdx + 0x48, 0x8d, 0x3d, 0x49, 0x13, 0x00, 0x00, //0x000018d0 leaq $4937(%rip), %rdi /* LJTI0_2+0(%rip) */ + 0x48, 0x63, 0x04, 0xb7, //0x000018d7 movslq (%rdi,%rsi,4), %rax + 0x48, 0x01, 0xf8, //0x000018db addq %rdi, %rax + 0xff, 0xe0, //0x000018de jmpq *%rax + //0x000018e0 LBB0_316 + 0x49, 0x89, 0xd7, //0x000018e0 movq %rdx, %r15 + 0x4d, 0x29, 0xcf, //0x000018e3 subq %r9, %r15 + 0x49, 0x83, 0xfb, 0xff, //0x000018e6 cmpq $-1, %r11 + 0x0f, 0x85, 0xdd, 0x05, 0x00, 0x00, //0x000018ea jne LBB0_365 + 0x49, 0xff, 0xcf, //0x000018f0 decq %r15 + 0x4d, 0x89, 0xfb, //0x000018f3 movq %r15, %r11 + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x000018f6 jmp LBB0_313 + //0x000018fb LBB0_318 + 0x49, 0x89, 0xd7, //0x000018fb movq %rdx, %r15 + 0x4d, 0x29, 0xcf, //0x000018fe subq %r9, %r15 + 0x49, 0x83, 0xfc, 0xff, //0x00001901 cmpq $-1, %r12 + 0x0f, 0x85, 0xc2, 0x05, 0x00, 0x00, //0x00001905 jne LBB0_365 + 0x49, 0xff, 0xcf, //0x0000190b decq %r15 + 0x4d, 0x89, 0xfc, //0x0000190e movq %r15, %r12 + 0xe9, 0x9a, 0xff, 0xff, 0xff, //0x00001911 jmp LBB0_313 + //0x00001916 LBB0_496 + 0x49, 0x01, 0xca, //0x00001916 addq %rcx, %r10 + 0xc5, 0xf8, 0x77, //0x00001919 vzeroupper + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000191c vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0xfe, 0x6f, 0x3d, 0x97, 0xe7, 0xff, 0xff, //0x00001921 vmovdqu $-6249(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x6f, 0xe7, 0xff, 0xff, //0x00001929 vmovdqu $-6289(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x47, 0xe7, 0xff, 0xff, //0x00001931 vmovdqu $-6329(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0x4d, 0x89, 0xd7, //0x00001939 movq %r10, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x0000193c movq $-48(%rbp), %r10 + 0x4d, 0x85, 0xdb, //0x00001940 testq %r11, %r11 + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x00001943 jne LBB0_327 + 0xe9, 0x10, 0x10, 0x00, 0x00, //0x00001949 jmp LBB0_497 + //0x0000194e LBB0_320 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x0000194e movl $64, %edx + //0x00001953 LBB0_321 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001953 movq $-56(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00001957 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x0000195a cmpq %rcx, %rdx + 0x0f, 0x82, 0x4d, 0x10, 0x00, 0x00, //0x0000195d jb LBB0_129 + //0x00001963 LBB0_322 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x00001963 leaq $1(%r12,%rcx), %r12 + 0xe9, 0xfd, 0x03, 0x00, 0x00, //0x00001968 jmp LBB0_323 + //0x0000196d LBB0_325 + 0x49, 0x01, 0xcf, //0x0000196d addq %rcx, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001970 movq $-48(%rbp), %r10 + //0x00001974 LBB0_326 + 0x4d, 0x85, 0xdb, //0x00001974 testq %r11, %r11 + 0x0f, 0x84, 0xe1, 0x0f, 0x00, 0x00, //0x00001977 je LBB0_497 + //0x0000197d LBB0_327 + 0x4d, 0x85, 0xc0, //0x0000197d testq %r8, %r8 + 0x0f, 0x84, 0xd8, 0x0f, 0x00, 0x00, //0x00001980 je LBB0_497 + 0x4d, 0x85, 0xe4, //0x00001986 testq %r12, %r12 + 0x0f, 0x84, 0xcf, 0x0f, 0x00, 0x00, //0x00001989 je LBB0_497 + 0x4d, 0x29, 0xcf, //0x0000198f subq %r9, %r15 + 0x49, 0x8d, 0x4f, 0xff, //0x00001992 leaq $-1(%r15), %rcx + 0x49, 0x39, 0xcb, //0x00001996 cmpq %rcx, %r11 + 0x0f, 0x84, 0x6b, 0x00, 0x00, 0x00, //0x00001999 je LBB0_335 + 0x49, 0x39, 0xcc, //0x0000199f cmpq %rcx, %r12 + 0x0f, 0x84, 0x62, 0x00, 0x00, 0x00, //0x000019a2 je LBB0_335 + 0x49, 0x39, 0xc8, //0x000019a8 cmpq %rcx, %r8 + 0x0f, 0x84, 0x59, 0x00, 0x00, 0x00, //0x000019ab je LBB0_335 + 0x4d, 0x85, 0xc0, //0x000019b1 testq %r8, %r8 + 0xc5, 0x7e, 0x6f, 0x05, 0x24, 0xe7, 0xff, 0xff, //0x000019b4 vmovdqu $-6364(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x3c, 0xe7, 0xff, 0xff, //0x000019bc vmovdqu $-6340(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x54, 0xe7, 0xff, 0xff, //0x000019c4 vmovdqu $-6316(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x6c, 0xe7, 0xff, 0xff, //0x000019cc vmovdqu $-6292(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x84, 0xe7, 0xff, 0xff, //0x000019d4 vmovdqu $-6268(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x9c, 0xe7, 0xff, 0xff, //0x000019dc vmovdqu $-6244(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0xb4, 0xe7, 0xff, 0xff, //0x000019e4 vmovdqu $-6220(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + 0x0f, 0x8e, 0x58, 0x00, 0x00, 0x00, //0x000019ec jle LBB0_336 + 0x49, 0x8d, 0x40, 0xff, //0x000019f2 leaq $-1(%r8), %rax + 0x49, 0x39, 0xc3, //0x000019f6 cmpq %rax, %r11 + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x000019f9 je LBB0_336 + 0x49, 0xf7, 0xd0, //0x000019ff notq %r8 + 0x4d, 0x89, 0xc7, //0x00001a02 movq %r8, %r15 + 0xe9, 0x64, 0x01, 0x00, 0x00, //0x00001a05 jmp LBB0_342 + //0x00001a0a LBB0_335 + 0x49, 0xf7, 0xdf, //0x00001a0a negq %r15 + 0xc5, 0x7e, 0x6f, 0x05, 0xcb, 0xe6, 0xff, 0xff, //0x00001a0d vmovdqu $-6453(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0xe3, 0xe6, 0xff, 0xff, //0x00001a15 vmovdqu $-6429(%rip), %ymm10 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xfb, 0xe6, 0xff, 0xff, //0x00001a1d vmovdqu $-6405(%rip), %ymm11 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x13, 0xe7, 0xff, 0xff, //0x00001a25 vmovdqu $-6381(%rip), %ymm12 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x2b, 0xe7, 0xff, 0xff, //0x00001a2d vmovdqu $-6357(%rip), %ymm13 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x43, 0xe7, 0xff, 0xff, //0x00001a35 vmovdqu $-6333(%rip), %ymm14 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x5b, 0xe7, 0xff, 0xff, //0x00001a3d vmovdqu $-6309(%rip), %ymm15 /* LCPI0_10+0(%rip) */ + 0xe9, 0x24, 0x01, 0x00, 0x00, //0x00001a45 jmp LBB0_342 + //0x00001a4a LBB0_336 + 0x4c, 0x89, 0xe1, //0x00001a4a movq %r12, %rcx + 0x4c, 0x09, 0xd9, //0x00001a4d orq %r11, %rcx + 0x4d, 0x39, 0xdc, //0x00001a50 cmpq %r11, %r12 + 0x0f, 0x8c, 0x00, 0x01, 0x00, 0x00, //0x00001a53 jl LBB0_341 + 0x48, 0x85, 0xc9, //0x00001a59 testq %rcx, %rcx + 0x0f, 0x88, 0xf7, 0x00, 0x00, 0x00, //0x00001a5c js LBB0_341 + 0x49, 0xf7, 0xd4, //0x00001a62 notq %r12 + 0x4d, 0x89, 0xe7, //0x00001a65 movq %r12, %r15 + 0xe9, 0x01, 0x01, 0x00, 0x00, //0x00001a68 jmp LBB0_342 + //0x00001a6d LBB0_339 + 0x4d, 0x29, 0xfb, //0x00001a6d subq %r15, %r11 + 0x44, 0x0f, 0xbc, 0xf3, //0x00001a70 bsfl %ebx, %r14d + 0xe9, 0x3d, 0x01, 0x00, 0x00, //0x00001a74 jmp LBB0_346 + //0x00001a79 LBB0_54 + 0x4c, 0x89, 0xf9, //0x00001a79 movq %r15, %rcx + 0x4c, 0x89, 0xcb, //0x00001a7c movq %r9, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00001a7f cmpq $32, %rcx + 0x0f, 0x82, 0x0e, 0x05, 0x00, 0x00, //0x00001a83 jb LBB0_370 + //0x00001a89 LBB0_55 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001a89 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001a8d vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x00001a91 vpmovmskb %ymm1, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001a95 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00001a99 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00001a9d testl %esi, %esi + 0x0f, 0x85, 0x89, 0x04, 0x00, 0x00, //0x00001a9f jne LBB0_366 + 0x4d, 0x85, 0xf6, //0x00001aa5 testq %r14, %r14 + 0x0f, 0x85, 0x97, 0x04, 0x00, 0x00, //0x00001aa8 jne LBB0_368 + 0x45, 0x31, 0xf6, //0x00001aae xorl %r14d, %r14d + 0x48, 0x85, 0xd2, //0x00001ab1 testq %rdx, %rdx + 0x0f, 0x84, 0xd5, 0x04, 0x00, 0x00, //0x00001ab4 je LBB0_369 + //0x00001aba LBB0_60 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001aba bsfq %rdx, %rax + 0x4c, 0x29, 0xdb, //0x00001abe subq %r11, %rbx + 0x4c, 0x8d, 0x64, 0x03, 0x01, //0x00001ac1 leaq $1(%rbx,%rax), %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001ac6 movq $-56(%rbp), %r14 + //0x00001aca LBB0_184 + 0x4d, 0x85, 0xe4, //0x00001aca testq %r12, %r12 + 0x0f, 0x88, 0xbb, 0x0c, 0x00, 0x00, //0x00001acd js LBB0_475 + 0x4d, 0x89, 0x22, //0x00001ad3 movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001ad6 movq %r13, %rcx + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00001ad9 cmpq $0, $-88(%rbp) + 0x0f, 0x8f, 0x9c, 0xe7, 0xff, 0xff, //0x00001ade jg LBB0_3 + 0xe9, 0x00, 0x0d, 0x00, 0x00, //0x00001ae4 jmp LBB0_501 + //0x00001ae9 LBB0_84 + 0x4d, 0x89, 0xf2, //0x00001ae9 movq %r14, %r10 + 0x49, 0x89, 0xc4, //0x00001aec movq %rax, %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001aef movq $-56(%rbp), %r14 + 0x49, 0x83, 0xfa, 0x20, //0x00001af3 cmpq $32, %r10 + 0x0f, 0x82, 0xd2, 0x05, 0x00, 0x00, //0x00001af7 jb LBB0_388 + //0x00001afd LBB0_85 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001afd vmovdqu (%r12), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001b03 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf1, //0x00001b07 vpmovmskb %ymm1, %esi + 0xc5, 0xfd, 0x74, 0xcf, //0x00001b0b vpcmpeqb %ymm7, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc9, //0x00001b0f vpmovmskb %ymm1, %ecx + 0xc5, 0xbd, 0x64, 0xc8, //0x00001b13 vpcmpgtb %ymm0, %ymm8, %ymm1 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001b17 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00001b1c vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xc8, //0x00001b20 vpmovmskb %ymm0, %r9d + 0x85, 0xc9, //0x00001b24 testl %ecx, %ecx + 0x0f, 0x85, 0xfa, 0x04, 0x00, 0x00, //0x00001b26 jne LBB0_379 + 0x4d, 0x85, 0xff, //0x00001b2c testq %r15, %r15 + 0x0f, 0x85, 0x09, 0x05, 0x00, 0x00, //0x00001b2f jne LBB0_381 + 0x45, 0x31, 0xff, //0x00001b35 xorl %r15d, %r15d + 0x48, 0x85, 0xf6, //0x00001b38 testq %rsi, %rsi + 0x0f, 0x84, 0x44, 0x05, 0x00, 0x00, //0x00001b3b je LBB0_382 + //0x00001b41 LBB0_88 + 0x48, 0x0f, 0xbc, 0xce, //0x00001b41 bsfq %rsi, %rcx + 0xe9, 0x40, 0x05, 0x00, 0x00, //0x00001b45 jmp LBB0_383 + //0x00001b4a LBB0_340 + 0x48, 0xf7, 0xd2, //0x00001b4a notq %rdx + 0x49, 0x89, 0xd6, //0x00001b4d movq %rdx, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001b50 movq $-48(%rbp), %rdx + 0xe9, 0x7a, 0xf5, 0xff, 0xff, //0x00001b54 jmp LBB0_197 + //0x00001b59 LBB0_341 + 0x48, 0x85, 0xc9, //0x00001b59 testq %rcx, %rcx + 0x49, 0x8d, 0x43, 0xff, //0x00001b5c leaq $-1(%r11), %rax + 0x49, 0xf7, 0xd3, //0x00001b60 notq %r11 + 0x4d, 0x0f, 0x48, 0xdf, //0x00001b63 cmovsq %r15, %r11 + 0x49, 0x39, 0xc4, //0x00001b67 cmpq %rax, %r12 + 0x4d, 0x0f, 0x44, 0xfb, //0x00001b6a cmoveq %r11, %r15 + //0x00001b6e LBB0_342 + 0x4d, 0x8b, 0x22, //0x00001b6e movq (%r10), %r12 + 0x4d, 0x85, 0xff, //0x00001b71 testq %r15, %r15 + 0x0f, 0x88, 0xee, 0x0d, 0x00, 0x00, //0x00001b74 js LBB0_499 + //0x00001b7a LBB0_343 + 0x4d, 0x01, 0xfc, //0x00001b7a addq %r15, %r12 + 0x4d, 0x89, 0x22, //0x00001b7d movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001b80 movq %r13, %rcx + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00001b83 cmpq $0, $-88(%rbp) + 0x4c, 0x8b, 0x75, 0xc8, //0x00001b88 movq $-56(%rbp), %r14 + 0x0f, 0x8f, 0xee, 0xe6, 0xff, 0xff, //0x00001b8c jg LBB0_3 + 0xe9, 0x52, 0x0c, 0x00, 0x00, //0x00001b92 jmp LBB0_501 + //0x00001b97 LBB0_344 + 0x4d, 0x29, 0xfe, //0x00001b97 subq %r15, %r14 + 0x0f, 0xbc, 0xc3, //0x00001b9a bsfl %ebx, %eax + 0x4c, 0x01, 0xf0, //0x00001b9d addq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00001ba0 notq %rax + 0x49, 0x89, 0xc6, //0x00001ba3 movq %rax, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001ba6 movq $-48(%rbp), %rdx + 0xe9, 0x24, 0xf5, 0xff, 0xff, //0x00001baa jmp LBB0_197 + //0x00001baf LBB0_345 + 0x4d, 0x29, 0xfb, //0x00001baf subq %r15, %r11 + 0x45, 0x0f, 0xbc, 0xf1, //0x00001bb2 bsfl %r9d, %r14d + //0x00001bb6 LBB0_346 + 0x4d, 0x01, 0xde, //0x00001bb6 addq %r11, %r14 + 0x49, 0xf7, 0xd6, //0x00001bb9 notq %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001bbc movq $-48(%rbp), %rdx + 0xe9, 0x0e, 0xf5, 0xff, 0xff, //0x00001bc0 jmp LBB0_197 + //0x00001bc5 LBB0_347 + 0x48, 0xf7, 0xd7, //0x00001bc5 notq %rdi + 0x49, 0x89, 0xfe, //0x00001bc8 movq %rdi, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001bcb movq $-48(%rbp), %rdx + 0xe9, 0xff, 0xf4, 0xff, 0xff, //0x00001bcf jmp LBB0_197 + //0x00001bd4 LBB0_101 + 0x4c, 0x89, 0xf9, //0x00001bd4 movq %r15, %rcx + 0x4c, 0x89, 0xc3, //0x00001bd7 movq %r8, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00001bda cmpq $32, %rcx + 0x0f, 0x82, 0x02, 0x06, 0x00, 0x00, //0x00001bde jb LBB0_402 + //0x00001be4 LBB0_102 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001be4 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001be8 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x00001bec vpmovmskb %ymm1, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001bf0 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00001bf4 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00001bf8 testl %esi, %esi + 0x0f, 0x85, 0x6f, 0x05, 0x00, 0x00, //0x00001bfa jne LBB0_397 + 0x4d, 0x85, 0xf6, //0x00001c00 testq %r14, %r14 + 0x0f, 0x85, 0x85, 0x05, 0x00, 0x00, //0x00001c03 jne LBB0_399 + 0x45, 0x31, 0xf6, //0x00001c09 xorl %r14d, %r14d + 0x48, 0x85, 0xd2, //0x00001c0c testq %rdx, %rdx + 0x0f, 0x84, 0xc9, 0x05, 0x00, 0x00, //0x00001c0f je LBB0_401 + //0x00001c15 LBB0_107 + 0x4d, 0x89, 0xe0, //0x00001c15 movq %r12, %r8 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001c18 bsfq %rdx, %rax + 0x4c, 0x29, 0xcb, //0x00001c1c subq %r9, %rbx + 0x4c, 0x8d, 0x64, 0x03, 0x01, //0x00001c1f leaq $1(%rbx,%rax), %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001c24 movq $-56(%rbp), %r14 + //0x00001c28 LBB0_205 + 0x4d, 0x85, 0xe4, //0x00001c28 testq %r12, %r12 + 0x0f, 0x88, 0x87, 0x0b, 0x00, 0x00, //0x00001c2b js LBB0_478 + 0x4d, 0x89, 0x22, //0x00001c31 movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001c34 movq %r13, %rcx + 0x4d, 0x85, 0xc0, //0x00001c37 testq %r8, %r8 + 0x0f, 0x8e, 0xa9, 0x0b, 0x00, 0x00, //0x00001c3a jle LBB0_501 + 0x49, 0x8b, 0x06, //0x00001c40 movq (%r14), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00001c43 cmpq $4095, %rax + 0x0f, 0x8f, 0x33, 0x0b, 0x00, 0x00, //0x00001c49 jg LBB0_489 + 0x48, 0x8d, 0x48, 0x01, //0x00001c4f leaq $1(%rax), %rcx + 0x49, 0x89, 0x0e, //0x00001c53 movq %rcx, (%r14) + 0x49, 0xc7, 0x44, 0xc6, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00001c56 movq $4, $8(%r14,%rax,8) + 0xe9, 0x1c, 0xe6, 0xff, 0xff, //0x00001c5f jmp LBB0_3 + //0x00001c64 LBB0_120 + 0x4c, 0x89, 0xf3, //0x00001c64 movq %r14, %rbx + 0x4c, 0x8b, 0x65, 0xa0, //0x00001c67 movq $-96(%rbp), %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001c6b movq $-56(%rbp), %r14 + 0x48, 0x83, 0xfb, 0x20, //0x00001c6f cmpq $32, %rbx + 0x0f, 0x82, 0xa3, 0x06, 0x00, 0x00, //0x00001c73 jb LBB0_420 + //0x00001c79 LBB0_121 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001c79 vmovdqu (%r12), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001c7f vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf1, //0x00001c83 vpmovmskb %ymm1, %esi + 0xc5, 0xfd, 0x74, 0xcf, //0x00001c87 vpcmpeqb %ymm7, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc9, //0x00001c8b vpmovmskb %ymm1, %ecx + 0xc5, 0xbd, 0x64, 0xc8, //0x00001c8f vpcmpgtb %ymm0, %ymm8, %ymm1 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001c93 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00001c98 vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xc8, //0x00001c9c vpmovmskb %ymm0, %r9d + 0x85, 0xc9, //0x00001ca0 testl %ecx, %ecx + 0x0f, 0x85, 0xd0, 0x05, 0x00, 0x00, //0x00001ca2 jne LBB0_411 + 0x4d, 0x85, 0xff, //0x00001ca8 testq %r15, %r15 + 0x0f, 0x85, 0xdf, 0x05, 0x00, 0x00, //0x00001cab jne LBB0_413 + 0x45, 0x31, 0xff, //0x00001cb1 xorl %r15d, %r15d + 0x48, 0x85, 0xf6, //0x00001cb4 testq %rsi, %rsi + 0x0f, 0x84, 0x1e, 0x06, 0x00, 0x00, //0x00001cb7 je LBB0_414 + //0x00001cbd LBB0_124 + 0x48, 0x0f, 0xbc, 0xce, //0x00001cbd bsfq %rsi, %rcx + 0xe9, 0x1a, 0x06, 0x00, 0x00, //0x00001cc1 jmp LBB0_415 + //0x00001cc6 LBB0_348 + 0x49, 0x89, 0xce, //0x00001cc6 movq %rcx, %r14 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001cc9 movq $-1, %rcx + 0x4d, 0x85, 0xe4, //0x00001cd0 testq %r12, %r12 + 0x48, 0x8b, 0x55, 0xd0, //0x00001cd3 movq $-48(%rbp), %rdx + 0x0f, 0x85, 0xf4, 0xf2, 0xff, 0xff, //0x00001cd7 jne LBB0_188 + 0xe9, 0xf3, 0x0a, 0x00, 0x00, //0x00001cdd jmp LBB0_481 + //0x00001ce2 LBB0_349 + 0x4d, 0x29, 0xca, //0x00001ce2 subq %r9, %r10 + 0x44, 0x0f, 0xbc, 0xfb, //0x00001ce5 bsfl %ebx, %r15d + 0x4d, 0x01, 0xd7, //0x00001ce9 addq %r10, %r15 + 0x49, 0xf7, 0xd7, //0x00001cec notq %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001cef movq $-48(%rbp), %r10 + 0xe9, 0x76, 0xfe, 0xff, 0xff, //0x00001cf3 jmp LBB0_342 + //0x00001cf8 LBB0_350 + 0x48, 0xf7, 0xd6, //0x00001cf8 notq %rsi + 0x49, 0x89, 0xf6, //0x00001cfb movq %rsi, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001cfe movq $-48(%rbp), %rdx + 0xe9, 0xcc, 0xf3, 0xff, 0xff, //0x00001d02 jmp LBB0_197 + //0x00001d07 LBB0_351 + 0x48, 0xf7, 0xd2, //0x00001d07 notq %rdx + 0x49, 0x89, 0xd7, //0x00001d0a movq %rdx, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001d0d movq $-48(%rbp), %r10 + 0xe9, 0x58, 0xfe, 0xff, 0xff, //0x00001d11 jmp LBB0_342 + //0x00001d16 LBB0_220 + 0x4c, 0x89, 0xf9, //0x00001d16 movq %r15, %rcx + 0x4c, 0x89, 0xc3, //0x00001d19 movq %r8, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00001d1c cmpq $32, %rcx + 0x0f, 0x82, 0xfd, 0x07, 0x00, 0x00, //0x00001d20 jb LBB0_443 + //0x00001d26 LBB0_221 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001d26 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001d2a vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x00001d2e vpmovmskb %ymm1, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001d32 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00001d36 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00001d3a testl %esi, %esi + 0x0f, 0x85, 0x6a, 0x07, 0x00, 0x00, //0x00001d3c jne LBB0_438 + 0x4d, 0x85, 0xf6, //0x00001d42 testq %r14, %r14 + 0x0f, 0x85, 0x80, 0x07, 0x00, 0x00, //0x00001d45 jne LBB0_440 + 0x45, 0x31, 0xf6, //0x00001d4b xorl %r14d, %r14d + 0x48, 0x85, 0xd2, //0x00001d4e testq %rdx, %rdx + 0x0f, 0x84, 0xc4, 0x07, 0x00, 0x00, //0x00001d51 je LBB0_442 + //0x00001d57 LBB0_226 + 0x4d, 0x89, 0xe0, //0x00001d57 movq %r12, %r8 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001d5a bsfq %rdx, %rax + 0x4c, 0x29, 0xcb, //0x00001d5e subq %r9, %rbx + 0x4c, 0x8d, 0x64, 0x03, 0x01, //0x00001d61 leaq $1(%rbx,%rax), %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001d66 movq $-56(%rbp), %r14 + //0x00001d6a LBB0_323 + 0x4d, 0x85, 0xe4, //0x00001d6a testq %r12, %r12 + 0x0f, 0x88, 0x45, 0x0a, 0x00, 0x00, //0x00001d6d js LBB0_478 + 0x4d, 0x89, 0x22, //0x00001d73 movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001d76 movq %r13, %rcx + 0x4d, 0x85, 0xc0, //0x00001d79 testq %r8, %r8 + 0x0f, 0x8f, 0xfe, 0xe4, 0xff, 0xff, //0x00001d7c jg LBB0_3 + 0xe9, 0x62, 0x0a, 0x00, 0x00, //0x00001d82 jmp LBB0_501 + //0x00001d87 LBB0_352 + 0x49, 0xf7, 0xde, //0x00001d87 negq %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001d8a movq $-48(%rbp), %rdx + 0xe9, 0x40, 0xf3, 0xff, 0xff, //0x00001d8e jmp LBB0_197 + //0x00001d93 LBB0_259 + 0x4c, 0x89, 0xf3, //0x00001d93 movq %r14, %rbx + 0x4c, 0x8b, 0x65, 0xa0, //0x00001d96 movq $-96(%rbp), %r12 + 0x48, 0x83, 0xfb, 0x20, //0x00001d9a cmpq $32, %rbx + 0x4c, 0x8b, 0x75, 0xc8, //0x00001d9e movq $-56(%rbp), %r14 + 0x0f, 0x82, 0xb1, 0x08, 0x00, 0x00, //0x00001da2 jb LBB0_460 + //0x00001da8 LBB0_260 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001da8 vmovdqu (%r12), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001dae vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf1, //0x00001db2 vpmovmskb %ymm1, %esi + 0xc5, 0xfd, 0x74, 0xcf, //0x00001db6 vpcmpeqb %ymm7, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc9, //0x00001dba vpmovmskb %ymm1, %ecx + 0xc5, 0xbd, 0x64, 0xc8, //0x00001dbe vpcmpgtb %ymm0, %ymm8, %ymm1 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001dc2 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00001dc7 vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xc8, //0x00001dcb vpmovmskb %ymm0, %r9d + 0x85, 0xc9, //0x00001dcf testl %ecx, %ecx + 0x0f, 0x85, 0xde, 0x07, 0x00, 0x00, //0x00001dd1 jne LBB0_452 + 0x4d, 0x85, 0xff, //0x00001dd7 testq %r15, %r15 + 0x0f, 0x85, 0xed, 0x07, 0x00, 0x00, //0x00001dda jne LBB0_454 + 0x45, 0x31, 0xff, //0x00001de0 xorl %r15d, %r15d + 0x48, 0x85, 0xf6, //0x00001de3 testq %rsi, %rsi + 0x0f, 0x84, 0x2c, 0x08, 0x00, 0x00, //0x00001de6 je LBB0_455 + //0x00001dec LBB0_263 + 0x48, 0x0f, 0xbc, 0xce, //0x00001dec bsfq %rsi, %rcx + 0xe9, 0x28, 0x08, 0x00, 0x00, //0x00001df0 jmp LBB0_456 + //0x00001df5 LBB0_353 + 0x4d, 0x29, 0xcf, //0x00001df5 subq %r9, %r15 + 0x0f, 0xbc, 0xc3, //0x00001df8 bsfl %ebx, %eax + 0x4c, 0x01, 0xf8, //0x00001dfb addq %r15, %rax + 0x48, 0xf7, 0xd0, //0x00001dfe notq %rax + 0x49, 0x89, 0xc7, //0x00001e01 movq %rax, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001e04 movq $-48(%rbp), %r10 + 0xe9, 0x61, 0xfd, 0xff, 0xff, //0x00001e08 jmp LBB0_342 + //0x00001e0d LBB0_354 + 0x48, 0xf7, 0xd7, //0x00001e0d notq %rdi + 0x49, 0x89, 0xff, //0x00001e10 movq %rdi, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001e13 movq $-48(%rbp), %r10 + 0xe9, 0x52, 0xfd, 0xff, 0xff, //0x00001e17 jmp LBB0_342 + //0x00001e1c LBB0_355 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001e1c movq $-1, %r8 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001e23 movq $-1, %r12 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001e2a movq $-1, %rax + 0x4d, 0x89, 0xfe, //0x00001e31 movq %r15, %r14 + 0x49, 0x83, 0xfa, 0x10, //0x00001e34 cmpq $16, %r10 + 0x0f, 0x83, 0xc0, 0xea, 0xff, 0xff, //0x00001e38 jae LBB0_151 + 0xe9, 0x0d, 0xec, 0xff, 0xff, //0x00001e3e jmp LBB0_169 + //0x00001e43 LBB0_356 + 0x4d, 0x89, 0xcb, //0x00001e43 movq %r9, %r11 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001e46 movq $-1, %r8 + 0x45, 0x31, 0xf6, //0x00001e4d xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00001e50 cmpq $32, %rcx + 0x0f, 0x83, 0x2f, 0xfc, 0xff, 0xff, //0x00001e54 jae LBB0_55 + 0xe9, 0x38, 0x01, 0x00, 0x00, //0x00001e5a jmp LBB0_370 + //0x00001e5f LBB0_357 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001e5f movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00001e66 xorl %r15d, %r15d + 0x49, 0x83, 0xfa, 0x20, //0x00001e69 cmpq $32, %r10 + 0x0f, 0x83, 0x8a, 0xfc, 0xff, 0xff, //0x00001e6d jae LBB0_85 + 0xe9, 0x57, 0x02, 0x00, 0x00, //0x00001e73 jmp LBB0_388 + //0x00001e78 LBB0_358 + 0x49, 0x89, 0xcf, //0x00001e78 movq %rcx, %r15 + 0x4d, 0x85, 0xdb, //0x00001e7b testq %r11, %r11 + 0x0f, 0x85, 0xf9, 0xfa, 0xff, 0xff, //0x00001e7e jne LBB0_327 + 0xe9, 0xd5, 0x0a, 0x00, 0x00, //0x00001e84 jmp LBB0_497 + //0x00001e89 LBB0_359 + 0x48, 0xf7, 0xd6, //0x00001e89 notq %rsi + 0x49, 0x89, 0xf7, //0x00001e8c movq %rsi, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001e8f movq $-48(%rbp), %r10 + 0xe9, 0xd6, 0xfc, 0xff, 0xff, //0x00001e93 jmp LBB0_342 + //0x00001e98 LBB0_360 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001e98 movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00001e9f xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00001ea2 cmpq $32, %rcx + 0x0f, 0x83, 0x38, 0xfd, 0xff, 0xff, //0x00001ea6 jae LBB0_102 + 0xe9, 0x35, 0x03, 0x00, 0x00, //0x00001eac jmp LBB0_402 + //0x00001eb1 LBB0_361 + 0x49, 0x89, 0xc8, //0x00001eb1 movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001eb4 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x00001ebb xorl %r15d, %r15d + 0x48, 0x83, 0xfb, 0x20, //0x00001ebe cmpq $32, %rbx + 0x0f, 0x83, 0xb1, 0xfd, 0xff, 0xff, //0x00001ec2 jae LBB0_121 + 0xe9, 0x4f, 0x04, 0x00, 0x00, //0x00001ec8 jmp LBB0_420 + //0x00001ecd LBB0_365 + 0x49, 0xf7, 0xdf, //0x00001ecd negq %r15 + 0xe9, 0x99, 0xfc, 0xff, 0xff, //0x00001ed0 jmp LBB0_342 + //0x00001ed5 LBB0_362 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001ed5 movq $-1, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001edc movq $-1, %r11 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001ee3 movq $-1, %r12 + 0x4d, 0x89, 0xcf, //0x00001eea movq %r9, %r15 + 0xe9, 0xdb, 0xf7, 0xff, 0xff, //0x00001eed jmp LBB0_290 + //0x00001ef2 LBB0_363 + 0x49, 0x89, 0xd1, //0x00001ef2 movq %rdx, %r9 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001ef5 movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00001efc xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00001eff cmpq $32, %rcx + 0x0f, 0x83, 0x1d, 0xfe, 0xff, 0xff, //0x00001f03 jae LBB0_221 + 0xe9, 0x15, 0x06, 0x00, 0x00, //0x00001f09 jmp LBB0_443 + //0x00001f0e LBB0_364 + 0x49, 0x89, 0xc8, //0x00001f0e movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001f11 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x00001f18 xorl %r15d, %r15d + 0x48, 0x83, 0xfb, 0x20, //0x00001f1b cmpq $32, %rbx + 0x4c, 0x8b, 0x75, 0xc8, //0x00001f1f movq $-56(%rbp), %r14 + 0x0f, 0x83, 0x7f, 0xfe, 0xff, 0xff, //0x00001f23 jae LBB0_260 + 0xe9, 0x2b, 0x07, 0x00, 0x00, //0x00001f29 jmp LBB0_460 + //0x00001f2e LBB0_366 + 0x49, 0x83, 0xf8, 0xff, //0x00001f2e cmpq $-1, %r8 + 0x0f, 0x85, 0x0d, 0x00, 0x00, 0x00, //0x00001f32 jne LBB0_368 + 0x48, 0x89, 0xd8, //0x00001f38 movq %rbx, %rax + 0x4c, 0x29, 0xd8, //0x00001f3b subq %r11, %rax + 0x4c, 0x0f, 0xbc, 0xc6, //0x00001f3e bsfq %rsi, %r8 + 0x49, 0x01, 0xc0, //0x00001f42 addq %rax, %r8 + //0x00001f45 LBB0_368 + 0x44, 0x89, 0xf0, //0x00001f45 movl %r14d, %eax + 0xf7, 0xd0, //0x00001f48 notl %eax + 0x21, 0xf0, //0x00001f4a andl %esi, %eax + 0x44, 0x8d, 0x0c, 0x00, //0x00001f4c leal (%rax,%rax), %r9d + 0x45, 0x09, 0xf1, //0x00001f50 orl %r14d, %r9d + 0x44, 0x89, 0xcf, //0x00001f53 movl %r9d, %edi + 0xf7, 0xd7, //0x00001f56 notl %edi + 0x21, 0xf7, //0x00001f58 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f5a andl $-1431655766, %edi + 0x45, 0x31, 0xf6, //0x00001f60 xorl %r14d, %r14d + 0x01, 0xc7, //0x00001f63 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc6, //0x00001f65 setb %r14b + 0x01, 0xff, //0x00001f69 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00001f6b xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x00001f71 andl %r9d, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00001f74 movl $4294967295, %eax + 0x31, 0xf8, //0x00001f79 xorl %edi, %eax + 0x21, 0xc2, //0x00001f7b andl %eax, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x00001f7d movq $-48(%rbp), %r10 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00001f81 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xd2, //0x00001f86 testq %rdx, %rdx + 0x0f, 0x85, 0x2b, 0xfb, 0xff, 0xff, //0x00001f89 jne LBB0_60 + //0x00001f8f LBB0_369 + 0x48, 0x83, 0xc3, 0x20, //0x00001f8f addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x00001f93 addq $-32, %rcx + //0x00001f97 LBB0_370 + 0x4d, 0x85, 0xf6, //0x00001f97 testq %r14, %r14 + 0x0f, 0x85, 0x1c, 0x04, 0x00, 0x00, //0x00001f9a jne LBB0_429 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001fa0 movq $-56(%rbp), %r14 + 0x48, 0x85, 0xc9, //0x00001fa4 testq %rcx, %rcx + 0x0f, 0x84, 0xeb, 0x07, 0x00, 0x00, //0x00001fa7 je LBB0_476 + //0x00001fad LBB0_372 + 0x4c, 0x89, 0xdf, //0x00001fad movq %r11, %rdi + 0x48, 0xf7, 0xd7, //0x00001fb0 notq %rdi + //0x00001fb3 LBB0_373 + 0x4c, 0x8d, 0x63, 0x01, //0x00001fb3 leaq $1(%rbx), %r12 + 0x0f, 0xb6, 0x13, //0x00001fb7 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x00001fba cmpb $34, %dl + 0x0f, 0x84, 0x5b, 0x00, 0x00, 0x00, //0x00001fbd je LBB0_378 + 0x48, 0x8d, 0x71, 0xff, //0x00001fc3 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00001fc7 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001fca je LBB0_376 + 0x48, 0x89, 0xf1, //0x00001fd0 movq %rsi, %rcx + 0x4c, 0x89, 0xe3, //0x00001fd3 movq %r12, %rbx + 0x48, 0x85, 0xf6, //0x00001fd6 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00001fd9 jne LBB0_373 + 0xe9, 0xb4, 0x07, 0x00, 0x00, //0x00001fdf jmp LBB0_476 + //0x00001fe4 LBB0_376 + 0x48, 0x85, 0xf6, //0x00001fe4 testq %rsi, %rsi + 0x0f, 0x84, 0xba, 0x09, 0x00, 0x00, //0x00001fe7 je LBB0_433 + 0x49, 0x01, 0xfc, //0x00001fed addq %rdi, %r12 + 0x49, 0x83, 0xf8, 0xff, //0x00001ff0 cmpq $-1, %r8 + 0x4d, 0x0f, 0x44, 0xc4, //0x00001ff4 cmoveq %r12, %r8 + 0x48, 0x83, 0xc3, 0x02, //0x00001ff8 addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x00001ffc addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00002000 movq %rcx, %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002003 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002007 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000200b vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x00002010 testq %rsi, %rsi + 0x0f, 0x85, 0x9a, 0xff, 0xff, 0xff, //0x00002013 jne LBB0_373 + 0xe9, 0x7a, 0x07, 0x00, 0x00, //0x00002019 jmp LBB0_476 + //0x0000201e LBB0_378 + 0x4d, 0x29, 0xdc, //0x0000201e subq %r11, %r12 + 0xe9, 0xa4, 0xfa, 0xff, 0xff, //0x00002021 jmp LBB0_184 + //0x00002026 LBB0_379 + 0x49, 0x83, 0xf8, 0xff, //0x00002026 cmpq $-1, %r8 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000202a jne LBB0_381 + 0x4c, 0x89, 0xe2, //0x00002030 movq %r12, %rdx + 0x48, 0x2b, 0x55, 0xc0, //0x00002033 subq $-64(%rbp), %rdx + 0x4c, 0x0f, 0xbc, 0xc1, //0x00002037 bsfq %rcx, %r8 + 0x49, 0x01, 0xd0, //0x0000203b addq %rdx, %r8 + //0x0000203e LBB0_381 + 0x44, 0x89, 0xfa, //0x0000203e movl %r15d, %edx + 0xf7, 0xd2, //0x00002041 notl %edx + 0x21, 0xca, //0x00002043 andl %ecx, %edx + 0x8d, 0x1c, 0x12, //0x00002045 leal (%rdx,%rdx), %ebx + 0x44, 0x09, 0xfb, //0x00002048 orl %r15d, %ebx + 0x89, 0xdf, //0x0000204b movl %ebx, %edi + 0xf7, 0xd7, //0x0000204d notl %edi + 0x21, 0xcf, //0x0000204f andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002051 andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x00002057 xorl %r15d, %r15d + 0x01, 0xd7, //0x0000205a addl %edx, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x0000205c setb %r15b + 0x01, 0xff, //0x00002060 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00002062 xorl $1431655765, %edi + 0x21, 0xdf, //0x00002068 andl %ebx, %edi + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x0000206a movl $4294967295, %ecx + 0x31, 0xf9, //0x0000206f xorl %edi, %ecx + 0x21, 0xce, //0x00002071 andl %ecx, %esi + 0x4c, 0x8b, 0x75, 0xc8, //0x00002073 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002077 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x0000207c testq %rsi, %rsi + 0x0f, 0x85, 0xbc, 0xfa, 0xff, 0xff, //0x0000207f jne LBB0_88 + //0x00002085 LBB0_382 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00002085 movl $64, %ecx + //0x0000208a LBB0_383 + 0x49, 0x0f, 0xbc, 0xd1, //0x0000208a bsfq %r9, %rdx + 0x45, 0x85, 0xc9, //0x0000208e testl %r9d, %r9d + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x00002091 movl $64, %edi + 0x48, 0x0f, 0x45, 0xfa, //0x00002096 cmovneq %rdx, %rdi + 0x48, 0x85, 0xf6, //0x0000209a testq %rsi, %rsi + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x0000209d je LBB0_386 + 0x4c, 0x2b, 0x65, 0xc0, //0x000020a3 subq $-64(%rbp), %r12 + 0x48, 0x39, 0xcf, //0x000020a7 cmpq %rcx, %rdi + 0x0f, 0x82, 0x12, 0x09, 0x00, 0x00, //0x000020aa jb LBB0_511 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x000020b0 leaq $1(%r12,%rcx), %r12 + 0x4c, 0x8b, 0x55, 0xd0, //0x000020b5 movq $-48(%rbp), %r10 + 0xe9, 0x0c, 0xfa, 0xff, 0xff, //0x000020b9 jmp LBB0_184 + //0x000020be LBB0_386 + 0x45, 0x85, 0xc9, //0x000020be testl %r9d, %r9d + 0x0f, 0x85, 0x0d, 0x09, 0x00, 0x00, //0x000020c1 jne LBB0_512 + 0x49, 0x83, 0xc4, 0x20, //0x000020c7 addq $32, %r12 + 0x49, 0x83, 0xc2, 0xe0, //0x000020cb addq $-32, %r10 + //0x000020cf LBB0_388 + 0x4d, 0x85, 0xff, //0x000020cf testq %r15, %r15 + 0x0f, 0x85, 0x1f, 0x03, 0x00, 0x00, //0x000020d2 jne LBB0_431 + 0x48, 0x8b, 0x45, 0xc0, //0x000020d8 movq $-64(%rbp), %rax + 0x4d, 0x85, 0xd2, //0x000020dc testq %r10, %r10 + 0x0f, 0x84, 0xc2, 0x08, 0x00, 0x00, //0x000020df je LBB0_433 + //0x000020e5 LBB0_390 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x000020e5 movzbl (%r12), %ecx + 0x80, 0xf9, 0x22, //0x000020ea cmpb $34, %cl + 0x0f, 0x84, 0x6d, 0x00, 0x00, 0x00, //0x000020ed je LBB0_396 + 0x80, 0xf9, 0x5c, //0x000020f3 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x000020f6 je LBB0_394 + 0x80, 0xf9, 0x1f, //0x000020fc cmpb $31, %cl + 0x0f, 0x86, 0xed, 0x08, 0x00, 0x00, //0x000020ff jbe LBB0_513 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00002105 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x0000210c movl $1, %edx + 0x49, 0x01, 0xd4, //0x00002111 addq %rdx, %r12 + 0x49, 0x01, 0xca, //0x00002114 addq %rcx, %r10 + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x00002117 jne LBB0_390 + 0xe9, 0x85, 0x08, 0x00, 0x00, //0x0000211d jmp LBB0_433 + //0x00002122 LBB0_394 + 0x49, 0x83, 0xfa, 0x01, //0x00002122 cmpq $1, %r10 + 0x0f, 0x84, 0x7b, 0x08, 0x00, 0x00, //0x00002126 je LBB0_433 + 0x4c, 0x89, 0xe1, //0x0000212c movq %r12, %rcx + 0x48, 0x29, 0xc1, //0x0000212f subq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00002132 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00002136 cmoveq %rcx, %r8 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x0000213a movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00002141 movl $2, %edx + 0x4c, 0x8b, 0x75, 0xc8, //0x00002146 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000214a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x49, 0x01, 0xd4, //0x0000214f addq %rdx, %r12 + 0x49, 0x01, 0xca, //0x00002152 addq %rcx, %r10 + 0x0f, 0x85, 0x8a, 0xff, 0xff, 0xff, //0x00002155 jne LBB0_390 + 0xe9, 0x47, 0x08, 0x00, 0x00, //0x0000215b jmp LBB0_433 + //0x00002160 LBB0_396 + 0x49, 0x29, 0xc4, //0x00002160 subq %rax, %r12 + 0x49, 0xff, 0xc4, //0x00002163 incq %r12 + 0x4c, 0x8b, 0x55, 0xd0, //0x00002166 movq $-48(%rbp), %r10 + 0xe9, 0x5b, 0xf9, 0xff, 0xff, //0x0000216a jmp LBB0_184 + //0x0000216f LBB0_397 + 0x4d, 0x89, 0xc8, //0x0000216f movq %r9, %r8 + 0x49, 0x83, 0xfb, 0xff, //0x00002172 cmpq $-1, %r11 + 0x0f, 0x85, 0x15, 0x00, 0x00, 0x00, //0x00002176 jne LBB0_400 + 0x48, 0x89, 0xd8, //0x0000217c movq %rbx, %rax + 0x4c, 0x29, 0xc0, //0x0000217f subq %r8, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x00002182 bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x00002186 addq %rax, %r11 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00002189 jmp LBB0_400 + //0x0000218e LBB0_399 + 0x4d, 0x89, 0xc8, //0x0000218e movq %r9, %r8 + //0x00002191 LBB0_400 + 0x44, 0x89, 0xf0, //0x00002191 movl %r14d, %eax + 0xf7, 0xd0, //0x00002194 notl %eax + 0x21, 0xf0, //0x00002196 andl %esi, %eax + 0x44, 0x8d, 0x0c, 0x00, //0x00002198 leal (%rax,%rax), %r9d + 0x45, 0x09, 0xf1, //0x0000219c orl %r14d, %r9d + 0x44, 0x89, 0xcf, //0x0000219f movl %r9d, %edi + 0xf7, 0xd7, //0x000021a2 notl %edi + 0x21, 0xf7, //0x000021a4 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000021a6 andl $-1431655766, %edi + 0x45, 0x31, 0xf6, //0x000021ac xorl %r14d, %r14d + 0x01, 0xc7, //0x000021af addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc6, //0x000021b1 setb %r14b + 0x01, 0xff, //0x000021b5 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000021b7 xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x000021bd andl %r9d, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000021c0 movl $4294967295, %eax + 0x31, 0xf8, //0x000021c5 xorl %edi, %eax + 0x21, 0xc2, //0x000021c7 andl %eax, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x000021c9 movq $-48(%rbp), %r10 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000021cd vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x4d, 0x89, 0xc1, //0x000021d2 movq %r8, %r9 + 0x48, 0x85, 0xd2, //0x000021d5 testq %rdx, %rdx + 0x0f, 0x85, 0x37, 0xfa, 0xff, 0xff, //0x000021d8 jne LBB0_107 + //0x000021de LBB0_401 + 0x48, 0x83, 0xc3, 0x20, //0x000021de addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x000021e2 addq $-32, %rcx + //0x000021e6 LBB0_402 + 0x4d, 0x85, 0xf6, //0x000021e6 testq %r14, %r14 + 0x0f, 0x85, 0x43, 0x02, 0x00, 0x00, //0x000021e9 jne LBB0_434 + 0x4c, 0x8b, 0x75, 0xc8, //0x000021ef movq $-56(%rbp), %r14 + 0x48, 0x85, 0xc9, //0x000021f3 testq %rcx, %rcx + 0x0f, 0x84, 0xc6, 0x05, 0x00, 0x00, //0x000021f6 je LBB0_479 + //0x000021fc LBB0_404 + 0x4d, 0x89, 0xe0, //0x000021fc movq %r12, %r8 + 0x4c, 0x89, 0xcf, //0x000021ff movq %r9, %rdi + 0x48, 0xf7, 0xd7, //0x00002202 notq %rdi + //0x00002205 LBB0_405 + 0x4c, 0x8d, 0x63, 0x01, //0x00002205 leaq $1(%rbx), %r12 + 0x0f, 0xb6, 0x13, //0x00002209 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x0000220c cmpb $34, %dl + 0x0f, 0x84, 0x5b, 0x00, 0x00, 0x00, //0x0000220f je LBB0_410 + 0x48, 0x8d, 0x71, 0xff, //0x00002215 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00002219 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000221c je LBB0_408 + 0x48, 0x89, 0xf1, //0x00002222 movq %rsi, %rcx + 0x4c, 0x89, 0xe3, //0x00002225 movq %r12, %rbx + 0x48, 0x85, 0xf6, //0x00002228 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x0000222b jne LBB0_405 + 0xe9, 0x8c, 0x05, 0x00, 0x00, //0x00002231 jmp LBB0_479 + //0x00002236 LBB0_408 + 0x48, 0x85, 0xf6, //0x00002236 testq %rsi, %rsi + 0x0f, 0x84, 0xcf, 0x07, 0x00, 0x00, //0x00002239 je LBB0_516 + 0x49, 0x01, 0xfc, //0x0000223f addq %rdi, %r12 + 0x49, 0x83, 0xfb, 0xff, //0x00002242 cmpq $-1, %r11 + 0x4d, 0x0f, 0x44, 0xdc, //0x00002246 cmoveq %r12, %r11 + 0x48, 0x83, 0xc3, 0x02, //0x0000224a addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x0000224e addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00002252 movq %rcx, %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002255 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002259 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000225d vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x00002262 testq %rsi, %rsi + 0x0f, 0x85, 0x9a, 0xff, 0xff, 0xff, //0x00002265 jne LBB0_405 + 0xe9, 0x52, 0x05, 0x00, 0x00, //0x0000226b jmp LBB0_479 + //0x00002270 LBB0_410 + 0x4d, 0x29, 0xcc, //0x00002270 subq %r9, %r12 + 0xe9, 0xb0, 0xf9, 0xff, 0xff, //0x00002273 jmp LBB0_205 + //0x00002278 LBB0_411 + 0x49, 0x83, 0xfb, 0xff, //0x00002278 cmpq $-1, %r11 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000227c jne LBB0_413 + 0x4c, 0x89, 0xe0, //0x00002282 movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x00002285 subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x00002289 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x0000228d addq %rax, %r11 + //0x00002290 LBB0_413 + 0x44, 0x89, 0xf8, //0x00002290 movl %r15d, %eax + 0xf7, 0xd0, //0x00002293 notl %eax + 0x21, 0xc8, //0x00002295 andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x00002297 leal (%rax,%rax), %edx + 0x44, 0x09, 0xfa, //0x0000229a orl %r15d, %edx + 0x89, 0xd7, //0x0000229d movl %edx, %edi + 0xf7, 0xd7, //0x0000229f notl %edi + 0x21, 0xcf, //0x000022a1 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022a3 andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x000022a9 xorl %r15d, %r15d + 0x01, 0xc7, //0x000022ac addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x000022ae setb %r15b + 0x01, 0xff, //0x000022b2 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000022b4 xorl $1431655765, %edi + 0x21, 0xd7, //0x000022ba andl %edx, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000022bc movl $4294967295, %eax + 0x31, 0xf8, //0x000022c1 xorl %edi, %eax + 0x21, 0xc6, //0x000022c3 andl %eax, %esi + 0x4c, 0x8b, 0x55, 0xd0, //0x000022c5 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x000022c9 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000022cd vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x000022d2 testq %rsi, %rsi + 0x0f, 0x85, 0xe2, 0xf9, 0xff, 0xff, //0x000022d5 jne LBB0_124 + //0x000022db LBB0_414 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000022db movl $64, %ecx + //0x000022e0 LBB0_415 + 0x49, 0x0f, 0xbc, 0xd1, //0x000022e0 bsfq %r9, %rdx + 0x45, 0x85, 0xc9, //0x000022e4 testl %r9d, %r9d + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x000022e7 movl $64, %edi + 0x48, 0x0f, 0x45, 0xfa, //0x000022ec cmovneq %rdx, %rdi + 0x48, 0x85, 0xf6, //0x000022f0 testq %rsi, %rsi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000022f3 je LBB0_418 + 0x4c, 0x2b, 0x65, 0xc0, //0x000022f9 subq $-64(%rbp), %r12 + 0x48, 0x39, 0xcf, //0x000022fd cmpq %rcx, %rdi + 0x0f, 0x83, 0x1a, 0xee, 0xff, 0xff, //0x00002300 jae LBB0_204 + 0xe9, 0xd5, 0x06, 0x00, 0x00, //0x00002306 jmp LBB0_417 + //0x0000230b LBB0_418 + 0x45, 0x85, 0xc9, //0x0000230b testl %r9d, %r9d + 0x0f, 0x85, 0xe6, 0x06, 0x00, 0x00, //0x0000230e jne LBB0_514 + 0x49, 0x83, 0xc4, 0x20, //0x00002314 addq $32, %r12 + 0x48, 0x83, 0xc3, 0xe0, //0x00002318 addq $-32, %rbx + //0x0000231c LBB0_420 + 0x4d, 0x85, 0xff, //0x0000231c testq %r15, %r15 + 0x0f, 0x85, 0x48, 0x01, 0x00, 0x00, //0x0000231f jne LBB0_436 + 0x48, 0x8b, 0x75, 0xc0, //0x00002325 movq $-64(%rbp), %rsi + 0x48, 0x85, 0xdb, //0x00002329 testq %rbx, %rbx + 0x0f, 0x84, 0x90, 0x04, 0x00, 0x00, //0x0000232c je LBB0_479 + //0x00002332 LBB0_422 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x00002332 movzbl (%r12), %ecx + 0x80, 0xf9, 0x22, //0x00002337 cmpb $34, %cl + 0x0f, 0x84, 0x71, 0x00, 0x00, 0x00, //0x0000233a je LBB0_428 + 0x80, 0xf9, 0x5c, //0x00002340 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00002343 je LBB0_426 + 0x80, 0xf9, 0x1f, //0x00002349 cmpb $31, %cl + 0x0f, 0x86, 0xb4, 0x06, 0x00, 0x00, //0x0000234c jbe LBB0_515 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00002352 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00002359 movl $1, %edx + 0x49, 0x01, 0xd4, //0x0000235e addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x00002361 addq %rcx, %rbx + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x00002364 jne LBB0_422 + 0xe9, 0x53, 0x04, 0x00, 0x00, //0x0000236a jmp LBB0_479 + //0x0000236f LBB0_426 + 0x48, 0x83, 0xfb, 0x01, //0x0000236f cmpq $1, %rbx + 0x0f, 0x84, 0x95, 0x06, 0x00, 0x00, //0x00002373 je LBB0_516 + 0x4c, 0x89, 0xe0, //0x00002379 movq %r12, %rax + 0x48, 0x29, 0xf0, //0x0000237c subq %rsi, %rax + 0x49, 0x83, 0xfb, 0xff, //0x0000237f cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x00002383 cmoveq %rax, %r11 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002387 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x0000238e movl $2, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002393 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002397 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000239b vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x49, 0x01, 0xd4, //0x000023a0 addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x000023a3 addq %rcx, %rbx + 0x0f, 0x85, 0x86, 0xff, 0xff, 0xff, //0x000023a6 jne LBB0_422 + 0xe9, 0x11, 0x04, 0x00, 0x00, //0x000023ac jmp LBB0_479 + //0x000023b1 LBB0_428 + 0x49, 0x29, 0xf4, //0x000023b1 subq %rsi, %r12 + 0x49, 0xff, 0xc4, //0x000023b4 incq %r12 + 0xe9, 0x6c, 0xf8, 0xff, 0xff, //0x000023b7 jmp LBB0_205 + //0x000023bc LBB0_429 + 0x48, 0x85, 0xc9, //0x000023bc testq %rcx, %rcx + 0x0f, 0x84, 0xe2, 0x05, 0x00, 0x00, //0x000023bf je LBB0_433 + 0x4c, 0x89, 0xd8, //0x000023c5 movq %r11, %rax + 0x48, 0xf7, 0xd0, //0x000023c8 notq %rax + 0x48, 0x01, 0xd8, //0x000023cb addq %rbx, %rax + 0x49, 0x83, 0xf8, 0xff, //0x000023ce cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x000023d2 cmoveq %rax, %r8 + 0x48, 0xff, 0xc3, //0x000023d6 incq %rbx + 0x48, 0xff, 0xc9, //0x000023d9 decq %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x000023dc movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x000023e0 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000023e4 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xc9, //0x000023e9 testq %rcx, %rcx + 0x0f, 0x85, 0xbb, 0xfb, 0xff, 0xff, //0x000023ec jne LBB0_372 + 0xe9, 0xa1, 0x03, 0x00, 0x00, //0x000023f2 jmp LBB0_476 + //0x000023f7 LBB0_431 + 0x4d, 0x85, 0xd2, //0x000023f7 testq %r10, %r10 + 0x0f, 0x84, 0xa7, 0x05, 0x00, 0x00, //0x000023fa je LBB0_433 + 0x48, 0x8b, 0x45, 0xc0, //0x00002400 movq $-64(%rbp), %rax + 0x48, 0x89, 0xc1, //0x00002404 movq %rax, %rcx + 0x48, 0xf7, 0xd1, //0x00002407 notq %rcx + 0x4c, 0x01, 0xe1, //0x0000240a addq %r12, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x0000240d cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00002411 cmoveq %rcx, %r8 + 0x49, 0xff, 0xc4, //0x00002415 incq %r12 + 0x49, 0xff, 0xca, //0x00002418 decq %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x0000241b movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000241f vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x4d, 0x85, 0xd2, //0x00002424 testq %r10, %r10 + 0x0f, 0x85, 0xb8, 0xfc, 0xff, 0xff, //0x00002427 jne LBB0_390 + 0xe9, 0x75, 0x05, 0x00, 0x00, //0x0000242d jmp LBB0_433 + //0x00002432 LBB0_434 + 0x48, 0x85, 0xc9, //0x00002432 testq %rcx, %rcx + 0x0f, 0x84, 0xd3, 0x05, 0x00, 0x00, //0x00002435 je LBB0_516 + 0x4c, 0x89, 0xc8, //0x0000243b movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x0000243e notq %rax + 0x48, 0x01, 0xd8, //0x00002441 addq %rbx, %rax + 0x49, 0x83, 0xfb, 0xff, //0x00002444 cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x00002448 cmoveq %rax, %r11 + 0x48, 0xff, 0xc3, //0x0000244c incq %rbx + 0x48, 0xff, 0xc9, //0x0000244f decq %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002452 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002456 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000245a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xc9, //0x0000245f testq %rcx, %rcx + 0x0f, 0x85, 0x94, 0xfd, 0xff, 0xff, //0x00002462 jne LBB0_404 + 0xe9, 0x55, 0x03, 0x00, 0x00, //0x00002468 jmp LBB0_479 + //0x0000246d LBB0_436 + 0x48, 0x85, 0xdb, //0x0000246d testq %rbx, %rbx + 0x0f, 0x84, 0x98, 0x05, 0x00, 0x00, //0x00002470 je LBB0_516 + 0x48, 0x8b, 0x75, 0xc0, //0x00002476 movq $-64(%rbp), %rsi + 0x48, 0x89, 0xf0, //0x0000247a movq %rsi, %rax + 0x48, 0xf7, 0xd0, //0x0000247d notq %rax + 0x4c, 0x01, 0xe0, //0x00002480 addq %r12, %rax + 0x49, 0x83, 0xfb, 0xff, //0x00002483 cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x00002487 cmoveq %rax, %r11 + 0x49, 0xff, 0xc4, //0x0000248b incq %r12 + 0x48, 0xff, 0xcb, //0x0000248e decq %rbx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002491 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002495 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002499 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xdb, //0x0000249e testq %rbx, %rbx + 0x0f, 0x85, 0x8b, 0xfe, 0xff, 0xff, //0x000024a1 jne LBB0_422 + 0xe9, 0x16, 0x03, 0x00, 0x00, //0x000024a7 jmp LBB0_479 + //0x000024ac LBB0_438 + 0x4d, 0x89, 0xc8, //0x000024ac movq %r9, %r8 + 0x49, 0x83, 0xfb, 0xff, //0x000024af cmpq $-1, %r11 + 0x0f, 0x85, 0x15, 0x00, 0x00, 0x00, //0x000024b3 jne LBB0_441 + 0x48, 0x89, 0xd8, //0x000024b9 movq %rbx, %rax + 0x4c, 0x29, 0xc0, //0x000024bc subq %r8, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x000024bf bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x000024c3 addq %rax, %r11 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x000024c6 jmp LBB0_441 + //0x000024cb LBB0_440 + 0x4d, 0x89, 0xc8, //0x000024cb movq %r9, %r8 + //0x000024ce LBB0_441 + 0x44, 0x89, 0xf0, //0x000024ce movl %r14d, %eax + 0xf7, 0xd0, //0x000024d1 notl %eax + 0x21, 0xf0, //0x000024d3 andl %esi, %eax + 0x44, 0x8d, 0x0c, 0x00, //0x000024d5 leal (%rax,%rax), %r9d + 0x45, 0x09, 0xf1, //0x000024d9 orl %r14d, %r9d + 0x44, 0x89, 0xcf, //0x000024dc movl %r9d, %edi + 0xf7, 0xd7, //0x000024df notl %edi + 0x21, 0xf7, //0x000024e1 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000024e3 andl $-1431655766, %edi + 0x45, 0x31, 0xf6, //0x000024e9 xorl %r14d, %r14d + 0x01, 0xc7, //0x000024ec addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc6, //0x000024ee setb %r14b + 0x01, 0xff, //0x000024f2 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000024f4 xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x000024fa andl %r9d, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000024fd movl $4294967295, %eax + 0x31, 0xc7, //0x00002502 xorl %eax, %edi + 0x21, 0xfa, //0x00002504 andl %edi, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002506 movq $-48(%rbp), %r10 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000250a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x4d, 0x89, 0xc1, //0x0000250f movq %r8, %r9 + 0x48, 0x85, 0xd2, //0x00002512 testq %rdx, %rdx + 0x0f, 0x85, 0x3c, 0xf8, 0xff, 0xff, //0x00002515 jne LBB0_226 + //0x0000251b LBB0_442 + 0x48, 0x83, 0xc3, 0x20, //0x0000251b addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x0000251f addq $-32, %rcx + //0x00002523 LBB0_443 + 0x4d, 0x85, 0xf6, //0x00002523 testq %r14, %r14 + 0x0f, 0x85, 0xcd, 0x01, 0x00, 0x00, //0x00002526 jne LBB0_469 + 0x4c, 0x8b, 0x75, 0xc8, //0x0000252c movq $-56(%rbp), %r14 + 0x48, 0x85, 0xc9, //0x00002530 testq %rcx, %rcx + 0x0f, 0x84, 0x89, 0x02, 0x00, 0x00, //0x00002533 je LBB0_479 + //0x00002539 LBB0_445 + 0x4d, 0x89, 0xe0, //0x00002539 movq %r12, %r8 + 0x4c, 0x89, 0xcf, //0x0000253c movq %r9, %rdi + 0x48, 0xf7, 0xd7, //0x0000253f notq %rdi + //0x00002542 LBB0_446 + 0x4c, 0x8d, 0x63, 0x01, //0x00002542 leaq $1(%rbx), %r12 + 0x0f, 0xb6, 0x13, //0x00002546 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x00002549 cmpb $34, %dl + 0x0f, 0x84, 0x5b, 0x00, 0x00, 0x00, //0x0000254c je LBB0_451 + 0x48, 0x8d, 0x71, 0xff, //0x00002552 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00002556 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00002559 je LBB0_449 + 0x48, 0x89, 0xf1, //0x0000255f movq %rsi, %rcx + 0x4c, 0x89, 0xe3, //0x00002562 movq %r12, %rbx + 0x48, 0x85, 0xf6, //0x00002565 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00002568 jne LBB0_446 + 0xe9, 0x4f, 0x02, 0x00, 0x00, //0x0000256e jmp LBB0_479 + //0x00002573 LBB0_449 + 0x48, 0x85, 0xf6, //0x00002573 testq %rsi, %rsi + 0x0f, 0x84, 0x92, 0x04, 0x00, 0x00, //0x00002576 je LBB0_516 + 0x49, 0x01, 0xfc, //0x0000257c addq %rdi, %r12 + 0x49, 0x83, 0xfb, 0xff, //0x0000257f cmpq $-1, %r11 + 0x4d, 0x0f, 0x44, 0xdc, //0x00002583 cmoveq %r12, %r11 + 0x48, 0x83, 0xc3, 0x02, //0x00002587 addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x0000258b addq $-2, %rcx + 0x48, 0x89, 0xce, //0x0000258f movq %rcx, %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002592 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002596 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000259a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x0000259f testq %rsi, %rsi + 0x0f, 0x85, 0x9a, 0xff, 0xff, 0xff, //0x000025a2 jne LBB0_446 + 0xe9, 0x15, 0x02, 0x00, 0x00, //0x000025a8 jmp LBB0_479 + //0x000025ad LBB0_451 + 0x4d, 0x29, 0xcc, //0x000025ad subq %r9, %r12 + 0xe9, 0xb5, 0xf7, 0xff, 0xff, //0x000025b0 jmp LBB0_323 + //0x000025b5 LBB0_452 + 0x49, 0x83, 0xfb, 0xff, //0x000025b5 cmpq $-1, %r11 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000025b9 jne LBB0_454 + 0x4c, 0x89, 0xe0, //0x000025bf movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x000025c2 subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x000025c6 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x000025ca addq %rax, %r11 + //0x000025cd LBB0_454 + 0x44, 0x89, 0xf8, //0x000025cd movl %r15d, %eax + 0xf7, 0xd0, //0x000025d0 notl %eax + 0x21, 0xc8, //0x000025d2 andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x000025d4 leal (%rax,%rax), %edx + 0x44, 0x09, 0xfa, //0x000025d7 orl %r15d, %edx + 0x89, 0xd7, //0x000025da movl %edx, %edi + 0xf7, 0xd7, //0x000025dc notl %edi + 0x21, 0xcf, //0x000025de andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000025e0 andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x000025e6 xorl %r15d, %r15d + 0x01, 0xc7, //0x000025e9 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x000025eb setb %r15b + 0x01, 0xff, //0x000025ef addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000025f1 xorl $1431655765, %edi + 0x21, 0xd7, //0x000025f7 andl %edx, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000025f9 movl $4294967295, %eax + 0x31, 0xf8, //0x000025fe xorl %edi, %eax + 0x21, 0xc6, //0x00002600 andl %eax, %esi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002602 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002606 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000260a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x0000260f testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xf7, 0xff, 0xff, //0x00002612 jne LBB0_263 + //0x00002618 LBB0_455 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00002618 movl $64, %ecx + //0x0000261d LBB0_456 + 0x49, 0x0f, 0xbc, 0xd1, //0x0000261d bsfq %r9, %rdx + 0x45, 0x85, 0xc9, //0x00002621 testl %r9d, %r9d + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x00002624 movl $64, %edi + 0x48, 0x0f, 0x45, 0xfa, //0x00002629 cmovneq %rdx, %rdi + 0x48, 0x85, 0xf6, //0x0000262d testq %rsi, %rsi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00002630 je LBB0_458 + 0x4c, 0x2b, 0x65, 0xc0, //0x00002636 subq $-64(%rbp), %r12 + 0x48, 0x39, 0xcf, //0x0000263a cmpq %rcx, %rdi + 0x0f, 0x83, 0x20, 0xf3, 0xff, 0xff, //0x0000263d jae LBB0_322 + 0xe9, 0x98, 0x03, 0x00, 0x00, //0x00002643 jmp LBB0_417 + //0x00002648 LBB0_458 + 0x45, 0x85, 0xc9, //0x00002648 testl %r9d, %r9d + 0x0f, 0x85, 0xa9, 0x03, 0x00, 0x00, //0x0000264b jne LBB0_514 + 0x49, 0x83, 0xc4, 0x20, //0x00002651 addq $32, %r12 + 0x48, 0x83, 0xc3, 0xe0, //0x00002655 addq $-32, %rbx + //0x00002659 LBB0_460 + 0x4d, 0x85, 0xff, //0x00002659 testq %r15, %r15 + 0x0f, 0x85, 0xd2, 0x00, 0x00, 0x00, //0x0000265c jne LBB0_471 + 0x48, 0x8b, 0x75, 0xc0, //0x00002662 movq $-64(%rbp), %rsi + 0x48, 0x85, 0xdb, //0x00002666 testq %rbx, %rbx + 0x0f, 0x84, 0x53, 0x01, 0x00, 0x00, //0x00002669 je LBB0_479 + //0x0000266f LBB0_462 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x0000266f movzbl (%r12), %ecx + 0x80, 0xf9, 0x22, //0x00002674 cmpb $34, %cl + 0x0f, 0x84, 0x71, 0x00, 0x00, 0x00, //0x00002677 je LBB0_468 + 0x80, 0xf9, 0x5c, //0x0000267d cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00002680 je LBB0_466 + 0x80, 0xf9, 0x1f, //0x00002686 cmpb $31, %cl + 0x0f, 0x86, 0x77, 0x03, 0x00, 0x00, //0x00002689 jbe LBB0_515 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000268f movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00002696 movl $1, %edx + 0x49, 0x01, 0xd4, //0x0000269b addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x0000269e addq %rcx, %rbx + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x000026a1 jne LBB0_462 + 0xe9, 0x16, 0x01, 0x00, 0x00, //0x000026a7 jmp LBB0_479 + //0x000026ac LBB0_466 + 0x48, 0x83, 0xfb, 0x01, //0x000026ac cmpq $1, %rbx + 0x0f, 0x84, 0x58, 0x03, 0x00, 0x00, //0x000026b0 je LBB0_516 + 0x4c, 0x89, 0xe0, //0x000026b6 movq %r12, %rax + 0x48, 0x29, 0xf0, //0x000026b9 subq %rsi, %rax + 0x49, 0x83, 0xfb, 0xff, //0x000026bc cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x000026c0 cmoveq %rax, %r11 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000026c4 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x000026cb movl $2, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x000026d0 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x000026d4 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000026d8 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x49, 0x01, 0xd4, //0x000026dd addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x000026e0 addq %rcx, %rbx + 0x0f, 0x85, 0x86, 0xff, 0xff, 0xff, //0x000026e3 jne LBB0_462 + 0xe9, 0xd4, 0x00, 0x00, 0x00, //0x000026e9 jmp LBB0_479 + //0x000026ee LBB0_468 + 0x49, 0x29, 0xf4, //0x000026ee subq %rsi, %r12 + 0x49, 0xff, 0xc4, //0x000026f1 incq %r12 + 0xe9, 0x71, 0xf6, 0xff, 0xff, //0x000026f4 jmp LBB0_323 + //0x000026f9 LBB0_469 + 0x48, 0x85, 0xc9, //0x000026f9 testq %rcx, %rcx + 0x0f, 0x84, 0x0c, 0x03, 0x00, 0x00, //0x000026fc je LBB0_516 + 0x4c, 0x89, 0xc8, //0x00002702 movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00002705 notq %rax + 0x48, 0x01, 0xd8, //0x00002708 addq %rbx, %rax + 0x49, 0x83, 0xfb, 0xff, //0x0000270b cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x0000270f cmoveq %rax, %r11 + 0x48, 0xff, 0xc3, //0x00002713 incq %rbx + 0x48, 0xff, 0xc9, //0x00002716 decq %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002719 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x0000271d movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002721 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xc9, //0x00002726 testq %rcx, %rcx + 0x0f, 0x85, 0x0a, 0xfe, 0xff, 0xff, //0x00002729 jne LBB0_445 + 0xe9, 0x8e, 0x00, 0x00, 0x00, //0x0000272f jmp LBB0_479 + //0x00002734 LBB0_471 + 0x48, 0x85, 0xdb, //0x00002734 testq %rbx, %rbx + 0x0f, 0x84, 0xd1, 0x02, 0x00, 0x00, //0x00002737 je LBB0_516 + 0x48, 0x8b, 0x75, 0xc0, //0x0000273d movq $-64(%rbp), %rsi + 0x48, 0x89, 0xf0, //0x00002741 movq %rsi, %rax + 0x48, 0xf7, 0xd0, //0x00002744 notq %rax + 0x4c, 0x01, 0xe0, //0x00002747 addq %r12, %rax + 0x49, 0x83, 0xfb, 0xff, //0x0000274a cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x0000274e cmoveq %rax, %r11 + 0x49, 0xff, 0xc4, //0x00002752 incq %r12 + 0x48, 0xff, 0xcb, //0x00002755 decq %rbx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002758 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x0000275c movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002760 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xdb, //0x00002765 testq %rbx, %rbx + 0x0f, 0x85, 0x01, 0xff, 0xff, 0xff, //0x00002768 jne LBB0_462 + 0xe9, 0x4f, 0x00, 0x00, 0x00, //0x0000276e jmp LBB0_479 + //0x00002773 LBB0_473 + 0x4d, 0x89, 0x2a, //0x00002773 movq %r13, (%r10) + //0x00002776 LBB0_474 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00002776 movq $-1, %rcx + 0xe9, 0x67, 0x00, 0x00, 0x00, //0x0000277d jmp LBB0_501 + //0x00002782 LBB0_489 + 0x48, 0xc7, 0xc1, 0xf9, 0xff, 0xff, 0xff, //0x00002782 movq $-7, %rcx + 0xe9, 0x5b, 0x00, 0x00, 0x00, //0x00002789 jmp LBB0_501 + //0x0000278e LBB0_475 + 0x49, 0x83, 0xfc, 0xff, //0x0000278e cmpq $-1, %r12 + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x00002792 jne LBB0_487 + //0x00002798 LBB0_476 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00002798 movq $-1, %r12 + 0x4c, 0x8b, 0x45, 0xb8, //0x0000279f movq $-72(%rbp), %r8 + 0xe9, 0x81, 0x00, 0x00, 0x00, //0x000027a3 jmp LBB0_487 + //0x000027a8 LBB0_477 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000027a8 movq $-1, %rcx + 0x48, 0x8b, 0x55, 0xd0, //0x000027af movq $-48(%rbp), %rdx + 0xe9, 0x1d, 0x00, 0x00, 0x00, //0x000027b3 jmp LBB0_481 + //0x000027b8 LBB0_478 + 0x49, 0x83, 0xfc, 0xff, //0x000027b8 cmpq $-1, %r12 + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x000027bc jne LBB0_506 + //0x000027c2 LBB0_479 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000027c2 movq $-1, %r12 + 0x4c, 0x8b, 0x5d, 0xb8, //0x000027c9 movq $-72(%rbp), %r11 + 0xe9, 0x81, 0x00, 0x00, 0x00, //0x000027cd jmp LBB0_506 + //0x000027d2 LBB0_480 + 0x4c, 0x89, 0xf1, //0x000027d2 movq %r14, %rcx + //0x000027d5 LBB0_481 + 0x48, 0x8b, 0x02, //0x000027d5 movq (%rdx), %rax + 0x48, 0x29, 0xc8, //0x000027d8 subq %rcx, %rax + 0x48, 0x83, 0xc0, 0xfe, //0x000027db addq $-2, %rax + 0x48, 0x89, 0x02, //0x000027df movq %rax, (%rdx) + //0x000027e2 LBB0_500 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000027e2 movq $-2, %rcx + //0x000027e9 LBB0_501 + 0x48, 0x89, 0xc8, //0x000027e9 movq %rcx, %rax + 0x48, 0x83, 0xc4, 0x48, //0x000027ec addq $72, %rsp + 0x5b, //0x000027f0 popq %rbx + 0x41, 0x5c, //0x000027f1 popq %r12 + 0x41, 0x5d, //0x000027f3 popq %r13 + 0x41, 0x5e, //0x000027f5 popq %r14 + 0x41, 0x5f, //0x000027f7 popq %r15 + 0x5d, //0x000027f9 popq %rbp + 0xc5, 0xf8, 0x77, //0x000027fa vzeroupper + 0xc3, //0x000027fd retq + //0x000027fe LBB0_490 + 0x49, 0x89, 0x12, //0x000027fe movq %rdx, (%r10) + 0xe9, 0xe3, 0xff, 0xff, 0xff, //0x00002801 jmp LBB0_501 + //0x00002806 LBB0_482 + 0x49, 0x83, 0xf8, 0xff, //0x00002806 cmpq $-1, %r8 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000280a jne LBB0_485 + 0x48, 0x0f, 0xbc, 0xc6, //0x00002810 bsfq %rsi, %rax + 0x4c, 0x2b, 0x65, 0xc0, //0x00002814 subq $-64(%rbp), %r12 + 0x49, 0x01, 0xc4, //0x00002818 addq %rax, %r12 + //0x0000281b LBB0_484 + 0x4d, 0x89, 0xe0, //0x0000281b movq %r12, %r8 + //0x0000281e LBB0_485 + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x0000281e movq $-2, %r12 + //0x00002825 LBB0_486 + 0x4c, 0x8b, 0x55, 0xd0, //0x00002825 movq $-48(%rbp), %r10 + //0x00002829 LBB0_487 + 0x4d, 0x89, 0x02, //0x00002829 movq %r8, (%r10) + 0x4c, 0x89, 0xe1, //0x0000282c movq %r12, %rcx + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x0000282f jmp LBB0_501 + //0x00002834 LBB0_502 + 0x49, 0x83, 0xfb, 0xff, //0x00002834 cmpq $-1, %r11 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00002838 jne LBB0_505 + 0x48, 0x0f, 0xbc, 0xc6, //0x0000283e bsfq %rsi, %rax + 0x4c, 0x2b, 0x65, 0xc0, //0x00002842 subq $-64(%rbp), %r12 + 0x49, 0x01, 0xc4, //0x00002846 addq %rax, %r12 + //0x00002849 LBB0_504 + 0x4d, 0x89, 0xe3, //0x00002849 movq %r12, %r11 + //0x0000284c LBB0_505 + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x0000284c movq $-2, %r12 + //0x00002853 LBB0_506 + 0x4d, 0x89, 0x1a, //0x00002853 movq %r11, (%r10) + 0x4c, 0x89, 0xe1, //0x00002856 movq %r12, %rcx + 0xe9, 0x8b, 0xff, 0xff, 0xff, //0x00002859 jmp LBB0_501 + //0x0000285e LBB0_233 + 0x4d, 0x89, 0x2a, //0x0000285e movq %r13, (%r10) + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002861 movq $-2, %rcx + 0x41, 0x80, 0x3f, 0x6e, //0x00002868 cmpb $110, (%r15) + 0x0f, 0x85, 0x77, 0xff, 0xff, 0xff, //0x0000286c jne LBB0_501 + 0x49, 0x8d, 0x45, 0x01, //0x00002872 leaq $1(%r13), %rax + 0x49, 0x89, 0x02, //0x00002876 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x01, 0x75, //0x00002879 cmpb $117, $1(%r9,%r13) + 0x0f, 0x85, 0x64, 0xff, 0xff, 0xff, //0x0000287f jne LBB0_501 + 0x49, 0x8d, 0x45, 0x02, //0x00002885 leaq $2(%r13), %rax + 0x49, 0x89, 0x02, //0x00002889 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x02, 0x6c, //0x0000288c cmpb $108, $2(%r9,%r13) + 0x0f, 0x85, 0x51, 0xff, 0xff, 0xff, //0x00002892 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x03, //0x00002898 leaq $3(%r13), %rax + 0x49, 0x89, 0x02, //0x0000289c movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x03, 0x6c, //0x0000289f cmpb $108, $3(%r9,%r13) + 0x0f, 0x85, 0x3e, 0xff, 0xff, 0xff, //0x000028a5 jne LBB0_501 + 0xe9, 0xa2, 0x00, 0x00, 0x00, //0x000028ab jmp LBB0_237 + //0x000028b0 LBB0_491 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000028b0 movq $-2, %rcx + 0x80, 0xfa, 0x61, //0x000028b7 cmpb $97, %dl + 0x0f, 0x85, 0x29, 0xff, 0xff, 0xff, //0x000028ba jne LBB0_501 + 0x49, 0x8d, 0x45, 0x02, //0x000028c0 leaq $2(%r13), %rax + 0x49, 0x89, 0x02, //0x000028c4 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x02, 0x6c, //0x000028c7 cmpb $108, $2(%r9,%r13) + 0x0f, 0x85, 0x16, 0xff, 0xff, 0xff, //0x000028cd jne LBB0_501 + 0x49, 0x8d, 0x45, 0x03, //0x000028d3 leaq $3(%r13), %rax + 0x49, 0x89, 0x02, //0x000028d7 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x03, 0x73, //0x000028da cmpb $115, $3(%r9,%r13) + 0x0f, 0x85, 0x03, 0xff, 0xff, 0xff, //0x000028e0 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x04, //0x000028e6 leaq $4(%r13), %rax + 0x49, 0x89, 0x02, //0x000028ea movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x04, 0x65, //0x000028ed cmpb $101, $4(%r9,%r13) + 0x0f, 0x85, 0xf0, 0xfe, 0xff, 0xff, //0x000028f3 jne LBB0_501 + 0x49, 0x83, 0xc5, 0x05, //0x000028f9 addq $5, %r13 + 0x4d, 0x89, 0x2a, //0x000028fd movq %r13, (%r10) + 0xe9, 0xe4, 0xfe, 0xff, 0xff, //0x00002900 jmp LBB0_501 + //0x00002905 LBB0_245 + 0x4d, 0x89, 0x2a, //0x00002905 movq %r13, (%r10) + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002908 movq $-2, %rcx + 0x41, 0x80, 0x3f, 0x74, //0x0000290f cmpb $116, (%r15) + 0x0f, 0x85, 0xd0, 0xfe, 0xff, 0xff, //0x00002913 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x01, //0x00002919 leaq $1(%r13), %rax + 0x49, 0x89, 0x02, //0x0000291d movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x01, 0x72, //0x00002920 cmpb $114, $1(%r9,%r13) + 0x0f, 0x85, 0xbd, 0xfe, 0xff, 0xff, //0x00002926 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x02, //0x0000292c leaq $2(%r13), %rax + 0x49, 0x89, 0x02, //0x00002930 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x02, 0x75, //0x00002933 cmpb $117, $2(%r9,%r13) + 0x0f, 0x85, 0xaa, 0xfe, 0xff, 0xff, //0x00002939 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x03, //0x0000293f leaq $3(%r13), %rax + 0x49, 0x89, 0x02, //0x00002943 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x03, 0x65, //0x00002946 cmpb $101, $3(%r9,%r13) + 0x0f, 0x85, 0x97, 0xfe, 0xff, 0xff, //0x0000294c jne LBB0_501 + //0x00002952 LBB0_237 + 0x49, 0x83, 0xc5, 0x04, //0x00002952 addq $4, %r13 + 0x4d, 0x89, 0x2a, //0x00002956 movq %r13, (%r10) + 0xe9, 0x8b, 0xfe, 0xff, 0xff, //0x00002959 jmp LBB0_501 + //0x0000295e LBB0_497 + 0x4d, 0x8b, 0x22, //0x0000295e movq (%r10), %r12 + //0x00002961 LBB0_498 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00002961 movq $-1, %r15 + //0x00002968 LBB0_499 + 0x49, 0xf7, 0xd7, //0x00002968 notq %r15 + 0x4d, 0x01, 0xe7, //0x0000296b addq %r12, %r15 + 0x4d, 0x89, 0x3a, //0x0000296e movq %r15, (%r10) + 0xe9, 0x6c, 0xfe, 0xff, 0xff, //0x00002971 jmp LBB0_500 + //0x00002976 LBB0_510 + 0x4c, 0x89, 0x65, 0xb8, //0x00002976 movq %r12, $-72(%rbp) + 0xe9, 0x43, 0xfe, 0xff, 0xff, //0x0000297a jmp LBB0_479 + //0x0000297f LBB0_507 + 0x4c, 0x89, 0x65, 0xb8, //0x0000297f movq %r12, $-72(%rbp) + 0xe9, 0x10, 0xfe, 0xff, 0xff, //0x00002983 jmp LBB0_476 + //0x00002988 LBB0_508 + 0x4c, 0x89, 0x65, 0xb8, //0x00002988 movq %r12, $-72(%rbp) + 0x4c, 0x8b, 0x55, 0xd0, //0x0000298c movq $-48(%rbp), %r10 + 0xe9, 0x03, 0xfe, 0xff, 0xff, //0x00002990 jmp LBB0_476 + //0x00002995 LBB0_509 + 0x4c, 0x01, 0xe2, //0x00002995 addq %r12, %rdx + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x00002998 movq $-2, %r12 + 0x49, 0x89, 0xd0, //0x0000299f movq %rdx, %r8 + 0xe9, 0x82, 0xfe, 0xff, 0xff, //0x000029a2 jmp LBB0_487 + //0x000029a7 LBB0_433 + 0x4c, 0x8b, 0x55, 0xd0, //0x000029a7 movq $-48(%rbp), %r10 + 0xe9, 0xe8, 0xfd, 0xff, 0xff, //0x000029ab jmp LBB0_476 + //0x000029b0 LBB0_129 + 0x4c, 0x01, 0xe2, //0x000029b0 addq %r12, %rdx + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x000029b3 movq $-2, %r12 + 0x49, 0x89, 0xd3, //0x000029ba movq %rdx, %r11 + 0xe9, 0x91, 0xfe, 0xff, 0xff, //0x000029bd jmp LBB0_506 + //0x000029c2 LBB0_511 + 0x4c, 0x01, 0xe7, //0x000029c2 addq %r12, %rdi + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x000029c5 movq $-2, %r12 + 0x49, 0x89, 0xf8, //0x000029cc movq %rdi, %r8 + 0xe9, 0x51, 0xfe, 0xff, 0xff, //0x000029cf jmp LBB0_486 + //0x000029d4 LBB0_512 + 0x4c, 0x2b, 0x65, 0xc0, //0x000029d4 subq $-64(%rbp), %r12 + 0x49, 0x01, 0xd4, //0x000029d8 addq %rdx, %r12 + 0xe9, 0x3b, 0xfe, 0xff, 0xff, //0x000029db jmp LBB0_484 + //0x000029e0 LBB0_417 + 0x4c, 0x01, 0xe7, //0x000029e0 addq %r12, %rdi + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x000029e3 movq $-2, %r12 + 0x49, 0x89, 0xfb, //0x000029ea movq %rdi, %r11 + 0xe9, 0x61, 0xfe, 0xff, 0xff, //0x000029ed jmp LBB0_506 + //0x000029f2 LBB0_513 + 0x49, 0x29, 0xc4, //0x000029f2 subq %rax, %r12 + 0xe9, 0x21, 0xfe, 0xff, 0xff, //0x000029f5 jmp LBB0_484 + //0x000029fa LBB0_514 + 0x4c, 0x2b, 0x65, 0xc0, //0x000029fa subq $-64(%rbp), %r12 + 0x49, 0x01, 0xd4, //0x000029fe addq %rdx, %r12 + 0xe9, 0x43, 0xfe, 0xff, 0xff, //0x00002a01 jmp LBB0_504 + //0x00002a06 LBB0_515 + 0x49, 0x29, 0xf4, //0x00002a06 subq %rsi, %r12 + 0xe9, 0x3b, 0xfe, 0xff, 0xff, //0x00002a09 jmp LBB0_504 + //0x00002a0e LBB0_516 + 0x4c, 0x8b, 0x55, 0xd0, //0x00002a0e movq $-48(%rbp), %r10 + 0xe9, 0xab, 0xfd, 0xff, 0xff, //0x00002a12 jmp LBB0_479 + 0x90, //0x00002a17 .p2align 2, 0x90 + // // .set L0_0_set_39, LBB0_39-LJTI0_0 + // // .set L0_0_set_63, LBB0_63-LJTI0_0 + // // .set L0_0_set_44, LBB0_44-LJTI0_0 + // // .set L0_0_set_61, LBB0_61-LJTI0_0 + // // .set L0_0_set_42, LBB0_42-LJTI0_0 + // // .set L0_0_set_65, LBB0_65-LJTI0_0 + //0x00002a18 LJTI0_0 + 0xc4, 0xda, 0xff, 0xff, //0x00002a18 .long L0_0_set_39 + 0x6c, 0xdc, 0xff, 0xff, //0x00002a1c .long L0_0_set_63 + 0xfb, 0xda, 0xff, 0xff, //0x00002a20 .long L0_0_set_44 + 0x55, 0xdc, 0xff, 0xff, //0x00002a24 .long L0_0_set_61 + 0xdb, 0xda, 0xff, 0xff, //0x00002a28 .long L0_0_set_42 + 0x97, 0xdc, 0xff, 0xff, //0x00002a2c .long L0_0_set_65 + // // .set L0_1_set_501, LBB0_501-LJTI0_1 + // // .set L0_1_set_500, LBB0_500-LJTI0_1 + // // .set L0_1_set_211, LBB0_211-LJTI0_1 + // // .set L0_1_set_227, LBB0_227-LJTI0_1 + // // .set L0_1_set_69, LBB0_69-LJTI0_1 + // // .set L0_1_set_209, LBB0_209-LJTI0_1 + // // .set L0_1_set_240, LBB0_240-LJTI0_1 + // // .set L0_1_set_231, LBB0_231-LJTI0_1 + // // .set L0_1_set_243, LBB0_243-LJTI0_1 + // // .set L0_1_set_238, LBB0_238-LJTI0_1 + //0x00002a30 LJTI0_1 + 0xb9, 0xfd, 0xff, 0xff, //0x00002a30 .long L0_1_set_501 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a34 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a38 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a3c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a40 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a44 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a48 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a4c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a50 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a54 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a58 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a5c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a60 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a64 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a68 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a6c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a70 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a74 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a78 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a7c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a80 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a84 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a88 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a8c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a90 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a94 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a98 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a9c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aa0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aa4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aa8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aac .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ab0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ab4 .long L0_1_set_500 + 0x1e, 0xe7, 0xff, 0xff, //0x00002ab8 .long L0_1_set_211 + 0xb2, 0xfd, 0xff, 0xff, //0x00002abc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ac0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ac4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ac8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002acc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ad0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ad4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ad8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002adc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ae0 .long L0_1_set_500 + 0x6d, 0xe8, 0xff, 0xff, //0x00002ae4 .long L0_1_set_227 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ae8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aec .long L0_1_set_500 + 0xcb, 0xdc, 0xff, 0xff, //0x00002af0 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002af4 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002af8 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002afc .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b00 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b04 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b08 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b0c .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b10 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b14 .long L0_1_set_69 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b18 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b1c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b20 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b24 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b28 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b2c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b30 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b34 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b38 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b3c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b40 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b44 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b48 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b4c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b50 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b54 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b58 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b5c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b60 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b64 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b68 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b6c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b70 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b74 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b78 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b7c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b80 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b84 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b88 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b8c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b90 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b94 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b98 .long L0_1_set_500 + 0xfa, 0xe6, 0xff, 0xff, //0x00002b9c .long L0_1_set_209 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ba0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ba4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ba8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bac .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bb0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bb4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bb8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bbc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bc0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bc4 .long L0_1_set_500 + 0xf8, 0xe8, 0xff, 0xff, //0x00002bc8 .long L0_1_set_240 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bcc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bd0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bd4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bd8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bdc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002be0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002be4 .long L0_1_set_500 + 0xad, 0xe8, 0xff, 0xff, //0x00002be8 .long L0_1_set_231 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bec .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bf0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bf4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bf8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bfc .long L0_1_set_500 + 0x38, 0xe9, 0xff, 0xff, //0x00002c00 .long L0_1_set_243 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c04 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c08 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c0c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c10 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c14 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c18 .long L0_1_set_500 + 0xd4, 0xe8, 0xff, 0xff, //0x00002c1c .long L0_1_set_238 + // // .set L0_2_set_311, LBB0_311-LJTI0_2 + // // .set L0_2_set_326, LBB0_326-LJTI0_2 + // // .set L0_2_set_318, LBB0_318-LJTI0_2 + // // .set L0_2_set_313, LBB0_313-LJTI0_2 + // // .set L0_2_set_316, LBB0_316-LJTI0_2 + //0x00002c20 LJTI0_2 + 0x77, 0xec, 0xff, 0xff, //0x00002c20 .long L0_2_set_311 + 0x54, 0xed, 0xff, 0xff, //0x00002c24 .long L0_2_set_326 + 0x77, 0xec, 0xff, 0xff, //0x00002c28 .long L0_2_set_311 + 0xdb, 0xec, 0xff, 0xff, //0x00002c2c .long L0_2_set_318 + 0x54, 0xed, 0xff, 0xff, //0x00002c30 .long L0_2_set_326 + 0x90, 0xec, 0xff, 0xff, //0x00002c34 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c38 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c3c .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c40 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c44 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c48 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c4c .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c50 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c54 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c58 .long L0_2_set_313 + 0x54, 0xed, 0xff, 0xff, //0x00002c5c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c60 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c64 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c68 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c6c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c70 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c74 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c78 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c7c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c80 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c84 .long L0_2_set_326 + 0xc0, 0xec, 0xff, 0xff, //0x00002c88 .long L0_2_set_316 + 0x54, 0xed, 0xff, 0xff, //0x00002c8c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c90 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c94 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c98 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c9c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ca0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ca4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ca8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cac .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cb0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cb4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cb8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cbc .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cc0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cc4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cc8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ccc .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cd0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cd4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cd8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cdc .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ce0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ce4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ce8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cec .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cf0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cf4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cf8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cfc .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002d00 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002d04 .long L0_2_set_326 + 0xc0, 0xec, 0xff, 0xff, //0x00002d08 .long L0_2_set_316 + // // .set L0_3_set_171, LBB0_171-LJTI0_3 + // // .set L0_3_set_187, LBB0_187-LJTI0_3 + // // .set L0_3_set_178, LBB0_178-LJTI0_3 + // // .set L0_3_set_173, LBB0_173-LJTI0_3 + // // .set L0_3_set_176, LBB0_176-LJTI0_3 + //0x00002d0c LJTI0_3 + 0x56, 0xdd, 0xff, 0xff, //0x00002d0c .long L0_3_set_171 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d10 .long L0_3_set_187 + 0x56, 0xdd, 0xff, 0xff, //0x00002d14 .long L0_3_set_171 + 0xbf, 0xdd, 0xff, 0xff, //0x00002d18 .long L0_3_set_178 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d1c .long L0_3_set_187 + 0x74, 0xdd, 0xff, 0xff, //0x00002d20 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d24 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d28 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d2c .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d30 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d34 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d38 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d3c .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d40 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d44 .long L0_3_set_173 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d48 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d4c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d50 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d54 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d58 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d5c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d60 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d64 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d68 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d6c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d70 .long L0_3_set_187 + 0xa4, 0xdd, 0xff, 0xff, //0x00002d74 .long L0_3_set_176 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d78 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d7c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d80 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d84 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d88 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d8c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d90 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d94 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d98 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d9c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002da0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002da4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002da8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dac .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002db0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002db4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002db8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dbc .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dc0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dc4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dc8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dcc .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dd0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dd4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dd8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002ddc .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002de0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002de4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002de8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dec .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002df0 .long L0_3_set_187 + 0xa4, 0xdd, 0xff, 0xff, //0x00002df4 .long L0_3_set_176 + //0x00002df8 .p2align 2, 0x00 + //0x00002df8 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00002df8 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one.go new file mode 100644 index 0000000..3d02752 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_one func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_skip_one uintptr + +//go:nosplit +func skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_skip_one(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_fast.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_fast.go new file mode 100644 index 0000000..3f814ea --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_fast.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_one_fast func(s unsafe.Pointer, p unsafe.Pointer) (ret int) + +var S_skip_one_fast uintptr + +//go:nosplit +func skip_one_fast(s *string, p *int) (ret int) { + return F_skip_one_fast(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p))) +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_fast_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_fast_subr.go new file mode 100644 index 0000000..5d52c29 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_fast_subr.go @@ -0,0 +1,45 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_one_fast = 336 +) + +const ( + _stack__skip_one_fast = 176 +) + +const ( + _size__skip_one_fast = 2804 +) + +var ( + _pcsp__skip_one_fast = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {847, 176}, + {848, 168}, + {850, 160}, + {852, 152}, + {854, 144}, + {856, 136}, + {860, 128}, + {2804, 176}, + } +) + +var _cfunc_skip_one_fast = []loader.CFunc{ + {"_skip_one_fast_entry", 0, _entry__skip_one_fast, 0, nil}, + {"_skip_one_fast", _entry__skip_one_fast, _size__skip_one_fast, _stack__skip_one_fast, _pcsp__skip_one_fast}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_fast_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_fast_text_amd64.go new file mode 100644 index 0000000..f74f814 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_fast_text_amd64.go @@ -0,0 +1,952 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_skip_one_fast = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x20, // .byte 32 + 0x00, //0x00000001 .byte 0 + 0x00, //0x00000002 .byte 0 + 0x00, //0x00000003 .byte 0 + 0x00, //0x00000004 .byte 0 + 0x00, //0x00000005 .byte 0 + 0x00, //0x00000006 .byte 0 + 0x00, //0x00000007 .byte 0 + 0x00, //0x00000008 .byte 0 + 0x09, //0x00000009 .byte 9 + 0x0a, //0x0000000a .byte 10 + 0x00, //0x0000000b .byte 0 + 0x00, //0x0000000c .byte 0 + 0x0d, //0x0000000d .byte 13 + 0x00, //0x0000000e .byte 0 + 0x00, //0x0000000f .byte 0 + 0x20, //0x00000010 .byte 32 + 0x00, //0x00000011 .byte 0 + 0x00, //0x00000012 .byte 0 + 0x00, //0x00000013 .byte 0 + 0x00, //0x00000014 .byte 0 + 0x00, //0x00000015 .byte 0 + 0x00, //0x00000016 .byte 0 + 0x00, //0x00000017 .byte 0 + 0x00, //0x00000018 .byte 0 + 0x09, //0x00000019 .byte 9 + 0x0a, //0x0000001a .byte 10 + 0x00, //0x0000001b .byte 0 + 0x00, //0x0000001c .byte 0 + 0x0d, //0x0000001d .byte 13 + 0x00, //0x0000001e .byte 0 + 0x00, //0x0000001f .byte 0 + //0x00000020 LCPI0_1 + 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, //0x00000020 QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' + 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, //0x00000030 QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' + //0x00000040 LCPI0_2 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000040 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000050 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000060 LCPI0_3 + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, //0x00000060 QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, //0x00000070 QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' + //0x00000080 LCPI0_7 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000080 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000090 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x000000a0 LCPI0_8 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x000000a0 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x000000b0 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x000000c0 LCPI0_9 + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, //0x000000c0 QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, //0x000000d0 QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' + //0x000000e0 LCPI0_10 + 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, //0x000000e0 QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' + 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, //0x000000f0 QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' + //0x00000100 LCPI0_11 + 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, //0x00000100 QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' + 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, //0x00000110 QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' + //0x00000120 .p2align 4, 0x00 + //0x00000120 LCPI0_4 + 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, //0x00000120 QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' + //0x00000130 LCPI0_5 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000130 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000140 LCPI0_6 + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, //0x00000140 QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' + //0x00000150 .p2align 4, 0x90 + //0x00000150 _skip_one_fast + 0x55, //0x00000150 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000151 movq %rsp, %rbp + 0x41, 0x57, //0x00000154 pushq %r15 + 0x41, 0x56, //0x00000156 pushq %r14 + 0x41, 0x55, //0x00000158 pushq %r13 + 0x41, 0x54, //0x0000015a pushq %r12 + 0x53, //0x0000015c pushq %rbx + 0x48, 0x81, 0xec, 0x80, 0x00, 0x00, 0x00, //0x0000015d subq $128, %rsp + 0x4c, 0x8b, 0x37, //0x00000164 movq (%rdi), %r14 + 0x4c, 0x8b, 0x47, 0x08, //0x00000167 movq $8(%rdi), %r8 + 0x48, 0x8b, 0x06, //0x0000016b movq (%rsi), %rax + 0x4c, 0x39, 0xc0, //0x0000016e cmpq %r8, %rax + 0x0f, 0x83, 0x2a, 0x00, 0x00, 0x00, //0x00000171 jae LBB0_5 + 0x41, 0x8a, 0x0c, 0x06, //0x00000177 movb (%r14,%rax), %cl + 0x80, 0xf9, 0x0d, //0x0000017b cmpb $13, %cl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x0000017e je LBB0_5 + 0x80, 0xf9, 0x20, //0x00000184 cmpb $32, %cl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00000187 je LBB0_5 + 0x80, 0xc1, 0xf7, //0x0000018d addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00000190 cmpb $1, %cl + 0x0f, 0x86, 0x08, 0x00, 0x00, 0x00, //0x00000193 jbe LBB0_5 + 0x48, 0x89, 0xc1, //0x00000199 movq %rax, %rcx + 0xe9, 0x89, 0x01, 0x00, 0x00, //0x0000019c jmp LBB0_32 + //0x000001a1 LBB0_5 + 0x48, 0x8d, 0x48, 0x01, //0x000001a1 leaq $1(%rax), %rcx + 0x4c, 0x39, 0xc1, //0x000001a5 cmpq %r8, %rcx + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x000001a8 jae LBB0_9 + 0x41, 0x8a, 0x14, 0x0e, //0x000001ae movb (%r14,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x000001b2 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x000001b5 je LBB0_9 + 0x80, 0xfa, 0x20, //0x000001bb cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x000001be je LBB0_9 + 0x80, 0xc2, 0xf7, //0x000001c4 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000001c7 cmpb $1, %dl + 0x0f, 0x87, 0x5a, 0x01, 0x00, 0x00, //0x000001ca ja LBB0_32 + //0x000001d0 LBB0_9 + 0x48, 0x8d, 0x48, 0x02, //0x000001d0 leaq $2(%rax), %rcx + 0x4c, 0x39, 0xc1, //0x000001d4 cmpq %r8, %rcx + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x000001d7 jae LBB0_13 + 0x41, 0x8a, 0x14, 0x0e, //0x000001dd movb (%r14,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x000001e1 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x000001e4 je LBB0_13 + 0x80, 0xfa, 0x20, //0x000001ea cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x000001ed je LBB0_13 + 0x80, 0xc2, 0xf7, //0x000001f3 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000001f6 cmpb $1, %dl + 0x0f, 0x87, 0x2b, 0x01, 0x00, 0x00, //0x000001f9 ja LBB0_32 + //0x000001ff LBB0_13 + 0x48, 0x8d, 0x48, 0x03, //0x000001ff leaq $3(%rax), %rcx + 0x4c, 0x39, 0xc1, //0x00000203 cmpq %r8, %rcx + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000206 jae LBB0_17 + 0x41, 0x8a, 0x14, 0x0e, //0x0000020c movb (%r14,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x00000210 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000213 je LBB0_17 + 0x80, 0xfa, 0x20, //0x00000219 cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000021c je LBB0_17 + 0x80, 0xc2, 0xf7, //0x00000222 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000225 cmpb $1, %dl + 0x0f, 0x87, 0xfc, 0x00, 0x00, 0x00, //0x00000228 ja LBB0_32 + //0x0000022e LBB0_17 + 0x48, 0x8d, 0x48, 0x04, //0x0000022e leaq $4(%rax), %rcx + 0x4c, 0x89, 0xc2, //0x00000232 movq %r8, %rdx + 0x48, 0x29, 0xca, //0x00000235 subq %rcx, %rdx + 0x0f, 0x86, 0xbf, 0x00, 0x00, 0x00, //0x00000238 jbe LBB0_30 + 0x4c, 0x01, 0xf1, //0x0000023e addq %r14, %rcx + 0x48, 0x83, 0xfa, 0x20, //0x00000241 cmpq $32, %rdx + 0x0f, 0x82, 0x57, 0x00, 0x00, 0x00, //0x00000245 jb LBB0_23 + 0x4d, 0x89, 0xc2, //0x0000024b movq %r8, %r10 + 0x49, 0x29, 0xc2, //0x0000024e subq %rax, %r10 + 0x49, 0x83, 0xc2, 0xdc, //0x00000251 addq $-36, %r10 + 0x4c, 0x89, 0xd3, //0x00000255 movq %r10, %rbx + 0x48, 0x83, 0xe3, 0xe0, //0x00000258 andq $-32, %rbx + 0x48, 0x01, 0xc3, //0x0000025c addq %rax, %rbx + 0x4d, 0x8d, 0x4c, 0x1e, 0x24, //0x0000025f leaq $36(%r14,%rbx), %r9 + 0x41, 0x83, 0xe2, 0x1f, //0x00000264 andl $31, %r10d + 0xc5, 0xfe, 0x6f, 0x05, 0x90, 0xfd, 0xff, 0xff, //0x00000268 vmovdqu $-624(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + //0x00000270 .p2align 4, 0x90 + //0x00000270 LBB0_20 + 0xc5, 0xfe, 0x6f, 0x09, //0x00000270 vmovdqu (%rcx), %ymm1 + 0xc4, 0xe2, 0x7d, 0x00, 0xd1, //0x00000274 vpshufb %ymm1, %ymm0, %ymm2 + 0xc5, 0xf5, 0x74, 0xca, //0x00000279 vpcmpeqb %ymm2, %ymm1, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc1, //0x0000027d vpmovmskb %ymm1, %eax + 0x83, 0xf8, 0xff, //0x00000281 cmpl $-1, %eax + 0x0f, 0x85, 0x82, 0x00, 0x00, 0x00, //0x00000284 jne LBB0_31 + 0x48, 0x83, 0xc1, 0x20, //0x0000028a addq $32, %rcx + 0x48, 0x83, 0xc2, 0xe0, //0x0000028e addq $-32, %rdx + 0x48, 0x83, 0xfa, 0x1f, //0x00000292 cmpq $31, %rdx + 0x0f, 0x87, 0xd4, 0xff, 0xff, 0xff, //0x00000296 ja LBB0_20 + 0x4c, 0x89, 0xd2, //0x0000029c movq %r10, %rdx + 0x4c, 0x89, 0xc9, //0x0000029f movq %r9, %rcx + //0x000002a2 LBB0_23 + 0x48, 0x85, 0xd2, //0x000002a2 testq %rdx, %rdx + 0x0f, 0x84, 0x3a, 0x00, 0x00, 0x00, //0x000002a5 je LBB0_29 + 0x4c, 0x8d, 0x0c, 0x11, //0x000002ab leaq (%rcx,%rdx), %r9 + 0x48, 0xff, 0xc1, //0x000002af incq %rcx + 0x48, 0xbb, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000002b2 movabsq $4294977024, %rbx + //0x000002bc LBB0_25 + 0x0f, 0xbe, 0x41, 0xff, //0x000002bc movsbl $-1(%rcx), %eax + 0x83, 0xf8, 0x20, //0x000002c0 cmpl $32, %eax + 0x0f, 0x87, 0x1c, 0x09, 0x00, 0x00, //0x000002c3 ja LBB0_128 + 0x48, 0x0f, 0xa3, 0xc3, //0x000002c9 btq %rax, %rbx + 0x0f, 0x83, 0x12, 0x09, 0x00, 0x00, //0x000002cd jae LBB0_128 + 0x48, 0xff, 0xca, //0x000002d3 decq %rdx + 0x48, 0xff, 0xc1, //0x000002d6 incq %rcx + 0x48, 0x85, 0xd2, //0x000002d9 testq %rdx, %rdx + 0x0f, 0x85, 0xda, 0xff, 0xff, 0xff, //0x000002dc jne LBB0_25 + 0x4c, 0x89, 0xc9, //0x000002e2 movq %r9, %rcx + //0x000002e5 LBB0_29 + 0x4c, 0x29, 0xf1, //0x000002e5 subq %r14, %rcx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000002e8 movq $-1, %rax + 0x4c, 0x39, 0xc1, //0x000002ef cmpq %r8, %rcx + 0x0f, 0x82, 0x32, 0x00, 0x00, 0x00, //0x000002f2 jb LBB0_32 + 0xe9, 0x9e, 0x01, 0x00, 0x00, //0x000002f8 jmp LBB0_56 + //0x000002fd LBB0_30 + 0x48, 0x89, 0x0e, //0x000002fd movq %rcx, (%rsi) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000300 movq $-1, %rax + 0xe9, 0x8f, 0x01, 0x00, 0x00, //0x00000307 jmp LBB0_56 + //0x0000030c LBB0_31 + 0x4c, 0x29, 0xf1, //0x0000030c subq %r14, %rcx + 0xf7, 0xd0, //0x0000030f notl %eax + 0x48, 0x98, //0x00000311 cltq + 0x48, 0x0f, 0xbc, 0xc0, //0x00000313 bsfq %rax, %rax + 0x48, 0x01, 0xc1, //0x00000317 addq %rax, %rcx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000031a movq $-1, %rax + 0x4c, 0x39, 0xc1, //0x00000321 cmpq %r8, %rcx + 0x0f, 0x83, 0x71, 0x01, 0x00, 0x00, //0x00000324 jae LBB0_56 + //0x0000032a LBB0_32 + 0x48, 0x8d, 0x59, 0x01, //0x0000032a leaq $1(%rcx), %rbx + 0x48, 0x89, 0x1e, //0x0000032e movq %rbx, (%rsi) + 0x41, 0x0f, 0xbe, 0x14, 0x0e, //0x00000331 movsbl (%r14,%rcx), %edx + 0x83, 0xfa, 0x7b, //0x00000336 cmpl $123, %edx + 0x0f, 0x87, 0x81, 0x01, 0x00, 0x00, //0x00000339 ja LBB0_58 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000033f movq $-1, %rax + 0x4c, 0x8d, 0x05, 0xf7, 0x08, 0x00, 0x00, //0x00000346 leaq $2295(%rip), %r8 /* LJTI0_0+0(%rip) */ + 0x49, 0x63, 0x14, 0x90, //0x0000034d movslq (%r8,%rdx,4), %rdx + 0x4c, 0x01, 0xc2, //0x00000351 addq %r8, %rdx + 0xff, 0xe2, //0x00000354 jmpq *%rdx + //0x00000356 LBB0_34 + 0x48, 0x8b, 0x57, 0x08, //0x00000356 movq $8(%rdi), %rdx + 0x48, 0x89, 0xd0, //0x0000035a movq %rdx, %rax + 0x48, 0x29, 0xd8, //0x0000035d subq %rbx, %rax + 0x4c, 0x01, 0xf3, //0x00000360 addq %r14, %rbx + 0x48, 0x83, 0xf8, 0x20, //0x00000363 cmpq $32, %rax + 0x0f, 0x82, 0x6b, 0x00, 0x00, 0x00, //0x00000367 jb LBB0_39 + 0x48, 0x29, 0xca, //0x0000036d subq %rcx, %rdx + 0x48, 0x83, 0xc2, 0xdf, //0x00000370 addq $-33, %rdx + 0x48, 0x89, 0xd7, //0x00000374 movq %rdx, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x00000377 andq $-32, %rdi + 0x48, 0x01, 0xcf, //0x0000037b addq %rcx, %rdi + 0x4d, 0x8d, 0x44, 0x3e, 0x21, //0x0000037e leaq $33(%r14,%rdi), %r8 + 0x83, 0xe2, 0x1f, //0x00000383 andl $31, %edx + 0xc5, 0xfe, 0x6f, 0x05, 0x92, 0xfc, 0xff, 0xff, //0x00000386 vmovdqu $-878(%rip), %ymm0 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0xaa, 0xfc, 0xff, 0xff, //0x0000038e vmovdqu $-854(%rip), %ymm1 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x15, 0xc2, 0xfc, 0xff, 0xff, //0x00000396 vmovdqu $-830(%rip), %ymm2 /* LCPI0_3+0(%rip) */ + 0x90, 0x90, //0x0000039e .p2align 4, 0x90 + //0x000003a0 LBB0_36 + 0xc5, 0xfe, 0x6f, 0x1b, //0x000003a0 vmovdqu (%rbx), %ymm3 + 0xc5, 0xe5, 0x74, 0xe0, //0x000003a4 vpcmpeqb %ymm0, %ymm3, %ymm4 + 0xc5, 0xe5, 0xeb, 0xd9, //0x000003a8 vpor %ymm1, %ymm3, %ymm3 + 0xc5, 0xe5, 0x74, 0xda, //0x000003ac vpcmpeqb %ymm2, %ymm3, %ymm3 + 0xc5, 0xe5, 0xeb, 0xdc, //0x000003b0 vpor %ymm4, %ymm3, %ymm3 + 0xc5, 0xfd, 0xd7, 0xfb, //0x000003b4 vpmovmskb %ymm3, %edi + 0x85, 0xff, //0x000003b8 testl %edi, %edi + 0x0f, 0x85, 0xc8, 0x00, 0x00, 0x00, //0x000003ba jne LBB0_52 + 0x48, 0x83, 0xc3, 0x20, //0x000003c0 addq $32, %rbx + 0x48, 0x83, 0xc0, 0xe0, //0x000003c4 addq $-32, %rax + 0x48, 0x83, 0xf8, 0x1f, //0x000003c8 cmpq $31, %rax + 0x0f, 0x87, 0xce, 0xff, 0xff, 0xff, //0x000003cc ja LBB0_36 + 0x48, 0x89, 0xd0, //0x000003d2 movq %rdx, %rax + 0x4c, 0x89, 0xc3, //0x000003d5 movq %r8, %rbx + //0x000003d8 LBB0_39 + 0x48, 0x83, 0xf8, 0x10, //0x000003d8 cmpq $16, %rax + 0x0f, 0x82, 0x64, 0x00, 0x00, 0x00, //0x000003dc jb LBB0_44 + 0x48, 0x8d, 0x50, 0xf0, //0x000003e2 leaq $-16(%rax), %rdx + 0x48, 0x89, 0xd7, //0x000003e6 movq %rdx, %rdi + 0x48, 0x83, 0xe7, 0xf0, //0x000003e9 andq $-16, %rdi + 0x4c, 0x8d, 0x44, 0x1f, 0x10, //0x000003ed leaq $16(%rdi,%rbx), %r8 + 0x83, 0xe2, 0x0f, //0x000003f2 andl $15, %edx + 0xc5, 0xfa, 0x6f, 0x05, 0x23, 0xfd, 0xff, 0xff, //0x000003f5 vmovdqu $-733(%rip), %xmm0 /* LCPI0_4+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x0d, 0x2b, 0xfd, 0xff, 0xff, //0x000003fd vmovdqu $-725(%rip), %xmm1 /* LCPI0_5+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0x33, 0xfd, 0xff, 0xff, //0x00000405 vmovdqu $-717(%rip), %xmm2 /* LCPI0_6+0(%rip) */ + //0x0000040d LBB0_41 + 0xc5, 0xfa, 0x6f, 0x1b, //0x0000040d vmovdqu (%rbx), %xmm3 + 0xc5, 0xe1, 0x74, 0xe0, //0x00000411 vpcmpeqb %xmm0, %xmm3, %xmm4 + 0xc5, 0xe1, 0xeb, 0xd9, //0x00000415 vpor %xmm1, %xmm3, %xmm3 + 0xc5, 0xe1, 0x74, 0xda, //0x00000419 vpcmpeqb %xmm2, %xmm3, %xmm3 + 0xc5, 0xe1, 0xeb, 0xdc, //0x0000041d vpor %xmm4, %xmm3, %xmm3 + 0xc5, 0xf9, 0xd7, 0xfb, //0x00000421 vpmovmskb %xmm3, %edi + 0x66, 0x85, 0xff, //0x00000425 testw %di, %di + 0x0f, 0x85, 0xaf, 0x07, 0x00, 0x00, //0x00000428 jne LBB0_127 + 0x48, 0x83, 0xc3, 0x10, //0x0000042e addq $16, %rbx + 0x48, 0x83, 0xc0, 0xf0, //0x00000432 addq $-16, %rax + 0x48, 0x83, 0xf8, 0x0f, //0x00000436 cmpq $15, %rax + 0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x0000043a ja LBB0_41 + 0x48, 0x89, 0xd0, //0x00000440 movq %rdx, %rax + 0x4c, 0x89, 0xc3, //0x00000443 movq %r8, %rbx + //0x00000446 LBB0_44 + 0x48, 0x85, 0xc0, //0x00000446 testq %rax, %rax + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x00000449 je LBB0_51 + 0x48, 0x8d, 0x3c, 0x03, //0x0000044f leaq (%rbx,%rax), %rdi + //0x00000453 LBB0_46 + 0x0f, 0xb6, 0x13, //0x00000453 movzbl (%rbx), %edx + 0x80, 0xfa, 0x2c, //0x00000456 cmpb $44, %dl + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00000459 je LBB0_51 + 0x80, 0xfa, 0x7d, //0x0000045f cmpb $125, %dl + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x00000462 je LBB0_51 + 0x80, 0xfa, 0x5d, //0x00000468 cmpb $93, %dl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x0000046b je LBB0_51 + 0x48, 0xff, 0xc3, //0x00000471 incq %rbx + 0x48, 0xff, 0xc8, //0x00000474 decq %rax + 0x0f, 0x85, 0xd6, 0xff, 0xff, 0xff, //0x00000477 jne LBB0_46 + 0x48, 0x89, 0xfb, //0x0000047d movq %rdi, %rbx + //0x00000480 LBB0_51 + 0x4c, 0x29, 0xf3, //0x00000480 subq %r14, %rbx + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x00000483 jmp LBB0_54 + //0x00000488 LBB0_52 + 0x48, 0x63, 0xc7, //0x00000488 movslq %edi, %rax + //0x0000048b LBB0_53 + 0x48, 0x0f, 0xbc, 0xc0, //0x0000048b bsfq %rax, %rax + 0x4c, 0x29, 0xf3, //0x0000048f subq %r14, %rbx + 0x48, 0x01, 0xc3, //0x00000492 addq %rax, %rbx + //0x00000495 LBB0_54 + 0x48, 0x89, 0x1e, //0x00000495 movq %rbx, (%rsi) + //0x00000498 LBB0_55 + 0x48, 0x89, 0xc8, //0x00000498 movq %rcx, %rax + //0x0000049b LBB0_56 + 0x48, 0x8d, 0x65, 0xd8, //0x0000049b leaq $-40(%rbp), %rsp + 0x5b, //0x0000049f popq %rbx + 0x41, 0x5c, //0x000004a0 popq %r12 + 0x41, 0x5d, //0x000004a2 popq %r13 + 0x41, 0x5e, //0x000004a4 popq %r14 + 0x41, 0x5f, //0x000004a6 popq %r15 + 0x5d, //0x000004a8 popq %rbp + 0xc5, 0xf8, 0x77, //0x000004a9 vzeroupper + 0xc3, //0x000004ac retq + //0x000004ad LBB0_57 + 0x48, 0x8d, 0x51, 0x04, //0x000004ad leaq $4(%rcx), %rdx + 0x48, 0x3b, 0x57, 0x08, //0x000004b1 cmpq $8(%rdi), %rdx + 0x0f, 0x87, 0xe0, 0xff, 0xff, 0xff, //0x000004b5 ja LBB0_56 + 0xe9, 0xbb, 0x03, 0x00, 0x00, //0x000004bb jmp LBB0_95 + //0x000004c0 LBB0_58 + 0x48, 0x89, 0x0e, //0x000004c0 movq %rcx, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000004c3 movq $-2, %rax + 0xe9, 0xcc, 0xff, 0xff, 0xff, //0x000004ca jmp LBB0_56 + //0x000004cf LBB0_59 + 0x4c, 0x8b, 0x4f, 0x08, //0x000004cf movq $8(%rdi), %r9 + 0x4d, 0x89, 0xcf, //0x000004d3 movq %r9, %r15 + 0x49, 0x29, 0xdf, //0x000004d6 subq %rbx, %r15 + 0x49, 0x83, 0xff, 0x20, //0x000004d9 cmpq $32, %r15 + 0x0f, 0x8c, 0x2b, 0x07, 0x00, 0x00, //0x000004dd jl LBB0_130 + 0x41, 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000004e3 movl $4294967295, %r8d + 0x4d, 0x8d, 0x14, 0x0e, //0x000004e9 leaq (%r14,%rcx), %r10 + 0x49, 0x29, 0xc9, //0x000004ed subq %rcx, %r9 + 0xba, 0x1f, 0x00, 0x00, 0x00, //0x000004f0 movl $31, %edx + 0x45, 0x31, 0xff, //0x000004f5 xorl %r15d, %r15d + 0xc5, 0xfe, 0x6f, 0x05, 0x80, 0xfb, 0xff, 0xff, //0x000004f8 vmovdqu $-1152(%rip), %ymm0 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0x98, 0xfb, 0xff, 0xff, //0x00000500 vmovdqu $-1128(%rip), %ymm1 /* LCPI0_8+0(%rip) */ + 0x45, 0x31, 0xe4, //0x00000508 xorl %r12d, %r12d + 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000050b .p2align 4, 0x90 + //0x00000510 LBB0_61 + 0xc4, 0x81, 0x7e, 0x6f, 0x54, 0x3a, 0x01, //0x00000510 vmovdqu $1(%r10,%r15), %ymm2 + 0xc5, 0xed, 0x74, 0xd8, //0x00000517 vpcmpeqb %ymm0, %ymm2, %ymm3 + 0xc5, 0x7d, 0xd7, 0xdb, //0x0000051b vpmovmskb %ymm3, %r11d + 0xc5, 0xed, 0x74, 0xd1, //0x0000051f vpcmpeqb %ymm1, %ymm2, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x00000523 vpmovmskb %ymm2, %edi + 0x4d, 0x85, 0xe4, //0x00000527 testq %r12, %r12 + 0x0f, 0x85, 0x10, 0x00, 0x00, 0x00, //0x0000052a jne LBB0_64 + 0x85, 0xff, //0x00000530 testl %edi, %edi + 0x0f, 0x85, 0x08, 0x00, 0x00, 0x00, //0x00000532 jne LBB0_64 + 0x45, 0x31, 0xe4, //0x00000538 xorl %r12d, %r12d + 0xe9, 0x3b, 0x00, 0x00, 0x00, //0x0000053b jmp LBB0_65 + //0x00000540 .p2align 4, 0x90 + //0x00000540 LBB0_64 + 0x44, 0x89, 0xe3, //0x00000540 movl %r12d, %ebx + 0x44, 0x31, 0xc3, //0x00000543 xorl %r8d, %ebx + 0x21, 0xfb, //0x00000546 andl %edi, %ebx + 0x44, 0x8d, 0x2c, 0x1b, //0x00000548 leal (%rbx,%rbx), %r13d + 0x45, 0x09, 0xe5, //0x0000054c orl %r12d, %r13d + 0x41, 0x8d, 0xb8, 0xab, 0xaa, 0xaa, 0xaa, //0x0000054f leal $-1431655765(%r8), %edi + 0x44, 0x31, 0xef, //0x00000556 xorl %r13d, %edi + 0x21, 0xdf, //0x00000559 andl %ebx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000055b andl $-1431655766, %edi + 0x45, 0x31, 0xe4, //0x00000561 xorl %r12d, %r12d + 0x01, 0xdf, //0x00000564 addl %ebx, %edi + 0x41, 0x0f, 0x92, 0xc4, //0x00000566 setb %r12b + 0x01, 0xff, //0x0000056a addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x0000056c xorl $1431655765, %edi + 0x44, 0x21, 0xef, //0x00000572 andl %r13d, %edi + 0x44, 0x31, 0xc7, //0x00000575 xorl %r8d, %edi + 0x41, 0x21, 0xfb, //0x00000578 andl %edi, %r11d + //0x0000057b LBB0_65 + 0x45, 0x85, 0xdb, //0x0000057b testl %r11d, %r11d + 0x0f, 0x85, 0xea, 0x05, 0x00, 0x00, //0x0000057e jne LBB0_121 + 0x49, 0x83, 0xc7, 0x20, //0x00000584 addq $32, %r15 + 0x49, 0x8d, 0x7c, 0x11, 0xe0, //0x00000588 leaq $-32(%r9,%rdx), %rdi + 0x48, 0x83, 0xc2, 0xe0, //0x0000058d addq $-32, %rdx + 0x48, 0x83, 0xff, 0x3f, //0x00000591 cmpq $63, %rdi + 0x0f, 0x8f, 0x75, 0xff, 0xff, 0xff, //0x00000595 jg LBB0_61 + 0x4d, 0x85, 0xe4, //0x0000059b testq %r12, %r12 + 0x0f, 0x85, 0x7e, 0x06, 0x00, 0x00, //0x0000059e jne LBB0_132 + 0x4b, 0x8d, 0x5c, 0x17, 0x01, //0x000005a4 leaq $1(%r15,%r10), %rbx + 0x49, 0xf7, 0xd7, //0x000005a9 notq %r15 + 0x4d, 0x01, 0xcf, //0x000005ac addq %r9, %r15 + //0x000005af LBB0_69 + 0x4d, 0x85, 0xff, //0x000005af testq %r15, %r15 + 0x0f, 0x8f, 0xee, 0x05, 0x00, 0x00, //0x000005b2 jg LBB0_124 + 0xe9, 0xde, 0xfe, 0xff, 0xff, //0x000005b8 jmp LBB0_56 + //0x000005bd LBB0_70 + 0x4c, 0x8b, 0x47, 0x08, //0x000005bd movq $8(%rdi), %r8 + 0x49, 0x29, 0xd8, //0x000005c1 subq %rbx, %r8 + 0x49, 0x01, 0xde, //0x000005c4 addq %rbx, %r14 + 0x31, 0xd2, //0x000005c7 xorl %edx, %edx + 0x48, 0x89, 0x54, 0x24, 0x18, //0x000005c9 movq %rdx, $24(%rsp) + 0xc5, 0xfe, 0x6f, 0x05, 0xaa, 0xfa, 0xff, 0xff, //0x000005ce vmovdqu $-1366(%rip), %ymm0 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0xc2, 0xfa, 0xff, 0xff, //0x000005d6 vmovdqu $-1342(%rip), %ymm1 /* LCPI0_8+0(%rip) */ + 0xc5, 0xe9, 0x76, 0xd2, //0x000005de vpcmpeqd %xmm2, %xmm2, %xmm2 + 0xc5, 0xfe, 0x6f, 0x1d, 0xf6, 0xfa, 0xff, 0xff, //0x000005e2 vmovdqu $-1290(%rip), %ymm3 /* LCPI0_10+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x25, 0x0e, 0xfb, 0xff, 0xff, //0x000005ea vmovdqu $-1266(%rip), %ymm4 /* LCPI0_11+0(%rip) */ + 0xc4, 0x41, 0x30, 0x57, 0xc9, //0x000005f2 vxorps %xmm9, %xmm9, %xmm9 + 0x45, 0x31, 0xe4, //0x000005f7 xorl %r12d, %r12d + 0x45, 0x31, 0xff, //0x000005fa xorl %r15d, %r15d + 0x45, 0x31, 0xc9, //0x000005fd xorl %r9d, %r9d + 0x49, 0x83, 0xf8, 0x40, //0x00000600 cmpq $64, %r8 + 0x0f, 0x8c, 0x40, 0x01, 0x00, 0x00, //0x00000604 jl LBB0_79 + //0x0000060a LBB0_73 + 0xc4, 0xc1, 0x7e, 0x6f, 0x3e, //0x0000060a vmovdqu (%r14), %ymm7 + 0xc4, 0xc1, 0x7e, 0x6f, 0x76, 0x20, //0x0000060f vmovdqu $32(%r14), %ymm6 + 0xc5, 0x45, 0x74, 0xc0, //0x00000615 vpcmpeqb %ymm0, %ymm7, %ymm8 + 0xc4, 0x41, 0x7d, 0xd7, 0xe8, //0x00000619 vpmovmskb %ymm8, %r13d + 0xc5, 0x4d, 0x74, 0xc0, //0x0000061e vpcmpeqb %ymm0, %ymm6, %ymm8 + 0xc4, 0xc1, 0x7d, 0xd7, 0xd0, //0x00000622 vpmovmskb %ymm8, %edx + 0x48, 0xc1, 0xe2, 0x20, //0x00000627 shlq $32, %rdx + 0x49, 0x09, 0xd5, //0x0000062b orq %rdx, %r13 + 0xc5, 0x45, 0x74, 0xc1, //0x0000062e vpcmpeqb %ymm1, %ymm7, %ymm8 + 0xc4, 0x41, 0x7d, 0xd7, 0xd0, //0x00000632 vpmovmskb %ymm8, %r10d + 0xc5, 0x4d, 0x74, 0xc1, //0x00000637 vpcmpeqb %ymm1, %ymm6, %ymm8 + 0xc4, 0xc1, 0x7d, 0xd7, 0xd8, //0x0000063b vpmovmskb %ymm8, %ebx + 0x48, 0xc1, 0xe3, 0x20, //0x00000640 shlq $32, %rbx + 0x49, 0x09, 0xda, //0x00000644 orq %rbx, %r10 + 0x4c, 0x89, 0xd2, //0x00000647 movq %r10, %rdx + 0x4c, 0x09, 0xe2, //0x0000064a orq %r12, %rdx + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x0000064d je LBB0_75 + 0x4c, 0x89, 0xe2, //0x00000653 movq %r12, %rdx + 0x48, 0xf7, 0xd2, //0x00000656 notq %rdx + 0x4c, 0x21, 0xd2, //0x00000659 andq %r10, %rdx + 0x48, 0x8d, 0x1c, 0x12, //0x0000065c leaq (%rdx,%rdx), %rbx + 0x4c, 0x09, 0xe3, //0x00000660 orq %r12, %rbx + 0x49, 0x89, 0xdc, //0x00000663 movq %rbx, %r12 + 0x49, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000666 movabsq $-6148914691236517206, %r11 + 0x4d, 0x31, 0xdc, //0x00000670 xorq %r11, %r12 + 0x4d, 0x21, 0xda, //0x00000673 andq %r11, %r10 + 0x4d, 0x21, 0xe2, //0x00000676 andq %r12, %r10 + 0x45, 0x31, 0xe4, //0x00000679 xorl %r12d, %r12d + 0x49, 0x01, 0xd2, //0x0000067c addq %rdx, %r10 + 0x41, 0x0f, 0x92, 0xc4, //0x0000067f setb %r12b + 0x4d, 0x01, 0xd2, //0x00000683 addq %r10, %r10 + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000686 movabsq $6148914691236517205, %rdx + 0x49, 0x31, 0xd2, //0x00000690 xorq %rdx, %r10 + 0x49, 0x21, 0xda, //0x00000693 andq %rbx, %r10 + 0x49, 0xf7, 0xd2, //0x00000696 notq %r10 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00000699 jmp LBB0_76 + //0x0000069e LBB0_75 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000069e movq $-1, %r10 + 0x45, 0x31, 0xe4, //0x000006a5 xorl %r12d, %r12d + //0x000006a8 LBB0_76 + 0x4d, 0x21, 0xea, //0x000006a8 andq %r13, %r10 + 0xc4, 0xc1, 0xf9, 0x6e, 0xea, //0x000006ab vmovq %r10, %xmm5 + 0xc4, 0xe3, 0x51, 0x44, 0xea, 0x00, //0x000006b0 vpclmulqdq $0, %xmm2, %xmm5, %xmm5 + 0xc4, 0xc1, 0xf9, 0x7e, 0xed, //0x000006b6 vmovq %xmm5, %r13 + 0x4c, 0x33, 0x6c, 0x24, 0x18, //0x000006bb xorq $24(%rsp), %r13 + 0xc5, 0xc5, 0x74, 0xeb, //0x000006c0 vpcmpeqb %ymm3, %ymm7, %ymm5 + 0xc5, 0x7d, 0xd7, 0xdd, //0x000006c4 vpmovmskb %ymm5, %r11d + 0xc5, 0xcd, 0x74, 0xeb, //0x000006c8 vpcmpeqb %ymm3, %ymm6, %ymm5 + 0xc5, 0xfd, 0xd7, 0xd5, //0x000006cc vpmovmskb %ymm5, %edx + 0x48, 0xc1, 0xe2, 0x20, //0x000006d0 shlq $32, %rdx + 0x49, 0x09, 0xd3, //0x000006d4 orq %rdx, %r11 + 0x4d, 0x89, 0xea, //0x000006d7 movq %r13, %r10 + 0x49, 0xf7, 0xd2, //0x000006da notq %r10 + 0x4d, 0x21, 0xd3, //0x000006dd andq %r10, %r11 + 0xc5, 0xc5, 0x74, 0xec, //0x000006e0 vpcmpeqb %ymm4, %ymm7, %ymm5 + 0xc5, 0xfd, 0xd7, 0xd5, //0x000006e4 vpmovmskb %ymm5, %edx + 0xc5, 0xcd, 0x74, 0xec, //0x000006e8 vpcmpeqb %ymm4, %ymm6, %ymm5 + 0xc5, 0xfd, 0xd7, 0xdd, //0x000006ec vpmovmskb %ymm5, %ebx + 0x48, 0xc1, 0xe3, 0x20, //0x000006f0 shlq $32, %rbx + 0x48, 0x09, 0xda, //0x000006f4 orq %rbx, %rdx + 0x4c, 0x21, 0xd2, //0x000006f7 andq %r10, %rdx + 0x0f, 0x84, 0x27, 0x00, 0x00, 0x00, //0x000006fa je LBB0_71 + //0x00000700 .p2align 4, 0x90 + //0x00000700 LBB0_77 + 0x4c, 0x8d, 0x52, 0xff, //0x00000700 leaq $-1(%rdx), %r10 + 0x4c, 0x89, 0xd3, //0x00000704 movq %r10, %rbx + 0x4c, 0x21, 0xdb, //0x00000707 andq %r11, %rbx + 0xf3, 0x48, 0x0f, 0xb8, 0xdb, //0x0000070a popcntq %rbx, %rbx + 0x4c, 0x01, 0xfb, //0x0000070f addq %r15, %rbx + 0x4c, 0x39, 0xcb, //0x00000712 cmpq %r9, %rbx + 0x0f, 0x86, 0x22, 0x04, 0x00, 0x00, //0x00000715 jbe LBB0_120 + 0x49, 0xff, 0xc1, //0x0000071b incq %r9 + 0x4c, 0x21, 0xd2, //0x0000071e andq %r10, %rdx + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00000721 jne LBB0_77 + //0x00000727 LBB0_71 + 0x49, 0xc1, 0xfd, 0x3f, //0x00000727 sarq $63, %r13 + 0xf3, 0x49, 0x0f, 0xb8, 0xd3, //0x0000072b popcntq %r11, %rdx + 0x49, 0x01, 0xd7, //0x00000730 addq %rdx, %r15 + 0x49, 0x83, 0xc6, 0x40, //0x00000733 addq $64, %r14 + 0x49, 0x83, 0xc0, 0xc0, //0x00000737 addq $-64, %r8 + 0x4c, 0x89, 0x6c, 0x24, 0x18, //0x0000073b movq %r13, $24(%rsp) + 0x49, 0x83, 0xf8, 0x40, //0x00000740 cmpq $64, %r8 + 0x0f, 0x8d, 0xc0, 0xfe, 0xff, 0xff, //0x00000744 jge LBB0_73 + //0x0000074a LBB0_79 + 0x4d, 0x85, 0xc0, //0x0000074a testq %r8, %r8 + 0x0f, 0x8e, 0xc3, 0x04, 0x00, 0x00, //0x0000074d jle LBB0_131 + 0xc5, 0x7c, 0x11, 0x4c, 0x24, 0x40, //0x00000753 vmovups %ymm9, $64(%rsp) + 0xc5, 0x7c, 0x11, 0x4c, 0x24, 0x20, //0x00000759 vmovups %ymm9, $32(%rsp) + 0x44, 0x89, 0xf2, //0x0000075f movl %r14d, %edx + 0x81, 0xe2, 0xff, 0x0f, 0x00, 0x00, //0x00000762 andl $4095, %edx + 0x81, 0xfa, 0xc1, 0x0f, 0x00, 0x00, //0x00000768 cmpl $4033, %edx + 0x0f, 0x82, 0x96, 0xfe, 0xff, 0xff, //0x0000076e jb LBB0_73 + 0x49, 0x83, 0xf8, 0x20, //0x00000774 cmpq $32, %r8 + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x00000778 jb LBB0_83 + 0xc4, 0xc1, 0x7e, 0x6f, 0x2e, //0x0000077e vmovdqu (%r14), %ymm5 + 0xc5, 0xfe, 0x7f, 0x6c, 0x24, 0x20, //0x00000783 vmovdqu %ymm5, $32(%rsp) + 0x49, 0x83, 0xc6, 0x20, //0x00000789 addq $32, %r14 + 0x49, 0x8d, 0x58, 0xe0, //0x0000078d leaq $-32(%r8), %rbx + 0x4c, 0x8d, 0x54, 0x24, 0x40, //0x00000791 leaq $64(%rsp), %r10 + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x00000796 jmp LBB0_84 + //0x0000079b LBB0_83 + 0x4c, 0x8d, 0x54, 0x24, 0x20, //0x0000079b leaq $32(%rsp), %r10 + 0x4c, 0x89, 0xc3, //0x000007a0 movq %r8, %rbx + //0x000007a3 LBB0_84 + 0x48, 0x83, 0xfb, 0x10, //0x000007a3 cmpq $16, %rbx + 0x0f, 0x82, 0x5c, 0x00, 0x00, 0x00, //0x000007a7 jb LBB0_85 + 0xc4, 0xc1, 0x7a, 0x6f, 0x2e, //0x000007ad vmovdqu (%r14), %xmm5 + 0xc4, 0xc1, 0x7a, 0x7f, 0x2a, //0x000007b2 vmovdqu %xmm5, (%r10) + 0x49, 0x83, 0xc6, 0x10, //0x000007b7 addq $16, %r14 + 0x49, 0x83, 0xc2, 0x10, //0x000007bb addq $16, %r10 + 0x48, 0x83, 0xc3, 0xf0, //0x000007bf addq $-16, %rbx + 0x48, 0x83, 0xfb, 0x08, //0x000007c3 cmpq $8, %rbx + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x000007c7 jae LBB0_90 + //0x000007cd LBB0_86 + 0x48, 0x83, 0xfb, 0x04, //0x000007cd cmpq $4, %rbx + 0x0f, 0x8c, 0x58, 0x00, 0x00, 0x00, //0x000007d1 jl LBB0_87 + //0x000007d7 LBB0_91 + 0x41, 0x8b, 0x16, //0x000007d7 movl (%r14), %edx + 0x41, 0x89, 0x12, //0x000007da movl %edx, (%r10) + 0x49, 0x83, 0xc6, 0x04, //0x000007dd addq $4, %r14 + 0x49, 0x83, 0xc2, 0x04, //0x000007e1 addq $4, %r10 + 0x48, 0x83, 0xc3, 0xfc, //0x000007e5 addq $-4, %rbx + 0x48, 0x83, 0xfb, 0x02, //0x000007e9 cmpq $2, %rbx + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x000007ed jae LBB0_92 + //0x000007f3 LBB0_88 + 0x4c, 0x89, 0xf2, //0x000007f3 movq %r14, %rdx + 0x4c, 0x8d, 0x74, 0x24, 0x20, //0x000007f6 leaq $32(%rsp), %r14 + 0x48, 0x85, 0xdb, //0x000007fb testq %rbx, %rbx + 0x0f, 0x85, 0x5a, 0x00, 0x00, 0x00, //0x000007fe jne LBB0_93 + 0xe9, 0x01, 0xfe, 0xff, 0xff, //0x00000804 jmp LBB0_73 + //0x00000809 LBB0_85 + 0x48, 0x83, 0xfb, 0x08, //0x00000809 cmpq $8, %rbx + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x0000080d jb LBB0_86 + //0x00000813 LBB0_90 + 0x49, 0x8b, 0x16, //0x00000813 movq (%r14), %rdx + 0x49, 0x89, 0x12, //0x00000816 movq %rdx, (%r10) + 0x49, 0x83, 0xc6, 0x08, //0x00000819 addq $8, %r14 + 0x49, 0x83, 0xc2, 0x08, //0x0000081d addq $8, %r10 + 0x48, 0x83, 0xc3, 0xf8, //0x00000821 addq $-8, %rbx + 0x48, 0x83, 0xfb, 0x04, //0x00000825 cmpq $4, %rbx + 0x0f, 0x8d, 0xa8, 0xff, 0xff, 0xff, //0x00000829 jge LBB0_91 + //0x0000082f LBB0_87 + 0x48, 0x83, 0xfb, 0x02, //0x0000082f cmpq $2, %rbx + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x00000833 jb LBB0_88 + //0x00000839 LBB0_92 + 0x41, 0x0f, 0xb7, 0x16, //0x00000839 movzwl (%r14), %edx + 0x66, 0x41, 0x89, 0x12, //0x0000083d movw %dx, (%r10) + 0x49, 0x83, 0xc6, 0x02, //0x00000841 addq $2, %r14 + 0x49, 0x83, 0xc2, 0x02, //0x00000845 addq $2, %r10 + 0x48, 0x83, 0xc3, 0xfe, //0x00000849 addq $-2, %rbx + 0x4c, 0x89, 0xf2, //0x0000084d movq %r14, %rdx + 0x4c, 0x8d, 0x74, 0x24, 0x20, //0x00000850 leaq $32(%rsp), %r14 + 0x48, 0x85, 0xdb, //0x00000855 testq %rbx, %rbx + 0x0f, 0x84, 0xac, 0xfd, 0xff, 0xff, //0x00000858 je LBB0_73 + //0x0000085e LBB0_93 + 0x8a, 0x12, //0x0000085e movb (%rdx), %dl + 0x41, 0x88, 0x12, //0x00000860 movb %dl, (%r10) + 0x4c, 0x8d, 0x74, 0x24, 0x20, //0x00000863 leaq $32(%rsp), %r14 + 0xe9, 0x9d, 0xfd, 0xff, 0xff, //0x00000868 jmp LBB0_73 + //0x0000086d LBB0_94 + 0x48, 0x8d, 0x51, 0x05, //0x0000086d leaq $5(%rcx), %rdx + 0x48, 0x3b, 0x57, 0x08, //0x00000871 cmpq $8(%rdi), %rdx + 0x0f, 0x87, 0x20, 0xfc, 0xff, 0xff, //0x00000875 ja LBB0_56 + //0x0000087b LBB0_95 + 0x48, 0x89, 0x16, //0x0000087b movq %rdx, (%rsi) + 0xe9, 0x15, 0xfc, 0xff, 0xff, //0x0000087e jmp LBB0_55 + //0x00000883 LBB0_96 + 0x4c, 0x8b, 0x47, 0x08, //0x00000883 movq $8(%rdi), %r8 + 0x49, 0x29, 0xd8, //0x00000887 subq %rbx, %r8 + 0x49, 0x01, 0xde, //0x0000088a addq %rbx, %r14 + 0x31, 0xd2, //0x0000088d xorl %edx, %edx + 0x48, 0x89, 0x54, 0x24, 0x18, //0x0000088f movq %rdx, $24(%rsp) + 0xc5, 0xfe, 0x6f, 0x05, 0xe4, 0xf7, 0xff, 0xff, //0x00000894 vmovdqu $-2076(%rip), %ymm0 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0xfc, 0xf7, 0xff, 0xff, //0x0000089c vmovdqu $-2052(%rip), %ymm1 /* LCPI0_8+0(%rip) */ + 0xc5, 0xe9, 0x76, 0xd2, //0x000008a4 vpcmpeqd %xmm2, %xmm2, %xmm2 + 0xc5, 0xfe, 0x6f, 0x1d, 0x10, 0xf8, 0xff, 0xff, //0x000008a8 vmovdqu $-2032(%rip), %ymm3 /* LCPI0_9+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x25, 0xa8, 0xf7, 0xff, 0xff, //0x000008b0 vmovdqu $-2136(%rip), %ymm4 /* LCPI0_3+0(%rip) */ + 0xc4, 0x41, 0x30, 0x57, 0xc9, //0x000008b8 vxorps %xmm9, %xmm9, %xmm9 + 0x45, 0x31, 0xe4, //0x000008bd xorl %r12d, %r12d + 0x45, 0x31, 0xff, //0x000008c0 xorl %r15d, %r15d + 0x45, 0x31, 0xc9, //0x000008c3 xorl %r9d, %r9d + 0x49, 0x83, 0xf8, 0x40, //0x000008c6 cmpq $64, %r8 + 0x0f, 0x8c, 0x4a, 0x01, 0x00, 0x00, //0x000008ca jl LBB0_105 + //0x000008d0 LBB0_99 + 0xc4, 0xc1, 0x7e, 0x6f, 0x3e, //0x000008d0 vmovdqu (%r14), %ymm7 + 0xc4, 0xc1, 0x7e, 0x6f, 0x76, 0x20, //0x000008d5 vmovdqu $32(%r14), %ymm6 + 0xc5, 0x45, 0x74, 0xc0, //0x000008db vpcmpeqb %ymm0, %ymm7, %ymm8 + 0xc4, 0x41, 0x7d, 0xd7, 0xe8, //0x000008df vpmovmskb %ymm8, %r13d + 0xc5, 0x4d, 0x74, 0xc0, //0x000008e4 vpcmpeqb %ymm0, %ymm6, %ymm8 + 0xc4, 0xc1, 0x7d, 0xd7, 0xd0, //0x000008e8 vpmovmskb %ymm8, %edx + 0x48, 0xc1, 0xe2, 0x20, //0x000008ed shlq $32, %rdx + 0x49, 0x09, 0xd5, //0x000008f1 orq %rdx, %r13 + 0xc5, 0x45, 0x74, 0xc1, //0x000008f4 vpcmpeqb %ymm1, %ymm7, %ymm8 + 0xc4, 0x41, 0x7d, 0xd7, 0xd0, //0x000008f8 vpmovmskb %ymm8, %r10d + 0xc5, 0x4d, 0x74, 0xc1, //0x000008fd vpcmpeqb %ymm1, %ymm6, %ymm8 + 0xc4, 0xc1, 0x7d, 0xd7, 0xd8, //0x00000901 vpmovmskb %ymm8, %ebx + 0x48, 0xc1, 0xe3, 0x20, //0x00000906 shlq $32, %rbx + 0x49, 0x09, 0xda, //0x0000090a orq %rbx, %r10 + 0x4c, 0x89, 0xd2, //0x0000090d movq %r10, %rdx + 0x4c, 0x09, 0xe2, //0x00000910 orq %r12, %rdx + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x00000913 je LBB0_101 + 0x4c, 0x89, 0xe2, //0x00000919 movq %r12, %rdx + 0x48, 0xf7, 0xd2, //0x0000091c notq %rdx + 0x4c, 0x21, 0xd2, //0x0000091f andq %r10, %rdx + 0x48, 0x8d, 0x1c, 0x12, //0x00000922 leaq (%rdx,%rdx), %rbx + 0x4c, 0x09, 0xe3, //0x00000926 orq %r12, %rbx + 0x49, 0x89, 0xdc, //0x00000929 movq %rbx, %r12 + 0x49, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000092c movabsq $-6148914691236517206, %r11 + 0x4d, 0x31, 0xdc, //0x00000936 xorq %r11, %r12 + 0x4d, 0x21, 0xda, //0x00000939 andq %r11, %r10 + 0x4d, 0x21, 0xe2, //0x0000093c andq %r12, %r10 + 0x45, 0x31, 0xe4, //0x0000093f xorl %r12d, %r12d + 0x49, 0x01, 0xd2, //0x00000942 addq %rdx, %r10 + 0x41, 0x0f, 0x92, 0xc4, //0x00000945 setb %r12b + 0x4d, 0x01, 0xd2, //0x00000949 addq %r10, %r10 + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x0000094c movabsq $6148914691236517205, %rdx + 0x49, 0x31, 0xd2, //0x00000956 xorq %rdx, %r10 + 0x49, 0x21, 0xda, //0x00000959 andq %rbx, %r10 + 0x49, 0xf7, 0xd2, //0x0000095c notq %r10 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x0000095f jmp LBB0_102 + //0x00000964 LBB0_101 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00000964 movq $-1, %r10 + 0x45, 0x31, 0xe4, //0x0000096b xorl %r12d, %r12d + //0x0000096e LBB0_102 + 0x4d, 0x21, 0xea, //0x0000096e andq %r13, %r10 + 0xc4, 0xc1, 0xf9, 0x6e, 0xea, //0x00000971 vmovq %r10, %xmm5 + 0xc4, 0xe3, 0x51, 0x44, 0xea, 0x00, //0x00000976 vpclmulqdq $0, %xmm2, %xmm5, %xmm5 + 0xc4, 0xc1, 0xf9, 0x7e, 0xed, //0x0000097c vmovq %xmm5, %r13 + 0x4c, 0x33, 0x6c, 0x24, 0x18, //0x00000981 xorq $24(%rsp), %r13 + 0xc5, 0xc5, 0x74, 0xeb, //0x00000986 vpcmpeqb %ymm3, %ymm7, %ymm5 + 0xc5, 0x7d, 0xd7, 0xdd, //0x0000098a vpmovmskb %ymm5, %r11d + 0xc5, 0xcd, 0x74, 0xeb, //0x0000098e vpcmpeqb %ymm3, %ymm6, %ymm5 + 0xc5, 0xfd, 0xd7, 0xd5, //0x00000992 vpmovmskb %ymm5, %edx + 0x48, 0xc1, 0xe2, 0x20, //0x00000996 shlq $32, %rdx + 0x49, 0x09, 0xd3, //0x0000099a orq %rdx, %r11 + 0x4d, 0x89, 0xea, //0x0000099d movq %r13, %r10 + 0x49, 0xf7, 0xd2, //0x000009a0 notq %r10 + 0x4d, 0x21, 0xd3, //0x000009a3 andq %r10, %r11 + 0xc5, 0xc5, 0x74, 0xec, //0x000009a6 vpcmpeqb %ymm4, %ymm7, %ymm5 + 0xc5, 0xfd, 0xd7, 0xd5, //0x000009aa vpmovmskb %ymm5, %edx + 0xc5, 0xcd, 0x74, 0xec, //0x000009ae vpcmpeqb %ymm4, %ymm6, %ymm5 + 0xc5, 0xfd, 0xd7, 0xdd, //0x000009b2 vpmovmskb %ymm5, %ebx + 0x48, 0xc1, 0xe3, 0x20, //0x000009b6 shlq $32, %rbx + 0x48, 0x09, 0xda, //0x000009ba orq %rbx, %rdx + 0x4c, 0x21, 0xd2, //0x000009bd andq %r10, %rdx + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x000009c0 je LBB0_97 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000009c6 .p2align 4, 0x90 + //0x000009d0 LBB0_103 + 0x4c, 0x8d, 0x52, 0xff, //0x000009d0 leaq $-1(%rdx), %r10 + 0x4c, 0x89, 0xd3, //0x000009d4 movq %r10, %rbx + 0x4c, 0x21, 0xdb, //0x000009d7 andq %r11, %rbx + 0xf3, 0x48, 0x0f, 0xb8, 0xdb, //0x000009da popcntq %rbx, %rbx + 0x4c, 0x01, 0xfb, //0x000009df addq %r15, %rbx + 0x4c, 0x39, 0xcb, //0x000009e2 cmpq %r9, %rbx + 0x0f, 0x86, 0x52, 0x01, 0x00, 0x00, //0x000009e5 jbe LBB0_120 + 0x49, 0xff, 0xc1, //0x000009eb incq %r9 + 0x4c, 0x21, 0xd2, //0x000009ee andq %r10, %rdx + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x000009f1 jne LBB0_103 + //0x000009f7 LBB0_97 + 0x49, 0xc1, 0xfd, 0x3f, //0x000009f7 sarq $63, %r13 + 0xf3, 0x49, 0x0f, 0xb8, 0xd3, //0x000009fb popcntq %r11, %rdx + 0x49, 0x01, 0xd7, //0x00000a00 addq %rdx, %r15 + 0x49, 0x83, 0xc6, 0x40, //0x00000a03 addq $64, %r14 + 0x49, 0x83, 0xc0, 0xc0, //0x00000a07 addq $-64, %r8 + 0x4c, 0x89, 0x6c, 0x24, 0x18, //0x00000a0b movq %r13, $24(%rsp) + 0x49, 0x83, 0xf8, 0x40, //0x00000a10 cmpq $64, %r8 + 0x0f, 0x8d, 0xb6, 0xfe, 0xff, 0xff, //0x00000a14 jge LBB0_99 + //0x00000a1a LBB0_105 + 0x4d, 0x85, 0xc0, //0x00000a1a testq %r8, %r8 + 0x0f, 0x8e, 0xf3, 0x01, 0x00, 0x00, //0x00000a1d jle LBB0_131 + 0xc5, 0x7c, 0x11, 0x4c, 0x24, 0x40, //0x00000a23 vmovups %ymm9, $64(%rsp) + 0xc5, 0x7c, 0x11, 0x4c, 0x24, 0x20, //0x00000a29 vmovups %ymm9, $32(%rsp) + 0x44, 0x89, 0xf2, //0x00000a2f movl %r14d, %edx + 0x81, 0xe2, 0xff, 0x0f, 0x00, 0x00, //0x00000a32 andl $4095, %edx + 0x81, 0xfa, 0xc1, 0x0f, 0x00, 0x00, //0x00000a38 cmpl $4033, %edx + 0x0f, 0x82, 0x8c, 0xfe, 0xff, 0xff, //0x00000a3e jb LBB0_99 + 0x49, 0x83, 0xf8, 0x20, //0x00000a44 cmpq $32, %r8 + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x00000a48 jb LBB0_109 + 0xc4, 0xc1, 0x7e, 0x6f, 0x2e, //0x00000a4e vmovdqu (%r14), %ymm5 + 0xc5, 0xfe, 0x7f, 0x6c, 0x24, 0x20, //0x00000a53 vmovdqu %ymm5, $32(%rsp) + 0x49, 0x83, 0xc6, 0x20, //0x00000a59 addq $32, %r14 + 0x49, 0x8d, 0x58, 0xe0, //0x00000a5d leaq $-32(%r8), %rbx + 0x4c, 0x8d, 0x54, 0x24, 0x40, //0x00000a61 leaq $64(%rsp), %r10 + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x00000a66 jmp LBB0_110 + //0x00000a6b LBB0_109 + 0x4c, 0x8d, 0x54, 0x24, 0x20, //0x00000a6b leaq $32(%rsp), %r10 + 0x4c, 0x89, 0xc3, //0x00000a70 movq %r8, %rbx + //0x00000a73 LBB0_110 + 0x48, 0x83, 0xfb, 0x10, //0x00000a73 cmpq $16, %rbx + 0x0f, 0x82, 0x5c, 0x00, 0x00, 0x00, //0x00000a77 jb LBB0_111 + 0xc4, 0xc1, 0x7a, 0x6f, 0x2e, //0x00000a7d vmovdqu (%r14), %xmm5 + 0xc4, 0xc1, 0x7a, 0x7f, 0x2a, //0x00000a82 vmovdqu %xmm5, (%r10) + 0x49, 0x83, 0xc6, 0x10, //0x00000a87 addq $16, %r14 + 0x49, 0x83, 0xc2, 0x10, //0x00000a8b addq $16, %r10 + 0x48, 0x83, 0xc3, 0xf0, //0x00000a8f addq $-16, %rbx + 0x48, 0x83, 0xfb, 0x08, //0x00000a93 cmpq $8, %rbx + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x00000a97 jae LBB0_116 + //0x00000a9d LBB0_112 + 0x48, 0x83, 0xfb, 0x04, //0x00000a9d cmpq $4, %rbx + 0x0f, 0x8c, 0x58, 0x00, 0x00, 0x00, //0x00000aa1 jl LBB0_113 + //0x00000aa7 LBB0_117 + 0x41, 0x8b, 0x16, //0x00000aa7 movl (%r14), %edx + 0x41, 0x89, 0x12, //0x00000aaa movl %edx, (%r10) + 0x49, 0x83, 0xc6, 0x04, //0x00000aad addq $4, %r14 + 0x49, 0x83, 0xc2, 0x04, //0x00000ab1 addq $4, %r10 + 0x48, 0x83, 0xc3, 0xfc, //0x00000ab5 addq $-4, %rbx + 0x48, 0x83, 0xfb, 0x02, //0x00000ab9 cmpq $2, %rbx + 0x0f, 0x83, 0x46, 0x00, 0x00, 0x00, //0x00000abd jae LBB0_118 + //0x00000ac3 LBB0_114 + 0x4c, 0x89, 0xf2, //0x00000ac3 movq %r14, %rdx + 0x4c, 0x8d, 0x74, 0x24, 0x20, //0x00000ac6 leaq $32(%rsp), %r14 + 0x48, 0x85, 0xdb, //0x00000acb testq %rbx, %rbx + 0x0f, 0x85, 0x5a, 0x00, 0x00, 0x00, //0x00000ace jne LBB0_119 + 0xe9, 0xf7, 0xfd, 0xff, 0xff, //0x00000ad4 jmp LBB0_99 + //0x00000ad9 LBB0_111 + 0x48, 0x83, 0xfb, 0x08, //0x00000ad9 cmpq $8, %rbx + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x00000add jb LBB0_112 + //0x00000ae3 LBB0_116 + 0x49, 0x8b, 0x16, //0x00000ae3 movq (%r14), %rdx + 0x49, 0x89, 0x12, //0x00000ae6 movq %rdx, (%r10) + 0x49, 0x83, 0xc6, 0x08, //0x00000ae9 addq $8, %r14 + 0x49, 0x83, 0xc2, 0x08, //0x00000aed addq $8, %r10 + 0x48, 0x83, 0xc3, 0xf8, //0x00000af1 addq $-8, %rbx + 0x48, 0x83, 0xfb, 0x04, //0x00000af5 cmpq $4, %rbx + 0x0f, 0x8d, 0xa8, 0xff, 0xff, 0xff, //0x00000af9 jge LBB0_117 + //0x00000aff LBB0_113 + 0x48, 0x83, 0xfb, 0x02, //0x00000aff cmpq $2, %rbx + 0x0f, 0x82, 0xba, 0xff, 0xff, 0xff, //0x00000b03 jb LBB0_114 + //0x00000b09 LBB0_118 + 0x41, 0x0f, 0xb7, 0x16, //0x00000b09 movzwl (%r14), %edx + 0x66, 0x41, 0x89, 0x12, //0x00000b0d movw %dx, (%r10) + 0x49, 0x83, 0xc6, 0x02, //0x00000b11 addq $2, %r14 + 0x49, 0x83, 0xc2, 0x02, //0x00000b15 addq $2, %r10 + 0x48, 0x83, 0xc3, 0xfe, //0x00000b19 addq $-2, %rbx + 0x4c, 0x89, 0xf2, //0x00000b1d movq %r14, %rdx + 0x4c, 0x8d, 0x74, 0x24, 0x20, //0x00000b20 leaq $32(%rsp), %r14 + 0x48, 0x85, 0xdb, //0x00000b25 testq %rbx, %rbx + 0x0f, 0x84, 0xa2, 0xfd, 0xff, 0xff, //0x00000b28 je LBB0_99 + //0x00000b2e LBB0_119 + 0x8a, 0x12, //0x00000b2e movb (%rdx), %dl + 0x41, 0x88, 0x12, //0x00000b30 movb %dl, (%r10) + 0x4c, 0x8d, 0x74, 0x24, 0x20, //0x00000b33 leaq $32(%rsp), %r14 + 0xe9, 0x93, 0xfd, 0xff, 0xff, //0x00000b38 jmp LBB0_99 + //0x00000b3d LBB0_120 + 0x48, 0x8b, 0x47, 0x08, //0x00000b3d movq $8(%rdi), %rax + 0x48, 0x0f, 0xbc, 0xd2, //0x00000b41 bsfq %rdx, %rdx + 0x4c, 0x29, 0xc2, //0x00000b45 subq %r8, %rdx + 0x48, 0x8d, 0x44, 0x02, 0x01, //0x00000b48 leaq $1(%rdx,%rax), %rax + 0x48, 0x89, 0x06, //0x00000b4d movq %rax, (%rsi) + 0x48, 0x8b, 0x57, 0x08, //0x00000b50 movq $8(%rdi), %rdx + 0x48, 0x39, 0xd0, //0x00000b54 cmpq %rdx, %rax + 0x48, 0x0f, 0x47, 0xc2, //0x00000b57 cmovaq %rdx, %rax + 0x48, 0x89, 0x06, //0x00000b5b movq %rax, (%rsi) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000b5e movq $-1, %rax + 0x48, 0x0f, 0x47, 0xc8, //0x00000b65 cmovaq %rax, %rcx + 0xe9, 0x2a, 0xf9, 0xff, 0xff, //0x00000b69 jmp LBB0_55 + //0x00000b6e LBB0_121 + 0x49, 0x0f, 0xbc, 0xc3, //0x00000b6e bsfq %r11, %rax + 0x49, 0x01, 0xc2, //0x00000b72 addq %rax, %r10 + 0x4d, 0x01, 0xfa, //0x00000b75 addq %r15, %r10 + 0x4d, 0x29, 0xf2, //0x00000b78 subq %r14, %r10 + 0x49, 0x83, 0xc2, 0x02, //0x00000b7b addq $2, %r10 + 0x4c, 0x89, 0x16, //0x00000b7f movq %r10, (%rsi) + 0xe9, 0x11, 0xf9, 0xff, 0xff, //0x00000b82 jmp LBB0_55 + //0x00000b87 LBB0_122 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00000b87 movq $-2, %rdx + 0xb8, 0x02, 0x00, 0x00, 0x00, //0x00000b8e movl $2, %eax + 0x48, 0x01, 0xc3, //0x00000b93 addq %rax, %rbx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000b96 movq $-1, %rax + 0x49, 0x01, 0xd7, //0x00000b9d addq %rdx, %r15 + 0x0f, 0x8e, 0xf5, 0xf8, 0xff, 0xff, //0x00000ba0 jle LBB0_56 + //0x00000ba6 LBB0_124 + 0x0f, 0xb6, 0x03, //0x00000ba6 movzbl (%rbx), %eax + 0x3c, 0x5c, //0x00000ba9 cmpb $92, %al + 0x0f, 0x84, 0xd6, 0xff, 0xff, 0xff, //0x00000bab je LBB0_122 + 0x3c, 0x22, //0x00000bb1 cmpb $34, %al + 0x0f, 0x84, 0x4a, 0x00, 0x00, 0x00, //0x00000bb3 je LBB0_129 + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00000bb9 movq $-1, %rdx + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000bc0 movl $1, %eax + 0x48, 0x01, 0xc3, //0x00000bc5 addq %rax, %rbx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000bc8 movq $-1, %rax + 0x49, 0x01, 0xd7, //0x00000bcf addq %rdx, %r15 + 0x0f, 0x8f, 0xce, 0xff, 0xff, 0xff, //0x00000bd2 jg LBB0_124 + 0xe9, 0xbe, 0xf8, 0xff, 0xff, //0x00000bd8 jmp LBB0_56 + //0x00000bdd LBB0_127 + 0x0f, 0xb7, 0xc7, //0x00000bdd movzwl %di, %eax + 0xe9, 0xa6, 0xf8, 0xff, 0xff, //0x00000be0 jmp LBB0_53 + //0x00000be5 LBB0_128 + 0x4c, 0x89, 0xf0, //0x00000be5 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00000be8 notq %rax + 0x48, 0x01, 0xc1, //0x00000beb addq %rax, %rcx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000bee movq $-1, %rax + 0x4c, 0x39, 0xc1, //0x00000bf5 cmpq %r8, %rcx + 0x0f, 0x82, 0x2c, 0xf7, 0xff, 0xff, //0x00000bf8 jb LBB0_32 + 0xe9, 0x98, 0xf8, 0xff, 0xff, //0x00000bfe jmp LBB0_56 + //0x00000c03 LBB0_129 + 0x4c, 0x29, 0xf3, //0x00000c03 subq %r14, %rbx + 0x48, 0xff, 0xc3, //0x00000c06 incq %rbx + 0xe9, 0x87, 0xf8, 0xff, 0xff, //0x00000c09 jmp LBB0_54 + //0x00000c0e LBB0_130 + 0x4c, 0x01, 0xf3, //0x00000c0e addq %r14, %rbx + 0xe9, 0x99, 0xf9, 0xff, 0xff, //0x00000c11 jmp LBB0_69 + //0x00000c16 LBB0_131 + 0x48, 0x8b, 0x4f, 0x08, //0x00000c16 movq $8(%rdi), %rcx + 0x48, 0x89, 0x0e, //0x00000c1a movq %rcx, (%rsi) + 0xe9, 0x79, 0xf8, 0xff, 0xff, //0x00000c1d jmp LBB0_56 + //0x00000c22 LBB0_132 + 0x49, 0x8d, 0x51, 0xff, //0x00000c22 leaq $-1(%r9), %rdx + 0x4c, 0x39, 0xfa, //0x00000c26 cmpq %r15, %rdx + 0x0f, 0x84, 0x6c, 0xf8, 0xff, 0xff, //0x00000c29 je LBB0_56 + 0x4b, 0x8d, 0x5c, 0x17, 0x02, //0x00000c2f leaq $2(%r15,%r10), %rbx + 0x4d, 0x29, 0xf9, //0x00000c34 subq %r15, %r9 + 0x49, 0x83, 0xc1, 0xfe, //0x00000c37 addq $-2, %r9 + 0x4d, 0x89, 0xcf, //0x00000c3b movq %r9, %r15 + 0xe9, 0x6c, 0xf9, 0xff, 0xff, //0x00000c3e jmp LBB0_69 + 0x90, //0x00000c43 .p2align 2, 0x90 + // // .set L0_0_set_56, LBB0_56-LJTI0_0 + // // .set L0_0_set_58, LBB0_58-LJTI0_0 + // // .set L0_0_set_59, LBB0_59-LJTI0_0 + // // .set L0_0_set_34, LBB0_34-LJTI0_0 + // // .set L0_0_set_70, LBB0_70-LJTI0_0 + // // .set L0_0_set_94, LBB0_94-LJTI0_0 + // // .set L0_0_set_57, LBB0_57-LJTI0_0 + // // .set L0_0_set_96, LBB0_96-LJTI0_0 + //0x00000c44 LJTI0_0 + 0x57, 0xf8, 0xff, 0xff, //0x00000c44 .long L0_0_set_56 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c48 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c4c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c50 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c54 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c58 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c5c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c60 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c64 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c68 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c6c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c70 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c74 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c78 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c7c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c80 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c84 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c88 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c8c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c90 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c94 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c98 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000c9c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000ca0 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000ca4 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000ca8 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cac .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cb0 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cb4 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cb8 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cbc .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cc0 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cc4 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cc8 .long L0_0_set_58 + 0x8b, 0xf8, 0xff, 0xff, //0x00000ccc .long L0_0_set_59 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cd0 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cd4 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cd8 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cdc .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000ce0 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000ce4 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000ce8 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cec .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cf0 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cf4 .long L0_0_set_58 + 0x12, 0xf7, 0xff, 0xff, //0x00000cf8 .long L0_0_set_34 + 0x7c, 0xf8, 0xff, 0xff, //0x00000cfc .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d00 .long L0_0_set_58 + 0x12, 0xf7, 0xff, 0xff, //0x00000d04 .long L0_0_set_34 + 0x12, 0xf7, 0xff, 0xff, //0x00000d08 .long L0_0_set_34 + 0x12, 0xf7, 0xff, 0xff, //0x00000d0c .long L0_0_set_34 + 0x12, 0xf7, 0xff, 0xff, //0x00000d10 .long L0_0_set_34 + 0x12, 0xf7, 0xff, 0xff, //0x00000d14 .long L0_0_set_34 + 0x12, 0xf7, 0xff, 0xff, //0x00000d18 .long L0_0_set_34 + 0x12, 0xf7, 0xff, 0xff, //0x00000d1c .long L0_0_set_34 + 0x12, 0xf7, 0xff, 0xff, //0x00000d20 .long L0_0_set_34 + 0x12, 0xf7, 0xff, 0xff, //0x00000d24 .long L0_0_set_34 + 0x12, 0xf7, 0xff, 0xff, //0x00000d28 .long L0_0_set_34 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d2c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d30 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d34 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d38 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d3c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d40 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d44 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d48 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d4c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d50 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d54 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d58 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d5c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d60 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d64 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d68 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d6c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d70 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d74 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d78 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d7c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d80 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d84 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d88 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d8c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d90 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d94 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d98 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000d9c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000da0 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000da4 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000da8 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000dac .long L0_0_set_58 + 0x79, 0xf9, 0xff, 0xff, //0x00000db0 .long L0_0_set_70 + 0x7c, 0xf8, 0xff, 0xff, //0x00000db4 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000db8 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000dbc .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000dc0 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000dc4 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000dc8 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000dcc .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000dd0 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000dd4 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000dd8 .long L0_0_set_58 + 0x29, 0xfc, 0xff, 0xff, //0x00000ddc .long L0_0_set_94 + 0x7c, 0xf8, 0xff, 0xff, //0x00000de0 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000de4 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000de8 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000dec .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000df0 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000df4 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000df8 .long L0_0_set_58 + 0x69, 0xf8, 0xff, 0xff, //0x00000dfc .long L0_0_set_57 + 0x7c, 0xf8, 0xff, 0xff, //0x00000e00 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000e04 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000e08 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000e0c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000e10 .long L0_0_set_58 + 0x69, 0xf8, 0xff, 0xff, //0x00000e14 .long L0_0_set_57 + 0x7c, 0xf8, 0xff, 0xff, //0x00000e18 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000e1c .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000e20 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000e24 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000e28 .long L0_0_set_58 + 0x7c, 0xf8, 0xff, 0xff, //0x00000e2c .long L0_0_set_58 + 0x3f, 0xfc, 0xff, 0xff, //0x00000e30 .long L0_0_set_96 + //0x00000e34 .p2align 2, 0x00 + //0x00000e34 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000e34 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_subr.go new file mode 100644 index 0000000..8ccaef1 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_one = 432 +) + +const ( + _stack__skip_one = 120 +) + +const ( + _size__skip_one = 10292 +) + +var ( + _pcsp__skip_one = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {9740, 120}, + {9744, 48}, + {9745, 40}, + {9747, 32}, + {9749, 24}, + {9751, 16}, + {9753, 8}, + {9757, 0}, + {10292, 120}, + } +) + +var _cfunc_skip_one = []loader.CFunc{ + {"_skip_one_entry", 0, _entry__skip_one, 0, nil}, + {"_skip_one", _entry__skip_one, _size__skip_one, _stack__skip_one, _pcsp__skip_one}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_text_amd64.go new file mode 100644 index 0000000..b480e6c --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/skip_one_text_amd64.go @@ -0,0 +1,3068 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_skip_one = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x20, // .byte 32 + 0x00, //0x00000001 .byte 0 + 0x00, //0x00000002 .byte 0 + 0x00, //0x00000003 .byte 0 + 0x00, //0x00000004 .byte 0 + 0x00, //0x00000005 .byte 0 + 0x00, //0x00000006 .byte 0 + 0x00, //0x00000007 .byte 0 + 0x00, //0x00000008 .byte 0 + 0x09, //0x00000009 .byte 9 + 0x0a, //0x0000000a .byte 10 + 0x00, //0x0000000b .byte 0 + 0x00, //0x0000000c .byte 0 + 0x0d, //0x0000000d .byte 13 + 0x00, //0x0000000e .byte 0 + 0x00, //0x0000000f .byte 0 + 0x20, //0x00000010 .byte 32 + 0x00, //0x00000011 .byte 0 + 0x00, //0x00000012 .byte 0 + 0x00, //0x00000013 .byte 0 + 0x00, //0x00000014 .byte 0 + 0x00, //0x00000015 .byte 0 + 0x00, //0x00000016 .byte 0 + 0x00, //0x00000017 .byte 0 + 0x00, //0x00000018 .byte 0 + 0x09, //0x00000019 .byte 9 + 0x0a, //0x0000001a .byte 10 + 0x00, //0x0000001b .byte 0 + 0x00, //0x0000001c .byte 0 + 0x0d, //0x0000001d .byte 13 + 0x00, //0x0000001e .byte 0 + 0x00, //0x0000001f .byte 0 + //0x00000020 LCPI0_1 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000020 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000030 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000040 LCPI0_2 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000040 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000050 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000060 LCPI0_3 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000060 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000070 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000080 LCPI0_4 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000080 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000090 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x000000a0 LCPI0_5 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x000000a0 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x000000b0 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x000000c0 LCPI0_6 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x000000c0 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x000000d0 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x000000e0 LCPI0_7 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x000000e0 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x000000f0 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000100 LCPI0_8 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000100 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000110 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000120 LCPI0_9 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000120 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000130 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000140 .p2align 4, 0x00 + //0x00000140 LCPI0_10 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000140 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000150 LCPI0_11 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000150 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000160 LCPI0_12 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000160 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000170 LCPI0_13 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000170 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000180 LCPI0_14 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000180 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000190 LCPI0_15 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000190 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x000001a0 LCPI0_16 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000001a0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000001b0 .p2align 4, 0x90 + //0x000001b0 _skip_one + 0x55, //0x000001b0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000001b1 movq %rsp, %rbp + 0x41, 0x57, //0x000001b4 pushq %r15 + 0x41, 0x56, //0x000001b6 pushq %r14 + 0x41, 0x55, //0x000001b8 pushq %r13 + 0x41, 0x54, //0x000001ba pushq %r12 + 0x53, //0x000001bc pushq %rbx + 0x48, 0x83, 0xec, 0x48, //0x000001bd subq $72, %rsp + 0x48, 0x89, 0x4d, 0x98, //0x000001c1 movq %rcx, $-104(%rbp) + 0x49, 0x89, 0xd2, //0x000001c5 movq %rdx, %r10 + 0x49, 0x89, 0xf5, //0x000001c8 movq %rsi, %r13 + 0x49, 0x89, 0xfe, //0x000001cb movq %rdi, %r14 + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000001ce movl $1, %ebx + 0xc4, 0xe1, 0xf9, 0x6e, 0xc3, //0x000001d3 vmovq %rbx, %xmm0 + 0xc5, 0xfa, 0x7f, 0x02, //0x000001d8 vmovdqu %xmm0, (%rdx) + 0x4c, 0x8b, 0x26, //0x000001dc movq (%rsi), %r12 + 0x48, 0xc7, 0x45, 0x90, 0xff, 0xff, 0xff, 0xff, //0x000001df movq $-1, $-112(%rbp) + 0xc5, 0xfe, 0x6f, 0x2d, 0x11, 0xfe, 0xff, 0xff, //0x000001e7 vmovdqu $-495(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x29, 0xfe, 0xff, 0xff, //0x000001ef vmovdqu $-471(%rip), %ymm6 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x41, 0xfe, 0xff, 0xff, //0x000001f7 vmovdqu $-447(%rip), %ymm7 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0x59, 0xfe, 0xff, 0xff, //0x000001ff vmovdqu $-423(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00000207 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0x6c, 0xfe, 0xff, 0xff, //0x0000020c vmovdqu $-404(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x84, 0xfe, 0xff, 0xff, //0x00000214 vmovdqu $-380(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x9c, 0xfe, 0xff, 0xff, //0x0000021c vmovdqu $-356(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0xb4, 0xfe, 0xff, 0xff, //0x00000224 vmovdqu $-332(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xcc, 0xfe, 0xff, 0xff, //0x0000022c vmovdqu $-308(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0xe4, 0xfe, 0xff, 0xff, //0x00000234 vmovdqu $-284(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + 0x48, 0x89, 0x75, 0xc0, //0x0000023c movq %rsi, $-64(%rbp) + 0x48, 0x89, 0x55, 0xb8, //0x00000240 movq %rdx, $-72(%rbp) + 0x48, 0x89, 0x7d, 0xd0, //0x00000244 movq %rdi, $-48(%rbp) + 0xe9, 0x63, 0x00, 0x00, 0x00, //0x00000248 jmp LBB0_5 + //0x0000024d LBB0_72 + 0x4c, 0x89, 0xe1, //0x0000024d movq %r12, %rcx + //0x00000250 LBB0_199 + 0x4c, 0x89, 0xe0, //0x00000250 movq %r12, %rax + 0x4e, 0x8d, 0x64, 0x31, 0xff, //0x00000253 leaq $-1(%rcx,%r14), %r12 + 0x4d, 0x89, 0x65, 0x00, //0x00000258 movq %r12, (%r13) + 0x4c, 0x89, 0xc1, //0x0000025c movq %r8, %rcx + 0x48, 0x85, 0xc0, //0x0000025f testq %rax, %rax + 0x4c, 0x8b, 0x55, 0xb8, //0x00000262 movq $-72(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xd0, //0x00000266 movq $-48(%rbp), %r14 + 0x0f, 0x8e, 0x49, 0x25, 0x00, 0x00, //0x0000026a jle LBB0_498 + //0x00000270 .p2align 4, 0x90 + //0x00000270 LBB0_3 + 0x49, 0x8b, 0x12, //0x00000270 movq (%r10), %rdx + 0x48, 0x89, 0xd3, //0x00000273 movq %rdx, %rbx + 0x48, 0x8b, 0x4d, 0x90, //0x00000276 movq $-112(%rbp), %rcx + 0x48, 0x85, 0xd2, //0x0000027a testq %rdx, %rdx + 0x0f, 0x85, 0x2d, 0x00, 0x00, 0x00, //0x0000027d jne LBB0_5 + 0xe9, 0x31, 0x25, 0x00, 0x00, //0x00000283 jmp LBB0_498 + //0x00000288 LBB0_1 + 0x4c, 0x89, 0xe0, //0x00000288 movq %r12, %rax + 0x4d, 0x8d, 0x60, 0x04, //0x0000028b leaq $4(%r8), %r12 + 0x4d, 0x89, 0x65, 0x00, //0x0000028f movq %r12, (%r13) + 0x4c, 0x89, 0xc1, //0x00000293 movq %r8, %rcx + 0x48, 0x85, 0xc0, //0x00000296 testq %rax, %rax + 0x0f, 0x8f, 0xd1, 0xff, 0xff, 0xff, //0x00000299 jg LBB0_3 + 0xe9, 0x15, 0x25, 0x00, 0x00, //0x0000029f jmp LBB0_498 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002a4 .p2align 4, 0x90 + //0x000002b0 LBB0_5 + 0x4d, 0x8b, 0x0e, //0x000002b0 movq (%r14), %r9 + 0x49, 0x8b, 0x4e, 0x08, //0x000002b3 movq $8(%r14), %rcx + 0x49, 0x39, 0xcc, //0x000002b7 cmpq %rcx, %r12 + 0x0f, 0x83, 0x30, 0x00, 0x00, 0x00, //0x000002ba jae LBB0_10 + 0x43, 0x8a, 0x04, 0x21, //0x000002c0 movb (%r9,%r12), %al + 0x3c, 0x0d, //0x000002c4 cmpb $13, %al + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x000002c6 je LBB0_10 + 0x3c, 0x20, //0x000002cc cmpb $32, %al + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x000002ce je LBB0_10 + 0x04, 0xf7, //0x000002d4 addb $-9, %al + 0x3c, 0x01, //0x000002d6 cmpb $1, %al + 0x0f, 0x86, 0x12, 0x00, 0x00, 0x00, //0x000002d8 jbe LBB0_10 + 0x4d, 0x89, 0xe0, //0x000002de movq %r12, %r8 + 0xe9, 0x82, 0x01, 0x00, 0x00, //0x000002e1 jmp LBB0_36 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002e6 .p2align 4, 0x90 + //0x000002f0 LBB0_10 + 0x4d, 0x8d, 0x44, 0x24, 0x01, //0x000002f0 leaq $1(%r12), %r8 + 0x49, 0x39, 0xc8, //0x000002f5 cmpq %rcx, %r8 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x000002f8 jae LBB0_14 + 0x43, 0x8a, 0x14, 0x01, //0x000002fe movb (%r9,%r8), %dl + 0x80, 0xfa, 0x0d, //0x00000302 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000305 je LBB0_14 + 0x80, 0xfa, 0x20, //0x0000030b cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000030e je LBB0_14 + 0x80, 0xc2, 0xf7, //0x00000314 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000317 cmpb $1, %dl + 0x0f, 0x87, 0x48, 0x01, 0x00, 0x00, //0x0000031a ja LBB0_36 + //0x00000320 .p2align 4, 0x90 + //0x00000320 LBB0_14 + 0x4d, 0x8d, 0x44, 0x24, 0x02, //0x00000320 leaq $2(%r12), %r8 + 0x49, 0x39, 0xc8, //0x00000325 cmpq %rcx, %r8 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000328 jae LBB0_18 + 0x43, 0x8a, 0x14, 0x01, //0x0000032e movb (%r9,%r8), %dl + 0x80, 0xfa, 0x0d, //0x00000332 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000335 je LBB0_18 + 0x80, 0xfa, 0x20, //0x0000033b cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000033e je LBB0_18 + 0x80, 0xc2, 0xf7, //0x00000344 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000347 cmpb $1, %dl + 0x0f, 0x87, 0x18, 0x01, 0x00, 0x00, //0x0000034a ja LBB0_36 + //0x00000350 .p2align 4, 0x90 + //0x00000350 LBB0_18 + 0x4d, 0x8d, 0x44, 0x24, 0x03, //0x00000350 leaq $3(%r12), %r8 + 0x49, 0x39, 0xc8, //0x00000355 cmpq %rcx, %r8 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000358 jae LBB0_22 + 0x43, 0x8a, 0x14, 0x01, //0x0000035e movb (%r9,%r8), %dl + 0x80, 0xfa, 0x0d, //0x00000362 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000365 je LBB0_22 + 0x80, 0xfa, 0x20, //0x0000036b cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000036e je LBB0_22 + 0x80, 0xc2, 0xf7, //0x00000374 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000377 cmpb $1, %dl + 0x0f, 0x87, 0xe8, 0x00, 0x00, 0x00, //0x0000037a ja LBB0_36 + //0x00000380 .p2align 4, 0x90 + //0x00000380 LBB0_22 + 0x4d, 0x8d, 0x44, 0x24, 0x04, //0x00000380 leaq $4(%r12), %r8 + 0x48, 0x89, 0xca, //0x00000385 movq %rcx, %rdx + 0x4c, 0x29, 0xc2, //0x00000388 subq %r8, %rdx + 0x0f, 0x86, 0xb1, 0x23, 0x00, 0x00, //0x0000038b jbe LBB0_472 + 0x4d, 0x01, 0xc8, //0x00000391 addq %r9, %r8 + 0x48, 0x83, 0xfa, 0x20, //0x00000394 cmpq $32, %rdx + 0x0f, 0x82, 0x55, 0x00, 0x00, 0x00, //0x00000398 jb LBB0_28 + 0x48, 0x89, 0xce, //0x0000039e movq %rcx, %rsi + 0x4c, 0x29, 0xe6, //0x000003a1 subq %r12, %rsi + 0x48, 0x83, 0xc6, 0xdc, //0x000003a4 addq $-36, %rsi + 0x48, 0x89, 0xf7, //0x000003a8 movq %rsi, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x000003ab andq $-32, %rdi + 0x4c, 0x01, 0xe7, //0x000003af addq %r12, %rdi + 0x49, 0x8d, 0x44, 0x39, 0x24, //0x000003b2 leaq $36(%r9,%rdi), %rax + 0x83, 0xe6, 0x1f, //0x000003b7 andl $31, %esi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003ba .p2align 4, 0x90 + //0x000003c0 LBB0_25 + 0xc4, 0xc1, 0x7e, 0x6f, 0x00, //0x000003c0 vmovdqu (%r8), %ymm0 + 0xc4, 0xe2, 0x55, 0x00, 0xc8, //0x000003c5 vpshufb %ymm0, %ymm5, %ymm1 + 0xc5, 0xfd, 0x74, 0xc1, //0x000003ca vpcmpeqb %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x000003ce vpmovmskb %ymm0, %edi + 0x83, 0xff, 0xff, //0x000003d2 cmpl $-1, %edi + 0x0f, 0x85, 0x75, 0x00, 0x00, 0x00, //0x000003d5 jne LBB0_35 + 0x49, 0x83, 0xc0, 0x20, //0x000003db addq $32, %r8 + 0x48, 0x83, 0xc2, 0xe0, //0x000003df addq $-32, %rdx + 0x48, 0x83, 0xfa, 0x1f, //0x000003e3 cmpq $31, %rdx + 0x0f, 0x87, 0xd3, 0xff, 0xff, 0xff, //0x000003e7 ja LBB0_25 + 0x48, 0x89, 0xf2, //0x000003ed movq %rsi, %rdx + 0x49, 0x89, 0xc0, //0x000003f0 movq %rax, %r8 + //0x000003f3 LBB0_28 + 0x48, 0x85, 0xd2, //0x000003f3 testq %rdx, %rdx + 0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000003f6 movabsq $4294977024, %rax + 0x0f, 0x84, 0x34, 0x00, 0x00, 0x00, //0x00000400 je LBB0_34 + 0x49, 0x8d, 0x34, 0x10, //0x00000406 leaq (%r8,%rdx), %rsi + 0x49, 0xff, 0xc0, //0x0000040a incq %r8 + 0x90, 0x90, 0x90, //0x0000040d .p2align 4, 0x90 + //0x00000410 LBB0_30 + 0x41, 0x0f, 0xbe, 0x78, 0xff, //0x00000410 movsbl $-1(%r8), %edi + 0x83, 0xff, 0x20, //0x00000415 cmpl $32, %edi + 0x0f, 0x87, 0xfa, 0x10, 0x00, 0x00, //0x00000418 ja LBB0_268 + 0x48, 0x0f, 0xa3, 0xf8, //0x0000041e btq %rdi, %rax + 0x0f, 0x83, 0xf0, 0x10, 0x00, 0x00, //0x00000422 jae LBB0_268 + 0x48, 0xff, 0xca, //0x00000428 decq %rdx + 0x49, 0xff, 0xc0, //0x0000042b incq %r8 + 0x48, 0x85, 0xd2, //0x0000042e testq %rdx, %rdx + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x00000431 jne LBB0_30 + 0x49, 0x89, 0xf0, //0x00000437 movq %rsi, %r8 + //0x0000043a LBB0_34 + 0x4d, 0x29, 0xc8, //0x0000043a subq %r9, %r8 + 0x49, 0x39, 0xc8, //0x0000043d cmpq %rcx, %r8 + 0x0f, 0x82, 0x22, 0x00, 0x00, 0x00, //0x00000440 jb LBB0_36 + 0xe9, 0xfb, 0x22, 0x00, 0x00, //0x00000446 jmp LBB0_473 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000044b .p2align 4, 0x90 + //0x00000450 LBB0_35 + 0x4d, 0x29, 0xc8, //0x00000450 subq %r9, %r8 + 0xf7, 0xd7, //0x00000453 notl %edi + 0x48, 0x63, 0xd7, //0x00000455 movslq %edi, %rdx + 0x48, 0x0f, 0xbc, 0xd2, //0x00000458 bsfq %rdx, %rdx + 0x49, 0x01, 0xd0, //0x0000045c addq %rdx, %r8 + 0x49, 0x39, 0xc8, //0x0000045f cmpq %rcx, %r8 + 0x0f, 0x83, 0xde, 0x22, 0x00, 0x00, //0x00000462 jae LBB0_473 + //0x00000468 LBB0_36 + 0x4d, 0x8d, 0x60, 0x01, //0x00000468 leaq $1(%r8), %r12 + 0x4d, 0x89, 0x65, 0x00, //0x0000046c movq %r12, (%r13) + 0x43, 0x0f, 0xbe, 0x34, 0x01, //0x00000470 movsbl (%r9,%r8), %esi + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000475 movq $-1, %rcx + 0x85, 0xf6, //0x0000047c testl %esi, %esi + 0x0f, 0x84, 0x35, 0x23, 0x00, 0x00, //0x0000047e je LBB0_498 + 0x48, 0x8d, 0x53, 0xff, //0x00000484 leaq $-1(%rbx), %rdx + 0x41, 0x8b, 0x3c, 0xda, //0x00000488 movl (%r10,%rbx,8), %edi + 0x48, 0x8b, 0x45, 0x90, //0x0000048c movq $-112(%rbp), %rax + 0x48, 0x83, 0xf8, 0xff, //0x00000490 cmpq $-1, %rax + 0x49, 0x0f, 0x44, 0xc0, //0x00000494 cmoveq %r8, %rax + 0x48, 0x89, 0x45, 0x90, //0x00000498 movq %rax, $-112(%rbp) + 0xff, 0xcf, //0x0000049c decl %edi + 0x83, 0xff, 0x05, //0x0000049e cmpl $5, %edi + 0x0f, 0x87, 0xe8, 0x01, 0x00, 0x00, //0x000004a1 ja LBB0_66 + 0x48, 0x8d, 0x05, 0x36, 0x25, 0x00, 0x00, //0x000004a7 leaq $9526(%rip), %rax /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x3c, 0xb8, //0x000004ae movslq (%rax,%rdi,4), %rdi + 0x48, 0x01, 0xc7, //0x000004b2 addq %rax, %rdi + 0xff, 0xe7, //0x000004b5 jmpq *%rdi + //0x000004b7 LBB0_39 + 0x83, 0xfe, 0x2c, //0x000004b7 cmpl $44, %esi + 0x0f, 0x84, 0x6f, 0x07, 0x00, 0x00, //0x000004ba je LBB0_88 + 0x83, 0xfe, 0x5d, //0x000004c0 cmpl $93, %esi + 0x0f, 0x84, 0x5b, 0x05, 0x00, 0x00, //0x000004c3 je LBB0_41 + 0xe9, 0xe4, 0x22, 0x00, 0x00, //0x000004c9 jmp LBB0_497 + //0x000004ce LBB0_42 + 0x40, 0x80, 0xfe, 0x5d, //0x000004ce cmpb $93, %sil + 0x0f, 0x84, 0x4c, 0x05, 0x00, 0x00, //0x000004d2 je LBB0_41 + 0x49, 0xc7, 0x04, 0xda, 0x01, 0x00, 0x00, 0x00, //0x000004d8 movq $1, (%r10,%rbx,8) + 0x83, 0xfe, 0x7b, //0x000004e0 cmpl $123, %esi + 0x0f, 0x86, 0xb2, 0x01, 0x00, 0x00, //0x000004e3 jbe LBB0_44 + 0xe9, 0xc4, 0x22, 0x00, 0x00, //0x000004e9 jmp LBB0_497 + //0x000004ee LBB0_45 + 0x40, 0x80, 0xfe, 0x22, //0x000004ee cmpb $34, %sil + 0x0f, 0x85, 0xba, 0x22, 0x00, 0x00, //0x000004f2 jne LBB0_497 + 0x49, 0xc7, 0x04, 0xda, 0x04, 0x00, 0x00, 0x00, //0x000004f8 movq $4, (%r10,%rbx,8) + 0x49, 0x8b, 0x56, 0x08, //0x00000500 movq $8(%r14), %rdx + 0xf6, 0x45, 0x98, 0x20, //0x00000504 testb $32, $-104(%rbp) + 0x4c, 0x89, 0x65, 0xa8, //0x00000508 movq %r12, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb0, //0x0000050c movq %rdx, $-80(%rbp) + 0x0f, 0x85, 0xb0, 0x05, 0x00, 0x00, //0x00000510 jne LBB0_73 + 0x48, 0x89, 0xd1, //0x00000516 movq %rdx, %rcx + 0x4c, 0x29, 0xe1, //0x00000519 subq %r12, %rcx + 0x0f, 0x84, 0x35, 0x24, 0x00, 0x00, //0x0000051c je LBB0_504 + 0x4b, 0x8d, 0x1c, 0x21, //0x00000522 leaq (%r9,%r12), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x00000526 cmpq $64, %rcx + 0x0f, 0x82, 0xe2, 0x18, 0x00, 0x00, //0x0000052a jb LBB0_355 + 0x41, 0x89, 0xcf, //0x00000530 movl %ecx, %r15d + 0x41, 0x83, 0xe7, 0x3f, //0x00000533 andl $63, %r15d + 0x4c, 0x29, 0xc2, //0x00000537 subq %r8, %rdx + 0x48, 0x83, 0xc2, 0xbf, //0x0000053a addq $-65, %rdx + 0x48, 0x83, 0xe2, 0xc0, //0x0000053e andq $-64, %rdx + 0x4c, 0x01, 0xe2, //0x00000542 addq %r12, %rdx + 0x4d, 0x89, 0xcb, //0x00000545 movq %r9, %r11 + 0x4d, 0x8d, 0x4c, 0x11, 0x40, //0x00000548 leaq $64(%r9,%rdx), %r9 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x0000054d movq $-1, %r13 + 0x45, 0x31, 0xf6, //0x00000554 xorl %r14d, %r14d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000557 .p2align 4, 0x90 + //0x00000560 LBB0_50 + 0xc5, 0xfe, 0x6f, 0x03, //0x00000560 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x00000564 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000569 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xf2, //0x0000056d vpmovmskb %ymm2, %esi + 0xc5, 0xf5, 0x74, 0xd6, //0x00000571 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000575 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00000579 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x0000057d vpmovmskb %ymm0, %edi + 0xc5, 0xf5, 0x74, 0xc7, //0x00000581 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00000585 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe2, 0x20, //0x00000589 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x0000058d shlq $32, %rax + 0x48, 0x09, 0xc7, //0x00000591 orq %rax, %rdi + 0x49, 0x83, 0xfd, 0xff, //0x00000594 cmpq $-1, %r13 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000598 jne LBB0_52 + 0x48, 0x85, 0xff, //0x0000059e testq %rdi, %rdi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000005a1 jne LBB0_59 + //0x000005a7 LBB0_52 + 0x48, 0x09, 0xf2, //0x000005a7 orq %rsi, %rdx + 0x48, 0x89, 0xf8, //0x000005aa movq %rdi, %rax + 0x4c, 0x09, 0xf0, //0x000005ad orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x000005b0 jne LBB0_60 + //0x000005b6 LBB0_53 + 0x48, 0x85, 0xd2, //0x000005b6 testq %rdx, %rdx + 0x0f, 0x85, 0xdb, 0x14, 0x00, 0x00, //0x000005b9 jne LBB0_61 + //0x000005bf LBB0_54 + 0x48, 0x83, 0xc1, 0xc0, //0x000005bf addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x000005c3 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x000005c7 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x000005cb ja LBB0_50 + 0xe9, 0x83, 0x14, 0x00, 0x00, //0x000005d1 jmp LBB0_55 + //0x000005d6 LBB0_59 + 0x48, 0x89, 0xd8, //0x000005d6 movq %rbx, %rax + 0x4c, 0x29, 0xd8, //0x000005d9 subq %r11, %rax + 0x4c, 0x0f, 0xbc, 0xef, //0x000005dc bsfq %rdi, %r13 + 0x49, 0x01, 0xc5, //0x000005e0 addq %rax, %r13 + 0x48, 0x09, 0xf2, //0x000005e3 orq %rsi, %rdx + 0x48, 0x89, 0xf8, //0x000005e6 movq %rdi, %rax + 0x4c, 0x09, 0xf0, //0x000005e9 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x000005ec je LBB0_53 + //0x000005f2 LBB0_60 + 0x4c, 0x89, 0xf0, //0x000005f2 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x000005f5 notq %rax + 0x48, 0x21, 0xf8, //0x000005f8 andq %rdi, %rax + 0x4c, 0x8d, 0x14, 0x00, //0x000005fb leaq (%rax,%rax), %r10 + 0x4d, 0x09, 0xf2, //0x000005ff orq %r14, %r10 + 0x4c, 0x89, 0xd6, //0x00000602 movq %r10, %rsi + 0x48, 0xf7, 0xd6, //0x00000605 notq %rsi + 0x48, 0x21, 0xfe, //0x00000608 andq %rdi, %rsi + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000060b movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfe, //0x00000615 andq %rdi, %rsi + 0x45, 0x31, 0xf6, //0x00000618 xorl %r14d, %r14d + 0x48, 0x01, 0xc6, //0x0000061b addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc6, //0x0000061e setb %r14b + 0x48, 0x01, 0xf6, //0x00000622 addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000625 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x0000062f xorq %rax, %rsi + 0x4c, 0x21, 0xd6, //0x00000632 andq %r10, %rsi + 0x4c, 0x8b, 0x55, 0xb8, //0x00000635 movq $-72(%rbp), %r10 + 0x48, 0xf7, 0xd6, //0x00000639 notq %rsi + 0x48, 0x21, 0xf2, //0x0000063c andq %rsi, %rdx + 0x48, 0x85, 0xd2, //0x0000063f testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0xff, 0xff, 0xff, //0x00000642 je LBB0_54 + 0xe9, 0x4d, 0x14, 0x00, 0x00, //0x00000648 jmp LBB0_61 + //0x0000064d LBB0_62 + 0x83, 0xfe, 0x2c, //0x0000064d cmpl $44, %esi + 0x0f, 0x85, 0xc5, 0x03, 0x00, 0x00, //0x00000650 jne LBB0_63 + 0x48, 0x81, 0xfb, 0xff, 0x0f, 0x00, 0x00, //0x00000656 cmpq $4095, %rbx + 0x0f, 0x8f, 0xef, 0x20, 0x00, 0x00, //0x0000065d jg LBB0_486 + 0x48, 0x8d, 0x43, 0x01, //0x00000663 leaq $1(%rbx), %rax + 0x49, 0x89, 0x02, //0x00000667 movq %rax, (%r10) + 0x49, 0xc7, 0x44, 0xda, 0x08, 0x03, 0x00, 0x00, 0x00, //0x0000066a movq $3, $8(%r10,%rbx,8) + 0xe9, 0xf8, 0xfb, 0xff, 0xff, //0x00000673 jmp LBB0_3 + //0x00000678 LBB0_64 + 0x40, 0x80, 0xfe, 0x3a, //0x00000678 cmpb $58, %sil + 0x0f, 0x85, 0x30, 0x21, 0x00, 0x00, //0x0000067c jne LBB0_497 + 0x49, 0xc7, 0x04, 0xda, 0x00, 0x00, 0x00, 0x00, //0x00000682 movq $0, (%r10,%rbx,8) + 0xe9, 0xe1, 0xfb, 0xff, 0xff, //0x0000068a jmp LBB0_3 + //0x0000068f LBB0_66 + 0x49, 0x89, 0x12, //0x0000068f movq %rdx, (%r10) + 0x83, 0xfe, 0x7b, //0x00000692 cmpl $123, %esi + 0x0f, 0x87, 0x17, 0x21, 0x00, 0x00, //0x00000695 ja LBB0_497 + //0x0000069b LBB0_44 + 0x4f, 0x8d, 0x3c, 0x01, //0x0000069b leaq (%r9,%r8), %r15 + 0x89, 0xf0, //0x0000069f movl %esi, %eax + 0x48, 0x8d, 0x15, 0x54, 0x23, 0x00, 0x00, //0x000006a1 leaq $9044(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x000006a8 movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x000006ac addq %rdx, %rax + 0xff, 0xe0, //0x000006af jmpq *%rax + //0x000006b1 LBB0_69 + 0x4d, 0x8b, 0x56, 0x08, //0x000006b1 movq $8(%r14), %r10 + 0x4d, 0x29, 0xc2, //0x000006b5 subq %r8, %r10 + 0x0f, 0x84, 0xba, 0x20, 0x00, 0x00, //0x000006b8 je LBB0_476 + 0x41, 0x80, 0x3f, 0x30, //0x000006be cmpb $48, (%r15) + 0x0f, 0x85, 0x3a, 0x00, 0x00, 0x00, //0x000006c2 jne LBB0_132 + 0x41, 0xbe, 0x01, 0x00, 0x00, 0x00, //0x000006c8 movl $1, %r14d + 0x49, 0x83, 0xfa, 0x01, //0x000006ce cmpq $1, %r10 + 0x0f, 0x84, 0x75, 0xfb, 0xff, 0xff, //0x000006d2 je LBB0_72 + 0x43, 0x8a, 0x0c, 0x21, //0x000006d8 movb (%r9,%r12), %cl + 0x80, 0xc1, 0xd2, //0x000006dc addb $-46, %cl + 0x80, 0xf9, 0x37, //0x000006df cmpb $55, %cl + 0x0f, 0x87, 0x65, 0xfb, 0xff, 0xff, //0x000006e2 ja LBB0_72 + 0x0f, 0xb6, 0xc1, //0x000006e8 movzbl %cl, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000006eb movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x000006f5 btq %rax, %rcx + 0x4c, 0x89, 0xe1, //0x000006f9 movq %r12, %rcx + 0x0f, 0x83, 0x4e, 0xfb, 0xff, 0xff, //0x000006fc jae LBB0_199 + //0x00000702 LBB0_132 + 0x4c, 0x89, 0x65, 0xa8, //0x00000702 movq %r12, $-88(%rbp) + 0x49, 0x83, 0xfa, 0x20, //0x00000706 cmpq $32, %r10 + 0x0f, 0x82, 0xdb, 0x16, 0x00, 0x00, //0x0000070a jb LBB0_354 + 0x49, 0x8d, 0x4a, 0xe0, //0x00000710 leaq $-32(%r10), %rcx + 0x48, 0x89, 0xc8, //0x00000714 movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xe0, //0x00000717 andq $-32, %rax + 0x4e, 0x8d, 0x74, 0x38, 0x20, //0x0000071b leaq $32(%rax,%r15), %r14 + 0x83, 0xe1, 0x1f, //0x00000720 andl $31, %ecx + 0x48, 0x89, 0x4d, 0xc8, //0x00000723 movq %rcx, $-56(%rbp) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000727 movq $-1, %rax + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x0000072e movq $-1, %r12 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00000735 movq $-1, %r13 + 0x4d, 0x89, 0xfb, //0x0000073c movq %r15, %r11 + 0x90, //0x0000073f .p2align 4, 0x90 + //0x00000740 LBB0_134 + 0xc4, 0xc1, 0x7e, 0x6f, 0x03, //0x00000740 vmovdqu (%r11), %ymm0 + 0xc4, 0xc1, 0x7d, 0x64, 0xca, //0x00000745 vpcmpgtb %ymm10, %ymm0, %ymm1 + 0xc5, 0xa5, 0x64, 0xd0, //0x0000074a vpcmpgtb %ymm0, %ymm11, %ymm2 + 0xc5, 0xf5, 0xdb, 0xca, //0x0000074e vpand %ymm2, %ymm1, %ymm1 + 0xc5, 0x9d, 0x74, 0xd0, //0x00000752 vpcmpeqb %ymm0, %ymm12, %ymm2 + 0xc5, 0x95, 0x74, 0xd8, //0x00000756 vpcmpeqb %ymm0, %ymm13, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x0000075a vpor %ymm2, %ymm3, %ymm2 + 0xc5, 0xbd, 0xeb, 0xd8, //0x0000075e vpor %ymm0, %ymm8, %ymm3 + 0xc5, 0x8d, 0x74, 0xc0, //0x00000762 vpcmpeqb %ymm0, %ymm14, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x00000766 vpmovmskb %ymm0, %edi + 0xc5, 0x85, 0x74, 0xdb, //0x0000076a vpcmpeqb %ymm3, %ymm15, %ymm3 + 0xc5, 0xfd, 0xd7, 0xd3, //0x0000076e vpmovmskb %ymm3, %edx + 0xc5, 0xfd, 0xd7, 0xf2, //0x00000772 vpmovmskb %ymm2, %esi + 0xc5, 0xe5, 0xeb, 0xc0, //0x00000776 vpor %ymm0, %ymm3, %ymm0 + 0xc5, 0xed, 0xeb, 0xc9, //0x0000077a vpor %ymm1, %ymm2, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc1, //0x0000077e vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc8, //0x00000782 vpmovmskb %ymm0, %ecx + 0x48, 0xf7, 0xd1, //0x00000786 notq %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x00000789 bsfq %rcx, %rcx + 0x83, 0xf9, 0x20, //0x0000078d cmpl $32, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00000790 je LBB0_136 + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x00000796 movl $-1, %ebx + 0xd3, 0xe3, //0x0000079b shll %cl, %ebx + 0xf7, 0xd3, //0x0000079d notl %ebx + 0x21, 0xdf, //0x0000079f andl %ebx, %edi + 0x21, 0xda, //0x000007a1 andl %ebx, %edx + 0x21, 0xf3, //0x000007a3 andl %esi, %ebx + 0x89, 0xde, //0x000007a5 movl %ebx, %esi + //0x000007a7 LBB0_136 + 0x44, 0x8d, 0x4f, 0xff, //0x000007a7 leal $-1(%rdi), %r9d + 0x41, 0x21, 0xf9, //0x000007ab andl %edi, %r9d + 0x0f, 0x85, 0xd4, 0x13, 0x00, 0x00, //0x000007ae jne LBB0_345 + 0x8d, 0x5a, 0xff, //0x000007b4 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x000007b7 andl %edx, %ebx + 0x0f, 0x85, 0x8e, 0x12, 0x00, 0x00, //0x000007b9 jne LBB0_339 + 0x8d, 0x5e, 0xff, //0x000007bf leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x000007c2 andl %esi, %ebx + 0x0f, 0x85, 0x83, 0x12, 0x00, 0x00, //0x000007c4 jne LBB0_339 + 0x85, 0xff, //0x000007ca testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000007cc je LBB0_142 + 0x4c, 0x89, 0xdb, //0x000007d2 movq %r11, %rbx + 0x4c, 0x29, 0xfb, //0x000007d5 subq %r15, %rbx + 0x0f, 0xbc, 0xff, //0x000007d8 bsfl %edi, %edi + 0x48, 0x01, 0xdf, //0x000007db addq %rbx, %rdi + 0x49, 0x83, 0xfd, 0xff, //0x000007de cmpq $-1, %r13 + 0x0f, 0x85, 0xb2, 0x13, 0x00, 0x00, //0x000007e2 jne LBB0_347 + 0x49, 0x89, 0xfd, //0x000007e8 movq %rdi, %r13 + //0x000007eb LBB0_142 + 0x85, 0xd2, //0x000007eb testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000007ed je LBB0_145 + 0x4c, 0x89, 0xdf, //0x000007f3 movq %r11, %rdi + 0x4c, 0x29, 0xff, //0x000007f6 subq %r15, %rdi + 0x0f, 0xbc, 0xd2, //0x000007f9 bsfl %edx, %edx + 0x48, 0x01, 0xfa, //0x000007fc addq %rdi, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x000007ff cmpq $-1, %r12 + 0x0f, 0x85, 0x26, 0x13, 0x00, 0x00, //0x00000803 jne LBB0_340 + 0x49, 0x89, 0xd4, //0x00000809 movq %rdx, %r12 + //0x0000080c LBB0_145 + 0x85, 0xf6, //0x0000080c testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000080e je LBB0_148 + 0x4c, 0x89, 0xdf, //0x00000814 movq %r11, %rdi + 0x4c, 0x29, 0xff, //0x00000817 subq %r15, %rdi + 0x0f, 0xbc, 0xd6, //0x0000081a bsfl %esi, %edx + 0x48, 0x01, 0xfa, //0x0000081d addq %rdi, %rdx + 0x48, 0x83, 0xf8, 0xff, //0x00000820 cmpq $-1, %rax + 0x0f, 0x85, 0x05, 0x13, 0x00, 0x00, //0x00000824 jne LBB0_340 + 0x48, 0x89, 0xd0, //0x0000082a movq %rdx, %rax + //0x0000082d LBB0_148 + 0x83, 0xf9, 0x20, //0x0000082d cmpl $32, %ecx + 0x0f, 0x85, 0x85, 0x05, 0x00, 0x00, //0x00000830 jne LBB0_180 + 0x49, 0x83, 0xc3, 0x20, //0x00000836 addq $32, %r11 + 0x49, 0x83, 0xc2, 0xe0, //0x0000083a addq $-32, %r10 + 0x49, 0x83, 0xfa, 0x1f, //0x0000083e cmpq $31, %r10 + 0x0f, 0x87, 0xf8, 0xfe, 0xff, 0xff, //0x00000842 ja LBB0_134 + 0xc5, 0xf8, 0x77, //0x00000848 vzeroupper + 0xc5, 0x7e, 0x6f, 0x3d, 0xcd, 0xf8, 0xff, 0xff, //0x0000084b vmovdqu $-1843(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xa5, 0xf8, 0xff, 0xff, //0x00000853 vmovdqu $-1883(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x7d, 0xf8, 0xff, 0xff, //0x0000085b vmovdqu $-1923(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x55, 0xf8, 0xff, 0xff, //0x00000863 vmovdqu $-1963(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x2d, 0xf8, 0xff, 0xff, //0x0000086b vmovdqu $-2003(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x05, 0xf8, 0xff, 0xff, //0x00000873 vmovdqu $-2043(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000087b vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x05, 0xd8, 0xf7, 0xff, 0xff, //0x00000880 vmovdqu $-2088(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xb0, 0xf7, 0xff, 0xff, //0x00000888 vmovdqu $-2128(%rip), %ymm7 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x88, 0xf7, 0xff, 0xff, //0x00000890 vmovdqu $-2168(%rip), %ymm6 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x60, 0xf7, 0xff, 0xff, //0x00000898 vmovdqu $-2208(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0x4c, 0x8b, 0x55, 0xc8, //0x000008a0 movq $-56(%rbp), %r10 + 0x49, 0x83, 0xfa, 0x10, //0x000008a4 cmpq $16, %r10 + 0x0f, 0x82, 0x52, 0x01, 0x00, 0x00, //0x000008a8 jb LBB0_169 + //0x000008ae LBB0_151 + 0x4d, 0x8d, 0x4a, 0xf0, //0x000008ae leaq $-16(%r10), %r9 + 0x4c, 0x89, 0xc9, //0x000008b2 movq %r9, %rcx + 0x48, 0x83, 0xe1, 0xf0, //0x000008b5 andq $-16, %rcx + 0x4e, 0x8d, 0x5c, 0x31, 0x10, //0x000008b9 leaq $16(%rcx,%r14), %r11 + 0x41, 0x83, 0xe1, 0x0f, //0x000008be andl $15, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008c2 .p2align 4, 0x90 + //0x000008d0 LBB0_152 + 0xc4, 0xc1, 0x7a, 0x6f, 0x06, //0x000008d0 vmovdqu (%r14), %xmm0 + 0xc5, 0xf9, 0x64, 0x0d, 0x63, 0xf8, 0xff, 0xff, //0x000008d5 vpcmpgtb $-1949(%rip), %xmm0, %xmm1 /* LCPI0_10+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0x6b, 0xf8, 0xff, 0xff, //0x000008dd vmovdqu $-1941(%rip), %xmm2 /* LCPI0_11+0(%rip) */ + 0xc5, 0xe9, 0x64, 0xd0, //0x000008e5 vpcmpgtb %xmm0, %xmm2, %xmm2 + 0xc5, 0xf1, 0xdb, 0xca, //0x000008e9 vpand %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x74, 0x15, 0x6b, 0xf8, 0xff, 0xff, //0x000008ed vpcmpeqb $-1941(%rip), %xmm0, %xmm2 /* LCPI0_12+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x1d, 0x73, 0xf8, 0xff, 0xff, //0x000008f5 vpcmpeqb $-1933(%rip), %xmm0, %xmm3 /* LCPI0_13+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xd2, //0x000008fd vpor %xmm2, %xmm3, %xmm2 + 0xc5, 0xf9, 0xeb, 0x1d, 0x77, 0xf8, 0xff, 0xff, //0x00000901 vpor $-1929(%rip), %xmm0, %xmm3 /* LCPI0_14+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x05, 0x7f, 0xf8, 0xff, 0xff, //0x00000909 vpcmpeqb $-1921(%rip), %xmm0, %xmm0 /* LCPI0_15+0(%rip) */ + 0xc5, 0xe1, 0x74, 0x1d, 0x87, 0xf8, 0xff, 0xff, //0x00000911 vpcmpeqb $-1913(%rip), %xmm3, %xmm3 /* LCPI0_16+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xe0, //0x00000919 vpor %xmm0, %xmm3, %xmm4 + 0xc5, 0xe9, 0xeb, 0xc9, //0x0000091d vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xd9, 0xeb, 0xc9, //0x00000921 vpor %xmm1, %xmm4, %xmm1 + 0xc5, 0xf9, 0xd7, 0xf8, //0x00000925 vpmovmskb %xmm0, %edi + 0xc5, 0xf9, 0xd7, 0xf3, //0x00000929 vpmovmskb %xmm3, %esi + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000092d vpmovmskb %xmm2, %edx + 0xc5, 0xf9, 0xd7, 0xc9, //0x00000931 vpmovmskb %xmm1, %ecx + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x00000935 movl $4294967295, %ebx + 0x48, 0x31, 0xd9, //0x0000093a xorq %rbx, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x0000093d bsfq %rcx, %rcx + 0x83, 0xf9, 0x10, //0x00000941 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00000944 je LBB0_154 + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x0000094a movl $-1, %ebx + 0xd3, 0xe3, //0x0000094f shll %cl, %ebx + 0xf7, 0xd3, //0x00000951 notl %ebx + 0x21, 0xdf, //0x00000953 andl %ebx, %edi + 0x21, 0xde, //0x00000955 andl %ebx, %esi + 0x21, 0xd3, //0x00000957 andl %edx, %ebx + 0x89, 0xda, //0x00000959 movl %ebx, %edx + //0x0000095b LBB0_154 + 0x8d, 0x5f, 0xff, //0x0000095b leal $-1(%rdi), %ebx + 0x21, 0xfb, //0x0000095e andl %edi, %ebx + 0x0f, 0x85, 0x14, 0x12, 0x00, 0x00, //0x00000960 jne LBB0_344 + 0x8d, 0x5e, 0xff, //0x00000966 leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x00000969 andl %esi, %ebx + 0x0f, 0x85, 0x09, 0x12, 0x00, 0x00, //0x0000096b jne LBB0_344 + 0x8d, 0x5a, 0xff, //0x00000971 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x00000974 andl %edx, %ebx + 0x0f, 0x85, 0xfe, 0x11, 0x00, 0x00, //0x00000976 jne LBB0_344 + 0x85, 0xff, //0x0000097c testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000097e je LBB0_160 + 0x4c, 0x89, 0xf3, //0x00000984 movq %r14, %rbx + 0x4c, 0x29, 0xfb, //0x00000987 subq %r15, %rbx + 0x0f, 0xbc, 0xff, //0x0000098a bsfl %edi, %edi + 0x48, 0x01, 0xdf, //0x0000098d addq %rbx, %rdi + 0x49, 0x83, 0xfd, 0xff, //0x00000990 cmpq $-1, %r13 + 0x0f, 0x85, 0x00, 0x12, 0x00, 0x00, //0x00000994 jne LBB0_347 + 0x49, 0x89, 0xfd, //0x0000099a movq %rdi, %r13 + //0x0000099d LBB0_160 + 0x85, 0xf6, //0x0000099d testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000099f je LBB0_163 + 0x4c, 0x89, 0xf7, //0x000009a5 movq %r14, %rdi + 0x4c, 0x29, 0xff, //0x000009a8 subq %r15, %rdi + 0x0f, 0xbc, 0xf6, //0x000009ab bsfl %esi, %esi + 0x48, 0x01, 0xfe, //0x000009ae addq %rdi, %rsi + 0x49, 0x83, 0xfc, 0xff, //0x000009b1 cmpq $-1, %r12 + 0x0f, 0x85, 0x0f, 0x13, 0x00, 0x00, //0x000009b5 jne LBB0_350 + 0x49, 0x89, 0xf4, //0x000009bb movq %rsi, %r12 + //0x000009be LBB0_163 + 0x85, 0xd2, //0x000009be testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000009c0 je LBB0_166 + 0x4c, 0x89, 0xf6, //0x000009c6 movq %r14, %rsi + 0x4c, 0x29, 0xfe, //0x000009c9 subq %r15, %rsi + 0x0f, 0xbc, 0xd2, //0x000009cc bsfl %edx, %edx + 0x48, 0x01, 0xf2, //0x000009cf addq %rsi, %rdx + 0x48, 0x83, 0xf8, 0xff, //0x000009d2 cmpq $-1, %rax + 0x0f, 0x85, 0x53, 0x11, 0x00, 0x00, //0x000009d6 jne LBB0_340 + 0x48, 0x89, 0xd0, //0x000009dc movq %rdx, %rax + //0x000009df LBB0_166 + 0x83, 0xf9, 0x10, //0x000009df cmpl $16, %ecx + 0x0f, 0x85, 0xb3, 0x05, 0x00, 0x00, //0x000009e2 jne LBB0_186 + 0x49, 0x83, 0xc6, 0x10, //0x000009e8 addq $16, %r14 + 0x49, 0x83, 0xc2, 0xf0, //0x000009ec addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x0f, //0x000009f0 cmpq $15, %r10 + 0x0f, 0x87, 0xd6, 0xfe, 0xff, 0xff, //0x000009f4 ja LBB0_152 + 0x4d, 0x89, 0xca, //0x000009fa movq %r9, %r10 + 0x4d, 0x89, 0xde, //0x000009fd movq %r11, %r14 + //0x00000a00 LBB0_169 + 0x4d, 0x85, 0xd2, //0x00000a00 testq %r10, %r10 + 0x0f, 0x84, 0x95, 0x05, 0x00, 0x00, //0x00000a03 je LBB0_187 + 0x4b, 0x8d, 0x0c, 0x16, //0x00000a09 leaq (%r14,%r10), %rcx + 0xe9, 0x5a, 0x00, 0x00, 0x00, //0x00000a0d jmp LBB0_174 + //0x00000a12 LBB0_67 + 0x83, 0xfe, 0x22, //0x00000a12 cmpl $34, %esi + 0x0f, 0x84, 0x36, 0x02, 0x00, 0x00, //0x00000a15 je LBB0_92 + //0x00000a1b LBB0_63 + 0x83, 0xfe, 0x7d, //0x00000a1b cmpl $125, %esi + 0x0f, 0x85, 0x8e, 0x1d, 0x00, 0x00, //0x00000a1e jne LBB0_497 + //0x00000a24 LBB0_41 + 0x49, 0x89, 0x12, //0x00000a24 movq %rdx, (%r10) + 0x48, 0x89, 0xd3, //0x00000a27 movq %rdx, %rbx + 0x48, 0x8b, 0x4d, 0x90, //0x00000a2a movq $-112(%rbp), %rcx + 0x48, 0x85, 0xd2, //0x00000a2e testq %rdx, %rdx + 0x0f, 0x85, 0x79, 0xf8, 0xff, 0xff, //0x00000a31 jne LBB0_5 + 0xe9, 0x7d, 0x1d, 0x00, 0x00, //0x00000a37 jmp LBB0_498 + //0x00000a3c LBB0_171 + 0x49, 0x89, 0xd6, //0x00000a3c movq %rdx, %r14 + 0x4d, 0x29, 0xfe, //0x00000a3f subq %r15, %r14 + 0x49, 0x83, 0xfc, 0xff, //0x00000a42 cmpq $-1, %r12 + 0x0f, 0x85, 0x0e, 0x13, 0x00, 0x00, //0x00000a46 jne LBB0_359 + 0x49, 0xff, 0xce, //0x00000a4c decq %r14 + 0x4d, 0x89, 0xf4, //0x00000a4f movq %r14, %r12 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a52 .p2align 4, 0x90 + //0x00000a60 LBB0_173 + 0x49, 0x89, 0xd6, //0x00000a60 movq %rdx, %r14 + 0x49, 0xff, 0xca, //0x00000a63 decq %r10 + 0x0f, 0x84, 0x30, 0x12, 0x00, 0x00, //0x00000a66 je LBB0_348 + //0x00000a6c LBB0_174 + 0x41, 0x0f, 0xbe, 0x36, //0x00000a6c movsbl (%r14), %esi + 0x83, 0xc6, 0xd5, //0x00000a70 addl $-43, %esi + 0x83, 0xfe, 0x3a, //0x00000a73 cmpl $58, %esi + 0x0f, 0x87, 0x22, 0x05, 0x00, 0x00, //0x00000a76 ja LBB0_187 + 0x49, 0x8d, 0x56, 0x01, //0x00000a7c leaq $1(%r14), %rdx + 0x48, 0x8d, 0x3d, 0x51, 0x22, 0x00, 0x00, //0x00000a80 leaq $8785(%rip), %rdi /* LJTI0_3+0(%rip) */ + 0x48, 0x63, 0x34, 0xb7, //0x00000a87 movslq (%rdi,%rsi,4), %rsi + 0x48, 0x01, 0xfe, //0x00000a8b addq %rdi, %rsi + 0xff, 0xe6, //0x00000a8e jmpq *%rsi + //0x00000a90 LBB0_176 + 0x49, 0x89, 0xd6, //0x00000a90 movq %rdx, %r14 + 0x4d, 0x29, 0xfe, //0x00000a93 subq %r15, %r14 + 0x48, 0x83, 0xf8, 0xff, //0x00000a96 cmpq $-1, %rax + 0x0f, 0x85, 0xba, 0x12, 0x00, 0x00, //0x00000a9a jne LBB0_359 + 0x49, 0xff, 0xce, //0x00000aa0 decq %r14 + 0x4c, 0x89, 0xf0, //0x00000aa3 movq %r14, %rax + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x00000aa6 jmp LBB0_173 + //0x00000aab LBB0_178 + 0x49, 0x89, 0xd6, //0x00000aab movq %rdx, %r14 + 0x4d, 0x29, 0xfe, //0x00000aae subq %r15, %r14 + 0x49, 0x83, 0xfd, 0xff, //0x00000ab1 cmpq $-1, %r13 + 0x0f, 0x85, 0x9f, 0x12, 0x00, 0x00, //0x00000ab5 jne LBB0_359 + 0x49, 0xff, 0xce, //0x00000abb decq %r14 + 0x4d, 0x89, 0xf5, //0x00000abe movq %r14, %r13 + 0xe9, 0x9a, 0xff, 0xff, 0xff, //0x00000ac1 jmp LBB0_173 + //0x00000ac6 LBB0_73 + 0x49, 0x89, 0xd2, //0x00000ac6 movq %rdx, %r10 + 0x4d, 0x29, 0xe2, //0x00000ac9 subq %r12, %r10 + 0x0f, 0x84, 0x85, 0x1e, 0x00, 0x00, //0x00000acc je LBB0_504 + 0x4c, 0x89, 0xe0, //0x00000ad2 movq %r12, %rax + 0x4d, 0x01, 0xcc, //0x00000ad5 addq %r9, %r12 + 0x49, 0x83, 0xfa, 0x40, //0x00000ad8 cmpq $64, %r10 + 0x4c, 0x89, 0x4d, 0xc8, //0x00000adc movq %r9, $-56(%rbp) + 0x0f, 0x82, 0x48, 0x13, 0x00, 0x00, //0x00000ae0 jb LBB0_356 + 0x45, 0x89, 0xd6, //0x00000ae6 movl %r10d, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000ae9 andl $63, %r14d + 0x48, 0x89, 0xd1, //0x00000aed movq %rdx, %rcx + 0x4c, 0x29, 0xc1, //0x00000af0 subq %r8, %rcx + 0x48, 0x83, 0xc1, 0xbf, //0x00000af3 addq $-65, %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000af7 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000afb addq %rax, %rcx + 0x49, 0x8d, 0x44, 0x09, 0x40, //0x00000afe leaq $64(%r9,%rcx), %rax + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00000b03 movq $-1, %r13 + 0x45, 0x31, 0xff, //0x00000b0a xorl %r15d, %r15d + 0x90, 0x90, 0x90, //0x00000b0d .p2align 4, 0x90 + //0x00000b10 LBB0_76 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00000b10 vmovdqu (%r12), %ymm0 + 0xc4, 0xc1, 0x7e, 0x6f, 0x4c, 0x24, 0x20, //0x00000b16 vmovdqu $32(%r12), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000b1d vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xca, //0x00000b21 vpmovmskb %ymm2, %r9d + 0xc5, 0xf5, 0x74, 0xd6, //0x00000b25 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000b29 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xd7, //0x00000b2d vpcmpeqb %ymm7, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xda, //0x00000b31 vpmovmskb %ymm2, %r11d + 0xc5, 0xf5, 0x74, 0xd7, //0x00000b35 vpcmpeqb %ymm7, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xda, //0x00000b39 vpmovmskb %ymm2, %ebx + 0xc5, 0xbd, 0x64, 0xd0, //0x00000b3d vpcmpgtb %ymm0, %ymm8, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00000b41 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc2, //0x00000b46 vpand %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00000b4a vpmovmskb %ymm0, %esi + 0xc5, 0xbd, 0x64, 0xc1, //0x00000b4e vpcmpgtb %ymm1, %ymm8, %ymm0 + 0xc4, 0xc1, 0x75, 0x64, 0xc9, //0x00000b52 vpcmpgtb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xdb, 0xc0, //0x00000b57 vpand %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x00000b5b vpmovmskb %ymm0, %edi + 0x48, 0xc1, 0xe2, 0x20, //0x00000b5f shlq $32, %rdx + 0x48, 0xc1, 0xe3, 0x20, //0x00000b63 shlq $32, %rbx + 0x49, 0x09, 0xdb, //0x00000b67 orq %rbx, %r11 + 0x49, 0x83, 0xfd, 0xff, //0x00000b6a cmpq $-1, %r13 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000b6e jne LBB0_78 + 0x4d, 0x85, 0xdb, //0x00000b74 testq %r11, %r11 + 0x0f, 0x85, 0x9f, 0x00, 0x00, 0x00, //0x00000b77 jne LBB0_87 + //0x00000b7d LBB0_78 + 0x48, 0xc1, 0xe7, 0x20, //0x00000b7d shlq $32, %rdi + 0x4c, 0x09, 0xca, //0x00000b81 orq %r9, %rdx + 0x4c, 0x89, 0xd9, //0x00000b84 movq %r11, %rcx + 0x4c, 0x09, 0xf9, //0x00000b87 orq %r15, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000b8a jne LBB0_108 + 0x48, 0x09, 0xf7, //0x00000b90 orq %rsi, %rdi + 0x48, 0x85, 0xd2, //0x00000b93 testq %rdx, %rdx + 0x0f, 0x85, 0x05, 0x02, 0x00, 0x00, //0x00000b96 jne LBB0_109 + //0x00000b9c LBB0_80 + 0x48, 0x85, 0xff, //0x00000b9c testq %rdi, %rdi + 0x0f, 0x85, 0x32, 0x1c, 0x00, 0x00, //0x00000b9f jne LBB0_481 + 0x49, 0x83, 0xc2, 0xc0, //0x00000ba5 addq $-64, %r10 + 0x49, 0x83, 0xc4, 0x40, //0x00000ba9 addq $64, %r12 + 0x49, 0x83, 0xfa, 0x3f, //0x00000bad cmpq $63, %r10 + 0x0f, 0x87, 0x59, 0xff, 0xff, 0xff, //0x00000bb1 ja LBB0_76 + 0xe9, 0x12, 0x0f, 0x00, 0x00, //0x00000bb7 jmp LBB0_82 + //0x00000bbc LBB0_108 + 0x4c, 0x89, 0xf9, //0x00000bbc movq %r15, %rcx + 0x48, 0xf7, 0xd1, //0x00000bbf notq %rcx + 0x4c, 0x21, 0xd9, //0x00000bc2 andq %r11, %rcx + 0x4c, 0x8d, 0x0c, 0x09, //0x00000bc5 leaq (%rcx,%rcx), %r9 + 0x4d, 0x09, 0xf9, //0x00000bc9 orq %r15, %r9 + 0x4c, 0x89, 0xcb, //0x00000bcc movq %r9, %rbx + 0x48, 0xf7, 0xd3, //0x00000bcf notq %rbx + 0x4c, 0x21, 0xdb, //0x00000bd2 andq %r11, %rbx + 0x49, 0x89, 0xc3, //0x00000bd5 movq %rax, %r11 + 0x48, 0xb8, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000bd8 movabsq $-6148914691236517206, %rax + 0x48, 0x21, 0xc3, //0x00000be2 andq %rax, %rbx + 0x45, 0x31, 0xff, //0x00000be5 xorl %r15d, %r15d + 0x48, 0x01, 0xcb, //0x00000be8 addq %rcx, %rbx + 0x41, 0x0f, 0x92, 0xc7, //0x00000beb setb %r15b + 0x48, 0x01, 0xdb, //0x00000bef addq %rbx, %rbx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000bf2 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc3, //0x00000bfc xorq %rax, %rbx + 0x4c, 0x89, 0xd8, //0x00000bff movq %r11, %rax + 0x4c, 0x21, 0xcb, //0x00000c02 andq %r9, %rbx + 0x48, 0xf7, 0xd3, //0x00000c05 notq %rbx + 0x48, 0x21, 0xda, //0x00000c08 andq %rbx, %rdx + 0x48, 0x09, 0xf7, //0x00000c0b orq %rsi, %rdi + 0x48, 0x85, 0xd2, //0x00000c0e testq %rdx, %rdx + 0x0f, 0x84, 0x85, 0xff, 0xff, 0xff, //0x00000c11 je LBB0_80 + 0xe9, 0x85, 0x01, 0x00, 0x00, //0x00000c17 jmp LBB0_109 + //0x00000c1c LBB0_87 + 0x4c, 0x89, 0xe3, //0x00000c1c movq %r12, %rbx + 0x48, 0x2b, 0x5d, 0xc8, //0x00000c1f subq $-56(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xeb, //0x00000c23 bsfq %r11, %r13 + 0x49, 0x01, 0xdd, //0x00000c27 addq %rbx, %r13 + 0xe9, 0x4e, 0xff, 0xff, 0xff, //0x00000c2a jmp LBB0_78 + //0x00000c2f LBB0_88 + 0x48, 0x81, 0xfb, 0xff, 0x0f, 0x00, 0x00, //0x00000c2f cmpq $4095, %rbx + 0x0f, 0x8f, 0x16, 0x1b, 0x00, 0x00, //0x00000c36 jg LBB0_486 + 0x48, 0x8d, 0x43, 0x01, //0x00000c3c leaq $1(%rbx), %rax + 0x49, 0x89, 0x02, //0x00000c40 movq %rax, (%r10) + 0x49, 0xc7, 0x44, 0xda, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00000c43 movq $0, $8(%r10,%rbx,8) + 0xe9, 0x1f, 0xf6, 0xff, 0xff, //0x00000c4c jmp LBB0_3 + //0x00000c51 LBB0_92 + 0x49, 0xc7, 0x04, 0xda, 0x02, 0x00, 0x00, 0x00, //0x00000c51 movq $2, (%r10,%rbx,8) + 0x49, 0x8b, 0x76, 0x08, //0x00000c59 movq $8(%r14), %rsi + 0xf6, 0x45, 0x98, 0x20, //0x00000c5d testb $32, $-104(%rbp) + 0x48, 0x89, 0x75, 0xb0, //0x00000c61 movq %rsi, $-80(%rbp) + 0x0f, 0x85, 0x6e, 0x01, 0x00, 0x00, //0x00000c65 jne LBB0_111 + 0x48, 0x89, 0xf1, //0x00000c6b movq %rsi, %rcx + 0x4c, 0x29, 0xe1, //0x00000c6e subq %r12, %rcx + 0x0f, 0x84, 0xe9, 0x1c, 0x00, 0x00, //0x00000c71 je LBB0_507 + 0x4b, 0x8d, 0x1c, 0x21, //0x00000c77 leaq (%r9,%r12), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x00000c7b cmpq $64, %rcx + 0x0f, 0x82, 0xe2, 0x11, 0x00, 0x00, //0x00000c7f jb LBB0_360 + 0x4c, 0x89, 0xca, //0x00000c85 movq %r9, %rdx + 0x41, 0x89, 0xcf, //0x00000c88 movl %ecx, %r15d + 0x41, 0x83, 0xe7, 0x3f, //0x00000c8b andl $63, %r15d + 0x48, 0x89, 0xf0, //0x00000c8f movq %rsi, %rax + 0x4c, 0x29, 0xc0, //0x00000c92 subq %r8, %rax + 0x48, 0x83, 0xc0, 0xbf, //0x00000c95 addq $-65, %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00000c99 andq $-64, %rax + 0x4c, 0x01, 0xe0, //0x00000c9d addq %r12, %rax + 0x4d, 0x8d, 0x54, 0x01, 0x40, //0x00000ca0 leaq $64(%r9,%rax), %r10 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000ca5 movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00000cac xorl %r14d, %r14d + 0x90, //0x00000caf .p2align 4, 0x90 + //0x00000cb0 LBB0_96 + 0xc5, 0xfe, 0x6f, 0x03, //0x00000cb0 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x00000cb4 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000cb9 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xf2, //0x00000cbd vpmovmskb %ymm2, %esi + 0xc5, 0xf5, 0x74, 0xd6, //0x00000cc1 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000cc5 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00000cc9 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x00000ccd vpmovmskb %ymm0, %edi + 0xc5, 0xf5, 0x74, 0xc7, //0x00000cd1 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00000cd5 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe2, 0x20, //0x00000cd9 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x00000cdd shlq $32, %rax + 0x48, 0x09, 0xc7, //0x00000ce1 orq %rax, %rdi + 0x49, 0x83, 0xfb, 0xff, //0x00000ce4 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000ce8 jne LBB0_98 + 0x48, 0x85, 0xff, //0x00000cee testq %rdi, %rdi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000cf1 jne LBB0_105 + //0x00000cf7 LBB0_98 + 0x48, 0x09, 0xf2, //0x00000cf7 orq %rsi, %rdx + 0x48, 0x89, 0xf8, //0x00000cfa movq %rdi, %rax + 0x4c, 0x09, 0xf0, //0x00000cfd orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00000d00 jne LBB0_106 + //0x00000d06 LBB0_99 + 0x48, 0x85, 0xd2, //0x00000d06 testq %rdx, %rdx + 0x0f, 0x85, 0xd7, 0x0e, 0x00, 0x00, //0x00000d09 jne LBB0_107 + //0x00000d0f LBB0_100 + 0x48, 0x83, 0xc1, 0xc0, //0x00000d0f addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x00000d13 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x00000d17 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x00000d1b ja LBB0_96 + 0xe9, 0x7f, 0x0e, 0x00, 0x00, //0x00000d21 jmp LBB0_101 + //0x00000d26 LBB0_105 + 0x48, 0x89, 0xd8, //0x00000d26 movq %rbx, %rax + 0x4c, 0x29, 0xc8, //0x00000d29 subq %r9, %rax + 0x4c, 0x0f, 0xbc, 0xdf, //0x00000d2c bsfq %rdi, %r11 + 0x49, 0x01, 0xc3, //0x00000d30 addq %rax, %r11 + 0x48, 0x09, 0xf2, //0x00000d33 orq %rsi, %rdx + 0x48, 0x89, 0xf8, //0x00000d36 movq %rdi, %rax + 0x4c, 0x09, 0xf0, //0x00000d39 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x00000d3c je LBB0_99 + //0x00000d42 LBB0_106 + 0x4c, 0x89, 0xf0, //0x00000d42 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00000d45 notq %rax + 0x48, 0x21, 0xf8, //0x00000d48 andq %rdi, %rax + 0x4c, 0x89, 0x65, 0xa8, //0x00000d4b movq %r12, $-88(%rbp) + 0x4c, 0x8d, 0x24, 0x00, //0x00000d4f leaq (%rax,%rax), %r12 + 0x4d, 0x09, 0xf4, //0x00000d53 orq %r14, %r12 + 0x4c, 0x89, 0xe6, //0x00000d56 movq %r12, %rsi + 0x48, 0xf7, 0xd6, //0x00000d59 notq %rsi + 0x48, 0x21, 0xfe, //0x00000d5c andq %rdi, %rsi + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000d5f movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfe, //0x00000d69 andq %rdi, %rsi + 0x45, 0x31, 0xf6, //0x00000d6c xorl %r14d, %r14d + 0x48, 0x01, 0xc6, //0x00000d6f addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc6, //0x00000d72 setb %r14b + 0x48, 0x01, 0xf6, //0x00000d76 addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000d79 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x00000d83 xorq %rax, %rsi + 0x4c, 0x21, 0xe6, //0x00000d86 andq %r12, %rsi + 0x4c, 0x8b, 0x65, 0xa8, //0x00000d89 movq $-88(%rbp), %r12 + 0x48, 0xf7, 0xd6, //0x00000d8d notq %rsi + 0x48, 0x21, 0xf2, //0x00000d90 andq %rsi, %rdx + 0x48, 0x85, 0xd2, //0x00000d93 testq %rdx, %rdx + 0x0f, 0x84, 0x73, 0xff, 0xff, 0xff, //0x00000d96 je LBB0_100 + 0xe9, 0x45, 0x0e, 0x00, 0x00, //0x00000d9c jmp LBB0_107 + //0x00000da1 LBB0_109 + 0x48, 0x0f, 0xbc, 0xca, //0x00000da1 bsfq %rdx, %rcx + 0x48, 0x85, 0xff, //0x00000da5 testq %rdi, %rdi + 0x48, 0x8b, 0x45, 0xc8, //0x00000da8 movq $-56(%rbp), %rax + 0x0f, 0x84, 0xc6, 0x01, 0x00, 0x00, //0x00000dac je LBB0_181 + 0x48, 0x0f, 0xbc, 0xd7, //0x00000db2 bsfq %rdi, %rdx + 0xe9, 0xc2, 0x01, 0x00, 0x00, //0x00000db6 jmp LBB0_182 + //0x00000dbb LBB0_180 + 0x49, 0x01, 0xcb, //0x00000dbb addq %rcx, %r11 + 0xc5, 0xf8, 0x77, //0x00000dbe vzeroupper + 0x4d, 0x89, 0xde, //0x00000dc1 movq %r11, %r14 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000dc4 movq $-1, %rcx + 0x4d, 0x85, 0xe4, //0x00000dcb testq %r12, %r12 + 0x0f, 0x85, 0xda, 0x01, 0x00, 0x00, //0x00000dce jne LBB0_188 + 0xe9, 0xc8, 0x19, 0x00, 0x00, //0x00000dd4 jmp LBB0_480 + //0x00000dd9 LBB0_111 + 0x48, 0x89, 0xf3, //0x00000dd9 movq %rsi, %rbx + 0x4c, 0x29, 0xe3, //0x00000ddc subq %r12, %rbx + 0x0f, 0x84, 0x7b, 0x1b, 0x00, 0x00, //0x00000ddf je LBB0_507 + 0x4c, 0x89, 0xe0, //0x00000de5 movq %r12, %rax + 0x4d, 0x01, 0xcc, //0x00000de8 addq %r9, %r12 + 0x48, 0x83, 0xfb, 0x40, //0x00000deb cmpq $64, %rbx + 0x4c, 0x89, 0x4d, 0xc8, //0x00000def movq %r9, $-56(%rbp) + 0x0f, 0x82, 0x87, 0x10, 0x00, 0x00, //0x00000df3 jb LBB0_361 + 0x41, 0x89, 0xde, //0x00000df9 movl %ebx, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000dfc andl $63, %r14d + 0x48, 0x89, 0xf1, //0x00000e00 movq %rsi, %rcx + 0x4c, 0x29, 0xc1, //0x00000e03 subq %r8, %rcx + 0x48, 0x83, 0xc1, 0xbf, //0x00000e06 addq $-65, %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000e0a andq $-64, %rcx + 0x49, 0x89, 0xc2, //0x00000e0e movq %rax, %r10 + 0x48, 0x01, 0xc1, //0x00000e11 addq %rax, %rcx + 0x49, 0x8d, 0x44, 0x09, 0x40, //0x00000e14 leaq $64(%r9,%rcx), %rax + 0x48, 0x89, 0x45, 0xa0, //0x00000e19 movq %rax, $-96(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000e1d movq $-1, %r11 + 0x45, 0x31, 0xff, //0x00000e24 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000e27 .p2align 4, 0x90 + //0x00000e30 LBB0_114 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00000e30 vmovdqu (%r12), %ymm0 + 0xc4, 0xc1, 0x7e, 0x6f, 0x4c, 0x24, 0x20, //0x00000e36 vmovdqu $32(%r12), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000e3d vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xca, //0x00000e41 vpmovmskb %ymm2, %r9d + 0xc5, 0xf5, 0x74, 0xd6, //0x00000e45 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000e49 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xd7, //0x00000e4d vpcmpeqb %ymm7, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xca, //0x00000e51 vpmovmskb %ymm2, %ecx + 0xc5, 0xf5, 0x74, 0xd7, //0x00000e55 vpcmpeqb %ymm7, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xc2, //0x00000e59 vpmovmskb %ymm2, %eax + 0xc5, 0xbd, 0x64, 0xd0, //0x00000e5d vpcmpgtb %ymm0, %ymm8, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00000e61 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc2, //0x00000e66 vpand %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00000e6a vpmovmskb %ymm0, %esi + 0xc5, 0xbd, 0x64, 0xc1, //0x00000e6e vpcmpgtb %ymm1, %ymm8, %ymm0 + 0xc4, 0xc1, 0x75, 0x64, 0xc9, //0x00000e72 vpcmpgtb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xdb, 0xc0, //0x00000e77 vpand %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x00000e7b vpmovmskb %ymm0, %edi + 0x48, 0xc1, 0xe2, 0x20, //0x00000e7f shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x00000e83 shlq $32, %rax + 0x48, 0x09, 0xc1, //0x00000e87 orq %rax, %rcx + 0x49, 0x83, 0xfb, 0xff, //0x00000e8a cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000e8e jne LBB0_116 + 0x48, 0x85, 0xc9, //0x00000e94 testq %rcx, %rcx + 0x0f, 0x85, 0x9e, 0x00, 0x00, 0x00, //0x00000e97 jne LBB0_125 + //0x00000e9d LBB0_116 + 0x48, 0xc1, 0xe7, 0x20, //0x00000e9d shlq $32, %rdi + 0x4c, 0x09, 0xca, //0x00000ea1 orq %r9, %rdx + 0x48, 0x89, 0xc8, //0x00000ea4 movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x00000ea7 orq %r15, %rax + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000eaa jne LBB0_126 + 0x48, 0x09, 0xf7, //0x00000eb0 orq %rsi, %rdi + 0x48, 0x85, 0xd2, //0x00000eb3 testq %rdx, %rdx + 0x0f, 0x85, 0x92, 0x00, 0x00, 0x00, //0x00000eb6 jne LBB0_127 + //0x00000ebc LBB0_118 + 0x48, 0x85, 0xff, //0x00000ebc testq %rdi, %rdi + 0x0f, 0x85, 0x40, 0x19, 0x00, 0x00, //0x00000ebf jne LBB0_499 + 0x48, 0x83, 0xc3, 0xc0, //0x00000ec5 addq $-64, %rbx + 0x49, 0x83, 0xc4, 0x40, //0x00000ec9 addq $64, %r12 + 0x48, 0x83, 0xfb, 0x3f, //0x00000ecd cmpq $63, %rbx + 0x0f, 0x87, 0x59, 0xff, 0xff, 0xff, //0x00000ed1 ja LBB0_114 + 0xe9, 0x5e, 0x0d, 0x00, 0x00, //0x00000ed7 jmp LBB0_120 + //0x00000edc LBB0_126 + 0x4d, 0x89, 0xfd, //0x00000edc movq %r15, %r13 + 0x49, 0xf7, 0xd5, //0x00000edf notq %r13 + 0x49, 0x21, 0xcd, //0x00000ee2 andq %rcx, %r13 + 0x4f, 0x8d, 0x4c, 0x2d, 0x00, //0x00000ee5 leaq (%r13,%r13), %r9 + 0x4d, 0x09, 0xf9, //0x00000eea orq %r15, %r9 + 0x4c, 0x89, 0xc8, //0x00000eed movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000ef0 notq %rax + 0x48, 0x21, 0xc8, //0x00000ef3 andq %rcx, %rax + 0x48, 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000ef6 movabsq $-6148914691236517206, %rcx + 0x48, 0x21, 0xc8, //0x00000f00 andq %rcx, %rax + 0x45, 0x31, 0xff, //0x00000f03 xorl %r15d, %r15d + 0x4c, 0x01, 0xe8, //0x00000f06 addq %r13, %rax + 0x4c, 0x8b, 0x6d, 0xc0, //0x00000f09 movq $-64(%rbp), %r13 + 0x41, 0x0f, 0x92, 0xc7, //0x00000f0d setb %r15b + 0x48, 0x01, 0xc0, //0x00000f11 addq %rax, %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000f14 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xc8, //0x00000f1e xorq %rcx, %rax + 0x4c, 0x21, 0xc8, //0x00000f21 andq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000f24 notq %rax + 0x48, 0x21, 0xc2, //0x00000f27 andq %rax, %rdx + 0x48, 0x09, 0xf7, //0x00000f2a orq %rsi, %rdi + 0x48, 0x85, 0xd2, //0x00000f2d testq %rdx, %rdx + 0x0f, 0x84, 0x86, 0xff, 0xff, 0xff, //0x00000f30 je LBB0_118 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00000f36 jmp LBB0_127 + //0x00000f3b LBB0_125 + 0x4c, 0x89, 0xe0, //0x00000f3b movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc8, //0x00000f3e subq $-56(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x00000f42 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x00000f46 addq %rax, %r11 + 0xe9, 0x4f, 0xff, 0xff, 0xff, //0x00000f49 jmp LBB0_116 + //0x00000f4e LBB0_127 + 0x48, 0x0f, 0xbc, 0xca, //0x00000f4e bsfq %rdx, %rcx + 0x48, 0x85, 0xff, //0x00000f52 testq %rdi, %rdi + 0x48, 0x8b, 0x45, 0xc8, //0x00000f55 movq $-56(%rbp), %rax + 0x0f, 0x84, 0x8e, 0x01, 0x00, 0x00, //0x00000f59 je LBB0_203 + 0x48, 0x0f, 0xbc, 0xd7, //0x00000f5f bsfq %rdi, %rdx + 0x4c, 0x8b, 0x75, 0xd0, //0x00000f63 movq $-48(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00000f67 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x00000f6a cmpq %rcx, %rdx + 0x0f, 0x83, 0x8f, 0x01, 0x00, 0x00, //0x00000f6d jae LBB0_204 + 0xe9, 0x03, 0x1a, 0x00, 0x00, //0x00000f73 jmp LBB0_129 + //0x00000f78 LBB0_181 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00000f78 movl $64, %edx + //0x00000f7d LBB0_182 + 0x4c, 0x8b, 0x55, 0xb8, //0x00000f7d movq $-72(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xd0, //0x00000f81 movq $-48(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00000f85 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x00000f88 cmpq %rcx, %rdx + 0x0f, 0x82, 0xd8, 0x19, 0x00, 0x00, //0x00000f8b jb LBB0_505 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x00000f91 leaq $1(%r12,%rcx), %r12 + 0xe9, 0x0f, 0x0b, 0x00, 0x00, //0x00000f96 jmp LBB0_184 + //0x00000f9b LBB0_186 + 0x49, 0x01, 0xce, //0x00000f9b addq %rcx, %r14 + //0x00000f9e LBB0_187 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000f9e movq $-1, %rcx + 0x4d, 0x85, 0xe4, //0x00000fa5 testq %r12, %r12 + 0x0f, 0x84, 0xf3, 0x17, 0x00, 0x00, //0x00000fa8 je LBB0_480 + //0x00000fae LBB0_188 + 0x48, 0x85, 0xc0, //0x00000fae testq %rax, %rax + 0x0f, 0x84, 0xea, 0x17, 0x00, 0x00, //0x00000fb1 je LBB0_480 + 0x4d, 0x85, 0xed, //0x00000fb7 testq %r13, %r13 + 0x0f, 0x84, 0xe1, 0x17, 0x00, 0x00, //0x00000fba je LBB0_480 + 0x4d, 0x29, 0xfe, //0x00000fc0 subq %r15, %r14 + 0x49, 0x8d, 0x4e, 0xff, //0x00000fc3 leaq $-1(%r14), %rcx + 0x49, 0x39, 0xcc, //0x00000fc7 cmpq %rcx, %r12 + 0x0f, 0x84, 0x88, 0x00, 0x00, 0x00, //0x00000fca je LBB0_196 + 0x49, 0x39, 0xcd, //0x00000fd0 cmpq %rcx, %r13 + 0x0f, 0x84, 0x7f, 0x00, 0x00, 0x00, //0x00000fd3 je LBB0_196 + 0x48, 0x39, 0xc8, //0x00000fd9 cmpq %rcx, %rax + 0x0f, 0x84, 0x76, 0x00, 0x00, 0x00, //0x00000fdc je LBB0_196 + 0x48, 0x85, 0xc0, //0x00000fe2 testq %rax, %rax + 0xc5, 0xfe, 0x6f, 0x2d, 0x13, 0xf0, 0xff, 0xff, //0x00000fe5 vmovdqu $-4077(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x2b, 0xf0, 0xff, 0xff, //0x00000fed vmovdqu $-4053(%rip), %ymm6 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x43, 0xf0, 0xff, 0xff, //0x00000ff5 vmovdqu $-4029(%rip), %ymm7 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0x5b, 0xf0, 0xff, 0xff, //0x00000ffd vmovdqu $-4005(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00001005 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0x6e, 0xf0, 0xff, 0xff, //0x0000100a vmovdqu $-3986(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x86, 0xf0, 0xff, 0xff, //0x00001012 vmovdqu $-3962(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x9e, 0xf0, 0xff, 0xff, //0x0000101a vmovdqu $-3938(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0xb6, 0xf0, 0xff, 0xff, //0x00001022 vmovdqu $-3914(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xce, 0xf0, 0xff, 0xff, //0x0000102a vmovdqu $-3890(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0xe6, 0xf0, 0xff, 0xff, //0x00001032 vmovdqu $-3866(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + 0x0f, 0x8e, 0x8a, 0x00, 0x00, 0x00, //0x0000103a jle LBB0_200 + 0x48, 0x8d, 0x48, 0xff, //0x00001040 leaq $-1(%rax), %rcx + 0x49, 0x39, 0xcc, //0x00001044 cmpq %rcx, %r12 + 0x0f, 0x84, 0x7d, 0x00, 0x00, 0x00, //0x00001047 je LBB0_200 + //0x0000104d LBB0_195 + 0x48, 0xf7, 0xd0, //0x0000104d notq %rax + 0x49, 0x89, 0xc6, //0x00001050 movq %rax, %r14 + 0xe9, 0x58, 0x00, 0x00, 0x00, //0x00001053 jmp LBB0_197 + //0x00001058 LBB0_196 + 0x49, 0xf7, 0xde, //0x00001058 negq %r14 + 0xc5, 0xfe, 0x6f, 0x2d, 0x9d, 0xef, 0xff, 0xff, //0x0000105b vmovdqu $-4195(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xb5, 0xef, 0xff, 0xff, //0x00001063 vmovdqu $-4171(%rip), %ymm6 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xcd, 0xef, 0xff, 0xff, //0x0000106b vmovdqu $-4147(%rip), %ymm7 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0xe5, 0xef, 0xff, 0xff, //0x00001073 vmovdqu $-4123(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000107b vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0xf8, 0xef, 0xff, 0xff, //0x00001080 vmovdqu $-4104(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x10, 0xf0, 0xff, 0xff, //0x00001088 vmovdqu $-4080(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x28, 0xf0, 0xff, 0xff, //0x00001090 vmovdqu $-4056(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x40, 0xf0, 0xff, 0xff, //0x00001098 vmovdqu $-4032(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x58, 0xf0, 0xff, 0xff, //0x000010a0 vmovdqu $-4008(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x70, 0xf0, 0xff, 0xff, //0x000010a8 vmovdqu $-3984(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + //0x000010b0 LBB0_197 + 0x4d, 0x85, 0xf6, //0x000010b0 testq %r14, %r14 + 0x4c, 0x8b, 0x6d, 0xc0, //0x000010b3 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x65, 0xa8, //0x000010b7 movq $-88(%rbp), %r12 + 0x0f, 0x88, 0xdd, 0x16, 0x00, 0x00, //0x000010bb js LBB0_479 + 0x49, 0x8b, 0x4d, 0x00, //0x000010c1 movq (%r13), %rcx + 0xe9, 0x86, 0xf1, 0xff, 0xff, //0x000010c5 jmp LBB0_199 + //0x000010ca LBB0_200 + 0x4c, 0x89, 0xe9, //0x000010ca movq %r13, %rcx + 0x4c, 0x09, 0xe1, //0x000010cd orq %r12, %rcx + 0x4d, 0x39, 0xe5, //0x000010d0 cmpq %r12, %r13 + 0x0f, 0x8c, 0x8f, 0x02, 0x00, 0x00, //0x000010d3 jl LBB0_249 + 0x48, 0x85, 0xc9, //0x000010d9 testq %rcx, %rcx + 0x0f, 0x88, 0x86, 0x02, 0x00, 0x00, //0x000010dc js LBB0_249 + 0x49, 0xf7, 0xd5, //0x000010e2 notq %r13 + 0x4d, 0x89, 0xee, //0x000010e5 movq %r13, %r14 + 0xe9, 0xc3, 0xff, 0xff, 0xff, //0x000010e8 jmp LBB0_197 + //0x000010ed LBB0_203 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x000010ed movl $64, %edx + 0x4c, 0x8b, 0x75, 0xd0, //0x000010f2 movq $-48(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x000010f6 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x000010f9 cmpq %rcx, %rdx + 0x0f, 0x82, 0x79, 0x18, 0x00, 0x00, //0x000010fc jb LBB0_129 + //0x00001102 LBB0_204 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x00001102 leaq $1(%r12,%rcx), %r12 + 0xe9, 0xed, 0x0a, 0x00, 0x00, //0x00001107 jmp LBB0_205 + //0x0000110c LBB0_209 + 0x49, 0x8b, 0x76, 0x08, //0x0000110c movq $8(%r14), %rsi + 0xf6, 0x45, 0x98, 0x20, //0x00001110 testb $32, $-104(%rbp) + 0x48, 0x89, 0x75, 0xb0, //0x00001114 movq %rsi, $-80(%rbp) + 0x0f, 0x85, 0x65, 0x02, 0x00, 0x00, //0x00001118 jne LBB0_250 + 0x48, 0x89, 0xf1, //0x0000111e movq %rsi, %rcx + 0x4c, 0x29, 0xe1, //0x00001121 subq %r12, %rcx + 0x0f, 0x84, 0x36, 0x18, 0x00, 0x00, //0x00001124 je LBB0_507 + 0x4b, 0x8d, 0x1c, 0x21, //0x0000112a leaq (%r9,%r12), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x0000112e cmpq $64, %rcx + 0x4c, 0x89, 0xca, //0x00001132 movq %r9, %rdx + 0x0f, 0x82, 0x86, 0x0d, 0x00, 0x00, //0x00001135 jb LBB0_363 + 0x41, 0x89, 0xcf, //0x0000113b movl %ecx, %r15d + 0x41, 0x83, 0xe7, 0x3f, //0x0000113e andl $63, %r15d + 0x48, 0x89, 0xf0, //0x00001142 movq %rsi, %rax + 0x4c, 0x29, 0xc0, //0x00001145 subq %r8, %rax + 0x48, 0x83, 0xc0, 0xbf, //0x00001148 addq $-65, %rax + 0x48, 0x83, 0xe0, 0xc0, //0x0000114c andq $-64, %rax + 0x4c, 0x01, 0xe0, //0x00001150 addq %r12, %rax + 0x49, 0x89, 0xd1, //0x00001153 movq %rdx, %r9 + 0x4c, 0x8d, 0x54, 0x02, 0x40, //0x00001156 leaq $64(%rdx,%rax), %r10 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000115b movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00001162 xorl %r14d, %r14d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001165 .p2align 4, 0x90 + //0x00001170 LBB0_213 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001170 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x00001174 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00001179 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xf2, //0x0000117d vpmovmskb %ymm2, %esi + 0xc5, 0xf5, 0x74, 0xd6, //0x00001181 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00001185 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001189 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x0000118d vpmovmskb %ymm0, %edi + 0xc5, 0xf5, 0x74, 0xc7, //0x00001191 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00001195 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe2, 0x20, //0x00001199 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x0000119d shlq $32, %rax + 0x48, 0x09, 0xc7, //0x000011a1 orq %rax, %rdi + 0x49, 0x83, 0xfb, 0xff, //0x000011a4 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000011a8 jne LBB0_215 + 0x48, 0x85, 0xff, //0x000011ae testq %rdi, %rdi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000011b1 jne LBB0_222 + //0x000011b7 LBB0_215 + 0x48, 0x09, 0xf2, //0x000011b7 orq %rsi, %rdx + 0x48, 0x89, 0xf8, //0x000011ba movq %rdi, %rax + 0x4c, 0x09, 0xf0, //0x000011bd orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x000011c0 jne LBB0_223 + //0x000011c6 LBB0_216 + 0x48, 0x85, 0xd2, //0x000011c6 testq %rdx, %rdx + 0x0f, 0x85, 0x56, 0x0b, 0x00, 0x00, //0x000011c9 jne LBB0_224 + //0x000011cf LBB0_217 + 0x48, 0x83, 0xc1, 0xc0, //0x000011cf addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x000011d3 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x000011d7 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x000011db ja LBB0_213 + 0xe9, 0xfe, 0x0a, 0x00, 0x00, //0x000011e1 jmp LBB0_218 + //0x000011e6 LBB0_222 + 0x48, 0x89, 0xd8, //0x000011e6 movq %rbx, %rax + 0x4c, 0x29, 0xc8, //0x000011e9 subq %r9, %rax + 0x4c, 0x0f, 0xbc, 0xdf, //0x000011ec bsfq %rdi, %r11 + 0x49, 0x01, 0xc3, //0x000011f0 addq %rax, %r11 + 0x48, 0x09, 0xf2, //0x000011f3 orq %rsi, %rdx + 0x48, 0x89, 0xf8, //0x000011f6 movq %rdi, %rax + 0x4c, 0x09, 0xf0, //0x000011f9 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x000011fc je LBB0_216 + //0x00001202 LBB0_223 + 0x4c, 0x89, 0xf0, //0x00001202 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00001205 notq %rax + 0x48, 0x21, 0xf8, //0x00001208 andq %rdi, %rax + 0x4c, 0x89, 0x65, 0xa8, //0x0000120b movq %r12, $-88(%rbp) + 0x4c, 0x8d, 0x24, 0x00, //0x0000120f leaq (%rax,%rax), %r12 + 0x4d, 0x09, 0xf4, //0x00001213 orq %r14, %r12 + 0x4c, 0x89, 0xe6, //0x00001216 movq %r12, %rsi + 0x48, 0xf7, 0xd6, //0x00001219 notq %rsi + 0x48, 0x21, 0xfe, //0x0000121c andq %rdi, %rsi + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000121f movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfe, //0x00001229 andq %rdi, %rsi + 0x45, 0x31, 0xf6, //0x0000122c xorl %r14d, %r14d + 0x48, 0x01, 0xc6, //0x0000122f addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc6, //0x00001232 setb %r14b + 0x48, 0x01, 0xf6, //0x00001236 addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001239 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x00001243 xorq %rax, %rsi + 0x4c, 0x21, 0xe6, //0x00001246 andq %r12, %rsi + 0x4c, 0x8b, 0x65, 0xa8, //0x00001249 movq $-88(%rbp), %r12 + 0x48, 0xf7, 0xd6, //0x0000124d notq %rsi + 0x48, 0x21, 0xf2, //0x00001250 andq %rsi, %rdx + 0x48, 0x85, 0xd2, //0x00001253 testq %rdx, %rdx + 0x0f, 0x84, 0x73, 0xff, 0xff, 0xff, //0x00001256 je LBB0_217 + 0xe9, 0xc4, 0x0a, 0x00, 0x00, //0x0000125c jmp LBB0_224 + //0x00001261 LBB0_225 + 0x4d, 0x8b, 0x76, 0x08, //0x00001261 movq $8(%r14), %r14 + 0x4d, 0x29, 0xe6, //0x00001265 subq %r12, %r14 + 0x0f, 0x84, 0xd3, 0x16, 0x00, 0x00, //0x00001268 je LBB0_495 + 0x4c, 0x89, 0x65, 0xa8, //0x0000126e movq %r12, $-88(%rbp) + 0x4c, 0x89, 0xc8, //0x00001272 movq %r9, %rax + 0x4c, 0x01, 0xe0, //0x00001275 addq %r12, %rax + 0x49, 0x89, 0xc1, //0x00001278 movq %rax, %r9 + 0x80, 0x38, 0x30, //0x0000127b cmpb $48, (%rax) + 0x0f, 0x85, 0xd6, 0x02, 0x00, 0x00, //0x0000127e jne LBB0_271 + 0x41, 0xbf, 0x01, 0x00, 0x00, 0x00, //0x00001284 movl $1, %r15d + 0x49, 0x83, 0xfe, 0x01, //0x0000128a cmpq $1, %r14 + 0x0f, 0x85, 0x9b, 0x02, 0x00, 0x00, //0x0000128e jne LBB0_269 + 0x4c, 0x8b, 0x65, 0xa8, //0x00001294 movq $-88(%rbp), %r12 + 0xe9, 0xbf, 0x08, 0x00, 0x00, //0x00001298 jmp LBB0_343 + //0x0000129d LBB0_229 + 0x49, 0x8b, 0x02, //0x0000129d movq (%r10), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000012a0 cmpq $4095, %rax + 0x0f, 0x8f, 0xa6, 0x14, 0x00, 0x00, //0x000012a6 jg LBB0_486 + 0x48, 0x8d, 0x48, 0x01, //0x000012ac leaq $1(%rax), %rcx + 0x49, 0x89, 0x0a, //0x000012b0 movq %rcx, (%r10) + 0x49, 0xc7, 0x44, 0xc2, 0x08, 0x05, 0x00, 0x00, 0x00, //0x000012b3 movq $5, $8(%r10,%rax,8) + 0xe9, 0xaf, 0xef, 0xff, 0xff, //0x000012bc jmp LBB0_3 + //0x000012c1 LBB0_231 + 0x49, 0x8b, 0x56, 0x08, //0x000012c1 movq $8(%r14), %rdx + 0x48, 0x8d, 0x42, 0xfd, //0x000012c5 leaq $-3(%rdx), %rax + 0x49, 0x39, 0xc0, //0x000012c9 cmpq %rax, %r8 + 0x0f, 0x83, 0xfc, 0x14, 0x00, 0x00, //0x000012cc jae LBB0_487 + 0x41, 0x81, 0x3f, 0x6e, 0x75, 0x6c, 0x6c, //0x000012d2 cmpl $1819047278, (%r15) + 0x0f, 0x84, 0xa9, 0xef, 0xff, 0xff, //0x000012d9 je LBB0_1 + 0xe9, 0x4c, 0x15, 0x00, 0x00, //0x000012df jmp LBB0_233 + //0x000012e4 LBB0_238 + 0x49, 0x8b, 0x02, //0x000012e4 movq (%r10), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000012e7 cmpq $4095, %rax + 0x0f, 0x8f, 0x5f, 0x14, 0x00, 0x00, //0x000012ed jg LBB0_486 + 0x48, 0x8d, 0x48, 0x01, //0x000012f3 leaq $1(%rax), %rcx + 0x49, 0x89, 0x0a, //0x000012f7 movq %rcx, (%r10) + 0x49, 0xc7, 0x44, 0xc2, 0x08, 0x06, 0x00, 0x00, 0x00, //0x000012fa movq $6, $8(%r10,%rax,8) + 0xe9, 0x68, 0xef, 0xff, 0xff, //0x00001303 jmp LBB0_3 + //0x00001308 LBB0_240 + 0x49, 0x8b, 0x56, 0x08, //0x00001308 movq $8(%r14), %rdx + 0x48, 0x8d, 0x42, 0xfc, //0x0000130c leaq $-4(%rdx), %rax + 0x49, 0x39, 0xc0, //0x00001310 cmpq %rax, %r8 + 0x0f, 0x83, 0xb5, 0x14, 0x00, 0x00, //0x00001313 jae LBB0_487 + 0x43, 0x8b, 0x14, 0x21, //0x00001319 movl (%r9,%r12), %edx + 0x81, 0xfa, 0x61, 0x6c, 0x73, 0x65, //0x0000131d cmpl $1702063201, %edx + 0x0f, 0x85, 0x5d, 0x15, 0x00, 0x00, //0x00001323 jne LBB0_488 + 0x4c, 0x89, 0xe0, //0x00001329 movq %r12, %rax + 0x4d, 0x8d, 0x60, 0x05, //0x0000132c leaq $5(%r8), %r12 + 0x4d, 0x89, 0x65, 0x00, //0x00001330 movq %r12, (%r13) + 0x4c, 0x89, 0xc1, //0x00001334 movq %r8, %rcx + 0x48, 0x85, 0xc0, //0x00001337 testq %rax, %rax + 0x0f, 0x8f, 0x30, 0xef, 0xff, 0xff, //0x0000133a jg LBB0_3 + 0xe9, 0x74, 0x14, 0x00, 0x00, //0x00001340 jmp LBB0_498 + //0x00001345 LBB0_243 + 0x49, 0x8b, 0x56, 0x08, //0x00001345 movq $8(%r14), %rdx + 0x48, 0x8d, 0x42, 0xfd, //0x00001349 leaq $-3(%rdx), %rax + 0x49, 0x39, 0xc0, //0x0000134d cmpq %rax, %r8 + 0x0f, 0x83, 0x78, 0x14, 0x00, 0x00, //0x00001350 jae LBB0_487 + 0x41, 0x81, 0x3f, 0x74, 0x72, 0x75, 0x65, //0x00001356 cmpl $1702195828, (%r15) + 0x0f, 0x84, 0x25, 0xef, 0xff, 0xff, //0x0000135d je LBB0_1 + 0xe9, 0x77, 0x15, 0x00, 0x00, //0x00001363 jmp LBB0_245 + //0x00001368 LBB0_249 + 0x48, 0x85, 0xc9, //0x00001368 testq %rcx, %rcx + 0x49, 0x8d, 0x44, 0x24, 0xff, //0x0000136b leaq $-1(%r12), %rax + 0x49, 0xf7, 0xd4, //0x00001370 notq %r12 + 0x4d, 0x0f, 0x48, 0xe6, //0x00001373 cmovsq %r14, %r12 + 0x49, 0x39, 0xc5, //0x00001377 cmpq %rax, %r13 + 0x4d, 0x0f, 0x44, 0xf4, //0x0000137a cmoveq %r12, %r14 + 0xe9, 0x2d, 0xfd, 0xff, 0xff, //0x0000137e jmp LBB0_197 + //0x00001383 LBB0_250 + 0x48, 0x89, 0xf3, //0x00001383 movq %rsi, %rbx + 0x4c, 0x29, 0xe3, //0x00001386 subq %r12, %rbx + 0x0f, 0x84, 0xd1, 0x15, 0x00, 0x00, //0x00001389 je LBB0_507 + 0x4c, 0x89, 0xe0, //0x0000138f movq %r12, %rax + 0x4d, 0x01, 0xcc, //0x00001392 addq %r9, %r12 + 0x48, 0x83, 0xfb, 0x40, //0x00001395 cmpq $64, %rbx + 0x4c, 0x89, 0x4d, 0xc8, //0x00001399 movq %r9, $-56(%rbp) + 0x0f, 0x82, 0x3a, 0x0b, 0x00, 0x00, //0x0000139d jb LBB0_364 + 0x41, 0x89, 0xde, //0x000013a3 movl %ebx, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x000013a6 andl $63, %r14d + 0x48, 0x89, 0xf1, //0x000013aa movq %rsi, %rcx + 0x4c, 0x29, 0xc1, //0x000013ad subq %r8, %rcx + 0x48, 0x83, 0xc1, 0xbf, //0x000013b0 addq $-65, %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x000013b4 andq $-64, %rcx + 0x49, 0x89, 0xc2, //0x000013b8 movq %rax, %r10 + 0x48, 0x01, 0xc1, //0x000013bb addq %rax, %rcx + 0x49, 0x8d, 0x44, 0x09, 0x40, //0x000013be leaq $64(%r9,%rcx), %rax + 0x48, 0x89, 0x45, 0xa0, //0x000013c3 movq %rax, $-96(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000013c7 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x000013ce xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000013d1 .p2align 4, 0x90 + //0x000013e0 LBB0_253 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x000013e0 vmovdqu (%r12), %ymm0 + 0xc4, 0xc1, 0x7e, 0x6f, 0x4c, 0x24, 0x20, //0x000013e6 vmovdqu $32(%r12), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x000013ed vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xca, //0x000013f1 vpmovmskb %ymm2, %r9d + 0xc5, 0xf5, 0x74, 0xd6, //0x000013f5 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x000013f9 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xd7, //0x000013fd vpcmpeqb %ymm7, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xca, //0x00001401 vpmovmskb %ymm2, %ecx + 0xc5, 0xf5, 0x74, 0xd7, //0x00001405 vpcmpeqb %ymm7, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xc2, //0x00001409 vpmovmskb %ymm2, %eax + 0xc5, 0xbd, 0x64, 0xd0, //0x0000140d vpcmpgtb %ymm0, %ymm8, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001411 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc2, //0x00001416 vpand %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x0000141a vpmovmskb %ymm0, %esi + 0xc5, 0xbd, 0x64, 0xc1, //0x0000141e vpcmpgtb %ymm1, %ymm8, %ymm0 + 0xc4, 0xc1, 0x75, 0x64, 0xc9, //0x00001422 vpcmpgtb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xdb, 0xc0, //0x00001427 vpand %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x0000142b vpmovmskb %ymm0, %edi + 0x48, 0xc1, 0xe2, 0x20, //0x0000142f shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x00001433 shlq $32, %rax + 0x48, 0x09, 0xc1, //0x00001437 orq %rax, %rcx + 0x49, 0x83, 0xfb, 0xff, //0x0000143a cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000143e jne LBB0_255 + 0x48, 0x85, 0xc9, //0x00001444 testq %rcx, %rcx + 0x0f, 0x85, 0x9e, 0x00, 0x00, 0x00, //0x00001447 jne LBB0_264 + //0x0000144d LBB0_255 + 0x48, 0xc1, 0xe7, 0x20, //0x0000144d shlq $32, %rdi + 0x4c, 0x09, 0xca, //0x00001451 orq %r9, %rdx + 0x48, 0x89, 0xc8, //0x00001454 movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x00001457 orq %r15, %rax + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x0000145a jne LBB0_265 + 0x48, 0x09, 0xf7, //0x00001460 orq %rsi, %rdi + 0x48, 0x85, 0xd2, //0x00001463 testq %rdx, %rdx + 0x0f, 0x85, 0x92, 0x00, 0x00, 0x00, //0x00001466 jne LBB0_266 + //0x0000146c LBB0_257 + 0x48, 0x85, 0xff, //0x0000146c testq %rdi, %rdi + 0x0f, 0x85, 0x90, 0x13, 0x00, 0x00, //0x0000146f jne LBB0_499 + 0x48, 0x83, 0xc3, 0xc0, //0x00001475 addq $-64, %rbx + 0x49, 0x83, 0xc4, 0x40, //0x00001479 addq $64, %r12 + 0x48, 0x83, 0xfb, 0x3f, //0x0000147d cmpq $63, %rbx + 0x0f, 0x87, 0x59, 0xff, 0xff, 0xff, //0x00001481 ja LBB0_253 + 0xe9, 0xd6, 0x08, 0x00, 0x00, //0x00001487 jmp LBB0_259 + //0x0000148c LBB0_265 + 0x4d, 0x89, 0xfd, //0x0000148c movq %r15, %r13 + 0x49, 0xf7, 0xd5, //0x0000148f notq %r13 + 0x49, 0x21, 0xcd, //0x00001492 andq %rcx, %r13 + 0x4f, 0x8d, 0x4c, 0x2d, 0x00, //0x00001495 leaq (%r13,%r13), %r9 + 0x4d, 0x09, 0xf9, //0x0000149a orq %r15, %r9 + 0x4c, 0x89, 0xc8, //0x0000149d movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000014a0 notq %rax + 0x48, 0x21, 0xc8, //0x000014a3 andq %rcx, %rax + 0x48, 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000014a6 movabsq $-6148914691236517206, %rcx + 0x48, 0x21, 0xc8, //0x000014b0 andq %rcx, %rax + 0x45, 0x31, 0xff, //0x000014b3 xorl %r15d, %r15d + 0x4c, 0x01, 0xe8, //0x000014b6 addq %r13, %rax + 0x4c, 0x8b, 0x6d, 0xc0, //0x000014b9 movq $-64(%rbp), %r13 + 0x41, 0x0f, 0x92, 0xc7, //0x000014bd setb %r15b + 0x48, 0x01, 0xc0, //0x000014c1 addq %rax, %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000014c4 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xc8, //0x000014ce xorq %rcx, %rax + 0x4c, 0x21, 0xc8, //0x000014d1 andq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000014d4 notq %rax + 0x48, 0x21, 0xc2, //0x000014d7 andq %rax, %rdx + 0x48, 0x09, 0xf7, //0x000014da orq %rsi, %rdi + 0x48, 0x85, 0xd2, //0x000014dd testq %rdx, %rdx + 0x0f, 0x84, 0x86, 0xff, 0xff, 0xff, //0x000014e0 je LBB0_257 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x000014e6 jmp LBB0_266 + //0x000014eb LBB0_264 + 0x4c, 0x89, 0xe0, //0x000014eb movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc8, //0x000014ee subq $-56(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x000014f2 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x000014f6 addq %rax, %r11 + 0xe9, 0x4f, 0xff, 0xff, 0xff, //0x000014f9 jmp LBB0_255 + //0x000014fe LBB0_266 + 0x48, 0x0f, 0xbc, 0xca, //0x000014fe bsfq %rdx, %rcx + 0x48, 0x85, 0xff, //0x00001502 testq %rdi, %rdi + 0x48, 0x8b, 0x45, 0xc8, //0x00001505 movq $-56(%rbp), %rax + 0x0f, 0x84, 0x1f, 0x04, 0x00, 0x00, //0x00001509 je LBB0_320 + 0x48, 0x0f, 0xbc, 0xd7, //0x0000150f bsfq %rdi, %rdx + 0xe9, 0x1b, 0x04, 0x00, 0x00, //0x00001513 jmp LBB0_321 + //0x00001518 LBB0_268 + 0x4c, 0x89, 0xca, //0x00001518 movq %r9, %rdx + 0x48, 0xf7, 0xd2, //0x0000151b notq %rdx + 0x49, 0x01, 0xd0, //0x0000151e addq %rdx, %r8 + 0x49, 0x39, 0xc8, //0x00001521 cmpq %rcx, %r8 + 0x0f, 0x82, 0x3e, 0xef, 0xff, 0xff, //0x00001524 jb LBB0_36 + 0xe9, 0x17, 0x12, 0x00, 0x00, //0x0000152a jmp LBB0_473 + //0x0000152f LBB0_269 + 0x41, 0x8a, 0x49, 0x01, //0x0000152f movb $1(%r9), %cl + 0x80, 0xc1, 0xd2, //0x00001533 addb $-46, %cl + 0x80, 0xf9, 0x37, //0x00001536 cmpb $55, %cl + 0x4c, 0x8b, 0x65, 0xa8, //0x00001539 movq $-88(%rbp), %r12 + 0x0f, 0x87, 0x19, 0x06, 0x00, 0x00, //0x0000153d ja LBB0_343 + 0x0f, 0xb6, 0xc1, //0x00001543 movzbl %cl, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00001546 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00001550 btq %rax, %rcx + 0x0f, 0x83, 0x02, 0x06, 0x00, 0x00, //0x00001554 jae LBB0_343 + //0x0000155a LBB0_271 + 0x49, 0x83, 0xfe, 0x20, //0x0000155a cmpq $32, %r14 + 0x0f, 0x82, 0x40, 0x09, 0x00, 0x00, //0x0000155e jb LBB0_362 + 0x49, 0x8d, 0x4e, 0xe0, //0x00001564 leaq $-32(%r14), %rcx + 0x48, 0x89, 0xc8, //0x00001568 movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xe0, //0x0000156b andq $-32, %rax + 0x4d, 0x89, 0xca, //0x0000156f movq %r9, %r10 + 0x4e, 0x8d, 0x7c, 0x08, 0x20, //0x00001572 leaq $32(%rax,%r9), %r15 + 0x83, 0xe1, 0x1f, //0x00001577 andl $31, %ecx + 0x48, 0x89, 0x4d, 0xc8, //0x0000157a movq %rcx, $-56(%rbp) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000157e movq $-1, %rax + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001585 movq $-1, %r11 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x0000158c movq $-1, %r12 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001593 .p2align 4, 0x90 + //0x000015a0 LBB0_273 + 0xc4, 0xc1, 0x7e, 0x6f, 0x02, //0x000015a0 vmovdqu (%r10), %ymm0 + 0xc4, 0xc1, 0x7d, 0x64, 0xca, //0x000015a5 vpcmpgtb %ymm10, %ymm0, %ymm1 + 0xc5, 0xa5, 0x64, 0xd0, //0x000015aa vpcmpgtb %ymm0, %ymm11, %ymm2 + 0xc5, 0xf5, 0xdb, 0xca, //0x000015ae vpand %ymm2, %ymm1, %ymm1 + 0xc5, 0x9d, 0x74, 0xd0, //0x000015b2 vpcmpeqb %ymm0, %ymm12, %ymm2 + 0xc5, 0x95, 0x74, 0xd8, //0x000015b6 vpcmpeqb %ymm0, %ymm13, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x000015ba vpor %ymm2, %ymm3, %ymm2 + 0xc5, 0xbd, 0xeb, 0xd8, //0x000015be vpor %ymm0, %ymm8, %ymm3 + 0xc5, 0x8d, 0x74, 0xc0, //0x000015c2 vpcmpeqb %ymm0, %ymm14, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x000015c6 vpmovmskb %ymm0, %edi + 0xc5, 0x85, 0x74, 0xdb, //0x000015ca vpcmpeqb %ymm3, %ymm15, %ymm3 + 0xc5, 0xfd, 0xd7, 0xd3, //0x000015ce vpmovmskb %ymm3, %edx + 0xc5, 0xfd, 0xd7, 0xf2, //0x000015d2 vpmovmskb %ymm2, %esi + 0xc5, 0xe5, 0xeb, 0xc0, //0x000015d6 vpor %ymm0, %ymm3, %ymm0 + 0xc5, 0xed, 0xeb, 0xc9, //0x000015da vpor %ymm1, %ymm2, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc1, //0x000015de vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc8, //0x000015e2 vpmovmskb %ymm0, %ecx + 0x48, 0xf7, 0xd1, //0x000015e6 notq %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x000015e9 bsfq %rcx, %rcx + 0x83, 0xf9, 0x20, //0x000015ed cmpl $32, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000015f0 je LBB0_275 + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x000015f6 movl $-1, %ebx + 0xd3, 0xe3, //0x000015fb shll %cl, %ebx + 0xf7, 0xd3, //0x000015fd notl %ebx + 0x21, 0xdf, //0x000015ff andl %ebx, %edi + 0x21, 0xda, //0x00001601 andl %ebx, %edx + 0x21, 0xf3, //0x00001603 andl %esi, %ebx + 0x89, 0xde, //0x00001605 movl %ebx, %esi + //0x00001607 LBB0_275 + 0x8d, 0x5f, 0xff, //0x00001607 leal $-1(%rdi), %ebx + 0x21, 0xfb, //0x0000160a andl %edi, %ebx + 0x0f, 0x85, 0xa2, 0x06, 0x00, 0x00, //0x0000160c jne LBB0_349 + 0x8d, 0x5a, 0xff, //0x00001612 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x00001615 andl %edx, %ebx + 0x0f, 0x85, 0x97, 0x06, 0x00, 0x00, //0x00001617 jne LBB0_349 + 0x8d, 0x5e, 0xff, //0x0000161d leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x00001620 andl %esi, %ebx + 0x0f, 0x85, 0x8c, 0x06, 0x00, 0x00, //0x00001622 jne LBB0_349 + 0x85, 0xff, //0x00001628 testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000162a je LBB0_281 + 0x4c, 0x89, 0xd3, //0x00001630 movq %r10, %rbx + 0x4c, 0x29, 0xcb, //0x00001633 subq %r9, %rbx + 0x0f, 0xbc, 0xff, //0x00001636 bsfl %edi, %edi + 0x48, 0x01, 0xdf, //0x00001639 addq %rbx, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x0000163c cmpq $-1, %r12 + 0x0f, 0x85, 0x96, 0x07, 0x00, 0x00, //0x00001640 jne LBB0_353 + 0x49, 0x89, 0xfc, //0x00001646 movq %rdi, %r12 + //0x00001649 LBB0_281 + 0x85, 0xd2, //0x00001649 testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000164b je LBB0_284 + 0x4c, 0x89, 0xd7, //0x00001651 movq %r10, %rdi + 0x4c, 0x29, 0xcf, //0x00001654 subq %r9, %rdi + 0x0f, 0xbc, 0xd2, //0x00001657 bsfl %edx, %edx + 0x48, 0x01, 0xfa, //0x0000165a addq %rdi, %rdx + 0x49, 0x83, 0xfb, 0xff, //0x0000165d cmpq $-1, %r11 + 0x0f, 0x85, 0x6e, 0x06, 0x00, 0x00, //0x00001661 jne LBB0_351 + 0x49, 0x89, 0xd3, //0x00001667 movq %rdx, %r11 + //0x0000166a LBB0_284 + 0x85, 0xf6, //0x0000166a testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000166c je LBB0_287 + 0x4c, 0x89, 0xd7, //0x00001672 movq %r10, %rdi + 0x4c, 0x29, 0xcf, //0x00001675 subq %r9, %rdi + 0x0f, 0xbc, 0xd6, //0x00001678 bsfl %esi, %edx + 0x48, 0x01, 0xfa, //0x0000167b addq %rdi, %rdx + 0x48, 0x83, 0xf8, 0xff, //0x0000167e cmpq $-1, %rax + 0x0f, 0x85, 0x4d, 0x06, 0x00, 0x00, //0x00001682 jne LBB0_351 + 0x48, 0x89, 0xd0, //0x00001688 movq %rdx, %rax + //0x0000168b LBB0_287 + 0x83, 0xf9, 0x20, //0x0000168b cmpl $32, %ecx + 0x0f, 0x85, 0x62, 0x02, 0x00, 0x00, //0x0000168e jne LBB0_493 + 0x49, 0x83, 0xc2, 0x20, //0x00001694 addq $32, %r10 + 0x49, 0x83, 0xc6, 0xe0, //0x00001698 addq $-32, %r14 + 0x49, 0x83, 0xfe, 0x1f, //0x0000169c cmpq $31, %r14 + 0x0f, 0x87, 0xfa, 0xfe, 0xff, 0xff, //0x000016a0 ja LBB0_273 + 0xc5, 0xf8, 0x77, //0x000016a6 vzeroupper + 0x4c, 0x8b, 0x75, 0xc8, //0x000016a9 movq $-56(%rbp), %r14 + //0x000016ad LBB0_290 + 0x49, 0x83, 0xfe, 0x10, //0x000016ad cmpq $16, %r14 + 0xc5, 0xfe, 0x6f, 0x2d, 0x47, 0xe9, 0xff, 0xff, //0x000016b1 vmovdqu $-5817(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x5f, 0xe9, 0xff, 0xff, //0x000016b9 vmovdqu $-5793(%rip), %ymm6 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x77, 0xe9, 0xff, 0xff, //0x000016c1 vmovdqu $-5769(%rip), %ymm7 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0x8f, 0xe9, 0xff, 0xff, //0x000016c9 vmovdqu $-5745(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000016d1 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0xa2, 0xe9, 0xff, 0xff, //0x000016d6 vmovdqu $-5726(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xba, 0xe9, 0xff, 0xff, //0x000016de vmovdqu $-5702(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0xd2, 0xe9, 0xff, 0xff, //0x000016e6 vmovdqu $-5678(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0xea, 0xe9, 0xff, 0xff, //0x000016ee vmovdqu $-5654(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x02, 0xea, 0xff, 0xff, //0x000016f6 vmovdqu $-5630(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x1a, 0xea, 0xff, 0xff, //0x000016fe vmovdqu $-5606(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + 0x0f, 0x82, 0x55, 0x01, 0x00, 0x00, //0x00001706 jb LBB0_309 + 0x4d, 0x8d, 0x56, 0xf0, //0x0000170c leaq $-16(%r14), %r10 + 0x4c, 0x89, 0xd1, //0x00001710 movq %r10, %rcx + 0x48, 0x83, 0xe1, 0xf0, //0x00001713 andq $-16, %rcx + 0x4a, 0x8d, 0x4c, 0x39, 0x10, //0x00001717 leaq $16(%rcx,%r15), %rcx + 0x48, 0x89, 0x4d, 0xc8, //0x0000171c movq %rcx, $-56(%rbp) + 0x41, 0x83, 0xe2, 0x0f, //0x00001720 andl $15, %r10d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001724 .p2align 4, 0x90 + //0x00001730 LBB0_292 + 0xc4, 0xc1, 0x7a, 0x6f, 0x07, //0x00001730 vmovdqu (%r15), %xmm0 + 0xc5, 0xf9, 0x64, 0x0d, 0x03, 0xea, 0xff, 0xff, //0x00001735 vpcmpgtb $-5629(%rip), %xmm0, %xmm1 /* LCPI0_10+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0x0b, 0xea, 0xff, 0xff, //0x0000173d vmovdqu $-5621(%rip), %xmm2 /* LCPI0_11+0(%rip) */ + 0xc5, 0xe9, 0x64, 0xd0, //0x00001745 vpcmpgtb %xmm0, %xmm2, %xmm2 + 0xc5, 0xf1, 0xdb, 0xca, //0x00001749 vpand %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x74, 0x15, 0x0b, 0xea, 0xff, 0xff, //0x0000174d vpcmpeqb $-5621(%rip), %xmm0, %xmm2 /* LCPI0_12+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x1d, 0x13, 0xea, 0xff, 0xff, //0x00001755 vpcmpeqb $-5613(%rip), %xmm0, %xmm3 /* LCPI0_13+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xd2, //0x0000175d vpor %xmm2, %xmm3, %xmm2 + 0xc5, 0xf9, 0xeb, 0x1d, 0x17, 0xea, 0xff, 0xff, //0x00001761 vpor $-5609(%rip), %xmm0, %xmm3 /* LCPI0_14+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x05, 0x1f, 0xea, 0xff, 0xff, //0x00001769 vpcmpeqb $-5601(%rip), %xmm0, %xmm0 /* LCPI0_15+0(%rip) */ + 0xc5, 0xe1, 0x74, 0x1d, 0x27, 0xea, 0xff, 0xff, //0x00001771 vpcmpeqb $-5593(%rip), %xmm3, %xmm3 /* LCPI0_16+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xe0, //0x00001779 vpor %xmm0, %xmm3, %xmm4 + 0xc5, 0xe9, 0xeb, 0xc9, //0x0000177d vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xd9, 0xeb, 0xc9, //0x00001781 vpor %xmm1, %xmm4, %xmm1 + 0xc5, 0xf9, 0xd7, 0xf8, //0x00001785 vpmovmskb %xmm0, %edi + 0xc5, 0xf9, 0xd7, 0xf3, //0x00001789 vpmovmskb %xmm3, %esi + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000178d vpmovmskb %xmm2, %edx + 0xc5, 0xf9, 0xd7, 0xc9, //0x00001791 vpmovmskb %xmm1, %ecx + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x00001795 movl $4294967295, %ebx + 0x48, 0x31, 0xd9, //0x0000179a xorq %rbx, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x0000179d bsfq %rcx, %rcx + 0x83, 0xf9, 0x10, //0x000017a1 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000017a4 je LBB0_294 + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x000017aa movl $-1, %ebx + 0xd3, 0xe3, //0x000017af shll %cl, %ebx + 0xf7, 0xd3, //0x000017b1 notl %ebx + 0x21, 0xdf, //0x000017b3 andl %ebx, %edi + 0x21, 0xde, //0x000017b5 andl %ebx, %esi + 0x21, 0xd3, //0x000017b7 andl %edx, %ebx + 0x89, 0xda, //0x000017b9 movl %ebx, %edx + //0x000017bb LBB0_294 + 0x8d, 0x5f, 0xff, //0x000017bb leal $-1(%rdi), %ebx + 0x21, 0xfb, //0x000017be andl %edi, %ebx + 0x0f, 0x85, 0xfe, 0x05, 0x00, 0x00, //0x000017c0 jne LBB0_352 + 0x8d, 0x5e, 0xff, //0x000017c6 leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x000017c9 andl %esi, %ebx + 0x0f, 0x85, 0xf3, 0x05, 0x00, 0x00, //0x000017cb jne LBB0_352 + 0x8d, 0x5a, 0xff, //0x000017d1 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x000017d4 andl %edx, %ebx + 0x0f, 0x85, 0xe8, 0x05, 0x00, 0x00, //0x000017d6 jne LBB0_352 + 0x85, 0xff, //0x000017dc testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000017de je LBB0_300 + 0x4c, 0x89, 0xfb, //0x000017e4 movq %r15, %rbx + 0x4c, 0x29, 0xcb, //0x000017e7 subq %r9, %rbx + 0x0f, 0xbc, 0xff, //0x000017ea bsfl %edi, %edi + 0x48, 0x01, 0xdf, //0x000017ed addq %rbx, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x000017f0 cmpq $-1, %r12 + 0x0f, 0x85, 0xe2, 0x05, 0x00, 0x00, //0x000017f4 jne LBB0_353 + 0x49, 0x89, 0xfc, //0x000017fa movq %rdi, %r12 + //0x000017fd LBB0_300 + 0x85, 0xf6, //0x000017fd testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000017ff je LBB0_303 + 0x4c, 0x89, 0xff, //0x00001805 movq %r15, %rdi + 0x4c, 0x29, 0xcf, //0x00001808 subq %r9, %rdi + 0x0f, 0xbc, 0xf6, //0x0000180b bsfl %esi, %esi + 0x48, 0x01, 0xfe, //0x0000180e addq %rdi, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x00001811 cmpq $-1, %r11 + 0x0f, 0x85, 0x3d, 0x06, 0x00, 0x00, //0x00001815 jne LBB0_358 + 0x49, 0x89, 0xf3, //0x0000181b movq %rsi, %r11 + //0x0000181e LBB0_303 + 0x85, 0xd2, //0x0000181e testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00001820 je LBB0_306 + 0x4c, 0x89, 0xfe, //0x00001826 movq %r15, %rsi + 0x4c, 0x29, 0xce, //0x00001829 subq %r9, %rsi + 0x0f, 0xbc, 0xd2, //0x0000182c bsfl %edx, %edx + 0x48, 0x01, 0xf2, //0x0000182f addq %rsi, %rdx + 0x48, 0x83, 0xf8, 0xff, //0x00001832 cmpq $-1, %rax + 0x0f, 0x85, 0x99, 0x04, 0x00, 0x00, //0x00001836 jne LBB0_351 + 0x48, 0x89, 0xd0, //0x0000183c movq %rdx, %rax + //0x0000183f LBB0_306 + 0x83, 0xf9, 0x10, //0x0000183f cmpl $16, %ecx + 0x0f, 0x85, 0x05, 0x01, 0x00, 0x00, //0x00001842 jne LBB0_325 + 0x49, 0x83, 0xc7, 0x10, //0x00001848 addq $16, %r15 + 0x49, 0x83, 0xc6, 0xf0, //0x0000184c addq $-16, %r14 + 0x49, 0x83, 0xfe, 0x0f, //0x00001850 cmpq $15, %r14 + 0x0f, 0x87, 0xd6, 0xfe, 0xff, 0xff, //0x00001854 ja LBB0_292 + 0x4d, 0x89, 0xd6, //0x0000185a movq %r10, %r14 + 0x4c, 0x8b, 0x7d, 0xc8, //0x0000185d movq $-56(%rbp), %r15 + //0x00001861 LBB0_309 + 0x4d, 0x85, 0xf6, //0x00001861 testq %r14, %r14 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001864 movq $-72(%rbp), %r10 + 0x0f, 0x84, 0xe6, 0x00, 0x00, 0x00, //0x00001868 je LBB0_326 + 0x4b, 0x8d, 0x0c, 0x37, //0x0000186e leaq (%r15,%r14), %rcx + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00001872 jmp LBB0_314 + //0x00001877 LBB0_311 + 0x49, 0x89, 0xd7, //0x00001877 movq %rdx, %r15 + 0x4d, 0x29, 0xcf, //0x0000187a subq %r9, %r15 + 0x48, 0x83, 0xf8, 0xff, //0x0000187d cmpq $-1, %rax + 0x0f, 0x85, 0x15, 0x06, 0x00, 0x00, //0x00001881 jne LBB0_365 + 0x49, 0xff, 0xcf, //0x00001887 decq %r15 + 0x4c, 0x89, 0xf8, //0x0000188a movq %r15, %rax + 0x90, 0x90, 0x90, //0x0000188d .p2align 4, 0x90 + //0x00001890 LBB0_313 + 0x49, 0x89, 0xd7, //0x00001890 movq %rdx, %r15 + 0x49, 0xff, 0xce, //0x00001893 decq %r14 + 0x0f, 0x84, 0xab, 0x05, 0x00, 0x00, //0x00001896 je LBB0_357 + //0x0000189c LBB0_314 + 0x41, 0x0f, 0xbe, 0x37, //0x0000189c movsbl (%r15), %esi + 0x83, 0xc6, 0xd5, //0x000018a0 addl $-43, %esi + 0x83, 0xfe, 0x3a, //0x000018a3 cmpl $58, %esi + 0x0f, 0x87, 0xa8, 0x00, 0x00, 0x00, //0x000018a6 ja LBB0_326 + 0x49, 0x8d, 0x57, 0x01, //0x000018ac leaq $1(%r15), %rdx + 0x48, 0x8d, 0x3d, 0x35, 0x13, 0x00, 0x00, //0x000018b0 leaq $4917(%rip), %rdi /* LJTI0_2+0(%rip) */ + 0x48, 0x63, 0x34, 0xb7, //0x000018b7 movslq (%rdi,%rsi,4), %rsi + 0x48, 0x01, 0xfe, //0x000018bb addq %rdi, %rsi + 0xff, 0xe6, //0x000018be jmpq *%rsi + //0x000018c0 LBB0_316 + 0x49, 0x89, 0xd7, //0x000018c0 movq %rdx, %r15 + 0x4d, 0x29, 0xcf, //0x000018c3 subq %r9, %r15 + 0x49, 0x83, 0xfb, 0xff, //0x000018c6 cmpq $-1, %r11 + 0x0f, 0x85, 0xcc, 0x05, 0x00, 0x00, //0x000018ca jne LBB0_365 + 0x49, 0xff, 0xcf, //0x000018d0 decq %r15 + 0x4d, 0x89, 0xfb, //0x000018d3 movq %r15, %r11 + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x000018d6 jmp LBB0_313 + //0x000018db LBB0_318 + 0x49, 0x89, 0xd7, //0x000018db movq %rdx, %r15 + 0x4d, 0x29, 0xcf, //0x000018de subq %r9, %r15 + 0x49, 0x83, 0xfc, 0xff, //0x000018e1 cmpq $-1, %r12 + 0x0f, 0x85, 0xb1, 0x05, 0x00, 0x00, //0x000018e5 jne LBB0_365 + 0x49, 0xff, 0xcf, //0x000018eb decq %r15 + 0x4d, 0x89, 0xfc, //0x000018ee movq %r15, %r12 + 0xe9, 0x9a, 0xff, 0xff, 0xff, //0x000018f1 jmp LBB0_313 + //0x000018f6 LBB0_493 + 0x49, 0x01, 0xca, //0x000018f6 addq %rcx, %r10 + 0xc5, 0xf8, 0x77, //0x000018f9 vzeroupper + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000018fc vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0xfe, 0x6f, 0x3d, 0x37, 0xe7, 0xff, 0xff, //0x00001901 vmovdqu $-6345(%rip), %ymm7 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x0f, 0xe7, 0xff, 0xff, //0x00001909 vmovdqu $-6385(%rip), %ymm6 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0xe7, 0xe6, 0xff, 0xff, //0x00001911 vmovdqu $-6425(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0x4d, 0x89, 0xd7, //0x00001919 movq %r10, %r15 + 0x4c, 0x8b, 0x55, 0xb8, //0x0000191c movq $-72(%rbp), %r10 + 0x4d, 0x85, 0xdb, //0x00001920 testq %r11, %r11 + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x00001923 jne LBB0_327 + 0xe9, 0x0f, 0x10, 0x00, 0x00, //0x00001929 jmp LBB0_494 + //0x0000192e LBB0_320 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x0000192e movl $64, %edx + //0x00001933 LBB0_321 + 0x4c, 0x8b, 0x75, 0xd0, //0x00001933 movq $-48(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00001937 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x0000193a cmpq %rcx, %rdx + 0x0f, 0x82, 0x38, 0x10, 0x00, 0x00, //0x0000193d jb LBB0_129 + //0x00001943 LBB0_322 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x00001943 leaq $1(%r12,%rcx), %r12 + 0xe9, 0xeb, 0x03, 0x00, 0x00, //0x00001948 jmp LBB0_323 + //0x0000194d LBB0_325 + 0x49, 0x01, 0xcf, //0x0000194d addq %rcx, %r15 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001950 movq $-72(%rbp), %r10 + //0x00001954 LBB0_326 + 0x4d, 0x85, 0xdb, //0x00001954 testq %r11, %r11 + 0x0f, 0x84, 0xe0, 0x0f, 0x00, 0x00, //0x00001957 je LBB0_494 + //0x0000195d LBB0_327 + 0x48, 0x85, 0xc0, //0x0000195d testq %rax, %rax + 0x0f, 0x84, 0xd7, 0x0f, 0x00, 0x00, //0x00001960 je LBB0_494 + 0x4d, 0x85, 0xe4, //0x00001966 testq %r12, %r12 + 0x0f, 0x84, 0xce, 0x0f, 0x00, 0x00, //0x00001969 je LBB0_494 + 0x4d, 0x29, 0xcf, //0x0000196f subq %r9, %r15 + 0x49, 0x8d, 0x4f, 0xff, //0x00001972 leaq $-1(%r15), %rcx + 0x49, 0x39, 0xcb, //0x00001976 cmpq %rcx, %r11 + 0x0f, 0x84, 0x6b, 0x00, 0x00, 0x00, //0x00001979 je LBB0_335 + 0x49, 0x39, 0xcc, //0x0000197f cmpq %rcx, %r12 + 0x0f, 0x84, 0x62, 0x00, 0x00, 0x00, //0x00001982 je LBB0_335 + 0x48, 0x39, 0xc8, //0x00001988 cmpq %rcx, %rax + 0x0f, 0x84, 0x59, 0x00, 0x00, 0x00, //0x0000198b je LBB0_335 + 0x48, 0x85, 0xc0, //0x00001991 testq %rax, %rax + 0xc5, 0x7e, 0x6f, 0x05, 0xc4, 0xe6, 0xff, 0xff, //0x00001994 vmovdqu $-6460(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0xdc, 0xe6, 0xff, 0xff, //0x0000199c vmovdqu $-6436(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xf4, 0xe6, 0xff, 0xff, //0x000019a4 vmovdqu $-6412(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x0c, 0xe7, 0xff, 0xff, //0x000019ac vmovdqu $-6388(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x24, 0xe7, 0xff, 0xff, //0x000019b4 vmovdqu $-6364(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x3c, 0xe7, 0xff, 0xff, //0x000019bc vmovdqu $-6340(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x54, 0xe7, 0xff, 0xff, //0x000019c4 vmovdqu $-6316(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + 0x0f, 0x8e, 0x58, 0x00, 0x00, 0x00, //0x000019cc jle LBB0_336 + 0x48, 0x8d, 0x48, 0xff, //0x000019d2 leaq $-1(%rax), %rcx + 0x49, 0x39, 0xcb, //0x000019d6 cmpq %rcx, %r11 + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x000019d9 je LBB0_336 + 0x48, 0xf7, 0xd0, //0x000019df notq %rax + 0x49, 0x89, 0xc7, //0x000019e2 movq %rax, %r15 + 0xe9, 0x65, 0x01, 0x00, 0x00, //0x000019e5 jmp LBB0_342 + //0x000019ea LBB0_335 + 0x49, 0xf7, 0xdf, //0x000019ea negq %r15 + 0xc5, 0x7e, 0x6f, 0x05, 0x6b, 0xe6, 0xff, 0xff, //0x000019ed vmovdqu $-6549(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x83, 0xe6, 0xff, 0xff, //0x000019f5 vmovdqu $-6525(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x9b, 0xe6, 0xff, 0xff, //0x000019fd vmovdqu $-6501(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0xb3, 0xe6, 0xff, 0xff, //0x00001a05 vmovdqu $-6477(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0xcb, 0xe6, 0xff, 0xff, //0x00001a0d vmovdqu $-6453(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xe3, 0xe6, 0xff, 0xff, //0x00001a15 vmovdqu $-6429(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0xfb, 0xe6, 0xff, 0xff, //0x00001a1d vmovdqu $-6405(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + 0xe9, 0x25, 0x01, 0x00, 0x00, //0x00001a25 jmp LBB0_342 + //0x00001a2a LBB0_336 + 0x4c, 0x89, 0xe1, //0x00001a2a movq %r12, %rcx + 0x4c, 0x09, 0xd9, //0x00001a2d orq %r11, %rcx + 0x4d, 0x39, 0xdc, //0x00001a30 cmpq %r11, %r12 + 0x0f, 0x8c, 0x01, 0x01, 0x00, 0x00, //0x00001a33 jl LBB0_341 + 0x48, 0x85, 0xc9, //0x00001a39 testq %rcx, %rcx + 0x0f, 0x88, 0xf8, 0x00, 0x00, 0x00, //0x00001a3c js LBB0_341 + 0x49, 0xf7, 0xd4, //0x00001a42 notq %r12 + 0x4d, 0x89, 0xe7, //0x00001a45 movq %r12, %r15 + 0xe9, 0x02, 0x01, 0x00, 0x00, //0x00001a48 jmp LBB0_342 + //0x00001a4d LBB0_339 + 0x4d, 0x29, 0xfb, //0x00001a4d subq %r15, %r11 + 0x44, 0x0f, 0xbc, 0xf3, //0x00001a50 bsfl %ebx, %r14d + 0xe9, 0x36, 0x01, 0x00, 0x00, //0x00001a54 jmp LBB0_346 + //0x00001a59 LBB0_55 + 0x4c, 0x89, 0xf9, //0x00001a59 movq %r15, %rcx + 0x4c, 0x89, 0xcb, //0x00001a5c movq %r9, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00001a5f cmpq $32, %rcx + 0x0f, 0x82, 0xfd, 0x04, 0x00, 0x00, //0x00001a63 jb LBB0_370 + //0x00001a69 LBB0_56 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001a69 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001a6d vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x00001a71 vpmovmskb %ymm1, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001a75 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00001a79 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00001a7d testl %esi, %esi + 0x0f, 0x85, 0x78, 0x04, 0x00, 0x00, //0x00001a7f jne LBB0_366 + 0x4d, 0x85, 0xf6, //0x00001a85 testq %r14, %r14 + 0x0f, 0x85, 0x86, 0x04, 0x00, 0x00, //0x00001a88 jne LBB0_368 + 0x45, 0x31, 0xf6, //0x00001a8e xorl %r14d, %r14d + 0x48, 0x85, 0xd2, //0x00001a91 testq %rdx, %rdx + 0x0f, 0x84, 0xc4, 0x04, 0x00, 0x00, //0x00001a94 je LBB0_369 + //0x00001a9a LBB0_61 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001a9a bsfq %rdx, %rax + 0x4c, 0x29, 0xdb, //0x00001a9e subq %r11, %rbx + 0x4c, 0x8d, 0x64, 0x03, 0x01, //0x00001aa1 leaq $1(%rbx,%rax), %r12 + 0x4c, 0x8b, 0x75, 0xd0, //0x00001aa6 movq $-48(%rbp), %r14 + //0x00001aaa LBB0_184 + 0x4d, 0x85, 0xe4, //0x00001aaa testq %r12, %r12 + 0x0f, 0x88, 0xab, 0x0c, 0x00, 0x00, //0x00001aad js LBB0_474 + 0x4c, 0x8b, 0x6d, 0xc0, //0x00001ab3 movq $-64(%rbp), %r13 + 0x4d, 0x89, 0x65, 0x00, //0x00001ab7 movq %r12, (%r13) + 0x4c, 0x89, 0xc1, //0x00001abb movq %r8, %rcx + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00001abe cmpq $0, $-88(%rbp) + 0x0f, 0x8f, 0xa7, 0xe7, 0xff, 0xff, //0x00001ac3 jg LBB0_3 + 0xe9, 0xeb, 0x0c, 0x00, 0x00, //0x00001ac9 jmp LBB0_498 + //0x00001ace LBB0_82 + 0x4d, 0x89, 0xf2, //0x00001ace movq %r14, %r10 + 0x49, 0x89, 0xc4, //0x00001ad1 movq %rax, %r12 + 0x4c, 0x8b, 0x75, 0xd0, //0x00001ad4 movq $-48(%rbp), %r14 + 0x49, 0x83, 0xfa, 0x20, //0x00001ad8 cmpq $32, %r10 + 0x0f, 0x82, 0xbc, 0x05, 0x00, 0x00, //0x00001adc jb LBB0_388 + //0x00001ae2 LBB0_83 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001ae2 vmovdqu (%r12), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001ae8 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf1, //0x00001aec vpmovmskb %ymm1, %esi + 0xc5, 0xfd, 0x74, 0xcf, //0x00001af0 vpcmpeqb %ymm7, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc9, //0x00001af4 vpmovmskb %ymm1, %ecx + 0xc5, 0xbd, 0x64, 0xc8, //0x00001af8 vpcmpgtb %ymm0, %ymm8, %ymm1 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001afc vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00001b01 vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xc8, //0x00001b05 vpmovmskb %ymm0, %r9d + 0x85, 0xc9, //0x00001b09 testl %ecx, %ecx + 0x0f, 0x85, 0xe4, 0x04, 0x00, 0x00, //0x00001b0b jne LBB0_379 + 0x4d, 0x85, 0xff, //0x00001b11 testq %r15, %r15 + 0x0f, 0x85, 0xf3, 0x04, 0x00, 0x00, //0x00001b14 jne LBB0_381 + 0x45, 0x31, 0xff, //0x00001b1a xorl %r15d, %r15d + 0x48, 0x85, 0xf6, //0x00001b1d testq %rsi, %rsi + 0x0f, 0x84, 0x2e, 0x05, 0x00, 0x00, //0x00001b20 je LBB0_382 + //0x00001b26 LBB0_86 + 0x48, 0x0f, 0xbc, 0xce, //0x00001b26 bsfq %rsi, %rcx + 0xe9, 0x2a, 0x05, 0x00, 0x00, //0x00001b2a jmp LBB0_383 + //0x00001b2f LBB0_340 + 0x48, 0xf7, 0xd2, //0x00001b2f notq %rdx + 0x49, 0x89, 0xd6, //0x00001b32 movq %rdx, %r14 + 0xe9, 0x76, 0xf5, 0xff, 0xff, //0x00001b35 jmp LBB0_197 + //0x00001b3a LBB0_341 + 0x48, 0x85, 0xc9, //0x00001b3a testq %rcx, %rcx + 0x49, 0x8d, 0x43, 0xff, //0x00001b3d leaq $-1(%r11), %rax + 0x49, 0xf7, 0xd3, //0x00001b41 notq %r11 + 0x4d, 0x0f, 0x48, 0xdf, //0x00001b44 cmovsq %r15, %r11 + 0x49, 0x39, 0xc4, //0x00001b48 cmpq %rax, %r12 + 0x4d, 0x0f, 0x44, 0xfb, //0x00001b4b cmoveq %r11, %r15 + //0x00001b4f LBB0_342 + 0x4d, 0x8b, 0x65, 0x00, //0x00001b4f movq (%r13), %r12 + 0x4d, 0x85, 0xff, //0x00001b53 testq %r15, %r15 + 0x0f, 0x88, 0xec, 0x0d, 0x00, 0x00, //0x00001b56 js LBB0_496 + //0x00001b5c LBB0_343 + 0x4d, 0x01, 0xfc, //0x00001b5c addq %r15, %r12 + 0x4d, 0x89, 0x65, 0x00, //0x00001b5f movq %r12, (%r13) + 0x4c, 0x89, 0xc1, //0x00001b63 movq %r8, %rcx + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00001b66 cmpq $0, $-88(%rbp) + 0x4c, 0x8b, 0x75, 0xd0, //0x00001b6b movq $-48(%rbp), %r14 + 0x0f, 0x8f, 0xfb, 0xe6, 0xff, 0xff, //0x00001b6f jg LBB0_3 + 0xe9, 0x3f, 0x0c, 0x00, 0x00, //0x00001b75 jmp LBB0_498 + //0x00001b7a LBB0_344 + 0x4d, 0x29, 0xfe, //0x00001b7a subq %r15, %r14 + 0x0f, 0xbc, 0xc3, //0x00001b7d bsfl %ebx, %eax + 0x4c, 0x01, 0xf0, //0x00001b80 addq %r14, %rax + 0xe9, 0xc5, 0xf4, 0xff, 0xff, //0x00001b83 jmp LBB0_195 + //0x00001b88 LBB0_345 + 0x4d, 0x29, 0xfb, //0x00001b88 subq %r15, %r11 + 0x45, 0x0f, 0xbc, 0xf1, //0x00001b8b bsfl %r9d, %r14d + //0x00001b8f LBB0_346 + 0x4d, 0x01, 0xde, //0x00001b8f addq %r11, %r14 + 0x49, 0xf7, 0xd6, //0x00001b92 notq %r14 + 0xe9, 0x16, 0xf5, 0xff, 0xff, //0x00001b95 jmp LBB0_197 + //0x00001b9a LBB0_347 + 0x48, 0xf7, 0xd7, //0x00001b9a notq %rdi + 0x49, 0x89, 0xfe, //0x00001b9d movq %rdi, %r14 + 0xe9, 0x0b, 0xf5, 0xff, 0xff, //0x00001ba0 jmp LBB0_197 + //0x00001ba5 LBB0_101 + 0x4c, 0x89, 0xf9, //0x00001ba5 movq %r15, %rcx + 0x4c, 0x89, 0xd3, //0x00001ba8 movq %r10, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00001bab cmpq $32, %rcx + 0x0f, 0x82, 0x00, 0x06, 0x00, 0x00, //0x00001baf jb LBB0_402 + //0x00001bb5 LBB0_102 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001bb5 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001bb9 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x00001bbd vpmovmskb %ymm1, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001bc1 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00001bc5 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00001bc9 testl %esi, %esi + 0x0f, 0x85, 0x6d, 0x05, 0x00, 0x00, //0x00001bcb jne LBB0_397 + 0x4d, 0x85, 0xf6, //0x00001bd1 testq %r14, %r14 + 0x0f, 0x85, 0x83, 0x05, 0x00, 0x00, //0x00001bd4 jne LBB0_399 + 0x45, 0x31, 0xf6, //0x00001bda xorl %r14d, %r14d + 0x48, 0x85, 0xd2, //0x00001bdd testq %rdx, %rdx + 0x0f, 0x84, 0xc7, 0x05, 0x00, 0x00, //0x00001be0 je LBB0_401 + //0x00001be6 LBB0_107 + 0x4d, 0x89, 0xe2, //0x00001be6 movq %r12, %r10 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001be9 bsfq %rdx, %rax + 0x4c, 0x29, 0xcb, //0x00001bed subq %r9, %rbx + 0x4c, 0x8d, 0x64, 0x03, 0x01, //0x00001bf0 leaq $1(%rbx,%rax), %r12 + 0x4c, 0x8b, 0x75, 0xd0, //0x00001bf5 movq $-48(%rbp), %r14 + //0x00001bf9 LBB0_205 + 0x4d, 0x85, 0xe4, //0x00001bf9 testq %r12, %r12 + 0x0f, 0x88, 0x82, 0x0b, 0x00, 0x00, //0x00001bfc js LBB0_477 + 0x4d, 0x89, 0x65, 0x00, //0x00001c02 movq %r12, (%r13) + 0x4c, 0x89, 0xc1, //0x00001c06 movq %r8, %rcx + 0x4d, 0x85, 0xd2, //0x00001c09 testq %r10, %r10 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001c0c movq $-72(%rbp), %r10 + 0x0f, 0x8e, 0xa3, 0x0b, 0x00, 0x00, //0x00001c10 jle LBB0_498 + 0x49, 0x8b, 0x02, //0x00001c16 movq (%r10), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00001c19 cmpq $4095, %rax + 0x0f, 0x8f, 0x2d, 0x0b, 0x00, 0x00, //0x00001c1f jg LBB0_486 + 0x48, 0x8d, 0x48, 0x01, //0x00001c25 leaq $1(%rax), %rcx + 0x49, 0x89, 0x0a, //0x00001c29 movq %rcx, (%r10) + 0x49, 0xc7, 0x44, 0xc2, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00001c2c movq $4, $8(%r10,%rax,8) + 0xe9, 0x36, 0xe6, 0xff, 0xff, //0x00001c35 jmp LBB0_3 + //0x00001c3a LBB0_120 + 0x4c, 0x89, 0xf3, //0x00001c3a movq %r14, %rbx + 0x4c, 0x8b, 0x65, 0xa0, //0x00001c3d movq $-96(%rbp), %r12 + 0x4c, 0x8b, 0x75, 0xd0, //0x00001c41 movq $-48(%rbp), %r14 + 0x48, 0x83, 0xfb, 0x20, //0x00001c45 cmpq $32, %rbx + 0x0f, 0x82, 0x9c, 0x06, 0x00, 0x00, //0x00001c49 jb LBB0_420 + //0x00001c4f LBB0_121 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001c4f vmovdqu (%r12), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001c55 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf1, //0x00001c59 vpmovmskb %ymm1, %esi + 0xc5, 0xfd, 0x74, 0xcf, //0x00001c5d vpcmpeqb %ymm7, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc9, //0x00001c61 vpmovmskb %ymm1, %ecx + 0xc5, 0xbd, 0x64, 0xc8, //0x00001c65 vpcmpgtb %ymm0, %ymm8, %ymm1 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001c69 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00001c6e vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xc8, //0x00001c72 vpmovmskb %ymm0, %r9d + 0x85, 0xc9, //0x00001c76 testl %ecx, %ecx + 0x0f, 0x85, 0xc9, 0x05, 0x00, 0x00, //0x00001c78 jne LBB0_411 + 0x4d, 0x85, 0xff, //0x00001c7e testq %r15, %r15 + 0x0f, 0x85, 0xd8, 0x05, 0x00, 0x00, //0x00001c81 jne LBB0_413 + 0x45, 0x31, 0xff, //0x00001c87 xorl %r15d, %r15d + 0x48, 0x85, 0xf6, //0x00001c8a testq %rsi, %rsi + 0x0f, 0x84, 0x17, 0x06, 0x00, 0x00, //0x00001c8d je LBB0_414 + //0x00001c93 LBB0_124 + 0x48, 0x0f, 0xbc, 0xce, //0x00001c93 bsfq %rsi, %rcx + 0xe9, 0x13, 0x06, 0x00, 0x00, //0x00001c97 jmp LBB0_415 + //0x00001c9c LBB0_348 + 0x49, 0x89, 0xce, //0x00001c9c movq %rcx, %r14 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001c9f movq $-1, %rcx + 0x4d, 0x85, 0xe4, //0x00001ca6 testq %r12, %r12 + 0x0f, 0x85, 0xff, 0xf2, 0xff, 0xff, //0x00001ca9 jne LBB0_188 + 0xe9, 0xed, 0x0a, 0x00, 0x00, //0x00001caf jmp LBB0_480 + //0x00001cb4 LBB0_349 + 0x4d, 0x29, 0xca, //0x00001cb4 subq %r9, %r10 + 0x44, 0x0f, 0xbc, 0xfb, //0x00001cb7 bsfl %ebx, %r15d + 0x4d, 0x01, 0xd7, //0x00001cbb addq %r10, %r15 + 0x49, 0xf7, 0xd7, //0x00001cbe notq %r15 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001cc1 movq $-72(%rbp), %r10 + 0xe9, 0x85, 0xfe, 0xff, 0xff, //0x00001cc5 jmp LBB0_342 + //0x00001cca LBB0_350 + 0x48, 0xf7, 0xd6, //0x00001cca notq %rsi + 0x49, 0x89, 0xf6, //0x00001ccd movq %rsi, %r14 + 0xe9, 0xdb, 0xf3, 0xff, 0xff, //0x00001cd0 jmp LBB0_197 + //0x00001cd5 LBB0_351 + 0x48, 0xf7, 0xd2, //0x00001cd5 notq %rdx + 0x49, 0x89, 0xd7, //0x00001cd8 movq %rdx, %r15 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001cdb movq $-72(%rbp), %r10 + 0xe9, 0x6b, 0xfe, 0xff, 0xff, //0x00001cdf jmp LBB0_342 + //0x00001ce4 LBB0_218 + 0x4c, 0x89, 0xf9, //0x00001ce4 movq %r15, %rcx + 0x4c, 0x89, 0xd3, //0x00001ce7 movq %r10, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00001cea cmpq $32, %rcx + 0x0f, 0x82, 0xfe, 0x07, 0x00, 0x00, //0x00001cee jb LBB0_442 + //0x00001cf4 LBB0_219 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001cf4 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001cf8 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x00001cfc vpmovmskb %ymm1, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001d00 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00001d04 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00001d08 testl %esi, %esi + 0x0f, 0x85, 0x6b, 0x07, 0x00, 0x00, //0x00001d0a jne LBB0_437 + 0x4d, 0x85, 0xf6, //0x00001d10 testq %r14, %r14 + 0x0f, 0x85, 0x81, 0x07, 0x00, 0x00, //0x00001d13 jne LBB0_439 + 0x45, 0x31, 0xf6, //0x00001d19 xorl %r14d, %r14d + 0x48, 0x85, 0xd2, //0x00001d1c testq %rdx, %rdx + 0x0f, 0x84, 0xc5, 0x07, 0x00, 0x00, //0x00001d1f je LBB0_441 + //0x00001d25 LBB0_224 + 0x4d, 0x89, 0xe2, //0x00001d25 movq %r12, %r10 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001d28 bsfq %rdx, %rax + 0x4c, 0x29, 0xcb, //0x00001d2c subq %r9, %rbx + 0x4c, 0x8d, 0x64, 0x03, 0x01, //0x00001d2f leaq $1(%rbx,%rax), %r12 + 0x4c, 0x8b, 0x75, 0xd0, //0x00001d34 movq $-48(%rbp), %r14 + //0x00001d38 LBB0_323 + 0x4d, 0x85, 0xe4, //0x00001d38 testq %r12, %r12 + 0x0f, 0x88, 0x43, 0x0a, 0x00, 0x00, //0x00001d3b js LBB0_477 + 0x4d, 0x89, 0x65, 0x00, //0x00001d41 movq %r12, (%r13) + 0x4c, 0x89, 0xc1, //0x00001d45 movq %r8, %rcx + 0x4d, 0x85, 0xd2, //0x00001d48 testq %r10, %r10 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001d4b movq $-72(%rbp), %r10 + 0x0f, 0x8f, 0x1b, 0xe5, 0xff, 0xff, //0x00001d4f jg LBB0_3 + 0xe9, 0x5f, 0x0a, 0x00, 0x00, //0x00001d55 jmp LBB0_498 + //0x00001d5a LBB0_359 + 0x49, 0xf7, 0xde, //0x00001d5a negq %r14 + 0xe9, 0x4e, 0xf3, 0xff, 0xff, //0x00001d5d jmp LBB0_197 + //0x00001d62 LBB0_259 + 0x4c, 0x89, 0xf3, //0x00001d62 movq %r14, %rbx + 0x4c, 0x8b, 0x65, 0xa0, //0x00001d65 movq $-96(%rbp), %r12 + 0x48, 0x83, 0xfb, 0x20, //0x00001d69 cmpq $32, %rbx + 0x4c, 0x8b, 0x75, 0xd0, //0x00001d6d movq $-48(%rbp), %r14 + 0x0f, 0x82, 0xb1, 0x08, 0x00, 0x00, //0x00001d71 jb LBB0_459 + //0x00001d77 LBB0_260 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001d77 vmovdqu (%r12), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001d7d vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf1, //0x00001d81 vpmovmskb %ymm1, %esi + 0xc5, 0xfd, 0x74, 0xcf, //0x00001d85 vpcmpeqb %ymm7, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc9, //0x00001d89 vpmovmskb %ymm1, %ecx + 0xc5, 0xbd, 0x64, 0xc8, //0x00001d8d vpcmpgtb %ymm0, %ymm8, %ymm1 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001d91 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00001d96 vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xc8, //0x00001d9a vpmovmskb %ymm0, %r9d + 0x85, 0xc9, //0x00001d9e testl %ecx, %ecx + 0x0f, 0x85, 0xde, 0x07, 0x00, 0x00, //0x00001da0 jne LBB0_451 + 0x4d, 0x85, 0xff, //0x00001da6 testq %r15, %r15 + 0x0f, 0x85, 0xed, 0x07, 0x00, 0x00, //0x00001da9 jne LBB0_453 + 0x45, 0x31, 0xff, //0x00001daf xorl %r15d, %r15d + 0x48, 0x85, 0xf6, //0x00001db2 testq %rsi, %rsi + 0x0f, 0x84, 0x2c, 0x08, 0x00, 0x00, //0x00001db5 je LBB0_454 + //0x00001dbb LBB0_263 + 0x48, 0x0f, 0xbc, 0xce, //0x00001dbb bsfq %rsi, %rcx + 0xe9, 0x28, 0x08, 0x00, 0x00, //0x00001dbf jmp LBB0_455 + //0x00001dc4 LBB0_352 + 0x4d, 0x29, 0xcf, //0x00001dc4 subq %r9, %r15 + 0x0f, 0xbc, 0xc3, //0x00001dc7 bsfl %ebx, %eax + 0x4c, 0x01, 0xf8, //0x00001dca addq %r15, %rax + 0x48, 0xf7, 0xd0, //0x00001dcd notq %rax + 0x49, 0x89, 0xc7, //0x00001dd0 movq %rax, %r15 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001dd3 movq $-72(%rbp), %r10 + 0xe9, 0x73, 0xfd, 0xff, 0xff, //0x00001dd7 jmp LBB0_342 + //0x00001ddc LBB0_353 + 0x48, 0xf7, 0xd7, //0x00001ddc notq %rdi + 0x49, 0x89, 0xff, //0x00001ddf movq %rdi, %r15 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001de2 movq $-72(%rbp), %r10 + 0xe9, 0x64, 0xfd, 0xff, 0xff, //0x00001de6 jmp LBB0_342 + //0x00001deb LBB0_354 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001deb movq $-1, %rax + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001df2 movq $-1, %r12 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00001df9 movq $-1, %r13 + 0x4d, 0x89, 0xfe, //0x00001e00 movq %r15, %r14 + 0x49, 0x83, 0xfa, 0x10, //0x00001e03 cmpq $16, %r10 + 0x0f, 0x83, 0xa1, 0xea, 0xff, 0xff, //0x00001e07 jae LBB0_151 + 0xe9, 0xee, 0xeb, 0xff, 0xff, //0x00001e0d jmp LBB0_169 + //0x00001e12 LBB0_355 + 0x4d, 0x89, 0xcb, //0x00001e12 movq %r9, %r11 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00001e15 movq $-1, %r13 + 0x45, 0x31, 0xf6, //0x00001e1c xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00001e1f cmpq $32, %rcx + 0x0f, 0x83, 0x40, 0xfc, 0xff, 0xff, //0x00001e23 jae LBB0_56 + 0xe9, 0x38, 0x01, 0x00, 0x00, //0x00001e29 jmp LBB0_370 + //0x00001e2e LBB0_356 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00001e2e movq $-1, %r13 + 0x45, 0x31, 0xff, //0x00001e35 xorl %r15d, %r15d + 0x49, 0x83, 0xfa, 0x20, //0x00001e38 cmpq $32, %r10 + 0x0f, 0x83, 0xa0, 0xfc, 0xff, 0xff, //0x00001e3c jae LBB0_83 + 0xe9, 0x57, 0x02, 0x00, 0x00, //0x00001e42 jmp LBB0_388 + //0x00001e47 LBB0_357 + 0x49, 0x89, 0xcf, //0x00001e47 movq %rcx, %r15 + 0x4d, 0x85, 0xdb, //0x00001e4a testq %r11, %r11 + 0x0f, 0x85, 0x0a, 0xfb, 0xff, 0xff, //0x00001e4d jne LBB0_327 + 0xe9, 0xe5, 0x0a, 0x00, 0x00, //0x00001e53 jmp LBB0_494 + //0x00001e58 LBB0_358 + 0x48, 0xf7, 0xd6, //0x00001e58 notq %rsi + 0x49, 0x89, 0xf7, //0x00001e5b movq %rsi, %r15 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001e5e movq $-72(%rbp), %r10 + 0xe9, 0xe8, 0xfc, 0xff, 0xff, //0x00001e62 jmp LBB0_342 + //0x00001e67 LBB0_360 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001e67 movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00001e6e xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00001e71 cmpq $32, %rcx + 0x0f, 0x83, 0x3a, 0xfd, 0xff, 0xff, //0x00001e75 jae LBB0_102 + 0xe9, 0x35, 0x03, 0x00, 0x00, //0x00001e7b jmp LBB0_402 + //0x00001e80 LBB0_361 + 0x49, 0x89, 0xc2, //0x00001e80 movq %rax, %r10 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001e83 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x00001e8a xorl %r15d, %r15d + 0x48, 0x83, 0xfb, 0x20, //0x00001e8d cmpq $32, %rbx + 0x0f, 0x83, 0xb8, 0xfd, 0xff, 0xff, //0x00001e91 jae LBB0_121 + 0xe9, 0x4f, 0x04, 0x00, 0x00, //0x00001e97 jmp LBB0_420 + //0x00001e9c LBB0_365 + 0x49, 0xf7, 0xdf, //0x00001e9c negq %r15 + 0xe9, 0xab, 0xfc, 0xff, 0xff, //0x00001e9f jmp LBB0_342 + //0x00001ea4 LBB0_362 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001ea4 movq $-1, %rax + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001eab movq $-1, %r11 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001eb2 movq $-1, %r12 + 0x4d, 0x89, 0xcf, //0x00001eb9 movq %r9, %r15 + 0xe9, 0xec, 0xf7, 0xff, 0xff, //0x00001ebc jmp LBB0_290 + //0x00001ec1 LBB0_363 + 0x49, 0x89, 0xd1, //0x00001ec1 movq %rdx, %r9 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001ec4 movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00001ecb xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00001ece cmpq $32, %rcx + 0x0f, 0x83, 0x1c, 0xfe, 0xff, 0xff, //0x00001ed2 jae LBB0_219 + 0xe9, 0x15, 0x06, 0x00, 0x00, //0x00001ed8 jmp LBB0_442 + //0x00001edd LBB0_364 + 0x49, 0x89, 0xc2, //0x00001edd movq %rax, %r10 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001ee0 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x00001ee7 xorl %r15d, %r15d + 0x48, 0x83, 0xfb, 0x20, //0x00001eea cmpq $32, %rbx + 0x4c, 0x8b, 0x75, 0xd0, //0x00001eee movq $-48(%rbp), %r14 + 0x0f, 0x83, 0x7f, 0xfe, 0xff, 0xff, //0x00001ef2 jae LBB0_260 + 0xe9, 0x2b, 0x07, 0x00, 0x00, //0x00001ef8 jmp LBB0_459 + //0x00001efd LBB0_366 + 0x49, 0x83, 0xfd, 0xff, //0x00001efd cmpq $-1, %r13 + 0x0f, 0x85, 0x0d, 0x00, 0x00, 0x00, //0x00001f01 jne LBB0_368 + 0x48, 0x89, 0xd8, //0x00001f07 movq %rbx, %rax + 0x4c, 0x29, 0xd8, //0x00001f0a subq %r11, %rax + 0x4c, 0x0f, 0xbc, 0xee, //0x00001f0d bsfq %rsi, %r13 + 0x49, 0x01, 0xc5, //0x00001f11 addq %rax, %r13 + //0x00001f14 LBB0_368 + 0x44, 0x89, 0xf0, //0x00001f14 movl %r14d, %eax + 0xf7, 0xd0, //0x00001f17 notl %eax + 0x21, 0xf0, //0x00001f19 andl %esi, %eax + 0x44, 0x8d, 0x0c, 0x00, //0x00001f1b leal (%rax,%rax), %r9d + 0x45, 0x09, 0xf1, //0x00001f1f orl %r14d, %r9d + 0x44, 0x89, 0xcf, //0x00001f22 movl %r9d, %edi + 0xf7, 0xd7, //0x00001f25 notl %edi + 0x21, 0xf7, //0x00001f27 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f29 andl $-1431655766, %edi + 0x45, 0x31, 0xf6, //0x00001f2f xorl %r14d, %r14d + 0x01, 0xc7, //0x00001f32 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc6, //0x00001f34 setb %r14b + 0x01, 0xff, //0x00001f38 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00001f3a xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x00001f40 andl %r9d, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00001f43 movl $4294967295, %eax + 0x31, 0xf8, //0x00001f48 xorl %edi, %eax + 0x21, 0xc2, //0x00001f4a andl %eax, %edx + 0x4c, 0x8b, 0x55, 0xb8, //0x00001f4c movq $-72(%rbp), %r10 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00001f50 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xd2, //0x00001f55 testq %rdx, %rdx + 0x0f, 0x85, 0x3c, 0xfb, 0xff, 0xff, //0x00001f58 jne LBB0_61 + //0x00001f5e LBB0_369 + 0x48, 0x83, 0xc3, 0x20, //0x00001f5e addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x00001f62 addq $-32, %rcx + //0x00001f66 LBB0_370 + 0x4d, 0x85, 0xf6, //0x00001f66 testq %r14, %r14 + 0x0f, 0x85, 0x1c, 0x04, 0x00, 0x00, //0x00001f69 jne LBB0_429 + 0x4c, 0x8b, 0x75, 0xd0, //0x00001f6f movq $-48(%rbp), %r14 + 0x48, 0x85, 0xc9, //0x00001f73 testq %rcx, %rcx + 0x0f, 0x84, 0xec, 0x07, 0x00, 0x00, //0x00001f76 je LBB0_475 + //0x00001f7c LBB0_372 + 0x4c, 0x89, 0xdf, //0x00001f7c movq %r11, %rdi + 0x48, 0xf7, 0xd7, //0x00001f7f notq %rdi + //0x00001f82 LBB0_373 + 0x4c, 0x8d, 0x63, 0x01, //0x00001f82 leaq $1(%rbx), %r12 + 0x0f, 0xb6, 0x13, //0x00001f86 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x00001f89 cmpb $34, %dl + 0x0f, 0x84, 0x5b, 0x00, 0x00, 0x00, //0x00001f8c je LBB0_378 + 0x48, 0x8d, 0x71, 0xff, //0x00001f92 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00001f96 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001f99 je LBB0_376 + 0x48, 0x89, 0xf1, //0x00001f9f movq %rsi, %rcx + 0x4c, 0x89, 0xe3, //0x00001fa2 movq %r12, %rbx + 0x48, 0x85, 0xf6, //0x00001fa5 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00001fa8 jne LBB0_373 + 0xe9, 0xb5, 0x07, 0x00, 0x00, //0x00001fae jmp LBB0_475 + //0x00001fb3 LBB0_376 + 0x48, 0x85, 0xf6, //0x00001fb3 testq %rsi, %rsi + 0x0f, 0x84, 0xac, 0x07, 0x00, 0x00, //0x00001fb6 je LBB0_475 + 0x49, 0x01, 0xfc, //0x00001fbc addq %rdi, %r12 + 0x49, 0x83, 0xfd, 0xff, //0x00001fbf cmpq $-1, %r13 + 0x4d, 0x0f, 0x44, 0xec, //0x00001fc3 cmoveq %r12, %r13 + 0x48, 0x83, 0xc3, 0x02, //0x00001fc7 addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x00001fcb addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00001fcf movq %rcx, %rsi + 0x4c, 0x8b, 0x55, 0xb8, //0x00001fd2 movq $-72(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xd0, //0x00001fd6 movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00001fda vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x00001fdf testq %rsi, %rsi + 0x0f, 0x85, 0x9a, 0xff, 0xff, 0xff, //0x00001fe2 jne LBB0_373 + 0xe9, 0x7b, 0x07, 0x00, 0x00, //0x00001fe8 jmp LBB0_475 + //0x00001fed LBB0_378 + 0x4d, 0x29, 0xdc, //0x00001fed subq %r11, %r12 + 0xe9, 0xb5, 0xfa, 0xff, 0xff, //0x00001ff0 jmp LBB0_184 + //0x00001ff5 LBB0_379 + 0x49, 0x83, 0xfd, 0xff, //0x00001ff5 cmpq $-1, %r13 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00001ff9 jne LBB0_381 + 0x4c, 0x89, 0xe2, //0x00001fff movq %r12, %rdx + 0x48, 0x2b, 0x55, 0xc8, //0x00002002 subq $-56(%rbp), %rdx + 0x4c, 0x0f, 0xbc, 0xe9, //0x00002006 bsfq %rcx, %r13 + 0x49, 0x01, 0xd5, //0x0000200a addq %rdx, %r13 + //0x0000200d LBB0_381 + 0x44, 0x89, 0xfa, //0x0000200d movl %r15d, %edx + 0xf7, 0xd2, //0x00002010 notl %edx + 0x21, 0xca, //0x00002012 andl %ecx, %edx + 0x8d, 0x1c, 0x12, //0x00002014 leal (%rdx,%rdx), %ebx + 0x44, 0x09, 0xfb, //0x00002017 orl %r15d, %ebx + 0x89, 0xdf, //0x0000201a movl %ebx, %edi + 0xf7, 0xd7, //0x0000201c notl %edi + 0x21, 0xcf, //0x0000201e andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002020 andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x00002026 xorl %r15d, %r15d + 0x01, 0xd7, //0x00002029 addl %edx, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x0000202b setb %r15b + 0x01, 0xff, //0x0000202f addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00002031 xorl $1431655765, %edi + 0x21, 0xdf, //0x00002037 andl %ebx, %edi + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x00002039 movl $4294967295, %ecx + 0x31, 0xf9, //0x0000203e xorl %edi, %ecx + 0x21, 0xce, //0x00002040 andl %ecx, %esi + 0x4c, 0x8b, 0x75, 0xd0, //0x00002042 movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002046 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x0000204b testq %rsi, %rsi + 0x0f, 0x85, 0xd2, 0xfa, 0xff, 0xff, //0x0000204e jne LBB0_86 + //0x00002054 LBB0_382 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00002054 movl $64, %ecx + //0x00002059 LBB0_383 + 0x49, 0x0f, 0xbc, 0xd1, //0x00002059 bsfq %r9, %rdx + 0x45, 0x85, 0xc9, //0x0000205d testl %r9d, %r9d + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x00002060 movl $64, %edi + 0x48, 0x0f, 0x45, 0xfa, //0x00002065 cmovneq %rdx, %rdi + 0x48, 0x85, 0xf6, //0x00002069 testq %rsi, %rsi + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x0000206c je LBB0_386 + 0x4c, 0x2b, 0x65, 0xc8, //0x00002072 subq $-56(%rbp), %r12 + 0x48, 0x39, 0xcf, //0x00002076 cmpq %rcx, %rdi + 0x0f, 0x82, 0x0e, 0x09, 0x00, 0x00, //0x00002079 jb LBB0_508 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x0000207f leaq $1(%r12,%rcx), %r12 + 0x4c, 0x8b, 0x55, 0xb8, //0x00002084 movq $-72(%rbp), %r10 + 0xe9, 0x1d, 0xfa, 0xff, 0xff, //0x00002088 jmp LBB0_184 + //0x0000208d LBB0_386 + 0x45, 0x85, 0xc9, //0x0000208d testl %r9d, %r9d + 0x0f, 0x85, 0x09, 0x09, 0x00, 0x00, //0x00002090 jne LBB0_509 + 0x49, 0x83, 0xc4, 0x20, //0x00002096 addq $32, %r12 + 0x49, 0x83, 0xc2, 0xe0, //0x0000209a addq $-32, %r10 + //0x0000209e LBB0_388 + 0x4d, 0x85, 0xff, //0x0000209e testq %r15, %r15 + 0x0f, 0x85, 0x1f, 0x03, 0x00, 0x00, //0x000020a1 jne LBB0_431 + 0x48, 0x8b, 0x45, 0xc8, //0x000020a7 movq $-56(%rbp), %rax + 0x4d, 0x85, 0xd2, //0x000020ab testq %r10, %r10 + 0x0f, 0x84, 0xb4, 0x06, 0x00, 0x00, //0x000020ae je LBB0_475 + //0x000020b4 LBB0_390 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x000020b4 movzbl (%r12), %ecx + 0x80, 0xf9, 0x22, //0x000020b9 cmpb $34, %cl + 0x0f, 0x84, 0x6d, 0x00, 0x00, 0x00, //0x000020bc je LBB0_396 + 0x80, 0xf9, 0x5c, //0x000020c2 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x000020c5 je LBB0_394 + 0x80, 0xf9, 0x1f, //0x000020cb cmpb $31, %cl + 0x0f, 0x86, 0xe9, 0x08, 0x00, 0x00, //0x000020ce jbe LBB0_510 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000020d4 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x000020db movl $1, %edx + 0x49, 0x01, 0xd4, //0x000020e0 addq %rdx, %r12 + 0x49, 0x01, 0xca, //0x000020e3 addq %rcx, %r10 + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x000020e6 jne LBB0_390 + 0xe9, 0x77, 0x06, 0x00, 0x00, //0x000020ec jmp LBB0_475 + //0x000020f1 LBB0_394 + 0x49, 0x83, 0xfa, 0x01, //0x000020f1 cmpq $1, %r10 + 0x0f, 0x84, 0x6d, 0x06, 0x00, 0x00, //0x000020f5 je LBB0_475 + 0x4c, 0x89, 0xe1, //0x000020fb movq %r12, %rcx + 0x48, 0x29, 0xc1, //0x000020fe subq %rax, %rcx + 0x49, 0x83, 0xfd, 0xff, //0x00002101 cmpq $-1, %r13 + 0x4c, 0x0f, 0x44, 0xe9, //0x00002105 cmoveq %rcx, %r13 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002109 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00002110 movl $2, %edx + 0x4c, 0x8b, 0x75, 0xd0, //0x00002115 movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002119 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x49, 0x01, 0xd4, //0x0000211e addq %rdx, %r12 + 0x49, 0x01, 0xca, //0x00002121 addq %rcx, %r10 + 0x0f, 0x85, 0x8a, 0xff, 0xff, 0xff, //0x00002124 jne LBB0_390 + 0xe9, 0x39, 0x06, 0x00, 0x00, //0x0000212a jmp LBB0_475 + //0x0000212f LBB0_396 + 0x49, 0x29, 0xc4, //0x0000212f subq %rax, %r12 + 0x49, 0xff, 0xc4, //0x00002132 incq %r12 + 0x4c, 0x8b, 0x55, 0xb8, //0x00002135 movq $-72(%rbp), %r10 + 0xe9, 0x6c, 0xf9, 0xff, 0xff, //0x00002139 jmp LBB0_184 + //0x0000213e LBB0_397 + 0x4d, 0x89, 0xca, //0x0000213e movq %r9, %r10 + 0x49, 0x83, 0xfb, 0xff, //0x00002141 cmpq $-1, %r11 + 0x0f, 0x85, 0x15, 0x00, 0x00, 0x00, //0x00002145 jne LBB0_400 + 0x48, 0x89, 0xd8, //0x0000214b movq %rbx, %rax + 0x4c, 0x29, 0xd0, //0x0000214e subq %r10, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x00002151 bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x00002155 addq %rax, %r11 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00002158 jmp LBB0_400 + //0x0000215d LBB0_399 + 0x4d, 0x89, 0xca, //0x0000215d movq %r9, %r10 + //0x00002160 LBB0_400 + 0x44, 0x89, 0xf0, //0x00002160 movl %r14d, %eax + 0xf7, 0xd0, //0x00002163 notl %eax + 0x21, 0xf0, //0x00002165 andl %esi, %eax + 0x44, 0x8d, 0x0c, 0x00, //0x00002167 leal (%rax,%rax), %r9d + 0x45, 0x09, 0xf1, //0x0000216b orl %r14d, %r9d + 0x44, 0x89, 0xcf, //0x0000216e movl %r9d, %edi + 0xf7, 0xd7, //0x00002171 notl %edi + 0x21, 0xf7, //0x00002173 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002175 andl $-1431655766, %edi + 0x45, 0x31, 0xf6, //0x0000217b xorl %r14d, %r14d + 0x01, 0xc7, //0x0000217e addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc6, //0x00002180 setb %r14b + 0x01, 0xff, //0x00002184 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00002186 xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x0000218c andl %r9d, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x0000218f movl $4294967295, %eax + 0x31, 0xf8, //0x00002194 xorl %edi, %eax + 0x21, 0xc2, //0x00002196 andl %eax, %edx + 0x4c, 0x8b, 0x6d, 0xc0, //0x00002198 movq $-64(%rbp), %r13 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000219c vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x4d, 0x89, 0xd1, //0x000021a1 movq %r10, %r9 + 0x48, 0x85, 0xd2, //0x000021a4 testq %rdx, %rdx + 0x0f, 0x85, 0x39, 0xfa, 0xff, 0xff, //0x000021a7 jne LBB0_107 + //0x000021ad LBB0_401 + 0x48, 0x83, 0xc3, 0x20, //0x000021ad addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x000021b1 addq $-32, %rcx + //0x000021b5 LBB0_402 + 0x4d, 0x85, 0xf6, //0x000021b5 testq %r14, %r14 + 0x0f, 0x85, 0x43, 0x02, 0x00, 0x00, //0x000021b8 jne LBB0_433 + 0x4c, 0x8b, 0x75, 0xd0, //0x000021be movq $-48(%rbp), %r14 + 0x48, 0x85, 0xc9, //0x000021c2 testq %rcx, %rcx + 0x0f, 0x84, 0xc3, 0x05, 0x00, 0x00, //0x000021c5 je LBB0_478 + //0x000021cb LBB0_404 + 0x4d, 0x89, 0xe2, //0x000021cb movq %r12, %r10 + 0x4c, 0x89, 0xcf, //0x000021ce movq %r9, %rdi + 0x48, 0xf7, 0xd7, //0x000021d1 notq %rdi + //0x000021d4 LBB0_405 + 0x4c, 0x8d, 0x63, 0x01, //0x000021d4 leaq $1(%rbx), %r12 + 0x0f, 0xb6, 0x13, //0x000021d8 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x000021db cmpb $34, %dl + 0x0f, 0x84, 0x5b, 0x00, 0x00, 0x00, //0x000021de je LBB0_410 + 0x48, 0x8d, 0x71, 0xff, //0x000021e4 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x000021e8 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000021eb je LBB0_408 + 0x48, 0x89, 0xf1, //0x000021f1 movq %rsi, %rcx + 0x4c, 0x89, 0xe3, //0x000021f4 movq %r12, %rbx + 0x48, 0x85, 0xf6, //0x000021f7 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x000021fa jne LBB0_405 + 0xe9, 0x89, 0x05, 0x00, 0x00, //0x00002200 jmp LBB0_478 + //0x00002205 LBB0_408 + 0x48, 0x85, 0xf6, //0x00002205 testq %rsi, %rsi + 0x0f, 0x84, 0xcb, 0x07, 0x00, 0x00, //0x00002208 je LBB0_513 + 0x49, 0x01, 0xfc, //0x0000220e addq %rdi, %r12 + 0x49, 0x83, 0xfb, 0xff, //0x00002211 cmpq $-1, %r11 + 0x4d, 0x0f, 0x44, 0xdc, //0x00002215 cmoveq %r12, %r11 + 0x48, 0x83, 0xc3, 0x02, //0x00002219 addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x0000221d addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00002221 movq %rcx, %rsi + 0x4c, 0x8b, 0x6d, 0xc0, //0x00002224 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xd0, //0x00002228 movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000222c vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x00002231 testq %rsi, %rsi + 0x0f, 0x85, 0x9a, 0xff, 0xff, 0xff, //0x00002234 jne LBB0_405 + 0xe9, 0x4f, 0x05, 0x00, 0x00, //0x0000223a jmp LBB0_478 + //0x0000223f LBB0_410 + 0x4d, 0x29, 0xcc, //0x0000223f subq %r9, %r12 + 0xe9, 0xb2, 0xf9, 0xff, 0xff, //0x00002242 jmp LBB0_205 + //0x00002247 LBB0_411 + 0x49, 0x83, 0xfb, 0xff, //0x00002247 cmpq $-1, %r11 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000224b jne LBB0_413 + 0x4c, 0x89, 0xe0, //0x00002251 movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc8, //0x00002254 subq $-56(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x00002258 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x0000225c addq %rax, %r11 + //0x0000225f LBB0_413 + 0x44, 0x89, 0xf8, //0x0000225f movl %r15d, %eax + 0xf7, 0xd0, //0x00002262 notl %eax + 0x21, 0xc8, //0x00002264 andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x00002266 leal (%rax,%rax), %edx + 0x44, 0x09, 0xfa, //0x00002269 orl %r15d, %edx + 0x89, 0xd7, //0x0000226c movl %edx, %edi + 0xf7, 0xd7, //0x0000226e notl %edi + 0x21, 0xcf, //0x00002270 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002272 andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x00002278 xorl %r15d, %r15d + 0x01, 0xc7, //0x0000227b addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x0000227d setb %r15b + 0x01, 0xff, //0x00002281 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00002283 xorl $1431655765, %edi + 0x21, 0xd7, //0x00002289 andl %edx, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x0000228b movl $4294967295, %eax + 0x31, 0xf8, //0x00002290 xorl %edi, %eax + 0x21, 0xc6, //0x00002292 andl %eax, %esi + 0x4c, 0x8b, 0x6d, 0xc0, //0x00002294 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xd0, //0x00002298 movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000229c vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x000022a1 testq %rsi, %rsi + 0x0f, 0x85, 0xe9, 0xf9, 0xff, 0xff, //0x000022a4 jne LBB0_124 + //0x000022aa LBB0_414 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000022aa movl $64, %ecx + //0x000022af LBB0_415 + 0x49, 0x0f, 0xbc, 0xd1, //0x000022af bsfq %r9, %rdx + 0x45, 0x85, 0xc9, //0x000022b3 testl %r9d, %r9d + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x000022b6 movl $64, %edi + 0x48, 0x0f, 0x45, 0xfa, //0x000022bb cmovneq %rdx, %rdi + 0x48, 0x85, 0xf6, //0x000022bf testq %rsi, %rsi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000022c2 je LBB0_418 + 0x4c, 0x2b, 0x65, 0xc8, //0x000022c8 subq $-56(%rbp), %r12 + 0x48, 0x39, 0xcf, //0x000022cc cmpq %rcx, %rdi + 0x0f, 0x83, 0x2d, 0xee, 0xff, 0xff, //0x000022cf jae LBB0_204 + 0xe9, 0xd1, 0x06, 0x00, 0x00, //0x000022d5 jmp LBB0_417 + //0x000022da LBB0_418 + 0x45, 0x85, 0xc9, //0x000022da testl %r9d, %r9d + 0x0f, 0x85, 0xe2, 0x06, 0x00, 0x00, //0x000022dd jne LBB0_511 + 0x49, 0x83, 0xc4, 0x20, //0x000022e3 addq $32, %r12 + 0x48, 0x83, 0xc3, 0xe0, //0x000022e7 addq $-32, %rbx + //0x000022eb LBB0_420 + 0x4d, 0x85, 0xff, //0x000022eb testq %r15, %r15 + 0x0f, 0x85, 0x48, 0x01, 0x00, 0x00, //0x000022ee jne LBB0_435 + 0x48, 0x8b, 0x75, 0xc8, //0x000022f4 movq $-56(%rbp), %rsi + 0x48, 0x85, 0xdb, //0x000022f8 testq %rbx, %rbx + 0x0f, 0x84, 0x8d, 0x04, 0x00, 0x00, //0x000022fb je LBB0_478 + //0x00002301 LBB0_422 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x00002301 movzbl (%r12), %ecx + 0x80, 0xf9, 0x22, //0x00002306 cmpb $34, %cl + 0x0f, 0x84, 0x71, 0x00, 0x00, 0x00, //0x00002309 je LBB0_428 + 0x80, 0xf9, 0x5c, //0x0000230f cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00002312 je LBB0_426 + 0x80, 0xf9, 0x1f, //0x00002318 cmpb $31, %cl + 0x0f, 0x86, 0xb0, 0x06, 0x00, 0x00, //0x0000231b jbe LBB0_512 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00002321 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00002328 movl $1, %edx + 0x49, 0x01, 0xd4, //0x0000232d addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x00002330 addq %rcx, %rbx + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x00002333 jne LBB0_422 + 0xe9, 0x50, 0x04, 0x00, 0x00, //0x00002339 jmp LBB0_478 + //0x0000233e LBB0_426 + 0x48, 0x83, 0xfb, 0x01, //0x0000233e cmpq $1, %rbx + 0x0f, 0x84, 0x91, 0x06, 0x00, 0x00, //0x00002342 je LBB0_513 + 0x4c, 0x89, 0xe0, //0x00002348 movq %r12, %rax + 0x48, 0x29, 0xf0, //0x0000234b subq %rsi, %rax + 0x49, 0x83, 0xfb, 0xff, //0x0000234e cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x00002352 cmoveq %rax, %r11 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002356 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x0000235d movl $2, %edx + 0x4c, 0x8b, 0x6d, 0xc0, //0x00002362 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xd0, //0x00002366 movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000236a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x49, 0x01, 0xd4, //0x0000236f addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x00002372 addq %rcx, %rbx + 0x0f, 0x85, 0x86, 0xff, 0xff, 0xff, //0x00002375 jne LBB0_422 + 0xe9, 0x0e, 0x04, 0x00, 0x00, //0x0000237b jmp LBB0_478 + //0x00002380 LBB0_428 + 0x49, 0x29, 0xf4, //0x00002380 subq %rsi, %r12 + 0x49, 0xff, 0xc4, //0x00002383 incq %r12 + 0xe9, 0x6e, 0xf8, 0xff, 0xff, //0x00002386 jmp LBB0_205 + //0x0000238b LBB0_429 + 0x48, 0x85, 0xc9, //0x0000238b testq %rcx, %rcx + 0x0f, 0x84, 0xd4, 0x03, 0x00, 0x00, //0x0000238e je LBB0_475 + 0x4c, 0x89, 0xd8, //0x00002394 movq %r11, %rax + 0x48, 0xf7, 0xd0, //0x00002397 notq %rax + 0x48, 0x01, 0xd8, //0x0000239a addq %rbx, %rax + 0x49, 0x83, 0xfd, 0xff, //0x0000239d cmpq $-1, %r13 + 0x4c, 0x0f, 0x44, 0xe8, //0x000023a1 cmoveq %rax, %r13 + 0x48, 0xff, 0xc3, //0x000023a5 incq %rbx + 0x48, 0xff, 0xc9, //0x000023a8 decq %rcx + 0x4c, 0x8b, 0x55, 0xb8, //0x000023ab movq $-72(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xd0, //0x000023af movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000023b3 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xc9, //0x000023b8 testq %rcx, %rcx + 0x0f, 0x85, 0xbb, 0xfb, 0xff, 0xff, //0x000023bb jne LBB0_372 + 0xe9, 0xa2, 0x03, 0x00, 0x00, //0x000023c1 jmp LBB0_475 + //0x000023c6 LBB0_431 + 0x4d, 0x85, 0xd2, //0x000023c6 testq %r10, %r10 + 0x0f, 0x84, 0x99, 0x03, 0x00, 0x00, //0x000023c9 je LBB0_475 + 0x48, 0x8b, 0x45, 0xc8, //0x000023cf movq $-56(%rbp), %rax + 0x48, 0x89, 0xc1, //0x000023d3 movq %rax, %rcx + 0x48, 0xf7, 0xd1, //0x000023d6 notq %rcx + 0x4c, 0x01, 0xe1, //0x000023d9 addq %r12, %rcx + 0x49, 0x83, 0xfd, 0xff, //0x000023dc cmpq $-1, %r13 + 0x4c, 0x0f, 0x44, 0xe9, //0x000023e0 cmoveq %rcx, %r13 + 0x49, 0xff, 0xc4, //0x000023e4 incq %r12 + 0x49, 0xff, 0xca, //0x000023e7 decq %r10 + 0x4c, 0x8b, 0x75, 0xd0, //0x000023ea movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000023ee vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x4d, 0x85, 0xd2, //0x000023f3 testq %r10, %r10 + 0x0f, 0x85, 0xb8, 0xfc, 0xff, 0xff, //0x000023f6 jne LBB0_390 + 0xe9, 0x67, 0x03, 0x00, 0x00, //0x000023fc jmp LBB0_475 + //0x00002401 LBB0_433 + 0x48, 0x85, 0xc9, //0x00002401 testq %rcx, %rcx + 0x0f, 0x84, 0xcf, 0x05, 0x00, 0x00, //0x00002404 je LBB0_513 + 0x4c, 0x89, 0xc8, //0x0000240a movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x0000240d notq %rax + 0x48, 0x01, 0xd8, //0x00002410 addq %rbx, %rax + 0x49, 0x83, 0xfb, 0xff, //0x00002413 cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x00002417 cmoveq %rax, %r11 + 0x48, 0xff, 0xc3, //0x0000241b incq %rbx + 0x48, 0xff, 0xc9, //0x0000241e decq %rcx + 0x4c, 0x8b, 0x6d, 0xc0, //0x00002421 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xd0, //0x00002425 movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002429 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xc9, //0x0000242e testq %rcx, %rcx + 0x0f, 0x85, 0x94, 0xfd, 0xff, 0xff, //0x00002431 jne LBB0_404 + 0xe9, 0x52, 0x03, 0x00, 0x00, //0x00002437 jmp LBB0_478 + //0x0000243c LBB0_435 + 0x48, 0x85, 0xdb, //0x0000243c testq %rbx, %rbx + 0x0f, 0x84, 0x94, 0x05, 0x00, 0x00, //0x0000243f je LBB0_513 + 0x48, 0x8b, 0x75, 0xc8, //0x00002445 movq $-56(%rbp), %rsi + 0x48, 0x89, 0xf0, //0x00002449 movq %rsi, %rax + 0x48, 0xf7, 0xd0, //0x0000244c notq %rax + 0x4c, 0x01, 0xe0, //0x0000244f addq %r12, %rax + 0x49, 0x83, 0xfb, 0xff, //0x00002452 cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x00002456 cmoveq %rax, %r11 + 0x49, 0xff, 0xc4, //0x0000245a incq %r12 + 0x48, 0xff, 0xcb, //0x0000245d decq %rbx + 0x4c, 0x8b, 0x6d, 0xc0, //0x00002460 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xd0, //0x00002464 movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002468 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xdb, //0x0000246d testq %rbx, %rbx + 0x0f, 0x85, 0x8b, 0xfe, 0xff, 0xff, //0x00002470 jne LBB0_422 + 0xe9, 0x13, 0x03, 0x00, 0x00, //0x00002476 jmp LBB0_478 + //0x0000247b LBB0_437 + 0x4d, 0x89, 0xca, //0x0000247b movq %r9, %r10 + 0x49, 0x83, 0xfb, 0xff, //0x0000247e cmpq $-1, %r11 + 0x0f, 0x85, 0x15, 0x00, 0x00, 0x00, //0x00002482 jne LBB0_440 + 0x48, 0x89, 0xd8, //0x00002488 movq %rbx, %rax + 0x4c, 0x29, 0xd0, //0x0000248b subq %r10, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x0000248e bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x00002492 addq %rax, %r11 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00002495 jmp LBB0_440 + //0x0000249a LBB0_439 + 0x4d, 0x89, 0xca, //0x0000249a movq %r9, %r10 + //0x0000249d LBB0_440 + 0x44, 0x89, 0xf0, //0x0000249d movl %r14d, %eax + 0xf7, 0xd0, //0x000024a0 notl %eax + 0x21, 0xf0, //0x000024a2 andl %esi, %eax + 0x44, 0x8d, 0x0c, 0x00, //0x000024a4 leal (%rax,%rax), %r9d + 0x45, 0x09, 0xf1, //0x000024a8 orl %r14d, %r9d + 0x44, 0x89, 0xcf, //0x000024ab movl %r9d, %edi + 0xf7, 0xd7, //0x000024ae notl %edi + 0x21, 0xf7, //0x000024b0 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000024b2 andl $-1431655766, %edi + 0x45, 0x31, 0xf6, //0x000024b8 xorl %r14d, %r14d + 0x01, 0xc7, //0x000024bb addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc6, //0x000024bd setb %r14b + 0x01, 0xff, //0x000024c1 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000024c3 xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x000024c9 andl %r9d, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000024cc movl $4294967295, %eax + 0x31, 0xc7, //0x000024d1 xorl %eax, %edi + 0x21, 0xfa, //0x000024d3 andl %edi, %edx + 0x4c, 0x8b, 0x6d, 0xc0, //0x000024d5 movq $-64(%rbp), %r13 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000024d9 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x4d, 0x89, 0xd1, //0x000024de movq %r10, %r9 + 0x48, 0x85, 0xd2, //0x000024e1 testq %rdx, %rdx + 0x0f, 0x85, 0x3b, 0xf8, 0xff, 0xff, //0x000024e4 jne LBB0_224 + //0x000024ea LBB0_441 + 0x48, 0x83, 0xc3, 0x20, //0x000024ea addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x000024ee addq $-32, %rcx + //0x000024f2 LBB0_442 + 0x4d, 0x85, 0xf6, //0x000024f2 testq %r14, %r14 + 0x0f, 0x85, 0xcd, 0x01, 0x00, 0x00, //0x000024f5 jne LBB0_468 + 0x4c, 0x8b, 0x75, 0xd0, //0x000024fb movq $-48(%rbp), %r14 + 0x48, 0x85, 0xc9, //0x000024ff testq %rcx, %rcx + 0x0f, 0x84, 0x86, 0x02, 0x00, 0x00, //0x00002502 je LBB0_478 + //0x00002508 LBB0_444 + 0x4d, 0x89, 0xe2, //0x00002508 movq %r12, %r10 + 0x4c, 0x89, 0xcf, //0x0000250b movq %r9, %rdi + 0x48, 0xf7, 0xd7, //0x0000250e notq %rdi + //0x00002511 LBB0_445 + 0x4c, 0x8d, 0x63, 0x01, //0x00002511 leaq $1(%rbx), %r12 + 0x0f, 0xb6, 0x13, //0x00002515 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x00002518 cmpb $34, %dl + 0x0f, 0x84, 0x5b, 0x00, 0x00, 0x00, //0x0000251b je LBB0_450 + 0x48, 0x8d, 0x71, 0xff, //0x00002521 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00002525 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00002528 je LBB0_448 + 0x48, 0x89, 0xf1, //0x0000252e movq %rsi, %rcx + 0x4c, 0x89, 0xe3, //0x00002531 movq %r12, %rbx + 0x48, 0x85, 0xf6, //0x00002534 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00002537 jne LBB0_445 + 0xe9, 0x4c, 0x02, 0x00, 0x00, //0x0000253d jmp LBB0_478 + //0x00002542 LBB0_448 + 0x48, 0x85, 0xf6, //0x00002542 testq %rsi, %rsi + 0x0f, 0x84, 0x8e, 0x04, 0x00, 0x00, //0x00002545 je LBB0_513 + 0x49, 0x01, 0xfc, //0x0000254b addq %rdi, %r12 + 0x49, 0x83, 0xfb, 0xff, //0x0000254e cmpq $-1, %r11 + 0x4d, 0x0f, 0x44, 0xdc, //0x00002552 cmoveq %r12, %r11 + 0x48, 0x83, 0xc3, 0x02, //0x00002556 addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x0000255a addq $-2, %rcx + 0x48, 0x89, 0xce, //0x0000255e movq %rcx, %rsi + 0x4c, 0x8b, 0x6d, 0xc0, //0x00002561 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xd0, //0x00002565 movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002569 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x0000256e testq %rsi, %rsi + 0x0f, 0x85, 0x9a, 0xff, 0xff, 0xff, //0x00002571 jne LBB0_445 + 0xe9, 0x12, 0x02, 0x00, 0x00, //0x00002577 jmp LBB0_478 + //0x0000257c LBB0_450 + 0x4d, 0x29, 0xcc, //0x0000257c subq %r9, %r12 + 0xe9, 0xb4, 0xf7, 0xff, 0xff, //0x0000257f jmp LBB0_323 + //0x00002584 LBB0_451 + 0x49, 0x83, 0xfb, 0xff, //0x00002584 cmpq $-1, %r11 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00002588 jne LBB0_453 + 0x4c, 0x89, 0xe0, //0x0000258e movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc8, //0x00002591 subq $-56(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x00002595 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x00002599 addq %rax, %r11 + //0x0000259c LBB0_453 + 0x44, 0x89, 0xf8, //0x0000259c movl %r15d, %eax + 0xf7, 0xd0, //0x0000259f notl %eax + 0x21, 0xc8, //0x000025a1 andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x000025a3 leal (%rax,%rax), %edx + 0x44, 0x09, 0xfa, //0x000025a6 orl %r15d, %edx + 0x89, 0xd7, //0x000025a9 movl %edx, %edi + 0xf7, 0xd7, //0x000025ab notl %edi + 0x21, 0xcf, //0x000025ad andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000025af andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x000025b5 xorl %r15d, %r15d + 0x01, 0xc7, //0x000025b8 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x000025ba setb %r15b + 0x01, 0xff, //0x000025be addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000025c0 xorl $1431655765, %edi + 0x21, 0xd7, //0x000025c6 andl %edx, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000025c8 movl $4294967295, %eax + 0x31, 0xf8, //0x000025cd xorl %edi, %eax + 0x21, 0xc6, //0x000025cf andl %eax, %esi + 0x4c, 0x8b, 0x6d, 0xc0, //0x000025d1 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xd0, //0x000025d5 movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000025d9 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x000025de testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xf7, 0xff, 0xff, //0x000025e1 jne LBB0_263 + //0x000025e7 LBB0_454 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000025e7 movl $64, %ecx + //0x000025ec LBB0_455 + 0x49, 0x0f, 0xbc, 0xd1, //0x000025ec bsfq %r9, %rdx + 0x45, 0x85, 0xc9, //0x000025f0 testl %r9d, %r9d + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x000025f3 movl $64, %edi + 0x48, 0x0f, 0x45, 0xfa, //0x000025f8 cmovneq %rdx, %rdi + 0x48, 0x85, 0xf6, //0x000025fc testq %rsi, %rsi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000025ff je LBB0_457 + 0x4c, 0x2b, 0x65, 0xc8, //0x00002605 subq $-56(%rbp), %r12 + 0x48, 0x39, 0xcf, //0x00002609 cmpq %rcx, %rdi + 0x0f, 0x83, 0x31, 0xf3, 0xff, 0xff, //0x0000260c jae LBB0_322 + 0xe9, 0x94, 0x03, 0x00, 0x00, //0x00002612 jmp LBB0_417 + //0x00002617 LBB0_457 + 0x45, 0x85, 0xc9, //0x00002617 testl %r9d, %r9d + 0x0f, 0x85, 0xa5, 0x03, 0x00, 0x00, //0x0000261a jne LBB0_511 + 0x49, 0x83, 0xc4, 0x20, //0x00002620 addq $32, %r12 + 0x48, 0x83, 0xc3, 0xe0, //0x00002624 addq $-32, %rbx + //0x00002628 LBB0_459 + 0x4d, 0x85, 0xff, //0x00002628 testq %r15, %r15 + 0x0f, 0x85, 0xd2, 0x00, 0x00, 0x00, //0x0000262b jne LBB0_470 + 0x48, 0x8b, 0x75, 0xc8, //0x00002631 movq $-56(%rbp), %rsi + 0x48, 0x85, 0xdb, //0x00002635 testq %rbx, %rbx + 0x0f, 0x84, 0x50, 0x01, 0x00, 0x00, //0x00002638 je LBB0_478 + //0x0000263e LBB0_461 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x0000263e movzbl (%r12), %ecx + 0x80, 0xf9, 0x22, //0x00002643 cmpb $34, %cl + 0x0f, 0x84, 0x71, 0x00, 0x00, 0x00, //0x00002646 je LBB0_467 + 0x80, 0xf9, 0x5c, //0x0000264c cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x0000264f je LBB0_465 + 0x80, 0xf9, 0x1f, //0x00002655 cmpb $31, %cl + 0x0f, 0x86, 0x73, 0x03, 0x00, 0x00, //0x00002658 jbe LBB0_512 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000265e movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00002665 movl $1, %edx + 0x49, 0x01, 0xd4, //0x0000266a addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x0000266d addq %rcx, %rbx + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x00002670 jne LBB0_461 + 0xe9, 0x13, 0x01, 0x00, 0x00, //0x00002676 jmp LBB0_478 + //0x0000267b LBB0_465 + 0x48, 0x83, 0xfb, 0x01, //0x0000267b cmpq $1, %rbx + 0x0f, 0x84, 0x54, 0x03, 0x00, 0x00, //0x0000267f je LBB0_513 + 0x4c, 0x89, 0xe0, //0x00002685 movq %r12, %rax + 0x48, 0x29, 0xf0, //0x00002688 subq %rsi, %rax + 0x49, 0x83, 0xfb, 0xff, //0x0000268b cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x0000268f cmoveq %rax, %r11 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002693 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x0000269a movl $2, %edx + 0x4c, 0x8b, 0x6d, 0xc0, //0x0000269f movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xd0, //0x000026a3 movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000026a7 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x49, 0x01, 0xd4, //0x000026ac addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x000026af addq %rcx, %rbx + 0x0f, 0x85, 0x86, 0xff, 0xff, 0xff, //0x000026b2 jne LBB0_461 + 0xe9, 0xd1, 0x00, 0x00, 0x00, //0x000026b8 jmp LBB0_478 + //0x000026bd LBB0_467 + 0x49, 0x29, 0xf4, //0x000026bd subq %rsi, %r12 + 0x49, 0xff, 0xc4, //0x000026c0 incq %r12 + 0xe9, 0x70, 0xf6, 0xff, 0xff, //0x000026c3 jmp LBB0_323 + //0x000026c8 LBB0_468 + 0x48, 0x85, 0xc9, //0x000026c8 testq %rcx, %rcx + 0x0f, 0x84, 0x08, 0x03, 0x00, 0x00, //0x000026cb je LBB0_513 + 0x4c, 0x89, 0xc8, //0x000026d1 movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000026d4 notq %rax + 0x48, 0x01, 0xd8, //0x000026d7 addq %rbx, %rax + 0x49, 0x83, 0xfb, 0xff, //0x000026da cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x000026de cmoveq %rax, %r11 + 0x48, 0xff, 0xc3, //0x000026e2 incq %rbx + 0x48, 0xff, 0xc9, //0x000026e5 decq %rcx + 0x4c, 0x8b, 0x6d, 0xc0, //0x000026e8 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xd0, //0x000026ec movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000026f0 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xc9, //0x000026f5 testq %rcx, %rcx + 0x0f, 0x85, 0x0a, 0xfe, 0xff, 0xff, //0x000026f8 jne LBB0_444 + 0xe9, 0x8b, 0x00, 0x00, 0x00, //0x000026fe jmp LBB0_478 + //0x00002703 LBB0_470 + 0x48, 0x85, 0xdb, //0x00002703 testq %rbx, %rbx + 0x0f, 0x84, 0xcd, 0x02, 0x00, 0x00, //0x00002706 je LBB0_513 + 0x48, 0x8b, 0x75, 0xc8, //0x0000270c movq $-56(%rbp), %rsi + 0x48, 0x89, 0xf0, //0x00002710 movq %rsi, %rax + 0x48, 0xf7, 0xd0, //0x00002713 notq %rax + 0x4c, 0x01, 0xe0, //0x00002716 addq %r12, %rax + 0x49, 0x83, 0xfb, 0xff, //0x00002719 cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x0000271d cmoveq %rax, %r11 + 0x49, 0xff, 0xc4, //0x00002721 incq %r12 + 0x48, 0xff, 0xcb, //0x00002724 decq %rbx + 0x4c, 0x8b, 0x6d, 0xc0, //0x00002727 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xd0, //0x0000272b movq $-48(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000272f vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xdb, //0x00002734 testq %rbx, %rbx + 0x0f, 0x85, 0x01, 0xff, 0xff, 0xff, //0x00002737 jne LBB0_461 + 0xe9, 0x4c, 0x00, 0x00, 0x00, //0x0000273d jmp LBB0_478 + //0x00002742 LBB0_472 + 0x4d, 0x89, 0x45, 0x00, //0x00002742 movq %r8, (%r13) + //0x00002746 LBB0_473 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00002746 movq $-1, %rcx + 0xe9, 0x67, 0x00, 0x00, 0x00, //0x0000274d jmp LBB0_498 + //0x00002752 LBB0_486 + 0x48, 0xc7, 0xc1, 0xf9, 0xff, 0xff, 0xff, //0x00002752 movq $-7, %rcx + 0xe9, 0x5b, 0x00, 0x00, 0x00, //0x00002759 jmp LBB0_498 + //0x0000275e LBB0_474 + 0x49, 0x83, 0xfc, 0xff, //0x0000275e cmpq $-1, %r12 + 0x0f, 0x85, 0x8e, 0x00, 0x00, 0x00, //0x00002762 jne LBB0_506 + //0x00002768 LBB0_475 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00002768 movq $-1, %r12 + 0x4c, 0x8b, 0x6d, 0xb0, //0x0000276f movq $-80(%rbp), %r13 + 0xe9, 0x7e, 0x00, 0x00, 0x00, //0x00002773 jmp LBB0_506 + //0x00002778 LBB0_476 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00002778 movq $-1, %rcx + 0xe9, 0x1d, 0x00, 0x00, 0x00, //0x0000277f jmp LBB0_480 + //0x00002784 LBB0_477 + 0x49, 0x83, 0xfc, 0xff, //0x00002784 cmpq $-1, %r12 + 0x0f, 0x85, 0x96, 0x00, 0x00, 0x00, //0x00002788 jne LBB0_503 + //0x0000278e LBB0_478 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x0000278e movq $-1, %r12 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00002795 movq $-80(%rbp), %r11 + 0xe9, 0x86, 0x00, 0x00, 0x00, //0x00002799 jmp LBB0_503 + //0x0000279e LBB0_479 + 0x4c, 0x89, 0xf1, //0x0000279e movq %r14, %rcx + //0x000027a1 LBB0_480 + 0x48, 0x8b, 0x55, 0xc0, //0x000027a1 movq $-64(%rbp), %rdx + 0x48, 0x8b, 0x02, //0x000027a5 movq (%rdx), %rax + 0x48, 0x29, 0xc8, //0x000027a8 subq %rcx, %rax + 0x48, 0x83, 0xc0, 0xfe, //0x000027ab addq $-2, %rax + 0x48, 0x89, 0x02, //0x000027af movq %rax, (%rdx) + //0x000027b2 LBB0_497 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000027b2 movq $-2, %rcx + //0x000027b9 LBB0_498 + 0x48, 0x89, 0xc8, //0x000027b9 movq %rcx, %rax + 0x48, 0x83, 0xc4, 0x48, //0x000027bc addq $72, %rsp + 0x5b, //0x000027c0 popq %rbx + 0x41, 0x5c, //0x000027c1 popq %r12 + 0x41, 0x5d, //0x000027c3 popq %r13 + 0x41, 0x5e, //0x000027c5 popq %r14 + 0x41, 0x5f, //0x000027c7 popq %r15 + 0x5d, //0x000027c9 popq %rbp + 0xc5, 0xf8, 0x77, //0x000027ca vzeroupper + 0xc3, //0x000027cd retq + //0x000027ce LBB0_487 + 0x49, 0x89, 0x55, 0x00, //0x000027ce movq %rdx, (%r13) + 0xe9, 0xe2, 0xff, 0xff, 0xff, //0x000027d2 jmp LBB0_498 + //0x000027d7 LBB0_481 + 0x49, 0x83, 0xfd, 0xff, //0x000027d7 cmpq $-1, %r13 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000027db jne LBB0_484 + 0x48, 0x0f, 0xbc, 0xc7, //0x000027e1 bsfq %rdi, %rax + 0x4c, 0x2b, 0x65, 0xc8, //0x000027e5 subq $-56(%rbp), %r12 + 0x49, 0x01, 0xc4, //0x000027e9 addq %rax, %r12 + //0x000027ec LBB0_483 + 0x4d, 0x89, 0xe5, //0x000027ec movq %r12, %r13 + //0x000027ef LBB0_484 + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x000027ef movq $-2, %r12 + //0x000027f6 LBB0_506 + 0x48, 0x8b, 0x45, 0xc0, //0x000027f6 movq $-64(%rbp), %rax + 0x4c, 0x89, 0x28, //0x000027fa movq %r13, (%rax) + 0x4c, 0x89, 0xe1, //0x000027fd movq %r12, %rcx + 0xe9, 0xb4, 0xff, 0xff, 0xff, //0x00002800 jmp LBB0_498 + //0x00002805 LBB0_499 + 0x49, 0x83, 0xfb, 0xff, //0x00002805 cmpq $-1, %r11 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00002809 jne LBB0_502 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000280f bsfq %rdi, %rax + 0x4c, 0x2b, 0x65, 0xc8, //0x00002813 subq $-56(%rbp), %r12 + 0x49, 0x01, 0xc4, //0x00002817 addq %rax, %r12 + //0x0000281a LBB0_501 + 0x4d, 0x89, 0xe3, //0x0000281a movq %r12, %r11 + //0x0000281d LBB0_502 + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x0000281d movq $-2, %r12 + //0x00002824 LBB0_503 + 0x4d, 0x89, 0x5d, 0x00, //0x00002824 movq %r11, (%r13) + 0x4c, 0x89, 0xe1, //0x00002828 movq %r12, %rcx + 0xe9, 0x89, 0xff, 0xff, 0xff, //0x0000282b jmp LBB0_498 + //0x00002830 LBB0_233 + 0x4d, 0x89, 0x45, 0x00, //0x00002830 movq %r8, (%r13) + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002834 movq $-2, %rcx + 0x41, 0x80, 0x3f, 0x6e, //0x0000283b cmpb $110, (%r15) + 0x0f, 0x85, 0x74, 0xff, 0xff, 0xff, //0x0000283f jne LBB0_498 + 0x49, 0x8d, 0x40, 0x01, //0x00002845 leaq $1(%r8), %rax + 0x49, 0x89, 0x45, 0x00, //0x00002849 movq %rax, (%r13) + 0x43, 0x80, 0x7c, 0x01, 0x01, 0x75, //0x0000284d cmpb $117, $1(%r9,%r8) + 0x0f, 0x85, 0x60, 0xff, 0xff, 0xff, //0x00002853 jne LBB0_498 + 0x49, 0x8d, 0x40, 0x02, //0x00002859 leaq $2(%r8), %rax + 0x49, 0x89, 0x45, 0x00, //0x0000285d movq %rax, (%r13) + 0x43, 0x80, 0x7c, 0x01, 0x02, 0x6c, //0x00002861 cmpb $108, $2(%r9,%r8) + 0x0f, 0x85, 0x4c, 0xff, 0xff, 0xff, //0x00002867 jne LBB0_498 + 0x49, 0x8d, 0x40, 0x03, //0x0000286d leaq $3(%r8), %rax + 0x49, 0x89, 0x45, 0x00, //0x00002871 movq %rax, (%r13) + 0x43, 0x80, 0x7c, 0x01, 0x03, 0x6c, //0x00002875 cmpb $108, $3(%r9,%r8) + 0x0f, 0x85, 0x38, 0xff, 0xff, 0xff, //0x0000287b jne LBB0_498 + 0xe9, 0xaa, 0x00, 0x00, 0x00, //0x00002881 jmp LBB0_237 + //0x00002886 LBB0_488 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002886 movq $-2, %rcx + 0x80, 0xfa, 0x61, //0x0000288d cmpb $97, %dl + 0x0f, 0x85, 0x23, 0xff, 0xff, 0xff, //0x00002890 jne LBB0_498 + 0x49, 0x8d, 0x40, 0x02, //0x00002896 leaq $2(%r8), %rax + 0x49, 0x89, 0x45, 0x00, //0x0000289a movq %rax, (%r13) + 0x43, 0x80, 0x7c, 0x01, 0x02, 0x6c, //0x0000289e cmpb $108, $2(%r9,%r8) + 0x0f, 0x85, 0x0f, 0xff, 0xff, 0xff, //0x000028a4 jne LBB0_498 + 0x49, 0x8d, 0x40, 0x03, //0x000028aa leaq $3(%r8), %rax + 0x49, 0x89, 0x45, 0x00, //0x000028ae movq %rax, (%r13) + 0x43, 0x80, 0x7c, 0x01, 0x03, 0x73, //0x000028b2 cmpb $115, $3(%r9,%r8) + 0x0f, 0x85, 0xfb, 0xfe, 0xff, 0xff, //0x000028b8 jne LBB0_498 + 0x49, 0x8d, 0x40, 0x04, //0x000028be leaq $4(%r8), %rax + 0x49, 0x89, 0x45, 0x00, //0x000028c2 movq %rax, (%r13) + 0x43, 0x80, 0x7c, 0x01, 0x04, 0x65, //0x000028c6 cmpb $101, $4(%r9,%r8) + 0x0f, 0x85, 0xe7, 0xfe, 0xff, 0xff, //0x000028cc jne LBB0_498 + 0x49, 0x83, 0xc0, 0x05, //0x000028d2 addq $5, %r8 + 0x4d, 0x89, 0x45, 0x00, //0x000028d6 movq %r8, (%r13) + 0xe9, 0xda, 0xfe, 0xff, 0xff, //0x000028da jmp LBB0_498 + //0x000028df LBB0_245 + 0x4d, 0x89, 0x45, 0x00, //0x000028df movq %r8, (%r13) + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000028e3 movq $-2, %rcx + 0x41, 0x80, 0x3f, 0x74, //0x000028ea cmpb $116, (%r15) + 0x0f, 0x85, 0xc5, 0xfe, 0xff, 0xff, //0x000028ee jne LBB0_498 + 0x49, 0x8d, 0x40, 0x01, //0x000028f4 leaq $1(%r8), %rax + 0x49, 0x89, 0x45, 0x00, //0x000028f8 movq %rax, (%r13) + 0x43, 0x80, 0x7c, 0x01, 0x01, 0x72, //0x000028fc cmpb $114, $1(%r9,%r8) + 0x0f, 0x85, 0xb1, 0xfe, 0xff, 0xff, //0x00002902 jne LBB0_498 + 0x49, 0x8d, 0x40, 0x02, //0x00002908 leaq $2(%r8), %rax + 0x49, 0x89, 0x45, 0x00, //0x0000290c movq %rax, (%r13) + 0x43, 0x80, 0x7c, 0x01, 0x02, 0x75, //0x00002910 cmpb $117, $2(%r9,%r8) + 0x0f, 0x85, 0x9d, 0xfe, 0xff, 0xff, //0x00002916 jne LBB0_498 + 0x49, 0x8d, 0x40, 0x03, //0x0000291c leaq $3(%r8), %rax + 0x49, 0x89, 0x45, 0x00, //0x00002920 movq %rax, (%r13) + 0x43, 0x80, 0x7c, 0x01, 0x03, 0x65, //0x00002924 cmpb $101, $3(%r9,%r8) + 0x0f, 0x85, 0x89, 0xfe, 0xff, 0xff, //0x0000292a jne LBB0_498 + //0x00002930 LBB0_237 + 0x49, 0x83, 0xc0, 0x04, //0x00002930 addq $4, %r8 + 0x4d, 0x89, 0x45, 0x00, //0x00002934 movq %r8, (%r13) + 0xe9, 0x7c, 0xfe, 0xff, 0xff, //0x00002938 jmp LBB0_498 + //0x0000293d LBB0_494 + 0x4d, 0x8b, 0x65, 0x00, //0x0000293d movq (%r13), %r12 + //0x00002941 LBB0_495 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00002941 movq $-1, %r15 + //0x00002948 LBB0_496 + 0x49, 0xf7, 0xd7, //0x00002948 notq %r15 + 0x4d, 0x01, 0xe7, //0x0000294b addq %r12, %r15 + 0x4d, 0x89, 0x7d, 0x00, //0x0000294e movq %r15, (%r13) + 0xe9, 0x5b, 0xfe, 0xff, 0xff, //0x00002952 jmp LBB0_497 + //0x00002957 LBB0_504 + 0x4c, 0x89, 0x65, 0xb0, //0x00002957 movq %r12, $-80(%rbp) + 0xe9, 0x08, 0xfe, 0xff, 0xff, //0x0000295b jmp LBB0_475 + //0x00002960 LBB0_507 + 0x4c, 0x89, 0x65, 0xb0, //0x00002960 movq %r12, $-80(%rbp) + 0xe9, 0x25, 0xfe, 0xff, 0xff, //0x00002964 jmp LBB0_478 + //0x00002969 LBB0_505 + 0x4c, 0x01, 0xe2, //0x00002969 addq %r12, %rdx + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x0000296c movq $-2, %r12 + 0x49, 0x89, 0xd5, //0x00002973 movq %rdx, %r13 + 0xe9, 0x7b, 0xfe, 0xff, 0xff, //0x00002976 jmp LBB0_506 + //0x0000297b LBB0_129 + 0x4c, 0x01, 0xe2, //0x0000297b addq %r12, %rdx + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x0000297e movq $-2, %r12 + 0x49, 0x89, 0xd3, //0x00002985 movq %rdx, %r11 + 0xe9, 0x97, 0xfe, 0xff, 0xff, //0x00002988 jmp LBB0_503 + //0x0000298d LBB0_508 + 0x4c, 0x01, 0xe7, //0x0000298d addq %r12, %rdi + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x00002990 movq $-2, %r12 + 0x49, 0x89, 0xfd, //0x00002997 movq %rdi, %r13 + 0xe9, 0x57, 0xfe, 0xff, 0xff, //0x0000299a jmp LBB0_506 + //0x0000299f LBB0_509 + 0x4c, 0x2b, 0x65, 0xc8, //0x0000299f subq $-56(%rbp), %r12 + 0x49, 0x01, 0xd4, //0x000029a3 addq %rdx, %r12 + 0xe9, 0x41, 0xfe, 0xff, 0xff, //0x000029a6 jmp LBB0_483 + //0x000029ab LBB0_417 + 0x4c, 0x01, 0xe7, //0x000029ab addq %r12, %rdi + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x000029ae movq $-2, %r12 + 0x49, 0x89, 0xfb, //0x000029b5 movq %rdi, %r11 + 0xe9, 0x67, 0xfe, 0xff, 0xff, //0x000029b8 jmp LBB0_503 + //0x000029bd LBB0_510 + 0x49, 0x29, 0xc4, //0x000029bd subq %rax, %r12 + 0xe9, 0x27, 0xfe, 0xff, 0xff, //0x000029c0 jmp LBB0_483 + //0x000029c5 LBB0_511 + 0x4c, 0x2b, 0x65, 0xc8, //0x000029c5 subq $-56(%rbp), %r12 + 0x49, 0x01, 0xd4, //0x000029c9 addq %rdx, %r12 + 0xe9, 0x49, 0xfe, 0xff, 0xff, //0x000029cc jmp LBB0_501 + //0x000029d1 LBB0_512 + 0x49, 0x29, 0xf4, //0x000029d1 subq %rsi, %r12 + 0xe9, 0x41, 0xfe, 0xff, 0xff, //0x000029d4 jmp LBB0_501 + //0x000029d9 LBB0_513 + 0x4c, 0x8b, 0x6d, 0xc0, //0x000029d9 movq $-64(%rbp), %r13 + 0xe9, 0xac, 0xfd, 0xff, 0xff, //0x000029dd jmp LBB0_478 + 0x90, 0x90, //0x000029e2 .p2align 2, 0x90 + // // .set L0_0_set_39, LBB0_39-LJTI0_0 + // // .set L0_0_set_62, LBB0_62-LJTI0_0 + // // .set L0_0_set_45, LBB0_45-LJTI0_0 + // // .set L0_0_set_64, LBB0_64-LJTI0_0 + // // .set L0_0_set_42, LBB0_42-LJTI0_0 + // // .set L0_0_set_67, LBB0_67-LJTI0_0 + //0x000029e4 LJTI0_0 + 0xd3, 0xda, 0xff, 0xff, //0x000029e4 .long L0_0_set_39 + 0x69, 0xdc, 0xff, 0xff, //0x000029e8 .long L0_0_set_62 + 0x0a, 0xdb, 0xff, 0xff, //0x000029ec .long L0_0_set_45 + 0x94, 0xdc, 0xff, 0xff, //0x000029f0 .long L0_0_set_64 + 0xea, 0xda, 0xff, 0xff, //0x000029f4 .long L0_0_set_42 + 0x2e, 0xe0, 0xff, 0xff, //0x000029f8 .long L0_0_set_67 + // // .set L0_1_set_498, LBB0_498-LJTI0_1 + // // .set L0_1_set_497, LBB0_497-LJTI0_1 + // // .set L0_1_set_209, LBB0_209-LJTI0_1 + // // .set L0_1_set_225, LBB0_225-LJTI0_1 + // // .set L0_1_set_69, LBB0_69-LJTI0_1 + // // .set L0_1_set_229, LBB0_229-LJTI0_1 + // // .set L0_1_set_240, LBB0_240-LJTI0_1 + // // .set L0_1_set_231, LBB0_231-LJTI0_1 + // // .set L0_1_set_243, LBB0_243-LJTI0_1 + // // .set L0_1_set_238, LBB0_238-LJTI0_1 + //0x000029fc LJTI0_1 + 0xbd, 0xfd, 0xff, 0xff, //0x000029fc .long L0_1_set_498 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a00 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a04 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a08 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a0c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a10 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a14 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a18 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a1c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a20 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a24 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a28 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a2c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a30 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a34 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a38 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a3c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a40 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a44 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a48 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a4c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a50 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a54 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a58 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a5c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a60 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a64 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a68 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a6c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a70 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a74 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a78 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a7c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a80 .long L0_1_set_497 + 0x10, 0xe7, 0xff, 0xff, //0x00002a84 .long L0_1_set_209 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a88 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a8c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a90 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a94 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a98 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002a9c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002aa0 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002aa4 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002aa8 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002aac .long L0_1_set_497 + 0x65, 0xe8, 0xff, 0xff, //0x00002ab0 .long L0_1_set_225 + 0xb6, 0xfd, 0xff, 0xff, //0x00002ab4 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002ab8 .long L0_1_set_497 + 0xb5, 0xdc, 0xff, 0xff, //0x00002abc .long L0_1_set_69 + 0xb5, 0xdc, 0xff, 0xff, //0x00002ac0 .long L0_1_set_69 + 0xb5, 0xdc, 0xff, 0xff, //0x00002ac4 .long L0_1_set_69 + 0xb5, 0xdc, 0xff, 0xff, //0x00002ac8 .long L0_1_set_69 + 0xb5, 0xdc, 0xff, 0xff, //0x00002acc .long L0_1_set_69 + 0xb5, 0xdc, 0xff, 0xff, //0x00002ad0 .long L0_1_set_69 + 0xb5, 0xdc, 0xff, 0xff, //0x00002ad4 .long L0_1_set_69 + 0xb5, 0xdc, 0xff, 0xff, //0x00002ad8 .long L0_1_set_69 + 0xb5, 0xdc, 0xff, 0xff, //0x00002adc .long L0_1_set_69 + 0xb5, 0xdc, 0xff, 0xff, //0x00002ae0 .long L0_1_set_69 + 0xb6, 0xfd, 0xff, 0xff, //0x00002ae4 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002ae8 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002aec .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002af0 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002af4 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002af8 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002afc .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b00 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b04 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b08 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b0c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b10 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b14 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b18 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b1c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b20 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b24 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b28 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b2c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b30 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b34 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b38 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b3c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b40 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b44 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b48 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b4c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b50 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b54 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b58 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b5c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b60 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b64 .long L0_1_set_497 + 0xa1, 0xe8, 0xff, 0xff, //0x00002b68 .long L0_1_set_229 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b6c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b70 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b74 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b78 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b7c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b80 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b84 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b88 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b8c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b90 .long L0_1_set_497 + 0x0c, 0xe9, 0xff, 0xff, //0x00002b94 .long L0_1_set_240 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b98 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002b9c .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002ba0 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002ba4 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002ba8 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002bac .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002bb0 .long L0_1_set_497 + 0xc5, 0xe8, 0xff, 0xff, //0x00002bb4 .long L0_1_set_231 + 0xb6, 0xfd, 0xff, 0xff, //0x00002bb8 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002bbc .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002bc0 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002bc4 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002bc8 .long L0_1_set_497 + 0x49, 0xe9, 0xff, 0xff, //0x00002bcc .long L0_1_set_243 + 0xb6, 0xfd, 0xff, 0xff, //0x00002bd0 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002bd4 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002bd8 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002bdc .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002be0 .long L0_1_set_497 + 0xb6, 0xfd, 0xff, 0xff, //0x00002be4 .long L0_1_set_497 + 0xe8, 0xe8, 0xff, 0xff, //0x00002be8 .long L0_1_set_238 + // // .set L0_2_set_311, LBB0_311-LJTI0_2 + // // .set L0_2_set_326, LBB0_326-LJTI0_2 + // // .set L0_2_set_318, LBB0_318-LJTI0_2 + // // .set L0_2_set_313, LBB0_313-LJTI0_2 + // // .set L0_2_set_316, LBB0_316-LJTI0_2 + //0x00002bec LJTI0_2 + 0x8b, 0xec, 0xff, 0xff, //0x00002bec .long L0_2_set_311 + 0x68, 0xed, 0xff, 0xff, //0x00002bf0 .long L0_2_set_326 + 0x8b, 0xec, 0xff, 0xff, //0x00002bf4 .long L0_2_set_311 + 0xef, 0xec, 0xff, 0xff, //0x00002bf8 .long L0_2_set_318 + 0x68, 0xed, 0xff, 0xff, //0x00002bfc .long L0_2_set_326 + 0xa4, 0xec, 0xff, 0xff, //0x00002c00 .long L0_2_set_313 + 0xa4, 0xec, 0xff, 0xff, //0x00002c04 .long L0_2_set_313 + 0xa4, 0xec, 0xff, 0xff, //0x00002c08 .long L0_2_set_313 + 0xa4, 0xec, 0xff, 0xff, //0x00002c0c .long L0_2_set_313 + 0xa4, 0xec, 0xff, 0xff, //0x00002c10 .long L0_2_set_313 + 0xa4, 0xec, 0xff, 0xff, //0x00002c14 .long L0_2_set_313 + 0xa4, 0xec, 0xff, 0xff, //0x00002c18 .long L0_2_set_313 + 0xa4, 0xec, 0xff, 0xff, //0x00002c1c .long L0_2_set_313 + 0xa4, 0xec, 0xff, 0xff, //0x00002c20 .long L0_2_set_313 + 0xa4, 0xec, 0xff, 0xff, //0x00002c24 .long L0_2_set_313 + 0x68, 0xed, 0xff, 0xff, //0x00002c28 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c2c .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c30 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c34 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c38 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c3c .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c40 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c44 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c48 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c4c .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c50 .long L0_2_set_326 + 0xd4, 0xec, 0xff, 0xff, //0x00002c54 .long L0_2_set_316 + 0x68, 0xed, 0xff, 0xff, //0x00002c58 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c5c .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c60 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c64 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c68 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c6c .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c70 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c74 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c78 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c7c .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c80 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c84 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c88 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c8c .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c90 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c94 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c98 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002c9c .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002ca0 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002ca4 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002ca8 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002cac .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002cb0 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002cb4 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002cb8 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002cbc .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002cc0 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002cc4 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002cc8 .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002ccc .long L0_2_set_326 + 0x68, 0xed, 0xff, 0xff, //0x00002cd0 .long L0_2_set_326 + 0xd4, 0xec, 0xff, 0xff, //0x00002cd4 .long L0_2_set_316 + // // .set L0_3_set_176, LBB0_176-LJTI0_3 + // // .set L0_3_set_187, LBB0_187-LJTI0_3 + // // .set L0_3_set_178, LBB0_178-LJTI0_3 + // // .set L0_3_set_173, LBB0_173-LJTI0_3 + // // .set L0_3_set_171, LBB0_171-LJTI0_3 + //0x00002cd8 LJTI0_3 + 0xb8, 0xdd, 0xff, 0xff, //0x00002cd8 .long L0_3_set_176 + 0xc6, 0xe2, 0xff, 0xff, //0x00002cdc .long L0_3_set_187 + 0xb8, 0xdd, 0xff, 0xff, //0x00002ce0 .long L0_3_set_176 + 0xd3, 0xdd, 0xff, 0xff, //0x00002ce4 .long L0_3_set_178 + 0xc6, 0xe2, 0xff, 0xff, //0x00002ce8 .long L0_3_set_187 + 0x88, 0xdd, 0xff, 0xff, //0x00002cec .long L0_3_set_173 + 0x88, 0xdd, 0xff, 0xff, //0x00002cf0 .long L0_3_set_173 + 0x88, 0xdd, 0xff, 0xff, //0x00002cf4 .long L0_3_set_173 + 0x88, 0xdd, 0xff, 0xff, //0x00002cf8 .long L0_3_set_173 + 0x88, 0xdd, 0xff, 0xff, //0x00002cfc .long L0_3_set_173 + 0x88, 0xdd, 0xff, 0xff, //0x00002d00 .long L0_3_set_173 + 0x88, 0xdd, 0xff, 0xff, //0x00002d04 .long L0_3_set_173 + 0x88, 0xdd, 0xff, 0xff, //0x00002d08 .long L0_3_set_173 + 0x88, 0xdd, 0xff, 0xff, //0x00002d0c .long L0_3_set_173 + 0x88, 0xdd, 0xff, 0xff, //0x00002d10 .long L0_3_set_173 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d14 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d18 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d1c .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d20 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d24 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d28 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d2c .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d30 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d34 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d38 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d3c .long L0_3_set_187 + 0x64, 0xdd, 0xff, 0xff, //0x00002d40 .long L0_3_set_171 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d44 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d48 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d4c .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d50 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d54 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d58 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d5c .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d60 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d64 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d68 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d6c .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d70 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d74 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d78 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d7c .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d80 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d84 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d88 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d8c .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d90 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d94 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d98 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002d9c .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002da0 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002da4 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002da8 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002dac .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002db0 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002db4 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002db8 .long L0_3_set_187 + 0xc6, 0xe2, 0xff, 0xff, //0x00002dbc .long L0_3_set_187 + 0x64, 0xdd, 0xff, 0xff, //0x00002dc0 .long L0_3_set_171 + //0x00002dc4 .p2align 2, 0x00 + //0x00002dc4 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00002dc4 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/u64toa.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/u64toa.go new file mode 100644 index 0000000..fa9da82 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/u64toa.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_u64toa func(out unsafe.Pointer, val uint64) (ret int) + +var S_u64toa uintptr + +//go:nosplit +func u64toa(out *byte, val uint64) (ret int) { + return F_u64toa(rt.NoEscape(unsafe.Pointer(out)), val) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/u64toa_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/u64toa_subr.go new file mode 100644 index 0000000..f534950 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/u64toa_subr.go @@ -0,0 +1,39 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__u64toa = 64 +) + +const ( + _stack__u64toa = 8 +) + +const ( + _size__u64toa = 1232 +) + +var ( + _pcsp__u64toa = [][2]uint32{ + {1, 0}, + {161, 8}, + {162, 0}, + {457, 8}, + {458, 0}, + {758, 8}, + {759, 0}, + {1225, 8}, + {1227, 0}, + } +) + +var _cfunc_u64toa = []loader.CFunc{ + {"_u64toa_entry", 0, _entry__u64toa, 0, nil}, + {"_u64toa", _entry__u64toa, _size__u64toa, _stack__u64toa, _pcsp__u64toa}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/u64toa_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/u64toa_text_amd64.go new file mode 100644 index 0000000..7eafdb0 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/u64toa_text_amd64.go @@ -0,0 +1,371 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_u64toa = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, // .quad 3518437209 + 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 3518437209 + //0x00000010 LCPI0_3 + 0x0a, 0x00, //0x00000010 .word 10 + 0x0a, 0x00, //0x00000012 .word 10 + 0x0a, 0x00, //0x00000014 .word 10 + 0x0a, 0x00, //0x00000016 .word 10 + 0x0a, 0x00, //0x00000018 .word 10 + 0x0a, 0x00, //0x0000001a .word 10 + 0x0a, 0x00, //0x0000001c .word 10 + 0x0a, 0x00, //0x0000001e .word 10 + //0x00000020 LCPI0_4 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, //0x00000020 QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + //0x00000030 .p2align 3, 0x00 + //0x00000030 LCPI0_1 + 0xc5, 0x20, 0x7b, 0x14, 0x34, 0x33, 0x00, 0x80, //0x00000030 .quad -9223315738079846203 + //0x00000038 LCPI0_2 + 0x80, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x80, //0x00000038 .quad -9223336852348469120 + //0x00000040 .p2align 4, 0x90 + //0x00000040 _u64toa + 0x55, //0x00000040 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000041 movq %rsp, %rbp + 0x48, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x00000044 cmpq $9999, %rsi + 0x0f, 0x87, 0xa2, 0x00, 0x00, 0x00, //0x0000004b ja LBB0_8 + 0x0f, 0xb7, 0xc6, //0x00000051 movzwl %si, %eax + 0xc1, 0xe8, 0x02, //0x00000054 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000057 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x0000005d shrl $17, %eax + 0x48, 0x8d, 0x14, 0x00, //0x00000060 leaq (%rax,%rax), %rdx + 0x6b, 0xc0, 0x64, //0x00000064 imull $100, %eax, %eax + 0x89, 0xf1, //0x00000067 movl %esi, %ecx + 0x29, 0xc1, //0x00000069 subl %eax, %ecx + 0x0f, 0xb7, 0xc1, //0x0000006b movzwl %cx, %eax + 0x48, 0x01, 0xc0, //0x0000006e addq %rax, %rax + 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x00000071 cmpl $1000, %esi + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000077 jb LBB0_3 + 0x48, 0x8d, 0x0d, 0x8c, 0x04, 0x00, 0x00, //0x0000007d leaq $1164(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x0c, 0x0a, //0x00000084 movb (%rdx,%rcx), %cl + 0x88, 0x0f, //0x00000087 movb %cl, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000089 movl $1, %ecx + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x0000008e jmp LBB0_4 + //0x00000093 LBB0_3 + 0x31, 0xc9, //0x00000093 xorl %ecx, %ecx + 0x83, 0xfe, 0x64, //0x00000095 cmpl $100, %esi + 0x0f, 0x82, 0x45, 0x00, 0x00, 0x00, //0x00000098 jb LBB0_5 + //0x0000009e LBB0_4 + 0x0f, 0xb7, 0xd2, //0x0000009e movzwl %dx, %edx + 0x48, 0x83, 0xca, 0x01, //0x000000a1 orq $1, %rdx + 0x48, 0x8d, 0x35, 0x64, 0x04, 0x00, 0x00, //0x000000a5 leaq $1124(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x32, //0x000000ac movb (%rdx,%rsi), %dl + 0x89, 0xce, //0x000000af movl %ecx, %esi + 0xff, 0xc1, //0x000000b1 incl %ecx + 0x88, 0x14, 0x37, //0x000000b3 movb %dl, (%rdi,%rsi) + //0x000000b6 LBB0_6 + 0x48, 0x8d, 0x15, 0x53, 0x04, 0x00, 0x00, //0x000000b6 leaq $1107(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x10, //0x000000bd movb (%rax,%rdx), %dl + 0x89, 0xce, //0x000000c0 movl %ecx, %esi + 0xff, 0xc1, //0x000000c2 incl %ecx + 0x88, 0x14, 0x37, //0x000000c4 movb %dl, (%rdi,%rsi) + //0x000000c7 LBB0_7 + 0x0f, 0xb7, 0xc0, //0x000000c7 movzwl %ax, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000000ca orq $1, %rax + 0x48, 0x8d, 0x15, 0x3b, 0x04, 0x00, 0x00, //0x000000ce leaq $1083(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x10, //0x000000d5 movb (%rax,%rdx), %al + 0x89, 0xca, //0x000000d8 movl %ecx, %edx + 0xff, 0xc1, //0x000000da incl %ecx + 0x88, 0x04, 0x17, //0x000000dc movb %al, (%rdi,%rdx) + 0x89, 0xc8, //0x000000df movl %ecx, %eax + 0x5d, //0x000000e1 popq %rbp + 0xc3, //0x000000e2 retq + //0x000000e3 LBB0_5 + 0x31, 0xc9, //0x000000e3 xorl %ecx, %ecx + 0x83, 0xfe, 0x0a, //0x000000e5 cmpl $10, %esi + 0x0f, 0x83, 0xc8, 0xff, 0xff, 0xff, //0x000000e8 jae LBB0_6 + 0xe9, 0xd4, 0xff, 0xff, 0xff, //0x000000ee jmp LBB0_7 + //0x000000f3 LBB0_8 + 0x48, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x000000f3 cmpq $99999999, %rsi + 0x0f, 0x87, 0x1e, 0x01, 0x00, 0x00, //0x000000fa ja LBB0_16 + 0x89, 0xf0, //0x00000100 movl %esi, %eax + 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x00000102 movl $3518437209, %edx + 0x48, 0x0f, 0xaf, 0xd0, //0x00000107 imulq %rax, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x0000010b shrq $45, %rdx + 0x44, 0x69, 0xc2, 0x10, 0x27, 0x00, 0x00, //0x0000010f imull $10000, %edx, %r8d + 0x89, 0xf1, //0x00000116 movl %esi, %ecx + 0x44, 0x29, 0xc1, //0x00000118 subl %r8d, %ecx + 0x4c, 0x69, 0xd0, 0x83, 0xde, 0x1b, 0x43, //0x0000011b imulq $1125899907, %rax, %r10 + 0x49, 0xc1, 0xea, 0x31, //0x00000122 shrq $49, %r10 + 0x41, 0x83, 0xe2, 0xfe, //0x00000126 andl $-2, %r10d + 0x0f, 0xb7, 0xc2, //0x0000012a movzwl %dx, %eax + 0xc1, 0xe8, 0x02, //0x0000012d shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000130 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000136 shrl $17, %eax + 0x6b, 0xc0, 0x64, //0x00000139 imull $100, %eax, %eax + 0x29, 0xc2, //0x0000013c subl %eax, %edx + 0x44, 0x0f, 0xb7, 0xca, //0x0000013e movzwl %dx, %r9d + 0x4d, 0x01, 0xc9, //0x00000142 addq %r9, %r9 + 0x0f, 0xb7, 0xc1, //0x00000145 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x00000148 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000014b imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000151 shrl $17, %eax + 0x4c, 0x8d, 0x04, 0x00, //0x00000154 leaq (%rax,%rax), %r8 + 0x6b, 0xc0, 0x64, //0x00000158 imull $100, %eax, %eax + 0x29, 0xc1, //0x0000015b subl %eax, %ecx + 0x44, 0x0f, 0xb7, 0xd9, //0x0000015d movzwl %cx, %r11d + 0x4d, 0x01, 0xdb, //0x00000161 addq %r11, %r11 + 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x00000164 cmpl $10000000, %esi + 0x0f, 0x82, 0x17, 0x00, 0x00, 0x00, //0x0000016a jb LBB0_11 + 0x48, 0x8d, 0x05, 0x99, 0x03, 0x00, 0x00, //0x00000170 leaq $921(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x02, //0x00000177 movb (%r10,%rax), %al + 0x88, 0x07, //0x0000017b movb %al, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000017d movl $1, %ecx + 0xe9, 0x0e, 0x00, 0x00, 0x00, //0x00000182 jmp LBB0_12 + //0x00000187 LBB0_11 + 0x31, 0xc9, //0x00000187 xorl %ecx, %ecx + 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x00000189 cmpl $1000000, %esi + 0x0f, 0x82, 0x76, 0x00, 0x00, 0x00, //0x0000018f jb LBB0_13 + //0x00000195 LBB0_12 + 0x44, 0x89, 0xd0, //0x00000195 movl %r10d, %eax + 0x48, 0x83, 0xc8, 0x01, //0x00000198 orq $1, %rax + 0x48, 0x8d, 0x35, 0x6d, 0x03, 0x00, 0x00, //0x0000019c leaq $877(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x000001a3 movb (%rax,%rsi), %al + 0x89, 0xce, //0x000001a6 movl %ecx, %esi + 0xff, 0xc1, //0x000001a8 incl %ecx + 0x88, 0x04, 0x37, //0x000001aa movb %al, (%rdi,%rsi) + //0x000001ad LBB0_14 + 0x48, 0x8d, 0x05, 0x5c, 0x03, 0x00, 0x00, //0x000001ad leaq $860(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x01, //0x000001b4 movb (%r9,%rax), %al + 0x89, 0xce, //0x000001b8 movl %ecx, %esi + 0xff, 0xc1, //0x000001ba incl %ecx + 0x88, 0x04, 0x37, //0x000001bc movb %al, (%rdi,%rsi) + //0x000001bf LBB0_15 + 0x41, 0x0f, 0xb7, 0xc1, //0x000001bf movzwl %r9w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000001c3 orq $1, %rax + 0x48, 0x8d, 0x35, 0x42, 0x03, 0x00, 0x00, //0x000001c7 leaq $834(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x000001ce movb (%rax,%rsi), %al + 0x89, 0xca, //0x000001d1 movl %ecx, %edx + 0x88, 0x04, 0x3a, //0x000001d3 movb %al, (%rdx,%rdi) + 0x41, 0x8a, 0x04, 0x30, //0x000001d6 movb (%r8,%rsi), %al + 0x88, 0x44, 0x3a, 0x01, //0x000001da movb %al, $1(%rdx,%rdi) + 0x41, 0x0f, 0xb7, 0xc0, //0x000001de movzwl %r8w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000001e2 orq $1, %rax + 0x8a, 0x04, 0x30, //0x000001e6 movb (%rax,%rsi), %al + 0x88, 0x44, 0x3a, 0x02, //0x000001e9 movb %al, $2(%rdx,%rdi) + 0x41, 0x8a, 0x04, 0x33, //0x000001ed movb (%r11,%rsi), %al + 0x88, 0x44, 0x3a, 0x03, //0x000001f1 movb %al, $3(%rdx,%rdi) + 0x41, 0x0f, 0xb7, 0xc3, //0x000001f5 movzwl %r11w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000001f9 orq $1, %rax + 0x8a, 0x04, 0x30, //0x000001fd movb (%rax,%rsi), %al + 0x83, 0xc1, 0x05, //0x00000200 addl $5, %ecx + 0x88, 0x44, 0x3a, 0x04, //0x00000203 movb %al, $4(%rdx,%rdi) + 0x89, 0xc8, //0x00000207 movl %ecx, %eax + 0x5d, //0x00000209 popq %rbp + 0xc3, //0x0000020a retq + //0x0000020b LBB0_13 + 0x31, 0xc9, //0x0000020b xorl %ecx, %ecx + 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x0000020d cmpl $100000, %esi + 0x0f, 0x83, 0x94, 0xff, 0xff, 0xff, //0x00000213 jae LBB0_14 + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x00000219 jmp LBB0_15 + //0x0000021e LBB0_16 + 0x48, 0xb8, 0xff, 0xff, 0xc0, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x0000021e movabsq $9999999999999999, %rax + 0x48, 0x39, 0xc6, //0x00000228 cmpq %rax, %rsi + 0x0f, 0x87, 0x07, 0x01, 0x00, 0x00, //0x0000022b ja LBB0_18 + 0x48, 0xb9, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000231 movabsq $-6067343680855748867, %rcx + 0x48, 0x89, 0xf0, //0x0000023b movq %rsi, %rax + 0x48, 0xf7, 0xe1, //0x0000023e mulq %rcx + 0x48, 0xc1, 0xea, 0x1a, //0x00000241 shrq $26, %rdx + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x00000245 imull $100000000, %edx, %eax + 0x29, 0xc6, //0x0000024b subl %eax, %esi + 0xc5, 0xf9, 0x6e, 0xc2, //0x0000024d vmovd %edx, %xmm0 + 0xc5, 0xfa, 0x6f, 0x0d, 0xa7, 0xfd, 0xff, 0xff, //0x00000251 vmovdqu $-601(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0xf4, 0xd1, //0x00000259 vpmuludq %xmm1, %xmm0, %xmm2 + 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x0000025d vpsrlq $45, %xmm2, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x00000262 movl $10000, %eax + 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x00000267 vmovq %rax, %xmm3 + 0xc5, 0xe9, 0xf4, 0xe3, //0x0000026c vpmuludq %xmm3, %xmm2, %xmm4 + 0xc5, 0xf9, 0xfa, 0xc4, //0x00000270 vpsubd %xmm4, %xmm0, %xmm0 + 0xc5, 0xe9, 0x61, 0xc0, //0x00000274 vpunpcklwd %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x00000278 vpsllq $2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x0000027d vpshuflw $80, %xmm0, %xmm0 + 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x00000282 vpshufd $80, %xmm0, %xmm0 + 0xc4, 0xe2, 0x79, 0x59, 0x15, 0xa0, 0xfd, 0xff, 0xff, //0x00000287 vpbroadcastq $-608(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc4, 0xe2, 0x79, 0x59, 0x25, 0x9f, 0xfd, 0xff, 0xff, //0x00000290 vpbroadcastq $-609(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc2, //0x00000299 vpmulhuw %xmm2, %xmm0, %xmm0 + 0xc5, 0xf9, 0xe4, 0xc4, //0x0000029d vpmulhuw %xmm4, %xmm0, %xmm0 + 0xc5, 0xfa, 0x6f, 0x2d, 0x67, 0xfd, 0xff, 0xff, //0x000002a1 vmovdqu $-665(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0xd5, 0xf5, //0x000002a9 vpmullw %xmm5, %xmm0, %xmm6 + 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x000002ad vpsllq $16, %xmm6, %xmm6 + 0xc5, 0xf9, 0xf9, 0xc6, //0x000002b2 vpsubw %xmm6, %xmm0, %xmm0 + 0xc5, 0xf9, 0x6e, 0xf6, //0x000002b6 vmovd %esi, %xmm6 + 0xc5, 0xc9, 0xf4, 0xc9, //0x000002ba vpmuludq %xmm1, %xmm6, %xmm1 + 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x000002be vpsrlq $45, %xmm1, %xmm1 + 0xc5, 0xf1, 0xf4, 0xdb, //0x000002c3 vpmuludq %xmm3, %xmm1, %xmm3 + 0xc5, 0xc9, 0xfa, 0xdb, //0x000002c7 vpsubd %xmm3, %xmm6, %xmm3 + 0xc5, 0xf1, 0x61, 0xcb, //0x000002cb vpunpcklwd %xmm3, %xmm1, %xmm1 + 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x000002cf vpsllq $2, %xmm1, %xmm1 + 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x000002d4 vpshuflw $80, %xmm1, %xmm1 + 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x000002d9 vpshufd $80, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xca, //0x000002de vpmulhuw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xcc, //0x000002e2 vpmulhuw %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xd5, 0xd5, //0x000002e6 vpmullw %xmm5, %xmm1, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x000002ea vpsllq $16, %xmm2, %xmm2 + 0xc5, 0xf1, 0xf9, 0xca, //0x000002ef vpsubw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x67, 0xc1, //0x000002f3 vpackuswb %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xfc, 0x0d, 0x21, 0xfd, 0xff, 0xff, //0x000002f7 vpaddb $-735(%rip), %xmm0, %xmm1 /* LCPI0_4+0(%rip) */ + 0xc5, 0xe9, 0xef, 0xd2, //0x000002ff vpxor %xmm2, %xmm2, %xmm2 + 0xc5, 0xf9, 0x74, 0xc2, //0x00000303 vpcmpeqb %xmm2, %xmm0, %xmm0 + 0xc5, 0xf9, 0xd7, 0xc0, //0x00000307 vpmovmskb %xmm0, %eax + 0x0d, 0x00, 0x80, 0x00, 0x00, //0x0000030b orl $32768, %eax + 0x35, 0xff, 0x7f, 0xff, 0xff, //0x00000310 xorl $-32769, %eax + 0x0f, 0xbc, 0xc0, //0x00000315 bsfl %eax, %eax + 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00000318 movl $16, %ecx + 0x29, 0xc1, //0x0000031d subl %eax, %ecx + 0x48, 0xc1, 0xe0, 0x04, //0x0000031f shlq $4, %rax + 0x48, 0x8d, 0x15, 0xb6, 0x02, 0x00, 0x00, //0x00000323 leaq $694(%rip), %rdx /* _VecShiftShuffles+0(%rip) */ + 0xc4, 0xe2, 0x71, 0x00, 0x04, 0x10, //0x0000032a vpshufb (%rax,%rdx), %xmm1, %xmm0 + 0xc5, 0xfa, 0x7f, 0x07, //0x00000330 vmovdqu %xmm0, (%rdi) + 0x89, 0xc8, //0x00000334 movl %ecx, %eax + 0x5d, //0x00000336 popq %rbp + 0xc3, //0x00000337 retq + //0x00000338 LBB0_18 + 0x48, 0xb9, 0x57, 0x78, 0x13, 0xb1, 0x2f, 0x65, 0xa5, 0x39, //0x00000338 movabsq $4153837486827862103, %rcx + 0x48, 0x89, 0xf0, //0x00000342 movq %rsi, %rax + 0x48, 0xf7, 0xe1, //0x00000345 mulq %rcx + 0x48, 0xc1, 0xea, 0x33, //0x00000348 shrq $51, %rdx + 0x48, 0xb8, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x0000034c movabsq $10000000000000000, %rax + 0x48, 0x0f, 0xaf, 0xc2, //0x00000356 imulq %rdx, %rax + 0x48, 0x29, 0xc6, //0x0000035a subq %rax, %rsi + 0x83, 0xfa, 0x09, //0x0000035d cmpl $9, %edx + 0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x00000360 ja LBB0_20 + 0x80, 0xc2, 0x30, //0x00000366 addb $48, %dl + 0x88, 0x17, //0x00000369 movb %dl, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000036b movl $1, %ecx + 0xe9, 0xba, 0x00, 0x00, 0x00, //0x00000370 jmp LBB0_25 + //0x00000375 LBB0_20 + 0x83, 0xfa, 0x63, //0x00000375 cmpl $99, %edx + 0x0f, 0x87, 0x1f, 0x00, 0x00, 0x00, //0x00000378 ja LBB0_22 + 0x89, 0xd0, //0x0000037e movl %edx, %eax + 0x48, 0x8d, 0x0d, 0x89, 0x01, 0x00, 0x00, //0x00000380 leaq $393(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x00000387 movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x0000038a movb $1(%rcx,%rax,2), %al + 0x88, 0x17, //0x0000038e movb %dl, (%rdi) + 0x88, 0x47, 0x01, //0x00000390 movb %al, $1(%rdi) + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x00000393 movl $2, %ecx + 0xe9, 0x92, 0x00, 0x00, 0x00, //0x00000398 jmp LBB0_25 + //0x0000039d LBB0_22 + 0x89, 0xd0, //0x0000039d movl %edx, %eax + 0xc1, 0xe8, 0x02, //0x0000039f shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000003a2 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x000003a8 shrl $17, %eax + 0x81, 0xfa, 0xe7, 0x03, 0x00, 0x00, //0x000003ab cmpl $999, %edx + 0x0f, 0x87, 0x3c, 0x00, 0x00, 0x00, //0x000003b1 ja LBB0_24 + 0x83, 0xc0, 0x30, //0x000003b7 addl $48, %eax + 0x88, 0x07, //0x000003ba movb %al, (%rdi) + 0x0f, 0xb7, 0xc2, //0x000003bc movzwl %dx, %eax + 0x89, 0xc1, //0x000003bf movl %eax, %ecx + 0xc1, 0xe9, 0x02, //0x000003c1 shrl $2, %ecx + 0x69, 0xc9, 0x7b, 0x14, 0x00, 0x00, //0x000003c4 imull $5243, %ecx, %ecx + 0xc1, 0xe9, 0x11, //0x000003ca shrl $17, %ecx + 0x6b, 0xc9, 0x64, //0x000003cd imull $100, %ecx, %ecx + 0x29, 0xc8, //0x000003d0 subl %ecx, %eax + 0x0f, 0xb7, 0xc0, //0x000003d2 movzwl %ax, %eax + 0x48, 0x8d, 0x0d, 0x34, 0x01, 0x00, 0x00, //0x000003d5 leaq $308(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x000003dc movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x000003df movb $1(%rcx,%rax,2), %al + 0x88, 0x57, 0x01, //0x000003e3 movb %dl, $1(%rdi) + 0x88, 0x47, 0x02, //0x000003e6 movb %al, $2(%rdi) + 0xb9, 0x03, 0x00, 0x00, 0x00, //0x000003e9 movl $3, %ecx + 0xe9, 0x3c, 0x00, 0x00, 0x00, //0x000003ee jmp LBB0_25 + //0x000003f3 LBB0_24 + 0x6b, 0xc8, 0x64, //0x000003f3 imull $100, %eax, %ecx + 0x29, 0xca, //0x000003f6 subl %ecx, %edx + 0x0f, 0xb7, 0xc0, //0x000003f8 movzwl %ax, %eax + 0x4c, 0x8d, 0x05, 0x0e, 0x01, 0x00, 0x00, //0x000003fb leaq $270(%rip), %r8 /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x0c, 0x40, //0x00000402 movb (%r8,%rax,2), %cl + 0x41, 0x8a, 0x44, 0x40, 0x01, //0x00000406 movb $1(%r8,%rax,2), %al + 0x88, 0x0f, //0x0000040b movb %cl, (%rdi) + 0x88, 0x47, 0x01, //0x0000040d movb %al, $1(%rdi) + 0x0f, 0xb7, 0xc2, //0x00000410 movzwl %dx, %eax + 0x41, 0x8a, 0x0c, 0x40, //0x00000413 movb (%r8,%rax,2), %cl + 0x48, 0x01, 0xc0, //0x00000417 addq %rax, %rax + 0x88, 0x4f, 0x02, //0x0000041a movb %cl, $2(%rdi) + 0x83, 0xc8, 0x01, //0x0000041d orl $1, %eax + 0x0f, 0xb7, 0xc0, //0x00000420 movzwl %ax, %eax + 0x42, 0x8a, 0x04, 0x00, //0x00000423 movb (%rax,%r8), %al + 0x88, 0x47, 0x03, //0x00000427 movb %al, $3(%rdi) + 0xb9, 0x04, 0x00, 0x00, 0x00, //0x0000042a movl $4, %ecx + //0x0000042f LBB0_25 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x0000042f movabsq $-6067343680855748867, %rdx + 0x48, 0x89, 0xf0, //0x00000439 movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x0000043c mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x0000043f shrq $26, %rdx + 0xc5, 0xf9, 0x6e, 0xc2, //0x00000443 vmovd %edx, %xmm0 + 0xc5, 0xfa, 0x6f, 0x0d, 0xb1, 0xfb, 0xff, 0xff, //0x00000447 vmovdqu $-1103(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0xf4, 0xd1, //0x0000044f vpmuludq %xmm1, %xmm0, %xmm2 + 0xc5, 0xe9, 0x73, 0xd2, 0x2d, //0x00000453 vpsrlq $45, %xmm2, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x00000458 movl $10000, %eax + 0xc4, 0xe1, 0xf9, 0x6e, 0xd8, //0x0000045d vmovq %rax, %xmm3 + 0xc5, 0xe9, 0xf4, 0xe3, //0x00000462 vpmuludq %xmm3, %xmm2, %xmm4 + 0xc5, 0xf9, 0xfa, 0xc4, //0x00000466 vpsubd %xmm4, %xmm0, %xmm0 + 0xc5, 0xe9, 0x61, 0xc0, //0x0000046a vpunpcklwd %xmm0, %xmm2, %xmm0 + 0xc5, 0xf9, 0x73, 0xf0, 0x02, //0x0000046e vpsllq $2, %xmm0, %xmm0 + 0xc5, 0xfb, 0x70, 0xc0, 0x50, //0x00000473 vpshuflw $80, %xmm0, %xmm0 + 0xc4, 0xe2, 0x79, 0x59, 0x15, 0xaf, 0xfb, 0xff, 0xff, //0x00000478 vpbroadcastq $-1105(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf9, 0x70, 0xc0, 0x50, //0x00000481 vpshufd $80, %xmm0, %xmm0 + 0xc5, 0xf9, 0xe4, 0xc2, //0x00000486 vpmulhuw %xmm2, %xmm0, %xmm0 + 0xc4, 0xe2, 0x79, 0x59, 0x25, 0xa5, 0xfb, 0xff, 0xff, //0x0000048a vpbroadcastq $-1115(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf9, 0xe4, 0xc4, //0x00000493 vpmulhuw %xmm4, %xmm0, %xmm0 + 0xc5, 0xfa, 0x6f, 0x2d, 0x71, 0xfb, 0xff, 0xff, //0x00000497 vmovdqu $-1167(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0xd5, 0xf5, //0x0000049f vpmullw %xmm5, %xmm0, %xmm6 + 0xc5, 0xc9, 0x73, 0xf6, 0x10, //0x000004a3 vpsllq $16, %xmm6, %xmm6 + 0xc5, 0xf9, 0xf9, 0xc6, //0x000004a8 vpsubw %xmm6, %xmm0, %xmm0 + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x000004ac imull $100000000, %edx, %eax + 0x29, 0xc6, //0x000004b2 subl %eax, %esi + 0xc5, 0xf9, 0x6e, 0xf6, //0x000004b4 vmovd %esi, %xmm6 + 0xc5, 0xc9, 0xf4, 0xc9, //0x000004b8 vpmuludq %xmm1, %xmm6, %xmm1 + 0xc5, 0xf1, 0x73, 0xd1, 0x2d, //0x000004bc vpsrlq $45, %xmm1, %xmm1 + 0xc5, 0xf1, 0xf4, 0xdb, //0x000004c1 vpmuludq %xmm3, %xmm1, %xmm3 + 0xc5, 0xc9, 0xfa, 0xdb, //0x000004c5 vpsubd %xmm3, %xmm6, %xmm3 + 0xc5, 0xf1, 0x61, 0xcb, //0x000004c9 vpunpcklwd %xmm3, %xmm1, %xmm1 + 0xc5, 0xf1, 0x73, 0xf1, 0x02, //0x000004cd vpsllq $2, %xmm1, %xmm1 + 0xc5, 0xfb, 0x70, 0xc9, 0x50, //0x000004d2 vpshuflw $80, %xmm1, %xmm1 + 0xc5, 0xf9, 0x70, 0xc9, 0x50, //0x000004d7 vpshufd $80, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xca, //0x000004dc vpmulhuw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf1, 0xe4, 0xcc, //0x000004e0 vpmulhuw %xmm4, %xmm1, %xmm1 + 0xc5, 0xf1, 0xd5, 0xd5, //0x000004e4 vpmullw %xmm5, %xmm1, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x10, //0x000004e8 vpsllq $16, %xmm2, %xmm2 + 0xc5, 0xf1, 0xf9, 0xca, //0x000004ed vpsubw %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x67, 0xc1, //0x000004f1 vpackuswb %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xfc, 0x05, 0x23, 0xfb, 0xff, 0xff, //0x000004f5 vpaddb $-1245(%rip), %xmm0, %xmm0 /* LCPI0_4+0(%rip) */ + 0x89, 0xc8, //0x000004fd movl %ecx, %eax + 0xc5, 0xfa, 0x7f, 0x04, 0x07, //0x000004ff vmovdqu %xmm0, (%rdi,%rax) + 0x83, 0xc9, 0x10, //0x00000504 orl $16, %ecx + 0x89, 0xc8, //0x00000507 movl %ecx, %eax + 0x5d, //0x00000509 popq %rbp + 0xc3, //0x0000050a retq + 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000050b .p2align 4, 0x00 + //0x00000510 _Digits + 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00000510 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' + 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00000520 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' + 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x00000530 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' + 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x00000540 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' + 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x00000550 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' + 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x00000560 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' + 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x00000570 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' + 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x00000580 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' + 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x00000590 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' + 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x000005a0 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' + 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x000005b0 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' + 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x000005c0 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' + 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x000005d0 QUAD $0x3939383937393639 // .ascii 8, '96979899' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005d8 .p2align 4, 0x00 + //0x000005e0 _VecShiftShuffles + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, //0x000005e0 QUAD $0x0706050403020100; QUAD $0x0f0e0d0c0b0a0908 // .ascii 16, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, //0x000005f0 QUAD $0x0807060504030201; QUAD $0xff0f0e0d0c0b0a09 // .ascii 16, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' + 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, //0x00000600 QUAD $0x0908070605040302; QUAD $0xffff0f0e0d0c0b0a // .ascii 16, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' + 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, //0x00000610 QUAD $0x0a09080706050403; QUAD $0xffffff0f0e0d0c0b // .ascii 16, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, //0x00000620 QUAD $0x0b0a090807060504; QUAD $0xffffffff0f0e0d0c // .ascii 16, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' + 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000630 QUAD $0x0c0b0a0908070605; QUAD $0xffffffffff0f0e0d // .ascii 16, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff' + 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000640 QUAD $0x0d0c0b0a09080706; QUAD $0xffffffffffff0f0e // .ascii 16, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff' + 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000650 QUAD $0x0e0d0c0b0a090807; QUAD $0xffffffffffffff0f // .ascii 16, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff' + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000660 QUAD $0x0f0e0d0c0b0a0908; QUAD $0xffffffffffffffff // .ascii 16, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/unquote.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/unquote.go new file mode 100644 index 0000000..e4c9e41 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/unquote.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_unquote func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep unsafe.Pointer, flags uint64) (ret int) + +var S_unquote uintptr + +//go:nosplit +func unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int) { + return F_unquote(rt.NoEscape(sp), nb, dp, rt.NoEscape(unsafe.Pointer(ep)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/unquote_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/unquote_subr.go new file mode 100644 index 0000000..5c3055d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/unquote_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__unquote = 48 +) + +const ( + _stack__unquote = 72 +) + +const ( + _size__unquote = 2464 +) + +var ( + _pcsp__unquote = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {79, 72}, + {83, 48}, + {84, 40}, + {86, 32}, + {88, 24}, + {90, 16}, + {92, 8}, + {96, 0}, + {2464, 72}, + } +) + +var _cfunc_unquote = []loader.CFunc{ + {"_unquote_entry", 0, _entry__unquote, 0, nil}, + {"_unquote", _entry__unquote, _size__unquote, _stack__unquote, _pcsp__unquote}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/unquote_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/unquote_text_amd64.go new file mode 100644 index 0000000..5dc8396 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/unquote_text_amd64.go @@ -0,0 +1,676 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_unquote = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, // QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000010 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000020 .p2align 4, 0x00 + //0x00000020 LCPI0_1 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000020 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000030 .p2align 4, 0x90 + //0x00000030 _unquote + 0x55, //0x00000030 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000031 movq %rsp, %rbp + 0x41, 0x57, //0x00000034 pushq %r15 + 0x41, 0x56, //0x00000036 pushq %r14 + 0x41, 0x55, //0x00000038 pushq %r13 + 0x41, 0x54, //0x0000003a pushq %r12 + 0x53, //0x0000003c pushq %rbx + 0x48, 0x83, 0xec, 0x18, //0x0000003d subq $24, %rsp + 0x48, 0x85, 0xf6, //0x00000041 testq %rsi, %rsi + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00000044 je LBB0_2 + 0x48, 0x89, 0x4d, 0xd0, //0x0000004a movq %rcx, $-48(%rbp) + 0x45, 0x89, 0xc2, //0x0000004e movl %r8d, %r10d + 0x41, 0x83, 0xe2, 0x01, //0x00000051 andl $1, %r10d + 0xc5, 0xfe, 0x6f, 0x0d, 0xa3, 0xff, 0xff, 0xff, //0x00000055 vmovdqu $-93(%rip), %ymm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0xbb, 0xff, 0xff, 0xff, //0x0000005d vmovdqu $-69(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0x49, 0x89, 0xf9, //0x00000065 movq %rdi, %r9 + 0x49, 0x89, 0xf5, //0x00000068 movq %rsi, %r13 + 0x48, 0x89, 0xd0, //0x0000006b movq %rdx, %rax + 0xe9, 0x59, 0x00, 0x00, 0x00, //0x0000006e jmp LBB0_8 + //0x00000073 LBB0_2 + 0x45, 0x31, 0xed, //0x00000073 xorl %r13d, %r13d + 0x48, 0x89, 0xd0, //0x00000076 movq %rdx, %rax + //0x00000079 LBB0_3 + 0x4c, 0x01, 0xe8, //0x00000079 addq %r13, %rax + 0x48, 0x29, 0xd0, //0x0000007c subq %rdx, %rax + //0x0000007f LBB0_4 + 0x48, 0x83, 0xc4, 0x18, //0x0000007f addq $24, %rsp + 0x5b, //0x00000083 popq %rbx + 0x41, 0x5c, //0x00000084 popq %r12 + 0x41, 0x5d, //0x00000086 popq %r13 + 0x41, 0x5e, //0x00000088 popq %r14 + 0x41, 0x5f, //0x0000008a popq %r15 + 0x5d, //0x0000008c popq %rbp + 0xc5, 0xf8, 0x77, //0x0000008d vzeroupper + 0xc3, //0x00000090 retq + //0x00000091 LBB0_5 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x00000091 leaq $4(%r9,%r12), %r9 + 0x44, 0x89, 0xf9, //0x00000096 movl %r15d, %ecx + 0xc1, 0xe9, 0x06, //0x00000099 shrl $6, %ecx + 0x80, 0xc9, 0xc0, //0x0000009c orb $-64, %cl + 0x88, 0x08, //0x0000009f movb %cl, (%rax) + 0x41, 0x80, 0xe7, 0x3f, //0x000000a1 andb $63, %r15b + 0x41, 0x80, 0xcf, 0x80, //0x000000a5 orb $-128, %r15b + 0x44, 0x88, 0x78, 0x01, //0x000000a9 movb %r15b, $1(%rax) + 0x48, 0x83, 0xc0, 0x02, //0x000000ad addq $2, %rax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000b1 .p2align 4, 0x90 + //0x000000c0 LBB0_6 + 0x4d, 0x89, 0xf5, //0x000000c0 movq %r14, %r13 + //0x000000c3 LBB0_7 + 0x4d, 0x85, 0xed, //0x000000c3 testq %r13, %r13 + 0x0f, 0x84, 0x9d, 0x07, 0x00, 0x00, //0x000000c6 je LBB0_101 + //0x000000cc LBB0_8 + 0x41, 0x80, 0x39, 0x5c, //0x000000cc cmpb $92, (%r9) + 0x0f, 0x85, 0x0a, 0x00, 0x00, 0x00, //0x000000d0 jne LBB0_10 + 0x31, 0xdb, //0x000000d6 xorl %ebx, %ebx + 0xe9, 0x43, 0x01, 0x00, 0x00, //0x000000d8 jmp LBB0_24 + 0x90, 0x90, 0x90, //0x000000dd .p2align 4, 0x90 + //0x000000e0 LBB0_10 + 0x4d, 0x89, 0xec, //0x000000e0 movq %r13, %r12 + 0x49, 0x89, 0xc7, //0x000000e3 movq %rax, %r15 + 0x4d, 0x89, 0xce, //0x000000e6 movq %r9, %r14 + 0x49, 0x83, 0xfd, 0x20, //0x000000e9 cmpq $32, %r13 + 0x0f, 0x8c, 0x3e, 0x00, 0x00, 0x00, //0x000000ed jl LBB0_14 + 0x4d, 0x89, 0xce, //0x000000f3 movq %r9, %r14 + 0x49, 0x89, 0xc7, //0x000000f6 movq %rax, %r15 + 0x4d, 0x89, 0xec, //0x000000f9 movq %r13, %r12 + 0x90, 0x90, 0x90, 0x90, //0x000000fc .p2align 4, 0x90 + //0x00000100 LBB0_12 + 0xc4, 0xc1, 0x7e, 0x6f, 0x06, //0x00000100 vmovdqu (%r14), %ymm0 + 0xc4, 0xc1, 0x7e, 0x7f, 0x07, //0x00000105 vmovdqu %ymm0, (%r15) + 0xc5, 0xfd, 0x74, 0xc1, //0x0000010a vpcmpeqb %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xd8, //0x0000010e vpmovmskb %ymm0, %ebx + 0x85, 0xdb, //0x00000112 testl %ebx, %ebx + 0x0f, 0x85, 0xc2, 0x00, 0x00, 0x00, //0x00000114 jne LBB0_22 + 0x49, 0x83, 0xc6, 0x20, //0x0000011a addq $32, %r14 + 0x49, 0x83, 0xc7, 0x20, //0x0000011e addq $32, %r15 + 0x49, 0x83, 0xfc, 0x3f, //0x00000122 cmpq $63, %r12 + 0x4d, 0x8d, 0x64, 0x24, 0xe0, //0x00000126 leaq $-32(%r12), %r12 + 0x0f, 0x8f, 0xcf, 0xff, 0xff, 0xff, //0x0000012b jg LBB0_12 + //0x00000131 LBB0_14 + 0xc5, 0xf8, 0x77, //0x00000131 vzeroupper + 0xc5, 0xfa, 0x6f, 0x15, 0xe4, 0xfe, 0xff, 0xff, //0x00000134 vmovdqu $-284(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0x49, 0x83, 0xfc, 0x10, //0x0000013c cmpq $16, %r12 + 0x0f, 0x8c, 0x3c, 0x00, 0x00, 0x00, //0x00000140 jl LBB0_17 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000146 .p2align 4, 0x90 + //0x00000150 LBB0_15 + 0xc4, 0xc1, 0x7a, 0x6f, 0x06, //0x00000150 vmovdqu (%r14), %xmm0 + 0xc4, 0xc1, 0x7a, 0x7f, 0x07, //0x00000155 vmovdqu %xmm0, (%r15) + 0xc5, 0xf9, 0x74, 0xc2, //0x0000015a vpcmpeqb %xmm2, %xmm0, %xmm0 + 0xc5, 0xf9, 0xd7, 0xd8, //0x0000015e vpmovmskb %xmm0, %ebx + 0x66, 0x85, 0xdb, //0x00000162 testw %bx, %bx + 0x0f, 0x85, 0x8d, 0x00, 0x00, 0x00, //0x00000165 jne LBB0_23 + 0x49, 0x83, 0xc6, 0x10, //0x0000016b addq $16, %r14 + 0x49, 0x83, 0xc7, 0x10, //0x0000016f addq $16, %r15 + 0x49, 0x83, 0xfc, 0x1f, //0x00000173 cmpq $31, %r12 + 0x4d, 0x8d, 0x64, 0x24, 0xf0, //0x00000177 leaq $-16(%r12), %r12 + 0x0f, 0x8f, 0xce, 0xff, 0xff, 0xff, //0x0000017c jg LBB0_15 + //0x00000182 LBB0_17 + 0x4d, 0x85, 0xe4, //0x00000182 testq %r12, %r12 + 0x0f, 0x84, 0xee, 0xfe, 0xff, 0xff, //0x00000185 je LBB0_3 + 0x31, 0xdb, //0x0000018b xorl %ebx, %ebx + 0xc5, 0xfe, 0x6f, 0x0d, 0x6b, 0xfe, 0xff, 0xff, //0x0000018d vmovdqu $-405(%rip), %ymm1 /* LCPI0_0+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000195 .p2align 4, 0x90 + //0x000001a0 LBB0_19 + 0x45, 0x0f, 0xb6, 0x1c, 0x1e, //0x000001a0 movzbl (%r14,%rbx), %r11d + 0x41, 0x80, 0xfb, 0x5c, //0x000001a5 cmpb $92, %r11b + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x000001a9 je LBB0_21 + 0x45, 0x88, 0x1c, 0x1f, //0x000001af movb %r11b, (%r15,%rbx) + 0x48, 0xff, 0xc3, //0x000001b3 incq %rbx + 0x49, 0x39, 0xdc, //0x000001b6 cmpq %rbx, %r12 + 0x0f, 0x85, 0xe1, 0xff, 0xff, 0xff, //0x000001b9 jne LBB0_19 + 0xe9, 0xb5, 0xfe, 0xff, 0xff, //0x000001bf jmp LBB0_3 + //0x000001c4 LBB0_21 + 0x49, 0x01, 0xde, //0x000001c4 addq %rbx, %r14 + 0x4d, 0x29, 0xce, //0x000001c7 subq %r9, %r14 + 0x4c, 0x89, 0xf3, //0x000001ca movq %r14, %rbx + 0x48, 0x83, 0xfb, 0xff, //0x000001cd cmpq $-1, %rbx + 0x0f, 0x85, 0x49, 0x00, 0x00, 0x00, //0x000001d1 jne LBB0_24 + 0xe9, 0x9d, 0xfe, 0xff, 0xff, //0x000001d7 jmp LBB0_3 + //0x000001dc LBB0_22 + 0x48, 0x63, 0xdb, //0x000001dc movslq %ebx, %rbx + 0x4d, 0x29, 0xce, //0x000001df subq %r9, %r14 + 0x48, 0x0f, 0xbc, 0xdb, //0x000001e2 bsfq %rbx, %rbx + 0x4c, 0x01, 0xf3, //0x000001e6 addq %r14, %rbx + 0x48, 0x83, 0xfb, 0xff, //0x000001e9 cmpq $-1, %rbx + 0x0f, 0x85, 0x2d, 0x00, 0x00, 0x00, //0x000001ed jne LBB0_24 + 0xe9, 0x81, 0xfe, 0xff, 0xff, //0x000001f3 jmp LBB0_3 + //0x000001f8 LBB0_23 + 0x0f, 0xb7, 0xdb, //0x000001f8 movzwl %bx, %ebx + 0x4d, 0x29, 0xce, //0x000001fb subq %r9, %r14 + 0x48, 0x0f, 0xbc, 0xdb, //0x000001fe bsfq %rbx, %rbx + 0x4c, 0x01, 0xf3, //0x00000202 addq %r14, %rbx + 0xc5, 0xfe, 0x6f, 0x0d, 0xf3, 0xfd, 0xff, 0xff, //0x00000205 vmovdqu $-525(%rip), %ymm1 /* LCPI0_0+0(%rip) */ + 0x48, 0x83, 0xfb, 0xff, //0x0000020d cmpq $-1, %rbx + 0x0f, 0x84, 0x62, 0xfe, 0xff, 0xff, //0x00000211 je LBB0_3 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000217 .p2align 4, 0x90 + //0x00000220 LBB0_24 + 0x48, 0x8d, 0x4b, 0x02, //0x00000220 leaq $2(%rbx), %rcx + 0x49, 0x29, 0xcd, //0x00000224 subq %rcx, %r13 + 0x0f, 0x88, 0x10, 0x06, 0x00, 0x00, //0x00000227 js LBB0_99 + 0x4d, 0x8d, 0x4c, 0x19, 0x02, //0x0000022d leaq $2(%r9,%rbx), %r9 + 0x4d, 0x85, 0xd2, //0x00000232 testq %r10, %r10 + 0x0f, 0x85, 0x09, 0x04, 0x00, 0x00, //0x00000235 jne LBB0_67 + //0x0000023b LBB0_26 + 0x48, 0x01, 0xd8, //0x0000023b addq %rbx, %rax + 0x41, 0x0f, 0xb6, 0x49, 0xff, //0x0000023e movzbl $-1(%r9), %ecx + 0x48, 0x8d, 0x1d, 0x86, 0x07, 0x00, 0x00, //0x00000243 leaq $1926(%rip), %rbx /* __UnquoteTab+0(%rip) */ + 0x8a, 0x1c, 0x19, //0x0000024a movb (%rcx,%rbx), %bl + 0x80, 0xfb, 0xff, //0x0000024d cmpb $-1, %bl + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000250 je LBB0_29 + 0x84, 0xdb, //0x00000256 testb %bl, %bl + 0x0f, 0x84, 0xf2, 0x05, 0x00, 0x00, //0x00000258 je LBB0_100 + 0x88, 0x18, //0x0000025e movb %bl, (%rax) + 0x48, 0xff, 0xc0, //0x00000260 incq %rax + 0xe9, 0x5b, 0xfe, 0xff, 0xff, //0x00000263 jmp LBB0_7 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000268 .p2align 4, 0x90 + //0x00000270 LBB0_29 + 0x49, 0x83, 0xfd, 0x03, //0x00000270 cmpq $3, %r13 + 0x0f, 0x8e, 0xc3, 0x05, 0x00, 0x00, //0x00000274 jle LBB0_99 + 0x45, 0x8b, 0x31, //0x0000027a movl (%r9), %r14d + 0x45, 0x89, 0xf7, //0x0000027d movl %r14d, %r15d + 0x41, 0xf7, 0xd7, //0x00000280 notl %r15d + 0x41, 0x8d, 0x8e, 0xd0, 0xcf, 0xcf, 0xcf, //0x00000283 leal $-808464432(%r14), %ecx + 0x41, 0x81, 0xe7, 0x80, 0x80, 0x80, 0x80, //0x0000028a andl $-2139062144, %r15d + 0x41, 0x85, 0xcf, //0x00000291 testl %ecx, %r15d + 0x0f, 0x85, 0xe7, 0x04, 0x00, 0x00, //0x00000294 jne LBB0_90 + 0x41, 0x8d, 0x8e, 0x19, 0x19, 0x19, 0x19, //0x0000029a leal $421075225(%r14), %ecx + 0x44, 0x09, 0xf1, //0x000002a1 orl %r14d, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x000002a4 testl $-2139062144, %ecx + 0x0f, 0x85, 0xd1, 0x04, 0x00, 0x00, //0x000002aa jne LBB0_90 + 0x44, 0x89, 0xf3, //0x000002b0 movl %r14d, %ebx + 0x81, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, //0x000002b3 andl $2139062143, %ebx + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x000002b9 movl $-1061109568, %ecx + 0x29, 0xd9, //0x000002be subl %ebx, %ecx + 0x44, 0x8d, 0x9b, 0x46, 0x46, 0x46, 0x46, //0x000002c0 leal $1179010630(%rbx), %r11d + 0x44, 0x21, 0xf9, //0x000002c7 andl %r15d, %ecx + 0x44, 0x85, 0xd9, //0x000002ca testl %r11d, %ecx + 0x0f, 0x85, 0xae, 0x04, 0x00, 0x00, //0x000002cd jne LBB0_90 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x000002d3 movl $-522133280, %ecx + 0x29, 0xd9, //0x000002d8 subl %ebx, %ecx + 0x81, 0xc3, 0x39, 0x39, 0x39, 0x39, //0x000002da addl $960051513, %ebx + 0x41, 0x21, 0xcf, //0x000002e0 andl %ecx, %r15d + 0x41, 0x85, 0xdf, //0x000002e3 testl %ebx, %r15d + 0x0f, 0x85, 0x95, 0x04, 0x00, 0x00, //0x000002e6 jne LBB0_90 + 0x41, 0x0f, 0xce, //0x000002ec bswapl %r14d + 0x44, 0x89, 0xf1, //0x000002ef movl %r14d, %ecx + 0xc1, 0xe9, 0x04, //0x000002f2 shrl $4, %ecx + 0xf7, 0xd1, //0x000002f5 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x000002f7 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x000002fd leal (%rcx,%rcx,8), %ecx + 0x41, 0x81, 0xe6, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000300 andl $252645135, %r14d + 0x41, 0x01, 0xce, //0x00000307 addl %ecx, %r14d + 0x44, 0x89, 0xf1, //0x0000030a movl %r14d, %ecx + 0xc1, 0xe9, 0x04, //0x0000030d shrl $4, %ecx + 0x44, 0x09, 0xf1, //0x00000310 orl %r14d, %ecx + 0x44, 0x0f, 0xb6, 0xf9, //0x00000313 movzbl %cl, %r15d + 0xc1, 0xe9, 0x08, //0x00000317 shrl $8, %ecx + 0x81, 0xe1, 0x00, 0xff, 0x00, 0x00, //0x0000031a andl $65280, %ecx + 0x41, 0x09, 0xcf, //0x00000320 orl %ecx, %r15d + 0x4d, 0x8d, 0x75, 0xfc, //0x00000323 leaq $-4(%r13), %r14 + 0x41, 0x81, 0xff, 0x80, 0x00, 0x00, 0x00, //0x00000327 cmpl $128, %r15d + 0x0f, 0x82, 0x61, 0x03, 0x00, 0x00, //0x0000032e jb LBB0_75 + 0x45, 0x31, 0xe4, //0x00000334 xorl %r12d, %r12d + 0x4d, 0x85, 0xd2, //0x00000337 testq %r10, %r10 + 0x0f, 0x84, 0x70, 0x01, 0x00, 0x00, //0x0000033a je LBB0_51 + //0x00000340 LBB0_36 + 0x41, 0x81, 0xff, 0x00, 0x08, 0x00, 0x00, //0x00000340 cmpl $2048, %r15d + 0x0f, 0x82, 0x44, 0xfd, 0xff, 0xff, //0x00000347 jb LBB0_5 + 0x44, 0x89, 0xf9, //0x0000034d movl %r15d, %ecx + 0x81, 0xe1, 0x00, 0xf8, 0xff, 0xff, //0x00000350 andl $-2048, %ecx + 0x81, 0xf9, 0x00, 0xd8, 0x00, 0x00, //0x00000356 cmpl $55296, %ecx + 0x0f, 0x85, 0xae, 0x02, 0x00, 0x00, //0x0000035c jne LBB0_65 + 0x4d, 0x85, 0xf6, //0x00000362 testq %r14, %r14 + 0x0f, 0x8e, 0x61, 0x03, 0x00, 0x00, //0x00000365 jle LBB0_80 + 0x43, 0x80, 0x7c, 0x21, 0x04, 0x5c, //0x0000036b cmpb $92, $4(%r9,%r12) + 0x0f, 0x85, 0x64, 0x03, 0x00, 0x00, //0x00000371 jne LBB0_81 + 0x41, 0x81, 0xff, 0xff, 0xdb, 0x00, 0x00, //0x00000377 cmpl $56319, %r15d + 0x0f, 0x87, 0x2a, 0x03, 0x00, 0x00, //0x0000037e ja LBB0_78 + 0x49, 0x83, 0xfe, 0x07, //0x00000384 cmpq $7, %r14 + 0x0f, 0x8c, 0x20, 0x03, 0x00, 0x00, //0x00000388 jl LBB0_78 + 0x43, 0x80, 0x7c, 0x21, 0x05, 0x5c, //0x0000038e cmpb $92, $5(%r9,%r12) + 0x0f, 0x85, 0x14, 0x03, 0x00, 0x00, //0x00000394 jne LBB0_78 + 0x43, 0x80, 0x7c, 0x21, 0x06, 0x75, //0x0000039a cmpb $117, $6(%r9,%r12) + 0x0f, 0x85, 0x08, 0x03, 0x00, 0x00, //0x000003a0 jne LBB0_78 + 0x47, 0x8b, 0x5c, 0x21, 0x07, //0x000003a6 movl $7(%r9,%r12), %r11d + 0x44, 0x89, 0xdb, //0x000003ab movl %r11d, %ebx + 0xf7, 0xd3, //0x000003ae notl %ebx + 0x41, 0x8d, 0x8b, 0xd0, 0xcf, 0xcf, 0xcf, //0x000003b0 leal $-808464432(%r11), %ecx + 0x81, 0xe3, 0x80, 0x80, 0x80, 0x80, //0x000003b7 andl $-2139062144, %ebx + 0x89, 0x5d, 0xcc, //0x000003bd movl %ebx, $-52(%rbp) + 0x85, 0xcb, //0x000003c0 testl %ecx, %ebx + 0x0f, 0x85, 0xbe, 0x04, 0x00, 0x00, //0x000003c2 jne LBB0_104 + 0x41, 0x8d, 0x8b, 0x19, 0x19, 0x19, 0x19, //0x000003c8 leal $421075225(%r11), %ecx + 0x44, 0x09, 0xd9, //0x000003cf orl %r11d, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x000003d2 testl $-2139062144, %ecx + 0x0f, 0x85, 0xa8, 0x04, 0x00, 0x00, //0x000003d8 jne LBB0_104 + 0x44, 0x89, 0xdb, //0x000003de movl %r11d, %ebx + 0x81, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, //0x000003e1 andl $2139062143, %ebx + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x000003e7 movl $-1061109568, %ecx + 0x29, 0xd9, //0x000003ec subl %ebx, %ecx + 0x4c, 0x89, 0x5d, 0xc0, //0x000003ee movq %r11, $-64(%rbp) + 0x44, 0x8d, 0x9b, 0x46, 0x46, 0x46, 0x46, //0x000003f2 leal $1179010630(%rbx), %r11d + 0x23, 0x4d, 0xcc, //0x000003f9 andl $-52(%rbp), %ecx + 0x44, 0x85, 0xd9, //0x000003fc testl %r11d, %ecx + 0x4c, 0x8b, 0x5d, 0xc0, //0x000003ff movq $-64(%rbp), %r11 + 0x0f, 0x85, 0x7d, 0x04, 0x00, 0x00, //0x00000403 jne LBB0_104 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x00000409 movl $-522133280, %ecx + 0x29, 0xd9, //0x0000040e subl %ebx, %ecx + 0x89, 0x4d, 0xc8, //0x00000410 movl %ecx, $-56(%rbp) + 0x81, 0xc3, 0x39, 0x39, 0x39, 0x39, //0x00000413 addl $960051513, %ebx + 0x8b, 0x4d, 0xcc, //0x00000419 movl $-52(%rbp), %ecx + 0x23, 0x4d, 0xc8, //0x0000041c andl $-56(%rbp), %ecx + 0x85, 0xd9, //0x0000041f testl %ebx, %ecx + 0x0f, 0x85, 0x5f, 0x04, 0x00, 0x00, //0x00000421 jne LBB0_104 + 0x41, 0x0f, 0xcb, //0x00000427 bswapl %r11d + 0x44, 0x89, 0xd9, //0x0000042a movl %r11d, %ecx + 0xc1, 0xe9, 0x04, //0x0000042d shrl $4, %ecx + 0xf7, 0xd1, //0x00000430 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00000432 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00000438 leal (%rcx,%rcx,8), %ecx + 0x41, 0x81, 0xe3, 0x0f, 0x0f, 0x0f, 0x0f, //0x0000043b andl $252645135, %r11d + 0x41, 0x01, 0xcb, //0x00000442 addl %ecx, %r11d + 0x44, 0x89, 0xd9, //0x00000445 movl %r11d, %ecx + 0xc1, 0xe9, 0x04, //0x00000448 shrl $4, %ecx + 0x44, 0x09, 0xd9, //0x0000044b orl %r11d, %ecx + 0x89, 0xcb, //0x0000044e movl %ecx, %ebx + 0xc1, 0xeb, 0x08, //0x00000450 shrl $8, %ebx + 0x81, 0xe3, 0x00, 0xff, 0x00, 0x00, //0x00000453 andl $65280, %ebx + 0x44, 0x0f, 0xb6, 0xd9, //0x00000459 movzbl %cl, %r11d + 0x41, 0x09, 0xdb, //0x0000045d orl %ebx, %r11d + 0x81, 0xe1, 0x00, 0x00, 0xfc, 0x00, //0x00000460 andl $16515072, %ecx + 0x81, 0xf9, 0x00, 0x00, 0xdc, 0x00, //0x00000466 cmpl $14417920, %ecx + 0x0f, 0x84, 0x97, 0x02, 0x00, 0x00, //0x0000046c je LBB0_85 + 0x41, 0xf6, 0xc0, 0x02, //0x00000472 testb $2, %r8b + 0x0f, 0x84, 0x1d, 0x05, 0x00, 0x00, //0x00000476 je LBB0_119 + 0x49, 0x83, 0xc6, 0xf9, //0x0000047c addq $-7, %r14 + 0x66, 0xc7, 0x00, 0xef, 0xbf, //0x00000480 movw $-16401, (%rax) + 0xc6, 0x40, 0x02, 0xbd, //0x00000485 movb $-67, $2(%rax) + 0x48, 0x83, 0xc0, 0x03, //0x00000489 addq $3, %rax + 0x49, 0x83, 0xc4, 0x07, //0x0000048d addq $7, %r12 + 0x45, 0x89, 0xdf, //0x00000491 movl %r11d, %r15d + 0x41, 0x83, 0xfb, 0x7f, //0x00000494 cmpl $127, %r11d + 0x0f, 0x87, 0xa2, 0xfe, 0xff, 0xff, //0x00000498 ja LBB0_36 + 0xe9, 0x59, 0x01, 0x00, 0x00, //0x0000049e jmp LBB0_64 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000004a3 .p2align 4, 0x90 + //0x000004b0 LBB0_51 + 0x41, 0x81, 0xff, 0x00, 0x08, 0x00, 0x00, //0x000004b0 cmpl $2048, %r15d + 0x0f, 0x82, 0xd4, 0xfb, 0xff, 0xff, //0x000004b7 jb LBB0_5 + 0x44, 0x89, 0xf9, //0x000004bd movl %r15d, %ecx + 0x81, 0xe1, 0x00, 0xf8, 0xff, 0xff, //0x000004c0 andl $-2048, %ecx + 0x81, 0xf9, 0x00, 0xd8, 0x00, 0x00, //0x000004c6 cmpl $55296, %ecx + 0x0f, 0x85, 0x3e, 0x01, 0x00, 0x00, //0x000004cc jne LBB0_65 + 0x41, 0x81, 0xff, 0xff, 0xdb, 0x00, 0x00, //0x000004d2 cmpl $56319, %r15d + 0x0f, 0x87, 0xc5, 0x01, 0x00, 0x00, //0x000004d9 ja LBB0_77 + 0x49, 0x83, 0xfe, 0x06, //0x000004df cmpq $6, %r14 + 0x0f, 0x8c, 0xbb, 0x01, 0x00, 0x00, //0x000004e3 jl LBB0_77 + 0x43, 0x80, 0x7c, 0x21, 0x04, 0x5c, //0x000004e9 cmpb $92, $4(%r9,%r12) + 0x0f, 0x85, 0xaf, 0x01, 0x00, 0x00, //0x000004ef jne LBB0_77 + 0x43, 0x80, 0x7c, 0x21, 0x05, 0x75, //0x000004f5 cmpb $117, $5(%r9,%r12) + 0x0f, 0x85, 0xa3, 0x01, 0x00, 0x00, //0x000004fb jne LBB0_77 + 0x47, 0x8b, 0x5c, 0x21, 0x06, //0x00000501 movl $6(%r9,%r12), %r11d + 0x44, 0x89, 0xdb, //0x00000506 movl %r11d, %ebx + 0xf7, 0xd3, //0x00000509 notl %ebx + 0x41, 0x8d, 0x8b, 0xd0, 0xcf, 0xcf, 0xcf, //0x0000050b leal $-808464432(%r11), %ecx + 0x81, 0xe3, 0x80, 0x80, 0x80, 0x80, //0x00000512 andl $-2139062144, %ebx + 0x89, 0x5d, 0xcc, //0x00000518 movl %ebx, $-52(%rbp) + 0x85, 0xcb, //0x0000051b testl %ecx, %ebx + 0x0f, 0x85, 0x59, 0x03, 0x00, 0x00, //0x0000051d jne LBB0_103 + 0x41, 0x8d, 0x8b, 0x19, 0x19, 0x19, 0x19, //0x00000523 leal $421075225(%r11), %ecx + 0x44, 0x09, 0xd9, //0x0000052a orl %r11d, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x0000052d testl $-2139062144, %ecx + 0x0f, 0x85, 0x43, 0x03, 0x00, 0x00, //0x00000533 jne LBB0_103 + 0x44, 0x89, 0xdb, //0x00000539 movl %r11d, %ebx + 0x81, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, //0x0000053c andl $2139062143, %ebx + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x00000542 movl $-1061109568, %ecx + 0x29, 0xd9, //0x00000547 subl %ebx, %ecx + 0x4c, 0x89, 0x5d, 0xc0, //0x00000549 movq %r11, $-64(%rbp) + 0x44, 0x8d, 0x9b, 0x46, 0x46, 0x46, 0x46, //0x0000054d leal $1179010630(%rbx), %r11d + 0x23, 0x4d, 0xcc, //0x00000554 andl $-52(%rbp), %ecx + 0x44, 0x85, 0xd9, //0x00000557 testl %r11d, %ecx + 0x4c, 0x8b, 0x5d, 0xc0, //0x0000055a movq $-64(%rbp), %r11 + 0x0f, 0x85, 0x18, 0x03, 0x00, 0x00, //0x0000055e jne LBB0_103 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x00000564 movl $-522133280, %ecx + 0x29, 0xd9, //0x00000569 subl %ebx, %ecx + 0x89, 0x4d, 0xc8, //0x0000056b movl %ecx, $-56(%rbp) + 0x81, 0xc3, 0x39, 0x39, 0x39, 0x39, //0x0000056e addl $960051513, %ebx + 0x8b, 0x4d, 0xcc, //0x00000574 movl $-52(%rbp), %ecx + 0x23, 0x4d, 0xc8, //0x00000577 andl $-56(%rbp), %ecx + 0x85, 0xd9, //0x0000057a testl %ebx, %ecx + 0x0f, 0x85, 0xfa, 0x02, 0x00, 0x00, //0x0000057c jne LBB0_103 + 0x41, 0x0f, 0xcb, //0x00000582 bswapl %r11d + 0x44, 0x89, 0xd9, //0x00000585 movl %r11d, %ecx + 0xc1, 0xe9, 0x04, //0x00000588 shrl $4, %ecx + 0xf7, 0xd1, //0x0000058b notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x0000058d andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00000593 leal (%rcx,%rcx,8), %ecx + 0x41, 0x81, 0xe3, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000596 andl $252645135, %r11d + 0x41, 0x01, 0xcb, //0x0000059d addl %ecx, %r11d + 0x44, 0x89, 0xd9, //0x000005a0 movl %r11d, %ecx + 0xc1, 0xe9, 0x04, //0x000005a3 shrl $4, %ecx + 0x44, 0x09, 0xd9, //0x000005a6 orl %r11d, %ecx + 0x89, 0xcb, //0x000005a9 movl %ecx, %ebx + 0xc1, 0xeb, 0x08, //0x000005ab shrl $8, %ebx + 0x81, 0xe3, 0x00, 0xff, 0x00, 0x00, //0x000005ae andl $65280, %ebx + 0x44, 0x0f, 0xb6, 0xd9, //0x000005b4 movzbl %cl, %r11d + 0x41, 0x09, 0xdb, //0x000005b8 orl %ebx, %r11d + 0x81, 0xe1, 0x00, 0x00, 0xfc, 0x00, //0x000005bb andl $16515072, %ecx + 0x81, 0xf9, 0x00, 0x00, 0xdc, 0x00, //0x000005c1 cmpl $14417920, %ecx + 0x0f, 0x84, 0x2b, 0x01, 0x00, 0x00, //0x000005c7 je LBB0_84 + 0x41, 0xf6, 0xc0, 0x02, //0x000005cd testb $2, %r8b + 0x0f, 0x84, 0xb8, 0x03, 0x00, 0x00, //0x000005d1 je LBB0_118 + 0x49, 0x83, 0xc6, 0xfa, //0x000005d7 addq $-6, %r14 + 0x66, 0xc7, 0x00, 0xef, 0xbf, //0x000005db movw $-16401, (%rax) + 0xc6, 0x40, 0x02, 0xbd, //0x000005e0 movb $-67, $2(%rax) + 0x48, 0x83, 0xc0, 0x03, //0x000005e4 addq $3, %rax + 0x49, 0x83, 0xc4, 0x06, //0x000005e8 addq $6, %r12 + 0x45, 0x89, 0xdf, //0x000005ec movl %r11d, %r15d + 0x41, 0x81, 0xfb, 0x80, 0x00, 0x00, 0x00, //0x000005ef cmpl $128, %r11d + 0x0f, 0x83, 0xb4, 0xfe, 0xff, 0xff, //0x000005f6 jae LBB0_51 + //0x000005fc LBB0_64 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x000005fc leaq $4(%r9,%r12), %r9 + 0x45, 0x89, 0xdf, //0x00000601 movl %r11d, %r15d + 0xe9, 0x90, 0x00, 0x00, 0x00, //0x00000604 jmp LBB0_76 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000609 .p2align 4, 0x90 + //0x00000610 LBB0_65 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x00000610 leaq $4(%r9,%r12), %r9 + 0x44, 0x89, 0xf9, //0x00000615 movl %r15d, %ecx + 0xc1, 0xe9, 0x0c, //0x00000618 shrl $12, %ecx + 0x80, 0xc9, 0xe0, //0x0000061b orb $-32, %cl + 0x88, 0x08, //0x0000061e movb %cl, (%rax) + 0x44, 0x89, 0xf9, //0x00000620 movl %r15d, %ecx + 0xc1, 0xe9, 0x06, //0x00000623 shrl $6, %ecx + 0x80, 0xe1, 0x3f, //0x00000626 andb $63, %cl + 0x80, 0xc9, 0x80, //0x00000629 orb $-128, %cl + 0x88, 0x48, 0x01, //0x0000062c movb %cl, $1(%rax) + 0x41, 0x80, 0xe7, 0x3f, //0x0000062f andb $63, %r15b + 0x41, 0x80, 0xcf, 0x80, //0x00000633 orb $-128, %r15b + 0x44, 0x88, 0x78, 0x02, //0x00000637 movb %r15b, $2(%rax) + //0x0000063b LBB0_66 + 0x48, 0x83, 0xc0, 0x03, //0x0000063b addq $3, %rax + 0xe9, 0x7c, 0xfa, 0xff, 0xff, //0x0000063f jmp LBB0_6 + //0x00000644 LBB0_67 + 0x45, 0x85, 0xed, //0x00000644 testl %r13d, %r13d + 0x0f, 0x84, 0xf0, 0x01, 0x00, 0x00, //0x00000647 je LBB0_99 + 0x41, 0x80, 0x79, 0xff, 0x5c, //0x0000064d cmpb $92, $-1(%r9) + 0x0f, 0x85, 0x19, 0x02, 0x00, 0x00, //0x00000652 jne LBB0_102 + 0x41, 0x80, 0x39, 0x5c, //0x00000658 cmpb $92, (%r9) + 0x0f, 0x85, 0x28, 0x00, 0x00, 0x00, //0x0000065c jne LBB0_74 + 0x41, 0x83, 0xfd, 0x01, //0x00000662 cmpl $1, %r13d + 0x0f, 0x8e, 0xd1, 0x01, 0x00, 0x00, //0x00000666 jle LBB0_99 + 0x45, 0x8a, 0x59, 0x01, //0x0000066c movb $1(%r9), %r11b + 0x41, 0x80, 0xfb, 0x22, //0x00000670 cmpb $34, %r11b + 0x0f, 0x84, 0x0a, 0x00, 0x00, 0x00, //0x00000674 je LBB0_73 + 0x41, 0x80, 0xfb, 0x5c, //0x0000067a cmpb $92, %r11b + 0x0f, 0x85, 0xd8, 0x02, 0x00, 0x00, //0x0000067e jne LBB0_114 + //0x00000684 LBB0_73 + 0x49, 0xff, 0xc1, //0x00000684 incq %r9 + 0x49, 0xff, 0xcd, //0x00000687 decq %r13 + //0x0000068a LBB0_74 + 0x49, 0xff, 0xc1, //0x0000068a incq %r9 + 0x49, 0xff, 0xcd, //0x0000068d decq %r13 + 0xe9, 0xa6, 0xfb, 0xff, 0xff, //0x00000690 jmp LBB0_26 + //0x00000695 LBB0_75 + 0x49, 0x83, 0xc1, 0x04, //0x00000695 addq $4, %r9 + //0x00000699 LBB0_76 + 0x44, 0x88, 0x38, //0x00000699 movb %r15b, (%rax) + 0x48, 0xff, 0xc0, //0x0000069c incq %rax + 0xe9, 0x1c, 0xfa, 0xff, 0xff, //0x0000069f jmp LBB0_6 + //0x000006a4 LBB0_77 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x000006a4 leaq $4(%r9,%r12), %r9 + 0xe9, 0x0f, 0x00, 0x00, 0x00, //0x000006a9 jmp LBB0_79 + //0x000006ae LBB0_78 + 0x4f, 0x8d, 0x4c, 0x21, 0x05, //0x000006ae leaq $5(%r9,%r12), %r9 + 0x4d, 0x29, 0xe5, //0x000006b3 subq %r12, %r13 + 0x49, 0x83, 0xc5, 0xfb, //0x000006b6 addq $-5, %r13 + 0x4d, 0x89, 0xee, //0x000006ba movq %r13, %r14 + //0x000006bd LBB0_79 + 0x41, 0xf6, 0xc0, 0x02, //0x000006bd testb $2, %r8b + 0x0f, 0x85, 0x23, 0x00, 0x00, 0x00, //0x000006c1 jne LBB0_83 + 0xe9, 0xec, 0x02, 0x00, 0x00, //0x000006c7 jmp LBB0_121 + //0x000006cc LBB0_80 + 0x41, 0xf6, 0xc0, 0x02, //0x000006cc testb $2, %r8b + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x000006d0 jne LBB0_82 + 0xe9, 0x62, 0x01, 0x00, 0x00, //0x000006d6 jmp LBB0_99 + //0x000006db LBB0_81 + 0x41, 0xf6, 0xc0, 0x02, //0x000006db testb $2, %r8b + 0x0f, 0x84, 0xe0, 0x02, 0x00, 0x00, //0x000006df je LBB0_122 + //0x000006e5 LBB0_82 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x000006e5 leaq $4(%r9,%r12), %r9 + //0x000006ea LBB0_83 + 0x66, 0xc7, 0x00, 0xef, 0xbf, //0x000006ea movw $-16401, (%rax) + 0xc6, 0x40, 0x02, 0xbd, //0x000006ef movb $-67, $2(%rax) + 0xe9, 0x43, 0xff, 0xff, 0xff, //0x000006f3 jmp LBB0_66 + //0x000006f8 LBB0_84 + 0x4f, 0x8d, 0x4c, 0x21, 0x0a, //0x000006f8 leaq $10(%r9,%r12), %r9 + 0x4d, 0x29, 0xe5, //0x000006fd subq %r12, %r13 + 0x49, 0x83, 0xc5, 0xf6, //0x00000700 addq $-10, %r13 + 0xe9, 0x0c, 0x00, 0x00, 0x00, //0x00000704 jmp LBB0_86 + //0x00000709 LBB0_85 + 0x4f, 0x8d, 0x4c, 0x21, 0x0b, //0x00000709 leaq $11(%r9,%r12), %r9 + 0x4d, 0x29, 0xe5, //0x0000070e subq %r12, %r13 + 0x49, 0x83, 0xc5, 0xf5, //0x00000711 addq $-11, %r13 + //0x00000715 LBB0_86 + 0x41, 0xc1, 0xe7, 0x0a, //0x00000715 shll $10, %r15d + 0x43, 0x8d, 0x9c, 0x1f, 0x00, 0x24, 0xa0, 0xfc, //0x00000719 leal $-56613888(%r15,%r11), %ebx + 0x81, 0xfb, 0x00, 0x00, 0x11, 0x00, //0x00000721 cmpl $1114112, %ebx + 0x0f, 0x82, 0x1c, 0x00, 0x00, 0x00, //0x00000727 jb LBB0_89 + 0x41, 0xf6, 0xc0, 0x02, //0x0000072d testb $2, %r8b + 0x0f, 0x84, 0x3e, 0x02, 0x00, 0x00, //0x00000731 je LBB0_116 + 0x66, 0xc7, 0x00, 0xef, 0xbf, //0x00000737 movw $-16401, (%rax) + 0xc6, 0x40, 0x02, 0xbd, //0x0000073c movb $-67, $2(%rax) + 0x48, 0x83, 0xc0, 0x03, //0x00000740 addq $3, %rax + 0xe9, 0x7a, 0xf9, 0xff, 0xff, //0x00000744 jmp LBB0_7 + //0x00000749 LBB0_89 + 0x89, 0xd9, //0x00000749 movl %ebx, %ecx + 0xc1, 0xe9, 0x12, //0x0000074b shrl $18, %ecx + 0x80, 0xc9, 0xf0, //0x0000074e orb $-16, %cl + 0x88, 0x08, //0x00000751 movb %cl, (%rax) + 0x89, 0xd9, //0x00000753 movl %ebx, %ecx + 0xc1, 0xe9, 0x0c, //0x00000755 shrl $12, %ecx + 0x80, 0xe1, 0x3f, //0x00000758 andb $63, %cl + 0x80, 0xc9, 0x80, //0x0000075b orb $-128, %cl + 0x88, 0x48, 0x01, //0x0000075e movb %cl, $1(%rax) + 0x89, 0xd9, //0x00000761 movl %ebx, %ecx + 0xc1, 0xe9, 0x06, //0x00000763 shrl $6, %ecx + 0x80, 0xe1, 0x3f, //0x00000766 andb $63, %cl + 0x80, 0xc9, 0x80, //0x00000769 orb $-128, %cl + 0x88, 0x48, 0x02, //0x0000076c movb %cl, $2(%rax) + 0x80, 0xe3, 0x3f, //0x0000076f andb $63, %bl + 0x80, 0xcb, 0x80, //0x00000772 orb $-128, %bl + 0x88, 0x58, 0x03, //0x00000775 movb %bl, $3(%rax) + 0x48, 0x83, 0xc0, 0x04, //0x00000778 addq $4, %rax + 0xe9, 0x42, 0xf9, 0xff, 0xff, //0x0000077c jmp LBB0_7 + //0x00000781 LBB0_90 + 0x4c, 0x89, 0xca, //0x00000781 movq %r9, %rdx + 0x48, 0x29, 0xfa, //0x00000784 subq %rdi, %rdx + 0x48, 0x8b, 0x7d, 0xd0, //0x00000787 movq $-48(%rbp), %rdi + 0x48, 0x89, 0x17, //0x0000078b movq %rdx, (%rdi) + 0x41, 0x8a, 0x31, //0x0000078e movb (%r9), %sil + 0x8d, 0x4e, 0xd0, //0x00000791 leal $-48(%rsi), %ecx + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000794 movq $-2, %rax + 0x80, 0xf9, 0x0a, //0x0000079b cmpb $10, %cl + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x0000079e jb LBB0_92 + 0x40, 0x80, 0xe6, 0xdf, //0x000007a4 andb $-33, %sil + 0x40, 0x80, 0xc6, 0xbf, //0x000007a8 addb $-65, %sil + 0x40, 0x80, 0xfe, 0x05, //0x000007ac cmpb $5, %sil + 0x0f, 0x87, 0xc9, 0xf8, 0xff, 0xff, //0x000007b0 ja LBB0_4 + //0x000007b6 LBB0_92 + 0x48, 0x8d, 0x4a, 0x01, //0x000007b6 leaq $1(%rdx), %rcx + 0x48, 0x89, 0x0f, //0x000007ba movq %rcx, (%rdi) + 0x41, 0x8a, 0x71, 0x01, //0x000007bd movb $1(%r9), %sil + 0x8d, 0x4e, 0xd0, //0x000007c1 leal $-48(%rsi), %ecx + 0x80, 0xf9, 0x0a, //0x000007c4 cmpb $10, %cl + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x000007c7 jb LBB0_94 + 0x40, 0x80, 0xe6, 0xdf, //0x000007cd andb $-33, %sil + 0x40, 0x80, 0xc6, 0xbf, //0x000007d1 addb $-65, %sil + 0x40, 0x80, 0xfe, 0x05, //0x000007d5 cmpb $5, %sil + 0x0f, 0x87, 0xa0, 0xf8, 0xff, 0xff, //0x000007d9 ja LBB0_4 + //0x000007df LBB0_94 + 0x48, 0x8d, 0x4a, 0x02, //0x000007df leaq $2(%rdx), %rcx + 0x48, 0x89, 0x0f, //0x000007e3 movq %rcx, (%rdi) + 0x41, 0x8a, 0x71, 0x02, //0x000007e6 movb $2(%r9), %sil + 0x8d, 0x4e, 0xd0, //0x000007ea leal $-48(%rsi), %ecx + 0x80, 0xf9, 0x0a, //0x000007ed cmpb $10, %cl + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x000007f0 jb LBB0_96 + 0x40, 0x80, 0xe6, 0xdf, //0x000007f6 andb $-33, %sil + 0x40, 0x80, 0xc6, 0xbf, //0x000007fa addb $-65, %sil + 0x40, 0x80, 0xfe, 0x05, //0x000007fe cmpb $5, %sil + 0x0f, 0x87, 0x77, 0xf8, 0xff, 0xff, //0x00000802 ja LBB0_4 + //0x00000808 LBB0_96 + 0x48, 0x8d, 0x4a, 0x03, //0x00000808 leaq $3(%rdx), %rcx + 0x48, 0x89, 0x0f, //0x0000080c movq %rcx, (%rdi) + 0x41, 0x8a, 0x71, 0x03, //0x0000080f movb $3(%r9), %sil + 0x8d, 0x4e, 0xd0, //0x00000813 leal $-48(%rsi), %ecx + 0x80, 0xf9, 0x0a, //0x00000816 cmpb $10, %cl + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x00000819 jb LBB0_98 + 0x40, 0x80, 0xe6, 0xdf, //0x0000081f andb $-33, %sil + 0x40, 0x80, 0xc6, 0xbf, //0x00000823 addb $-65, %sil + 0x40, 0x80, 0xfe, 0x05, //0x00000827 cmpb $5, %sil + 0x0f, 0x87, 0x4e, 0xf8, 0xff, 0xff, //0x0000082b ja LBB0_4 + //0x00000831 LBB0_98 + 0x48, 0x83, 0xc2, 0x04, //0x00000831 addq $4, %rdx + 0x48, 0x89, 0x17, //0x00000835 movq %rdx, (%rdi) + 0xe9, 0x42, 0xf8, 0xff, 0xff, //0x00000838 jmp LBB0_4 + //0x0000083d LBB0_99 + 0x48, 0x8b, 0x45, 0xd0, //0x0000083d movq $-48(%rbp), %rax + 0x48, 0x89, 0x30, //0x00000841 movq %rsi, (%rax) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000844 movq $-1, %rax + 0xe9, 0x2f, 0xf8, 0xff, 0xff, //0x0000084b jmp LBB0_4 + //0x00000850 LBB0_100 + 0x48, 0xf7, 0xd7, //0x00000850 notq %rdi + 0x49, 0x01, 0xf9, //0x00000853 addq %rdi, %r9 + 0x48, 0x8b, 0x45, 0xd0, //0x00000856 movq $-48(%rbp), %rax + 0x4c, 0x89, 0x08, //0x0000085a movq %r9, (%rax) + 0x48, 0xc7, 0xc0, 0xfd, 0xff, 0xff, 0xff, //0x0000085d movq $-3, %rax + 0xe9, 0x16, 0xf8, 0xff, 0xff, //0x00000864 jmp LBB0_4 + //0x00000869 LBB0_101 + 0x45, 0x31, 0xed, //0x00000869 xorl %r13d, %r13d + 0xe9, 0x08, 0xf8, 0xff, 0xff, //0x0000086c jmp LBB0_3 + //0x00000871 LBB0_102 + 0x48, 0xf7, 0xd7, //0x00000871 notq %rdi + 0x49, 0x01, 0xf9, //0x00000874 addq %rdi, %r9 + 0xe9, 0xe6, 0x00, 0x00, 0x00, //0x00000877 jmp LBB0_115 + //0x0000087c LBB0_103 + 0x4b, 0x8d, 0x74, 0x21, 0x04, //0x0000087c leaq $4(%r9,%r12), %rsi + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00000881 jmp LBB0_105 + //0x00000886 LBB0_104 + 0x4b, 0x8d, 0x74, 0x21, 0x05, //0x00000886 leaq $5(%r9,%r12), %rsi + //0x0000088b LBB0_105 + 0x48, 0x89, 0xf2, //0x0000088b movq %rsi, %rdx + 0x48, 0x29, 0xfa, //0x0000088e subq %rdi, %rdx + 0x48, 0x83, 0xc2, 0x02, //0x00000891 addq $2, %rdx + 0x48, 0x8b, 0x45, 0xd0, //0x00000895 movq $-48(%rbp), %rax + 0x48, 0x89, 0x10, //0x00000899 movq %rdx, (%rax) + 0x40, 0x8a, 0x7e, 0x02, //0x0000089c movb $2(%rsi), %dil + 0x8d, 0x4f, 0xd0, //0x000008a0 leal $-48(%rdi), %ecx + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000008a3 movq $-2, %rax + 0x80, 0xf9, 0x0a, //0x000008aa cmpb $10, %cl + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x000008ad jb LBB0_107 + 0x40, 0x80, 0xe7, 0xdf, //0x000008b3 andb $-33, %dil + 0x40, 0x80, 0xc7, 0xbf, //0x000008b7 addb $-65, %dil + 0x40, 0x80, 0xff, 0x05, //0x000008bb cmpb $5, %dil + 0x0f, 0x87, 0xba, 0xf7, 0xff, 0xff, //0x000008bf ja LBB0_4 + //0x000008c5 LBB0_107 + 0x48, 0x8d, 0x4a, 0x01, //0x000008c5 leaq $1(%rdx), %rcx + 0x48, 0x8b, 0x7d, 0xd0, //0x000008c9 movq $-48(%rbp), %rdi + 0x48, 0x89, 0x0f, //0x000008cd movq %rcx, (%rdi) + 0x40, 0x8a, 0x7e, 0x03, //0x000008d0 movb $3(%rsi), %dil + 0x8d, 0x4f, 0xd0, //0x000008d4 leal $-48(%rdi), %ecx + 0x80, 0xf9, 0x0a, //0x000008d7 cmpb $10, %cl + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x000008da jb LBB0_109 + 0x40, 0x80, 0xe7, 0xdf, //0x000008e0 andb $-33, %dil + 0x40, 0x80, 0xc7, 0xbf, //0x000008e4 addb $-65, %dil + 0x40, 0x80, 0xff, 0x05, //0x000008e8 cmpb $5, %dil + 0x0f, 0x87, 0x8d, 0xf7, 0xff, 0xff, //0x000008ec ja LBB0_4 + //0x000008f2 LBB0_109 + 0x48, 0x8d, 0x4a, 0x02, //0x000008f2 leaq $2(%rdx), %rcx + 0x48, 0x8b, 0x7d, 0xd0, //0x000008f6 movq $-48(%rbp), %rdi + 0x48, 0x89, 0x0f, //0x000008fa movq %rcx, (%rdi) + 0x40, 0x8a, 0x7e, 0x04, //0x000008fd movb $4(%rsi), %dil + 0x8d, 0x4f, 0xd0, //0x00000901 leal $-48(%rdi), %ecx + 0x80, 0xf9, 0x0a, //0x00000904 cmpb $10, %cl + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x00000907 jb LBB0_111 + 0x40, 0x80, 0xe7, 0xdf, //0x0000090d andb $-33, %dil + 0x40, 0x80, 0xc7, 0xbf, //0x00000911 addb $-65, %dil + 0x40, 0x80, 0xff, 0x05, //0x00000915 cmpb $5, %dil + 0x0f, 0x87, 0x60, 0xf7, 0xff, 0xff, //0x00000919 ja LBB0_4 + //0x0000091f LBB0_111 + 0x48, 0x8d, 0x4a, 0x03, //0x0000091f leaq $3(%rdx), %rcx + 0x48, 0x8b, 0x7d, 0xd0, //0x00000923 movq $-48(%rbp), %rdi + 0x48, 0x89, 0x0f, //0x00000927 movq %rcx, (%rdi) + 0x40, 0x8a, 0x76, 0x05, //0x0000092a movb $5(%rsi), %sil + 0x8d, 0x4e, 0xd0, //0x0000092e leal $-48(%rsi), %ecx + 0x80, 0xf9, 0x0a, //0x00000931 cmpb $10, %cl + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x00000934 jb LBB0_113 + 0x40, 0x80, 0xe6, 0xdf, //0x0000093a andb $-33, %sil + 0x40, 0x80, 0xc6, 0xbf, //0x0000093e addb $-65, %sil + 0x40, 0x80, 0xfe, 0x05, //0x00000942 cmpb $5, %sil + 0x0f, 0x87, 0x33, 0xf7, 0xff, 0xff, //0x00000946 ja LBB0_4 + //0x0000094c LBB0_113 + 0x48, 0x83, 0xc2, 0x04, //0x0000094c addq $4, %rdx + 0x48, 0x8b, 0x4d, 0xd0, //0x00000950 movq $-48(%rbp), %rcx + 0x48, 0x89, 0x11, //0x00000954 movq %rdx, (%rcx) + 0xe9, 0x23, 0xf7, 0xff, 0xff, //0x00000957 jmp LBB0_4 + //0x0000095c LBB0_114 + 0x49, 0x29, 0xf9, //0x0000095c subq %rdi, %r9 + 0x49, 0xff, 0xc1, //0x0000095f incq %r9 + //0x00000962 LBB0_115 + 0x48, 0x8b, 0x45, 0xd0, //0x00000962 movq $-48(%rbp), %rax + 0x4c, 0x89, 0x08, //0x00000966 movq %r9, (%rax) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000969 movq $-2, %rax + 0xe9, 0x0a, 0xf7, 0xff, 0xff, //0x00000970 jmp LBB0_4 + //0x00000975 LBB0_116 + 0x49, 0x29, 0xf9, //0x00000975 subq %rdi, %r9 + 0x49, 0x83, 0xc1, 0xfc, //0x00000978 addq $-4, %r9 + //0x0000097c LBB0_117 + 0x48, 0x8b, 0x45, 0xd0, //0x0000097c movq $-48(%rbp), %rax + 0x4c, 0x89, 0x08, //0x00000980 movq %r9, (%rax) + 0x48, 0xc7, 0xc0, 0xfc, 0xff, 0xff, 0xff, //0x00000983 movq $-4, %rax + 0xe9, 0xf0, 0xf6, 0xff, 0xff, //0x0000098a jmp LBB0_4 + //0x0000098f LBB0_118 + 0x4b, 0x8d, 0x44, 0x21, 0x0a, //0x0000098f leaq $10(%r9,%r12), %rax + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00000994 jmp LBB0_120 + //0x00000999 LBB0_119 + 0x4b, 0x8d, 0x44, 0x21, 0x0b, //0x00000999 leaq $11(%r9,%r12), %rax + //0x0000099e LBB0_120 + 0x48, 0x29, 0xf8, //0x0000099e subq %rdi, %rax + 0x48, 0x83, 0xc0, 0xfc, //0x000009a1 addq $-4, %rax + 0x48, 0x8b, 0x4d, 0xd0, //0x000009a5 movq $-48(%rbp), %rcx + 0x48, 0x89, 0x01, //0x000009a9 movq %rax, (%rcx) + 0x48, 0xc7, 0xc0, 0xfc, 0xff, 0xff, 0xff, //0x000009ac movq $-4, %rax + 0xe9, 0xc7, 0xf6, 0xff, 0xff, //0x000009b3 jmp LBB0_4 + //0x000009b8 LBB0_121 + 0x49, 0x8d, 0x44, 0x3a, 0x04, //0x000009b8 leaq $4(%r10,%rdi), %rax + 0x49, 0x29, 0xc1, //0x000009bd subq %rax, %r9 + 0xe9, 0xb7, 0xff, 0xff, 0xff, //0x000009c0 jmp LBB0_117 + //0x000009c5 LBB0_122 + 0x4d, 0x01, 0xe1, //0x000009c5 addq %r12, %r9 + 0x49, 0x29, 0xf9, //0x000009c8 subq %rdi, %r9 + 0xe9, 0xac, 0xff, 0xff, 0xff, //0x000009cb jmp LBB0_117 + //0x000009d0 .p2align 4, 0x00 + //0x000009d0 __UnquoteTab + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, //0x000009f0 QUAD $0x0000000000220000; QUAD $0x2f00000000000000 // .ascii 16, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, //0x00000a20 QUAD $0x0000000000000000; QUAD $0x0000005c00000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00' + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, //0x00000a30 QUAD $0x000c000000080000; QUAD $0x000a000000000000 // .ascii 16, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00' + 0x00, 0x00, 0x0d, 0x00, 0x09, 0xff, //0x00000a40 LONG $0x000d0000; WORD $0xff09 // .ascii 6, '\x00\x00\r\x00\t\xff' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a46 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a56 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a66 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a76 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a86 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a96 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000aa6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ab6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ac6 QUAD $0x0000000000000000; WORD $0x0000 // .space 10, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_one.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_one.go new file mode 100644 index 0000000..2ca6d83 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_one.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_validate_one func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_validate_one uintptr + +//go:nosplit +func validate_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_validate_one(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_one_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_one_subr.go new file mode 100644 index 0000000..bd1ffcd --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_one_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__validate_one = 432 +) + +const ( + _stack__validate_one = 120 +) + +const ( + _size__validate_one = 10328 +) + +var ( + _pcsp__validate_one = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {9772, 120}, + {9776, 48}, + {9777, 40}, + {9779, 32}, + {9781, 24}, + {9783, 16}, + {9785, 8}, + {9789, 0}, + {10328, 120}, + } +) + +var _cfunc_validate_one = []loader.CFunc{ + {"_validate_one_entry", 0, _entry__validate_one, 0, nil}, + {"_validate_one", _entry__validate_one, _size__validate_one, _stack__validate_one, _pcsp__validate_one}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_one_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_one_text_amd64.go new file mode 100644 index 0000000..77adf90 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_one_text_amd64.go @@ -0,0 +1,3079 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_validate_one = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x20, // .byte 32 + 0x00, //0x00000001 .byte 0 + 0x00, //0x00000002 .byte 0 + 0x00, //0x00000003 .byte 0 + 0x00, //0x00000004 .byte 0 + 0x00, //0x00000005 .byte 0 + 0x00, //0x00000006 .byte 0 + 0x00, //0x00000007 .byte 0 + 0x00, //0x00000008 .byte 0 + 0x09, //0x00000009 .byte 9 + 0x0a, //0x0000000a .byte 10 + 0x00, //0x0000000b .byte 0 + 0x00, //0x0000000c .byte 0 + 0x0d, //0x0000000d .byte 13 + 0x00, //0x0000000e .byte 0 + 0x00, //0x0000000f .byte 0 + 0x20, //0x00000010 .byte 32 + 0x00, //0x00000011 .byte 0 + 0x00, //0x00000012 .byte 0 + 0x00, //0x00000013 .byte 0 + 0x00, //0x00000014 .byte 0 + 0x00, //0x00000015 .byte 0 + 0x00, //0x00000016 .byte 0 + 0x00, //0x00000017 .byte 0 + 0x00, //0x00000018 .byte 0 + 0x09, //0x00000019 .byte 9 + 0x0a, //0x0000001a .byte 10 + 0x00, //0x0000001b .byte 0 + 0x00, //0x0000001c .byte 0 + 0x0d, //0x0000001d .byte 13 + 0x00, //0x0000001e .byte 0 + 0x00, //0x0000001f .byte 0 + //0x00000020 LCPI0_1 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000020 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000030 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000040 LCPI0_2 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000040 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000050 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000060 LCPI0_3 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000060 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000070 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000080 LCPI0_4 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000080 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000090 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x000000a0 LCPI0_5 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x000000a0 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x000000b0 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x000000c0 LCPI0_6 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x000000c0 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x000000d0 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x000000e0 LCPI0_7 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x000000e0 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x000000f0 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000100 LCPI0_8 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000100 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000110 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000120 LCPI0_9 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000120 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000130 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000140 .p2align 4, 0x00 + //0x00000140 LCPI0_10 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000140 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000150 LCPI0_11 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000150 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000160 LCPI0_12 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000160 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000170 LCPI0_13 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000170 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000180 LCPI0_14 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000180 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000190 LCPI0_15 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000190 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x000001a0 LCPI0_16 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000001a0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000001b0 .p2align 4, 0x90 + //0x000001b0 _validate_one + 0x55, //0x000001b0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000001b1 movq %rsp, %rbp + 0x41, 0x57, //0x000001b4 pushq %r15 + 0x41, 0x56, //0x000001b6 pushq %r14 + 0x41, 0x55, //0x000001b8 pushq %r13 + 0x41, 0x54, //0x000001ba pushq %r12 + 0x53, //0x000001bc pushq %rbx + 0x48, 0x83, 0xec, 0x48, //0x000001bd subq $72, %rsp + 0x48, 0x89, 0x4d, 0x98, //0x000001c1 movq %rcx, $-104(%rbp) + 0x49, 0x89, 0xd6, //0x000001c5 movq %rdx, %r14 + 0x49, 0x89, 0xf2, //0x000001c8 movq %rsi, %r10 + 0x48, 0x89, 0x7d, 0xb0, //0x000001cb movq %rdi, $-80(%rbp) + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000001cf movl $1, %r8d + 0xc4, 0xc1, 0xf9, 0x6e, 0xc0, //0x000001d5 vmovq %r8, %xmm0 + 0xc5, 0xfa, 0x7f, 0x02, //0x000001da vmovdqu %xmm0, (%rdx) + 0x4c, 0x8b, 0x26, //0x000001de movq (%rsi), %r12 + 0x48, 0xc7, 0x45, 0x90, 0xff, 0xff, 0xff, 0xff, //0x000001e1 movq $-1, $-112(%rbp) + 0xc5, 0xfe, 0x6f, 0x2d, 0x0f, 0xfe, 0xff, 0xff, //0x000001e9 vmovdqu $-497(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x27, 0xfe, 0xff, 0xff, //0x000001f1 vmovdqu $-473(%rip), %ymm6 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x3f, 0xfe, 0xff, 0xff, //0x000001f9 vmovdqu $-449(%rip), %ymm7 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0x57, 0xfe, 0xff, 0xff, //0x00000201 vmovdqu $-425(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00000209 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0x6a, 0xfe, 0xff, 0xff, //0x0000020e vmovdqu $-406(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x82, 0xfe, 0xff, 0xff, //0x00000216 vmovdqu $-382(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x9a, 0xfe, 0xff, 0xff, //0x0000021e vmovdqu $-358(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0xb2, 0xfe, 0xff, 0xff, //0x00000226 vmovdqu $-334(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xca, 0xfe, 0xff, 0xff, //0x0000022e vmovdqu $-310(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0xe2, 0xfe, 0xff, 0xff, //0x00000236 vmovdqu $-286(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + 0x48, 0x89, 0x75, 0xd0, //0x0000023e movq %rsi, $-48(%rbp) + 0x48, 0x89, 0x55, 0xc8, //0x00000242 movq %rdx, $-56(%rbp) + 0xe9, 0x65, 0x00, 0x00, 0x00, //0x00000246 jmp LBB0_5 + //0x0000024b LBB0_72 + 0x4c, 0x89, 0xe1, //0x0000024b movq %r12, %rcx + //0x0000024e LBB0_199 + 0x4c, 0x89, 0xe0, //0x0000024e movq %r12, %rax + 0x4e, 0x8d, 0x64, 0x31, 0xff, //0x00000251 leaq $-1(%rcx,%r14), %r12 + 0x4c, 0x8b, 0x55, 0xd0, //0x00000256 movq $-48(%rbp), %r10 + 0x4d, 0x89, 0x22, //0x0000025a movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x0000025d movq %r13, %rcx + 0x48, 0x85, 0xc0, //0x00000260 testq %rax, %rax + 0x4c, 0x8b, 0x75, 0xc8, //0x00000263 movq $-56(%rbp), %r14 + 0x0f, 0x8e, 0x6c, 0x25, 0x00, 0x00, //0x00000267 jle LBB0_501 + 0x90, 0x90, 0x90, //0x0000026d .p2align 4, 0x90 + //0x00000270 LBB0_3 + 0x49, 0x8b, 0x16, //0x00000270 movq (%r14), %rdx + 0x49, 0x89, 0xd0, //0x00000273 movq %rdx, %r8 + 0x48, 0x8b, 0x4d, 0x90, //0x00000276 movq $-112(%rbp), %rcx + 0x48, 0x85, 0xd2, //0x0000027a testq %rdx, %rdx + 0x0f, 0x85, 0x2d, 0x00, 0x00, 0x00, //0x0000027d jne LBB0_5 + 0xe9, 0x51, 0x25, 0x00, 0x00, //0x00000283 jmp LBB0_501 + //0x00000288 LBB0_1 + 0x4c, 0x89, 0xe0, //0x00000288 movq %r12, %rax + 0x4d, 0x8d, 0x65, 0x04, //0x0000028b leaq $4(%r13), %r12 + 0x4d, 0x89, 0x22, //0x0000028f movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00000292 movq %r13, %rcx + 0x48, 0x85, 0xc0, //0x00000295 testq %rax, %rax + 0x0f, 0x8f, 0xd2, 0xff, 0xff, 0xff, //0x00000298 jg LBB0_3 + 0xe9, 0x36, 0x25, 0x00, 0x00, //0x0000029e jmp LBB0_501 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002a3 .p2align 4, 0x90 + //0x000002b0 LBB0_5 + 0x48, 0x8b, 0x45, 0xb0, //0x000002b0 movq $-80(%rbp), %rax + 0x4c, 0x8b, 0x08, //0x000002b4 movq (%rax), %r9 + 0x48, 0x8b, 0x48, 0x08, //0x000002b7 movq $8(%rax), %rcx + 0x49, 0x39, 0xcc, //0x000002bb cmpq %rcx, %r12 + 0x0f, 0x83, 0x2c, 0x00, 0x00, 0x00, //0x000002be jae LBB0_10 + 0x43, 0x8a, 0x04, 0x21, //0x000002c4 movb (%r9,%r12), %al + 0x3c, 0x0d, //0x000002c8 cmpb $13, %al + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x000002ca je LBB0_10 + 0x3c, 0x20, //0x000002d0 cmpb $32, %al + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x000002d2 je LBB0_10 + 0x04, 0xf7, //0x000002d8 addb $-9, %al + 0x3c, 0x01, //0x000002da cmpb $1, %al + 0x0f, 0x86, 0x0e, 0x00, 0x00, 0x00, //0x000002dc jbe LBB0_10 + 0x4d, 0x89, 0xe5, //0x000002e2 movq %r12, %r13 + 0xe9, 0x8e, 0x01, 0x00, 0x00, //0x000002e5 jmp LBB0_36 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002ea .p2align 4, 0x90 + //0x000002f0 LBB0_10 + 0x4d, 0x8d, 0x6c, 0x24, 0x01, //0x000002f0 leaq $1(%r12), %r13 + 0x49, 0x39, 0xcd, //0x000002f5 cmpq %rcx, %r13 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x000002f8 jae LBB0_14 + 0x43, 0x8a, 0x14, 0x29, //0x000002fe movb (%r9,%r13), %dl + 0x80, 0xfa, 0x0d, //0x00000302 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000305 je LBB0_14 + 0x80, 0xfa, 0x20, //0x0000030b cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000030e je LBB0_14 + 0x80, 0xc2, 0xf7, //0x00000314 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000317 cmpb $1, %dl + 0x0f, 0x87, 0x58, 0x01, 0x00, 0x00, //0x0000031a ja LBB0_36 + //0x00000320 .p2align 4, 0x90 + //0x00000320 LBB0_14 + 0x4d, 0x8d, 0x6c, 0x24, 0x02, //0x00000320 leaq $2(%r12), %r13 + 0x49, 0x39, 0xcd, //0x00000325 cmpq %rcx, %r13 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000328 jae LBB0_18 + 0x43, 0x8a, 0x14, 0x29, //0x0000032e movb (%r9,%r13), %dl + 0x80, 0xfa, 0x0d, //0x00000332 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000335 je LBB0_18 + 0x80, 0xfa, 0x20, //0x0000033b cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000033e je LBB0_18 + 0x80, 0xc2, 0xf7, //0x00000344 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000347 cmpb $1, %dl + 0x0f, 0x87, 0x28, 0x01, 0x00, 0x00, //0x0000034a ja LBB0_36 + //0x00000350 .p2align 4, 0x90 + //0x00000350 LBB0_18 + 0x4d, 0x8d, 0x6c, 0x24, 0x03, //0x00000350 leaq $3(%r12), %r13 + 0x49, 0x39, 0xcd, //0x00000355 cmpq %rcx, %r13 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000358 jae LBB0_22 + 0x43, 0x8a, 0x14, 0x29, //0x0000035e movb (%r9,%r13), %dl + 0x80, 0xfa, 0x0d, //0x00000362 cmpb $13, %dl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000365 je LBB0_22 + 0x80, 0xfa, 0x20, //0x0000036b cmpb $32, %dl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000036e je LBB0_22 + 0x80, 0xc2, 0xf7, //0x00000374 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000377 cmpb $1, %dl + 0x0f, 0x87, 0xf8, 0x00, 0x00, 0x00, //0x0000037a ja LBB0_36 + //0x00000380 .p2align 4, 0x90 + //0x00000380 LBB0_22 + 0x4d, 0x8d, 0x6c, 0x24, 0x04, //0x00000380 leaq $4(%r12), %r13 + 0x48, 0x89, 0xca, //0x00000385 movq %rcx, %rdx + 0x4c, 0x29, 0xea, //0x00000388 subq %r13, %rdx + 0x0f, 0x86, 0xd2, 0x23, 0x00, 0x00, //0x0000038b jbe LBB0_473 + 0x4d, 0x01, 0xcd, //0x00000391 addq %r9, %r13 + 0x48, 0x83, 0xfa, 0x20, //0x00000394 cmpq $32, %rdx + 0x0f, 0x82, 0x56, 0x00, 0x00, 0x00, //0x00000398 jb LBB0_28 + 0x48, 0x89, 0xce, //0x0000039e movq %rcx, %rsi + 0x4c, 0x29, 0xe6, //0x000003a1 subq %r12, %rsi + 0x48, 0x83, 0xc6, 0xdc, //0x000003a4 addq $-36, %rsi + 0x48, 0x89, 0xf7, //0x000003a8 movq %rsi, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x000003ab andq $-32, %rdi + 0x4c, 0x01, 0xe7, //0x000003af addq %r12, %rdi + 0x49, 0x8d, 0x7c, 0x39, 0x24, //0x000003b2 leaq $36(%r9,%rdi), %rdi + 0x83, 0xe6, 0x1f, //0x000003b7 andl $31, %esi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003ba .p2align 4, 0x90 + //0x000003c0 LBB0_25 + 0xc4, 0xc1, 0x7e, 0x6f, 0x45, 0x00, //0x000003c0 vmovdqu (%r13), %ymm0 + 0xc4, 0xe2, 0x55, 0x00, 0xc8, //0x000003c6 vpshufb %ymm0, %ymm5, %ymm1 + 0xc5, 0xfd, 0x74, 0xc1, //0x000003cb vpcmpeqb %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xd8, //0x000003cf vpmovmskb %ymm0, %ebx + 0x83, 0xfb, 0xff, //0x000003d3 cmpl $-1, %ebx + 0x0f, 0x85, 0x84, 0x00, 0x00, 0x00, //0x000003d6 jne LBB0_35 + 0x49, 0x83, 0xc5, 0x20, //0x000003dc addq $32, %r13 + 0x48, 0x83, 0xc2, 0xe0, //0x000003e0 addq $-32, %rdx + 0x48, 0x83, 0xfa, 0x1f, //0x000003e4 cmpq $31, %rdx + 0x0f, 0x87, 0xd2, 0xff, 0xff, 0xff, //0x000003e8 ja LBB0_25 + 0x48, 0x89, 0xf2, //0x000003ee movq %rsi, %rdx + 0x49, 0x89, 0xfd, //0x000003f1 movq %rdi, %r13 + //0x000003f4 LBB0_28 + 0x48, 0x85, 0xd2, //0x000003f4 testq %rdx, %rdx + 0x0f, 0x84, 0x47, 0x00, 0x00, 0x00, //0x000003f7 je LBB0_34 + 0x49, 0x8d, 0x74, 0x15, 0x00, //0x000003fd leaq (%r13,%rdx), %rsi + 0x49, 0xff, 0xc5, //0x00000402 incq %r13 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000405 .p2align 4, 0x90 + //0x00000410 LBB0_30 + 0x41, 0x0f, 0xbe, 0x7d, 0xff, //0x00000410 movsbl $-1(%r13), %edi + 0x83, 0xff, 0x20, //0x00000415 cmpl $32, %edi + 0x0f, 0x87, 0x09, 0x11, 0x00, 0x00, //0x00000418 ja LBB0_268 + 0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000041e movabsq $4294977024, %rax + 0x48, 0x0f, 0xa3, 0xf8, //0x00000428 btq %rdi, %rax + 0x0f, 0x83, 0xf5, 0x10, 0x00, 0x00, //0x0000042c jae LBB0_268 + 0x48, 0xff, 0xca, //0x00000432 decq %rdx + 0x49, 0xff, 0xc5, //0x00000435 incq %r13 + 0x48, 0x85, 0xd2, //0x00000438 testq %rdx, %rdx + 0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x0000043b jne LBB0_30 + 0x49, 0x89, 0xf5, //0x00000441 movq %rsi, %r13 + //0x00000444 LBB0_34 + 0x4d, 0x29, 0xcd, //0x00000444 subq %r9, %r13 + 0x49, 0x39, 0xcd, //0x00000447 cmpq %rcx, %r13 + 0x0f, 0x82, 0x28, 0x00, 0x00, 0x00, //0x0000044a jb LBB0_36 + 0xe9, 0x11, 0x23, 0x00, 0x00, //0x00000450 jmp LBB0_474 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000455 .p2align 4, 0x90 + //0x00000460 LBB0_35 + 0x4d, 0x29, 0xcd, //0x00000460 subq %r9, %r13 + 0xf7, 0xd3, //0x00000463 notl %ebx + 0x48, 0x63, 0xd3, //0x00000465 movslq %ebx, %rdx + 0x48, 0x0f, 0xbc, 0xd2, //0x00000468 bsfq %rdx, %rdx + 0x49, 0x01, 0xd5, //0x0000046c addq %rdx, %r13 + 0x49, 0x39, 0xcd, //0x0000046f cmpq %rcx, %r13 + 0x0f, 0x83, 0xee, 0x22, 0x00, 0x00, //0x00000472 jae LBB0_474 + //0x00000478 LBB0_36 + 0x4d, 0x8d, 0x65, 0x01, //0x00000478 leaq $1(%r13), %r12 + 0x4d, 0x89, 0x22, //0x0000047c movq %r12, (%r10) + 0x43, 0x0f, 0xbe, 0x3c, 0x29, //0x0000047f movsbl (%r9,%r13), %edi + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000484 movq $-1, %rcx + 0x85, 0xff, //0x0000048b testl %edi, %edi + 0x0f, 0x84, 0x46, 0x23, 0x00, 0x00, //0x0000048d je LBB0_501 + 0x4c, 0x89, 0xee, //0x00000493 movq %r13, %rsi + 0x48, 0xf7, 0xd6, //0x00000496 notq %rsi + 0x49, 0x8d, 0x50, 0xff, //0x00000499 leaq $-1(%r8), %rdx + 0x43, 0x8b, 0x1c, 0xc6, //0x0000049d movl (%r14,%r8,8), %ebx + 0x48, 0x8b, 0x45, 0x90, //0x000004a1 movq $-112(%rbp), %rax + 0x48, 0x83, 0xf8, 0xff, //0x000004a5 cmpq $-1, %rax + 0x49, 0x0f, 0x44, 0xc5, //0x000004a9 cmoveq %r13, %rax + 0x48, 0x89, 0x45, 0x90, //0x000004ad movq %rax, $-112(%rbp) + 0xff, 0xcb, //0x000004b1 decl %ebx + 0x83, 0xfb, 0x05, //0x000004b3 cmpl $5, %ebx + 0x0f, 0x87, 0x0d, 0x02, 0x00, 0x00, //0x000004b6 ja LBB0_67 + 0x48, 0x8d, 0x05, 0x45, 0x25, 0x00, 0x00, //0x000004bc leaq $9541(%rip), %rax /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x1c, 0x98, //0x000004c3 movslq (%rax,%rbx,4), %rbx + 0x48, 0x01, 0xc3, //0x000004c7 addq %rax, %rbx + 0xff, 0xe3, //0x000004ca jmpq *%rbx + //0x000004cc LBB0_39 + 0x83, 0xff, 0x2c, //0x000004cc cmpl $44, %edi + 0x0f, 0x84, 0x01, 0x06, 0x00, 0x00, //0x000004cf je LBB0_73 + 0x83, 0xff, 0x5d, //0x000004d5 cmpl $93, %edi + 0x0f, 0x84, 0xd3, 0x01, 0x00, 0x00, //0x000004d8 je LBB0_41 + 0xe9, 0xef, 0x22, 0x00, 0x00, //0x000004de jmp LBB0_500 + //0x000004e3 LBB0_42 + 0x40, 0x80, 0xff, 0x5d, //0x000004e3 cmpb $93, %dil + 0x0f, 0x84, 0xc4, 0x01, 0x00, 0x00, //0x000004e7 je LBB0_41 + 0x4b, 0xc7, 0x04, 0xc6, 0x01, 0x00, 0x00, 0x00, //0x000004ed movq $1, (%r14,%r8,8) + 0x83, 0xff, 0x7b, //0x000004f5 cmpl $123, %edi + 0x0f, 0x86, 0xd7, 0x01, 0x00, 0x00, //0x000004f8 jbe LBB0_68 + 0xe9, 0xcf, 0x22, 0x00, 0x00, //0x000004fe jmp LBB0_500 + //0x00000503 LBB0_44 + 0x40, 0x80, 0xff, 0x22, //0x00000503 cmpb $34, %dil + 0x0f, 0x85, 0xc5, 0x22, 0x00, 0x00, //0x00000507 jne LBB0_500 + 0x4b, 0xc7, 0x04, 0xc6, 0x04, 0x00, 0x00, 0x00, //0x0000050d movq $4, (%r14,%r8,8) + 0x48, 0x8b, 0x45, 0xb0, //0x00000515 movq $-80(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x00000519 movq $8(%rax), %rdx + 0xf6, 0x45, 0x98, 0x20, //0x0000051d testb $32, $-104(%rbp) + 0x4c, 0x89, 0x65, 0xa8, //0x00000521 movq %r12, $-88(%rbp) + 0x48, 0x89, 0x55, 0xb8, //0x00000525 movq %rdx, $-72(%rbp) + 0x0f, 0x85, 0xc9, 0x05, 0x00, 0x00, //0x00000529 jne LBB0_75 + 0x48, 0x89, 0xd1, //0x0000052f movq %rdx, %rcx + 0x4c, 0x29, 0xe1, //0x00000532 subq %r12, %rcx + 0x0f, 0x84, 0x34, 0x24, 0x00, 0x00, //0x00000535 je LBB0_507 + 0x4b, 0x8d, 0x1c, 0x21, //0x0000053b leaq (%r9,%r12), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x0000053f cmpq $64, %rcx + 0x0f, 0x82, 0xea, 0x18, 0x00, 0x00, //0x00000543 jb LBB0_356 + 0x41, 0x89, 0xcf, //0x00000549 movl %ecx, %r15d + 0x41, 0x83, 0xe7, 0x3f, //0x0000054c andl $63, %r15d + 0x48, 0x8d, 0x54, 0x32, 0xc0, //0x00000550 leaq $-64(%rdx,%rsi), %rdx + 0x48, 0x83, 0xe2, 0xc0, //0x00000555 andq $-64, %rdx + 0x4c, 0x01, 0xe2, //0x00000559 addq %r12, %rdx + 0x4d, 0x89, 0xcb, //0x0000055c movq %r9, %r11 + 0x4d, 0x8d, 0x4c, 0x11, 0x40, //0x0000055f leaq $64(%r9,%rdx), %r9 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000564 movq $-1, %r8 + 0x45, 0x31, 0xf6, //0x0000056b xorl %r14d, %r14d + 0x90, 0x90, //0x0000056e .p2align 4, 0x90 + //0x00000570 LBB0_49 + 0xc5, 0xfe, 0x6f, 0x03, //0x00000570 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x00000574 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000579 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x0000057d vpmovmskb %ymm2, %edi + 0xc5, 0xf5, 0x74, 0xd6, //0x00000581 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000585 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00000589 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x0000058d vpmovmskb %ymm0, %esi + 0xc5, 0xf5, 0x74, 0xc7, //0x00000591 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00000595 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe2, 0x20, //0x00000599 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x0000059d shlq $32, %rax + 0x48, 0x09, 0xc6, //0x000005a1 orq %rax, %rsi + 0x49, 0x83, 0xf8, 0xff, //0x000005a4 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000005a8 jne LBB0_51 + 0x48, 0x85, 0xf6, //0x000005ae testq %rsi, %rsi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000005b1 jne LBB0_58 + //0x000005b7 LBB0_51 + 0x48, 0x09, 0xfa, //0x000005b7 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x000005ba movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x000005bd orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x000005c0 jne LBB0_59 + //0x000005c6 LBB0_52 + 0x48, 0x85, 0xd2, //0x000005c6 testq %rdx, %rdx + 0x0f, 0x85, 0xdb, 0x14, 0x00, 0x00, //0x000005c9 jne LBB0_60 + //0x000005cf LBB0_53 + 0x48, 0x83, 0xc1, 0xc0, //0x000005cf addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x000005d3 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x000005d7 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x000005db ja LBB0_49 + 0xe9, 0x83, 0x14, 0x00, 0x00, //0x000005e1 jmp LBB0_54 + //0x000005e6 LBB0_58 + 0x48, 0x89, 0xd8, //0x000005e6 movq %rbx, %rax + 0x4c, 0x29, 0xd8, //0x000005e9 subq %r11, %rax + 0x4c, 0x0f, 0xbc, 0xc6, //0x000005ec bsfq %rsi, %r8 + 0x49, 0x01, 0xc0, //0x000005f0 addq %rax, %r8 + 0x48, 0x09, 0xfa, //0x000005f3 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x000005f6 movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x000005f9 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x000005fc je LBB0_52 + //0x00000602 LBB0_59 + 0x4c, 0x89, 0xf0, //0x00000602 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00000605 notq %rax + 0x48, 0x21, 0xf0, //0x00000608 andq %rsi, %rax + 0x4c, 0x8d, 0x14, 0x00, //0x0000060b leaq (%rax,%rax), %r10 + 0x4d, 0x09, 0xf2, //0x0000060f orq %r14, %r10 + 0x4c, 0x89, 0xd7, //0x00000612 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x00000615 notq %rdi + 0x48, 0x21, 0xf7, //0x00000618 andq %rsi, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000061b movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf7, //0x00000625 andq %rsi, %rdi + 0x45, 0x31, 0xf6, //0x00000628 xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x0000062b addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x0000062e setb %r14b + 0x48, 0x01, 0xff, //0x00000632 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000635 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x0000063f xorq %rax, %rdi + 0x4c, 0x21, 0xd7, //0x00000642 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xd0, //0x00000645 movq $-48(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x00000649 notq %rdi + 0x48, 0x21, 0xfa, //0x0000064c andq %rdi, %rdx + 0x48, 0x85, 0xd2, //0x0000064f testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0xff, 0xff, 0xff, //0x00000652 je LBB0_53 + 0xe9, 0x4d, 0x14, 0x00, 0x00, //0x00000658 jmp LBB0_60 + //0x0000065d LBB0_61 + 0x40, 0x80, 0xff, 0x3a, //0x0000065d cmpb $58, %dil + 0x0f, 0x85, 0x6b, 0x21, 0x00, 0x00, //0x00000661 jne LBB0_500 + 0x4b, 0xc7, 0x04, 0xc6, 0x00, 0x00, 0x00, 0x00, //0x00000667 movq $0, (%r14,%r8,8) + 0xe9, 0xfc, 0xfb, 0xff, 0xff, //0x0000066f jmp LBB0_3 + //0x00000674 LBB0_63 + 0x83, 0xff, 0x2c, //0x00000674 cmpl $44, %edi + 0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x00000677 jne LBB0_64 + 0x49, 0x81, 0xf8, 0xff, 0x0f, 0x00, 0x00, //0x0000067d cmpq $4095, %r8 + 0x0f, 0x8f, 0xe8, 0x20, 0x00, 0x00, //0x00000684 jg LBB0_489 + 0x49, 0x8d, 0x40, 0x01, //0x0000068a leaq $1(%r8), %rax + 0x49, 0x89, 0x06, //0x0000068e movq %rax, (%r14) + 0x4b, 0xc7, 0x44, 0xc6, 0x08, 0x03, 0x00, 0x00, 0x00, //0x00000691 movq $3, $8(%r14,%r8,8) + 0xe9, 0xd1, 0xfb, 0xff, 0xff, //0x0000069a jmp LBB0_3 + //0x0000069f LBB0_65 + 0x83, 0xff, 0x22, //0x0000069f cmpl $34, %edi + 0x0f, 0x84, 0xb7, 0x05, 0x00, 0x00, //0x000006a2 je LBB0_92 + //0x000006a8 LBB0_64 + 0x83, 0xff, 0x7d, //0x000006a8 cmpl $125, %edi + 0x0f, 0x85, 0x21, 0x21, 0x00, 0x00, //0x000006ab jne LBB0_500 + //0x000006b1 LBB0_41 + 0x49, 0x89, 0x16, //0x000006b1 movq %rdx, (%r14) + 0x49, 0x89, 0xd0, //0x000006b4 movq %rdx, %r8 + 0x48, 0x8b, 0x4d, 0x90, //0x000006b7 movq $-112(%rbp), %rcx + 0x48, 0x85, 0xd2, //0x000006bb testq %rdx, %rdx + 0x0f, 0x85, 0xec, 0xfb, 0xff, 0xff, //0x000006be jne LBB0_5 + 0xe9, 0x10, 0x21, 0x00, 0x00, //0x000006c4 jmp LBB0_501 + //0x000006c9 LBB0_67 + 0x49, 0x89, 0x16, //0x000006c9 movq %rdx, (%r14) + 0x83, 0xff, 0x7b, //0x000006cc cmpl $123, %edi + 0x0f, 0x87, 0xfd, 0x20, 0x00, 0x00, //0x000006cf ja LBB0_500 + //0x000006d5 LBB0_68 + 0x4f, 0x8d, 0x3c, 0x29, //0x000006d5 leaq (%r9,%r13), %r15 + 0x89, 0xf8, //0x000006d9 movl %edi, %eax + 0x48, 0x8d, 0x15, 0x3e, 0x23, 0x00, 0x00, //0x000006db leaq $9022(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x000006e2 movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x000006e6 addq %rdx, %rax + 0xff, 0xe0, //0x000006e9 jmpq *%rax + //0x000006eb LBB0_69 + 0x48, 0x8b, 0x45, 0xb0, //0x000006eb movq $-80(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x000006ef movq $8(%rax), %r10 + 0x4d, 0x29, 0xea, //0x000006f3 subq %r13, %r10 + 0x0f, 0x84, 0x9c, 0x20, 0x00, 0x00, //0x000006f6 je LBB0_477 + 0x41, 0x80, 0x3f, 0x30, //0x000006fc cmpb $48, (%r15) + 0x0f, 0x85, 0x3a, 0x00, 0x00, 0x00, //0x00000700 jne LBB0_132 + 0x41, 0xbe, 0x01, 0x00, 0x00, 0x00, //0x00000706 movl $1, %r14d + 0x49, 0x83, 0xfa, 0x01, //0x0000070c cmpq $1, %r10 + 0x0f, 0x84, 0x35, 0xfb, 0xff, 0xff, //0x00000710 je LBB0_72 + 0x43, 0x8a, 0x0c, 0x21, //0x00000716 movb (%r9,%r12), %cl + 0x80, 0xc1, 0xd2, //0x0000071a addb $-46, %cl + 0x80, 0xf9, 0x37, //0x0000071d cmpb $55, %cl + 0x0f, 0x87, 0x25, 0xfb, 0xff, 0xff, //0x00000720 ja LBB0_72 + 0x0f, 0xb6, 0xc1, //0x00000726 movzbl %cl, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00000729 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00000733 btq %rax, %rcx + 0x4c, 0x89, 0xe1, //0x00000737 movq %r12, %rcx + 0x0f, 0x83, 0x0e, 0xfb, 0xff, 0xff, //0x0000073a jae LBB0_199 + //0x00000740 LBB0_132 + 0x4c, 0x89, 0x65, 0xa8, //0x00000740 movq %r12, $-88(%rbp) + 0x49, 0x83, 0xfa, 0x20, //0x00000744 cmpq $32, %r10 + 0x0f, 0x82, 0xbe, 0x16, 0x00, 0x00, //0x00000748 jb LBB0_355 + 0x49, 0x8d, 0x4a, 0xe0, //0x0000074e leaq $-32(%r10), %rcx + 0x48, 0x89, 0xc8, //0x00000752 movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xe0, //0x00000755 andq $-32, %rax + 0x4e, 0x8d, 0x74, 0x38, 0x20, //0x00000759 leaq $32(%rax,%r15), %r14 + 0x83, 0xe1, 0x1f, //0x0000075e andl $31, %ecx + 0x48, 0x89, 0x4d, 0xc0, //0x00000761 movq %rcx, $-64(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000765 movq $-1, %r8 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x0000076c movq $-1, %r12 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000773 movq $-1, %rax + 0x4d, 0x89, 0xfb, //0x0000077a movq %r15, %r11 + 0x90, 0x90, 0x90, //0x0000077d .p2align 4, 0x90 + //0x00000780 LBB0_134 + 0xc4, 0xc1, 0x7e, 0x6f, 0x03, //0x00000780 vmovdqu (%r11), %ymm0 + 0xc4, 0xc1, 0x7d, 0x64, 0xca, //0x00000785 vpcmpgtb %ymm10, %ymm0, %ymm1 + 0xc5, 0xa5, 0x64, 0xd0, //0x0000078a vpcmpgtb %ymm0, %ymm11, %ymm2 + 0xc5, 0xf5, 0xdb, 0xca, //0x0000078e vpand %ymm2, %ymm1, %ymm1 + 0xc5, 0x9d, 0x74, 0xd0, //0x00000792 vpcmpeqb %ymm0, %ymm12, %ymm2 + 0xc5, 0x95, 0x74, 0xd8, //0x00000796 vpcmpeqb %ymm0, %ymm13, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x0000079a vpor %ymm2, %ymm3, %ymm2 + 0xc5, 0xbd, 0xeb, 0xd8, //0x0000079e vpor %ymm0, %ymm8, %ymm3 + 0xc5, 0x8d, 0x74, 0xc0, //0x000007a2 vpcmpeqb %ymm0, %ymm14, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x000007a6 vpmovmskb %ymm0, %edi + 0xc5, 0x85, 0x74, 0xdb, //0x000007aa vpcmpeqb %ymm3, %ymm15, %ymm3 + 0xc5, 0xfd, 0xd7, 0xd3, //0x000007ae vpmovmskb %ymm3, %edx + 0xc5, 0xfd, 0xd7, 0xf2, //0x000007b2 vpmovmskb %ymm2, %esi + 0xc5, 0xe5, 0xeb, 0xc0, //0x000007b6 vpor %ymm0, %ymm3, %ymm0 + 0xc5, 0xed, 0xeb, 0xc9, //0x000007ba vpor %ymm1, %ymm2, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc1, //0x000007be vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc8, //0x000007c2 vpmovmskb %ymm0, %ecx + 0x48, 0xf7, 0xd1, //0x000007c6 notq %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x000007c9 bsfq %rcx, %rcx + 0x83, 0xf9, 0x20, //0x000007cd cmpl $32, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000007d0 je LBB0_136 + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x000007d6 movl $-1, %ebx + 0xd3, 0xe3, //0x000007db shll %cl, %ebx + 0xf7, 0xd3, //0x000007dd notl %ebx + 0x21, 0xdf, //0x000007df andl %ebx, %edi + 0x21, 0xda, //0x000007e1 andl %ebx, %edx + 0x21, 0xf3, //0x000007e3 andl %esi, %ebx + 0x89, 0xde, //0x000007e5 movl %ebx, %esi + //0x000007e7 LBB0_136 + 0x44, 0x8d, 0x4f, 0xff, //0x000007e7 leal $-1(%rdi), %r9d + 0x41, 0x21, 0xf9, //0x000007eb andl %edi, %r9d + 0x0f, 0x85, 0xab, 0x13, 0x00, 0x00, //0x000007ee jne LBB0_345 + 0x8d, 0x5a, 0xff, //0x000007f4 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x000007f7 andl %edx, %ebx + 0x0f, 0x85, 0x5e, 0x12, 0x00, 0x00, //0x000007f9 jne LBB0_339 + 0x8d, 0x5e, 0xff, //0x000007ff leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x00000802 andl %esi, %ebx + 0x0f, 0x85, 0x53, 0x12, 0x00, 0x00, //0x00000804 jne LBB0_339 + 0x85, 0xff, //0x0000080a testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000080c je LBB0_142 + 0x4c, 0x89, 0xdb, //0x00000812 movq %r11, %rbx + 0x4c, 0x29, 0xfb, //0x00000815 subq %r15, %rbx + 0x0f, 0xbc, 0xff, //0x00000818 bsfl %edi, %edi + 0x48, 0x01, 0xdf, //0x0000081b addq %rbx, %rdi + 0x48, 0x83, 0xf8, 0xff, //0x0000081e cmpq $-1, %rax + 0x0f, 0x85, 0x8d, 0x13, 0x00, 0x00, //0x00000822 jne LBB0_347 + 0x48, 0x89, 0xf8, //0x00000828 movq %rdi, %rax + //0x0000082b LBB0_142 + 0x85, 0xd2, //0x0000082b testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000082d je LBB0_145 + 0x4c, 0x89, 0xdf, //0x00000833 movq %r11, %rdi + 0x4c, 0x29, 0xff, //0x00000836 subq %r15, %rdi + 0x0f, 0xbc, 0xd2, //0x00000839 bsfl %edx, %edx + 0x48, 0x01, 0xfa, //0x0000083c addq %rdi, %rdx + 0x49, 0x83, 0xfc, 0xff, //0x0000083f cmpq $-1, %r12 + 0x0f, 0x85, 0xf1, 0x12, 0x00, 0x00, //0x00000843 jne LBB0_340 + 0x49, 0x89, 0xd4, //0x00000849 movq %rdx, %r12 + //0x0000084c LBB0_145 + 0x85, 0xf6, //0x0000084c testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000084e je LBB0_148 + 0x4c, 0x89, 0xdf, //0x00000854 movq %r11, %rdi + 0x4c, 0x29, 0xff, //0x00000857 subq %r15, %rdi + 0x0f, 0xbc, 0xd6, //0x0000085a bsfl %esi, %edx + 0x48, 0x01, 0xfa, //0x0000085d addq %rdi, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000860 cmpq $-1, %r8 + 0x0f, 0x85, 0xd0, 0x12, 0x00, 0x00, //0x00000864 jne LBB0_340 + 0x49, 0x89, 0xd0, //0x0000086a movq %rdx, %r8 + //0x0000086d LBB0_148 + 0x83, 0xf9, 0x20, //0x0000086d cmpl $32, %ecx + 0x0f, 0x85, 0x51, 0x05, 0x00, 0x00, //0x00000870 jne LBB0_180 + 0x49, 0x83, 0xc3, 0x20, //0x00000876 addq $32, %r11 + 0x49, 0x83, 0xc2, 0xe0, //0x0000087a addq $-32, %r10 + 0x49, 0x83, 0xfa, 0x1f, //0x0000087e cmpq $31, %r10 + 0x0f, 0x87, 0xf8, 0xfe, 0xff, 0xff, //0x00000882 ja LBB0_134 + 0xc5, 0xf8, 0x77, //0x00000888 vzeroupper + 0xc5, 0x7e, 0x6f, 0x3d, 0x8d, 0xf8, 0xff, 0xff, //0x0000088b vmovdqu $-1907(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x65, 0xf8, 0xff, 0xff, //0x00000893 vmovdqu $-1947(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x3d, 0xf8, 0xff, 0xff, //0x0000089b vmovdqu $-1987(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x15, 0xf8, 0xff, 0xff, //0x000008a3 vmovdqu $-2027(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xed, 0xf7, 0xff, 0xff, //0x000008ab vmovdqu $-2067(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0xc5, 0xf7, 0xff, 0xff, //0x000008b3 vmovdqu $-2107(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000008bb vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x05, 0x98, 0xf7, 0xff, 0xff, //0x000008c0 vmovdqu $-2152(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x70, 0xf7, 0xff, 0xff, //0x000008c8 vmovdqu $-2192(%rip), %ymm7 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x48, 0xf7, 0xff, 0xff, //0x000008d0 vmovdqu $-2232(%rip), %ymm6 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x20, 0xf7, 0xff, 0xff, //0x000008d8 vmovdqu $-2272(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0x4c, 0x8b, 0x55, 0xc0, //0x000008e0 movq $-64(%rbp), %r10 + 0x49, 0x83, 0xfa, 0x10, //0x000008e4 cmpq $16, %r10 + 0x0f, 0x82, 0x52, 0x01, 0x00, 0x00, //0x000008e8 jb LBB0_169 + //0x000008ee LBB0_151 + 0x4d, 0x8d, 0x4a, 0xf0, //0x000008ee leaq $-16(%r10), %r9 + 0x4c, 0x89, 0xc9, //0x000008f2 movq %r9, %rcx + 0x48, 0x83, 0xe1, 0xf0, //0x000008f5 andq $-16, %rcx + 0x4e, 0x8d, 0x5c, 0x31, 0x10, //0x000008f9 leaq $16(%rcx,%r14), %r11 + 0x41, 0x83, 0xe1, 0x0f, //0x000008fe andl $15, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000902 .p2align 4, 0x90 + //0x00000910 LBB0_152 + 0xc4, 0xc1, 0x7a, 0x6f, 0x06, //0x00000910 vmovdqu (%r14), %xmm0 + 0xc5, 0xf9, 0x64, 0x0d, 0x23, 0xf8, 0xff, 0xff, //0x00000915 vpcmpgtb $-2013(%rip), %xmm0, %xmm1 /* LCPI0_10+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0x2b, 0xf8, 0xff, 0xff, //0x0000091d vmovdqu $-2005(%rip), %xmm2 /* LCPI0_11+0(%rip) */ + 0xc5, 0xe9, 0x64, 0xd0, //0x00000925 vpcmpgtb %xmm0, %xmm2, %xmm2 + 0xc5, 0xf1, 0xdb, 0xca, //0x00000929 vpand %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x74, 0x15, 0x2b, 0xf8, 0xff, 0xff, //0x0000092d vpcmpeqb $-2005(%rip), %xmm0, %xmm2 /* LCPI0_12+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x1d, 0x33, 0xf8, 0xff, 0xff, //0x00000935 vpcmpeqb $-1997(%rip), %xmm0, %xmm3 /* LCPI0_13+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xd2, //0x0000093d vpor %xmm2, %xmm3, %xmm2 + 0xc5, 0xf9, 0xeb, 0x1d, 0x37, 0xf8, 0xff, 0xff, //0x00000941 vpor $-1993(%rip), %xmm0, %xmm3 /* LCPI0_14+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x05, 0x3f, 0xf8, 0xff, 0xff, //0x00000949 vpcmpeqb $-1985(%rip), %xmm0, %xmm0 /* LCPI0_15+0(%rip) */ + 0xc5, 0xe1, 0x74, 0x1d, 0x47, 0xf8, 0xff, 0xff, //0x00000951 vpcmpeqb $-1977(%rip), %xmm3, %xmm3 /* LCPI0_16+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xe0, //0x00000959 vpor %xmm0, %xmm3, %xmm4 + 0xc5, 0xe9, 0xeb, 0xc9, //0x0000095d vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xd9, 0xeb, 0xc9, //0x00000961 vpor %xmm1, %xmm4, %xmm1 + 0xc5, 0xf9, 0xd7, 0xf8, //0x00000965 vpmovmskb %xmm0, %edi + 0xc5, 0xf9, 0xd7, 0xf3, //0x00000969 vpmovmskb %xmm3, %esi + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000096d vpmovmskb %xmm2, %edx + 0xc5, 0xf9, 0xd7, 0xc9, //0x00000971 vpmovmskb %xmm1, %ecx + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x00000975 movl $4294967295, %ebx + 0x48, 0x31, 0xd9, //0x0000097a xorq %rbx, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x0000097d bsfq %rcx, %rcx + 0x83, 0xf9, 0x10, //0x00000981 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00000984 je LBB0_154 + 0xbb, 0xff, 0xff, 0xff, 0xff, //0x0000098a movl $-1, %ebx + 0xd3, 0xe3, //0x0000098f shll %cl, %ebx + 0xf7, 0xd3, //0x00000991 notl %ebx + 0x21, 0xdf, //0x00000993 andl %ebx, %edi + 0x21, 0xde, //0x00000995 andl %ebx, %esi + 0x21, 0xd3, //0x00000997 andl %edx, %ebx + 0x89, 0xda, //0x00000999 movl %ebx, %edx + //0x0000099b LBB0_154 + 0x8d, 0x5f, 0xff, //0x0000099b leal $-1(%rdi), %ebx + 0x21, 0xfb, //0x0000099e andl %edi, %ebx + 0x0f, 0x85, 0xe1, 0x11, 0x00, 0x00, //0x000009a0 jne LBB0_344 + 0x8d, 0x5e, 0xff, //0x000009a6 leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x000009a9 andl %esi, %ebx + 0x0f, 0x85, 0xd6, 0x11, 0x00, 0x00, //0x000009ab jne LBB0_344 + 0x8d, 0x5a, 0xff, //0x000009b1 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x000009b4 andl %edx, %ebx + 0x0f, 0x85, 0xcb, 0x11, 0x00, 0x00, //0x000009b6 jne LBB0_344 + 0x85, 0xff, //0x000009bc testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000009be je LBB0_160 + 0x4c, 0x89, 0xf3, //0x000009c4 movq %r14, %rbx + 0x4c, 0x29, 0xfb, //0x000009c7 subq %r15, %rbx + 0x0f, 0xbc, 0xff, //0x000009ca bsfl %edi, %edi + 0x48, 0x01, 0xdf, //0x000009cd addq %rbx, %rdi + 0x48, 0x83, 0xf8, 0xff, //0x000009d0 cmpq $-1, %rax + 0x0f, 0x85, 0xdb, 0x11, 0x00, 0x00, //0x000009d4 jne LBB0_347 + 0x48, 0x89, 0xf8, //0x000009da movq %rdi, %rax + //0x000009dd LBB0_160 + 0x85, 0xf6, //0x000009dd testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000009df je LBB0_163 + 0x4c, 0x89, 0xf7, //0x000009e5 movq %r14, %rdi + 0x4c, 0x29, 0xff, //0x000009e8 subq %r15, %rdi + 0x0f, 0xbc, 0xf6, //0x000009eb bsfl %esi, %esi + 0x48, 0x01, 0xfe, //0x000009ee addq %rdi, %rsi + 0x49, 0x83, 0xfc, 0xff, //0x000009f1 cmpq $-1, %r12 + 0x0f, 0x85, 0xed, 0x12, 0x00, 0x00, //0x000009f5 jne LBB0_350 + 0x49, 0x89, 0xf4, //0x000009fb movq %rsi, %r12 + //0x000009fe LBB0_163 + 0x85, 0xd2, //0x000009fe testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000a00 je LBB0_166 + 0x4c, 0x89, 0xf6, //0x00000a06 movq %r14, %rsi + 0x4c, 0x29, 0xfe, //0x00000a09 subq %r15, %rsi + 0x0f, 0xbc, 0xd2, //0x00000a0c bsfl %edx, %edx + 0x48, 0x01, 0xf2, //0x00000a0f addq %rsi, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000a12 cmpq $-1, %r8 + 0x0f, 0x85, 0x1e, 0x11, 0x00, 0x00, //0x00000a16 jne LBB0_340 + 0x49, 0x89, 0xd0, //0x00000a1c movq %rdx, %r8 + //0x00000a1f LBB0_166 + 0x83, 0xf9, 0x10, //0x00000a1f cmpl $16, %ecx + 0x0f, 0x85, 0x82, 0x05, 0x00, 0x00, //0x00000a22 jne LBB0_186 + 0x49, 0x83, 0xc6, 0x10, //0x00000a28 addq $16, %r14 + 0x49, 0x83, 0xc2, 0xf0, //0x00000a2c addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x0f, //0x00000a30 cmpq $15, %r10 + 0x0f, 0x87, 0xd6, 0xfe, 0xff, 0xff, //0x00000a34 ja LBB0_152 + 0x4d, 0x89, 0xca, //0x00000a3a movq %r9, %r10 + 0x4d, 0x89, 0xde, //0x00000a3d movq %r11, %r14 + //0x00000a40 LBB0_169 + 0x4d, 0x85, 0xd2, //0x00000a40 testq %r10, %r10 + 0x0f, 0x84, 0x64, 0x05, 0x00, 0x00, //0x00000a43 je LBB0_187 + 0x4b, 0x8d, 0x0c, 0x16, //0x00000a49 leaq (%r14,%r10), %rcx + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00000a4d jmp LBB0_174 + //0x00000a52 LBB0_171 + 0x49, 0x89, 0xd6, //0x00000a52 movq %rdx, %r14 + 0x4d, 0x29, 0xfe, //0x00000a55 subq %r15, %r14 + 0x49, 0x83, 0xf8, 0xff, //0x00000a58 cmpq $-1, %r8 + 0x0f, 0x85, 0x15, 0x13, 0x00, 0x00, //0x00000a5c jne LBB0_352 + 0x49, 0xff, 0xce, //0x00000a62 decq %r14 + 0x4d, 0x89, 0xf0, //0x00000a65 movq %r14, %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a68 .p2align 4, 0x90 + //0x00000a70 LBB0_173 + 0x49, 0x89, 0xd6, //0x00000a70 movq %rdx, %r14 + 0x49, 0xff, 0xca, //0x00000a73 decq %r10 + 0x0f, 0x84, 0x3a, 0x12, 0x00, 0x00, //0x00000a76 je LBB0_348 + //0x00000a7c LBB0_174 + 0x41, 0x0f, 0xbe, 0x36, //0x00000a7c movsbl (%r14), %esi + 0x83, 0xc6, 0xd5, //0x00000a80 addl $-43, %esi + 0x83, 0xfe, 0x3a, //0x00000a83 cmpl $58, %esi + 0x0f, 0x87, 0x21, 0x05, 0x00, 0x00, //0x00000a86 ja LBB0_187 + 0x49, 0x8d, 0x56, 0x01, //0x00000a8c leaq $1(%r14), %rdx + 0x48, 0x8d, 0x3d, 0x65, 0x22, 0x00, 0x00, //0x00000a90 leaq $8805(%rip), %rdi /* LJTI0_3+0(%rip) */ + 0x48, 0x63, 0x34, 0xb7, //0x00000a97 movslq (%rdi,%rsi,4), %rsi + 0x48, 0x01, 0xfe, //0x00000a9b addq %rdi, %rsi + 0xff, 0xe6, //0x00000a9e jmpq *%rsi + //0x00000aa0 LBB0_176 + 0x49, 0x89, 0xd6, //0x00000aa0 movq %rdx, %r14 + 0x4d, 0x29, 0xfe, //0x00000aa3 subq %r15, %r14 + 0x49, 0x83, 0xfc, 0xff, //0x00000aa6 cmpq $-1, %r12 + 0x0f, 0x85, 0xc7, 0x12, 0x00, 0x00, //0x00000aaa jne LBB0_352 + 0x49, 0xff, 0xce, //0x00000ab0 decq %r14 + 0x4d, 0x89, 0xf4, //0x00000ab3 movq %r14, %r12 + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x00000ab6 jmp LBB0_173 + //0x00000abb LBB0_178 + 0x49, 0x89, 0xd6, //0x00000abb movq %rdx, %r14 + 0x4d, 0x29, 0xfe, //0x00000abe subq %r15, %r14 + 0x48, 0x83, 0xf8, 0xff, //0x00000ac1 cmpq $-1, %rax + 0x0f, 0x85, 0xac, 0x12, 0x00, 0x00, //0x00000ac5 jne LBB0_352 + 0x49, 0xff, 0xce, //0x00000acb decq %r14 + 0x4c, 0x89, 0xf0, //0x00000ace movq %r14, %rax + 0xe9, 0x9a, 0xff, 0xff, 0xff, //0x00000ad1 jmp LBB0_173 + //0x00000ad6 LBB0_73 + 0x49, 0x81, 0xf8, 0xff, 0x0f, 0x00, 0x00, //0x00000ad6 cmpq $4095, %r8 + 0x0f, 0x8f, 0x8f, 0x1c, 0x00, 0x00, //0x00000add jg LBB0_489 + 0x49, 0x8d, 0x40, 0x01, //0x00000ae3 leaq $1(%r8), %rax + 0x49, 0x89, 0x06, //0x00000ae7 movq %rax, (%r14) + 0x4b, 0xc7, 0x44, 0xc6, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00000aea movq $0, $8(%r14,%r8,8) + 0xe9, 0x78, 0xf7, 0xff, 0xff, //0x00000af3 jmp LBB0_3 + //0x00000af8 LBB0_75 + 0x49, 0x89, 0xd2, //0x00000af8 movq %rdx, %r10 + 0x4d, 0x29, 0xe2, //0x00000afb subq %r12, %r10 + 0x0f, 0x84, 0x74, 0x1e, 0x00, 0x00, //0x00000afe je LBB0_508 + 0x4c, 0x89, 0xe0, //0x00000b04 movq %r12, %rax + 0x4d, 0x01, 0xcc, //0x00000b07 addq %r9, %r12 + 0x49, 0x83, 0xfa, 0x40, //0x00000b0a cmpq $64, %r10 + 0x4c, 0x89, 0x4d, 0xc0, //0x00000b0e movq %r9, $-64(%rbp) + 0x0f, 0x82, 0x37, 0x13, 0x00, 0x00, //0x00000b12 jb LBB0_357 + 0x45, 0x89, 0xd6, //0x00000b18 movl %r10d, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000b1b andl $63, %r14d + 0x48, 0x8d, 0x4c, 0x32, 0xc0, //0x00000b1f leaq $-64(%rdx,%rsi), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000b24 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000b28 addq %rax, %rcx + 0x49, 0x8d, 0x44, 0x09, 0x40, //0x00000b2b leaq $64(%r9,%rcx), %rax + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000b30 movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00000b37 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000b3a .p2align 4, 0x90 + //0x00000b40 LBB0_78 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00000b40 vmovdqu (%r12), %ymm0 + 0xc4, 0xc1, 0x7e, 0x6f, 0x4c, 0x24, 0x20, //0x00000b46 vmovdqu $32(%r12), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000b4d vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xca, //0x00000b51 vpmovmskb %ymm2, %r9d + 0xc5, 0xf5, 0x74, 0xd6, //0x00000b55 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000b59 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xd7, //0x00000b5d vpcmpeqb %ymm7, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xda, //0x00000b61 vpmovmskb %ymm2, %r11d + 0xc5, 0xf5, 0x74, 0xd7, //0x00000b65 vpcmpeqb %ymm7, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xda, //0x00000b69 vpmovmskb %ymm2, %ebx + 0xc5, 0xbd, 0x64, 0xd0, //0x00000b6d vpcmpgtb %ymm0, %ymm8, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00000b71 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc2, //0x00000b76 vpand %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x00000b7a vpmovmskb %ymm0, %edi + 0xc5, 0xbd, 0x64, 0xc1, //0x00000b7e vpcmpgtb %ymm1, %ymm8, %ymm0 + 0xc4, 0xc1, 0x75, 0x64, 0xc9, //0x00000b82 vpcmpgtb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xdb, 0xc0, //0x00000b87 vpand %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00000b8b vpmovmskb %ymm0, %esi + 0x48, 0xc1, 0xe2, 0x20, //0x00000b8f shlq $32, %rdx + 0x48, 0xc1, 0xe3, 0x20, //0x00000b93 shlq $32, %rbx + 0x49, 0x09, 0xdb, //0x00000b97 orq %rbx, %r11 + 0x49, 0x83, 0xf8, 0xff, //0x00000b9a cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000b9e jne LBB0_80 + 0x4d, 0x85, 0xdb, //0x00000ba4 testq %r11, %r11 + 0x0f, 0x85, 0x9f, 0x00, 0x00, 0x00, //0x00000ba7 jne LBB0_89 + //0x00000bad LBB0_80 + 0x48, 0xc1, 0xe6, 0x20, //0x00000bad shlq $32, %rsi + 0x4c, 0x09, 0xca, //0x00000bb1 orq %r9, %rdx + 0x4c, 0x89, 0xd9, //0x00000bb4 movq %r11, %rcx + 0x4c, 0x09, 0xf9, //0x00000bb7 orq %r15, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000bba jne LBB0_108 + 0x48, 0x09, 0xfe, //0x00000bc0 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00000bc3 testq %rdx, %rdx + 0x0f, 0x85, 0xe1, 0x01, 0x00, 0x00, //0x00000bc6 jne LBB0_109 + //0x00000bcc LBB0_82 + 0x48, 0x85, 0xf6, //0x00000bcc testq %rsi, %rsi + 0x0f, 0x85, 0x21, 0x1c, 0x00, 0x00, //0x00000bcf jne LBB0_482 + 0x49, 0x83, 0xc2, 0xc0, //0x00000bd5 addq $-64, %r10 + 0x49, 0x83, 0xc4, 0x40, //0x00000bd9 addq $64, %r12 + 0x49, 0x83, 0xfa, 0x3f, //0x00000bdd cmpq $63, %r10 + 0x0f, 0x87, 0x59, 0xff, 0xff, 0xff, //0x00000be1 ja LBB0_78 + 0xe9, 0xed, 0x0e, 0x00, 0x00, //0x00000be7 jmp LBB0_84 + //0x00000bec LBB0_108 + 0x4c, 0x89, 0xf9, //0x00000bec movq %r15, %rcx + 0x48, 0xf7, 0xd1, //0x00000bef notq %rcx + 0x4c, 0x21, 0xd9, //0x00000bf2 andq %r11, %rcx + 0x4c, 0x8d, 0x0c, 0x09, //0x00000bf5 leaq (%rcx,%rcx), %r9 + 0x4d, 0x09, 0xf9, //0x00000bf9 orq %r15, %r9 + 0x4c, 0x89, 0xcb, //0x00000bfc movq %r9, %rbx + 0x48, 0xf7, 0xd3, //0x00000bff notq %rbx + 0x4c, 0x21, 0xdb, //0x00000c02 andq %r11, %rbx + 0x49, 0x89, 0xc3, //0x00000c05 movq %rax, %r11 + 0x48, 0xb8, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000c08 movabsq $-6148914691236517206, %rax + 0x48, 0x21, 0xc3, //0x00000c12 andq %rax, %rbx + 0x45, 0x31, 0xff, //0x00000c15 xorl %r15d, %r15d + 0x48, 0x01, 0xcb, //0x00000c18 addq %rcx, %rbx + 0x41, 0x0f, 0x92, 0xc7, //0x00000c1b setb %r15b + 0x48, 0x01, 0xdb, //0x00000c1f addq %rbx, %rbx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000c22 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc3, //0x00000c2c xorq %rax, %rbx + 0x4c, 0x89, 0xd8, //0x00000c2f movq %r11, %rax + 0x4c, 0x21, 0xcb, //0x00000c32 andq %r9, %rbx + 0x48, 0xf7, 0xd3, //0x00000c35 notq %rbx + 0x48, 0x21, 0xda, //0x00000c38 andq %rbx, %rdx + 0x48, 0x09, 0xfe, //0x00000c3b orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00000c3e testq %rdx, %rdx + 0x0f, 0x84, 0x85, 0xff, 0xff, 0xff, //0x00000c41 je LBB0_82 + 0xe9, 0x61, 0x01, 0x00, 0x00, //0x00000c47 jmp LBB0_109 + //0x00000c4c LBB0_89 + 0x4c, 0x89, 0xe3, //0x00000c4c movq %r12, %rbx + 0x48, 0x2b, 0x5d, 0xc0, //0x00000c4f subq $-64(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xc3, //0x00000c53 bsfq %r11, %r8 + 0x49, 0x01, 0xd8, //0x00000c57 addq %rbx, %r8 + 0xe9, 0x4e, 0xff, 0xff, 0xff, //0x00000c5a jmp LBB0_80 + //0x00000c5f LBB0_92 + 0x4b, 0xc7, 0x04, 0xc6, 0x02, 0x00, 0x00, 0x00, //0x00000c5f movq $2, (%r14,%r8,8) + 0x48, 0x8b, 0x45, 0xb0, //0x00000c67 movq $-80(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x00000c6b movq $8(%rax), %rax + 0xf6, 0x45, 0x98, 0x20, //0x00000c6f testb $32, $-104(%rbp) + 0x48, 0x89, 0x45, 0xb8, //0x00000c73 movq %rax, $-72(%rbp) + 0x0f, 0x85, 0x6c, 0x01, 0x00, 0x00, //0x00000c77 jne LBB0_111 + 0x48, 0x89, 0xc1, //0x00000c7d movq %rax, %rcx + 0x4c, 0x29, 0xe1, //0x00000c80 subq %r12, %rcx + 0x0f, 0x84, 0xdd, 0x1c, 0x00, 0x00, //0x00000c83 je LBB0_510 + 0x4b, 0x8d, 0x1c, 0x21, //0x00000c89 leaq (%r9,%r12), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x00000c8d cmpq $64, %rcx + 0x0f, 0x82, 0xf1, 0x11, 0x00, 0x00, //0x00000c91 jb LBB0_360 + 0x4c, 0x89, 0xca, //0x00000c97 movq %r9, %rdx + 0x41, 0x89, 0xcf, //0x00000c9a movl %ecx, %r15d + 0x41, 0x83, 0xe7, 0x3f, //0x00000c9d andl $63, %r15d + 0x48, 0x8d, 0x44, 0x30, 0xc0, //0x00000ca1 leaq $-64(%rax,%rsi), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00000ca6 andq $-64, %rax + 0x4c, 0x01, 0xe0, //0x00000caa addq %r12, %rax + 0x4d, 0x8d, 0x44, 0x01, 0x40, //0x00000cad leaq $64(%r9,%rax), %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000cb2 movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00000cb9 xorl %r14d, %r14d + 0x90, 0x90, 0x90, 0x90, //0x00000cbc .p2align 4, 0x90 + //0x00000cc0 LBB0_96 + 0xc5, 0xfe, 0x6f, 0x03, //0x00000cc0 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x00000cc4 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000cc9 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x00000ccd vpmovmskb %ymm2, %edi + 0xc5, 0xf5, 0x74, 0xd6, //0x00000cd1 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000cd5 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00000cd9 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00000cdd vpmovmskb %ymm0, %esi + 0xc5, 0xf5, 0x74, 0xc7, //0x00000ce1 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x00000ce5 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe2, 0x20, //0x00000ce9 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x00000ced shlq $32, %rax + 0x48, 0x09, 0xc6, //0x00000cf1 orq %rax, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x00000cf4 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000cf8 jne LBB0_98 + 0x48, 0x85, 0xf6, //0x00000cfe testq %rsi, %rsi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000d01 jne LBB0_105 + //0x00000d07 LBB0_98 + 0x48, 0x09, 0xfa, //0x00000d07 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x00000d0a movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00000d0d orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00000d10 jne LBB0_106 + //0x00000d16 LBB0_99 + 0x48, 0x85, 0xd2, //0x00000d16 testq %rdx, %rdx + 0x0f, 0x85, 0xe6, 0x0e, 0x00, 0x00, //0x00000d19 jne LBB0_107 + //0x00000d1f LBB0_100 + 0x48, 0x83, 0xc1, 0xc0, //0x00000d1f addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x00000d23 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x00000d27 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x00000d2b ja LBB0_96 + 0xe9, 0x8e, 0x0e, 0x00, 0x00, //0x00000d31 jmp LBB0_101 + //0x00000d36 LBB0_105 + 0x48, 0x89, 0xd8, //0x00000d36 movq %rbx, %rax + 0x4c, 0x29, 0xc8, //0x00000d39 subq %r9, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x00000d3c bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x00000d40 addq %rax, %r11 + 0x48, 0x09, 0xfa, //0x00000d43 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x00000d46 movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00000d49 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x00000d4c je LBB0_99 + //0x00000d52 LBB0_106 + 0x4c, 0x89, 0xf0, //0x00000d52 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00000d55 notq %rax + 0x48, 0x21, 0xf0, //0x00000d58 andq %rsi, %rax + 0x4c, 0x8d, 0x14, 0x00, //0x00000d5b leaq (%rax,%rax), %r10 + 0x4d, 0x09, 0xf2, //0x00000d5f orq %r14, %r10 + 0x4c, 0x89, 0xd7, //0x00000d62 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x00000d65 notq %rdi + 0x48, 0x21, 0xf7, //0x00000d68 andq %rsi, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000d6b movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf7, //0x00000d75 andq %rsi, %rdi + 0x45, 0x31, 0xf6, //0x00000d78 xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x00000d7b addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x00000d7e setb %r14b + 0x48, 0x01, 0xff, //0x00000d82 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000d85 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00000d8f xorq %rax, %rdi + 0x4c, 0x21, 0xd7, //0x00000d92 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xd0, //0x00000d95 movq $-48(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x00000d99 notq %rdi + 0x48, 0x21, 0xfa, //0x00000d9c andq %rdi, %rdx + 0x48, 0x85, 0xd2, //0x00000d9f testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0xff, 0xff, 0xff, //0x00000da2 je LBB0_100 + 0xe9, 0x58, 0x0e, 0x00, 0x00, //0x00000da8 jmp LBB0_107 + //0x00000dad LBB0_109 + 0x48, 0x0f, 0xbc, 0xca, //0x00000dad bsfq %rdx, %rcx + 0x48, 0x85, 0xf6, //0x00000db1 testq %rsi, %rsi + 0x48, 0x8b, 0x45, 0xc0, //0x00000db4 movq $-64(%rbp), %rax + 0x0f, 0x84, 0xc9, 0x01, 0x00, 0x00, //0x00000db8 je LBB0_181 + 0x48, 0x0f, 0xbc, 0xd6, //0x00000dbe bsfq %rsi, %rdx + 0xe9, 0xc5, 0x01, 0x00, 0x00, //0x00000dc2 jmp LBB0_182 + //0x00000dc7 LBB0_180 + 0x49, 0x01, 0xcb, //0x00000dc7 addq %rcx, %r11 + 0xc5, 0xf8, 0x77, //0x00000dca vzeroupper + 0x4d, 0x89, 0xde, //0x00000dcd movq %r11, %r14 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000dd0 movq $-1, %rcx + 0x4d, 0x85, 0xe4, //0x00000dd7 testq %r12, %r12 + 0x48, 0x8b, 0x55, 0xd0, //0x00000dda movq $-48(%rbp), %rdx + 0x0f, 0x85, 0xdd, 0x01, 0x00, 0x00, //0x00000dde jne LBB0_188 + 0xe9, 0xdc, 0x19, 0x00, 0x00, //0x00000de4 jmp LBB0_481 + //0x00000de9 LBB0_111 + 0x48, 0x89, 0xc3, //0x00000de9 movq %rax, %rbx + 0x4c, 0x29, 0xe3, //0x00000dec subq %r12, %rbx + 0x0f, 0x84, 0x71, 0x1b, 0x00, 0x00, //0x00000def je LBB0_510 + 0x4c, 0x89, 0xe1, //0x00000df5 movq %r12, %rcx + 0x4d, 0x01, 0xcc, //0x00000df8 addq %r9, %r12 + 0x48, 0x83, 0xfb, 0x40, //0x00000dfb cmpq $64, %rbx + 0x4c, 0x89, 0x4d, 0xc0, //0x00000dff movq %r9, $-64(%rbp) + 0x0f, 0x82, 0x98, 0x10, 0x00, 0x00, //0x00000e03 jb LBB0_361 + 0x41, 0x89, 0xde, //0x00000e09 movl %ebx, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000e0c andl $63, %r14d + 0x48, 0x8d, 0x44, 0x30, 0xc0, //0x00000e10 leaq $-64(%rax,%rsi), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00000e15 andq $-64, %rax + 0x49, 0x89, 0xc8, //0x00000e19 movq %rcx, %r8 + 0x48, 0x01, 0xc8, //0x00000e1c addq %rcx, %rax + 0x49, 0x8d, 0x44, 0x01, 0x40, //0x00000e1f leaq $64(%r9,%rax), %rax + 0x48, 0x89, 0x45, 0xa0, //0x00000e24 movq %rax, $-96(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000e28 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x00000e2f xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000e32 .p2align 4, 0x90 + //0x00000e40 LBB0_114 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00000e40 vmovdqu (%r12), %ymm0 + 0xc4, 0xc1, 0x7e, 0x6f, 0x4c, 0x24, 0x20, //0x00000e46 vmovdqu $32(%r12), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x00000e4d vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xca, //0x00000e51 vpmovmskb %ymm2, %r9d + 0xc5, 0xf5, 0x74, 0xd6, //0x00000e55 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000e59 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xd7, //0x00000e5d vpcmpeqb %ymm7, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xca, //0x00000e61 vpmovmskb %ymm2, %ecx + 0xc5, 0xf5, 0x74, 0xd7, //0x00000e65 vpcmpeqb %ymm7, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xc2, //0x00000e69 vpmovmskb %ymm2, %eax + 0xc5, 0xbd, 0x64, 0xd0, //0x00000e6d vpcmpgtb %ymm0, %ymm8, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00000e71 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc2, //0x00000e76 vpand %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x00000e7a vpmovmskb %ymm0, %edi + 0xc5, 0xbd, 0x64, 0xc1, //0x00000e7e vpcmpgtb %ymm1, %ymm8, %ymm0 + 0xc4, 0xc1, 0x75, 0x64, 0xc9, //0x00000e82 vpcmpgtb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xdb, 0xc0, //0x00000e87 vpand %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00000e8b vpmovmskb %ymm0, %esi + 0x48, 0xc1, 0xe2, 0x20, //0x00000e8f shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x00000e93 shlq $32, %rax + 0x48, 0x09, 0xc1, //0x00000e97 orq %rax, %rcx + 0x49, 0x83, 0xfb, 0xff, //0x00000e9a cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000e9e jne LBB0_116 + 0x48, 0x85, 0xc9, //0x00000ea4 testq %rcx, %rcx + 0x0f, 0x85, 0x9d, 0x00, 0x00, 0x00, //0x00000ea7 jne LBB0_125 + //0x00000ead LBB0_116 + 0x48, 0xc1, 0xe6, 0x20, //0x00000ead shlq $32, %rsi + 0x4c, 0x09, 0xca, //0x00000eb1 orq %r9, %rdx + 0x48, 0x89, 0xc8, //0x00000eb4 movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x00000eb7 orq %r15, %rax + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000eba jne LBB0_126 + 0x48, 0x09, 0xfe, //0x00000ec0 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00000ec3 testq %rdx, %rdx + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x00000ec6 jne LBB0_127 + //0x00000ecc LBB0_118 + 0x48, 0x85, 0xf6, //0x00000ecc testq %rsi, %rsi + 0x0f, 0x85, 0x4f, 0x19, 0x00, 0x00, //0x00000ecf jne LBB0_502 + 0x48, 0x83, 0xc3, 0xc0, //0x00000ed5 addq $-64, %rbx + 0x49, 0x83, 0xc4, 0x40, //0x00000ed9 addq $64, %r12 + 0x48, 0x83, 0xfb, 0x3f, //0x00000edd cmpq $63, %rbx + 0x0f, 0x87, 0x59, 0xff, 0xff, 0xff, //0x00000ee1 ja LBB0_114 + 0xe9, 0x68, 0x0d, 0x00, 0x00, //0x00000ee7 jmp LBB0_120 + //0x00000eec LBB0_126 + 0x4d, 0x89, 0xfa, //0x00000eec movq %r15, %r10 + 0x49, 0xf7, 0xd2, //0x00000eef notq %r10 + 0x49, 0x21, 0xca, //0x00000ef2 andq %rcx, %r10 + 0x4f, 0x8d, 0x0c, 0x12, //0x00000ef5 leaq (%r10,%r10), %r9 + 0x4d, 0x09, 0xf9, //0x00000ef9 orq %r15, %r9 + 0x4c, 0x89, 0xc8, //0x00000efc movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000eff notq %rax + 0x48, 0x21, 0xc8, //0x00000f02 andq %rcx, %rax + 0x48, 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000f05 movabsq $-6148914691236517206, %rcx + 0x48, 0x21, 0xc8, //0x00000f0f andq %rcx, %rax + 0x45, 0x31, 0xff, //0x00000f12 xorl %r15d, %r15d + 0x4c, 0x01, 0xd0, //0x00000f15 addq %r10, %rax + 0x4c, 0x8b, 0x55, 0xd0, //0x00000f18 movq $-48(%rbp), %r10 + 0x41, 0x0f, 0x92, 0xc7, //0x00000f1c setb %r15b + 0x48, 0x01, 0xc0, //0x00000f20 addq %rax, %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000f23 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xc8, //0x00000f2d xorq %rcx, %rax + 0x4c, 0x21, 0xc8, //0x00000f30 andq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000f33 notq %rax + 0x48, 0x21, 0xc2, //0x00000f36 andq %rax, %rdx + 0x48, 0x09, 0xfe, //0x00000f39 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00000f3c testq %rdx, %rdx + 0x0f, 0x84, 0x87, 0xff, 0xff, 0xff, //0x00000f3f je LBB0_118 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00000f45 jmp LBB0_127 + //0x00000f4a LBB0_125 + 0x4c, 0x89, 0xe0, //0x00000f4a movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x00000f4d subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x00000f51 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x00000f55 addq %rax, %r11 + 0xe9, 0x50, 0xff, 0xff, 0xff, //0x00000f58 jmp LBB0_116 + //0x00000f5d LBB0_127 + 0x48, 0x0f, 0xbc, 0xca, //0x00000f5d bsfq %rdx, %rcx + 0x48, 0x85, 0xf6, //0x00000f61 testq %rsi, %rsi + 0x48, 0x8b, 0x45, 0xc0, //0x00000f64 movq $-64(%rbp), %rax + 0x0f, 0x84, 0x8d, 0x01, 0x00, 0x00, //0x00000f68 je LBB0_203 + 0x48, 0x0f, 0xbc, 0xd6, //0x00000f6e bsfq %rsi, %rdx + 0x4c, 0x8b, 0x75, 0xc8, //0x00000f72 movq $-56(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00000f76 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x00000f79 cmpq %rcx, %rdx + 0x0f, 0x83, 0x8e, 0x01, 0x00, 0x00, //0x00000f7c jae LBB0_204 + 0xe9, 0x19, 0x1a, 0x00, 0x00, //0x00000f82 jmp LBB0_129 + //0x00000f87 LBB0_181 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00000f87 movl $64, %edx + //0x00000f8c LBB0_182 + 0x4c, 0x8b, 0x55, 0xd0, //0x00000f8c movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00000f90 movq $-56(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00000f94 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x00000f97 cmpq %rcx, %rdx + 0x0f, 0x82, 0xe5, 0x19, 0x00, 0x00, //0x00000f9a jb LBB0_509 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x00000fa0 leaq $1(%r12,%rcx), %r12 + 0xe9, 0x10, 0x0b, 0x00, 0x00, //0x00000fa5 jmp LBB0_184 + //0x00000faa LBB0_186 + 0x49, 0x01, 0xce, //0x00000faa addq %rcx, %r14 + //0x00000fad LBB0_187 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000fad movq $-1, %rcx + 0x4d, 0x85, 0xe4, //0x00000fb4 testq %r12, %r12 + 0x48, 0x8b, 0x55, 0xd0, //0x00000fb7 movq $-48(%rbp), %rdx + 0x0f, 0x84, 0x04, 0x18, 0x00, 0x00, //0x00000fbb je LBB0_481 + //0x00000fc1 LBB0_188 + 0x4d, 0x85, 0xc0, //0x00000fc1 testq %r8, %r8 + 0x0f, 0x84, 0xfb, 0x17, 0x00, 0x00, //0x00000fc4 je LBB0_481 + 0x48, 0x85, 0xc0, //0x00000fca testq %rax, %rax + 0x0f, 0x84, 0xf2, 0x17, 0x00, 0x00, //0x00000fcd je LBB0_481 + 0x4d, 0x29, 0xfe, //0x00000fd3 subq %r15, %r14 + 0x49, 0x8d, 0x4e, 0xff, //0x00000fd6 leaq $-1(%r14), %rcx + 0x49, 0x39, 0xcc, //0x00000fda cmpq %rcx, %r12 + 0x0f, 0x84, 0x88, 0x00, 0x00, 0x00, //0x00000fdd je LBB0_196 + 0x48, 0x39, 0xc8, //0x00000fe3 cmpq %rcx, %rax + 0x0f, 0x84, 0x7f, 0x00, 0x00, 0x00, //0x00000fe6 je LBB0_196 + 0x49, 0x39, 0xc8, //0x00000fec cmpq %rcx, %r8 + 0x0f, 0x84, 0x76, 0x00, 0x00, 0x00, //0x00000fef je LBB0_196 + 0x4d, 0x85, 0xc0, //0x00000ff5 testq %r8, %r8 + 0xc5, 0xfe, 0x6f, 0x2d, 0x00, 0xf0, 0xff, 0xff, //0x00000ff8 vmovdqu $-4096(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x18, 0xf0, 0xff, 0xff, //0x00001000 vmovdqu $-4072(%rip), %ymm6 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x30, 0xf0, 0xff, 0xff, //0x00001008 vmovdqu $-4048(%rip), %ymm7 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0x48, 0xf0, 0xff, 0xff, //0x00001010 vmovdqu $-4024(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00001018 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0x5b, 0xf0, 0xff, 0xff, //0x0000101d vmovdqu $-4005(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x73, 0xf0, 0xff, 0xff, //0x00001025 vmovdqu $-3981(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x8b, 0xf0, 0xff, 0xff, //0x0000102d vmovdqu $-3957(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0xa3, 0xf0, 0xff, 0xff, //0x00001035 vmovdqu $-3933(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xbb, 0xf0, 0xff, 0xff, //0x0000103d vmovdqu $-3909(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0xd3, 0xf0, 0xff, 0xff, //0x00001045 vmovdqu $-3885(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + 0x0f, 0x8e, 0x85, 0x00, 0x00, 0x00, //0x0000104d jle LBB0_200 + 0x49, 0x8d, 0x48, 0xff, //0x00001053 leaq $-1(%r8), %rcx + 0x49, 0x39, 0xcc, //0x00001057 cmpq %rcx, %r12 + 0x0f, 0x84, 0x78, 0x00, 0x00, 0x00, //0x0000105a je LBB0_200 + 0x49, 0xf7, 0xd0, //0x00001060 notq %r8 + 0x4d, 0x89, 0xc6, //0x00001063 movq %r8, %r14 + 0xe9, 0x58, 0x00, 0x00, 0x00, //0x00001066 jmp LBB0_197 + //0x0000106b LBB0_196 + 0x49, 0xf7, 0xde, //0x0000106b negq %r14 + 0xc5, 0xfe, 0x6f, 0x2d, 0x8a, 0xef, 0xff, 0xff, //0x0000106e vmovdqu $-4214(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xa2, 0xef, 0xff, 0xff, //0x00001076 vmovdqu $-4190(%rip), %ymm6 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xba, 0xef, 0xff, 0xff, //0x0000107e vmovdqu $-4166(%rip), %ymm7 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0xd2, 0xef, 0xff, 0xff, //0x00001086 vmovdqu $-4142(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000108e vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0xe5, 0xef, 0xff, 0xff, //0x00001093 vmovdqu $-4123(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xfd, 0xef, 0xff, 0xff, //0x0000109b vmovdqu $-4099(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0x15, 0xf0, 0xff, 0xff, //0x000010a3 vmovdqu $-4075(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x2d, 0xf0, 0xff, 0xff, //0x000010ab vmovdqu $-4051(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x45, 0xf0, 0xff, 0xff, //0x000010b3 vmovdqu $-4027(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x5d, 0xf0, 0xff, 0xff, //0x000010bb vmovdqu $-4003(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + //0x000010c3 LBB0_197 + 0x4d, 0x85, 0xf6, //0x000010c3 testq %r14, %r14 + 0x4c, 0x8b, 0x65, 0xa8, //0x000010c6 movq $-88(%rbp), %r12 + 0x0f, 0x88, 0xf2, 0x16, 0x00, 0x00, //0x000010ca js LBB0_480 + 0x48, 0x8b, 0x0a, //0x000010d0 movq (%rdx), %rcx + 0xe9, 0x76, 0xf1, 0xff, 0xff, //0x000010d3 jmp LBB0_199 + //0x000010d8 LBB0_200 + 0x48, 0x89, 0xc1, //0x000010d8 movq %rax, %rcx + 0x4c, 0x09, 0xe1, //0x000010db orq %r12, %rcx + 0x4c, 0x39, 0xe0, //0x000010de cmpq %r12, %rax + 0x0f, 0x8c, 0x98, 0x02, 0x00, 0x00, //0x000010e1 jl LBB0_249 + 0x48, 0x85, 0xc9, //0x000010e7 testq %rcx, %rcx + 0x0f, 0x88, 0x8f, 0x02, 0x00, 0x00, //0x000010ea js LBB0_249 + 0x48, 0xf7, 0xd0, //0x000010f0 notq %rax + 0x49, 0x89, 0xc6, //0x000010f3 movq %rax, %r14 + 0xe9, 0xc8, 0xff, 0xff, 0xff, //0x000010f6 jmp LBB0_197 + //0x000010fb LBB0_203 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x000010fb movl $64, %edx + 0x4c, 0x8b, 0x75, 0xc8, //0x00001100 movq $-56(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00001104 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x00001107 cmpq %rcx, %rdx + 0x0f, 0x82, 0x90, 0x18, 0x00, 0x00, //0x0000110a jb LBB0_129 + //0x00001110 LBB0_204 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x00001110 leaq $1(%r12,%rcx), %r12 + 0xe9, 0xfe, 0x0a, 0x00, 0x00, //0x00001115 jmp LBB0_205 + //0x0000111a LBB0_209 + 0x49, 0x8b, 0x06, //0x0000111a movq (%r14), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x0000111d cmpq $4095, %rax + 0x0f, 0x8f, 0x49, 0x16, 0x00, 0x00, //0x00001123 jg LBB0_489 + 0x48, 0x8d, 0x48, 0x01, //0x00001129 leaq $1(%rax), %rcx + 0x49, 0x89, 0x0e, //0x0000112d movq %rcx, (%r14) + 0x49, 0xc7, 0x44, 0xc6, 0x08, 0x05, 0x00, 0x00, 0x00, //0x00001130 movq $5, $8(%r14,%rax,8) + 0xe9, 0x32, 0xf1, 0xff, 0xff, //0x00001139 jmp LBB0_3 + //0x0000113e LBB0_211 + 0x48, 0x8b, 0x45, 0xb0, //0x0000113e movq $-80(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x00001142 movq $8(%rax), %rax + 0xf6, 0x45, 0x98, 0x20, //0x00001146 testb $32, $-104(%rbp) + 0x48, 0x89, 0x45, 0xb8, //0x0000114a movq %rax, $-72(%rbp) + 0x0f, 0x85, 0x46, 0x02, 0x00, 0x00, //0x0000114e jne LBB0_250 + 0x48, 0x89, 0xc1, //0x00001154 movq %rax, %rcx + 0x4c, 0x29, 0xe1, //0x00001157 subq %r12, %rcx + 0x0f, 0x84, 0x06, 0x18, 0x00, 0x00, //0x0000115a je LBB0_510 + 0x4b, 0x8d, 0x1c, 0x21, //0x00001160 leaq (%r9,%r12), %rbx + 0x48, 0x83, 0xf9, 0x40, //0x00001164 cmpq $64, %rcx + 0x4c, 0x89, 0xca, //0x00001168 movq %r9, %rdx + 0x0f, 0x82, 0x71, 0x0d, 0x00, 0x00, //0x0000116b jb LBB0_363 + 0x41, 0x89, 0xcf, //0x00001171 movl %ecx, %r15d + 0x41, 0x83, 0xe7, 0x3f, //0x00001174 andl $63, %r15d + 0x48, 0x8d, 0x44, 0x30, 0xc0, //0x00001178 leaq $-64(%rax,%rsi), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x0000117d andq $-64, %rax + 0x4c, 0x01, 0xe0, //0x00001181 addq %r12, %rax + 0x49, 0x89, 0xd1, //0x00001184 movq %rdx, %r9 + 0x4c, 0x8d, 0x44, 0x02, 0x40, //0x00001187 leaq $64(%rdx,%rax), %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000118c movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00001193 xorl %r14d, %r14d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001196 .p2align 4, 0x90 + //0x000011a0 LBB0_215 + 0xc5, 0xfe, 0x6f, 0x03, //0x000011a0 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfe, 0x6f, 0x4b, 0x20, //0x000011a4 vmovdqu $32(%rbx), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x000011a9 vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x000011ad vpmovmskb %ymm2, %edi + 0xc5, 0xf5, 0x74, 0xd6, //0x000011b1 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x000011b5 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x000011b9 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x000011bd vpmovmskb %ymm0, %esi + 0xc5, 0xf5, 0x74, 0xc7, //0x000011c1 vpcmpeqb %ymm7, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x000011c5 vpmovmskb %ymm0, %eax + 0x48, 0xc1, 0xe2, 0x20, //0x000011c9 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x000011cd shlq $32, %rax + 0x48, 0x09, 0xc6, //0x000011d1 orq %rax, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x000011d4 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000011d8 jne LBB0_217 + 0x48, 0x85, 0xf6, //0x000011de testq %rsi, %rsi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000011e1 jne LBB0_224 + //0x000011e7 LBB0_217 + 0x48, 0x09, 0xfa, //0x000011e7 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x000011ea movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x000011ed orq %r14, %rax + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x000011f0 jne LBB0_225 + //0x000011f6 LBB0_218 + 0x48, 0x85, 0xd2, //0x000011f6 testq %rdx, %rdx + 0x0f, 0x85, 0x48, 0x0b, 0x00, 0x00, //0x000011f9 jne LBB0_226 + //0x000011ff LBB0_219 + 0x48, 0x83, 0xc1, 0xc0, //0x000011ff addq $-64, %rcx + 0x48, 0x83, 0xc3, 0x40, //0x00001203 addq $64, %rbx + 0x48, 0x83, 0xf9, 0x3f, //0x00001207 cmpq $63, %rcx + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x0000120b ja LBB0_215 + 0xe9, 0xf0, 0x0a, 0x00, 0x00, //0x00001211 jmp LBB0_220 + //0x00001216 LBB0_224 + 0x48, 0x89, 0xd8, //0x00001216 movq %rbx, %rax + 0x4c, 0x29, 0xc8, //0x00001219 subq %r9, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x0000121c bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x00001220 addq %rax, %r11 + 0x48, 0x09, 0xfa, //0x00001223 orq %rdi, %rdx + 0x48, 0x89, 0xf0, //0x00001226 movq %rsi, %rax + 0x4c, 0x09, 0xf0, //0x00001229 orq %r14, %rax + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x0000122c je LBB0_218 + //0x00001232 LBB0_225 + 0x4c, 0x89, 0xf0, //0x00001232 movq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00001235 notq %rax + 0x48, 0x21, 0xf0, //0x00001238 andq %rsi, %rax + 0x4c, 0x8d, 0x14, 0x00, //0x0000123b leaq (%rax,%rax), %r10 + 0x4d, 0x09, 0xf2, //0x0000123f orq %r14, %r10 + 0x4c, 0x89, 0xd7, //0x00001242 movq %r10, %rdi + 0x48, 0xf7, 0xd7, //0x00001245 notq %rdi + 0x48, 0x21, 0xf7, //0x00001248 andq %rsi, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000124b movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf7, //0x00001255 andq %rsi, %rdi + 0x45, 0x31, 0xf6, //0x00001258 xorl %r14d, %r14d + 0x48, 0x01, 0xc7, //0x0000125b addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc6, //0x0000125e setb %r14b + 0x48, 0x01, 0xff, //0x00001262 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001265 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x0000126f xorq %rax, %rdi + 0x4c, 0x21, 0xd7, //0x00001272 andq %r10, %rdi + 0x4c, 0x8b, 0x55, 0xd0, //0x00001275 movq $-48(%rbp), %r10 + 0x48, 0xf7, 0xd7, //0x00001279 notq %rdi + 0x48, 0x21, 0xfa, //0x0000127c andq %rdi, %rdx + 0x48, 0x85, 0xd2, //0x0000127f testq %rdx, %rdx + 0x0f, 0x84, 0x77, 0xff, 0xff, 0xff, //0x00001282 je LBB0_219 + 0xe9, 0xba, 0x0a, 0x00, 0x00, //0x00001288 jmp LBB0_226 + //0x0000128d LBB0_227 + 0x48, 0x8b, 0x45, 0xb0, //0x0000128d movq $-80(%rbp), %rax + 0x4c, 0x8b, 0x70, 0x08, //0x00001291 movq $8(%rax), %r14 + 0x4d, 0x29, 0xe6, //0x00001295 subq %r12, %r14 + 0x0f, 0x84, 0xb3, 0x16, 0x00, 0x00, //0x00001298 je LBB0_498 + 0x4c, 0x89, 0x65, 0xa8, //0x0000129e movq %r12, $-88(%rbp) + 0x4c, 0x89, 0xc8, //0x000012a2 movq %r9, %rax + 0x4c, 0x01, 0xe0, //0x000012a5 addq %r12, %rax + 0x49, 0x89, 0xc1, //0x000012a8 movq %rax, %r9 + 0x80, 0x38, 0x30, //0x000012ab cmpb $48, (%rax) + 0x0f, 0x85, 0xb5, 0x02, 0x00, 0x00, //0x000012ae jne LBB0_271 + 0x41, 0xbf, 0x01, 0x00, 0x00, 0x00, //0x000012b4 movl $1, %r15d + 0x49, 0x83, 0xfe, 0x01, //0x000012ba cmpq $1, %r14 + 0x0f, 0x85, 0x7a, 0x02, 0x00, 0x00, //0x000012be jne LBB0_269 + 0x4c, 0x8b, 0x65, 0xa8, //0x000012c4 movq $-88(%rbp), %r12 + 0xe9, 0x9d, 0x08, 0x00, 0x00, //0x000012c8 jmp LBB0_343 + //0x000012cd LBB0_231 + 0x48, 0x8b, 0x45, 0xb0, //0x000012cd movq $-80(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x000012d1 movq $8(%rax), %rdx + 0x48, 0x8d, 0x42, 0xfd, //0x000012d5 leaq $-3(%rdx), %rax + 0x49, 0x39, 0xc5, //0x000012d9 cmpq %rax, %r13 + 0x0f, 0x83, 0x0c, 0x15, 0x00, 0x00, //0x000012dc jae LBB0_490 + 0x41, 0x81, 0x3f, 0x6e, 0x75, 0x6c, 0x6c, //0x000012e2 cmpl $1819047278, (%r15) + 0x0f, 0x84, 0x99, 0xef, 0xff, 0xff, //0x000012e9 je LBB0_1 + 0xe9, 0x5a, 0x15, 0x00, 0x00, //0x000012ef jmp LBB0_233 + //0x000012f4 LBB0_238 + 0x49, 0x8b, 0x06, //0x000012f4 movq (%r14), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000012f7 cmpq $4095, %rax + 0x0f, 0x8f, 0x6f, 0x14, 0x00, 0x00, //0x000012fd jg LBB0_489 + 0x48, 0x8d, 0x48, 0x01, //0x00001303 leaq $1(%rax), %rcx + 0x49, 0x89, 0x0e, //0x00001307 movq %rcx, (%r14) + 0x49, 0xc7, 0x44, 0xc6, 0x08, 0x06, 0x00, 0x00, 0x00, //0x0000130a movq $6, $8(%r14,%rax,8) + 0xe9, 0x58, 0xef, 0xff, 0xff, //0x00001313 jmp LBB0_3 + //0x00001318 LBB0_240 + 0x48, 0x8b, 0x45, 0xb0, //0x00001318 movq $-80(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x0000131c movq $8(%rax), %rdx + 0x48, 0x8d, 0x42, 0xfc, //0x00001320 leaq $-4(%rdx), %rax + 0x49, 0x39, 0xc5, //0x00001324 cmpq %rax, %r13 + 0x0f, 0x83, 0xc1, 0x14, 0x00, 0x00, //0x00001327 jae LBB0_490 + 0x43, 0x8b, 0x14, 0x21, //0x0000132d movl (%r9,%r12), %edx + 0x81, 0xfa, 0x61, 0x6c, 0x73, 0x65, //0x00001331 cmpl $1702063201, %edx + 0x0f, 0x85, 0x63, 0x15, 0x00, 0x00, //0x00001337 jne LBB0_491 + 0x4c, 0x89, 0xe0, //0x0000133d movq %r12, %rax + 0x4d, 0x8d, 0x65, 0x05, //0x00001340 leaq $5(%r13), %r12 + 0x4d, 0x89, 0x22, //0x00001344 movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001347 movq %r13, %rcx + 0x48, 0x85, 0xc0, //0x0000134a testq %rax, %rax + 0x0f, 0x8f, 0x1d, 0xef, 0xff, 0xff, //0x0000134d jg LBB0_3 + 0xe9, 0x81, 0x14, 0x00, 0x00, //0x00001353 jmp LBB0_501 + //0x00001358 LBB0_243 + 0x48, 0x8b, 0x45, 0xb0, //0x00001358 movq $-80(%rbp), %rax + 0x48, 0x8b, 0x50, 0x08, //0x0000135c movq $8(%rax), %rdx + 0x48, 0x8d, 0x42, 0xfd, //0x00001360 leaq $-3(%rdx), %rax + 0x49, 0x39, 0xc5, //0x00001364 cmpq %rax, %r13 + 0x0f, 0x83, 0x81, 0x14, 0x00, 0x00, //0x00001367 jae LBB0_490 + 0x41, 0x81, 0x3f, 0x74, 0x72, 0x75, 0x65, //0x0000136d cmpl $1702195828, (%r15) + 0x0f, 0x84, 0x0e, 0xef, 0xff, 0xff, //0x00001374 je LBB0_1 + 0xe9, 0x76, 0x15, 0x00, 0x00, //0x0000137a jmp LBB0_245 + //0x0000137f LBB0_249 + 0x48, 0x85, 0xc9, //0x0000137f testq %rcx, %rcx + 0x49, 0x8d, 0x4c, 0x24, 0xff, //0x00001382 leaq $-1(%r12), %rcx + 0x49, 0xf7, 0xd4, //0x00001387 notq %r12 + 0x4d, 0x0f, 0x48, 0xe6, //0x0000138a cmovsq %r14, %r12 + 0x48, 0x39, 0xc8, //0x0000138e cmpq %rcx, %rax + 0x4d, 0x0f, 0x44, 0xf4, //0x00001391 cmoveq %r12, %r14 + 0xe9, 0x29, 0xfd, 0xff, 0xff, //0x00001395 jmp LBB0_197 + //0x0000139a LBB0_250 + 0x48, 0x89, 0xc3, //0x0000139a movq %rax, %rbx + 0x4c, 0x29, 0xe3, //0x0000139d subq %r12, %rbx + 0x0f, 0x84, 0xc0, 0x15, 0x00, 0x00, //0x000013a0 je LBB0_510 + 0x4c, 0x89, 0xe1, //0x000013a6 movq %r12, %rcx + 0x4d, 0x01, 0xcc, //0x000013a9 addq %r9, %r12 + 0x48, 0x83, 0xfb, 0x40, //0x000013ac cmpq $64, %rbx + 0x4c, 0x89, 0x4d, 0xc0, //0x000013b0 movq %r9, $-64(%rbp) + 0x0f, 0x82, 0x44, 0x0b, 0x00, 0x00, //0x000013b4 jb LBB0_364 + 0x41, 0x89, 0xde, //0x000013ba movl %ebx, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x000013bd andl $63, %r14d + 0x48, 0x8d, 0x44, 0x30, 0xc0, //0x000013c1 leaq $-64(%rax,%rsi), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x000013c6 andq $-64, %rax + 0x49, 0x89, 0xc8, //0x000013ca movq %rcx, %r8 + 0x48, 0x01, 0xc8, //0x000013cd addq %rcx, %rax + 0x49, 0x8d, 0x44, 0x01, 0x40, //0x000013d0 leaq $64(%r9,%rax), %rax + 0x48, 0x89, 0x45, 0xa0, //0x000013d5 movq %rax, $-96(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000013d9 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x000013e0 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000013e3 .p2align 4, 0x90 + //0x000013f0 LBB0_253 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x000013f0 vmovdqu (%r12), %ymm0 + 0xc4, 0xc1, 0x7e, 0x6f, 0x4c, 0x24, 0x20, //0x000013f6 vmovdqu $32(%r12), %ymm1 + 0xc5, 0xfd, 0x74, 0xd6, //0x000013fd vpcmpeqb %ymm6, %ymm0, %ymm2 + 0xc5, 0x7d, 0xd7, 0xca, //0x00001401 vpmovmskb %ymm2, %r9d + 0xc5, 0xf5, 0x74, 0xd6, //0x00001405 vpcmpeqb %ymm6, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00001409 vpmovmskb %ymm2, %edx + 0xc5, 0xfd, 0x74, 0xd7, //0x0000140d vpcmpeqb %ymm7, %ymm0, %ymm2 + 0xc5, 0xfd, 0xd7, 0xca, //0x00001411 vpmovmskb %ymm2, %ecx + 0xc5, 0xf5, 0x74, 0xd7, //0x00001415 vpcmpeqb %ymm7, %ymm1, %ymm2 + 0xc5, 0xfd, 0xd7, 0xc2, //0x00001419 vpmovmskb %ymm2, %eax + 0xc5, 0xbd, 0x64, 0xd0, //0x0000141d vpcmpgtb %ymm0, %ymm8, %ymm2 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001421 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc2, //0x00001426 vpand %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x0000142a vpmovmskb %ymm0, %edi + 0xc5, 0xbd, 0x64, 0xc1, //0x0000142e vpcmpgtb %ymm1, %ymm8, %ymm0 + 0xc4, 0xc1, 0x75, 0x64, 0xc9, //0x00001432 vpcmpgtb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xdb, 0xc0, //0x00001437 vpand %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x0000143b vpmovmskb %ymm0, %esi + 0x48, 0xc1, 0xe2, 0x20, //0x0000143f shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x20, //0x00001443 shlq $32, %rax + 0x48, 0x09, 0xc1, //0x00001447 orq %rax, %rcx + 0x49, 0x83, 0xfb, 0xff, //0x0000144a cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000144e jne LBB0_255 + 0x48, 0x85, 0xc9, //0x00001454 testq %rcx, %rcx + 0x0f, 0x85, 0x9d, 0x00, 0x00, 0x00, //0x00001457 jne LBB0_264 + //0x0000145d LBB0_255 + 0x48, 0xc1, 0xe6, 0x20, //0x0000145d shlq $32, %rsi + 0x4c, 0x09, 0xca, //0x00001461 orq %r9, %rdx + 0x48, 0x89, 0xc8, //0x00001464 movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x00001467 orq %r15, %rax + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x0000146a jne LBB0_265 + 0x48, 0x09, 0xfe, //0x00001470 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x00001473 testq %rdx, %rdx + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x00001476 jne LBB0_266 + //0x0000147c LBB0_257 + 0x48, 0x85, 0xf6, //0x0000147c testq %rsi, %rsi + 0x0f, 0x85, 0x9f, 0x13, 0x00, 0x00, //0x0000147f jne LBB0_502 + 0x48, 0x83, 0xc3, 0xc0, //0x00001485 addq $-64, %rbx + 0x49, 0x83, 0xc4, 0x40, //0x00001489 addq $64, %r12 + 0x48, 0x83, 0xfb, 0x3f, //0x0000148d cmpq $63, %rbx + 0x0f, 0x87, 0x59, 0xff, 0xff, 0xff, //0x00001491 ja LBB0_253 + 0xe9, 0xe7, 0x08, 0x00, 0x00, //0x00001497 jmp LBB0_259 + //0x0000149c LBB0_265 + 0x4d, 0x89, 0xfa, //0x0000149c movq %r15, %r10 + 0x49, 0xf7, 0xd2, //0x0000149f notq %r10 + 0x49, 0x21, 0xca, //0x000014a2 andq %rcx, %r10 + 0x4f, 0x8d, 0x0c, 0x12, //0x000014a5 leaq (%r10,%r10), %r9 + 0x4d, 0x09, 0xf9, //0x000014a9 orq %r15, %r9 + 0x4c, 0x89, 0xc8, //0x000014ac movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000014af notq %rax + 0x48, 0x21, 0xc8, //0x000014b2 andq %rcx, %rax + 0x48, 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000014b5 movabsq $-6148914691236517206, %rcx + 0x48, 0x21, 0xc8, //0x000014bf andq %rcx, %rax + 0x45, 0x31, 0xff, //0x000014c2 xorl %r15d, %r15d + 0x4c, 0x01, 0xd0, //0x000014c5 addq %r10, %rax + 0x4c, 0x8b, 0x55, 0xd0, //0x000014c8 movq $-48(%rbp), %r10 + 0x41, 0x0f, 0x92, 0xc7, //0x000014cc setb %r15b + 0x48, 0x01, 0xc0, //0x000014d0 addq %rax, %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000014d3 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xc8, //0x000014dd xorq %rcx, %rax + 0x4c, 0x21, 0xc8, //0x000014e0 andq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000014e3 notq %rax + 0x48, 0x21, 0xc2, //0x000014e6 andq %rax, %rdx + 0x48, 0x09, 0xfe, //0x000014e9 orq %rdi, %rsi + 0x48, 0x85, 0xd2, //0x000014ec testq %rdx, %rdx + 0x0f, 0x84, 0x87, 0xff, 0xff, 0xff, //0x000014ef je LBB0_257 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x000014f5 jmp LBB0_266 + //0x000014fa LBB0_264 + 0x4c, 0x89, 0xe0, //0x000014fa movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x000014fd subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x00001501 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x00001505 addq %rax, %r11 + 0xe9, 0x50, 0xff, 0xff, 0xff, //0x00001508 jmp LBB0_255 + //0x0000150d LBB0_266 + 0x48, 0x0f, 0xbc, 0xca, //0x0000150d bsfq %rdx, %rcx + 0x48, 0x85, 0xf6, //0x00001511 testq %rsi, %rsi + 0x48, 0x8b, 0x45, 0xc0, //0x00001514 movq $-64(%rbp), %rax + 0x0f, 0x84, 0x20, 0x04, 0x00, 0x00, //0x00001518 je LBB0_320 + 0x48, 0x0f, 0xbc, 0xd6, //0x0000151e bsfq %rsi, %rdx + 0xe9, 0x1c, 0x04, 0x00, 0x00, //0x00001522 jmp LBB0_321 + //0x00001527 LBB0_268 + 0x4c, 0x89, 0xca, //0x00001527 movq %r9, %rdx + 0x48, 0xf7, 0xd2, //0x0000152a notq %rdx + 0x49, 0x01, 0xd5, //0x0000152d addq %rdx, %r13 + 0x49, 0x39, 0xcd, //0x00001530 cmpq %rcx, %r13 + 0x0f, 0x82, 0x3f, 0xef, 0xff, 0xff, //0x00001533 jb LBB0_36 + 0xe9, 0x28, 0x12, 0x00, 0x00, //0x00001539 jmp LBB0_474 + //0x0000153e LBB0_269 + 0x41, 0x8a, 0x49, 0x01, //0x0000153e movb $1(%r9), %cl + 0x80, 0xc1, 0xd2, //0x00001542 addb $-46, %cl + 0x80, 0xf9, 0x37, //0x00001545 cmpb $55, %cl + 0x4c, 0x8b, 0x65, 0xa8, //0x00001548 movq $-88(%rbp), %r12 + 0x0f, 0x87, 0x18, 0x06, 0x00, 0x00, //0x0000154c ja LBB0_343 + 0x0f, 0xb6, 0xc1, //0x00001552 movzbl %cl, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00001555 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x0000155f btq %rax, %rcx + 0x0f, 0x83, 0x01, 0x06, 0x00, 0x00, //0x00001563 jae LBB0_343 + //0x00001569 LBB0_271 + 0x49, 0x83, 0xfe, 0x20, //0x00001569 cmpq $32, %r14 + 0x0f, 0x82, 0x52, 0x09, 0x00, 0x00, //0x0000156d jb LBB0_362 + 0x49, 0x8d, 0x4e, 0xe0, //0x00001573 leaq $-32(%r14), %rcx + 0x48, 0x89, 0xc8, //0x00001577 movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xe0, //0x0000157a andq $-32, %rax + 0x4d, 0x89, 0xca, //0x0000157e movq %r9, %r10 + 0x4e, 0x8d, 0x7c, 0x08, 0x20, //0x00001581 leaq $32(%rax,%r9), %r15 + 0x83, 0xe1, 0x1f, //0x00001586 andl $31, %ecx + 0x48, 0x89, 0x4d, 0xc0, //0x00001589 movq %rcx, $-64(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000158d movq $-1, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001594 movq $-1, %r11 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x0000159b movq $-1, %r12 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000015a2 .p2align 4, 0x90 + //0x000015b0 LBB0_273 + 0xc4, 0xc1, 0x7e, 0x6f, 0x02, //0x000015b0 vmovdqu (%r10), %ymm0 + 0xc4, 0xc1, 0x7d, 0x64, 0xca, //0x000015b5 vpcmpgtb %ymm10, %ymm0, %ymm1 + 0xc5, 0xa5, 0x64, 0xd0, //0x000015ba vpcmpgtb %ymm0, %ymm11, %ymm2 + 0xc5, 0xf5, 0xdb, 0xca, //0x000015be vpand %ymm2, %ymm1, %ymm1 + 0xc5, 0x9d, 0x74, 0xd0, //0x000015c2 vpcmpeqb %ymm0, %ymm12, %ymm2 + 0xc5, 0x95, 0x74, 0xd8, //0x000015c6 vpcmpeqb %ymm0, %ymm13, %ymm3 + 0xc5, 0xe5, 0xeb, 0xd2, //0x000015ca vpor %ymm2, %ymm3, %ymm2 + 0xc5, 0xbd, 0xeb, 0xd8, //0x000015ce vpor %ymm0, %ymm8, %ymm3 + 0xc5, 0x8d, 0x74, 0xc0, //0x000015d2 vpcmpeqb %ymm0, %ymm14, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf8, //0x000015d6 vpmovmskb %ymm0, %edi + 0xc5, 0x85, 0x74, 0xdb, //0x000015da vpcmpeqb %ymm3, %ymm15, %ymm3 + 0xc5, 0xfd, 0xd7, 0xd3, //0x000015de vpmovmskb %ymm3, %edx + 0xc5, 0xfd, 0xd7, 0xf2, //0x000015e2 vpmovmskb %ymm2, %esi + 0xc5, 0xe5, 0xeb, 0xc0, //0x000015e6 vpor %ymm0, %ymm3, %ymm0 + 0xc5, 0xed, 0xeb, 0xc9, //0x000015ea vpor %ymm1, %ymm2, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc1, //0x000015ee vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xc0, //0x000015f2 vpmovmskb %ymm0, %eax + 0x48, 0xf7, 0xd0, //0x000015f6 notq %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x000015f9 bsfq %rax, %rcx + 0x83, 0xf9, 0x20, //0x000015fd cmpl $32, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00001600 je LBB0_275 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00001606 movl $-1, %eax + 0xd3, 0xe0, //0x0000160b shll %cl, %eax + 0xf7, 0xd0, //0x0000160d notl %eax + 0x21, 0xc7, //0x0000160f andl %eax, %edi + 0x21, 0xc2, //0x00001611 andl %eax, %edx + 0x21, 0xf0, //0x00001613 andl %esi, %eax + 0x89, 0xc6, //0x00001615 movl %eax, %esi + //0x00001617 LBB0_275 + 0x8d, 0x5f, 0xff, //0x00001617 leal $-1(%rdi), %ebx + 0x21, 0xfb, //0x0000161a andl %edi, %ebx + 0x0f, 0x85, 0xb0, 0x06, 0x00, 0x00, //0x0000161c jne LBB0_349 + 0x8d, 0x5a, 0xff, //0x00001622 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x00001625 andl %edx, %ebx + 0x0f, 0x85, 0xa5, 0x06, 0x00, 0x00, //0x00001627 jne LBB0_349 + 0x8d, 0x5e, 0xff, //0x0000162d leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x00001630 andl %esi, %ebx + 0x0f, 0x85, 0x9a, 0x06, 0x00, 0x00, //0x00001632 jne LBB0_349 + 0x85, 0xff, //0x00001638 testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000163a je LBB0_281 + 0x4c, 0x89, 0xd0, //0x00001640 movq %r10, %rax + 0x4c, 0x29, 0xc8, //0x00001643 subq %r9, %rax + 0x0f, 0xbc, 0xff, //0x00001646 bsfl %edi, %edi + 0x48, 0x01, 0xc7, //0x00001649 addq %rax, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x0000164c cmpq $-1, %r12 + 0x0f, 0x85, 0xa7, 0x07, 0x00, 0x00, //0x00001650 jne LBB0_354 + 0x49, 0x89, 0xfc, //0x00001656 movq %rdi, %r12 + //0x00001659 LBB0_281 + 0x85, 0xd2, //0x00001659 testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000165b je LBB0_284 + 0x4c, 0x89, 0xd0, //0x00001661 movq %r10, %rax + 0x4c, 0x29, 0xc8, //0x00001664 subq %r9, %rax + 0x0f, 0xbc, 0xd2, //0x00001667 bsfl %edx, %edx + 0x48, 0x01, 0xc2, //0x0000166a addq %rax, %rdx + 0x49, 0x83, 0xfb, 0xff, //0x0000166d cmpq $-1, %r11 + 0x0f, 0x85, 0x80, 0x06, 0x00, 0x00, //0x00001671 jne LBB0_351 + 0x49, 0x89, 0xd3, //0x00001677 movq %rdx, %r11 + //0x0000167a LBB0_284 + 0x85, 0xf6, //0x0000167a testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000167c je LBB0_287 + 0x4c, 0x89, 0xd0, //0x00001682 movq %r10, %rax + 0x4c, 0x29, 0xc8, //0x00001685 subq %r9, %rax + 0x0f, 0xbc, 0xd6, //0x00001688 bsfl %esi, %edx + 0x48, 0x01, 0xc2, //0x0000168b addq %rax, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x0000168e cmpq $-1, %r8 + 0x0f, 0x85, 0x5f, 0x06, 0x00, 0x00, //0x00001692 jne LBB0_351 + 0x49, 0x89, 0xd0, //0x00001698 movq %rdx, %r8 + //0x0000169b LBB0_287 + 0x83, 0xf9, 0x20, //0x0000169b cmpl $32, %ecx + 0x0f, 0x85, 0x62, 0x02, 0x00, 0x00, //0x0000169e jne LBB0_496 + 0x49, 0x83, 0xc2, 0x20, //0x000016a4 addq $32, %r10 + 0x49, 0x83, 0xc6, 0xe0, //0x000016a8 addq $-32, %r14 + 0x49, 0x83, 0xfe, 0x1f, //0x000016ac cmpq $31, %r14 + 0x0f, 0x87, 0xfa, 0xfe, 0xff, 0xff, //0x000016b0 ja LBB0_273 + 0xc5, 0xf8, 0x77, //0x000016b6 vzeroupper + 0x4c, 0x8b, 0x75, 0xc0, //0x000016b9 movq $-64(%rbp), %r14 + //0x000016bd LBB0_290 + 0x49, 0x83, 0xfe, 0x10, //0x000016bd cmpq $16, %r14 + 0xc5, 0xfe, 0x6f, 0x2d, 0x37, 0xe9, 0xff, 0xff, //0x000016c1 vmovdqu $-5833(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x4f, 0xe9, 0xff, 0xff, //0x000016c9 vmovdqu $-5809(%rip), %ymm6 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x67, 0xe9, 0xff, 0xff, //0x000016d1 vmovdqu $-5785(%rip), %ymm7 /* LCPI0_2+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0x7f, 0xe9, 0xff, 0xff, //0x000016d9 vmovdqu $-5761(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000016e1 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0x92, 0xe9, 0xff, 0xff, //0x000016e6 vmovdqu $-5742(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xaa, 0xe9, 0xff, 0xff, //0x000016ee vmovdqu $-5718(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0xc2, 0xe9, 0xff, 0xff, //0x000016f6 vmovdqu $-5694(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0xda, 0xe9, 0xff, 0xff, //0x000016fe vmovdqu $-5670(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xf2, 0xe9, 0xff, 0xff, //0x00001706 vmovdqu $-5646(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x0a, 0xea, 0xff, 0xff, //0x0000170e vmovdqu $-5622(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + 0x0f, 0x82, 0x55, 0x01, 0x00, 0x00, //0x00001716 jb LBB0_309 + 0x4d, 0x8d, 0x56, 0xf0, //0x0000171c leaq $-16(%r14), %r10 + 0x4c, 0x89, 0xd0, //0x00001720 movq %r10, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00001723 andq $-16, %rax + 0x4a, 0x8d, 0x44, 0x38, 0x10, //0x00001727 leaq $16(%rax,%r15), %rax + 0x48, 0x89, 0x45, 0xc0, //0x0000172c movq %rax, $-64(%rbp) + 0x41, 0x83, 0xe2, 0x0f, //0x00001730 andl $15, %r10d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001734 .p2align 4, 0x90 + //0x00001740 LBB0_292 + 0xc4, 0xc1, 0x7a, 0x6f, 0x07, //0x00001740 vmovdqu (%r15), %xmm0 + 0xc5, 0xf9, 0x64, 0x0d, 0xf3, 0xe9, 0xff, 0xff, //0x00001745 vpcmpgtb $-5645(%rip), %xmm0, %xmm1 /* LCPI0_10+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x15, 0xfb, 0xe9, 0xff, 0xff, //0x0000174d vmovdqu $-5637(%rip), %xmm2 /* LCPI0_11+0(%rip) */ + 0xc5, 0xe9, 0x64, 0xd0, //0x00001755 vpcmpgtb %xmm0, %xmm2, %xmm2 + 0xc5, 0xf1, 0xdb, 0xca, //0x00001759 vpand %xmm2, %xmm1, %xmm1 + 0xc5, 0xf9, 0x74, 0x15, 0xfb, 0xe9, 0xff, 0xff, //0x0000175d vpcmpeqb $-5637(%rip), %xmm0, %xmm2 /* LCPI0_12+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x1d, 0x03, 0xea, 0xff, 0xff, //0x00001765 vpcmpeqb $-5629(%rip), %xmm0, %xmm3 /* LCPI0_13+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xd2, //0x0000176d vpor %xmm2, %xmm3, %xmm2 + 0xc5, 0xf9, 0xeb, 0x1d, 0x07, 0xea, 0xff, 0xff, //0x00001771 vpor $-5625(%rip), %xmm0, %xmm3 /* LCPI0_14+0(%rip) */ + 0xc5, 0xf9, 0x74, 0x05, 0x0f, 0xea, 0xff, 0xff, //0x00001779 vpcmpeqb $-5617(%rip), %xmm0, %xmm0 /* LCPI0_15+0(%rip) */ + 0xc5, 0xe1, 0x74, 0x1d, 0x17, 0xea, 0xff, 0xff, //0x00001781 vpcmpeqb $-5609(%rip), %xmm3, %xmm3 /* LCPI0_16+0(%rip) */ + 0xc5, 0xe1, 0xeb, 0xe0, //0x00001789 vpor %xmm0, %xmm3, %xmm4 + 0xc5, 0xe9, 0xeb, 0xc9, //0x0000178d vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xd9, 0xeb, 0xc9, //0x00001791 vpor %xmm1, %xmm4, %xmm1 + 0xc5, 0xf9, 0xd7, 0xf8, //0x00001795 vpmovmskb %xmm0, %edi + 0xc5, 0xf9, 0xd7, 0xf3, //0x00001799 vpmovmskb %xmm3, %esi + 0xc5, 0xf9, 0xd7, 0xd2, //0x0000179d vpmovmskb %xmm2, %edx + 0xc5, 0xf9, 0xd7, 0xc1, //0x000017a1 vpmovmskb %xmm1, %eax + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x000017a5 movl $4294967295, %ecx + 0x48, 0x31, 0xc8, //0x000017aa xorq %rcx, %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x000017ad bsfq %rax, %rcx + 0x83, 0xf9, 0x10, //0x000017b1 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000017b4 je LBB0_294 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000017ba movl $-1, %eax + 0xd3, 0xe0, //0x000017bf shll %cl, %eax + 0xf7, 0xd0, //0x000017c1 notl %eax + 0x21, 0xc7, //0x000017c3 andl %eax, %edi + 0x21, 0xc6, //0x000017c5 andl %eax, %esi + 0x21, 0xd0, //0x000017c7 andl %edx, %eax + 0x89, 0xc2, //0x000017c9 movl %eax, %edx + //0x000017cb LBB0_294 + 0x8d, 0x5f, 0xff, //0x000017cb leal $-1(%rdi), %ebx + 0x21, 0xfb, //0x000017ce andl %edi, %ebx + 0x0f, 0x85, 0x0f, 0x06, 0x00, 0x00, //0x000017d0 jne LBB0_353 + 0x8d, 0x5e, 0xff, //0x000017d6 leal $-1(%rsi), %ebx + 0x21, 0xf3, //0x000017d9 andl %esi, %ebx + 0x0f, 0x85, 0x04, 0x06, 0x00, 0x00, //0x000017db jne LBB0_353 + 0x8d, 0x5a, 0xff, //0x000017e1 leal $-1(%rdx), %ebx + 0x21, 0xd3, //0x000017e4 andl %edx, %ebx + 0x0f, 0x85, 0xf9, 0x05, 0x00, 0x00, //0x000017e6 jne LBB0_353 + 0x85, 0xff, //0x000017ec testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000017ee je LBB0_300 + 0x4c, 0x89, 0xf8, //0x000017f4 movq %r15, %rax + 0x4c, 0x29, 0xc8, //0x000017f7 subq %r9, %rax + 0x0f, 0xbc, 0xff, //0x000017fa bsfl %edi, %edi + 0x48, 0x01, 0xc7, //0x000017fd addq %rax, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x00001800 cmpq $-1, %r12 + 0x0f, 0x85, 0xf3, 0x05, 0x00, 0x00, //0x00001804 jne LBB0_354 + 0x49, 0x89, 0xfc, //0x0000180a movq %rdi, %r12 + //0x0000180d LBB0_300 + 0x85, 0xf6, //0x0000180d testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x0000180f je LBB0_303 + 0x4c, 0x89, 0xf8, //0x00001815 movq %r15, %rax + 0x4c, 0x29, 0xc8, //0x00001818 subq %r9, %rax + 0x0f, 0xbc, 0xf6, //0x0000181b bsfl %esi, %esi + 0x48, 0x01, 0xc6, //0x0000181e addq %rax, %rsi + 0x49, 0x83, 0xfb, 0xff, //0x00001821 cmpq $-1, %r11 + 0x0f, 0x85, 0x4e, 0x06, 0x00, 0x00, //0x00001825 jne LBB0_359 + 0x49, 0x89, 0xf3, //0x0000182b movq %rsi, %r11 + //0x0000182e LBB0_303 + 0x85, 0xd2, //0x0000182e testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00001830 je LBB0_306 + 0x4c, 0x89, 0xf8, //0x00001836 movq %r15, %rax + 0x4c, 0x29, 0xc8, //0x00001839 subq %r9, %rax + 0x0f, 0xbc, 0xd2, //0x0000183c bsfl %edx, %edx + 0x48, 0x01, 0xc2, //0x0000183f addq %rax, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001842 cmpq $-1, %r8 + 0x0f, 0x85, 0xab, 0x04, 0x00, 0x00, //0x00001846 jne LBB0_351 + 0x49, 0x89, 0xd0, //0x0000184c movq %rdx, %r8 + //0x0000184f LBB0_306 + 0x83, 0xf9, 0x10, //0x0000184f cmpl $16, %ecx + 0x0f, 0x85, 0x05, 0x01, 0x00, 0x00, //0x00001852 jne LBB0_325 + 0x49, 0x83, 0xc7, 0x10, //0x00001858 addq $16, %r15 + 0x49, 0x83, 0xc6, 0xf0, //0x0000185c addq $-16, %r14 + 0x49, 0x83, 0xfe, 0x0f, //0x00001860 cmpq $15, %r14 + 0x0f, 0x87, 0xd6, 0xfe, 0xff, 0xff, //0x00001864 ja LBB0_292 + 0x4d, 0x89, 0xd6, //0x0000186a movq %r10, %r14 + 0x4c, 0x8b, 0x7d, 0xc0, //0x0000186d movq $-64(%rbp), %r15 + //0x00001871 LBB0_309 + 0x4d, 0x85, 0xf6, //0x00001871 testq %r14, %r14 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001874 movq $-48(%rbp), %r10 + 0x0f, 0x84, 0xe6, 0x00, 0x00, 0x00, //0x00001878 je LBB0_326 + 0x4b, 0x8d, 0x0c, 0x37, //0x0000187e leaq (%r15,%r14), %rcx + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00001882 jmp LBB0_314 + //0x00001887 LBB0_311 + 0x49, 0x89, 0xd7, //0x00001887 movq %rdx, %r15 + 0x4d, 0x29, 0xcf, //0x0000188a subq %r9, %r15 + 0x49, 0x83, 0xf8, 0xff, //0x0000188d cmpq $-1, %r8 + 0x0f, 0x85, 0x26, 0x06, 0x00, 0x00, //0x00001891 jne LBB0_365 + 0x49, 0xff, 0xcf, //0x00001897 decq %r15 + 0x4d, 0x89, 0xf8, //0x0000189a movq %r15, %r8 + 0x90, 0x90, 0x90, //0x0000189d .p2align 4, 0x90 + //0x000018a0 LBB0_313 + 0x49, 0x89, 0xd7, //0x000018a0 movq %rdx, %r15 + 0x49, 0xff, 0xce, //0x000018a3 decq %r14 + 0x0f, 0x84, 0xbc, 0x05, 0x00, 0x00, //0x000018a6 je LBB0_358 + //0x000018ac LBB0_314 + 0x41, 0x0f, 0xbe, 0x37, //0x000018ac movsbl (%r15), %esi + 0x83, 0xc6, 0xd5, //0x000018b0 addl $-43, %esi + 0x83, 0xfe, 0x3a, //0x000018b3 cmpl $58, %esi + 0x0f, 0x87, 0xa8, 0x00, 0x00, 0x00, //0x000018b6 ja LBB0_326 + 0x49, 0x8d, 0x57, 0x01, //0x000018bc leaq $1(%r15), %rdx + 0x48, 0x8d, 0x3d, 0x49, 0x13, 0x00, 0x00, //0x000018c0 leaq $4937(%rip), %rdi /* LJTI0_2+0(%rip) */ + 0x48, 0x63, 0x04, 0xb7, //0x000018c7 movslq (%rdi,%rsi,4), %rax + 0x48, 0x01, 0xf8, //0x000018cb addq %rdi, %rax + 0xff, 0xe0, //0x000018ce jmpq *%rax + //0x000018d0 LBB0_316 + 0x49, 0x89, 0xd7, //0x000018d0 movq %rdx, %r15 + 0x4d, 0x29, 0xcf, //0x000018d3 subq %r9, %r15 + 0x49, 0x83, 0xfb, 0xff, //0x000018d6 cmpq $-1, %r11 + 0x0f, 0x85, 0xdd, 0x05, 0x00, 0x00, //0x000018da jne LBB0_365 + 0x49, 0xff, 0xcf, //0x000018e0 decq %r15 + 0x4d, 0x89, 0xfb, //0x000018e3 movq %r15, %r11 + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x000018e6 jmp LBB0_313 + //0x000018eb LBB0_318 + 0x49, 0x89, 0xd7, //0x000018eb movq %rdx, %r15 + 0x4d, 0x29, 0xcf, //0x000018ee subq %r9, %r15 + 0x49, 0x83, 0xfc, 0xff, //0x000018f1 cmpq $-1, %r12 + 0x0f, 0x85, 0xc2, 0x05, 0x00, 0x00, //0x000018f5 jne LBB0_365 + 0x49, 0xff, 0xcf, //0x000018fb decq %r15 + 0x4d, 0x89, 0xfc, //0x000018fe movq %r15, %r12 + 0xe9, 0x9a, 0xff, 0xff, 0xff, //0x00001901 jmp LBB0_313 + //0x00001906 LBB0_496 + 0x49, 0x01, 0xca, //0x00001906 addq %rcx, %r10 + 0xc5, 0xf8, 0x77, //0x00001909 vzeroupper + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000190c vpcmpeqd %ymm9, %ymm9, %ymm9 + 0xc5, 0xfe, 0x6f, 0x3d, 0x27, 0xe7, 0xff, 0xff, //0x00001911 vmovdqu $-6361(%rip), %ymm7 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xff, 0xe6, 0xff, 0xff, //0x00001919 vmovdqu $-6401(%rip), %ymm6 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0xd7, 0xe6, 0xff, 0xff, //0x00001921 vmovdqu $-6441(%rip), %ymm5 /* LCPI0_0+0(%rip) */ + 0x4d, 0x89, 0xd7, //0x00001929 movq %r10, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x0000192c movq $-48(%rbp), %r10 + 0x4d, 0x85, 0xdb, //0x00001930 testq %r11, %r11 + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x00001933 jne LBB0_327 + 0xe9, 0x10, 0x10, 0x00, 0x00, //0x00001939 jmp LBB0_497 + //0x0000193e LBB0_320 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x0000193e movl $64, %edx + //0x00001943 LBB0_321 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001943 movq $-56(%rbp), %r14 + 0x49, 0x29, 0xc4, //0x00001947 subq %rax, %r12 + 0x48, 0x39, 0xca, //0x0000194a cmpq %rcx, %rdx + 0x0f, 0x82, 0x4d, 0x10, 0x00, 0x00, //0x0000194d jb LBB0_129 + //0x00001953 LBB0_322 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x00001953 leaq $1(%r12,%rcx), %r12 + 0xe9, 0xfd, 0x03, 0x00, 0x00, //0x00001958 jmp LBB0_323 + //0x0000195d LBB0_325 + 0x49, 0x01, 0xcf, //0x0000195d addq %rcx, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001960 movq $-48(%rbp), %r10 + //0x00001964 LBB0_326 + 0x4d, 0x85, 0xdb, //0x00001964 testq %r11, %r11 + 0x0f, 0x84, 0xe1, 0x0f, 0x00, 0x00, //0x00001967 je LBB0_497 + //0x0000196d LBB0_327 + 0x4d, 0x85, 0xc0, //0x0000196d testq %r8, %r8 + 0x0f, 0x84, 0xd8, 0x0f, 0x00, 0x00, //0x00001970 je LBB0_497 + 0x4d, 0x85, 0xe4, //0x00001976 testq %r12, %r12 + 0x0f, 0x84, 0xcf, 0x0f, 0x00, 0x00, //0x00001979 je LBB0_497 + 0x4d, 0x29, 0xcf, //0x0000197f subq %r9, %r15 + 0x49, 0x8d, 0x4f, 0xff, //0x00001982 leaq $-1(%r15), %rcx + 0x49, 0x39, 0xcb, //0x00001986 cmpq %rcx, %r11 + 0x0f, 0x84, 0x6b, 0x00, 0x00, 0x00, //0x00001989 je LBB0_335 + 0x49, 0x39, 0xcc, //0x0000198f cmpq %rcx, %r12 + 0x0f, 0x84, 0x62, 0x00, 0x00, 0x00, //0x00001992 je LBB0_335 + 0x49, 0x39, 0xc8, //0x00001998 cmpq %rcx, %r8 + 0x0f, 0x84, 0x59, 0x00, 0x00, 0x00, //0x0000199b je LBB0_335 + 0x4d, 0x85, 0xc0, //0x000019a1 testq %r8, %r8 + 0xc5, 0x7e, 0x6f, 0x05, 0xb4, 0xe6, 0xff, 0xff, //0x000019a4 vmovdqu $-6476(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0xcc, 0xe6, 0xff, 0xff, //0x000019ac vmovdqu $-6452(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0xe4, 0xe6, 0xff, 0xff, //0x000019b4 vmovdqu $-6428(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0xfc, 0xe6, 0xff, 0xff, //0x000019bc vmovdqu $-6404(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0x14, 0xe7, 0xff, 0xff, //0x000019c4 vmovdqu $-6380(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0x2c, 0xe7, 0xff, 0xff, //0x000019cc vmovdqu $-6356(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0x44, 0xe7, 0xff, 0xff, //0x000019d4 vmovdqu $-6332(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + 0x0f, 0x8e, 0x58, 0x00, 0x00, 0x00, //0x000019dc jle LBB0_336 + 0x49, 0x8d, 0x40, 0xff, //0x000019e2 leaq $-1(%r8), %rax + 0x49, 0x39, 0xc3, //0x000019e6 cmpq %rax, %r11 + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x000019e9 je LBB0_336 + 0x49, 0xf7, 0xd0, //0x000019ef notq %r8 + 0x4d, 0x89, 0xc7, //0x000019f2 movq %r8, %r15 + 0xe9, 0x64, 0x01, 0x00, 0x00, //0x000019f5 jmp LBB0_342 + //0x000019fa LBB0_335 + 0x49, 0xf7, 0xdf, //0x000019fa negq %r15 + 0xc5, 0x7e, 0x6f, 0x05, 0x5b, 0xe6, 0xff, 0xff, //0x000019fd vmovdqu $-6565(%rip), %ymm8 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x73, 0xe6, 0xff, 0xff, //0x00001a05 vmovdqu $-6541(%rip), %ymm10 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x1d, 0x8b, 0xe6, 0xff, 0xff, //0x00001a0d vmovdqu $-6517(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x25, 0xa3, 0xe6, 0xff, 0xff, //0x00001a15 vmovdqu $-6493(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x2d, 0xbb, 0xe6, 0xff, 0xff, //0x00001a1d vmovdqu $-6469(%rip), %ymm13 /* LCPI0_7+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x35, 0xd3, 0xe6, 0xff, 0xff, //0x00001a25 vmovdqu $-6445(%rip), %ymm14 /* LCPI0_8+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x3d, 0xeb, 0xe6, 0xff, 0xff, //0x00001a2d vmovdqu $-6421(%rip), %ymm15 /* LCPI0_9+0(%rip) */ + 0xe9, 0x24, 0x01, 0x00, 0x00, //0x00001a35 jmp LBB0_342 + //0x00001a3a LBB0_336 + 0x4c, 0x89, 0xe1, //0x00001a3a movq %r12, %rcx + 0x4c, 0x09, 0xd9, //0x00001a3d orq %r11, %rcx + 0x4d, 0x39, 0xdc, //0x00001a40 cmpq %r11, %r12 + 0x0f, 0x8c, 0x00, 0x01, 0x00, 0x00, //0x00001a43 jl LBB0_341 + 0x48, 0x85, 0xc9, //0x00001a49 testq %rcx, %rcx + 0x0f, 0x88, 0xf7, 0x00, 0x00, 0x00, //0x00001a4c js LBB0_341 + 0x49, 0xf7, 0xd4, //0x00001a52 notq %r12 + 0x4d, 0x89, 0xe7, //0x00001a55 movq %r12, %r15 + 0xe9, 0x01, 0x01, 0x00, 0x00, //0x00001a58 jmp LBB0_342 + //0x00001a5d LBB0_339 + 0x4d, 0x29, 0xfb, //0x00001a5d subq %r15, %r11 + 0x44, 0x0f, 0xbc, 0xf3, //0x00001a60 bsfl %ebx, %r14d + 0xe9, 0x3d, 0x01, 0x00, 0x00, //0x00001a64 jmp LBB0_346 + //0x00001a69 LBB0_54 + 0x4c, 0x89, 0xf9, //0x00001a69 movq %r15, %rcx + 0x4c, 0x89, 0xcb, //0x00001a6c movq %r9, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00001a6f cmpq $32, %rcx + 0x0f, 0x82, 0x0e, 0x05, 0x00, 0x00, //0x00001a73 jb LBB0_370 + //0x00001a79 LBB0_55 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001a79 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001a7d vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x00001a81 vpmovmskb %ymm1, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001a85 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00001a89 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00001a8d testl %esi, %esi + 0x0f, 0x85, 0x89, 0x04, 0x00, 0x00, //0x00001a8f jne LBB0_366 + 0x4d, 0x85, 0xf6, //0x00001a95 testq %r14, %r14 + 0x0f, 0x85, 0x97, 0x04, 0x00, 0x00, //0x00001a98 jne LBB0_368 + 0x45, 0x31, 0xf6, //0x00001a9e xorl %r14d, %r14d + 0x48, 0x85, 0xd2, //0x00001aa1 testq %rdx, %rdx + 0x0f, 0x84, 0xd5, 0x04, 0x00, 0x00, //0x00001aa4 je LBB0_369 + //0x00001aaa LBB0_60 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001aaa bsfq %rdx, %rax + 0x4c, 0x29, 0xdb, //0x00001aae subq %r11, %rbx + 0x4c, 0x8d, 0x64, 0x03, 0x01, //0x00001ab1 leaq $1(%rbx,%rax), %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001ab6 movq $-56(%rbp), %r14 + //0x00001aba LBB0_184 + 0x4d, 0x85, 0xe4, //0x00001aba testq %r12, %r12 + 0x0f, 0x88, 0xbb, 0x0c, 0x00, 0x00, //0x00001abd js LBB0_475 + 0x4d, 0x89, 0x22, //0x00001ac3 movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001ac6 movq %r13, %rcx + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00001ac9 cmpq $0, $-88(%rbp) + 0x0f, 0x8f, 0x9c, 0xe7, 0xff, 0xff, //0x00001ace jg LBB0_3 + 0xe9, 0x00, 0x0d, 0x00, 0x00, //0x00001ad4 jmp LBB0_501 + //0x00001ad9 LBB0_84 + 0x4d, 0x89, 0xf2, //0x00001ad9 movq %r14, %r10 + 0x49, 0x89, 0xc4, //0x00001adc movq %rax, %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001adf movq $-56(%rbp), %r14 + 0x49, 0x83, 0xfa, 0x20, //0x00001ae3 cmpq $32, %r10 + 0x0f, 0x82, 0xd2, 0x05, 0x00, 0x00, //0x00001ae7 jb LBB0_388 + //0x00001aed LBB0_85 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001aed vmovdqu (%r12), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001af3 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf1, //0x00001af7 vpmovmskb %ymm1, %esi + 0xc5, 0xfd, 0x74, 0xcf, //0x00001afb vpcmpeqb %ymm7, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc9, //0x00001aff vpmovmskb %ymm1, %ecx + 0xc5, 0xbd, 0x64, 0xc8, //0x00001b03 vpcmpgtb %ymm0, %ymm8, %ymm1 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001b07 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00001b0c vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xc8, //0x00001b10 vpmovmskb %ymm0, %r9d + 0x85, 0xc9, //0x00001b14 testl %ecx, %ecx + 0x0f, 0x85, 0xfa, 0x04, 0x00, 0x00, //0x00001b16 jne LBB0_379 + 0x4d, 0x85, 0xff, //0x00001b1c testq %r15, %r15 + 0x0f, 0x85, 0x09, 0x05, 0x00, 0x00, //0x00001b1f jne LBB0_381 + 0x45, 0x31, 0xff, //0x00001b25 xorl %r15d, %r15d + 0x48, 0x85, 0xf6, //0x00001b28 testq %rsi, %rsi + 0x0f, 0x84, 0x44, 0x05, 0x00, 0x00, //0x00001b2b je LBB0_382 + //0x00001b31 LBB0_88 + 0x48, 0x0f, 0xbc, 0xce, //0x00001b31 bsfq %rsi, %rcx + 0xe9, 0x40, 0x05, 0x00, 0x00, //0x00001b35 jmp LBB0_383 + //0x00001b3a LBB0_340 + 0x48, 0xf7, 0xd2, //0x00001b3a notq %rdx + 0x49, 0x89, 0xd6, //0x00001b3d movq %rdx, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001b40 movq $-48(%rbp), %rdx + 0xe9, 0x7a, 0xf5, 0xff, 0xff, //0x00001b44 jmp LBB0_197 + //0x00001b49 LBB0_341 + 0x48, 0x85, 0xc9, //0x00001b49 testq %rcx, %rcx + 0x49, 0x8d, 0x43, 0xff, //0x00001b4c leaq $-1(%r11), %rax + 0x49, 0xf7, 0xd3, //0x00001b50 notq %r11 + 0x4d, 0x0f, 0x48, 0xdf, //0x00001b53 cmovsq %r15, %r11 + 0x49, 0x39, 0xc4, //0x00001b57 cmpq %rax, %r12 + 0x4d, 0x0f, 0x44, 0xfb, //0x00001b5a cmoveq %r11, %r15 + //0x00001b5e LBB0_342 + 0x4d, 0x8b, 0x22, //0x00001b5e movq (%r10), %r12 + 0x4d, 0x85, 0xff, //0x00001b61 testq %r15, %r15 + 0x0f, 0x88, 0xee, 0x0d, 0x00, 0x00, //0x00001b64 js LBB0_499 + //0x00001b6a LBB0_343 + 0x4d, 0x01, 0xfc, //0x00001b6a addq %r15, %r12 + 0x4d, 0x89, 0x22, //0x00001b6d movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001b70 movq %r13, %rcx + 0x48, 0x83, 0x7d, 0xa8, 0x00, //0x00001b73 cmpq $0, $-88(%rbp) + 0x4c, 0x8b, 0x75, 0xc8, //0x00001b78 movq $-56(%rbp), %r14 + 0x0f, 0x8f, 0xee, 0xe6, 0xff, 0xff, //0x00001b7c jg LBB0_3 + 0xe9, 0x52, 0x0c, 0x00, 0x00, //0x00001b82 jmp LBB0_501 + //0x00001b87 LBB0_344 + 0x4d, 0x29, 0xfe, //0x00001b87 subq %r15, %r14 + 0x0f, 0xbc, 0xc3, //0x00001b8a bsfl %ebx, %eax + 0x4c, 0x01, 0xf0, //0x00001b8d addq %r14, %rax + 0x48, 0xf7, 0xd0, //0x00001b90 notq %rax + 0x49, 0x89, 0xc6, //0x00001b93 movq %rax, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001b96 movq $-48(%rbp), %rdx + 0xe9, 0x24, 0xf5, 0xff, 0xff, //0x00001b9a jmp LBB0_197 + //0x00001b9f LBB0_345 + 0x4d, 0x29, 0xfb, //0x00001b9f subq %r15, %r11 + 0x45, 0x0f, 0xbc, 0xf1, //0x00001ba2 bsfl %r9d, %r14d + //0x00001ba6 LBB0_346 + 0x4d, 0x01, 0xde, //0x00001ba6 addq %r11, %r14 + 0x49, 0xf7, 0xd6, //0x00001ba9 notq %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001bac movq $-48(%rbp), %rdx + 0xe9, 0x0e, 0xf5, 0xff, 0xff, //0x00001bb0 jmp LBB0_197 + //0x00001bb5 LBB0_347 + 0x48, 0xf7, 0xd7, //0x00001bb5 notq %rdi + 0x49, 0x89, 0xfe, //0x00001bb8 movq %rdi, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001bbb movq $-48(%rbp), %rdx + 0xe9, 0xff, 0xf4, 0xff, 0xff, //0x00001bbf jmp LBB0_197 + //0x00001bc4 LBB0_101 + 0x4c, 0x89, 0xf9, //0x00001bc4 movq %r15, %rcx + 0x4c, 0x89, 0xc3, //0x00001bc7 movq %r8, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00001bca cmpq $32, %rcx + 0x0f, 0x82, 0x02, 0x06, 0x00, 0x00, //0x00001bce jb LBB0_402 + //0x00001bd4 LBB0_102 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001bd4 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001bd8 vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x00001bdc vpmovmskb %ymm1, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001be0 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00001be4 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00001be8 testl %esi, %esi + 0x0f, 0x85, 0x6f, 0x05, 0x00, 0x00, //0x00001bea jne LBB0_397 + 0x4d, 0x85, 0xf6, //0x00001bf0 testq %r14, %r14 + 0x0f, 0x85, 0x85, 0x05, 0x00, 0x00, //0x00001bf3 jne LBB0_399 + 0x45, 0x31, 0xf6, //0x00001bf9 xorl %r14d, %r14d + 0x48, 0x85, 0xd2, //0x00001bfc testq %rdx, %rdx + 0x0f, 0x84, 0xc9, 0x05, 0x00, 0x00, //0x00001bff je LBB0_401 + //0x00001c05 LBB0_107 + 0x4d, 0x89, 0xe0, //0x00001c05 movq %r12, %r8 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001c08 bsfq %rdx, %rax + 0x4c, 0x29, 0xcb, //0x00001c0c subq %r9, %rbx + 0x4c, 0x8d, 0x64, 0x03, 0x01, //0x00001c0f leaq $1(%rbx,%rax), %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001c14 movq $-56(%rbp), %r14 + //0x00001c18 LBB0_205 + 0x4d, 0x85, 0xe4, //0x00001c18 testq %r12, %r12 + 0x0f, 0x88, 0x87, 0x0b, 0x00, 0x00, //0x00001c1b js LBB0_478 + 0x4d, 0x89, 0x22, //0x00001c21 movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001c24 movq %r13, %rcx + 0x4d, 0x85, 0xc0, //0x00001c27 testq %r8, %r8 + 0x0f, 0x8e, 0xa9, 0x0b, 0x00, 0x00, //0x00001c2a jle LBB0_501 + 0x49, 0x8b, 0x06, //0x00001c30 movq (%r14), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00001c33 cmpq $4095, %rax + 0x0f, 0x8f, 0x33, 0x0b, 0x00, 0x00, //0x00001c39 jg LBB0_489 + 0x48, 0x8d, 0x48, 0x01, //0x00001c3f leaq $1(%rax), %rcx + 0x49, 0x89, 0x0e, //0x00001c43 movq %rcx, (%r14) + 0x49, 0xc7, 0x44, 0xc6, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00001c46 movq $4, $8(%r14,%rax,8) + 0xe9, 0x1c, 0xe6, 0xff, 0xff, //0x00001c4f jmp LBB0_3 + //0x00001c54 LBB0_120 + 0x4c, 0x89, 0xf3, //0x00001c54 movq %r14, %rbx + 0x4c, 0x8b, 0x65, 0xa0, //0x00001c57 movq $-96(%rbp), %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001c5b movq $-56(%rbp), %r14 + 0x48, 0x83, 0xfb, 0x20, //0x00001c5f cmpq $32, %rbx + 0x0f, 0x82, 0xa3, 0x06, 0x00, 0x00, //0x00001c63 jb LBB0_420 + //0x00001c69 LBB0_121 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001c69 vmovdqu (%r12), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001c6f vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf1, //0x00001c73 vpmovmskb %ymm1, %esi + 0xc5, 0xfd, 0x74, 0xcf, //0x00001c77 vpcmpeqb %ymm7, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc9, //0x00001c7b vpmovmskb %ymm1, %ecx + 0xc5, 0xbd, 0x64, 0xc8, //0x00001c7f vpcmpgtb %ymm0, %ymm8, %ymm1 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001c83 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00001c88 vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xc8, //0x00001c8c vpmovmskb %ymm0, %r9d + 0x85, 0xc9, //0x00001c90 testl %ecx, %ecx + 0x0f, 0x85, 0xd0, 0x05, 0x00, 0x00, //0x00001c92 jne LBB0_411 + 0x4d, 0x85, 0xff, //0x00001c98 testq %r15, %r15 + 0x0f, 0x85, 0xdf, 0x05, 0x00, 0x00, //0x00001c9b jne LBB0_413 + 0x45, 0x31, 0xff, //0x00001ca1 xorl %r15d, %r15d + 0x48, 0x85, 0xf6, //0x00001ca4 testq %rsi, %rsi + 0x0f, 0x84, 0x1e, 0x06, 0x00, 0x00, //0x00001ca7 je LBB0_414 + //0x00001cad LBB0_124 + 0x48, 0x0f, 0xbc, 0xce, //0x00001cad bsfq %rsi, %rcx + 0xe9, 0x1a, 0x06, 0x00, 0x00, //0x00001cb1 jmp LBB0_415 + //0x00001cb6 LBB0_348 + 0x49, 0x89, 0xce, //0x00001cb6 movq %rcx, %r14 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001cb9 movq $-1, %rcx + 0x4d, 0x85, 0xe4, //0x00001cc0 testq %r12, %r12 + 0x48, 0x8b, 0x55, 0xd0, //0x00001cc3 movq $-48(%rbp), %rdx + 0x0f, 0x85, 0xf4, 0xf2, 0xff, 0xff, //0x00001cc7 jne LBB0_188 + 0xe9, 0xf3, 0x0a, 0x00, 0x00, //0x00001ccd jmp LBB0_481 + //0x00001cd2 LBB0_349 + 0x4d, 0x29, 0xca, //0x00001cd2 subq %r9, %r10 + 0x44, 0x0f, 0xbc, 0xfb, //0x00001cd5 bsfl %ebx, %r15d + 0x4d, 0x01, 0xd7, //0x00001cd9 addq %r10, %r15 + 0x49, 0xf7, 0xd7, //0x00001cdc notq %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001cdf movq $-48(%rbp), %r10 + 0xe9, 0x76, 0xfe, 0xff, 0xff, //0x00001ce3 jmp LBB0_342 + //0x00001ce8 LBB0_350 + 0x48, 0xf7, 0xd6, //0x00001ce8 notq %rsi + 0x49, 0x89, 0xf6, //0x00001ceb movq %rsi, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001cee movq $-48(%rbp), %rdx + 0xe9, 0xcc, 0xf3, 0xff, 0xff, //0x00001cf2 jmp LBB0_197 + //0x00001cf7 LBB0_351 + 0x48, 0xf7, 0xd2, //0x00001cf7 notq %rdx + 0x49, 0x89, 0xd7, //0x00001cfa movq %rdx, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001cfd movq $-48(%rbp), %r10 + 0xe9, 0x58, 0xfe, 0xff, 0xff, //0x00001d01 jmp LBB0_342 + //0x00001d06 LBB0_220 + 0x4c, 0x89, 0xf9, //0x00001d06 movq %r15, %rcx + 0x4c, 0x89, 0xc3, //0x00001d09 movq %r8, %rbx + 0x48, 0x83, 0xf9, 0x20, //0x00001d0c cmpq $32, %rcx + 0x0f, 0x82, 0xfd, 0x07, 0x00, 0x00, //0x00001d10 jb LBB0_443 + //0x00001d16 LBB0_221 + 0xc5, 0xfe, 0x6f, 0x03, //0x00001d16 vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001d1a vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd1, //0x00001d1e vpmovmskb %ymm1, %edx + 0xc5, 0xfd, 0x74, 0xc7, //0x00001d22 vpcmpeqb %ymm7, %ymm0, %ymm0 + 0xc5, 0xfd, 0xd7, 0xf0, //0x00001d26 vpmovmskb %ymm0, %esi + 0x85, 0xf6, //0x00001d2a testl %esi, %esi + 0x0f, 0x85, 0x6a, 0x07, 0x00, 0x00, //0x00001d2c jne LBB0_438 + 0x4d, 0x85, 0xf6, //0x00001d32 testq %r14, %r14 + 0x0f, 0x85, 0x80, 0x07, 0x00, 0x00, //0x00001d35 jne LBB0_440 + 0x45, 0x31, 0xf6, //0x00001d3b xorl %r14d, %r14d + 0x48, 0x85, 0xd2, //0x00001d3e testq %rdx, %rdx + 0x0f, 0x84, 0xc4, 0x07, 0x00, 0x00, //0x00001d41 je LBB0_442 + //0x00001d47 LBB0_226 + 0x4d, 0x89, 0xe0, //0x00001d47 movq %r12, %r8 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001d4a bsfq %rdx, %rax + 0x4c, 0x29, 0xcb, //0x00001d4e subq %r9, %rbx + 0x4c, 0x8d, 0x64, 0x03, 0x01, //0x00001d51 leaq $1(%rbx,%rax), %r12 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001d56 movq $-56(%rbp), %r14 + //0x00001d5a LBB0_323 + 0x4d, 0x85, 0xe4, //0x00001d5a testq %r12, %r12 + 0x0f, 0x88, 0x45, 0x0a, 0x00, 0x00, //0x00001d5d js LBB0_478 + 0x4d, 0x89, 0x22, //0x00001d63 movq %r12, (%r10) + 0x4c, 0x89, 0xe9, //0x00001d66 movq %r13, %rcx + 0x4d, 0x85, 0xc0, //0x00001d69 testq %r8, %r8 + 0x0f, 0x8f, 0xfe, 0xe4, 0xff, 0xff, //0x00001d6c jg LBB0_3 + 0xe9, 0x62, 0x0a, 0x00, 0x00, //0x00001d72 jmp LBB0_501 + //0x00001d77 LBB0_352 + 0x49, 0xf7, 0xde, //0x00001d77 negq %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00001d7a movq $-48(%rbp), %rdx + 0xe9, 0x40, 0xf3, 0xff, 0xff, //0x00001d7e jmp LBB0_197 + //0x00001d83 LBB0_259 + 0x4c, 0x89, 0xf3, //0x00001d83 movq %r14, %rbx + 0x4c, 0x8b, 0x65, 0xa0, //0x00001d86 movq $-96(%rbp), %r12 + 0x48, 0x83, 0xfb, 0x20, //0x00001d8a cmpq $32, %rbx + 0x4c, 0x8b, 0x75, 0xc8, //0x00001d8e movq $-56(%rbp), %r14 + 0x0f, 0x82, 0xb1, 0x08, 0x00, 0x00, //0x00001d92 jb LBB0_460 + //0x00001d98 LBB0_260 + 0xc4, 0xc1, 0x7e, 0x6f, 0x04, 0x24, //0x00001d98 vmovdqu (%r12), %ymm0 + 0xc5, 0xfd, 0x74, 0xce, //0x00001d9e vpcmpeqb %ymm6, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xf1, //0x00001da2 vpmovmskb %ymm1, %esi + 0xc5, 0xfd, 0x74, 0xcf, //0x00001da6 vpcmpeqb %ymm7, %ymm0, %ymm1 + 0xc5, 0xfd, 0xd7, 0xc9, //0x00001daa vpmovmskb %ymm1, %ecx + 0xc5, 0xbd, 0x64, 0xc8, //0x00001dae vpcmpgtb %ymm0, %ymm8, %ymm1 + 0xc4, 0xc1, 0x7d, 0x64, 0xc1, //0x00001db2 vpcmpgtb %ymm9, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00001db7 vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xc8, //0x00001dbb vpmovmskb %ymm0, %r9d + 0x85, 0xc9, //0x00001dbf testl %ecx, %ecx + 0x0f, 0x85, 0xde, 0x07, 0x00, 0x00, //0x00001dc1 jne LBB0_452 + 0x4d, 0x85, 0xff, //0x00001dc7 testq %r15, %r15 + 0x0f, 0x85, 0xed, 0x07, 0x00, 0x00, //0x00001dca jne LBB0_454 + 0x45, 0x31, 0xff, //0x00001dd0 xorl %r15d, %r15d + 0x48, 0x85, 0xf6, //0x00001dd3 testq %rsi, %rsi + 0x0f, 0x84, 0x2c, 0x08, 0x00, 0x00, //0x00001dd6 je LBB0_455 + //0x00001ddc LBB0_263 + 0x48, 0x0f, 0xbc, 0xce, //0x00001ddc bsfq %rsi, %rcx + 0xe9, 0x28, 0x08, 0x00, 0x00, //0x00001de0 jmp LBB0_456 + //0x00001de5 LBB0_353 + 0x4d, 0x29, 0xcf, //0x00001de5 subq %r9, %r15 + 0x0f, 0xbc, 0xc3, //0x00001de8 bsfl %ebx, %eax + 0x4c, 0x01, 0xf8, //0x00001deb addq %r15, %rax + 0x48, 0xf7, 0xd0, //0x00001dee notq %rax + 0x49, 0x89, 0xc7, //0x00001df1 movq %rax, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001df4 movq $-48(%rbp), %r10 + 0xe9, 0x61, 0xfd, 0xff, 0xff, //0x00001df8 jmp LBB0_342 + //0x00001dfd LBB0_354 + 0x48, 0xf7, 0xd7, //0x00001dfd notq %rdi + 0x49, 0x89, 0xff, //0x00001e00 movq %rdi, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001e03 movq $-48(%rbp), %r10 + 0xe9, 0x52, 0xfd, 0xff, 0xff, //0x00001e07 jmp LBB0_342 + //0x00001e0c LBB0_355 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001e0c movq $-1, %r8 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001e13 movq $-1, %r12 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001e1a movq $-1, %rax + 0x4d, 0x89, 0xfe, //0x00001e21 movq %r15, %r14 + 0x49, 0x83, 0xfa, 0x10, //0x00001e24 cmpq $16, %r10 + 0x0f, 0x83, 0xc0, 0xea, 0xff, 0xff, //0x00001e28 jae LBB0_151 + 0xe9, 0x0d, 0xec, 0xff, 0xff, //0x00001e2e jmp LBB0_169 + //0x00001e33 LBB0_356 + 0x4d, 0x89, 0xcb, //0x00001e33 movq %r9, %r11 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001e36 movq $-1, %r8 + 0x45, 0x31, 0xf6, //0x00001e3d xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00001e40 cmpq $32, %rcx + 0x0f, 0x83, 0x2f, 0xfc, 0xff, 0xff, //0x00001e44 jae LBB0_55 + 0xe9, 0x38, 0x01, 0x00, 0x00, //0x00001e4a jmp LBB0_370 + //0x00001e4f LBB0_357 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001e4f movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00001e56 xorl %r15d, %r15d + 0x49, 0x83, 0xfa, 0x20, //0x00001e59 cmpq $32, %r10 + 0x0f, 0x83, 0x8a, 0xfc, 0xff, 0xff, //0x00001e5d jae LBB0_85 + 0xe9, 0x57, 0x02, 0x00, 0x00, //0x00001e63 jmp LBB0_388 + //0x00001e68 LBB0_358 + 0x49, 0x89, 0xcf, //0x00001e68 movq %rcx, %r15 + 0x4d, 0x85, 0xdb, //0x00001e6b testq %r11, %r11 + 0x0f, 0x85, 0xf9, 0xfa, 0xff, 0xff, //0x00001e6e jne LBB0_327 + 0xe9, 0xd5, 0x0a, 0x00, 0x00, //0x00001e74 jmp LBB0_497 + //0x00001e79 LBB0_359 + 0x48, 0xf7, 0xd6, //0x00001e79 notq %rsi + 0x49, 0x89, 0xf7, //0x00001e7c movq %rsi, %r15 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001e7f movq $-48(%rbp), %r10 + 0xe9, 0xd6, 0xfc, 0xff, 0xff, //0x00001e83 jmp LBB0_342 + //0x00001e88 LBB0_360 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001e88 movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00001e8f xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00001e92 cmpq $32, %rcx + 0x0f, 0x83, 0x38, 0xfd, 0xff, 0xff, //0x00001e96 jae LBB0_102 + 0xe9, 0x35, 0x03, 0x00, 0x00, //0x00001e9c jmp LBB0_402 + //0x00001ea1 LBB0_361 + 0x49, 0x89, 0xc8, //0x00001ea1 movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001ea4 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x00001eab xorl %r15d, %r15d + 0x48, 0x83, 0xfb, 0x20, //0x00001eae cmpq $32, %rbx + 0x0f, 0x83, 0xb1, 0xfd, 0xff, 0xff, //0x00001eb2 jae LBB0_121 + 0xe9, 0x4f, 0x04, 0x00, 0x00, //0x00001eb8 jmp LBB0_420 + //0x00001ebd LBB0_365 + 0x49, 0xf7, 0xdf, //0x00001ebd negq %r15 + 0xe9, 0x99, 0xfc, 0xff, 0xff, //0x00001ec0 jmp LBB0_342 + //0x00001ec5 LBB0_362 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001ec5 movq $-1, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001ecc movq $-1, %r11 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001ed3 movq $-1, %r12 + 0x4d, 0x89, 0xcf, //0x00001eda movq %r9, %r15 + 0xe9, 0xdb, 0xf7, 0xff, 0xff, //0x00001edd jmp LBB0_290 + //0x00001ee2 LBB0_363 + 0x49, 0x89, 0xd1, //0x00001ee2 movq %rdx, %r9 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001ee5 movq $-1, %r11 + 0x45, 0x31, 0xf6, //0x00001eec xorl %r14d, %r14d + 0x48, 0x83, 0xf9, 0x20, //0x00001eef cmpq $32, %rcx + 0x0f, 0x83, 0x1d, 0xfe, 0xff, 0xff, //0x00001ef3 jae LBB0_221 + 0xe9, 0x15, 0x06, 0x00, 0x00, //0x00001ef9 jmp LBB0_443 + //0x00001efe LBB0_364 + 0x49, 0x89, 0xc8, //0x00001efe movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001f01 movq $-1, %r11 + 0x45, 0x31, 0xff, //0x00001f08 xorl %r15d, %r15d + 0x48, 0x83, 0xfb, 0x20, //0x00001f0b cmpq $32, %rbx + 0x4c, 0x8b, 0x75, 0xc8, //0x00001f0f movq $-56(%rbp), %r14 + 0x0f, 0x83, 0x7f, 0xfe, 0xff, 0xff, //0x00001f13 jae LBB0_260 + 0xe9, 0x2b, 0x07, 0x00, 0x00, //0x00001f19 jmp LBB0_460 + //0x00001f1e LBB0_366 + 0x49, 0x83, 0xf8, 0xff, //0x00001f1e cmpq $-1, %r8 + 0x0f, 0x85, 0x0d, 0x00, 0x00, 0x00, //0x00001f22 jne LBB0_368 + 0x48, 0x89, 0xd8, //0x00001f28 movq %rbx, %rax + 0x4c, 0x29, 0xd8, //0x00001f2b subq %r11, %rax + 0x4c, 0x0f, 0xbc, 0xc6, //0x00001f2e bsfq %rsi, %r8 + 0x49, 0x01, 0xc0, //0x00001f32 addq %rax, %r8 + //0x00001f35 LBB0_368 + 0x44, 0x89, 0xf0, //0x00001f35 movl %r14d, %eax + 0xf7, 0xd0, //0x00001f38 notl %eax + 0x21, 0xf0, //0x00001f3a andl %esi, %eax + 0x44, 0x8d, 0x0c, 0x00, //0x00001f3c leal (%rax,%rax), %r9d + 0x45, 0x09, 0xf1, //0x00001f40 orl %r14d, %r9d + 0x44, 0x89, 0xcf, //0x00001f43 movl %r9d, %edi + 0xf7, 0xd7, //0x00001f46 notl %edi + 0x21, 0xf7, //0x00001f48 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001f4a andl $-1431655766, %edi + 0x45, 0x31, 0xf6, //0x00001f50 xorl %r14d, %r14d + 0x01, 0xc7, //0x00001f53 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc6, //0x00001f55 setb %r14b + 0x01, 0xff, //0x00001f59 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00001f5b xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x00001f61 andl %r9d, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00001f64 movl $4294967295, %eax + 0x31, 0xf8, //0x00001f69 xorl %edi, %eax + 0x21, 0xc2, //0x00001f6b andl %eax, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x00001f6d movq $-48(%rbp), %r10 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00001f71 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xd2, //0x00001f76 testq %rdx, %rdx + 0x0f, 0x85, 0x2b, 0xfb, 0xff, 0xff, //0x00001f79 jne LBB0_60 + //0x00001f7f LBB0_369 + 0x48, 0x83, 0xc3, 0x20, //0x00001f7f addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x00001f83 addq $-32, %rcx + //0x00001f87 LBB0_370 + 0x4d, 0x85, 0xf6, //0x00001f87 testq %r14, %r14 + 0x0f, 0x85, 0x1c, 0x04, 0x00, 0x00, //0x00001f8a jne LBB0_429 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001f90 movq $-56(%rbp), %r14 + 0x48, 0x85, 0xc9, //0x00001f94 testq %rcx, %rcx + 0x0f, 0x84, 0xeb, 0x07, 0x00, 0x00, //0x00001f97 je LBB0_476 + //0x00001f9d LBB0_372 + 0x4c, 0x89, 0xdf, //0x00001f9d movq %r11, %rdi + 0x48, 0xf7, 0xd7, //0x00001fa0 notq %rdi + //0x00001fa3 LBB0_373 + 0x4c, 0x8d, 0x63, 0x01, //0x00001fa3 leaq $1(%rbx), %r12 + 0x0f, 0xb6, 0x13, //0x00001fa7 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x00001faa cmpb $34, %dl + 0x0f, 0x84, 0x5b, 0x00, 0x00, 0x00, //0x00001fad je LBB0_378 + 0x48, 0x8d, 0x71, 0xff, //0x00001fb3 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00001fb7 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00001fba je LBB0_376 + 0x48, 0x89, 0xf1, //0x00001fc0 movq %rsi, %rcx + 0x4c, 0x89, 0xe3, //0x00001fc3 movq %r12, %rbx + 0x48, 0x85, 0xf6, //0x00001fc6 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00001fc9 jne LBB0_373 + 0xe9, 0xb4, 0x07, 0x00, 0x00, //0x00001fcf jmp LBB0_476 + //0x00001fd4 LBB0_376 + 0x48, 0x85, 0xf6, //0x00001fd4 testq %rsi, %rsi + 0x0f, 0x84, 0xba, 0x09, 0x00, 0x00, //0x00001fd7 je LBB0_433 + 0x49, 0x01, 0xfc, //0x00001fdd addq %rdi, %r12 + 0x49, 0x83, 0xf8, 0xff, //0x00001fe0 cmpq $-1, %r8 + 0x4d, 0x0f, 0x44, 0xc4, //0x00001fe4 cmoveq %r12, %r8 + 0x48, 0x83, 0xc3, 0x02, //0x00001fe8 addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x00001fec addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00001ff0 movq %rcx, %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00001ff3 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00001ff7 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00001ffb vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x00002000 testq %rsi, %rsi + 0x0f, 0x85, 0x9a, 0xff, 0xff, 0xff, //0x00002003 jne LBB0_373 + 0xe9, 0x7a, 0x07, 0x00, 0x00, //0x00002009 jmp LBB0_476 + //0x0000200e LBB0_378 + 0x4d, 0x29, 0xdc, //0x0000200e subq %r11, %r12 + 0xe9, 0xa4, 0xfa, 0xff, 0xff, //0x00002011 jmp LBB0_184 + //0x00002016 LBB0_379 + 0x49, 0x83, 0xf8, 0xff, //0x00002016 cmpq $-1, %r8 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000201a jne LBB0_381 + 0x4c, 0x89, 0xe2, //0x00002020 movq %r12, %rdx + 0x48, 0x2b, 0x55, 0xc0, //0x00002023 subq $-64(%rbp), %rdx + 0x4c, 0x0f, 0xbc, 0xc1, //0x00002027 bsfq %rcx, %r8 + 0x49, 0x01, 0xd0, //0x0000202b addq %rdx, %r8 + //0x0000202e LBB0_381 + 0x44, 0x89, 0xfa, //0x0000202e movl %r15d, %edx + 0xf7, 0xd2, //0x00002031 notl %edx + 0x21, 0xca, //0x00002033 andl %ecx, %edx + 0x8d, 0x1c, 0x12, //0x00002035 leal (%rdx,%rdx), %ebx + 0x44, 0x09, 0xfb, //0x00002038 orl %r15d, %ebx + 0x89, 0xdf, //0x0000203b movl %ebx, %edi + 0xf7, 0xd7, //0x0000203d notl %edi + 0x21, 0xcf, //0x0000203f andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002041 andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x00002047 xorl %r15d, %r15d + 0x01, 0xd7, //0x0000204a addl %edx, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x0000204c setb %r15b + 0x01, 0xff, //0x00002050 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00002052 xorl $1431655765, %edi + 0x21, 0xdf, //0x00002058 andl %ebx, %edi + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x0000205a movl $4294967295, %ecx + 0x31, 0xf9, //0x0000205f xorl %edi, %ecx + 0x21, 0xce, //0x00002061 andl %ecx, %esi + 0x4c, 0x8b, 0x75, 0xc8, //0x00002063 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002067 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x0000206c testq %rsi, %rsi + 0x0f, 0x85, 0xbc, 0xfa, 0xff, 0xff, //0x0000206f jne LBB0_88 + //0x00002075 LBB0_382 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00002075 movl $64, %ecx + //0x0000207a LBB0_383 + 0x49, 0x0f, 0xbc, 0xd1, //0x0000207a bsfq %r9, %rdx + 0x45, 0x85, 0xc9, //0x0000207e testl %r9d, %r9d + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x00002081 movl $64, %edi + 0x48, 0x0f, 0x45, 0xfa, //0x00002086 cmovneq %rdx, %rdi + 0x48, 0x85, 0xf6, //0x0000208a testq %rsi, %rsi + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x0000208d je LBB0_386 + 0x4c, 0x2b, 0x65, 0xc0, //0x00002093 subq $-64(%rbp), %r12 + 0x48, 0x39, 0xcf, //0x00002097 cmpq %rcx, %rdi + 0x0f, 0x82, 0x12, 0x09, 0x00, 0x00, //0x0000209a jb LBB0_511 + 0x4d, 0x8d, 0x64, 0x0c, 0x01, //0x000020a0 leaq $1(%r12,%rcx), %r12 + 0x4c, 0x8b, 0x55, 0xd0, //0x000020a5 movq $-48(%rbp), %r10 + 0xe9, 0x0c, 0xfa, 0xff, 0xff, //0x000020a9 jmp LBB0_184 + //0x000020ae LBB0_386 + 0x45, 0x85, 0xc9, //0x000020ae testl %r9d, %r9d + 0x0f, 0x85, 0x0d, 0x09, 0x00, 0x00, //0x000020b1 jne LBB0_512 + 0x49, 0x83, 0xc4, 0x20, //0x000020b7 addq $32, %r12 + 0x49, 0x83, 0xc2, 0xe0, //0x000020bb addq $-32, %r10 + //0x000020bf LBB0_388 + 0x4d, 0x85, 0xff, //0x000020bf testq %r15, %r15 + 0x0f, 0x85, 0x1f, 0x03, 0x00, 0x00, //0x000020c2 jne LBB0_431 + 0x48, 0x8b, 0x45, 0xc0, //0x000020c8 movq $-64(%rbp), %rax + 0x4d, 0x85, 0xd2, //0x000020cc testq %r10, %r10 + 0x0f, 0x84, 0xc2, 0x08, 0x00, 0x00, //0x000020cf je LBB0_433 + //0x000020d5 LBB0_390 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x000020d5 movzbl (%r12), %ecx + 0x80, 0xf9, 0x22, //0x000020da cmpb $34, %cl + 0x0f, 0x84, 0x6d, 0x00, 0x00, 0x00, //0x000020dd je LBB0_396 + 0x80, 0xf9, 0x5c, //0x000020e3 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x000020e6 je LBB0_394 + 0x80, 0xf9, 0x1f, //0x000020ec cmpb $31, %cl + 0x0f, 0x86, 0xed, 0x08, 0x00, 0x00, //0x000020ef jbe LBB0_513 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000020f5 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x000020fc movl $1, %edx + 0x49, 0x01, 0xd4, //0x00002101 addq %rdx, %r12 + 0x49, 0x01, 0xca, //0x00002104 addq %rcx, %r10 + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x00002107 jne LBB0_390 + 0xe9, 0x85, 0x08, 0x00, 0x00, //0x0000210d jmp LBB0_433 + //0x00002112 LBB0_394 + 0x49, 0x83, 0xfa, 0x01, //0x00002112 cmpq $1, %r10 + 0x0f, 0x84, 0x7b, 0x08, 0x00, 0x00, //0x00002116 je LBB0_433 + 0x4c, 0x89, 0xe1, //0x0000211c movq %r12, %rcx + 0x48, 0x29, 0xc1, //0x0000211f subq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00002122 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00002126 cmoveq %rcx, %r8 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x0000212a movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00002131 movl $2, %edx + 0x4c, 0x8b, 0x75, 0xc8, //0x00002136 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000213a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x49, 0x01, 0xd4, //0x0000213f addq %rdx, %r12 + 0x49, 0x01, 0xca, //0x00002142 addq %rcx, %r10 + 0x0f, 0x85, 0x8a, 0xff, 0xff, 0xff, //0x00002145 jne LBB0_390 + 0xe9, 0x47, 0x08, 0x00, 0x00, //0x0000214b jmp LBB0_433 + //0x00002150 LBB0_396 + 0x49, 0x29, 0xc4, //0x00002150 subq %rax, %r12 + 0x49, 0xff, 0xc4, //0x00002153 incq %r12 + 0x4c, 0x8b, 0x55, 0xd0, //0x00002156 movq $-48(%rbp), %r10 + 0xe9, 0x5b, 0xf9, 0xff, 0xff, //0x0000215a jmp LBB0_184 + //0x0000215f LBB0_397 + 0x4d, 0x89, 0xc8, //0x0000215f movq %r9, %r8 + 0x49, 0x83, 0xfb, 0xff, //0x00002162 cmpq $-1, %r11 + 0x0f, 0x85, 0x15, 0x00, 0x00, 0x00, //0x00002166 jne LBB0_400 + 0x48, 0x89, 0xd8, //0x0000216c movq %rbx, %rax + 0x4c, 0x29, 0xc0, //0x0000216f subq %r8, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x00002172 bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x00002176 addq %rax, %r11 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00002179 jmp LBB0_400 + //0x0000217e LBB0_399 + 0x4d, 0x89, 0xc8, //0x0000217e movq %r9, %r8 + //0x00002181 LBB0_400 + 0x44, 0x89, 0xf0, //0x00002181 movl %r14d, %eax + 0xf7, 0xd0, //0x00002184 notl %eax + 0x21, 0xf0, //0x00002186 andl %esi, %eax + 0x44, 0x8d, 0x0c, 0x00, //0x00002188 leal (%rax,%rax), %r9d + 0x45, 0x09, 0xf1, //0x0000218c orl %r14d, %r9d + 0x44, 0x89, 0xcf, //0x0000218f movl %r9d, %edi + 0xf7, 0xd7, //0x00002192 notl %edi + 0x21, 0xf7, //0x00002194 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002196 andl $-1431655766, %edi + 0x45, 0x31, 0xf6, //0x0000219c xorl %r14d, %r14d + 0x01, 0xc7, //0x0000219f addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc6, //0x000021a1 setb %r14b + 0x01, 0xff, //0x000021a5 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000021a7 xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x000021ad andl %r9d, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000021b0 movl $4294967295, %eax + 0x31, 0xf8, //0x000021b5 xorl %edi, %eax + 0x21, 0xc2, //0x000021b7 andl %eax, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x000021b9 movq $-48(%rbp), %r10 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000021bd vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x4d, 0x89, 0xc1, //0x000021c2 movq %r8, %r9 + 0x48, 0x85, 0xd2, //0x000021c5 testq %rdx, %rdx + 0x0f, 0x85, 0x37, 0xfa, 0xff, 0xff, //0x000021c8 jne LBB0_107 + //0x000021ce LBB0_401 + 0x48, 0x83, 0xc3, 0x20, //0x000021ce addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x000021d2 addq $-32, %rcx + //0x000021d6 LBB0_402 + 0x4d, 0x85, 0xf6, //0x000021d6 testq %r14, %r14 + 0x0f, 0x85, 0x43, 0x02, 0x00, 0x00, //0x000021d9 jne LBB0_434 + 0x4c, 0x8b, 0x75, 0xc8, //0x000021df movq $-56(%rbp), %r14 + 0x48, 0x85, 0xc9, //0x000021e3 testq %rcx, %rcx + 0x0f, 0x84, 0xc6, 0x05, 0x00, 0x00, //0x000021e6 je LBB0_479 + //0x000021ec LBB0_404 + 0x4d, 0x89, 0xe0, //0x000021ec movq %r12, %r8 + 0x4c, 0x89, 0xcf, //0x000021ef movq %r9, %rdi + 0x48, 0xf7, 0xd7, //0x000021f2 notq %rdi + //0x000021f5 LBB0_405 + 0x4c, 0x8d, 0x63, 0x01, //0x000021f5 leaq $1(%rbx), %r12 + 0x0f, 0xb6, 0x13, //0x000021f9 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x000021fc cmpb $34, %dl + 0x0f, 0x84, 0x5b, 0x00, 0x00, 0x00, //0x000021ff je LBB0_410 + 0x48, 0x8d, 0x71, 0xff, //0x00002205 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00002209 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000220c je LBB0_408 + 0x48, 0x89, 0xf1, //0x00002212 movq %rsi, %rcx + 0x4c, 0x89, 0xe3, //0x00002215 movq %r12, %rbx + 0x48, 0x85, 0xf6, //0x00002218 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x0000221b jne LBB0_405 + 0xe9, 0x8c, 0x05, 0x00, 0x00, //0x00002221 jmp LBB0_479 + //0x00002226 LBB0_408 + 0x48, 0x85, 0xf6, //0x00002226 testq %rsi, %rsi + 0x0f, 0x84, 0xcf, 0x07, 0x00, 0x00, //0x00002229 je LBB0_516 + 0x49, 0x01, 0xfc, //0x0000222f addq %rdi, %r12 + 0x49, 0x83, 0xfb, 0xff, //0x00002232 cmpq $-1, %r11 + 0x4d, 0x0f, 0x44, 0xdc, //0x00002236 cmoveq %r12, %r11 + 0x48, 0x83, 0xc3, 0x02, //0x0000223a addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x0000223e addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00002242 movq %rcx, %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002245 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002249 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000224d vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x00002252 testq %rsi, %rsi + 0x0f, 0x85, 0x9a, 0xff, 0xff, 0xff, //0x00002255 jne LBB0_405 + 0xe9, 0x52, 0x05, 0x00, 0x00, //0x0000225b jmp LBB0_479 + //0x00002260 LBB0_410 + 0x4d, 0x29, 0xcc, //0x00002260 subq %r9, %r12 + 0xe9, 0xb0, 0xf9, 0xff, 0xff, //0x00002263 jmp LBB0_205 + //0x00002268 LBB0_411 + 0x49, 0x83, 0xfb, 0xff, //0x00002268 cmpq $-1, %r11 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000226c jne LBB0_413 + 0x4c, 0x89, 0xe0, //0x00002272 movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x00002275 subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x00002279 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x0000227d addq %rax, %r11 + //0x00002280 LBB0_413 + 0x44, 0x89, 0xf8, //0x00002280 movl %r15d, %eax + 0xf7, 0xd0, //0x00002283 notl %eax + 0x21, 0xc8, //0x00002285 andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x00002287 leal (%rax,%rax), %edx + 0x44, 0x09, 0xfa, //0x0000228a orl %r15d, %edx + 0x89, 0xd7, //0x0000228d movl %edx, %edi + 0xf7, 0xd7, //0x0000228f notl %edi + 0x21, 0xcf, //0x00002291 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002293 andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x00002299 xorl %r15d, %r15d + 0x01, 0xc7, //0x0000229c addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x0000229e setb %r15b + 0x01, 0xff, //0x000022a2 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000022a4 xorl $1431655765, %edi + 0x21, 0xd7, //0x000022aa andl %edx, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000022ac movl $4294967295, %eax + 0x31, 0xf8, //0x000022b1 xorl %edi, %eax + 0x21, 0xc6, //0x000022b3 andl %eax, %esi + 0x4c, 0x8b, 0x55, 0xd0, //0x000022b5 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x000022b9 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000022bd vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x000022c2 testq %rsi, %rsi + 0x0f, 0x85, 0xe2, 0xf9, 0xff, 0xff, //0x000022c5 jne LBB0_124 + //0x000022cb LBB0_414 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000022cb movl $64, %ecx + //0x000022d0 LBB0_415 + 0x49, 0x0f, 0xbc, 0xd1, //0x000022d0 bsfq %r9, %rdx + 0x45, 0x85, 0xc9, //0x000022d4 testl %r9d, %r9d + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x000022d7 movl $64, %edi + 0x48, 0x0f, 0x45, 0xfa, //0x000022dc cmovneq %rdx, %rdi + 0x48, 0x85, 0xf6, //0x000022e0 testq %rsi, %rsi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000022e3 je LBB0_418 + 0x4c, 0x2b, 0x65, 0xc0, //0x000022e9 subq $-64(%rbp), %r12 + 0x48, 0x39, 0xcf, //0x000022ed cmpq %rcx, %rdi + 0x0f, 0x83, 0x1a, 0xee, 0xff, 0xff, //0x000022f0 jae LBB0_204 + 0xe9, 0xd5, 0x06, 0x00, 0x00, //0x000022f6 jmp LBB0_417 + //0x000022fb LBB0_418 + 0x45, 0x85, 0xc9, //0x000022fb testl %r9d, %r9d + 0x0f, 0x85, 0xe6, 0x06, 0x00, 0x00, //0x000022fe jne LBB0_514 + 0x49, 0x83, 0xc4, 0x20, //0x00002304 addq $32, %r12 + 0x48, 0x83, 0xc3, 0xe0, //0x00002308 addq $-32, %rbx + //0x0000230c LBB0_420 + 0x4d, 0x85, 0xff, //0x0000230c testq %r15, %r15 + 0x0f, 0x85, 0x48, 0x01, 0x00, 0x00, //0x0000230f jne LBB0_436 + 0x48, 0x8b, 0x75, 0xc0, //0x00002315 movq $-64(%rbp), %rsi + 0x48, 0x85, 0xdb, //0x00002319 testq %rbx, %rbx + 0x0f, 0x84, 0x90, 0x04, 0x00, 0x00, //0x0000231c je LBB0_479 + //0x00002322 LBB0_422 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x00002322 movzbl (%r12), %ecx + 0x80, 0xf9, 0x22, //0x00002327 cmpb $34, %cl + 0x0f, 0x84, 0x71, 0x00, 0x00, 0x00, //0x0000232a je LBB0_428 + 0x80, 0xf9, 0x5c, //0x00002330 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00002333 je LBB0_426 + 0x80, 0xf9, 0x1f, //0x00002339 cmpb $31, %cl + 0x0f, 0x86, 0xb4, 0x06, 0x00, 0x00, //0x0000233c jbe LBB0_515 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00002342 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00002349 movl $1, %edx + 0x49, 0x01, 0xd4, //0x0000234e addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x00002351 addq %rcx, %rbx + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x00002354 jne LBB0_422 + 0xe9, 0x53, 0x04, 0x00, 0x00, //0x0000235a jmp LBB0_479 + //0x0000235f LBB0_426 + 0x48, 0x83, 0xfb, 0x01, //0x0000235f cmpq $1, %rbx + 0x0f, 0x84, 0x95, 0x06, 0x00, 0x00, //0x00002363 je LBB0_516 + 0x4c, 0x89, 0xe0, //0x00002369 movq %r12, %rax + 0x48, 0x29, 0xf0, //0x0000236c subq %rsi, %rax + 0x49, 0x83, 0xfb, 0xff, //0x0000236f cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x00002373 cmoveq %rax, %r11 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002377 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x0000237e movl $2, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002383 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002387 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000238b vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x49, 0x01, 0xd4, //0x00002390 addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x00002393 addq %rcx, %rbx + 0x0f, 0x85, 0x86, 0xff, 0xff, 0xff, //0x00002396 jne LBB0_422 + 0xe9, 0x11, 0x04, 0x00, 0x00, //0x0000239c jmp LBB0_479 + //0x000023a1 LBB0_428 + 0x49, 0x29, 0xf4, //0x000023a1 subq %rsi, %r12 + 0x49, 0xff, 0xc4, //0x000023a4 incq %r12 + 0xe9, 0x6c, 0xf8, 0xff, 0xff, //0x000023a7 jmp LBB0_205 + //0x000023ac LBB0_429 + 0x48, 0x85, 0xc9, //0x000023ac testq %rcx, %rcx + 0x0f, 0x84, 0xe2, 0x05, 0x00, 0x00, //0x000023af je LBB0_433 + 0x4c, 0x89, 0xd8, //0x000023b5 movq %r11, %rax + 0x48, 0xf7, 0xd0, //0x000023b8 notq %rax + 0x48, 0x01, 0xd8, //0x000023bb addq %rbx, %rax + 0x49, 0x83, 0xf8, 0xff, //0x000023be cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x000023c2 cmoveq %rax, %r8 + 0x48, 0xff, 0xc3, //0x000023c6 incq %rbx + 0x48, 0xff, 0xc9, //0x000023c9 decq %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x000023cc movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x000023d0 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000023d4 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xc9, //0x000023d9 testq %rcx, %rcx + 0x0f, 0x85, 0xbb, 0xfb, 0xff, 0xff, //0x000023dc jne LBB0_372 + 0xe9, 0xa1, 0x03, 0x00, 0x00, //0x000023e2 jmp LBB0_476 + //0x000023e7 LBB0_431 + 0x4d, 0x85, 0xd2, //0x000023e7 testq %r10, %r10 + 0x0f, 0x84, 0xa7, 0x05, 0x00, 0x00, //0x000023ea je LBB0_433 + 0x48, 0x8b, 0x45, 0xc0, //0x000023f0 movq $-64(%rbp), %rax + 0x48, 0x89, 0xc1, //0x000023f4 movq %rax, %rcx + 0x48, 0xf7, 0xd1, //0x000023f7 notq %rcx + 0x4c, 0x01, 0xe1, //0x000023fa addq %r12, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x000023fd cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00002401 cmoveq %rcx, %r8 + 0x49, 0xff, 0xc4, //0x00002405 incq %r12 + 0x49, 0xff, 0xca, //0x00002408 decq %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x0000240b movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000240f vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x4d, 0x85, 0xd2, //0x00002414 testq %r10, %r10 + 0x0f, 0x85, 0xb8, 0xfc, 0xff, 0xff, //0x00002417 jne LBB0_390 + 0xe9, 0x75, 0x05, 0x00, 0x00, //0x0000241d jmp LBB0_433 + //0x00002422 LBB0_434 + 0x48, 0x85, 0xc9, //0x00002422 testq %rcx, %rcx + 0x0f, 0x84, 0xd3, 0x05, 0x00, 0x00, //0x00002425 je LBB0_516 + 0x4c, 0x89, 0xc8, //0x0000242b movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x0000242e notq %rax + 0x48, 0x01, 0xd8, //0x00002431 addq %rbx, %rax + 0x49, 0x83, 0xfb, 0xff, //0x00002434 cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x00002438 cmoveq %rax, %r11 + 0x48, 0xff, 0xc3, //0x0000243c incq %rbx + 0x48, 0xff, 0xc9, //0x0000243f decq %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002442 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002446 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000244a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xc9, //0x0000244f testq %rcx, %rcx + 0x0f, 0x85, 0x94, 0xfd, 0xff, 0xff, //0x00002452 jne LBB0_404 + 0xe9, 0x55, 0x03, 0x00, 0x00, //0x00002458 jmp LBB0_479 + //0x0000245d LBB0_436 + 0x48, 0x85, 0xdb, //0x0000245d testq %rbx, %rbx + 0x0f, 0x84, 0x98, 0x05, 0x00, 0x00, //0x00002460 je LBB0_516 + 0x48, 0x8b, 0x75, 0xc0, //0x00002466 movq $-64(%rbp), %rsi + 0x48, 0x89, 0xf0, //0x0000246a movq %rsi, %rax + 0x48, 0xf7, 0xd0, //0x0000246d notq %rax + 0x4c, 0x01, 0xe0, //0x00002470 addq %r12, %rax + 0x49, 0x83, 0xfb, 0xff, //0x00002473 cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x00002477 cmoveq %rax, %r11 + 0x49, 0xff, 0xc4, //0x0000247b incq %r12 + 0x48, 0xff, 0xcb, //0x0000247e decq %rbx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002481 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002485 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002489 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xdb, //0x0000248e testq %rbx, %rbx + 0x0f, 0x85, 0x8b, 0xfe, 0xff, 0xff, //0x00002491 jne LBB0_422 + 0xe9, 0x16, 0x03, 0x00, 0x00, //0x00002497 jmp LBB0_479 + //0x0000249c LBB0_438 + 0x4d, 0x89, 0xc8, //0x0000249c movq %r9, %r8 + 0x49, 0x83, 0xfb, 0xff, //0x0000249f cmpq $-1, %r11 + 0x0f, 0x85, 0x15, 0x00, 0x00, 0x00, //0x000024a3 jne LBB0_441 + 0x48, 0x89, 0xd8, //0x000024a9 movq %rbx, %rax + 0x4c, 0x29, 0xc0, //0x000024ac subq %r8, %rax + 0x4c, 0x0f, 0xbc, 0xde, //0x000024af bsfq %rsi, %r11 + 0x49, 0x01, 0xc3, //0x000024b3 addq %rax, %r11 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x000024b6 jmp LBB0_441 + //0x000024bb LBB0_440 + 0x4d, 0x89, 0xc8, //0x000024bb movq %r9, %r8 + //0x000024be LBB0_441 + 0x44, 0x89, 0xf0, //0x000024be movl %r14d, %eax + 0xf7, 0xd0, //0x000024c1 notl %eax + 0x21, 0xf0, //0x000024c3 andl %esi, %eax + 0x44, 0x8d, 0x0c, 0x00, //0x000024c5 leal (%rax,%rax), %r9d + 0x45, 0x09, 0xf1, //0x000024c9 orl %r14d, %r9d + 0x44, 0x89, 0xcf, //0x000024cc movl %r9d, %edi + 0xf7, 0xd7, //0x000024cf notl %edi + 0x21, 0xf7, //0x000024d1 andl %esi, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000024d3 andl $-1431655766, %edi + 0x45, 0x31, 0xf6, //0x000024d9 xorl %r14d, %r14d + 0x01, 0xc7, //0x000024dc addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc6, //0x000024de setb %r14b + 0x01, 0xff, //0x000024e2 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000024e4 xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x000024ea andl %r9d, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000024ed movl $4294967295, %eax + 0x31, 0xc7, //0x000024f2 xorl %eax, %edi + 0x21, 0xfa, //0x000024f4 andl %edi, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x000024f6 movq $-48(%rbp), %r10 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000024fa vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x4d, 0x89, 0xc1, //0x000024ff movq %r8, %r9 + 0x48, 0x85, 0xd2, //0x00002502 testq %rdx, %rdx + 0x0f, 0x85, 0x3c, 0xf8, 0xff, 0xff, //0x00002505 jne LBB0_226 + //0x0000250b LBB0_442 + 0x48, 0x83, 0xc3, 0x20, //0x0000250b addq $32, %rbx + 0x48, 0x83, 0xc1, 0xe0, //0x0000250f addq $-32, %rcx + //0x00002513 LBB0_443 + 0x4d, 0x85, 0xf6, //0x00002513 testq %r14, %r14 + 0x0f, 0x85, 0xcd, 0x01, 0x00, 0x00, //0x00002516 jne LBB0_469 + 0x4c, 0x8b, 0x75, 0xc8, //0x0000251c movq $-56(%rbp), %r14 + 0x48, 0x85, 0xc9, //0x00002520 testq %rcx, %rcx + 0x0f, 0x84, 0x89, 0x02, 0x00, 0x00, //0x00002523 je LBB0_479 + //0x00002529 LBB0_445 + 0x4d, 0x89, 0xe0, //0x00002529 movq %r12, %r8 + 0x4c, 0x89, 0xcf, //0x0000252c movq %r9, %rdi + 0x48, 0xf7, 0xd7, //0x0000252f notq %rdi + //0x00002532 LBB0_446 + 0x4c, 0x8d, 0x63, 0x01, //0x00002532 leaq $1(%rbx), %r12 + 0x0f, 0xb6, 0x13, //0x00002536 movzbl (%rbx), %edx + 0x80, 0xfa, 0x22, //0x00002539 cmpb $34, %dl + 0x0f, 0x84, 0x5b, 0x00, 0x00, 0x00, //0x0000253c je LBB0_451 + 0x48, 0x8d, 0x71, 0xff, //0x00002542 leaq $-1(%rcx), %rsi + 0x80, 0xfa, 0x5c, //0x00002546 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00002549 je LBB0_449 + 0x48, 0x89, 0xf1, //0x0000254f movq %rsi, %rcx + 0x4c, 0x89, 0xe3, //0x00002552 movq %r12, %rbx + 0x48, 0x85, 0xf6, //0x00002555 testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x00002558 jne LBB0_446 + 0xe9, 0x4f, 0x02, 0x00, 0x00, //0x0000255e jmp LBB0_479 + //0x00002563 LBB0_449 + 0x48, 0x85, 0xf6, //0x00002563 testq %rsi, %rsi + 0x0f, 0x84, 0x92, 0x04, 0x00, 0x00, //0x00002566 je LBB0_516 + 0x49, 0x01, 0xfc, //0x0000256c addq %rdi, %r12 + 0x49, 0x83, 0xfb, 0xff, //0x0000256f cmpq $-1, %r11 + 0x4d, 0x0f, 0x44, 0xdc, //0x00002573 cmoveq %r12, %r11 + 0x48, 0x83, 0xc3, 0x02, //0x00002577 addq $2, %rbx + 0x48, 0x83, 0xc1, 0xfe, //0x0000257b addq $-2, %rcx + 0x48, 0x89, 0xce, //0x0000257f movq %rcx, %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002582 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x00002586 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x0000258a vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x0000258f testq %rsi, %rsi + 0x0f, 0x85, 0x9a, 0xff, 0xff, 0xff, //0x00002592 jne LBB0_446 + 0xe9, 0x15, 0x02, 0x00, 0x00, //0x00002598 jmp LBB0_479 + //0x0000259d LBB0_451 + 0x4d, 0x29, 0xcc, //0x0000259d subq %r9, %r12 + 0xe9, 0xb5, 0xf7, 0xff, 0xff, //0x000025a0 jmp LBB0_323 + //0x000025a5 LBB0_452 + 0x49, 0x83, 0xfb, 0xff, //0x000025a5 cmpq $-1, %r11 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000025a9 jne LBB0_454 + 0x4c, 0x89, 0xe0, //0x000025af movq %r12, %rax + 0x48, 0x2b, 0x45, 0xc0, //0x000025b2 subq $-64(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xd9, //0x000025b6 bsfq %rcx, %r11 + 0x49, 0x01, 0xc3, //0x000025ba addq %rax, %r11 + //0x000025bd LBB0_454 + 0x44, 0x89, 0xf8, //0x000025bd movl %r15d, %eax + 0xf7, 0xd0, //0x000025c0 notl %eax + 0x21, 0xc8, //0x000025c2 andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x000025c4 leal (%rax,%rax), %edx + 0x44, 0x09, 0xfa, //0x000025c7 orl %r15d, %edx + 0x89, 0xd7, //0x000025ca movl %edx, %edi + 0xf7, 0xd7, //0x000025cc notl %edi + 0x21, 0xcf, //0x000025ce andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000025d0 andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x000025d6 xorl %r15d, %r15d + 0x01, 0xc7, //0x000025d9 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x000025db setb %r15b + 0x01, 0xff, //0x000025df addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000025e1 xorl $1431655765, %edi + 0x21, 0xd7, //0x000025e7 andl %edx, %edi + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000025e9 movl $4294967295, %eax + 0x31, 0xf8, //0x000025ee xorl %edi, %eax + 0x21, 0xc6, //0x000025f0 andl %eax, %esi + 0x4c, 0x8b, 0x55, 0xd0, //0x000025f2 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x000025f6 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000025fa vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xf6, //0x000025ff testq %rsi, %rsi + 0x0f, 0x85, 0xd4, 0xf7, 0xff, 0xff, //0x00002602 jne LBB0_263 + //0x00002608 LBB0_455 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00002608 movl $64, %ecx + //0x0000260d LBB0_456 + 0x49, 0x0f, 0xbc, 0xd1, //0x0000260d bsfq %r9, %rdx + 0x45, 0x85, 0xc9, //0x00002611 testl %r9d, %r9d + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x00002614 movl $64, %edi + 0x48, 0x0f, 0x45, 0xfa, //0x00002619 cmovneq %rdx, %rdi + 0x48, 0x85, 0xf6, //0x0000261d testq %rsi, %rsi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00002620 je LBB0_458 + 0x4c, 0x2b, 0x65, 0xc0, //0x00002626 subq $-64(%rbp), %r12 + 0x48, 0x39, 0xcf, //0x0000262a cmpq %rcx, %rdi + 0x0f, 0x83, 0x20, 0xf3, 0xff, 0xff, //0x0000262d jae LBB0_322 + 0xe9, 0x98, 0x03, 0x00, 0x00, //0x00002633 jmp LBB0_417 + //0x00002638 LBB0_458 + 0x45, 0x85, 0xc9, //0x00002638 testl %r9d, %r9d + 0x0f, 0x85, 0xa9, 0x03, 0x00, 0x00, //0x0000263b jne LBB0_514 + 0x49, 0x83, 0xc4, 0x20, //0x00002641 addq $32, %r12 + 0x48, 0x83, 0xc3, 0xe0, //0x00002645 addq $-32, %rbx + //0x00002649 LBB0_460 + 0x4d, 0x85, 0xff, //0x00002649 testq %r15, %r15 + 0x0f, 0x85, 0xd2, 0x00, 0x00, 0x00, //0x0000264c jne LBB0_471 + 0x48, 0x8b, 0x75, 0xc0, //0x00002652 movq $-64(%rbp), %rsi + 0x48, 0x85, 0xdb, //0x00002656 testq %rbx, %rbx + 0x0f, 0x84, 0x53, 0x01, 0x00, 0x00, //0x00002659 je LBB0_479 + //0x0000265f LBB0_462 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x0000265f movzbl (%r12), %ecx + 0x80, 0xf9, 0x22, //0x00002664 cmpb $34, %cl + 0x0f, 0x84, 0x71, 0x00, 0x00, 0x00, //0x00002667 je LBB0_468 + 0x80, 0xf9, 0x5c, //0x0000266d cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00002670 je LBB0_466 + 0x80, 0xf9, 0x1f, //0x00002676 cmpb $31, %cl + 0x0f, 0x86, 0x77, 0x03, 0x00, 0x00, //0x00002679 jbe LBB0_515 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000267f movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00002686 movl $1, %edx + 0x49, 0x01, 0xd4, //0x0000268b addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x0000268e addq %rcx, %rbx + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x00002691 jne LBB0_462 + 0xe9, 0x16, 0x01, 0x00, 0x00, //0x00002697 jmp LBB0_479 + //0x0000269c LBB0_466 + 0x48, 0x83, 0xfb, 0x01, //0x0000269c cmpq $1, %rbx + 0x0f, 0x84, 0x58, 0x03, 0x00, 0x00, //0x000026a0 je LBB0_516 + 0x4c, 0x89, 0xe0, //0x000026a6 movq %r12, %rax + 0x48, 0x29, 0xf0, //0x000026a9 subq %rsi, %rax + 0x49, 0x83, 0xfb, 0xff, //0x000026ac cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x000026b0 cmoveq %rax, %r11 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000026b4 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x000026bb movl $2, %edx + 0x4c, 0x8b, 0x55, 0xd0, //0x000026c0 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x000026c4 movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x000026c8 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x49, 0x01, 0xd4, //0x000026cd addq %rdx, %r12 + 0x48, 0x01, 0xcb, //0x000026d0 addq %rcx, %rbx + 0x0f, 0x85, 0x86, 0xff, 0xff, 0xff, //0x000026d3 jne LBB0_462 + 0xe9, 0xd4, 0x00, 0x00, 0x00, //0x000026d9 jmp LBB0_479 + //0x000026de LBB0_468 + 0x49, 0x29, 0xf4, //0x000026de subq %rsi, %r12 + 0x49, 0xff, 0xc4, //0x000026e1 incq %r12 + 0xe9, 0x71, 0xf6, 0xff, 0xff, //0x000026e4 jmp LBB0_323 + //0x000026e9 LBB0_469 + 0x48, 0x85, 0xc9, //0x000026e9 testq %rcx, %rcx + 0x0f, 0x84, 0x0c, 0x03, 0x00, 0x00, //0x000026ec je LBB0_516 + 0x4c, 0x89, 0xc8, //0x000026f2 movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000026f5 notq %rax + 0x48, 0x01, 0xd8, //0x000026f8 addq %rbx, %rax + 0x49, 0x83, 0xfb, 0xff, //0x000026fb cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x000026ff cmoveq %rax, %r11 + 0x48, 0xff, 0xc3, //0x00002703 incq %rbx + 0x48, 0xff, 0xc9, //0x00002706 decq %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002709 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x0000270d movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002711 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xc9, //0x00002716 testq %rcx, %rcx + 0x0f, 0x85, 0x0a, 0xfe, 0xff, 0xff, //0x00002719 jne LBB0_445 + 0xe9, 0x8e, 0x00, 0x00, 0x00, //0x0000271f jmp LBB0_479 + //0x00002724 LBB0_471 + 0x48, 0x85, 0xdb, //0x00002724 testq %rbx, %rbx + 0x0f, 0x84, 0xd1, 0x02, 0x00, 0x00, //0x00002727 je LBB0_516 + 0x48, 0x8b, 0x75, 0xc0, //0x0000272d movq $-64(%rbp), %rsi + 0x48, 0x89, 0xf0, //0x00002731 movq %rsi, %rax + 0x48, 0xf7, 0xd0, //0x00002734 notq %rax + 0x4c, 0x01, 0xe0, //0x00002737 addq %r12, %rax + 0x49, 0x83, 0xfb, 0xff, //0x0000273a cmpq $-1, %r11 + 0x4c, 0x0f, 0x44, 0xd8, //0x0000273e cmoveq %rax, %r11 + 0x49, 0xff, 0xc4, //0x00002742 incq %r12 + 0x48, 0xff, 0xcb, //0x00002745 decq %rbx + 0x4c, 0x8b, 0x55, 0xd0, //0x00002748 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x75, 0xc8, //0x0000274c movq $-56(%rbp), %r14 + 0xc4, 0x41, 0x35, 0x76, 0xc9, //0x00002750 vpcmpeqd %ymm9, %ymm9, %ymm9 + 0x48, 0x85, 0xdb, //0x00002755 testq %rbx, %rbx + 0x0f, 0x85, 0x01, 0xff, 0xff, 0xff, //0x00002758 jne LBB0_462 + 0xe9, 0x4f, 0x00, 0x00, 0x00, //0x0000275e jmp LBB0_479 + //0x00002763 LBB0_473 + 0x4d, 0x89, 0x2a, //0x00002763 movq %r13, (%r10) + //0x00002766 LBB0_474 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00002766 movq $-1, %rcx + 0xe9, 0x67, 0x00, 0x00, 0x00, //0x0000276d jmp LBB0_501 + //0x00002772 LBB0_489 + 0x48, 0xc7, 0xc1, 0xf9, 0xff, 0xff, 0xff, //0x00002772 movq $-7, %rcx + 0xe9, 0x5b, 0x00, 0x00, 0x00, //0x00002779 jmp LBB0_501 + //0x0000277e LBB0_475 + 0x49, 0x83, 0xfc, 0xff, //0x0000277e cmpq $-1, %r12 + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x00002782 jne LBB0_487 + //0x00002788 LBB0_476 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00002788 movq $-1, %r12 + 0x4c, 0x8b, 0x45, 0xb8, //0x0000278f movq $-72(%rbp), %r8 + 0xe9, 0x81, 0x00, 0x00, 0x00, //0x00002793 jmp LBB0_487 + //0x00002798 LBB0_477 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00002798 movq $-1, %rcx + 0x48, 0x8b, 0x55, 0xd0, //0x0000279f movq $-48(%rbp), %rdx + 0xe9, 0x1d, 0x00, 0x00, 0x00, //0x000027a3 jmp LBB0_481 + //0x000027a8 LBB0_478 + 0x49, 0x83, 0xfc, 0xff, //0x000027a8 cmpq $-1, %r12 + 0x0f, 0x85, 0x91, 0x00, 0x00, 0x00, //0x000027ac jne LBB0_506 + //0x000027b2 LBB0_479 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000027b2 movq $-1, %r12 + 0x4c, 0x8b, 0x5d, 0xb8, //0x000027b9 movq $-72(%rbp), %r11 + 0xe9, 0x81, 0x00, 0x00, 0x00, //0x000027bd jmp LBB0_506 + //0x000027c2 LBB0_480 + 0x4c, 0x89, 0xf1, //0x000027c2 movq %r14, %rcx + //0x000027c5 LBB0_481 + 0x48, 0x8b, 0x02, //0x000027c5 movq (%rdx), %rax + 0x48, 0x29, 0xc8, //0x000027c8 subq %rcx, %rax + 0x48, 0x83, 0xc0, 0xfe, //0x000027cb addq $-2, %rax + 0x48, 0x89, 0x02, //0x000027cf movq %rax, (%rdx) + //0x000027d2 LBB0_500 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000027d2 movq $-2, %rcx + //0x000027d9 LBB0_501 + 0x48, 0x89, 0xc8, //0x000027d9 movq %rcx, %rax + 0x48, 0x83, 0xc4, 0x48, //0x000027dc addq $72, %rsp + 0x5b, //0x000027e0 popq %rbx + 0x41, 0x5c, //0x000027e1 popq %r12 + 0x41, 0x5d, //0x000027e3 popq %r13 + 0x41, 0x5e, //0x000027e5 popq %r14 + 0x41, 0x5f, //0x000027e7 popq %r15 + 0x5d, //0x000027e9 popq %rbp + 0xc5, 0xf8, 0x77, //0x000027ea vzeroupper + 0xc3, //0x000027ed retq + //0x000027ee LBB0_490 + 0x49, 0x89, 0x12, //0x000027ee movq %rdx, (%r10) + 0xe9, 0xe3, 0xff, 0xff, 0xff, //0x000027f1 jmp LBB0_501 + //0x000027f6 LBB0_482 + 0x49, 0x83, 0xf8, 0xff, //0x000027f6 cmpq $-1, %r8 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000027fa jne LBB0_485 + 0x48, 0x0f, 0xbc, 0xc6, //0x00002800 bsfq %rsi, %rax + 0x4c, 0x2b, 0x65, 0xc0, //0x00002804 subq $-64(%rbp), %r12 + 0x49, 0x01, 0xc4, //0x00002808 addq %rax, %r12 + //0x0000280b LBB0_484 + 0x4d, 0x89, 0xe0, //0x0000280b movq %r12, %r8 + //0x0000280e LBB0_485 + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x0000280e movq $-2, %r12 + //0x00002815 LBB0_486 + 0x4c, 0x8b, 0x55, 0xd0, //0x00002815 movq $-48(%rbp), %r10 + //0x00002819 LBB0_487 + 0x4d, 0x89, 0x02, //0x00002819 movq %r8, (%r10) + 0x4c, 0x89, 0xe1, //0x0000281c movq %r12, %rcx + 0xe9, 0xb5, 0xff, 0xff, 0xff, //0x0000281f jmp LBB0_501 + //0x00002824 LBB0_502 + 0x49, 0x83, 0xfb, 0xff, //0x00002824 cmpq $-1, %r11 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00002828 jne LBB0_505 + 0x48, 0x0f, 0xbc, 0xc6, //0x0000282e bsfq %rsi, %rax + 0x4c, 0x2b, 0x65, 0xc0, //0x00002832 subq $-64(%rbp), %r12 + 0x49, 0x01, 0xc4, //0x00002836 addq %rax, %r12 + //0x00002839 LBB0_504 + 0x4d, 0x89, 0xe3, //0x00002839 movq %r12, %r11 + //0x0000283c LBB0_505 + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x0000283c movq $-2, %r12 + //0x00002843 LBB0_506 + 0x4d, 0x89, 0x1a, //0x00002843 movq %r11, (%r10) + 0x4c, 0x89, 0xe1, //0x00002846 movq %r12, %rcx + 0xe9, 0x8b, 0xff, 0xff, 0xff, //0x00002849 jmp LBB0_501 + //0x0000284e LBB0_233 + 0x4d, 0x89, 0x2a, //0x0000284e movq %r13, (%r10) + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00002851 movq $-2, %rcx + 0x41, 0x80, 0x3f, 0x6e, //0x00002858 cmpb $110, (%r15) + 0x0f, 0x85, 0x77, 0xff, 0xff, 0xff, //0x0000285c jne LBB0_501 + 0x49, 0x8d, 0x45, 0x01, //0x00002862 leaq $1(%r13), %rax + 0x49, 0x89, 0x02, //0x00002866 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x01, 0x75, //0x00002869 cmpb $117, $1(%r9,%r13) + 0x0f, 0x85, 0x64, 0xff, 0xff, 0xff, //0x0000286f jne LBB0_501 + 0x49, 0x8d, 0x45, 0x02, //0x00002875 leaq $2(%r13), %rax + 0x49, 0x89, 0x02, //0x00002879 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x02, 0x6c, //0x0000287c cmpb $108, $2(%r9,%r13) + 0x0f, 0x85, 0x51, 0xff, 0xff, 0xff, //0x00002882 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x03, //0x00002888 leaq $3(%r13), %rax + 0x49, 0x89, 0x02, //0x0000288c movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x03, 0x6c, //0x0000288f cmpb $108, $3(%r9,%r13) + 0x0f, 0x85, 0x3e, 0xff, 0xff, 0xff, //0x00002895 jne LBB0_501 + 0xe9, 0xa2, 0x00, 0x00, 0x00, //0x0000289b jmp LBB0_237 + //0x000028a0 LBB0_491 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000028a0 movq $-2, %rcx + 0x80, 0xfa, 0x61, //0x000028a7 cmpb $97, %dl + 0x0f, 0x85, 0x29, 0xff, 0xff, 0xff, //0x000028aa jne LBB0_501 + 0x49, 0x8d, 0x45, 0x02, //0x000028b0 leaq $2(%r13), %rax + 0x49, 0x89, 0x02, //0x000028b4 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x02, 0x6c, //0x000028b7 cmpb $108, $2(%r9,%r13) + 0x0f, 0x85, 0x16, 0xff, 0xff, 0xff, //0x000028bd jne LBB0_501 + 0x49, 0x8d, 0x45, 0x03, //0x000028c3 leaq $3(%r13), %rax + 0x49, 0x89, 0x02, //0x000028c7 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x03, 0x73, //0x000028ca cmpb $115, $3(%r9,%r13) + 0x0f, 0x85, 0x03, 0xff, 0xff, 0xff, //0x000028d0 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x04, //0x000028d6 leaq $4(%r13), %rax + 0x49, 0x89, 0x02, //0x000028da movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x04, 0x65, //0x000028dd cmpb $101, $4(%r9,%r13) + 0x0f, 0x85, 0xf0, 0xfe, 0xff, 0xff, //0x000028e3 jne LBB0_501 + 0x49, 0x83, 0xc5, 0x05, //0x000028e9 addq $5, %r13 + 0x4d, 0x89, 0x2a, //0x000028ed movq %r13, (%r10) + 0xe9, 0xe4, 0xfe, 0xff, 0xff, //0x000028f0 jmp LBB0_501 + //0x000028f5 LBB0_245 + 0x4d, 0x89, 0x2a, //0x000028f5 movq %r13, (%r10) + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000028f8 movq $-2, %rcx + 0x41, 0x80, 0x3f, 0x74, //0x000028ff cmpb $116, (%r15) + 0x0f, 0x85, 0xd0, 0xfe, 0xff, 0xff, //0x00002903 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x01, //0x00002909 leaq $1(%r13), %rax + 0x49, 0x89, 0x02, //0x0000290d movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x01, 0x72, //0x00002910 cmpb $114, $1(%r9,%r13) + 0x0f, 0x85, 0xbd, 0xfe, 0xff, 0xff, //0x00002916 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x02, //0x0000291c leaq $2(%r13), %rax + 0x49, 0x89, 0x02, //0x00002920 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x02, 0x75, //0x00002923 cmpb $117, $2(%r9,%r13) + 0x0f, 0x85, 0xaa, 0xfe, 0xff, 0xff, //0x00002929 jne LBB0_501 + 0x49, 0x8d, 0x45, 0x03, //0x0000292f leaq $3(%r13), %rax + 0x49, 0x89, 0x02, //0x00002933 movq %rax, (%r10) + 0x43, 0x80, 0x7c, 0x29, 0x03, 0x65, //0x00002936 cmpb $101, $3(%r9,%r13) + 0x0f, 0x85, 0x97, 0xfe, 0xff, 0xff, //0x0000293c jne LBB0_501 + //0x00002942 LBB0_237 + 0x49, 0x83, 0xc5, 0x04, //0x00002942 addq $4, %r13 + 0x4d, 0x89, 0x2a, //0x00002946 movq %r13, (%r10) + 0xe9, 0x8b, 0xfe, 0xff, 0xff, //0x00002949 jmp LBB0_501 + //0x0000294e LBB0_497 + 0x4d, 0x8b, 0x22, //0x0000294e movq (%r10), %r12 + //0x00002951 LBB0_498 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00002951 movq $-1, %r15 + //0x00002958 LBB0_499 + 0x49, 0xf7, 0xd7, //0x00002958 notq %r15 + 0x4d, 0x01, 0xe7, //0x0000295b addq %r12, %r15 + 0x4d, 0x89, 0x3a, //0x0000295e movq %r15, (%r10) + 0xe9, 0x6c, 0xfe, 0xff, 0xff, //0x00002961 jmp LBB0_500 + //0x00002966 LBB0_510 + 0x4c, 0x89, 0x65, 0xb8, //0x00002966 movq %r12, $-72(%rbp) + 0xe9, 0x43, 0xfe, 0xff, 0xff, //0x0000296a jmp LBB0_479 + //0x0000296f LBB0_507 + 0x4c, 0x89, 0x65, 0xb8, //0x0000296f movq %r12, $-72(%rbp) + 0xe9, 0x10, 0xfe, 0xff, 0xff, //0x00002973 jmp LBB0_476 + //0x00002978 LBB0_508 + 0x4c, 0x89, 0x65, 0xb8, //0x00002978 movq %r12, $-72(%rbp) + 0x4c, 0x8b, 0x55, 0xd0, //0x0000297c movq $-48(%rbp), %r10 + 0xe9, 0x03, 0xfe, 0xff, 0xff, //0x00002980 jmp LBB0_476 + //0x00002985 LBB0_509 + 0x4c, 0x01, 0xe2, //0x00002985 addq %r12, %rdx + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x00002988 movq $-2, %r12 + 0x49, 0x89, 0xd0, //0x0000298f movq %rdx, %r8 + 0xe9, 0x82, 0xfe, 0xff, 0xff, //0x00002992 jmp LBB0_487 + //0x00002997 LBB0_433 + 0x4c, 0x8b, 0x55, 0xd0, //0x00002997 movq $-48(%rbp), %r10 + 0xe9, 0xe8, 0xfd, 0xff, 0xff, //0x0000299b jmp LBB0_476 + //0x000029a0 LBB0_129 + 0x4c, 0x01, 0xe2, //0x000029a0 addq %r12, %rdx + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x000029a3 movq $-2, %r12 + 0x49, 0x89, 0xd3, //0x000029aa movq %rdx, %r11 + 0xe9, 0x91, 0xfe, 0xff, 0xff, //0x000029ad jmp LBB0_506 + //0x000029b2 LBB0_511 + 0x4c, 0x01, 0xe7, //0x000029b2 addq %r12, %rdi + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x000029b5 movq $-2, %r12 + 0x49, 0x89, 0xf8, //0x000029bc movq %rdi, %r8 + 0xe9, 0x51, 0xfe, 0xff, 0xff, //0x000029bf jmp LBB0_486 + //0x000029c4 LBB0_512 + 0x4c, 0x2b, 0x65, 0xc0, //0x000029c4 subq $-64(%rbp), %r12 + 0x49, 0x01, 0xd4, //0x000029c8 addq %rdx, %r12 + 0xe9, 0x3b, 0xfe, 0xff, 0xff, //0x000029cb jmp LBB0_484 + //0x000029d0 LBB0_417 + 0x4c, 0x01, 0xe7, //0x000029d0 addq %r12, %rdi + 0x49, 0xc7, 0xc4, 0xfe, 0xff, 0xff, 0xff, //0x000029d3 movq $-2, %r12 + 0x49, 0x89, 0xfb, //0x000029da movq %rdi, %r11 + 0xe9, 0x61, 0xfe, 0xff, 0xff, //0x000029dd jmp LBB0_506 + //0x000029e2 LBB0_513 + 0x49, 0x29, 0xc4, //0x000029e2 subq %rax, %r12 + 0xe9, 0x21, 0xfe, 0xff, 0xff, //0x000029e5 jmp LBB0_484 + //0x000029ea LBB0_514 + 0x4c, 0x2b, 0x65, 0xc0, //0x000029ea subq $-64(%rbp), %r12 + 0x49, 0x01, 0xd4, //0x000029ee addq %rdx, %r12 + 0xe9, 0x43, 0xfe, 0xff, 0xff, //0x000029f1 jmp LBB0_504 + //0x000029f6 LBB0_515 + 0x49, 0x29, 0xf4, //0x000029f6 subq %rsi, %r12 + 0xe9, 0x3b, 0xfe, 0xff, 0xff, //0x000029f9 jmp LBB0_504 + //0x000029fe LBB0_516 + 0x4c, 0x8b, 0x55, 0xd0, //0x000029fe movq $-48(%rbp), %r10 + 0xe9, 0xab, 0xfd, 0xff, 0xff, //0x00002a02 jmp LBB0_479 + 0x90, //0x00002a07 .p2align 2, 0x90 + // // .set L0_0_set_39, LBB0_39-LJTI0_0 + // // .set L0_0_set_63, LBB0_63-LJTI0_0 + // // .set L0_0_set_44, LBB0_44-LJTI0_0 + // // .set L0_0_set_61, LBB0_61-LJTI0_0 + // // .set L0_0_set_42, LBB0_42-LJTI0_0 + // // .set L0_0_set_65, LBB0_65-LJTI0_0 + //0x00002a08 LJTI0_0 + 0xc4, 0xda, 0xff, 0xff, //0x00002a08 .long L0_0_set_39 + 0x6c, 0xdc, 0xff, 0xff, //0x00002a0c .long L0_0_set_63 + 0xfb, 0xda, 0xff, 0xff, //0x00002a10 .long L0_0_set_44 + 0x55, 0xdc, 0xff, 0xff, //0x00002a14 .long L0_0_set_61 + 0xdb, 0xda, 0xff, 0xff, //0x00002a18 .long L0_0_set_42 + 0x97, 0xdc, 0xff, 0xff, //0x00002a1c .long L0_0_set_65 + // // .set L0_1_set_501, LBB0_501-LJTI0_1 + // // .set L0_1_set_500, LBB0_500-LJTI0_1 + // // .set L0_1_set_211, LBB0_211-LJTI0_1 + // // .set L0_1_set_227, LBB0_227-LJTI0_1 + // // .set L0_1_set_69, LBB0_69-LJTI0_1 + // // .set L0_1_set_209, LBB0_209-LJTI0_1 + // // .set L0_1_set_240, LBB0_240-LJTI0_1 + // // .set L0_1_set_231, LBB0_231-LJTI0_1 + // // .set L0_1_set_243, LBB0_243-LJTI0_1 + // // .set L0_1_set_238, LBB0_238-LJTI0_1 + //0x00002a20 LJTI0_1 + 0xb9, 0xfd, 0xff, 0xff, //0x00002a20 .long L0_1_set_501 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a24 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a28 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a2c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a30 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a34 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a38 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a3c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a40 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a44 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a48 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a4c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a50 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a54 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a58 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a5c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a60 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a64 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a68 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a6c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a70 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a74 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a78 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a7c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a80 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a84 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a88 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a8c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a90 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a94 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a98 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002a9c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aa0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aa4 .long L0_1_set_500 + 0x1e, 0xe7, 0xff, 0xff, //0x00002aa8 .long L0_1_set_211 + 0xb2, 0xfd, 0xff, 0xff, //0x00002aac .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ab0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ab4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ab8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002abc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ac0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ac4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ac8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002acc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ad0 .long L0_1_set_500 + 0x6d, 0xe8, 0xff, 0xff, //0x00002ad4 .long L0_1_set_227 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ad8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002adc .long L0_1_set_500 + 0xcb, 0xdc, 0xff, 0xff, //0x00002ae0 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002ae4 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002ae8 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002aec .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002af0 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002af4 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002af8 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002afc .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b00 .long L0_1_set_69 + 0xcb, 0xdc, 0xff, 0xff, //0x00002b04 .long L0_1_set_69 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b08 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b0c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b10 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b14 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b18 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b1c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b20 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b24 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b28 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b2c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b30 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b34 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b38 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b3c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b40 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b44 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b48 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b4c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b50 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b54 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b58 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b5c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b60 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b64 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b68 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b6c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b70 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b74 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b78 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b7c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b80 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b84 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b88 .long L0_1_set_500 + 0xfa, 0xe6, 0xff, 0xff, //0x00002b8c .long L0_1_set_209 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b90 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b94 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b98 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002b9c .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ba0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ba4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002ba8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bac .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bb0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bb4 .long L0_1_set_500 + 0xf8, 0xe8, 0xff, 0xff, //0x00002bb8 .long L0_1_set_240 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bbc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bc0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bc4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bc8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bcc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bd0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bd4 .long L0_1_set_500 + 0xad, 0xe8, 0xff, 0xff, //0x00002bd8 .long L0_1_set_231 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bdc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002be0 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002be4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002be8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bec .long L0_1_set_500 + 0x38, 0xe9, 0xff, 0xff, //0x00002bf0 .long L0_1_set_243 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bf4 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bf8 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002bfc .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c00 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c04 .long L0_1_set_500 + 0xb2, 0xfd, 0xff, 0xff, //0x00002c08 .long L0_1_set_500 + 0xd4, 0xe8, 0xff, 0xff, //0x00002c0c .long L0_1_set_238 + // // .set L0_2_set_311, LBB0_311-LJTI0_2 + // // .set L0_2_set_326, LBB0_326-LJTI0_2 + // // .set L0_2_set_318, LBB0_318-LJTI0_2 + // // .set L0_2_set_313, LBB0_313-LJTI0_2 + // // .set L0_2_set_316, LBB0_316-LJTI0_2 + //0x00002c10 LJTI0_2 + 0x77, 0xec, 0xff, 0xff, //0x00002c10 .long L0_2_set_311 + 0x54, 0xed, 0xff, 0xff, //0x00002c14 .long L0_2_set_326 + 0x77, 0xec, 0xff, 0xff, //0x00002c18 .long L0_2_set_311 + 0xdb, 0xec, 0xff, 0xff, //0x00002c1c .long L0_2_set_318 + 0x54, 0xed, 0xff, 0xff, //0x00002c20 .long L0_2_set_326 + 0x90, 0xec, 0xff, 0xff, //0x00002c24 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c28 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c2c .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c30 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c34 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c38 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c3c .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c40 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c44 .long L0_2_set_313 + 0x90, 0xec, 0xff, 0xff, //0x00002c48 .long L0_2_set_313 + 0x54, 0xed, 0xff, 0xff, //0x00002c4c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c50 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c54 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c58 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c5c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c60 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c64 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c68 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c6c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c70 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c74 .long L0_2_set_326 + 0xc0, 0xec, 0xff, 0xff, //0x00002c78 .long L0_2_set_316 + 0x54, 0xed, 0xff, 0xff, //0x00002c7c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c80 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c84 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c88 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c8c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c90 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c94 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c98 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002c9c .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ca0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ca4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ca8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cac .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cb0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cb4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cb8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cbc .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cc0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cc4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cc8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ccc .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cd0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cd4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cd8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cdc .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ce0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ce4 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002ce8 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cec .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cf0 .long L0_2_set_326 + 0x54, 0xed, 0xff, 0xff, //0x00002cf4 .long L0_2_set_326 + 0xc0, 0xec, 0xff, 0xff, //0x00002cf8 .long L0_2_set_316 + // // .set L0_3_set_171, LBB0_171-LJTI0_3 + // // .set L0_3_set_187, LBB0_187-LJTI0_3 + // // .set L0_3_set_178, LBB0_178-LJTI0_3 + // // .set L0_3_set_173, LBB0_173-LJTI0_3 + // // .set L0_3_set_176, LBB0_176-LJTI0_3 + //0x00002cfc LJTI0_3 + 0x56, 0xdd, 0xff, 0xff, //0x00002cfc .long L0_3_set_171 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d00 .long L0_3_set_187 + 0x56, 0xdd, 0xff, 0xff, //0x00002d04 .long L0_3_set_171 + 0xbf, 0xdd, 0xff, 0xff, //0x00002d08 .long L0_3_set_178 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d0c .long L0_3_set_187 + 0x74, 0xdd, 0xff, 0xff, //0x00002d10 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d14 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d18 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d1c .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d20 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d24 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d28 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d2c .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d30 .long L0_3_set_173 + 0x74, 0xdd, 0xff, 0xff, //0x00002d34 .long L0_3_set_173 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d38 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d3c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d40 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d44 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d48 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d4c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d50 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d54 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d58 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d5c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d60 .long L0_3_set_187 + 0xa4, 0xdd, 0xff, 0xff, //0x00002d64 .long L0_3_set_176 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d68 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d6c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d70 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d74 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d78 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d7c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d80 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d84 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d88 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d8c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d90 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d94 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d98 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002d9c .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002da0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002da4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002da8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dac .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002db0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002db4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002db8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dbc .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dc0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dc4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dc8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dcc .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dd0 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dd4 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002dd8 .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002ddc .long L0_3_set_187 + 0xb1, 0xe2, 0xff, 0xff, //0x00002de0 .long L0_3_set_187 + 0xa4, 0xdd, 0xff, 0xff, //0x00002de4 .long L0_3_set_176 + //0x00002de8 .p2align 2, 0x00 + //0x00002de8 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00002de8 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8.go new file mode 100644 index 0000000..e006f66 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8.go @@ -0,0 +1,39 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_validate_utf8 func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int) + +var S_validate_utf8 uintptr + +//go:nosplit +func validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) { + return F_validate_utf8(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m))) +} + + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_fast.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_fast.go new file mode 100644 index 0000000..efa79e4 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_fast.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_validate_utf8_fast func(s unsafe.Pointer) (ret int) + +var S_validate_utf8_fast uintptr + +//go:nosplit +func validate_utf8_fast(s *string) (ret int) { + return F_validate_utf8_fast(rt.NoEscape(unsafe.Pointer(s))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_fast_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_fast_subr.go new file mode 100644 index 0000000..93070e4 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_fast_subr.go @@ -0,0 +1,40 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__validate_utf8_fast = 272 +) + +const ( + _stack__validate_utf8_fast = 176 +) + +const ( + _size__validate_utf8_fast = 2600 +) + +var ( + _pcsp__validate_utf8_fast = [][2]uint32{ + {1, 0}, + {4, 8}, + {5, 16}, + {1738, 176}, + {1739, 168}, + {1743, 160}, + {2018, 176}, + {2019, 168}, + {2023, 160}, + {2600, 176}, + } +) + +var _cfunc_validate_utf8_fast = []loader.CFunc{ + {"_validate_utf8_fast_entry", 0, _entry__validate_utf8_fast, 0, nil}, + {"_validate_utf8_fast", _entry__validate_utf8_fast, _size__validate_utf8_fast, _stack__validate_utf8_fast, _pcsp__validate_utf8_fast}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_fast_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_fast_text_amd64.go new file mode 100644 index 0000000..8aefd78 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_fast_text_amd64.go @@ -0,0 +1,739 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_validate_utf8_fast = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, // QUAD $0x0f0f0f0f0f0f0f0f; QUAD $0x0f0f0f0f0f0f0f0f // .space 16, '\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f' + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000010 QUAD $0x0f0f0f0f0f0f0f0f; QUAD $0x0f0f0f0f0f0f0f0f // .space 16, '\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f' + //0x00000020 LCPI0_1 + 0x02, //0x00000020 .byte 2 + 0x02, //0x00000021 .byte 2 + 0x02, //0x00000022 .byte 2 + 0x02, //0x00000023 .byte 2 + 0x02, //0x00000024 .byte 2 + 0x02, //0x00000025 .byte 2 + 0x02, //0x00000026 .byte 2 + 0x02, //0x00000027 .byte 2 + 0x80, //0x00000028 .byte 128 + 0x80, //0x00000029 .byte 128 + 0x80, //0x0000002a .byte 128 + 0x80, //0x0000002b .byte 128 + 0x21, //0x0000002c .byte 33 + 0x01, //0x0000002d .byte 1 + 0x15, //0x0000002e .byte 21 + 0x49, //0x0000002f .byte 73 + 0x02, //0x00000030 .byte 2 + 0x02, //0x00000031 .byte 2 + 0x02, //0x00000032 .byte 2 + 0x02, //0x00000033 .byte 2 + 0x02, //0x00000034 .byte 2 + 0x02, //0x00000035 .byte 2 + 0x02, //0x00000036 .byte 2 + 0x02, //0x00000037 .byte 2 + 0x80, //0x00000038 .byte 128 + 0x80, //0x00000039 .byte 128 + 0x80, //0x0000003a .byte 128 + 0x80, //0x0000003b .byte 128 + 0x21, //0x0000003c .byte 33 + 0x01, //0x0000003d .byte 1 + 0x15, //0x0000003e .byte 21 + 0x49, //0x0000003f .byte 73 + //0x00000040 LCPI0_2 + 0xe7, //0x00000040 .byte 231 + 0xa3, //0x00000041 .byte 163 + 0x83, //0x00000042 .byte 131 + 0x83, //0x00000043 .byte 131 + 0x8b, //0x00000044 .byte 139 + 0xcb, //0x00000045 .byte 203 + 0xcb, //0x00000046 .byte 203 + 0xcb, //0x00000047 .byte 203 + 0xcb, //0x00000048 .byte 203 + 0xcb, //0x00000049 .byte 203 + 0xcb, //0x0000004a .byte 203 + 0xcb, //0x0000004b .byte 203 + 0xcb, //0x0000004c .byte 203 + 0xdb, //0x0000004d .byte 219 + 0xcb, //0x0000004e .byte 203 + 0xcb, //0x0000004f .byte 203 + 0xe7, //0x00000050 .byte 231 + 0xa3, //0x00000051 .byte 163 + 0x83, //0x00000052 .byte 131 + 0x83, //0x00000053 .byte 131 + 0x8b, //0x00000054 .byte 139 + 0xcb, //0x00000055 .byte 203 + 0xcb, //0x00000056 .byte 203 + 0xcb, //0x00000057 .byte 203 + 0xcb, //0x00000058 .byte 203 + 0xcb, //0x00000059 .byte 203 + 0xcb, //0x0000005a .byte 203 + 0xcb, //0x0000005b .byte 203 + 0xcb, //0x0000005c .byte 203 + 0xdb, //0x0000005d .byte 219 + 0xcb, //0x0000005e .byte 203 + 0xcb, //0x0000005f .byte 203 + //0x00000060 LCPI0_3 + 0x01, //0x00000060 .byte 1 + 0x01, //0x00000061 .byte 1 + 0x01, //0x00000062 .byte 1 + 0x01, //0x00000063 .byte 1 + 0x01, //0x00000064 .byte 1 + 0x01, //0x00000065 .byte 1 + 0x01, //0x00000066 .byte 1 + 0x01, //0x00000067 .byte 1 + 0xe6, //0x00000068 .byte 230 + 0xae, //0x00000069 .byte 174 + 0xba, //0x0000006a .byte 186 + 0xba, //0x0000006b .byte 186 + 0x01, //0x0000006c .byte 1 + 0x01, //0x0000006d .byte 1 + 0x01, //0x0000006e .byte 1 + 0x01, //0x0000006f .byte 1 + 0x01, //0x00000070 .byte 1 + 0x01, //0x00000071 .byte 1 + 0x01, //0x00000072 .byte 1 + 0x01, //0x00000073 .byte 1 + 0x01, //0x00000074 .byte 1 + 0x01, //0x00000075 .byte 1 + 0x01, //0x00000076 .byte 1 + 0x01, //0x00000077 .byte 1 + 0xe6, //0x00000078 .byte 230 + 0xae, //0x00000079 .byte 174 + 0xba, //0x0000007a .byte 186 + 0xba, //0x0000007b .byte 186 + 0x01, //0x0000007c .byte 1 + 0x01, //0x0000007d .byte 1 + 0x01, //0x0000007e .byte 1 + 0x01, //0x0000007f .byte 1 + //0x00000080 LCPI0_4 + 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, //0x00000080 QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' + 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, //0x00000090 QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' + //0x000000a0 LCPI0_5 + 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, //0x000000a0 QUAD $0xefefefefefefefef; QUAD $0xefefefefefefefef // .space 16, '\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef' + 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, //0x000000b0 QUAD $0xefefefefefefefef; QUAD $0xefefefefefefefef // .space 16, '\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef\xef' + //0x000000c0 LCPI0_7 + 0xff, //0x000000c0 .byte 255 + 0xff, //0x000000c1 .byte 255 + 0xff, //0x000000c2 .byte 255 + 0xff, //0x000000c3 .byte 255 + 0xff, //0x000000c4 .byte 255 + 0xff, //0x000000c5 .byte 255 + 0xff, //0x000000c6 .byte 255 + 0xff, //0x000000c7 .byte 255 + 0xff, //0x000000c8 .byte 255 + 0xff, //0x000000c9 .byte 255 + 0xff, //0x000000ca .byte 255 + 0xff, //0x000000cb .byte 255 + 0xff, //0x000000cc .byte 255 + 0xff, //0x000000cd .byte 255 + 0xff, //0x000000ce .byte 255 + 0xff, //0x000000cf .byte 255 + 0xff, //0x000000d0 .byte 255 + 0xff, //0x000000d1 .byte 255 + 0xff, //0x000000d2 .byte 255 + 0xff, //0x000000d3 .byte 255 + 0xff, //0x000000d4 .byte 255 + 0xff, //0x000000d5 .byte 255 + 0xff, //0x000000d6 .byte 255 + 0xff, //0x000000d7 .byte 255 + 0xff, //0x000000d8 .byte 255 + 0xff, //0x000000d9 .byte 255 + 0xff, //0x000000da .byte 255 + 0xff, //0x000000db .byte 255 + 0xff, //0x000000dc .byte 255 + 0xef, //0x000000dd .byte 239 + 0xdf, //0x000000de .byte 223 + 0xbf, //0x000000df .byte 191 + //0x000000e0 LCPI0_8 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000000e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000000f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x00000100 .p2align 3, 0x00 + //0x00000100 LCPI0_6 + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, //0x00000100 .quad -9187201950435737472 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000108 .p2align 4, 0x90 + //0x00000110 _validate_utf8_fast + 0x55, //0x00000110 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000111 movq %rsp, %rbp + 0x53, //0x00000114 pushq %rbx + 0x48, 0x81, 0xec, 0xa0, 0x00, 0x00, 0x00, //0x00000115 subq $160, %rsp + 0x48, 0x8b, 0x47, 0x08, //0x0000011c movq $8(%rdi), %rax + 0x48, 0x85, 0xc0, //0x00000120 testq %rax, %rax + 0x0f, 0x84, 0xc3, 0x07, 0x00, 0x00, //0x00000123 je LBB0_12 + 0x4c, 0x8b, 0x07, //0x00000129 movq (%rdi), %r8 + 0x4d, 0x8d, 0x0c, 0x00, //0x0000012c leaq (%r8,%rax), %r9 + 0x49, 0x8d, 0x79, 0x80, //0x00000130 leaq $-128(%r9), %rdi + 0xc5, 0xf1, 0xef, 0xc9, //0x00000134 vpxor %xmm1, %xmm1, %xmm1 + 0xc5, 0xe9, 0xef, 0xd2, //0x00000138 vpxor %xmm2, %xmm2, %xmm2 + 0xc5, 0xf9, 0xef, 0xc0, //0x0000013c vpxor %xmm0, %xmm0, %xmm0 + 0x4c, 0x89, 0xc2, //0x00000140 movq %r8, %rdx + 0x4c, 0x39, 0xc7, //0x00000143 cmpq %r8, %rdi + 0x0f, 0x86, 0x70, 0x03, 0x00, 0x00, //0x00000146 jbe LBB0_14 + 0x48, 0x8d, 0x50, 0xff, //0x0000014c leaq $-1(%rax), %rdx + 0xc5, 0xfe, 0x6f, 0x25, 0xa8, 0xfe, 0xff, 0xff, //0x00000150 vmovdqu $-344(%rip), %ymm4 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xe0, 0xfe, 0xff, 0xff, //0x00000158 vmovdqu $-288(%rip), %ymm6 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0xf8, 0xfe, 0xff, 0xff, //0x00000160 vmovdqu $-264(%rip), %ymm7 /* LCPI0_3+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0x10, 0xff, 0xff, 0xff, //0x00000168 vmovdqu $-240(%rip), %ymm8 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x0d, 0x28, 0xff, 0xff, 0xff, //0x00000170 vmovdqu $-216(%rip), %ymm9 /* LCPI0_5+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x15, 0x40, 0xff, 0xff, 0xff, //0x00000178 vmovdqu $-192(%rip), %ymm10 /* LCPI0_7+0(%rip) */ + 0x4c, 0x89, 0xc1, //0x00000180 movq %r8, %rcx + 0xc5, 0xf9, 0xef, 0xc0, //0x00000183 vpxor %xmm0, %xmm0, %xmm0 + 0xc5, 0xe9, 0xef, 0xd2, //0x00000187 vpxor %xmm2, %xmm2, %xmm2 + 0xc5, 0xf1, 0xef, 0xc9, //0x0000018b vpxor %xmm1, %xmm1, %xmm1 + 0x90, //0x0000018f .p2align 4, 0x90 + //0x00000190 LBB0_3 + 0xc5, 0x7e, 0x6f, 0x39, //0x00000190 vmovdqu (%rcx), %ymm15 + 0xc5, 0x7e, 0x6f, 0x69, 0x20, //0x00000194 vmovdqu $32(%rcx), %ymm13 + 0xc5, 0x7e, 0x6f, 0x61, 0x40, //0x00000199 vmovdqu $64(%rcx), %ymm12 + 0xc5, 0x7e, 0x6f, 0x59, 0x60, //0x0000019e vmovdqu $96(%rcx), %ymm11 + 0xc4, 0xc1, 0x15, 0xeb, 0xdf, //0x000001a3 vpor %ymm15, %ymm13, %ymm3 + 0xc4, 0x41, 0x25, 0xeb, 0xf4, //0x000001a8 vpor %ymm12, %ymm11, %ymm14 + 0xc5, 0x8d, 0xeb, 0xeb, //0x000001ad vpor %ymm3, %ymm14, %ymm5 + 0xc5, 0xfd, 0xd7, 0xf5, //0x000001b1 vpmovmskb %ymm5, %esi + 0x85, 0xf6, //0x000001b5 testl %esi, %esi + 0x0f, 0x85, 0x16, 0x00, 0x00, 0x00, //0x000001b7 jne LBB0_6 + 0xc5, 0xf5, 0xeb, 0xc0, //0x000001bd vpor %ymm0, %ymm1, %ymm0 + //0x000001c1 LBB0_5 + 0x48, 0x83, 0xe9, 0x80, //0x000001c1 subq $-128, %rcx + 0x48, 0x39, 0xf9, //0x000001c5 cmpq %rdi, %rcx + 0x0f, 0x82, 0xc2, 0xff, 0xff, 0xff, //0x000001c8 jb LBB0_3 + 0xe9, 0xe2, 0x02, 0x00, 0x00, //0x000001ce jmp LBB0_13 + //0x000001d3 LBB0_6 + 0xc5, 0xfd, 0xd7, 0xf3, //0x000001d3 vpmovmskb %ymm3, %esi + 0x85, 0xf6, //0x000001d7 testl %esi, %esi + 0x0f, 0x85, 0xf0, 0x00, 0x00, 0x00, //0x000001d9 jne LBB0_9 + 0xc5, 0xf5, 0xeb, 0xc0, //0x000001df vpor %ymm0, %ymm1, %ymm0 + 0xc4, 0xc3, 0x6d, 0x46, 0xcc, 0x21, //0x000001e3 vperm2i128 $33, %ymm12, %ymm2, %ymm1 + 0xc4, 0xe3, 0x1d, 0x0f, 0xd1, 0x0f, //0x000001e9 vpalignr $15, %ymm1, %ymm12, %ymm2 + 0xc5, 0xe5, 0x71, 0xd2, 0x04, //0x000001ef vpsrlw $4, %ymm2, %ymm3 + 0xc5, 0xe5, 0xdb, 0xdc, //0x000001f4 vpand %ymm4, %ymm3, %ymm3 + 0xc5, 0x7e, 0x6f, 0x35, 0x20, 0xfe, 0xff, 0xff, //0x000001f8 vmovdqu $-480(%rip), %ymm14 /* LCPI0_1+0(%rip) */ + 0xc4, 0xe2, 0x0d, 0x00, 0xdb, //0x00000200 vpshufb %ymm3, %ymm14, %ymm3 + 0xc5, 0xed, 0xdb, 0xd4, //0x00000205 vpand %ymm4, %ymm2, %ymm2 + 0xc4, 0xe2, 0x4d, 0x00, 0xd2, //0x00000209 vpshufb %ymm2, %ymm6, %ymm2 + 0xc4, 0xc1, 0x55, 0x71, 0xd4, 0x04, //0x0000020e vpsrlw $4, %ymm12, %ymm5 + 0xc5, 0xd5, 0xdb, 0xec, //0x00000214 vpand %ymm4, %ymm5, %ymm5 + 0xc4, 0xe2, 0x45, 0x00, 0xed, //0x00000218 vpshufb %ymm5, %ymm7, %ymm5 + 0xc5, 0xed, 0xdb, 0xd5, //0x0000021d vpand %ymm5, %ymm2, %ymm2 + 0xc5, 0xe5, 0xdb, 0xd2, //0x00000221 vpand %ymm2, %ymm3, %ymm2 + 0xc4, 0xe3, 0x1d, 0x0f, 0xd9, 0x0e, //0x00000225 vpalignr $14, %ymm1, %ymm12, %ymm3 + 0xc4, 0xe3, 0x1d, 0x0f, 0xc9, 0x0d, //0x0000022b vpalignr $13, %ymm1, %ymm12, %ymm1 + 0xc4, 0xc1, 0x65, 0xd8, 0xd8, //0x00000231 vpsubusb %ymm8, %ymm3, %ymm3 + 0xc4, 0xc1, 0x75, 0xd8, 0xc9, //0x00000236 vpsubusb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xeb, 0xcb, //0x0000023b vpor %ymm3, %ymm1, %ymm1 + 0xc4, 0x41, 0x11, 0xef, 0xed, //0x0000023f vpxor %xmm13, %xmm13, %xmm13 + 0xc5, 0x95, 0x74, 0xc9, //0x00000244 vpcmpeqb %ymm1, %ymm13, %ymm1 + 0xc4, 0xe2, 0x7d, 0x59, 0x1d, 0xaf, 0xfe, 0xff, 0xff, //0x00000248 vpbroadcastq $-337(%rip), %ymm3 /* LCPI0_6+0(%rip) */ + 0xc5, 0xf5, 0xdf, 0xcb, //0x00000251 vpandn %ymm3, %ymm1, %ymm1 + 0xc5, 0xf5, 0xef, 0xca, //0x00000255 vpxor %ymm2, %ymm1, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc1, //0x00000259 vpor %ymm1, %ymm0, %ymm0 + 0xc4, 0xc3, 0x1d, 0x46, 0xcb, 0x21, //0x0000025d vperm2i128 $33, %ymm11, %ymm12, %ymm1 + 0xc4, 0xe3, 0x25, 0x0f, 0xd1, 0x0f, //0x00000263 vpalignr $15, %ymm1, %ymm11, %ymm2 + 0xc5, 0xd5, 0x71, 0xd2, 0x04, //0x00000269 vpsrlw $4, %ymm2, %ymm5 + 0xc5, 0xd5, 0xdb, 0xec, //0x0000026e vpand %ymm4, %ymm5, %ymm5 + 0xc4, 0xe2, 0x0d, 0x00, 0xed, //0x00000272 vpshufb %ymm5, %ymm14, %ymm5 + 0xc5, 0xed, 0xdb, 0xd4, //0x00000277 vpand %ymm4, %ymm2, %ymm2 + 0xc4, 0xe2, 0x4d, 0x00, 0xd2, //0x0000027b vpshufb %ymm2, %ymm6, %ymm2 + 0xc4, 0xc1, 0x1d, 0x71, 0xd3, 0x04, //0x00000280 vpsrlw $4, %ymm11, %ymm12 + 0xc5, 0x1d, 0xdb, 0xe4, //0x00000286 vpand %ymm4, %ymm12, %ymm12 + 0xc4, 0x42, 0x45, 0x00, 0xe4, //0x0000028a vpshufb %ymm12, %ymm7, %ymm12 + 0xc5, 0x9d, 0xdb, 0xd2, //0x0000028f vpand %ymm2, %ymm12, %ymm2 + 0xc5, 0xd5, 0xdb, 0xd2, //0x00000293 vpand %ymm2, %ymm5, %ymm2 + 0xc4, 0xe3, 0x25, 0x0f, 0xe9, 0x0e, //0x00000297 vpalignr $14, %ymm1, %ymm11, %ymm5 + 0xc4, 0xe3, 0x25, 0x0f, 0xc9, 0x0d, //0x0000029d vpalignr $13, %ymm1, %ymm11, %ymm1 + 0xc4, 0xc1, 0x55, 0xd8, 0xe8, //0x000002a3 vpsubusb %ymm8, %ymm5, %ymm5 + 0xc4, 0xc1, 0x75, 0xd8, 0xc9, //0x000002a8 vpsubusb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xeb, 0xcd, //0x000002ad vpor %ymm5, %ymm1, %ymm1 + 0xc5, 0x95, 0x74, 0xc9, //0x000002b1 vpcmpeqb %ymm1, %ymm13, %ymm1 + 0xc5, 0xf5, 0xdf, 0xcb, //0x000002b5 vpandn %ymm3, %ymm1, %ymm1 + 0xc5, 0xf5, 0xef, 0xca, //0x000002b9 vpxor %ymm2, %ymm1, %ymm1 + //0x000002bd LBB0_8 + 0xc5, 0xfd, 0xeb, 0xc1, //0x000002bd vpor %ymm1, %ymm0, %ymm0 + 0xc4, 0xc1, 0x25, 0xd8, 0xca, //0x000002c1 vpsubusb %ymm10, %ymm11, %ymm1 + 0xc5, 0x7d, 0x7f, 0xda, //0x000002c6 vmovdqa %ymm11, %ymm2 + 0xe9, 0xf2, 0xfe, 0xff, 0xff, //0x000002ca jmp LBB0_5 + //0x000002cf LBB0_9 + 0xc4, 0xc3, 0x6d, 0x46, 0xcf, 0x21, //0x000002cf vperm2i128 $33, %ymm15, %ymm2, %ymm1 + 0xc4, 0xe3, 0x05, 0x0f, 0xd1, 0x0f, //0x000002d5 vpalignr $15, %ymm1, %ymm15, %ymm2 + 0xc5, 0xe5, 0x71, 0xd2, 0x04, //0x000002db vpsrlw $4, %ymm2, %ymm3 + 0xc5, 0xe5, 0xdb, 0xdc, //0x000002e0 vpand %ymm4, %ymm3, %ymm3 + 0xc5, 0xfe, 0x6f, 0x2d, 0x34, 0xfd, 0xff, 0xff, //0x000002e4 vmovdqu $-716(%rip), %ymm5 /* LCPI0_1+0(%rip) */ + 0xc4, 0xe2, 0x55, 0x00, 0xdb, //0x000002ec vpshufb %ymm3, %ymm5, %ymm3 + 0xc5, 0xed, 0xdb, 0xd4, //0x000002f1 vpand %ymm4, %ymm2, %ymm2 + 0xc4, 0xe2, 0x4d, 0x00, 0xd2, //0x000002f5 vpshufb %ymm2, %ymm6, %ymm2 + 0xc4, 0xc1, 0x55, 0x71, 0xd7, 0x04, //0x000002fa vpsrlw $4, %ymm15, %ymm5 + 0xc5, 0xd5, 0xdb, 0xec, //0x00000300 vpand %ymm4, %ymm5, %ymm5 + 0xc4, 0xe2, 0x45, 0x00, 0xed, //0x00000304 vpshufb %ymm5, %ymm7, %ymm5 + 0xc5, 0xed, 0xdb, 0xd5, //0x00000309 vpand %ymm5, %ymm2, %ymm2 + 0xc5, 0xe5, 0xdb, 0xd2, //0x0000030d vpand %ymm2, %ymm3, %ymm2 + 0xc4, 0xe3, 0x05, 0x0f, 0xd9, 0x0e, //0x00000311 vpalignr $14, %ymm1, %ymm15, %ymm3 + 0xc4, 0xe3, 0x05, 0x0f, 0xc9, 0x0d, //0x00000317 vpalignr $13, %ymm1, %ymm15, %ymm1 + 0xc4, 0xc1, 0x65, 0xd8, 0xd8, //0x0000031d vpsubusb %ymm8, %ymm3, %ymm3 + 0xc4, 0xc1, 0x75, 0xd8, 0xc9, //0x00000322 vpsubusb %ymm9, %ymm1, %ymm1 + 0xc5, 0xf5, 0xeb, 0xcb, //0x00000327 vpor %ymm3, %ymm1, %ymm1 + 0xc5, 0xe1, 0xef, 0xdb, //0x0000032b vpxor %xmm3, %xmm3, %xmm3 + 0xc5, 0xf5, 0x74, 0xdb, //0x0000032f vpcmpeqb %ymm3, %ymm1, %ymm3 + 0xc4, 0xe2, 0x7d, 0x59, 0x0d, 0xc4, 0xfd, 0xff, 0xff, //0x00000333 vpbroadcastq $-572(%rip), %ymm1 /* LCPI0_6+0(%rip) */ + 0xc5, 0xe5, 0xdf, 0xd9, //0x0000033c vpandn %ymm1, %ymm3, %ymm3 + 0xc5, 0xe5, 0xef, 0xd2, //0x00000340 vpxor %ymm2, %ymm3, %ymm2 + 0xc5, 0xfe, 0x7f, 0x54, 0x24, 0x60, //0x00000344 vmovdqu %ymm2, $96(%rsp) + 0xc4, 0xc3, 0x05, 0x46, 0xdd, 0x21, //0x0000034a vperm2i128 $33, %ymm13, %ymm15, %ymm3 + 0xc4, 0xe3, 0x15, 0x0f, 0xeb, 0x0f, //0x00000350 vpalignr $15, %ymm3, %ymm13, %ymm5 + 0xc5, 0x85, 0x71, 0xd5, 0x04, //0x00000356 vpsrlw $4, %ymm5, %ymm15 + 0xc5, 0x05, 0xdb, 0xfc, //0x0000035b vpand %ymm4, %ymm15, %ymm15 + 0xc5, 0xfe, 0x6f, 0x15, 0xb9, 0xfc, 0xff, 0xff, //0x0000035f vmovdqu $-839(%rip), %ymm2 /* LCPI0_1+0(%rip) */ + 0xc4, 0x42, 0x6d, 0x00, 0xff, //0x00000367 vpshufb %ymm15, %ymm2, %ymm15 + 0xc5, 0xd5, 0xdb, 0xec, //0x0000036c vpand %ymm4, %ymm5, %ymm5 + 0xc4, 0xe2, 0x4d, 0x00, 0xed, //0x00000370 vpshufb %ymm5, %ymm6, %ymm5 + 0xc4, 0xc1, 0x6d, 0x71, 0xd5, 0x04, //0x00000375 vpsrlw $4, %ymm13, %ymm2 + 0xc5, 0xed, 0xdb, 0xd4, //0x0000037b vpand %ymm4, %ymm2, %ymm2 + 0xc4, 0xe2, 0x45, 0x00, 0xd2, //0x0000037f vpshufb %ymm2, %ymm7, %ymm2 + 0xc5, 0xd5, 0xdb, 0xd2, //0x00000384 vpand %ymm2, %ymm5, %ymm2 + 0xc5, 0x85, 0xdb, 0xd2, //0x00000388 vpand %ymm2, %ymm15, %ymm2 + 0xc4, 0xe3, 0x15, 0x0f, 0xeb, 0x0e, //0x0000038c vpalignr $14, %ymm3, %ymm13, %ymm5 + 0xc4, 0xe3, 0x15, 0x0f, 0xdb, 0x0d, //0x00000392 vpalignr $13, %ymm3, %ymm13, %ymm3 + 0xc4, 0xc1, 0x55, 0xd8, 0xe8, //0x00000398 vpsubusb %ymm8, %ymm5, %ymm5 + 0xc4, 0xc1, 0x65, 0xd8, 0xd9, //0x0000039d vpsubusb %ymm9, %ymm3, %ymm3 + 0xc5, 0xe5, 0xeb, 0xdd, //0x000003a2 vpor %ymm5, %ymm3, %ymm3 + 0xc5, 0xe5, 0x74, 0x1d, 0x32, 0xfd, 0xff, 0xff, //0x000003a6 vpcmpeqb $-718(%rip), %ymm3, %ymm3 /* LCPI0_8+0(%rip) */ + 0xc5, 0xe5, 0xdf, 0xd9, //0x000003ae vpandn %ymm1, %ymm3, %ymm3 + 0xc5, 0xe5, 0xef, 0xd2, //0x000003b2 vpxor %ymm2, %ymm3, %ymm2 + 0xc5, 0xfd, 0xeb, 0x44, 0x24, 0x60, //0x000003b6 vpor $96(%rsp), %ymm0, %ymm0 + 0xc5, 0xfd, 0xeb, 0xc2, //0x000003bc vpor %ymm2, %ymm0, %ymm0 + 0xc4, 0xc1, 0x7d, 0xd7, 0xf6, //0x000003c0 vpmovmskb %ymm14, %esi + 0x85, 0xf6, //0x000003c5 testl %esi, %esi + 0x0f, 0x84, 0xd6, 0x00, 0x00, 0x00, //0x000003c7 je LBB0_11 + 0xc4, 0xc3, 0x15, 0x46, 0xd4, 0x21, //0x000003cd vperm2i128 $33, %ymm12, %ymm13, %ymm2 + 0xc4, 0xe3, 0x1d, 0x0f, 0xda, 0x0f, //0x000003d3 vpalignr $15, %ymm2, %ymm12, %ymm3 + 0xc5, 0xd5, 0x71, 0xd3, 0x04, //0x000003d9 vpsrlw $4, %ymm3, %ymm5 + 0xc5, 0xd5, 0xdb, 0xec, //0x000003de vpand %ymm4, %ymm5, %ymm5 + 0xc5, 0x7e, 0x6f, 0x3d, 0x36, 0xfc, 0xff, 0xff, //0x000003e2 vmovdqu $-970(%rip), %ymm15 /* LCPI0_1+0(%rip) */ + 0xc4, 0xe2, 0x05, 0x00, 0xed, //0x000003ea vpshufb %ymm5, %ymm15, %ymm5 + 0xc5, 0xe5, 0xdb, 0xdc, //0x000003ef vpand %ymm4, %ymm3, %ymm3 + 0xc4, 0xe2, 0x4d, 0x00, 0xdb, //0x000003f3 vpshufb %ymm3, %ymm6, %ymm3 + 0xc4, 0xc1, 0x15, 0x71, 0xd4, 0x04, //0x000003f8 vpsrlw $4, %ymm12, %ymm13 + 0xc5, 0x15, 0xdb, 0xec, //0x000003fe vpand %ymm4, %ymm13, %ymm13 + 0xc4, 0x42, 0x45, 0x00, 0xed, //0x00000402 vpshufb %ymm13, %ymm7, %ymm13 + 0xc5, 0x95, 0xdb, 0xdb, //0x00000407 vpand %ymm3, %ymm13, %ymm3 + 0xc5, 0xd5, 0xdb, 0xdb, //0x0000040b vpand %ymm3, %ymm5, %ymm3 + 0xc4, 0xe3, 0x1d, 0x0f, 0xea, 0x0e, //0x0000040f vpalignr $14, %ymm2, %ymm12, %ymm5 + 0xc4, 0xe3, 0x1d, 0x0f, 0xd2, 0x0d, //0x00000415 vpalignr $13, %ymm2, %ymm12, %ymm2 + 0xc4, 0xc1, 0x55, 0xd8, 0xe8, //0x0000041b vpsubusb %ymm8, %ymm5, %ymm5 + 0xc4, 0xc1, 0x6d, 0xd8, 0xd1, //0x00000420 vpsubusb %ymm9, %ymm2, %ymm2 + 0xc5, 0xed, 0xeb, 0xd5, //0x00000425 vpor %ymm5, %ymm2, %ymm2 + 0xc4, 0x41, 0x09, 0xef, 0xf6, //0x00000429 vpxor %xmm14, %xmm14, %xmm14 + 0xc5, 0x8d, 0x74, 0xd2, //0x0000042e vpcmpeqb %ymm2, %ymm14, %ymm2 + 0xc5, 0xed, 0xdf, 0xd1, //0x00000432 vpandn %ymm1, %ymm2, %ymm2 + 0xc5, 0xed, 0xef, 0xd3, //0x00000436 vpxor %ymm3, %ymm2, %ymm2 + 0xc4, 0xc3, 0x1d, 0x46, 0xdb, 0x21, //0x0000043a vperm2i128 $33, %ymm11, %ymm12, %ymm3 + 0xc4, 0xe3, 0x25, 0x0f, 0xeb, 0x0f, //0x00000440 vpalignr $15, %ymm3, %ymm11, %ymm5 + 0xc5, 0x9d, 0x71, 0xd5, 0x04, //0x00000446 vpsrlw $4, %ymm5, %ymm12 + 0xc5, 0x1d, 0xdb, 0xe4, //0x0000044b vpand %ymm4, %ymm12, %ymm12 + 0xc4, 0x42, 0x05, 0x00, 0xe4, //0x0000044f vpshufb %ymm12, %ymm15, %ymm12 + 0xc5, 0xd5, 0xdb, 0xec, //0x00000454 vpand %ymm4, %ymm5, %ymm5 + 0xc4, 0xe2, 0x4d, 0x00, 0xed, //0x00000458 vpshufb %ymm5, %ymm6, %ymm5 + 0xc4, 0xc1, 0x15, 0x71, 0xd3, 0x04, //0x0000045d vpsrlw $4, %ymm11, %ymm13 + 0xc5, 0x15, 0xdb, 0xec, //0x00000463 vpand %ymm4, %ymm13, %ymm13 + 0xc4, 0x42, 0x45, 0x00, 0xed, //0x00000467 vpshufb %ymm13, %ymm7, %ymm13 + 0xc5, 0x95, 0xdb, 0xed, //0x0000046c vpand %ymm5, %ymm13, %ymm5 + 0xc5, 0x9d, 0xdb, 0xed, //0x00000470 vpand %ymm5, %ymm12, %ymm5 + 0xc4, 0x63, 0x25, 0x0f, 0xe3, 0x0e, //0x00000474 vpalignr $14, %ymm3, %ymm11, %ymm12 + 0xc4, 0xe3, 0x25, 0x0f, 0xdb, 0x0d, //0x0000047a vpalignr $13, %ymm3, %ymm11, %ymm3 + 0xc4, 0x41, 0x1d, 0xd8, 0xe0, //0x00000480 vpsubusb %ymm8, %ymm12, %ymm12 + 0xc4, 0xc1, 0x65, 0xd8, 0xd9, //0x00000485 vpsubusb %ymm9, %ymm3, %ymm3 + 0xc5, 0x9d, 0xeb, 0xdb, //0x0000048a vpor %ymm3, %ymm12, %ymm3 + 0xc5, 0x8d, 0x74, 0xdb, //0x0000048e vpcmpeqb %ymm3, %ymm14, %ymm3 + 0xc5, 0xe5, 0xdf, 0xc9, //0x00000492 vpandn %ymm1, %ymm3, %ymm1 + 0xc5, 0xf5, 0xef, 0xcd, //0x00000496 vpxor %ymm5, %ymm1, %ymm1 + 0xc5, 0xed, 0xeb, 0xc0, //0x0000049a vpor %ymm0, %ymm2, %ymm0 + 0xe9, 0x1a, 0xfe, 0xff, 0xff, //0x0000049e jmp LBB0_8 + //0x000004a3 LBB0_11 + 0xc4, 0xc1, 0x15, 0xd8, 0xca, //0x000004a3 vpsubusb %ymm10, %ymm13, %ymm1 + 0xc5, 0xfd, 0xeb, 0xc1, //0x000004a8 vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0x7f, 0xea, //0x000004ac vmovdqa %ymm13, %ymm2 + 0xe9, 0x0c, 0xfd, 0xff, 0xff, //0x000004b0 jmp LBB0_5 + //0x000004b5 LBB0_13 + 0x48, 0x83, 0xe2, 0x80, //0x000004b5 andq $-128, %rdx + 0x4c, 0x01, 0xc2, //0x000004b9 addq %r8, %rdx + //0x000004bc LBB0_14 + 0x49, 0x8d, 0x49, 0xc0, //0x000004bc leaq $-64(%r9), %rcx + 0x48, 0x39, 0xca, //0x000004c0 cmpq %rcx, %rdx + 0x0f, 0x83, 0x79, 0x01, 0x00, 0x00, //0x000004c3 jae LBB0_20 + 0x48, 0x89, 0xc6, //0x000004c9 movq %rax, %rsi + 0x48, 0x29, 0xd6, //0x000004cc subq %rdx, %rsi + 0x4a, 0x8d, 0x7c, 0x06, 0xff, //0x000004cf leaq $-1(%rsi,%r8), %rdi + 0xc5, 0xfe, 0x6f, 0x1d, 0x24, 0xfb, 0xff, 0xff, //0x000004d4 vmovdqu $-1244(%rip), %ymm3 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x25, 0x3c, 0xfb, 0xff, 0xff, //0x000004dc vmovdqu $-1220(%rip), %ymm4 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0x54, 0xfb, 0xff, 0xff, //0x000004e4 vmovdqu $-1196(%rip), %ymm5 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0x6c, 0xfb, 0xff, 0xff, //0x000004ec vmovdqu $-1172(%rip), %ymm6 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x3d, 0x84, 0xfb, 0xff, 0xff, //0x000004f4 vmovdqu $-1148(%rip), %ymm7 /* LCPI0_4+0(%rip) */ + 0xc5, 0x7e, 0x6f, 0x05, 0x9c, 0xfb, 0xff, 0xff, //0x000004fc vmovdqu $-1124(%rip), %ymm8 /* LCPI0_5+0(%rip) */ + 0xc4, 0x41, 0x31, 0xef, 0xc9, //0x00000504 vpxor %xmm9, %xmm9, %xmm9 + 0xc5, 0x7e, 0x6f, 0x15, 0xaf, 0xfb, 0xff, 0xff, //0x00000509 vmovdqu $-1105(%rip), %ymm10 /* LCPI0_7+0(%rip) */ + 0x48, 0x89, 0xd6, //0x00000511 movq %rdx, %rsi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000514 .p2align 4, 0x90 + //0x00000520 LBB0_16 + 0xc5, 0x7e, 0x6f, 0x26, //0x00000520 vmovdqu (%rsi), %ymm12 + 0xc5, 0x7e, 0x6f, 0x5e, 0x20, //0x00000524 vmovdqu $32(%rsi), %ymm11 + 0xc4, 0x41, 0x25, 0xeb, 0xec, //0x00000529 vpor %ymm12, %ymm11, %ymm13 + 0xc4, 0xc1, 0x7d, 0xd7, 0xdd, //0x0000052e vpmovmskb %ymm13, %ebx + 0x85, 0xdb, //0x00000533 testl %ebx, %ebx + 0x0f, 0x85, 0x16, 0x00, 0x00, 0x00, //0x00000535 jne LBB0_18 + 0xc5, 0xf5, 0xeb, 0xc0, //0x0000053b vpor %ymm0, %ymm1, %ymm0 + 0x48, 0x83, 0xc6, 0x40, //0x0000053f addq $64, %rsi + 0x48, 0x39, 0xce, //0x00000543 cmpq %rcx, %rsi + 0x0f, 0x82, 0xd4, 0xff, 0xff, 0xff, //0x00000546 jb LBB0_16 + 0xe9, 0xea, 0x00, 0x00, 0x00, //0x0000054c jmp LBB0_19 + //0x00000551 LBB0_18 + 0xc4, 0xc3, 0x6d, 0x46, 0xcc, 0x21, //0x00000551 vperm2i128 $33, %ymm12, %ymm2, %ymm1 + 0xc4, 0xe3, 0x1d, 0x0f, 0xd1, 0x0f, //0x00000557 vpalignr $15, %ymm1, %ymm12, %ymm2 + 0xc5, 0x95, 0x71, 0xd2, 0x04, //0x0000055d vpsrlw $4, %ymm2, %ymm13 + 0xc5, 0x15, 0xdb, 0xeb, //0x00000562 vpand %ymm3, %ymm13, %ymm13 + 0xc4, 0x42, 0x5d, 0x00, 0xed, //0x00000566 vpshufb %ymm13, %ymm4, %ymm13 + 0xc5, 0xed, 0xdb, 0xd3, //0x0000056b vpand %ymm3, %ymm2, %ymm2 + 0xc4, 0xe2, 0x55, 0x00, 0xd2, //0x0000056f vpshufb %ymm2, %ymm5, %ymm2 + 0xc4, 0xc1, 0x0d, 0x71, 0xd4, 0x04, //0x00000574 vpsrlw $4, %ymm12, %ymm14 + 0xc5, 0x0d, 0xdb, 0xf3, //0x0000057a vpand %ymm3, %ymm14, %ymm14 + 0xc4, 0x42, 0x4d, 0x00, 0xf6, //0x0000057e vpshufb %ymm14, %ymm6, %ymm14 + 0xc5, 0x8d, 0xdb, 0xd2, //0x00000583 vpand %ymm2, %ymm14, %ymm2 + 0xc5, 0x95, 0xdb, 0xd2, //0x00000587 vpand %ymm2, %ymm13, %ymm2 + 0xc4, 0x63, 0x1d, 0x0f, 0xe9, 0x0e, //0x0000058b vpalignr $14, %ymm1, %ymm12, %ymm13 + 0xc4, 0xe3, 0x1d, 0x0f, 0xc9, 0x0d, //0x00000591 vpalignr $13, %ymm1, %ymm12, %ymm1 + 0xc5, 0x15, 0xd8, 0xef, //0x00000597 vpsubusb %ymm7, %ymm13, %ymm13 + 0xc4, 0xc1, 0x75, 0xd8, 0xc8, //0x0000059b vpsubusb %ymm8, %ymm1, %ymm1 + 0xc5, 0x95, 0xeb, 0xc9, //0x000005a0 vpor %ymm1, %ymm13, %ymm1 + 0xc5, 0xb5, 0x74, 0xc9, //0x000005a4 vpcmpeqb %ymm1, %ymm9, %ymm1 + 0xc4, 0x62, 0x7d, 0x59, 0x2d, 0x4f, 0xfb, 0xff, 0xff, //0x000005a8 vpbroadcastq $-1201(%rip), %ymm13 /* LCPI0_6+0(%rip) */ + 0xc4, 0xc1, 0x75, 0xdf, 0xcd, //0x000005b1 vpandn %ymm13, %ymm1, %ymm1 + 0xc5, 0xf5, 0xef, 0xca, //0x000005b6 vpxor %ymm2, %ymm1, %ymm1 + 0xc4, 0xc3, 0x1d, 0x46, 0xd3, 0x21, //0x000005ba vperm2i128 $33, %ymm11, %ymm12, %ymm2 + 0xc4, 0x63, 0x25, 0x0f, 0xe2, 0x0f, //0x000005c0 vpalignr $15, %ymm2, %ymm11, %ymm12 + 0xc4, 0xc1, 0x0d, 0x71, 0xd4, 0x04, //0x000005c6 vpsrlw $4, %ymm12, %ymm14 + 0xc5, 0x0d, 0xdb, 0xf3, //0x000005cc vpand %ymm3, %ymm14, %ymm14 + 0xc4, 0x42, 0x5d, 0x00, 0xf6, //0x000005d0 vpshufb %ymm14, %ymm4, %ymm14 + 0xc5, 0x1d, 0xdb, 0xe3, //0x000005d5 vpand %ymm3, %ymm12, %ymm12 + 0xc4, 0x42, 0x55, 0x00, 0xe4, //0x000005d9 vpshufb %ymm12, %ymm5, %ymm12 + 0xc4, 0xc1, 0x05, 0x71, 0xd3, 0x04, //0x000005de vpsrlw $4, %ymm11, %ymm15 + 0xc5, 0x05, 0xdb, 0xfb, //0x000005e4 vpand %ymm3, %ymm15, %ymm15 + 0xc4, 0x42, 0x4d, 0x00, 0xff, //0x000005e8 vpshufb %ymm15, %ymm6, %ymm15 + 0xc4, 0x41, 0x1d, 0xdb, 0xe7, //0x000005ed vpand %ymm15, %ymm12, %ymm12 + 0xc4, 0x41, 0x0d, 0xdb, 0xe4, //0x000005f2 vpand %ymm12, %ymm14, %ymm12 + 0xc4, 0x63, 0x25, 0x0f, 0xf2, 0x0e, //0x000005f7 vpalignr $14, %ymm2, %ymm11, %ymm14 + 0xc4, 0xe3, 0x25, 0x0f, 0xd2, 0x0d, //0x000005fd vpalignr $13, %ymm2, %ymm11, %ymm2 + 0xc5, 0x0d, 0xd8, 0xf7, //0x00000603 vpsubusb %ymm7, %ymm14, %ymm14 + 0xc4, 0xc1, 0x6d, 0xd8, 0xd0, //0x00000607 vpsubusb %ymm8, %ymm2, %ymm2 + 0xc5, 0x8d, 0xeb, 0xd2, //0x0000060c vpor %ymm2, %ymm14, %ymm2 + 0xc5, 0xb5, 0x74, 0xd2, //0x00000610 vpcmpeqb %ymm2, %ymm9, %ymm2 + 0xc4, 0xc1, 0x6d, 0xdf, 0xd5, //0x00000614 vpandn %ymm13, %ymm2, %ymm2 + 0xc5, 0x9d, 0xef, 0xd2, //0x00000619 vpxor %ymm2, %ymm12, %ymm2 + 0xc5, 0xf5, 0xeb, 0xc0, //0x0000061d vpor %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xeb, 0xc2, //0x00000621 vpor %ymm2, %ymm0, %ymm0 + 0xc4, 0xc1, 0x25, 0xd8, 0xca, //0x00000625 vpsubusb %ymm10, %ymm11, %ymm1 + 0xc5, 0x7d, 0x7f, 0xda, //0x0000062a vmovdqa %ymm11, %ymm2 + 0x48, 0x83, 0xc6, 0x40, //0x0000062e addq $64, %rsi + 0x48, 0x39, 0xce, //0x00000632 cmpq %rcx, %rsi + 0x0f, 0x82, 0xe5, 0xfe, 0xff, 0xff, //0x00000635 jb LBB0_16 + //0x0000063b LBB0_19 + 0x48, 0x83, 0xe7, 0xc0, //0x0000063b andq $-64, %rdi + 0x48, 0x01, 0xfa, //0x0000063f addq %rdi, %rdx + //0x00000642 LBB0_20 + 0xc5, 0xe1, 0xef, 0xdb, //0x00000642 vpxor %xmm3, %xmm3, %xmm3 + 0xc5, 0xfe, 0x7f, 0x5c, 0x24, 0x40, //0x00000646 vmovdqu %ymm3, $64(%rsp) + 0xc5, 0xfe, 0x7f, 0x5c, 0x24, 0x20, //0x0000064c vmovdqu %ymm3, $32(%rsp) + 0xc5, 0xd9, 0xef, 0xe4, //0x00000652 vpxor %xmm4, %xmm4, %xmm4 + 0x4c, 0x39, 0xca, //0x00000656 cmpq %r9, %rdx + 0x0f, 0x83, 0x70, 0x00, 0x00, 0x00, //0x00000659 jae LBB0_36 + 0x48, 0x89, 0xc1, //0x0000065f movq %rax, %rcx + 0x48, 0x29, 0xd1, //0x00000662 subq %rdx, %rcx + 0x4d, 0x8d, 0x1c, 0x08, //0x00000665 leaq (%r8,%rcx), %r11 + 0x49, 0x81, 0xfb, 0x80, 0x00, 0x00, 0x00, //0x00000669 cmpq $128, %r11 + 0x0f, 0x82, 0x1f, 0x00, 0x00, 0x00, //0x00000670 jb LBB0_22 + 0x48, 0x8d, 0x74, 0x24, 0x20, //0x00000676 leaq $32(%rsp), %rsi + 0x4c, 0x39, 0xce, //0x0000067b cmpq %r9, %rsi + 0x0f, 0x83, 0x74, 0x02, 0x00, 0x00, //0x0000067e jae LBB0_26 + 0x48, 0x8d, 0x4c, 0x0c, 0x20, //0x00000684 leaq $32(%rsp,%rcx), %rcx + 0x4c, 0x01, 0xc1, //0x00000689 addq %r8, %rcx + 0x48, 0x39, 0xca, //0x0000068c cmpq %rcx, %rdx + 0x0f, 0x83, 0x63, 0x02, 0x00, 0x00, //0x0000068f jae LBB0_26 + //0x00000695 LBB0_22 + 0x31, 0xc9, //0x00000695 xorl %ecx, %ecx + //0x00000697 LBB0_33 + 0x48, 0x8d, 0x4c, 0x0c, 0x20, //0x00000697 leaq $32(%rsp,%rcx), %rcx + 0x48, 0x29, 0xd0, //0x0000069c subq %rdx, %rax + 0x4c, 0x01, 0xc0, //0x0000069f addq %r8, %rax + 0x31, 0xf6, //0x000006a2 xorl %esi, %esi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000006a4 .p2align 4, 0x90 + //0x000006b0 LBB0_34 + 0x0f, 0xb6, 0x1c, 0x32, //0x000006b0 movzbl (%rdx,%rsi), %ebx + 0x88, 0x1c, 0x31, //0x000006b4 movb %bl, (%rcx,%rsi) + 0x48, 0xff, 0xc6, //0x000006b7 incq %rsi + 0x48, 0x39, 0xf0, //0x000006ba cmpq %rsi, %rax + 0x0f, 0x85, 0xed, 0xff, 0xff, 0xff, //0x000006bd jne LBB0_34 + //0x000006c3 LBB0_35 + 0xc5, 0xfe, 0x6f, 0x64, 0x24, 0x20, //0x000006c3 vmovdqu $32(%rsp), %ymm4 + 0xc5, 0xfe, 0x6f, 0x5c, 0x24, 0x40, //0x000006c9 vmovdqu $64(%rsp), %ymm3 + //0x000006cf LBB0_36 + 0xc5, 0xdd, 0xeb, 0xeb, //0x000006cf vpor %ymm3, %ymm4, %ymm5 + 0xc5, 0xfd, 0xd7, 0xc5, //0x000006d3 vpmovmskb %ymm5, %eax + 0x85, 0xc0, //0x000006d7 testl %eax, %eax + 0x0f, 0x85, 0x38, 0x03, 0x00, 0x00, //0x000006d9 jne LBB0_40 + 0xc5, 0xfd, 0xeb, 0xc1, //0x000006df vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0xeb, 0xc1, //0x000006e3 vpor %ymm1, %ymm0, %ymm0 + 0xc4, 0xe2, 0x7d, 0x17, 0xc0, //0x000006e7 vptest %ymm0, %ymm0 + 0x0f, 0x84, 0xfa, 0x01, 0x00, 0x00, //0x000006ec je LBB0_12 + //0x000006f2 LBB0_41 + 0x49, 0x8d, 0x49, 0xfd, //0x000006f2 leaq $-3(%r9), %rcx + 0x4c, 0x89, 0xc0, //0x000006f6 movq %r8, %rax + 0x49, 0x39, 0xc8, //0x000006f9 cmpq %rcx, %r8 + 0x0f, 0x83, 0xde, 0x00, 0x00, 0x00, //0x000006fc jae LBB0_55 + 0x4c, 0x89, 0xc0, //0x00000702 movq %r8, %rax + 0xe9, 0x12, 0x00, 0x00, 0x00, //0x00000705 jmp LBB0_44 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000070a .p2align 4, 0x90 + //0x00000710 LBB0_43 + 0x48, 0x01, 0xf0, //0x00000710 addq %rsi, %rax + 0x48, 0x39, 0xc8, //0x00000713 cmpq %rcx, %rax + 0x0f, 0x83, 0xc4, 0x00, 0x00, 0x00, //0x00000716 jae LBB0_55 + //0x0000071c LBB0_44 + 0xbe, 0x01, 0x00, 0x00, 0x00, //0x0000071c movl $1, %esi + 0x80, 0x38, 0x00, //0x00000721 cmpb $0, (%rax) + 0x0f, 0x89, 0xe6, 0xff, 0xff, 0xff, //0x00000724 jns LBB0_43 + 0x8b, 0x10, //0x0000072a movl (%rax), %edx + 0x89, 0xd6, //0x0000072c movl %edx, %esi + 0x81, 0xe6, 0xf0, 0xc0, 0xc0, 0x00, //0x0000072e andl $12632304, %esi + 0x81, 0xfe, 0xe0, 0x80, 0x80, 0x00, //0x00000734 cmpl $8421600, %esi + 0x0f, 0x85, 0x30, 0x00, 0x00, 0x00, //0x0000073a jne LBB0_48 + 0x89, 0xd7, //0x00000740 movl %edx, %edi + 0x81, 0xe7, 0x0f, 0x20, 0x00, 0x00, //0x00000742 andl $8207, %edi + 0x81, 0xff, 0x0d, 0x20, 0x00, 0x00, //0x00000748 cmpl $8205, %edi + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x0000074e je LBB0_48 + 0xbe, 0x03, 0x00, 0x00, 0x00, //0x00000754 movl $3, %esi + 0x85, 0xff, //0x00000759 testl %edi, %edi + 0x0f, 0x85, 0xaf, 0xff, 0xff, 0xff, //0x0000075b jne LBB0_43 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000761 .p2align 4, 0x90 + //0x00000770 LBB0_48 + 0x89, 0xd6, //0x00000770 movl %edx, %esi + 0x81, 0xe6, 0xe0, 0xc0, 0x00, 0x00, //0x00000772 andl $49376, %esi + 0x81, 0xfe, 0xc0, 0x80, 0x00, 0x00, //0x00000778 cmpl $32960, %esi + 0x0f, 0x85, 0x10, 0x00, 0x00, 0x00, //0x0000077e jne LBB0_50 + 0x89, 0xd7, //0x00000784 movl %edx, %edi + 0xbe, 0x02, 0x00, 0x00, 0x00, //0x00000786 movl $2, %esi + 0x83, 0xe7, 0x1e, //0x0000078b andl $30, %edi + 0x0f, 0x85, 0x7c, 0xff, 0xff, 0xff, //0x0000078e jne LBB0_43 + //0x00000794 LBB0_50 + 0x89, 0xd6, //0x00000794 movl %edx, %esi + 0x81, 0xe6, 0xf8, 0xc0, 0xc0, 0xc0, //0x00000796 andl $-1061109512, %esi + 0x81, 0xfe, 0xf0, 0x80, 0x80, 0x80, //0x0000079c cmpl $-2139062032, %esi + 0x0f, 0x85, 0x28, 0x00, 0x00, 0x00, //0x000007a2 jne LBB0_54 + 0x89, 0xd6, //0x000007a8 movl %edx, %esi + 0x81, 0xe6, 0x07, 0x30, 0x00, 0x00, //0x000007aa andl $12295, %esi + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000007b0 je LBB0_54 + 0xbe, 0x04, 0x00, 0x00, 0x00, //0x000007b6 movl $4, %esi + 0xf6, 0xc2, 0x04, //0x000007bb testb $4, %dl + 0x0f, 0x84, 0x4c, 0xff, 0xff, 0xff, //0x000007be je LBB0_43 + 0x81, 0xe2, 0x03, 0x30, 0x00, 0x00, //0x000007c4 andl $12291, %edx + 0x0f, 0x84, 0x40, 0xff, 0xff, 0xff, //0x000007ca je LBB0_43 + //0x000007d0 LBB0_54 + 0x48, 0xf7, 0xd0, //0x000007d0 notq %rax + 0x4c, 0x01, 0xc0, //0x000007d3 addq %r8, %rax + 0x48, 0x8d, 0x65, 0xf8, //0x000007d6 leaq $-8(%rbp), %rsp + 0x5b, //0x000007da popq %rbx + 0x5d, //0x000007db popq %rbp + 0xc5, 0xf8, 0x77, //0x000007dc vzeroupper + 0xc3, //0x000007df retq + //0x000007e0 LBB0_55 + 0x4c, 0x39, 0xc8, //0x000007e0 cmpq %r9, %rax + 0x0f, 0x83, 0x03, 0x01, 0x00, 0x00, //0x000007e3 jae LBB0_12 + 0x4c, 0x8d, 0x54, 0x24, 0x20, //0x000007e9 leaq $32(%rsp), %r10 + 0x4c, 0x8d, 0x5c, 0x24, 0x1e, //0x000007ee leaq $30(%rsp), %r11 + 0xe9, 0x14, 0x00, 0x00, 0x00, //0x000007f3 jmp LBB0_58 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000007f8 .p2align 4, 0x90 + //0x00000800 LBB0_57 + 0x48, 0xff, 0xc0, //0x00000800 incq %rax + 0x4c, 0x39, 0xc8, //0x00000803 cmpq %r9, %rax + 0x0f, 0x83, 0xe0, 0x00, 0x00, 0x00, //0x00000806 jae LBB0_12 + //0x0000080c LBB0_58 + 0x80, 0x38, 0x00, //0x0000080c cmpb $0, (%rax) + 0x0f, 0x89, 0xeb, 0xff, 0xff, 0xff, //0x0000080f jns LBB0_57 + 0xc6, 0x44, 0x24, 0x20, 0x00, //0x00000815 movb $0, $32(%rsp) + 0xc6, 0x44, 0x24, 0x1e, 0x00, //0x0000081a movb $0, $30(%rsp) + 0x4c, 0x89, 0xc9, //0x0000081f movq %r9, %rcx + 0x48, 0x29, 0xc1, //0x00000822 subq %rax, %rcx + 0x48, 0x83, 0xf9, 0x02, //0x00000825 cmpq $2, %rcx + 0x0f, 0x82, 0x33, 0x00, 0x00, 0x00, //0x00000829 jb LBB0_62 + 0x0f, 0xb6, 0x10, //0x0000082f movzbl (%rax), %edx + 0x0f, 0xb6, 0x78, 0x01, //0x00000832 movzbl $1(%rax), %edi + 0x88, 0x54, 0x24, 0x20, //0x00000836 movb %dl, $32(%rsp) + 0x48, 0x8d, 0x70, 0x02, //0x0000083a leaq $2(%rax), %rsi + 0x48, 0x83, 0xc1, 0xfe, //0x0000083e addq $-2, %rcx + 0x4c, 0x89, 0xdb, //0x00000842 movq %r11, %rbx + 0x48, 0x85, 0xc9, //0x00000845 testq %rcx, %rcx + 0x0f, 0x84, 0x27, 0x00, 0x00, 0x00, //0x00000848 je LBB0_63 + //0x0000084e LBB0_61 + 0x0f, 0xb6, 0x0e, //0x0000084e movzbl (%rsi), %ecx + 0x88, 0x0b, //0x00000851 movb %cl, (%rbx) + 0x0f, 0xb6, 0x54, 0x24, 0x20, //0x00000853 movzbl $32(%rsp), %edx + 0x0f, 0xb6, 0x4c, 0x24, 0x1e, //0x00000858 movzbl $30(%rsp), %ecx + 0xe9, 0x15, 0x00, 0x00, 0x00, //0x0000085d jmp LBB0_64 + //0x00000862 LBB0_62 + 0x31, 0xd2, //0x00000862 xorl %edx, %edx + 0x31, 0xff, //0x00000864 xorl %edi, %edi + 0x4c, 0x89, 0xd3, //0x00000866 movq %r10, %rbx + 0x48, 0x89, 0xc6, //0x00000869 movq %rax, %rsi + 0x48, 0x85, 0xc9, //0x0000086c testq %rcx, %rcx + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x0000086f jne LBB0_61 + //0x00000875 LBB0_63 + 0x31, 0xc9, //0x00000875 xorl %ecx, %ecx + //0x00000877 LBB0_64 + 0x0f, 0xb6, 0xf1, //0x00000877 movzbl %cl, %esi + 0xc1, 0xe6, 0x10, //0x0000087a shll $16, %esi + 0x40, 0x0f, 0xb6, 0xff, //0x0000087d movzbl %dil, %edi + 0xc1, 0xe7, 0x08, //0x00000881 shll $8, %edi + 0x0f, 0xb6, 0xca, //0x00000884 movzbl %dl, %ecx + 0x09, 0xf9, //0x00000887 orl %edi, %ecx + 0x09, 0xce, //0x00000889 orl %ecx, %esi + 0x81, 0xe6, 0xf0, 0xc0, 0xc0, 0x00, //0x0000088b andl $12632304, %esi + 0x81, 0xfe, 0xe0, 0x80, 0x80, 0x00, //0x00000891 cmpl $8421600, %esi + 0x0f, 0x85, 0x23, 0x00, 0x00, 0x00, //0x00000897 jne LBB0_67 + 0x89, 0xcf, //0x0000089d movl %ecx, %edi + 0x81, 0xe7, 0x0f, 0x20, 0x00, 0x00, //0x0000089f andl $8207, %edi + 0x81, 0xff, 0x0d, 0x20, 0x00, 0x00, //0x000008a5 cmpl $8205, %edi + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x000008ab je LBB0_67 + 0xbe, 0x03, 0x00, 0x00, 0x00, //0x000008b1 movl $3, %esi + 0x85, 0xff, //0x000008b6 testl %edi, %edi + 0x0f, 0x85, 0x22, 0x00, 0x00, 0x00, //0x000008b8 jne LBB0_69 + 0x90, 0x90, //0x000008be .p2align 4, 0x90 + //0x000008c0 LBB0_67 + 0xf6, 0xc2, 0x1e, //0x000008c0 testb $30, %dl + 0x0f, 0x84, 0x07, 0xff, 0xff, 0xff, //0x000008c3 je LBB0_54 + 0x81, 0xe1, 0xe0, 0xc0, 0x00, 0x00, //0x000008c9 andl $49376, %ecx + 0xbe, 0x02, 0x00, 0x00, 0x00, //0x000008cf movl $2, %esi + 0x81, 0xf9, 0xc0, 0x80, 0x00, 0x00, //0x000008d4 cmpl $32960, %ecx + 0x0f, 0x85, 0xf0, 0xfe, 0xff, 0xff, //0x000008da jne LBB0_54 + //0x000008e0 LBB0_69 + 0x48, 0x01, 0xf0, //0x000008e0 addq %rsi, %rax + 0x4c, 0x39, 0xc8, //0x000008e3 cmpq %r9, %rax + 0x0f, 0x82, 0x20, 0xff, 0xff, 0xff, //0x000008e6 jb LBB0_58 + //0x000008ec LBB0_12 + 0x31, 0xc0, //0x000008ec xorl %eax, %eax + 0x48, 0x8d, 0x65, 0xf8, //0x000008ee leaq $-8(%rbp), %rsp + 0x5b, //0x000008f2 popq %rbx + 0x5d, //0x000008f3 popq %rbp + 0xc5, 0xf8, 0x77, //0x000008f4 vzeroupper + 0xc3, //0x000008f7 retq + //0x000008f8 LBB0_26 + 0x4c, 0x89, 0xd9, //0x000008f8 movq %r11, %rcx + 0x48, 0x83, 0xe1, 0x80, //0x000008fb andq $-128, %rcx + 0x48, 0x8d, 0x79, 0x80, //0x000008ff leaq $-128(%rcx), %rdi + 0x48, 0x89, 0xfe, //0x00000903 movq %rdi, %rsi + 0x48, 0xc1, 0xee, 0x07, //0x00000906 shrq $7, %rsi + 0x48, 0xff, 0xc6, //0x0000090a incq %rsi + 0x41, 0x89, 0xf2, //0x0000090d movl %esi, %r10d + 0x41, 0x83, 0xe2, 0x01, //0x00000910 andl $1, %r10d + 0x48, 0x85, 0xff, //0x00000914 testq %rdi, %rdi + 0x0f, 0x84, 0xea, 0x00, 0x00, 0x00, //0x00000917 je LBB0_39 + 0x4c, 0x29, 0xd6, //0x0000091d subq %r10, %rsi + 0x31, 0xff, //0x00000920 xorl %edi, %edi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000922 .p2align 4, 0x90 + //0x00000930 LBB0_28 + 0xc5, 0xfc, 0x10, 0x1c, 0x3a, //0x00000930 vmovups (%rdx,%rdi), %ymm3 + 0xc5, 0xfc, 0x10, 0x64, 0x3a, 0x20, //0x00000935 vmovups $32(%rdx,%rdi), %ymm4 + 0xc5, 0xfc, 0x10, 0x6c, 0x3a, 0x40, //0x0000093b vmovups $64(%rdx,%rdi), %ymm5 + 0xc5, 0xfc, 0x10, 0x74, 0x3a, 0x60, //0x00000941 vmovups $96(%rdx,%rdi), %ymm6 + 0xc5, 0xfc, 0x11, 0x5c, 0x3c, 0x20, //0x00000947 vmovups %ymm3, $32(%rsp,%rdi) + 0xc5, 0xfc, 0x11, 0x64, 0x3c, 0x40, //0x0000094d vmovups %ymm4, $64(%rsp,%rdi) + 0xc5, 0xfc, 0x11, 0x6c, 0x3c, 0x60, //0x00000953 vmovups %ymm5, $96(%rsp,%rdi) + 0xc5, 0xfc, 0x11, 0xb4, 0x3c, 0x80, 0x00, 0x00, 0x00, //0x00000959 vmovups %ymm6, $128(%rsp,%rdi) + 0xc5, 0xfe, 0x6f, 0x9c, 0x3a, 0x80, 0x00, 0x00, 0x00, //0x00000962 vmovdqu $128(%rdx,%rdi), %ymm3 + 0xc5, 0xfe, 0x6f, 0xa4, 0x3a, 0xa0, 0x00, 0x00, 0x00, //0x0000096b vmovdqu $160(%rdx,%rdi), %ymm4 + 0xc5, 0xfe, 0x6f, 0xac, 0x3a, 0xc0, 0x00, 0x00, 0x00, //0x00000974 vmovdqu $192(%rdx,%rdi), %ymm5 + 0xc5, 0xfe, 0x6f, 0xb4, 0x3a, 0xe0, 0x00, 0x00, 0x00, //0x0000097d vmovdqu $224(%rdx,%rdi), %ymm6 + 0xc5, 0xfe, 0x7f, 0x9c, 0x3c, 0xa0, 0x00, 0x00, 0x00, //0x00000986 vmovdqu %ymm3, $160(%rsp,%rdi) + 0xc5, 0xfe, 0x7f, 0xa4, 0x3c, 0xc0, 0x00, 0x00, 0x00, //0x0000098f vmovdqu %ymm4, $192(%rsp,%rdi) + 0xc5, 0xfe, 0x7f, 0xac, 0x3c, 0xe0, 0x00, 0x00, 0x00, //0x00000998 vmovdqu %ymm5, $224(%rsp,%rdi) + 0xc5, 0xfe, 0x7f, 0xb4, 0x3c, 0x00, 0x01, 0x00, 0x00, //0x000009a1 vmovdqu %ymm6, $256(%rsp,%rdi) + 0x48, 0x81, 0xc7, 0x00, 0x01, 0x00, 0x00, //0x000009aa addq $256, %rdi + 0x48, 0x83, 0xc6, 0xfe, //0x000009b1 addq $-2, %rsi + 0x0f, 0x85, 0x75, 0xff, 0xff, 0xff, //0x000009b5 jne LBB0_28 + 0x4d, 0x85, 0xd2, //0x000009bb testq %r10, %r10 + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x000009be je LBB0_31 + //0x000009c4 LBB0_30 + 0xc5, 0xfe, 0x6f, 0x1c, 0x3a, //0x000009c4 vmovdqu (%rdx,%rdi), %ymm3 + 0xc5, 0xfe, 0x6f, 0x64, 0x3a, 0x20, //0x000009c9 vmovdqu $32(%rdx,%rdi), %ymm4 + 0xc5, 0xfe, 0x6f, 0x6c, 0x3a, 0x40, //0x000009cf vmovdqu $64(%rdx,%rdi), %ymm5 + 0xc5, 0xfe, 0x6f, 0x74, 0x3a, 0x60, //0x000009d5 vmovdqu $96(%rdx,%rdi), %ymm6 + 0xc5, 0xfe, 0x7f, 0x5c, 0x3c, 0x20, //0x000009db vmovdqu %ymm3, $32(%rsp,%rdi) + 0xc5, 0xfe, 0x7f, 0x64, 0x3c, 0x40, //0x000009e1 vmovdqu %ymm4, $64(%rsp,%rdi) + 0xc5, 0xfe, 0x7f, 0x6c, 0x3c, 0x60, //0x000009e7 vmovdqu %ymm5, $96(%rsp,%rdi) + 0xc5, 0xfe, 0x7f, 0xb4, 0x3c, 0x80, 0x00, 0x00, 0x00, //0x000009ed vmovdqu %ymm6, $128(%rsp,%rdi) + //0x000009f6 LBB0_31 + 0x4c, 0x39, 0xd9, //0x000009f6 cmpq %r11, %rcx + 0x0f, 0x84, 0xc4, 0xfc, 0xff, 0xff, //0x000009f9 je LBB0_35 + 0x48, 0x01, 0xca, //0x000009ff addq %rcx, %rdx + 0xe9, 0x90, 0xfc, 0xff, 0xff, //0x00000a02 jmp LBB0_33 + //0x00000a07 LBB0_39 + 0x31, 0xff, //0x00000a07 xorl %edi, %edi + 0x4d, 0x85, 0xd2, //0x00000a09 testq %r10, %r10 + 0x0f, 0x85, 0xb2, 0xff, 0xff, 0xff, //0x00000a0c jne LBB0_30 + 0xe9, 0xdf, 0xff, 0xff, 0xff, //0x00000a12 jmp LBB0_31 + //0x00000a17 LBB0_40 + 0xc4, 0xe3, 0x6d, 0x46, 0xd4, 0x21, //0x00000a17 vperm2i128 $33, %ymm4, %ymm2, %ymm2 + 0xc4, 0xe3, 0x5d, 0x0f, 0xea, 0x0f, //0x00000a1d vpalignr $15, %ymm2, %ymm4, %ymm5 + 0xc5, 0xcd, 0x71, 0xd5, 0x04, //0x00000a23 vpsrlw $4, %ymm5, %ymm6 + 0xc5, 0xfe, 0x6f, 0x0d, 0xd0, 0xf5, 0xff, 0xff, //0x00000a28 vmovdqu $-2608(%rip), %ymm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xcd, 0xdb, 0xf1, //0x00000a30 vpand %ymm1, %ymm6, %ymm6 + 0xc5, 0xfe, 0x6f, 0x3d, 0xe4, 0xf5, 0xff, 0xff, //0x00000a34 vmovdqu $-2588(%rip), %ymm7 /* LCPI0_1+0(%rip) */ + 0xc4, 0xe2, 0x45, 0x00, 0xf6, //0x00000a3c vpshufb %ymm6, %ymm7, %ymm6 + 0xc5, 0xd5, 0xdb, 0xe9, //0x00000a41 vpand %ymm1, %ymm5, %ymm5 + 0xc5, 0x7e, 0x6f, 0x05, 0xf3, 0xf5, 0xff, 0xff, //0x00000a45 vmovdqu $-2573(%rip), %ymm8 /* LCPI0_2+0(%rip) */ + 0xc4, 0xe2, 0x3d, 0x00, 0xed, //0x00000a4d vpshufb %ymm5, %ymm8, %ymm5 + 0xc5, 0xb5, 0x71, 0xd4, 0x04, //0x00000a52 vpsrlw $4, %ymm4, %ymm9 + 0xc5, 0x35, 0xdb, 0xc9, //0x00000a57 vpand %ymm1, %ymm9, %ymm9 + 0xc5, 0x7e, 0x6f, 0x15, 0xfd, 0xf5, 0xff, 0xff, //0x00000a5b vmovdqu $-2563(%rip), %ymm10 /* LCPI0_3+0(%rip) */ + 0xc4, 0x42, 0x2d, 0x00, 0xc9, //0x00000a63 vpshufb %ymm9, %ymm10, %ymm9 + 0xc5, 0xb5, 0xdb, 0xed, //0x00000a68 vpand %ymm5, %ymm9, %ymm5 + 0xc5, 0xcd, 0xdb, 0xed, //0x00000a6c vpand %ymm5, %ymm6, %ymm5 + 0xc4, 0xe3, 0x5d, 0x0f, 0xf2, 0x0e, //0x00000a70 vpalignr $14, %ymm2, %ymm4, %ymm6 + 0xc4, 0xe3, 0x5d, 0x0f, 0xd2, 0x0d, //0x00000a76 vpalignr $13, %ymm2, %ymm4, %ymm2 + 0xc5, 0x7e, 0x6f, 0x0d, 0xfc, 0xf5, 0xff, 0xff, //0x00000a7c vmovdqu $-2564(%rip), %ymm9 /* LCPI0_4+0(%rip) */ + 0xc4, 0xc1, 0x4d, 0xd8, 0xf1, //0x00000a84 vpsubusb %ymm9, %ymm6, %ymm6 + 0xc5, 0x7e, 0x6f, 0x1d, 0x0f, 0xf6, 0xff, 0xff, //0x00000a89 vmovdqu $-2545(%rip), %ymm11 /* LCPI0_5+0(%rip) */ + 0xc4, 0xc1, 0x6d, 0xd8, 0xd3, //0x00000a91 vpsubusb %ymm11, %ymm2, %ymm2 + 0xc5, 0xed, 0xeb, 0xd6, //0x00000a96 vpor %ymm6, %ymm2, %ymm2 + 0xc5, 0xc9, 0xef, 0xf6, //0x00000a9a vpxor %xmm6, %xmm6, %xmm6 + 0xc5, 0xed, 0x74, 0xd6, //0x00000a9e vpcmpeqb %ymm6, %ymm2, %ymm2 + 0xc4, 0x62, 0x7d, 0x59, 0x25, 0x55, 0xf6, 0xff, 0xff, //0x00000aa2 vpbroadcastq $-2475(%rip), %ymm12 /* LCPI0_6+0(%rip) */ + 0xc4, 0xc1, 0x6d, 0xdf, 0xd4, //0x00000aab vpandn %ymm12, %ymm2, %ymm2 + 0xc5, 0xed, 0xef, 0xd5, //0x00000ab0 vpxor %ymm5, %ymm2, %ymm2 + 0xc4, 0xe3, 0x5d, 0x46, 0xe3, 0x21, //0x00000ab4 vperm2i128 $33, %ymm3, %ymm4, %ymm4 + 0xc4, 0xe3, 0x65, 0x0f, 0xec, 0x0f, //0x00000aba vpalignr $15, %ymm4, %ymm3, %ymm5 + 0xc5, 0x95, 0x71, 0xd5, 0x04, //0x00000ac0 vpsrlw $4, %ymm5, %ymm13 + 0xc5, 0x15, 0xdb, 0xe9, //0x00000ac5 vpand %ymm1, %ymm13, %ymm13 + 0xc4, 0xc2, 0x45, 0x00, 0xfd, //0x00000ac9 vpshufb %ymm13, %ymm7, %ymm7 + 0xc5, 0xd5, 0xdb, 0xe9, //0x00000ace vpand %ymm1, %ymm5, %ymm5 + 0xc4, 0xe2, 0x3d, 0x00, 0xed, //0x00000ad2 vpshufb %ymm5, %ymm8, %ymm5 + 0xc5, 0xbd, 0x71, 0xd3, 0x04, //0x00000ad7 vpsrlw $4, %ymm3, %ymm8 + 0xc5, 0xbd, 0xdb, 0xc9, //0x00000adc vpand %ymm1, %ymm8, %ymm1 + 0xc4, 0xe2, 0x2d, 0x00, 0xc9, //0x00000ae0 vpshufb %ymm1, %ymm10, %ymm1 + 0xc5, 0xd5, 0xdb, 0xc9, //0x00000ae5 vpand %ymm1, %ymm5, %ymm1 + 0xc5, 0xc5, 0xdb, 0xc9, //0x00000ae9 vpand %ymm1, %ymm7, %ymm1 + 0xc4, 0xe3, 0x65, 0x0f, 0xec, 0x0e, //0x00000aed vpalignr $14, %ymm4, %ymm3, %ymm5 + 0xc4, 0xe3, 0x65, 0x0f, 0xe4, 0x0d, //0x00000af3 vpalignr $13, %ymm4, %ymm3, %ymm4 + 0xc4, 0xc1, 0x55, 0xd8, 0xe9, //0x00000af9 vpsubusb %ymm9, %ymm5, %ymm5 + 0xc4, 0xc1, 0x5d, 0xd8, 0xe3, //0x00000afe vpsubusb %ymm11, %ymm4, %ymm4 + 0xc5, 0xdd, 0xeb, 0xe5, //0x00000b03 vpor %ymm5, %ymm4, %ymm4 + 0xc5, 0xdd, 0x74, 0xe6, //0x00000b07 vpcmpeqb %ymm6, %ymm4, %ymm4 + 0xc4, 0xc1, 0x5d, 0xdf, 0xe4, //0x00000b0b vpandn %ymm12, %ymm4, %ymm4 + 0xc5, 0xdd, 0xef, 0xc9, //0x00000b10 vpxor %ymm1, %ymm4, %ymm1 + 0xc5, 0xed, 0xeb, 0xc0, //0x00000b14 vpor %ymm0, %ymm2, %ymm0 + 0xc5, 0xfd, 0xeb, 0xc1, //0x00000b18 vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xe5, 0xd8, 0x0d, 0x9c, 0xf5, 0xff, 0xff, //0x00000b1c vpsubusb $-2660(%rip), %ymm3, %ymm1 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfd, 0xeb, 0xc1, //0x00000b24 vpor %ymm1, %ymm0, %ymm0 + 0xc4, 0xe2, 0x7d, 0x17, 0xc0, //0x00000b28 vptest %ymm0, %ymm0 + 0x0f, 0x84, 0xb9, 0xfd, 0xff, 0xff, //0x00000b2d je LBB0_12 + 0xe9, 0xba, 0xfb, 0xff, 0xff, //0x00000b33 jmp LBB0_41 + //0x00000b38 .p2align 2, 0x00 + //0x00000b38 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000b38 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_subr.go new file mode 100644 index 0000000..9069669 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_subr.go @@ -0,0 +1,44 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__validate_utf8 = 0 +) + +const ( + _stack__validate_utf8 = 48 +) + +const ( + _size__validate_utf8 = 668 +) + +var ( + _pcsp__validate_utf8 = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {11, 40}, + {623, 48}, + {627, 40}, + {628, 32}, + {630, 24}, + {632, 16}, + {634, 8}, + {635, 0}, + {666, 48}, + } +) + +var _cfunc_validate_utf8 = []loader.CFunc{ + {"_validate_utf8_entry", 0, _entry__validate_utf8, 0, nil}, + {"_validate_utf8", _entry__validate_utf8, _size__validate_utf8, _stack__validate_utf8, _pcsp__validate_utf8}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_text_amd64.go new file mode 100644 index 0000000..5988378 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/validate_utf8_text_amd64.go @@ -0,0 +1,191 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_validate_utf8 = []byte{ + // .p2align 4, 0x90 + // _validate_utf8 + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x41, 0x57, //0x00000004 pushq %r15 + 0x41, 0x56, //0x00000006 pushq %r14 + 0x41, 0x54, //0x00000008 pushq %r12 + 0x53, //0x0000000a pushq %rbx + 0x50, //0x0000000b pushq %rax + 0x4c, 0x8b, 0x17, //0x0000000c movq (%rdi), %r10 + 0x4c, 0x8b, 0x5f, 0x08, //0x0000000f movq $8(%rdi), %r11 + 0x48, 0x8b, 0x0e, //0x00000013 movq (%rsi), %rcx + 0x4c, 0x01, 0xd1, //0x00000016 addq %r10, %rcx + 0x4f, 0x8d, 0x44, 0x1a, 0xfd, //0x00000019 leaq $-3(%r10,%r11), %r8 + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x0000001e jmp LBB0_1 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000023 .p2align 4, 0x90 + //0x00000030 LBB0_19 + 0x48, 0x01, 0xd9, //0x00000030 addq %rbx, %rcx + //0x00000033 LBB0_1 + 0x4c, 0x39, 0xc1, //0x00000033 cmpq %r8, %rcx + 0x0f, 0x83, 0xe1, 0x00, 0x00, 0x00, //0x00000036 jae LBB0_2 + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000003c movl $1, %ebx + 0x80, 0x39, 0x00, //0x00000041 cmpb $0, (%rcx) + 0x0f, 0x89, 0xe6, 0xff, 0xff, 0xff, //0x00000044 jns LBB0_19 + 0x8b, 0x01, //0x0000004a movl (%rcx), %eax + 0x89, 0xc7, //0x0000004c movl %eax, %edi + 0x81, 0xe7, 0xf0, 0xc0, 0xc0, 0x00, //0x0000004e andl $12632304, %edi + 0x81, 0xff, 0xe0, 0x80, 0x80, 0x00, //0x00000054 cmpl $8421600, %edi + 0x0f, 0x85, 0x30, 0x00, 0x00, 0x00, //0x0000005a jne LBB0_10 + 0x89, 0xc7, //0x00000060 movl %eax, %edi + 0x81, 0xe7, 0x0f, 0x20, 0x00, 0x00, //0x00000062 andl $8207, %edi + 0x81, 0xff, 0x0d, 0x20, 0x00, 0x00, //0x00000068 cmpl $8205, %edi + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x0000006e je LBB0_10 + 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00000074 movl $3, %ebx + 0x85, 0xff, //0x00000079 testl %edi, %edi + 0x0f, 0x85, 0xaf, 0xff, 0xff, 0xff, //0x0000007b jne LBB0_19 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000081 .p2align 4, 0x90 + //0x00000090 LBB0_10 + 0x89, 0xc7, //0x00000090 movl %eax, %edi + 0x81, 0xe7, 0xe0, 0xc0, 0x00, 0x00, //0x00000092 andl $49376, %edi + 0x81, 0xff, 0xc0, 0x80, 0x00, 0x00, //0x00000098 cmpl $32960, %edi + 0x0f, 0x85, 0x10, 0x00, 0x00, 0x00, //0x0000009e jne LBB0_12 + 0x89, 0xc7, //0x000000a4 movl %eax, %edi + 0xbb, 0x02, 0x00, 0x00, 0x00, //0x000000a6 movl $2, %ebx + 0x83, 0xe7, 0x1e, //0x000000ab andl $30, %edi + 0x0f, 0x85, 0x7c, 0xff, 0xff, 0xff, //0x000000ae jne LBB0_19 + //0x000000b4 LBB0_12 + 0x89, 0xc7, //0x000000b4 movl %eax, %edi + 0x81, 0xe7, 0xf8, 0xc0, 0xc0, 0xc0, //0x000000b6 andl $-1061109512, %edi + 0x81, 0xff, 0xf0, 0x80, 0x80, 0x80, //0x000000bc cmpl $-2139062032, %edi + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x000000c2 jne LBB0_16 + 0x89, 0xc7, //0x000000c8 movl %eax, %edi + 0x81, 0xe7, 0x07, 0x30, 0x00, 0x00, //0x000000ca andl $12295, %edi + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x000000d0 je LBB0_16 + 0xbb, 0x04, 0x00, 0x00, 0x00, //0x000000d6 movl $4, %ebx + 0xa8, 0x04, //0x000000db testb $4, %al + 0x0f, 0x84, 0x4d, 0xff, 0xff, 0xff, //0x000000dd je LBB0_19 + 0x25, 0x03, 0x30, 0x00, 0x00, //0x000000e3 andl $12291, %eax + 0x0f, 0x84, 0x42, 0xff, 0xff, 0xff, //0x000000e8 je LBB0_19 + //0x000000ee LBB0_16 + 0x48, 0x89, 0xcf, //0x000000ee movq %rcx, %rdi + 0x4c, 0x29, 0xd7, //0x000000f1 subq %r10, %rdi + 0x48, 0x8b, 0x1a, //0x000000f4 movq (%rdx), %rbx + 0x48, 0x81, 0xfb, 0x00, 0x10, 0x00, 0x00, //0x000000f7 cmpq $4096, %rbx + 0x0f, 0x83, 0x87, 0x01, 0x00, 0x00, //0x000000fe jae LBB0_17 + 0x48, 0x63, 0xc7, //0x00000104 movslq %edi, %rax + 0x48, 0x8d, 0x7b, 0x01, //0x00000107 leaq $1(%rbx), %rdi + 0x48, 0x89, 0x3a, //0x0000010b movq %rdi, (%rdx) + 0x48, 0x89, 0x44, 0xda, 0x08, //0x0000010e movq %rax, $8(%rdx,%rbx,8) + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000113 movl $1, %ebx + 0xe9, 0x13, 0xff, 0xff, 0xff, //0x00000118 jmp LBB0_19 + //0x0000011d LBB0_2 + 0x4d, 0x01, 0xd3, //0x0000011d addq %r10, %r11 + 0x4c, 0x39, 0xd9, //0x00000120 cmpq %r11, %rcx + 0x0f, 0x83, 0x3e, 0x01, 0x00, 0x00, //0x00000123 jae LBB0_36 + 0x4c, 0x8d, 0x45, 0xdc, //0x00000129 leaq $-36(%rbp), %r8 + 0x4c, 0x8d, 0x4d, 0xda, //0x0000012d leaq $-38(%rbp), %r9 + 0xe9, 0x16, 0x00, 0x00, 0x00, //0x00000131 jmp LBB0_4 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000136 .p2align 4, 0x90 + //0x00000140 LBB0_5 + 0x48, 0xff, 0xc1, //0x00000140 incq %rcx + 0x4c, 0x39, 0xd9, //0x00000143 cmpq %r11, %rcx + 0x0f, 0x83, 0x1b, 0x01, 0x00, 0x00, //0x00000146 jae LBB0_36 + //0x0000014c LBB0_4 + 0x80, 0x39, 0x00, //0x0000014c cmpb $0, (%rcx) + 0x0f, 0x89, 0xeb, 0xff, 0xff, 0xff, //0x0000014f jns LBB0_5 + 0xc6, 0x45, 0xdc, 0x00, //0x00000155 movb $0, $-36(%rbp) + 0xc6, 0x45, 0xda, 0x00, //0x00000159 movb $0, $-38(%rbp) + 0x4c, 0x89, 0xdb, //0x0000015d movq %r11, %rbx + 0x48, 0x29, 0xcb, //0x00000160 subq %rcx, %rbx + 0x48, 0x83, 0xfb, 0x02, //0x00000163 cmpq $2, %rbx + 0x0f, 0x82, 0x35, 0x00, 0x00, 0x00, //0x00000167 jb LBB0_21 + 0x44, 0x0f, 0xb6, 0x21, //0x0000016d movzbl (%rcx), %r12d + 0x44, 0x0f, 0xb6, 0x71, 0x01, //0x00000171 movzbl $1(%rcx), %r14d + 0x44, 0x88, 0x65, 0xdc, //0x00000176 movb %r12b, $-36(%rbp) + 0x4c, 0x8d, 0x79, 0x02, //0x0000017a leaq $2(%rcx), %r15 + 0x48, 0x83, 0xc3, 0xfe, //0x0000017e addq $-2, %rbx + 0x4c, 0x89, 0xcf, //0x00000182 movq %r9, %rdi + 0x48, 0x85, 0xdb, //0x00000185 testq %rbx, %rbx + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00000188 je LBB0_24 + //0x0000018e LBB0_25 + 0x41, 0x0f, 0xb6, 0x07, //0x0000018e movzbl (%r15), %eax + 0x88, 0x07, //0x00000192 movb %al, (%rdi) + 0x44, 0x0f, 0xb6, 0x65, 0xdc, //0x00000194 movzbl $-36(%rbp), %r12d + 0x0f, 0xb6, 0x7d, 0xda, //0x00000199 movzbl $-38(%rbp), %edi + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x0000019d jmp LBB0_26 + //0x000001a2 LBB0_21 + 0x45, 0x31, 0xe4, //0x000001a2 xorl %r12d, %r12d + 0x45, 0x31, 0xf6, //0x000001a5 xorl %r14d, %r14d + 0x4c, 0x89, 0xc7, //0x000001a8 movq %r8, %rdi + 0x49, 0x89, 0xcf, //0x000001ab movq %rcx, %r15 + 0x48, 0x85, 0xdb, //0x000001ae testq %rbx, %rbx + 0x0f, 0x85, 0xd7, 0xff, 0xff, 0xff, //0x000001b1 jne LBB0_25 + //0x000001b7 LBB0_24 + 0x31, 0xff, //0x000001b7 xorl %edi, %edi + //0x000001b9 LBB0_26 + 0x40, 0x0f, 0xb6, 0xc7, //0x000001b9 movzbl %dil, %eax + 0xc1, 0xe0, 0x10, //0x000001bd shll $16, %eax + 0x41, 0x0f, 0xb6, 0xde, //0x000001c0 movzbl %r14b, %ebx + 0xc1, 0xe3, 0x08, //0x000001c4 shll $8, %ebx + 0x41, 0x0f, 0xb6, 0xfc, //0x000001c7 movzbl %r12b, %edi + 0x09, 0xdf, //0x000001cb orl %ebx, %edi + 0x09, 0xf8, //0x000001cd orl %edi, %eax + 0x25, 0xf0, 0xc0, 0xc0, 0x00, //0x000001cf andl $12632304, %eax + 0x3d, 0xe0, 0x80, 0x80, 0x00, //0x000001d4 cmpl $8421600, %eax + 0x0f, 0x85, 0x21, 0x00, 0x00, 0x00, //0x000001d9 jne LBB0_29 + 0x89, 0xf8, //0x000001df movl %edi, %eax + 0x25, 0x0f, 0x20, 0x00, 0x00, //0x000001e1 andl $8207, %eax + 0x3d, 0x0d, 0x20, 0x00, 0x00, //0x000001e6 cmpl $8205, %eax + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x000001eb je LBB0_29 + 0xbb, 0x03, 0x00, 0x00, 0x00, //0x000001f1 movl $3, %ebx + 0x85, 0xc0, //0x000001f6 testl %eax, %eax + 0x0f, 0x85, 0x23, 0x00, 0x00, 0x00, //0x000001f8 jne LBB0_34 + 0x90, 0x90, //0x000001fe .p2align 4, 0x90 + //0x00000200 LBB0_29 + 0x41, 0xf6, 0xc4, 0x1e, //0x00000200 testb $30, %r12b + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x00000204 je LBB0_31 + 0x81, 0xe7, 0xe0, 0xc0, 0x00, 0x00, //0x0000020a andl $49376, %edi + 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00000210 movl $2, %ebx + 0x81, 0xff, 0xc0, 0x80, 0x00, 0x00, //0x00000215 cmpl $32960, %edi + 0x0f, 0x85, 0x11, 0x00, 0x00, 0x00, //0x0000021b jne LBB0_31 + //0x00000221 LBB0_34 + 0x48, 0x01, 0xd9, //0x00000221 addq %rbx, %rcx + 0x4c, 0x39, 0xd9, //0x00000224 cmpq %r11, %rcx + 0x0f, 0x82, 0x1f, 0xff, 0xff, 0xff, //0x00000227 jb LBB0_4 + 0xe9, 0x35, 0x00, 0x00, 0x00, //0x0000022d jmp LBB0_36 + //0x00000232 LBB0_31 + 0x48, 0x89, 0xc8, //0x00000232 movq %rcx, %rax + 0x4c, 0x29, 0xd0, //0x00000235 subq %r10, %rax + 0x48, 0x8b, 0x3a, //0x00000238 movq (%rdx), %rdi + 0x48, 0x81, 0xff, 0x00, 0x10, 0x00, 0x00, //0x0000023b cmpq $4096, %rdi + 0x0f, 0x83, 0x34, 0x00, 0x00, 0x00, //0x00000242 jae LBB0_32 + 0x48, 0x98, //0x00000248 cltq + 0x48, 0x8d, 0x5f, 0x01, //0x0000024a leaq $1(%rdi), %rbx + 0x48, 0x89, 0x1a, //0x0000024e movq %rbx, (%rdx) + 0x48, 0x89, 0x44, 0xfa, 0x08, //0x00000251 movq %rax, $8(%rdx,%rdi,8) + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000256 movl $1, %ebx + 0x48, 0x01, 0xd9, //0x0000025b addq %rbx, %rcx + 0x4c, 0x39, 0xd9, //0x0000025e cmpq %r11, %rcx + 0x0f, 0x82, 0xe5, 0xfe, 0xff, 0xff, //0x00000261 jb LBB0_4 + //0x00000267 LBB0_36 + 0x4c, 0x29, 0xd1, //0x00000267 subq %r10, %rcx + 0x48, 0x89, 0x0e, //0x0000026a movq %rcx, (%rsi) + 0x31, 0xc0, //0x0000026d xorl %eax, %eax + //0x0000026f LBB0_37 + 0x48, 0x83, 0xc4, 0x08, //0x0000026f addq $8, %rsp + 0x5b, //0x00000273 popq %rbx + 0x41, 0x5c, //0x00000274 popq %r12 + 0x41, 0x5e, //0x00000276 popq %r14 + 0x41, 0x5f, //0x00000278 popq %r15 + 0x5d, //0x0000027a popq %rbp + 0xc3, //0x0000027b retq + //0x0000027c LBB0_32 + 0x48, 0x89, 0x06, //0x0000027c movq %rax, (%rsi) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000027f movq $-1, %rax + 0xe9, 0xe4, 0xff, 0xff, 0xff, //0x00000286 jmp LBB0_37 + //0x0000028b LBB0_17 + 0x48, 0x89, 0x3e, //0x0000028b movq %rdi, (%rsi) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000028e movq $-1, %rax + 0xe9, 0xd5, 0xff, 0xff, 0xff, //0x00000295 jmp LBB0_37 + 0x00, 0x00, //0x0000029a .p2align 2, 0x00 + //0x0000029c _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x0000029c .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/value.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/value.go new file mode 100644 index 0000000..808a863 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/value.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_value func(s unsafe.Pointer, n int, p int, v unsafe.Pointer, flags uint64) (ret int) + +var S_value uintptr + +//go:nosplit +func value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int) { + return F_value(rt.NoEscape(unsafe.Pointer(s)), n, p, rt.NoEscape(unsafe.Pointer(v)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/value_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/value_subr.go new file mode 100644 index 0000000..62cdd75 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/value_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__value = 544 +) + +const ( + _stack__value = 104 +) + +const ( + _size__value = 13456 +) + +var ( + _pcsp__value = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {3601, 104}, + {3605, 48}, + {3606, 40}, + {3608, 32}, + {3610, 24}, + {3612, 16}, + {3614, 8}, + {3618, 0}, + {13456, 104}, + } +) + +var _cfunc_value = []loader.CFunc{ + {"_value_entry", 0, _entry__value, 0, nil}, + {"_value", _entry__value, _size__value, _stack__value, _pcsp__value}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/value_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/value_text_amd64.go new file mode 100644 index 0000000..7b18230 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/value_text_amd64.go @@ -0,0 +1,5874 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_value = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x20, // .byte 32 + 0x00, //0x00000001 .byte 0 + 0x00, //0x00000002 .byte 0 + 0x00, //0x00000003 .byte 0 + 0x00, //0x00000004 .byte 0 + 0x00, //0x00000005 .byte 0 + 0x00, //0x00000006 .byte 0 + 0x00, //0x00000007 .byte 0 + 0x00, //0x00000008 .byte 0 + 0x09, //0x00000009 .byte 9 + 0x0a, //0x0000000a .byte 10 + 0x00, //0x0000000b .byte 0 + 0x00, //0x0000000c .byte 0 + 0x0d, //0x0000000d .byte 13 + 0x00, //0x0000000e .byte 0 + 0x00, //0x0000000f .byte 0 + 0x20, //0x00000010 .byte 32 + 0x00, //0x00000011 .byte 0 + 0x00, //0x00000012 .byte 0 + 0x00, //0x00000013 .byte 0 + 0x00, //0x00000014 .byte 0 + 0x00, //0x00000015 .byte 0 + 0x00, //0x00000016 .byte 0 + 0x00, //0x00000017 .byte 0 + 0x00, //0x00000018 .byte 0 + 0x09, //0x00000019 .byte 9 + 0x0a, //0x0000001a .byte 10 + 0x00, //0x0000001b .byte 0 + 0x00, //0x0000001c .byte 0 + 0x0d, //0x0000001d .byte 13 + 0x00, //0x0000001e .byte 0 + 0x00, //0x0000001f .byte 0 + //0x00000020 LCPI0_1 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000020 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000030 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000040 LCPI0_2 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000040 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000050 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000060 LCPI0_3 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000060 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000070 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000080 LCPI0_4 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000080 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000090 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x000000a0 LCPI0_5 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x000000a0 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x000000b0 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x000000c0 LCPI0_6 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x000000c0 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x000000d0 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x000000e0 LCPI0_7 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x000000e0 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x000000f0 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000100 LCPI0_8 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000100 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000110 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000120 LCPI0_9 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000120 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000130 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000140 LCPI0_21 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000140 QUAD $0x0000000000000000 // .space 8, '\x00\x00\x00\x00\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000148 .quad 1 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000150 .quad 1 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000158 .quad 1 + //0x00000160 .p2align 4, 0x00 + //0x00000160 LCPI0_10 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000160 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000170 LCPI0_11 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000170 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000180 LCPI0_12 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000180 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000190 LCPI0_13 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000190 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x000001a0 LCPI0_14 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x000001a0 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x000001b0 LCPI0_15 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x000001b0 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x000001c0 LCPI0_16 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000001c0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000001d0 LCPI0_17 + 0x00, 0x00, 0x30, 0x43, //0x000001d0 .long 1127219200 + 0x00, 0x00, 0x30, 0x45, //0x000001d4 .long 1160773632 + 0x00, 0x00, 0x00, 0x00, //0x000001d8 .long 0 + 0x00, 0x00, 0x00, 0x00, //0x000001dc .long 0 + //0x000001e0 LCPI0_18 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x43, //0x000001e0 .quad 4841369599423283200 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x45, //0x000001e8 .quad 4985484787499139072 + //0x000001f0 .p2align 3, 0x00 + //0x000001f0 LCPI0_19 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0x43, //0x000001f0 .quad 4831355200913801216 + //0x000001f8 LCPI0_20 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0xc3, //0x000001f8 .quad -4392016835940974592 + //0x00000200 LCPI0_22 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000200 .quad 1 + //0x00000208 LCPI0_23 + 0x10, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000208 .quad 10000 + //0x00000210 LCPI0_24 + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000210 .quad 10 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000218 .p2align 4, 0x90 + //0x00000220 _value + 0x55, //0x00000220 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000221 movq %rsp, %rbp + 0x41, 0x57, //0x00000224 pushq %r15 + 0x41, 0x56, //0x00000226 pushq %r14 + 0x41, 0x55, //0x00000228 pushq %r13 + 0x41, 0x54, //0x0000022a pushq %r12 + 0x53, //0x0000022c pushq %rbx + 0x48, 0x83, 0xec, 0x38, //0x0000022d subq $56, %rsp + 0x49, 0x89, 0xce, //0x00000231 movq %rcx, %r14 + 0x49, 0x89, 0xf3, //0x00000234 movq %rsi, %r11 + 0x48, 0x39, 0xf2, //0x00000237 cmpq %rsi, %rdx + 0x0f, 0x83, 0x27, 0x00, 0x00, 0x00, //0x0000023a jae LBB0_5 + 0x8a, 0x04, 0x17, //0x00000240 movb (%rdi,%rdx), %al + 0x3c, 0x0d, //0x00000243 cmpb $13, %al + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00000245 je LBB0_5 + 0x3c, 0x20, //0x0000024b cmpb $32, %al + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000024d je LBB0_5 + 0x8d, 0x48, 0xf7, //0x00000253 leal $-9(%rax), %ecx + 0x80, 0xf9, 0x01, //0x00000256 cmpb $1, %cl + 0x0f, 0x86, 0x08, 0x00, 0x00, 0x00, //0x00000259 jbe LBB0_5 + 0x49, 0x89, 0xd7, //0x0000025f movq %rdx, %r15 + 0xe9, 0x85, 0x01, 0x00, 0x00, //0x00000262 jmp LBB0_33 + //0x00000267 LBB0_5 + 0x4c, 0x8d, 0x7a, 0x01, //0x00000267 leaq $1(%rdx), %r15 + 0x4d, 0x39, 0xdf, //0x0000026b cmpq %r11, %r15 + 0x0f, 0x83, 0x20, 0x00, 0x00, 0x00, //0x0000026e jae LBB0_9 + 0x42, 0x8a, 0x04, 0x3f, //0x00000274 movb (%rdi,%r15), %al + 0x3c, 0x0d, //0x00000278 cmpb $13, %al + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000027a je LBB0_9 + 0x3c, 0x20, //0x00000280 cmpb $32, %al + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x00000282 je LBB0_9 + 0x8d, 0x48, 0xf7, //0x00000288 leal $-9(%rax), %ecx + 0x80, 0xf9, 0x01, //0x0000028b cmpb $1, %cl + 0x0f, 0x87, 0x58, 0x01, 0x00, 0x00, //0x0000028e ja LBB0_33 + //0x00000294 LBB0_9 + 0x4c, 0x8d, 0x7a, 0x02, //0x00000294 leaq $2(%rdx), %r15 + 0x4d, 0x39, 0xdf, //0x00000298 cmpq %r11, %r15 + 0x0f, 0x83, 0x20, 0x00, 0x00, 0x00, //0x0000029b jae LBB0_13 + 0x42, 0x8a, 0x04, 0x3f, //0x000002a1 movb (%rdi,%r15), %al + 0x3c, 0x0d, //0x000002a5 cmpb $13, %al + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000002a7 je LBB0_13 + 0x3c, 0x20, //0x000002ad cmpb $32, %al + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x000002af je LBB0_13 + 0x8d, 0x48, 0xf7, //0x000002b5 leal $-9(%rax), %ecx + 0x80, 0xf9, 0x01, //0x000002b8 cmpb $1, %cl + 0x0f, 0x87, 0x2b, 0x01, 0x00, 0x00, //0x000002bb ja LBB0_33 + //0x000002c1 LBB0_13 + 0x4c, 0x8d, 0x7a, 0x03, //0x000002c1 leaq $3(%rdx), %r15 + 0x4d, 0x39, 0xdf, //0x000002c5 cmpq %r11, %r15 + 0x0f, 0x83, 0x20, 0x00, 0x00, 0x00, //0x000002c8 jae LBB0_17 + 0x42, 0x8a, 0x04, 0x3f, //0x000002ce movb (%rdi,%r15), %al + 0x3c, 0x0d, //0x000002d2 cmpb $13, %al + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000002d4 je LBB0_17 + 0x3c, 0x20, //0x000002da cmpb $32, %al + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x000002dc je LBB0_17 + 0x8d, 0x48, 0xf7, //0x000002e2 leal $-9(%rax), %ecx + 0x80, 0xf9, 0x01, //0x000002e5 cmpb $1, %cl + 0x0f, 0x87, 0xfe, 0x00, 0x00, 0x00, //0x000002e8 ja LBB0_33 + //0x000002ee LBB0_17 + 0x48, 0x8d, 0x4a, 0x04, //0x000002ee leaq $4(%rdx), %rcx + 0x4c, 0x39, 0xd9, //0x000002f2 cmpq %r11, %rcx + 0x0f, 0x83, 0xcd, 0x00, 0x00, 0x00, //0x000002f5 jae LBB0_30 + 0x4c, 0x8d, 0x3c, 0x0f, //0x000002fb leaq (%rdi,%rcx), %r15 + 0x4c, 0x89, 0xd8, //0x000002ff movq %r11, %rax + 0x48, 0x29, 0xc8, //0x00000302 subq %rcx, %rax + 0x48, 0x83, 0xf8, 0x20, //0x00000305 cmpq $32, %rax + 0x0f, 0x82, 0x64, 0x00, 0x00, 0x00, //0x00000309 jb LBB0_23 + 0x4c, 0x89, 0xd9, //0x0000030f movq %r11, %rcx + 0x48, 0x29, 0xd1, //0x00000312 subq %rdx, %rcx + 0x48, 0x83, 0xc1, 0xdc, //0x00000315 addq $-36, %rcx + 0x48, 0x89, 0xce, //0x00000319 movq %rcx, %rsi + 0x48, 0x83, 0xe6, 0xe0, //0x0000031c andq $-32, %rsi + 0x48, 0x01, 0xd6, //0x00000320 addq %rdx, %rsi + 0x48, 0x8d, 0x74, 0x37, 0x24, //0x00000323 leaq $36(%rdi,%rsi), %rsi + 0x83, 0xe1, 0x1f, //0x00000328 andl $31, %ecx + 0xc5, 0xfe, 0x6f, 0x05, 0xcd, 0xfc, 0xff, 0xff, //0x0000032b vmovdqu $-819(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000333 .p2align 4, 0x90 + //0x00000340 LBB0_20 + 0xc4, 0xc1, 0x7e, 0x6f, 0x0f, //0x00000340 vmovdqu (%r15), %ymm1 + 0xc4, 0xe2, 0x7d, 0x00, 0xd1, //0x00000345 vpshufb %ymm1, %ymm0, %ymm2 + 0xc5, 0xf5, 0x74, 0xca, //0x0000034a vpcmpeqb %ymm2, %ymm1, %ymm1 + 0xc5, 0xfd, 0xd7, 0xd9, //0x0000034e vpmovmskb %ymm1, %ebx + 0x83, 0xfb, 0xff, //0x00000352 cmpl $-1, %ebx + 0x0f, 0x85, 0x75, 0x00, 0x00, 0x00, //0x00000355 jne LBB0_31 + 0x49, 0x83, 0xc7, 0x20, //0x0000035b addq $32, %r15 + 0x48, 0x83, 0xc0, 0xe0, //0x0000035f addq $-32, %rax + 0x48, 0x83, 0xf8, 0x1f, //0x00000363 cmpq $31, %rax + 0x0f, 0x87, 0xd3, 0xff, 0xff, 0xff, //0x00000367 ja LBB0_20 + 0x48, 0x89, 0xc8, //0x0000036d movq %rcx, %rax + 0x49, 0x89, 0xf7, //0x00000370 movq %rsi, %r15 + //0x00000373 LBB0_23 + 0x48, 0x85, 0xc0, //0x00000373 testq %rax, %rax + 0x0f, 0x84, 0x3b, 0x00, 0x00, 0x00, //0x00000376 je LBB0_29 + 0x49, 0x8d, 0x0c, 0x07, //0x0000037c leaq (%r15,%rax), %rcx + 0x49, 0xff, 0xc7, //0x00000380 incq %r15 + 0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000383 movabsq $4294977024, %rsi + //0x0000038d LBB0_25 + 0x41, 0x0f, 0xbe, 0x5f, 0xff, //0x0000038d movsbl $-1(%r15), %ebx + 0x83, 0xfb, 0x20, //0x00000392 cmpl $32, %ebx + 0x0f, 0x87, 0x77, 0x0c, 0x00, 0x00, //0x00000395 ja LBB0_199 + 0x48, 0x0f, 0xa3, 0xde, //0x0000039b btq %rbx, %rsi + 0x0f, 0x83, 0x6d, 0x0c, 0x00, 0x00, //0x0000039f jae LBB0_199 + 0x48, 0xff, 0xc8, //0x000003a5 decq %rax + 0x49, 0xff, 0xc7, //0x000003a8 incq %r15 + 0x48, 0x85, 0xc0, //0x000003ab testq %rax, %rax + 0x0f, 0x85, 0xd9, 0xff, 0xff, 0xff, //0x000003ae jne LBB0_25 + 0x49, 0x89, 0xcf, //0x000003b4 movq %rcx, %r15 + //0x000003b7 LBB0_29 + 0x49, 0x29, 0xff, //0x000003b7 subq %rdi, %r15 + 0x4d, 0x39, 0xdf, //0x000003ba cmpq %r11, %r15 + 0x0f, 0x82, 0x25, 0x00, 0x00, 0x00, //0x000003bd jb LBB0_32 + 0xe9, 0x5c, 0x0c, 0x00, 0x00, //0x000003c3 jmp LBB0_200 + //0x000003c8 LBB0_30 + 0x48, 0x89, 0xca, //0x000003c8 movq %rcx, %rdx + 0xe9, 0x54, 0x0c, 0x00, 0x00, //0x000003cb jmp LBB0_200 + //0x000003d0 LBB0_31 + 0x49, 0x29, 0xff, //0x000003d0 subq %rdi, %r15 + 0xf7, 0xd3, //0x000003d3 notl %ebx + 0x48, 0x63, 0xc3, //0x000003d5 movslq %ebx, %rax + 0x48, 0x0f, 0xbc, 0xc0, //0x000003d8 bsfq %rax, %rax + 0x49, 0x01, 0xc7, //0x000003dc addq %rax, %r15 + 0x4d, 0x39, 0xdf, //0x000003df cmpq %r11, %r15 + 0x0f, 0x83, 0x3c, 0x0c, 0x00, 0x00, //0x000003e2 jae LBB0_200 + //0x000003e8 LBB0_32 + 0x42, 0x8a, 0x04, 0x3f, //0x000003e8 movb (%rdi,%r15), %al + //0x000003ec LBB0_33 + 0x0f, 0xbe, 0xc8, //0x000003ec movsbl %al, %ecx + 0x83, 0xf9, 0x7d, //0x000003ef cmpl $125, %ecx + 0x0f, 0x87, 0x48, 0x07, 0x00, 0x00, //0x000003f2 ja LBB0_129 + 0x49, 0x8d, 0x57, 0x01, //0x000003f8 leaq $1(%r15), %rdx + 0x4e, 0x8d, 0x0c, 0x3f, //0x000003fc leaq (%rdi,%r15), %r9 + 0x48, 0x8d, 0x35, 0xa9, 0x32, 0x00, 0x00, //0x00000400 leaq $12969(%rip), %rsi /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8e, //0x00000407 movslq (%rsi,%rcx,4), %rcx + 0x48, 0x01, 0xf1, //0x0000040b addq %rsi, %rcx + 0xff, 0xe1, //0x0000040e jmpq *%rcx + //0x00000410 LBB0_35 + 0x41, 0xf6, 0xc0, 0x02, //0x00000410 testb $2, %r8b + 0x48, 0x89, 0x7d, 0xc8, //0x00000414 movq %rdi, $-56(%rbp) + 0x0f, 0x85, 0x70, 0x00, 0x00, 0x00, //0x00000418 jne LBB0_42 + 0x4d, 0x8b, 0x66, 0x20, //0x0000041e movq $32(%r14), %r12 + 0x4d, 0x8b, 0x6e, 0x28, //0x00000422 movq $40(%r14), %r13 + 0x49, 0xc7, 0x06, 0x09, 0x00, 0x00, 0x00, //0x00000426 movq $9, (%r14) + 0xc5, 0xf9, 0xef, 0xc0, //0x0000042d vpxor %xmm0, %xmm0, %xmm0 + 0xc4, 0xc1, 0x7a, 0x7f, 0x46, 0x08, //0x00000431 vmovdqu %xmm0, $8(%r14) + 0x4d, 0x89, 0x7e, 0x18, //0x00000437 movq %r15, $24(%r14) + 0x4d, 0x39, 0xdf, //0x0000043b cmpq %r11, %r15 + 0x0f, 0x83, 0x00, 0x0d, 0x00, 0x00, //0x0000043e jae LBB0_221 + 0x41, 0x8a, 0x31, //0x00000444 movb (%r9), %sil + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000447 movl $1, %r8d + 0x4c, 0x89, 0xff, //0x0000044d movq %r15, %rdi + 0x40, 0x80, 0xfe, 0x2d, //0x00000450 cmpb $45, %sil + 0x0f, 0x85, 0x1a, 0x00, 0x00, 0x00, //0x00000454 jne LBB0_40 + 0x4c, 0x39, 0xda, //0x0000045a cmpq %r11, %rdx + 0x0f, 0x83, 0xe1, 0x0c, 0x00, 0x00, //0x0000045d jae LBB0_221 + 0x48, 0x8b, 0x45, 0xc8, //0x00000463 movq $-56(%rbp), %rax + 0x40, 0x8a, 0x34, 0x10, //0x00000467 movb (%rax,%rdx), %sil + 0x41, 0xb8, 0xff, 0xff, 0xff, 0xff, //0x0000046b movl $-1, %r8d + 0x48, 0x89, 0xd7, //0x00000471 movq %rdx, %rdi + //0x00000474 LBB0_40 + 0x8d, 0x46, 0xd0, //0x00000474 leal $-48(%rsi), %eax + 0x3c, 0x0a, //0x00000477 cmpb $10, %al + 0x0f, 0x82, 0x31, 0x04, 0x00, 0x00, //0x00000479 jb LBB0_98 + 0x49, 0xc7, 0x06, 0xfe, 0xff, 0xff, 0xff, //0x0000047f movq $-2, (%r14) + 0x48, 0x89, 0xfb, //0x00000486 movq %rdi, %rbx + 0xe9, 0xa0, 0x0b, 0x00, 0x00, //0x00000489 jmp LBB0_202 + //0x0000048e LBB0_42 + 0x4d, 0x29, 0xfb, //0x0000048e subq %r15, %r11 + 0x31, 0xc9, //0x00000491 xorl %ecx, %ecx + 0x3c, 0x2d, //0x00000493 cmpb $45, %al + 0x0f, 0x94, 0xc1, //0x00000495 sete %cl + 0x49, 0x01, 0xc9, //0x00000498 addq %rcx, %r9 + 0x49, 0x29, 0xcb, //0x0000049b subq %rcx, %r11 + 0x0f, 0x84, 0x7f, 0x29, 0x00, 0x00, //0x0000049e je LBB0_655 + 0x4c, 0x89, 0x75, 0xb8, //0x000004a4 movq %r14, $-72(%rbp) + 0x41, 0x8a, 0x01, //0x000004a8 movb (%r9), %al + 0x8d, 0x48, 0xd0, //0x000004ab leal $-48(%rax), %ecx + 0x80, 0xf9, 0x09, //0x000004ae cmpb $9, %cl + 0x0f, 0x87, 0xc0, 0x27, 0x00, 0x00, //0x000004b1 ja LBB0_249 + 0x3c, 0x30, //0x000004b7 cmpb $48, %al + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x000004b9 jne LBB0_48 + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000004bf movl $1, %ebx + 0x49, 0x83, 0xfb, 0x01, //0x000004c4 cmpq $1, %r11 + 0x0f, 0x84, 0x6d, 0x0d, 0x00, 0x00, //0x000004c8 je LBB0_246 + 0x41, 0x8a, 0x41, 0x01, //0x000004ce movb $1(%r9), %al + 0x04, 0xd2, //0x000004d2 addb $-46, %al + 0x3c, 0x37, //0x000004d4 cmpb $55, %al + 0x0f, 0x87, 0x5f, 0x0d, 0x00, 0x00, //0x000004d6 ja LBB0_246 + 0x0f, 0xb6, 0xc0, //0x000004dc movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000004df movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x000004e9 btq %rax, %rcx + 0x0f, 0x83, 0x48, 0x0d, 0x00, 0x00, //0x000004ed jae LBB0_246 + //0x000004f3 LBB0_48 + 0x49, 0x83, 0xfb, 0x20, //0x000004f3 cmpq $32, %r11 + 0x0f, 0x82, 0x32, 0x29, 0x00, 0x00, //0x000004f7 jb LBB0_656 + 0x49, 0x8d, 0x4b, 0xe0, //0x000004fd leaq $-32(%r11), %rcx + 0x48, 0x89, 0xc8, //0x00000501 movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xe0, //0x00000504 andq $-32, %rax + 0x4e, 0x8d, 0x6c, 0x08, 0x20, //0x00000508 leaq $32(%rax,%r9), %r13 + 0x83, 0xe1, 0x1f, //0x0000050d andl $31, %ecx + 0x48, 0x89, 0x4d, 0xc0, //0x00000510 movq %rcx, $-64(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000514 movq $-1, %r8 + 0xc5, 0xfe, 0x6f, 0x05, 0x5d, 0xfb, 0xff, 0xff, //0x0000051b vmovdqu $-1187(%rip), %ymm0 /* LCPI0_4+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0x75, 0xfb, 0xff, 0xff, //0x00000523 vmovdqu $-1163(%rip), %ymm1 /* LCPI0_5+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x15, 0x8d, 0xfb, 0xff, 0xff, //0x0000052b vmovdqu $-1139(%rip), %ymm2 /* LCPI0_6+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x1d, 0xa5, 0xfb, 0xff, 0xff, //0x00000533 vmovdqu $-1115(%rip), %ymm3 /* LCPI0_7+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x25, 0x1d, 0xfb, 0xff, 0xff, //0x0000053b vmovdqu $-1251(%rip), %ymm4 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x2d, 0xb5, 0xfb, 0xff, 0xff, //0x00000543 vmovdqu $-1099(%rip), %ymm5 /* LCPI0_8+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x35, 0xcd, 0xfb, 0xff, 0xff, //0x0000054b vmovdqu $-1075(%rip), %ymm6 /* LCPI0_9+0(%rip) */ + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000553 movq $-1, %r14 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000055a movq $-1, %r10 + 0x4c, 0x89, 0xc8, //0x00000561 movq %r9, %rax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000564 .p2align 4, 0x90 + //0x00000570 LBB0_50 + 0xc5, 0xfe, 0x6f, 0x38, //0x00000570 vmovdqu (%rax), %ymm7 + 0xc5, 0x45, 0x64, 0xc0, //0x00000574 vpcmpgtb %ymm0, %ymm7, %ymm8 + 0xc5, 0x75, 0x64, 0xcf, //0x00000578 vpcmpgtb %ymm7, %ymm1, %ymm9 + 0xc4, 0x41, 0x3d, 0xdb, 0xc1, //0x0000057c vpand %ymm9, %ymm8, %ymm8 + 0xc5, 0x45, 0x74, 0xca, //0x00000581 vpcmpeqb %ymm2, %ymm7, %ymm9 + 0xc5, 0x45, 0x74, 0xd3, //0x00000585 vpcmpeqb %ymm3, %ymm7, %ymm10 + 0xc4, 0x41, 0x2d, 0xeb, 0xc9, //0x00000589 vpor %ymm9, %ymm10, %ymm9 + 0xc5, 0x45, 0xeb, 0xd4, //0x0000058e vpor %ymm4, %ymm7, %ymm10 + 0xc5, 0x2d, 0x74, 0xd6, //0x00000592 vpcmpeqb %ymm6, %ymm10, %ymm10 + 0xc5, 0xc5, 0x74, 0xfd, //0x00000596 vpcmpeqb %ymm5, %ymm7, %ymm7 + 0xc5, 0xfd, 0xd7, 0xdf, //0x0000059a vpmovmskb %ymm7, %ebx + 0xc4, 0x41, 0x7d, 0xd7, 0xe2, //0x0000059e vpmovmskb %ymm10, %r12d + 0xc4, 0xc1, 0x7d, 0xd7, 0xf1, //0x000005a3 vpmovmskb %ymm9, %esi + 0xc5, 0xad, 0xeb, 0xff, //0x000005a8 vpor %ymm7, %ymm10, %ymm7 + 0xc4, 0x41, 0x35, 0xeb, 0xc0, //0x000005ac vpor %ymm8, %ymm9, %ymm8 + 0xc5, 0xbd, 0xeb, 0xff, //0x000005b1 vpor %ymm7, %ymm8, %ymm7 + 0xc5, 0xfd, 0xd7, 0xcf, //0x000005b5 vpmovmskb %ymm7, %ecx + 0x48, 0xf7, 0xd1, //0x000005b9 notq %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x000005bc bsfq %rcx, %rcx + 0x83, 0xf9, 0x20, //0x000005c0 cmpl $32, %ecx + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000005c3 je LBB0_52 + 0xbf, 0xff, 0xff, 0xff, 0xff, //0x000005c9 movl $-1, %edi + 0xd3, 0xe7, //0x000005ce shll %cl, %edi + 0xf7, 0xd7, //0x000005d0 notl %edi + 0x21, 0xfb, //0x000005d2 andl %edi, %ebx + 0x41, 0x21, 0xfc, //0x000005d4 andl %edi, %r12d + 0x21, 0xf7, //0x000005d7 andl %esi, %edi + 0x89, 0xfe, //0x000005d9 movl %edi, %esi + //0x000005db LBB0_52 + 0x8d, 0x7b, 0xff, //0x000005db leal $-1(%rbx), %edi + 0x21, 0xdf, //0x000005de andl %ebx, %edi + 0x0f, 0x85, 0x02, 0x0a, 0x00, 0x00, //0x000005e0 jne LBB0_197 + 0x41, 0x8d, 0x7c, 0x24, 0xff, //0x000005e6 leal $-1(%r12), %edi + 0x44, 0x21, 0xe7, //0x000005eb andl %r12d, %edi + 0x0f, 0x85, 0xf4, 0x09, 0x00, 0x00, //0x000005ee jne LBB0_197 + 0x8d, 0x7e, 0xff, //0x000005f4 leal $-1(%rsi), %edi + 0x21, 0xf7, //0x000005f7 andl %esi, %edi + 0x0f, 0x85, 0xe9, 0x09, 0x00, 0x00, //0x000005f9 jne LBB0_197 + 0x85, 0xdb, //0x000005ff testl %ebx, %ebx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000601 je LBB0_58 + 0x48, 0x89, 0xc7, //0x00000607 movq %rax, %rdi + 0x4c, 0x29, 0xcf, //0x0000060a subq %r9, %rdi + 0x0f, 0xbc, 0xdb, //0x0000060d bsfl %ebx, %ebx + 0x48, 0x01, 0xfb, //0x00000610 addq %rdi, %rbx + 0x49, 0x83, 0xfa, 0xff, //0x00000613 cmpq $-1, %r10 + 0x0f, 0x85, 0x12, 0x0c, 0x00, 0x00, //0x00000617 jne LBB0_244 + 0x49, 0x89, 0xda, //0x0000061d movq %rbx, %r10 + //0x00000620 LBB0_58 + 0x45, 0x85, 0xe4, //0x00000620 testl %r12d, %r12d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000623 je LBB0_61 + 0x48, 0x89, 0xc7, //0x00000629 movq %rax, %rdi + 0x4c, 0x29, 0xcf, //0x0000062c subq %r9, %rdi + 0x41, 0x0f, 0xbc, 0xdc, //0x0000062f bsfl %r12d, %ebx + 0x48, 0x01, 0xfb, //0x00000633 addq %rdi, %rbx + 0x49, 0x83, 0xfe, 0xff, //0x00000636 cmpq $-1, %r14 + 0x0f, 0x85, 0xef, 0x0b, 0x00, 0x00, //0x0000063a jne LBB0_244 + 0x49, 0x89, 0xde, //0x00000640 movq %rbx, %r14 + //0x00000643 LBB0_61 + 0x85, 0xf6, //0x00000643 testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000645 je LBB0_64 + 0x48, 0x89, 0xc7, //0x0000064b movq %rax, %rdi + 0x4c, 0x29, 0xcf, //0x0000064e subq %r9, %rdi + 0x0f, 0xbc, 0xde, //0x00000651 bsfl %esi, %ebx + 0x48, 0x01, 0xfb, //0x00000654 addq %rdi, %rbx + 0x49, 0x83, 0xf8, 0xff, //0x00000657 cmpq $-1, %r8 + 0x0f, 0x85, 0xce, 0x0b, 0x00, 0x00, //0x0000065b jne LBB0_244 + 0x49, 0x89, 0xd8, //0x00000661 movq %rbx, %r8 + //0x00000664 LBB0_64 + 0x83, 0xf9, 0x20, //0x00000664 cmpl $32, %ecx + 0x0f, 0x85, 0xb3, 0x01, 0x00, 0x00, //0x00000667 jne LBB0_87 + 0x48, 0x83, 0xc0, 0x20, //0x0000066d addq $32, %rax + 0x49, 0x83, 0xc3, 0xe0, //0x00000671 addq $-32, %r11 + 0x49, 0x83, 0xfb, 0x1f, //0x00000675 cmpq $31, %r11 + 0x0f, 0x87, 0xf1, 0xfe, 0xff, 0xff, //0x00000679 ja LBB0_50 + 0xc5, 0xf8, 0x77, //0x0000067f vzeroupper + 0x4c, 0x8b, 0x5d, 0xc0, //0x00000682 movq $-64(%rbp), %r11 + 0x49, 0x83, 0xfb, 0x10, //0x00000686 cmpq $16, %r11 + 0x0f, 0x82, 0x76, 0x01, 0x00, 0x00, //0x0000068a jb LBB0_85 + //0x00000690 LBB0_67 + 0xbe, 0xff, 0xff, 0xff, 0xff, //0x00000690 movl $4294967295, %esi + 0x49, 0x8d, 0x4b, 0xf0, //0x00000695 leaq $-16(%r11), %rcx + 0x48, 0x89, 0xc8, //0x00000699 movq %rcx, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x0000069c andq $-16, %rax + 0x4a, 0x8d, 0x44, 0x28, 0x10, //0x000006a0 leaq $16(%rax,%r13), %rax + 0x48, 0x89, 0x45, 0xb0, //0x000006a5 movq %rax, $-80(%rbp) + 0x83, 0xe1, 0x0f, //0x000006a9 andl $15, %ecx + 0x48, 0x89, 0x4d, 0xc0, //0x000006ac movq %rcx, $-64(%rbp) + 0xc5, 0x7a, 0x6f, 0x05, 0xa8, 0xfa, 0xff, 0xff, //0x000006b0 vmovdqu $-1368(%rip), %xmm8 /* LCPI0_10+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x0d, 0xb0, 0xfa, 0xff, 0xff, //0x000006b8 vmovdqu $-1360(%rip), %xmm9 /* LCPI0_11+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x15, 0xb8, 0xfa, 0xff, 0xff, //0x000006c0 vmovdqu $-1352(%rip), %xmm10 /* LCPI0_12+0(%rip) */ + 0xc5, 0x7a, 0x6f, 0x1d, 0xc0, 0xfa, 0xff, 0xff, //0x000006c8 vmovdqu $-1344(%rip), %xmm11 /* LCPI0_13+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x25, 0xc8, 0xfa, 0xff, 0xff, //0x000006d0 vmovdqu $-1336(%rip), %xmm4 /* LCPI0_14+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x2d, 0xd0, 0xfa, 0xff, 0xff, //0x000006d8 vmovdqu $-1328(%rip), %xmm5 /* LCPI0_15+0(%rip) */ + 0xc5, 0xfa, 0x6f, 0x35, 0xd8, 0xfa, 0xff, 0xff, //0x000006e0 vmovdqu $-1320(%rip), %xmm6 /* LCPI0_16+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000006e8 .p2align 4, 0x90 + //0x000006f0 LBB0_68 + 0xc4, 0xc1, 0x7a, 0x6f, 0x7d, 0x00, //0x000006f0 vmovdqu (%r13), %xmm7 + 0xc4, 0xc1, 0x41, 0x64, 0xc0, //0x000006f6 vpcmpgtb %xmm8, %xmm7, %xmm0 + 0xc5, 0xb1, 0x64, 0xcf, //0x000006fb vpcmpgtb %xmm7, %xmm9, %xmm1 + 0xc5, 0xf9, 0xdb, 0xc1, //0x000006ff vpand %xmm1, %xmm0, %xmm0 + 0xc5, 0xa9, 0x74, 0xcf, //0x00000703 vpcmpeqb %xmm7, %xmm10, %xmm1 + 0xc5, 0xa1, 0x74, 0xd7, //0x00000707 vpcmpeqb %xmm7, %xmm11, %xmm2 + 0xc5, 0xe9, 0xeb, 0xc9, //0x0000070b vpor %xmm1, %xmm2, %xmm1 + 0xc5, 0xc1, 0xeb, 0xd4, //0x0000070f vpor %xmm4, %xmm7, %xmm2 + 0xc5, 0xe9, 0x74, 0xd6, //0x00000713 vpcmpeqb %xmm6, %xmm2, %xmm2 + 0xc5, 0xc1, 0x74, 0xfd, //0x00000717 vpcmpeqb %xmm5, %xmm7, %xmm7 + 0xc5, 0xe9, 0xeb, 0xdf, //0x0000071b vpor %xmm7, %xmm2, %xmm3 + 0xc5, 0xf1, 0xeb, 0xc0, //0x0000071f vpor %xmm0, %xmm1, %xmm0 + 0xc5, 0xe1, 0xeb, 0xc0, //0x00000723 vpor %xmm0, %xmm3, %xmm0 + 0xc5, 0xf9, 0xd7, 0xdf, //0x00000727 vpmovmskb %xmm7, %ebx + 0xc5, 0xf9, 0xd7, 0xfa, //0x0000072b vpmovmskb %xmm2, %edi + 0xc5, 0x79, 0xd7, 0xe1, //0x0000072f vpmovmskb %xmm1, %r12d + 0xc5, 0xf9, 0xd7, 0xc0, //0x00000733 vpmovmskb %xmm0, %eax + 0x48, 0x31, 0xf0, //0x00000737 xorq %rsi, %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x0000073a bsfq %rax, %rcx + 0x83, 0xf9, 0x10, //0x0000073e cmpl $16, %ecx + 0x0f, 0x84, 0x13, 0x00, 0x00, 0x00, //0x00000741 je LBB0_70 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00000747 movl $-1, %eax + 0xd3, 0xe0, //0x0000074c shll %cl, %eax + 0xf7, 0xd0, //0x0000074e notl %eax + 0x21, 0xc3, //0x00000750 andl %eax, %ebx + 0x21, 0xc7, //0x00000752 andl %eax, %edi + 0x44, 0x21, 0xe0, //0x00000754 andl %r12d, %eax + 0x41, 0x89, 0xc4, //0x00000757 movl %eax, %r12d + //0x0000075a LBB0_70 + 0x8d, 0x43, 0xff, //0x0000075a leal $-1(%rbx), %eax + 0x21, 0xd8, //0x0000075d andl %ebx, %eax + 0x0f, 0x85, 0xc1, 0x0a, 0x00, 0x00, //0x0000075f jne LBB0_238 + 0x8d, 0x47, 0xff, //0x00000765 leal $-1(%rdi), %eax + 0x21, 0xf8, //0x00000768 andl %edi, %eax + 0x0f, 0x85, 0xb6, 0x0a, 0x00, 0x00, //0x0000076a jne LBB0_238 + 0x41, 0x8d, 0x44, 0x24, 0xff, //0x00000770 leal $-1(%r12), %eax + 0x44, 0x21, 0xe0, //0x00000775 andl %r12d, %eax + 0x0f, 0x85, 0xa8, 0x0a, 0x00, 0x00, //0x00000778 jne LBB0_238 + 0x85, 0xdb, //0x0000077e testl %ebx, %ebx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000780 je LBB0_76 + 0x4c, 0x89, 0xe8, //0x00000786 movq %r13, %rax + 0x4c, 0x29, 0xc8, //0x00000789 subq %r9, %rax + 0x0f, 0xbc, 0xdb, //0x0000078c bsfl %ebx, %ebx + 0x48, 0x01, 0xc3, //0x0000078f addq %rax, %rbx + 0x49, 0x83, 0xfa, 0xff, //0x00000792 cmpq $-1, %r10 + 0x0f, 0x85, 0x93, 0x0a, 0x00, 0x00, //0x00000796 jne LBB0_244 + 0x49, 0x89, 0xda, //0x0000079c movq %rbx, %r10 + //0x0000079f LBB0_76 + 0x85, 0xff, //0x0000079f testl %edi, %edi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x000007a1 je LBB0_79 + 0x4c, 0x89, 0xe8, //0x000007a7 movq %r13, %rax + 0x4c, 0x29, 0xc8, //0x000007aa subq %r9, %rax + 0x0f, 0xbc, 0xdf, //0x000007ad bsfl %edi, %ebx + 0x48, 0x01, 0xc3, //0x000007b0 addq %rax, %rbx + 0x49, 0x83, 0xfe, 0xff, //0x000007b3 cmpq $-1, %r14 + 0x0f, 0x85, 0x72, 0x0a, 0x00, 0x00, //0x000007b7 jne LBB0_244 + 0x49, 0x89, 0xde, //0x000007bd movq %rbx, %r14 + //0x000007c0 LBB0_79 + 0x45, 0x85, 0xe4, //0x000007c0 testl %r12d, %r12d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000007c3 je LBB0_82 + 0x4c, 0x89, 0xe8, //0x000007c9 movq %r13, %rax + 0x4c, 0x29, 0xc8, //0x000007cc subq %r9, %rax + 0x41, 0x0f, 0xbc, 0xdc, //0x000007cf bsfl %r12d, %ebx + 0x48, 0x01, 0xc3, //0x000007d3 addq %rax, %rbx + 0x49, 0x83, 0xf8, 0xff, //0x000007d6 cmpq $-1, %r8 + 0x0f, 0x85, 0x4f, 0x0a, 0x00, 0x00, //0x000007da jne LBB0_244 + 0x49, 0x89, 0xd8, //0x000007e0 movq %rbx, %r8 + //0x000007e3 LBB0_82 + 0x83, 0xf9, 0x10, //0x000007e3 cmpl $16, %ecx + 0x0f, 0x85, 0x12, 0x04, 0x00, 0x00, //0x000007e6 jne LBB0_141 + 0x49, 0x83, 0xc5, 0x10, //0x000007ec addq $16, %r13 + 0x49, 0x83, 0xc3, 0xf0, //0x000007f0 addq $-16, %r11 + 0x49, 0x83, 0xfb, 0x0f, //0x000007f4 cmpq $15, %r11 + 0x0f, 0x87, 0xf2, 0xfe, 0xff, 0xff, //0x000007f8 ja LBB0_68 + 0x4c, 0x8b, 0x5d, 0xc0, //0x000007fe movq $-64(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xb0, //0x00000802 movq $-80(%rbp), %r13 + //0x00000806 LBB0_85 + 0x4d, 0x85, 0xdb, //0x00000806 testq %r11, %r11 + 0x0f, 0x84, 0xf2, 0x03, 0x00, 0x00, //0x00000809 je LBB0_142 + 0x4b, 0x8d, 0x44, 0x1d, 0x00, //0x0000080f leaq (%r13,%r11), %rax + 0x48, 0x8d, 0x0d, 0x8d, 0x30, 0x00, 0x00, //0x00000814 leaq $12429(%rip), %rcx /* LJTI0_1+0(%rip) */ + 0xe9, 0x3c, 0x00, 0x00, 0x00, //0x0000081b jmp LBB0_92 + //0x00000820 LBB0_87 + 0x48, 0x01, 0xc8, //0x00000820 addq %rcx, %rax + 0xc5, 0xf8, 0x77, //0x00000823 vzeroupper + //0x00000826 LBB0_88 + 0x49, 0x89, 0xc5, //0x00000826 movq %rax, %r13 + 0xe9, 0xd3, 0x03, 0x00, 0x00, //0x00000829 jmp LBB0_142 + //0x0000082e LBB0_89 + 0x48, 0x89, 0xf3, //0x0000082e movq %rsi, %rbx + 0x4c, 0x29, 0xcb, //0x00000831 subq %r9, %rbx + 0x49, 0x83, 0xfa, 0xff, //0x00000834 cmpq $-1, %r10 + 0x0f, 0x85, 0x27, 0x24, 0x00, 0x00, //0x00000838 jne LBB0_660 + 0x48, 0xff, 0xcb, //0x0000083e decq %rbx + 0x49, 0x89, 0xda, //0x00000841 movq %rbx, %r10 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000844 .p2align 4, 0x90 + //0x00000850 LBB0_91 + 0x49, 0x89, 0xf5, //0x00000850 movq %rsi, %r13 + 0x49, 0xff, 0xcb, //0x00000853 decq %r11 + 0x0f, 0x84, 0xca, 0xff, 0xff, 0xff, //0x00000856 je LBB0_88 + //0x0000085c LBB0_92 + 0x41, 0x0f, 0xbe, 0x7d, 0x00, //0x0000085c movsbl (%r13), %edi + 0x83, 0xc7, 0xd5, //0x00000861 addl $-43, %edi + 0x83, 0xff, 0x3a, //0x00000864 cmpl $58, %edi + 0x0f, 0x87, 0x94, 0x03, 0x00, 0x00, //0x00000867 ja LBB0_142 + 0x49, 0x8d, 0x75, 0x01, //0x0000086d leaq $1(%r13), %rsi + 0x48, 0x63, 0x3c, 0xb9, //0x00000871 movslq (%rcx,%rdi,4), %rdi + 0x48, 0x01, 0xcf, //0x00000875 addq %rcx, %rdi + 0xff, 0xe7, //0x00000878 jmpq *%rdi + //0x0000087a LBB0_94 + 0x48, 0x89, 0xf3, //0x0000087a movq %rsi, %rbx + 0x4c, 0x29, 0xcb, //0x0000087d subq %r9, %rbx + 0x49, 0x83, 0xf8, 0xff, //0x00000880 cmpq $-1, %r8 + 0x0f, 0x85, 0xdb, 0x23, 0x00, 0x00, //0x00000884 jne LBB0_660 + 0x48, 0xff, 0xcb, //0x0000088a decq %rbx + 0x49, 0x89, 0xd8, //0x0000088d movq %rbx, %r8 + 0xe9, 0xbb, 0xff, 0xff, 0xff, //0x00000890 jmp LBB0_91 + //0x00000895 LBB0_96 + 0x48, 0x89, 0xf3, //0x00000895 movq %rsi, %rbx + 0x4c, 0x29, 0xcb, //0x00000898 subq %r9, %rbx + 0x49, 0x83, 0xfe, 0xff, //0x0000089b cmpq $-1, %r14 + 0x0f, 0x85, 0xc0, 0x23, 0x00, 0x00, //0x0000089f jne LBB0_660 + 0x48, 0xff, 0xcb, //0x000008a5 decq %rbx + 0x49, 0x89, 0xde, //0x000008a8 movq %rbx, %r14 + 0xe9, 0xa0, 0xff, 0xff, 0xff, //0x000008ab jmp LBB0_91 + //0x000008b0 LBB0_98 + 0x40, 0x80, 0xfe, 0x30, //0x000008b0 cmpb $48, %sil + 0x0f, 0x85, 0x35, 0x00, 0x00, 0x00, //0x000008b4 jne LBB0_102 + 0x48, 0x8d, 0x5f, 0x01, //0x000008ba leaq $1(%rdi), %rbx + 0x4c, 0x39, 0xdf, //0x000008be cmpq %r11, %rdi + 0x0f, 0x83, 0x67, 0x07, 0x00, 0x00, //0x000008c1 jae LBB0_202 + 0x48, 0x8b, 0x45, 0xc8, //0x000008c7 movq $-56(%rbp), %rax + 0x8a, 0x04, 0x18, //0x000008cb movb (%rax,%rbx), %al + 0x04, 0xd2, //0x000008ce addb $-46, %al + 0x3c, 0x37, //0x000008d0 cmpb $55, %al + 0x0f, 0x87, 0x56, 0x07, 0x00, 0x00, //0x000008d2 ja LBB0_202 + 0x0f, 0xb6, 0xc0, //0x000008d8 movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000008db movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x000008e5 btq %rax, %rcx + 0x0f, 0x83, 0x3f, 0x07, 0x00, 0x00, //0x000008e9 jae LBB0_202 + //0x000008ef LBB0_102 + 0x4c, 0x39, 0xdf, //0x000008ef cmpq %r11, %rdi + 0x0f, 0x83, 0x4f, 0x05, 0x00, 0x00, //0x000008f2 jae LBB0_168 + 0x48, 0xff, 0xc7, //0x000008f8 incq %rdi + 0x31, 0xc9, //0x000008fb xorl %ecx, %ecx + 0x48, 0x89, 0xfb, //0x000008fd movq %rdi, %rbx + 0x31, 0xc0, //0x00000900 xorl %eax, %eax + 0x45, 0x31, 0xd2, //0x00000902 xorl %r10d, %r10d + //0x00000905 LBB0_104 + 0x83, 0xf8, 0x12, //0x00000905 cmpl $18, %eax + 0x0f, 0x8f, 0x14, 0x00, 0x00, 0x00, //0x00000908 jg LBB0_106 + 0x40, 0x0f, 0xb6, 0xd6, //0x0000090e movzbl %sil, %edx + 0x4b, 0x8d, 0x34, 0x92, //0x00000912 leaq (%r10,%r10,4), %rsi + 0x4c, 0x8d, 0x54, 0x72, 0xd0, //0x00000916 leaq $-48(%rdx,%rsi,2), %r10 + 0xff, 0xc0, //0x0000091b incl %eax + 0xe9, 0x02, 0x00, 0x00, 0x00, //0x0000091d jmp LBB0_107 + //0x00000922 LBB0_106 + 0xff, 0xc1, //0x00000922 incl %ecx + //0x00000924 LBB0_107 + 0x49, 0x39, 0xdb, //0x00000924 cmpq %rbx, %r11 + 0x0f, 0x84, 0x2c, 0x06, 0x00, 0x00, //0x00000927 je LBB0_185 + 0x48, 0x8b, 0x55, 0xc8, //0x0000092d movq $-56(%rbp), %rdx + 0x0f, 0xb6, 0x34, 0x1a, //0x00000931 movzbl (%rdx,%rbx), %esi + 0x8d, 0x56, 0xd0, //0x00000935 leal $-48(%rsi), %edx + 0x48, 0xff, 0xc3, //0x00000938 incq %rbx + 0x80, 0xfa, 0x0a, //0x0000093b cmpb $10, %dl + 0x0f, 0x82, 0xc1, 0xff, 0xff, 0xff, //0x0000093e jb LBB0_104 + 0x31, 0xd2, //0x00000944 xorl %edx, %edx + 0x85, 0xc9, //0x00000946 testl %ecx, %ecx + 0x0f, 0x9f, 0xc2, //0x00000948 setg %dl + 0x40, 0x80, 0xfe, 0x2e, //0x0000094b cmpb $46, %sil + 0x0f, 0x85, 0xad, 0x06, 0x00, 0x00, //0x0000094f jne LBB0_198 + 0x49, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, //0x00000955 movq $8, (%r14) + 0x4c, 0x39, 0xdb, //0x0000095c cmpq %r11, %rbx + 0x0f, 0x83, 0xdf, 0x07, 0x00, 0x00, //0x0000095f jae LBB0_221 + 0x89, 0x55, 0xc0, //0x00000965 movl %edx, $-64(%rbp) + 0x48, 0x89, 0xde, //0x00000968 movq %rbx, %rsi + 0x48, 0x8b, 0x55, 0xc8, //0x0000096b movq $-56(%rbp), %rdx + 0x8a, 0x1c, 0x1a, //0x0000096f movb (%rdx,%rbx), %bl + 0x80, 0xc3, 0xd0, //0x00000972 addb $-48, %bl + 0xba, 0x08, 0x00, 0x00, 0x00, //0x00000975 movl $8, %edx + 0x80, 0xfb, 0x0a, //0x0000097a cmpb $10, %bl + 0x0f, 0x82, 0x69, 0x09, 0x00, 0x00, //0x0000097d jb LBB0_259 + 0x49, 0xc7, 0x06, 0xfe, 0xff, 0xff, 0xff, //0x00000983 movq $-2, (%r14) + 0x48, 0x89, 0xf3, //0x0000098a movq %rsi, %rbx + 0xe9, 0x9c, 0x06, 0x00, 0x00, //0x0000098d jmp LBB0_202 + //0x00000992 LBB0_113 + 0x4c, 0x89, 0xf8, //0x00000992 movq %r15, %rax + 0x48, 0xf7, 0xd0, //0x00000995 notq %rax + 0x41, 0xf6, 0xc0, 0x20, //0x00000998 testb $32, %r8b + 0x0f, 0x85, 0xe1, 0x02, 0x00, 0x00, //0x0000099c jne LBB0_152 + 0x4c, 0x39, 0xda, //0x000009a2 cmpq %r11, %rdx + 0x0f, 0x84, 0xad, 0x2c, 0x00, 0x00, //0x000009a5 je LBB0_722 + 0x49, 0x89, 0xfa, //0x000009ab movq %rdi, %r10 + 0x4d, 0x89, 0xdd, //0x000009ae movq %r11, %r13 + 0x49, 0x29, 0xd5, //0x000009b1 subq %rdx, %r13 + 0x49, 0x8d, 0x0c, 0x12, //0x000009b4 leaq (%r10,%rdx), %rcx + 0x49, 0x83, 0xfd, 0x40, //0x000009b8 cmpq $64, %r13 + 0x0f, 0x82, 0xd9, 0x29, 0x00, 0x00, //0x000009bc jb LBB0_723 + 0x4c, 0x89, 0xd6, //0x000009c2 movq %r10, %rsi + 0x45, 0x89, 0xec, //0x000009c5 movl %r13d, %r12d + 0x41, 0x83, 0xe4, 0x3f, //0x000009c8 andl $63, %r12d + 0x49, 0x8d, 0x44, 0x03, 0xc0, //0x000009cc leaq $-64(%r11,%rax), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x000009d1 andq $-64, %rax + 0x49, 0x01, 0xc7, //0x000009d5 addq %rax, %r15 + 0x4f, 0x8d, 0x4c, 0x3a, 0x41, //0x000009d8 leaq $65(%r10,%r15), %r9 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000009dd movq $-1, %r8 + 0x45, 0x31, 0xff, //0x000009e4 xorl %r15d, %r15d + 0xc5, 0xfe, 0x6f, 0x05, 0x31, 0xf6, 0xff, 0xff, //0x000009e7 vmovdqu $-2511(%rip), %ymm0 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0x49, 0xf6, 0xff, 0xff, //0x000009ef vmovdqu $-2487(%rip), %ymm1 /* LCPI0_2+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000009f7 .p2align 4, 0x90 + //0x00000a00 LBB0_117 + 0xc5, 0xfe, 0x6f, 0x11, //0x00000a00 vmovdqu (%rcx), %ymm2 + 0xc5, 0xfe, 0x6f, 0x59, 0x20, //0x00000a04 vmovdqu $32(%rcx), %ymm3 + 0xc5, 0xed, 0x74, 0xe0, //0x00000a09 vpcmpeqb %ymm0, %ymm2, %ymm4 + 0xc5, 0xfd, 0xd7, 0xf4, //0x00000a0d vpmovmskb %ymm4, %esi + 0xc5, 0xe5, 0x74, 0xe0, //0x00000a11 vpcmpeqb %ymm0, %ymm3, %ymm4 + 0xc5, 0xfd, 0xd7, 0xc4, //0x00000a15 vpmovmskb %ymm4, %eax + 0xc5, 0xed, 0x74, 0xd1, //0x00000a19 vpcmpeqb %ymm1, %ymm2, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x00000a1d vpmovmskb %ymm2, %edi + 0xc5, 0xe5, 0x74, 0xd1, //0x00000a21 vpcmpeqb %ymm1, %ymm3, %ymm2 + 0xc5, 0xfd, 0xd7, 0xda, //0x00000a25 vpmovmskb %ymm2, %ebx + 0x48, 0xc1, 0xe0, 0x20, //0x00000a29 shlq $32, %rax + 0x48, 0xc1, 0xe3, 0x20, //0x00000a2d shlq $32, %rbx + 0x48, 0x09, 0xdf, //0x00000a31 orq %rbx, %rdi + 0x49, 0x83, 0xf8, 0xff, //0x00000a34 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000a38 jne LBB0_119 + 0x48, 0x85, 0xff, //0x00000a3e testq %rdi, %rdi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000a41 jne LBB0_122 + //0x00000a47 LBB0_119 + 0x48, 0x09, 0xf0, //0x00000a47 orq %rsi, %rax + 0x48, 0x89, 0xfe, //0x00000a4a movq %rdi, %rsi + 0x4c, 0x09, 0xfe, //0x00000a4d orq %r15, %rsi + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00000a50 jne LBB0_123 + //0x00000a56 LBB0_120 + 0x48, 0x85, 0xc0, //0x00000a56 testq %rax, %rax + 0x0f, 0x85, 0xe1, 0x08, 0x00, 0x00, //0x00000a59 jne LBB0_264 + //0x00000a5f LBB0_121 + 0x49, 0x83, 0xc5, 0xc0, //0x00000a5f addq $-64, %r13 + 0x48, 0x83, 0xc1, 0x40, //0x00000a63 addq $64, %rcx + 0x49, 0x83, 0xfd, 0x3f, //0x00000a67 cmpq $63, %r13 + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x00000a6b ja LBB0_117 + 0xe9, 0x7e, 0x08, 0x00, 0x00, //0x00000a71 jmp LBB0_260 + //0x00000a76 LBB0_122 + 0x48, 0x89, 0xcb, //0x00000a76 movq %rcx, %rbx + 0x4c, 0x29, 0xd3, //0x00000a79 subq %r10, %rbx + 0x4c, 0x0f, 0xbc, 0xc7, //0x00000a7c bsfq %rdi, %r8 + 0x49, 0x01, 0xd8, //0x00000a80 addq %rbx, %r8 + 0x48, 0x09, 0xf0, //0x00000a83 orq %rsi, %rax + 0x48, 0x89, 0xfe, //0x00000a86 movq %rdi, %rsi + 0x4c, 0x09, 0xfe, //0x00000a89 orq %r15, %rsi + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x00000a8c je LBB0_120 + //0x00000a92 LBB0_123 + 0x4c, 0x89, 0xfe, //0x00000a92 movq %r15, %rsi + 0x48, 0xf7, 0xd6, //0x00000a95 notq %rsi + 0x48, 0x21, 0xfe, //0x00000a98 andq %rdi, %rsi + 0x48, 0x8d, 0x1c, 0x36, //0x00000a9b leaq (%rsi,%rsi), %rbx + 0x4c, 0x09, 0xfb, //0x00000a9f orq %r15, %rbx + 0x48, 0x89, 0x5d, 0xc0, //0x00000aa2 movq %rbx, $-64(%rbp) + 0x48, 0xf7, 0xd3, //0x00000aa6 notq %rbx + 0x48, 0x21, 0xfb, //0x00000aa9 andq %rdi, %rbx + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000aac movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfb, //0x00000ab6 andq %rdi, %rbx + 0x45, 0x31, 0xff, //0x00000ab9 xorl %r15d, %r15d + 0x48, 0x01, 0xf3, //0x00000abc addq %rsi, %rbx + 0x41, 0x0f, 0x92, 0xc7, //0x00000abf setb %r15b + 0x48, 0x01, 0xdb, //0x00000ac3 addq %rbx, %rbx + 0x48, 0xbe, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000ac6 movabsq $6148914691236517205, %rsi + 0x48, 0x31, 0xf3, //0x00000ad0 xorq %rsi, %rbx + 0x48, 0x23, 0x5d, 0xc0, //0x00000ad3 andq $-64(%rbp), %rbx + 0x48, 0xf7, 0xd3, //0x00000ad7 notq %rbx + 0x48, 0x21, 0xd8, //0x00000ada andq %rbx, %rax + 0x48, 0x85, 0xc0, //0x00000add testq %rax, %rax + 0x0f, 0x84, 0x79, 0xff, 0xff, 0xff, //0x00000ae0 je LBB0_121 + 0xe9, 0x55, 0x08, 0x00, 0x00, //0x00000ae6 jmp LBB0_264 + //0x00000aeb LBB0_124 + 0x31, 0xc0, //0x00000aeb xorl %eax, %eax + 0x45, 0x85, 0xc0, //0x00000aed testl %r8d, %r8d + 0x0f, 0x99, 0xc0, //0x00000af0 setns %al + 0xb9, 0x0b, 0x00, 0x00, 0x00, //0x00000af3 movl $11, %ecx + 0xe9, 0xdf, 0x00, 0x00, 0x00, //0x00000af8 jmp LBB0_139 + //0x00000afd LBB0_125 + 0x49, 0x8d, 0x4b, 0xfd, //0x00000afd leaq $-3(%r11), %rcx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000b01 movq $-1, %rax + 0x49, 0x39, 0xcf, //0x00000b08 cmpq %rcx, %r15 + 0x0f, 0x83, 0xcc, 0x04, 0x00, 0x00, //0x00000b0b jae LBB0_243 + 0x41, 0x8b, 0x09, //0x00000b11 movl (%r9), %ecx + 0x81, 0xf9, 0x6e, 0x75, 0x6c, 0x6c, //0x00000b14 cmpl $1819047278, %ecx + 0x0f, 0x85, 0x33, 0x03, 0x00, 0x00, //0x00000b1a jne LBB0_169 + 0x49, 0x83, 0xc7, 0x04, //0x00000b20 addq $4, %r15 + 0xb8, 0x02, 0x00, 0x00, 0x00, //0x00000b24 movl $2, %eax + 0xe9, 0xac, 0x04, 0x00, 0x00, //0x00000b29 jmp LBB0_242 + //0x00000b2e LBB0_128 + 0x31, 0xc0, //0x00000b2e xorl %eax, %eax + 0x45, 0x85, 0xc0, //0x00000b30 testl %r8d, %r8d + 0x0f, 0x99, 0xc0, //0x00000b33 setns %al + 0xb9, 0x0d, 0x00, 0x00, 0x00, //0x00000b36 movl $13, %ecx + 0xe9, 0x9c, 0x00, 0x00, 0x00, //0x00000b3b jmp LBB0_139 + //0x00000b40 LBB0_129 + 0x49, 0xc7, 0x06, 0xfe, 0xff, 0xff, 0xff, //0x00000b40 movq $-2, (%r14) + 0x4c, 0x89, 0xfb, //0x00000b47 movq %r15, %rbx + 0xe9, 0xdf, 0x04, 0x00, 0x00, //0x00000b4a jmp LBB0_202 + //0x00000b4f LBB0_130 + 0x31, 0xc0, //0x00000b4f xorl %eax, %eax + 0x45, 0x85, 0xc0, //0x00000b51 testl %r8d, %r8d + 0x0f, 0x99, 0xc0, //0x00000b54 setns %al + 0xb9, 0x0a, 0x00, 0x00, 0x00, //0x00000b57 movl $10, %ecx + 0xe9, 0x7b, 0x00, 0x00, 0x00, //0x00000b5c jmp LBB0_139 + //0x00000b61 LBB0_131 + 0x49, 0xc7, 0x06, 0x05, 0x00, 0x00, 0x00, //0x00000b61 movq $5, (%r14) + 0xe9, 0xbe, 0x04, 0x00, 0x00, //0x00000b68 jmp LBB0_201 + //0x00000b6d LBB0_132 + 0x49, 0x8d, 0x4b, 0xfc, //0x00000b6d leaq $-4(%r11), %rcx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000b71 movq $-1, %rax + 0x49, 0x39, 0xcf, //0x00000b78 cmpq %rcx, %r15 + 0x0f, 0x83, 0x5c, 0x04, 0x00, 0x00, //0x00000b7b jae LBB0_243 + 0x8b, 0x0c, 0x17, //0x00000b81 movl (%rdi,%rdx), %ecx + 0x81, 0xf9, 0x61, 0x6c, 0x73, 0x65, //0x00000b84 cmpl $1702063201, %ecx + 0x0f, 0x85, 0x02, 0x03, 0x00, 0x00, //0x00000b8a jne LBB0_173 + 0x49, 0x83, 0xc7, 0x05, //0x00000b90 addq $5, %r15 + 0xb8, 0x04, 0x00, 0x00, 0x00, //0x00000b94 movl $4, %eax + 0xe9, 0x3c, 0x04, 0x00, 0x00, //0x00000b99 jmp LBB0_242 + //0x00000b9e LBB0_135 + 0x49, 0x8d, 0x4b, 0xfd, //0x00000b9e leaq $-3(%r11), %rcx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000ba2 movq $-1, %rax + 0x49, 0x39, 0xcf, //0x00000ba9 cmpq %rcx, %r15 + 0x0f, 0x83, 0x2b, 0x04, 0x00, 0x00, //0x00000bac jae LBB0_243 + 0x41, 0x8b, 0x09, //0x00000bb2 movl (%r9), %ecx + 0x81, 0xf9, 0x74, 0x72, 0x75, 0x65, //0x00000bb5 cmpl $1702195828, %ecx + 0x0f, 0x85, 0x10, 0x03, 0x00, 0x00, //0x00000bbb jne LBB0_177 + 0x49, 0x83, 0xc7, 0x04, //0x00000bc1 addq $4, %r15 + 0xb8, 0x03, 0x00, 0x00, 0x00, //0x00000bc5 movl $3, %eax + 0xe9, 0x0b, 0x04, 0x00, 0x00, //0x00000bca jmp LBB0_242 + //0x00000bcf LBB0_138 + 0x31, 0xc0, //0x00000bcf xorl %eax, %eax + 0x45, 0x85, 0xc0, //0x00000bd1 testl %r8d, %r8d + 0x0f, 0x99, 0xc0, //0x00000bd4 setns %al + 0xb9, 0x0c, 0x00, 0x00, 0x00, //0x00000bd7 movl $12, %ecx + //0x00000bdc LBB0_139 + 0x48, 0xc7, 0xc6, 0xfe, 0xff, 0xff, 0xff, //0x00000bdc movq $-2, %rsi + 0x48, 0x0f, 0x48, 0xf1, //0x00000be3 cmovsq %rcx, %rsi + 0x49, 0x89, 0x36, //0x00000be7 movq %rsi, (%r14) + 0x48, 0x29, 0xc2, //0x00000bea subq %rax, %rdx + 0xe9, 0x39, 0x04, 0x00, 0x00, //0x00000bed jmp LBB0_201 + //0x00000bf2 LBB0_140 + 0x49, 0xc7, 0x06, 0x06, 0x00, 0x00, 0x00, //0x00000bf2 movq $6, (%r14) + 0xe9, 0x2d, 0x04, 0x00, 0x00, //0x00000bf9 jmp LBB0_201 + //0x00000bfe LBB0_141 + 0x49, 0x01, 0xcd, //0x00000bfe addq %rcx, %r13 + //0x00000c01 LBB0_142 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000c01 movq $-1, %rbx + 0x4d, 0x85, 0xf6, //0x00000c08 testq %r14, %r14 + 0x0f, 0x84, 0x60, 0x20, 0x00, 0x00, //0x00000c0b je LBB0_248 + 0x4d, 0x85, 0xc0, //0x00000c11 testq %r8, %r8 + 0x0f, 0x84, 0x57, 0x20, 0x00, 0x00, //0x00000c14 je LBB0_248 + 0x4d, 0x85, 0xd2, //0x00000c1a testq %r10, %r10 + 0x0f, 0x84, 0x4e, 0x20, 0x00, 0x00, //0x00000c1d je LBB0_248 + 0x4d, 0x29, 0xcd, //0x00000c23 subq %r9, %r13 + 0x49, 0x8d, 0x45, 0xff, //0x00000c26 leaq $-1(%r13), %rax + 0x49, 0x39, 0xc6, //0x00000c2a cmpq %rax, %r14 + 0x0f, 0x84, 0x3c, 0x00, 0x00, 0x00, //0x00000c2d je LBB0_151 + 0x49, 0x39, 0xc2, //0x00000c33 cmpq %rax, %r10 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00000c36 je LBB0_151 + 0x49, 0x39, 0xc0, //0x00000c3c cmpq %rax, %r8 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x00000c3f je LBB0_151 + 0x4d, 0x85, 0xc0, //0x00000c45 testq %r8, %r8 + 0x0f, 0x8e, 0xcd, 0x01, 0x00, 0x00, //0x00000c48 jle LBB0_165 + 0x49, 0x8d, 0x40, 0xff, //0x00000c4e leaq $-1(%r8), %rax + 0x49, 0x39, 0xc6, //0x00000c52 cmpq %rax, %r14 + 0x0f, 0x84, 0xc0, 0x01, 0x00, 0x00, //0x00000c55 je LBB0_165 + 0x49, 0xf7, 0xd0, //0x00000c5b notq %r8 + 0x4c, 0x89, 0xc3, //0x00000c5e movq %r8, %rbx + 0x48, 0x85, 0xdb, //0x00000c61 testq %rbx, %rbx + 0x0f, 0x89, 0xd1, 0x05, 0x00, 0x00, //0x00000c64 jns LBB0_246 + 0xe9, 0x02, 0x20, 0x00, 0x00, //0x00000c6a jmp LBB0_248 + //0x00000c6f LBB0_151 + 0x49, 0xf7, 0xdd, //0x00000c6f negq %r13 + 0x4c, 0x89, 0xeb, //0x00000c72 movq %r13, %rbx + 0x48, 0x85, 0xdb, //0x00000c75 testq %rbx, %rbx + 0x0f, 0x89, 0xbd, 0x05, 0x00, 0x00, //0x00000c78 jns LBB0_246 + 0xe9, 0xee, 0x1f, 0x00, 0x00, //0x00000c7e jmp LBB0_248 + //0x00000c83 LBB0_152 + 0x48, 0x89, 0x7d, 0xc8, //0x00000c83 movq %rdi, $-56(%rbp) + 0x4c, 0x39, 0xda, //0x00000c87 cmpq %r11, %rdx + 0x0f, 0x84, 0xc8, 0x29, 0x00, 0x00, //0x00000c8a je LBB0_722 + 0x4c, 0x89, 0x75, 0xb8, //0x00000c90 movq %r14, $-72(%rbp) + 0x4d, 0x89, 0xdd, //0x00000c94 movq %r11, %r13 + 0x49, 0x29, 0xd5, //0x00000c97 subq %rdx, %r13 + 0x48, 0x8b, 0x4d, 0xc8, //0x00000c9a movq $-56(%rbp), %rcx + 0x48, 0x8d, 0x1c, 0x11, //0x00000c9e leaq (%rcx,%rdx), %rbx + 0x49, 0x83, 0xfd, 0x40, //0x00000ca2 cmpq $64, %r13 + 0x0f, 0x82, 0x0f, 0x27, 0x00, 0x00, //0x00000ca6 jb LBB0_724 + 0x45, 0x89, 0xee, //0x00000cac movl %r13d, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000caf andl $63, %r14d + 0x49, 0x8d, 0x44, 0x03, 0xc0, //0x00000cb3 leaq $-64(%r11,%rax), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00000cb8 andq $-64, %rax + 0x49, 0x01, 0xc7, //0x00000cbc addq %rax, %r15 + 0x4a, 0x8d, 0x44, 0x39, 0x41, //0x00000cbf leaq $65(%rcx,%r15), %rax + 0x48, 0x89, 0x45, 0xc0, //0x00000cc4 movq %rax, $-64(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000cc8 movq $-1, %r8 + 0x45, 0x31, 0xe4, //0x00000ccf xorl %r12d, %r12d + 0xc5, 0xfe, 0x6f, 0x05, 0x46, 0xf3, 0xff, 0xff, //0x00000cd2 vmovdqu $-3258(%rip), %ymm0 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0x5e, 0xf3, 0xff, 0xff, //0x00000cda vmovdqu $-3234(%rip), %ymm1 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x15, 0x76, 0xf3, 0xff, 0xff, //0x00000ce2 vmovdqu $-3210(%rip), %ymm2 /* LCPI0_3+0(%rip) */ + 0xc5, 0xe5, 0x76, 0xdb, //0x00000cea vpcmpeqd %ymm3, %ymm3, %ymm3 + 0x90, 0x90, //0x00000cee .p2align 4, 0x90 + //0x00000cf0 LBB0_155 + 0xc5, 0xfe, 0x6f, 0x23, //0x00000cf0 vmovdqu (%rbx), %ymm4 + 0xc5, 0xfe, 0x6f, 0x6b, 0x20, //0x00000cf4 vmovdqu $32(%rbx), %ymm5 + 0xc5, 0xdd, 0x74, 0xf0, //0x00000cf9 vpcmpeqb %ymm0, %ymm4, %ymm6 + 0xc5, 0x7d, 0xd7, 0xce, //0x00000cfd vpmovmskb %ymm6, %r9d + 0xc5, 0xd5, 0x74, 0xf0, //0x00000d01 vpcmpeqb %ymm0, %ymm5, %ymm6 + 0xc5, 0xfd, 0xd7, 0xc6, //0x00000d05 vpmovmskb %ymm6, %eax + 0xc5, 0xdd, 0x74, 0xf1, //0x00000d09 vpcmpeqb %ymm1, %ymm4, %ymm6 + 0xc5, 0x7d, 0xd7, 0xd6, //0x00000d0d vpmovmskb %ymm6, %r10d + 0xc5, 0xd5, 0x74, 0xf1, //0x00000d11 vpcmpeqb %ymm1, %ymm5, %ymm6 + 0xc5, 0x7d, 0xd7, 0xfe, //0x00000d15 vpmovmskb %ymm6, %r15d + 0xc5, 0xed, 0x64, 0xf4, //0x00000d19 vpcmpgtb %ymm4, %ymm2, %ymm6 + 0xc5, 0xdd, 0x64, 0xe3, //0x00000d1d vpcmpgtb %ymm3, %ymm4, %ymm4 + 0xc5, 0xdd, 0xdb, 0xe6, //0x00000d21 vpand %ymm6, %ymm4, %ymm4 + 0xc5, 0xfd, 0xd7, 0xcc, //0x00000d25 vpmovmskb %ymm4, %ecx + 0xc5, 0xed, 0x64, 0xe5, //0x00000d29 vpcmpgtb %ymm5, %ymm2, %ymm4 + 0xc5, 0xd5, 0x64, 0xeb, //0x00000d2d vpcmpgtb %ymm3, %ymm5, %ymm5 + 0xc5, 0xd5, 0xdb, 0xe4, //0x00000d31 vpand %ymm4, %ymm5, %ymm4 + 0xc5, 0xfd, 0xd7, 0xf4, //0x00000d35 vpmovmskb %ymm4, %esi + 0x48, 0xc1, 0xe0, 0x20, //0x00000d39 shlq $32, %rax + 0x49, 0xc1, 0xe7, 0x20, //0x00000d3d shlq $32, %r15 + 0x4d, 0x09, 0xfa, //0x00000d41 orq %r15, %r10 + 0x49, 0x83, 0xf8, 0xff, //0x00000d44 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000d48 jne LBB0_157 + 0x4d, 0x85, 0xd2, //0x00000d4e testq %r10, %r10 + 0x0f, 0x85, 0x9b, 0x00, 0x00, 0x00, //0x00000d51 jne LBB0_162 + //0x00000d57 LBB0_157 + 0x48, 0xc1, 0xe6, 0x20, //0x00000d57 shlq $32, %rsi + 0x4c, 0x09, 0xc8, //0x00000d5b orq %r9, %rax + 0x4c, 0x89, 0xd7, //0x00000d5e movq %r10, %rdi + 0x4c, 0x09, 0xe7, //0x00000d61 orq %r12, %rdi + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000d64 jne LBB0_161 + 0x48, 0x09, 0xce, //0x00000d6a orq %rcx, %rsi + 0x48, 0x85, 0xc0, //0x00000d6d testq %rax, %rax + 0x0f, 0x85, 0x8f, 0x00, 0x00, 0x00, //0x00000d70 jne LBB0_163 + //0x00000d76 LBB0_159 + 0x48, 0x85, 0xf6, //0x00000d76 testq %rsi, %rsi + 0x0f, 0x85, 0x86, 0x28, 0x00, 0x00, //0x00000d79 jne LBB0_760 + 0x49, 0x83, 0xc5, 0xc0, //0x00000d7f addq $-64, %r13 + 0x48, 0x83, 0xc3, 0x40, //0x00000d83 addq $64, %rbx + 0x49, 0x83, 0xfd, 0x3f, //0x00000d87 cmpq $63, %r13 + 0x0f, 0x87, 0x5f, 0xff, 0xff, 0xff, //0x00000d8b ja LBB0_155 + 0xe9, 0xe1, 0x05, 0x00, 0x00, //0x00000d91 jmp LBB0_267 + //0x00000d96 LBB0_161 + 0x4d, 0x89, 0xe7, //0x00000d96 movq %r12, %r15 + 0x49, 0xf7, 0xd7, //0x00000d99 notq %r15 + 0x4d, 0x21, 0xd7, //0x00000d9c andq %r10, %r15 + 0x4f, 0x8d, 0x0c, 0x3f, //0x00000d9f leaq (%r15,%r15), %r9 + 0x4d, 0x09, 0xe1, //0x00000da3 orq %r12, %r9 + 0x4c, 0x89, 0x4d, 0xb0, //0x00000da6 movq %r9, $-80(%rbp) + 0x49, 0xf7, 0xd1, //0x00000daa notq %r9 + 0x4d, 0x21, 0xd1, //0x00000dad andq %r10, %r9 + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000db0 movabsq $-6148914691236517206, %rdi + 0x49, 0x21, 0xf9, //0x00000dba andq %rdi, %r9 + 0x45, 0x31, 0xe4, //0x00000dbd xorl %r12d, %r12d + 0x4d, 0x01, 0xf9, //0x00000dc0 addq %r15, %r9 + 0x41, 0x0f, 0x92, 0xc4, //0x00000dc3 setb %r12b + 0x4d, 0x01, 0xc9, //0x00000dc7 addq %r9, %r9 + 0x48, 0xbf, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000dca movabsq $6148914691236517205, %rdi + 0x49, 0x31, 0xf9, //0x00000dd4 xorq %rdi, %r9 + 0x4c, 0x23, 0x4d, 0xb0, //0x00000dd7 andq $-80(%rbp), %r9 + 0x49, 0xf7, 0xd1, //0x00000ddb notq %r9 + 0x4c, 0x21, 0xc8, //0x00000dde andq %r9, %rax + 0x48, 0x09, 0xce, //0x00000de1 orq %rcx, %rsi + 0x48, 0x85, 0xc0, //0x00000de4 testq %rax, %rax + 0x0f, 0x84, 0x89, 0xff, 0xff, 0xff, //0x00000de7 je LBB0_159 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00000ded jmp LBB0_163 + //0x00000df2 LBB0_162 + 0x49, 0x89, 0xdf, //0x00000df2 movq %rbx, %r15 + 0x4c, 0x2b, 0x7d, 0xc8, //0x00000df5 subq $-56(%rbp), %r15 + 0x4d, 0x0f, 0xbc, 0xc2, //0x00000df9 bsfq %r10, %r8 + 0x4d, 0x01, 0xf8, //0x00000dfd addq %r15, %r8 + 0xe9, 0x52, 0xff, 0xff, 0xff, //0x00000e00 jmp LBB0_157 + //0x00000e05 LBB0_163 + 0x48, 0x0f, 0xbc, 0xc0, //0x00000e05 bsfq %rax, %rax + 0x48, 0x85, 0xf6, //0x00000e09 testq %rsi, %rsi + 0x0f, 0x84, 0x24, 0x01, 0x00, 0x00, //0x00000e0c je LBB0_182 + 0x48, 0x0f, 0xbc, 0xce, //0x00000e12 bsfq %rsi, %rcx + 0xe9, 0x20, 0x01, 0x00, 0x00, //0x00000e16 jmp LBB0_183 + //0x00000e1b LBB0_165 + 0x4c, 0x89, 0xd0, //0x00000e1b movq %r10, %rax + 0x4c, 0x09, 0xf0, //0x00000e1e orq %r14, %rax + 0x4d, 0x39, 0xf2, //0x00000e21 cmpq %r14, %r10 + 0x0f, 0x8c, 0xe6, 0x00, 0x00, 0x00, //0x00000e24 jl LBB0_181 + 0x48, 0x85, 0xc0, //0x00000e2a testq %rax, %rax + 0x0f, 0x88, 0xdd, 0x00, 0x00, 0x00, //0x00000e2d js LBB0_181 + 0x49, 0xf7, 0xd2, //0x00000e33 notq %r10 + 0x4c, 0x89, 0xd3, //0x00000e36 movq %r10, %rbx + 0x48, 0x85, 0xdb, //0x00000e39 testq %rbx, %rbx + 0x0f, 0x89, 0xf9, 0x03, 0x00, 0x00, //0x00000e3c jns LBB0_246 + 0xe9, 0x2a, 0x1e, 0x00, 0x00, //0x00000e42 jmp LBB0_248 + //0x00000e47 LBB0_168 + 0x31, 0xc9, //0x00000e47 xorl %ecx, %ecx + 0x31, 0xc0, //0x00000e49 xorl %eax, %eax + 0x45, 0x31, 0xd2, //0x00000e4b xorl %r10d, %r10d + 0xe9, 0x09, 0x01, 0x00, 0x00, //0x00000e4e jmp LBB0_186 + //0x00000e53 LBB0_169 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000e53 movq $-2, %rax + 0x80, 0xf9, 0x6e, //0x00000e5a cmpb $110, %cl + 0x0f, 0x85, 0x77, 0x01, 0x00, 0x00, //0x00000e5d jne LBB0_242 + 0x42, 0x80, 0x7c, 0x3f, 0x01, 0x75, //0x00000e63 cmpb $117, $1(%rdi,%r15) + 0x0f, 0x85, 0x5f, 0x01, 0x00, 0x00, //0x00000e69 jne LBB0_196 + 0x42, 0x80, 0x7c, 0x3f, 0x02, 0x6c, //0x00000e6f cmpb $108, $2(%rdi,%r15) + 0x0f, 0x85, 0x5b, 0x01, 0x00, 0x00, //0x00000e75 jne LBB0_241 + 0x4d, 0x8d, 0x5f, 0x03, //0x00000e7b leaq $3(%r15), %r11 + 0x49, 0x8d, 0x4f, 0x04, //0x00000e7f leaq $4(%r15), %rcx + 0x42, 0x80, 0x7c, 0x3f, 0x03, 0x6c, //0x00000e83 cmpb $108, $3(%rdi,%r15) + 0x4c, 0x0f, 0x44, 0xd9, //0x00000e89 cmoveq %rcx, %r11 + 0xe9, 0x4b, 0x01, 0x00, 0x00, //0x00000e8d jmp LBB0_243 + //0x00000e92 LBB0_173 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000e92 movq $-2, %rax + 0x80, 0xf9, 0x61, //0x00000e99 cmpb $97, %cl + 0x0f, 0x85, 0x24, 0x01, 0x00, 0x00, //0x00000e9c jne LBB0_195 + 0x42, 0x80, 0x7c, 0x3f, 0x02, 0x6c, //0x00000ea2 cmpb $108, $2(%rdi,%r15) + 0x0f, 0x85, 0x28, 0x01, 0x00, 0x00, //0x00000ea8 jne LBB0_241 + 0x42, 0x80, 0x7c, 0x3f, 0x03, 0x73, //0x00000eae cmpb $115, $3(%rdi,%r15) + 0x0f, 0x85, 0xb4, 0x03, 0x00, 0x00, //0x00000eb4 jne LBB0_240 + 0x4d, 0x8d, 0x5f, 0x04, //0x00000eba leaq $4(%r15), %r11 + 0x49, 0x8d, 0x4f, 0x05, //0x00000ebe leaq $5(%r15), %rcx + 0x42, 0x80, 0x7c, 0x3f, 0x04, 0x65, //0x00000ec2 cmpb $101, $4(%rdi,%r15) + 0x4c, 0x0f, 0x44, 0xd9, //0x00000ec8 cmoveq %rcx, %r11 + 0xe9, 0x0c, 0x01, 0x00, 0x00, //0x00000ecc jmp LBB0_243 + //0x00000ed1 LBB0_177 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000ed1 movq $-2, %rax + 0x80, 0xf9, 0x74, //0x00000ed8 cmpb $116, %cl + 0x0f, 0x85, 0xf9, 0x00, 0x00, 0x00, //0x00000edb jne LBB0_242 + 0x42, 0x80, 0x7c, 0x3f, 0x01, 0x72, //0x00000ee1 cmpb $114, $1(%rdi,%r15) + 0x0f, 0x85, 0xe1, 0x00, 0x00, 0x00, //0x00000ee7 jne LBB0_196 + 0x42, 0x80, 0x7c, 0x3f, 0x02, 0x75, //0x00000eed cmpb $117, $2(%rdi,%r15) + 0x0f, 0x85, 0xdd, 0x00, 0x00, 0x00, //0x00000ef3 jne LBB0_241 + 0x4d, 0x8d, 0x5f, 0x03, //0x00000ef9 leaq $3(%r15), %r11 + 0x49, 0x8d, 0x4f, 0x04, //0x00000efd leaq $4(%r15), %rcx + 0x42, 0x80, 0x7c, 0x3f, 0x03, 0x65, //0x00000f01 cmpb $101, $3(%rdi,%r15) + 0x4c, 0x0f, 0x44, 0xd9, //0x00000f07 cmoveq %rcx, %r11 + 0xe9, 0xcd, 0x00, 0x00, 0x00, //0x00000f0b jmp LBB0_243 + //0x00000f10 LBB0_181 + 0x48, 0x85, 0xc0, //0x00000f10 testq %rax, %rax + 0x49, 0x8d, 0x46, 0xff, //0x00000f13 leaq $-1(%r14), %rax + 0x49, 0xf7, 0xd6, //0x00000f17 notq %r14 + 0x4d, 0x0f, 0x48, 0xf5, //0x00000f1a cmovsq %r13, %r14 + 0x49, 0x39, 0xc2, //0x00000f1e cmpq %rax, %r10 + 0x4d, 0x0f, 0x45, 0xf5, //0x00000f21 cmovneq %r13, %r14 + 0x4c, 0x89, 0xf3, //0x00000f25 movq %r14, %rbx + 0x48, 0x85, 0xdb, //0x00000f28 testq %rbx, %rbx + 0x0f, 0x89, 0x0a, 0x03, 0x00, 0x00, //0x00000f2b jns LBB0_246 + 0xe9, 0x3b, 0x1d, 0x00, 0x00, //0x00000f31 jmp LBB0_248 + //0x00000f36 LBB0_182 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000f36 movl $64, %ecx + //0x00000f3b LBB0_183 + 0x4c, 0x8b, 0x75, 0xb8, //0x00000f3b movq $-72(%rbp), %r14 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f3f movq $-56(%rbp), %rsi + 0x48, 0x39, 0xc1, //0x00000f43 cmpq %rax, %rcx + 0x0f, 0x82, 0x8f, 0x24, 0x00, 0x00, //0x00000f46 jb LBB0_725 + 0x48, 0x29, 0xf3, //0x00000f4c subq %rsi, %rbx + 0x48, 0x8d, 0x5c, 0x03, 0x01, //0x00000f4f leaq $1(%rbx,%rax), %rbx + 0xe9, 0xf3, 0x03, 0x00, 0x00, //0x00000f54 jmp LBB0_265 + //0x00000f59 LBB0_185 + 0x4c, 0x89, 0xdf, //0x00000f59 movq %r11, %rdi + //0x00000f5c LBB0_186 + 0x31, 0xd2, //0x00000f5c xorl %edx, %edx + 0x85, 0xc9, //0x00000f5e testl %ecx, %ecx + 0x0f, 0x9f, 0xc2, //0x00000f60 setg %dl + 0x89, 0x55, 0xc0, //0x00000f63 movl %edx, $-64(%rbp) + 0xba, 0x09, 0x00, 0x00, 0x00, //0x00000f66 movl $9, %edx + 0x48, 0x89, 0xfb, //0x00000f6b movq %rdi, %rbx + //0x00000f6e LBB0_187 + 0x85, 0xc9, //0x00000f6e testl %ecx, %ecx + 0x4c, 0x89, 0x75, 0xb8, //0x00000f70 movq %r14, $-72(%rbp) + 0x0f, 0x85, 0xd0, 0x00, 0x00, 0x00, //0x00000f74 jne LBB0_204 + 0x4d, 0x85, 0xd2, //0x00000f7a testq %r10, %r10 + 0x0f, 0x85, 0xc7, 0x00, 0x00, 0x00, //0x00000f7d jne LBB0_204 + 0x4c, 0x39, 0xdb, //0x00000f83 cmpq %r11, %rbx + 0x0f, 0x83, 0x2e, 0x00, 0x00, 0x00, //0x00000f86 jae LBB0_194 + 0x41, 0x89, 0xde, //0x00000f8c movl %ebx, %r14d + 0x45, 0x29, 0xde, //0x00000f8f subl %r11d, %r14d + 0x31, 0xc0, //0x00000f92 xorl %eax, %eax + 0x31, 0xc9, //0x00000f94 xorl %ecx, %ecx + 0x48, 0x8b, 0x75, 0xc8, //0x00000f96 movq $-56(%rbp), %rsi + //0x00000f9a LBB0_191 + 0x80, 0x3c, 0x1e, 0x30, //0x00000f9a cmpb $48, (%rsi,%rbx) + 0x0f, 0x85, 0x9f, 0x00, 0x00, 0x00, //0x00000f9e jne LBB0_203 + 0x48, 0xff, 0xc3, //0x00000fa4 incq %rbx + 0xff, 0xc9, //0x00000fa7 decl %ecx + 0x49, 0x39, 0xdb, //0x00000fa9 cmpq %rbx, %r11 + 0x0f, 0x85, 0xe8, 0xff, 0xff, 0xff, //0x00000fac jne LBB0_191 + 0x45, 0x31, 0xd2, //0x00000fb2 xorl %r10d, %r10d + 0xe9, 0xab, 0x01, 0x00, 0x00, //0x00000fb5 jmp LBB0_224 + //0x00000fba LBB0_194 + 0x31, 0xc9, //0x00000fba xorl %ecx, %ecx + 0x31, 0xc0, //0x00000fbc xorl %eax, %eax + 0x45, 0x31, 0xd2, //0x00000fbe xorl %r10d, %r10d + 0xe9, 0x84, 0x00, 0x00, 0x00, //0x00000fc1 jmp LBB0_204 + //0x00000fc6 LBB0_195 + 0x49, 0x89, 0xd3, //0x00000fc6 movq %rdx, %r11 + 0xe9, 0x0f, 0x00, 0x00, 0x00, //0x00000fc9 jmp LBB0_243 + //0x00000fce LBB0_196 + 0x49, 0xff, 0xc7, //0x00000fce incq %r15 + 0xe9, 0x04, 0x00, 0x00, 0x00, //0x00000fd1 jmp LBB0_242 + //0x00000fd6 LBB0_241 + 0x49, 0x83, 0xc7, 0x02, //0x00000fd6 addq $2, %r15 + //0x00000fda LBB0_242 + 0x4d, 0x89, 0xfb, //0x00000fda movq %r15, %r11 + //0x00000fdd LBB0_243 + 0x49, 0x89, 0x06, //0x00000fdd movq %rax, (%r14) + 0x4c, 0x89, 0xdb, //0x00000fe0 movq %r11, %rbx + 0xe9, 0x46, 0x00, 0x00, 0x00, //0x00000fe3 jmp LBB0_202 + //0x00000fe8 LBB0_197 + 0x4c, 0x29, 0xc8, //0x00000fe8 subq %r9, %rax + 0x0f, 0xbc, 0xdf, //0x00000feb bsfl %edi, %ebx + 0x48, 0x01, 0xc3, //0x00000fee addq %rax, %rbx + 0x48, 0xf7, 0xd3, //0x00000ff1 notq %rbx + 0x48, 0x85, 0xdb, //0x00000ff4 testq %rbx, %rbx + 0x0f, 0x89, 0x3e, 0x02, 0x00, 0x00, //0x00000ff7 jns LBB0_246 + 0xe9, 0x6f, 0x1c, 0x00, 0x00, //0x00000ffd jmp LBB0_248 + //0x00001002 LBB0_198 + 0x89, 0x55, 0xc0, //0x00001002 movl %edx, $-64(%rbp) + 0x48, 0xff, 0xcb, //0x00001005 decq %rbx + 0xba, 0x09, 0x00, 0x00, 0x00, //0x00001008 movl $9, %edx + 0xe9, 0x5c, 0xff, 0xff, 0xff, //0x0000100d jmp LBB0_187 + //0x00001012 LBB0_199 + 0x48, 0x89, 0xf8, //0x00001012 movq %rdi, %rax + 0x48, 0xf7, 0xd0, //0x00001015 notq %rax + 0x49, 0x01, 0xc7, //0x00001018 addq %rax, %r15 + 0x4d, 0x39, 0xdf, //0x0000101b cmpq %r11, %r15 + 0x0f, 0x82, 0xc4, 0xf3, 0xff, 0xff, //0x0000101e jb LBB0_32 + //0x00001024 LBB0_200 + 0x49, 0xc7, 0x06, 0x01, 0x00, 0x00, 0x00, //0x00001024 movq $1, (%r14) + //0x0000102b LBB0_201 + 0x48, 0x89, 0xd3, //0x0000102b movq %rdx, %rbx + //0x0000102e LBB0_202 + 0x48, 0x89, 0xd8, //0x0000102e movq %rbx, %rax + 0x48, 0x83, 0xc4, 0x38, //0x00001031 addq $56, %rsp + 0x5b, //0x00001035 popq %rbx + 0x41, 0x5c, //0x00001036 popq %r12 + 0x41, 0x5d, //0x00001038 popq %r13 + 0x41, 0x5e, //0x0000103a popq %r14 + 0x41, 0x5f, //0x0000103c popq %r15 + 0x5d, //0x0000103e popq %rbp + 0xc5, 0xf8, 0x77, //0x0000103f vzeroupper + 0xc3, //0x00001042 retq + //0x00001043 LBB0_203 + 0x45, 0x31, 0xd2, //0x00001043 xorl %r10d, %r10d + 0x4c, 0x8b, 0x75, 0xb8, //0x00001046 movq $-72(%rbp), %r14 + //0x0000104a LBB0_204 + 0x4c, 0x39, 0xdb, //0x0000104a cmpq %r11, %rbx + 0x0f, 0x83, 0x40, 0x00, 0x00, 0x00, //0x0000104d jae LBB0_209 + 0x83, 0xf8, 0x12, //0x00001053 cmpl $18, %eax + 0x0f, 0x8f, 0x37, 0x00, 0x00, 0x00, //0x00001056 jg LBB0_209 + //0x0000105c LBB0_206 + 0x48, 0x8b, 0x75, 0xc8, //0x0000105c movq $-56(%rbp), %rsi + 0x0f, 0xb6, 0x34, 0x1e, //0x00001060 movzbl (%rsi,%rbx), %esi + 0x8d, 0x7e, 0xd0, //0x00001064 leal $-48(%rsi), %edi + 0x40, 0x80, 0xff, 0x09, //0x00001067 cmpb $9, %dil + 0x0f, 0x87, 0x22, 0x00, 0x00, 0x00, //0x0000106b ja LBB0_209 + 0x4b, 0x8d, 0x3c, 0x92, //0x00001071 leaq (%r10,%r10,4), %rdi + 0x4c, 0x8d, 0x54, 0x7e, 0xd0, //0x00001075 leaq $-48(%rsi,%rdi,2), %r10 + 0xff, 0xc9, //0x0000107a decl %ecx + 0x48, 0xff, 0xc3, //0x0000107c incq %rbx + 0x83, 0xf8, 0x11, //0x0000107f cmpl $17, %eax + 0x0f, 0x8f, 0x0b, 0x00, 0x00, 0x00, //0x00001082 jg LBB0_209 + 0xff, 0xc0, //0x00001088 incl %eax + 0x4c, 0x39, 0xdb, //0x0000108a cmpq %r11, %rbx + 0x0f, 0x82, 0xc9, 0xff, 0xff, 0xff, //0x0000108d jb LBB0_206 + //0x00001093 LBB0_209 + 0x4c, 0x39, 0xdb, //0x00001093 cmpq %r11, %rbx + 0x0f, 0x83, 0xb7, 0x00, 0x00, 0x00, //0x00001096 jae LBB0_225 + 0x48, 0x8b, 0x45, 0xc8, //0x0000109c movq $-56(%rbp), %rax + 0x8a, 0x04, 0x18, //0x000010a0 movb (%rax,%rbx), %al + 0x8d, 0x70, 0xd0, //0x000010a3 leal $-48(%rax), %esi + 0x40, 0x80, 0xfe, 0x09, //0x000010a6 cmpb $9, %sil + 0x0f, 0x87, 0x2d, 0x00, 0x00, 0x00, //0x000010aa ja LBB0_215 + 0x49, 0x8d, 0x73, 0xff, //0x000010b0 leaq $-1(%r11), %rsi + //0x000010b4 LBB0_212 + 0x48, 0x39, 0xde, //0x000010b4 cmpq %rbx, %rsi + 0x0f, 0x84, 0x9e, 0x00, 0x00, 0x00, //0x000010b7 je LBB0_223 + 0x48, 0x8b, 0x45, 0xc8, //0x000010bd movq $-56(%rbp), %rax + 0x0f, 0xb6, 0x44, 0x18, 0x01, //0x000010c1 movzbl $1(%rax,%rbx), %eax + 0x48, 0xff, 0xc3, //0x000010c6 incq %rbx + 0x8d, 0x78, 0xd0, //0x000010c9 leal $-48(%rax), %edi + 0x40, 0x80, 0xff, 0x09, //0x000010cc cmpb $9, %dil + 0x0f, 0x86, 0xde, 0xff, 0xff, 0xff, //0x000010d0 jbe LBB0_212 + 0xc7, 0x45, 0xc0, 0x01, 0x00, 0x00, 0x00, //0x000010d6 movl $1, $-64(%rbp) + //0x000010dd LBB0_215 + 0x0c, 0x20, //0x000010dd orb $32, %al + 0x3c, 0x65, //0x000010df cmpb $101, %al + 0x0f, 0x85, 0x6c, 0x00, 0x00, 0x00, //0x000010e1 jne LBB0_225 + 0x48, 0x8d, 0x73, 0x01, //0x000010e7 leaq $1(%rbx), %rsi + 0x49, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, //0x000010eb movq $8, (%r14) + 0x4c, 0x39, 0xde, //0x000010f2 cmpq %r11, %rsi + 0x0f, 0x83, 0x49, 0x00, 0x00, 0x00, //0x000010f5 jae LBB0_221 + 0x44, 0x89, 0x45, 0xb0, //0x000010fb movl %r8d, $-80(%rbp) + 0x48, 0x8b, 0x45, 0xc8, //0x000010ff movq $-56(%rbp), %rax + 0x8a, 0x14, 0x30, //0x00001103 movb (%rax,%rsi), %dl + 0x80, 0xfa, 0x2d, //0x00001106 cmpb $45, %dl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x00001109 je LBB0_219 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x0000110f movl $1, %r8d + 0x80, 0xfa, 0x2b, //0x00001115 cmpb $43, %dl + 0x0f, 0x85, 0x59, 0x01, 0x00, 0x00, //0x00001118 jne LBB0_252 + //0x0000111e LBB0_219 + 0x48, 0x83, 0xc3, 0x02, //0x0000111e addq $2, %rbx + 0x4c, 0x39, 0xdb, //0x00001122 cmpq %r11, %rbx + 0x0f, 0x83, 0x19, 0x00, 0x00, 0x00, //0x00001125 jae LBB0_221 + 0x31, 0xc0, //0x0000112b xorl %eax, %eax + 0x80, 0xfa, 0x2b, //0x0000112d cmpb $43, %dl + 0x0f, 0x94, 0xc0, //0x00001130 sete %al + 0x44, 0x8d, 0x44, 0x00, 0xff, //0x00001133 leal $-1(%rax,%rax), %r8d + 0x48, 0x8b, 0x45, 0xc8, //0x00001138 movq $-56(%rbp), %rax + 0x8a, 0x14, 0x18, //0x0000113c movb (%rax,%rbx), %dl + 0xe9, 0x36, 0x01, 0x00, 0x00, //0x0000113f jmp LBB0_253 + //0x00001144 LBB0_221 + 0x49, 0xc7, 0x06, 0xff, 0xff, 0xff, 0xff, //0x00001144 movq $-1, (%r14) + 0x4c, 0x89, 0xdb, //0x0000114b movq %r11, %rbx + 0xe9, 0xdb, 0xfe, 0xff, 0xff, //0x0000114e jmp LBB0_202 + //0x00001153 LBB0_225 + 0x41, 0x89, 0xce, //0x00001153 movl %ecx, %r14d + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x00001156 jmp LBB0_226 + //0x0000115b LBB0_223 + 0xc7, 0x45, 0xc0, 0x01, 0x00, 0x00, 0x00, //0x0000115b movl $1, $-64(%rbp) + 0x41, 0x89, 0xce, //0x00001162 movl %ecx, %r14d + //0x00001165 LBB0_224 + 0x4c, 0x89, 0xdb, //0x00001165 movq %r11, %rbx + //0x00001168 LBB0_226 + 0x83, 0xfa, 0x09, //0x00001168 cmpl $9, %edx + 0x48, 0x89, 0x5d, 0xa0, //0x0000116b movq %rbx, $-96(%rbp) + 0x0f, 0x85, 0x39, 0x00, 0x00, 0x00, //0x0000116f jne LBB0_231 + 0x45, 0x85, 0xf6, //0x00001175 testl %r14d, %r14d + 0x0f, 0x85, 0x25, 0x00, 0x00, 0x00, //0x00001178 jne LBB0_230 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x0000117e movabsq $-9223372036854775808, %rax + 0x49, 0x63, 0xc8, //0x00001188 movslq %r8d, %rcx + 0x4d, 0x85, 0xd2, //0x0000118b testq %r10, %r10 + 0x0f, 0x89, 0x53, 0x00, 0x00, 0x00, //0x0000118e jns LBB0_237 + 0x4c, 0x89, 0xd2, //0x00001194 movq %r10, %rdx + 0x48, 0x21, 0xca, //0x00001197 andq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x0000119a cmpq %rax, %rdx + 0x0f, 0x84, 0x44, 0x00, 0x00, 0x00, //0x0000119d je LBB0_237 + //0x000011a3 LBB0_230 + 0x48, 0x8b, 0x45, 0xb8, //0x000011a3 movq $-72(%rbp), %rax + 0x48, 0xc7, 0x00, 0x08, 0x00, 0x00, 0x00, //0x000011a7 movq $8, (%rax) + //0x000011ae LBB0_231 + 0x4c, 0x89, 0xd0, //0x000011ae movq %r10, %rax + 0x48, 0xc1, 0xe8, 0x34, //0x000011b1 shrq $52, %rax + 0x0f, 0x84, 0x4d, 0x02, 0x00, 0x00, //0x000011b5 je LBB0_274 + //0x000011bb LBB0_232 + 0x44, 0x89, 0x45, 0xb0, //0x000011bb movl %r8d, $-80(%rbp) + 0x41, 0x8d, 0x86, 0x5c, 0x01, 0x00, 0x00, //0x000011bf leal $348(%r14), %eax + 0x3d, 0xb7, 0x02, 0x00, 0x00, //0x000011c6 cmpl $695, %eax + 0x0f, 0x87, 0x28, 0x04, 0x00, 0x00, //0x000011cb ja LBB0_295 + 0x4d, 0x85, 0xd2, //0x000011d1 testq %r10, %r10 + 0x0f, 0x84, 0x1f, 0x03, 0x00, 0x00, //0x000011d4 je LBB0_286 + //0x000011da LBB0_234 + 0x49, 0x0f, 0xbd, 0xca, //0x000011da bsrq %r10, %rcx + 0x48, 0x83, 0xf1, 0x3f, //0x000011de xorq $63, %rcx + 0xe9, 0x17, 0x03, 0x00, 0x00, //0x000011e2 jmp LBB0_287 + //0x000011e7 LBB0_237 + 0xc4, 0xc1, 0xf9, 0x6e, 0xc2, //0x000011e7 vmovq %r10, %xmm0 + 0x4c, 0x0f, 0xaf, 0xd1, //0x000011ec imulq %rcx, %r10 + 0x48, 0x8b, 0x55, 0xb8, //0x000011f0 movq $-72(%rbp), %rdx + 0x4c, 0x89, 0x52, 0x10, //0x000011f4 movq %r10, $16(%rdx) + 0xc5, 0xf9, 0x62, 0x05, 0xd0, 0xef, 0xff, 0xff, //0x000011f8 vpunpckldq $-4144(%rip), %xmm0, %xmm0 /* LCPI0_17+0(%rip) */ + 0xc5, 0xf9, 0x5c, 0x05, 0xd8, 0xef, 0xff, 0xff, //0x00001200 vsubpd $-4136(%rip), %xmm0, %xmm0 /* LCPI0_18+0(%rip) */ + 0xc4, 0xe3, 0x79, 0x05, 0xc8, 0x01, //0x00001208 vpermilpd $1, %xmm0, %xmm1 + 0xc5, 0xf3, 0x58, 0xc0, //0x0000120e vaddsd %xmm0, %xmm1, %xmm0 + 0x48, 0x21, 0xc8, //0x00001212 andq %rcx, %rax + 0xc4, 0xe1, 0xf9, 0x7e, 0xc1, //0x00001215 vmovq %xmm0, %rcx + 0x48, 0x09, 0xc1, //0x0000121a orq %rax, %rcx + 0x48, 0x89, 0x4a, 0x08, //0x0000121d movq %rcx, $8(%rdx) + 0xe9, 0x08, 0xfe, 0xff, 0xff, //0x00001221 jmp LBB0_202 + //0x00001226 LBB0_238 + 0x4d, 0x29, 0xcd, //0x00001226 subq %r9, %r13 + 0x0f, 0xbc, 0xd8, //0x00001229 bsfl %eax, %ebx + 0x4c, 0x01, 0xeb, //0x0000122c addq %r13, %rbx + //0x0000122f LBB0_244 + 0x48, 0xf7, 0xd3, //0x0000122f notq %rbx + 0x48, 0x85, 0xdb, //0x00001232 testq %rbx, %rbx + 0x0f, 0x88, 0x36, 0x1a, 0x00, 0x00, //0x00001235 js LBB0_248 + //0x0000123b LBB0_246 + 0x49, 0x01, 0xd9, //0x0000123b addq %rbx, %r9 + 0x4c, 0x89, 0xcb, //0x0000123e movq %r9, %rbx + 0x48, 0x2b, 0x5d, 0xc8, //0x00001241 subq $-56(%rbp), %rbx + 0x48, 0x85, 0xd2, //0x00001245 testq %rdx, %rdx + 0x0f, 0x8e, 0x14, 0x00, 0x00, 0x00, //0x00001248 jle LBB0_251 + 0x48, 0x8b, 0x45, 0xb8, //0x0000124e movq $-72(%rbp), %rax + 0x48, 0xc7, 0x00, 0x08, 0x00, 0x00, 0x00, //0x00001252 movq $8, (%rax) + 0x4c, 0x89, 0x78, 0x18, //0x00001259 movq %r15, $24(%rax) + 0xe9, 0xcc, 0xfd, 0xff, 0xff, //0x0000125d jmp LBB0_202 + //0x00001262 LBB0_251 + 0x4c, 0x8b, 0x75, 0xb8, //0x00001262 movq $-72(%rbp), %r14 + 0x4d, 0x89, 0x3e, //0x00001266 movq %r15, (%r14) + 0xe9, 0xc0, 0xfd, 0xff, 0xff, //0x00001269 jmp LBB0_202 + //0x0000126e LBB0_240 + 0x49, 0x83, 0xc7, 0x03, //0x0000126e addq $3, %r15 + 0xe9, 0x63, 0xfd, 0xff, 0xff, //0x00001272 jmp LBB0_242 + //0x00001277 LBB0_252 + 0x48, 0x89, 0xf3, //0x00001277 movq %rsi, %rbx + //0x0000127a LBB0_253 + 0x8d, 0x72, 0xd0, //0x0000127a leal $-48(%rdx), %esi + 0x40, 0x80, 0xfe, 0x09, //0x0000127d cmpb $9, %sil + 0x0f, 0x86, 0x0c, 0x00, 0x00, 0x00, //0x00001281 jbe LBB0_255 + 0x49, 0xc7, 0x06, 0xfe, 0xff, 0xff, 0xff, //0x00001287 movq $-2, (%r14) + 0xe9, 0x9b, 0xfd, 0xff, 0xff, //0x0000128e jmp LBB0_202 + //0x00001293 LBB0_255 + 0x45, 0x31, 0xf6, //0x00001293 xorl %r14d, %r14d + 0x4c, 0x39, 0xdb, //0x00001296 cmpq %r11, %rbx + 0x0f, 0x83, 0x4d, 0x01, 0x00, 0x00, //0x00001299 jae LBB0_273 + 0x49, 0x8d, 0x73, 0xff, //0x0000129f leaq $-1(%r11), %rsi + 0x45, 0x31, 0xf6, //0x000012a3 xorl %r14d, %r14d + //0x000012a6 LBB0_257 + 0x44, 0x89, 0xf7, //0x000012a6 movl %r14d, %edi + 0x41, 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x000012a9 cmpl $10000, %r14d + 0x48, 0x89, 0xd8, //0x000012b0 movq %rbx, %rax + 0x8d, 0x1c, 0xbf, //0x000012b3 leal (%rdi,%rdi,4), %ebx + 0x0f, 0xb6, 0xd2, //0x000012b6 movzbl %dl, %edx + 0x44, 0x8d, 0x74, 0x5a, 0xd0, //0x000012b9 leal $-48(%rdx,%rbx,2), %r14d + 0x44, 0x0f, 0x4d, 0xf7, //0x000012be cmovgel %edi, %r14d + 0x48, 0x39, 0xc6, //0x000012c2 cmpq %rax, %rsi + 0x0f, 0x84, 0x1e, 0x01, 0x00, 0x00, //0x000012c5 je LBB0_272 + 0x48, 0x89, 0xc3, //0x000012cb movq %rax, %rbx + 0x48, 0x8b, 0x45, 0xc8, //0x000012ce movq $-56(%rbp), %rax + 0x0f, 0xb6, 0x54, 0x18, 0x01, //0x000012d2 movzbl $1(%rax,%rbx), %edx + 0x48, 0xff, 0xc3, //0x000012d7 incq %rbx + 0x8d, 0x7a, 0xd0, //0x000012da leal $-48(%rdx), %edi + 0x40, 0x80, 0xff, 0x0a, //0x000012dd cmpb $10, %dil + 0x0f, 0x82, 0xbf, 0xff, 0xff, 0xff, //0x000012e1 jb LBB0_257 + 0xe9, 0x00, 0x01, 0x00, 0x00, //0x000012e7 jmp LBB0_273 + //0x000012ec LBB0_259 + 0x48, 0x89, 0xf3, //0x000012ec movq %rsi, %rbx + 0xe9, 0x7a, 0xfc, 0xff, 0xff, //0x000012ef jmp LBB0_187 + //0x000012f4 LBB0_260 + 0x4c, 0x89, 0xc3, //0x000012f4 movq %r8, %rbx + 0x4d, 0x89, 0xe5, //0x000012f7 movq %r12, %r13 + 0x4c, 0x89, 0xc9, //0x000012fa movq %r9, %rcx + 0x49, 0x83, 0xfd, 0x20, //0x000012fd cmpq $32, %r13 + 0x0f, 0x82, 0x4a, 0x21, 0x00, 0x00, //0x00001301 jb LBB0_730 + //0x00001307 LBB0_261 + 0xc5, 0xfe, 0x6f, 0x01, //0x00001307 vmovdqu (%rcx), %ymm0 + 0xc5, 0xfd, 0x74, 0x0d, 0x0d, 0xed, 0xff, 0xff, //0x0000130b vpcmpeqb $-4851(%rip), %ymm0, %ymm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfd, 0xd7, 0xc1, //0x00001313 vpmovmskb %ymm1, %eax + 0xc5, 0xfd, 0x74, 0x05, 0x21, 0xed, 0xff, 0xff, //0x00001317 vpcmpeqb $-4831(%rip), %ymm0, %ymm0 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfd, 0xd7, 0xf8, //0x0000131f vpmovmskb %ymm0, %edi + 0x85, 0xff, //0x00001323 testl %edi, %edi + 0x0f, 0x85, 0xbc, 0x20, 0x00, 0x00, //0x00001325 jne LBB0_726 + 0x4d, 0x85, 0xff, //0x0000132b testq %r15, %r15 + 0x0f, 0x85, 0xcd, 0x20, 0x00, 0x00, //0x0000132e jne LBB0_728 + 0x45, 0x31, 0xff, //0x00001334 xorl %r15d, %r15d + 0x48, 0x85, 0xc0, //0x00001337 testq %rax, %rax + 0x0f, 0x84, 0x09, 0x21, 0x00, 0x00, //0x0000133a je LBB0_729 + //0x00001340 LBB0_264 + 0x48, 0x0f, 0xbc, 0xc0, //0x00001340 bsfq %rax, %rax + 0x4c, 0x29, 0xd1, //0x00001344 subq %r10, %rcx + 0x48, 0x8d, 0x5c, 0x01, 0x01, //0x00001347 leaq $1(%rcx,%rax), %rbx + //0x0000134c LBB0_265 + 0x48, 0x85, 0xdb, //0x0000134c testq %rbx, %rbx + 0x0f, 0x88, 0xbb, 0x22, 0x00, 0x00, //0x0000134f js LBB0_762 + 0x49, 0x89, 0x56, 0x10, //0x00001355 movq %rdx, $16(%r14) + 0x49, 0xc7, 0x06, 0x07, 0x00, 0x00, 0x00, //0x00001359 movq $7, (%r14) + 0x49, 0x39, 0xd8, //0x00001360 cmpq %rbx, %r8 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001363 movq $-1, %rax + 0x49, 0x0f, 0x4c, 0xc0, //0x0000136a cmovlq %r8, %rax + 0x49, 0x89, 0x46, 0x18, //0x0000136e movq %rax, $24(%r14) + 0xe9, 0xb7, 0xfc, 0xff, 0xff, //0x00001372 jmp LBB0_202 + //0x00001377 LBB0_267 + 0x4d, 0x89, 0xc1, //0x00001377 movq %r8, %r9 + 0x4d, 0x89, 0xf5, //0x0000137a movq %r14, %r13 + 0x48, 0x8b, 0x5d, 0xc0, //0x0000137d movq $-64(%rbp), %rbx + 0x49, 0x83, 0xfd, 0x20, //0x00001381 cmpq $32, %r13 + 0x0f, 0x82, 0xd6, 0x21, 0x00, 0x00, //0x00001385 jb LBB0_749 + //0x0000138b LBB0_268 + 0xc5, 0xfe, 0x6f, 0x03, //0x0000138b vmovdqu (%rbx), %ymm0 + 0xc5, 0xfd, 0x74, 0x0d, 0x89, 0xec, 0xff, 0xff, //0x0000138f vpcmpeqb $-4983(%rip), %ymm0, %ymm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfd, 0xd7, 0xc1, //0x00001397 vpmovmskb %ymm1, %eax + 0xc5, 0xfd, 0x74, 0x0d, 0x9d, 0xec, 0xff, 0xff, //0x0000139b vpcmpeqb $-4963(%rip), %ymm0, %ymm1 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfd, 0xd7, 0xc9, //0x000013a3 vpmovmskb %ymm1, %ecx + 0xc5, 0xfe, 0x6f, 0x0d, 0xb1, 0xec, 0xff, 0xff, //0x000013a7 vmovdqu $-4943(%rip), %ymm1 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf5, 0x64, 0xc8, //0x000013af vpcmpgtb %ymm0, %ymm1, %ymm1 + 0xc5, 0xed, 0x76, 0xd2, //0x000013b3 vpcmpeqd %ymm2, %ymm2, %ymm2 + 0xc5, 0xfd, 0x64, 0xc2, //0x000013b7 vpcmpgtb %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x000013bb vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xd0, //0x000013bf vpmovmskb %ymm0, %r10d + 0x85, 0xc9, //0x000013c3 testl %ecx, %ecx + 0x0f, 0x85, 0x09, 0x21, 0x00, 0x00, //0x000013c5 jne LBB0_740 + 0x4d, 0x85, 0xe4, //0x000013cb testq %r12, %r12 + 0x0f, 0x85, 0x1b, 0x21, 0x00, 0x00, //0x000013ce jne LBB0_742 + 0x45, 0x31, 0xe4, //0x000013d4 xorl %r12d, %r12d + 0x48, 0x85, 0xc0, //0x000013d7 testq %rax, %rax + 0x0f, 0x84, 0x50, 0x21, 0x00, 0x00, //0x000013da je LBB0_743 + //0x000013e0 LBB0_271 + 0x48, 0x0f, 0xbc, 0xc8, //0x000013e0 bsfq %rax, %rcx + 0xe9, 0x4c, 0x21, 0x00, 0x00, //0x000013e4 jmp LBB0_744 + //0x000013e9 LBB0_272 + 0x4c, 0x89, 0xdb, //0x000013e9 movq %r11, %rbx + //0x000013ec LBB0_273 + 0x48, 0x89, 0x5d, 0xa0, //0x000013ec movq %rbx, $-96(%rbp) + 0x45, 0x0f, 0xaf, 0xf0, //0x000013f0 imull %r8d, %r14d + 0x41, 0x01, 0xce, //0x000013f4 addl %ecx, %r14d + 0x44, 0x8b, 0x45, 0xb0, //0x000013f7 movl $-80(%rbp), %r8d + 0x4c, 0x89, 0xd0, //0x000013fb movq %r10, %rax + 0x48, 0xc1, 0xe8, 0x34, //0x000013fe shrq $52, %rax + 0x0f, 0x85, 0xb3, 0xfd, 0xff, 0xff, //0x00001402 jne LBB0_232 + //0x00001408 LBB0_274 + 0xc4, 0xc1, 0xf9, 0x6e, 0xc2, //0x00001408 vmovq %r10, %xmm0 + 0xc5, 0xf9, 0x62, 0x05, 0xbb, 0xed, 0xff, 0xff, //0x0000140d vpunpckldq $-4677(%rip), %xmm0, %xmm0 /* LCPI0_17+0(%rip) */ + 0xc5, 0xf9, 0x5c, 0x05, 0xc3, 0xed, 0xff, 0xff, //0x00001415 vsubpd $-4669(%rip), %xmm0, %xmm0 /* LCPI0_18+0(%rip) */ + 0xc4, 0xe3, 0x79, 0x05, 0xc8, 0x01, //0x0000141d vpermilpd $1, %xmm0, %xmm1 + 0xc5, 0xf3, 0x58, 0xc0, //0x00001423 vaddsd %xmm0, %xmm1, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc0, //0x00001427 vmovq %xmm0, %rax + 0x44, 0x89, 0xc3, //0x0000142c movl %r8d, %ebx + 0xc1, 0xeb, 0x1f, //0x0000142f shrl $31, %ebx + 0x48, 0xc1, 0xe3, 0x3f, //0x00001432 shlq $63, %rbx + 0x48, 0x09, 0xc3, //0x00001436 orq %rax, %rbx + 0x4d, 0x85, 0xd2, //0x00001439 testq %r10, %r10 + 0x0f, 0x84, 0x9a, 0x06, 0x00, 0x00, //0x0000143c je LBB0_359 + 0x45, 0x85, 0xf6, //0x00001442 testl %r14d, %r14d + 0x0f, 0x84, 0x91, 0x06, 0x00, 0x00, //0x00001445 je LBB0_359 + 0xc4, 0xe1, 0xf9, 0x6e, 0xc3, //0x0000144b vmovq %rbx, %xmm0 + 0x41, 0x8d, 0x46, 0xff, //0x00001450 leal $-1(%r14), %eax + 0x83, 0xf8, 0x24, //0x00001454 cmpl $36, %eax + 0x0f, 0x87, 0x2b, 0x00, 0x00, 0x00, //0x00001457 ja LBB0_279 + 0x41, 0x83, 0xfe, 0x17, //0x0000145d cmpl $23, %r14d + 0x44, 0x89, 0x45, 0xb0, //0x00001461 movl %r8d, $-80(%rbp) + 0x0f, 0x8c, 0x43, 0x00, 0x00, 0x00, //0x00001465 jl LBB0_281 + 0x49, 0x63, 0xc6, //0x0000146b movslq %r14d, %rax + 0x48, 0x8d, 0x0d, 0x2b, 0x25, 0x00, 0x00, //0x0000146e leaq $9515(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xc5, 0xfb, 0x59, 0x84, 0xc1, 0x50, 0xff, 0xff, 0xff, //0x00001475 vmulsd $-176(%rcx,%rax,8), %xmm0, %xmm0 + 0xb8, 0x16, 0x00, 0x00, 0x00, //0x0000147e movl $22, %eax + 0xe9, 0x29, 0x00, 0x00, 0x00, //0x00001483 jmp LBB0_282 + //0x00001488 LBB0_279 + 0x41, 0x83, 0xfe, 0xea, //0x00001488 cmpl $-22, %r14d + 0x0f, 0x82, 0x29, 0xfd, 0xff, 0xff, //0x0000148c jb LBB0_232 + 0x41, 0xf7, 0xde, //0x00001492 negl %r14d + 0x49, 0x63, 0xc6, //0x00001495 movslq %r14d, %rax + 0x48, 0x8d, 0x0d, 0x01, 0x25, 0x00, 0x00, //0x00001498 leaq $9473(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xc5, 0xfb, 0x5e, 0x04, 0xc1, //0x0000149f vdivsd (%rcx,%rax,8), %xmm0, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc3, //0x000014a4 vmovq %xmm0, %rbx + 0xe9, 0x2e, 0x06, 0x00, 0x00, //0x000014a9 jmp LBB0_359 + //0x000014ae LBB0_281 + 0x44, 0x89, 0xf0, //0x000014ae movl %r14d, %eax + //0x000014b1 LBB0_282 + 0xc5, 0xf9, 0x2e, 0x05, 0x37, 0xed, 0xff, 0xff, //0x000014b1 vucomisd $-4809(%rip), %xmm0 /* LCPI0_19+0(%rip) */ + 0x0f, 0x87, 0x2a, 0x00, 0x00, 0x00, //0x000014b9 ja LBB0_285 + 0xc5, 0xfb, 0x10, 0x0d, 0x31, 0xed, 0xff, 0xff, //0x000014bf vmovsd $-4815(%rip), %xmm1 /* LCPI0_20+0(%rip) */ + 0xc5, 0xf9, 0x2e, 0xc8, //0x000014c7 vucomisd %xmm0, %xmm1 + 0x0f, 0x87, 0x18, 0x00, 0x00, 0x00, //0x000014cb ja LBB0_285 + 0x89, 0xc0, //0x000014d1 movl %eax, %eax + 0x48, 0x8d, 0x0d, 0xc6, 0x24, 0x00, 0x00, //0x000014d3 leaq $9414(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xc5, 0xfb, 0x59, 0x04, 0xc1, //0x000014da vmulsd (%rcx,%rax,8), %xmm0, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc3, //0x000014df vmovq %xmm0, %rbx + 0xe9, 0xf3, 0x05, 0x00, 0x00, //0x000014e4 jmp LBB0_359 + //0x000014e9 LBB0_285 + 0x41, 0x8d, 0x86, 0x5c, 0x01, 0x00, 0x00, //0x000014e9 leal $348(%r14), %eax + 0x4d, 0x85, 0xd2, //0x000014f0 testq %r10, %r10 + 0x0f, 0x85, 0xe1, 0xfc, 0xff, 0xff, //0x000014f3 jne LBB0_234 + //0x000014f9 LBB0_286 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000014f9 movl $64, %ecx + //0x000014fe LBB0_287 + 0x4d, 0x89, 0xd0, //0x000014fe movq %r10, %r8 + 0x48, 0x89, 0xcf, //0x00001501 movq %rcx, %rdi + 0x49, 0xd3, 0xe0, //0x00001504 shlq %cl, %r8 + 0x41, 0x89, 0xc3, //0x00001507 movl %eax, %r11d + 0x49, 0xc1, 0xe3, 0x04, //0x0000150a shlq $4, %r11 + 0x48, 0x8d, 0x05, 0x4b, 0x25, 0x00, 0x00, //0x0000150e leaq $9547(%rip), %rax /* _POW10_M128_TAB+0(%rip) */ + 0x49, 0x8b, 0x44, 0x03, 0x08, //0x00001515 movq $8(%r11,%rax), %rax + 0x48, 0x89, 0x45, 0xa8, //0x0000151a movq %rax, $-88(%rbp) + 0x49, 0xf7, 0xe0, //0x0000151e mulq %r8 + 0x48, 0x89, 0xc6, //0x00001521 movq %rax, %rsi + 0x48, 0x89, 0xd3, //0x00001524 movq %rdx, %rbx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x00001527 andl $511, %edx + 0x4c, 0x89, 0xc1, //0x0000152d movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x00001530 notq %rcx + 0x48, 0x39, 0xc8, //0x00001533 cmpq %rcx, %rax + 0x0f, 0x86, 0x48, 0x00, 0x00, 0x00, //0x00001536 jbe LBB0_292 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x0000153c cmpl $511, %edx + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00001542 jne LBB0_292 + 0x4c, 0x89, 0xc0, //0x00001548 movq %r8, %rax + 0x48, 0x8d, 0x15, 0x0e, 0x25, 0x00, 0x00, //0x0000154b leaq $9486(%rip), %rdx /* _POW10_M128_TAB+0(%rip) */ + 0x49, 0xf7, 0x24, 0x13, //0x00001552 mulq (%r11,%rdx) + 0x48, 0x01, 0xd6, //0x00001556 addq %rdx, %rsi + 0x48, 0x83, 0xd3, 0x00, //0x00001559 adcq $0, %rbx + 0x89, 0xda, //0x0000155d movl %ebx, %edx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x0000155f andl $511, %edx + 0x48, 0x39, 0xc8, //0x00001565 cmpq %rcx, %rax + 0x0f, 0x86, 0x16, 0x00, 0x00, 0x00, //0x00001568 jbe LBB0_292 + 0x48, 0x83, 0xfe, 0xff, //0x0000156e cmpq $-1, %rsi + 0x0f, 0x85, 0x0c, 0x00, 0x00, 0x00, //0x00001572 jne LBB0_292 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x00001578 cmpl $511, %edx + 0x0f, 0x84, 0x75, 0x00, 0x00, 0x00, //0x0000157e je LBB0_295 + //0x00001584 LBB0_292 + 0x48, 0x89, 0xd8, //0x00001584 movq %rbx, %rax + 0x48, 0xc1, 0xe8, 0x3f, //0x00001587 shrq $63, %rax + 0x8d, 0x48, 0x09, //0x0000158b leal $9(%rax), %ecx + 0x48, 0xd3, 0xeb, //0x0000158e shrq %cl, %rbx + 0x48, 0x09, 0xf2, //0x00001591 orq %rsi, %rdx + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00001594 jne LBB0_294 + 0x89, 0xd9, //0x0000159a movl %ebx, %ecx + 0x83, 0xe1, 0x03, //0x0000159c andl $3, %ecx + 0x83, 0xf9, 0x01, //0x0000159f cmpl $1, %ecx + 0x0f, 0x84, 0x51, 0x00, 0x00, 0x00, //0x000015a2 je LBB0_295 + //0x000015a8 LBB0_294 + 0x41, 0x69, 0xce, 0x6a, 0x52, 0x03, 0x00, //0x000015a8 imull $217706, %r14d, %ecx + 0xc1, 0xf9, 0x10, //0x000015af sarl $16, %ecx + 0x81, 0xc1, 0x3f, 0x04, 0x00, 0x00, //0x000015b2 addl $1087, %ecx + 0x4c, 0x63, 0xf1, //0x000015b8 movslq %ecx, %r14 + 0x4c, 0x89, 0xf2, //0x000015bb movq %r14, %rdx + 0x48, 0x29, 0xfa, //0x000015be subq %rdi, %rdx + 0x48, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, //0x000015c1 movabsq $126100789566373888, %rsi + 0x48, 0x83, 0xf0, 0x01, //0x000015cb xorq $1, %rax + 0x48, 0x29, 0xc2, //0x000015cf subq %rax, %rdx + 0x89, 0xd8, //0x000015d2 movl %ebx, %eax + 0x83, 0xe0, 0x01, //0x000015d4 andl $1, %eax + 0x48, 0x01, 0xd8, //0x000015d7 addq %rbx, %rax + 0x48, 0x89, 0xc1, //0x000015da movq %rax, %rcx + 0x48, 0x21, 0xf1, //0x000015dd andq %rsi, %rcx + 0x48, 0x83, 0xf9, 0x01, //0x000015e0 cmpq $1, %rcx + 0x48, 0x83, 0xda, 0xff, //0x000015e4 sbbq $-1, %rdx + 0x48, 0x8d, 0x72, 0xff, //0x000015e8 leaq $-1(%rdx), %rsi + 0x48, 0x81, 0xfe, 0xfd, 0x07, 0x00, 0x00, //0x000015ec cmpq $2045, %rsi + 0x0f, 0x86, 0x63, 0x00, 0x00, 0x00, //0x000015f3 jbe LBB0_300 + //0x000015f9 LBB0_295 + 0x48, 0x8b, 0x45, 0xa0, //0x000015f9 movq $-96(%rbp), %rax + 0x4c, 0x29, 0xf8, //0x000015fd subq %r15, %rax + 0x4d, 0x85, 0xed, //0x00001600 testq %r13, %r13 + 0x0f, 0x84, 0xe4, 0x02, 0x00, 0x00, //0x00001603 je LBB0_320 + 0x41, 0xc6, 0x04, 0x24, 0x00, //0x00001609 movb $0, (%r12) + 0x49, 0x83, 0xfd, 0x01, //0x0000160e cmpq $1, %r13 + 0x0f, 0x84, 0xd5, 0x02, 0x00, 0x00, //0x00001612 je LBB0_320 + 0x49, 0x8d, 0x55, 0xff, //0x00001618 leaq $-1(%r13), %rdx + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000161c movl $1, %ecx + 0x48, 0x81, 0xfa, 0x80, 0x00, 0x00, 0x00, //0x00001621 cmpq $128, %rdx + 0x0f, 0x82, 0xae, 0x02, 0x00, 0x00, //0x00001628 jb LBB0_319 + 0x48, 0x89, 0xd1, //0x0000162e movq %rdx, %rcx + 0x48, 0x83, 0xe1, 0x80, //0x00001631 andq $-128, %rcx + 0x48, 0x8d, 0x71, 0x80, //0x00001635 leaq $-128(%rcx), %rsi + 0x48, 0x89, 0xf7, //0x00001639 movq %rsi, %rdi + 0x48, 0xc1, 0xef, 0x07, //0x0000163c shrq $7, %rdi + 0x48, 0xff, 0xc7, //0x00001640 incq %rdi + 0x89, 0xfb, //0x00001643 movl %edi, %ebx + 0x83, 0xe3, 0x03, //0x00001645 andl $3, %ebx + 0x48, 0x81, 0xfe, 0x80, 0x01, 0x00, 0x00, //0x00001648 cmpq $384, %rsi + 0x0f, 0x83, 0x8a, 0x01, 0x00, 0x00, //0x0000164f jae LBB0_312 + 0x31, 0xff, //0x00001655 xorl %edi, %edi + 0xe9, 0x34, 0x02, 0x00, 0x00, //0x00001657 jmp LBB0_314 + //0x0000165c LBB0_300 + 0x48, 0x83, 0xf9, 0x01, //0x0000165c cmpq $1, %rcx + 0xb1, 0x02, //0x00001660 movb $2, %cl + 0x80, 0xd9, 0x00, //0x00001662 sbbb $0, %cl + 0x48, 0xd3, 0xe8, //0x00001665 shrq %cl, %rax + 0x48, 0xc1, 0xe2, 0x34, //0x00001668 shlq $52, %rdx + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x0000166c movabsq $4503599627370495, %rcx + 0x48, 0x21, 0xc8, //0x00001676 andq %rcx, %rax + 0x48, 0x09, 0xd0, //0x00001679 orq %rdx, %rax + 0x48, 0x89, 0xc3, //0x0000167c movq %rax, %rbx + 0x48, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x0000167f movabsq $-9223372036854775808, %rcx + 0x48, 0x09, 0xcb, //0x00001689 orq %rcx, %rbx + 0x8b, 0x7d, 0xb0, //0x0000168c movl $-80(%rbp), %edi + 0x83, 0xff, 0xff, //0x0000168f cmpl $-1, %edi + 0x48, 0x0f, 0x45, 0xd8, //0x00001692 cmovneq %rax, %rbx + 0x83, 0x7d, 0xc0, 0x00, //0x00001696 cmpl $0, $-64(%rbp) + 0x0f, 0x84, 0x3c, 0x04, 0x00, 0x00, //0x0000169a je LBB0_359 + 0x89, 0x7d, 0xb0, //0x000016a0 movl %edi, $-80(%rbp) + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000016a3 movl $64, %ecx + 0x49, 0xff, 0xc2, //0x000016a8 incq %r10 + 0x0f, 0x84, 0x08, 0x00, 0x00, 0x00, //0x000016ab je LBB0_303 + 0x49, 0x0f, 0xbd, 0xca, //0x000016b1 bsrq %r10, %rcx + 0x48, 0x83, 0xf1, 0x3f, //0x000016b5 xorq $63, %rcx + //0x000016b9 LBB0_303 + 0x48, 0x89, 0xcf, //0x000016b9 movq %rcx, %rdi + 0x49, 0xd3, 0xe2, //0x000016bc shlq %cl, %r10 + 0x48, 0x8b, 0x45, 0xa8, //0x000016bf movq $-88(%rbp), %rax + 0x49, 0xf7, 0xe2, //0x000016c3 mulq %r10 + 0x49, 0x89, 0xc0, //0x000016c6 movq %rax, %r8 + 0x48, 0x89, 0xd6, //0x000016c9 movq %rdx, %rsi + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x000016cc andl $511, %edx + 0x4c, 0x89, 0xd1, //0x000016d2 movq %r10, %rcx + 0x48, 0xf7, 0xd1, //0x000016d5 notq %rcx + 0x48, 0x39, 0xc8, //0x000016d8 cmpq %rcx, %rax + 0x0f, 0x86, 0x48, 0x00, 0x00, 0x00, //0x000016db jbe LBB0_308 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x000016e1 cmpl $511, %edx + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x000016e7 jne LBB0_308 + 0x4c, 0x89, 0xd0, //0x000016ed movq %r10, %rax + 0x48, 0x8d, 0x15, 0x69, 0x23, 0x00, 0x00, //0x000016f0 leaq $9065(%rip), %rdx /* _POW10_M128_TAB+0(%rip) */ + 0x49, 0xf7, 0x24, 0x13, //0x000016f7 mulq (%r11,%rdx) + 0x49, 0x01, 0xd0, //0x000016fb addq %rdx, %r8 + 0x48, 0x83, 0xd6, 0x00, //0x000016fe adcq $0, %rsi + 0x89, 0xf2, //0x00001702 movl %esi, %edx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x00001704 andl $511, %edx + 0x48, 0x39, 0xc8, //0x0000170a cmpq %rcx, %rax + 0x0f, 0x86, 0x16, 0x00, 0x00, 0x00, //0x0000170d jbe LBB0_308 + 0x49, 0x83, 0xf8, 0xff, //0x00001713 cmpq $-1, %r8 + 0x0f, 0x85, 0x0c, 0x00, 0x00, 0x00, //0x00001717 jne LBB0_308 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x0000171d cmpl $511, %edx + 0x0f, 0x84, 0xd0, 0xfe, 0xff, 0xff, //0x00001723 je LBB0_295 + //0x00001729 LBB0_308 + 0x48, 0x89, 0xf0, //0x00001729 movq %rsi, %rax + 0x48, 0xc1, 0xe8, 0x3f, //0x0000172c shrq $63, %rax + 0x8d, 0x48, 0x09, //0x00001730 leal $9(%rax), %ecx + 0x48, 0xd3, 0xee, //0x00001733 shrq %cl, %rsi + 0x4c, 0x09, 0xc2, //0x00001736 orq %r8, %rdx + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00001739 jne LBB0_310 + 0x89, 0xf1, //0x0000173f movl %esi, %ecx + 0x83, 0xe1, 0x03, //0x00001741 andl $3, %ecx + 0x83, 0xf9, 0x01, //0x00001744 cmpl $1, %ecx + 0x0f, 0x84, 0xac, 0xfe, 0xff, 0xff, //0x00001747 je LBB0_295 + //0x0000174d LBB0_310 + 0x49, 0x29, 0xfe, //0x0000174d subq %rdi, %r14 + 0x48, 0x83, 0xf0, 0x01, //0x00001750 xorq $1, %rax + 0x49, 0x29, 0xc6, //0x00001754 subq %rax, %r14 + 0x89, 0xf0, //0x00001757 movl %esi, %eax + 0x83, 0xe0, 0x01, //0x00001759 andl $1, %eax + 0x48, 0x01, 0xf0, //0x0000175c addq %rsi, %rax + 0x48, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, //0x0000175f movabsq $126100789566373888, %rcx + 0x48, 0x21, 0xc1, //0x00001769 andq %rax, %rcx + 0x48, 0x89, 0xca, //0x0000176c movq %rcx, %rdx + 0x48, 0x83, 0xf9, 0x01, //0x0000176f cmpq $1, %rcx + 0x49, 0x83, 0xde, 0xff, //0x00001773 sbbq $-1, %r14 + 0x49, 0x8d, 0x4e, 0xff, //0x00001777 leaq $-1(%r14), %rcx + 0x48, 0x81, 0xf9, 0xfd, 0x07, 0x00, 0x00, //0x0000177b cmpq $2045, %rcx + 0x0f, 0x87, 0x71, 0xfe, 0xff, 0xff, //0x00001782 ja LBB0_295 + 0x48, 0x83, 0xfa, 0x01, //0x00001788 cmpq $1, %rdx + 0xb1, 0x02, //0x0000178c movb $2, %cl + 0x80, 0xd9, 0x00, //0x0000178e sbbb $0, %cl + 0x48, 0xd3, 0xe8, //0x00001791 shrq %cl, %rax + 0x49, 0xc1, 0xe6, 0x34, //0x00001794 shlq $52, %r14 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001798 movabsq $4503599627370495, %rcx + 0x48, 0x21, 0xc8, //0x000017a2 andq %rcx, %rax + 0x4c, 0x09, 0xf0, //0x000017a5 orq %r14, %rax + 0x48, 0x89, 0xc1, //0x000017a8 movq %rax, %rcx + 0x48, 0xba, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x000017ab movabsq $-9223372036854775808, %rdx + 0x48, 0x09, 0xd1, //0x000017b5 orq %rdx, %rcx + 0x83, 0x7d, 0xb0, 0xff, //0x000017b8 cmpl $-1, $-80(%rbp) + 0x48, 0x0f, 0x45, 0xc8, //0x000017bc cmovneq %rax, %rcx + 0xc4, 0xe1, 0xf9, 0x6e, 0xc3, //0x000017c0 vmovq %rbx, %xmm0 + 0xc4, 0xe1, 0xf9, 0x6e, 0xc9, //0x000017c5 vmovq %rcx, %xmm1 + 0xc5, 0xf9, 0x2e, 0xc1, //0x000017ca vucomisd %xmm1, %xmm0 + 0x0f, 0x85, 0x25, 0xfe, 0xff, 0xff, //0x000017ce jne LBB0_295 + 0x0f, 0x8b, 0x02, 0x03, 0x00, 0x00, //0x000017d4 jnp LBB0_359 + 0xe9, 0x1a, 0xfe, 0xff, 0xff, //0x000017da jmp LBB0_295 + //0x000017df LBB0_312 + 0x48, 0x89, 0xde, //0x000017df movq %rbx, %rsi + 0x48, 0x29, 0xfe, //0x000017e2 subq %rdi, %rsi + 0x31, 0xff, //0x000017e5 xorl %edi, %edi + 0xc5, 0xf9, 0xef, 0xc0, //0x000017e7 vpxor %xmm0, %xmm0, %xmm0 + //0x000017eb LBB0_313 + 0xc4, 0xc1, 0x7e, 0x7f, 0x44, 0x3c, 0x01, //0x000017eb vmovdqu %ymm0, $1(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x44, 0x3c, 0x21, //0x000017f2 vmovdqu %ymm0, $33(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x44, 0x3c, 0x41, //0x000017f9 vmovdqu %ymm0, $65(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x44, 0x3c, 0x61, //0x00001800 vmovdqu %ymm0, $97(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x84, 0x3c, 0x81, 0x00, 0x00, 0x00, //0x00001807 vmovdqu %ymm0, $129(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x84, 0x3c, 0xa1, 0x00, 0x00, 0x00, //0x00001811 vmovdqu %ymm0, $161(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x84, 0x3c, 0xc1, 0x00, 0x00, 0x00, //0x0000181b vmovdqu %ymm0, $193(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x84, 0x3c, 0xe1, 0x00, 0x00, 0x00, //0x00001825 vmovdqu %ymm0, $225(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x84, 0x3c, 0x01, 0x01, 0x00, 0x00, //0x0000182f vmovdqu %ymm0, $257(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x84, 0x3c, 0x21, 0x01, 0x00, 0x00, //0x00001839 vmovdqu %ymm0, $289(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x84, 0x3c, 0x41, 0x01, 0x00, 0x00, //0x00001843 vmovdqu %ymm0, $321(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x84, 0x3c, 0x61, 0x01, 0x00, 0x00, //0x0000184d vmovdqu %ymm0, $353(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x84, 0x3c, 0x81, 0x01, 0x00, 0x00, //0x00001857 vmovdqu %ymm0, $385(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x84, 0x3c, 0xa1, 0x01, 0x00, 0x00, //0x00001861 vmovdqu %ymm0, $417(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x84, 0x3c, 0xc1, 0x01, 0x00, 0x00, //0x0000186b vmovdqu %ymm0, $449(%r12,%rdi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x84, 0x3c, 0xe1, 0x01, 0x00, 0x00, //0x00001875 vmovdqu %ymm0, $481(%r12,%rdi) + 0x48, 0x81, 0xc7, 0x00, 0x02, 0x00, 0x00, //0x0000187f addq $512, %rdi + 0x48, 0x83, 0xc6, 0x04, //0x00001886 addq $4, %rsi + 0x0f, 0x85, 0x5b, 0xff, 0xff, 0xff, //0x0000188a jne LBB0_313 + //0x00001890 LBB0_314 + 0x48, 0x85, 0xdb, //0x00001890 testq %rbx, %rbx + 0x0f, 0x84, 0x36, 0x00, 0x00, 0x00, //0x00001893 je LBB0_317 + 0x48, 0xf7, 0xdb, //0x00001899 negq %rbx + 0xc5, 0xf9, 0xef, 0xc0, //0x0000189c vpxor %xmm0, %xmm0, %xmm0 + //0x000018a0 LBB0_316 + 0x48, 0x89, 0xfe, //0x000018a0 movq %rdi, %rsi + 0x48, 0x83, 0xce, 0x01, //0x000018a3 orq $1, %rsi + 0xc4, 0xc1, 0x7e, 0x7f, 0x04, 0x34, //0x000018a7 vmovdqu %ymm0, (%r12,%rsi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x44, 0x34, 0x20, //0x000018ad vmovdqu %ymm0, $32(%r12,%rsi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x44, 0x34, 0x40, //0x000018b4 vmovdqu %ymm0, $64(%r12,%rsi) + 0xc4, 0xc1, 0x7e, 0x7f, 0x44, 0x34, 0x60, //0x000018bb vmovdqu %ymm0, $96(%r12,%rsi) + 0x48, 0x83, 0xef, 0x80, //0x000018c2 subq $-128, %rdi + 0x48, 0xff, 0xc3, //0x000018c6 incq %rbx + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x000018c9 jne LBB0_316 + //0x000018cf LBB0_317 + 0x48, 0x39, 0xca, //0x000018cf cmpq %rcx, %rdx + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x000018d2 je LBB0_320 + 0x48, 0x83, 0xc9, 0x01, //0x000018d8 orq $1, %rcx + //0x000018dc LBB0_319 + 0x41, 0xc6, 0x04, 0x0c, 0x00, //0x000018dc movb $0, (%r12,%rcx) + 0x48, 0xff, 0xc1, //0x000018e1 incq %rcx + 0x49, 0x39, 0xcd, //0x000018e4 cmpq %rcx, %r13 + 0x0f, 0x85, 0xef, 0xff, 0xff, 0xff, //0x000018e7 jne LBB0_319 + //0x000018ed LBB0_320 + 0x41, 0x8a, 0x11, //0x000018ed movb (%r9), %dl + 0x31, 0xc9, //0x000018f0 xorl %ecx, %ecx + 0x80, 0xfa, 0x2d, //0x000018f2 cmpb $45, %dl + 0x0f, 0x94, 0xc1, //0x000018f5 sete %cl + 0x45, 0x31, 0xd2, //0x000018f8 xorl %r10d, %r10d + 0x48, 0x39, 0xc8, //0x000018fb cmpq %rcx, %rax + 0x0f, 0x8e, 0x92, 0x00, 0x00, 0x00, //0x000018fe jle LBB0_333 + 0x88, 0x55, 0xd7, //0x00001904 movb %dl, $-41(%rbp) + 0xb3, 0x01, //0x00001907 movb $1, %bl + 0x45, 0x31, 0xc0, //0x00001909 xorl %r8d, %r8d + 0x45, 0x31, 0xf6, //0x0000190c xorl %r14d, %r14d + 0x31, 0xff, //0x0000190f xorl %edi, %edi + 0x45, 0x31, 0xdb, //0x00001911 xorl %r11d, %r11d + 0xe9, 0x21, 0x00, 0x00, 0x00, //0x00001914 jmp LBB0_325 + //0x00001919 LBB0_322 + 0x80, 0xfa, 0x30, //0x00001919 cmpb $48, %dl + 0xba, 0x01, 0x00, 0x00, 0x00, //0x0000191c movl $1, %edx + 0x44, 0x0f, 0x45, 0xf2, //0x00001921 cmovnel %edx, %r14d + //0x00001925 LBB0_323 + 0x44, 0x89, 0xc7, //0x00001925 movl %r8d, %edi + //0x00001928 LBB0_324 + 0x48, 0xff, 0xc1, //0x00001928 incq %rcx + 0x48, 0x39, 0xc1, //0x0000192b cmpq %rax, %rcx + 0x0f, 0x9c, 0xc3, //0x0000192e setl %bl + 0x48, 0x39, 0xc8, //0x00001931 cmpq %rcx, %rax + 0x0f, 0x84, 0x70, 0x00, 0x00, 0x00, //0x00001934 je LBB0_334 + //0x0000193a LBB0_325 + 0x41, 0x0f, 0xb6, 0x14, 0x09, //0x0000193a movzbl (%r9,%rcx), %edx + 0x8d, 0x72, 0xd0, //0x0000193f leal $-48(%rdx), %esi + 0x40, 0x80, 0xfe, 0x09, //0x00001942 cmpb $9, %sil + 0x0f, 0x87, 0x1b, 0x00, 0x00, 0x00, //0x00001946 ja LBB0_329 + 0x85, 0xff, //0x0000194c testl %edi, %edi + 0x0f, 0x85, 0x2a, 0x00, 0x00, 0x00, //0x0000194e jne LBB0_331 + 0x80, 0xfa, 0x30, //0x00001954 cmpb $48, %dl + 0x0f, 0x85, 0x21, 0x00, 0x00, 0x00, //0x00001957 jne LBB0_331 + 0x41, 0xff, 0xca, //0x0000195d decl %r10d + 0x31, 0xff, //0x00001960 xorl %edi, %edi + 0xe9, 0xc1, 0xff, 0xff, 0xff, //0x00001962 jmp LBB0_324 + //0x00001967 LBB0_329 + 0x80, 0xfa, 0x2e, //0x00001967 cmpb $46, %dl + 0x0f, 0x85, 0x49, 0x00, 0x00, 0x00, //0x0000196a jne LBB0_335 + 0x41, 0x89, 0xfa, //0x00001970 movl %edi, %r10d + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001973 movl $1, %r11d + 0xe9, 0xaa, 0xff, 0xff, 0xff, //0x00001979 jmp LBB0_324 + //0x0000197e LBB0_331 + 0x49, 0x63, 0xf8, //0x0000197e movslq %r8d, %rdi + 0x49, 0x39, 0xfd, //0x00001981 cmpq %rdi, %r13 + 0x0f, 0x86, 0x8f, 0xff, 0xff, 0xff, //0x00001984 jbe LBB0_322 + 0x41, 0x88, 0x14, 0x3c, //0x0000198a movb %dl, (%r12,%rdi) + 0x41, 0xff, 0xc0, //0x0000198e incl %r8d + 0xe9, 0x8f, 0xff, 0xff, 0xff, //0x00001991 jmp LBB0_323 + //0x00001996 LBB0_333 + 0x45, 0x31, 0xff, //0x00001996 xorl %r15d, %r15d + 0x31, 0xf6, //0x00001999 xorl %esi, %esi + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x0000199b movabsq $4503599627370495, %rcx + 0xe9, 0x15, 0x01, 0x00, 0x00, //0x000019a5 jmp LBB0_358 + //0x000019aa LBB0_334 + 0x45, 0x85, 0xdb, //0x000019aa testl %r11d, %r11d + 0x4d, 0x89, 0xd7, //0x000019ad movq %r10, %r15 + 0x45, 0x0f, 0x44, 0xf8, //0x000019b0 cmovel %r8d, %r15d + 0xe9, 0xb6, 0x00, 0x00, 0x00, //0x000019b4 jmp LBB0_351 + //0x000019b9 LBB0_335 + 0x45, 0x85, 0xdb, //0x000019b9 testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xd0, //0x000019bc cmovel %r8d, %r10d + 0xf6, 0xc3, 0x01, //0x000019c0 testb $1, %bl + 0x0f, 0x84, 0x39, 0x00, 0x00, 0x00, //0x000019c3 je LBB0_341 + 0x80, 0xca, 0x20, //0x000019c9 orb $32, %dl + 0x80, 0xfa, 0x65, //0x000019cc cmpb $101, %dl + 0x48, 0x8b, 0x7d, 0xa0, //0x000019cf movq $-96(%rbp), %rdi + 0x0f, 0x85, 0x29, 0x00, 0x00, 0x00, //0x000019d3 jne LBB0_341 + 0x48, 0x8d, 0x71, 0x01, //0x000019d9 leaq $1(%rcx), %rsi + 0x89, 0xf2, //0x000019dd movl %esi, %edx + 0x41, 0x8a, 0x14, 0x11, //0x000019df movb (%r9,%rdx), %dl + 0x80, 0xfa, 0x2b, //0x000019e3 cmpb $43, %dl + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x000019e6 je LBB0_342 + 0x80, 0xfa, 0x2d, //0x000019ec cmpb $45, %dl + 0x0f, 0x85, 0x24, 0x00, 0x00, 0x00, //0x000019ef jne LBB0_344 + 0x83, 0xc1, 0x02, //0x000019f5 addl $2, %ecx + 0xba, 0xff, 0xff, 0xff, 0xff, //0x000019f8 movl $-1, %edx + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x000019fd jmp LBB0_343 + //0x00001a02 LBB0_341 + 0x4d, 0x89, 0xd7, //0x00001a02 movq %r10, %r15 + 0xe9, 0x65, 0x00, 0x00, 0x00, //0x00001a05 jmp LBB0_351 + //0x00001a0a LBB0_342 + 0x83, 0xc1, 0x02, //0x00001a0a addl $2, %ecx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001a0d movl $1, %edx + //0x00001a12 LBB0_343 + 0x89, 0xce, //0x00001a12 movl %ecx, %esi + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00001a14 jmp LBB0_345 + //0x00001a19 LBB0_344 + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001a19 movl $1, %edx + //0x00001a1e LBB0_345 + 0x48, 0x63, 0xf6, //0x00001a1e movslq %esi, %rsi + 0x31, 0xc9, //0x00001a21 xorl %ecx, %ecx + 0x48, 0x39, 0xf0, //0x00001a23 cmpq %rsi, %rax + 0x0f, 0x8e, 0x3a, 0x00, 0x00, 0x00, //0x00001a26 jle LBB0_350 + 0x49, 0x01, 0xf7, //0x00001a2c addq %rsi, %r15 + 0x31, 0xc9, //0x00001a2f xorl %ecx, %ecx + //0x00001a31 LBB0_347 + 0x81, 0xf9, 0x0f, 0x27, 0x00, 0x00, //0x00001a31 cmpl $9999, %ecx + 0x0f, 0x8f, 0x29, 0x00, 0x00, 0x00, //0x00001a37 jg LBB0_350 + 0x48, 0x8b, 0x45, 0xc8, //0x00001a3d movq $-56(%rbp), %rax + 0x42, 0x0f, 0xb6, 0x04, 0x38, //0x00001a41 movzbl (%rax,%r15), %eax + 0x8d, 0x70, 0xd0, //0x00001a46 leal $-48(%rax), %esi + 0x40, 0x80, 0xfe, 0x09, //0x00001a49 cmpb $9, %sil + 0x0f, 0x87, 0x13, 0x00, 0x00, 0x00, //0x00001a4d ja LBB0_350 + 0x8d, 0x0c, 0x89, //0x00001a53 leal (%rcx,%rcx,4), %ecx + 0x8d, 0x4c, 0x48, 0xd0, //0x00001a56 leal $-48(%rax,%rcx,2), %ecx + 0x49, 0xff, 0xc7, //0x00001a5a incq %r15 + 0x4c, 0x39, 0xff, //0x00001a5d cmpq %r15, %rdi + 0x0f, 0x85, 0xcb, 0xff, 0xff, 0xff, //0x00001a60 jne LBB0_347 + //0x00001a66 LBB0_350 + 0x0f, 0xaf, 0xca, //0x00001a66 imull %edx, %ecx + 0x44, 0x01, 0xd1, //0x00001a69 addl %r10d, %ecx + 0x41, 0x89, 0xcf, //0x00001a6c movl %ecx, %r15d + //0x00001a6f LBB0_351 + 0x45, 0x85, 0xc0, //0x00001a6f testl %r8d, %r8d + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x00001a72 je LBB0_354 + 0x41, 0x81, 0xff, 0x36, 0x01, 0x00, 0x00, //0x00001a78 cmpl $310, %r15d + 0x0f, 0x8e, 0x1b, 0x00, 0x00, 0x00, //0x00001a7f jle LBB0_355 + //0x00001a85 LBB0_353 + 0x31, 0xf6, //0x00001a85 xorl %esi, %esi + 0x49, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00001a87 movabsq $9218868437227405312, %r15 + 0xe9, 0x1c, 0x00, 0x00, 0x00, //0x00001a91 jmp LBB0_357 + //0x00001a96 LBB0_354 + 0x45, 0x31, 0xff, //0x00001a96 xorl %r15d, %r15d + 0x31, 0xf6, //0x00001a99 xorl %esi, %esi + 0xe9, 0x12, 0x00, 0x00, 0x00, //0x00001a9b jmp LBB0_357 + //0x00001aa0 LBB0_355 + 0x31, 0xf6, //0x00001aa0 xorl %esi, %esi + 0x41, 0x81, 0xff, 0xb6, 0xfe, 0xff, 0xff, //0x00001aa2 cmpl $-330, %r15d + 0x0f, 0x8d, 0x68, 0x00, 0x00, 0x00, //0x00001aa9 jge LBB0_362 + 0x45, 0x31, 0xff, //0x00001aaf xorl %r15d, %r15d + //0x00001ab2 LBB0_357 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001ab2 movabsq $4503599627370495, %rcx + 0x8a, 0x55, 0xd7, //0x00001abc movb $-41(%rbp), %dl + //0x00001abf LBB0_358 + 0x48, 0x21, 0xce, //0x00001abf andq %rcx, %rsi + 0x4c, 0x09, 0xfe, //0x00001ac2 orq %r15, %rsi + 0x48, 0x89, 0xf3, //0x00001ac5 movq %rsi, %rbx + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001ac8 movabsq $-9223372036854775808, %rax + 0x48, 0x09, 0xc3, //0x00001ad2 orq %rax, %rbx + 0x80, 0xfa, 0x2d, //0x00001ad5 cmpb $45, %dl + 0x48, 0x0f, 0x45, 0xde, //0x00001ad8 cmovneq %rsi, %rbx + //0x00001adc LBB0_359 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001adc movabsq $-9223372036854775808, %rax + 0x48, 0xff, 0xc8, //0x00001ae6 decq %rax + 0x48, 0x21, 0xd8, //0x00001ae9 andq %rbx, %rax + 0x48, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00001aec movabsq $9218868437227405312, %rcx + 0x48, 0x39, 0xc8, //0x00001af6 cmpq %rcx, %rax + 0x48, 0x8b, 0x45, 0xb8, //0x00001af9 movq $-72(%rbp), %rax + 0x0f, 0x85, 0x07, 0x00, 0x00, 0x00, //0x00001afd jne LBB0_361 + 0x48, 0xc7, 0x00, 0xf8, 0xff, 0xff, 0xff, //0x00001b03 movq $-8, (%rax) + //0x00001b0a LBB0_361 + 0x48, 0x89, 0x58, 0x08, //0x00001b0a movq %rbx, $8(%rax) + 0x48, 0x8b, 0x5d, 0xa0, //0x00001b0e movq $-96(%rbp), %rbx + 0xe9, 0x17, 0xf5, 0xff, 0xff, //0x00001b12 jmp LBB0_202 + //0x00001b17 LBB0_362 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, //0x00001b17 movabsq $1152921504606846975, %r10 + 0x45, 0x85, 0xff, //0x00001b21 testl %r15d, %r15d + 0x0f, 0x8e, 0x82, 0x07, 0x00, 0x00, //0x00001b24 jle LBB0_479 + 0x31, 0xf6, //0x00001b2a xorl %esi, %esi + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001b2c movl $1, %r11d + 0x44, 0x89, 0xc0, //0x00001b32 movl %r8d, %eax + 0xe9, 0x14, 0x00, 0x00, 0x00, //0x00001b35 jmp LBB0_366 + //0x00001b3a LBB0_364 + 0x89, 0xc3, //0x00001b3a movl %eax, %ebx + //0x00001b3c LBB0_365 + 0x48, 0x8b, 0x75, 0xb0, //0x00001b3c movq $-80(%rbp), %rsi + 0x03, 0x75, 0xa8, //0x00001b40 addl $-88(%rbp), %esi + 0x89, 0xd8, //0x00001b43 movl %ebx, %eax + 0x45, 0x85, 0xff, //0x00001b45 testl %r15d, %r15d + 0x0f, 0x8e, 0x61, 0x07, 0x00, 0x00, //0x00001b48 jle LBB0_480 + //0x00001b4e LBB0_366 + 0xb9, 0x1b, 0x00, 0x00, 0x00, //0x00001b4e movl $27, %ecx + 0x41, 0x83, 0xff, 0x08, //0x00001b53 cmpl $8, %r15d + 0x0f, 0x8f, 0x0d, 0x00, 0x00, 0x00, //0x00001b57 jg LBB0_368 + 0x44, 0x89, 0xf9, //0x00001b5d movl %r15d, %ecx + 0x48, 0x8d, 0x15, 0x89, 0x4a, 0x00, 0x00, //0x00001b60 leaq $19081(%rip), %rdx /* _POW_TAB+0(%rip) */ + 0x8b, 0x0c, 0x8a, //0x00001b67 movl (%rdx,%rcx,4), %ecx + //0x00001b6a LBB0_368 + 0x48, 0x89, 0x75, 0xb0, //0x00001b6a movq %rsi, $-80(%rbp) + 0x85, 0xc0, //0x00001b6e testl %eax, %eax + 0x89, 0x4d, 0xa8, //0x00001b70 movl %ecx, $-88(%rbp) + 0x0f, 0x84, 0xc1, 0xff, 0xff, 0xff, //0x00001b73 je LBB0_364 + 0x41, 0x89, 0xc9, //0x00001b79 movl %ecx, %r9d + 0x41, 0xf7, 0xd9, //0x00001b7c negl %r9d + 0x85, 0xc9, //0x00001b7f testl %ecx, %ecx + 0x0f, 0x84, 0xb3, 0xff, 0xff, 0xff, //0x00001b81 je LBB0_364 + 0x0f, 0x88, 0x90, 0x01, 0x00, 0x00, //0x00001b87 js LBB0_395 + //0x00001b8d LBB0_371 + 0x41, 0x83, 0xf9, 0xc3, //0x00001b8d cmpl $-61, %r9d + 0x0f, 0x8e, 0x21, 0x00, 0x00, 0x00, //0x00001b91 jle LBB0_375 + 0xe9, 0x9f, 0x03, 0x00, 0x00, //0x00001b97 jmp LBB0_426 + //0x00001b9c LBB0_372 + 0xff, 0xc8, //0x00001b9c decl %eax + 0x41, 0x89, 0xc0, //0x00001b9e movl %eax, %r8d + //0x00001ba1 LBB0_373 + 0x45, 0x85, 0xc0, //0x00001ba1 testl %r8d, %r8d + 0x45, 0x0f, 0x44, 0xf8, //0x00001ba4 cmovel %r8d, %r15d + //0x00001ba8 LBB0_374 + 0x44, 0x8d, 0x49, 0x3c, //0x00001ba8 leal $60(%rcx), %r9d + 0x44, 0x89, 0xc0, //0x00001bac movl %r8d, %eax + 0x83, 0xf9, 0x88, //0x00001baf cmpl $-120, %ecx + 0x0f, 0x8d, 0x74, 0x03, 0x00, 0x00, //0x00001bb2 jge LBB0_425 + //0x00001bb8 LBB0_375 + 0x44, 0x89, 0xc9, //0x00001bb8 movl %r9d, %ecx + 0x48, 0x63, 0xf8, //0x00001bbb movslq %eax, %rdi + 0x31, 0xf6, //0x00001bbe xorl %esi, %esi + 0x31, 0xd2, //0x00001bc0 xorl %edx, %edx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001bc2 .p2align 4, 0x90 + //0x00001bd0 LBB0_376 + 0x48, 0x39, 0xfe, //0x00001bd0 cmpq %rdi, %rsi + 0x0f, 0x8d, 0x23, 0x00, 0x00, 0x00, //0x00001bd3 jge LBB0_378 + 0x48, 0x8d, 0x14, 0x92, //0x00001bd9 leaq (%rdx,%rdx,4), %rdx + 0x49, 0x0f, 0xbe, 0x1c, 0x34, //0x00001bdd movsbq (%r12,%rsi), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x00001be2 leaq $-48(%rbx,%rdx,2), %rdx + 0x48, 0xff, 0xc6, //0x00001be7 incq %rsi + 0x49, 0x8d, 0x5a, 0x01, //0x00001bea leaq $1(%r10), %rbx + 0x48, 0x39, 0xda, //0x00001bee cmpq %rbx, %rdx + 0x0f, 0x82, 0xd9, 0xff, 0xff, 0xff, //0x00001bf1 jb LBB0_376 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00001bf7 jmp LBB0_380 + //0x00001bfc LBB0_378 + 0x48, 0x85, 0xd2, //0x00001bfc testq %rdx, %rdx + 0x0f, 0x84, 0x10, 0x01, 0x00, 0x00, //0x00001bff je LBB0_393 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001c05 .p2align 4, 0x90 + //0x00001c10 LBB0_379 + 0x48, 0x01, 0xd2, //0x00001c10 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001c13 leaq (%rdx,%rdx,4), %rdx + 0xff, 0xc6, //0x00001c17 incl %esi + 0x49, 0x8d, 0x7a, 0x01, //0x00001c19 leaq $1(%r10), %rdi + 0x48, 0x39, 0xfa, //0x00001c1d cmpq %rdi, %rdx + 0x0f, 0x82, 0xea, 0xff, 0xff, 0xff, //0x00001c20 jb LBB0_379 + //0x00001c26 LBB0_380 + 0x41, 0x29, 0xf7, //0x00001c26 subl %esi, %r15d + 0x31, 0xff, //0x00001c29 xorl %edi, %edi + 0x39, 0xc6, //0x00001c2b cmpl %eax, %esi + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x00001c2d jge LBB0_385 + 0x48, 0x63, 0xc6, //0x00001c33 movslq %esi, %rax + 0x49, 0x63, 0xf0, //0x00001c36 movslq %r8d, %rsi + 0x49, 0x8d, 0x3c, 0x04, //0x00001c39 leaq (%r12,%rax), %rdi + 0x45, 0x31, 0xc0, //0x00001c3d xorl %r8d, %r8d + //0x00001c40 .p2align 4, 0x90 + //0x00001c40 LBB0_382 + 0x48, 0x89, 0xd3, //0x00001c40 movq %rdx, %rbx + 0x48, 0xc1, 0xeb, 0x3c, //0x00001c43 shrq $60, %rbx + 0x4c, 0x21, 0xd2, //0x00001c47 andq %r10, %rdx + 0x80, 0xcb, 0x30, //0x00001c4a orb $48, %bl + 0x43, 0x88, 0x1c, 0x04, //0x00001c4d movb %bl, (%r12,%r8) + 0x48, 0x8d, 0x14, 0x92, //0x00001c51 leaq (%rdx,%rdx,4), %rdx + 0x4a, 0x0f, 0xbe, 0x1c, 0x07, //0x00001c55 movsbq (%rdi,%r8), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x00001c5a leaq $-48(%rbx,%rdx,2), %rdx + 0x4a, 0x8d, 0x5c, 0x00, 0x01, //0x00001c5f leaq $1(%rax,%r8), %rbx + 0x49, 0xff, 0xc0, //0x00001c64 incq %r8 + 0x48, 0x39, 0xf3, //0x00001c67 cmpq %rsi, %rbx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00001c6a jl LBB0_382 + 0x48, 0x85, 0xd2, //0x00001c70 testq %rdx, %rdx + 0x0f, 0x84, 0x5f, 0x00, 0x00, 0x00, //0x00001c73 je LBB0_389 + 0x44, 0x89, 0xc7, //0x00001c79 movl %r8d, %edi + //0x00001c7c LBB0_385 + 0x41, 0x89, 0xf8, //0x00001c7c movl %edi, %r8d + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00001c7f jmp LBB0_387 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001c84 .p2align 4, 0x90 + //0x00001c90 LBB0_386 + 0x48, 0x85, 0xc0, //0x00001c90 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf3, //0x00001c93 cmovnel %r11d, %r14d + 0x48, 0x01, 0xd2, //0x00001c97 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001c9a leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00001c9e testq %rdx, %rdx + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x00001ca1 je LBB0_389 + //0x00001ca7 LBB0_387 + 0x48, 0x89, 0xd0, //0x00001ca7 movq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x3c, //0x00001caa shrq $60, %rax + 0x4c, 0x21, 0xd2, //0x00001cae andq %r10, %rdx + 0x49, 0x63, 0xf0, //0x00001cb1 movslq %r8d, %rsi + 0x49, 0x39, 0xf5, //0x00001cb4 cmpq %rsi, %r13 + 0x0f, 0x86, 0xd3, 0xff, 0xff, 0xff, //0x00001cb7 jbe LBB0_386 + 0x0c, 0x30, //0x00001cbd orb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00001cbf movb %al, (%r12,%rsi) + 0xff, 0xc6, //0x00001cc3 incl %esi + 0x41, 0x89, 0xf0, //0x00001cc5 movl %esi, %r8d + 0x48, 0x01, 0xd2, //0x00001cc8 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001ccb leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00001ccf testq %rdx, %rdx + 0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x00001cd2 jne LBB0_387 + //0x00001cd8 LBB0_389 + 0x41, 0xff, 0xc7, //0x00001cd8 incl %r15d + 0x45, 0x85, 0xc0, //0x00001cdb testl %r8d, %r8d + 0x0f, 0x8e, 0xbd, 0xfe, 0xff, 0xff, //0x00001cde jle LBB0_373 + 0x44, 0x89, 0xc0, //0x00001ce4 movl %r8d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001ce7 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0xb5, 0xfe, 0xff, 0xff, //0x00001ced jne LBB0_374 + //0x00001cf3 LBB0_391 + 0x48, 0x83, 0xf8, 0x01, //0x00001cf3 cmpq $1, %rax + 0x0f, 0x8e, 0x9f, 0xfe, 0xff, 0xff, //0x00001cf7 jle LBB0_372 + 0x4c, 0x8d, 0x40, 0xff, //0x00001cfd leaq $-1(%rax), %r8 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001d01 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xc0, //0x00001d07 movq %r8, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001d0a je LBB0_391 + 0xe9, 0x93, 0xfe, 0xff, 0xff, //0x00001d10 jmp LBB0_374 + //0x00001d15 LBB0_393 + 0x45, 0x31, 0xc0, //0x00001d15 xorl %r8d, %r8d + 0xe9, 0x8b, 0xfe, 0xff, 0xff, //0x00001d18 jmp LBB0_374 + //0x00001d1d LBB0_395 + 0x83, 0xf9, 0xc3, //0x00001d1d cmpl $-61, %ecx + 0x0f, 0x8f, 0x6f, 0x03, 0x00, 0x00, //0x00001d20 jg LBB0_447 + 0x48, 0x8d, 0x1d, 0xf3, 0x48, 0x00, 0x00, //0x00001d26 leaq $18675(%rip), %rbx /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x00001d2d jmp LBB0_400 + //0x00001d32 LBB0_397 + 0xff, 0xc8, //0x00001d32 decl %eax + 0x41, 0x89, 0xc0, //0x00001d34 movl %eax, %r8d + //0x00001d37 LBB0_398 + 0x45, 0x85, 0xc0, //0x00001d37 testl %r8d, %r8d + 0x45, 0x0f, 0x44, 0xf8, //0x00001d3a cmovel %r8d, %r15d + //0x00001d3e LBB0_399 + 0x48, 0x8b, 0x4d, 0xc0, //0x00001d3e movq $-64(%rbp), %rcx + 0x44, 0x8d, 0x49, 0xc4, //0x00001d42 leal $-60(%rcx), %r9d + 0x44, 0x89, 0xc0, //0x00001d46 movl %r8d, %eax + 0x83, 0xf9, 0x78, //0x00001d49 cmpl $120, %ecx + 0x0f, 0x8e, 0x34, 0x03, 0x00, 0x00, //0x00001d4c jle LBB0_446 + //0x00001d52 LBB0_400 + 0x4c, 0x89, 0x7d, 0xc8, //0x00001d52 movq %r15, $-56(%rbp) + 0x4c, 0x89, 0x4d, 0xc0, //0x00001d56 movq %r9, $-64(%rbp) + 0x48, 0x63, 0xf8, //0x00001d5a movslq %eax, %rdi + 0x85, 0xff, //0x00001d5d testl %edi, %edi + 0x0f, 0x84, 0x3a, 0x00, 0x00, 0x00, //0x00001d5f je LBB0_406 + 0xb2, 0x38, //0x00001d65 movb $56, %dl + 0x31, 0xc9, //0x00001d67 xorl %ecx, %ecx + //0x00001d69 LBB0_402 + 0x41, 0xb9, 0x13, 0x00, 0x00, 0x00, //0x00001d69 movl $19, %r9d + 0x48, 0x83, 0xf9, 0x2a, //0x00001d6f cmpq $42, %rcx + 0x0f, 0x84, 0x2c, 0x00, 0x00, 0x00, //0x00001d73 je LBB0_407 + 0x41, 0x38, 0x14, 0x0c, //0x00001d79 cmpb %dl, (%r12,%rcx) + 0x0f, 0x85, 0x9e, 0x01, 0x00, 0x00, //0x00001d7d jne LBB0_424 + 0x0f, 0xb6, 0x94, 0x19, 0x65, 0x18, 0x00, 0x00, //0x00001d83 movzbl $6245(%rcx,%rbx), %edx + 0x48, 0xff, 0xc1, //0x00001d8b incq %rcx + 0x48, 0x39, 0xcf, //0x00001d8e cmpq %rcx, %rdi + 0x0f, 0x85, 0xd2, 0xff, 0xff, 0xff, //0x00001d91 jne LBB0_402 + 0x84, 0xd2, //0x00001d97 testb %dl, %dl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00001d99 je LBB0_407 + //0x00001d9f LBB0_406 + 0x41, 0xb9, 0x12, 0x00, 0x00, 0x00, //0x00001d9f movl $18, %r9d + //0x00001da5 LBB0_407 + 0x85, 0xc0, //0x00001da5 testl %eax, %eax + 0x0f, 0x8e, 0xb1, 0x00, 0x00, 0x00, //0x00001da7 jle LBB0_415 + 0x41, 0xbf, 0x01, 0x00, 0x00, 0x00, //0x00001dad movl $1, %r15d + 0x44, 0x01, 0xc8, //0x00001db3 addl %r9d, %eax + 0x48, 0x98, //0x00001db6 cltq + 0x48, 0x89, 0xc3, //0x00001db8 movq %rax, %rbx + 0x48, 0xc1, 0xe3, 0x20, //0x00001dbb shlq $32, %rbx + 0x48, 0xff, 0xc8, //0x00001dbf decq %rax + 0x48, 0xff, 0xc7, //0x00001dc2 incq %rdi + 0x31, 0xc9, //0x00001dc5 xorl %ecx, %ecx + 0xe9, 0x29, 0x00, 0x00, 0x00, //0x00001dc7 jmp LBB0_411 + 0x90, 0x90, 0x90, 0x90, //0x00001dcc .p2align 4, 0x90 + //0x00001dd0 LBB0_409 + 0x48, 0x85, 0xc0, //0x00001dd0 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf7, //0x00001dd3 cmovnel %r15d, %r14d + //0x00001dd7 LBB0_410 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00001dd7 movabsq $-4294967296, %rax + 0x48, 0x01, 0xc3, //0x00001de1 addq %rax, %rbx + 0x49, 0x8d, 0x43, 0xff, //0x00001de4 leaq $-1(%r11), %rax + 0x48, 0xff, 0xcf, //0x00001de8 decq %rdi + 0x48, 0x83, 0xff, 0x01, //0x00001deb cmpq $1, %rdi + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00001def jle LBB0_413 + //0x00001df5 LBB0_411 + 0x49, 0x89, 0xc3, //0x00001df5 movq %rax, %r11 + 0x41, 0x0f, 0xb6, 0x74, 0x3c, 0xfe, //0x00001df8 movzbl $-2(%r12,%rdi), %esi + 0x48, 0xc1, 0xe6, 0x3c, //0x00001dfe shlq $60, %rsi + 0x48, 0x01, 0xce, //0x00001e02 addq %rcx, %rsi + 0x48, 0x89, 0xf0, //0x00001e05 movq %rsi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001e08 movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00001e12 mulq %rcx + 0x48, 0x89, 0xd1, //0x00001e15 movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x00001e18 shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00001e1c leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00001e20 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf0, //0x00001e24 movq %rsi, %rax + 0x48, 0x29, 0xd0, //0x00001e27 subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x00001e2a cmpq %r13, %r11 + 0x0f, 0x83, 0x9d, 0xff, 0xff, 0xff, //0x00001e2d jae LBB0_409 + 0x04, 0x30, //0x00001e33 addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x00001e35 movb %al, (%r12,%r11) + 0xe9, 0x99, 0xff, 0xff, 0xff, //0x00001e39 jmp LBB0_410 + //0x00001e3e LBB0_413 + 0x48, 0x83, 0xfe, 0x0a, //0x00001e3e cmpq $10, %rsi + 0x4c, 0x8b, 0x7d, 0xc8, //0x00001e42 movq $-56(%rbp), %r15 + 0x0f, 0x83, 0x1b, 0x00, 0x00, 0x00, //0x00001e46 jae LBB0_416 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001e4c movl $1, %r11d + 0x48, 0x8d, 0x1d, 0xc7, 0x47, 0x00, 0x00, //0x00001e52 leaq $18375(%rip), %rbx /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x79, 0x00, 0x00, 0x00, //0x00001e59 jmp LBB0_420 + //0x00001e5e LBB0_415 + 0x4c, 0x8b, 0x7d, 0xc8, //0x00001e5e movq $-56(%rbp), %r15 + 0xe9, 0x70, 0x00, 0x00, 0x00, //0x00001e62 jmp LBB0_420 + //0x00001e67 LBB0_416 + 0x49, 0x63, 0xf3, //0x00001e67 movslq %r11d, %rsi + 0x48, 0xff, 0xce, //0x00001e6a decq %rsi + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001e6d movl $1, %r11d + 0x48, 0x8d, 0x1d, 0xa6, 0x47, 0x00, 0x00, //0x00001e73 leaq $18342(%rip), %rbx /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00001e7a jmp LBB0_418 + //0x00001e7f LBB0_417 + 0x48, 0x85, 0xc0, //0x00001e7f testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf3, //0x00001e82 cmovnel %r11d, %r14d + 0x48, 0xff, 0xce, //0x00001e86 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00001e89 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00001e8d movq %rdx, %rcx + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x00001e90 jbe LBB0_420 + //0x00001e96 LBB0_418 + 0x48, 0x89, 0xc8, //0x00001e96 movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001e99 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001ea3 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00001ea6 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00001eaa leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00001eae leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xc8, //0x00001eb2 movq %rcx, %rax + 0x48, 0x29, 0xf8, //0x00001eb5 subq %rdi, %rax + 0x4c, 0x39, 0xee, //0x00001eb8 cmpq %r13, %rsi + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x00001ebb jae LBB0_417 + 0x04, 0x30, //0x00001ec1 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00001ec3 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x00001ec7 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00001eca cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00001ece movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00001ed1 ja LBB0_418 + //0x00001ed7 LBB0_420 + 0x45, 0x01, 0xc8, //0x00001ed7 addl %r9d, %r8d + 0x4d, 0x63, 0xc0, //0x00001eda movslq %r8d, %r8 + 0x4d, 0x39, 0xc5, //0x00001edd cmpq %r8, %r13 + 0x45, 0x0f, 0x46, 0xc5, //0x00001ee0 cmovbel %r13d, %r8d + 0x45, 0x01, 0xcf, //0x00001ee4 addl %r9d, %r15d + 0x45, 0x85, 0xc0, //0x00001ee7 testl %r8d, %r8d + 0x0f, 0x8e, 0x47, 0xfe, 0xff, 0xff, //0x00001eea jle LBB0_398 + 0x44, 0x89, 0xc0, //0x00001ef0 movl %r8d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001ef3 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x3f, 0xfe, 0xff, 0xff, //0x00001ef9 jne LBB0_399 + //0x00001eff LBB0_422 + 0x48, 0x83, 0xf8, 0x01, //0x00001eff cmpq $1, %rax + 0x0f, 0x8e, 0x29, 0xfe, 0xff, 0xff, //0x00001f03 jle LBB0_397 + 0x4c, 0x8d, 0x40, 0xff, //0x00001f09 leaq $-1(%rax), %r8 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001f0d cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xc0, //0x00001f13 movq %r8, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001f16 je LBB0_422 + 0xe9, 0x1d, 0xfe, 0xff, 0xff, //0x00001f1c jmp LBB0_399 + //0x00001f21 LBB0_424 + 0x0f, 0x8c, 0x78, 0xfe, 0xff, 0xff, //0x00001f21 jl LBB0_406 + 0xe9, 0x79, 0xfe, 0xff, 0xff, //0x00001f27 jmp LBB0_407 + //0x00001f2c LBB0_425 + 0x44, 0x89, 0xc0, //0x00001f2c movl %r8d, %eax + 0x44, 0x89, 0xc3, //0x00001f2f movl %r8d, %ebx + 0x45, 0x85, 0xc9, //0x00001f32 testl %r9d, %r9d + 0x0f, 0x84, 0x01, 0xfc, 0xff, 0xff, //0x00001f35 je LBB0_365 + //0x00001f3b LBB0_426 + 0x41, 0xf7, 0xd9, //0x00001f3b negl %r9d + 0x48, 0x63, 0xf8, //0x00001f3e movslq %eax, %rdi + 0x31, 0xf6, //0x00001f41 xorl %esi, %esi + 0x31, 0xd2, //0x00001f43 xorl %edx, %edx + //0x00001f45 LBB0_427 + 0x48, 0x39, 0xfe, //0x00001f45 cmpq %rdi, %rsi + 0x0f, 0x8d, 0x0f, 0x01, 0x00, 0x00, //0x00001f48 jge LBB0_443 + 0x48, 0x8d, 0x0c, 0x92, //0x00001f4e leaq (%rdx,%rdx,4), %rcx + 0x49, 0x0f, 0xbe, 0x14, 0x34, //0x00001f52 movsbq (%r12,%rsi), %rdx + 0x48, 0x8d, 0x54, 0x4a, 0xd0, //0x00001f57 leaq $-48(%rdx,%rcx,2), %rdx + 0x48, 0xff, 0xc6, //0x00001f5c incq %rsi + 0x48, 0x89, 0xd3, //0x00001f5f movq %rdx, %rbx + 0x44, 0x89, 0xc9, //0x00001f62 movl %r9d, %ecx + 0x48, 0xd3, 0xeb, //0x00001f65 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00001f68 testq %rbx, %rbx + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x00001f6b je LBB0_427 + //0x00001f71 LBB0_429 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00001f71 movq $-1, %rdi + 0x44, 0x89, 0xc9, //0x00001f78 movl %r9d, %ecx + 0x48, 0xd3, 0xe7, //0x00001f7b shlq %cl, %rdi + 0x48, 0xf7, 0xd7, //0x00001f7e notq %rdi + 0x31, 0xdb, //0x00001f81 xorl %ebx, %ebx + 0x39, 0xc6, //0x00001f83 cmpl %eax, %esi + 0x0f, 0x8d, 0x4b, 0x00, 0x00, 0x00, //0x00001f85 jge LBB0_433 + 0x4c, 0x89, 0x7d, 0xc8, //0x00001f8b movq %r15, $-56(%rbp) + 0x4c, 0x63, 0xde, //0x00001f8f movslq %esi, %r11 + 0x4d, 0x63, 0xc0, //0x00001f92 movslq %r8d, %r8 + 0x4f, 0x8d, 0x3c, 0x1c, //0x00001f95 leaq (%r12,%r11), %r15 + 0x31, 0xdb, //0x00001f99 xorl %ebx, %ebx + //0x00001f9b LBB0_431 + 0x48, 0x89, 0xd0, //0x00001f9b movq %rdx, %rax + 0x44, 0x89, 0xc9, //0x00001f9e movl %r9d, %ecx + 0x48, 0xd3, 0xe8, //0x00001fa1 shrq %cl, %rax + 0x48, 0x21, 0xfa, //0x00001fa4 andq %rdi, %rdx + 0x04, 0x30, //0x00001fa7 addb $48, %al + 0x41, 0x88, 0x04, 0x1c, //0x00001fa9 movb %al, (%r12,%rbx) + 0x48, 0x8d, 0x04, 0x92, //0x00001fad leaq (%rdx,%rdx,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x1f, //0x00001fb1 movsbq (%r15,%rbx), %rcx + 0x48, 0x8d, 0x54, 0x41, 0xd0, //0x00001fb6 leaq $-48(%rcx,%rax,2), %rdx + 0x49, 0x8d, 0x44, 0x1b, 0x01, //0x00001fbb leaq $1(%r11,%rbx), %rax + 0x48, 0xff, 0xc3, //0x00001fc0 incq %rbx + 0x4c, 0x39, 0xc0, //0x00001fc3 cmpq %r8, %rax + 0x0f, 0x8c, 0xcf, 0xff, 0xff, 0xff, //0x00001fc6 jl LBB0_431 + 0x4c, 0x8b, 0x7d, 0xc8, //0x00001fcc movq $-56(%rbp), %r15 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001fd0 movl $1, %r11d + //0x00001fd6 LBB0_433 + 0x41, 0x29, 0xf7, //0x00001fd6 subl %esi, %r15d + 0x41, 0x89, 0xd8, //0x00001fd9 movl %ebx, %r8d + 0xe9, 0x0e, 0x00, 0x00, 0x00, //0x00001fdc jmp LBB0_436 + //0x00001fe1 LBB0_434 + 0x48, 0x85, 0xc0, //0x00001fe1 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf3, //0x00001fe4 cmovnel %r11d, %r14d + //0x00001fe8 LBB0_435 + 0x48, 0x01, 0xd2, //0x00001fe8 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001feb leaq (%rdx,%rdx,4), %rdx + //0x00001fef LBB0_436 + 0x48, 0x85, 0xd2, //0x00001fef testq %rdx, %rdx + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x00001ff2 je LBB0_439 + 0x48, 0x89, 0xd0, //0x00001ff8 movq %rdx, %rax + 0x44, 0x89, 0xc9, //0x00001ffb movl %r9d, %ecx + 0x48, 0xd3, 0xe8, //0x00001ffe shrq %cl, %rax + 0x48, 0x21, 0xfa, //0x00002001 andq %rdi, %rdx + 0x49, 0x63, 0xc8, //0x00002004 movslq %r8d, %rcx + 0x49, 0x39, 0xcd, //0x00002007 cmpq %rcx, %r13 + 0x0f, 0x86, 0xd1, 0xff, 0xff, 0xff, //0x0000200a jbe LBB0_434 + 0x04, 0x30, //0x00002010 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x00002012 movb %al, (%r12,%rcx) + 0xff, 0xc1, //0x00002016 incl %ecx + 0x41, 0x89, 0xc8, //0x00002018 movl %ecx, %r8d + 0xe9, 0xc8, 0xff, 0xff, 0xff, //0x0000201b jmp LBB0_435 + //0x00002020 LBB0_439 + 0x41, 0xff, 0xc7, //0x00002020 incl %r15d + 0x45, 0x85, 0xc0, //0x00002023 testl %r8d, %r8d + 0x0f, 0x8e, 0x44, 0x02, 0x00, 0x00, //0x00002026 jle LBB0_473 + 0x44, 0x89, 0xc0, //0x0000202c movl %r8d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x0000202f cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x3e, 0x02, 0x00, 0x00, //0x00002035 jne LBB0_474 + //0x0000203b LBB0_441 + 0x48, 0x83, 0xf8, 0x01, //0x0000203b cmpq $1, %rax + 0x0f, 0x8e, 0x26, 0x02, 0x00, 0x00, //0x0000203f jle LBB0_472 + 0x4c, 0x8d, 0x40, 0xff, //0x00002045 leaq $-1(%rax), %r8 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00002049 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xc0, //0x0000204f movq %r8, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002052 je LBB0_441 + 0xe9, 0x1c, 0x02, 0x00, 0x00, //0x00002058 jmp LBB0_474 + //0x0000205d LBB0_443 + 0x48, 0x85, 0xd2, //0x0000205d testq %rdx, %rdx + 0x0f, 0x84, 0x3c, 0x01, 0x00, 0x00, //0x00002060 je LBB0_462 + //0x00002066 LBB0_444 + 0x48, 0x89, 0xd7, //0x00002066 movq %rdx, %rdi + 0x44, 0x89, 0xc9, //0x00002069 movl %r9d, %ecx + 0x48, 0xd3, 0xef, //0x0000206c shrq %cl, %rdi + 0x48, 0x85, 0xff, //0x0000206f testq %rdi, %rdi + 0x0f, 0x85, 0xf9, 0xfe, 0xff, 0xff, //0x00002072 jne LBB0_429 + 0x48, 0x01, 0xd2, //0x00002078 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x0000207b leaq (%rdx,%rdx,4), %rdx + 0xff, 0xc6, //0x0000207f incl %esi + 0xe9, 0xe0, 0xff, 0xff, 0xff, //0x00002081 jmp LBB0_444 + //0x00002086 LBB0_446 + 0x44, 0x89, 0xc0, //0x00002086 movl %r8d, %eax + 0x44, 0x89, 0xc3, //0x00002089 movl %r8d, %ebx + 0x45, 0x85, 0xc9, //0x0000208c testl %r9d, %r9d + 0x0f, 0x84, 0xa7, 0xfa, 0xff, 0xff, //0x0000208f je LBB0_365 + //0x00002095 LBB0_447 + 0x44, 0x89, 0xc9, //0x00002095 movl %r9d, %ecx + 0x48, 0x6b, 0xf1, 0x68, //0x00002098 imulq $104, %rcx, %rsi + 0x48, 0x8d, 0x3d, 0x7d, 0x45, 0x00, 0x00, //0x0000209c leaq $17789(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0x8b, 0x1c, 0x3e, //0x000020a3 movl (%rsi,%rdi), %ebx + 0x4c, 0x63, 0xd8, //0x000020a6 movslq %eax, %r11 + 0x8a, 0x54, 0x3e, 0x04, //0x000020a9 movb $4(%rsi,%rdi), %dl + 0x45, 0x85, 0xdb, //0x000020ad testl %r11d, %r11d + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000020b0 je LBB0_452 + 0x48, 0x8d, 0x74, 0x3e, 0x05, //0x000020b6 leaq $5(%rsi,%rdi), %rsi + 0x31, 0xff, //0x000020bb xorl %edi, %edi + //0x000020bd LBB0_449 + 0x84, 0xd2, //0x000020bd testb %dl, %dl + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x000020bf je LBB0_454 + 0x41, 0x38, 0x14, 0x3c, //0x000020c5 cmpb %dl, (%r12,%rdi) + 0x0f, 0x85, 0xb2, 0x01, 0x00, 0x00, //0x000020c9 jne LBB0_475 + 0x0f, 0xb6, 0x14, 0x3e, //0x000020cf movzbl (%rsi,%rdi), %edx + 0x48, 0xff, 0xc7, //0x000020d3 incq %rdi + 0x49, 0x39, 0xfb, //0x000020d6 cmpq %rdi, %r11 + 0x0f, 0x85, 0xde, 0xff, 0xff, 0xff, //0x000020d9 jne LBB0_449 + //0x000020df LBB0_452 + 0x84, 0xd2, //0x000020df testb %dl, %dl + 0x0f, 0x84, 0x02, 0x00, 0x00, 0x00, //0x000020e1 je LBB0_454 + //0x000020e7 LBB0_453 + 0xff, 0xcb, //0x000020e7 decl %ebx + //0x000020e9 LBB0_454 + 0x85, 0xc0, //0x000020e9 testl %eax, %eax + 0x0f, 0x8e, 0xbb, 0x00, 0x00, 0x00, //0x000020eb jle LBB0_463 + 0x4c, 0x89, 0x7d, 0xc8, //0x000020f1 movq %r15, $-56(%rbp) + 0x89, 0x5d, 0xc0, //0x000020f5 movl %ebx, $-64(%rbp) + 0x01, 0xd8, //0x000020f8 addl %ebx, %eax + 0x48, 0x98, //0x000020fa cltq + 0x48, 0x89, 0xc6, //0x000020fc movq %rax, %rsi + 0x48, 0xc1, 0xe6, 0x20, //0x000020ff shlq $32, %rsi + 0x48, 0xff, 0xc8, //0x00002103 decq %rax + 0x49, 0xff, 0xc3, //0x00002106 incq %r11 + 0x31, 0xff, //0x00002109 xorl %edi, %edi + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x0000210b jmp LBB0_458 + //0x00002110 LBB0_456 + 0x48, 0x85, 0xc0, //0x00002110 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00002113 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00002118 cmovnel %eax, %r14d + //0x0000211c LBB0_457 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000211c movabsq $-4294967296, %rax + 0x48, 0x01, 0xc6, //0x00002126 addq %rax, %rsi + 0x49, 0x8d, 0x47, 0xff, //0x00002129 leaq $-1(%r15), %rax + 0x49, 0xff, 0xcb, //0x0000212d decq %r11 + 0x49, 0x83, 0xfb, 0x01, //0x00002130 cmpq $1, %r11 + 0x0f, 0x8e, 0x4c, 0x00, 0x00, 0x00, //0x00002134 jle LBB0_460 + //0x0000213a LBB0_458 + 0x49, 0x89, 0xc7, //0x0000213a movq %rax, %r15 + 0x4b, 0x0f, 0xbe, 0x5c, 0x1c, 0xfe, //0x0000213d movsbq $-2(%r12,%r11), %rbx + 0x48, 0x83, 0xc3, 0xd0, //0x00002143 addq $-48, %rbx + 0x48, 0xd3, 0xe3, //0x00002147 shlq %cl, %rbx + 0x48, 0x01, 0xfb, //0x0000214a addq %rdi, %rbx + 0x48, 0x89, 0xd8, //0x0000214d movq %rbx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002150 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x0000215a mulq %rdx + 0x48, 0x89, 0xd7, //0x0000215d movq %rdx, %rdi + 0x48, 0xc1, 0xef, 0x03, //0x00002160 shrq $3, %rdi + 0x48, 0x8d, 0x04, 0x3f, //0x00002164 leaq (%rdi,%rdi), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00002168 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x0000216c movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x0000216f subq %rdx, %rax + 0x4d, 0x39, 0xef, //0x00002172 cmpq %r13, %r15 + 0x0f, 0x83, 0x95, 0xff, 0xff, 0xff, //0x00002175 jae LBB0_456 + 0x04, 0x30, //0x0000217b addb $48, %al + 0x43, 0x88, 0x04, 0x3c, //0x0000217d movb %al, (%r12,%r15) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x00002181 jmp LBB0_457 + //0x00002186 LBB0_460 + 0x48, 0x83, 0xfb, 0x0a, //0x00002186 cmpq $10, %rbx + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000218a movl $1, %r11d + 0x0f, 0x83, 0x21, 0x00, 0x00, 0x00, //0x00002190 jae LBB0_464 + 0x4c, 0x8b, 0x7d, 0xc8, //0x00002196 movq $-56(%rbp), %r15 + 0x8b, 0x5d, 0xc0, //0x0000219a movl $-64(%rbp), %ebx + 0xe9, 0x7f, 0x00, 0x00, 0x00, //0x0000219d jmp LBB0_468 + //0x000021a2 LBB0_462 + 0x45, 0x31, 0xc0, //0x000021a2 xorl %r8d, %r8d + 0x31, 0xdb, //0x000021a5 xorl %ebx, %ebx + 0xe9, 0x90, 0xf9, 0xff, 0xff, //0x000021a7 jmp LBB0_365 + //0x000021ac LBB0_463 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000021ac movl $1, %r11d + 0xe9, 0x6a, 0x00, 0x00, 0x00, //0x000021b2 jmp LBB0_468 + //0x000021b7 LBB0_464 + 0x49, 0x63, 0xcf, //0x000021b7 movslq %r15d, %rcx + 0x48, 0xff, 0xc9, //0x000021ba decq %rcx + 0x4c, 0x8b, 0x7d, 0xc8, //0x000021bd movq $-56(%rbp), %r15 + 0x8b, 0x5d, 0xc0, //0x000021c1 movl $-64(%rbp), %ebx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x000021c4 jmp LBB0_466 + //0x000021c9 LBB0_465 + 0x48, 0x85, 0xc0, //0x000021c9 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf3, //0x000021cc cmovnel %r11d, %r14d + 0x48, 0xff, 0xc9, //0x000021d0 decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x000021d3 cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x000021d7 movq %rdx, %rdi + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x000021da jbe LBB0_468 + //0x000021e0 LBB0_466 + 0x48, 0x89, 0xf8, //0x000021e0 movq %rdi, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000021e3 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x000021ed mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x000021f0 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x000021f4 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x34, 0x80, //0x000021f8 leaq (%rax,%rax,4), %rsi + 0x48, 0x89, 0xf8, //0x000021fc movq %rdi, %rax + 0x48, 0x29, 0xf0, //0x000021ff subq %rsi, %rax + 0x4c, 0x39, 0xe9, //0x00002202 cmpq %r13, %rcx + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x00002205 jae LBB0_465 + 0x04, 0x30, //0x0000220b addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x0000220d movb %al, (%r12,%rcx) + 0x48, 0xff, 0xc9, //0x00002211 decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x00002214 cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x00002218 movq %rdx, %rdi + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x0000221b ja LBB0_466 + //0x00002221 LBB0_468 + 0x41, 0x01, 0xd8, //0x00002221 addl %ebx, %r8d + 0x4d, 0x63, 0xc0, //0x00002224 movslq %r8d, %r8 + 0x4d, 0x39, 0xc5, //0x00002227 cmpq %r8, %r13 + 0x45, 0x0f, 0x46, 0xc5, //0x0000222a cmovbel %r13d, %r8d + 0x41, 0x01, 0xdf, //0x0000222e addl %ebx, %r15d + 0x45, 0x85, 0xc0, //0x00002231 testl %r8d, %r8d + 0x0f, 0x8e, 0x57, 0x00, 0x00, 0x00, //0x00002234 jle LBB0_477 + 0x44, 0x89, 0xc0, //0x0000223a movl %r8d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x0000223d cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x4f, 0x00, 0x00, 0x00, //0x00002243 jne LBB0_478 + //0x00002249 LBB0_470 + 0x48, 0x83, 0xf8, 0x01, //0x00002249 cmpq $1, %rax + 0x0f, 0x8e, 0x39, 0x00, 0x00, 0x00, //0x0000224d jle LBB0_476 + 0x4c, 0x8d, 0x40, 0xff, //0x00002253 leaq $-1(%rax), %r8 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00002257 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xc0, //0x0000225d movq %r8, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002260 je LBB0_470 + 0xe9, 0x2d, 0x00, 0x00, 0x00, //0x00002266 jmp LBB0_478 + //0x0000226b LBB0_472 + 0xff, 0xc8, //0x0000226b decl %eax + 0x41, 0x89, 0xc0, //0x0000226d movl %eax, %r8d + //0x00002270 LBB0_473 + 0x45, 0x85, 0xc0, //0x00002270 testl %r8d, %r8d + 0x0f, 0x84, 0xdd, 0x0b, 0x00, 0x00, //0x00002273 je LBB0_659 + //0x00002279 LBB0_474 + 0x44, 0x89, 0xc3, //0x00002279 movl %r8d, %ebx + 0xe9, 0xbb, 0xf8, 0xff, 0xff, //0x0000227c jmp LBB0_365 + //0x00002281 LBB0_475 + 0x0f, 0x8c, 0x60, 0xfe, 0xff, 0xff, //0x00002281 jl LBB0_453 + 0xe9, 0x5d, 0xfe, 0xff, 0xff, //0x00002287 jmp LBB0_454 + //0x0000228c LBB0_476 + 0xff, 0xc8, //0x0000228c decl %eax + 0x41, 0x89, 0xc0, //0x0000228e movl %eax, %r8d + //0x00002291 LBB0_477 + 0x45, 0x85, 0xc0, //0x00002291 testl %r8d, %r8d + 0x45, 0x0f, 0x44, 0xf8, //0x00002294 cmovel %r8d, %r15d + //0x00002298 LBB0_478 + 0x44, 0x89, 0xc0, //0x00002298 movl %r8d, %eax + 0x44, 0x89, 0xc3, //0x0000229b movl %r8d, %ebx + 0x45, 0x85, 0xc9, //0x0000229e testl %r9d, %r9d + 0x0f, 0x89, 0x95, 0xf8, 0xff, 0xff, //0x000022a1 jns LBB0_365 + 0xe9, 0xe1, 0xf8, 0xff, 0xff, //0x000022a7 jmp LBB0_371 + //0x000022ac LBB0_479 + 0x44, 0x89, 0xc3, //0x000022ac movl %r8d, %ebx + //0x000022af LBB0_480 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000022af movl $1, %r11d + 0x48, 0x8d, 0x15, 0x64, 0x43, 0x00, 0x00, //0x000022b5 leaq $17252(%rip), %rdx /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x000022bc jmp LBB0_483 + //0x000022c1 LBB0_481 + 0x89, 0xd8, //0x000022c1 movl %ebx, %eax + //0x000022c3 LBB0_482 + 0x48, 0x8b, 0x75, 0xb0, //0x000022c3 movq $-80(%rbp), %rsi + 0x2b, 0x75, 0xa8, //0x000022c7 subl $-88(%rbp), %esi + 0x89, 0xc3, //0x000022ca movl %eax, %ebx + //0x000022cc LBB0_483 + 0x45, 0x85, 0xff, //0x000022cc testl %r15d, %r15d + 0x0f, 0x88, 0x16, 0x00, 0x00, 0x00, //0x000022cf js LBB0_486 + 0x0f, 0x85, 0xc8, 0x07, 0x00, 0x00, //0x000022d5 jne LBB0_603 + 0x41, 0x80, 0x3c, 0x24, 0x35, //0x000022db cmpb $53, (%r12) + 0x0f, 0x8c, 0x14, 0x00, 0x00, 0x00, //0x000022e0 jl LBB0_487 + 0xe9, 0xb8, 0x07, 0x00, 0x00, //0x000022e6 jmp LBB0_603 + //0x000022eb LBB0_486 + 0xb8, 0x1b, 0x00, 0x00, 0x00, //0x000022eb movl $27, %eax + 0x41, 0x83, 0xff, 0xf8, //0x000022f0 cmpl $-8, %r15d + 0x0f, 0x8c, 0x11, 0x00, 0x00, 0x00, //0x000022f4 jl LBB0_488 + //0x000022fa LBB0_487 + 0x44, 0x89, 0xf8, //0x000022fa movl %r15d, %eax + 0xf7, 0xd8, //0x000022fd negl %eax + 0x48, 0x98, //0x000022ff cltq + 0x48, 0x8d, 0x0d, 0xe8, 0x42, 0x00, 0x00, //0x00002301 leaq $17128(%rip), %rcx /* _POW_TAB+0(%rip) */ + 0x8b, 0x04, 0x81, //0x00002308 movl (%rcx,%rax,4), %eax + //0x0000230b LBB0_488 + 0x85, 0xdb, //0x0000230b testl %ebx, %ebx + 0x48, 0x89, 0x75, 0xb0, //0x0000230d movq %rsi, $-80(%rbp) + 0x89, 0x45, 0xa8, //0x00002311 movl %eax, $-88(%rbp) + 0x0f, 0x84, 0xa7, 0xff, 0xff, 0xff, //0x00002314 je LBB0_481 + 0x85, 0xc0, //0x0000231a testl %eax, %eax + 0x0f, 0x84, 0x9f, 0xff, 0xff, 0xff, //0x0000231c je LBB0_481 + 0x0f, 0x8e, 0x2f, 0x02, 0x00, 0x00, //0x00002322 jle LBB0_522 + 0x41, 0x89, 0xc1, //0x00002328 movl %eax, %r9d + 0x83, 0xf8, 0x3d, //0x0000232b cmpl $61, %eax + 0x0f, 0x8d, 0x27, 0x00, 0x00, 0x00, //0x0000232e jge LBB0_495 + 0xe9, 0x35, 0x02, 0x00, 0x00, //0x00002334 jmp LBB0_524 + //0x00002339 LBB0_492 + 0x48, 0x8d, 0x15, 0xe0, 0x42, 0x00, 0x00, //0x00002339 leaq $17120(%rip), %rdx /* _LSHIFT_TAB+0(%rip) */ + //0x00002340 LBB0_493 + 0x45, 0x85, 0xc0, //0x00002340 testl %r8d, %r8d + 0x45, 0x0f, 0x44, 0xf8, //0x00002343 cmovel %r8d, %r15d + //0x00002347 LBB0_494 + 0x48, 0x8b, 0x45, 0xc0, //0x00002347 movq $-64(%rbp), %rax + 0x44, 0x8d, 0x48, 0xc4, //0x0000234b leal $-60(%rax), %r9d + 0x44, 0x89, 0xc3, //0x0000234f movl %r8d, %ebx + 0x83, 0xf8, 0x78, //0x00002352 cmpl $120, %eax + 0x0f, 0x8e, 0x04, 0x02, 0x00, 0x00, //0x00002355 jle LBB0_523 + //0x0000235b LBB0_495 + 0x4c, 0x89, 0x7d, 0xc8, //0x0000235b movq %r15, $-56(%rbp) + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000235f movl $1, %r11d + 0x4c, 0x89, 0x4d, 0xc0, //0x00002365 movq %r9, $-64(%rbp) + 0x4c, 0x63, 0xfb, //0x00002369 movslq %ebx, %r15 + 0x45, 0x85, 0xff, //0x0000236c testl %r15d, %r15d + 0x0f, 0x84, 0x41, 0x00, 0x00, 0x00, //0x0000236f je LBB0_501 + 0xb1, 0x38, //0x00002375 movb $56, %cl + 0x31, 0xc0, //0x00002377 xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002379 .p2align 4, 0x90 + //0x00002380 LBB0_497 + 0x41, 0xb9, 0x13, 0x00, 0x00, 0x00, //0x00002380 movl $19, %r9d + 0x48, 0x83, 0xf8, 0x2a, //0x00002386 cmpq $42, %rax + 0x0f, 0x84, 0x2c, 0x00, 0x00, 0x00, //0x0000238a je LBB0_502 + 0x41, 0x38, 0x0c, 0x04, //0x00002390 cmpb %cl, (%r12,%rax) + 0x0f, 0x85, 0xa8, 0x01, 0x00, 0x00, //0x00002394 jne LBB0_519 + 0x0f, 0xb6, 0x8c, 0x10, 0x65, 0x18, 0x00, 0x00, //0x0000239a movzbl $6245(%rax,%rdx), %ecx + 0x48, 0xff, 0xc0, //0x000023a2 incq %rax + 0x49, 0x39, 0xc7, //0x000023a5 cmpq %rax, %r15 + 0x0f, 0x85, 0xd2, 0xff, 0xff, 0xff, //0x000023a8 jne LBB0_497 + 0x84, 0xc9, //0x000023ae testb %cl, %cl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x000023b0 je LBB0_502 + //0x000023b6 LBB0_501 + 0x41, 0xb9, 0x12, 0x00, 0x00, 0x00, //0x000023b6 movl $18, %r9d + //0x000023bc LBB0_502 + 0x85, 0xdb, //0x000023bc testl %ebx, %ebx + 0x0f, 0x8e, 0xa3, 0x00, 0x00, 0x00, //0x000023be jle LBB0_510 + 0x44, 0x01, 0xcb, //0x000023c4 addl %r9d, %ebx + 0x48, 0x63, 0xc3, //0x000023c7 movslq %ebx, %rax + 0x48, 0x89, 0xc3, //0x000023ca movq %rax, %rbx + 0x48, 0xc1, 0xe3, 0x20, //0x000023cd shlq $32, %rbx + 0x48, 0xff, 0xc8, //0x000023d1 decq %rax + 0x49, 0xff, 0xc7, //0x000023d4 incq %r15 + 0x31, 0xc9, //0x000023d7 xorl %ecx, %ecx + 0xe9, 0x27, 0x00, 0x00, 0x00, //0x000023d9 jmp LBB0_506 + 0x90, 0x90, //0x000023de .p2align 4, 0x90 + //0x000023e0 LBB0_504 + 0x48, 0x85, 0xc0, //0x000023e0 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf3, //0x000023e3 cmovnel %r11d, %r14d + //0x000023e7 LBB0_505 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x000023e7 movabsq $-4294967296, %rax + 0x48, 0x01, 0xc3, //0x000023f1 addq %rax, %rbx + 0x48, 0x8d, 0x47, 0xff, //0x000023f4 leaq $-1(%rdi), %rax + 0x49, 0xff, 0xcf, //0x000023f8 decq %r15 + 0x49, 0x83, 0xff, 0x01, //0x000023fb cmpq $1, %r15 + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x000023ff jle LBB0_508 + //0x00002405 LBB0_506 + 0x48, 0x89, 0xc7, //0x00002405 movq %rax, %rdi + 0x43, 0x0f, 0xb6, 0x74, 0x3c, 0xfe, //0x00002408 movzbl $-2(%r12,%r15), %esi + 0x48, 0xc1, 0xe6, 0x3c, //0x0000240e shlq $60, %rsi + 0x48, 0x01, 0xce, //0x00002412 addq %rcx, %rsi + 0x48, 0x89, 0xf0, //0x00002415 movq %rsi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002418 movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00002422 mulq %rcx + 0x48, 0x89, 0xd1, //0x00002425 movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x00002428 shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x0000242c leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00002430 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf0, //0x00002434 movq %rsi, %rax + 0x48, 0x29, 0xd0, //0x00002437 subq %rdx, %rax + 0x4c, 0x39, 0xef, //0x0000243a cmpq %r13, %rdi + 0x0f, 0x83, 0x9d, 0xff, 0xff, 0xff, //0x0000243d jae LBB0_504 + 0x04, 0x30, //0x00002443 addb $48, %al + 0x41, 0x88, 0x04, 0x3c, //0x00002445 movb %al, (%r12,%rdi) + 0xe9, 0x99, 0xff, 0xff, 0xff, //0x00002449 jmp LBB0_505 + //0x0000244e LBB0_508 + 0x48, 0x83, 0xfe, 0x0a, //0x0000244e cmpq $10, %rsi + 0x4c, 0x8b, 0x7d, 0xc8, //0x00002452 movq $-56(%rbp), %r15 + 0x0f, 0x83, 0x1a, 0x00, 0x00, 0x00, //0x00002456 jae LBB0_511 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000245c movl $1, %r11d + 0xe9, 0x81, 0x00, 0x00, 0x00, //0x00002462 jmp LBB0_515 + //0x00002467 LBB0_510 + 0x4c, 0x8b, 0x7d, 0xc8, //0x00002467 movq $-56(%rbp), %r15 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000246b movl $1, %r11d + 0xe9, 0x72, 0x00, 0x00, 0x00, //0x00002471 jmp LBB0_515 + //0x00002476 LBB0_511 + 0x48, 0x63, 0xf7, //0x00002476 movslq %edi, %rsi + 0x48, 0xff, 0xce, //0x00002479 decq %rsi + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000247c movl $1, %r11d + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x00002482 jmp LBB0_513 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002487 .p2align 4, 0x90 + //0x00002490 LBB0_512 + 0x48, 0x85, 0xc0, //0x00002490 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf3, //0x00002493 cmovnel %r11d, %r14d + 0x48, 0xff, 0xce, //0x00002497 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x0000249a cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x0000249e movq %rdx, %rcx + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x000024a1 jbe LBB0_515 + //0x000024a7 LBB0_513 + 0x48, 0x89, 0xc8, //0x000024a7 movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000024aa movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x000024b4 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x000024b7 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x000024bb leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x000024bf leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xc8, //0x000024c3 movq %rcx, %rax + 0x48, 0x29, 0xf8, //0x000024c6 subq %rdi, %rax + 0x4c, 0x39, 0xee, //0x000024c9 cmpq %r13, %rsi + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x000024cc jae LBB0_512 + 0x04, 0x30, //0x000024d2 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x000024d4 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x000024d8 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x000024db cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x000024df movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x000024e2 ja LBB0_513 + //0x000024e8 LBB0_515 + 0x45, 0x01, 0xc8, //0x000024e8 addl %r9d, %r8d + 0x4d, 0x63, 0xc0, //0x000024eb movslq %r8d, %r8 + 0x4d, 0x39, 0xc5, //0x000024ee cmpq %r8, %r13 + 0x45, 0x0f, 0x46, 0xc5, //0x000024f1 cmovbel %r13d, %r8d + 0x45, 0x01, 0xcf, //0x000024f5 addl %r9d, %r15d + 0x45, 0x85, 0xc0, //0x000024f8 testl %r8d, %r8d + 0x0f, 0x8e, 0x38, 0xfe, 0xff, 0xff, //0x000024fb jle LBB0_492 + 0x44, 0x89, 0xc0, //0x00002501 movl %r8d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00002504 cmpb $48, $-1(%rax,%r12) + 0x48, 0x8d, 0x15, 0x0f, 0x41, 0x00, 0x00, //0x0000250a leaq $16655(%rip), %rdx /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0x85, 0x30, 0xfe, 0xff, 0xff, //0x00002511 jne LBB0_494 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002517 .p2align 4, 0x90 + //0x00002520 LBB0_517 + 0x48, 0x83, 0xf8, 0x01, //0x00002520 cmpq $1, %rax + 0x0f, 0x8e, 0x23, 0x00, 0x00, 0x00, //0x00002524 jle LBB0_520 + 0x4c, 0x8d, 0x40, 0xff, //0x0000252a leaq $-1(%rax), %r8 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x0000252e cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xc0, //0x00002534 movq %r8, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002537 je LBB0_517 + 0xe9, 0x05, 0xfe, 0xff, 0xff, //0x0000253d jmp LBB0_494 + //0x00002542 LBB0_519 + 0x0f, 0x8c, 0x6e, 0xfe, 0xff, 0xff, //0x00002542 jl LBB0_501 + 0xe9, 0x6f, 0xfe, 0xff, 0xff, //0x00002548 jmp LBB0_502 + //0x0000254d LBB0_520 + 0xff, 0xc8, //0x0000254d decl %eax + 0x41, 0x89, 0xc0, //0x0000254f movl %eax, %r8d + 0xe9, 0xe9, 0xfd, 0xff, 0xff, //0x00002552 jmp LBB0_493 + //0x00002557 LBB0_522 + 0x41, 0x89, 0xc1, //0x00002557 movl %eax, %r9d + 0xe9, 0x0e, 0x02, 0x00, 0x00, //0x0000255a jmp LBB0_553 + //0x0000255f LBB0_523 + 0x44, 0x89, 0xc3, //0x0000255f movl %r8d, %ebx + 0x44, 0x89, 0xc0, //0x00002562 movl %r8d, %eax + 0x45, 0x85, 0xc9, //0x00002565 testl %r9d, %r9d + 0x0f, 0x84, 0x55, 0xfd, 0xff, 0xff, //0x00002568 je LBB0_482 + //0x0000256e LBB0_524 + 0x44, 0x89, 0xc9, //0x0000256e movl %r9d, %ecx + 0x48, 0x89, 0xd6, //0x00002571 movq %rdx, %rsi + 0x48, 0x6b, 0xd1, 0x68, //0x00002574 imulq $104, %rcx, %rdx + 0x8b, 0x3c, 0x32, //0x00002578 movl (%rdx,%rsi), %edi + 0x4c, 0x63, 0xdb, //0x0000257b movslq %ebx, %r11 + 0x8a, 0x44, 0x32, 0x04, //0x0000257e movb $4(%rdx,%rsi), %al + 0x45, 0x85, 0xdb, //0x00002582 testl %r11d, %r11d + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00002585 je LBB0_529 + 0x48, 0x8d, 0x54, 0x32, 0x05, //0x0000258b leaq $5(%rdx,%rsi), %rdx + 0x31, 0xf6, //0x00002590 xorl %esi, %esi + //0x00002592 LBB0_526 + 0x84, 0xc0, //0x00002592 testb %al, %al + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x00002594 je LBB0_531 + 0x41, 0x38, 0x04, 0x34, //0x0000259a cmpb %al, (%r12,%rsi) + 0x0f, 0x85, 0xa3, 0x01, 0x00, 0x00, //0x0000259e jne LBB0_549 + 0x0f, 0xb6, 0x04, 0x32, //0x000025a4 movzbl (%rdx,%rsi), %eax + 0x48, 0xff, 0xc6, //0x000025a8 incq %rsi + 0x49, 0x39, 0xf3, //0x000025ab cmpq %rsi, %r11 + 0x0f, 0x85, 0xde, 0xff, 0xff, 0xff, //0x000025ae jne LBB0_526 + //0x000025b4 LBB0_529 + 0x84, 0xc0, //0x000025b4 testb %al, %al + 0x0f, 0x84, 0x02, 0x00, 0x00, 0x00, //0x000025b6 je LBB0_531 + //0x000025bc LBB0_530 + 0xff, 0xcf, //0x000025bc decl %edi + //0x000025be LBB0_531 + 0x85, 0xdb, //0x000025be testl %ebx, %ebx + 0x89, 0x7d, 0xc0, //0x000025c0 movl %edi, $-64(%rbp) + 0x0f, 0x8e, 0xac, 0x00, 0x00, 0x00, //0x000025c3 jle LBB0_539 + 0x4c, 0x89, 0x7d, 0xc8, //0x000025c9 movq %r15, $-56(%rbp) + 0x01, 0xfb, //0x000025cd addl %edi, %ebx + 0x48, 0x63, 0xc3, //0x000025cf movslq %ebx, %rax + 0x48, 0x89, 0xc6, //0x000025d2 movq %rax, %rsi + 0x48, 0xc1, 0xe6, 0x20, //0x000025d5 shlq $32, %rsi + 0x48, 0xff, 0xc8, //0x000025d9 decq %rax + 0x49, 0xff, 0xc3, //0x000025dc incq %r11 + 0x31, 0xff, //0x000025df xorl %edi, %edi + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x000025e1 jmp LBB0_535 + //0x000025e6 LBB0_533 + 0x48, 0x85, 0xc0, //0x000025e6 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000025e9 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000025ee cmovnel %eax, %r14d + //0x000025f2 LBB0_534 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x000025f2 movabsq $-4294967296, %rax + 0x48, 0x01, 0xc6, //0x000025fc addq %rax, %rsi + 0x49, 0x8d, 0x47, 0xff, //0x000025ff leaq $-1(%r15), %rax + 0x49, 0xff, 0xcb, //0x00002603 decq %r11 + 0x49, 0x83, 0xfb, 0x01, //0x00002606 cmpq $1, %r11 + 0x0f, 0x8e, 0x4c, 0x00, 0x00, 0x00, //0x0000260a jle LBB0_537 + //0x00002610 LBB0_535 + 0x49, 0x89, 0xc7, //0x00002610 movq %rax, %r15 + 0x4b, 0x0f, 0xbe, 0x5c, 0x1c, 0xfe, //0x00002613 movsbq $-2(%r12,%r11), %rbx + 0x48, 0x83, 0xc3, 0xd0, //0x00002619 addq $-48, %rbx + 0x48, 0xd3, 0xe3, //0x0000261d shlq %cl, %rbx + 0x48, 0x01, 0xfb, //0x00002620 addq %rdi, %rbx + 0x48, 0x89, 0xd8, //0x00002623 movq %rbx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002626 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00002630 mulq %rdx + 0x48, 0x89, 0xd7, //0x00002633 movq %rdx, %rdi + 0x48, 0xc1, 0xef, 0x03, //0x00002636 shrq $3, %rdi + 0x48, 0x8d, 0x04, 0x3f, //0x0000263a leaq (%rdi,%rdi), %rax + 0x48, 0x8d, 0x14, 0x80, //0x0000263e leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x00002642 movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x00002645 subq %rdx, %rax + 0x4d, 0x39, 0xef, //0x00002648 cmpq %r13, %r15 + 0x0f, 0x83, 0x95, 0xff, 0xff, 0xff, //0x0000264b jae LBB0_533 + 0x04, 0x30, //0x00002651 addb $48, %al + 0x43, 0x88, 0x04, 0x3c, //0x00002653 movb %al, (%r12,%r15) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x00002657 jmp LBB0_534 + //0x0000265c LBB0_537 + 0x48, 0x83, 0xfb, 0x0a, //0x0000265c cmpq $10, %rbx + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00002660 movl $1, %r11d + 0x0f, 0x83, 0x14, 0x00, 0x00, 0x00, //0x00002666 jae LBB0_540 + 0x4c, 0x8b, 0x7d, 0xc8, //0x0000266c movq $-56(%rbp), %r15 + 0xe9, 0x72, 0x00, 0x00, 0x00, //0x00002670 jmp LBB0_544 + //0x00002675 LBB0_539 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00002675 movl $1, %r11d + 0xe9, 0x67, 0x00, 0x00, 0x00, //0x0000267b jmp LBB0_544 + //0x00002680 LBB0_540 + 0x49, 0x63, 0xcf, //0x00002680 movslq %r15d, %rcx + 0x48, 0xff, 0xc9, //0x00002683 decq %rcx + 0x4c, 0x8b, 0x7d, 0xc8, //0x00002686 movq $-56(%rbp), %r15 + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x0000268a jmp LBB0_542 + //0x0000268f LBB0_541 + 0x48, 0x85, 0xc0, //0x0000268f testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf3, //0x00002692 cmovnel %r11d, %r14d + 0x48, 0xff, 0xc9, //0x00002696 decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x00002699 cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x0000269d movq %rdx, %rdi + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x000026a0 jbe LBB0_544 + //0x000026a6 LBB0_542 + 0x48, 0x89, 0xf8, //0x000026a6 movq %rdi, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000026a9 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x000026b3 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x000026b6 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x000026ba leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x34, 0x80, //0x000026be leaq (%rax,%rax,4), %rsi + 0x48, 0x89, 0xf8, //0x000026c2 movq %rdi, %rax + 0x48, 0x29, 0xf0, //0x000026c5 subq %rsi, %rax + 0x4c, 0x39, 0xe9, //0x000026c8 cmpq %r13, %rcx + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x000026cb jae LBB0_541 + 0x04, 0x30, //0x000026d1 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x000026d3 movb %al, (%r12,%rcx) + 0x48, 0xff, 0xc9, //0x000026d7 decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x000026da cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x000026de movq %rdx, %rdi + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x000026e1 ja LBB0_542 + //0x000026e7 LBB0_544 + 0x8b, 0x45, 0xc0, //0x000026e7 movl $-64(%rbp), %eax + 0x41, 0x01, 0xc0, //0x000026ea addl %eax, %r8d + 0x4d, 0x63, 0xc0, //0x000026ed movslq %r8d, %r8 + 0x4d, 0x39, 0xc5, //0x000026f0 cmpq %r8, %r13 + 0x45, 0x0f, 0x46, 0xc5, //0x000026f3 cmovbel %r13d, %r8d + 0x41, 0x01, 0xc7, //0x000026f7 addl %eax, %r15d + 0x45, 0x85, 0xc0, //0x000026fa testl %r8d, %r8d + 0x0f, 0x8e, 0x38, 0x00, 0x00, 0x00, //0x000026fd jle LBB0_548 + 0x44, 0x89, 0xc0, //0x00002703 movl %r8d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00002706 cmpb $48, $-1(%rax,%r12) + 0x48, 0x8d, 0x15, 0x0d, 0x3f, 0x00, 0x00, //0x0000270c leaq $16141(%rip), %rdx /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0x85, 0x45, 0x00, 0x00, 0x00, //0x00002713 jne LBB0_552 + //0x00002719 LBB0_546 + 0x48, 0x83, 0xf8, 0x01, //0x00002719 cmpq $1, %rax + 0x0f, 0x8e, 0x2f, 0x00, 0x00, 0x00, //0x0000271d jle LBB0_550 + 0x4c, 0x8d, 0x40, 0xff, //0x00002723 leaq $-1(%rax), %r8 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00002727 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xc0, //0x0000272d movq %r8, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002730 je LBB0_546 + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00002736 jmp LBB0_552 + //0x0000273b LBB0_548 + 0x48, 0x8d, 0x15, 0xde, 0x3e, 0x00, 0x00, //0x0000273b leaq $16094(%rip), %rdx /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00002742 jmp LBB0_551 + //0x00002747 LBB0_549 + 0x0f, 0x8c, 0x6f, 0xfe, 0xff, 0xff, //0x00002747 jl LBB0_530 + 0xe9, 0x6c, 0xfe, 0xff, 0xff, //0x0000274d jmp LBB0_531 + //0x00002752 LBB0_550 + 0xff, 0xc8, //0x00002752 decl %eax + 0x41, 0x89, 0xc0, //0x00002754 movl %eax, %r8d + //0x00002757 LBB0_551 + 0x45, 0x85, 0xc0, //0x00002757 testl %r8d, %r8d + 0x45, 0x0f, 0x44, 0xf8, //0x0000275a cmovel %r8d, %r15d + //0x0000275e LBB0_552 + 0x44, 0x89, 0xc3, //0x0000275e movl %r8d, %ebx + 0x44, 0x89, 0xc0, //0x00002761 movl %r8d, %eax + 0x45, 0x85, 0xc9, //0x00002764 testl %r9d, %r9d + 0x0f, 0x89, 0x56, 0xfb, 0xff, 0xff, //0x00002767 jns LBB0_482 + //0x0000276d LBB0_553 + 0x41, 0x83, 0xf9, 0xc3, //0x0000276d cmpl $-61, %r9d + 0x0f, 0x8e, 0x1f, 0x00, 0x00, 0x00, //0x00002771 jle LBB0_556 + 0xe9, 0xa2, 0x01, 0x00, 0x00, //0x00002777 jmp LBB0_578 + //0x0000277c LBB0_554 + 0x45, 0x31, 0xc0, //0x0000277c xorl %r8d, %r8d + 0x48, 0x8d, 0x15, 0x9a, 0x3e, 0x00, 0x00, //0x0000277f leaq $16026(%rip), %rdx /* _LSHIFT_TAB+0(%rip) */ + //0x00002786 LBB0_555 + 0x44, 0x8d, 0x48, 0x3c, //0x00002786 leal $60(%rax), %r9d + 0x44, 0x89, 0xc3, //0x0000278a movl %r8d, %ebx + 0x83, 0xf8, 0x88, //0x0000278d cmpl $-120, %eax + 0x0f, 0x8d, 0x79, 0x01, 0x00, 0x00, //0x00002790 jge LBB0_577 + //0x00002796 LBB0_556 + 0x44, 0x89, 0xc8, //0x00002796 movl %r9d, %eax + 0x48, 0x63, 0xf3, //0x00002799 movslq %ebx, %rsi + 0x31, 0xd2, //0x0000279c xorl %edx, %edx + 0x31, 0xc9, //0x0000279e xorl %ecx, %ecx + //0x000027a0 .p2align 4, 0x90 + //0x000027a0 LBB0_557 + 0x48, 0x39, 0xf2, //0x000027a0 cmpq %rsi, %rdx + 0x0f, 0x8d, 0x23, 0x00, 0x00, 0x00, //0x000027a3 jge LBB0_559 + 0x48, 0x8d, 0x0c, 0x89, //0x000027a9 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x3c, 0x14, //0x000027ad movsbq (%r12,%rdx), %rdi + 0x48, 0x8d, 0x4c, 0x4f, 0xd0, //0x000027b2 leaq $-48(%rdi,%rcx,2), %rcx + 0x48, 0xff, 0xc2, //0x000027b7 incq %rdx + 0x49, 0x8d, 0x7a, 0x01, //0x000027ba leaq $1(%r10), %rdi + 0x48, 0x39, 0xf9, //0x000027be cmpq %rdi, %rcx + 0x0f, 0x82, 0xd9, 0xff, 0xff, 0xff, //0x000027c1 jb LBB0_557 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x000027c7 jmp LBB0_561 + //0x000027cc LBB0_559 + 0x48, 0x85, 0xc9, //0x000027cc testq %rcx, %rcx + 0x0f, 0x84, 0xa7, 0xff, 0xff, 0xff, //0x000027cf je LBB0_554 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000027d5 .p2align 4, 0x90 + //0x000027e0 LBB0_560 + 0x48, 0x01, 0xc9, //0x000027e0 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x000027e3 leaq (%rcx,%rcx,4), %rcx + 0xff, 0xc2, //0x000027e7 incl %edx + 0x49, 0x8d, 0x72, 0x01, //0x000027e9 leaq $1(%r10), %rsi + 0x48, 0x39, 0xf1, //0x000027ed cmpq %rsi, %rcx + 0x0f, 0x82, 0xea, 0xff, 0xff, 0xff, //0x000027f0 jb LBB0_560 + //0x000027f6 LBB0_561 + 0x41, 0x29, 0xd7, //0x000027f6 subl %edx, %r15d + 0x31, 0xf6, //0x000027f9 xorl %esi, %esi + 0x39, 0xda, //0x000027fb cmpl %ebx, %edx + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x000027fd jge LBB0_566 + 0x48, 0x63, 0xd2, //0x00002803 movslq %edx, %rdx + 0x49, 0x63, 0xf0, //0x00002806 movslq %r8d, %rsi + 0x49, 0x8d, 0x3c, 0x14, //0x00002809 leaq (%r12,%rdx), %rdi + 0x45, 0x31, 0xc0, //0x0000280d xorl %r8d, %r8d + //0x00002810 .p2align 4, 0x90 + //0x00002810 LBB0_563 + 0x48, 0x89, 0xcb, //0x00002810 movq %rcx, %rbx + 0x48, 0xc1, 0xeb, 0x3c, //0x00002813 shrq $60, %rbx + 0x4c, 0x21, 0xd1, //0x00002817 andq %r10, %rcx + 0x80, 0xcb, 0x30, //0x0000281a orb $48, %bl + 0x43, 0x88, 0x1c, 0x04, //0x0000281d movb %bl, (%r12,%r8) + 0x48, 0x8d, 0x0c, 0x89, //0x00002821 leaq (%rcx,%rcx,4), %rcx + 0x4a, 0x0f, 0xbe, 0x1c, 0x07, //0x00002825 movsbq (%rdi,%r8), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x0000282a leaq $-48(%rbx,%rcx,2), %rcx + 0x4a, 0x8d, 0x5c, 0x02, 0x01, //0x0000282f leaq $1(%rdx,%r8), %rbx + 0x49, 0xff, 0xc0, //0x00002834 incq %r8 + 0x48, 0x39, 0xf3, //0x00002837 cmpq %rsi, %rbx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x0000283a jl LBB0_563 + 0x48, 0x85, 0xc9, //0x00002840 testq %rcx, %rcx + 0x0f, 0x84, 0x60, 0x00, 0x00, 0x00, //0x00002843 je LBB0_570 + 0x44, 0x89, 0xc6, //0x00002849 movl %r8d, %esi + //0x0000284c LBB0_566 + 0x41, 0x89, 0xf0, //0x0000284c movl %esi, %r8d + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x0000284f jmp LBB0_568 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002854 .p2align 4, 0x90 + //0x00002860 LBB0_567 + 0x48, 0x85, 0xd2, //0x00002860 testq %rdx, %rdx + 0x45, 0x0f, 0x45, 0xf3, //0x00002863 cmovnel %r11d, %r14d + 0x48, 0x01, 0xc9, //0x00002867 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x0000286a leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x0000286e testq %rcx, %rcx + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x00002871 je LBB0_570 + //0x00002877 LBB0_568 + 0x48, 0x89, 0xca, //0x00002877 movq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x3c, //0x0000287a shrq $60, %rdx + 0x4c, 0x21, 0xd1, //0x0000287e andq %r10, %rcx + 0x49, 0x63, 0xf0, //0x00002881 movslq %r8d, %rsi + 0x49, 0x39, 0xf5, //0x00002884 cmpq %rsi, %r13 + 0x0f, 0x86, 0xd3, 0xff, 0xff, 0xff, //0x00002887 jbe LBB0_567 + 0x80, 0xca, 0x30, //0x0000288d orb $48, %dl + 0x41, 0x88, 0x14, 0x34, //0x00002890 movb %dl, (%r12,%rsi) + 0xff, 0xc6, //0x00002894 incl %esi + 0x41, 0x89, 0xf0, //0x00002896 movl %esi, %r8d + 0x48, 0x01, 0xc9, //0x00002899 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x0000289c leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x000028a0 testq %rcx, %rcx + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x000028a3 jne LBB0_568 + //0x000028a9 LBB0_570 + 0x41, 0xff, 0xc7, //0x000028a9 incl %r15d + 0x45, 0x85, 0xc0, //0x000028ac testl %r8d, %r8d + 0x0f, 0x8e, 0x3d, 0x00, 0x00, 0x00, //0x000028af jle LBB0_574 + 0x44, 0x89, 0xc1, //0x000028b5 movl %r8d, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x000028b8 cmpb $48, $-1(%rcx,%r12) + 0x48, 0x8d, 0x15, 0x5b, 0x3d, 0x00, 0x00, //0x000028be leaq $15707(%rip), %rdx /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0x85, 0xbb, 0xfe, 0xff, 0xff, //0x000028c5 jne LBB0_555 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000028cb .p2align 4, 0x90 + //0x000028d0 LBB0_572 + 0x48, 0x83, 0xf9, 0x01, //0x000028d0 cmpq $1, %rcx + 0x0f, 0x8e, 0x24, 0x00, 0x00, 0x00, //0x000028d4 jle LBB0_575 + 0x4c, 0x8d, 0x41, 0xff, //0x000028da leaq $-1(%rcx), %r8 + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x000028de cmpb $48, $-2(%r12,%rcx) + 0x4c, 0x89, 0xc1, //0x000028e4 movq %r8, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x000028e7 je LBB0_572 + 0xe9, 0x94, 0xfe, 0xff, 0xff, //0x000028ed jmp LBB0_555 + //0x000028f2 LBB0_574 + 0x48, 0x8d, 0x15, 0x27, 0x3d, 0x00, 0x00, //0x000028f2 leaq $15655(%rip), %rdx /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x000028f9 jmp LBB0_576 + //0x000028fe LBB0_575 + 0xff, 0xc9, //0x000028fe decl %ecx + 0x41, 0x89, 0xc8, //0x00002900 movl %ecx, %r8d + //0x00002903 LBB0_576 + 0x45, 0x85, 0xc0, //0x00002903 testl %r8d, %r8d + 0x45, 0x0f, 0x44, 0xf8, //0x00002906 cmovel %r8d, %r15d + 0xe9, 0x77, 0xfe, 0xff, 0xff, //0x0000290a jmp LBB0_555 + //0x0000290f LBB0_577 + 0x44, 0x89, 0xc3, //0x0000290f movl %r8d, %ebx + 0x44, 0x89, 0xc0, //0x00002912 movl %r8d, %eax + 0x45, 0x85, 0xc9, //0x00002915 testl %r9d, %r9d + 0x0f, 0x84, 0xa5, 0xf9, 0xff, 0xff, //0x00002918 je LBB0_482 + //0x0000291e LBB0_578 + 0x41, 0xf7, 0xd9, //0x0000291e negl %r9d + 0x48, 0x63, 0xf3, //0x00002921 movslq %ebx, %rsi + 0x31, 0xd2, //0x00002924 xorl %edx, %edx + 0x31, 0xc0, //0x00002926 xorl %eax, %eax + //0x00002928 LBB0_579 + 0x48, 0x39, 0xf2, //0x00002928 cmpq %rsi, %rdx + 0x0f, 0x8d, 0x18, 0x01, 0x00, 0x00, //0x0000292b jge LBB0_595 + 0x48, 0x8d, 0x04, 0x80, //0x00002931 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x14, //0x00002935 movsbq (%r12,%rdx), %rcx + 0x48, 0x8d, 0x44, 0x41, 0xd0, //0x0000293a leaq $-48(%rcx,%rax,2), %rax + 0x48, 0xff, 0xc2, //0x0000293f incq %rdx + 0x48, 0x89, 0xc7, //0x00002942 movq %rax, %rdi + 0x44, 0x89, 0xc9, //0x00002945 movl %r9d, %ecx + 0x48, 0xd3, 0xef, //0x00002948 shrq %cl, %rdi + 0x48, 0x85, 0xff, //0x0000294b testq %rdi, %rdi + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x0000294e je LBB0_579 + //0x00002954 LBB0_581 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00002954 movq $-1, %rsi + 0x44, 0x89, 0xc9, //0x0000295b movl %r9d, %ecx + 0x48, 0xd3, 0xe6, //0x0000295e shlq %cl, %rsi + 0x48, 0xf7, 0xd6, //0x00002961 notq %rsi + 0x31, 0xff, //0x00002964 xorl %edi, %edi + 0x39, 0xda, //0x00002966 cmpl %ebx, %edx + 0x0f, 0x8d, 0x4c, 0x00, 0x00, 0x00, //0x00002968 jge LBB0_585 + 0x4c, 0x89, 0x7d, 0xc8, //0x0000296e movq %r15, $-56(%rbp) + 0x4c, 0x63, 0xda, //0x00002972 movslq %edx, %r11 + 0x4d, 0x63, 0xc0, //0x00002975 movslq %r8d, %r8 + 0x4f, 0x8d, 0x3c, 0x1c, //0x00002978 leaq (%r12,%r11), %r15 + 0x31, 0xff, //0x0000297c xorl %edi, %edi + //0x0000297e LBB0_583 + 0x48, 0x89, 0xc3, //0x0000297e movq %rax, %rbx + 0x44, 0x89, 0xc9, //0x00002981 movl %r9d, %ecx + 0x48, 0xd3, 0xeb, //0x00002984 shrq %cl, %rbx + 0x48, 0x21, 0xf0, //0x00002987 andq %rsi, %rax + 0x80, 0xc3, 0x30, //0x0000298a addb $48, %bl + 0x41, 0x88, 0x1c, 0x3c, //0x0000298d movb %bl, (%r12,%rdi) + 0x48, 0x8d, 0x04, 0x80, //0x00002991 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x3f, //0x00002995 movsbq (%r15,%rdi), %rcx + 0x48, 0x8d, 0x44, 0x41, 0xd0, //0x0000299a leaq $-48(%rcx,%rax,2), %rax + 0x49, 0x8d, 0x4c, 0x3b, 0x01, //0x0000299f leaq $1(%r11,%rdi), %rcx + 0x48, 0xff, 0xc7, //0x000029a4 incq %rdi + 0x4c, 0x39, 0xc1, //0x000029a7 cmpq %r8, %rcx + 0x0f, 0x8c, 0xce, 0xff, 0xff, 0xff, //0x000029aa jl LBB0_583 + 0x4c, 0x8b, 0x7d, 0xc8, //0x000029b0 movq $-56(%rbp), %r15 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000029b4 movl $1, %r11d + //0x000029ba LBB0_585 + 0x41, 0x29, 0xd7, //0x000029ba subl %edx, %r15d + 0x41, 0x89, 0xf8, //0x000029bd movl %edi, %r8d + 0xe9, 0x0e, 0x00, 0x00, 0x00, //0x000029c0 jmp LBB0_588 + //0x000029c5 LBB0_586 + 0x48, 0x85, 0xd2, //0x000029c5 testq %rdx, %rdx + 0x45, 0x0f, 0x45, 0xf3, //0x000029c8 cmovnel %r11d, %r14d + //0x000029cc LBB0_587 + 0x48, 0x01, 0xc0, //0x000029cc addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x000029cf leaq (%rax,%rax,4), %rax + //0x000029d3 LBB0_588 + 0x48, 0x85, 0xc0, //0x000029d3 testq %rax, %rax + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000029d6 je LBB0_591 + 0x48, 0x89, 0xc2, //0x000029dc movq %rax, %rdx + 0x44, 0x89, 0xc9, //0x000029df movl %r9d, %ecx + 0x48, 0xd3, 0xea, //0x000029e2 shrq %cl, %rdx + 0x48, 0x21, 0xf0, //0x000029e5 andq %rsi, %rax + 0x49, 0x63, 0xc8, //0x000029e8 movslq %r8d, %rcx + 0x49, 0x39, 0xcd, //0x000029eb cmpq %rcx, %r13 + 0x0f, 0x86, 0xd1, 0xff, 0xff, 0xff, //0x000029ee jbe LBB0_586 + 0x80, 0xc2, 0x30, //0x000029f4 addb $48, %dl + 0x41, 0x88, 0x14, 0x0c, //0x000029f7 movb %dl, (%r12,%rcx) + 0xff, 0xc1, //0x000029fb incl %ecx + 0x41, 0x89, 0xc8, //0x000029fd movl %ecx, %r8d + 0xe9, 0xc7, 0xff, 0xff, 0xff, //0x00002a00 jmp LBB0_587 + //0x00002a05 LBB0_591 + 0x41, 0xff, 0xc7, //0x00002a05 incl %r15d + 0x45, 0x85, 0xc0, //0x00002a08 testl %r8d, %r8d + 0x0f, 0x8e, 0x61, 0x00, 0x00, 0x00, //0x00002a0b jle LBB0_598 + 0x44, 0x89, 0xc0, //0x00002a11 movl %r8d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00002a14 cmpb $48, $-1(%rax,%r12) + 0x48, 0x8d, 0x15, 0xff, 0x3b, 0x00, 0x00, //0x00002a1a leaq $15359(%rip), %rdx /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0x85, 0x74, 0x00, 0x00, 0x00, //0x00002a21 jne LBB0_602 + //0x00002a27 LBB0_593 + 0x48, 0x83, 0xf8, 0x01, //0x00002a27 cmpq $1, %rax + 0x0f, 0x8e, 0x5e, 0x00, 0x00, 0x00, //0x00002a2b jle LBB0_600 + 0x4c, 0x8d, 0x40, 0xff, //0x00002a31 leaq $-1(%rax), %r8 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00002a35 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xc0, //0x00002a3b movq %r8, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002a3e je LBB0_593 + 0xe9, 0x52, 0x00, 0x00, 0x00, //0x00002a44 jmp LBB0_602 + //0x00002a49 LBB0_595 + 0x48, 0x85, 0xc0, //0x00002a49 testq %rax, %rax + 0x0f, 0x84, 0x2c, 0x00, 0x00, 0x00, //0x00002a4c je LBB0_599 + //0x00002a52 LBB0_596 + 0x48, 0x89, 0xc6, //0x00002a52 movq %rax, %rsi + 0x44, 0x89, 0xc9, //0x00002a55 movl %r9d, %ecx + 0x48, 0xd3, 0xee, //0x00002a58 shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x00002a5b testq %rsi, %rsi + 0x0f, 0x85, 0xf0, 0xfe, 0xff, 0xff, //0x00002a5e jne LBB0_581 + 0x48, 0x01, 0xc0, //0x00002a64 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00002a67 leaq (%rax,%rax,4), %rax + 0xff, 0xc2, //0x00002a6b incl %edx + 0xe9, 0xe0, 0xff, 0xff, 0xff, //0x00002a6d jmp LBB0_596 + //0x00002a72 LBB0_598 + 0x48, 0x8d, 0x15, 0xa7, 0x3b, 0x00, 0x00, //0x00002a72 leaq $15271(%rip), %rdx /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x16, 0x00, 0x00, 0x00, //0x00002a79 jmp LBB0_601 + //0x00002a7e LBB0_599 + 0x45, 0x31, 0xc0, //0x00002a7e xorl %r8d, %r8d + 0x31, 0xc0, //0x00002a81 xorl %eax, %eax + 0x48, 0x8d, 0x15, 0x96, 0x3b, 0x00, 0x00, //0x00002a83 leaq $15254(%rip), %rdx /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x34, 0xf8, 0xff, 0xff, //0x00002a8a jmp LBB0_482 + //0x00002a8f LBB0_600 + 0xff, 0xc8, //0x00002a8f decl %eax + 0x41, 0x89, 0xc0, //0x00002a91 movl %eax, %r8d + //0x00002a94 LBB0_601 + 0x45, 0x85, 0xc0, //0x00002a94 testl %r8d, %r8d + 0x45, 0x0f, 0x44, 0xf8, //0x00002a97 cmovel %r8d, %r15d + //0x00002a9b LBB0_602 + 0x44, 0x89, 0xc0, //0x00002a9b movl %r8d, %eax + 0xe9, 0x20, 0xf8, 0xff, 0xff, //0x00002a9e jmp LBB0_482 + //0x00002aa3 LBB0_603 + 0x81, 0xfe, 0x02, 0xfc, 0xff, 0xff, //0x00002aa3 cmpl $-1022, %esi + 0x4c, 0x89, 0x7d, 0xc8, //0x00002aa9 movq %r15, $-56(%rbp) + 0x0f, 0x8f, 0x9c, 0x01, 0x00, 0x00, //0x00002aad jg LBB0_629 + 0x41, 0xbf, 0x02, 0xfc, 0xff, 0xff, //0x00002ab3 movl $-1022, %r15d + 0x85, 0xdb, //0x00002ab9 testl %ebx, %ebx + 0x0f, 0x84, 0x5b, 0x03, 0x00, 0x00, //0x00002abb je LBB0_654 + 0x8d, 0x8e, 0xfd, 0x03, 0x00, 0x00, //0x00002ac1 leal $1021(%rsi), %ecx + 0x81, 0xfe, 0xc6, 0xfb, 0xff, 0xff, //0x00002ac7 cmpl $-1082, %esi + 0x0f, 0x8f, 0xc9, 0x01, 0x00, 0x00, //0x00002acd jg LBB0_633 + 0x49, 0x8d, 0x42, 0x01, //0x00002ad3 leaq $1(%r10), %rax + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00002ad7 movl $1, %r11d + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00002add jmp LBB0_610 + //0x00002ae2 LBB0_607 + 0xff, 0xc9, //0x00002ae2 decl %ecx + 0x41, 0x89, 0xc8, //0x00002ae4 movl %ecx, %r8d + //0x00002ae7 LBB0_608 + 0x45, 0x85, 0xc0, //0x00002ae7 testl %r8d, %r8d + 0x48, 0x8b, 0x4d, 0xc8, //0x00002aea movq $-56(%rbp), %rcx + 0x41, 0x0f, 0x44, 0xc8, //0x00002aee cmovel %r8d, %ecx + 0x48, 0x89, 0x4d, 0xc8, //0x00002af2 movq %rcx, $-56(%rbp) + //0x00002af6 LBB0_609 + 0x41, 0x8d, 0x49, 0x3c, //0x00002af6 leal $60(%r9), %ecx + 0x44, 0x89, 0xc3, //0x00002afa movl %r8d, %ebx + 0x41, 0x83, 0xf9, 0x88, //0x00002afd cmpl $-120, %r9d + 0x0f, 0x8d, 0x8a, 0x01, 0x00, 0x00, //0x00002b01 jge LBB0_631 + //0x00002b07 LBB0_610 + 0x41, 0x89, 0xc9, //0x00002b07 movl %ecx, %r9d + 0x48, 0x63, 0xf3, //0x00002b0a movslq %ebx, %rsi + 0x31, 0xff, //0x00002b0d xorl %edi, %edi + 0x31, 0xc9, //0x00002b0f xorl %ecx, %ecx + //0x00002b11 LBB0_611 + 0x48, 0x39, 0xf7, //0x00002b11 cmpq %rsi, %rdi + 0x0f, 0x8d, 0x1f, 0x00, 0x00, 0x00, //0x00002b14 jge LBB0_613 + 0x48, 0x8d, 0x0c, 0x89, //0x00002b1a leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x14, 0x3c, //0x00002b1e movsbq (%r12,%rdi), %rdx + 0x48, 0x8d, 0x4c, 0x4a, 0xd0, //0x00002b23 leaq $-48(%rdx,%rcx,2), %rcx + 0x48, 0xff, 0xc7, //0x00002b28 incq %rdi + 0x48, 0x39, 0xc1, //0x00002b2b cmpq %rax, %rcx + 0x0f, 0x82, 0xdd, 0xff, 0xff, 0xff, //0x00002b2e jb LBB0_611 + 0xe9, 0x1b, 0x00, 0x00, 0x00, //0x00002b34 jmp LBB0_615 + //0x00002b39 LBB0_613 + 0x48, 0x85, 0xc9, //0x00002b39 testq %rcx, %rcx + 0x0f, 0x84, 0x05, 0x01, 0x00, 0x00, //0x00002b3c je LBB0_628 + //0x00002b42 LBB0_614 + 0x48, 0x01, 0xc9, //0x00002b42 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00002b45 leaq (%rcx,%rcx,4), %rcx + 0xff, 0xc7, //0x00002b49 incl %edi + 0x48, 0x39, 0xc1, //0x00002b4b cmpq %rax, %rcx + 0x0f, 0x82, 0xee, 0xff, 0xff, 0xff, //0x00002b4e jb LBB0_614 + //0x00002b54 LBB0_615 + 0x48, 0x8b, 0x55, 0xc8, //0x00002b54 movq $-56(%rbp), %rdx + 0x29, 0xfa, //0x00002b58 subl %edi, %edx + 0x48, 0x89, 0x55, 0xc8, //0x00002b5a movq %rdx, $-56(%rbp) + 0x31, 0xf6, //0x00002b5e xorl %esi, %esi + 0x39, 0xdf, //0x00002b60 cmpl %ebx, %edi + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x00002b62 jge LBB0_620 + 0x48, 0x63, 0xff, //0x00002b68 movslq %edi, %rdi + 0x49, 0x63, 0xd8, //0x00002b6b movslq %r8d, %rbx + 0x49, 0x8d, 0x34, 0x3c, //0x00002b6e leaq (%r12,%rdi), %rsi + 0x45, 0x31, 0xc0, //0x00002b72 xorl %r8d, %r8d + //0x00002b75 LBB0_617 + 0x48, 0x89, 0xca, //0x00002b75 movq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x3c, //0x00002b78 shrq $60, %rdx + 0x4c, 0x21, 0xd1, //0x00002b7c andq %r10, %rcx + 0x80, 0xca, 0x30, //0x00002b7f orb $48, %dl + 0x43, 0x88, 0x14, 0x04, //0x00002b82 movb %dl, (%r12,%r8) + 0x48, 0x8d, 0x0c, 0x89, //0x00002b86 leaq (%rcx,%rcx,4), %rcx + 0x4a, 0x0f, 0xbe, 0x14, 0x06, //0x00002b8a movsbq (%rsi,%r8), %rdx + 0x48, 0x8d, 0x4c, 0x4a, 0xd0, //0x00002b8f leaq $-48(%rdx,%rcx,2), %rcx + 0x4a, 0x8d, 0x54, 0x07, 0x01, //0x00002b94 leaq $1(%rdi,%r8), %rdx + 0x49, 0xff, 0xc0, //0x00002b99 incq %r8 + 0x48, 0x39, 0xda, //0x00002b9c cmpq %rbx, %rdx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00002b9f jl LBB0_617 + 0x48, 0x85, 0xc9, //0x00002ba5 testq %rcx, %rcx + 0x0f, 0x84, 0x55, 0x00, 0x00, 0x00, //0x00002ba8 je LBB0_624 + 0x44, 0x89, 0xc6, //0x00002bae movl %r8d, %esi + //0x00002bb1 LBB0_620 + 0x41, 0x89, 0xf0, //0x00002bb1 movl %esi, %r8d + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002bb4 jmp LBB0_622 + //0x00002bb9 LBB0_621 + 0x48, 0x85, 0xf6, //0x00002bb9 testq %rsi, %rsi + 0x45, 0x0f, 0x45, 0xf3, //0x00002bbc cmovnel %r11d, %r14d + 0x48, 0x01, 0xc9, //0x00002bc0 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00002bc3 leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00002bc7 testq %rcx, %rcx + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00002bca je LBB0_624 + //0x00002bd0 LBB0_622 + 0x48, 0x89, 0xce, //0x00002bd0 movq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x3c, //0x00002bd3 shrq $60, %rsi + 0x4c, 0x21, 0xd1, //0x00002bd7 andq %r10, %rcx + 0x49, 0x63, 0xf8, //0x00002bda movslq %r8d, %rdi + 0x49, 0x39, 0xfd, //0x00002bdd cmpq %rdi, %r13 + 0x0f, 0x86, 0xd3, 0xff, 0xff, 0xff, //0x00002be0 jbe LBB0_621 + 0x40, 0x80, 0xce, 0x30, //0x00002be6 orb $48, %sil + 0x41, 0x88, 0x34, 0x3c, //0x00002bea movb %sil, (%r12,%rdi) + 0xff, 0xc7, //0x00002bee incl %edi + 0x41, 0x89, 0xf8, //0x00002bf0 movl %edi, %r8d + 0x48, 0x01, 0xc9, //0x00002bf3 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00002bf6 leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00002bfa testq %rcx, %rcx + 0x0f, 0x85, 0xcd, 0xff, 0xff, 0xff, //0x00002bfd jne LBB0_622 + //0x00002c03 LBB0_624 + 0x48, 0x8b, 0x4d, 0xc8, //0x00002c03 movq $-56(%rbp), %rcx + 0xff, 0xc1, //0x00002c07 incl %ecx + 0x48, 0x89, 0x4d, 0xc8, //0x00002c09 movq %rcx, $-56(%rbp) + 0x45, 0x85, 0xc0, //0x00002c0d testl %r8d, %r8d + 0x0f, 0x8e, 0xd1, 0xfe, 0xff, 0xff, //0x00002c10 jle LBB0_608 + 0x44, 0x89, 0xc1, //0x00002c16 movl %r8d, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x00002c19 cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0xd1, 0xfe, 0xff, 0xff, //0x00002c1f jne LBB0_609 + //0x00002c25 LBB0_626 + 0x48, 0x83, 0xf9, 0x01, //0x00002c25 cmpq $1, %rcx + 0x0f, 0x8e, 0xb3, 0xfe, 0xff, 0xff, //0x00002c29 jle LBB0_607 + 0x4c, 0x8d, 0x41, 0xff, //0x00002c2f leaq $-1(%rcx), %r8 + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x00002c33 cmpb $48, $-2(%r12,%rcx) + 0x4c, 0x89, 0xc1, //0x00002c39 movq %r8, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002c3c je LBB0_626 + 0xe9, 0xaf, 0xfe, 0xff, 0xff, //0x00002c42 jmp LBB0_609 + //0x00002c47 LBB0_628 + 0x45, 0x31, 0xc0, //0x00002c47 xorl %r8d, %r8d + 0xe9, 0xa7, 0xfe, 0xff, 0xff, //0x00002c4a jmp LBB0_609 + //0x00002c4f LBB0_629 + 0x81, 0xfe, 0x00, 0x04, 0x00, 0x00, //0x00002c4f cmpl $1024, %esi + 0x0f, 0x8f, 0x2a, 0xee, 0xff, 0xff, //0x00002c55 jg LBB0_353 + 0xff, 0xce, //0x00002c5b decl %esi + 0x41, 0x89, 0xf7, //0x00002c5d movl %esi, %r15d + 0xe9, 0xa7, 0x01, 0x00, 0x00, //0x00002c60 jmp LBB0_649 + //0x00002c65 LBB0_660 + 0x48, 0xf7, 0xdb, //0x00002c65 negq %rbx + 0x48, 0x85, 0xdb, //0x00002c68 testq %rbx, %rbx + 0x0f, 0x89, 0xca, 0xe5, 0xff, 0xff, //0x00002c6b jns LBB0_246 + //0x00002c71 LBB0_248 + 0x48, 0xf7, 0xd3, //0x00002c71 notq %rbx + 0x49, 0x01, 0xd9, //0x00002c74 addq %rbx, %r9 + //0x00002c77 LBB0_249 + 0x4c, 0x8b, 0x75, 0xb8, //0x00002c77 movq $-72(%rbp), %r14 + 0x49, 0xc7, 0xc7, 0xfe, 0xff, 0xff, 0xff, //0x00002c7b movq $-2, %r15 + //0x00002c82 LBB0_250 + 0x4c, 0x2b, 0x4d, 0xc8, //0x00002c82 subq $-56(%rbp), %r9 + 0x4c, 0x89, 0xcb, //0x00002c86 movq %r9, %rbx + 0x4d, 0x89, 0x3e, //0x00002c89 movq %r15, (%r14) + 0xe9, 0x9d, 0xe3, 0xff, 0xff, //0x00002c8c jmp LBB0_202 + //0x00002c91 LBB0_631 + 0x85, 0xc9, //0x00002c91 testl %ecx, %ecx + 0x0f, 0x84, 0x6a, 0x01, 0x00, 0x00, //0x00002c93 je LBB0_648 + 0x44, 0x89, 0xc3, //0x00002c99 movl %r8d, %ebx + //0x00002c9c LBB0_633 + 0xf7, 0xd9, //0x00002c9c negl %ecx + 0x48, 0x63, 0xf3, //0x00002c9e movslq %ebx, %rsi + 0x31, 0xd2, //0x00002ca1 xorl %edx, %edx + 0x31, 0xc0, //0x00002ca3 xorl %eax, %eax + //0x00002ca5 LBB0_634 + 0x48, 0x39, 0xf2, //0x00002ca5 cmpq %rsi, %rdx + 0x0f, 0x8d, 0x25, 0x00, 0x00, 0x00, //0x00002ca8 jge LBB0_651 + 0x48, 0x8d, 0x04, 0x80, //0x00002cae leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x3c, 0x14, //0x00002cb2 movsbq (%r12,%rdx), %rdi + 0x48, 0x8d, 0x44, 0x47, 0xd0, //0x00002cb7 leaq $-48(%rdi,%rax,2), %rax + 0x48, 0xff, 0xc2, //0x00002cbc incq %rdx + 0x48, 0x89, 0xc7, //0x00002cbf movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00002cc2 shrq %cl, %rdi + 0x48, 0x85, 0xff, //0x00002cc5 testq %rdi, %rdi + 0x0f, 0x84, 0xd7, 0xff, 0xff, 0xff, //0x00002cc8 je LBB0_634 + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x00002cce jmp LBB0_636 + //0x00002cd3 LBB0_651 + 0x48, 0x85, 0xc0, //0x00002cd3 testq %rax, %rax + 0x0f, 0x84, 0x40, 0x01, 0x00, 0x00, //0x00002cd6 je LBB0_654 + 0x48, 0x89, 0xc6, //0x00002cdc movq %rax, %rsi + 0x48, 0xd3, 0xee, //0x00002cdf shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x00002ce2 testq %rsi, %rsi + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x00002ce5 jne LBB0_636 + //0x00002ceb LBB0_653 + 0x48, 0x01, 0xc0, //0x00002ceb addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00002cee leaq (%rax,%rax,4), %rax + 0xff, 0xc2, //0x00002cf2 incl %edx + 0x48, 0x89, 0xc6, //0x00002cf4 movq %rax, %rsi + 0x48, 0xd3, 0xee, //0x00002cf7 shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x00002cfa testq %rsi, %rsi + 0x0f, 0x84, 0xe8, 0xff, 0xff, 0xff, //0x00002cfd je LBB0_653 + //0x00002d03 LBB0_636 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00002d03 movq $-1, %rsi + 0x48, 0xd3, 0xe6, //0x00002d0a shlq %cl, %rsi + 0x48, 0xf7, 0xd6, //0x00002d0d notq %rsi + 0x45, 0x31, 0xc9, //0x00002d10 xorl %r9d, %r9d + 0x39, 0xda, //0x00002d13 cmpl %ebx, %edx + 0x0f, 0x8d, 0x3d, 0x00, 0x00, 0x00, //0x00002d15 jge LBB0_639 + 0x4c, 0x63, 0xd2, //0x00002d1b movslq %edx, %r10 + 0x4d, 0x63, 0xc0, //0x00002d1e movslq %r8d, %r8 + 0x4b, 0x8d, 0x1c, 0x14, //0x00002d21 leaq (%r12,%r10), %rbx + 0x45, 0x31, 0xc9, //0x00002d25 xorl %r9d, %r9d + //0x00002d28 LBB0_638 + 0x48, 0x89, 0xc7, //0x00002d28 movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00002d2b shrq %cl, %rdi + 0x48, 0x21, 0xf0, //0x00002d2e andq %rsi, %rax + 0x40, 0x80, 0xc7, 0x30, //0x00002d31 addb $48, %dil + 0x43, 0x88, 0x3c, 0x0c, //0x00002d35 movb %dil, (%r12,%r9) + 0x48, 0x8d, 0x04, 0x80, //0x00002d39 leaq (%rax,%rax,4), %rax + 0x4a, 0x0f, 0xbe, 0x3c, 0x0b, //0x00002d3d movsbq (%rbx,%r9), %rdi + 0x48, 0x8d, 0x44, 0x47, 0xd0, //0x00002d42 leaq $-48(%rdi,%rax,2), %rax + 0x4b, 0x8d, 0x7c, 0x0a, 0x01, //0x00002d47 leaq $1(%r10,%r9), %rdi + 0x49, 0xff, 0xc1, //0x00002d4c incq %r9 + 0x4c, 0x39, 0xc7, //0x00002d4f cmpq %r8, %rdi + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00002d52 jl LBB0_638 + //0x00002d58 LBB0_639 + 0x48, 0x8b, 0x7d, 0xc8, //0x00002d58 movq $-56(%rbp), %rdi + 0x29, 0xd7, //0x00002d5c subl %edx, %edi + 0x48, 0x89, 0x7d, 0xc8, //0x00002d5e movq %rdi, $-56(%rbp) + 0x48, 0x85, 0xc0, //0x00002d62 testq %rax, %rax + 0x0f, 0x84, 0x53, 0x00, 0x00, 0x00, //0x00002d65 je LBB0_644 + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00002d6b movl $1, %edx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002d70 jmp LBB0_642 + //0x00002d75 LBB0_641 + 0x48, 0x85, 0xff, //0x00002d75 testq %rdi, %rdi + 0x44, 0x0f, 0x45, 0xf2, //0x00002d78 cmovnel %edx, %r14d + 0x48, 0x01, 0xc0, //0x00002d7c addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00002d7f leaq (%rax,%rax,4), %rax + 0x48, 0x85, 0xc0, //0x00002d83 testq %rax, %rax + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x00002d86 je LBB0_644 + //0x00002d8c LBB0_642 + 0x48, 0x89, 0xc7, //0x00002d8c movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00002d8f shrq %cl, %rdi + 0x48, 0x21, 0xf0, //0x00002d92 andq %rsi, %rax + 0x49, 0x63, 0xd9, //0x00002d95 movslq %r9d, %rbx + 0x49, 0x39, 0xdd, //0x00002d98 cmpq %rbx, %r13 + 0x0f, 0x86, 0xd4, 0xff, 0xff, 0xff, //0x00002d9b jbe LBB0_641 + 0x40, 0x80, 0xc7, 0x30, //0x00002da1 addb $48, %dil + 0x41, 0x88, 0x3c, 0x1c, //0x00002da5 movb %dil, (%r12,%rbx) + 0xff, 0xc3, //0x00002da9 incl %ebx + 0x41, 0x89, 0xd9, //0x00002dab movl %ebx, %r9d + 0x48, 0x01, 0xc0, //0x00002dae addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00002db1 leaq (%rax,%rax,4), %rax + 0x48, 0x85, 0xc0, //0x00002db5 testq %rax, %rax + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x00002db8 jne LBB0_642 + //0x00002dbe LBB0_644 + 0x48, 0x8b, 0x45, 0xc8, //0x00002dbe movq $-56(%rbp), %rax + 0xff, 0xc0, //0x00002dc2 incl %eax + 0x48, 0x89, 0x45, 0xc8, //0x00002dc4 movq %rax, $-56(%rbp) + 0x45, 0x85, 0xc9, //0x00002dc8 testl %r9d, %r9d + 0x0f, 0x8e, 0x9f, 0x00, 0x00, 0x00, //0x00002dcb jle LBB0_662 + 0x44, 0x89, 0xc8, //0x00002dd1 movl %r9d, %eax + 0x41, 0xbf, 0x02, 0xfc, 0xff, 0xff, //0x00002dd4 movl $-1022, %r15d + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00002dda cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x99, 0x00, 0x00, 0x00, //0x00002de0 jne LBB0_663 + //0x00002de6 LBB0_646 + 0x48, 0x83, 0xf8, 0x01, //0x00002de6 cmpq $1, %rax + 0x0f, 0x8e, 0x7b, 0x00, 0x00, 0x00, //0x00002dea jle LBB0_661 + 0x4c, 0x8d, 0x40, 0xff, //0x00002df0 leaq $-1(%rax), %r8 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00002df4 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xc0, //0x00002dfa movq %r8, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002dfd je LBB0_646 + //0x00002e03 LBB0_648 + 0x41, 0xbf, 0x02, 0xfc, 0xff, 0xff, //0x00002e03 movl $-1022, %r15d + 0x44, 0x89, 0xc3, //0x00002e09 movl %r8d, %ebx + //0x00002e0c LBB0_649 + 0x85, 0xdb, //0x00002e0c testl %ebx, %ebx + 0x0f, 0x84, 0x08, 0x00, 0x00, 0x00, //0x00002e0e je LBB0_654 + 0x45, 0x89, 0xc1, //0x00002e14 movl %r8d, %r9d + 0xe9, 0x66, 0x00, 0x00, 0x00, //0x00002e17 jmp LBB0_664 + //0x00002e1c LBB0_654 + 0x31, 0xc0, //0x00002e1c xorl %eax, %eax + 0xe9, 0x0e, 0x02, 0x00, 0x00, //0x00002e1e jmp LBB0_688 + //0x00002e23 LBB0_655 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00002e23 movq $-1, %r15 + 0xe9, 0x53, 0xfe, 0xff, 0xff, //0x00002e2a jmp LBB0_250 + //0x00002e2f LBB0_656 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002e2f movq $-1, %r8 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00002e36 movq $-1, %r14 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00002e3d movq $-1, %r10 + 0x4d, 0x89, 0xcd, //0x00002e44 movq %r9, %r13 + 0x49, 0x83, 0xfb, 0x10, //0x00002e47 cmpq $16, %r11 + 0x0f, 0x83, 0x3f, 0xd8, 0xff, 0xff, //0x00002e4b jae LBB0_67 + 0xe9, 0xb0, 0xd9, 0xff, 0xff, //0x00002e51 jmp LBB0_85 + //0x00002e56 LBB0_659 + 0x8b, 0x45, 0xa8, //0x00002e56 movl $-88(%rbp), %eax + 0x03, 0x45, 0xb0, //0x00002e59 addl $-80(%rbp), %eax + 0x45, 0x31, 0xff, //0x00002e5c xorl %r15d, %r15d + 0x45, 0x31, 0xc0, //0x00002e5f xorl %r8d, %r8d + 0x31, 0xdb, //0x00002e62 xorl %ebx, %ebx + 0x89, 0xc6, //0x00002e64 movl %eax, %esi + 0xe9, 0x44, 0xf4, 0xff, 0xff, //0x00002e66 jmp LBB0_480 + //0x00002e6b LBB0_661 + 0xff, 0xc8, //0x00002e6b decl %eax + 0x41, 0x89, 0xc1, //0x00002e6d movl %eax, %r9d + //0x00002e70 LBB0_662 + 0x41, 0xbf, 0x02, 0xfc, 0xff, 0xff, //0x00002e70 movl $-1022, %r15d + 0x45, 0x85, 0xc9, //0x00002e76 testl %r9d, %r9d + 0x0f, 0x84, 0x7b, 0x02, 0x00, 0x00, //0x00002e79 je LBB0_699 + //0x00002e7f LBB0_663 + 0x44, 0x89, 0xcb, //0x00002e7f movl %r9d, %ebx + //0x00002e82 LBB0_664 + 0x48, 0x8d, 0x15, 0x97, 0x37, 0x00, 0x00, //0x00002e82 leaq $14231(%rip), %rdx /* _LSHIFT_TAB+0(%rip) */ + 0x4c, 0x63, 0xd3, //0x00002e89 movslq %ebx, %r10 + 0xb1, 0x31, //0x00002e8c movb $49, %cl + 0x31, 0xc0, //0x00002e8e xorl %eax, %eax + 0x41, 0xb8, 0x10, 0x00, 0x00, 0x00, //0x00002e90 movl $16, %r8d + //0x00002e96 LBB0_665 + 0x48, 0x83, 0xf8, 0x26, //0x00002e96 cmpq $38, %rax + 0x0f, 0x84, 0x2c, 0x00, 0x00, 0x00, //0x00002e9a je LBB0_670 + 0x41, 0x38, 0x0c, 0x04, //0x00002ea0 cmpb %cl, (%r12,%rax) + 0x0f, 0x85, 0x70, 0x01, 0x00, 0x00, //0x00002ea4 jne LBB0_685 + 0x0f, 0xb6, 0x8c, 0x10, 0x8d, 0x15, 0x00, 0x00, //0x00002eaa movzbl $5517(%rax,%rdx), %ecx + 0x48, 0xff, 0xc0, //0x00002eb2 incq %rax + 0x49, 0x39, 0xc2, //0x00002eb5 cmpq %rax, %r10 + 0x0f, 0x85, 0xd8, 0xff, 0xff, 0xff, //0x00002eb8 jne LBB0_665 + 0x84, 0xc9, //0x00002ebe testb %cl, %cl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00002ec0 je LBB0_670 + //0x00002ec6 LBB0_669 + 0x41, 0xb8, 0x0f, 0x00, 0x00, 0x00, //0x00002ec6 movl $15, %r8d + //0x00002ecc LBB0_670 + 0x85, 0xdb, //0x00002ecc testl %ebx, %ebx + 0x0f, 0x8e, 0xf6, 0x00, 0x00, 0x00, //0x00002ece jle LBB0_681 + 0x44, 0x01, 0xc3, //0x00002ed4 addl %r8d, %ebx + 0x48, 0x63, 0xfb, //0x00002ed7 movslq %ebx, %rdi + 0x48, 0xff, 0xcf, //0x00002eda decq %rdi + 0x49, 0xff, 0xc2, //0x00002edd incq %r10 + 0x31, 0xc9, //0x00002ee0 xorl %ecx, %ecx + 0x49, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00002ee2 movabsq $-432345564227567616, %r11 + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00002eec jmp LBB0_674 + //0x00002ef1 LBB0_672 + 0x48, 0x85, 0xc0, //0x00002ef1 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00002ef4 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00002ef9 cmovnel %eax, %r14d + //0x00002efd LBB0_673 + 0xff, 0xcb, //0x00002efd decl %ebx + 0x48, 0xff, 0xcf, //0x00002eff decq %rdi + 0x49, 0xff, 0xca, //0x00002f02 decq %r10 + 0x49, 0x83, 0xfa, 0x01, //0x00002f05 cmpq $1, %r10 + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00002f09 jle LBB0_676 + //0x00002f0f LBB0_674 + 0x4b, 0x0f, 0xbe, 0x74, 0x14, 0xfe, //0x00002f0f movsbq $-2(%r12,%r10), %rsi + 0x48, 0xc1, 0xe6, 0x35, //0x00002f15 shlq $53, %rsi + 0x48, 0x01, 0xce, //0x00002f19 addq %rcx, %rsi + 0x4c, 0x01, 0xde, //0x00002f1c addq %r11, %rsi + 0x48, 0x89, 0xf0, //0x00002f1f movq %rsi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002f22 movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00002f2c mulq %rcx + 0x48, 0x89, 0xd1, //0x00002f2f movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x00002f32 shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00002f36 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00002f3a leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf0, //0x00002f3e movq %rsi, %rax + 0x48, 0x29, 0xd0, //0x00002f41 subq %rdx, %rax + 0x4c, 0x39, 0xef, //0x00002f44 cmpq %r13, %rdi + 0x0f, 0x83, 0xa4, 0xff, 0xff, 0xff, //0x00002f47 jae LBB0_672 + 0x04, 0x30, //0x00002f4d addb $48, %al + 0x41, 0x88, 0x04, 0x3c, //0x00002f4f movb %al, (%r12,%rdi) + 0xe9, 0xa5, 0xff, 0xff, 0xff, //0x00002f53 jmp LBB0_673 + //0x00002f58 LBB0_676 + 0x48, 0x83, 0xfe, 0x0a, //0x00002f58 cmpq $10, %rsi + 0x0f, 0x82, 0x68, 0x00, 0x00, 0x00, //0x00002f5c jb LBB0_681 + 0x48, 0x63, 0xf3, //0x00002f62 movslq %ebx, %rsi + 0x48, 0xff, 0xce, //0x00002f65 decq %rsi + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x00002f68 movl $1, %edi + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002f6d jmp LBB0_679 + //0x00002f72 LBB0_678 + 0x48, 0x85, 0xc0, //0x00002f72 testq %rax, %rax + 0x44, 0x0f, 0x45, 0xf7, //0x00002f75 cmovnel %edi, %r14d + 0x48, 0xff, 0xce, //0x00002f79 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00002f7c cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00002f80 movq %rdx, %rcx + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x00002f83 jbe LBB0_681 + //0x00002f89 LBB0_679 + 0x48, 0x89, 0xc8, //0x00002f89 movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002f8c movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00002f96 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00002f99 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00002f9d leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x1c, 0x80, //0x00002fa1 leaq (%rax,%rax,4), %rbx + 0x48, 0x89, 0xc8, //0x00002fa5 movq %rcx, %rax + 0x48, 0x29, 0xd8, //0x00002fa8 subq %rbx, %rax + 0x4c, 0x39, 0xee, //0x00002fab cmpq %r13, %rsi + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x00002fae jae LBB0_678 + 0x04, 0x30, //0x00002fb4 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00002fb6 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x00002fba decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00002fbd cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00002fc1 movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00002fc4 ja LBB0_679 + //0x00002fca LBB0_681 + 0x45, 0x01, 0xc1, //0x00002fca addl %r8d, %r9d + 0x49, 0x63, 0xc1, //0x00002fcd movslq %r9d, %rax + 0x49, 0x39, 0xc5, //0x00002fd0 cmpq %rax, %r13 + 0x41, 0x0f, 0x46, 0xc5, //0x00002fd3 cmovbel %r13d, %eax + 0x48, 0x8b, 0x4d, 0xc8, //0x00002fd7 movq $-56(%rbp), %rcx + 0x44, 0x01, 0xc1, //0x00002fdb addl %r8d, %ecx + 0x48, 0x89, 0x4d, 0xc8, //0x00002fde movq %rcx, $-56(%rbp) + 0x85, 0xc0, //0x00002fe2 testl %eax, %eax + 0x0f, 0x8e, 0x3f, 0x00, 0x00, 0x00, //0x00002fe4 jle LBB0_687 + 0x89, 0xc1, //0x00002fea movl %eax, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x00002fec cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0x39, 0x00, 0x00, 0x00, //0x00002ff2 jne LBB0_688 + //0x00002ff8 LBB0_683 + 0x48, 0x83, 0xf9, 0x01, //0x00002ff8 cmpq $1, %rcx + 0x0f, 0x8e, 0x23, 0x00, 0x00, 0x00, //0x00002ffc jle LBB0_686 + 0x48, 0x8d, 0x41, 0xff, //0x00003002 leaq $-1(%rcx), %rax + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x00003006 cmpb $48, $-2(%r12,%rcx) + 0x48, 0x89, 0xc1, //0x0000300c movq %rax, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x0000300f je LBB0_683 + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00003015 jmp LBB0_688 + //0x0000301a LBB0_685 + 0x0f, 0x8c, 0xa6, 0xfe, 0xff, 0xff, //0x0000301a jl LBB0_669 + 0xe9, 0xa7, 0xfe, 0xff, 0xff, //0x00003020 jmp LBB0_670 + //0x00003025 LBB0_686 + 0xff, 0xc9, //0x00003025 decl %ecx + 0x89, 0xc8, //0x00003027 movl %ecx, %eax + //0x00003029 LBB0_687 + 0x85, 0xc0, //0x00003029 testl %eax, %eax + 0x0f, 0x84, 0xc9, 0x00, 0x00, 0x00, //0x0000302b je LBB0_699 + //0x00003031 LBB0_688 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00003031 movabsq $4503599627370495, %rcx + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x0000303b movq $-1, %rsi + 0x48, 0x8b, 0x55, 0xc8, //0x00003042 movq $-56(%rbp), %rdx + 0x83, 0xfa, 0x14, //0x00003046 cmpl $20, %edx + 0x0f, 0x8f, 0x24, 0x03, 0x00, 0x00, //0x00003049 jg LBB0_720 + 0x89, 0xd1, //0x0000304f movl %edx, %ecx + 0x85, 0xd2, //0x00003051 testl %edx, %edx + 0x0f, 0x8e, 0x32, 0x00, 0x00, 0x00, //0x00003053 jle LBB0_694 + 0x48, 0x63, 0xf8, //0x00003059 movslq %eax, %rdi + 0x31, 0xf6, //0x0000305c xorl %esi, %esi + 0x31, 0xd2, //0x0000305e xorl %edx, %edx + //0x00003060 LBB0_691 + 0x48, 0x39, 0xfe, //0x00003060 cmpq %rdi, %rsi + 0x0f, 0x8d, 0x1a, 0x00, 0x00, 0x00, //0x00003063 jge LBB0_693 + 0x48, 0x8d, 0x14, 0x92, //0x00003069 leaq (%rdx,%rdx,4), %rdx + 0x49, 0x0f, 0xbe, 0x1c, 0x34, //0x0000306d movsbq (%r12,%rsi), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x00003072 leaq $-48(%rbx,%rdx,2), %rdx + 0x48, 0xff, 0xc6, //0x00003077 incq %rsi + 0x48, 0x39, 0xf1, //0x0000307a cmpq %rsi, %rcx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x0000307d jne LBB0_691 + //0x00003083 LBB0_693 + 0x45, 0x31, 0xc0, //0x00003083 xorl %r8d, %r8d + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00003086 jmp LBB0_695 + //0x0000308b LBB0_694 + 0x31, 0xf6, //0x0000308b xorl %esi, %esi + 0x41, 0xb0, 0x01, //0x0000308d movb $1, %r8b + 0x31, 0xd2, //0x00003090 xorl %edx, %edx + //0x00003092 LBB0_695 + 0x48, 0x8b, 0x7d, 0xc8, //0x00003092 movq $-56(%rbp), %rdi + 0x41, 0x89, 0xfa, //0x00003096 movl %edi, %r10d + 0x41, 0x29, 0xf2, //0x00003099 subl %esi, %r10d + 0x0f, 0x8e, 0x33, 0x02, 0x00, 0x00, //0x0000309c jle LBB0_709 + 0x41, 0x83, 0xfa, 0x10, //0x000030a2 cmpl $16, %r10d + 0x0f, 0x82, 0x14, 0x02, 0x00, 0x00, //0x000030a6 jb LBB0_707 + 0x45, 0x89, 0xd1, //0x000030ac movl %r10d, %r9d + 0xc5, 0xfa, 0x6f, 0x05, 0x89, 0xd0, 0xff, 0xff, //0x000030af vmovdqu $-12151(%rip), %xmm0 /* LCPI0_21+0(%rip) */ + 0xc4, 0xe3, 0xf9, 0x22, 0xc2, 0x00, //0x000030b7 vpinsrq $0, %rdx, %xmm0, %xmm0 + 0x41, 0x83, 0xe1, 0xf0, //0x000030bd andl $-16, %r9d + 0xc4, 0xe3, 0x7d, 0x02, 0x05, 0x75, 0xd0, 0xff, 0xff, 0xf0, //0x000030c1 vpblendd $240, $-12171(%rip), %ymm0, %ymm0 /* LCPI0_21+0(%rip) */ + 0x41, 0x8d, 0x51, 0xf0, //0x000030cb leal $-16(%r9), %edx + 0x89, 0xd7, //0x000030cf movl %edx, %edi + 0xc1, 0xef, 0x04, //0x000030d1 shrl $4, %edi + 0xff, 0xc7, //0x000030d4 incl %edi + 0x89, 0xfb, //0x000030d6 movl %edi, %ebx + 0x83, 0xe3, 0x03, //0x000030d8 andl $3, %ebx + 0x83, 0xfa, 0x30, //0x000030db cmpl $48, %edx + 0x0f, 0x83, 0x1f, 0x00, 0x00, 0x00, //0x000030de jae LBB0_700 + 0xc4, 0xe2, 0x7d, 0x59, 0x15, 0x13, 0xd1, 0xff, 0xff, //0x000030e4 vpbroadcastq $-12013(%rip), %ymm2 /* LCPI0_22+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0xda, //0x000030ed vmovdqa %ymm2, %ymm3 + 0xc5, 0xfd, 0x6f, 0xca, //0x000030f1 vmovdqa %ymm2, %ymm1 + 0xe9, 0x88, 0x00, 0x00, 0x00, //0x000030f5 jmp LBB0_702 + //0x000030fa LBB0_699 + 0x31, 0xd2, //0x000030fa xorl %edx, %edx + 0x31, 0xf6, //0x000030fc xorl %esi, %esi + 0xe9, 0x29, 0x02, 0x00, 0x00, //0x000030fe jmp LBB0_716 + //0x00003103 LBB0_700 + 0x89, 0xda, //0x00003103 movl %ebx, %edx + 0x29, 0xfa, //0x00003105 subl %edi, %edx + 0xc4, 0xe2, 0x7d, 0x59, 0x15, 0xf0, 0xd0, 0xff, 0xff, //0x00003107 vpbroadcastq $-12048(%rip), %ymm2 /* LCPI0_22+0(%rip) */ + 0xc4, 0xe2, 0x7d, 0x59, 0x25, 0xef, 0xd0, 0xff, 0xff, //0x00003110 vpbroadcastq $-12049(%rip), %ymm4 /* LCPI0_23+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0xda, //0x00003119 vmovdqa %ymm2, %ymm3 + 0xc5, 0xfd, 0x6f, 0xca, //0x0000311d vmovdqa %ymm2, %ymm1 + //0x00003121 LBB0_701 + 0xc5, 0xfd, 0xf4, 0xec, //0x00003121 vpmuludq %ymm4, %ymm0, %ymm5 + 0xc5, 0xfd, 0x73, 0xd0, 0x20, //0x00003125 vpsrlq $32, %ymm0, %ymm0 + 0xc5, 0xfd, 0xf4, 0xc4, //0x0000312a vpmuludq %ymm4, %ymm0, %ymm0 + 0xc5, 0xfd, 0x73, 0xf0, 0x20, //0x0000312e vpsllq $32, %ymm0, %ymm0 + 0xc5, 0xd5, 0xd4, 0xc0, //0x00003133 vpaddq %ymm0, %ymm5, %ymm0 + 0xc5, 0xed, 0xf4, 0xec, //0x00003137 vpmuludq %ymm4, %ymm2, %ymm5 + 0xc5, 0xed, 0x73, 0xd2, 0x20, //0x0000313b vpsrlq $32, %ymm2, %ymm2 + 0xc5, 0xed, 0xf4, 0xd4, //0x00003140 vpmuludq %ymm4, %ymm2, %ymm2 + 0xc5, 0xed, 0x73, 0xf2, 0x20, //0x00003144 vpsllq $32, %ymm2, %ymm2 + 0xc5, 0xd5, 0xd4, 0xd2, //0x00003149 vpaddq %ymm2, %ymm5, %ymm2 + 0xc5, 0xe5, 0xf4, 0xec, //0x0000314d vpmuludq %ymm4, %ymm3, %ymm5 + 0xc5, 0xe5, 0x73, 0xd3, 0x20, //0x00003151 vpsrlq $32, %ymm3, %ymm3 + 0xc5, 0xe5, 0xf4, 0xdc, //0x00003156 vpmuludq %ymm4, %ymm3, %ymm3 + 0xc5, 0xe5, 0x73, 0xf3, 0x20, //0x0000315a vpsllq $32, %ymm3, %ymm3 + 0xc5, 0xd5, 0xd4, 0xdb, //0x0000315f vpaddq %ymm3, %ymm5, %ymm3 + 0xc5, 0xf5, 0xf4, 0xec, //0x00003163 vpmuludq %ymm4, %ymm1, %ymm5 + 0xc5, 0xf5, 0x73, 0xd1, 0x20, //0x00003167 vpsrlq $32, %ymm1, %ymm1 + 0xc5, 0xf5, 0xf4, 0xcc, //0x0000316c vpmuludq %ymm4, %ymm1, %ymm1 + 0xc5, 0xf5, 0x73, 0xf1, 0x20, //0x00003170 vpsllq $32, %ymm1, %ymm1 + 0xc5, 0xd5, 0xd4, 0xc9, //0x00003175 vpaddq %ymm1, %ymm5, %ymm1 + 0x83, 0xc2, 0x04, //0x00003179 addl $4, %edx + 0x0f, 0x85, 0x9f, 0xff, 0xff, 0xff, //0x0000317c jne LBB0_701 + //0x00003182 LBB0_702 + 0x85, 0xdb, //0x00003182 testl %ebx, %ebx + 0x0f, 0x84, 0x6b, 0x00, 0x00, 0x00, //0x00003184 je LBB0_705 + 0xf7, 0xdb, //0x0000318a negl %ebx + 0xc4, 0xe2, 0x7d, 0x59, 0x25, 0x7b, 0xd0, 0xff, 0xff, //0x0000318c vpbroadcastq $-12165(%rip), %ymm4 /* LCPI0_24+0(%rip) */ + //0x00003195 LBB0_704 + 0xc5, 0xfd, 0xf4, 0xec, //0x00003195 vpmuludq %ymm4, %ymm0, %ymm5 + 0xc5, 0xfd, 0x73, 0xd0, 0x20, //0x00003199 vpsrlq $32, %ymm0, %ymm0 + 0xc5, 0xfd, 0xf4, 0xc4, //0x0000319e vpmuludq %ymm4, %ymm0, %ymm0 + 0xc5, 0xfd, 0x73, 0xf0, 0x20, //0x000031a2 vpsllq $32, %ymm0, %ymm0 + 0xc5, 0xd5, 0xd4, 0xc0, //0x000031a7 vpaddq %ymm0, %ymm5, %ymm0 + 0xc5, 0xed, 0xf4, 0xec, //0x000031ab vpmuludq %ymm4, %ymm2, %ymm5 + 0xc5, 0xed, 0x73, 0xd2, 0x20, //0x000031af vpsrlq $32, %ymm2, %ymm2 + 0xc5, 0xed, 0xf4, 0xd4, //0x000031b4 vpmuludq %ymm4, %ymm2, %ymm2 + 0xc5, 0xed, 0x73, 0xf2, 0x20, //0x000031b8 vpsllq $32, %ymm2, %ymm2 + 0xc5, 0xd5, 0xd4, 0xd2, //0x000031bd vpaddq %ymm2, %ymm5, %ymm2 + 0xc5, 0xe5, 0xf4, 0xec, //0x000031c1 vpmuludq %ymm4, %ymm3, %ymm5 + 0xc5, 0xe5, 0x73, 0xd3, 0x20, //0x000031c5 vpsrlq $32, %ymm3, %ymm3 + 0xc5, 0xe5, 0xf4, 0xdc, //0x000031ca vpmuludq %ymm4, %ymm3, %ymm3 + 0xc5, 0xe5, 0x73, 0xf3, 0x20, //0x000031ce vpsllq $32, %ymm3, %ymm3 + 0xc5, 0xd5, 0xd4, 0xdb, //0x000031d3 vpaddq %ymm3, %ymm5, %ymm3 + 0xc5, 0xf5, 0xf4, 0xec, //0x000031d7 vpmuludq %ymm4, %ymm1, %ymm5 + 0xc5, 0xf5, 0x73, 0xd1, 0x20, //0x000031db vpsrlq $32, %ymm1, %ymm1 + 0xc5, 0xf5, 0xf4, 0xcc, //0x000031e0 vpmuludq %ymm4, %ymm1, %ymm1 + 0xc5, 0xf5, 0x73, 0xf1, 0x20, //0x000031e4 vpsllq $32, %ymm1, %ymm1 + 0xc5, 0xd5, 0xd4, 0xc9, //0x000031e9 vpaddq %ymm1, %ymm5, %ymm1 + 0xff, 0xc3, //0x000031ed incl %ebx + 0x0f, 0x85, 0xa0, 0xff, 0xff, 0xff, //0x000031ef jne LBB0_704 + //0x000031f5 LBB0_705 + 0xc5, 0xdd, 0x73, 0xd2, 0x20, //0x000031f5 vpsrlq $32, %ymm2, %ymm4 + 0xc5, 0xdd, 0xf4, 0xe0, //0x000031fa vpmuludq %ymm0, %ymm4, %ymm4 + 0xc5, 0xd5, 0x73, 0xd0, 0x20, //0x000031fe vpsrlq $32, %ymm0, %ymm5 + 0xc5, 0xed, 0xf4, 0xed, //0x00003203 vpmuludq %ymm5, %ymm2, %ymm5 + 0xc5, 0xd5, 0xd4, 0xe4, //0x00003207 vpaddq %ymm4, %ymm5, %ymm4 + 0xc5, 0xdd, 0x73, 0xf4, 0x20, //0x0000320b vpsllq $32, %ymm4, %ymm4 + 0xc5, 0xed, 0xf4, 0xc0, //0x00003210 vpmuludq %ymm0, %ymm2, %ymm0 + 0xc5, 0xfd, 0xd4, 0xc4, //0x00003214 vpaddq %ymm4, %ymm0, %ymm0 + 0xc5, 0xed, 0x73, 0xd3, 0x20, //0x00003218 vpsrlq $32, %ymm3, %ymm2 + 0xc5, 0xed, 0xf4, 0xd0, //0x0000321d vpmuludq %ymm0, %ymm2, %ymm2 + 0xc5, 0xdd, 0x73, 0xd0, 0x20, //0x00003221 vpsrlq $32, %ymm0, %ymm4 + 0xc5, 0xe5, 0xf4, 0xe4, //0x00003226 vpmuludq %ymm4, %ymm3, %ymm4 + 0xc5, 0xdd, 0xd4, 0xd2, //0x0000322a vpaddq %ymm2, %ymm4, %ymm2 + 0xc5, 0xed, 0x73, 0xf2, 0x20, //0x0000322e vpsllq $32, %ymm2, %ymm2 + 0xc5, 0xe5, 0xf4, 0xc0, //0x00003233 vpmuludq %ymm0, %ymm3, %ymm0 + 0xc5, 0xfd, 0xd4, 0xc2, //0x00003237 vpaddq %ymm2, %ymm0, %ymm0 + 0xc5, 0xed, 0x73, 0xd1, 0x20, //0x0000323b vpsrlq $32, %ymm1, %ymm2 + 0xc5, 0xed, 0xf4, 0xd0, //0x00003240 vpmuludq %ymm0, %ymm2, %ymm2 + 0xc5, 0xe5, 0x73, 0xd0, 0x20, //0x00003244 vpsrlq $32, %ymm0, %ymm3 + 0xc5, 0xf5, 0xf4, 0xdb, //0x00003249 vpmuludq %ymm3, %ymm1, %ymm3 + 0xc5, 0xe5, 0xd4, 0xd2, //0x0000324d vpaddq %ymm2, %ymm3, %ymm2 + 0xc5, 0xed, 0x73, 0xf2, 0x20, //0x00003251 vpsllq $32, %ymm2, %ymm2 + 0xc5, 0xf5, 0xf4, 0xc0, //0x00003256 vpmuludq %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd4, 0xc2, //0x0000325a vpaddq %ymm2, %ymm0, %ymm0 + 0xc4, 0xe3, 0x7d, 0x39, 0xc1, 0x01, //0x0000325e vextracti128 $1, %ymm0, %xmm1 + 0xc5, 0xe9, 0x73, 0xd0, 0x20, //0x00003264 vpsrlq $32, %xmm0, %xmm2 + 0xc5, 0xe9, 0xf4, 0xd1, //0x00003269 vpmuludq %xmm1, %xmm2, %xmm2 + 0xc5, 0xe1, 0x73, 0xd1, 0x20, //0x0000326d vpsrlq $32, %xmm1, %xmm3 + 0xc5, 0xf9, 0xf4, 0xdb, //0x00003272 vpmuludq %xmm3, %xmm0, %xmm3 + 0xc5, 0xe1, 0xd4, 0xd2, //0x00003276 vpaddq %xmm2, %xmm3, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x20, //0x0000327a vpsllq $32, %xmm2, %xmm2 + 0xc5, 0xf9, 0xf4, 0xc1, //0x0000327f vpmuludq %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xd4, 0xc2, //0x00003283 vpaddq %xmm2, %xmm0, %xmm0 + 0xc5, 0xf9, 0x70, 0xc8, 0x4e, //0x00003287 vpshufd $78, %xmm0, %xmm1 + 0xc5, 0xe9, 0x73, 0xd0, 0x20, //0x0000328c vpsrlq $32, %xmm0, %xmm2 + 0xc5, 0xe9, 0xf4, 0xd1, //0x00003291 vpmuludq %xmm1, %xmm2, %xmm2 + 0xc5, 0xe1, 0x73, 0xd8, 0x0c, //0x00003295 vpsrldq $12, %xmm0, %xmm3 + 0xc5, 0xf9, 0xf4, 0xdb, //0x0000329a vpmuludq %xmm3, %xmm0, %xmm3 + 0xc5, 0xe1, 0xd4, 0xd2, //0x0000329e vpaddq %xmm2, %xmm3, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x20, //0x000032a2 vpsllq $32, %xmm2, %xmm2 + 0xc5, 0xf9, 0xf4, 0xc1, //0x000032a7 vpmuludq %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xd4, 0xc2, //0x000032ab vpaddq %xmm2, %xmm0, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc2, //0x000032af vmovq %xmm0, %rdx + 0x45, 0x39, 0xca, //0x000032b4 cmpl %r9d, %r10d + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x000032b7 je LBB0_709 + 0x44, 0x01, 0xce, //0x000032bd addl %r9d, %esi + //0x000032c0 LBB0_707 + 0x48, 0x8b, 0x7d, 0xc8, //0x000032c0 movq $-56(%rbp), %rdi + 0x29, 0xf7, //0x000032c4 subl %esi, %edi + //0x000032c6 LBB0_708 + 0x48, 0x01, 0xd2, //0x000032c6 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x000032c9 leaq (%rdx,%rdx,4), %rdx + 0xff, 0xcf, //0x000032cd decl %edi + 0x0f, 0x85, 0xf1, 0xff, 0xff, 0xff, //0x000032cf jne LBB0_708 + //0x000032d5 LBB0_709 + 0x31, 0xf6, //0x000032d5 xorl %esi, %esi + 0x48, 0x8b, 0x7d, 0xc8, //0x000032d7 movq $-56(%rbp), %rdi + 0x85, 0xff, //0x000032db testl %edi, %edi + 0x0f, 0x88, 0x49, 0x00, 0x00, 0x00, //0x000032dd js LBB0_716 + 0x39, 0xf8, //0x000032e3 cmpl %edi, %eax + 0x0f, 0x8e, 0x41, 0x00, 0x00, 0x00, //0x000032e5 jle LBB0_716 + 0x41, 0x8a, 0x0c, 0x0c, //0x000032eb movb (%r12,%rcx), %cl + 0x8d, 0x77, 0x01, //0x000032ef leal $1(%rdi), %esi + 0x39, 0xc6, //0x000032f2 cmpl %eax, %esi + 0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x000032f4 jne LBB0_715 + 0x80, 0xf9, 0x35, //0x000032fa cmpb $53, %cl + 0x0f, 0x85, 0x22, 0x00, 0x00, 0x00, //0x000032fd jne LBB0_715 + 0x45, 0x85, 0xf6, //0x00003303 testl %r14d, %r14d + 0x40, 0x0f, 0x95, 0xc6, //0x00003306 setne %sil + 0x41, 0x08, 0xf0, //0x0000330a orb %sil, %r8b + 0x0f, 0x85, 0x19, 0x00, 0x00, 0x00, //0x0000330d jne LBB0_716 + 0x48, 0x63, 0x45, 0xc8, //0x00003313 movslq $-56(%rbp), %rax + 0x42, 0x8a, 0x74, 0x20, 0xff, //0x00003317 movb $-1(%rax,%r12), %sil + 0x40, 0x80, 0xe6, 0x01, //0x0000331c andb $1, %sil + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00003320 jmp LBB0_716 + //0x00003325 LBB0_715 + 0x80, 0xf9, 0x34, //0x00003325 cmpb $52, %cl + 0x40, 0x0f, 0x9f, 0xc6, //0x00003328 setg %sil + //0x0000332c LBB0_716 + 0x40, 0x0f, 0xb6, 0xf6, //0x0000332c movzbl %sil, %esi + 0x48, 0x01, 0xd6, //0x00003330 addq %rdx, %rsi + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, //0x00003333 movabsq $9007199254740992, %rax + 0x48, 0x39, 0xc6, //0x0000333d cmpq %rax, %rsi + 0x0f, 0x85, 0x23, 0x00, 0x00, 0x00, //0x00003340 jne LBB0_719 + 0x41, 0x81, 0xff, 0xfe, 0x03, 0x00, 0x00, //0x00003346 cmpl $1022, %r15d + 0x0f, 0x8f, 0x32, 0xe7, 0xff, 0xff, //0x0000334d jg LBB0_353 + 0x41, 0xff, 0xc7, //0x00003353 incl %r15d + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00003356 movabsq $4503599627370495, %rcx + 0x48, 0x8d, 0x71, 0x01, //0x00003360 leaq $1(%rcx), %rsi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00003364 jmp LBB0_720 + //0x00003369 LBB0_719 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00003369 movabsq $4503599627370495, %rcx + //0x00003373 LBB0_720 + 0x8a, 0x55, 0xd7, //0x00003373 movb $-41(%rbp), %dl + 0x48, 0x8d, 0x41, 0x01, //0x00003376 leaq $1(%rcx), %rax + 0x48, 0x21, 0xf0, //0x0000337a andq %rsi, %rax + 0x41, 0x81, 0xc7, 0xff, 0x03, 0x00, 0x00, //0x0000337d addl $1023, %r15d + 0x41, 0x81, 0xe7, 0xff, 0x07, 0x00, 0x00, //0x00003384 andl $2047, %r15d + 0x49, 0xc1, 0xe7, 0x34, //0x0000338b shlq $52, %r15 + 0x48, 0x85, 0xc0, //0x0000338f testq %rax, %rax + 0x4c, 0x0f, 0x44, 0xf8, //0x00003392 cmoveq %rax, %r15 + 0xe9, 0x24, 0xe7, 0xff, 0xff, //0x00003396 jmp LBB0_358 + //0x0000339b LBB0_723 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000339b movq $-1, %r8 + 0x45, 0x31, 0xff, //0x000033a2 xorl %r15d, %r15d + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000033a5 movq $-1, %rbx + 0x49, 0x83, 0xfd, 0x20, //0x000033ac cmpq $32, %r13 + 0x0f, 0x83, 0x51, 0xdf, 0xff, 0xff, //0x000033b0 jae LBB0_261 + 0xe9, 0x96, 0x00, 0x00, 0x00, //0x000033b6 jmp LBB0_730 + //0x000033bb LBB0_724 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000033bb movq $-1, %r8 + 0x45, 0x31, 0xe4, //0x000033c2 xorl %r12d, %r12d + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000033c5 movq $-1, %r9 + 0x49, 0x83, 0xfd, 0x20, //0x000033cc cmpq $32, %r13 + 0x0f, 0x83, 0xb5, 0xdf, 0xff, 0xff, //0x000033d0 jae LBB0_268 + 0xe9, 0x86, 0x01, 0x00, 0x00, //0x000033d6 jmp LBB0_749 + //0x000033db LBB0_725 + 0x48, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000033db movq $-2, %rbx + 0xe9, 0x29, 0x02, 0x00, 0x00, //0x000033e2 jmp LBB0_762 + //0x000033e7 LBB0_726 + 0x48, 0x83, 0xfb, 0xff, //0x000033e7 cmpq $-1, %rbx + 0x0f, 0x85, 0x10, 0x00, 0x00, 0x00, //0x000033eb jne LBB0_728 + 0x48, 0x89, 0xce, //0x000033f1 movq %rcx, %rsi + 0x4c, 0x29, 0xd6, //0x000033f4 subq %r10, %rsi + 0x4c, 0x0f, 0xbc, 0xc7, //0x000033f7 bsfq %rdi, %r8 + 0x49, 0x01, 0xf0, //0x000033fb addq %rsi, %r8 + 0x4c, 0x89, 0xc3, //0x000033fe movq %r8, %rbx + //0x00003401 LBB0_728 + 0x44, 0x89, 0xfe, //0x00003401 movl %r15d, %esi + 0xf7, 0xd6, //0x00003404 notl %esi + 0x21, 0xfe, //0x00003406 andl %edi, %esi + 0x44, 0x8d, 0x0c, 0x36, //0x00003408 leal (%rsi,%rsi), %r9d + 0x45, 0x09, 0xf9, //0x0000340c orl %r15d, %r9d + 0x45, 0x89, 0xcc, //0x0000340f movl %r9d, %r12d + 0x41, 0xf7, 0xd4, //0x00003412 notl %r12d + 0x41, 0x21, 0xfc, //0x00003415 andl %edi, %r12d + 0x41, 0x81, 0xe4, 0xaa, 0xaa, 0xaa, 0xaa, //0x00003418 andl $-1431655766, %r12d + 0x45, 0x31, 0xff, //0x0000341f xorl %r15d, %r15d + 0x41, 0x01, 0xf4, //0x00003422 addl %esi, %r12d + 0x41, 0x0f, 0x92, 0xc7, //0x00003425 setb %r15b + 0x45, 0x01, 0xe4, //0x00003429 addl %r12d, %r12d + 0x41, 0x81, 0xf4, 0x55, 0x55, 0x55, 0x55, //0x0000342c xorl $1431655765, %r12d + 0x45, 0x21, 0xcc, //0x00003433 andl %r9d, %r12d + 0xbe, 0xff, 0xff, 0xff, 0xff, //0x00003436 movl $4294967295, %esi + 0x44, 0x31, 0xe6, //0x0000343b xorl %r12d, %esi + 0x21, 0xf0, //0x0000343e andl %esi, %eax + 0x48, 0x85, 0xc0, //0x00003440 testq %rax, %rax + 0x0f, 0x85, 0xf7, 0xde, 0xff, 0xff, //0x00003443 jne LBB0_264 + //0x00003449 LBB0_729 + 0x48, 0x83, 0xc1, 0x20, //0x00003449 addq $32, %rcx + 0x49, 0x83, 0xc5, 0xe0, //0x0000344d addq $-32, %r13 + //0x00003451 LBB0_730 + 0x4d, 0x85, 0xff, //0x00003451 testq %r15, %r15 + 0x0f, 0x85, 0xd1, 0x01, 0x00, 0x00, //0x00003454 jne LBB0_764 + 0x4d, 0x85, 0xed, //0x0000345a testq %r13, %r13 + 0x0f, 0x84, 0xf5, 0x01, 0x00, 0x00, //0x0000345d je LBB0_722 + //0x00003463 LBB0_732 + 0x4d, 0x89, 0xd1, //0x00003463 movq %r10, %r9 + 0x49, 0xf7, 0xd1, //0x00003466 notq %r9 + //0x00003469 LBB0_733 + 0x48, 0x8d, 0x71, 0x01, //0x00003469 leaq $1(%rcx), %rsi + 0x0f, 0xb6, 0x01, //0x0000346d movzbl (%rcx), %eax + 0x3c, 0x22, //0x00003470 cmpb $34, %al + 0x0f, 0x84, 0x51, 0x00, 0x00, 0x00, //0x00003472 je LBB0_739 + 0x49, 0x8d, 0x7d, 0xff, //0x00003478 leaq $-1(%r13), %rdi + 0x3c, 0x5c, //0x0000347c cmpb $92, %al + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000347e je LBB0_736 + 0x49, 0x89, 0xfd, //0x00003484 movq %rdi, %r13 + 0x48, 0x89, 0xf1, //0x00003487 movq %rsi, %rcx + 0x48, 0x85, 0xff, //0x0000348a testq %rdi, %rdi + 0x0f, 0x85, 0xd6, 0xff, 0xff, 0xff, //0x0000348d jne LBB0_733 + 0xe9, 0xc0, 0x01, 0x00, 0x00, //0x00003493 jmp LBB0_722 + //0x00003498 LBB0_736 + 0x48, 0x85, 0xff, //0x00003498 testq %rdi, %rdi + 0x0f, 0x84, 0xb7, 0x01, 0x00, 0x00, //0x0000349b je LBB0_722 + 0x4c, 0x01, 0xce, //0x000034a1 addq %r9, %rsi + 0x48, 0x83, 0xfb, 0xff, //0x000034a4 cmpq $-1, %rbx + 0x4c, 0x0f, 0x44, 0xc6, //0x000034a8 cmoveq %rsi, %r8 + 0x48, 0x0f, 0x44, 0xde, //0x000034ac cmoveq %rsi, %rbx + 0x48, 0x83, 0xc1, 0x02, //0x000034b0 addq $2, %rcx + 0x49, 0x83, 0xc5, 0xfe, //0x000034b4 addq $-2, %r13 + 0x4c, 0x89, 0xef, //0x000034b8 movq %r13, %rdi + 0x48, 0x85, 0xff, //0x000034bb testq %rdi, %rdi + 0x0f, 0x85, 0xa5, 0xff, 0xff, 0xff, //0x000034be jne LBB0_733 + 0xe9, 0x8f, 0x01, 0x00, 0x00, //0x000034c4 jmp LBB0_722 + //0x000034c9 LBB0_739 + 0x4c, 0x29, 0xd6, //0x000034c9 subq %r10, %rsi + 0x48, 0x89, 0xf3, //0x000034cc movq %rsi, %rbx + 0xe9, 0x78, 0xde, 0xff, 0xff, //0x000034cf jmp LBB0_265 + //0x000034d4 LBB0_740 + 0x49, 0x83, 0xf9, 0xff, //0x000034d4 cmpq $-1, %r9 + 0x0f, 0x85, 0x11, 0x00, 0x00, 0x00, //0x000034d8 jne LBB0_742 + 0x48, 0x89, 0xde, //0x000034de movq %rbx, %rsi + 0x48, 0x2b, 0x75, 0xc8, //0x000034e1 subq $-56(%rbp), %rsi + 0x4c, 0x0f, 0xbc, 0xc1, //0x000034e5 bsfq %rcx, %r8 + 0x49, 0x01, 0xf0, //0x000034e9 addq %rsi, %r8 + 0x4d, 0x89, 0xc1, //0x000034ec movq %r8, %r9 + //0x000034ef LBB0_742 + 0x44, 0x89, 0xe6, //0x000034ef movl %r12d, %esi + 0xf7, 0xd6, //0x000034f2 notl %esi + 0x21, 0xce, //0x000034f4 andl %ecx, %esi + 0x44, 0x8d, 0x34, 0x36, //0x000034f6 leal (%rsi,%rsi), %r14d + 0x45, 0x09, 0xe6, //0x000034fa orl %r12d, %r14d + 0x44, 0x89, 0xf7, //0x000034fd movl %r14d, %edi + 0xf7, 0xd7, //0x00003500 notl %edi + 0x21, 0xcf, //0x00003502 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00003504 andl $-1431655766, %edi + 0x45, 0x31, 0xe4, //0x0000350a xorl %r12d, %r12d + 0x01, 0xf7, //0x0000350d addl %esi, %edi + 0x41, 0x0f, 0x92, 0xc4, //0x0000350f setb %r12b + 0x01, 0xff, //0x00003513 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00003515 xorl $1431655765, %edi + 0x44, 0x21, 0xf7, //0x0000351b andl %r14d, %edi + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x0000351e movl $4294967295, %ecx + 0x31, 0xf9, //0x00003523 xorl %edi, %ecx + 0x21, 0xc8, //0x00003525 andl %ecx, %eax + 0x48, 0x85, 0xc0, //0x00003527 testq %rax, %rax + 0x0f, 0x85, 0xb0, 0xde, 0xff, 0xff, //0x0000352a jne LBB0_271 + //0x00003530 LBB0_743 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00003530 movl $64, %ecx + //0x00003535 LBB0_744 + 0x48, 0x85, 0xc0, //0x00003535 testq %rax, %rax + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00003538 je LBB0_747 + 0x45, 0x85, 0xd2, //0x0000353e testl %r10d, %r10d + 0x0f, 0x84, 0x9e, 0x00, 0x00, 0x00, //0x00003541 je LBB0_757 + 0x49, 0x0f, 0xbc, 0xc2, //0x00003547 bsfq %r10, %rax + 0xe9, 0x9a, 0x00, 0x00, 0x00, //0x0000354b jmp LBB0_758 + //0x00003550 LBB0_747 + 0x45, 0x85, 0xd2, //0x00003550 testl %r10d, %r10d + 0x0f, 0x85, 0xac, 0x00, 0x00, 0x00, //0x00003553 jne LBB0_760 + 0x48, 0x83, 0xc3, 0x20, //0x00003559 addq $32, %rbx + 0x49, 0x83, 0xc5, 0xe0, //0x0000355d addq $-32, %r13 + //0x00003561 LBB0_749 + 0x4d, 0x85, 0xe4, //0x00003561 testq %r12, %r12 + 0x0f, 0x85, 0xfa, 0x00, 0x00, 0x00, //0x00003564 jne LBB0_767 + 0x4d, 0x85, 0xed, //0x0000356a testq %r13, %r13 + 0x0f, 0x84, 0x1f, 0x01, 0x00, 0x00, //0x0000356d je LBB0_769 + //0x00003573 LBB0_751 + 0x0f, 0xb6, 0x03, //0x00003573 movzbl (%rbx), %eax + 0x3c, 0x22, //0x00003576 cmpb $34, %al + 0x0f, 0x84, 0x9d, 0x00, 0x00, 0x00, //0x00003578 je LBB0_763 + 0x3c, 0x5c, //0x0000357e cmpb $92, %al + 0x0f, 0x84, 0x25, 0x00, 0x00, 0x00, //0x00003580 je LBB0_755 + 0x3c, 0x20, //0x00003586 cmpb $32, %al + 0x0f, 0x82, 0x77, 0x00, 0x00, 0x00, //0x00003588 jb LBB0_760 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000358e movq $-1, %rax + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00003595 movl $1, %ecx + 0x48, 0x01, 0xcb, //0x0000359a addq %rcx, %rbx + 0x49, 0x01, 0xc5, //0x0000359d addq %rax, %r13 + 0x0f, 0x85, 0xcd, 0xff, 0xff, 0xff, //0x000035a0 jne LBB0_751 + 0xe9, 0xe7, 0x00, 0x00, 0x00, //0x000035a6 jmp LBB0_769 + //0x000035ab LBB0_755 + 0x49, 0x83, 0xfd, 0x01, //0x000035ab cmpq $1, %r13 + 0x0f, 0x84, 0xdd, 0x00, 0x00, 0x00, //0x000035af je LBB0_769 + 0x48, 0x89, 0xd8, //0x000035b5 movq %rbx, %rax + 0x48, 0x2b, 0x45, 0xc8, //0x000035b8 subq $-56(%rbp), %rax + 0x49, 0x83, 0xf9, 0xff, //0x000035bc cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc0, //0x000035c0 cmoveq %rax, %r8 + 0x4c, 0x0f, 0x44, 0xc8, //0x000035c4 cmoveq %rax, %r9 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000035c8 movq $-2, %rax + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x000035cf movl $2, %ecx + 0x48, 0x01, 0xcb, //0x000035d4 addq %rcx, %rbx + 0x49, 0x01, 0xc5, //0x000035d7 addq %rax, %r13 + 0x0f, 0x85, 0x93, 0xff, 0xff, 0xff, //0x000035da jne LBB0_751 + 0xe9, 0xad, 0x00, 0x00, 0x00, //0x000035e0 jmp LBB0_769 + //0x000035e5 LBB0_757 + 0xb8, 0x40, 0x00, 0x00, 0x00, //0x000035e5 movl $64, %eax + //0x000035ea LBB0_758 + 0x48, 0x39, 0xc8, //0x000035ea cmpq %rcx, %rax + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x000035ed jb LBB0_760 + 0x48, 0x2b, 0x5d, 0xc8, //0x000035f3 subq $-56(%rbp), %rbx + 0x48, 0x8d, 0x5c, 0x0b, 0x01, //0x000035f7 leaq $1(%rbx,%rcx), %rbx + 0x4c, 0x8b, 0x75, 0xb8, //0x000035fc movq $-72(%rbp), %r14 + 0xe9, 0x47, 0xdd, 0xff, 0xff, //0x00003600 jmp LBB0_265 + //0x00003605 LBB0_760 + 0x48, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00003605 movq $-2, %rbx + //0x0000360c LBB0_761 + 0x4c, 0x8b, 0x75, 0xb8, //0x0000360c movq $-72(%rbp), %r14 + //0x00003610 LBB0_762 + 0x49, 0x89, 0x1e, //0x00003610 movq %rbx, (%r14) + 0x4c, 0x89, 0xdb, //0x00003613 movq %r11, %rbx + 0xe9, 0x13, 0xda, 0xff, 0xff, //0x00003616 jmp LBB0_202 + //0x0000361b LBB0_763 + 0x48, 0x2b, 0x5d, 0xc8, //0x0000361b subq $-56(%rbp), %rbx + 0x48, 0xff, 0xc3, //0x0000361f incq %rbx + 0x4c, 0x8b, 0x75, 0xb8, //0x00003622 movq $-72(%rbp), %r14 + 0xe9, 0x21, 0xdd, 0xff, 0xff, //0x00003626 jmp LBB0_265 + //0x0000362b LBB0_764 + 0x4d, 0x85, 0xed, //0x0000362b testq %r13, %r13 + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x0000362e je LBB0_722 + 0x4c, 0x89, 0xd0, //0x00003634 movq %r10, %rax + 0x48, 0xf7, 0xd0, //0x00003637 notq %rax + 0x48, 0x01, 0xc8, //0x0000363a addq %rcx, %rax + 0x48, 0x83, 0xfb, 0xff, //0x0000363d cmpq $-1, %rbx + 0x4c, 0x0f, 0x44, 0xc0, //0x00003641 cmoveq %rax, %r8 + 0x48, 0x0f, 0x44, 0xd8, //0x00003645 cmoveq %rax, %rbx + 0x48, 0xff, 0xc1, //0x00003649 incq %rcx + 0x49, 0xff, 0xcd, //0x0000364c decq %r13 + 0x4d, 0x85, 0xed, //0x0000364f testq %r13, %r13 + 0x0f, 0x85, 0x0b, 0xfe, 0xff, 0xff, //0x00003652 jne LBB0_732 + //0x00003658 LBB0_722 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00003658 movq $-1, %rbx + 0xe9, 0xac, 0xff, 0xff, 0xff, //0x0000365f jmp LBB0_762 + //0x00003664 LBB0_767 + 0x4d, 0x85, 0xed, //0x00003664 testq %r13, %r13 + 0x0f, 0x84, 0x35, 0x00, 0x00, 0x00, //0x00003667 je LBB0_771 + 0x48, 0x8b, 0x45, 0xc8, //0x0000366d movq $-56(%rbp), %rax + 0x48, 0xf7, 0xd0, //0x00003671 notq %rax + 0x48, 0x01, 0xd8, //0x00003674 addq %rbx, %rax + 0x49, 0x83, 0xf9, 0xff, //0x00003677 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc0, //0x0000367b cmoveq %rax, %r8 + 0x4c, 0x0f, 0x44, 0xc8, //0x0000367f cmoveq %rax, %r9 + 0x48, 0xff, 0xc3, //0x00003683 incq %rbx + 0x49, 0xff, 0xcd, //0x00003686 decq %r13 + 0x4d, 0x85, 0xed, //0x00003689 testq %r13, %r13 + 0x0f, 0x85, 0xe1, 0xfe, 0xff, 0xff, //0x0000368c jne LBB0_751 + //0x00003692 LBB0_769 + 0x4c, 0x8b, 0x75, 0xb8, //0x00003692 movq $-72(%rbp), %r14 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00003696 movq $-1, %rbx + 0xe9, 0x6e, 0xff, 0xff, 0xff, //0x0000369d jmp LBB0_762 + //0x000036a2 LBB0_771 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000036a2 movq $-1, %rbx + 0xe9, 0x5e, 0xff, 0xff, 0xff, //0x000036a9 jmp LBB0_761 + 0x90, 0x90, //0x000036ae .p2align 2, 0x90 + // // .set L0_0_set_200, LBB0_200-LJTI0_0 + // // .set L0_0_set_129, LBB0_129-LJTI0_0 + // // .set L0_0_set_113, LBB0_113-LJTI0_0 + // // .set L0_0_set_124, LBB0_124-LJTI0_0 + // // .set L0_0_set_35, LBB0_35-LJTI0_0 + // // .set L0_0_set_130, LBB0_130-LJTI0_0 + // // .set L0_0_set_131, LBB0_131-LJTI0_0 + // // .set L0_0_set_138, LBB0_138-LJTI0_0 + // // .set L0_0_set_132, LBB0_132-LJTI0_0 + // // .set L0_0_set_125, LBB0_125-LJTI0_0 + // // .set L0_0_set_135, LBB0_135-LJTI0_0 + // // .set L0_0_set_140, LBB0_140-LJTI0_0 + // // .set L0_0_set_128, LBB0_128-LJTI0_0 + //0x000036b0 LJTI0_0 + 0x74, 0xd9, 0xff, 0xff, //0x000036b0 .long L0_0_set_200 + 0x90, 0xd4, 0xff, 0xff, //0x000036b4 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036b8 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036bc .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036c0 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036c4 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036c8 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036cc .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036d0 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036d4 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036d8 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036dc .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036e0 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036e4 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036e8 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036ec .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036f0 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036f4 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036f8 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000036fc .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003700 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003704 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003708 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x0000370c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003710 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003714 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003718 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x0000371c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003720 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003724 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003728 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x0000372c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003730 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003734 .long L0_0_set_129 + 0xe2, 0xd2, 0xff, 0xff, //0x00003738 .long L0_0_set_113 + 0x90, 0xd4, 0xff, 0xff, //0x0000373c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003740 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003744 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003748 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x0000374c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003750 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003754 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003758 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x0000375c .long L0_0_set_129 + 0x3b, 0xd4, 0xff, 0xff, //0x00003760 .long L0_0_set_124 + 0x60, 0xcd, 0xff, 0xff, //0x00003764 .long L0_0_set_35 + 0x90, 0xd4, 0xff, 0xff, //0x00003768 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x0000376c .long L0_0_set_129 + 0x60, 0xcd, 0xff, 0xff, //0x00003770 .long L0_0_set_35 + 0x60, 0xcd, 0xff, 0xff, //0x00003774 .long L0_0_set_35 + 0x60, 0xcd, 0xff, 0xff, //0x00003778 .long L0_0_set_35 + 0x60, 0xcd, 0xff, 0xff, //0x0000377c .long L0_0_set_35 + 0x60, 0xcd, 0xff, 0xff, //0x00003780 .long L0_0_set_35 + 0x60, 0xcd, 0xff, 0xff, //0x00003784 .long L0_0_set_35 + 0x60, 0xcd, 0xff, 0xff, //0x00003788 .long L0_0_set_35 + 0x60, 0xcd, 0xff, 0xff, //0x0000378c .long L0_0_set_35 + 0x60, 0xcd, 0xff, 0xff, //0x00003790 .long L0_0_set_35 + 0x60, 0xcd, 0xff, 0xff, //0x00003794 .long L0_0_set_35 + 0x9f, 0xd4, 0xff, 0xff, //0x00003798 .long L0_0_set_130 + 0x90, 0xd4, 0xff, 0xff, //0x0000379c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037a0 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037a4 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037a8 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037ac .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037b0 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037b4 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037b8 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037bc .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037c0 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037c4 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037c8 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037cc .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037d0 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037d4 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037d8 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037dc .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037e0 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037e4 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037e8 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037ec .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037f0 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037f4 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037f8 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x000037fc .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003800 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003804 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003808 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x0000380c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003810 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003814 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003818 .long L0_0_set_129 + 0xb1, 0xd4, 0xff, 0xff, //0x0000381c .long L0_0_set_131 + 0x90, 0xd4, 0xff, 0xff, //0x00003820 .long L0_0_set_129 + 0x1f, 0xd5, 0xff, 0xff, //0x00003824 .long L0_0_set_138 + 0x90, 0xd4, 0xff, 0xff, //0x00003828 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x0000382c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003830 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003834 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003838 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x0000383c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003840 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003844 .long L0_0_set_129 + 0xbd, 0xd4, 0xff, 0xff, //0x00003848 .long L0_0_set_132 + 0x90, 0xd4, 0xff, 0xff, //0x0000384c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003850 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003854 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003858 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x0000385c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003860 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003864 .long L0_0_set_129 + 0x4d, 0xd4, 0xff, 0xff, //0x00003868 .long L0_0_set_125 + 0x90, 0xd4, 0xff, 0xff, //0x0000386c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003870 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003874 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003878 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x0000387c .long L0_0_set_129 + 0xee, 0xd4, 0xff, 0xff, //0x00003880 .long L0_0_set_135 + 0x90, 0xd4, 0xff, 0xff, //0x00003884 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003888 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x0000388c .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003890 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003894 .long L0_0_set_129 + 0x90, 0xd4, 0xff, 0xff, //0x00003898 .long L0_0_set_129 + 0x42, 0xd5, 0xff, 0xff, //0x0000389c .long L0_0_set_140 + 0x90, 0xd4, 0xff, 0xff, //0x000038a0 .long L0_0_set_129 + 0x7e, 0xd4, 0xff, 0xff, //0x000038a4 .long L0_0_set_128 + // // .set L0_1_set_94, LBB0_94-LJTI0_1 + // // .set L0_1_set_142, LBB0_142-LJTI0_1 + // // .set L0_1_set_89, LBB0_89-LJTI0_1 + // // .set L0_1_set_91, LBB0_91-LJTI0_1 + // // .set L0_1_set_96, LBB0_96-LJTI0_1 + //0x000038a8 LJTI0_1 + 0xd2, 0xcf, 0xff, 0xff, //0x000038a8 .long L0_1_set_94 + 0x59, 0xd3, 0xff, 0xff, //0x000038ac .long L0_1_set_142 + 0xd2, 0xcf, 0xff, 0xff, //0x000038b0 .long L0_1_set_94 + 0x86, 0xcf, 0xff, 0xff, //0x000038b4 .long L0_1_set_89 + 0x59, 0xd3, 0xff, 0xff, //0x000038b8 .long L0_1_set_142 + 0xa8, 0xcf, 0xff, 0xff, //0x000038bc .long L0_1_set_91 + 0xa8, 0xcf, 0xff, 0xff, //0x000038c0 .long L0_1_set_91 + 0xa8, 0xcf, 0xff, 0xff, //0x000038c4 .long L0_1_set_91 + 0xa8, 0xcf, 0xff, 0xff, //0x000038c8 .long L0_1_set_91 + 0xa8, 0xcf, 0xff, 0xff, //0x000038cc .long L0_1_set_91 + 0xa8, 0xcf, 0xff, 0xff, //0x000038d0 .long L0_1_set_91 + 0xa8, 0xcf, 0xff, 0xff, //0x000038d4 .long L0_1_set_91 + 0xa8, 0xcf, 0xff, 0xff, //0x000038d8 .long L0_1_set_91 + 0xa8, 0xcf, 0xff, 0xff, //0x000038dc .long L0_1_set_91 + 0xa8, 0xcf, 0xff, 0xff, //0x000038e0 .long L0_1_set_91 + 0x59, 0xd3, 0xff, 0xff, //0x000038e4 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x000038e8 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x000038ec .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x000038f0 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x000038f4 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x000038f8 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x000038fc .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003900 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003904 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003908 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x0000390c .long L0_1_set_142 + 0xed, 0xcf, 0xff, 0xff, //0x00003910 .long L0_1_set_96 + 0x59, 0xd3, 0xff, 0xff, //0x00003914 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003918 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x0000391c .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003920 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003924 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003928 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x0000392c .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003930 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003934 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003938 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x0000393c .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003940 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003944 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003948 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x0000394c .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003950 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003954 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003958 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x0000395c .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003960 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003964 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003968 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x0000396c .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003970 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003974 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003978 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x0000397c .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003980 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003984 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x00003988 .long L0_1_set_142 + 0x59, 0xd3, 0xff, 0xff, //0x0000398c .long L0_1_set_142 + 0xed, 0xcf, 0xff, 0xff, //0x00003990 .long L0_1_set_96 + //0x00003994 .p2align 2, 0x00 + //0x00003994 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00003994 .long 2 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003998 .p2align 4, 0x00 + //0x000039a0 _P10_TAB + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, //0x000039a0 .quad 4607182418800017408 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, //0x000039a8 .quad 4621819117588971520 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, //0x000039b0 .quad 4636737291354636288 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8f, 0x40, //0x000039b8 .quad 4652007308841189376 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xc3, 0x40, //0x000039c0 .quad 4666723172467343360 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0xf8, 0x40, //0x000039c8 .quad 4681608360884174848 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x84, 0x2e, 0x41, //0x000039d0 .quad 4696837146684686336 + 0x00, 0x00, 0x00, 0x00, 0xd0, 0x12, 0x63, 0x41, //0x000039d8 .quad 4711630319722168320 + 0x00, 0x00, 0x00, 0x00, 0x84, 0xd7, 0x97, 0x41, //0x000039e0 .quad 4726483295884279808 + 0x00, 0x00, 0x00, 0x00, 0x65, 0xcd, 0xcd, 0x41, //0x000039e8 .quad 4741671816366391296 + 0x00, 0x00, 0x00, 0x20, 0x5f, 0xa0, 0x02, 0x42, //0x000039f0 .quad 4756540486875873280 + 0x00, 0x00, 0x00, 0xe8, 0x76, 0x48, 0x37, 0x42, //0x000039f8 .quad 4771362005757984768 + 0x00, 0x00, 0x00, 0xa2, 0x94, 0x1a, 0x6d, 0x42, //0x00003a00 .quad 4786511204640096256 + 0x00, 0x00, 0x40, 0xe5, 0x9c, 0x30, 0xa2, 0x42, //0x00003a08 .quad 4801453603149578240 + 0x00, 0x00, 0x90, 0x1e, 0xc4, 0xbc, 0xd6, 0x42, //0x00003a10 .quad 4816244402031689728 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0x43, //0x00003a18 .quad 4831355200913801216 + 0x00, 0x80, 0xe0, 0x37, 0x79, 0xc3, 0x41, 0x43, //0x00003a20 .quad 4846369599423283200 + 0x00, 0xa0, 0xd8, 0x85, 0x57, 0x34, 0x76, 0x43, //0x00003a28 .quad 4861130398305394688 + 0x00, 0xc8, 0x4e, 0x67, 0x6d, 0xc1, 0xab, 0x43, //0x00003a30 .quad 4876203697187506176 + 0x00, 0x3d, 0x91, 0x60, 0xe4, 0x58, 0xe1, 0x43, //0x00003a38 .quad 4891288408196988160 + 0x40, 0x8c, 0xb5, 0x78, 0x1d, 0xaf, 0x15, 0x44, //0x00003a40 .quad 4906019910204099648 + 0x50, 0xef, 0xe2, 0xd6, 0xe4, 0x1a, 0x4b, 0x44, //0x00003a48 .quad 4921056587992461136 + 0x92, 0xd5, 0x4d, 0x06, 0xcf, 0xf0, 0x80, 0x44, //0x00003a50 .quad 4936209963552724370 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a58 .p2align 4, 0x00 + //0x00003a60 _POW10_M128_TAB + 0x53, 0xe4, 0x60, 0xcd, 0x69, 0xc8, 0x32, 0x17, //0x00003a60 .quad 1671618768450675795 + 0x88, 0x02, 0x1c, 0x08, 0xa0, 0xd5, 0x8f, 0xfa, //0x00003a68 .quad -391859759250406776 + 0xb4, 0x8e, 0x5c, 0x20, 0x42, 0xbd, 0x7f, 0x0e, //0x00003a70 .quad 1044761730281672372 + 0x95, 0x81, 0x11, 0x05, 0x84, 0xe5, 0x99, 0x9c, //0x00003a78 .quad -7162441377172586091 + 0x61, 0xb2, 0x73, 0xa8, 0x92, 0xac, 0x1f, 0x52, //0x00003a80 .quad 5917638181279478369 + 0xfa, 0xe1, 0x55, 0x06, 0xe5, 0x5e, 0xc0, 0xc3, //0x00003a88 .quad -4341365703038344710 + 0xf9, 0x9e, 0x90, 0x52, 0xb7, 0x97, 0xa7, 0xe6, //0x00003a90 .quad -1826324310255427847 + 0x78, 0x5a, 0xeb, 0x47, 0x9e, 0x76, 0xb0, 0xf4, //0x00003a98 .quad -815021110370542984 + 0x5c, 0x63, 0x9a, 0x93, 0xd2, 0xbe, 0x28, 0x90, //0x00003aa0 .quad -8058981721550724260 + 0x8b, 0x18, 0xf3, 0xec, 0x22, 0x4a, 0xee, 0x98, //0x00003aa8 .quad -7426917221622671221 + 0x33, 0xfc, 0x80, 0x38, 0x87, 0xee, 0x32, 0x74, //0x00003ab0 .quad 8373016921771146291 + 0xae, 0xde, 0x2f, 0xa8, 0xab, 0xdc, 0x29, 0xbf, //0x00003ab8 .quad -4671960508600951122 + 0x3f, 0x3b, 0xa1, 0x06, 0x29, 0xaa, 0x3f, 0x11, //0x00003ac0 .quad 1242899115359157055 + 0x5a, 0xd6, 0x3b, 0x92, 0xd6, 0x53, 0xf4, 0xee, //0x00003ac8 .quad -1228264617323800998 + 0x07, 0xc5, 0x24, 0xa4, 0x59, 0xca, 0xc7, 0x4a, //0x00003ad0 .quad 5388497965526861063 + 0xf8, 0x65, 0x65, 0x1b, 0x66, 0xb4, 0x58, 0x95, //0x00003ad8 .quad -7685194413468457480 + 0x49, 0xf6, 0x2d, 0x0d, 0xf0, 0xbc, 0x79, 0x5d, //0x00003ae0 .quad 6735622456908576329 + 0x76, 0xbf, 0x3e, 0xa2, 0x7f, 0xe1, 0xae, 0xba, //0x00003ae8 .quad -4994806998408183946 + 0xdc, 0x73, 0x79, 0x10, 0x2c, 0x2c, 0xd8, 0xf4, //0x00003af0 .quad -803843965719055396 + 0x53, 0x6f, 0xce, 0x8a, 0xdf, 0x99, 0x5a, 0xe9, //0x00003af8 .quad -1631822729582842029 + 0x69, 0xe8, 0x4b, 0x8a, 0x9b, 0x1b, 0x07, 0x79, //0x00003b00 .quad 8720969558280366185 + 0x94, 0x05, 0xc1, 0xb6, 0x2b, 0xa0, 0xd8, 0x91, //0x00003b08 .quad -7937418233630358124 + 0x84, 0xe2, 0xde, 0x6c, 0x82, 0xe2, 0x48, 0x97, //0x00003b10 .quad -7545532125859093884 + 0xf9, 0x46, 0x71, 0xa4, 0x36, 0xc8, 0x4e, 0xb6, //0x00003b18 .quad -5310086773610559751 + 0x25, 0x9b, 0x16, 0x08, 0x23, 0x1b, 0x1b, 0xfd, //0x00003b20 .quad -208543120469091547 + 0xb7, 0x98, 0x8d, 0x4d, 0x44, 0x7a, 0xe2, 0xe3, //0x00003b28 .quad -2025922448585811785 + 0xf7, 0x20, 0x0e, 0xe5, 0xf5, 0xf0, 0x30, 0xfe, //0x00003b30 .quad -130339450293182217 + 0x72, 0x7f, 0x78, 0xb0, 0x6a, 0x8c, 0x6d, 0x8e, //0x00003b38 .quad -8183730558007214222 + 0x35, 0xa9, 0x51, 0x5e, 0x33, 0x2d, 0xbd, 0xbd, //0x00003b40 .quad -4774610331293865675 + 0x4f, 0x9f, 0x96, 0x5c, 0x85, 0xef, 0x08, 0xb2, //0x00003b48 .quad -5617977179081629873 + 0x82, 0x13, 0xe6, 0x35, 0x80, 0x78, 0x2c, 0xad, //0x00003b50 .quad -5968262914117332094 + 0x23, 0x47, 0xbc, 0xb3, 0x66, 0x2b, 0x8b, 0xde, //0x00003b58 .quad -2410785455424649437 + 0x31, 0xcc, 0xaf, 0x21, 0x50, 0xcb, 0x3b, 0x4c, //0x00003b60 .quad 5493207715531443249 + 0x76, 0xac, 0x55, 0x30, 0x20, 0xfb, 0x16, 0x8b, //0x00003b68 .quad -8424269937281487754 + 0x3d, 0xbf, 0x1b, 0x2a, 0x24, 0xbe, 0x4a, 0xdf, //0x00003b70 .quad -2356862392440471747 + 0x93, 0x17, 0x6b, 0x3c, 0xe8, 0xb9, 0xdc, 0xad, //0x00003b78 .quad -5918651403174471789 + 0x0d, 0xaf, 0xa2, 0x34, 0xad, 0x6d, 0x1d, 0xd7, //0x00003b80 .quad -2946077990550589683 + 0x78, 0xdd, 0x85, 0x4b, 0x62, 0xe8, 0x53, 0xd9, //0x00003b88 .quad -2786628235540701832 + 0x68, 0xad, 0xe5, 0x40, 0x8c, 0x64, 0x72, 0x86, //0x00003b90 .quad -8758827771735200408 + 0x6b, 0xaa, 0x33, 0x6f, 0x3d, 0x71, 0xd4, 0x87, //0x00003b98 .quad -8659171674854020501 + 0xc2, 0x18, 0x1f, 0x51, 0xaf, 0xfd, 0x0e, 0x68, //0x00003ba0 .quad 7498209359040551106 + 0x06, 0x95, 0x00, 0xcb, 0x8c, 0x8d, 0xc9, 0xa9, //0x00003ba8 .quad -6212278575140137722 + 0xf2, 0xde, 0x66, 0x25, 0x1b, 0xbd, 0x12, 0x02, //0x00003bb0 .quad 149389661945913074 + 0x48, 0xba, 0xc0, 0xfd, 0xef, 0xf0, 0x3b, 0xd4, //0x00003bb8 .quad -3153662200497784248 + 0x57, 0x4b, 0x60, 0xf7, 0x30, 0xb6, 0x4b, 0x01, //0x00003bc0 .quad 93368538716195671 + 0x6d, 0x74, 0x98, 0xfe, 0x95, 0x76, 0xa5, 0x84, //0x00003bc8 .quad -8888567902952197011 + 0x2d, 0x5e, 0x38, 0x35, 0xbd, 0xa3, 0x9e, 0x41, //0x00003bd0 .quad 4728396691822632493 + 0x88, 0x91, 0x3e, 0x7e, 0x3b, 0xd4, 0xce, 0xa5, //0x00003bd8 .quad -6499023860262858360 + 0xb9, 0x75, 0x86, 0x82, 0xac, 0x4c, 0x06, 0x52, //0x00003be0 .quad 5910495864778290617 + 0xea, 0x35, 0xce, 0x5d, 0x4a, 0x89, 0x42, 0xcf, //0x00003be8 .quad -3512093806901185046 + 0x93, 0x09, 0x94, 0xd1, 0xeb, 0xef, 0x43, 0x73, //0x00003bf0 .quad 8305745933913819539 + 0xb2, 0xe1, 0xa0, 0x7a, 0xce, 0x95, 0x89, 0x81, //0x00003bf8 .quad -9112587656954322510 + 0xf8, 0x0b, 0xf9, 0xc5, 0xe6, 0xeb, 0x14, 0x10, //0x00003c00 .quad 1158810380537498616 + 0x1f, 0x1a, 0x49, 0x19, 0x42, 0xfb, 0xeb, 0xa1, //0x00003c08 .quad -6779048552765515233 + 0xf6, 0x4e, 0x77, 0x77, 0xe0, 0x26, 0x1a, 0xd4, //0x00003c10 .quad -3163173042755514634 + 0xa6, 0x60, 0x9b, 0x9f, 0x12, 0xfa, 0x66, 0xca, //0x00003c18 .quad -3862124672529506138 + 0xb4, 0x22, 0x55, 0x95, 0x98, 0xb0, 0x20, 0x89, //0x00003c20 .quad -8565652321871781196 + 0xd0, 0x38, 0x82, 0x47, 0x97, 0xb8, 0x00, 0xfd, //0x00003c28 .quad -215969822234494768 + 0xb0, 0x35, 0x55, 0x5d, 0x5f, 0x6e, 0xb4, 0x55, //0x00003c30 .quad 6175682344898606512 + 0x82, 0x63, 0xb1, 0x8c, 0x5e, 0x73, 0x20, 0x9e, //0x00003c38 .quad -7052510166537641086 + 0x1d, 0x83, 0xaa, 0x34, 0xf7, 0x89, 0x21, 0xeb, //0x00003c40 .quad -1503769105731517667 + 0x62, 0xbc, 0xdd, 0x2f, 0x36, 0x90, 0xa8, 0xc5, //0x00003c48 .quad -4203951689744663454 + 0xe4, 0x23, 0xd5, 0x01, 0x75, 0xec, 0xe9, 0xa5, //0x00003c50 .quad -6491397400591784988 + 0x7b, 0x2b, 0xd5, 0xbb, 0x43, 0xb4, 0x12, 0xf7, //0x00003c58 .quad -643253593753441413 + 0x6e, 0x36, 0x25, 0x21, 0xc9, 0x33, 0xb2, 0x47, //0x00003c60 .quad 5166248661484910190 + 0x2d, 0x3b, 0x65, 0x55, 0xaa, 0xb0, 0x6b, 0x9a, //0x00003c68 .quad -7319562523736982739 + 0x0a, 0x84, 0x6e, 0x69, 0xbb, 0xc0, 0x9e, 0x99, //0x00003c70 .quad -7377247228426025974 + 0xf8, 0x89, 0xbe, 0xea, 0xd4, 0x9c, 0x06, 0xc1, //0x00003c78 .quad -4537767136243840520 + 0x0d, 0x25, 0xca, 0x43, 0xea, 0x70, 0x06, 0xc0, //0x00003c80 .quad -4609873017105144563 + 0x76, 0x2c, 0x6e, 0x25, 0x0a, 0x44, 0x48, 0xf1, //0x00003c88 .quad -1060522901877412746 + 0x28, 0x57, 0x5e, 0x6a, 0x92, 0x06, 0x04, 0x38, //0x00003c90 .quad 4036358391950366504 + 0xca, 0xdb, 0x64, 0x57, 0x86, 0x2a, 0xcd, 0x96, //0x00003c98 .quad -7580355841314464822 + 0xf2, 0xec, 0xf5, 0x04, 0x37, 0x08, 0x05, 0xc6, //0x00003ca0 .quad -4177924046916817678 + 0xbc, 0x12, 0x3e, 0xed, 0x27, 0x75, 0x80, 0xbc, //0x00003ca8 .quad -4863758783215693124 + 0x2e, 0x68, 0x33, 0xc6, 0x44, 0x4a, 0x86, 0xf7, //0x00003cb0 .quad -610719040218634194 + 0x6b, 0x97, 0x8d, 0xe8, 0x71, 0x92, 0xa0, 0xeb, //0x00003cb8 .quad -1468012460592228501 + 0x1d, 0x21, 0xe0, 0xfb, 0x6a, 0xee, 0xb3, 0x7a, //0x00003cc0 .quad 8841672636718129437 + 0xa3, 0x7e, 0x58, 0x31, 0x87, 0x5b, 0x44, 0x93, //0x00003cc8 .quad -7835036815511224669 + 0x64, 0x29, 0xd8, 0xba, 0x05, 0xea, 0x60, 0x59, //0x00003cd0 .quad 6440404777470273892 + 0x4c, 0x9e, 0xae, 0xfd, 0x68, 0x72, 0x15, 0xb8, //0x00003cd8 .quad -5182110000961642932 + 0xbd, 0x33, 0x8e, 0x29, 0x87, 0x24, 0xb9, 0x6f, //0x00003ce0 .quad 8050505971837842365 + 0xdf, 0x45, 0x1a, 0x3d, 0x03, 0xcf, 0x1a, 0xe6, //0x00003ce8 .quad -1865951482774665761 + 0x56, 0xe0, 0xf8, 0x79, 0xd4, 0xb6, 0xd3, 0xa5, //0x00003cf0 .quad -6497648813669818282 + 0xab, 0x6b, 0x30, 0x06, 0x62, 0xc1, 0xd0, 0x8f, //0x00003cf8 .quad -8083748704375247957 + 0x6c, 0x18, 0x77, 0x98, 0x89, 0xa4, 0x48, 0x8f, //0x00003d00 .quad -8122061017087272852 + 0x96, 0x86, 0xbc, 0x87, 0xba, 0xf1, 0xc4, 0xb3, //0x00003d08 .quad -5492999862041672042 + 0x87, 0xde, 0x94, 0xfe, 0xab, 0xcd, 0x1a, 0x33, //0x00003d10 .quad 3682481783923072647 + 0x3c, 0xa8, 0xab, 0x29, 0x29, 0x2e, 0xb6, 0xe0, //0x00003d18 .quad -2254563809124702148 + 0x14, 0x0b, 0x1d, 0x7f, 0x8b, 0xc0, 0xf0, 0x9f, //0x00003d20 .quad -6921820921902855404 + 0x25, 0x49, 0x0b, 0xba, 0xd9, 0xdc, 0x71, 0x8c, //0x00003d28 .quad -8326631408344020699 + 0xd9, 0x4d, 0xe4, 0x5e, 0xae, 0xf0, 0xec, 0x07, //0x00003d30 .quad 571095884476206553 + 0x6f, 0x1b, 0x8e, 0x28, 0x10, 0x54, 0x8e, 0xaf, //0x00003d38 .quad -5796603242002637969 + 0x50, 0x61, 0x9d, 0xf6, 0xd9, 0x2c, 0xe8, 0xc9, //0x00003d40 .quad -3897816162832129712 + 0x4a, 0xa2, 0xb1, 0x32, 0x14, 0xe9, 0x71, 0xdb, //0x00003d48 .quad -2634068034075909558 + 0xd2, 0x5c, 0x22, 0x3a, 0x08, 0x1c, 0x31, 0xbe, //0x00003d50 .quad -4741978110983775022 + 0x6e, 0x05, 0xaf, 0x9f, 0xac, 0x31, 0x27, 0x89, //0x00003d58 .quad -8563821548938525330 + 0x06, 0xf4, 0xaa, 0x48, 0x0a, 0x63, 0xbd, 0x6d, //0x00003d60 .quad 7907585416552444934 + 0xca, 0xc6, 0x9a, 0xc7, 0x17, 0xfe, 0x70, 0xab, //0x00003d68 .quad -6093090917745768758 + 0x08, 0xb1, 0xd5, 0xda, 0xcc, 0xbb, 0x2c, 0x09, //0x00003d70 .quad 661109733835780360 + 0x7d, 0x78, 0x81, 0xb9, 0x9d, 0x3d, 0x4d, 0xd6, //0x00003d78 .quad -3004677628754823043 + 0xa5, 0x8e, 0xc5, 0x08, 0x60, 0xf5, 0xbb, 0x25, //0x00003d80 .quad 2719036592861056677 + 0x4e, 0xeb, 0xf0, 0x93, 0x82, 0x46, 0xf0, 0x85, //0x00003d88 .quad -8795452545612846258 + 0x4e, 0xf2, 0xf6, 0x0a, 0xb8, 0xf2, 0x2a, 0xaf, //0x00003d90 .quad -5824576295778454962 + 0x21, 0x26, 0xed, 0x38, 0x23, 0x58, 0x6c, 0xa7, //0x00003d98 .quad -6382629663588669919 + 0xe1, 0xae, 0xb4, 0x0d, 0x66, 0xaf, 0xf5, 0x1a, //0x00003da0 .quad 1942651667131707105 + 0xaa, 0x6f, 0x28, 0x07, 0x2c, 0x6e, 0x47, 0xd1, //0x00003da8 .quad -3366601061058449494 + 0x4d, 0xed, 0x90, 0xc8, 0x9f, 0x8d, 0xd9, 0x50, //0x00003db0 .quad 5825843310384704845 + 0xca, 0x45, 0x79, 0x84, 0xdb, 0xa4, 0xcc, 0x82, //0x00003db8 .quad -9021654690802612790 + 0xa0, 0x28, 0xb5, 0xba, 0x07, 0xf1, 0x0f, 0xe5, //0x00003dc0 .quad -1941067898873894752 + 0x3c, 0x97, 0x97, 0x65, 0x12, 0xce, 0x7f, 0xa3, //0x00003dc8 .quad -6665382345075878084 + 0xc8, 0x72, 0x62, 0xa9, 0x49, 0xed, 0x53, 0x1e, //0x00003dd0 .quad 2185351144835019464 + 0x0c, 0x7d, 0xfd, 0xfe, 0x96, 0xc1, 0x5f, 0xcc, //0x00003dd8 .quad -3720041912917459700 + 0x7a, 0x0f, 0xbb, 0x13, 0x9c, 0xe8, 0xe8, 0x25, //0x00003de0 .quad 2731688931043774330 + 0x4f, 0xdc, 0xbc, 0xbe, 0xfc, 0xb1, 0x77, 0xff, //0x00003de8 .quad -38366372719436721 + 0xac, 0xe9, 0x54, 0x8c, 0x61, 0x91, 0xb1, 0x77, //0x00003df0 .quad 8624834609543440812 + 0xb1, 0x09, 0x36, 0xf7, 0x3d, 0xcf, 0xaa, 0x9f, //0x00003df8 .quad -6941508010590729807 + 0x17, 0x24, 0x6a, 0xef, 0xb9, 0xf5, 0x9d, 0xd5, //0x00003e00 .quad -3054014793352862697 + 0x1d, 0x8c, 0x03, 0x75, 0x0d, 0x83, 0x95, 0xc7, //0x00003e08 .quad -4065198994811024355 + 0x1d, 0xad, 0x44, 0x6b, 0x28, 0x73, 0x05, 0x4b, //0x00003e10 .quad 5405853545163697437 + 0x25, 0x6f, 0x44, 0xd2, 0xd0, 0xe3, 0x7a, 0xf9, //0x00003e18 .quad -469812725086392539 + 0x32, 0xec, 0x0a, 0x43, 0xf9, 0x67, 0xe3, 0x4e, //0x00003e20 .quad 5684501474941004850 + 0x77, 0xc5, 0x6a, 0x83, 0x62, 0xce, 0xec, 0x9b, //0x00003e28 .quad -7211161980820077193 + 0x3f, 0xa7, 0xcd, 0x93, 0xf7, 0x41, 0x9c, 0x22, //0x00003e30 .quad 2493940825248868159 + 0xd5, 0x76, 0x45, 0x24, 0xfb, 0x01, 0xe8, 0xc2, //0x00003e38 .quad -4402266457597708587 + 0x0f, 0x11, 0xc1, 0x78, 0x75, 0x52, 0x43, 0x6b, //0x00003e40 .quad 7729112049988473103 + 0x8a, 0xd4, 0x56, 0xed, 0x79, 0x02, 0xa2, 0xf3, //0x00003e48 .quad -891147053569747830 + 0xa9, 0xaa, 0x78, 0x6b, 0x89, 0x13, 0x0a, 0x83, //0x00003e50 .quad -9004363024039368023 + 0xd6, 0x44, 0x56, 0x34, 0x8c, 0x41, 0x45, 0x98, //0x00003e58 .quad -7474495936122174250 + 0x53, 0xd5, 0x56, 0xc6, 0x6b, 0x98, 0xcc, 0x23, //0x00003e60 .quad 2579604275232953683 + 0x0c, 0xd6, 0x6b, 0x41, 0xef, 0x91, 0x56, 0xbe, //0x00003e68 .quad -4731433901725329908 + 0xa8, 0x8a, 0xec, 0xb7, 0x86, 0xbe, 0xbf, 0x2c, //0x00003e70 .quad 3224505344041192104 + 0x8f, 0xcb, 0xc6, 0x11, 0x6b, 0x36, 0xec, 0xed, //0x00003e78 .quad -1302606358729274481 + 0xa9, 0xd6, 0xf3, 0x32, 0x14, 0xd7, 0xf7, 0x7b, //0x00003e80 .quad 8932844867666826921 + 0x39, 0x3f, 0x1c, 0xeb, 0x02, 0xa2, 0xb3, 0x94, //0x00003e88 .quad -7731658001846878407 + 0x53, 0xcc, 0xb0, 0x3f, 0xd9, 0xcc, 0xf5, 0xda, //0x00003e90 .quad -2669001970698630061 + 0x07, 0x4f, 0xe3, 0xa5, 0x83, 0x8a, 0xe0, 0xb9, //0x00003e98 .quad -5052886483881210105 + 0x68, 0xff, 0x9c, 0x8f, 0x0f, 0x40, 0xb3, 0xd1, //0x00003ea0 .quad -3336252463373287576 + 0xc9, 0x22, 0x5c, 0x8f, 0x24, 0xad, 0x58, 0xe8, //0x00003ea8 .quad -1704422086424124727 + 0xa1, 0x1f, 0xc2, 0xb9, 0x09, 0x08, 0x10, 0x23, //0x00003eb0 .quad 2526528228819083169 + 0xbe, 0x95, 0x99, 0xd9, 0x36, 0x6c, 0x37, 0x91, //0x00003eb8 .quad -7982792831656159810 + 0x8a, 0xa7, 0x32, 0x28, 0x0c, 0x0a, 0xd4, 0xab, //0x00003ec0 .quad -6065211750830921846 + 0x2d, 0xfb, 0xff, 0x8f, 0x44, 0x47, 0x85, 0xb5, //0x00003ec8 .quad -5366805021142811859 + 0x6c, 0x51, 0x3f, 0x32, 0x8f, 0x0c, 0xc9, 0x16, //0x00003ed0 .quad 1641857348316123500 + 0xf9, 0xf9, 0xff, 0xb3, 0x15, 0x99, 0xe6, 0xe2, //0x00003ed8 .quad -2096820258001126919 + 0xe3, 0x92, 0x67, 0x7f, 0xd9, 0xa7, 0x3d, 0xae, //0x00003ee0 .quad -5891368184943504669 + 0x3b, 0xfc, 0x7f, 0x90, 0xad, 0x1f, 0xd0, 0x8d, //0x00003ee8 .quad -8228041688891786181 + 0x9c, 0x77, 0x41, 0xdf, 0xcf, 0x11, 0xcd, 0x99, //0x00003ef0 .quad -7364210231179380836 + 0x4a, 0xfb, 0x9f, 0xf4, 0x98, 0x27, 0x44, 0xb1, //0x00003ef8 .quad -5673366092687344822 + 0x83, 0xd5, 0x11, 0xd7, 0x43, 0x56, 0x40, 0x40, //0x00003f00 .quad 4629795266307937667 + 0x1d, 0xfa, 0xc7, 0x31, 0x7f, 0x31, 0x95, 0xdd, //0x00003f08 .quad -2480021597431793123 + 0x72, 0x25, 0x6b, 0x66, 0xea, 0x35, 0x28, 0x48, //0x00003f10 .quad 5199465050656154994 + 0x52, 0xfc, 0x1c, 0x7f, 0xef, 0x3e, 0x7d, 0x8a, //0x00003f18 .quad -8467542526035952558 + 0xcf, 0xee, 0x05, 0x00, 0x65, 0x43, 0x32, 0xda, //0x00003f20 .quad -2724040723534582065 + 0x66, 0x3b, 0xe4, 0x5e, 0xab, 0x8e, 0x1c, 0xad, //0x00003f28 .quad -5972742139117552794 + 0x82, 0x6a, 0x07, 0x40, 0x3e, 0xd4, 0xbe, 0x90, //0x00003f30 .quad -8016736922845615486 + 0x40, 0x4a, 0x9d, 0x36, 0x56, 0xb2, 0x63, 0xd8, //0x00003f38 .quad -2854241655469553088 + 0x91, 0xa2, 0x04, 0xe8, 0xa6, 0x44, 0x77, 0x5a, //0x00003f40 .quad 6518754469289960081 + 0x68, 0x4e, 0x22, 0xe2, 0x75, 0x4f, 0x3e, 0x87, //0x00003f48 .quad -8701430062309552536 + 0x36, 0xcb, 0x05, 0xa2, 0xd0, 0x15, 0x15, 0x71, //0x00003f50 .quad 8148443086612450102 + 0x02, 0xe2, 0xaa, 0x5a, 0x53, 0xe3, 0x0d, 0xa9, //0x00003f58 .quad -6265101559459552766 + 0x03, 0x3e, 0x87, 0xca, 0x44, 0x5b, 0x5a, 0x0d, //0x00003f60 .quad 962181821410786819 + 0x83, 0x9a, 0x55, 0x31, 0x28, 0x5c, 0x51, 0xd3, //0x00003f68 .quad -3219690930897053053 + 0xc2, 0x86, 0x94, 0xfe, 0x0a, 0x79, 0x58, 0xe8, //0x00003f70 .quad -1704479370831952190 + 0x91, 0x80, 0xd5, 0x1e, 0x99, 0xd9, 0x12, 0x84, //0x00003f78 .quad -8929835859451740015 + 0x72, 0xa8, 0x39, 0xbe, 0x4d, 0x97, 0x6e, 0x62, //0x00003f80 .quad 7092772823314835570 + 0xb6, 0xe0, 0x8a, 0x66, 0xff, 0x8f, 0x17, 0xa5, //0x00003f88 .quad -6550608805887287114 + 0x8f, 0x12, 0xc8, 0x2d, 0x21, 0x3d, 0x0a, 0xfb, //0x00003f90 .quad -357406007711231345 + 0xe3, 0x98, 0x2d, 0x40, 0xff, 0x73, 0x5d, 0xce, //0x00003f98 .quad -3576574988931720989 + 0x99, 0x0b, 0x9d, 0xbc, 0x34, 0x66, 0xe6, 0x7c, //0x00003fa0 .quad 8999993282035256217 + 0x8e, 0x7f, 0x1c, 0x88, 0x7f, 0x68, 0xfa, 0x80, //0x00003fa8 .quad -9152888395723407474 + 0x80, 0x4e, 0xc4, 0xeb, 0xc1, 0xff, 0x1f, 0x1c, //0x00003fb0 .quad 2026619565689294464 + 0x72, 0x9f, 0x23, 0x6a, 0x9f, 0x02, 0x39, 0xa1, //0x00003fb8 .quad -6829424476226871438 + 0x20, 0x62, 0xb5, 0x66, 0xb2, 0xff, 0x27, 0xa3, //0x00003fc0 .quad -6690097579743157728 + 0x4e, 0x87, 0xac, 0x44, 0x47, 0x43, 0x87, 0xc9, //0x00003fc8 .quad -3925094576856201394 + 0xa8, 0xba, 0x62, 0x00, 0x9f, 0xff, 0xf1, 0x4b, //0x00003fd0 .quad 5472436080603216552 + 0x22, 0xa9, 0xd7, 0x15, 0x19, 0x14, 0xe9, 0xfb, //0x00003fd8 .quad -294682202642863838 + 0xa9, 0xb4, 0x3d, 0x60, 0xc3, 0x3f, 0x77, 0x6f, //0x00003fe0 .quad 8031958568804398249 + 0xb5, 0xc9, 0xa6, 0xad, 0x8f, 0xac, 0x71, 0x9d, //0x00003fe8 .quad -7101705404292871755 + 0xd3, 0x21, 0x4d, 0x38, 0xb4, 0x0f, 0x55, 0xcb, //0x00003ff0 .quad -3795109844276665901 + 0x22, 0x7c, 0x10, 0x99, 0xb3, 0x17, 0xce, 0xc4, //0x00003ff8 .quad -4265445736938701790 + 0x48, 0x6a, 0x60, 0x46, 0xa1, 0x53, 0x2a, 0x7e, //0x00004000 .quad 9091170749936331336 + 0x2b, 0x9b, 0x54, 0x7f, 0xa0, 0x9d, 0x01, 0xf6, //0x00004008 .quad -720121152745989333 + 0x6d, 0x42, 0xfc, 0xcb, 0x44, 0x74, 0xda, 0x2e, //0x00004010 .quad 3376138709496513133 + 0xfb, 0xe0, 0x94, 0x4f, 0x84, 0x02, 0xc1, 0x99, //0x00004018 .quad -7367604748107325189 + 0x08, 0x53, 0xfb, 0xfe, 0x55, 0x11, 0x91, 0xfa, //0x00004020 .quad -391512631556746488 + 0x39, 0x19, 0x7a, 0x63, 0x25, 0x43, 0x31, 0xc0, //0x00004028 .quad -4597819916706768583 + 0xca, 0x27, 0xba, 0x7e, 0xab, 0x55, 0x35, 0x79, //0x00004030 .quad 8733981247408842698 + 0x88, 0x9f, 0x58, 0xbc, 0xee, 0x93, 0x3d, 0xf0, //0x00004038 .quad -1135588877456072824 + 0xde, 0x58, 0x34, 0x2f, 0x8b, 0x55, 0xc1, 0x4b, //0x00004040 .quad 5458738279630526686 + 0xb5, 0x63, 0xb7, 0x35, 0x75, 0x7c, 0x26, 0x96, //0x00004048 .quad -7627272076051127371 + 0x16, 0x6f, 0x01, 0xfb, 0xed, 0xaa, 0xb1, 0x9e, //0x00004050 .quad -7011635205744005354 + 0xa2, 0x3c, 0x25, 0x83, 0x92, 0x1b, 0xb0, 0xbb, //0x00004058 .quad -4922404076636521310 + 0xdc, 0xca, 0xc1, 0x79, 0xa9, 0x15, 0x5e, 0x46, //0x00004060 .quad 5070514048102157020 + 0xcb, 0x8b, 0xee, 0x23, 0x77, 0x22, 0x9c, 0xea, //0x00004068 .quad -1541319077368263733 + 0xc9, 0x1e, 0x19, 0xec, 0x89, 0xcd, 0xfa, 0x0b, //0x00004070 .quad 863228270850154185 + 0x5f, 0x17, 0x75, 0x76, 0x8a, 0x95, 0xa1, 0x92, //0x00004078 .quad -7880853450996246689 + 0x7b, 0x66, 0x1f, 0x67, 0xec, 0x80, 0xf9, 0xce, //0x00004080 .quad -3532650679864695173 + 0x36, 0x5d, 0x12, 0x14, 0xed, 0xfa, 0x49, 0xb7, //0x00004088 .quad -5239380795317920458 + 0x1a, 0x40, 0xe7, 0x80, 0x27, 0xe1, 0xb7, 0x82, //0x00004090 .quad -9027499368258256870 + 0x84, 0xf4, 0x16, 0x59, 0xa8, 0x79, 0x1c, 0xe5, //0x00004098 .quad -1937539975720012668 + 0x10, 0x88, 0x90, 0xb0, 0xb8, 0xec, 0xb2, 0xd1, //0x000040a0 .quad -3336344095947716592 + 0xd2, 0x58, 0xae, 0x37, 0x09, 0xcc, 0x31, 0x8f, //0x000040a8 .quad -8128491512466089774 + 0x15, 0xaa, 0xb4, 0xdc, 0xe6, 0xa7, 0x1f, 0x86, //0x000040b0 .quad -8782116138362033643 + 0x07, 0xef, 0x99, 0x85, 0x0b, 0x3f, 0xfe, 0xb2, //0x000040b8 .quad -5548928372155224313 + 0x9a, 0xd4, 0xe1, 0x93, 0xe0, 0x91, 0xa7, 0x67, //0x000040c0 .quad 7469098900757009562 + 0xc9, 0x6a, 0x00, 0x67, 0xce, 0xce, 0xbd, 0xdf, //0x000040c8 .quad -2324474446766642487 + 0xe0, 0x24, 0x6d, 0x5c, 0x2c, 0xbb, 0xc8, 0xe0, //0x000040d0 .quad -2249342214667950880 + 0xbd, 0x42, 0x60, 0x00, 0x41, 0xa1, 0xd6, 0x8b, //0x000040d8 .quad -8370325556870233411 + 0x18, 0x6e, 0x88, 0x73, 0xf7, 0xe9, 0xfa, 0x58, //0x000040e0 .quad 6411694268519837208 + 0x6d, 0x53, 0x78, 0x40, 0x91, 0x49, 0xcc, 0xae, //0x000040e8 .quad -5851220927660403859 + 0x9e, 0x89, 0x6a, 0x50, 0x75, 0xa4, 0x39, 0xaf, //0x000040f0 .quad -5820440219632367202 + 0x48, 0x68, 0x96, 0x90, 0xf5, 0x5b, 0x7f, 0xda, //0x000040f8 .quad -2702340141148116920 + 0x03, 0x96, 0x42, 0x52, 0xc9, 0x06, 0x84, 0x6d, //0x00004100 .quad 7891439908798240259 + 0x2d, 0x01, 0x5e, 0x7a, 0x79, 0x99, 0x8f, 0x88, //0x00004108 .quad -8606491615858654931 + 0x83, 0x3b, 0xd3, 0xa6, 0x7b, 0x08, 0xe5, 0xc8, //0x00004110 .quad -3970758169284363389 + 0x78, 0x81, 0xf5, 0xd8, 0xd7, 0x7f, 0xb3, 0xaa, //0x00004118 .quad -6146428501395930760 + 0x64, 0x0a, 0x88, 0x90, 0x9a, 0x4a, 0x1e, 0xfb, //0x00004120 .quad -351761693178066332 + 0xd6, 0xe1, 0x32, 0xcf, 0xcd, 0x5f, 0x60, 0xd5, //0x00004128 .quad -3071349608317525546 + 0x7f, 0x06, 0x55, 0x9a, 0xa0, 0xee, 0xf2, 0x5c, //0x00004130 .quad 6697677969404790399 + 0x26, 0xcd, 0x7f, 0xa1, 0xe0, 0x3b, 0x5c, 0x85, //0x00004138 .quad -8837122532839535322 + 0x1e, 0x48, 0xea, 0xc0, 0x48, 0xaa, 0x2f, 0xf4, //0x00004140 .quad -851274575098787810 + 0x6f, 0xc0, 0xdf, 0xc9, 0xd8, 0x4a, 0xb3, 0xa6, //0x00004148 .quad -6434717147622031249 + 0x26, 0xda, 0x24, 0xf1, 0xda, 0x94, 0x3b, 0xf1, //0x00004150 .quad -1064093218873484762 + 0x8b, 0xb0, 0x57, 0xfc, 0x8e, 0x1d, 0x60, 0xd0, //0x00004158 .quad -3431710416100151157 + 0x58, 0x08, 0xb7, 0xd6, 0x08, 0x3d, 0xc5, 0x76, //0x00004160 .quad 8558313775058847832 + 0x57, 0xce, 0xb6, 0x5d, 0x79, 0x12, 0x3c, 0x82, //0x00004168 .quad -9062348037703676329 + 0x6e, 0xca, 0x64, 0x0c, 0x4b, 0x8c, 0x76, 0x54, //0x00004170 .quad 6086206200396171886 + 0xed, 0x81, 0x24, 0xb5, 0x17, 0x17, 0xcb, 0xa2, //0x00004178 .quad -6716249028702207507 + 0x09, 0xfd, 0x7d, 0xcf, 0x5d, 0x2f, 0x94, 0xa9, //0x00004180 .quad -6227300304786948855 + 0x68, 0xa2, 0x6d, 0xa2, 0xdd, 0xdc, 0x7d, 0xcb, //0x00004188 .quad -3783625267450371480 + 0x4c, 0x7c, 0x5d, 0x43, 0x35, 0x3b, 0xf9, 0xd3, //0x00004190 .quad -3172439362556298164 + 0x02, 0x0b, 0x09, 0x0b, 0x15, 0x54, 0x5d, 0xfe, //0x00004198 .quad -117845565885576446 + 0xaf, 0x6d, 0x1a, 0x4a, 0x01, 0xc5, 0x7b, 0xc4, //0x000041a0 .quad -4288617610811380305 + 0xe1, 0xa6, 0xe5, 0x26, 0x8d, 0x54, 0xfa, 0x9e, //0x000041a8 .quad -6991182506319567135 + 0x1b, 0x09, 0xa1, 0x9c, 0x41, 0xb6, 0x9a, 0x35, //0x000041b0 .quad 3862600023340550427 + 0x9a, 0x10, 0x9f, 0x70, 0xb0, 0xe9, 0xb8, 0xc6, //0x000041b8 .quad -4127292114472071014 + 0x62, 0x4b, 0xc9, 0x03, 0xd2, 0x63, 0x01, 0xc3, //0x000041c0 .quad -4395122007679087774 + 0xc0, 0xd4, 0xc6, 0x8c, 0x1c, 0x24, 0x67, 0xf8, //0x000041c8 .quad -547429124662700864 + 0x1d, 0xcf, 0x5d, 0x42, 0x63, 0xde, 0xe0, 0x79, //0x000041d0 .quad 8782263791269039901 + 0xf8, 0x44, 0xfc, 0xd7, 0x91, 0x76, 0x40, 0x9b, //0x000041d8 .quad -7259672230555269896 + 0xe4, 0x42, 0xf5, 0x12, 0xfc, 0x15, 0x59, 0x98, //0x000041e0 .quad -7468914334623251740 + 0x36, 0x56, 0xfb, 0x4d, 0x36, 0x94, 0x10, 0xc2, //0x000041e8 .quad -4462904269766699466 + 0x9d, 0x93, 0xb2, 0x17, 0x7b, 0x5b, 0x6f, 0x3e, //0x000041f0 .quad 4498915137003099037 + 0xc4, 0x2b, 0x7a, 0xe1, 0x43, 0xb9, 0x94, 0xf2, //0x000041f8 .quad -966944318780986428 + 0x42, 0x9c, 0xcf, 0xee, 0x2c, 0x99, 0x05, 0xa7, //0x00004200 .quad -6411550076227838910 + 0x5a, 0x5b, 0xec, 0x6c, 0xca, 0xf3, 0x9c, 0x97, //0x00004208 .quad -7521869226879198374 + 0x53, 0x83, 0x83, 0x2a, 0x78, 0xff, 0xc6, 0x50, //0x00004210 .quad 5820620459997365075 + 0x31, 0x72, 0x27, 0x08, 0xbd, 0x30, 0x84, 0xbd, //0x00004218 .quad -4790650515171610063 + 0x28, 0x64, 0x24, 0x35, 0x56, 0xbf, 0xf8, 0xa4, //0x00004220 .quad -6559282480285457368 + 0xbd, 0x4e, 0x31, 0x4a, 0xec, 0x3c, 0xe5, 0xec, //0x00004228 .quad -1376627125537124675 + 0x99, 0xbe, 0x36, 0xe1, 0x95, 0x77, 0x1b, 0x87, //0x00004230 .quad -8711237568605798759 + 0x36, 0xd1, 0x5e, 0xae, 0x13, 0x46, 0x0f, 0x94, //0x00004238 .quad -7777920981101784778 + 0x3f, 0x6e, 0x84, 0x59, 0x7b, 0x55, 0xe2, 0x28, //0x00004240 .quad 2946011094524915263 + 0x84, 0x85, 0xf6, 0x99, 0x98, 0x17, 0x13, 0xb9, //0x00004248 .quad -5110715207949843068 + 0xcf, 0x89, 0xe5, 0x2f, 0xda, 0xea, 0x1a, 0x33, //0x00004250 .quad 3682513868156144079 + 0xe5, 0x26, 0x74, 0xc0, 0x7e, 0xdd, 0x57, 0xe7, //0x00004258 .quad -1776707991509915931 + 0x21, 0x76, 0xef, 0x5d, 0xc8, 0xd2, 0xf0, 0x3f, //0x00004260 .quad 4607414176811284001 + 0x4f, 0x98, 0x48, 0x38, 0x6f, 0xea, 0x96, 0x90, //0x00004268 .quad -8027971522334779313 + 0xa9, 0x53, 0x6b, 0x75, 0x7a, 0x07, 0xed, 0x0f, //0x00004270 .quad 1147581702586717097 + 0x63, 0xbe, 0x5a, 0x06, 0x0b, 0xa5, 0xbc, 0xb4, //0x00004278 .quad -5423278384491086237 + 0x94, 0x28, 0xc6, 0x12, 0x59, 0x49, 0xe8, 0xd3, //0x00004280 .quad -3177208890193991532 + 0xfb, 0x6d, 0xf1, 0xc7, 0x4d, 0xce, 0xeb, 0xe1, //0x00004288 .quad -2167411962186469893 + 0x5c, 0xd9, 0xbb, 0xab, 0xd7, 0x2d, 0x71, 0x64, //0x00004290 .quad 7237616480483531100 + 0xbd, 0xe4, 0xf6, 0x9c, 0xf0, 0x60, 0x33, 0x8d, //0x00004298 .quad -8272161504007625539 + 0xb3, 0xcf, 0xaa, 0x96, 0x4d, 0x79, 0x8d, 0xbd, //0x000042a0 .quad -4788037454677749837 + 0xec, 0x9d, 0x34, 0xc4, 0x2c, 0x39, 0x80, 0xb0, //0x000042a8 .quad -5728515861582144020 + 0xa0, 0x83, 0x55, 0xfc, 0xa0, 0xd7, 0xf0, 0xec, //0x000042b0 .quad -1373360799919799392 + 0x67, 0xc5, 0x41, 0xf5, 0x77, 0x47, 0xa0, 0xdc, //0x000042b8 .quad -2548958808550292121 + 0x44, 0x72, 0xb5, 0x9d, 0xc4, 0x86, 0x16, 0xf4, //0x000042c0 .quad -858350499949874620 + 0x60, 0x1b, 0x49, 0xf9, 0xaa, 0x2c, 0xe4, 0x89, //0x000042c8 .quad -8510628282985014432 + 0xd5, 0xce, 0x22, 0xc5, 0x75, 0x28, 0x1c, 0x31, //0x000042d0 .quad 3538747893490044629 + 0x39, 0x62, 0x9b, 0xb7, 0xd5, 0x37, 0x5d, 0xac, //0x000042d8 .quad -6026599335303880135 + 0x8b, 0x82, 0x6b, 0x36, 0x93, 0x32, 0x63, 0x7d, //0x000042e0 .quad 9035120885289943691 + 0xc7, 0x3a, 0x82, 0x25, 0xcb, 0x85, 0x74, 0xd7, //0x000042e8 .quad -2921563150702462265 + 0x97, 0x31, 0x03, 0x02, 0x9c, 0xff, 0x5d, 0xae, //0x000042f0 .quad -5882264492762254953 + 0xbc, 0x64, 0x71, 0xf7, 0x9e, 0xd3, 0xa8, 0x86, //0x000042f8 .quad -8743505996830120772 + 0xfc, 0xfd, 0x83, 0x02, 0x83, 0x7f, 0xf5, 0xd9, //0x00004300 .quad -2741144597525430788 + 0xeb, 0xbd, 0x4d, 0xb5, 0x86, 0x08, 0x53, 0xa8, //0x00004308 .quad -6317696477610263061 + 0x7b, 0xfd, 0x24, 0xc3, 0x63, 0xdf, 0x72, 0xd0, //0x00004310 .quad -3426430746906788485 + 0x66, 0x2d, 0xa1, 0x62, 0xa8, 0xca, 0x67, 0xd2, //0x00004318 .quad -3285434578585440922 + 0x6d, 0x1e, 0xf7, 0x59, 0x9e, 0xcb, 0x47, 0x42, //0x00004320 .quad 4776009810824339053 + 0x60, 0xbc, 0xa4, 0x3d, 0xa9, 0xde, 0x80, 0x83, //0x00004328 .quad -8970925639256982432 + 0x08, 0xe6, 0x74, 0xf0, 0x85, 0xbe, 0xd9, 0x52, //0x00004330 .quad 5970012263530423816 + 0x78, 0xeb, 0x0d, 0x8d, 0x53, 0x16, 0x61, 0xa4, //0x00004338 .quad -6601971030643840136 + 0x8b, 0x1f, 0x92, 0x6c, 0x27, 0x2e, 0x90, 0x67, //0x00004340 .quad 7462515329413029771 + 0x56, 0x66, 0x51, 0x70, 0xe8, 0x5b, 0x79, 0xcd, //0x00004348 .quad -3640777769877412266 + 0xb6, 0x53, 0xdb, 0xa3, 0xd8, 0x1c, 0xba, 0x00, //0x00004350 .quad 52386062455755702 + 0xf6, 0xdf, 0x32, 0x46, 0x71, 0xd9, 0x6b, 0x80, //0x00004358 .quad -9193015133814464522 + 0xa4, 0x28, 0xd2, 0xcc, 0x0e, 0xa4, 0xe8, 0x80, //0x00004360 .quad -9157889458785081180 + 0xf3, 0x97, 0xbf, 0x97, 0xcd, 0xcf, 0x86, 0xa0, //0x00004368 .quad -6879582898840692749 + 0xcd, 0xb2, 0x06, 0x80, 0x12, 0xcd, 0x22, 0x61, //0x00004370 .quad 6999382250228200141 + 0xf0, 0x7d, 0xaf, 0xfd, 0xc0, 0x83, 0xa8, 0xc8, //0x00004378 .quad -3987792605123478032 + 0x81, 0x5f, 0x08, 0x20, 0x57, 0x80, 0x6b, 0x79, //0x00004380 .quad 8749227812785250177 + 0x6c, 0x5d, 0x1b, 0x3d, 0xb1, 0xa4, 0xd2, 0xfa, //0x00004388 .quad -373054737976959636 + 0xb0, 0x3b, 0x05, 0x74, 0x36, 0x30, 0xe3, 0xcb, //0x00004390 .quad -3755104653863994448 + 0x63, 0x1a, 0x31, 0xc6, 0xee, 0xa6, 0xc3, 0x9c, //0x00004398 .quad -7150688238876681629 + 0x9c, 0x8a, 0x06, 0x11, 0x44, 0xfc, 0xdb, 0xbe, //0x000043a0 .quad -4693880817329993060 + 0xfc, 0x60, 0xbd, 0x77, 0xaa, 0x90, 0xf4, 0xc3, //0x000043a8 .quad -4326674280168464132 + 0x44, 0x2d, 0x48, 0x15, 0x55, 0xfb, 0x92, 0xee, //0x000043b0 .quad -1255665003235103420 + 0x3b, 0xb9, 0xac, 0x15, 0xd5, 0xb4, 0xf1, 0xf4, //0x000043b8 .quad -796656831783192261 + 0x4a, 0x1c, 0x4d, 0x2d, 0x15, 0xdd, 0x1b, 0x75, //0x000043c0 .quad 8438581409832836170 + 0xc5, 0xf3, 0x8b, 0x2d, 0x05, 0x11, 0x17, 0x99, //0x000043c8 .quad -7415439547505577019 + 0x5d, 0x63, 0xa0, 0x78, 0x5a, 0xd4, 0x62, 0xd2, //0x000043d0 .quad -3286831292991118499 + 0xb6, 0xf0, 0xee, 0x78, 0x46, 0xd5, 0x5c, 0xbf, //0x000043d8 .quad -4657613415954583370 + 0x34, 0x7c, 0xc8, 0x16, 0x71, 0x89, 0xfb, 0x86, //0x000043e0 .quad -8720225134666286028 + 0xe4, 0xac, 0x2a, 0x17, 0x98, 0x0a, 0x34, 0xef, //0x000043e8 .quad -1210330751515841308 + 0xa0, 0x4d, 0x3d, 0xae, 0xe6, 0x35, 0x5d, 0xd4, //0x000043f0 .quad -3144297699952734816 + 0x0e, 0xac, 0x7a, 0x0e, 0x9f, 0x86, 0x80, 0x95, //0x000043f8 .quad -7673985747338482674 + 0x09, 0xa1, 0xcc, 0x59, 0x60, 0x83, 0x74, 0x89, //0x00004400 .quad -8542058143368306423 + 0x12, 0x57, 0x19, 0xd2, 0x46, 0xa8, 0xe0, 0xba, //0x00004408 .quad -4980796165745715438 + 0x4b, 0xc9, 0x3f, 0x70, 0x38, 0xa4, 0xd1, 0x2b, //0x00004410 .quad 3157485376071780683 + 0xd7, 0xac, 0x9f, 0x86, 0x58, 0xd2, 0x98, 0xe9, //0x00004418 .quad -1614309188754756393 + 0xcf, 0xdd, 0x27, 0x46, 0xa3, 0x06, 0x63, 0x7b, //0x00004420 .quad 8890957387685944783 + 0x06, 0xcc, 0x23, 0x54, 0x77, 0x83, 0xff, 0x91, //0x00004428 .quad -7926472270612804602 + 0x42, 0xd5, 0xb1, 0x17, 0x4c, 0xc8, 0x3b, 0x1a, //0x00004430 .quad 1890324697752655170 + 0x08, 0xbf, 0x2c, 0x29, 0x55, 0x64, 0x7f, 0xb6, //0x00004438 .quad -5296404319838617848 + 0x93, 0x4a, 0x9e, 0x1d, 0x5f, 0xba, 0xca, 0x20, //0x00004440 .quad 2362905872190818963 + 0xca, 0xee, 0x77, 0x73, 0x6a, 0x3d, 0x1f, 0xe4, //0x00004448 .quad -2008819381370884406 + 0x9c, 0xee, 0x82, 0x72, 0x7b, 0xb4, 0x7e, 0x54, //0x00004450 .quad 6088502188546649756 + 0x3e, 0xf5, 0x2a, 0x88, 0x62, 0x86, 0x93, 0x8e, //0x00004458 .quad -8173041140997884610 + 0x43, 0xaa, 0x23, 0x4f, 0x9a, 0x61, 0x9e, 0xe9, //0x00004460 .quad -1612744301171463613 + 0x8d, 0xb2, 0x35, 0x2a, 0xfb, 0x67, 0x38, 0xb2, //0x00004468 .quad -5604615407819967859 + 0xd4, 0x94, 0xec, 0xe2, 0x00, 0xfa, 0x05, 0x64, //0x00004470 .quad 7207441660390446292 + 0x31, 0x1f, 0xc3, 0xf4, 0xf9, 0x81, 0xc6, 0xde, //0x00004478 .quad -2394083241347571919 + 0x04, 0xdd, 0xd3, 0x8d, 0x40, 0xbc, 0x83, 0xde, //0x00004480 .quad -2412877989897052924 + 0x7e, 0xf3, 0xf9, 0x38, 0x3c, 0x11, 0x3c, 0x8b, //0x00004488 .quad -8413831053483314306 + 0x45, 0xd4, 0x48, 0xb1, 0x50, 0xab, 0x24, 0x96, //0x00004490 .quad -7627783505798704059 + 0x5e, 0x70, 0x38, 0x47, 0x8b, 0x15, 0x0b, 0xae, //0x00004498 .quad -5905602798426754978 + 0x57, 0x09, 0x9b, 0xdd, 0x24, 0xd6, 0xad, 0x3b, //0x000044a0 .quad 4300328673033783639 + 0x76, 0x8c, 0x06, 0x19, 0xee, 0xda, 0x8d, 0xd9, //0x000044a8 .quad -2770317479606055818 + 0xd6, 0xe5, 0x80, 0x0a, 0xd7, 0xa5, 0x4c, 0xe5, //0x000044b0 .quad -1923980597781273130 + 0xc9, 0x17, 0xa4, 0xcf, 0xd4, 0xa8, 0xf8, 0x87, //0x000044b8 .quad -8648977452394866743 + 0x4c, 0x1f, 0x21, 0xcd, 0x4c, 0xcf, 0x9f, 0x5e, //0x000044c0 .quad 6818396289628184396 + 0xbc, 0x1d, 0x8d, 0x03, 0x0a, 0xd3, 0xf6, 0xa9, //0x000044c8 .quad -6199535797066195524 + 0x1f, 0x67, 0x69, 0x00, 0x20, 0xc3, 0x47, 0x76, //0x000044d0 .quad 8522995362035230495 + 0x2b, 0x65, 0x70, 0x84, 0xcc, 0x87, 0x74, 0xd4, //0x000044d8 .quad -3137733727905356501 + 0x73, 0xe0, 0x41, 0x00, 0xf4, 0xd9, 0xec, 0x29, //0x000044e0 .quad 3021029092058325107 + 0x3b, 0x3f, 0xc6, 0xd2, 0xdf, 0xd4, 0xc8, 0x84, //0x000044e8 .quad -8878612607581929669 + 0x90, 0x58, 0x52, 0x00, 0x71, 0x10, 0x68, 0xf4, //0x000044f0 .quad -835399653354481520 + 0x09, 0xcf, 0x77, 0xc7, 0x17, 0x0a, 0xfb, 0xa5, //0x000044f8 .quad -6486579741050024183 + 0xb4, 0xee, 0x66, 0x40, 0x8d, 0x14, 0x82, 0x71, //0x00004500 .quad 8179122470161673908 + 0xcc, 0xc2, 0x55, 0xb9, 0x9d, 0xcc, 0x79, 0xcf, //0x00004508 .quad -3496538657885142324 + 0x30, 0x55, 0x40, 0x48, 0xd8, 0x4c, 0xf1, 0xc6, //0x00004510 .quad -4111420493003729616 + 0xbf, 0x99, 0xd5, 0x93, 0xe2, 0x1f, 0xac, 0x81, //0x00004518 .quad -9102865688819295809 + 0x7c, 0x6a, 0x50, 0x5a, 0x0e, 0xa0, 0xad, 0xb8, //0x00004520 .quad -5139275616254662020 + 0x2f, 0x00, 0xcb, 0x38, 0xdb, 0x27, 0x17, 0xa2, //0x00004528 .quad -6766896092596731857 + 0x1c, 0x85, 0xe4, 0xf0, 0x11, 0x08, 0xd9, 0xa6, //0x00004530 .quad -6424094520318327524 + 0x3b, 0xc0, 0xfd, 0x06, 0xd2, 0xf1, 0x9c, 0xca, //0x00004538 .quad -3846934097318526917 + 0x63, 0xa6, 0x1d, 0x6d, 0x16, 0x4a, 0x8f, 0x90, //0x00004540 .quad -8030118150397909405 + 0x4a, 0x30, 0xbd, 0x88, 0x46, 0x2e, 0x44, 0xfd, //0x00004548 .quad -196981603220770742 + 0xfe, 0x87, 0x32, 0x04, 0x4e, 0x8e, 0x59, 0x9a, //0x00004550 .quad -7324666853212387330 + 0x2e, 0x3e, 0x76, 0x15, 0xec, 0x9c, 0x4a, 0x9e, //0x00004558 .quad -7040642529654063570 + 0xfd, 0x29, 0x3f, 0x85, 0xe1, 0xf1, 0xef, 0x40, //0x00004560 .quad 4679224488766679549 + 0xba, 0xcd, 0xd3, 0x1a, 0x27, 0x44, 0xdd, 0xc5, //0x00004568 .quad -4189117143640191558 + 0x7c, 0xf4, 0x8e, 0xe6, 0x59, 0xee, 0x2b, 0xd1, //0x00004570 .quad -3374341425896426372 + 0x28, 0xc1, 0x88, 0xe1, 0x30, 0x95, 0x54, 0xf7, //0x00004578 .quad -624710411122851544 + 0xce, 0x58, 0x19, 0x30, 0xf8, 0x74, 0xbb, 0x82, //0x00004580 .quad -9026492418826348338 + 0xb9, 0x78, 0xf5, 0x8c, 0x3e, 0xdd, 0x94, 0x9a, //0x00004588 .quad -7307973034592864071 + 0x01, 0xaf, 0x1f, 0x3c, 0x36, 0x52, 0x6a, 0xe3, //0x00004590 .quad -2059743486678159615 + 0xe7, 0xd6, 0x32, 0x30, 0x8e, 0x14, 0x3a, 0xc1, //0x00004598 .quad -4523280274813692185 + 0xc1, 0x9a, 0x27, 0xcb, 0xc3, 0xe6, 0x44, 0xdc, //0x000045a0 .quad -2574679358347699519 + 0xa1, 0x8c, 0x3f, 0xbc, 0xb1, 0x99, 0x88, 0xf1, //0x000045a8 .quad -1042414325089727327 + 0xb9, 0xc0, 0xf8, 0x5e, 0x3a, 0x10, 0xab, 0x29, //0x000045b0 .quad 3002511419460075705 + 0xe5, 0xb7, 0xa7, 0x15, 0x0f, 0x60, 0xf5, 0x96, //0x000045b8 .quad -7569037980822161435 + 0xe7, 0xf0, 0xb6, 0xf6, 0x48, 0xd4, 0x15, 0x74, //0x000045c0 .quad 8364825292752482535 + 0xde, 0xa5, 0x11, 0xdb, 0x12, 0xb8, 0xb2, 0xbc, //0x000045c8 .quad -4849611457600313890 + 0x21, 0xad, 0x64, 0x34, 0x5b, 0x49, 0x1b, 0x11, //0x000045d0 .quad 1232659579085827361 + 0x56, 0x0f, 0xd6, 0x91, 0x17, 0x66, 0xdf, 0xeb, //0x000045d8 .quad -1450328303573004458 + 0x34, 0xec, 0xbe, 0x00, 0xd9, 0x0d, 0xb1, 0xca, //0x000045e0 .quad -3841273781498745804 + 0x95, 0xc9, 0x25, 0xbb, 0xce, 0x9f, 0x6b, 0x93, //0x000045e8 .quad -7823984217374209643 + 0x42, 0xa7, 0xee, 0x40, 0x4f, 0x51, 0x5d, 0x3d, //0x000045f0 .quad 4421779809981343554 + 0xfb, 0x3b, 0xef, 0x69, 0xc2, 0x87, 0x46, 0xb8, //0x000045f8 .quad -5168294253290374149 + 0x12, 0x51, 0x2a, 0x11, 0xa3, 0xa5, 0xb4, 0x0c, //0x00004600 .quad 915538744049291538 + 0xfa, 0x0a, 0x6b, 0x04, 0xb3, 0x29, 0x58, 0xe6, //0x00004608 .quad -1848681798185579782 + 0xab, 0x72, 0xba, 0xea, 0x85, 0xe7, 0xf0, 0x47, //0x00004610 .quad 5183897733458195115 + 0xdc, 0xe6, 0xc2, 0xe2, 0x0f, 0x1a, 0xf7, 0x8f, //0x00004618 .quad -8072955151507069220 + 0x56, 0x0f, 0x69, 0x65, 0x67, 0x21, 0xed, 0x59, //0x00004620 .quad 6479872166822743894 + 0x93, 0xa0, 0x73, 0xdb, 0x93, 0xe0, 0xf4, 0xb3, //0x00004628 .quad -5479507920956448621 + 0x2c, 0x53, 0xc3, 0x3e, 0xc1, 0x69, 0x68, 0x30, //0x00004630 .quad 3488154190101041964 + 0xb8, 0x88, 0x50, 0xd2, 0xb8, 0x18, 0xf2, 0xe0, //0x00004638 .quad -2237698882768172872 + 0xfb, 0x13, 0x3a, 0xc7, 0x18, 0x42, 0x41, 0x1e, //0x00004640 .quad 2180096368813151227 + 0x73, 0x55, 0x72, 0x83, 0x73, 0x4f, 0x97, 0x8c, //0x00004648 .quad -8316090829371189901 + 0xfa, 0x98, 0x08, 0xf9, 0x9e, 0x92, 0xd1, 0xe5, //0x00004650 .quad -1886565557410948870 + 0xcf, 0xea, 0x4e, 0x64, 0x50, 0x23, 0xbd, 0xaf, //0x00004658 .quad -5783427518286599473 + 0x39, 0xbf, 0x4a, 0xb7, 0x46, 0xf7, 0x45, 0xdf, //0x00004660 .quad -2358206946763686087 + 0x83, 0xa5, 0x62, 0x7d, 0x24, 0x6c, 0xac, 0xdb, //0x00004668 .quad -2617598379430861437 + 0x83, 0xb7, 0x8e, 0x32, 0x8c, 0xba, 0x8b, 0x6b, //0x00004670 .quad 7749492695127472003 + 0x72, 0xa7, 0x5d, 0xce, 0x96, 0xc3, 0x4b, 0x89, //0x00004678 .quad -8553528014785370254 + 0x64, 0x65, 0x32, 0x3f, 0x2f, 0xa9, 0x6e, 0x06, //0x00004680 .quad 463493832054564196 + 0x4f, 0x11, 0xf5, 0x81, 0x7c, 0xb4, 0x9e, 0xab, //0x00004688 .quad -6080224000054324913 + 0xbd, 0xfe, 0xfe, 0x0e, 0x7b, 0x53, 0x0a, 0xc8, //0x00004690 .quad -4032318728359182659 + 0xa2, 0x55, 0x72, 0xa2, 0x9b, 0x61, 0x86, 0xd6, //0x00004698 .quad -2988593981640518238 + 0x36, 0x5f, 0x5f, 0xe9, 0x2c, 0x74, 0x06, 0xbd, //0x000046a0 .quad -4826042214438183114 + 0x85, 0x75, 0x87, 0x45, 0x01, 0xfd, 0x13, 0x86, //0x000046a8 .quad -8785400266166405755 + 0x04, 0x37, 0xb7, 0x23, 0x38, 0x11, 0x48, 0x2c, //0x000046b0 .quad 3190819268807046916 + 0xe7, 0x52, 0xe9, 0x96, 0x41, 0xfc, 0x98, 0xa7, //0x000046b8 .quad -6370064314280619289 + 0xc5, 0x04, 0xa5, 0x2c, 0x86, 0x15, 0x5a, 0xf7, //0x000046c0 .quad -623161932418579259 + 0xa0, 0xa7, 0xa3, 0xfc, 0x51, 0x3b, 0x7f, 0xd1, //0x000046c8 .quad -3350894374423386208 + 0xfb, 0x22, 0xe7, 0xdb, 0x73, 0x4d, 0x98, 0x9a, //0x000046d0 .quad -7307005235402693893 + 0xc4, 0x48, 0xe6, 0x3d, 0x13, 0x85, 0xef, 0x82, //0x000046d8 .quad -9011838011655698236 + 0xba, 0xeb, 0xe0, 0xd2, 0xd0, 0x60, 0x3e, 0xc1, //0x000046e0 .quad -4522070525825979462 + 0xf5, 0xda, 0x5f, 0x0d, 0x58, 0x66, 0xab, 0xa3, //0x000046e8 .quad -6653111496142234891 + 0xa8, 0x26, 0x99, 0x07, 0x05, 0xf9, 0x8d, 0x31, //0x000046f0 .quad 3570783879572301480 + 0xb3, 0xd1, 0xb7, 0x10, 0xee, 0x3f, 0x96, 0xcc, //0x000046f8 .quad -3704703351750405709 + 0x52, 0x70, 0x7f, 0x49, 0x46, 0x77, 0xf1, 0xfd, //0x00004700 .quad -148206168962011054 + 0x1f, 0xc6, 0xe5, 0x94, 0xe9, 0xcf, 0xbb, 0xff, //0x00004708 .quad -19193171260619233 + 0x33, 0xa6, 0xef, 0xed, 0x8b, 0xea, 0xb6, 0xfe, //0x00004710 .quad -92628855601256909 + 0xd3, 0x9b, 0x0f, 0xfd, 0xf1, 0x61, 0xd5, 0x9f, //0x00004718 .quad -6929524759678968877 + 0xc0, 0x8f, 0x6b, 0xe9, 0x2e, 0xa5, 0x64, 0xfe, //0x00004720 .quad -115786069501571136 + 0xc8, 0x82, 0x53, 0x7c, 0x6e, 0xba, 0xca, 0xc7, //0x00004728 .quad -4050219931171323192 + 0xb0, 0x73, 0xc6, 0xa3, 0x7a, 0xce, 0xfd, 0x3d, //0x00004730 .quad 4466953431550423984 + 0x7b, 0x63, 0x68, 0x1b, 0x0a, 0x69, 0xbd, 0xf9, //0x00004738 .quad -451088895536766085 + 0x4e, 0x08, 0x5c, 0xa6, 0x0c, 0xa1, 0xbe, 0x06, //0x00004740 .quad 486002885505321038 + 0x2d, 0x3e, 0x21, 0x51, 0xa6, 0x61, 0x16, 0x9c, //0x00004748 .quad -7199459587351560659 + 0x62, 0x0a, 0xf3, 0xcf, 0x4f, 0x49, 0x6e, 0x48, //0x00004750 .quad 5219189625309039202 + 0xb8, 0x8d, 0x69, 0xe5, 0x0f, 0xfa, 0x1b, 0xc3, //0x00004758 .quad -4387638465762062920 + 0xfa, 0xcc, 0xef, 0xc3, 0xa3, 0xdb, 0x89, 0x5a, //0x00004760 .quad 6523987031636299002 + 0x26, 0xf1, 0xc3, 0xde, 0x93, 0xf8, 0xe2, 0xf3, //0x00004768 .quad -872862063775190746 + 0x1c, 0xe0, 0x75, 0x5a, 0x46, 0x29, 0x96, 0xf8, //0x00004770 .quad -534194123654701028 + 0xb7, 0x76, 0x3a, 0x6b, 0x5c, 0xdb, 0x6d, 0x98, //0x00004778 .quad -7463067817500576073 + 0x23, 0x58, 0x13, 0xf1, 0x97, 0xb3, 0xbb, 0xf6, //0x00004780 .quad -667742654568376285 + 0x65, 0x14, 0x09, 0x86, 0x33, 0x52, 0x89, 0xbe, //0x00004788 .quad -4717148753448332187 + 0x2c, 0x2e, 0x58, 0xed, 0x7d, 0xa0, 0x6a, 0x74, //0x00004790 .quad 8388693718644305452 + 0x7f, 0x59, 0x8b, 0x67, 0xc0, 0xa6, 0x2b, 0xee, //0x00004798 .quad -1284749923383027329 + 0xdc, 0x1c, 0x57, 0xb4, 0x4e, 0xa4, 0xc2, 0xa8, //0x000047a0 .quad -6286281471915778852 + 0xef, 0x17, 0xb7, 0x40, 0x38, 0x48, 0xdb, 0x94, //0x000047a8 .quad -7720497729755473937 + 0x13, 0xe4, 0x6c, 0x61, 0x62, 0x4d, 0xf3, 0x92, //0x000047b0 .quad -7857851839894723565 + 0xeb, 0xdd, 0xe4, 0x50, 0x46, 0x1a, 0x12, 0xba, //0x000047b8 .quad -5038936143766954517 + 0x17, 0x1d, 0xc8, 0xf9, 0xba, 0x20, 0xb0, 0x77, //0x000047c0 .quad 8624429273841147159 + 0x66, 0x15, 0x1e, 0xe5, 0xd7, 0xa0, 0x96, 0xe8, //0x000047c8 .quad -1686984161281305242 + 0x2e, 0x12, 0x1d, 0xdc, 0x74, 0x14, 0xce, 0x0a, //0x000047d0 .quad 778582277723329070 + 0x60, 0xcd, 0x32, 0xef, 0x86, 0x24, 0x5e, 0x91, //0x000047d8 .quad -7971894128441897632 + 0xba, 0x56, 0x24, 0x13, 0x92, 0x99, 0x81, 0x0d, //0x000047e0 .quad 973227847154161338 + 0xb8, 0x80, 0xff, 0xaa, 0xa8, 0xad, 0xb5, 0xb5, //0x000047e8 .quad -5353181642124984136 + 0x69, 0x6c, 0xed, 0x97, 0xf6, 0xff, 0xe1, 0x10, //0x000047f0 .quad 1216534808942701673 + 0xe6, 0x60, 0xbf, 0xd5, 0x12, 0x19, 0x23, 0xe3, //0x000047f8 .quad -2079791034228842266 + 0xc1, 0x63, 0xf4, 0x1e, 0xfa, 0x3f, 0x8d, 0xca, //0x00004800 .quad -3851351762838199359 + 0x8f, 0x9c, 0x97, 0xc5, 0xab, 0xef, 0xf5, 0x8d, //0x00004808 .quad -8217398424034108273 + 0xb2, 0x7c, 0xb1, 0xa6, 0xf8, 0x8f, 0x30, 0xbd, //0x00004810 .quad -4814189703547749198 + 0xb3, 0x83, 0xfd, 0xb6, 0x96, 0x6b, 0x73, 0xb1, //0x00004818 .quad -5660062011615247437 + 0xde, 0xdb, 0x5d, 0xd0, 0xf6, 0xb3, 0x7c, 0xac, //0x00004820 .quad -6017737129434686498 + 0xa0, 0xe4, 0xbc, 0x64, 0x7c, 0x46, 0xd0, 0xdd, //0x00004828 .quad -2463391496091671392 + 0x6b, 0xa9, 0x3a, 0x42, 0x7a, 0xf0, 0xcd, 0x6b, //0x00004830 .quad 7768129340171790699 + 0xe4, 0x0e, 0xf6, 0xbe, 0x0d, 0x2c, 0xa2, 0x8a, //0x00004838 .quad -8457148712698376476 + 0xc6, 0x53, 0xc9, 0xd2, 0x98, 0x6c, 0xc1, 0x86, //0x00004840 .quad -8736582398494813242 + 0x9d, 0x92, 0xb3, 0x2e, 0x11, 0xb7, 0x4a, 0xad, //0x00004848 .quad -5959749872445582691 + 0xb7, 0xa8, 0x7b, 0x07, 0xbf, 0xc7, 0x71, 0xe8, //0x00004850 .quad -1697355961263740745 + 0x44, 0x77, 0x60, 0x7a, 0xd5, 0x64, 0x9d, 0xd8, //0x00004858 .quad -2838001322129590460 + 0x72, 0x49, 0xad, 0x64, 0xd7, 0x1c, 0x47, 0x11, //0x00004860 .quad 1244995533423855986 + 0x8b, 0x4a, 0x7c, 0x6c, 0x05, 0x5f, 0x62, 0x87, //0x00004868 .quad -8691279853972075893 + 0xcf, 0x9b, 0xd8, 0x3d, 0x0d, 0xe4, 0x98, 0xd5, //0x00004870 .quad -3055441601647567921 + 0x2d, 0x5d, 0x9b, 0xc7, 0xc6, 0xf6, 0x3a, 0xa9, //0x00004878 .quad -6252413799037706963 + 0xc3, 0xc2, 0x4e, 0x8d, 0x10, 0x1d, 0xff, 0x4a, //0x00004880 .quad 5404070034795315907 + 0x79, 0x34, 0x82, 0x79, 0x78, 0xb4, 0x89, 0xd3, //0x00004888 .quad -3203831230369745799 + 0xba, 0x39, 0x51, 0x58, 0x2a, 0x72, 0xdf, 0xce, //0x00004890 .quad -3539985255894009414 + 0xcb, 0x60, 0xf1, 0x4b, 0xcb, 0x10, 0x36, 0x84, //0x00004898 .quad -8919923546622172981 + 0x28, 0x88, 0x65, 0xee, 0xb4, 0x4e, 0x97, 0xc2, //0x000048a0 .quad -4424981569867511768 + 0xfe, 0xb8, 0xed, 0x1e, 0xfe, 0x94, 0x43, 0xa5, //0x000048a8 .quad -6538218414850328322 + 0x32, 0xea, 0xfe, 0x29, 0x62, 0x22, 0x3d, 0x73, //0x000048b0 .quad 8303831092947774002 + 0x3e, 0x27, 0xa9, 0xa6, 0x3d, 0x7a, 0x94, 0xce, //0x000048b8 .quad -3561087000135522498 + 0x5f, 0x52, 0x3f, 0x5a, 0x7d, 0x35, 0x06, 0x08, //0x000048c0 .quad 578208414664970847 + 0x87, 0xb8, 0x29, 0x88, 0x66, 0xcc, 0x1c, 0x81, //0x000048c8 .quad -9143208402725783417 + 0xf7, 0x26, 0xcf, 0xb0, 0xdc, 0xc2, 0x07, 0xca, //0x000048d0 .quad -3888925500096174345 + 0xa8, 0x26, 0x34, 0x2a, 0x80, 0xff, 0x63, 0xa1, //0x000048d8 .quad -6817324484979841368 + 0xb5, 0xf0, 0x02, 0xdd, 0x93, 0xb3, 0x89, 0xfc, //0x000048e0 .quad -249470856692830027 + 0x52, 0x30, 0xc1, 0x34, 0x60, 0xff, 0xbc, 0xc9, //0x000048e8 .quad -3909969587797413806 + 0xe2, 0xac, 0x43, 0xd4, 0x78, 0x20, 0xac, 0xbb, //0x000048f0 .quad -4923524589293425438 + 0x67, 0x7c, 0xf1, 0x41, 0x38, 0x3f, 0x2c, 0xfc, //0x000048f8 .quad -275775966319379353 + 0x0d, 0x4c, 0xaa, 0x84, 0x4b, 0x94, 0x4b, 0xd5, //0x00004900 .quad -3077202868308390899 + 0xc0, 0xed, 0x36, 0x29, 0x83, 0xa7, 0x9b, 0x9d, //0x00004908 .quad -7089889006590693952 + 0x11, 0xdf, 0xd4, 0x65, 0x5e, 0x79, 0x9e, 0x0a, //0x00004910 .quad 765182433041899281 + 0x31, 0xa9, 0x84, 0xf3, 0x63, 0x91, 0x02, 0xc5, //0x00004918 .quad -4250675239810979535 + 0xd5, 0x16, 0x4a, 0xff, 0xb5, 0x17, 0x46, 0x4d, //0x00004920 .quad 5568164059729762005 + 0x7d, 0xd3, 0x65, 0xf0, 0xbc, 0x35, 0x43, 0xf6, //0x00004928 .quad -701658031336336515 + 0x45, 0x4e, 0x8e, 0xbf, 0xd1, 0xce, 0x4b, 0x50, //0x00004930 .quad 5785945546544795205 + 0x2e, 0xa4, 0x3f, 0x16, 0x96, 0x01, 0xea, 0x99, //0x00004938 .quad -7356065297226292178 + 0xd6, 0xe1, 0x71, 0x2f, 0x86, 0xc2, 0x5e, 0xe4, //0x00004940 .quad -1990940103673781802 + 0x39, 0x8d, 0xcf, 0x9b, 0xfb, 0x81, 0x64, 0xc0, //0x00004948 .quad -4583395603105477319 + 0x4c, 0x5a, 0x4e, 0xbb, 0x27, 0x73, 0x76, 0x5d, //0x00004950 .quad 6734696907262548556 + 0x88, 0x70, 0xc3, 0x82, 0x7a, 0xa2, 0x7d, 0xf0, //0x00004958 .quad -1117558485454458744 + 0x6f, 0xf8, 0x10, 0xd5, 0xf8, 0x07, 0x6a, 0x3a, //0x00004960 .quad 4209185567039092847 + 0x55, 0x26, 0xba, 0x91, 0x8c, 0x85, 0x4e, 0x96, //0x00004968 .quad -7616003081050118571 + 0x8b, 0x36, 0x55, 0x0a, 0xf7, 0x89, 0x04, 0x89, //0x00004970 .quad -8573576096483297653 + 0xea, 0xaf, 0x28, 0xb6, 0xef, 0x26, 0xe2, 0xbb, //0x00004978 .quad -4908317832885260310 + 0x2e, 0x84, 0xea, 0xcc, 0x74, 0xac, 0x45, 0x2b, //0x00004980 .quad 3118087934678041646 + 0xe5, 0xdb, 0xb2, 0xa3, 0xab, 0xb0, 0xda, 0xea, //0x00004988 .quad -1523711272679187483 + 0x9d, 0x92, 0x12, 0x00, 0xc9, 0x8b, 0x0b, 0x3b, //0x00004990 .quad 4254647968387469981 + 0x6f, 0xc9, 0x4f, 0x46, 0x6b, 0xae, 0xc8, 0x92, //0x00004998 .quad -7869848573065574033 + 0x44, 0x37, 0x17, 0x40, 0xbb, 0x6e, 0xce, 0x09, //0x000049a0 .quad 706623942056949572 + 0xcb, 0xbb, 0xe3, 0x17, 0x06, 0xda, 0x7a, 0xb7, //0x000049a8 .quad -5225624697904579637 + 0x15, 0x05, 0x1d, 0x10, 0x6a, 0x0a, 0x42, 0xcc, //0x000049b0 .quad -3728406090856200939 + 0xbd, 0xaa, 0xdc, 0x9d, 0x87, 0x90, 0x59, 0xe5, //0x000049b8 .quad -1920344853953336643 + 0x2d, 0x23, 0x12, 0x4a, 0x82, 0x46, 0xa9, 0x9f, //0x000049c0 .quad -6941939825212513491 + 0xb6, 0xea, 0xa9, 0xc2, 0x54, 0xfa, 0x57, 0x8f, //0x000049c8 .quad -8117744561361917258 + 0xf9, 0xab, 0x96, 0xdc, 0x22, 0x98, 0x93, 0x47, //0x000049d0 .quad 5157633273766521849 + 0x64, 0x65, 0x54, 0xf3, 0xe9, 0xf8, 0x2d, 0xb3, //0x000049d8 .quad -5535494683275008668 + 0xf7, 0x56, 0xbc, 0x93, 0x2b, 0x7e, 0x78, 0x59, //0x000049e0 .quad 6447041592208152311 + 0xbd, 0x7e, 0x29, 0x70, 0x24, 0x77, 0xf9, 0xdf, //0x000049e8 .quad -2307682335666372931 + 0x5a, 0xb6, 0x55, 0x3c, 0xdb, 0x4e, 0xeb, 0x57, //0x000049f0 .quad 6335244004343789146 + 0x36, 0xef, 0x19, 0xc6, 0x76, 0xea, 0xfb, 0x8b, //0x000049f8 .quad -8359830487432564938 + 0xf1, 0x23, 0x6b, 0x0b, 0x92, 0x22, 0xe6, 0xed, //0x00004a00 .quad -1304317031425039375 + 0x03, 0x6b, 0xa0, 0x77, 0x14, 0xe5, 0xfa, 0xae, //0x00004a08 .quad -5838102090863318269 + 0xed, 0xec, 0x45, 0x8e, 0x36, 0xab, 0x5f, 0xe9, //0x00004a10 .quad -1630396289281299219 + 0xc4, 0x85, 0x88, 0x95, 0x59, 0x9e, 0xb9, 0xda, //0x00004a18 .quad -2685941595151759932 + 0x14, 0xb4, 0xeb, 0x18, 0x02, 0xcb, 0xdb, 0x11, //0x00004a20 .quad 1286845328412881940 + 0x9b, 0x53, 0x75, 0xfd, 0xf7, 0x02, 0xb4, 0x88, //0x00004a28 .quad -8596242524610931813 + 0x19, 0xa1, 0x26, 0x9f, 0xc2, 0xbd, 0x52, 0xd6, //0x00004a30 .quad -3003129357911285479 + 0x81, 0xa8, 0xd2, 0xfc, 0xb5, 0x03, 0xe1, 0xaa, //0x00004a38 .quad -6133617137336276863 + 0x5f, 0x49, 0xf0, 0x46, 0x33, 0x6d, 0xe7, 0x4b, //0x00004a40 .quad 5469460339465668959 + 0xa2, 0x52, 0x07, 0x7c, 0xa3, 0x44, 0x99, 0xd5, //0x00004a48 .quad -3055335403242958174 + 0xdb, 0x2d, 0x56, 0x0c, 0x40, 0xa4, 0x70, 0x6f, //0x00004a50 .quad 8030098730593431003 + 0xa5, 0x93, 0x84, 0x2d, 0xe6, 0xca, 0x7f, 0x85, //0x00004a58 .quad -8827113654667930715 + 0x52, 0xb9, 0x6b, 0x0f, 0x50, 0xcd, 0x4c, 0xcb, //0x00004a60 .quad -3797434642040374958 + 0x8e, 0xb8, 0xe5, 0xb8, 0x9f, 0xbd, 0xdf, 0xa6, //0x00004a68 .quad -6422206049907525490 + 0xa7, 0xa7, 0x46, 0x13, 0xa4, 0x00, 0x20, 0x7e, //0x00004a70 .quad 9088264752731695015 + 0xb2, 0x26, 0x1f, 0xa7, 0x07, 0xad, 0x97, 0xd0, //0x00004a78 .quad -3416071543957018958 + 0xc8, 0x28, 0x0c, 0x8c, 0x66, 0x00, 0xd4, 0x8e, //0x00004a80 .quad -8154892584824854328 + 0x2f, 0x78, 0x73, 0xc8, 0x24, 0xcc, 0x5e, 0x82, //0x00004a88 .quad -9052573742614218705 + 0xfa, 0x32, 0x0f, 0x2f, 0x80, 0x00, 0x89, 0x72, //0x00004a90 .quad 8253128342678483706 + 0x3b, 0x56, 0x90, 0xfa, 0x2d, 0x7f, 0xf6, 0xa2, //0x00004a98 .quad -6704031159840385477 + 0xb9, 0xff, 0xd2, 0x3a, 0xa0, 0x40, 0x2b, 0x4f, //0x00004aa0 .quad 5704724409920716729 + 0xca, 0x6b, 0x34, 0x79, 0xf9, 0x1e, 0xb4, 0xcb, //0x00004aa8 .quad -3768352931373093942 + 0xa8, 0xbf, 0x87, 0x49, 0xc8, 0x10, 0xf6, 0xe2, //0x00004ab0 .quad -2092466524453879896 + 0xbc, 0x86, 0x81, 0xd7, 0xb7, 0x26, 0xa1, 0xfe, //0x00004ab8 .quad -98755145788979524 + 0xc9, 0xd7, 0xf4, 0x2d, 0x7d, 0xca, 0xd9, 0x0d, //0x00004ac0 .quad 998051431430019017 + 0x36, 0xf4, 0xb0, 0xe6, 0x32, 0xb8, 0x24, 0x9f, //0x00004ac8 .quad -6979250993759194058 + 0xbb, 0x0d, 0x72, 0x79, 0x1c, 0x3d, 0x50, 0x91, //0x00004ad0 .quad -7975807747567252037 + 0x43, 0x31, 0x5d, 0xa0, 0x3f, 0xe6, 0xed, 0xc6, //0x00004ad8 .quad -4112377723771604669 + 0x2a, 0x91, 0xce, 0x97, 0x63, 0x4c, 0xa4, 0x75, //0x00004ae0 .quad 8476984389250486570 + 0x94, 0x7d, 0x74, 0x88, 0xcf, 0x5f, 0xa9, 0xf8, //0x00004ae8 .quad -528786136287117932 + 0xba, 0x1a, 0xe1, 0x3e, 0xbe, 0xaf, 0x86, 0xc9, //0x00004af0 .quad -3925256793573221702 + 0x7c, 0xce, 0x48, 0xb5, 0xe1, 0xdb, 0x69, 0x9b, //0x00004af8 .quad -7248020362820530564 + 0x68, 0x61, 0x99, 0xce, 0xad, 0x5b, 0xe8, 0xfb, //0x00004b00 .quad -294884973539139224 + 0x1b, 0x02, 0x9b, 0x22, 0xda, 0x52, 0x44, 0xc2, //0x00004b08 .quad -4448339435098275301 + 0xc3, 0xb9, 0x3f, 0x42, 0x99, 0x72, 0xe2, 0xfa, //0x00004b10 .quad -368606216923924029 + 0xa2, 0xc2, 0x41, 0xab, 0x90, 0x67, 0xd5, 0xf2, //0x00004b18 .quad -948738275445456222 + 0x1a, 0xd4, 0x67, 0xc9, 0x9f, 0x87, 0xcd, 0xdc, //0x00004b20 .quad -2536221894791146470 + 0xa5, 0x19, 0x09, 0x6b, 0xba, 0x60, 0xc5, 0x97, //0x00004b28 .quad -7510490449794491995 + 0x20, 0xc9, 0xc1, 0xbb, 0x87, 0xe9, 0x00, 0x54, //0x00004b30 .quad 6053094668365842720 + 0x0f, 0x60, 0xcb, 0x05, 0xe9, 0xb8, 0xb6, 0xbd, //0x00004b38 .quad -4776427043815727089 + 0x68, 0x3b, 0xb2, 0xaa, 0xe9, 0x23, 0x01, 0x29, //0x00004b40 .quad 2954682317029915496 + 0x13, 0x38, 0x3e, 0x47, 0x23, 0x67, 0x24, 0xed, //0x00004b48 .quad -1358847786342270957 + 0x21, 0x65, 0xaf, 0x0a, 0x72, 0xb6, 0xa0, 0xf9, //0x00004b50 .quad -459166561069996767 + 0x0b, 0xe3, 0x86, 0x0c, 0x76, 0xc0, 0x36, 0x94, //0x00004b58 .quad -7766808894105001205 + 0x69, 0x3e, 0x5b, 0x8d, 0x0e, 0xe4, 0x08, 0xf8, //0x00004b60 .quad -573958201337495959 + 0xce, 0x9b, 0xa8, 0x8f, 0x93, 0x70, 0x44, 0xb9, //0x00004b68 .quad -5096825099203863602 + 0x04, 0x0e, 0xb2, 0x30, 0x12, 0x1d, 0x0b, 0xb6, //0x00004b70 .quad -5329133770099257852 + 0xc2, 0xc2, 0x92, 0x73, 0xb8, 0x8c, 0x95, 0xe7, //0x00004b78 .quad -1759345355577441598 + 0xc2, 0x48, 0x6f, 0x5e, 0x2b, 0xf2, 0xc6, 0xb1, //0x00004b80 .quad -5636551615525730110 + 0xb9, 0xb9, 0x3b, 0x48, 0xf3, 0x77, 0xbd, 0x90, //0x00004b88 .quad -8017119874876982855 + 0xf3, 0x1a, 0x0b, 0x36, 0xb6, 0xae, 0x38, 0x1e, //0x00004b90 .quad 2177682517447613171 + 0x28, 0xa8, 0x4a, 0x1a, 0xf0, 0xd5, 0xec, 0xb4, //0x00004b98 .quad -5409713825168840664 + 0xb0, 0xe1, 0x8d, 0xc3, 0x63, 0xda, 0xc6, 0x25, //0x00004ba0 .quad 2722103146809516464 + 0x32, 0x52, 0xdd, 0x20, 0x6c, 0x0b, 0x28, 0xe2, //0x00004ba8 .quad -2150456263033662926 + 0x0e, 0xad, 0x38, 0x5a, 0x7e, 0x48, 0x9c, 0x57, //0x00004bb0 .quad 6313000485183335694 + 0x5f, 0x53, 0x8a, 0x94, 0x23, 0x07, 0x59, 0x8d, //0x00004bb8 .quad -8261564192037121185 + 0x51, 0xd8, 0xc6, 0xf0, 0x9d, 0x5a, 0x83, 0x2d, //0x00004bc0 .quad 3279564588051781713 + 0x37, 0xe8, 0xac, 0x79, 0xec, 0x48, 0xaf, 0xb0, //0x00004bc8 .quad -5715269221619013577 + 0x65, 0x8e, 0xf8, 0x6c, 0x45, 0x31, 0xe4, 0xf8, //0x00004bd0 .quad -512230283362660763 + 0x44, 0x22, 0x18, 0x98, 0x27, 0x1b, 0xdb, 0xdc, //0x00004bd8 .quad -2532400508596379068 + 0xff, 0x58, 0x1b, 0x64, 0xcb, 0x9e, 0x8e, 0x1b, //0x00004be0 .quad 1985699082112030975 + 0x6b, 0x15, 0x0f, 0xbf, 0xf8, 0xf0, 0x08, 0x8a, //0x00004be8 .quad -8500279345513818773 + 0x3f, 0x2f, 0x22, 0x3d, 0x7e, 0x46, 0x72, 0xe2, //0x00004bf0 .quad -2129562165787349185 + 0xc5, 0xda, 0xd2, 0xee, 0x36, 0x2d, 0x8b, 0xac, //0x00004bf8 .quad -6013663163464885563 + 0x0f, 0xbb, 0x6a, 0xcc, 0x1d, 0xd8, 0x0e, 0x5b, //0x00004c00 .quad 6561419329620589327 + 0x77, 0x91, 0x87, 0xaa, 0x84, 0xf8, 0xad, 0xd7, //0x00004c08 .quad -2905392935903719049 + 0xe9, 0xb4, 0xc2, 0x9f, 0x12, 0x47, 0xe9, 0x98, //0x00004c10 .quad -7428327965055601431 + 0xea, 0xba, 0x94, 0xea, 0x52, 0xbb, 0xcc, 0x86, //0x00004c18 .quad -8733399612580906262 + 0x24, 0x62, 0xb3, 0x47, 0xd7, 0x98, 0x23, 0x3f, //0x00004c20 .quad 4549648098962661924 + 0xa5, 0xe9, 0x39, 0xa5, 0x27, 0xea, 0x7f, 0xa8, //0x00004c28 .quad -6305063497298744923 + 0xad, 0x3a, 0xa0, 0x19, 0x0d, 0x7f, 0xec, 0x8e, //0x00004c30 .quad -8147997931578836307 + 0x0e, 0x64, 0x88, 0x8e, 0xb1, 0xe4, 0x9f, 0xd2, //0x00004c38 .quad -3269643353196043250 + 0xac, 0x24, 0x04, 0x30, 0x68, 0xcf, 0x53, 0x19, //0x00004c40 .quad 1825030320404309164 + 0x89, 0x3e, 0x15, 0xf9, 0xee, 0xee, 0xa3, 0x83, //0x00004c48 .quad -8961056123388608887 + 0xd7, 0x2d, 0x05, 0x3c, 0x42, 0xc3, 0xa8, 0x5f, //0x00004c50 .quad 6892973918932774359 + 0x2b, 0x8e, 0x5a, 0xb7, 0xaa, 0xea, 0x8c, 0xa4, //0x00004c58 .quad -6589634135808373205 + 0x4d, 0x79, 0x06, 0xcb, 0x12, 0xf4, 0x92, 0x37, //0x00004c60 .quad 4004531380238580045 + 0xb6, 0x31, 0x31, 0x65, 0x55, 0x25, 0xb0, 0xcd, //0x00004c68 .quad -3625356651333078602 + 0xd0, 0x0b, 0xe4, 0xbe, 0x8b, 0xd8, 0xbb, 0xe2, //0x00004c70 .quad -2108853905778275376 + 0x11, 0xbf, 0x3e, 0x5f, 0x55, 0x17, 0x8e, 0x80, //0x00004c78 .quad -9183376934724255983 + 0xc4, 0x0e, 0x9d, 0xae, 0xae, 0xce, 0x6a, 0x5b, //0x00004c80 .quad 6587304654631931588 + 0xd6, 0x6e, 0x0e, 0xb7, 0x2a, 0x9d, 0xb1, 0xa0, //0x00004c88 .quad -6867535149977932074 + 0x75, 0x52, 0x44, 0x5a, 0x5a, 0x82, 0x45, 0xf2, //0x00004c90 .quad -989241218564861323 + 0x8b, 0x0a, 0xd2, 0x64, 0x75, 0x04, 0xde, 0xc8, //0x00004c98 .quad -3972732919045027189 + 0x12, 0x67, 0xd5, 0xf0, 0xf0, 0xe2, 0xd6, 0xee, //0x00004ca0 .quad -1236551523206076654 + 0x2e, 0x8d, 0x06, 0xbe, 0x92, 0x85, 0x15, 0xfb, //0x00004ca8 .quad -354230130378896082 + 0x6b, 0x60, 0x85, 0x96, 0xd6, 0x4d, 0x46, 0x55, //0x00004cb0 .quad 6144684325637283947 + 0x3d, 0x18, 0xc4, 0xb6, 0x7b, 0x73, 0xed, 0x9c, //0x00004cb8 .quad -7138922859127891907 + 0x86, 0xb8, 0x26, 0x3c, 0x4c, 0xe1, 0x97, 0xaa, //0x00004cc0 .quad -6154202648235558778 + 0x4c, 0x1e, 0x75, 0xa4, 0x5a, 0xd0, 0x28, 0xc4, //0x00004cc8 .quad -4311967555482476980 + 0xa8, 0x66, 0x30, 0x4b, 0x9f, 0xd9, 0x3d, 0xd5, //0x00004cd0 .quad -3081067291867060568 + 0xdf, 0x65, 0x92, 0x4d, 0x71, 0x04, 0x33, 0xf5, //0x00004cd8 .quad -778273425925708321 + 0x29, 0x40, 0xfe, 0x8e, 0x03, 0xa8, 0x46, 0xe5, //0x00004ce0 .quad -1925667057416912855 + 0xab, 0x7f, 0x7b, 0xd0, 0xc6, 0xe2, 0x3f, 0x99, //0x00004ce8 .quad -7403949918844649557 + 0x33, 0xd0, 0xbd, 0x72, 0x04, 0x52, 0x98, 0xde, //0x00004cf0 .quad -2407083821771141069 + 0x96, 0x5f, 0x9a, 0x84, 0x78, 0xdb, 0x8f, 0xbf, //0x00004cf8 .quad -4643251380128424042 + 0x40, 0x44, 0x6d, 0x8f, 0x85, 0x66, 0x3e, 0x96, //0x00004d00 .quad -7620540795641314240 + 0x7c, 0xf7, 0xc0, 0xa5, 0x56, 0xd2, 0x73, 0xef, //0x00004d08 .quad -1192378206733142148 + 0xa8, 0x4a, 0xa4, 0x79, 0x13, 0x00, 0xe7, 0xdd, //0x00004d10 .quad -2456994988062127448 + 0xad, 0x9a, 0x98, 0x27, 0x76, 0x63, 0xa8, 0x95, //0x00004d18 .quad -7662765406849295699 + 0x52, 0x5d, 0x0d, 0x58, 0x18, 0xc0, 0x60, 0x55, //0x00004d20 .quad 6152128301777116498 + 0x59, 0xc1, 0x7e, 0xb1, 0x53, 0x7c, 0x12, 0xbb, //0x00004d28 .quad -4966770740134231719 + 0xa6, 0xb4, 0x10, 0x6e, 0x1e, 0xf0, 0xb8, 0xaa, //0x00004d30 .quad -6144897678060768090 + 0xaf, 0x71, 0xde, 0x9d, 0x68, 0x1b, 0xd7, 0xe9, //0x00004d38 .quad -1596777406740401745 + 0xe8, 0x70, 0xca, 0x04, 0x13, 0x96, 0xb3, 0xca, //0x00004d40 .quad -3840561048787980056 + 0x0d, 0x07, 0xab, 0x62, 0x21, 0x71, 0x26, 0x92, //0x00004d48 .quad -7915514906853832947 + 0x22, 0x0d, 0xfd, 0xc5, 0x97, 0x7b, 0x60, 0x3d, //0x00004d50 .quad 4422670725869800738 + 0xd1, 0xc8, 0x55, 0xbb, 0x69, 0x0d, 0xb0, 0xb6, //0x00004d58 .quad -5282707615139903279 + 0x6a, 0x50, 0x7c, 0xb7, 0x7d, 0x9a, 0xb8, 0x8c, //0x00004d60 .quad -8306719647944912790 + 0x05, 0x3b, 0x2b, 0x2a, 0xc4, 0x10, 0x5c, 0xe4, //0x00004d68 .quad -1991698500497491195 + 0x42, 0xb2, 0xad, 0x92, 0x8e, 0x60, 0xf3, 0x77, //0x00004d70 .quad 8643358275316593218 + 0xe3, 0x04, 0x5b, 0x9a, 0x7a, 0x8a, 0xb9, 0x8e, //0x00004d78 .quad -8162340590452013853 + 0xd3, 0x1e, 0x59, 0x37, 0xb2, 0x38, 0xf0, 0x55, //0x00004d80 .quad 6192511825718353619 + 0x1c, 0xc6, 0xf1, 0x40, 0x19, 0xed, 0x67, 0xb2, //0x00004d88 .quad -5591239719637629412 + 0x88, 0x66, 0x2f, 0xc5, 0xde, 0x46, 0x6c, 0x6b, //0x00004d90 .quad 7740639782147942024 + 0xa3, 0x37, 0x2e, 0x91, 0x5f, 0xe8, 0x01, 0xdf, //0x00004d98 .quad -2377363631119648861 + 0x15, 0xa0, 0x3d, 0x3b, 0x4b, 0xac, 0x23, 0x23, //0x00004da0 .quad 2532056854628769813 + 0xc6, 0xe2, 0xbc, 0xba, 0x3b, 0x31, 0x61, 0x8b, //0x00004da8 .quad -8403381297090862394 + 0x1a, 0x08, 0x0d, 0x0a, 0x5e, 0x97, 0xec, 0xab, //0x00004db0 .quad -6058300968568813542 + 0x77, 0x1b, 0x6c, 0xa9, 0x8a, 0x7d, 0x39, 0xae, //0x00004db8 .quad -5892540602936190089 + 0x21, 0x4a, 0x90, 0x8c, 0x35, 0xbd, 0xe7, 0x96, //0x00004dc0 .quad -7572876210711016927 + 0x55, 0x22, 0xc7, 0x53, 0xed, 0xdc, 0xc7, 0xd9, //0x00004dc8 .quad -2753989735242849707 + 0x54, 0x2e, 0xda, 0x77, 0x41, 0xd6, 0x50, 0x7e, //0x00004dd0 .quad 9102010423587778132 + 0x75, 0x75, 0x5c, 0x54, 0x14, 0xea, 0x1c, 0x88, //0x00004dd8 .quad -8638772612167862923 + 0xe9, 0xb9, 0xd0, 0xd5, 0xd1, 0x0b, 0xe5, 0xdd, //0x00004de0 .quad -2457545025797441047 + 0xd2, 0x92, 0x73, 0x69, 0x99, 0x24, 0x24, 0xaa, //0x00004de8 .quad -6186779746782440750 + 0x64, 0xe8, 0x44, 0x4b, 0xc6, 0x4e, 0x5e, 0x95, //0x00004df0 .quad -7683617300674189212 + 0x87, 0x77, 0xd0, 0xc3, 0xbf, 0x2d, 0xad, 0xd4, //0x00004df8 .quad -3121788665050663033 + 0x3e, 0x11, 0x0b, 0xef, 0x3b, 0xf1, 0x5a, 0xbd, //0x00004e00 .quad -4802260812921368258 + 0xb4, 0x4a, 0x62, 0xda, 0x97, 0x3c, 0xec, 0x84, //0x00004e08 .quad -8868646943297746252 + 0x8e, 0xd5, 0xcd, 0xea, 0x8a, 0xad, 0xb1, 0xec, //0x00004e10 .quad -1391139997724322418 + 0x61, 0xdd, 0xfa, 0xd0, 0xbd, 0x4b, 0x27, 0xa6, //0x00004e18 .quad -6474122660694794911 + 0xf2, 0x4a, 0x81, 0xa5, 0xed, 0x18, 0xde, 0x67, //0x00004e20 .quad 7484447039699372786 + 0xba, 0x94, 0x39, 0x45, 0xad, 0x1e, 0xb1, 0xcf, //0x00004e28 .quad -3480967307441105734 + 0xd7, 0xce, 0x70, 0x87, 0x94, 0xcf, 0xea, 0x80, //0x00004e30 .quad -9157278655470055721 + 0xf4, 0xfc, 0x43, 0x4b, 0x2c, 0xb3, 0xce, 0x81, //0x00004e38 .quad -9093133594791772940 + 0x8d, 0x02, 0x4d, 0xa9, 0x79, 0x83, 0x25, 0xa1, //0x00004e40 .quad -6834912300910181747 + 0x31, 0xfc, 0x14, 0x5e, 0xf7, 0x5f, 0x42, 0xa2, //0x00004e48 .quad -6754730975062328271 + 0x30, 0x43, 0xa0, 0x13, 0x58, 0xe4, 0x6e, 0x09, //0x00004e50 .quad 679731660717048624 + 0x3e, 0x3b, 0x9a, 0x35, 0xf5, 0xf7, 0xd2, 0xca, //0x00004e58 .quad -3831727700400522434 + 0xfc, 0x53, 0x88, 0x18, 0x6e, 0x9d, 0xca, 0x8b, //0x00004e60 .quad -8373707460958465028 + 0x0d, 0xca, 0x00, 0x83, 0xf2, 0xb5, 0x87, 0xfd, //0x00004e68 .quad -177973607073265139 + 0x7d, 0x34, 0x55, 0xcf, 0x64, 0xa2, 0x5e, 0x77, //0x00004e70 .quad 8601490892183123069 + 0x48, 0x7e, 0xe0, 0x91, 0xb7, 0xd1, 0x74, 0x9e, //0x00004e78 .quad -7028762532061872568 + 0x9d, 0x81, 0x2a, 0x03, 0xfe, 0x4a, 0x36, 0x95, //0x00004e80 .quad -7694880458480647779 + 0xda, 0x9d, 0x58, 0x76, 0x25, 0x06, 0x12, 0xc6, //0x00004e88 .quad -4174267146649952806 + 0x04, 0x22, 0xf5, 0x83, 0xbd, 0xdd, 0x83, 0x3a, //0x00004e90 .quad 4216457482181353988 + 0x51, 0xc5, 0xee, 0xd3, 0xae, 0x87, 0x96, 0xf7, //0x00004e98 .quad -606147914885053103 + 0x42, 0x35, 0x79, 0x72, 0x96, 0x6a, 0x92, 0xc4, //0x00004ea0 .quad -4282243101277735614 + 0x52, 0x3b, 0x75, 0x44, 0xcd, 0x14, 0xbe, 0x9a, //0x00004ea8 .quad -7296371474444240046 + 0x93, 0x82, 0x17, 0x0f, 0x3c, 0x05, 0xb7, 0x75, //0x00004eb0 .quad 8482254178684994195 + 0x27, 0x8a, 0x92, 0x95, 0x00, 0x9a, 0x6d, 0xc1, //0x00004eb8 .quad -4508778324627912153 + 0x38, 0x63, 0xdd, 0x12, 0x8b, 0xc6, 0x24, 0x53, //0x00004ec0 .quad 5991131704928854840 + 0xb1, 0x2c, 0xf7, 0xba, 0x80, 0x00, 0xc9, 0xf1, //0x00004ec8 .quad -1024286887357502287 + 0x03, 0x5e, 0xca, 0xeb, 0x16, 0xfc, 0xf6, 0xd3, //0x00004ed0 .quad -3173071712060547581 + 0xee, 0x7b, 0xda, 0x74, 0x50, 0xa0, 0x1d, 0x97, //0x00004ed8 .quad -7557708332239520786 + 0x84, 0xf5, 0xbc, 0xa6, 0x1c, 0xbb, 0xf4, 0x88, //0x00004ee0 .quad -8578025658503072380 + 0xea, 0x1a, 0x11, 0x92, 0x64, 0x08, 0xe5, 0xbc, //0x00004ee8 .quad -4835449396872013078 + 0xe5, 0x32, 0x6c, 0xd0, 0xe3, 0xe9, 0x31, 0x2b, //0x00004ef0 .quad 3112525982153323237 + 0xa5, 0x61, 0x95, 0xb6, 0x7d, 0x4a, 0x1e, 0xec, //0x00004ef8 .quad -1432625727662628443 + 0xcf, 0x9f, 0x43, 0x62, 0x2e, 0x32, 0xff, 0x3a, //0x00004f00 .quad 4251171748059520975 + 0x07, 0x5d, 0x1d, 0x92, 0x8e, 0xee, 0x92, 0x93, //0x00004f08 .quad -7812920107430224633 + 0xc2, 0x87, 0xd4, 0xfa, 0xb9, 0xfe, 0xbe, 0x09, //0x00004f10 .quad 702278666647013314 + 0x49, 0xb4, 0xa4, 0x36, 0x32, 0xaa, 0x77, 0xb8, //0x00004f18 .quad -5154464115860392887 + 0xb3, 0xa9, 0x89, 0x79, 0x68, 0xbe, 0x2e, 0x4c, //0x00004f20 .quad 5489534351736154547 + 0x5b, 0xe1, 0x4d, 0xc4, 0xbe, 0x94, 0x95, 0xe6, //0x00004f28 .quad -1831394126398103205 + 0x10, 0x0a, 0xf6, 0x4b, 0x01, 0x37, 0x9d, 0x0f, //0x00004f30 .quad 1125115960621402640 + 0xd9, 0xac, 0xb0, 0x3a, 0xf7, 0x7c, 0x1d, 0x90, //0x00004f38 .quad -8062150356639896359 + 0x94, 0x8c, 0xf3, 0x9e, 0xc1, 0x84, 0x84, 0x53, //0x00004f40 .quad 6018080969204141204 + 0x0f, 0xd8, 0x5c, 0x09, 0x35, 0xdc, 0x24, 0xb4, //0x00004f48 .quad -5466001927372482545 + 0xb9, 0x6f, 0xb0, 0x06, 0xf2, 0xa5, 0x65, 0x28, //0x00004f50 .quad 2910915193077788601 + 0x13, 0x0e, 0xb4, 0x4b, 0x42, 0x13, 0x2e, 0xe1, //0x00004f58 .quad -2220816390788215277 + 0xd3, 0x45, 0x2e, 0x44, 0xb7, 0x87, 0x3f, 0xf9, //0x00004f60 .quad -486521013540076077 + 0xcb, 0x88, 0x50, 0x6f, 0x09, 0xcc, 0xbc, 0x8c, //0x00004f68 .quad -8305539271883716405 + 0x48, 0xd7, 0x39, 0x15, 0xa5, 0x69, 0x8f, 0xf7, //0x00004f70 .quad -608151266925095096 + 0xfe, 0xaa, 0x24, 0xcb, 0x0b, 0xff, 0xeb, 0xaf, //0x00004f78 .quad -5770238071427257602 + 0x1b, 0x4d, 0x88, 0x5a, 0x0e, 0x44, 0x73, 0xb5, //0x00004f80 .quad -5371875102083756773 + 0xbe, 0xd5, 0xed, 0xbd, 0xce, 0xfe, 0xe6, 0xdb, //0x00004f88 .quad -2601111570856684098 + 0x30, 0x30, 0x95, 0xf8, 0x88, 0x0a, 0x68, 0x31, //0x00004f90 .quad 3560107088838733872 + 0x97, 0xa5, 0xb4, 0x36, 0x41, 0x5f, 0x70, 0x89, //0x00004f98 .quad -8543223759426509417 + 0x3d, 0x7c, 0xba, 0x36, 0x2b, 0x0d, 0xc2, 0xfd, //0x00004fa0 .quad -161552157378970563 + 0xfc, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00004fa8 .quad -6067343680855748868 + 0x4c, 0x1b, 0x69, 0x04, 0x76, 0x90, 0x32, 0x3d, //0x00004fb0 .quad 4409745821703674700 + 0xbc, 0x42, 0x7a, 0xe5, 0xd5, 0x94, 0xbf, 0xd6, //0x00004fb8 .quad -2972493582642298180 + 0x0f, 0xb1, 0xc1, 0xc2, 0x49, 0x9a, 0x3f, 0xa6, //0x00004fc0 .quad -6467280898289979121 + 0xb5, 0x69, 0x6c, 0xaf, 0x05, 0xbd, 0x37, 0x86, //0x00004fc8 .quad -8775337516792518219 + 0x53, 0x1d, 0x72, 0x33, 0xdc, 0x80, 0xcf, 0x0f, //0x00004fd0 .quad 1139270913992301907 + 0x23, 0x84, 0x47, 0x1b, 0x47, 0xac, 0xc5, 0xa7, //0x00004fd8 .quad -6357485877563259869 + 0xa8, 0xa4, 0x4e, 0x40, 0x13, 0x61, 0xc3, 0xd3, //0x00004fe0 .quad -3187597375937010520 + 0x2b, 0x65, 0x19, 0xe2, 0x58, 0x17, 0xb7, 0xd1, //0x00004fe8 .quad -3335171328526686933 + 0xe9, 0x26, 0x31, 0x08, 0xac, 0x1c, 0x5a, 0x64, //0x00004ff0 .quad 7231123676894144233 + 0x3b, 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83, //0x00004ff8 .quad -9002011107970261189 + 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, 0x70, 0x3d, //0x00005000 .quad 4427218577690292387 + 0x0a, 0xd7, 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, //0x00005008 .quad -6640827866535438582 + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00005010 QUAD $0xcccccccccccccccc; QUAD $0xcccccccccccccccc // .space 16, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005020 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00005028 .quad -9223372036854775808 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005030 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, //0x00005038 .quad -6917529027641081856 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005040 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, //0x00005048 .quad -4035225266123964416 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005050 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00005058 .quad -432345564227567616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005060 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9c, //0x00005068 .quad -7187745005283311616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005070 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, //0x00005078 .quad -4372995238176751616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005080 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, //0x00005088 .quad -854558029293551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005090 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x96, 0x98, //0x00005098 .quad -7451627795949551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050a0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbc, 0xbe, //0x000050a8 .quad -4702848726509551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050b0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6b, 0xee, //0x000050b8 .quad -1266874889709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050c0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x95, //0x000050c8 .quad -7709325833709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050d0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x40, 0xb7, 0x43, 0xba, //0x000050d8 .quad -5024971273709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050e0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0xd4, 0xe8, //0x000050e8 .quad -1669528073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050f0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xe7, 0x84, 0x91, //0x000050f8 .quad -7960984073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005100 .quad 0 + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x20, 0xe6, 0xb5, //0x00005108 .quad -5339544073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005110 .quad 0 + 0x00, 0x00, 0x00, 0xa0, 0x31, 0xa9, 0x5f, 0xe3, //0x00005118 .quad -2062744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005120 .quad 0 + 0x00, 0x00, 0x00, 0x04, 0xbf, 0xc9, 0x1b, 0x8e, //0x00005128 .quad -8206744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005130 .quad 0 + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0xbc, 0xa2, 0xb1, //0x00005138 .quad -5646744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005140 .quad 0 + 0x00, 0x00, 0x40, 0x76, 0x3a, 0x6b, 0x0b, 0xde, //0x00005148 .quad -2446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005150 .quad 0 + 0x00, 0x00, 0xe8, 0x89, 0x04, 0x23, 0xc7, 0x8a, //0x00005158 .quad -8446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005160 .quad 0 + 0x00, 0x00, 0x62, 0xac, 0xc5, 0xeb, 0x78, 0xad, //0x00005168 .quad -5946744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005170 .quad 0 + 0x00, 0x80, 0x7a, 0x17, 0xb7, 0x26, 0xd7, 0xd8, //0x00005178 .quad -2821744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005180 .quad 0 + 0x00, 0x90, 0xac, 0x6e, 0x32, 0x78, 0x86, 0x87, //0x00005188 .quad -8681119073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005190 .quad 0 + 0x00, 0xb4, 0x57, 0x0a, 0x3f, 0x16, 0x68, 0xa9, //0x00005198 .quad -6239712823709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051a0 .quad 0 + 0x00, 0xa1, 0xed, 0xcc, 0xce, 0x1b, 0xc2, 0xd3, //0x000051a8 .quad -3187955011209551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051b0 .quad 0 + 0xa0, 0x84, 0x14, 0x40, 0x61, 0x51, 0x59, 0x84, //0x000051b8 .quad -8910000909647051616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051c0 .quad 0 + 0xc8, 0xa5, 0x19, 0x90, 0xb9, 0xa5, 0x6f, 0xa5, //0x000051c8 .quad -6525815118631426616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051d0 .quad 0 + 0x3a, 0x0f, 0x20, 0xf4, 0x27, 0x8f, 0xcb, 0xce, //0x000051d8 .quad -3545582879861895366 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, //0x000051e0 .quad 4611686018427387904 + 0x84, 0x09, 0x94, 0xf8, 0x78, 0x39, 0x3f, 0x81, //0x000051e8 .quad -9133518327554766460 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, //0x000051f0 .quad 5764607523034234880 + 0xe5, 0x0b, 0xb9, 0x36, 0xd7, 0x07, 0x8f, 0xa1, //0x000051f8 .quad -6805211891016070171 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, //0x00005200 .quad -6629298651489370112 + 0xde, 0x4e, 0x67, 0x04, 0xcd, 0xc9, 0xf2, 0xc9, //0x00005208 .quad -3894828845342699810 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, //0x00005210 .quad 5548434740920451072 + 0x96, 0x22, 0x81, 0x45, 0x40, 0x7c, 0x6f, 0xfc, //0x00005218 .quad -256850038250986858 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, //0x00005220 .quad -1143914305352105984 + 0x9d, 0xb5, 0x70, 0x2b, 0xa8, 0xad, 0xc5, 0x9d, //0x00005228 .quad -7078060301547948643 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6c, //0x00005230 .quad 7793479155164643328 + 0x05, 0xe3, 0x4c, 0x36, 0x12, 0x19, 0x37, 0xc5, //0x00005238 .quad -4235889358507547899 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xc7, //0x00005240 .quad -4093209111326359552 + 0xc6, 0x1b, 0xe0, 0xc3, 0x56, 0xdf, 0x84, 0xf6, //0x00005248 .quad -683175679707046970 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7f, 0x3c, //0x00005250 .quad 4359273333062107136 + 0x5c, 0x11, 0x6c, 0x3a, 0x96, 0x0b, 0x13, 0x9a, //0x00005258 .quad -7344513827457986212 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x9f, 0x4b, //0x00005260 .quad 5449091666327633920 + 0xb3, 0x15, 0x07, 0xc9, 0x7b, 0xce, 0x97, 0xc0, //0x00005268 .quad -4568956265895094861 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x86, 0x1e, //0x00005270 .quad 2199678564482154496 + 0x20, 0xdb, 0x48, 0xbb, 0x1a, 0xc2, 0xbd, 0xf0, //0x00005278 .quad -1099509313941480672 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x14, 0x13, //0x00005280 .quad 1374799102801346560 + 0xf4, 0x88, 0x0d, 0xb5, 0x50, 0x99, 0x76, 0x96, //0x00005288 .quad -7604722348854507276 + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x55, 0xd9, 0x17, //0x00005290 .quad 1718498878501683200 + 0x31, 0xeb, 0x50, 0xe2, 0xa4, 0x3f, 0x14, 0xbc, //0x00005298 .quad -4894216917640746191 + 0x00, 0x00, 0x00, 0x00, 0x08, 0xab, 0xcf, 0x5d, //0x000052a0 .quad 6759809616554491904 + 0xfd, 0x25, 0xe5, 0x1a, 0x8e, 0x4f, 0x19, 0xeb, //0x000052a8 .quad -1506085128623544835 + 0x00, 0x00, 0x00, 0x00, 0xe5, 0xca, 0xa1, 0x5a, //0x000052b0 .quad 6530724019560251392 + 0xbe, 0x37, 0xcf, 0xd0, 0xb8, 0xd1, 0xef, 0x92, //0x000052b8 .quad -7858832233030797378 + 0x00, 0x00, 0x00, 0x40, 0x9e, 0x3d, 0x4a, 0xf1, //0x000052c0 .quad -1059967012404461568 + 0xad, 0x05, 0x03, 0x05, 0x27, 0xc6, 0xab, 0xb7, //0x000052c8 .quad -5211854272861108819 + 0x00, 0x00, 0x00, 0xd0, 0x05, 0xcd, 0x9c, 0x6d, //0x000052d0 .quad 7898413271349198848 + 0x19, 0xc7, 0x43, 0xc6, 0xb0, 0xb7, 0x96, 0xe5, //0x000052d8 .quad -1903131822648998119 + 0x00, 0x00, 0x00, 0xa2, 0x23, 0x00, 0x82, 0xe4, //0x000052e0 .quad -1981020733047832576 + 0x6f, 0x5c, 0xea, 0x7b, 0xce, 0x32, 0x7e, 0x8f, //0x000052e8 .quad -8106986416796705681 + 0x00, 0x00, 0x80, 0x8a, 0x2c, 0x80, 0xa2, 0xdd, //0x000052f0 .quad -2476275916309790720 + 0x8b, 0xf3, 0xe4, 0x1a, 0x82, 0xbf, 0x5d, 0xb3, //0x000052f8 .quad -5522047002568494197 + 0x00, 0x00, 0x20, 0xad, 0x37, 0x20, 0x0b, 0xd5, //0x00005300 .quad -3095344895387238400 + 0x6e, 0x30, 0x9e, 0xa1, 0x62, 0x2f, 0x35, 0xe0, //0x00005308 .quad -2290872734783229842 + 0x00, 0x00, 0x34, 0xcc, 0x22, 0xf4, 0x26, 0x45, //0x00005310 .quad 4982938468024057856 + 0x45, 0xde, 0x02, 0xa5, 0x9d, 0x3d, 0x21, 0x8c, //0x00005318 .quad -8349324486880600507 + 0x00, 0x00, 0x41, 0x7f, 0x2b, 0xb1, 0x70, 0x96, //0x00005320 .quad -7606384970252091392 + 0xd6, 0x95, 0x43, 0x0e, 0x05, 0x8d, 0x29, 0xaf, //0x00005328 .quad -5824969590173362730 + 0x00, 0x40, 0x11, 0x5f, 0x76, 0xdd, 0x0c, 0x3c, //0x00005330 .quad 4327076842467049472 + 0x4c, 0x7b, 0xd4, 0x51, 0x46, 0xf0, 0xf3, 0xda, //0x00005338 .quad -2669525969289315508 + 0x00, 0xc8, 0x6a, 0xfb, 0x69, 0x0a, 0x88, 0xa5, //0x00005340 .quad -6518949010312869888 + 0x0f, 0xcd, 0x24, 0xf3, 0x2b, 0x76, 0xd8, 0x88, //0x00005348 .quad -8585982758446904049 + 0x00, 0x7a, 0x45, 0x7a, 0x04, 0x0d, 0xea, 0x8e, //0x00005350 .quad -8148686262891087360 + 0x53, 0x00, 0xee, 0xef, 0xb6, 0x93, 0x0e, 0xab, //0x00005358 .quad -6120792429631242157 + 0x80, 0xd8, 0xd6, 0x98, 0x45, 0x90, 0xa4, 0x72, //0x00005360 .quad 8260886245095692416 + 0x68, 0x80, 0xe9, 0xab, 0xa4, 0x38, 0xd2, 0xd5, //0x00005368 .quad -3039304518611664792 + 0x50, 0x47, 0x86, 0x7f, 0x2b, 0xda, 0xa6, 0x47, //0x00005370 .quad 5163053903184807760 + 0x41, 0xf0, 0x71, 0xeb, 0x66, 0x63, 0xa3, 0x85, //0x00005378 .quad -8817094351773372351 + 0x24, 0xd9, 0x67, 0x5f, 0xb6, 0x90, 0x90, 0x99, //0x00005380 .quad -7381240676301154012 + 0x51, 0x6c, 0x4e, 0xa6, 0x40, 0x3c, 0x0c, 0xa7, //0x00005388 .quad -6409681921289327535 + 0x6d, 0xcf, 0x41, 0xf7, 0xe3, 0xb4, 0xf4, 0xff, //0x00005390 .quad -3178808521666707 + 0x65, 0x07, 0xe2, 0xcf, 0x50, 0x4b, 0xcf, 0xd0, //0x00005398 .quad -3400416383184271515 + 0xa4, 0x21, 0x89, 0x7a, 0x0e, 0xf1, 0xf8, 0xbf, //0x000053a0 .quad -4613672773753429596 + 0x9f, 0x44, 0xed, 0x81, 0x12, 0x8f, 0x81, 0x82, //0x000053a8 .quad -9042789267131251553 + 0x0d, 0x6a, 0x2b, 0x19, 0x52, 0x2d, 0xf7, 0xaf, //0x000053b0 .quad -5767090967191786995 + 0xc7, 0x95, 0x68, 0x22, 0xd7, 0xf2, 0x21, 0xa3, //0x000053b8 .quad -6691800565486676537 + 0x90, 0x44, 0x76, 0x9f, 0xa6, 0xf8, 0xf4, 0x9b, //0x000053c0 .quad -7208863708989733744 + 0x39, 0xbb, 0x02, 0xeb, 0x8c, 0x6f, 0xea, 0xcb, //0x000053c8 .quad -3753064688430957767 + 0xb4, 0xd5, 0x53, 0x47, 0xd0, 0x36, 0xf2, 0x02, //0x000053d0 .quad 212292400617608628 + 0x08, 0x6a, 0xc3, 0x25, 0x70, 0x0b, 0xe5, 0xfe, //0x000053d8 .quad -79644842111309304 + 0x90, 0x65, 0x94, 0x2c, 0x42, 0x62, 0xd7, 0x01, //0x000053e0 .quad 132682750386005392 + 0x45, 0x22, 0x9a, 0x17, 0x26, 0x27, 0x4f, 0x9f, //0x000053e8 .quad -6967307053960650171 + 0xf5, 0x7e, 0xb9, 0xb7, 0xd2, 0x3a, 0x4d, 0x42, //0x000053f0 .quad 4777539456409894645 + 0xd6, 0xaa, 0x80, 0x9d, 0xef, 0xf0, 0x22, 0xc7, //0x000053f8 .quad -4097447799023424810 + 0xb2, 0xde, 0xa7, 0x65, 0x87, 0x89, 0xe0, 0xd2, //0x00005400 .quad -3251447716342407502 + 0x8b, 0xd5, 0xe0, 0x84, 0x2b, 0xad, 0xeb, 0xf8, //0x00005408 .quad -510123730351893109 + 0x2f, 0xeb, 0x88, 0x9f, 0xf4, 0x55, 0xcc, 0x63, //0x00005410 .quad 7191217214140771119 + 0x77, 0x85, 0x0c, 0x33, 0x3b, 0x4c, 0x93, 0x9b, //0x00005418 .quad -7236356359111015049 + 0xfb, 0x25, 0x6b, 0xc7, 0x71, 0x6b, 0xbf, 0x3c, //0x00005420 .quad 4377335499248575995 + 0xd5, 0xa6, 0xcf, 0xff, 0x49, 0x1f, 0x78, 0xc2, //0x00005428 .quad -4433759430461380907 + 0x7a, 0xef, 0x45, 0x39, 0x4e, 0x46, 0xef, 0x8b, //0x00005430 .quad -8363388681221443718 + 0x8a, 0x90, 0xc3, 0x7f, 0x1c, 0x27, 0x16, 0xf3, //0x00005438 .quad -930513269649338230 + 0xac, 0xb5, 0xcb, 0xe3, 0xf0, 0x8b, 0x75, 0x97, //0x00005440 .quad -7532960934977096276 + 0x56, 0x3a, 0xda, 0xcf, 0x71, 0xd8, 0xed, 0x97, //0x00005448 .quad -7499099821171918250 + 0x17, 0xa3, 0xbe, 0x1c, 0xed, 0xee, 0x52, 0x3d, //0x00005450 .quad 4418856886560793367 + 0xec, 0xc8, 0xd0, 0x43, 0x8e, 0x4e, 0xe9, 0xbd, //0x00005458 .quad -4762188758037509908 + 0xdd, 0x4b, 0xee, 0x63, 0xa8, 0xaa, 0xa7, 0x4c, //0x00005460 .quad 5523571108200991709 + 0x27, 0xfb, 0xc4, 0xd4, 0x31, 0xa2, 0x63, 0xed, //0x00005468 .quad -1341049929119499481 + 0x6a, 0xef, 0x74, 0x3e, 0xa9, 0xca, 0xe8, 0x8f, //0x00005470 .quad -8076983103442849942 + 0xf8, 0x1c, 0xfb, 0x24, 0x5f, 0x45, 0x5e, 0x94, //0x00005478 .quad -7755685233340769032 + 0x44, 0x2b, 0x12, 0x8e, 0x53, 0xfd, 0xe2, 0xb3, //0x00005480 .quad -5484542860876174524 + 0x36, 0xe4, 0x39, 0xee, 0xb6, 0xd6, 0x75, 0xb9, //0x00005488 .quad -5082920523248573386 + 0x16, 0xb6, 0x96, 0x71, 0xa8, 0xbc, 0xdb, 0x60, //0x00005490 .quad 6979379479186945558 + 0x44, 0x5d, 0xc8, 0xa9, 0x64, 0x4c, 0xd3, 0xe7, //0x00005498 .quad -1741964635633328828 + 0xcd, 0x31, 0xfe, 0x46, 0xe9, 0x55, 0x89, 0xbc, //0x000054a0 .quad -4861259862362934835 + 0x4a, 0x3a, 0x1d, 0xea, 0xbe, 0x0f, 0xe4, 0x90, //0x000054a8 .quad -8006256924911912374 + 0x41, 0xbe, 0xbd, 0x98, 0x63, 0xab, 0xab, 0x6b, //0x000054b0 .quad 7758483227328495169 + 0xdd, 0x88, 0xa4, 0xa4, 0xae, 0x13, 0x1d, 0xb5, //0x000054b8 .quad -5396135137712502563 + 0xd1, 0x2d, 0xed, 0x7e, 0x3c, 0x96, 0x96, 0xc6, //0x000054c0 .quad -4136954021121544751 + 0x14, 0xab, 0xcd, 0x4d, 0x9a, 0x58, 0x64, 0xe2, //0x000054c8 .quad -2133482903713240300 + 0xa2, 0x3c, 0x54, 0xcf, 0xe5, 0x1d, 0x1e, 0xfc, //0x000054d0 .quad -279753253987271518 + 0xec, 0x8a, 0xa0, 0x70, 0x60, 0xb7, 0x7e, 0x8d, //0x000054d8 .quad -8250955842461857044 + 0xcb, 0x4b, 0x29, 0x43, 0x5f, 0xa5, 0x25, 0x3b, //0x000054e0 .quad 4261994450943298507 + 0xa8, 0xad, 0xc8, 0x8c, 0x38, 0x65, 0xde, 0xb0, //0x000054e8 .quad -5702008784649933400 + 0xbe, 0x9e, 0xf3, 0x13, 0xb7, 0x0e, 0xef, 0x49, //0x000054f0 .quad 5327493063679123134 + 0x12, 0xd9, 0xfa, 0xaf, 0x86, 0xfe, 0x15, 0xdd, //0x000054f8 .quad -2515824962385028846 + 0x37, 0x43, 0x78, 0x6c, 0x32, 0x69, 0x35, 0x6e, //0x00005500 .quad 7941369183226839863 + 0xab, 0xc7, 0xfc, 0x2d, 0x14, 0xbf, 0x2d, 0x8a, //0x00005508 .quad -8489919629131724885 + 0x04, 0x54, 0x96, 0x07, 0x7f, 0xc3, 0xc2, 0x49, //0x00005510 .quad 5315025460606161924 + 0x96, 0xf9, 0x7b, 0x39, 0xd9, 0x2e, 0xb9, 0xac, //0x00005518 .quad -6000713517987268202 + 0x06, 0xe9, 0x7b, 0xc9, 0x5e, 0x74, 0x33, 0xdc, //0x00005520 .quad -2579590211097073402 + 0xfb, 0xf7, 0xda, 0x87, 0x8f, 0x7a, 0xe7, 0xd7, //0x00005528 .quad -2889205879056697349 + 0xa3, 0x71, 0xed, 0x3d, 0xbb, 0x28, 0xa0, 0x69, //0x00005530 .quad 7611128154919104931 + 0xfd, 0xda, 0xe8, 0xb4, 0x99, 0xac, 0xf0, 0x86, //0x00005538 .quad -8723282702051517699 + 0x0c, 0xce, 0x68, 0x0d, 0xea, 0x32, 0x08, 0xc4, //0x00005540 .quad -4321147861633282548 + 0xbc, 0x11, 0x23, 0x22, 0xc0, 0xd7, 0xac, 0xa8, //0x00005548 .quad -6292417359137009220 + 0x90, 0x01, 0xc3, 0x90, 0xa4, 0x3f, 0x0a, 0xf5, //0x00005550 .quad -789748808614215280 + 0x2b, 0xd6, 0xab, 0x2a, 0xb0, 0x0d, 0xd8, 0xd2, //0x00005558 .quad -3253835680493873621 + 0xfa, 0xe0, 0x79, 0xda, 0xc6, 0x67, 0x26, 0x79, //0x00005560 .quad 8729779031470891258 + 0xdb, 0x65, 0xab, 0x1a, 0x8e, 0x08, 0xc7, 0x83, //0x00005568 .quad -8951176327949752869 + 0x38, 0x59, 0x18, 0x91, 0xb8, 0x01, 0x70, 0x57, //0x00005570 .quad 6300537770911226168 + 0x52, 0x3f, 0x56, 0xa1, 0xb1, 0xca, 0xb8, 0xa4, //0x00005578 .quad -6577284391509803182 + 0x86, 0x6f, 0x5e, 0xb5, 0x26, 0x02, 0x4c, 0xed, //0x00005580 .quad -1347699823215743098 + 0x26, 0xcf, 0xab, 0x09, 0x5e, 0xfd, 0xe6, 0xcd, //0x00005588 .quad -3609919470959866074 + 0xb4, 0x05, 0x5b, 0x31, 0x58, 0x81, 0x4f, 0x54, //0x00005590 .quad 6075216638131242420 + 0x78, 0x61, 0x0b, 0xc6, 0x5a, 0x5e, 0xb0, 0x80, //0x00005598 .quad -9173728696990998152 + 0x21, 0xc7, 0xb1, 0x3d, 0xae, 0x61, 0x63, 0x69, //0x000055a0 .quad 7594020797664053025 + 0xd6, 0x39, 0x8e, 0x77, 0xf1, 0x75, 0xdc, 0xa0, //0x000055a8 .quad -6855474852811359786 + 0xe9, 0x38, 0x1e, 0xcd, 0x19, 0x3a, 0xbc, 0x03, //0x000055b0 .quad 269153960225290473 + 0x4c, 0xc8, 0x71, 0xd5, 0x6d, 0x93, 0x13, 0xc9, //0x000055b8 .quad -3957657547586811828 + 0x23, 0xc7, 0x65, 0x40, 0xa0, 0x48, 0xab, 0x04, //0x000055c0 .quad 336442450281613091 + 0x5f, 0x3a, 0xce, 0x4a, 0x49, 0x78, 0x58, 0xfb, //0x000055c8 .quad -335385916056126881 + 0x76, 0x9c, 0x3f, 0x28, 0x64, 0x0d, 0xeb, 0x62, //0x000055d0 .quad 7127805559067090038 + 0x7b, 0xe4, 0xc0, 0xce, 0x2d, 0x4b, 0x17, 0x9d, //0x000055d8 .quad -7127145225176161157 + 0x94, 0x83, 0x4f, 0x32, 0xbd, 0xd0, 0xa5, 0x3b, //0x000055e0 .quad 4298070930406474644 + 0x9a, 0x1d, 0x71, 0x42, 0xf9, 0x1d, 0x5d, 0xc4, //0x000055e8 .quad -4297245513042813542 + 0x79, 0x64, 0xe3, 0x7e, 0xec, 0x44, 0x8f, 0xca, //0x000055f0 .quad -3850783373846682503 + 0x00, 0x65, 0x0d, 0x93, 0x77, 0x65, 0x74, 0xf5, //0x000055f8 .quad -759870872876129024 + 0xcb, 0x1e, 0x4e, 0xcf, 0x13, 0x8b, 0x99, 0x7e, //0x00005600 .quad 9122475437414293195 + 0x20, 0x5f, 0xe8, 0xbb, 0x6a, 0xbf, 0x68, 0x99, //0x00005608 .quad -7392448323188662496 + 0x7e, 0xa6, 0x21, 0xc3, 0xd8, 0xed, 0x3f, 0x9e, //0x00005610 .quad -7043649776941685122 + 0xe8, 0x76, 0xe2, 0x6a, 0x45, 0xef, 0xc2, 0xbf, //0x00005618 .quad -4628874385558440216 + 0x1e, 0x10, 0xea, 0xf3, 0x4e, 0xe9, 0xcf, 0xc5, //0x00005620 .quad -4192876202749718498 + 0xa2, 0x14, 0x9b, 0xc5, 0x16, 0xab, 0xb3, 0xef, //0x00005628 .quad -1174406963520662366 + 0x12, 0x4a, 0x72, 0x58, 0xd1, 0xf1, 0xa1, 0xbb, //0x00005630 .quad -4926390635932268014 + 0xe5, 0xec, 0x80, 0x3b, 0xee, 0x4a, 0xd0, 0x95, //0x00005638 .quad -7651533379841495835 + 0x97, 0xdc, 0x8e, 0xae, 0x45, 0x6e, 0x8a, 0x2a, //0x00005640 .quad 3065383741939440791 + 0x1f, 0x28, 0x61, 0xca, 0xa9, 0x5d, 0x44, 0xbb, //0x00005648 .quad -4952730706374481889 + 0xbd, 0x93, 0x32, 0x1a, 0xd7, 0x09, 0x2d, 0xf5, //0x00005650 .quad -779956341003086915 + 0x26, 0x72, 0xf9, 0x3c, 0x14, 0x75, 0x15, 0xea, //0x00005658 .quad -1579227364540714458 + 0x56, 0x9c, 0x5f, 0x70, 0x26, 0x26, 0x3c, 0x59, //0x00005660 .quad 6430056314514152534 + 0x58, 0xe7, 0x1b, 0xa6, 0x2c, 0x69, 0x4d, 0x92, //0x00005668 .quad -7904546130479028392 + 0x6c, 0x83, 0x77, 0x0c, 0xb0, 0x2f, 0x8b, 0x6f, //0x00005670 .quad 8037570393142690668 + 0x2e, 0xe1, 0xa2, 0xcf, 0x77, 0xc3, 0xe0, 0xb6, //0x00005678 .quad -5268996644671397586 + 0x47, 0x64, 0x95, 0x0f, 0x9c, 0xfb, 0x6d, 0x0b, //0x00005680 .quad 823590954573587527 + 0x7a, 0x99, 0x8b, 0xc3, 0x55, 0xf4, 0x98, 0xe4, //0x00005688 .quad -1974559787411859078 + 0xac, 0x5e, 0xbd, 0x89, 0x41, 0xbd, 0x24, 0x47, //0x00005690 .quad 5126430365035880108 + 0xec, 0x3f, 0x37, 0x9a, 0xb5, 0x98, 0xdf, 0x8e, //0x00005698 .quad -8151628894773493780 + 0x57, 0xb6, 0x2c, 0xec, 0x91, 0xec, 0xed, 0x58, //0x000056a0 .quad 6408037956294850135 + 0xe7, 0x0f, 0xc5, 0x00, 0xe3, 0x7e, 0x97, 0xb2, //0x000056a8 .quad -5577850100039479321 + 0xed, 0xe3, 0x37, 0x67, 0xb6, 0x67, 0x29, 0x2f, //0x000056b0 .quad 3398361426941174765 + 0xe1, 0x53, 0xf6, 0xc0, 0x9b, 0x5e, 0x3d, 0xdf, //0x000056b8 .quad -2360626606621961247 + 0x74, 0xee, 0x82, 0x00, 0xd2, 0xe0, 0x79, 0xbd, //0x000056c0 .quad -4793553135802847628 + 0x6c, 0xf4, 0x99, 0x58, 0x21, 0x5b, 0x86, 0x8b, //0x000056c8 .quad -8392920656779807636 + 0x11, 0xaa, 0xa3, 0x80, 0x06, 0x59, 0xd8, 0xec, //0x000056d0 .quad -1380255401326171631 + 0x87, 0x71, 0xc0, 0xae, 0xe9, 0xf1, 0x67, 0xae, //0x000056d8 .quad -5879464802547371641 + 0x95, 0x94, 0xcc, 0x20, 0x48, 0x6f, 0x0e, 0xe8, //0x000056e0 .quad -1725319251657714539 + 0xe9, 0x8d, 0x70, 0x1a, 0x64, 0xee, 0x01, 0xda, //0x000056e8 .quad -2737644984756826647 + 0xdd, 0xdc, 0x7f, 0x14, 0x8d, 0x05, 0x09, 0x31, //0x000056f0 .quad 3533361486141316317 + 0xb2, 0x58, 0x86, 0x90, 0xfe, 0x34, 0x41, 0x88, //0x000056f8 .quad -8628557143114098510 + 0x15, 0xd4, 0x9f, 0x59, 0xf0, 0x46, 0x4b, 0xbd, //0x00005700 .quad -4806670179178130411 + 0xde, 0xee, 0xa7, 0x34, 0x3e, 0x82, 0x51, 0xaa, //0x00005708 .quad -6174010410465235234 + 0x1a, 0xc9, 0x07, 0x70, 0xac, 0x18, 0x9e, 0x6c, //0x00005710 .quad 7826720331309500698 + 0x96, 0xea, 0xd1, 0xc1, 0xcd, 0xe2, 0xe5, 0xd4, //0x00005718 .quad -3105826994654156138 + 0xb0, 0xdd, 0x04, 0xc6, 0x6b, 0xcf, 0xe2, 0x03, //0x00005720 .quad 280014188641050032 + 0x9e, 0x32, 0x23, 0x99, 0xc0, 0xad, 0x0f, 0x85, //0x00005728 .quad -8858670899299929442 + 0x1c, 0x15, 0x86, 0xb7, 0x46, 0x83, 0xdb, 0x84, //0x00005730 .quad -8873354301053463268 + 0x45, 0xff, 0x6b, 0xbf, 0x30, 0x99, 0x53, 0xa6, //0x00005738 .quad -6461652605697523899 + 0x63, 0x9a, 0x67, 0x65, 0x18, 0x64, 0x12, 0xe6, //0x00005740 .quad -1868320839462053277 + 0x16, 0xff, 0x46, 0xef, 0x7c, 0x7f, 0xe8, 0xcf, //0x00005748 .quad -3465379738694516970 + 0x7e, 0xc0, 0x60, 0x3f, 0x8f, 0x7e, 0xcb, 0x4f, //0x00005750 .quad 5749828502977298558 + 0x6e, 0x5f, 0x8c, 0x15, 0xae, 0x4f, 0xf1, 0x81, //0x00005758 .quad -9083391364325154962 + 0x9d, 0xf0, 0x38, 0x0f, 0x33, 0x5e, 0xbe, 0xe3, //0x00005760 .quad -2036086408133152611 + 0x49, 0x77, 0xef, 0x9a, 0x99, 0xa3, 0x6d, 0xa2, //0x00005768 .quad -6742553186979055799 + 0xc5, 0x2c, 0x07, 0xd3, 0xbf, 0xf5, 0xad, 0x5c, //0x00005770 .quad 6678264026688335045 + 0x1c, 0x55, 0xab, 0x01, 0x80, 0x0c, 0x09, 0xcb, //0x00005778 .quad -3816505465296431844 + 0xf6, 0xf7, 0xc8, 0xc7, 0x2f, 0x73, 0xd9, 0x73, //0x00005780 .quad 8347830033360418806 + 0x63, 0x2a, 0x16, 0x02, 0xa0, 0x4f, 0xcb, 0xfd, //0x00005788 .quad -158945813193151901 + 0xfa, 0x9a, 0xdd, 0xdc, 0xfd, 0xe7, 0x67, 0x28, //0x00005790 .quad 2911550761636567802 + 0x7e, 0xda, 0x4d, 0x01, 0xc4, 0x11, 0x9f, 0x9e, //0x00005798 .quad -7016870160886801794 + 0xb8, 0x01, 0x15, 0x54, 0xfd, 0xe1, 0x81, 0xb2, //0x000057a0 .quad -5583933584809066056 + 0x1d, 0x51, 0xa1, 0x01, 0x35, 0xd6, 0x46, 0xc6, //0x000057a8 .quad -4159401682681114339 + 0x26, 0x42, 0x1a, 0xa9, 0x7c, 0x5a, 0x22, 0x1f, //0x000057b0 .quad 2243455055843443238 + 0x65, 0xa5, 0x09, 0x42, 0xc2, 0x8b, 0xd8, 0xf7, //0x000057b8 .quad -587566084924005019 + 0x58, 0x69, 0xb0, 0xe9, 0x8d, 0x78, 0x75, 0x33, //0x000057c0 .quad 3708002419115845976 + 0x5f, 0x07, 0x46, 0x69, 0x59, 0x57, 0xe7, 0x9a, //0x000057c8 .quad -7284757830718584993 + 0xae, 0x83, 0x1c, 0x64, 0xb1, 0xd6, 0x52, 0x00, //0x000057d0 .quad 23317005467419566 + 0x37, 0x89, 0x97, 0xc3, 0x2f, 0x2d, 0xa1, 0xc1, //0x000057d8 .quad -4494261269970843337 + 0x9a, 0xa4, 0x23, 0xbd, 0x5d, 0x8c, 0x67, 0xc0, //0x000057e0 .quad -4582539761593113446 + 0x84, 0x6b, 0x7d, 0xb4, 0x7b, 0x78, 0x09, 0xf2, //0x000057e8 .quad -1006140569036166268 + 0xe0, 0x46, 0x36, 0x96, 0xba, 0xb7, 0x40, 0xf8, //0x000057f0 .quad -558244341782001952 + 0x32, 0x63, 0xce, 0x50, 0x4d, 0xeb, 0x45, 0x97, //0x000057f8 .quad -7546366883288685774 + 0x98, 0xd8, 0xc3, 0x3b, 0xa9, 0xe5, 0x50, 0xb6, //0x00005800 .quad -5309491445654890344 + 0xff, 0xfb, 0x01, 0xa5, 0x20, 0x66, 0x17, 0xbd, //0x00005808 .quad -4821272585683469313 + 0xbe, 0xce, 0xb4, 0x8a, 0x13, 0x1f, 0xe5, 0xa3, //0x00005810 .quad -6636864307068612930 + 0xff, 0x7a, 0x42, 0xce, 0xa8, 0x3f, 0x5d, 0xec, //0x00005818 .quad -1414904713676948737 + 0x37, 0x01, 0xb1, 0x36, 0x6c, 0x33, 0x6f, 0xc6, //0x00005820 .quad -4148040191917883081 + 0xdf, 0x8c, 0xe9, 0x80, 0xc9, 0x47, 0xba, 0x93, //0x00005828 .quad -7801844473689174817 + 0x84, 0x41, 0x5d, 0x44, 0x47, 0x00, 0x0b, 0xb8, //0x00005830 .quad -5185050239897353852 + 0x17, 0xf0, 0x23, 0xe1, 0xbb, 0xd9, 0xa8, 0xb8, //0x00005838 .quad -5140619573684080617 + 0xe5, 0x91, 0x74, 0x15, 0x59, 0xc0, 0x0d, 0xa6, //0x00005840 .quad -6481312799871692315 + 0x1d, 0xec, 0x6c, 0xd9, 0x2a, 0x10, 0xd3, 0xe6, //0x00005848 .quad -1814088448677712867 + 0x2f, 0xdb, 0x68, 0xad, 0x37, 0x98, 0xc8, 0x87, //0x00005850 .quad -8662506518347195601 + 0x92, 0x13, 0xe4, 0xc7, 0x1a, 0xea, 0x43, 0x90, //0x00005858 .quad -8051334308064652398 + 0xfb, 0x11, 0xc3, 0x98, 0x45, 0xbe, 0xba, 0x29, //0x00005860 .quad 3006924907348169211 + 0x77, 0x18, 0xdd, 0x79, 0xa1, 0xe4, 0x54, 0xb4, //0x00005868 .quad -5452481866653427593 + 0x7a, 0xd6, 0xf3, 0xfe, 0xd6, 0x6d, 0x29, 0xf4, //0x00005870 .quad -853029884242176390 + 0x94, 0x5e, 0x54, 0xd8, 0xc9, 0x1d, 0x6a, 0xe1, //0x00005878 .quad -2203916314889396588 + 0x0c, 0x66, 0x58, 0x5f, 0xa6, 0xe4, 0x99, 0x18, //0x00005880 .quad 1772699331562333708 + 0x1d, 0xbb, 0x34, 0x27, 0x9e, 0x52, 0xe2, 0x8c, //0x00005888 .quad -8294976724446954723 + 0x8f, 0x7f, 0x2e, 0xf7, 0xcf, 0x5d, 0xc0, 0x5e, //0x00005890 .quad 6827560182880305039 + 0xe4, 0xe9, 0x01, 0xb1, 0x45, 0xe7, 0x1a, 0xb0, //0x00005898 .quad -5757034887131305500 + 0x73, 0x1f, 0xfa, 0xf4, 0x43, 0x75, 0x70, 0x76, //0x000058a0 .quad 8534450228600381299 + 0x5d, 0x64, 0x42, 0x1d, 0x17, 0xa1, 0x21, 0xdc, //0x000058a8 .quad -2584607590486743971 + 0xa8, 0x53, 0x1c, 0x79, 0x4a, 0x49, 0x06, 0x6a, //0x000058b0 .quad 7639874402088932264 + 0xba, 0x7e, 0x49, 0x72, 0xae, 0x04, 0x95, 0x89, //0x000058b8 .quad -8532908771695296838 + 0x92, 0x68, 0x63, 0x17, 0x9d, 0xdb, 0x87, 0x04, //0x000058c0 .quad 326470965756389522 + 0x69, 0xde, 0xdb, 0x0e, 0xda, 0x45, 0xfa, 0xab, //0x000058c8 .quad -6054449946191733143 + 0xb6, 0x42, 0x3c, 0x5d, 0x84, 0xd2, 0xa9, 0x45, //0x000058d0 .quad 5019774725622874806 + 0x03, 0xd6, 0x92, 0x92, 0x50, 0xd7, 0xf8, 0xd6, //0x000058d8 .quad -2956376414312278525 + 0xb2, 0xa9, 0x45, 0xba, 0x92, 0x23, 0x8a, 0x0b, //0x000058e0 .quad 831516194300602802 + 0xc2, 0xc5, 0x9b, 0x5b, 0x92, 0x86, 0x5b, 0x86, //0x000058e8 .quad -8765264286586255934 + 0x1e, 0x14, 0xd7, 0x68, 0x77, 0xac, 0x6c, 0x8e, //0x000058f0 .quad -8183976793979022306 + 0x32, 0xb7, 0x82, 0xf2, 0x36, 0x68, 0xf2, 0xa7, //0x000058f8 .quad -6344894339805432014 + 0x26, 0xd9, 0x0c, 0x43, 0x95, 0xd7, 0x07, 0x32, //0x00005900 .quad 3605087062808385830 + 0xff, 0x64, 0x23, 0xaf, 0x44, 0x02, 0xef, 0xd1, //0x00005908 .quad -3319431906329402113 + 0xb8, 0x07, 0xe8, 0x49, 0xbd, 0xe6, 0x44, 0x7f, //0x00005910 .quad 9170708441896323000 + 0x1f, 0x1f, 0x76, 0xed, 0x6a, 0x61, 0x35, 0x83, //0x00005918 .quad -8992173969096958177 + 0xa6, 0x09, 0x62, 0x9c, 0x6c, 0x20, 0x16, 0x5f, //0x00005920 .quad 6851699533943015846 + 0xe7, 0xa6, 0xd3, 0xa8, 0xc5, 0xb9, 0x02, 0xa4, //0x00005928 .quad -6628531442943809817 + 0x0f, 0x8c, 0x7a, 0xc3, 0x87, 0xa8, 0xdb, 0x36, //0x00005930 .quad 3952938399001381903 + 0xa1, 0x90, 0x08, 0x13, 0x37, 0x68, 0x03, 0xcd, //0x00005938 .quad -3673978285252374367 + 0x89, 0x97, 0x2c, 0xda, 0x54, 0x49, 0x49, 0xc2, //0x00005940 .quad -4446942528265218167 + 0x64, 0x5a, 0xe5, 0x6b, 0x22, 0x21, 0x22, 0x80, //0x00005948 .quad -9213765455923815836 + 0x6c, 0xbd, 0xb7, 0x10, 0xaa, 0x9b, 0xdb, 0xf2, //0x00005950 .quad -946992141904134804 + 0xfd, 0xb0, 0xde, 0x06, 0x6b, 0xa9, 0x2a, 0xa0, //0x00005958 .quad -6905520801477381891 + 0xc7, 0xac, 0xe5, 0x94, 0x94, 0x82, 0x92, 0x6f, //0x00005960 .quad 8039631859474607303 + 0x3d, 0x5d, 0x96, 0xc8, 0xc5, 0x53, 0x35, 0xc8, //0x00005968 .quad -4020214983419339459 + 0xf9, 0x17, 0x1f, 0xba, 0x39, 0x23, 0x77, 0xcb, //0x00005970 .quad -3785518230938904583 + 0x8c, 0xf4, 0xbb, 0x3a, 0xb7, 0xa8, 0x42, 0xfa, //0x00005978 .quad -413582710846786420 + 0xfb, 0x6e, 0x53, 0x14, 0x04, 0x76, 0x2a, 0xff, //0x00005980 .quad -60105885123121413 + 0xd7, 0x78, 0xb5, 0x84, 0x72, 0xa9, 0x69, 0x9c, //0x00005988 .quad -7176018221920323369 + 0xba, 0x4a, 0x68, 0x19, 0x85, 0x13, 0xf5, 0xfe, //0x00005990 .quad -75132356403901766 + 0x0d, 0xd7, 0xe2, 0x25, 0xcf, 0x13, 0x84, 0xc3, //0x00005998 .quad -4358336758973016307 + 0x69, 0x5d, 0xc2, 0x5f, 0x66, 0x58, 0xb2, 0x7e, //0x000059a0 .quad 9129456591349898601 + 0xd1, 0x8c, 0x5b, 0xef, 0xc2, 0x18, 0x65, 0xf4, //0x000059a8 .quad -836234930288882479 + 0x61, 0x7a, 0xd9, 0xfb, 0x3f, 0x77, 0x2f, 0xef, //0x000059b0 .quad -1211618658047395231 + 0x02, 0x38, 0x99, 0xd5, 0x79, 0x2f, 0xbf, 0x98, //0x000059b8 .quad -7440175859071633406 + 0xfa, 0xd8, 0xcf, 0xfa, 0x0f, 0x55, 0xfb, 0xaa, //0x000059c0 .quad -6126209340986631942 + 0x03, 0x86, 0xff, 0x4a, 0x58, 0xfb, 0xee, 0xbe, //0x000059c8 .quad -4688533805412153853 + 0x38, 0xcf, 0x83, 0xf9, 0x53, 0x2a, 0xba, 0x95, //0x000059d0 .quad -7657761676233289928 + 0x84, 0x67, 0xbf, 0x5d, 0x2e, 0xba, 0xaa, 0xee, //0x000059d8 .quad -1248981238337804412 + 0x83, 0x61, 0xf2, 0x7b, 0x74, 0x5a, 0x94, 0xdd, //0x000059e0 .quad -2480258038432112253 + 0xb2, 0xa0, 0x97, 0xfa, 0x5c, 0xb4, 0x2a, 0x95, //0x000059e8 .quad -7698142301602209614 + 0xe4, 0xf9, 0xee, 0x9a, 0x11, 0x71, 0xf9, 0x94, //0x000059f0 .quad -7712008566467528220 + 0xdf, 0x88, 0x3d, 0x39, 0x74, 0x61, 0x75, 0xba, //0x000059f8 .quad -5010991858575374113 + 0x5d, 0xb8, 0xaa, 0x01, 0x56, 0xcd, 0x37, 0x7a, //0x00005a00 .quad 8806733365625141341 + 0x17, 0xeb, 0x8c, 0x47, 0xd1, 0xb9, 0x12, 0xe9, //0x00005a08 .quad -1652053804791829737 + 0x3a, 0xb3, 0x0a, 0xc1, 0x55, 0xe0, 0x62, 0xac, //0x00005a10 .quad -6025006692552756422 + 0xee, 0x12, 0xb8, 0xcc, 0x22, 0xb4, 0xab, 0x91, //0x00005a18 .quad -7950062655635975442 + 0x09, 0x60, 0x4d, 0x31, 0x6b, 0x98, 0x7b, 0x57, //0x00005a20 .quad 6303799689591218185 + 0xaa, 0x17, 0xe6, 0x7f, 0x2b, 0xa1, 0x16, 0xb6, //0x00005a28 .quad -5325892301117581398 + 0x0b, 0xb8, 0xa0, 0xfd, 0x85, 0x7e, 0x5a, 0xed, //0x00005a30 .quad -1343622424865753077 + 0x94, 0x9d, 0xdf, 0x5f, 0x76, 0x49, 0x9c, 0xe3, //0x00005a38 .quad -2045679357969588844 + 0x07, 0x73, 0x84, 0xbe, 0x13, 0x8f, 0x58, 0x14, //0x00005a40 .quad 1466078993672598279 + 0x7d, 0xc2, 0xeb, 0xfb, 0xe9, 0xad, 0x41, 0x8e, //0x00005a48 .quad -8196078626372074883 + 0xc8, 0x8f, 0x25, 0xae, 0xd8, 0xb2, 0x6e, 0x59, //0x00005a50 .quad 6444284760518135752 + 0x1c, 0xb3, 0xe6, 0x7a, 0x64, 0x19, 0xd2, 0xb1, //0x00005a58 .quad -5633412264537705700 + 0xbb, 0xf3, 0xae, 0xd9, 0x8e, 0x5f, 0xca, 0x6f, //0x00005a60 .quad 8055355950647669691 + 0xe3, 0x5f, 0xa0, 0x99, 0xbd, 0x9f, 0x46, 0xde, //0x00005a68 .quad -2430079312244744221 + 0x54, 0x58, 0x0d, 0x48, 0xb9, 0x7b, 0xde, 0x25, //0x00005a70 .quad 2728754459941099604 + 0xee, 0x3b, 0x04, 0x80, 0xd6, 0x23, 0xec, 0x8a, //0x00005a78 .quad -8436328597794046994 + 0x6a, 0xae, 0x10, 0x9a, 0xa7, 0x1a, 0x56, 0xaf, //0x00005a80 .quad -5812428961928401302 + 0xe9, 0x4a, 0x05, 0x20, 0xcc, 0x2c, 0xa7, 0xad, //0x00005a88 .quad -5933724728815170839 + 0x04, 0xda, 0x94, 0x80, 0x51, 0xa1, 0x2b, 0x1b, //0x00005a90 .quad 1957835834444274180 + 0xa4, 0x9d, 0x06, 0x28, 0xff, 0xf7, 0x10, 0xd9, //0x00005a98 .quad -2805469892591575644 + 0x42, 0x08, 0x5d, 0xf0, 0xd2, 0x44, 0xfb, 0x90, //0x00005aa0 .quad -7999724640327104446 + 0x86, 0x22, 0x04, 0x79, 0xff, 0x9a, 0xaa, 0x87, //0x00005aa8 .quad -8670947710510816634 + 0x53, 0x4a, 0x74, 0xac, 0x07, 0x16, 0x3a, 0x35, //0x00005ab0 .quad 3835402254873283155 + 0x28, 0x2b, 0x45, 0x57, 0xbf, 0x41, 0x95, 0xa9, //0x00005ab8 .quad -6226998619711132888 + 0xe8, 0x5c, 0x91, 0x97, 0x89, 0x9b, 0x88, 0x42, //0x00005ac0 .quad 4794252818591603944 + 0xf2, 0x75, 0x16, 0x2d, 0x2f, 0x92, 0xfa, 0xd3, //0x00005ac8 .quad -3172062256211528206 + 0x11, 0xda, 0xba, 0xfe, 0x35, 0x61, 0x95, 0x69, //0x00005ad0 .quad 7608094030047140369 + 0xb7, 0x09, 0x2e, 0x7c, 0x5d, 0x9b, 0x7c, 0x84, //0x00005ad8 .quad -8900067937773286985 + 0x95, 0x90, 0x69, 0x7e, 0x83, 0xb9, 0xfa, 0x43, //0x00005ae0 .quad 4898431519131537557 + 0x25, 0x8c, 0x39, 0xdb, 0x34, 0xc2, 0x9b, 0xa5, //0x00005ae8 .quad -6513398903789220827 + 0xbb, 0xf4, 0x03, 0x5e, 0xe4, 0x67, 0xf9, 0x94, //0x00005af0 .quad -7712018656367741765 + 0x2e, 0xef, 0x07, 0x12, 0xc2, 0xb2, 0x02, 0xcf, //0x00005af8 .quad -3530062611309138130 + 0xf5, 0x78, 0xc2, 0xba, 0xee, 0xe0, 0x1b, 0x1d, //0x00005b00 .quad 2097517367411243253 + 0x7d, 0xf5, 0x44, 0x4b, 0xb9, 0xaf, 0x61, 0x81, //0x00005b08 .quad -9123818159709293187 + 0x32, 0x17, 0x73, 0x69, 0x2a, 0xd9, 0x62, 0x64, //0x00005b10 .quad 7233582727691441970 + 0xdc, 0x32, 0x16, 0x9e, 0xa7, 0x1b, 0xba, 0xa1, //0x00005b18 .quad -6793086681209228580 + 0xfe, 0xdc, 0xcf, 0x03, 0x75, 0x8f, 0x7b, 0x7d, //0x00005b20 .quad 9041978409614302462 + 0x93, 0xbf, 0x9b, 0x85, 0x91, 0xa2, 0x28, 0xca, //0x00005b28 .quad -3879672333084147821 + 0x3e, 0xd4, 0xc3, 0x44, 0x52, 0x73, 0xda, 0x5c, //0x00005b30 .quad 6690786993590490174 + 0x78, 0xaf, 0x02, 0xe7, 0x35, 0xcb, 0xb2, 0xfc, //0x00005b38 .quad -237904397927796872 + 0xa7, 0x64, 0xfa, 0x6a, 0x13, 0x88, 0x08, 0x3a, //0x00005b40 .quad 4181741870994056359 + 0xab, 0xad, 0x61, 0xb0, 0x01, 0xbf, 0xef, 0x9d, //0x00005b48 .quad -7066219276345954901 + 0xd0, 0xfd, 0xb8, 0x45, 0x18, 0xaa, 0x8a, 0x08, //0x00005b50 .quad 615491320315182544 + 0x16, 0x19, 0x7a, 0x1c, 0xc2, 0xae, 0x6b, 0xc5, //0x00005b58 .quad -4221088077005055722 + 0x45, 0x3d, 0x27, 0x57, 0x9e, 0x54, 0xad, 0x8a, //0x00005b60 .quad -8454007886460797627 + 0x5b, 0x9f, 0x98, 0xa3, 0x72, 0x9a, 0xc6, 0xf6, //0x00005b68 .quad -664674077828931749 + 0x4b, 0x86, 0x78, 0xf6, 0xe2, 0x54, 0xac, 0x36, //0x00005b70 .quad 3939617107816777291 + 0x99, 0x63, 0x3f, 0xa6, 0x87, 0x20, 0x3c, 0x9a, //0x00005b78 .quad -7332950326284164199 + 0xdd, 0xa7, 0x16, 0xb4, 0x1b, 0x6a, 0x57, 0x84, //0x00005b80 .quad -8910536670511192099 + 0x7f, 0x3c, 0xcf, 0x8f, 0xa9, 0x28, 0xcb, 0xc0, //0x00005b88 .quad -4554501889427817345 + 0xd5, 0x51, 0x1c, 0xa1, 0xa2, 0x44, 0x6d, 0x65, //0x00005b90 .quad 7308573235570561493 + 0x9f, 0x0b, 0xc3, 0xf3, 0xd3, 0xf2, 0xfd, 0xf0, //0x00005b98 .quad -1081441343357383777 + 0x25, 0xb3, 0xb1, 0xa4, 0xe5, 0x4a, 0x64, 0x9f, //0x00005ba0 .quad -6961356773836868827 + 0x43, 0xe7, 0x59, 0x78, 0xc4, 0xb7, 0x9e, 0x96, //0x00005ba8 .quad -7593429867239446717 + 0xee, 0x1f, 0xde, 0x0d, 0x9f, 0x5d, 0x3d, 0x87, //0x00005bb0 .quad -8701695967296086034 + 0x14, 0x61, 0x70, 0x96, 0xb5, 0x65, 0x46, 0xbc, //0x00005bb8 .quad -4880101315621920492 + 0xea, 0xa7, 0x55, 0xd1, 0x06, 0xb5, 0x0c, 0xa9, //0x00005bc0 .quad -6265433940692719638 + 0x59, 0x79, 0x0c, 0xfc, 0x22, 0xff, 0x57, 0xeb, //0x00005bc8 .quad -1488440626100012711 + 0xf2, 0x88, 0xd5, 0x42, 0x24, 0xf1, 0xa7, 0x09, //0x00005bd0 .quad 695789805494438130 + 0xd8, 0xcb, 0x87, 0xdd, 0x75, 0xff, 0x16, 0x93, //0x00005bd8 .quad -7847804418953589800 + 0x2f, 0xeb, 0x8a, 0x53, 0x6d, 0xed, 0x11, 0x0c, //0x00005be0 .quad 869737256868047663 + 0xce, 0xbe, 0xe9, 0x54, 0x53, 0xbf, 0xdc, 0xb7, //0x00005be8 .quad -5198069505264599346 + 0xfa, 0xa5, 0x6d, 0xa8, 0xc8, 0x68, 0x16, 0x8f, //0x00005bf0 .quad -8136200465769716230 + 0x81, 0x2e, 0x24, 0x2a, 0x28, 0xef, 0xd3, 0xe5, //0x00005bf8 .quad -1885900863153361279 + 0xbc, 0x87, 0x44, 0x69, 0x7d, 0x01, 0x6e, 0xf9, //0x00005c00 .quad -473439272678684740 + 0x10, 0x9d, 0x56, 0x1a, 0x79, 0x75, 0xa4, 0x8f, //0x00005c08 .quad -8096217067111932656 + 0xac, 0xa9, 0x95, 0xc3, 0xdc, 0x81, 0xc9, 0x37, //0x00005c10 .quad 4019886927579031980 + 0x55, 0x44, 0xec, 0x60, 0xd7, 0x92, 0x8d, 0xb3, //0x00005c18 .quad -5508585315462527915 + 0x17, 0x14, 0x7b, 0xf4, 0x53, 0xe2, 0xbb, 0x85, //0x00005c20 .quad -8810199395808373737 + 0x6a, 0x55, 0x27, 0x39, 0x8d, 0xf7, 0x70, 0xe0, //0x00005c28 .quad -2274045625900771990 + 0x8e, 0xec, 0xcc, 0x78, 0x74, 0x6d, 0x95, 0x93, //0x00005c30 .quad -7812217631593927538 + 0x62, 0x95, 0xb8, 0x43, 0xb8, 0x9a, 0x46, 0x8c, //0x00005c38 .quad -8338807543829064350 + 0xb2, 0x27, 0x00, 0x97, 0xd1, 0xc8, 0x7a, 0x38, //0x00005c40 .quad 4069786015789754290 + 0xbb, 0xba, 0xa6, 0x54, 0x66, 0x41, 0x58, 0xaf, //0x00005c48 .quad -5811823411358942533 + 0x9e, 0x31, 0xc0, 0xfc, 0x05, 0x7b, 0x99, 0x06, //0x00005c50 .quad 475546501309804958 + 0x6a, 0x69, 0xd0, 0xe9, 0xbf, 0x51, 0x2e, 0xdb, //0x00005c58 .quad -2653093245771290262 + 0x03, 0x1f, 0xf8, 0xbd, 0xe3, 0xec, 0x1f, 0x44, //0x00005c60 .quad 4908902581746016003 + 0xe2, 0x41, 0x22, 0xf2, 0x17, 0xf3, 0xfc, 0x88, //0x00005c68 .quad -8575712306248138270 + 0xc3, 0x26, 0x76, 0xad, 0x1c, 0xe8, 0x27, 0xd5, //0x00005c70 .quad -3087243809672255805 + 0x5a, 0xd2, 0xaa, 0xee, 0xdd, 0x2f, 0x3c, 0xab, //0x00005c78 .quad -6107954364382784934 + 0x74, 0xb0, 0xd3, 0xd8, 0x23, 0xe2, 0x71, 0x8a, //0x00005c80 .quad -8470740780517707660 + 0xf1, 0x86, 0x55, 0x6a, 0xd5, 0x3b, 0x0b, 0xd6, //0x00005c88 .quad -3023256937051093263 + 0x49, 0x4e, 0x84, 0x67, 0x56, 0x2d, 0x87, 0xf6, //0x00005c90 .quad -682526969396179383 + 0x56, 0x74, 0x75, 0x62, 0x65, 0x05, 0xc7, 0x85, //0x00005c98 .quad -8807064613298015146 + 0xdb, 0x61, 0x65, 0x01, 0xac, 0xf8, 0x28, 0xb4, //0x00005ca0 .quad -5464844730172612133 + 0x6c, 0xd1, 0x12, 0xbb, 0xbe, 0xc6, 0x38, 0xa7, //0x00005ca8 .quad -6397144748195131028 + 0x52, 0xba, 0xbe, 0x01, 0xd7, 0x36, 0x33, 0xe1, //0x00005cb0 .quad -2219369894288377262 + 0xc7, 0x85, 0xd7, 0x69, 0x6e, 0xf8, 0x06, 0xd1, //0x00005cb8 .quad -3384744916816525881 + 0x73, 0x34, 0x17, 0x61, 0x46, 0x02, 0xc0, 0xec, //0x00005cc0 .quad -1387106183930235789 + 0x9c, 0xb3, 0x26, 0x02, 0x45, 0x5b, 0xa4, 0x82, //0x00005cc8 .quad -9032994600651410532 + 0x90, 0x01, 0x5d, 0xf9, 0xd7, 0x02, 0xf0, 0x27, //0x00005cd0 .quad 2877803288514593168 + 0x84, 0x60, 0xb0, 0x42, 0x16, 0x72, 0x4d, 0xa3, //0x00005cd8 .quad -6679557232386875260 + 0xf4, 0x41, 0xb4, 0xf7, 0x8d, 0x03, 0xec, 0x31, //0x00005ce0 .quad 3597254110643241460 + 0xa5, 0x78, 0x5c, 0xd3, 0x9b, 0xce, 0x20, 0xcc, //0x00005ce8 .quad -3737760522056206171 + 0x71, 0x52, 0xa1, 0x75, 0x71, 0x04, 0x67, 0x7e, //0x00005cf0 .quad 9108253656731439729 + 0xce, 0x96, 0x33, 0xc8, 0x42, 0x02, 0x29, 0xff, //0x00005cf8 .quad -60514634142869810 + 0x86, 0xd3, 0x84, 0xe9, 0xc6, 0x62, 0x00, 0x0f, //0x00005d00 .quad 1080972517029761926 + 0x41, 0x3e, 0x20, 0xbd, 0x69, 0xa1, 0x79, 0x9f, //0x00005d08 .quad -6955350673980375487 + 0x68, 0x08, 0xe6, 0xa3, 0x78, 0x7b, 0xc0, 0x52, //0x00005d10 .quad 5962901664714590312 + 0xd1, 0x4d, 0x68, 0x2c, 0xc4, 0x09, 0x58, 0xc7, //0x00005d18 .quad -4082502324048081455 + 0x82, 0x8a, 0xdf, 0xcc, 0x56, 0x9a, 0x70, 0xa7, //0x00005d20 .quad -6381430974388925822 + 0x45, 0x61, 0x82, 0x37, 0x35, 0x0c, 0x2e, 0xf9, //0x00005d28 .quad -491441886632713915 + 0x91, 0xb6, 0x0b, 0x40, 0x76, 0x60, 0xa6, 0x88, //0x00005d30 .quad -8600080377420466543 + 0xcb, 0x7c, 0xb1, 0x42, 0xa1, 0xc7, 0xbc, 0x9b, //0x00005d38 .quad -7224680206786528053 + 0x35, 0xa4, 0x0e, 0xd0, 0x93, 0xf8, 0xcf, 0x6a, //0x00005d40 .quad 7696643601933968437 + 0xfe, 0xdb, 0x5d, 0x93, 0x89, 0xf9, 0xab, 0xc2, //0x00005d48 .quad -4419164240055772162 + 0x43, 0x4d, 0x12, 0xc4, 0xb8, 0xf6, 0x83, 0x05, //0x00005d50 .quad 397432465562684739 + 0xfe, 0x52, 0x35, 0xf8, 0xeb, 0xf7, 0x56, 0xf3, //0x00005d58 .quad -912269281642327298 + 0x4a, 0x70, 0x8b, 0x7a, 0x33, 0x7a, 0x72, 0xc3, //0x00005d60 .quad -4363290727450709942 + 0xde, 0x53, 0x21, 0x7b, 0xf3, 0x5a, 0x16, 0x98, //0x00005d68 .quad -7487697328667536418 + 0x5c, 0x4c, 0x2e, 0x59, 0xc0, 0x18, 0x4f, 0x74, //0x00005d70 .quad 8380944645968776284 + 0xd6, 0xa8, 0xe9, 0x59, 0xb0, 0xf1, 0x1b, 0xbe, //0x00005d78 .quad -4747935642407032618 + 0x73, 0xdf, 0x79, 0x6f, 0xf0, 0xde, 0x62, 0x11, //0x00005d80 .quad 1252808770606194547 + 0x0c, 0x13, 0x64, 0x70, 0x1c, 0xee, 0xa2, 0xed, //0x00005d88 .quad -1323233534581402868 + 0xa8, 0x2b, 0xac, 0x45, 0x56, 0xcb, 0xdd, 0x8a, //0x00005d90 .quad -8440366555225904216 + 0xe7, 0x8b, 0x3e, 0xc6, 0xd1, 0xd4, 0x85, 0x94, //0x00005d98 .quad -7744549986754458649 + 0x92, 0x36, 0x17, 0xd7, 0x2b, 0x3e, 0x95, 0x6d, //0x00005da0 .quad 7896285879677171346 + 0xe1, 0x2e, 0xce, 0x37, 0x06, 0x4a, 0xa7, 0xb9, //0x00005da8 .quad -5069001465015685407 + 0x37, 0x04, 0xdd, 0xcc, 0xb6, 0x8d, 0xfa, 0xc8, //0x00005db0 .quad -3964700705685699529 + 0x99, 0xba, 0xc1, 0xc5, 0x87, 0x1c, 0x11, 0xe8, //0x00005db8 .quad -1724565812842218855 + 0xa2, 0x22, 0x0a, 0x40, 0x92, 0x98, 0x9c, 0x1d, //0x00005dc0 .quad 2133748077373825698 + 0xa0, 0x14, 0x99, 0xdb, 0xd4, 0xb1, 0x0a, 0x91, //0x00005dc8 .quad -7995382660667468640 + 0x4b, 0xab, 0x0c, 0xd0, 0xb6, 0xbe, 0x03, 0x25, //0x00005dd0 .quad 2667185096717282123 + 0xc8, 0x59, 0x7f, 0x12, 0x4a, 0x5e, 0x4d, 0xb5, //0x00005dd8 .quad -5382542307406947896 + 0x1d, 0xd6, 0x0f, 0x84, 0x64, 0xae, 0x44, 0x2e, //0x00005de0 .quad 3333981370896602653 + 0x3a, 0x30, 0x1f, 0x97, 0xdc, 0xb5, 0xa0, 0xe2, //0x00005de8 .quad -2116491865831296966 + 0xd2, 0xe5, 0x89, 0xd2, 0xfe, 0xec, 0xea, 0x5c, //0x00005df0 .quad 6695424375237764562 + 0x24, 0x7e, 0x73, 0xde, 0xa9, 0x71, 0xa4, 0x8d, //0x00005df8 .quad -8240336443785642460 + 0x47, 0x5f, 0x2c, 0x87, 0x3e, 0xa8, 0x25, 0x74, //0x00005e00 .quad 8369280469047205703 + 0xad, 0x5d, 0x10, 0x56, 0x14, 0x8e, 0x0d, 0xb1, //0x00005e08 .quad -5688734536304665171 + 0x19, 0x77, 0xf7, 0x28, 0x4e, 0x12, 0x2f, 0xd1, //0x00005e10 .quad -3373457468973156583 + 0x18, 0x75, 0x94, 0x6b, 0x99, 0xf1, 0x50, 0xdd, //0x00005e18 .quad -2499232151953443560 + 0x6f, 0xaa, 0x9a, 0xd9, 0x70, 0x6b, 0xbd, 0x82, //0x00005e20 .quad -9025939945749304721 + 0x2f, 0xc9, 0x3c, 0xe3, 0xff, 0x96, 0x52, 0x8a, //0x00005e28 .quad -8479549122611984081 + 0x0b, 0x55, 0x01, 0x10, 0x4d, 0xc6, 0x6c, 0x63, //0x00005e30 .quad 7164319141522920715 + 0x7b, 0xfb, 0x0b, 0xdc, 0xbf, 0x3c, 0xe7, 0xac, //0x00005e38 .quad -5987750384837592197 + 0x4e, 0xaa, 0x01, 0x54, 0xe0, 0xf7, 0x47, 0x3c, //0x00005e40 .quad 4343712908476262990 + 0x5a, 0xfa, 0x0e, 0xd3, 0xef, 0x0b, 0x21, 0xd8, //0x00005e48 .quad -2873001962619602342 + 0x71, 0x0a, 0x81, 0x34, 0xec, 0xfa, 0xac, 0x65, //0x00005e50 .quad 7326506586225052273 + 0x78, 0x5c, 0xe9, 0xe3, 0x75, 0xa7, 0x14, 0x87, //0x00005e58 .quad -8713155254278333320 + 0x0d, 0x4d, 0xa1, 0x41, 0xa7, 0x39, 0x18, 0x7f, //0x00005e60 .quad 9158133232781315341 + 0x96, 0xb3, 0xe3, 0x5c, 0x53, 0xd1, 0xd9, 0xa8, //0x00005e68 .quad -6279758049420528746 + 0x50, 0xa0, 0x09, 0x12, 0x11, 0x48, 0xde, 0x1e, //0x00005e70 .quad 2224294504121868368 + 0x7c, 0xa0, 0x1c, 0x34, 0xa8, 0x45, 0x10, 0xd3, //0x00005e78 .quad -3238011543348273028 + 0x32, 0x04, 0x46, 0xab, 0x0a, 0xed, 0x4a, 0x93, //0x00005e80 .quad -7833187971778608078 + 0x4d, 0xe4, 0x91, 0x20, 0x89, 0x2b, 0xea, 0x83, //0x00005e88 .quad -8941286242233752499 + 0x3f, 0x85, 0x17, 0x56, 0x4d, 0xa8, 0x1d, 0xf8, //0x00005e90 .quad -568112927868484289 + 0x60, 0x5d, 0xb6, 0x68, 0x6b, 0xb6, 0xe4, 0xa4, //0x00005e98 .quad -6564921784364802720 + 0x8e, 0x66, 0x9d, 0xab, 0x60, 0x12, 0x25, 0x36, //0x00005ea0 .quad 3901544858591782542 + 0xb9, 0xf4, 0xe3, 0x42, 0x06, 0xe4, 0x1d, 0xce, //0x00005ea8 .quad -3594466212028615495 + 0x19, 0x60, 0x42, 0x6b, 0x7c, 0x2b, 0xd7, 0xc1, //0x00005eb0 .quad -4479063491021217767 + 0xf3, 0x78, 0xce, 0xe9, 0x83, 0xae, 0xd2, 0x80, //0x00005eb8 .quad -9164070410158966541 + 0x1f, 0xf8, 0x12, 0x86, 0x5b, 0xf6, 0x4c, 0xb2, //0x00005ec0 .quad -5598829363776522209 + 0x30, 0x17, 0x42, 0xe4, 0x24, 0x5a, 0x07, 0xa1, //0x00005ec8 .quad -6843401994271320272 + 0x27, 0xb6, 0x97, 0x67, 0xf2, 0x33, 0xe0, 0xde, //0x00005ed0 .quad -2386850686293264857 + 0xfc, 0x9c, 0x52, 0x1d, 0xae, 0x30, 0x49, 0xc9, //0x00005ed8 .quad -3942566474411762436 + 0xb1, 0xa3, 0x7d, 0x01, 0xef, 0x40, 0x98, 0x16, //0x00005ee0 .quad 1628122660560806833 + 0x3c, 0x44, 0xa7, 0xa4, 0xd9, 0x7c, 0x9b, 0xfb, //0x00005ee8 .quad -316522074587315140 + 0x4e, 0x86, 0xee, 0x60, 0x95, 0x28, 0x1f, 0x8e, //0x00005ef0 .quad -8205795374004271538 + 0xa5, 0x8a, 0xe8, 0x06, 0x08, 0x2e, 0x41, 0x9d, //0x00005ef8 .quad -7115355324258153819 + 0xe2, 0x27, 0x2a, 0xb9, 0xba, 0xf2, 0xa6, 0xf1, //0x00005f00 .quad -1033872180650563614 + 0x4e, 0xad, 0xa2, 0x08, 0x8a, 0x79, 0x91, 0xc4, //0x00005f08 .quad -4282508136895304370 + 0xdb, 0xb1, 0x74, 0x67, 0x69, 0xaf, 0x10, 0xae, //0x00005f10 .quad -5904026244240592421 + 0xa2, 0x58, 0xcb, 0x8a, 0xec, 0xd7, 0xb5, 0xf5, //0x00005f18 .quad -741449152691742558 + 0x29, 0xef, 0xa8, 0xe0, 0xa1, 0x6d, 0xca, 0xac, //0x00005f20 .quad -5995859411864064215 + 0x65, 0x17, 0xbf, 0xd6, 0xf3, 0xa6, 0x91, 0x99, //0x00005f28 .quad -7380934748073420955 + 0xf3, 0x2a, 0xd3, 0x58, 0x0a, 0x09, 0xfd, 0x17, //0x00005f30 .quad 1728547772024695539 + 0x3f, 0xdd, 0x6e, 0xcc, 0xb0, 0x10, 0xf6, 0xbf, //0x00005f38 .quad -4614482416664388289 + 0xb0, 0xf5, 0x07, 0xef, 0x4c, 0x4b, 0xfc, 0xdd, //0x00005f40 .quad -2451001303396518480 + 0x8e, 0x94, 0x8a, 0xff, 0xdc, 0x94, 0xf3, 0xef, //0x00005f48 .quad -1156417002403097458 + 0x8e, 0xf9, 0x64, 0x15, 0x10, 0xaf, 0xbd, 0x4a, //0x00005f50 .quad 5385653213018257806 + 0xd9, 0x9c, 0xb6, 0x1f, 0x0a, 0x3d, 0xf8, 0x95, //0x00005f58 .quad -7640289654143017767 + 0xf1, 0x37, 0xbe, 0x1a, 0xd4, 0x1a, 0x6d, 0x9d, //0x00005f60 .quad -7102991539009341455 + 0x0f, 0x44, 0xa4, 0xa7, 0x4c, 0x4c, 0x76, 0xbb, //0x00005f68 .quad -4938676049251384305 + 0xed, 0xc5, 0x6d, 0x21, 0x89, 0x61, 0xc8, 0x84, //0x00005f70 .quad -8878739423761676819 + 0x13, 0x55, 0x8d, 0xd1, 0x5f, 0xdf, 0x53, 0xea, //0x00005f78 .quad -1561659043136842477 + 0xb4, 0x9b, 0xe4, 0xb4, 0xf5, 0x3c, 0xfd, 0x32, //0x00005f80 .quad 3674159897003727796 + 0x2c, 0x55, 0xf8, 0xe2, 0x9b, 0x6b, 0x74, 0x92, //0x00005f88 .quad -7893565929601608404 + 0xa1, 0xc2, 0x1d, 0x22, 0x33, 0x8c, 0xbc, 0x3f, //0x00005f90 .quad 4592699871254659745 + 0x77, 0x6a, 0xb6, 0xdb, 0x82, 0x86, 0x11, 0xb7, //0x00005f98 .quad -5255271393574622601 + 0x4a, 0x33, 0xa5, 0xea, 0x3f, 0xaf, 0xab, 0x0f, //0x00005fa0 .quad 1129188820640936778 + 0x15, 0x05, 0xa4, 0x92, 0x23, 0xe8, 0xd5, 0xe4, //0x00005fa8 .quad -1957403223540890347 + 0x0e, 0x40, 0xa7, 0xf2, 0x87, 0x4d, 0xcb, 0x29, //0x00005fb0 .quad 3011586022114279438 + 0x2d, 0x83, 0xa6, 0x3b, 0x16, 0xb1, 0x05, 0x8f, //0x00005fb8 .quad -8140906042354138323 + 0x12, 0x10, 0x51, 0xef, 0xe9, 0x20, 0x3e, 0x74, //0x00005fc0 .quad 8376168546070237202 + 0xf8, 0x23, 0x90, 0xca, 0x5b, 0x1d, 0xc7, 0xb2, //0x00005fc8 .quad -5564446534515285000 + 0x16, 0x54, 0x25, 0x6b, 0x24, 0xa9, 0x4d, 0x91, //0x00005fd0 .quad -7976533391121755114 + 0xf6, 0x2c, 0x34, 0xbd, 0xb2, 0xe4, 0x78, 0xdf, //0x00005fd8 .quad -2343872149716718346 + 0x8e, 0x54, 0xf7, 0xc2, 0xb6, 0x89, 0xd0, 0x1a, //0x00005fe0 .quad 1932195658189984910 + 0x1a, 0x9c, 0x40, 0xb6, 0xef, 0x8e, 0xab, 0x8b, //0x00005fe8 .quad -8382449121214030822 + 0xb1, 0x29, 0xb5, 0x73, 0x24, 0xac, 0x84, 0xa1, //0x00005ff0 .quad -6808127464117294671 + 0x20, 0xc3, 0xd0, 0xa3, 0xab, 0x72, 0x96, 0xae, //0x00005ff8 .quad -5866375383090150624 + 0x1e, 0x74, 0xa2, 0x90, 0x2d, 0xd7, 0xe5, 0xc9, //0x00006000 .quad -3898473311719230434 + 0xe8, 0xf3, 0xc4, 0x8c, 0x56, 0x0f, 0x3c, 0xda, //0x00006008 .quad -2721283210435300376 + 0x92, 0x88, 0x65, 0x7a, 0x7c, 0xa6, 0x2f, 0x7e, //0x00006010 .quad 9092669226243950738 + 0x71, 0x18, 0xfb, 0x17, 0x96, 0x89, 0x65, 0x88, //0x00006018 .quad -8618331034163144591 + 0xb7, 0xea, 0xfe, 0x98, 0x1b, 0x90, 0xbb, 0xdd, //0x00006020 .quad -2469221522477225289 + 0x8d, 0xde, 0xf9, 0x9d, 0xfb, 0xeb, 0x7e, 0xaa, //0x00006028 .quad -6161227774276542835 + 0x65, 0xa5, 0x3e, 0x7f, 0x22, 0x74, 0x2a, 0x55, //0x00006030 .quad 6136845133758244197 + 0x31, 0x56, 0x78, 0x85, 0xfa, 0xa6, 0x1e, 0xd5, //0x00006038 .quad -3089848699418290639 + 0x5f, 0x27, 0x87, 0x8f, 0x95, 0x88, 0x3a, 0xd5, //0x00006040 .quad -3082000819042179233 + 0xde, 0x35, 0x6b, 0x93, 0x5c, 0x28, 0x33, 0x85, //0x00006048 .quad -8848684464777513506 + 0x37, 0xf1, 0x68, 0xf3, 0xba, 0x2a, 0x89, 0x8a, //0x00006050 .quad -8464187042230111945 + 0x56, 0x03, 0x46, 0xb8, 0x73, 0xf2, 0x7f, 0xa6, //0x00006058 .quad -6449169562544503978 + 0x85, 0x2d, 0x43, 0xb0, 0x69, 0x75, 0x2b, 0x2d, //0x00006060 .quad 3254824252494523781 + 0x2c, 0x84, 0x57, 0xa6, 0x10, 0xef, 0x1f, 0xd0, //0x00006068 .quad -3449775934753242068 + 0x73, 0xfc, 0x29, 0x0e, 0x62, 0x29, 0x3b, 0x9c, //0x00006070 .quad -7189106879045698445 + 0x9b, 0xb2, 0xf6, 0x67, 0x6a, 0xf5, 0x13, 0x82, //0x00006078 .quad -9073638986861858149 + 0x8f, 0x7b, 0xb4, 0x91, 0xba, 0xf3, 0x49, 0x83, //0x00006080 .quad -8986383598807123057 + 0x42, 0x5f, 0xf4, 0x01, 0xc5, 0xf2, 0x98, 0xa2, //0x00006088 .quad -6730362715149934782 + 0x73, 0x9a, 0x21, 0x36, 0xa9, 0x70, 0x1c, 0x24, //0x00006090 .quad 2602078556773259891 + 0x13, 0x77, 0x71, 0x42, 0x76, 0x2f, 0x3f, 0xcb, //0x00006098 .quad -3801267375510030573 + 0x10, 0x01, 0xaa, 0x83, 0xd3, 0x8c, 0x23, 0xed, //0x000060a0 .quad -1359087822460813040 + 0xd7, 0xd4, 0x0d, 0xd3, 0x53, 0xfb, 0x0e, 0xfe, //0x000060a8 .quad -139898200960150313 + 0xaa, 0x40, 0x4a, 0x32, 0x04, 0x38, 0x36, 0xf4, //0x000060b0 .quad -849429889038008150 + 0x06, 0xa5, 0xe8, 0x63, 0x14, 0x5d, 0xc9, 0x9e, //0x000060b8 .quad -7004965403241175802 + 0xd5, 0xd0, 0xdc, 0x3e, 0x05, 0xc6, 0x43, 0xb1, //0x000060c0 .quad -5673473379724898091 + 0x48, 0xce, 0xe2, 0x7c, 0x59, 0xb4, 0x7b, 0xc6, //0x000060c8 .quad -4144520735624081848 + 0x0a, 0x05, 0x94, 0x8e, 0x86, 0xb7, 0x94, 0xdd, //0x000060d0 .quad -2480155706228734710 + 0xda, 0x81, 0x1b, 0xdc, 0x6f, 0xa1, 0x1a, 0xf8, //0x000060d8 .quad -568964901102714406 + 0x26, 0x83, 0x1c, 0x19, 0xb4, 0xf2, 0x7c, 0xca, //0x000060e0 .quad -3855940325606653146 + 0x28, 0x31, 0x91, 0xe9, 0xe5, 0xa4, 0x10, 0x9b, //0x000060e8 .quad -7273132090830278360 + 0xf0, 0xa3, 0x63, 0x1f, 0x61, 0x2f, 0x1c, 0xfd, //0x000060f0 .quad -208239388580928528 + 0x72, 0x7d, 0xf5, 0x63, 0x1f, 0xce, 0xd4, 0xc1, //0x000060f8 .quad -4479729095110460046 + 0xec, 0x8c, 0x3c, 0x67, 0x39, 0x3b, 0x63, 0xbc, //0x00006100 .quad -4871985254153548564 + 0xcf, 0xdc, 0xf2, 0x3c, 0xa7, 0x01, 0x4a, 0xf2, //0x00006108 .quad -987975350460687153 + 0x13, 0xd8, 0x85, 0xe0, 0x03, 0x05, 0xbe, 0xd5, //0x00006110 .quad -3044990783845967853 + 0x01, 0xca, 0x17, 0x86, 0x08, 0x41, 0x6e, 0x97, //0x00006118 .quad -7535013621679011327 + 0x18, 0x4e, 0xa7, 0xd8, 0x44, 0x86, 0x2d, 0x4b, //0x00006120 .quad 5417133557047315992 + 0x82, 0xbc, 0x9d, 0xa7, 0x4a, 0xd1, 0x49, 0xbd, //0x00006128 .quad -4807081008671376254 + 0x9e, 0x21, 0xd1, 0x0e, 0xd6, 0xe7, 0xf8, 0xdd, //0x00006130 .quad -2451955090545630818 + 0xa2, 0x2b, 0x85, 0x51, 0x9d, 0x45, 0x9c, 0xec, //0x00006138 .quad -1397165242411832414 + 0x03, 0xb5, 0x42, 0xc9, 0xe5, 0x90, 0xbb, 0xca, //0x00006140 .quad -3838314940804713213 + 0x45, 0x3b, 0xf3, 0x52, 0x82, 0xab, 0xe1, 0x93, //0x00006148 .quad -7790757304148477115 + 0x43, 0x62, 0x93, 0x3b, 0x1f, 0x75, 0x6a, 0x3d, //0x00006150 .quad 4425478360848884291 + 0x17, 0x0a, 0xb0, 0xe7, 0x62, 0x16, 0xda, 0xb8, //0x00006158 .quad -5126760611758208489 + 0xd4, 0x3a, 0x78, 0x0a, 0x67, 0x12, 0xc5, 0x0c, //0x00006160 .quad 920161932633717460 + 0x9d, 0x0c, 0x9c, 0xa1, 0xfb, 0x9b, 0x10, 0xe7, //0x00006168 .quad -1796764746270372707 + 0xc5, 0x24, 0x8b, 0x66, 0x80, 0x2b, 0xfb, 0x27, //0x00006170 .quad 2880944217109767365 + 0xe2, 0x87, 0x01, 0x45, 0x7d, 0x61, 0x6a, 0x90, //0x00006178 .quad -8040506994060064798 + 0xf6, 0xed, 0x2d, 0x80, 0x60, 0xf6, 0xf9, 0xb1, //0x00006180 .quad -5622191765467566602 + 0xda, 0xe9, 0x41, 0x96, 0xdc, 0xf9, 0x84, 0xb4, //0x00006188 .quad -5438947724147693094 + 0x73, 0x69, 0x39, 0xa0, 0xf8, 0x73, 0x78, 0x5e, //0x00006190 .quad 6807318348447705459 + 0x51, 0x64, 0xd2, 0xbb, 0x53, 0x38, 0xa6, 0xe1, //0x00006198 .quad -2186998636757228463 + 0xe8, 0xe1, 0x23, 0x64, 0x7b, 0x48, 0x0b, 0xdb, //0x000061a0 .quad -2662955059861265944 + 0xb2, 0x7e, 0x63, 0x55, 0x34, 0xe3, 0x07, 0x8d, //0x000061a8 .quad -8284403175614349646 + 0x62, 0xda, 0x2c, 0x3d, 0x9a, 0x1a, 0xce, 0x91, //0x000061b0 .quad -7940379843253970334 + 0x5f, 0x5e, 0xbc, 0x6a, 0x01, 0xdc, 0x49, 0xb0, //0x000061b8 .quad -5743817951090549153 + 0xfb, 0x10, 0x78, 0xcc, 0x40, 0xa1, 0x41, 0x76, //0x000061c0 .quad 8521269269642088699 + 0xf7, 0x75, 0x6b, 0xc5, 0x01, 0x53, 0x5c, 0xdc, //0x000061c8 .quad -2568086420435798537 + 0x9d, 0x0a, 0xcb, 0x7f, 0xc8, 0x04, 0xe9, 0xa9, //0x000061d0 .quad -6203421752542164323 + 0xba, 0x29, 0x63, 0x1b, 0xe1, 0xb3, 0xb9, 0x89, //0x000061d8 .quad -8522583040413455942 + 0x44, 0xcd, 0xbd, 0x9f, 0xfa, 0x45, 0x63, 0x54, //0x000061e0 .quad 6080780864604458308 + 0x29, 0xf4, 0x3b, 0x62, 0xd9, 0x20, 0x28, 0xac, //0x000061e8 .quad -6041542782089432023 + 0x95, 0x40, 0xad, 0x47, 0x79, 0x17, 0x7c, 0xa9, //0x000061f0 .quad -6234081974526590827 + 0x33, 0xf1, 0xca, 0xba, 0x0f, 0x29, 0x32, 0xd7, //0x000061f8 .quad -2940242459184402125 + 0x5d, 0x48, 0xcc, 0xcc, 0xab, 0x8e, 0xed, 0x49, //0x00006200 .quad 5327070802775656541 + 0xc0, 0xd6, 0xbe, 0xd4, 0xa9, 0x59, 0x7f, 0x86, //0x00006208 .quad -8755180564631333184 + 0x74, 0x5a, 0xff, 0xbf, 0x56, 0xf2, 0x68, 0x5c, //0x00006210 .quad 6658838503469570676 + 0x70, 0x8c, 0xee, 0x49, 0x14, 0x30, 0x1f, 0xa8, //0x00006218 .quad -6332289687361778576 + 0x11, 0x31, 0xff, 0x6f, 0xec, 0x2e, 0x83, 0x73, //0x00006220 .quad 8323548129336963345 + 0x8c, 0x2f, 0x6a, 0x5c, 0x19, 0xfc, 0x26, 0xd2, //0x00006228 .quad -3303676090774835316 + 0xab, 0x7e, 0xff, 0xc5, 0x53, 0xfd, 0x31, 0xc8, //0x00006230 .quad -4021154456019173717 + 0xb7, 0x5d, 0xc2, 0xd9, 0x8f, 0x5d, 0x58, 0x83, //0x00006238 .quad -8982326584375353929 + 0x55, 0x5e, 0x7f, 0xb7, 0xa8, 0x7c, 0x3e, 0xba, //0x00006240 .quad -5026443070023967147 + 0x25, 0xf5, 0x32, 0xd0, 0xf3, 0x74, 0x2e, 0xa4, //0x00006248 .quad -6616222212041804507 + 0xeb, 0x35, 0x5f, 0xe5, 0xd2, 0x1b, 0xce, 0x28, //0x00006250 .quad 2940318199324816875 + 0x6f, 0xb2, 0x3f, 0xc4, 0x30, 0x12, 0x3a, 0xcd, //0x00006258 .quad -3658591746624867729 + 0xb3, 0x81, 0x5b, 0xcf, 0x63, 0xd1, 0x80, 0x79, //0x00006260 .quad 8755227902219092403 + 0x85, 0xcf, 0xa7, 0x7a, 0x5e, 0x4b, 0x44, 0x80, //0x00006268 .quad -9204148869281624187 + 0x1f, 0x62, 0x32, 0xc3, 0xbc, 0x05, 0xe1, 0xd7, //0x00006270 .quad -2891023177508298209 + 0x66, 0xc3, 0x51, 0x19, 0x36, 0x5e, 0x55, 0xa0, //0x00006278 .quad -6893500068174642330 + 0xa7, 0xfa, 0xfe, 0xf3, 0x2b, 0x47, 0xd9, 0x8d, //0x00006280 .quad -8225464990312760665 + 0x40, 0x34, 0xa6, 0x9f, 0xc3, 0xb5, 0x6a, 0xc8, //0x00006288 .quad -4005189066790915008 + 0x51, 0xb9, 0xfe, 0xf0, 0xf6, 0x98, 0x4f, 0xb1, //0x00006290 .quad -5670145219463562927 + 0x50, 0xc1, 0x8f, 0x87, 0x34, 0x63, 0x85, 0xfa, //0x00006298 .quad -394800315061255856 + 0xd3, 0x33, 0x9f, 0x56, 0x9a, 0xbf, 0xd1, 0x6e, //0x000062a0 .quad 7985374283903742931 + 0xd2, 0xd8, 0xb9, 0xd4, 0x00, 0x5e, 0x93, 0x9c, //0x000062a8 .quad -7164279224554366766 + 0xc8, 0x00, 0x47, 0xec, 0x80, 0x2f, 0x86, 0x0a, //0x000062b0 .quad 758345818024902856 + 0x07, 0x4f, 0xe8, 0x09, 0x81, 0x35, 0xb8, 0xc3, //0x000062b8 .quad -4343663012265570553 + 0xfa, 0xc0, 0x58, 0x27, 0x61, 0xbb, 0x27, 0xcd, //0x000062c0 .quad -3663753745896259334 + 0xc8, 0x62, 0x62, 0x4c, 0xe1, 0x42, 0xa6, 0xf4, //0x000062c8 .quad -817892746904575288 + 0x9c, 0x78, 0x97, 0xb8, 0x1c, 0xd5, 0x38, 0x80, //0x000062d0 .quad -9207375118826243940 + 0xbd, 0x7d, 0xbd, 0xcf, 0xcc, 0xe9, 0xe7, 0x98, //0x000062d8 .quad -7428711994456441411 + 0xc3, 0x56, 0xbd, 0xe6, 0x63, 0x0a, 0x47, 0xe0, //0x000062e0 .quad -2285846861678029117 + 0x2c, 0xdd, 0xac, 0x03, 0x40, 0xe4, 0x21, 0xbf, //0x000062e8 .quad -4674203974643163860 + 0x74, 0xac, 0x6c, 0xe0, 0xfc, 0xcc, 0x58, 0x18, //0x000062f0 .quad 1754377441329851508 + 0x78, 0x14, 0x98, 0x04, 0x50, 0x5d, 0xea, 0xee, //0x000062f8 .quad -1231068949876566920 + 0xc8, 0xeb, 0x43, 0x0c, 0x1e, 0x80, 0x37, 0x0f, //0x00006300 .quad 1096485900831157192 + 0xcb, 0x0c, 0xdf, 0x02, 0x52, 0x7a, 0x52, 0x95, //0x00006308 .quad -7686947121313936181 + 0xba, 0xe6, 0x54, 0x8f, 0x25, 0x60, 0x05, 0xd3, //0x00006310 .quad -3241078642388441414 + 0xfd, 0xcf, 0x96, 0x83, 0xe6, 0x18, 0xa7, 0xba, //0x00006318 .quad -4996997883215032323 + 0x69, 0x20, 0x2a, 0xf3, 0x2e, 0xb8, 0xc6, 0x47, //0x00006320 .quad 5172023733869224041 + 0xfd, 0x83, 0x7c, 0x24, 0x20, 0xdf, 0x50, 0xe9, //0x00006328 .quad -1634561335591402499 + 0x41, 0x54, 0xfa, 0x57, 0x1d, 0x33, 0xdc, 0x4c, //0x00006330 .quad 5538357842881958977 + 0x7e, 0xd2, 0xcd, 0x16, 0x74, 0x8b, 0xd2, 0x91, //0x00006338 .quad -7939129862385708418 + 0x52, 0xe9, 0xf8, 0xad, 0xe4, 0x3f, 0x13, 0xe0, //0x00006340 .quad -2300424733252327086 + 0x1d, 0x47, 0x81, 0x1c, 0x51, 0x2e, 0x47, 0xb6, //0x00006348 .quad -5312226309554747619 + 0xa6, 0x23, 0x77, 0xd9, 0xdd, 0x0f, 0x18, 0x58, //0x00006350 .quad 6347841120289366950 + 0xe5, 0x98, 0xa1, 0x63, 0xe5, 0xf9, 0xd8, 0xe3, //0x00006358 .quad -2028596868516046619 + 0x48, 0x76, 0xea, 0xa7, 0xea, 0x09, 0x0f, 0x57, //0x00006360 .quad 6273243709394548296 + 0x8f, 0xff, 0x44, 0x5e, 0x2f, 0x9c, 0x67, 0x8e, //0x00006368 .quad -8185402070463610993 + 0xda, 0x13, 0xe5, 0x51, 0x65, 0xcc, 0xd2, 0x2c, //0x00006370 .quad 3229868618315797466 + 0x73, 0x3f, 0xd6, 0x35, 0x3b, 0x83, 0x01, 0xb2, //0x00006378 .quad -5620066569652125837 + 0xd1, 0x58, 0x5e, 0xa6, 0x7e, 0x7f, 0x07, 0xf8, //0x00006380 .quad -574350245532641071 + 0x4f, 0xcf, 0x4b, 0x03, 0x0a, 0xe4, 0x81, 0xde, //0x00006388 .quad -2413397193637769393 + 0x82, 0xf7, 0xfa, 0x27, 0xaf, 0xaf, 0x04, 0xfb, //0x00006390 .quad -358968903457900670 + 0x91, 0x61, 0x0f, 0x42, 0x86, 0x2e, 0x11, 0x8b, //0x00006398 .quad -8425902273664687727 + 0x63, 0xb5, 0xf9, 0xf1, 0x9a, 0xdb, 0xc5, 0x79, //0x000063a0 .quad 8774660907532399971 + 0xf6, 0x39, 0x93, 0xd2, 0x27, 0x7a, 0xd5, 0xad, //0x000063a8 .quad -5920691823653471754 + 0xbc, 0x22, 0x78, 0xae, 0x81, 0x52, 0x37, 0x18, //0x000063b0 .quad 1744954097560724156 + 0x74, 0x08, 0x38, 0xc7, 0xb1, 0xd8, 0x4a, 0xd9, //0x000063b8 .quad -2789178761139451788 + 0xb5, 0x15, 0x0b, 0x0d, 0x91, 0x93, 0x22, 0x8f, //0x000063c0 .quad -8132775725879323211 + 0x48, 0x05, 0x83, 0x1c, 0x6f, 0xc7, 0xce, 0x87, //0x000063c8 .quad -8660765753353239224 + 0x22, 0xdb, 0x4d, 0x50, 0x75, 0x38, 0xeb, 0xb2, //0x000063d0 .quad -5554283638921766110 + 0x9a, 0xc6, 0xa3, 0xe3, 0x4a, 0x79, 0xc2, 0xa9, //0x000063d8 .quad -6214271173264161126 + 0xeb, 0x51, 0x61, 0xa4, 0x92, 0x06, 0xa6, 0x5f, //0x000063e0 .quad 6892203506629956075 + 0x41, 0xb8, 0x8c, 0x9c, 0x9d, 0x17, 0x33, 0xd4, //0x000063e8 .quad -3156152948152813503 + 0x33, 0xd3, 0xbc, 0xa6, 0x1b, 0xc4, 0xc7, 0xdb, //0x000063f0 .quad -2609901835997359309 + 0x28, 0xf3, 0xd7, 0x81, 0xc2, 0xee, 0x9f, 0x84, //0x000063f8 .quad -8890124620236590296 + 0x00, 0x08, 0x6c, 0x90, 0x22, 0xb5, 0xb9, 0x12, //0x00006400 .quad 1349308723430688768 + 0xf3, 0xef, 0x4d, 0x22, 0x73, 0xea, 0xc7, 0xa5, //0x00006408 .quad -6500969756868349965 + 0x00, 0x0a, 0x87, 0x34, 0x6b, 0x22, 0x68, 0xd7, //0x00006410 .quad -2925050114139026944 + 0xef, 0x6b, 0xe1, 0xea, 0x0f, 0xe5, 0x39, 0xcf, //0x00006418 .quad -3514526177658049553 + 0x40, 0x66, 0xd4, 0x00, 0x83, 0x15, 0xa1, 0xe6, //0x00006420 .quad -1828156321336891840 + 0x75, 0xe3, 0xcc, 0xf2, 0x29, 0x2f, 0x84, 0x81, //0x00006428 .quad -9114107888677362827 + 0xd0, 0x7f, 0x09, 0xc1, 0xe3, 0x5a, 0x49, 0x60, //0x00006430 .quad 6938176635183661008 + 0x53, 0x1c, 0x80, 0x6f, 0xf4, 0x3a, 0xe5, 0xa1, //0x00006438 .quad -6780948842419315629 + 0xc4, 0xdf, 0x4b, 0xb1, 0x9c, 0xb1, 0x5b, 0x38, //0x00006440 .quad 4061034775552188356 + 0x68, 0x23, 0x60, 0x8b, 0xb1, 0x89, 0x5e, 0xca, //0x00006448 .quad -3864500034596756632 + 0xb5, 0xd7, 0x9e, 0xdd, 0x03, 0x9e, 0x72, 0x46, //0x00006450 .quad 5076293469440235445 + 0x42, 0x2c, 0x38, 0xee, 0x1d, 0x2c, 0xf6, 0xfc, //0x00006458 .quad -218939024818557886 + 0xd1, 0x46, 0x83, 0x6a, 0xc2, 0xa2, 0x07, 0x6c, //0x00006460 .quad 7784369436827535057 + 0xa9, 0x1b, 0xe3, 0xb4, 0x92, 0xdb, 0x19, 0x9e, //0x00006468 .quad -7054365918152680535 + 0x85, 0x18, 0x24, 0x05, 0x73, 0x8b, 0x09, 0xc7, //0x00006470 .quad -4104596259247744891 + 0x93, 0xe2, 0x1b, 0x62, 0x77, 0x52, 0xa0, 0xc5, //0x00006478 .quad -4206271379263462765 + 0xa7, 0x1e, 0x6d, 0xc6, 0x4f, 0xee, 0xcb, 0xb8, //0x00006480 .quad -5130745324059681113 + 0x38, 0xdb, 0xa2, 0x3a, 0x15, 0x67, 0x08, 0xf7, //0x00006488 .quad -646153205651940552 + 0x28, 0x33, 0x04, 0xdc, 0xf1, 0x74, 0x7f, 0x73, //0x00006490 .quad 8322499218531169064 + 0x03, 0xc9, 0xa5, 0x44, 0x6d, 0x40, 0x65, 0x9a, //0x00006498 .quad -7321374781173544701 + 0xf2, 0x3f, 0x05, 0x53, 0x2e, 0x52, 0x5f, 0x50, //0x000064a0 .quad 5791438004736573426 + 0x44, 0x3b, 0xcf, 0x95, 0x88, 0x90, 0xfe, 0xc0, //0x000064a8 .quad -4540032458039542972 + 0xef, 0x8f, 0xc6, 0xe7, 0xb9, 0x26, 0x77, 0x64, //0x000064b0 .quad 7239297505920716783 + 0x15, 0x0a, 0x43, 0xbb, 0xaa, 0x34, 0x3e, 0xf1, //0x000064b8 .quad -1063354554122040811 + 0xf5, 0x19, 0xdc, 0x30, 0x34, 0x78, 0xca, 0x5e, //0x000064c0 .quad 6830403950414141941 + 0x4d, 0xe6, 0x09, 0xb5, 0xea, 0xe0, 0xc6, 0x96, //0x000064c8 .quad -7582125623967357363 + 0x72, 0x20, 0x13, 0x3d, 0x41, 0x16, 0x7d, 0xb6, //0x000064d0 .quad -5297053117264486286 + 0xe0, 0x5f, 0x4c, 0x62, 0x25, 0x99, 0x78, 0xbc, //0x000064d8 .quad -4865971011531808800 + 0x8f, 0xe8, 0x57, 0x8c, 0xd1, 0x5b, 0x1c, 0xe4, //0x000064e0 .quad -2009630378153219953 + 0xd8, 0x77, 0xdf, 0xba, 0x6e, 0xbf, 0x96, 0xeb, //0x000064e8 .quad -1470777745987373096 + 0x59, 0xf1, 0xb6, 0xf7, 0x62, 0xb9, 0x91, 0x8e, //0x000064f0 .quad -8173548013986844327 + 0xe7, 0xaa, 0xcb, 0x34, 0xa5, 0x37, 0x3e, 0x93, //0x000064f8 .quad -7836765118883190041 + 0xb0, 0xad, 0xa4, 0xb5, 0xbb, 0x27, 0x36, 0x72, //0x00006500 .quad 8229809056225996208 + 0xa1, 0x95, 0xfe, 0x81, 0x8e, 0xc5, 0x0d, 0xb8, //0x00006508 .quad -5184270380176599647 + 0x1c, 0xd9, 0x0d, 0xa3, 0xaa, 0xb1, 0xc3, 0xce, //0x00006510 .quad -3547796734999668452 + 0x09, 0x3b, 0x7e, 0x22, 0xf2, 0x36, 0x11, 0xe6, //0x00006518 .quad -1868651956793361655 + 0xb1, 0xa7, 0xe8, 0xa5, 0x0a, 0x4f, 0x3a, 0x21, //0x00006520 .quad 2394313059052595121 + 0xe6, 0xe4, 0x8e, 0x55, 0x57, 0xc2, 0xca, 0x8f, //0x00006528 .quad -8085436500636932890 + 0x9d, 0xd1, 0x62, 0x4f, 0xcd, 0xe2, 0x88, 0xa9, //0x00006530 .quad -6230480713039031907 + 0x1f, 0x9e, 0xf2, 0x2a, 0xed, 0x72, 0xbd, 0xb3, //0x00006538 .quad -5495109607368778209 + 0x05, 0x86, 0x3b, 0xa3, 0x80, 0x1b, 0xeb, 0x93, //0x00006540 .quad -7788100891298789883 + 0xa7, 0x45, 0xaf, 0x75, 0xa8, 0xcf, 0xac, 0xe0, //0x00006548 .quad -2257200990783584857 + 0xc3, 0x33, 0x05, 0x66, 0x30, 0xf1, 0x72, 0xbc, //0x00006550 .quad -4867563057061743677 + 0x88, 0x8b, 0x8d, 0x49, 0xc9, 0x01, 0x6c, 0x8c, //0x00006558 .quad -8328279646880822392 + 0xb4, 0x80, 0x86, 0x7f, 0x7c, 0xad, 0x8f, 0xeb, //0x00006560 .quad -1472767802899791692 + 0x6a, 0xee, 0xf0, 0x9b, 0x3b, 0x02, 0x87, 0xaf, //0x00006568 .quad -5798663540173640086 + 0xe1, 0x20, 0x68, 0x9f, 0xdb, 0x98, 0x73, 0xa6, //0x00006570 .quad -6452645772052127519 + 0x05, 0x2a, 0xed, 0x82, 0xca, 0xc2, 0x68, 0xdb, //0x00006578 .quad -2636643406789662203 + 0x8c, 0x14, 0xa1, 0x43, 0x89, 0x3f, 0x08, 0x88, //0x00006580 .quad -8644589625959967604 + 0x43, 0x3a, 0xd4, 0x91, 0xbe, 0x79, 0x21, 0x89, //0x00006588 .quad -8565431156884620733 + 0xb0, 0x59, 0x89, 0x94, 0x6b, 0x4f, 0x0a, 0x6a, //0x00006590 .quad 7641007041259592112 + 0xd4, 0x48, 0x49, 0x36, 0x2e, 0xd8, 0x69, 0xab, //0x00006598 .quad -6095102927678388012 + 0x1c, 0xb0, 0xab, 0x79, 0x46, 0xe3, 0x8c, 0x84, //0x000065a0 .quad -8895485272135061476 + 0x09, 0x9b, 0xdb, 0xc3, 0x39, 0x4e, 0x44, 0xd6, //0x000065a8 .quad -3007192641170597111 + 0x11, 0x4e, 0x0b, 0x0c, 0x0c, 0x0e, 0xd8, 0xf2, //0x000065b0 .quad -947992276657025519 + 0xe5, 0x40, 0x69, 0x1a, 0xe4, 0xb0, 0xea, 0x85, //0x000065b8 .quad -8797024428372705051 + 0x95, 0x21, 0x0e, 0x0f, 0x8f, 0x11, 0x8e, 0x6f, //0x000065c0 .quad 8038381691033493909 + 0x1f, 0x91, 0x03, 0x21, 0x1d, 0x5d, 0x65, 0xa7, //0x000065c8 .quad -6384594517038493409 + 0xfb, 0xa9, 0xd1, 0xd2, 0xf2, 0x95, 0x71, 0x4b, //0x000065d0 .quad 5436291095364479483 + 0x67, 0x75, 0x44, 0x69, 0x64, 0xb4, 0x3e, 0xd1, //0x000065d8 .quad -3369057127870728857 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x000065f0 .p2align 4, 0x00 + //0x000065f0 _POW_TAB + 0x01, 0x00, 0x00, 0x00, //0x000065f0 .long 1 + 0x03, 0x00, 0x00, 0x00, //0x000065f4 .long 3 + 0x06, 0x00, 0x00, 0x00, //0x000065f8 .long 6 + 0x09, 0x00, 0x00, 0x00, //0x000065fc .long 9 + 0x0d, 0x00, 0x00, 0x00, //0x00006600 .long 13 + 0x10, 0x00, 0x00, 0x00, //0x00006604 .long 16 + 0x13, 0x00, 0x00, 0x00, //0x00006608 .long 19 + 0x17, 0x00, 0x00, 0x00, //0x0000660c .long 23 + 0x1a, 0x00, 0x00, 0x00, //0x00006610 .long 26 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006614 .p2align 4, 0x00 + //0x00006620 _LSHIFT_TAB + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006620 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006630 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006640 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006650 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006660 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006670 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006680 QUAD $0x0000000000000000 // .space 8, '\x00\x00\x00\x00\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x00006688 .long 1 + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000668c QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000669c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000066ec LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x000066f0 .long 1 + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066f4 QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006704 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006714 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006724 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006734 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006744 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006754 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x00006758 .long 1 + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000675c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000676c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000677c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000678c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000679c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000067bc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x000067c0 .long 2 + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067c4 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006804 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006814 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006824 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x00006828 .long 2 + 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000682c QUAD $0x0000000035323133; QUAD $0x0000000000000000 // .asciz 16, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000683c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000684c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000685c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000686c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000687c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000688c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x00006890 .long 2 + 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006894 QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000068f4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x000068f8 .long 3 + 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068fc QUAD $0x0000003532313837; QUAD $0x0000000000000000 // .asciz 16, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000690c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000691c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000692c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000693c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000694c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000695c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x00006960 .long 3 + 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006964 QUAD $0x0000353236303933; QUAD $0x0000000000000000 // .asciz 16, '390625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006974 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006984 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006994 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000069c4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x000069c8 .long 3 + 0x31, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069cc QUAD $0x0035323133353931; QUAD $0x0000000000000000 // .asciz 16, '1953125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006a2c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00006a30 .long 4 + 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a34 QUAD $0x0035323635363739; QUAD $0x0000000000000000 // .asciz 16, '9765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006a94 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00006a98 .long 4 + 0x34, 0x38, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a9c QUAD $0x3532313832383834; QUAD $0x0000000000000000 // .asciz 16, '48828125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006aac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006abc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006acc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006adc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006aec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006afc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00006b00 .long 4 + 0x32, 0x34, 0x34, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b04 QUAD $0x3236303431343432; QUAD $0x0000000000000035 // .asciz 16, '244140625\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b34 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006b64 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00006b68 .long 4 + 0x31, 0x32, 0x32, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b6c QUAD $0x3133303730323231; QUAD $0x0000000000003532 // .asciz 16, '1220703125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b7c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b9c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bbc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006bcc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x00006bd0 .long 5 + 0x36, 0x31, 0x30, 0x33, 0x35, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bd4 QUAD $0x3635313533303136; QUAD $0x0000000000003532 // .asciz 16, '6103515625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006be4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bf4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006c34 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x00006c38 .long 5 + 0x33, 0x30, 0x35, 0x31, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c3c QUAD $0x3837353731353033; QUAD $0x0000000000353231 // .asciz 16, '30517578125\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c7c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006c9c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x00006ca0 .long 5 + 0x31, 0x35, 0x32, 0x35, 0x38, 0x37, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x00006ca4 QUAD $0x3938373835323531; QUAD $0x0000000035323630 // .asciz 16, '152587890625\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006cb4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006cc4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006cd4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ce4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006cf4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006d04 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00006d08 .long 6 + 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x00006d0c QUAD $0x3534393339323637; QUAD $0x0000000035323133 // .asciz 16, '762939453125\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d3c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006d6c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00006d70 .long 6 + 0x33, 0x38, 0x31, 0x34, 0x36, 0x39, 0x37, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, //0x00006d74 QUAD $0x3237393634313833; QUAD $0x0000003532363536 // .asciz 16, '3814697265625\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006da4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006db4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006dc4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006dd4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00006dd8 .long 6 + 0x31, 0x39, 0x30, 0x37, 0x33, 0x34, 0x38, 0x36, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, //0x00006ddc QUAD $0x3638343337303931; QUAD $0x0000353231383233 // .asciz 16, '19073486328125\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006dec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006dfc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006e3c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00006e40 .long 7 + 0x39, 0x35, 0x33, 0x36, 0x37, 0x34, 0x33, 0x31, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, //0x00006e44 QUAD $0x3133343736333539; QUAD $0x0000353236303436 // .asciz 16, '95367431640625\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006ea4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00006ea8 .long 7 + 0x34, 0x37, 0x36, 0x38, 0x33, 0x37, 0x31, 0x35, 0x38, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, //0x00006eac QUAD $0x3531373338363734; QUAD $0x0035323133303238 // .asciz 16, '476837158203125\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ebc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ecc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006edc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006eec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006efc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006f0c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00006f10 .long 7 + 0x32, 0x33, 0x38, 0x34, 0x31, 0x38, 0x35, 0x37, 0x39, 0x31, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, //0x00006f14 QUAD $0x3735383134383332; QUAD $0x3532363531303139 // .asciz 16, '2384185791015625' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f34 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006f74 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00006f78 .long 7 + 0x31, 0x31, 0x39, 0x32, 0x30, 0x39, 0x32, 0x38, 0x39, 0x35, 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, //0x00006f7c QUAD $0x3832393032393131; QUAD $0x3231383730353539 // .asciz 16, '1192092895507812' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f8c QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f9c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006fac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006fbc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006fcc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006fdc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00006fe0 .long 8 + 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, //0x00006fe4 QUAD $0x3434363430363935; QUAD $0x3236303933353737 // .asciz 16, '5960464477539062' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ff4 QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007004 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007014 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007024 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007034 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007044 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00007048 .long 8 + 0x32, 0x39, 0x38, 0x30, 0x32, 0x33, 0x32, 0x32, 0x33, 0x38, 0x37, 0x36, 0x39, 0x35, 0x33, 0x31, //0x0000704c QUAD $0x3232333230383932; QUAD $0x3133353936373833 // .asciz 16, '2980232238769531' + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000705c QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000706c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000707c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000708c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000709c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000070ac LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x000070b0 .long 8 + 0x31, 0x34, 0x39, 0x30, 0x31, 0x31, 0x36, 0x31, 0x31, 0x39, 0x33, 0x38, 0x34, 0x37, 0x36, 0x35, //0x000070b4 QUAD $0x3136313130393431; QUAD $0x3536373438333931 // .asciz 16, '1490116119384765' + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000070c4 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000070d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000070e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000070f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007104 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007114 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00007118 .long 9 + 0x37, 0x34, 0x35, 0x30, 0x35, 0x38, 0x30, 0x35, 0x39, 0x36, 0x39, 0x32, 0x33, 0x38, 0x32, 0x38, //0x0000711c QUAD $0x3530383530353437; QUAD $0x3832383332393639 // .asciz 16, '7450580596923828' + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000712c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000713c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000714c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000715c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000716c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000717c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00007180 .long 9 + 0x33, 0x37, 0x32, 0x35, 0x32, 0x39, 0x30, 0x32, 0x39, 0x38, 0x34, 0x36, 0x31, 0x39, 0x31, 0x34, //0x00007184 QUAD $0x3230393235323733; QUAD $0x3431393136343839 // .asciz 16, '3725290298461914' + 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007194 QUAD $0x0000000035323630; QUAD $0x0000000000000000 // .asciz 16, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000071e4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x000071e8 .long 9 + 0x31, 0x38, 0x36, 0x32, 0x36, 0x34, 0x35, 0x31, 0x34, 0x39, 0x32, 0x33, 0x30, 0x39, 0x35, 0x37, //0x000071ec QUAD $0x3135343632363831; QUAD $0x3735393033323934 // .asciz 16, '1862645149230957' + 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071fc QUAD $0x0000003532313330; QUAD $0x0000000000000000 // .asciz 16, '03125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000720c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000721c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000722c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000723c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000724c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00007250 .long 10 + 0x39, 0x33, 0x31, 0x33, 0x32, 0x32, 0x35, 0x37, 0x34, 0x36, 0x31, 0x35, 0x34, 0x37, 0x38, 0x35, //0x00007254 QUAD $0x3735323233313339; QUAD $0x3538373435313634 // .asciz 16, '9313225746154785' + 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007264 QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007274 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007284 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007294 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000072b4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x000072b8 .long 10 + 0x34, 0x36, 0x35, 0x36, 0x36, 0x31, 0x32, 0x38, 0x37, 0x33, 0x30, 0x37, 0x37, 0x33, 0x39, 0x32, //0x000072bc QUAD $0x3832313636353634; QUAD $0x3239333737303337 // .asciz 16, '4656612873077392' + 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072cc QUAD $0x0000353231383735; QUAD $0x0000000000000000 // .asciz 16, '578125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000730c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000731c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00007320 .long 10 + 0x32, 0x33, 0x32, 0x38, 0x33, 0x30, 0x36, 0x34, 0x33, 0x36, 0x35, 0x33, 0x38, 0x36, 0x39, 0x36, //0x00007324 QUAD $0x3436303338323332; QUAD $0x3639363833353633 // .asciz 16, '2328306436538696' + 0x32, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007334 QUAD $0x0035323630393832; QUAD $0x0000000000000000 // .asciz 16, '2890625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007344 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007354 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007364 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007374 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007384 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00007388 .long 10 + 0x31, 0x31, 0x36, 0x34, 0x31, 0x35, 0x33, 0x32, 0x31, 0x38, 0x32, 0x36, 0x39, 0x33, 0x34, 0x38, //0x0000738c QUAD $0x3233353134363131; QUAD $0x3834333936323831 // .asciz 16, '1164153218269348' + 0x31, 0x34, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000739c QUAD $0x3532313335343431; QUAD $0x0000000000000000 // .asciz 16, '14453125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000073ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000073bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000073cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000073dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000073ec LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x000073f0 .long 11 + 0x35, 0x38, 0x32, 0x30, 0x37, 0x36, 0x36, 0x30, 0x39, 0x31, 0x33, 0x34, 0x36, 0x37, 0x34, 0x30, //0x000073f4 QUAD $0x3036363730323835; QUAD $0x3034373634333139 // .asciz 16, '5820766091346740' + 0x37, 0x32, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007404 QUAD $0x3532363536323237; QUAD $0x0000000000000000 // .asciz 16, '72265625\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007414 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007424 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007434 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007444 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007454 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00007458 .long 11 + 0x32, 0x39, 0x31, 0x30, 0x33, 0x38, 0x33, 0x30, 0x34, 0x35, 0x36, 0x37, 0x33, 0x33, 0x37, 0x30, //0x0000745c QUAD $0x3033383330313932; QUAD $0x3037333337363534 // .asciz 16, '2910383045673370' + 0x33, 0x36, 0x31, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000746c QUAD $0x3231383233313633; QUAD $0x0000000000000035 // .asciz 16, '361328125\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000747c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000748c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000749c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000074ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000074bc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x000074c0 .long 11 + 0x31, 0x34, 0x35, 0x35, 0x31, 0x39, 0x31, 0x35, 0x32, 0x32, 0x38, 0x33, 0x36, 0x36, 0x38, 0x35, //0x000074c4 QUAD $0x3531393135353431; QUAD $0x3538363633383232 // .asciz 16, '1455191522836685' + 0x31, 0x38, 0x30, 0x36, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000074d4 QUAD $0x3630343636303831; QUAD $0x0000000000003532 // .asciz 16, '1806640625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000074e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000074f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007504 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007514 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007524 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00007528 .long 12 + 0x37, 0x32, 0x37, 0x35, 0x39, 0x35, 0x37, 0x36, 0x31, 0x34, 0x31, 0x38, 0x33, 0x34, 0x32, 0x35, //0x0000752c QUAD $0x3637353935373237; QUAD $0x3532343338313431 // .asciz 16, '7275957614183425' + 0x39, 0x30, 0x33, 0x33, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000753c QUAD $0x3133303233333039; QUAD $0x0000000000003532 // .asciz 16, '9033203125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000754c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000755c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000756c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000757c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000758c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00007590 .long 12 + 0x33, 0x36, 0x33, 0x37, 0x39, 0x37, 0x38, 0x38, 0x30, 0x37, 0x30, 0x39, 0x31, 0x37, 0x31, 0x32, //0x00007594 QUAD $0x3838373937333633; QUAD $0x3231373139303730 // .asciz 16, '3637978807091712' + 0x39, 0x35, 0x31, 0x36, 0x36, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000075a4 QUAD $0x3531303636313539; QUAD $0x0000000000353236 // .asciz 16, '95166015625\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000075b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000075c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000075d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000075e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000075f4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x000075f8 .long 12 + 0x31, 0x38, 0x31, 0x38, 0x39, 0x38, 0x39, 0x34, 0x30, 0x33, 0x35, 0x34, 0x35, 0x38, 0x35, 0x36, //0x000075fc QUAD $0x3439383938313831; QUAD $0x3635383534353330 // .asciz 16, '1818989403545856' + 0x34, 0x37, 0x35, 0x38, 0x33, 0x30, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x0000760c QUAD $0x3730303338353734; QUAD $0x0000000035323138 // .asciz 16, '475830078125\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000761c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000762c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000763c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000764c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000765c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00007660 .long 13 + 0x39, 0x30, 0x39, 0x34, 0x39, 0x34, 0x37, 0x30, 0x31, 0x37, 0x37, 0x32, 0x39, 0x32, 0x38, 0x32, //0x00007664 QUAD $0x3037343934393039; QUAD $0x3238323932373731 // .asciz 16, '9094947017729282' + 0x33, 0x37, 0x39, 0x31, 0x35, 0x30, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x00007674 QUAD $0x3933303531393733; QUAD $0x0000000035323630 // .asciz 16, '379150390625\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007684 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007694 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000076a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000076b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000076c4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x000076c8 .long 13 + 0x34, 0x35, 0x34, 0x37, 0x34, 0x37, 0x33, 0x35, 0x30, 0x38, 0x38, 0x36, 0x34, 0x36, 0x34, 0x31, //0x000076cc QUAD $0x3533373437343534; QUAD $0x3134363436383830 // .asciz 16, '4547473508864641' + 0x31, 0x38, 0x39, 0x35, 0x37, 0x35, 0x31, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, //0x000076dc QUAD $0x3931353735393831; QUAD $0x0000003532313335 // .asciz 16, '1895751953125\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000076ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000076fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000770c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000771c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000772c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00007730 .long 13 + 0x32, 0x32, 0x37, 0x33, 0x37, 0x33, 0x36, 0x37, 0x35, 0x34, 0x34, 0x33, 0x32, 0x33, 0x32, 0x30, //0x00007734 QUAD $0x3736333733373232; QUAD $0x3032333233343435 // .asciz 16, '2273736754432320' + 0x35, 0x39, 0x34, 0x37, 0x38, 0x37, 0x35, 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, //0x00007744 QUAD $0x3935373837343935; QUAD $0x0000353236353637 // .asciz 16, '59478759765625\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007754 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007764 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007774 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007784 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007794 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00007798 .long 13 + 0x31, 0x31, 0x33, 0x36, 0x38, 0x36, 0x38, 0x33, 0x37, 0x37, 0x32, 0x31, 0x36, 0x31, 0x36, 0x30, //0x0000779c QUAD $0x3338363836333131; QUAD $0x3036313631323737 // .asciz 16, '1136868377216160' + 0x32, 0x39, 0x37, 0x33, 0x39, 0x33, 0x37, 0x39, 0x38, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, //0x000077ac QUAD $0x3937333933373932; QUAD $0x0035323138323838 // .asciz 16, '297393798828125\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000077bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000077cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000077dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000077ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000077fc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x00007800 .long 14 + 0x35, 0x36, 0x38, 0x34, 0x33, 0x34, 0x31, 0x38, 0x38, 0x36, 0x30, 0x38, 0x30, 0x38, 0x30, 0x31, //0x00007804 QUAD $0x3831343334383635; QUAD $0x3130383038303638 // .asciz 16, '5684341886080801' + 0x34, 0x38, 0x36, 0x39, 0x36, 0x38, 0x39, 0x39, 0x34, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, //0x00007814 QUAD $0x3939383639363834; QUAD $0x0035323630343134 // .asciz 16, '486968994140625\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007824 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007834 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007844 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007854 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007864 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x00007868 .long 14 + 0x32, 0x38, 0x34, 0x32, 0x31, 0x37, 0x30, 0x39, 0x34, 0x33, 0x30, 0x34, 0x30, 0x34, 0x30, 0x30, //0x0000786c QUAD $0x3930373132343832; QUAD $0x3030343034303334 // .asciz 16, '2842170943040400' + 0x37, 0x34, 0x33, 0x34, 0x38, 0x34, 0x34, 0x39, 0x37, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, //0x0000787c QUAD $0x3934343834333437; QUAD $0x3532313330373037 // .asciz 16, '7434844970703125' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000788c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000789c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000078ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000078bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000078cc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x000078d0 .long 14 + 0x31, 0x34, 0x32, 0x31, 0x30, 0x38, 0x35, 0x34, 0x37, 0x31, 0x35, 0x32, 0x30, 0x32, 0x30, 0x30, //0x000078d4 QUAD $0x3435383031323431; QUAD $0x3030323032353137 // .asciz 16, '1421085471520200' + 0x33, 0x37, 0x31, 0x37, 0x34, 0x32, 0x32, 0x34, 0x38, 0x35, 0x33, 0x35, 0x31, 0x35, 0x36, 0x32, //0x000078e4 QUAD $0x3432323437313733; QUAD $0x3236353135333538 // .asciz 16, '3717422485351562' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000078f4 QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007904 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007914 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007924 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007934 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00007938 .long 15 + 0x37, 0x31, 0x30, 0x35, 0x34, 0x32, 0x37, 0x33, 0x35, 0x37, 0x36, 0x30, 0x31, 0x30, 0x30, 0x31, //0x0000793c QUAD $0x3337323435303137; QUAD $0x3130303130363735 // .asciz 16, '7105427357601001' + 0x38, 0x35, 0x38, 0x37, 0x31, 0x31, 0x32, 0x34, 0x32, 0x36, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, //0x0000794c QUAD $0x3432313137383538; QUAD $0x3231383735373632 // .asciz 16, '8587112426757812' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000795c QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000796c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000797c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000798c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000799c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x000079a0 .long 15 + 0x33, 0x35, 0x35, 0x32, 0x37, 0x31, 0x33, 0x36, 0x37, 0x38, 0x38, 0x30, 0x30, 0x35, 0x30, 0x30, //0x000079a4 QUAD $0x3633313732353533; QUAD $0x3030353030383837 // .asciz 16, '3552713678800500' + 0x39, 0x32, 0x39, 0x33, 0x35, 0x35, 0x36, 0x32, 0x31, 0x33, 0x33, 0x37, 0x38, 0x39, 0x30, 0x36, //0x000079b4 QUAD $0x3236353533393239; QUAD $0x3630393837333331 // .asciz 16, '9293556213378906' + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000079c4 QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000079d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000079e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000079f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007a04 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00007a08 .long 15 + 0x31, 0x37, 0x37, 0x36, 0x33, 0x35, 0x36, 0x38, 0x33, 0x39, 0x34, 0x30, 0x30, 0x32, 0x35, 0x30, //0x00007a0c QUAD $0x3836353336373731; QUAD $0x3035323030343933 // .asciz 16, '1776356839400250' + 0x34, 0x36, 0x34, 0x36, 0x37, 0x37, 0x38, 0x31, 0x30, 0x36, 0x36, 0x38, 0x39, 0x34, 0x35, 0x33, //0x00007a1c QUAD $0x3138373736343634; QUAD $0x3335343938363630 // .asciz 16, '4646778106689453' + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a2c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a3c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007a6c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00007a70 .long 16 + 0x38, 0x38, 0x38, 0x31, 0x37, 0x38, 0x34, 0x31, 0x39, 0x37, 0x30, 0x30, 0x31, 0x32, 0x35, 0x32, //0x00007a74 QUAD $0x3134383731383838; QUAD $0x3235323130303739 // .asciz 16, '8881784197001252' + 0x33, 0x32, 0x33, 0x33, 0x38, 0x39, 0x30, 0x35, 0x33, 0x33, 0x34, 0x34, 0x37, 0x32, 0x36, 0x35, //0x00007a84 QUAD $0x3530393833333233; QUAD $0x3536323734343333 // .asciz 16, '3233890533447265' + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a94 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007aa4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007ab4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007ac4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007ad4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00007ad8 .long 16 + 0x34, 0x34, 0x34, 0x30, 0x38, 0x39, 0x32, 0x30, 0x39, 0x38, 0x35, 0x30, 0x30, 0x36, 0x32, 0x36, //0x00007adc QUAD $0x3032393830343434; QUAD $0x3632363030353839 // .asciz 16, '4440892098500626' + 0x31, 0x36, 0x31, 0x36, 0x39, 0x34, 0x35, 0x32, 0x36, 0x36, 0x37, 0x32, 0x33, 0x36, 0x33, 0x32, //0x00007aec QUAD $0x3235343936313631; QUAD $0x3233363332373636 // .asciz 16, '1616945266723632' + 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007afc QUAD $0x0000000035323138; QUAD $0x0000000000000000 // .asciz 16, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007b0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007b1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007b2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007b3c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00007b40 .long 16 + 0x32, 0x32, 0x32, 0x30, 0x34, 0x34, 0x36, 0x30, 0x34, 0x39, 0x32, 0x35, 0x30, 0x33, 0x31, 0x33, //0x00007b44 QUAD $0x3036343430323232; QUAD $0x3331333035323934 // .asciz 16, '2220446049250313' + 0x30, 0x38, 0x30, 0x38, 0x34, 0x37, 0x32, 0x36, 0x33, 0x33, 0x33, 0x36, 0x31, 0x38, 0x31, 0x36, //0x00007b54 QUAD $0x3632373438303830; QUAD $0x3631383136333333 // .asciz 16, '0808472633361816' + 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007b64 QUAD $0x0000003532363034; QUAD $0x0000000000000000 // .asciz 16, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007b74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007b84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007b94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007ba4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00007ba8 .long 16 + 0x31, 0x31, 0x31, 0x30, 0x32, 0x32, 0x33, 0x30, 0x32, 0x34, 0x36, 0x32, 0x35, 0x31, 0x35, 0x36, //0x00007bac QUAD $0x3033323230313131; QUAD $0x3635313532363432 // .asciz 16, '1110223024625156' + 0x35, 0x34, 0x30, 0x34, 0x32, 0x33, 0x36, 0x33, 0x31, 0x36, 0x36, 0x38, 0x30, 0x39, 0x30, 0x38, //0x00007bbc QUAD $0x3336333234303435; QUAD $0x3830393038363631 // .asciz 16, '5404236316680908' + 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007bcc QUAD $0x0000353231333032; QUAD $0x0000000000000000 // .asciz 16, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007bdc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007bec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007bfc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007c0c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00007c10 .long 17 + 0x35, 0x35, 0x35, 0x31, 0x31, 0x31, 0x35, 0x31, 0x32, 0x33, 0x31, 0x32, 0x35, 0x37, 0x38, 0x32, //0x00007c14 QUAD $0x3135313131353535; QUAD $0x3238373532313332 // .asciz 16, '5551115123125782' + 0x37, 0x30, 0x32, 0x31, 0x31, 0x38, 0x31, 0x35, 0x38, 0x33, 0x34, 0x30, 0x34, 0x35, 0x34, 0x31, //0x00007c24 QUAD $0x3531383131323037; QUAD $0x3134353430343338 // .asciz 16, '7021181583404541' + 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007c34 QUAD $0x0000353236353130; QUAD $0x0000000000000000 // .asciz 16, '015625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007c44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007c54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007c64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007c74 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00007c78 .long 17 + 0x32, 0x37, 0x37, 0x35, 0x35, 0x35, 0x37, 0x35, 0x36, 0x31, 0x35, 0x36, 0x32, 0x38, 0x39, 0x31, //0x00007c7c QUAD $0x3537353535373732; QUAD $0x3139383236353136 // .asciz 16, '2775557561562891' + 0x33, 0x35, 0x31, 0x30, 0x35, 0x39, 0x30, 0x37, 0x39, 0x31, 0x37, 0x30, 0x32, 0x32, 0x37, 0x30, //0x00007c8c QUAD $0x3730393530313533; QUAD $0x3037323230373139 // .asciz 16, '3510590791702270' + 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007c9c QUAD $0x0035323138373035; QUAD $0x0000000000000000 // .asciz 16, '5078125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007cac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007cbc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007ccc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007cdc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00007ce0 .long 17 + 0x31, 0x33, 0x38, 0x37, 0x37, 0x37, 0x38, 0x37, 0x38, 0x30, 0x37, 0x38, 0x31, 0x34, 0x34, 0x35, //0x00007ce4 QUAD $0x3738373737383331; QUAD $0x3534343138373038 // .asciz 16, '1387778780781445' + 0x36, 0x37, 0x35, 0x35, 0x32, 0x39, 0x35, 0x33, 0x39, 0x35, 0x38, 0x35, 0x31, 0x31, 0x33, 0x35, //0x00007cf4 QUAD $0x3335393235353736; QUAD $0x3533313135383539 // .asciz 16, '6755295395851135' + 0x32, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007d04 QUAD $0x3532363039333532; QUAD $0x0000000000000000 // .asciz 16, '25390625\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007d14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007d24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007d34 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007d44 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x00007d48 .long 18 + 0x36, 0x39, 0x33, 0x38, 0x38, 0x39, 0x33, 0x39, 0x30, 0x33, 0x39, 0x30, 0x37, 0x32, 0x32, 0x38, //0x00007d4c QUAD $0x3933393838333936; QUAD $0x3832323730393330 // .asciz 16, '6938893903907228' + 0x33, 0x37, 0x37, 0x36, 0x34, 0x37, 0x36, 0x39, 0x37, 0x39, 0x32, 0x35, 0x35, 0x36, 0x37, 0x36, //0x00007d5c QUAD $0x3936373436373733; QUAD $0x3637363535323937 // .asciz 16, '3776476979255676' + 0x32, 0x36, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007d6c QUAD $0x3532313335393632; QUAD $0x0000000000000000 // .asciz 16, '26953125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007d7c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007d8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007d9c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007dac LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x00007db0 .long 18 + 0x33, 0x34, 0x36, 0x39, 0x34, 0x34, 0x36, 0x39, 0x35, 0x31, 0x39, 0x35, 0x33, 0x36, 0x31, 0x34, //0x00007db4 QUAD $0x3936343439363433; QUAD $0x3431363335393135 // .asciz 16, '3469446951953614' + 0x31, 0x38, 0x38, 0x38, 0x32, 0x33, 0x38, 0x34, 0x38, 0x39, 0x36, 0x32, 0x37, 0x38, 0x33, 0x38, //0x00007dc4 QUAD $0x3438333238383831; QUAD $0x3833383732363938 // .asciz 16, '1888238489627838' + 0x31, 0x33, 0x34, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007dd4 QUAD $0x3236353637343331; QUAD $0x0000000000000035 // .asciz 16, '134765625\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007de4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007df4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007e04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007e14 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x00007e18 .long 18 + 0x31, 0x37, 0x33, 0x34, 0x37, 0x32, 0x33, 0x34, 0x37, 0x35, 0x39, 0x37, 0x36, 0x38, 0x30, 0x37, //0x00007e1c QUAD $0x3433323734333731; QUAD $0x3730383637393537 // .asciz 16, '1734723475976807' + 0x30, 0x39, 0x34, 0x34, 0x31, 0x31, 0x39, 0x32, 0x34, 0x34, 0x38, 0x31, 0x33, 0x39, 0x31, 0x39, //0x00007e2c QUAD $0x3239313134343930; QUAD $0x3931393331383434 // .asciz 16, '0944119244813919' + 0x30, 0x36, 0x37, 0x33, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007e3c QUAD $0x3138323833373630; QUAD $0x0000000000003532 // .asciz 16, '0673828125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007e4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007e5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007e6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007e7c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x13, 0x00, 0x00, 0x00, //0x00007e80 .long 19 + 0x38, 0x36, 0x37, 0x33, 0x36, 0x31, 0x37, 0x33, 0x37, 0x39, 0x38, 0x38, 0x34, 0x30, 0x33, 0x35, //0x00007e84 QUAD $0x3337313633373638; QUAD $0x3533303438383937 // .asciz 16, '8673617379884035' + 0x34, 0x37, 0x32, 0x30, 0x35, 0x39, 0x36, 0x32, 0x32, 0x34, 0x30, 0x36, 0x39, 0x35, 0x39, 0x35, //0x00007e94 QUAD $0x3236393530323734; QUAD $0x3539353936303432 // .asciz 16, '4720596224069595' + 0x33, 0x33, 0x36, 0x39, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007ea4 QUAD $0x3630343139363333; QUAD $0x0000000000003532 // .asciz 16, '3369140625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007eb4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007ec4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007ed4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007ee4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/vnumber.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/vnumber.go new file mode 100644 index 0000000..de5b990 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/vnumber.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vnumber func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer) + +var S_vnumber uintptr + +//go:nosplit +func vnumber(s *string, p *int, v *types.JsonState) { + F_vnumber(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/vnumber_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/vnumber_subr.go new file mode 100644 index 0000000..59dbae4 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/vnumber_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__vnumber = 128 +) + +const ( + _stack__vnumber = 112 +) + +const ( + _size__vnumber = 9588 +) + +var ( + _pcsp__vnumber = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {751, 112}, + {755, 48}, + {756, 40}, + {758, 32}, + {760, 24}, + {762, 16}, + {764, 8}, + {768, 0}, + {9585, 112}, + } +) + +var _cfunc_vnumber = []loader.CFunc{ + {"_vnumber_entry", 0, _entry__vnumber, 0, nil}, + {"_vnumber", _entry__vnumber, _size__vnumber, _stack__vnumber, _pcsp__vnumber}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/vnumber_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/vnumber_text_amd64.go new file mode 100644 index 0000000..4e7d778 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/vnumber_text_amd64.go @@ -0,0 +1,4521 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_vnumber = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x00, 0x00, 0x30, 0x43, // .long 1127219200 + 0x00, 0x00, 0x30, 0x45, //0x00000004 .long 1160773632 + 0x00, 0x00, 0x00, 0x00, //0x00000008 .long 0 + 0x00, 0x00, 0x00, 0x00, //0x0000000c .long 0 + //0x00000010 LCPI0_1 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x43, //0x00000010 .quad 4841369599423283200 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x45, //0x00000018 .quad 4985484787499139072 + //0x00000020 .p2align 3, 0x00 + //0x00000020 LCPI0_2 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0x43, //0x00000020 .quad 4831355200913801216 + //0x00000028 LCPI0_3 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0xc3, //0x00000028 .quad -4392016835940974592 + //0x00000030 LCPI0_5 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000030 .quad 1 + //0x00000038 LCPI0_6 + 0x10, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000038 .quad 10000 + //0x00000040 LCPI0_7 + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000040 .quad 10 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000048 .p2align 5, 0x00 + //0x00000060 LCPI0_4 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000060 QUAD $0x0000000000000000 // .space 8, '\x00\x00\x00\x00\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000068 .quad 1 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000070 .quad 1 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000078 .quad 1 + //0x00000080 .p2align 4, 0x90 + //0x00000080 _vnumber + 0x55, //0x00000080 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000081 movq %rsp, %rbp + 0x41, 0x57, //0x00000084 pushq %r15 + 0x41, 0x56, //0x00000086 pushq %r14 + 0x41, 0x55, //0x00000088 pushq %r13 + 0x41, 0x54, //0x0000008a pushq %r12 + 0x53, //0x0000008c pushq %rbx + 0x48, 0x83, 0xec, 0x40, //0x0000008d subq $64, %rsp + 0x49, 0x89, 0xd6, //0x00000091 movq %rdx, %r14 + 0x4c, 0x8b, 0x07, //0x00000094 movq (%rdi), %r8 + 0x4c, 0x8b, 0x5f, 0x08, //0x00000097 movq $8(%rdi), %r11 + 0x48, 0x8b, 0x06, //0x0000009b movq (%rsi), %rax + 0x4c, 0x8b, 0x62, 0x20, //0x0000009e movq $32(%rdx), %r12 + 0x4c, 0x8b, 0x6a, 0x28, //0x000000a2 movq $40(%rdx), %r13 + 0x48, 0xc7, 0x02, 0x09, 0x00, 0x00, 0x00, //0x000000a6 movq $9, (%rdx) + 0xc5, 0xf9, 0x57, 0xc0, //0x000000ad vxorpd %xmm0, %xmm0, %xmm0 + 0xc5, 0xf9, 0x11, 0x42, 0x08, //0x000000b1 vmovupd %xmm0, $8(%rdx) + 0x48, 0x8b, 0x0e, //0x000000b6 movq (%rsi), %rcx + 0x48, 0x89, 0x4a, 0x18, //0x000000b9 movq %rcx, $24(%rdx) + 0x4c, 0x39, 0xd8, //0x000000bd cmpq %r11, %rax + 0x0f, 0x83, 0x9f, 0x02, 0x00, 0x00, //0x000000c0 jae LBB0_50 + 0x41, 0x8a, 0x14, 0x00, //0x000000c6 movb (%r8,%rax), %dl + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000000ca movl $1, %r9d + 0x80, 0xfa, 0x2d, //0x000000d0 cmpb $45, %dl + 0x0f, 0x85, 0x16, 0x00, 0x00, 0x00, //0x000000d3 jne LBB0_4 + 0x48, 0xff, 0xc0, //0x000000d9 incq %rax + 0x4c, 0x39, 0xd8, //0x000000dc cmpq %r11, %rax + 0x0f, 0x83, 0x80, 0x02, 0x00, 0x00, //0x000000df jae LBB0_50 + 0x41, 0x8a, 0x14, 0x00, //0x000000e5 movb (%r8,%rax), %dl + 0x41, 0xb9, 0xff, 0xff, 0xff, 0xff, //0x000000e9 movl $-1, %r9d + //0x000000ef LBB0_4 + 0x8d, 0x4a, 0xd0, //0x000000ef leal $-48(%rdx), %ecx + 0x80, 0xf9, 0x0a, //0x000000f2 cmpb $10, %cl + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x000000f5 jb LBB0_6 + //0x000000fb LBB0_5 + 0x48, 0x89, 0x06, //0x000000fb movq %rax, (%rsi) + 0x49, 0xc7, 0x06, 0xfe, 0xff, 0xff, 0xff, //0x000000fe movq $-2, (%r14) + 0xe9, 0x65, 0x02, 0x00, 0x00, //0x00000105 jmp LBB0_51 + //0x0000010a LBB0_6 + 0x80, 0xfa, 0x30, //0x0000010a cmpb $48, %dl + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x0000010d jne LBB0_10 + 0x48, 0x8d, 0x48, 0x01, //0x00000113 leaq $1(%rax), %rcx + 0x4c, 0x39, 0xd8, //0x00000117 cmpq %r11, %rax + 0x0f, 0x83, 0xcb, 0x00, 0x00, 0x00, //0x0000011a jae LBB0_21 + 0x41, 0x8a, 0x1c, 0x08, //0x00000120 movb (%r8,%rcx), %bl + 0x80, 0xc3, 0xd2, //0x00000124 addb $-46, %bl + 0x80, 0xfb, 0x37, //0x00000127 cmpb $55, %bl + 0x0f, 0x87, 0xbb, 0x00, 0x00, 0x00, //0x0000012a ja LBB0_21 + 0x0f, 0xb6, 0xfb, //0x00000130 movzbl %bl, %edi + 0x48, 0xbb, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00000133 movabsq $36028797027352577, %rbx + 0x48, 0x0f, 0xa3, 0xfb, //0x0000013d btq %rdi, %rbx + 0x0f, 0x83, 0xa4, 0x00, 0x00, 0x00, //0x00000141 jae LBB0_21 + //0x00000147 LBB0_10 + 0x4c, 0x39, 0xd8, //0x00000147 cmpq %r11, %rax + 0x0f, 0x83, 0x8f, 0x00, 0x00, 0x00, //0x0000014a jae LBB0_20 + 0x48, 0xff, 0xc0, //0x00000150 incq %rax + 0x31, 0xc9, //0x00000153 xorl %ecx, %ecx + 0x31, 0xdb, //0x00000155 xorl %ebx, %ebx + 0x45, 0x31, 0xff, //0x00000157 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000015a .p2align 4, 0x90 + //0x00000160 LBB0_12 + 0x83, 0xfb, 0x12, //0x00000160 cmpl $18, %ebx + 0x0f, 0x8f, 0x17, 0x00, 0x00, 0x00, //0x00000163 jg LBB0_14 + 0x0f, 0xb6, 0xd2, //0x00000169 movzbl %dl, %edx + 0x4b, 0x8d, 0x3c, 0xbf, //0x0000016c leaq (%r15,%r15,4), %rdi + 0x4c, 0x8d, 0x7c, 0x7a, 0xd0, //0x00000170 leaq $-48(%rdx,%rdi,2), %r15 + 0xff, 0xc3, //0x00000175 incl %ebx + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x00000177 jmp LBB0_15 + 0x90, 0x90, 0x90, 0x90, //0x0000017c .p2align 4, 0x90 + //0x00000180 LBB0_14 + 0xff, 0xc1, //0x00000180 incl %ecx + //0x00000182 LBB0_15 + 0x49, 0x39, 0xc3, //0x00000182 cmpq %rax, %r11 + 0x0f, 0x84, 0x68, 0x00, 0x00, 0x00, //0x00000185 je LBB0_22 + 0x41, 0x0f, 0xb6, 0x14, 0x00, //0x0000018b movzbl (%r8,%rax), %edx + 0x8d, 0x7a, 0xd0, //0x00000190 leal $-48(%rdx), %edi + 0x48, 0xff, 0xc0, //0x00000193 incq %rax + 0x40, 0x80, 0xff, 0x0a, //0x00000196 cmpb $10, %dil + 0x0f, 0x82, 0xc0, 0xff, 0xff, 0xff, //0x0000019a jb LBB0_12 + 0x31, 0xff, //0x000001a0 xorl %edi, %edi + 0x85, 0xc9, //0x000001a2 testl %ecx, %ecx + 0x40, 0x0f, 0x9f, 0xc7, //0x000001a4 setg %dil + 0x80, 0xfa, 0x2e, //0x000001a8 cmpb $46, %dl + 0x0f, 0x85, 0xdf, 0x02, 0x00, 0x00, //0x000001ab jne LBB0_66 + 0x49, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, //0x000001b1 movq $8, (%r14) + 0x4c, 0x39, 0xd8, //0x000001b8 cmpq %r11, %rax + 0x0f, 0x83, 0xa4, 0x01, 0x00, 0x00, //0x000001bb jae LBB0_50 + 0x89, 0x7d, 0xc0, //0x000001c1 movl %edi, $-64(%rbp) + 0x41, 0x8a, 0x14, 0x00, //0x000001c4 movb (%r8,%rax), %dl + 0x80, 0xc2, 0xd0, //0x000001c8 addb $-48, %dl + 0x41, 0xba, 0x08, 0x00, 0x00, 0x00, //0x000001cb movl $8, %r10d + 0x80, 0xfa, 0x0a, //0x000001d1 cmpb $10, %dl + 0x0f, 0x83, 0x21, 0xff, 0xff, 0xff, //0x000001d4 jae LBB0_5 + 0xe9, 0x27, 0x00, 0x00, 0x00, //0x000001da jmp LBB0_24 + //0x000001df LBB0_20 + 0x31, 0xc9, //0x000001df xorl %ecx, %ecx + 0x31, 0xdb, //0x000001e1 xorl %ebx, %ebx + 0x45, 0x31, 0xff, //0x000001e3 xorl %r15d, %r15d + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x000001e6 jmp LBB0_23 + //0x000001eb LBB0_21 + 0x48, 0x89, 0x0e, //0x000001eb movq %rcx, (%rsi) + 0xe9, 0x7c, 0x01, 0x00, 0x00, //0x000001ee jmp LBB0_51 + //0x000001f3 LBB0_22 + 0x4c, 0x89, 0xd8, //0x000001f3 movq %r11, %rax + //0x000001f6 LBB0_23 + 0x31, 0xd2, //0x000001f6 xorl %edx, %edx + 0x85, 0xc9, //0x000001f8 testl %ecx, %ecx + 0x0f, 0x9f, 0xc2, //0x000001fa setg %dl + 0x89, 0x55, 0xc0, //0x000001fd movl %edx, $-64(%rbp) + 0x41, 0xba, 0x09, 0x00, 0x00, 0x00, //0x00000200 movl $9, %r10d + //0x00000206 LBB0_24 + 0x85, 0xc9, //0x00000206 testl %ecx, %ecx + 0x44, 0x89, 0x4d, 0xc8, //0x00000208 movl %r9d, $-56(%rbp) + 0x0f, 0x85, 0x58, 0x00, 0x00, 0x00, //0x0000020c jne LBB0_33 + //0x00000212 LBB0_25 + 0x4d, 0x85, 0xff, //0x00000212 testq %r15, %r15 + 0x0f, 0x85, 0x4f, 0x00, 0x00, 0x00, //0x00000215 jne LBB0_33 + 0x4c, 0x39, 0xd8, //0x0000021b cmpq %r11, %rax + 0x0f, 0x83, 0x3f, 0x00, 0x00, 0x00, //0x0000021e jae LBB0_31 + 0x41, 0x89, 0xc1, //0x00000224 movl %eax, %r9d + 0x45, 0x29, 0xd9, //0x00000227 subl %r11d, %r9d + 0x31, 0xdb, //0x0000022a xorl %ebx, %ebx + 0x31, 0xc9, //0x0000022c xorl %ecx, %ecx + 0x90, 0x90, //0x0000022e .p2align 4, 0x90 + //0x00000230 LBB0_28 + 0x41, 0x80, 0x3c, 0x00, 0x30, //0x00000230 cmpb $48, (%r8,%rax) + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000235 jne LBB0_32 + 0x48, 0xff, 0xc0, //0x0000023b incq %rax + 0xff, 0xc9, //0x0000023e decl %ecx + 0x49, 0x39, 0xc3, //0x00000240 cmpq %rax, %r11 + 0x0f, 0x85, 0xe7, 0xff, 0xff, 0xff, //0x00000243 jne LBB0_28 + 0x45, 0x31, 0xff, //0x00000249 xorl %r15d, %r15d + 0x41, 0x83, 0xfa, 0x09, //0x0000024c cmpl $9, %r10d + 0x48, 0x89, 0x75, 0xa0, //0x00000250 movq %rsi, $-96(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x00000254 movq %r11, $-88(%rbp) + 0x0f, 0x84, 0x3b, 0x01, 0x00, 0x00, //0x00000258 je LBB0_53 + 0xe9, 0x6c, 0x01, 0x00, 0x00, //0x0000025e jmp LBB0_57 + //0x00000263 LBB0_31 + 0x31, 0xc9, //0x00000263 xorl %ecx, %ecx + 0x31, 0xdb, //0x00000265 xorl %ebx, %ebx + //0x00000267 LBB0_32 + 0x45, 0x31, 0xff, //0x00000267 xorl %r15d, %r15d + //0x0000026a LBB0_33 + 0x4c, 0x39, 0xd8, //0x0000026a cmpq %r11, %rax + 0x0f, 0x83, 0x41, 0x00, 0x00, 0x00, //0x0000026d jae LBB0_38 + 0x83, 0xfb, 0x12, //0x00000273 cmpl $18, %ebx + 0x0f, 0x8f, 0x38, 0x00, 0x00, 0x00, //0x00000276 jg LBB0_38 + 0x90, 0x90, 0x90, 0x90, //0x0000027c .p2align 4, 0x90 + //0x00000280 LBB0_35 + 0x41, 0x0f, 0xb6, 0x14, 0x00, //0x00000280 movzbl (%r8,%rax), %edx + 0x8d, 0x7a, 0xd0, //0x00000285 leal $-48(%rdx), %edi + 0x40, 0x80, 0xff, 0x09, //0x00000288 cmpb $9, %dil + 0x0f, 0x87, 0x22, 0x00, 0x00, 0x00, //0x0000028c ja LBB0_38 + 0x4b, 0x8d, 0x3c, 0xbf, //0x00000292 leaq (%r15,%r15,4), %rdi + 0x4c, 0x8d, 0x7c, 0x7a, 0xd0, //0x00000296 leaq $-48(%rdx,%rdi,2), %r15 + 0xff, 0xc9, //0x0000029b decl %ecx + 0x48, 0xff, 0xc0, //0x0000029d incq %rax + 0x83, 0xfb, 0x11, //0x000002a0 cmpl $17, %ebx + 0x0f, 0x8f, 0x0b, 0x00, 0x00, 0x00, //0x000002a3 jg LBB0_38 + 0xff, 0xc3, //0x000002a9 incl %ebx + 0x4c, 0x39, 0xd8, //0x000002ab cmpq %r11, %rax + 0x0f, 0x82, 0xcc, 0xff, 0xff, 0xff, //0x000002ae jb LBB0_35 + //0x000002b4 LBB0_38 + 0x4c, 0x39, 0xd8, //0x000002b4 cmpq %r11, %rax + 0x0f, 0x83, 0xc4, 0x00, 0x00, 0x00, //0x000002b7 jae LBB0_52 + 0x41, 0x8a, 0x1c, 0x00, //0x000002bd movb (%r8,%rax), %bl + 0x8d, 0x53, 0xd0, //0x000002c1 leal $-48(%rbx), %edx + 0x80, 0xfa, 0x09, //0x000002c4 cmpb $9, %dl + 0x0f, 0x87, 0x39, 0x00, 0x00, 0x00, //0x000002c7 ja LBB0_44 + 0x49, 0x8d, 0x53, 0xff, //0x000002cd leaq $-1(%r11), %rdx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002d1 .p2align 4, 0x90 + //0x000002e0 LBB0_41 + 0x48, 0x39, 0xc2, //0x000002e0 cmpq %rax, %rdx + 0x0f, 0x84, 0xc4, 0x01, 0x00, 0x00, //0x000002e3 je LBB0_67 + 0x41, 0x0f, 0xb6, 0x5c, 0x00, 0x01, //0x000002e9 movzbl $1(%r8,%rax), %ebx + 0x48, 0xff, 0xc0, //0x000002ef incq %rax + 0x8d, 0x7b, 0xd0, //0x000002f2 leal $-48(%rbx), %edi + 0x40, 0x80, 0xff, 0x09, //0x000002f5 cmpb $9, %dil + 0x0f, 0x86, 0xe1, 0xff, 0xff, 0xff, //0x000002f9 jbe LBB0_41 + 0xc7, 0x45, 0xc0, 0x01, 0x00, 0x00, 0x00, //0x000002ff movl $1, $-64(%rbp) + //0x00000306 LBB0_44 + 0x80, 0xcb, 0x20, //0x00000306 orb $32, %bl + 0x80, 0xfb, 0x65, //0x00000309 cmpb $101, %bl + 0x0f, 0x85, 0x6f, 0x00, 0x00, 0x00, //0x0000030c jne LBB0_52 + 0x48, 0x8d, 0x50, 0x01, //0x00000312 leaq $1(%rax), %rdx + 0x49, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, //0x00000316 movq $8, (%r14) + 0x4c, 0x39, 0xda, //0x0000031d cmpq %r11, %rdx + 0x0f, 0x83, 0x3f, 0x00, 0x00, 0x00, //0x00000320 jae LBB0_50 + 0x41, 0x8a, 0x1c, 0x10, //0x00000326 movb (%r8,%rdx), %bl + 0x80, 0xfb, 0x2d, //0x0000032a cmpb $45, %bl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x0000032d je LBB0_48 + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x00000333 movl $1, %r10d + 0x80, 0xfb, 0x2b, //0x00000339 cmpb $43, %bl + 0x0f, 0x85, 0x10, 0x05, 0x00, 0x00, //0x0000033c jne LBB0_102 + //0x00000342 LBB0_48 + 0x48, 0x83, 0xc0, 0x02, //0x00000342 addq $2, %rax + 0x4c, 0x39, 0xd8, //0x00000346 cmpq %r11, %rax + 0x0f, 0x83, 0x16, 0x00, 0x00, 0x00, //0x00000349 jae LBB0_50 + 0x31, 0xd2, //0x0000034f xorl %edx, %edx + 0x80, 0xfb, 0x2b, //0x00000351 cmpb $43, %bl + 0x0f, 0x94, 0xc2, //0x00000354 sete %dl + 0x44, 0x8d, 0x54, 0x12, 0xff, //0x00000357 leal $-1(%rdx,%rdx), %r10d + 0x41, 0x8a, 0x1c, 0x00, //0x0000035c movb (%r8,%rax), %bl + 0xe9, 0xf0, 0x04, 0x00, 0x00, //0x00000360 jmp LBB0_103 + //0x00000365 LBB0_50 + 0x4c, 0x89, 0x1e, //0x00000365 movq %r11, (%rsi) + 0x49, 0xc7, 0x06, 0xff, 0xff, 0xff, 0xff, //0x00000368 movq $-1, (%r14) + //0x0000036f LBB0_51 + 0x48, 0x83, 0xc4, 0x40, //0x0000036f addq $64, %rsp + 0x5b, //0x00000373 popq %rbx + 0x41, 0x5c, //0x00000374 popq %r12 + 0x41, 0x5d, //0x00000376 popq %r13 + 0x41, 0x5e, //0x00000378 popq %r14 + 0x41, 0x5f, //0x0000037a popq %r15 + 0x5d, //0x0000037c popq %rbp + 0xc5, 0xf8, 0x77, //0x0000037d vzeroupper + 0xc3, //0x00000380 retq + //0x00000381 LBB0_52 + 0x41, 0x89, 0xc9, //0x00000381 movl %ecx, %r9d + 0x49, 0x89, 0xc3, //0x00000384 movq %rax, %r11 + 0x41, 0x83, 0xfa, 0x09, //0x00000387 cmpl $9, %r10d + 0x48, 0x89, 0x75, 0xa0, //0x0000038b movq %rsi, $-96(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x0000038f movq %r11, $-88(%rbp) + 0x0f, 0x85, 0x36, 0x00, 0x00, 0x00, //0x00000393 jne LBB0_57 + //0x00000399 LBB0_53 + 0x45, 0x85, 0xc9, //0x00000399 testl %r9d, %r9d + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x0000039c jne LBB0_56 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x000003a2 movabsq $-9223372036854775808, %rax + 0x48, 0x63, 0x4d, 0xc8, //0x000003ac movslq $-56(%rbp), %rcx + 0x4d, 0x85, 0xff, //0x000003b0 testq %r15, %r15 + 0x0f, 0x89, 0x3b, 0x01, 0x00, 0x00, //0x000003b3 jns LBB0_70 + 0x4c, 0x89, 0xfa, //0x000003b9 movq %r15, %rdx + 0x48, 0x21, 0xca, //0x000003bc andq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x000003bf cmpq %rax, %rdx + 0x0f, 0x84, 0x2c, 0x01, 0x00, 0x00, //0x000003c2 je LBB0_70 + //0x000003c8 LBB0_56 + 0x49, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, //0x000003c8 movq $8, (%r14) + //0x000003cf LBB0_57 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x000003cf movabsq $-9223372036854775808, %rdi + 0x4c, 0x89, 0xf8, //0x000003d9 movq %r15, %rax + 0x48, 0xc1, 0xe8, 0x34, //0x000003dc shrq $52, %rax + 0x4c, 0x89, 0x75, 0x98, //0x000003e0 movq %r14, $-104(%rbp) + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x000003e4 je LBB0_61 + //0x000003ea LBB0_58 + 0x41, 0x8d, 0x81, 0x5c, 0x01, 0x00, 0x00, //0x000003ea leal $348(%r9), %eax + 0x3d, 0xb7, 0x02, 0x00, 0x00, //0x000003f1 cmpl $695, %eax + 0x0f, 0x87, 0x84, 0x02, 0x00, 0x00, //0x000003f6 ja LBB0_85 + 0x4d, 0x85, 0xff, //0x000003fc testq %r15, %r15 + 0x0f, 0x84, 0x78, 0x01, 0x00, 0x00, //0x000003ff je LBB0_76 + //0x00000405 LBB0_60 + 0x4d, 0x0f, 0xbd, 0xd7, //0x00000405 bsrq %r15, %r10 + 0x49, 0x83, 0xf2, 0x3f, //0x00000409 xorq $63, %r10 + 0xe9, 0x71, 0x01, 0x00, 0x00, //0x0000040d jmp LBB0_77 + //0x00000412 LBB0_61 + 0xc4, 0xc1, 0xf9, 0x6e, 0xc7, //0x00000412 vmovq %r15, %xmm0 + 0xc5, 0xf9, 0x62, 0x05, 0xe1, 0xfb, 0xff, 0xff, //0x00000417 vpunpckldq $-1055(%rip), %xmm0, %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0x5c, 0x05, 0xe9, 0xfb, 0xff, 0xff, //0x0000041f vsubpd $-1047(%rip), %xmm0, %xmm0 /* LCPI0_1+0(%rip) */ + 0xc4, 0xe3, 0x79, 0x05, 0xc8, 0x01, //0x00000427 vpermilpd $1, %xmm0, %xmm1 + 0xc5, 0xf3, 0x58, 0xc0, //0x0000042d vaddsd %xmm0, %xmm1, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc0, //0x00000431 vmovq %xmm0, %rax + 0x8b, 0x4d, 0xc8, //0x00000436 movl $-56(%rbp), %ecx + 0x89, 0xcb, //0x00000439 movl %ecx, %ebx + 0xc1, 0xeb, 0x1f, //0x0000043b shrl $31, %ebx + 0x48, 0xc1, 0xe3, 0x3f, //0x0000043e shlq $63, %rbx + 0x48, 0x09, 0xc3, //0x00000442 orq %rax, %rbx + 0x4d, 0x85, 0xff, //0x00000445 testq %r15, %r15 + 0x0f, 0x84, 0x6b, 0x21, 0x00, 0x00, //0x00000448 je LBB0_515 + 0x45, 0x85, 0xc9, //0x0000044e testl %r9d, %r9d + 0x0f, 0x84, 0x62, 0x21, 0x00, 0x00, //0x00000451 je LBB0_515 + 0xc4, 0xe1, 0xf9, 0x6e, 0xc3, //0x00000457 vmovq %rbx, %xmm0 + 0x41, 0x8d, 0x41, 0xff, //0x0000045c leal $-1(%r9), %eax + 0x83, 0xf8, 0x24, //0x00000460 cmpl $36, %eax + 0x0f, 0x87, 0x65, 0x00, 0x00, 0x00, //0x00000463 ja LBB0_68 + 0x41, 0x83, 0xf9, 0x17, //0x00000469 cmpl $23, %r9d + 0x0f, 0x8c, 0xbf, 0x00, 0x00, 0x00, //0x0000046d jl LBB0_71 + 0x49, 0x63, 0xc1, //0x00000473 movslq %r9d, %rax + 0x48, 0x8d, 0x0d, 0x83, 0x21, 0x00, 0x00, //0x00000476 leaq $8579(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xc5, 0xfb, 0x59, 0x84, 0xc1, 0x50, 0xff, 0xff, 0xff, //0x0000047d vmulsd $-176(%rcx,%rax,8), %xmm0, %xmm0 + 0xb8, 0x16, 0x00, 0x00, 0x00, //0x00000486 movl $22, %eax + 0xe9, 0xa5, 0x00, 0x00, 0x00, //0x0000048b jmp LBB0_72 + //0x00000490 LBB0_66 + 0x89, 0x7d, 0xc0, //0x00000490 movl %edi, $-64(%rbp) + 0x48, 0xff, 0xc8, //0x00000493 decq %rax + 0x41, 0xba, 0x09, 0x00, 0x00, 0x00, //0x00000496 movl $9, %r10d + 0x85, 0xc9, //0x0000049c testl %ecx, %ecx + 0x44, 0x89, 0x4d, 0xc8, //0x0000049e movl %r9d, $-56(%rbp) + 0x0f, 0x84, 0x6a, 0xfd, 0xff, 0xff, //0x000004a2 je LBB0_25 + 0xe9, 0xbd, 0xfd, 0xff, 0xff, //0x000004a8 jmp LBB0_33 + //0x000004ad LBB0_67 + 0xc7, 0x45, 0xc0, 0x01, 0x00, 0x00, 0x00, //0x000004ad movl $1, $-64(%rbp) + 0x41, 0x89, 0xc9, //0x000004b4 movl %ecx, %r9d + 0x41, 0x83, 0xfa, 0x09, //0x000004b7 cmpl $9, %r10d + 0x48, 0x89, 0x75, 0xa0, //0x000004bb movq %rsi, $-96(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x000004bf movq %r11, $-88(%rbp) + 0x0f, 0x84, 0xd0, 0xfe, 0xff, 0xff, //0x000004c3 je LBB0_53 + 0xe9, 0x01, 0xff, 0xff, 0xff, //0x000004c9 jmp LBB0_57 + //0x000004ce LBB0_68 + 0x41, 0x83, 0xf9, 0xea, //0x000004ce cmpl $-22, %r9d + 0x0f, 0x82, 0x12, 0xff, 0xff, 0xff, //0x000004d2 jb LBB0_58 + 0x41, 0xf7, 0xd9, //0x000004d8 negl %r9d + 0x49, 0x63, 0xc1, //0x000004db movslq %r9d, %rax + 0x48, 0x8d, 0x0d, 0x1b, 0x21, 0x00, 0x00, //0x000004de leaq $8475(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xc5, 0xfb, 0x5e, 0x04, 0xc1, //0x000004e5 vdivsd (%rcx,%rax,8), %xmm0, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc3, //0x000004ea vmovq %xmm0, %rbx + 0xe9, 0xc5, 0x20, 0x00, 0x00, //0x000004ef jmp LBB0_515 + //0x000004f4 LBB0_70 + 0xc4, 0xc1, 0xf9, 0x6e, 0xc7, //0x000004f4 vmovq %r15, %xmm0 + 0x4c, 0x0f, 0xaf, 0xf9, //0x000004f9 imulq %rcx, %r15 + 0xc5, 0xf9, 0x62, 0x05, 0xfb, 0xfa, 0xff, 0xff, //0x000004fd vpunpckldq $-1285(%rip), %xmm0, %xmm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xf9, 0x5c, 0x05, 0x03, 0xfb, 0xff, 0xff, //0x00000505 vsubpd $-1277(%rip), %xmm0, %xmm0 /* LCPI0_1+0(%rip) */ + 0x4d, 0x89, 0x7e, 0x10, //0x0000050d movq %r15, $16(%r14) + 0xc4, 0xe3, 0x79, 0x05, 0xc8, 0x01, //0x00000511 vpermilpd $1, %xmm0, %xmm1 + 0xc5, 0xf3, 0x58, 0xc0, //0x00000517 vaddsd %xmm0, %xmm1, %xmm0 + 0x48, 0x21, 0xc8, //0x0000051b andq %rcx, %rax + 0xc4, 0xe1, 0xf9, 0x7e, 0xc1, //0x0000051e vmovq %xmm0, %rcx + 0x48, 0x09, 0xc1, //0x00000523 orq %rax, %rcx + 0x49, 0x89, 0x4e, 0x08, //0x00000526 movq %rcx, $8(%r14) + 0x4c, 0x89, 0x1e, //0x0000052a movq %r11, (%rsi) + 0xe9, 0x3d, 0xfe, 0xff, 0xff, //0x0000052d jmp LBB0_51 + //0x00000532 LBB0_71 + 0x44, 0x89, 0xc8, //0x00000532 movl %r9d, %eax + //0x00000535 LBB0_72 + 0xc5, 0xf9, 0x2e, 0x05, 0xe3, 0xfa, 0xff, 0xff, //0x00000535 vucomisd $-1309(%rip), %xmm0 /* LCPI0_2+0(%rip) */ + 0x0f, 0x87, 0x2a, 0x00, 0x00, 0x00, //0x0000053d ja LBB0_75 + 0xc5, 0xfb, 0x10, 0x0d, 0xdd, 0xfa, 0xff, 0xff, //0x00000543 vmovsd $-1315(%rip), %xmm1 /* LCPI0_3+0(%rip) */ + 0xc5, 0xf9, 0x2e, 0xc8, //0x0000054b vucomisd %xmm0, %xmm1 + 0x0f, 0x87, 0x18, 0x00, 0x00, 0x00, //0x0000054f ja LBB0_75 + 0x89, 0xc0, //0x00000555 movl %eax, %eax + 0x48, 0x8d, 0x0d, 0xa2, 0x20, 0x00, 0x00, //0x00000557 leaq $8354(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xc5, 0xfb, 0x59, 0x04, 0xc1, //0x0000055e vmulsd (%rcx,%rax,8), %xmm0, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc3, //0x00000563 vmovq %xmm0, %rbx + 0xe9, 0x4c, 0x20, 0x00, 0x00, //0x00000568 jmp LBB0_515 + //0x0000056d LBB0_75 + 0x41, 0x8d, 0x81, 0x5c, 0x01, 0x00, 0x00, //0x0000056d leal $348(%r9), %eax + 0x4d, 0x85, 0xff, //0x00000574 testq %r15, %r15 + 0x0f, 0x85, 0x88, 0xfe, 0xff, 0xff, //0x00000577 jne LBB0_60 + //0x0000057d LBB0_76 + 0x41, 0xba, 0x40, 0x00, 0x00, 0x00, //0x0000057d movl $64, %r10d + //0x00000583 LBB0_77 + 0x4c, 0x89, 0xfb, //0x00000583 movq %r15, %rbx + 0x44, 0x89, 0xd1, //0x00000586 movl %r10d, %ecx + 0x48, 0xd3, 0xe3, //0x00000589 shlq %cl, %rbx + 0x89, 0xc6, //0x0000058c movl %eax, %esi + 0x48, 0xc1, 0xe6, 0x04, //0x0000058e shlq $4, %rsi + 0x48, 0x8d, 0x05, 0x27, 0x21, 0x00, 0x00, //0x00000592 leaq $8487(%rip), %rax /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0x8b, 0x44, 0x06, 0x08, //0x00000599 movq $8(%rsi,%rax), %rax + 0x48, 0x89, 0x45, 0xb0, //0x0000059e movq %rax, $-80(%rbp) + 0x48, 0xf7, 0xe3, //0x000005a2 mulq %rbx + 0x49, 0x89, 0xc6, //0x000005a5 movq %rax, %r14 + 0x49, 0x89, 0xd3, //0x000005a8 movq %rdx, %r11 + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x000005ab andl $511, %edx + 0x48, 0x89, 0xd9, //0x000005b1 movq %rbx, %rcx + 0x48, 0xf7, 0xd1, //0x000005b4 notq %rcx + 0x48, 0x39, 0xc8, //0x000005b7 cmpq %rcx, %rax + 0x0f, 0x86, 0x49, 0x00, 0x00, 0x00, //0x000005ba jbe LBB0_82 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x000005c0 cmpl $511, %edx + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x000005c6 jne LBB0_82 + 0x48, 0x89, 0xd8, //0x000005cc movq %rbx, %rax + 0x48, 0x8d, 0x15, 0xea, 0x20, 0x00, 0x00, //0x000005cf leaq $8426(%rip), %rdx /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0xf7, 0x24, 0x16, //0x000005d6 mulq (%rsi,%rdx) + 0x49, 0x01, 0xd6, //0x000005da addq %rdx, %r14 + 0x49, 0x83, 0xd3, 0x00, //0x000005dd adcq $0, %r11 + 0x44, 0x89, 0xda, //0x000005e1 movl %r11d, %edx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x000005e4 andl $511, %edx + 0x48, 0x39, 0xc8, //0x000005ea cmpq %rcx, %rax + 0x0f, 0x86, 0x16, 0x00, 0x00, 0x00, //0x000005ed jbe LBB0_82 + 0x49, 0x83, 0xfe, 0xff, //0x000005f3 cmpq $-1, %r14 + 0x0f, 0x85, 0x0c, 0x00, 0x00, 0x00, //0x000005f7 jne LBB0_82 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x000005fd cmpl $511, %edx + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x00000603 je LBB0_85 + //0x00000609 LBB0_82 + 0x4c, 0x89, 0xd8, //0x00000609 movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x3f, //0x0000060c shrq $63, %rax + 0x8d, 0x48, 0x09, //0x00000610 leal $9(%rax), %ecx + 0x49, 0xd3, 0xeb, //0x00000613 shrq %cl, %r11 + 0x4c, 0x09, 0xf2, //0x00000616 orq %r14, %rdx + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x00000619 jne LBB0_84 + 0x44, 0x89, 0xd9, //0x0000061f movl %r11d, %ecx + 0x83, 0xe1, 0x03, //0x00000622 andl $3, %ecx + 0x83, 0xf9, 0x01, //0x00000625 cmpl $1, %ecx + 0x0f, 0x84, 0x52, 0x00, 0x00, 0x00, //0x00000628 je LBB0_85 + //0x0000062e LBB0_84 + 0x41, 0x69, 0xc9, 0x6a, 0x52, 0x03, 0x00, //0x0000062e imull $217706, %r9d, %ecx + 0xc1, 0xf9, 0x10, //0x00000635 sarl $16, %ecx + 0x81, 0xc1, 0x3f, 0x04, 0x00, 0x00, //0x00000638 addl $1087, %ecx + 0x4c, 0x63, 0xf1, //0x0000063e movslq %ecx, %r14 + 0x4c, 0x89, 0xf2, //0x00000641 movq %r14, %rdx + 0x4c, 0x29, 0xd2, //0x00000644 subq %r10, %rdx + 0x49, 0xba, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, //0x00000647 movabsq $126100789566373888, %r10 + 0x48, 0x83, 0xf0, 0x01, //0x00000651 xorq $1, %rax + 0x48, 0x29, 0xc2, //0x00000655 subq %rax, %rdx + 0x44, 0x89, 0xd8, //0x00000658 movl %r11d, %eax + 0x83, 0xe0, 0x01, //0x0000065b andl $1, %eax + 0x4c, 0x01, 0xd8, //0x0000065e addq %r11, %rax + 0x48, 0x89, 0xc1, //0x00000661 movq %rax, %rcx + 0x4c, 0x21, 0xd1, //0x00000664 andq %r10, %rcx + 0x48, 0x83, 0xf9, 0x01, //0x00000667 cmpq $1, %rcx + 0x48, 0x83, 0xda, 0xff, //0x0000066b sbbq $-1, %rdx + 0x48, 0x8d, 0x5a, 0xff, //0x0000066f leaq $-1(%rdx), %rbx + 0x48, 0x81, 0xfb, 0xfd, 0x07, 0x00, 0x00, //0x00000673 cmpq $2045, %rbx + 0x0f, 0x86, 0x6e, 0x00, 0x00, 0x00, //0x0000067a jbe LBB0_90 + //0x00000680 LBB0_85 + 0x48, 0x8b, 0x45, 0xa0, //0x00000680 movq $-96(%rbp), %rax + 0x48, 0x8b, 0x30, //0x00000684 movq (%rax), %rsi + 0x4d, 0x8d, 0x14, 0x30, //0x00000687 leaq (%r8,%rsi), %r10 + 0x48, 0x8b, 0x4d, 0xa8, //0x0000068b movq $-88(%rbp), %rcx + 0x48, 0x29, 0xf1, //0x0000068f subq %rsi, %rcx + 0x4d, 0x85, 0xed, //0x00000692 testq %r13, %r13 + 0x0f, 0x84, 0x36, 0x03, 0x00, 0x00, //0x00000695 je LBB0_116 + 0x41, 0xc6, 0x04, 0x24, 0x00, //0x0000069b movb $0, (%r12) + 0x49, 0x83, 0xfd, 0x01, //0x000006a0 cmpq $1, %r13 + 0x0f, 0x84, 0x27, 0x03, 0x00, 0x00, //0x000006a4 je LBB0_116 + 0x4d, 0x8d, 0x4d, 0xff, //0x000006aa leaq $-1(%r13), %r9 + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x000006ae movl $1, %edi + 0x49, 0x81, 0xf9, 0x80, 0x00, 0x00, 0x00, //0x000006b3 cmpq $128, %r9 + 0x0f, 0x82, 0x00, 0x03, 0x00, 0x00, //0x000006ba jb LBB0_115 + 0x4c, 0x89, 0xcf, //0x000006c0 movq %r9, %rdi + 0x48, 0x83, 0xe7, 0x80, //0x000006c3 andq $-128, %rdi + 0x48, 0x8d, 0x57, 0x80, //0x000006c7 leaq $-128(%rdi), %rdx + 0x48, 0x89, 0xd3, //0x000006cb movq %rdx, %rbx + 0x48, 0xc1, 0xeb, 0x07, //0x000006ce shrq $7, %rbx + 0x48, 0xff, 0xc3, //0x000006d2 incq %rbx + 0x89, 0xd8, //0x000006d5 movl %ebx, %eax + 0x83, 0xe0, 0x03, //0x000006d7 andl $3, %eax + 0x48, 0x81, 0xfa, 0x80, 0x01, 0x00, 0x00, //0x000006da cmpq $384, %rdx + 0x0f, 0x83, 0xcf, 0x01, 0x00, 0x00, //0x000006e1 jae LBB0_108 + 0x31, 0xdb, //0x000006e7 xorl %ebx, %ebx + 0xe9, 0x79, 0x02, 0x00, 0x00, //0x000006e9 jmp LBB0_110 + //0x000006ee LBB0_90 + 0x48, 0x83, 0xf9, 0x01, //0x000006ee cmpq $1, %rcx + 0xb1, 0x02, //0x000006f2 movb $2, %cl + 0x80, 0xd9, 0x00, //0x000006f4 sbbb $0, %cl + 0x48, 0xd3, 0xe8, //0x000006f7 shrq %cl, %rax + 0x48, 0xc1, 0xe2, 0x34, //0x000006fa shlq $52, %rdx + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000006fe movabsq $4503599627370495, %rcx + 0x48, 0x21, 0xc8, //0x00000708 andq %rcx, %rax + 0x48, 0x09, 0xd0, //0x0000070b orq %rdx, %rax + 0x48, 0x89, 0xc3, //0x0000070e movq %rax, %rbx + 0x48, 0x09, 0xfb, //0x00000711 orq %rdi, %rbx + 0x8b, 0x4d, 0xc8, //0x00000714 movl $-56(%rbp), %ecx + 0x83, 0xf9, 0xff, //0x00000717 cmpl $-1, %ecx + 0x48, 0x0f, 0x45, 0xd8, //0x0000071a cmovneq %rax, %rbx + 0x83, 0x7d, 0xc0, 0x00, //0x0000071e cmpl $0, $-64(%rbp) + 0x0f, 0x84, 0x91, 0x1e, 0x00, 0x00, //0x00000722 je LBB0_515 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000728 movl $64, %ecx + 0x49, 0xff, 0xc7, //0x0000072d incq %r15 + 0x0f, 0x84, 0x08, 0x00, 0x00, 0x00, //0x00000730 je LBB0_93 + 0x49, 0x0f, 0xbd, 0xcf, //0x00000736 bsrq %r15, %rcx + 0x48, 0x83, 0xf1, 0x3f, //0x0000073a xorq $63, %rcx + //0x0000073e LBB0_93 + 0x48, 0x89, 0x4d, 0xc0, //0x0000073e movq %rcx, $-64(%rbp) + 0x49, 0xd3, 0xe7, //0x00000742 shlq %cl, %r15 + 0x48, 0x8b, 0x45, 0xb0, //0x00000745 movq $-80(%rbp), %rax + 0x49, 0xf7, 0xe7, //0x00000749 mulq %r15 + 0x49, 0x89, 0xc3, //0x0000074c movq %rax, %r11 + 0x49, 0x89, 0xd1, //0x0000074f movq %rdx, %r9 + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x00000752 andl $511, %edx + 0x4c, 0x89, 0xf9, //0x00000758 movq %r15, %rcx + 0x48, 0xf7, 0xd1, //0x0000075b notq %rcx + 0x48, 0x39, 0xc8, //0x0000075e cmpq %rcx, %rax + 0x0f, 0x86, 0x49, 0x00, 0x00, 0x00, //0x00000761 jbe LBB0_98 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x00000767 cmpl $511, %edx + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000076d jne LBB0_98 + 0x4c, 0x89, 0xf8, //0x00000773 movq %r15, %rax + 0x48, 0x8d, 0x15, 0x43, 0x1f, 0x00, 0x00, //0x00000776 leaq $8003(%rip), %rdx /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0xf7, 0x24, 0x16, //0x0000077d mulq (%rsi,%rdx) + 0x49, 0x01, 0xd3, //0x00000781 addq %rdx, %r11 + 0x49, 0x83, 0xd1, 0x00, //0x00000784 adcq $0, %r9 + 0x44, 0x89, 0xca, //0x00000788 movl %r9d, %edx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x0000078b andl $511, %edx + 0x48, 0x39, 0xc8, //0x00000791 cmpq %rcx, %rax + 0x0f, 0x86, 0x16, 0x00, 0x00, 0x00, //0x00000794 jbe LBB0_98 + 0x49, 0x83, 0xfb, 0xff, //0x0000079a cmpq $-1, %r11 + 0x0f, 0x85, 0x0c, 0x00, 0x00, 0x00, //0x0000079e jne LBB0_98 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x000007a4 cmpl $511, %edx + 0x0f, 0x84, 0xd0, 0xfe, 0xff, 0xff, //0x000007aa je LBB0_85 + //0x000007b0 LBB0_98 + 0x4c, 0x89, 0xc8, //0x000007b0 movq %r9, %rax + 0x48, 0xc1, 0xe8, 0x3f, //0x000007b3 shrq $63, %rax + 0x8d, 0x48, 0x09, //0x000007b7 leal $9(%rax), %ecx + 0x49, 0xd3, 0xe9, //0x000007ba shrq %cl, %r9 + 0x4c, 0x09, 0xda, //0x000007bd orq %r11, %rdx + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x000007c0 jne LBB0_100 + 0x44, 0x89, 0xc9, //0x000007c6 movl %r9d, %ecx + 0x83, 0xe1, 0x03, //0x000007c9 andl $3, %ecx + 0x83, 0xf9, 0x01, //0x000007cc cmpl $1, %ecx + 0x0f, 0x84, 0xab, 0xfe, 0xff, 0xff, //0x000007cf je LBB0_85 + //0x000007d5 LBB0_100 + 0x4c, 0x2b, 0x75, 0xc0, //0x000007d5 subq $-64(%rbp), %r14 + 0x48, 0x83, 0xf0, 0x01, //0x000007d9 xorq $1, %rax + 0x49, 0x29, 0xc6, //0x000007dd subq %rax, %r14 + 0x44, 0x89, 0xc8, //0x000007e0 movl %r9d, %eax + 0x83, 0xe0, 0x01, //0x000007e3 andl $1, %eax + 0x4c, 0x01, 0xc8, //0x000007e6 addq %r9, %rax + 0x49, 0x21, 0xc2, //0x000007e9 andq %rax, %r10 + 0x49, 0x83, 0xfa, 0x01, //0x000007ec cmpq $1, %r10 + 0x49, 0x83, 0xde, 0xff, //0x000007f0 sbbq $-1, %r14 + 0x49, 0x8d, 0x4e, 0xff, //0x000007f4 leaq $-1(%r14), %rcx + 0x48, 0x81, 0xf9, 0xfd, 0x07, 0x00, 0x00, //0x000007f8 cmpq $2045, %rcx + 0x0f, 0x87, 0x7b, 0xfe, 0xff, 0xff, //0x000007ff ja LBB0_85 + 0x49, 0x83, 0xfa, 0x01, //0x00000805 cmpq $1, %r10 + 0xb1, 0x02, //0x00000809 movb $2, %cl + 0x80, 0xd9, 0x00, //0x0000080b sbbb $0, %cl + 0x48, 0xd3, 0xe8, //0x0000080e shrq %cl, %rax + 0x49, 0xc1, 0xe6, 0x34, //0x00000811 shlq $52, %r14 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000815 movabsq $4503599627370495, %rcx + 0x48, 0x21, 0xc8, //0x0000081f andq %rcx, %rax + 0x4c, 0x09, 0xf0, //0x00000822 orq %r14, %rax + 0x48, 0x89, 0xc1, //0x00000825 movq %rax, %rcx + 0x48, 0x09, 0xf9, //0x00000828 orq %rdi, %rcx + 0x83, 0x7d, 0xc8, 0xff, //0x0000082b cmpl $-1, $-56(%rbp) + 0x48, 0x0f, 0x45, 0xc8, //0x0000082f cmovneq %rax, %rcx + 0xc4, 0xe1, 0xf9, 0x6e, 0xc3, //0x00000833 vmovq %rbx, %xmm0 + 0xc4, 0xe1, 0xf9, 0x6e, 0xc9, //0x00000838 vmovq %rcx, %xmm1 + 0xc5, 0xf9, 0x2e, 0xc1, //0x0000083d vucomisd %xmm1, %xmm0 + 0x0f, 0x85, 0x39, 0xfe, 0xff, 0xff, //0x00000841 jne LBB0_85 + 0x0f, 0x8b, 0x6c, 0x1d, 0x00, 0x00, //0x00000847 jnp LBB0_515 + 0xe9, 0x2e, 0xfe, 0xff, 0xff, //0x0000084d jmp LBB0_85 + //0x00000852 LBB0_102 + 0x48, 0x89, 0xd0, //0x00000852 movq %rdx, %rax + //0x00000855 LBB0_103 + 0x8d, 0x53, 0xd0, //0x00000855 leal $-48(%rbx), %edx + 0x80, 0xfa, 0x09, //0x00000858 cmpb $9, %dl + 0x0f, 0x87, 0x9a, 0xf8, 0xff, 0xff, //0x0000085b ja LBB0_5 + 0x45, 0x31, 0xc9, //0x00000861 xorl %r9d, %r9d + 0x4c, 0x39, 0xd8, //0x00000864 cmpq %r11, %rax + 0x48, 0x89, 0x75, 0xa0, //0x00000867 movq %rsi, $-96(%rbp) + 0x0f, 0x83, 0xae, 0x02, 0x00, 0x00, //0x0000086b jae LBB0_138 + 0x4c, 0x89, 0xdf, //0x00000871 movq %r11, %rdi + 0x49, 0xff, 0xcb, //0x00000874 decq %r11 + 0x45, 0x31, 0xc9, //0x00000877 xorl %r9d, %r9d + //0x0000087a LBB0_106 + 0x44, 0x89, 0xce, //0x0000087a movl %r9d, %esi + 0x41, 0x81, 0xf9, 0x10, 0x27, 0x00, 0x00, //0x0000087d cmpl $10000, %r9d + 0x8d, 0x14, 0xb6, //0x00000884 leal (%rsi,%rsi,4), %edx + 0x0f, 0xb6, 0xdb, //0x00000887 movzbl %bl, %ebx + 0x44, 0x8d, 0x4c, 0x53, 0xd0, //0x0000088a leal $-48(%rbx,%rdx,2), %r9d + 0x44, 0x0f, 0x4d, 0xce, //0x0000088f cmovgel %esi, %r9d + 0x49, 0x39, 0xc3, //0x00000893 cmpq %rax, %r11 + 0x0f, 0x84, 0x80, 0x02, 0x00, 0x00, //0x00000896 je LBB0_137 + 0x41, 0x0f, 0xb6, 0x5c, 0x00, 0x01, //0x0000089c movzbl $1(%r8,%rax), %ebx + 0x48, 0xff, 0xc0, //0x000008a2 incq %rax + 0x8d, 0x53, 0xd0, //0x000008a5 leal $-48(%rbx), %edx + 0x80, 0xfa, 0x0a, //0x000008a8 cmpb $10, %dl + 0x0f, 0x82, 0xc9, 0xff, 0xff, 0xff, //0x000008ab jb LBB0_106 + 0xe9, 0x69, 0x02, 0x00, 0x00, //0x000008b1 jmp LBB0_138 + //0x000008b6 LBB0_108 + 0x48, 0x89, 0xc2, //0x000008b6 movq %rax, %rdx + 0x48, 0x29, 0xda, //0x000008b9 subq %rbx, %rdx + 0x31, 0xdb, //0x000008bc xorl %ebx, %ebx + 0xc5, 0xf9, 0x57, 0xc0, //0x000008be vxorpd %xmm0, %xmm0, %xmm0 + //0x000008c2 LBB0_109 + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x1c, 0x01, //0x000008c2 vmovupd %ymm0, $1(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x1c, 0x21, //0x000008c9 vmovupd %ymm0, $33(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x1c, 0x41, //0x000008d0 vmovupd %ymm0, $65(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x1c, 0x61, //0x000008d7 vmovupd %ymm0, $97(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0x81, 0x00, 0x00, 0x00, //0x000008de vmovupd %ymm0, $129(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0xa1, 0x00, 0x00, 0x00, //0x000008e8 vmovupd %ymm0, $161(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0xc1, 0x00, 0x00, 0x00, //0x000008f2 vmovupd %ymm0, $193(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0xe1, 0x00, 0x00, 0x00, //0x000008fc vmovupd %ymm0, $225(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0x01, 0x01, 0x00, 0x00, //0x00000906 vmovupd %ymm0, $257(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0x21, 0x01, 0x00, 0x00, //0x00000910 vmovupd %ymm0, $289(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0x41, 0x01, 0x00, 0x00, //0x0000091a vmovupd %ymm0, $321(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0x61, 0x01, 0x00, 0x00, //0x00000924 vmovupd %ymm0, $353(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0x81, 0x01, 0x00, 0x00, //0x0000092e vmovupd %ymm0, $385(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0xa1, 0x01, 0x00, 0x00, //0x00000938 vmovupd %ymm0, $417(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0xc1, 0x01, 0x00, 0x00, //0x00000942 vmovupd %ymm0, $449(%r12,%rbx) + 0xc4, 0xc1, 0x7d, 0x11, 0x84, 0x1c, 0xe1, 0x01, 0x00, 0x00, //0x0000094c vmovupd %ymm0, $481(%r12,%rbx) + 0x48, 0x81, 0xc3, 0x00, 0x02, 0x00, 0x00, //0x00000956 addq $512, %rbx + 0x48, 0x83, 0xc2, 0x04, //0x0000095d addq $4, %rdx + 0x0f, 0x85, 0x5b, 0xff, 0xff, 0xff, //0x00000961 jne LBB0_109 + //0x00000967 LBB0_110 + 0x48, 0x85, 0xc0, //0x00000967 testq %rax, %rax + 0x0f, 0x84, 0x36, 0x00, 0x00, 0x00, //0x0000096a je LBB0_113 + 0x48, 0xf7, 0xd8, //0x00000970 negq %rax + 0xc5, 0xf9, 0x57, 0xc0, //0x00000973 vxorpd %xmm0, %xmm0, %xmm0 + //0x00000977 LBB0_112 + 0x48, 0x89, 0xda, //0x00000977 movq %rbx, %rdx + 0x48, 0x83, 0xca, 0x01, //0x0000097a orq $1, %rdx + 0xc4, 0xc1, 0x7d, 0x11, 0x04, 0x14, //0x0000097e vmovupd %ymm0, (%r12,%rdx) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x14, 0x20, //0x00000984 vmovupd %ymm0, $32(%r12,%rdx) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x14, 0x40, //0x0000098b vmovupd %ymm0, $64(%r12,%rdx) + 0xc4, 0xc1, 0x7d, 0x11, 0x44, 0x14, 0x60, //0x00000992 vmovupd %ymm0, $96(%r12,%rdx) + 0x48, 0x83, 0xeb, 0x80, //0x00000999 subq $-128, %rbx + 0x48, 0xff, 0xc0, //0x0000099d incq %rax + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x000009a0 jne LBB0_112 + //0x000009a6 LBB0_113 + 0x49, 0x39, 0xf9, //0x000009a6 cmpq %rdi, %r9 + 0x0f, 0x84, 0x22, 0x00, 0x00, 0x00, //0x000009a9 je LBB0_116 + 0x48, 0x83, 0xcf, 0x01, //0x000009af orq $1, %rdi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000009b3 .p2align 4, 0x90 + //0x000009c0 LBB0_115 + 0x41, 0xc6, 0x04, 0x3c, 0x00, //0x000009c0 movb $0, (%r12,%rdi) + 0x48, 0xff, 0xc7, //0x000009c5 incq %rdi + 0x49, 0x39, 0xfd, //0x000009c8 cmpq %rdi, %r13 + 0x0f, 0x85, 0xef, 0xff, 0xff, 0xff, //0x000009cb jne LBB0_115 + //0x000009d1 LBB0_116 + 0x41, 0x8a, 0x12, //0x000009d1 movb (%r10), %dl + 0x31, 0xff, //0x000009d4 xorl %edi, %edi + 0x80, 0xfa, 0x2d, //0x000009d6 cmpb $45, %dl + 0x40, 0x0f, 0x94, 0xc7, //0x000009d9 sete %dil + 0x48, 0x39, 0xf9, //0x000009dd cmpq %rdi, %rcx + 0x0f, 0x8e, 0xa5, 0x00, 0x00, 0x00, //0x000009e0 jle LBB0_128 + 0x48, 0x89, 0x75, 0xc8, //0x000009e6 movq %rsi, $-56(%rbp) + 0x45, 0x31, 0xdb, //0x000009ea xorl %r11d, %r11d + 0x88, 0x55, 0xd7, //0x000009ed movb %dl, $-41(%rbp) + 0xb2, 0x01, //0x000009f0 movb $1, %dl + 0x45, 0x31, 0xff, //0x000009f2 xorl %r15d, %r15d + 0x45, 0x31, 0xf6, //0x000009f5 xorl %r14d, %r14d + 0x31, 0xc0, //0x000009f8 xorl %eax, %eax + 0x45, 0x31, 0xc9, //0x000009fa xorl %r9d, %r9d + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x000009fd jmp LBB0_120 + //0x00000a02 LBB0_118 + 0x41, 0xff, 0xcb, //0x00000a02 decl %r11d + 0x31, 0xc0, //0x00000a05 xorl %eax, %eax + //0x00000a07 LBB0_119 + 0x48, 0xff, 0xc7, //0x00000a07 incq %rdi + 0x48, 0x39, 0xcf, //0x00000a0a cmpq %rcx, %rdi + 0x0f, 0x9c, 0xc2, //0x00000a0d setl %dl + 0x48, 0x39, 0xf9, //0x00000a10 cmpq %rdi, %rcx + 0x0f, 0x84, 0x90, 0x00, 0x00, 0x00, //0x00000a13 je LBB0_129 + //0x00000a19 LBB0_120 + 0x41, 0x0f, 0xb6, 0x1c, 0x3a, //0x00000a19 movzbl (%r10,%rdi), %ebx + 0x8d, 0x73, 0xd0, //0x00000a1e leal $-48(%rbx), %esi + 0x40, 0x80, 0xfe, 0x09, //0x00000a21 cmpb $9, %sil + 0x0f, 0x87, 0x35, 0x00, 0x00, 0x00, //0x00000a25 ja LBB0_125 + 0x85, 0xc0, //0x00000a2b testl %eax, %eax + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000a2d jne LBB0_123 + 0x80, 0xfb, 0x30, //0x00000a33 cmpb $48, %bl + 0x0f, 0x84, 0xc6, 0xff, 0xff, 0xff, //0x00000a36 je LBB0_118 + //0x00000a3c LBB0_123 + 0x49, 0x63, 0xc7, //0x00000a3c movslq %r15d, %rax + 0x49, 0x39, 0xc5, //0x00000a3f cmpq %rax, %r13 + 0x0f, 0x86, 0x2f, 0x00, 0x00, 0x00, //0x00000a42 jbe LBB0_127 + 0x41, 0x88, 0x1c, 0x04, //0x00000a48 movb %bl, (%r12,%rax) + 0x41, 0xff, 0xc7, //0x00000a4c incl %r15d + 0x44, 0x89, 0xf8, //0x00000a4f movl %r15d, %eax + 0xe9, 0xb0, 0xff, 0xff, 0xff, //0x00000a52 jmp LBB0_119 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a57 .p2align 4, 0x90 + //0x00000a60 LBB0_125 + 0x80, 0xfb, 0x2e, //0x00000a60 cmpb $46, %bl + 0x0f, 0x85, 0x56, 0x00, 0x00, 0x00, //0x00000a63 jne LBB0_130 + 0x41, 0x89, 0xc3, //0x00000a69 movl %eax, %r11d + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000a6c movl $1, %r9d + 0xe9, 0x90, 0xff, 0xff, 0xff, //0x00000a72 jmp LBB0_119 + //0x00000a77 LBB0_127 + 0x80, 0xfb, 0x30, //0x00000a77 cmpb $48, %bl + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000a7a movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00000a7f cmovnel %eax, %r14d + 0x44, 0x89, 0xf8, //0x00000a83 movl %r15d, %eax + 0xe9, 0x7c, 0xff, 0xff, 0xff, //0x00000a86 jmp LBB0_119 + //0x00000a8b LBB0_128 + 0x45, 0x31, 0xc9, //0x00000a8b xorl %r9d, %r9d + 0x31, 0xf6, //0x00000a8e xorl %esi, %esi + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000a90 movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000a9a movabsq $4503599627370495, %r10 + 0xe9, 0xfd, 0x1a, 0x00, 0x00, //0x00000aa4 jmp LBB0_514 + //0x00000aa9 LBB0_129 + 0x45, 0x85, 0xc9, //0x00000aa9 testl %r9d, %r9d + 0x45, 0x0f, 0x44, 0xdf, //0x00000aac cmovel %r15d, %r11d + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000ab0 movabsq $4503599627370495, %r10 + 0xe9, 0xec, 0x00, 0x00, 0x00, //0x00000aba jmp LBB0_148 + //0x00000abf LBB0_130 + 0x45, 0x85, 0xc9, //0x00000abf testl %r9d, %r9d + 0x45, 0x0f, 0x44, 0xdf, //0x00000ac2 cmovel %r15d, %r11d + 0xf6, 0xc2, 0x01, //0x00000ac6 testb $1, %dl + 0x0f, 0x84, 0x3e, 0x00, 0x00, 0x00, //0x00000ac9 je LBB0_136 + 0x80, 0xcb, 0x20, //0x00000acf orb $32, %bl + 0x80, 0xfb, 0x65, //0x00000ad2 cmpb $101, %bl + 0x48, 0x8b, 0x5d, 0xa8, //0x00000ad5 movq $-88(%rbp), %rbx + 0x0f, 0x85, 0x2e, 0x00, 0x00, 0x00, //0x00000ad9 jne LBB0_136 + 0x48, 0x8d, 0x57, 0x01, //0x00000adf leaq $1(%rdi), %rdx + 0x89, 0xd0, //0x00000ae3 movl %edx, %eax + 0x41, 0x8a, 0x04, 0x02, //0x00000ae5 movb (%r10,%rax), %al + 0x3c, 0x2b, //0x00000ae9 cmpb $43, %al + 0x0f, 0x84, 0x3e, 0x00, 0x00, 0x00, //0x00000aeb je LBB0_139 + 0x3c, 0x2d, //0x00000af1 cmpb $45, %al + 0x48, 0x8b, 0x45, 0xc8, //0x00000af3 movq $-56(%rbp), %rax + 0x0f, 0x85, 0x50, 0x00, 0x00, 0x00, //0x00000af7 jne LBB0_140 + 0x83, 0xc7, 0x02, //0x00000afd addl $2, %edi + 0x41, 0xb9, 0xff, 0xff, 0xff, 0xff, //0x00000b00 movl $-1, %r9d + 0x89, 0xfa, //0x00000b06 movl %edi, %edx + 0xe9, 0x46, 0x00, 0x00, 0x00, //0x00000b08 jmp LBB0_141 + //0x00000b0d LBB0_136 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000b0d movabsq $4503599627370495, %r10 + 0xe9, 0x8f, 0x00, 0x00, 0x00, //0x00000b17 jmp LBB0_148 + //0x00000b1c LBB0_137 + 0x48, 0x89, 0xf8, //0x00000b1c movq %rdi, %rax + //0x00000b1f LBB0_138 + 0x45, 0x0f, 0xaf, 0xca, //0x00000b1f imull %r10d, %r9d + 0x41, 0x01, 0xc9, //0x00000b23 addl %ecx, %r9d + 0x48, 0x89, 0x45, 0xa8, //0x00000b26 movq %rax, $-88(%rbp) + 0xe9, 0xa0, 0xf8, 0xff, 0xff, //0x00000b2a jmp LBB0_57 + //0x00000b2f LBB0_139 + 0x83, 0xc7, 0x02, //0x00000b2f addl $2, %edi + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000b32 movl $1, %r9d + 0x89, 0xfa, //0x00000b38 movl %edi, %edx + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000b3a movabsq $4503599627370495, %r10 + 0x48, 0x8b, 0x45, 0xc8, //0x00000b44 movq $-56(%rbp), %rax + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00000b48 jmp LBB0_142 + //0x00000b4d LBB0_140 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000b4d movl $1, %r9d + //0x00000b53 LBB0_141 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000b53 movabsq $4503599627370495, %r10 + //0x00000b5d LBB0_142 + 0x48, 0x63, 0xfa, //0x00000b5d movslq %edx, %rdi + 0x31, 0xd2, //0x00000b60 xorl %edx, %edx + 0x48, 0x39, 0xf9, //0x00000b62 cmpq %rdi, %rcx + 0x0f, 0x8e, 0x36, 0x00, 0x00, 0x00, //0x00000b65 jle LBB0_147 + 0x48, 0x01, 0xf8, //0x00000b6b addq %rdi, %rax + 0x31, 0xd2, //0x00000b6e xorl %edx, %edx + //0x00000b70 LBB0_144 + 0x81, 0xfa, 0x0f, 0x27, 0x00, 0x00, //0x00000b70 cmpl $9999, %edx + 0x0f, 0x8f, 0x25, 0x00, 0x00, 0x00, //0x00000b76 jg LBB0_147 + 0x41, 0x0f, 0xb6, 0x0c, 0x00, //0x00000b7c movzbl (%r8,%rax), %ecx + 0x8d, 0x71, 0xd0, //0x00000b81 leal $-48(%rcx), %esi + 0x40, 0x80, 0xfe, 0x09, //0x00000b84 cmpb $9, %sil + 0x0f, 0x87, 0x13, 0x00, 0x00, 0x00, //0x00000b88 ja LBB0_147 + 0x8d, 0x14, 0x92, //0x00000b8e leal (%rdx,%rdx,4), %edx + 0x8d, 0x54, 0x51, 0xd0, //0x00000b91 leal $-48(%rcx,%rdx,2), %edx + 0x48, 0xff, 0xc0, //0x00000b95 incq %rax + 0x48, 0x39, 0xc3, //0x00000b98 cmpq %rax, %rbx + 0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x00000b9b jne LBB0_144 + //0x00000ba1 LBB0_147 + 0x41, 0x0f, 0xaf, 0xd1, //0x00000ba1 imull %r9d, %edx + 0x44, 0x01, 0xda, //0x00000ba5 addl %r11d, %edx + 0x41, 0x89, 0xd3, //0x00000ba8 movl %edx, %r11d + //0x00000bab LBB0_148 + 0x45, 0x85, 0xff, //0x00000bab testl %r15d, %r15d + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000bae movabsq $-9223372036854775808, %rdi + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00000bb8 je LBB0_151 + 0x31, 0xf6, //0x00000bbe xorl %esi, %esi + 0x41, 0x81, 0xfb, 0x36, 0x01, 0x00, 0x00, //0x00000bc0 cmpl $310, %r11d + 0x0f, 0x8e, 0x1f, 0x00, 0x00, 0x00, //0x00000bc7 jle LBB0_152 + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00000bcd movabsq $9218868437227405312, %r9 + 0x8a, 0x55, 0xd7, //0x00000bd7 movb $-41(%rbp), %dl + 0xe9, 0xc7, 0x19, 0x00, 0x00, //0x00000bda jmp LBB0_514 + //0x00000bdf LBB0_151 + 0x45, 0x31, 0xc9, //0x00000bdf xorl %r9d, %r9d + 0x31, 0xf6, //0x00000be2 xorl %esi, %esi + 0x8a, 0x55, 0xd7, //0x00000be4 movb $-41(%rbp), %dl + 0xe9, 0xba, 0x19, 0x00, 0x00, //0x00000be7 jmp LBB0_514 + //0x00000bec LBB0_152 + 0x41, 0x81, 0xfb, 0xb6, 0xfe, 0xff, 0xff, //0x00000bec cmpl $-330, %r11d + 0x0f, 0x8d, 0x0b, 0x00, 0x00, 0x00, //0x00000bf3 jge LBB0_154 + 0x45, 0x31, 0xc9, //0x00000bf9 xorl %r9d, %r9d + 0x8a, 0x55, 0xd7, //0x00000bfc movb $-41(%rbp), %dl + 0xe9, 0xa2, 0x19, 0x00, 0x00, //0x00000bff jmp LBB0_514 + //0x00000c04 LBB0_154 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, //0x00000c04 movabsq $1152921504606846975, %r10 + 0x45, 0x85, 0xdb, //0x00000c0e testl %r11d, %r11d + 0x0f, 0x8e, 0xd5, 0x07, 0x00, 0x00, //0x00000c11 jle LBB0_270 + 0x31, 0xf6, //0x00000c17 xorl %esi, %esi + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000c19 movl $1, %r8d + 0x44, 0x89, 0xf8, //0x00000c1f movl %r15d, %eax + 0xe9, 0x14, 0x00, 0x00, 0x00, //0x00000c22 jmp LBB0_158 + //0x00000c27 LBB0_156 + 0x89, 0xc7, //0x00000c27 movl %eax, %edi + //0x00000c29 LBB0_157 + 0x48, 0x8b, 0x75, 0xc0, //0x00000c29 movq $-64(%rbp), %rsi + 0x03, 0x75, 0xbc, //0x00000c2d addl $-68(%rbp), %esi + 0x89, 0xf8, //0x00000c30 movl %edi, %eax + 0x45, 0x85, 0xdb, //0x00000c32 testl %r11d, %r11d + 0x0f, 0x8e, 0xb4, 0x07, 0x00, 0x00, //0x00000c35 jle LBB0_271 + //0x00000c3b LBB0_158 + 0x48, 0x89, 0x75, 0xc0, //0x00000c3b movq %rsi, $-64(%rbp) + 0xb9, 0x1b, 0x00, 0x00, 0x00, //0x00000c3f movl $27, %ecx + 0x41, 0x83, 0xfb, 0x08, //0x00000c44 cmpl $8, %r11d + 0x0f, 0x8f, 0x0d, 0x00, 0x00, 0x00, //0x00000c48 jg LBB0_160 + 0x44, 0x89, 0xd9, //0x00000c4e movl %r11d, %ecx + 0x48, 0x8d, 0x15, 0xf8, 0x45, 0x00, 0x00, //0x00000c51 leaq $17912(%rip), %rdx /* _POW_TAB+0(%rip) */ + 0x8b, 0x0c, 0x8a, //0x00000c58 movl (%rdx,%rcx,4), %ecx + //0x00000c5b LBB0_160 + 0x85, 0xc0, //0x00000c5b testl %eax, %eax + 0x89, 0x4d, 0xbc, //0x00000c5d movl %ecx, $-68(%rbp) + 0x0f, 0x84, 0xc1, 0xff, 0xff, 0xff, //0x00000c60 je LBB0_156 + 0x41, 0x89, 0xc9, //0x00000c66 movl %ecx, %r9d + 0x41, 0xf7, 0xd9, //0x00000c69 negl %r9d + 0x85, 0xc9, //0x00000c6c testl %ecx, %ecx + 0x0f, 0x84, 0xb3, 0xff, 0xff, 0xff, //0x00000c6e je LBB0_156 + 0x0f, 0x88, 0x90, 0x01, 0x00, 0x00, //0x00000c74 js LBB0_187 + //0x00000c7a LBB0_163 + 0x41, 0x83, 0xf9, 0xc3, //0x00000c7a cmpl $-61, %r9d + 0x0f, 0x8e, 0x21, 0x00, 0x00, 0x00, //0x00000c7e jle LBB0_167 + 0xe9, 0xcd, 0x03, 0x00, 0x00, //0x00000c84 jmp LBB0_219 + //0x00000c89 LBB0_164 + 0xff, 0xc8, //0x00000c89 decl %eax + 0x41, 0x89, 0xc7, //0x00000c8b movl %eax, %r15d + //0x00000c8e LBB0_165 + 0x45, 0x85, 0xff, //0x00000c8e testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00000c91 cmovel %r15d, %r11d + //0x00000c95 LBB0_166 + 0x44, 0x8d, 0x49, 0x3c, //0x00000c95 leal $60(%rcx), %r9d + 0x44, 0x89, 0xf8, //0x00000c99 movl %r15d, %eax + 0x83, 0xf9, 0x88, //0x00000c9c cmpl $-120, %ecx + 0x0f, 0x8d, 0xa2, 0x03, 0x00, 0x00, //0x00000c9f jge LBB0_218 + //0x00000ca5 LBB0_167 + 0x44, 0x89, 0xc9, //0x00000ca5 movl %r9d, %ecx + 0x48, 0x63, 0xf8, //0x00000ca8 movslq %eax, %rdi + 0x31, 0xf6, //0x00000cab xorl %esi, %esi + 0x31, 0xd2, //0x00000cad xorl %edx, %edx + 0x90, //0x00000caf .p2align 4, 0x90 + //0x00000cb0 LBB0_168 + 0x48, 0x39, 0xfe, //0x00000cb0 cmpq %rdi, %rsi + 0x0f, 0x8d, 0x27, 0x00, 0x00, 0x00, //0x00000cb3 jge LBB0_170 + 0x48, 0x8d, 0x14, 0x92, //0x00000cb9 leaq (%rdx,%rdx,4), %rdx + 0x49, 0x0f, 0xbe, 0x1c, 0x34, //0x00000cbd movsbq (%r12,%rsi), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x00000cc2 leaq $-48(%rbx,%rdx,2), %rdx + 0x48, 0xff, 0xc6, //0x00000cc7 incq %rsi + 0x49, 0x8d, 0x5a, 0x01, //0x00000cca leaq $1(%r10), %rbx + 0x48, 0x39, 0xda, //0x00000cce cmpq %rbx, %rdx + 0x0f, 0x82, 0xd9, 0xff, 0xff, 0xff, //0x00000cd1 jb LBB0_168 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00000cd7 jmp LBB0_172 + 0x90, 0x90, 0x90, 0x90, //0x00000cdc .p2align 4, 0x90 + //0x00000ce0 LBB0_170 + 0x48, 0x85, 0xd2, //0x00000ce0 testq %rdx, %rdx + 0x0f, 0x84, 0x19, 0x01, 0x00, 0x00, //0x00000ce3 je LBB0_185 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000ce9 .p2align 4, 0x90 + //0x00000cf0 LBB0_171 + 0x48, 0x01, 0xd2, //0x00000cf0 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00000cf3 leaq (%rdx,%rdx,4), %rdx + 0xff, 0xc6, //0x00000cf7 incl %esi + 0x49, 0x8d, 0x7a, 0x01, //0x00000cf9 leaq $1(%r10), %rdi + 0x48, 0x39, 0xfa, //0x00000cfd cmpq %rdi, %rdx + 0x0f, 0x82, 0xea, 0xff, 0xff, 0xff, //0x00000d00 jb LBB0_171 + //0x00000d06 LBB0_172 + 0x41, 0x29, 0xf3, //0x00000d06 subl %esi, %r11d + 0x31, 0xff, //0x00000d09 xorl %edi, %edi + 0x39, 0xc6, //0x00000d0b cmpl %eax, %esi + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x00000d0d jge LBB0_177 + 0x48, 0x63, 0xc6, //0x00000d13 movslq %esi, %rax + 0x49, 0x63, 0xf7, //0x00000d16 movslq %r15d, %rsi + 0x49, 0x8d, 0x3c, 0x04, //0x00000d19 leaq (%r12,%rax), %rdi + 0x45, 0x31, 0xff, //0x00000d1d xorl %r15d, %r15d + //0x00000d20 .p2align 4, 0x90 + //0x00000d20 LBB0_174 + 0x48, 0x89, 0xd3, //0x00000d20 movq %rdx, %rbx + 0x48, 0xc1, 0xeb, 0x3c, //0x00000d23 shrq $60, %rbx + 0x4c, 0x21, 0xd2, //0x00000d27 andq %r10, %rdx + 0x80, 0xcb, 0x30, //0x00000d2a orb $48, %bl + 0x43, 0x88, 0x1c, 0x3c, //0x00000d2d movb %bl, (%r12,%r15) + 0x48, 0x8d, 0x14, 0x92, //0x00000d31 leaq (%rdx,%rdx,4), %rdx + 0x4a, 0x0f, 0xbe, 0x1c, 0x3f, //0x00000d35 movsbq (%rdi,%r15), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x00000d3a leaq $-48(%rbx,%rdx,2), %rdx + 0x4a, 0x8d, 0x5c, 0x38, 0x01, //0x00000d3f leaq $1(%rax,%r15), %rbx + 0x49, 0xff, 0xc7, //0x00000d44 incq %r15 + 0x48, 0x39, 0xf3, //0x00000d47 cmpq %rsi, %rbx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00000d4a jl LBB0_174 + 0x48, 0x85, 0xd2, //0x00000d50 testq %rdx, %rdx + 0x0f, 0x84, 0x5f, 0x00, 0x00, 0x00, //0x00000d53 je LBB0_181 + 0x44, 0x89, 0xff, //0x00000d59 movl %r15d, %edi + //0x00000d5c LBB0_177 + 0x41, 0x89, 0xff, //0x00000d5c movl %edi, %r15d + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00000d5f jmp LBB0_179 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d64 .p2align 4, 0x90 + //0x00000d70 LBB0_178 + 0x48, 0x85, 0xc0, //0x00000d70 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00000d73 cmovnel %r8d, %r14d + 0x48, 0x01, 0xd2, //0x00000d77 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00000d7a leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00000d7e testq %rdx, %rdx + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x00000d81 je LBB0_181 + //0x00000d87 LBB0_179 + 0x48, 0x89, 0xd0, //0x00000d87 movq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x3c, //0x00000d8a shrq $60, %rax + 0x4c, 0x21, 0xd2, //0x00000d8e andq %r10, %rdx + 0x49, 0x63, 0xf7, //0x00000d91 movslq %r15d, %rsi + 0x49, 0x39, 0xf5, //0x00000d94 cmpq %rsi, %r13 + 0x0f, 0x86, 0xd3, 0xff, 0xff, 0xff, //0x00000d97 jbe LBB0_178 + 0x0c, 0x30, //0x00000d9d orb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00000d9f movb %al, (%r12,%rsi) + 0xff, 0xc6, //0x00000da3 incl %esi + 0x41, 0x89, 0xf7, //0x00000da5 movl %esi, %r15d + 0x48, 0x01, 0xd2, //0x00000da8 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00000dab leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00000daf testq %rdx, %rdx + 0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x00000db2 jne LBB0_179 + //0x00000db8 LBB0_181 + 0x41, 0xff, 0xc3, //0x00000db8 incl %r11d + 0x45, 0x85, 0xff, //0x00000dbb testl %r15d, %r15d + 0x0f, 0x8e, 0xca, 0xfe, 0xff, 0xff, //0x00000dbe jle LBB0_165 + 0x44, 0x89, 0xf8, //0x00000dc4 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00000dc7 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0xc2, 0xfe, 0xff, 0xff, //0x00000dcd jne LBB0_166 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000dd3 .p2align 4, 0x90 + //0x00000de0 LBB0_183 + 0x48, 0x83, 0xf8, 0x01, //0x00000de0 cmpq $1, %rax + 0x0f, 0x8e, 0x9f, 0xfe, 0xff, 0xff, //0x00000de4 jle LBB0_164 + 0x4c, 0x8d, 0x78, 0xff, //0x00000dea leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00000dee cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00000df4 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00000df7 je LBB0_183 + 0xe9, 0x93, 0xfe, 0xff, 0xff, //0x00000dfd jmp LBB0_166 + //0x00000e02 LBB0_185 + 0x45, 0x31, 0xff, //0x00000e02 xorl %r15d, %r15d + 0xe9, 0x8b, 0xfe, 0xff, 0xff, //0x00000e05 jmp LBB0_166 + //0x00000e0a LBB0_187 + 0x83, 0xf9, 0xc3, //0x00000e0a cmpl $-61, %ecx + 0x0f, 0x8f, 0xbe, 0x03, 0x00, 0x00, //0x00000e0d jg LBB0_238 + 0x48, 0x8d, 0x3d, 0x66, 0x44, 0x00, 0x00, //0x00000e13 leaq $17510(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00000e1a jmp LBB0_192 + //0x00000e1f LBB0_189 + 0x48, 0x8d, 0x3d, 0x5a, 0x44, 0x00, 0x00, //0x00000e1f leaq $17498(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + //0x00000e26 LBB0_190 + 0x45, 0x85, 0xff, //0x00000e26 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00000e29 cmovel %r15d, %r11d + //0x00000e2d LBB0_191 + 0x44, 0x8d, 0x4b, 0xc4, //0x00000e2d leal $-60(%rbx), %r9d + 0x44, 0x89, 0xf8, //0x00000e31 movl %r15d, %eax + 0x83, 0xfb, 0x78, //0x00000e34 cmpl $120, %ebx + 0x0f, 0x8e, 0x85, 0x03, 0x00, 0x00, //0x00000e37 jle LBB0_237 + //0x00000e3d LBB0_192 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000e3d movl $1, %r8d + 0x44, 0x89, 0xcb, //0x00000e43 movl %r9d, %ebx + 0x48, 0x63, 0xf0, //0x00000e46 movslq %eax, %rsi + 0x85, 0xf6, //0x00000e49 testl %esi, %esi + 0x0f, 0x84, 0x45, 0x00, 0x00, 0x00, //0x00000e4b je LBB0_198 + 0xb2, 0x38, //0x00000e51 movb $56, %dl + 0x31, 0xc9, //0x00000e53 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000e55 .p2align 4, 0x90 + //0x00000e60 LBB0_194 + 0x41, 0xb9, 0x13, 0x00, 0x00, 0x00, //0x00000e60 movl $19, %r9d + 0x48, 0x83, 0xf9, 0x2a, //0x00000e66 cmpq $42, %rcx + 0x0f, 0x84, 0x2c, 0x00, 0x00, 0x00, //0x00000e6a je LBB0_199 + 0x41, 0x38, 0x14, 0x0c, //0x00000e70 cmpb %dl, (%r12,%rcx) + 0x0f, 0x85, 0xb8, 0x01, 0x00, 0x00, //0x00000e74 jne LBB0_216 + 0x0f, 0xb6, 0x94, 0x39, 0x65, 0x18, 0x00, 0x00, //0x00000e7a movzbl $6245(%rcx,%rdi), %edx + 0x48, 0xff, 0xc1, //0x00000e82 incq %rcx + 0x48, 0x39, 0xce, //0x00000e85 cmpq %rcx, %rsi + 0x0f, 0x85, 0xd2, 0xff, 0xff, 0xff, //0x00000e88 jne LBB0_194 + 0x84, 0xd2, //0x00000e8e testb %dl, %dl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00000e90 je LBB0_199 + //0x00000e96 LBB0_198 + 0x41, 0xb9, 0x12, 0x00, 0x00, 0x00, //0x00000e96 movl $18, %r9d + //0x00000e9c LBB0_199 + 0x85, 0xc0, //0x00000e9c testl %eax, %eax + 0x0f, 0x8e, 0xb7, 0x00, 0x00, 0x00, //0x00000e9e jle LBB0_207 + 0x48, 0x89, 0x5d, 0xb0, //0x00000ea4 movq %rbx, $-80(%rbp) + 0x4c, 0x89, 0x5d, 0xc8, //0x00000ea8 movq %r11, $-56(%rbp) + 0x44, 0x01, 0xc8, //0x00000eac addl %r9d, %eax + 0x48, 0x98, //0x00000eaf cltq + 0x48, 0x89, 0xc3, //0x00000eb1 movq %rax, %rbx + 0x48, 0xc1, 0xe3, 0x20, //0x00000eb4 shlq $32, %rbx + 0x48, 0xff, 0xc8, //0x00000eb8 decq %rax + 0x48, 0xff, 0xc6, //0x00000ebb incq %rsi + 0x31, 0xc9, //0x00000ebe xorl %ecx, %ecx + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x00000ec0 jmp LBB0_203 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000ec5 .p2align 4, 0x90 + //0x00000ed0 LBB0_201 + 0x48, 0x85, 0xc0, //0x00000ed0 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00000ed3 cmovnel %r8d, %r14d + //0x00000ed7 LBB0_202 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00000ed7 movabsq $-4294967296, %rax + 0x48, 0x01, 0xc3, //0x00000ee1 addq %rax, %rbx + 0x49, 0x8d, 0x43, 0xff, //0x00000ee4 leaq $-1(%r11), %rax + 0x48, 0xff, 0xce, //0x00000ee8 decq %rsi + 0x48, 0x83, 0xfe, 0x01, //0x00000eeb cmpq $1, %rsi + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00000eef jle LBB0_205 + //0x00000ef5 LBB0_203 + 0x49, 0x89, 0xc3, //0x00000ef5 movq %rax, %r11 + 0x41, 0x0f, 0xb6, 0x7c, 0x34, 0xfe, //0x00000ef8 movzbl $-2(%r12,%rsi), %edi + 0x48, 0xc1, 0xe7, 0x3c, //0x00000efe shlq $60, %rdi + 0x48, 0x01, 0xcf, //0x00000f02 addq %rcx, %rdi + 0x48, 0x89, 0xf8, //0x00000f05 movq %rdi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00000f08 movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00000f12 mulq %rcx + 0x48, 0x89, 0xd1, //0x00000f15 movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x00000f18 shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00000f1c leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00000f20 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf8, //0x00000f24 movq %rdi, %rax + 0x48, 0x29, 0xd0, //0x00000f27 subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x00000f2a cmpq %r13, %r11 + 0x0f, 0x83, 0x9d, 0xff, 0xff, 0xff, //0x00000f2d jae LBB0_201 + 0x04, 0x30, //0x00000f33 addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x00000f35 movb %al, (%r12,%r11) + 0xe9, 0x99, 0xff, 0xff, 0xff, //0x00000f39 jmp LBB0_202 + //0x00000f3e LBB0_205 + 0x48, 0x83, 0xff, 0x0a, //0x00000f3e cmpq $10, %rdi + 0x0f, 0x83, 0x1e, 0x00, 0x00, 0x00, //0x00000f42 jae LBB0_208 + 0x4c, 0x8b, 0x5d, 0xc8, //0x00000f48 movq $-56(%rbp), %r11 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000f4c movl $1, %r8d + 0x48, 0x8b, 0x5d, 0xb0, //0x00000f52 movq $-80(%rbp), %rbx + 0xe9, 0x85, 0x00, 0x00, 0x00, //0x00000f56 jmp LBB0_212 + //0x00000f5b LBB0_207 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000f5b movl $1, %r8d + 0xe9, 0x7a, 0x00, 0x00, 0x00, //0x00000f61 jmp LBB0_212 + //0x00000f66 LBB0_208 + 0x49, 0x63, 0xf3, //0x00000f66 movslq %r11d, %rsi + 0x48, 0xff, 0xce, //0x00000f69 decq %rsi + 0x4c, 0x8b, 0x5d, 0xc8, //0x00000f6c movq $-56(%rbp), %r11 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000f70 movl $1, %r8d + 0x48, 0x8b, 0x5d, 0xb0, //0x00000f76 movq $-80(%rbp), %rbx + 0xe9, 0x18, 0x00, 0x00, 0x00, //0x00000f7a jmp LBB0_210 + 0x90, //0x00000f7f .p2align 4, 0x90 + //0x00000f80 LBB0_209 + 0x48, 0x85, 0xc0, //0x00000f80 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00000f83 cmovnel %r8d, %r14d + 0x48, 0xff, 0xce, //0x00000f87 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00000f8a cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00000f8e movq %rdx, %rcx + 0x0f, 0x86, 0x49, 0x00, 0x00, 0x00, //0x00000f91 jbe LBB0_212 + //0x00000f97 LBB0_210 + 0x48, 0x89, 0xc8, //0x00000f97 movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00000f9a movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00000fa4 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00000fa7 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00000fab leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00000faf leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xc8, //0x00000fb3 movq %rcx, %rax + 0x48, 0x29, 0xf8, //0x00000fb6 subq %rdi, %rax + 0x4c, 0x39, 0xee, //0x00000fb9 cmpq %r13, %rsi + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x00000fbc jae LBB0_209 + 0x04, 0x30, //0x00000fc2 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00000fc4 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x00000fc8 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00000fcb cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00000fcf movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00000fd2 ja LBB0_210 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000fd8 .p2align 4, 0x90 + //0x00000fe0 LBB0_212 + 0x45, 0x01, 0xcf, //0x00000fe0 addl %r9d, %r15d + 0x4d, 0x63, 0xff, //0x00000fe3 movslq %r15d, %r15 + 0x4d, 0x39, 0xfd, //0x00000fe6 cmpq %r15, %r13 + 0x45, 0x0f, 0x46, 0xfd, //0x00000fe9 cmovbel %r13d, %r15d + 0x45, 0x01, 0xcb, //0x00000fed addl %r9d, %r11d + 0x45, 0x85, 0xff, //0x00000ff0 testl %r15d, %r15d + 0x0f, 0x8e, 0x26, 0xfe, 0xff, 0xff, //0x00000ff3 jle LBB0_189 + 0x44, 0x89, 0xf8, //0x00000ff9 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00000ffc cmpb $48, $-1(%rax,%r12) + 0x48, 0x8d, 0x3d, 0x77, 0x42, 0x00, 0x00, //0x00001002 leaq $17015(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0x85, 0x1e, 0xfe, 0xff, 0xff, //0x00001009 jne LBB0_191 + 0x90, //0x0000100f .p2align 4, 0x90 + //0x00001010 LBB0_214 + 0x48, 0x83, 0xf8, 0x01, //0x00001010 cmpq $1, %rax + 0x0f, 0x8e, 0x23, 0x00, 0x00, 0x00, //0x00001014 jle LBB0_217 + 0x4c, 0x8d, 0x78, 0xff, //0x0000101a leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x0000101e cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00001024 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001027 je LBB0_214 + 0xe9, 0xfb, 0xfd, 0xff, 0xff, //0x0000102d jmp LBB0_191 + //0x00001032 LBB0_216 + 0x0f, 0x8c, 0x5e, 0xfe, 0xff, 0xff, //0x00001032 jl LBB0_198 + 0xe9, 0x5f, 0xfe, 0xff, 0xff, //0x00001038 jmp LBB0_199 + //0x0000103d LBB0_217 + 0xff, 0xc8, //0x0000103d decl %eax + 0x41, 0x89, 0xc7, //0x0000103f movl %eax, %r15d + 0xe9, 0xdf, 0xfd, 0xff, 0xff, //0x00001042 jmp LBB0_190 + //0x00001047 LBB0_218 + 0x44, 0x89, 0xf8, //0x00001047 movl %r15d, %eax + 0x44, 0x89, 0xff, //0x0000104a movl %r15d, %edi + 0x45, 0x85, 0xc9, //0x0000104d testl %r9d, %r9d + 0x0f, 0x84, 0xd3, 0xfb, 0xff, 0xff, //0x00001050 je LBB0_157 + //0x00001056 LBB0_219 + 0x41, 0xf7, 0xd9, //0x00001056 negl %r9d + 0x48, 0x63, 0xf0, //0x00001059 movslq %eax, %rsi + 0x31, 0xff, //0x0000105c xorl %edi, %edi + 0x31, 0xd2, //0x0000105e xorl %edx, %edx + //0x00001060 .p2align 4, 0x90 + //0x00001060 LBB0_220 + 0x48, 0x39, 0xf7, //0x00001060 cmpq %rsi, %rdi + 0x0f, 0x8d, 0x30, 0x01, 0x00, 0x00, //0x00001063 jge LBB0_234 + 0x48, 0x8d, 0x0c, 0x92, //0x00001069 leaq (%rdx,%rdx,4), %rcx + 0x49, 0x0f, 0xbe, 0x14, 0x3c, //0x0000106d movsbq (%r12,%rdi), %rdx + 0x48, 0x8d, 0x54, 0x4a, 0xd0, //0x00001072 leaq $-48(%rdx,%rcx,2), %rdx + 0x48, 0xff, 0xc7, //0x00001077 incq %rdi + 0x48, 0x89, 0xd3, //0x0000107a movq %rdx, %rbx + 0x44, 0x89, 0xc9, //0x0000107d movl %r9d, %ecx + 0x48, 0xd3, 0xeb, //0x00001080 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00001083 testq %rbx, %rbx + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x00001086 je LBB0_220 + //0x0000108c LBB0_222 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x0000108c movq $-1, %rsi + 0x44, 0x89, 0xc9, //0x00001093 movl %r9d, %ecx + 0x48, 0xd3, 0xe6, //0x00001096 shlq %cl, %rsi + 0x48, 0xf7, 0xd6, //0x00001099 notq %rsi + 0x31, 0xdb, //0x0000109c xorl %ebx, %ebx + 0x39, 0xc7, //0x0000109e cmpl %eax, %edi + 0x0f, 0x8d, 0x55, 0x00, 0x00, 0x00, //0x000010a0 jge LBB0_226 + 0x4c, 0x89, 0x5d, 0xc8, //0x000010a6 movq %r11, $-56(%rbp) + 0x4c, 0x63, 0xdf, //0x000010aa movslq %edi, %r11 + 0x4d, 0x63, 0xc7, //0x000010ad movslq %r15d, %r8 + 0x4f, 0x8d, 0x3c, 0x1c, //0x000010b0 leaq (%r12,%r11), %r15 + 0x31, 0xdb, //0x000010b4 xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000010b6 .p2align 4, 0x90 + //0x000010c0 LBB0_224 + 0x48, 0x89, 0xd0, //0x000010c0 movq %rdx, %rax + 0x44, 0x89, 0xc9, //0x000010c3 movl %r9d, %ecx + 0x48, 0xd3, 0xe8, //0x000010c6 shrq %cl, %rax + 0x48, 0x21, 0xf2, //0x000010c9 andq %rsi, %rdx + 0x04, 0x30, //0x000010cc addb $48, %al + 0x41, 0x88, 0x04, 0x1c, //0x000010ce movb %al, (%r12,%rbx) + 0x48, 0x8d, 0x04, 0x92, //0x000010d2 leaq (%rdx,%rdx,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x1f, //0x000010d6 movsbq (%r15,%rbx), %rcx + 0x48, 0x8d, 0x54, 0x41, 0xd0, //0x000010db leaq $-48(%rcx,%rax,2), %rdx + 0x49, 0x8d, 0x44, 0x1b, 0x01, //0x000010e0 leaq $1(%r11,%rbx), %rax + 0x48, 0xff, 0xc3, //0x000010e5 incq %rbx + 0x4c, 0x39, 0xc0, //0x000010e8 cmpq %r8, %rax + 0x0f, 0x8c, 0xcf, 0xff, 0xff, 0xff, //0x000010eb jl LBB0_224 + 0x4c, 0x8b, 0x5d, 0xc8, //0x000010f1 movq $-56(%rbp), %r11 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000010f5 movl $1, %r8d + //0x000010fb LBB0_226 + 0x41, 0x29, 0xfb, //0x000010fb subl %edi, %r11d + 0x41, 0x89, 0xdf, //0x000010fe movl %ebx, %r15d + 0x48, 0x85, 0xd2, //0x00001101 testq %rdx, %rdx + 0x8b, 0x7d, 0xbc, //0x00001104 movl $-68(%rbp), %edi + 0x0f, 0x85, 0x1c, 0x00, 0x00, 0x00, //0x00001107 jne LBB0_228 + 0xe9, 0x4a, 0x00, 0x00, 0x00, //0x0000110d jmp LBB0_230 + //0x00001112 LBB0_227 + 0x48, 0x85, 0xc0, //0x00001112 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00001115 cmovnel %r8d, %r14d + 0x48, 0x01, 0xd2, //0x00001119 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x0000111c leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00001120 testq %rdx, %rdx + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00001123 je LBB0_230 + //0x00001129 LBB0_228 + 0x48, 0x89, 0xd0, //0x00001129 movq %rdx, %rax + 0x44, 0x89, 0xc9, //0x0000112c movl %r9d, %ecx + 0x48, 0xd3, 0xe8, //0x0000112f shrq %cl, %rax + 0x48, 0x21, 0xf2, //0x00001132 andq %rsi, %rdx + 0x49, 0x63, 0xcf, //0x00001135 movslq %r15d, %rcx + 0x49, 0x39, 0xcd, //0x00001138 cmpq %rcx, %r13 + 0x0f, 0x86, 0xd1, 0xff, 0xff, 0xff, //0x0000113b jbe LBB0_227 + 0x04, 0x30, //0x00001141 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x00001143 movb %al, (%r12,%rcx) + 0xff, 0xc1, //0x00001147 incl %ecx + 0x41, 0x89, 0xcf, //0x00001149 movl %ecx, %r15d + 0x48, 0x01, 0xd2, //0x0000114c addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x0000114f leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00001153 testq %rdx, %rdx + 0x0f, 0x85, 0xcd, 0xff, 0xff, 0xff, //0x00001156 jne LBB0_228 + //0x0000115c LBB0_230 + 0x41, 0xff, 0xc3, //0x0000115c incl %r11d + 0x45, 0x85, 0xff, //0x0000115f testl %r15d, %r15d + 0x0f, 0x8e, 0x44, 0x02, 0x00, 0x00, //0x00001162 jle LBB0_264 + 0x44, 0x89, 0xf8, //0x00001168 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x0000116b cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x42, 0x02, 0x00, 0x00, //0x00001171 jne LBB0_265 + //0x00001177 LBB0_232 + 0x48, 0x83, 0xf8, 0x01, //0x00001177 cmpq $1, %rax + 0x0f, 0x8e, 0x26, 0x02, 0x00, 0x00, //0x0000117b jle LBB0_263 + 0x4c, 0x8d, 0x78, 0xff, //0x00001181 leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001185 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x0000118b movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x0000118e je LBB0_232 + 0xe9, 0x20, 0x02, 0x00, 0x00, //0x00001194 jmp LBB0_265 + //0x00001199 LBB0_234 + 0x48, 0x85, 0xd2, //0x00001199 testq %rdx, %rdx + 0x0f, 0x84, 0x3c, 0x01, 0x00, 0x00, //0x0000119c je LBB0_253 + //0x000011a2 LBB0_235 + 0x48, 0x89, 0xd6, //0x000011a2 movq %rdx, %rsi + 0x44, 0x89, 0xc9, //0x000011a5 movl %r9d, %ecx + 0x48, 0xd3, 0xee, //0x000011a8 shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x000011ab testq %rsi, %rsi + 0x0f, 0x85, 0xd8, 0xfe, 0xff, 0xff, //0x000011ae jne LBB0_222 + 0x48, 0x01, 0xd2, //0x000011b4 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x000011b7 leaq (%rdx,%rdx,4), %rdx + 0xff, 0xc7, //0x000011bb incl %edi + 0xe9, 0xe0, 0xff, 0xff, 0xff, //0x000011bd jmp LBB0_235 + //0x000011c2 LBB0_237 + 0x44, 0x89, 0xf8, //0x000011c2 movl %r15d, %eax + 0x44, 0x89, 0xff, //0x000011c5 movl %r15d, %edi + 0x45, 0x85, 0xc9, //0x000011c8 testl %r9d, %r9d + 0x0f, 0x84, 0x58, 0xfa, 0xff, 0xff, //0x000011cb je LBB0_157 + //0x000011d1 LBB0_238 + 0x44, 0x89, 0xc9, //0x000011d1 movl %r9d, %ecx + 0x48, 0x6b, 0xf1, 0x68, //0x000011d4 imulq $104, %rcx, %rsi + 0x48, 0x8d, 0x3d, 0xa1, 0x40, 0x00, 0x00, //0x000011d8 leaq $16545(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0x8b, 0x1c, 0x3e, //0x000011df movl (%rsi,%rdi), %ebx + 0x4c, 0x63, 0xc0, //0x000011e2 movslq %eax, %r8 + 0x8a, 0x54, 0x3e, 0x04, //0x000011e5 movb $4(%rsi,%rdi), %dl + 0x45, 0x85, 0xc0, //0x000011e9 testl %r8d, %r8d + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000011ec je LBB0_243 + 0x48, 0x8d, 0x74, 0x3e, 0x05, //0x000011f2 leaq $5(%rsi,%rdi), %rsi + 0x31, 0xff, //0x000011f7 xorl %edi, %edi + //0x000011f9 LBB0_240 + 0x84, 0xd2, //0x000011f9 testb %dl, %dl + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x000011fb je LBB0_245 + 0x41, 0x38, 0x14, 0x3c, //0x00001201 cmpb %dl, (%r12,%rdi) + 0x0f, 0x85, 0xb6, 0x01, 0x00, 0x00, //0x00001205 jne LBB0_266 + 0x0f, 0xb6, 0x14, 0x3e, //0x0000120b movzbl (%rsi,%rdi), %edx + 0x48, 0xff, 0xc7, //0x0000120f incq %rdi + 0x49, 0x39, 0xf8, //0x00001212 cmpq %rdi, %r8 + 0x0f, 0x85, 0xde, 0xff, 0xff, 0xff, //0x00001215 jne LBB0_240 + //0x0000121b LBB0_243 + 0x84, 0xd2, //0x0000121b testb %dl, %dl + 0x0f, 0x84, 0x02, 0x00, 0x00, 0x00, //0x0000121d je LBB0_245 + //0x00001223 LBB0_244 + 0xff, 0xcb, //0x00001223 decl %ebx + //0x00001225 LBB0_245 + 0x85, 0xc0, //0x00001225 testl %eax, %eax + 0x0f, 0x8e, 0xbb, 0x00, 0x00, 0x00, //0x00001227 jle LBB0_254 + 0x4c, 0x89, 0x5d, 0xc8, //0x0000122d movq %r11, $-56(%rbp) + 0x89, 0x5d, 0xb0, //0x00001231 movl %ebx, $-80(%rbp) + 0x01, 0xd8, //0x00001234 addl %ebx, %eax + 0x48, 0x98, //0x00001236 cltq + 0x48, 0x89, 0xc6, //0x00001238 movq %rax, %rsi + 0x48, 0xc1, 0xe6, 0x20, //0x0000123b shlq $32, %rsi + 0x48, 0xff, 0xc8, //0x0000123f decq %rax + 0x49, 0xff, 0xc0, //0x00001242 incq %r8 + 0x31, 0xff, //0x00001245 xorl %edi, %edi + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00001247 jmp LBB0_249 + //0x0000124c LBB0_247 + 0x48, 0x85, 0xc0, //0x0000124c testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x0000124f movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001254 cmovnel %eax, %r14d + //0x00001258 LBB0_248 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00001258 movabsq $-4294967296, %rax + 0x48, 0x01, 0xc6, //0x00001262 addq %rax, %rsi + 0x49, 0x8d, 0x43, 0xff, //0x00001265 leaq $-1(%r11), %rax + 0x49, 0xff, 0xc8, //0x00001269 decq %r8 + 0x49, 0x83, 0xf8, 0x01, //0x0000126c cmpq $1, %r8 + 0x0f, 0x8e, 0x4c, 0x00, 0x00, 0x00, //0x00001270 jle LBB0_251 + //0x00001276 LBB0_249 + 0x49, 0x89, 0xc3, //0x00001276 movq %rax, %r11 + 0x4b, 0x0f, 0xbe, 0x5c, 0x04, 0xfe, //0x00001279 movsbq $-2(%r12,%r8), %rbx + 0x48, 0x83, 0xc3, 0xd0, //0x0000127f addq $-48, %rbx + 0x48, 0xd3, 0xe3, //0x00001283 shlq %cl, %rbx + 0x48, 0x01, 0xfb, //0x00001286 addq %rdi, %rbx + 0x48, 0x89, 0xd8, //0x00001289 movq %rbx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x0000128c movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001296 mulq %rdx + 0x48, 0x89, 0xd7, //0x00001299 movq %rdx, %rdi + 0x48, 0xc1, 0xef, 0x03, //0x0000129c shrq $3, %rdi + 0x48, 0x8d, 0x04, 0x3f, //0x000012a0 leaq (%rdi,%rdi), %rax + 0x48, 0x8d, 0x14, 0x80, //0x000012a4 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x000012a8 movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x000012ab subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x000012ae cmpq %r13, %r11 + 0x0f, 0x83, 0x95, 0xff, 0xff, 0xff, //0x000012b1 jae LBB0_247 + 0x04, 0x30, //0x000012b7 addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x000012b9 movb %al, (%r12,%r11) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x000012bd jmp LBB0_248 + //0x000012c2 LBB0_251 + 0x48, 0x83, 0xfb, 0x0a, //0x000012c2 cmpq $10, %rbx + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000012c6 movl $1, %r8d + 0x0f, 0x83, 0x21, 0x00, 0x00, 0x00, //0x000012cc jae LBB0_255 + 0x4c, 0x8b, 0x5d, 0xc8, //0x000012d2 movq $-56(%rbp), %r11 + 0x8b, 0x5d, 0xb0, //0x000012d6 movl $-80(%rbp), %ebx + 0xe9, 0x7f, 0x00, 0x00, 0x00, //0x000012d9 jmp LBB0_259 + //0x000012de LBB0_253 + 0x45, 0x31, 0xff, //0x000012de xorl %r15d, %r15d + 0x31, 0xff, //0x000012e1 xorl %edi, %edi + 0xe9, 0x41, 0xf9, 0xff, 0xff, //0x000012e3 jmp LBB0_157 + //0x000012e8 LBB0_254 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000012e8 movl $1, %r8d + 0xe9, 0x6a, 0x00, 0x00, 0x00, //0x000012ee jmp LBB0_259 + //0x000012f3 LBB0_255 + 0x49, 0x63, 0xcb, //0x000012f3 movslq %r11d, %rcx + 0x48, 0xff, 0xc9, //0x000012f6 decq %rcx + 0x4c, 0x8b, 0x5d, 0xc8, //0x000012f9 movq $-56(%rbp), %r11 + 0x8b, 0x5d, 0xb0, //0x000012fd movl $-80(%rbp), %ebx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00001300 jmp LBB0_257 + //0x00001305 LBB0_256 + 0x48, 0x85, 0xc0, //0x00001305 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00001308 cmovnel %r8d, %r14d + 0x48, 0xff, 0xc9, //0x0000130c decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x0000130f cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x00001313 movq %rdx, %rdi + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x00001316 jbe LBB0_259 + //0x0000131c LBB0_257 + 0x48, 0x89, 0xf8, //0x0000131c movq %rdi, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x0000131f movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001329 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x0000132c shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00001330 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x34, 0x80, //0x00001334 leaq (%rax,%rax,4), %rsi + 0x48, 0x89, 0xf8, //0x00001338 movq %rdi, %rax + 0x48, 0x29, 0xf0, //0x0000133b subq %rsi, %rax + 0x4c, 0x39, 0xe9, //0x0000133e cmpq %r13, %rcx + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x00001341 jae LBB0_256 + 0x04, 0x30, //0x00001347 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x00001349 movb %al, (%r12,%rcx) + 0x48, 0xff, 0xc9, //0x0000134d decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x00001350 cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x00001354 movq %rdx, %rdi + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00001357 ja LBB0_257 + //0x0000135d LBB0_259 + 0x41, 0x01, 0xdf, //0x0000135d addl %ebx, %r15d + 0x4d, 0x63, 0xff, //0x00001360 movslq %r15d, %r15 + 0x4d, 0x39, 0xfd, //0x00001363 cmpq %r15, %r13 + 0x45, 0x0f, 0x46, 0xfd, //0x00001366 cmovbel %r13d, %r15d + 0x41, 0x01, 0xdb, //0x0000136a addl %ebx, %r11d + 0x45, 0x85, 0xff, //0x0000136d testl %r15d, %r15d + 0x0f, 0x8e, 0x5b, 0x00, 0x00, 0x00, //0x00001370 jle LBB0_268 + 0x44, 0x89, 0xf8, //0x00001376 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001379 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x53, 0x00, 0x00, 0x00, //0x0000137f jne LBB0_269 + //0x00001385 LBB0_261 + 0x48, 0x83, 0xf8, 0x01, //0x00001385 cmpq $1, %rax + 0x0f, 0x8e, 0x3d, 0x00, 0x00, 0x00, //0x00001389 jle LBB0_267 + 0x4c, 0x8d, 0x78, 0xff, //0x0000138f leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001393 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00001399 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x0000139c je LBB0_261 + 0xe9, 0x31, 0x00, 0x00, 0x00, //0x000013a2 jmp LBB0_269 + //0x000013a7 LBB0_263 + 0xff, 0xc8, //0x000013a7 decl %eax + 0x41, 0x89, 0xc7, //0x000013a9 movl %eax, %r15d + //0x000013ac LBB0_264 + 0x48, 0x8b, 0x45, 0xc0, //0x000013ac movq $-64(%rbp), %rax + 0x45, 0x85, 0xff, //0x000013b0 testl %r15d, %r15d + 0x0f, 0x84, 0x04, 0x0c, 0x00, 0x00, //0x000013b3 je LBB0_445 + //0x000013b9 LBB0_265 + 0x44, 0x89, 0xff, //0x000013b9 movl %r15d, %edi + 0xe9, 0x68, 0xf8, 0xff, 0xff, //0x000013bc jmp LBB0_157 + //0x000013c1 LBB0_266 + 0x0f, 0x8c, 0x5c, 0xfe, 0xff, 0xff, //0x000013c1 jl LBB0_244 + 0xe9, 0x59, 0xfe, 0xff, 0xff, //0x000013c7 jmp LBB0_245 + //0x000013cc LBB0_267 + 0xff, 0xc8, //0x000013cc decl %eax + 0x41, 0x89, 0xc7, //0x000013ce movl %eax, %r15d + //0x000013d1 LBB0_268 + 0x45, 0x85, 0xff, //0x000013d1 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x000013d4 cmovel %r15d, %r11d + //0x000013d8 LBB0_269 + 0x44, 0x89, 0xf8, //0x000013d8 movl %r15d, %eax + 0x44, 0x89, 0xff, //0x000013db movl %r15d, %edi + 0x45, 0x85, 0xc9, //0x000013de testl %r9d, %r9d + 0x0f, 0x89, 0x42, 0xf8, 0xff, 0xff, //0x000013e1 jns LBB0_157 + 0xe9, 0x8e, 0xf8, 0xff, 0xff, //0x000013e7 jmp LBB0_163 + //0x000013ec LBB0_270 + 0x44, 0x89, 0xff, //0x000013ec movl %r15d, %edi + //0x000013ef LBB0_271 + 0x4c, 0x8d, 0x05, 0x8a, 0x3e, 0x00, 0x00, //0x000013ef leaq $16010(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x000013f6 jmp LBB0_274 + //0x000013fb LBB0_272 + 0x89, 0xf8, //0x000013fb movl %edi, %eax + //0x000013fd LBB0_273 + 0x48, 0x8b, 0x75, 0xc0, //0x000013fd movq $-64(%rbp), %rsi + 0x2b, 0x75, 0xb0, //0x00001401 subl $-80(%rbp), %esi + 0x89, 0xc7, //0x00001404 movl %eax, %edi + //0x00001406 LBB0_274 + 0x45, 0x85, 0xdb, //0x00001406 testl %r11d, %r11d + 0x0f, 0x88, 0x16, 0x00, 0x00, 0x00, //0x00001409 js LBB0_277 + 0x0f, 0x85, 0xcd, 0x07, 0x00, 0x00, //0x0000140f jne LBB0_389 + 0x41, 0x80, 0x3c, 0x24, 0x35, //0x00001415 cmpb $53, (%r12) + 0x0f, 0x8c, 0x14, 0x00, 0x00, 0x00, //0x0000141a jl LBB0_278 + 0xe9, 0xbd, 0x07, 0x00, 0x00, //0x00001420 jmp LBB0_389 + //0x00001425 LBB0_277 + 0xb8, 0x1b, 0x00, 0x00, 0x00, //0x00001425 movl $27, %eax + 0x41, 0x83, 0xfb, 0xf8, //0x0000142a cmpl $-8, %r11d + 0x0f, 0x8c, 0x11, 0x00, 0x00, 0x00, //0x0000142e jl LBB0_279 + //0x00001434 LBB0_278 + 0x44, 0x89, 0xd8, //0x00001434 movl %r11d, %eax + 0xf7, 0xd8, //0x00001437 negl %eax + 0x48, 0x98, //0x00001439 cltq + 0x48, 0x8d, 0x0d, 0x0e, 0x3e, 0x00, 0x00, //0x0000143b leaq $15886(%rip), %rcx /* _POW_TAB+0(%rip) */ + 0x8b, 0x04, 0x81, //0x00001442 movl (%rcx,%rax,4), %eax + //0x00001445 LBB0_279 + 0x85, 0xff, //0x00001445 testl %edi, %edi + 0x48, 0x89, 0x75, 0xc0, //0x00001447 movq %rsi, $-64(%rbp) + 0x89, 0x45, 0xb0, //0x0000144b movl %eax, $-80(%rbp) + 0x0f, 0x84, 0xa7, 0xff, 0xff, 0xff, //0x0000144e je LBB0_272 + 0x85, 0xc0, //0x00001454 testl %eax, %eax + 0x0f, 0x84, 0x9f, 0xff, 0xff, 0xff, //0x00001456 je LBB0_272 + 0x0f, 0x8e, 0x3b, 0x02, 0x00, 0x00, //0x0000145c jle LBB0_311 + 0x41, 0x89, 0xc1, //0x00001462 movl %eax, %r9d + 0x83, 0xf8, 0x3d, //0x00001465 cmpl $61, %eax + 0x0f, 0x8d, 0x21, 0x00, 0x00, 0x00, //0x00001468 jge LBB0_286 + 0xe9, 0x41, 0x02, 0x00, 0x00, //0x0000146e jmp LBB0_313 + //0x00001473 LBB0_283 + 0xff, 0xc8, //0x00001473 decl %eax + 0x41, 0x89, 0xc7, //0x00001475 movl %eax, %r15d + //0x00001478 LBB0_284 + 0x45, 0x85, 0xff, //0x00001478 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x0000147b cmovel %r15d, %r11d + //0x0000147f LBB0_285 + 0x44, 0x8d, 0x4b, 0xc4, //0x0000147f leal $-60(%rbx), %r9d + 0x44, 0x89, 0xff, //0x00001483 movl %r15d, %edi + 0x83, 0xfb, 0x78, //0x00001486 cmpl $120, %ebx + 0x0f, 0x8e, 0x16, 0x02, 0x00, 0x00, //0x00001489 jle LBB0_312 + //0x0000148f LBB0_286 + 0x44, 0x89, 0xcb, //0x0000148f movl %r9d, %ebx + 0x48, 0x63, 0xf7, //0x00001492 movslq %edi, %rsi + 0x85, 0xf6, //0x00001495 testl %esi, %esi + 0x0f, 0x84, 0x4a, 0x00, 0x00, 0x00, //0x00001497 je LBB0_292 + 0xb1, 0x38, //0x0000149d movb $56, %cl + 0x31, 0xc0, //0x0000149f xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000014a1 .p2align 4, 0x90 + //0x000014b0 LBB0_288 + 0x41, 0xb9, 0x13, 0x00, 0x00, 0x00, //0x000014b0 movl $19, %r9d + 0x48, 0x83, 0xf8, 0x2a, //0x000014b6 cmpq $42, %rax + 0x0f, 0x84, 0x2d, 0x00, 0x00, 0x00, //0x000014ba je LBB0_293 + 0x41, 0x38, 0x0c, 0x04, //0x000014c0 cmpb %cl, (%r12,%rax) + 0x0f, 0x85, 0xc8, 0x01, 0x00, 0x00, //0x000014c4 jne LBB0_309 + 0x42, 0x0f, 0xb6, 0x8c, 0x00, 0x65, 0x18, 0x00, 0x00, //0x000014ca movzbl $6245(%rax,%r8), %ecx + 0x48, 0xff, 0xc0, //0x000014d3 incq %rax + 0x48, 0x39, 0xc6, //0x000014d6 cmpq %rax, %rsi + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x000014d9 jne LBB0_288 + 0x84, 0xc9, //0x000014df testb %cl, %cl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x000014e1 je LBB0_293 + //0x000014e7 LBB0_292 + 0x41, 0xb9, 0x12, 0x00, 0x00, 0x00, //0x000014e7 movl $18, %r9d + //0x000014ed LBB0_293 + 0x85, 0xff, //0x000014ed testl %edi, %edi + 0x0f, 0x8e, 0x4b, 0x01, 0x00, 0x00, //0x000014ef jle LBB0_305 + 0x48, 0x89, 0x5d, 0xc8, //0x000014f5 movq %rbx, $-56(%rbp) + 0x4d, 0x89, 0xd8, //0x000014f9 movq %r11, %r8 + 0x44, 0x01, 0xcf, //0x000014fc addl %r9d, %edi + 0x48, 0x63, 0xc7, //0x000014ff movslq %edi, %rax + 0x48, 0x89, 0xc3, //0x00001502 movq %rax, %rbx + 0x48, 0xc1, 0xe3, 0x20, //0x00001505 shlq $32, %rbx + 0x48, 0xff, 0xc8, //0x00001509 decq %rax + 0x48, 0xff, 0xc6, //0x0000150c incq %rsi + 0x31, 0xc9, //0x0000150f xorl %ecx, %ecx + 0xe9, 0x34, 0x00, 0x00, 0x00, //0x00001511 jmp LBB0_297 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001516 .p2align 4, 0x90 + //0x00001520 LBB0_295 + 0x48, 0x85, 0xc0, //0x00001520 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001523 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001528 cmovnel %eax, %r14d + //0x0000152c LBB0_296 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000152c movabsq $-4294967296, %rax + 0x48, 0x01, 0xc3, //0x00001536 addq %rax, %rbx + 0x49, 0x8d, 0x43, 0xff, //0x00001539 leaq $-1(%r11), %rax + 0x48, 0xff, 0xce, //0x0000153d decq %rsi + 0x48, 0x83, 0xfe, 0x01, //0x00001540 cmpq $1, %rsi + 0x0f, 0x8e, 0x56, 0x00, 0x00, 0x00, //0x00001544 jle LBB0_299 + //0x0000154a LBB0_297 + 0x49, 0x89, 0xc3, //0x0000154a movq %rax, %r11 + 0x41, 0x0f, 0xb6, 0x7c, 0x34, 0xfe, //0x0000154d movzbl $-2(%r12,%rsi), %edi + 0x48, 0xc1, 0xe7, 0x3c, //0x00001553 shlq $60, %rdi + 0x48, 0x01, 0xcf, //0x00001557 addq %rcx, %rdi + 0x48, 0x89, 0xf8, //0x0000155a movq %rdi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x0000155d movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00001567 mulq %rcx + 0x48, 0x89, 0xd1, //0x0000156a movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x0000156d shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00001571 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00001575 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf8, //0x00001579 movq %rdi, %rax + 0x48, 0x29, 0xd0, //0x0000157c subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x0000157f cmpq %r13, %r11 + 0x0f, 0x83, 0x98, 0xff, 0xff, 0xff, //0x00001582 jae LBB0_295 + 0x04, 0x30, //0x00001588 addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x0000158a movb %al, (%r12,%r11) + 0xe9, 0x99, 0xff, 0xff, 0xff, //0x0000158e jmp LBB0_296 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001593 .p2align 4, 0x90 + //0x000015a0 LBB0_299 + 0x48, 0x83, 0xff, 0x0a, //0x000015a0 cmpq $10, %rdi + 0x0f, 0x83, 0x13, 0x00, 0x00, 0x00, //0x000015a4 jae LBB0_301 + 0x4d, 0x89, 0xc3, //0x000015aa movq %r8, %r11 + 0x4c, 0x8d, 0x05, 0xcc, 0x3c, 0x00, 0x00, //0x000015ad leaq $15564(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0x48, 0x8b, 0x5d, 0xc8, //0x000015b4 movq $-56(%rbp), %rbx + 0xe9, 0x83, 0x00, 0x00, 0x00, //0x000015b8 jmp LBB0_305 + //0x000015bd LBB0_301 + 0x49, 0x63, 0xf3, //0x000015bd movslq %r11d, %rsi + 0x48, 0xff, 0xce, //0x000015c0 decq %rsi + 0x4d, 0x89, 0xc3, //0x000015c3 movq %r8, %r11 + 0x4c, 0x8d, 0x05, 0xb3, 0x3c, 0x00, 0x00, //0x000015c6 leaq $15539(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0x48, 0x8b, 0x5d, 0xc8, //0x000015cd movq $-56(%rbp), %rbx + 0xe9, 0x26, 0x00, 0x00, 0x00, //0x000015d1 jmp LBB0_303 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000015d6 .p2align 4, 0x90 + //0x000015e0 LBB0_302 + 0x48, 0x85, 0xc0, //0x000015e0 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000015e3 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000015e8 cmovnel %eax, %r14d + 0x48, 0xff, 0xce, //0x000015ec decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x000015ef cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x000015f3 movq %rdx, %rcx + 0x0f, 0x86, 0x44, 0x00, 0x00, 0x00, //0x000015f6 jbe LBB0_305 + //0x000015fc LBB0_303 + 0x48, 0x89, 0xc8, //0x000015fc movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000015ff movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001609 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x0000160c shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00001610 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00001614 leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xc8, //0x00001618 movq %rcx, %rax + 0x48, 0x29, 0xf8, //0x0000161b subq %rdi, %rax + 0x4c, 0x39, 0xee, //0x0000161e cmpq %r13, %rsi + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x00001621 jae LBB0_302 + 0x04, 0x30, //0x00001627 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00001629 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x0000162d decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00001630 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00001634 movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00001637 ja LBB0_303 + 0x90, 0x90, 0x90, //0x0000163d .p2align 4, 0x90 + //0x00001640 LBB0_305 + 0x45, 0x01, 0xcf, //0x00001640 addl %r9d, %r15d + 0x4d, 0x63, 0xff, //0x00001643 movslq %r15d, %r15 + 0x4d, 0x39, 0xfd, //0x00001646 cmpq %r15, %r13 + 0x45, 0x0f, 0x46, 0xfd, //0x00001649 cmovbel %r13d, %r15d + 0x45, 0x01, 0xcb, //0x0000164d addl %r9d, %r11d + 0x45, 0x85, 0xff, //0x00001650 testl %r15d, %r15d + 0x0f, 0x8e, 0x1f, 0xfe, 0xff, 0xff, //0x00001653 jle LBB0_284 + 0x44, 0x89, 0xf8, //0x00001659 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x0000165c cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x17, 0xfe, 0xff, 0xff, //0x00001662 jne LBB0_285 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001668 .p2align 4, 0x90 + //0x00001670 LBB0_307 + 0x48, 0x83, 0xf8, 0x01, //0x00001670 cmpq $1, %rax + 0x0f, 0x8e, 0xf9, 0xfd, 0xff, 0xff, //0x00001674 jle LBB0_283 + 0x4c, 0x8d, 0x78, 0xff, //0x0000167a leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x0000167e cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00001684 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001687 je LBB0_307 + 0xe9, 0xed, 0xfd, 0xff, 0xff, //0x0000168d jmp LBB0_285 + //0x00001692 LBB0_309 + 0x0f, 0x8c, 0x4f, 0xfe, 0xff, 0xff, //0x00001692 jl LBB0_292 + 0xe9, 0x50, 0xfe, 0xff, 0xff, //0x00001698 jmp LBB0_293 + //0x0000169d LBB0_311 + 0x41, 0x89, 0xc1, //0x0000169d movl %eax, %r9d + 0xe9, 0x09, 0x02, 0x00, 0x00, //0x000016a0 jmp LBB0_341 + //0x000016a5 LBB0_312 + 0x44, 0x89, 0xff, //0x000016a5 movl %r15d, %edi + 0x44, 0x89, 0xf8, //0x000016a8 movl %r15d, %eax + 0x45, 0x85, 0xc9, //0x000016ab testl %r9d, %r9d + 0x0f, 0x84, 0x49, 0xfd, 0xff, 0xff, //0x000016ae je LBB0_273 + //0x000016b4 LBB0_313 + 0x44, 0x89, 0xc9, //0x000016b4 movl %r9d, %ecx + 0x48, 0x6b, 0xd1, 0x68, //0x000016b7 imulq $104, %rcx, %rdx + 0x42, 0x8b, 0x1c, 0x02, //0x000016bb movl (%rdx,%r8), %ebx + 0x4c, 0x89, 0xc6, //0x000016bf movq %r8, %rsi + 0x4c, 0x63, 0xc7, //0x000016c2 movslq %edi, %r8 + 0x8a, 0x44, 0x32, 0x04, //0x000016c5 movb $4(%rdx,%rsi), %al + 0x45, 0x85, 0xc0, //0x000016c9 testl %r8d, %r8d + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000016cc je LBB0_318 + 0x48, 0x8d, 0x54, 0x32, 0x05, //0x000016d2 leaq $5(%rdx,%rsi), %rdx + 0x31, 0xf6, //0x000016d7 xorl %esi, %esi + //0x000016d9 LBB0_315 + 0x84, 0xc0, //0x000016d9 testb %al, %al + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x000016db je LBB0_320 + 0x41, 0x38, 0x04, 0x34, //0x000016e1 cmpb %al, (%r12,%rsi) + 0x0f, 0x85, 0x9d, 0x01, 0x00, 0x00, //0x000016e5 jne LBB0_337 + 0x0f, 0xb6, 0x04, 0x32, //0x000016eb movzbl (%rdx,%rsi), %eax + 0x48, 0xff, 0xc6, //0x000016ef incq %rsi + 0x49, 0x39, 0xf0, //0x000016f2 cmpq %rsi, %r8 + 0x0f, 0x85, 0xde, 0xff, 0xff, 0xff, //0x000016f5 jne LBB0_315 + //0x000016fb LBB0_318 + 0x84, 0xc0, //0x000016fb testb %al, %al + 0x0f, 0x84, 0x02, 0x00, 0x00, 0x00, //0x000016fd je LBB0_320 + //0x00001703 LBB0_319 + 0xff, 0xcb, //0x00001703 decl %ebx + //0x00001705 LBB0_320 + 0x85, 0xff, //0x00001705 testl %edi, %edi + 0x0f, 0x8e, 0xb6, 0x00, 0x00, 0x00, //0x00001707 jle LBB0_328 + 0x4c, 0x89, 0x5d, 0xc8, //0x0000170d movq %r11, $-56(%rbp) + 0x89, 0x5d, 0xbc, //0x00001711 movl %ebx, $-68(%rbp) + 0x01, 0xdf, //0x00001714 addl %ebx, %edi + 0x48, 0x63, 0xc7, //0x00001716 movslq %edi, %rax + 0x48, 0x89, 0xc6, //0x00001719 movq %rax, %rsi + 0x48, 0xc1, 0xe6, 0x20, //0x0000171c shlq $32, %rsi + 0x48, 0xff, 0xc8, //0x00001720 decq %rax + 0x49, 0xff, 0xc0, //0x00001723 incq %r8 + 0x31, 0xff, //0x00001726 xorl %edi, %edi + 0xe9, 0x2d, 0x00, 0x00, 0x00, //0x00001728 jmp LBB0_324 + 0x90, 0x90, 0x90, //0x0000172d .p2align 4, 0x90 + //0x00001730 LBB0_322 + 0x48, 0x85, 0xc0, //0x00001730 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001733 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001738 cmovnel %eax, %r14d + //0x0000173c LBB0_323 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000173c movabsq $-4294967296, %rax + 0x48, 0x01, 0xc6, //0x00001746 addq %rax, %rsi + 0x49, 0x8d, 0x43, 0xff, //0x00001749 leaq $-1(%r11), %rax + 0x49, 0xff, 0xc8, //0x0000174d decq %r8 + 0x49, 0x83, 0xf8, 0x01, //0x00001750 cmpq $1, %r8 + 0x0f, 0x8e, 0x4c, 0x00, 0x00, 0x00, //0x00001754 jle LBB0_326 + //0x0000175a LBB0_324 + 0x49, 0x89, 0xc3, //0x0000175a movq %rax, %r11 + 0x4b, 0x0f, 0xbe, 0x5c, 0x04, 0xfe, //0x0000175d movsbq $-2(%r12,%r8), %rbx + 0x48, 0x83, 0xc3, 0xd0, //0x00001763 addq $-48, %rbx + 0x48, 0xd3, 0xe3, //0x00001767 shlq %cl, %rbx + 0x48, 0x01, 0xfb, //0x0000176a addq %rdi, %rbx + 0x48, 0x89, 0xd8, //0x0000176d movq %rbx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001770 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x0000177a mulq %rdx + 0x48, 0x89, 0xd7, //0x0000177d movq %rdx, %rdi + 0x48, 0xc1, 0xef, 0x03, //0x00001780 shrq $3, %rdi + 0x48, 0x8d, 0x04, 0x3f, //0x00001784 leaq (%rdi,%rdi), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00001788 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x0000178c movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x0000178f subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x00001792 cmpq %r13, %r11 + 0x0f, 0x83, 0x95, 0xff, 0xff, 0xff, //0x00001795 jae LBB0_322 + 0x04, 0x30, //0x0000179b addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x0000179d movb %al, (%r12,%r11) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x000017a1 jmp LBB0_323 + //0x000017a6 LBB0_326 + 0x48, 0x83, 0xfb, 0x0a, //0x000017a6 cmpq $10, %rbx + 0x4c, 0x8d, 0x05, 0xcf, 0x3a, 0x00, 0x00, //0x000017aa leaq $15055(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0x83, 0x18, 0x00, 0x00, 0x00, //0x000017b1 jae LBB0_329 + 0x4c, 0x8b, 0x5d, 0xc8, //0x000017b7 movq $-56(%rbp), %r11 + 0x8b, 0x5d, 0xbc, //0x000017bb movl $-68(%rbp), %ebx + 0xe9, 0x7b, 0x00, 0x00, 0x00, //0x000017be jmp LBB0_333 + //0x000017c3 LBB0_328 + 0x4c, 0x8d, 0x05, 0xb6, 0x3a, 0x00, 0x00, //0x000017c3 leaq $15030(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x6f, 0x00, 0x00, 0x00, //0x000017ca jmp LBB0_333 + //0x000017cf LBB0_329 + 0x49, 0x63, 0xcb, //0x000017cf movslq %r11d, %rcx + 0x48, 0xff, 0xc9, //0x000017d2 decq %rcx + 0x4c, 0x8b, 0x5d, 0xc8, //0x000017d5 movq $-56(%rbp), %r11 + 0x8b, 0x5d, 0xbc, //0x000017d9 movl $-68(%rbp), %ebx + 0xe9, 0x1c, 0x00, 0x00, 0x00, //0x000017dc jmp LBB0_331 + //0x000017e1 LBB0_330 + 0x48, 0x85, 0xc0, //0x000017e1 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000017e4 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000017e9 cmovnel %eax, %r14d + 0x48, 0xff, 0xc9, //0x000017ed decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x000017f0 cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x000017f4 movq %rdx, %rdi + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x000017f7 jbe LBB0_333 + //0x000017fd LBB0_331 + 0x48, 0x89, 0xf8, //0x000017fd movq %rdi, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001800 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x0000180a mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x0000180d shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00001811 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x34, 0x80, //0x00001815 leaq (%rax,%rax,4), %rsi + 0x48, 0x89, 0xf8, //0x00001819 movq %rdi, %rax + 0x48, 0x29, 0xf0, //0x0000181c subq %rsi, %rax + 0x4c, 0x39, 0xe9, //0x0000181f cmpq %r13, %rcx + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x00001822 jae LBB0_330 + 0x04, 0x30, //0x00001828 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x0000182a movb %al, (%r12,%rcx) + 0x48, 0xff, 0xc9, //0x0000182e decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x00001831 cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x00001835 movq %rdx, %rdi + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00001838 ja LBB0_331 + //0x0000183e LBB0_333 + 0x41, 0x01, 0xdf, //0x0000183e addl %ebx, %r15d + 0x4d, 0x63, 0xff, //0x00001841 movslq %r15d, %r15 + 0x4d, 0x39, 0xfd, //0x00001844 cmpq %r15, %r13 + 0x45, 0x0f, 0x46, 0xfd, //0x00001847 cmovbel %r13d, %r15d + 0x41, 0x01, 0xdb, //0x0000184b addl %ebx, %r11d + 0x45, 0x85, 0xff, //0x0000184e testl %r15d, %r15d + 0x0f, 0x8e, 0x41, 0x00, 0x00, 0x00, //0x00001851 jle LBB0_339 + 0x44, 0x89, 0xf8, //0x00001857 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x0000185a cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x39, 0x00, 0x00, 0x00, //0x00001860 jne LBB0_340 + //0x00001866 LBB0_335 + 0x48, 0x83, 0xf8, 0x01, //0x00001866 cmpq $1, %rax + 0x0f, 0x8e, 0x23, 0x00, 0x00, 0x00, //0x0000186a jle LBB0_338 + 0x4c, 0x8d, 0x78, 0xff, //0x00001870 leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001874 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x0000187a movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x0000187d je LBB0_335 + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00001883 jmp LBB0_340 + //0x00001888 LBB0_337 + 0x0f, 0x8c, 0x75, 0xfe, 0xff, 0xff, //0x00001888 jl LBB0_319 + 0xe9, 0x72, 0xfe, 0xff, 0xff, //0x0000188e jmp LBB0_320 + //0x00001893 LBB0_338 + 0xff, 0xc8, //0x00001893 decl %eax + 0x41, 0x89, 0xc7, //0x00001895 movl %eax, %r15d + //0x00001898 LBB0_339 + 0x45, 0x85, 0xff, //0x00001898 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x0000189b cmovel %r15d, %r11d + //0x0000189f LBB0_340 + 0x44, 0x89, 0xff, //0x0000189f movl %r15d, %edi + 0x44, 0x89, 0xf8, //0x000018a2 movl %r15d, %eax + 0x45, 0x85, 0xc9, //0x000018a5 testl %r9d, %r9d + 0x0f, 0x89, 0x4f, 0xfb, 0xff, 0xff, //0x000018a8 jns LBB0_273 + //0x000018ae LBB0_341 + 0x41, 0x83, 0xf9, 0xc3, //0x000018ae cmpl $-61, %r9d + 0x0f, 0x8e, 0x21, 0x00, 0x00, 0x00, //0x000018b2 jle LBB0_345 + 0xe9, 0x9c, 0x01, 0x00, 0x00, //0x000018b8 jmp LBB0_365 + //0x000018bd LBB0_342 + 0xff, 0xc9, //0x000018bd decl %ecx + 0x41, 0x89, 0xcf, //0x000018bf movl %ecx, %r15d + //0x000018c2 LBB0_343 + 0x45, 0x85, 0xff, //0x000018c2 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x000018c5 cmovel %r15d, %r11d + //0x000018c9 LBB0_344 + 0x44, 0x8d, 0x48, 0x3c, //0x000018c9 leal $60(%rax), %r9d + 0x44, 0x89, 0xff, //0x000018cd movl %r15d, %edi + 0x83, 0xf8, 0x88, //0x000018d0 cmpl $-120, %eax + 0x0f, 0x8d, 0x71, 0x01, 0x00, 0x00, //0x000018d3 jge LBB0_364 + //0x000018d9 LBB0_345 + 0x44, 0x89, 0xc8, //0x000018d9 movl %r9d, %eax + 0x48, 0x63, 0xf7, //0x000018dc movslq %edi, %rsi + 0x31, 0xd2, //0x000018df xorl %edx, %edx + 0x31, 0xc9, //0x000018e1 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000018e3 .p2align 4, 0x90 + //0x000018f0 LBB0_346 + 0x48, 0x39, 0xf2, //0x000018f0 cmpq %rsi, %rdx + 0x0f, 0x8d, 0x27, 0x00, 0x00, 0x00, //0x000018f3 jge LBB0_348 + 0x48, 0x8d, 0x0c, 0x89, //0x000018f9 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x1c, 0x14, //0x000018fd movsbq (%r12,%rdx), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x00001902 leaq $-48(%rbx,%rcx,2), %rcx + 0x48, 0xff, 0xc2, //0x00001907 incq %rdx + 0x49, 0x8d, 0x5a, 0x01, //0x0000190a leaq $1(%r10), %rbx + 0x48, 0x39, 0xd9, //0x0000190e cmpq %rbx, %rcx + 0x0f, 0x82, 0xd9, 0xff, 0xff, 0xff, //0x00001911 jb LBB0_346 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00001917 jmp LBB0_350 + 0x90, 0x90, 0x90, 0x90, //0x0000191c .p2align 4, 0x90 + //0x00001920 LBB0_348 + 0x48, 0x85, 0xc9, //0x00001920 testq %rcx, %rcx + 0x0f, 0x84, 0x19, 0x01, 0x00, 0x00, //0x00001923 je LBB0_363 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001929 .p2align 4, 0x90 + //0x00001930 LBB0_349 + 0x48, 0x01, 0xc9, //0x00001930 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00001933 leaq (%rcx,%rcx,4), %rcx + 0xff, 0xc2, //0x00001937 incl %edx + 0x49, 0x8d, 0x72, 0x01, //0x00001939 leaq $1(%r10), %rsi + 0x48, 0x39, 0xf1, //0x0000193d cmpq %rsi, %rcx + 0x0f, 0x82, 0xea, 0xff, 0xff, 0xff, //0x00001940 jb LBB0_349 + //0x00001946 LBB0_350 + 0x41, 0x29, 0xd3, //0x00001946 subl %edx, %r11d + 0x31, 0xf6, //0x00001949 xorl %esi, %esi + 0x39, 0xfa, //0x0000194b cmpl %edi, %edx + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x0000194d jge LBB0_355 + 0x48, 0x63, 0xd2, //0x00001953 movslq %edx, %rdx + 0x49, 0x63, 0xf7, //0x00001956 movslq %r15d, %rsi + 0x49, 0x8d, 0x3c, 0x14, //0x00001959 leaq (%r12,%rdx), %rdi + 0x45, 0x31, 0xff, //0x0000195d xorl %r15d, %r15d + //0x00001960 .p2align 4, 0x90 + //0x00001960 LBB0_352 + 0x48, 0x89, 0xcb, //0x00001960 movq %rcx, %rbx + 0x48, 0xc1, 0xeb, 0x3c, //0x00001963 shrq $60, %rbx + 0x4c, 0x21, 0xd1, //0x00001967 andq %r10, %rcx + 0x80, 0xcb, 0x30, //0x0000196a orb $48, %bl + 0x43, 0x88, 0x1c, 0x3c, //0x0000196d movb %bl, (%r12,%r15) + 0x48, 0x8d, 0x0c, 0x89, //0x00001971 leaq (%rcx,%rcx,4), %rcx + 0x4a, 0x0f, 0xbe, 0x1c, 0x3f, //0x00001975 movsbq (%rdi,%r15), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x0000197a leaq $-48(%rbx,%rcx,2), %rcx + 0x4a, 0x8d, 0x5c, 0x3a, 0x01, //0x0000197f leaq $1(%rdx,%r15), %rbx + 0x49, 0xff, 0xc7, //0x00001984 incq %r15 + 0x48, 0x39, 0xf3, //0x00001987 cmpq %rsi, %rbx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x0000198a jl LBB0_352 + 0x48, 0x85, 0xc9, //0x00001990 testq %rcx, %rcx + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x00001993 je LBB0_359 + 0x44, 0x89, 0xfe, //0x00001999 movl %r15d, %esi + //0x0000199c LBB0_355 + 0x41, 0x89, 0xf7, //0x0000199c movl %esi, %r15d + 0xe9, 0x28, 0x00, 0x00, 0x00, //0x0000199f jmp LBB0_357 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000019a4 .p2align 4, 0x90 + //0x000019b0 LBB0_356 + 0x48, 0x85, 0xd2, //0x000019b0 testq %rdx, %rdx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x000019b3 movl $1, %edx + 0x44, 0x0f, 0x45, 0xf2, //0x000019b8 cmovnel %edx, %r14d + 0x48, 0x01, 0xc9, //0x000019bc addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x000019bf leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x000019c3 testq %rcx, %rcx + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x000019c6 je LBB0_359 + //0x000019cc LBB0_357 + 0x48, 0x89, 0xca, //0x000019cc movq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x3c, //0x000019cf shrq $60, %rdx + 0x4c, 0x21, 0xd1, //0x000019d3 andq %r10, %rcx + 0x49, 0x63, 0xf7, //0x000019d6 movslq %r15d, %rsi + 0x49, 0x39, 0xf5, //0x000019d9 cmpq %rsi, %r13 + 0x0f, 0x86, 0xce, 0xff, 0xff, 0xff, //0x000019dc jbe LBB0_356 + 0x80, 0xca, 0x30, //0x000019e2 orb $48, %dl + 0x41, 0x88, 0x14, 0x34, //0x000019e5 movb %dl, (%r12,%rsi) + 0xff, 0xc6, //0x000019e9 incl %esi + 0x41, 0x89, 0xf7, //0x000019eb movl %esi, %r15d + 0x48, 0x01, 0xc9, //0x000019ee addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x000019f1 leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x000019f5 testq %rcx, %rcx + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x000019f8 jne LBB0_357 + //0x000019fe LBB0_359 + 0x41, 0xff, 0xc3, //0x000019fe incl %r11d + 0x45, 0x85, 0xff, //0x00001a01 testl %r15d, %r15d + 0x0f, 0x8e, 0xb8, 0xfe, 0xff, 0xff, //0x00001a04 jle LBB0_343 + 0x44, 0x89, 0xf9, //0x00001a0a movl %r15d, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x00001a0d cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0xb0, 0xfe, 0xff, 0xff, //0x00001a13 jne LBB0_344 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001a19 .p2align 4, 0x90 + //0x00001a20 LBB0_361 + 0x48, 0x83, 0xf9, 0x01, //0x00001a20 cmpq $1, %rcx + 0x0f, 0x8e, 0x93, 0xfe, 0xff, 0xff, //0x00001a24 jle LBB0_342 + 0x4c, 0x8d, 0x79, 0xff, //0x00001a2a leaq $-1(%rcx), %r15 + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x00001a2e cmpb $48, $-2(%r12,%rcx) + 0x4c, 0x89, 0xf9, //0x00001a34 movq %r15, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001a37 je LBB0_361 + 0xe9, 0x87, 0xfe, 0xff, 0xff, //0x00001a3d jmp LBB0_344 + //0x00001a42 LBB0_363 + 0x45, 0x31, 0xff, //0x00001a42 xorl %r15d, %r15d + 0xe9, 0x7f, 0xfe, 0xff, 0xff, //0x00001a45 jmp LBB0_344 + //0x00001a4a LBB0_364 + 0x44, 0x89, 0xff, //0x00001a4a movl %r15d, %edi + 0x44, 0x89, 0xf8, //0x00001a4d movl %r15d, %eax + 0x45, 0x85, 0xc9, //0x00001a50 testl %r9d, %r9d + 0x0f, 0x84, 0xa4, 0xf9, 0xff, 0xff, //0x00001a53 je LBB0_273 + //0x00001a59 LBB0_365 + 0x41, 0xf7, 0xd9, //0x00001a59 negl %r9d + 0x48, 0x63, 0xf7, //0x00001a5c movslq %edi, %rsi + 0x31, 0xd2, //0x00001a5f xorl %edx, %edx + 0x31, 0xc0, //0x00001a61 xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001a63 .p2align 4, 0x90 + //0x00001a70 LBB0_366 + 0x48, 0x39, 0xf2, //0x00001a70 cmpq %rsi, %rdx + 0x0f, 0x8d, 0x22, 0x01, 0x00, 0x00, //0x00001a73 jge LBB0_382 + 0x48, 0x8d, 0x04, 0x80, //0x00001a79 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x14, //0x00001a7d movsbq (%r12,%rdx), %rcx + 0x48, 0x8d, 0x44, 0x41, 0xd0, //0x00001a82 leaq $-48(%rcx,%rax,2), %rax + 0x48, 0xff, 0xc2, //0x00001a87 incq %rdx + 0x48, 0x89, 0xc3, //0x00001a8a movq %rax, %rbx + 0x44, 0x89, 0xc9, //0x00001a8d movl %r9d, %ecx + 0x48, 0xd3, 0xeb, //0x00001a90 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00001a93 testq %rbx, %rbx + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x00001a96 je LBB0_366 + //0x00001a9c LBB0_368 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001a9c movq $-1, %rsi + 0x44, 0x89, 0xc9, //0x00001aa3 movl %r9d, %ecx + 0x48, 0xd3, 0xe6, //0x00001aa6 shlq %cl, %rsi + 0x48, 0xf7, 0xd6, //0x00001aa9 notq %rsi + 0x31, 0xdb, //0x00001aac xorl %ebx, %ebx + 0x39, 0xfa, //0x00001aae cmpl %edi, %edx + 0x0f, 0x8d, 0x58, 0x00, 0x00, 0x00, //0x00001ab0 jge LBB0_372 + 0x4c, 0x89, 0x5d, 0xc8, //0x00001ab6 movq %r11, $-56(%rbp) + 0x4c, 0x63, 0xda, //0x00001aba movslq %edx, %r11 + 0x4d, 0x63, 0xc7, //0x00001abd movslq %r15d, %r8 + 0x4f, 0x8d, 0x3c, 0x1c, //0x00001ac0 leaq (%r12,%r11), %r15 + 0x31, 0xdb, //0x00001ac4 xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001ac6 .p2align 4, 0x90 + //0x00001ad0 LBB0_370 + 0x48, 0x89, 0xc7, //0x00001ad0 movq %rax, %rdi + 0x44, 0x89, 0xc9, //0x00001ad3 movl %r9d, %ecx + 0x48, 0xd3, 0xef, //0x00001ad6 shrq %cl, %rdi + 0x48, 0x21, 0xf0, //0x00001ad9 andq %rsi, %rax + 0x40, 0x80, 0xc7, 0x30, //0x00001adc addb $48, %dil + 0x41, 0x88, 0x3c, 0x1c, //0x00001ae0 movb %dil, (%r12,%rbx) + 0x48, 0x8d, 0x04, 0x80, //0x00001ae4 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x1f, //0x00001ae8 movsbq (%r15,%rbx), %rcx + 0x48, 0x8d, 0x44, 0x41, 0xd0, //0x00001aed leaq $-48(%rcx,%rax,2), %rax + 0x49, 0x8d, 0x4c, 0x1b, 0x01, //0x00001af2 leaq $1(%r11,%rbx), %rcx + 0x48, 0xff, 0xc3, //0x00001af7 incq %rbx + 0x4c, 0x39, 0xc1, //0x00001afa cmpq %r8, %rcx + 0x0f, 0x8c, 0xcd, 0xff, 0xff, 0xff, //0x00001afd jl LBB0_370 + 0x4c, 0x8b, 0x5d, 0xc8, //0x00001b03 movq $-56(%rbp), %r11 + 0x4c, 0x8d, 0x05, 0x72, 0x37, 0x00, 0x00, //0x00001b07 leaq $14194(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + //0x00001b0e LBB0_372 + 0x41, 0x29, 0xd3, //0x00001b0e subl %edx, %r11d + 0x41, 0x89, 0xdf, //0x00001b11 movl %ebx, %r15d + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00001b14 jmp LBB0_375 + //0x00001b19 LBB0_373 + 0x48, 0x85, 0xd2, //0x00001b19 testq %rdx, %rdx + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00001b1c movl $1, %ecx + 0x44, 0x0f, 0x45, 0xf1, //0x00001b21 cmovnel %ecx, %r14d + //0x00001b25 LBB0_374 + 0x48, 0x01, 0xc0, //0x00001b25 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001b28 leaq (%rax,%rax,4), %rax + //0x00001b2c LBB0_375 + 0x48, 0x85, 0xc0, //0x00001b2c testq %rax, %rax + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00001b2f je LBB0_378 + 0x48, 0x89, 0xc2, //0x00001b35 movq %rax, %rdx + 0x44, 0x89, 0xc9, //0x00001b38 movl %r9d, %ecx + 0x48, 0xd3, 0xea, //0x00001b3b shrq %cl, %rdx + 0x48, 0x21, 0xf0, //0x00001b3e andq %rsi, %rax + 0x49, 0x63, 0xcf, //0x00001b41 movslq %r15d, %rcx + 0x49, 0x39, 0xcd, //0x00001b44 cmpq %rcx, %r13 + 0x0f, 0x86, 0xcc, 0xff, 0xff, 0xff, //0x00001b47 jbe LBB0_373 + 0x80, 0xc2, 0x30, //0x00001b4d addb $48, %dl + 0x41, 0x88, 0x14, 0x0c, //0x00001b50 movb %dl, (%r12,%rcx) + 0xff, 0xc1, //0x00001b54 incl %ecx + 0x41, 0x89, 0xcf, //0x00001b56 movl %ecx, %r15d + 0xe9, 0xc7, 0xff, 0xff, 0xff, //0x00001b59 jmp LBB0_374 + //0x00001b5e LBB0_378 + 0x41, 0xff, 0xc3, //0x00001b5e incl %r11d + 0x45, 0x85, 0xff, //0x00001b61 testl %r15d, %r15d + 0x0f, 0x8e, 0x69, 0x00, 0x00, 0x00, //0x00001b64 jle LBB0_387 + 0x44, 0x89, 0xf8, //0x00001b6a movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001b6d cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x61, 0x00, 0x00, 0x00, //0x00001b73 jne LBB0_388 + //0x00001b79 LBB0_380 + 0x48, 0x83, 0xf8, 0x01, //0x00001b79 cmpq $1, %rax + 0x0f, 0x8e, 0x4b, 0x00, 0x00, 0x00, //0x00001b7d jle LBB0_386 + 0x4c, 0x8d, 0x78, 0xff, //0x00001b83 leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001b87 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00001b8d movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001b90 je LBB0_380 + 0xe9, 0x3f, 0x00, 0x00, 0x00, //0x00001b96 jmp LBB0_388 + //0x00001b9b LBB0_382 + 0x48, 0x85, 0xc0, //0x00001b9b testq %rax, %rax + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x00001b9e je LBB0_385 + //0x00001ba4 LBB0_383 + 0x48, 0x89, 0xc6, //0x00001ba4 movq %rax, %rsi + 0x44, 0x89, 0xc9, //0x00001ba7 movl %r9d, %ecx + 0x48, 0xd3, 0xee, //0x00001baa shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x00001bad testq %rsi, %rsi + 0x0f, 0x85, 0xe6, 0xfe, 0xff, 0xff, //0x00001bb0 jne LBB0_368 + 0x48, 0x01, 0xc0, //0x00001bb6 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001bb9 leaq (%rax,%rax,4), %rax + 0xff, 0xc2, //0x00001bbd incl %edx + 0xe9, 0xe0, 0xff, 0xff, 0xff, //0x00001bbf jmp LBB0_383 + //0x00001bc4 LBB0_385 + 0x45, 0x31, 0xff, //0x00001bc4 xorl %r15d, %r15d + 0x31, 0xc0, //0x00001bc7 xorl %eax, %eax + 0xe9, 0x2f, 0xf8, 0xff, 0xff, //0x00001bc9 jmp LBB0_273 + //0x00001bce LBB0_386 + 0xff, 0xc8, //0x00001bce decl %eax + 0x41, 0x89, 0xc7, //0x00001bd0 movl %eax, %r15d + //0x00001bd3 LBB0_387 + 0x45, 0x85, 0xff, //0x00001bd3 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00001bd6 cmovel %r15d, %r11d + //0x00001bda LBB0_388 + 0x44, 0x89, 0xf8, //0x00001bda movl %r15d, %eax + 0xe9, 0x1b, 0xf8, 0xff, 0xff, //0x00001bdd jmp LBB0_273 + //0x00001be2 LBB0_389 + 0x81, 0xfe, 0x02, 0xfc, 0xff, 0xff, //0x00001be2 cmpl $-1022, %esi + 0x0f, 0x8f, 0xb1, 0x01, 0x00, 0x00, //0x00001be8 jg LBB0_415 + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x00001bee movl $-1022, %r9d + 0x85, 0xff, //0x00001bf4 testl %edi, %edi + 0x0f, 0x84, 0xfd, 0x01, 0x00, 0x00, //0x00001bf6 je LBB0_420 + 0x8d, 0x8e, 0xfd, 0x03, 0x00, 0x00, //0x00001bfc leal $1021(%rsi), %ecx + 0x81, 0xfe, 0xc6, 0xfb, 0xff, 0xff, //0x00001c02 cmpl $-1082, %esi + 0x0f, 0x8f, 0x06, 0x02, 0x00, 0x00, //0x00001c08 jg LBB0_421 + 0x4d, 0x89, 0xd8, //0x00001c0e movq %r11, %r8 + 0x49, 0x8d, 0x42, 0x01, //0x00001c11 leaq $1(%r10), %rax + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001c15 movl $1, %r11d + 0xe9, 0x1d, 0x00, 0x00, 0x00, //0x00001c1b jmp LBB0_396 + //0x00001c20 LBB0_393 + 0xff, 0xc9, //0x00001c20 decl %ecx + 0x41, 0x89, 0xcf, //0x00001c22 movl %ecx, %r15d + //0x00001c25 LBB0_394 + 0x45, 0x85, 0xff, //0x00001c25 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xc7, //0x00001c28 cmovel %r15d, %r8d + //0x00001c2c LBB0_395 + 0x41, 0x8d, 0x49, 0x3c, //0x00001c2c leal $60(%r9), %ecx + 0x44, 0x89, 0xff, //0x00001c30 movl %r15d, %edi + 0x41, 0x83, 0xf9, 0x88, //0x00001c33 cmpl $-120, %r9d + 0x0f, 0x8d, 0xe6, 0x01, 0x00, 0x00, //0x00001c37 jge LBB0_422 + //0x00001c3d LBB0_396 + 0x41, 0x89, 0xc9, //0x00001c3d movl %ecx, %r9d + 0x48, 0x63, 0xdf, //0x00001c40 movslq %edi, %rbx + 0x31, 0xf6, //0x00001c43 xorl %esi, %esi + 0x31, 0xc9, //0x00001c45 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001c47 .p2align 4, 0x90 + //0x00001c50 LBB0_397 + 0x48, 0x39, 0xde, //0x00001c50 cmpq %rbx, %rsi + 0x0f, 0x8d, 0x1f, 0x00, 0x00, 0x00, //0x00001c53 jge LBB0_399 + 0x48, 0x8d, 0x0c, 0x89, //0x00001c59 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x14, 0x34, //0x00001c5d movsbq (%r12,%rsi), %rdx + 0x48, 0x8d, 0x4c, 0x4a, 0xd0, //0x00001c62 leaq $-48(%rdx,%rcx,2), %rcx + 0x48, 0xff, 0xc6, //0x00001c67 incq %rsi + 0x48, 0x39, 0xc1, //0x00001c6a cmpq %rax, %rcx + 0x0f, 0x82, 0xdd, 0xff, 0xff, 0xff, //0x00001c6d jb LBB0_397 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00001c73 jmp LBB0_401 + //0x00001c78 LBB0_399 + 0x48, 0x85, 0xc9, //0x00001c78 testq %rcx, %rcx + 0x0f, 0x84, 0x16, 0x01, 0x00, 0x00, //0x00001c7b je LBB0_414 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001c81 .p2align 4, 0x90 + //0x00001c90 LBB0_400 + 0x48, 0x01, 0xc9, //0x00001c90 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00001c93 leaq (%rcx,%rcx,4), %rcx + 0xff, 0xc6, //0x00001c97 incl %esi + 0x48, 0x39, 0xc1, //0x00001c99 cmpq %rax, %rcx + 0x0f, 0x82, 0xee, 0xff, 0xff, 0xff, //0x00001c9c jb LBB0_400 + //0x00001ca2 LBB0_401 + 0x41, 0x29, 0xf0, //0x00001ca2 subl %esi, %r8d + 0x31, 0xdb, //0x00001ca5 xorl %ebx, %ebx + 0x39, 0xfe, //0x00001ca7 cmpl %edi, %esi + 0x0f, 0x8d, 0x4d, 0x00, 0x00, 0x00, //0x00001ca9 jge LBB0_406 + 0x48, 0x63, 0xf6, //0x00001caf movslq %esi, %rsi + 0x49, 0x63, 0xff, //0x00001cb2 movslq %r15d, %rdi + 0x49, 0x8d, 0x1c, 0x34, //0x00001cb5 leaq (%r12,%rsi), %rbx + 0x45, 0x31, 0xff, //0x00001cb9 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, //0x00001cbc .p2align 4, 0x90 + //0x00001cc0 LBB0_403 + 0x48, 0x89, 0xca, //0x00001cc0 movq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x3c, //0x00001cc3 shrq $60, %rdx + 0x4c, 0x21, 0xd1, //0x00001cc7 andq %r10, %rcx + 0x80, 0xca, 0x30, //0x00001cca orb $48, %dl + 0x43, 0x88, 0x14, 0x3c, //0x00001ccd movb %dl, (%r12,%r15) + 0x48, 0x8d, 0x0c, 0x89, //0x00001cd1 leaq (%rcx,%rcx,4), %rcx + 0x4a, 0x0f, 0xbe, 0x14, 0x3b, //0x00001cd5 movsbq (%rbx,%r15), %rdx + 0x48, 0x8d, 0x4c, 0x4a, 0xd0, //0x00001cda leaq $-48(%rdx,%rcx,2), %rcx + 0x4a, 0x8d, 0x54, 0x3e, 0x01, //0x00001cdf leaq $1(%rsi,%r15), %rdx + 0x49, 0xff, 0xc7, //0x00001ce4 incq %r15 + 0x48, 0x39, 0xfa, //0x00001ce7 cmpq %rdi, %rdx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00001cea jl LBB0_403 + 0x48, 0x85, 0xc9, //0x00001cf0 testq %rcx, %rcx + 0x0f, 0x84, 0x61, 0x00, 0x00, 0x00, //0x00001cf3 je LBB0_410 + 0x44, 0x89, 0xfb, //0x00001cf9 movl %r15d, %ebx + //0x00001cfc LBB0_406 + 0x41, 0x89, 0xdf, //0x00001cfc movl %ebx, %r15d + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00001cff jmp LBB0_408 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001d04 .p2align 4, 0x90 + //0x00001d10 LBB0_407 + 0x48, 0x85, 0xf6, //0x00001d10 testq %rsi, %rsi + 0x45, 0x0f, 0x45, 0xf3, //0x00001d13 cmovnel %r11d, %r14d + 0x48, 0x01, 0xc9, //0x00001d17 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00001d1a leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00001d1e testq %rcx, %rcx + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00001d21 je LBB0_410 + //0x00001d27 LBB0_408 + 0x48, 0x89, 0xce, //0x00001d27 movq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x3c, //0x00001d2a shrq $60, %rsi + 0x4c, 0x21, 0xd1, //0x00001d2e andq %r10, %rcx + 0x49, 0x63, 0xff, //0x00001d31 movslq %r15d, %rdi + 0x49, 0x39, 0xfd, //0x00001d34 cmpq %rdi, %r13 + 0x0f, 0x86, 0xd3, 0xff, 0xff, 0xff, //0x00001d37 jbe LBB0_407 + 0x40, 0x80, 0xce, 0x30, //0x00001d3d orb $48, %sil + 0x41, 0x88, 0x34, 0x3c, //0x00001d41 movb %sil, (%r12,%rdi) + 0xff, 0xc7, //0x00001d45 incl %edi + 0x41, 0x89, 0xff, //0x00001d47 movl %edi, %r15d + 0x48, 0x01, 0xc9, //0x00001d4a addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00001d4d leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00001d51 testq %rcx, %rcx + 0x0f, 0x85, 0xcd, 0xff, 0xff, 0xff, //0x00001d54 jne LBB0_408 + //0x00001d5a LBB0_410 + 0x41, 0xff, 0xc0, //0x00001d5a incl %r8d + 0x45, 0x85, 0xff, //0x00001d5d testl %r15d, %r15d + 0x0f, 0x8e, 0xbf, 0xfe, 0xff, 0xff, //0x00001d60 jle LBB0_394 + 0x44, 0x89, 0xf9, //0x00001d66 movl %r15d, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x00001d69 cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0xb7, 0xfe, 0xff, 0xff, //0x00001d6f jne LBB0_395 + //0x00001d75 LBB0_412 + 0x48, 0x83, 0xf9, 0x01, //0x00001d75 cmpq $1, %rcx + 0x0f, 0x8e, 0xa1, 0xfe, 0xff, 0xff, //0x00001d79 jle LBB0_393 + 0x4c, 0x8d, 0x79, 0xff, //0x00001d7f leaq $-1(%rcx), %r15 + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x00001d83 cmpb $48, $-2(%r12,%rcx) + 0x4c, 0x89, 0xf9, //0x00001d89 movq %r15, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001d8c je LBB0_412 + 0xe9, 0x95, 0xfe, 0xff, 0xff, //0x00001d92 jmp LBB0_395 + //0x00001d97 LBB0_414 + 0x45, 0x31, 0xff, //0x00001d97 xorl %r15d, %r15d + 0xe9, 0x8d, 0xfe, 0xff, 0xff, //0x00001d9a jmp LBB0_395 + //0x00001d9f LBB0_415 + 0x81, 0xfe, 0x00, 0x04, 0x00, 0x00, //0x00001d9f cmpl $1024, %esi + 0x0f, 0x8e, 0x28, 0x00, 0x00, 0x00, //0x00001da5 jle LBB0_417 + 0x31, 0xf6, //0x00001dab xorl %esi, %esi + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00001dad movabsq $9218868437227405312, %r9 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001db7 movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001dc1 movabsq $4503599627370495, %r10 + 0x8a, 0x55, 0xd7, //0x00001dcb movb $-41(%rbp), %dl + 0xe9, 0xd3, 0x07, 0x00, 0x00, //0x00001dce jmp LBB0_514 + //0x00001dd3 LBB0_417 + 0xff, 0xce, //0x00001dd3 decl %esi + 0x41, 0x89, 0xf1, //0x00001dd5 movl %esi, %r9d + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001dd8 movabsq $4503599627370495, %r10 + //0x00001de2 LBB0_418 + 0x85, 0xff, //0x00001de2 testl %edi, %edi + 0x0f, 0x84, 0xc2, 0x01, 0x00, 0x00, //0x00001de4 je LBB0_444 + 0x4c, 0x89, 0x4d, 0xc8, //0x00001dea movq %r9, $-56(%rbp) + 0x4d, 0x89, 0xd8, //0x00001dee movq %r11, %r8 + 0x45, 0x89, 0xfa, //0x00001df1 movl %r15d, %r10d + 0xe9, 0x15, 0x02, 0x00, 0x00, //0x00001df4 jmp LBB0_450 + //0x00001df9 LBB0_420 + 0x31, 0xc0, //0x00001df9 xorl %eax, %eax + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001dfb movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001e05 movabsq $4503599627370495, %r10 + 0xe9, 0xe1, 0x03, 0x00, 0x00, //0x00001e0f jmp LBB0_476 + //0x00001e14 LBB0_421 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001e14 movabsq $4503599627370495, %r10 + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00001e1e jmp LBB0_424 + //0x00001e23 LBB0_422 + 0x85, 0xc9, //0x00001e23 testl %ecx, %ecx + 0x0f, 0x84, 0xa5, 0x01, 0x00, 0x00, //0x00001e25 je LBB0_446 + 0x44, 0x89, 0xff, //0x00001e2b movl %r15d, %edi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001e2e movabsq $4503599627370495, %r10 + 0x4d, 0x89, 0xc3, //0x00001e38 movq %r8, %r11 + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x00001e3b movl $-1022, %r9d + //0x00001e41 LBB0_424 + 0xf7, 0xd9, //0x00001e41 negl %ecx + 0x48, 0x63, 0xf7, //0x00001e43 movslq %edi, %rsi + 0x31, 0xd2, //0x00001e46 xorl %edx, %edx + 0x31, 0xc0, //0x00001e48 xorl %eax, %eax + //0x00001e4a LBB0_425 + 0x48, 0x39, 0xf2, //0x00001e4a cmpq %rsi, %rdx + 0x0f, 0x8d, 0x25, 0x00, 0x00, 0x00, //0x00001e4d jge LBB0_441 + 0x48, 0x8d, 0x04, 0x80, //0x00001e53 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x1c, 0x14, //0x00001e57 movsbq (%r12,%rdx), %rbx + 0x48, 0x8d, 0x44, 0x43, 0xd0, //0x00001e5c leaq $-48(%rbx,%rax,2), %rax + 0x48, 0xff, 0xc2, //0x00001e61 incq %rdx + 0x48, 0x89, 0xc3, //0x00001e64 movq %rax, %rbx + 0x48, 0xd3, 0xeb, //0x00001e67 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00001e6a testq %rbx, %rbx + 0x0f, 0x84, 0xd7, 0xff, 0xff, 0xff, //0x00001e6d je LBB0_425 + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x00001e73 jmp LBB0_427 + //0x00001e78 LBB0_441 + 0x48, 0x85, 0xc0, //0x00001e78 testq %rax, %rax + 0x0f, 0x84, 0x2b, 0x01, 0x00, 0x00, //0x00001e7b je LBB0_444 + 0x48, 0x89, 0xc6, //0x00001e81 movq %rax, %rsi + 0x48, 0xd3, 0xee, //0x00001e84 shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x00001e87 testq %rsi, %rsi + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x00001e8a jne LBB0_427 + //0x00001e90 LBB0_443 + 0x48, 0x01, 0xc0, //0x00001e90 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001e93 leaq (%rax,%rax,4), %rax + 0xff, 0xc2, //0x00001e97 incl %edx + 0x48, 0x89, 0xc6, //0x00001e99 movq %rax, %rsi + 0x48, 0xd3, 0xee, //0x00001e9c shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x00001e9f testq %rsi, %rsi + 0x0f, 0x84, 0xe8, 0xff, 0xff, 0xff, //0x00001ea2 je LBB0_443 + //0x00001ea8 LBB0_427 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001ea8 movq $-1, %rsi + 0x48, 0xd3, 0xe6, //0x00001eaf shlq %cl, %rsi + 0x48, 0xf7, 0xd6, //0x00001eb2 notq %rsi + 0x45, 0x31, 0xd2, //0x00001eb5 xorl %r10d, %r10d + 0x39, 0xfa, //0x00001eb8 cmpl %edi, %edx + 0x0f, 0x8d, 0x3d, 0x00, 0x00, 0x00, //0x00001eba jge LBB0_430 + 0x4c, 0x63, 0xca, //0x00001ec0 movslq %edx, %r9 + 0x4d, 0x63, 0xc7, //0x00001ec3 movslq %r15d, %r8 + 0x4b, 0x8d, 0x1c, 0x0c, //0x00001ec6 leaq (%r12,%r9), %rbx + 0x45, 0x31, 0xd2, //0x00001eca xorl %r10d, %r10d + //0x00001ecd LBB0_429 + 0x48, 0x89, 0xc7, //0x00001ecd movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00001ed0 shrq %cl, %rdi + 0x48, 0x21, 0xf0, //0x00001ed3 andq %rsi, %rax + 0x40, 0x80, 0xc7, 0x30, //0x00001ed6 addb $48, %dil + 0x43, 0x88, 0x3c, 0x14, //0x00001eda movb %dil, (%r12,%r10) + 0x48, 0x8d, 0x04, 0x80, //0x00001ede leaq (%rax,%rax,4), %rax + 0x4a, 0x0f, 0xbe, 0x3c, 0x13, //0x00001ee2 movsbq (%rbx,%r10), %rdi + 0x48, 0x8d, 0x44, 0x47, 0xd0, //0x00001ee7 leaq $-48(%rdi,%rax,2), %rax + 0x4b, 0x8d, 0x7c, 0x11, 0x01, //0x00001eec leaq $1(%r9,%r10), %rdi + 0x49, 0xff, 0xc2, //0x00001ef1 incq %r10 + 0x4c, 0x39, 0xc7, //0x00001ef4 cmpq %r8, %rdi + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00001ef7 jl LBB0_429 + //0x00001efd LBB0_430 + 0x41, 0x29, 0xd3, //0x00001efd subl %edx, %r11d + 0x48, 0x85, 0xc0, //0x00001f00 testq %rax, %rax + 0x0f, 0x84, 0x53, 0x00, 0x00, 0x00, //0x00001f03 je LBB0_435 + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001f09 movl $1, %edx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00001f0e jmp LBB0_433 + //0x00001f13 LBB0_432 + 0x48, 0x85, 0xff, //0x00001f13 testq %rdi, %rdi + 0x44, 0x0f, 0x45, 0xf2, //0x00001f16 cmovnel %edx, %r14d + 0x48, 0x01, 0xc0, //0x00001f1a addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001f1d leaq (%rax,%rax,4), %rax + 0x48, 0x85, 0xc0, //0x00001f21 testq %rax, %rax + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x00001f24 je LBB0_435 + //0x00001f2a LBB0_433 + 0x48, 0x89, 0xc7, //0x00001f2a movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00001f2d shrq %cl, %rdi + 0x48, 0x21, 0xf0, //0x00001f30 andq %rsi, %rax + 0x49, 0x63, 0xda, //0x00001f33 movslq %r10d, %rbx + 0x49, 0x39, 0xdd, //0x00001f36 cmpq %rbx, %r13 + 0x0f, 0x86, 0xd4, 0xff, 0xff, 0xff, //0x00001f39 jbe LBB0_432 + 0x40, 0x80, 0xc7, 0x30, //0x00001f3f addb $48, %dil + 0x41, 0x88, 0x3c, 0x1c, //0x00001f43 movb %dil, (%r12,%rbx) + 0xff, 0xc3, //0x00001f47 incl %ebx + 0x41, 0x89, 0xda, //0x00001f49 movl %ebx, %r10d + 0x48, 0x01, 0xc0, //0x00001f4c addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001f4f leaq (%rax,%rax,4), %rax + 0x48, 0x85, 0xc0, //0x00001f53 testq %rax, %rax + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x00001f56 jne LBB0_433 + //0x00001f5c LBB0_435 + 0x41, 0xff, 0xc3, //0x00001f5c incl %r11d + 0x45, 0x85, 0xd2, //0x00001f5f testl %r10d, %r10d + 0x0f, 0x8e, 0x88, 0x00, 0x00, 0x00, //0x00001f62 jle LBB0_448 + 0x44, 0x89, 0xd0, //0x00001f68 movl %r10d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001f6b cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x88, 0x00, 0x00, 0x00, //0x00001f71 jne LBB0_449 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001f77 movabsq $4503599627370495, %r10 + //0x00001f81 LBB0_438 + 0x48, 0x83, 0xf8, 0x01, //0x00001f81 cmpq $1, %rax + 0x0f, 0x8e, 0x60, 0x00, 0x00, 0x00, //0x00001f85 jle LBB0_447 + 0x4c, 0x8d, 0x78, 0xff, //0x00001f8b leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001f8f cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00001f95 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001f98 je LBB0_438 + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x00001f9e movl $-1022, %r9d + 0x44, 0x89, 0xff, //0x00001fa4 movl %r15d, %edi + 0xe9, 0x36, 0xfe, 0xff, 0xff, //0x00001fa7 jmp LBB0_418 + //0x00001fac LBB0_444 + 0x31, 0xc0, //0x00001fac xorl %eax, %eax + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001fae movabsq $-9223372036854775808, %rdi + 0xe9, 0x38, 0x02, 0x00, 0x00, //0x00001fb8 jmp LBB0_476 + //0x00001fbd LBB0_445 + 0x01, 0xc7, //0x00001fbd addl %eax, %edi + 0x45, 0x31, 0xdb, //0x00001fbf xorl %r11d, %r11d + 0x45, 0x31, 0xff, //0x00001fc2 xorl %r15d, %r15d + 0x89, 0xf8, //0x00001fc5 movl %edi, %eax + 0x31, 0xff, //0x00001fc7 xorl %edi, %edi + 0x89, 0xc6, //0x00001fc9 movl %eax, %esi + 0xe9, 0x1f, 0xf4, 0xff, 0xff, //0x00001fcb jmp LBB0_271 + //0x00001fd0 LBB0_446 + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x00001fd0 movl $-1022, %r9d + 0x44, 0x89, 0xff, //0x00001fd6 movl %r15d, %edi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001fd9 movabsq $4503599627370495, %r10 + 0x4d, 0x89, 0xc3, //0x00001fe3 movq %r8, %r11 + 0xe9, 0xf7, 0xfd, 0xff, 0xff, //0x00001fe6 jmp LBB0_418 + //0x00001feb LBB0_447 + 0xff, 0xc8, //0x00001feb decl %eax + 0x41, 0x89, 0xc2, //0x00001fed movl %eax, %r10d + //0x00001ff0 LBB0_448 + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x00001ff0 movl $-1022, %r9d + 0x45, 0x85, 0xd2, //0x00001ff6 testl %r10d, %r10d + 0x0f, 0x84, 0xca, 0x02, 0x00, 0x00, //0x00001ff9 je LBB0_489 + //0x00001fff LBB0_449 + 0xb8, 0x02, 0xfc, 0xff, 0xff, //0x00001fff movl $-1022, %eax + 0x48, 0x89, 0x45, 0xc8, //0x00002004 movq %rax, $-56(%rbp) + 0x4d, 0x89, 0xd8, //0x00002008 movq %r11, %r8 + 0x44, 0x89, 0xd7, //0x0000200b movl %r10d, %edi + //0x0000200e LBB0_450 + 0x4c, 0x63, 0xdf, //0x0000200e movslq %edi, %r11 + 0xb1, 0x31, //0x00002011 movb $49, %cl + 0x31, 0xc0, //0x00002013 xorl %eax, %eax + 0x41, 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00002015 movl $16, %r9d + //0x0000201b LBB0_451 + 0x48, 0x83, 0xf8, 0x26, //0x0000201b cmpq $38, %rax + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x0000201f je LBB0_456 + 0x41, 0x38, 0x0c, 0x04, //0x00002025 cmpb %cl, (%r12,%rax) + 0x0f, 0x85, 0xaf, 0x01, 0x00, 0x00, //0x00002029 jne LBB0_473 + 0x48, 0x8d, 0x0d, 0x4a, 0x32, 0x00, 0x00, //0x0000202f leaq $12874(%rip), %rcx /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0xb6, 0x8c, 0x08, 0x8d, 0x15, 0x00, 0x00, //0x00002036 movzbl $5517(%rax,%rcx), %ecx + 0x48, 0xff, 0xc0, //0x0000203e incq %rax + 0x49, 0x39, 0xc3, //0x00002041 cmpq %rax, %r11 + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x00002044 jne LBB0_451 + 0x84, 0xc9, //0x0000204a testb %cl, %cl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x0000204c je LBB0_456 + //0x00002052 LBB0_455 + 0x41, 0xb9, 0x0f, 0x00, 0x00, 0x00, //0x00002052 movl $15, %r9d + //0x00002058 LBB0_456 + 0x85, 0xff, //0x00002058 testl %edi, %edi + 0x0f, 0x8e, 0xfe, 0x00, 0x00, 0x00, //0x0000205a jle LBB0_467 + 0x44, 0x01, 0xcf, //0x00002060 addl %r9d, %edi + 0x48, 0x63, 0xf7, //0x00002063 movslq %edi, %rsi + 0x48, 0xff, 0xce, //0x00002066 decq %rsi + 0x49, 0xff, 0xc3, //0x00002069 incq %r11 + 0x31, 0xc9, //0x0000206c xorl %ecx, %ecx + 0x49, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x0000206e movabsq $-432345564227567616, %r15 + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00002078 jmp LBB0_460 + //0x0000207d LBB0_458 + 0x48, 0x85, 0xc0, //0x0000207d testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00002080 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00002085 cmovnel %eax, %r14d + //0x00002089 LBB0_459 + 0xff, 0xcf, //0x00002089 decl %edi + 0x48, 0xff, 0xce, //0x0000208b decq %rsi + 0x49, 0xff, 0xcb, //0x0000208e decq %r11 + 0x49, 0x83, 0xfb, 0x01, //0x00002091 cmpq $1, %r11 + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00002095 jle LBB0_462 + //0x0000209b LBB0_460 + 0x4b, 0x0f, 0xbe, 0x5c, 0x1c, 0xfe, //0x0000209b movsbq $-2(%r12,%r11), %rbx + 0x48, 0xc1, 0xe3, 0x35, //0x000020a1 shlq $53, %rbx + 0x48, 0x01, 0xcb, //0x000020a5 addq %rcx, %rbx + 0x4c, 0x01, 0xfb, //0x000020a8 addq %r15, %rbx + 0x48, 0x89, 0xd8, //0x000020ab movq %rbx, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000020ae movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x000020b8 mulq %rcx + 0x48, 0x89, 0xd1, //0x000020bb movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x000020be shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x000020c2 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x000020c6 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x000020ca movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x000020cd subq %rdx, %rax + 0x4c, 0x39, 0xee, //0x000020d0 cmpq %r13, %rsi + 0x0f, 0x83, 0xa4, 0xff, 0xff, 0xff, //0x000020d3 jae LBB0_458 + 0x04, 0x30, //0x000020d9 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x000020db movb %al, (%r12,%rsi) + 0xe9, 0xa5, 0xff, 0xff, 0xff, //0x000020df jmp LBB0_459 + //0x000020e4 LBB0_462 + 0x48, 0x83, 0xfb, 0x0a, //0x000020e4 cmpq $10, %rbx + 0x4d, 0x89, 0xc3, //0x000020e8 movq %r8, %r11 + 0x0f, 0x82, 0x70, 0x00, 0x00, 0x00, //0x000020eb jb LBB0_468 + 0x48, 0x63, 0xf7, //0x000020f1 movslq %edi, %rsi + 0x48, 0xff, 0xce, //0x000020f4 decq %rsi + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x000020f7 movl $1, %edi + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x000020fc jmp LBB0_465 + //0x00002101 LBB0_464 + 0x48, 0x85, 0xc0, //0x00002101 testq %rax, %rax + 0x44, 0x0f, 0x45, 0xf7, //0x00002104 cmovnel %edi, %r14d + 0x48, 0xff, 0xce, //0x00002108 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x0000210b cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x0000210f movq %rdx, %rcx + 0x0f, 0x86, 0x49, 0x00, 0x00, 0x00, //0x00002112 jbe LBB0_468 + //0x00002118 LBB0_465 + 0x48, 0x89, 0xc8, //0x00002118 movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x0000211b movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00002125 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00002128 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x0000212c leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x1c, 0x80, //0x00002130 leaq (%rax,%rax,4), %rbx + 0x48, 0x89, 0xc8, //0x00002134 movq %rcx, %rax + 0x48, 0x29, 0xd8, //0x00002137 subq %rbx, %rax + 0x4c, 0x39, 0xee, //0x0000213a cmpq %r13, %rsi + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x0000213d jae LBB0_464 + 0x04, 0x30, //0x00002143 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00002145 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x00002149 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x0000214c cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00002150 movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00002153 ja LBB0_465 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00002159 jmp LBB0_468 + //0x0000215e LBB0_467 + 0x4d, 0x89, 0xc3, //0x0000215e movq %r8, %r11 + //0x00002161 LBB0_468 + 0x45, 0x01, 0xca, //0x00002161 addl %r9d, %r10d + 0x49, 0x63, 0xc2, //0x00002164 movslq %r10d, %rax + 0x49, 0x39, 0xc5, //0x00002167 cmpq %rax, %r13 + 0x41, 0x0f, 0x46, 0xc5, //0x0000216a cmovbel %r13d, %eax + 0x45, 0x01, 0xcb, //0x0000216e addl %r9d, %r11d + 0x85, 0xc0, //0x00002171 testl %eax, %eax + 0x0f, 0x8e, 0x48, 0x00, 0x00, 0x00, //0x00002173 jle LBB0_472 + 0x89, 0xc1, //0x00002179 movl %eax, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x0000217b cmpb $48, $-1(%rcx,%r12) + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00002181 movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x0000218b movabsq $4503599627370495, %r10 + 0x4c, 0x8b, 0x4d, 0xc8, //0x00002195 movq $-56(%rbp), %r9 + 0x0f, 0x85, 0x56, 0x00, 0x00, 0x00, //0x00002199 jne LBB0_476 + //0x0000219f LBB0_470 + 0x48, 0x83, 0xf9, 0x01, //0x0000219f cmpq $1, %rcx + 0x0f, 0x8e, 0x40, 0x00, 0x00, 0x00, //0x000021a3 jle LBB0_474 + 0x48, 0x8d, 0x41, 0xff, //0x000021a9 leaq $-1(%rcx), %rax + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x000021ad cmpb $48, $-2(%r12,%rcx) + 0x48, 0x89, 0xc1, //0x000021b3 movq %rax, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x000021b6 je LBB0_470 + 0xe9, 0x34, 0x00, 0x00, 0x00, //0x000021bc jmp LBB0_476 + //0x000021c1 LBB0_472 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x000021c1 movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000021cb movabsq $4503599627370495, %r10 + 0x4c, 0x8b, 0x4d, 0xc8, //0x000021d5 movq $-56(%rbp), %r9 + 0xe9, 0x0f, 0x00, 0x00, 0x00, //0x000021d9 jmp LBB0_475 + //0x000021de LBB0_473 + 0x0f, 0x8c, 0x6e, 0xfe, 0xff, 0xff, //0x000021de jl LBB0_455 + 0xe9, 0x6f, 0xfe, 0xff, 0xff, //0x000021e4 jmp LBB0_456 + //0x000021e9 LBB0_474 + 0xff, 0xc9, //0x000021e9 decl %ecx + 0x89, 0xc8, //0x000021eb movl %ecx, %eax + //0x000021ed LBB0_475 + 0x85, 0xc0, //0x000021ed testl %eax, %eax + 0x0f, 0x84, 0xc8, 0x00, 0x00, 0x00, //0x000021ef je LBB0_488 + //0x000021f5 LBB0_476 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000021f5 movq $-1, %rsi + 0x41, 0x83, 0xfb, 0x14, //0x000021fc cmpl $20, %r11d + 0x0f, 0x8e, 0x08, 0x00, 0x00, 0x00, //0x00002200 jle LBB0_478 + 0x8a, 0x55, 0xd7, //0x00002206 movb $-41(%rbp), %dl + 0xe9, 0x78, 0x03, 0x00, 0x00, //0x00002209 jmp LBB0_513 + //0x0000220e LBB0_478 + 0x44, 0x89, 0xd9, //0x0000220e movl %r11d, %ecx + 0x45, 0x85, 0xdb, //0x00002211 testl %r11d, %r11d + 0x0f, 0x8e, 0x35, 0x00, 0x00, 0x00, //0x00002214 jle LBB0_483 + 0x48, 0x63, 0xf8, //0x0000221a movslq %eax, %rdi + 0x31, 0xf6, //0x0000221d xorl %esi, %esi + 0x31, 0xdb, //0x0000221f xorl %ebx, %ebx + //0x00002221 LBB0_480 + 0x48, 0x39, 0xfe, //0x00002221 cmpq %rdi, %rsi + 0x0f, 0x8d, 0x1a, 0x00, 0x00, 0x00, //0x00002224 jge LBB0_482 + 0x48, 0x8d, 0x14, 0x9b, //0x0000222a leaq (%rbx,%rbx,4), %rdx + 0x49, 0x0f, 0xbe, 0x1c, 0x34, //0x0000222e movsbq (%r12,%rsi), %rbx + 0x48, 0x8d, 0x5c, 0x53, 0xd0, //0x00002233 leaq $-48(%rbx,%rdx,2), %rbx + 0x48, 0xff, 0xc6, //0x00002238 incq %rsi + 0x48, 0x39, 0xf1, //0x0000223b cmpq %rsi, %rcx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x0000223e jne LBB0_480 + //0x00002244 LBB0_482 + 0x4d, 0x89, 0xcf, //0x00002244 movq %r9, %r15 + 0x45, 0x31, 0xc9, //0x00002247 xorl %r9d, %r9d + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x0000224a jmp LBB0_484 + //0x0000224f LBB0_483 + 0x4d, 0x89, 0xcf, //0x0000224f movq %r9, %r15 + 0x31, 0xf6, //0x00002252 xorl %esi, %esi + 0x41, 0xb1, 0x01, //0x00002254 movb $1, %r9b + 0x31, 0xdb, //0x00002257 xorl %ebx, %ebx + //0x00002259 LBB0_484 + 0x4d, 0x89, 0xd8, //0x00002259 movq %r11, %r8 + 0x41, 0x29, 0xf3, //0x0000225c subl %esi, %r11d + 0x0f, 0x8e, 0x6e, 0x02, 0x00, 0x00, //0x0000225f jle LBB0_500 + 0x41, 0x83, 0xfb, 0x10, //0x00002265 cmpl $16, %r11d + 0x0f, 0x82, 0x50, 0x02, 0x00, 0x00, //0x00002269 jb LBB0_498 + 0x45, 0x89, 0xda, //0x0000226f movl %r11d, %r10d + 0xc5, 0xfa, 0x6f, 0x05, 0xe6, 0xdd, 0xff, 0xff, //0x00002272 vmovdqu $-8730(%rip), %xmm0 /* LCPI0_4+0(%rip) */ + 0xc4, 0xe3, 0xf9, 0x22, 0xc3, 0x00, //0x0000227a vpinsrq $0, %rbx, %xmm0, %xmm0 + 0x41, 0x83, 0xe2, 0xf0, //0x00002280 andl $-16, %r10d + 0xc4, 0xe3, 0x7d, 0x02, 0x05, 0xd2, 0xdd, 0xff, 0xff, 0xf0, //0x00002284 vpblendd $240, $-8750(%rip), %ymm0, %ymm0 /* LCPI0_4+0(%rip) */ + 0x41, 0x8d, 0x52, 0xf0, //0x0000228e leal $-16(%r10), %edx + 0x89, 0xd7, //0x00002292 movl %edx, %edi + 0xc1, 0xef, 0x04, //0x00002294 shrl $4, %edi + 0xff, 0xc7, //0x00002297 incl %edi + 0x89, 0xfb, //0x00002299 movl %edi, %ebx + 0x83, 0xe3, 0x03, //0x0000229b andl $3, %ebx + 0x83, 0xfa, 0x30, //0x0000229e cmpl $48, %edx + 0x0f, 0x83, 0x42, 0x00, 0x00, 0x00, //0x000022a1 jae LBB0_490 + 0xc4, 0xe2, 0x7d, 0x59, 0x15, 0x80, 0xdd, 0xff, 0xff, //0x000022a7 vpbroadcastq $-8832(%rip), %ymm2 /* LCPI0_5+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0xda, //0x000022b0 vmovdqa %ymm2, %ymm3 + 0xc5, 0xfd, 0x6f, 0xca, //0x000022b4 vmovdqa %ymm2, %ymm1 + 0xe9, 0xab, 0x00, 0x00, 0x00, //0x000022b8 jmp LBB0_492 + //0x000022bd LBB0_488 + 0x31, 0xdb, //0x000022bd xorl %ebx, %ebx + 0x31, 0xf6, //0x000022bf xorl %esi, %esi + 0x8a, 0x55, 0xd7, //0x000022c1 movb $-41(%rbp), %dl + 0xe9, 0x7e, 0x02, 0x00, 0x00, //0x000022c4 jmp LBB0_509 + //0x000022c9 LBB0_489 + 0x31, 0xdb, //0x000022c9 xorl %ebx, %ebx + 0x31, 0xf6, //0x000022cb xorl %esi, %esi + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x000022cd movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000022d7 movabsq $4503599627370495, %r10 + 0x8a, 0x55, 0xd7, //0x000022e1 movb $-41(%rbp), %dl + 0xe9, 0x5e, 0x02, 0x00, 0x00, //0x000022e4 jmp LBB0_509 + //0x000022e9 LBB0_490 + 0x89, 0xda, //0x000022e9 movl %ebx, %edx + 0x29, 0xfa, //0x000022eb subl %edi, %edx + 0xc4, 0xe2, 0x7d, 0x59, 0x15, 0x3a, 0xdd, 0xff, 0xff, //0x000022ed vpbroadcastq $-8902(%rip), %ymm2 /* LCPI0_5+0(%rip) */ + 0xc4, 0xe2, 0x7d, 0x59, 0x25, 0x39, 0xdd, 0xff, 0xff, //0x000022f6 vpbroadcastq $-8903(%rip), %ymm4 /* LCPI0_6+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0xda, //0x000022ff vmovdqa %ymm2, %ymm3 + 0xc5, 0xfd, 0x6f, 0xca, //0x00002303 vmovdqa %ymm2, %ymm1 + //0x00002307 LBB0_491 + 0xc5, 0xfd, 0xf4, 0xec, //0x00002307 vpmuludq %ymm4, %ymm0, %ymm5 + 0xc5, 0xfd, 0x73, 0xd0, 0x20, //0x0000230b vpsrlq $32, %ymm0, %ymm0 + 0xc5, 0xfd, 0xf4, 0xc4, //0x00002310 vpmuludq %ymm4, %ymm0, %ymm0 + 0xc5, 0xfd, 0x73, 0xf0, 0x20, //0x00002314 vpsllq $32, %ymm0, %ymm0 + 0xc5, 0xd5, 0xd4, 0xc0, //0x00002319 vpaddq %ymm0, %ymm5, %ymm0 + 0xc5, 0xed, 0xf4, 0xec, //0x0000231d vpmuludq %ymm4, %ymm2, %ymm5 + 0xc5, 0xed, 0x73, 0xd2, 0x20, //0x00002321 vpsrlq $32, %ymm2, %ymm2 + 0xc5, 0xed, 0xf4, 0xd4, //0x00002326 vpmuludq %ymm4, %ymm2, %ymm2 + 0xc5, 0xed, 0x73, 0xf2, 0x20, //0x0000232a vpsllq $32, %ymm2, %ymm2 + 0xc5, 0xd5, 0xd4, 0xd2, //0x0000232f vpaddq %ymm2, %ymm5, %ymm2 + 0xc5, 0xe5, 0xf4, 0xec, //0x00002333 vpmuludq %ymm4, %ymm3, %ymm5 + 0xc5, 0xe5, 0x73, 0xd3, 0x20, //0x00002337 vpsrlq $32, %ymm3, %ymm3 + 0xc5, 0xe5, 0xf4, 0xdc, //0x0000233c vpmuludq %ymm4, %ymm3, %ymm3 + 0xc5, 0xe5, 0x73, 0xf3, 0x20, //0x00002340 vpsllq $32, %ymm3, %ymm3 + 0xc5, 0xd5, 0xd4, 0xdb, //0x00002345 vpaddq %ymm3, %ymm5, %ymm3 + 0xc5, 0xf5, 0xf4, 0xec, //0x00002349 vpmuludq %ymm4, %ymm1, %ymm5 + 0xc5, 0xf5, 0x73, 0xd1, 0x20, //0x0000234d vpsrlq $32, %ymm1, %ymm1 + 0xc5, 0xf5, 0xf4, 0xcc, //0x00002352 vpmuludq %ymm4, %ymm1, %ymm1 + 0xc5, 0xf5, 0x73, 0xf1, 0x20, //0x00002356 vpsllq $32, %ymm1, %ymm1 + 0xc5, 0xd5, 0xd4, 0xc9, //0x0000235b vpaddq %ymm1, %ymm5, %ymm1 + 0x83, 0xc2, 0x04, //0x0000235f addl $4, %edx + 0x0f, 0x85, 0x9f, 0xff, 0xff, 0xff, //0x00002362 jne LBB0_491 + //0x00002368 LBB0_492 + 0x85, 0xdb, //0x00002368 testl %ebx, %ebx + 0x0f, 0x84, 0x6b, 0x00, 0x00, 0x00, //0x0000236a je LBB0_495 + 0xf7, 0xdb, //0x00002370 negl %ebx + 0xc4, 0xe2, 0x7d, 0x59, 0x25, 0xc5, 0xdc, 0xff, 0xff, //0x00002372 vpbroadcastq $-9019(%rip), %ymm4 /* LCPI0_7+0(%rip) */ + //0x0000237b LBB0_494 + 0xc5, 0xfd, 0xf4, 0xec, //0x0000237b vpmuludq %ymm4, %ymm0, %ymm5 + 0xc5, 0xfd, 0x73, 0xd0, 0x20, //0x0000237f vpsrlq $32, %ymm0, %ymm0 + 0xc5, 0xfd, 0xf4, 0xc4, //0x00002384 vpmuludq %ymm4, %ymm0, %ymm0 + 0xc5, 0xfd, 0x73, 0xf0, 0x20, //0x00002388 vpsllq $32, %ymm0, %ymm0 + 0xc5, 0xd5, 0xd4, 0xc0, //0x0000238d vpaddq %ymm0, %ymm5, %ymm0 + 0xc5, 0xed, 0xf4, 0xec, //0x00002391 vpmuludq %ymm4, %ymm2, %ymm5 + 0xc5, 0xed, 0x73, 0xd2, 0x20, //0x00002395 vpsrlq $32, %ymm2, %ymm2 + 0xc5, 0xed, 0xf4, 0xd4, //0x0000239a vpmuludq %ymm4, %ymm2, %ymm2 + 0xc5, 0xed, 0x73, 0xf2, 0x20, //0x0000239e vpsllq $32, %ymm2, %ymm2 + 0xc5, 0xd5, 0xd4, 0xd2, //0x000023a3 vpaddq %ymm2, %ymm5, %ymm2 + 0xc5, 0xe5, 0xf4, 0xec, //0x000023a7 vpmuludq %ymm4, %ymm3, %ymm5 + 0xc5, 0xe5, 0x73, 0xd3, 0x20, //0x000023ab vpsrlq $32, %ymm3, %ymm3 + 0xc5, 0xe5, 0xf4, 0xdc, //0x000023b0 vpmuludq %ymm4, %ymm3, %ymm3 + 0xc5, 0xe5, 0x73, 0xf3, 0x20, //0x000023b4 vpsllq $32, %ymm3, %ymm3 + 0xc5, 0xd5, 0xd4, 0xdb, //0x000023b9 vpaddq %ymm3, %ymm5, %ymm3 + 0xc5, 0xf5, 0xf4, 0xec, //0x000023bd vpmuludq %ymm4, %ymm1, %ymm5 + 0xc5, 0xf5, 0x73, 0xd1, 0x20, //0x000023c1 vpsrlq $32, %ymm1, %ymm1 + 0xc5, 0xf5, 0xf4, 0xcc, //0x000023c6 vpmuludq %ymm4, %ymm1, %ymm1 + 0xc5, 0xf5, 0x73, 0xf1, 0x20, //0x000023ca vpsllq $32, %ymm1, %ymm1 + 0xc5, 0xd5, 0xd4, 0xc9, //0x000023cf vpaddq %ymm1, %ymm5, %ymm1 + 0xff, 0xc3, //0x000023d3 incl %ebx + 0x0f, 0x85, 0xa0, 0xff, 0xff, 0xff, //0x000023d5 jne LBB0_494 + //0x000023db LBB0_495 + 0xc5, 0xdd, 0x73, 0xd2, 0x20, //0x000023db vpsrlq $32, %ymm2, %ymm4 + 0xc5, 0xdd, 0xf4, 0xe0, //0x000023e0 vpmuludq %ymm0, %ymm4, %ymm4 + 0xc5, 0xd5, 0x73, 0xd0, 0x20, //0x000023e4 vpsrlq $32, %ymm0, %ymm5 + 0xc5, 0xed, 0xf4, 0xed, //0x000023e9 vpmuludq %ymm5, %ymm2, %ymm5 + 0xc5, 0xd5, 0xd4, 0xe4, //0x000023ed vpaddq %ymm4, %ymm5, %ymm4 + 0xc5, 0xdd, 0x73, 0xf4, 0x20, //0x000023f1 vpsllq $32, %ymm4, %ymm4 + 0xc5, 0xed, 0xf4, 0xc0, //0x000023f6 vpmuludq %ymm0, %ymm2, %ymm0 + 0xc5, 0xfd, 0xd4, 0xc4, //0x000023fa vpaddq %ymm4, %ymm0, %ymm0 + 0xc5, 0xed, 0x73, 0xd3, 0x20, //0x000023fe vpsrlq $32, %ymm3, %ymm2 + 0xc5, 0xed, 0xf4, 0xd0, //0x00002403 vpmuludq %ymm0, %ymm2, %ymm2 + 0xc5, 0xdd, 0x73, 0xd0, 0x20, //0x00002407 vpsrlq $32, %ymm0, %ymm4 + 0xc5, 0xe5, 0xf4, 0xe4, //0x0000240c vpmuludq %ymm4, %ymm3, %ymm4 + 0xc5, 0xdd, 0xd4, 0xd2, //0x00002410 vpaddq %ymm2, %ymm4, %ymm2 + 0xc5, 0xed, 0x73, 0xf2, 0x20, //0x00002414 vpsllq $32, %ymm2, %ymm2 + 0xc5, 0xe5, 0xf4, 0xc0, //0x00002419 vpmuludq %ymm0, %ymm3, %ymm0 + 0xc5, 0xfd, 0xd4, 0xc2, //0x0000241d vpaddq %ymm2, %ymm0, %ymm0 + 0xc5, 0xed, 0x73, 0xd1, 0x20, //0x00002421 vpsrlq $32, %ymm1, %ymm2 + 0xc5, 0xed, 0xf4, 0xd0, //0x00002426 vpmuludq %ymm0, %ymm2, %ymm2 + 0xc5, 0xe5, 0x73, 0xd0, 0x20, //0x0000242a vpsrlq $32, %ymm0, %ymm3 + 0xc5, 0xf5, 0xf4, 0xdb, //0x0000242f vpmuludq %ymm3, %ymm1, %ymm3 + 0xc5, 0xe5, 0xd4, 0xd2, //0x00002433 vpaddq %ymm2, %ymm3, %ymm2 + 0xc5, 0xed, 0x73, 0xf2, 0x20, //0x00002437 vpsllq $32, %ymm2, %ymm2 + 0xc5, 0xf5, 0xf4, 0xc0, //0x0000243c vpmuludq %ymm0, %ymm1, %ymm0 + 0xc5, 0xfd, 0xd4, 0xc2, //0x00002440 vpaddq %ymm2, %ymm0, %ymm0 + 0xc4, 0xe3, 0x7d, 0x39, 0xc1, 0x01, //0x00002444 vextracti128 $1, %ymm0, %xmm1 + 0xc5, 0xe9, 0x73, 0xd0, 0x20, //0x0000244a vpsrlq $32, %xmm0, %xmm2 + 0xc5, 0xe9, 0xf4, 0xd1, //0x0000244f vpmuludq %xmm1, %xmm2, %xmm2 + 0xc5, 0xe1, 0x73, 0xd1, 0x20, //0x00002453 vpsrlq $32, %xmm1, %xmm3 + 0xc5, 0xf9, 0xf4, 0xdb, //0x00002458 vpmuludq %xmm3, %xmm0, %xmm3 + 0xc5, 0xe1, 0xd4, 0xd2, //0x0000245c vpaddq %xmm2, %xmm3, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x20, //0x00002460 vpsllq $32, %xmm2, %xmm2 + 0xc5, 0xf9, 0xf4, 0xc1, //0x00002465 vpmuludq %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xd4, 0xc2, //0x00002469 vpaddq %xmm2, %xmm0, %xmm0 + 0xc5, 0xf9, 0x70, 0xc8, 0x4e, //0x0000246d vpshufd $78, %xmm0, %xmm1 + 0xc5, 0xe9, 0x73, 0xd0, 0x20, //0x00002472 vpsrlq $32, %xmm0, %xmm2 + 0xc5, 0xe9, 0xf4, 0xd1, //0x00002477 vpmuludq %xmm1, %xmm2, %xmm2 + 0xc5, 0xe1, 0x73, 0xd8, 0x0c, //0x0000247b vpsrldq $12, %xmm0, %xmm3 + 0xc5, 0xf9, 0xf4, 0xdb, //0x00002480 vpmuludq %xmm3, %xmm0, %xmm3 + 0xc5, 0xe1, 0xd4, 0xd2, //0x00002484 vpaddq %xmm2, %xmm3, %xmm2 + 0xc5, 0xe9, 0x73, 0xf2, 0x20, //0x00002488 vpsllq $32, %xmm2, %xmm2 + 0xc5, 0xf9, 0xf4, 0xc1, //0x0000248d vpmuludq %xmm1, %xmm0, %xmm0 + 0xc5, 0xf9, 0xd4, 0xc2, //0x00002491 vpaddq %xmm2, %xmm0, %xmm0 + 0xc4, 0xe1, 0xf9, 0x7e, 0xc3, //0x00002495 vmovq %xmm0, %rbx + 0x45, 0x39, 0xd3, //0x0000249a cmpl %r10d, %r11d + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x0000249d jne LBB0_497 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000024a3 movabsq $4503599627370495, %r10 + 0xe9, 0x21, 0x00, 0x00, 0x00, //0x000024ad jmp LBB0_500 + //0x000024b2 LBB0_497 + 0x44, 0x01, 0xd6, //0x000024b2 addl %r10d, %esi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000024b5 movabsq $4503599627370495, %r10 + //0x000024bf LBB0_498 + 0x44, 0x89, 0xc7, //0x000024bf movl %r8d, %edi + 0x29, 0xf7, //0x000024c2 subl %esi, %edi + //0x000024c4 LBB0_499 + 0x48, 0x01, 0xdb, //0x000024c4 addq %rbx, %rbx + 0x48, 0x8d, 0x1c, 0x9b, //0x000024c7 leaq (%rbx,%rbx,4), %rbx + 0xff, 0xcf, //0x000024cb decl %edi + 0x0f, 0x85, 0xf1, 0xff, 0xff, 0xff, //0x000024cd jne LBB0_499 + //0x000024d3 LBB0_500 + 0x31, 0xf6, //0x000024d3 xorl %esi, %esi + 0x45, 0x85, 0xc0, //0x000024d5 testl %r8d, %r8d + 0x0f, 0x88, 0x4d, 0x00, 0x00, 0x00, //0x000024d8 js LBB0_506 + 0x44, 0x39, 0xc0, //0x000024de cmpl %r8d, %eax + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x000024e1 movabsq $-9223372036854775808, %rdi + 0x0f, 0x8e, 0x50, 0x00, 0x00, 0x00, //0x000024eb jle LBB0_508 + 0x41, 0x8a, 0x0c, 0x0c, //0x000024f1 movb (%r12,%rcx), %cl + 0x41, 0x8d, 0x70, 0x01, //0x000024f5 leal $1(%r8), %esi + 0x39, 0xc6, //0x000024f9 cmpl %eax, %esi + 0x0f, 0x85, 0x39, 0x00, 0x00, 0x00, //0x000024fb jne LBB0_507 + 0x80, 0xf9, 0x35, //0x00002501 cmpb $53, %cl + 0x0f, 0x85, 0x30, 0x00, 0x00, 0x00, //0x00002504 jne LBB0_507 + 0x45, 0x85, 0xf6, //0x0000250a testl %r14d, %r14d + 0x40, 0x0f, 0x95, 0xc6, //0x0000250d setne %sil + 0x41, 0x08, 0xf1, //0x00002511 orb %sil, %r9b + 0x0f, 0x85, 0x27, 0x00, 0x00, 0x00, //0x00002514 jne LBB0_508 + 0x49, 0x63, 0xc0, //0x0000251a movslq %r8d, %rax + 0x42, 0x8a, 0x74, 0x20, 0xff, //0x0000251d movb $-1(%rax,%r12), %sil + 0x40, 0x80, 0xe6, 0x01, //0x00002522 andb $1, %sil + 0xe9, 0x16, 0x00, 0x00, 0x00, //0x00002526 jmp LBB0_508 + //0x0000252b LBB0_506 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x0000252b movabsq $-9223372036854775808, %rdi + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00002535 jmp LBB0_508 + //0x0000253a LBB0_507 + 0x80, 0xf9, 0x34, //0x0000253a cmpb $52, %cl + 0x40, 0x0f, 0x9f, 0xc6, //0x0000253d setg %sil + //0x00002541 LBB0_508 + 0x8a, 0x55, 0xd7, //0x00002541 movb $-41(%rbp), %dl + 0x4d, 0x89, 0xf9, //0x00002544 movq %r15, %r9 + //0x00002547 LBB0_509 + 0x40, 0x0f, 0xb6, 0xf6, //0x00002547 movzbl %sil, %esi + 0x48, 0x01, 0xde, //0x0000254b addq %rbx, %rsi + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, //0x0000254e movabsq $9007199254740992, %rax + 0x48, 0x39, 0xc6, //0x00002558 cmpq %rax, %rsi + 0x0f, 0x85, 0x25, 0x00, 0x00, 0x00, //0x0000255b jne LBB0_513 + 0x41, 0x81, 0xf9, 0xfe, 0x03, 0x00, 0x00, //0x00002561 cmpl $1022, %r9d + 0x0f, 0x8e, 0x11, 0x00, 0x00, 0x00, //0x00002568 jle LBB0_512 + 0x31, 0xf6, //0x0000256e xorl %esi, %esi + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00002570 movabsq $9218868437227405312, %r9 + 0xe9, 0x27, 0x00, 0x00, 0x00, //0x0000257a jmp LBB0_514 + //0x0000257f LBB0_512 + 0x41, 0xff, 0xc1, //0x0000257f incl %r9d + 0x49, 0x8d, 0x72, 0x01, //0x00002582 leaq $1(%r10), %rsi + //0x00002586 LBB0_513 + 0x49, 0x8d, 0x42, 0x01, //0x00002586 leaq $1(%r10), %rax + 0x48, 0x21, 0xf0, //0x0000258a andq %rsi, %rax + 0x41, 0x81, 0xc1, 0xff, 0x03, 0x00, 0x00, //0x0000258d addl $1023, %r9d + 0x41, 0x81, 0xe1, 0xff, 0x07, 0x00, 0x00, //0x00002594 andl $2047, %r9d + 0x49, 0xc1, 0xe1, 0x34, //0x0000259b shlq $52, %r9 + 0x48, 0x85, 0xc0, //0x0000259f testq %rax, %rax + 0x4c, 0x0f, 0x44, 0xc8, //0x000025a2 cmoveq %rax, %r9 + //0x000025a6 LBB0_514 + 0x4c, 0x21, 0xd6, //0x000025a6 andq %r10, %rsi + 0x4c, 0x09, 0xce, //0x000025a9 orq %r9, %rsi + 0x48, 0x89, 0xf3, //0x000025ac movq %rsi, %rbx + 0x48, 0x09, 0xfb, //0x000025af orq %rdi, %rbx + 0x80, 0xfa, 0x2d, //0x000025b2 cmpb $45, %dl + 0x48, 0x0f, 0x45, 0xde, //0x000025b5 cmovneq %rsi, %rbx + //0x000025b9 LBB0_515 + 0x48, 0xff, 0xcf, //0x000025b9 decq %rdi + 0x48, 0x21, 0xdf, //0x000025bc andq %rbx, %rdi + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x000025bf movabsq $9218868437227405312, %rax + 0x48, 0x39, 0xc7, //0x000025c9 cmpq %rax, %rdi + 0x48, 0x8b, 0x45, 0x98, //0x000025cc movq $-104(%rbp), %rax + 0x0f, 0x85, 0x07, 0x00, 0x00, 0x00, //0x000025d0 jne LBB0_517 + 0x48, 0xc7, 0x00, 0xf8, 0xff, 0xff, 0xff, //0x000025d6 movq $-8, (%rax) + //0x000025dd LBB0_517 + 0x48, 0x89, 0x58, 0x08, //0x000025dd movq %rbx, $8(%rax) + 0x48, 0x8b, 0x45, 0xa0, //0x000025e1 movq $-96(%rbp), %rax + 0x48, 0x8b, 0x4d, 0xa8, //0x000025e5 movq $-88(%rbp), %rcx + 0x48, 0x89, 0x08, //0x000025e9 movq %rcx, (%rax) + 0xe9, 0x7e, 0xdd, 0xff, 0xff, //0x000025ec jmp LBB0_51 + 0x00, 0x00, 0x00, //0x000025f1 .p2align 2, 0x00 + //0x000025f4 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x000025f4 .long 2 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025f8 .p2align 4, 0x00 + //0x00002600 _P10_TAB + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, //0x00002600 .quad 4607182418800017408 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, //0x00002608 .quad 4621819117588971520 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, //0x00002610 .quad 4636737291354636288 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8f, 0x40, //0x00002618 .quad 4652007308841189376 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xc3, 0x40, //0x00002620 .quad 4666723172467343360 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0xf8, 0x40, //0x00002628 .quad 4681608360884174848 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x84, 0x2e, 0x41, //0x00002630 .quad 4696837146684686336 + 0x00, 0x00, 0x00, 0x00, 0xd0, 0x12, 0x63, 0x41, //0x00002638 .quad 4711630319722168320 + 0x00, 0x00, 0x00, 0x00, 0x84, 0xd7, 0x97, 0x41, //0x00002640 .quad 4726483295884279808 + 0x00, 0x00, 0x00, 0x00, 0x65, 0xcd, 0xcd, 0x41, //0x00002648 .quad 4741671816366391296 + 0x00, 0x00, 0x00, 0x20, 0x5f, 0xa0, 0x02, 0x42, //0x00002650 .quad 4756540486875873280 + 0x00, 0x00, 0x00, 0xe8, 0x76, 0x48, 0x37, 0x42, //0x00002658 .quad 4771362005757984768 + 0x00, 0x00, 0x00, 0xa2, 0x94, 0x1a, 0x6d, 0x42, //0x00002660 .quad 4786511204640096256 + 0x00, 0x00, 0x40, 0xe5, 0x9c, 0x30, 0xa2, 0x42, //0x00002668 .quad 4801453603149578240 + 0x00, 0x00, 0x90, 0x1e, 0xc4, 0xbc, 0xd6, 0x42, //0x00002670 .quad 4816244402031689728 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0x43, //0x00002678 .quad 4831355200913801216 + 0x00, 0x80, 0xe0, 0x37, 0x79, 0xc3, 0x41, 0x43, //0x00002680 .quad 4846369599423283200 + 0x00, 0xa0, 0xd8, 0x85, 0x57, 0x34, 0x76, 0x43, //0x00002688 .quad 4861130398305394688 + 0x00, 0xc8, 0x4e, 0x67, 0x6d, 0xc1, 0xab, 0x43, //0x00002690 .quad 4876203697187506176 + 0x00, 0x3d, 0x91, 0x60, 0xe4, 0x58, 0xe1, 0x43, //0x00002698 .quad 4891288408196988160 + 0x40, 0x8c, 0xb5, 0x78, 0x1d, 0xaf, 0x15, 0x44, //0x000026a0 .quad 4906019910204099648 + 0x50, 0xef, 0xe2, 0xd6, 0xe4, 0x1a, 0x4b, 0x44, //0x000026a8 .quad 4921056587992461136 + 0x92, 0xd5, 0x4d, 0x06, 0xcf, 0xf0, 0x80, 0x44, //0x000026b0 .quad 4936209963552724370 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026b8 .p2align 4, 0x00 + //0x000026c0 _POW10_M128_TAB + 0x53, 0xe4, 0x60, 0xcd, 0x69, 0xc8, 0x32, 0x17, //0x000026c0 .quad 1671618768450675795 + 0x88, 0x02, 0x1c, 0x08, 0xa0, 0xd5, 0x8f, 0xfa, //0x000026c8 .quad -391859759250406776 + 0xb4, 0x8e, 0x5c, 0x20, 0x42, 0xbd, 0x7f, 0x0e, //0x000026d0 .quad 1044761730281672372 + 0x95, 0x81, 0x11, 0x05, 0x84, 0xe5, 0x99, 0x9c, //0x000026d8 .quad -7162441377172586091 + 0x61, 0xb2, 0x73, 0xa8, 0x92, 0xac, 0x1f, 0x52, //0x000026e0 .quad 5917638181279478369 + 0xfa, 0xe1, 0x55, 0x06, 0xe5, 0x5e, 0xc0, 0xc3, //0x000026e8 .quad -4341365703038344710 + 0xf9, 0x9e, 0x90, 0x52, 0xb7, 0x97, 0xa7, 0xe6, //0x000026f0 .quad -1826324310255427847 + 0x78, 0x5a, 0xeb, 0x47, 0x9e, 0x76, 0xb0, 0xf4, //0x000026f8 .quad -815021110370542984 + 0x5c, 0x63, 0x9a, 0x93, 0xd2, 0xbe, 0x28, 0x90, //0x00002700 .quad -8058981721550724260 + 0x8b, 0x18, 0xf3, 0xec, 0x22, 0x4a, 0xee, 0x98, //0x00002708 .quad -7426917221622671221 + 0x33, 0xfc, 0x80, 0x38, 0x87, 0xee, 0x32, 0x74, //0x00002710 .quad 8373016921771146291 + 0xae, 0xde, 0x2f, 0xa8, 0xab, 0xdc, 0x29, 0xbf, //0x00002718 .quad -4671960508600951122 + 0x3f, 0x3b, 0xa1, 0x06, 0x29, 0xaa, 0x3f, 0x11, //0x00002720 .quad 1242899115359157055 + 0x5a, 0xd6, 0x3b, 0x92, 0xd6, 0x53, 0xf4, 0xee, //0x00002728 .quad -1228264617323800998 + 0x07, 0xc5, 0x24, 0xa4, 0x59, 0xca, 0xc7, 0x4a, //0x00002730 .quad 5388497965526861063 + 0xf8, 0x65, 0x65, 0x1b, 0x66, 0xb4, 0x58, 0x95, //0x00002738 .quad -7685194413468457480 + 0x49, 0xf6, 0x2d, 0x0d, 0xf0, 0xbc, 0x79, 0x5d, //0x00002740 .quad 6735622456908576329 + 0x76, 0xbf, 0x3e, 0xa2, 0x7f, 0xe1, 0xae, 0xba, //0x00002748 .quad -4994806998408183946 + 0xdc, 0x73, 0x79, 0x10, 0x2c, 0x2c, 0xd8, 0xf4, //0x00002750 .quad -803843965719055396 + 0x53, 0x6f, 0xce, 0x8a, 0xdf, 0x99, 0x5a, 0xe9, //0x00002758 .quad -1631822729582842029 + 0x69, 0xe8, 0x4b, 0x8a, 0x9b, 0x1b, 0x07, 0x79, //0x00002760 .quad 8720969558280366185 + 0x94, 0x05, 0xc1, 0xb6, 0x2b, 0xa0, 0xd8, 0x91, //0x00002768 .quad -7937418233630358124 + 0x84, 0xe2, 0xde, 0x6c, 0x82, 0xe2, 0x48, 0x97, //0x00002770 .quad -7545532125859093884 + 0xf9, 0x46, 0x71, 0xa4, 0x36, 0xc8, 0x4e, 0xb6, //0x00002778 .quad -5310086773610559751 + 0x25, 0x9b, 0x16, 0x08, 0x23, 0x1b, 0x1b, 0xfd, //0x00002780 .quad -208543120469091547 + 0xb7, 0x98, 0x8d, 0x4d, 0x44, 0x7a, 0xe2, 0xe3, //0x00002788 .quad -2025922448585811785 + 0xf7, 0x20, 0x0e, 0xe5, 0xf5, 0xf0, 0x30, 0xfe, //0x00002790 .quad -130339450293182217 + 0x72, 0x7f, 0x78, 0xb0, 0x6a, 0x8c, 0x6d, 0x8e, //0x00002798 .quad -8183730558007214222 + 0x35, 0xa9, 0x51, 0x5e, 0x33, 0x2d, 0xbd, 0xbd, //0x000027a0 .quad -4774610331293865675 + 0x4f, 0x9f, 0x96, 0x5c, 0x85, 0xef, 0x08, 0xb2, //0x000027a8 .quad -5617977179081629873 + 0x82, 0x13, 0xe6, 0x35, 0x80, 0x78, 0x2c, 0xad, //0x000027b0 .quad -5968262914117332094 + 0x23, 0x47, 0xbc, 0xb3, 0x66, 0x2b, 0x8b, 0xde, //0x000027b8 .quad -2410785455424649437 + 0x31, 0xcc, 0xaf, 0x21, 0x50, 0xcb, 0x3b, 0x4c, //0x000027c0 .quad 5493207715531443249 + 0x76, 0xac, 0x55, 0x30, 0x20, 0xfb, 0x16, 0x8b, //0x000027c8 .quad -8424269937281487754 + 0x3d, 0xbf, 0x1b, 0x2a, 0x24, 0xbe, 0x4a, 0xdf, //0x000027d0 .quad -2356862392440471747 + 0x93, 0x17, 0x6b, 0x3c, 0xe8, 0xb9, 0xdc, 0xad, //0x000027d8 .quad -5918651403174471789 + 0x0d, 0xaf, 0xa2, 0x34, 0xad, 0x6d, 0x1d, 0xd7, //0x000027e0 .quad -2946077990550589683 + 0x78, 0xdd, 0x85, 0x4b, 0x62, 0xe8, 0x53, 0xd9, //0x000027e8 .quad -2786628235540701832 + 0x68, 0xad, 0xe5, 0x40, 0x8c, 0x64, 0x72, 0x86, //0x000027f0 .quad -8758827771735200408 + 0x6b, 0xaa, 0x33, 0x6f, 0x3d, 0x71, 0xd4, 0x87, //0x000027f8 .quad -8659171674854020501 + 0xc2, 0x18, 0x1f, 0x51, 0xaf, 0xfd, 0x0e, 0x68, //0x00002800 .quad 7498209359040551106 + 0x06, 0x95, 0x00, 0xcb, 0x8c, 0x8d, 0xc9, 0xa9, //0x00002808 .quad -6212278575140137722 + 0xf2, 0xde, 0x66, 0x25, 0x1b, 0xbd, 0x12, 0x02, //0x00002810 .quad 149389661945913074 + 0x48, 0xba, 0xc0, 0xfd, 0xef, 0xf0, 0x3b, 0xd4, //0x00002818 .quad -3153662200497784248 + 0x57, 0x4b, 0x60, 0xf7, 0x30, 0xb6, 0x4b, 0x01, //0x00002820 .quad 93368538716195671 + 0x6d, 0x74, 0x98, 0xfe, 0x95, 0x76, 0xa5, 0x84, //0x00002828 .quad -8888567902952197011 + 0x2d, 0x5e, 0x38, 0x35, 0xbd, 0xa3, 0x9e, 0x41, //0x00002830 .quad 4728396691822632493 + 0x88, 0x91, 0x3e, 0x7e, 0x3b, 0xd4, 0xce, 0xa5, //0x00002838 .quad -6499023860262858360 + 0xb9, 0x75, 0x86, 0x82, 0xac, 0x4c, 0x06, 0x52, //0x00002840 .quad 5910495864778290617 + 0xea, 0x35, 0xce, 0x5d, 0x4a, 0x89, 0x42, 0xcf, //0x00002848 .quad -3512093806901185046 + 0x93, 0x09, 0x94, 0xd1, 0xeb, 0xef, 0x43, 0x73, //0x00002850 .quad 8305745933913819539 + 0xb2, 0xe1, 0xa0, 0x7a, 0xce, 0x95, 0x89, 0x81, //0x00002858 .quad -9112587656954322510 + 0xf8, 0x0b, 0xf9, 0xc5, 0xe6, 0xeb, 0x14, 0x10, //0x00002860 .quad 1158810380537498616 + 0x1f, 0x1a, 0x49, 0x19, 0x42, 0xfb, 0xeb, 0xa1, //0x00002868 .quad -6779048552765515233 + 0xf6, 0x4e, 0x77, 0x77, 0xe0, 0x26, 0x1a, 0xd4, //0x00002870 .quad -3163173042755514634 + 0xa6, 0x60, 0x9b, 0x9f, 0x12, 0xfa, 0x66, 0xca, //0x00002878 .quad -3862124672529506138 + 0xb4, 0x22, 0x55, 0x95, 0x98, 0xb0, 0x20, 0x89, //0x00002880 .quad -8565652321871781196 + 0xd0, 0x38, 0x82, 0x47, 0x97, 0xb8, 0x00, 0xfd, //0x00002888 .quad -215969822234494768 + 0xb0, 0x35, 0x55, 0x5d, 0x5f, 0x6e, 0xb4, 0x55, //0x00002890 .quad 6175682344898606512 + 0x82, 0x63, 0xb1, 0x8c, 0x5e, 0x73, 0x20, 0x9e, //0x00002898 .quad -7052510166537641086 + 0x1d, 0x83, 0xaa, 0x34, 0xf7, 0x89, 0x21, 0xeb, //0x000028a0 .quad -1503769105731517667 + 0x62, 0xbc, 0xdd, 0x2f, 0x36, 0x90, 0xa8, 0xc5, //0x000028a8 .quad -4203951689744663454 + 0xe4, 0x23, 0xd5, 0x01, 0x75, 0xec, 0xe9, 0xa5, //0x000028b0 .quad -6491397400591784988 + 0x7b, 0x2b, 0xd5, 0xbb, 0x43, 0xb4, 0x12, 0xf7, //0x000028b8 .quad -643253593753441413 + 0x6e, 0x36, 0x25, 0x21, 0xc9, 0x33, 0xb2, 0x47, //0x000028c0 .quad 5166248661484910190 + 0x2d, 0x3b, 0x65, 0x55, 0xaa, 0xb0, 0x6b, 0x9a, //0x000028c8 .quad -7319562523736982739 + 0x0a, 0x84, 0x6e, 0x69, 0xbb, 0xc0, 0x9e, 0x99, //0x000028d0 .quad -7377247228426025974 + 0xf8, 0x89, 0xbe, 0xea, 0xd4, 0x9c, 0x06, 0xc1, //0x000028d8 .quad -4537767136243840520 + 0x0d, 0x25, 0xca, 0x43, 0xea, 0x70, 0x06, 0xc0, //0x000028e0 .quad -4609873017105144563 + 0x76, 0x2c, 0x6e, 0x25, 0x0a, 0x44, 0x48, 0xf1, //0x000028e8 .quad -1060522901877412746 + 0x28, 0x57, 0x5e, 0x6a, 0x92, 0x06, 0x04, 0x38, //0x000028f0 .quad 4036358391950366504 + 0xca, 0xdb, 0x64, 0x57, 0x86, 0x2a, 0xcd, 0x96, //0x000028f8 .quad -7580355841314464822 + 0xf2, 0xec, 0xf5, 0x04, 0x37, 0x08, 0x05, 0xc6, //0x00002900 .quad -4177924046916817678 + 0xbc, 0x12, 0x3e, 0xed, 0x27, 0x75, 0x80, 0xbc, //0x00002908 .quad -4863758783215693124 + 0x2e, 0x68, 0x33, 0xc6, 0x44, 0x4a, 0x86, 0xf7, //0x00002910 .quad -610719040218634194 + 0x6b, 0x97, 0x8d, 0xe8, 0x71, 0x92, 0xa0, 0xeb, //0x00002918 .quad -1468012460592228501 + 0x1d, 0x21, 0xe0, 0xfb, 0x6a, 0xee, 0xb3, 0x7a, //0x00002920 .quad 8841672636718129437 + 0xa3, 0x7e, 0x58, 0x31, 0x87, 0x5b, 0x44, 0x93, //0x00002928 .quad -7835036815511224669 + 0x64, 0x29, 0xd8, 0xba, 0x05, 0xea, 0x60, 0x59, //0x00002930 .quad 6440404777470273892 + 0x4c, 0x9e, 0xae, 0xfd, 0x68, 0x72, 0x15, 0xb8, //0x00002938 .quad -5182110000961642932 + 0xbd, 0x33, 0x8e, 0x29, 0x87, 0x24, 0xb9, 0x6f, //0x00002940 .quad 8050505971837842365 + 0xdf, 0x45, 0x1a, 0x3d, 0x03, 0xcf, 0x1a, 0xe6, //0x00002948 .quad -1865951482774665761 + 0x56, 0xe0, 0xf8, 0x79, 0xd4, 0xb6, 0xd3, 0xa5, //0x00002950 .quad -6497648813669818282 + 0xab, 0x6b, 0x30, 0x06, 0x62, 0xc1, 0xd0, 0x8f, //0x00002958 .quad -8083748704375247957 + 0x6c, 0x18, 0x77, 0x98, 0x89, 0xa4, 0x48, 0x8f, //0x00002960 .quad -8122061017087272852 + 0x96, 0x86, 0xbc, 0x87, 0xba, 0xf1, 0xc4, 0xb3, //0x00002968 .quad -5492999862041672042 + 0x87, 0xde, 0x94, 0xfe, 0xab, 0xcd, 0x1a, 0x33, //0x00002970 .quad 3682481783923072647 + 0x3c, 0xa8, 0xab, 0x29, 0x29, 0x2e, 0xb6, 0xe0, //0x00002978 .quad -2254563809124702148 + 0x14, 0x0b, 0x1d, 0x7f, 0x8b, 0xc0, 0xf0, 0x9f, //0x00002980 .quad -6921820921902855404 + 0x25, 0x49, 0x0b, 0xba, 0xd9, 0xdc, 0x71, 0x8c, //0x00002988 .quad -8326631408344020699 + 0xd9, 0x4d, 0xe4, 0x5e, 0xae, 0xf0, 0xec, 0x07, //0x00002990 .quad 571095884476206553 + 0x6f, 0x1b, 0x8e, 0x28, 0x10, 0x54, 0x8e, 0xaf, //0x00002998 .quad -5796603242002637969 + 0x50, 0x61, 0x9d, 0xf6, 0xd9, 0x2c, 0xe8, 0xc9, //0x000029a0 .quad -3897816162832129712 + 0x4a, 0xa2, 0xb1, 0x32, 0x14, 0xe9, 0x71, 0xdb, //0x000029a8 .quad -2634068034075909558 + 0xd2, 0x5c, 0x22, 0x3a, 0x08, 0x1c, 0x31, 0xbe, //0x000029b0 .quad -4741978110983775022 + 0x6e, 0x05, 0xaf, 0x9f, 0xac, 0x31, 0x27, 0x89, //0x000029b8 .quad -8563821548938525330 + 0x06, 0xf4, 0xaa, 0x48, 0x0a, 0x63, 0xbd, 0x6d, //0x000029c0 .quad 7907585416552444934 + 0xca, 0xc6, 0x9a, 0xc7, 0x17, 0xfe, 0x70, 0xab, //0x000029c8 .quad -6093090917745768758 + 0x08, 0xb1, 0xd5, 0xda, 0xcc, 0xbb, 0x2c, 0x09, //0x000029d0 .quad 661109733835780360 + 0x7d, 0x78, 0x81, 0xb9, 0x9d, 0x3d, 0x4d, 0xd6, //0x000029d8 .quad -3004677628754823043 + 0xa5, 0x8e, 0xc5, 0x08, 0x60, 0xf5, 0xbb, 0x25, //0x000029e0 .quad 2719036592861056677 + 0x4e, 0xeb, 0xf0, 0x93, 0x82, 0x46, 0xf0, 0x85, //0x000029e8 .quad -8795452545612846258 + 0x4e, 0xf2, 0xf6, 0x0a, 0xb8, 0xf2, 0x2a, 0xaf, //0x000029f0 .quad -5824576295778454962 + 0x21, 0x26, 0xed, 0x38, 0x23, 0x58, 0x6c, 0xa7, //0x000029f8 .quad -6382629663588669919 + 0xe1, 0xae, 0xb4, 0x0d, 0x66, 0xaf, 0xf5, 0x1a, //0x00002a00 .quad 1942651667131707105 + 0xaa, 0x6f, 0x28, 0x07, 0x2c, 0x6e, 0x47, 0xd1, //0x00002a08 .quad -3366601061058449494 + 0x4d, 0xed, 0x90, 0xc8, 0x9f, 0x8d, 0xd9, 0x50, //0x00002a10 .quad 5825843310384704845 + 0xca, 0x45, 0x79, 0x84, 0xdb, 0xa4, 0xcc, 0x82, //0x00002a18 .quad -9021654690802612790 + 0xa0, 0x28, 0xb5, 0xba, 0x07, 0xf1, 0x0f, 0xe5, //0x00002a20 .quad -1941067898873894752 + 0x3c, 0x97, 0x97, 0x65, 0x12, 0xce, 0x7f, 0xa3, //0x00002a28 .quad -6665382345075878084 + 0xc8, 0x72, 0x62, 0xa9, 0x49, 0xed, 0x53, 0x1e, //0x00002a30 .quad 2185351144835019464 + 0x0c, 0x7d, 0xfd, 0xfe, 0x96, 0xc1, 0x5f, 0xcc, //0x00002a38 .quad -3720041912917459700 + 0x7a, 0x0f, 0xbb, 0x13, 0x9c, 0xe8, 0xe8, 0x25, //0x00002a40 .quad 2731688931043774330 + 0x4f, 0xdc, 0xbc, 0xbe, 0xfc, 0xb1, 0x77, 0xff, //0x00002a48 .quad -38366372719436721 + 0xac, 0xe9, 0x54, 0x8c, 0x61, 0x91, 0xb1, 0x77, //0x00002a50 .quad 8624834609543440812 + 0xb1, 0x09, 0x36, 0xf7, 0x3d, 0xcf, 0xaa, 0x9f, //0x00002a58 .quad -6941508010590729807 + 0x17, 0x24, 0x6a, 0xef, 0xb9, 0xf5, 0x9d, 0xd5, //0x00002a60 .quad -3054014793352862697 + 0x1d, 0x8c, 0x03, 0x75, 0x0d, 0x83, 0x95, 0xc7, //0x00002a68 .quad -4065198994811024355 + 0x1d, 0xad, 0x44, 0x6b, 0x28, 0x73, 0x05, 0x4b, //0x00002a70 .quad 5405853545163697437 + 0x25, 0x6f, 0x44, 0xd2, 0xd0, 0xe3, 0x7a, 0xf9, //0x00002a78 .quad -469812725086392539 + 0x32, 0xec, 0x0a, 0x43, 0xf9, 0x67, 0xe3, 0x4e, //0x00002a80 .quad 5684501474941004850 + 0x77, 0xc5, 0x6a, 0x83, 0x62, 0xce, 0xec, 0x9b, //0x00002a88 .quad -7211161980820077193 + 0x3f, 0xa7, 0xcd, 0x93, 0xf7, 0x41, 0x9c, 0x22, //0x00002a90 .quad 2493940825248868159 + 0xd5, 0x76, 0x45, 0x24, 0xfb, 0x01, 0xe8, 0xc2, //0x00002a98 .quad -4402266457597708587 + 0x0f, 0x11, 0xc1, 0x78, 0x75, 0x52, 0x43, 0x6b, //0x00002aa0 .quad 7729112049988473103 + 0x8a, 0xd4, 0x56, 0xed, 0x79, 0x02, 0xa2, 0xf3, //0x00002aa8 .quad -891147053569747830 + 0xa9, 0xaa, 0x78, 0x6b, 0x89, 0x13, 0x0a, 0x83, //0x00002ab0 .quad -9004363024039368023 + 0xd6, 0x44, 0x56, 0x34, 0x8c, 0x41, 0x45, 0x98, //0x00002ab8 .quad -7474495936122174250 + 0x53, 0xd5, 0x56, 0xc6, 0x6b, 0x98, 0xcc, 0x23, //0x00002ac0 .quad 2579604275232953683 + 0x0c, 0xd6, 0x6b, 0x41, 0xef, 0x91, 0x56, 0xbe, //0x00002ac8 .quad -4731433901725329908 + 0xa8, 0x8a, 0xec, 0xb7, 0x86, 0xbe, 0xbf, 0x2c, //0x00002ad0 .quad 3224505344041192104 + 0x8f, 0xcb, 0xc6, 0x11, 0x6b, 0x36, 0xec, 0xed, //0x00002ad8 .quad -1302606358729274481 + 0xa9, 0xd6, 0xf3, 0x32, 0x14, 0xd7, 0xf7, 0x7b, //0x00002ae0 .quad 8932844867666826921 + 0x39, 0x3f, 0x1c, 0xeb, 0x02, 0xa2, 0xb3, 0x94, //0x00002ae8 .quad -7731658001846878407 + 0x53, 0xcc, 0xb0, 0x3f, 0xd9, 0xcc, 0xf5, 0xda, //0x00002af0 .quad -2669001970698630061 + 0x07, 0x4f, 0xe3, 0xa5, 0x83, 0x8a, 0xe0, 0xb9, //0x00002af8 .quad -5052886483881210105 + 0x68, 0xff, 0x9c, 0x8f, 0x0f, 0x40, 0xb3, 0xd1, //0x00002b00 .quad -3336252463373287576 + 0xc9, 0x22, 0x5c, 0x8f, 0x24, 0xad, 0x58, 0xe8, //0x00002b08 .quad -1704422086424124727 + 0xa1, 0x1f, 0xc2, 0xb9, 0x09, 0x08, 0x10, 0x23, //0x00002b10 .quad 2526528228819083169 + 0xbe, 0x95, 0x99, 0xd9, 0x36, 0x6c, 0x37, 0x91, //0x00002b18 .quad -7982792831656159810 + 0x8a, 0xa7, 0x32, 0x28, 0x0c, 0x0a, 0xd4, 0xab, //0x00002b20 .quad -6065211750830921846 + 0x2d, 0xfb, 0xff, 0x8f, 0x44, 0x47, 0x85, 0xb5, //0x00002b28 .quad -5366805021142811859 + 0x6c, 0x51, 0x3f, 0x32, 0x8f, 0x0c, 0xc9, 0x16, //0x00002b30 .quad 1641857348316123500 + 0xf9, 0xf9, 0xff, 0xb3, 0x15, 0x99, 0xe6, 0xe2, //0x00002b38 .quad -2096820258001126919 + 0xe3, 0x92, 0x67, 0x7f, 0xd9, 0xa7, 0x3d, 0xae, //0x00002b40 .quad -5891368184943504669 + 0x3b, 0xfc, 0x7f, 0x90, 0xad, 0x1f, 0xd0, 0x8d, //0x00002b48 .quad -8228041688891786181 + 0x9c, 0x77, 0x41, 0xdf, 0xcf, 0x11, 0xcd, 0x99, //0x00002b50 .quad -7364210231179380836 + 0x4a, 0xfb, 0x9f, 0xf4, 0x98, 0x27, 0x44, 0xb1, //0x00002b58 .quad -5673366092687344822 + 0x83, 0xd5, 0x11, 0xd7, 0x43, 0x56, 0x40, 0x40, //0x00002b60 .quad 4629795266307937667 + 0x1d, 0xfa, 0xc7, 0x31, 0x7f, 0x31, 0x95, 0xdd, //0x00002b68 .quad -2480021597431793123 + 0x72, 0x25, 0x6b, 0x66, 0xea, 0x35, 0x28, 0x48, //0x00002b70 .quad 5199465050656154994 + 0x52, 0xfc, 0x1c, 0x7f, 0xef, 0x3e, 0x7d, 0x8a, //0x00002b78 .quad -8467542526035952558 + 0xcf, 0xee, 0x05, 0x00, 0x65, 0x43, 0x32, 0xda, //0x00002b80 .quad -2724040723534582065 + 0x66, 0x3b, 0xe4, 0x5e, 0xab, 0x8e, 0x1c, 0xad, //0x00002b88 .quad -5972742139117552794 + 0x82, 0x6a, 0x07, 0x40, 0x3e, 0xd4, 0xbe, 0x90, //0x00002b90 .quad -8016736922845615486 + 0x40, 0x4a, 0x9d, 0x36, 0x56, 0xb2, 0x63, 0xd8, //0x00002b98 .quad -2854241655469553088 + 0x91, 0xa2, 0x04, 0xe8, 0xa6, 0x44, 0x77, 0x5a, //0x00002ba0 .quad 6518754469289960081 + 0x68, 0x4e, 0x22, 0xe2, 0x75, 0x4f, 0x3e, 0x87, //0x00002ba8 .quad -8701430062309552536 + 0x36, 0xcb, 0x05, 0xa2, 0xd0, 0x15, 0x15, 0x71, //0x00002bb0 .quad 8148443086612450102 + 0x02, 0xe2, 0xaa, 0x5a, 0x53, 0xe3, 0x0d, 0xa9, //0x00002bb8 .quad -6265101559459552766 + 0x03, 0x3e, 0x87, 0xca, 0x44, 0x5b, 0x5a, 0x0d, //0x00002bc0 .quad 962181821410786819 + 0x83, 0x9a, 0x55, 0x31, 0x28, 0x5c, 0x51, 0xd3, //0x00002bc8 .quad -3219690930897053053 + 0xc2, 0x86, 0x94, 0xfe, 0x0a, 0x79, 0x58, 0xe8, //0x00002bd0 .quad -1704479370831952190 + 0x91, 0x80, 0xd5, 0x1e, 0x99, 0xd9, 0x12, 0x84, //0x00002bd8 .quad -8929835859451740015 + 0x72, 0xa8, 0x39, 0xbe, 0x4d, 0x97, 0x6e, 0x62, //0x00002be0 .quad 7092772823314835570 + 0xb6, 0xe0, 0x8a, 0x66, 0xff, 0x8f, 0x17, 0xa5, //0x00002be8 .quad -6550608805887287114 + 0x8f, 0x12, 0xc8, 0x2d, 0x21, 0x3d, 0x0a, 0xfb, //0x00002bf0 .quad -357406007711231345 + 0xe3, 0x98, 0x2d, 0x40, 0xff, 0x73, 0x5d, 0xce, //0x00002bf8 .quad -3576574988931720989 + 0x99, 0x0b, 0x9d, 0xbc, 0x34, 0x66, 0xe6, 0x7c, //0x00002c00 .quad 8999993282035256217 + 0x8e, 0x7f, 0x1c, 0x88, 0x7f, 0x68, 0xfa, 0x80, //0x00002c08 .quad -9152888395723407474 + 0x80, 0x4e, 0xc4, 0xeb, 0xc1, 0xff, 0x1f, 0x1c, //0x00002c10 .quad 2026619565689294464 + 0x72, 0x9f, 0x23, 0x6a, 0x9f, 0x02, 0x39, 0xa1, //0x00002c18 .quad -6829424476226871438 + 0x20, 0x62, 0xb5, 0x66, 0xb2, 0xff, 0x27, 0xa3, //0x00002c20 .quad -6690097579743157728 + 0x4e, 0x87, 0xac, 0x44, 0x47, 0x43, 0x87, 0xc9, //0x00002c28 .quad -3925094576856201394 + 0xa8, 0xba, 0x62, 0x00, 0x9f, 0xff, 0xf1, 0x4b, //0x00002c30 .quad 5472436080603216552 + 0x22, 0xa9, 0xd7, 0x15, 0x19, 0x14, 0xe9, 0xfb, //0x00002c38 .quad -294682202642863838 + 0xa9, 0xb4, 0x3d, 0x60, 0xc3, 0x3f, 0x77, 0x6f, //0x00002c40 .quad 8031958568804398249 + 0xb5, 0xc9, 0xa6, 0xad, 0x8f, 0xac, 0x71, 0x9d, //0x00002c48 .quad -7101705404292871755 + 0xd3, 0x21, 0x4d, 0x38, 0xb4, 0x0f, 0x55, 0xcb, //0x00002c50 .quad -3795109844276665901 + 0x22, 0x7c, 0x10, 0x99, 0xb3, 0x17, 0xce, 0xc4, //0x00002c58 .quad -4265445736938701790 + 0x48, 0x6a, 0x60, 0x46, 0xa1, 0x53, 0x2a, 0x7e, //0x00002c60 .quad 9091170749936331336 + 0x2b, 0x9b, 0x54, 0x7f, 0xa0, 0x9d, 0x01, 0xf6, //0x00002c68 .quad -720121152745989333 + 0x6d, 0x42, 0xfc, 0xcb, 0x44, 0x74, 0xda, 0x2e, //0x00002c70 .quad 3376138709496513133 + 0xfb, 0xe0, 0x94, 0x4f, 0x84, 0x02, 0xc1, 0x99, //0x00002c78 .quad -7367604748107325189 + 0x08, 0x53, 0xfb, 0xfe, 0x55, 0x11, 0x91, 0xfa, //0x00002c80 .quad -391512631556746488 + 0x39, 0x19, 0x7a, 0x63, 0x25, 0x43, 0x31, 0xc0, //0x00002c88 .quad -4597819916706768583 + 0xca, 0x27, 0xba, 0x7e, 0xab, 0x55, 0x35, 0x79, //0x00002c90 .quad 8733981247408842698 + 0x88, 0x9f, 0x58, 0xbc, 0xee, 0x93, 0x3d, 0xf0, //0x00002c98 .quad -1135588877456072824 + 0xde, 0x58, 0x34, 0x2f, 0x8b, 0x55, 0xc1, 0x4b, //0x00002ca0 .quad 5458738279630526686 + 0xb5, 0x63, 0xb7, 0x35, 0x75, 0x7c, 0x26, 0x96, //0x00002ca8 .quad -7627272076051127371 + 0x16, 0x6f, 0x01, 0xfb, 0xed, 0xaa, 0xb1, 0x9e, //0x00002cb0 .quad -7011635205744005354 + 0xa2, 0x3c, 0x25, 0x83, 0x92, 0x1b, 0xb0, 0xbb, //0x00002cb8 .quad -4922404076636521310 + 0xdc, 0xca, 0xc1, 0x79, 0xa9, 0x15, 0x5e, 0x46, //0x00002cc0 .quad 5070514048102157020 + 0xcb, 0x8b, 0xee, 0x23, 0x77, 0x22, 0x9c, 0xea, //0x00002cc8 .quad -1541319077368263733 + 0xc9, 0x1e, 0x19, 0xec, 0x89, 0xcd, 0xfa, 0x0b, //0x00002cd0 .quad 863228270850154185 + 0x5f, 0x17, 0x75, 0x76, 0x8a, 0x95, 0xa1, 0x92, //0x00002cd8 .quad -7880853450996246689 + 0x7b, 0x66, 0x1f, 0x67, 0xec, 0x80, 0xf9, 0xce, //0x00002ce0 .quad -3532650679864695173 + 0x36, 0x5d, 0x12, 0x14, 0xed, 0xfa, 0x49, 0xb7, //0x00002ce8 .quad -5239380795317920458 + 0x1a, 0x40, 0xe7, 0x80, 0x27, 0xe1, 0xb7, 0x82, //0x00002cf0 .quad -9027499368258256870 + 0x84, 0xf4, 0x16, 0x59, 0xa8, 0x79, 0x1c, 0xe5, //0x00002cf8 .quad -1937539975720012668 + 0x10, 0x88, 0x90, 0xb0, 0xb8, 0xec, 0xb2, 0xd1, //0x00002d00 .quad -3336344095947716592 + 0xd2, 0x58, 0xae, 0x37, 0x09, 0xcc, 0x31, 0x8f, //0x00002d08 .quad -8128491512466089774 + 0x15, 0xaa, 0xb4, 0xdc, 0xe6, 0xa7, 0x1f, 0x86, //0x00002d10 .quad -8782116138362033643 + 0x07, 0xef, 0x99, 0x85, 0x0b, 0x3f, 0xfe, 0xb2, //0x00002d18 .quad -5548928372155224313 + 0x9a, 0xd4, 0xe1, 0x93, 0xe0, 0x91, 0xa7, 0x67, //0x00002d20 .quad 7469098900757009562 + 0xc9, 0x6a, 0x00, 0x67, 0xce, 0xce, 0xbd, 0xdf, //0x00002d28 .quad -2324474446766642487 + 0xe0, 0x24, 0x6d, 0x5c, 0x2c, 0xbb, 0xc8, 0xe0, //0x00002d30 .quad -2249342214667950880 + 0xbd, 0x42, 0x60, 0x00, 0x41, 0xa1, 0xd6, 0x8b, //0x00002d38 .quad -8370325556870233411 + 0x18, 0x6e, 0x88, 0x73, 0xf7, 0xe9, 0xfa, 0x58, //0x00002d40 .quad 6411694268519837208 + 0x6d, 0x53, 0x78, 0x40, 0x91, 0x49, 0xcc, 0xae, //0x00002d48 .quad -5851220927660403859 + 0x9e, 0x89, 0x6a, 0x50, 0x75, 0xa4, 0x39, 0xaf, //0x00002d50 .quad -5820440219632367202 + 0x48, 0x68, 0x96, 0x90, 0xf5, 0x5b, 0x7f, 0xda, //0x00002d58 .quad -2702340141148116920 + 0x03, 0x96, 0x42, 0x52, 0xc9, 0x06, 0x84, 0x6d, //0x00002d60 .quad 7891439908798240259 + 0x2d, 0x01, 0x5e, 0x7a, 0x79, 0x99, 0x8f, 0x88, //0x00002d68 .quad -8606491615858654931 + 0x83, 0x3b, 0xd3, 0xa6, 0x7b, 0x08, 0xe5, 0xc8, //0x00002d70 .quad -3970758169284363389 + 0x78, 0x81, 0xf5, 0xd8, 0xd7, 0x7f, 0xb3, 0xaa, //0x00002d78 .quad -6146428501395930760 + 0x64, 0x0a, 0x88, 0x90, 0x9a, 0x4a, 0x1e, 0xfb, //0x00002d80 .quad -351761693178066332 + 0xd6, 0xe1, 0x32, 0xcf, 0xcd, 0x5f, 0x60, 0xd5, //0x00002d88 .quad -3071349608317525546 + 0x7f, 0x06, 0x55, 0x9a, 0xa0, 0xee, 0xf2, 0x5c, //0x00002d90 .quad 6697677969404790399 + 0x26, 0xcd, 0x7f, 0xa1, 0xe0, 0x3b, 0x5c, 0x85, //0x00002d98 .quad -8837122532839535322 + 0x1e, 0x48, 0xea, 0xc0, 0x48, 0xaa, 0x2f, 0xf4, //0x00002da0 .quad -851274575098787810 + 0x6f, 0xc0, 0xdf, 0xc9, 0xd8, 0x4a, 0xb3, 0xa6, //0x00002da8 .quad -6434717147622031249 + 0x26, 0xda, 0x24, 0xf1, 0xda, 0x94, 0x3b, 0xf1, //0x00002db0 .quad -1064093218873484762 + 0x8b, 0xb0, 0x57, 0xfc, 0x8e, 0x1d, 0x60, 0xd0, //0x00002db8 .quad -3431710416100151157 + 0x58, 0x08, 0xb7, 0xd6, 0x08, 0x3d, 0xc5, 0x76, //0x00002dc0 .quad 8558313775058847832 + 0x57, 0xce, 0xb6, 0x5d, 0x79, 0x12, 0x3c, 0x82, //0x00002dc8 .quad -9062348037703676329 + 0x6e, 0xca, 0x64, 0x0c, 0x4b, 0x8c, 0x76, 0x54, //0x00002dd0 .quad 6086206200396171886 + 0xed, 0x81, 0x24, 0xb5, 0x17, 0x17, 0xcb, 0xa2, //0x00002dd8 .quad -6716249028702207507 + 0x09, 0xfd, 0x7d, 0xcf, 0x5d, 0x2f, 0x94, 0xa9, //0x00002de0 .quad -6227300304786948855 + 0x68, 0xa2, 0x6d, 0xa2, 0xdd, 0xdc, 0x7d, 0xcb, //0x00002de8 .quad -3783625267450371480 + 0x4c, 0x7c, 0x5d, 0x43, 0x35, 0x3b, 0xf9, 0xd3, //0x00002df0 .quad -3172439362556298164 + 0x02, 0x0b, 0x09, 0x0b, 0x15, 0x54, 0x5d, 0xfe, //0x00002df8 .quad -117845565885576446 + 0xaf, 0x6d, 0x1a, 0x4a, 0x01, 0xc5, 0x7b, 0xc4, //0x00002e00 .quad -4288617610811380305 + 0xe1, 0xa6, 0xe5, 0x26, 0x8d, 0x54, 0xfa, 0x9e, //0x00002e08 .quad -6991182506319567135 + 0x1b, 0x09, 0xa1, 0x9c, 0x41, 0xb6, 0x9a, 0x35, //0x00002e10 .quad 3862600023340550427 + 0x9a, 0x10, 0x9f, 0x70, 0xb0, 0xe9, 0xb8, 0xc6, //0x00002e18 .quad -4127292114472071014 + 0x62, 0x4b, 0xc9, 0x03, 0xd2, 0x63, 0x01, 0xc3, //0x00002e20 .quad -4395122007679087774 + 0xc0, 0xd4, 0xc6, 0x8c, 0x1c, 0x24, 0x67, 0xf8, //0x00002e28 .quad -547429124662700864 + 0x1d, 0xcf, 0x5d, 0x42, 0x63, 0xde, 0xe0, 0x79, //0x00002e30 .quad 8782263791269039901 + 0xf8, 0x44, 0xfc, 0xd7, 0x91, 0x76, 0x40, 0x9b, //0x00002e38 .quad -7259672230555269896 + 0xe4, 0x42, 0xf5, 0x12, 0xfc, 0x15, 0x59, 0x98, //0x00002e40 .quad -7468914334623251740 + 0x36, 0x56, 0xfb, 0x4d, 0x36, 0x94, 0x10, 0xc2, //0x00002e48 .quad -4462904269766699466 + 0x9d, 0x93, 0xb2, 0x17, 0x7b, 0x5b, 0x6f, 0x3e, //0x00002e50 .quad 4498915137003099037 + 0xc4, 0x2b, 0x7a, 0xe1, 0x43, 0xb9, 0x94, 0xf2, //0x00002e58 .quad -966944318780986428 + 0x42, 0x9c, 0xcf, 0xee, 0x2c, 0x99, 0x05, 0xa7, //0x00002e60 .quad -6411550076227838910 + 0x5a, 0x5b, 0xec, 0x6c, 0xca, 0xf3, 0x9c, 0x97, //0x00002e68 .quad -7521869226879198374 + 0x53, 0x83, 0x83, 0x2a, 0x78, 0xff, 0xc6, 0x50, //0x00002e70 .quad 5820620459997365075 + 0x31, 0x72, 0x27, 0x08, 0xbd, 0x30, 0x84, 0xbd, //0x00002e78 .quad -4790650515171610063 + 0x28, 0x64, 0x24, 0x35, 0x56, 0xbf, 0xf8, 0xa4, //0x00002e80 .quad -6559282480285457368 + 0xbd, 0x4e, 0x31, 0x4a, 0xec, 0x3c, 0xe5, 0xec, //0x00002e88 .quad -1376627125537124675 + 0x99, 0xbe, 0x36, 0xe1, 0x95, 0x77, 0x1b, 0x87, //0x00002e90 .quad -8711237568605798759 + 0x36, 0xd1, 0x5e, 0xae, 0x13, 0x46, 0x0f, 0x94, //0x00002e98 .quad -7777920981101784778 + 0x3f, 0x6e, 0x84, 0x59, 0x7b, 0x55, 0xe2, 0x28, //0x00002ea0 .quad 2946011094524915263 + 0x84, 0x85, 0xf6, 0x99, 0x98, 0x17, 0x13, 0xb9, //0x00002ea8 .quad -5110715207949843068 + 0xcf, 0x89, 0xe5, 0x2f, 0xda, 0xea, 0x1a, 0x33, //0x00002eb0 .quad 3682513868156144079 + 0xe5, 0x26, 0x74, 0xc0, 0x7e, 0xdd, 0x57, 0xe7, //0x00002eb8 .quad -1776707991509915931 + 0x21, 0x76, 0xef, 0x5d, 0xc8, 0xd2, 0xf0, 0x3f, //0x00002ec0 .quad 4607414176811284001 + 0x4f, 0x98, 0x48, 0x38, 0x6f, 0xea, 0x96, 0x90, //0x00002ec8 .quad -8027971522334779313 + 0xa9, 0x53, 0x6b, 0x75, 0x7a, 0x07, 0xed, 0x0f, //0x00002ed0 .quad 1147581702586717097 + 0x63, 0xbe, 0x5a, 0x06, 0x0b, 0xa5, 0xbc, 0xb4, //0x00002ed8 .quad -5423278384491086237 + 0x94, 0x28, 0xc6, 0x12, 0x59, 0x49, 0xe8, 0xd3, //0x00002ee0 .quad -3177208890193991532 + 0xfb, 0x6d, 0xf1, 0xc7, 0x4d, 0xce, 0xeb, 0xe1, //0x00002ee8 .quad -2167411962186469893 + 0x5c, 0xd9, 0xbb, 0xab, 0xd7, 0x2d, 0x71, 0x64, //0x00002ef0 .quad 7237616480483531100 + 0xbd, 0xe4, 0xf6, 0x9c, 0xf0, 0x60, 0x33, 0x8d, //0x00002ef8 .quad -8272161504007625539 + 0xb3, 0xcf, 0xaa, 0x96, 0x4d, 0x79, 0x8d, 0xbd, //0x00002f00 .quad -4788037454677749837 + 0xec, 0x9d, 0x34, 0xc4, 0x2c, 0x39, 0x80, 0xb0, //0x00002f08 .quad -5728515861582144020 + 0xa0, 0x83, 0x55, 0xfc, 0xa0, 0xd7, 0xf0, 0xec, //0x00002f10 .quad -1373360799919799392 + 0x67, 0xc5, 0x41, 0xf5, 0x77, 0x47, 0xa0, 0xdc, //0x00002f18 .quad -2548958808550292121 + 0x44, 0x72, 0xb5, 0x9d, 0xc4, 0x86, 0x16, 0xf4, //0x00002f20 .quad -858350499949874620 + 0x60, 0x1b, 0x49, 0xf9, 0xaa, 0x2c, 0xe4, 0x89, //0x00002f28 .quad -8510628282985014432 + 0xd5, 0xce, 0x22, 0xc5, 0x75, 0x28, 0x1c, 0x31, //0x00002f30 .quad 3538747893490044629 + 0x39, 0x62, 0x9b, 0xb7, 0xd5, 0x37, 0x5d, 0xac, //0x00002f38 .quad -6026599335303880135 + 0x8b, 0x82, 0x6b, 0x36, 0x93, 0x32, 0x63, 0x7d, //0x00002f40 .quad 9035120885289943691 + 0xc7, 0x3a, 0x82, 0x25, 0xcb, 0x85, 0x74, 0xd7, //0x00002f48 .quad -2921563150702462265 + 0x97, 0x31, 0x03, 0x02, 0x9c, 0xff, 0x5d, 0xae, //0x00002f50 .quad -5882264492762254953 + 0xbc, 0x64, 0x71, 0xf7, 0x9e, 0xd3, 0xa8, 0x86, //0x00002f58 .quad -8743505996830120772 + 0xfc, 0xfd, 0x83, 0x02, 0x83, 0x7f, 0xf5, 0xd9, //0x00002f60 .quad -2741144597525430788 + 0xeb, 0xbd, 0x4d, 0xb5, 0x86, 0x08, 0x53, 0xa8, //0x00002f68 .quad -6317696477610263061 + 0x7b, 0xfd, 0x24, 0xc3, 0x63, 0xdf, 0x72, 0xd0, //0x00002f70 .quad -3426430746906788485 + 0x66, 0x2d, 0xa1, 0x62, 0xa8, 0xca, 0x67, 0xd2, //0x00002f78 .quad -3285434578585440922 + 0x6d, 0x1e, 0xf7, 0x59, 0x9e, 0xcb, 0x47, 0x42, //0x00002f80 .quad 4776009810824339053 + 0x60, 0xbc, 0xa4, 0x3d, 0xa9, 0xde, 0x80, 0x83, //0x00002f88 .quad -8970925639256982432 + 0x08, 0xe6, 0x74, 0xf0, 0x85, 0xbe, 0xd9, 0x52, //0x00002f90 .quad 5970012263530423816 + 0x78, 0xeb, 0x0d, 0x8d, 0x53, 0x16, 0x61, 0xa4, //0x00002f98 .quad -6601971030643840136 + 0x8b, 0x1f, 0x92, 0x6c, 0x27, 0x2e, 0x90, 0x67, //0x00002fa0 .quad 7462515329413029771 + 0x56, 0x66, 0x51, 0x70, 0xe8, 0x5b, 0x79, 0xcd, //0x00002fa8 .quad -3640777769877412266 + 0xb6, 0x53, 0xdb, 0xa3, 0xd8, 0x1c, 0xba, 0x00, //0x00002fb0 .quad 52386062455755702 + 0xf6, 0xdf, 0x32, 0x46, 0x71, 0xd9, 0x6b, 0x80, //0x00002fb8 .quad -9193015133814464522 + 0xa4, 0x28, 0xd2, 0xcc, 0x0e, 0xa4, 0xe8, 0x80, //0x00002fc0 .quad -9157889458785081180 + 0xf3, 0x97, 0xbf, 0x97, 0xcd, 0xcf, 0x86, 0xa0, //0x00002fc8 .quad -6879582898840692749 + 0xcd, 0xb2, 0x06, 0x80, 0x12, 0xcd, 0x22, 0x61, //0x00002fd0 .quad 6999382250228200141 + 0xf0, 0x7d, 0xaf, 0xfd, 0xc0, 0x83, 0xa8, 0xc8, //0x00002fd8 .quad -3987792605123478032 + 0x81, 0x5f, 0x08, 0x20, 0x57, 0x80, 0x6b, 0x79, //0x00002fe0 .quad 8749227812785250177 + 0x6c, 0x5d, 0x1b, 0x3d, 0xb1, 0xa4, 0xd2, 0xfa, //0x00002fe8 .quad -373054737976959636 + 0xb0, 0x3b, 0x05, 0x74, 0x36, 0x30, 0xe3, 0xcb, //0x00002ff0 .quad -3755104653863994448 + 0x63, 0x1a, 0x31, 0xc6, 0xee, 0xa6, 0xc3, 0x9c, //0x00002ff8 .quad -7150688238876681629 + 0x9c, 0x8a, 0x06, 0x11, 0x44, 0xfc, 0xdb, 0xbe, //0x00003000 .quad -4693880817329993060 + 0xfc, 0x60, 0xbd, 0x77, 0xaa, 0x90, 0xf4, 0xc3, //0x00003008 .quad -4326674280168464132 + 0x44, 0x2d, 0x48, 0x15, 0x55, 0xfb, 0x92, 0xee, //0x00003010 .quad -1255665003235103420 + 0x3b, 0xb9, 0xac, 0x15, 0xd5, 0xb4, 0xf1, 0xf4, //0x00003018 .quad -796656831783192261 + 0x4a, 0x1c, 0x4d, 0x2d, 0x15, 0xdd, 0x1b, 0x75, //0x00003020 .quad 8438581409832836170 + 0xc5, 0xf3, 0x8b, 0x2d, 0x05, 0x11, 0x17, 0x99, //0x00003028 .quad -7415439547505577019 + 0x5d, 0x63, 0xa0, 0x78, 0x5a, 0xd4, 0x62, 0xd2, //0x00003030 .quad -3286831292991118499 + 0xb6, 0xf0, 0xee, 0x78, 0x46, 0xd5, 0x5c, 0xbf, //0x00003038 .quad -4657613415954583370 + 0x34, 0x7c, 0xc8, 0x16, 0x71, 0x89, 0xfb, 0x86, //0x00003040 .quad -8720225134666286028 + 0xe4, 0xac, 0x2a, 0x17, 0x98, 0x0a, 0x34, 0xef, //0x00003048 .quad -1210330751515841308 + 0xa0, 0x4d, 0x3d, 0xae, 0xe6, 0x35, 0x5d, 0xd4, //0x00003050 .quad -3144297699952734816 + 0x0e, 0xac, 0x7a, 0x0e, 0x9f, 0x86, 0x80, 0x95, //0x00003058 .quad -7673985747338482674 + 0x09, 0xa1, 0xcc, 0x59, 0x60, 0x83, 0x74, 0x89, //0x00003060 .quad -8542058143368306423 + 0x12, 0x57, 0x19, 0xd2, 0x46, 0xa8, 0xe0, 0xba, //0x00003068 .quad -4980796165745715438 + 0x4b, 0xc9, 0x3f, 0x70, 0x38, 0xa4, 0xd1, 0x2b, //0x00003070 .quad 3157485376071780683 + 0xd7, 0xac, 0x9f, 0x86, 0x58, 0xd2, 0x98, 0xe9, //0x00003078 .quad -1614309188754756393 + 0xcf, 0xdd, 0x27, 0x46, 0xa3, 0x06, 0x63, 0x7b, //0x00003080 .quad 8890957387685944783 + 0x06, 0xcc, 0x23, 0x54, 0x77, 0x83, 0xff, 0x91, //0x00003088 .quad -7926472270612804602 + 0x42, 0xd5, 0xb1, 0x17, 0x4c, 0xc8, 0x3b, 0x1a, //0x00003090 .quad 1890324697752655170 + 0x08, 0xbf, 0x2c, 0x29, 0x55, 0x64, 0x7f, 0xb6, //0x00003098 .quad -5296404319838617848 + 0x93, 0x4a, 0x9e, 0x1d, 0x5f, 0xba, 0xca, 0x20, //0x000030a0 .quad 2362905872190818963 + 0xca, 0xee, 0x77, 0x73, 0x6a, 0x3d, 0x1f, 0xe4, //0x000030a8 .quad -2008819381370884406 + 0x9c, 0xee, 0x82, 0x72, 0x7b, 0xb4, 0x7e, 0x54, //0x000030b0 .quad 6088502188546649756 + 0x3e, 0xf5, 0x2a, 0x88, 0x62, 0x86, 0x93, 0x8e, //0x000030b8 .quad -8173041140997884610 + 0x43, 0xaa, 0x23, 0x4f, 0x9a, 0x61, 0x9e, 0xe9, //0x000030c0 .quad -1612744301171463613 + 0x8d, 0xb2, 0x35, 0x2a, 0xfb, 0x67, 0x38, 0xb2, //0x000030c8 .quad -5604615407819967859 + 0xd4, 0x94, 0xec, 0xe2, 0x00, 0xfa, 0x05, 0x64, //0x000030d0 .quad 7207441660390446292 + 0x31, 0x1f, 0xc3, 0xf4, 0xf9, 0x81, 0xc6, 0xde, //0x000030d8 .quad -2394083241347571919 + 0x04, 0xdd, 0xd3, 0x8d, 0x40, 0xbc, 0x83, 0xde, //0x000030e0 .quad -2412877989897052924 + 0x7e, 0xf3, 0xf9, 0x38, 0x3c, 0x11, 0x3c, 0x8b, //0x000030e8 .quad -8413831053483314306 + 0x45, 0xd4, 0x48, 0xb1, 0x50, 0xab, 0x24, 0x96, //0x000030f0 .quad -7627783505798704059 + 0x5e, 0x70, 0x38, 0x47, 0x8b, 0x15, 0x0b, 0xae, //0x000030f8 .quad -5905602798426754978 + 0x57, 0x09, 0x9b, 0xdd, 0x24, 0xd6, 0xad, 0x3b, //0x00003100 .quad 4300328673033783639 + 0x76, 0x8c, 0x06, 0x19, 0xee, 0xda, 0x8d, 0xd9, //0x00003108 .quad -2770317479606055818 + 0xd6, 0xe5, 0x80, 0x0a, 0xd7, 0xa5, 0x4c, 0xe5, //0x00003110 .quad -1923980597781273130 + 0xc9, 0x17, 0xa4, 0xcf, 0xd4, 0xa8, 0xf8, 0x87, //0x00003118 .quad -8648977452394866743 + 0x4c, 0x1f, 0x21, 0xcd, 0x4c, 0xcf, 0x9f, 0x5e, //0x00003120 .quad 6818396289628184396 + 0xbc, 0x1d, 0x8d, 0x03, 0x0a, 0xd3, 0xf6, 0xa9, //0x00003128 .quad -6199535797066195524 + 0x1f, 0x67, 0x69, 0x00, 0x20, 0xc3, 0x47, 0x76, //0x00003130 .quad 8522995362035230495 + 0x2b, 0x65, 0x70, 0x84, 0xcc, 0x87, 0x74, 0xd4, //0x00003138 .quad -3137733727905356501 + 0x73, 0xe0, 0x41, 0x00, 0xf4, 0xd9, 0xec, 0x29, //0x00003140 .quad 3021029092058325107 + 0x3b, 0x3f, 0xc6, 0xd2, 0xdf, 0xd4, 0xc8, 0x84, //0x00003148 .quad -8878612607581929669 + 0x90, 0x58, 0x52, 0x00, 0x71, 0x10, 0x68, 0xf4, //0x00003150 .quad -835399653354481520 + 0x09, 0xcf, 0x77, 0xc7, 0x17, 0x0a, 0xfb, 0xa5, //0x00003158 .quad -6486579741050024183 + 0xb4, 0xee, 0x66, 0x40, 0x8d, 0x14, 0x82, 0x71, //0x00003160 .quad 8179122470161673908 + 0xcc, 0xc2, 0x55, 0xb9, 0x9d, 0xcc, 0x79, 0xcf, //0x00003168 .quad -3496538657885142324 + 0x30, 0x55, 0x40, 0x48, 0xd8, 0x4c, 0xf1, 0xc6, //0x00003170 .quad -4111420493003729616 + 0xbf, 0x99, 0xd5, 0x93, 0xe2, 0x1f, 0xac, 0x81, //0x00003178 .quad -9102865688819295809 + 0x7c, 0x6a, 0x50, 0x5a, 0x0e, 0xa0, 0xad, 0xb8, //0x00003180 .quad -5139275616254662020 + 0x2f, 0x00, 0xcb, 0x38, 0xdb, 0x27, 0x17, 0xa2, //0x00003188 .quad -6766896092596731857 + 0x1c, 0x85, 0xe4, 0xf0, 0x11, 0x08, 0xd9, 0xa6, //0x00003190 .quad -6424094520318327524 + 0x3b, 0xc0, 0xfd, 0x06, 0xd2, 0xf1, 0x9c, 0xca, //0x00003198 .quad -3846934097318526917 + 0x63, 0xa6, 0x1d, 0x6d, 0x16, 0x4a, 0x8f, 0x90, //0x000031a0 .quad -8030118150397909405 + 0x4a, 0x30, 0xbd, 0x88, 0x46, 0x2e, 0x44, 0xfd, //0x000031a8 .quad -196981603220770742 + 0xfe, 0x87, 0x32, 0x04, 0x4e, 0x8e, 0x59, 0x9a, //0x000031b0 .quad -7324666853212387330 + 0x2e, 0x3e, 0x76, 0x15, 0xec, 0x9c, 0x4a, 0x9e, //0x000031b8 .quad -7040642529654063570 + 0xfd, 0x29, 0x3f, 0x85, 0xe1, 0xf1, 0xef, 0x40, //0x000031c0 .quad 4679224488766679549 + 0xba, 0xcd, 0xd3, 0x1a, 0x27, 0x44, 0xdd, 0xc5, //0x000031c8 .quad -4189117143640191558 + 0x7c, 0xf4, 0x8e, 0xe6, 0x59, 0xee, 0x2b, 0xd1, //0x000031d0 .quad -3374341425896426372 + 0x28, 0xc1, 0x88, 0xe1, 0x30, 0x95, 0x54, 0xf7, //0x000031d8 .quad -624710411122851544 + 0xce, 0x58, 0x19, 0x30, 0xf8, 0x74, 0xbb, 0x82, //0x000031e0 .quad -9026492418826348338 + 0xb9, 0x78, 0xf5, 0x8c, 0x3e, 0xdd, 0x94, 0x9a, //0x000031e8 .quad -7307973034592864071 + 0x01, 0xaf, 0x1f, 0x3c, 0x36, 0x52, 0x6a, 0xe3, //0x000031f0 .quad -2059743486678159615 + 0xe7, 0xd6, 0x32, 0x30, 0x8e, 0x14, 0x3a, 0xc1, //0x000031f8 .quad -4523280274813692185 + 0xc1, 0x9a, 0x27, 0xcb, 0xc3, 0xe6, 0x44, 0xdc, //0x00003200 .quad -2574679358347699519 + 0xa1, 0x8c, 0x3f, 0xbc, 0xb1, 0x99, 0x88, 0xf1, //0x00003208 .quad -1042414325089727327 + 0xb9, 0xc0, 0xf8, 0x5e, 0x3a, 0x10, 0xab, 0x29, //0x00003210 .quad 3002511419460075705 + 0xe5, 0xb7, 0xa7, 0x15, 0x0f, 0x60, 0xf5, 0x96, //0x00003218 .quad -7569037980822161435 + 0xe7, 0xf0, 0xb6, 0xf6, 0x48, 0xd4, 0x15, 0x74, //0x00003220 .quad 8364825292752482535 + 0xde, 0xa5, 0x11, 0xdb, 0x12, 0xb8, 0xb2, 0xbc, //0x00003228 .quad -4849611457600313890 + 0x21, 0xad, 0x64, 0x34, 0x5b, 0x49, 0x1b, 0x11, //0x00003230 .quad 1232659579085827361 + 0x56, 0x0f, 0xd6, 0x91, 0x17, 0x66, 0xdf, 0xeb, //0x00003238 .quad -1450328303573004458 + 0x34, 0xec, 0xbe, 0x00, 0xd9, 0x0d, 0xb1, 0xca, //0x00003240 .quad -3841273781498745804 + 0x95, 0xc9, 0x25, 0xbb, 0xce, 0x9f, 0x6b, 0x93, //0x00003248 .quad -7823984217374209643 + 0x42, 0xa7, 0xee, 0x40, 0x4f, 0x51, 0x5d, 0x3d, //0x00003250 .quad 4421779809981343554 + 0xfb, 0x3b, 0xef, 0x69, 0xc2, 0x87, 0x46, 0xb8, //0x00003258 .quad -5168294253290374149 + 0x12, 0x51, 0x2a, 0x11, 0xa3, 0xa5, 0xb4, 0x0c, //0x00003260 .quad 915538744049291538 + 0xfa, 0x0a, 0x6b, 0x04, 0xb3, 0x29, 0x58, 0xe6, //0x00003268 .quad -1848681798185579782 + 0xab, 0x72, 0xba, 0xea, 0x85, 0xe7, 0xf0, 0x47, //0x00003270 .quad 5183897733458195115 + 0xdc, 0xe6, 0xc2, 0xe2, 0x0f, 0x1a, 0xf7, 0x8f, //0x00003278 .quad -8072955151507069220 + 0x56, 0x0f, 0x69, 0x65, 0x67, 0x21, 0xed, 0x59, //0x00003280 .quad 6479872166822743894 + 0x93, 0xa0, 0x73, 0xdb, 0x93, 0xe0, 0xf4, 0xb3, //0x00003288 .quad -5479507920956448621 + 0x2c, 0x53, 0xc3, 0x3e, 0xc1, 0x69, 0x68, 0x30, //0x00003290 .quad 3488154190101041964 + 0xb8, 0x88, 0x50, 0xd2, 0xb8, 0x18, 0xf2, 0xe0, //0x00003298 .quad -2237698882768172872 + 0xfb, 0x13, 0x3a, 0xc7, 0x18, 0x42, 0x41, 0x1e, //0x000032a0 .quad 2180096368813151227 + 0x73, 0x55, 0x72, 0x83, 0x73, 0x4f, 0x97, 0x8c, //0x000032a8 .quad -8316090829371189901 + 0xfa, 0x98, 0x08, 0xf9, 0x9e, 0x92, 0xd1, 0xe5, //0x000032b0 .quad -1886565557410948870 + 0xcf, 0xea, 0x4e, 0x64, 0x50, 0x23, 0xbd, 0xaf, //0x000032b8 .quad -5783427518286599473 + 0x39, 0xbf, 0x4a, 0xb7, 0x46, 0xf7, 0x45, 0xdf, //0x000032c0 .quad -2358206946763686087 + 0x83, 0xa5, 0x62, 0x7d, 0x24, 0x6c, 0xac, 0xdb, //0x000032c8 .quad -2617598379430861437 + 0x83, 0xb7, 0x8e, 0x32, 0x8c, 0xba, 0x8b, 0x6b, //0x000032d0 .quad 7749492695127472003 + 0x72, 0xa7, 0x5d, 0xce, 0x96, 0xc3, 0x4b, 0x89, //0x000032d8 .quad -8553528014785370254 + 0x64, 0x65, 0x32, 0x3f, 0x2f, 0xa9, 0x6e, 0x06, //0x000032e0 .quad 463493832054564196 + 0x4f, 0x11, 0xf5, 0x81, 0x7c, 0xb4, 0x9e, 0xab, //0x000032e8 .quad -6080224000054324913 + 0xbd, 0xfe, 0xfe, 0x0e, 0x7b, 0x53, 0x0a, 0xc8, //0x000032f0 .quad -4032318728359182659 + 0xa2, 0x55, 0x72, 0xa2, 0x9b, 0x61, 0x86, 0xd6, //0x000032f8 .quad -2988593981640518238 + 0x36, 0x5f, 0x5f, 0xe9, 0x2c, 0x74, 0x06, 0xbd, //0x00003300 .quad -4826042214438183114 + 0x85, 0x75, 0x87, 0x45, 0x01, 0xfd, 0x13, 0x86, //0x00003308 .quad -8785400266166405755 + 0x04, 0x37, 0xb7, 0x23, 0x38, 0x11, 0x48, 0x2c, //0x00003310 .quad 3190819268807046916 + 0xe7, 0x52, 0xe9, 0x96, 0x41, 0xfc, 0x98, 0xa7, //0x00003318 .quad -6370064314280619289 + 0xc5, 0x04, 0xa5, 0x2c, 0x86, 0x15, 0x5a, 0xf7, //0x00003320 .quad -623161932418579259 + 0xa0, 0xa7, 0xa3, 0xfc, 0x51, 0x3b, 0x7f, 0xd1, //0x00003328 .quad -3350894374423386208 + 0xfb, 0x22, 0xe7, 0xdb, 0x73, 0x4d, 0x98, 0x9a, //0x00003330 .quad -7307005235402693893 + 0xc4, 0x48, 0xe6, 0x3d, 0x13, 0x85, 0xef, 0x82, //0x00003338 .quad -9011838011655698236 + 0xba, 0xeb, 0xe0, 0xd2, 0xd0, 0x60, 0x3e, 0xc1, //0x00003340 .quad -4522070525825979462 + 0xf5, 0xda, 0x5f, 0x0d, 0x58, 0x66, 0xab, 0xa3, //0x00003348 .quad -6653111496142234891 + 0xa8, 0x26, 0x99, 0x07, 0x05, 0xf9, 0x8d, 0x31, //0x00003350 .quad 3570783879572301480 + 0xb3, 0xd1, 0xb7, 0x10, 0xee, 0x3f, 0x96, 0xcc, //0x00003358 .quad -3704703351750405709 + 0x52, 0x70, 0x7f, 0x49, 0x46, 0x77, 0xf1, 0xfd, //0x00003360 .quad -148206168962011054 + 0x1f, 0xc6, 0xe5, 0x94, 0xe9, 0xcf, 0xbb, 0xff, //0x00003368 .quad -19193171260619233 + 0x33, 0xa6, 0xef, 0xed, 0x8b, 0xea, 0xb6, 0xfe, //0x00003370 .quad -92628855601256909 + 0xd3, 0x9b, 0x0f, 0xfd, 0xf1, 0x61, 0xd5, 0x9f, //0x00003378 .quad -6929524759678968877 + 0xc0, 0x8f, 0x6b, 0xe9, 0x2e, 0xa5, 0x64, 0xfe, //0x00003380 .quad -115786069501571136 + 0xc8, 0x82, 0x53, 0x7c, 0x6e, 0xba, 0xca, 0xc7, //0x00003388 .quad -4050219931171323192 + 0xb0, 0x73, 0xc6, 0xa3, 0x7a, 0xce, 0xfd, 0x3d, //0x00003390 .quad 4466953431550423984 + 0x7b, 0x63, 0x68, 0x1b, 0x0a, 0x69, 0xbd, 0xf9, //0x00003398 .quad -451088895536766085 + 0x4e, 0x08, 0x5c, 0xa6, 0x0c, 0xa1, 0xbe, 0x06, //0x000033a0 .quad 486002885505321038 + 0x2d, 0x3e, 0x21, 0x51, 0xa6, 0x61, 0x16, 0x9c, //0x000033a8 .quad -7199459587351560659 + 0x62, 0x0a, 0xf3, 0xcf, 0x4f, 0x49, 0x6e, 0x48, //0x000033b0 .quad 5219189625309039202 + 0xb8, 0x8d, 0x69, 0xe5, 0x0f, 0xfa, 0x1b, 0xc3, //0x000033b8 .quad -4387638465762062920 + 0xfa, 0xcc, 0xef, 0xc3, 0xa3, 0xdb, 0x89, 0x5a, //0x000033c0 .quad 6523987031636299002 + 0x26, 0xf1, 0xc3, 0xde, 0x93, 0xf8, 0xe2, 0xf3, //0x000033c8 .quad -872862063775190746 + 0x1c, 0xe0, 0x75, 0x5a, 0x46, 0x29, 0x96, 0xf8, //0x000033d0 .quad -534194123654701028 + 0xb7, 0x76, 0x3a, 0x6b, 0x5c, 0xdb, 0x6d, 0x98, //0x000033d8 .quad -7463067817500576073 + 0x23, 0x58, 0x13, 0xf1, 0x97, 0xb3, 0xbb, 0xf6, //0x000033e0 .quad -667742654568376285 + 0x65, 0x14, 0x09, 0x86, 0x33, 0x52, 0x89, 0xbe, //0x000033e8 .quad -4717148753448332187 + 0x2c, 0x2e, 0x58, 0xed, 0x7d, 0xa0, 0x6a, 0x74, //0x000033f0 .quad 8388693718644305452 + 0x7f, 0x59, 0x8b, 0x67, 0xc0, 0xa6, 0x2b, 0xee, //0x000033f8 .quad -1284749923383027329 + 0xdc, 0x1c, 0x57, 0xb4, 0x4e, 0xa4, 0xc2, 0xa8, //0x00003400 .quad -6286281471915778852 + 0xef, 0x17, 0xb7, 0x40, 0x38, 0x48, 0xdb, 0x94, //0x00003408 .quad -7720497729755473937 + 0x13, 0xe4, 0x6c, 0x61, 0x62, 0x4d, 0xf3, 0x92, //0x00003410 .quad -7857851839894723565 + 0xeb, 0xdd, 0xe4, 0x50, 0x46, 0x1a, 0x12, 0xba, //0x00003418 .quad -5038936143766954517 + 0x17, 0x1d, 0xc8, 0xf9, 0xba, 0x20, 0xb0, 0x77, //0x00003420 .quad 8624429273841147159 + 0x66, 0x15, 0x1e, 0xe5, 0xd7, 0xa0, 0x96, 0xe8, //0x00003428 .quad -1686984161281305242 + 0x2e, 0x12, 0x1d, 0xdc, 0x74, 0x14, 0xce, 0x0a, //0x00003430 .quad 778582277723329070 + 0x60, 0xcd, 0x32, 0xef, 0x86, 0x24, 0x5e, 0x91, //0x00003438 .quad -7971894128441897632 + 0xba, 0x56, 0x24, 0x13, 0x92, 0x99, 0x81, 0x0d, //0x00003440 .quad 973227847154161338 + 0xb8, 0x80, 0xff, 0xaa, 0xa8, 0xad, 0xb5, 0xb5, //0x00003448 .quad -5353181642124984136 + 0x69, 0x6c, 0xed, 0x97, 0xf6, 0xff, 0xe1, 0x10, //0x00003450 .quad 1216534808942701673 + 0xe6, 0x60, 0xbf, 0xd5, 0x12, 0x19, 0x23, 0xe3, //0x00003458 .quad -2079791034228842266 + 0xc1, 0x63, 0xf4, 0x1e, 0xfa, 0x3f, 0x8d, 0xca, //0x00003460 .quad -3851351762838199359 + 0x8f, 0x9c, 0x97, 0xc5, 0xab, 0xef, 0xf5, 0x8d, //0x00003468 .quad -8217398424034108273 + 0xb2, 0x7c, 0xb1, 0xa6, 0xf8, 0x8f, 0x30, 0xbd, //0x00003470 .quad -4814189703547749198 + 0xb3, 0x83, 0xfd, 0xb6, 0x96, 0x6b, 0x73, 0xb1, //0x00003478 .quad -5660062011615247437 + 0xde, 0xdb, 0x5d, 0xd0, 0xf6, 0xb3, 0x7c, 0xac, //0x00003480 .quad -6017737129434686498 + 0xa0, 0xe4, 0xbc, 0x64, 0x7c, 0x46, 0xd0, 0xdd, //0x00003488 .quad -2463391496091671392 + 0x6b, 0xa9, 0x3a, 0x42, 0x7a, 0xf0, 0xcd, 0x6b, //0x00003490 .quad 7768129340171790699 + 0xe4, 0x0e, 0xf6, 0xbe, 0x0d, 0x2c, 0xa2, 0x8a, //0x00003498 .quad -8457148712698376476 + 0xc6, 0x53, 0xc9, 0xd2, 0x98, 0x6c, 0xc1, 0x86, //0x000034a0 .quad -8736582398494813242 + 0x9d, 0x92, 0xb3, 0x2e, 0x11, 0xb7, 0x4a, 0xad, //0x000034a8 .quad -5959749872445582691 + 0xb7, 0xa8, 0x7b, 0x07, 0xbf, 0xc7, 0x71, 0xe8, //0x000034b0 .quad -1697355961263740745 + 0x44, 0x77, 0x60, 0x7a, 0xd5, 0x64, 0x9d, 0xd8, //0x000034b8 .quad -2838001322129590460 + 0x72, 0x49, 0xad, 0x64, 0xd7, 0x1c, 0x47, 0x11, //0x000034c0 .quad 1244995533423855986 + 0x8b, 0x4a, 0x7c, 0x6c, 0x05, 0x5f, 0x62, 0x87, //0x000034c8 .quad -8691279853972075893 + 0xcf, 0x9b, 0xd8, 0x3d, 0x0d, 0xe4, 0x98, 0xd5, //0x000034d0 .quad -3055441601647567921 + 0x2d, 0x5d, 0x9b, 0xc7, 0xc6, 0xf6, 0x3a, 0xa9, //0x000034d8 .quad -6252413799037706963 + 0xc3, 0xc2, 0x4e, 0x8d, 0x10, 0x1d, 0xff, 0x4a, //0x000034e0 .quad 5404070034795315907 + 0x79, 0x34, 0x82, 0x79, 0x78, 0xb4, 0x89, 0xd3, //0x000034e8 .quad -3203831230369745799 + 0xba, 0x39, 0x51, 0x58, 0x2a, 0x72, 0xdf, 0xce, //0x000034f0 .quad -3539985255894009414 + 0xcb, 0x60, 0xf1, 0x4b, 0xcb, 0x10, 0x36, 0x84, //0x000034f8 .quad -8919923546622172981 + 0x28, 0x88, 0x65, 0xee, 0xb4, 0x4e, 0x97, 0xc2, //0x00003500 .quad -4424981569867511768 + 0xfe, 0xb8, 0xed, 0x1e, 0xfe, 0x94, 0x43, 0xa5, //0x00003508 .quad -6538218414850328322 + 0x32, 0xea, 0xfe, 0x29, 0x62, 0x22, 0x3d, 0x73, //0x00003510 .quad 8303831092947774002 + 0x3e, 0x27, 0xa9, 0xa6, 0x3d, 0x7a, 0x94, 0xce, //0x00003518 .quad -3561087000135522498 + 0x5f, 0x52, 0x3f, 0x5a, 0x7d, 0x35, 0x06, 0x08, //0x00003520 .quad 578208414664970847 + 0x87, 0xb8, 0x29, 0x88, 0x66, 0xcc, 0x1c, 0x81, //0x00003528 .quad -9143208402725783417 + 0xf7, 0x26, 0xcf, 0xb0, 0xdc, 0xc2, 0x07, 0xca, //0x00003530 .quad -3888925500096174345 + 0xa8, 0x26, 0x34, 0x2a, 0x80, 0xff, 0x63, 0xa1, //0x00003538 .quad -6817324484979841368 + 0xb5, 0xf0, 0x02, 0xdd, 0x93, 0xb3, 0x89, 0xfc, //0x00003540 .quad -249470856692830027 + 0x52, 0x30, 0xc1, 0x34, 0x60, 0xff, 0xbc, 0xc9, //0x00003548 .quad -3909969587797413806 + 0xe2, 0xac, 0x43, 0xd4, 0x78, 0x20, 0xac, 0xbb, //0x00003550 .quad -4923524589293425438 + 0x67, 0x7c, 0xf1, 0x41, 0x38, 0x3f, 0x2c, 0xfc, //0x00003558 .quad -275775966319379353 + 0x0d, 0x4c, 0xaa, 0x84, 0x4b, 0x94, 0x4b, 0xd5, //0x00003560 .quad -3077202868308390899 + 0xc0, 0xed, 0x36, 0x29, 0x83, 0xa7, 0x9b, 0x9d, //0x00003568 .quad -7089889006590693952 + 0x11, 0xdf, 0xd4, 0x65, 0x5e, 0x79, 0x9e, 0x0a, //0x00003570 .quad 765182433041899281 + 0x31, 0xa9, 0x84, 0xf3, 0x63, 0x91, 0x02, 0xc5, //0x00003578 .quad -4250675239810979535 + 0xd5, 0x16, 0x4a, 0xff, 0xb5, 0x17, 0x46, 0x4d, //0x00003580 .quad 5568164059729762005 + 0x7d, 0xd3, 0x65, 0xf0, 0xbc, 0x35, 0x43, 0xf6, //0x00003588 .quad -701658031336336515 + 0x45, 0x4e, 0x8e, 0xbf, 0xd1, 0xce, 0x4b, 0x50, //0x00003590 .quad 5785945546544795205 + 0x2e, 0xa4, 0x3f, 0x16, 0x96, 0x01, 0xea, 0x99, //0x00003598 .quad -7356065297226292178 + 0xd6, 0xe1, 0x71, 0x2f, 0x86, 0xc2, 0x5e, 0xe4, //0x000035a0 .quad -1990940103673781802 + 0x39, 0x8d, 0xcf, 0x9b, 0xfb, 0x81, 0x64, 0xc0, //0x000035a8 .quad -4583395603105477319 + 0x4c, 0x5a, 0x4e, 0xbb, 0x27, 0x73, 0x76, 0x5d, //0x000035b0 .quad 6734696907262548556 + 0x88, 0x70, 0xc3, 0x82, 0x7a, 0xa2, 0x7d, 0xf0, //0x000035b8 .quad -1117558485454458744 + 0x6f, 0xf8, 0x10, 0xd5, 0xf8, 0x07, 0x6a, 0x3a, //0x000035c0 .quad 4209185567039092847 + 0x55, 0x26, 0xba, 0x91, 0x8c, 0x85, 0x4e, 0x96, //0x000035c8 .quad -7616003081050118571 + 0x8b, 0x36, 0x55, 0x0a, 0xf7, 0x89, 0x04, 0x89, //0x000035d0 .quad -8573576096483297653 + 0xea, 0xaf, 0x28, 0xb6, 0xef, 0x26, 0xe2, 0xbb, //0x000035d8 .quad -4908317832885260310 + 0x2e, 0x84, 0xea, 0xcc, 0x74, 0xac, 0x45, 0x2b, //0x000035e0 .quad 3118087934678041646 + 0xe5, 0xdb, 0xb2, 0xa3, 0xab, 0xb0, 0xda, 0xea, //0x000035e8 .quad -1523711272679187483 + 0x9d, 0x92, 0x12, 0x00, 0xc9, 0x8b, 0x0b, 0x3b, //0x000035f0 .quad 4254647968387469981 + 0x6f, 0xc9, 0x4f, 0x46, 0x6b, 0xae, 0xc8, 0x92, //0x000035f8 .quad -7869848573065574033 + 0x44, 0x37, 0x17, 0x40, 0xbb, 0x6e, 0xce, 0x09, //0x00003600 .quad 706623942056949572 + 0xcb, 0xbb, 0xe3, 0x17, 0x06, 0xda, 0x7a, 0xb7, //0x00003608 .quad -5225624697904579637 + 0x15, 0x05, 0x1d, 0x10, 0x6a, 0x0a, 0x42, 0xcc, //0x00003610 .quad -3728406090856200939 + 0xbd, 0xaa, 0xdc, 0x9d, 0x87, 0x90, 0x59, 0xe5, //0x00003618 .quad -1920344853953336643 + 0x2d, 0x23, 0x12, 0x4a, 0x82, 0x46, 0xa9, 0x9f, //0x00003620 .quad -6941939825212513491 + 0xb6, 0xea, 0xa9, 0xc2, 0x54, 0xfa, 0x57, 0x8f, //0x00003628 .quad -8117744561361917258 + 0xf9, 0xab, 0x96, 0xdc, 0x22, 0x98, 0x93, 0x47, //0x00003630 .quad 5157633273766521849 + 0x64, 0x65, 0x54, 0xf3, 0xe9, 0xf8, 0x2d, 0xb3, //0x00003638 .quad -5535494683275008668 + 0xf7, 0x56, 0xbc, 0x93, 0x2b, 0x7e, 0x78, 0x59, //0x00003640 .quad 6447041592208152311 + 0xbd, 0x7e, 0x29, 0x70, 0x24, 0x77, 0xf9, 0xdf, //0x00003648 .quad -2307682335666372931 + 0x5a, 0xb6, 0x55, 0x3c, 0xdb, 0x4e, 0xeb, 0x57, //0x00003650 .quad 6335244004343789146 + 0x36, 0xef, 0x19, 0xc6, 0x76, 0xea, 0xfb, 0x8b, //0x00003658 .quad -8359830487432564938 + 0xf1, 0x23, 0x6b, 0x0b, 0x92, 0x22, 0xe6, 0xed, //0x00003660 .quad -1304317031425039375 + 0x03, 0x6b, 0xa0, 0x77, 0x14, 0xe5, 0xfa, 0xae, //0x00003668 .quad -5838102090863318269 + 0xed, 0xec, 0x45, 0x8e, 0x36, 0xab, 0x5f, 0xe9, //0x00003670 .quad -1630396289281299219 + 0xc4, 0x85, 0x88, 0x95, 0x59, 0x9e, 0xb9, 0xda, //0x00003678 .quad -2685941595151759932 + 0x14, 0xb4, 0xeb, 0x18, 0x02, 0xcb, 0xdb, 0x11, //0x00003680 .quad 1286845328412881940 + 0x9b, 0x53, 0x75, 0xfd, 0xf7, 0x02, 0xb4, 0x88, //0x00003688 .quad -8596242524610931813 + 0x19, 0xa1, 0x26, 0x9f, 0xc2, 0xbd, 0x52, 0xd6, //0x00003690 .quad -3003129357911285479 + 0x81, 0xa8, 0xd2, 0xfc, 0xb5, 0x03, 0xe1, 0xaa, //0x00003698 .quad -6133617137336276863 + 0x5f, 0x49, 0xf0, 0x46, 0x33, 0x6d, 0xe7, 0x4b, //0x000036a0 .quad 5469460339465668959 + 0xa2, 0x52, 0x07, 0x7c, 0xa3, 0x44, 0x99, 0xd5, //0x000036a8 .quad -3055335403242958174 + 0xdb, 0x2d, 0x56, 0x0c, 0x40, 0xa4, 0x70, 0x6f, //0x000036b0 .quad 8030098730593431003 + 0xa5, 0x93, 0x84, 0x2d, 0xe6, 0xca, 0x7f, 0x85, //0x000036b8 .quad -8827113654667930715 + 0x52, 0xb9, 0x6b, 0x0f, 0x50, 0xcd, 0x4c, 0xcb, //0x000036c0 .quad -3797434642040374958 + 0x8e, 0xb8, 0xe5, 0xb8, 0x9f, 0xbd, 0xdf, 0xa6, //0x000036c8 .quad -6422206049907525490 + 0xa7, 0xa7, 0x46, 0x13, 0xa4, 0x00, 0x20, 0x7e, //0x000036d0 .quad 9088264752731695015 + 0xb2, 0x26, 0x1f, 0xa7, 0x07, 0xad, 0x97, 0xd0, //0x000036d8 .quad -3416071543957018958 + 0xc8, 0x28, 0x0c, 0x8c, 0x66, 0x00, 0xd4, 0x8e, //0x000036e0 .quad -8154892584824854328 + 0x2f, 0x78, 0x73, 0xc8, 0x24, 0xcc, 0x5e, 0x82, //0x000036e8 .quad -9052573742614218705 + 0xfa, 0x32, 0x0f, 0x2f, 0x80, 0x00, 0x89, 0x72, //0x000036f0 .quad 8253128342678483706 + 0x3b, 0x56, 0x90, 0xfa, 0x2d, 0x7f, 0xf6, 0xa2, //0x000036f8 .quad -6704031159840385477 + 0xb9, 0xff, 0xd2, 0x3a, 0xa0, 0x40, 0x2b, 0x4f, //0x00003700 .quad 5704724409920716729 + 0xca, 0x6b, 0x34, 0x79, 0xf9, 0x1e, 0xb4, 0xcb, //0x00003708 .quad -3768352931373093942 + 0xa8, 0xbf, 0x87, 0x49, 0xc8, 0x10, 0xf6, 0xe2, //0x00003710 .quad -2092466524453879896 + 0xbc, 0x86, 0x81, 0xd7, 0xb7, 0x26, 0xa1, 0xfe, //0x00003718 .quad -98755145788979524 + 0xc9, 0xd7, 0xf4, 0x2d, 0x7d, 0xca, 0xd9, 0x0d, //0x00003720 .quad 998051431430019017 + 0x36, 0xf4, 0xb0, 0xe6, 0x32, 0xb8, 0x24, 0x9f, //0x00003728 .quad -6979250993759194058 + 0xbb, 0x0d, 0x72, 0x79, 0x1c, 0x3d, 0x50, 0x91, //0x00003730 .quad -7975807747567252037 + 0x43, 0x31, 0x5d, 0xa0, 0x3f, 0xe6, 0xed, 0xc6, //0x00003738 .quad -4112377723771604669 + 0x2a, 0x91, 0xce, 0x97, 0x63, 0x4c, 0xa4, 0x75, //0x00003740 .quad 8476984389250486570 + 0x94, 0x7d, 0x74, 0x88, 0xcf, 0x5f, 0xa9, 0xf8, //0x00003748 .quad -528786136287117932 + 0xba, 0x1a, 0xe1, 0x3e, 0xbe, 0xaf, 0x86, 0xc9, //0x00003750 .quad -3925256793573221702 + 0x7c, 0xce, 0x48, 0xb5, 0xe1, 0xdb, 0x69, 0x9b, //0x00003758 .quad -7248020362820530564 + 0x68, 0x61, 0x99, 0xce, 0xad, 0x5b, 0xe8, 0xfb, //0x00003760 .quad -294884973539139224 + 0x1b, 0x02, 0x9b, 0x22, 0xda, 0x52, 0x44, 0xc2, //0x00003768 .quad -4448339435098275301 + 0xc3, 0xb9, 0x3f, 0x42, 0x99, 0x72, 0xe2, 0xfa, //0x00003770 .quad -368606216923924029 + 0xa2, 0xc2, 0x41, 0xab, 0x90, 0x67, 0xd5, 0xf2, //0x00003778 .quad -948738275445456222 + 0x1a, 0xd4, 0x67, 0xc9, 0x9f, 0x87, 0xcd, 0xdc, //0x00003780 .quad -2536221894791146470 + 0xa5, 0x19, 0x09, 0x6b, 0xba, 0x60, 0xc5, 0x97, //0x00003788 .quad -7510490449794491995 + 0x20, 0xc9, 0xc1, 0xbb, 0x87, 0xe9, 0x00, 0x54, //0x00003790 .quad 6053094668365842720 + 0x0f, 0x60, 0xcb, 0x05, 0xe9, 0xb8, 0xb6, 0xbd, //0x00003798 .quad -4776427043815727089 + 0x68, 0x3b, 0xb2, 0xaa, 0xe9, 0x23, 0x01, 0x29, //0x000037a0 .quad 2954682317029915496 + 0x13, 0x38, 0x3e, 0x47, 0x23, 0x67, 0x24, 0xed, //0x000037a8 .quad -1358847786342270957 + 0x21, 0x65, 0xaf, 0x0a, 0x72, 0xb6, 0xa0, 0xf9, //0x000037b0 .quad -459166561069996767 + 0x0b, 0xe3, 0x86, 0x0c, 0x76, 0xc0, 0x36, 0x94, //0x000037b8 .quad -7766808894105001205 + 0x69, 0x3e, 0x5b, 0x8d, 0x0e, 0xe4, 0x08, 0xf8, //0x000037c0 .quad -573958201337495959 + 0xce, 0x9b, 0xa8, 0x8f, 0x93, 0x70, 0x44, 0xb9, //0x000037c8 .quad -5096825099203863602 + 0x04, 0x0e, 0xb2, 0x30, 0x12, 0x1d, 0x0b, 0xb6, //0x000037d0 .quad -5329133770099257852 + 0xc2, 0xc2, 0x92, 0x73, 0xb8, 0x8c, 0x95, 0xe7, //0x000037d8 .quad -1759345355577441598 + 0xc2, 0x48, 0x6f, 0x5e, 0x2b, 0xf2, 0xc6, 0xb1, //0x000037e0 .quad -5636551615525730110 + 0xb9, 0xb9, 0x3b, 0x48, 0xf3, 0x77, 0xbd, 0x90, //0x000037e8 .quad -8017119874876982855 + 0xf3, 0x1a, 0x0b, 0x36, 0xb6, 0xae, 0x38, 0x1e, //0x000037f0 .quad 2177682517447613171 + 0x28, 0xa8, 0x4a, 0x1a, 0xf0, 0xd5, 0xec, 0xb4, //0x000037f8 .quad -5409713825168840664 + 0xb0, 0xe1, 0x8d, 0xc3, 0x63, 0xda, 0xc6, 0x25, //0x00003800 .quad 2722103146809516464 + 0x32, 0x52, 0xdd, 0x20, 0x6c, 0x0b, 0x28, 0xe2, //0x00003808 .quad -2150456263033662926 + 0x0e, 0xad, 0x38, 0x5a, 0x7e, 0x48, 0x9c, 0x57, //0x00003810 .quad 6313000485183335694 + 0x5f, 0x53, 0x8a, 0x94, 0x23, 0x07, 0x59, 0x8d, //0x00003818 .quad -8261564192037121185 + 0x51, 0xd8, 0xc6, 0xf0, 0x9d, 0x5a, 0x83, 0x2d, //0x00003820 .quad 3279564588051781713 + 0x37, 0xe8, 0xac, 0x79, 0xec, 0x48, 0xaf, 0xb0, //0x00003828 .quad -5715269221619013577 + 0x65, 0x8e, 0xf8, 0x6c, 0x45, 0x31, 0xe4, 0xf8, //0x00003830 .quad -512230283362660763 + 0x44, 0x22, 0x18, 0x98, 0x27, 0x1b, 0xdb, 0xdc, //0x00003838 .quad -2532400508596379068 + 0xff, 0x58, 0x1b, 0x64, 0xcb, 0x9e, 0x8e, 0x1b, //0x00003840 .quad 1985699082112030975 + 0x6b, 0x15, 0x0f, 0xbf, 0xf8, 0xf0, 0x08, 0x8a, //0x00003848 .quad -8500279345513818773 + 0x3f, 0x2f, 0x22, 0x3d, 0x7e, 0x46, 0x72, 0xe2, //0x00003850 .quad -2129562165787349185 + 0xc5, 0xda, 0xd2, 0xee, 0x36, 0x2d, 0x8b, 0xac, //0x00003858 .quad -6013663163464885563 + 0x0f, 0xbb, 0x6a, 0xcc, 0x1d, 0xd8, 0x0e, 0x5b, //0x00003860 .quad 6561419329620589327 + 0x77, 0x91, 0x87, 0xaa, 0x84, 0xf8, 0xad, 0xd7, //0x00003868 .quad -2905392935903719049 + 0xe9, 0xb4, 0xc2, 0x9f, 0x12, 0x47, 0xe9, 0x98, //0x00003870 .quad -7428327965055601431 + 0xea, 0xba, 0x94, 0xea, 0x52, 0xbb, 0xcc, 0x86, //0x00003878 .quad -8733399612580906262 + 0x24, 0x62, 0xb3, 0x47, 0xd7, 0x98, 0x23, 0x3f, //0x00003880 .quad 4549648098962661924 + 0xa5, 0xe9, 0x39, 0xa5, 0x27, 0xea, 0x7f, 0xa8, //0x00003888 .quad -6305063497298744923 + 0xad, 0x3a, 0xa0, 0x19, 0x0d, 0x7f, 0xec, 0x8e, //0x00003890 .quad -8147997931578836307 + 0x0e, 0x64, 0x88, 0x8e, 0xb1, 0xe4, 0x9f, 0xd2, //0x00003898 .quad -3269643353196043250 + 0xac, 0x24, 0x04, 0x30, 0x68, 0xcf, 0x53, 0x19, //0x000038a0 .quad 1825030320404309164 + 0x89, 0x3e, 0x15, 0xf9, 0xee, 0xee, 0xa3, 0x83, //0x000038a8 .quad -8961056123388608887 + 0xd7, 0x2d, 0x05, 0x3c, 0x42, 0xc3, 0xa8, 0x5f, //0x000038b0 .quad 6892973918932774359 + 0x2b, 0x8e, 0x5a, 0xb7, 0xaa, 0xea, 0x8c, 0xa4, //0x000038b8 .quad -6589634135808373205 + 0x4d, 0x79, 0x06, 0xcb, 0x12, 0xf4, 0x92, 0x37, //0x000038c0 .quad 4004531380238580045 + 0xb6, 0x31, 0x31, 0x65, 0x55, 0x25, 0xb0, 0xcd, //0x000038c8 .quad -3625356651333078602 + 0xd0, 0x0b, 0xe4, 0xbe, 0x8b, 0xd8, 0xbb, 0xe2, //0x000038d0 .quad -2108853905778275376 + 0x11, 0xbf, 0x3e, 0x5f, 0x55, 0x17, 0x8e, 0x80, //0x000038d8 .quad -9183376934724255983 + 0xc4, 0x0e, 0x9d, 0xae, 0xae, 0xce, 0x6a, 0x5b, //0x000038e0 .quad 6587304654631931588 + 0xd6, 0x6e, 0x0e, 0xb7, 0x2a, 0x9d, 0xb1, 0xa0, //0x000038e8 .quad -6867535149977932074 + 0x75, 0x52, 0x44, 0x5a, 0x5a, 0x82, 0x45, 0xf2, //0x000038f0 .quad -989241218564861323 + 0x8b, 0x0a, 0xd2, 0x64, 0x75, 0x04, 0xde, 0xc8, //0x000038f8 .quad -3972732919045027189 + 0x12, 0x67, 0xd5, 0xf0, 0xf0, 0xe2, 0xd6, 0xee, //0x00003900 .quad -1236551523206076654 + 0x2e, 0x8d, 0x06, 0xbe, 0x92, 0x85, 0x15, 0xfb, //0x00003908 .quad -354230130378896082 + 0x6b, 0x60, 0x85, 0x96, 0xd6, 0x4d, 0x46, 0x55, //0x00003910 .quad 6144684325637283947 + 0x3d, 0x18, 0xc4, 0xb6, 0x7b, 0x73, 0xed, 0x9c, //0x00003918 .quad -7138922859127891907 + 0x86, 0xb8, 0x26, 0x3c, 0x4c, 0xe1, 0x97, 0xaa, //0x00003920 .quad -6154202648235558778 + 0x4c, 0x1e, 0x75, 0xa4, 0x5a, 0xd0, 0x28, 0xc4, //0x00003928 .quad -4311967555482476980 + 0xa8, 0x66, 0x30, 0x4b, 0x9f, 0xd9, 0x3d, 0xd5, //0x00003930 .quad -3081067291867060568 + 0xdf, 0x65, 0x92, 0x4d, 0x71, 0x04, 0x33, 0xf5, //0x00003938 .quad -778273425925708321 + 0x29, 0x40, 0xfe, 0x8e, 0x03, 0xa8, 0x46, 0xe5, //0x00003940 .quad -1925667057416912855 + 0xab, 0x7f, 0x7b, 0xd0, 0xc6, 0xe2, 0x3f, 0x99, //0x00003948 .quad -7403949918844649557 + 0x33, 0xd0, 0xbd, 0x72, 0x04, 0x52, 0x98, 0xde, //0x00003950 .quad -2407083821771141069 + 0x96, 0x5f, 0x9a, 0x84, 0x78, 0xdb, 0x8f, 0xbf, //0x00003958 .quad -4643251380128424042 + 0x40, 0x44, 0x6d, 0x8f, 0x85, 0x66, 0x3e, 0x96, //0x00003960 .quad -7620540795641314240 + 0x7c, 0xf7, 0xc0, 0xa5, 0x56, 0xd2, 0x73, 0xef, //0x00003968 .quad -1192378206733142148 + 0xa8, 0x4a, 0xa4, 0x79, 0x13, 0x00, 0xe7, 0xdd, //0x00003970 .quad -2456994988062127448 + 0xad, 0x9a, 0x98, 0x27, 0x76, 0x63, 0xa8, 0x95, //0x00003978 .quad -7662765406849295699 + 0x52, 0x5d, 0x0d, 0x58, 0x18, 0xc0, 0x60, 0x55, //0x00003980 .quad 6152128301777116498 + 0x59, 0xc1, 0x7e, 0xb1, 0x53, 0x7c, 0x12, 0xbb, //0x00003988 .quad -4966770740134231719 + 0xa6, 0xb4, 0x10, 0x6e, 0x1e, 0xf0, 0xb8, 0xaa, //0x00003990 .quad -6144897678060768090 + 0xaf, 0x71, 0xde, 0x9d, 0x68, 0x1b, 0xd7, 0xe9, //0x00003998 .quad -1596777406740401745 + 0xe8, 0x70, 0xca, 0x04, 0x13, 0x96, 0xb3, 0xca, //0x000039a0 .quad -3840561048787980056 + 0x0d, 0x07, 0xab, 0x62, 0x21, 0x71, 0x26, 0x92, //0x000039a8 .quad -7915514906853832947 + 0x22, 0x0d, 0xfd, 0xc5, 0x97, 0x7b, 0x60, 0x3d, //0x000039b0 .quad 4422670725869800738 + 0xd1, 0xc8, 0x55, 0xbb, 0x69, 0x0d, 0xb0, 0xb6, //0x000039b8 .quad -5282707615139903279 + 0x6a, 0x50, 0x7c, 0xb7, 0x7d, 0x9a, 0xb8, 0x8c, //0x000039c0 .quad -8306719647944912790 + 0x05, 0x3b, 0x2b, 0x2a, 0xc4, 0x10, 0x5c, 0xe4, //0x000039c8 .quad -1991698500497491195 + 0x42, 0xb2, 0xad, 0x92, 0x8e, 0x60, 0xf3, 0x77, //0x000039d0 .quad 8643358275316593218 + 0xe3, 0x04, 0x5b, 0x9a, 0x7a, 0x8a, 0xb9, 0x8e, //0x000039d8 .quad -8162340590452013853 + 0xd3, 0x1e, 0x59, 0x37, 0xb2, 0x38, 0xf0, 0x55, //0x000039e0 .quad 6192511825718353619 + 0x1c, 0xc6, 0xf1, 0x40, 0x19, 0xed, 0x67, 0xb2, //0x000039e8 .quad -5591239719637629412 + 0x88, 0x66, 0x2f, 0xc5, 0xde, 0x46, 0x6c, 0x6b, //0x000039f0 .quad 7740639782147942024 + 0xa3, 0x37, 0x2e, 0x91, 0x5f, 0xe8, 0x01, 0xdf, //0x000039f8 .quad -2377363631119648861 + 0x15, 0xa0, 0x3d, 0x3b, 0x4b, 0xac, 0x23, 0x23, //0x00003a00 .quad 2532056854628769813 + 0xc6, 0xe2, 0xbc, 0xba, 0x3b, 0x31, 0x61, 0x8b, //0x00003a08 .quad -8403381297090862394 + 0x1a, 0x08, 0x0d, 0x0a, 0x5e, 0x97, 0xec, 0xab, //0x00003a10 .quad -6058300968568813542 + 0x77, 0x1b, 0x6c, 0xa9, 0x8a, 0x7d, 0x39, 0xae, //0x00003a18 .quad -5892540602936190089 + 0x21, 0x4a, 0x90, 0x8c, 0x35, 0xbd, 0xe7, 0x96, //0x00003a20 .quad -7572876210711016927 + 0x55, 0x22, 0xc7, 0x53, 0xed, 0xdc, 0xc7, 0xd9, //0x00003a28 .quad -2753989735242849707 + 0x54, 0x2e, 0xda, 0x77, 0x41, 0xd6, 0x50, 0x7e, //0x00003a30 .quad 9102010423587778132 + 0x75, 0x75, 0x5c, 0x54, 0x14, 0xea, 0x1c, 0x88, //0x00003a38 .quad -8638772612167862923 + 0xe9, 0xb9, 0xd0, 0xd5, 0xd1, 0x0b, 0xe5, 0xdd, //0x00003a40 .quad -2457545025797441047 + 0xd2, 0x92, 0x73, 0x69, 0x99, 0x24, 0x24, 0xaa, //0x00003a48 .quad -6186779746782440750 + 0x64, 0xe8, 0x44, 0x4b, 0xc6, 0x4e, 0x5e, 0x95, //0x00003a50 .quad -7683617300674189212 + 0x87, 0x77, 0xd0, 0xc3, 0xbf, 0x2d, 0xad, 0xd4, //0x00003a58 .quad -3121788665050663033 + 0x3e, 0x11, 0x0b, 0xef, 0x3b, 0xf1, 0x5a, 0xbd, //0x00003a60 .quad -4802260812921368258 + 0xb4, 0x4a, 0x62, 0xda, 0x97, 0x3c, 0xec, 0x84, //0x00003a68 .quad -8868646943297746252 + 0x8e, 0xd5, 0xcd, 0xea, 0x8a, 0xad, 0xb1, 0xec, //0x00003a70 .quad -1391139997724322418 + 0x61, 0xdd, 0xfa, 0xd0, 0xbd, 0x4b, 0x27, 0xa6, //0x00003a78 .quad -6474122660694794911 + 0xf2, 0x4a, 0x81, 0xa5, 0xed, 0x18, 0xde, 0x67, //0x00003a80 .quad 7484447039699372786 + 0xba, 0x94, 0x39, 0x45, 0xad, 0x1e, 0xb1, 0xcf, //0x00003a88 .quad -3480967307441105734 + 0xd7, 0xce, 0x70, 0x87, 0x94, 0xcf, 0xea, 0x80, //0x00003a90 .quad -9157278655470055721 + 0xf4, 0xfc, 0x43, 0x4b, 0x2c, 0xb3, 0xce, 0x81, //0x00003a98 .quad -9093133594791772940 + 0x8d, 0x02, 0x4d, 0xa9, 0x79, 0x83, 0x25, 0xa1, //0x00003aa0 .quad -6834912300910181747 + 0x31, 0xfc, 0x14, 0x5e, 0xf7, 0x5f, 0x42, 0xa2, //0x00003aa8 .quad -6754730975062328271 + 0x30, 0x43, 0xa0, 0x13, 0x58, 0xe4, 0x6e, 0x09, //0x00003ab0 .quad 679731660717048624 + 0x3e, 0x3b, 0x9a, 0x35, 0xf5, 0xf7, 0xd2, 0xca, //0x00003ab8 .quad -3831727700400522434 + 0xfc, 0x53, 0x88, 0x18, 0x6e, 0x9d, 0xca, 0x8b, //0x00003ac0 .quad -8373707460958465028 + 0x0d, 0xca, 0x00, 0x83, 0xf2, 0xb5, 0x87, 0xfd, //0x00003ac8 .quad -177973607073265139 + 0x7d, 0x34, 0x55, 0xcf, 0x64, 0xa2, 0x5e, 0x77, //0x00003ad0 .quad 8601490892183123069 + 0x48, 0x7e, 0xe0, 0x91, 0xb7, 0xd1, 0x74, 0x9e, //0x00003ad8 .quad -7028762532061872568 + 0x9d, 0x81, 0x2a, 0x03, 0xfe, 0x4a, 0x36, 0x95, //0x00003ae0 .quad -7694880458480647779 + 0xda, 0x9d, 0x58, 0x76, 0x25, 0x06, 0x12, 0xc6, //0x00003ae8 .quad -4174267146649952806 + 0x04, 0x22, 0xf5, 0x83, 0xbd, 0xdd, 0x83, 0x3a, //0x00003af0 .quad 4216457482181353988 + 0x51, 0xc5, 0xee, 0xd3, 0xae, 0x87, 0x96, 0xf7, //0x00003af8 .quad -606147914885053103 + 0x42, 0x35, 0x79, 0x72, 0x96, 0x6a, 0x92, 0xc4, //0x00003b00 .quad -4282243101277735614 + 0x52, 0x3b, 0x75, 0x44, 0xcd, 0x14, 0xbe, 0x9a, //0x00003b08 .quad -7296371474444240046 + 0x93, 0x82, 0x17, 0x0f, 0x3c, 0x05, 0xb7, 0x75, //0x00003b10 .quad 8482254178684994195 + 0x27, 0x8a, 0x92, 0x95, 0x00, 0x9a, 0x6d, 0xc1, //0x00003b18 .quad -4508778324627912153 + 0x38, 0x63, 0xdd, 0x12, 0x8b, 0xc6, 0x24, 0x53, //0x00003b20 .quad 5991131704928854840 + 0xb1, 0x2c, 0xf7, 0xba, 0x80, 0x00, 0xc9, 0xf1, //0x00003b28 .quad -1024286887357502287 + 0x03, 0x5e, 0xca, 0xeb, 0x16, 0xfc, 0xf6, 0xd3, //0x00003b30 .quad -3173071712060547581 + 0xee, 0x7b, 0xda, 0x74, 0x50, 0xa0, 0x1d, 0x97, //0x00003b38 .quad -7557708332239520786 + 0x84, 0xf5, 0xbc, 0xa6, 0x1c, 0xbb, 0xf4, 0x88, //0x00003b40 .quad -8578025658503072380 + 0xea, 0x1a, 0x11, 0x92, 0x64, 0x08, 0xe5, 0xbc, //0x00003b48 .quad -4835449396872013078 + 0xe5, 0x32, 0x6c, 0xd0, 0xe3, 0xe9, 0x31, 0x2b, //0x00003b50 .quad 3112525982153323237 + 0xa5, 0x61, 0x95, 0xb6, 0x7d, 0x4a, 0x1e, 0xec, //0x00003b58 .quad -1432625727662628443 + 0xcf, 0x9f, 0x43, 0x62, 0x2e, 0x32, 0xff, 0x3a, //0x00003b60 .quad 4251171748059520975 + 0x07, 0x5d, 0x1d, 0x92, 0x8e, 0xee, 0x92, 0x93, //0x00003b68 .quad -7812920107430224633 + 0xc2, 0x87, 0xd4, 0xfa, 0xb9, 0xfe, 0xbe, 0x09, //0x00003b70 .quad 702278666647013314 + 0x49, 0xb4, 0xa4, 0x36, 0x32, 0xaa, 0x77, 0xb8, //0x00003b78 .quad -5154464115860392887 + 0xb3, 0xa9, 0x89, 0x79, 0x68, 0xbe, 0x2e, 0x4c, //0x00003b80 .quad 5489534351736154547 + 0x5b, 0xe1, 0x4d, 0xc4, 0xbe, 0x94, 0x95, 0xe6, //0x00003b88 .quad -1831394126398103205 + 0x10, 0x0a, 0xf6, 0x4b, 0x01, 0x37, 0x9d, 0x0f, //0x00003b90 .quad 1125115960621402640 + 0xd9, 0xac, 0xb0, 0x3a, 0xf7, 0x7c, 0x1d, 0x90, //0x00003b98 .quad -8062150356639896359 + 0x94, 0x8c, 0xf3, 0x9e, 0xc1, 0x84, 0x84, 0x53, //0x00003ba0 .quad 6018080969204141204 + 0x0f, 0xd8, 0x5c, 0x09, 0x35, 0xdc, 0x24, 0xb4, //0x00003ba8 .quad -5466001927372482545 + 0xb9, 0x6f, 0xb0, 0x06, 0xf2, 0xa5, 0x65, 0x28, //0x00003bb0 .quad 2910915193077788601 + 0x13, 0x0e, 0xb4, 0x4b, 0x42, 0x13, 0x2e, 0xe1, //0x00003bb8 .quad -2220816390788215277 + 0xd3, 0x45, 0x2e, 0x44, 0xb7, 0x87, 0x3f, 0xf9, //0x00003bc0 .quad -486521013540076077 + 0xcb, 0x88, 0x50, 0x6f, 0x09, 0xcc, 0xbc, 0x8c, //0x00003bc8 .quad -8305539271883716405 + 0x48, 0xd7, 0x39, 0x15, 0xa5, 0x69, 0x8f, 0xf7, //0x00003bd0 .quad -608151266925095096 + 0xfe, 0xaa, 0x24, 0xcb, 0x0b, 0xff, 0xeb, 0xaf, //0x00003bd8 .quad -5770238071427257602 + 0x1b, 0x4d, 0x88, 0x5a, 0x0e, 0x44, 0x73, 0xb5, //0x00003be0 .quad -5371875102083756773 + 0xbe, 0xd5, 0xed, 0xbd, 0xce, 0xfe, 0xe6, 0xdb, //0x00003be8 .quad -2601111570856684098 + 0x30, 0x30, 0x95, 0xf8, 0x88, 0x0a, 0x68, 0x31, //0x00003bf0 .quad 3560107088838733872 + 0x97, 0xa5, 0xb4, 0x36, 0x41, 0x5f, 0x70, 0x89, //0x00003bf8 .quad -8543223759426509417 + 0x3d, 0x7c, 0xba, 0x36, 0x2b, 0x0d, 0xc2, 0xfd, //0x00003c00 .quad -161552157378970563 + 0xfc, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00003c08 .quad -6067343680855748868 + 0x4c, 0x1b, 0x69, 0x04, 0x76, 0x90, 0x32, 0x3d, //0x00003c10 .quad 4409745821703674700 + 0xbc, 0x42, 0x7a, 0xe5, 0xd5, 0x94, 0xbf, 0xd6, //0x00003c18 .quad -2972493582642298180 + 0x0f, 0xb1, 0xc1, 0xc2, 0x49, 0x9a, 0x3f, 0xa6, //0x00003c20 .quad -6467280898289979121 + 0xb5, 0x69, 0x6c, 0xaf, 0x05, 0xbd, 0x37, 0x86, //0x00003c28 .quad -8775337516792518219 + 0x53, 0x1d, 0x72, 0x33, 0xdc, 0x80, 0xcf, 0x0f, //0x00003c30 .quad 1139270913992301907 + 0x23, 0x84, 0x47, 0x1b, 0x47, 0xac, 0xc5, 0xa7, //0x00003c38 .quad -6357485877563259869 + 0xa8, 0xa4, 0x4e, 0x40, 0x13, 0x61, 0xc3, 0xd3, //0x00003c40 .quad -3187597375937010520 + 0x2b, 0x65, 0x19, 0xe2, 0x58, 0x17, 0xb7, 0xd1, //0x00003c48 .quad -3335171328526686933 + 0xe9, 0x26, 0x31, 0x08, 0xac, 0x1c, 0x5a, 0x64, //0x00003c50 .quad 7231123676894144233 + 0x3b, 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83, //0x00003c58 .quad -9002011107970261189 + 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, 0x70, 0x3d, //0x00003c60 .quad 4427218577690292387 + 0x0a, 0xd7, 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, //0x00003c68 .quad -6640827866535438582 + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00003c70 QUAD $0xcccccccccccccccc; QUAD $0xcccccccccccccccc // .space 16, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003c80 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00003c88 .quad -9223372036854775808 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003c90 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, //0x00003c98 .quad -6917529027641081856 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003ca0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, //0x00003ca8 .quad -4035225266123964416 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003cb0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00003cb8 .quad -432345564227567616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003cc0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9c, //0x00003cc8 .quad -7187745005283311616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003cd0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, //0x00003cd8 .quad -4372995238176751616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003ce0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, //0x00003ce8 .quad -854558029293551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003cf0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x96, 0x98, //0x00003cf8 .quad -7451627795949551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003d00 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbc, 0xbe, //0x00003d08 .quad -4702848726509551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003d10 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6b, 0xee, //0x00003d18 .quad -1266874889709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003d20 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x95, //0x00003d28 .quad -7709325833709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003d30 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x40, 0xb7, 0x43, 0xba, //0x00003d38 .quad -5024971273709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003d40 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0xd4, 0xe8, //0x00003d48 .quad -1669528073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003d50 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xe7, 0x84, 0x91, //0x00003d58 .quad -7960984073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003d60 .quad 0 + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x20, 0xe6, 0xb5, //0x00003d68 .quad -5339544073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003d70 .quad 0 + 0x00, 0x00, 0x00, 0xa0, 0x31, 0xa9, 0x5f, 0xe3, //0x00003d78 .quad -2062744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003d80 .quad 0 + 0x00, 0x00, 0x00, 0x04, 0xbf, 0xc9, 0x1b, 0x8e, //0x00003d88 .quad -8206744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003d90 .quad 0 + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0xbc, 0xa2, 0xb1, //0x00003d98 .quad -5646744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003da0 .quad 0 + 0x00, 0x00, 0x40, 0x76, 0x3a, 0x6b, 0x0b, 0xde, //0x00003da8 .quad -2446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003db0 .quad 0 + 0x00, 0x00, 0xe8, 0x89, 0x04, 0x23, 0xc7, 0x8a, //0x00003db8 .quad -8446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003dc0 .quad 0 + 0x00, 0x00, 0x62, 0xac, 0xc5, 0xeb, 0x78, 0xad, //0x00003dc8 .quad -5946744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003dd0 .quad 0 + 0x00, 0x80, 0x7a, 0x17, 0xb7, 0x26, 0xd7, 0xd8, //0x00003dd8 .quad -2821744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003de0 .quad 0 + 0x00, 0x90, 0xac, 0x6e, 0x32, 0x78, 0x86, 0x87, //0x00003de8 .quad -8681119073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003df0 .quad 0 + 0x00, 0xb4, 0x57, 0x0a, 0x3f, 0x16, 0x68, 0xa9, //0x00003df8 .quad -6239712823709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003e00 .quad 0 + 0x00, 0xa1, 0xed, 0xcc, 0xce, 0x1b, 0xc2, 0xd3, //0x00003e08 .quad -3187955011209551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003e10 .quad 0 + 0xa0, 0x84, 0x14, 0x40, 0x61, 0x51, 0x59, 0x84, //0x00003e18 .quad -8910000909647051616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003e20 .quad 0 + 0xc8, 0xa5, 0x19, 0x90, 0xb9, 0xa5, 0x6f, 0xa5, //0x00003e28 .quad -6525815118631426616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003e30 .quad 0 + 0x3a, 0x0f, 0x20, 0xf4, 0x27, 0x8f, 0xcb, 0xce, //0x00003e38 .quad -3545582879861895366 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, //0x00003e40 .quad 4611686018427387904 + 0x84, 0x09, 0x94, 0xf8, 0x78, 0x39, 0x3f, 0x81, //0x00003e48 .quad -9133518327554766460 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, //0x00003e50 .quad 5764607523034234880 + 0xe5, 0x0b, 0xb9, 0x36, 0xd7, 0x07, 0x8f, 0xa1, //0x00003e58 .quad -6805211891016070171 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, //0x00003e60 .quad -6629298651489370112 + 0xde, 0x4e, 0x67, 0x04, 0xcd, 0xc9, 0xf2, 0xc9, //0x00003e68 .quad -3894828845342699810 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, //0x00003e70 .quad 5548434740920451072 + 0x96, 0x22, 0x81, 0x45, 0x40, 0x7c, 0x6f, 0xfc, //0x00003e78 .quad -256850038250986858 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, //0x00003e80 .quad -1143914305352105984 + 0x9d, 0xb5, 0x70, 0x2b, 0xa8, 0xad, 0xc5, 0x9d, //0x00003e88 .quad -7078060301547948643 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6c, //0x00003e90 .quad 7793479155164643328 + 0x05, 0xe3, 0x4c, 0x36, 0x12, 0x19, 0x37, 0xc5, //0x00003e98 .quad -4235889358507547899 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xc7, //0x00003ea0 .quad -4093209111326359552 + 0xc6, 0x1b, 0xe0, 0xc3, 0x56, 0xdf, 0x84, 0xf6, //0x00003ea8 .quad -683175679707046970 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7f, 0x3c, //0x00003eb0 .quad 4359273333062107136 + 0x5c, 0x11, 0x6c, 0x3a, 0x96, 0x0b, 0x13, 0x9a, //0x00003eb8 .quad -7344513827457986212 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x9f, 0x4b, //0x00003ec0 .quad 5449091666327633920 + 0xb3, 0x15, 0x07, 0xc9, 0x7b, 0xce, 0x97, 0xc0, //0x00003ec8 .quad -4568956265895094861 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x86, 0x1e, //0x00003ed0 .quad 2199678564482154496 + 0x20, 0xdb, 0x48, 0xbb, 0x1a, 0xc2, 0xbd, 0xf0, //0x00003ed8 .quad -1099509313941480672 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x14, 0x13, //0x00003ee0 .quad 1374799102801346560 + 0xf4, 0x88, 0x0d, 0xb5, 0x50, 0x99, 0x76, 0x96, //0x00003ee8 .quad -7604722348854507276 + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x55, 0xd9, 0x17, //0x00003ef0 .quad 1718498878501683200 + 0x31, 0xeb, 0x50, 0xe2, 0xa4, 0x3f, 0x14, 0xbc, //0x00003ef8 .quad -4894216917640746191 + 0x00, 0x00, 0x00, 0x00, 0x08, 0xab, 0xcf, 0x5d, //0x00003f00 .quad 6759809616554491904 + 0xfd, 0x25, 0xe5, 0x1a, 0x8e, 0x4f, 0x19, 0xeb, //0x00003f08 .quad -1506085128623544835 + 0x00, 0x00, 0x00, 0x00, 0xe5, 0xca, 0xa1, 0x5a, //0x00003f10 .quad 6530724019560251392 + 0xbe, 0x37, 0xcf, 0xd0, 0xb8, 0xd1, 0xef, 0x92, //0x00003f18 .quad -7858832233030797378 + 0x00, 0x00, 0x00, 0x40, 0x9e, 0x3d, 0x4a, 0xf1, //0x00003f20 .quad -1059967012404461568 + 0xad, 0x05, 0x03, 0x05, 0x27, 0xc6, 0xab, 0xb7, //0x00003f28 .quad -5211854272861108819 + 0x00, 0x00, 0x00, 0xd0, 0x05, 0xcd, 0x9c, 0x6d, //0x00003f30 .quad 7898413271349198848 + 0x19, 0xc7, 0x43, 0xc6, 0xb0, 0xb7, 0x96, 0xe5, //0x00003f38 .quad -1903131822648998119 + 0x00, 0x00, 0x00, 0xa2, 0x23, 0x00, 0x82, 0xe4, //0x00003f40 .quad -1981020733047832576 + 0x6f, 0x5c, 0xea, 0x7b, 0xce, 0x32, 0x7e, 0x8f, //0x00003f48 .quad -8106986416796705681 + 0x00, 0x00, 0x80, 0x8a, 0x2c, 0x80, 0xa2, 0xdd, //0x00003f50 .quad -2476275916309790720 + 0x8b, 0xf3, 0xe4, 0x1a, 0x82, 0xbf, 0x5d, 0xb3, //0x00003f58 .quad -5522047002568494197 + 0x00, 0x00, 0x20, 0xad, 0x37, 0x20, 0x0b, 0xd5, //0x00003f60 .quad -3095344895387238400 + 0x6e, 0x30, 0x9e, 0xa1, 0x62, 0x2f, 0x35, 0xe0, //0x00003f68 .quad -2290872734783229842 + 0x00, 0x00, 0x34, 0xcc, 0x22, 0xf4, 0x26, 0x45, //0x00003f70 .quad 4982938468024057856 + 0x45, 0xde, 0x02, 0xa5, 0x9d, 0x3d, 0x21, 0x8c, //0x00003f78 .quad -8349324486880600507 + 0x00, 0x00, 0x41, 0x7f, 0x2b, 0xb1, 0x70, 0x96, //0x00003f80 .quad -7606384970252091392 + 0xd6, 0x95, 0x43, 0x0e, 0x05, 0x8d, 0x29, 0xaf, //0x00003f88 .quad -5824969590173362730 + 0x00, 0x40, 0x11, 0x5f, 0x76, 0xdd, 0x0c, 0x3c, //0x00003f90 .quad 4327076842467049472 + 0x4c, 0x7b, 0xd4, 0x51, 0x46, 0xf0, 0xf3, 0xda, //0x00003f98 .quad -2669525969289315508 + 0x00, 0xc8, 0x6a, 0xfb, 0x69, 0x0a, 0x88, 0xa5, //0x00003fa0 .quad -6518949010312869888 + 0x0f, 0xcd, 0x24, 0xf3, 0x2b, 0x76, 0xd8, 0x88, //0x00003fa8 .quad -8585982758446904049 + 0x00, 0x7a, 0x45, 0x7a, 0x04, 0x0d, 0xea, 0x8e, //0x00003fb0 .quad -8148686262891087360 + 0x53, 0x00, 0xee, 0xef, 0xb6, 0x93, 0x0e, 0xab, //0x00003fb8 .quad -6120792429631242157 + 0x80, 0xd8, 0xd6, 0x98, 0x45, 0x90, 0xa4, 0x72, //0x00003fc0 .quad 8260886245095692416 + 0x68, 0x80, 0xe9, 0xab, 0xa4, 0x38, 0xd2, 0xd5, //0x00003fc8 .quad -3039304518611664792 + 0x50, 0x47, 0x86, 0x7f, 0x2b, 0xda, 0xa6, 0x47, //0x00003fd0 .quad 5163053903184807760 + 0x41, 0xf0, 0x71, 0xeb, 0x66, 0x63, 0xa3, 0x85, //0x00003fd8 .quad -8817094351773372351 + 0x24, 0xd9, 0x67, 0x5f, 0xb6, 0x90, 0x90, 0x99, //0x00003fe0 .quad -7381240676301154012 + 0x51, 0x6c, 0x4e, 0xa6, 0x40, 0x3c, 0x0c, 0xa7, //0x00003fe8 .quad -6409681921289327535 + 0x6d, 0xcf, 0x41, 0xf7, 0xe3, 0xb4, 0xf4, 0xff, //0x00003ff0 .quad -3178808521666707 + 0x65, 0x07, 0xe2, 0xcf, 0x50, 0x4b, 0xcf, 0xd0, //0x00003ff8 .quad -3400416383184271515 + 0xa4, 0x21, 0x89, 0x7a, 0x0e, 0xf1, 0xf8, 0xbf, //0x00004000 .quad -4613672773753429596 + 0x9f, 0x44, 0xed, 0x81, 0x12, 0x8f, 0x81, 0x82, //0x00004008 .quad -9042789267131251553 + 0x0d, 0x6a, 0x2b, 0x19, 0x52, 0x2d, 0xf7, 0xaf, //0x00004010 .quad -5767090967191786995 + 0xc7, 0x95, 0x68, 0x22, 0xd7, 0xf2, 0x21, 0xa3, //0x00004018 .quad -6691800565486676537 + 0x90, 0x44, 0x76, 0x9f, 0xa6, 0xf8, 0xf4, 0x9b, //0x00004020 .quad -7208863708989733744 + 0x39, 0xbb, 0x02, 0xeb, 0x8c, 0x6f, 0xea, 0xcb, //0x00004028 .quad -3753064688430957767 + 0xb4, 0xd5, 0x53, 0x47, 0xd0, 0x36, 0xf2, 0x02, //0x00004030 .quad 212292400617608628 + 0x08, 0x6a, 0xc3, 0x25, 0x70, 0x0b, 0xe5, 0xfe, //0x00004038 .quad -79644842111309304 + 0x90, 0x65, 0x94, 0x2c, 0x42, 0x62, 0xd7, 0x01, //0x00004040 .quad 132682750386005392 + 0x45, 0x22, 0x9a, 0x17, 0x26, 0x27, 0x4f, 0x9f, //0x00004048 .quad -6967307053960650171 + 0xf5, 0x7e, 0xb9, 0xb7, 0xd2, 0x3a, 0x4d, 0x42, //0x00004050 .quad 4777539456409894645 + 0xd6, 0xaa, 0x80, 0x9d, 0xef, 0xf0, 0x22, 0xc7, //0x00004058 .quad -4097447799023424810 + 0xb2, 0xde, 0xa7, 0x65, 0x87, 0x89, 0xe0, 0xd2, //0x00004060 .quad -3251447716342407502 + 0x8b, 0xd5, 0xe0, 0x84, 0x2b, 0xad, 0xeb, 0xf8, //0x00004068 .quad -510123730351893109 + 0x2f, 0xeb, 0x88, 0x9f, 0xf4, 0x55, 0xcc, 0x63, //0x00004070 .quad 7191217214140771119 + 0x77, 0x85, 0x0c, 0x33, 0x3b, 0x4c, 0x93, 0x9b, //0x00004078 .quad -7236356359111015049 + 0xfb, 0x25, 0x6b, 0xc7, 0x71, 0x6b, 0xbf, 0x3c, //0x00004080 .quad 4377335499248575995 + 0xd5, 0xa6, 0xcf, 0xff, 0x49, 0x1f, 0x78, 0xc2, //0x00004088 .quad -4433759430461380907 + 0x7a, 0xef, 0x45, 0x39, 0x4e, 0x46, 0xef, 0x8b, //0x00004090 .quad -8363388681221443718 + 0x8a, 0x90, 0xc3, 0x7f, 0x1c, 0x27, 0x16, 0xf3, //0x00004098 .quad -930513269649338230 + 0xac, 0xb5, 0xcb, 0xe3, 0xf0, 0x8b, 0x75, 0x97, //0x000040a0 .quad -7532960934977096276 + 0x56, 0x3a, 0xda, 0xcf, 0x71, 0xd8, 0xed, 0x97, //0x000040a8 .quad -7499099821171918250 + 0x17, 0xa3, 0xbe, 0x1c, 0xed, 0xee, 0x52, 0x3d, //0x000040b0 .quad 4418856886560793367 + 0xec, 0xc8, 0xd0, 0x43, 0x8e, 0x4e, 0xe9, 0xbd, //0x000040b8 .quad -4762188758037509908 + 0xdd, 0x4b, 0xee, 0x63, 0xa8, 0xaa, 0xa7, 0x4c, //0x000040c0 .quad 5523571108200991709 + 0x27, 0xfb, 0xc4, 0xd4, 0x31, 0xa2, 0x63, 0xed, //0x000040c8 .quad -1341049929119499481 + 0x6a, 0xef, 0x74, 0x3e, 0xa9, 0xca, 0xe8, 0x8f, //0x000040d0 .quad -8076983103442849942 + 0xf8, 0x1c, 0xfb, 0x24, 0x5f, 0x45, 0x5e, 0x94, //0x000040d8 .quad -7755685233340769032 + 0x44, 0x2b, 0x12, 0x8e, 0x53, 0xfd, 0xe2, 0xb3, //0x000040e0 .quad -5484542860876174524 + 0x36, 0xe4, 0x39, 0xee, 0xb6, 0xd6, 0x75, 0xb9, //0x000040e8 .quad -5082920523248573386 + 0x16, 0xb6, 0x96, 0x71, 0xa8, 0xbc, 0xdb, 0x60, //0x000040f0 .quad 6979379479186945558 + 0x44, 0x5d, 0xc8, 0xa9, 0x64, 0x4c, 0xd3, 0xe7, //0x000040f8 .quad -1741964635633328828 + 0xcd, 0x31, 0xfe, 0x46, 0xe9, 0x55, 0x89, 0xbc, //0x00004100 .quad -4861259862362934835 + 0x4a, 0x3a, 0x1d, 0xea, 0xbe, 0x0f, 0xe4, 0x90, //0x00004108 .quad -8006256924911912374 + 0x41, 0xbe, 0xbd, 0x98, 0x63, 0xab, 0xab, 0x6b, //0x00004110 .quad 7758483227328495169 + 0xdd, 0x88, 0xa4, 0xa4, 0xae, 0x13, 0x1d, 0xb5, //0x00004118 .quad -5396135137712502563 + 0xd1, 0x2d, 0xed, 0x7e, 0x3c, 0x96, 0x96, 0xc6, //0x00004120 .quad -4136954021121544751 + 0x14, 0xab, 0xcd, 0x4d, 0x9a, 0x58, 0x64, 0xe2, //0x00004128 .quad -2133482903713240300 + 0xa2, 0x3c, 0x54, 0xcf, 0xe5, 0x1d, 0x1e, 0xfc, //0x00004130 .quad -279753253987271518 + 0xec, 0x8a, 0xa0, 0x70, 0x60, 0xb7, 0x7e, 0x8d, //0x00004138 .quad -8250955842461857044 + 0xcb, 0x4b, 0x29, 0x43, 0x5f, 0xa5, 0x25, 0x3b, //0x00004140 .quad 4261994450943298507 + 0xa8, 0xad, 0xc8, 0x8c, 0x38, 0x65, 0xde, 0xb0, //0x00004148 .quad -5702008784649933400 + 0xbe, 0x9e, 0xf3, 0x13, 0xb7, 0x0e, 0xef, 0x49, //0x00004150 .quad 5327493063679123134 + 0x12, 0xd9, 0xfa, 0xaf, 0x86, 0xfe, 0x15, 0xdd, //0x00004158 .quad -2515824962385028846 + 0x37, 0x43, 0x78, 0x6c, 0x32, 0x69, 0x35, 0x6e, //0x00004160 .quad 7941369183226839863 + 0xab, 0xc7, 0xfc, 0x2d, 0x14, 0xbf, 0x2d, 0x8a, //0x00004168 .quad -8489919629131724885 + 0x04, 0x54, 0x96, 0x07, 0x7f, 0xc3, 0xc2, 0x49, //0x00004170 .quad 5315025460606161924 + 0x96, 0xf9, 0x7b, 0x39, 0xd9, 0x2e, 0xb9, 0xac, //0x00004178 .quad -6000713517987268202 + 0x06, 0xe9, 0x7b, 0xc9, 0x5e, 0x74, 0x33, 0xdc, //0x00004180 .quad -2579590211097073402 + 0xfb, 0xf7, 0xda, 0x87, 0x8f, 0x7a, 0xe7, 0xd7, //0x00004188 .quad -2889205879056697349 + 0xa3, 0x71, 0xed, 0x3d, 0xbb, 0x28, 0xa0, 0x69, //0x00004190 .quad 7611128154919104931 + 0xfd, 0xda, 0xe8, 0xb4, 0x99, 0xac, 0xf0, 0x86, //0x00004198 .quad -8723282702051517699 + 0x0c, 0xce, 0x68, 0x0d, 0xea, 0x32, 0x08, 0xc4, //0x000041a0 .quad -4321147861633282548 + 0xbc, 0x11, 0x23, 0x22, 0xc0, 0xd7, 0xac, 0xa8, //0x000041a8 .quad -6292417359137009220 + 0x90, 0x01, 0xc3, 0x90, 0xa4, 0x3f, 0x0a, 0xf5, //0x000041b0 .quad -789748808614215280 + 0x2b, 0xd6, 0xab, 0x2a, 0xb0, 0x0d, 0xd8, 0xd2, //0x000041b8 .quad -3253835680493873621 + 0xfa, 0xe0, 0x79, 0xda, 0xc6, 0x67, 0x26, 0x79, //0x000041c0 .quad 8729779031470891258 + 0xdb, 0x65, 0xab, 0x1a, 0x8e, 0x08, 0xc7, 0x83, //0x000041c8 .quad -8951176327949752869 + 0x38, 0x59, 0x18, 0x91, 0xb8, 0x01, 0x70, 0x57, //0x000041d0 .quad 6300537770911226168 + 0x52, 0x3f, 0x56, 0xa1, 0xb1, 0xca, 0xb8, 0xa4, //0x000041d8 .quad -6577284391509803182 + 0x86, 0x6f, 0x5e, 0xb5, 0x26, 0x02, 0x4c, 0xed, //0x000041e0 .quad -1347699823215743098 + 0x26, 0xcf, 0xab, 0x09, 0x5e, 0xfd, 0xe6, 0xcd, //0x000041e8 .quad -3609919470959866074 + 0xb4, 0x05, 0x5b, 0x31, 0x58, 0x81, 0x4f, 0x54, //0x000041f0 .quad 6075216638131242420 + 0x78, 0x61, 0x0b, 0xc6, 0x5a, 0x5e, 0xb0, 0x80, //0x000041f8 .quad -9173728696990998152 + 0x21, 0xc7, 0xb1, 0x3d, 0xae, 0x61, 0x63, 0x69, //0x00004200 .quad 7594020797664053025 + 0xd6, 0x39, 0x8e, 0x77, 0xf1, 0x75, 0xdc, 0xa0, //0x00004208 .quad -6855474852811359786 + 0xe9, 0x38, 0x1e, 0xcd, 0x19, 0x3a, 0xbc, 0x03, //0x00004210 .quad 269153960225290473 + 0x4c, 0xc8, 0x71, 0xd5, 0x6d, 0x93, 0x13, 0xc9, //0x00004218 .quad -3957657547586811828 + 0x23, 0xc7, 0x65, 0x40, 0xa0, 0x48, 0xab, 0x04, //0x00004220 .quad 336442450281613091 + 0x5f, 0x3a, 0xce, 0x4a, 0x49, 0x78, 0x58, 0xfb, //0x00004228 .quad -335385916056126881 + 0x76, 0x9c, 0x3f, 0x28, 0x64, 0x0d, 0xeb, 0x62, //0x00004230 .quad 7127805559067090038 + 0x7b, 0xe4, 0xc0, 0xce, 0x2d, 0x4b, 0x17, 0x9d, //0x00004238 .quad -7127145225176161157 + 0x94, 0x83, 0x4f, 0x32, 0xbd, 0xd0, 0xa5, 0x3b, //0x00004240 .quad 4298070930406474644 + 0x9a, 0x1d, 0x71, 0x42, 0xf9, 0x1d, 0x5d, 0xc4, //0x00004248 .quad -4297245513042813542 + 0x79, 0x64, 0xe3, 0x7e, 0xec, 0x44, 0x8f, 0xca, //0x00004250 .quad -3850783373846682503 + 0x00, 0x65, 0x0d, 0x93, 0x77, 0x65, 0x74, 0xf5, //0x00004258 .quad -759870872876129024 + 0xcb, 0x1e, 0x4e, 0xcf, 0x13, 0x8b, 0x99, 0x7e, //0x00004260 .quad 9122475437414293195 + 0x20, 0x5f, 0xe8, 0xbb, 0x6a, 0xbf, 0x68, 0x99, //0x00004268 .quad -7392448323188662496 + 0x7e, 0xa6, 0x21, 0xc3, 0xd8, 0xed, 0x3f, 0x9e, //0x00004270 .quad -7043649776941685122 + 0xe8, 0x76, 0xe2, 0x6a, 0x45, 0xef, 0xc2, 0xbf, //0x00004278 .quad -4628874385558440216 + 0x1e, 0x10, 0xea, 0xf3, 0x4e, 0xe9, 0xcf, 0xc5, //0x00004280 .quad -4192876202749718498 + 0xa2, 0x14, 0x9b, 0xc5, 0x16, 0xab, 0xb3, 0xef, //0x00004288 .quad -1174406963520662366 + 0x12, 0x4a, 0x72, 0x58, 0xd1, 0xf1, 0xa1, 0xbb, //0x00004290 .quad -4926390635932268014 + 0xe5, 0xec, 0x80, 0x3b, 0xee, 0x4a, 0xd0, 0x95, //0x00004298 .quad -7651533379841495835 + 0x97, 0xdc, 0x8e, 0xae, 0x45, 0x6e, 0x8a, 0x2a, //0x000042a0 .quad 3065383741939440791 + 0x1f, 0x28, 0x61, 0xca, 0xa9, 0x5d, 0x44, 0xbb, //0x000042a8 .quad -4952730706374481889 + 0xbd, 0x93, 0x32, 0x1a, 0xd7, 0x09, 0x2d, 0xf5, //0x000042b0 .quad -779956341003086915 + 0x26, 0x72, 0xf9, 0x3c, 0x14, 0x75, 0x15, 0xea, //0x000042b8 .quad -1579227364540714458 + 0x56, 0x9c, 0x5f, 0x70, 0x26, 0x26, 0x3c, 0x59, //0x000042c0 .quad 6430056314514152534 + 0x58, 0xe7, 0x1b, 0xa6, 0x2c, 0x69, 0x4d, 0x92, //0x000042c8 .quad -7904546130479028392 + 0x6c, 0x83, 0x77, 0x0c, 0xb0, 0x2f, 0x8b, 0x6f, //0x000042d0 .quad 8037570393142690668 + 0x2e, 0xe1, 0xa2, 0xcf, 0x77, 0xc3, 0xe0, 0xb6, //0x000042d8 .quad -5268996644671397586 + 0x47, 0x64, 0x95, 0x0f, 0x9c, 0xfb, 0x6d, 0x0b, //0x000042e0 .quad 823590954573587527 + 0x7a, 0x99, 0x8b, 0xc3, 0x55, 0xf4, 0x98, 0xe4, //0x000042e8 .quad -1974559787411859078 + 0xac, 0x5e, 0xbd, 0x89, 0x41, 0xbd, 0x24, 0x47, //0x000042f0 .quad 5126430365035880108 + 0xec, 0x3f, 0x37, 0x9a, 0xb5, 0x98, 0xdf, 0x8e, //0x000042f8 .quad -8151628894773493780 + 0x57, 0xb6, 0x2c, 0xec, 0x91, 0xec, 0xed, 0x58, //0x00004300 .quad 6408037956294850135 + 0xe7, 0x0f, 0xc5, 0x00, 0xe3, 0x7e, 0x97, 0xb2, //0x00004308 .quad -5577850100039479321 + 0xed, 0xe3, 0x37, 0x67, 0xb6, 0x67, 0x29, 0x2f, //0x00004310 .quad 3398361426941174765 + 0xe1, 0x53, 0xf6, 0xc0, 0x9b, 0x5e, 0x3d, 0xdf, //0x00004318 .quad -2360626606621961247 + 0x74, 0xee, 0x82, 0x00, 0xd2, 0xe0, 0x79, 0xbd, //0x00004320 .quad -4793553135802847628 + 0x6c, 0xf4, 0x99, 0x58, 0x21, 0x5b, 0x86, 0x8b, //0x00004328 .quad -8392920656779807636 + 0x11, 0xaa, 0xa3, 0x80, 0x06, 0x59, 0xd8, 0xec, //0x00004330 .quad -1380255401326171631 + 0x87, 0x71, 0xc0, 0xae, 0xe9, 0xf1, 0x67, 0xae, //0x00004338 .quad -5879464802547371641 + 0x95, 0x94, 0xcc, 0x20, 0x48, 0x6f, 0x0e, 0xe8, //0x00004340 .quad -1725319251657714539 + 0xe9, 0x8d, 0x70, 0x1a, 0x64, 0xee, 0x01, 0xda, //0x00004348 .quad -2737644984756826647 + 0xdd, 0xdc, 0x7f, 0x14, 0x8d, 0x05, 0x09, 0x31, //0x00004350 .quad 3533361486141316317 + 0xb2, 0x58, 0x86, 0x90, 0xfe, 0x34, 0x41, 0x88, //0x00004358 .quad -8628557143114098510 + 0x15, 0xd4, 0x9f, 0x59, 0xf0, 0x46, 0x4b, 0xbd, //0x00004360 .quad -4806670179178130411 + 0xde, 0xee, 0xa7, 0x34, 0x3e, 0x82, 0x51, 0xaa, //0x00004368 .quad -6174010410465235234 + 0x1a, 0xc9, 0x07, 0x70, 0xac, 0x18, 0x9e, 0x6c, //0x00004370 .quad 7826720331309500698 + 0x96, 0xea, 0xd1, 0xc1, 0xcd, 0xe2, 0xe5, 0xd4, //0x00004378 .quad -3105826994654156138 + 0xb0, 0xdd, 0x04, 0xc6, 0x6b, 0xcf, 0xe2, 0x03, //0x00004380 .quad 280014188641050032 + 0x9e, 0x32, 0x23, 0x99, 0xc0, 0xad, 0x0f, 0x85, //0x00004388 .quad -8858670899299929442 + 0x1c, 0x15, 0x86, 0xb7, 0x46, 0x83, 0xdb, 0x84, //0x00004390 .quad -8873354301053463268 + 0x45, 0xff, 0x6b, 0xbf, 0x30, 0x99, 0x53, 0xa6, //0x00004398 .quad -6461652605697523899 + 0x63, 0x9a, 0x67, 0x65, 0x18, 0x64, 0x12, 0xe6, //0x000043a0 .quad -1868320839462053277 + 0x16, 0xff, 0x46, 0xef, 0x7c, 0x7f, 0xe8, 0xcf, //0x000043a8 .quad -3465379738694516970 + 0x7e, 0xc0, 0x60, 0x3f, 0x8f, 0x7e, 0xcb, 0x4f, //0x000043b0 .quad 5749828502977298558 + 0x6e, 0x5f, 0x8c, 0x15, 0xae, 0x4f, 0xf1, 0x81, //0x000043b8 .quad -9083391364325154962 + 0x9d, 0xf0, 0x38, 0x0f, 0x33, 0x5e, 0xbe, 0xe3, //0x000043c0 .quad -2036086408133152611 + 0x49, 0x77, 0xef, 0x9a, 0x99, 0xa3, 0x6d, 0xa2, //0x000043c8 .quad -6742553186979055799 + 0xc5, 0x2c, 0x07, 0xd3, 0xbf, 0xf5, 0xad, 0x5c, //0x000043d0 .quad 6678264026688335045 + 0x1c, 0x55, 0xab, 0x01, 0x80, 0x0c, 0x09, 0xcb, //0x000043d8 .quad -3816505465296431844 + 0xf6, 0xf7, 0xc8, 0xc7, 0x2f, 0x73, 0xd9, 0x73, //0x000043e0 .quad 8347830033360418806 + 0x63, 0x2a, 0x16, 0x02, 0xa0, 0x4f, 0xcb, 0xfd, //0x000043e8 .quad -158945813193151901 + 0xfa, 0x9a, 0xdd, 0xdc, 0xfd, 0xe7, 0x67, 0x28, //0x000043f0 .quad 2911550761636567802 + 0x7e, 0xda, 0x4d, 0x01, 0xc4, 0x11, 0x9f, 0x9e, //0x000043f8 .quad -7016870160886801794 + 0xb8, 0x01, 0x15, 0x54, 0xfd, 0xe1, 0x81, 0xb2, //0x00004400 .quad -5583933584809066056 + 0x1d, 0x51, 0xa1, 0x01, 0x35, 0xd6, 0x46, 0xc6, //0x00004408 .quad -4159401682681114339 + 0x26, 0x42, 0x1a, 0xa9, 0x7c, 0x5a, 0x22, 0x1f, //0x00004410 .quad 2243455055843443238 + 0x65, 0xa5, 0x09, 0x42, 0xc2, 0x8b, 0xd8, 0xf7, //0x00004418 .quad -587566084924005019 + 0x58, 0x69, 0xb0, 0xe9, 0x8d, 0x78, 0x75, 0x33, //0x00004420 .quad 3708002419115845976 + 0x5f, 0x07, 0x46, 0x69, 0x59, 0x57, 0xe7, 0x9a, //0x00004428 .quad -7284757830718584993 + 0xae, 0x83, 0x1c, 0x64, 0xb1, 0xd6, 0x52, 0x00, //0x00004430 .quad 23317005467419566 + 0x37, 0x89, 0x97, 0xc3, 0x2f, 0x2d, 0xa1, 0xc1, //0x00004438 .quad -4494261269970843337 + 0x9a, 0xa4, 0x23, 0xbd, 0x5d, 0x8c, 0x67, 0xc0, //0x00004440 .quad -4582539761593113446 + 0x84, 0x6b, 0x7d, 0xb4, 0x7b, 0x78, 0x09, 0xf2, //0x00004448 .quad -1006140569036166268 + 0xe0, 0x46, 0x36, 0x96, 0xba, 0xb7, 0x40, 0xf8, //0x00004450 .quad -558244341782001952 + 0x32, 0x63, 0xce, 0x50, 0x4d, 0xeb, 0x45, 0x97, //0x00004458 .quad -7546366883288685774 + 0x98, 0xd8, 0xc3, 0x3b, 0xa9, 0xe5, 0x50, 0xb6, //0x00004460 .quad -5309491445654890344 + 0xff, 0xfb, 0x01, 0xa5, 0x20, 0x66, 0x17, 0xbd, //0x00004468 .quad -4821272585683469313 + 0xbe, 0xce, 0xb4, 0x8a, 0x13, 0x1f, 0xe5, 0xa3, //0x00004470 .quad -6636864307068612930 + 0xff, 0x7a, 0x42, 0xce, 0xa8, 0x3f, 0x5d, 0xec, //0x00004478 .quad -1414904713676948737 + 0x37, 0x01, 0xb1, 0x36, 0x6c, 0x33, 0x6f, 0xc6, //0x00004480 .quad -4148040191917883081 + 0xdf, 0x8c, 0xe9, 0x80, 0xc9, 0x47, 0xba, 0x93, //0x00004488 .quad -7801844473689174817 + 0x84, 0x41, 0x5d, 0x44, 0x47, 0x00, 0x0b, 0xb8, //0x00004490 .quad -5185050239897353852 + 0x17, 0xf0, 0x23, 0xe1, 0xbb, 0xd9, 0xa8, 0xb8, //0x00004498 .quad -5140619573684080617 + 0xe5, 0x91, 0x74, 0x15, 0x59, 0xc0, 0x0d, 0xa6, //0x000044a0 .quad -6481312799871692315 + 0x1d, 0xec, 0x6c, 0xd9, 0x2a, 0x10, 0xd3, 0xe6, //0x000044a8 .quad -1814088448677712867 + 0x2f, 0xdb, 0x68, 0xad, 0x37, 0x98, 0xc8, 0x87, //0x000044b0 .quad -8662506518347195601 + 0x92, 0x13, 0xe4, 0xc7, 0x1a, 0xea, 0x43, 0x90, //0x000044b8 .quad -8051334308064652398 + 0xfb, 0x11, 0xc3, 0x98, 0x45, 0xbe, 0xba, 0x29, //0x000044c0 .quad 3006924907348169211 + 0x77, 0x18, 0xdd, 0x79, 0xa1, 0xe4, 0x54, 0xb4, //0x000044c8 .quad -5452481866653427593 + 0x7a, 0xd6, 0xf3, 0xfe, 0xd6, 0x6d, 0x29, 0xf4, //0x000044d0 .quad -853029884242176390 + 0x94, 0x5e, 0x54, 0xd8, 0xc9, 0x1d, 0x6a, 0xe1, //0x000044d8 .quad -2203916314889396588 + 0x0c, 0x66, 0x58, 0x5f, 0xa6, 0xe4, 0x99, 0x18, //0x000044e0 .quad 1772699331562333708 + 0x1d, 0xbb, 0x34, 0x27, 0x9e, 0x52, 0xe2, 0x8c, //0x000044e8 .quad -8294976724446954723 + 0x8f, 0x7f, 0x2e, 0xf7, 0xcf, 0x5d, 0xc0, 0x5e, //0x000044f0 .quad 6827560182880305039 + 0xe4, 0xe9, 0x01, 0xb1, 0x45, 0xe7, 0x1a, 0xb0, //0x000044f8 .quad -5757034887131305500 + 0x73, 0x1f, 0xfa, 0xf4, 0x43, 0x75, 0x70, 0x76, //0x00004500 .quad 8534450228600381299 + 0x5d, 0x64, 0x42, 0x1d, 0x17, 0xa1, 0x21, 0xdc, //0x00004508 .quad -2584607590486743971 + 0xa8, 0x53, 0x1c, 0x79, 0x4a, 0x49, 0x06, 0x6a, //0x00004510 .quad 7639874402088932264 + 0xba, 0x7e, 0x49, 0x72, 0xae, 0x04, 0x95, 0x89, //0x00004518 .quad -8532908771695296838 + 0x92, 0x68, 0x63, 0x17, 0x9d, 0xdb, 0x87, 0x04, //0x00004520 .quad 326470965756389522 + 0x69, 0xde, 0xdb, 0x0e, 0xda, 0x45, 0xfa, 0xab, //0x00004528 .quad -6054449946191733143 + 0xb6, 0x42, 0x3c, 0x5d, 0x84, 0xd2, 0xa9, 0x45, //0x00004530 .quad 5019774725622874806 + 0x03, 0xd6, 0x92, 0x92, 0x50, 0xd7, 0xf8, 0xd6, //0x00004538 .quad -2956376414312278525 + 0xb2, 0xa9, 0x45, 0xba, 0x92, 0x23, 0x8a, 0x0b, //0x00004540 .quad 831516194300602802 + 0xc2, 0xc5, 0x9b, 0x5b, 0x92, 0x86, 0x5b, 0x86, //0x00004548 .quad -8765264286586255934 + 0x1e, 0x14, 0xd7, 0x68, 0x77, 0xac, 0x6c, 0x8e, //0x00004550 .quad -8183976793979022306 + 0x32, 0xb7, 0x82, 0xf2, 0x36, 0x68, 0xf2, 0xa7, //0x00004558 .quad -6344894339805432014 + 0x26, 0xd9, 0x0c, 0x43, 0x95, 0xd7, 0x07, 0x32, //0x00004560 .quad 3605087062808385830 + 0xff, 0x64, 0x23, 0xaf, 0x44, 0x02, 0xef, 0xd1, //0x00004568 .quad -3319431906329402113 + 0xb8, 0x07, 0xe8, 0x49, 0xbd, 0xe6, 0x44, 0x7f, //0x00004570 .quad 9170708441896323000 + 0x1f, 0x1f, 0x76, 0xed, 0x6a, 0x61, 0x35, 0x83, //0x00004578 .quad -8992173969096958177 + 0xa6, 0x09, 0x62, 0x9c, 0x6c, 0x20, 0x16, 0x5f, //0x00004580 .quad 6851699533943015846 + 0xe7, 0xa6, 0xd3, 0xa8, 0xc5, 0xb9, 0x02, 0xa4, //0x00004588 .quad -6628531442943809817 + 0x0f, 0x8c, 0x7a, 0xc3, 0x87, 0xa8, 0xdb, 0x36, //0x00004590 .quad 3952938399001381903 + 0xa1, 0x90, 0x08, 0x13, 0x37, 0x68, 0x03, 0xcd, //0x00004598 .quad -3673978285252374367 + 0x89, 0x97, 0x2c, 0xda, 0x54, 0x49, 0x49, 0xc2, //0x000045a0 .quad -4446942528265218167 + 0x64, 0x5a, 0xe5, 0x6b, 0x22, 0x21, 0x22, 0x80, //0x000045a8 .quad -9213765455923815836 + 0x6c, 0xbd, 0xb7, 0x10, 0xaa, 0x9b, 0xdb, 0xf2, //0x000045b0 .quad -946992141904134804 + 0xfd, 0xb0, 0xde, 0x06, 0x6b, 0xa9, 0x2a, 0xa0, //0x000045b8 .quad -6905520801477381891 + 0xc7, 0xac, 0xe5, 0x94, 0x94, 0x82, 0x92, 0x6f, //0x000045c0 .quad 8039631859474607303 + 0x3d, 0x5d, 0x96, 0xc8, 0xc5, 0x53, 0x35, 0xc8, //0x000045c8 .quad -4020214983419339459 + 0xf9, 0x17, 0x1f, 0xba, 0x39, 0x23, 0x77, 0xcb, //0x000045d0 .quad -3785518230938904583 + 0x8c, 0xf4, 0xbb, 0x3a, 0xb7, 0xa8, 0x42, 0xfa, //0x000045d8 .quad -413582710846786420 + 0xfb, 0x6e, 0x53, 0x14, 0x04, 0x76, 0x2a, 0xff, //0x000045e0 .quad -60105885123121413 + 0xd7, 0x78, 0xb5, 0x84, 0x72, 0xa9, 0x69, 0x9c, //0x000045e8 .quad -7176018221920323369 + 0xba, 0x4a, 0x68, 0x19, 0x85, 0x13, 0xf5, 0xfe, //0x000045f0 .quad -75132356403901766 + 0x0d, 0xd7, 0xe2, 0x25, 0xcf, 0x13, 0x84, 0xc3, //0x000045f8 .quad -4358336758973016307 + 0x69, 0x5d, 0xc2, 0x5f, 0x66, 0x58, 0xb2, 0x7e, //0x00004600 .quad 9129456591349898601 + 0xd1, 0x8c, 0x5b, 0xef, 0xc2, 0x18, 0x65, 0xf4, //0x00004608 .quad -836234930288882479 + 0x61, 0x7a, 0xd9, 0xfb, 0x3f, 0x77, 0x2f, 0xef, //0x00004610 .quad -1211618658047395231 + 0x02, 0x38, 0x99, 0xd5, 0x79, 0x2f, 0xbf, 0x98, //0x00004618 .quad -7440175859071633406 + 0xfa, 0xd8, 0xcf, 0xfa, 0x0f, 0x55, 0xfb, 0xaa, //0x00004620 .quad -6126209340986631942 + 0x03, 0x86, 0xff, 0x4a, 0x58, 0xfb, 0xee, 0xbe, //0x00004628 .quad -4688533805412153853 + 0x38, 0xcf, 0x83, 0xf9, 0x53, 0x2a, 0xba, 0x95, //0x00004630 .quad -7657761676233289928 + 0x84, 0x67, 0xbf, 0x5d, 0x2e, 0xba, 0xaa, 0xee, //0x00004638 .quad -1248981238337804412 + 0x83, 0x61, 0xf2, 0x7b, 0x74, 0x5a, 0x94, 0xdd, //0x00004640 .quad -2480258038432112253 + 0xb2, 0xa0, 0x97, 0xfa, 0x5c, 0xb4, 0x2a, 0x95, //0x00004648 .quad -7698142301602209614 + 0xe4, 0xf9, 0xee, 0x9a, 0x11, 0x71, 0xf9, 0x94, //0x00004650 .quad -7712008566467528220 + 0xdf, 0x88, 0x3d, 0x39, 0x74, 0x61, 0x75, 0xba, //0x00004658 .quad -5010991858575374113 + 0x5d, 0xb8, 0xaa, 0x01, 0x56, 0xcd, 0x37, 0x7a, //0x00004660 .quad 8806733365625141341 + 0x17, 0xeb, 0x8c, 0x47, 0xd1, 0xb9, 0x12, 0xe9, //0x00004668 .quad -1652053804791829737 + 0x3a, 0xb3, 0x0a, 0xc1, 0x55, 0xe0, 0x62, 0xac, //0x00004670 .quad -6025006692552756422 + 0xee, 0x12, 0xb8, 0xcc, 0x22, 0xb4, 0xab, 0x91, //0x00004678 .quad -7950062655635975442 + 0x09, 0x60, 0x4d, 0x31, 0x6b, 0x98, 0x7b, 0x57, //0x00004680 .quad 6303799689591218185 + 0xaa, 0x17, 0xe6, 0x7f, 0x2b, 0xa1, 0x16, 0xb6, //0x00004688 .quad -5325892301117581398 + 0x0b, 0xb8, 0xa0, 0xfd, 0x85, 0x7e, 0x5a, 0xed, //0x00004690 .quad -1343622424865753077 + 0x94, 0x9d, 0xdf, 0x5f, 0x76, 0x49, 0x9c, 0xe3, //0x00004698 .quad -2045679357969588844 + 0x07, 0x73, 0x84, 0xbe, 0x13, 0x8f, 0x58, 0x14, //0x000046a0 .quad 1466078993672598279 + 0x7d, 0xc2, 0xeb, 0xfb, 0xe9, 0xad, 0x41, 0x8e, //0x000046a8 .quad -8196078626372074883 + 0xc8, 0x8f, 0x25, 0xae, 0xd8, 0xb2, 0x6e, 0x59, //0x000046b0 .quad 6444284760518135752 + 0x1c, 0xb3, 0xe6, 0x7a, 0x64, 0x19, 0xd2, 0xb1, //0x000046b8 .quad -5633412264537705700 + 0xbb, 0xf3, 0xae, 0xd9, 0x8e, 0x5f, 0xca, 0x6f, //0x000046c0 .quad 8055355950647669691 + 0xe3, 0x5f, 0xa0, 0x99, 0xbd, 0x9f, 0x46, 0xde, //0x000046c8 .quad -2430079312244744221 + 0x54, 0x58, 0x0d, 0x48, 0xb9, 0x7b, 0xde, 0x25, //0x000046d0 .quad 2728754459941099604 + 0xee, 0x3b, 0x04, 0x80, 0xd6, 0x23, 0xec, 0x8a, //0x000046d8 .quad -8436328597794046994 + 0x6a, 0xae, 0x10, 0x9a, 0xa7, 0x1a, 0x56, 0xaf, //0x000046e0 .quad -5812428961928401302 + 0xe9, 0x4a, 0x05, 0x20, 0xcc, 0x2c, 0xa7, 0xad, //0x000046e8 .quad -5933724728815170839 + 0x04, 0xda, 0x94, 0x80, 0x51, 0xa1, 0x2b, 0x1b, //0x000046f0 .quad 1957835834444274180 + 0xa4, 0x9d, 0x06, 0x28, 0xff, 0xf7, 0x10, 0xd9, //0x000046f8 .quad -2805469892591575644 + 0x42, 0x08, 0x5d, 0xf0, 0xd2, 0x44, 0xfb, 0x90, //0x00004700 .quad -7999724640327104446 + 0x86, 0x22, 0x04, 0x79, 0xff, 0x9a, 0xaa, 0x87, //0x00004708 .quad -8670947710510816634 + 0x53, 0x4a, 0x74, 0xac, 0x07, 0x16, 0x3a, 0x35, //0x00004710 .quad 3835402254873283155 + 0x28, 0x2b, 0x45, 0x57, 0xbf, 0x41, 0x95, 0xa9, //0x00004718 .quad -6226998619711132888 + 0xe8, 0x5c, 0x91, 0x97, 0x89, 0x9b, 0x88, 0x42, //0x00004720 .quad 4794252818591603944 + 0xf2, 0x75, 0x16, 0x2d, 0x2f, 0x92, 0xfa, 0xd3, //0x00004728 .quad -3172062256211528206 + 0x11, 0xda, 0xba, 0xfe, 0x35, 0x61, 0x95, 0x69, //0x00004730 .quad 7608094030047140369 + 0xb7, 0x09, 0x2e, 0x7c, 0x5d, 0x9b, 0x7c, 0x84, //0x00004738 .quad -8900067937773286985 + 0x95, 0x90, 0x69, 0x7e, 0x83, 0xb9, 0xfa, 0x43, //0x00004740 .quad 4898431519131537557 + 0x25, 0x8c, 0x39, 0xdb, 0x34, 0xc2, 0x9b, 0xa5, //0x00004748 .quad -6513398903789220827 + 0xbb, 0xf4, 0x03, 0x5e, 0xe4, 0x67, 0xf9, 0x94, //0x00004750 .quad -7712018656367741765 + 0x2e, 0xef, 0x07, 0x12, 0xc2, 0xb2, 0x02, 0xcf, //0x00004758 .quad -3530062611309138130 + 0xf5, 0x78, 0xc2, 0xba, 0xee, 0xe0, 0x1b, 0x1d, //0x00004760 .quad 2097517367411243253 + 0x7d, 0xf5, 0x44, 0x4b, 0xb9, 0xaf, 0x61, 0x81, //0x00004768 .quad -9123818159709293187 + 0x32, 0x17, 0x73, 0x69, 0x2a, 0xd9, 0x62, 0x64, //0x00004770 .quad 7233582727691441970 + 0xdc, 0x32, 0x16, 0x9e, 0xa7, 0x1b, 0xba, 0xa1, //0x00004778 .quad -6793086681209228580 + 0xfe, 0xdc, 0xcf, 0x03, 0x75, 0x8f, 0x7b, 0x7d, //0x00004780 .quad 9041978409614302462 + 0x93, 0xbf, 0x9b, 0x85, 0x91, 0xa2, 0x28, 0xca, //0x00004788 .quad -3879672333084147821 + 0x3e, 0xd4, 0xc3, 0x44, 0x52, 0x73, 0xda, 0x5c, //0x00004790 .quad 6690786993590490174 + 0x78, 0xaf, 0x02, 0xe7, 0x35, 0xcb, 0xb2, 0xfc, //0x00004798 .quad -237904397927796872 + 0xa7, 0x64, 0xfa, 0x6a, 0x13, 0x88, 0x08, 0x3a, //0x000047a0 .quad 4181741870994056359 + 0xab, 0xad, 0x61, 0xb0, 0x01, 0xbf, 0xef, 0x9d, //0x000047a8 .quad -7066219276345954901 + 0xd0, 0xfd, 0xb8, 0x45, 0x18, 0xaa, 0x8a, 0x08, //0x000047b0 .quad 615491320315182544 + 0x16, 0x19, 0x7a, 0x1c, 0xc2, 0xae, 0x6b, 0xc5, //0x000047b8 .quad -4221088077005055722 + 0x45, 0x3d, 0x27, 0x57, 0x9e, 0x54, 0xad, 0x8a, //0x000047c0 .quad -8454007886460797627 + 0x5b, 0x9f, 0x98, 0xa3, 0x72, 0x9a, 0xc6, 0xf6, //0x000047c8 .quad -664674077828931749 + 0x4b, 0x86, 0x78, 0xf6, 0xe2, 0x54, 0xac, 0x36, //0x000047d0 .quad 3939617107816777291 + 0x99, 0x63, 0x3f, 0xa6, 0x87, 0x20, 0x3c, 0x9a, //0x000047d8 .quad -7332950326284164199 + 0xdd, 0xa7, 0x16, 0xb4, 0x1b, 0x6a, 0x57, 0x84, //0x000047e0 .quad -8910536670511192099 + 0x7f, 0x3c, 0xcf, 0x8f, 0xa9, 0x28, 0xcb, 0xc0, //0x000047e8 .quad -4554501889427817345 + 0xd5, 0x51, 0x1c, 0xa1, 0xa2, 0x44, 0x6d, 0x65, //0x000047f0 .quad 7308573235570561493 + 0x9f, 0x0b, 0xc3, 0xf3, 0xd3, 0xf2, 0xfd, 0xf0, //0x000047f8 .quad -1081441343357383777 + 0x25, 0xb3, 0xb1, 0xa4, 0xe5, 0x4a, 0x64, 0x9f, //0x00004800 .quad -6961356773836868827 + 0x43, 0xe7, 0x59, 0x78, 0xc4, 0xb7, 0x9e, 0x96, //0x00004808 .quad -7593429867239446717 + 0xee, 0x1f, 0xde, 0x0d, 0x9f, 0x5d, 0x3d, 0x87, //0x00004810 .quad -8701695967296086034 + 0x14, 0x61, 0x70, 0x96, 0xb5, 0x65, 0x46, 0xbc, //0x00004818 .quad -4880101315621920492 + 0xea, 0xa7, 0x55, 0xd1, 0x06, 0xb5, 0x0c, 0xa9, //0x00004820 .quad -6265433940692719638 + 0x59, 0x79, 0x0c, 0xfc, 0x22, 0xff, 0x57, 0xeb, //0x00004828 .quad -1488440626100012711 + 0xf2, 0x88, 0xd5, 0x42, 0x24, 0xf1, 0xa7, 0x09, //0x00004830 .quad 695789805494438130 + 0xd8, 0xcb, 0x87, 0xdd, 0x75, 0xff, 0x16, 0x93, //0x00004838 .quad -7847804418953589800 + 0x2f, 0xeb, 0x8a, 0x53, 0x6d, 0xed, 0x11, 0x0c, //0x00004840 .quad 869737256868047663 + 0xce, 0xbe, 0xe9, 0x54, 0x53, 0xbf, 0xdc, 0xb7, //0x00004848 .quad -5198069505264599346 + 0xfa, 0xa5, 0x6d, 0xa8, 0xc8, 0x68, 0x16, 0x8f, //0x00004850 .quad -8136200465769716230 + 0x81, 0x2e, 0x24, 0x2a, 0x28, 0xef, 0xd3, 0xe5, //0x00004858 .quad -1885900863153361279 + 0xbc, 0x87, 0x44, 0x69, 0x7d, 0x01, 0x6e, 0xf9, //0x00004860 .quad -473439272678684740 + 0x10, 0x9d, 0x56, 0x1a, 0x79, 0x75, 0xa4, 0x8f, //0x00004868 .quad -8096217067111932656 + 0xac, 0xa9, 0x95, 0xc3, 0xdc, 0x81, 0xc9, 0x37, //0x00004870 .quad 4019886927579031980 + 0x55, 0x44, 0xec, 0x60, 0xd7, 0x92, 0x8d, 0xb3, //0x00004878 .quad -5508585315462527915 + 0x17, 0x14, 0x7b, 0xf4, 0x53, 0xe2, 0xbb, 0x85, //0x00004880 .quad -8810199395808373737 + 0x6a, 0x55, 0x27, 0x39, 0x8d, 0xf7, 0x70, 0xe0, //0x00004888 .quad -2274045625900771990 + 0x8e, 0xec, 0xcc, 0x78, 0x74, 0x6d, 0x95, 0x93, //0x00004890 .quad -7812217631593927538 + 0x62, 0x95, 0xb8, 0x43, 0xb8, 0x9a, 0x46, 0x8c, //0x00004898 .quad -8338807543829064350 + 0xb2, 0x27, 0x00, 0x97, 0xd1, 0xc8, 0x7a, 0x38, //0x000048a0 .quad 4069786015789754290 + 0xbb, 0xba, 0xa6, 0x54, 0x66, 0x41, 0x58, 0xaf, //0x000048a8 .quad -5811823411358942533 + 0x9e, 0x31, 0xc0, 0xfc, 0x05, 0x7b, 0x99, 0x06, //0x000048b0 .quad 475546501309804958 + 0x6a, 0x69, 0xd0, 0xe9, 0xbf, 0x51, 0x2e, 0xdb, //0x000048b8 .quad -2653093245771290262 + 0x03, 0x1f, 0xf8, 0xbd, 0xe3, 0xec, 0x1f, 0x44, //0x000048c0 .quad 4908902581746016003 + 0xe2, 0x41, 0x22, 0xf2, 0x17, 0xf3, 0xfc, 0x88, //0x000048c8 .quad -8575712306248138270 + 0xc3, 0x26, 0x76, 0xad, 0x1c, 0xe8, 0x27, 0xd5, //0x000048d0 .quad -3087243809672255805 + 0x5a, 0xd2, 0xaa, 0xee, 0xdd, 0x2f, 0x3c, 0xab, //0x000048d8 .quad -6107954364382784934 + 0x74, 0xb0, 0xd3, 0xd8, 0x23, 0xe2, 0x71, 0x8a, //0x000048e0 .quad -8470740780517707660 + 0xf1, 0x86, 0x55, 0x6a, 0xd5, 0x3b, 0x0b, 0xd6, //0x000048e8 .quad -3023256937051093263 + 0x49, 0x4e, 0x84, 0x67, 0x56, 0x2d, 0x87, 0xf6, //0x000048f0 .quad -682526969396179383 + 0x56, 0x74, 0x75, 0x62, 0x65, 0x05, 0xc7, 0x85, //0x000048f8 .quad -8807064613298015146 + 0xdb, 0x61, 0x65, 0x01, 0xac, 0xf8, 0x28, 0xb4, //0x00004900 .quad -5464844730172612133 + 0x6c, 0xd1, 0x12, 0xbb, 0xbe, 0xc6, 0x38, 0xa7, //0x00004908 .quad -6397144748195131028 + 0x52, 0xba, 0xbe, 0x01, 0xd7, 0x36, 0x33, 0xe1, //0x00004910 .quad -2219369894288377262 + 0xc7, 0x85, 0xd7, 0x69, 0x6e, 0xf8, 0x06, 0xd1, //0x00004918 .quad -3384744916816525881 + 0x73, 0x34, 0x17, 0x61, 0x46, 0x02, 0xc0, 0xec, //0x00004920 .quad -1387106183930235789 + 0x9c, 0xb3, 0x26, 0x02, 0x45, 0x5b, 0xa4, 0x82, //0x00004928 .quad -9032994600651410532 + 0x90, 0x01, 0x5d, 0xf9, 0xd7, 0x02, 0xf0, 0x27, //0x00004930 .quad 2877803288514593168 + 0x84, 0x60, 0xb0, 0x42, 0x16, 0x72, 0x4d, 0xa3, //0x00004938 .quad -6679557232386875260 + 0xf4, 0x41, 0xb4, 0xf7, 0x8d, 0x03, 0xec, 0x31, //0x00004940 .quad 3597254110643241460 + 0xa5, 0x78, 0x5c, 0xd3, 0x9b, 0xce, 0x20, 0xcc, //0x00004948 .quad -3737760522056206171 + 0x71, 0x52, 0xa1, 0x75, 0x71, 0x04, 0x67, 0x7e, //0x00004950 .quad 9108253656731439729 + 0xce, 0x96, 0x33, 0xc8, 0x42, 0x02, 0x29, 0xff, //0x00004958 .quad -60514634142869810 + 0x86, 0xd3, 0x84, 0xe9, 0xc6, 0x62, 0x00, 0x0f, //0x00004960 .quad 1080972517029761926 + 0x41, 0x3e, 0x20, 0xbd, 0x69, 0xa1, 0x79, 0x9f, //0x00004968 .quad -6955350673980375487 + 0x68, 0x08, 0xe6, 0xa3, 0x78, 0x7b, 0xc0, 0x52, //0x00004970 .quad 5962901664714590312 + 0xd1, 0x4d, 0x68, 0x2c, 0xc4, 0x09, 0x58, 0xc7, //0x00004978 .quad -4082502324048081455 + 0x82, 0x8a, 0xdf, 0xcc, 0x56, 0x9a, 0x70, 0xa7, //0x00004980 .quad -6381430974388925822 + 0x45, 0x61, 0x82, 0x37, 0x35, 0x0c, 0x2e, 0xf9, //0x00004988 .quad -491441886632713915 + 0x91, 0xb6, 0x0b, 0x40, 0x76, 0x60, 0xa6, 0x88, //0x00004990 .quad -8600080377420466543 + 0xcb, 0x7c, 0xb1, 0x42, 0xa1, 0xc7, 0xbc, 0x9b, //0x00004998 .quad -7224680206786528053 + 0x35, 0xa4, 0x0e, 0xd0, 0x93, 0xf8, 0xcf, 0x6a, //0x000049a0 .quad 7696643601933968437 + 0xfe, 0xdb, 0x5d, 0x93, 0x89, 0xf9, 0xab, 0xc2, //0x000049a8 .quad -4419164240055772162 + 0x43, 0x4d, 0x12, 0xc4, 0xb8, 0xf6, 0x83, 0x05, //0x000049b0 .quad 397432465562684739 + 0xfe, 0x52, 0x35, 0xf8, 0xeb, 0xf7, 0x56, 0xf3, //0x000049b8 .quad -912269281642327298 + 0x4a, 0x70, 0x8b, 0x7a, 0x33, 0x7a, 0x72, 0xc3, //0x000049c0 .quad -4363290727450709942 + 0xde, 0x53, 0x21, 0x7b, 0xf3, 0x5a, 0x16, 0x98, //0x000049c8 .quad -7487697328667536418 + 0x5c, 0x4c, 0x2e, 0x59, 0xc0, 0x18, 0x4f, 0x74, //0x000049d0 .quad 8380944645968776284 + 0xd6, 0xa8, 0xe9, 0x59, 0xb0, 0xf1, 0x1b, 0xbe, //0x000049d8 .quad -4747935642407032618 + 0x73, 0xdf, 0x79, 0x6f, 0xf0, 0xde, 0x62, 0x11, //0x000049e0 .quad 1252808770606194547 + 0x0c, 0x13, 0x64, 0x70, 0x1c, 0xee, 0xa2, 0xed, //0x000049e8 .quad -1323233534581402868 + 0xa8, 0x2b, 0xac, 0x45, 0x56, 0xcb, 0xdd, 0x8a, //0x000049f0 .quad -8440366555225904216 + 0xe7, 0x8b, 0x3e, 0xc6, 0xd1, 0xd4, 0x85, 0x94, //0x000049f8 .quad -7744549986754458649 + 0x92, 0x36, 0x17, 0xd7, 0x2b, 0x3e, 0x95, 0x6d, //0x00004a00 .quad 7896285879677171346 + 0xe1, 0x2e, 0xce, 0x37, 0x06, 0x4a, 0xa7, 0xb9, //0x00004a08 .quad -5069001465015685407 + 0x37, 0x04, 0xdd, 0xcc, 0xb6, 0x8d, 0xfa, 0xc8, //0x00004a10 .quad -3964700705685699529 + 0x99, 0xba, 0xc1, 0xc5, 0x87, 0x1c, 0x11, 0xe8, //0x00004a18 .quad -1724565812842218855 + 0xa2, 0x22, 0x0a, 0x40, 0x92, 0x98, 0x9c, 0x1d, //0x00004a20 .quad 2133748077373825698 + 0xa0, 0x14, 0x99, 0xdb, 0xd4, 0xb1, 0x0a, 0x91, //0x00004a28 .quad -7995382660667468640 + 0x4b, 0xab, 0x0c, 0xd0, 0xb6, 0xbe, 0x03, 0x25, //0x00004a30 .quad 2667185096717282123 + 0xc8, 0x59, 0x7f, 0x12, 0x4a, 0x5e, 0x4d, 0xb5, //0x00004a38 .quad -5382542307406947896 + 0x1d, 0xd6, 0x0f, 0x84, 0x64, 0xae, 0x44, 0x2e, //0x00004a40 .quad 3333981370896602653 + 0x3a, 0x30, 0x1f, 0x97, 0xdc, 0xb5, 0xa0, 0xe2, //0x00004a48 .quad -2116491865831296966 + 0xd2, 0xe5, 0x89, 0xd2, 0xfe, 0xec, 0xea, 0x5c, //0x00004a50 .quad 6695424375237764562 + 0x24, 0x7e, 0x73, 0xde, 0xa9, 0x71, 0xa4, 0x8d, //0x00004a58 .quad -8240336443785642460 + 0x47, 0x5f, 0x2c, 0x87, 0x3e, 0xa8, 0x25, 0x74, //0x00004a60 .quad 8369280469047205703 + 0xad, 0x5d, 0x10, 0x56, 0x14, 0x8e, 0x0d, 0xb1, //0x00004a68 .quad -5688734536304665171 + 0x19, 0x77, 0xf7, 0x28, 0x4e, 0x12, 0x2f, 0xd1, //0x00004a70 .quad -3373457468973156583 + 0x18, 0x75, 0x94, 0x6b, 0x99, 0xf1, 0x50, 0xdd, //0x00004a78 .quad -2499232151953443560 + 0x6f, 0xaa, 0x9a, 0xd9, 0x70, 0x6b, 0xbd, 0x82, //0x00004a80 .quad -9025939945749304721 + 0x2f, 0xc9, 0x3c, 0xe3, 0xff, 0x96, 0x52, 0x8a, //0x00004a88 .quad -8479549122611984081 + 0x0b, 0x55, 0x01, 0x10, 0x4d, 0xc6, 0x6c, 0x63, //0x00004a90 .quad 7164319141522920715 + 0x7b, 0xfb, 0x0b, 0xdc, 0xbf, 0x3c, 0xe7, 0xac, //0x00004a98 .quad -5987750384837592197 + 0x4e, 0xaa, 0x01, 0x54, 0xe0, 0xf7, 0x47, 0x3c, //0x00004aa0 .quad 4343712908476262990 + 0x5a, 0xfa, 0x0e, 0xd3, 0xef, 0x0b, 0x21, 0xd8, //0x00004aa8 .quad -2873001962619602342 + 0x71, 0x0a, 0x81, 0x34, 0xec, 0xfa, 0xac, 0x65, //0x00004ab0 .quad 7326506586225052273 + 0x78, 0x5c, 0xe9, 0xe3, 0x75, 0xa7, 0x14, 0x87, //0x00004ab8 .quad -8713155254278333320 + 0x0d, 0x4d, 0xa1, 0x41, 0xa7, 0x39, 0x18, 0x7f, //0x00004ac0 .quad 9158133232781315341 + 0x96, 0xb3, 0xe3, 0x5c, 0x53, 0xd1, 0xd9, 0xa8, //0x00004ac8 .quad -6279758049420528746 + 0x50, 0xa0, 0x09, 0x12, 0x11, 0x48, 0xde, 0x1e, //0x00004ad0 .quad 2224294504121868368 + 0x7c, 0xa0, 0x1c, 0x34, 0xa8, 0x45, 0x10, 0xd3, //0x00004ad8 .quad -3238011543348273028 + 0x32, 0x04, 0x46, 0xab, 0x0a, 0xed, 0x4a, 0x93, //0x00004ae0 .quad -7833187971778608078 + 0x4d, 0xe4, 0x91, 0x20, 0x89, 0x2b, 0xea, 0x83, //0x00004ae8 .quad -8941286242233752499 + 0x3f, 0x85, 0x17, 0x56, 0x4d, 0xa8, 0x1d, 0xf8, //0x00004af0 .quad -568112927868484289 + 0x60, 0x5d, 0xb6, 0x68, 0x6b, 0xb6, 0xe4, 0xa4, //0x00004af8 .quad -6564921784364802720 + 0x8e, 0x66, 0x9d, 0xab, 0x60, 0x12, 0x25, 0x36, //0x00004b00 .quad 3901544858591782542 + 0xb9, 0xf4, 0xe3, 0x42, 0x06, 0xe4, 0x1d, 0xce, //0x00004b08 .quad -3594466212028615495 + 0x19, 0x60, 0x42, 0x6b, 0x7c, 0x2b, 0xd7, 0xc1, //0x00004b10 .quad -4479063491021217767 + 0xf3, 0x78, 0xce, 0xe9, 0x83, 0xae, 0xd2, 0x80, //0x00004b18 .quad -9164070410158966541 + 0x1f, 0xf8, 0x12, 0x86, 0x5b, 0xf6, 0x4c, 0xb2, //0x00004b20 .quad -5598829363776522209 + 0x30, 0x17, 0x42, 0xe4, 0x24, 0x5a, 0x07, 0xa1, //0x00004b28 .quad -6843401994271320272 + 0x27, 0xb6, 0x97, 0x67, 0xf2, 0x33, 0xe0, 0xde, //0x00004b30 .quad -2386850686293264857 + 0xfc, 0x9c, 0x52, 0x1d, 0xae, 0x30, 0x49, 0xc9, //0x00004b38 .quad -3942566474411762436 + 0xb1, 0xa3, 0x7d, 0x01, 0xef, 0x40, 0x98, 0x16, //0x00004b40 .quad 1628122660560806833 + 0x3c, 0x44, 0xa7, 0xa4, 0xd9, 0x7c, 0x9b, 0xfb, //0x00004b48 .quad -316522074587315140 + 0x4e, 0x86, 0xee, 0x60, 0x95, 0x28, 0x1f, 0x8e, //0x00004b50 .quad -8205795374004271538 + 0xa5, 0x8a, 0xe8, 0x06, 0x08, 0x2e, 0x41, 0x9d, //0x00004b58 .quad -7115355324258153819 + 0xe2, 0x27, 0x2a, 0xb9, 0xba, 0xf2, 0xa6, 0xf1, //0x00004b60 .quad -1033872180650563614 + 0x4e, 0xad, 0xa2, 0x08, 0x8a, 0x79, 0x91, 0xc4, //0x00004b68 .quad -4282508136895304370 + 0xdb, 0xb1, 0x74, 0x67, 0x69, 0xaf, 0x10, 0xae, //0x00004b70 .quad -5904026244240592421 + 0xa2, 0x58, 0xcb, 0x8a, 0xec, 0xd7, 0xb5, 0xf5, //0x00004b78 .quad -741449152691742558 + 0x29, 0xef, 0xa8, 0xe0, 0xa1, 0x6d, 0xca, 0xac, //0x00004b80 .quad -5995859411864064215 + 0x65, 0x17, 0xbf, 0xd6, 0xf3, 0xa6, 0x91, 0x99, //0x00004b88 .quad -7380934748073420955 + 0xf3, 0x2a, 0xd3, 0x58, 0x0a, 0x09, 0xfd, 0x17, //0x00004b90 .quad 1728547772024695539 + 0x3f, 0xdd, 0x6e, 0xcc, 0xb0, 0x10, 0xf6, 0xbf, //0x00004b98 .quad -4614482416664388289 + 0xb0, 0xf5, 0x07, 0xef, 0x4c, 0x4b, 0xfc, 0xdd, //0x00004ba0 .quad -2451001303396518480 + 0x8e, 0x94, 0x8a, 0xff, 0xdc, 0x94, 0xf3, 0xef, //0x00004ba8 .quad -1156417002403097458 + 0x8e, 0xf9, 0x64, 0x15, 0x10, 0xaf, 0xbd, 0x4a, //0x00004bb0 .quad 5385653213018257806 + 0xd9, 0x9c, 0xb6, 0x1f, 0x0a, 0x3d, 0xf8, 0x95, //0x00004bb8 .quad -7640289654143017767 + 0xf1, 0x37, 0xbe, 0x1a, 0xd4, 0x1a, 0x6d, 0x9d, //0x00004bc0 .quad -7102991539009341455 + 0x0f, 0x44, 0xa4, 0xa7, 0x4c, 0x4c, 0x76, 0xbb, //0x00004bc8 .quad -4938676049251384305 + 0xed, 0xc5, 0x6d, 0x21, 0x89, 0x61, 0xc8, 0x84, //0x00004bd0 .quad -8878739423761676819 + 0x13, 0x55, 0x8d, 0xd1, 0x5f, 0xdf, 0x53, 0xea, //0x00004bd8 .quad -1561659043136842477 + 0xb4, 0x9b, 0xe4, 0xb4, 0xf5, 0x3c, 0xfd, 0x32, //0x00004be0 .quad 3674159897003727796 + 0x2c, 0x55, 0xf8, 0xe2, 0x9b, 0x6b, 0x74, 0x92, //0x00004be8 .quad -7893565929601608404 + 0xa1, 0xc2, 0x1d, 0x22, 0x33, 0x8c, 0xbc, 0x3f, //0x00004bf0 .quad 4592699871254659745 + 0x77, 0x6a, 0xb6, 0xdb, 0x82, 0x86, 0x11, 0xb7, //0x00004bf8 .quad -5255271393574622601 + 0x4a, 0x33, 0xa5, 0xea, 0x3f, 0xaf, 0xab, 0x0f, //0x00004c00 .quad 1129188820640936778 + 0x15, 0x05, 0xa4, 0x92, 0x23, 0xe8, 0xd5, 0xe4, //0x00004c08 .quad -1957403223540890347 + 0x0e, 0x40, 0xa7, 0xf2, 0x87, 0x4d, 0xcb, 0x29, //0x00004c10 .quad 3011586022114279438 + 0x2d, 0x83, 0xa6, 0x3b, 0x16, 0xb1, 0x05, 0x8f, //0x00004c18 .quad -8140906042354138323 + 0x12, 0x10, 0x51, 0xef, 0xe9, 0x20, 0x3e, 0x74, //0x00004c20 .quad 8376168546070237202 + 0xf8, 0x23, 0x90, 0xca, 0x5b, 0x1d, 0xc7, 0xb2, //0x00004c28 .quad -5564446534515285000 + 0x16, 0x54, 0x25, 0x6b, 0x24, 0xa9, 0x4d, 0x91, //0x00004c30 .quad -7976533391121755114 + 0xf6, 0x2c, 0x34, 0xbd, 0xb2, 0xe4, 0x78, 0xdf, //0x00004c38 .quad -2343872149716718346 + 0x8e, 0x54, 0xf7, 0xc2, 0xb6, 0x89, 0xd0, 0x1a, //0x00004c40 .quad 1932195658189984910 + 0x1a, 0x9c, 0x40, 0xb6, 0xef, 0x8e, 0xab, 0x8b, //0x00004c48 .quad -8382449121214030822 + 0xb1, 0x29, 0xb5, 0x73, 0x24, 0xac, 0x84, 0xa1, //0x00004c50 .quad -6808127464117294671 + 0x20, 0xc3, 0xd0, 0xa3, 0xab, 0x72, 0x96, 0xae, //0x00004c58 .quad -5866375383090150624 + 0x1e, 0x74, 0xa2, 0x90, 0x2d, 0xd7, 0xe5, 0xc9, //0x00004c60 .quad -3898473311719230434 + 0xe8, 0xf3, 0xc4, 0x8c, 0x56, 0x0f, 0x3c, 0xda, //0x00004c68 .quad -2721283210435300376 + 0x92, 0x88, 0x65, 0x7a, 0x7c, 0xa6, 0x2f, 0x7e, //0x00004c70 .quad 9092669226243950738 + 0x71, 0x18, 0xfb, 0x17, 0x96, 0x89, 0x65, 0x88, //0x00004c78 .quad -8618331034163144591 + 0xb7, 0xea, 0xfe, 0x98, 0x1b, 0x90, 0xbb, 0xdd, //0x00004c80 .quad -2469221522477225289 + 0x8d, 0xde, 0xf9, 0x9d, 0xfb, 0xeb, 0x7e, 0xaa, //0x00004c88 .quad -6161227774276542835 + 0x65, 0xa5, 0x3e, 0x7f, 0x22, 0x74, 0x2a, 0x55, //0x00004c90 .quad 6136845133758244197 + 0x31, 0x56, 0x78, 0x85, 0xfa, 0xa6, 0x1e, 0xd5, //0x00004c98 .quad -3089848699418290639 + 0x5f, 0x27, 0x87, 0x8f, 0x95, 0x88, 0x3a, 0xd5, //0x00004ca0 .quad -3082000819042179233 + 0xde, 0x35, 0x6b, 0x93, 0x5c, 0x28, 0x33, 0x85, //0x00004ca8 .quad -8848684464777513506 + 0x37, 0xf1, 0x68, 0xf3, 0xba, 0x2a, 0x89, 0x8a, //0x00004cb0 .quad -8464187042230111945 + 0x56, 0x03, 0x46, 0xb8, 0x73, 0xf2, 0x7f, 0xa6, //0x00004cb8 .quad -6449169562544503978 + 0x85, 0x2d, 0x43, 0xb0, 0x69, 0x75, 0x2b, 0x2d, //0x00004cc0 .quad 3254824252494523781 + 0x2c, 0x84, 0x57, 0xa6, 0x10, 0xef, 0x1f, 0xd0, //0x00004cc8 .quad -3449775934753242068 + 0x73, 0xfc, 0x29, 0x0e, 0x62, 0x29, 0x3b, 0x9c, //0x00004cd0 .quad -7189106879045698445 + 0x9b, 0xb2, 0xf6, 0x67, 0x6a, 0xf5, 0x13, 0x82, //0x00004cd8 .quad -9073638986861858149 + 0x8f, 0x7b, 0xb4, 0x91, 0xba, 0xf3, 0x49, 0x83, //0x00004ce0 .quad -8986383598807123057 + 0x42, 0x5f, 0xf4, 0x01, 0xc5, 0xf2, 0x98, 0xa2, //0x00004ce8 .quad -6730362715149934782 + 0x73, 0x9a, 0x21, 0x36, 0xa9, 0x70, 0x1c, 0x24, //0x00004cf0 .quad 2602078556773259891 + 0x13, 0x77, 0x71, 0x42, 0x76, 0x2f, 0x3f, 0xcb, //0x00004cf8 .quad -3801267375510030573 + 0x10, 0x01, 0xaa, 0x83, 0xd3, 0x8c, 0x23, 0xed, //0x00004d00 .quad -1359087822460813040 + 0xd7, 0xd4, 0x0d, 0xd3, 0x53, 0xfb, 0x0e, 0xfe, //0x00004d08 .quad -139898200960150313 + 0xaa, 0x40, 0x4a, 0x32, 0x04, 0x38, 0x36, 0xf4, //0x00004d10 .quad -849429889038008150 + 0x06, 0xa5, 0xe8, 0x63, 0x14, 0x5d, 0xc9, 0x9e, //0x00004d18 .quad -7004965403241175802 + 0xd5, 0xd0, 0xdc, 0x3e, 0x05, 0xc6, 0x43, 0xb1, //0x00004d20 .quad -5673473379724898091 + 0x48, 0xce, 0xe2, 0x7c, 0x59, 0xb4, 0x7b, 0xc6, //0x00004d28 .quad -4144520735624081848 + 0x0a, 0x05, 0x94, 0x8e, 0x86, 0xb7, 0x94, 0xdd, //0x00004d30 .quad -2480155706228734710 + 0xda, 0x81, 0x1b, 0xdc, 0x6f, 0xa1, 0x1a, 0xf8, //0x00004d38 .quad -568964901102714406 + 0x26, 0x83, 0x1c, 0x19, 0xb4, 0xf2, 0x7c, 0xca, //0x00004d40 .quad -3855940325606653146 + 0x28, 0x31, 0x91, 0xe9, 0xe5, 0xa4, 0x10, 0x9b, //0x00004d48 .quad -7273132090830278360 + 0xf0, 0xa3, 0x63, 0x1f, 0x61, 0x2f, 0x1c, 0xfd, //0x00004d50 .quad -208239388580928528 + 0x72, 0x7d, 0xf5, 0x63, 0x1f, 0xce, 0xd4, 0xc1, //0x00004d58 .quad -4479729095110460046 + 0xec, 0x8c, 0x3c, 0x67, 0x39, 0x3b, 0x63, 0xbc, //0x00004d60 .quad -4871985254153548564 + 0xcf, 0xdc, 0xf2, 0x3c, 0xa7, 0x01, 0x4a, 0xf2, //0x00004d68 .quad -987975350460687153 + 0x13, 0xd8, 0x85, 0xe0, 0x03, 0x05, 0xbe, 0xd5, //0x00004d70 .quad -3044990783845967853 + 0x01, 0xca, 0x17, 0x86, 0x08, 0x41, 0x6e, 0x97, //0x00004d78 .quad -7535013621679011327 + 0x18, 0x4e, 0xa7, 0xd8, 0x44, 0x86, 0x2d, 0x4b, //0x00004d80 .quad 5417133557047315992 + 0x82, 0xbc, 0x9d, 0xa7, 0x4a, 0xd1, 0x49, 0xbd, //0x00004d88 .quad -4807081008671376254 + 0x9e, 0x21, 0xd1, 0x0e, 0xd6, 0xe7, 0xf8, 0xdd, //0x00004d90 .quad -2451955090545630818 + 0xa2, 0x2b, 0x85, 0x51, 0x9d, 0x45, 0x9c, 0xec, //0x00004d98 .quad -1397165242411832414 + 0x03, 0xb5, 0x42, 0xc9, 0xe5, 0x90, 0xbb, 0xca, //0x00004da0 .quad -3838314940804713213 + 0x45, 0x3b, 0xf3, 0x52, 0x82, 0xab, 0xe1, 0x93, //0x00004da8 .quad -7790757304148477115 + 0x43, 0x62, 0x93, 0x3b, 0x1f, 0x75, 0x6a, 0x3d, //0x00004db0 .quad 4425478360848884291 + 0x17, 0x0a, 0xb0, 0xe7, 0x62, 0x16, 0xda, 0xb8, //0x00004db8 .quad -5126760611758208489 + 0xd4, 0x3a, 0x78, 0x0a, 0x67, 0x12, 0xc5, 0x0c, //0x00004dc0 .quad 920161932633717460 + 0x9d, 0x0c, 0x9c, 0xa1, 0xfb, 0x9b, 0x10, 0xe7, //0x00004dc8 .quad -1796764746270372707 + 0xc5, 0x24, 0x8b, 0x66, 0x80, 0x2b, 0xfb, 0x27, //0x00004dd0 .quad 2880944217109767365 + 0xe2, 0x87, 0x01, 0x45, 0x7d, 0x61, 0x6a, 0x90, //0x00004dd8 .quad -8040506994060064798 + 0xf6, 0xed, 0x2d, 0x80, 0x60, 0xf6, 0xf9, 0xb1, //0x00004de0 .quad -5622191765467566602 + 0xda, 0xe9, 0x41, 0x96, 0xdc, 0xf9, 0x84, 0xb4, //0x00004de8 .quad -5438947724147693094 + 0x73, 0x69, 0x39, 0xa0, 0xf8, 0x73, 0x78, 0x5e, //0x00004df0 .quad 6807318348447705459 + 0x51, 0x64, 0xd2, 0xbb, 0x53, 0x38, 0xa6, 0xe1, //0x00004df8 .quad -2186998636757228463 + 0xe8, 0xe1, 0x23, 0x64, 0x7b, 0x48, 0x0b, 0xdb, //0x00004e00 .quad -2662955059861265944 + 0xb2, 0x7e, 0x63, 0x55, 0x34, 0xe3, 0x07, 0x8d, //0x00004e08 .quad -8284403175614349646 + 0x62, 0xda, 0x2c, 0x3d, 0x9a, 0x1a, 0xce, 0x91, //0x00004e10 .quad -7940379843253970334 + 0x5f, 0x5e, 0xbc, 0x6a, 0x01, 0xdc, 0x49, 0xb0, //0x00004e18 .quad -5743817951090549153 + 0xfb, 0x10, 0x78, 0xcc, 0x40, 0xa1, 0x41, 0x76, //0x00004e20 .quad 8521269269642088699 + 0xf7, 0x75, 0x6b, 0xc5, 0x01, 0x53, 0x5c, 0xdc, //0x00004e28 .quad -2568086420435798537 + 0x9d, 0x0a, 0xcb, 0x7f, 0xc8, 0x04, 0xe9, 0xa9, //0x00004e30 .quad -6203421752542164323 + 0xba, 0x29, 0x63, 0x1b, 0xe1, 0xb3, 0xb9, 0x89, //0x00004e38 .quad -8522583040413455942 + 0x44, 0xcd, 0xbd, 0x9f, 0xfa, 0x45, 0x63, 0x54, //0x00004e40 .quad 6080780864604458308 + 0x29, 0xf4, 0x3b, 0x62, 0xd9, 0x20, 0x28, 0xac, //0x00004e48 .quad -6041542782089432023 + 0x95, 0x40, 0xad, 0x47, 0x79, 0x17, 0x7c, 0xa9, //0x00004e50 .quad -6234081974526590827 + 0x33, 0xf1, 0xca, 0xba, 0x0f, 0x29, 0x32, 0xd7, //0x00004e58 .quad -2940242459184402125 + 0x5d, 0x48, 0xcc, 0xcc, 0xab, 0x8e, 0xed, 0x49, //0x00004e60 .quad 5327070802775656541 + 0xc0, 0xd6, 0xbe, 0xd4, 0xa9, 0x59, 0x7f, 0x86, //0x00004e68 .quad -8755180564631333184 + 0x74, 0x5a, 0xff, 0xbf, 0x56, 0xf2, 0x68, 0x5c, //0x00004e70 .quad 6658838503469570676 + 0x70, 0x8c, 0xee, 0x49, 0x14, 0x30, 0x1f, 0xa8, //0x00004e78 .quad -6332289687361778576 + 0x11, 0x31, 0xff, 0x6f, 0xec, 0x2e, 0x83, 0x73, //0x00004e80 .quad 8323548129336963345 + 0x8c, 0x2f, 0x6a, 0x5c, 0x19, 0xfc, 0x26, 0xd2, //0x00004e88 .quad -3303676090774835316 + 0xab, 0x7e, 0xff, 0xc5, 0x53, 0xfd, 0x31, 0xc8, //0x00004e90 .quad -4021154456019173717 + 0xb7, 0x5d, 0xc2, 0xd9, 0x8f, 0x5d, 0x58, 0x83, //0x00004e98 .quad -8982326584375353929 + 0x55, 0x5e, 0x7f, 0xb7, 0xa8, 0x7c, 0x3e, 0xba, //0x00004ea0 .quad -5026443070023967147 + 0x25, 0xf5, 0x32, 0xd0, 0xf3, 0x74, 0x2e, 0xa4, //0x00004ea8 .quad -6616222212041804507 + 0xeb, 0x35, 0x5f, 0xe5, 0xd2, 0x1b, 0xce, 0x28, //0x00004eb0 .quad 2940318199324816875 + 0x6f, 0xb2, 0x3f, 0xc4, 0x30, 0x12, 0x3a, 0xcd, //0x00004eb8 .quad -3658591746624867729 + 0xb3, 0x81, 0x5b, 0xcf, 0x63, 0xd1, 0x80, 0x79, //0x00004ec0 .quad 8755227902219092403 + 0x85, 0xcf, 0xa7, 0x7a, 0x5e, 0x4b, 0x44, 0x80, //0x00004ec8 .quad -9204148869281624187 + 0x1f, 0x62, 0x32, 0xc3, 0xbc, 0x05, 0xe1, 0xd7, //0x00004ed0 .quad -2891023177508298209 + 0x66, 0xc3, 0x51, 0x19, 0x36, 0x5e, 0x55, 0xa0, //0x00004ed8 .quad -6893500068174642330 + 0xa7, 0xfa, 0xfe, 0xf3, 0x2b, 0x47, 0xd9, 0x8d, //0x00004ee0 .quad -8225464990312760665 + 0x40, 0x34, 0xa6, 0x9f, 0xc3, 0xb5, 0x6a, 0xc8, //0x00004ee8 .quad -4005189066790915008 + 0x51, 0xb9, 0xfe, 0xf0, 0xf6, 0x98, 0x4f, 0xb1, //0x00004ef0 .quad -5670145219463562927 + 0x50, 0xc1, 0x8f, 0x87, 0x34, 0x63, 0x85, 0xfa, //0x00004ef8 .quad -394800315061255856 + 0xd3, 0x33, 0x9f, 0x56, 0x9a, 0xbf, 0xd1, 0x6e, //0x00004f00 .quad 7985374283903742931 + 0xd2, 0xd8, 0xb9, 0xd4, 0x00, 0x5e, 0x93, 0x9c, //0x00004f08 .quad -7164279224554366766 + 0xc8, 0x00, 0x47, 0xec, 0x80, 0x2f, 0x86, 0x0a, //0x00004f10 .quad 758345818024902856 + 0x07, 0x4f, 0xe8, 0x09, 0x81, 0x35, 0xb8, 0xc3, //0x00004f18 .quad -4343663012265570553 + 0xfa, 0xc0, 0x58, 0x27, 0x61, 0xbb, 0x27, 0xcd, //0x00004f20 .quad -3663753745896259334 + 0xc8, 0x62, 0x62, 0x4c, 0xe1, 0x42, 0xa6, 0xf4, //0x00004f28 .quad -817892746904575288 + 0x9c, 0x78, 0x97, 0xb8, 0x1c, 0xd5, 0x38, 0x80, //0x00004f30 .quad -9207375118826243940 + 0xbd, 0x7d, 0xbd, 0xcf, 0xcc, 0xe9, 0xe7, 0x98, //0x00004f38 .quad -7428711994456441411 + 0xc3, 0x56, 0xbd, 0xe6, 0x63, 0x0a, 0x47, 0xe0, //0x00004f40 .quad -2285846861678029117 + 0x2c, 0xdd, 0xac, 0x03, 0x40, 0xe4, 0x21, 0xbf, //0x00004f48 .quad -4674203974643163860 + 0x74, 0xac, 0x6c, 0xe0, 0xfc, 0xcc, 0x58, 0x18, //0x00004f50 .quad 1754377441329851508 + 0x78, 0x14, 0x98, 0x04, 0x50, 0x5d, 0xea, 0xee, //0x00004f58 .quad -1231068949876566920 + 0xc8, 0xeb, 0x43, 0x0c, 0x1e, 0x80, 0x37, 0x0f, //0x00004f60 .quad 1096485900831157192 + 0xcb, 0x0c, 0xdf, 0x02, 0x52, 0x7a, 0x52, 0x95, //0x00004f68 .quad -7686947121313936181 + 0xba, 0xe6, 0x54, 0x8f, 0x25, 0x60, 0x05, 0xd3, //0x00004f70 .quad -3241078642388441414 + 0xfd, 0xcf, 0x96, 0x83, 0xe6, 0x18, 0xa7, 0xba, //0x00004f78 .quad -4996997883215032323 + 0x69, 0x20, 0x2a, 0xf3, 0x2e, 0xb8, 0xc6, 0x47, //0x00004f80 .quad 5172023733869224041 + 0xfd, 0x83, 0x7c, 0x24, 0x20, 0xdf, 0x50, 0xe9, //0x00004f88 .quad -1634561335591402499 + 0x41, 0x54, 0xfa, 0x57, 0x1d, 0x33, 0xdc, 0x4c, //0x00004f90 .quad 5538357842881958977 + 0x7e, 0xd2, 0xcd, 0x16, 0x74, 0x8b, 0xd2, 0x91, //0x00004f98 .quad -7939129862385708418 + 0x52, 0xe9, 0xf8, 0xad, 0xe4, 0x3f, 0x13, 0xe0, //0x00004fa0 .quad -2300424733252327086 + 0x1d, 0x47, 0x81, 0x1c, 0x51, 0x2e, 0x47, 0xb6, //0x00004fa8 .quad -5312226309554747619 + 0xa6, 0x23, 0x77, 0xd9, 0xdd, 0x0f, 0x18, 0x58, //0x00004fb0 .quad 6347841120289366950 + 0xe5, 0x98, 0xa1, 0x63, 0xe5, 0xf9, 0xd8, 0xe3, //0x00004fb8 .quad -2028596868516046619 + 0x48, 0x76, 0xea, 0xa7, 0xea, 0x09, 0x0f, 0x57, //0x00004fc0 .quad 6273243709394548296 + 0x8f, 0xff, 0x44, 0x5e, 0x2f, 0x9c, 0x67, 0x8e, //0x00004fc8 .quad -8185402070463610993 + 0xda, 0x13, 0xe5, 0x51, 0x65, 0xcc, 0xd2, 0x2c, //0x00004fd0 .quad 3229868618315797466 + 0x73, 0x3f, 0xd6, 0x35, 0x3b, 0x83, 0x01, 0xb2, //0x00004fd8 .quad -5620066569652125837 + 0xd1, 0x58, 0x5e, 0xa6, 0x7e, 0x7f, 0x07, 0xf8, //0x00004fe0 .quad -574350245532641071 + 0x4f, 0xcf, 0x4b, 0x03, 0x0a, 0xe4, 0x81, 0xde, //0x00004fe8 .quad -2413397193637769393 + 0x82, 0xf7, 0xfa, 0x27, 0xaf, 0xaf, 0x04, 0xfb, //0x00004ff0 .quad -358968903457900670 + 0x91, 0x61, 0x0f, 0x42, 0x86, 0x2e, 0x11, 0x8b, //0x00004ff8 .quad -8425902273664687727 + 0x63, 0xb5, 0xf9, 0xf1, 0x9a, 0xdb, 0xc5, 0x79, //0x00005000 .quad 8774660907532399971 + 0xf6, 0x39, 0x93, 0xd2, 0x27, 0x7a, 0xd5, 0xad, //0x00005008 .quad -5920691823653471754 + 0xbc, 0x22, 0x78, 0xae, 0x81, 0x52, 0x37, 0x18, //0x00005010 .quad 1744954097560724156 + 0x74, 0x08, 0x38, 0xc7, 0xb1, 0xd8, 0x4a, 0xd9, //0x00005018 .quad -2789178761139451788 + 0xb5, 0x15, 0x0b, 0x0d, 0x91, 0x93, 0x22, 0x8f, //0x00005020 .quad -8132775725879323211 + 0x48, 0x05, 0x83, 0x1c, 0x6f, 0xc7, 0xce, 0x87, //0x00005028 .quad -8660765753353239224 + 0x22, 0xdb, 0x4d, 0x50, 0x75, 0x38, 0xeb, 0xb2, //0x00005030 .quad -5554283638921766110 + 0x9a, 0xc6, 0xa3, 0xe3, 0x4a, 0x79, 0xc2, 0xa9, //0x00005038 .quad -6214271173264161126 + 0xeb, 0x51, 0x61, 0xa4, 0x92, 0x06, 0xa6, 0x5f, //0x00005040 .quad 6892203506629956075 + 0x41, 0xb8, 0x8c, 0x9c, 0x9d, 0x17, 0x33, 0xd4, //0x00005048 .quad -3156152948152813503 + 0x33, 0xd3, 0xbc, 0xa6, 0x1b, 0xc4, 0xc7, 0xdb, //0x00005050 .quad -2609901835997359309 + 0x28, 0xf3, 0xd7, 0x81, 0xc2, 0xee, 0x9f, 0x84, //0x00005058 .quad -8890124620236590296 + 0x00, 0x08, 0x6c, 0x90, 0x22, 0xb5, 0xb9, 0x12, //0x00005060 .quad 1349308723430688768 + 0xf3, 0xef, 0x4d, 0x22, 0x73, 0xea, 0xc7, 0xa5, //0x00005068 .quad -6500969756868349965 + 0x00, 0x0a, 0x87, 0x34, 0x6b, 0x22, 0x68, 0xd7, //0x00005070 .quad -2925050114139026944 + 0xef, 0x6b, 0xe1, 0xea, 0x0f, 0xe5, 0x39, 0xcf, //0x00005078 .quad -3514526177658049553 + 0x40, 0x66, 0xd4, 0x00, 0x83, 0x15, 0xa1, 0xe6, //0x00005080 .quad -1828156321336891840 + 0x75, 0xe3, 0xcc, 0xf2, 0x29, 0x2f, 0x84, 0x81, //0x00005088 .quad -9114107888677362827 + 0xd0, 0x7f, 0x09, 0xc1, 0xe3, 0x5a, 0x49, 0x60, //0x00005090 .quad 6938176635183661008 + 0x53, 0x1c, 0x80, 0x6f, 0xf4, 0x3a, 0xe5, 0xa1, //0x00005098 .quad -6780948842419315629 + 0xc4, 0xdf, 0x4b, 0xb1, 0x9c, 0xb1, 0x5b, 0x38, //0x000050a0 .quad 4061034775552188356 + 0x68, 0x23, 0x60, 0x8b, 0xb1, 0x89, 0x5e, 0xca, //0x000050a8 .quad -3864500034596756632 + 0xb5, 0xd7, 0x9e, 0xdd, 0x03, 0x9e, 0x72, 0x46, //0x000050b0 .quad 5076293469440235445 + 0x42, 0x2c, 0x38, 0xee, 0x1d, 0x2c, 0xf6, 0xfc, //0x000050b8 .quad -218939024818557886 + 0xd1, 0x46, 0x83, 0x6a, 0xc2, 0xa2, 0x07, 0x6c, //0x000050c0 .quad 7784369436827535057 + 0xa9, 0x1b, 0xe3, 0xb4, 0x92, 0xdb, 0x19, 0x9e, //0x000050c8 .quad -7054365918152680535 + 0x85, 0x18, 0x24, 0x05, 0x73, 0x8b, 0x09, 0xc7, //0x000050d0 .quad -4104596259247744891 + 0x93, 0xe2, 0x1b, 0x62, 0x77, 0x52, 0xa0, 0xc5, //0x000050d8 .quad -4206271379263462765 + 0xa7, 0x1e, 0x6d, 0xc6, 0x4f, 0xee, 0xcb, 0xb8, //0x000050e0 .quad -5130745324059681113 + 0x38, 0xdb, 0xa2, 0x3a, 0x15, 0x67, 0x08, 0xf7, //0x000050e8 .quad -646153205651940552 + 0x28, 0x33, 0x04, 0xdc, 0xf1, 0x74, 0x7f, 0x73, //0x000050f0 .quad 8322499218531169064 + 0x03, 0xc9, 0xa5, 0x44, 0x6d, 0x40, 0x65, 0x9a, //0x000050f8 .quad -7321374781173544701 + 0xf2, 0x3f, 0x05, 0x53, 0x2e, 0x52, 0x5f, 0x50, //0x00005100 .quad 5791438004736573426 + 0x44, 0x3b, 0xcf, 0x95, 0x88, 0x90, 0xfe, 0xc0, //0x00005108 .quad -4540032458039542972 + 0xef, 0x8f, 0xc6, 0xe7, 0xb9, 0x26, 0x77, 0x64, //0x00005110 .quad 7239297505920716783 + 0x15, 0x0a, 0x43, 0xbb, 0xaa, 0x34, 0x3e, 0xf1, //0x00005118 .quad -1063354554122040811 + 0xf5, 0x19, 0xdc, 0x30, 0x34, 0x78, 0xca, 0x5e, //0x00005120 .quad 6830403950414141941 + 0x4d, 0xe6, 0x09, 0xb5, 0xea, 0xe0, 0xc6, 0x96, //0x00005128 .quad -7582125623967357363 + 0x72, 0x20, 0x13, 0x3d, 0x41, 0x16, 0x7d, 0xb6, //0x00005130 .quad -5297053117264486286 + 0xe0, 0x5f, 0x4c, 0x62, 0x25, 0x99, 0x78, 0xbc, //0x00005138 .quad -4865971011531808800 + 0x8f, 0xe8, 0x57, 0x8c, 0xd1, 0x5b, 0x1c, 0xe4, //0x00005140 .quad -2009630378153219953 + 0xd8, 0x77, 0xdf, 0xba, 0x6e, 0xbf, 0x96, 0xeb, //0x00005148 .quad -1470777745987373096 + 0x59, 0xf1, 0xb6, 0xf7, 0x62, 0xb9, 0x91, 0x8e, //0x00005150 .quad -8173548013986844327 + 0xe7, 0xaa, 0xcb, 0x34, 0xa5, 0x37, 0x3e, 0x93, //0x00005158 .quad -7836765118883190041 + 0xb0, 0xad, 0xa4, 0xb5, 0xbb, 0x27, 0x36, 0x72, //0x00005160 .quad 8229809056225996208 + 0xa1, 0x95, 0xfe, 0x81, 0x8e, 0xc5, 0x0d, 0xb8, //0x00005168 .quad -5184270380176599647 + 0x1c, 0xd9, 0x0d, 0xa3, 0xaa, 0xb1, 0xc3, 0xce, //0x00005170 .quad -3547796734999668452 + 0x09, 0x3b, 0x7e, 0x22, 0xf2, 0x36, 0x11, 0xe6, //0x00005178 .quad -1868651956793361655 + 0xb1, 0xa7, 0xe8, 0xa5, 0x0a, 0x4f, 0x3a, 0x21, //0x00005180 .quad 2394313059052595121 + 0xe6, 0xe4, 0x8e, 0x55, 0x57, 0xc2, 0xca, 0x8f, //0x00005188 .quad -8085436500636932890 + 0x9d, 0xd1, 0x62, 0x4f, 0xcd, 0xe2, 0x88, 0xa9, //0x00005190 .quad -6230480713039031907 + 0x1f, 0x9e, 0xf2, 0x2a, 0xed, 0x72, 0xbd, 0xb3, //0x00005198 .quad -5495109607368778209 + 0x05, 0x86, 0x3b, 0xa3, 0x80, 0x1b, 0xeb, 0x93, //0x000051a0 .quad -7788100891298789883 + 0xa7, 0x45, 0xaf, 0x75, 0xa8, 0xcf, 0xac, 0xe0, //0x000051a8 .quad -2257200990783584857 + 0xc3, 0x33, 0x05, 0x66, 0x30, 0xf1, 0x72, 0xbc, //0x000051b0 .quad -4867563057061743677 + 0x88, 0x8b, 0x8d, 0x49, 0xc9, 0x01, 0x6c, 0x8c, //0x000051b8 .quad -8328279646880822392 + 0xb4, 0x80, 0x86, 0x7f, 0x7c, 0xad, 0x8f, 0xeb, //0x000051c0 .quad -1472767802899791692 + 0x6a, 0xee, 0xf0, 0x9b, 0x3b, 0x02, 0x87, 0xaf, //0x000051c8 .quad -5798663540173640086 + 0xe1, 0x20, 0x68, 0x9f, 0xdb, 0x98, 0x73, 0xa6, //0x000051d0 .quad -6452645772052127519 + 0x05, 0x2a, 0xed, 0x82, 0xca, 0xc2, 0x68, 0xdb, //0x000051d8 .quad -2636643406789662203 + 0x8c, 0x14, 0xa1, 0x43, 0x89, 0x3f, 0x08, 0x88, //0x000051e0 .quad -8644589625959967604 + 0x43, 0x3a, 0xd4, 0x91, 0xbe, 0x79, 0x21, 0x89, //0x000051e8 .quad -8565431156884620733 + 0xb0, 0x59, 0x89, 0x94, 0x6b, 0x4f, 0x0a, 0x6a, //0x000051f0 .quad 7641007041259592112 + 0xd4, 0x48, 0x49, 0x36, 0x2e, 0xd8, 0x69, 0xab, //0x000051f8 .quad -6095102927678388012 + 0x1c, 0xb0, 0xab, 0x79, 0x46, 0xe3, 0x8c, 0x84, //0x00005200 .quad -8895485272135061476 + 0x09, 0x9b, 0xdb, 0xc3, 0x39, 0x4e, 0x44, 0xd6, //0x00005208 .quad -3007192641170597111 + 0x11, 0x4e, 0x0b, 0x0c, 0x0c, 0x0e, 0xd8, 0xf2, //0x00005210 .quad -947992276657025519 + 0xe5, 0x40, 0x69, 0x1a, 0xe4, 0xb0, 0xea, 0x85, //0x00005218 .quad -8797024428372705051 + 0x95, 0x21, 0x0e, 0x0f, 0x8f, 0x11, 0x8e, 0x6f, //0x00005220 .quad 8038381691033493909 + 0x1f, 0x91, 0x03, 0x21, 0x1d, 0x5d, 0x65, 0xa7, //0x00005228 .quad -6384594517038493409 + 0xfb, 0xa9, 0xd1, 0xd2, 0xf2, 0x95, 0x71, 0x4b, //0x00005230 .quad 5436291095364479483 + 0x67, 0x75, 0x44, 0x69, 0x64, 0xb4, 0x3e, 0xd1, //0x00005238 .quad -3369057127870728857 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005240 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x00005250 .p2align 4, 0x00 + //0x00005250 _POW_TAB + 0x01, 0x00, 0x00, 0x00, //0x00005250 .long 1 + 0x03, 0x00, 0x00, 0x00, //0x00005254 .long 3 + 0x06, 0x00, 0x00, 0x00, //0x00005258 .long 6 + 0x09, 0x00, 0x00, 0x00, //0x0000525c .long 9 + 0x0d, 0x00, 0x00, 0x00, //0x00005260 .long 13 + 0x10, 0x00, 0x00, 0x00, //0x00005264 .long 16 + 0x13, 0x00, 0x00, 0x00, //0x00005268 .long 19 + 0x17, 0x00, 0x00, 0x00, //0x0000526c .long 23 + 0x1a, 0x00, 0x00, 0x00, //0x00005270 .long 26 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005274 .p2align 4, 0x00 + //0x00005280 _LSHIFT_TAB + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005280 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005290 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052e0 QUAD $0x0000000000000000 // .space 8, '\x00\x00\x00\x00\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x000052e8 .long 1 + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052ec QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000530c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000531c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000532c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000533c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000534c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x00005350 .long 1 + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005354 QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005364 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005374 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005384 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005394 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000053b4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x000053b8 .long 1 + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053bc QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000540c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000541c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x00005420 .long 2 + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005424 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005434 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005444 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005454 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005464 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005474 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005484 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x00005488 .long 2 + 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000548c QUAD $0x0000000035323133; QUAD $0x0000000000000000 // .asciz 16, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000549c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000054ec LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x000054f0 .long 2 + 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054f4 QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005504 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005514 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005524 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005534 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005544 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005554 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x00005558 .long 3 + 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000555c QUAD $0x0000003532313837; QUAD $0x0000000000000000 // .asciz 16, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000556c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000557c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000558c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000559c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000055bc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x000055c0 .long 3 + 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055c4 QUAD $0x0000353236303933; QUAD $0x0000000000000000 // .asciz 16, '390625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005604 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005614 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005624 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x00005628 .long 3 + 0x31, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000562c QUAD $0x0035323133353931; QUAD $0x0000000000000000 // .asciz 16, '1953125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000563c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000564c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000565c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000566c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000567c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000568c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00005690 .long 4 + 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005694 QUAD $0x0035323635363739; QUAD $0x0000000000000000 // .asciz 16, '9765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000056f4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x000056f8 .long 4 + 0x34, 0x38, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056fc QUAD $0x3532313832383834; QUAD $0x0000000000000000 // .asciz 16, '48828125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000570c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000571c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000572c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000573c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000574c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000575c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00005760 .long 4 + 0x32, 0x34, 0x34, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005764 QUAD $0x3236303431343432; QUAD $0x0000000000000035 // .asciz 16, '244140625\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005774 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005784 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005794 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000057c4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x000057c8 .long 4 + 0x31, 0x32, 0x32, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057cc QUAD $0x3133303730323231; QUAD $0x0000000000003532 // .asciz 16, '1220703125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000580c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000581c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000582c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x00005830 .long 5 + 0x36, 0x31, 0x30, 0x33, 0x35, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005834 QUAD $0x3635313533303136; QUAD $0x0000000000003532 // .asciz 16, '6103515625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005844 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005854 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005864 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005874 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005884 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005894 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x00005898 .long 5 + 0x33, 0x30, 0x35, 0x31, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000589c QUAD $0x3837353731353033; QUAD $0x0000000000353231 // .asciz 16, '30517578125\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000058fc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x00005900 .long 5 + 0x31, 0x35, 0x32, 0x35, 0x38, 0x37, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x00005904 QUAD $0x3938373835323531; QUAD $0x0000000035323630 // .asciz 16, '152587890625\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005914 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005924 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005934 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005944 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005954 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005964 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00005968 .long 6 + 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x0000596c QUAD $0x3534393339323637; QUAD $0x0000000035323133 // .asciz 16, '762939453125\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000597c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000598c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000599c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000059cc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x000059d0 .long 6 + 0x33, 0x38, 0x31, 0x34, 0x36, 0x39, 0x37, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, //0x000059d4 QUAD $0x3237393634313833; QUAD $0x0000003532363536 // .asciz 16, '3814697265625\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005a34 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00005a38 .long 6 + 0x31, 0x39, 0x30, 0x37, 0x33, 0x34, 0x38, 0x36, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, //0x00005a3c QUAD $0x3638343337303931; QUAD $0x0000353231383233 // .asciz 16, '19073486328125\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a7c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005a9c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00005aa0 .long 7 + 0x39, 0x35, 0x33, 0x36, 0x37, 0x34, 0x33, 0x31, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, //0x00005aa4 QUAD $0x3133343736333539; QUAD $0x0000353236303436 // .asciz 16, '95367431640625\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ab4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ac4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ad4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ae4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005af4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005b04 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00005b08 .long 7 + 0x34, 0x37, 0x36, 0x38, 0x33, 0x37, 0x31, 0x35, 0x38, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, //0x00005b0c QUAD $0x3531373338363734; QUAD $0x0035323133303238 // .asciz 16, '476837158203125\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b3c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005b6c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00005b70 .long 7 + 0x32, 0x33, 0x38, 0x34, 0x31, 0x38, 0x35, 0x37, 0x39, 0x31, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, //0x00005b74 QUAD $0x3735383134383332; QUAD $0x3532363531303139 // .asciz 16, '2384185791015625' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ba4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005bb4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005bc4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005bd4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00005bd8 .long 7 + 0x31, 0x31, 0x39, 0x32, 0x30, 0x39, 0x32, 0x38, 0x39, 0x35, 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, //0x00005bdc QUAD $0x3832393032393131; QUAD $0x3231383730353539 // .asciz 16, '1192092895507812' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005bec QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005bfc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005c3c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00005c40 .long 8 + 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, //0x00005c44 QUAD $0x3434363430363935; QUAD $0x3236303933353737 // .asciz 16, '5960464477539062' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c54 QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005ca4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00005ca8 .long 8 + 0x32, 0x39, 0x38, 0x30, 0x32, 0x33, 0x32, 0x32, 0x33, 0x38, 0x37, 0x36, 0x39, 0x35, 0x33, 0x31, //0x00005cac QUAD $0x3232333230383932; QUAD $0x3133353936373833 // .asciz 16, '2980232238769531' + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005cbc QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ccc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005cdc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005cec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005cfc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005d0c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00005d10 .long 8 + 0x31, 0x34, 0x39, 0x30, 0x31, 0x31, 0x36, 0x31, 0x31, 0x39, 0x33, 0x38, 0x34, 0x37, 0x36, 0x35, //0x00005d14 QUAD $0x3136313130393431; QUAD $0x3536373438333931 // .asciz 16, '1490116119384765' + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d24 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d34 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005d74 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00005d78 .long 9 + 0x37, 0x34, 0x35, 0x30, 0x35, 0x38, 0x30, 0x35, 0x39, 0x36, 0x39, 0x32, 0x33, 0x38, 0x32, 0x38, //0x00005d7c QUAD $0x3530383530353437; QUAD $0x3832383332393639 // .asciz 16, '7450580596923828' + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d8c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d9c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005dac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005dbc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005dcc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005ddc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00005de0 .long 9 + 0x33, 0x37, 0x32, 0x35, 0x32, 0x39, 0x30, 0x32, 0x39, 0x38, 0x34, 0x36, 0x31, 0x39, 0x31, 0x34, //0x00005de4 QUAD $0x3230393235323733; QUAD $0x3431393136343839 // .asciz 16, '3725290298461914' + 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005df4 QUAD $0x0000000035323630; QUAD $0x0000000000000000 // .asciz 16, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e34 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005e44 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00005e48 .long 9 + 0x31, 0x38, 0x36, 0x32, 0x36, 0x34, 0x35, 0x31, 0x34, 0x39, 0x32, 0x33, 0x30, 0x39, 0x35, 0x37, //0x00005e4c QUAD $0x3135343632363831; QUAD $0x3735393033323934 // .asciz 16, '1862645149230957' + 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e5c QUAD $0x0000003532313330; QUAD $0x0000000000000000 // .asciz 16, '03125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e7c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e9c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005eac LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00005eb0 .long 10 + 0x39, 0x33, 0x31, 0x33, 0x32, 0x32, 0x35, 0x37, 0x34, 0x36, 0x31, 0x35, 0x34, 0x37, 0x38, 0x35, //0x00005eb4 QUAD $0x3735323233313339; QUAD $0x3538373435313634 // .asciz 16, '9313225746154785' + 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ec4 QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ed4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ee4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ef4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005f14 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00005f18 .long 10 + 0x34, 0x36, 0x35, 0x36, 0x36, 0x31, 0x32, 0x38, 0x37, 0x33, 0x30, 0x37, 0x37, 0x33, 0x39, 0x32, //0x00005f1c QUAD $0x3832313636353634; QUAD $0x3239333737303337 // .asciz 16, '4656612873077392' + 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f2c QUAD $0x0000353231383735; QUAD $0x0000000000000000 // .asciz 16, '578125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f3c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005f7c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00005f80 .long 10 + 0x32, 0x33, 0x32, 0x38, 0x33, 0x30, 0x36, 0x34, 0x33, 0x36, 0x35, 0x33, 0x38, 0x36, 0x39, 0x36, //0x00005f84 QUAD $0x3436303338323332; QUAD $0x3639363833353633 // .asciz 16, '2328306436538696' + 0x32, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f94 QUAD $0x0035323630393832; QUAD $0x0000000000000000 // .asciz 16, '2890625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005fa4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005fb4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005fc4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005fd4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005fe4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00005fe8 .long 10 + 0x31, 0x31, 0x36, 0x34, 0x31, 0x35, 0x33, 0x32, 0x31, 0x38, 0x32, 0x36, 0x39, 0x33, 0x34, 0x38, //0x00005fec QUAD $0x3233353134363131; QUAD $0x3834333936323831 // .asciz 16, '1164153218269348' + 0x31, 0x34, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ffc QUAD $0x3532313335343431; QUAD $0x0000000000000000 // .asciz 16, '14453125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000600c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000601c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000602c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000603c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000604c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00006050 .long 11 + 0x35, 0x38, 0x32, 0x30, 0x37, 0x36, 0x36, 0x30, 0x39, 0x31, 0x33, 0x34, 0x36, 0x37, 0x34, 0x30, //0x00006054 QUAD $0x3036363730323835; QUAD $0x3034373634333139 // .asciz 16, '5820766091346740' + 0x37, 0x32, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006064 QUAD $0x3532363536323237; QUAD $0x0000000000000000 // .asciz 16, '72265625\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006074 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006084 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006094 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000060a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000060b4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x000060b8 .long 11 + 0x32, 0x39, 0x31, 0x30, 0x33, 0x38, 0x33, 0x30, 0x34, 0x35, 0x36, 0x37, 0x33, 0x33, 0x37, 0x30, //0x000060bc QUAD $0x3033383330313932; QUAD $0x3037333337363534 // .asciz 16, '2910383045673370' + 0x33, 0x36, 0x31, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000060cc QUAD $0x3231383233313633; QUAD $0x0000000000000035 // .asciz 16, '361328125\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000060dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000060ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000060fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000610c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000611c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00006120 .long 11 + 0x31, 0x34, 0x35, 0x35, 0x31, 0x39, 0x31, 0x35, 0x32, 0x32, 0x38, 0x33, 0x36, 0x36, 0x38, 0x35, //0x00006124 QUAD $0x3531393135353431; QUAD $0x3538363633383232 // .asciz 16, '1455191522836685' + 0x31, 0x38, 0x30, 0x36, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006134 QUAD $0x3630343636303831; QUAD $0x0000000000003532 // .asciz 16, '1806640625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006144 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006154 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006164 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006174 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006184 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00006188 .long 12 + 0x37, 0x32, 0x37, 0x35, 0x39, 0x35, 0x37, 0x36, 0x31, 0x34, 0x31, 0x38, 0x33, 0x34, 0x32, 0x35, //0x0000618c QUAD $0x3637353935373237; QUAD $0x3532343338313431 // .asciz 16, '7275957614183425' + 0x39, 0x30, 0x33, 0x33, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000619c QUAD $0x3133303233333039; QUAD $0x0000000000003532 // .asciz 16, '9033203125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000061ec LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x000061f0 .long 12 + 0x33, 0x36, 0x33, 0x37, 0x39, 0x37, 0x38, 0x38, 0x30, 0x37, 0x30, 0x39, 0x31, 0x37, 0x31, 0x32, //0x000061f4 QUAD $0x3838373937333633; QUAD $0x3231373139303730 // .asciz 16, '3637978807091712' + 0x39, 0x35, 0x31, 0x36, 0x36, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006204 QUAD $0x3531303636313539; QUAD $0x0000000000353236 // .asciz 16, '95166015625\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006214 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006224 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006234 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006244 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006254 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00006258 .long 12 + 0x31, 0x38, 0x31, 0x38, 0x39, 0x38, 0x39, 0x34, 0x30, 0x33, 0x35, 0x34, 0x35, 0x38, 0x35, 0x36, //0x0000625c QUAD $0x3439383938313831; QUAD $0x3635383534353330 // .asciz 16, '1818989403545856' + 0x34, 0x37, 0x35, 0x38, 0x33, 0x30, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x0000626c QUAD $0x3730303338353734; QUAD $0x0000000035323138 // .asciz 16, '475830078125\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000627c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000628c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000629c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000062bc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x000062c0 .long 13 + 0x39, 0x30, 0x39, 0x34, 0x39, 0x34, 0x37, 0x30, 0x31, 0x37, 0x37, 0x32, 0x39, 0x32, 0x38, 0x32, //0x000062c4 QUAD $0x3037343934393039; QUAD $0x3238323932373731 // .asciz 16, '9094947017729282' + 0x33, 0x37, 0x39, 0x31, 0x35, 0x30, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x000062d4 QUAD $0x3933303531393733; QUAD $0x0000000035323630 // .asciz 16, '379150390625\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006304 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006314 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006324 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00006328 .long 13 + 0x34, 0x35, 0x34, 0x37, 0x34, 0x37, 0x33, 0x35, 0x30, 0x38, 0x38, 0x36, 0x34, 0x36, 0x34, 0x31, //0x0000632c QUAD $0x3533373437343534; QUAD $0x3134363436383830 // .asciz 16, '4547473508864641' + 0x31, 0x38, 0x39, 0x35, 0x37, 0x35, 0x31, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, //0x0000633c QUAD $0x3931353735393831; QUAD $0x0000003532313335 // .asciz 16, '1895751953125\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000634c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000635c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000636c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000637c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000638c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00006390 .long 13 + 0x32, 0x32, 0x37, 0x33, 0x37, 0x33, 0x36, 0x37, 0x35, 0x34, 0x34, 0x33, 0x32, 0x33, 0x32, 0x30, //0x00006394 QUAD $0x3736333733373232; QUAD $0x3032333233343435 // .asciz 16, '2273736754432320' + 0x35, 0x39, 0x34, 0x37, 0x38, 0x37, 0x35, 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, //0x000063a4 QUAD $0x3935373837343935; QUAD $0x0000353236353637 // .asciz 16, '59478759765625\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000063f4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x000063f8 .long 13 + 0x31, 0x31, 0x33, 0x36, 0x38, 0x36, 0x38, 0x33, 0x37, 0x37, 0x32, 0x31, 0x36, 0x31, 0x36, 0x30, //0x000063fc QUAD $0x3338363836333131; QUAD $0x3036313631323737 // .asciz 16, '1136868377216160' + 0x32, 0x39, 0x37, 0x33, 0x39, 0x33, 0x37, 0x39, 0x38, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, //0x0000640c QUAD $0x3937333933373932; QUAD $0x0035323138323838 // .asciz 16, '297393798828125\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000641c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000642c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000643c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000644c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000645c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x00006460 .long 14 + 0x35, 0x36, 0x38, 0x34, 0x33, 0x34, 0x31, 0x38, 0x38, 0x36, 0x30, 0x38, 0x30, 0x38, 0x30, 0x31, //0x00006464 QUAD $0x3831343334383635; QUAD $0x3130383038303638 // .asciz 16, '5684341886080801' + 0x34, 0x38, 0x36, 0x39, 0x36, 0x38, 0x39, 0x39, 0x34, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, //0x00006474 QUAD $0x3939383639363834; QUAD $0x0035323630343134 // .asciz 16, '486968994140625\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006484 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006494 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000064c4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x000064c8 .long 14 + 0x32, 0x38, 0x34, 0x32, 0x31, 0x37, 0x30, 0x39, 0x34, 0x33, 0x30, 0x34, 0x30, 0x34, 0x30, 0x30, //0x000064cc QUAD $0x3930373132343832; QUAD $0x3030343034303334 // .asciz 16, '2842170943040400' + 0x37, 0x34, 0x33, 0x34, 0x38, 0x34, 0x34, 0x39, 0x37, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, //0x000064dc QUAD $0x3934343834333437; QUAD $0x3532313330373037 // .asciz 16, '7434844970703125' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000650c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000651c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000652c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x00006530 .long 14 + 0x31, 0x34, 0x32, 0x31, 0x30, 0x38, 0x35, 0x34, 0x37, 0x31, 0x35, 0x32, 0x30, 0x32, 0x30, 0x30, //0x00006534 QUAD $0x3435383031323431; QUAD $0x3030323032353137 // .asciz 16, '1421085471520200' + 0x33, 0x37, 0x31, 0x37, 0x34, 0x32, 0x32, 0x34, 0x38, 0x35, 0x33, 0x35, 0x31, 0x35, 0x36, 0x32, //0x00006544 QUAD $0x3432323437313733; QUAD $0x3236353135333538 // .asciz 16, '3717422485351562' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006554 QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006564 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006574 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006584 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006594 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00006598 .long 15 + 0x37, 0x31, 0x30, 0x35, 0x34, 0x32, 0x37, 0x33, 0x35, 0x37, 0x36, 0x30, 0x31, 0x30, 0x30, 0x31, //0x0000659c QUAD $0x3337323435303137; QUAD $0x3130303130363735 // .asciz 16, '7105427357601001' + 0x38, 0x35, 0x38, 0x37, 0x31, 0x31, 0x32, 0x34, 0x32, 0x36, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, //0x000065ac QUAD $0x3432313137383538; QUAD $0x3231383735373632 // .asciz 16, '8587112426757812' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065bc QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000065fc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00006600 .long 15 + 0x33, 0x35, 0x35, 0x32, 0x37, 0x31, 0x33, 0x36, 0x37, 0x38, 0x38, 0x30, 0x30, 0x35, 0x30, 0x30, //0x00006604 QUAD $0x3633313732353533; QUAD $0x3030353030383837 // .asciz 16, '3552713678800500' + 0x39, 0x32, 0x39, 0x33, 0x35, 0x35, 0x36, 0x32, 0x31, 0x33, 0x33, 0x37, 0x38, 0x39, 0x30, 0x36, //0x00006614 QUAD $0x3236353533393239; QUAD $0x3630393837333331 // .asciz 16, '9293556213378906' + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006624 QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006634 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006644 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006654 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006664 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00006668 .long 15 + 0x31, 0x37, 0x37, 0x36, 0x33, 0x35, 0x36, 0x38, 0x33, 0x39, 0x34, 0x30, 0x30, 0x32, 0x35, 0x30, //0x0000666c QUAD $0x3836353336373731; QUAD $0x3035323030343933 // .asciz 16, '1776356839400250' + 0x34, 0x36, 0x34, 0x36, 0x37, 0x37, 0x38, 0x31, 0x30, 0x36, 0x36, 0x38, 0x39, 0x34, 0x35, 0x33, //0x0000667c QUAD $0x3138373736343634; QUAD $0x3335343938363630 // .asciz 16, '4646778106689453' + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000668c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000669c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000066cc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x000066d0 .long 16 + 0x38, 0x38, 0x38, 0x31, 0x37, 0x38, 0x34, 0x31, 0x39, 0x37, 0x30, 0x30, 0x31, 0x32, 0x35, 0x32, //0x000066d4 QUAD $0x3134383731383838; QUAD $0x3235323130303739 // .asciz 16, '8881784197001252' + 0x33, 0x32, 0x33, 0x33, 0x38, 0x39, 0x30, 0x35, 0x33, 0x33, 0x34, 0x34, 0x37, 0x32, 0x36, 0x35, //0x000066e4 QUAD $0x3530393833333233; QUAD $0x3536323734343333 // .asciz 16, '3233890533447265' + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066f4 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006704 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006714 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006724 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006734 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00006738 .long 16 + 0x34, 0x34, 0x34, 0x30, 0x38, 0x39, 0x32, 0x30, 0x39, 0x38, 0x35, 0x30, 0x30, 0x36, 0x32, 0x36, //0x0000673c QUAD $0x3032393830343434; QUAD $0x3632363030353839 // .asciz 16, '4440892098500626' + 0x31, 0x36, 0x31, 0x36, 0x39, 0x34, 0x35, 0x32, 0x36, 0x36, 0x37, 0x32, 0x33, 0x36, 0x33, 0x32, //0x0000674c QUAD $0x3235343936313631; QUAD $0x3233363332373636 // .asciz 16, '1616945266723632' + 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000675c QUAD $0x0000000035323138; QUAD $0x0000000000000000 // .asciz 16, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000676c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000677c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000678c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000679c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x000067a0 .long 16 + 0x32, 0x32, 0x32, 0x30, 0x34, 0x34, 0x36, 0x30, 0x34, 0x39, 0x32, 0x35, 0x30, 0x33, 0x31, 0x33, //0x000067a4 QUAD $0x3036343430323232; QUAD $0x3331333035323934 // .asciz 16, '2220446049250313' + 0x30, 0x38, 0x30, 0x38, 0x34, 0x37, 0x32, 0x36, 0x33, 0x33, 0x33, 0x36, 0x31, 0x38, 0x31, 0x36, //0x000067b4 QUAD $0x3632373438303830; QUAD $0x3631383136333333 // .asciz 16, '0808472633361816' + 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067c4 QUAD $0x0000003532363034; QUAD $0x0000000000000000 // .asciz 16, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006804 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00006808 .long 16 + 0x31, 0x31, 0x31, 0x30, 0x32, 0x32, 0x33, 0x30, 0x32, 0x34, 0x36, 0x32, 0x35, 0x31, 0x35, 0x36, //0x0000680c QUAD $0x3033323230313131; QUAD $0x3635313532363432 // .asciz 16, '1110223024625156' + 0x35, 0x34, 0x30, 0x34, 0x32, 0x33, 0x36, 0x33, 0x31, 0x36, 0x36, 0x38, 0x30, 0x39, 0x30, 0x38, //0x0000681c QUAD $0x3336333234303435; QUAD $0x3830393038363631 // .asciz 16, '5404236316680908' + 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000682c QUAD $0x0000353231333032; QUAD $0x0000000000000000 // .asciz 16, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000683c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000684c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000685c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000686c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00006870 .long 17 + 0x35, 0x35, 0x35, 0x31, 0x31, 0x31, 0x35, 0x31, 0x32, 0x33, 0x31, 0x32, 0x35, 0x37, 0x38, 0x32, //0x00006874 QUAD $0x3135313131353535; QUAD $0x3238373532313332 // .asciz 16, '5551115123125782' + 0x37, 0x30, 0x32, 0x31, 0x31, 0x38, 0x31, 0x35, 0x38, 0x33, 0x34, 0x30, 0x34, 0x35, 0x34, 0x31, //0x00006884 QUAD $0x3531383131323037; QUAD $0x3134353430343338 // .asciz 16, '7021181583404541' + 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006894 QUAD $0x0000353236353130; QUAD $0x0000000000000000 // .asciz 16, '015625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000068d4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x000068d8 .long 17 + 0x32, 0x37, 0x37, 0x35, 0x35, 0x35, 0x37, 0x35, 0x36, 0x31, 0x35, 0x36, 0x32, 0x38, 0x39, 0x31, //0x000068dc QUAD $0x3537353535373732; QUAD $0x3139383236353136 // .asciz 16, '2775557561562891' + 0x33, 0x35, 0x31, 0x30, 0x35, 0x39, 0x30, 0x37, 0x39, 0x31, 0x37, 0x30, 0x32, 0x32, 0x37, 0x30, //0x000068ec QUAD $0x3730393530313533; QUAD $0x3037323230373139 // .asciz 16, '3510590791702270' + 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068fc QUAD $0x0035323138373035; QUAD $0x0000000000000000 // .asciz 16, '5078125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000690c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000691c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000692c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000693c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00006940 .long 17 + 0x31, 0x33, 0x38, 0x37, 0x37, 0x37, 0x38, 0x37, 0x38, 0x30, 0x37, 0x38, 0x31, 0x34, 0x34, 0x35, //0x00006944 QUAD $0x3738373737383331; QUAD $0x3534343138373038 // .asciz 16, '1387778780781445' + 0x36, 0x37, 0x35, 0x35, 0x32, 0x39, 0x35, 0x33, 0x39, 0x35, 0x38, 0x35, 0x31, 0x31, 0x33, 0x35, //0x00006954 QUAD $0x3335393235353736; QUAD $0x3533313135383539 // .asciz 16, '6755295395851135' + 0x32, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006964 QUAD $0x3532363039333532; QUAD $0x0000000000000000 // .asciz 16, '25390625\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006974 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006984 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006994 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000069a4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x000069a8 .long 18 + 0x36, 0x39, 0x33, 0x38, 0x38, 0x39, 0x33, 0x39, 0x30, 0x33, 0x39, 0x30, 0x37, 0x32, 0x32, 0x38, //0x000069ac QUAD $0x3933393838333936; QUAD $0x3832323730393330 // .asciz 16, '6938893903907228' + 0x33, 0x37, 0x37, 0x36, 0x34, 0x37, 0x36, 0x39, 0x37, 0x39, 0x32, 0x35, 0x35, 0x36, 0x37, 0x36, //0x000069bc QUAD $0x3936373436373733; QUAD $0x3637363535323937 // .asciz 16, '3776476979255676' + 0x32, 0x36, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069cc QUAD $0x3532313335393632; QUAD $0x0000000000000000 // .asciz 16, '26953125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006a0c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x00006a10 .long 18 + 0x33, 0x34, 0x36, 0x39, 0x34, 0x34, 0x36, 0x39, 0x35, 0x31, 0x39, 0x35, 0x33, 0x36, 0x31, 0x34, //0x00006a14 QUAD $0x3936343439363433; QUAD $0x3431363335393135 // .asciz 16, '3469446951953614' + 0x31, 0x38, 0x38, 0x38, 0x32, 0x33, 0x38, 0x34, 0x38, 0x39, 0x36, 0x32, 0x37, 0x38, 0x33, 0x38, //0x00006a24 QUAD $0x3438333238383831; QUAD $0x3833383732363938 // .asciz 16, '1888238489627838' + 0x31, 0x33, 0x34, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a34 QUAD $0x3236353637343331; QUAD $0x0000000000000035 // .asciz 16, '134765625\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006a74 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x00006a78 .long 18 + 0x31, 0x37, 0x33, 0x34, 0x37, 0x32, 0x33, 0x34, 0x37, 0x35, 0x39, 0x37, 0x36, 0x38, 0x30, 0x37, //0x00006a7c QUAD $0x3433323734333731; QUAD $0x3730383637393537 // .asciz 16, '1734723475976807' + 0x30, 0x39, 0x34, 0x34, 0x31, 0x31, 0x39, 0x32, 0x34, 0x34, 0x38, 0x31, 0x33, 0x39, 0x31, 0x39, //0x00006a8c QUAD $0x3239313134343930; QUAD $0x3931393331383434 // .asciz 16, '0944119244813919' + 0x30, 0x36, 0x37, 0x33, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a9c QUAD $0x3138323833373630; QUAD $0x0000000000003532 // .asciz 16, '0673828125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006aac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006abc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006acc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006adc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x13, 0x00, 0x00, 0x00, //0x00006ae0 .long 19 + 0x38, 0x36, 0x37, 0x33, 0x36, 0x31, 0x37, 0x33, 0x37, 0x39, 0x38, 0x38, 0x34, 0x30, 0x33, 0x35, //0x00006ae4 QUAD $0x3337313633373638; QUAD $0x3533303438383937 // .asciz 16, '8673617379884035' + 0x34, 0x37, 0x32, 0x30, 0x35, 0x39, 0x36, 0x32, 0x32, 0x34, 0x30, 0x36, 0x39, 0x35, 0x39, 0x35, //0x00006af4 QUAD $0x3236393530323734; QUAD $0x3539353936303432 // .asciz 16, '4720596224069595' + 0x33, 0x33, 0x36, 0x39, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b04 QUAD $0x3630343139363333; QUAD $0x0000000000003532 // .asciz 16, '3369140625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b34 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006b44 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/vsigned.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/vsigned.go new file mode 100644 index 0000000..46da9fc --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/vsigned.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vsigned func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer) + +var S_vsigned uintptr + +//go:nosplit +func vsigned(s *string, p *int, v *types.JsonState) { + F_vsigned(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/vsigned_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/vsigned_subr.go new file mode 100644 index 0000000..650d794 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/vsigned_subr.go @@ -0,0 +1,50 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__vsigned = 0 +) + +const ( + _stack__vsigned = 16 +) + +const ( + _size__vsigned = 320 +) + +var ( + _pcsp__vsigned = [][2]uint32{ + {1, 0}, + {4, 8}, + {112, 16}, + {113, 8}, + {114, 0}, + {125, 16}, + {126, 8}, + {127, 0}, + {260, 16}, + {261, 8}, + {262, 0}, + {266, 16}, + {267, 8}, + {268, 0}, + {306, 16}, + {307, 8}, + {308, 0}, + {316, 16}, + {317, 8}, + {319, 0}, + } +) + +var _cfunc_vsigned = []loader.CFunc{ + {"_vsigned_entry", 0, _entry__vsigned, 0, nil}, + {"_vsigned", _entry__vsigned, _size__vsigned, _stack__vsigned, _pcsp__vsigned}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/vsigned_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/vsigned_text_amd64.go new file mode 100644 index 0000000..be9bf11 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/vsigned_text_amd64.go @@ -0,0 +1,112 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_vsigned = []byte{ + // .p2align 4, 0x90 + // _vsigned + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x53, //0x00000004 pushq %rbx + 0x48, 0x8b, 0x1e, //0x00000005 movq (%rsi), %rbx + 0x4c, 0x8b, 0x07, //0x00000008 movq (%rdi), %r8 + 0x4c, 0x8b, 0x57, 0x08, //0x0000000b movq $8(%rdi), %r10 + 0x48, 0xc7, 0x02, 0x09, 0x00, 0x00, 0x00, //0x0000000f movq $9, (%rdx) + 0xc5, 0xf8, 0x57, 0xc0, //0x00000016 vxorps %xmm0, %xmm0, %xmm0 + 0xc5, 0xf8, 0x11, 0x42, 0x08, //0x0000001a vmovups %xmm0, $8(%rdx) + 0x48, 0x8b, 0x0e, //0x0000001f movq (%rsi), %rcx + 0x48, 0x89, 0x4a, 0x18, //0x00000022 movq %rcx, $24(%rdx) + 0x4c, 0x39, 0xd3, //0x00000026 cmpq %r10, %rbx + 0x0f, 0x83, 0x44, 0x00, 0x00, 0x00, //0x00000029 jae LBB0_1 + 0x41, 0x8a, 0x0c, 0x18, //0x0000002f movb (%r8,%rbx), %cl + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000033 movl $1, %r9d + 0x80, 0xf9, 0x2d, //0x00000039 cmpb $45, %cl + 0x0f, 0x85, 0x17, 0x00, 0x00, 0x00, //0x0000003c jne LBB0_5 + 0x48, 0xff, 0xc3, //0x00000042 incq %rbx + 0x4c, 0x39, 0xd3, //0x00000045 cmpq %r10, %rbx + 0x0f, 0x83, 0x25, 0x00, 0x00, 0x00, //0x00000048 jae LBB0_1 + 0x41, 0x8a, 0x0c, 0x18, //0x0000004e movb (%r8,%rbx), %cl + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000052 movq $-1, %r9 + //0x00000059 LBB0_5 + 0x8d, 0x79, 0xd0, //0x00000059 leal $-48(%rcx), %edi + 0x40, 0x80, 0xff, 0x0a, //0x0000005c cmpb $10, %dil + 0x0f, 0x82, 0x1a, 0x00, 0x00, 0x00, //0x00000060 jb LBB0_7 + 0x48, 0x89, 0x1e, //0x00000066 movq %rbx, (%rsi) + 0x48, 0xc7, 0x02, 0xfe, 0xff, 0xff, 0xff, //0x00000069 movq $-2, (%rdx) + 0x5b, //0x00000070 popq %rbx + 0x5d, //0x00000071 popq %rbp + 0xc3, //0x00000072 retq + //0x00000073 LBB0_1 + 0x4c, 0x89, 0x16, //0x00000073 movq %r10, (%rsi) + 0x48, 0xc7, 0x02, 0xff, 0xff, 0xff, 0xff, //0x00000076 movq $-1, (%rdx) + 0x5b, //0x0000007d popq %rbx + 0x5d, //0x0000007e popq %rbp + 0xc3, //0x0000007f retq + //0x00000080 LBB0_7 + 0x80, 0xf9, 0x30, //0x00000080 cmpb $48, %cl + 0x0f, 0x85, 0x35, 0x00, 0x00, 0x00, //0x00000083 jne LBB0_8 + 0x48, 0x8d, 0x7b, 0x01, //0x00000089 leaq $1(%rbx), %rdi + 0x4c, 0x39, 0xd3, //0x0000008d cmpq %r10, %rbx + 0x0f, 0x83, 0x71, 0x00, 0x00, 0x00, //0x00000090 jae LBB0_17 + 0x41, 0x8a, 0x0c, 0x38, //0x00000096 movb (%r8,%rdi), %cl + 0x80, 0xc1, 0xd2, //0x0000009a addb $-46, %cl + 0x80, 0xf9, 0x37, //0x0000009d cmpb $55, %cl + 0x0f, 0x87, 0x61, 0x00, 0x00, 0x00, //0x000000a0 ja LBB0_17 + 0x44, 0x0f, 0xb6, 0xd9, //0x000000a6 movzbl %cl, %r11d + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000000aa movabsq $36028797027352577, %rcx + 0x4c, 0x0f, 0xa3, 0xd9, //0x000000b4 btq %r11, %rcx + 0x0f, 0x83, 0x49, 0x00, 0x00, 0x00, //0x000000b8 jae LBB0_17 + //0x000000be LBB0_8 + 0x31, 0xff, //0x000000be xorl %edi, %edi + //0x000000c0 .p2align 4, 0x90 + //0x000000c0 LBB0_9 + 0x4c, 0x39, 0xd3, //0x000000c0 cmpq %r10, %rbx + 0x0f, 0x83, 0x6c, 0x00, 0x00, 0x00, //0x000000c3 jae LBB0_22 + 0x49, 0x0f, 0xbe, 0x0c, 0x18, //0x000000c9 movsbq (%r8,%rbx), %rcx + 0x8d, 0x41, 0xd0, //0x000000ce leal $-48(%rcx), %eax + 0x3c, 0x09, //0x000000d1 cmpb $9, %al + 0x0f, 0x87, 0x34, 0x00, 0x00, 0x00, //0x000000d3 ja LBB0_18 + 0x48, 0x6b, 0xff, 0x0a, //0x000000d9 imulq $10, %rdi, %rdi + 0x0f, 0x80, 0x14, 0x00, 0x00, 0x00, //0x000000dd jo LBB0_13 + 0x48, 0xff, 0xc3, //0x000000e3 incq %rbx + 0x48, 0x83, 0xc1, 0xd0, //0x000000e6 addq $-48, %rcx + 0x49, 0x0f, 0xaf, 0xc9, //0x000000ea imulq %r9, %rcx + 0x48, 0x01, 0xcf, //0x000000ee addq %rcx, %rdi + 0x0f, 0x81, 0xc9, 0xff, 0xff, 0xff, //0x000000f1 jno LBB0_9 + //0x000000f7 LBB0_13 + 0x48, 0xff, 0xcb, //0x000000f7 decq %rbx + 0x48, 0x89, 0x1e, //0x000000fa movq %rbx, (%rsi) + 0x48, 0xc7, 0x02, 0xfb, 0xff, 0xff, 0xff, //0x000000fd movq $-5, (%rdx) + 0x5b, //0x00000104 popq %rbx + 0x5d, //0x00000105 popq %rbp + 0xc3, //0x00000106 retq + //0x00000107 LBB0_17 + 0x48, 0x89, 0x3e, //0x00000107 movq %rdi, (%rsi) + 0x5b, //0x0000010a popq %rbx + 0x5d, //0x0000010b popq %rbp + 0xc3, //0x0000010c retq + //0x0000010d LBB0_18 + 0x80, 0xf9, 0x65, //0x0000010d cmpb $101, %cl + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00000110 je LBB0_21 + 0x80, 0xf9, 0x45, //0x00000116 cmpb $69, %cl + 0x0f, 0x84, 0x09, 0x00, 0x00, 0x00, //0x00000119 je LBB0_21 + 0x80, 0xf9, 0x2e, //0x0000011f cmpb $46, %cl + 0x0f, 0x85, 0x0d, 0x00, 0x00, 0x00, //0x00000122 jne LBB0_22 + //0x00000128 LBB0_21 + 0x48, 0x89, 0x1e, //0x00000128 movq %rbx, (%rsi) + 0x48, 0xc7, 0x02, 0xfa, 0xff, 0xff, 0xff, //0x0000012b movq $-6, (%rdx) + 0x5b, //0x00000132 popq %rbx + 0x5d, //0x00000133 popq %rbp + 0xc3, //0x00000134 retq + //0x00000135 LBB0_22 + 0x48, 0x89, 0x1e, //0x00000135 movq %rbx, (%rsi) + 0x48, 0x89, 0x7a, 0x10, //0x00000138 movq %rdi, $16(%rdx) + 0x5b, //0x0000013c popq %rbx + 0x5d, //0x0000013d popq %rbp + 0xc3, //0x0000013e retq + 0x00, //0x0000013f .p2align 2, 0x00 + //0x00000140 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000140 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/vstring.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/vstring.go new file mode 100644 index 0000000..f2278ee --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/vstring.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vstring func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer, flags uint64) + +var S_vstring uintptr + +//go:nosplit +func vstring(s *string, p *int, v *types.JsonState, flags uint64) { + F_vstring(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/vstring_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/vstring_subr.go new file mode 100644 index 0000000..a92835c --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/vstring_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__vstring = 96 +) + +const ( + _stack__vstring = 88 +) + +const ( + _size__vstring = 2056 +) + +var ( + _pcsp__vstring = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {1899, 88}, + {1903, 48}, + {1904, 40}, + {1906, 32}, + {1908, 24}, + {1910, 16}, + {1912, 8}, + {1916, 0}, + {2055, 88}, + } +) + +var _cfunc_vstring = []loader.CFunc{ + {"_vstring_entry", 0, _entry__vstring, 0, nil}, + {"_vstring", _entry__vstring, _size__vstring, _stack__vstring, _pcsp__vstring}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/vstring_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/vstring_text_amd64.go new file mode 100644 index 0000000..383c0f0 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/vstring_text_amd64.go @@ -0,0 +1,585 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_vstring = []byte{ + // .p2align 5, 0x00 + // LCPI0_0 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, // QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000010 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000020 LCPI0_1 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000020 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000030 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000040 LCPI0_2 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000040 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000050 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000060 .p2align 4, 0x90 + //0x00000060 _vstring + 0x55, //0x00000060 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000061 movq %rsp, %rbp + 0x41, 0x57, //0x00000064 pushq %r15 + 0x41, 0x56, //0x00000066 pushq %r14 + 0x41, 0x55, //0x00000068 pushq %r13 + 0x41, 0x54, //0x0000006a pushq %r12 + 0x53, //0x0000006c pushq %rbx + 0x48, 0x83, 0xec, 0x28, //0x0000006d subq $40, %rsp + 0x4c, 0x8b, 0x16, //0x00000071 movq (%rsi), %r10 + 0xf6, 0xc1, 0x20, //0x00000074 testb $32, %cl + 0x48, 0x89, 0x75, 0xc0, //0x00000077 movq %rsi, $-64(%rbp) + 0x0f, 0x85, 0x5b, 0x01, 0x00, 0x00, //0x0000007b jne LBB0_12 + 0x48, 0x8b, 0x4f, 0x08, //0x00000081 movq $8(%rdi), %rcx + 0x48, 0x89, 0xc8, //0x00000085 movq %rcx, %rax + 0x4c, 0x29, 0xd0, //0x00000088 subq %r10, %rax + 0x0f, 0x84, 0x33, 0x04, 0x00, 0x00, //0x0000008b je LBB0_42 + 0x48, 0x89, 0x4d, 0xd0, //0x00000091 movq %rcx, $-48(%rbp) + 0x4c, 0x8b, 0x0f, //0x00000095 movq (%rdi), %r9 + 0x4b, 0x8d, 0x0c, 0x11, //0x00000098 leaq (%r9,%r10), %rcx + 0x48, 0x83, 0xf8, 0x40, //0x0000009c cmpq $64, %rax + 0x0f, 0x82, 0x2a, 0x04, 0x00, 0x00, //0x000000a0 jb LBB0_43 + 0x49, 0x89, 0xd4, //0x000000a6 movq %rdx, %r12 + 0x41, 0x89, 0xc5, //0x000000a9 movl %eax, %r13d + 0x41, 0x83, 0xe5, 0x3f, //0x000000ac andl $63, %r13d + 0x48, 0x8d, 0x50, 0xc0, //0x000000b0 leaq $-64(%rax), %rdx + 0x48, 0x83, 0xe2, 0xc0, //0x000000b4 andq $-64, %rdx + 0x4c, 0x01, 0xd2, //0x000000b8 addq %r10, %rdx + 0x4d, 0x8d, 0x7c, 0x11, 0x40, //0x000000bb leaq $64(%r9,%rdx), %r15 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000000c0 movq $-1, %r11 + 0x45, 0x31, 0xc0, //0x000000c7 xorl %r8d, %r8d + 0xc5, 0xfe, 0x6f, 0x05, 0x2e, 0xff, 0xff, 0xff, //0x000000ca vmovdqu $-210(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0x46, 0xff, 0xff, 0xff, //0x000000d2 vmovdqu $-186(%rip), %ymm1 /* LCPI0_1+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000da .p2align 4, 0x90 + //0x000000e0 LBB0_4 + 0xc5, 0xfe, 0x6f, 0x11, //0x000000e0 vmovdqu (%rcx), %ymm2 + 0xc5, 0xfe, 0x6f, 0x59, 0x20, //0x000000e4 vmovdqu $32(%rcx), %ymm3 + 0xc5, 0xed, 0x74, 0xe0, //0x000000e9 vpcmpeqb %ymm0, %ymm2, %ymm4 + 0xc5, 0x7d, 0xd7, 0xf4, //0x000000ed vpmovmskb %ymm4, %r14d + 0xc5, 0xe5, 0x74, 0xe0, //0x000000f1 vpcmpeqb %ymm0, %ymm3, %ymm4 + 0xc5, 0xfd, 0xd7, 0xdc, //0x000000f5 vpmovmskb %ymm4, %ebx + 0xc5, 0xed, 0x74, 0xd1, //0x000000f9 vpcmpeqb %ymm1, %ymm2, %ymm2 + 0xc5, 0xfd, 0xd7, 0xfa, //0x000000fd vpmovmskb %ymm2, %edi + 0xc5, 0xe5, 0x74, 0xd1, //0x00000101 vpcmpeqb %ymm1, %ymm3, %ymm2 + 0xc5, 0xfd, 0xd7, 0xd2, //0x00000105 vpmovmskb %ymm2, %edx + 0x48, 0xc1, 0xe3, 0x20, //0x00000109 shlq $32, %rbx + 0x48, 0xc1, 0xe2, 0x20, //0x0000010d shlq $32, %rdx + 0x48, 0x09, 0xd7, //0x00000111 orq %rdx, %rdi + 0x49, 0x83, 0xfb, 0xff, //0x00000114 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000118 jne LBB0_6 + 0x48, 0x85, 0xff, //0x0000011e testq %rdi, %rdi + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000121 jne LBB0_9 + //0x00000127 LBB0_6 + 0x4c, 0x09, 0xf3, //0x00000127 orq %r14, %rbx + 0x48, 0x89, 0xfa, //0x0000012a movq %rdi, %rdx + 0x4c, 0x09, 0xc2, //0x0000012d orq %r8, %rdx + 0x0f, 0x85, 0x3c, 0x00, 0x00, 0x00, //0x00000130 jne LBB0_10 + //0x00000136 LBB0_7 + 0x48, 0x85, 0xdb, //0x00000136 testq %rbx, %rbx + 0x0f, 0x85, 0x85, 0x00, 0x00, 0x00, //0x00000139 jne LBB0_11 + //0x0000013f LBB0_8 + 0x48, 0x83, 0xc0, 0xc0, //0x0000013f addq $-64, %rax + 0x48, 0x83, 0xc1, 0x40, //0x00000143 addq $64, %rcx + 0x48, 0x83, 0xf8, 0x3f, //0x00000147 cmpq $63, %rax + 0x0f, 0x87, 0x8f, 0xff, 0xff, 0xff, //0x0000014b ja LBB0_4 + 0xe9, 0x7c, 0x02, 0x00, 0x00, //0x00000151 jmp LBB0_30 + //0x00000156 LBB0_9 + 0x48, 0x89, 0xca, //0x00000156 movq %rcx, %rdx + 0x4c, 0x29, 0xca, //0x00000159 subq %r9, %rdx + 0x4c, 0x0f, 0xbc, 0xdf, //0x0000015c bsfq %rdi, %r11 + 0x49, 0x01, 0xd3, //0x00000160 addq %rdx, %r11 + 0x4c, 0x09, 0xf3, //0x00000163 orq %r14, %rbx + 0x48, 0x89, 0xfa, //0x00000166 movq %rdi, %rdx + 0x4c, 0x09, 0xc2, //0x00000169 orq %r8, %rdx + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x0000016c je LBB0_7 + //0x00000172 LBB0_10 + 0x4c, 0x89, 0xc2, //0x00000172 movq %r8, %rdx + 0x48, 0xf7, 0xd2, //0x00000175 notq %rdx + 0x48, 0x21, 0xfa, //0x00000178 andq %rdi, %rdx + 0x4c, 0x8d, 0x34, 0x12, //0x0000017b leaq (%rdx,%rdx), %r14 + 0x4d, 0x09, 0xc6, //0x0000017f orq %r8, %r14 + 0x4c, 0x89, 0xf6, //0x00000182 movq %r14, %rsi + 0x48, 0xf7, 0xd6, //0x00000185 notq %rsi + 0x48, 0x21, 0xfe, //0x00000188 andq %rdi, %rsi + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000018b movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfe, //0x00000195 andq %rdi, %rsi + 0x45, 0x31, 0xc0, //0x00000198 xorl %r8d, %r8d + 0x48, 0x01, 0xd6, //0x0000019b addq %rdx, %rsi + 0x41, 0x0f, 0x92, 0xc0, //0x0000019e setb %r8b + 0x48, 0x01, 0xf6, //0x000001a2 addq %rsi, %rsi + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000001a5 movabsq $6148914691236517205, %rdx + 0x48, 0x31, 0xd6, //0x000001af xorq %rdx, %rsi + 0x4c, 0x21, 0xf6, //0x000001b2 andq %r14, %rsi + 0x48, 0xf7, 0xd6, //0x000001b5 notq %rsi + 0x48, 0x21, 0xf3, //0x000001b8 andq %rsi, %rbx + 0x48, 0x85, 0xdb, //0x000001bb testq %rbx, %rbx + 0x0f, 0x84, 0x7b, 0xff, 0xff, 0xff, //0x000001be je LBB0_8 + //0x000001c4 LBB0_11 + 0x48, 0x0f, 0xbc, 0xc3, //0x000001c4 bsfq %rbx, %rax + 0x4c, 0x29, 0xc9, //0x000001c8 subq %r9, %rcx + 0x48, 0x8d, 0x7c, 0x01, 0x01, //0x000001cb leaq $1(%rcx,%rax), %rdi + 0x4c, 0x89, 0xe2, //0x000001d0 movq %r12, %rdx + 0x48, 0x8b, 0x75, 0xc0, //0x000001d3 movq $-64(%rbp), %rsi + 0xe9, 0xc8, 0x01, 0x00, 0x00, //0x000001d7 jmp LBB0_28 + //0x000001dc LBB0_12 + 0x48, 0x8b, 0x4f, 0x08, //0x000001dc movq $8(%rdi), %rcx + 0x48, 0x89, 0xc8, //0x000001e0 movq %rcx, %rax + 0x4c, 0x29, 0xd0, //0x000001e3 subq %r10, %rax + 0x0f, 0x84, 0xd8, 0x02, 0x00, 0x00, //0x000001e6 je LBB0_42 + 0x48, 0x89, 0x4d, 0xd0, //0x000001ec movq %rcx, $-48(%rbp) + 0x48, 0x89, 0x55, 0xc8, //0x000001f0 movq %rdx, $-56(%rbp) + 0x48, 0x8b, 0x17, //0x000001f4 movq (%rdi), %rdx + 0x4a, 0x8d, 0x0c, 0x12, //0x000001f7 leaq (%rdx,%r10), %rcx + 0x48, 0x83, 0xf8, 0x40, //0x000001fb cmpq $64, %rax + 0x0f, 0x82, 0xef, 0x02, 0x00, 0x00, //0x000001ff jb LBB0_45 + 0x41, 0x89, 0xc5, //0x00000205 movl %eax, %r13d + 0x41, 0x83, 0xe5, 0x3f, //0x00000208 andl $63, %r13d + 0x48, 0x8d, 0x78, 0xc0, //0x0000020c leaq $-64(%rax), %rdi + 0x48, 0x83, 0xe7, 0xc0, //0x00000210 andq $-64, %rdi + 0x4c, 0x01, 0xd7, //0x00000214 addq %r10, %rdi + 0x48, 0x8d, 0x74, 0x3a, 0x40, //0x00000217 leaq $64(%rdx,%rdi), %rsi + 0x48, 0x89, 0x75, 0xb0, //0x0000021c movq %rsi, $-80(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000220 movq $-1, %r11 + 0x31, 0xff, //0x00000227 xorl %edi, %edi + 0xc5, 0xfe, 0x6f, 0x05, 0xcf, 0xfd, 0xff, 0xff, //0x00000229 vmovdqu $-561(%rip), %ymm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x0d, 0xe7, 0xfd, 0xff, 0xff, //0x00000231 vmovdqu $-537(%rip), %ymm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfe, 0x6f, 0x15, 0xff, 0xfd, 0xff, 0xff, //0x00000239 vmovdqu $-513(%rip), %ymm2 /* LCPI0_2+0(%rip) */ + 0xc5, 0xe5, 0x76, 0xdb, //0x00000241 vpcmpeqd %ymm3, %ymm3, %ymm3 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000245 .p2align 4, 0x90 + //0x00000250 LBB0_15 + 0xc5, 0xfe, 0x6f, 0x21, //0x00000250 vmovdqu (%rcx), %ymm4 + 0xc5, 0xfe, 0x6f, 0x69, 0x20, //0x00000254 vmovdqu $32(%rcx), %ymm5 + 0xc5, 0xdd, 0x74, 0xf0, //0x00000259 vpcmpeqb %ymm0, %ymm4, %ymm6 + 0xc5, 0x7d, 0xd7, 0xfe, //0x0000025d vpmovmskb %ymm6, %r15d + 0xc5, 0xd5, 0x74, 0xf0, //0x00000261 vpcmpeqb %ymm0, %ymm5, %ymm6 + 0xc5, 0xfd, 0xd7, 0xde, //0x00000265 vpmovmskb %ymm6, %ebx + 0xc5, 0xdd, 0x74, 0xf1, //0x00000269 vpcmpeqb %ymm1, %ymm4, %ymm6 + 0xc5, 0x7d, 0xd7, 0xc6, //0x0000026d vpmovmskb %ymm6, %r8d + 0xc5, 0xd5, 0x74, 0xf1, //0x00000271 vpcmpeqb %ymm1, %ymm5, %ymm6 + 0xc5, 0x7d, 0xd7, 0xce, //0x00000275 vpmovmskb %ymm6, %r9d + 0xc5, 0xed, 0x64, 0xf4, //0x00000279 vpcmpgtb %ymm4, %ymm2, %ymm6 + 0xc5, 0xdd, 0x64, 0xe3, //0x0000027d vpcmpgtb %ymm3, %ymm4, %ymm4 + 0xc5, 0xdd, 0xdb, 0xe6, //0x00000281 vpand %ymm6, %ymm4, %ymm4 + 0xc5, 0x7d, 0xd7, 0xe4, //0x00000285 vpmovmskb %ymm4, %r12d + 0xc5, 0xed, 0x64, 0xe5, //0x00000289 vpcmpgtb %ymm5, %ymm2, %ymm4 + 0xc5, 0xd5, 0x64, 0xeb, //0x0000028d vpcmpgtb %ymm3, %ymm5, %ymm5 + 0xc5, 0xd5, 0xdb, 0xe4, //0x00000291 vpand %ymm4, %ymm5, %ymm4 + 0xc5, 0x7d, 0xd7, 0xf4, //0x00000295 vpmovmskb %ymm4, %r14d + 0x48, 0xc1, 0xe3, 0x20, //0x00000299 shlq $32, %rbx + 0x49, 0xc1, 0xe1, 0x20, //0x0000029d shlq $32, %r9 + 0x4d, 0x09, 0xc8, //0x000002a1 orq %r9, %r8 + 0x49, 0x83, 0xfb, 0xff, //0x000002a4 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000002a8 jne LBB0_17 + 0x4d, 0x85, 0xc0, //0x000002ae testq %r8, %r8 + 0x0f, 0x85, 0x9a, 0x00, 0x00, 0x00, //0x000002b1 jne LBB0_22 + //0x000002b7 LBB0_17 + 0x49, 0xc1, 0xe6, 0x20, //0x000002b7 shlq $32, %r14 + 0x4c, 0x09, 0xfb, //0x000002bb orq %r15, %rbx + 0x4c, 0x89, 0xc6, //0x000002be movq %r8, %rsi + 0x48, 0x09, 0xfe, //0x000002c1 orq %rdi, %rsi + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000002c4 jne LBB0_21 + 0x4d, 0x09, 0xe6, //0x000002ca orq %r12, %r14 + 0x48, 0x85, 0xdb, //0x000002cd testq %rbx, %rbx + 0x0f, 0x85, 0x8d, 0x00, 0x00, 0x00, //0x000002d0 jne LBB0_23 + //0x000002d6 LBB0_19 + 0x4d, 0x85, 0xf6, //0x000002d6 testq %r14, %r14 + 0x0f, 0x85, 0x57, 0x01, 0x00, 0x00, //0x000002d9 jne LBB0_35 + 0x48, 0x83, 0xc0, 0xc0, //0x000002df addq $-64, %rax + 0x48, 0x83, 0xc1, 0x40, //0x000002e3 addq $64, %rcx + 0x48, 0x83, 0xf8, 0x3f, //0x000002e7 cmpq $63, %rax + 0x0f, 0x87, 0x5f, 0xff, 0xff, 0xff, //0x000002eb ja LBB0_15 + 0xe9, 0x58, 0x01, 0x00, 0x00, //0x000002f1 jmp LBB0_36 + //0x000002f6 LBB0_21 + 0x49, 0x89, 0xff, //0x000002f6 movq %rdi, %r15 + 0x49, 0xf7, 0xd7, //0x000002f9 notq %r15 + 0x4d, 0x21, 0xc7, //0x000002fc andq %r8, %r15 + 0x4f, 0x8d, 0x0c, 0x3f, //0x000002ff leaq (%r15,%r15), %r9 + 0x49, 0x09, 0xf9, //0x00000303 orq %rdi, %r9 + 0x4c, 0x89, 0x4d, 0xb8, //0x00000306 movq %r9, $-72(%rbp) + 0x49, 0xf7, 0xd1, //0x0000030a notq %r9 + 0x4d, 0x21, 0xc1, //0x0000030d andq %r8, %r9 + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000310 movabsq $-6148914691236517206, %rdi + 0x49, 0x21, 0xf9, //0x0000031a andq %rdi, %r9 + 0x31, 0xff, //0x0000031d xorl %edi, %edi + 0x4d, 0x01, 0xf9, //0x0000031f addq %r15, %r9 + 0x40, 0x0f, 0x92, 0xc7, //0x00000322 setb %dil + 0x4d, 0x01, 0xc9, //0x00000326 addq %r9, %r9 + 0x48, 0xbe, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000329 movabsq $6148914691236517205, %rsi + 0x49, 0x31, 0xf1, //0x00000333 xorq %rsi, %r9 + 0x4c, 0x23, 0x4d, 0xb8, //0x00000336 andq $-72(%rbp), %r9 + 0x49, 0xf7, 0xd1, //0x0000033a notq %r9 + 0x4c, 0x21, 0xcb, //0x0000033d andq %r9, %rbx + 0x4d, 0x09, 0xe6, //0x00000340 orq %r12, %r14 + 0x48, 0x85, 0xdb, //0x00000343 testq %rbx, %rbx + 0x0f, 0x84, 0x8a, 0xff, 0xff, 0xff, //0x00000346 je LBB0_19 + 0xe9, 0x12, 0x00, 0x00, 0x00, //0x0000034c jmp LBB0_23 + //0x00000351 LBB0_22 + 0x49, 0x89, 0xc9, //0x00000351 movq %rcx, %r9 + 0x49, 0x29, 0xd1, //0x00000354 subq %rdx, %r9 + 0x4d, 0x0f, 0xbc, 0xd8, //0x00000357 bsfq %r8, %r11 + 0x4d, 0x01, 0xcb, //0x0000035b addq %r9, %r11 + 0xe9, 0x54, 0xff, 0xff, 0xff, //0x0000035e jmp LBB0_17 + //0x00000363 LBB0_23 + 0x48, 0x0f, 0xbc, 0xc3, //0x00000363 bsfq %rbx, %rax + 0x4d, 0x85, 0xf6, //0x00000367 testq %r14, %r14 + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x0000036a je LBB0_25 + 0x49, 0x0f, 0xbc, 0xfe, //0x00000370 bsfq %r14, %rdi + 0x48, 0x8b, 0x75, 0xc0, //0x00000374 movq $-64(%rbp), %rsi + 0x48, 0x39, 0xc7, //0x00000378 cmpq %rax, %rdi + 0x0f, 0x83, 0x17, 0x00, 0x00, 0x00, //0x0000037b jae LBB0_26 + 0xe9, 0xe9, 0x03, 0x00, 0x00, //0x00000381 jmp LBB0_82 + //0x00000386 LBB0_25 + 0xbf, 0x40, 0x00, 0x00, 0x00, //0x00000386 movl $64, %edi + 0x48, 0x8b, 0x75, 0xc0, //0x0000038b movq $-64(%rbp), %rsi + 0x48, 0x39, 0xc7, //0x0000038f cmpq %rax, %rdi + 0x0f, 0x82, 0xd7, 0x03, 0x00, 0x00, //0x00000392 jb LBB0_82 + //0x00000398 LBB0_26 + 0x48, 0x29, 0xd1, //0x00000398 subq %rdx, %rcx + 0x48, 0x8d, 0x7c, 0x01, 0x01, //0x0000039b leaq $1(%rcx,%rax), %rdi + //0x000003a0 LBB0_27 + 0x48, 0x8b, 0x55, 0xc8, //0x000003a0 movq $-56(%rbp), %rdx + //0x000003a4 LBB0_28 + 0x48, 0x85, 0xff, //0x000003a4 testq %rdi, %rdi + 0x0f, 0x88, 0x14, 0x04, 0x00, 0x00, //0x000003a7 js LBB0_86 + 0x48, 0x89, 0x3e, //0x000003ad movq %rdi, (%rsi) + 0x4c, 0x89, 0x52, 0x10, //0x000003b0 movq %r10, $16(%rdx) + 0x48, 0xc7, 0x02, 0x07, 0x00, 0x00, 0x00, //0x000003b4 movq $7, (%rdx) + 0x49, 0x39, 0xfb, //0x000003bb cmpq %rdi, %r11 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000003be movq $-1, %rax + 0x49, 0x0f, 0x4c, 0xc3, //0x000003c5 cmovlq %r11, %rax + 0x48, 0x89, 0x42, 0x18, //0x000003c9 movq %rax, $24(%rdx) + 0xe9, 0xf9, 0x03, 0x00, 0x00, //0x000003cd jmp LBB0_88 + //0x000003d2 LBB0_30 + 0x4d, 0x89, 0xde, //0x000003d2 movq %r11, %r14 + 0x4c, 0x89, 0xe8, //0x000003d5 movq %r13, %rax + 0x4c, 0x89, 0xf9, //0x000003d8 movq %r15, %rcx + 0x4c, 0x89, 0xe2, //0x000003db movq %r12, %rdx + 0x48, 0x83, 0xf8, 0x20, //0x000003de cmpq $32, %rax + 0x0f, 0x82, 0x03, 0x01, 0x00, 0x00, //0x000003e2 jb LBB0_44 + //0x000003e8 LBB0_31 + 0xc5, 0xfe, 0x6f, 0x01, //0x000003e8 vmovdqu (%rcx), %ymm0 + 0xc5, 0xfd, 0x74, 0x0d, 0x0c, 0xfc, 0xff, 0xff, //0x000003ec vpcmpeqb $-1012(%rip), %ymm0, %ymm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfd, 0xd7, 0xd9, //0x000003f4 vpmovmskb %ymm1, %ebx + 0xc5, 0xfd, 0x74, 0x05, 0x20, 0xfc, 0xff, 0xff, //0x000003f8 vpcmpeqb $-992(%rip), %ymm0, %ymm0 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfd, 0xd7, 0xf8, //0x00000400 vpmovmskb %ymm0, %edi + 0x85, 0xff, //0x00000404 testl %edi, %edi + 0x0f, 0x85, 0x07, 0x01, 0x00, 0x00, //0x00000406 jne LBB0_46 + 0x4d, 0x85, 0xc0, //0x0000040c testq %r8, %r8 + 0x48, 0x8b, 0x75, 0xc0, //0x0000040f movq $-64(%rbp), %rsi + 0x0f, 0x85, 0x1c, 0x01, 0x00, 0x00, //0x00000413 jne LBB0_48 + 0x45, 0x31, 0xc0, //0x00000419 xorl %r8d, %r8d + 0x48, 0x85, 0xdb, //0x0000041c testq %rbx, %rbx + 0x0f, 0x84, 0x5b, 0x01, 0x00, 0x00, //0x0000041f je LBB0_50 + //0x00000425 LBB0_34 + 0x48, 0x0f, 0xbc, 0xc3, //0x00000425 bsfq %rbx, %rax + 0x4c, 0x29, 0xc9, //0x00000429 subq %r9, %rcx + 0x48, 0x8d, 0x7c, 0x01, 0x01, //0x0000042c leaq $1(%rcx,%rax), %rdi + 0xe9, 0x6e, 0xff, 0xff, 0xff, //0x00000431 jmp LBB0_28 + //0x00000436 LBB0_35 + 0x48, 0xc7, 0xc7, 0xfe, 0xff, 0xff, 0xff, //0x00000436 movq $-2, %rdi + 0x4c, 0x8b, 0x55, 0xd0, //0x0000043d movq $-48(%rbp), %r10 + 0x48, 0x8b, 0x55, 0xc8, //0x00000441 movq $-56(%rbp), %rdx + 0x48, 0x8b, 0x75, 0xc0, //0x00000445 movq $-64(%rbp), %rsi + 0xe9, 0x77, 0x03, 0x00, 0x00, //0x00000449 jmp LBB0_87 + //0x0000044e LBB0_36 + 0x4d, 0x89, 0xde, //0x0000044e movq %r11, %r14 + 0x4c, 0x89, 0xe8, //0x00000451 movq %r13, %rax + 0x48, 0x8b, 0x4d, 0xb0, //0x00000454 movq $-80(%rbp), %rcx + 0x48, 0x8b, 0x75, 0xc0, //0x00000458 movq $-64(%rbp), %rsi + 0x48, 0x83, 0xf8, 0x20, //0x0000045c cmpq $32, %rax + 0x0f, 0x82, 0x4d, 0x02, 0x00, 0x00, //0x00000460 jb LBB0_70 + //0x00000466 LBB0_37 + 0xc5, 0xfe, 0x6f, 0x01, //0x00000466 vmovdqu (%rcx), %ymm0 + 0xc5, 0xfd, 0x74, 0x0d, 0x8e, 0xfb, 0xff, 0xff, //0x0000046a vpcmpeqb $-1138(%rip), %ymm0, %ymm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0x7d, 0xd7, 0xe1, //0x00000472 vpmovmskb %ymm1, %r12d + 0xc5, 0xfd, 0x74, 0x0d, 0xa2, 0xfb, 0xff, 0xff, //0x00000476 vpcmpeqb $-1118(%rip), %ymm0, %ymm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0x7d, 0xd7, 0xc1, //0x0000047e vpmovmskb %ymm1, %r8d + 0xc5, 0xfe, 0x6f, 0x0d, 0xb6, 0xfb, 0xff, 0xff, //0x00000482 vmovdqu $-1098(%rip), %ymm1 /* LCPI0_2+0(%rip) */ + 0xc5, 0xf5, 0x64, 0xc8, //0x0000048a vpcmpgtb %ymm0, %ymm1, %ymm1 + 0xc5, 0xed, 0x76, 0xd2, //0x0000048e vpcmpeqd %ymm2, %ymm2, %ymm2 + 0xc5, 0xfd, 0x64, 0xc2, //0x00000492 vpcmpgtb %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xdb, 0xc1, //0x00000496 vpand %ymm1, %ymm0, %ymm0 + 0xc5, 0x7d, 0xd7, 0xf8, //0x0000049a vpmovmskb %ymm0, %r15d + 0x45, 0x85, 0xc0, //0x0000049e testl %r8d, %r8d + 0x0f, 0x85, 0x71, 0x01, 0x00, 0x00, //0x000004a1 jne LBB0_60 + 0x48, 0x85, 0xff, //0x000004a7 testq %rdi, %rdi + 0x0f, 0x85, 0x8a, 0x01, 0x00, 0x00, //0x000004aa jne LBB0_62 + 0x31, 0xff, //0x000004b0 xorl %edi, %edi + 0x4d, 0x85, 0xe4, //0x000004b2 testq %r12, %r12 + 0x0f, 0x84, 0xc7, 0x01, 0x00, 0x00, //0x000004b5 je LBB0_64 + //0x000004bb LBB0_40 + 0x49, 0x0f, 0xbc, 0xdc, //0x000004bb bsfq %r12, %rbx + 0xe9, 0xc3, 0x01, 0x00, 0x00, //0x000004bf jmp LBB0_65 + //0x000004c4 LBB0_42 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000004c4 movq $-1, %rdi + 0xe9, 0xf5, 0x02, 0x00, 0x00, //0x000004cb jmp LBB0_87 + //0x000004d0 LBB0_43 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000004d0 movq $-1, %r11 + 0x45, 0x31, 0xc0, //0x000004d7 xorl %r8d, %r8d + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000004da movq $-1, %r14 + 0x48, 0x83, 0xf8, 0x20, //0x000004e1 cmpq $32, %rax + 0x0f, 0x83, 0xfd, 0xfe, 0xff, 0xff, //0x000004e5 jae LBB0_31 + //0x000004eb LBB0_44 + 0x48, 0x8b, 0x75, 0xc0, //0x000004eb movq $-64(%rbp), %rsi + 0xe9, 0x94, 0x00, 0x00, 0x00, //0x000004ef jmp LBB0_51 + //0x000004f4 LBB0_45 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000004f4 movq $-1, %r11 + 0x31, 0xff, //0x000004fb xorl %edi, %edi + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000004fd movq $-1, %r14 + 0x48, 0x83, 0xf8, 0x20, //0x00000504 cmpq $32, %rax + 0x0f, 0x83, 0x58, 0xff, 0xff, 0xff, //0x00000508 jae LBB0_37 + 0xe9, 0xa0, 0x01, 0x00, 0x00, //0x0000050e jmp LBB0_70 + //0x00000513 LBB0_46 + 0x49, 0x89, 0xd4, //0x00000513 movq %rdx, %r12 + 0x49, 0x83, 0xfe, 0xff, //0x00000516 cmpq $-1, %r14 + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x0000051a jne LBB0_49 + 0x48, 0x89, 0xca, //0x00000520 movq %rcx, %rdx + 0x4c, 0x29, 0xca, //0x00000523 subq %r9, %rdx + 0x4c, 0x0f, 0xbc, 0xdf, //0x00000526 bsfq %rdi, %r11 + 0x49, 0x01, 0xd3, //0x0000052a addq %rdx, %r11 + 0x4d, 0x89, 0xde, //0x0000052d movq %r11, %r14 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00000530 jmp LBB0_49 + //0x00000535 LBB0_48 + 0x49, 0x89, 0xd4, //0x00000535 movq %rdx, %r12 + //0x00000538 LBB0_49 + 0x44, 0x89, 0xc2, //0x00000538 movl %r8d, %edx + 0xf7, 0xd2, //0x0000053b notl %edx + 0x21, 0xfa, //0x0000053d andl %edi, %edx + 0x44, 0x8d, 0x3c, 0x12, //0x0000053f leal (%rdx,%rdx), %r15d + 0x45, 0x09, 0xc7, //0x00000543 orl %r8d, %r15d + 0x44, 0x89, 0xfe, //0x00000546 movl %r15d, %esi + 0xf7, 0xd6, //0x00000549 notl %esi + 0x21, 0xfe, //0x0000054b andl %edi, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000054d andl $-1431655766, %esi + 0x45, 0x31, 0xc0, //0x00000553 xorl %r8d, %r8d + 0x01, 0xd6, //0x00000556 addl %edx, %esi + 0x41, 0x0f, 0x92, 0xc0, //0x00000558 setb %r8b + 0x01, 0xf6, //0x0000055c addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x0000055e xorl $1431655765, %esi + 0x44, 0x21, 0xfe, //0x00000564 andl %r15d, %esi + 0xba, 0xff, 0xff, 0xff, 0xff, //0x00000567 movl $4294967295, %edx + 0x31, 0xf2, //0x0000056c xorl %esi, %edx + 0x21, 0xd3, //0x0000056e andl %edx, %ebx + 0x4c, 0x89, 0xe2, //0x00000570 movq %r12, %rdx + 0x48, 0x8b, 0x75, 0xc0, //0x00000573 movq $-64(%rbp), %rsi + 0x48, 0x85, 0xdb, //0x00000577 testq %rbx, %rbx + 0x0f, 0x85, 0xa5, 0xfe, 0xff, 0xff, //0x0000057a jne LBB0_34 + //0x00000580 LBB0_50 + 0x48, 0x83, 0xc1, 0x20, //0x00000580 addq $32, %rcx + 0x48, 0x83, 0xc0, 0xe0, //0x00000584 addq $-32, %rax + //0x00000588 LBB0_51 + 0x4d, 0x85, 0xc0, //0x00000588 testq %r8, %r8 + 0x0f, 0x85, 0xf2, 0x01, 0x00, 0x00, //0x0000058b jne LBB0_84 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00000591 movq $-1, %rdi + 0x48, 0x85, 0xc0, //0x00000598 testq %rax, %rax + 0x0f, 0x84, 0x20, 0x02, 0x00, 0x00, //0x0000059b je LBB0_86 + //0x000005a1 LBB0_53 + 0x4d, 0x89, 0xc8, //0x000005a1 movq %r9, %r8 + 0x49, 0xf7, 0xd0, //0x000005a4 notq %r8 + //0x000005a7 LBB0_54 + 0x4c, 0x8d, 0x61, 0x01, //0x000005a7 leaq $1(%rcx), %r12 + 0x0f, 0xb6, 0x19, //0x000005ab movzbl (%rcx), %ebx + 0x80, 0xfb, 0x22, //0x000005ae cmpb $34, %bl + 0x0f, 0x84, 0x56, 0x00, 0x00, 0x00, //0x000005b1 je LBB0_59 + 0x4c, 0x8d, 0x78, 0xff, //0x000005b7 leaq $-1(%rax), %r15 + 0x80, 0xfb, 0x5c, //0x000005bb cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000005be je LBB0_57 + 0x4c, 0x89, 0xf8, //0x000005c4 movq %r15, %rax + 0x4c, 0x89, 0xe1, //0x000005c7 movq %r12, %rcx + 0x4d, 0x85, 0xff, //0x000005ca testq %r15, %r15 + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x000005cd jne LBB0_54 + 0xe9, 0xe9, 0x01, 0x00, 0x00, //0x000005d3 jmp LBB0_86 + //0x000005d8 LBB0_57 + 0x4d, 0x85, 0xff, //0x000005d8 testq %r15, %r15 + 0x0f, 0x84, 0x69, 0x02, 0x00, 0x00, //0x000005db je LBB0_93 + 0x4d, 0x01, 0xc4, //0x000005e1 addq %r8, %r12 + 0x49, 0x83, 0xfe, 0xff, //0x000005e4 cmpq $-1, %r14 + 0x4d, 0x0f, 0x44, 0xdc, //0x000005e8 cmoveq %r12, %r11 + 0x4d, 0x0f, 0x44, 0xf4, //0x000005ec cmoveq %r12, %r14 + 0x48, 0x83, 0xc1, 0x02, //0x000005f0 addq $2, %rcx + 0x48, 0x83, 0xc0, 0xfe, //0x000005f4 addq $-2, %rax + 0x49, 0x89, 0xc7, //0x000005f8 movq %rax, %r15 + 0x48, 0x8b, 0x75, 0xc0, //0x000005fb movq $-64(%rbp), %rsi + 0x4d, 0x85, 0xff, //0x000005ff testq %r15, %r15 + 0x0f, 0x85, 0x9f, 0xff, 0xff, 0xff, //0x00000602 jne LBB0_54 + 0xe9, 0xb4, 0x01, 0x00, 0x00, //0x00000608 jmp LBB0_86 + //0x0000060d LBB0_59 + 0x4d, 0x29, 0xcc, //0x0000060d subq %r9, %r12 + 0x4c, 0x89, 0xe7, //0x00000610 movq %r12, %rdi + 0xe9, 0x8c, 0xfd, 0xff, 0xff, //0x00000613 jmp LBB0_28 + //0x00000618 LBB0_60 + 0x49, 0x89, 0xf5, //0x00000618 movq %rsi, %r13 + 0x49, 0x83, 0xfe, 0xff, //0x0000061b cmpq $-1, %r14 + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x0000061f jne LBB0_63 + 0x48, 0x89, 0xce, //0x00000625 movq %rcx, %rsi + 0x48, 0x29, 0xd6, //0x00000628 subq %rdx, %rsi + 0x4d, 0x0f, 0xbc, 0xd8, //0x0000062b bsfq %r8, %r11 + 0x49, 0x01, 0xf3, //0x0000062f addq %rsi, %r11 + 0x4d, 0x89, 0xde, //0x00000632 movq %r11, %r14 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00000635 jmp LBB0_63 + //0x0000063a LBB0_62 + 0x49, 0x89, 0xf5, //0x0000063a movq %rsi, %r13 + //0x0000063d LBB0_63 + 0x89, 0xfe, //0x0000063d movl %edi, %esi + 0xf7, 0xd6, //0x0000063f notl %esi + 0x44, 0x21, 0xc6, //0x00000641 andl %r8d, %esi + 0x44, 0x8d, 0x0c, 0x36, //0x00000644 leal (%rsi,%rsi), %r9d + 0x41, 0x09, 0xf9, //0x00000648 orl %edi, %r9d + 0x44, 0x89, 0xcb, //0x0000064b movl %r9d, %ebx + 0xf7, 0xd3, //0x0000064e notl %ebx + 0x44, 0x21, 0xc3, //0x00000650 andl %r8d, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000653 andl $-1431655766, %ebx + 0x31, 0xff, //0x00000659 xorl %edi, %edi + 0x01, 0xf3, //0x0000065b addl %esi, %ebx + 0x40, 0x0f, 0x92, 0xc7, //0x0000065d setb %dil + 0x01, 0xdb, //0x00000661 addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x00000663 xorl $1431655765, %ebx + 0x44, 0x21, 0xcb, //0x00000669 andl %r9d, %ebx + 0xbe, 0xff, 0xff, 0xff, 0xff, //0x0000066c movl $4294967295, %esi + 0x31, 0xde, //0x00000671 xorl %ebx, %esi + 0x41, 0x21, 0xf4, //0x00000673 andl %esi, %r12d + 0x4c, 0x89, 0xee, //0x00000676 movq %r13, %rsi + 0x4d, 0x85, 0xe4, //0x00000679 testq %r12, %r12 + 0x0f, 0x85, 0x39, 0xfe, 0xff, 0xff, //0x0000067c jne LBB0_40 + //0x00000682 LBB0_64 + 0xbb, 0x40, 0x00, 0x00, 0x00, //0x00000682 movl $64, %ebx + //0x00000687 LBB0_65 + 0x4d, 0x85, 0xe4, //0x00000687 testq %r12, %r12 + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x0000068a je LBB0_68 + 0x45, 0x85, 0xff, //0x00000690 testl %r15d, %r15d + 0x0f, 0x84, 0xad, 0x00, 0x00, 0x00, //0x00000693 je LBB0_78 + 0x49, 0x0f, 0xbc, 0xc7, //0x00000699 bsfq %r15, %rax + 0xe9, 0xa9, 0x00, 0x00, 0x00, //0x0000069d jmp LBB0_79 + //0x000006a2 LBB0_68 + 0x45, 0x85, 0xff, //0x000006a2 testl %r15d, %r15d + 0x0f, 0x85, 0xc4, 0x00, 0x00, 0x00, //0x000006a5 jne LBB0_82 + 0x48, 0x83, 0xc1, 0x20, //0x000006ab addq $32, %rcx + 0x48, 0x83, 0xc0, 0xe0, //0x000006af addq $-32, %rax + //0x000006b3 LBB0_70 + 0x48, 0x85, 0xff, //0x000006b3 testq %rdi, %rdi + 0x0f, 0x85, 0x21, 0x01, 0x00, 0x00, //0x000006b6 jne LBB0_89 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000006bc movq $-1, %rdi + 0x48, 0x85, 0xc0, //0x000006c3 testq %rax, %rax + 0x0f, 0x84, 0xaa, 0x00, 0x00, 0x00, //0x000006c6 je LBB0_83 + //0x000006cc LBB0_72 + 0x0f, 0xb6, 0x19, //0x000006cc movzbl (%rcx), %ebx + 0x80, 0xfb, 0x22, //0x000006cf cmpb $34, %bl + 0x0f, 0x84, 0x89, 0x00, 0x00, 0x00, //0x000006d2 je LBB0_81 + 0x80, 0xfb, 0x5c, //0x000006d8 cmpb $92, %bl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x000006db je LBB0_76 + 0x80, 0xfb, 0x20, //0x000006e1 cmpb $32, %bl + 0x0f, 0x82, 0x85, 0x00, 0x00, 0x00, //0x000006e4 jb LBB0_82 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000006ea movq $-1, %r8 + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000006f1 movl $1, %ebx + 0x48, 0x01, 0xd9, //0x000006f6 addq %rbx, %rcx + 0x4c, 0x01, 0xc0, //0x000006f9 addq %r8, %rax + 0x0f, 0x85, 0xca, 0xff, 0xff, 0xff, //0x000006fc jne LBB0_72 + 0xe9, 0x6f, 0x00, 0x00, 0x00, //0x00000702 jmp LBB0_83 + //0x00000707 LBB0_76 + 0x49, 0x89, 0xf1, //0x00000707 movq %rsi, %r9 + 0x48, 0x83, 0xf8, 0x01, //0x0000070a cmpq $1, %rax + 0x0f, 0x84, 0x43, 0x01, 0x00, 0x00, //0x0000070e je LBB0_94 + 0x48, 0x89, 0xce, //0x00000714 movq %rcx, %rsi + 0x48, 0x29, 0xd6, //0x00000717 subq %rdx, %rsi + 0x49, 0x83, 0xfe, 0xff, //0x0000071a cmpq $-1, %r14 + 0x4c, 0x0f, 0x44, 0xde, //0x0000071e cmoveq %rsi, %r11 + 0x4c, 0x0f, 0x44, 0xf6, //0x00000722 cmoveq %rsi, %r14 + 0x49, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000726 movq $-2, %r8 + 0xbb, 0x02, 0x00, 0x00, 0x00, //0x0000072d movl $2, %ebx + 0x4c, 0x89, 0xce, //0x00000732 movq %r9, %rsi + 0x48, 0x01, 0xd9, //0x00000735 addq %rbx, %rcx + 0x4c, 0x01, 0xc0, //0x00000738 addq %r8, %rax + 0x0f, 0x85, 0x8b, 0xff, 0xff, 0xff, //0x0000073b jne LBB0_72 + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x00000741 jmp LBB0_83 + //0x00000746 LBB0_78 + 0xb8, 0x40, 0x00, 0x00, 0x00, //0x00000746 movl $64, %eax + //0x0000074b LBB0_79 + 0x48, 0x39, 0xd8, //0x0000074b cmpq %rbx, %rax + 0x0f, 0x82, 0x1b, 0x00, 0x00, 0x00, //0x0000074e jb LBB0_82 + 0x48, 0x29, 0xd1, //0x00000754 subq %rdx, %rcx + 0x48, 0x8d, 0x7c, 0x19, 0x01, //0x00000757 leaq $1(%rcx,%rbx), %rdi + 0xe9, 0x3f, 0xfc, 0xff, 0xff, //0x0000075c jmp LBB0_27 + //0x00000761 LBB0_81 + 0x48, 0x29, 0xd1, //0x00000761 subq %rdx, %rcx + 0x48, 0xff, 0xc1, //0x00000764 incq %rcx + 0x48, 0x89, 0xcf, //0x00000767 movq %rcx, %rdi + 0xe9, 0x31, 0xfc, 0xff, 0xff, //0x0000076a jmp LBB0_27 + //0x0000076f LBB0_82 + 0x48, 0xc7, 0xc7, 0xfe, 0xff, 0xff, 0xff, //0x0000076f movq $-2, %rdi + //0x00000776 LBB0_83 + 0x4c, 0x8b, 0x55, 0xd0, //0x00000776 movq $-48(%rbp), %r10 + 0x48, 0x8b, 0x55, 0xc8, //0x0000077a movq $-56(%rbp), %rdx + 0xe9, 0x42, 0x00, 0x00, 0x00, //0x0000077e jmp LBB0_87 + //0x00000783 LBB0_84 + 0x48, 0x89, 0xd6, //0x00000783 movq %rdx, %rsi + 0x48, 0x85, 0xc0, //0x00000786 testq %rax, %rax + 0x0f, 0x84, 0x8d, 0x00, 0x00, 0x00, //0x00000789 je LBB0_91 + 0x4c, 0x89, 0xca, //0x0000078f movq %r9, %rdx + 0x48, 0xf7, 0xd2, //0x00000792 notq %rdx + 0x48, 0x01, 0xca, //0x00000795 addq %rcx, %rdx + 0x49, 0x83, 0xfe, 0xff, //0x00000798 cmpq $-1, %r14 + 0x4c, 0x0f, 0x44, 0xda, //0x0000079c cmoveq %rdx, %r11 + 0x4c, 0x0f, 0x44, 0xf2, //0x000007a0 cmoveq %rdx, %r14 + 0x48, 0xff, 0xc1, //0x000007a4 incq %rcx + 0x48, 0xff, 0xc8, //0x000007a7 decq %rax + 0x48, 0x89, 0xf2, //0x000007aa movq %rsi, %rdx + 0x48, 0x8b, 0x75, 0xc0, //0x000007ad movq $-64(%rbp), %rsi + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000007b1 movq $-1, %rdi + 0x48, 0x85, 0xc0, //0x000007b8 testq %rax, %rax + 0x0f, 0x85, 0xe0, 0xfd, 0xff, 0xff, //0x000007bb jne LBB0_53 + //0x000007c1 LBB0_86 + 0x4c, 0x8b, 0x55, 0xd0, //0x000007c1 movq $-48(%rbp), %r10 + //0x000007c5 LBB0_87 + 0x4c, 0x89, 0x16, //0x000007c5 movq %r10, (%rsi) + 0x48, 0x89, 0x3a, //0x000007c8 movq %rdi, (%rdx) + //0x000007cb LBB0_88 + 0x48, 0x83, 0xc4, 0x28, //0x000007cb addq $40, %rsp + 0x5b, //0x000007cf popq %rbx + 0x41, 0x5c, //0x000007d0 popq %r12 + 0x41, 0x5d, //0x000007d2 popq %r13 + 0x41, 0x5e, //0x000007d4 popq %r14 + 0x41, 0x5f, //0x000007d6 popq %r15 + 0x5d, //0x000007d8 popq %rbp + 0xc5, 0xf8, 0x77, //0x000007d9 vzeroupper + 0xc3, //0x000007dc retq + //0x000007dd LBB0_89 + 0x48, 0x89, 0xf3, //0x000007dd movq %rsi, %rbx + 0x48, 0x85, 0xc0, //0x000007e0 testq %rax, %rax + 0x0f, 0x84, 0x4a, 0x00, 0x00, 0x00, //0x000007e3 je LBB0_92 + 0x48, 0x89, 0xd6, //0x000007e9 movq %rdx, %rsi + 0x48, 0xf7, 0xd6, //0x000007ec notq %rsi + 0x48, 0x01, 0xce, //0x000007ef addq %rcx, %rsi + 0x49, 0x83, 0xfe, 0xff, //0x000007f2 cmpq $-1, %r14 + 0x4c, 0x0f, 0x44, 0xde, //0x000007f6 cmoveq %rsi, %r11 + 0x4c, 0x0f, 0x44, 0xf6, //0x000007fa cmoveq %rsi, %r14 + 0x48, 0xff, 0xc1, //0x000007fe incq %rcx + 0x48, 0xff, 0xc8, //0x00000801 decq %rax + 0x48, 0x89, 0xde, //0x00000804 movq %rbx, %rsi + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00000807 movq $-1, %rdi + 0x48, 0x85, 0xc0, //0x0000080e testq %rax, %rax + 0x0f, 0x85, 0xb5, 0xfe, 0xff, 0xff, //0x00000811 jne LBB0_72 + 0xe9, 0x5a, 0xff, 0xff, 0xff, //0x00000817 jmp LBB0_83 + //0x0000081c LBB0_91 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x0000081c movq $-1, %rdi + 0x4c, 0x8b, 0x55, 0xd0, //0x00000823 movq $-48(%rbp), %r10 + 0x48, 0x89, 0xf2, //0x00000827 movq %rsi, %rdx + 0x48, 0x8b, 0x75, 0xc0, //0x0000082a movq $-64(%rbp), %rsi + 0xe9, 0x92, 0xff, 0xff, 0xff, //0x0000082e jmp LBB0_87 + //0x00000833 LBB0_92 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00000833 movq $-1, %rdi + 0x4c, 0x8b, 0x55, 0xd0, //0x0000083a movq $-48(%rbp), %r10 + 0x48, 0x8b, 0x55, 0xc8, //0x0000083e movq $-56(%rbp), %rdx + 0x48, 0x89, 0xde, //0x00000842 movq %rbx, %rsi + 0xe9, 0x7b, 0xff, 0xff, 0xff, //0x00000845 jmp LBB0_87 + //0x0000084a LBB0_93 + 0x4c, 0x8b, 0x55, 0xd0, //0x0000084a movq $-48(%rbp), %r10 + 0x48, 0x8b, 0x75, 0xc0, //0x0000084e movq $-64(%rbp), %rsi + 0xe9, 0x6e, 0xff, 0xff, 0xff, //0x00000852 jmp LBB0_87 + //0x00000857 LBB0_94 + 0x4c, 0x8b, 0x55, 0xd0, //0x00000857 movq $-48(%rbp), %r10 + 0x48, 0x8b, 0x55, 0xc8, //0x0000085b movq $-56(%rbp), %rdx + 0x4c, 0x89, 0xce, //0x0000085f movq %r9, %rsi + 0xe9, 0x5e, 0xff, 0xff, 0xff, //0x00000862 jmp LBB0_87 + 0x00, //0x00000867 .p2align 2, 0x00 + //0x00000868 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000868 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/vunsigned.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/vunsigned.go new file mode 100644 index 0000000..6125039 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/vunsigned.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package avx2 + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vunsigned func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer) + +var S_vunsigned uintptr + +//go:nosplit +func vunsigned(s *string, p *int, v *types.JsonState) { + F_vunsigned(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/vunsigned_subr.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/vunsigned_subr.go new file mode 100644 index 0000000..7c870d9 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/vunsigned_subr.go @@ -0,0 +1,43 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__vunsigned = 0 +) + +const ( + _stack__vunsigned = 8 +) + +const ( + _size__vunsigned = 324 +) + +var ( + _pcsp__vunsigned = [][2]uint32{ + {1, 0}, + {71, 8}, + {72, 0}, + {83, 8}, + {84, 0}, + {107, 8}, + {108, 0}, + {273, 8}, + {274, 0}, + {312, 8}, + {313, 0}, + {320, 8}, + {322, 0}, + } +) + +var _cfunc_vunsigned = []loader.CFunc{ + {"_vunsigned_entry", 0, _entry__vunsigned, 0, nil}, + {"_vunsigned", _entry__vunsigned, _size__vunsigned, _stack__vunsigned, _pcsp__vunsigned}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx2/vunsigned_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/avx2/vunsigned_text_amd64.go new file mode 100644 index 0000000..abf7d2e --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/vunsigned_text_amd64.go @@ -0,0 +1,108 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package avx2 + +var _text_vunsigned = []byte{ + // .p2align 4, 0x90 + // _vunsigned + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x49, 0x89, 0xd0, //0x00000004 movq %rdx, %r8 + 0x48, 0x8b, 0x0e, //0x00000007 movq (%rsi), %rcx + 0x4c, 0x8b, 0x0f, //0x0000000a movq (%rdi), %r9 + 0x4c, 0x8b, 0x5f, 0x08, //0x0000000d movq $8(%rdi), %r11 + 0x48, 0xc7, 0x02, 0x09, 0x00, 0x00, 0x00, //0x00000011 movq $9, (%rdx) + 0xc5, 0xf8, 0x57, 0xc0, //0x00000018 vxorps %xmm0, %xmm0, %xmm0 + 0xc5, 0xf8, 0x11, 0x42, 0x08, //0x0000001c vmovups %xmm0, $8(%rdx) + 0x48, 0x8b, 0x06, //0x00000021 movq (%rsi), %rax + 0x48, 0x89, 0x42, 0x18, //0x00000024 movq %rax, $24(%rdx) + 0x4c, 0x39, 0xd9, //0x00000028 cmpq %r11, %rcx + 0x0f, 0x83, 0x18, 0x00, 0x00, 0x00, //0x0000002b jae LBB0_1 + 0x41, 0x8a, 0x04, 0x09, //0x00000031 movb (%r9,%rcx), %al + 0x3c, 0x2d, //0x00000035 cmpb $45, %al + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x00000037 jne LBB0_4 + //0x0000003d LBB0_3 + 0x48, 0x89, 0x0e, //0x0000003d movq %rcx, (%rsi) + 0x49, 0xc7, 0x00, 0xfa, 0xff, 0xff, 0xff, //0x00000040 movq $-6, (%r8) + 0x5d, //0x00000047 popq %rbp + 0xc3, //0x00000048 retq + //0x00000049 LBB0_1 + 0x4c, 0x89, 0x1e, //0x00000049 movq %r11, (%rsi) + 0x49, 0xc7, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000004c movq $-1, (%r8) + 0x5d, //0x00000053 popq %rbp + 0xc3, //0x00000054 retq + //0x00000055 LBB0_4 + 0x8d, 0x50, 0xd0, //0x00000055 leal $-48(%rax), %edx + 0x80, 0xfa, 0x0a, //0x00000058 cmpb $10, %dl + 0x0f, 0x82, 0x0c, 0x00, 0x00, 0x00, //0x0000005b jb LBB0_6 + 0x48, 0x89, 0x0e, //0x00000061 movq %rcx, (%rsi) + 0x49, 0xc7, 0x00, 0xfe, 0xff, 0xff, 0xff, //0x00000064 movq $-2, (%r8) + 0x5d, //0x0000006b popq %rbp + 0xc3, //0x0000006c retq + //0x0000006d LBB0_6 + 0x3c, 0x30, //0x0000006d cmpb $48, %al + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x0000006f jne LBB0_7 + 0x41, 0x8a, 0x44, 0x09, 0x01, //0x00000075 movb $1(%r9,%rcx), %al + 0x04, 0xd2, //0x0000007a addb $-46, %al + 0x3c, 0x37, //0x0000007c cmpb $55, %al + 0x0f, 0x87, 0xb6, 0x00, 0x00, 0x00, //0x0000007e ja LBB0_16 + 0x0f, 0xb6, 0xc0, //0x00000084 movzbl %al, %eax + 0x48, 0xba, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00000087 movabsq $36028797027352577, %rdx + 0x48, 0x0f, 0xa3, 0xc2, //0x00000091 btq %rax, %rdx + 0x0f, 0x83, 0x9f, 0x00, 0x00, 0x00, //0x00000095 jae LBB0_16 + //0x0000009b LBB0_7 + 0x31, 0xc0, //0x0000009b xorl %eax, %eax + 0x41, 0xba, 0x0a, 0x00, 0x00, 0x00, //0x0000009d movl $10, %r10d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000a3 .p2align 4, 0x90 + //0x000000b0 LBB0_8 + 0x4c, 0x39, 0xd9, //0x000000b0 cmpq %r11, %rcx + 0x0f, 0x83, 0x78, 0x00, 0x00, 0x00, //0x000000b3 jae LBB0_20 + 0x41, 0x0f, 0xbe, 0x3c, 0x09, //0x000000b9 movsbl (%r9,%rcx), %edi + 0x8d, 0x57, 0xd0, //0x000000be leal $-48(%rdi), %edx + 0x80, 0xfa, 0x09, //0x000000c1 cmpb $9, %dl + 0x0f, 0x87, 0x49, 0x00, 0x00, 0x00, //0x000000c4 ja LBB0_17 + 0x49, 0xf7, 0xe2, //0x000000ca mulq %r10 + 0x0f, 0x80, 0x31, 0x00, 0x00, 0x00, //0x000000cd jo LBB0_13 + 0x48, 0xff, 0xc1, //0x000000d3 incq %rcx + 0x83, 0xc7, 0xd0, //0x000000d6 addl $-48, %edi + 0x48, 0x63, 0xd7, //0x000000d9 movslq %edi, %rdx + 0x48, 0x89, 0xd7, //0x000000dc movq %rdx, %rdi + 0x48, 0xc1, 0xff, 0x3f, //0x000000df sarq $63, %rdi + 0x48, 0x01, 0xd0, //0x000000e3 addq %rdx, %rax + 0x48, 0x83, 0xd7, 0x00, //0x000000e6 adcq $0, %rdi + 0x89, 0xfa, //0x000000ea movl %edi, %edx + 0x83, 0xe2, 0x01, //0x000000ec andl $1, %edx + 0x48, 0xf7, 0xda, //0x000000ef negq %rdx + 0x48, 0x31, 0xd7, //0x000000f2 xorq %rdx, %rdi + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000000f5 jne LBB0_13 + 0x48, 0x85, 0xd2, //0x000000fb testq %rdx, %rdx + 0x0f, 0x89, 0xac, 0xff, 0xff, 0xff, //0x000000fe jns LBB0_8 + //0x00000104 LBB0_13 + 0x48, 0xff, 0xc9, //0x00000104 decq %rcx + 0x48, 0x89, 0x0e, //0x00000107 movq %rcx, (%rsi) + 0x49, 0xc7, 0x00, 0xfb, 0xff, 0xff, 0xff, //0x0000010a movq $-5, (%r8) + 0x5d, //0x00000111 popq %rbp + 0xc3, //0x00000112 retq + //0x00000113 LBB0_17 + 0x40, 0x80, 0xff, 0x65, //0x00000113 cmpb $101, %dil + 0x0f, 0x84, 0x20, 0xff, 0xff, 0xff, //0x00000117 je LBB0_3 + 0x40, 0x80, 0xff, 0x45, //0x0000011d cmpb $69, %dil + 0x0f, 0x84, 0x16, 0xff, 0xff, 0xff, //0x00000121 je LBB0_3 + 0x40, 0x80, 0xff, 0x2e, //0x00000127 cmpb $46, %dil + 0x0f, 0x84, 0x0c, 0xff, 0xff, 0xff, //0x0000012b je LBB0_3 + //0x00000131 LBB0_20 + 0x48, 0x89, 0x0e, //0x00000131 movq %rcx, (%rsi) + 0x49, 0x89, 0x40, 0x10, //0x00000134 movq %rax, $16(%r8) + 0x5d, //0x00000138 popq %rbp + 0xc3, //0x00000139 retq + //0x0000013a LBB0_16 + 0x48, 0xff, 0xc1, //0x0000013a incq %rcx + 0x48, 0x89, 0x0e, //0x0000013d movq %rcx, (%rsi) + 0x5d, //0x00000140 popq %rbp + 0xc3, //0x00000141 retq + 0x00, 0x00, //0x00000142 .p2align 2, 0x00 + //0x00000144 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000144 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go index 11e5172..4904b81 100644 --- a/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go +++ b/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go @@ -24,12 +24,10 @@ import ( `github.com/bytedance/sonic/internal/native/avx2` `github.com/bytedance/sonic/internal/native/sse` `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` ) -const ( - MaxFrameSize uintptr = 400 - BufPaddingSize int = 64 -) +const MaxFrameSize uintptr = 400 var ( S_f64toa uintptr @@ -61,142 +59,221 @@ var ( S_skip_number uintptr ) +var ( + __Quote func(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer, flags uint64) int + + __Unquote func(s unsafe.Pointer, nb int, dp unsafe.Pointer, ep unsafe.Pointer, flags uint64) int + + __HTMLEscape func(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer) int + + __Value func(s unsafe.Pointer, n int, p int, v unsafe.Pointer, flags uint64) int + + __SkipOne func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) int + + __SkipOneFast func(s unsafe.Pointer, p unsafe.Pointer) int + + __GetByPath func(s unsafe.Pointer, p unsafe.Pointer, path unsafe.Pointer, m unsafe.Pointer) int + + __ValidateOne func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) int + + __I64toa func(out unsafe.Pointer, val int64) (ret int) + + __U64toa func(out unsafe.Pointer, val uint64) (ret int) + + __F64toa func(out unsafe.Pointer, val float64) (ret int) + + __F32toa func(out unsafe.Pointer, val float32) (ret int) + + __ValidateUTF8 func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int) + + __ValidateUTF8Fast func(s unsafe.Pointer) (ret int) +) + //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func Quote(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) int +func Quote(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) int { + return __Quote(rt.NoEscape(unsafe.Pointer(s)), nb, rt.NoEscape(unsafe.Pointer(dp)), rt.NoEscape(unsafe.Pointer(dn)), flags) +} //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func Unquote(s unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) int +func Unquote(s unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) int { + return __Unquote(rt.NoEscape(unsafe.Pointer(s)), nb, rt.NoEscape(unsafe.Pointer(dp)), rt.NoEscape(unsafe.Pointer(ep)), flags) +} //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func HTMLEscape(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) int +func HTMLEscape(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) int { + return __HTMLEscape(rt.NoEscape(unsafe.Pointer(s)), nb, rt.NoEscape(unsafe.Pointer(dp)), rt.NoEscape(unsafe.Pointer(dn))) +} //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func Value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) int +func Value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) int { + return __Value(rt.NoEscape(unsafe.Pointer(s)), n, p, rt.NoEscape(unsafe.Pointer(v)), flags) +} //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func SkipOne(s *string, p *int, m *types.StateMachine, flags uint64) int +func SkipOne(s *string, p *int, m *types.StateMachine, flags uint64) int { + return __SkipOne(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func SkipOneFast(s *string, p *int) int +func SkipOneFast(s *string, p *int) int { + return __SkipOneFast(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p))) +} //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func GetByPath(s *string, p *int, path *[]interface{}, m *types.StateMachine) int +func GetByPath(s *string, p *int, path *[]interface{}, m *types.StateMachine) int { + return __GetByPath(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(path)), rt.NoEscape(unsafe.Pointer(m))) +} //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func ValidateOne(s *string, p *int, m *types.StateMachine) int +func ValidateOne(s *string, p *int, m *types.StateMachine, flags uint64) int { + return __ValidateOne(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func I64toa(out *byte, val int64) (ret int) +func I64toa(out *byte, val int64) (ret int) { + return __I64toa(rt.NoEscape(unsafe.Pointer(out)), val) +} //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func U64toa(out *byte, val uint64) (ret int) +func U64toa(out *byte, val uint64) (ret int) { + return __U64toa(rt.NoEscape(unsafe.Pointer(out)), val) +} //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func F64toa(out *byte, val float64) (ret int) +func F64toa(out *byte, val float64) (ret int) { + return __F64toa(rt.NoEscape(unsafe.Pointer(out)), val) +} //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func ValidateUTF8(s *string, p *int, m *types.StateMachine) (ret int) +func F32toa(out *byte, val float32) (ret int) { + return __F32toa(rt.NoEscape(unsafe.Pointer(out)), val) +} //go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func ValidateUTF8Fast(s *string) (ret int) +func ValidateUTF8(s *string, p *int, m *types.StateMachine) (ret int) { + return __ValidateUTF8(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m))) +} + +//go:nosplit +func ValidateUTF8Fast(s *string) (ret int) { + return __ValidateUTF8Fast(rt.NoEscape(unsafe.Pointer(s))) +} + +func useSSE() { + sse.Use() + S_f64toa = sse.S_f64toa + __F64toa = sse.F_f64toa + S_f32toa = sse.S_f32toa + __F64toa = sse.F_f64toa + S_i64toa = sse.S_i64toa + __I64toa = sse.F_i64toa + S_u64toa = sse.S_u64toa + __U64toa = sse.F_u64toa + S_lspace = sse.S_lspace + S_quote = sse.S_quote + __Quote = sse.F_quote + S_unquote = sse.S_unquote + __Unquote = sse.F_unquote + S_value = sse.S_value + __Value = sse.F_value + S_vstring = sse.S_vstring + S_vnumber = sse.S_vnumber + S_vsigned = sse.S_vsigned + S_vunsigned = sse.S_vunsigned + S_skip_one = sse.S_skip_one + __SkipOne = sse.F_skip_one + __SkipOneFast = sse.F_skip_one_fast + S_skip_array = sse.S_skip_array + S_skip_object = sse.S_skip_object + S_skip_number = sse.S_skip_number + S_get_by_path = sse.S_get_by_path + __GetByPath = sse.F_get_by_path + __HTMLEscape = sse.F_html_escape + __ValidateOne = sse.F_validate_one + __ValidateUTF8= sse.F_validate_utf8 + __ValidateUTF8Fast = sse.F_validate_utf8_fast +} + func useAVX() { + avx.Use() S_f64toa = avx.S_f64toa + __F64toa = avx.F_f64toa S_f32toa = avx.S_f32toa + __F64toa = avx.F_f64toa S_i64toa = avx.S_i64toa + __I64toa = avx.F_i64toa S_u64toa = avx.S_u64toa + __U64toa = avx.F_u64toa S_lspace = avx.S_lspace S_quote = avx.S_quote + __Quote = avx.F_quote S_unquote = avx.S_unquote + __Unquote = avx.F_unquote S_value = avx.S_value + __Value = avx.F_value S_vstring = avx.S_vstring S_vnumber = avx.S_vnumber S_vsigned = avx.S_vsigned S_vunsigned = avx.S_vunsigned S_skip_one = avx.S_skip_one - S_skip_one_fast = avx.S_skip_one_fast + __SkipOne = avx.F_skip_one + __SkipOneFast = avx.F_skip_one_fast S_skip_array = avx.S_skip_array S_skip_object = avx.S_skip_object S_skip_number = avx.S_skip_number S_get_by_path = avx.S_get_by_path + __GetByPath = avx.F_get_by_path + __HTMLEscape = avx.F_html_escape + __ValidateOne = avx.F_validate_one + __ValidateUTF8= avx.F_validate_utf8 + __ValidateUTF8Fast = avx.F_validate_utf8_fast } func useAVX2() { + avx2.Use() S_f64toa = avx2.S_f64toa + __F64toa = avx2.F_f64toa S_f32toa = avx2.S_f32toa + __F64toa = avx2.F_f64toa S_i64toa = avx2.S_i64toa + __I64toa = avx2.F_i64toa S_u64toa = avx2.S_u64toa + __U64toa = avx2.F_u64toa S_lspace = avx2.S_lspace S_quote = avx2.S_quote + __Quote = avx2.F_quote S_unquote = avx2.S_unquote + __Unquote = avx2.F_unquote S_value = avx2.S_value + __Value = avx2.F_value S_vstring = avx2.S_vstring S_vnumber = avx2.S_vnumber S_vsigned = avx2.S_vsigned S_vunsigned = avx2.S_vunsigned S_skip_one = avx2.S_skip_one - S_skip_one_fast = avx2.S_skip_one_fast + __SkipOne = avx2.F_skip_one + __SkipOneFast = avx2.F_skip_one_fast S_skip_array = avx2.S_skip_array S_skip_object = avx2.S_skip_object S_skip_number = avx2.S_skip_number S_get_by_path = avx2.S_get_by_path + __GetByPath = avx2.F_get_by_path + __HTMLEscape = avx2.F_html_escape + __ValidateOne = avx2.F_validate_one + __ValidateUTF8= avx2.F_validate_utf8 + __ValidateUTF8Fast = avx2.F_validate_utf8_fast } -func useSSE() { - S_f64toa = sse.S_f64toa - S_f32toa = sse.S_f32toa - S_i64toa = sse.S_i64toa - S_u64toa = sse.S_u64toa - S_lspace = sse.S_lspace - S_quote = sse.S_quote - S_unquote = sse.S_unquote - S_value = sse.S_value - S_vstring = sse.S_vstring - S_vnumber = sse.S_vnumber - S_vsigned = sse.S_vsigned - S_vunsigned = sse.S_vunsigned - S_skip_one = sse.S_skip_one - S_skip_one_fast = sse.S_skip_one_fast - S_skip_array = sse.S_skip_array - S_skip_object = sse.S_skip_object - S_skip_number = sse.S_skip_number - S_get_by_path = sse.S_get_by_path -} func init() { - if cpu.HasAVX2 { - useAVX2() - } else if cpu.HasAVX { - useAVX() - } else if cpu.HasSSE { - useSSE() - } else { - panic("Unsupported CPU, maybe it's too old to run Sonic.") - } + if cpu.HasAVX2 { + useAVX2() + } else if cpu.HasAVX { + useAVX() + } else if cpu.HasSSE { + useSSE() + } else { + panic("Unsupported CPU, maybe it's too old to run Sonic.") + } } diff --git a/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.s b/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.s deleted file mode 100644 index bfd2f52..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.s +++ /dev/null @@ -1,137 +0,0 @@ -// -// Copyright 2021 ByteDance Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#include "go_asm.h" -#include "funcdata.h" -#include "textflag.h" - -TEXT ·Quote(SB), NOSPLIT, $0 - 48 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__quote(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__quote(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__quote(SB) - -TEXT ·Unquote(SB), NOSPLIT, $0 - 48 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__unquote(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__unquote(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__unquote(SB) - -TEXT ·HTMLEscape(SB), NOSPLIT, $0 - 40 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__html_escape(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__html_escape(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__html_escape(SB) - -TEXT ·Value(SB), NOSPLIT, $0 - 48 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__value(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__value(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__value(SB) - -TEXT ·SkipOne(SB), NOSPLIT, $0 - 40 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__skip_one(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__skip_one(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__skip_one(SB) - -TEXT ·SkipOneFast(SB), NOSPLIT, $0 - 24 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__skip_one_fast(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__skip_one_fast(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__skip_one_fast(SB) - -TEXT ·GetByPath(SB), NOSPLIT, $0 - 40 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__get_by_path(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__get_by_path(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__get_by_path(SB) - -TEXT ·ValidateOne(SB), NOSPLIT, $0 - 32 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__validate_one(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__validate_one(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__validate_one(SB) - -TEXT ·ValidateUTF8(SB), NOSPLIT, $0 - 40 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__validate_utf8(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__validate_utf8(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__validate_utf8(SB) - -TEXT ·ValidateUTF8Fast(SB), NOSPLIT, $0 - 16 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__validate_utf8_fast(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__validate_utf8_fast(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__validate_utf8_fast(SB) - -TEXT ·I64toa(SB), NOSPLIT, $0 - 32 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__i64toa(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__i64toa(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__i64toa(SB) - -TEXT ·U64toa(SB), NOSPLIT, $0 - 32 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__u64toa(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__u64toa(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__u64toa(SB) - -TEXT ·F64toa(SB), NOSPLIT, $0 - 32 - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX2(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx2·__f64toa(SB) - CMPB github·com∕bytedance∕sonic∕internal∕cpu·HasAVX(SB), $0 - JE 2(PC) - JMP github·com∕bytedance∕sonic∕internal∕native∕avx·__f64toa(SB) - JMP github·com∕bytedance∕sonic∕internal∕native∕sse·__f64toa(SB) - diff --git a/vendor/github.com/bytedance/sonic/internal/native/dispatch_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/dispatch_arm64.go new file mode 100644 index 0000000..1a3407c --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/dispatch_arm64.go @@ -0,0 +1,154 @@ +/* +* Copyright 2021 ByteDance Inc. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package native + +import ( + `unsafe` + + neon `github.com/bytedance/sonic/internal/native/neon` + `github.com/bytedance/sonic/internal/native/types` +) + +const ( + MaxFrameSize uintptr = 200 + BufPaddingSize int = 64 +) + +var ( + S_f64toa uintptr + S_f32toa uintptr + S_i64toa uintptr + S_u64toa uintptr + S_lspace uintptr +) + +var ( + S_quote uintptr + S_unquote uintptr +) + +var ( + S_value uintptr + S_vstring uintptr + S_vnumber uintptr + S_vsigned uintptr + S_vunsigned uintptr +) + +var ( + S_skip_one uintptr + S_skip_one_fast uintptr + S_get_by_path uintptr + S_skip_array uintptr + S_skip_object uintptr + S_skip_number uintptr +) + +//go:nosplit +//go:noescape +//go:linkname Quote github.com/bytedance/sonic/internal/native/neon.__quote +func Quote(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) int + +//go:nosplit +//go:noescape +//go:linkname Unquote github.com/bytedance/sonic/internal/native/neon.__unquote +func Unquote(s unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) int + +//go:nosplit +//go:noescape +//go:linkname HTMLEscape github.com/bytedance/sonic/internal/native/neon.__html_escape +func HTMLEscape(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) int + +//go:nosplit +//go:noescape +//go:linkname Value github.com/bytedance/sonic/internal/native/neon.__value +func Value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) int + +//go:nosplit +//go:noescape +//go:linkname SkipOne github.com/bytedance/sonic/internal/native/neon.__skip_one +func SkipOne(s *string, p *int, m *types.StateMachine, flags uint64) int + +//go:nosplit +//go:noescape +//go:linkname SkipOneFast github.com/bytedance/sonic/internal/native/neon.__skip_one_fast +func SkipOneFast(s *string, p *int) int + +//go:nosplit +//go:noescape +//go:linkname GetByPath github.com/bytedance/sonic/internal/native/neon.__get_by_path +func GetByPath(s *string, p *int, path *[]interface{}, m *types.StateMachine) int + +//go:nosplit +//go:noescape +//go:linkname ValidateOne github.com/bytedance/sonic/internal/native/neon.__validate_one +func ValidateOne(s *string, p *int, m *types.StateMachine, flags uint64) int + +//go:nosplit +//go:noescape +//go:linkname I64toa github.com/bytedance/sonic/internal/native/neon.__i64toa +func I64toa(out *byte, val int64) (ret int) + +//go:nosplit +//go:noescape +//go:linkname U64toa github.com/bytedance/sonic/internal/native/neon.__u64toa +func U64toa(out *byte, val uint64) (ret int) + +//go:nosplit +//go:noescape +//go:linkname F64toa github.com/bytedance/sonic/internal/native/neon.__f64toa +func F64toa(out *byte, val float64) (ret int) + +//go:nosplit +//go:noescape +//go:linkname F32toa github.com/bytedance/sonic/internal/native/neon.__f32toa +func F32toa(out *byte, val float32) (ret int) + +//go:nosplit +//go:noescape +//go:linkname ValidateUTF8 github.com/bytedance/sonic/internal/native/neon.__validate_utf8 +func ValidateUTF8(s *string, p *int, m *types.StateMachine) (ret int) + +//go:nosplit +//go:noescape +//go:linkname ValidateUTF8Fast github.com/bytedance/sonic/internal/native/neon.__validate_utf8_fast +func ValidateUTF8Fast(s *string) (ret int) + +func useNeon() { + S_f64toa = neon.S_f64toa + S_f32toa = neon.S_f32toa + S_i64toa = neon.S_i64toa + S_u64toa = neon.S_u64toa + S_lspace = neon.S_lspace + S_quote = neon.S_quote + S_unquote = neon.S_unquote + S_value = neon.S_value + S_vstring = neon.S_vstring + S_vnumber = neon.S_vnumber + S_vsigned = neon.S_vsigned + S_vunsigned = neon.S_vunsigned + S_skip_one = neon.S_skip_one + S_skip_one_fast = neon.S_skip_one_fast + S_skip_array = neon.S_skip_array + S_skip_object = neon.S_skip_object + S_skip_number = neon.S_skip_number + S_get_by_path = neon.S_get_by_path +} + +func init() { + useNeon() +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/f32toa.tmpl b/vendor/github.com/bytedance/sonic/internal/native/f32toa.tmpl new file mode 100644 index 0000000..7016dae --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/f32toa.tmpl @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_f32toa func(out *byte, val float32) (ret int) + +var S_f32toa uintptr + +//go:nosplit +func f32toa(out *byte, val float32) (ret int) { + return F_f32toa((*byte)(rt.NoEscape(unsafe.Pointer(out))), val) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/f64toa.tmpl b/vendor/github.com/bytedance/sonic/internal/native/f64toa.tmpl new file mode 100644 index 0000000..21fbdda --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/f64toa.tmpl @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_f64toa func(out unsafe.Pointer, val float64) (ret int) + +var S_f64toa uintptr + +//go:nosplit +func f64toa(out *byte, val float64) (ret int) { + return F_f64toa((rt.NoEscape(unsafe.Pointer(out))), val) +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/fastfloat_amd64_test.tmpl b/vendor/github.com/bytedance/sonic/internal/native/fastfloat_test.tmpl similarity index 62% rename from vendor/github.com/bytedance/sonic/internal/native/fastfloat_amd64_test.tmpl rename to vendor/github.com/bytedance/sonic/internal/native/fastfloat_test.tmpl index 7ed9e47..deda744 100644 --- a/vendor/github.com/bytedance/sonic/internal/native/fastfloat_amd64_test.tmpl +++ b/vendor/github.com/bytedance/sonic/internal/native/fastfloat_test.tmpl @@ -1,3 +1,10 @@ +// +build amd64 + + +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + /* * Copyright 2021 ByteDance Inc. * @@ -17,35 +24,35 @@ package {{PACKAGE}} import ( + `encoding/json` `math` + `math/rand` `strconv` `testing` - `math/rand` - `encoding/json` `github.com/stretchr/testify/assert` ) func TestFastFloat_Encode(t *testing.T) { var buf [64]byte - assert.Equal(t, "0" , string(buf[:__f64toa(&buf[0], 0)])) - assert.Equal(t, "-0" , string(buf[:__f64toa(&buf[0], math.Float64frombits(0x8000000000000000))])) - assert.Equal(t, "12340000000" , string(buf[:__f64toa(&buf[0], 1234e7)])) - assert.Equal(t, "12.34" , string(buf[:__f64toa(&buf[0], 1234e-2)])) - assert.Equal(t, "0.001234" , string(buf[:__f64toa(&buf[0], 1234e-6)])) - assert.Equal(t, "1e+30" , string(buf[:__f64toa(&buf[0], 1e30)])) - assert.Equal(t, "1.234e+33" , string(buf[:__f64toa(&buf[0], 1234e30)])) - assert.Equal(t, "1.234e+308" , string(buf[:__f64toa(&buf[0], 1234e305)])) - assert.Equal(t, "1.234e-317" , string(buf[:__f64toa(&buf[0], 1234e-320)])) - assert.Equal(t, "1.7976931348623157e+308" , string(buf[:__f64toa(&buf[0], 1.7976931348623157e308)])) - assert.Equal(t, "-12340000000" , string(buf[:__f64toa(&buf[0], -1234e7)])) - assert.Equal(t, "-12.34" , string(buf[:__f64toa(&buf[0], -1234e-2)])) - assert.Equal(t, "-0.001234" , string(buf[:__f64toa(&buf[0], -1234e-6)])) - assert.Equal(t, "-1e+30" , string(buf[:__f64toa(&buf[0], -1e30)])) - assert.Equal(t, "-1.234e+33" , string(buf[:__f64toa(&buf[0], -1234e30)])) - assert.Equal(t, "-1.234e+308" , string(buf[:__f64toa(&buf[0], -1234e305)])) - assert.Equal(t, "-1.234e-317" , string(buf[:__f64toa(&buf[0], -1234e-320)])) - assert.Equal(t, "-2.2250738585072014e-308" , string(buf[:__f64toa(&buf[0], -2.2250738585072014e-308)])) + assert.Equal(t, "0" , string(buf[:f64toa(&buf[0], 0)])) + assert.Equal(t, "-0" , string(buf[:f64toa(&buf[0], math.Float64frombits(0x8000000000000000))])) + assert.Equal(t, "12340000000" , string(buf[:f64toa(&buf[0], 1234e7)])) + assert.Equal(t, "12.34" , string(buf[:f64toa(&buf[0], 1234e-2)])) + assert.Equal(t, "0.001234" , string(buf[:f64toa(&buf[0], 1234e-6)])) + assert.Equal(t, "1e+30" , string(buf[:f64toa(&buf[0], 1e30)])) + assert.Equal(t, "1.234e+33" , string(buf[:f64toa(&buf[0], 1234e30)])) + assert.Equal(t, "1.234e+308" , string(buf[:f64toa(&buf[0], 1234e305)])) + assert.Equal(t, "1.234e-317" , string(buf[:f64toa(&buf[0], 1234e-320)])) + assert.Equal(t, "1.7976931348623157e+308" , string(buf[:f64toa(&buf[0], 1.7976931348623157e308)])) + assert.Equal(t, "-12340000000" , string(buf[:f64toa(&buf[0], -1234e7)])) + assert.Equal(t, "-12.34" , string(buf[:f64toa(&buf[0], -1234e-2)])) + assert.Equal(t, "-0.001234" , string(buf[:f64toa(&buf[0], -1234e-6)])) + assert.Equal(t, "-1e+30" , string(buf[:f64toa(&buf[0], -1e30)])) + assert.Equal(t, "-1.234e+33" , string(buf[:f64toa(&buf[0], -1234e30)])) + assert.Equal(t, "-1.234e+308" , string(buf[:f64toa(&buf[0], -1234e305)])) + assert.Equal(t, "-1.234e-317" , string(buf[:f64toa(&buf[0], -1234e-320)])) + assert.Equal(t, "-2.2250738585072014e-308" , string(buf[:f64toa(&buf[0], -2.2250738585072014e-308)])) } func TestFastFloat_Random(t *testing.T) { @@ -56,7 +63,7 @@ func TestFastFloat_Random(t *testing.T) { f64 := math.Float64frombits(b64) jout, jerr := json.Marshal(f64) - n := __f64toa(&buf[0], f64) + n := f64toa(&buf[0], f64) if jerr == nil { assert.Equal(t, jout, buf[:n]) } else { @@ -65,7 +72,7 @@ func TestFastFloat_Random(t *testing.T) { f32 := math.Float32frombits(rand.Uint32()) jout, jerr = json.Marshal(f32) - n = __f32toa(&buf[0], f32) + n = f32toa(&buf[0], f32) if jerr == nil { assert.Equal(t, jout, buf[:n]) } else { @@ -97,7 +104,7 @@ func BenchmarkParseFloat64(b *testing.B) { test: func(b *testing.B) { var buf [64]byte; for i := 0; i < b.N; i++ { strconv.AppendFloat(buf[:0], c.float, 'g', -1, 64) }}, }, { name: "FastFloat", - test: func(b *testing.B) { var buf [64]byte; for i := 0; i < b.N; i++ { __f64toa(&buf[0], c.float) }}, + test: func(b *testing.B) { var buf [64]byte; for i := 0; i < b.N; i++ { f64toa(&buf[0], c.float) }}, }} for _, bm := range f64bench { name := bm.name + "_" + c.name @@ -128,11 +135,11 @@ func BenchmarkParseFloat32(b *testing.B) { test: func(b *testing.B) { var buf [64]byte; for i := 0; i < b.N; i++ { strconv.AppendFloat(buf[:0], float64(c.float), 'g', -1, 32) }}, }, { name: "FastFloat32", - test: func(b *testing.B) { var buf [64]byte; for i := 0; i < b.N; i++ { __f32toa(&buf[0], c.float) }}, + test: func(b *testing.B) { var buf [64]byte; for i := 0; i < b.N; i++ { f32toa(&buf[0], c.float) }}, }} for _, bm := range bench { name := bm.name + "_" + c.name b.Run(name, bm.test) } } -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/fastint_amd64_test.tmpl b/vendor/github.com/bytedance/sonic/internal/native/fastint_amd64_test.tmpl deleted file mode 100644 index cb06090..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/fastint_amd64_test.tmpl +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package {{PACKAGE}} - -import ( - `strconv` - `testing` - `fmt` - - `github.com/stretchr/testify/assert` -) - -func TestFastInt_IntToString(t *testing.T) { - var buf [32]byte - assert.Equal(t, "0" , string(buf[:__i64toa(&buf[0], 0)])) - assert.Equal(t, "1" , string(buf[:__i64toa(&buf[0], 1)])) - assert.Equal(t, "12" , string(buf[:__i64toa(&buf[0], 12)])) - assert.Equal(t, "123" , string(buf[:__i64toa(&buf[0], 123)])) - assert.Equal(t, "1234" , string(buf[:__i64toa(&buf[0], 1234)])) - assert.Equal(t, "12345" , string(buf[:__i64toa(&buf[0], 12345)])) - assert.Equal(t, "123456" , string(buf[:__i64toa(&buf[0], 123456)])) - assert.Equal(t, "1234567" , string(buf[:__i64toa(&buf[0], 1234567)])) - assert.Equal(t, "12345678" , string(buf[:__i64toa(&buf[0], 12345678)])) - assert.Equal(t, "123456789" , string(buf[:__i64toa(&buf[0], 123456789)])) - assert.Equal(t, "1234567890" , string(buf[:__i64toa(&buf[0], 1234567890)])) - assert.Equal(t, "12345678901" , string(buf[:__i64toa(&buf[0], 12345678901)])) - assert.Equal(t, "123456789012" , string(buf[:__i64toa(&buf[0], 123456789012)])) - assert.Equal(t, "1234567890123" , string(buf[:__i64toa(&buf[0], 1234567890123)])) - assert.Equal(t, "12345678901234" , string(buf[:__i64toa(&buf[0], 12345678901234)])) - assert.Equal(t, "123456789012345" , string(buf[:__i64toa(&buf[0], 123456789012345)])) - assert.Equal(t, "1234567890123456" , string(buf[:__i64toa(&buf[0], 1234567890123456)])) - assert.Equal(t, "12345678901234567" , string(buf[:__i64toa(&buf[0], 12345678901234567)])) - assert.Equal(t, "123456789012345678" , string(buf[:__i64toa(&buf[0], 123456789012345678)])) - assert.Equal(t, "1234567890123456789" , string(buf[:__i64toa(&buf[0], 1234567890123456789)])) - assert.Equal(t, "9223372036854775807" , string(buf[:__i64toa(&buf[0], 9223372036854775807)])) - assert.Equal(t, "-1" , string(buf[:__i64toa(&buf[0], -1)])) - assert.Equal(t, "-12" , string(buf[:__i64toa(&buf[0], -12)])) - assert.Equal(t, "-123" , string(buf[:__i64toa(&buf[0], -123)])) - assert.Equal(t, "-1234" , string(buf[:__i64toa(&buf[0], -1234)])) - assert.Equal(t, "-12345" , string(buf[:__i64toa(&buf[0], -12345)])) - assert.Equal(t, "-123456" , string(buf[:__i64toa(&buf[0], -123456)])) - assert.Equal(t, "-1234567" , string(buf[:__i64toa(&buf[0], -1234567)])) - assert.Equal(t, "-12345678" , string(buf[:__i64toa(&buf[0], -12345678)])) - assert.Equal(t, "-123456789" , string(buf[:__i64toa(&buf[0], -123456789)])) - assert.Equal(t, "-1234567890" , string(buf[:__i64toa(&buf[0], -1234567890)])) - assert.Equal(t, "-12345678901" , string(buf[:__i64toa(&buf[0], -12345678901)])) - assert.Equal(t, "-123456789012" , string(buf[:__i64toa(&buf[0], -123456789012)])) - assert.Equal(t, "-1234567890123" , string(buf[:__i64toa(&buf[0], -1234567890123)])) - assert.Equal(t, "-12345678901234" , string(buf[:__i64toa(&buf[0], -12345678901234)])) - assert.Equal(t, "-123456789012345" , string(buf[:__i64toa(&buf[0], -123456789012345)])) - assert.Equal(t, "-1234567890123456" , string(buf[:__i64toa(&buf[0], -1234567890123456)])) - assert.Equal(t, "-12345678901234567" , string(buf[:__i64toa(&buf[0], -12345678901234567)])) - assert.Equal(t, "-123456789012345678" , string(buf[:__i64toa(&buf[0], -123456789012345678)])) - assert.Equal(t, "-1234567890123456789" , string(buf[:__i64toa(&buf[0], -1234567890123456789)])) - assert.Equal(t, "-9223372036854775808" , string(buf[:__i64toa(&buf[0], -9223372036854775808)])) -} - -func TestFastInt_UintToString(t *testing.T) { - var buf [32]byte - assert.Equal(t, "0" , string(buf[:__u64toa(&buf[0], 0)])) - assert.Equal(t, "1" , string(buf[:__u64toa(&buf[0], 1)])) - assert.Equal(t, "12" , string(buf[:__u64toa(&buf[0], 12)])) - assert.Equal(t, "123" , string(buf[:__u64toa(&buf[0], 123)])) - assert.Equal(t, "1234" , string(buf[:__u64toa(&buf[0], 1234)])) - assert.Equal(t, "12345" , string(buf[:__u64toa(&buf[0], 12345)])) - assert.Equal(t, "123456" , string(buf[:__u64toa(&buf[0], 123456)])) - assert.Equal(t, "1234567" , string(buf[:__u64toa(&buf[0], 1234567)])) - assert.Equal(t, "12345678" , string(buf[:__u64toa(&buf[0], 12345678)])) - assert.Equal(t, "123456789" , string(buf[:__u64toa(&buf[0], 123456789)])) - assert.Equal(t, "1234567890" , string(buf[:__u64toa(&buf[0], 1234567890)])) - assert.Equal(t, "12345678901" , string(buf[:__u64toa(&buf[0], 12345678901)])) - assert.Equal(t, "123456789012" , string(buf[:__u64toa(&buf[0], 123456789012)])) - assert.Equal(t, "1234567890123" , string(buf[:__u64toa(&buf[0], 1234567890123)])) - assert.Equal(t, "12345678901234" , string(buf[:__u64toa(&buf[0], 12345678901234)])) - assert.Equal(t, "123456789012345" , string(buf[:__u64toa(&buf[0], 123456789012345)])) - assert.Equal(t, "1234567890123456" , string(buf[:__u64toa(&buf[0], 1234567890123456)])) - assert.Equal(t, "12345678901234567" , string(buf[:__u64toa(&buf[0], 12345678901234567)])) - assert.Equal(t, "123456789012345678" , string(buf[:__u64toa(&buf[0], 123456789012345678)])) - assert.Equal(t, "1234567890123456789" , string(buf[:__u64toa(&buf[0], 1234567890123456789)])) - assert.Equal(t, "12345678901234567890" , string(buf[:__u64toa(&buf[0], 12345678901234567890)])) - assert.Equal(t, "18446744073709551615" , string(buf[:__u64toa(&buf[0], 18446744073709551615)])) -} - - func BenchmarkFastInt_IntToString(b *testing.B) { - benchmarks := []struct { - name string - test func(*testing.B) - }{{ - name: "StdLib-Positive", - test: func(b *testing.B) { var buf [32]byte; for i := 0; i < b.N; i++ { strconv.AppendInt(buf[:0], int64(i), 10) }}, - }, { - name: "StdLib-Negative", - test: func(b *testing.B) { var buf [32]byte; for i := 0; i < b.N; i++ { strconv.AppendInt(buf[:0], -int64(i), 10) }}, - }, { - name: "FastInt-Positive", - test: func(b *testing.B) { var buf [32]byte; for i := 0; i < b.N; i++ { __i64toa(&buf[0], int64(i)) }}, - }, { - name: "FastInt-Negative", - test: func(b *testing.B) { var buf [32]byte; for i := 0; i < b.N; i++ { __i64toa(&buf[0], -int64(i)) }}, - }} - for _, bm := range benchmarks { - b.Run(bm.name, bm.test) - } - } - - type utoaBench struct { - name string - num uint64 - } - - func BenchmarkFastInt_UintToString(b *testing.B) { - maxUint := "18446744073709551615" - benchs := make([]utoaBench, len(maxUint) + 1) - benchs[0].name = "Zero" - benchs[0].num = 0 - for i := 1; i <= len(maxUint); i++ { - benchs[i].name = strconv.FormatInt(int64(i), 10) + "-Digs" - benchs[i].num, _ = strconv.ParseUint(string(maxUint[:i]), 10, 64) - } - - for _, t := range(benchs) { - benchmarks := []struct { - name string - test func(*testing.B) - }{{ - name: "StdLib", - test: func(b *testing.B) { var buf [32]byte; for i := 0; i < b.N; i++ { strconv.AppendUint(buf[:0], t.num, 10) }}, - }, { - name: "FastInt", - test: func(b *testing.B) { var buf [32]byte; for i := 0; i < b.N; i++ { __u64toa(&buf[0], t.num) }}, - }} - for _, bm := range benchmarks { - name := fmt.Sprintf("%s_%s", bm.name, t.name) - b.Run(name, bm.test) - } - } - } \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/native/fastint_test.tmpl b/vendor/github.com/bytedance/sonic/internal/native/fastint_test.tmpl new file mode 100644 index 0000000..9fb3f4b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/fastint_test.tmpl @@ -0,0 +1,158 @@ +// +build amd64 + + +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `strconv` + `testing` + `fmt` + + `github.com/stretchr/testify/assert` +) + +func TestFastInt_IntToString(t *testing.T) { + var buf [32]byte + assert.Equal(t, "0" , string(buf[:i64toa(&buf[0], 0)])) + assert.Equal(t, "1" , string(buf[:i64toa(&buf[0], 1)])) + assert.Equal(t, "12" , string(buf[:i64toa(&buf[0], 12)])) + assert.Equal(t, "123" , string(buf[:i64toa(&buf[0], 123)])) + assert.Equal(t, "1234" , string(buf[:i64toa(&buf[0], 1234)])) + assert.Equal(t, "12345" , string(buf[:i64toa(&buf[0], 12345)])) + assert.Equal(t, "123456" , string(buf[:i64toa(&buf[0], 123456)])) + assert.Equal(t, "1234567" , string(buf[:i64toa(&buf[0], 1234567)])) + assert.Equal(t, "12345678" , string(buf[:i64toa(&buf[0], 12345678)])) + assert.Equal(t, "123456789" , string(buf[:i64toa(&buf[0], 123456789)])) + assert.Equal(t, "1234567890" , string(buf[:i64toa(&buf[0], 1234567890)])) + assert.Equal(t, "12345678901" , string(buf[:i64toa(&buf[0], 12345678901)])) + assert.Equal(t, "123456789012" , string(buf[:i64toa(&buf[0], 123456789012)])) + assert.Equal(t, "1234567890123" , string(buf[:i64toa(&buf[0], 1234567890123)])) + assert.Equal(t, "12345678901234" , string(buf[:i64toa(&buf[0], 12345678901234)])) + assert.Equal(t, "123456789012345" , string(buf[:i64toa(&buf[0], 123456789012345)])) + assert.Equal(t, "1234567890123456" , string(buf[:i64toa(&buf[0], 1234567890123456)])) + assert.Equal(t, "12345678901234567" , string(buf[:i64toa(&buf[0], 12345678901234567)])) + assert.Equal(t, "123456789012345678" , string(buf[:i64toa(&buf[0], 123456789012345678)])) + assert.Equal(t, "1234567890123456789" , string(buf[:i64toa(&buf[0], 1234567890123456789)])) + assert.Equal(t, "9223372036854775807" , string(buf[:i64toa(&buf[0], 9223372036854775807)])) + assert.Equal(t, "-1" , string(buf[:i64toa(&buf[0], -1)])) + assert.Equal(t, "-12" , string(buf[:i64toa(&buf[0], -12)])) + assert.Equal(t, "-123" , string(buf[:i64toa(&buf[0], -123)])) + assert.Equal(t, "-1234" , string(buf[:i64toa(&buf[0], -1234)])) + assert.Equal(t, "-12345" , string(buf[:i64toa(&buf[0], -12345)])) + assert.Equal(t, "-123456" , string(buf[:i64toa(&buf[0], -123456)])) + assert.Equal(t, "-1234567" , string(buf[:i64toa(&buf[0], -1234567)])) + assert.Equal(t, "-12345678" , string(buf[:i64toa(&buf[0], -12345678)])) + assert.Equal(t, "-123456789" , string(buf[:i64toa(&buf[0], -123456789)])) + assert.Equal(t, "-1234567890" , string(buf[:i64toa(&buf[0], -1234567890)])) + assert.Equal(t, "-12345678901" , string(buf[:i64toa(&buf[0], -12345678901)])) + assert.Equal(t, "-123456789012" , string(buf[:i64toa(&buf[0], -123456789012)])) + assert.Equal(t, "-1234567890123" , string(buf[:i64toa(&buf[0], -1234567890123)])) + assert.Equal(t, "-12345678901234" , string(buf[:i64toa(&buf[0], -12345678901234)])) + assert.Equal(t, "-123456789012345" , string(buf[:i64toa(&buf[0], -123456789012345)])) + assert.Equal(t, "-1234567890123456" , string(buf[:i64toa(&buf[0], -1234567890123456)])) + assert.Equal(t, "-12345678901234567" , string(buf[:i64toa(&buf[0], -12345678901234567)])) + assert.Equal(t, "-123456789012345678" , string(buf[:i64toa(&buf[0], -123456789012345678)])) + assert.Equal(t, "-1234567890123456789" , string(buf[:i64toa(&buf[0], -1234567890123456789)])) + assert.Equal(t, "-9223372036854775808" , string(buf[:i64toa(&buf[0], -9223372036854775808)])) +} + +func TestFastInt_UintToString(t *testing.T) { + var buf [32]byte + assert.Equal(t, "0" , string(buf[:u64toa(&buf[0], 0)])) + assert.Equal(t, "1" , string(buf[:u64toa(&buf[0], 1)])) + assert.Equal(t, "12" , string(buf[:u64toa(&buf[0], 12)])) + assert.Equal(t, "123" , string(buf[:u64toa(&buf[0], 123)])) + assert.Equal(t, "1234" , string(buf[:u64toa(&buf[0], 1234)])) + assert.Equal(t, "12345" , string(buf[:u64toa(&buf[0], 12345)])) + assert.Equal(t, "123456" , string(buf[:u64toa(&buf[0], 123456)])) + assert.Equal(t, "1234567" , string(buf[:u64toa(&buf[0], 1234567)])) + assert.Equal(t, "12345678" , string(buf[:u64toa(&buf[0], 12345678)])) + assert.Equal(t, "123456789" , string(buf[:u64toa(&buf[0], 123456789)])) + assert.Equal(t, "1234567890" , string(buf[:u64toa(&buf[0], 1234567890)])) + assert.Equal(t, "12345678901" , string(buf[:u64toa(&buf[0], 12345678901)])) + assert.Equal(t, "123456789012" , string(buf[:u64toa(&buf[0], 123456789012)])) + assert.Equal(t, "1234567890123" , string(buf[:u64toa(&buf[0], 1234567890123)])) + assert.Equal(t, "12345678901234" , string(buf[:u64toa(&buf[0], 12345678901234)])) + assert.Equal(t, "123456789012345" , string(buf[:u64toa(&buf[0], 123456789012345)])) + assert.Equal(t, "1234567890123456" , string(buf[:u64toa(&buf[0], 1234567890123456)])) + assert.Equal(t, "12345678901234567" , string(buf[:u64toa(&buf[0], 12345678901234567)])) + assert.Equal(t, "123456789012345678" , string(buf[:u64toa(&buf[0], 123456789012345678)])) + assert.Equal(t, "1234567890123456789" , string(buf[:u64toa(&buf[0], 1234567890123456789)])) + assert.Equal(t, "12345678901234567890" , string(buf[:u64toa(&buf[0], 12345678901234567890)])) + assert.Equal(t, "18446744073709551615" , string(buf[:u64toa(&buf[0], 18446744073709551615)])) +} + +func BenchmarkFastInt_IntToString(b *testing.B) { + benchmarks := []struct { + name string + test func(*testing.B) + }{{ + name: "StdLib-Positive", + test: func(b *testing.B) { var buf [32]byte; for i := 0; i < b.N; i++ { strconv.AppendInt(buf[:0], int64(i), 10) }}, + }, { + name: "StdLib-Negative", + test: func(b *testing.B) { var buf [32]byte; for i := 0; i < b.N; i++ { strconv.AppendInt(buf[:0], -int64(i), 10) }}, + }, { + name: "FastInt-Positive", + test: func(b *testing.B) { var buf [32]byte; for i := 0; i < b.N; i++ { i64toa(&buf[0], int64(i)) }}, + }, { + name: "FastInt-Negative", + test: func(b *testing.B) { var buf [32]byte; for i := 0; i < b.N; i++ { i64toa(&buf[0], -int64(i)) }}, + }} + for _, bm := range benchmarks { + b.Run(bm.name, bm.test) + } +} + +type utoaBench struct { + name string + num uint64 +} + +func BenchmarkFastInt_UintToString(b *testing.B) { + maxUint := "18446744073709551615" + benchs := make([]utoaBench, len(maxUint) + 1) + benchs[0].name = "Zero" + benchs[0].num = 0 + for i := 1; i <= len(maxUint); i++ { + benchs[i].name = strconv.FormatInt(int64(i), 10) + "-Digs" + benchs[i].num, _ = strconv.ParseUint(string(maxUint[:i]), 10, 64) + } + + for _, t := range(benchs) { + benchmarks := []struct { + name string + test func(*testing.B) + }{{ + name: "StdLib", + test: func(b *testing.B) { var buf [32]byte; for i := 0; i < b.N; i++ { strconv.AppendUint(buf[:0], t.num, 10) }}, + }, { + name: "FastInt", + test: func(b *testing.B) { var buf [32]byte; for i := 0; i < b.N; i++ { u64toa(&buf[0], t.num) }}, + }} + for _, bm := range benchmarks { + name := fmt.Sprintf("%s_%s", bm.name, t.name) + b.Run(name, bm.test) + } + } +} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/native/get_by_path.tmpl b/vendor/github.com/bytedance/sonic/internal/native/get_by_path.tmpl new file mode 100644 index 0000000..79fa6bf --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/get_by_path.tmpl @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_get_by_path func(s unsafe.Pointer, p unsafe.Pointer, path unsafe.Pointer, m unsafe.Pointer) (ret int) + +var S_get_by_path uintptr + +//go:nosplit +func get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int) { + return F_get_by_path(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(path)), rt.NoEscape(unsafe.Pointer(m))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/html_escape.tmpl b/vendor/github.com/bytedance/sonic/internal/native/html_escape.tmpl new file mode 100644 index 0000000..7b1ddf5 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/html_escape.tmpl @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_html_escape func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer) (ret int) + +var S_html_escape uintptr + +//go:nosplit +func html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) { + return F_html_escape(rt.NoEscape(sp), nb, dp, rt.NoEscape(unsafe.Pointer(dn))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/i64toa.tmpl b/vendor/github.com/bytedance/sonic/internal/native/i64toa.tmpl new file mode 100644 index 0000000..77ec8bd --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/i64toa.tmpl @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_i64toa func(out unsafe.Pointer, val int64) (ret int) + +var S_i64toa uintptr + +//go:nosplit +func i64toa(out *byte, val int64) (ret int) { + return F_i64toa(rt.NoEscape(unsafe.Pointer(out)), val) +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/lspace.tmpl b/vendor/github.com/bytedance/sonic/internal/native/lspace.tmpl new file mode 100644 index 0000000..90cd776 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/lspace.tmpl @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_lspace func(sp unsafe.Pointer, nb int, off int) (ret int) + +var S_lspace uintptr + +//go:nosplit +func lspace(sp *byte, nb int, off int) (ret int) { + return F_lspace(rt.NoEscape(unsafe.Pointer(sp)), nb, off) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/native_amd64.tmpl b/vendor/github.com/bytedance/sonic/internal/native/native_amd64.tmpl deleted file mode 100644 index 40cbf16..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/native_amd64.tmpl +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package {{PACKAGE}} - -import ( - `unsafe` - - `github.com/bytedance/sonic/internal/native/types` -) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __i64toa(out *byte, val int64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __u64toa(out *byte, val uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __f64toa(out *byte, val float64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __f32toa(out *byte, val float32) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __lspace(sp unsafe.Pointer, nb int, off int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vstring(s *string, p *int, v *types.JsonState, flags uint64) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vnumber(s *string, p *int, v *types.JsonState) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vsigned(s *string, p *int, v *types.JsonState) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vunsigned(s *string, p *int, v *types.JsonState) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_one_fast(s *string, p *int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_number(s *string, p *int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __validate_one(s *string, p *int, m *types.StateMachine) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __validate_utf8_fast(s *string) (ret int) \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/native/native_export.tmpl b/vendor/github.com/bytedance/sonic/internal/native/native_export.tmpl new file mode 100644 index 0000000..a6930c8 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/native_export.tmpl @@ -0,0 +1,47 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `github.com/bytedance/sonic/loader` +) + + +func Use() { + loader.WrapGoC(_text_f64toa, _cfunc_f64toa, []loader.GoC{{"_f64toa", &S_f64toa, &F_f64toa}}, "{{PACKAGE}}", "{{PACKAGE}}/f64toa.c") + loader.WrapGoC(_text_f32toa, _cfunc_f32toa, []loader.GoC{{"_f32toa", &S_f32toa, &F_f32toa}}, "{{PACKAGE}}", "{{PACKAGE}}/f32toa.c") + loader.WrapGoC(_text_get_by_path, _cfunc_get_by_path, []loader.GoC{{"_get_by_path", &S_get_by_path, &F_get_by_path}}, "{{PACKAGE}}", "{{PACKAGE}}/get_by_path.c") + loader.WrapGoC(_text_html_escape, _cfunc_html_escape, []loader.GoC{{"_html_escape", &S_html_escape, &F_html_escape}}, "{{PACKAGE}}", "{{PACKAGE}}/html_escape.c") + loader.WrapGoC(_text_i64toa, _cfunc_i64toa, []loader.GoC{{"_i64toa", &S_i64toa, &F_i64toa}}, "{{PACKAGE}}", "{{PACKAGE}}/i64toa.c") + loader.WrapGoC(_text_lspace, _cfunc_lspace, []loader.GoC{{"_lspace", &S_lspace, &F_lspace}}, "{{PACKAGE}}", "{{PACKAGE}}/lspace.c") + loader.WrapGoC(_text_quote, _cfunc_quote, []loader.GoC{{"_quote", &S_quote, &F_quote}}, "{{PACKAGE}}", "{{PACKAGE}}/quote.c") + loader.WrapGoC(_text_skip_array, _cfunc_skip_array, []loader.GoC{{"_skip_array", &S_skip_array, &F_skip_array}}, "{{PACKAGE}}", "{{PACKAGE}}/skip_array.c") + loader.WrapGoC(_text_skip_number, _cfunc_skip_number, []loader.GoC{{"_skip_number", &S_skip_number, &F_skip_number}}, "{{PACKAGE}}", "{{PACKAGE}}/skip_number.c") + loader.WrapGoC(_text_skip_one, _cfunc_skip_one, []loader.GoC{{"_skip_one", &S_skip_one, &F_skip_one}}, "{{PACKAGE}}", "{{PACKAGE}}/skip_one.c") + loader.WrapGoC(_text_skip_object, _cfunc_skip_object, []loader.GoC{{"_skip_object", &S_skip_object, &F_skip_object}}, "{{PACKAGE}}", "{{PACKAGE}}/skip_object.c") + loader.WrapGoC(_text_skip_one_fast, _cfunc_skip_one_fast, []loader.GoC{{"_skip_one_fast", &S_skip_one_fast, &F_skip_one_fast}}, "{{PACKAGE}}", "{{PACKAGE}}/skip_one_fast.c") + loader.WrapGoC(_text_u64toa, _cfunc_u64toa, []loader.GoC{{"_u64toa", &S_u64toa, &F_u64toa}}, "{{PACKAGE}}", "{{PACKAGE}}/u64toa.c") + loader.WrapGoC(_text_unquote, _cfunc_unquote, []loader.GoC{{"_unquote", &S_unquote, &F_unquote}}, "{{PACKAGE}}", "{{PACKAGE}}/unquote.c") + loader.WrapGoC(_text_validate_one, _cfunc_validate_one, []loader.GoC{{"_validate_one", &S_validate_one, &F_validate_one}}, "{{PACKAGE}}", "{{PACKAGE}}/validate_one.c") + loader.WrapGoC(_text_validate_utf8, _cfunc_validate_utf8, []loader.GoC{{"_validate_utf8", &S_validate_utf8, &F_validate_utf8}}, "{{PACKAGE}}", "{{PACKAGE}}/validate_utf8.c") + loader.WrapGoC(_text_validate_utf8_fast, _cfunc_validate_utf8_fast, []loader.GoC{{"_validate_utf8_fast", &S_validate_utf8_fast, &F_validate_utf8_fast}}, "{{PACKAGE}}", "{{PACKAGE}}/validate_utf8_fast.c") + loader.WrapGoC(_text_vnumber, _cfunc_vnumber, []loader.GoC{{"_vnumber", &S_vnumber, &F_vnumber}}, "{{PACKAGE}}", "{{PACKAGE}}/vnumber.c") + loader.WrapGoC(_text_vsigned, _cfunc_vsigned, []loader.GoC{{"_vsigned", &S_vsigned, &F_vsigned}}, "{{PACKAGE}}", "{{PACKAGE}}/vsigned.c") + loader.WrapGoC(_text_vunsigned, _cfunc_vunsigned, []loader.GoC{{"_vunsigned", &S_vunsigned, &F_vunsigned}}, "{{PACKAGE}}", "{{PACKAGE}}/vunsigned.c") + loader.WrapGoC(_text_vstring, _cfunc_vstring, []loader.GoC{{"_vstring", &S_vstring, &F_vstring}}, "{{PACKAGE}}", "{{PACKAGE}}/vstring.c") + loader.WrapGoC(_text_value, _cfunc_value, []loader.GoC{{"_value", &S_value, &F_value}}, "{{PACKAGE}}", "{{PACKAGE}}/value.c") +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/native_export_amd64.tmpl b/vendor/github.com/bytedance/sonic/internal/native/native_export_amd64.tmpl deleted file mode 100644 index c7a10de..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/native_export_amd64.tmpl +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package {{PACKAGE}} - -var ( - S_f64toa = _subr__f64toa - S_f32toa = _subr__f32toa - S_i64toa = _subr__i64toa - S_u64toa = _subr__u64toa - S_lspace = _subr__lspace -) - -var ( - S_quote = _subr__quote - S_unquote = _subr__unquote -) - -var ( - S_value = _subr__value - S_vstring = _subr__vstring - S_vnumber = _subr__vnumber - S_vsigned = _subr__vsigned - S_vunsigned = _subr__vunsigned -) - -var ( - S_skip_one = _subr__skip_one - S_skip_one_fast = _subr__skip_one_fast - S_skip_array = _subr__skip_array - S_skip_object = _subr__skip_object - S_skip_number = _subr__skip_number - S_get_by_path = _subr__get_by_path -) diff --git a/vendor/github.com/bytedance/sonic/internal/native/native_amd64_test.tmpl b/vendor/github.com/bytedance/sonic/internal/native/native_test.tmpl similarity index 78% rename from vendor/github.com/bytedance/sonic/internal/native/native_amd64_test.tmpl rename to vendor/github.com/bytedance/sonic/internal/native/native_test.tmpl index bd9ce0c..f57337b 100644 --- a/vendor/github.com/bytedance/sonic/internal/native/native_amd64_test.tmpl +++ b/vendor/github.com/bytedance/sonic/internal/native/native_test.tmpl @@ -1,3 +1,10 @@ +// +build amd64 + + +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + /* * Copyright 2021 ByteDance Inc. * @@ -20,6 +27,7 @@ import ( `encoding/hex` `fmt` `math` + `strings` `testing` `unsafe` @@ -34,7 +42,7 @@ func TestNative_Value(t *testing.T) { var v types.JsonState s := ` -12345` p := (*rt.GoString)(unsafe.Pointer(&s)) - x := __value(p.Ptr, p.Len, 0, &v, 0) + x := value(p.Ptr, p.Len, 0, &v, 0) assert.Equal(t, 9, x) assert.Equal(t, types.V_INTEGER, v.Vt) assert.Equal(t, int64(-12345), v.Iv) @@ -46,7 +54,7 @@ func TestNative_Value_OutOfBound(t *testing.T) { mem := []byte{'"', '"'} s := rt.Mem2Str(mem[:1]) p := (*rt.GoString)(unsafe.Pointer(&s)) - x := __value(p.Ptr, p.Len, 0, &v, 0) + x := value(p.Ptr, p.Len, 0, &v, 0) assert.Equal(t, 1, x) assert.Equal(t, -int(types.ERR_EOF), int(v.Vt)) } @@ -56,7 +64,7 @@ func TestNative_Quote(t *testing.T) { d := make([]byte, 256) dp := (*rt.GoSlice)(unsafe.Pointer(&d)) sp := (*rt.GoString)(unsafe.Pointer(&s)) - rv := __quote(sp.Ptr, sp.Len, dp.Ptr, &dp.Len, 0) + rv := quote(sp.Ptr, sp.Len, dp.Ptr, &dp.Len, 0) if rv < 0 { require.NoError(t, types.ParsingError(-rv)) } @@ -70,7 +78,7 @@ func TestNative_QuoteNoMem(t *testing.T) { d := make([]byte, 10) dp := (*rt.GoSlice)(unsafe.Pointer(&d)) sp := (*rt.GoString)(unsafe.Pointer(&s)) - rv := __quote(sp.Ptr, sp.Len, dp.Ptr, &dp.Len, 0) + rv := quote(sp.Ptr, sp.Len, dp.Ptr, &dp.Len, 0) assert.Equal(t, -6, rv) assert.Equal(t, 5, len(d)) assert.Equal(t, `hello`, string(d)) @@ -81,7 +89,7 @@ func TestNative_DoubleQuote(t *testing.T) { d := make([]byte, 256) dp := (*rt.GoSlice)(unsafe.Pointer(&d)) sp := (*rt.GoString)(unsafe.Pointer(&s)) - rv := __quote(sp.Ptr, sp.Len, dp.Ptr, &dp.Len, types.F_DOUBLE_UNQUOTE) + rv := quote(sp.Ptr, sp.Len, dp.Ptr, &dp.Len, types.F_DOUBLE_UNQUOTE) if rv < 0 { require.NoError(t, types.ParsingError(-rv)) } @@ -96,7 +104,7 @@ func TestNative_Unquote(t *testing.T) { ep := -1 dp := (*rt.GoSlice)(unsafe.Pointer(&d)) sp := (*rt.GoString)(unsafe.Pointer(&s)) - rv := __unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, 0) + rv := unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, 0) if rv < 0 { require.NoError(t, types.ParsingError(-rv)) } @@ -111,7 +119,7 @@ func TestNative_UnquoteError(t *testing.T) { ep := -1 dp := (*rt.GoSlice)(unsafe.Pointer(&d)) sp := (*rt.GoString)(unsafe.Pointer(&s)) - rv := __unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, 0) + rv := unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, 0) assert.Equal(t, -int(types.ERR_EOF), rv) assert.Equal(t, 5, ep) s = `asdf\gqwer` @@ -119,7 +127,7 @@ func TestNative_UnquoteError(t *testing.T) { ep = -1 dp = (*rt.GoSlice)(unsafe.Pointer(&d)) sp = (*rt.GoString)(unsafe.Pointer(&s)) - rv = __unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, 0) + rv = unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, 0) assert.Equal(t, -int(types.ERR_INVALID_ESCAPE), rv) assert.Equal(t, 5, ep) s = `asdf\u1gggqwer` @@ -127,7 +135,7 @@ func TestNative_UnquoteError(t *testing.T) { ep = -1 dp = (*rt.GoSlice)(unsafe.Pointer(&d)) sp = (*rt.GoString)(unsafe.Pointer(&s)) - rv = __unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, 0) + rv = unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, 0) assert.Equal(t, -int(types.ERR_INVALID_CHAR), rv) assert.Equal(t, 7, ep) s = `asdf\ud800qwer` @@ -135,7 +143,7 @@ func TestNative_UnquoteError(t *testing.T) { ep = -1 dp = (*rt.GoSlice)(unsafe.Pointer(&d)) sp = (*rt.GoString)(unsafe.Pointer(&s)) - rv = __unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, 0) + rv = unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, 0) assert.Equal(t, -int(types.ERR_INVALID_UNICODE), rv) assert.Equal(t, 6, ep) s = `asdf\\ud800qwer` @@ -143,7 +151,7 @@ func TestNative_UnquoteError(t *testing.T) { ep = -1 dp = (*rt.GoSlice)(unsafe.Pointer(&d)) sp = (*rt.GoString)(unsafe.Pointer(&s)) - rv = __unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, types.F_DOUBLE_UNQUOTE) + rv = unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, types.F_DOUBLE_UNQUOTE) assert.Equal(t, -int(types.ERR_INVALID_UNICODE), rv) assert.Equal(t, 7, ep) s = `asdf\ud800\ud800qwer` @@ -151,7 +159,7 @@ func TestNative_UnquoteError(t *testing.T) { ep = -1 dp = (*rt.GoSlice)(unsafe.Pointer(&d)) sp = (*rt.GoString)(unsafe.Pointer(&s)) - rv = __unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, 0) + rv = unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, 0) assert.Equal(t, -int(types.ERR_INVALID_UNICODE), rv) assert.Equal(t, 12, ep) s = `asdf\\ud800\\ud800qwer` @@ -159,7 +167,7 @@ func TestNative_UnquoteError(t *testing.T) { ep = -1 dp = (*rt.GoSlice)(unsafe.Pointer(&d)) sp = (*rt.GoString)(unsafe.Pointer(&s)) - rv = __unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, types.F_DOUBLE_UNQUOTE) + rv = unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, types.F_DOUBLE_UNQUOTE) assert.Equal(t, -int(types.ERR_INVALID_UNICODE), rv) assert.Equal(t, 14, ep) } @@ -170,7 +178,7 @@ func TestNative_DoubleUnquote(t *testing.T) { ep := -1 dp := (*rt.GoSlice)(unsafe.Pointer(&d)) sp := (*rt.GoString)(unsafe.Pointer(&s)) - rv := __unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, types.F_DOUBLE_UNQUOTE) + rv := unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, types.F_DOUBLE_UNQUOTE) if rv < 0 { require.NoError(t, types.ParsingError(-rv)) } @@ -185,7 +193,7 @@ func TestNative_UnquoteUnicodeReplacement(t *testing.T) { ep := -1 dp := (*rt.GoSlice)(unsafe.Pointer(&d)) sp := (*rt.GoString)(unsafe.Pointer(&s)) - rv := __unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, types.F_UNICODE_REPLACE) + rv := unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, types.F_UNICODE_REPLACE) if rv < 0 { require.NoError(t, types.ParsingError(-rv)) } @@ -197,7 +205,7 @@ func TestNative_UnquoteUnicodeReplacement(t *testing.T) { ep = -1 dp = (*rt.GoSlice)(unsafe.Pointer(&d)) sp = (*rt.GoString)(unsafe.Pointer(&s)) - rv = __unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, types.F_UNICODE_REPLACE) + rv = unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, types.F_UNICODE_REPLACE) if rv < 0 { require.NoError(t, types.ParsingError(-rv)) } @@ -211,7 +219,7 @@ func TestNative_HTMLEscape(t *testing.T) { d := make([]byte, 256) dp := (*rt.GoSlice)(unsafe.Pointer(&d)) sp := (*rt.GoString)(unsafe.Pointer(&s)) - rv := __html_escape(sp.Ptr, sp.Len, dp.Ptr, &dp.Len) + rv := html_escape(sp.Ptr, sp.Len, dp.Ptr, &dp.Len) if rv < 0 { require.NoError(t, types.ParsingError(-rv)) } @@ -225,7 +233,7 @@ func TestNative_HTMLEscapeNoMem(t *testing.T) { d := make([]byte, 10) dp := (*rt.GoSlice)(unsafe.Pointer(&d)) sp := (*rt.GoString)(unsafe.Pointer(&s)) - rv := __html_escape(sp.Ptr, sp.Len, dp.Ptr, &dp.Len) + rv := html_escape(sp.Ptr, sp.Len, dp.Ptr, &dp.Len) assert.Equal(t, -6, rv) assert.Equal(t, 5, len(d)) assert.Equal(t, `hello`, string(d)) @@ -235,11 +243,11 @@ func TestNative_Vstring(t *testing.T) { var v types.JsonState i := 0 s := `test"test\n2"` - __vstring(&s, &i, &v, 0) + vstring(&s, &i, &v, 0) assert.Equal(t, 5, i) assert.Equal(t, -1, v.Ep) assert.Equal(t, int64(0), v.Iv) - __vstring(&s, &i, &v, 0) + vstring(&s, &i, &v, 0) assert.Equal(t, 13, i) assert.Equal(t, 9, v.Ep) assert.Equal(t, int64(5), v.Iv) @@ -250,7 +258,7 @@ func TestNative_Vstring_ValidUnescapedChars(t *testing.T) { valid := uint64(types.F_VALIDATE_STRING) i := 0 s := "test\x1f\"" - __vstring(&s, &i, &v, valid) + vstring(&s, &i, &v, valid) assert.Equal(t, -int(types.ERR_INVALID_CHAR), int(v.Vt)) } @@ -258,7 +266,7 @@ func TestNative_VstringEscapeEOF(t *testing.T) { var v types.JsonState i := 0 s := `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"x` - __vstring(&s, &i, &v, 0) + vstring(&s, &i, &v, 0) assert.Equal(t, 95, i) assert.Equal(t, 63, v.Ep) assert.Equal(t, int64(0), v.Iv) @@ -274,7 +282,7 @@ func TestNative_VstringHangUpOnRandomData(t *testing.T) { p := 1 s := rt.Mem2Str(v) var js types.JsonState - __vstring(&s, &p, &js, 0) + vstring(&s, &p, &js, 0) fmt.Printf("js: %s\n", spew.Sdump(js)) } @@ -282,49 +290,49 @@ func TestNative_Vnumber(t *testing.T) { var v types.JsonState i := 0 s := "1234" - __vnumber(&s, &i, &v) + vnumber(&s, &i, &v) assert.Equal(t, 4, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, int64(1234), v.Iv) assert.Equal(t, types.V_INTEGER, v.Vt) i = 0 s = "1.234" - __vnumber(&s, &i, &v) + vnumber(&s, &i, &v) assert.Equal(t, 5, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, 1.234, v.Dv) assert.Equal(t, types.V_DOUBLE, v.Vt) i = 0 s = "1.234e5" - __vnumber(&s, &i, &v) + vnumber(&s, &i, &v) assert.Equal(t, 7, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, 1.234e5, v.Dv) assert.Equal(t, types.V_DOUBLE, v.Vt) i = 0 s = "0.0125" - __vnumber(&s, &i, &v) + vnumber(&s, &i, &v) assert.Equal(t, 6, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, 0.0125, v.Dv) assert.Equal(t, types.V_DOUBLE, v.Vt) i = 0 s = "100000000000000000000" - __vnumber(&s, &i, &v) + vnumber(&s, &i, &v) assert.Equal(t, 21, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, 100000000000000000000.0, v.Dv) assert.Equal(t, types.V_DOUBLE, v.Vt) i = 0 s = "999999999999999900000" - __vnumber(&s, &i, &v) + vnumber(&s, &i, &v) assert.Equal(t, 21, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, 999999999999999900000.0, v.Dv) assert.Equal(t, types.V_DOUBLE, v.Vt) i = 0 s = "-1.234" - __vnumber(&s, &i, &v) + vnumber(&s, &i, &v) assert.Equal(t, 6, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, -1.234, v.Dv) @@ -335,65 +343,65 @@ func TestNative_Vsigned(t *testing.T) { var v types.JsonState i := 0 s := "1234" - __vsigned(&s, &i, &v) + vsigned(&s, &i, &v) assert.Equal(t, 4, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, int64(1234), v.Iv) assert.Equal(t, types.V_INTEGER, v.Vt) i = 0 s = "-1234" - __vsigned(&s, &i, &v) + vsigned(&s, &i, &v) assert.Equal(t, 5, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, int64(-1234), v.Iv) assert.Equal(t, types.V_INTEGER, v.Vt) i = 0 s = "9223372036854775807" - __vsigned(&s, &i, &v) + vsigned(&s, &i, &v) assert.Equal(t, 19, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, int64(math.MaxInt64), v.Iv) assert.Equal(t, types.V_INTEGER, v.Vt) i = 0 s = "-9223372036854775808" - __vsigned(&s, &i, &v) + vsigned(&s, &i, &v) assert.Equal(t, 20, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, int64(math.MinInt64), v.Iv) assert.Equal(t, types.V_INTEGER, v.Vt) i = 0 s = "9223372036854775808" - __vsigned(&s, &i, &v) + vsigned(&s, &i, &v) assert.Equal(t, 18, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INTEGER_OVERFLOW)), v.Vt) i = 0 s = "-9223372036854775809" - __vsigned(&s, &i, &v) + vsigned(&s, &i, &v) assert.Equal(t, 19, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INTEGER_OVERFLOW)), v.Vt) i = 0 s = "1.234" - __vsigned(&s, &i, &v) + vsigned(&s, &i, &v) assert.Equal(t, 1, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INVALID_NUMBER_FMT)), v.Vt) i = 0 s = "0.0125" - __vsigned(&s, &i, &v) + vsigned(&s, &i, &v) assert.Equal(t, 1, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INVALID_NUMBER_FMT)), v.Vt) i = 0 s = "-1234e5" - __vsigned(&s, &i, &v) + vsigned(&s, &i, &v) assert.Equal(t, 5, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INVALID_NUMBER_FMT)), v.Vt) i = 0 s = "-1234e-5" - __vsigned(&s, &i, &v) + vsigned(&s, &i, &v) assert.Equal(t, 5, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INVALID_NUMBER_FMT)), v.Vt) @@ -403,63 +411,63 @@ func TestNative_Vunsigned(t *testing.T) { var v types.JsonState i := 0 s := "1234" - __vunsigned(&s, &i, &v) + vunsigned(&s, &i, &v) assert.Equal(t, 4, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, int64(1234), v.Iv) assert.Equal(t, types.V_INTEGER, v.Vt) i = 0 s = "18446744073709551615" - __vunsigned(&s, &i, &v) + vunsigned(&s, &i, &v) assert.Equal(t, 20, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, ^int64(0), v.Iv) assert.Equal(t, types.V_INTEGER, v.Vt) i = 0 s = "18446744073709551616" - __vunsigned(&s, &i, &v) + vunsigned(&s, &i, &v) assert.Equal(t, 19, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INTEGER_OVERFLOW)), v.Vt) i = 0 s = "-1234" - __vunsigned(&s, &i, &v) + vunsigned(&s, &i, &v) assert.Equal(t, 0, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INVALID_NUMBER_FMT)), v.Vt) i = 0 s = "1.234" - __vunsigned(&s, &i, &v) + vunsigned(&s, &i, &v) assert.Equal(t, 1, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INVALID_NUMBER_FMT)), v.Vt) i = 0 s = "0.0125" - __vunsigned(&s, &i, &v) + vunsigned(&s, &i, &v) assert.Equal(t, 1, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INVALID_NUMBER_FMT)), v.Vt) i = 0 s = "1234e5" - __vunsigned(&s, &i, &v) + vunsigned(&s, &i, &v) assert.Equal(t, 4, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INVALID_NUMBER_FMT)), v.Vt) i = 0 s = "-1234e5" - __vunsigned(&s, &i, &v) + vunsigned(&s, &i, &v) assert.Equal(t, 0, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INVALID_NUMBER_FMT)), v.Vt) i = 0 s = "-1.234e5" - __vunsigned(&s, &i, &v) + vunsigned(&s, &i, &v) assert.Equal(t, 0, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INVALID_NUMBER_FMT)), v.Vt) i = 0 s = "-1.234e-5" - __vunsigned(&s, &i, &v) + vunsigned(&s, &i, &v) assert.Equal(t, 0, i) assert.Equal(t, 0, v.Ep) assert.Equal(t, types.ValueType(-int(types.ERR_INVALID_NUMBER_FMT)), v.Vt) @@ -468,36 +476,36 @@ func TestNative_Vunsigned(t *testing.T) { func TestNative_SkipOne(t *testing.T) { p := 0 s := ` {"asdf": [null, true, false, 1, 2.0, -3]}, 1234.5` - q := __skip_one(&s, &p, &types.StateMachine{}, uint64(0)) + q := skip_one(&s, &p, &types.StateMachine{}, uint64(0)) assert.Equal(t, 42, p) assert.Equal(t, 1, q) p = 0 s = `1 2.5 -3 "asdf\nqwer" true false null {} []` - q = __skip_one(&s, &p, &types.StateMachine{}, uint64(0)) + q = skip_one(&s, &p, &types.StateMachine{}, uint64(0)) assert.Equal(t, 1, p) assert.Equal(t, 0, q) - q = __skip_one(&s, &p, &types.StateMachine{}, uint64(0)) + q = skip_one(&s, &p, &types.StateMachine{}, uint64(0)) assert.Equal(t, 5, p) assert.Equal(t, 2, q) - q = __skip_one(&s, &p, &types.StateMachine{}, uint64(0)) + q = skip_one(&s, &p, &types.StateMachine{}, uint64(0)) assert.Equal(t, 8, p) assert.Equal(t, 6, q) - q = __skip_one(&s, &p, &types.StateMachine{}, uint64(0)) + q = skip_one(&s, &p, &types.StateMachine{}, uint64(0)) assert.Equal(t, 21, p) assert.Equal(t, 9, q) - q = __skip_one(&s, &p, &types.StateMachine{}, uint64(0)) + q = skip_one(&s, &p, &types.StateMachine{}, uint64(0)) assert.Equal(t, 26, p) assert.Equal(t, 22, q) - q = __skip_one(&s, &p, &types.StateMachine{}, uint64(0)) + q = skip_one(&s, &p, &types.StateMachine{}, uint64(0)) assert.Equal(t, 32, p) assert.Equal(t, 27, q) - q = __skip_one(&s, &p, &types.StateMachine{}, uint64(0)) + q = skip_one(&s, &p, &types.StateMachine{}, uint64(0)) assert.Equal(t, 37, p) assert.Equal(t, 33, q) - q = __skip_one(&s, &p, &types.StateMachine{}, uint64(0)) + q = skip_one(&s, &p, &types.StateMachine{}, uint64(0)) assert.Equal(t, 40, p) assert.Equal(t, 38, q) - q = __skip_one(&s, &p, &types.StateMachine{}, uint64(0)) + q = skip_one(&s, &p, &types.StateMachine{}, uint64(0)) assert.Equal(t, 43, p) assert.Equal(t, 41, q) } @@ -509,7 +517,7 @@ func TestNative_SkipOne_Error(t *testing.T) { `"asdf`, `"\\\"`, }) { p := 0 - q := __skip_one(&s, &p, &types.StateMachine{}, uint64(0)) + q := skip_one(&s, &p, &types.StateMachine{}, uint64(0)) assert.True(t, q < 0) } } @@ -517,66 +525,74 @@ func TestNative_SkipOne_Error(t *testing.T) { func TestNative_SkipArray(t *testing.T) { p := 0 s := `null, true, false, 1, 2.0, -3, {"asdf": "wqer"}],` - __skip_array(&s, &p, &types.StateMachine{}, uint64(0)) + skip_array(&s, &p, &types.StateMachine{}, uint64(0)) assert.Equal(t, p, 48) } func TestNative_SkipObject(t *testing.T) { p := 0 s := `"asdf": "wqer"},` - __skip_object(&s, &p, &types.StateMachine{}, uint64(0)) + skip_object(&s, &p, &types.StateMachine{}, uint64(0)) assert.Equal(t, p, 15) } func TestNative_SkipNumber(t *testing.T) { p := 0 s := `-1.23e+12` - q := __skip_number(&s, &p) + q := skip_number(&s, &p) assert.Equal(t, 9, p) assert.Equal(t, 0, q) } +func TestNative_SkipNumberInJson(t *testing.T) { + p := 0x13 + s := "{\"h\":\"1.00000\",\"i\":true,\"pass3\":1}" + q := skip_number(&s, &p) + assert.Equal(t, 0x13, p) + assert.Equal(t, -2, q) +} + func TestNative_SkipOneFast(t *testing.T) { p := 0 s := ` {"asdf": [null, true, false, 1, 2.0, -3]}, 1234.5` - q := __skip_one_fast(&s, &p) + q := skip_one_fast(&s, &p) assert.Equal(t, 42, p) assert.Equal(t, 1, q) p = 0 s = `1, 2.5, -3, "asdf\nqwer", true, false, null, {}, [],` - q = __skip_one_fast(&s, &p) + q = skip_one_fast(&s, &p) assert.Equal(t, 1, p) assert.Equal(t, 0, q) p += 1 - q = __skip_one_fast(&s, &p) + q = skip_one_fast(&s, &p) assert.Equal(t, 6, p) assert.Equal(t, 3, q) p += 1 - q = __skip_one_fast(&s, &p) + q = skip_one_fast(&s, &p) assert.Equal(t, 10, p) assert.Equal(t, 8, q) p += 1 - q = __skip_one_fast(&s, &p) + q = skip_one_fast(&s, &p) assert.Equal(t, 24, p) assert.Equal(t, 12, q) p += 1 - q = __skip_one_fast(&s, &p) + q = skip_one_fast(&s, &p) assert.Equal(t, 30, p) assert.Equal(t, 26, q) p += 1 - q = __skip_one_fast(&s, &p) + q = skip_one_fast(&s, &p) assert.Equal(t, 37, p) assert.Equal(t, 32, q) p += 1 - q = __skip_one_fast(&s, &p) + q = skip_one_fast(&s, &p) assert.Equal(t, 43, p) assert.Equal(t, 39, q) p += 1 - q = __skip_one_fast(&s, &p) + q = skip_one_fast(&s, &p) assert.Equal(t, 47, p) assert.Equal(t, 45, q) p += 1 - q = __skip_one_fast(&s, &p) + q = skip_one_fast(&s, &p) assert.Equal(t, 51, p) assert.Equal(t, 49, q) } @@ -587,7 +603,36 @@ func TestNative_SkipOneFast_Error(t *testing.T) { `"asdf`, `"\\\"`, }) { p := 0 - q := __skip_one_fast(&s, &p) + q := skip_one_fast(&s, &p) assert.True(t, q < 0) } +} + +func TestNative_GetByPath(t *testing.T) { + s := `{"asdf": [null, true, false, 1, 2.0, -3]}, 1234.5` + p := 0 + path := []interface{}{"asdf", 4} + ret := get_by_path(&s, &p, &path, types.NewStateMachine()) + assert.Equal(t, strings.Index(s, "2.0"), ret) +} + +func BenchmarkNative_SkipOneFast(b *testing.B) { + b.ResetTimer() + for i:=0; i(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/f32toa_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/f32toa_subr_arm64.go new file mode 100644 index 0000000..1e624c1 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/f32toa_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __f32toa_entry__() uintptr + +var ( + _subr__f32toa uintptr = __f32toa_entry__() + 0 +) + +const ( + _stack__f32toa = 32 +) + +var ( + _ = _subr__f32toa +) + +const ( + _ = _stack__f32toa +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_arm64.go new file mode 100644 index 0000000..169924b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_arm64.go @@ -0,0 +1,31 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +//go:nosplit +func f64toa(out *byte, val float64) (ret int) { + return __f64toa(out, val) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __f64toa(out *byte, val float64) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_arm64.s new file mode 100644 index 0000000..2d9f174 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_arm64.s @@ -0,0 +1,2492 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__f64toa_entry__(SB), NOSPLIT, $16 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 2, 0x00 +_f64toa: + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0x9e660009 // fmov x9, d0 + WORD $0xd374f92b // ubfx x11, x9, #52, #11 + WORD $0x711ffd7f // cmp w11, #2047 + WORD $0x54007c20 // b.eq LBB0_171 $3972(%rip) + WORD $0x528005a8 // mov w8, #45 + WORD $0x39000008 // strb w8, [x0] + WORD $0xd37ffd2a // lsr x10, x9, #63 + WORD $0x8b0a0008 // add x8, x0, x10 + WORD $0x9e66000c // fmov x12, d0 + WORD $0xf240f99f // tst x12, #0x7fffffffffffffff + WORD $0x54000ec0 // b.eq LBB0_10 $472(%rip) + WORD $0x9240cd2e // and x14, x9, #0xfffffffffffff + WORD $0xd29c7fed // mov x13, #58367 + WORD $0xf2aa816d // movk x13, #21515, lsl #16 + WORD $0xf2c0004d // movk x13, #2, lsl #32 + WORD $0x34007c0b // cbz w11, LBB0_174 $3968(%rip) + WORD $0xb24c01c9 // orr x9, x14, #0x10000000000000 + WORD $0x5110cd6c // sub w12, w11, #1075 + WORD $0x510ffd6f // sub w15, w11, #1023 + WORD $0x7100d1ff // cmp w15, #52 + WORD $0x540000e8 // b.hi LBB0_5 $28(%rip) + WORD $0x5280866f // mov w15, #1075 + WORD $0x4b0b01ef // sub w15, w15, w11 + WORD $0x92800010 // mov x16, #-1 + WORD $0x9acf2210 // lsl x16, x16, x15 + WORD $0xea30013f // bics xzr, x9, x16 + WORD $0x54000fe0 // b.eq LBB0_18 $508(%rip) +LBB0_5: + WORD $0xf10001df // cmp x14, #0 + WORD $0x1a9f17ee // cset w14, eq + WORD $0x7100057f // cmp w11, #1 + WORD $0x1a9f97eb // cset w11, hi + WORD $0xd37ef52f // lsl x15, x9, #2 + WORD $0x6a0b01cb // ands w11, w14, w11 + WORD $0xaa0b01eb // orr x11, x15, x11 + WORD $0x52800050 // mov w16, #2 + WORD $0xb37ed130 // bfi x16, x9, #2, #53 + WORD $0x5288826e // mov w14, #17427 + WORD $0x72a0026e // movk w14, #19, lsl #16 + WORD $0x52802031 // mov w17, #257 + WORD $0x72bfff11 // movk w17, #65528, lsl #16 + WORD $0x1a9f1231 // csel w17, w17, wzr, ne + WORD $0xd1000961 // sub x1, x11, #2 + WORD $0x1b0e458b // madd w11, w12, w14, w17 + WORD $0x13167d6b // asr w11, w11, #22 + WORD $0x528d962e // mov w14, #27825 + WORD $0x72bffcae // movk w14, #65509, lsl #16 + WORD $0x1b0e7d6e // mul w14, w11, w14 + WORD $0x0b8e4d8c // add w12, w12, w14, asr #19 + WORD $0x1100058c // add w12, w12, #1 + WORD $0x5280248e // mov w14, #292 + WORD $0x4b0b01ce // sub w14, w14, w11 +Lloh0: + WORD $0x10008031 // adr x17, _pow10_ceil_sig.g $4100(%rip) +Lloh1: + WORD $0x91000231 // add x17, x17, _pow10_ceil_sig.g@PAGEOFF $0(%rip) + WORD $0x8b2e522e // add x14, x17, w14, uxtw #4 + WORD $0xa94009d1 // ldp x17, x2, [x14] + WORD $0x9acc202e // lsl x14, x1, x12 + WORD $0x9bd17dc1 // umulh x1, x14, x17 + WORD $0x9b117dc3 // mul x3, x14, x17 + WORD $0x9bc27dce // umulh x14, x14, x2 + WORD $0xab0301ce // adds x14, x14, x3 + WORD $0x9a813421 // cinc x1, x1, hs + WORD $0xf27ff9df // tst x14, #0xfffffffffffffffe + WORD $0x1a9f07ee // cset w14, ne + WORD $0xaa0101c1 // orr x1, x14, x1 + WORD $0x9acc21ee // lsl x14, x15, x12 + WORD $0x9bd17dcf // umulh x15, x14, x17 + WORD $0x9b117dc3 // mul x3, x14, x17 + WORD $0x9bc27dce // umulh x14, x14, x2 + WORD $0xab0301c3 // adds x3, x14, x3 + WORD $0x9a8f35ee // cinc x14, x15, hs + WORD $0xf27ff87f // tst x3, #0xfffffffffffffffe + WORD $0x1a9f07ef // cset w15, ne + WORD $0xaa0e01ef // orr x15, x15, x14 + WORD $0x9acc220c // lsl x12, x16, x12 + WORD $0x9bd17d90 // umulh x16, x12, x17 + WORD $0x9b117d91 // mul x17, x12, x17 + WORD $0x9bc27d8c // umulh x12, x12, x2 + WORD $0xab11018c // adds x12, x12, x17 + WORD $0x9a903610 // cinc x16, x16, hs + WORD $0xf27ff99f // tst x12, #0xfffffffffffffffe + WORD $0x1a9f07ec // cset w12, ne + WORD $0xaa10018c // orr x12, x12, x16 + WORD $0x92400129 // and x9, x9, #0x1 + WORD $0x8b090030 // add x16, x1, x9 + WORD $0xcb090189 // sub x9, x12, x9 + WORD $0xf100a1ff // cmp x15, #40 + WORD $0x540001e3 // b.lo LBB0_7 $60(%rip) + WORD $0xb202e7ec // mov x12, #-3689348814741910324 + WORD $0xf29999ac // movk x12, #52429 + WORD $0x9bcc7dcc // umulh x12, x14, x12 + WORD $0xd345fd8c // lsr x12, x12, #5 + WORD $0x8b0c0991 // add x17, x12, x12, lsl #2 + WORD $0xd37df231 // lsl x17, x17, #3 + WORD $0x9100a221 // add x1, x17, #40 + WORD $0xeb11021f // cmp x16, x17 + WORD $0x1a9f97f1 // cset w17, hi + WORD $0xeb09003f // cmp x1, x9 + WORD $0x1a9f87e1 // cset w1, ls + WORD $0x9a8c858c // cinc x12, x12, ls + WORD $0x6b01023f // cmp w17, w1 + WORD $0x54000460 // b.eq LBB0_11 $140(%rip) +LBB0_7: + WORD $0xd342fdcc // lsr x12, x14, #2 + WORD $0x927ef5d1 // and x17, x14, #0xfffffffffffffffc + WORD $0x91001221 // add x1, x17, #4 + WORD $0xeb09003f // cmp x1, x9 + WORD $0x1a9f87e2 // cset w2, ls + WORD $0xeb11021f // cmp x16, x17 + WORD $0x1a9f97f0 // cset w16, hi + WORD $0x4a020210 // eor w16, w16, w2 + WORD $0xb27f0231 // orr x17, x17, #0x2 + WORD $0xeb1101ff // cmp x15, x17 + WORD $0x1a9f17ef // cset w15, eq + WORD $0x0a4e09ee // and w14, w15, w14, lsr #2 + WORD $0x1a9f95ce // csinc w14, w14, wzr, ls + WORD $0x8b0e018e // add x14, x12, x14 + WORD $0xeb09003f // cmp x1, x9 + WORD $0x9a8c8589 // cinc x9, x12, ls + WORD $0x7200021f // tst w16, #0x1 + WORD $0x9a8911cc // csel x12, x14, x9, ne + WORD $0xeb0d019f // cmp x12, x13 + WORD $0x54000249 // b.ls LBB0_12 $72(%rip) +LBB0_8: + WORD $0xd29d0009 // mov x9, #59392 + WORD $0xf2a90ec9 // movk x9, #18550, lsl #16 + WORD $0xf2c002e9 // movk x9, #23, lsl #32 + WORD $0xeb09019f // cmp x12, x9 + WORD $0x54000222 // b.hs LBB0_14 $68(%rip) + WORD $0x5280016d // mov w13, #11 + WORD $0x140000f3 // b LBB0_67 $972(%rip) +LBB0_10: + WORD $0x52800609 // mov w9, #48 + WORD $0x39000109 // strb w9, [x8] + WORD $0x4b000108 // sub w8, w8, w0 + WORD $0x11000500 // add w0, w8, #1 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_11: + WORD $0x1100056b // add w11, w11, #1 + WORD $0xeb0d019f // cmp x12, x13 + WORD $0x54fffe08 // b.hi LBB0_8 $-64(%rip) +LBB0_12: + WORD $0xf100299f // cmp x12, #10 + WORD $0x54000142 // b.hs LBB0_16 $40(%rip) + WORD $0x5280002d // mov w13, #1 + WORD $0x140000e5 // b LBB0_67 $916(%rip) +LBB0_14: + WORD $0xd2820009 // mov x9, #4096 + WORD $0xf2ba94a9 // movk x9, #54437, lsl #16 + WORD $0xf2c01d09 // movk x9, #232, lsl #32 + WORD $0xeb09019f // cmp x12, x9 + WORD $0x54000262 // b.hs LBB0_21 $76(%rip) + WORD $0x5280018d // mov w13, #12 + WORD $0x140000de // b LBB0_67 $888(%rip) +LBB0_16: + WORD $0xf101919f // cmp x12, #100 + WORD $0x540002c2 // b.hs LBB0_23 $88(%rip) + WORD $0x5280004d // mov w13, #2 + WORD $0x140000da // b LBB0_67 $872(%rip) +LBB0_18: + WORD $0x9acf252a // lsr x10, x9, x15 +Lloh2: + WORD $0x10006d09 // adr x9, _Digits $3488(%rip) +Lloh3: + WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) + WORD $0xeb0d015f // cmp x10, x13 + WORD $0x54000269 // b.ls LBB0_25 $76(%rip) + WORD $0xd29d000b // mov x11, #59392 + WORD $0xf2a90ecb // movk x11, #18550, lsl #16 + WORD $0xf2c002eb // movk x11, #23, lsl #32 + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x540003e2 // b.hs LBB0_31 $124(%rip) + WORD $0x5280016b // mov w11, #11 + WORD $0x14000067 // b LBB0_54 $412(%rip) +LBB0_21: + WORD $0xd2940009 // mov x9, #40960 + WORD $0xf2a9ce49 // movk x9, #20082, lsl #16 + WORD $0xf2c12309 // movk x9, #2328, lsl #32 + WORD $0xeb09019f // cmp x12, x9 + WORD $0x54000182 // b.hs LBB0_27 $48(%rip) + WORD $0x528001ad // mov w13, #13 + WORD $0x140000c7 // b LBB0_67 $796(%rip) +LBB0_23: + WORD $0xf10fa19f // cmp x12, #1000 + WORD $0x540001e2 // b.hs LBB0_29 $60(%rip) + WORD $0x5280006d // mov w13, #3 + WORD $0x140000c3 // b LBB0_67 $780(%rip) +LBB0_25: + WORD $0xf100295f // cmp x10, #10 + WORD $0x540002e2 // b.hs LBB0_33 $92(%rip) + WORD $0x5280002b // mov w11, #1 + WORD $0x8b0b010b // add x11, x8, x11 + WORD $0x14000346 // b LBB0_176 $3352(%rip) +LBB0_27: + WORD $0xd2880009 // mov x9, #16384 + WORD $0xf2a20f49 // movk x9, #4218, lsl #16 + WORD $0xf2cb5e69 // movk x9, #23283, lsl #32 + WORD $0xeb09019f // cmp x12, x9 + WORD $0x54000282 // b.hs LBB0_35 $80(%rip) + WORD $0x528001cd // mov w13, #14 + WORD $0x140000b7 // b LBB0_67 $732(%rip) +LBB0_29: + WORD $0xd344fd89 // lsr x9, x12, #4 + WORD $0xf109c53f // cmp x9, #625 + WORD $0x540002c2 // b.hs LBB0_37 $88(%rip) + WORD $0x5280008d // mov w13, #4 + WORD $0x140000b2 // b LBB0_67 $712(%rip) +LBB0_31: + WORD $0xd282000b // mov x11, #4096 + WORD $0xf2ba94ab // movk x11, #54437, lsl #16 + WORD $0xf2c01d0b // movk x11, #232, lsl #32 + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x54000282 // b.hs LBB0_39 $80(%rip) + WORD $0x5280018b // mov w11, #12 + WORD $0x14000044 // b LBB0_54 $272(%rip) +LBB0_33: + WORD $0xf101915f // cmp x10, #100 + WORD $0x540002e2 // b.hs LBB0_41 $92(%rip) + WORD $0x5280004b // mov w11, #2 + WORD $0x8b0b010b // add x11, x8, x11 + WORD $0x1400032e // b LBB0_176 $3256(%rip) +LBB0_35: + WORD $0xb2718be9 // mov x9, #1125899906809856 + WORD $0xf2b498c9 // movk x9, #42182, lsl #16 + WORD $0xf2d1afc9 // movk x9, #36222, lsl #32 + WORD $0xeb09019f // cmp x12, x9 + WORD $0x54000282 // b.hs LBB0_43 $80(%rip) + WORD $0x528001ed // mov w13, #15 + WORD $0x1400009f // b LBB0_67 $636(%rip) +LBB0_37: + WORD $0xd345fd89 // lsr x9, x12, #5 + WORD $0xf130d53f // cmp x9, #3125 + WORD $0x540002c2 // b.hs LBB0_45 $88(%rip) + WORD $0x528000ad // mov w13, #5 + WORD $0x1400009a // b LBB0_67 $616(%rip) +LBB0_39: + WORD $0xd294000b // mov x11, #40960 + WORD $0xf2a9ce4b // movk x11, #20082, lsl #16 + WORD $0xf2c1230b // movk x11, #2328, lsl #32 + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x540002a2 // b.hs LBB0_47 $84(%rip) + WORD $0x528001ab // mov w11, #13 + WORD $0x1400002c // b LBB0_54 $176(%rip) +LBB0_41: + WORD $0xf10fa15f // cmp x10, #1000 + WORD $0x54000302 // b.hs LBB0_49 $96(%rip) + WORD $0x5280006b // mov w11, #3 + WORD $0x8b0b010b // add x11, x8, x11 + WORD $0x14000316 // b LBB0_176 $3160(%rip) +LBB0_43: + WORD $0xd2adf829 // mov x9, #1874919424 + WORD $0xf2d0de49 // movk x9, #34546, lsl #32 + WORD $0xf2e00469 // movk x9, #35, lsl #48 + WORD $0xeb09019f // cmp x12, x9 + WORD $0x52800209 // mov w9, #16 +LBB0_44: + WORD $0x1a89352d // cinc w13, w9, hs + WORD $0x14000087 // b LBB0_67 $540(%rip) +LBB0_45: + WORD $0x52884809 // mov w9, #16960 + WORD $0x72a001e9 // movk w9, #15, lsl #16 + WORD $0xeb09019f // cmp x12, x9 + WORD $0x54000202 // b.hs LBB0_51 $64(%rip) + WORD $0x528000cd // mov w13, #6 + WORD $0x14000081 // b LBB0_67 $516(%rip) +LBB0_47: + WORD $0xd288000b // mov x11, #16384 + WORD $0xf2a20f4b // movk x11, #4218, lsl #16 + WORD $0xf2cb5e6b // movk x11, #23283, lsl #32 + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x540001e2 // b.hs LBB0_53 $60(%rip) + WORD $0x528001cb // mov w11, #14 + WORD $0x14000013 // b LBB0_54 $76(%rip) +LBB0_49: + WORD $0xd344fd4b // lsr x11, x10, #4 + WORD $0xf109c57f // cmp x11, #625 + WORD $0x54000d82 // b.hs LBB0_63 $432(%rip) + WORD $0x5280008b // mov w11, #4 + WORD $0x8b0b010b // add x11, x8, x11 + WORD $0x140002fc // b LBB0_176 $3056(%rip) +LBB0_51: + WORD $0x5292d009 // mov w9, #38528 + WORD $0x72a01309 // movk w9, #152, lsl #16 + WORD $0xeb09019f // cmp x12, x9 + WORD $0x54000d62 // b.hs LBB0_65 $428(%rip) + WORD $0x528000ed // mov w13, #7 + WORD $0x1400006e // b LBB0_67 $440(%rip) +LBB0_53: + WORD $0xb2718beb // mov x11, #1125899906809856 + WORD $0xf2b498cb // movk x11, #42182, lsl #16 + WORD $0xf2d1afcb // movk x11, #36222, lsl #32 + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x528001eb // mov w11, #15 + WORD $0x9a8b356b // cinc x11, x11, hs +LBB0_54: + WORD $0x8b0b010b // add x11, x8, x11 +LBB0_55: + WORD $0xd288c3ac // mov x12, #17949 + WORD $0xf2ae230c // movk x12, #28952, lsl #16 + WORD $0xf2d798ec // movk x12, #48327, lsl #32 + WORD $0xf2e0014c // movk x12, #10, lsl #48 + WORD $0x9bcc7d4c // umulh x12, x10, x12 + WORD $0xd34efd8d // lsr x13, x12, #14 + WORD $0x5283e00c // mov w12, #7936 + WORD $0x72bf414c // movk w12, #64010, lsl #16 + WORD $0x1b0c29aa // madd w10, w13, w12, w10 + WORD $0x5282eb2c // mov w12, #5977 + WORD $0x72ba36ec // movk w12, #53687, lsl #16 + WORD $0x9bac7d4c // umull x12, w10, w12 + WORD $0xd36dfd8c // lsr x12, x12, #45 + WORD $0x5284e20e // mov w14, #10000 + WORD $0x1b0ea98a // msub w10, w12, w14, w10 + WORD $0x5291b72f // mov w15, #36281 + WORD $0x72a000cf // movk w15, #6, lsl #16 + WORD $0x9baf7d8f // umull x15, w12, w15 + WORD $0xd360fdef // lsr x15, x15, #32 + WORD $0x1b0eb1ec // msub w12, w15, w14, w12 + WORD $0x53023d4e // ubfx w14, w10, #2, #14 + WORD $0x52828f6f // mov w15, #5243 + WORD $0x1b0f7dce // mul w14, w14, w15 + WORD $0x53117dce // lsr w14, w14, #17 + WORD $0x52800c90 // mov w16, #100 + WORD $0x1b10a9ca // msub w10, w14, w16, w10 + WORD $0x92403d4a // and x10, x10, #0xffff + WORD $0x1b0f7d8f // mul w15, w12, w15 + WORD $0x53137def // lsr w15, w15, #19 + WORD $0x1b10b1f0 // msub w16, w15, w16, w12 + WORD $0x786a792a // ldrh w10, [x9, x10, lsl #1] + WORD $0x786f592f // ldrh w15, [x9, w15, uxtw #1] + WORD $0xaa0b03ec // mov x12, x11 + WORD $0x781f8d8f // strh w15, [x12, #-8]! + WORD $0x79000d8a // strh w10, [x12, #6] + WORD $0x786e592a // ldrh w10, [x9, w14, uxtw #1] + WORD $0x92403e0e // and x14, x16, #0xffff + WORD $0x7900098a // strh w10, [x12, #4] + WORD $0x786e792a // ldrh w10, [x9, x14, lsl #1] + WORD $0x7900058a // strh w10, [x12, #2] + WORD $0xaa0d03ea // mov x10, x13 + WORD $0xd3447dad // ubfx x13, x13, #4, #28 + WORD $0x7109c5bf // cmp w13, #625 + WORD $0x540058e3 // b.lo LBB0_177 $2844(%rip) +LBB0_56: + WORD $0x529c1fee // mov w14, #57599 + WORD $0x72a0beae // movk w14, #1525, lsl #16 + WORD $0x5282eb2f // mov w15, #5977 + WORD $0x72ba36ef // movk w15, #53687, lsl #16 + WORD $0x1284e1f0 // mov w16, #-10000 + WORD $0x5290a3f1 // mov w17, #34079 + WORD $0x72aa3d71 // movk w17, #20971, lsl #16 + WORD $0x52800c81 // mov w1, #100 +LBB0_57: + WORD $0x9baf7d4d // umull x13, w10, w15 + WORD $0xd36dfdad // lsr x13, x13, #45 + WORD $0x1b1029a2 // madd w2, w13, w16, w10 + WORD $0x9bb17c43 // umull x3, w2, w17 + WORD $0xd365fc63 // lsr x3, x3, #37 + WORD $0x1b018862 // msub w2, w3, w1, w2 + WORD $0x78625922 // ldrh w2, [x9, w2, uxtw #1] + WORD $0x78637923 // ldrh w3, [x9, x3, lsl #1] + WORD $0x781fcd83 // strh w3, [x12, #-4]! + WORD $0x79000582 // strh w2, [x12, #2] + WORD $0x6b0e015f // cmp w10, w14 + WORD $0xaa0d03ea // mov x10, x13 + WORD $0x54fffe88 // b.hi LBB0_57 $-48(%rip) + WORD $0x710191bf // cmp w13, #100 + WORD $0x54000163 // b.lo LBB0_60 $44(%rip) +LBB0_59: + WORD $0x53023daa // ubfx w10, w13, #2, #14 + WORD $0x52828f6e // mov w14, #5243 + WORD $0x1b0e7d4a // mul w10, w10, w14 + WORD $0x53117d4a // lsr w10, w10, #17 + WORD $0x52800c8e // mov w14, #100 + WORD $0x1b0eb54d // msub w13, w10, w14, w13 + WORD $0x92403dad // and x13, x13, #0xffff + WORD $0x786d792d // ldrh w13, [x9, x13, lsl #1] + WORD $0x781fed8d // strh w13, [x12, #-2]! + WORD $0xaa0a03ed // mov x13, x10 +LBB0_60: + WORD $0x710029bf // cmp w13, #10 + WORD $0x540000e3 // b.lo LBB0_62 $28(%rip) + WORD $0x786d5928 // ldrh w8, [x9, w13, uxtw #1] + WORD $0x781fe188 // sturh w8, [x12, #-2] + WORD $0x4b000160 // sub w0, w11, w0 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_62: + WORD $0x321c05a9 // orr w9, w13, #0x30 + WORD $0x39000109 // strb w9, [x8] + WORD $0x4b000160 // sub w0, w11, w0 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_63: + WORD $0xd345fd4b // lsr x11, x10, #5 + WORD $0xf130d57f // cmp x11, #3125 + WORD $0x54004d02 // b.hs LBB0_166 $2464(%rip) + WORD $0x528000ab // mov w11, #5 + WORD $0x8b0b010b // add x11, x8, x11 + WORD $0x1400028e // b LBB0_176 $2616(%rip) +LBB0_65: + WORD $0x529c2009 // mov w9, #57600 + WORD $0x72a0bea9 // movk w9, #1525, lsl #16 + WORD $0xeb09019f // cmp x12, x9 + WORD $0x54004d02 // b.hs LBB0_168 $2464(%rip) + WORD $0x5280010d // mov w13, #8 +LBB0_67: + WORD $0x0b0b01a9 // add w9, w13, w11 + WORD $0x5100592e // sub w14, w9, #22 + WORD $0xd360fd8f // lsr x15, x12, #32 + WORD $0x310071df // cmn w14, #28 + WORD $0x54000168 // b.hi LBB0_71 $44(%rip) + WORD $0x9100050b // add x11, x8, #1 + WORD $0x2a0d03ed // mov w13, w13 + WORD $0x8b0d016e // add x14, x11, x13 + WORD $0xb500022f // cbnz x15, LBB0_75 $68(%rip) + WORD $0xaa0c03f0 // mov x16, x12 + WORD $0x53047e0c // lsr w12, w16, #4 + WORD $0x7109c59f // cmp w12, #625 + WORD $0x540017c2 // b.hs LBB0_94 $760(%rip) +LBB0_70: + WORD $0xaa1003ec // mov x12, x16 + WORD $0x140000d3 // b LBB0_96 $844(%rip) +LBB0_71: + WORD $0x37f8074b // tbnz w11, #31, LBB0_77 $232(%rip) + WORD $0x2a0d03ee // mov w14, w13 + WORD $0x8b0e010b // add x11, x8, x14 + WORD $0xb500084f // cbnz x15, LBB0_81 $264(%rip) + WORD $0xaa0b03ef // mov x15, x11 + WORD $0x53047d90 // lsr w16, w12, #4 + WORD $0x7109c61f // cmp w16, #625 + WORD $0x54000d82 // b.hs LBB0_82 $432(%rip) +LBB0_74: + WORD $0xaa0c03f0 // mov x16, x12 + WORD $0x14000081 // b LBB0_84 $516(%rip) +LBB0_75: + WORD $0xd29cefef // mov x15, #59263 + WORD $0xf2b8460f // movk x15, #49712, lsl #16 + WORD $0xf2c7710f // movk x15, #15240, lsl #32 + WORD $0xf2eabccf // movk x15, #21990, lsl #48 + WORD $0x9bcf7d8f // umulh x15, x12, x15 + WORD $0xd359fdf0 // lsr x16, x15, #25 + WORD $0x5283e00f // mov w15, #7936 + WORD $0x72bf414f // movk w15, #64010, lsl #16 + WORD $0x1b0f320c // madd w12, w16, w15, w12 + WORD $0x3400146c // cbz w12, LBB0_93 $652(%rip) + WORD $0xd280000f // mov x15, #0 + WORD $0x5282eb31 // mov w17, #5977 + WORD $0x72ba36f1 // movk w17, #53687, lsl #16 + WORD $0x9bb17d91 // umull x17, w12, w17 + WORD $0xd36dfe31 // lsr x17, x17, #45 + WORD $0x5284e201 // mov w1, #10000 + WORD $0x1b01b22c // msub w12, w17, w1, w12 + WORD $0x5291b722 // mov w2, #36281 + WORD $0x72a000c2 // movk w2, #6, lsl #16 + WORD $0x9ba27e22 // umull x2, w17, w2 + WORD $0xd360fc42 // lsr x2, x2, #32 + WORD $0x1b01c451 // msub w17, w2, w1, w17 + WORD $0x53023d81 // ubfx w1, w12, #2, #14 + WORD $0x52828f62 // mov w2, #5243 + WORD $0x1b027c21 // mul w1, w1, w2 + WORD $0x53117c21 // lsr w1, w1, #17 + WORD $0x52800c83 // mov w3, #100 + WORD $0x1b03b02c // msub w12, w1, w3, w12 + WORD $0x92403d8c // and x12, x12, #0xffff + WORD $0x1b027e22 // mul w2, w17, w2 + WORD $0x53137c42 // lsr w2, w2, #19 +Lloh4: + WORD $0x10004b04 // adr x4, _Digits $2400(%rip) +Lloh5: + WORD $0x91000084 // add x4, x4, _Digits@PAGEOFF $0(%rip) + WORD $0x786c788c // ldrh w12, [x4, x12, lsl #1] + WORD $0x1b03c451 // msub w17, w2, w3, w17 + WORD $0x781fe1cc // sturh w12, [x14, #-2] + WORD $0x92403e2c // and x12, x17, #0xffff + WORD $0x78615891 // ldrh w17, [x4, w1, uxtw #1] + WORD $0x781fc1d1 // sturh w17, [x14, #-4] + WORD $0x786c788c // ldrh w12, [x4, x12, lsl #1] + WORD $0x781fa1cc // sturh w12, [x14, #-6] + WORD $0x7862588c // ldrh w12, [x4, w2, uxtw #1] + WORD $0x781f81cc // sturh w12, [x14, #-8] + WORD $0xd10021ce // sub x14, x14, #8 + WORD $0x53047e0c // lsr w12, w16, #4 + WORD $0x7109c59f // cmp w12, #625 + WORD $0x54fff8c3 // b.lo LBB0_70 $-232(%rip) + WORD $0x14000082 // b LBB0_94 $520(%rip) +LBB0_77: + WORD $0x7100013f // cmp w9, #0 + WORD $0x540023cc // b.gt LBB0_123 $1144(%rip) + WORD $0x5285c60e // mov w14, #11824 + WORD $0x7800250e // strh w14, [x8], #2 + WORD $0x36f82369 // tbz w9, #31, LBB0_123 $1132(%rip) + WORD $0x2a2d03ee // mvn w14, w13 + WORD $0x4b0b01ce // sub w14, w14, w11 + WORD $0x7100fddf // cmp w14, #63 + WORD $0x54002082 // b.hs LBB0_118 $1040(%rip) + WORD $0x5280000e // mov w14, #0 + WORD $0x1400010f // b LBB0_121 $1084(%rip) +LBB0_81: + WORD $0xd29cefef // mov x15, #59263 + WORD $0xf2b8460f // movk x15, #49712, lsl #16 + WORD $0xf2c7710f // movk x15, #15240, lsl #32 + WORD $0xf2eabccf // movk x15, #21990, lsl #48 + WORD $0x9bcf7d8f // umulh x15, x12, x15 + WORD $0xd359fdf0 // lsr x16, x15, #25 + WORD $0x5283e00f // mov w15, #7936 + WORD $0x72bf414f // movk w15, #64010, lsl #16 + WORD $0x1b0f320c // madd w12, w16, w15, w12 + WORD $0x5282eb2f // mov w15, #5977 + WORD $0x72ba36ef // movk w15, #53687, lsl #16 + WORD $0x9baf7d8f // umull x15, w12, w15 + WORD $0xd36dfdef // lsr x15, x15, #45 + WORD $0x5284e211 // mov w17, #10000 + WORD $0x1b11b1ec // msub w12, w15, w17, w12 + WORD $0x5291b721 // mov w1, #36281 + WORD $0x72a000c1 // movk w1, #6, lsl #16 + WORD $0x9ba17de1 // umull x1, w15, w1 + WORD $0xd360fc21 // lsr x1, x1, #32 + WORD $0x1b11bc2f // msub w15, w1, w17, w15 + WORD $0x53023d91 // ubfx w17, w12, #2, #14 + WORD $0x52828f61 // mov w1, #5243 + WORD $0x1b017e31 // mul w17, w17, w1 + WORD $0x53117e31 // lsr w17, w17, #17 + WORD $0x52800c82 // mov w2, #100 + WORD $0x1b02b22c // msub w12, w17, w2, w12 + WORD $0x92403d8c // and x12, x12, #0xffff + WORD $0x1b017de1 // mul w1, w15, w1 + WORD $0x53137c21 // lsr w1, w1, #19 + WORD $0x1b02bc22 // msub w2, w1, w2, w15 +Lloh6: + WORD $0x100043c3 // adr x3, _Digits $2168(%rip) +Lloh7: + WORD $0x91000063 // add x3, x3, _Digits@PAGEOFF $0(%rip) + WORD $0x786c786c // ldrh w12, [x3, x12, lsl #1] + WORD $0x78615861 // ldrh w1, [x3, w1, uxtw #1] + WORD $0xaa0b03ef // mov x15, x11 + WORD $0x781f8de1 // strh w1, [x15, #-8]! + WORD $0x79000dec // strh w12, [x15, #6] + WORD $0x7871586c // ldrh w12, [x3, w17, uxtw #1] + WORD $0x92403c51 // and x17, x2, #0xffff + WORD $0x790009ec // strh w12, [x15, #4] + WORD $0x7871786c // ldrh w12, [x3, x17, lsl #1] + WORD $0x790005ec // strh w12, [x15, #2] + WORD $0xaa1003ec // mov x12, x16 + WORD $0x53047d90 // lsr w16, w12, #4 + WORD $0x7109c61f // cmp w16, #625 + WORD $0x54fff2c3 // b.lo LBB0_74 $-424(%rip) +LBB0_82: + WORD $0x529c1ff1 // mov w17, #57599 + WORD $0x72a0beb1 // movk w17, #1525, lsl #16 + WORD $0x5282eb21 // mov w1, #5977 + WORD $0x72ba36e1 // movk w1, #53687, lsl #16 + WORD $0x1284e1e2 // mov w2, #-10000 + WORD $0x5290a3e3 // mov w3, #34079 + WORD $0x72aa3d63 // movk w3, #20971, lsl #16 + WORD $0x52800c84 // mov w4, #100 +Lloh8: + WORD $0x100040c5 // adr x5, _Digits $2072(%rip) +Lloh9: + WORD $0x910000a5 // add x5, x5, _Digits@PAGEOFF $0(%rip) +LBB0_83: + WORD $0x9ba17d90 // umull x16, w12, w1 + WORD $0xd36dfe10 // lsr x16, x16, #45 + WORD $0x1b023206 // madd w6, w16, w2, w12 + WORD $0x9ba37cc7 // umull x7, w6, w3 + WORD $0xd365fce7 // lsr x7, x7, #37 + WORD $0x1b0498e6 // msub w6, w7, w4, w6 + WORD $0x786658a6 // ldrh w6, [x5, w6, uxtw #1] + WORD $0x786778a7 // ldrh w7, [x5, x7, lsl #1] + WORD $0x781fcde7 // strh w7, [x15, #-4]! + WORD $0x790005e6 // strh w6, [x15, #2] + WORD $0x6b11019f // cmp w12, w17 + WORD $0xaa1003ec // mov x12, x16 + WORD $0x54fffe88 // b.hi LBB0_83 $-48(%rip) +LBB0_84: + WORD $0x7101921f // cmp w16, #100 + WORD $0x540001a3 // b.lo LBB0_86 $52(%rip) + WORD $0x53023e0c // ubfx w12, w16, #2, #14 + WORD $0x52828f71 // mov w17, #5243 + WORD $0x1b117d8c // mul w12, w12, w17 + WORD $0x53117d8c // lsr w12, w12, #17 + WORD $0x52800c91 // mov w17, #100 + WORD $0x1b11c190 // msub w16, w12, w17, w16 +Lloh10: + WORD $0x10003df1 // adr x17, _Digits $1980(%rip) +Lloh11: + WORD $0x91000231 // add x17, x17, _Digits@PAGEOFF $0(%rip) + WORD $0x92403e10 // and x16, x16, #0xffff + WORD $0x78707a30 // ldrh w16, [x17, x16, lsl #1] + WORD $0x781fedf0 // strh w16, [x15, #-2]! + WORD $0xaa0c03f0 // mov x16, x12 +LBB0_86: + WORD $0x8b09010c // add x12, x8, x9 + WORD $0x71002a1f // cmp w16, #10 + WORD $0x54000163 // b.lo LBB0_89 $44(%rip) +Lloh12: + WORD $0x10003cc8 // adr x8, _Digits $1944(%rip) +Lloh13: + WORD $0x91000108 // add x8, x8, _Digits@PAGEOFF $0(%rip) + WORD $0x78705908 // ldrh w8, [x8, w16, uxtw #1] + WORD $0x781fe1e8 // sturh w8, [x15, #-2] + WORD $0x6b0901bf // cmp w13, w9 + WORD $0x54000123 // b.lo LBB0_90 $36(%rip) +LBB0_88: + WORD $0x4b000180 // sub w0, w12, w0 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_89: + WORD $0x321c060f // orr w15, w16, #0x30 + WORD $0x3900010f // strb w15, [x8] + WORD $0x6b0901bf // cmp w13, w9 + WORD $0x54ffff22 // b.hs LBB0_88 $-28(%rip) +LBB0_90: + WORD $0x8b000148 // add x8, x10, x0 + WORD $0x8b0e010d // add x13, x8, x14 + WORD $0x910005af // add x15, x13, #1 + WORD $0x8b090108 // add x8, x8, x9 + WORD $0xeb0801ff // cmp x15, x8 + WORD $0x9a8d9508 // csinc x8, x8, x13, ls + WORD $0xcb0d0108 // sub x8, x8, x13 + WORD $0xf100211f // cmp x8, #8 + WORD $0x54003343 // b.lo LBB0_164 $1640(%rip) + WORD $0xf101011f // cmp x8, #64 + WORD $0x54000f02 // b.hs LBB0_111 $480(%rip) + WORD $0xd2800009 // mov x9, #0 + WORD $0x14000084 // b LBB0_115 $528(%rip) +LBB0_93: + WORD $0x928000ef // mov x15, #-8 + WORD $0xd10021ce // sub x14, x14, #8 + WORD $0x53047e0c // lsr w12, w16, #4 + WORD $0x7109c59f // cmp w12, #625 + WORD $0x54ffe883 // b.lo LBB0_70 $-752(%rip) +LBB0_94: + WORD $0x529c1ff1 // mov w17, #57599 + WORD $0x72a0beb1 // movk w17, #1525, lsl #16 + WORD $0x5282eb21 // mov w1, #5977 + WORD $0x72ba36e1 // movk w1, #53687, lsl #16 + WORD $0x1284e1e2 // mov w2, #-10000 + WORD $0x5290a3e3 // mov w3, #34079 + WORD $0x72aa3d63 // movk w3, #20971, lsl #16 + WORD $0x52800c84 // mov w4, #100 +Lloh14: + WORD $0x100037c5 // adr x5, _Digits $1784(%rip) +Lloh15: + WORD $0x910000a5 // add x5, x5, _Digits@PAGEOFF $0(%rip) +LBB0_95: + WORD $0x9ba17e0c // umull x12, w16, w1 + WORD $0xd36dfd8c // lsr x12, x12, #45 + WORD $0x1b024186 // madd w6, w12, w2, w16 + WORD $0x9ba37cc7 // umull x7, w6, w3 + WORD $0xd365fce7 // lsr x7, x7, #37 + WORD $0x1b0498e6 // msub w6, w7, w4, w6 + WORD $0x786658a6 // ldrh w6, [x5, w6, uxtw #1] + WORD $0x786778a7 // ldrh w7, [x5, x7, lsl #1] + WORD $0x781fcdc7 // strh w7, [x14, #-4]! + WORD $0x790005c6 // strh w6, [x14, #2] + WORD $0x6b11021f // cmp w16, w17 + WORD $0xaa0c03f0 // mov x16, x12 + WORD $0x54fffe88 // b.hi LBB0_95 $-48(%rip) +LBB0_96: + WORD $0x7101919f // cmp w12, #100 + WORD $0x540001a3 // b.lo LBB0_98 $52(%rip) + WORD $0x53023d90 // ubfx w16, w12, #2, #14 + WORD $0x52828f71 // mov w17, #5243 + WORD $0x1b117e10 // mul w16, w16, w17 + WORD $0x53117e10 // lsr w16, w16, #17 + WORD $0x52800c91 // mov w17, #100 + WORD $0x1b11b20c // msub w12, w16, w17, w12 +Lloh16: + WORD $0x100034f1 // adr x17, _Digits $1692(%rip) +Lloh17: + WORD $0x91000231 // add x17, x17, _Digits@PAGEOFF $0(%rip) + WORD $0x92403d8c // and x12, x12, #0xffff + WORD $0x786c7a2c // ldrh w12, [x17, x12, lsl #1] + WORD $0x781fedcc // strh w12, [x14, #-2]! + WORD $0xaa1003ec // mov x12, x16 +LBB0_98: + WORD $0x7100299f // cmp w12, #10 + WORD $0x540000c3 // b.lo LBB0_100 $24(%rip) +Lloh18: + WORD $0x100033f0 // adr x16, _Digits $1660(%rip) +Lloh19: + WORD $0x91000210 // add x16, x16, _Digits@PAGEOFF $0(%rip) + WORD $0x786c5a0c // ldrh w12, [x16, w12, uxtw #1] + WORD $0x781fe1cc // sturh w12, [x14, #-2] + WORD $0x14000003 // b LBB0_101 $12(%rip) +LBB0_100: + WORD $0x321c058c // orr w12, w12, #0x30 + WORD $0x3900016c // strb w12, [x11] +LBB0_101: + WORD $0x8b0a01ea // add x10, x15, x10 + WORD $0x8b0a000a // add x10, x0, x10 + WORD $0x910005ec // add x12, x15, #1 +LBB0_102: + WORD $0x386d694e // ldrb w14, [x10, x13] + WORD $0xd100054a // sub x10, x10, #1 + WORD $0xd100058c // sub x12, x12, #1 + WORD $0x7100c1df // cmp w14, #48 + WORD $0x54ffff80 // b.eq LBB0_102 $-16(%rip) + WORD $0x3940050e // ldrb w14, [x8, #1] + WORD $0x3900010e // strb w14, [x8] + WORD $0x8b0c01ac // add x12, x13, x12 + WORD $0x8b0d0148 // add x8, x10, x13 + WORD $0xf100099f // cmp x12, #2 + WORD $0x540000ab // b.lt LBB0_105 $20(%rip) + WORD $0x91000908 // add x8, x8, #2 + WORD $0x528005ca // mov w10, #46 + WORD $0x3900016a // strb w10, [x11] + WORD $0x14000002 // b LBB0_106 $8(%rip) +LBB0_105: + WORD $0x91000508 // add x8, x8, #1 +LBB0_106: + WORD $0x52800caa // mov w10, #101 + WORD $0x3900010a // strb w10, [x8] + WORD $0x5280002a // mov w10, #1 + WORD $0x4b09014a // sub w10, w10, w9 + WORD $0x71000529 // subs w9, w9, #1 + WORD $0x5280056b // mov w11, #43 + WORD $0x528005ac // mov w12, #45 + WORD $0x1a8bb18b // csel w11, w12, w11, lt + WORD $0x1a89b149 // csel w9, w10, w9, lt + WORD $0x3900050b // strb w11, [x8, #1] + WORD $0x7101913f // cmp w9, #100 + WORD $0x54000243 // b.lo LBB0_108 $72(%rip) + WORD $0x529999aa // mov w10, #52429 + WORD $0x72b9998a // movk w10, #52428, lsl #16 + WORD $0x9baa7d2a // umull x10, w9, w10 + WORD $0xd363fd4a // lsr x10, x10, #35 + WORD $0x5280014b // mov w11, #10 + WORD $0x1b0ba549 // msub w9, w10, w11, w9 +Lloh20: + WORD $0x10002e6b // adr x11, _Digits $1484(%rip) +Lloh21: + WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) + WORD $0x786a796a // ldrh w10, [x11, x10, lsl #1] + WORD $0x7900050a // strh w10, [x8, #2] + WORD $0x321c0529 // orr w9, w9, #0x30 + WORD $0x39001109 // strb w9, [x8, #4] + WORD $0x9100150c // add x12, x8, #5 + WORD $0x4b000180 // sub w0, w12, w0 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_108: + WORD $0x7100293f // cmp w9, #10 + WORD $0x54000143 // b.lo LBB0_110 $40(%rip) +Lloh22: + WORD $0x10002cca // adr x10, _Digits $1432(%rip) +Lloh23: + WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) + WORD $0x78695949 // ldrh w9, [x10, w9, uxtw #1] + WORD $0x79000509 // strh w9, [x8, #2] + WORD $0x9100110c // add x12, x8, #4 + WORD $0x4b000180 // sub w0, w12, w0 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_110: + WORD $0x321c0529 // orr w9, w9, #0x30 + WORD $0x91000d0c // add x12, x8, #3 + WORD $0x39000909 // strb w9, [x8, #2] + WORD $0x4b000180 // sub w0, w12, w0 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_111: + WORD $0x927ae509 // and x9, x8, #0xffffffffffffffc0 + WORD $0x8b0e014d // add x13, x10, x14 + WORD $0x8b0001ad // add x13, x13, x0 + WORD $0x910081ad // add x13, x13, #32 + WORD $0x4f01e600 // movi.16b v0, #48 + WORD $0xaa0903ef // mov x15, x9 +LBB0_112: + WORD $0xad3f01a0 // stp q0, q0, [x13, #-32] + WORD $0xac8201a0 // stp q0, q0, [x13], #64 + WORD $0xf10101ef // subs x15, x15, #64 + WORD $0x54ffffa1 // b.ne LBB0_112 $-12(%rip) + WORD $0xeb09011f // cmp x8, x9 + WORD $0x54ffed60 // b.eq LBB0_88 $-596(%rip) + WORD $0xf27d091f // tst x8, #0x38 + WORD $0x54002240 // b.eq LBB0_163 $1096(%rip) +LBB0_115: + WORD $0x927df10d // and x13, x8, #0xfffffffffffffff8 + WORD $0x8b0d016b // add x11, x11, x13 + WORD $0x8b0a012a // add x10, x9, x10 + WORD $0x8b0e014a // add x10, x10, x14 + WORD $0x8b0a000a // add x10, x0, x10 + WORD $0xcb0d0129 // sub x9, x9, x13 + WORD $0x0f01e600 // movi.8b v0, #48 +LBB0_116: + WORD $0xfc008540 // str d0, [x10], #8 + WORD $0xb1002129 // adds x9, x9, #8 + WORD $0x54ffffc1 // b.ne LBB0_116 $-8(%rip) + WORD $0xeb0d011f // cmp x8, x13 + WORD $0x54ffeba0 // b.eq LBB0_88 $-652(%rip) + WORD $0x14000106 // b LBB0_164 $1048(%rip) +LBB0_118: + WORD $0x910005d0 // add x16, x14, #1 + WORD $0x927a6a0e // and x14, x16, #0x1ffffffc0 + WORD $0x8b0e0108 // add x8, x8, x14 + WORD $0x8b00014a // add x10, x10, x0 + WORD $0x9100894a // add x10, x10, #34 + WORD $0x4f01e600 // movi.16b v0, #48 + WORD $0xaa0e03f1 // mov x17, x14 +LBB0_119: + WORD $0xad3f0140 // stp q0, q0, [x10, #-32] + WORD $0xac820140 // stp q0, q0, [x10], #64 + WORD $0xf1010231 // subs x17, x17, #64 + WORD $0x54ffffa1 // b.ne LBB0_119 $-12(%rip) + WORD $0xeb0e021f // cmp x16, x14 + WORD $0x540000e0 // b.eq LBB0_123 $28(%rip) +LBB0_121: + WORD $0x0b0901ca // add w10, w14, w9 + WORD $0x4b0a03ea // neg w10, w10 + WORD $0x5280060e // mov w14, #48 +LBB0_122: + WORD $0x3800150e // strb w14, [x8], #1 + WORD $0x7100054a // subs w10, w10, #1 + WORD $0x54ffffc1 // b.ne LBB0_122 $-8(%rip) +LBB0_123: + WORD $0x2a0d03ea // mov w10, w13 + WORD $0x8b0a010e // add x14, x8, x10 + WORD $0xb500010f // cbnz x15, LBB0_126 $32(%rip) + WORD $0xaa0c03ed // mov x13, x12 + WORD $0xaa0e03ec // mov x12, x14 + WORD $0x53047db0 // lsr w16, w13, #4 + WORD $0x7109c61f // cmp w16, #625 + WORD $0x54000702 // b.hs LBB0_129 $224(%rip) +LBB0_125: + WORD $0xaa0d03f0 // mov x16, x13 + WORD $0x1400004d // b LBB0_131 $308(%rip) +LBB0_126: + WORD $0xd29cefed // mov x13, #59263 + WORD $0xf2b8460d // movk x13, #49712, lsl #16 + WORD $0xf2c7710d // movk x13, #15240, lsl #32 + WORD $0xf2eabccd // movk x13, #21990, lsl #48 + WORD $0x9bcd7d8d // umulh x13, x12, x13 + WORD $0xd359fdad // lsr x13, x13, #25 + WORD $0x5283e00f // mov w15, #7936 + WORD $0x72bf414f // movk w15, #64010, lsl #16 + WORD $0x1b0f31ac // madd w12, w13, w15, w12 + WORD $0x340004ec // cbz w12, LBB0_128 $156(%rip) + WORD $0xd280000f // mov x15, #0 + WORD $0x5282eb30 // mov w16, #5977 + WORD $0x72ba36f0 // movk w16, #53687, lsl #16 + WORD $0x9bb07d90 // umull x16, w12, w16 + WORD $0xd36dfe10 // lsr x16, x16, #45 + WORD $0x5284e211 // mov w17, #10000 + WORD $0x1b11b20c // msub w12, w16, w17, w12 + WORD $0x5291b721 // mov w1, #36281 + WORD $0x72a000c1 // movk w1, #6, lsl #16 + WORD $0x9ba17e01 // umull x1, w16, w1 + WORD $0xd360fc21 // lsr x1, x1, #32 + WORD $0x1b11c030 // msub w16, w1, w17, w16 + WORD $0x53023d91 // ubfx w17, w12, #2, #14 + WORD $0x52828f61 // mov w1, #5243 + WORD $0x1b017e31 // mul w17, w17, w1 + WORD $0x53117e31 // lsr w17, w17, #17 + WORD $0x52800c82 // mov w2, #100 + WORD $0x1b02b22c // msub w12, w17, w2, w12 + WORD $0x92403d8c // and x12, x12, #0xffff + WORD $0x1b017e01 // mul w1, w16, w1 + WORD $0x53137c21 // lsr w1, w1, #19 +Lloh24: + WORD $0x10001fe3 // adr x3, _Digits $1020(%rip) +Lloh25: + WORD $0x91000063 // add x3, x3, _Digits@PAGEOFF $0(%rip) + WORD $0x786c786c // ldrh w12, [x3, x12, lsl #1] + WORD $0x1b02c030 // msub w16, w1, w2, w16 + WORD $0x781fe1cc // sturh w12, [x14, #-2] + WORD $0x92403e0c // and x12, x16, #0xffff + WORD $0x78715870 // ldrh w16, [x3, w17, uxtw #1] + WORD $0x781fc1d0 // sturh w16, [x14, #-4] + WORD $0x786c786c // ldrh w12, [x3, x12, lsl #1] + WORD $0x781fa1cc // sturh w12, [x14, #-6] + WORD $0x7861586c // ldrh w12, [x3, w1, uxtw #1] + WORD $0x781f81cc // sturh w12, [x14, #-8] + WORD $0xd10021cc // sub x12, x14, #8 + WORD $0x53047db0 // lsr w16, w13, #4 + WORD $0x7109c61f // cmp w16, #625 + WORD $0x54fffa03 // b.lo LBB0_125 $-192(%rip) + WORD $0x14000006 // b LBB0_129 $24(%rip) +LBB0_128: + WORD $0x928000ef // mov x15, #-8 + WORD $0xd10021cc // sub x12, x14, #8 + WORD $0x53047db0 // lsr w16, w13, #4 + WORD $0x7109c61f // cmp w16, #625 + WORD $0x54fff943 // b.lo LBB0_125 $-216(%rip) +LBB0_129: + WORD $0x529c1ff1 // mov w17, #57599 + WORD $0x72a0beb1 // movk w17, #1525, lsl #16 + WORD $0x5282eb21 // mov w1, #5977 + WORD $0x72ba36e1 // movk w1, #53687, lsl #16 + WORD $0x1284e1e2 // mov w2, #-10000 + WORD $0x5290a3e3 // mov w3, #34079 + WORD $0x72aa3d63 // movk w3, #20971, lsl #16 + WORD $0x52800c84 // mov w4, #100 +Lloh26: + WORD $0x10001c25 // adr x5, _Digits $900(%rip) +Lloh27: + WORD $0x910000a5 // add x5, x5, _Digits@PAGEOFF $0(%rip) +LBB0_130: + WORD $0x9ba17db0 // umull x16, w13, w1 + WORD $0xd36dfe10 // lsr x16, x16, #45 + WORD $0x1b023606 // madd w6, w16, w2, w13 + WORD $0x9ba37cc7 // umull x7, w6, w3 + WORD $0xd365fce7 // lsr x7, x7, #37 + WORD $0x1b0498e6 // msub w6, w7, w4, w6 + WORD $0x786658a6 // ldrh w6, [x5, w6, uxtw #1] + WORD $0x786778a7 // ldrh w7, [x5, x7, lsl #1] + WORD $0x781fcd87 // strh w7, [x12, #-4]! + WORD $0x79000586 // strh w6, [x12, #2] + WORD $0x6b1101bf // cmp w13, w17 + WORD $0xaa1003ed // mov x13, x16 + WORD $0x54fffe88 // b.hi LBB0_130 $-48(%rip) +LBB0_131: + WORD $0x7101921f // cmp w16, #100 + WORD $0x540001a3 // b.lo LBB0_133 $52(%rip) + WORD $0x53023e0d // ubfx w13, w16, #2, #14 + WORD $0x52828f71 // mov w17, #5243 + WORD $0x1b117dad // mul w13, w13, w17 + WORD $0x53117dad // lsr w13, w13, #17 + WORD $0x52800c91 // mov w17, #100 + WORD $0x1b11c1b0 // msub w16, w13, w17, w16 +Lloh28: + WORD $0x10001951 // adr x17, _Digits $808(%rip) +Lloh29: + WORD $0x91000231 // add x17, x17, _Digits@PAGEOFF $0(%rip) + WORD $0x92403e10 // and x16, x16, #0xffff + WORD $0x78707a30 // ldrh w16, [x17, x16, lsl #1] + WORD $0x781fed90 // strh w16, [x12, #-2]! + WORD $0xaa0d03f0 // mov x16, x13 +LBB0_133: + WORD $0x71002a1f // cmp w16, #10 + WORD $0x540000c3 // b.lo LBB0_135 $24(%rip) +Lloh30: + WORD $0x1000184d // adr x13, _Digits $776(%rip) +Lloh31: + WORD $0x910001ad // add x13, x13, _Digits@PAGEOFF $0(%rip) + WORD $0x787059ad // ldrh w13, [x13, w16, uxtw #1] + WORD $0x781fe18d // sturh w13, [x12, #-2] + WORD $0x14000003 // b LBB0_136 $12(%rip) +LBB0_135: + WORD $0x321c060c // orr w12, w16, #0x30 + WORD $0x3900010c // strb w12, [x8] +LBB0_136: + WORD $0xd280000d // mov x13, #0 + WORD $0x8b0f01ce // add x14, x14, x15 + WORD $0x4b0f016c // sub w12, w11, w15 + WORD $0x51000581 // sub w1, w12, #1 + WORD $0x51000991 // sub w17, w12, #2 + WORD $0xaa1103f0 // mov x16, x17 +LBB0_137: + WORD $0x8b0d01cc // add x12, x14, x13 + WORD $0x385ff18c // ldurb w12, [x12, #-1] + WORD $0xd10005ad // sub x13, x13, #1 + WORD $0x11000610 // add w16, w16, #1 + WORD $0x7100c19f // cmp w12, #48 + WORD $0x54ffff60 // b.eq LBB0_137 $-20(%rip) + WORD $0x8b0d01cc // add x12, x14, x13 + WORD $0x9100058c // add x12, x12, #1 + WORD $0x7100053f // cmp w9, #1 + WORD $0x54ffd98b // b.lt LBB0_88 $-1232(%rip) + WORD $0x0b0a01e2 // add w2, w15, w10 + WORD $0x0b0d0042 // add w2, w2, w13 + WORD $0x11000442 // add w2, w2, #1 + WORD $0x6b02013f // cmp w9, w2 + WORD $0x5400016a // b.ge LBB0_143 $44(%rip) + WORD $0x4b0b01ec // sub w12, w15, w11 + WORD $0x1100058a // add w10, w12, #1 + WORD $0x8b0d014b // add x11, x10, x13 + WORD $0x7100057f // cmp w11, #1 + WORD $0x54000c6b // b.lt LBB0_162 $396(%rip) + WORD $0x92407d6a // and x10, x11, #0xffffffff + WORD $0x7100217f // cmp w11, #8 + WORD $0x540001a2 // b.hs LBB0_146 $52(%rip) + WORD $0xd280000b // mov x11, #0 + WORD $0x14000055 // b LBB0_160 $340(%rip) +LBB0_143: + WORD $0xcb0d0029 // sub x9, x1, x13 + WORD $0x7100053f // cmp w9, #1 + WORD $0x54ffd74b // b.lt LBB0_88 $-1304(%rip) + WORD $0x4b0f016b // sub w11, w11, w15 + WORD $0x4b0d016b // sub w11, w11, w13 + WORD $0x5100096b // sub w11, w11, #2 + WORD $0x7100fd7f // cmp w11, #63 + WORD $0x540000e2 // b.hs LBB0_148 $28(%rip) + WORD $0x5280000b // mov w11, #0 + WORD $0x1400001f // b LBB0_151 $124(%rip) +LBB0_146: + WORD $0x7101017f // cmp w11, #64 + WORD $0x54000462 // b.hs LBB0_153 $140(%rip) + WORD $0xd280000b // mov x11, #0 + WORD $0x14000038 // b LBB0_157 $224(%rip) +LBB0_148: + WORD $0xd2800001 // mov x1, #0 + WORD $0xcb0d0222 // sub x2, x17, x13 + WORD $0x91000571 // add x17, x11, #1 + WORD $0x927a6a2b // and x11, x17, #0x1ffffffc0 + WORD $0x9100060c // add x12, x16, #1 + WORD $0x927a698c // and x12, x12, #0x1ffffffc0 + WORD $0x8b0a01ea // add x10, x15, x10 + WORD $0x8b0a0108 // add x8, x8, x10 + WORD $0x8b0d0108 // add x8, x8, x13 + WORD $0x8b0c0108 // add x8, x8, x12 + WORD $0x9100050c // add x12, x8, #1 + WORD $0x92407c48 // and x8, x2, #0xffffffff + WORD $0x91000508 // add x8, x8, #1 + WORD $0x927a6908 // and x8, x8, #0x1ffffffc0 + WORD $0x4f01e600 // movi.16b v0, #48 +LBB0_149: + WORD $0x8b0101ca // add x10, x14, x1 + WORD $0x8b0d014a // add x10, x10, x13 + WORD $0x3c801140 // stur q0, [x10, #1] + WORD $0x3c811140 // stur q0, [x10, #17] + WORD $0x3c821140 // stur q0, [x10, #33] + WORD $0x3c831140 // stur q0, [x10, #49] + WORD $0x91010021 // add x1, x1, #64 + WORD $0xeb01011f // cmp x8, x1 + WORD $0x54ffff01 // b.ne LBB0_149 $-32(%rip) + WORD $0xeb0b023f // cmp x17, x11 + WORD $0x54ffd2a0 // b.eq LBB0_88 $-1452(%rip) +LBB0_151: + WORD $0x52800608 // mov w8, #48 +LBB0_152: + WORD $0x38001588 // strb w8, [x12], #1 + WORD $0x1100056b // add w11, w11, #1 + WORD $0x6b09017f // cmp w11, w9 + WORD $0x54ffffab // b.lt LBB0_152 $-12(%rip) + WORD $0x17fffe8f // b LBB0_88 $-1476(%rip) +LBB0_153: + WORD $0xd280000f // mov x15, #0 + WORD $0x927a614b // and x11, x10, #0x7fffffc0 + WORD $0x0b0d0190 // add w16, w12, w13 + WORD $0x11000610 // add w16, w16, #1 + WORD $0x927a6210 // and x16, x16, #0x7fffffc0 + WORD $0xcb1003f0 // neg x16, x16 + WORD $0x8b0d01d1 // add x17, x14, x13 +LBB0_154: + WORD $0x8b0f0221 // add x1, x17, x15 + WORD $0x3cdf1020 // ldur q0, [x1, #-15] + WORD $0x3cde1021 // ldur q1, [x1, #-31] + WORD $0x3cdd1022 // ldur q2, [x1, #-47] + WORD $0x3cdc1023 // ldur q3, [x1, #-63] + WORD $0x3c9f2020 // stur q0, [x1, #-14] + WORD $0x3c9e2021 // stur q1, [x1, #-30] + WORD $0x3c9d2022 // stur q2, [x1, #-46] + WORD $0x3c9c2023 // stur q3, [x1, #-62] + WORD $0xd10101ef // sub x15, x15, #64 + WORD $0xeb0f021f // cmp x16, x15 + WORD $0x54fffea1 // b.ne LBB0_154 $-44(%rip) + WORD $0xeb0a017f // cmp x11, x10 + WORD $0x54000360 // b.eq LBB0_162 $108(%rip) + WORD $0xf27d095f // tst x10, #0x38 + WORD $0x54000200 // b.eq LBB0_160 $64(%rip) +LBB0_157: + WORD $0xcb0b03ef // neg x15, x11 + WORD $0x927d6d4b // and x11, x10, #0x7ffffff8 + WORD $0x0b0d018c // add w12, w12, w13 + WORD $0x1100058c // add w12, w12, #1 + WORD $0x927d6d8c // and x12, x12, #0x7ffffff8 + WORD $0xcb0c03ec // neg x12, x12 + WORD $0x8b0d01d0 // add x16, x14, x13 +LBB0_158: + WORD $0x8b0f0211 // add x17, x16, x15 + WORD $0xfc5f9220 // ldur d0, [x17, #-7] + WORD $0xfc1fa220 // stur d0, [x17, #-6] + WORD $0xd10021ef // sub x15, x15, #8 + WORD $0xeb0f019f // cmp x12, x15 + WORD $0x54ffff61 // b.ne LBB0_158 $-20(%rip) + WORD $0xeb0a017f // cmp x11, x10 + WORD $0x54000140 // b.eq LBB0_162 $40(%rip) +LBB0_160: + WORD $0xcb0b03ec // neg x12, x11 + WORD $0x8b0d01cf // add x15, x14, x13 +LBB0_161: + WORD $0x8b0c01f0 // add x16, x15, x12 + WORD $0x386c69f1 // ldrb w17, [x15, x12] + WORD $0x39000611 // strb w17, [x16, #1] + WORD $0x9100056b // add x11, x11, #1 + WORD $0xd100058c // sub x12, x12, #1 + WORD $0xeb0a017f // cmp x11, x10 + WORD $0x54ffff43 // b.lo LBB0_161 $-24(%rip) +LBB0_162: + WORD $0x528005ca // mov w10, #46 + WORD $0x3829490a // strb w10, [x8, w9, uxtw] + WORD $0x8b0d01c8 // add x8, x14, x13 + WORD $0x9100090c // add x12, x8, #2 + WORD $0x4b000180 // sub w0, w12, w0 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_163: + WORD $0x8b09016b // add x11, x11, x9 +LBB0_164: + WORD $0x52800608 // mov w8, #48 +LBB0_165: + WORD $0x38001568 // strb w8, [x11], #1 + WORD $0xeb0c017f // cmp x11, x12 + WORD $0x54ffffc3 // b.lo LBB0_165 $-8(%rip) + WORD $0x17fffe52 // b LBB0_88 $-1720(%rip) +LBB0_166: + WORD $0x5288480b // mov w11, #16960 + WORD $0x72a001eb // movk w11, #15, lsl #16 + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x54000122 // b.hs LBB0_169 $36(%rip) + WORD $0x528000cb // mov w11, #6 + WORD $0x8b0b010b // add x11, x8, x11 + WORD $0x14000023 // b LBB0_176 $140(%rip) +LBB0_168: + WORD $0x52994009 // mov w9, #51712 + WORD $0x72a77349 // movk w9, #15258, lsl #16 + WORD $0xeb09019f // cmp x12, x9 + WORD $0x52800129 // mov w9, #9 + WORD $0x17fffd0e // b LBB0_44 $-3016(%rip) +LBB0_169: + WORD $0x5292d00b // mov w11, #38528 + WORD $0x72a0130b // movk w11, #152, lsl #16 + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x54000102 // b.hs LBB0_172 $32(%rip) + WORD $0x528000eb // mov w11, #7 + WORD $0x8b0b010b // add x11, x8, x11 + WORD $0x14000017 // b LBB0_176 $92(%rip) +LBB0_171: + WORD $0x52800000 // mov w0, #0 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_172: + WORD $0x529c200b // mov w11, #57600 + WORD $0x72a0beab // movk w11, #1525, lsl #16 + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x540000e2 // b.hs LBB0_175 $28(%rip) + WORD $0x5280010b // mov w11, #8 + WORD $0x8b0b010b // add x11, x8, x11 + WORD $0x1400000c // b LBB0_176 $48(%rip) +LBB0_174: + WORD $0x1280862c // mov w12, #-1074 + WORD $0xaa0e03e9 // mov x9, x14 + WORD $0x17fffc2a // b LBB0_5 $-3928(%rip) +LBB0_175: + WORD $0x5299400b // mov w11, #51712 + WORD $0x72a7734b // movk w11, #15258, lsl #16 + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x5280012b // mov w11, #9 + WORD $0x9a8b356b // cinc x11, x11, hs + WORD $0x8b0b010b // add x11, x8, x11 + WORD $0xd360fd4c // lsr x12, x10, #32 + WORD $0xb5ffa26c // cbnz x12, LBB0_55 $-2996(%rip) +LBB0_176: + WORD $0xaa0b03ec // mov x12, x11 + WORD $0xd3447d4d // ubfx x13, x10, #4, #28 + WORD $0x7109c5bf // cmp w13, #625 + WORD $0x54ffa762 // b.hs LBB0_56 $-2836(%rip) +LBB0_177: + WORD $0xaa0a03ed // mov x13, x10 + WORD $0x710191bf // cmp w13, #100 + WORD $0x54ffa9e2 // b.hs LBB0_59 $-2756(%rip) + WORD $0x17fffd58 // b LBB0_60 $-2720(%rip) +_Digits: + WORD $0x31303030 // .ascii 4, '0001020304050607' + WORD $0x33303230 // .ascii 4, '0203040506070809' + WORD $0x35303430 // .ascii 4, '0405060708091011' + WORD $0x37303630 // .ascii 4, '0607080910111213' + WORD $0x39303830 // .ascii 4, '0809101112131415' + WORD $0x31313031 // .ascii 4, '1011121314151617' + WORD $0x33313231 // .ascii 4, '1213141516171819' + WORD $0x35313431 // .ascii 4, '1415161718192021' + WORD $0x37313631 // .ascii 4, '1617181920212223' + WORD $0x39313831 // .ascii 4, '1819202122232425' + WORD $0x31323032 // .ascii 4, '2021222324252627' + WORD $0x33323232 // .ascii 4, '2223242526272829' + WORD $0x35323432 // .ascii 4, '2425262728293031' + WORD $0x37323632 // .ascii 4, '2627282930313233' + WORD $0x39323832 // .ascii 4, '2829303132333435' + WORD $0x31333033 // .ascii 4, '3031323334353637' + WORD $0x33333233 // .ascii 4, '3233343536373839' + WORD $0x35333433 // .ascii 4, '3435363738394041' + WORD $0x37333633 // .ascii 4, '3637383940414243' + WORD $0x39333833 // .ascii 4, '3839404142434445' + WORD $0x31343034 // .ascii 4, '4041424344454647' + WORD $0x33343234 // .ascii 4, '4243444546474849' + WORD $0x35343434 // .ascii 4, '4445464748495051' + WORD $0x37343634 // .ascii 4, '4647484950515253' + WORD $0x39343834 // .ascii 4, '4849505152535455' + WORD $0x31353035 // .ascii 4, '5051525354555657' + WORD $0x33353235 // .ascii 4, '5253545556575859' + WORD $0x35353435 // .ascii 4, '5455565758596061' + WORD $0x37353635 // .ascii 4, '5657585960616263' + WORD $0x39353835 // .ascii 4, '5859606162636465' + WORD $0x31363036 // .ascii 4, '6061626364656667' + WORD $0x33363236 // .ascii 4, '6263646566676869' + WORD $0x35363436 // .ascii 4, '6465666768697071' + WORD $0x37363636 // .ascii 4, '6667686970717273' + WORD $0x39363836 // .ascii 4, '6869707172737475' + WORD $0x31373037 // .ascii 4, '7071727374757677' + WORD $0x33373237 // .ascii 4, '7273747576777879' + WORD $0x35373437 // .ascii 4, '7475767778798081' + WORD $0x37373637 // .ascii 4, '7677787980818283' + WORD $0x39373837 // .ascii 4, '7879808182838485' + WORD $0x31383038 // .ascii 4, '8081828384858687' + WORD $0x33383238 // .ascii 4, '8283848586878889' + WORD $0x35383438 // .ascii 4, '8485868788899091' + WORD $0x37383638 // .ascii 4, '8687888990919293' + WORD $0x39383838 // .ascii 4, '8889909192939495' + WORD $0x31393039 // .ascii 4, '9091929394959697' + WORD $0x33393239 // .ascii 4, '9293949596979899' + WORD $0x35393439 // .ascii 4, '949596979899' + WORD $0x37393639 // .ascii 4, '96979899' + WORD $0x39393839 // .ascii 4, '9899' + // .p2align 3, 0x00 +_LB_eee1aae2: // _pow10_ceil_sig.g + WORD $0xbebcdc4f; WORD $0xff77b1fc // .quad -38366372719436721 + WORD $0x13bb0f7b; WORD $0x25e8e89c // .quad 2731688931043774331 + WORD $0xf73609b1; WORD $0x9faacf3d // .quad -6941508010590729807 + WORD $0x8c54e9ad; WORD $0x77b19161 // .quad 8624834609543440813 + WORD $0x75038c1d; WORD $0xc795830d // .quad -4065198994811024355 + WORD $0xef6a2418; WORD $0xd59df5b9 // .quad -3054014793352862696 + WORD $0xd2446f25; WORD $0xf97ae3d0 // .quad -469812725086392539 + WORD $0x6b44ad1e; WORD $0x4b057328 // .quad 5405853545163697438 + WORD $0x836ac577; WORD $0x9becce62 // .quad -7211161980820077193 + WORD $0x430aec33; WORD $0x4ee367f9 // .quad 5684501474941004851 + WORD $0x244576d5; WORD $0xc2e801fb // .quad -4402266457597708587 + WORD $0x93cda740; WORD $0x229c41f7 // .quad 2493940825248868160 + WORD $0xed56d48a; WORD $0xf3a20279 // .quad -891147053569747830 + WORD $0x78c11110; WORD $0x6b435275 // .quad 7729112049988473104 + WORD $0x345644d6; WORD $0x9845418c // .quad -7474495936122174250 + WORD $0x6b78aaaa; WORD $0x830a1389 // .quad -9004363024039368022 + WORD $0x416bd60c; WORD $0xbe5691ef // .quad -4731433901725329908 + WORD $0xc656d554; WORD $0x23cc986b // .quad 2579604275232953684 + WORD $0x11c6cb8f; WORD $0xedec366b // .quad -1302606358729274481 + WORD $0xb7ec8aa9; WORD $0x2cbfbe86 // .quad 3224505344041192105 + WORD $0xeb1c3f39; WORD $0x94b3a202 // .quad -7731658001846878407 + WORD $0x32f3d6aa; WORD $0x7bf7d714 // .quad 8932844867666826922 + WORD $0xa5e34f07; WORD $0xb9e08a83 // .quad -5052886483881210105 + WORD $0x3fb0cc54; WORD $0xdaf5ccd9 // .quad -2669001970698630060 + WORD $0x8f5c22c9; WORD $0xe858ad24 // .quad -1704422086424124727 + WORD $0x8f9cff69; WORD $0xd1b3400f // .quad -3336252463373287575 + WORD $0xd99995be; WORD $0x91376c36 // .quad -7982792831656159810 + WORD $0xb9c21fa2; WORD $0x23100809 // .quad 2526528228819083170 + WORD $0x8ffffb2d; WORD $0xb5854744 // .quad -5366805021142811859 + WORD $0x2832a78b; WORD $0xabd40a0c // .quad -6065211750830921845 + WORD $0xb3fff9f9; WORD $0xe2e69915 // .quad -2096820258001126919 + WORD $0x323f516d; WORD $0x16c90c8f // .quad 1641857348316123501 + WORD $0x907ffc3b; WORD $0x8dd01fad // .quad -8228041688891786181 + WORD $0x7f6792e4; WORD $0xae3da7d9 // .quad -5891368184943504668 + WORD $0xf49ffb4a; WORD $0xb1442798 // .quad -5673366092687344822 + WORD $0xdf41779d; WORD $0x99cd11cf // .quad -7364210231179380835 + WORD $0x31c7fa1d; WORD $0xdd95317f // .quad -2480021597431793123 + WORD $0xd711d584; WORD $0x40405643 // .quad 4629795266307937668 + WORD $0x7f1cfc52; WORD $0x8a7d3eef // .quad -8467542526035952558 + WORD $0x666b2573; WORD $0x482835ea // .quad 5199465050656154995 + WORD $0x5ee43b66; WORD $0xad1c8eab // .quad -5972742139117552794 + WORD $0x0005eed0; WORD $0xda324365 // .quad -2724040723534582064 + WORD $0x369d4a40; WORD $0xd863b256 // .quad -2854241655469553088 + WORD $0x40076a83; WORD $0x90bed43e // .quad -8016736922845615485 + WORD $0xe2224e68; WORD $0x873e4f75 // .quad -8701430062309552536 + WORD $0xe804a292; WORD $0x5a7744a6 // .quad 6518754469289960082 + WORD $0x5aaae202; WORD $0xa90de353 // .quad -6265101559459552766 + WORD $0xa205cb37; WORD $0x711515d0 // .quad 8148443086612450103 + WORD $0x31559a83; WORD $0xd3515c28 // .quad -3219690930897053053 + WORD $0xca873e04; WORD $0x0d5a5b44 // .quad 962181821410786820 + WORD $0x1ed58091; WORD $0x8412d999 // .quad -8929835859451740015 + WORD $0xfe9486c3; WORD $0xe858790a // .quad -1704479370831952189 + WORD $0x668ae0b6; WORD $0xa5178fff // .quad -6550608805887287114 + WORD $0xbe39a873; WORD $0x626e974d // .quad 7092772823314835571 + WORD $0x402d98e3; WORD $0xce5d73ff // .quad -3576574988931720989 + WORD $0x2dc81290; WORD $0xfb0a3d21 // .quad -357406007711231344 + WORD $0x881c7f8e; WORD $0x80fa687f // .quad -9152888395723407474 + WORD $0xbc9d0b9a; WORD $0x7ce66634 // .quad 8999993282035256218 + WORD $0x6a239f72; WORD $0xa139029f // .quad -6829424476226871438 + WORD $0xebc44e81; WORD $0x1c1fffc1 // .quad 2026619565689294465 + WORD $0x44ac874e; WORD $0xc9874347 // .quad -3925094576856201394 + WORD $0x66b56221; WORD $0xa327ffb2 // .quad -6690097579743157727 + WORD $0x15d7a922; WORD $0xfbe91419 // .quad -294682202642863838 + WORD $0x0062baa9; WORD $0x4bf1ff9f // .quad 5472436080603216553 + WORD $0xada6c9b5; WORD $0x9d71ac8f // .quad -7101705404292871755 + WORD $0x603db4aa; WORD $0x6f773fc3 // .quad 8031958568804398250 + WORD $0x99107c22; WORD $0xc4ce17b3 // .quad -4265445736938701790 + WORD $0x384d21d4; WORD $0xcb550fb4 // .quad -3795109844276665900 + WORD $0x7f549b2b; WORD $0xf6019da0 // .quad -720121152745989333 + WORD $0x46606a49; WORD $0x7e2a53a1 // .quad 9091170749936331337 + WORD $0x4f94e0fb; WORD $0x99c10284 // .quad -7367604748107325189 + WORD $0xcbfc426e; WORD $0x2eda7444 // .quad 3376138709496513134 + WORD $0x637a1939; WORD $0xc0314325 // .quad -4597819916706768583 + WORD $0xfefb5309; WORD $0xfa911155 // .quad -391512631556746487 + WORD $0xbc589f88; WORD $0xf03d93ee // .quad -1135588877456072824 + WORD $0x7eba27cb; WORD $0x793555ab // .quad 8733981247408842699 + WORD $0x35b763b5; WORD $0x96267c75 // .quad -7627272076051127371 + WORD $0x2f3458df; WORD $0x4bc1558b // .quad 5458738279630526687 + WORD $0x83253ca2; WORD $0xbbb01b92 // .quad -4922404076636521310 + WORD $0xfb016f17; WORD $0x9eb1aaed // .quad -7011635205744005353 + WORD $0x23ee8bcb; WORD $0xea9c2277 // .quad -1541319077368263733 + WORD $0x79c1cadd; WORD $0x465e15a9 // .quad 5070514048102157021 + WORD $0x7675175f; WORD $0x92a1958a // .quad -7880853450996246689 + WORD $0xec191eca; WORD $0x0bfacd89 // .quad 863228270850154186 + WORD $0x14125d36; WORD $0xb749faed // .quad -5239380795317920458 + WORD $0x671f667c; WORD $0xcef980ec // .quad -3532650679864695172 + WORD $0x5916f484; WORD $0xe51c79a8 // .quad -1937539975720012668 + WORD $0x80e7401b; WORD $0x82b7e127 // .quad -9027499368258256869 + WORD $0x37ae58d2; WORD $0x8f31cc09 // .quad -8128491512466089774 + WORD $0xb0908811; WORD $0xd1b2ecb8 // .quad -3336344095947716591 + WORD $0x8599ef07; WORD $0xb2fe3f0b // .quad -5548928372155224313 + WORD $0xdcb4aa16; WORD $0x861fa7e6 // .quad -8782116138362033642 + WORD $0x67006ac9; WORD $0xdfbdcece // .quad -2324474446766642487 + WORD $0x93e1d49b; WORD $0x67a791e0 // .quad 7469098900757009563 + WORD $0x006042bd; WORD $0x8bd6a141 // .quad -8370325556870233411 + WORD $0x5c6d24e1; WORD $0xe0c8bb2c // .quad -2249342214667950879 + WORD $0x4078536d; WORD $0xaecc4991 // .quad -5851220927660403859 + WORD $0x73886e19; WORD $0x58fae9f7 // .quad 6411694268519837209 + WORD $0x90966848; WORD $0xda7f5bf5 // .quad -2702340141148116920 + WORD $0x506a899f; WORD $0xaf39a475 // .quad -5820440219632367201 + WORD $0x7a5e012d; WORD $0x888f9979 // .quad -8606491615858654931 + WORD $0x52429604; WORD $0x6d8406c9 // .quad 7891439908798240260 + WORD $0xd8f58178; WORD $0xaab37fd7 // .quad -6146428501395930760 + WORD $0xa6d33b84; WORD $0xc8e5087b // .quad -3970758169284363388 + WORD $0xcf32e1d6; WORD $0xd5605fcd // .quad -3071349608317525546 + WORD $0x90880a65; WORD $0xfb1e4a9a // .quad -351761693178066331 + WORD $0xa17fcd26; WORD $0x855c3be0 // .quad -8837122532839535322 + WORD $0x9a550680; WORD $0x5cf2eea0 // .quad 6697677969404790400 + WORD $0xc9dfc06f; WORD $0xa6b34ad8 // .quad -6434717147622031249 + WORD $0xc0ea481f; WORD $0xf42faa48 // .quad -851274575098787809 + WORD $0xfc57b08b; WORD $0xd0601d8e // .quad -3431710416100151157 + WORD $0xf124da27; WORD $0xf13b94da // .quad -1064093218873484761 + WORD $0x5db6ce57; WORD $0x823c1279 // .quad -9062348037703676329 + WORD $0xd6b70859; WORD $0x76c53d08 // .quad 8558313775058847833 + WORD $0xb52481ed; WORD $0xa2cb1717 // .quad -6716249028702207507 + WORD $0x0c64ca6f; WORD $0x54768c4b // .quad 6086206200396171887 + WORD $0xa26da268; WORD $0xcb7ddcdd // .quad -3783625267450371480 + WORD $0xcf7dfd0a; WORD $0xa9942f5d // .quad -6227300304786948854 + WORD $0x0b090b02; WORD $0xfe5d5415 // .quad -117845565885576446 + WORD $0x435d7c4d; WORD $0xd3f93b35 // .quad -3172439362556298163 + WORD $0x26e5a6e1; WORD $0x9efa548d // .quad -6991182506319567135 + WORD $0x4a1a6db0; WORD $0xc47bc501 // .quad -4288617610811380304 + WORD $0x709f109a; WORD $0xc6b8e9b0 // .quad -4127292114472071014 + WORD $0x9ca1091c; WORD $0x359ab641 // .quad 3862600023340550428 + WORD $0x8cc6d4c0; WORD $0xf867241c // .quad -547429124662700864 + WORD $0x03c94b63; WORD $0xc30163d2 // .quad -4395122007679087773 + WORD $0xd7fc44f8; WORD $0x9b407691 // .quad -7259672230555269896 + WORD $0x425dcf1e; WORD $0x79e0de63 // .quad 8782263791269039902 + WORD $0x4dfb5636; WORD $0xc2109436 // .quad -4462904269766699466 + WORD $0x12f542e5; WORD $0x985915fc // .quad -7468914334623251739 + WORD $0xe17a2bc4; WORD $0xf294b943 // .quad -966944318780986428 + WORD $0x17b2939e; WORD $0x3e6f5b7b // .quad 4498915137003099038 + WORD $0x6cec5b5a; WORD $0x979cf3ca // .quad -7521869226879198374 + WORD $0xeecf9c43; WORD $0xa705992c // .quad -6411550076227838909 + WORD $0x08277231; WORD $0xbd8430bd // .quad -4790650515171610063 + WORD $0x2a838354; WORD $0x50c6ff78 // .quad 5820620459997365076 + WORD $0x4a314ebd; WORD $0xece53cec // .quad -1376627125537124675 + WORD $0x35246429; WORD $0xa4f8bf56 // .quad -6559282480285457367 + WORD $0xae5ed136; WORD $0x940f4613 // .quad -7777920981101784778 + WORD $0xe136be9a; WORD $0x871b7795 // .quad -8711237568605798758 + WORD $0x99f68584; WORD $0xb9131798 // .quad -5110715207949843068 + WORD $0x59846e40; WORD $0x28e2557b // .quad 2946011094524915264 + WORD $0xc07426e5; WORD $0xe757dd7e // .quad -1776707991509915931 + WORD $0x2fe589d0; WORD $0x331aeada // .quad 3682513868156144080 + WORD $0x3848984f; WORD $0x9096ea6f // .quad -8027971522334779313 + WORD $0x5def7622; WORD $0x3ff0d2c8 // .quad 4607414176811284002 + WORD $0x065abe63; WORD $0xb4bca50b // .quad -5423278384491086237 + WORD $0x756b53aa; WORD $0x0fed077a // .quad 1147581702586717098 + WORD $0xc7f16dfb; WORD $0xe1ebce4d // .quad -2167411962186469893 + WORD $0x12c62895; WORD $0xd3e84959 // .quad -3177208890193991531 + WORD $0x9cf6e4bd; WORD $0x8d3360f0 // .quad -8272161504007625539 + WORD $0xabbbd95d; WORD $0x64712dd7 // .quad 7237616480483531101 + WORD $0xc4349dec; WORD $0xb080392c // .quad -5728515861582144020 + WORD $0x96aacfb4; WORD $0xbd8d794d // .quad -4788037454677749836 + WORD $0xf541c567; WORD $0xdca04777 // .quad -2548958808550292121 + WORD $0xfc5583a1; WORD $0xecf0d7a0 // .quad -1373360799919799391 + WORD $0xf9491b60; WORD $0x89e42caa // .quad -8510628282985014432 + WORD $0x9db57245; WORD $0xf41686c4 // .quad -858350499949874619 + WORD $0xb79b6239; WORD $0xac5d37d5 // .quad -6026599335303880135 + WORD $0xc522ced6; WORD $0x311c2875 // .quad 3538747893490044630 + WORD $0x25823ac7; WORD $0xd77485cb // .quad -2921563150702462265 + WORD $0x366b828c; WORD $0x7d633293 // .quad 9035120885289943692 + WORD $0xf77164bc; WORD $0x86a8d39e // .quad -8743505996830120772 + WORD $0x02033198; WORD $0xae5dff9c // .quad -5882264492762254952 + WORD $0xb54dbdeb; WORD $0xa8530886 // .quad -6317696477610263061 + WORD $0x0283fdfd; WORD $0xd9f57f83 // .quad -2741144597525430787 + WORD $0x62a12d66; WORD $0xd267caa8 // .quad -3285434578585440922 + WORD $0xc324fd7c; WORD $0xd072df63 // .quad -3426430746906788484 + WORD $0x3da4bc60; WORD $0x8380dea9 // .quad -8970925639256982432 + WORD $0x59f71e6e; WORD $0x4247cb9e // .quad 4776009810824339054 + WORD $0x8d0deb78; WORD $0xa4611653 // .quad -6601971030643840136 + WORD $0xf074e609; WORD $0x52d9be85 // .quad 5970012263530423817 + WORD $0x70516656; WORD $0xcd795be8 // .quad -3640777769877412266 + WORD $0x6c921f8c; WORD $0x67902e27 // .quad 7462515329413029772 + WORD $0x4632dff6; WORD $0x806bd971 // .quad -9193015133814464522 + WORD $0xa3db53b7; WORD $0x00ba1cd8 // .quad 52386062455755703 + WORD $0x97bf97f3; WORD $0xa086cfcd // .quad -6879582898840692749 + WORD $0xccd228a5; WORD $0x80e8a40e // .quad -9157889458785081179 + WORD $0xfdaf7df0; WORD $0xc8a883c0 // .quad -3987792605123478032 + WORD $0x8006b2ce; WORD $0x6122cd12 // .quad 6999382250228200142 + WORD $0x3d1b5d6c; WORD $0xfad2a4b1 // .quad -373054737976959636 + WORD $0x20085f82; WORD $0x796b8057 // .quad 8749227812785250178 + WORD $0xc6311a63; WORD $0x9cc3a6ee // .quad -7150688238876681629 + WORD $0x74053bb1; WORD $0xcbe33036 // .quad -3755104653863994447 + WORD $0x77bd60fc; WORD $0xc3f490aa // .quad -4326674280168464132 + WORD $0x11068a9d; WORD $0xbedbfc44 // .quad -4693880817329993059 + WORD $0x15acb93b; WORD $0xf4f1b4d5 // .quad -796656831783192261 + WORD $0x15482d45; WORD $0xee92fb55 // .quad -1255665003235103419 + WORD $0x2d8bf3c5; WORD $0x99171105 // .quad -7415439547505577019 + WORD $0x2d4d1c4b; WORD $0x751bdd15 // .quad 8438581409832836171 + WORD $0x78eef0b6; WORD $0xbf5cd546 // .quad -4657613415954583370 + WORD $0x78a0635e; WORD $0xd262d45a // .quad -3286831292991118498 + WORD $0x172aace4; WORD $0xef340a98 // .quad -1210330751515841308 + WORD $0x16c87c35; WORD $0x86fb8971 // .quad -8720225134666286027 + WORD $0x0e7aac0e; WORD $0x9580869f // .quad -7673985747338482674 + WORD $0xae3d4da1; WORD $0xd45d35e6 // .quad -3144297699952734815 + WORD $0xd2195712; WORD $0xbae0a846 // .quad -4980796165745715438 + WORD $0x59cca10a; WORD $0x89748360 // .quad -8542058143368306422 + WORD $0x869facd7; WORD $0xe998d258 // .quad -1614309188754756393 + WORD $0x703fc94c; WORD $0x2bd1a438 // .quad 3157485376071780684 + WORD $0x5423cc06; WORD $0x91ff8377 // .quad -7926472270612804602 + WORD $0x4627ddd0; WORD $0x7b6306a3 // .quad 8890957387685944784 + WORD $0x292cbf08; WORD $0xb67f6455 // .quad -5296404319838617848 + WORD $0x17b1d543; WORD $0x1a3bc84c // .quad 1890324697752655171 + WORD $0x7377eeca; WORD $0xe41f3d6a // .quad -2008819381370884406 + WORD $0x1d9e4a94; WORD $0x20caba5f // .quad 2362905872190818964 + WORD $0x882af53e; WORD $0x8e938662 // .quad -8173041140997884610 + WORD $0x7282ee9d; WORD $0x547eb47b // .quad 6088502188546649757 + WORD $0x2a35b28d; WORD $0xb23867fb // .quad -5604615407819967859 + WORD $0x4f23aa44; WORD $0xe99e619a // .quad -1612744301171463612 + WORD $0xf4c31f31; WORD $0xdec681f9 // .quad -2394083241347571919 + WORD $0xe2ec94d5; WORD $0x6405fa00 // .quad 7207441660390446293 + WORD $0x38f9f37e; WORD $0x8b3c113c // .quad -8413831053483314306 + WORD $0x8dd3dd05; WORD $0xde83bc40 // .quad -2412877989897052923 + WORD $0x4738705e; WORD $0xae0b158b // .quad -5905602798426754978 + WORD $0xb148d446; WORD $0x9624ab50 // .quad -7627783505798704058 + WORD $0x19068c76; WORD $0xd98ddaee // .quad -2770317479606055818 + WORD $0xdd9b0958; WORD $0x3badd624 // .quad 4300328673033783640 + WORD $0xcfa417c9; WORD $0x87f8a8d4 // .quad -8648977452394866743 + WORD $0x0a80e5d7; WORD $0xe54ca5d7 // .quad -1923980597781273129 + WORD $0x038d1dbc; WORD $0xa9f6d30a // .quad -6199535797066195524 + WORD $0xcd211f4d; WORD $0x5e9fcf4c // .quad 6818396289628184397 + WORD $0x8470652b; WORD $0xd47487cc // .quad -3137733727905356501 + WORD $0x00696720; WORD $0x7647c320 // .quad 8522995362035230496 + WORD $0xd2c63f3b; WORD $0x84c8d4df // .quad -8878612607581929669 + WORD $0x0041e074; WORD $0x29ecd9f4 // .quad 3021029092058325108 + WORD $0xc777cf09; WORD $0xa5fb0a17 // .quad -6486579741050024183 + WORD $0x00525891; WORD $0xf4681071 // .quad -835399653354481519 + WORD $0xb955c2cc; WORD $0xcf79cc9d // .quad -3496538657885142324 + WORD $0x4066eeb5; WORD $0x7182148d // .quad 8179122470161673909 + WORD $0x93d599bf; WORD $0x81ac1fe2 // .quad -9102865688819295809 + WORD $0x48405531; WORD $0xc6f14cd8 // .quad -4111420493003729615 + WORD $0x38cb002f; WORD $0xa21727db // .quad -6766896092596731857 + WORD $0x5a506a7d; WORD $0xb8ada00e // .quad -5139275616254662019 + WORD $0x06fdc03b; WORD $0xca9cf1d2 // .quad -3846934097318526917 + WORD $0xf0e4851d; WORD $0xa6d90811 // .quad -6424094520318327523 + WORD $0x88bd304a; WORD $0xfd442e46 // .quad -196981603220770742 + WORD $0x6d1da664; WORD $0x908f4a16 // .quad -8030118150397909404 + WORD $0x15763e2e; WORD $0x9e4a9cec // .quad -7040642529654063570 + WORD $0x043287ff; WORD $0x9a598e4e // .quad -7324666853212387329 + WORD $0x1ad3cdba; WORD $0xc5dd4427 // .quad -4189117143640191558 + WORD $0x853f29fe; WORD $0x40eff1e1 // .quad 4679224488766679550 + WORD $0xe188c128; WORD $0xf7549530 // .quad -624710411122851544 + WORD $0xe68ef47d; WORD $0xd12bee59 // .quad -3374341425896426371 + WORD $0x8cf578b9; WORD $0x9a94dd3e // .quad -7307973034592864071 + WORD $0x301958cf; WORD $0x82bb74f8 // .quad -9026492418826348337 + WORD $0x3032d6e7; WORD $0xc13a148e // .quad -4523280274813692185 + WORD $0x3c1faf02; WORD $0xe36a5236 // .quad -2059743486678159614 + WORD $0xbc3f8ca1; WORD $0xf18899b1 // .quad -1042414325089727327 + WORD $0xcb279ac2; WORD $0xdc44e6c3 // .quad -2574679358347699518 + WORD $0x15a7b7e5; WORD $0x96f5600f // .quad -7569037980822161435 + WORD $0x5ef8c0ba; WORD $0x29ab103a // .quad 3002511419460075706 + WORD $0xdb11a5de; WORD $0xbcb2b812 // .quad -4849611457600313890 + WORD $0xf6b6f0e8; WORD $0x7415d448 // .quad 8364825292752482536 + WORD $0x91d60f56; WORD $0xebdf6617 // .quad -1450328303573004458 + WORD $0x3464ad22; WORD $0x111b495b // .quad 1232659579085827362 + WORD $0xbb25c995; WORD $0x936b9fce // .quad -7823984217374209643 + WORD $0x00beec35; WORD $0xcab10dd9 // .quad -3841273781498745803 + WORD $0x69ef3bfb; WORD $0xb84687c2 // .quad -5168294253290374149 + WORD $0x40eea743; WORD $0x3d5d514f // .quad 4421779809981343555 + WORD $0x046b0afa; WORD $0xe65829b3 // .quad -1848681798185579782 + WORD $0x112a5113; WORD $0x0cb4a5a3 // .quad 915538744049291539 + WORD $0xe2c2e6dc; WORD $0x8ff71a0f // .quad -8072955151507069220 + WORD $0xeaba72ac; WORD $0x47f0e785 // .quad 5183897733458195116 + WORD $0xdb73a093; WORD $0xb3f4e093 // .quad -5479507920956448621 + WORD $0x65690f57; WORD $0x59ed2167 // .quad 6479872166822743895 + WORD $0xd25088b8; WORD $0xe0f218b8 // .quad -2237698882768172872 + WORD $0x3ec3532d; WORD $0x306869c1 // .quad 3488154190101041965 + WORD $0x83725573; WORD $0x8c974f73 // .quad -8316090829371189901 + WORD $0xc73a13fc; WORD $0x1e414218 // .quad 2180096368813151228 + WORD $0x644eeacf; WORD $0xafbd2350 // .quad -5783427518286599473 + WORD $0xf90898fb; WORD $0xe5d1929e // .quad -1886565557410948869 + WORD $0x7d62a583; WORD $0xdbac6c24 // .quad -2617598379430861437 + WORD $0xb74abf3a; WORD $0xdf45f746 // .quad -2358206946763686086 + WORD $0xce5da772; WORD $0x894bc396 // .quad -8553528014785370254 + WORD $0x328eb784; WORD $0x6b8bba8c // .quad 7749492695127472004 + WORD $0x81f5114f; WORD $0xab9eb47c // .quad -6080224000054324913 + WORD $0x3f326565; WORD $0x066ea92f // .quad 463493832054564197 + WORD $0xa27255a2; WORD $0xd686619b // .quad -2988593981640518238 + WORD $0x0efefebe; WORD $0xc80a537b // .quad -4032318728359182658 + WORD $0x45877585; WORD $0x8613fd01 // .quad -8785400266166405755 + WORD $0xe95f5f37; WORD $0xbd06742c // .quad -4826042214438183113 + WORD $0x96e952e7; WORD $0xa798fc41 // .quad -6370064314280619289 + WORD $0x23b73705; WORD $0x2c481138 // .quad 3190819268807046917 + WORD $0xfca3a7a0; WORD $0xd17f3b51 // .quad -3350894374423386208 + WORD $0x2ca504c6; WORD $0xf75a1586 // .quad -623161932418579258 + WORD $0x3de648c4; WORD $0x82ef8513 // .quad -9011838011655698236 + WORD $0xdbe722fc; WORD $0x9a984d73 // .quad -7307005235402693892 + WORD $0x0d5fdaf5; WORD $0xa3ab6658 // .quad -6653111496142234891 + WORD $0xd2e0ebbb; WORD $0xc13e60d0 // .quad -4522070525825979461 + WORD $0x10b7d1b3; WORD $0xcc963fee // .quad -3704703351750405709 + WORD $0x079926a9; WORD $0x318df905 // .quad 3570783879572301481 + WORD $0x94e5c61f; WORD $0xffbbcfe9 // .quad -19193171260619233 + WORD $0x497f7053; WORD $0xfdf17746 // .quad -148206168962011053 + WORD $0xfd0f9bd3; WORD $0x9fd561f1 // .quad -6929524759678968877 + WORD $0xedefa634; WORD $0xfeb6ea8b // .quad -92628855601256908 + WORD $0x7c5382c8; WORD $0xc7caba6e // .quad -4050219931171323192 + WORD $0xe96b8fc1; WORD $0xfe64a52e // .quad -115786069501571135 + WORD $0x1b68637b; WORD $0xf9bd690a // .quad -451088895536766085 + WORD $0xa3c673b1; WORD $0x3dfdce7a // .quad 4466953431550423985 + WORD $0x51213e2d; WORD $0x9c1661a6 // .quad -7199459587351560659 + WORD $0xa65c084f; WORD $0x06bea10c // .quad 486002885505321039 + WORD $0xe5698db8; WORD $0xc31bfa0f // .quad -4387638465762062920 + WORD $0xcff30a63; WORD $0x486e494f // .quad 5219189625309039203 + WORD $0xdec3f126; WORD $0xf3e2f893 // .quad -872862063775190746 + WORD $0xc3efccfb; WORD $0x5a89dba3 // .quad 6523987031636299003 + WORD $0x6b3a76b7; WORD $0x986ddb5c // .quad -7463067817500576073 + WORD $0x5a75e01d; WORD $0xf8962946 // .quad -534194123654701027 + WORD $0x86091465; WORD $0xbe895233 // .quad -4717148753448332187 + WORD $0xf1135824; WORD $0xf6bbb397 // .quad -667742654568376284 + WORD $0x678b597f; WORD $0xee2ba6c0 // .quad -1284749923383027329 + WORD $0xed582e2d; WORD $0x746aa07d // .quad 8388693718644305453 + WORD $0x40b717ef; WORD $0x94db4838 // .quad -7720497729755473937 + WORD $0xb4571cdd; WORD $0xa8c2a44e // .quad -6286281471915778851 + WORD $0x50e4ddeb; WORD $0xba121a46 // .quad -5038936143766954517 + WORD $0x616ce414; WORD $0x92f34d62 // .quad -7857851839894723564 + WORD $0xe51e1566; WORD $0xe896a0d7 // .quad -1686984161281305242 + WORD $0xf9c81d18; WORD $0x77b020ba // .quad 8624429273841147160 + WORD $0xef32cd60; WORD $0x915e2486 // .quad -7971894128441897632 + WORD $0xdc1d122f; WORD $0x0ace1474 // .quad 778582277723329071 + WORD $0xaaff80b8; WORD $0xb5b5ada8 // .quad -5353181642124984136 + WORD $0x132456bb; WORD $0x0d819992 // .quad 973227847154161339 + WORD $0xd5bf60e6; WORD $0xe3231912 // .quad -2079791034228842266 + WORD $0x97ed6c6a; WORD $0x10e1fff6 // .quad 1216534808942701674 + WORD $0xc5979c8f; WORD $0x8df5efab // .quad -8217398424034108273 + WORD $0x1ef463c2; WORD $0xca8d3ffa // .quad -3851351762838199358 + WORD $0xb6fd83b3; WORD $0xb1736b96 // .quad -5660062011615247437 + WORD $0xa6b17cb3; WORD $0xbd308ff8 // .quad -4814189703547749197 + WORD $0x64bce4a0; WORD $0xddd0467c // .quad -2463391496091671392 + WORD $0xd05ddbdf; WORD $0xac7cb3f6 // .quad -6017737129434686497 + WORD $0xbef60ee4; WORD $0x8aa22c0d // .quad -8457148712698376476 + WORD $0x423aa96c; WORD $0x6bcdf07a // .quad 7768129340171790700 + WORD $0x2eb3929d; WORD $0xad4ab711 // .quad -5959749872445582691 + WORD $0xd2c953c7; WORD $0x86c16c98 // .quad -8736582398494813241 + WORD $0x7a607744; WORD $0xd89d64d5 // .quad -2838001322129590460 + WORD $0x077ba8b8; WORD $0xe871c7bf // .quad -1697355961263740744 + WORD $0x6c7c4a8b; WORD $0x87625f05 // .quad -8691279853972075893 + WORD $0x64ad4973; WORD $0x11471cd7 // .quad 1244995533423855987 + WORD $0xc79b5d2d; WORD $0xa93af6c6 // .quad -6252413799037706963 + WORD $0x3dd89bd0; WORD $0xd598e40d // .quad -3055441601647567920 + WORD $0x79823479; WORD $0xd389b478 // .quad -3203831230369745799 + WORD $0x8d4ec2c4; WORD $0x4aff1d10 // .quad 5404070034795315908 + WORD $0x4bf160cb; WORD $0x843610cb // .quad -8919923546622172981 + WORD $0x585139bb; WORD $0xcedf722a // .quad -3539985255894009413 + WORD $0x1eedb8fe; WORD $0xa54394fe // .quad -6538218414850328322 + WORD $0xee658829; WORD $0xc2974eb4 // .quad -4424981569867511767 + WORD $0xa6a9273e; WORD $0xce947a3d // .quad -3561087000135522498 + WORD $0x29feea33; WORD $0x733d2262 // .quad 8303831092947774003 + WORD $0x8829b887; WORD $0x811ccc66 // .quad -9143208402725783417 + WORD $0x5a3f5260; WORD $0x0806357d // .quad 578208414664970848 + WORD $0x2a3426a8; WORD $0xa163ff80 // .quad -6817324484979841368 + WORD $0xb0cf26f8; WORD $0xca07c2dc // .quad -3888925500096174344 + WORD $0x34c13052; WORD $0xc9bcff60 // .quad -3909969587797413806 + WORD $0xdd02f0b6; WORD $0xfc89b393 // .quad -249470856692830026 + WORD $0x41f17c67; WORD $0xfc2c3f38 // .quad -275775966319379353 + WORD $0xd443ace3; WORD $0xbbac2078 // .quad -4923524589293425437 + WORD $0x2936edc0; WORD $0x9d9ba783 // .quad -7089889006590693952 + WORD $0x84aa4c0e; WORD $0xd54b944b // .quad -3077202868308390898 + WORD $0xf384a931; WORD $0xc5029163 // .quad -4250675239810979535 + WORD $0x65d4df12; WORD $0x0a9e795e // .quad 765182433041899282 + WORD $0xf065d37d; WORD $0xf64335bc // .quad -701658031336336515 + WORD $0xff4a16d6; WORD $0x4d4617b5 // .quad 5568164059729762006 + WORD $0x163fa42e; WORD $0x99ea0196 // .quad -7356065297226292178 + WORD $0xbf8e4e46; WORD $0x504bced1 // .quad 5785945546544795206 + WORD $0x9bcf8d39; WORD $0xc06481fb // .quad -4583395603105477319 + WORD $0x2f71e1d7; WORD $0xe45ec286 // .quad -1990940103673781801 + WORD $0x82c37088; WORD $0xf07da27a // .quad -1117558485454458744 + WORD $0xbb4e5a4d; WORD $0x5d767327 // .quad 6734696907262548557 + WORD $0x91ba2655; WORD $0x964e858c // .quad -7616003081050118571 + WORD $0xd510f870; WORD $0x3a6a07f8 // .quad 4209185567039092848 + WORD $0xb628afea; WORD $0xbbe226ef // .quad -4908317832885260310 + WORD $0x0a55368c; WORD $0x890489f7 // .quad -8573576096483297652 + WORD $0xa3b2dbe5; WORD $0xeadab0ab // .quad -1523711272679187483 + WORD $0xccea842f; WORD $0x2b45ac74 // .quad 3118087934678041647 + WORD $0x464fc96f; WORD $0x92c8ae6b // .quad -7869848573065574033 + WORD $0x0012929e; WORD $0x3b0b8bc9 // .quad 4254647968387469982 + WORD $0x17e3bbcb; WORD $0xb77ada06 // .quad -5225624697904579637 + WORD $0x40173745; WORD $0x09ce6ebb // .quad 706623942056949573 + WORD $0x9ddcaabd; WORD $0xe5599087 // .quad -1920344853953336643 + WORD $0x101d0516; WORD $0xcc420a6a // .quad -3728406090856200938 + WORD $0xc2a9eab6; WORD $0x8f57fa54 // .quad -8117744561361917258 + WORD $0x4a12232e; WORD $0x9fa94682 // .quad -6941939825212513490 + WORD $0xf3546564; WORD $0xb32df8e9 // .quad -5535494683275008668 + WORD $0xdc96abfa; WORD $0x47939822 // .quad 5157633273766521850 + WORD $0x70297ebd; WORD $0xdff97724 // .quad -2307682335666372931 + WORD $0x93bc56f8; WORD $0x59787e2b // .quad 6447041592208152312 + WORD $0xc619ef36; WORD $0x8bfbea76 // .quad -8359830487432564938 + WORD $0x3c55b65b; WORD $0x57eb4edb // .quad 6335244004343789147 + WORD $0x77a06b03; WORD $0xaefae514 // .quad -5838102090863318269 + WORD $0x0b6b23f2; WORD $0xede62292 // .quad -1304317031425039374 + WORD $0x958885c4; WORD $0xdab99e59 // .quad -2685941595151759932 + WORD $0x8e45ecee; WORD $0xe95fab36 // .quad -1630396289281299218 + WORD $0xfd75539b; WORD $0x88b402f7 // .quad -8596242524610931813 + WORD $0x18ebb415; WORD $0x11dbcb02 // .quad 1286845328412881941 + WORD $0xfcd2a881; WORD $0xaae103b5 // .quad -6133617137336276863 + WORD $0x9f26a11a; WORD $0xd652bdc2 // .quad -3003129357911285478 + WORD $0x7c0752a2; WORD $0xd59944a3 // .quad -3055335403242958174 + WORD $0x46f04960; WORD $0x4be76d33 // .quad 5469460339465668960 + WORD $0x2d8493a5; WORD $0x857fcae6 // .quad -8827113654667930715 + WORD $0x0c562ddc; WORD $0x6f70a440 // .quad 8030098730593431004 + WORD $0xb8e5b88e; WORD $0xa6dfbd9f // .quad -6422206049907525490 + WORD $0x0f6bb953; WORD $0xcb4ccd50 // .quad -3797434642040374957 + WORD $0xa71f26b2; WORD $0xd097ad07 // .quad -3416071543957018958 + WORD $0x1346a7a8; WORD $0x7e2000a4 // .quad 9088264752731695016 + WORD $0xc873782f; WORD $0x825ecc24 // .quad -9052573742614218705 + WORD $0x8c0c28c9; WORD $0x8ed40066 // .quad -8154892584824854327 + WORD $0xfa90563b; WORD $0xa2f67f2d // .quad -6704031159840385477 + WORD $0x2f0f32fb; WORD $0x72890080 // .quad 8253128342678483707 + WORD $0x79346bca; WORD $0xcbb41ef9 // .quad -3768352931373093942 + WORD $0x3ad2ffba; WORD $0x4f2b40a0 // .quad 5704724409920716730 + WORD $0xd78186bc; WORD $0xfea126b7 // .quad -98755145788979524 + WORD $0x4987bfa9; WORD $0xe2f610c8 // .quad -2092466524453879895 + WORD $0xe6b0f436; WORD $0x9f24b832 // .quad -6979250993759194058 + WORD $0x2df4d7ca; WORD $0x0dd9ca7d // .quad 998051431430019018 + WORD $0xa05d3143; WORD $0xc6ede63f // .quad -4112377723771604669 + WORD $0x79720dbc; WORD $0x91503d1c // .quad -7975807747567252036 + WORD $0x88747d94; WORD $0xf8a95fcf // .quad -528786136287117932 + WORD $0x97ce912b; WORD $0x75a44c63 // .quad 8476984389250486571 + WORD $0xb548ce7c; WORD $0x9b69dbe1 // .quad -7248020362820530564 + WORD $0x3ee11abb; WORD $0xc986afbe // .quad -3925256793573221701 + WORD $0x229b021b; WORD $0xc24452da // .quad -4448339435098275301 + WORD $0xce996169; WORD $0xfbe85bad // .quad -294884973539139223 + WORD $0xab41c2a2; WORD $0xf2d56790 // .quad -948738275445456222 + WORD $0x423fb9c4; WORD $0xfae27299 // .quad -368606216923924028 + WORD $0x6b0919a5; WORD $0x97c560ba // .quad -7510490449794491995 + WORD $0xc967d41b; WORD $0xdccd879f // .quad -2536221894791146469 + WORD $0x05cb600f; WORD $0xbdb6b8e9 // .quad -4776427043815727089 + WORD $0xbbc1c921; WORD $0x5400e987 // .quad 6053094668365842721 + WORD $0x473e3813; WORD $0xed246723 // .quad -1358847786342270957 + WORD $0xaab23b69; WORD $0x290123e9 // .quad 2954682317029915497 + WORD $0x0c86e30b; WORD $0x9436c076 // .quad -7766808894105001205 + WORD $0x0aaf6522; WORD $0xf9a0b672 // .quad -459166561069996766 + WORD $0x8fa89bce; WORD $0xb9447093 // .quad -5096825099203863602 + WORD $0x8d5b3e6a; WORD $0xf808e40e // .quad -573958201337495958 + WORD $0x7392c2c2; WORD $0xe7958cb8 // .quad -1759345355577441598 + WORD $0x30b20e05; WORD $0xb60b1d12 // .quad -5329133770099257851 + WORD $0x483bb9b9; WORD $0x90bd77f3 // .quad -8017119874876982855 + WORD $0x5e6f48c3; WORD $0xb1c6f22b // .quad -5636551615525730109 + WORD $0x1a4aa828; WORD $0xb4ecd5f0 // .quad -5409713825168840664 + WORD $0x360b1af4; WORD $0x1e38aeb6 // .quad 2177682517447613172 + WORD $0x20dd5232; WORD $0xe2280b6c // .quad -2150456263033662926 + WORD $0xc38de1b1; WORD $0x25c6da63 // .quad 2722103146809516465 + WORD $0x948a535f; WORD $0x8d590723 // .quad -8261564192037121185 + WORD $0x5a38ad0f; WORD $0x579c487e // .quad 6313000485183335695 + WORD $0x79ace837; WORD $0xb0af48ec // .quad -5715269221619013577 + WORD $0xf0c6d852; WORD $0x2d835a9d // .quad 3279564588051781714 + WORD $0x98182244; WORD $0xdcdb1b27 // .quad -2532400508596379068 + WORD $0x6cf88e66; WORD $0xf8e43145 // .quad -512230283362660762 + WORD $0xbf0f156b; WORD $0x8a08f0f8 // .quad -8500279345513818773 + WORD $0x641b5900; WORD $0x1b8e9ecb // .quad 1985699082112030976 + WORD $0xeed2dac5; WORD $0xac8b2d36 // .quad -6013663163464885563 + WORD $0x3d222f40; WORD $0xe272467e // .quad -2129562165787349184 + WORD $0xaa879177; WORD $0xd7adf884 // .quad -2905392935903719049 + WORD $0xcc6abb10; WORD $0x5b0ed81d // .quad 6561419329620589328 + WORD $0xea94baea; WORD $0x86ccbb52 // .quad -8733399612580906262 + WORD $0x9fc2b4ea; WORD $0x98e94712 // .quad -7428327965055601430 + WORD $0xa539e9a5; WORD $0xa87fea27 // .quad -6305063497298744923 + WORD $0x47b36225; WORD $0x3f2398d7 // .quad 4549648098962661925 + WORD $0x8e88640e; WORD $0xd29fe4b1 // .quad -3269643353196043250 + WORD $0x19a03aae; WORD $0x8eec7f0d // .quad -8147997931578836306 + WORD $0xf9153e89; WORD $0x83a3eeee // .quad -8961056123388608887 + WORD $0x300424ad; WORD $0x1953cf68 // .quad 1825030320404309165 + WORD $0xb75a8e2b; WORD $0xa48ceaaa // .quad -6589634135808373205 + WORD $0x3c052dd8; WORD $0x5fa8c342 // .quad 6892973918932774360 + WORD $0x653131b6; WORD $0xcdb02555 // .quad -3625356651333078602 + WORD $0xcb06794e; WORD $0x3792f412 // .quad 4004531380238580046 + WORD $0x5f3ebf11; WORD $0x808e1755 // .quad -9183376934724255983 + WORD $0xbee40bd1; WORD $0xe2bbd88b // .quad -2108853905778275375 + WORD $0xb70e6ed6; WORD $0xa0b19d2a // .quad -6867535149977932074 + WORD $0xae9d0ec5; WORD $0x5b6aceae // .quad 6587304654631931589 + WORD $0x64d20a8b; WORD $0xc8de0475 // .quad -3972732919045027189 + WORD $0x5a445276; WORD $0xf245825a // .quad -989241218564861322 + WORD $0xbe068d2e; WORD $0xfb158592 // .quad -354230130378896082 + WORD $0xf0d56713; WORD $0xeed6e2f0 // .quad -1236551523206076653 + WORD $0xb6c4183d; WORD $0x9ced737b // .quad -7138922859127891907 + WORD $0x9685606c; WORD $0x55464dd6 // .quad 6144684325637283948 + WORD $0xa4751e4c; WORD $0xc428d05a // .quad -4311967555482476980 + WORD $0x3c26b887; WORD $0xaa97e14c // .quad -6154202648235558777 + WORD $0x4d9265df; WORD $0xf5330471 // .quad -778273425925708321 + WORD $0x4b3066a9; WORD $0xd53dd99f // .quad -3081067291867060567 + WORD $0xd07b7fab; WORD $0x993fe2c6 // .quad -7403949918844649557 + WORD $0x8efe402a; WORD $0xe546a803 // .quad -1925667057416912854 + WORD $0x849a5f96; WORD $0xbf8fdb78 // .quad -4643251380128424042 + WORD $0x72bdd034; WORD $0xde985204 // .quad -2407083821771141068 + WORD $0xa5c0f77c; WORD $0xef73d256 // .quad -1192378206733142148 + WORD $0x8f6d4441; WORD $0x963e6685 // .quad -7620540795641314239 + WORD $0x27989aad; WORD $0x95a86376 // .quad -7662765406849295699 + WORD $0x79a44aa9; WORD $0xdde70013 // .quad -2456994988062127447 + WORD $0xb17ec159; WORD $0xbb127c53 // .quad -4966770740134231719 + WORD $0x580d5d53; WORD $0x5560c018 // .quad 6152128301777116499 + WORD $0x9dde71af; WORD $0xe9d71b68 // .quad -1596777406740401745 + WORD $0x6e10b4a7; WORD $0xaab8f01e // .quad -6144897678060768089 + WORD $0x62ab070d; WORD $0x92267121 // .quad -7915514906853832947 + WORD $0x04ca70e9; WORD $0xcab39613 // .quad -3840561048787980055 + WORD $0xbb55c8d1; WORD $0xb6b00d69 // .quad -5282707615139903279 + WORD $0xc5fd0d23; WORD $0x3d607b97 // .quad 4422670725869800739 + WORD $0x2a2b3b05; WORD $0xe45c10c4 // .quad -1991698500497491195 + WORD $0xb77c506b; WORD $0x8cb89a7d // .quad -8306719647944912789 + WORD $0x9a5b04e3; WORD $0x8eb98a7a // .quad -8162340590452013853 + WORD $0x92adb243; WORD $0x77f3608e // .quad 8643358275316593219 + WORD $0x40f1c61c; WORD $0xb267ed19 // .quad -5591239719637629412 + WORD $0x37591ed4; WORD $0x55f038b2 // .quad 6192511825718353620 + WORD $0x912e37a3; WORD $0xdf01e85f // .quad -2377363631119648861 + WORD $0xc52f6689; WORD $0x6b6c46de // .quad 7740639782147942025 + WORD $0xbabce2c6; WORD $0x8b61313b // .quad -8403381297090862394 + WORD $0x3b3da016; WORD $0x2323ac4b // .quad 2532056854628769814 + WORD $0xa96c1b77; WORD $0xae397d8a // .quad -5892540602936190089 + WORD $0x0a0d081b; WORD $0xabec975e // .quad -6058300968568813541 + WORD $0x53c72255; WORD $0xd9c7dced // .quad -2753989735242849707 + WORD $0x8c904a22; WORD $0x96e7bd35 // .quad -7572876210711016926 + WORD $0x545c7575; WORD $0x881cea14 // .quad -8638772612167862923 + WORD $0x77da2e55; WORD $0x7e50d641 // .quad 9102010423587778133 + WORD $0x697392d2; WORD $0xaa242499 // .quad -6186779746782440750 + WORD $0xd5d0b9ea; WORD $0xdde50bd1 // .quad -2457545025797441046 + WORD $0xc3d07787; WORD $0xd4ad2dbf // .quad -3121788665050663033 + WORD $0x4b44e865; WORD $0x955e4ec6 // .quad -7683617300674189211 + WORD $0xda624ab4; WORD $0x84ec3c97 // .quad -8868646943297746252 + WORD $0xef0b113f; WORD $0xbd5af13b // .quad -4802260812921368257 + WORD $0xd0fadd61; WORD $0xa6274bbd // .quad -6474122660694794911 + WORD $0xeacdd58f; WORD $0xecb1ad8a // .quad -1391139997724322417 + WORD $0x453994ba; WORD $0xcfb11ead // .quad -3480967307441105734 + WORD $0xa5814af3; WORD $0x67de18ed // .quad 7484447039699372787 + WORD $0x4b43fcf4; WORD $0x81ceb32c // .quad -9093133594791772940 + WORD $0x8770ced8; WORD $0x80eacf94 // .quad -9157278655470055720 + WORD $0x5e14fc31; WORD $0xa2425ff7 // .quad -6754730975062328271 + WORD $0xa94d028e; WORD $0xa1258379 // .quad -6834912300910181746 + WORD $0x359a3b3e; WORD $0xcad2f7f5 // .quad -3831727700400522434 + WORD $0x13a04331; WORD $0x096ee458 // .quad 679731660717048625 + WORD $0x8300ca0d; WORD $0xfd87b5f2 // .quad -177973607073265139 + WORD $0x188853fd; WORD $0x8bca9d6e // .quad -8373707460958465027 + WORD $0x91e07e48; WORD $0x9e74d1b7 // .quad -7028762532061872568 + WORD $0xcf55347e; WORD $0x775ea264 // .quad 8601490892183123070 + WORD $0x76589dda; WORD $0xc6120625 // .quad -4174267146649952806 + WORD $0x032a819e; WORD $0x95364afe // .quad -7694880458480647778 + WORD $0xd3eec551; WORD $0xf79687ae // .quad -606147914885053103 + WORD $0x83f52205; WORD $0x3a83ddbd // .quad 4216457482181353989 + WORD $0x44753b52; WORD $0x9abe14cd // .quad -7296371474444240046 + WORD $0x72793543; WORD $0xc4926a96 // .quad -4282243101277735613 + WORD $0x95928a27; WORD $0xc16d9a00 // .quad -4508778324627912153 + WORD $0x0f178294; WORD $0x75b7053c // .quad 8482254178684994196 + WORD $0xbaf72cb1; WORD $0xf1c90080 // .quad -1024286887357502287 + WORD $0x12dd6339; WORD $0x5324c68b // .quad 5991131704928854841 + WORD $0x74da7bee; WORD $0x971da050 // .quad -7557708332239520786 + WORD $0xebca5e04; WORD $0xd3f6fc16 // .quad -3173071712060547580 + WORD $0x92111aea; WORD $0xbce50864 // .quad -4835449396872013078 + WORD $0xa6bcf585; WORD $0x88f4bb1c // .quad -8578025658503072379 + WORD $0xb69561a5; WORD $0xec1e4a7d // .quad -1432625727662628443 + WORD $0xd06c32e6; WORD $0x2b31e9e3 // .quad 3112525982153323238 + WORD $0x921d5d07; WORD $0x9392ee8e // .quad -7812920107430224633 + WORD $0x62439fd0; WORD $0x3aff322e // .quad 4251171748059520976 + WORD $0x36a4b449; WORD $0xb877aa32 // .quad -5154464115860392887 + WORD $0xfad487c3; WORD $0x09befeb9 // .quad 702278666647013315 + WORD $0xc44de15b; WORD $0xe69594be // .quad -1831394126398103205 + WORD $0x7989a9b4; WORD $0x4c2ebe68 // .quad 5489534351736154548 + WORD $0x3ab0acd9; WORD $0x901d7cf7 // .quad -8062150356639896359 + WORD $0x4bf60a11; WORD $0x0f9d3701 // .quad 1125115960621402641 + WORD $0x095cd80f; WORD $0xb424dc35 // .quad -5466001927372482545 + WORD $0x9ef38c95; WORD $0x538484c1 // .quad 6018080969204141205 + WORD $0x4bb40e13; WORD $0xe12e1342 // .quad -2220816390788215277 + WORD $0x06b06fba; WORD $0x2865a5f2 // .quad 2910915193077788602 + WORD $0x6f5088cb; WORD $0x8cbccc09 // .quad -8305539271883716405 + WORD $0x442e45d4; WORD $0xf93f87b7 // .quad -486521013540076076 + WORD $0xcb24aafe; WORD $0xafebff0b // .quad -5770238071427257602 + WORD $0x1539d749; WORD $0xf78f69a5 // .quad -608151266925095095 + WORD $0xbdedd5be; WORD $0xdbe6fece // .quad -2601111570856684098 + WORD $0x5a884d1c; WORD $0xb573440e // .quad -5371875102083756772 + WORD $0x36b4a597; WORD $0x89705f41 // .quad -8543223759426509417 + WORD $0xf8953031; WORD $0x31680a88 // .quad 3560107088838733873 + WORD $0x8461cefc; WORD $0xabcc7711 // .quad -6067343680855748868 + WORD $0x36ba7c3e; WORD $0xfdc20d2b // .quad -161552157378970562 + WORD $0xe57a42bc; WORD $0xd6bf94d5 // .quad -2972493582642298180 + WORD $0x04691b4d; WORD $0x3d329076 // .quad 4409745821703674701 + WORD $0xaf6c69b5; WORD $0x8637bd05 // .quad -8775337516792518219 + WORD $0xc2c1b110; WORD $0xa63f9a49 // .quad -6467280898289979120 + WORD $0x1b478423; WORD $0xa7c5ac47 // .quad -6357485877563259869 + WORD $0x33721d54; WORD $0x0fcf80dc // .quad 1139270913992301908 + WORD $0xe219652b; WORD $0xd1b71758 // .quad -3335171328526686933 + WORD $0x404ea4a9; WORD $0xd3c36113 // .quad -3187597375937010519 + WORD $0x8d4fdf3b; WORD $0x83126e97 // .quad -9002011107970261189 + WORD $0x083126ea; WORD $0x645a1cac // .quad 7231123676894144234 + WORD $0x70a3d70a; WORD $0xa3d70a3d // .quad -6640827866535438582 + WORD $0x0a3d70a4; WORD $0x3d70a3d7 // .quad 4427218577690292388 + WORD $0xcccccccc; WORD $0xcccccccc // .quad -3689348814741910324 + WORD $0xcccccccd; WORD $0xcccccccc // .quad -3689348814741910323 + WORD $0x00000000; WORD $0x80000000 // .quad -9223372036854775808 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xa0000000 // .quad -6917529027641081856 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xc8000000 // .quad -4035225266123964416 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xfa000000 // .quad -432345564227567616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x9c400000 // .quad -7187745005283311616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xc3500000 // .quad -4372995238176751616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xf4240000 // .quad -854558029293551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x98968000 // .quad -7451627795949551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xbebc2000 // .quad -4702848726509551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xee6b2800 // .quad -1266874889709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x9502f900 // .quad -7709325833709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xba43b740 // .quad -5024971273709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xe8d4a510 // .quad -1669528073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x9184e72a // .quad -7960984073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x80000000; WORD $0xb5e620f4 // .quad -5339544073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xa0000000; WORD $0xe35fa931 // .quad -2062744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x04000000; WORD $0x8e1bc9bf // .quad -8206744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xc5000000; WORD $0xb1a2bc2e // .quad -5646744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x76400000; WORD $0xde0b6b3a // .quad -2446744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x89e80000; WORD $0x8ac72304 // .quad -8446744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xac620000; WORD $0xad78ebc5 // .quad -5946744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x177a8000; WORD $0xd8d726b7 // .quad -2821744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x6eac9000; WORD $0x87867832 // .quad -8681119073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x0a57b400; WORD $0xa968163f // .quad -6239712823709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xcceda100; WORD $0xd3c21bce // .quad -3187955011209551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x401484a0; WORD $0x84595161 // .quad -8910000909647051616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x9019a5c8; WORD $0xa56fa5b9 // .quad -6525815118631426616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xf4200f3a; WORD $0xcecb8f27 // .quad -3545582879861895366 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xf8940984; WORD $0x813f3978 // .quad -9133518327554766460 + WORD $0x00000000; WORD $0x40000000 // .quad 4611686018427387904 + WORD $0x36b90be5; WORD $0xa18f07d7 // .quad -6805211891016070171 + WORD $0x00000000; WORD $0x50000000 // .quad 5764607523034234880 + WORD $0x04674ede; WORD $0xc9f2c9cd // .quad -3894828845342699810 + WORD $0x00000000; WORD $0xa4000000 // .quad -6629298651489370112 + WORD $0x45812296; WORD $0xfc6f7c40 // .quad -256850038250986858 + WORD $0x00000000; WORD $0x4d000000 // .quad 5548434740920451072 + WORD $0x2b70b59d; WORD $0x9dc5ada8 // .quad -7078060301547948643 + WORD $0x00000000; WORD $0xf0200000 // .quad -1143914305352105984 + WORD $0x364ce305; WORD $0xc5371912 // .quad -4235889358507547899 + WORD $0x00000000; WORD $0x6c280000 // .quad 7793479155164643328 + WORD $0xc3e01bc6; WORD $0xf684df56 // .quad -683175679707046970 + WORD $0x00000000; WORD $0xc7320000 // .quad -4093209111326359552 + WORD $0x3a6c115c; WORD $0x9a130b96 // .quad -7344513827457986212 + WORD $0x00000000; WORD $0x3c7f4000 // .quad 4359273333062107136 + WORD $0xc90715b3; WORD $0xc097ce7b // .quad -4568956265895094861 + WORD $0x00000000; WORD $0x4b9f1000 // .quad 5449091666327633920 + WORD $0xbb48db20; WORD $0xf0bdc21a // .quad -1099509313941480672 + WORD $0x00000000; WORD $0x1e86d400 // .quad 2199678564482154496 + WORD $0xb50d88f4; WORD $0x96769950 // .quad -7604722348854507276 + WORD $0x00000000; WORD $0x13144480 // .quad 1374799102801346560 + WORD $0xe250eb31; WORD $0xbc143fa4 // .quad -4894216917640746191 + WORD $0x00000000; WORD $0x17d955a0 // .quad 1718498878501683200 + WORD $0x1ae525fd; WORD $0xeb194f8e // .quad -1506085128623544835 + WORD $0x00000000; WORD $0x5dcfab08 // .quad 6759809616554491904 + WORD $0xd0cf37be; WORD $0x92efd1b8 // .quad -7858832233030797378 + WORD $0x00000000; WORD $0x5aa1cae5 // .quad 6530724019560251392 + WORD $0x050305ad; WORD $0xb7abc627 // .quad -5211854272861108819 + WORD $0x40000000; WORD $0xf14a3d9e // .quad -1059967012404461568 + WORD $0xc643c719; WORD $0xe596b7b0 // .quad -1903131822648998119 + WORD $0xd0000000; WORD $0x6d9ccd05 // .quad 7898413271349198848 + WORD $0x7bea5c6f; WORD $0x8f7e32ce // .quad -8106986416796705681 + WORD $0xa2000000; WORD $0xe4820023 // .quad -1981020733047832576 + WORD $0x1ae4f38b; WORD $0xb35dbf82 // .quad -5522047002568494197 + WORD $0x8a800000; WORD $0xdda2802c // .quad -2476275916309790720 + WORD $0xa19e306e; WORD $0xe0352f62 // .quad -2290872734783229842 + WORD $0xad200000; WORD $0xd50b2037 // .quad -3095344895387238400 + WORD $0xa502de45; WORD $0x8c213d9d // .quad -8349324486880600507 + WORD $0xcc340000; WORD $0x4526f422 // .quad 4982938468024057856 + WORD $0x0e4395d6; WORD $0xaf298d05 // .quad -5824969590173362730 + WORD $0x7f410000; WORD $0x9670b12b // .quad -7606384970252091392 + WORD $0x51d47b4c; WORD $0xdaf3f046 // .quad -2669525969289315508 + WORD $0x5f114000; WORD $0x3c0cdd76 // .quad 4327076842467049472 + WORD $0xf324cd0f; WORD $0x88d8762b // .quad -8585982758446904049 + WORD $0xfb6ac800; WORD $0xa5880a69 // .quad -6518949010312869888 + WORD $0xefee0053; WORD $0xab0e93b6 // .quad -6120792429631242157 + WORD $0x7a457a00; WORD $0x8eea0d04 // .quad -8148686262891087360 + WORD $0xabe98068; WORD $0xd5d238a4 // .quad -3039304518611664792 + WORD $0x98d6d880; WORD $0x72a49045 // .quad 8260886245095692416 + WORD $0xeb71f041; WORD $0x85a36366 // .quad -8817094351773372351 + WORD $0x7f864750; WORD $0x47a6da2b // .quad 5163053903184807760 + WORD $0xa64e6c51; WORD $0xa70c3c40 // .quad -6409681921289327535 + WORD $0x5f67d924; WORD $0x999090b6 // .quad -7381240676301154012 + WORD $0xcfe20765; WORD $0xd0cf4b50 // .quad -3400416383184271515 + WORD $0xf741cf6d; WORD $0xfff4b4e3 // .quad -3178808521666707 + WORD $0x81ed449f; WORD $0x82818f12 // .quad -9042789267131251553 + WORD $0x7a8921a5; WORD $0xbff8f10e // .quad -4613672773753429595 + WORD $0x226895c7; WORD $0xa321f2d7 // .quad -6691800565486676537 + WORD $0x192b6a0e; WORD $0xaff72d52 // .quad -5767090967191786994 + WORD $0xeb02bb39; WORD $0xcbea6f8c // .quad -3753064688430957767 + WORD $0x9f764491; WORD $0x9bf4f8a6 // .quad -7208863708989733743 + WORD $0x25c36a08; WORD $0xfee50b70 // .quad -79644842111309304 + WORD $0x4753d5b5; WORD $0x02f236d0 // .quad 212292400617608629 + WORD $0x179a2245; WORD $0x9f4f2726 // .quad -6967307053960650171 + WORD $0x2c946591; WORD $0x01d76242 // .quad 132682750386005393 + WORD $0x9d80aad6; WORD $0xc722f0ef // .quad -4097447799023424810 + WORD $0xb7b97ef6; WORD $0x424d3ad2 // .quad 4777539456409894646 + WORD $0x84e0d58b; WORD $0xf8ebad2b // .quad -510123730351893109 + WORD $0x65a7deb3; WORD $0xd2e08987 // .quad -3251447716342407501 + WORD $0x330c8577; WORD $0x9b934c3b // .quad -7236356359111015049 + WORD $0x9f88eb30; WORD $0x63cc55f4 // .quad 7191217214140771120 + WORD $0xffcfa6d5; WORD $0xc2781f49 // .quad -4433759430461380907 + WORD $0xc76b25fc; WORD $0x3cbf6b71 // .quad 4377335499248575996 + WORD $0x7fc3908a; WORD $0xf316271c // .quad -930513269649338230 + WORD $0x3945ef7b; WORD $0x8bef464e // .quad -8363388681221443717 + WORD $0xcfda3a56; WORD $0x97edd871 // .quad -7499099821171918250 + WORD $0xe3cbb5ad; WORD $0x97758bf0 // .quad -7532960934977096275 + WORD $0x43d0c8ec; WORD $0xbde94e8e // .quad -4762188758037509908 + WORD $0x1cbea318; WORD $0x3d52eeed // .quad 4418856886560793368 + WORD $0xd4c4fb27; WORD $0xed63a231 // .quad -1341049929119499481 + WORD $0x63ee4bde; WORD $0x4ca7aaa8 // .quad 5523571108200991710 + WORD $0x24fb1cf8; WORD $0x945e455f // .quad -7755685233340769032 + WORD $0x3e74ef6b; WORD $0x8fe8caa9 // .quad -8076983103442849941 + WORD $0xee39e436; WORD $0xb975d6b6 // .quad -5082920523248573386 + WORD $0x8e122b45; WORD $0xb3e2fd53 // .quad -5484542860876174523 + WORD $0xa9c85d44; WORD $0xe7d34c64 // .quad -1741964635633328828 + WORD $0x7196b617; WORD $0x60dbbca8 // .quad 6979379479186945559 + WORD $0xea1d3a4a; WORD $0x90e40fbe // .quad -8006256924911912374 + WORD $0x46fe31ce; WORD $0xbc8955e9 // .quad -4861259862362934834 + WORD $0xa4a488dd; WORD $0xb51d13ae // .quad -5396135137712502563 + WORD $0x98bdbe42; WORD $0x6babab63 // .quad 7758483227328495170 + WORD $0x4dcdab14; WORD $0xe264589a // .quad -2133482903713240300 + WORD $0x7eed2dd2; WORD $0xc696963c // .quad -4136954021121544750 + WORD $0x70a08aec; WORD $0x8d7eb760 // .quad -8250955842461857044 + WORD $0xcf543ca3; WORD $0xfc1e1de5 // .quad -279753253987271517 + WORD $0x8cc8ada8; WORD $0xb0de6538 // .quad -5702008784649933400 + WORD $0x43294bcc; WORD $0x3b25a55f // .quad 4261994450943298508 + WORD $0xaffad912; WORD $0xdd15fe86 // .quad -2515824962385028846 + WORD $0x13f39ebf; WORD $0x49ef0eb7 // .quad 5327493063679123135 + WORD $0x2dfcc7ab; WORD $0x8a2dbf14 // .quad -8489919629131724885 + WORD $0x6c784338; WORD $0x6e356932 // .quad 7941369183226839864 + WORD $0x397bf996; WORD $0xacb92ed9 // .quad -6000713517987268202 + WORD $0x07965405; WORD $0x49c2c37f // .quad 5315025460606161925 + WORD $0x87daf7fb; WORD $0xd7e77a8f // .quad -2889205879056697349 + WORD $0xc97be907; WORD $0xdc33745e // .quad -2579590211097073401 + WORD $0xb4e8dafd; WORD $0x86f0ac99 // .quad -8723282702051517699 + WORD $0x3ded71a4; WORD $0x69a028bb // .quad 7611128154919104932 + WORD $0x222311bc; WORD $0xa8acd7c0 // .quad -6292417359137009220 + WORD $0x0d68ce0d; WORD $0xc40832ea // .quad -4321147861633282547 + WORD $0x2aabd62b; WORD $0xd2d80db0 // .quad -3253835680493873621 + WORD $0x90c30191; WORD $0xf50a3fa4 // .quad -789748808614215279 + WORD $0x1aab65db; WORD $0x83c7088e // .quad -8951176327949752869 + WORD $0xda79e0fb; WORD $0x792667c6 // .quad 8729779031470891259 + WORD $0xa1563f52; WORD $0xa4b8cab1 // .quad -6577284391509803182 + WORD $0x91185939; WORD $0x577001b8 // .quad 6300537770911226169 + WORD $0x09abcf26; WORD $0xcde6fd5e // .quad -3609919470959866074 + WORD $0xb55e6f87; WORD $0xed4c0226 // .quad -1347699823215743097 + WORD $0xc60b6178; WORD $0x80b05e5a // .quad -9173728696990998152 + WORD $0x315b05b5; WORD $0x544f8158 // .quad 6075216638131242421 + WORD $0x778e39d6; WORD $0xa0dc75f1 // .quad -6855474852811359786 + WORD $0x3db1c722; WORD $0x696361ae // .quad 7594020797664053026 + WORD $0xd571c84c; WORD $0xc913936d // .quad -3957657547586811828 + WORD $0xcd1e38ea; WORD $0x03bc3a19 // .quad 269153960225290474 + WORD $0x4ace3a5f; WORD $0xfb587849 // .quad -335385916056126881 + WORD $0x4065c724; WORD $0x04ab48a0 // .quad 336442450281613092 + WORD $0xcec0e47b; WORD $0x9d174b2d // .quad -7127145225176161157 + WORD $0x283f9c77; WORD $0x62eb0d64 // .quad 7127805559067090039 + WORD $0x42711d9a; WORD $0xc45d1df9 // .quad -4297245513042813542 + WORD $0x324f8395; WORD $0x3ba5d0bd // .quad 4298070930406474645 + WORD $0x930d6500; WORD $0xf5746577 // .quad -759870872876129024 + WORD $0x7ee3647a; WORD $0xca8f44ec // .quad -3850783373846682502 + WORD $0xbbe85f20; WORD $0x9968bf6a // .quad -7392448323188662496 + WORD $0xcf4e1ecc; WORD $0x7e998b13 // .quad 9122475437414293196 + WORD $0x6ae276e8; WORD $0xbfc2ef45 // .quad -4628874385558440216 + WORD $0xc321a67f; WORD $0x9e3fedd8 // .quad -7043649776941685121 + WORD $0xc59b14a2; WORD $0xefb3ab16 // .quad -1174406963520662366 + WORD $0xf3ea101f; WORD $0xc5cfe94e // .quad -4192876202749718497 + WORD $0x3b80ece5; WORD $0x95d04aee // .quad -7651533379841495835 + WORD $0x58724a13; WORD $0xbba1f1d1 // .quad -4926390635932268013 + WORD $0xca61281f; WORD $0xbb445da9 // .quad -4952730706374481889 + WORD $0xae8edc98; WORD $0x2a8a6e45 // .quad 3065383741939440792 + WORD $0x3cf97226; WORD $0xea157514 // .quad -1579227364540714458 + WORD $0x1a3293be; WORD $0xf52d09d7 // .quad -779956341003086914 + WORD $0xa61be758; WORD $0x924d692c // .quad -7904546130479028392 + WORD $0x705f9c57; WORD $0x593c2626 // .quad 6430056314514152535 + WORD $0xcfa2e12e; WORD $0xb6e0c377 // .quad -5268996644671397586 + WORD $0x0c77836d; WORD $0x6f8b2fb0 // .quad 8037570393142690669 + WORD $0xc38b997a; WORD $0xe498f455 // .quad -1974559787411859078 + WORD $0x0f956448; WORD $0x0b6dfb9c // .quad 823590954573587528 + WORD $0x9a373fec; WORD $0x8edf98b5 // .quad -8151628894773493780 + WORD $0x89bd5ead; WORD $0x4724bd41 // .quad 5126430365035880109 + WORD $0x00c50fe7; WORD $0xb2977ee3 // .quad -5577850100039479321 + WORD $0xec2cb658; WORD $0x58edec91 // .quad 6408037956294850136 + WORD $0xc0f653e1; WORD $0xdf3d5e9b // .quad -2360626606621961247 + WORD $0x6737e3ee; WORD $0x2f2967b6 // .quad 3398361426941174766 + WORD $0x5899f46c; WORD $0x8b865b21 // .quad -8392920656779807636 + WORD $0x0082ee75; WORD $0xbd79e0d2 // .quad -4793553135802847627 + WORD $0xaec07187; WORD $0xae67f1e9 // .quad -5879464802547371641 + WORD $0x80a3aa12; WORD $0xecd85906 // .quad -1380255401326171630 + WORD $0x1a708de9; WORD $0xda01ee64 // .quad -2737644984756826647 + WORD $0x20cc9496; WORD $0xe80e6f48 // .quad -1725319251657714538 + WORD $0x908658b2; WORD $0x884134fe // .quad -8628557143114098510 + WORD $0x147fdcde; WORD $0x3109058d // .quad 3533361486141316318 + WORD $0x34a7eede; WORD $0xaa51823e // .quad -6174010410465235234 + WORD $0x599fd416; WORD $0xbd4b46f0 // .quad -4806670179178130410 + WORD $0xc1d1ea96; WORD $0xd4e5e2cd // .quad -3105826994654156138 + WORD $0x7007c91b; WORD $0x6c9e18ac // .quad 7826720331309500699 + WORD $0x9923329e; WORD $0x850fadc0 // .quad -8858670899299929442 + WORD $0xc604ddb1; WORD $0x03e2cf6b // .quad 280014188641050033 + WORD $0xbf6bff45; WORD $0xa6539930 // .quad -6461652605697523899 + WORD $0xb786151d; WORD $0x84db8346 // .quad -8873354301053463267 + WORD $0xef46ff16; WORD $0xcfe87f7c // .quad -3465379738694516970 + WORD $0x65679a64; WORD $0xe6126418 // .quad -1868320839462053276 + WORD $0x158c5f6e; WORD $0x81f14fae // .quad -9083391364325154962 + WORD $0x3f60c07f; WORD $0x4fcb7e8f // .quad 5749828502977298559 + WORD $0x9aef7749; WORD $0xa26da399 // .quad -6742553186979055799 + WORD $0x0f38f09e; WORD $0xe3be5e33 // .quad -2036086408133152610 + WORD $0x01ab551c; WORD $0xcb090c80 // .quad -3816505465296431844 + WORD $0xd3072cc6; WORD $0x5cadf5bf // .quad 6678264026688335046 + WORD $0x02162a63; WORD $0xfdcb4fa0 // .quad -158945813193151901 + WORD $0xc7c8f7f7; WORD $0x73d9732f // .quad 8347830033360418807 + WORD $0x014dda7e; WORD $0x9e9f11c4 // .quad -7016870160886801794 + WORD $0xdcdd9afb; WORD $0x2867e7fd // .quad 2911550761636567803 + WORD $0x01a1511d; WORD $0xc646d635 // .quad -4159401682681114339 + WORD $0x541501b9; WORD $0xb281e1fd // .quad -5583933584809066055 + WORD $0x4209a565; WORD $0xf7d88bc2 // .quad -587566084924005019 + WORD $0xa91a4227; WORD $0x1f225a7c // .quad 2243455055843443239 + WORD $0x6946075f; WORD $0x9ae75759 // .quad -7284757830718584993 + WORD $0xe9b06959; WORD $0x3375788d // .quad 3708002419115845977 + WORD $0xc3978937; WORD $0xc1a12d2f // .quad -4494261269970843337 + WORD $0x641c83af; WORD $0x0052d6b1 // .quad 23317005467419567 + WORD $0xb47d6b84; WORD $0xf209787b // .quad -1006140569036166268 + WORD $0xbd23a49b; WORD $0xc0678c5d // .quad -4582539761593113445 + WORD $0x50ce6332; WORD $0x9745eb4d // .quad -7546366883288685774 + WORD $0x963646e1; WORD $0xf840b7ba // .quad -558244341782001951 + WORD $0xa501fbff; WORD $0xbd176620 // .quad -4821272585683469313 + WORD $0x3bc3d899; WORD $0xb650e5a9 // .quad -5309491445654890343 + WORD $0xce427aff; WORD $0xec5d3fa8 // .quad -1414904713676948737 + WORD $0x8ab4cebf; WORD $0xa3e51f13 // .quad -6636864307068612929 + WORD $0x80e98cdf; WORD $0x93ba47c9 // .quad -7801844473689174817 + WORD $0x36b10138; WORD $0xc66f336c // .quad -4148040191917883080 + WORD $0xe123f017; WORD $0xb8a8d9bb // .quad -5140619573684080617 + WORD $0x445d4185; WORD $0xb80b0047 // .quad -5185050239897353851 + WORD $0xd96cec1d; WORD $0xe6d3102a // .quad -1814088448677712867 + WORD $0x157491e6; WORD $0xa60dc059 // .quad -6481312799871692314 + WORD $0xc7e41392; WORD $0x9043ea1a // .quad -8051334308064652398 + WORD $0xad68db30; WORD $0x87c89837 // .quad -8662506518347195600 + WORD $0x79dd1877; WORD $0xb454e4a1 // .quad -5452481866653427593 + WORD $0x98c311fc; WORD $0x29babe45 // .quad 3006924907348169212 + WORD $0xd8545e94; WORD $0xe16a1dc9 // .quad -2203916314889396588 + WORD $0xfef3d67b; WORD $0xf4296dd6 // .quad -853029884242176389 + WORD $0x2734bb1d; WORD $0x8ce2529e // .quad -8294976724446954723 + WORD $0x5f58660d; WORD $0x1899e4a6 // .quad 1772699331562333709 + WORD $0xb101e9e4; WORD $0xb01ae745 // .quad -5757034887131305500 + WORD $0xf72e7f90; WORD $0x5ec05dcf // .quad 6827560182880305040 + WORD $0x1d42645d; WORD $0xdc21a117 // .quad -2584607590486743971 + WORD $0xf4fa1f74; WORD $0x76707543 // .quad 8534450228600381300 + WORD $0x72497eba; WORD $0x899504ae // .quad -8532908771695296838 + WORD $0x791c53a9; WORD $0x6a06494a // .quad 7639874402088932265 + WORD $0x0edbde69; WORD $0xabfa45da // .quad -6054449946191733143 + WORD $0x17636893; WORD $0x0487db9d // .quad 326470965756389523 + WORD $0x9292d603; WORD $0xd6f8d750 // .quad -2956376414312278525 + WORD $0x5d3c42b7; WORD $0x45a9d284 // .quad 5019774725622874807 + WORD $0x5b9bc5c2; WORD $0x865b8692 // .quad -8765264286586255934 + WORD $0xba45a9b3; WORD $0x0b8a2392 // .quad 831516194300602803 + WORD $0xf282b732; WORD $0xa7f26836 // .quad -6344894339805432014 + WORD $0x68d7141f; WORD $0x8e6cac77 // .quad -8183976793979022305 + WORD $0xaf2364ff; WORD $0xd1ef0244 // .quad -3319431906329402113 + WORD $0x430cd927; WORD $0x3207d795 // .quad 3605087062808385831 + WORD $0xed761f1f; WORD $0x8335616a // .quad -8992173969096958177 + WORD $0x49e807b9; WORD $0x7f44e6bd // .quad 9170708441896323001 + WORD $0xa8d3a6e7; WORD $0xa402b9c5 // .quad -6628531442943809817 + WORD $0x9c6209a7; WORD $0x5f16206c // .quad 6851699533943015847 + WORD $0x130890a1; WORD $0xcd036837 // .quad -3673978285252374367 + WORD $0xc37a8c10; WORD $0x36dba887 // .quad 3952938399001381904 + WORD $0x6be55a64; WORD $0x80222122 // .quad -9213765455923815836 + WORD $0xda2c978a; WORD $0xc2494954 // .quad -4446942528265218166 + WORD $0x06deb0fd; WORD $0xa02aa96b // .quad -6905520801477381891 + WORD $0x10b7bd6d; WORD $0xf2db9baa // .quad -946992141904134803 + WORD $0xc8965d3d; WORD $0xc83553c5 // .quad -4020214983419339459 + WORD $0x94e5acc8; WORD $0x6f928294 // .quad 8039631859474607304 + WORD $0x3abbf48c; WORD $0xfa42a8b7 // .quad -413582710846786420 + WORD $0xba1f17fa; WORD $0xcb772339 // .quad -3785518230938904582 + WORD $0x84b578d7; WORD $0x9c69a972 // .quad -7176018221920323369 + WORD $0x14536efc; WORD $0xff2a7604 // .quad -60105885123121412 + WORD $0x25e2d70d; WORD $0xc38413cf // .quad -4358336758973016307 + WORD $0x19684abb; WORD $0xfef51385 // .quad -75132356403901765 + WORD $0xef5b8cd1; WORD $0xf46518c2 // .quad -836234930288882479 + WORD $0x5fc25d6a; WORD $0x7eb25866 // .quad 9129456591349898602 + WORD $0xd5993802; WORD $0x98bf2f79 // .quad -7440175859071633406 + WORD $0xfbd97a62; WORD $0xef2f773f // .quad -1211618658047395230 + WORD $0x4aff8603; WORD $0xbeeefb58 // .quad -4688533805412153853 + WORD $0xfacfd8fb; WORD $0xaafb550f // .quad -6126209340986631941 + WORD $0x5dbf6784; WORD $0xeeaaba2e // .quad -1248981238337804412 + WORD $0xf983cf39; WORD $0x95ba2a53 // .quad -7657761676233289927 + WORD $0xfa97a0b2; WORD $0x952ab45c // .quad -7698142301602209614 + WORD $0x7bf26184; WORD $0xdd945a74 // .quad -2480258038432112252 + WORD $0x393d88df; WORD $0xba756174 // .quad -5010991858575374113 + WORD $0x9aeef9e5; WORD $0x94f97111 // .quad -7712008566467528219 + WORD $0x478ceb17; WORD $0xe912b9d1 // .quad -1652053804791829737 + WORD $0x01aab85e; WORD $0x7a37cd56 // .quad 8806733365625141342 + WORD $0xccb812ee; WORD $0x91abb422 // .quad -7950062655635975442 + WORD $0xc10ab33b; WORD $0xac62e055 // .quad -6025006692552756421 + WORD $0x7fe617aa; WORD $0xb616a12b // .quad -5325892301117581398 + WORD $0x314d600a; WORD $0x577b986b // .quad 6303799689591218186 + WORD $0x5fdf9d94; WORD $0xe39c4976 // .quad -2045679357969588844 + WORD $0xfda0b80c; WORD $0xed5a7e85 // .quad -1343622424865753076 + WORD $0xfbebc27d; WORD $0x8e41ade9 // .quad -8196078626372074883 + WORD $0xbe847308; WORD $0x14588f13 // .quad 1466078993672598280 + WORD $0x7ae6b31c; WORD $0xb1d21964 // .quad -5633412264537705700 + WORD $0xae258fc9; WORD $0x596eb2d8 // .quad 6444284760518135753 + WORD $0x99a05fe3; WORD $0xde469fbd // .quad -2430079312244744221 + WORD $0xd9aef3bc; WORD $0x6fca5f8e // .quad 8055355950647669692 + WORD $0x80043bee; WORD $0x8aec23d6 // .quad -8436328597794046994 + WORD $0x480d5855; WORD $0x25de7bb9 // .quad 2728754459941099605 + WORD $0x20054ae9; WORD $0xada72ccc // .quad -5933724728815170839 + WORD $0x9a10ae6b; WORD $0xaf561aa7 // .quad -5812428961928401301 + WORD $0x28069da4; WORD $0xd910f7ff // .quad -2805469892591575644 + WORD $0x8094da05; WORD $0x1b2ba151 // .quad 1957835834444274181 + WORD $0x79042286; WORD $0x87aa9aff // .quad -8670947710510816634 + WORD $0xf05d0843; WORD $0x90fb44d2 // .quad -7999724640327104445 + WORD $0x57452b28; WORD $0xa99541bf // .quad -6226998619711132888 + WORD $0xac744a54; WORD $0x353a1607 // .quad 3835402254873283156 + WORD $0x2d1675f2; WORD $0xd3fa922f // .quad -3172062256211528206 + WORD $0x97915ce9; WORD $0x42889b89 // .quad 4794252818591603945 + WORD $0x7c2e09b7; WORD $0x847c9b5d // .quad -8900067937773286985 + WORD $0xfebada12; WORD $0x69956135 // .quad 7608094030047140370 + WORD $0xdb398c25; WORD $0xa59bc234 // .quad -6513398903789220827 + WORD $0x7e699096; WORD $0x43fab983 // .quad 4898431519131537558 + WORD $0x1207ef2e; WORD $0xcf02b2c2 // .quad -3530062611309138130 + WORD $0x5e03f4bc; WORD $0x94f967e4 // .quad -7712018656367741764 + WORD $0x4b44f57d; WORD $0x8161afb9 // .quad -9123818159709293187 + WORD $0xbac278f6; WORD $0x1d1be0ee // .quad 2097517367411243254 + WORD $0x9e1632dc; WORD $0xa1ba1ba7 // .quad -6793086681209228580 + WORD $0x69731733; WORD $0x6462d92a // .quad 7233582727691441971 + WORD $0x859bbf93; WORD $0xca28a291 // .quad -3879672333084147821 + WORD $0x03cfdcff; WORD $0x7d7b8f75 // .quad 9041978409614302463 + WORD $0xe702af78; WORD $0xfcb2cb35 // .quad -237904397927796872 + WORD $0x44c3d43f; WORD $0x5cda7352 // .quad 6690786993590490175 + WORD $0xb061adab; WORD $0x9defbf01 // .quad -7066219276345954901 + WORD $0x6afa64a8; WORD $0x3a088813 // .quad 4181741870994056360 + WORD $0x1c7a1916; WORD $0xc56baec2 // .quad -4221088077005055722 + WORD $0x45b8fdd1; WORD $0x088aaa18 // .quad 615491320315182545 + WORD $0xa3989f5b; WORD $0xf6c69a72 // .quad -664674077828931749 + WORD $0x57273d46; WORD $0x8aad549e // .quad -8454007886460797626 + WORD $0xa63f6399; WORD $0x9a3c2087 // .quad -7332950326284164199 + WORD $0xf678864c; WORD $0x36ac54e2 // .quad 3939617107816777292 + WORD $0x8fcf3c7f; WORD $0xc0cb28a9 // .quad -4554501889427817345 + WORD $0xb416a7de; WORD $0x84576a1b // .quad -8910536670511192098 + WORD $0xf3c30b9f; WORD $0xf0fdf2d3 // .quad -1081441343357383777 + WORD $0xa11c51d6; WORD $0x656d44a2 // .quad 7308573235570561494 + WORD $0x7859e743; WORD $0x969eb7c4 // .quad -7593429867239446717 + WORD $0xa4b1b326; WORD $0x9f644ae5 // .quad -6961356773836868826 + WORD $0x96706114; WORD $0xbc4665b5 // .quad -4880101315621920492 + WORD $0x0dde1fef; WORD $0x873d5d9f // .quad -8701695967296086033 + WORD $0xfc0c7959; WORD $0xeb57ff22 // .quad -1488440626100012711 + WORD $0xd155a7eb; WORD $0xa90cb506 // .quad -6265433940692719637 + WORD $0xdd87cbd8; WORD $0x9316ff75 // .quad -7847804418953589800 + WORD $0x42d588f3; WORD $0x09a7f124 // .quad 695789805494438131 + WORD $0x54e9bece; WORD $0xb7dcbf53 // .quad -5198069505264599346 + WORD $0x538aeb30; WORD $0x0c11ed6d // .quad 869737256868047664 + WORD $0x2a242e81; WORD $0xe5d3ef28 // .quad -1885900863153361279 + WORD $0xa86da5fb; WORD $0x8f1668c8 // .quad -8136200465769716229 + WORD $0x1a569d10; WORD $0x8fa47579 // .quad -8096217067111932656 + WORD $0x694487bd; WORD $0xf96e017d // .quad -473439272678684739 + WORD $0x60ec4455; WORD $0xb38d92d7 // .quad -5508585315462527915 + WORD $0xc395a9ad; WORD $0x37c981dc // .quad 4019886927579031981 + WORD $0x3927556a; WORD $0xe070f78d // .quad -2274045625900771990 + WORD $0xf47b1418; WORD $0x85bbe253 // .quad -8810199395808373736 + WORD $0x43b89562; WORD $0x8c469ab8 // .quad -8338807543829064350 + WORD $0x78ccec8f; WORD $0x93956d74 // .quad -7812217631593927537 + WORD $0x54a6babb; WORD $0xaf584166 // .quad -5811823411358942533 + WORD $0x970027b3; WORD $0x387ac8d1 // .quad 4069786015789754291 + WORD $0xe9d0696a; WORD $0xdb2e51bf // .quad -2653093245771290262 + WORD $0xfcc0319f; WORD $0x06997b05 // .quad 475546501309804959 + WORD $0xf22241e2; WORD $0x88fcf317 // .quad -8575712306248138270 + WORD $0xbdf81f04; WORD $0x441fece3 // .quad 4908902581746016004 + WORD $0xeeaad25a; WORD $0xab3c2fdd // .quad -6107954364382784934 + WORD $0xad7626c4; WORD $0xd527e81c // .quad -3087243809672255804 + WORD $0x6a5586f1; WORD $0xd60b3bd5 // .quad -3023256937051093263 + WORD $0xd8d3b075; WORD $0x8a71e223 // .quad -8470740780517707659 + WORD $0x62757456; WORD $0x85c70565 // .quad -8807064613298015146 + WORD $0x67844e4a; WORD $0xf6872d56 // .quad -682526969396179382 + WORD $0xbb12d16c; WORD $0xa738c6be // .quad -6397144748195131028 + WORD $0x016561dc; WORD $0xb428f8ac // .quad -5464844730172612132 + WORD $0x69d785c7; WORD $0xd106f86e // .quad -3384744916816525881 + WORD $0x01beba53; WORD $0xe13336d7 // .quad -2219369894288377261 + WORD $0x0226b39c; WORD $0x82a45b45 // .quad -9032994600651410532 + WORD $0x61173474; WORD $0xecc00246 // .quad -1387106183930235788 + WORD $0x42b06084; WORD $0xa34d7216 // .quad -6679557232386875260 + WORD $0xf95d0191; WORD $0x27f002d7 // .quad 2877803288514593169 + WORD $0xd35c78a5; WORD $0xcc20ce9b // .quad -3737760522056206171 + WORD $0xf7b441f5; WORD $0x31ec038d // .quad 3597254110643241461 + WORD $0xc83396ce; WORD $0xff290242 // .quad -60514634142869810 + WORD $0x75a15272; WORD $0x7e670471 // .quad 9108253656731439730 + WORD $0xbd203e41; WORD $0x9f79a169 // .quad -6955350673980375487 + WORD $0xe984d387; WORD $0x0f0062c6 // .quad 1080972517029761927 + WORD $0x2c684dd1; WORD $0xc75809c4 // .quad -4082502324048081455 + WORD $0xa3e60869; WORD $0x52c07b78 // .quad 5962901664714590313 + WORD $0x37826145; WORD $0xf92e0c35 // .quad -491441886632713915 + WORD $0xccdf8a83; WORD $0xa7709a56 // .quad -6381430974388925821 + WORD $0x42b17ccb; WORD $0x9bbcc7a1 // .quad -7224680206786528053 + WORD $0x400bb692; WORD $0x88a66076 // .quad -8600080377420466542 + WORD $0x935ddbfe; WORD $0xc2abf989 // .quad -4419164240055772162 + WORD $0xd00ea436; WORD $0x6acff893 // .quad 7696643601933968438 + WORD $0xf83552fe; WORD $0xf356f7eb // .quad -912269281642327298 + WORD $0xc4124d44; WORD $0x0583f6b8 // .quad 397432465562684740 + WORD $0x7b2153de; WORD $0x98165af3 // .quad -7487697328667536418 + WORD $0x7a8b704b; WORD $0xc3727a33 // .quad -4363290727450709941 + WORD $0x59e9a8d6; WORD $0xbe1bf1b0 // .quad -4747935642407032618 + WORD $0x592e4c5d; WORD $0x744f18c0 // .quad 8380944645968776285 + WORD $0x7064130c; WORD $0xeda2ee1c // .quad -1323233534581402868 + WORD $0x6f79df74; WORD $0x1162def0 // .quad 1252808770606194548 + WORD $0xc63e8be7; WORD $0x9485d4d1 // .quad -7744549986754458649 + WORD $0x45ac2ba9; WORD $0x8addcb56 // .quad -8440366555225904215 + WORD $0x37ce2ee1; WORD $0xb9a74a06 // .quad -5069001465015685407 + WORD $0xd7173693; WORD $0x6d953e2b // .quad 7896285879677171347 + WORD $0xc5c1ba99; WORD $0xe8111c87 // .quad -1724565812842218855 + WORD $0xccdd0438; WORD $0xc8fa8db6 // .quad -3964700705685699528 + WORD $0xdb9914a0; WORD $0x910ab1d4 // .quad -7995382660667468640 + WORD $0x400a22a3; WORD $0x1d9c9892 // .quad 2133748077373825699 + WORD $0x127f59c8; WORD $0xb54d5e4a // .quad -5382542307406947896 + WORD $0xd00cab4c; WORD $0x2503beb6 // .quad 2667185096717282124 + WORD $0x971f303a; WORD $0xe2a0b5dc // .quad -2116491865831296966 + WORD $0x840fd61e; WORD $0x2e44ae64 // .quad 3333981370896602654 + WORD $0xde737e24; WORD $0x8da471a9 // .quad -8240336443785642460 + WORD $0xd289e5d3; WORD $0x5ceaecfe // .quad 6695424375237764563 + WORD $0x56105dad; WORD $0xb10d8e14 // .quad -5688734536304665171 + WORD $0x872c5f48; WORD $0x7425a83e // .quad 8369280469047205704 + WORD $0x6b947518; WORD $0xdd50f199 // .quad -2499232151953443560 + WORD $0x28f7771a; WORD $0xd12f124e // .quad -3373457468973156582 + WORD $0xe33cc92f; WORD $0x8a5296ff // .quad -8479549122611984081 + WORD $0xd99aaa70; WORD $0x82bd6b70 // .quad -9025939945749304720 + WORD $0xdc0bfb7b; WORD $0xace73cbf // .quad -5987750384837592197 + WORD $0x1001550c; WORD $0x636cc64d // .quad 7164319141522920716 + WORD $0xd30efa5a; WORD $0xd8210bef // .quad -2873001962619602342 + WORD $0x5401aa4f; WORD $0x3c47f7e0 // .quad 4343712908476262991 + WORD $0xe3e95c78; WORD $0x8714a775 // .quad -8713155254278333320 + WORD $0x34810a72; WORD $0x65acfaec // .quad 7326506586225052274 + WORD $0x5ce3b396; WORD $0xa8d9d153 // .quad -6279758049420528746 + WORD $0x41a14d0e; WORD $0x7f1839a7 // .quad 9158133232781315342 + WORD $0x341ca07c; WORD $0xd31045a8 // .quad -3238011543348273028 + WORD $0x1209a051; WORD $0x1ede4811 // .quad 2224294504121868369 + WORD $0x2091e44d; WORD $0x83ea2b89 // .quad -8941286242233752499 + WORD $0xab460433; WORD $0x934aed0a // .quad -7833187971778608077 + WORD $0x68b65d60; WORD $0xa4e4b66b // .quad -6564921784364802720 + WORD $0x56178540; WORD $0xf81da84d // .quad -568112927868484288 + WORD $0x42e3f4b9; WORD $0xce1de406 // .quad -3594466212028615495 + WORD $0xab9d668f; WORD $0x36251260 // .quad 3901544858591782543 + WORD $0xe9ce78f3; WORD $0x80d2ae83 // .quad -9164070410158966541 + WORD $0x6b42601a; WORD $0xc1d72b7c // .quad -4479063491021217766 + WORD $0xe4421730; WORD $0xa1075a24 // .quad -6843401994271320272 + WORD $0x8612f820; WORD $0xb24cf65b // .quad -5598829363776522208 + WORD $0x1d529cfc; WORD $0xc94930ae // .quad -3942566474411762436 + WORD $0x6797b628; WORD $0xdee033f2 // .quad -2386850686293264856 + WORD $0xa4a7443c; WORD $0xfb9b7cd9 // .quad -316522074587315140 + WORD $0x017da3b2; WORD $0x169840ef // .quad 1628122660560806834 + WORD $0x06e88aa5; WORD $0x9d412e08 // .quad -7115355324258153819 + WORD $0x60ee864f; WORD $0x8e1f2895 // .quad -8205795374004271537 + WORD $0x08a2ad4e; WORD $0xc491798a // .quad -4282508136895304370 + WORD $0xb92a27e3; WORD $0xf1a6f2ba // .quad -1033872180650563613 + WORD $0x8acb58a2; WORD $0xf5b5d7ec // .quad -741449152691742558 + WORD $0x6774b1dc; WORD $0xae10af69 // .quad -5904026244240592420 + WORD $0xd6bf1765; WORD $0x9991a6f3 // .quad -7380934748073420955 + WORD $0xe0a8ef2a; WORD $0xacca6da1 // .quad -5995859411864064214 + WORD $0xcc6edd3f; WORD $0xbff610b0 // .quad -4614482416664388289 + WORD $0x58d32af4; WORD $0x17fd090a // .quad 1728547772024695540 + WORD $0xff8a948e; WORD $0xeff394dc // .quad -1156417002403097458 + WORD $0xef07f5b1; WORD $0xddfc4b4c // .quad -2451001303396518479 + WORD $0x1fb69cd9; WORD $0x95f83d0a // .quad -7640289654143017767 + WORD $0x1564f98f; WORD $0x4abdaf10 // .quad 5385653213018257807 + WORD $0xa7a4440f; WORD $0xbb764c4c // .quad -4938676049251384305 + WORD $0x1abe37f2; WORD $0x9d6d1ad4 // .quad -7102991539009341454 + WORD $0xd18d5513; WORD $0xea53df5f // .quad -1561659043136842477 + WORD $0x216dc5ee; WORD $0x84c86189 // .quad -8878739423761676818 + WORD $0xe2f8552c; WORD $0x92746b9b // .quad -7893565929601608404 + WORD $0xb4e49bb5; WORD $0x32fd3cf5 // .quad 3674159897003727797 + WORD $0xdbb66a77; WORD $0xb7118682 // .quad -5255271393574622601 + WORD $0x221dc2a2; WORD $0x3fbc8c33 // .quad 4592699871254659746 + WORD $0x92a40515; WORD $0xe4d5e823 // .quad -1957403223540890347 + WORD $0xeaa5334b; WORD $0x0fabaf3f // .quad 1129188820640936779 + WORD $0x3ba6832d; WORD $0x8f05b116 // .quad -8140906042354138323 + WORD $0xf2a7400f; WORD $0x29cb4d87 // .quad 3011586022114279439 + WORD $0xca9023f8; WORD $0xb2c71d5b // .quad -5564446534515285000 + WORD $0xef511013; WORD $0x743e20e9 // .quad 8376168546070237203 + WORD $0xbd342cf6; WORD $0xdf78e4b2 // .quad -2343872149716718346 + WORD $0x6b255417; WORD $0x914da924 // .quad -7976533391121755113 + WORD $0xb6409c1a; WORD $0x8bab8eef // .quad -8382449121214030822 + WORD $0xc2f7548f; WORD $0x1ad089b6 // .quad 1932195658189984911 + WORD $0xa3d0c320; WORD $0xae9672ab // .quad -5866375383090150624 + WORD $0x73b529b2; WORD $0xa184ac24 // .quad -6808127464117294670 + WORD $0x8cc4f3e8; WORD $0xda3c0f56 // .quad -2721283210435300376 + WORD $0x90a2741f; WORD $0xc9e5d72d // .quad -3898473311719230433 + WORD $0x17fb1871; WORD $0x88658996 // .quad -8618331034163144591 + WORD $0x7a658893; WORD $0x7e2fa67c // .quad 9092669226243950739 + WORD $0x9df9de8d; WORD $0xaa7eebfb // .quad -6161227774276542835 + WORD $0x98feeab8; WORD $0xddbb901b // .quad -2469221522477225288 + WORD $0x85785631; WORD $0xd51ea6fa // .quad -3089848699418290639 + WORD $0x7f3ea566; WORD $0x552a7422 // .quad 6136845133758244198 + WORD $0x936b35de; WORD $0x8533285c // .quad -8848684464777513506 + WORD $0x8f872760; WORD $0xd53a8895 // .quad -3082000819042179232 + WORD $0xb8460356; WORD $0xa67ff273 // .quad -6449169562544503978 + WORD $0xf368f138; WORD $0x8a892aba // .quad -8464187042230111944 + WORD $0xa657842c; WORD $0xd01fef10 // .quad -3449775934753242068 + WORD $0xb0432d86; WORD $0x2d2b7569 // .quad 3254824252494523782 + WORD $0x67f6b29b; WORD $0x8213f56a // .quad -9073638986861858149 + WORD $0x0e29fc74; WORD $0x9c3b2962 // .quad -7189106879045698444 + WORD $0x01f45f42; WORD $0xa298f2c5 // .quad -6730362715149934782 + WORD $0x91b47b90; WORD $0x8349f3ba // .quad -8986383598807123056 + WORD $0x42717713; WORD $0xcb3f2f76 // .quad -3801267375510030573 + WORD $0x36219a74; WORD $0x241c70a9 // .quad 2602078556773259892 + WORD $0xd30dd4d7; WORD $0xfe0efb53 // .quad -139898200960150313 + WORD $0x83aa0111; WORD $0xed238cd3 // .quad -1359087822460813039 + WORD $0x63e8a506; WORD $0x9ec95d14 // .quad -7004965403241175802 + WORD $0x324a40ab; WORD $0xf4363804 // .quad -849429889038008149 + WORD $0x7ce2ce48; WORD $0xc67bb459 // .quad -4144520735624081848 + WORD $0x3edcd0d6; WORD $0xb143c605 // .quad -5673473379724898090 + WORD $0xdc1b81da; WORD $0xf81aa16f // .quad -568964901102714406 + WORD $0x8e94050b; WORD $0xdd94b786 // .quad -2480155706228734709 + WORD $0xe9913128; WORD $0x9b10a4e5 // .quad -7273132090830278360 + WORD $0x191c8327; WORD $0xca7cf2b4 // .quad -3855940325606653145 + WORD $0x63f57d72; WORD $0xc1d4ce1f // .quad -4479729095110460046 + WORD $0x1f63a3f1; WORD $0xfd1c2f61 // .quad -208239388580928527 + WORD $0x3cf2dccf; WORD $0xf24a01a7 // .quad -987975350460687153 + WORD $0x673c8ced; WORD $0xbc633b39 // .quad -4871985254153548563 + WORD $0x8617ca01; WORD $0x976e4108 // .quad -7535013621679011327 + WORD $0xe085d814; WORD $0xd5be0503 // .quad -3044990783845967852 + WORD $0xa79dbc82; WORD $0xbd49d14a // .quad -4807081008671376254 + WORD $0xd8a74e19; WORD $0x4b2d8644 // .quad 5417133557047315993 + WORD $0x51852ba2; WORD $0xec9c459d // .quad -1397165242411832414 + WORD $0x0ed1219f; WORD $0xddf8e7d6 // .quad -2451955090545630817 + WORD $0x52f33b45; WORD $0x93e1ab82 // .quad -7790757304148477115 + WORD $0xc942b504; WORD $0xcabb90e5 // .quad -3838314940804713212 + WORD $0xe7b00a17; WORD $0xb8da1662 // .quad -5126760611758208489 + WORD $0x3b936244; WORD $0x3d6a751f // .quad 4425478360848884292 + WORD $0xa19c0c9d; WORD $0xe7109bfb // .quad -1796764746270372707 + WORD $0x0a783ad5; WORD $0x0cc51267 // .quad 920161932633717461 + WORD $0x450187e2; WORD $0x906a617d // .quad -8040506994060064798 + WORD $0x668b24c6; WORD $0x27fb2b80 // .quad 2880944217109767366 + WORD $0x9641e9da; WORD $0xb484f9dc // .quad -5438947724147693094 + WORD $0x802dedf7; WORD $0xb1f9f660 // .quad -5622191765467566601 + WORD $0xbbd26451; WORD $0xe1a63853 // .quad -2186998636757228463 + WORD $0xa0396974; WORD $0x5e7873f8 // .quad 6807318348447705460 + WORD $0x55637eb2; WORD $0x8d07e334 // .quad -8284403175614349646 + WORD $0x6423e1e9; WORD $0xdb0b487b // .quad -2662955059861265943 + WORD $0x6abc5e5f; WORD $0xb049dc01 // .quad -5743817951090549153 + WORD $0x3d2cda63; WORD $0x91ce1a9a // .quad -7940379843253970333 + WORD $0xc56b75f7; WORD $0xdc5c5301 // .quad -2568086420435798537 + WORD $0xcc7810fc; WORD $0x7641a140 // .quad 8521269269642088700 + WORD $0x1b6329ba; WORD $0x89b9b3e1 // .quad -8522583040413455942 + WORD $0x7fcb0a9e; WORD $0xa9e904c8 // .quad -6203421752542164322 + WORD $0x623bf429; WORD $0xac2820d9 // .quad -6041542782089432023 + WORD $0x9fbdcd45; WORD $0x546345fa // .quad 6080780864604458309 + WORD $0xbacaf133; WORD $0xd732290f // .quad -2940242459184402125 + WORD $0x47ad4096; WORD $0xa97c1779 // .quad -6234081974526590826 + WORD $0xd4bed6c0; WORD $0x867f59a9 // .quad -8755180564631333184 + WORD $0xcccc485e; WORD $0x49ed8eab // .quad 5327070802775656542 + WORD $0x49ee8c70; WORD $0xa81f3014 // .quad -6332289687361778576 + WORD $0xbfff5a75; WORD $0x5c68f256 // .quad 6658838503469570677 + WORD $0x5c6a2f8c; WORD $0xd226fc19 // .quad -3303676090774835316 + WORD $0x6fff3112; WORD $0x73832eec // .quad 8323548129336963346 + WORD $0xd9c25db7; WORD $0x83585d8f // .quad -8982326584375353929 + WORD $0xc5ff7eac; WORD $0xc831fd53 // .quad -4021154456019173716 + WORD $0xd032f525; WORD $0xa42e74f3 // .quad -6616222212041804507 + WORD $0xb77f5e56; WORD $0xba3e7ca8 // .quad -5026443070023967146 + WORD $0xc43fb26f; WORD $0xcd3a1230 // .quad -3658591746624867729 + WORD $0xe55f35ec; WORD $0x28ce1bd2 // .quad 2940318199324816876 + WORD $0x7aa7cf85; WORD $0x80444b5e // .quad -9204148869281624187 + WORD $0xcf5b81b4; WORD $0x7980d163 // .quad 8755227902219092404 + WORD $0x1951c366; WORD $0xa0555e36 // .quad -6893500068174642330 + WORD $0xc3326220; WORD $0xd7e105bc // .quad -2891023177508298208 + WORD $0x9fa63440; WORD $0xc86ab5c3 // .quad -4005189066790915008 + WORD $0xf3fefaa8; WORD $0x8dd9472b // .quad -8225464990312760664 + WORD $0x878fc150; WORD $0xfa856334 // .quad -394800315061255856 + WORD $0xf0feb952; WORD $0xb14f98f6 // .quad -5670145219463562926 + WORD $0xd4b9d8d2; WORD $0x9c935e00 // .quad -7164279224554366766 + WORD $0x569f33d4; WORD $0x6ed1bf9a // .quad 7985374283903742932 + WORD $0x09e84f07; WORD $0xc3b83581 // .quad -4343663012265570553 + WORD $0xec4700c9; WORD $0x0a862f80 // .quad 758345818024902857 + WORD $0x4c6262c8; WORD $0xf4a642e1 // .quad -817892746904575288 + WORD $0x2758c0fb; WORD $0xcd27bb61 // .quad -3663753745896259333 + WORD $0xcfbd7dbd; WORD $0x98e7e9cc // .quad -7428711994456441411 + WORD $0xb897789d; WORD $0x8038d51c // .quad -9207375118826243939 + WORD $0x03acdd2c; WORD $0xbf21e440 // .quad -4674203974643163860 + WORD $0xe6bd56c4; WORD $0xe0470a63 // .quad -2285846861678029116 + WORD $0x04981478; WORD $0xeeea5d50 // .quad -1231068949876566920 + WORD $0xe06cac75; WORD $0x1858ccfc // .quad 1754377441329851509 + WORD $0x02df0ccb; WORD $0x95527a52 // .quad -7686947121313936181 + WORD $0x0c43ebc9; WORD $0x0f37801e // .quad 1096485900831157193 + WORD $0x8396cffd; WORD $0xbaa718e6 // .quad -4996997883215032323 + WORD $0x8f54e6bb; WORD $0xd3056025 // .quad -3241078642388441413 + WORD $0x247c83fd; WORD $0xe950df20 // .quad -1634561335591402499 + WORD $0xf32a206a; WORD $0x47c6b82e // .quad 5172023733869224042 + WORD $0x16cdd27e; WORD $0x91d28b74 // .quad -7939129862385708418 + WORD $0x57fa5442; WORD $0x4cdc331d // .quad 5538357842881958978 + WORD $0x1c81471d; WORD $0xb6472e51 // .quad -5312226309554747619 + WORD $0xadf8e953; WORD $0xe0133fe4 // .quad -2300424733252327085 + WORD $0x63a198e5; WORD $0xe3d8f9e5 // .quad -2028596868516046619 + WORD $0xd97723a7; WORD $0x58180fdd // .quad 6347841120289366951 + WORD $0x5e44ff8f; WORD $0x8e679c2f // .quad -8185402070463610993 + WORD $0xa7ea7649; WORD $0x570f09ea // .quad 6273243709394548297 + WORD $0x35d63f73; WORD $0xb201833b // .quad -5620066569652125837 + WORD $0x51e513db; WORD $0x2cd2cc65 // .quad 3229868618315797467 + WORD $0x034bcf4f; WORD $0xde81e40a // .quad -2413397193637769393 + WORD $0xa65e58d2; WORD $0xf8077f7e // .quad -574350245532641070 + WORD $0x420f6191; WORD $0x8b112e86 // .quad -8425902273664687727 + WORD $0x27faf783; WORD $0xfb04afaf // .quad -358968903457900669 + WORD $0xd29339f6; WORD $0xadd57a27 // .quad -5920691823653471754 + WORD $0xf1f9b564; WORD $0x79c5db9a // .quad 8774660907532399972 + WORD $0xc7380874; WORD $0xd94ad8b1 // .quad -2789178761139451788 + WORD $0xae7822bd; WORD $0x18375281 // .quad 1744954097560724157 + WORD $0x1c830548; WORD $0x87cec76f // .quad -8660765753353239224 + WORD $0x0d0b15b6; WORD $0x8f229391 // .quad -8132775725879323210 + WORD $0xe3a3c69a; WORD $0xa9c2794a // .quad -6214271173264161126 + WORD $0x504ddb23; WORD $0xb2eb3875 // .quad -5554283638921766109 + WORD $0x9c8cb841; WORD $0xd433179d // .quad -3156152948152813503 + WORD $0xa46151ec; WORD $0x5fa60692 // .quad 6892203506629956076 + WORD $0x81d7f328; WORD $0x849feec2 // .quad -8890124620236590296 + WORD $0xa6bcd334; WORD $0xdbc7c41b // .quad -2609901835997359308 + WORD $0x224deff3; WORD $0xa5c7ea73 // .quad -6500969756868349965 + WORD $0x906c0801; WORD $0x12b9b522 // .quad 1349308723430688769 + WORD $0xeae16bef; WORD $0xcf39e50f // .quad -3514526177658049553 + WORD $0x34870a01; WORD $0xd768226b // .quad -2925050114139026943 + WORD $0xf2cce375; WORD $0x81842f29 // .quad -9114107888677362827 + WORD $0x00d46641; WORD $0xe6a11583 // .quad -1828156321336891839 + WORD $0x6f801c53; WORD $0xa1e53af4 // .quad -6780948842419315629 + WORD $0xc1097fd1; WORD $0x60495ae3 // .quad 6938176635183661009 + WORD $0x8b602368; WORD $0xca5e89b1 // .quad -3864500034596756632 + WORD $0xb14bdfc5; WORD $0x385bb19c // .quad 4061034775552188357 + WORD $0xee382c42; WORD $0xfcf62c1d // .quad -218939024818557886 + WORD $0xdd9ed7b6; WORD $0x46729e03 // .quad 5076293469440235446 + WORD $0xb4e31ba9; WORD $0x9e19db92 // .quad -7054365918152680535 + WORD $0x6a8346d2; WORD $0x6c07a2c2 // .quad 7784369436827535058 + +TEXT ·__f64toa(SB), NOSPLIT, $0-24 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $96, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_f64toa: + MOVD out+0(FP), R0 + FMOVD val+8(FP), F0 + MOVD ·_subr__f64toa(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+16(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_subr_arm64.go new file mode 100644 index 0000000..e09d800 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/f64toa_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __f64toa_entry__() uintptr + +var ( + _subr__f64toa uintptr = __f64toa_entry__() + 0 +) + +const ( + _stack__f64toa = 32 +) + +var ( + _ = _subr__f64toa +) + +const ( + _ = _stack__f64toa +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.go new file mode 100644 index 0000000..691a73e --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.go @@ -0,0 +1,35 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int) { + return __get_by_path(s, p, path, m) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.s new file mode 100644 index 0000000..558a787 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_arm64.s @@ -0,0 +1,5627 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__get_by_path_entry__(SB), NOSPLIT, $192 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 4, 0x00 +lCPI0_0: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_1: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +lCPI0_2: + WORD $0x00000001; WORD $0x00000000 // .quad 1 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + // .p2align 2, 0x00 +_get_by_path: + WORD $0xd10343ff // sub sp, sp, #208 + WORD $0xa906effc // stp x28, x27, [sp, #104] + WORD $0xa907e7fa // stp x26, x25, [sp, #120] + WORD $0xa908dff8 // stp x24, x23, [sp, #136] + WORD $0xa909d7f6 // stp x22, x21, [sp, #152] + WORD $0xa90acff4 // stp x20, x19, [sp, #168] + WORD $0xa90bfbfd // stp fp, lr, [sp, #184] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xf9400448 // ldr x8, [x2, #8] + WORD $0xb40144a8 // cbz x8, LBB0_492 $10388(%rip) + WORD $0xf9400049 // ldr x9, [x2] + WORD $0x8b08112a // add x10, x9, x8, lsl #4 + WORD $0x910083e8 // add x8, sp, #32 + WORD $0x9100810b // add x11, x8, #32 + WORD $0xf9400036 // ldr x22, [x1] + WORD $0x5280002c // mov w12, #1 + WORD $0xd284c00d // mov x13, #9728 + WORD $0xf2c0002d // movk x13, #1, lsl #32 + WORD $0x3200f3fe // mov w30, #1431655765 + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0x4f01e440 // movi.16b v0, #34 +Lloh0: + WORD $0x10fffbc8 // adr x8, lCPI0_0 $-136(%rip) +Lloh1: + WORD $0x3dc00101 // ldr q1, [x8, lCPI0_0@PAGEOFF] $0(%rip) +Lloh2: + WORD $0x10fffc08 // adr x8, lCPI0_1 $-128(%rip) +Lloh3: + WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x4f02e783 // movi.16b v3, #92 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0x4f01e584 // movi.16b v4, #44 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0x4f06e7e5 // movi.16b v5, #223 + WORD $0x4f02e7a6 // movi.16b v6, #93 + WORD $0x529fffe8 // mov w8, #65535 + WORD $0x4f02e767 // movi.16b v7, #91 + WORD $0x6f00e410 // movi.2d v16, #0000000000000000 + WORD $0x4f03e771 // movi.16b v17, #123 + WORD $0x4f03e7b2 // movi.16b v18, #125 +Lloh4: + WORD $0x100262b0 // adr x16, __UnquoteTab $19540(%rip) +Lloh5: + WORD $0x91000210 // add x16, x16, __UnquoteTab@PAGEOFF $0(%rip) +LBB0_2: + WORD $0xa9405013 // ldp x19, x20, [x0] + WORD $0xeb1402df // cmp x22, x20 + WORD $0x54000162 // b.hs LBB0_7 $44(%rip) + WORD $0x38766a62 // ldrb w2, [x19, x22] + WORD $0x7100345f // cmp w2, #13 + WORD $0x54000100 // b.eq LBB0_7 $32(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x540000c0 // b.eq LBB0_7 $24(%rip) + WORD $0x51002c42 // sub w2, w2, #11 + WORD $0x3100085f // cmn w2, #2 + WORD $0x54000062 // b.hs LBB0_7 $12(%rip) + WORD $0xaa1603f7 // mov x23, x22 + WORD $0x1400003a // b LBB0_25 $232(%rip) +LBB0_7: + WORD $0x910006d7 // add x23, x22, #1 + WORD $0xeb1402ff // cmp x23, x20 + WORD $0x54000122 // b.hs LBB0_11 $36(%rip) + WORD $0x38776a62 // ldrb w2, [x19, x23] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_11 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_11 $16(%rip) + WORD $0x51002c42 // sub w2, w2, #11 + WORD $0x3100085f // cmn w2, #2 + WORD $0x540005e3 // b.lo LBB0_25 $188(%rip) +LBB0_11: + WORD $0x91000ad7 // add x23, x22, #2 + WORD $0xeb1402ff // cmp x23, x20 + WORD $0x54000122 // b.hs LBB0_15 $36(%rip) + WORD $0x38776a62 // ldrb w2, [x19, x23] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_15 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_15 $16(%rip) + WORD $0x51002c42 // sub w2, w2, #11 + WORD $0x3100085f // cmn w2, #2 + WORD $0x54000483 // b.lo LBB0_25 $144(%rip) +LBB0_15: + WORD $0x91000ed7 // add x23, x22, #3 + WORD $0xeb1402ff // cmp x23, x20 + WORD $0x54000122 // b.hs LBB0_19 $36(%rip) + WORD $0x38776a62 // ldrb w2, [x19, x23] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_19 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_19 $16(%rip) + WORD $0x51002c42 // sub w2, w2, #11 + WORD $0x3100085f // cmn w2, #2 + WORD $0x54000323 // b.lo LBB0_25 $100(%rip) +LBB0_19: + WORD $0x910012d7 // add x23, x22, #4 + WORD $0xeb1402ff // cmp x23, x20 + WORD $0x540001e2 // b.hs LBB0_23 $60(%rip) +LBB0_20: + WORD $0x38776a62 // ldrb w2, [x19, x23] + WORD $0x7100805f // cmp w2, #32 + WORD $0x9ac22182 // lsl x2, x12, x2 + WORD $0x8a0d0042 // and x2, x2, x13 + WORD $0xfa409844 // ccmp x2, #0, #4, ls + WORD $0x540001c0 // b.eq LBB0_24 $56(%rip) + WORD $0x910006f7 // add x23, x23, #1 + WORD $0xeb17029f // cmp x20, x23 + WORD $0x54ffff01 // b.ne LBB0_20 $-32(%rip) +LBB0_22: + WORD $0x52800014 // mov w20, #0 + WORD $0xaa1603f7 // mov x23, x22 + WORD $0xf9400122 // ldr x2, [x9] + WORD $0xb50001e2 // cbnz x2, LBB0_26 $60(%rip) + WORD $0x14000f5d // b LBB0_801 $15732(%rip) +LBB0_23: + WORD $0x52800014 // mov w20, #0 + WORD $0xf9000037 // str x23, [x1] + WORD $0xf9400122 // ldr x2, [x9] + WORD $0xb5000142 // cbnz x2, LBB0_26 $40(%rip) + WORD $0x14000f58 // b LBB0_801 $15712(%rip) +LBB0_24: + WORD $0xeb1402ff // cmp x23, x20 + WORD $0x54fffea2 // b.hs LBB0_22 $-44(%rip) +LBB0_25: + WORD $0x910006e2 // add x2, x23, #1 + WORD $0xf9000022 // str x2, [x1] + WORD $0x38776a74 // ldrb w20, [x19, x23] + WORD $0xaa0203f7 // mov x23, x2 + WORD $0xf9400122 // ldr x2, [x9] + WORD $0xb401ea02 // cbz x2, LBB0_801 $15680(%rip) +LBB0_26: + WORD $0x39405c42 // ldrb w2, [x2, #23] + WORD $0x12001042 // and w2, w2, #0x1f + WORD $0x7100085f // cmp w2, #2 + WORD $0x5400bbc0 // b.eq LBB0_316 $6008(%rip) + WORD $0x7100605f // cmp w2, #24 + WORD $0x5401e941 // b.ne LBB0_801 $15656(%rip) + WORD $0x7101ee9f // cmp w20, #123 + WORD $0x5401f701 // b.ne LBB0_829 $16096(%rip) +LBB0_29: + WORD $0xf9400414 // ldr x20, [x0, #8] + WORD $0xeb1402ff // cmp x23, x20 + WORD $0x54000162 // b.hs LBB0_34 $44(%rip) + WORD $0x38776a62 // ldrb w2, [x19, x23] + WORD $0x7100345f // cmp w2, #13 + WORD $0x54000100 // b.eq LBB0_34 $32(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x540000c0 // b.eq LBB0_34 $24(%rip) + WORD $0x51002c42 // sub w2, w2, #11 + WORD $0x3100085f // cmn w2, #2 + WORD $0x54000062 // b.hs LBB0_34 $12(%rip) + WORD $0xaa1703f5 // mov x21, x23 + WORD $0x14000031 // b LBB0_50 $196(%rip) +LBB0_34: + WORD $0x910006f5 // add x21, x23, #1 + WORD $0xeb1402bf // cmp x21, x20 + WORD $0x54000122 // b.hs LBB0_38 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_38 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_38 $16(%rip) + WORD $0x51002c42 // sub w2, w2, #11 + WORD $0x3100085f // cmn w2, #2 + WORD $0x540004c3 // b.lo LBB0_50 $152(%rip) +LBB0_38: + WORD $0x91000af5 // add x21, x23, #2 + WORD $0xeb1402bf // cmp x21, x20 + WORD $0x54000122 // b.hs LBB0_42 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_42 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_42 $16(%rip) + WORD $0x51002c42 // sub w2, w2, #11 + WORD $0x3100085f // cmn w2, #2 + WORD $0x54000363 // b.lo LBB0_50 $108(%rip) +LBB0_42: + WORD $0x91000ef5 // add x21, x23, #3 + WORD $0xeb1402bf // cmp x21, x20 + WORD $0x54000122 // b.hs LBB0_46 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_46 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_46 $16(%rip) + WORD $0x51002c42 // sub w2, w2, #11 + WORD $0x3100085f // cmn w2, #2 + WORD $0x54000203 // b.lo LBB0_50 $64(%rip) +LBB0_46: + WORD $0x910012f5 // add x21, x23, #4 + WORD $0xeb1402bf // cmp x21, x20 + WORD $0x5401e382 // b.hs LBB0_802 $15472(%rip) +LBB0_47: + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100805f // cmp w2, #32 + WORD $0x9ac22182 // lsl x2, x12, x2 + WORD $0x8a0d0042 // and x2, x2, x13 + WORD $0xfa409844 // ccmp x2, #0, #4, ls + WORD $0x540000a0 // b.eq LBB0_49 $20(%rip) + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xeb15029f // cmp x20, x21 + WORD $0x54ffff01 // b.ne LBB0_47 $-32(%rip) + WORD $0x14000f7d // b LBB0_829 $15860(%rip) +LBB0_49: + WORD $0xeb1402bf // cmp x21, x20 + WORD $0x5401ef62 // b.hs LBB0_829 $15852(%rip) +LBB0_50: + WORD $0x910006b9 // add x25, x21, #1 + WORD $0xf9000039 // str x25, [x1] + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100885f // cmp w2, #34 + WORD $0x5401ee81 // b.ne LBB0_828 $15824(%rip) + WORD $0xf940041c // ldr x28, [x0, #8] + WORD $0xeb19039b // subs x27, x28, x25 + WORD $0x54023e20 // b.eq LBB0_910 $18372(%rip) + WORD $0x3200f3e5 // mov w5, #1431655765 + WORD $0xf9400522 // ldr x2, [x9, #8] + WORD $0xa9406056 // ldp x22, x24, [x2] + WORD $0x8b190274 // add x20, x19, x25 + WORD $0xf101037f // cmp x27, #64 + WORD $0x54005883 // b.lo LBB0_203 $2832(%rip) + WORD $0xd2800017 // mov x23, #0 + WORD $0x9280001a // mov x26, #-1 +LBB0_54: + WORD $0x8b190262 // add x2, x19, x25 + WORD $0xad405053 // ldp q19, q20, [x2] + WORD $0xad415855 // ldp q21, q22, [x2, #32] + WORD $0x6e208e77 // cmeq.16b v23, v19, v0 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e238e73 // cmeq.16b v19, v19, v3 + WORD $0x6e238e94 // cmeq.16b v20, v20, v3 + WORD $0x6e238eb5 // cmeq.16b v21, v21, v3 + WORD $0x6e238ed6 // cmeq.16b v22, v22, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602e2 // fmov w2, s23 + WORD $0x4e211f17 // and.16b v23, v24, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602fe // fmov w30, s23 + WORD $0x4e211f37 // and.16b v23, v25, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602e7 // fmov w7, s23 + WORD $0x4e211f57 // and.16b v23, v26, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260266 // fmov w6, s19 + WORD $0x4e211e93 // and.16b v19, v20, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x4e211eb3 // and.16b v19, v21, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e26026f // fmov w15, s19 + WORD $0x4e211ed3 // and.16b v19, v22, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260270 // fmov w16, s19 + WORD $0xd3607ce7 // lsl x7, x7, #32 + WORD $0xaa11c0f1 // orr x17, x7, x17, lsl #48 + WORD $0x53103fc7 // lsl w7, w30, #16 + WORD $0xaa070231 // orr x17, x17, x7 + WORD $0xaa02023e // orr lr, x17, x2 + WORD $0xd3607def // lsl x15, x15, #32 + WORD $0xaa10c1ef // orr x15, x15, x16, lsl #48 + WORD $0x53103dce // lsl w14, w14, #16 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xaa0601c2 // orr x2, x14, x6 + WORD $0xb5000102 // cbnz x2, LBB0_58 $32(%rip) + WORD $0xb5000197 // cbnz x23, LBB0_59 $48(%rip) + WORD $0xb50002de // cbnz lr, LBB0_60 $88(%rip) +LBB0_57: + WORD $0xd101037b // sub x27, x27, #64 + WORD $0x91010339 // add x25, x25, #64 + WORD $0xf100ff7f // cmp x27, #63 + WORD $0x54fff8a8 // b.hi LBB0_54 $-236(%rip) + WORD $0x1400027a // b LBB0_199 $2536(%rip) +LBB0_58: + WORD $0xb100075f // cmn x26, #1 + WORD $0xdac0004e // rbit x14, x2 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1901ce // add x14, x14, x25 + WORD $0x9a8e135a // csel x26, x26, x14, ne +LBB0_59: + WORD $0x8a37004e // bic x14, x2, x23 + WORD $0xaa0e06ef // orr x15, x23, x14, lsl #1 + WORD $0x8a2f0050 // bic x16, x2, x15 + WORD $0x9201f210 // and x16, x16, #0xaaaaaaaaaaaaaaaa + WORD $0xab0e020e // adds x14, x16, x14 + WORD $0x1a9f37f7 // cset w23, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a0f01ce // and x14, x14, x15 + WORD $0x8a2e03de // bic lr, lr, x14 + WORD $0xb4fffd9e // cbz lr, LBB0_57 $-80(%rip) +LBB0_60: + WORD $0xdac003ce // rbit x14, lr + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1901ce // add x14, x14, x25 + WORD $0x910005d7 // add x23, x14, #1 + WORD $0x3200f3fe // mov w30, #1431655765 + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 +LBB0_61: + WORD $0xb7fa3297 // tbnz x23, #63, LBB0_911 $18000(%rip) + WORD $0xf9000037 // str x23, [x1] + WORD $0xb100075f // cmn x26, #1 + WORD $0x54000060 // b.eq LBB0_64 $12(%rip) + WORD $0xeb17035f // cmp x26, x23 + WORD $0x54007c0d // b.le LBB0_247 $3968(%rip) +LBB0_64: + WORD $0xcb1502ee // sub x14, x23, x21 + WORD $0xd10009c2 // sub x2, x14, #2 + WORD $0xaa18004e // orr x14, x2, x24 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0xb40002ee // cbz x14, LBB0_70 $92(%rip) + WORD $0xeb18005f // cmp x2, x24 + WORD $0x540002e1 // b.ne LBB0_71 $92(%rip) + WORD $0xd280001a // mov x26, #0 + WORD $0xaa1803f9 // mov x25, x24 +LBB0_67: + WORD $0xf1004322 // subs x2, x25, #16 + WORD $0x54001283 // b.lo LBB0_116 $592(%rip) + WORD $0x3cfa6a93 // ldr q19, [x20, x26] + WORD $0x3cfa6ad4 // ldr q20, [x22, x26] + WORD $0x6e338e93 // cmeq.16b v19, v20, v19 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x0a2e010e // bic w14, w8, w14 + WORD $0x9100435a // add x26, x26, #16 + WORD $0xaa0203f9 // mov x25, x2 + WORD $0x34fffe8e // cbz w14, LBB0_67 $-48(%rip) + WORD $0x52800016 // mov w22, #0 +Lloh6: + WORD $0x10023ff0 // adr x16, __UnquoteTab $18428(%rip) +Lloh7: + WORD $0x91000210 // add x16, x16, __UnquoteTab@PAGEOFF $0(%rip) + WORD $0x2a1f03f4 // mov w20, wzr + WORD $0x14000006 // b LBB0_73 $24(%rip) +LBB0_70: + WORD $0x52800034 // mov w20, #1 + WORD $0x14000002 // b LBB0_72 $8(%rip) +LBB0_71: + WORD $0xd2800014 // mov x20, #0 +LBB0_72: +Lloh8: + WORD $0x10023f10 // adr x16, __UnquoteTab $18400(%rip) +Lloh9: + WORD $0x91000210 // add x16, x16, __UnquoteTab@PAGEOFF $0(%rip) +LBB0_73: + WORD $0xf9400416 // ldr x22, [x0, #8] + WORD $0xeb1602ff // cmp x23, x22 + WORD $0x54000162 // b.hs LBB0_78 $44(%rip) + WORD $0x38776a62 // ldrb w2, [x19, x23] + WORD $0x7100345f // cmp w2, #13 + WORD $0x54000100 // b.eq LBB0_78 $32(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x540000c0 // b.eq LBB0_78 $24(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000062 // b.hs LBB0_78 $12(%rip) + WORD $0xaa1703f5 // mov x21, x23 + WORD $0x14000031 // b LBB0_94 $196(%rip) +LBB0_78: + WORD $0x910006f5 // add x21, x23, #1 + WORD $0xeb1602bf // cmp x21, x22 + WORD $0x54000122 // b.hs LBB0_82 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_82 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_82 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x540004c3 // b.lo LBB0_94 $152(%rip) +LBB0_82: + WORD $0x91000af5 // add x21, x23, #2 + WORD $0xeb1602bf // cmp x21, x22 + WORD $0x54000122 // b.hs LBB0_86 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_86 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_86 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000363 // b.lo LBB0_94 $108(%rip) +LBB0_86: + WORD $0x91000ef5 // add x21, x23, #3 + WORD $0xeb1602bf // cmp x21, x22 + WORD $0x54000122 // b.hs LBB0_90 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_90 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_90 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000203 // b.lo LBB0_94 $64(%rip) +LBB0_90: + WORD $0x910012f5 // add x21, x23, #4 + WORD $0xeb1602bf // cmp x21, x22 + WORD $0x5401ca62 // b.hs LBB0_802 $14668(%rip) +LBB0_91: + WORD $0x38756a6e // ldrb w14, [x19, x21] + WORD $0x710081df // cmp w14, #32 + WORD $0x9ace218e // lsl x14, x12, x14 + WORD $0x8a0d01ce // and x14, x14, x13 + WORD $0xfa4099c4 // ccmp x14, #0, #4, ls + WORD $0x540000a0 // b.eq LBB0_93 $20(%rip) + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xeb1502df // cmp x22, x21 + WORD $0x54ffff01 // b.ne LBB0_91 $-32(%rip) + WORD $0x14000eb4 // b LBB0_829 $15056(%rip) +LBB0_93: + WORD $0xeb1602bf // cmp x21, x22 + WORD $0x5401d642 // b.hs LBB0_829 $15048(%rip) +LBB0_94: + WORD $0x910006b6 // add x22, x21, #1 + WORD $0xf9000036 // str x22, [x1] + WORD $0x38756a6e // ldrb w14, [x19, x21] + WORD $0x7100e9df // cmp w14, #58 + WORD $0x5401d5a1 // b.ne LBB0_829 $15028(%rip) + WORD $0xb5011474 // cbnz x20, LBB0_491 $8844(%rip) + WORD $0xf9400417 // ldr x23, [x0, #8] + WORD $0xeb1702df // cmp x22, x23 + WORD $0x54000162 // b.hs LBB0_101 $44(%rip) + WORD $0x38766a62 // ldrb w2, [x19, x22] + WORD $0x7100345f // cmp w2, #13 + WORD $0x54000100 // b.eq LBB0_101 $32(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x540000c0 // b.eq LBB0_101 $24(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000062 // b.hs LBB0_101 $12(%rip) + WORD $0xaa1603f4 // mov x20, x22 + WORD $0x14000060 // b LBB0_125 $384(%rip) +LBB0_101: + WORD $0x91000ab4 // add x20, x21, #2 + WORD $0xeb17029f // cmp x20, x23 + WORD $0x54000122 // b.hs LBB0_105 $36(%rip) + WORD $0x38746a62 // ldrb w2, [x19, x20] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_105 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_105 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000aa3 // b.lo LBB0_125 $340(%rip) +LBB0_105: + WORD $0x91000eb4 // add x20, x21, #3 + WORD $0xeb17029f // cmp x20, x23 + WORD $0x54000122 // b.hs LBB0_109 $36(%rip) + WORD $0x38746a62 // ldrb w2, [x19, x20] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_109 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_109 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000943 // b.lo LBB0_125 $296(%rip) +LBB0_109: + WORD $0x910012b4 // add x20, x21, #4 + WORD $0xeb17029f // cmp x20, x23 + WORD $0x54000122 // b.hs LBB0_113 $36(%rip) + WORD $0x38746a62 // ldrb w2, [x19, x20] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_113 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_113 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x540007e3 // b.lo LBB0_125 $252(%rip) +LBB0_113: + WORD $0x910016b4 // add x20, x21, #5 + WORD $0xeb17029f // cmp x20, x23 + WORD $0x54001162 // b.hs LBB0_151 $556(%rip) +LBB0_114: + WORD $0x38746a6e // ldrb w14, [x19, x20] + WORD $0x710081df // cmp w14, #32 + WORD $0x9ace218e // lsl x14, x12, x14 + WORD $0x8a0d01ce // and x14, x14, x13 + WORD $0xfa4099c4 // ccmp x14, #0, #4, ls + WORD $0x54000680 // b.eq LBB0_124 $208(%rip) + WORD $0x91000694 // add x20, x20, #1 + WORD $0xeb1402ff // cmp x23, x20 + WORD $0x54ffff01 // b.ne LBB0_114 $-32(%rip) + WORD $0x14000083 // b LBB0_152 $524(%rip) +LBB0_116: + WORD $0x0b1302ae // add w14, w21, w19 + WORD $0x0b1a01ce // add w14, w14, w26 + WORD $0x110005ce // add w14, w14, #1 + WORD $0x92402dce // and x14, x14, #0xfff + WORD $0x8b1a02d5 // add x21, x22, x26 + WORD $0x8b1a0294 // add x20, x20, x26 + WORD $0xf13fc1df // cmp x14, #4080 + WORD $0x540002a8 // b.hi LBB0_119 $84(%rip) + WORD $0x92402eae // and x14, x21, #0xfff + WORD $0xf13fc5df // cmp x14, #4081 + WORD $0x54000242 // b.hs LBB0_119 $72(%rip) + WORD $0x3dc00293 // ldr q19, [x20] + WORD $0x3dc002b4 // ldr q20, [x21] + WORD $0x6e338e93 // cmeq.16b v19, v20, v19 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x6a2e010e // bics w14, w8, w14 + WORD $0x1a9f17ef // cset w15, eq + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xeb1901df // cmp x14, x25 + WORD $0x1a9f35f6 // csinc w22, w15, wzr, lo +Lloh10: + WORD $0x10022c10 // adr x16, __UnquoteTab $17792(%rip) +Lloh11: + WORD $0x91000210 // add x16, x16, __UnquoteTab@PAGEOFF $0(%rip) + WORD $0x2a1603f4 // mov w20, w22 + WORD $0x17ffff67 // b LBB0_73 $-612(%rip) +LBB0_119: + WORD $0xeb1a031f // cmp x24, x26 + WORD $0x540000c1 // b.ne LBB0_121 $24(%rip) + WORD $0x52800036 // mov w22, #1 +Lloh12: + WORD $0x10022b30 // adr x16, __UnquoteTab $17764(%rip) +Lloh13: + WORD $0x91000210 // add x16, x16, __UnquoteTab@PAGEOFF $0(%rip) + WORD $0x2a1603f4 // mov w20, w22 + WORD $0x17ffff60 // b LBB0_73 $-640(%rip) +LBB0_121: + WORD $0x52800038 // mov w24, #1 +Lloh14: + WORD $0x10022a90 // adr x16, __UnquoteTab $17744(%rip) +Lloh15: + WORD $0x91000210 // add x16, x16, __UnquoteTab@PAGEOFF $0(%rip) +LBB0_122: + WORD $0x3840168e // ldrb w14, [x20], #1 + WORD $0x384016af // ldrb w15, [x21], #1 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x1a9f17f6 // cset w22, eq + WORD $0xfa580324 // ccmp x25, x24, #4, eq + WORD $0x91000718 // add x24, x24, #1 + WORD $0x54ffff41 // b.ne LBB0_122 $-24(%rip) + WORD $0x2a1603f4 // mov w20, w22 + WORD $0x17ffff54 // b LBB0_73 $-688(%rip) +LBB0_124: + WORD $0xeb17029f // cmp x20, x23 + WORD $0x54000a42 // b.hs LBB0_152 $328(%rip) +LBB0_125: + WORD $0x91000696 // add x22, x20, #1 + WORD $0xf9000036 // str x22, [x1] + WORD $0x38746a75 // ldrb w21, [x19, x20] + WORD $0x71016abf // cmp w21, #90 + WORD $0x540005ec // b.gt LBB0_140 $188(%rip) + WORD $0x7100bebf // cmp w21, #47 + WORD $0x540007ad // b.le LBB0_145 $244(%rip) + WORD $0x5100c2ae // sub w14, w21, #48 + WORD $0x710029df // cmp w14, #10 + WORD $0x540008c2 // b.hs LBB0_151 $280(%rip) +LBB0_128: + WORD $0xf940040e // ldr x14, [x0, #8] + WORD $0xcb1601d4 // sub x20, x14, x22 + WORD $0xf100429f // cmp x20, #16 + WORD $0x540001e3 // b.lo LBB0_131 $60(%rip) +LBB0_129: + WORD $0x3cf66a73 // ldr q19, [x19, x22] + WORD $0x6e248e74 // cmeq.16b v20, v19, v4 + WORD $0x4e251e73 // and.16b v19, v19, v5 + WORD $0x6e268e73 // cmeq.16b v19, v19, v6 + WORD $0x4eb41e73 // orr.16b v19, v19, v20 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260262 // fmov w2, s19 + WORD $0x350002e2 // cbnz w2, LBB0_139 $92(%rip) + WORD $0xd1004294 // sub x20, x20, #16 + WORD $0x910042d6 // add x22, x22, #16 + WORD $0xf1003e9f // cmp x20, #15 + WORD $0x54fffe68 // b.hi LBB0_129 $-52(%rip) +LBB0_131: + WORD $0x8b160275 // add x21, x19, x22 + WORD $0xb40001f4 // cbz x20, LBB0_138 $60(%rip) + WORD $0x8b1402b7 // add x23, x21, x20 + WORD $0xcb1302b6 // sub x22, x21, x19 +LBB0_133: + WORD $0x394002a2 // ldrb w2, [x21] + WORD $0x7100b05f // cmp w2, #44 + WORD $0x54005d60 // b.eq LBB0_246 $2988(%rip) + WORD $0x7101f45f // cmp w2, #125 + WORD $0x54005d20 // b.eq LBB0_246 $2980(%rip) + WORD $0x7101745f // cmp w2, #93 + WORD $0x54005ce0 // b.eq LBB0_246 $2972(%rip) + WORD $0x910006b5 // add x21, x21, #1 + WORD $0x910006d6 // add x22, x22, #1 + WORD $0xf1000694 // subs x20, x20, #1 + WORD $0x54fffec1 // b.ne LBB0_133 $-40(%rip) + WORD $0xaa1703f5 // mov x21, x23 +LBB0_138: + WORD $0xcb1302b6 // sub x22, x21, x19 + WORD $0x1400042e // b LBB0_314 $4280(%rip) +LBB0_139: + WORD $0x5ac0004e // rbit w14, w2 + WORD $0x5ac011ce // clz w14, w14 + WORD $0x8b1601d6 // add x22, x14, x22 + WORD $0xf9000036 // str x22, [x1] + WORD $0x1400001f // b LBB0_152 $124(%rip) +LBB0_140: + WORD $0x7101b6bf // cmp w21, #109 + WORD $0x540002ad // b.le LBB0_148 $84(%rip) + WORD $0x7101babf // cmp w21, #110 + WORD $0x54002b20 // b.eq LBB0_200 $1380(%rip) + WORD $0x7101d2bf // cmp w21, #116 + WORD $0x54002ae0 // b.eq LBB0_200 $1372(%rip) + WORD $0x7101eebf // cmp w21, #123 + WORD $0x540002a1 // b.ne LBB0_151 $84(%rip) + WORD $0xd2800019 // mov x25, #0 + WORD $0xd2800017 // mov x23, #0 + WORD $0xd2800014 // mov x20, #0 + WORD $0xd2800015 // mov x21, #0 + WORD $0xf940040e // ldr x14, [x0, #8] + WORD $0xcb1601d8 // sub x24, x14, x22 + WORD $0x8b160273 // add x19, x19, x22 + WORD $0x1400005a // b LBB0_175 $360(%rip) +LBB0_145: + WORD $0x340001d5 // cbz w21, LBB0_152 $56(%rip) + WORD $0x71008abf // cmp w21, #34 + WORD $0x54002f00 // b.eq LBB0_209 $1504(%rip) + WORD $0x7100b6bf // cmp w21, #45 + WORD $0x54fff860 // b.eq LBB0_128 $-244(%rip) + WORD $0x14000007 // b LBB0_151 $28(%rip) +LBB0_148: + WORD $0x71016ebf // cmp w21, #91 + WORD $0x54003660 // b.eq LBB0_218 $1740(%rip) + WORD $0x71019abf // cmp w21, #102 + WORD $0x54000061 // b.ne LBB0_151 $12(%rip) + WORD $0x91001682 // add x2, x20, #5 + WORD $0x14000142 // b LBB0_201 $1288(%rip) +LBB0_151: + WORD $0xf9000034 // str x20, [x1] + WORD $0xaa1403f6 // mov x22, x20 +LBB0_152: + WORD $0xa9405013 // ldp x19, x20, [x0] + WORD $0xeb1402df // cmp x22, x20 + WORD $0x54000162 // b.hs LBB0_157 $44(%rip) + WORD $0x38766a62 // ldrb w2, [x19, x22] + WORD $0x7100345f // cmp w2, #13 + WORD $0x54000100 // b.eq LBB0_157 $32(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x540000c0 // b.eq LBB0_157 $24(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000062 // b.hs LBB0_157 $12(%rip) + WORD $0xaa1603f5 // mov x21, x22 + WORD $0x14000031 // b LBB0_173 $196(%rip) +LBB0_157: + WORD $0x910006d5 // add x21, x22, #1 + WORD $0xeb1402bf // cmp x21, x20 + WORD $0x54000122 // b.hs LBB0_161 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_161 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_161 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x540004c3 // b.lo LBB0_173 $152(%rip) +LBB0_161: + WORD $0x91000ad5 // add x21, x22, #2 + WORD $0xeb1402bf // cmp x21, x20 + WORD $0x54000122 // b.hs LBB0_165 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_165 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_165 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000363 // b.lo LBB0_173 $108(%rip) +LBB0_165: + WORD $0x91000ed5 // add x21, x22, #3 + WORD $0xeb1402bf // cmp x21, x20 + WORD $0x54000122 // b.hs LBB0_169 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_169 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_169 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000203 // b.lo LBB0_173 $64(%rip) +LBB0_169: + WORD $0x910012d5 // add x21, x22, #4 + WORD $0xeb1402bf // cmp x21, x20 + WORD $0x5401aa62 // b.hs LBB0_802 $13644(%rip) +LBB0_170: + WORD $0x38756a6e // ldrb w14, [x19, x21] + WORD $0x710081df // cmp w14, #32 + WORD $0x9ace218e // lsl x14, x12, x14 + WORD $0x8a0d01ce // and x14, x14, x13 + WORD $0xfa4099c4 // ccmp x14, #0, #4, ls + WORD $0x540000a0 // b.eq LBB0_172 $20(%rip) + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xeb15029f // cmp x20, x21 + WORD $0x54ffff01 // b.ne LBB0_170 $-32(%rip) + WORD $0x14000db4 // b LBB0_829 $14032(%rip) +LBB0_172: + WORD $0xeb1402bf // cmp x21, x20 + WORD $0x5401b642 // b.hs LBB0_829 $14024(%rip) +LBB0_173: + WORD $0x910006b7 // add x23, x21, #1 + WORD $0xf9000037 // str x23, [x1] + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100b05f // cmp w2, #44 + WORD $0x54ffbec0 // b.eq LBB0_29 $-2088(%rip) + WORD $0x14000daa // b LBB0_828 $13992(%rip) +LBB0_174: + WORD $0x937fff39 // asr x25, x25, #63 + WORD $0x9e670353 // fmov d19, x26 + WORD $0x0e205a73 // cnt.8b v19, v19 + WORD $0x2e303a73 // uaddlv.8b h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x8b1401d4 // add x20, x14, x20 + WORD $0x91010273 // add x19, x19, #64 + WORD $0xf9400ff8 // ldr x24, [sp, #24] +LBB0_175: + WORD $0xf101030e // subs x14, x24, #64 + WORD $0xf9000fee // str x14, [sp, #24] + WORD $0x540016eb // b.lt LBB0_182 $732(%rip) +LBB0_176: + WORD $0xb201e3f6 // mov x22, #-8608480567731124088 + WORD $0xb203e3fb // mov x27, #2459565876494606882 + WORD $0xf2e0445b // movk x27, #546, lsl #48 + WORD $0xad405676 // ldp q22, q21, [x19] + WORD $0xad414e74 // ldp q20, q19, [x19, #32] + WORD $0x6e238ed7 // cmeq.16b v23, v22, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ee // fmov w14, s23 + WORD $0x6e238eb7 // cmeq.16b v23, v21, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ef // fmov w15, s23 + WORD $0x6e238e97 // cmeq.16b v23, v20, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f0 // fmov w16, s23 + WORD $0x6e238e77 // cmeq.16b v23, v19, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01e2 // orr x2, x15, x14 + WORD $0xaa17004e // orr x14, x2, x23 + WORD $0xb500008e // cbnz x14, LBB0_178 $16(%rip) + WORD $0xd2800017 // mov x23, #0 + WORD $0xd280001a // mov x26, #0 + WORD $0x1400000a // b LBB0_179 $40(%rip) +LBB0_178: + WORD $0x8a37004e // bic x14, x2, x23 + WORD $0xaa0e06ef // orr x15, x23, x14, lsl #1 + WORD $0x8a2f0050 // bic x16, x2, x15 + WORD $0x9201f210 // and x16, x16, #0xaaaaaaaaaaaaaaaa + WORD $0xab0e020e // adds x14, x16, x14 + WORD $0x1a9f37f7 // cset w23, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a0f01da // and x26, x14, x15 +LBB0_179: + WORD $0x6e208ed7 // cmeq.16b v23, v22, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ee // fmov w14, s23 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ef // fmov w15, s23 + WORD $0x6e208e97 // cmeq.16b v23, v20, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f0 // fmov w16, s23 + WORD $0x6e208e77 // cmeq.16b v23, v19, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0x8a3a01ce // bic x14, x14, x26 + WORD $0x9200e1cf // and x15, x14, #0x1111111111111111 + WORD $0x9203e1d0 // and x16, x14, #0x2222222222222222 + WORD $0x9202e1d1 // and x17, x14, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0x9b047de2 // mul x2, x15, x4 + WORD $0x9b1c7e06 // mul x6, x16, x28 + WORD $0xca060042 // eor x2, x2, x6 + WORD $0x9b077e26 // mul x6, x17, x7 + WORD $0xb202e3e5 // mov x5, #4919131752989213764 + WORD $0xf2e08885 // movk x5, #1092, lsl #48 + WORD $0x9b1b7dc7 // mul x7, x14, x27 + WORD $0xca0700c6 // eor x6, x6, x7 + WORD $0xca060042 // eor x2, x2, x6 + WORD $0xb203e3fe // mov lr, #2459565876494606882 + WORD $0x9b1e7de6 // mul x6, x15, lr + WORD $0x9b047e07 // mul x7, x16, x4 + WORD $0xca0700c6 // eor x6, x6, x7 + WORD $0x9b1c7e27 // mul x7, x17, x28 + WORD $0x9b057dda // mul x26, x14, x5 + WORD $0xca1a00e7 // eor x7, x7, x26 + WORD $0xca0700c6 // eor x6, x6, x7 + WORD $0xb202e3e5 // mov x5, #4919131752989213764 + WORD $0x9b057de7 // mul x7, x15, x5 + WORD $0x9b1e7e1a // mul x26, x16, lr + WORD $0xca1a00e7 // eor x7, x7, x26 + WORD $0x9b047e3a // mul x26, x17, x4 + WORD $0x9b1c7ddb // mul x27, x14, x28 + WORD $0xca1b035a // eor x26, x26, x27 + WORD $0xca1a00e7 // eor x7, x7, x26 + WORD $0x9b167def // mul x15, x15, x22 + WORD $0x9b057e10 // mul x16, x16, x5 + WORD $0xca1001ef // eor x15, x15, x16 + WORD $0x9b1e7e30 // mul x16, x17, lr + WORD $0x9b047dce // mul x14, x14, x4 + WORD $0xca0e020e // eor x14, x16, x14 + WORD $0xca0e01ee // eor x14, x15, x14 + WORD $0x9200e04f // and x15, x2, #0x1111111111111111 + WORD $0x9203e0d0 // and x16, x6, #0x2222222222222222 + WORD $0x9202e0f1 // and x17, x7, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xaa1001ef // orr x15, x15, x16 + WORD $0xaa0e022e // orr x14, x17, x14 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xca1901d9 // eor x25, x14, x25 + WORD $0x6e318ed7 // cmeq.16b v23, v22, v17 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ee // fmov w14, s23 + WORD $0x6e318eb7 // cmeq.16b v23, v21, v17 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ef // fmov w15, s23 + WORD $0x6e318e97 // cmeq.16b v23, v20, v17 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f0 // fmov w16, s23 + WORD $0x6e318e77 // cmeq.16b v23, v19, v17 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0x8a3901da // bic x26, x14, x25 + WORD $0x6e328ed6 // cmeq.16b v22, v22, v18 + WORD $0x4e211ed6 // and.16b v22, v22, v1 + WORD $0x4e0202d6 // tbl.16b v22, { v22 }, v2 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602ce // fmov w14, s22 + WORD $0x6e328eb5 // cmeq.16b v21, v21, v18 + WORD $0x4e211eb5 // and.16b v21, v21, v1 + WORD $0x4e0202b5 // tbl.16b v21, { v21 }, v2 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602af // fmov w15, s21 + WORD $0x6e328e94 // cmeq.16b v20, v20, v18 + WORD $0x4e211e94 // and.16b v20, v20, v1 + WORD $0x4e020294 // tbl.16b v20, { v20 }, v2 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260290 // fmov w16, s20 + WORD $0x6e328e73 // cmeq.16b v19, v19, v18 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260271 // fmov w17, s19 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xea3901db // bics x27, x14, x25 + WORD $0x54ffe9a0 // b.eq LBB0_174 $-716(%rip) +LBB0_180: + WORD $0xd1000762 // sub x2, x27, #1 + WORD $0x8a1a004e // and x14, x2, x26 + WORD $0x9e6701d3 // fmov d19, x14 + WORD $0x0e205a73 // cnt.8b v19, v19 + WORD $0x2e303a73 // uaddlv.8b h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x8b1401ce // add x14, x14, x20 + WORD $0xeb1501df // cmp x14, x21 + WORD $0x54003589 // b.ls LBB0_244 $1712(%rip) + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xea1b005b // ands x27, x2, x27 + WORD $0x54fffea1 // b.ne LBB0_180 $-44(%rip) + WORD $0x17ffff40 // b LBB0_174 $-768(%rip) +LBB0_182: + WORD $0xf100031f // cmp x24, #0 + WORD $0x54005ccd // b.le LBB0_306 $2968(%rip) + WORD $0xad0243f0 // stp q16, q16, [sp, #64] + WORD $0xad0143f0 // stp q16, q16, [sp, #32] + WORD $0x92402e68 // and x8, x19, #0xfff + WORD $0xf13f051f // cmp x8, #4033 + WORD $0x54000363 // b.lo LBB0_194 $108(%rip) + WORD $0xf100831a // subs x26, x24, #32 + WORD $0x540000a3 // b.lo LBB0_186 $20(%rip) + WORD $0xacc15273 // ldp q19, q20, [x19], #32 + WORD $0xad0153f3 // stp q19, q20, [sp, #32] + WORD $0xaa0b03e8 // mov x8, x11 + WORD $0x14000003 // b LBB0_187 $12(%rip) +LBB0_186: + WORD $0x910083e8 // add x8, sp, #32 + WORD $0xaa1803fa // mov x26, x24 +LBB0_187: + WORD $0xf1004342 // subs x2, x26, #16 + WORD $0x54000303 // b.lo LBB0_195 $96(%rip) + WORD $0x3cc10673 // ldr q19, [x19], #16 + WORD $0x3c810513 // str q19, [x8], #16 + WORD $0xaa0203fa // mov x26, x2 + WORD $0xf1002042 // subs x2, x2, #8 + WORD $0x540002a2 // b.hs LBB0_196 $84(%rip) +LBB0_189: + WORD $0xf1001342 // subs x2, x26, #4 + WORD $0x54000303 // b.lo LBB0_197 $96(%rip) +LBB0_190: + WORD $0xb840466e // ldr w14, [x19], #4 + WORD $0xb800450e // str w14, [x8], #4 + WORD $0xaa0203fa // mov x26, x2 + WORD $0xf1000842 // subs x2, x2, #2 + WORD $0x540002a2 // b.hs LBB0_198 $84(%rip) +LBB0_191: + WORD $0xb400007a // cbz x26, LBB0_193 $12(%rip) +LBB0_192: + WORD $0x3940026e // ldrb w14, [x19] + WORD $0x3900010e // strb w14, [x8] +LBB0_193: + WORD $0x910083f3 // add x19, sp, #32 +LBB0_194: + WORD $0x529fffe8 // mov w8, #65535 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0x17ffff23 // b LBB0_176 $-884(%rip) +LBB0_195: + WORD $0xf1002342 // subs x2, x26, #8 + WORD $0x54fffda3 // b.lo LBB0_189 $-76(%rip) +LBB0_196: + WORD $0xf840866e // ldr x14, [x19], #8 + WORD $0xf800850e // str x14, [x8], #8 + WORD $0xaa0203fa // mov x26, x2 + WORD $0xf1001042 // subs x2, x2, #4 + WORD $0x54fffd42 // b.hs LBB0_190 $-88(%rip) +LBB0_197: + WORD $0xf1000b42 // subs x2, x26, #2 + WORD $0x54fffda3 // b.lo LBB0_191 $-76(%rip) +LBB0_198: + WORD $0x7840266e // ldrh w14, [x19], #2 + WORD $0x7800250e // strh w14, [x8], #2 + WORD $0xaa0203fa // mov x26, x2 + WORD $0xb5fffd42 // cbnz x2, LBB0_192 $-88(%rip) + WORD $0x17ffffeb // b LBB0_193 $-84(%rip) +LBB0_199: + WORD $0x8b190270 // add x16, x19, x25 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0x1400000b // b LBB0_204 $44(%rip) +LBB0_200: + WORD $0x91001282 // add x2, x20, #4 +LBB0_201: + WORD $0xf940040e // ldr x14, [x0, #8] + WORD $0xeb0e005f // cmp x2, x14 + WORD $0x54ffd7e8 // b.hi LBB0_152 $-1284(%rip) + WORD $0xf9000022 // str x2, [x1] + WORD $0xaa0203f6 // mov x22, x2 + WORD $0x17fffebc // b LBB0_152 $-1296(%rip) +LBB0_203: + WORD $0xd2800017 // mov x23, #0 + WORD $0x9280001a // mov x26, #-1 + WORD $0xaa1403f0 // mov x16, x20 +LBB0_204: + WORD $0xf1008379 // subs x25, x27, #32 + WORD $0x54004b03 // b.lo LBB0_289 $2400(%rip) + WORD $0xad405213 // ldp q19, q20, [x16] + WORD $0x6e208e75 // cmeq.16b v21, v19, v0 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e238e73 // cmeq.16b v19, v19, v3 + WORD $0x6e238e94 // cmeq.16b v20, v20, v3 + WORD $0x4e211eb5 // and.16b v21, v21, v1 + WORD $0x4e0202b5 // tbl.16b v21, { v21 }, v2 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602bb // fmov w27, s21 + WORD $0x4e211ed5 // and.16b v21, v22, v1 + WORD $0x4e0202b5 // tbl.16b v21, { v21 }, v2 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602ae // fmov w14, s21 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e26027e // fmov w30, s19 + WORD $0x4e211e93 // and.16b v19, v20, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e26026f // fmov w15, s19 + WORD $0x33103ddb // bfi w27, w14, #16, #16 + WORD $0x33103dfe // bfi w30, w15, #16, #16 + WORD $0x3500485e // cbnz w30, LBB0_290 $2312(%rip) + WORD $0xb50048f7 // cbnz x23, LBB0_291 $2332(%rip) + WORD $0x3200f3fe // mov w30, #1431655765 + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0xb4004adb // cbz x27, LBB0_292 $2392(%rip) +LBB0_208: + WORD $0xdac0036e // rbit x14, x27 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb13020f // sub x15, x16, x19 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910005d7 // add x23, x14, #1 + WORD $0x17fffd6e // b LBB0_61 $-2632(%rip) +LBB0_209: + WORD $0xf9400402 // ldr x2, [x0, #8] + WORD $0xcb160055 // sub x21, x2, x22 + WORD $0xf10082bf // cmp x21, #32 + WORD $0x540045cb // b.lt LBB0_288 $2232(%rip) + WORD $0xd2800015 // mov x21, #0 + WORD $0xd2800019 // mov x25, #0 + WORD $0x8b140278 // add x24, x19, x20 + WORD $0xcb140057 // sub x23, x2, x20 + WORD $0x528003fa // mov w26, #31 +LBB0_211: + WORD $0x8b15030e // add x14, x24, x21 + WORD $0x3cc011d3 // ldur q19, [x14, #1] + WORD $0x3cc111d4 // ldur q20, [x14, #17] + WORD $0x6e208e75 // cmeq.16b v21, v19, v0 + WORD $0x4e211eb5 // and.16b v21, v21, v1 + WORD $0x4e0202b5 // tbl.16b v21, { v21 }, v2 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602bb // fmov w27, s21 + WORD $0x6e208e95 // cmeq.16b v21, v20, v0 + WORD $0x4e211eb5 // and.16b v21, v21, v1 + WORD $0x4e0202b5 // tbl.16b v21, { v21 }, v2 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602ae // fmov w14, s21 + WORD $0x33103ddb // bfi w27, w14, #16, #16 + WORD $0x6e238e73 // cmeq.16b v19, v19, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260262 // fmov w2, s19 + WORD $0x6e238e93 // cmeq.16b v19, v20, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x33103dc2 // bfi w2, w14, #16, #16 + WORD $0x7100005f // cmp w2, #0 + WORD $0xfa400b20 // ccmp x25, #0, #0, eq + WORD $0x54000180 // b.eq LBB0_213 $48(%rip) + WORD $0x0a39004e // bic w14, w2, w25 + WORD $0x2a0e072f // orr w15, w25, w14, lsl #1 + WORD $0x0a050050 // and w16, w2, w5 + WORD $0x0a2f0210 // bic w16, w16, w15 + WORD $0x2b0e020e // adds w14, w16, w14 + WORD $0x1a9f37f9 // cset w25, hs + WORD $0x4a0e07ce // eor w14, w30, w14, lsl #1 + WORD $0x0a0f01ce // and w14, w14, w15 + WORD $0x2a2e03ee // mvn w14, w14 + WORD $0x8a1b01db // and x27, x14, x27 + WORD $0x14000002 // b LBB0_214 $8(%rip) +LBB0_213: + WORD $0xd2800019 // mov x25, #0 +LBB0_214: + WORD $0xb500235b // cbnz x27, LBB0_245 $1128(%rip) + WORD $0x910082b5 // add x21, x21, #32 + WORD $0xd100835a // sub x26, x26, #32 + WORD $0x8b1a02ee // add x14, x23, x26 + WORD $0xf100fddf // cmp x14, #63 + WORD $0x54fffa6c // b.gt LBB0_211 $-180(%rip) + WORD $0xb5004959 // cbnz x25, LBB0_307 $2344(%rip) + WORD $0x8b140268 // add x8, x19, x20 + WORD $0x8b150108 // add x8, x8, x21 + WORD $0x91000508 // add x8, x8, #1 + WORD $0xaa3503ee // mvn x14, x21 + WORD $0x8b1701d5 // add x21, x14, x23 + WORD $0xf10006bf // cmp x21, #1 + WORD $0x54004a6a // b.ge LBB0_310 $2380(%rip) + WORD $0x14000260 // b LBB0_315 $2432(%rip) +LBB0_218: + WORD $0xd2800019 // mov x25, #0 + WORD $0xd2800017 // mov x23, #0 + WORD $0xd2800014 // mov x20, #0 + WORD $0xd2800015 // mov x21, #0 + WORD $0xf940040e // ldr x14, [x0, #8] + WORD $0xcb1601d8 // sub x24, x14, x22 + WORD $0x8b160273 // add x19, x19, x22 + WORD $0x14000009 // b LBB0_220 $36(%rip) +LBB0_219: + WORD $0x937fff39 // asr x25, x25, #63 + WORD $0x9e670353 // fmov d19, x26 + WORD $0x0e205a73 // cnt.8b v19, v19 + WORD $0x2e303a73 // uaddlv.8b h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x8b1401d4 // add x20, x14, x20 + WORD $0x91010273 // add x19, x19, #64 + WORD $0xf9400ff8 // ldr x24, [sp, #24] +LBB0_220: + WORD $0xf101030e // subs x14, x24, #64 + WORD $0xf9000fee // str x14, [sp, #24] + WORD $0x540016eb // b.lt LBB0_227 $732(%rip) +LBB0_221: + WORD $0xb201e3f6 // mov x22, #-8608480567731124088 + WORD $0xb203e3fb // mov x27, #2459565876494606882 + WORD $0xf2e0445b // movk x27, #546, lsl #48 + WORD $0xad405676 // ldp q22, q21, [x19] + WORD $0xad414e74 // ldp q20, q19, [x19, #32] + WORD $0x6e238ed7 // cmeq.16b v23, v22, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ee // fmov w14, s23 + WORD $0x6e238eb7 // cmeq.16b v23, v21, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ef // fmov w15, s23 + WORD $0x6e238e97 // cmeq.16b v23, v20, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f0 // fmov w16, s23 + WORD $0x6e238e77 // cmeq.16b v23, v19, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01e2 // orr x2, x15, x14 + WORD $0xaa17004e // orr x14, x2, x23 + WORD $0xb500008e // cbnz x14, LBB0_223 $16(%rip) + WORD $0xd2800017 // mov x23, #0 + WORD $0xd280001a // mov x26, #0 + WORD $0x1400000a // b LBB0_224 $40(%rip) +LBB0_223: + WORD $0x8a37004e // bic x14, x2, x23 + WORD $0xaa0e06ef // orr x15, x23, x14, lsl #1 + WORD $0x8a2f0050 // bic x16, x2, x15 + WORD $0x9201f210 // and x16, x16, #0xaaaaaaaaaaaaaaaa + WORD $0xab0e020e // adds x14, x16, x14 + WORD $0x1a9f37f7 // cset w23, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a0f01da // and x26, x14, x15 +LBB0_224: + WORD $0x6e208ed7 // cmeq.16b v23, v22, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ee // fmov w14, s23 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ef // fmov w15, s23 + WORD $0x6e208e97 // cmeq.16b v23, v20, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f0 // fmov w16, s23 + WORD $0x6e208e77 // cmeq.16b v23, v19, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0x8a3a01ce // bic x14, x14, x26 + WORD $0x9200e1cf // and x15, x14, #0x1111111111111111 + WORD $0x9203e1d0 // and x16, x14, #0x2222222222222222 + WORD $0x9202e1d1 // and x17, x14, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0x9b047de2 // mul x2, x15, x4 + WORD $0x9b1c7e06 // mul x6, x16, x28 + WORD $0xca060042 // eor x2, x2, x6 + WORD $0x9b077e26 // mul x6, x17, x7 + WORD $0xb202e3e5 // mov x5, #4919131752989213764 + WORD $0xf2e08885 // movk x5, #1092, lsl #48 + WORD $0x9b1b7dc7 // mul x7, x14, x27 + WORD $0xca0700c6 // eor x6, x6, x7 + WORD $0xca060042 // eor x2, x2, x6 + WORD $0xb203e3fe // mov lr, #2459565876494606882 + WORD $0x9b1e7de6 // mul x6, x15, lr + WORD $0x9b047e07 // mul x7, x16, x4 + WORD $0xca0700c6 // eor x6, x6, x7 + WORD $0x9b1c7e27 // mul x7, x17, x28 + WORD $0x9b057dda // mul x26, x14, x5 + WORD $0xca1a00e7 // eor x7, x7, x26 + WORD $0xca0700c6 // eor x6, x6, x7 + WORD $0xb202e3e5 // mov x5, #4919131752989213764 + WORD $0x9b057de7 // mul x7, x15, x5 + WORD $0x9b1e7e1a // mul x26, x16, lr + WORD $0xca1a00e7 // eor x7, x7, x26 + WORD $0x9b047e3a // mul x26, x17, x4 + WORD $0x9b1c7ddb // mul x27, x14, x28 + WORD $0xca1b035a // eor x26, x26, x27 + WORD $0xca1a00e7 // eor x7, x7, x26 + WORD $0x9b167def // mul x15, x15, x22 + WORD $0x9b057e10 // mul x16, x16, x5 + WORD $0xca1001ef // eor x15, x15, x16 + WORD $0x9b1e7e30 // mul x16, x17, lr + WORD $0x9b047dce // mul x14, x14, x4 + WORD $0xca0e020e // eor x14, x16, x14 + WORD $0xca0e01ee // eor x14, x15, x14 + WORD $0x9200e04f // and x15, x2, #0x1111111111111111 + WORD $0x9203e0d0 // and x16, x6, #0x2222222222222222 + WORD $0x9202e0f1 // and x17, x7, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xaa1001ef // orr x15, x15, x16 + WORD $0xaa0e022e // orr x14, x17, x14 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xca1901d9 // eor x25, x14, x25 + WORD $0x6e278ed7 // cmeq.16b v23, v22, v7 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ee // fmov w14, s23 + WORD $0x6e278eb7 // cmeq.16b v23, v21, v7 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ef // fmov w15, s23 + WORD $0x6e278e97 // cmeq.16b v23, v20, v7 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f0 // fmov w16, s23 + WORD $0x6e278e77 // cmeq.16b v23, v19, v7 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0x8a3901da // bic x26, x14, x25 + WORD $0x6e268ed6 // cmeq.16b v22, v22, v6 + WORD $0x4e211ed6 // and.16b v22, v22, v1 + WORD $0x4e0202d6 // tbl.16b v22, { v22 }, v2 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602ce // fmov w14, s22 + WORD $0x6e268eb5 // cmeq.16b v21, v21, v6 + WORD $0x4e211eb5 // and.16b v21, v21, v1 + WORD $0x4e0202b5 // tbl.16b v21, { v21 }, v2 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602af // fmov w15, s21 + WORD $0x6e268e94 // cmeq.16b v20, v20, v6 + WORD $0x4e211e94 // and.16b v20, v20, v1 + WORD $0x4e020294 // tbl.16b v20, { v20 }, v2 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260290 // fmov w16, s20 + WORD $0x6e268e73 // cmeq.16b v19, v19, v6 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260271 // fmov w17, s19 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xea3901db // bics x27, x14, x25 + WORD $0x54ffe9a0 // b.eq LBB0_219 $-716(%rip) +LBB0_225: + WORD $0xd1000762 // sub x2, x27, #1 + WORD $0x8a1a004e // and x14, x2, x26 + WORD $0x9e6701d3 // fmov d19, x14 + WORD $0x0e205a73 // cnt.8b v19, v19 + WORD $0x2e303a73 // uaddlv.8b h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x8b1401ce // add x14, x14, x20 + WORD $0xeb1501df // cmp x14, x21 + WORD $0x54000769 // b.ls LBB0_244 $236(%rip) + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xea1b005b // ands x27, x2, x27 + WORD $0x54fffea1 // b.ne LBB0_225 $-44(%rip) + WORD $0x17ffff40 // b LBB0_219 $-768(%rip) +LBB0_227: + WORD $0xf100031f // cmp x24, #0 + WORD $0x54002ead // b.le LBB0_306 $1492(%rip) + WORD $0xad0243f0 // stp q16, q16, [sp, #64] + WORD $0xad0143f0 // stp q16, q16, [sp, #32] + WORD $0x92402e68 // and x8, x19, #0xfff + WORD $0xf13f051f // cmp x8, #4033 + WORD $0x54000363 // b.lo LBB0_239 $108(%rip) + WORD $0xf100831a // subs x26, x24, #32 + WORD $0x540000a3 // b.lo LBB0_231 $20(%rip) + WORD $0xacc15273 // ldp q19, q20, [x19], #32 + WORD $0xad0153f3 // stp q19, q20, [sp, #32] + WORD $0xaa0b03e8 // mov x8, x11 + WORD $0x14000003 // b LBB0_232 $12(%rip) +LBB0_231: + WORD $0x910083e8 // add x8, sp, #32 + WORD $0xaa1803fa // mov x26, x24 +LBB0_232: + WORD $0xf1004342 // subs x2, x26, #16 + WORD $0x54000303 // b.lo LBB0_240 $96(%rip) + WORD $0x3cc10673 // ldr q19, [x19], #16 + WORD $0x3c810513 // str q19, [x8], #16 + WORD $0xaa0203fa // mov x26, x2 + WORD $0xf1002042 // subs x2, x2, #8 + WORD $0x540002a2 // b.hs LBB0_241 $84(%rip) +LBB0_234: + WORD $0xf1001342 // subs x2, x26, #4 + WORD $0x54000303 // b.lo LBB0_242 $96(%rip) +LBB0_235: + WORD $0xb840466e // ldr w14, [x19], #4 + WORD $0xb800450e // str w14, [x8], #4 + WORD $0xaa0203fa // mov x26, x2 + WORD $0xf1000842 // subs x2, x2, #2 + WORD $0x540002a2 // b.hs LBB0_243 $84(%rip) +LBB0_236: + WORD $0xb400007a // cbz x26, LBB0_238 $12(%rip) +LBB0_237: + WORD $0x3940026e // ldrb w14, [x19] + WORD $0x3900010e // strb w14, [x8] +LBB0_238: + WORD $0x910083f3 // add x19, sp, #32 +LBB0_239: + WORD $0x529fffe8 // mov w8, #65535 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0x17ffff23 // b LBB0_221 $-884(%rip) +LBB0_240: + WORD $0xf1002342 // subs x2, x26, #8 + WORD $0x54fffda3 // b.lo LBB0_234 $-76(%rip) +LBB0_241: + WORD $0xf840866e // ldr x14, [x19], #8 + WORD $0xf800850e // str x14, [x8], #8 + WORD $0xaa0203fa // mov x26, x2 + WORD $0xf1001042 // subs x2, x2, #4 + WORD $0x54fffd42 // b.hs LBB0_235 $-88(%rip) +LBB0_242: + WORD $0xf1000b42 // subs x2, x26, #2 + WORD $0x54fffda3 // b.lo LBB0_236 $-76(%rip) +LBB0_243: + WORD $0x7840266e // ldrh w14, [x19], #2 + WORD $0x7800250e // strh w14, [x8], #2 + WORD $0xaa0203fa // mov x26, x2 + WORD $0xb5fffd42 // cbnz x2, LBB0_237 $-88(%rip) + WORD $0x17ffffeb // b LBB0_238 $-84(%rip) +LBB0_244: + WORD $0xf940040e // ldr x14, [x0, #8] + WORD $0xdac0036f // rbit x15, x27 + WORD $0xdac011ef // clz x15, x15 + WORD $0xcb1801ef // sub x15, x15, x24 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910005cf // add x15, x14, #1 + WORD $0xf900002f // str x15, [x1] + WORD $0xf9400410 // ldr x16, [x0, #8] + WORD $0xeb1001ff // cmp x15, x16 + WORD $0x9a8e2616 // csinc x22, x16, x14, hs + WORD $0xf9000036 // str x22, [x1] + WORD $0x17fffd4a // b LBB0_152 $-2776(%rip) +LBB0_245: + WORD $0xdac0036e // rbit x14, x27 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b15028f // add x15, x20, x21 + WORD $0x8b0f01ce // add x14, x14, x15 + WORD $0x910009d6 // add x22, x14, #2 +LBB0_246: + WORD $0xf9000036 // str x22, [x1] + WORD $0x17fffd43 // b LBB0_152 $-2804(%rip) +LBB0_247: + WORD $0x5284801a // mov w26, #9216 + WORD $0x72bf941a // movk w26, #64672, lsl #16 + WORD $0xf90013ff // str xzr, [sp, #32] + WORD $0x8b170268 // add x8, x19, x23 + WORD $0xd1000515 // sub x21, x8, #1 + WORD $0x8b1802d9 // add x25, x22, x24 + WORD $0xeb15029f // cmp x20, x21 + WORD $0x54001942 // b.hs LBB0_285 $808(%rip) + WORD $0xf100071f // cmp x24, #1 + WORD $0x5400190b // b.lt LBB0_285 $800(%rip) +LBB0_249: + WORD $0x39400288 // ldrb w8, [x20] + WORD $0x7101711f // cmp w8, #92 + WORD $0x540001e1 // b.ne LBB0_254 $60(%rip) + WORD $0xcb1402bb // sub x27, x21, x20 + WORD $0xf100077f // cmp x27, #1 + WORD $0x5401becb // b.lt LBB0_937 $14296(%rip) + WORD $0x39400688 // ldrb w8, [x20, #1] +Lloh16: + WORD $0x1001c4ee // adr x14, __UnquoteTab $14492(%rip) +Lloh17: + WORD $0x910001ce // add x14, x14, __UnquoteTab@PAGEOFF $0(%rip) + WORD $0x386869c8 // ldrb w8, [x14, x8] + WORD $0x7103fd1f // cmp w8, #255 + WORD $0x54000180 // b.eq LBB0_256 $48(%rip) + WORD $0x3401bd68 // cbz w8, LBB0_935 $14252(%rip) + WORD $0x390083e8 // strb w8, [sp, #32] + WORD $0x91000a94 // add x20, x20, #2 + WORD $0x52800028 // mov w8, #1 + WORD $0x14000049 // b LBB0_265 $292(%rip) +LBB0_254: + WORD $0x394002ce // ldrb w14, [x22] + WORD $0x6b0e011f // cmp w8, w14 + WORD $0x54001801 // b.ne LBB0_287 $768(%rip) + WORD $0x91000694 // add x20, x20, #1 + WORD $0x910006d6 // add x22, x22, #1 + WORD $0x14000054 // b LBB0_271 $336(%rip) +LBB0_256: + WORD $0xf100137f // cmp x27, #4 + WORD $0x5401bc43 // b.lo LBB0_936 $14216(%rip) + WORD $0xb8402288 // ldur w8, [x20, #2] + WORD $0x5299fa0e // mov w14, #53200 + WORD $0x72b9f9ee // movk w14, #53199, lsl #16 + WORD $0x0b0e010e // add w14, w8, w14 + WORD $0x3201c3ef // mov w15, #-2139062144 + WORD $0x0a2801f8 // bic w24, w15, w8 + WORD $0x6a0e031f // tst w24, w14 + WORD $0x5401ba81 // b.ne LBB0_933 $14160(%rip) + WORD $0x5283232e // mov w14, #6425 + WORD $0x72a3232e // movk w14, #6425, lsl #16 + WORD $0x0b0e010e // add w14, w8, w14 + WORD $0x2a0801ce // orr w14, w14, w8 + WORD $0x3201c3f0 // mov w16, #-2139062144 + WORD $0x6a0f01df // tst w14, w15 + WORD $0x5401b9a1 // b.ne LBB0_933 $14132(%rip) + WORD $0x3200dbee // mov w14, #2139062143 + WORD $0x0a0e0102 // and w2, w8, w14 + WORD $0x3202c7ee // mov w14, #-1061109568 + WORD $0x4b0201ce // sub w14, w14, w2 + WORD $0x5288c8cf // mov w15, #17990 + WORD $0x72a8c8cf // movk w15, #17990, lsl #16 + WORD $0x0b0f004f // add w15, w2, w15 + WORD $0x0a0e01ee // and w14, w15, w14 + WORD $0x6a1801df // tst w14, w24 + WORD $0x5401b861 // b.ne LBB0_933 $14092(%rip) + WORD $0x3203cbee // mov w14, #-522133280 + WORD $0x4b0201ce // sub w14, w14, w2 + WORD $0x5287272f // mov w15, #14649 + WORD $0x72a7272f // movk w15, #14649, lsl #16 + WORD $0x0b0f004f // add w15, w2, w15 + WORD $0x0a0e01ee // and w14, w15, w14 + WORD $0x6a1801df // tst w14, w24 + WORD $0x5401b761 // b.ne LBB0_933 $14060(%rip) + WORD $0x5ac00908 // rev w8, w8 + WORD $0x3200c3ee // mov w14, #16843009 + WORD $0x0a6811ce // bic w14, w14, w8, lsr #4 + WORD $0x0b0e0dce // add w14, w14, w14, lsl #3 + WORD $0x3200cfef // mov w15, #252645135 + WORD $0x0a0f0108 // and w8, w8, w15 + WORD $0x0b0801c8 // add w8, w14, w8 + WORD $0x2a481108 // orr w8, w8, w8, lsr #4 + WORD $0x53087d0e // lsr w14, w8, #8 + WORD $0x12181dc2 // and w2, w14, #0xff00 + WORD $0xaa0203f8 // mov x24, x2 + WORD $0x33001d18 // bfxil w24, w8, #0, #8 + WORD $0x91001a9c // add x28, x20, #6 + WORD $0x7101ff1f // cmp w24, #127 + WORD $0x540004e9 // b.ls LBB0_273 $156(%rip) + WORD $0x711fff1f // cmp w24, #2047 + WORD $0x54000529 // b.ls LBB0_274 $164(%rip) + WORD $0x5140384e // sub w14, w2, #14, lsl #12 + WORD $0x312005df // cmn w14, #2049 + WORD $0x540005e8 // b.hi LBB0_275 $188(%rip) + WORD $0x530c7c4e // lsr w14, w2, #12 + WORD $0x321b09ce // orr w14, w14, #0xe0 + WORD $0x390083ee // strb w14, [sp, #32] + WORD $0x5280100e // mov w14, #128 + WORD $0x33062f0e // bfxil w14, w24, #6, #6 + WORD $0x390087ee // strb w14, [sp, #33] + WORD $0x5280100e // mov w14, #128 + WORD $0x3300150e // bfxil w14, w8, #0, #6 + WORD $0x39008bee // strb w14, [sp, #34] + WORD $0xaa1c03f4 // mov x20, x28 + WORD $0x52800068 // mov w8, #3 +LBB0_265: + WORD $0x910083f8 // add x24, sp, #32 + WORD $0xaa080308 // orr x8, x24, x8 + WORD $0xeb1902df // cmp x22, x25 + WORD $0x54000182 // b.hs LBB0_270 $48(%rip) + WORD $0x910083f8 // add x24, sp, #32 +LBB0_267: + WORD $0x394002ce // ldrb w14, [x22] + WORD $0x3940030f // ldrb w15, [x24] + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x540000e1 // b.ne LBB0_270 $28(%rip) + WORD $0x910006d6 // add x22, x22, #1 + WORD $0x91000718 // add x24, x24, #1 + WORD $0xeb1902df // cmp x22, x25 + WORD $0x54000062 // b.hs LBB0_270 $12(%rip) + WORD $0xeb08031f // cmp x24, x8 + WORD $0x54fffee3 // b.lo LBB0_267 $-36(%rip) +LBB0_270: + WORD $0xeb08031f // cmp x24, x8 + WORD $0x54000d41 // b.ne LBB0_287 $424(%rip) +LBB0_271: + WORD $0xeb15029f // cmp x20, x21 + WORD $0x54000b82 // b.hs LBB0_285 $368(%rip) + WORD $0xeb1902df // cmp x22, x25 + WORD $0x54fff263 // b.lo LBB0_249 $-436(%rip) + WORD $0x14000059 // b LBB0_285 $356(%rip) +LBB0_273: + WORD $0x390083e8 // strb w8, [sp, #32] + WORD $0xaa1c03f4 // mov x20, x28 + WORD $0x52800028 // mov w8, #1 + WORD $0x17ffffe7 // b LBB0_265 $-100(%rip) +LBB0_274: + WORD $0x53067f0e // lsr w14, w24, #6 + WORD $0x321a05ce // orr w14, w14, #0xc0 + WORD $0x390083ee // strb w14, [sp, #32] + WORD $0x5280100e // mov w14, #128 + WORD $0x3300150e // bfxil w14, w8, #0, #6 + WORD $0x390087ee // strb w14, [sp, #33] + WORD $0xaa1c03f4 // mov x20, x28 + WORD $0x52800048 // mov w8, #2 + WORD $0x17ffffde // b LBB0_265 $-136(%rip) +LBB0_275: + WORD $0x92800068 // mov x8, #-4 + WORD $0xf1001b7f // cmp x27, #6 + WORD $0x5401b543 // b.lo LBB0_950 $13992(%rip) + WORD $0x530a7f0e // lsr w14, w24, #10 + WORD $0x7100d9df // cmp w14, #54 + WORD $0x5401b4e8 // b.hi LBB0_950 $13980(%rip) + WORD $0x39400388 // ldrb w8, [x28] + WORD $0x7101711f // cmp w8, #92 + WORD $0x5401b421 // b.ne LBB0_949 $13956(%rip) + WORD $0x39401e88 // ldrb w8, [x20, #7] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x5401b3c1 // b.ne LBB0_949 $13944(%rip) + WORD $0xb9400a88 // ldr w8, [x20, #8] + WORD $0x5299fa0e // mov w14, #53200 + WORD $0x72b9f9ee // movk w14, #53199, lsl #16 + WORD $0x0b0e010e // add w14, w8, w14 + WORD $0x0a28021b // bic w27, w16, w8 + WORD $0x6a0e037f // tst w27, w14 + WORD $0x5401b2a1 // b.ne LBB0_948 $13908(%rip) + WORD $0x5283232e // mov w14, #6425 + WORD $0x72a3232e // movk w14, #6425, lsl #16 + WORD $0x0b0e010e // add w14, w8, w14 + WORD $0x2a0801ce // orr w14, w14, w8 + WORD $0x6a1001df // tst w14, w16 + WORD $0x5401b1e1 // b.ne LBB0_948 $13884(%rip) + WORD $0x3200dbee // mov w14, #2139062143 + WORD $0x0a0e0102 // and w2, w8, w14 + WORD $0x3202c7ee // mov w14, #-1061109568 + WORD $0x4b0201ce // sub w14, w14, w2 + WORD $0x5288c8cf // mov w15, #17990 + WORD $0x72a8c8cf // movk w15, #17990, lsl #16 + WORD $0x0b0f004f // add w15, w2, w15 + WORD $0x0a0e01ee // and w14, w15, w14 + WORD $0x6a1b01df // tst w14, w27 + WORD $0x5401b0a1 // b.ne LBB0_948 $13844(%rip) + WORD $0x3203cbee // mov w14, #-522133280 + WORD $0x4b0201ce // sub w14, w14, w2 + WORD $0x5287272f // mov w15, #14649 + WORD $0x72a7272f // movk w15, #14649, lsl #16 + WORD $0x0b0f004f // add w15, w2, w15 + WORD $0x0a0e01ee // and w14, w15, w14 + WORD $0x6a1b01df // tst w14, w27 + WORD $0x5401afa1 // b.ne LBB0_948 $13812(%rip) + WORD $0x5ac00908 // rev w8, w8 + WORD $0x3200c3ee // mov w14, #16843009 + WORD $0x0a6811ce // bic w14, w14, w8, lsr #4 + WORD $0x0b0e0dce // add w14, w14, w14, lsl #3 + WORD $0x3200cfef // mov w15, #252645135 + WORD $0x0a0f0108 // and w8, w8, w15 + WORD $0x0b0801c8 // add w8, w14, w8 + WORD $0x2a481108 // orr w8, w8, w8, lsr #4 + WORD $0x53087d0e // lsr w14, w8, #8 + WORD $0x12181dc2 // and w2, w14, #0xff00 + WORD $0x5140384e // sub w14, w2, #14, lsl #12 + WORD $0x311001df // cmn w14, #1024 + WORD $0x5401aee3 // b.lo LBB0_951 $13788(%rip) + WORD $0x12001d0e // and w14, w8, #0xff + WORD $0x2a1829ce // orr w14, w14, w24, lsl #10 + WORD $0x0b1a004f // add w15, w2, w26 + WORD $0x0b0f01ce // add w14, w14, w15 + WORD $0x53127dcf // lsr w15, w14, #18 + WORD $0x321c0def // orr w15, w15, #0xf0 + WORD $0x390083ef // strb w15, [sp, #32] + WORD $0x5280100f // mov w15, #128 + WORD $0x330c45cf // bfxil w15, w14, #12, #6 + WORD $0x390087ef // strb w15, [sp, #33] + WORD $0x5280100f // mov w15, #128 + WORD $0x33062dcf // bfxil w15, w14, #6, #6 + WORD $0x39008bef // strb w15, [sp, #34] + WORD $0x5280100e // mov w14, #128 + WORD $0x3300150e // bfxil w14, w8, #0, #6 + WORD $0x39008fee // strb w14, [sp, #35] + WORD $0x91003294 // add x20, x20, #12 + WORD $0x52800088 // mov w8, #4 + WORD $0x17ffff93 // b LBB0_265 $-436(%rip) +LBB0_285: + WORD $0xeb15029f // cmp x20, x21 + WORD $0xfa5902c0 // ccmp x22, x25, #0, eq + WORD $0x1a9f17f4 // cset w20, eq +LBB0_286: + WORD $0x529fffe8 // mov w8, #65535 + WORD $0x3200f3fe // mov w30, #1431655765 + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0x17fffb64 // b LBB0_72 $-4720(%rip) +LBB0_287: + WORD $0xd2800014 // mov x20, #0 + WORD $0x17fffff6 // b LBB0_286 $-40(%rip) +LBB0_288: + WORD $0x8b160268 // add x8, x19, x22 + WORD $0xf10006bf // cmp x21, #1 + WORD $0x54000bca // b.ge LBB0_310 $376(%rip) + WORD $0x1400006b // b LBB0_315 $428(%rip) +LBB0_289: + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0x1400001b // b LBB0_293 $108(%rip) +LBB0_290: + WORD $0xdac003c8 // rbit x8, lr + WORD $0xdac01108 // clz x8, x8 + WORD $0xcb13020e // sub x14, x16, x19 + WORD $0x8b0801c8 // add x8, x14, x8 + WORD $0xb100075f // cmn x26, #1 + WORD $0x9a88135a // csel x26, x26, x8, ne +LBB0_291: + WORD $0x0a3703c8 // bic w8, w30, w23 + WORD $0x531f790e // lsl w14, w8, #1 + WORD $0x331f7917 // bfi w23, w8, #1, #31 + WORD $0x0a2e03ce // bic w14, w30, w14 + WORD $0x1201f1ce // and w14, w14, #0xaaaaaaaa + WORD $0x2b0801c8 // adds w8, w14, w8 + WORD $0x4a0804a8 // eor w8, w5, w8, lsl #1 + WORD $0x0a170108 // and w8, w8, w23 + WORD $0x1a9f37f7 // cset w23, hs + WORD $0x2a2803e8 // mvn w8, w8 + WORD $0x8a1b011b // and x27, x8, x27 + WORD $0x529fffe8 // mov w8, #65535 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0x3200f3fe // mov w30, #1431655765 + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0xb5ffb59b // cbnz x27, LBB0_208 $-2384(%rip) +LBB0_292: + WORD $0x91008210 // add x16, x16, #32 + WORD $0xaa1903fb // mov x27, x25 +LBB0_293: + WORD $0xb5000437 // cbnz x23, LBB0_304 $132(%rip) + WORD $0xb400039b // cbz x27, LBB0_302 $112(%rip) +LBB0_295: + WORD $0xaa3303ee // mvn x14, x19 +LBB0_296: + WORD $0xaa1003fe // mov lr, x16 + WORD $0x384017d9 // ldrb w25, [lr], #1 + WORD $0x71008b3f // cmp w25, #34 + WORD $0x54000300 // b.eq LBB0_303 $96(%rip) + WORD $0xd1000777 // sub x23, x27, #1 + WORD $0x7101733f // cmp w25, #92 + WORD $0x540000a0 // b.eq LBB0_299 $20(%rip) + WORD $0xaa1e03f0 // mov x16, lr + WORD $0xaa1703fb // mov x27, x23 + WORD $0xb5fffef7 // cbnz x23, LBB0_296 $-36(%rip) + WORD $0x1400000e // b LBB0_301 $56(%rip) +LBB0_299: + WORD $0xb4019457 // cbz x23, LBB0_911 $12936(%rip) + WORD $0x8b0e03c8 // add x8, lr, x14 + WORD $0xb100075f // cmn x26, #1 + WORD $0x9a9a011a // csel x26, x8, x26, eq + WORD $0x91000a10 // add x16, x16, #2 + WORD $0xd1000b77 // sub x23, x27, #2 + WORD $0x529fffe8 // mov w8, #65535 + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0xaa1703fb // mov x27, x23 + WORD $0xb5fffd37 // cbnz x23, LBB0_296 $-92(%rip) +LBB0_301: + WORD $0x71008b3f // cmp w25, #34 + WORD $0x54019281 // b.ne LBB0_911 $12880(%rip) +LBB0_302: + WORD $0xaa1003fe // mov lr, x16 +LBB0_303: + WORD $0xcb1303d7 // sub x23, lr, x19 + WORD $0x3200f3fe // mov w30, #1431655765 + WORD $0x17fffafc // b LBB0_61 $-5136(%rip) +LBB0_304: + WORD $0xb40191fb // cbz x27, LBB0_911 $12860(%rip) + WORD $0xaa3303e8 // mvn x8, x19 + WORD $0x8b080208 // add x8, x16, x8 + WORD $0xb100075f // cmn x26, #1 + WORD $0x9a9a011a // csel x26, x8, x26, eq + WORD $0x91000610 // add x16, x16, #1 + WORD $0xd100077b // sub x27, x27, #1 + WORD $0x529fffe8 // mov w8, #65535 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0xb5fffadb // cbnz x27, LBB0_295 $-168(%rip) + WORD $0x17fffff0 // b LBB0_302 $-64(%rip) +LBB0_306: + WORD $0xf9400416 // ldr x22, [x0, #8] + WORD $0x1400001e // b LBB0_314 $120(%rip) +LBB0_307: + WORD $0xd10006e8 // sub x8, x23, #1 + WORD $0xeb15011f // cmp x8, x21 + WORD $0x54000380 // b.eq LBB0_315 $112(%rip) + WORD $0x8b140268 // add x8, x19, x20 + WORD $0x8b150108 // add x8, x8, x21 + WORD $0x91000908 // add x8, x8, #2 + WORD $0xcb1502ee // sub x14, x23, x21 + WORD $0xd10009d5 // sub x21, x14, #2 + WORD $0xf10006bf // cmp x21, #1 + WORD $0x540000ea // b.ge LBB0_310 $28(%rip) + WORD $0x14000014 // b LBB0_315 $80(%rip) +LBB0_309: + WORD $0x92800022 // mov x2, #-2 + WORD $0x52800054 // mov w20, #2 + WORD $0x8b140108 // add x8, x8, x20 + WORD $0xab0202b5 // adds x21, x21, x2 + WORD $0x540001ed // b.le LBB0_315 $60(%rip) +LBB0_310: + WORD $0x39400102 // ldrb w2, [x8] + WORD $0x7101705f // cmp w2, #92 + WORD $0x54ffff20 // b.eq LBB0_309 $-28(%rip) + WORD $0x7100885f // cmp w2, #34 + WORD $0x540000e0 // b.eq LBB0_313 $28(%rip) + WORD $0x92800002 // mov x2, #-1 + WORD $0x52800034 // mov w20, #1 + WORD $0x8b140108 // add x8, x8, x20 + WORD $0xab0202b5 // adds x21, x21, x2 + WORD $0x54fffeec // b.gt LBB0_310 $-36(%rip) + WORD $0x14000004 // b LBB0_315 $16(%rip) +LBB0_313: + WORD $0xcb130108 // sub x8, x8, x19 + WORD $0x91000516 // add x22, x8, #1 +LBB0_314: + WORD $0xf9000036 // str x22, [x1] +LBB0_315: + WORD $0x529fffe8 // mov w8, #65535 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0x17fffbf1 // b LBB0_152 $-4156(%rip) +LBB0_316: + WORD $0x71016e9f // cmp w20, #91 + WORD $0x54013ba1 // b.ne LBB0_829 $10100(%rip) + WORD $0xf9400522 // ldr x2, [x9, #8] + WORD $0xf9400054 // ldr x20, [x2] + WORD $0xb7f92d54 // tbnz x20, #63, LBB0_801 $9640(%rip) + WORD $0xf9400416 // ldr x22, [x0, #8] + WORD $0xeb1602ff // cmp x23, x22 + WORD $0x54000162 // b.hs LBB0_323 $44(%rip) + WORD $0x38776a62 // ldrb w2, [x19, x23] + WORD $0x7100345f // cmp w2, #13 + WORD $0x54000100 // b.eq LBB0_323 $32(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x540000c0 // b.eq LBB0_323 $24(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000062 // b.hs LBB0_323 $12(%rip) + WORD $0xaa1703f5 // mov x21, x23 + WORD $0x14000033 // b LBB0_340 $204(%rip) +LBB0_323: + WORD $0x910006f5 // add x21, x23, #1 + WORD $0xeb1602bf // cmp x21, x22 + WORD $0x54000122 // b.hs LBB0_327 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_327 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_327 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000503 // b.lo LBB0_340 $160(%rip) +LBB0_327: + WORD $0x91000af5 // add x21, x23, #2 + WORD $0xeb1602bf // cmp x21, x22 + WORD $0x54000122 // b.hs LBB0_331 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_331 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_331 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x540003a3 // b.lo LBB0_340 $116(%rip) +LBB0_331: + WORD $0x91000ef5 // add x21, x23, #3 + WORD $0xeb1602bf // cmp x21, x22 + WORD $0x54000122 // b.hs LBB0_335 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_335 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_335 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000243 // b.lo LBB0_340 $72(%rip) +LBB0_335: + WORD $0x910012f5 // add x21, x23, #4 + WORD $0xeb1602bf // cmp x21, x22 + WORD $0x54000162 // b.hs LBB0_338 $44(%rip) +LBB0_336: + WORD $0x38756a6e // ldrb w14, [x19, x21] + WORD $0x710081df // cmp w14, #32 + WORD $0x9ace218e // lsl x14, x12, x14 + WORD $0x8a0d01ce // and x14, x14, x13 + WORD $0xfa4099c4 // ccmp x14, #0, #4, ls + WORD $0x540000e0 // b.eq LBB0_339 $28(%rip) + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xeb1502df // cmp x22, x21 + WORD $0x54ffff01 // b.ne LBB0_336 $-32(%rip) + WORD $0x1400000a // b LBB0_341 $40(%rip) +LBB0_338: + WORD $0xaa1503f7 // mov x23, x21 + WORD $0x14000008 // b LBB0_341 $32(%rip) +LBB0_339: + WORD $0xeb1602bf // cmp x21, x22 + WORD $0x540000c2 // b.hs LBB0_341 $24(%rip) +LBB0_340: + WORD $0x910006b7 // add x23, x21, #1 + WORD $0xf9000037 // str x23, [x1] + WORD $0x38756a6e // ldrb w14, [x19, x21] + WORD $0x710175df // cmp w14, #93 + WORD $0x540125e0 // b.eq LBB0_804 $9404(%rip) +LBB0_341: + WORD $0xd10006f6 // sub x22, x23, #1 + WORD $0xf9000036 // str x22, [x1] +LBB0_342: + WORD $0xf1000694 // subs x20, x20, #1 + WORD $0x5400712b // b.lt LBB0_491 $3620(%rip) + WORD $0xf9400417 // ldr x23, [x0, #8] + WORD $0xeb1702df // cmp x22, x23 + WORD $0x54000162 // b.hs LBB0_348 $44(%rip) + WORD $0x38766a62 // ldrb w2, [x19, x22] + WORD $0x7100345f // cmp w2, #13 + WORD $0x54000100 // b.eq LBB0_348 $32(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x540000c0 // b.eq LBB0_348 $24(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000062 // b.hs LBB0_348 $12(%rip) + WORD $0xaa1603f5 // mov x21, x22 + WORD $0x14000031 // b LBB0_364 $196(%rip) +LBB0_348: + WORD $0x910006d5 // add x21, x22, #1 + WORD $0xeb1702bf // cmp x21, x23 + WORD $0x54000122 // b.hs LBB0_352 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_352 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_352 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x540004c3 // b.lo LBB0_364 $152(%rip) +LBB0_352: + WORD $0x91000ad5 // add x21, x22, #2 + WORD $0xeb1702bf // cmp x21, x23 + WORD $0x54000122 // b.hs LBB0_356 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_356 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_356 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000363 // b.lo LBB0_364 $108(%rip) +LBB0_356: + WORD $0x91000ed5 // add x21, x22, #3 + WORD $0xeb1702bf // cmp x21, x23 + WORD $0x54000122 // b.hs LBB0_360 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_360 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_360 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000203 // b.lo LBB0_364 $64(%rip) +LBB0_360: + WORD $0x910012d5 // add x21, x22, #4 + WORD $0xeb1702bf // cmp x21, x23 + WORD $0x54000ca2 // b.hs LBB0_390 $404(%rip) +LBB0_361: + WORD $0x38756a6e // ldrb w14, [x19, x21] + WORD $0x710081df // cmp w14, #32 + WORD $0x9ace218e // lsl x14, x12, x14 + WORD $0x8a0d01ce // and x14, x14, x13 + WORD $0xfa4099c4 // ccmp x14, #0, #4, ls + WORD $0x540000a0 // b.eq LBB0_363 $20(%rip) + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xeb1502ff // cmp x23, x21 + WORD $0x54ffff01 // b.ne LBB0_361 $-32(%rip) + WORD $0x1400005d // b LBB0_391 $372(%rip) +LBB0_363: + WORD $0xeb1702bf // cmp x21, x23 + WORD $0x54000b62 // b.hs LBB0_391 $364(%rip) +LBB0_364: + WORD $0x910006b6 // add x22, x21, #1 + WORD $0xf9000036 // str x22, [x1] + WORD $0x38756a77 // ldrb w23, [x19, x21] + WORD $0x71016aff // cmp w23, #90 + WORD $0x5400070c // b.gt LBB0_379 $224(%rip) + WORD $0x7100beff // cmp w23, #47 + WORD $0x540008cd // b.le LBB0_384 $280(%rip) + WORD $0x5100c2ee // sub w14, w23, #48 + WORD $0x710029df // cmp w14, #10 + WORD $0x540009e2 // b.hs LBB0_390 $316(%rip) +LBB0_367: + WORD $0xf940040e // ldr x14, [x0, #8] + WORD $0xcb1601d5 // sub x21, x14, x22 + WORD $0xf10042bf // cmp x21, #16 + WORD $0x540001e3 // b.lo LBB0_370 $60(%rip) +LBB0_368: + WORD $0x3cf66a73 // ldr q19, [x19, x22] + WORD $0x6e248e74 // cmeq.16b v20, v19, v4 + WORD $0x4e251e73 // and.16b v19, v19, v5 + WORD $0x6e268e73 // cmeq.16b v19, v19, v6 + WORD $0x4eb41e73 // orr.16b v19, v19, v20 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260262 // fmov w2, s19 + WORD $0x35000402 // cbnz w2, LBB0_378 $128(%rip) + WORD $0xd10042b5 // sub x21, x21, #16 + WORD $0x910042d6 // add x22, x22, #16 + WORD $0xf1003ebf // cmp x21, #15 + WORD $0x54fffe68 // b.hi LBB0_368 $-52(%rip) +LBB0_370: + WORD $0x8b160277 // add x23, x19, x22 + WORD $0xb40001f5 // cbz x21, LBB0_377 $60(%rip) + WORD $0x8b1502f8 // add x24, x23, x21 + WORD $0xcb1302f6 // sub x22, x23, x19 +LBB0_372: + WORD $0x394002e2 // ldrb w2, [x23] + WORD $0x7100b05f // cmp w2, #44 + WORD $0x54005ce0 // b.eq LBB0_479 $2972(%rip) + WORD $0x7101f45f // cmp w2, #125 + WORD $0x54005ca0 // b.eq LBB0_479 $2964(%rip) + WORD $0x7101745f // cmp w2, #93 + WORD $0x54005c60 // b.eq LBB0_479 $2956(%rip) + WORD $0x910006f7 // add x23, x23, #1 + WORD $0x910006d6 // add x22, x22, #1 + WORD $0xf10006b5 // subs x21, x21, #1 + WORD $0x54fffec1 // b.ne LBB0_372 $-40(%rip) + WORD $0xaa1803f7 // mov x23, x24 +LBB0_377: + WORD $0xcb1302f6 // sub x22, x23, x19 + WORD $0xf9000036 // str x22, [x1] + WORD $0x529fffe8 // mov w8, #65535 + WORD $0x3200f3fe // mov w30, #1431655765 + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0x14000024 // b LBB0_391 $144(%rip) +LBB0_378: + WORD $0x5ac0004e // rbit w14, w2 + WORD $0x5ac011ce // clz w14, w14 + WORD $0x8b1601d6 // add x22, x14, x22 + WORD $0xf9000036 // str x22, [x1] + WORD $0x1400001f // b LBB0_391 $124(%rip) +LBB0_379: + WORD $0x7101b6ff // cmp w23, #109 + WORD $0x540002ad // b.le LBB0_387 $84(%rip) + WORD $0x7101baff // cmp w23, #110 + WORD $0x54002bc0 // b.eq LBB0_438 $1400(%rip) + WORD $0x7101d2ff // cmp w23, #116 + WORD $0x54002b80 // b.eq LBB0_438 $1392(%rip) + WORD $0x7101eeff // cmp w23, #123 + WORD $0x540002a1 // b.ne LBB0_390 $84(%rip) + WORD $0xd280001a // mov x26, #0 + WORD $0xd2800018 // mov x24, #0 + WORD $0xd2800015 // mov x21, #0 + WORD $0xd2800017 // mov x23, #0 + WORD $0xf940040e // ldr x14, [x0, #8] + WORD $0xcb1601cf // sub x15, x14, x22 + WORD $0x8b160273 // add x19, x19, x22 + WORD $0x1400005c // b LBB0_414 $368(%rip) +LBB0_384: + WORD $0x340001d7 // cbz w23, LBB0_391 $56(%rip) + WORD $0x71008aff // cmp w23, #34 + WORD $0x54002ac0 // b.eq LBB0_441 $1368(%rip) + WORD $0x7100b6ff // cmp w23, #45 + WORD $0x54fff740 // b.eq LBB0_367 $-280(%rip) + WORD $0x14000007 // b LBB0_390 $28(%rip) +LBB0_387: + WORD $0x71016eff // cmp w23, #91 + WORD $0x54003260 // b.eq LBB0_451 $1612(%rip) + WORD $0x71019aff // cmp w23, #102 + WORD $0x54000061 // b.ne LBB0_390 $12(%rip) + WORD $0x910016a2 // add x2, x21, #5 + WORD $0x14000147 // b LBB0_439 $1308(%rip) +LBB0_390: + WORD $0xf9000035 // str x21, [x1] + WORD $0xaa1503f6 // mov x22, x21 +LBB0_391: + WORD $0xa9405c13 // ldp x19, x23, [x0] + WORD $0xeb1702df // cmp x22, x23 + WORD $0x54000162 // b.hs LBB0_396 $44(%rip) + WORD $0x38766a62 // ldrb w2, [x19, x22] + WORD $0x7100345f // cmp w2, #13 + WORD $0x54000100 // b.eq LBB0_396 $32(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x540000c0 // b.eq LBB0_396 $24(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000062 // b.hs LBB0_396 $12(%rip) + WORD $0xaa1603f5 // mov x21, x22 + WORD $0x14000031 // b LBB0_412 $196(%rip) +LBB0_396: + WORD $0x910006d5 // add x21, x22, #1 + WORD $0xeb1702bf // cmp x21, x23 + WORD $0x54000122 // b.hs LBB0_400 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_400 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_400 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x540004c3 // b.lo LBB0_412 $152(%rip) +LBB0_400: + WORD $0x91000ad5 // add x21, x22, #2 + WORD $0xeb1702bf // cmp x21, x23 + WORD $0x54000122 // b.hs LBB0_404 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_404 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_404 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000363 // b.lo LBB0_412 $108(%rip) +LBB0_404: + WORD $0x91000ed5 // add x21, x22, #3 + WORD $0xeb1702bf // cmp x21, x23 + WORD $0x54000122 // b.hs LBB0_408 $36(%rip) + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100345f // cmp w2, #13 + WORD $0x540000c0 // b.eq LBB0_408 $24(%rip) + WORD $0x7100805f // cmp w2, #32 + WORD $0x54000080 // b.eq LBB0_408 $16(%rip) + WORD $0x51002c4e // sub w14, w2, #11 + WORD $0x310009df // cmn w14, #2 + WORD $0x54000203 // b.lo LBB0_412 $64(%rip) +LBB0_408: + WORD $0x910012d5 // add x21, x22, #4 + WORD $0xeb1702bf // cmp x21, x23 + WORD $0x54010be2 // b.hs LBB0_802 $8572(%rip) +LBB0_409: + WORD $0x38756a6e // ldrb w14, [x19, x21] + WORD $0x710081df // cmp w14, #32 + WORD $0x9ace218e // lsl x14, x12, x14 + WORD $0x8a0d01ce // and x14, x14, x13 + WORD $0xfa4099c4 // ccmp x14, #0, #4, ls + WORD $0x540000a0 // b.eq LBB0_411 $20(%rip) + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xeb1502ff // cmp x23, x21 + WORD $0x54ffff01 // b.ne LBB0_409 $-32(%rip) + WORD $0x140008c0 // b LBB0_829 $8960(%rip) +LBB0_411: + WORD $0xeb1702bf // cmp x21, x23 + WORD $0x540117c2 // b.hs LBB0_829 $8952(%rip) +LBB0_412: + WORD $0x910006b6 // add x22, x21, #1 + WORD $0xf9000036 // str x22, [x1] + WORD $0x38756a62 // ldrb w2, [x19, x21] + WORD $0x7100b05f // cmp w2, #44 + WORD $0x54ffe4c0 // b.eq LBB0_342 $-872(%rip) + WORD $0x1400084f // b LBB0_803 $8508(%rip) +LBB0_413: + WORD $0x937fff5a // asr x26, x26, #63 + WORD $0x9e670373 // fmov d19, x27 + WORD $0x0e205a73 // cnt.8b v19, v19 + WORD $0x2e303a73 // uaddlv.8b h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x8b1501d5 // add x21, x14, x21 + WORD $0x91010273 // add x19, x19, #64 + WORD $0xf9400fef // ldr x15, [sp, #24] + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 +LBB0_414: + WORD $0xf10101ee // subs x14, x15, #64 + WORD $0xa9013bef // stp x15, x14, [sp, #16] + WORD $0x5400176b // b.lt LBB0_421 $748(%rip) +LBB0_415: + WORD $0xad405676 // ldp q22, q21, [x19] + WORD $0xad414e74 // ldp q20, q19, [x19, #32] + WORD $0x6e238ed7 // cmeq.16b v23, v22, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ee // fmov w14, s23 + WORD $0x6e238eb7 // cmeq.16b v23, v21, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ef // fmov w15, s23 + WORD $0x6e238e97 // cmeq.16b v23, v20, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f0 // fmov w16, s23 + WORD $0x6e238e77 // cmeq.16b v23, v19, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01e2 // orr x2, x15, x14 + WORD $0xaa18004e // orr x14, x2, x24 + WORD $0xb500008e // cbnz x14, LBB0_417 $16(%rip) + WORD $0xd2800018 // mov x24, #0 + WORD $0xd280001b // mov x27, #0 + WORD $0x1400000a // b LBB0_418 $40(%rip) +LBB0_417: + WORD $0x8a38004e // bic x14, x2, x24 + WORD $0xaa0e070f // orr x15, x24, x14, lsl #1 + WORD $0x8a2f0050 // bic x16, x2, x15 + WORD $0x9201f210 // and x16, x16, #0xaaaaaaaaaaaaaaaa + WORD $0xab0e020e // adds x14, x16, x14 + WORD $0x1a9f37f8 // cset w24, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a0f01db // and x27, x14, x15 +LBB0_418: + WORD $0x6e208ed7 // cmeq.16b v23, v22, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ee // fmov w14, s23 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ef // fmov w15, s23 + WORD $0x6e208e97 // cmeq.16b v23, v20, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f0 // fmov w16, s23 + WORD $0x6e208e77 // cmeq.16b v23, v19, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0x8a3b01ce // bic x14, x14, x27 + WORD $0x9200e1cf // and x15, x14, #0x1111111111111111 + WORD $0x9203e1d0 // and x16, x14, #0x2222222222222222 + WORD $0x9202e1d1 // and x17, x14, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0x9b047de2 // mul x2, x15, x4 + WORD $0x9b1c7e06 // mul x6, x16, x28 + WORD $0xca060042 // eor x2, x2, x6 + WORD $0x9b077e26 // mul x6, x17, x7 + WORD $0xb202e3fb // mov x27, #4919131752989213764 + WORD $0xf2e0889b // movk x27, #1092, lsl #48 + WORD $0xb203e3e7 // mov x7, #2459565876494606882 + WORD $0xf2e04447 // movk x7, #546, lsl #48 + WORD $0x9b077dc7 // mul x7, x14, x7 + WORD $0xca0700c6 // eor x6, x6, x7 + WORD $0xca060042 // eor x2, x2, x6 + WORD $0xb200e3f6 // mov x22, #1229782938247303441 + WORD $0xb203e3e4 // mov x4, #2459565876494606882 + WORD $0x9b047de6 // mul x6, x15, x4 + WORD $0x9b167e07 // mul x7, x16, x22 + WORD $0xca0700c6 // eor x6, x6, x7 + WORD $0x9b1c7e27 // mul x7, x17, x28 + WORD $0x9b1b7ddb // mul x27, x14, x27 + WORD $0xca1b00e7 // eor x7, x7, x27 + WORD $0xca0700c6 // eor x6, x6, x7 + WORD $0xb202e3f9 // mov x25, #4919131752989213764 + WORD $0x9b197de7 // mul x7, x15, x25 + WORD $0x9b047e1b // mul x27, x16, x4 + WORD $0xca1b00e7 // eor x7, x7, x27 + WORD $0x9b167e3b // mul x27, x17, x22 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0x9b1c7ddc // mul x28, x14, x28 + WORD $0xca1c037b // eor x27, x27, x28 + WORD $0xca1b00e7 // eor x7, x7, x27 + WORD $0xb201e3f6 // mov x22, #-8608480567731124088 + WORD $0x9b167def // mul x15, x15, x22 + WORD $0x9b197e10 // mul x16, x16, x25 + WORD $0xca1001ef // eor x15, x15, x16 + WORD $0x9b047e30 // mul x16, x17, x4 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0x9b047dce // mul x14, x14, x4 + WORD $0xca0e020e // eor x14, x16, x14 + WORD $0xca0e01ee // eor x14, x15, x14 + WORD $0x9200e04f // and x15, x2, #0x1111111111111111 + WORD $0x9203e0d0 // and x16, x6, #0x2222222222222222 + WORD $0x9202e0f1 // and x17, x7, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xaa1001ef // orr x15, x15, x16 + WORD $0xaa0e022e // orr x14, x17, x14 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xca1a01da // eor x26, x14, x26 + WORD $0x6e318ed7 // cmeq.16b v23, v22, v17 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ee // fmov w14, s23 + WORD $0x6e318eb7 // cmeq.16b v23, v21, v17 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ef // fmov w15, s23 + WORD $0x6e318e97 // cmeq.16b v23, v20, v17 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f0 // fmov w16, s23 + WORD $0x6e318e77 // cmeq.16b v23, v19, v17 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0x8a3a01db // bic x27, x14, x26 + WORD $0x6e328ed6 // cmeq.16b v22, v22, v18 + WORD $0x4e211ed6 // and.16b v22, v22, v1 + WORD $0x4e0202d6 // tbl.16b v22, { v22 }, v2 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602ce // fmov w14, s22 + WORD $0x6e328eb5 // cmeq.16b v21, v21, v18 + WORD $0x4e211eb5 // and.16b v21, v21, v1 + WORD $0x4e0202b5 // tbl.16b v21, { v21 }, v2 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602af // fmov w15, s21 + WORD $0x6e328e94 // cmeq.16b v20, v20, v18 + WORD $0x4e211e94 // and.16b v20, v20, v1 + WORD $0x4e020294 // tbl.16b v20, { v20 }, v2 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260290 // fmov w16, s20 + WORD $0x6e328e73 // cmeq.16b v19, v19, v18 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260271 // fmov w17, s19 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xea3a01dc // bics x28, x14, x26 + WORD $0x54ffe8e0 // b.eq LBB0_413 $-740(%rip) +LBB0_419: + WORD $0xd1000782 // sub x2, x28, #1 + WORD $0x8a1b004e // and x14, x2, x27 + WORD $0x9e6701d3 // fmov d19, x14 + WORD $0x0e205a73 // cnt.8b v19, v19 + WORD $0x2e303a73 // uaddlv.8b h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x8b1501ce // add x14, x14, x21 + WORD $0xeb1701df // cmp x14, x23 + WORD $0x540031e9 // b.ls LBB0_477 $1596(%rip) + WORD $0x910006f7 // add x23, x23, #1 + WORD $0xea1c005c // ands x28, x2, x28 + WORD $0x54fffea1 // b.ne LBB0_419 $-44(%rip) + WORD $0x17ffff3a // b LBB0_413 $-792(%rip) +LBB0_421: + WORD $0xf10001ff // cmp x15, #0 + WORD $0x540037cd // b.le LBB0_487 $1784(%rip) + WORD $0xad0243f0 // stp q16, q16, [sp, #64] + WORD $0xad0143f0 // stp q16, q16, [sp, #32] + WORD $0x92402e68 // and x8, x19, #0xfff + WORD $0xf13f051f // cmp x8, #4033 + WORD $0x54000383 // b.lo LBB0_433 $112(%rip) + WORD $0xf9400be8 // ldr x8, [sp, #16] + WORD $0xf100811b // subs x27, x8, #32 + WORD $0x540000a3 // b.lo LBB0_425 $20(%rip) + WORD $0xacc15273 // ldp q19, q20, [x19], #32 + WORD $0xad0153f3 // stp q19, q20, [sp, #32] + WORD $0xaa0b03e8 // mov x8, x11 + WORD $0x14000003 // b LBB0_426 $12(%rip) +LBB0_425: + WORD $0x910083e8 // add x8, sp, #32 + WORD $0xf9400bfb // ldr x27, [sp, #16] +LBB0_426: + WORD $0xf1004362 // subs x2, x27, #16 + WORD $0x54000343 // b.lo LBB0_434 $104(%rip) + WORD $0x3cc10673 // ldr q19, [x19], #16 + WORD $0x3c810513 // str q19, [x8], #16 + WORD $0xaa0203fb // mov x27, x2 + WORD $0xf1002042 // subs x2, x2, #8 + WORD $0x540002e2 // b.hs LBB0_435 $92(%rip) +LBB0_428: + WORD $0xf1001362 // subs x2, x27, #4 + WORD $0x54000343 // b.lo LBB0_436 $104(%rip) +LBB0_429: + WORD $0xb840466e // ldr w14, [x19], #4 + WORD $0xb800450e // str w14, [x8], #4 + WORD $0xaa0203fb // mov x27, x2 + WORD $0xf1000842 // subs x2, x2, #2 + WORD $0x540002e2 // b.hs LBB0_437 $92(%rip) +LBB0_430: + WORD $0xb400007b // cbz x27, LBB0_432 $12(%rip) +LBB0_431: + WORD $0x3940026e // ldrb w14, [x19] + WORD $0x3900010e // strb w14, [x8] +LBB0_432: + WORD $0x910083f3 // add x19, sp, #32 +LBB0_433: + WORD $0x529fffe8 // mov w8, #65535 + WORD $0x3200f3fe // mov w30, #1431655765 + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0x17ffff1c // b LBB0_415 $-912(%rip) +LBB0_434: + WORD $0xf1002362 // subs x2, x27, #8 + WORD $0x54fffd63 // b.lo LBB0_428 $-84(%rip) +LBB0_435: + WORD $0xf840866e // ldr x14, [x19], #8 + WORD $0xf800850e // str x14, [x8], #8 + WORD $0xaa0203fb // mov x27, x2 + WORD $0xf1001042 // subs x2, x2, #4 + WORD $0x54fffd02 // b.hs LBB0_429 $-96(%rip) +LBB0_436: + WORD $0xf1000b62 // subs x2, x27, #2 + WORD $0x54fffd63 // b.lo LBB0_430 $-84(%rip) +LBB0_437: + WORD $0x7840266e // ldrh w14, [x19], #2 + WORD $0x7800250e // strh w14, [x8], #2 + WORD $0xaa0203fb // mov x27, x2 + WORD $0xb5fffd02 // cbnz x2, LBB0_431 $-96(%rip) + WORD $0x17ffffe9 // b LBB0_432 $-92(%rip) +LBB0_438: + WORD $0x910012a2 // add x2, x21, #4 +LBB0_439: + WORD $0xf940040e // ldr x14, [x0, #8] + WORD $0xeb0e005f // cmp x2, x14 + WORD $0x54ffd748 // b.hi LBB0_391 $-1304(%rip) + WORD $0xf9000022 // str x2, [x1] + WORD $0xaa0203f6 // mov x22, x2 + WORD $0x17fffeb7 // b LBB0_391 $-1316(%rip) +LBB0_441: + WORD $0xf9400402 // ldr x2, [x0, #8] + WORD $0xcb160057 // sub x23, x2, x22 + WORD $0xf10082ff // cmp x23, #32 + WORD $0x54002c8b // b.lt LBB0_480 $1424(%rip) + WORD $0xaa1003f1 // mov x17, x16 + WORD $0xd2800017 // mov x23, #0 + WORD $0xd280001b // mov x27, #0 + WORD $0x8b150279 // add x25, x19, x21 + WORD $0xcb150058 // sub x24, x2, x21 + WORD $0x528003fa // mov w26, #31 +LBB0_443: + WORD $0x8b17032e // add x14, x25, x23 + WORD $0x3cc011d3 // ldur q19, [x14, #1] + WORD $0x3cc111d4 // ldur q20, [x14, #17] + WORD $0x6e208e75 // cmeq.16b v21, v19, v0 + WORD $0x4e211eb5 // and.16b v21, v21, v1 + WORD $0x4e0202b5 // tbl.16b v21, { v21 }, v2 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602bc // fmov w28, s21 + WORD $0x6e208e95 // cmeq.16b v21, v20, v0 + WORD $0x4e211eb5 // and.16b v21, v21, v1 + WORD $0x4e0202b5 // tbl.16b v21, { v21 }, v2 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602ae // fmov w14, s21 + WORD $0x33103ddc // bfi w28, w14, #16, #16 + WORD $0x6e238e73 // cmeq.16b v19, v19, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260262 // fmov w2, s19 + WORD $0x6e238e93 // cmeq.16b v19, v20, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x33103dc2 // bfi w2, w14, #16, #16 + WORD $0x7100005f // cmp w2, #0 + WORD $0xfa400b60 // ccmp x27, #0, #0, eq + WORD $0x54000180 // b.eq LBB0_445 $48(%rip) + WORD $0x0a3b004e // bic w14, w2, w27 + WORD $0x2a0e076f // orr w15, w27, w14, lsl #1 + WORD $0x0a050050 // and w16, w2, w5 + WORD $0x0a2f0210 // bic w16, w16, w15 + WORD $0x2b0e020e // adds w14, w16, w14 + WORD $0x1a9f37fb // cset w27, hs + WORD $0x4a0e07ce // eor w14, w30, w14, lsl #1 + WORD $0x0a0f01ce // and w14, w14, w15 + WORD $0x2a2e03ee // mvn w14, w14 + WORD $0x8a1c01dc // and x28, x14, x28 + WORD $0x14000002 // b LBB0_446 $8(%rip) +LBB0_445: + WORD $0xd280001b // mov x27, #0 +LBB0_446: + WORD $0xb500253c // cbnz x28, LBB0_478 $1188(%rip) + WORD $0x910082f7 // add x23, x23, #32 + WORD $0xd100835a // sub x26, x26, #32 + WORD $0x8b1a030e // add x14, x24, x26 + WORD $0xf100fddf // cmp x14, #63 + WORD $0x54fffa6c // b.gt LBB0_443 $-180(%rip) + WORD $0xb5002a9b // cbnz x27, LBB0_488 $1360(%rip) + WORD $0x8b15026e // add x14, x19, x21 + WORD $0x8b1701ce // add x14, x14, x23 + WORD $0x910005d5 // add x21, x14, #1 + WORD $0xaa3703ee // mvn x14, x23 + WORD $0x8b1801d7 // add x23, x14, x24 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 +LBB0_450: + WORD $0xaa1103f0 // mov x16, x17 + WORD $0x14000127 // b LBB0_481 $1180(%rip) +LBB0_451: + WORD $0xd280001a // mov x26, #0 + WORD $0xd2800018 // mov x24, #0 + WORD $0xd2800015 // mov x21, #0 + WORD $0xd2800017 // mov x23, #0 + WORD $0xf940040e // ldr x14, [x0, #8] + WORD $0xcb1601cf // sub x15, x14, x22 + WORD $0x8b160273 // add x19, x19, x22 + WORD $0x1400000b // b LBB0_453 $44(%rip) +LBB0_452: + WORD $0x937fff5a // asr x26, x26, #63 + WORD $0x9e670373 // fmov d19, x27 + WORD $0x0e205a73 // cnt.8b v19, v19 + WORD $0x2e303a73 // uaddlv.8b h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x8b1501d5 // add x21, x14, x21 + WORD $0x91010273 // add x19, x19, #64 + WORD $0xf9400fef // ldr x15, [sp, #24] + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 +LBB0_453: + WORD $0xf10101ee // subs x14, x15, #64 + WORD $0xa9013bef // stp x15, x14, [sp, #16] + WORD $0x5400176b // b.lt LBB0_460 $748(%rip) +LBB0_454: + WORD $0xad405676 // ldp q22, q21, [x19] + WORD $0xad414e74 // ldp q20, q19, [x19, #32] + WORD $0x6e238ed7 // cmeq.16b v23, v22, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ee // fmov w14, s23 + WORD $0x6e238eb7 // cmeq.16b v23, v21, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ef // fmov w15, s23 + WORD $0x6e238e97 // cmeq.16b v23, v20, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f0 // fmov w16, s23 + WORD $0x6e238e77 // cmeq.16b v23, v19, v3 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01e2 // orr x2, x15, x14 + WORD $0xaa18004e // orr x14, x2, x24 + WORD $0xb500008e // cbnz x14, LBB0_456 $16(%rip) + WORD $0xd2800018 // mov x24, #0 + WORD $0xd280001b // mov x27, #0 + WORD $0x1400000a // b LBB0_457 $40(%rip) +LBB0_456: + WORD $0x8a38004e // bic x14, x2, x24 + WORD $0xaa0e070f // orr x15, x24, x14, lsl #1 + WORD $0x8a2f0050 // bic x16, x2, x15 + WORD $0x9201f210 // and x16, x16, #0xaaaaaaaaaaaaaaaa + WORD $0xab0e020e // adds x14, x16, x14 + WORD $0x1a9f37f8 // cset w24, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a0f01db // and x27, x14, x15 +LBB0_457: + WORD $0x6e208ed7 // cmeq.16b v23, v22, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ee // fmov w14, s23 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ef // fmov w15, s23 + WORD $0x6e208e97 // cmeq.16b v23, v20, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f0 // fmov w16, s23 + WORD $0x6e208e77 // cmeq.16b v23, v19, v0 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0x8a3b01ce // bic x14, x14, x27 + WORD $0x9200e1cf // and x15, x14, #0x1111111111111111 + WORD $0x9203e1d0 // and x16, x14, #0x2222222222222222 + WORD $0x9202e1d1 // and x17, x14, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0x9b047de2 // mul x2, x15, x4 + WORD $0x9b1c7e06 // mul x6, x16, x28 + WORD $0xca060042 // eor x2, x2, x6 + WORD $0x9b077e26 // mul x6, x17, x7 + WORD $0xb202e3fb // mov x27, #4919131752989213764 + WORD $0xf2e0889b // movk x27, #1092, lsl #48 + WORD $0xb203e3e7 // mov x7, #2459565876494606882 + WORD $0xf2e04447 // movk x7, #546, lsl #48 + WORD $0x9b077dc7 // mul x7, x14, x7 + WORD $0xca0700c6 // eor x6, x6, x7 + WORD $0xca060042 // eor x2, x2, x6 + WORD $0xb200e3f6 // mov x22, #1229782938247303441 + WORD $0xb203e3e4 // mov x4, #2459565876494606882 + WORD $0x9b047de6 // mul x6, x15, x4 + WORD $0x9b167e07 // mul x7, x16, x22 + WORD $0xca0700c6 // eor x6, x6, x7 + WORD $0x9b1c7e27 // mul x7, x17, x28 + WORD $0x9b1b7ddb // mul x27, x14, x27 + WORD $0xca1b00e7 // eor x7, x7, x27 + WORD $0xca0700c6 // eor x6, x6, x7 + WORD $0xb202e3f9 // mov x25, #4919131752989213764 + WORD $0x9b197de7 // mul x7, x15, x25 + WORD $0x9b047e1b // mul x27, x16, x4 + WORD $0xca1b00e7 // eor x7, x7, x27 + WORD $0x9b167e3b // mul x27, x17, x22 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0x9b1c7ddc // mul x28, x14, x28 + WORD $0xca1c037b // eor x27, x27, x28 + WORD $0xca1b00e7 // eor x7, x7, x27 + WORD $0xb201e3f6 // mov x22, #-8608480567731124088 + WORD $0x9b167def // mul x15, x15, x22 + WORD $0x9b197e10 // mul x16, x16, x25 + WORD $0xca1001ef // eor x15, x15, x16 + WORD $0x9b047e30 // mul x16, x17, x4 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0x9b047dce // mul x14, x14, x4 + WORD $0xca0e020e // eor x14, x16, x14 + WORD $0xca0e01ee // eor x14, x15, x14 + WORD $0x9200e04f // and x15, x2, #0x1111111111111111 + WORD $0x9203e0d0 // and x16, x6, #0x2222222222222222 + WORD $0x9202e0f1 // and x17, x7, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xaa1001ef // orr x15, x15, x16 + WORD $0xaa0e022e // orr x14, x17, x14 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xca1a01da // eor x26, x14, x26 + WORD $0x6e278ed7 // cmeq.16b v23, v22, v7 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ee // fmov w14, s23 + WORD $0x6e278eb7 // cmeq.16b v23, v21, v7 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602ef // fmov w15, s23 + WORD $0x6e278e97 // cmeq.16b v23, v20, v7 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f0 // fmov w16, s23 + WORD $0x6e278e77 // cmeq.16b v23, v19, v7 + WORD $0x4e211ef7 // and.16b v23, v23, v1 + WORD $0x4e0202f7 // tbl.16b v23, { v23 }, v2 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0x8a3a01db // bic x27, x14, x26 + WORD $0x6e268ed6 // cmeq.16b v22, v22, v6 + WORD $0x4e211ed6 // and.16b v22, v22, v1 + WORD $0x4e0202d6 // tbl.16b v22, { v22 }, v2 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602ce // fmov w14, s22 + WORD $0x6e268eb5 // cmeq.16b v21, v21, v6 + WORD $0x4e211eb5 // and.16b v21, v21, v1 + WORD $0x4e0202b5 // tbl.16b v21, { v21 }, v2 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602af // fmov w15, s21 + WORD $0x6e268e94 // cmeq.16b v20, v20, v6 + WORD $0x4e211e94 // and.16b v20, v20, v1 + WORD $0x4e020294 // tbl.16b v20, { v20 }, v2 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260290 // fmov w16, s20 + WORD $0x6e268e73 // cmeq.16b v19, v19, v6 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260271 // fmov w17, s19 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xea3a01dc // bics x28, x14, x26 + WORD $0x54ffe8e0 // b.eq LBB0_452 $-740(%rip) +LBB0_458: + WORD $0xd1000782 // sub x2, x28, #1 + WORD $0x8a1b004e // and x14, x2, x27 + WORD $0x9e6701d3 // fmov d19, x14 + WORD $0x0e205a73 // cnt.8b v19, v19 + WORD $0x2e303a73 // uaddlv.8b h19, v19 + WORD $0x1e26026e // fmov w14, s19 + WORD $0x8b1501ce // add x14, x14, x21 + WORD $0xeb1701df // cmp x14, x23 + WORD $0x540007c9 // b.ls LBB0_477 $248(%rip) + WORD $0x910006f7 // add x23, x23, #1 + WORD $0xea1c005c // ands x28, x2, x28 + WORD $0x54fffea1 // b.ne LBB0_458 $-44(%rip) + WORD $0x17ffff3a // b LBB0_452 $-792(%rip) +LBB0_460: + WORD $0xf10001ff // cmp x15, #0 + WORD $0x54000dad // b.le LBB0_487 $436(%rip) + WORD $0xad0243f0 // stp q16, q16, [sp, #64] + WORD $0xad0143f0 // stp q16, q16, [sp, #32] + WORD $0x92402e68 // and x8, x19, #0xfff + WORD $0xf13f051f // cmp x8, #4033 + WORD $0x54000383 // b.lo LBB0_472 $112(%rip) + WORD $0xf9400be8 // ldr x8, [sp, #16] + WORD $0xf100811b // subs x27, x8, #32 + WORD $0x540000a3 // b.lo LBB0_464 $20(%rip) + WORD $0xacc15273 // ldp q19, q20, [x19], #32 + WORD $0xad0153f3 // stp q19, q20, [sp, #32] + WORD $0xaa0b03e8 // mov x8, x11 + WORD $0x14000003 // b LBB0_465 $12(%rip) +LBB0_464: + WORD $0x910083e8 // add x8, sp, #32 + WORD $0xf9400bfb // ldr x27, [sp, #16] +LBB0_465: + WORD $0xf1004362 // subs x2, x27, #16 + WORD $0x54000343 // b.lo LBB0_473 $104(%rip) + WORD $0x3cc10673 // ldr q19, [x19], #16 + WORD $0x3c810513 // str q19, [x8], #16 + WORD $0xaa0203fb // mov x27, x2 + WORD $0xf1002042 // subs x2, x2, #8 + WORD $0x540002e2 // b.hs LBB0_474 $92(%rip) +LBB0_467: + WORD $0xf1001362 // subs x2, x27, #4 + WORD $0x54000343 // b.lo LBB0_475 $104(%rip) +LBB0_468: + WORD $0xb840466e // ldr w14, [x19], #4 + WORD $0xb800450e // str w14, [x8], #4 + WORD $0xaa0203fb // mov x27, x2 + WORD $0xf1000842 // subs x2, x2, #2 + WORD $0x540002e2 // b.hs LBB0_476 $92(%rip) +LBB0_469: + WORD $0xb400007b // cbz x27, LBB0_471 $12(%rip) +LBB0_470: + WORD $0x3940026e // ldrb w14, [x19] + WORD $0x3900010e // strb w14, [x8] +LBB0_471: + WORD $0x910083f3 // add x19, sp, #32 +LBB0_472: + WORD $0x529fffe8 // mov w8, #65535 + WORD $0x3200f3fe // mov w30, #1431655765 + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0x17ffff1c // b LBB0_454 $-912(%rip) +LBB0_473: + WORD $0xf1002362 // subs x2, x27, #8 + WORD $0x54fffd63 // b.lo LBB0_467 $-84(%rip) +LBB0_474: + WORD $0xf840866e // ldr x14, [x19], #8 + WORD $0xf800850e // str x14, [x8], #8 + WORD $0xaa0203fb // mov x27, x2 + WORD $0xf1001042 // subs x2, x2, #4 + WORD $0x54fffd02 // b.hs LBB0_468 $-96(%rip) +LBB0_475: + WORD $0xf1000b62 // subs x2, x27, #2 + WORD $0x54fffd63 // b.lo LBB0_469 $-84(%rip) +LBB0_476: + WORD $0x7840266e // ldrh w14, [x19], #2 + WORD $0x7800250e // strh w14, [x8], #2 + WORD $0xaa0203fb // mov x27, x2 + WORD $0xb5fffd02 // cbnz x2, LBB0_470 $-96(%rip) + WORD $0x17ffffe9 // b LBB0_471 $-92(%rip) +LBB0_477: + WORD $0xf940040e // ldr x14, [x0, #8] + WORD $0xdac0038f // rbit x15, x28 + WORD $0xdac011ef // clz x15, x15 + WORD $0xf9400bf0 // ldr x16, [sp, #16] + WORD $0xcb1001ef // sub x15, x15, x16 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910005cf // add x15, x14, #1 + WORD $0xf900002f // str x15, [x1] + WORD $0xf9400410 // ldr x16, [x0, #8] + WORD $0xeb1001ff // cmp x15, x16 + WORD $0x9a8e2616 // csinc x22, x16, x14, hs + WORD $0xf9000036 // str x22, [x1] + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 +Lloh18: + WORD $0x10012c10 // adr x16, __UnquoteTab $9600(%rip) +Lloh19: + WORD $0x91000210 // add x16, x16, __UnquoteTab@PAGEOFF $0(%rip) + WORD $0x17fffd5c // b LBB0_391 $-2704(%rip) +LBB0_478: + WORD $0xdac0038e // rbit x14, x28 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1702af // add x15, x21, x23 + WORD $0x8b0f01ce // add x14, x14, x15 + WORD $0x910009d6 // add x22, x14, #2 + WORD $0xf9000036 // str x22, [x1] + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0xaa1103f0 // mov x16, x17 + WORD $0x17fffd52 // b LBB0_391 $-2744(%rip) +LBB0_479: + WORD $0xf9000036 // str x22, [x1] + WORD $0x17fffd50 // b LBB0_391 $-2752(%rip) +LBB0_480: + WORD $0x8b160275 // add x21, x19, x22 +LBB0_481: + WORD $0xf10006ff // cmp x23, #1 + WORD $0x540000ea // b.ge LBB0_483 $28(%rip) + WORD $0x17fffd4c // b LBB0_391 $-2768(%rip) +LBB0_482: + WORD $0x92800022 // mov x2, #-2 + WORD $0x52800058 // mov w24, #2 + WORD $0x8b1802b5 // add x21, x21, x24 + WORD $0xab0202f7 // adds x23, x23, x2 + WORD $0x54ffa8ed // b.le LBB0_391 $-2788(%rip) +LBB0_483: + WORD $0x394002a2 // ldrb w2, [x21] + WORD $0x7101705f // cmp w2, #92 + WORD $0x54ffff20 // b.eq LBB0_482 $-28(%rip) + WORD $0x7100885f // cmp w2, #34 + WORD $0x540000e0 // b.eq LBB0_486 $28(%rip) + WORD $0x92800002 // mov x2, #-1 + WORD $0x52800038 // mov w24, #1 + WORD $0x8b1802b5 // add x21, x21, x24 + WORD $0xab0202f7 // adds x23, x23, x2 + WORD $0x54fffeec // b.gt LBB0_483 $-36(%rip) + WORD $0x17fffd3c // b LBB0_391 $-2832(%rip) +LBB0_486: + WORD $0xcb1302ae // sub x14, x21, x19 + WORD $0x910005d6 // add x22, x14, #1 + WORD $0xf9000036 // str x22, [x1] + WORD $0x17fffd38 // b LBB0_391 $-2848(%rip) +LBB0_487: + WORD $0xf9400416 // ldr x22, [x0, #8] + WORD $0xf9000036 // str x22, [x1] + WORD $0x529fffe8 // mov w8, #65535 + WORD $0x3200f3fe // mov w30, #1431655765 + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 +Lloh20: + WORD $0x100125f0 // adr x16, __UnquoteTab $9404(%rip) +Lloh21: + WORD $0x91000210 // add x16, x16, __UnquoteTab@PAGEOFF $0(%rip) + WORD $0x17fffd2b // b LBB0_391 $-2900(%rip) +LBB0_488: + WORD $0xd1000708 // sub x8, x24, #1 + WORD $0xeb17011f // cmp x8, x23 + WORD $0x54000161 // b.ne LBB0_490 $44(%rip) + WORD $0x529fffe8 // mov w8, #65535 + WORD $0x3200f3fe // mov w30, #1431655765 + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0xaa1103f0 // mov x16, x17 + WORD $0x17fffd1e // b LBB0_391 $-2952(%rip) +LBB0_490: + WORD $0x8b150268 // add x8, x19, x21 + WORD $0x8b170108 // add x8, x8, x23 + WORD $0x91000915 // add x21, x8, #2 + WORD $0xcb170308 // sub x8, x24, x23 + WORD $0xd1000917 // sub x23, x8, #2 + WORD $0x529fffe8 // mov w8, #65535 + WORD $0x3200f3fe // mov w30, #1431655765 + WORD $0x3201f3e5 // mov w5, #-1431655766 + WORD $0xb201e3fc // mov x28, #-8608480567731124088 + WORD $0xf2e1111c // movk x28, #2184, lsl #48 + WORD $0xb202e3e7 // mov x7, #4919131752989213764 + WORD $0xf2e08887 // movk x7, #1092, lsl #48 + WORD $0xb200e3e4 // mov x4, #1229782938247303441 + WORD $0x17fffe9a // b LBB0_450 $-1432(%rip) +LBB0_491: + WORD $0x91004129 // add x9, x9, #16 + WORD $0xeb0a013f // cmp x9, x10 + WORD $0x54febf81 // b.ne LBB0_2 $-10256(%rip) +LBB0_492: + WORD $0xb400aa83 // cbz x3, LBB0_779 $5456(%rip) +Lloh22: + WORD $0x10feb988 // adr x8, lCPI0_2 $-10448(%rip) +Lloh23: + WORD $0x3dc00100 // ldr q0, [x8, lCPI0_2@PAGEOFF] $0(%rip) + WORD $0xaa0303ea // mov x10, x3 + WORD $0x3c808540 // str q0, [x10], #8 + WORD $0xf9400009 // ldr x9, [x0] + WORD $0xaa2903eb // mvn x11, x9 + WORD $0xf940003b // ldr x27, [x1] + WORD $0xcb0903ec // neg x12, x9 + WORD $0xd100052d // sub x13, x9, #1 + WORD $0x9280000e // mov x14, #-1 + WORD $0x5280002f // mov w15, #1 + WORD $0xd284c010 // mov x16, #9728 + WORD $0xf2c00030 // movk x16, #1, lsl #32 + WORD $0x52800078 // mov w24, #3 + WORD $0x52800085 // mov w5, #4 + WORD $0x4f01e440 // movi.16b v0, #34 + WORD $0x4f02e781 // movi.16b v1, #92 +Lloh24: + WORD $0x10feb668 // adr x8, lCPI0_0 $-10548(%rip) +Lloh25: + WORD $0x3dc00102 // ldr q2, [x8, lCPI0_0@PAGEOFF] $0(%rip) +Lloh26: + WORD $0x10feb6a8 // adr x8, lCPI0_1 $-10540(%rip) +Lloh27: + WORD $0x3dc00103 // ldr q3, [x8, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x4f01e5c4 // movi.16b v4, #46 + WORD $0x4f01e565 // movi.16b v5, #43 + WORD $0x4f01e5a6 // movi.16b v6, #45 + WORD $0x12800007 // mov w7, #-1 + WORD $0x4f06e607 // movi.16b v7, #208 + WORD $0x4f00e550 // movi.16b v16, #10 + WORD $0x4f06e7f1 // movi.16b v17, #223 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0x4f02e4b2 // movi.16b v18, #69 + WORD $0x52800024 // mov w4, #1 +LBB0_494: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000162 // b.hs LBB0_499 $44(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x54000100 // b.eq LBB0_499 $32(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x540000c0 // b.eq LBB0_499 $24(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000062 // b.hs LBB0_499 $12(%rip) + WORD $0xaa1b03fa // mov x26, x27 + WORD $0x14000031 // b LBB0_515 $196(%rip) +LBB0_499: + WORD $0x9100077a // add x26, x27, #1 + WORD $0xeb08035f // cmp x26, x8 + WORD $0x54000122 // b.hs LBB0_503 $36(%rip) + WORD $0x387a6931 // ldrb w17, [x9, x26] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_503 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_503 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x540004c3 // b.lo LBB0_515 $152(%rip) +LBB0_503: + WORD $0x91000b7a // add x26, x27, #2 + WORD $0xeb08035f // cmp x26, x8 + WORD $0x54000122 // b.hs LBB0_507 $36(%rip) + WORD $0x387a6931 // ldrb w17, [x9, x26] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_507 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_507 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000363 // b.lo LBB0_515 $108(%rip) +LBB0_507: + WORD $0x91000f7a // add x26, x27, #3 + WORD $0xeb08035f // cmp x26, x8 + WORD $0x54000122 // b.hs LBB0_511 $36(%rip) + WORD $0x387a6931 // ldrb w17, [x9, x26] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_511 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_511 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000203 // b.lo LBB0_515 $64(%rip) +LBB0_511: + WORD $0x9100137a // add x26, x27, #4 + WORD $0xeb08035f // cmp x26, x8 + WORD $0x5400b742 // b.hs LBB0_833 $5864(%rip) +LBB0_512: + WORD $0x387a6931 // ldrb w17, [x9, x26] + WORD $0x7100823f // cmp w17, #32 + WORD $0x9ad121f1 // lsl x17, x15, x17 + WORD $0x8a100231 // and x17, x17, x16 + WORD $0xfa409a24 // ccmp x17, #0, #4, ls + WORD $0x540000a0 // b.eq LBB0_514 $20(%rip) + WORD $0x9100075a // add x26, x26, #1 + WORD $0xeb1a011f // cmp x8, x26 + WORD $0x54ffff01 // b.ne LBB0_512 $-32(%rip) + WORD $0x1400052e // b LBB0_799 $5304(%rip) +LBB0_514: + WORD $0xeb08035f // cmp x26, x8 + WORD $0x5400a582 // b.hs LBB0_799 $5296(%rip) +LBB0_515: + WORD $0x9100075b // add x27, x26, #1 + WORD $0xf900003b // str x27, [x1] + WORD $0x8b1a013c // add x28, x9, x26 + WORD $0x39400394 // ldrb w20, [x28] + WORD $0x3400a4f4 // cbz w20, LBB0_799 $5276(%rip) + WORD $0xd1000493 // sub x19, x4, #1 + WORD $0xf8737948 // ldr x8, [x10, x19, lsl #3] + WORD $0xb10005df // cmn x14, #1 + WORD $0x9a8e034e // csel x14, x26, x14, eq + WORD $0x71000d1f // cmp w8, #3 + WORD $0x54000dac // b.gt LBB0_532 $436(%rip) + WORD $0x7100051f // cmp w8, #1 + WORD $0x54001cc0 // b.eq LBB0_550 $920(%rip) + WORD $0x7100091f // cmp w8, #2 + WORD $0x54001de0 // b.eq LBB0_555 $956(%rip) + WORD $0x71000d1f // cmp w8, #3 + WORD $0x54001d61 // b.ne LBB0_554 $940(%rip) + WORD $0x71008a9f // cmp w20, #34 + WORD $0x5400b221 // b.ne LBB0_831 $5700(%rip) + WORD $0xf8337945 // str x5, [x10, x19, lsl #3] + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1b011e // subs lr, x8, x27 + WORD $0x54010aa0 // b.eq LBB0_931 $8532(%rip) + WORD $0xf10103df // cmp lr, #64 + WORD $0x54006a03 // b.lo LBB0_706 $3392(%rip) + WORD $0xd2800004 // mov x4, #0 + WORD $0x9280001c // mov x28, #-1 +LBB0_524: + WORD $0x8b1b0131 // add x17, x9, x27 + WORD $0xad405233 // ldp q19, q20, [x17] + WORD $0xad415a35 // ldp q21, q22, [x17, #32] + WORD $0x6e208e77 // cmeq.16b v23, v19, v0 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e218e73 // cmeq.16b v19, v19, v1 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x4e221f17 // and.16b v23, v24, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602e6 // fmov w6, s23 + WORD $0x4e221f37 // and.16b v23, v25, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f3 // fmov w19, s23 + WORD $0x4e221f57 // and.16b v23, v26, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f4 // fmov w20, s23 + WORD $0x4e221e73 // and.16b v19, v19, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x4e221e93 // and.16b v19, v20, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0x4e221eb3 // and.16b v19, v21, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260277 // fmov w23, s19 + WORD $0x4e221ed3 // and.16b v19, v22, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260279 // fmov w25, s19 + WORD $0xd3607e73 // lsl x19, x19, #32 + WORD $0xaa14c273 // orr x19, x19, x20, lsl #48 + WORD $0x53103cc6 // lsl w6, w6, #16 + WORD $0xaa060266 // orr x6, x19, x6 + WORD $0xaa1100d3 // orr x19, x6, x17 + WORD $0xd3607ef1 // lsl x17, x23, #32 + WORD $0xaa19c231 // orr x17, x17, x25, lsl #48 + WORD $0x53103ec6 // lsl w6, w22, #16 + WORD $0xaa060231 // orr x17, x17, x6 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xb5000111 // cbnz x17, LBB0_528 $32(%rip) + WORD $0xb5000184 // cbnz x4, LBB0_529 $48(%rip) + WORD $0xb50002d3 // cbnz x19, LBB0_530 $88(%rip) +LBB0_527: + WORD $0xd10103de // sub lr, lr, #64 + WORD $0x9101037b // add x27, x27, #64 + WORD $0xf100ffdf // cmp lr, #63 + WORD $0x54fff8a8 // b.hi LBB0_524 $-236(%rip) + WORD $0x140002fa // b LBB0_702 $3048(%rip) +LBB0_528: + WORD $0xb100079f // cmn x28, #1 + WORD $0xdac00226 // rbit x6, x17 + WORD $0xdac010c6 // clz x6, x6 + WORD $0x8b1b00c6 // add x6, x6, x27 + WORD $0x9a86139c // csel x28, x28, x6, ne +LBB0_529: + WORD $0x8a240226 // bic x6, x17, x4 + WORD $0xaa060494 // orr x20, x4, x6, lsl #1 + WORD $0x8a340231 // bic x17, x17, x20 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab060231 // adds x17, x17, x6 + WORD $0x1a9f37e4 // cset w4, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a140231 // and x17, x17, x20 + WORD $0x8a310273 // bic x19, x19, x17 + WORD $0xb4fffd93 // cbz x19, LBB0_527 $-80(%rip) +LBB0_530: + WORD $0xdac00271 // rbit x17, x19 + WORD $0xdac01231 // clz x17, x17 + WORD $0x8b1b0231 // add x17, x17, x27 + WORD $0x9100063b // add x27, x17, #1 + WORD $0x52800085 // mov w5, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 +LBB0_531: + WORD $0xb6f8439b // tbz x27, #63, LBB0_650 $2160(%rip) + WORD $0x1400079a // b LBB0_903 $7784(%rip) +LBB0_532: + WORD $0x7100111f // cmp w8, #4 + WORD $0x54000fe0 // b.eq LBB0_552 $508(%rip) + WORD $0x7100151f // cmp w8, #5 + WORD $0x54001100 // b.eq LBB0_557 $544(%rip) + WORD $0x7100191f // cmp w8, #6 + WORD $0x54000fe1 // b.ne LBB0_554 $508(%rip) + WORD $0x71008a9f // cmp w20, #34 + WORD $0x54001021 // b.ne LBB0_556 $516(%rip) + WORD $0x3200f3e2 // mov w2, #1431655765 + WORD $0x52800048 // mov w8, #2 + WORD $0xf8337948 // str x8, [x10, x19, lsl #3] + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1b011e // subs lr, x8, x27 + WORD $0x5400fce0 // b.eq LBB0_931 $8092(%rip) + WORD $0xf10103df // cmp lr, #64 + WORD $0x540062c3 // b.lo LBB0_714 $3160(%rip) + WORD $0xd2800004 // mov x4, #0 + WORD $0x9280001c // mov x28, #-1 +LBB0_539: + WORD $0x8b1b0131 // add x17, x9, x27 + WORD $0xad405233 // ldp q19, q20, [x17] + WORD $0xad415a35 // ldp q21, q22, [x17, #32] + WORD $0x6e208e77 // cmeq.16b v23, v19, v0 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e218e73 // cmeq.16b v19, v19, v1 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x4e221f17 // and.16b v23, v24, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602e6 // fmov w6, s23 + WORD $0x4e221f37 // and.16b v23, v25, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f3 // fmov w19, s23 + WORD $0x4e221f57 // and.16b v23, v26, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f4 // fmov w20, s23 + WORD $0x4e221e73 // and.16b v19, v19, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x4e221e93 // and.16b v19, v20, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0x4e221eb3 // and.16b v19, v21, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260277 // fmov w23, s19 + WORD $0x4e221ed3 // and.16b v19, v22, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260279 // fmov w25, s19 + WORD $0xd3607e73 // lsl x19, x19, #32 + WORD $0xaa14c273 // orr x19, x19, x20, lsl #48 + WORD $0x53103cc6 // lsl w6, w6, #16 + WORD $0xaa060266 // orr x6, x19, x6 + WORD $0xaa1100d3 // orr x19, x6, x17 + WORD $0xd3607ef1 // lsl x17, x23, #32 + WORD $0xaa19c231 // orr x17, x17, x25, lsl #48 + WORD $0x53103ec6 // lsl w6, w22, #16 + WORD $0xaa060231 // orr x17, x17, x6 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xb5000111 // cbnz x17, LBB0_543 $32(%rip) + WORD $0xb5000184 // cbnz x4, LBB0_544 $48(%rip) + WORD $0xb50002d3 // cbnz x19, LBB0_545 $88(%rip) +LBB0_542: + WORD $0xd10103de // sub lr, lr, #64 + WORD $0x9101037b // add x27, x27, #64 + WORD $0xf100ffdf // cmp lr, #63 + WORD $0x54fff8a8 // b.hi LBB0_539 $-236(%rip) + WORD $0x140002d1 // b LBB0_712 $2884(%rip) +LBB0_543: + WORD $0xb100079f // cmn x28, #1 + WORD $0xdac00226 // rbit x6, x17 + WORD $0xdac010c6 // clz x6, x6 + WORD $0x8b1b00c6 // add x6, x6, x27 + WORD $0x9a86139c // csel x28, x28, x6, ne +LBB0_544: + WORD $0x8a240226 // bic x6, x17, x4 + WORD $0xaa060494 // orr x20, x4, x6, lsl #1 + WORD $0x8a340231 // bic x17, x17, x20 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab060231 // adds x17, x17, x6 + WORD $0x1a9f37e4 // cset w4, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a140231 // and x17, x17, x20 + WORD $0x8a310273 // bic x19, x19, x17 + WORD $0xb4fffd93 // cbz x19, LBB0_542 $-80(%rip) +LBB0_545: + WORD $0xdac00271 // rbit x17, x19 + WORD $0xdac01231 // clz x17, x17 + WORD $0x8b1b0231 // add x17, x17, x27 + WORD $0x9100063b // add x27, x17, #1 +LBB0_546: + WORD $0x52800085 // mov w5, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0xb7f8e57b // tbnz x27, #63, LBB0_903 $7340(%rip) +LBB0_547: + WORD $0xf900003b // str x27, [x1] + WORD $0xaa1a03e8 // mov x8, x26 + WORD $0xb27ff7f1 // mov x17, #9223372036854775806 + WORD $0xeb11035f // cmp x26, x17 + WORD $0x54009748 // b.hi LBB0_832 $4840(%rip) + WORD $0xf9400068 // ldr x8, [x3] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400e42c // b.gt LBB0_902 $7300(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000071 // str x17, [x3] + WORD $0xf8287945 // str x5, [x10, x8, lsl #3] + WORD $0x140001a4 // b LBB0_651 $1680(%rip) +LBB0_550: + WORD $0x7100b29f // cmp w20, #44 + WORD $0x54001660 // b.eq LBB0_597 $716(%rip) + WORD $0x7101769f // cmp w20, #93 + WORD $0x540001e0 // b.eq LBB0_558 $60(%rip) + WORD $0x140004ad // b LBB0_831 $4788(%rip) +LBB0_552: + WORD $0x7100ea9f // cmp w20, #58 + WORD $0x54009561 // b.ne LBB0_831 $4780(%rip) + WORD $0xf833795f // str xzr, [x10, x19, lsl #3] + WORD $0x1400019b // b LBB0_651 $1644(%rip) +LBB0_554: + WORD $0xf9000073 // str x19, [x3] + WORD $0x1400000e // b LBB0_560 $56(%rip) +LBB0_555: + WORD $0x7100b29f // cmp w20, #44 + WORD $0x540015c0 // b.eq LBB0_599 $696(%rip) +LBB0_556: + WORD $0x7101f69f // cmp w20, #125 + WORD $0x54000080 // b.eq LBB0_558 $16(%rip) + WORD $0x140004a2 // b LBB0_831 $4744(%rip) +LBB0_557: + WORD $0x7101769f // cmp w20, #93 + WORD $0x540000c1 // b.ne LBB0_559 $24(%rip) +LBB0_558: + WORD $0xf9000073 // str x19, [x3] + WORD $0xaa1303e4 // mov x4, x19 + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffd793 // cbnz x19, LBB0_494 $-1296(%rip) + WORD $0x1400049c // b LBB0_832 $4720(%rip) +LBB0_559: + WORD $0xf833794f // str x15, [x10, x19, lsl #3] +LBB0_560: + WORD $0x92800028 // mov x8, #-2 + WORD $0x71016a9f // cmp w20, #90 + WORD $0x540014cc // b.gt LBB0_601 $664(%rip) + WORD $0x5100c291 // sub w17, w20, #48 + WORD $0x71002a3f // cmp w17, #10 + WORD $0x54001c82 // b.hs LBB0_621 $912(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1a0113 // subs x19, x8, x26 + WORD $0x5400e060 // b.eq LBB0_905 $7180(%rip) + WORD $0x39400388 // ldrb w8, [x28] + WORD $0x7100c11f // cmp w8, #48 + WORD $0x54000141 // b.ne LBB0_567 $40(%rip) + WORD $0xf100067f // cmp x19, #1 + WORD $0x54002f40 // b.eq LBB0_650 $1512(%rip) + WORD $0x387b6928 // ldrb w8, [x9, x27] + WORD $0x5100b908 // sub w8, w8, #46 + WORD $0x7100dd1f // cmp w8, #55 + WORD $0x54002ec8 // b.hi LBB0_650 $1496(%rip) + WORD $0x9ac821e8 // lsl x8, x15, x8 + WORD $0xea16011f // tst x8, x22 + WORD $0x54002e60 // b.eq LBB0_650 $1484(%rip) +LBB0_567: + WORD $0xf100427f // cmp x19, #16 + WORD $0x54005c03 // b.lo LBB0_730 $2944(%rip) + WORD $0xd2800014 // mov x20, #0 + WORD $0xd280001e // mov lr, #0 + WORD $0x9280001b // mov x27, #-1 + WORD $0x92800004 // mov x4, #-1 + WORD $0x92800008 // mov x8, #-1 +LBB0_569: + WORD $0x3cfe6b93 // ldr q19, [x28, lr] + WORD $0x6e248e74 // cmeq.16b v20, v19, v4 + WORD $0x6e258e75 // cmeq.16b v21, v19, v5 + WORD $0x6e268e76 // cmeq.16b v22, v19, v6 + WORD $0x4e278677 // add.16b v23, v19, v7 + WORD $0x6e373617 // cmhi.16b v23, v16, v23 + WORD $0x4e311e73 // and.16b v19, v19, v17 + WORD $0x6e328e73 // cmeq.16b v19, v19, v18 + WORD $0x4eb61eb5 // orr.16b v21, v21, v22 + WORD $0x4eb41ef6 // orr.16b v22, v23, v20 + WORD $0x4eb51e77 // orr.16b v23, v19, v21 + WORD $0x4eb71ed6 // orr.16b v22, v22, v23 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x4e221e73 // and.16b v19, v19, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0x4e221eb3 // and.16b v19, v21, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260279 // fmov w25, s19 + WORD $0x4e221ed3 // and.16b v19, v22, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260266 // fmov w6, s19 + WORD $0x2a2603e6 // mvn w6, w6 + WORD $0x32103cc6 // orr w6, w6, #0xffff0000 + WORD $0x5ac000c6 // rbit w6, w6 + WORD $0x5ac010d5 // clz w21, w6 + WORD $0x1ad520e6 // lsl w6, w7, w21 + WORD $0x0a260237 // bic w23, w17, w6 + WORD $0x0a2602d8 // bic w24, w22, w6 + WORD $0x0a260322 // bic w2, w25, w6 + WORD $0x710042bf // cmp w21, #16 + WORD $0x1a970226 // csel w6, w17, w23, eq + WORD $0x1a9802d7 // csel w23, w22, w24, eq + WORD $0x1a820336 // csel w22, w25, w2, eq + WORD $0x510004d1 // sub w17, w6, #1 + WORD $0x6a060231 // ands w17, w17, w6 + WORD $0x54004061 // b.ne LBB0_703 $2060(%rip) + WORD $0x510006f1 // sub w17, w23, #1 + WORD $0x6a170231 // ands w17, w17, w23 + WORD $0x54004001 // b.ne LBB0_703 $2048(%rip) + WORD $0x510006d1 // sub w17, w22, #1 + WORD $0x6a160231 // ands w17, w17, w22 + WORD $0x54003fa1 // b.ne LBB0_703 $2036(%rip) + WORD $0x340000c6 // cbz w6, LBB0_575 $24(%rip) + WORD $0x5ac000d1 // rbit w17, w6 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x54003fa1 // b.ne LBB0_704 $2036(%rip) + WORD $0x8b1103c8 // add x8, lr, x17 +LBB0_575: + WORD $0x340000d7 // cbz w23, LBB0_578 $24(%rip) + WORD $0x5ac002f1 // rbit w17, w23 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100049f // cmn x4, #1 + WORD $0x54003ee1 // b.ne LBB0_704 $2012(%rip) + WORD $0x8b1103c4 // add x4, lr, x17 +LBB0_578: + WORD $0x340000d6 // cbz w22, LBB0_581 $24(%rip) + WORD $0x5ac002d1 // rbit w17, w22 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100077f // cmn x27, #1 + WORD $0x54003e21 // b.ne LBB0_704 $1988(%rip) + WORD $0x8b1103db // add x27, lr, x17 +LBB0_581: + WORD $0x710042bf // cmp w21, #16 + WORD $0x54000b01 // b.ne LBB0_607 $352(%rip) + WORD $0x910043de // add lr, lr, #16 + WORD $0xd1004294 // sub x20, x20, #16 + WORD $0x8b140275 // add x21, x19, x20 + WORD $0xf1003ebf // cmp x21, #15 + WORD $0x54fff6e8 // b.hi LBB0_569 $-292(%rip) + WORD $0x8b1e0394 // add x20, x28, lr + WORD $0xeb1e027f // cmp x19, lr + WORD $0x54000a40 // b.eq LBB0_608 $328(%rip) +LBB0_584: + WORD $0x8b150296 // add x22, x20, x21 + WORD $0x8b1a01b1 // add x17, x13, x26 + WORD $0xcb140233 // sub x19, x17, x20 + WORD $0xcb1c0297 // sub x23, x20, x28 + WORD $0xaa1403fe // mov lr, x20 + WORD $0x52800078 // mov w24, #3 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0x14000009 // b LBB0_587 $36(%rip) +LBB0_585: + WORD $0xb100049f // cmn x4, #1 + WORD $0xaa1703e4 // mov x4, x23 + WORD $0x540003a1 // b.ne LBB0_596 $116(%rip) +LBB0_586: + WORD $0xd1000673 // sub x19, x19, #1 + WORD $0x910006f7 // add x23, x23, #1 + WORD $0xaa1e03f4 // mov x20, lr + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0xb40022d5 // cbz x21, LBB0_652 $1112(%rip) +LBB0_587: + WORD $0x384017c6 // ldrb w6, [lr], #1 + WORD $0x5100c0d1 // sub w17, w6, #48 + WORD $0x71002a3f // cmp w17, #10 + WORD $0x54ffff03 // b.lo LBB0_586 $-32(%rip) + WORD $0x7100b4df // cmp w6, #45 + WORD $0x5400016d // b.le LBB0_593 $44(%rip) + WORD $0x710194df // cmp w6, #101 + WORD $0x54fffe20 // b.eq LBB0_585 $-60(%rip) + WORD $0x710114df // cmp w6, #69 + WORD $0x54fffde0 // b.eq LBB0_585 $-68(%rip) + WORD $0x7100b8df // cmp w6, #46 + WORD $0x540006a1 // b.ne LBB0_608 $212(%rip) + WORD $0xb100051f // cmn x8, #1 + WORD $0xaa1703e8 // mov x8, x23 + WORD $0x54fffda0 // b.eq LBB0_586 $-76(%rip) + WORD $0x14000008 // b LBB0_596 $32(%rip) +LBB0_593: + WORD $0x7100acdf // cmp w6, #43 + WORD $0x54000060 // b.eq LBB0_595 $12(%rip) + WORD $0x7100b4df // cmp w6, #45 + WORD $0x540005a1 // b.ne LBB0_608 $180(%rip) +LBB0_595: + WORD $0xb100077f // cmn x27, #1 + WORD $0xaa1703fb // mov x27, x23 + WORD $0x54fffca0 // b.eq LBB0_586 $-108(%rip) +LBB0_596: + WORD $0x52800085 // mov w5, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 + WORD $0xb6f809b3 // tbz x19, #63, LBB0_620 $308(%rip) + WORD $0x14000671 // b LBB0_906 $6596(%rip) +LBB0_597: + WORD $0xf13ffc9f // cmp x4, #4095 + WORD $0x5400ccec // b.gt LBB0_902 $6556(%rip) + WORD $0x91000488 // add x8, x4, #1 + WORD $0xf9000068 // str x8, [x3] + WORD $0xf824795f // str xzr, [x10, x4, lsl #3] + WORD $0x140000ea // b LBB0_651 $936(%rip) +LBB0_599: + WORD $0xf13ffc9f // cmp x4, #4095 + WORD $0x5400cc2c // b.gt LBB0_902 $6532(%rip) + WORD $0x91000488 // add x8, x4, #1 + WORD $0xf9000068 // str x8, [x3] + WORD $0xf8247958 // str x24, [x10, x4, lsl #3] + WORD $0x140000e4 // b LBB0_651 $912(%rip) +LBB0_601: + WORD $0x7101b69f // cmp w20, #109 + WORD $0x54000a2d // b.le LBB0_627 $324(%rip) + WORD $0x7101ba9f // cmp w20, #110 + WORD $0x54000c80 // b.eq LBB0_634 $400(%rip) + WORD $0x7101d29f // cmp w20, #116 + WORD $0x54000b40 // b.eq LBB0_632 $360(%rip) + WORD $0x7101ee9f // cmp w20, #123 + WORD $0x54007d61 // b.ne LBB0_832 $4012(%rip) + WORD $0xf9400068 // ldr x8, [x3] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400ca4c // b.gt LBB0_902 $6472(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000071 // str x17, [x3] + WORD $0x528000d1 // mov w17, #6 + WORD $0xf8287951 // str x17, [x10, x8, lsl #3] + WORD $0x140000d4 // b LBB0_651 $848(%rip) +LBB0_607: + WORD $0x8b354391 // add x17, x28, w21, uxtw + WORD $0x8b1e0234 // add x20, x17, lr +LBB0_608: + WORD $0x92800013 // mov x19, #-1 + WORD $0xb400ca28 // cbz x8, LBB0_906 $6468(%rip) +LBB0_609: + WORD $0x52800085 // mov w5, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 + WORD $0xb400c8fb // cbz x27, LBB0_906 $6428(%rip) + WORD $0x52800078 // mov w24, #3 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0xb400c864 // cbz x4, LBB0_906 $6412(%rip) + WORD $0xcb1c0293 // sub x19, x20, x28 + WORD $0xd1000671 // sub x17, x19, #1 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x54000300 // b.eq LBB0_619 $96(%rip) + WORD $0xeb11037f // cmp x27, x17 + WORD $0x540002c0 // b.eq LBB0_619 $88(%rip) + WORD $0xeb11009f // cmp x4, x17 + WORD $0x54000280 // b.eq LBB0_619 $80(%rip) + WORD $0xf1000771 // subs x17, x27, #1 + WORD $0x5400006b // b.lt LBB0_616 $12(%rip) + WORD $0xeb11009f // cmp x4, x17 + WORD $0x5400c701 // b.ne LBB0_907 $6368(%rip) +LBB0_616: + WORD $0xaa040111 // orr x17, x8, x4 + WORD $0xb7f80071 // tbnz x17, #63, LBB0_618 $12(%rip) + WORD $0xeb04011f // cmp x8, x4 + WORD $0x5400c72a // b.ge LBB0_909 $6372(%rip) +LBB0_618: + WORD $0xd37ffe31 // lsr x17, x17, #63 + WORD $0x52000231 // eor w17, w17, #0x1 + WORD $0xd1000482 // sub x2, x4, #1 + WORD $0xeb02011f // cmp x8, x2 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0x1a9f17e8 // cset w8, eq + WORD $0x6a08023f // tst w17, w8 + WORD $0xda840273 // csinv x19, x19, x4, eq + WORD $0xb6f80093 // tbz x19, #63, LBB0_620 $16(%rip) + WORD $0x14000628 // b LBB0_906 $6304(%rip) +LBB0_619: + WORD $0xcb1303f3 // neg x19, x19 + WORD $0xb7f8c4d3 // tbnz x19, #63, LBB0_906 $6296(%rip) +LBB0_620: + WORD $0x8b13035b // add x27, x26, x19 + WORD $0x1400009f // b LBB0_650 $636(%rip) +LBB0_621: + WORD $0x71008a9f // cmp w20, #34 + WORD $0x540006a0 // b.eq LBB0_639 $212(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x540075c1 // b.ne LBB0_832 $3768(%rip) + WORD $0xb20903e2 // mov x2, #36028797027352576 + WORD $0xf2800022 // movk x2, #1 + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1b0116 // subs x22, x8, x27 + WORD $0x5400c4e0 // b.eq LBB0_912 $6300(%rip) + WORD $0x8b1b0128 // add x8, x9, x27 + WORD $0x39400111 // ldrb w17, [x8] + WORD $0x7100c23f // cmp w17, #48 + WORD $0x540014c1 // b.ne LBB0_655 $664(%rip) + WORD $0xf10006df // cmp x22, #1 + WORD $0x54001381 // b.ne LBB0_653 $624(%rip) +LBB0_626: + WORD $0x52800033 // mov w19, #1 + WORD $0x1400013d // b LBB0_701 $1268(%rip) +LBB0_627: + WORD $0x71016e9f // cmp w20, #91 + WORD $0x540003a0 // b.eq LBB0_637 $116(%rip) + WORD $0x71019a9f // cmp w20, #102 + WORD $0x540073a1 // b.ne LBB0_832 $3700(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1001111 // sub x17, x8, #4 + WORD $0xeb11035f // cmp x26, x17 + WORD $0x5400cde2 // b.hs LBB0_940 $6588(%rip) + WORD $0xb87b6928 // ldr w8, [x9, x27] + WORD $0x6b19011f // cmp w8, w25 + WORD $0x5400c301 // b.ne LBB0_915 $6240(%rip) + WORD $0x9100175b // add x27, x26, #5 + WORD $0x14000081 // b LBB0_650 $516(%rip) +LBB0_632: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1000d11 // sub x17, x8, #3 + WORD $0xeb11035f // cmp x26, x17 + WORD $0x5400ccc2 // b.hs LBB0_940 $6552(%rip) + WORD $0xb87a6928 // ldr w8, [x9, x26] + WORD $0x6b02011f // cmp w8, w2 + WORD $0x54000120 // b.eq LBB0_636 $36(%rip) + WORD $0x14000637 // b LBB0_924 $6364(%rip) +LBB0_634: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1000d11 // sub x17, x8, #3 + WORD $0xeb11035f // cmp x26, x17 + WORD $0x5400cbc2 // b.hs LBB0_940 $6520(%rip) + WORD $0xb87a6928 // ldr w8, [x9, x26] + WORD $0x6b1e011f // cmp w8, w30 + WORD $0x5400c381 // b.ne LBB0_920 $6256(%rip) +LBB0_636: + WORD $0x9100135b // add x27, x26, #4 + WORD $0x14000070 // b LBB0_650 $448(%rip) +LBB0_637: + WORD $0xf9400068 // ldr x8, [x3] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400bd4c // b.gt LBB0_902 $6056(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000071 // str x17, [x3] + WORD $0xf8287957 // str x23, [x10, x8, lsl #3] + WORD $0x1400006d // b LBB0_651 $436(%rip) +LBB0_639: + WORD $0x3200f3f9 // mov w25, #1431655765 + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1b011e // subs lr, x8, x27 + WORD $0x5400c7e0 // b.eq LBB0_931 $6396(%rip) + WORD $0xf10103df // cmp lr, #64 + WORD $0x540035a3 // b.lo LBB0_724 $1716(%rip) + WORD $0xd2800004 // mov x4, #0 + WORD $0x9280001c // mov x28, #-1 +LBB0_642: + WORD $0x8b1b0131 // add x17, x9, x27 + WORD $0xad405233 // ldp q19, q20, [x17] + WORD $0xad415a35 // ldp q21, q22, [x17, #32] + WORD $0x6e208e77 // cmeq.16b v23, v19, v0 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e218e73 // cmeq.16b v19, v19, v1 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x4e221f17 // and.16b v23, v24, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602e2 // fmov w2, s23 + WORD $0x4e221f37 // and.16b v23, v25, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602e5 // fmov w5, s23 + WORD $0x4e221f57 // and.16b v23, v26, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602e6 // fmov w6, s23 + WORD $0x4e221e73 // and.16b v19, v19, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x4e221e93 // and.16b v19, v20, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x4e221eb3 // and.16b v19, v21, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0x4e221ed3 // and.16b v19, v22, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260277 // fmov w23, s19 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa06c0a5 // orr x5, x5, x6, lsl #48 + WORD $0x53103c42 // lsl w2, w2, #16 + WORD $0xaa0200a2 // orr x2, x5, x2 + WORD $0xaa110053 // orr x19, x2, x17 + WORD $0xd3607ed1 // lsl x17, x22, #32 + WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 + WORD $0x53103ea2 // lsl w2, w21, #16 + WORD $0xaa020231 // orr x17, x17, x2 + WORD $0xaa140231 // orr x17, x17, x20 + WORD $0xb5000151 // cbnz x17, LBB0_646 $40(%rip) + WORD $0xb50001c4 // cbnz x4, LBB0_647 $56(%rip) + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0xb5000333 // cbnz x19, LBB0_648 $100(%rip) +LBB0_645: + WORD $0xd10103de // sub lr, lr, #64 + WORD $0x9101037b // add x27, x27, #64 + WORD $0xf100ffdf // cmp lr, #63 + WORD $0x54fff868 // b.hi LBB0_642 $-244(%rip) + WORD $0x14000166 // b LBB0_722 $1432(%rip) +LBB0_646: + WORD $0xb100079f // cmn x28, #1 + WORD $0xdac00222 // rbit x2, x17 + WORD $0xdac01042 // clz x2, x2 + WORD $0x8b1b0042 // add x2, x2, x27 + WORD $0x9a82139c // csel x28, x28, x2, ne +LBB0_647: + WORD $0x8a240222 // bic x2, x17, x4 + WORD $0xaa020485 // orr x5, x4, x2, lsl #1 + WORD $0x8a250231 // bic x17, x17, x5 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab020231 // adds x17, x17, x2 + WORD $0x1a9f37e4 // cset w4, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a050231 // and x17, x17, x5 + WORD $0x8a310273 // bic x19, x19, x17 + WORD $0x52800078 // mov w24, #3 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0xb4fffd33 // cbz x19, LBB0_645 $-92(%rip) +LBB0_648: + WORD $0xdac00271 // rbit x17, x19 + WORD $0xdac01231 // clz x17, x17 + WORD $0x8b1b0231 // add x17, x17, x27 + WORD $0x9100063b // add x27, x17, #1 +LBB0_649: + WORD $0x52800085 // mov w5, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 + WORD $0xb7f8b01b // tbnz x27, #63, LBB0_903 $5632(%rip) +LBB0_650: + WORD $0xf900003b // str x27, [x1] + WORD $0xaa1a03e8 // mov x8, x26 + WORD $0xeb06035f // cmp x26, x6 + WORD $0x54006202 // b.hs LBB0_832 $3136(%rip) +LBB0_651: + WORD $0xf9400064 // ldr x4, [x3] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffa584 // cbnz x4, LBB0_494 $-2896(%rip) + WORD $0x1400030c // b LBB0_832 $3120(%rip) +LBB0_652: + WORD $0xaa1603f4 // mov x20, x22 + WORD $0x92800013 // mov x19, #-1 + WORD $0xb5ffe568 // cbnz x8, LBB0_609 $-852(%rip) + WORD $0x1400057a // b LBB0_906 $5608(%rip) +LBB0_653: + WORD $0x39400511 // ldrb w17, [x8, #1] + WORD $0x5100ba31 // sub w17, w17, #46 + WORD $0x7100de3f // cmp w17, #55 + WORD $0x54ffec48 // b.hi LBB0_626 $-632(%rip) + WORD $0x9ad121f1 // lsl x17, x15, x17 + WORD $0x52800033 // mov w19, #1 + WORD $0xea02023f // tst x17, x2 + WORD $0x54001380 // b.eq LBB0_701 $624(%rip) +LBB0_655: + WORD $0xf10042df // cmp x22, #16 + WORD $0x54002c03 // b.lo LBB0_731 $1408(%rip) + WORD $0xd2800015 // mov x21, #0 + WORD $0xd2800017 // mov x23, #0 + WORD $0x9280001c // mov x28, #-1 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800004 // mov x4, #-1 +LBB0_657: + WORD $0x3cf76913 // ldr q19, [x8, x23] + WORD $0x6e248e74 // cmeq.16b v20, v19, v4 + WORD $0x6e258e75 // cmeq.16b v21, v19, v5 + WORD $0x6e268e76 // cmeq.16b v22, v19, v6 + WORD $0x4e278677 // add.16b v23, v19, v7 + WORD $0x6e373617 // cmhi.16b v23, v16, v23 + WORD $0x4e311e73 // and.16b v19, v19, v17 + WORD $0x6e328e73 // cmeq.16b v19, v19, v18 + WORD $0x4eb61eb5 // orr.16b v21, v21, v22 + WORD $0x4eb41ef6 // orr.16b v22, v23, v20 + WORD $0x4eb51e77 // orr.16b v23, v19, v21 + WORD $0x4eb71ed6 // orr.16b v22, v22, v23 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x4e221e73 // and.16b v19, v19, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260262 // fmov w2, s19 + WORD $0x4e221eb3 // and.16b v19, v21, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x4e221ed3 // and.16b v19, v22, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260266 // fmov w6, s19 + WORD $0x2a2603e6 // mvn w6, w6 + WORD $0x32103cc6 // orr w6, w6, #0xffff0000 + WORD $0x5ac000c6 // rbit w6, w6 + WORD $0x5ac010d3 // clz w19, w6 + WORD $0x1ad320e6 // lsl w6, w7, w19 + WORD $0x0a260238 // bic w24, w17, w6 + WORD $0x0a260059 // bic w25, w2, w6 + WORD $0x0a260285 // bic w5, w20, w6 + WORD $0x7100427f // cmp w19, #16 + WORD $0x1a980231 // csel w17, w17, w24, eq + WORD $0x1a990046 // csel w6, w2, w25, eq + WORD $0x1a850294 // csel w20, w20, w5, eq + WORD $0x51000622 // sub w2, w17, #1 + WORD $0x6a110059 // ands w25, w2, w17 + WORD $0x54001f21 // b.ne LBB0_721 $996(%rip) + WORD $0x510004c2 // sub w2, w6, #1 + WORD $0x6a060059 // ands w25, w2, w6 + WORD $0x54001ec1 // b.ne LBB0_721 $984(%rip) + WORD $0x51000682 // sub w2, w20, #1 + WORD $0x6a140059 // ands w25, w2, w20 + WORD $0x54001e61 // b.ne LBB0_721 $972(%rip) + WORD $0x340000d1 // cbz w17, LBB0_663 $24(%rip) + WORD $0x5ac00231 // rbit w17, w17 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100049f // cmn x4, #1 + WORD $0x54001ec1 // b.ne LBB0_723 $984(%rip) + WORD $0x8b1102e4 // add x4, x23, x17 +LBB0_663: + WORD $0x340000c6 // cbz w6, LBB0_666 $24(%rip) + WORD $0x5ac000d1 // rbit w17, w6 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10007df // cmn lr, #1 + WORD $0x54001e01 // b.ne LBB0_723 $960(%rip) + WORD $0x8b1102fe // add lr, x23, x17 +LBB0_666: + WORD $0x340000d4 // cbz w20, LBB0_669 $24(%rip) + WORD $0x5ac00291 // rbit w17, w20 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100079f // cmn x28, #1 + WORD $0x54001d41 // b.ne LBB0_723 $936(%rip) + WORD $0x8b1102fc // add x28, x23, x17 +LBB0_669: + WORD $0x7100427f // cmp w19, #16 + WORD $0x540005e1 // b.ne LBB0_687 $188(%rip) + WORD $0x910042f7 // add x23, x23, #16 + WORD $0xd10042b5 // sub x21, x21, #16 + WORD $0x8b1502d3 // add x19, x22, x21 + WORD $0xf1003e7f // cmp x19, #15 + WORD $0x54fff6e8 // b.hi LBB0_657 $-292(%rip) + WORD $0x8b170114 // add x20, x8, x23 + WORD $0xeb1702df // cmp x22, x23 + WORD $0x52800078 // mov w24, #3 + WORD $0x54000520 // b.eq LBB0_688 $164(%rip) +LBB0_672: + WORD $0x8b130282 // add x2, x20, x19 + WORD $0x8b140191 // add x17, x12, x20 + WORD $0xcb1a0236 // sub x22, x17, x26 + WORD $0xaa1403f5 // mov x21, x20 + WORD $0x14000008 // b LBB0_676 $32(%rip) +LBB0_673: + WORD $0xb100079f // cmn x28, #1 + WORD $0x540019a1 // b.ne LBB0_720 $820(%rip) + WORD $0xd10006dc // sub x28, x22, #1 +LBB0_675: + WORD $0x910006d6 // add x22, x22, #1 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xd1000673 // sub x19, x19, #1 + WORD $0xb4001273 // cbz x19, LBB0_713 $588(%rip) +LBB0_676: + WORD $0x384016a6 // ldrb w6, [x21], #1 + WORD $0x5100c0d1 // sub w17, w6, #48 + WORD $0x71002a3f // cmp w17, #10 + WORD $0x54ffff23 // b.lo LBB0_675 $-28(%rip) + WORD $0x7100b4df // cmp w6, #45 + WORD $0x5400016d // b.le LBB0_683 $44(%rip) + WORD $0x710194df // cmp w6, #101 + WORD $0x540001c0 // b.eq LBB0_685 $56(%rip) + WORD $0x710114df // cmp w6, #69 + WORD $0x54000180 // b.eq LBB0_685 $48(%rip) + WORD $0x7100b8df // cmp w6, #46 + WORD $0x54000221 // b.ne LBB0_688 $68(%rip) + WORD $0xb100049f // cmn x4, #1 + WORD $0x54001741 // b.ne LBB0_720 $744(%rip) + WORD $0xd10006c4 // sub x4, x22, #1 + WORD $0x17ffffed // b LBB0_675 $-76(%rip) +LBB0_683: + WORD $0x7100acdf // cmp w6, #43 + WORD $0x54fffd00 // b.eq LBB0_673 $-96(%rip) + WORD $0x7100b4df // cmp w6, #45 + WORD $0x54fffcc0 // b.eq LBB0_673 $-104(%rip) + WORD $0x14000008 // b LBB0_688 $32(%rip) +LBB0_685: + WORD $0xb10007df // cmn lr, #1 + WORD $0x54001621 // b.ne LBB0_720 $708(%rip) + WORD $0xd10006de // sub lr, x22, #1 + WORD $0x17ffffe4 // b LBB0_675 $-112(%rip) +LBB0_687: + WORD $0x8b334111 // add x17, x8, w19, uxtw + WORD $0x8b170234 // add x20, x17, x23 + WORD $0x52800078 // mov w24, #3 +LBB0_688: + WORD $0x92800013 // mov x19, #-1 + WORD $0xb400a004 // cbz x4, LBB0_913 $5120(%rip) +LBB0_689: + WORD $0xb4009ffc // cbz x28, LBB0_913 $5116(%rip) + WORD $0xb4009fde // cbz lr, LBB0_913 $5112(%rip) + WORD $0xcb080288 // sub x8, x20, x8 + WORD $0xd1000511 // sub x17, x8, #1 + WORD $0xeb11009f // cmp x4, x17 + WORD $0x540002a0 // b.eq LBB0_699 $84(%rip) + WORD $0xeb11039f // cmp x28, x17 + WORD $0x54000260 // b.eq LBB0_699 $76(%rip) + WORD $0xeb1103df // cmp lr, x17 + WORD $0x54000220 // b.eq LBB0_699 $68(%rip) + WORD $0xf1000791 // subs x17, x28, #1 + WORD $0x5400006b // b.lt LBB0_696 $12(%rip) + WORD $0xeb1103df // cmp lr, x17 + WORD $0x54009e61 // b.ne LBB0_914 $5068(%rip) +LBB0_696: + WORD $0xaa1e0091 // orr x17, x4, lr + WORD $0xb7f80071 // tbnz x17, #63, LBB0_698 $12(%rip) + WORD $0xeb1e009f // cmp x4, lr + WORD $0x5400a66a // b.ge LBB0_930 $5324(%rip) +LBB0_698: + WORD $0xd37ffe31 // lsr x17, x17, #63 + WORD $0x52000231 // eor w17, w17, #0x1 + WORD $0xd10007c2 // sub x2, lr, #1 + WORD $0xeb02009f // cmp x4, x2 + WORD $0x1a9f17e2 // cset w2, eq + WORD $0x6a02023f // tst w17, w2 + WORD $0xda9e0113 // csinv x19, x8, lr, eq + WORD $0x14000002 // b LBB0_700 $8(%rip) +LBB0_699: + WORD $0xcb0803f3 // neg x19, x8 +LBB0_700: + WORD $0xb7f89c93 // tbnz x19, #63, LBB0_913 $5008(%rip) +LBB0_701: + WORD $0x8b1b027b // add x27, x19, x27 + WORD $0xf900003b // str x27, [x1] + WORD $0xaa1a03e8 // mov x8, x26 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xeb06035f // cmp x26, x6 + WORD $0x52800085 // mov w5, #4 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0x54ffe8c3 // b.lo LBB0_651 $-744(%rip) + WORD $0x14000254 // b LBB0_832 $2384(%rip) +LBB0_702: + WORD $0x8b1b013b // add x27, x9, x27 + WORD $0x14000019 // b LBB0_707 $100(%rip) +LBB0_703: + WORD $0x5ac00228 // rbit w8, w17 + WORD $0x5ac01108 // clz w8, w8 + WORD $0xaa3e03f1 // mvn x17, lr + WORD $0xcb080233 // sub x19, x17, x8 + WORD $0x14000003 // b LBB0_705 $12(%rip) +LBB0_704: + WORD $0xaa3e03e8 // mvn x8, lr + WORD $0xcb314113 // sub x19, x8, w17, uxtw +LBB0_705: + WORD $0x52800078 // mov w24, #3 + WORD $0x52800085 // mov w5, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0xb6ffd173 // tbz x19, #63, LBB0_620 $-1492(%rip) + WORD $0x140004af // b LBB0_906 $4796(%rip) +LBB0_706: + WORD $0xd2800004 // mov x4, #0 + WORD $0x8b1b013b // add x27, x9, x27 + WORD $0x9280001c // mov x28, #-1 +LBB0_707: + WORD $0xf10083d3 // subs x19, lr, #32 + WORD $0x54001843 // b.lo LBB0_735 $776(%rip) + WORD $0xad405373 // ldp q19, q20, [x27] + WORD $0x6e208e75 // cmeq.16b v21, v19, v0 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e218e73 // cmeq.16b v19, v19, v1 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b4 // fmov w20, s21 + WORD $0x4e221ed5 // and.16b v21, v22, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b1 // fmov w17, s21 + WORD $0x4e221e73 // and.16b v19, v19, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x4e221e93 // and.16b v19, v20, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260266 // fmov w6, s19 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103cd5 // bfi w21, w6, #16, #16 + WORD $0x35001135 // cbnz w21, LBB0_732 $548(%rip) + WORD $0x52800085 // mov w5, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 + WORD $0xb50010a4 // cbnz x4, LBB0_733 $532(%rip) + WORD $0xb40013b4 // cbz x20, LBB0_734 $628(%rip) +LBB0_711: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090364 // sub x4, x27, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0x9100063b // add x27, x17, #1 + WORD $0x17fffce0 // b LBB0_531 $-3200(%rip) +LBB0_712: + WORD $0x8b1b013b // add x27, x9, x27 + WORD $0x14000008 // b LBB0_715 $32(%rip) +LBB0_713: + WORD $0xaa0203f4 // mov x20, x2 + WORD $0x92800013 // mov x19, #-1 + WORD $0xb5fff144 // cbnz x4, LBB0_689 $-472(%rip) + WORD $0x14000488 // b LBB0_913 $4640(%rip) +LBB0_714: + WORD $0xd2800004 // mov x4, #0 + WORD $0x8b1b013b // add x27, x9, x27 + WORD $0x9280001c // mov x28, #-1 +LBB0_715: + WORD $0xf10083d3 // subs x19, lr, #32 + WORD $0x54001b63 // b.lo LBB0_747 $876(%rip) + WORD $0xad405373 // ldp q19, q20, [x27] + WORD $0x6e208e75 // cmeq.16b v21, v19, v0 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e218e73 // cmeq.16b v19, v19, v1 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b4 // fmov w20, s21 + WORD $0x4e221ed5 // and.16b v21, v22, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b1 // fmov w17, s21 + WORD $0x4e221e73 // and.16b v19, v19, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x4e221e93 // and.16b v19, v20, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260266 // fmov w6, s19 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103cd5 // bfi w21, w6, #16, #16 + WORD $0x35001535 // cbnz w21, LBB0_744 $676(%rip) + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0xb5001564 // cbnz x4, LBB0_745 $684(%rip) + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0xb4001754 // cbz x20, LBB0_746 $744(%rip) +LBB0_719: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090364 // sub x4, x27, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0x9100063b // add x27, x17, #1 + WORD $0x52800085 // mov w5, #4 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 + WORD $0xb6ffa37b // tbz x27, #63, LBB0_547 $-2964(%rip) + WORD $0x14000444 // b LBB0_903 $4368(%rip) +LBB0_720: + WORD $0xcb1603f3 // neg x19, x22 + WORD $0x17ffff71 // b LBB0_700 $-572(%rip) +LBB0_721: + WORD $0x5ac00328 // rbit w8, w25 + WORD $0x5ac01108 // clz w8, w8 + WORD $0xaa3703f1 // mvn x17, x23 + WORD $0xcb080233 // sub x19, x17, x8 + WORD $0x52800078 // mov w24, #3 + WORD $0x17ffff6b // b LBB0_700 $-596(%rip) +LBB0_722: + WORD $0x8b1b013b // add x27, x9, x27 + WORD $0x14000008 // b LBB0_725 $32(%rip) +LBB0_723: + WORD $0xaa3703e8 // mvn x8, x23 + WORD $0xcb314113 // sub x19, x8, w17, uxtw + WORD $0x52800078 // mov w24, #3 + WORD $0x17ffff65 // b LBB0_700 $-620(%rip) +LBB0_724: + WORD $0xd2800004 // mov x4, #0 + WORD $0x8b1b013b // add x27, x9, x27 + WORD $0x9280001c // mov x28, #-1 +LBB0_725: + WORD $0xf10083d3 // subs x19, lr, #32 + WORD $0x54001d23 // b.lo LBB0_766 $932(%rip) + WORD $0xad405373 // ldp q19, q20, [x27] + WORD $0x6e208e75 // cmeq.16b v21, v19, v0 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e218e73 // cmeq.16b v19, v19, v1 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b4 // fmov w20, s21 + WORD $0x4e221ed5 // and.16b v21, v22, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b1 // fmov w17, s21 + WORD $0x4e221e73 // and.16b v19, v19, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x4e221e93 // and.16b v19, v20, v2 + WORD $0x4e030273 // tbl.16b v19, { v19 }, v3 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260262 // fmov w2, s19 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103c55 // bfi w21, w2, #16, #16 + WORD $0x350017b5 // cbnz w21, LBB0_763 $756(%rip) + WORD $0xb5001844 // cbnz x4, LBB0_764 $776(%rip) + WORD $0xb40019b4 // cbz x20, LBB0_765 $820(%rip) +LBB0_729: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090362 // sub x2, x27, x9 + WORD $0x8b110051 // add x17, x2, x17 + WORD $0x9100063b // add x27, x17, #1 + WORD $0x140000e3 // b LBB0_776 $908(%rip) +LBB0_730: + WORD $0x92800008 // mov x8, #-1 + WORD $0xaa1c03f4 // mov x20, x28 + WORD $0xaa1303f5 // mov x21, x19 + WORD $0x92800004 // mov x4, #-1 + WORD $0x9280001b // mov x27, #-1 + WORD $0x17fffd6e // b LBB0_584 $-2632(%rip) +LBB0_731: + WORD $0x92800004 // mov x4, #-1 + WORD $0xaa0803f4 // mov x20, x8 + WORD $0xaa1603f3 // mov x19, x22 + WORD $0x9280001e // mov lr, #-1 + WORD $0x9280001c // mov x28, #-1 + WORD $0x52800078 // mov w24, #3 + WORD $0x17fffeee // b LBB0_672 $-1096(%rip) +LBB0_732: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090366 // sub x6, x27, x9 + WORD $0x8b1100d1 // add x17, x6, x17 + WORD $0xb100079f // cmn x28, #1 + WORD $0x9a91139c // csel x28, x28, x17, ne +LBB0_733: + WORD $0x0a2402b1 // bic w17, w21, w4 + WORD $0x531f7a26 // lsl w6, w17, #1 + WORD $0x331f7a24 // bfi w4, w17, #1, #31 + WORD $0x0a2602a6 // bic w6, w21, w6 + WORD $0x1201f0c6 // and w6, w6, #0xaaaaaaaa + WORD $0x2b1100d1 // adds w17, w6, w17 + WORD $0x3200f3e2 // mov w2, #1431655765 + WORD $0x4a110451 // eor w17, w2, w17, lsl #1 + WORD $0x0a040231 // and w17, w17, w4 + WORD $0x1a9f37e4 // cset w4, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800078 // mov w24, #3 + WORD $0x52800085 // mov w5, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0xb5ffecb4 // cbnz x20, LBB0_711 $-620(%rip) +LBB0_734: + WORD $0x9100837b // add x27, x27, #32 + WORD $0xaa1303fe // mov lr, x19 +LBB0_735: + WORD $0xb5000d24 // cbnz x4, LBB0_757 $420(%rip) + WORD $0xb4000e5e // cbz lr, LBB0_759 $456(%rip) +LBB0_737: + WORD $0xaa1b03f1 // mov x17, x27 + WORD $0x38401624 // ldrb w4, [x17], #1 + WORD $0x7100889f // cmp w4, #34 + WORD $0x540003e0 // b.eq LBB0_743 $124(%rip) + WORD $0xd10007c6 // sub x6, lr, #1 + WORD $0x7101709f // cmp w4, #92 + WORD $0x540000a0 // b.eq LBB0_740 $20(%rip) + WORD $0xaa1103fb // mov x27, x17 + WORD $0xaa0603fe // mov lr, x6 + WORD $0xb5fffee6 // cbnz x6, LBB0_737 $-36(%rip) + WORD $0x14000009 // b LBB0_742 $36(%rip) +LBB0_740: + WORD $0xb4008626 // cbz x6, LBB0_932 $4292(%rip) + WORD $0x8b0b0231 // add x17, x17, x11 + WORD $0xb100079f // cmn x28, #1 + WORD $0x9a9c023c // csel x28, x17, x28, eq + WORD $0x91000b7b // add x27, x27, #2 + WORD $0xd1000bc6 // sub x6, lr, #2 + WORD $0xaa0603fe // mov lr, x6 + WORD $0xb5fffdc6 // cbnz x6, LBB0_737 $-72(%rip) +LBB0_742: + WORD $0x7100889f // cmp w4, #34 + WORD $0x52800078 // mov w24, #3 + WORD $0x52800085 // mov w5, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0x54000b40 // b.eq LBB0_760 $360(%rip) + WORD $0x1400041b // b LBB0_932 $4204(%rip) +LBB0_743: + WORD $0xaa1103fb // mov x27, x17 + WORD $0x52800078 // mov w24, #3 + WORD $0x52800085 // mov w5, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0xcb09023b // sub x27, x17, x9 + WORD $0x17fffc15 // b LBB0_531 $-4012(%rip) +LBB0_744: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090366 // sub x6, x27, x9 + WORD $0x8b1100d1 // add x17, x6, x17 + WORD $0xb100079f // cmn x28, #1 + WORD $0x9a91139c // csel x28, x28, x17, ne +LBB0_745: + WORD $0x0a2402b1 // bic w17, w21, w4 + WORD $0x531f7a26 // lsl w6, w17, #1 + WORD $0x331f7a24 // bfi w4, w17, #1, #31 + WORD $0x0a2602a6 // bic w6, w21, w6 + WORD $0x1201f0c6 // and w6, w6, #0xaaaaaaaa + WORD $0x2b1100d1 // adds w17, w6, w17 + WORD $0x4a110451 // eor w17, w2, w17, lsl #1 + WORD $0x0a040231 // and w17, w17, w4 + WORD $0x1a9f37e4 // cset w4, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800078 // mov w24, #3 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0xb5ffe914 // cbnz x20, LBB0_719 $-736(%rip) +LBB0_746: + WORD $0x9100837b // add x27, x27, #32 + WORD $0xaa1303fe // mov lr, x19 +LBB0_747: + WORD $0xb5000624 // cbnz x4, LBB0_761 $196(%rip) + WORD $0xb400031e // cbz lr, LBB0_756 $96(%rip) +LBB0_749: + WORD $0xaa1b03f1 // mov x17, x27 + WORD $0x38401624 // ldrb w4, [x17], #1 + WORD $0x7100889f // cmp w4, #34 + WORD $0x54000260 // b.eq LBB0_755 $76(%rip) + WORD $0xd10007c6 // sub x6, lr, #1 + WORD $0x7101709f // cmp w4, #92 + WORD $0x540000a0 // b.eq LBB0_752 $20(%rip) + WORD $0xaa1103fb // mov x27, x17 + WORD $0xaa0603fe // mov lr, x6 + WORD $0xb5fffee6 // cbnz x6, LBB0_749 $-36(%rip) + WORD $0x14000009 // b LBB0_754 $36(%rip) +LBB0_752: + WORD $0xb4007c86 // cbz x6, LBB0_932 $3984(%rip) + WORD $0x8b0b0231 // add x17, x17, x11 + WORD $0xb100079f // cmn x28, #1 + WORD $0x9a9c023c // csel x28, x17, x28, eq + WORD $0x91000b7b // add x27, x27, #2 + WORD $0xd1000bc6 // sub x6, lr, #2 + WORD $0xaa0603fe // mov lr, x6 + WORD $0xb5fffdc6 // cbnz x6, LBB0_749 $-72(%rip) +LBB0_754: + WORD $0x7100889f // cmp w4, #34 + WORD $0x54000060 // b.eq LBB0_756 $12(%rip) + WORD $0x140003da // b LBB0_932 $3944(%rip) +LBB0_755: + WORD $0xaa1103fb // mov x27, x17 +LBB0_756: + WORD $0xcb09037b // sub x27, x27, x9 + WORD $0x52800078 // mov w24, #3 + WORD $0x17fffc44 // b LBB0_546 $-3824(%rip) +LBB0_757: + WORD $0xb4007abe // cbz lr, LBB0_932 $3924(%rip) + WORD $0x8b0b0371 // add x17, x27, x11 + WORD $0xb100079f // cmn x28, #1 + WORD $0x9a9c023c // csel x28, x17, x28, eq + WORD $0x9100077b // add x27, x27, #1 + WORD $0xd10007de // sub lr, lr, #1 + WORD $0x52800078 // mov w24, #3 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0xb5fff21e // cbnz lr, LBB0_737 $-448(%rip) +LBB0_759: + WORD $0x52800085 // mov w5, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903f6 // mov x22, #36028797027352576 + WORD $0xf2800036 // movk x22, #1 + WORD $0x528000b7 // mov w23, #5 + WORD $0x528d8c39 // mov w25, #27745 + WORD $0x72acae79 // movk w25, #25971, lsl #16 + WORD $0x528eadde // mov w30, #30062 + WORD $0x72ad8d9e // movk w30, #27756, lsl #16 +LBB0_760: + WORD $0xcb09037b // sub x27, x27, x9 + WORD $0x17fffbca // b LBB0_531 $-4312(%rip) +LBB0_761: + WORD $0xb400781e // cbz lr, LBB0_932 $3840(%rip) + WORD $0x8b0b0371 // add x17, x27, x11 + WORD $0xb100079f // cmn x28, #1 + WORD $0x9a9c023c // csel x28, x17, x28, eq + WORD $0x9100077b // add x27, x27, #1 + WORD $0xd10007de // sub lr, lr, #1 + WORD $0xb5fff97e // cbnz lr, LBB0_749 $-212(%rip) + WORD $0x17ffffe1 // b LBB0_756 $-124(%rip) +LBB0_763: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090362 // sub x2, x27, x9 + WORD $0x8b110051 // add x17, x2, x17 + WORD $0xb100079f // cmn x28, #1 + WORD $0x9a91139c // csel x28, x28, x17, ne +LBB0_764: + WORD $0x0a2402b1 // bic w17, w21, w4 + WORD $0x531f7a22 // lsl w2, w17, #1 + WORD $0x331f7a24 // bfi w4, w17, #1, #31 + WORD $0x0a2202a2 // bic w2, w21, w2 + WORD $0x1201f042 // and w2, w2, #0xaaaaaaaa + WORD $0x2b110051 // adds w17, w2, w17 + WORD $0x4a110731 // eor w17, w25, w17, lsl #1 + WORD $0x0a040231 // and w17, w17, w4 + WORD $0x1a9f37e4 // cset w4, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0xb5ffe6b4 // cbnz x20, LBB0_729 $-812(%rip) +LBB0_765: + WORD $0x9100837b // add x27, x27, #32 + WORD $0xaa1303fe // mov lr, x19 +LBB0_766: + WORD $0xb50003c4 // cbnz x4, LBB0_777 $120(%rip) + WORD $0xb400031e // cbz lr, LBB0_775 $96(%rip) +LBB0_768: + WORD $0xaa1b03f1 // mov x17, x27 + WORD $0x38401624 // ldrb w4, [x17], #1 + WORD $0x7100889f // cmp w4, #34 + WORD $0x54000260 // b.eq LBB0_774 $76(%rip) + WORD $0xd10007c6 // sub x6, lr, #1 + WORD $0x7101709f // cmp w4, #92 + WORD $0x540000a0 // b.eq LBB0_771 $20(%rip) + WORD $0xaa1103fb // mov x27, x17 + WORD $0xaa0603fe // mov lr, x6 + WORD $0xb5fffee6 // cbnz x6, LBB0_768 $-36(%rip) + WORD $0x14000009 // b LBB0_773 $36(%rip) +LBB0_771: + WORD $0xb40072e6 // cbz x6, LBB0_932 $3676(%rip) + WORD $0x8b0b0231 // add x17, x17, x11 + WORD $0xb100079f // cmn x28, #1 + WORD $0x9a9c023c // csel x28, x17, x28, eq + WORD $0x91000b7b // add x27, x27, #2 + WORD $0xd1000bc6 // sub x6, lr, #2 + WORD $0xaa0603fe // mov lr, x6 + WORD $0xb5fffdc6 // cbnz x6, LBB0_768 $-72(%rip) +LBB0_773: + WORD $0x7100889f // cmp w4, #34 + WORD $0x54000060 // b.eq LBB0_775 $12(%rip) + WORD $0x1400038d // b LBB0_932 $3636(%rip) +LBB0_774: + WORD $0xaa1103fb // mov x27, x17 +LBB0_775: + WORD $0xcb09037b // sub x27, x27, x9 +LBB0_776: + WORD $0x52800078 // mov w24, #3 + WORD $0x528e4e82 // mov w2, #29300 + WORD $0x72acaea2 // movk w2, #25973, lsl #16 + WORD $0x17fffda2 // b LBB0_649 $-2424(%rip) +LBB0_777: + WORD $0xb40070de // cbz lr, LBB0_932 $3608(%rip) + WORD $0x8b0b0371 // add x17, x27, x11 + WORD $0xb100079f // cmn x28, #1 + WORD $0x9a9c023c // csel x28, x17, x28, eq + WORD $0x9100077b // add x27, x27, #1 + WORD $0xd10007de // sub lr, lr, #1 + WORD $0xb5fffbde // cbnz lr, LBB0_768 $-136(%rip) + WORD $0x17fffff4 // b LBB0_775 $-48(%rip) +LBB0_779: + WORD $0xf940002b // ldr x11, [x1] + WORD $0xa940200a // ldp x10, x8, [x0] + WORD $0xeb08017f // cmp x11, x8 + WORD $0x54000142 // b.hs LBB0_783 $40(%rip) + WORD $0x386b6949 // ldrb w9, [x10, x11] + WORD $0x7100353f // cmp w9, #13 + WORD $0x540000e0 // b.eq LBB0_783 $28(%rip) + WORD $0x7100813f // cmp w9, #32 + WORD $0x540000a0 // b.eq LBB0_783 $20(%rip) + WORD $0x51002d2c // sub w12, w9, #11 + WORD $0xaa0b03e9 // mov x9, x11 + WORD $0x3100099f // cmn w12, #2 + WORD $0x54000883 // b.lo LBB0_806 $272(%rip) +LBB0_783: + WORD $0x91000569 // add x9, x11, #1 + WORD $0xeb08013f // cmp x9, x8 + WORD $0x54000122 // b.hs LBB0_787 $36(%rip) + WORD $0x3869694c // ldrb w12, [x10, x9] + WORD $0x7100359f // cmp w12, #13 + WORD $0x540000c0 // b.eq LBB0_787 $24(%rip) + WORD $0x7100819f // cmp w12, #32 + WORD $0x54000080 // b.eq LBB0_787 $16(%rip) + WORD $0x51002d8c // sub w12, w12, #11 + WORD $0x3100099f // cmn w12, #2 + WORD $0x54000723 // b.lo LBB0_806 $228(%rip) +LBB0_787: + WORD $0x91000969 // add x9, x11, #2 + WORD $0xeb08013f // cmp x9, x8 + WORD $0x54000122 // b.hs LBB0_791 $36(%rip) + WORD $0x3869694c // ldrb w12, [x10, x9] + WORD $0x7100359f // cmp w12, #13 + WORD $0x540000c0 // b.eq LBB0_791 $24(%rip) + WORD $0x7100819f // cmp w12, #32 + WORD $0x54000080 // b.eq LBB0_791 $16(%rip) + WORD $0x51002d8c // sub w12, w12, #11 + WORD $0x3100099f // cmn w12, #2 + WORD $0x540005c3 // b.lo LBB0_806 $184(%rip) +LBB0_791: + WORD $0x91000d69 // add x9, x11, #3 + WORD $0xeb08013f // cmp x9, x8 + WORD $0x54000122 // b.hs LBB0_795 $36(%rip) + WORD $0x3869694c // ldrb w12, [x10, x9] + WORD $0x7100359f // cmp w12, #13 + WORD $0x540000c0 // b.eq LBB0_795 $24(%rip) + WORD $0x7100819f // cmp w12, #32 + WORD $0x54000080 // b.eq LBB0_795 $16(%rip) + WORD $0x51002d8c // sub w12, w12, #11 + WORD $0x3100099f // cmn w12, #2 + WORD $0x54000463 // b.lo LBB0_806 $140(%rip) +LBB0_795: + WORD $0x91001169 // add x9, x11, #4 + WORD $0xeb08013f // cmp x9, x8 + WORD $0x540001e2 // b.hs LBB0_800 $60(%rip) + WORD $0x5280002b // mov w11, #1 + WORD $0xd284c00c // mov x12, #9728 + WORD $0xf2c0002c // movk x12, #1, lsl #32 +LBB0_797: + WORD $0x3869694d // ldrb w13, [x10, x9] + WORD $0x710081bf // cmp w13, #32 + WORD $0x9acd216d // lsl x13, x11, x13 + WORD $0x8a0c01ad // and x13, x13, x12 + WORD $0xfa4099a4 // ccmp x13, #0, #4, ls + WORD $0x540002a0 // b.eq LBB0_805 $84(%rip) + WORD $0x91000529 // add x9, x9, #1 + WORD $0xeb09011f // cmp x8, x9 + WORD $0x54ffff01 // b.ne LBB0_797 $-32(%rip) +LBB0_799: + WORD $0x92800008 // mov x8, #-1 + WORD $0x14000078 // b LBB0_832 $480(%rip) +LBB0_800: + WORD $0xf9000029 // str x9, [x1] + WORD $0x92800008 // mov x8, #-1 + WORD $0x14000075 // b LBB0_832 $468(%rip) +LBB0_801: + WORD $0xf9400028 // ldr x8, [x1] + WORD $0xd1000508 // sub x8, x8, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x92800428 // mov x8, #-34 + WORD $0x14000070 // b LBB0_832 $448(%rip) +LBB0_802: + WORD $0xf9000035 // str x21, [x1] + WORD $0x1400006a // b LBB0_829 $424(%rip) +LBB0_803: + WORD $0x7101745f // cmp w2, #93 + WORD $0x54000d01 // b.ne LBB0_829 $416(%rip) +LBB0_804: + WORD $0xf9000035 // str x21, [x1] + WORD $0x92800408 // mov x8, #-33 + WORD $0x14000069 // b LBB0_832 $420(%rip) +LBB0_805: + WORD $0xeb08013f // cmp x9, x8 + WORD $0x54fffdc2 // b.hs LBB0_799 $-72(%rip) +LBB0_806: + WORD $0x91000530 // add x16, x9, #1 + WORD $0xf9000030 // str x16, [x1] + WORD $0x38696948 // ldrb w8, [x10, x9] + WORD $0x7101691f // cmp w8, #90 + WORD $0x540006ec // b.gt LBB0_823 $220(%rip) + WORD $0x7100bd1f // cmp w8, #47 + WORD $0x54000d8d // b.le LBB0_834 $432(%rip) + WORD $0x5100c108 // sub w8, w8, #48 + WORD $0x7100291f // cmp w8, #10 + WORD $0x540057e2 // b.hs LBB0_900 $2812(%rip) +LBB0_809: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xcb100108 // sub x8, x8, x16 + WORD $0xf100411f // cmp x8, #16 + WORD $0x540002c3 // b.lo LBB0_813 $88(%rip) + WORD $0x4f01e580 // movi.16b v0, #44 + WORD $0x4f06e7e1 // movi.16b v1, #223 + WORD $0x4f02e7a2 // movi.16b v2, #93 +Lloh28: + WORD $0x10fe020b // adr x11, lCPI0_0 $-16320(%rip) +Lloh29: + WORD $0x3dc00163 // ldr q3, [x11, lCPI0_0@PAGEOFF] $0(%rip) +Lloh30: + WORD $0x10fe024b // adr x11, lCPI0_1 $-16312(%rip) +Lloh31: + WORD $0x3dc00164 // ldr q4, [x11, lCPI0_1@PAGEOFF] $0(%rip) +LBB0_811: + WORD $0x3cf06945 // ldr q5, [x10, x16] + WORD $0x6e208ca6 // cmeq.16b v6, v5, v0 + WORD $0x4e211ca5 // and.16b v5, v5, v1 + WORD $0x6e228ca5 // cmeq.16b v5, v5, v2 + WORD $0x4ea61ca5 // orr.16b v5, v5, v6 + WORD $0x4e231ca5 // and.16b v5, v5, v3 + WORD $0x4e0400a5 // tbl.16b v5, { v5 }, v4 + WORD $0x4e71b8a5 // addv.8h h5, v5 + WORD $0x1e2600ab // fmov w11, s5 + WORD $0x350002eb // cbnz w11, LBB0_821 $92(%rip) + WORD $0xd1004108 // sub x8, x8, #16 + WORD $0x91004210 // add x16, x16, #16 + WORD $0xf1003d1f // cmp x8, #15 + WORD $0x54fffe68 // b.hi LBB0_811 $-52(%rip) +LBB0_813: + WORD $0x8b10014b // add x11, x10, x16 + WORD $0xb40001e8 // cbz x8, LBB0_820 $60(%rip) + WORD $0x8b08016c // add x12, x11, x8 + WORD $0xcb0a016d // sub x13, x11, x10 +LBB0_815: + WORD $0x3940016e // ldrb w14, [x11] + WORD $0x7100b1df // cmp w14, #44 + WORD $0x54005640 // b.eq LBB0_908 $2760(%rip) + WORD $0x7101f5df // cmp w14, #125 + WORD $0x54005600 // b.eq LBB0_908 $2752(%rip) + WORD $0x710175df // cmp w14, #93 + WORD $0x540055c0 // b.eq LBB0_908 $2744(%rip) + WORD $0x9100056b // add x11, x11, #1 + WORD $0x910005ad // add x13, x13, #1 + WORD $0xf1000508 // subs x8, x8, #1 + WORD $0x54fffec1 // b.ne LBB0_815 $-40(%rip) + WORD $0xaa0c03eb // mov x11, x12 +LBB0_820: + WORD $0xcb0a0168 // sub x8, x11, x10 + WORD $0x14000004 // b LBB0_822 $16(%rip) +LBB0_821: + WORD $0x5ac00168 // rbit w8, w11 + WORD $0x5ac01108 // clz w8, w8 + WORD $0x8b100108 // add x8, x8, x16 +LBB0_822: + WORD $0xf9000028 // str x8, [x1] + WORD $0xaa0903e8 // mov x8, x9 + WORD $0x1400002c // b LBB0_832 $176(%rip) +LBB0_823: + WORD $0x7101b51f // cmp w8, #109 + WORD $0x5400078d // b.le LBB0_837 $240(%rip) + WORD $0x7101b91f // cmp w8, #110 + WORD $0x54002560 // b.eq LBB0_864 $1196(%rip) + WORD $0x7101d11f // cmp w8, #116 + WORD $0x54002520 // b.eq LBB0_864 $1188(%rip) + WORD $0x7101ed1f // cmp w8, #123 + WORD $0x540050c1 // b.ne LBB0_900 $2584(%rip) + WORD $0xd2800007 // mov x7, #0 + WORD $0xd280000f // mov x15, #0 + WORD $0xd2800008 // mov x8, #0 + WORD $0xd280000b // mov x11, #0 + WORD $0xb201e3ec // mov x12, #-8608480567731124088 + WORD $0xf2e1110c // movk x12, #2184, lsl #48 + WORD $0xb202e3ed // mov x13, #4919131752989213764 + WORD $0xf2e0888d // movk x13, #1092, lsl #48 + WORD $0xb203e3ee // mov x14, #2459565876494606882 + WORD $0xf2e0444e // movk x14, #546, lsl #48 + WORD $0xf9400411 // ldr x17, [x0, #8] + WORD $0xcb100225 // sub x5, x17, x16 + WORD $0x8b100150 // add x16, x10, x16 + WORD $0x910083ea // add x10, sp, #32 + WORD $0x9100814a // add x10, x10, #32 + WORD $0x4f01e440 // movi.16b v0, #34 +Lloh32: + WORD $0x10fdf9d1 // adr x17, lCPI0_0 $-16584(%rip) +Lloh33: + WORD $0x3dc00221 // ldr q1, [x17, lCPI0_0@PAGEOFF] $0(%rip) +Lloh34: + WORD $0x10fdfa11 // adr x17, lCPI0_1 $-16576(%rip) +Lloh35: + WORD $0x3dc00222 // ldr q2, [x17, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x4f02e783 // movi.16b v3, #92 + WORD $0xb200e3f1 // mov x17, #1229782938247303441 + WORD $0xb203e3e2 // mov x2, #2459565876494606882 + WORD $0xb202e3e3 // mov x3, #4919131752989213764 + WORD $0xb201e3e4 // mov x4, #-8608480567731124088 + WORD $0x4f03e764 // movi.16b v4, #123 + WORD $0x4f03e7a5 // movi.16b v5, #125 + WORD $0x6f00e406 // movi.2d v6, #0000000000000000 + WORD $0x1400002a // b LBB0_841 $168(%rip) +LBB0_828: + WORD $0x7101f45f // cmp w2, #125 + WORD $0x54fff340 // b.eq LBB0_804 $-408(%rip) +LBB0_829: + WORD $0xf9400028 // ldr x8, [x1] + WORD $0xd1000508 // sub x8, x8, #1 +LBB0_830: + WORD $0xf9000028 // str x8, [x1] +LBB0_831: + WORD $0x92800028 // mov x8, #-2 +LBB0_832: + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa94bfbfd // ldp fp, lr, [sp, #184] + WORD $0xa94acff4 // ldp x20, x19, [sp, #168] + WORD $0xa949d7f6 // ldp x22, x21, [sp, #152] + WORD $0xa948dff8 // ldp x24, x23, [sp, #136] + WORD $0xa947e7fa // ldp x26, x25, [sp, #120] + WORD $0xa946effc // ldp x28, x27, [sp, #104] + WORD $0x910343ff // add sp, sp, #208 + WORD $0xd65f03c0 // ret +LBB0_833: + WORD $0xf900003a // str x26, [x1] + WORD $0x92800008 // mov x8, #-1 + WORD $0x17fffff5 // b LBB0_832 $-44(%rip) +LBB0_834: + WORD $0x34ffef68 // cbz w8, LBB0_799 $-532(%rip) + WORD $0x7100891f // cmp w8, #34 + WORD $0x54001f40 // b.eq LBB0_865 $1000(%rip) + WORD $0x7100b51f // cmp w8, #45 + WORD $0x54fff280 // b.eq LBB0_809 $-432(%rip) + WORD $0x14000251 // b LBB0_900 $2372(%rip) +LBB0_837: + WORD $0x71016d1f // cmp w8, #91 + WORD $0x540027a0 // b.eq LBB0_874 $1268(%rip) + WORD $0x7101991f // cmp w8, #102 + WORD $0x540049a1 // b.ne LBB0_900 $2356(%rip) + WORD $0x91001528 // add x8, x9, #5 + WORD $0xf940040a // ldr x10, [x0, #8] + WORD $0xeb0a011f // cmp x8, x10 + WORD $0x54ffedc8 // b.hi LBB0_799 $-584(%rip) + WORD $0x17ffffb8 // b LBB0_822 $-288(%rip) +LBB0_840: + WORD $0x937ffce7 // asr x7, x7, #63 + WORD $0x9e670267 // fmov d7, x19 + WORD $0x0e2058e7 // cnt.8b v7, v7 + WORD $0x2e3038e7 // uaddlv.8b h7, v7 + WORD $0x1e2600e5 // fmov w5, s7 + WORD $0x8b0800a8 // add x8, x5, x8 + WORD $0x91010210 // add x16, x16, #64 + WORD $0xaa0603e5 // mov x5, x6 +LBB0_841: + WORD $0xf10100a6 // subs x6, x5, #64 + WORD $0x540015cb // b.lt LBB0_848 $696(%rip) +LBB0_842: + WORD $0xad404612 // ldp q18, q17, [x16] + WORD $0xad411e10 // ldp q16, q7, [x16, #32] + WORD $0x6e238e53 // cmeq.16b v19, v18, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260273 // fmov w19, s19 + WORD $0x6e238e33 // cmeq.16b v19, v17, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x6e238e13 // cmeq.16b v19, v16, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x6e238cf3 // cmeq.16b v19, v7, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa130293 // orr x19, x20, x19 + WORD $0xaa0f0274 // orr x20, x19, x15 + WORD $0xb5000094 // cbnz x20, LBB0_844 $16(%rip) + WORD $0xd280000f // mov x15, #0 + WORD $0xd2800013 // mov x19, #0 + WORD $0x1400000a // b LBB0_845 $40(%rip) +LBB0_844: + WORD $0x8a2f0274 // bic x20, x19, x15 + WORD $0xaa1405f5 // orr x21, x15, x20, lsl #1 + WORD $0x8a35026f // bic x15, x19, x21 + WORD $0x9201f1ef // and x15, x15, #0xaaaaaaaaaaaaaaaa + WORD $0xab1401f3 // adds x19, x15, x20 + WORD $0x1a9f37ef // cset w15, hs + WORD $0xd37ffa73 // lsl x19, x19, #1 + WORD $0xd200f273 // eor x19, x19, #0x5555555555555555 + WORD $0x8a150273 // and x19, x19, x21 +LBB0_845: + WORD $0x6e208e53 // cmeq.16b v19, v18, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x6e208e33 // cmeq.16b v19, v17, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x6e208e13 // cmeq.16b v19, v16, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0x6e208cf3 // cmeq.16b v19, v7, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260277 // fmov w23, s19 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0x8a330293 // bic x19, x20, x19 + WORD $0x9200e274 // and x20, x19, #0x1111111111111111 + WORD $0x9203e275 // and x21, x19, #0x2222222222222222 + WORD $0x9202e276 // and x22, x19, #0x4444444444444444 + WORD $0x9201e273 // and x19, x19, #0x8888888888888888 + WORD $0x9b117e97 // mul x23, x20, x17 + WORD $0x9b0c7eb8 // mul x24, x21, x12 + WORD $0xca1802f7 // eor x23, x23, x24 + WORD $0x9b0d7ed8 // mul x24, x22, x13 + WORD $0x9b0e7e79 // mul x25, x19, x14 + WORD $0xca190318 // eor x24, x24, x25 + WORD $0xca1802f7 // eor x23, x23, x24 + WORD $0x9b027e98 // mul x24, x20, x2 + WORD $0x9b117eb9 // mul x25, x21, x17 + WORD $0xca190318 // eor x24, x24, x25 + WORD $0x9b0c7ed9 // mul x25, x22, x12 + WORD $0x9b0d7e7a // mul x26, x19, x13 + WORD $0xca1a0339 // eor x25, x25, x26 + WORD $0xca190318 // eor x24, x24, x25 + WORD $0x9b037e99 // mul x25, x20, x3 + WORD $0x9b027eba // mul x26, x21, x2 + WORD $0xca1a0339 // eor x25, x25, x26 + WORD $0x9b117eda // mul x26, x22, x17 + WORD $0x9b0c7e7b // mul x27, x19, x12 + WORD $0xca1b035a // eor x26, x26, x27 + WORD $0xca1a0339 // eor x25, x25, x26 + WORD $0x9b047e94 // mul x20, x20, x4 + WORD $0x9b037eb5 // mul x21, x21, x3 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0x9b027ed5 // mul x21, x22, x2 + WORD $0x9b117e73 // mul x19, x19, x17 + WORD $0xca1302b3 // eor x19, x21, x19 + WORD $0xca130293 // eor x19, x20, x19 + WORD $0x9200e2f4 // and x20, x23, #0x1111111111111111 + WORD $0x9203e315 // and x21, x24, #0x2222222222222222 + WORD $0x9202e336 // and x22, x25, #0x4444444444444444 + WORD $0x9201e273 // and x19, x19, #0x8888888888888888 + WORD $0xaa150294 // orr x20, x20, x21 + WORD $0xaa1302d3 // orr x19, x22, x19 + WORD $0xaa130293 // orr x19, x20, x19 + WORD $0xca070267 // eor x7, x19, x7 + WORD $0x6e248e53 // cmeq.16b v19, v18, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260273 // fmov w19, s19 + WORD $0x6e248e33 // cmeq.16b v19, v17, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x6e248e13 // cmeq.16b v19, v16, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x6e248cf3 // cmeq.16b v19, v7, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa130293 // orr x19, x20, x19 + WORD $0x8a270273 // bic x19, x19, x7 + WORD $0x6e258e52 // cmeq.16b v18, v18, v5 + WORD $0x4e211e52 // and.16b v18, v18, v1 + WORD $0x4e020252 // tbl.16b v18, { v18 }, v2 + WORD $0x4e71ba52 // addv.8h h18, v18 + WORD $0x1e260254 // fmov w20, s18 + WORD $0x6e258e31 // cmeq.16b v17, v17, v5 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260235 // fmov w21, s17 + WORD $0x6e258e10 // cmeq.16b v16, v16, v5 + WORD $0x4e211e10 // and.16b v16, v16, v1 + WORD $0x4e020210 // tbl.16b v16, { v16 }, v2 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e260216 // fmov w22, s16 + WORD $0x6e258ce7 // cmeq.16b v7, v7, v5 + WORD $0x4e211ce7 // and.16b v7, v7, v1 + WORD $0x4e0200e7 // tbl.16b v7, { v7 }, v2 + WORD $0x4e71b8e7 // addv.8h h7, v7 + WORD $0x1e2600f7 // fmov w23, s7 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xea270294 // bics x20, x20, x7 + WORD $0x54ffeae0 // b.eq LBB0_840 $-676(%rip) +LBB0_846: + WORD $0xd1000695 // sub x21, x20, #1 + WORD $0x8a1302b6 // and x22, x21, x19 + WORD $0x9e6702c7 // fmov d7, x22 + WORD $0x0e2058e7 // cnt.8b v7, v7 + WORD $0x2e3038e7 // uaddlv.8b h7, v7 + WORD $0x1e2600f6 // fmov w22, s7 + WORD $0x8b0802d6 // add x22, x22, x8 + WORD $0xeb0b02df // cmp x22, x11 + WORD $0x54003109 // b.ls LBB0_899 $1568(%rip) + WORD $0x9100056b // add x11, x11, #1 + WORD $0xea1402b4 // ands x20, x21, x20 + WORD $0x54fffea1 // b.ne LBB0_846 $-44(%rip) + WORD $0x17ffff4a // b LBB0_840 $-728(%rip) +LBB0_848: + WORD $0xf10000bf // cmp x5, #0 + WORD $0x5400404d // b.le LBB0_939 $2056(%rip) + WORD $0xad021be6 // stp q6, q6, [sp, #64] + WORD $0xad011be6 // stp q6, q6, [sp, #32] + WORD $0x92402e13 // and x19, x16, #0xfff + WORD $0xf13f067f // cmp x19, #4033 + WORD $0x54ffe9a3 // b.lo LBB0_842 $-716(%rip) + WORD $0xf10080b4 // subs x20, x5, #32 + WORD $0x540000a3 // b.lo LBB0_852 $20(%rip) + WORD $0xacc14207 // ldp q7, q16, [x16], #32 + WORD $0xad0143e7 // stp q7, q16, [sp, #32] + WORD $0xaa0a03f3 // mov x19, x10 + WORD $0x14000003 // b LBB0_853 $12(%rip) +LBB0_852: + WORD $0x910083f3 // add x19, sp, #32 + WORD $0xaa0503f4 // mov x20, x5 +LBB0_853: + WORD $0xf1004295 // subs x21, x20, #16 + WORD $0x54000243 // b.lo LBB0_859 $72(%rip) + WORD $0x3cc10607 // ldr q7, [x16], #16 + WORD $0x3c810667 // str q7, [x19], #16 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xf10022b5 // subs x21, x21, #8 + WORD $0x540001e2 // b.hs LBB0_860 $60(%rip) +LBB0_855: + WORD $0xf1001295 // subs x21, x20, #4 + WORD $0x54000243 // b.lo LBB0_861 $72(%rip) +LBB0_856: + WORD $0xb8404614 // ldr w20, [x16], #4 + WORD $0xb8004674 // str w20, [x19], #4 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xf1000ab5 // subs x21, x21, #2 + WORD $0x540001e2 // b.hs LBB0_862 $60(%rip) +LBB0_857: + WORD $0xb4000254 // cbz x20, LBB0_863 $72(%rip) +LBB0_858: + WORD $0x39400210 // ldrb w16, [x16] + WORD $0x39000270 // strb w16, [x19] + WORD $0x910083f0 // add x16, sp, #32 + WORD $0x17ffff32 // b LBB0_842 $-824(%rip) +LBB0_859: + WORD $0xf1002295 // subs x21, x20, #8 + WORD $0x54fffe63 // b.lo LBB0_855 $-52(%rip) +LBB0_860: + WORD $0xf8408614 // ldr x20, [x16], #8 + WORD $0xf8008674 // str x20, [x19], #8 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xf10012b5 // subs x21, x21, #4 + WORD $0x54fffe02 // b.hs LBB0_856 $-64(%rip) +LBB0_861: + WORD $0xf1000a95 // subs x21, x20, #2 + WORD $0x54fffe63 // b.lo LBB0_857 $-52(%rip) +LBB0_862: + WORD $0x78402614 // ldrh w20, [x16], #2 + WORD $0x78002674 // strh w20, [x19], #2 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xb5fffe15 // cbnz x21, LBB0_858 $-64(%rip) +LBB0_863: + WORD $0x910083f0 // add x16, sp, #32 + WORD $0x17ffff23 // b LBB0_842 $-884(%rip) +LBB0_864: + WORD $0x91001128 // add x8, x9, #4 + WORD $0xf940040a // ldr x10, [x0, #8] + WORD $0xeb0a011f // cmp x8, x10 + WORD $0x54ffd028 // b.hi LBB0_799 $-1532(%rip) + WORD $0x17fffecb // b LBB0_822 $-1236(%rip) +LBB0_865: + WORD $0xf9400411 // ldr x17, [x0, #8] + WORD $0xcb10022b // sub x11, x17, x16 + WORD $0xf100817f // cmp x11, #32 + WORD $0x540036ab // b.lt LBB0_929 $1748(%rip) + WORD $0xd2800008 // mov x8, #0 + WORD $0xd280000e // mov x14, #0 + WORD $0x3200f3ec // mov w12, #1431655765 + WORD $0x3201f3ed // mov w13, #-1431655766 + WORD $0x4f01e440 // movi.16b v0, #34 + WORD $0x8b09014f // add x15, x10, x9 +Lloh36: + WORD $0x10fdd52b // adr x11, lCPI0_0 $-17756(%rip) +Lloh37: + WORD $0x3dc00161 // ldr q1, [x11, lCPI0_0@PAGEOFF] $0(%rip) +Lloh38: + WORD $0x10fdd56b // adr x11, lCPI0_1 $-17748(%rip) +Lloh39: + WORD $0x3dc00162 // ldr q2, [x11, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0xcb09022b // sub x11, x17, x9 + WORD $0x4f02e783 // movi.16b v3, #92 + WORD $0x528003f0 // mov w16, #31 +LBB0_867: + WORD $0x8b0801f1 // add x17, x15, x8 + WORD $0x3cc01224 // ldur q4, [x17, #1] + WORD $0x3cc11225 // ldur q5, [x17, #17] + WORD $0x6e208c86 // cmeq.16b v6, v4, v0 + WORD $0x4e211cc6 // and.16b v6, v6, v1 + WORD $0x4e0200c6 // tbl.16b v6, { v6 }, v2 + WORD $0x4e71b8c6 // addv.8h h6, v6 + WORD $0x1e2600d1 // fmov w17, s6 + WORD $0x6e208ca6 // cmeq.16b v6, v5, v0 + WORD $0x4e211cc6 // and.16b v6, v6, v1 + WORD $0x4e0200c6 // tbl.16b v6, { v6 }, v2 + WORD $0x4e71b8c6 // addv.8h h6, v6 + WORD $0x1e2600c0 // fmov w0, s6 + WORD $0x33103c11 // bfi w17, w0, #16, #16 + WORD $0x6e238c84 // cmeq.16b v4, v4, v3 + WORD $0x4e211c84 // and.16b v4, v4, v1 + WORD $0x4e020084 // tbl.16b v4, { v4 }, v2 + WORD $0x4e71b884 // addv.8h h4, v4 + WORD $0x1e260080 // fmov w0, s4 + WORD $0x6e238ca4 // cmeq.16b v4, v5, v3 + WORD $0x4e211c84 // and.16b v4, v4, v1 + WORD $0x4e020084 // tbl.16b v4, { v4 }, v2 + WORD $0x4e71b884 // addv.8h h4, v4 + WORD $0x1e260082 // fmov w2, s4 + WORD $0x33103c40 // bfi w0, w2, #16, #16 + WORD $0x7100001f // cmp w0, #0 + WORD $0xfa4009c0 // ccmp x14, #0, #0, eq + WORD $0x54000180 // b.eq LBB0_869 $48(%rip) + WORD $0x0a2e0002 // bic w2, w0, w14 + WORD $0x2a0205c3 // orr w3, w14, w2, lsl #1 + WORD $0x0a0d000e // and w14, w0, w13 + WORD $0x0a2301ce // bic w14, w14, w3 + WORD $0x2b0201c0 // adds w0, w14, w2 + WORD $0x1a9f37ee // cset w14, hs + WORD $0x4a000580 // eor w0, w12, w0, lsl #1 + WORD $0x0a030000 // and w0, w0, w3 + WORD $0x2a2003e0 // mvn w0, w0 + WORD $0x8a110011 // and x17, x0, x17 + WORD $0x14000002 // b LBB0_870 $8(%rip) +LBB0_869: + WORD $0xd280000e // mov x14, #0 +LBB0_870: + WORD $0xb5002471 // cbnz x17, LBB0_901 $1164(%rip) + WORD $0x91008108 // add x8, x8, #32 + WORD $0xd1008210 // sub x16, x16, #32 + WORD $0x8b100171 // add x17, x11, x16 + WORD $0xf100fe3f // cmp x17, #63 + WORD $0x54fffa6c // b.gt LBB0_867 $-180(%rip) + WORD $0xb500324e // cbnz x14, LBB0_941 $1608(%rip) + WORD $0x8b09014c // add x12, x10, x9 + WORD $0x8b08018c // add x12, x12, x8 + WORD $0x9100058c // add x12, x12, #1 + WORD $0xaa2803e8 // mvn x8, x8 + WORD $0x8b0b010b // add x11, x8, x11 + WORD $0xf100057f // cmp x11, #1 + WORD $0x5400338a // b.ge LBB0_944 $1648(%rip) + WORD $0x17fffe38 // b LBB0_799 $-1824(%rip) +LBB0_874: + WORD $0xd2800007 // mov x7, #0 + WORD $0xd280000f // mov x15, #0 + WORD $0xd2800008 // mov x8, #0 + WORD $0xd280000b // mov x11, #0 + WORD $0xb201e3ec // mov x12, #-8608480567731124088 + WORD $0xf2e1110c // movk x12, #2184, lsl #48 + WORD $0xb202e3ed // mov x13, #4919131752989213764 + WORD $0xf2e0888d // movk x13, #1092, lsl #48 + WORD $0xb203e3ee // mov x14, #2459565876494606882 + WORD $0xf2e0444e // movk x14, #546, lsl #48 + WORD $0xf9400411 // ldr x17, [x0, #8] + WORD $0xcb100225 // sub x5, x17, x16 + WORD $0x8b100150 // add x16, x10, x16 + WORD $0x910083ea // add x10, sp, #32 + WORD $0x9100814a // add x10, x10, #32 + WORD $0x4f01e440 // movi.16b v0, #34 +Lloh40: + WORD $0x10fdcb71 // adr x17, lCPI0_0 $-18068(%rip) +Lloh41: + WORD $0x3dc00221 // ldr q1, [x17, lCPI0_0@PAGEOFF] $0(%rip) +Lloh42: + WORD $0x10fdcbb1 // adr x17, lCPI0_1 $-18060(%rip) +Lloh43: + WORD $0x3dc00222 // ldr q2, [x17, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x4f02e783 // movi.16b v3, #92 + WORD $0xb200e3f1 // mov x17, #1229782938247303441 + WORD $0xb203e3e2 // mov x2, #2459565876494606882 + WORD $0xb202e3e3 // mov x3, #4919131752989213764 + WORD $0xb201e3e4 // mov x4, #-8608480567731124088 + WORD $0x4f02e764 // movi.16b v4, #91 + WORD $0x4f02e7a5 // movi.16b v5, #93 + WORD $0x6f00e406 // movi.2d v6, #0000000000000000 + WORD $0x14000009 // b LBB0_876 $36(%rip) +LBB0_875: + WORD $0x937ffce7 // asr x7, x7, #63 + WORD $0x9e670267 // fmov d7, x19 + WORD $0x0e2058e7 // cnt.8b v7, v7 + WORD $0x2e3038e7 // uaddlv.8b h7, v7 + WORD $0x1e2600e5 // fmov w5, s7 + WORD $0x8b0800a8 // add x8, x5, x8 + WORD $0x91010210 // add x16, x16, #64 + WORD $0xaa0603e5 // mov x5, x6 +LBB0_876: + WORD $0xf10100a6 // subs x6, x5, #64 + WORD $0x540015cb // b.lt LBB0_883 $696(%rip) +LBB0_877: + WORD $0xad404612 // ldp q18, q17, [x16] + WORD $0xad411e10 // ldp q16, q7, [x16, #32] + WORD $0x6e238e53 // cmeq.16b v19, v18, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260273 // fmov w19, s19 + WORD $0x6e238e33 // cmeq.16b v19, v17, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x6e238e13 // cmeq.16b v19, v16, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x6e238cf3 // cmeq.16b v19, v7, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa130293 // orr x19, x20, x19 + WORD $0xaa0f0274 // orr x20, x19, x15 + WORD $0xb5000094 // cbnz x20, LBB0_879 $16(%rip) + WORD $0xd280000f // mov x15, #0 + WORD $0xd2800013 // mov x19, #0 + WORD $0x1400000a // b LBB0_880 $40(%rip) +LBB0_879: + WORD $0x8a2f0274 // bic x20, x19, x15 + WORD $0xaa1405f5 // orr x21, x15, x20, lsl #1 + WORD $0x8a35026f // bic x15, x19, x21 + WORD $0x9201f1ef // and x15, x15, #0xaaaaaaaaaaaaaaaa + WORD $0xab1401f3 // adds x19, x15, x20 + WORD $0x1a9f37ef // cset w15, hs + WORD $0xd37ffa73 // lsl x19, x19, #1 + WORD $0xd200f273 // eor x19, x19, #0x5555555555555555 + WORD $0x8a150273 // and x19, x19, x21 +LBB0_880: + WORD $0x6e208e53 // cmeq.16b v19, v18, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x6e208e33 // cmeq.16b v19, v17, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x6e208e13 // cmeq.16b v19, v16, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0x6e208cf3 // cmeq.16b v19, v7, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260277 // fmov w23, s19 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0x8a330293 // bic x19, x20, x19 + WORD $0x9200e274 // and x20, x19, #0x1111111111111111 + WORD $0x9203e275 // and x21, x19, #0x2222222222222222 + WORD $0x9202e276 // and x22, x19, #0x4444444444444444 + WORD $0x9201e273 // and x19, x19, #0x8888888888888888 + WORD $0x9b117e97 // mul x23, x20, x17 + WORD $0x9b0c7eb8 // mul x24, x21, x12 + WORD $0xca1802f7 // eor x23, x23, x24 + WORD $0x9b0d7ed8 // mul x24, x22, x13 + WORD $0x9b0e7e79 // mul x25, x19, x14 + WORD $0xca190318 // eor x24, x24, x25 + WORD $0xca1802f7 // eor x23, x23, x24 + WORD $0x9b027e98 // mul x24, x20, x2 + WORD $0x9b117eb9 // mul x25, x21, x17 + WORD $0xca190318 // eor x24, x24, x25 + WORD $0x9b0c7ed9 // mul x25, x22, x12 + WORD $0x9b0d7e7a // mul x26, x19, x13 + WORD $0xca1a0339 // eor x25, x25, x26 + WORD $0xca190318 // eor x24, x24, x25 + WORD $0x9b037e99 // mul x25, x20, x3 + WORD $0x9b027eba // mul x26, x21, x2 + WORD $0xca1a0339 // eor x25, x25, x26 + WORD $0x9b117eda // mul x26, x22, x17 + WORD $0x9b0c7e7b // mul x27, x19, x12 + WORD $0xca1b035a // eor x26, x26, x27 + WORD $0xca1a0339 // eor x25, x25, x26 + WORD $0x9b047e94 // mul x20, x20, x4 + WORD $0x9b037eb5 // mul x21, x21, x3 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0x9b027ed5 // mul x21, x22, x2 + WORD $0x9b117e73 // mul x19, x19, x17 + WORD $0xca1302b3 // eor x19, x21, x19 + WORD $0xca130293 // eor x19, x20, x19 + WORD $0x9200e2f4 // and x20, x23, #0x1111111111111111 + WORD $0x9203e315 // and x21, x24, #0x2222222222222222 + WORD $0x9202e336 // and x22, x25, #0x4444444444444444 + WORD $0x9201e273 // and x19, x19, #0x8888888888888888 + WORD $0xaa150294 // orr x20, x20, x21 + WORD $0xaa1302d3 // orr x19, x22, x19 + WORD $0xaa130293 // orr x19, x20, x19 + WORD $0xca070267 // eor x7, x19, x7 + WORD $0x6e248e53 // cmeq.16b v19, v18, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260273 // fmov w19, s19 + WORD $0x6e248e33 // cmeq.16b v19, v17, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x6e248e13 // cmeq.16b v19, v16, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x6e248cf3 // cmeq.16b v19, v7, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa130293 // orr x19, x20, x19 + WORD $0x8a270273 // bic x19, x19, x7 + WORD $0x6e258e52 // cmeq.16b v18, v18, v5 + WORD $0x4e211e52 // and.16b v18, v18, v1 + WORD $0x4e020252 // tbl.16b v18, { v18 }, v2 + WORD $0x4e71ba52 // addv.8h h18, v18 + WORD $0x1e260254 // fmov w20, s18 + WORD $0x6e258e31 // cmeq.16b v17, v17, v5 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260235 // fmov w21, s17 + WORD $0x6e258e10 // cmeq.16b v16, v16, v5 + WORD $0x4e211e10 // and.16b v16, v16, v1 + WORD $0x4e020210 // tbl.16b v16, { v16 }, v2 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e260216 // fmov w22, s16 + WORD $0x6e258ce7 // cmeq.16b v7, v7, v5 + WORD $0x4e211ce7 // and.16b v7, v7, v1 + WORD $0x4e0200e7 // tbl.16b v7, { v7 }, v2 + WORD $0x4e71b8e7 // addv.8h h7, v7 + WORD $0x1e2600f7 // fmov w23, s7 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xea270294 // bics x20, x20, x7 + WORD $0x54ffeae0 // b.eq LBB0_875 $-676(%rip) +LBB0_881: + WORD $0xd1000695 // sub x21, x20, #1 + WORD $0x8a1302b6 // and x22, x21, x19 + WORD $0x9e6702c7 // fmov d7, x22 + WORD $0x0e2058e7 // cnt.8b v7, v7 + WORD $0x2e3038e7 // uaddlv.8b h7, v7 + WORD $0x1e2600f6 // fmov w22, s7 + WORD $0x8b0802d6 // add x22, x22, x8 + WORD $0xeb0b02df // cmp x22, x11 + WORD $0x540006c9 // b.ls LBB0_899 $216(%rip) + WORD $0x9100056b // add x11, x11, #1 + WORD $0xea1402b4 // ands x20, x21, x20 + WORD $0x54fffea1 // b.ne LBB0_881 $-44(%rip) + WORD $0x17ffff4a // b LBB0_875 $-728(%rip) +LBB0_883: + WORD $0xf10000bf // cmp x5, #0 + WORD $0x5400160d // b.le LBB0_939 $704(%rip) + WORD $0xad021be6 // stp q6, q6, [sp, #64] + WORD $0xad011be6 // stp q6, q6, [sp, #32] + WORD $0x92402e13 // and x19, x16, #0xfff + WORD $0xf13f067f // cmp x19, #4033 + WORD $0x54ffe9a3 // b.lo LBB0_877 $-716(%rip) + WORD $0xf10080b4 // subs x20, x5, #32 + WORD $0x540000a3 // b.lo LBB0_887 $20(%rip) + WORD $0xacc14207 // ldp q7, q16, [x16], #32 + WORD $0xad0143e7 // stp q7, q16, [sp, #32] + WORD $0xaa0a03f3 // mov x19, x10 + WORD $0x14000003 // b LBB0_888 $12(%rip) +LBB0_887: + WORD $0x910083f3 // add x19, sp, #32 + WORD $0xaa0503f4 // mov x20, x5 +LBB0_888: + WORD $0xf1004295 // subs x21, x20, #16 + WORD $0x54000243 // b.lo LBB0_894 $72(%rip) + WORD $0x3cc10607 // ldr q7, [x16], #16 + WORD $0x3c810667 // str q7, [x19], #16 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xf10022b5 // subs x21, x21, #8 + WORD $0x540001e2 // b.hs LBB0_895 $60(%rip) +LBB0_890: + WORD $0xf1001295 // subs x21, x20, #4 + WORD $0x54000243 // b.lo LBB0_896 $72(%rip) +LBB0_891: + WORD $0xb8404614 // ldr w20, [x16], #4 + WORD $0xb8004674 // str w20, [x19], #4 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xf1000ab5 // subs x21, x21, #2 + WORD $0x540001e2 // b.hs LBB0_897 $60(%rip) +LBB0_892: + WORD $0xb4000254 // cbz x20, LBB0_898 $72(%rip) +LBB0_893: + WORD $0x39400210 // ldrb w16, [x16] + WORD $0x39000270 // strb w16, [x19] + WORD $0x910083f0 // add x16, sp, #32 + WORD $0x17ffff32 // b LBB0_877 $-824(%rip) +LBB0_894: + WORD $0xf1002295 // subs x21, x20, #8 + WORD $0x54fffe63 // b.lo LBB0_890 $-52(%rip) +LBB0_895: + WORD $0xf8408614 // ldr x20, [x16], #8 + WORD $0xf8008674 // str x20, [x19], #8 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xf10012b5 // subs x21, x21, #4 + WORD $0x54fffe02 // b.hs LBB0_891 $-64(%rip) +LBB0_896: + WORD $0xf1000a95 // subs x21, x20, #2 + WORD $0x54fffe63 // b.lo LBB0_892 $-52(%rip) +LBB0_897: + WORD $0x78402614 // ldrh w20, [x16], #2 + WORD $0x78002674 // strh w20, [x19], #2 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xb5fffe15 // cbnz x21, LBB0_893 $-64(%rip) +LBB0_898: + WORD $0x910083f0 // add x16, sp, #32 + WORD $0x17ffff23 // b LBB0_877 $-884(%rip) +LBB0_899: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xdac0028a // rbit x10, x20 + WORD $0xdac0114a // clz x10, x10 + WORD $0xcb05014a // sub x10, x10, x5 + WORD $0x8b080148 // add x8, x10, x8 + WORD $0x9100050a // add x10, x8, #1 + WORD $0xf900002a // str x10, [x1] + WORD $0xf940040b // ldr x11, [x0, #8] + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x9a882568 // csinc x8, x11, x8, hs + WORD $0xf9000028 // str x8, [x1] + WORD $0xda9f9128 // csinv x8, x9, xzr, ls + WORD $0x17fffd9f // b LBB0_832 $-2436(%rip) +LBB0_900: + WORD $0xf9000029 // str x9, [x1] + WORD $0x17fffd9c // b LBB0_831 $-2448(%rip) +LBB0_901: + WORD $0xdac0022a // rbit x10, x17 + WORD $0xdac0114a // clz x10, x10 + WORD $0x8b080128 // add x8, x9, x8 + WORD $0x8b080148 // add x8, x10, x8 + WORD $0x91000908 // add x8, x8, #2 + WORD $0x17fffd69 // b LBB0_822 $-2652(%rip) +LBB0_902: + WORD $0x928000c8 // mov x8, #-7 + WORD $0x17fffd95 // b LBB0_832 $-2476(%rip) +LBB0_903: + WORD $0xb100077f // cmn x27, #1 + WORD $0x9a9c0108 // csel x8, x8, x28, eq +LBB0_904: + WORD $0xf9000028 // str x8, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0x17fffd90 // b LBB0_832 $-2496(%rip) +LBB0_905: + WORD $0x92800013 // mov x19, #-1 +LBB0_906: + WORD $0xaa3303fb // mvn x27, x19 +LBB0_907: + WORD $0x8b1a0368 // add x8, x27, x26 + WORD $0x17fffd8a // b LBB0_830 $-2520(%rip) +LBB0_908: + WORD $0xf900002d // str x13, [x1] + WORD $0xaa0903e8 // mov x8, x9 + WORD $0x17fffd89 // b LBB0_832 $-2524(%rip) +LBB0_909: + WORD $0xaa0803fb // mov x27, x8 + WORD $0x17fffffa // b LBB0_907 $-24(%rip) +LBB0_910: + WORD $0xaa1903fc // mov x28, x25 +LBB0_911: + WORD $0xf900003c // str x28, [x1] + WORD $0x92800008 // mov x8, #-1 + WORD $0x17fffd83 // b LBB0_832 $-2548(%rip) +LBB0_912: + WORD $0x92800013 // mov x19, #-1 +LBB0_913: + WORD $0xaa3303fc // mvn x28, x19 +LBB0_914: + WORD $0x8b1c0368 // add x8, x27, x28 + WORD $0x17fffd7d // b LBB0_830 $-2572(%rip) +LBB0_915: + WORD $0xf900003b // str x27, [x1] + WORD $0x387b6928 // ldrb w8, [x9, x27] + WORD $0x7101851f // cmp w8, #97 + WORD $0x54ffaf41 // b.ne LBB0_831 $-2584(%rip) + WORD $0x91000b48 // add x8, x26, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54ffaea1 // b.ne LBB0_831 $-2604(%rip) + WORD $0x91000f48 // add x8, x26, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101cd1f // cmp w8, #115 + WORD $0x54ffae01 // b.ne LBB0_831 $-2624(%rip) + WORD $0x91001348 // add x8, x26, #4 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101951f // cmp w8, #101 + WORD $0x54ffad61 // b.ne LBB0_831 $-2644(%rip) + WORD $0x91001748 // add x8, x26, #5 + WORD $0x17fffd68 // b LBB0_830 $-2656(%rip) +LBB0_920: + WORD $0xf900003a // str x26, [x1] + WORD $0x39400388 // ldrb w8, [x28] + WORD $0x7101b91f // cmp w8, #110 + WORD $0x54ffaca1 // b.ne LBB0_831 $-2668(%rip) + WORD $0x91000748 // add x8, x26, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x54ffac01 // b.ne LBB0_831 $-2688(%rip) + WORD $0x91000b48 // add x8, x26, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54ffab61 // b.ne LBB0_831 $-2708(%rip) + WORD $0x91000f48 // add x8, x26, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54ffaac1 // b.ne LBB0_831 $-2728(%rip) + WORD $0x14000014 // b LBB0_928 $80(%rip) +LBB0_924: + WORD $0xf900003a // str x26, [x1] + WORD $0x39400388 // ldrb w8, [x28] + WORD $0x7101d11f // cmp w8, #116 + WORD $0x54ffaa21 // b.ne LBB0_831 $-2748(%rip) + WORD $0x91000748 // add x8, x26, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101c91f // cmp w8, #114 + WORD $0x54ffa981 // b.ne LBB0_831 $-2768(%rip) + WORD $0x91000b48 // add x8, x26, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x54ffa8e1 // b.ne LBB0_831 $-2788(%rip) + WORD $0x91000f48 // add x8, x26, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101951f // cmp w8, #101 + WORD $0x54ffa841 // b.ne LBB0_831 $-2808(%rip) +LBB0_928: + WORD $0x91001348 // add x8, x26, #4 + WORD $0x17fffd3f // b LBB0_830 $-2820(%rip) +LBB0_929: + WORD $0x8b10014c // add x12, x10, x16 + WORD $0xf100057f // cmp x11, #1 + WORD $0x5400050a // b.ge LBB0_944 $160(%rip) + WORD $0x17fffcc4 // b LBB0_799 $-3312(%rip) +LBB0_930: + WORD $0xaa0403fc // mov x28, x4 + WORD $0x8b040368 // add x8, x27, x4 + WORD $0x17fffd38 // b LBB0_830 $-2848(%rip) +LBB0_931: + WORD $0xaa1b03e8 // mov x8, x27 +LBB0_932: + WORD $0x9280001b // mov x27, #-1 + WORD $0x17ffffa5 // b LBB0_904 $-364(%rip) +LBB0_933: + WORD $0x91000a94 // add x20, x20, #2 +LBB0_934: + WORD $0x92800028 // mov x8, #-2 + WORD $0x14000006 // b LBB0_938 $24(%rip) +LBB0_935: + WORD $0x91000694 // add x20, x20, #1 + WORD $0x92800048 // mov x8, #-3 + WORD $0x14000003 // b LBB0_938 $12(%rip) +LBB0_936: + WORD $0x91000694 // add x20, x20, #1 +LBB0_937: + WORD $0x92800008 // mov x8, #-1 +LBB0_938: + WORD $0xcb130289 // sub x9, x20, x19 + WORD $0xf9000029 // str x9, [x1] + WORD $0x17fffd2c // b LBB0_832 $-2896(%rip) +LBB0_939: + WORD $0xf9400408 // ldr x8, [x0, #8] +LBB0_940: + WORD $0xf9000028 // str x8, [x1] + WORD $0x92800008 // mov x8, #-1 + WORD $0x17fffd28 // b LBB0_832 $-2912(%rip) +LBB0_941: + WORD $0xd100056c // sub x12, x11, #1 + WORD $0xeb08019f // cmp x12, x8 + WORD $0x54ff9580 // b.eq LBB0_799 $-3408(%rip) + WORD $0x8b09014c // add x12, x10, x9 + WORD $0x8b08018c // add x12, x12, x8 + WORD $0x9100098c // add x12, x12, #2 + WORD $0xcb080168 // sub x8, x11, x8 + WORD $0xd100090b // sub x11, x8, #2 + WORD $0xf100057f // cmp x11, #1 + WORD $0x5400010a // b.ge LBB0_944 $32(%rip) + WORD $0x17fffca4 // b LBB0_799 $-3440(%rip) +LBB0_943: + WORD $0x9280002d // mov x13, #-2 + WORD $0x52800048 // mov w8, #2 + WORD $0x8b08018c // add x12, x12, x8 + WORD $0x92800008 // mov x8, #-1 + WORD $0xab0d016b // adds x11, x11, x13 + WORD $0x54ffa2ed // b.le LBB0_832 $-2980(%rip) +LBB0_944: + WORD $0x39400188 // ldrb w8, [x12] + WORD $0x7101711f // cmp w8, #92 + WORD $0x54ffff00 // b.eq LBB0_943 $-32(%rip) + WORD $0x7100891f // cmp w8, #34 + WORD $0x54000100 // b.eq LBB0_947 $32(%rip) + WORD $0x9280000d // mov x13, #-1 + WORD $0x52800028 // mov w8, #1 + WORD $0x8b08018c // add x12, x12, x8 + WORD $0x92800008 // mov x8, #-1 + WORD $0xab0d016b // adds x11, x11, x13 + WORD $0x54fffecc // b.gt LBB0_944 $-40(%rip) + WORD $0x17fffd0b // b LBB0_832 $-3028(%rip) +LBB0_947: + WORD $0xcb0a0188 // sub x8, x12, x10 + WORD $0x91000508 // add x8, x8, #1 + WORD $0x17fffcda // b LBB0_822 $-3224(%rip) +LBB0_948: + WORD $0x91002294 // add x20, x20, #8 + WORD $0x17ffffd1 // b LBB0_934 $-188(%rip) +LBB0_949: + WORD $0x92800068 // mov x8, #-4 + WORD $0xaa1c03f4 // mov x20, x28 + WORD $0x17ffffd5 // b LBB0_938 $-172(%rip) +LBB0_950: + WORD $0xaa1c03f4 // mov x20, x28 + WORD $0x17ffffd3 // b LBB0_938 $-180(%rip) +LBB0_951: + WORD $0x91002294 // add x20, x20, #8 + WORD $0x92800068 // mov x8, #-4 + WORD $0x17ffffd0 // b LBB0_938 $-192(%rip) + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 +__UnquoteTab: + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00220000 // .ascii 4, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x2f000000 // .ascii 4, '\x00\x00\x00/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00\x00\x00\x08\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\\\x00\x00\x00\x00\x00\x08\x00\x00\x00\x0c\x00' + WORD $0x0000005c // .ascii 4, '\\\x00\x00\x00\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00' + WORD $0x00080000 // .ascii 4, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00' + WORD $0x000c0000 // .ascii 4, '\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\r\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\r\x00\t\xff\x00\x00' + WORD $0x000a0000 // .ascii 4, '\x00\x00\n\x00\x00\x00\r\x00\t\xff\x00\x00' + WORD $0x000d0000 // .ascii 4, '\x00\x00\r\x00\t\xff\x00\x00' + WORD $0x0000ff09 // .ascii 4, '\t\xff\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + +TEXT ·__get_by_path(SB), NOSPLIT, $0-40 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $272, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_get_by_path: + MOVD s+0(FP), R0 + MOVD p+8(FP), R1 + MOVD path+16(FP), R2 + MOVD m+24(FP), R3 + MOVD ·_subr__get_by_path(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+32(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_subr_arm64.go new file mode 100644 index 0000000..2d01727 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/get_by_path_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __get_by_path_entry__() uintptr + +var ( + _subr__get_by_path uintptr = __get_by_path_entry__() + 48 +) + +const ( + _stack__get_by_path = 208 +) + +var ( + _ = _subr__get_by_path +) + +const ( + _ = _stack__get_by_path +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_arm64.go new file mode 100644 index 0000000..579af58 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_arm64.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + `unsafe` + + // `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) { + return __html_escape(sp, nb, dp, dn) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_arm64.s new file mode 100644 index 0000000..c8e25e1 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_arm64.s @@ -0,0 +1,1406 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__html_escape_entry__(SB), NOSPLIT, $16 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 4, 0x00 +lCPI0_0: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_1: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_html_escape: + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xaa0203e8 // mov x8, x2 + WORD $0xaa0003ee // mov x14, x0 + WORD $0xf100043f // cmp x1, #1 + WORD $0x54001d2b // b.lt LBB0_56 $932(%rip) + WORD $0xf940006d // ldr x13, [x3] + WORD $0x4f01e4c0 // movi.16b v0, #38 + WORD $0x4f07e441 // movi.16b v1, #226 + WORD $0x4f07e7a2 // movi.16b v2, #253 +Lloh0: + WORD $0x10fffd88 // adr x8, lCPI0_0 $-80(%rip) +Lloh1: + WORD $0x3dc00103 // ldr q3, [x8, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x4f01e784 // movi.16b v4, #60 +Lloh2: + WORD $0x10fffda8 // adr x8, lCPI0_1 $-76(%rip) +Lloh3: + WORD $0x3dc00105 // ldr q5, [x8, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x52800029 // mov w9, #1 + WORD $0xd2c0080a // mov x10, #274877906944 + WORD $0xf2ea000a // movk x10, #20480, lsl #48 + WORD $0x52801c4b // mov w11, #226 +Lloh4: + WORD $0x10001e2c // adr x12, __HtmlQuoteTab $964(%rip) +Lloh5: + WORD $0x9100018c // add x12, x12, __HtmlQuoteTab@PAGEOFF $0(%rip) + WORD $0xaa0003ee // mov x14, x0 + WORD $0xaa0203e8 // mov x8, x2 +LBB0_2: + WORD $0xf10005bf // cmp x13, #1 + WORD $0x54001ceb // b.lt LBB0_59 $924(%rip) + WORD $0xf1003c3f // cmp x1, #15 + WORD $0x1a9f97e5 // cset w5, hi + WORD $0xaa0d03f1 // mov x17, x13 + WORD $0xaa0803f0 // mov x16, x8 + WORD $0xaa0103e4 // mov x4, x1 + WORD $0xaa0e03ef // mov x15, x14 + WORD $0xf100403f // cmp x1, #16 + WORD $0x54000483 // b.lo LBB0_10 $144(%rip) + WORD $0xf10041bf // cmp x13, #16 + WORD $0x54000443 // b.lo LBB0_10 $136(%rip) + WORD $0xd2800011 // mov x17, #0 + WORD $0x928001ef // mov x15, #-16 +LBB0_6: + WORD $0x8b1101d0 // add x16, x14, x17 + WORD $0x8b110104 // add x4, x8, x17 + WORD $0xa9401610 // ldp x16, x5, [x16] + WORD $0xa9001490 // stp x16, x5, [x4] + WORD $0x9e670206 // fmov d6, x16 + WORD $0x4e181ca6 // mov.d v6[1], x5 + WORD $0x6e208cc7 // cmeq.16b v7, v6, v0 + WORD $0x6e218cd0 // cmeq.16b v16, v6, v1 + WORD $0x4e221cc6 // and.16b v6, v6, v2 + WORD $0x6e248cc6 // cmeq.16b v6, v6, v4 + WORD $0x4eb01ce7 // orr.16b v7, v7, v16 + WORD $0x4ea61ce6 // orr.16b v6, v7, v6 + WORD $0x4e231cc6 // and.16b v6, v6, v3 + WORD $0x4e0500c6 // tbl.16b v6, { v6 }, v5 + WORD $0x4e71b8c6 // addv.8h h6, v6 + WORD $0x1e2600d0 // fmov w16, s6 + WORD $0x35000890 // cbnz w16, LBB0_22 $272(%rip) + WORD $0x8b0f0030 // add x16, x1, x15 + WORD $0xf1003e1f // cmp x16, #15 + WORD $0x1a9f97e5 // cset w5, hi + WORD $0x91004231 // add x17, x17, #16 + WORD $0xf100421f // cmp x16, #16 + WORD $0x540000a3 // b.lo LBB0_9 $20(%rip) + WORD $0x8b0f01b0 // add x16, x13, x15 + WORD $0xd10041ef // sub x15, x15, #16 + WORD $0xf1003e1f // cmp x16, #15 + WORD $0x54fffcc8 // b.hi LBB0_6 $-104(%rip) +LBB0_9: + WORD $0x8b1101cf // add x15, x14, x17 + WORD $0xcb110024 // sub x4, x1, x17 + WORD $0x8b110110 // add x16, x8, x17 + WORD $0xcb1101b1 // sub x17, x13, x17 +LBB0_10: + WORD $0x36000325 // tbz w5, #0, LBB0_14 $100(%rip) + WORD $0x3dc001e6 // ldr q6, [x15] + WORD $0x6e208cc7 // cmeq.16b v7, v6, v0 + WORD $0x6e218cd0 // cmeq.16b v16, v6, v1 + WORD $0x4e221cd1 // and.16b v17, v6, v2 + WORD $0x6e248e31 // cmeq.16b v17, v17, v4 + WORD $0x4eb01ce7 // orr.16b v7, v7, v16 + WORD $0x4eb11ce7 // orr.16b v7, v7, v17 + WORD $0x4e231ce7 // and.16b v7, v7, v3 + WORD $0x4e0500e7 // tbl.16b v7, { v7 }, v5 + WORD $0x4e71b8e7 // addv.8h h7, v7 + WORD $0x1e2600e4 // fmov w4, s7 + WORD $0x32100084 // orr w4, w4, #0x10000 + WORD $0x5ac00084 // rbit w4, w4 + WORD $0x5ac01084 // clz w4, w4 + WORD $0x9e6600c6 // fmov x6, d6 + WORD $0xeb04023f // cmp x17, x4 + WORD $0x54000522 // b.hs LBB0_23 $164(%rip) + WORD $0xf1002225 // subs x5, x17, #8 + WORD $0x540005e3 // b.lo LBB0_25 $188(%rip) + WORD $0xf8008606 // str x6, [x16], #8 + WORD $0x910021e4 // add x4, x15, #8 + WORD $0xf10010a6 // subs x6, x5, #4 + WORD $0x540005e2 // b.hs LBB0_26 $188(%rip) + WORD $0x14000031 // b LBB0_27 $196(%rip) +LBB0_14: + WORD $0xb40002a4 // cbz x4, LBB0_21 $84(%rip) + WORD $0xf100063f // cmp x17, #1 + WORD $0x5400026b // b.lt LBB0_21 $76(%rip) + WORD $0xcb0e01e5 // sub x5, x15, x14 +LBB0_17: + WORD $0x394001e6 // ldrb w6, [x15] + WORD $0x7100f8df // cmp w6, #62 + WORD $0x9ac62127 // lsl x7, x9, x6 + WORD $0x8a0a00e7 // and x7, x7, x10 + WORD $0xfa4098e4 // ccmp x7, #0, #4, ls + WORD $0x540005e1 // b.ne LBB0_31 $188(%rip) + WORD $0x710388df // cmp w6, #226 + WORD $0x540005a0 // b.eq LBB0_31 $180(%rip) + WORD $0x910005ef // add x15, x15, #1 + WORD $0x38001606 // strb w6, [x16], #1 + WORD $0xf1000484 // subs x4, x4, #1 + WORD $0x540000c0 // b.eq LBB0_21 $24(%rip) + WORD $0xd1000626 // sub x6, x17, #1 + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xf100063f // cmp x17, #1 + WORD $0xaa0603f1 // mov x17, x6 + WORD $0x54fffe0c // b.gt LBB0_17 $-64(%rip) +LBB0_21: + WORD $0xaa2f03f0 // mvn x16, x15 + WORD $0x8b0e0210 // add x16, x16, x14 + WORD $0xcb0e01ef // sub x15, x15, x14 + WORD $0xf100009f // cmp x4, #0 + WORD $0x9a8f1205 // csel x5, x16, x15, ne + WORD $0xb6f803e5 // tbz x5, #63, LBB0_32 $124(%rip) + WORD $0x1400007c // b LBB0_57 $496(%rip) +LBB0_22: + WORD $0x5ac0020f // rbit w15, w16 + WORD $0x5ac011ef // clz w15, w15 + WORD $0x8b1101e5 // add x5, x15, x17 + WORD $0xb6f80345 // tbz x5, #63, LBB0_32 $104(%rip) + WORD $0x14000077 // b LBB0_57 $476(%rip) +LBB0_23: + WORD $0x7100209f // cmp w4, #8 + WORD $0x540007c3 // b.lo LBB0_42 $248(%rip) + WORD $0xf8008606 // str x6, [x16], #8 + WORD $0x910021f1 // add x17, x15, #8 + WORD $0xd1002085 // sub x5, x4, #8 + WORD $0xf10010a6 // subs x6, x5, #4 + WORD $0x540007a2 // b.hs LBB0_43 $244(%rip) + WORD $0x1400003f // b LBB0_44 $252(%rip) +LBB0_25: + WORD $0xaa0f03e4 // mov x4, x15 + WORD $0xaa1103e5 // mov x5, x17 + WORD $0xf1001226 // subs x6, x17, #4 + WORD $0x54000083 // b.lo LBB0_27 $16(%rip) +LBB0_26: + WORD $0xb8404485 // ldr w5, [x4], #4 + WORD $0xb8004605 // str w5, [x16], #4 + WORD $0xaa0603e5 // mov x5, x6 +LBB0_27: + WORD $0xf10008a6 // subs x6, x5, #2 + WORD $0x540007e2 // b.hs LBB0_48 $252(%rip) + WORD $0xb4000065 // cbz x5, LBB0_30 $12(%rip) +LBB0_29: + WORD $0x39400084 // ldrb w4, [x4] + WORD $0x39000204 // strb w4, [x16] +LBB0_30: + WORD $0x8b0f022f // add x15, x17, x15 + WORD $0xaa2f03ef // mvn x15, x15 + WORD $0x8b0e01e5 // add x5, x15, x14 +LBB0_31: + WORD $0xb7f80be5 // tbnz x5, #63, LBB0_57 $380(%rip) +LBB0_32: + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x8b050108 // add x8, x8, x5 + WORD $0xcb05002f // sub x15, x1, x5 + WORD $0xf10005ff // cmp x15, #1 + WORD $0x54000a8b // b.lt LBB0_56 $336(%rip) + WORD $0xcb0501ad // sub x13, x13, x5 + WORD $0x394001d1 // ldrb w17, [x14] + WORD $0x71038a3f // cmp w17, #226 + WORD $0x54000720 // b.eq LBB0_50 $228(%rip) + WORD $0xaa0e03f0 // mov x16, x14 + WORD $0x8b315181 // add x1, x12, w17, uxtw #4 + WORD $0xb9800031 // ldrsw x17, [x1] + WORD $0xeb1101ad // subs x13, x13, x17 + WORD $0x54000b4b // b.lt LBB0_58 $360(%rip) +LBB0_35: + WORD $0xf1001224 // subs x4, x17, #4 + WORD $0x5400010b // b.lt LBB0_37 $32(%rip) + WORD $0xb9400825 // ldr w5, [x1, #8] + WORD $0xaa0803ee // mov x14, x8 + WORD $0xb80045c5 // str w5, [x14], #4 + WORD $0x91003021 // add x1, x1, #12 + WORD $0xf1000885 // subs x5, x4, #2 + WORD $0x540000e2 // b.hs LBB0_38 $28(%rip) + WORD $0x14000009 // b LBB0_39 $36(%rip) +LBB0_37: + WORD $0x91002021 // add x1, x1, #8 + WORD $0xaa0803ee // mov x14, x8 + WORD $0xaa1103e4 // mov x4, x17 + WORD $0xf1000a25 // subs x5, x17, #2 + WORD $0x54000083 // b.lo LBB0_39 $16(%rip) +LBB0_38: + WORD $0x78402424 // ldrh w4, [x1], #2 + WORD $0x780025c4 // strh w4, [x14], #2 + WORD $0xaa0503e4 // mov x4, x5 +LBB0_39: + WORD $0xb4000064 // cbz x4, LBB0_41 $12(%rip) + WORD $0x39400021 // ldrb w1, [x1] + WORD $0x390001c1 // strb w1, [x14] +LBB0_41: + WORD $0x8b110108 // add x8, x8, x17 + WORD $0x9100060e // add x14, x16, #1 + WORD $0xf10005e1 // subs x1, x15, #1 + WORD $0x54ffeb88 // b.hi LBB0_2 $-656(%rip) + WORD $0x14000032 // b LBB0_56 $200(%rip) +LBB0_42: + WORD $0xaa0f03f1 // mov x17, x15 + WORD $0xaa0403e5 // mov x5, x4 + WORD $0xf1001086 // subs x6, x4, #4 + WORD $0x54000083 // b.lo LBB0_44 $16(%rip) +LBB0_43: + WORD $0xb8404625 // ldr w5, [x17], #4 + WORD $0xb8004605 // str w5, [x16], #4 + WORD $0xaa0603e5 // mov x5, x6 +LBB0_44: + WORD $0xf10008a6 // subs x6, x5, #2 + WORD $0x540001a2 // b.hs LBB0_49 $52(%rip) + WORD $0xb4000065 // cbz x5, LBB0_47 $12(%rip) +LBB0_46: + WORD $0x39400231 // ldrb w17, [x17] + WORD $0x39000211 // strb w17, [x16] +LBB0_47: + WORD $0xcb0e01ef // sub x15, x15, x14 + WORD $0x8b0401e5 // add x5, x15, x4 + WORD $0xb6fff965 // tbz x5, #63, LBB0_32 $-212(%rip) + WORD $0x14000028 // b LBB0_57 $160(%rip) +LBB0_48: + WORD $0x78402485 // ldrh w5, [x4], #2 + WORD $0x78002605 // strh w5, [x16], #2 + WORD $0xaa0603e5 // mov x5, x6 + WORD $0xb5fff806 // cbnz x6, LBB0_29 $-256(%rip) + WORD $0x17ffffc1 // b LBB0_30 $-252(%rip) +LBB0_49: + WORD $0x78402625 // ldrh w5, [x17], #2 + WORD $0x78002605 // strh w5, [x16], #2 + WORD $0xaa0603e5 // mov x5, x6 + WORD $0xb5fffe46 // cbnz x6, LBB0_46 $-56(%rip) + WORD $0x17fffff3 // b LBB0_47 $-52(%rip) +LBB0_50: + WORD $0xf1000dff // cmp x15, #3 + WORD $0x540001e3 // b.lo LBB0_54 $60(%rip) + WORD $0x394005d0 // ldrb w16, [x14, #1] + WORD $0x7102021f // cmp w16, #128 + WORD $0x54000181 // b.ne LBB0_54 $48(%rip) + WORD $0xaa0e03f0 // mov x16, x14 + WORD $0x38402e11 // ldrb w17, [x16, #2]! + WORD $0x121f1a21 // and w1, w17, #0xfe + WORD $0x7102a03f // cmp w1, #168 + WORD $0x540000e1 // b.ne LBB0_54 $28(%rip) + WORD $0xd10009ef // sub x15, x15, #2 + WORD $0x8b315181 // add x1, x12, w17, uxtw #4 + WORD $0xb9800031 // ldrsw x17, [x1] + WORD $0xeb1101ad // subs x13, x13, x17 + WORD $0x54fff7ea // b.ge LBB0_35 $-260(%rip) + WORD $0x14000017 // b LBB0_58 $92(%rip) +LBB0_54: + WORD $0xf10005ad // subs x13, x13, #1 + WORD $0x540002eb // b.lt LBB0_59 $92(%rip) + WORD $0x3800150b // strb w11, [x8], #1 + WORD $0xaa0e03f0 // mov x16, x14 + WORD $0x910005ce // add x14, x14, #1 + WORD $0xf10005e1 // subs x1, x15, #1 + WORD $0x54ffe548 // b.hi LBB0_2 $-856(%rip) +LBB0_56: + WORD $0xcb020108 // sub x8, x8, x2 + WORD $0xf9000068 // str x8, [x3] + WORD $0xcb0001c0 // sub x0, x14, x0 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_57: + WORD $0x8b0200a9 // add x9, x5, x2 + WORD $0xaa2903e9 // mvn x9, x9 + WORD $0x8b080128 // add x8, x9, x8 + WORD $0xf9000068 // str x8, [x3] + WORD $0xcb0e0008 // sub x8, x0, x14 + WORD $0x8b050100 // add x0, x8, x5 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_58: + WORD $0xcb020108 // sub x8, x8, x2 + WORD $0xf9000068 // str x8, [x3] +LBB0_59: + WORD $0xaa2e03e8 // mvn x8, x14 + WORD $0x8b000100 // add x0, x8, x0 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret + // .p2align 3, 0x00 +__HtmlQuoteTab: + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0026\x00\x00' + WORD $0x00003632 // .asciz 4, '26\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u003c\x00\x00' + WORD $0x00006333 // .asciz 4, '3c\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u003e\x00\x00' + WORD $0x00006533 // .asciz 4, '3e\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3032755c // .asciz 4, '\\u2028\x00\x00' + WORD $0x00003832 // .asciz 4, '28\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3032755c // .asciz 4, '\\u2029\x00\x00' + WORD $0x00003932 // .asciz 4, '29\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + +TEXT ·__html_escape(SB), NOSPLIT, $0-40 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $96, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_html_escape: + MOVD sp+0(FP), R0 + MOVD nb+8(FP), R1 + MOVD dp+16(FP), R2 + MOVD dn+24(FP), R3 + MOVD ·_subr__html_escape(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+32(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_subr_arm64.go new file mode 100644 index 0000000..a0a86e0 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/html_escape_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __html_escape_entry__() uintptr + +var ( + _subr__html_escape uintptr = __html_escape_entry__() + 32 +) + +const ( + _stack__html_escape = 32 +) + +var ( + _ = _subr__html_escape +) + +const ( + _ = _stack__html_escape +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_arm64.go new file mode 100644 index 0000000..d383b38 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_arm64.go @@ -0,0 +1,31 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +//go:nosplit +func i64toa(out *byte, val int64) (ret int) { + return __i64toa(out, val) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __i64toa(out *byte, val int64) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_arm64.s new file mode 100644 index 0000000..a41e8e1 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_arm64.s @@ -0,0 +1,985 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__i64toa_entry__(SB), NOSPLIT, $16 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 3, 0x00 +lCPI0_0: + WORD $0x147b20c5 + WORD $0x80003334 + // // .word 8389 +// .word 5243 +// .word 13108 +// .word 32768 + +lCPI0_1: + WORD $0x08000080 + WORD $0x80002000 + // // .word 128 +// .word 2048 +// .word 8192 +// .word 32768 + +lCPI0_2: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_3: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_i64toa: + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xb7f80641 // tbnz x1, #63, LBB0_10 $200(%rip) + WORD $0xd344fc28 // lsr x8, x1, #4 + WORD $0xf109c11f // cmp x8, #624 + WORD $0x540008e8 // b.hi LBB0_13 $284(%rip) + WORD $0x53023c28 // ubfx w8, w1, #2, #14 + WORD $0x52828f69 // mov w9, #5243 + WORD $0x1b097d08 // mul w8, w8, w9 + WORD $0x53117d08 // lsr w8, w8, #17 + WORD $0xd37f7d09 // ubfiz x9, x8, #1, #32 + WORD $0x52800c8a // mov w10, #100 + WORD $0x1b0a8508 // msub w8, w8, w10, w1 + WORD $0x92403d08 // and x8, x8, #0xffff + WORD $0xd37ff908 // lsl x8, x8, #1 + WORD $0x710fa03f // cmp w1, #1000 + WORD $0x540000e3 // b.lo LBB0_4 $28(%rip) +Lloh0: + WORD $0x100054ea // adr x10, _Digits $2716(%rip) +Lloh1: + WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) + WORD $0x3869694a // ldrb w10, [x10, x9] + WORD $0x3900000a // strb w10, [x0] + WORD $0x5280002a // mov w10, #1 + WORD $0x14000004 // b LBB0_6 $16(%rip) +LBB0_4: + WORD $0x7101903f // cmp w1, #100 + WORD $0x540002e3 // b.lo LBB0_9 $92(%rip) + WORD $0x5280000a // mov w10, #0 +LBB0_6: +Lloh2: + WORD $0x100053cb // adr x11, _Digits $2680(%rip) +Lloh3: + WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) + WORD $0x8b294169 // add x9, x11, w9, uxtw + WORD $0x3940052b // ldrb w11, [x9, #1] + WORD $0x11000549 // add w9, w10, #1 + WORD $0x382a480b // strb w11, [x0, w10, uxtw] +LBB0_7: +Lloh4: + WORD $0x1000530a // adr x10, _Digits $2656(%rip) +Lloh5: + WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) + WORD $0x3868694b // ldrb w11, [x10, x8] + WORD $0x1100052a // add w10, w9, #1 + WORD $0x3829480b // strb w11, [x0, w9, uxtw] +LBB0_8: +Lloh6: + WORD $0x10005269 // adr x9, _Digits $2636(%rip) +Lloh7: + WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) + WORD $0x8b282128 // add x8, x9, w8, uxth + WORD $0x39400509 // ldrb w9, [x8, #1] + WORD $0x11000548 // add w8, w10, #1 + WORD $0x382a4809 // strb w9, [x0, w10, uxtw] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_9: + WORD $0x52800009 // mov w9, #0 + WORD $0x5280000a // mov w10, #0 + WORD $0x7100283f // cmp w1, #10 + WORD $0x54fffdc2 // b.hs LBB0_7 $-72(%rip) + WORD $0x17fffff2 // b LBB0_8 $-56(%rip) +LBB0_10: + WORD $0x528005a9 // mov w9, #45 + WORD $0xaa0003e8 // mov x8, x0 + WORD $0x38001509 // strb w9, [x8], #1 + WORD $0xcb0103e9 // neg x9, x1 + WORD $0xd344fd2a // lsr x10, x9, #4 + WORD $0xf109c15f // cmp x10, #624 + WORD $0x54001068 // b.hi LBB0_28 $524(%rip) + WORD $0x53023d2a // ubfx w10, w9, #2, #14 + WORD $0x52828f6b // mov w11, #5243 + WORD $0x1b0b7d4a // mul w10, w10, w11 + WORD $0x53117d4a // lsr w10, w10, #17 + WORD $0xd37f7d4b // ubfiz x11, x10, #1, #32 + WORD $0x52800c8c // mov w12, #100 + WORD $0x1b0ca54a // msub w10, w10, w12, w9 + WORD $0x92403d4a // and x10, x10, #0xffff + WORD $0xd37ff94a // lsl x10, x10, #1 + WORD $0x710fa13f // cmp w9, #1000 + WORD $0x540004e3 // b.lo LBB0_16 $156(%rip) +Lloh8: + WORD $0x10004e49 // adr x9, _Digits $2504(%rip) +Lloh9: + WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) + WORD $0x386b6929 // ldrb w9, [x9, x11] + WORD $0x39000109 // strb w9, [x8] + WORD $0x52800029 // mov w9, #1 + WORD $0x14000024 // b LBB0_18 $144(%rip) +LBB0_13: + WORD $0x529c2008 // mov w8, #57600 + WORD $0x72a0bea8 // movk w8, #1525, lsl #16 + WORD $0xeb08003f // cmp x1, x8 + WORD $0x540011c2 // b.hs LBB0_31 $568(%rip) + WORD $0x5282eb28 // mov w8, #5977 + WORD $0x72ba36e8 // movk w8, #53687, lsl #16 + WORD $0x92407c29 // and x9, x1, #0xffffffff + WORD $0x9ba87d28 // umull x8, w9, w8 + WORD $0xd36dfd08 // lsr x8, x8, #45 + WORD $0x529bd06a // mov w10, #56963 + WORD $0x72a8636a // movk w10, #17179, lsl #16 + WORD $0x9baa7d29 // umull x9, w9, w10 + WORD $0xd371fd29 // lsr x9, x9, #49 + WORD $0x927f312a // and x10, x9, #0x3ffe + WORD $0x53023d09 // ubfx w9, w8, #2, #14 + WORD $0x52828f6b // mov w11, #5243 + WORD $0x1b0b7d29 // mul w9, w9, w11 + WORD $0x53117d29 // lsr w9, w9, #17 + WORD $0x52800c8b // mov w11, #100 + WORD $0x1b0ba129 // msub w9, w9, w11, w8 + WORD $0x92403d29 // and x9, x9, #0xffff + WORD $0xd37ff929 // lsl x9, x9, #1 + WORD $0x5292cfeb // mov w11, #38527 + WORD $0x72a0130b // movk w11, #152, lsl #16 + WORD $0x6b0b003f // cmp w1, w11 + WORD $0x54000409 // b.ls LBB0_21 $128(%rip) +Lloh10: + WORD $0x10004a4b // adr x11, _Digits $2376(%rip) +Lloh11: + WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) + WORD $0x386a696b // ldrb w11, [x11, x10] + WORD $0x3900000b // strb w11, [x0] + WORD $0x5280002c // mov w12, #1 + WORD $0x1400001f // b LBB0_23 $124(%rip) +LBB0_16: + WORD $0x7101913f // cmp w9, #100 + WORD $0x540008a3 // b.lo LBB0_26 $276(%rip) + WORD $0x52800009 // mov w9, #0 +LBB0_18: +Lloh12: + WORD $0x1000492c // adr x12, _Digits $2340(%rip) +Lloh13: + WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) + WORD $0x8b2b418b // add x11, x12, w11, uxtw + WORD $0x3940056c // ldrb w12, [x11, #1] + WORD $0x1100052b // add w11, w9, #1 + WORD $0x3829490c // strb w12, [x8, w9, uxtw] +LBB0_19: +Lloh14: + WORD $0x10004869 // adr x9, _Digits $2316(%rip) +Lloh15: + WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) + WORD $0x386a6929 // ldrb w9, [x9, x10] + WORD $0x1100056c // add w12, w11, #1 + WORD $0x382b4909 // strb w9, [x8, w11, uxtw] +LBB0_20: +Lloh16: + WORD $0x100047c9 // adr x9, _Digits $2296(%rip) +Lloh17: + WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) + WORD $0x8b2a2129 // add x9, x9, w10, uxth + WORD $0x3940052a // ldrb w10, [x9, #1] + WORD $0x11000589 // add w9, w12, #1 + WORD $0x382c490a // strb w10, [x8, w12, uxtw] + WORD $0x11000528 // add w8, w9, #1 + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_21: + WORD $0x528847eb // mov w11, #16959 + WORD $0x72a001eb // movk w11, #15, lsl #16 + WORD $0x6b0b003f // cmp w1, w11 + WORD $0x540005e9 // b.ls LBB0_27 $188(%rip) + WORD $0x5280000c // mov w12, #0 +LBB0_23: +Lloh18: + WORD $0x100045cb // adr x11, _Digits $2232(%rip) +Lloh19: + WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) + WORD $0x8b2a416a // add x10, x11, w10, uxtw + WORD $0x3940054a // ldrb w10, [x10, #1] + WORD $0x1100058b // add w11, w12, #1 + WORD $0x382c480a // strb w10, [x0, w12, uxtw] +LBB0_24: +Lloh20: + WORD $0x1000450a // adr x10, _Digits $2208(%rip) +Lloh21: + WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) + WORD $0x3869694c // ldrb w12, [x10, x9] + WORD $0x1100056a // add w10, w11, #1 + WORD $0x382b480c // strb w12, [x0, w11, uxtw] +LBB0_25: + WORD $0x5284e20b // mov w11, #10000 + WORD $0x1b0b8508 // msub w8, w8, w11, w1 + WORD $0x53023d0b // ubfx w11, w8, #2, #14 + WORD $0x52828f6c // mov w12, #5243 + WORD $0x1b0c7d6b // mul w11, w11, w12 + WORD $0x53117d6b // lsr w11, w11, #17 + WORD $0x52800c8c // mov w12, #100 + WORD $0x1b0ca168 // msub w8, w11, w12, w8 + WORD $0x92403d08 // and x8, x8, #0xffff + WORD $0xd37ff908 // lsl x8, x8, #1 +Lloh22: + WORD $0x1000432c // adr x12, _Digits $2148(%rip) +Lloh23: + WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) + WORD $0x8b292189 // add x9, x12, w9, uxth + WORD $0x39400529 // ldrb w9, [x9, #1] + WORD $0x8b2a400d // add x13, x0, w10, uxtw + WORD $0x390001a9 // strb w9, [x13] + WORD $0x786b5989 // ldrh w9, [x12, w11, uxtw #1] + WORD $0x780011a9 // sturh w9, [x13, #1] + WORD $0x38686989 // ldrb w9, [x12, x8] + WORD $0x39000da9 // strb w9, [x13, #3] + WORD $0x927f3908 // and x8, x8, #0xfffe + WORD $0x8b080188 // add x8, x12, x8 + WORD $0x39400509 // ldrb w9, [x8, #1] + WORD $0x11001548 // add w8, w10, #5 + WORD $0x390011a9 // strb w9, [x13, #4] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_26: + WORD $0x5280000b // mov w11, #0 + WORD $0x5280000c // mov w12, #0 + WORD $0x7100293f // cmp w9, #10 + WORD $0x54fff802 // b.hs LBB0_19 $-256(%rip) + WORD $0x17ffffc4 // b LBB0_20 $-240(%rip) +LBB0_27: + WORD $0x5280000b // mov w11, #0 + WORD $0x5280000a // mov w10, #0 + WORD $0x53057c2c // lsr w12, w1, #5 + WORD $0x7130d59f // cmp w12, #3125 + WORD $0x54fffaa2 // b.hs LBB0_24 $-172(%rip) + WORD $0x17ffffd9 // b LBB0_25 $-156(%rip) +LBB0_28: + WORD $0x529c200a // mov w10, #57600 + WORD $0x72a0beaa // movk w10, #1525, lsl #16 + WORD $0xeb0a013f // cmp x9, x10 + WORD $0x54001662 // b.hs LBB0_39 $716(%rip) + WORD $0x5282eb2a // mov w10, #5977 + WORD $0x72ba36ea // movk w10, #53687, lsl #16 + WORD $0x9baa7d2a // umull x10, w9, w10 + WORD $0xd36dfd4a // lsr x10, x10, #45 + WORD $0x529bd06b // mov w11, #56963 + WORD $0x72a8636b // movk w11, #17179, lsl #16 + WORD $0x92407d2c // and x12, x9, #0xffffffff + WORD $0x9bab7d8b // umull x11, w12, w11 + WORD $0xd371fd6b // lsr x11, x11, #49 + WORD $0x927f316c // and x12, x11, #0x3ffe + WORD $0x53023d4b // ubfx w11, w10, #2, #14 + WORD $0x52828f6d // mov w13, #5243 + WORD $0x1b0d7d6b // mul w11, w11, w13 + WORD $0x53117d6b // lsr w11, w11, #17 + WORD $0x52800c8d // mov w13, #100 + WORD $0x1b0da96b // msub w11, w11, w13, w10 + WORD $0x92403d6b // and x11, x11, #0xffff + WORD $0xd37ff96b // lsl x11, x11, #1 + WORD $0x5292cfed // mov w13, #38527 + WORD $0x72a0130d // movk w13, #152, lsl #16 + WORD $0x6b0d013f // cmp w9, w13 + WORD $0x54000d29 // b.ls LBB0_33 $420(%rip) +Lloh24: + WORD $0x10003c2d // adr x13, _Digits $1924(%rip) +Lloh25: + WORD $0x910001ad // add x13, x13, _Digits@PAGEOFF $0(%rip) + WORD $0x386c69ad // ldrb w13, [x13, x12] + WORD $0x3900010d // strb w13, [x8] + WORD $0x5280002e // mov w14, #1 + WORD $0x14000068 // b LBB0_35 $416(%rip) +LBB0_31: + WORD $0xd2adf82a // mov x10, #1874919424 + WORD $0xf2d0de4a // movk x10, #34546, lsl #32 + WORD $0xf2e0046a // movk x10, #35, lsl #48 + WORD $0xeb0a003f // cmp x1, x10 + WORD $0x54001ea2 // b.hs LBB0_41 $980(%rip) + WORD $0xd299dfa9 // mov x9, #52989 + WORD $0xf2b08c29 // movk x9, #33889, lsl #16 + WORD $0xf2cee229 // movk x9, #30481, lsl #32 + WORD $0xf2f57989 // movk x9, #43980, lsl #48 + WORD $0x9bc97c29 // umulh x9, x1, x9 + WORD $0xd35afd29 // lsr x9, x9, #26 + WORD $0x1b088528 // msub w8, w9, w8, w1 + WORD $0x6f00e400 // movi.2d v0, #0000000000000000 + WORD $0x6f00e401 // movi.2d v1, #0000000000000000 + WORD $0x4e041d21 // mov.s v1[0], w9 + WORD $0x0ea12822 // xtn.2s v2, v1 + WORD $0x5282eb29 // mov w9, #5977 + WORD $0x72ba36e9 // movk w9, #53687, lsl #16 + WORD $0x0e040d23 // dup.2s v3, w9 + WORD $0x2ea3c042 // umull.2d v2, v2, v3 + WORD $0x6f530442 // ushr.2d v2, v2, #45 + WORD $0x0ea12844 // xtn.2s v4, v2 + WORD $0x5284e209 // mov w9, #10000 + WORD $0x0e040d25 // dup.2s v5, w9 + WORD $0x2ea5c084 // umull.2d v4, v4, v5 + WORD $0x6ea48421 // sub.4s v1, v1, v4 + WORD $0x4e413841 // zip1.8h v1, v2, v1 + WORD $0x4f425421 // shl.2d v1, v1, #2 + WORD $0x4e413821 // zip1.8h v1, v1, v1 + WORD $0x4e813821 // zip1.4s v1, v1, v1 +Lloh26: + WORD $0x10ffdee9 // adr x9, lCPI0_0 $-1060(%rip) +Lloh27: + WORD $0xfd400122 // ldr d2, [x9, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x2e62c024 // umull.4s v4, v1, v2 + WORD $0x6e014021 // ext.16b v1, v1, v1, #8 + WORD $0x2e62c021 // umull.4s v1, v1, v2 + WORD $0x4e415881 // uzp2.8h v1, v4, v1 +Lloh28: + WORD $0x10ffde69 // adr x9, lCPI0_1 $-1076(%rip) +Lloh29: + WORD $0xfd400124 // ldr d4, [x9, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x2e64c026 // umull.4s v6, v1, v4 + WORD $0x6e014021 // ext.16b v1, v1, v1, #8 + WORD $0x2e64c021 // umull.4s v1, v1, v4 + WORD $0x4e4158c1 // uzp2.8h v1, v6, v1 + WORD $0x4f008546 // movi.8h v6, #10 + WORD $0x4e669c27 // mul.8h v7, v1, v6 + WORD $0x4f5054e7 // shl.2d v7, v7, #16 + WORD $0x6e678421 // sub.8h v1, v1, v7 + WORD $0x4e041d00 // mov.s v0[0], w8 + WORD $0x0ea12807 // xtn.2s v7, v0 + WORD $0x2ea3c0e3 // umull.2d v3, v7, v3 + WORD $0x6f530463 // ushr.2d v3, v3, #45 + WORD $0x0ea12867 // xtn.2s v7, v3 + WORD $0x2ea5c0e5 // umull.2d v5, v7, v5 + WORD $0x6ea58400 // sub.4s v0, v0, v5 + WORD $0x4e403860 // zip1.8h v0, v3, v0 + WORD $0x4f425400 // shl.2d v0, v0, #2 + WORD $0x4e403800 // zip1.8h v0, v0, v0 + WORD $0x4e803800 // zip1.4s v0, v0, v0 + WORD $0x2e62c003 // umull.4s v3, v0, v2 + WORD $0x6e004000 // ext.16b v0, v0, v0, #8 + WORD $0x2e62c000 // umull.4s v0, v0, v2 + WORD $0x4e405860 // uzp2.8h v0, v3, v0 + WORD $0x2e64c002 // umull.4s v2, v0, v4 + WORD $0x6e004000 // ext.16b v0, v0, v0, #8 + WORD $0x2e64c000 // umull.4s v0, v0, v4 + WORD $0x4e405840 // uzp2.8h v0, v2, v0 + WORD $0x4e669c02 // mul.8h v2, v0, v6 + WORD $0x4f505442 // shl.2d v2, v2, #16 + WORD $0x6e628400 // sub.8h v0, v0, v2 + WORD $0x2e212821 // sqxtun.8b v1, v1 + WORD $0x6e212801 // sqxtun2.16b v1, v0 + WORD $0x4f01e600 // movi.16b v0, #48 + WORD $0x4e208420 // add.16b v0, v1, v0 + WORD $0x4e209821 // cmeq.16b v1, v1, #0 +Lloh30: + WORD $0x10ffda08 // adr x8, lCPI0_2 $-1216(%rip) +Lloh31: + WORD $0x3dc00102 // ldr q2, [x8, lCPI0_2@PAGEOFF] $0(%rip) + WORD $0x4e221c21 // and.16b v1, v1, v2 +Lloh32: + WORD $0x10ffda28 // adr x8, lCPI0_3 $-1212(%rip) +Lloh33: + WORD $0x3dc00102 // ldr q2, [x8, lCPI0_3@PAGEOFF] $0(%rip) + WORD $0x4e020021 // tbl.16b v1, { v1 }, v2 + WORD $0x4e71b821 // addv.8h h1, v1 + WORD $0x1e260028 // fmov w8, s1 + WORD $0x2a2803e8 // mvn w8, w8 + WORD $0x32114108 // orr w8, w8, #0xffff8000 + WORD $0x5ac00108 // rbit w8, w8 + WORD $0x5ac01108 // clz w8, w8 +Lloh34: + WORD $0x10003709 // adr x9, _VecShiftShuffles $1760(%rip) +Lloh35: + WORD $0x91000129 // add x9, x9, _VecShiftShuffles@PAGEOFF $0(%rip) + WORD $0x3ce85921 // ldr q1, [x9, w8, uxtw #4] + WORD $0x4f04e5e2 // movi.16b v2, #143 + WORD $0x4e221c21 // and.16b v1, v1, v2 + WORD $0x4e010000 // tbl.16b v0, { v0 }, v1 + WORD $0x3d800000 // str q0, [x0] + WORD $0x52800209 // mov w9, #16 + WORD $0x4b080128 // sub w8, w9, w8 + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_33: + WORD $0x528847ed // mov w13, #16959 + WORD $0x72a001ed // movk w13, #15, lsl #16 + WORD $0x6b0d013f // cmp w9, w13 + WORD $0x54000569 // b.ls LBB0_38 $172(%rip) + WORD $0x5280000e // mov w14, #0 +LBB0_35: +Lloh36: + WORD $0x10002e8d // adr x13, _Digits $1488(%rip) +Lloh37: + WORD $0x910001ad // add x13, x13, _Digits@PAGEOFF $0(%rip) + WORD $0x8b2c41ac // add x12, x13, w12, uxtw + WORD $0x3940058c // ldrb w12, [x12, #1] + WORD $0x110005cd // add w13, w14, #1 + WORD $0x382e490c // strb w12, [x8, w14, uxtw] +LBB0_36: +Lloh38: + WORD $0x10002dcc // adr x12, _Digits $1464(%rip) +Lloh39: + WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) + WORD $0x386b698e // ldrb w14, [x12, x11] + WORD $0x110005ac // add w12, w13, #1 + WORD $0x382d490e // strb w14, [x8, w13, uxtw] +LBB0_37: + WORD $0x5284e20d // mov w13, #10000 + WORD $0x1b0da549 // msub w9, w10, w13, w9 + WORD $0x53023d2a // ubfx w10, w9, #2, #14 + WORD $0x52828f6d // mov w13, #5243 + WORD $0x1b0d7d4a // mul w10, w10, w13 + WORD $0x53117d4a // lsr w10, w10, #17 + WORD $0x52800c8d // mov w13, #100 + WORD $0x1b0da549 // msub w9, w10, w13, w9 + WORD $0x92403d29 // and x9, x9, #0xffff + WORD $0xd37ff929 // lsl x9, x9, #1 +Lloh40: + WORD $0x10002bed // adr x13, _Digits $1404(%rip) +Lloh41: + WORD $0x910001ad // add x13, x13, _Digits@PAGEOFF $0(%rip) + WORD $0x8b2b21ab // add x11, x13, w11, uxth + WORD $0x3940056b // ldrb w11, [x11, #1] + WORD $0x8b2c4108 // add x8, x8, w12, uxtw + WORD $0x3900010b // strb w11, [x8] + WORD $0x786a59aa // ldrh w10, [x13, w10, uxtw #1] + WORD $0x7800110a // sturh w10, [x8, #1] + WORD $0x386969aa // ldrb w10, [x13, x9] + WORD $0x39000d0a // strb w10, [x8, #3] + WORD $0x927f3929 // and x9, x9, #0xfffe + WORD $0x8b0901a9 // add x9, x13, x9 + WORD $0x3940052a // ldrb w10, [x9, #1] + WORD $0x11001589 // add w9, w12, #5 + WORD $0x3900110a // strb w10, [x8, #4] + WORD $0x11000528 // add w8, w9, #1 + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_38: + WORD $0x5280000d // mov w13, #0 + WORD $0x5280000c // mov w12, #0 + WORD $0x53057d2e // lsr w14, w9, #5 + WORD $0x7130d5df // cmp w14, #3125 + WORD $0x54fffb22 // b.hs LBB0_36 $-156(%rip) + WORD $0x17ffffdd // b LBB0_37 $-140(%rip) +LBB0_39: + WORD $0xd2adf82c // mov x12, #1874919424 + WORD $0xf2d0de4c // movk x12, #34546, lsl #32 + WORD $0xf2e0046c // movk x12, #35, lsl #48 + WORD $0xeb0c013f // cmp x9, x12 + WORD $0x540019e2 // b.hs LBB0_47 $828(%rip) + WORD $0xd299dfab // mov x11, #52989 + WORD $0xf2b08c2b // movk x11, #33889, lsl #16 + WORD $0xf2cee22b // movk x11, #30481, lsl #32 + WORD $0xf2f5798b // movk x11, #43980, lsl #48 + WORD $0x9bcb7d2b // umulh x11, x9, x11 + WORD $0xd35afd6b // lsr x11, x11, #26 + WORD $0x1b0aa569 // msub w9, w11, w10, w9 + WORD $0x6f00e400 // movi.2d v0, #0000000000000000 + WORD $0x6f00e401 // movi.2d v1, #0000000000000000 + WORD $0x4e041d61 // mov.s v1[0], w11 + WORD $0x0ea12822 // xtn.2s v2, v1 + WORD $0x5282eb2a // mov w10, #5977 + WORD $0x72ba36ea // movk w10, #53687, lsl #16 + WORD $0x0e040d43 // dup.2s v3, w10 + WORD $0x2ea3c042 // umull.2d v2, v2, v3 + WORD $0x6f530442 // ushr.2d v2, v2, #45 + WORD $0x0ea12844 // xtn.2s v4, v2 + WORD $0x5284e20a // mov w10, #10000 + WORD $0x0e040d45 // dup.2s v5, w10 + WORD $0x2ea5c084 // umull.2d v4, v4, v5 + WORD $0x6ea48421 // sub.4s v1, v1, v4 + WORD $0x4e413841 // zip1.8h v1, v2, v1 + WORD $0x4f425421 // shl.2d v1, v1, #2 + WORD $0x4e413821 // zip1.8h v1, v1, v1 + WORD $0x4e813821 // zip1.4s v1, v1, v1 +Lloh42: + WORD $0x10ffcc2a // adr x10, lCPI0_0 $-1660(%rip) +Lloh43: + WORD $0xfd400142 // ldr d2, [x10, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x2e62c024 // umull.4s v4, v1, v2 + WORD $0x6e014021 // ext.16b v1, v1, v1, #8 + WORD $0x2e62c021 // umull.4s v1, v1, v2 + WORD $0x4e415881 // uzp2.8h v1, v4, v1 +Lloh44: + WORD $0x10ffcbaa // adr x10, lCPI0_1 $-1676(%rip) +Lloh45: + WORD $0xfd400144 // ldr d4, [x10, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x2e64c026 // umull.4s v6, v1, v4 + WORD $0x6e014021 // ext.16b v1, v1, v1, #8 + WORD $0x2e64c021 // umull.4s v1, v1, v4 + WORD $0x4e4158c1 // uzp2.8h v1, v6, v1 + WORD $0x4f008546 // movi.8h v6, #10 + WORD $0x4e669c27 // mul.8h v7, v1, v6 + WORD $0x4f5054e7 // shl.2d v7, v7, #16 + WORD $0x6e678421 // sub.8h v1, v1, v7 + WORD $0x4e041d20 // mov.s v0[0], w9 + WORD $0x0ea12807 // xtn.2s v7, v0 + WORD $0x2ea3c0e3 // umull.2d v3, v7, v3 + WORD $0x6f530463 // ushr.2d v3, v3, #45 + WORD $0x0ea12867 // xtn.2s v7, v3 + WORD $0x2ea5c0e5 // umull.2d v5, v7, v5 + WORD $0x6ea58400 // sub.4s v0, v0, v5 + WORD $0x4e403860 // zip1.8h v0, v3, v0 + WORD $0x4f425400 // shl.2d v0, v0, #2 + WORD $0x4e403800 // zip1.8h v0, v0, v0 + WORD $0x4e803800 // zip1.4s v0, v0, v0 + WORD $0x2e62c003 // umull.4s v3, v0, v2 + WORD $0x6e004000 // ext.16b v0, v0, v0, #8 + WORD $0x2e62c000 // umull.4s v0, v0, v2 + WORD $0x4e405860 // uzp2.8h v0, v3, v0 + WORD $0x2e64c002 // umull.4s v2, v0, v4 + WORD $0x6e004000 // ext.16b v0, v0, v0, #8 + WORD $0x2e64c000 // umull.4s v0, v0, v4 + WORD $0x4e405840 // uzp2.8h v0, v2, v0 + WORD $0x4e669c02 // mul.8h v2, v0, v6 + WORD $0x4f505442 // shl.2d v2, v2, #16 + WORD $0x6e628400 // sub.8h v0, v0, v2 + WORD $0x2e212821 // sqxtun.8b v1, v1 + WORD $0x6e212801 // sqxtun2.16b v1, v0 + WORD $0x4f01e600 // movi.16b v0, #48 + WORD $0x4e208420 // add.16b v0, v1, v0 + WORD $0x4e209821 // cmeq.16b v1, v1, #0 +Lloh46: + WORD $0x10ffc749 // adr x9, lCPI0_2 $-1816(%rip) +Lloh47: + WORD $0x3dc00122 // ldr q2, [x9, lCPI0_2@PAGEOFF] $0(%rip) + WORD $0x4e221c21 // and.16b v1, v1, v2 +Lloh48: + WORD $0x10ffc769 // adr x9, lCPI0_3 $-1812(%rip) +Lloh49: + WORD $0x3dc00122 // ldr q2, [x9, lCPI0_3@PAGEOFF] $0(%rip) + WORD $0x4e020021 // tbl.16b v1, { v1 }, v2 + WORD $0x4e71b821 // addv.8h h1, v1 + WORD $0x1e260029 // fmov w9, s1 + WORD $0x2a2903e9 // mvn w9, w9 + WORD $0x32114129 // orr w9, w9, #0xffff8000 + WORD $0x5ac00129 // rbit w9, w9 + WORD $0x5ac01129 // clz w9, w9 +Lloh50: + WORD $0x1000244a // adr x10, _VecShiftShuffles $1160(%rip) +Lloh51: + WORD $0x9100014a // add x10, x10, _VecShiftShuffles@PAGEOFF $0(%rip) + WORD $0x3ce95941 // ldr q1, [x10, w9, uxtw #4] + WORD $0x4f04e5e2 // movi.16b v2, #143 + WORD $0x4e221c21 // and.16b v1, v1, v2 + WORD $0x4e010000 // tbl.16b v0, { v0 }, v1 + WORD $0x3d800100 // str q0, [x8] + WORD $0x52800208 // mov w8, #16 + WORD $0x4b090109 // sub w9, w8, w9 + WORD $0x11000528 // add w8, w9, #1 + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_41: + WORD $0xd28f0ae9 // mov x9, #30807 + WORD $0xf2b62269 // movk x9, #45331, lsl #16 + WORD $0xf2cca5e9 // movk x9, #25903, lsl #32 + WORD $0xf2e734a9 // movk x9, #14757, lsl #48 + WORD $0x9bc97c29 // umulh x9, x1, x9 + WORD $0xd373fd2b // lsr x11, x9, #51 + WORD $0x7100257f // cmp w11, #9 + WORD $0x540000a8 // b.hi LBB0_43 $20(%rip) + WORD $0x1100c169 // add w9, w11, #48 + WORD $0x39000009 // strb w9, [x0] + WORD $0x52800029 // mov w9, #1 + WORD $0x1400001b // b LBB0_46 $108(%rip) +LBB0_43: + WORD $0x71018d7f // cmp w11, #99 + WORD $0x540000e8 // b.hi LBB0_45 $28(%rip) +Lloh52: + WORD $0x10001a89 // adr x9, _Digits $848(%rip) +Lloh53: + WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) + WORD $0x786b5929 // ldrh w9, [x9, w11, uxtw #1] + WORD $0x79000009 // strh w9, [x0] + WORD $0x52800049 // mov w9, #2 + WORD $0x14000013 // b LBB0_46 $76(%rip) +LBB0_45: + WORD $0x5280a3e9 // mov w9, #1311 + WORD $0x1b097d69 // mul w9, w11, w9 + WORD $0x53117d29 // lsr w9, w9, #17 + WORD $0x321c052c // orr w12, w9, #0x30 + WORD $0x3900000c // strb w12, [x0] + WORD $0x52800c8c // mov w12, #100 + WORD $0x1b0cad29 // msub w9, w9, w12, w11 + WORD $0x92403d29 // and x9, x9, #0xffff + WORD $0xd37ff929 // lsl x9, x9, #1 +Lloh54: + WORD $0x100018ac // adr x12, _Digits $788(%rip) +Lloh55: + WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) + WORD $0x3869698d // ldrb w13, [x12, x9] + WORD $0x3900040d // strb w13, [x0, #1] + WORD $0x927f3929 // and x9, x9, #0xfffe + WORD $0x8b090189 // add x9, x12, x9 + WORD $0x39400529 // ldrb w9, [x9, #1] + WORD $0x39000809 // strb w9, [x0, #2] + WORD $0x52800069 // mov w9, #3 +LBB0_46: + WORD $0x9b0a856a // msub x10, x11, x10, x1 + WORD $0xd299dfab // mov x11, #52989 + WORD $0xf2b08c2b // movk x11, #33889, lsl #16 + WORD $0xf2cee22b // movk x11, #30481, lsl #32 + WORD $0xf2f5798b // movk x11, #43980, lsl #48 + WORD $0x9bcb7d4b // umulh x11, x10, x11 + WORD $0xd35afd6b // lsr x11, x11, #26 + WORD $0x6f00e400 // movi.2d v0, #0000000000000000 + WORD $0x6f00e401 // movi.2d v1, #0000000000000000 + WORD $0x4e041d61 // mov.s v1[0], w11 + WORD $0x5282eb2c // mov w12, #5977 + WORD $0x72ba36ec // movk w12, #53687, lsl #16 + WORD $0x0e040d82 // dup.2s v2, w12 + WORD $0x0ea12823 // xtn.2s v3, v1 + WORD $0x2ea2c063 // umull.2d v3, v3, v2 + WORD $0x6f530463 // ushr.2d v3, v3, #45 + WORD $0x5284e20c // mov w12, #10000 + WORD $0x0e040d84 // dup.2s v4, w12 + WORD $0x0ea12865 // xtn.2s v5, v3 + WORD $0x2ea4c0a5 // umull.2d v5, v5, v4 + WORD $0x6ea58421 // sub.4s v1, v1, v5 + WORD $0x4e413861 // zip1.8h v1, v3, v1 + WORD $0x4f425421 // shl.2d v1, v1, #2 + WORD $0x4e413821 // zip1.8h v1, v1, v1 + WORD $0x4e813821 // zip1.4s v1, v1, v1 +Lloh56: + WORD $0x10ffbbac // adr x12, lCPI0_0 $-2188(%rip) +Lloh57: + WORD $0xfd400183 // ldr d3, [x12, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x2e63c025 // umull.4s v5, v1, v3 + WORD $0x6e014021 // ext.16b v1, v1, v1, #8 + WORD $0x2e63c021 // umull.4s v1, v1, v3 + WORD $0x4e4158a1 // uzp2.8h v1, v5, v1 +Lloh58: + WORD $0x10ffbb2c // adr x12, lCPI0_1 $-2204(%rip) +Lloh59: + WORD $0xfd400185 // ldr d5, [x12, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x2e65c026 // umull.4s v6, v1, v5 + WORD $0x6e014021 // ext.16b v1, v1, v1, #8 + WORD $0x2e65c021 // umull.4s v1, v1, v5 + WORD $0x4e4158c1 // uzp2.8h v1, v6, v1 + WORD $0x4f008546 // movi.8h v6, #10 + WORD $0x4e669c27 // mul.8h v7, v1, v6 + WORD $0x4f5054e7 // shl.2d v7, v7, #16 + WORD $0x6e678421 // sub.8h v1, v1, v7 + WORD $0x1b08a968 // msub w8, w11, w8, w10 + WORD $0x4e041d00 // mov.s v0[0], w8 + WORD $0x0ea12807 // xtn.2s v7, v0 + WORD $0x2ea2c0e2 // umull.2d v2, v7, v2 + WORD $0x6f530442 // ushr.2d v2, v2, #45 + WORD $0x0ea12847 // xtn.2s v7, v2 + WORD $0x2ea4c0e4 // umull.2d v4, v7, v4 + WORD $0x6ea48400 // sub.4s v0, v0, v4 + WORD $0x4e403840 // zip1.8h v0, v2, v0 + WORD $0x4f425400 // shl.2d v0, v0, #2 + WORD $0x4e403800 // zip1.8h v0, v0, v0 + WORD $0x4e803800 // zip1.4s v0, v0, v0 + WORD $0x2e63c002 // umull.4s v2, v0, v3 + WORD $0x6e004000 // ext.16b v0, v0, v0, #8 + WORD $0x2e63c000 // umull.4s v0, v0, v3 + WORD $0x4e405840 // uzp2.8h v0, v2, v0 + WORD $0x2e65c002 // umull.4s v2, v0, v5 + WORD $0x6e004000 // ext.16b v0, v0, v0, #8 + WORD $0x2e65c000 // umull.4s v0, v0, v5 + WORD $0x4e405840 // uzp2.8h v0, v2, v0 + WORD $0x4e669c02 // mul.8h v2, v0, v6 + WORD $0x4f505442 // shl.2d v2, v2, #16 + WORD $0x6e628400 // sub.8h v0, v0, v2 + WORD $0x2e212821 // sqxtun.8b v1, v1 + WORD $0x6e212801 // sqxtun2.16b v1, v0 + WORD $0x4f01e600 // movi.16b v0, #48 + WORD $0x4e208420 // add.16b v0, v1, v0 + WORD $0x3ca94800 // str q0, [x0, w9, uxtw] + WORD $0x321c0128 // orr w8, w9, #0x10 + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_47: + WORD $0xd28f0aeb // mov x11, #30807 + WORD $0xf2b6226b // movk x11, #45331, lsl #16 + WORD $0xf2cca5eb // movk x11, #25903, lsl #32 + WORD $0xf2e734ab // movk x11, #14757, lsl #48 + WORD $0x9bcb7d2b // umulh x11, x9, x11 + WORD $0xd373fd6d // lsr x13, x11, #51 + WORD $0x710025bf // cmp w13, #9 + WORD $0x540000a8 // b.hi LBB0_49 $20(%rip) + WORD $0x1100c1ab // add w11, w13, #48 + WORD $0x3900010b // strb w11, [x8] + WORD $0x5280002b // mov w11, #1 + WORD $0x1400001c // b LBB0_52 $112(%rip) +LBB0_49: + WORD $0x71018dbf // cmp w13, #99 + WORD $0x540000e8 // b.hi LBB0_51 $28(%rip) +Lloh60: + WORD $0x10000c8b // adr x11, _Digits $400(%rip) +Lloh61: + WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) + WORD $0x786d596b // ldrh w11, [x11, w13, uxtw #1] + WORD $0x7800100b // sturh w11, [x0, #1] + WORD $0x5280004b // mov w11, #2 + WORD $0x14000014 // b LBB0_52 $80(%rip) +LBB0_51: + WORD $0x53023dab // ubfx w11, w13, #2, #14 + WORD $0x52828f6e // mov w14, #5243 + WORD $0x1b0e7d6b // mul w11, w11, w14 + WORD $0x53117d6b // lsr w11, w11, #17 + WORD $0x321c056e // orr w14, w11, #0x30 + WORD $0x3900040e // strb w14, [x0, #1] + WORD $0x52800c8e // mov w14, #100 + WORD $0x1b0eb56b // msub w11, w11, w14, w13 + WORD $0x92403d6b // and x11, x11, #0xffff + WORD $0xd37ff96b // lsl x11, x11, #1 +Lloh62: + WORD $0x10000a8e // adr x14, _Digits $336(%rip) +Lloh63: + WORD $0x910001ce // add x14, x14, _Digits@PAGEOFF $0(%rip) + WORD $0x386b69cf // ldrb w15, [x14, x11] + WORD $0x3900080f // strb w15, [x0, #2] + WORD $0x927f396b // and x11, x11, #0xfffe + WORD $0x8b0b01cb // add x11, x14, x11 + WORD $0x3940056b // ldrb w11, [x11, #1] + WORD $0x39000c0b // strb w11, [x0, #3] + WORD $0x5280006b // mov w11, #3 +LBB0_52: + WORD $0x9b0ca5a9 // msub x9, x13, x12, x9 + WORD $0xd299dfac // mov x12, #52989 + WORD $0xf2b08c2c // movk x12, #33889, lsl #16 + WORD $0xf2cee22c // movk x12, #30481, lsl #32 + WORD $0xf2f5798c // movk x12, #43980, lsl #48 + WORD $0x9bcc7d2c // umulh x12, x9, x12 + WORD $0xd35afd8c // lsr x12, x12, #26 + WORD $0x6f00e400 // movi.2d v0, #0000000000000000 + WORD $0x6f00e401 // movi.2d v1, #0000000000000000 + WORD $0x4e041d81 // mov.s v1[0], w12 + WORD $0x5282eb2d // mov w13, #5977 + WORD $0x72ba36ed // movk w13, #53687, lsl #16 + WORD $0x0e040da2 // dup.2s v2, w13 + WORD $0x0ea12823 // xtn.2s v3, v1 + WORD $0x2ea2c063 // umull.2d v3, v3, v2 + WORD $0x6f530463 // ushr.2d v3, v3, #45 + WORD $0x5284e20d // mov w13, #10000 + WORD $0x0e040da4 // dup.2s v4, w13 + WORD $0x0ea12865 // xtn.2s v5, v3 + WORD $0x2ea4c0a5 // umull.2d v5, v5, v4 + WORD $0x6ea58421 // sub.4s v1, v1, v5 + WORD $0x4e413861 // zip1.8h v1, v3, v1 + WORD $0x4f425421 // shl.2d v1, v1, #2 + WORD $0x4e413821 // zip1.8h v1, v1, v1 + WORD $0x4e813821 // zip1.4s v1, v1, v1 +Lloh64: + WORD $0x10ffad8d // adr x13, lCPI0_0 $-2640(%rip) +Lloh65: + WORD $0xfd4001a3 // ldr d3, [x13, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x2e63c025 // umull.4s v5, v1, v3 + WORD $0x6e014021 // ext.16b v1, v1, v1, #8 + WORD $0x2e63c021 // umull.4s v1, v1, v3 + WORD $0x4e4158a1 // uzp2.8h v1, v5, v1 +Lloh66: + WORD $0x10ffad0d // adr x13, lCPI0_1 $-2656(%rip) +Lloh67: + WORD $0xfd4001a5 // ldr d5, [x13, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x2e65c026 // umull.4s v6, v1, v5 + WORD $0x6e014021 // ext.16b v1, v1, v1, #8 + WORD $0x2e65c021 // umull.4s v1, v1, v5 + WORD $0x4e4158c1 // uzp2.8h v1, v6, v1 + WORD $0x4f008546 // movi.8h v6, #10 + WORD $0x4e669c27 // mul.8h v7, v1, v6 + WORD $0x4f5054e7 // shl.2d v7, v7, #16 + WORD $0x6e678421 // sub.8h v1, v1, v7 + WORD $0x1b0aa589 // msub w9, w12, w10, w9 + WORD $0x4e041d20 // mov.s v0[0], w9 + WORD $0x0ea12807 // xtn.2s v7, v0 + WORD $0x2ea2c0e2 // umull.2d v2, v7, v2 + WORD $0x6f530442 // ushr.2d v2, v2, #45 + WORD $0x0ea12847 // xtn.2s v7, v2 + WORD $0x2ea4c0e4 // umull.2d v4, v7, v4 + WORD $0x6ea48400 // sub.4s v0, v0, v4 + WORD $0x4e403840 // zip1.8h v0, v2, v0 + WORD $0x4f425400 // shl.2d v0, v0, #2 + WORD $0x4e403800 // zip1.8h v0, v0, v0 + WORD $0x4e803800 // zip1.4s v0, v0, v0 + WORD $0x2e63c002 // umull.4s v2, v0, v3 + WORD $0x6e004000 // ext.16b v0, v0, v0, #8 + WORD $0x2e63c000 // umull.4s v0, v0, v3 + WORD $0x4e405840 // uzp2.8h v0, v2, v0 + WORD $0x2e65c002 // umull.4s v2, v0, v5 + WORD $0x6e004000 // ext.16b v0, v0, v0, #8 + WORD $0x2e65c000 // umull.4s v0, v0, v5 + WORD $0x4e405840 // uzp2.8h v0, v2, v0 + WORD $0x4e669c02 // mul.8h v2, v0, v6 + WORD $0x4f505442 // shl.2d v2, v2, #16 + WORD $0x6e628400 // sub.8h v0, v0, v2 + WORD $0x2e212821 // sqxtun.8b v1, v1 + WORD $0x6e212801 // sqxtun2.16b v1, v0 + WORD $0x4f01e600 // movi.16b v0, #48 + WORD $0x4e208420 // add.16b v0, v1, v0 + WORD $0x3cab4900 // str q0, [x8, w11, uxtw] + WORD $0x321c0169 // orr w9, w11, #0x10 + WORD $0x11000528 // add w8, w9, #1 + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +_Digits: + WORD $0x31303030 // .ascii 4, '0001020304050607' + WORD $0x33303230 // .ascii 4, '0203040506070809' + WORD $0x35303430 // .ascii 4, '0405060708091011' + WORD $0x37303630 // .ascii 4, '0607080910111213' + WORD $0x39303830 // .ascii 4, '0809101112131415' + WORD $0x31313031 // .ascii 4, '1011121314151617' + WORD $0x33313231 // .ascii 4, '1213141516171819' + WORD $0x35313431 // .ascii 4, '1415161718192021' + WORD $0x37313631 // .ascii 4, '1617181920212223' + WORD $0x39313831 // .ascii 4, '1819202122232425' + WORD $0x31323032 // .ascii 4, '2021222324252627' + WORD $0x33323232 // .ascii 4, '2223242526272829' + WORD $0x35323432 // .ascii 4, '2425262728293031' + WORD $0x37323632 // .ascii 4, '2627282930313233' + WORD $0x39323832 // .ascii 4, '2829303132333435' + WORD $0x31333033 // .ascii 4, '3031323334353637' + WORD $0x33333233 // .ascii 4, '3233343536373839' + WORD $0x35333433 // .ascii 4, '3435363738394041' + WORD $0x37333633 // .ascii 4, '3637383940414243' + WORD $0x39333833 // .ascii 4, '3839404142434445' + WORD $0x31343034 // .ascii 4, '4041424344454647' + WORD $0x33343234 // .ascii 4, '4243444546474849' + WORD $0x35343434 // .ascii 4, '4445464748495051' + WORD $0x37343634 // .ascii 4, '4647484950515253' + WORD $0x39343834 // .ascii 4, '4849505152535455' + WORD $0x31353035 // .ascii 4, '5051525354555657' + WORD $0x33353235 // .ascii 4, '5253545556575859' + WORD $0x35353435 // .ascii 4, '5455565758596061' + WORD $0x37353635 // .ascii 4, '5657585960616263' + WORD $0x39353835 // .ascii 4, '5859606162636465' + WORD $0x31363036 // .ascii 4, '6061626364656667' + WORD $0x33363236 // .ascii 4, '6263646566676869' + WORD $0x35363436 // .ascii 4, '6465666768697071' + WORD $0x37363636 // .ascii 4, '6667686970717273' + WORD $0x39363836 // .ascii 4, '6869707172737475' + WORD $0x31373037 // .ascii 4, '7071727374757677' + WORD $0x33373237 // .ascii 4, '7273747576777879' + WORD $0x35373437 // .ascii 4, '7475767778798081' + WORD $0x37373637 // .ascii 4, '7677787980818283' + WORD $0x39373837 // .ascii 4, '7879808182838485' + WORD $0x31383038 // .ascii 4, '8081828384858687' + WORD $0x33383238 // .ascii 4, '8283848586878889' + WORD $0x35383438 // .ascii 4, '8485868788899091' + WORD $0x37383638 // .ascii 4, '8687888990919293' + WORD $0x39383838 // .ascii 4, '8889909192939495' + WORD $0x31393039 // .ascii 4, '9091929394959697' + WORD $0x33393239 // .ascii 4, '9293949596979899' + WORD $0x35393439 // .ascii 4, '949596979899' + WORD $0x37393639 // .ascii 4, '96979899' + WORD $0x39393839 // .ascii 4, '9899' + // .p2align 4, 0x00 +_VecShiftShuffles: + WORD $0x03020100 // .ascii 4, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' + WORD $0x07060504 // .ascii 4, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x01\x02\x03\x04' + WORD $0x0b0a0908 // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\x01\x02\x03\x04\x05\x06\x07\x08' + WORD $0x0f0e0d0c // .ascii 4, '\x0c\r\x0e\x0f\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c' + WORD $0x04030201 // .ascii 4, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' + WORD $0x08070605 // .ascii 4, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\x02\x03\x04\x05' + WORD $0x0c0b0a09 // .ascii 4, '\t\n\x0b\x0c\r\x0e\x0f\xff\x02\x03\x04\x05\x06\x07\x08\t' + WORD $0xff0f0e0d // .ascii 4, '\r\x0e\x0f\xff\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r' + WORD $0x05040302 // .ascii 4, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' + WORD $0x09080706 // .ascii 4, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\x03\x04\x05\x06' + WORD $0x0d0c0b0a // .ascii 4, '\n\x0b\x0c\r\x0e\x0f\xff\xff\x03\x04\x05\x06\x07\x08\t\n' + WORD $0xffff0f0e // .ascii 4, '\x0e\x0f\xff\xff\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e' + WORD $0x06050403 // .ascii 4, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' + WORD $0x0a090807 // .ascii 4, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\x04\x05\x06\x07' + WORD $0x0e0d0c0b // .ascii 4, '\x0b\x0c\r\x0e\x0f\xff\xff\xff\x04\x05\x06\x07\x08\t\n\x0b' + WORD $0xffffff0f // .ascii 4, '\x0f\xff\xff\xff\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' + WORD $0x07060504 // .ascii 4, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' + WORD $0x0b0a0908 // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\x05\x06\x07\x08' + WORD $0x0f0e0d0c // .ascii 4, '\x0c\r\x0e\x0f\xff\xff\xff\xff\x05\x06\x07\x08\t\n\x0b\x0c' + WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' + WORD $0x08070605 // .ascii 4, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff' + WORD $0x0c0b0a09 // .ascii 4, '\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\x06\x07\x08\t' + WORD $0xff0f0e0d // .ascii 4, '\r\x0e\x0f\xff\xff\xff\xff\xff\x06\x07\x08\t\n\x0b\x0c\r' + WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' + WORD $0x09080706 // .ascii 4, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff' + WORD $0x0d0c0b0a // .ascii 4, '\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\x07\x08\t\n' + WORD $0xffff0f0e // .ascii 4, '\x0e\x0f\xff\xff\xff\xff\xff\xff\x07\x08\t\n\x0b\x0c\r\x0e' + WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' + WORD $0x0a090807 // .ascii 4, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff' + WORD $0x0e0d0c0b // .ascii 4, '\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\x08\t\n\x0b' + WORD $0xffffff0f // .ascii 4, '\x0f\xff\xff\xff\xff\xff\xff\xff\x08\t\n\x0b\x0c\r\x0e\x0f' + WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' + WORD $0x0b0a0908 // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' + WORD $0x0f0e0d0c // .ascii 4, '\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' + WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\xff\xff\xff\xff' + WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff' + +TEXT ·__i64toa(SB), NOSPLIT, $0-24 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $96, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_i64toa: + MOVD out+0(FP), R0 + MOVD val+8(FP), R1 + MOVD ·_subr__i64toa(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+16(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_subr_arm64.go new file mode 100644 index 0000000..7c73cb3 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/i64toa_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __i64toa_entry__() uintptr + +var ( + _subr__i64toa uintptr = __i64toa_entry__() + 48 +) + +const ( + _stack__i64toa = 32 +) + +var ( + _ = _subr__i64toa +) + +const ( + _ = _stack__i64toa +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/lspace_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/lspace_arm64.go new file mode 100644 index 0000000..e6af971 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/lspace_arm64.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + `unsafe` + + // `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func lspace(sp unsafe.Pointer, nb int, off int) (ret int) { + return __lspace(sp, nb, off) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __lspace(sp unsafe.Pointer, nb int, off int) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/lspace_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/lspace_arm64.s new file mode 100644 index 0000000..c02f087 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/lspace_arm64.s @@ -0,0 +1,68 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__lspace_entry__(SB), NOSPLIT, $16 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 2, 0x00 +_lspace: + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xeb02003f // cmp x1, x2 + WORD $0x54000061 // b.ne LBB0_2 $12(%rip) + WORD $0x8b020008 // add x8, x0, x2 + WORD $0x1400000e // b LBB0_5 $56(%rip) +LBB0_2: + WORD $0x8b010008 // add x8, x0, x1 + WORD $0x52800029 // mov w9, #1 + WORD $0xd284c00a // mov x10, #9728 + WORD $0xf2c0002a // movk x10, #1, lsl #32 +LBB0_3: + WORD $0x3862680b // ldrb w11, [x0, x2] + WORD $0x7100817f // cmp w11, #32 + WORD $0x9acb212b // lsl x11, x9, x11 + WORD $0x8a0a016b // and x11, x11, x10 + WORD $0xfa409964 // ccmp x11, #0, #4, ls + WORD $0x540000a0 // b.eq LBB0_6 $20(%rip) + WORD $0x91000442 // add x2, x2, #1 + WORD $0xeb02003f // cmp x1, x2 + WORD $0x54ffff01 // b.ne LBB0_3 $-32(%rip) +LBB0_5: + WORD $0xcb000102 // sub x2, x8, x0 +LBB0_6: + WORD $0xaa0203e0 // mov x0, x2 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret + +TEXT ·__lspace(SB), NOSPLIT, $0-32 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $96, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_lspace: + MOVD sp+0(FP), R0 + MOVD nb+8(FP), R1 + MOVD off+16(FP), R2 + MOVD ·_subr__lspace(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+24(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/lspace_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/lspace_subr_arm64.go new file mode 100644 index 0000000..e8dc6d5 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/lspace_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __lspace_entry__() uintptr + +var ( + _subr__lspace uintptr = __lspace_entry__() + 0 +) + +const ( + _stack__lspace = 32 +) + +var ( + _ = _subr__lspace +) + +const ( + _ = _stack__lspace +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/avx/native_export_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/native_export_arm64.go similarity index 98% rename from vendor/github.com/bytedance/sonic/internal/native/avx/native_export_amd64.go rename to vendor/github.com/bytedance/sonic/internal/native/neon/native_export_arm64.go index 1ca7f57..8e53bf5 100644 --- a/vendor/github.com/bytedance/sonic/internal/native/avx/native_export_amd64.go +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/native_export_arm64.go @@ -16,7 +16,7 @@ * limitations under the License. */ -package avx +package neon var ( S_f64toa = _subr__f64toa diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/quote_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/quote_arm64.go new file mode 100644 index 0000000..b6ca0b1 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/quote_arm64.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + `unsafe` + + // `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int) { + return __quote(sp, nb, dp, dn, flags) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/quote_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/quote_arm64.s new file mode 100644 index 0000000..0e19a9b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/quote_arm64.s @@ -0,0 +1,2563 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__quote_entry__(SB), NOSPLIT, $16 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 4, 0x00 +lCPI0_0: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_1: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_quote: + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xf9400069 // ldr x9, [x3] +Lloh0: + WORD $0x1000ad68 // adr x8, __DoubleQuoteTab $5548(%rip) +Lloh1: + WORD $0x91000108 // add x8, x8, __DoubleQuoteTab@PAGEOFF $0(%rip) +Lloh2: + WORD $0x10002d2a // adr x10, __SingleQuoteTab $1444(%rip) +Lloh3: + WORD $0x9100014a // add x10, x10, __SingleQuoteTab@PAGEOFF $0(%rip) + WORD $0xf240009f // tst x4, #0x1 + WORD $0x9a880148 // csel x8, x10, x8, eq + WORD $0xeb010d3f // cmp x9, x1, lsl #3 + WORD $0x54001b0a // b.ge LBB0_53 $864(%rip) + WORD $0xaa0203eb // mov x11, x2 + WORD $0xaa0003ee // mov x14, x0 + WORD $0xb4002a41 // cbz x1, LBB0_76 $1352(%rip) + WORD $0xd100040c // sub x12, x0, #1 + WORD $0x4f01e440 // movi.16b v0, #34 + WORD $0x4f02e781 // movi.16b v1, #92 + WORD $0x4f01e402 // movi.16b v2, #32 +Lloh4: + WORD $0x10fffc8b // adr x11, lCPI0_0 $-112(%rip) +Lloh5: + WORD $0x3dc00163 // ldr q3, [x11, lCPI0_0@PAGEOFF] $0(%rip) +Lloh6: + WORD $0x10fffccb // adr x11, lCPI0_1 $-104(%rip) +Lloh7: + WORD $0x3dc00164 // ldr q4, [x11, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0xaa0003ed // mov x13, x0 + WORD $0xaa0203eb // mov x11, x2 +LBB0_3: + WORD $0xf1003c3f // cmp x1, #15 + WORD $0x1a9fd7e4 // cset w4, gt + WORD $0xaa0903f0 // mov x16, x9 + WORD $0xaa0b03ef // mov x15, x11 + WORD $0xaa0103f1 // mov x17, x1 + WORD $0xaa0d03ee // mov x14, x13 + WORD $0xf100403f // cmp x1, #16 + WORD $0x5400046b // b.lt LBB0_10 $140(%rip) + WORD $0xf100413f // cmp x9, #16 + WORD $0x5400042b // b.lt LBB0_10 $132(%rip) + WORD $0xd280000f // mov x15, #0 + WORD $0xaa0103e5 // mov x5, x1 + WORD $0xaa0903ee // mov x14, x9 +LBB0_6: + WORD $0x8b0f01b0 // add x16, x13, x15 + WORD $0x8b0f0171 // add x17, x11, x15 + WORD $0xa9401210 // ldp x16, x4, [x16] + WORD $0xa9001230 // stp x16, x4, [x17] + WORD $0x9e670205 // fmov d5, x16 + WORD $0x4e181c85 // mov.d v5[1], x4 + WORD $0x6e208ca6 // cmeq.16b v6, v5, v0 + WORD $0x6e218ca7 // cmeq.16b v7, v5, v1 + WORD $0x6e253445 // cmhi.16b v5, v2, v5 + WORD $0x4ea71cc6 // orr.16b v6, v6, v7 + WORD $0x4ea51cc5 // orr.16b v5, v6, v5 + WORD $0x4e231ca5 // and.16b v5, v5, v3 + WORD $0x4e0400a5 // tbl.16b v5, { v5 }, v4 + WORD $0x4e71b8a5 // addv.8h h5, v5 + WORD $0x1e2600b0 // fmov w16, s5 + WORD $0x35000770 // cbnz w16, LBB0_20 $236(%rip) + WORD $0xd10040b1 // sub x17, x5, #16 + WORD $0xd10041d0 // sub x16, x14, #16 + WORD $0xf1007cbf // cmp x5, #31 + WORD $0x1a9fd7e4 // cset w4, gt + WORD $0x910041ef // add x15, x15, #16 + WORD $0xf10080bf // cmp x5, #32 + WORD $0x540000ab // b.lt LBB0_9 $20(%rip) + WORD $0xaa1103e5 // mov x5, x17 + WORD $0xf1007ddf // cmp x14, #31 + WORD $0xaa1003ee // mov x14, x16 + WORD $0x54fffccc // b.gt LBB0_6 $-104(%rip) +LBB0_9: + WORD $0x8b0f01ae // add x14, x13, x15 + WORD $0x8b0f016f // add x15, x11, x15 +LBB0_10: + WORD $0x36000304 // tbz w4, #0, LBB0_14 $96(%rip) + WORD $0x3dc001c5 // ldr q5, [x14] + WORD $0x6e208ca6 // cmeq.16b v6, v5, v0 + WORD $0x6e218ca7 // cmeq.16b v7, v5, v1 + WORD $0x6e253450 // cmhi.16b v16, v2, v5 + WORD $0x4ea71cc6 // orr.16b v6, v6, v7 + WORD $0x4eb01cc6 // orr.16b v6, v6, v16 + WORD $0x4e231cc6 // and.16b v6, v6, v3 + WORD $0x4e0400c6 // tbl.16b v6, { v6 }, v4 + WORD $0x4e71b8c6 // addv.8h h6, v6 + WORD $0x1e2600d1 // fmov w17, s6 + WORD $0x32100231 // orr w17, w17, #0x10000 + WORD $0x5ac00231 // rbit w17, w17 + WORD $0x5ac01231 // clz w17, w17 + WORD $0x9e6600a5 // fmov x5, d5 + WORD $0xeb11021f // cmp x16, x17 + WORD $0x54000a8a // b.ge LBB0_36 $336(%rip) + WORD $0xf1002204 // subs x4, x16, #8 + WORD $0x54000b43 // b.lo LBB0_38 $360(%rip) + WORD $0xf80085e5 // str x5, [x15], #8 + WORD $0x910021d1 // add x17, x14, #8 + WORD $0xf1001085 // subs x5, x4, #4 + WORD $0x54000b4a // b.ge LBB0_39 $360(%rip) + WORD $0x1400005c // b LBB0_40 $368(%rip) +LBB0_14: + WORD $0xf100063f // cmp x17, #1 + WORD $0x5400032b // b.lt LBB0_21 $100(%rip) + WORD $0xf100061f // cmp x16, #1 + WORD $0x540002eb // b.lt LBB0_21 $92(%rip) + WORD $0xcb0d01c4 // sub x4, x14, x13 +LBB0_17: + WORD $0x394001c6 // ldrb w6, [x14] + WORD $0xd37cecc5 // lsl x5, x6, #4 + WORD $0xf8656945 // ldr x5, [x10, x5] + WORD $0xb5000305 // cbnz x5, LBB0_23 $96(%rip) + WORD $0xd1000625 // sub x5, x17, #1 + WORD $0x910005ce // add x14, x14, #1 + WORD $0x380015e6 // strb w6, [x15], #1 + WORD $0xf1000a3f // cmp x17, #2 + WORD $0x540001cb // b.lt LBB0_22 $56(%rip) + WORD $0xd1000606 // sub x6, x16, #1 + WORD $0x91000484 // add x4, x4, #1 + WORD $0xaa0503f1 // mov x17, x5 + WORD $0xf100061f // cmp x16, #1 + WORD $0xaa0603f0 // mov x16, x6 + WORD $0x54fffe4c // b.gt LBB0_17 $-56(%rip) + WORD $0x14000007 // b LBB0_22 $28(%rip) +LBB0_20: + WORD $0x5ac0020e // rbit w14, w16 + WORD $0x5ac011ce // clz w14, w14 + WORD $0x8b0f01c4 // add x4, x14, x15 + WORD $0xb6f80124 // tbz x4, #63, LBB0_24 $36(%rip) + WORD $0x14000065 // b LBB0_52 $404(%rip) +LBB0_21: + WORD $0xaa1103e5 // mov x5, x17 +LBB0_22: + WORD $0xaa2e03ef // mvn x15, x14 + WORD $0x8b0d01ef // add x15, x15, x13 + WORD $0xcb0d01ce // sub x14, x14, x13 + WORD $0xf10000bf // cmp x5, #0 + WORD $0x9a8e11e4 // csel x4, x15, x14, ne +LBB0_23: + WORD $0xb7f80bc4 // tbnz x4, #63, LBB0_52 $376(%rip) +LBB0_24: + WORD $0x8b0401ae // add x14, x13, x4 + WORD $0x8b04016b // add x11, x11, x4 + WORD $0xeb040021 // subs x1, x1, x4 + WORD $0x54001c20 // b.eq LBB0_76 $900(%rip) + WORD $0xcb040129 // sub x9, x9, x4 + WORD $0x8b0d008d // add x13, x4, x13 + WORD $0xcb0d018d // sub x13, x12, x13 + WORD $0x14000006 // b LBB0_27 $24(%rip) +LBB0_26: + WORD $0x910005ce // add x14, x14, #1 + WORD $0x8b0f016b // add x11, x11, x15 + WORD $0xd10005ad // sub x13, x13, #1 + WORD $0xd1000421 // sub x1, x1, #1 + WORD $0xb4001b01 // cbz x1, LBB0_76 $864(%rip) +LBB0_27: + WORD $0x394001cf // ldrb w15, [x14] + WORD $0x8b0f1111 // add x17, x8, x15, lsl #4 + WORD $0xb940022f // ldr w15, [x17] + WORD $0xb400032f // cbz x15, LBB0_35 $100(%rip) + WORD $0x93407def // sxtw x15, w15 + WORD $0xeb0f0129 // subs x9, x9, x15 + WORD $0x54001b0b // b.lt LBB0_77 $864(%rip) + WORD $0xf10011e4 // subs x4, x15, #4 + WORD $0x5400010b // b.lt LBB0_31 $32(%rip) + WORD $0xb9400a25 // ldr w5, [x17, #8] + WORD $0xaa0b03f0 // mov x16, x11 + WORD $0xb8004605 // str w5, [x16], #4 + WORD $0x91003231 // add x17, x17, #12 + WORD $0xf1000885 // subs x5, x4, #2 + WORD $0x540000e2 // b.hs LBB0_32 $28(%rip) + WORD $0x14000009 // b LBB0_33 $36(%rip) +LBB0_31: + WORD $0x91002231 // add x17, x17, #8 + WORD $0xaa0b03f0 // mov x16, x11 + WORD $0xaa0f03e4 // mov x4, x15 + WORD $0xf10009e5 // subs x5, x15, #2 + WORD $0x54000083 // b.lo LBB0_33 $16(%rip) +LBB0_32: + WORD $0x78402624 // ldrh w4, [x17], #2 + WORD $0x78002604 // strh w4, [x16], #2 + WORD $0xaa0503e4 // mov x4, x5 +LBB0_33: + WORD $0xb4fffc64 // cbz x4, LBB0_26 $-116(%rip) + WORD $0x39400231 // ldrb w17, [x17] + WORD $0x39000211 // strb w17, [x16] + WORD $0x17ffffe0 // b LBB0_26 $-128(%rip) +LBB0_35: + WORD $0xaa0e03ed // mov x13, x14 + WORD $0x17ffff73 // b LBB0_3 $-564(%rip) +LBB0_36: + WORD $0x7100223f // cmp w17, #8 + WORD $0x540003a3 // b.lo LBB0_45 $116(%rip) + WORD $0xf80085e5 // str x5, [x15], #8 + WORD $0x910021d0 // add x16, x14, #8 + WORD $0xd1002224 // sub x4, x17, #8 + WORD $0xf1001085 // subs x5, x4, #4 + WORD $0x54000382 // b.hs LBB0_46 $112(%rip) + WORD $0x1400001e // b LBB0_47 $120(%rip) +LBB0_38: + WORD $0xaa0e03f1 // mov x17, x14 + WORD $0xaa1003e4 // mov x4, x16 + WORD $0xf1001205 // subs x5, x16, #4 + WORD $0x5400008b // b.lt LBB0_40 $16(%rip) +LBB0_39: + WORD $0xb8404624 // ldr w4, [x17], #4 + WORD $0xb80045e4 // str w4, [x15], #4 + WORD $0xaa0503e4 // mov x4, x5 +LBB0_40: + WORD $0xf1000885 // subs x5, x4, #2 + WORD $0x540000c3 // b.lo LBB0_42 $24(%rip) + WORD $0x78402624 // ldrh w4, [x17], #2 + WORD $0x780025e4 // strh w4, [x15], #2 + WORD $0xaa0503e4 // mov x4, x5 + WORD $0xb5000065 // cbnz x5, LBB0_43 $12(%rip) + WORD $0x14000004 // b LBB0_44 $16(%rip) +LBB0_42: + WORD $0xb4000064 // cbz x4, LBB0_44 $12(%rip) +LBB0_43: + WORD $0x39400231 // ldrb w17, [x17] + WORD $0x390001f1 // strb w17, [x15] +LBB0_44: + WORD $0x8b0e020e // add x14, x16, x14 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0d01c4 // add x4, x14, x13 + WORD $0xb6fff724 // tbz x4, #63, LBB0_24 $-284(%rip) + WORD $0x14000015 // b LBB0_52 $84(%rip) +LBB0_45: + WORD $0xaa0e03f0 // mov x16, x14 + WORD $0xaa1103e4 // mov x4, x17 + WORD $0xf1001225 // subs x5, x17, #4 + WORD $0x54000083 // b.lo LBB0_47 $16(%rip) +LBB0_46: + WORD $0xb8404604 // ldr w4, [x16], #4 + WORD $0xb80045e4 // str w4, [x15], #4 + WORD $0xaa0503e4 // mov x4, x5 +LBB0_47: + WORD $0xf1000885 // subs x5, x4, #2 + WORD $0x540000c3 // b.lo LBB0_49 $24(%rip) + WORD $0x78402604 // ldrh w4, [x16], #2 + WORD $0x780025e4 // strh w4, [x15], #2 + WORD $0xaa0503e4 // mov x4, x5 + WORD $0xb5000065 // cbnz x5, LBB0_50 $12(%rip) + WORD $0x14000004 // b LBB0_51 $16(%rip) +LBB0_49: + WORD $0xb4000064 // cbz x4, LBB0_51 $12(%rip) +LBB0_50: + WORD $0x39400210 // ldrb w16, [x16] + WORD $0x390001f0 // strb w16, [x15] +LBB0_51: + WORD $0xcb0d01ce // sub x14, x14, x13 + WORD $0x8b1101c4 // add x4, x14, x17 + WORD $0xb6fff484 // tbz x4, #63, LBB0_24 $-368(%rip) +LBB0_52: + WORD $0x8b020088 // add x8, x4, x2 + WORD $0xaa2803e8 // mvn x8, x8 + WORD $0x8b0b0108 // add x8, x8, x11 + WORD $0xf9000068 // str x8, [x3] + WORD $0xcb0d0008 // sub x8, x0, x13 + WORD $0x8b040101 // add x1, x8, x4 + WORD $0xaa0103e0 // mov x0, x1 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_53: + WORD $0x4f01e440 // movi.16b v0, #34 + WORD $0x4f02e781 // movi.16b v1, #92 + WORD $0x4f01e402 // movi.16b v2, #32 +Lloh8: + WORD $0x10ffe229 // adr x9, lCPI0_0 $-956(%rip) +Lloh9: + WORD $0x3dc00123 // ldr q3, [x9, lCPI0_0@PAGEOFF] $0(%rip) +Lloh10: + WORD $0x10ffe269 // adr x9, lCPI0_1 $-948(%rip) +Lloh11: + WORD $0x3dc00124 // ldr q4, [x9, lCPI0_1@PAGEOFF] $0(%rip) +Lloh12: + WORD $0x100110aa // adr x10, __EscTab $8724(%rip) +Lloh13: + WORD $0x9100014a // add x10, x10, __EscTab@PAGEOFF $0(%rip) + WORD $0xaa0203e9 // mov x9, x2 + WORD $0xaa0103eb // mov x11, x1 +LBB0_54: + WORD $0xf100417f // cmp x11, #16 + WORD $0x5400028b // b.lt LBB0_57 $80(%rip) +LBB0_55: + WORD $0xa940300d // ldp x13, x12, [x0] + WORD $0xa900312d // stp x13, x12, [x9] + WORD $0x9e6701a5 // fmov d5, x13 + WORD $0x4e181d85 // mov.d v5[1], x12 + WORD $0x6e208ca6 // cmeq.16b v6, v5, v0 + WORD $0x6e218ca7 // cmeq.16b v7, v5, v1 + WORD $0x6e253445 // cmhi.16b v5, v2, v5 + WORD $0x4ea71cc6 // orr.16b v6, v6, v7 + WORD $0x4ea51cc5 // orr.16b v5, v6, v5 + WORD $0x4e231ca5 // and.16b v5, v5, v3 + WORD $0x4e0400a5 // tbl.16b v5, { v5 }, v4 + WORD $0x4e71b8a5 // addv.8h h5, v5 + WORD $0x1e2600ac // fmov w12, s5 + WORD $0x350008ac // cbnz w12, LBB0_67 $276(%rip) + WORD $0x91004000 // add x0, x0, #16 + WORD $0x91004129 // add x9, x9, #16 + WORD $0xd100416b // sub x11, x11, #16 + WORD $0xf100417f // cmp x11, #16 + WORD $0x54fffdc2 // b.hs LBB0_55 $-72(%rip) +LBB0_57: + WORD $0xf100216c // subs x12, x11, #8 + WORD $0x5400040b // b.lt LBB0_61 $128(%rip) + WORD $0x3940000d // ldrb w13, [x0] + WORD $0x386d694d // ldrb w13, [x10, x13] + WORD $0x3940040e // ldrb w14, [x0, #1] + WORD $0x386e694e // ldrb w14, [x10, x14] + WORD $0x2a0e05ad // orr w13, w13, w14, lsl #1 + WORD $0x3940080e // ldrb w14, [x0, #2] + WORD $0x386e694e // ldrb w14, [x10, x14] + WORD $0x2a0e09ad // orr w13, w13, w14, lsl #2 + WORD $0x39400c0e // ldrb w14, [x0, #3] + WORD $0x386e694e // ldrb w14, [x10, x14] + WORD $0x2a0e0dad // orr w13, w13, w14, lsl #3 + WORD $0xf940000e // ldr x14, [x0] + WORD $0xf900012e // str x14, [x9] + WORD $0x72001dbf // tst w13, #0xff + WORD $0x54000821 // b.ne LBB0_73 $260(%rip) + WORD $0x3940100d // ldrb w13, [x0, #4] + WORD $0x386d694d // ldrb w13, [x10, x13] + WORD $0x3940140e // ldrb w14, [x0, #5] + WORD $0x386e694e // ldrb w14, [x10, x14] + WORD $0x2a0e05ad // orr w13, w13, w14, lsl #1 + WORD $0x3940180e // ldrb w14, [x0, #6] + WORD $0x386e694e // ldrb w14, [x10, x14] + WORD $0x2a0e09ad // orr w13, w13, w14, lsl #2 + WORD $0x39401c0e // ldrb w14, [x0, #7] + WORD $0x386e694e // ldrb w14, [x10, x14] + WORD $0x2a0e0dad // orr w13, w13, w14, lsl #3 + WORD $0x72001dbf // tst w13, #0xff + WORD $0x540006c1 // b.ne LBB0_74 $216(%rip) + WORD $0x91002129 // add x9, x9, #8 + WORD $0x91002000 // add x0, x0, #8 + WORD $0xaa0c03eb // mov x11, x12 +LBB0_61: + WORD $0xf100116c // subs x12, x11, #4 + WORD $0x5400026b // b.lt LBB0_64 $76(%rip) + WORD $0x3940000d // ldrb w13, [x0] + WORD $0x386d694d // ldrb w13, [x10, x13] + WORD $0x3940040e // ldrb w14, [x0, #1] + WORD $0x386e694e // ldrb w14, [x10, x14] + WORD $0x2a0e05ad // orr w13, w13, w14, lsl #1 + WORD $0x3940080e // ldrb w14, [x0, #2] + WORD $0x386e694e // ldrb w14, [x10, x14] + WORD $0x2a0e09ad // orr w13, w13, w14, lsl #2 + WORD $0x39400c0e // ldrb w14, [x0, #3] + WORD $0x386e694e // ldrb w14, [x10, x14] + WORD $0x2a0e0dad // orr w13, w13, w14, lsl #3 + WORD $0xb940000e // ldr w14, [x0] + WORD $0xb900012e // str w14, [x9] + WORD $0x72001dbf // tst w13, #0xff + WORD $0x54000401 // b.ne LBB0_73 $128(%rip) + WORD $0x91001129 // add x9, x9, #4 + WORD $0x91001000 // add x0, x0, #4 + WORD $0xaa0c03eb // mov x11, x12 +LBB0_64: + WORD $0xf100057f // cmp x11, #1 + WORD $0x5400042b // b.lt LBB0_75 $132(%rip) +LBB0_65: + WORD $0x3940000c // ldrb w12, [x0] + WORD $0x386c694d // ldrb w13, [x10, x12] + WORD $0x3500016d // cbnz w13, LBB0_70 $44(%rip) + WORD $0x91000400 // add x0, x0, #1 + WORD $0x3800152c // strb w12, [x9], #1 + WORD $0xf100056b // subs x11, x11, #1 + WORD $0x54ffff4c // b.gt LBB0_65 $-24(%rip) + WORD $0x14000019 // b LBB0_75 $100(%rip) +LBB0_67: + WORD $0x5ac0018c // rbit w12, w12 +LBB0_68: + WORD $0x5ac0118c // clz w12, w12 +LBB0_69: + WORD $0x8b0c0000 // add x0, x0, x12 + WORD $0xcb0c016b // sub x11, x11, x12 + WORD $0x8b0c0129 // add x9, x9, x12 +LBB0_70: + WORD $0x3940000c // ldrb w12, [x0] +LBB0_71: + WORD $0x8b0c110c // add x12, x8, x12, lsl #4 + WORD $0xb980018d // ldrsw x13, [x12] + WORD $0xf940058c // ldr x12, [x12, #8] + WORD $0xf900012c // str x12, [x9] + WORD $0x8b0d0129 // add x9, x9, x13 + WORD $0xf100097f // cmp x11, #2 + WORD $0x5400018b // b.lt LBB0_75 $48(%rip) + WORD $0xd100056b // sub x11, x11, #1 + WORD $0x38401c0c // ldrb w12, [x0, #1]! + WORD $0x386c694d // ldrb w13, [x10, x12] + WORD $0x35fffecd // cbnz w13, LBB0_71 $-40(%rip) + WORD $0x17ffff9b // b LBB0_54 $-404(%rip) +LBB0_73: + WORD $0x5ac001ac // rbit w12, w13 + WORD $0x17ffffee // b LBB0_68 $-72(%rip) +LBB0_74: + WORD $0x5ac001ac // rbit w12, w13 + WORD $0x5ac0118c // clz w12, w12 + WORD $0x1100118c // add w12, w12, #4 + WORD $0x17ffffeb // b LBB0_69 $-84(%rip) +LBB0_75: + WORD $0xcb020128 // sub x8, x9, x2 + WORD $0xf9000068 // str x8, [x3] + WORD $0xaa0103e0 // mov x0, x1 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_76: + WORD $0xcb020168 // sub x8, x11, x2 + WORD $0xf9000068 // str x8, [x3] + WORD $0xcb0001c1 // sub x1, x14, x0 + WORD $0xaa0103e0 // mov x0, x1 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_77: + WORD $0xcb020168 // sub x8, x11, x2 + WORD $0xf9000068 // str x8, [x3] + WORD $0xaa0d03e1 // mov x1, x13 + WORD $0xaa0103e0 // mov x0, x1 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret + WORD $0x00000000 // .p2align 3, 0x00 +__SingleQuoteTab: + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0000\x00\x00' + WORD $0x00003030 // .asciz 4, '00\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0001\x00\x00' + WORD $0x00003130 // .asciz 4, '01\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0002\x00\x00' + WORD $0x00003230 // .asciz 4, '02\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0003\x00\x00' + WORD $0x00003330 // .asciz 4, '03\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0004\x00\x00' + WORD $0x00003430 // .asciz 4, '04\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0005\x00\x00' + WORD $0x00003530 // .asciz 4, '05\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0006\x00\x00' + WORD $0x00003630 // .asciz 4, '06\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0007\x00\x00' + WORD $0x00003730 // .asciz 4, '07\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0008\x00\x00' + WORD $0x00003830 // .asciz 4, '08\x00\x00' + WORD $0x00000002; WORD $0x00000000 // .quad 2 + WORD $0x0000745c // .asciz 4, '\\t\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000002; WORD $0x00000000 // .quad 2 + WORD $0x00006e5c // .asciz 4, '\\n\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u000b\x00\x00' + WORD $0x00006230 // .asciz 4, '0b\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u000c\x00\x00' + WORD $0x00006330 // .asciz 4, '0c\x00\x00' + WORD $0x00000002; WORD $0x00000000 // .quad 2 + WORD $0x0000725c // .asciz 4, '\\r\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u000e\x00\x00' + WORD $0x00006530 // .asciz 4, '0e\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u000f\x00\x00' + WORD $0x00006630 // .asciz 4, '0f\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0010\x00\x00' + WORD $0x00003031 // .asciz 4, '10\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0011\x00\x00' + WORD $0x00003131 // .asciz 4, '11\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0012\x00\x00' + WORD $0x00003231 // .asciz 4, '12\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0013\x00\x00' + WORD $0x00003331 // .asciz 4, '13\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0014\x00\x00' + WORD $0x00003431 // .asciz 4, '14\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0015\x00\x00' + WORD $0x00003531 // .asciz 4, '15\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0016\x00\x00' + WORD $0x00003631 // .asciz 4, '16\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0017\x00\x00' + WORD $0x00003731 // .asciz 4, '17\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0018\x00\x00' + WORD $0x00003831 // .asciz 4, '18\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u0019\x00\x00' + WORD $0x00003931 // .asciz 4, '19\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u001a\x00\x00' + WORD $0x00006131 // .asciz 4, '1a\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u001b\x00\x00' + WORD $0x00006231 // .asciz 4, '1b\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u001c\x00\x00' + WORD $0x00006331 // .asciz 4, '1c\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u001d\x00\x00' + WORD $0x00006431 // .asciz 4, '1d\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u001e\x00\x00' + WORD $0x00006531 // .asciz 4, '1e\x00\x00' + WORD $0x00000006; WORD $0x00000000 // .quad 6 + WORD $0x3030755c // .asciz 4, '\\u001f\x00\x00' + WORD $0x00006631 // .asciz 4, '1f\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000002; WORD $0x00000000 // .quad 2 + WORD $0x0000225c // .asciz 4, '\\"\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000002; WORD $0x00000000 // .quad 2 + WORD $0x00005c5c // .asciz 4, '\\\\\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + // .p2align 3, 0x00 +__DoubleQuoteTab: + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0000\x00' + WORD $0x00303030 // .asciz 4, '000\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0001\x00' + WORD $0x00313030 // .asciz 4, '001\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0002\x00' + WORD $0x00323030 // .asciz 4, '002\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0003\x00' + WORD $0x00333030 // .asciz 4, '003\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0004\x00' + WORD $0x00343030 // .asciz 4, '004\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0005\x00' + WORD $0x00353030 // .asciz 4, '005\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0006\x00' + WORD $0x00363030 // .asciz 4, '006\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0007\x00' + WORD $0x00373030 // .asciz 4, '007\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0008\x00' + WORD $0x00383030 // .asciz 4, '008\x00' + WORD $0x00000003; WORD $0x00000000 // .quad 3 + WORD $0x00745c5c // .asciz 4, '\\\\t\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000003; WORD $0x00000000 // .quad 3 + WORD $0x006e5c5c // .asciz 4, '\\\\n\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u000b\x00' + WORD $0x00623030 // .asciz 4, '00b\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u000c\x00' + WORD $0x00633030 // .asciz 4, '00c\x00' + WORD $0x00000003; WORD $0x00000000 // .quad 3 + WORD $0x00725c5c // .asciz 4, '\\\\r\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u000e\x00' + WORD $0x00653030 // .asciz 4, '00e\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u000f\x00' + WORD $0x00663030 // .asciz 4, '00f\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0010\x00' + WORD $0x00303130 // .asciz 4, '010\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0011\x00' + WORD $0x00313130 // .asciz 4, '011\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0012\x00' + WORD $0x00323130 // .asciz 4, '012\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0013\x00' + WORD $0x00333130 // .asciz 4, '013\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0014\x00' + WORD $0x00343130 // .asciz 4, '014\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0015\x00' + WORD $0x00353130 // .asciz 4, '015\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0016\x00' + WORD $0x00363130 // .asciz 4, '016\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0017\x00' + WORD $0x00373130 // .asciz 4, '017\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0018\x00' + WORD $0x00383130 // .asciz 4, '018\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u0019\x00' + WORD $0x00393130 // .asciz 4, '019\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u001a\x00' + WORD $0x00613130 // .asciz 4, '01a\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u001b\x00' + WORD $0x00623130 // .asciz 4, '01b\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u001c\x00' + WORD $0x00633130 // .asciz 4, '01c\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u001d\x00' + WORD $0x00643130 // .asciz 4, '01d\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u001e\x00' + WORD $0x00653130 // .asciz 4, '01e\x00' + WORD $0x00000007; WORD $0x00000000 // .quad 7 + WORD $0x30755c5c // .asciz 4, '\\\\u001f\x00' + WORD $0x00663130 // .asciz 4, '01f\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000004; WORD $0x00000000 // .quad 4 + WORD $0x225c5c5c // .asciz 4, '\\\\\\"\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000004; WORD $0x00000000 // .quad 4 + WORD $0x5c5c5c5c // .asciz 4, '\\\\\\\\\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' +__EscTab: + WORD $0x01010101 // .ascii 4, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' + WORD $0x01010101 // .ascii 4, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' + WORD $0x01010101 // .ascii 4, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' + WORD $0x01010101 // .ascii 4, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' + WORD $0x01010101 // .ascii 4, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' + WORD $0x01010101 // .ascii 4, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00\x00\x01\x00' + WORD $0x01010101 // .ascii 4, '\x01\x01\x01\x01\x01\x01\x01\x01\x00\x00\x01\x00\x00\x00\x00\x00' + WORD $0x01010101 // .ascii 4, '\x01\x01\x01\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00010000 // .ascii 4, '\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x01\x00\x00\x00' + WORD $0x00000001 // .ascii 4, '\x01\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + +TEXT ·__quote(SB), NOSPLIT, $0-48 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $96, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_quote: + MOVD sp+0(FP), R0 + MOVD nb+8(FP), R1 + MOVD dp+16(FP), R2 + MOVD dn+24(FP), R3 + MOVD flags+32(FP), R4 + MOVD ·_subr__quote(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+40(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/quote_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/quote_subr_arm64.go new file mode 100644 index 0000000..e9d9428 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/quote_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __quote_entry__() uintptr + +var ( + _subr__quote uintptr = __quote_entry__() + 32 +) + +const ( + _stack__quote = 32 +) + +var ( + _ = _subr__quote +) + +const ( + _ = _stack__quote +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.go new file mode 100644 index 0000000..f6ce315 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + // `unsafe` + + `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return __skip_array(s, p, m, flags) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.s new file mode 100644 index 0000000..f551d99 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_arm64.s @@ -0,0 +1,2384 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__skip_array_entry__(SB), NOSPLIT, $96 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 4, 0x00 +lCPI0_0: + WORD $0x00000001; WORD $0x00000000 // .quad 1 + WORD $0x00000005; WORD $0x00000000 // .quad 5 +lCPI0_1: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_2: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_skip_array: + WORD $0xd101c3ff // sub sp, sp, #112 + WORD $0xa900effc // stp x28, x27, [sp, #8] + WORD $0xa901e7fa // stp x26, x25, [sp, #24] + WORD $0xa902dff8 // stp x24, x23, [sp, #40] + WORD $0xa903d7f6 // stp x22, x21, [sp, #56] + WORD $0xa904cff4 // stp x20, x19, [sp, #72] + WORD $0xa905fbfd // stp fp, lr, [sp, #88] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 +Lloh0: + WORD $0x10fffd68 // adr x8, lCPI0_0 $-84(%rip) +Lloh1: + WORD $0x3dc00100 // ldr q0, [x8, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0xaa0203ea // mov x10, x2 + WORD $0x3c808540 // str q0, [x10], #8 + WORD $0xf9400009 // ldr x9, [x0] + WORD $0xaa2903eb // mvn x11, x9 + WORD $0xf940003c // ldr x28, [x1] + WORD $0xcb0903ec // neg x12, x9 + WORD $0xd100052d // sub x13, x9, #1 + WORD $0x9280000e // mov x14, #-1 + WORD $0x5280002f // mov w15, #1 + WORD $0xd284c010 // mov x16, #9728 + WORD $0xf2c00030 // movk x16, #1, lsl #32 + WORD $0x52800073 // mov w19, #3 + WORD $0x52800084 // mov w4, #4 + WORD $0x4f01e440 // movi.16b v0, #34 + WORD $0x4f02e781 // movi.16b v1, #92 +Lloh2: + WORD $0x10fffbc8 // adr x8, lCPI0_1 $-136(%rip) +Lloh3: + WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip) +Lloh4: + WORD $0x10fffc08 // adr x8, lCPI0_2 $-128(%rip) +Lloh5: + WORD $0x3dc00103 // ldr q3, [x8, lCPI0_2@PAGEOFF] $0(%rip) + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0x4f01e404 // movi.16b v4, #32 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0x4f01e5c5 // movi.16b v5, #46 + WORD $0x4f01e566 // movi.16b v6, #43 + WORD $0x4f01e5a7 // movi.16b v7, #45 + WORD $0x4f06e610 // movi.16b v16, #208 + WORD $0x4f00e551 // movi.16b v17, #10 + WORD $0x4f06e7f2 // movi.16b v18, #223 + WORD $0x4f02e4b3 // movi.16b v19, #69 + WORD $0x52800025 // mov w5, #1 +LBB0_1: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb08039f // cmp x28, x8 + WORD $0x54000162 // b.hs LBB0_6 $44(%rip) + WORD $0x387c6931 // ldrb w17, [x9, x28] + WORD $0x7100363f // cmp w17, #13 + WORD $0x54000100 // b.eq LBB0_6 $32(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x540000c0 // b.eq LBB0_6 $24(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000062 // b.hs LBB0_6 $12(%rip) + WORD $0xaa1c03fb // mov x27, x28 + WORD $0x14000031 // b LBB0_22 $196(%rip) +LBB0_6: + WORD $0x9100079b // add x27, x28, #1 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000122 // b.hs LBB0_10 $36(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_10 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_10 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x540004c3 // b.lo LBB0_22 $152(%rip) +LBB0_10: + WORD $0x91000b9b // add x27, x28, #2 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000122 // b.hs LBB0_14 $36(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_14 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_14 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000363 // b.lo LBB0_22 $108(%rip) +LBB0_14: + WORD $0x91000f9b // add x27, x28, #3 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000122 // b.hs LBB0_18 $36(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_18 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_18 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000203 // b.lo LBB0_22 $64(%rip) +LBB0_18: + WORD $0x9100139b // add x27, x28, #4 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x5400e922 // b.hs LBB0_395 $7460(%rip) +LBB0_19: + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100823f // cmp w17, #32 + WORD $0x9ad121f1 // lsl x17, x15, x17 + WORD $0x8a100231 // and x17, x17, x16 + WORD $0xfa409a24 // ccmp x17, #0, #4, ls + WORD $0x540000a0 // b.eq LBB0_21 $20(%rip) + WORD $0x9100077b // add x27, x27, #1 + WORD $0xeb1b011f // cmp x8, x27 + WORD $0x54ffff01 // b.ne LBB0_19 $-32(%rip) + WORD $0x14000735 // b LBB0_393 $7380(%rip) +LBB0_21: + WORD $0xeb08037f // cmp x27, x8 + WORD $0x5400e662 // b.hs LBB0_393 $7372(%rip) +LBB0_22: + WORD $0x9100077c // add x28, x27, #1 + WORD $0xf900003c // str x28, [x1] + WORD $0x8b1b013e // add lr, x9, x27 + WORD $0x394003d5 // ldrb w21, [lr] + WORD $0x3400e5d5 // cbz w21, LBB0_393 $7352(%rip) + WORD $0xd10004b4 // sub x20, x5, #1 + WORD $0xf8747948 // ldr x8, [x10, x20, lsl #3] + WORD $0xb10005df // cmn x14, #1 + WORD $0x9a8e036e // csel x14, x27, x14, eq + WORD $0x71000d1f // cmp w8, #3 + WORD $0x54000c8c // b.gt LBB0_39 $400(%rip) + WORD $0x7100051f // cmp w8, #1 + WORD $0x540018c0 // b.eq LBB0_54 $792(%rip) + WORD $0x7100091f // cmp w8, #2 + WORD $0x54002c20 // b.eq LBB0_94 $1412(%rip) + WORD $0x71000d1f // cmp w8, #3 + WORD $0x540019c1 // b.ne LBB0_58 $824(%rip) + WORD $0x71008abf // cmp w21, #34 + WORD $0x5400f101 // b.ne LBB0_425 $7712(%rip) + WORD $0x3200f3e6 // mov w6, #1431655765 + WORD $0xf8347944 // str x4, [x10, x20, lsl #3] + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0114 // subs x20, x8, x28 + WORD $0x372831a3 // tbnz w3, #5, LBB0_109 $1588(%rip) + WORD $0x5400e560 // b.eq LBB0_398 $7340(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54009103 // b.lo LBB0_250 $4640(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_32: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405634 // ldp q20, q21, [x17] + WORD $0xad415e36 // ldp q22, q23, [x17, #32] + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e208efb // cmeq.16b v27, v23, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x4e221f38 // and.16b v24, v25, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x4e221f58 // and.16b v24, v26, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x4e221f78 // and.16b v24, v27, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260298 // fmov w24, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260299 // fmov w25, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e26029a // fmov w26, s20 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000111 // cbnz x17, LBB0_36 $32(%rip) + WORD $0xb5000185 // cbnz x5, LBB0_37 $48(%rip) + WORD $0xb50002c7 // cbnz x7, LBB0_38 $88(%rip) +LBB0_35: + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff8a8 // b.hi LBB0_32 $-236(%rip) + WORD $0x14000441 // b LBB0_247 $4356(%rip) +LBB0_36: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_37: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0xb4fffd87 // cbz x7, LBB0_35 $-80(%rip) +LBB0_38: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0x8b1c0231 // add x17, x17, x28 + WORD $0x140001aa // b LBB0_121 $1704(%rip) +LBB0_39: + WORD $0x7100111f // cmp w8, #4 + WORD $0x54000d00 // b.eq LBB0_56 $416(%rip) + WORD $0x7100151f // cmp w8, #5 + WORD $0x54002060 // b.eq LBB0_96 $1036(%rip) + WORD $0x7100191f // cmp w8, #6 + WORD $0x54000d61 // b.ne LBB0_58 $428(%rip) + WORD $0x71008abf // cmp w21, #34 + WORD $0x54001f81 // b.ne LBB0_95 $1008(%rip) + WORD $0x3200f3e4 // mov w4, #1431655765 + WORD $0x52800048 // mov w8, #2 + WORD $0xf8347948 // str x8, [x10, x20, lsl #3] + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0114 // subs x20, x8, x28 + WORD $0x37283923 // tbnz w3, #5, LBB0_138 $1828(%rip) + WORD $0x5400d8e0 // b.eq LBB0_398 $6940(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54009423 // b.lo LBB0_277 $4740(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_47: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405634 // ldp q20, q21, [x17] + WORD $0xad415e36 // ldp q22, q23, [x17, #32] + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e208efb // cmeq.16b v27, v23, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x4e221f38 // and.16b v24, v25, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x4e221f58 // and.16b v24, v26, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x4e221f78 // and.16b v24, v27, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260298 // fmov w24, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260299 // fmov w25, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e26029a // fmov w26, s20 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000111 // cbnz x17, LBB0_51 $32(%rip) + WORD $0xb5000185 // cbnz x5, LBB0_52 $48(%rip) + WORD $0xb50002c7 // cbnz x7, LBB0_53 $88(%rip) +LBB0_50: + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff8a8 // b.hi LBB0_47 $-236(%rip) + WORD $0x1400045e // b LBB0_275 $4472(%rip) +LBB0_51: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_52: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0xb4fffd87 // cbz x7, LBB0_50 $-80(%rip) +LBB0_53: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0x8b1c0231 // add x17, x17, x28 + WORD $0x140001e6 // b LBB0_150 $1944(%rip) +LBB0_54: + WORD $0x7100b2bf // cmp w21, #44 + WORD $0x540017e0 // b.eq LBB0_105 $764(%rip) + WORD $0x710176bf // cmp w21, #93 + WORD $0x54001420 // b.eq LBB0_97 $644(%rip) + WORD $0x140006c4 // b LBB0_425 $6928(%rip) +LBB0_56: + WORD $0x7100eabf // cmp w21, #58 + WORD $0x5400d841 // b.ne LBB0_425 $6920(%rip) + WORD $0xf834795f // str xzr, [x10, x20, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffdce5 // cbnz x5, LBB0_1 $-1124(%rip) + WORD $0x14000656 // b LBB0_394 $6488(%rip) +LBB0_58: + WORD $0xf9000054 // str x20, [x2] + WORD $0x92800028 // mov x8, #-2 + WORD $0x71016abf // cmp w21, #90 + WORD $0x540013cc // b.gt LBB0_99 $632(%rip) +LBB0_59: + WORD $0x5100c2b1 // sub w17, w21, #48 + WORD $0x71002a3f // cmp w17, #10 + WORD $0x54003d02 // b.hs LBB0_154 $1952(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1b0115 // subs x21, x8, x27 + WORD $0x5400cbe0 // b.eq LBB0_399 $6524(%rip) + WORD $0x394003c8 // ldrb w8, [lr] + WORD $0x7100c11f // cmp w8, #48 + WORD $0x54000141 // b.ne LBB0_65 $40(%rip) + WORD $0xf10006bf // cmp x21, #1 + WORD $0x54004280 // b.eq LBB0_170 $2128(%rip) + WORD $0x387c6928 // ldrb w8, [x9, x28] + WORD $0x5100b908 // sub w8, w8, #46 + WORD $0x7100dd1f // cmp w8, #55 + WORD $0x54004208 // b.hi LBB0_170 $2112(%rip) + WORD $0x9ac821e8 // lsl x8, x15, x8 + WORD $0xea07011f // tst x8, x7 + WORD $0x540041a0 // b.eq LBB0_170 $2100(%rip) +LBB0_65: + WORD $0xf10042bf // cmp x21, #16 + WORD $0x5400a5c3 // b.lo LBB0_333 $5304(%rip) + WORD $0xd2800016 // mov x22, #0 + WORD $0xd280001c // mov x28, #0 + WORD $0x92800014 // mov x20, #-1 + WORD $0x92800005 // mov x5, #-1 + WORD $0x92800008 // mov x8, #-1 +LBB0_67: + WORD $0x3cfc6bd4 // ldr q20, [lr, x28] + WORD $0x6e258e95 // cmeq.16b v21, v20, v5 + WORD $0x6e268e96 // cmeq.16b v22, v20, v6 + WORD $0x6e278e97 // cmeq.16b v23, v20, v7 + WORD $0x4e308698 // add.16b v24, v20, v16 + WORD $0x6e383638 // cmhi.16b v24, v17, v24 + WORD $0x4e321e94 // and.16b v20, v20, v18 + WORD $0x6e338e94 // cmeq.16b v20, v20, v19 + WORD $0x4eb71ed6 // orr.16b v22, v22, v23 + WORD $0x4eb51f17 // orr.16b v23, v24, v21 + WORD $0x4eb61e98 // orr.16b v24, v20, v22 + WORD $0x4eb81ef7 // orr.16b v23, v23, v24 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b1 // fmov w17, s21 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260299 // fmov w25, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260287 // fmov w7, s20 + WORD $0x2a2703e7 // mvn w7, w7 + WORD $0x32103ce7 // orr w7, w7, #0xffff0000 + WORD $0x5ac000e7 // rbit w7, w7 + WORD $0x5ac010e7 // clz w7, w7 + WORD $0x12800004 // mov w4, #-1 + WORD $0x1ac72098 // lsl w24, w4, w7 + WORD $0x0a38023a // bic w26, w17, w24 + WORD $0x0a3802e4 // bic w4, w23, w24 + WORD $0x0a380326 // bic w6, w25, w24 + WORD $0x710040ff // cmp w7, #16 + WORD $0x1a9a0231 // csel w17, w17, w26, eq + WORD $0x1a8402f8 // csel w24, w23, w4, eq + WORD $0x1a860337 // csel w23, w25, w6, eq + WORD $0x51000624 // sub w4, w17, #1 + WORD $0x6a110099 // ands w25, w4, w17 + WORD $0x54006d81 // b.ne LBB0_245 $3504(%rip) + WORD $0x51000704 // sub w4, w24, #1 + WORD $0x6a180099 // ands w25, w4, w24 + WORD $0x54006d21 // b.ne LBB0_245 $3492(%rip) + WORD $0x510006e4 // sub w4, w23, #1 + WORD $0x6a170099 // ands w25, w4, w23 + WORD $0x54006cc1 // b.ne LBB0_245 $3480(%rip) + WORD $0x340000d1 // cbz w17, LBB0_73 $24(%rip) + WORD $0x5ac00231 // rbit w17, w17 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x54006cc1 // b.ne LBB0_246 $3480(%rip) + WORD $0x8b110388 // add x8, x28, x17 +LBB0_73: + WORD $0x340000d8 // cbz w24, LBB0_76 $24(%rip) + WORD $0x5ac00311 // rbit w17, w24 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10004bf // cmn x5, #1 + WORD $0x54006c01 // b.ne LBB0_246 $3456(%rip) + WORD $0x8b110385 // add x5, x28, x17 +LBB0_76: + WORD $0x340000d7 // cbz w23, LBB0_79 $24(%rip) + WORD $0x5ac002f1 // rbit w17, w23 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100069f // cmn x20, #1 + WORD $0x54006b41 // b.ne LBB0_246 $3432(%rip) + WORD $0x8b110394 // add x20, x28, x17 +LBB0_79: + WORD $0x710040ff // cmp w7, #16 + WORD $0x54001bc1 // b.ne LBB0_123 $888(%rip) + WORD $0x9100439c // add x28, x28, #16 + WORD $0xd10042d6 // sub x22, x22, #16 + WORD $0x8b1602b7 // add x23, x21, x22 + WORD $0xf1003eff // cmp x23, #15 + WORD $0x54fff6c8 // b.hi LBB0_67 $-296(%rip) + WORD $0x8b1c03d6 // add x22, lr, x28 + WORD $0xeb1c02bf // cmp x21, x28 + WORD $0x54001b00 // b.eq LBB0_124 $864(%rip) +LBB0_82: + WORD $0x8b1702d8 // add x24, x22, x23 + WORD $0x8b1b01b1 // add x17, x13, x27 + WORD $0xcb160235 // sub x21, x17, x22 + WORD $0xcb1e02c7 // sub x7, x22, lr + WORD $0xaa1603fc // mov x28, x22 + WORD $0x14000009 // b LBB0_85 $36(%rip) +LBB0_83: + WORD $0xb10004bf // cmn x5, #1 + WORD $0xaa0703e5 // mov x5, x7 + WORD $0x54001d81 // b.ne LBB0_136 $944(%rip) +LBB0_84: + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0x910004e7 // add x7, x7, #1 + WORD $0xaa1c03f6 // mov x22, x28 + WORD $0xd10006f7 // sub x23, x23, #1 + WORD $0xb40042d7 // cbz x23, LBB0_184 $2136(%rip) +LBB0_85: + WORD $0x38401791 // ldrb w17, [x28], #1 + WORD $0x5100c224 // sub w4, w17, #48 + WORD $0x7100289f // cmp w4, #10 + WORD $0x54ffff03 // b.lo LBB0_84 $-32(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x5400016d // b.le LBB0_91 $44(%rip) + WORD $0x7101963f // cmp w17, #101 + WORD $0x54fffe20 // b.eq LBB0_83 $-60(%rip) + WORD $0x7101163f // cmp w17, #69 + WORD $0x54fffde0 // b.eq LBB0_83 $-68(%rip) + WORD $0x7100ba3f // cmp w17, #46 + WORD $0x540017c1 // b.ne LBB0_124 $760(%rip) + WORD $0xb100051f // cmn x8, #1 + WORD $0xaa0703e8 // mov x8, x7 + WORD $0x54fffda0 // b.eq LBB0_84 $-76(%rip) + WORD $0x140000d7 // b LBB0_136 $860(%rip) +LBB0_91: + WORD $0x7100ae3f // cmp w17, #43 + WORD $0x54000060 // b.eq LBB0_93 $12(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x540016c1 // b.ne LBB0_124 $728(%rip) +LBB0_93: + WORD $0xb100069f // cmn x20, #1 + WORD $0xaa0703f4 // mov x20, x7 + WORD $0x54fffca0 // b.eq LBB0_84 $-108(%rip) + WORD $0x140000cf // b LBB0_136 $828(%rip) +LBB0_94: + WORD $0x7100b2bf // cmp w21, #44 + WORD $0x54000560 // b.eq LBB0_107 $172(%rip) +LBB0_95: + WORD $0x7101f6bf // cmp w21, #125 + WORD $0x54000080 // b.eq LBB0_97 $16(%rip) + WORD $0x14000627 // b LBB0_425 $6300(%rip) +LBB0_96: + WORD $0x710176bf // cmp w21, #93 + WORD $0x540000c1 // b.ne LBB0_98 $24(%rip) +LBB0_97: + WORD $0xf9000054 // str x20, [x2] + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc954 // cbnz x20, LBB0_1 $-1752(%rip) + WORD $0x140005b9 // b LBB0_394 $5860(%rip) +LBB0_98: + WORD $0xf834794f // str x15, [x10, x20, lsl #3] + WORD $0x92800028 // mov x8, #-2 + WORD $0x71016abf // cmp w21, #90 + WORD $0x54ffec8d // b.le LBB0_59 $-624(%rip) +LBB0_99: + WORD $0x7101b6bf // cmp w21, #109 + WORD $0x54002bad // b.le LBB0_160 $1396(%rip) + WORD $0x7101babf // cmp w21, #110 + WORD $0x54002e80 // b.eq LBB0_167 $1488(%rip) + WORD $0x7101d2bf // cmp w21, #116 + WORD $0x54002d00 // b.eq LBB0_165 $1440(%rip) + WORD $0x7101eebf // cmp w21, #123 + WORD $0x5400b5a1 // b.ne LBB0_394 $5812(%rip) + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400b6cc // b.gt LBB0_396 $5848(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000051 // str x17, [x2] + WORD $0x528000d1 // mov w17, #6 + WORD $0xf8287951 // str x17, [x10, x8, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc665 // cbnz x5, LBB0_1 $-1844(%rip) + WORD $0x140005a2 // b LBB0_394 $5768(%rip) +LBB0_105: + WORD $0xf13ffcbf // cmp x5, #4095 + WORD $0x5400b58c // b.gt LBB0_396 $5808(%rip) + WORD $0x910004a8 // add x8, x5, #1 + WORD $0xf9000048 // str x8, [x2] + WORD $0xf825795f // str xzr, [x10, x5, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc545 // cbnz x5, LBB0_1 $-1880(%rip) + WORD $0x14000599 // b LBB0_394 $5732(%rip) +LBB0_107: + WORD $0xf13ffcbf // cmp x5, #4095 + WORD $0x5400b46c // b.gt LBB0_396 $5772(%rip) + WORD $0x910004a8 // add x8, x5, #1 + WORD $0xf9000048 // str x8, [x2] + WORD $0xf8257953 // str x19, [x10, x5, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc425 // cbnz x5, LBB0_1 $-1916(%rip) + WORD $0x14000590 // b LBB0_394 $5696(%rip) +LBB0_109: + WORD $0x5400b3e0 // b.eq LBB0_398 $5756(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54006403 // b.lo LBB0_256 $3200(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_112: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405a37 // ldp q23, q22, [x17] + WORD $0xad415235 // ldp q21, q20, [x17, #32] + WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260317 // fmov w23, s24 + WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260318 // fmov w24, s24 + WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260319 // fmov w25, s24 + WORD $0x6e218e98 // cmeq.16b v24, v20, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e26031a // fmov w26, s24 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000451 // cbnz x17, LBB0_117 $136(%rip) + WORD $0xb50004c5 // cbnz x5, LBB0_118 $152(%rip) +LBB0_114: + WORD $0x6e373497 // cmhi.16b v23, v4, v23 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x6e363496 // cmhi.16b v22, v4, v22 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d5 // fmov w21, s22 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b6 // fmov w22, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1102b1 // orr x17, x21, x17 + WORD $0xb50002e7 // cbnz x7, LBB0_119 $92(%rip) + WORD $0xb500aa71 // cbnz x17, LBB0_404 $5452(%rip) + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff568 // b.hi LBB0_112 $-340(%rip) + WORD $0x1400029d // b LBB0_248 $2676(%rip) +LBB0_117: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_118: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x17ffffd1 // b LBB0_114 $-188(%rip) +LBB0_119: + WORD $0xdac000e5 // rbit x5, x7 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xdac00231 // rbit x17, x17 + WORD $0xdac01231 // clz x17, x17 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x5400b143 // b.lo LBB0_427 $5672(%rip) +LBB0_120: + WORD $0x8b1c00b1 // add x17, x5, x28 +LBB0_121: + WORD $0x9100063c // add x28, x17, #1 +LBB0_122: + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb6f81c9c // tbz x28, #63, LBB0_170 $912(%rip) + WORD $0x14000524 // b LBB0_397 $5264(%rip) +LBB0_123: + WORD $0x8b2743d1 // add x17, lr, w7, uxtw + WORD $0x8b1c0236 // add x22, x17, x28 +LBB0_124: + WORD $0x92800015 // mov x21, #-1 + WORD $0xb400a4c8 // cbz x8, LBB0_400 $5272(%rip) +LBB0_125: + WORD $0xb400a4b4 // cbz x20, LBB0_400 $5268(%rip) + WORD $0xb400a485 // cbz x5, LBB0_400 $5264(%rip) + WORD $0xcb1e02c7 // sub x7, x22, lr + WORD $0xd10004f1 // sub x17, x7, #1 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x540002a0 // b.eq LBB0_135 $84(%rip) + WORD $0xeb11029f // cmp x20, x17 + WORD $0x54000260 // b.eq LBB0_135 $76(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x54000220 // b.eq LBB0_135 $68(%rip) + WORD $0xf1000691 // subs x17, x20, #1 + WORD $0x5400006b // b.lt LBB0_132 $12(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x5400a321 // b.ne LBB0_401 $5220(%rip) +LBB0_132: + WORD $0xaa050111 // orr x17, x8, x5 + WORD $0xb7f80071 // tbnz x17, #63, LBB0_134 $12(%rip) + WORD $0xeb05011f // cmp x8, x5 + WORD $0x5400a44a // b.ge LBB0_407 $5256(%rip) +LBB0_134: + WORD $0xd37ffe31 // lsr x17, x17, #63 + WORD $0x52000231 // eor w17, w17, #0x1 + WORD $0xd10004a4 // sub x4, x5, #1 + WORD $0xeb04011f // cmp x8, x4 + WORD $0x1a9f17e8 // cset w8, eq + WORD $0x6a08023f // tst w17, w8 + WORD $0xda8500f5 // csinv x21, x7, x5, eq + WORD $0x14000002 // b LBB0_136 $8(%rip) +LBB0_135: + WORD $0xcb0703f5 // neg x21, x7 +LBB0_136: + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb7f8a0d5 // tbnz x21, #63, LBB0_400 $5144(%rip) + WORD $0x8b15037c // add x28, x27, x21 + WORD $0x140000bd // b LBB0_170 $756(%rip) +LBB0_138: + WORD $0x54009fe0 // b.eq LBB0_398 $5116(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54005fa3 // b.lo LBB0_283 $3060(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_141: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405a37 // ldp q23, q22, [x17] + WORD $0xad415235 // ldp q21, q20, [x17, #32] + WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260317 // fmov w23, s24 + WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260318 // fmov w24, s24 + WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260319 // fmov w25, s24 + WORD $0x6e218e98 // cmeq.16b v24, v20, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e26031a // fmov w26, s24 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000451 // cbnz x17, LBB0_146 $136(%rip) + WORD $0xb50004c5 // cbnz x5, LBB0_147 $152(%rip) +LBB0_143: + WORD $0x6e373497 // cmhi.16b v23, v4, v23 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x6e363496 // cmhi.16b v22, v4, v22 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d5 // fmov w21, s22 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b6 // fmov w22, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1102b1 // orr x17, x21, x17 + WORD $0xb50002e7 // cbnz x7, LBB0_148 $92(%rip) + WORD $0xb5009671 // cbnz x17, LBB0_404 $4812(%rip) + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff568 // b.hi LBB0_141 $-340(%rip) + WORD $0x1400027e // b LBB0_276 $2552(%rip) +LBB0_146: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_147: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x17ffffd1 // b LBB0_143 $-188(%rip) +LBB0_148: + WORD $0xdac000e5 // rbit x5, x7 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xdac00231 // rbit x17, x17 + WORD $0xdac01231 // clz x17, x17 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x54009d43 // b.lo LBB0_427 $5032(%rip) + WORD $0x8b1c00b1 // add x17, x5, x28 +LBB0_150: + WORD $0x9100063c // add x28, x17, #1 + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb7f890bc // tbnz x28, #63, LBB0_397 $4628(%rip) +LBB0_151: + WORD $0xf900003c // str x28, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0xb27ff7f1 // mov x17, #9223372036854775806 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008e48 // b.hi LBB0_394 $4552(%rip) + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x54008f6c // b.gt LBB0_396 $4588(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000051 // str x17, [x2] + WORD $0xf8287944 // str x4, [x10, x8, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ff9f25 // cbnz x5, LBB0_1 $-3100(%rip) + WORD $0x14000468 // b LBB0_394 $4512(%rip) +LBB0_154: + WORD $0x71008abf // cmp w21, #34 + WORD $0x540008c0 // b.eq LBB0_174 $280(%rip) + WORD $0x7100b6bf // cmp w21, #45 + WORD $0x54008c81 // b.ne LBB0_394 $4496(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0118 // subs x24, x8, x28 + WORD $0x540090c0 // b.eq LBB0_408 $4632(%rip) + WORD $0xb20903e4 // mov x4, #36028797027352576 + WORD $0xf2800024 // movk x4, #1 + WORD $0x8b1c0128 // add x8, x9, x28 + WORD $0x39400111 // ldrb w17, [x8] + WORD $0x7100c23f // cmp w17, #48 + WORD $0x54002281 // b.ne LBB0_198 $1104(%rip) + WORD $0xf100071f // cmp x24, #1 + WORD $0x54002141 // b.ne LBB0_196 $1064(%rip) +LBB0_159: + WORD $0x52800027 // mov w7, #1 + WORD $0x140001ac // b LBB0_244 $1712(%rip) +LBB0_160: + WORD $0x71016ebf // cmp w21, #91 + WORD $0x54000540 // b.eq LBB0_172 $168(%rip) + WORD $0x71019abf // cmp w21, #102 + WORD $0x54008a61 // b.ne LBB0_394 $4428(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1001111 // sub x17, x8, #4 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008de2 // b.hs LBB0_406 $4540(%rip) + WORD $0xb87c6928 // ldr w8, [x9, x28] + WORD $0x528d8c31 // mov w17, #27745 + WORD $0x72acae71 // movk w17, #25971, lsl #16 + WORD $0x6b11011f // cmp w8, w17 + WORD $0x54009381 // b.ne LBB0_420 $4720(%rip) + WORD $0x9100177c // add x28, x27, #5 + WORD $0x14000015 // b LBB0_170 $84(%rip) +LBB0_165: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1000d11 // sub x17, x8, #3 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008c82 // b.hs LBB0_406 $4496(%rip) + WORD $0xb87b6928 // ldr w8, [x9, x27] + WORD $0x528e4e91 // mov w17, #29300 + WORD $0x72acaeb1 // movk w17, #25973, lsl #16 + WORD $0x6b11011f // cmp w8, w17 + WORD $0x54000160 // b.eq LBB0_169 $44(%rip) + WORD $0x1400047b // b LBB0_415 $4588(%rip) +LBB0_167: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1000d11 // sub x17, x8, #3 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008b42 // b.hs LBB0_406 $4456(%rip) + WORD $0xb87b6928 // ldr w8, [x9, x27] + WORD $0x528eadd1 // mov w17, #30062 + WORD $0x72ad8d91 // movk w17, #27756, lsl #16 + WORD $0x6b11011f // cmp w8, w17 + WORD $0x54008bc1 // b.ne LBB0_411 $4472(%rip) +LBB0_169: + WORD $0x9100137c // add x28, x27, #4 +LBB0_170: + WORD $0xf900003c // str x28, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0xeb06037f // cmp x27, x6 + WORD $0x54008602 // b.hs LBB0_394 $4288(%rip) +LBB0_171: + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ff97a5 // cbnz x5, LBB0_1 $-3340(%rip) + WORD $0x1400042c // b LBB0_394 $4272(%rip) +LBB0_172: + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x540086ac // b.gt LBB0_396 $4308(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000051 // str x17, [x2] + WORD $0x528000b1 // mov w17, #5 + WORD $0xf8287951 // str x17, [x10, x8, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ff9645 // cbnz x5, LBB0_1 $-3384(%rip) + WORD $0x14000421 // b LBB0_394 $4228(%rip) +LBB0_174: + WORD $0x3200f3f8 // mov w24, #1431655765 + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0114 // subs x20, x8, x28 + WORD $0x37280b43 // tbnz w3, #5, LBB0_185 $360(%rip) + WORD $0x54008580 // b.eq LBB0_398 $4272(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x540051e3 // b.lo LBB0_307 $2620(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_178: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405634 // ldp q20, q21, [x17] + WORD $0xad415e36 // ldp q22, q23, [x17, #32] + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e208efb // cmeq.16b v27, v23, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x4e221f38 // and.16b v24, v25, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260304 // fmov w4, s24 + WORD $0x4e221f58 // and.16b v24, v26, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260306 // fmov w6, s24 + WORD $0x4e221f78 // and.16b v24, v27, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260293 // fmov w19, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260296 // fmov w22, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0xd3607cc6 // lsl x6, x6, #32 + WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 + WORD $0x53103c84 // lsl w4, w4, #16 + WORD $0xaa0400c4 // orr x4, x6, x4 + WORD $0xaa110087 // orr x7, x4, x17 + WORD $0xd3607ed1 // lsl x17, x22, #32 + WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 + WORD $0x53103ea4 // lsl w4, w21, #16 + WORD $0xaa040231 // orr x17, x17, x4 + WORD $0xaa130231 // orr x17, x17, x19 + WORD $0xb5000131 // cbnz x17, LBB0_182 $36(%rip) + WORD $0xb50001a5 // cbnz x5, LBB0_183 $52(%rip) + WORD $0x52800073 // mov w19, #3 + WORD $0xb5ffa2c7 // cbnz x7, LBB0_38 $-2984(%rip) +LBB0_181: + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff888 // b.hi LBB0_178 $-240(%rip) + WORD $0x14000247 // b LBB0_304 $2332(%rip) +LBB0_182: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00224 // rbit x4, x17 + WORD $0xdac01084 // clz x4, x4 + WORD $0x8b1c0084 // add x4, x4, x28 + WORD $0x9a841108 // csel x8, x8, x4, ne +LBB0_183: + WORD $0x8a250224 // bic x4, x17, x5 + WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 + WORD $0x8a260231 // bic x17, x17, x6 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab040231 // adds x17, x17, x4 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a060231 // and x17, x17, x6 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x52800073 // mov w19, #3 + WORD $0xb4fffd67 // cbz x7, LBB0_181 $-84(%rip) + WORD $0x17fffcff // b LBB0_38 $-3076(%rip) +LBB0_184: + WORD $0xaa1803f6 // mov x22, x24 + WORD $0x92800015 // mov x21, #-1 + WORD $0xb5ffd688 // cbnz x8, LBB0_125 $-1328(%rip) + WORD $0x140003d8 // b LBB0_400 $3936(%rip) +LBB0_185: + WORD $0x54007a60 // b.eq LBB0_398 $3916(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54004b43 // b.lo LBB0_313 $2408(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_188: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405a37 // ldp q23, q22, [x17] + WORD $0xad415235 // ldp q21, q20, [x17, #32] + WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260304 // fmov w4, s24 + WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260306 // fmov w6, s24 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260313 // fmov w19, s24 + WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x6e218e98 // cmeq.16b v24, v20, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260317 // fmov w23, s24 + WORD $0xd3607cc6 // lsl x6, x6, #32 + WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 + WORD $0x53103c84 // lsl w4, w4, #16 + WORD $0xaa0400c4 // orr x4, x6, x4 + WORD $0xaa110087 // orr x7, x4, x17 + WORD $0xd3607ed1 // lsl x17, x22, #32 + WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 + WORD $0x53103ea4 // lsl w4, w21, #16 + WORD $0xaa040231 // orr x17, x17, x4 + WORD $0xaa130231 // orr x17, x17, x19 + WORD $0xb5000451 // cbnz x17, LBB0_193 $136(%rip) + WORD $0xb50004c5 // cbnz x5, LBB0_194 $152(%rip) +LBB0_190: + WORD $0x6e373497 // cmhi.16b v23, v4, v23 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x6e363496 // cmhi.16b v22, v4, v22 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c4 // fmov w4, s22 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a6 // fmov w6, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260293 // fmov w19, s20 + WORD $0xd3607cc6 // lsl x6, x6, #32 + WORD $0xaa13c0c6 // orr x6, x6, x19, lsl #48 + WORD $0x53103c84 // lsl w4, w4, #16 + WORD $0xaa0400c4 // orr x4, x6, x4 + WORD $0xaa110091 // orr x17, x4, x17 + WORD $0xb50002e7 // cbnz x7, LBB0_195 $92(%rip) + WORD $0xb50070f1 // cbnz x17, LBB0_404 $3612(%rip) + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff568 // b.hi LBB0_188 $-340(%rip) + WORD $0x140001d7 // b LBB0_305 $1884(%rip) +LBB0_193: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00224 // rbit x4, x17 + WORD $0xdac01084 // clz x4, x4 + WORD $0x8b1c0084 // add x4, x4, x28 + WORD $0x9a841108 // csel x8, x8, x4, ne +LBB0_194: + WORD $0x8a250224 // bic x4, x17, x5 + WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 + WORD $0x8a260231 // bic x17, x17, x6 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab040231 // adds x17, x17, x4 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a060231 // and x17, x17, x6 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x17ffffd1 // b LBB0_190 $-188(%rip) +LBB0_195: + WORD $0xdac000e4 // rbit x4, x7 + WORD $0xdac01085 // clz x5, x4 + WORD $0xdac00231 // rbit x17, x17 + WORD $0xdac01231 // clz x17, x17 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x52800073 // mov w19, #3 + WORD $0x54ffc682 // b.hs LBB0_120 $-1840(%rip) + WORD $0x140003bc // b LBB0_427 $3824(%rip) +LBB0_196: + WORD $0x39400511 // ldrb w17, [x8, #1] + WORD $0x5100ba31 // sub w17, w17, #46 + WORD $0x7100de3f // cmp w17, #55 + WORD $0x54ffde88 // b.hi LBB0_159 $-1072(%rip) + WORD $0x9ad121f1 // lsl x17, x15, x17 + WORD $0x52800027 // mov w7, #1 + WORD $0xea04023f // tst x17, x4 + WORD $0x540013a0 // b.eq LBB0_244 $628(%rip) +LBB0_198: + WORD $0xf100431f // cmp x24, #16 + WORD $0x54004803 // b.lo LBB0_335 $2304(%rip) + WORD $0xd2800017 // mov x23, #0 + WORD $0xd2800007 // mov x7, #0 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800005 // mov x5, #-1 + WORD $0x92800014 // mov x20, #-1 +LBB0_200: + WORD $0x3ce76914 // ldr q20, [x8, x7] + WORD $0x6e258e95 // cmeq.16b v21, v20, v5 + WORD $0x6e268e96 // cmeq.16b v22, v20, v6 + WORD $0x6e278e97 // cmeq.16b v23, v20, v7 + WORD $0x4e308698 // add.16b v24, v20, v16 + WORD $0x6e383638 // cmhi.16b v24, v17, v24 + WORD $0x4e321e94 // and.16b v20, v20, v18 + WORD $0x6e338e94 // cmeq.16b v20, v20, v19 + WORD $0x4eb71ed6 // orr.16b v22, v22, v23 + WORD $0x4eb51f17 // orr.16b v23, v24, v21 + WORD $0x4eb61e98 // orr.16b v24, v20, v22 + WORD $0x4eb81ef7 // orr.16b v23, v23, v24 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b1 // fmov w17, s21 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260284 // fmov w4, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260286 // fmov w6, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x2a3503f5 // mvn w21, w21 + WORD $0x32103eb5 // orr w21, w21, #0xffff0000 + WORD $0x5ac002b5 // rbit w21, w21 + WORD $0x5ac012b5 // clz w21, w21 + WORD $0x12800013 // mov w19, #-1 + WORD $0x1ad52276 // lsl w22, w19, w21 + WORD $0x0a360239 // bic w25, w17, w22 + WORD $0x0a360093 // bic w19, w4, w22 + WORD $0x0a3600d6 // bic w22, w6, w22 + WORD $0x710042bf // cmp w21, #16 + WORD $0x1a99023a // csel w26, w17, w25, eq + WORD $0x1a930091 // csel w17, w4, w19, eq + WORD $0x1a9600d6 // csel w22, w6, w22, eq + WORD $0x51000744 // sub w4, w26, #1 + WORD $0x6a1a0099 // ands w25, w4, w26 + WORD $0x54002f81 // b.ne LBB0_303 $1520(%rip) + WORD $0x51000624 // sub w4, w17, #1 + WORD $0x6a110099 // ands w25, w4, w17 + WORD $0x54002f21 // b.ne LBB0_303 $1508(%rip) + WORD $0x510006c4 // sub w4, w22, #1 + WORD $0x6a160099 // ands w25, w4, w22 + WORD $0x54002ec1 // b.ne LBB0_303 $1496(%rip) + WORD $0x340000da // cbz w26, LBB0_206 $24(%rip) + WORD $0x5ac00344 // rbit w4, w26 + WORD $0x5ac0109a // clz w26, w4 + WORD $0xb100069f // cmn x20, #1 + WORD $0x54004001 // b.ne LBB0_334 $2048(%rip) + WORD $0x8b1a00f4 // add x20, x7, x26 +LBB0_206: + WORD $0x340000d1 // cbz w17, LBB0_209 $24(%rip) + WORD $0x5ac00231 // rbit w17, w17 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10004bf // cmn x5, #1 + WORD $0x54002ea1 // b.ne LBB0_306 $1492(%rip) + WORD $0x8b1100e5 // add x5, x7, x17 +LBB0_209: + WORD $0x340000d6 // cbz w22, LBB0_212 $24(%rip) + WORD $0x5ac002d1 // rbit w17, w22 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10007df // cmn lr, #1 + WORD $0x54002de1 // b.ne LBB0_306 $1468(%rip) + WORD $0x8b1100fe // add lr, x7, x17 +LBB0_212: + WORD $0x710042bf // cmp w21, #16 + WORD $0x540005e1 // b.ne LBB0_230 $188(%rip) + WORD $0x910040e7 // add x7, x7, #16 + WORD $0xd10042f7 // sub x23, x23, #16 + WORD $0x8b170315 // add x21, x24, x23 + WORD $0xf1003ebf // cmp x21, #15 + WORD $0x54fff6c8 // b.hi LBB0_200 $-296(%rip) + WORD $0x8b070116 // add x22, x8, x7 + WORD $0xeb07031f // cmp x24, x7 + WORD $0x52800073 // mov w19, #3 + WORD $0x54000520 // b.eq LBB0_231 $164(%rip) +LBB0_215: + WORD $0x8b1502c6 // add x6, x22, x21 + WORD $0x8b160191 // add x17, x12, x22 + WORD $0xcb1b0238 // sub x24, x17, x27 + WORD $0xaa1603f7 // mov x23, x22 + WORD $0x14000008 // b LBB0_219 $32(%rip) +LBB0_216: + WORD $0xb10007df // cmn lr, #1 + WORD $0x54002a01 // b.ne LBB0_302 $1344(%rip) + WORD $0xd100071e // sub lr, x24, #1 +LBB0_218: + WORD $0x91000718 // add x24, x24, #1 + WORD $0xaa1703f6 // mov x22, x23 + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0xb4000a35 // cbz x21, LBB0_249 $324(%rip) +LBB0_219: + WORD $0x384016f1 // ldrb w17, [x23], #1 + WORD $0x5100c224 // sub w4, w17, #48 + WORD $0x7100289f // cmp w4, #10 + WORD $0x54ffff23 // b.lo LBB0_218 $-28(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x5400016d // b.le LBB0_226 $44(%rip) + WORD $0x7101963f // cmp w17, #101 + WORD $0x540001c0 // b.eq LBB0_228 $56(%rip) + WORD $0x7101163f // cmp w17, #69 + WORD $0x54000180 // b.eq LBB0_228 $48(%rip) + WORD $0x7100ba3f // cmp w17, #46 + WORD $0x54000221 // b.ne LBB0_231 $68(%rip) + WORD $0xb100069f // cmn x20, #1 + WORD $0x540027a1 // b.ne LBB0_302 $1268(%rip) + WORD $0xd1000714 // sub x20, x24, #1 + WORD $0x17ffffed // b LBB0_218 $-76(%rip) +LBB0_226: + WORD $0x7100ae3f // cmp w17, #43 + WORD $0x54fffd00 // b.eq LBB0_216 $-96(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x54fffcc0 // b.eq LBB0_216 $-104(%rip) + WORD $0x14000008 // b LBB0_231 $32(%rip) +LBB0_228: + WORD $0xb10004bf // cmn x5, #1 + WORD $0x54002681 // b.ne LBB0_302 $1232(%rip) + WORD $0xd1000705 // sub x5, x24, #1 + WORD $0x17ffffe4 // b LBB0_218 $-112(%rip) +LBB0_230: + WORD $0x8b354111 // add x17, x8, w21, uxtw + WORD $0x8b070236 // add x22, x17, x7 + WORD $0x52800073 // mov w19, #3 +LBB0_231: + WORD $0x92800007 // mov x7, #-1 + WORD $0xb4005dd4 // cbz x20, LBB0_409 $3000(%rip) +LBB0_232: + WORD $0xb4005dbe // cbz lr, LBB0_409 $2996(%rip) + WORD $0xb4005d85 // cbz x5, LBB0_409 $2992(%rip) + WORD $0xcb0802c8 // sub x8, x22, x8 + WORD $0xd1000511 // sub x17, x8, #1 + WORD $0xeb11029f // cmp x20, x17 + WORD $0x540002a0 // b.eq LBB0_242 $84(%rip) + WORD $0xeb1103df // cmp lr, x17 + WORD $0x54000260 // b.eq LBB0_242 $76(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x54000220 // b.eq LBB0_242 $68(%rip) + WORD $0xf10007d1 // subs x17, lr, #1 + WORD $0x5400006b // b.lt LBB0_239 $12(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x54005c21 // b.ne LBB0_410 $2948(%rip) +LBB0_239: + WORD $0xaa050291 // orr x17, x20, x5 + WORD $0xb7f80071 // tbnz x17, #63, LBB0_241 $12(%rip) + WORD $0xeb05029f // cmp x20, x5 + WORD $0x540063ea // b.ge LBB0_426 $3196(%rip) +LBB0_241: + WORD $0xd37ffe31 // lsr x17, x17, #63 + WORD $0x52000231 // eor w17, w17, #0x1 + WORD $0xd10004a4 // sub x4, x5, #1 + WORD $0xeb04029f // cmp x20, x4 + WORD $0x1a9f17e4 // cset w4, eq + WORD $0x6a04023f // tst w17, w4 + WORD $0xda850107 // csinv x7, x8, x5, eq + WORD $0x14000002 // b LBB0_243 $8(%rip) +LBB0_242: + WORD $0xcb0803e7 // neg x7, x8 +LBB0_243: + WORD $0xb7f85a47 // tbnz x7, #63, LBB0_409 $2888(%rip) +LBB0_244: + WORD $0x8b1c00fc // add x28, x7, x28 + WORD $0xf900003c // str x28, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xeb06037f // cmp x27, x6 + WORD $0x52800084 // mov w4, #4 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0x54ffce83 // b.lo LBB0_171 $-1584(%rip) + WORD $0x140002a2 // b LBB0_394 $2696(%rip) +LBB0_245: + WORD $0x5ac00328 // rbit w8, w25 + WORD $0x5ac01108 // clz w8, w8 + WORD $0xaa3c03f1 // mvn x17, x28 + WORD $0xcb080235 // sub x21, x17, x8 + WORD $0x17fffda7 // b LBB0_136 $-2404(%rip) +LBB0_246: + WORD $0xaa3c03e8 // mvn x8, x28 + WORD $0xcb314115 // sub x21, x8, w17, uxtw + WORD $0x17fffda4 // b LBB0_136 $-2416(%rip) +LBB0_247: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400000a // b LBB0_251 $40(%rip) +LBB0_248: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400002c // b LBB0_257 $176(%rip) +LBB0_249: + WORD $0xaa0603f6 // mov x22, x6 + WORD $0x92800007 // mov x7, #-1 + WORD $0xb5fff994 // cbnz x20, LBB0_232 $-208(%rip) + WORD $0x140002b8 // b LBB0_409 $2784(%rip) +LBB0_250: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_251: + WORD $0xf1008287 // subs x7, x20, #32 + WORD $0x54003463 // b.lo LBB0_339 $1676(%rip) + WORD $0xad405794 // ldp q20, q21, [x28] + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x4e221ef6 // and.16b v22, v23, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260296 // fmov w22, s20 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35002ed5 // cbnz w21, LBB0_336 $1496(%rip) + WORD $0xb5002f65 // cbnz x5, LBB0_337 $1516(%rip) + WORD $0xb40030f4 // cbz x20, LBB0_338 $1564(%rip) +LBB0_255: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0x8b1100b1 // add x17, x5, x17 + WORD $0x17fffd52 // b LBB0_121 $-2744(%rip) +LBB0_256: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_257: + WORD $0xf1008295 // subs x21, x20, #32 + WORD $0x54000643 // b.lo LBB0_265 $200(%rip) + WORD $0xad405395 // ldp q21, q20, [x28] + WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c7 // fmov w7, s22 + WORD $0x6e218e96 // cmeq.16b v22, v20, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d6 // fmov w22, s22 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ec7 // bfi w7, w22, #16, #16 + WORD $0x35003047 // cbnz w7, LBB0_349 $1544(%rip) + WORD $0xb50030e5 // cbnz x5, LBB0_350 $1564(%rip) +LBB0_260: + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a7 // fmov w7, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x33103e27 // bfi w7, w17, #16, #16 + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xb4000114 // cbz x20, LBB0_263 $32(%rip) + WORD $0xdac00285 // rbit x5, x20 + WORD $0xdac010a7 // clz x7, x5 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x54005563 // b.lo LBB0_428 $2732(%rip) + WORD $0x8b0700b1 // add x17, x5, x7 + WORD $0x17fffd1f // b LBB0_121 $-2948(%rip) +LBB0_263: + WORD $0x35005547 // cbnz w7, LBB0_429 $2728(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa1503f4 // mov x20, x21 +LBB0_265: + WORD $0xb5003965 // cbnz x5, LBB0_368 $1836(%rip) + WORD $0xb40048d4 // cbz x20, LBB0_398 $2328(%rip) +LBB0_267: + WORD $0xd2800005 // mov x5, #0 +LBB0_268: + WORD $0x38656b91 // ldrb w17, [x28, x5] + WORD $0x71008a3f // cmp w17, #34 + WORD $0x540002e0 // b.eq LBB0_274 $92(%rip) + WORD $0x7101723f // cmp w17, #92 + WORD $0x540000e0 // b.eq LBB0_272 $28(%rip) + WORD $0x71007e3f // cmp w17, #31 + WORD $0x54005429 // b.ls LBB0_430 $2692(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54fffee1 // b.ne LBB0_268 $-36(%rip) + WORD $0x1400023a // b LBB0_398 $2280(%rip) +LBB0_272: + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x540046e0 // b.eq LBB0_398 $2268(%rip) + WORD $0x8b050391 // add x17, x28, x5 + WORD $0x8b0c0227 // add x7, x17, x12 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a8800e8 // csel x8, x7, x8, eq + WORD $0x91000a3c // add x28, x17, #2 + WORD $0xcb050291 // sub x17, x20, x5 + WORD $0xd1000a87 // sub x7, x20, #2 + WORD $0xd1000a34 // sub x20, x17, #2 + WORD $0xeb0500ff // cmp x7, x5 + WORD $0x54fffd01 // b.ne LBB0_267 $-96(%rip) + WORD $0x1400022c // b LBB0_398 $2224(%rip) +LBB0_274: + WORD $0x8b1c0191 // add x17, x12, x28 + WORD $0x8b050231 // add x17, x17, x5 + WORD $0x17fffcfd // b LBB0_121 $-3084(%rip) +LBB0_275: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x14000006 // b LBB0_278 $24(%rip) +LBB0_276: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x14000028 // b LBB0_284 $160(%rip) +LBB0_277: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_278: + WORD $0xf1008287 // subs x7, x20, #32 + WORD $0x54002d23 // b.lo LBB0_354 $1444(%rip) + WORD $0xad405794 // ldp q20, q21, [x28] + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x4e221ef6 // and.16b v22, v23, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260296 // fmov w22, s20 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35002795 // cbnz w21, LBB0_351 $1264(%rip) + WORD $0xb5002825 // cbnz x5, LBB0_352 $1284(%rip) + WORD $0xb40029b4 // cbz x20, LBB0_353 $1332(%rip) +LBB0_282: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0x8b1100b1 // add x17, x5, x17 + WORD $0x17fffd75 // b LBB0_150 $-2604(%rip) +LBB0_283: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_284: + WORD $0xf1008295 // subs x21, x20, #32 + WORD $0x54000643 // b.lo LBB0_292 $200(%rip) + WORD $0xad405395 // ldp q21, q20, [x28] + WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c7 // fmov w7, s22 + WORD $0x6e218e96 // cmeq.16b v22, v20, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d6 // fmov w22, s22 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ec7 // bfi w7, w22, #16, #16 + WORD $0x350029a7 // cbnz w7, LBB0_364 $1332(%rip) + WORD $0xb5002a45 // cbnz x5, LBB0_365 $1352(%rip) +LBB0_287: + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a7 // fmov w7, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x33103e27 // bfi w7, w17, #16, #16 + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xb4000114 // cbz x20, LBB0_290 $32(%rip) + WORD $0xdac00285 // rbit x5, x20 + WORD $0xdac010a7 // clz x7, x5 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x540045c3 // b.lo LBB0_428 $2232(%rip) + WORD $0x8b0700b1 // add x17, x5, x7 + WORD $0x17fffd42 // b LBB0_150 $-2808(%rip) +LBB0_290: + WORD $0x350045a7 // cbnz w7, LBB0_429 $2228(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa1503f4 // mov x20, x21 +LBB0_292: + WORD $0xb5002bc5 // cbnz x5, LBB0_372 $1400(%rip) + WORD $0xb4003934 // cbz x20, LBB0_398 $1828(%rip) +LBB0_294: + WORD $0xd2800005 // mov x5, #0 +LBB0_295: + WORD $0x38656b91 // ldrb w17, [x28, x5] + WORD $0x71008a3f // cmp w17, #34 + WORD $0x540002e0 // b.eq LBB0_301 $92(%rip) + WORD $0x7101723f // cmp w17, #92 + WORD $0x540000e0 // b.eq LBB0_299 $28(%rip) + WORD $0x71007e3f // cmp w17, #31 + WORD $0x54004489 // b.ls LBB0_430 $2192(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54fffee1 // b.ne LBB0_295 $-36(%rip) + WORD $0x140001bd // b LBB0_398 $1780(%rip) +LBB0_299: + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x54003740 // b.eq LBB0_398 $1768(%rip) + WORD $0x8b050391 // add x17, x28, x5 + WORD $0x8b0c0227 // add x7, x17, x12 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a8800e8 // csel x8, x7, x8, eq + WORD $0x91000a3c // add x28, x17, #2 + WORD $0xcb050291 // sub x17, x20, x5 + WORD $0xd1000a87 // sub x7, x20, #2 + WORD $0xd1000a34 // sub x20, x17, #2 + WORD $0xeb0500ff // cmp x7, x5 + WORD $0x54fffd01 // b.ne LBB0_294 $-96(%rip) + WORD $0x140001af // b LBB0_398 $1724(%rip) +LBB0_301: + WORD $0x8b1c0191 // add x17, x12, x28 + WORD $0x8b050231 // add x17, x17, x5 + WORD $0x17fffd20 // b LBB0_150 $-2944(%rip) +LBB0_302: + WORD $0xcb1803e7 // neg x7, x24 + WORD $0x17fffeee // b LBB0_243 $-1096(%rip) +LBB0_303: + WORD $0x5ac00328 // rbit w8, w25 + WORD $0x5ac01108 // clz w8, w8 + WORD $0xaa2703f1 // mvn x17, x7 + WORD $0xcb080227 // sub x7, x17, x8 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffee8 // b LBB0_243 $-1120(%rip) +LBB0_304: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400000a // b LBB0_308 $40(%rip) +LBB0_305: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400002c // b LBB0_314 $176(%rip) +LBB0_306: + WORD $0xaa2703e8 // mvn x8, x7 + WORD $0xcb314107 // sub x7, x8, w17, uxtw + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffee0 // b LBB0_243 $-1152(%rip) +LBB0_307: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_308: + WORD $0xf1008287 // subs x7, x20, #32 + WORD $0x540028e3 // b.lo LBB0_377 $1308(%rip) + WORD $0xad405794 // ldp q20, q21, [x28] + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x4e221ef6 // and.16b v22, v23, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260284 // fmov w4, s20 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103c95 // bfi w21, w4, #16, #16 + WORD $0x35002375 // cbnz w21, LBB0_374 $1132(%rip) + WORD $0xb5002405 // cbnz x5, LBB0_375 $1152(%rip) + WORD $0xb4002574 // cbz x20, LBB0_376 $1196(%rip) +LBB0_312: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090384 // sub x4, x28, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0x14000055 // b LBB0_332 $340(%rip) +LBB0_313: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_314: + WORD $0xf1008295 // subs x21, x20, #32 + WORD $0x54000643 // b.lo LBB0_322 $200(%rip) + WORD $0xad405395 // ldp q21, q20, [x28] + WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c7 // fmov w7, s22 + WORD $0x6e218e96 // cmeq.16b v22, v20, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c4 // fmov w4, s22 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103c87 // bfi w7, w4, #16, #16 + WORD $0x350024e7 // cbnz w7, LBB0_386 $1180(%rip) + WORD $0xb5002585 // cbnz x5, LBB0_387 $1200(%rip) +LBB0_317: + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a7 // fmov w7, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x33103e27 // bfi w7, w17, #16, #16 + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xb4000114 // cbz x20, LBB0_320 $32(%rip) + WORD $0xdac00284 // rbit x4, x20 + WORD $0xdac01087 // clz x7, x4 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x540034a3 // b.lo LBB0_428 $1684(%rip) + WORD $0x8b0700b1 // add x17, x5, x7 + WORD $0x14000022 // b LBB0_332 $136(%rip) +LBB0_320: + WORD $0x35003487 // cbnz w7, LBB0_429 $1680(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa1503f4 // mov x20, x21 +LBB0_322: + WORD $0xb5002505 // cbnz x5, LBB0_391 $1184(%rip) + WORD $0xb4002814 // cbz x20, LBB0_398 $1280(%rip) +LBB0_324: + WORD $0xd2800005 // mov x5, #0 +LBB0_325: + WORD $0x38656b91 // ldrb w17, [x28, x5] + WORD $0x71008a3f // cmp w17, #34 + WORD $0x540002e0 // b.eq LBB0_331 $92(%rip) + WORD $0x7101723f // cmp w17, #92 + WORD $0x540000e0 // b.eq LBB0_329 $28(%rip) + WORD $0x71007e3f // cmp w17, #31 + WORD $0x54003369 // b.ls LBB0_430 $1644(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54fffee1 // b.ne LBB0_325 $-36(%rip) + WORD $0x14000134 // b LBB0_398 $1232(%rip) +LBB0_329: + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x54002620 // b.eq LBB0_398 $1220(%rip) + WORD $0x8b050391 // add x17, x28, x5 + WORD $0x8b0c0224 // add x4, x17, x12 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880088 // csel x8, x4, x8, eq + WORD $0x91000a3c // add x28, x17, #2 + WORD $0xcb050291 // sub x17, x20, x5 + WORD $0xd1000a84 // sub x4, x20, #2 + WORD $0xd1000a34 // sub x20, x17, #2 + WORD $0xeb05009f // cmp x4, x5 + WORD $0x54fffd01 // b.ne LBB0_324 $-96(%rip) + WORD $0x14000126 // b LBB0_398 $1176(%rip) +LBB0_331: + WORD $0x8b1c0191 // add x17, x12, x28 + WORD $0x8b050231 // add x17, x17, x5 +LBB0_332: + WORD $0x9100063c // add x28, x17, #1 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffbf6 // b LBB0_122 $-4136(%rip) +LBB0_333: + WORD $0x92800008 // mov x8, #-1 + WORD $0xaa1e03f6 // mov x22, lr + WORD $0xaa1503f7 // mov x23, x21 + WORD $0x92800005 // mov x5, #-1 + WORD $0x92800014 // mov x20, #-1 + WORD $0x17fffb21 // b LBB0_82 $-4988(%rip) +LBB0_334: + WORD $0xaa2703e8 // mvn x8, x7 + WORD $0xcb3a4107 // sub x7, x8, w26, uxtw + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffe5b // b LBB0_243 $-1684(%rip) +LBB0_335: + WORD $0x92800014 // mov x20, #-1 + WORD $0xaa0803f6 // mov x22, x8 + WORD $0xaa1803f5 // mov x21, x24 + WORD $0x92800005 // mov x5, #-1 + WORD $0x9280001e // mov lr, #-1 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffe0f // b LBB0_215 $-1988(%rip) +LBB0_336: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_337: + WORD $0x0a2502b1 // bic w17, w21, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1102b1 // adds w17, w21, w17 + WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0xb5ffcf74 // cbnz x20, LBB0_255 $-1556(%rip) +LBB0_338: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0703f4 // mov x20, x7 +LBB0_339: + WORD $0xb5000ec5 // cbnz x5, LBB0_366 $472(%rip) + WORD $0xb4000314 // cbz x20, LBB0_348 $96(%rip) +LBB0_341: + WORD $0xaa1c03e7 // mov x7, x28 + WORD $0x384014e5 // ldrb w5, [x7], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000260 // b.eq LBB0_347 $76(%rip) + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_344 $20(%rip) + WORD $0xaa0703fc // mov x28, x7 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffef1 // cbnz x17, LBB0_341 $-36(%rip) + WORD $0x14000009 // b LBB0_346 $36(%rip) +LBB0_344: + WORD $0xb4001db1 // cbz x17, LBB0_398 $948(%rip) + WORD $0x8b0b00f1 // add x17, x7, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000a91 // sub x17, x20, #2 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffdd1 // cbnz x17, LBB0_341 $-72(%rip) +LBB0_346: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000060 // b.eq LBB0_348 $12(%rip) + WORD $0x140000e3 // b LBB0_398 $908(%rip) +LBB0_347: + WORD $0xaa0703fc // mov x28, x7 +LBB0_348: + WORD $0xcb09039c // sub x28, x28, x9 + WORD $0x17fffbb5 // b LBB0_122 $-4396(%rip) +LBB0_349: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_350: + WORD $0x0a2500f1 // bic w17, w7, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3600e7 // bic w7, w7, w22 + WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa + WORD $0x2b1100f1 // adds w17, w7, w17 + WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffe6e // b LBB0_260 $-1608(%rip) +LBB0_351: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_352: + WORD $0x0a2502b1 // bic w17, w21, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1102b1 // adds w17, w21, w17 + WORD $0x4a110491 // eor w17, w4, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0xb5ffd6b4 // cbnz x20, LBB0_282 $-1324(%rip) +LBB0_353: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0703f4 // mov x20, x7 +LBB0_354: + WORD $0xb5000865 // cbnz x5, LBB0_370 $268(%rip) + WORD $0xb4000314 // cbz x20, LBB0_363 $96(%rip) +LBB0_356: + WORD $0xaa1c03e7 // mov x7, x28 + WORD $0x384014e5 // ldrb w5, [x7], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000260 // b.eq LBB0_362 $76(%rip) + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_359 $20(%rip) + WORD $0xaa0703fc // mov x28, x7 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffef1 // cbnz x17, LBB0_356 $-36(%rip) + WORD $0x14000009 // b LBB0_361 $36(%rip) +LBB0_359: + WORD $0xb4001551 // cbz x17, LBB0_398 $680(%rip) + WORD $0x8b0b00f1 // add x17, x7, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000a91 // sub x17, x20, #2 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffdd1 // cbnz x17, LBB0_356 $-72(%rip) +LBB0_361: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000060 // b.eq LBB0_363 $12(%rip) + WORD $0x140000a0 // b LBB0_398 $640(%rip) +LBB0_362: + WORD $0xaa0703fc // mov x28, x7 +LBB0_363: + WORD $0xcb09039c // sub x28, x28, x9 + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb6ff827c // tbz x28, #63, LBB0_151 $-4020(%rip) + WORD $0x14000096 // b LBB0_397 $600(%rip) +LBB0_364: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_365: + WORD $0x0a2500f1 // bic w17, w7, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3600e7 // bic w7, w7, w22 + WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa + WORD $0x2b1100f1 // adds w17, w7, w17 + WORD $0x4a110491 // eor w17, w4, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffea3 // b LBB0_287 $-1396(%rip) +LBB0_366: + WORD $0xb4001094 // cbz x20, LBB0_398 $528(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5fff0d4 // cbnz x20, LBB0_341 $-488(%rip) + WORD $0x17ffff9c // b LBB0_348 $-400(%rip) +LBB0_368: + WORD $0xb4000f94 // cbz x20, LBB0_398 $496(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5ffc634 // cbnz x20, LBB0_267 $-1852(%rip) + WORD $0x14000075 // b LBB0_398 $468(%rip) +LBB0_370: + WORD $0xb4000e94 // cbz x20, LBB0_398 $464(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5fff734 // cbnz x20, LBB0_356 $-284(%rip) + WORD $0x17ffffcf // b LBB0_363 $-196(%rip) +LBB0_372: + WORD $0xb4000d94 // cbz x20, LBB0_398 $432(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5ffd3d4 // cbnz x20, LBB0_294 $-1416(%rip) + WORD $0x14000065 // b LBB0_398 $404(%rip) +LBB0_374: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090384 // sub x4, x28, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_375: + WORD $0x0a2502b1 // bic w17, w21, w5 + WORD $0x531f7a24 // lsl w4, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a2402a4 // bic w4, w21, w4 + WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa + WORD $0x2b110091 // adds w17, w4, w17 + WORD $0x4a110711 // eor w17, w24, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0xb5ffdaf4 // cbnz x20, LBB0_312 $-1188(%rip) +LBB0_376: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0703f4 // mov x20, x7 +LBB0_377: + WORD $0xb50005c5 // cbnz x5, LBB0_388 $184(%rip) + WORD $0xb4000694 // cbz x20, LBB0_390 $208(%rip) +LBB0_379: + WORD $0xaa1c03e7 // mov x7, x28 + WORD $0x384014e5 // ldrb w5, [x7], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000280 // b.eq LBB0_385 $80(%rip) + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_382 $20(%rip) + WORD $0xaa0703fc // mov x28, x7 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffef1 // cbnz x17, LBB0_379 $-36(%rip) + WORD $0x14000009 // b LBB0_384 $36(%rip) +LBB0_382: + WORD $0xb4000871 // cbz x17, LBB0_398 $268(%rip) + WORD $0x8b0b00f1 // add x17, x7, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000a91 // sub x17, x20, #2 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffdd1 // cbnz x17, LBB0_379 $-72(%rip) +LBB0_384: + WORD $0x710088bf // cmp w5, #34 + WORD $0x52800073 // mov w19, #3 + WORD $0x54ffeb00 // b.eq LBB0_348 $-672(%rip) + WORD $0x14000038 // b LBB0_398 $224(%rip) +LBB0_385: + WORD $0xaa0703fc // mov x28, x7 + WORD $0x52800073 // mov w19, #3 + WORD $0x17ffff54 // b LBB0_348 $-688(%rip) +LBB0_386: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090384 // sub x4, x28, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_387: + WORD $0x0a2500f1 // bic w17, w7, w5 + WORD $0x531f7a24 // lsl w4, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a2400e4 // bic w4, w7, w4 + WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa + WORD $0x2b110091 // adds w17, w4, w17 + WORD $0x4a110711 // eor w17, w24, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x17fffeca // b LBB0_317 $-1240(%rip) +LBB0_388: + WORD $0xb4000454 // cbz x20, LBB0_398 $136(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5fff9d4 // cbnz x20, LBB0_379 $-200(%rip) +LBB0_390: + WORD $0x52800073 // mov w19, #3 + WORD $0x17ffff39 // b LBB0_348 $-796(%rip) +LBB0_391: + WORD $0xb4000334 // cbz x20, LBB0_398 $100(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5ffda94 // cbnz x20, LBB0_324 $-1200(%rip) + WORD $0x14000012 // b LBB0_398 $72(%rip) +LBB0_393: + WORD $0x92800008 // mov x8, #-1 +LBB0_394: + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa945fbfd // ldp fp, lr, [sp, #88] + WORD $0xa944cff4 // ldp x20, x19, [sp, #72] + WORD $0xa943d7f6 // ldp x22, x21, [sp, #56] + WORD $0xa942dff8 // ldp x24, x23, [sp, #40] + WORD $0xa941e7fa // ldp x26, x25, [sp, #24] + WORD $0xa940effc // ldp x28, x27, [sp, #8] + WORD $0x9101c3ff // add sp, sp, #112 + WORD $0xd65f03c0 // ret +LBB0_395: + WORD $0x9280001c // mov x28, #-1 + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0x1400000c // b LBB0_403 $48(%rip) +LBB0_396: + WORD $0x928000c8 // mov x8, #-7 + WORD $0x17fffff3 // b LBB0_394 $-52(%rip) +LBB0_397: + WORD $0xb100079f // cmn x28, #1 + WORD $0x54000101 // b.ne LBB0_403 $32(%rip) +LBB0_398: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0x9280001c // mov x28, #-1 + WORD $0x14000005 // b LBB0_403 $20(%rip) +LBB0_399: + WORD $0x92800015 // mov x21, #-1 +LBB0_400: + WORD $0xaa3503f4 // mvn x20, x21 +LBB0_401: + WORD $0x8b1b0288 // add x8, x20, x27 +LBB0_402: + WORD $0x9280003c // mov x28, #-2 +LBB0_403: + WORD $0xf9000028 // str x8, [x1] + WORD $0xaa1c03e8 // mov x8, x28 + WORD $0x17ffffe7 // b LBB0_394 $-100(%rip) +LBB0_404: + WORD $0xb100051f // cmn x8, #1 + WORD $0x54ffff61 // b.ne LBB0_402 $-20(%rip) + WORD $0xdac00228 // rbit x8, x17 + WORD $0xdac01108 // clz x8, x8 + WORD $0x8b1c0108 // add x8, x8, x28 + WORD $0x17fffff7 // b LBB0_402 $-36(%rip) +LBB0_406: + WORD $0x9280001c // mov x28, #-1 + WORD $0x17fffff6 // b LBB0_403 $-40(%rip) +LBB0_407: + WORD $0xaa0803f4 // mov x20, x8 + WORD $0x8b1b0108 // add x8, x8, x27 + WORD $0x17fffff2 // b LBB0_402 $-56(%rip) +LBB0_408: + WORD $0x92800007 // mov x7, #-1 +LBB0_409: + WORD $0xaa2703fe // mvn lr, x7 +LBB0_410: + WORD $0x8b1e0388 // add x8, x28, lr + WORD $0x17ffffee // b LBB0_402 $-72(%rip) +LBB0_411: + WORD $0xf900003b // str x27, [x1] + WORD $0x394003c8 // ldrb w8, [lr] + WORD $0x7101b91f // cmp w8, #110 + WORD $0x54000761 // b.ne LBB0_425 $236(%rip) + WORD $0x91000768 // add x8, x27, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x540006c1 // b.ne LBB0_425 $216(%rip) + WORD $0x91000b68 // add x8, x27, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54000621 // b.ne LBB0_425 $196(%rip) + WORD $0x91000f68 // add x8, x27, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54000581 // b.ne LBB0_425 $176(%rip) + WORD $0x14000014 // b LBB0_419 $80(%rip) +LBB0_415: + WORD $0xf900003b // str x27, [x1] + WORD $0x394003c8 // ldrb w8, [lr] + WORD $0x7101d11f // cmp w8, #116 + WORD $0x540004e1 // b.ne LBB0_425 $156(%rip) + WORD $0x91000768 // add x8, x27, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101c91f // cmp w8, #114 + WORD $0x54000441 // b.ne LBB0_425 $136(%rip) + WORD $0x91000b68 // add x8, x27, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x540003a1 // b.ne LBB0_425 $116(%rip) + WORD $0x91000f68 // add x8, x27, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101951f // cmp w8, #101 + WORD $0x54000301 // b.ne LBB0_425 $96(%rip) +LBB0_419: + WORD $0x91001368 // add x8, x27, #4 + WORD $0x17ffffc5 // b LBB0_402 $-236(%rip) +LBB0_420: + WORD $0xf900003c // str x28, [x1] + WORD $0x387c6928 // ldrb w8, [x9, x28] + WORD $0x7101851f // cmp w8, #97 + WORD $0x54000241 // b.ne LBB0_425 $72(%rip) + WORD $0x91000b68 // add x8, x27, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x540001a1 // b.ne LBB0_425 $52(%rip) + WORD $0x91000f68 // add x8, x27, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101cd1f // cmp w8, #115 + WORD $0x54000101 // b.ne LBB0_425 $32(%rip) + WORD $0x91001368 // add x8, x27, #4 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101951f // cmp w8, #101 + WORD $0x54000061 // b.ne LBB0_425 $12(%rip) + WORD $0x91001768 // add x8, x27, #5 + WORD $0x17ffffb0 // b LBB0_402 $-320(%rip) +LBB0_425: + WORD $0x92800028 // mov x8, #-2 + WORD $0x17ffff98 // b LBB0_394 $-416(%rip) +LBB0_426: + WORD $0xaa1403fe // mov lr, x20 + WORD $0x8b140388 // add x8, x28, x20 + WORD $0x17ffffab // b LBB0_402 $-340(%rip) +LBB0_427: + WORD $0x8b1c0228 // add x8, x17, x28 + WORD $0x17ffffa9 // b LBB0_402 $-348(%rip) +LBB0_428: + WORD $0x8b1100a8 // add x8, x5, x17 + WORD $0x17ffffa7 // b LBB0_402 $-356(%rip) +LBB0_429: + WORD $0xcb090388 // sub x8, x28, x9 + WORD $0x8b110108 // add x8, x8, x17 + WORD $0x17ffffa4 // b LBB0_402 $-368(%rip) +LBB0_430: + WORD $0xcb090388 // sub x8, x28, x9 + WORD $0x8b050108 // add x8, x8, x5 + WORD $0x17ffffa1 // b LBB0_402 $-380(%rip) + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + +TEXT ·__skip_array(SB), NOSPLIT, $0-40 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $176, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_skip_array: + MOVD s+0(FP), R0 + MOVD p+8(FP), R1 + MOVD m+16(FP), R2 + MOVD flags+24(FP), R3 + MOVD ·_subr__skip_array(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+32(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_subr_arm64.go new file mode 100644 index 0000000..c011f6f --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_array_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __skip_array_entry__() uintptr + +var ( + _subr__skip_array uintptr = __skip_array_entry__() + 48 +) + +const ( + _stack__skip_array = 112 +) + +var ( + _ = _subr__skip_array +) + +const ( + _ = _stack__skip_array +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_arm64.go new file mode 100644 index 0000000..b118ab1 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_arm64.go @@ -0,0 +1,31 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +//go:nosplit +func skip_number(s *string, p *int) (ret int) { + return __skip_number(s, p) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __skip_number(s *string, p *int) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_arm64.s new file mode 100644 index 0000000..887e75a --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_arm64.s @@ -0,0 +1,373 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__skip_number_entry__(SB), NOSPLIT, $32 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 4, 0x00 +lCPI0_0: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_1: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_skip_number: + WORD $0xd100c3ff // sub sp, sp, #48 + WORD $0xa900cff4 // stp x20, x19, [sp, #8] + WORD $0xa901fbfd // stp fp, lr, [sp, #24] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xaa0003e8 // mov x8, x0 + WORD $0xf9400020 // ldr x0, [x1] + WORD $0xa9402909 // ldp x9, x10, [x8] + WORD $0x8b000128 // add x8, x9, x0 + WORD $0xaa0803eb // mov x11, x8 + WORD $0x3840156c // ldrb w12, [x11], #1 + WORD $0x7100b59f // cmp w12, #45 + WORD $0x1a9f17ed // cset w13, eq + WORD $0x9a8b1108 // csel x8, x8, x11, ne + WORD $0xcb00014a // sub x10, x10, x0 + WORD $0xeb0d014e // subs x14, x10, x13 + WORD $0x54001c40 // b.eq LBB0_59 $904(%rip) + WORD $0x3940010a // ldrb w10, [x8] + WORD $0x5100e94b // sub w11, w10, #58 + WORD $0x3100297f // cmn w11, #10 + WORD $0x540017a3 // b.lo LBB0_52 $756(%rip) + WORD $0x7100c15f // cmp w10, #48 + WORD $0x540001e1 // b.ne LBB0_6 $60(%rip) + WORD $0xf10005df // cmp x14, #1 + WORD $0x54000061 // b.ne LBB0_5 $12(%rip) +LBB0_4: + WORD $0x5280002d // mov w13, #1 + WORD $0x140000a9 // b LBB0_47 $676(%rip) +LBB0_5: + WORD $0x3940050a // ldrb w10, [x8, #1] + WORD $0x5100b94a // sub w10, w10, #46 + WORD $0x7100dd5f // cmp w10, #55 + WORD $0x5280002b // mov w11, #1 + WORD $0x9aca216a // lsl x10, x11, x10 + WORD $0xb20903eb // mov x11, #36028797027352576 + WORD $0xf280002b // movk x11, #1 + WORD $0x8a0b014a // and x10, x10, x11 + WORD $0xfa409944 // ccmp x10, #0, #4, ls + WORD $0x54fffea0 // b.eq LBB0_4 $-44(%rip) +LBB0_6: + WORD $0xf10041df // cmp x14, #16 + WORD $0x54001a63 // b.lo LBB0_60 $844(%rip) + WORD $0xd2800010 // mov x16, #0 + WORD $0xd280000f // mov x15, #0 + WORD $0x9280000a // mov x10, #-1 + WORD $0x4f01e5c0 // movi.16b v0, #46 + WORD $0x4f01e561 // movi.16b v1, #43 + WORD $0x4f01e5a2 // movi.16b v2, #45 + WORD $0x4f06e603 // movi.16b v3, #208 + WORD $0x4f00e544 // movi.16b v4, #10 +Lloh0: + WORD $0x10fff92b // adr x11, lCPI0_0 $-220(%rip) +Lloh1: + WORD $0x3dc00165 // ldr q5, [x11, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x4f06e7e6 // movi.16b v6, #223 + WORD $0x4f02e4a7 // movi.16b v7, #69 +Lloh2: + WORD $0x10fff92b // adr x11, lCPI0_1 $-220(%rip) +Lloh3: + WORD $0x3dc00170 // ldr q16, [x11, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x12800011 // mov w17, #-1 + WORD $0x9280000c // mov x12, #-1 + WORD $0x9280000b // mov x11, #-1 +LBB0_8: + WORD $0x3cef6911 // ldr q17, [x8, x15] + WORD $0x6e208e32 // cmeq.16b v18, v17, v0 + WORD $0x6e218e33 // cmeq.16b v19, v17, v1 + WORD $0x6e228e34 // cmeq.16b v20, v17, v2 + WORD $0x4e238635 // add.16b v21, v17, v3 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e261e31 // and.16b v17, v17, v6 + WORD $0x6e278e31 // cmeq.16b v17, v17, v7 + WORD $0x4eb41e73 // orr.16b v19, v19, v20 + WORD $0x4eb21eb4 // orr.16b v20, v21, v18 + WORD $0x4eb31e35 // orr.16b v21, v17, v19 + WORD $0x4eb51e94 // orr.16b v20, v20, v21 + WORD $0x4e251e52 // and.16b v18, v18, v5 + WORD $0x4e100252 // tbl.16b v18, { v18 }, v16 + WORD $0x4e71ba52 // addv.8h h18, v18 + WORD $0x1e260243 // fmov w3, s18 + WORD $0x4e251e31 // and.16b v17, v17, v5 + WORD $0x4e100231 // tbl.16b v17, { v17 }, v16 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260224 // fmov w4, s17 + WORD $0x4e251e71 // and.16b v17, v19, v5 + WORD $0x4e100231 // tbl.16b v17, { v17 }, v16 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260226 // fmov w6, s17 + WORD $0x4e251e91 // and.16b v17, v20, v5 + WORD $0x4e100231 // tbl.16b v17, { v17 }, v16 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260222 // fmov w2, s17 + WORD $0x2a2203e2 // mvn w2, w2 + WORD $0x32103c42 // orr w2, w2, #0xffff0000 + WORD $0x5ac00042 // rbit w2, w2 + WORD $0x5ac01042 // clz w2, w2 + WORD $0x1ac22225 // lsl w5, w17, w2 + WORD $0x0a250067 // bic w7, w3, w5 + WORD $0x0a250093 // bic w19, w4, w5 + WORD $0x0a2500d4 // bic w20, w6, w5 + WORD $0x7100405f // cmp w2, #16 + WORD $0x1a870065 // csel w5, w3, w7, eq + WORD $0x1a930084 // csel w4, w4, w19, eq + WORD $0x1a9400c3 // csel w3, w6, w20, eq + WORD $0x510004a6 // sub w6, w5, #1 + WORD $0x6a0500c6 // ands w6, w6, w5 + WORD $0x54001041 // b.ne LBB0_55 $520(%rip) + WORD $0x51000486 // sub w6, w4, #1 + WORD $0x6a0400c6 // ands w6, w6, w4 + WORD $0x54000fe1 // b.ne LBB0_55 $508(%rip) + WORD $0x51000466 // sub w6, w3, #1 + WORD $0x6a0300c6 // ands w6, w6, w3 + WORD $0x54000f81 // b.ne LBB0_55 $496(%rip) + WORD $0x340000c5 // cbz w5, LBB0_14 $24(%rip) + WORD $0x5ac000a5 // rbit w5, w5 + WORD $0x5ac010a5 // clz w5, w5 + WORD $0xb100057f // cmn x11, #1 + WORD $0x54000f81 // b.ne LBB0_56 $496(%rip) + WORD $0x8b0501eb // add x11, x15, x5 +LBB0_14: + WORD $0x340000c4 // cbz w4, LBB0_17 $24(%rip) + WORD $0x5ac00084 // rbit w4, w4 + WORD $0x5ac01084 // clz w4, w4 + WORD $0xb100059f // cmn x12, #1 + WORD $0x54000f21 // b.ne LBB0_57 $484(%rip) + WORD $0x8b0401ec // add x12, x15, x4 +LBB0_17: + WORD $0x340000c3 // cbz w3, LBB0_20 $24(%rip) + WORD $0x5ac00063 // rbit w3, w3 + WORD $0x5ac01063 // clz w3, w3 + WORD $0xb100055f // cmn x10, #1 + WORD $0x54000ec1 // b.ne LBB0_58 $472(%rip) + WORD $0x8b0301ea // add x10, x15, x3 +LBB0_20: + WORD $0x7100405f // cmp w2, #16 + WORD $0x54000621 // b.ne LBB0_35 $196(%rip) + WORD $0x910041ef // add x15, x15, #16 + WORD $0xd1004210 // sub x16, x16, #16 + WORD $0x8b1001c2 // add x2, x14, x16 + WORD $0xf1003c5f // cmp x2, #15 + WORD $0x54fff6e8 // b.hi LBB0_8 $-292(%rip) + WORD $0x8b0f0110 // add x16, x8, x15 + WORD $0xeb0f01df // cmp x14, x15 + WORD $0x54000560 // b.eq LBB0_36 $172(%rip) +LBB0_23: + WORD $0x8b02020e // add x14, x16, x2 + WORD $0xaa3003ef // mvn x15, x16 + WORD $0x8b090011 // add x17, x0, x9 + WORD $0x8b1101ef // add x15, x15, x17 + WORD $0x8b0d01ed // add x13, x15, x13 + WORD $0xcb08020f // sub x15, x16, x8 + WORD $0xaa1003f1 // mov x17, x16 + WORD $0x14000009 // b LBB0_26 $36(%rip) +LBB0_24: + WORD $0xb100059f // cmn x12, #1 + WORD $0xaa0f03ec // mov x12, x15 + WORD $0x54000661 // b.ne LBB0_46 $204(%rip) +LBB0_25: + WORD $0xd10005ad // sub x13, x13, #1 + WORD $0x910005ef // add x15, x15, #1 + WORD $0xaa1103f0 // mov x16, x17 + WORD $0xd1000442 // sub x2, x2, #1 + WORD $0xb4000882 // cbz x2, LBB0_53 $272(%rip) +LBB0_26: + WORD $0x38401623 // ldrb w3, [x17], #1 + WORD $0x5100c064 // sub w4, w3, #48 + WORD $0x7100289f // cmp w4, #10 + WORD $0x54ffff03 // b.lo LBB0_25 $-32(%rip) + WORD $0x7100b47f // cmp w3, #45 + WORD $0x5400016d // b.le LBB0_32 $44(%rip) + WORD $0x7101947f // cmp w3, #101 + WORD $0x54fffe20 // b.eq LBB0_24 $-60(%rip) + WORD $0x7101147f // cmp w3, #69 + WORD $0x54fffde0 // b.eq LBB0_24 $-68(%rip) + WORD $0x7100b87f // cmp w3, #46 + WORD $0x540001e1 // b.ne LBB0_36 $60(%rip) + WORD $0xb100057f // cmn x11, #1 + WORD $0xaa0f03eb // mov x11, x15 + WORD $0x54fffda0 // b.eq LBB0_25 $-76(%rip) + WORD $0x1400001e // b LBB0_46 $120(%rip) +LBB0_32: + WORD $0x7100ac7f // cmp w3, #43 + WORD $0x54000060 // b.eq LBB0_34 $12(%rip) + WORD $0x7100b47f // cmp w3, #45 + WORD $0x540000e1 // b.ne LBB0_36 $28(%rip) +LBB0_34: + WORD $0xb100055f // cmn x10, #1 + WORD $0xaa0f03ea // mov x10, x15 + WORD $0x54fffca0 // b.eq LBB0_25 $-108(%rip) + WORD $0x14000016 // b LBB0_46 $88(%rip) +LBB0_35: + WORD $0x8b22410d // add x13, x8, w2, uxtw + WORD $0x8b0f01b0 // add x16, x13, x15 +LBB0_36: + WORD $0x9280000d // mov x13, #-1 + WORD $0xb40003eb // cbz x11, LBB0_51 $124(%rip) +LBB0_37: + WORD $0xb40003ca // cbz x10, LBB0_51 $120(%rip) + WORD $0xb40003ac // cbz x12, LBB0_51 $116(%rip) + WORD $0xcb08020d // sub x13, x16, x8 + WORD $0xd10005ae // sub x14, x13, #1 + WORD $0xeb0e017f // cmp x11, x14 + WORD $0x54000160 // b.eq LBB0_45 $44(%rip) + WORD $0xeb0e015f // cmp x10, x14 + WORD $0x54000120 // b.eq LBB0_45 $36(%rip) + WORD $0xeb0e019f // cmp x12, x14 + WORD $0x540000e0 // b.eq LBB0_45 $28(%rip) + WORD $0xf100054e // subs x14, x10, #1 + WORD $0x540001cb // b.lt LBB0_48 $56(%rip) + WORD $0xeb0e019f // cmp x12, x14 + WORD $0x54000180 // b.eq LBB0_48 $48(%rip) + WORD $0xaa2a03ed // mvn x13, x10 + WORD $0x1400000f // b LBB0_51 $60(%rip) +LBB0_45: + WORD $0xcb0d03ed // neg x13, x13 +LBB0_46: + WORD $0xb7f801ad // tbnz x13, #63, LBB0_51 $52(%rip) +LBB0_47: + WORD $0x8b0d0108 // add x8, x8, x13 + WORD $0xcb090108 // sub x8, x8, x9 + WORD $0xf9000028 // str x8, [x1] + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] + WORD $0xa940cff4 // ldp x20, x19, [sp, #8] + WORD $0x9100c3ff // add sp, sp, #48 + WORD $0xd65f03c0 // ret +LBB0_48: + WORD $0xaa0c016a // orr x10, x11, x12 + WORD $0xb7f8022a // tbnz x10, #63, LBB0_54 $68(%rip) + WORD $0xeb0c017f // cmp x11, x12 + WORD $0x540001eb // b.lt LBB0_54 $60(%rip) + WORD $0xaa2b03ed // mvn x13, x11 +LBB0_51: + WORD $0xaa2d03ea // mvn x10, x13 + WORD $0x8b0a0108 // add x8, x8, x10 +LBB0_52: + WORD $0x92800020 // mov x0, #-2 + WORD $0xcb090108 // sub x8, x8, x9 + WORD $0xf9000028 // str x8, [x1] + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] + WORD $0xa940cff4 // ldp x20, x19, [sp, #8] + WORD $0x9100c3ff // add sp, sp, #48 + WORD $0xd65f03c0 // ret +LBB0_53: + WORD $0xaa0e03f0 // mov x16, x14 + WORD $0x9280000d // mov x13, #-1 + WORD $0xb5fffaeb // cbnz x11, LBB0_37 $-164(%rip) + WORD $0x17fffff4 // b LBB0_51 $-48(%rip) +LBB0_54: + WORD $0xd37ffd4a // lsr x10, x10, #63 + WORD $0x5200014a // eor w10, w10, #0x1 + WORD $0xd100058e // sub x14, x12, #1 + WORD $0xeb0e017f // cmp x11, x14 + WORD $0x1a9f17eb // cset w11, eq + WORD $0x6a0b015f // tst w10, w11 + WORD $0xda8c01ad // csinv x13, x13, x12, eq + WORD $0x17ffffdf // b LBB0_46 $-132(%rip) +LBB0_55: + WORD $0x5ac000ca // rbit w10, w6 + WORD $0x5ac0114a // clz w10, w10 + WORD $0xaa2f03eb // mvn x11, x15 + WORD $0xcb0a016d // sub x13, x11, x10 + WORD $0x17ffffda // b LBB0_46 $-152(%rip) +LBB0_56: + WORD $0xaa2f03ea // mvn x10, x15 + WORD $0xcb25414d // sub x13, x10, w5, uxtw + WORD $0x17ffffd7 // b LBB0_46 $-164(%rip) +LBB0_57: + WORD $0xaa2f03ea // mvn x10, x15 + WORD $0xcb24414d // sub x13, x10, w4, uxtw + WORD $0x17ffffd4 // b LBB0_46 $-176(%rip) +LBB0_58: + WORD $0xaa2f03ea // mvn x10, x15 + WORD $0xcb23414d // sub x13, x10, w3, uxtw + WORD $0x17ffffd1 // b LBB0_46 $-188(%rip) +LBB0_59: + WORD $0x92800000 // mov x0, #-1 + WORD $0xcb090108 // sub x8, x8, x9 + WORD $0xf9000028 // str x8, [x1] + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] + WORD $0xa940cff4 // ldp x20, x19, [sp, #8] + WORD $0x9100c3ff // add sp, sp, #48 + WORD $0xd65f03c0 // ret +LBB0_60: + WORD $0x9280000b // mov x11, #-1 + WORD $0xaa0803f0 // mov x16, x8 + WORD $0xaa0e03e2 // mov x2, x14 + WORD $0x9280000c // mov x12, #-1 + WORD $0x9280000a // mov x10, #-1 + WORD $0x17ffff87 // b LBB0_23 $-484(%rip) + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + +TEXT ·__skip_number(SB), NOSPLIT, $0-24 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $112, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_skip_number: + MOVD s+0(FP), R0 + MOVD p+8(FP), R1 + MOVD ·_subr__skip_number(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+16(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_subr_arm64.go new file mode 100644 index 0000000..d2ba7d9 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_number_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __skip_number_entry__() uintptr + +var ( + _subr__skip_number uintptr = __skip_number_entry__() + 32 +) + +const ( + _stack__skip_number = 48 +) + +var ( + _ = _subr__skip_number +) + +const ( + _ = _stack__skip_number +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.go new file mode 100644 index 0000000..8e3efa6 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + // `unsafe` + + `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return __skip_object(s, p, m, flags) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.s new file mode 100644 index 0000000..6e46115 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_arm64.s @@ -0,0 +1,2384 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__skip_object_entry__(SB), NOSPLIT, $96 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 4, 0x00 +lCPI0_0: + WORD $0x00000001; WORD $0x00000000 // .quad 1 + WORD $0x00000006; WORD $0x00000000 // .quad 6 +lCPI0_1: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_2: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_skip_object: + WORD $0xd101c3ff // sub sp, sp, #112 + WORD $0xa900effc // stp x28, x27, [sp, #8] + WORD $0xa901e7fa // stp x26, x25, [sp, #24] + WORD $0xa902dff8 // stp x24, x23, [sp, #40] + WORD $0xa903d7f6 // stp x22, x21, [sp, #56] + WORD $0xa904cff4 // stp x20, x19, [sp, #72] + WORD $0xa905fbfd // stp fp, lr, [sp, #88] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 +Lloh0: + WORD $0x10fffd68 // adr x8, lCPI0_0 $-84(%rip) +Lloh1: + WORD $0x3dc00100 // ldr q0, [x8, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0xaa0203ea // mov x10, x2 + WORD $0x3c808540 // str q0, [x10], #8 + WORD $0xf9400009 // ldr x9, [x0] + WORD $0xaa2903eb // mvn x11, x9 + WORD $0xf940003c // ldr x28, [x1] + WORD $0xcb0903ec // neg x12, x9 + WORD $0xd100052d // sub x13, x9, #1 + WORD $0x9280000e // mov x14, #-1 + WORD $0x5280002f // mov w15, #1 + WORD $0xd284c010 // mov x16, #9728 + WORD $0xf2c00030 // movk x16, #1, lsl #32 + WORD $0x52800073 // mov w19, #3 + WORD $0x52800084 // mov w4, #4 + WORD $0x4f01e440 // movi.16b v0, #34 + WORD $0x4f02e781 // movi.16b v1, #92 +Lloh2: + WORD $0x10fffbc8 // adr x8, lCPI0_1 $-136(%rip) +Lloh3: + WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip) +Lloh4: + WORD $0x10fffc08 // adr x8, lCPI0_2 $-128(%rip) +Lloh5: + WORD $0x3dc00103 // ldr q3, [x8, lCPI0_2@PAGEOFF] $0(%rip) + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0x4f01e404 // movi.16b v4, #32 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0x4f01e5c5 // movi.16b v5, #46 + WORD $0x4f01e566 // movi.16b v6, #43 + WORD $0x4f01e5a7 // movi.16b v7, #45 + WORD $0x4f06e610 // movi.16b v16, #208 + WORD $0x4f00e551 // movi.16b v17, #10 + WORD $0x4f06e7f2 // movi.16b v18, #223 + WORD $0x4f02e4b3 // movi.16b v19, #69 + WORD $0x52800025 // mov w5, #1 +LBB0_1: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb08039f // cmp x28, x8 + WORD $0x54000162 // b.hs LBB0_6 $44(%rip) + WORD $0x387c6931 // ldrb w17, [x9, x28] + WORD $0x7100363f // cmp w17, #13 + WORD $0x54000100 // b.eq LBB0_6 $32(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x540000c0 // b.eq LBB0_6 $24(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000062 // b.hs LBB0_6 $12(%rip) + WORD $0xaa1c03fb // mov x27, x28 + WORD $0x14000031 // b LBB0_22 $196(%rip) +LBB0_6: + WORD $0x9100079b // add x27, x28, #1 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000122 // b.hs LBB0_10 $36(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_10 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_10 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x540004c3 // b.lo LBB0_22 $152(%rip) +LBB0_10: + WORD $0x91000b9b // add x27, x28, #2 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000122 // b.hs LBB0_14 $36(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_14 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_14 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000363 // b.lo LBB0_22 $108(%rip) +LBB0_14: + WORD $0x91000f9b // add x27, x28, #3 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000122 // b.hs LBB0_18 $36(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_18 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_18 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000203 // b.lo LBB0_22 $64(%rip) +LBB0_18: + WORD $0x9100139b // add x27, x28, #4 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x5400e922 // b.hs LBB0_395 $7460(%rip) +LBB0_19: + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100823f // cmp w17, #32 + WORD $0x9ad121f1 // lsl x17, x15, x17 + WORD $0x8a100231 // and x17, x17, x16 + WORD $0xfa409a24 // ccmp x17, #0, #4, ls + WORD $0x540000a0 // b.eq LBB0_21 $20(%rip) + WORD $0x9100077b // add x27, x27, #1 + WORD $0xeb1b011f // cmp x8, x27 + WORD $0x54ffff01 // b.ne LBB0_19 $-32(%rip) + WORD $0x14000735 // b LBB0_393 $7380(%rip) +LBB0_21: + WORD $0xeb08037f // cmp x27, x8 + WORD $0x5400e662 // b.hs LBB0_393 $7372(%rip) +LBB0_22: + WORD $0x9100077c // add x28, x27, #1 + WORD $0xf900003c // str x28, [x1] + WORD $0x8b1b013e // add lr, x9, x27 + WORD $0x394003d5 // ldrb w21, [lr] + WORD $0x3400e5d5 // cbz w21, LBB0_393 $7352(%rip) + WORD $0xd10004b4 // sub x20, x5, #1 + WORD $0xf8747948 // ldr x8, [x10, x20, lsl #3] + WORD $0xb10005df // cmn x14, #1 + WORD $0x9a8e036e // csel x14, x27, x14, eq + WORD $0x71000d1f // cmp w8, #3 + WORD $0x54000c8c // b.gt LBB0_39 $400(%rip) + WORD $0x7100051f // cmp w8, #1 + WORD $0x540018c0 // b.eq LBB0_54 $792(%rip) + WORD $0x7100091f // cmp w8, #2 + WORD $0x54002c20 // b.eq LBB0_94 $1412(%rip) + WORD $0x71000d1f // cmp w8, #3 + WORD $0x540019c1 // b.ne LBB0_58 $824(%rip) + WORD $0x71008abf // cmp w21, #34 + WORD $0x5400f101 // b.ne LBB0_425 $7712(%rip) + WORD $0x3200f3e6 // mov w6, #1431655765 + WORD $0xf8347944 // str x4, [x10, x20, lsl #3] + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0114 // subs x20, x8, x28 + WORD $0x372831a3 // tbnz w3, #5, LBB0_109 $1588(%rip) + WORD $0x5400e560 // b.eq LBB0_398 $7340(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54009103 // b.lo LBB0_250 $4640(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_32: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405634 // ldp q20, q21, [x17] + WORD $0xad415e36 // ldp q22, q23, [x17, #32] + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e208efb // cmeq.16b v27, v23, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x4e221f38 // and.16b v24, v25, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x4e221f58 // and.16b v24, v26, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x4e221f78 // and.16b v24, v27, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260298 // fmov w24, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260299 // fmov w25, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e26029a // fmov w26, s20 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000111 // cbnz x17, LBB0_36 $32(%rip) + WORD $0xb5000185 // cbnz x5, LBB0_37 $48(%rip) + WORD $0xb50002c7 // cbnz x7, LBB0_38 $88(%rip) +LBB0_35: + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff8a8 // b.hi LBB0_32 $-236(%rip) + WORD $0x14000441 // b LBB0_247 $4356(%rip) +LBB0_36: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_37: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0xb4fffd87 // cbz x7, LBB0_35 $-80(%rip) +LBB0_38: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0x8b1c0231 // add x17, x17, x28 + WORD $0x140001aa // b LBB0_121 $1704(%rip) +LBB0_39: + WORD $0x7100111f // cmp w8, #4 + WORD $0x54000d00 // b.eq LBB0_56 $416(%rip) + WORD $0x7100151f // cmp w8, #5 + WORD $0x54002060 // b.eq LBB0_96 $1036(%rip) + WORD $0x7100191f // cmp w8, #6 + WORD $0x54000d61 // b.ne LBB0_58 $428(%rip) + WORD $0x71008abf // cmp w21, #34 + WORD $0x54001f81 // b.ne LBB0_95 $1008(%rip) + WORD $0x3200f3e4 // mov w4, #1431655765 + WORD $0x52800048 // mov w8, #2 + WORD $0xf8347948 // str x8, [x10, x20, lsl #3] + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0114 // subs x20, x8, x28 + WORD $0x37283923 // tbnz w3, #5, LBB0_138 $1828(%rip) + WORD $0x5400d8e0 // b.eq LBB0_398 $6940(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54009423 // b.lo LBB0_277 $4740(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_47: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405634 // ldp q20, q21, [x17] + WORD $0xad415e36 // ldp q22, q23, [x17, #32] + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e208efb // cmeq.16b v27, v23, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x4e221f38 // and.16b v24, v25, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x4e221f58 // and.16b v24, v26, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x4e221f78 // and.16b v24, v27, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260298 // fmov w24, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260299 // fmov w25, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e26029a // fmov w26, s20 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000111 // cbnz x17, LBB0_51 $32(%rip) + WORD $0xb5000185 // cbnz x5, LBB0_52 $48(%rip) + WORD $0xb50002c7 // cbnz x7, LBB0_53 $88(%rip) +LBB0_50: + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff8a8 // b.hi LBB0_47 $-236(%rip) + WORD $0x1400045e // b LBB0_275 $4472(%rip) +LBB0_51: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_52: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0xb4fffd87 // cbz x7, LBB0_50 $-80(%rip) +LBB0_53: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0x8b1c0231 // add x17, x17, x28 + WORD $0x140001e6 // b LBB0_150 $1944(%rip) +LBB0_54: + WORD $0x7100b2bf // cmp w21, #44 + WORD $0x540017e0 // b.eq LBB0_105 $764(%rip) + WORD $0x710176bf // cmp w21, #93 + WORD $0x54001420 // b.eq LBB0_97 $644(%rip) + WORD $0x140006c4 // b LBB0_425 $6928(%rip) +LBB0_56: + WORD $0x7100eabf // cmp w21, #58 + WORD $0x5400d841 // b.ne LBB0_425 $6920(%rip) + WORD $0xf834795f // str xzr, [x10, x20, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffdce5 // cbnz x5, LBB0_1 $-1124(%rip) + WORD $0x14000656 // b LBB0_394 $6488(%rip) +LBB0_58: + WORD $0xf9000054 // str x20, [x2] + WORD $0x92800028 // mov x8, #-2 + WORD $0x71016abf // cmp w21, #90 + WORD $0x540013cc // b.gt LBB0_99 $632(%rip) +LBB0_59: + WORD $0x5100c2b1 // sub w17, w21, #48 + WORD $0x71002a3f // cmp w17, #10 + WORD $0x54003d02 // b.hs LBB0_154 $1952(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1b0115 // subs x21, x8, x27 + WORD $0x5400cbe0 // b.eq LBB0_399 $6524(%rip) + WORD $0x394003c8 // ldrb w8, [lr] + WORD $0x7100c11f // cmp w8, #48 + WORD $0x54000141 // b.ne LBB0_65 $40(%rip) + WORD $0xf10006bf // cmp x21, #1 + WORD $0x54004280 // b.eq LBB0_170 $2128(%rip) + WORD $0x387c6928 // ldrb w8, [x9, x28] + WORD $0x5100b908 // sub w8, w8, #46 + WORD $0x7100dd1f // cmp w8, #55 + WORD $0x54004208 // b.hi LBB0_170 $2112(%rip) + WORD $0x9ac821e8 // lsl x8, x15, x8 + WORD $0xea07011f // tst x8, x7 + WORD $0x540041a0 // b.eq LBB0_170 $2100(%rip) +LBB0_65: + WORD $0xf10042bf // cmp x21, #16 + WORD $0x5400a5c3 // b.lo LBB0_333 $5304(%rip) + WORD $0xd2800016 // mov x22, #0 + WORD $0xd280001c // mov x28, #0 + WORD $0x92800014 // mov x20, #-1 + WORD $0x92800005 // mov x5, #-1 + WORD $0x92800008 // mov x8, #-1 +LBB0_67: + WORD $0x3cfc6bd4 // ldr q20, [lr, x28] + WORD $0x6e258e95 // cmeq.16b v21, v20, v5 + WORD $0x6e268e96 // cmeq.16b v22, v20, v6 + WORD $0x6e278e97 // cmeq.16b v23, v20, v7 + WORD $0x4e308698 // add.16b v24, v20, v16 + WORD $0x6e383638 // cmhi.16b v24, v17, v24 + WORD $0x4e321e94 // and.16b v20, v20, v18 + WORD $0x6e338e94 // cmeq.16b v20, v20, v19 + WORD $0x4eb71ed6 // orr.16b v22, v22, v23 + WORD $0x4eb51f17 // orr.16b v23, v24, v21 + WORD $0x4eb61e98 // orr.16b v24, v20, v22 + WORD $0x4eb81ef7 // orr.16b v23, v23, v24 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b1 // fmov w17, s21 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260299 // fmov w25, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260287 // fmov w7, s20 + WORD $0x2a2703e7 // mvn w7, w7 + WORD $0x32103ce7 // orr w7, w7, #0xffff0000 + WORD $0x5ac000e7 // rbit w7, w7 + WORD $0x5ac010e7 // clz w7, w7 + WORD $0x12800004 // mov w4, #-1 + WORD $0x1ac72098 // lsl w24, w4, w7 + WORD $0x0a38023a // bic w26, w17, w24 + WORD $0x0a3802e4 // bic w4, w23, w24 + WORD $0x0a380326 // bic w6, w25, w24 + WORD $0x710040ff // cmp w7, #16 + WORD $0x1a9a0231 // csel w17, w17, w26, eq + WORD $0x1a8402f8 // csel w24, w23, w4, eq + WORD $0x1a860337 // csel w23, w25, w6, eq + WORD $0x51000624 // sub w4, w17, #1 + WORD $0x6a110099 // ands w25, w4, w17 + WORD $0x54006d81 // b.ne LBB0_245 $3504(%rip) + WORD $0x51000704 // sub w4, w24, #1 + WORD $0x6a180099 // ands w25, w4, w24 + WORD $0x54006d21 // b.ne LBB0_245 $3492(%rip) + WORD $0x510006e4 // sub w4, w23, #1 + WORD $0x6a170099 // ands w25, w4, w23 + WORD $0x54006cc1 // b.ne LBB0_245 $3480(%rip) + WORD $0x340000d1 // cbz w17, LBB0_73 $24(%rip) + WORD $0x5ac00231 // rbit w17, w17 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x54006cc1 // b.ne LBB0_246 $3480(%rip) + WORD $0x8b110388 // add x8, x28, x17 +LBB0_73: + WORD $0x340000d8 // cbz w24, LBB0_76 $24(%rip) + WORD $0x5ac00311 // rbit w17, w24 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10004bf // cmn x5, #1 + WORD $0x54006c01 // b.ne LBB0_246 $3456(%rip) + WORD $0x8b110385 // add x5, x28, x17 +LBB0_76: + WORD $0x340000d7 // cbz w23, LBB0_79 $24(%rip) + WORD $0x5ac002f1 // rbit w17, w23 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100069f // cmn x20, #1 + WORD $0x54006b41 // b.ne LBB0_246 $3432(%rip) + WORD $0x8b110394 // add x20, x28, x17 +LBB0_79: + WORD $0x710040ff // cmp w7, #16 + WORD $0x54001bc1 // b.ne LBB0_123 $888(%rip) + WORD $0x9100439c // add x28, x28, #16 + WORD $0xd10042d6 // sub x22, x22, #16 + WORD $0x8b1602b7 // add x23, x21, x22 + WORD $0xf1003eff // cmp x23, #15 + WORD $0x54fff6c8 // b.hi LBB0_67 $-296(%rip) + WORD $0x8b1c03d6 // add x22, lr, x28 + WORD $0xeb1c02bf // cmp x21, x28 + WORD $0x54001b00 // b.eq LBB0_124 $864(%rip) +LBB0_82: + WORD $0x8b1702d8 // add x24, x22, x23 + WORD $0x8b1b01b1 // add x17, x13, x27 + WORD $0xcb160235 // sub x21, x17, x22 + WORD $0xcb1e02c7 // sub x7, x22, lr + WORD $0xaa1603fc // mov x28, x22 + WORD $0x14000009 // b LBB0_85 $36(%rip) +LBB0_83: + WORD $0xb10004bf // cmn x5, #1 + WORD $0xaa0703e5 // mov x5, x7 + WORD $0x54001d81 // b.ne LBB0_136 $944(%rip) +LBB0_84: + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0x910004e7 // add x7, x7, #1 + WORD $0xaa1c03f6 // mov x22, x28 + WORD $0xd10006f7 // sub x23, x23, #1 + WORD $0xb40042d7 // cbz x23, LBB0_184 $2136(%rip) +LBB0_85: + WORD $0x38401791 // ldrb w17, [x28], #1 + WORD $0x5100c224 // sub w4, w17, #48 + WORD $0x7100289f // cmp w4, #10 + WORD $0x54ffff03 // b.lo LBB0_84 $-32(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x5400016d // b.le LBB0_91 $44(%rip) + WORD $0x7101963f // cmp w17, #101 + WORD $0x54fffe20 // b.eq LBB0_83 $-60(%rip) + WORD $0x7101163f // cmp w17, #69 + WORD $0x54fffde0 // b.eq LBB0_83 $-68(%rip) + WORD $0x7100ba3f // cmp w17, #46 + WORD $0x540017c1 // b.ne LBB0_124 $760(%rip) + WORD $0xb100051f // cmn x8, #1 + WORD $0xaa0703e8 // mov x8, x7 + WORD $0x54fffda0 // b.eq LBB0_84 $-76(%rip) + WORD $0x140000d7 // b LBB0_136 $860(%rip) +LBB0_91: + WORD $0x7100ae3f // cmp w17, #43 + WORD $0x54000060 // b.eq LBB0_93 $12(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x540016c1 // b.ne LBB0_124 $728(%rip) +LBB0_93: + WORD $0xb100069f // cmn x20, #1 + WORD $0xaa0703f4 // mov x20, x7 + WORD $0x54fffca0 // b.eq LBB0_84 $-108(%rip) + WORD $0x140000cf // b LBB0_136 $828(%rip) +LBB0_94: + WORD $0x7100b2bf // cmp w21, #44 + WORD $0x54000560 // b.eq LBB0_107 $172(%rip) +LBB0_95: + WORD $0x7101f6bf // cmp w21, #125 + WORD $0x54000080 // b.eq LBB0_97 $16(%rip) + WORD $0x14000627 // b LBB0_425 $6300(%rip) +LBB0_96: + WORD $0x710176bf // cmp w21, #93 + WORD $0x540000c1 // b.ne LBB0_98 $24(%rip) +LBB0_97: + WORD $0xf9000054 // str x20, [x2] + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc954 // cbnz x20, LBB0_1 $-1752(%rip) + WORD $0x140005b9 // b LBB0_394 $5860(%rip) +LBB0_98: + WORD $0xf834794f // str x15, [x10, x20, lsl #3] + WORD $0x92800028 // mov x8, #-2 + WORD $0x71016abf // cmp w21, #90 + WORD $0x54ffec8d // b.le LBB0_59 $-624(%rip) +LBB0_99: + WORD $0x7101b6bf // cmp w21, #109 + WORD $0x54002bad // b.le LBB0_160 $1396(%rip) + WORD $0x7101babf // cmp w21, #110 + WORD $0x54002e80 // b.eq LBB0_167 $1488(%rip) + WORD $0x7101d2bf // cmp w21, #116 + WORD $0x54002d00 // b.eq LBB0_165 $1440(%rip) + WORD $0x7101eebf // cmp w21, #123 + WORD $0x5400b5a1 // b.ne LBB0_394 $5812(%rip) + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400b6cc // b.gt LBB0_396 $5848(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000051 // str x17, [x2] + WORD $0x528000d1 // mov w17, #6 + WORD $0xf8287951 // str x17, [x10, x8, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc665 // cbnz x5, LBB0_1 $-1844(%rip) + WORD $0x140005a2 // b LBB0_394 $5768(%rip) +LBB0_105: + WORD $0xf13ffcbf // cmp x5, #4095 + WORD $0x5400b58c // b.gt LBB0_396 $5808(%rip) + WORD $0x910004a8 // add x8, x5, #1 + WORD $0xf9000048 // str x8, [x2] + WORD $0xf825795f // str xzr, [x10, x5, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc545 // cbnz x5, LBB0_1 $-1880(%rip) + WORD $0x14000599 // b LBB0_394 $5732(%rip) +LBB0_107: + WORD $0xf13ffcbf // cmp x5, #4095 + WORD $0x5400b46c // b.gt LBB0_396 $5772(%rip) + WORD $0x910004a8 // add x8, x5, #1 + WORD $0xf9000048 // str x8, [x2] + WORD $0xf8257953 // str x19, [x10, x5, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc425 // cbnz x5, LBB0_1 $-1916(%rip) + WORD $0x14000590 // b LBB0_394 $5696(%rip) +LBB0_109: + WORD $0x5400b3e0 // b.eq LBB0_398 $5756(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54006403 // b.lo LBB0_256 $3200(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_112: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405a37 // ldp q23, q22, [x17] + WORD $0xad415235 // ldp q21, q20, [x17, #32] + WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260317 // fmov w23, s24 + WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260318 // fmov w24, s24 + WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260319 // fmov w25, s24 + WORD $0x6e218e98 // cmeq.16b v24, v20, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e26031a // fmov w26, s24 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000451 // cbnz x17, LBB0_117 $136(%rip) + WORD $0xb50004c5 // cbnz x5, LBB0_118 $152(%rip) +LBB0_114: + WORD $0x6e373497 // cmhi.16b v23, v4, v23 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x6e363496 // cmhi.16b v22, v4, v22 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d5 // fmov w21, s22 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b6 // fmov w22, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1102b1 // orr x17, x21, x17 + WORD $0xb50002e7 // cbnz x7, LBB0_119 $92(%rip) + WORD $0xb500aa71 // cbnz x17, LBB0_404 $5452(%rip) + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff568 // b.hi LBB0_112 $-340(%rip) + WORD $0x1400029d // b LBB0_248 $2676(%rip) +LBB0_117: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_118: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x17ffffd1 // b LBB0_114 $-188(%rip) +LBB0_119: + WORD $0xdac000e5 // rbit x5, x7 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xdac00231 // rbit x17, x17 + WORD $0xdac01231 // clz x17, x17 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x5400b143 // b.lo LBB0_427 $5672(%rip) +LBB0_120: + WORD $0x8b1c00b1 // add x17, x5, x28 +LBB0_121: + WORD $0x9100063c // add x28, x17, #1 +LBB0_122: + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb6f81c9c // tbz x28, #63, LBB0_170 $912(%rip) + WORD $0x14000524 // b LBB0_397 $5264(%rip) +LBB0_123: + WORD $0x8b2743d1 // add x17, lr, w7, uxtw + WORD $0x8b1c0236 // add x22, x17, x28 +LBB0_124: + WORD $0x92800015 // mov x21, #-1 + WORD $0xb400a4c8 // cbz x8, LBB0_400 $5272(%rip) +LBB0_125: + WORD $0xb400a4b4 // cbz x20, LBB0_400 $5268(%rip) + WORD $0xb400a485 // cbz x5, LBB0_400 $5264(%rip) + WORD $0xcb1e02c7 // sub x7, x22, lr + WORD $0xd10004f1 // sub x17, x7, #1 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x540002a0 // b.eq LBB0_135 $84(%rip) + WORD $0xeb11029f // cmp x20, x17 + WORD $0x54000260 // b.eq LBB0_135 $76(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x54000220 // b.eq LBB0_135 $68(%rip) + WORD $0xf1000691 // subs x17, x20, #1 + WORD $0x5400006b // b.lt LBB0_132 $12(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x5400a321 // b.ne LBB0_401 $5220(%rip) +LBB0_132: + WORD $0xaa050111 // orr x17, x8, x5 + WORD $0xb7f80071 // tbnz x17, #63, LBB0_134 $12(%rip) + WORD $0xeb05011f // cmp x8, x5 + WORD $0x5400a44a // b.ge LBB0_407 $5256(%rip) +LBB0_134: + WORD $0xd37ffe31 // lsr x17, x17, #63 + WORD $0x52000231 // eor w17, w17, #0x1 + WORD $0xd10004a4 // sub x4, x5, #1 + WORD $0xeb04011f // cmp x8, x4 + WORD $0x1a9f17e8 // cset w8, eq + WORD $0x6a08023f // tst w17, w8 + WORD $0xda8500f5 // csinv x21, x7, x5, eq + WORD $0x14000002 // b LBB0_136 $8(%rip) +LBB0_135: + WORD $0xcb0703f5 // neg x21, x7 +LBB0_136: + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb7f8a0d5 // tbnz x21, #63, LBB0_400 $5144(%rip) + WORD $0x8b15037c // add x28, x27, x21 + WORD $0x140000bd // b LBB0_170 $756(%rip) +LBB0_138: + WORD $0x54009fe0 // b.eq LBB0_398 $5116(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54005fa3 // b.lo LBB0_283 $3060(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_141: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405a37 // ldp q23, q22, [x17] + WORD $0xad415235 // ldp q21, q20, [x17, #32] + WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260317 // fmov w23, s24 + WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260318 // fmov w24, s24 + WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260319 // fmov w25, s24 + WORD $0x6e218e98 // cmeq.16b v24, v20, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e26031a // fmov w26, s24 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000451 // cbnz x17, LBB0_146 $136(%rip) + WORD $0xb50004c5 // cbnz x5, LBB0_147 $152(%rip) +LBB0_143: + WORD $0x6e373497 // cmhi.16b v23, v4, v23 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x6e363496 // cmhi.16b v22, v4, v22 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d5 // fmov w21, s22 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b6 // fmov w22, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1102b1 // orr x17, x21, x17 + WORD $0xb50002e7 // cbnz x7, LBB0_148 $92(%rip) + WORD $0xb5009671 // cbnz x17, LBB0_404 $4812(%rip) + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff568 // b.hi LBB0_141 $-340(%rip) + WORD $0x1400027e // b LBB0_276 $2552(%rip) +LBB0_146: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_147: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x17ffffd1 // b LBB0_143 $-188(%rip) +LBB0_148: + WORD $0xdac000e5 // rbit x5, x7 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xdac00231 // rbit x17, x17 + WORD $0xdac01231 // clz x17, x17 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x54009d43 // b.lo LBB0_427 $5032(%rip) + WORD $0x8b1c00b1 // add x17, x5, x28 +LBB0_150: + WORD $0x9100063c // add x28, x17, #1 + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb7f890bc // tbnz x28, #63, LBB0_397 $4628(%rip) +LBB0_151: + WORD $0xf900003c // str x28, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0xb27ff7f1 // mov x17, #9223372036854775806 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008e48 // b.hi LBB0_394 $4552(%rip) + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x54008f6c // b.gt LBB0_396 $4588(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000051 // str x17, [x2] + WORD $0xf8287944 // str x4, [x10, x8, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ff9f25 // cbnz x5, LBB0_1 $-3100(%rip) + WORD $0x14000468 // b LBB0_394 $4512(%rip) +LBB0_154: + WORD $0x71008abf // cmp w21, #34 + WORD $0x540008c0 // b.eq LBB0_174 $280(%rip) + WORD $0x7100b6bf // cmp w21, #45 + WORD $0x54008c81 // b.ne LBB0_394 $4496(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0118 // subs x24, x8, x28 + WORD $0x540090c0 // b.eq LBB0_408 $4632(%rip) + WORD $0xb20903e4 // mov x4, #36028797027352576 + WORD $0xf2800024 // movk x4, #1 + WORD $0x8b1c0128 // add x8, x9, x28 + WORD $0x39400111 // ldrb w17, [x8] + WORD $0x7100c23f // cmp w17, #48 + WORD $0x54002281 // b.ne LBB0_198 $1104(%rip) + WORD $0xf100071f // cmp x24, #1 + WORD $0x54002141 // b.ne LBB0_196 $1064(%rip) +LBB0_159: + WORD $0x52800027 // mov w7, #1 + WORD $0x140001ac // b LBB0_244 $1712(%rip) +LBB0_160: + WORD $0x71016ebf // cmp w21, #91 + WORD $0x54000540 // b.eq LBB0_172 $168(%rip) + WORD $0x71019abf // cmp w21, #102 + WORD $0x54008a61 // b.ne LBB0_394 $4428(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1001111 // sub x17, x8, #4 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008de2 // b.hs LBB0_406 $4540(%rip) + WORD $0xb87c6928 // ldr w8, [x9, x28] + WORD $0x528d8c31 // mov w17, #27745 + WORD $0x72acae71 // movk w17, #25971, lsl #16 + WORD $0x6b11011f // cmp w8, w17 + WORD $0x54009381 // b.ne LBB0_420 $4720(%rip) + WORD $0x9100177c // add x28, x27, #5 + WORD $0x14000015 // b LBB0_170 $84(%rip) +LBB0_165: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1000d11 // sub x17, x8, #3 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008c82 // b.hs LBB0_406 $4496(%rip) + WORD $0xb87b6928 // ldr w8, [x9, x27] + WORD $0x528e4e91 // mov w17, #29300 + WORD $0x72acaeb1 // movk w17, #25973, lsl #16 + WORD $0x6b11011f // cmp w8, w17 + WORD $0x54000160 // b.eq LBB0_169 $44(%rip) + WORD $0x1400047b // b LBB0_415 $4588(%rip) +LBB0_167: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1000d11 // sub x17, x8, #3 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008b42 // b.hs LBB0_406 $4456(%rip) + WORD $0xb87b6928 // ldr w8, [x9, x27] + WORD $0x528eadd1 // mov w17, #30062 + WORD $0x72ad8d91 // movk w17, #27756, lsl #16 + WORD $0x6b11011f // cmp w8, w17 + WORD $0x54008bc1 // b.ne LBB0_411 $4472(%rip) +LBB0_169: + WORD $0x9100137c // add x28, x27, #4 +LBB0_170: + WORD $0xf900003c // str x28, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0xeb06037f // cmp x27, x6 + WORD $0x54008602 // b.hs LBB0_394 $4288(%rip) +LBB0_171: + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ff97a5 // cbnz x5, LBB0_1 $-3340(%rip) + WORD $0x1400042c // b LBB0_394 $4272(%rip) +LBB0_172: + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x540086ac // b.gt LBB0_396 $4308(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000051 // str x17, [x2] + WORD $0x528000b1 // mov w17, #5 + WORD $0xf8287951 // str x17, [x10, x8, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ff9645 // cbnz x5, LBB0_1 $-3384(%rip) + WORD $0x14000421 // b LBB0_394 $4228(%rip) +LBB0_174: + WORD $0x3200f3f8 // mov w24, #1431655765 + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0114 // subs x20, x8, x28 + WORD $0x37280b43 // tbnz w3, #5, LBB0_185 $360(%rip) + WORD $0x54008580 // b.eq LBB0_398 $4272(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x540051e3 // b.lo LBB0_307 $2620(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_178: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405634 // ldp q20, q21, [x17] + WORD $0xad415e36 // ldp q22, q23, [x17, #32] + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e208efb // cmeq.16b v27, v23, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x4e221f38 // and.16b v24, v25, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260304 // fmov w4, s24 + WORD $0x4e221f58 // and.16b v24, v26, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260306 // fmov w6, s24 + WORD $0x4e221f78 // and.16b v24, v27, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260293 // fmov w19, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260296 // fmov w22, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0xd3607cc6 // lsl x6, x6, #32 + WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 + WORD $0x53103c84 // lsl w4, w4, #16 + WORD $0xaa0400c4 // orr x4, x6, x4 + WORD $0xaa110087 // orr x7, x4, x17 + WORD $0xd3607ed1 // lsl x17, x22, #32 + WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 + WORD $0x53103ea4 // lsl w4, w21, #16 + WORD $0xaa040231 // orr x17, x17, x4 + WORD $0xaa130231 // orr x17, x17, x19 + WORD $0xb5000131 // cbnz x17, LBB0_182 $36(%rip) + WORD $0xb50001a5 // cbnz x5, LBB0_183 $52(%rip) + WORD $0x52800073 // mov w19, #3 + WORD $0xb5ffa2c7 // cbnz x7, LBB0_38 $-2984(%rip) +LBB0_181: + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff888 // b.hi LBB0_178 $-240(%rip) + WORD $0x14000247 // b LBB0_304 $2332(%rip) +LBB0_182: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00224 // rbit x4, x17 + WORD $0xdac01084 // clz x4, x4 + WORD $0x8b1c0084 // add x4, x4, x28 + WORD $0x9a841108 // csel x8, x8, x4, ne +LBB0_183: + WORD $0x8a250224 // bic x4, x17, x5 + WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 + WORD $0x8a260231 // bic x17, x17, x6 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab040231 // adds x17, x17, x4 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a060231 // and x17, x17, x6 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x52800073 // mov w19, #3 + WORD $0xb4fffd67 // cbz x7, LBB0_181 $-84(%rip) + WORD $0x17fffcff // b LBB0_38 $-3076(%rip) +LBB0_184: + WORD $0xaa1803f6 // mov x22, x24 + WORD $0x92800015 // mov x21, #-1 + WORD $0xb5ffd688 // cbnz x8, LBB0_125 $-1328(%rip) + WORD $0x140003d8 // b LBB0_400 $3936(%rip) +LBB0_185: + WORD $0x54007a60 // b.eq LBB0_398 $3916(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54004b43 // b.lo LBB0_313 $2408(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_188: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405a37 // ldp q23, q22, [x17] + WORD $0xad415235 // ldp q21, q20, [x17, #32] + WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260304 // fmov w4, s24 + WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260306 // fmov w6, s24 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260313 // fmov w19, s24 + WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x6e218e98 // cmeq.16b v24, v20, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260317 // fmov w23, s24 + WORD $0xd3607cc6 // lsl x6, x6, #32 + WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 + WORD $0x53103c84 // lsl w4, w4, #16 + WORD $0xaa0400c4 // orr x4, x6, x4 + WORD $0xaa110087 // orr x7, x4, x17 + WORD $0xd3607ed1 // lsl x17, x22, #32 + WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 + WORD $0x53103ea4 // lsl w4, w21, #16 + WORD $0xaa040231 // orr x17, x17, x4 + WORD $0xaa130231 // orr x17, x17, x19 + WORD $0xb5000451 // cbnz x17, LBB0_193 $136(%rip) + WORD $0xb50004c5 // cbnz x5, LBB0_194 $152(%rip) +LBB0_190: + WORD $0x6e373497 // cmhi.16b v23, v4, v23 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x6e363496 // cmhi.16b v22, v4, v22 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c4 // fmov w4, s22 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a6 // fmov w6, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260293 // fmov w19, s20 + WORD $0xd3607cc6 // lsl x6, x6, #32 + WORD $0xaa13c0c6 // orr x6, x6, x19, lsl #48 + WORD $0x53103c84 // lsl w4, w4, #16 + WORD $0xaa0400c4 // orr x4, x6, x4 + WORD $0xaa110091 // orr x17, x4, x17 + WORD $0xb50002e7 // cbnz x7, LBB0_195 $92(%rip) + WORD $0xb50070f1 // cbnz x17, LBB0_404 $3612(%rip) + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff568 // b.hi LBB0_188 $-340(%rip) + WORD $0x140001d7 // b LBB0_305 $1884(%rip) +LBB0_193: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00224 // rbit x4, x17 + WORD $0xdac01084 // clz x4, x4 + WORD $0x8b1c0084 // add x4, x4, x28 + WORD $0x9a841108 // csel x8, x8, x4, ne +LBB0_194: + WORD $0x8a250224 // bic x4, x17, x5 + WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 + WORD $0x8a260231 // bic x17, x17, x6 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab040231 // adds x17, x17, x4 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a060231 // and x17, x17, x6 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x17ffffd1 // b LBB0_190 $-188(%rip) +LBB0_195: + WORD $0xdac000e4 // rbit x4, x7 + WORD $0xdac01085 // clz x5, x4 + WORD $0xdac00231 // rbit x17, x17 + WORD $0xdac01231 // clz x17, x17 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x52800073 // mov w19, #3 + WORD $0x54ffc682 // b.hs LBB0_120 $-1840(%rip) + WORD $0x140003bc // b LBB0_427 $3824(%rip) +LBB0_196: + WORD $0x39400511 // ldrb w17, [x8, #1] + WORD $0x5100ba31 // sub w17, w17, #46 + WORD $0x7100de3f // cmp w17, #55 + WORD $0x54ffde88 // b.hi LBB0_159 $-1072(%rip) + WORD $0x9ad121f1 // lsl x17, x15, x17 + WORD $0x52800027 // mov w7, #1 + WORD $0xea04023f // tst x17, x4 + WORD $0x540013a0 // b.eq LBB0_244 $628(%rip) +LBB0_198: + WORD $0xf100431f // cmp x24, #16 + WORD $0x54004803 // b.lo LBB0_335 $2304(%rip) + WORD $0xd2800017 // mov x23, #0 + WORD $0xd2800007 // mov x7, #0 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800005 // mov x5, #-1 + WORD $0x92800014 // mov x20, #-1 +LBB0_200: + WORD $0x3ce76914 // ldr q20, [x8, x7] + WORD $0x6e258e95 // cmeq.16b v21, v20, v5 + WORD $0x6e268e96 // cmeq.16b v22, v20, v6 + WORD $0x6e278e97 // cmeq.16b v23, v20, v7 + WORD $0x4e308698 // add.16b v24, v20, v16 + WORD $0x6e383638 // cmhi.16b v24, v17, v24 + WORD $0x4e321e94 // and.16b v20, v20, v18 + WORD $0x6e338e94 // cmeq.16b v20, v20, v19 + WORD $0x4eb71ed6 // orr.16b v22, v22, v23 + WORD $0x4eb51f17 // orr.16b v23, v24, v21 + WORD $0x4eb61e98 // orr.16b v24, v20, v22 + WORD $0x4eb81ef7 // orr.16b v23, v23, v24 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b1 // fmov w17, s21 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260284 // fmov w4, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260286 // fmov w6, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x2a3503f5 // mvn w21, w21 + WORD $0x32103eb5 // orr w21, w21, #0xffff0000 + WORD $0x5ac002b5 // rbit w21, w21 + WORD $0x5ac012b5 // clz w21, w21 + WORD $0x12800013 // mov w19, #-1 + WORD $0x1ad52276 // lsl w22, w19, w21 + WORD $0x0a360239 // bic w25, w17, w22 + WORD $0x0a360093 // bic w19, w4, w22 + WORD $0x0a3600d6 // bic w22, w6, w22 + WORD $0x710042bf // cmp w21, #16 + WORD $0x1a99023a // csel w26, w17, w25, eq + WORD $0x1a930091 // csel w17, w4, w19, eq + WORD $0x1a9600d6 // csel w22, w6, w22, eq + WORD $0x51000744 // sub w4, w26, #1 + WORD $0x6a1a0099 // ands w25, w4, w26 + WORD $0x54002f81 // b.ne LBB0_303 $1520(%rip) + WORD $0x51000624 // sub w4, w17, #1 + WORD $0x6a110099 // ands w25, w4, w17 + WORD $0x54002f21 // b.ne LBB0_303 $1508(%rip) + WORD $0x510006c4 // sub w4, w22, #1 + WORD $0x6a160099 // ands w25, w4, w22 + WORD $0x54002ec1 // b.ne LBB0_303 $1496(%rip) + WORD $0x340000da // cbz w26, LBB0_206 $24(%rip) + WORD $0x5ac00344 // rbit w4, w26 + WORD $0x5ac0109a // clz w26, w4 + WORD $0xb100069f // cmn x20, #1 + WORD $0x54004001 // b.ne LBB0_334 $2048(%rip) + WORD $0x8b1a00f4 // add x20, x7, x26 +LBB0_206: + WORD $0x340000d1 // cbz w17, LBB0_209 $24(%rip) + WORD $0x5ac00231 // rbit w17, w17 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10004bf // cmn x5, #1 + WORD $0x54002ea1 // b.ne LBB0_306 $1492(%rip) + WORD $0x8b1100e5 // add x5, x7, x17 +LBB0_209: + WORD $0x340000d6 // cbz w22, LBB0_212 $24(%rip) + WORD $0x5ac002d1 // rbit w17, w22 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10007df // cmn lr, #1 + WORD $0x54002de1 // b.ne LBB0_306 $1468(%rip) + WORD $0x8b1100fe // add lr, x7, x17 +LBB0_212: + WORD $0x710042bf // cmp w21, #16 + WORD $0x540005e1 // b.ne LBB0_230 $188(%rip) + WORD $0x910040e7 // add x7, x7, #16 + WORD $0xd10042f7 // sub x23, x23, #16 + WORD $0x8b170315 // add x21, x24, x23 + WORD $0xf1003ebf // cmp x21, #15 + WORD $0x54fff6c8 // b.hi LBB0_200 $-296(%rip) + WORD $0x8b070116 // add x22, x8, x7 + WORD $0xeb07031f // cmp x24, x7 + WORD $0x52800073 // mov w19, #3 + WORD $0x54000520 // b.eq LBB0_231 $164(%rip) +LBB0_215: + WORD $0x8b1502c6 // add x6, x22, x21 + WORD $0x8b160191 // add x17, x12, x22 + WORD $0xcb1b0238 // sub x24, x17, x27 + WORD $0xaa1603f7 // mov x23, x22 + WORD $0x14000008 // b LBB0_219 $32(%rip) +LBB0_216: + WORD $0xb10007df // cmn lr, #1 + WORD $0x54002a01 // b.ne LBB0_302 $1344(%rip) + WORD $0xd100071e // sub lr, x24, #1 +LBB0_218: + WORD $0x91000718 // add x24, x24, #1 + WORD $0xaa1703f6 // mov x22, x23 + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0xb4000a35 // cbz x21, LBB0_249 $324(%rip) +LBB0_219: + WORD $0x384016f1 // ldrb w17, [x23], #1 + WORD $0x5100c224 // sub w4, w17, #48 + WORD $0x7100289f // cmp w4, #10 + WORD $0x54ffff23 // b.lo LBB0_218 $-28(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x5400016d // b.le LBB0_226 $44(%rip) + WORD $0x7101963f // cmp w17, #101 + WORD $0x540001c0 // b.eq LBB0_228 $56(%rip) + WORD $0x7101163f // cmp w17, #69 + WORD $0x54000180 // b.eq LBB0_228 $48(%rip) + WORD $0x7100ba3f // cmp w17, #46 + WORD $0x54000221 // b.ne LBB0_231 $68(%rip) + WORD $0xb100069f // cmn x20, #1 + WORD $0x540027a1 // b.ne LBB0_302 $1268(%rip) + WORD $0xd1000714 // sub x20, x24, #1 + WORD $0x17ffffed // b LBB0_218 $-76(%rip) +LBB0_226: + WORD $0x7100ae3f // cmp w17, #43 + WORD $0x54fffd00 // b.eq LBB0_216 $-96(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x54fffcc0 // b.eq LBB0_216 $-104(%rip) + WORD $0x14000008 // b LBB0_231 $32(%rip) +LBB0_228: + WORD $0xb10004bf // cmn x5, #1 + WORD $0x54002681 // b.ne LBB0_302 $1232(%rip) + WORD $0xd1000705 // sub x5, x24, #1 + WORD $0x17ffffe4 // b LBB0_218 $-112(%rip) +LBB0_230: + WORD $0x8b354111 // add x17, x8, w21, uxtw + WORD $0x8b070236 // add x22, x17, x7 + WORD $0x52800073 // mov w19, #3 +LBB0_231: + WORD $0x92800007 // mov x7, #-1 + WORD $0xb4005dd4 // cbz x20, LBB0_409 $3000(%rip) +LBB0_232: + WORD $0xb4005dbe // cbz lr, LBB0_409 $2996(%rip) + WORD $0xb4005d85 // cbz x5, LBB0_409 $2992(%rip) + WORD $0xcb0802c8 // sub x8, x22, x8 + WORD $0xd1000511 // sub x17, x8, #1 + WORD $0xeb11029f // cmp x20, x17 + WORD $0x540002a0 // b.eq LBB0_242 $84(%rip) + WORD $0xeb1103df // cmp lr, x17 + WORD $0x54000260 // b.eq LBB0_242 $76(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x54000220 // b.eq LBB0_242 $68(%rip) + WORD $0xf10007d1 // subs x17, lr, #1 + WORD $0x5400006b // b.lt LBB0_239 $12(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x54005c21 // b.ne LBB0_410 $2948(%rip) +LBB0_239: + WORD $0xaa050291 // orr x17, x20, x5 + WORD $0xb7f80071 // tbnz x17, #63, LBB0_241 $12(%rip) + WORD $0xeb05029f // cmp x20, x5 + WORD $0x540063ea // b.ge LBB0_426 $3196(%rip) +LBB0_241: + WORD $0xd37ffe31 // lsr x17, x17, #63 + WORD $0x52000231 // eor w17, w17, #0x1 + WORD $0xd10004a4 // sub x4, x5, #1 + WORD $0xeb04029f // cmp x20, x4 + WORD $0x1a9f17e4 // cset w4, eq + WORD $0x6a04023f // tst w17, w4 + WORD $0xda850107 // csinv x7, x8, x5, eq + WORD $0x14000002 // b LBB0_243 $8(%rip) +LBB0_242: + WORD $0xcb0803e7 // neg x7, x8 +LBB0_243: + WORD $0xb7f85a47 // tbnz x7, #63, LBB0_409 $2888(%rip) +LBB0_244: + WORD $0x8b1c00fc // add x28, x7, x28 + WORD $0xf900003c // str x28, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xeb06037f // cmp x27, x6 + WORD $0x52800084 // mov w4, #4 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0x54ffce83 // b.lo LBB0_171 $-1584(%rip) + WORD $0x140002a2 // b LBB0_394 $2696(%rip) +LBB0_245: + WORD $0x5ac00328 // rbit w8, w25 + WORD $0x5ac01108 // clz w8, w8 + WORD $0xaa3c03f1 // mvn x17, x28 + WORD $0xcb080235 // sub x21, x17, x8 + WORD $0x17fffda7 // b LBB0_136 $-2404(%rip) +LBB0_246: + WORD $0xaa3c03e8 // mvn x8, x28 + WORD $0xcb314115 // sub x21, x8, w17, uxtw + WORD $0x17fffda4 // b LBB0_136 $-2416(%rip) +LBB0_247: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400000a // b LBB0_251 $40(%rip) +LBB0_248: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400002c // b LBB0_257 $176(%rip) +LBB0_249: + WORD $0xaa0603f6 // mov x22, x6 + WORD $0x92800007 // mov x7, #-1 + WORD $0xb5fff994 // cbnz x20, LBB0_232 $-208(%rip) + WORD $0x140002b8 // b LBB0_409 $2784(%rip) +LBB0_250: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_251: + WORD $0xf1008287 // subs x7, x20, #32 + WORD $0x54003463 // b.lo LBB0_339 $1676(%rip) + WORD $0xad405794 // ldp q20, q21, [x28] + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x4e221ef6 // and.16b v22, v23, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260296 // fmov w22, s20 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35002ed5 // cbnz w21, LBB0_336 $1496(%rip) + WORD $0xb5002f65 // cbnz x5, LBB0_337 $1516(%rip) + WORD $0xb40030f4 // cbz x20, LBB0_338 $1564(%rip) +LBB0_255: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0x8b1100b1 // add x17, x5, x17 + WORD $0x17fffd52 // b LBB0_121 $-2744(%rip) +LBB0_256: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_257: + WORD $0xf1008295 // subs x21, x20, #32 + WORD $0x54000643 // b.lo LBB0_265 $200(%rip) + WORD $0xad405395 // ldp q21, q20, [x28] + WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c7 // fmov w7, s22 + WORD $0x6e218e96 // cmeq.16b v22, v20, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d6 // fmov w22, s22 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ec7 // bfi w7, w22, #16, #16 + WORD $0x35003047 // cbnz w7, LBB0_349 $1544(%rip) + WORD $0xb50030e5 // cbnz x5, LBB0_350 $1564(%rip) +LBB0_260: + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a7 // fmov w7, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x33103e27 // bfi w7, w17, #16, #16 + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xb4000114 // cbz x20, LBB0_263 $32(%rip) + WORD $0xdac00285 // rbit x5, x20 + WORD $0xdac010a7 // clz x7, x5 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x54005563 // b.lo LBB0_428 $2732(%rip) + WORD $0x8b0700b1 // add x17, x5, x7 + WORD $0x17fffd1f // b LBB0_121 $-2948(%rip) +LBB0_263: + WORD $0x35005547 // cbnz w7, LBB0_429 $2728(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa1503f4 // mov x20, x21 +LBB0_265: + WORD $0xb5003965 // cbnz x5, LBB0_368 $1836(%rip) + WORD $0xb40048d4 // cbz x20, LBB0_398 $2328(%rip) +LBB0_267: + WORD $0xd2800005 // mov x5, #0 +LBB0_268: + WORD $0x38656b91 // ldrb w17, [x28, x5] + WORD $0x71008a3f // cmp w17, #34 + WORD $0x540002e0 // b.eq LBB0_274 $92(%rip) + WORD $0x7101723f // cmp w17, #92 + WORD $0x540000e0 // b.eq LBB0_272 $28(%rip) + WORD $0x71007e3f // cmp w17, #31 + WORD $0x54005429 // b.ls LBB0_430 $2692(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54fffee1 // b.ne LBB0_268 $-36(%rip) + WORD $0x1400023a // b LBB0_398 $2280(%rip) +LBB0_272: + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x540046e0 // b.eq LBB0_398 $2268(%rip) + WORD $0x8b050391 // add x17, x28, x5 + WORD $0x8b0c0227 // add x7, x17, x12 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a8800e8 // csel x8, x7, x8, eq + WORD $0x91000a3c // add x28, x17, #2 + WORD $0xcb050291 // sub x17, x20, x5 + WORD $0xd1000a87 // sub x7, x20, #2 + WORD $0xd1000a34 // sub x20, x17, #2 + WORD $0xeb0500ff // cmp x7, x5 + WORD $0x54fffd01 // b.ne LBB0_267 $-96(%rip) + WORD $0x1400022c // b LBB0_398 $2224(%rip) +LBB0_274: + WORD $0x8b1c0191 // add x17, x12, x28 + WORD $0x8b050231 // add x17, x17, x5 + WORD $0x17fffcfd // b LBB0_121 $-3084(%rip) +LBB0_275: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x14000006 // b LBB0_278 $24(%rip) +LBB0_276: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x14000028 // b LBB0_284 $160(%rip) +LBB0_277: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_278: + WORD $0xf1008287 // subs x7, x20, #32 + WORD $0x54002d23 // b.lo LBB0_354 $1444(%rip) + WORD $0xad405794 // ldp q20, q21, [x28] + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x4e221ef6 // and.16b v22, v23, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260296 // fmov w22, s20 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35002795 // cbnz w21, LBB0_351 $1264(%rip) + WORD $0xb5002825 // cbnz x5, LBB0_352 $1284(%rip) + WORD $0xb40029b4 // cbz x20, LBB0_353 $1332(%rip) +LBB0_282: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0x8b1100b1 // add x17, x5, x17 + WORD $0x17fffd75 // b LBB0_150 $-2604(%rip) +LBB0_283: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_284: + WORD $0xf1008295 // subs x21, x20, #32 + WORD $0x54000643 // b.lo LBB0_292 $200(%rip) + WORD $0xad405395 // ldp q21, q20, [x28] + WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c7 // fmov w7, s22 + WORD $0x6e218e96 // cmeq.16b v22, v20, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d6 // fmov w22, s22 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ec7 // bfi w7, w22, #16, #16 + WORD $0x350029a7 // cbnz w7, LBB0_364 $1332(%rip) + WORD $0xb5002a45 // cbnz x5, LBB0_365 $1352(%rip) +LBB0_287: + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a7 // fmov w7, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x33103e27 // bfi w7, w17, #16, #16 + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xb4000114 // cbz x20, LBB0_290 $32(%rip) + WORD $0xdac00285 // rbit x5, x20 + WORD $0xdac010a7 // clz x7, x5 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x540045c3 // b.lo LBB0_428 $2232(%rip) + WORD $0x8b0700b1 // add x17, x5, x7 + WORD $0x17fffd42 // b LBB0_150 $-2808(%rip) +LBB0_290: + WORD $0x350045a7 // cbnz w7, LBB0_429 $2228(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa1503f4 // mov x20, x21 +LBB0_292: + WORD $0xb5002bc5 // cbnz x5, LBB0_372 $1400(%rip) + WORD $0xb4003934 // cbz x20, LBB0_398 $1828(%rip) +LBB0_294: + WORD $0xd2800005 // mov x5, #0 +LBB0_295: + WORD $0x38656b91 // ldrb w17, [x28, x5] + WORD $0x71008a3f // cmp w17, #34 + WORD $0x540002e0 // b.eq LBB0_301 $92(%rip) + WORD $0x7101723f // cmp w17, #92 + WORD $0x540000e0 // b.eq LBB0_299 $28(%rip) + WORD $0x71007e3f // cmp w17, #31 + WORD $0x54004489 // b.ls LBB0_430 $2192(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54fffee1 // b.ne LBB0_295 $-36(%rip) + WORD $0x140001bd // b LBB0_398 $1780(%rip) +LBB0_299: + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x54003740 // b.eq LBB0_398 $1768(%rip) + WORD $0x8b050391 // add x17, x28, x5 + WORD $0x8b0c0227 // add x7, x17, x12 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a8800e8 // csel x8, x7, x8, eq + WORD $0x91000a3c // add x28, x17, #2 + WORD $0xcb050291 // sub x17, x20, x5 + WORD $0xd1000a87 // sub x7, x20, #2 + WORD $0xd1000a34 // sub x20, x17, #2 + WORD $0xeb0500ff // cmp x7, x5 + WORD $0x54fffd01 // b.ne LBB0_294 $-96(%rip) + WORD $0x140001af // b LBB0_398 $1724(%rip) +LBB0_301: + WORD $0x8b1c0191 // add x17, x12, x28 + WORD $0x8b050231 // add x17, x17, x5 + WORD $0x17fffd20 // b LBB0_150 $-2944(%rip) +LBB0_302: + WORD $0xcb1803e7 // neg x7, x24 + WORD $0x17fffeee // b LBB0_243 $-1096(%rip) +LBB0_303: + WORD $0x5ac00328 // rbit w8, w25 + WORD $0x5ac01108 // clz w8, w8 + WORD $0xaa2703f1 // mvn x17, x7 + WORD $0xcb080227 // sub x7, x17, x8 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffee8 // b LBB0_243 $-1120(%rip) +LBB0_304: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400000a // b LBB0_308 $40(%rip) +LBB0_305: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400002c // b LBB0_314 $176(%rip) +LBB0_306: + WORD $0xaa2703e8 // mvn x8, x7 + WORD $0xcb314107 // sub x7, x8, w17, uxtw + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffee0 // b LBB0_243 $-1152(%rip) +LBB0_307: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_308: + WORD $0xf1008287 // subs x7, x20, #32 + WORD $0x540028e3 // b.lo LBB0_377 $1308(%rip) + WORD $0xad405794 // ldp q20, q21, [x28] + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x4e221ef6 // and.16b v22, v23, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260284 // fmov w4, s20 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103c95 // bfi w21, w4, #16, #16 + WORD $0x35002375 // cbnz w21, LBB0_374 $1132(%rip) + WORD $0xb5002405 // cbnz x5, LBB0_375 $1152(%rip) + WORD $0xb4002574 // cbz x20, LBB0_376 $1196(%rip) +LBB0_312: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090384 // sub x4, x28, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0x14000055 // b LBB0_332 $340(%rip) +LBB0_313: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_314: + WORD $0xf1008295 // subs x21, x20, #32 + WORD $0x54000643 // b.lo LBB0_322 $200(%rip) + WORD $0xad405395 // ldp q21, q20, [x28] + WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c7 // fmov w7, s22 + WORD $0x6e218e96 // cmeq.16b v22, v20, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c4 // fmov w4, s22 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103c87 // bfi w7, w4, #16, #16 + WORD $0x350024e7 // cbnz w7, LBB0_386 $1180(%rip) + WORD $0xb5002585 // cbnz x5, LBB0_387 $1200(%rip) +LBB0_317: + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a7 // fmov w7, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x33103e27 // bfi w7, w17, #16, #16 + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xb4000114 // cbz x20, LBB0_320 $32(%rip) + WORD $0xdac00284 // rbit x4, x20 + WORD $0xdac01087 // clz x7, x4 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x540034a3 // b.lo LBB0_428 $1684(%rip) + WORD $0x8b0700b1 // add x17, x5, x7 + WORD $0x14000022 // b LBB0_332 $136(%rip) +LBB0_320: + WORD $0x35003487 // cbnz w7, LBB0_429 $1680(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa1503f4 // mov x20, x21 +LBB0_322: + WORD $0xb5002505 // cbnz x5, LBB0_391 $1184(%rip) + WORD $0xb4002814 // cbz x20, LBB0_398 $1280(%rip) +LBB0_324: + WORD $0xd2800005 // mov x5, #0 +LBB0_325: + WORD $0x38656b91 // ldrb w17, [x28, x5] + WORD $0x71008a3f // cmp w17, #34 + WORD $0x540002e0 // b.eq LBB0_331 $92(%rip) + WORD $0x7101723f // cmp w17, #92 + WORD $0x540000e0 // b.eq LBB0_329 $28(%rip) + WORD $0x71007e3f // cmp w17, #31 + WORD $0x54003369 // b.ls LBB0_430 $1644(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54fffee1 // b.ne LBB0_325 $-36(%rip) + WORD $0x14000134 // b LBB0_398 $1232(%rip) +LBB0_329: + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x54002620 // b.eq LBB0_398 $1220(%rip) + WORD $0x8b050391 // add x17, x28, x5 + WORD $0x8b0c0224 // add x4, x17, x12 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880088 // csel x8, x4, x8, eq + WORD $0x91000a3c // add x28, x17, #2 + WORD $0xcb050291 // sub x17, x20, x5 + WORD $0xd1000a84 // sub x4, x20, #2 + WORD $0xd1000a34 // sub x20, x17, #2 + WORD $0xeb05009f // cmp x4, x5 + WORD $0x54fffd01 // b.ne LBB0_324 $-96(%rip) + WORD $0x14000126 // b LBB0_398 $1176(%rip) +LBB0_331: + WORD $0x8b1c0191 // add x17, x12, x28 + WORD $0x8b050231 // add x17, x17, x5 +LBB0_332: + WORD $0x9100063c // add x28, x17, #1 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffbf6 // b LBB0_122 $-4136(%rip) +LBB0_333: + WORD $0x92800008 // mov x8, #-1 + WORD $0xaa1e03f6 // mov x22, lr + WORD $0xaa1503f7 // mov x23, x21 + WORD $0x92800005 // mov x5, #-1 + WORD $0x92800014 // mov x20, #-1 + WORD $0x17fffb21 // b LBB0_82 $-4988(%rip) +LBB0_334: + WORD $0xaa2703e8 // mvn x8, x7 + WORD $0xcb3a4107 // sub x7, x8, w26, uxtw + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffe5b // b LBB0_243 $-1684(%rip) +LBB0_335: + WORD $0x92800014 // mov x20, #-1 + WORD $0xaa0803f6 // mov x22, x8 + WORD $0xaa1803f5 // mov x21, x24 + WORD $0x92800005 // mov x5, #-1 + WORD $0x9280001e // mov lr, #-1 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffe0f // b LBB0_215 $-1988(%rip) +LBB0_336: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_337: + WORD $0x0a2502b1 // bic w17, w21, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1102b1 // adds w17, w21, w17 + WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0xb5ffcf74 // cbnz x20, LBB0_255 $-1556(%rip) +LBB0_338: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0703f4 // mov x20, x7 +LBB0_339: + WORD $0xb5000ec5 // cbnz x5, LBB0_366 $472(%rip) + WORD $0xb4000314 // cbz x20, LBB0_348 $96(%rip) +LBB0_341: + WORD $0xaa1c03e7 // mov x7, x28 + WORD $0x384014e5 // ldrb w5, [x7], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000260 // b.eq LBB0_347 $76(%rip) + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_344 $20(%rip) + WORD $0xaa0703fc // mov x28, x7 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffef1 // cbnz x17, LBB0_341 $-36(%rip) + WORD $0x14000009 // b LBB0_346 $36(%rip) +LBB0_344: + WORD $0xb4001db1 // cbz x17, LBB0_398 $948(%rip) + WORD $0x8b0b00f1 // add x17, x7, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000a91 // sub x17, x20, #2 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffdd1 // cbnz x17, LBB0_341 $-72(%rip) +LBB0_346: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000060 // b.eq LBB0_348 $12(%rip) + WORD $0x140000e3 // b LBB0_398 $908(%rip) +LBB0_347: + WORD $0xaa0703fc // mov x28, x7 +LBB0_348: + WORD $0xcb09039c // sub x28, x28, x9 + WORD $0x17fffbb5 // b LBB0_122 $-4396(%rip) +LBB0_349: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_350: + WORD $0x0a2500f1 // bic w17, w7, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3600e7 // bic w7, w7, w22 + WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa + WORD $0x2b1100f1 // adds w17, w7, w17 + WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffe6e // b LBB0_260 $-1608(%rip) +LBB0_351: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_352: + WORD $0x0a2502b1 // bic w17, w21, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1102b1 // adds w17, w21, w17 + WORD $0x4a110491 // eor w17, w4, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0xb5ffd6b4 // cbnz x20, LBB0_282 $-1324(%rip) +LBB0_353: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0703f4 // mov x20, x7 +LBB0_354: + WORD $0xb5000865 // cbnz x5, LBB0_370 $268(%rip) + WORD $0xb4000314 // cbz x20, LBB0_363 $96(%rip) +LBB0_356: + WORD $0xaa1c03e7 // mov x7, x28 + WORD $0x384014e5 // ldrb w5, [x7], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000260 // b.eq LBB0_362 $76(%rip) + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_359 $20(%rip) + WORD $0xaa0703fc // mov x28, x7 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffef1 // cbnz x17, LBB0_356 $-36(%rip) + WORD $0x14000009 // b LBB0_361 $36(%rip) +LBB0_359: + WORD $0xb4001551 // cbz x17, LBB0_398 $680(%rip) + WORD $0x8b0b00f1 // add x17, x7, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000a91 // sub x17, x20, #2 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffdd1 // cbnz x17, LBB0_356 $-72(%rip) +LBB0_361: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000060 // b.eq LBB0_363 $12(%rip) + WORD $0x140000a0 // b LBB0_398 $640(%rip) +LBB0_362: + WORD $0xaa0703fc // mov x28, x7 +LBB0_363: + WORD $0xcb09039c // sub x28, x28, x9 + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb6ff827c // tbz x28, #63, LBB0_151 $-4020(%rip) + WORD $0x14000096 // b LBB0_397 $600(%rip) +LBB0_364: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_365: + WORD $0x0a2500f1 // bic w17, w7, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3600e7 // bic w7, w7, w22 + WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa + WORD $0x2b1100f1 // adds w17, w7, w17 + WORD $0x4a110491 // eor w17, w4, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffea3 // b LBB0_287 $-1396(%rip) +LBB0_366: + WORD $0xb4001094 // cbz x20, LBB0_398 $528(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5fff0d4 // cbnz x20, LBB0_341 $-488(%rip) + WORD $0x17ffff9c // b LBB0_348 $-400(%rip) +LBB0_368: + WORD $0xb4000f94 // cbz x20, LBB0_398 $496(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5ffc634 // cbnz x20, LBB0_267 $-1852(%rip) + WORD $0x14000075 // b LBB0_398 $468(%rip) +LBB0_370: + WORD $0xb4000e94 // cbz x20, LBB0_398 $464(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5fff734 // cbnz x20, LBB0_356 $-284(%rip) + WORD $0x17ffffcf // b LBB0_363 $-196(%rip) +LBB0_372: + WORD $0xb4000d94 // cbz x20, LBB0_398 $432(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5ffd3d4 // cbnz x20, LBB0_294 $-1416(%rip) + WORD $0x14000065 // b LBB0_398 $404(%rip) +LBB0_374: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090384 // sub x4, x28, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_375: + WORD $0x0a2502b1 // bic w17, w21, w5 + WORD $0x531f7a24 // lsl w4, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a2402a4 // bic w4, w21, w4 + WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa + WORD $0x2b110091 // adds w17, w4, w17 + WORD $0x4a110711 // eor w17, w24, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0xb5ffdaf4 // cbnz x20, LBB0_312 $-1188(%rip) +LBB0_376: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0703f4 // mov x20, x7 +LBB0_377: + WORD $0xb50005c5 // cbnz x5, LBB0_388 $184(%rip) + WORD $0xb4000694 // cbz x20, LBB0_390 $208(%rip) +LBB0_379: + WORD $0xaa1c03e7 // mov x7, x28 + WORD $0x384014e5 // ldrb w5, [x7], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000280 // b.eq LBB0_385 $80(%rip) + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_382 $20(%rip) + WORD $0xaa0703fc // mov x28, x7 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffef1 // cbnz x17, LBB0_379 $-36(%rip) + WORD $0x14000009 // b LBB0_384 $36(%rip) +LBB0_382: + WORD $0xb4000871 // cbz x17, LBB0_398 $268(%rip) + WORD $0x8b0b00f1 // add x17, x7, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000a91 // sub x17, x20, #2 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffdd1 // cbnz x17, LBB0_379 $-72(%rip) +LBB0_384: + WORD $0x710088bf // cmp w5, #34 + WORD $0x52800073 // mov w19, #3 + WORD $0x54ffeb00 // b.eq LBB0_348 $-672(%rip) + WORD $0x14000038 // b LBB0_398 $224(%rip) +LBB0_385: + WORD $0xaa0703fc // mov x28, x7 + WORD $0x52800073 // mov w19, #3 + WORD $0x17ffff54 // b LBB0_348 $-688(%rip) +LBB0_386: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090384 // sub x4, x28, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_387: + WORD $0x0a2500f1 // bic w17, w7, w5 + WORD $0x531f7a24 // lsl w4, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a2400e4 // bic w4, w7, w4 + WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa + WORD $0x2b110091 // adds w17, w4, w17 + WORD $0x4a110711 // eor w17, w24, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x17fffeca // b LBB0_317 $-1240(%rip) +LBB0_388: + WORD $0xb4000454 // cbz x20, LBB0_398 $136(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5fff9d4 // cbnz x20, LBB0_379 $-200(%rip) +LBB0_390: + WORD $0x52800073 // mov w19, #3 + WORD $0x17ffff39 // b LBB0_348 $-796(%rip) +LBB0_391: + WORD $0xb4000334 // cbz x20, LBB0_398 $100(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5ffda94 // cbnz x20, LBB0_324 $-1200(%rip) + WORD $0x14000012 // b LBB0_398 $72(%rip) +LBB0_393: + WORD $0x92800008 // mov x8, #-1 +LBB0_394: + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa945fbfd // ldp fp, lr, [sp, #88] + WORD $0xa944cff4 // ldp x20, x19, [sp, #72] + WORD $0xa943d7f6 // ldp x22, x21, [sp, #56] + WORD $0xa942dff8 // ldp x24, x23, [sp, #40] + WORD $0xa941e7fa // ldp x26, x25, [sp, #24] + WORD $0xa940effc // ldp x28, x27, [sp, #8] + WORD $0x9101c3ff // add sp, sp, #112 + WORD $0xd65f03c0 // ret +LBB0_395: + WORD $0x9280001c // mov x28, #-1 + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0x1400000c // b LBB0_403 $48(%rip) +LBB0_396: + WORD $0x928000c8 // mov x8, #-7 + WORD $0x17fffff3 // b LBB0_394 $-52(%rip) +LBB0_397: + WORD $0xb100079f // cmn x28, #1 + WORD $0x54000101 // b.ne LBB0_403 $32(%rip) +LBB0_398: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0x9280001c // mov x28, #-1 + WORD $0x14000005 // b LBB0_403 $20(%rip) +LBB0_399: + WORD $0x92800015 // mov x21, #-1 +LBB0_400: + WORD $0xaa3503f4 // mvn x20, x21 +LBB0_401: + WORD $0x8b1b0288 // add x8, x20, x27 +LBB0_402: + WORD $0x9280003c // mov x28, #-2 +LBB0_403: + WORD $0xf9000028 // str x8, [x1] + WORD $0xaa1c03e8 // mov x8, x28 + WORD $0x17ffffe7 // b LBB0_394 $-100(%rip) +LBB0_404: + WORD $0xb100051f // cmn x8, #1 + WORD $0x54ffff61 // b.ne LBB0_402 $-20(%rip) + WORD $0xdac00228 // rbit x8, x17 + WORD $0xdac01108 // clz x8, x8 + WORD $0x8b1c0108 // add x8, x8, x28 + WORD $0x17fffff7 // b LBB0_402 $-36(%rip) +LBB0_406: + WORD $0x9280001c // mov x28, #-1 + WORD $0x17fffff6 // b LBB0_403 $-40(%rip) +LBB0_407: + WORD $0xaa0803f4 // mov x20, x8 + WORD $0x8b1b0108 // add x8, x8, x27 + WORD $0x17fffff2 // b LBB0_402 $-56(%rip) +LBB0_408: + WORD $0x92800007 // mov x7, #-1 +LBB0_409: + WORD $0xaa2703fe // mvn lr, x7 +LBB0_410: + WORD $0x8b1e0388 // add x8, x28, lr + WORD $0x17ffffee // b LBB0_402 $-72(%rip) +LBB0_411: + WORD $0xf900003b // str x27, [x1] + WORD $0x394003c8 // ldrb w8, [lr] + WORD $0x7101b91f // cmp w8, #110 + WORD $0x54000761 // b.ne LBB0_425 $236(%rip) + WORD $0x91000768 // add x8, x27, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x540006c1 // b.ne LBB0_425 $216(%rip) + WORD $0x91000b68 // add x8, x27, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54000621 // b.ne LBB0_425 $196(%rip) + WORD $0x91000f68 // add x8, x27, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54000581 // b.ne LBB0_425 $176(%rip) + WORD $0x14000014 // b LBB0_419 $80(%rip) +LBB0_415: + WORD $0xf900003b // str x27, [x1] + WORD $0x394003c8 // ldrb w8, [lr] + WORD $0x7101d11f // cmp w8, #116 + WORD $0x540004e1 // b.ne LBB0_425 $156(%rip) + WORD $0x91000768 // add x8, x27, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101c91f // cmp w8, #114 + WORD $0x54000441 // b.ne LBB0_425 $136(%rip) + WORD $0x91000b68 // add x8, x27, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x540003a1 // b.ne LBB0_425 $116(%rip) + WORD $0x91000f68 // add x8, x27, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101951f // cmp w8, #101 + WORD $0x54000301 // b.ne LBB0_425 $96(%rip) +LBB0_419: + WORD $0x91001368 // add x8, x27, #4 + WORD $0x17ffffc5 // b LBB0_402 $-236(%rip) +LBB0_420: + WORD $0xf900003c // str x28, [x1] + WORD $0x387c6928 // ldrb w8, [x9, x28] + WORD $0x7101851f // cmp w8, #97 + WORD $0x54000241 // b.ne LBB0_425 $72(%rip) + WORD $0x91000b68 // add x8, x27, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x540001a1 // b.ne LBB0_425 $52(%rip) + WORD $0x91000f68 // add x8, x27, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101cd1f // cmp w8, #115 + WORD $0x54000101 // b.ne LBB0_425 $32(%rip) + WORD $0x91001368 // add x8, x27, #4 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101951f // cmp w8, #101 + WORD $0x54000061 // b.ne LBB0_425 $12(%rip) + WORD $0x91001768 // add x8, x27, #5 + WORD $0x17ffffb0 // b LBB0_402 $-320(%rip) +LBB0_425: + WORD $0x92800028 // mov x8, #-2 + WORD $0x17ffff98 // b LBB0_394 $-416(%rip) +LBB0_426: + WORD $0xaa1403fe // mov lr, x20 + WORD $0x8b140388 // add x8, x28, x20 + WORD $0x17ffffab // b LBB0_402 $-340(%rip) +LBB0_427: + WORD $0x8b1c0228 // add x8, x17, x28 + WORD $0x17ffffa9 // b LBB0_402 $-348(%rip) +LBB0_428: + WORD $0x8b1100a8 // add x8, x5, x17 + WORD $0x17ffffa7 // b LBB0_402 $-356(%rip) +LBB0_429: + WORD $0xcb090388 // sub x8, x28, x9 + WORD $0x8b110108 // add x8, x8, x17 + WORD $0x17ffffa4 // b LBB0_402 $-368(%rip) +LBB0_430: + WORD $0xcb090388 // sub x8, x28, x9 + WORD $0x8b050108 // add x8, x8, x5 + WORD $0x17ffffa1 // b LBB0_402 $-380(%rip) + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + +TEXT ·__skip_object(SB), NOSPLIT, $0-40 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $176, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_skip_object: + MOVD s+0(FP), R0 + MOVD p+8(FP), R1 + MOVD m+16(FP), R2 + MOVD flags+24(FP), R3 + MOVD ·_subr__skip_object(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+32(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_subr_arm64.go new file mode 100644 index 0000000..ab7ab20 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_object_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __skip_object_entry__() uintptr + +var ( + _subr__skip_object uintptr = __skip_object_entry__() + 48 +) + +const ( + _stack__skip_object = 112 +) + +var ( + _ = _subr__skip_object +) + +const ( + _ = _stack__skip_object +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.go new file mode 100644 index 0000000..cd4b64a --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + // `unsafe` + + `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) + +//go:nosplit +func skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return __skip_one(s, p, m, flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.s new file mode 100644 index 0000000..91b5678 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_arm64.s @@ -0,0 +1,2384 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__skip_one_entry__(SB), NOSPLIT, $96 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 4, 0x00 +lCPI0_0: + WORD $0x00000001; WORD $0x00000000 // .quad 1 + WORD $0x00000000; WORD $0x00000000 // .quad 0 +lCPI0_1: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_2: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_skip_one: + WORD $0xd101c3ff // sub sp, sp, #112 + WORD $0xa900effc // stp x28, x27, [sp, #8] + WORD $0xa901e7fa // stp x26, x25, [sp, #24] + WORD $0xa902dff8 // stp x24, x23, [sp, #40] + WORD $0xa903d7f6 // stp x22, x21, [sp, #56] + WORD $0xa904cff4 // stp x20, x19, [sp, #72] + WORD $0xa905fbfd // stp fp, lr, [sp, #88] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 +Lloh0: + WORD $0x10fffd68 // adr x8, lCPI0_0 $-84(%rip) +Lloh1: + WORD $0x3dc00100 // ldr q0, [x8, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0xaa0203ea // mov x10, x2 + WORD $0x3c808540 // str q0, [x10], #8 + WORD $0xf9400009 // ldr x9, [x0] + WORD $0xaa2903eb // mvn x11, x9 + WORD $0xf940003c // ldr x28, [x1] + WORD $0xcb0903ec // neg x12, x9 + WORD $0xd100052d // sub x13, x9, #1 + WORD $0x9280000e // mov x14, #-1 + WORD $0x5280002f // mov w15, #1 + WORD $0xd284c010 // mov x16, #9728 + WORD $0xf2c00030 // movk x16, #1, lsl #32 + WORD $0x52800073 // mov w19, #3 + WORD $0x52800084 // mov w4, #4 + WORD $0x4f01e440 // movi.16b v0, #34 + WORD $0x4f02e781 // movi.16b v1, #92 +Lloh2: + WORD $0x10fffbc8 // adr x8, lCPI0_1 $-136(%rip) +Lloh3: + WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip) +Lloh4: + WORD $0x10fffc08 // adr x8, lCPI0_2 $-128(%rip) +Lloh5: + WORD $0x3dc00103 // ldr q3, [x8, lCPI0_2@PAGEOFF] $0(%rip) + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0x4f01e404 // movi.16b v4, #32 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0x4f01e5c5 // movi.16b v5, #46 + WORD $0x4f01e566 // movi.16b v6, #43 + WORD $0x4f01e5a7 // movi.16b v7, #45 + WORD $0x4f06e610 // movi.16b v16, #208 + WORD $0x4f00e551 // movi.16b v17, #10 + WORD $0x4f06e7f2 // movi.16b v18, #223 + WORD $0x4f02e4b3 // movi.16b v19, #69 + WORD $0x52800025 // mov w5, #1 +LBB0_1: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb08039f // cmp x28, x8 + WORD $0x54000162 // b.hs LBB0_6 $44(%rip) + WORD $0x387c6931 // ldrb w17, [x9, x28] + WORD $0x7100363f // cmp w17, #13 + WORD $0x54000100 // b.eq LBB0_6 $32(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x540000c0 // b.eq LBB0_6 $24(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000062 // b.hs LBB0_6 $12(%rip) + WORD $0xaa1c03fb // mov x27, x28 + WORD $0x14000031 // b LBB0_22 $196(%rip) +LBB0_6: + WORD $0x9100079b // add x27, x28, #1 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000122 // b.hs LBB0_10 $36(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_10 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_10 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x540004c3 // b.lo LBB0_22 $152(%rip) +LBB0_10: + WORD $0x91000b9b // add x27, x28, #2 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000122 // b.hs LBB0_14 $36(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_14 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_14 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000363 // b.lo LBB0_22 $108(%rip) +LBB0_14: + WORD $0x91000f9b // add x27, x28, #3 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000122 // b.hs LBB0_18 $36(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_18 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_18 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000203 // b.lo LBB0_22 $64(%rip) +LBB0_18: + WORD $0x9100139b // add x27, x28, #4 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x5400e922 // b.hs LBB0_395 $7460(%rip) +LBB0_19: + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100823f // cmp w17, #32 + WORD $0x9ad121f1 // lsl x17, x15, x17 + WORD $0x8a100231 // and x17, x17, x16 + WORD $0xfa409a24 // ccmp x17, #0, #4, ls + WORD $0x540000a0 // b.eq LBB0_21 $20(%rip) + WORD $0x9100077b // add x27, x27, #1 + WORD $0xeb1b011f // cmp x8, x27 + WORD $0x54ffff01 // b.ne LBB0_19 $-32(%rip) + WORD $0x14000735 // b LBB0_393 $7380(%rip) +LBB0_21: + WORD $0xeb08037f // cmp x27, x8 + WORD $0x5400e662 // b.hs LBB0_393 $7372(%rip) +LBB0_22: + WORD $0x9100077c // add x28, x27, #1 + WORD $0xf900003c // str x28, [x1] + WORD $0x8b1b013e // add lr, x9, x27 + WORD $0x394003d5 // ldrb w21, [lr] + WORD $0x3400e5d5 // cbz w21, LBB0_393 $7352(%rip) + WORD $0xd10004b4 // sub x20, x5, #1 + WORD $0xf8747948 // ldr x8, [x10, x20, lsl #3] + WORD $0xb10005df // cmn x14, #1 + WORD $0x9a8e036e // csel x14, x27, x14, eq + WORD $0x71000d1f // cmp w8, #3 + WORD $0x54000c8c // b.gt LBB0_39 $400(%rip) + WORD $0x7100051f // cmp w8, #1 + WORD $0x540018c0 // b.eq LBB0_54 $792(%rip) + WORD $0x7100091f // cmp w8, #2 + WORD $0x54002c20 // b.eq LBB0_94 $1412(%rip) + WORD $0x71000d1f // cmp w8, #3 + WORD $0x540019c1 // b.ne LBB0_58 $824(%rip) + WORD $0x71008abf // cmp w21, #34 + WORD $0x5400f101 // b.ne LBB0_425 $7712(%rip) + WORD $0x3200f3e6 // mov w6, #1431655765 + WORD $0xf8347944 // str x4, [x10, x20, lsl #3] + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0114 // subs x20, x8, x28 + WORD $0x372831a3 // tbnz w3, #5, LBB0_109 $1588(%rip) + WORD $0x5400e560 // b.eq LBB0_398 $7340(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54009103 // b.lo LBB0_250 $4640(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_32: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405634 // ldp q20, q21, [x17] + WORD $0xad415e36 // ldp q22, q23, [x17, #32] + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e208efb // cmeq.16b v27, v23, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x4e221f38 // and.16b v24, v25, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x4e221f58 // and.16b v24, v26, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x4e221f78 // and.16b v24, v27, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260298 // fmov w24, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260299 // fmov w25, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e26029a // fmov w26, s20 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000111 // cbnz x17, LBB0_36 $32(%rip) + WORD $0xb5000185 // cbnz x5, LBB0_37 $48(%rip) + WORD $0xb50002c7 // cbnz x7, LBB0_38 $88(%rip) +LBB0_35: + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff8a8 // b.hi LBB0_32 $-236(%rip) + WORD $0x14000441 // b LBB0_247 $4356(%rip) +LBB0_36: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_37: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0xb4fffd87 // cbz x7, LBB0_35 $-80(%rip) +LBB0_38: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0x8b1c0231 // add x17, x17, x28 + WORD $0x140001aa // b LBB0_121 $1704(%rip) +LBB0_39: + WORD $0x7100111f // cmp w8, #4 + WORD $0x54000d00 // b.eq LBB0_56 $416(%rip) + WORD $0x7100151f // cmp w8, #5 + WORD $0x54002060 // b.eq LBB0_96 $1036(%rip) + WORD $0x7100191f // cmp w8, #6 + WORD $0x54000d61 // b.ne LBB0_58 $428(%rip) + WORD $0x71008abf // cmp w21, #34 + WORD $0x54001f81 // b.ne LBB0_95 $1008(%rip) + WORD $0x3200f3e4 // mov w4, #1431655765 + WORD $0x52800048 // mov w8, #2 + WORD $0xf8347948 // str x8, [x10, x20, lsl #3] + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0114 // subs x20, x8, x28 + WORD $0x37283923 // tbnz w3, #5, LBB0_138 $1828(%rip) + WORD $0x5400d8e0 // b.eq LBB0_398 $6940(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54009423 // b.lo LBB0_277 $4740(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_47: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405634 // ldp q20, q21, [x17] + WORD $0xad415e36 // ldp q22, q23, [x17, #32] + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e208efb // cmeq.16b v27, v23, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x4e221f38 // and.16b v24, v25, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x4e221f58 // and.16b v24, v26, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x4e221f78 // and.16b v24, v27, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260298 // fmov w24, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260299 // fmov w25, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e26029a // fmov w26, s20 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000111 // cbnz x17, LBB0_51 $32(%rip) + WORD $0xb5000185 // cbnz x5, LBB0_52 $48(%rip) + WORD $0xb50002c7 // cbnz x7, LBB0_53 $88(%rip) +LBB0_50: + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff8a8 // b.hi LBB0_47 $-236(%rip) + WORD $0x1400045e // b LBB0_275 $4472(%rip) +LBB0_51: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_52: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0xb4fffd87 // cbz x7, LBB0_50 $-80(%rip) +LBB0_53: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0x8b1c0231 // add x17, x17, x28 + WORD $0x140001e6 // b LBB0_150 $1944(%rip) +LBB0_54: + WORD $0x7100b2bf // cmp w21, #44 + WORD $0x540017e0 // b.eq LBB0_105 $764(%rip) + WORD $0x710176bf // cmp w21, #93 + WORD $0x54001420 // b.eq LBB0_97 $644(%rip) + WORD $0x140006c4 // b LBB0_425 $6928(%rip) +LBB0_56: + WORD $0x7100eabf // cmp w21, #58 + WORD $0x5400d841 // b.ne LBB0_425 $6920(%rip) + WORD $0xf834795f // str xzr, [x10, x20, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffdce5 // cbnz x5, LBB0_1 $-1124(%rip) + WORD $0x14000656 // b LBB0_394 $6488(%rip) +LBB0_58: + WORD $0xf9000054 // str x20, [x2] + WORD $0x92800028 // mov x8, #-2 + WORD $0x71016abf // cmp w21, #90 + WORD $0x540013cc // b.gt LBB0_99 $632(%rip) +LBB0_59: + WORD $0x5100c2b1 // sub w17, w21, #48 + WORD $0x71002a3f // cmp w17, #10 + WORD $0x54003d02 // b.hs LBB0_154 $1952(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1b0115 // subs x21, x8, x27 + WORD $0x5400cbe0 // b.eq LBB0_399 $6524(%rip) + WORD $0x394003c8 // ldrb w8, [lr] + WORD $0x7100c11f // cmp w8, #48 + WORD $0x54000141 // b.ne LBB0_65 $40(%rip) + WORD $0xf10006bf // cmp x21, #1 + WORD $0x54004280 // b.eq LBB0_170 $2128(%rip) + WORD $0x387c6928 // ldrb w8, [x9, x28] + WORD $0x5100b908 // sub w8, w8, #46 + WORD $0x7100dd1f // cmp w8, #55 + WORD $0x54004208 // b.hi LBB0_170 $2112(%rip) + WORD $0x9ac821e8 // lsl x8, x15, x8 + WORD $0xea07011f // tst x8, x7 + WORD $0x540041a0 // b.eq LBB0_170 $2100(%rip) +LBB0_65: + WORD $0xf10042bf // cmp x21, #16 + WORD $0x5400a5c3 // b.lo LBB0_333 $5304(%rip) + WORD $0xd2800016 // mov x22, #0 + WORD $0xd280001c // mov x28, #0 + WORD $0x92800014 // mov x20, #-1 + WORD $0x92800005 // mov x5, #-1 + WORD $0x92800008 // mov x8, #-1 +LBB0_67: + WORD $0x3cfc6bd4 // ldr q20, [lr, x28] + WORD $0x6e258e95 // cmeq.16b v21, v20, v5 + WORD $0x6e268e96 // cmeq.16b v22, v20, v6 + WORD $0x6e278e97 // cmeq.16b v23, v20, v7 + WORD $0x4e308698 // add.16b v24, v20, v16 + WORD $0x6e383638 // cmhi.16b v24, v17, v24 + WORD $0x4e321e94 // and.16b v20, v20, v18 + WORD $0x6e338e94 // cmeq.16b v20, v20, v19 + WORD $0x4eb71ed6 // orr.16b v22, v22, v23 + WORD $0x4eb51f17 // orr.16b v23, v24, v21 + WORD $0x4eb61e98 // orr.16b v24, v20, v22 + WORD $0x4eb81ef7 // orr.16b v23, v23, v24 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b1 // fmov w17, s21 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260299 // fmov w25, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260287 // fmov w7, s20 + WORD $0x2a2703e7 // mvn w7, w7 + WORD $0x32103ce7 // orr w7, w7, #0xffff0000 + WORD $0x5ac000e7 // rbit w7, w7 + WORD $0x5ac010e7 // clz w7, w7 + WORD $0x12800004 // mov w4, #-1 + WORD $0x1ac72098 // lsl w24, w4, w7 + WORD $0x0a38023a // bic w26, w17, w24 + WORD $0x0a3802e4 // bic w4, w23, w24 + WORD $0x0a380326 // bic w6, w25, w24 + WORD $0x710040ff // cmp w7, #16 + WORD $0x1a9a0231 // csel w17, w17, w26, eq + WORD $0x1a8402f8 // csel w24, w23, w4, eq + WORD $0x1a860337 // csel w23, w25, w6, eq + WORD $0x51000624 // sub w4, w17, #1 + WORD $0x6a110099 // ands w25, w4, w17 + WORD $0x54006d81 // b.ne LBB0_245 $3504(%rip) + WORD $0x51000704 // sub w4, w24, #1 + WORD $0x6a180099 // ands w25, w4, w24 + WORD $0x54006d21 // b.ne LBB0_245 $3492(%rip) + WORD $0x510006e4 // sub w4, w23, #1 + WORD $0x6a170099 // ands w25, w4, w23 + WORD $0x54006cc1 // b.ne LBB0_245 $3480(%rip) + WORD $0x340000d1 // cbz w17, LBB0_73 $24(%rip) + WORD $0x5ac00231 // rbit w17, w17 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x54006cc1 // b.ne LBB0_246 $3480(%rip) + WORD $0x8b110388 // add x8, x28, x17 +LBB0_73: + WORD $0x340000d8 // cbz w24, LBB0_76 $24(%rip) + WORD $0x5ac00311 // rbit w17, w24 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10004bf // cmn x5, #1 + WORD $0x54006c01 // b.ne LBB0_246 $3456(%rip) + WORD $0x8b110385 // add x5, x28, x17 +LBB0_76: + WORD $0x340000d7 // cbz w23, LBB0_79 $24(%rip) + WORD $0x5ac002f1 // rbit w17, w23 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100069f // cmn x20, #1 + WORD $0x54006b41 // b.ne LBB0_246 $3432(%rip) + WORD $0x8b110394 // add x20, x28, x17 +LBB0_79: + WORD $0x710040ff // cmp w7, #16 + WORD $0x54001bc1 // b.ne LBB0_123 $888(%rip) + WORD $0x9100439c // add x28, x28, #16 + WORD $0xd10042d6 // sub x22, x22, #16 + WORD $0x8b1602b7 // add x23, x21, x22 + WORD $0xf1003eff // cmp x23, #15 + WORD $0x54fff6c8 // b.hi LBB0_67 $-296(%rip) + WORD $0x8b1c03d6 // add x22, lr, x28 + WORD $0xeb1c02bf // cmp x21, x28 + WORD $0x54001b00 // b.eq LBB0_124 $864(%rip) +LBB0_82: + WORD $0x8b1702d8 // add x24, x22, x23 + WORD $0x8b1b01b1 // add x17, x13, x27 + WORD $0xcb160235 // sub x21, x17, x22 + WORD $0xcb1e02c7 // sub x7, x22, lr + WORD $0xaa1603fc // mov x28, x22 + WORD $0x14000009 // b LBB0_85 $36(%rip) +LBB0_83: + WORD $0xb10004bf // cmn x5, #1 + WORD $0xaa0703e5 // mov x5, x7 + WORD $0x54001d81 // b.ne LBB0_136 $944(%rip) +LBB0_84: + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0x910004e7 // add x7, x7, #1 + WORD $0xaa1c03f6 // mov x22, x28 + WORD $0xd10006f7 // sub x23, x23, #1 + WORD $0xb40042d7 // cbz x23, LBB0_184 $2136(%rip) +LBB0_85: + WORD $0x38401791 // ldrb w17, [x28], #1 + WORD $0x5100c224 // sub w4, w17, #48 + WORD $0x7100289f // cmp w4, #10 + WORD $0x54ffff03 // b.lo LBB0_84 $-32(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x5400016d // b.le LBB0_91 $44(%rip) + WORD $0x7101963f // cmp w17, #101 + WORD $0x54fffe20 // b.eq LBB0_83 $-60(%rip) + WORD $0x7101163f // cmp w17, #69 + WORD $0x54fffde0 // b.eq LBB0_83 $-68(%rip) + WORD $0x7100ba3f // cmp w17, #46 + WORD $0x540017c1 // b.ne LBB0_124 $760(%rip) + WORD $0xb100051f // cmn x8, #1 + WORD $0xaa0703e8 // mov x8, x7 + WORD $0x54fffda0 // b.eq LBB0_84 $-76(%rip) + WORD $0x140000d7 // b LBB0_136 $860(%rip) +LBB0_91: + WORD $0x7100ae3f // cmp w17, #43 + WORD $0x54000060 // b.eq LBB0_93 $12(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x540016c1 // b.ne LBB0_124 $728(%rip) +LBB0_93: + WORD $0xb100069f // cmn x20, #1 + WORD $0xaa0703f4 // mov x20, x7 + WORD $0x54fffca0 // b.eq LBB0_84 $-108(%rip) + WORD $0x140000cf // b LBB0_136 $828(%rip) +LBB0_94: + WORD $0x7100b2bf // cmp w21, #44 + WORD $0x54000560 // b.eq LBB0_107 $172(%rip) +LBB0_95: + WORD $0x7101f6bf // cmp w21, #125 + WORD $0x54000080 // b.eq LBB0_97 $16(%rip) + WORD $0x14000627 // b LBB0_425 $6300(%rip) +LBB0_96: + WORD $0x710176bf // cmp w21, #93 + WORD $0x540000c1 // b.ne LBB0_98 $24(%rip) +LBB0_97: + WORD $0xf9000054 // str x20, [x2] + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc954 // cbnz x20, LBB0_1 $-1752(%rip) + WORD $0x140005b9 // b LBB0_394 $5860(%rip) +LBB0_98: + WORD $0xf834794f // str x15, [x10, x20, lsl #3] + WORD $0x92800028 // mov x8, #-2 + WORD $0x71016abf // cmp w21, #90 + WORD $0x54ffec8d // b.le LBB0_59 $-624(%rip) +LBB0_99: + WORD $0x7101b6bf // cmp w21, #109 + WORD $0x54002bad // b.le LBB0_160 $1396(%rip) + WORD $0x7101babf // cmp w21, #110 + WORD $0x54002e80 // b.eq LBB0_167 $1488(%rip) + WORD $0x7101d2bf // cmp w21, #116 + WORD $0x54002d00 // b.eq LBB0_165 $1440(%rip) + WORD $0x7101eebf // cmp w21, #123 + WORD $0x5400b5a1 // b.ne LBB0_394 $5812(%rip) + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400b6cc // b.gt LBB0_396 $5848(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000051 // str x17, [x2] + WORD $0x528000d1 // mov w17, #6 + WORD $0xf8287951 // str x17, [x10, x8, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc665 // cbnz x5, LBB0_1 $-1844(%rip) + WORD $0x140005a2 // b LBB0_394 $5768(%rip) +LBB0_105: + WORD $0xf13ffcbf // cmp x5, #4095 + WORD $0x5400b58c // b.gt LBB0_396 $5808(%rip) + WORD $0x910004a8 // add x8, x5, #1 + WORD $0xf9000048 // str x8, [x2] + WORD $0xf825795f // str xzr, [x10, x5, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc545 // cbnz x5, LBB0_1 $-1880(%rip) + WORD $0x14000599 // b LBB0_394 $5732(%rip) +LBB0_107: + WORD $0xf13ffcbf // cmp x5, #4095 + WORD $0x5400b46c // b.gt LBB0_396 $5772(%rip) + WORD $0x910004a8 // add x8, x5, #1 + WORD $0xf9000048 // str x8, [x2] + WORD $0xf8257953 // str x19, [x10, x5, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc425 // cbnz x5, LBB0_1 $-1916(%rip) + WORD $0x14000590 // b LBB0_394 $5696(%rip) +LBB0_109: + WORD $0x5400b3e0 // b.eq LBB0_398 $5756(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54006403 // b.lo LBB0_256 $3200(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_112: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405a37 // ldp q23, q22, [x17] + WORD $0xad415235 // ldp q21, q20, [x17, #32] + WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260317 // fmov w23, s24 + WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260318 // fmov w24, s24 + WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260319 // fmov w25, s24 + WORD $0x6e218e98 // cmeq.16b v24, v20, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e26031a // fmov w26, s24 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000451 // cbnz x17, LBB0_117 $136(%rip) + WORD $0xb50004c5 // cbnz x5, LBB0_118 $152(%rip) +LBB0_114: + WORD $0x6e373497 // cmhi.16b v23, v4, v23 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x6e363496 // cmhi.16b v22, v4, v22 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d5 // fmov w21, s22 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b6 // fmov w22, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1102b1 // orr x17, x21, x17 + WORD $0xb50002e7 // cbnz x7, LBB0_119 $92(%rip) + WORD $0xb500aa71 // cbnz x17, LBB0_404 $5452(%rip) + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff568 // b.hi LBB0_112 $-340(%rip) + WORD $0x1400029d // b LBB0_248 $2676(%rip) +LBB0_117: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_118: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x17ffffd1 // b LBB0_114 $-188(%rip) +LBB0_119: + WORD $0xdac000e5 // rbit x5, x7 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xdac00231 // rbit x17, x17 + WORD $0xdac01231 // clz x17, x17 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x5400b143 // b.lo LBB0_427 $5672(%rip) +LBB0_120: + WORD $0x8b1c00b1 // add x17, x5, x28 +LBB0_121: + WORD $0x9100063c // add x28, x17, #1 +LBB0_122: + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb6f81c9c // tbz x28, #63, LBB0_170 $912(%rip) + WORD $0x14000524 // b LBB0_397 $5264(%rip) +LBB0_123: + WORD $0x8b2743d1 // add x17, lr, w7, uxtw + WORD $0x8b1c0236 // add x22, x17, x28 +LBB0_124: + WORD $0x92800015 // mov x21, #-1 + WORD $0xb400a4c8 // cbz x8, LBB0_400 $5272(%rip) +LBB0_125: + WORD $0xb400a4b4 // cbz x20, LBB0_400 $5268(%rip) + WORD $0xb400a485 // cbz x5, LBB0_400 $5264(%rip) + WORD $0xcb1e02c7 // sub x7, x22, lr + WORD $0xd10004f1 // sub x17, x7, #1 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x540002a0 // b.eq LBB0_135 $84(%rip) + WORD $0xeb11029f // cmp x20, x17 + WORD $0x54000260 // b.eq LBB0_135 $76(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x54000220 // b.eq LBB0_135 $68(%rip) + WORD $0xf1000691 // subs x17, x20, #1 + WORD $0x5400006b // b.lt LBB0_132 $12(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x5400a321 // b.ne LBB0_401 $5220(%rip) +LBB0_132: + WORD $0xaa050111 // orr x17, x8, x5 + WORD $0xb7f80071 // tbnz x17, #63, LBB0_134 $12(%rip) + WORD $0xeb05011f // cmp x8, x5 + WORD $0x5400a44a // b.ge LBB0_407 $5256(%rip) +LBB0_134: + WORD $0xd37ffe31 // lsr x17, x17, #63 + WORD $0x52000231 // eor w17, w17, #0x1 + WORD $0xd10004a4 // sub x4, x5, #1 + WORD $0xeb04011f // cmp x8, x4 + WORD $0x1a9f17e8 // cset w8, eq + WORD $0x6a08023f // tst w17, w8 + WORD $0xda8500f5 // csinv x21, x7, x5, eq + WORD $0x14000002 // b LBB0_136 $8(%rip) +LBB0_135: + WORD $0xcb0703f5 // neg x21, x7 +LBB0_136: + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb7f8a0d5 // tbnz x21, #63, LBB0_400 $5144(%rip) + WORD $0x8b15037c // add x28, x27, x21 + WORD $0x140000bd // b LBB0_170 $756(%rip) +LBB0_138: + WORD $0x54009fe0 // b.eq LBB0_398 $5116(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54005fa3 // b.lo LBB0_283 $3060(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_141: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405a37 // ldp q23, q22, [x17] + WORD $0xad415235 // ldp q21, q20, [x17, #32] + WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260317 // fmov w23, s24 + WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260318 // fmov w24, s24 + WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260319 // fmov w25, s24 + WORD $0x6e218e98 // cmeq.16b v24, v20, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e26031a // fmov w26, s24 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000451 // cbnz x17, LBB0_146 $136(%rip) + WORD $0xb50004c5 // cbnz x5, LBB0_147 $152(%rip) +LBB0_143: + WORD $0x6e373497 // cmhi.16b v23, v4, v23 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x6e363496 // cmhi.16b v22, v4, v22 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d5 // fmov w21, s22 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b6 // fmov w22, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1102b1 // orr x17, x21, x17 + WORD $0xb50002e7 // cbnz x7, LBB0_148 $92(%rip) + WORD $0xb5009671 // cbnz x17, LBB0_404 $4812(%rip) + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff568 // b.hi LBB0_141 $-340(%rip) + WORD $0x1400027e // b LBB0_276 $2552(%rip) +LBB0_146: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_147: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x17ffffd1 // b LBB0_143 $-188(%rip) +LBB0_148: + WORD $0xdac000e5 // rbit x5, x7 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xdac00231 // rbit x17, x17 + WORD $0xdac01231 // clz x17, x17 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x54009d43 // b.lo LBB0_427 $5032(%rip) + WORD $0x8b1c00b1 // add x17, x5, x28 +LBB0_150: + WORD $0x9100063c // add x28, x17, #1 + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb7f890bc // tbnz x28, #63, LBB0_397 $4628(%rip) +LBB0_151: + WORD $0xf900003c // str x28, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0xb27ff7f1 // mov x17, #9223372036854775806 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008e48 // b.hi LBB0_394 $4552(%rip) + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x54008f6c // b.gt LBB0_396 $4588(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000051 // str x17, [x2] + WORD $0xf8287944 // str x4, [x10, x8, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ff9f25 // cbnz x5, LBB0_1 $-3100(%rip) + WORD $0x14000468 // b LBB0_394 $4512(%rip) +LBB0_154: + WORD $0x71008abf // cmp w21, #34 + WORD $0x540008c0 // b.eq LBB0_174 $280(%rip) + WORD $0x7100b6bf // cmp w21, #45 + WORD $0x54008c81 // b.ne LBB0_394 $4496(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0118 // subs x24, x8, x28 + WORD $0x540090c0 // b.eq LBB0_408 $4632(%rip) + WORD $0xb20903e4 // mov x4, #36028797027352576 + WORD $0xf2800024 // movk x4, #1 + WORD $0x8b1c0128 // add x8, x9, x28 + WORD $0x39400111 // ldrb w17, [x8] + WORD $0x7100c23f // cmp w17, #48 + WORD $0x54002281 // b.ne LBB0_198 $1104(%rip) + WORD $0xf100071f // cmp x24, #1 + WORD $0x54002141 // b.ne LBB0_196 $1064(%rip) +LBB0_159: + WORD $0x52800027 // mov w7, #1 + WORD $0x140001ac // b LBB0_244 $1712(%rip) +LBB0_160: + WORD $0x71016ebf // cmp w21, #91 + WORD $0x54000540 // b.eq LBB0_172 $168(%rip) + WORD $0x71019abf // cmp w21, #102 + WORD $0x54008a61 // b.ne LBB0_394 $4428(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1001111 // sub x17, x8, #4 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008de2 // b.hs LBB0_406 $4540(%rip) + WORD $0xb87c6928 // ldr w8, [x9, x28] + WORD $0x528d8c31 // mov w17, #27745 + WORD $0x72acae71 // movk w17, #25971, lsl #16 + WORD $0x6b11011f // cmp w8, w17 + WORD $0x54009381 // b.ne LBB0_420 $4720(%rip) + WORD $0x9100177c // add x28, x27, #5 + WORD $0x14000015 // b LBB0_170 $84(%rip) +LBB0_165: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1000d11 // sub x17, x8, #3 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008c82 // b.hs LBB0_406 $4496(%rip) + WORD $0xb87b6928 // ldr w8, [x9, x27] + WORD $0x528e4e91 // mov w17, #29300 + WORD $0x72acaeb1 // movk w17, #25973, lsl #16 + WORD $0x6b11011f // cmp w8, w17 + WORD $0x54000160 // b.eq LBB0_169 $44(%rip) + WORD $0x1400047b // b LBB0_415 $4588(%rip) +LBB0_167: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1000d11 // sub x17, x8, #3 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008b42 // b.hs LBB0_406 $4456(%rip) + WORD $0xb87b6928 // ldr w8, [x9, x27] + WORD $0x528eadd1 // mov w17, #30062 + WORD $0x72ad8d91 // movk w17, #27756, lsl #16 + WORD $0x6b11011f // cmp w8, w17 + WORD $0x54008bc1 // b.ne LBB0_411 $4472(%rip) +LBB0_169: + WORD $0x9100137c // add x28, x27, #4 +LBB0_170: + WORD $0xf900003c // str x28, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0xeb06037f // cmp x27, x6 + WORD $0x54008602 // b.hs LBB0_394 $4288(%rip) +LBB0_171: + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ff97a5 // cbnz x5, LBB0_1 $-3340(%rip) + WORD $0x1400042c // b LBB0_394 $4272(%rip) +LBB0_172: + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x540086ac // b.gt LBB0_396 $4308(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000051 // str x17, [x2] + WORD $0x528000b1 // mov w17, #5 + WORD $0xf8287951 // str x17, [x10, x8, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ff9645 // cbnz x5, LBB0_1 $-3384(%rip) + WORD $0x14000421 // b LBB0_394 $4228(%rip) +LBB0_174: + WORD $0x3200f3f8 // mov w24, #1431655765 + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0114 // subs x20, x8, x28 + WORD $0x37280b43 // tbnz w3, #5, LBB0_185 $360(%rip) + WORD $0x54008580 // b.eq LBB0_398 $4272(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x540051e3 // b.lo LBB0_307 $2620(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_178: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405634 // ldp q20, q21, [x17] + WORD $0xad415e36 // ldp q22, q23, [x17, #32] + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e208efb // cmeq.16b v27, v23, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x4e221f38 // and.16b v24, v25, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260304 // fmov w4, s24 + WORD $0x4e221f58 // and.16b v24, v26, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260306 // fmov w6, s24 + WORD $0x4e221f78 // and.16b v24, v27, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260293 // fmov w19, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260296 // fmov w22, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0xd3607cc6 // lsl x6, x6, #32 + WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 + WORD $0x53103c84 // lsl w4, w4, #16 + WORD $0xaa0400c4 // orr x4, x6, x4 + WORD $0xaa110087 // orr x7, x4, x17 + WORD $0xd3607ed1 // lsl x17, x22, #32 + WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 + WORD $0x53103ea4 // lsl w4, w21, #16 + WORD $0xaa040231 // orr x17, x17, x4 + WORD $0xaa130231 // orr x17, x17, x19 + WORD $0xb5000131 // cbnz x17, LBB0_182 $36(%rip) + WORD $0xb50001a5 // cbnz x5, LBB0_183 $52(%rip) + WORD $0x52800073 // mov w19, #3 + WORD $0xb5ffa2c7 // cbnz x7, LBB0_38 $-2984(%rip) +LBB0_181: + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff888 // b.hi LBB0_178 $-240(%rip) + WORD $0x14000247 // b LBB0_304 $2332(%rip) +LBB0_182: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00224 // rbit x4, x17 + WORD $0xdac01084 // clz x4, x4 + WORD $0x8b1c0084 // add x4, x4, x28 + WORD $0x9a841108 // csel x8, x8, x4, ne +LBB0_183: + WORD $0x8a250224 // bic x4, x17, x5 + WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 + WORD $0x8a260231 // bic x17, x17, x6 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab040231 // adds x17, x17, x4 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a060231 // and x17, x17, x6 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x52800073 // mov w19, #3 + WORD $0xb4fffd67 // cbz x7, LBB0_181 $-84(%rip) + WORD $0x17fffcff // b LBB0_38 $-3076(%rip) +LBB0_184: + WORD $0xaa1803f6 // mov x22, x24 + WORD $0x92800015 // mov x21, #-1 + WORD $0xb5ffd688 // cbnz x8, LBB0_125 $-1328(%rip) + WORD $0x140003d8 // b LBB0_400 $3936(%rip) +LBB0_185: + WORD $0x54007a60 // b.eq LBB0_398 $3916(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54004b43 // b.lo LBB0_313 $2408(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_188: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405a37 // ldp q23, q22, [x17] + WORD $0xad415235 // ldp q21, q20, [x17, #32] + WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260304 // fmov w4, s24 + WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260306 // fmov w6, s24 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260313 // fmov w19, s24 + WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x6e218e98 // cmeq.16b v24, v20, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260317 // fmov w23, s24 + WORD $0xd3607cc6 // lsl x6, x6, #32 + WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 + WORD $0x53103c84 // lsl w4, w4, #16 + WORD $0xaa0400c4 // orr x4, x6, x4 + WORD $0xaa110087 // orr x7, x4, x17 + WORD $0xd3607ed1 // lsl x17, x22, #32 + WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 + WORD $0x53103ea4 // lsl w4, w21, #16 + WORD $0xaa040231 // orr x17, x17, x4 + WORD $0xaa130231 // orr x17, x17, x19 + WORD $0xb5000451 // cbnz x17, LBB0_193 $136(%rip) + WORD $0xb50004c5 // cbnz x5, LBB0_194 $152(%rip) +LBB0_190: + WORD $0x6e373497 // cmhi.16b v23, v4, v23 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x6e363496 // cmhi.16b v22, v4, v22 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c4 // fmov w4, s22 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a6 // fmov w6, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260293 // fmov w19, s20 + WORD $0xd3607cc6 // lsl x6, x6, #32 + WORD $0xaa13c0c6 // orr x6, x6, x19, lsl #48 + WORD $0x53103c84 // lsl w4, w4, #16 + WORD $0xaa0400c4 // orr x4, x6, x4 + WORD $0xaa110091 // orr x17, x4, x17 + WORD $0xb50002e7 // cbnz x7, LBB0_195 $92(%rip) + WORD $0xb50070f1 // cbnz x17, LBB0_404 $3612(%rip) + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff568 // b.hi LBB0_188 $-340(%rip) + WORD $0x140001d7 // b LBB0_305 $1884(%rip) +LBB0_193: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00224 // rbit x4, x17 + WORD $0xdac01084 // clz x4, x4 + WORD $0x8b1c0084 // add x4, x4, x28 + WORD $0x9a841108 // csel x8, x8, x4, ne +LBB0_194: + WORD $0x8a250224 // bic x4, x17, x5 + WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 + WORD $0x8a260231 // bic x17, x17, x6 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab040231 // adds x17, x17, x4 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a060231 // and x17, x17, x6 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x17ffffd1 // b LBB0_190 $-188(%rip) +LBB0_195: + WORD $0xdac000e4 // rbit x4, x7 + WORD $0xdac01085 // clz x5, x4 + WORD $0xdac00231 // rbit x17, x17 + WORD $0xdac01231 // clz x17, x17 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x52800073 // mov w19, #3 + WORD $0x54ffc682 // b.hs LBB0_120 $-1840(%rip) + WORD $0x140003bc // b LBB0_427 $3824(%rip) +LBB0_196: + WORD $0x39400511 // ldrb w17, [x8, #1] + WORD $0x5100ba31 // sub w17, w17, #46 + WORD $0x7100de3f // cmp w17, #55 + WORD $0x54ffde88 // b.hi LBB0_159 $-1072(%rip) + WORD $0x9ad121f1 // lsl x17, x15, x17 + WORD $0x52800027 // mov w7, #1 + WORD $0xea04023f // tst x17, x4 + WORD $0x540013a0 // b.eq LBB0_244 $628(%rip) +LBB0_198: + WORD $0xf100431f // cmp x24, #16 + WORD $0x54004803 // b.lo LBB0_335 $2304(%rip) + WORD $0xd2800017 // mov x23, #0 + WORD $0xd2800007 // mov x7, #0 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800005 // mov x5, #-1 + WORD $0x92800014 // mov x20, #-1 +LBB0_200: + WORD $0x3ce76914 // ldr q20, [x8, x7] + WORD $0x6e258e95 // cmeq.16b v21, v20, v5 + WORD $0x6e268e96 // cmeq.16b v22, v20, v6 + WORD $0x6e278e97 // cmeq.16b v23, v20, v7 + WORD $0x4e308698 // add.16b v24, v20, v16 + WORD $0x6e383638 // cmhi.16b v24, v17, v24 + WORD $0x4e321e94 // and.16b v20, v20, v18 + WORD $0x6e338e94 // cmeq.16b v20, v20, v19 + WORD $0x4eb71ed6 // orr.16b v22, v22, v23 + WORD $0x4eb51f17 // orr.16b v23, v24, v21 + WORD $0x4eb61e98 // orr.16b v24, v20, v22 + WORD $0x4eb81ef7 // orr.16b v23, v23, v24 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b1 // fmov w17, s21 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260284 // fmov w4, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260286 // fmov w6, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x2a3503f5 // mvn w21, w21 + WORD $0x32103eb5 // orr w21, w21, #0xffff0000 + WORD $0x5ac002b5 // rbit w21, w21 + WORD $0x5ac012b5 // clz w21, w21 + WORD $0x12800013 // mov w19, #-1 + WORD $0x1ad52276 // lsl w22, w19, w21 + WORD $0x0a360239 // bic w25, w17, w22 + WORD $0x0a360093 // bic w19, w4, w22 + WORD $0x0a3600d6 // bic w22, w6, w22 + WORD $0x710042bf // cmp w21, #16 + WORD $0x1a99023a // csel w26, w17, w25, eq + WORD $0x1a930091 // csel w17, w4, w19, eq + WORD $0x1a9600d6 // csel w22, w6, w22, eq + WORD $0x51000744 // sub w4, w26, #1 + WORD $0x6a1a0099 // ands w25, w4, w26 + WORD $0x54002f81 // b.ne LBB0_303 $1520(%rip) + WORD $0x51000624 // sub w4, w17, #1 + WORD $0x6a110099 // ands w25, w4, w17 + WORD $0x54002f21 // b.ne LBB0_303 $1508(%rip) + WORD $0x510006c4 // sub w4, w22, #1 + WORD $0x6a160099 // ands w25, w4, w22 + WORD $0x54002ec1 // b.ne LBB0_303 $1496(%rip) + WORD $0x340000da // cbz w26, LBB0_206 $24(%rip) + WORD $0x5ac00344 // rbit w4, w26 + WORD $0x5ac0109a // clz w26, w4 + WORD $0xb100069f // cmn x20, #1 + WORD $0x54004001 // b.ne LBB0_334 $2048(%rip) + WORD $0x8b1a00f4 // add x20, x7, x26 +LBB0_206: + WORD $0x340000d1 // cbz w17, LBB0_209 $24(%rip) + WORD $0x5ac00231 // rbit w17, w17 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10004bf // cmn x5, #1 + WORD $0x54002ea1 // b.ne LBB0_306 $1492(%rip) + WORD $0x8b1100e5 // add x5, x7, x17 +LBB0_209: + WORD $0x340000d6 // cbz w22, LBB0_212 $24(%rip) + WORD $0x5ac002d1 // rbit w17, w22 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10007df // cmn lr, #1 + WORD $0x54002de1 // b.ne LBB0_306 $1468(%rip) + WORD $0x8b1100fe // add lr, x7, x17 +LBB0_212: + WORD $0x710042bf // cmp w21, #16 + WORD $0x540005e1 // b.ne LBB0_230 $188(%rip) + WORD $0x910040e7 // add x7, x7, #16 + WORD $0xd10042f7 // sub x23, x23, #16 + WORD $0x8b170315 // add x21, x24, x23 + WORD $0xf1003ebf // cmp x21, #15 + WORD $0x54fff6c8 // b.hi LBB0_200 $-296(%rip) + WORD $0x8b070116 // add x22, x8, x7 + WORD $0xeb07031f // cmp x24, x7 + WORD $0x52800073 // mov w19, #3 + WORD $0x54000520 // b.eq LBB0_231 $164(%rip) +LBB0_215: + WORD $0x8b1502c6 // add x6, x22, x21 + WORD $0x8b160191 // add x17, x12, x22 + WORD $0xcb1b0238 // sub x24, x17, x27 + WORD $0xaa1603f7 // mov x23, x22 + WORD $0x14000008 // b LBB0_219 $32(%rip) +LBB0_216: + WORD $0xb10007df // cmn lr, #1 + WORD $0x54002a01 // b.ne LBB0_302 $1344(%rip) + WORD $0xd100071e // sub lr, x24, #1 +LBB0_218: + WORD $0x91000718 // add x24, x24, #1 + WORD $0xaa1703f6 // mov x22, x23 + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0xb4000a35 // cbz x21, LBB0_249 $324(%rip) +LBB0_219: + WORD $0x384016f1 // ldrb w17, [x23], #1 + WORD $0x5100c224 // sub w4, w17, #48 + WORD $0x7100289f // cmp w4, #10 + WORD $0x54ffff23 // b.lo LBB0_218 $-28(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x5400016d // b.le LBB0_226 $44(%rip) + WORD $0x7101963f // cmp w17, #101 + WORD $0x540001c0 // b.eq LBB0_228 $56(%rip) + WORD $0x7101163f // cmp w17, #69 + WORD $0x54000180 // b.eq LBB0_228 $48(%rip) + WORD $0x7100ba3f // cmp w17, #46 + WORD $0x54000221 // b.ne LBB0_231 $68(%rip) + WORD $0xb100069f // cmn x20, #1 + WORD $0x540027a1 // b.ne LBB0_302 $1268(%rip) + WORD $0xd1000714 // sub x20, x24, #1 + WORD $0x17ffffed // b LBB0_218 $-76(%rip) +LBB0_226: + WORD $0x7100ae3f // cmp w17, #43 + WORD $0x54fffd00 // b.eq LBB0_216 $-96(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x54fffcc0 // b.eq LBB0_216 $-104(%rip) + WORD $0x14000008 // b LBB0_231 $32(%rip) +LBB0_228: + WORD $0xb10004bf // cmn x5, #1 + WORD $0x54002681 // b.ne LBB0_302 $1232(%rip) + WORD $0xd1000705 // sub x5, x24, #1 + WORD $0x17ffffe4 // b LBB0_218 $-112(%rip) +LBB0_230: + WORD $0x8b354111 // add x17, x8, w21, uxtw + WORD $0x8b070236 // add x22, x17, x7 + WORD $0x52800073 // mov w19, #3 +LBB0_231: + WORD $0x92800007 // mov x7, #-1 + WORD $0xb4005dd4 // cbz x20, LBB0_409 $3000(%rip) +LBB0_232: + WORD $0xb4005dbe // cbz lr, LBB0_409 $2996(%rip) + WORD $0xb4005d85 // cbz x5, LBB0_409 $2992(%rip) + WORD $0xcb0802c8 // sub x8, x22, x8 + WORD $0xd1000511 // sub x17, x8, #1 + WORD $0xeb11029f // cmp x20, x17 + WORD $0x540002a0 // b.eq LBB0_242 $84(%rip) + WORD $0xeb1103df // cmp lr, x17 + WORD $0x54000260 // b.eq LBB0_242 $76(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x54000220 // b.eq LBB0_242 $68(%rip) + WORD $0xf10007d1 // subs x17, lr, #1 + WORD $0x5400006b // b.lt LBB0_239 $12(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x54005c21 // b.ne LBB0_410 $2948(%rip) +LBB0_239: + WORD $0xaa050291 // orr x17, x20, x5 + WORD $0xb7f80071 // tbnz x17, #63, LBB0_241 $12(%rip) + WORD $0xeb05029f // cmp x20, x5 + WORD $0x540063ea // b.ge LBB0_426 $3196(%rip) +LBB0_241: + WORD $0xd37ffe31 // lsr x17, x17, #63 + WORD $0x52000231 // eor w17, w17, #0x1 + WORD $0xd10004a4 // sub x4, x5, #1 + WORD $0xeb04029f // cmp x20, x4 + WORD $0x1a9f17e4 // cset w4, eq + WORD $0x6a04023f // tst w17, w4 + WORD $0xda850107 // csinv x7, x8, x5, eq + WORD $0x14000002 // b LBB0_243 $8(%rip) +LBB0_242: + WORD $0xcb0803e7 // neg x7, x8 +LBB0_243: + WORD $0xb7f85a47 // tbnz x7, #63, LBB0_409 $2888(%rip) +LBB0_244: + WORD $0x8b1c00fc // add x28, x7, x28 + WORD $0xf900003c // str x28, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xeb06037f // cmp x27, x6 + WORD $0x52800084 // mov w4, #4 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0x54ffce83 // b.lo LBB0_171 $-1584(%rip) + WORD $0x140002a2 // b LBB0_394 $2696(%rip) +LBB0_245: + WORD $0x5ac00328 // rbit w8, w25 + WORD $0x5ac01108 // clz w8, w8 + WORD $0xaa3c03f1 // mvn x17, x28 + WORD $0xcb080235 // sub x21, x17, x8 + WORD $0x17fffda7 // b LBB0_136 $-2404(%rip) +LBB0_246: + WORD $0xaa3c03e8 // mvn x8, x28 + WORD $0xcb314115 // sub x21, x8, w17, uxtw + WORD $0x17fffda4 // b LBB0_136 $-2416(%rip) +LBB0_247: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400000a // b LBB0_251 $40(%rip) +LBB0_248: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400002c // b LBB0_257 $176(%rip) +LBB0_249: + WORD $0xaa0603f6 // mov x22, x6 + WORD $0x92800007 // mov x7, #-1 + WORD $0xb5fff994 // cbnz x20, LBB0_232 $-208(%rip) + WORD $0x140002b8 // b LBB0_409 $2784(%rip) +LBB0_250: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_251: + WORD $0xf1008287 // subs x7, x20, #32 + WORD $0x54003463 // b.lo LBB0_339 $1676(%rip) + WORD $0xad405794 // ldp q20, q21, [x28] + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x4e221ef6 // and.16b v22, v23, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260296 // fmov w22, s20 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35002ed5 // cbnz w21, LBB0_336 $1496(%rip) + WORD $0xb5002f65 // cbnz x5, LBB0_337 $1516(%rip) + WORD $0xb40030f4 // cbz x20, LBB0_338 $1564(%rip) +LBB0_255: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0x8b1100b1 // add x17, x5, x17 + WORD $0x17fffd52 // b LBB0_121 $-2744(%rip) +LBB0_256: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_257: + WORD $0xf1008295 // subs x21, x20, #32 + WORD $0x54000643 // b.lo LBB0_265 $200(%rip) + WORD $0xad405395 // ldp q21, q20, [x28] + WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c7 // fmov w7, s22 + WORD $0x6e218e96 // cmeq.16b v22, v20, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d6 // fmov w22, s22 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ec7 // bfi w7, w22, #16, #16 + WORD $0x35003047 // cbnz w7, LBB0_349 $1544(%rip) + WORD $0xb50030e5 // cbnz x5, LBB0_350 $1564(%rip) +LBB0_260: + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a7 // fmov w7, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x33103e27 // bfi w7, w17, #16, #16 + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xb4000114 // cbz x20, LBB0_263 $32(%rip) + WORD $0xdac00285 // rbit x5, x20 + WORD $0xdac010a7 // clz x7, x5 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x54005563 // b.lo LBB0_428 $2732(%rip) + WORD $0x8b0700b1 // add x17, x5, x7 + WORD $0x17fffd1f // b LBB0_121 $-2948(%rip) +LBB0_263: + WORD $0x35005547 // cbnz w7, LBB0_429 $2728(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa1503f4 // mov x20, x21 +LBB0_265: + WORD $0xb5003965 // cbnz x5, LBB0_368 $1836(%rip) + WORD $0xb40048d4 // cbz x20, LBB0_398 $2328(%rip) +LBB0_267: + WORD $0xd2800005 // mov x5, #0 +LBB0_268: + WORD $0x38656b91 // ldrb w17, [x28, x5] + WORD $0x71008a3f // cmp w17, #34 + WORD $0x540002e0 // b.eq LBB0_274 $92(%rip) + WORD $0x7101723f // cmp w17, #92 + WORD $0x540000e0 // b.eq LBB0_272 $28(%rip) + WORD $0x71007e3f // cmp w17, #31 + WORD $0x54005429 // b.ls LBB0_430 $2692(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54fffee1 // b.ne LBB0_268 $-36(%rip) + WORD $0x1400023a // b LBB0_398 $2280(%rip) +LBB0_272: + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x540046e0 // b.eq LBB0_398 $2268(%rip) + WORD $0x8b050391 // add x17, x28, x5 + WORD $0x8b0c0227 // add x7, x17, x12 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a8800e8 // csel x8, x7, x8, eq + WORD $0x91000a3c // add x28, x17, #2 + WORD $0xcb050291 // sub x17, x20, x5 + WORD $0xd1000a87 // sub x7, x20, #2 + WORD $0xd1000a34 // sub x20, x17, #2 + WORD $0xeb0500ff // cmp x7, x5 + WORD $0x54fffd01 // b.ne LBB0_267 $-96(%rip) + WORD $0x1400022c // b LBB0_398 $2224(%rip) +LBB0_274: + WORD $0x8b1c0191 // add x17, x12, x28 + WORD $0x8b050231 // add x17, x17, x5 + WORD $0x17fffcfd // b LBB0_121 $-3084(%rip) +LBB0_275: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x14000006 // b LBB0_278 $24(%rip) +LBB0_276: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x14000028 // b LBB0_284 $160(%rip) +LBB0_277: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_278: + WORD $0xf1008287 // subs x7, x20, #32 + WORD $0x54002d23 // b.lo LBB0_354 $1444(%rip) + WORD $0xad405794 // ldp q20, q21, [x28] + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x4e221ef6 // and.16b v22, v23, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260296 // fmov w22, s20 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35002795 // cbnz w21, LBB0_351 $1264(%rip) + WORD $0xb5002825 // cbnz x5, LBB0_352 $1284(%rip) + WORD $0xb40029b4 // cbz x20, LBB0_353 $1332(%rip) +LBB0_282: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0x8b1100b1 // add x17, x5, x17 + WORD $0x17fffd75 // b LBB0_150 $-2604(%rip) +LBB0_283: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_284: + WORD $0xf1008295 // subs x21, x20, #32 + WORD $0x54000643 // b.lo LBB0_292 $200(%rip) + WORD $0xad405395 // ldp q21, q20, [x28] + WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c7 // fmov w7, s22 + WORD $0x6e218e96 // cmeq.16b v22, v20, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d6 // fmov w22, s22 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ec7 // bfi w7, w22, #16, #16 + WORD $0x350029a7 // cbnz w7, LBB0_364 $1332(%rip) + WORD $0xb5002a45 // cbnz x5, LBB0_365 $1352(%rip) +LBB0_287: + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a7 // fmov w7, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x33103e27 // bfi w7, w17, #16, #16 + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xb4000114 // cbz x20, LBB0_290 $32(%rip) + WORD $0xdac00285 // rbit x5, x20 + WORD $0xdac010a7 // clz x7, x5 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x540045c3 // b.lo LBB0_428 $2232(%rip) + WORD $0x8b0700b1 // add x17, x5, x7 + WORD $0x17fffd42 // b LBB0_150 $-2808(%rip) +LBB0_290: + WORD $0x350045a7 // cbnz w7, LBB0_429 $2228(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa1503f4 // mov x20, x21 +LBB0_292: + WORD $0xb5002bc5 // cbnz x5, LBB0_372 $1400(%rip) + WORD $0xb4003934 // cbz x20, LBB0_398 $1828(%rip) +LBB0_294: + WORD $0xd2800005 // mov x5, #0 +LBB0_295: + WORD $0x38656b91 // ldrb w17, [x28, x5] + WORD $0x71008a3f // cmp w17, #34 + WORD $0x540002e0 // b.eq LBB0_301 $92(%rip) + WORD $0x7101723f // cmp w17, #92 + WORD $0x540000e0 // b.eq LBB0_299 $28(%rip) + WORD $0x71007e3f // cmp w17, #31 + WORD $0x54004489 // b.ls LBB0_430 $2192(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54fffee1 // b.ne LBB0_295 $-36(%rip) + WORD $0x140001bd // b LBB0_398 $1780(%rip) +LBB0_299: + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x54003740 // b.eq LBB0_398 $1768(%rip) + WORD $0x8b050391 // add x17, x28, x5 + WORD $0x8b0c0227 // add x7, x17, x12 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a8800e8 // csel x8, x7, x8, eq + WORD $0x91000a3c // add x28, x17, #2 + WORD $0xcb050291 // sub x17, x20, x5 + WORD $0xd1000a87 // sub x7, x20, #2 + WORD $0xd1000a34 // sub x20, x17, #2 + WORD $0xeb0500ff // cmp x7, x5 + WORD $0x54fffd01 // b.ne LBB0_294 $-96(%rip) + WORD $0x140001af // b LBB0_398 $1724(%rip) +LBB0_301: + WORD $0x8b1c0191 // add x17, x12, x28 + WORD $0x8b050231 // add x17, x17, x5 + WORD $0x17fffd20 // b LBB0_150 $-2944(%rip) +LBB0_302: + WORD $0xcb1803e7 // neg x7, x24 + WORD $0x17fffeee // b LBB0_243 $-1096(%rip) +LBB0_303: + WORD $0x5ac00328 // rbit w8, w25 + WORD $0x5ac01108 // clz w8, w8 + WORD $0xaa2703f1 // mvn x17, x7 + WORD $0xcb080227 // sub x7, x17, x8 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffee8 // b LBB0_243 $-1120(%rip) +LBB0_304: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400000a // b LBB0_308 $40(%rip) +LBB0_305: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400002c // b LBB0_314 $176(%rip) +LBB0_306: + WORD $0xaa2703e8 // mvn x8, x7 + WORD $0xcb314107 // sub x7, x8, w17, uxtw + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffee0 // b LBB0_243 $-1152(%rip) +LBB0_307: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_308: + WORD $0xf1008287 // subs x7, x20, #32 + WORD $0x540028e3 // b.lo LBB0_377 $1308(%rip) + WORD $0xad405794 // ldp q20, q21, [x28] + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x4e221ef6 // and.16b v22, v23, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260284 // fmov w4, s20 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103c95 // bfi w21, w4, #16, #16 + WORD $0x35002375 // cbnz w21, LBB0_374 $1132(%rip) + WORD $0xb5002405 // cbnz x5, LBB0_375 $1152(%rip) + WORD $0xb4002574 // cbz x20, LBB0_376 $1196(%rip) +LBB0_312: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090384 // sub x4, x28, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0x14000055 // b LBB0_332 $340(%rip) +LBB0_313: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_314: + WORD $0xf1008295 // subs x21, x20, #32 + WORD $0x54000643 // b.lo LBB0_322 $200(%rip) + WORD $0xad405395 // ldp q21, q20, [x28] + WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c7 // fmov w7, s22 + WORD $0x6e218e96 // cmeq.16b v22, v20, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c4 // fmov w4, s22 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103c87 // bfi w7, w4, #16, #16 + WORD $0x350024e7 // cbnz w7, LBB0_386 $1180(%rip) + WORD $0xb5002585 // cbnz x5, LBB0_387 $1200(%rip) +LBB0_317: + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a7 // fmov w7, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x33103e27 // bfi w7, w17, #16, #16 + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xb4000114 // cbz x20, LBB0_320 $32(%rip) + WORD $0xdac00284 // rbit x4, x20 + WORD $0xdac01087 // clz x7, x4 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x540034a3 // b.lo LBB0_428 $1684(%rip) + WORD $0x8b0700b1 // add x17, x5, x7 + WORD $0x14000022 // b LBB0_332 $136(%rip) +LBB0_320: + WORD $0x35003487 // cbnz w7, LBB0_429 $1680(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa1503f4 // mov x20, x21 +LBB0_322: + WORD $0xb5002505 // cbnz x5, LBB0_391 $1184(%rip) + WORD $0xb4002814 // cbz x20, LBB0_398 $1280(%rip) +LBB0_324: + WORD $0xd2800005 // mov x5, #0 +LBB0_325: + WORD $0x38656b91 // ldrb w17, [x28, x5] + WORD $0x71008a3f // cmp w17, #34 + WORD $0x540002e0 // b.eq LBB0_331 $92(%rip) + WORD $0x7101723f // cmp w17, #92 + WORD $0x540000e0 // b.eq LBB0_329 $28(%rip) + WORD $0x71007e3f // cmp w17, #31 + WORD $0x54003369 // b.ls LBB0_430 $1644(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54fffee1 // b.ne LBB0_325 $-36(%rip) + WORD $0x14000134 // b LBB0_398 $1232(%rip) +LBB0_329: + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x54002620 // b.eq LBB0_398 $1220(%rip) + WORD $0x8b050391 // add x17, x28, x5 + WORD $0x8b0c0224 // add x4, x17, x12 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880088 // csel x8, x4, x8, eq + WORD $0x91000a3c // add x28, x17, #2 + WORD $0xcb050291 // sub x17, x20, x5 + WORD $0xd1000a84 // sub x4, x20, #2 + WORD $0xd1000a34 // sub x20, x17, #2 + WORD $0xeb05009f // cmp x4, x5 + WORD $0x54fffd01 // b.ne LBB0_324 $-96(%rip) + WORD $0x14000126 // b LBB0_398 $1176(%rip) +LBB0_331: + WORD $0x8b1c0191 // add x17, x12, x28 + WORD $0x8b050231 // add x17, x17, x5 +LBB0_332: + WORD $0x9100063c // add x28, x17, #1 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffbf6 // b LBB0_122 $-4136(%rip) +LBB0_333: + WORD $0x92800008 // mov x8, #-1 + WORD $0xaa1e03f6 // mov x22, lr + WORD $0xaa1503f7 // mov x23, x21 + WORD $0x92800005 // mov x5, #-1 + WORD $0x92800014 // mov x20, #-1 + WORD $0x17fffb21 // b LBB0_82 $-4988(%rip) +LBB0_334: + WORD $0xaa2703e8 // mvn x8, x7 + WORD $0xcb3a4107 // sub x7, x8, w26, uxtw + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffe5b // b LBB0_243 $-1684(%rip) +LBB0_335: + WORD $0x92800014 // mov x20, #-1 + WORD $0xaa0803f6 // mov x22, x8 + WORD $0xaa1803f5 // mov x21, x24 + WORD $0x92800005 // mov x5, #-1 + WORD $0x9280001e // mov lr, #-1 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffe0f // b LBB0_215 $-1988(%rip) +LBB0_336: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_337: + WORD $0x0a2502b1 // bic w17, w21, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1102b1 // adds w17, w21, w17 + WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0xb5ffcf74 // cbnz x20, LBB0_255 $-1556(%rip) +LBB0_338: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0703f4 // mov x20, x7 +LBB0_339: + WORD $0xb5000ec5 // cbnz x5, LBB0_366 $472(%rip) + WORD $0xb4000314 // cbz x20, LBB0_348 $96(%rip) +LBB0_341: + WORD $0xaa1c03e7 // mov x7, x28 + WORD $0x384014e5 // ldrb w5, [x7], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000260 // b.eq LBB0_347 $76(%rip) + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_344 $20(%rip) + WORD $0xaa0703fc // mov x28, x7 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffef1 // cbnz x17, LBB0_341 $-36(%rip) + WORD $0x14000009 // b LBB0_346 $36(%rip) +LBB0_344: + WORD $0xb4001db1 // cbz x17, LBB0_398 $948(%rip) + WORD $0x8b0b00f1 // add x17, x7, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000a91 // sub x17, x20, #2 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffdd1 // cbnz x17, LBB0_341 $-72(%rip) +LBB0_346: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000060 // b.eq LBB0_348 $12(%rip) + WORD $0x140000e3 // b LBB0_398 $908(%rip) +LBB0_347: + WORD $0xaa0703fc // mov x28, x7 +LBB0_348: + WORD $0xcb09039c // sub x28, x28, x9 + WORD $0x17fffbb5 // b LBB0_122 $-4396(%rip) +LBB0_349: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_350: + WORD $0x0a2500f1 // bic w17, w7, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3600e7 // bic w7, w7, w22 + WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa + WORD $0x2b1100f1 // adds w17, w7, w17 + WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffe6e // b LBB0_260 $-1608(%rip) +LBB0_351: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_352: + WORD $0x0a2502b1 // bic w17, w21, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1102b1 // adds w17, w21, w17 + WORD $0x4a110491 // eor w17, w4, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0xb5ffd6b4 // cbnz x20, LBB0_282 $-1324(%rip) +LBB0_353: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0703f4 // mov x20, x7 +LBB0_354: + WORD $0xb5000865 // cbnz x5, LBB0_370 $268(%rip) + WORD $0xb4000314 // cbz x20, LBB0_363 $96(%rip) +LBB0_356: + WORD $0xaa1c03e7 // mov x7, x28 + WORD $0x384014e5 // ldrb w5, [x7], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000260 // b.eq LBB0_362 $76(%rip) + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_359 $20(%rip) + WORD $0xaa0703fc // mov x28, x7 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffef1 // cbnz x17, LBB0_356 $-36(%rip) + WORD $0x14000009 // b LBB0_361 $36(%rip) +LBB0_359: + WORD $0xb4001551 // cbz x17, LBB0_398 $680(%rip) + WORD $0x8b0b00f1 // add x17, x7, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000a91 // sub x17, x20, #2 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffdd1 // cbnz x17, LBB0_356 $-72(%rip) +LBB0_361: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000060 // b.eq LBB0_363 $12(%rip) + WORD $0x140000a0 // b LBB0_398 $640(%rip) +LBB0_362: + WORD $0xaa0703fc // mov x28, x7 +LBB0_363: + WORD $0xcb09039c // sub x28, x28, x9 + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb6ff827c // tbz x28, #63, LBB0_151 $-4020(%rip) + WORD $0x14000096 // b LBB0_397 $600(%rip) +LBB0_364: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_365: + WORD $0x0a2500f1 // bic w17, w7, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3600e7 // bic w7, w7, w22 + WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa + WORD $0x2b1100f1 // adds w17, w7, w17 + WORD $0x4a110491 // eor w17, w4, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffea3 // b LBB0_287 $-1396(%rip) +LBB0_366: + WORD $0xb4001094 // cbz x20, LBB0_398 $528(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5fff0d4 // cbnz x20, LBB0_341 $-488(%rip) + WORD $0x17ffff9c // b LBB0_348 $-400(%rip) +LBB0_368: + WORD $0xb4000f94 // cbz x20, LBB0_398 $496(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5ffc634 // cbnz x20, LBB0_267 $-1852(%rip) + WORD $0x14000075 // b LBB0_398 $468(%rip) +LBB0_370: + WORD $0xb4000e94 // cbz x20, LBB0_398 $464(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5fff734 // cbnz x20, LBB0_356 $-284(%rip) + WORD $0x17ffffcf // b LBB0_363 $-196(%rip) +LBB0_372: + WORD $0xb4000d94 // cbz x20, LBB0_398 $432(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5ffd3d4 // cbnz x20, LBB0_294 $-1416(%rip) + WORD $0x14000065 // b LBB0_398 $404(%rip) +LBB0_374: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090384 // sub x4, x28, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_375: + WORD $0x0a2502b1 // bic w17, w21, w5 + WORD $0x531f7a24 // lsl w4, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a2402a4 // bic w4, w21, w4 + WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa + WORD $0x2b110091 // adds w17, w4, w17 + WORD $0x4a110711 // eor w17, w24, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0xb5ffdaf4 // cbnz x20, LBB0_312 $-1188(%rip) +LBB0_376: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0703f4 // mov x20, x7 +LBB0_377: + WORD $0xb50005c5 // cbnz x5, LBB0_388 $184(%rip) + WORD $0xb4000694 // cbz x20, LBB0_390 $208(%rip) +LBB0_379: + WORD $0xaa1c03e7 // mov x7, x28 + WORD $0x384014e5 // ldrb w5, [x7], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000280 // b.eq LBB0_385 $80(%rip) + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_382 $20(%rip) + WORD $0xaa0703fc // mov x28, x7 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffef1 // cbnz x17, LBB0_379 $-36(%rip) + WORD $0x14000009 // b LBB0_384 $36(%rip) +LBB0_382: + WORD $0xb4000871 // cbz x17, LBB0_398 $268(%rip) + WORD $0x8b0b00f1 // add x17, x7, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000a91 // sub x17, x20, #2 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffdd1 // cbnz x17, LBB0_379 $-72(%rip) +LBB0_384: + WORD $0x710088bf // cmp w5, #34 + WORD $0x52800073 // mov w19, #3 + WORD $0x54ffeb00 // b.eq LBB0_348 $-672(%rip) + WORD $0x14000038 // b LBB0_398 $224(%rip) +LBB0_385: + WORD $0xaa0703fc // mov x28, x7 + WORD $0x52800073 // mov w19, #3 + WORD $0x17ffff54 // b LBB0_348 $-688(%rip) +LBB0_386: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090384 // sub x4, x28, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_387: + WORD $0x0a2500f1 // bic w17, w7, w5 + WORD $0x531f7a24 // lsl w4, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a2400e4 // bic w4, w7, w4 + WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa + WORD $0x2b110091 // adds w17, w4, w17 + WORD $0x4a110711 // eor w17, w24, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x17fffeca // b LBB0_317 $-1240(%rip) +LBB0_388: + WORD $0xb4000454 // cbz x20, LBB0_398 $136(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5fff9d4 // cbnz x20, LBB0_379 $-200(%rip) +LBB0_390: + WORD $0x52800073 // mov w19, #3 + WORD $0x17ffff39 // b LBB0_348 $-796(%rip) +LBB0_391: + WORD $0xb4000334 // cbz x20, LBB0_398 $100(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5ffda94 // cbnz x20, LBB0_324 $-1200(%rip) + WORD $0x14000012 // b LBB0_398 $72(%rip) +LBB0_393: + WORD $0x92800008 // mov x8, #-1 +LBB0_394: + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa945fbfd // ldp fp, lr, [sp, #88] + WORD $0xa944cff4 // ldp x20, x19, [sp, #72] + WORD $0xa943d7f6 // ldp x22, x21, [sp, #56] + WORD $0xa942dff8 // ldp x24, x23, [sp, #40] + WORD $0xa941e7fa // ldp x26, x25, [sp, #24] + WORD $0xa940effc // ldp x28, x27, [sp, #8] + WORD $0x9101c3ff // add sp, sp, #112 + WORD $0xd65f03c0 // ret +LBB0_395: + WORD $0x9280001c // mov x28, #-1 + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0x1400000c // b LBB0_403 $48(%rip) +LBB0_396: + WORD $0x928000c8 // mov x8, #-7 + WORD $0x17fffff3 // b LBB0_394 $-52(%rip) +LBB0_397: + WORD $0xb100079f // cmn x28, #1 + WORD $0x54000101 // b.ne LBB0_403 $32(%rip) +LBB0_398: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0x9280001c // mov x28, #-1 + WORD $0x14000005 // b LBB0_403 $20(%rip) +LBB0_399: + WORD $0x92800015 // mov x21, #-1 +LBB0_400: + WORD $0xaa3503f4 // mvn x20, x21 +LBB0_401: + WORD $0x8b1b0288 // add x8, x20, x27 +LBB0_402: + WORD $0x9280003c // mov x28, #-2 +LBB0_403: + WORD $0xf9000028 // str x8, [x1] + WORD $0xaa1c03e8 // mov x8, x28 + WORD $0x17ffffe7 // b LBB0_394 $-100(%rip) +LBB0_404: + WORD $0xb100051f // cmn x8, #1 + WORD $0x54ffff61 // b.ne LBB0_402 $-20(%rip) + WORD $0xdac00228 // rbit x8, x17 + WORD $0xdac01108 // clz x8, x8 + WORD $0x8b1c0108 // add x8, x8, x28 + WORD $0x17fffff7 // b LBB0_402 $-36(%rip) +LBB0_406: + WORD $0x9280001c // mov x28, #-1 + WORD $0x17fffff6 // b LBB0_403 $-40(%rip) +LBB0_407: + WORD $0xaa0803f4 // mov x20, x8 + WORD $0x8b1b0108 // add x8, x8, x27 + WORD $0x17fffff2 // b LBB0_402 $-56(%rip) +LBB0_408: + WORD $0x92800007 // mov x7, #-1 +LBB0_409: + WORD $0xaa2703fe // mvn lr, x7 +LBB0_410: + WORD $0x8b1e0388 // add x8, x28, lr + WORD $0x17ffffee // b LBB0_402 $-72(%rip) +LBB0_411: + WORD $0xf900003b // str x27, [x1] + WORD $0x394003c8 // ldrb w8, [lr] + WORD $0x7101b91f // cmp w8, #110 + WORD $0x54000761 // b.ne LBB0_425 $236(%rip) + WORD $0x91000768 // add x8, x27, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x540006c1 // b.ne LBB0_425 $216(%rip) + WORD $0x91000b68 // add x8, x27, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54000621 // b.ne LBB0_425 $196(%rip) + WORD $0x91000f68 // add x8, x27, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54000581 // b.ne LBB0_425 $176(%rip) + WORD $0x14000014 // b LBB0_419 $80(%rip) +LBB0_415: + WORD $0xf900003b // str x27, [x1] + WORD $0x394003c8 // ldrb w8, [lr] + WORD $0x7101d11f // cmp w8, #116 + WORD $0x540004e1 // b.ne LBB0_425 $156(%rip) + WORD $0x91000768 // add x8, x27, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101c91f // cmp w8, #114 + WORD $0x54000441 // b.ne LBB0_425 $136(%rip) + WORD $0x91000b68 // add x8, x27, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x540003a1 // b.ne LBB0_425 $116(%rip) + WORD $0x91000f68 // add x8, x27, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101951f // cmp w8, #101 + WORD $0x54000301 // b.ne LBB0_425 $96(%rip) +LBB0_419: + WORD $0x91001368 // add x8, x27, #4 + WORD $0x17ffffc5 // b LBB0_402 $-236(%rip) +LBB0_420: + WORD $0xf900003c // str x28, [x1] + WORD $0x387c6928 // ldrb w8, [x9, x28] + WORD $0x7101851f // cmp w8, #97 + WORD $0x54000241 // b.ne LBB0_425 $72(%rip) + WORD $0x91000b68 // add x8, x27, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x540001a1 // b.ne LBB0_425 $52(%rip) + WORD $0x91000f68 // add x8, x27, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101cd1f // cmp w8, #115 + WORD $0x54000101 // b.ne LBB0_425 $32(%rip) + WORD $0x91001368 // add x8, x27, #4 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101951f // cmp w8, #101 + WORD $0x54000061 // b.ne LBB0_425 $12(%rip) + WORD $0x91001768 // add x8, x27, #5 + WORD $0x17ffffb0 // b LBB0_402 $-320(%rip) +LBB0_425: + WORD $0x92800028 // mov x8, #-2 + WORD $0x17ffff98 // b LBB0_394 $-416(%rip) +LBB0_426: + WORD $0xaa1403fe // mov lr, x20 + WORD $0x8b140388 // add x8, x28, x20 + WORD $0x17ffffab // b LBB0_402 $-340(%rip) +LBB0_427: + WORD $0x8b1c0228 // add x8, x17, x28 + WORD $0x17ffffa9 // b LBB0_402 $-348(%rip) +LBB0_428: + WORD $0x8b1100a8 // add x8, x5, x17 + WORD $0x17ffffa7 // b LBB0_402 $-356(%rip) +LBB0_429: + WORD $0xcb090388 // sub x8, x28, x9 + WORD $0x8b110108 // add x8, x8, x17 + WORD $0x17ffffa4 // b LBB0_402 $-368(%rip) +LBB0_430: + WORD $0xcb090388 // sub x8, x28, x9 + WORD $0x8b050108 // add x8, x8, x5 + WORD $0x17ffffa1 // b LBB0_402 $-380(%rip) + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + +TEXT ·__skip_one(SB), NOSPLIT, $0-40 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $176, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_skip_one: + MOVD s+0(FP), R0 + MOVD p+8(FP), R1 + MOVD m+16(FP), R2 + MOVD flags+24(FP), R3 + MOVD ·_subr__skip_one(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+32(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.go new file mode 100644 index 0000000..0e3a995 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.go @@ -0,0 +1,31 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +//go:nosplit +func skip_one_fast(s *string, p *int) (ret int) { + return __skip_one_fast(s, p) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __skip_one_fast(s *string, p *int) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.s new file mode 100644 index 0000000..0caf278 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_arm64.s @@ -0,0 +1,998 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__skip_one_fast_entry__(SB), NOSPLIT, $176 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 4, 0x00 +lCPI0_0: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_1: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_skip_one_fast: + WORD $0xd10303ff // sub sp, sp, #192 + WORD $0xa905effc // stp x28, x27, [sp, #88] + WORD $0xa906e7fa // stp x26, x25, [sp, #104] + WORD $0xa907dff8 // stp x24, x23, [sp, #120] + WORD $0xa908d7f6 // stp x22, x21, [sp, #136] + WORD $0xa909cff4 // stp x20, x19, [sp, #152] + WORD $0xa90afbfd // stp fp, lr, [sp, #168] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xf940002b // ldr x11, [x1] + WORD $0xa9402809 // ldp x9, x10, [x0] + WORD $0xeb0a017f // cmp x11, x10 + WORD $0x54000142 // b.hs LBB0_4 $40(%rip) + WORD $0x386b6928 // ldrb w8, [x9, x11] + WORD $0x7100351f // cmp w8, #13 + WORD $0x540000e0 // b.eq LBB0_4 $28(%rip) + WORD $0x7100811f // cmp w8, #32 + WORD $0x540000a0 // b.eq LBB0_4 $20(%rip) + WORD $0x51002d0c // sub w12, w8, #11 + WORD $0xaa0b03e8 // mov x8, x11 + WORD $0x3100099f // cmn w12, #2 + WORD $0x54000683 // b.lo LBB0_21 $208(%rip) +LBB0_4: + WORD $0x91000568 // add x8, x11, #1 + WORD $0xeb0a011f // cmp x8, x10 + WORD $0x54000122 // b.hs LBB0_8 $36(%rip) + WORD $0x3868692c // ldrb w12, [x9, x8] + WORD $0x7100359f // cmp w12, #13 + WORD $0x540000c0 // b.eq LBB0_8 $24(%rip) + WORD $0x7100819f // cmp w12, #32 + WORD $0x54000080 // b.eq LBB0_8 $16(%rip) + WORD $0x51002d8c // sub w12, w12, #11 + WORD $0x3100099f // cmn w12, #2 + WORD $0x54000523 // b.lo LBB0_21 $164(%rip) +LBB0_8: + WORD $0x91000968 // add x8, x11, #2 + WORD $0xeb0a011f // cmp x8, x10 + WORD $0x54000122 // b.hs LBB0_12 $36(%rip) + WORD $0x3868692c // ldrb w12, [x9, x8] + WORD $0x7100359f // cmp w12, #13 + WORD $0x540000c0 // b.eq LBB0_12 $24(%rip) + WORD $0x7100819f // cmp w12, #32 + WORD $0x54000080 // b.eq LBB0_12 $16(%rip) + WORD $0x51002d8c // sub w12, w12, #11 + WORD $0x3100099f // cmn w12, #2 + WORD $0x540003c3 // b.lo LBB0_21 $120(%rip) +LBB0_12: + WORD $0x91000d68 // add x8, x11, #3 + WORD $0xeb0a011f // cmp x8, x10 + WORD $0x54000122 // b.hs LBB0_16 $36(%rip) + WORD $0x3868692c // ldrb w12, [x9, x8] + WORD $0x7100359f // cmp w12, #13 + WORD $0x540000c0 // b.eq LBB0_16 $24(%rip) + WORD $0x7100819f // cmp w12, #32 + WORD $0x54000080 // b.eq LBB0_16 $16(%rip) + WORD $0x51002d8c // sub w12, w12, #11 + WORD $0x3100099f // cmn w12, #2 + WORD $0x54000263 // b.lo LBB0_21 $76(%rip) +LBB0_16: + WORD $0x91001168 // add x8, x11, #4 + WORD $0xeb0a011f // cmp x8, x10 + WORD $0x54005ae2 // b.hs LBB0_115 $2908(%rip) + WORD $0x5280002b // mov w11, #1 + WORD $0xd284c00c // mov x12, #9728 + WORD $0xf2c0002c // movk x12, #1, lsl #32 +LBB0_18: + WORD $0x3868692d // ldrb w13, [x9, x8] + WORD $0x710081bf // cmp w13, #32 + WORD $0x9acd216d // lsl x13, x11, x13 + WORD $0x8a0c01ad // and x13, x13, x12 + WORD $0xfa4099a4 // ccmp x13, #0, #4, ls + WORD $0x540000a0 // b.eq LBB0_20 $20(%rip) + WORD $0x91000508 // add x8, x8, #1 + WORD $0xeb08015f // cmp x10, x8 + WORD $0x54ffff01 // b.ne LBB0_18 $-32(%rip) + WORD $0x140002cb // b LBB0_116 $2860(%rip) +LBB0_20: + WORD $0xeb0a011f // cmp x8, x10 + WORD $0x54005922 // b.hs LBB0_116 $2852(%rip) +LBB0_21: + WORD $0x91000510 // add x16, x8, #1 + WORD $0xf9000030 // str x16, [x1] + WORD $0x3868692a // ldrb w10, [x9, x8] + WORD $0x7101695f // cmp w10, #90 + WORD $0x540006ec // b.gt LBB0_39 $220(%rip) + WORD $0x7100bd5f // cmp w10, #47 + WORD $0x54000b4d // b.le LBB0_44 $360(%rip) + WORD $0x5100c14a // sub w10, w10, #48 + WORD $0x7100295f // cmp w10, #10 + WORD $0x540055a2 // b.hs LBB0_110 $2740(%rip) +LBB0_24: + WORD $0xf940040a // ldr x10, [x0, #8] + WORD $0xcb10014a // sub x10, x10, x16 + WORD $0xf100415f // cmp x10, #16 + WORD $0x540002c3 // b.lo LBB0_28 $88(%rip) + WORD $0x4f01e580 // movi.16b v0, #44 + WORD $0x4f06e7e1 // movi.16b v1, #223 + WORD $0x4f02e7a2 // movi.16b v2, #93 +Lloh0: + WORD $0x10fff3cb // adr x11, lCPI0_0 $-392(%rip) +Lloh1: + WORD $0x3dc00163 // ldr q3, [x11, lCPI0_0@PAGEOFF] $0(%rip) +Lloh2: + WORD $0x10fff40b // adr x11, lCPI0_1 $-384(%rip) +Lloh3: + WORD $0x3dc00164 // ldr q4, [x11, lCPI0_1@PAGEOFF] $0(%rip) +LBB0_26: + WORD $0x3cf06925 // ldr q5, [x9, x16] + WORD $0x6e208ca6 // cmeq.16b v6, v5, v0 + WORD $0x4e211ca5 // and.16b v5, v5, v1 + WORD $0x6e228ca5 // cmeq.16b v5, v5, v2 + WORD $0x4ea61ca5 // orr.16b v5, v5, v6 + WORD $0x4e231ca5 // and.16b v5, v5, v3 + WORD $0x4e0400a5 // tbl.16b v5, { v5 }, v4 + WORD $0x4e71b8a5 // addv.8h h5, v5 + WORD $0x1e2600ab // fmov w11, s5 + WORD $0x350002eb // cbnz w11, LBB0_36 $92(%rip) + WORD $0xd100414a // sub x10, x10, #16 + WORD $0x91004210 // add x16, x16, #16 + WORD $0xf1003d5f // cmp x10, #15 + WORD $0x54fffe68 // b.hi LBB0_26 $-52(%rip) +LBB0_28: + WORD $0x8b10012b // add x11, x9, x16 + WORD $0xb40001ea // cbz x10, LBB0_35 $60(%rip) + WORD $0x8b0a016c // add x12, x11, x10 + WORD $0xcb09016d // sub x13, x11, x9 +LBB0_30: + WORD $0x3940016e // ldrb w14, [x11] + WORD $0x7100b1df // cmp w14, #44 + WORD $0x540052c0 // b.eq LBB0_112 $2648(%rip) + WORD $0x7101f5df // cmp w14, #125 + WORD $0x54005280 // b.eq LBB0_112 $2640(%rip) + WORD $0x710175df // cmp w14, #93 + WORD $0x54005240 // b.eq LBB0_112 $2632(%rip) + WORD $0x9100056b // add x11, x11, #1 + WORD $0x910005ad // add x13, x13, #1 + WORD $0xf100054a // subs x10, x10, #1 + WORD $0x54fffec1 // b.ne LBB0_30 $-40(%rip) + WORD $0xaa0c03eb // mov x11, x12 +LBB0_35: + WORD $0xcb090169 // sub x9, x11, x9 + WORD $0x14000004 // b LBB0_37 $16(%rip) +LBB0_36: + WORD $0x5ac00169 // rbit w9, w11 + WORD $0x5ac01129 // clz w9, w9 + WORD $0x8b100129 // add x9, x9, x16 +LBB0_37: + WORD $0xf9000029 // str x9, [x1] +LBB0_38: + WORD $0xaa0803e0 // mov x0, x8 + WORD $0x1400028f // b LBB0_117 $2620(%rip) +LBB0_39: + WORD $0x7101b55f // cmp w10, #109 + WORD $0x5400054d // b.le LBB0_47 $168(%rip) + WORD $0x7101b95f // cmp w10, #110 + WORD $0x54002320 // b.eq LBB0_74 $1124(%rip) + WORD $0x7101d15f // cmp w10, #116 + WORD $0x540022e0 // b.eq LBB0_74 $1116(%rip) + WORD $0x7101ed5f // cmp w10, #123 + WORD $0x54004e81 // b.ne LBB0_110 $2512(%rip) + WORD $0xd2800007 // mov x7, #0 + WORD $0xd280000f // mov x15, #0 + WORD $0xd280000a // mov x10, #0 + WORD $0xd280000b // mov x11, #0 + WORD $0xb201e3ec // mov x12, #-8608480567731124088 + WORD $0xf2e1110c // movk x12, #2184, lsl #48 + WORD $0xb202e3ed // mov x13, #4919131752989213764 + WORD $0xf2e0888d // movk x13, #1092, lsl #48 + WORD $0xb203e3ee // mov x14, #2459565876494606882 + WORD $0xf2e0444e // movk x14, #546, lsl #48 + WORD $0xf9400411 // ldr x17, [x0, #8] + WORD $0xcb100225 // sub x5, x17, x16 + WORD $0x8b100130 // add x16, x9, x16 + WORD $0x910043e9 // add x9, sp, #16 + WORD $0x91008129 // add x9, x9, #32 + WORD $0x4f01e440 // movi.16b v0, #34 +Lloh4: + WORD $0x10ffeb91 // adr x17, lCPI0_0 $-656(%rip) +Lloh5: + WORD $0x3dc00221 // ldr q1, [x17, lCPI0_0@PAGEOFF] $0(%rip) +Lloh6: + WORD $0x10ffebd1 // adr x17, lCPI0_1 $-648(%rip) +Lloh7: + WORD $0x3dc00222 // ldr q2, [x17, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x4f02e783 // movi.16b v3, #92 + WORD $0xb200e3f1 // mov x17, #1229782938247303441 + WORD $0xb203e3e2 // mov x2, #2459565876494606882 + WORD $0xb202e3e3 // mov x3, #4919131752989213764 + WORD $0xb201e3e4 // mov x4, #-8608480567731124088 + WORD $0x4f03e764 // movi.16b v4, #123 + WORD $0x4f03e7a5 // movi.16b v5, #125 + WORD $0x6f00e406 // movi.2d v6, #0000000000000000 + WORD $0x14000018 // b LBB0_51 $96(%rip) +LBB0_44: + WORD $0x34004d0a // cbz w10, LBB0_116 $2464(%rip) + WORD $0x7100895f // cmp w10, #34 + WORD $0x54001f40 // b.eq LBB0_75 $1000(%rip) + WORD $0x7100b55f // cmp w10, #45 + WORD $0x54fff4c0 // b.eq LBB0_24 $-360(%rip) + WORD $0x14000251 // b LBB0_110 $2372(%rip) +LBB0_47: + WORD $0x71016d5f // cmp w10, #91 + WORD $0x540027a0 // b.eq LBB0_84 $1268(%rip) + WORD $0x7101995f // cmp w10, #102 + WORD $0x540049a1 // b.ne LBB0_110 $2356(%rip) + WORD $0x91001509 // add x9, x8, #5 + WORD $0xf940040a // ldr x10, [x0, #8] + WORD $0xeb0a013f // cmp x9, x10 + WORD $0x54fff969 // b.ls LBB0_37 $-212(%rip) + WORD $0x1400025a // b LBB0_116 $2408(%rip) +LBB0_50: + WORD $0x937ffce7 // asr x7, x7, #63 + WORD $0x9e670267 // fmov d7, x19 + WORD $0x0e2058e7 // cnt.8b v7, v7 + WORD $0x2e3038e7 // uaddlv.8b h7, v7 + WORD $0x1e2600e5 // fmov w5, s7 + WORD $0x8b0a00aa // add x10, x5, x10 + WORD $0x91010210 // add x16, x16, #64 + WORD $0xaa0603e5 // mov x5, x6 +LBB0_51: + WORD $0xf10100a6 // subs x6, x5, #64 + WORD $0x540015cb // b.lt LBB0_58 $696(%rip) +LBB0_52: + WORD $0xad404612 // ldp q18, q17, [x16] + WORD $0xad411e10 // ldp q16, q7, [x16, #32] + WORD $0x6e238e53 // cmeq.16b v19, v18, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260273 // fmov w19, s19 + WORD $0x6e238e33 // cmeq.16b v19, v17, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x6e238e13 // cmeq.16b v19, v16, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x6e238cf3 // cmeq.16b v19, v7, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa130293 // orr x19, x20, x19 + WORD $0xaa0f0274 // orr x20, x19, x15 + WORD $0xb5000094 // cbnz x20, LBB0_54 $16(%rip) + WORD $0xd280000f // mov x15, #0 + WORD $0xd2800013 // mov x19, #0 + WORD $0x1400000a // b LBB0_55 $40(%rip) +LBB0_54: + WORD $0x8a2f0274 // bic x20, x19, x15 + WORD $0xaa1405f5 // orr x21, x15, x20, lsl #1 + WORD $0x8a35026f // bic x15, x19, x21 + WORD $0x9201f1ef // and x15, x15, #0xaaaaaaaaaaaaaaaa + WORD $0xab1401f3 // adds x19, x15, x20 + WORD $0x1a9f37ef // cset w15, hs + WORD $0xd37ffa73 // lsl x19, x19, #1 + WORD $0xd200f273 // eor x19, x19, #0x5555555555555555 + WORD $0x8a150273 // and x19, x19, x21 +LBB0_55: + WORD $0x6e208e53 // cmeq.16b v19, v18, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x6e208e33 // cmeq.16b v19, v17, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x6e208e13 // cmeq.16b v19, v16, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0x6e208cf3 // cmeq.16b v19, v7, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260277 // fmov w23, s19 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0x8a330293 // bic x19, x20, x19 + WORD $0x9200e274 // and x20, x19, #0x1111111111111111 + WORD $0x9203e275 // and x21, x19, #0x2222222222222222 + WORD $0x9202e276 // and x22, x19, #0x4444444444444444 + WORD $0x9201e273 // and x19, x19, #0x8888888888888888 + WORD $0x9b117e97 // mul x23, x20, x17 + WORD $0x9b0c7eb8 // mul x24, x21, x12 + WORD $0xca1802f7 // eor x23, x23, x24 + WORD $0x9b0d7ed8 // mul x24, x22, x13 + WORD $0x9b0e7e79 // mul x25, x19, x14 + WORD $0xca190318 // eor x24, x24, x25 + WORD $0xca1802f7 // eor x23, x23, x24 + WORD $0x9b027e98 // mul x24, x20, x2 + WORD $0x9b117eb9 // mul x25, x21, x17 + WORD $0xca190318 // eor x24, x24, x25 + WORD $0x9b0c7ed9 // mul x25, x22, x12 + WORD $0x9b0d7e7a // mul x26, x19, x13 + WORD $0xca1a0339 // eor x25, x25, x26 + WORD $0xca190318 // eor x24, x24, x25 + WORD $0x9b037e99 // mul x25, x20, x3 + WORD $0x9b027eba // mul x26, x21, x2 + WORD $0xca1a0339 // eor x25, x25, x26 + WORD $0x9b117eda // mul x26, x22, x17 + WORD $0x9b0c7e7b // mul x27, x19, x12 + WORD $0xca1b035a // eor x26, x26, x27 + WORD $0xca1a0339 // eor x25, x25, x26 + WORD $0x9b047e94 // mul x20, x20, x4 + WORD $0x9b037eb5 // mul x21, x21, x3 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0x9b027ed5 // mul x21, x22, x2 + WORD $0x9b117e73 // mul x19, x19, x17 + WORD $0xca1302b3 // eor x19, x21, x19 + WORD $0xca130293 // eor x19, x20, x19 + WORD $0x9200e2f4 // and x20, x23, #0x1111111111111111 + WORD $0x9203e315 // and x21, x24, #0x2222222222222222 + WORD $0x9202e336 // and x22, x25, #0x4444444444444444 + WORD $0x9201e273 // and x19, x19, #0x8888888888888888 + WORD $0xaa150294 // orr x20, x20, x21 + WORD $0xaa1302d3 // orr x19, x22, x19 + WORD $0xaa130293 // orr x19, x20, x19 + WORD $0xca070267 // eor x7, x19, x7 + WORD $0x6e248e53 // cmeq.16b v19, v18, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260273 // fmov w19, s19 + WORD $0x6e248e33 // cmeq.16b v19, v17, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x6e248e13 // cmeq.16b v19, v16, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x6e248cf3 // cmeq.16b v19, v7, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa130293 // orr x19, x20, x19 + WORD $0x8a270273 // bic x19, x19, x7 + WORD $0x6e258e52 // cmeq.16b v18, v18, v5 + WORD $0x4e211e52 // and.16b v18, v18, v1 + WORD $0x4e020252 // tbl.16b v18, { v18 }, v2 + WORD $0x4e71ba52 // addv.8h h18, v18 + WORD $0x1e260254 // fmov w20, s18 + WORD $0x6e258e31 // cmeq.16b v17, v17, v5 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260235 // fmov w21, s17 + WORD $0x6e258e10 // cmeq.16b v16, v16, v5 + WORD $0x4e211e10 // and.16b v16, v16, v1 + WORD $0x4e020210 // tbl.16b v16, { v16 }, v2 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e260216 // fmov w22, s16 + WORD $0x6e258ce7 // cmeq.16b v7, v7, v5 + WORD $0x4e211ce7 // and.16b v7, v7, v1 + WORD $0x4e0200e7 // tbl.16b v7, { v7 }, v2 + WORD $0x4e71b8e7 // addv.8h h7, v7 + WORD $0x1e2600f7 // fmov w23, s7 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xea270294 // bics x20, x20, x7 + WORD $0x54ffeae0 // b.eq LBB0_50 $-676(%rip) +LBB0_56: + WORD $0xd1000695 // sub x21, x20, #1 + WORD $0x8a1302b6 // and x22, x21, x19 + WORD $0x9e6702c7 // fmov d7, x22 + WORD $0x0e2058e7 // cnt.8b v7, v7 + WORD $0x2e3038e7 // uaddlv.8b h7, v7 + WORD $0x1e2600f6 // fmov w22, s7 + WORD $0x8b0a02d6 // add x22, x22, x10 + WORD $0xeb0b02df // cmp x22, x11 + WORD $0x54003109 // b.ls LBB0_109 $1568(%rip) + WORD $0x9100056b // add x11, x11, #1 + WORD $0xea1402b4 // ands x20, x21, x20 + WORD $0x54fffea1 // b.ne LBB0_56 $-44(%rip) + WORD $0x17ffff4a // b LBB0_50 $-728(%rip) +LBB0_58: + WORD $0xf10000bf // cmp x5, #0 + WORD $0x540033ed // b.le LBB0_114 $1660(%rip) + WORD $0xad019be6 // stp q6, q6, [sp, #48] + WORD $0xad009be6 // stp q6, q6, [sp, #16] + WORD $0x92402e13 // and x19, x16, #0xfff + WORD $0xf13f067f // cmp x19, #4033 + WORD $0x54ffe9a3 // b.lo LBB0_52 $-716(%rip) + WORD $0xf10080b4 // subs x20, x5, #32 + WORD $0x540000a3 // b.lo LBB0_62 $20(%rip) + WORD $0xacc14207 // ldp q7, q16, [x16], #32 + WORD $0xad00c3e7 // stp q7, q16, [sp, #16] + WORD $0xaa0903f3 // mov x19, x9 + WORD $0x14000003 // b LBB0_63 $12(%rip) +LBB0_62: + WORD $0x910043f3 // add x19, sp, #16 + WORD $0xaa0503f4 // mov x20, x5 +LBB0_63: + WORD $0xf1004295 // subs x21, x20, #16 + WORD $0x54000243 // b.lo LBB0_69 $72(%rip) + WORD $0x3cc10607 // ldr q7, [x16], #16 + WORD $0x3c810667 // str q7, [x19], #16 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xf10022b5 // subs x21, x21, #8 + WORD $0x540001e2 // b.hs LBB0_70 $60(%rip) +LBB0_65: + WORD $0xf1001295 // subs x21, x20, #4 + WORD $0x54000243 // b.lo LBB0_71 $72(%rip) +LBB0_66: + WORD $0xb8404614 // ldr w20, [x16], #4 + WORD $0xb8004674 // str w20, [x19], #4 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xf1000ab5 // subs x21, x21, #2 + WORD $0x540001e2 // b.hs LBB0_72 $60(%rip) +LBB0_67: + WORD $0xb4000254 // cbz x20, LBB0_73 $72(%rip) +LBB0_68: + WORD $0x39400210 // ldrb w16, [x16] + WORD $0x39000270 // strb w16, [x19] + WORD $0x910043f0 // add x16, sp, #16 + WORD $0x17ffff32 // b LBB0_52 $-824(%rip) +LBB0_69: + WORD $0xf1002295 // subs x21, x20, #8 + WORD $0x54fffe63 // b.lo LBB0_65 $-52(%rip) +LBB0_70: + WORD $0xf8408614 // ldr x20, [x16], #8 + WORD $0xf8008674 // str x20, [x19], #8 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xf10012b5 // subs x21, x21, #4 + WORD $0x54fffe02 // b.hs LBB0_66 $-64(%rip) +LBB0_71: + WORD $0xf1000a95 // subs x21, x20, #2 + WORD $0x54fffe63 // b.lo LBB0_67 $-52(%rip) +LBB0_72: + WORD $0x78402614 // ldrh w20, [x16], #2 + WORD $0x78002674 // strh w20, [x19], #2 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xb5fffe15 // cbnz x21, LBB0_68 $-64(%rip) +LBB0_73: + WORD $0x910043f0 // add x16, sp, #16 + WORD $0x17ffff23 // b LBB0_52 $-884(%rip) +LBB0_74: + WORD $0x91001109 // add x9, x8, #4 + WORD $0xf940040a // ldr x10, [x0, #8] + WORD $0xeb0a013f // cmp x9, x10 + WORD $0x54ffdbc9 // b.ls LBB0_37 $-1160(%rip) + WORD $0x1400016d // b LBB0_116 $1460(%rip) +LBB0_75: + WORD $0xf940040b // ldr x11, [x0, #8] + WORD $0xcb10016a // sub x10, x11, x16 + WORD $0xf100815f // cmp x10, #32 + WORD $0x54002c4b // b.lt LBB0_113 $1416(%rip) + WORD $0xd280000a // mov x10, #0 + WORD $0xd280000d // mov x13, #0 + WORD $0x8b08012c // add x12, x9, x8 + WORD $0x4f01e440 // movi.16b v0, #34 +Lloh8: + WORD $0x10ffc96e // adr x14, lCPI0_0 $-1748(%rip) +Lloh9: + WORD $0x3dc001c1 // ldr q1, [x14, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0xcb08016b // sub x11, x11, x8 +Lloh10: + WORD $0x10ffc98e // adr x14, lCPI0_1 $-1744(%rip) +Lloh11: + WORD $0x3dc001c2 // ldr q2, [x14, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x528003ee // mov w14, #31 + WORD $0x4f02e783 // movi.16b v3, #92 +LBB0_77: + WORD $0x8b0a018f // add x15, x12, x10 + WORD $0x3cc011e4 // ldur q4, [x15, #1] + WORD $0x3cc111e5 // ldur q5, [x15, #17] + WORD $0x6e208c86 // cmeq.16b v6, v4, v0 + WORD $0x4e211cc6 // and.16b v6, v6, v1 + WORD $0x4e0200c6 // tbl.16b v6, { v6 }, v2 + WORD $0x4e71b8c6 // addv.8h h6, v6 + WORD $0x1e2600cf // fmov w15, s6 + WORD $0x6e208ca6 // cmeq.16b v6, v5, v0 + WORD $0x4e211cc6 // and.16b v6, v6, v1 + WORD $0x4e0200c6 // tbl.16b v6, { v6 }, v2 + WORD $0x4e71b8c6 // addv.8h h6, v6 + WORD $0x1e2600d0 // fmov w16, s6 + WORD $0x33103e0f // bfi w15, w16, #16, #16 + WORD $0x6e238c84 // cmeq.16b v4, v4, v3 + WORD $0x4e211c84 // and.16b v4, v4, v1 + WORD $0x4e020084 // tbl.16b v4, { v4 }, v2 + WORD $0x4e71b884 // addv.8h h4, v4 + WORD $0x1e260090 // fmov w16, s4 + WORD $0x6e238ca4 // cmeq.16b v4, v5, v3 + WORD $0x4e211c84 // and.16b v4, v4, v1 + WORD $0x4e020084 // tbl.16b v4, { v4 }, v2 + WORD $0x4e71b884 // addv.8h h4, v4 + WORD $0x1e260091 // fmov w17, s4 + WORD $0x33103e30 // bfi w16, w17, #16, #16 + WORD $0x7100021f // cmp w16, #0 + WORD $0xfa4009a0 // ccmp x13, #0, #0, eq + WORD $0x540001a0 // b.eq LBB0_79 $52(%rip) + WORD $0x0a2d0211 // bic w17, w16, w13 + WORD $0x2a1105a0 // orr w0, w13, w17, lsl #1 + WORD $0x0a20020d // bic w13, w16, w0 + WORD $0x1201f1ad // and w13, w13, #0xaaaaaaaa + WORD $0x2b1101b0 // adds w16, w13, w17 + WORD $0x1a9f37ed // cset w13, hs + WORD $0x531f7a10 // lsl w16, w16, #1 + WORD $0x5200f210 // eor w16, w16, #0x55555555 + WORD $0x0a000210 // and w16, w16, w0 + WORD $0x2a3003f0 // mvn w16, w16 + WORD $0x8a0f020f // and x15, x16, x15 + WORD $0x14000002 // b LBB0_80 $8(%rip) +LBB0_79: + WORD $0xd280000d // mov x13, #0 +LBB0_80: + WORD $0xb50024af // cbnz x15, LBB0_111 $1172(%rip) + WORD $0x9100814a // add x10, x10, #32 + WORD $0xd10081ce // sub x14, x14, #32 + WORD $0x8b0e016f // add x15, x11, x14 + WORD $0xf100fdff // cmp x15, #63 + WORD $0x54fffa4c // b.gt LBB0_77 $-184(%rip) + WORD $0xb50026ed // cbnz x13, LBB0_118 $1244(%rip) + WORD $0x8b08012c // add x12, x9, x8 + WORD $0x8b0a018c // add x12, x12, x10 + WORD $0x9100058c // add x12, x12, #1 + WORD $0xaa2a03ea // mvn x10, x10 + WORD $0x8b0b014a // add x10, x10, x11 + WORD $0x92800000 // mov x0, #-1 + WORD $0xf100055f // cmp x10, #1 + WORD $0x5400280a // b.ge LBB0_121 $1280(%rip) + WORD $0x14000126 // b LBB0_117 $1176(%rip) +LBB0_84: + WORD $0xd2800007 // mov x7, #0 + WORD $0xd280000f // mov x15, #0 + WORD $0xd280000a // mov x10, #0 + WORD $0xd280000b // mov x11, #0 + WORD $0xb201e3ec // mov x12, #-8608480567731124088 + WORD $0xf2e1110c // movk x12, #2184, lsl #48 + WORD $0xb202e3ed // mov x13, #4919131752989213764 + WORD $0xf2e0888d // movk x13, #1092, lsl #48 + WORD $0xb203e3ee // mov x14, #2459565876494606882 + WORD $0xf2e0444e // movk x14, #546, lsl #48 + WORD $0xf9400411 // ldr x17, [x0, #8] + WORD $0xcb100225 // sub x5, x17, x16 + WORD $0x8b100130 // add x16, x9, x16 + WORD $0x910043e9 // add x9, sp, #16 + WORD $0x91008129 // add x9, x9, #32 + WORD $0x4f01e440 // movi.16b v0, #34 +Lloh12: + WORD $0x10ffbf71 // adr x17, lCPI0_0 $-2068(%rip) +Lloh13: + WORD $0x3dc00221 // ldr q1, [x17, lCPI0_0@PAGEOFF] $0(%rip) +Lloh14: + WORD $0x10ffbfb1 // adr x17, lCPI0_1 $-2060(%rip) +Lloh15: + WORD $0x3dc00222 // ldr q2, [x17, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x4f02e783 // movi.16b v3, #92 + WORD $0xb200e3f1 // mov x17, #1229782938247303441 + WORD $0xb203e3e2 // mov x2, #2459565876494606882 + WORD $0xb202e3e3 // mov x3, #4919131752989213764 + WORD $0xb201e3e4 // mov x4, #-8608480567731124088 + WORD $0x4f02e764 // movi.16b v4, #91 + WORD $0x4f02e7a5 // movi.16b v5, #93 + WORD $0x6f00e406 // movi.2d v6, #0000000000000000 + WORD $0x14000009 // b LBB0_86 $36(%rip) +LBB0_85: + WORD $0x937ffce7 // asr x7, x7, #63 + WORD $0x9e670267 // fmov d7, x19 + WORD $0x0e2058e7 // cnt.8b v7, v7 + WORD $0x2e3038e7 // uaddlv.8b h7, v7 + WORD $0x1e2600e5 // fmov w5, s7 + WORD $0x8b0a00aa // add x10, x5, x10 + WORD $0x91010210 // add x16, x16, #64 + WORD $0xaa0603e5 // mov x5, x6 +LBB0_86: + WORD $0xf10100a6 // subs x6, x5, #64 + WORD $0x540015cb // b.lt LBB0_93 $696(%rip) +LBB0_87: + WORD $0xad404612 // ldp q18, q17, [x16] + WORD $0xad411e10 // ldp q16, q7, [x16, #32] + WORD $0x6e238e53 // cmeq.16b v19, v18, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260273 // fmov w19, s19 + WORD $0x6e238e33 // cmeq.16b v19, v17, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x6e238e13 // cmeq.16b v19, v16, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x6e238cf3 // cmeq.16b v19, v7, v3 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa130293 // orr x19, x20, x19 + WORD $0xaa0f0274 // orr x20, x19, x15 + WORD $0xb5000094 // cbnz x20, LBB0_89 $16(%rip) + WORD $0xd280000f // mov x15, #0 + WORD $0xd2800013 // mov x19, #0 + WORD $0x1400000a // b LBB0_90 $40(%rip) +LBB0_89: + WORD $0x8a2f0274 // bic x20, x19, x15 + WORD $0xaa1405f5 // orr x21, x15, x20, lsl #1 + WORD $0x8a35026f // bic x15, x19, x21 + WORD $0x9201f1ef // and x15, x15, #0xaaaaaaaaaaaaaaaa + WORD $0xab1401f3 // adds x19, x15, x20 + WORD $0x1a9f37ef // cset w15, hs + WORD $0xd37ffa73 // lsl x19, x19, #1 + WORD $0xd200f273 // eor x19, x19, #0x5555555555555555 + WORD $0x8a150273 // and x19, x19, x21 +LBB0_90: + WORD $0x6e208e53 // cmeq.16b v19, v18, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x6e208e33 // cmeq.16b v19, v17, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x6e208e13 // cmeq.16b v19, v16, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0x6e208cf3 // cmeq.16b v19, v7, v0 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260277 // fmov w23, s19 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0x8a330293 // bic x19, x20, x19 + WORD $0x9200e274 // and x20, x19, #0x1111111111111111 + WORD $0x9203e275 // and x21, x19, #0x2222222222222222 + WORD $0x9202e276 // and x22, x19, #0x4444444444444444 + WORD $0x9201e273 // and x19, x19, #0x8888888888888888 + WORD $0x9b117e97 // mul x23, x20, x17 + WORD $0x9b0c7eb8 // mul x24, x21, x12 + WORD $0xca1802f7 // eor x23, x23, x24 + WORD $0x9b0d7ed8 // mul x24, x22, x13 + WORD $0x9b0e7e79 // mul x25, x19, x14 + WORD $0xca190318 // eor x24, x24, x25 + WORD $0xca1802f7 // eor x23, x23, x24 + WORD $0x9b027e98 // mul x24, x20, x2 + WORD $0x9b117eb9 // mul x25, x21, x17 + WORD $0xca190318 // eor x24, x24, x25 + WORD $0x9b0c7ed9 // mul x25, x22, x12 + WORD $0x9b0d7e7a // mul x26, x19, x13 + WORD $0xca1a0339 // eor x25, x25, x26 + WORD $0xca190318 // eor x24, x24, x25 + WORD $0x9b037e99 // mul x25, x20, x3 + WORD $0x9b027eba // mul x26, x21, x2 + WORD $0xca1a0339 // eor x25, x25, x26 + WORD $0x9b117eda // mul x26, x22, x17 + WORD $0x9b0c7e7b // mul x27, x19, x12 + WORD $0xca1b035a // eor x26, x26, x27 + WORD $0xca1a0339 // eor x25, x25, x26 + WORD $0x9b047e94 // mul x20, x20, x4 + WORD $0x9b037eb5 // mul x21, x21, x3 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0x9b027ed5 // mul x21, x22, x2 + WORD $0x9b117e73 // mul x19, x19, x17 + WORD $0xca1302b3 // eor x19, x21, x19 + WORD $0xca130293 // eor x19, x20, x19 + WORD $0x9200e2f4 // and x20, x23, #0x1111111111111111 + WORD $0x9203e315 // and x21, x24, #0x2222222222222222 + WORD $0x9202e336 // and x22, x25, #0x4444444444444444 + WORD $0x9201e273 // and x19, x19, #0x8888888888888888 + WORD $0xaa150294 // orr x20, x20, x21 + WORD $0xaa1302d3 // orr x19, x22, x19 + WORD $0xaa130293 // orr x19, x20, x19 + WORD $0xca070267 // eor x7, x19, x7 + WORD $0x6e248e53 // cmeq.16b v19, v18, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260273 // fmov w19, s19 + WORD $0x6e248e33 // cmeq.16b v19, v17, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260274 // fmov w20, s19 + WORD $0x6e248e13 // cmeq.16b v19, v16, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260275 // fmov w21, s19 + WORD $0x6e248cf3 // cmeq.16b v19, v7, v4 + WORD $0x4e211e73 // and.16b v19, v19, v1 + WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 + WORD $0x4e71ba73 // addv.8h h19, v19 + WORD $0x1e260276 // fmov w22, s19 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa130293 // orr x19, x20, x19 + WORD $0x8a270273 // bic x19, x19, x7 + WORD $0x6e258e52 // cmeq.16b v18, v18, v5 + WORD $0x4e211e52 // and.16b v18, v18, v1 + WORD $0x4e020252 // tbl.16b v18, { v18 }, v2 + WORD $0x4e71ba52 // addv.8h h18, v18 + WORD $0x1e260254 // fmov w20, s18 + WORD $0x6e258e31 // cmeq.16b v17, v17, v5 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260235 // fmov w21, s17 + WORD $0x6e258e10 // cmeq.16b v16, v16, v5 + WORD $0x4e211e10 // and.16b v16, v16, v1 + WORD $0x4e020210 // tbl.16b v16, { v16 }, v2 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e260216 // fmov w22, s16 + WORD $0x6e258ce7 // cmeq.16b v7, v7, v5 + WORD $0x4e211ce7 // and.16b v7, v7, v1 + WORD $0x4e0200e7 // tbl.16b v7, { v7 }, v2 + WORD $0x4e71b8e7 // addv.8h h7, v7 + WORD $0x1e2600f7 // fmov w23, s7 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xea270294 // bics x20, x20, x7 + WORD $0x54ffeae0 // b.eq LBB0_85 $-676(%rip) +LBB0_91: + WORD $0xd1000695 // sub x21, x20, #1 + WORD $0x8a1302b6 // and x22, x21, x19 + WORD $0x9e6702c7 // fmov d7, x22 + WORD $0x0e2058e7 // cnt.8b v7, v7 + WORD $0x2e3038e7 // uaddlv.8b h7, v7 + WORD $0x1e2600f6 // fmov w22, s7 + WORD $0x8b0a02d6 // add x22, x22, x10 + WORD $0xeb0b02df // cmp x22, x11 + WORD $0x540006c9 // b.ls LBB0_109 $216(%rip) + WORD $0x9100056b // add x11, x11, #1 + WORD $0xea1402b4 // ands x20, x21, x20 + WORD $0x54fffea1 // b.ne LBB0_91 $-44(%rip) + WORD $0x17ffff4a // b LBB0_85 $-728(%rip) +LBB0_93: + WORD $0xf10000bf // cmp x5, #0 + WORD $0x540009ad // b.le LBB0_114 $308(%rip) + WORD $0xad019be6 // stp q6, q6, [sp, #48] + WORD $0xad009be6 // stp q6, q6, [sp, #16] + WORD $0x92402e13 // and x19, x16, #0xfff + WORD $0xf13f067f // cmp x19, #4033 + WORD $0x54ffe9a3 // b.lo LBB0_87 $-716(%rip) + WORD $0xf10080b4 // subs x20, x5, #32 + WORD $0x540000a3 // b.lo LBB0_97 $20(%rip) + WORD $0xacc14207 // ldp q7, q16, [x16], #32 + WORD $0xad00c3e7 // stp q7, q16, [sp, #16] + WORD $0xaa0903f3 // mov x19, x9 + WORD $0x14000003 // b LBB0_98 $12(%rip) +LBB0_97: + WORD $0x910043f3 // add x19, sp, #16 + WORD $0xaa0503f4 // mov x20, x5 +LBB0_98: + WORD $0xf1004295 // subs x21, x20, #16 + WORD $0x54000243 // b.lo LBB0_104 $72(%rip) + WORD $0x3cc10607 // ldr q7, [x16], #16 + WORD $0x3c810667 // str q7, [x19], #16 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xf10022b5 // subs x21, x21, #8 + WORD $0x540001e2 // b.hs LBB0_105 $60(%rip) +LBB0_100: + WORD $0xf1001295 // subs x21, x20, #4 + WORD $0x54000243 // b.lo LBB0_106 $72(%rip) +LBB0_101: + WORD $0xb8404614 // ldr w20, [x16], #4 + WORD $0xb8004674 // str w20, [x19], #4 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xf1000ab5 // subs x21, x21, #2 + WORD $0x540001e2 // b.hs LBB0_107 $60(%rip) +LBB0_102: + WORD $0xb4000254 // cbz x20, LBB0_108 $72(%rip) +LBB0_103: + WORD $0x39400210 // ldrb w16, [x16] + WORD $0x39000270 // strb w16, [x19] + WORD $0x910043f0 // add x16, sp, #16 + WORD $0x17ffff32 // b LBB0_87 $-824(%rip) +LBB0_104: + WORD $0xf1002295 // subs x21, x20, #8 + WORD $0x54fffe63 // b.lo LBB0_100 $-52(%rip) +LBB0_105: + WORD $0xf8408614 // ldr x20, [x16], #8 + WORD $0xf8008674 // str x20, [x19], #8 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xf10012b5 // subs x21, x21, #4 + WORD $0x54fffe02 // b.hs LBB0_101 $-64(%rip) +LBB0_106: + WORD $0xf1000a95 // subs x21, x20, #2 + WORD $0x54fffe63 // b.lo LBB0_102 $-52(%rip) +LBB0_107: + WORD $0x78402614 // ldrh w20, [x16], #2 + WORD $0x78002674 // strh w20, [x19], #2 + WORD $0xaa1503f4 // mov x20, x21 + WORD $0xb5fffe15 // cbnz x21, LBB0_103 $-64(%rip) +LBB0_108: + WORD $0x910043f0 // add x16, sp, #16 + WORD $0x17ffff23 // b LBB0_87 $-884(%rip) +LBB0_109: + WORD $0xf9400409 // ldr x9, [x0, #8] + WORD $0xdac0028a // rbit x10, x20 + WORD $0xdac0114a // clz x10, x10 + WORD $0xcb05014a // sub x10, x10, x5 + WORD $0x8b090149 // add x9, x10, x9 + WORD $0x9100052a // add x10, x9, #1 + WORD $0xf900002a // str x10, [x1] + WORD $0xf940040b // ldr x11, [x0, #8] + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x9a892569 // csinc x9, x11, x9, hs + WORD $0xf9000029 // str x9, [x1] + WORD $0xda9f9100 // csinv x0, x8, xzr, ls + WORD $0x14000014 // b LBB0_117 $80(%rip) +LBB0_110: + WORD $0xf9000028 // str x8, [x1] + WORD $0x92800020 // mov x0, #-2 + WORD $0x14000011 // b LBB0_117 $68(%rip) +LBB0_111: + WORD $0xdac001e9 // rbit x9, x15 + WORD $0xdac01129 // clz x9, x9 + WORD $0x8b0a010a // add x10, x8, x10 + WORD $0x8b0a0129 // add x9, x9, x10 + WORD $0x91000929 // add x9, x9, #2 + WORD $0x17fffd7a // b LBB0_37 $-2584(%rip) +LBB0_112: + WORD $0xf900002d // str x13, [x1] + WORD $0x17fffd79 // b LBB0_38 $-2588(%rip) +LBB0_113: + WORD $0x8b10012c // add x12, x9, x16 + WORD $0x92800000 // mov x0, #-1 + WORD $0xf100055f // cmp x10, #1 + WORD $0x540003ca // b.ge LBB0_121 $120(%rip) + WORD $0x14000004 // b LBB0_117 $16(%rip) +LBB0_114: + WORD $0xf9400408 // ldr x8, [x0, #8] +LBB0_115: + WORD $0xf9000028 // str x8, [x1] +LBB0_116: + WORD $0x92800000 // mov x0, #-1 +LBB0_117: + WORD $0xa94afbfd // ldp fp, lr, [sp, #168] + WORD $0xa949cff4 // ldp x20, x19, [sp, #152] + WORD $0xa948d7f6 // ldp x22, x21, [sp, #136] + WORD $0xa947dff8 // ldp x24, x23, [sp, #120] + WORD $0xa946e7fa // ldp x26, x25, [sp, #104] + WORD $0xa945effc // ldp x28, x27, [sp, #88] + WORD $0x910303ff // add sp, sp, #192 + WORD $0xd65f03c0 // ret +LBB0_118: + WORD $0xd100056c // sub x12, x11, #1 + WORD $0xeb0a019f // cmp x12, x10 + WORD $0x54fffea0 // b.eq LBB0_116 $-44(%rip) + WORD $0x8b08012c // add x12, x9, x8 + WORD $0x8b0a018c // add x12, x12, x10 + WORD $0x9100098c // add x12, x12, #2 + WORD $0xcb0a016a // sub x10, x11, x10 + WORD $0xd100094a // sub x10, x10, #2 + WORD $0x92800000 // mov x0, #-1 + WORD $0xf100055f // cmp x10, #1 + WORD $0x540000ea // b.ge LBB0_121 $28(%rip) + WORD $0x17ffffed // b LBB0_117 $-76(%rip) +LBB0_120: + WORD $0x9280002b // mov x11, #-2 + WORD $0x5280004d // mov w13, #2 + WORD $0x8b0d018c // add x12, x12, x13 + WORD $0xab0b014a // adds x10, x10, x11 + WORD $0x54fffd0d // b.le LBB0_117 $-96(%rip) +LBB0_121: + WORD $0x3940018b // ldrb w11, [x12] + WORD $0x7101717f // cmp w11, #92 + WORD $0x54ffff20 // b.eq LBB0_120 $-28(%rip) + WORD $0x7100897f // cmp w11, #34 + WORD $0x540000e0 // b.eq LBB0_124 $28(%rip) + WORD $0x9280000b // mov x11, #-1 + WORD $0x5280002d // mov w13, #1 + WORD $0x8b0d018c // add x12, x12, x13 + WORD $0xab0b014a // adds x10, x10, x11 + WORD $0x54fffeec // b.gt LBB0_121 $-36(%rip) + WORD $0x17ffffdd // b LBB0_117 $-140(%rip) +LBB0_124: + WORD $0xcb090189 // sub x9, x12, x9 + WORD $0x91000529 // add x9, x9, #1 + WORD $0x17fffd49 // b LBB0_37 $-2780(%rip) + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + +TEXT ·__skip_one_fast(SB), NOSPLIT, $0-24 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $256, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_skip_one_fast: + MOVD s+0(FP), R0 + MOVD p+8(FP), R1 + MOVD ·_subr__skip_one_fast(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+16(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_subr_arm64.go new file mode 100644 index 0000000..4801fa1 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_fast_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __skip_one_fast_entry__() uintptr + +var ( + _subr__skip_one_fast uintptr = __skip_one_fast_entry__() + 32 +) + +const ( + _stack__skip_one_fast = 192 +) + +var ( + _ = _subr__skip_one_fast +) + +const ( + _ = _stack__skip_one_fast +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_subr_arm64.go new file mode 100644 index 0000000..01b2756 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/skip_one_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __skip_one_entry__() uintptr + +var ( + _subr__skip_one uintptr = __skip_one_entry__() + 48 +) + +const ( + _stack__skip_one = 112 +) + +var ( + _ = _subr__skip_one +) + +const ( + _ = _stack__skip_one +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_arm64.go new file mode 100644 index 0000000..a3dcad8 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_arm64.go @@ -0,0 +1,31 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +//go:nosplit +func u64toa(out *byte, val uint64) (ret int) { + return __u64toa(out, val) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __u64toa(out *byte, val uint64) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_arm64.s new file mode 100644 index 0000000..9acf449 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_arm64.s @@ -0,0 +1,598 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__u64toa_entry__(SB), NOSPLIT, $16 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 3, 0x00 +lCPI0_0: + WORD $0x147b20c5 + WORD $0x80003334 + // // .word 8389 +// .word 5243 +// .word 13108 +// .word 32768 + +lCPI0_1: + WORD $0x08000080 + WORD $0x80002000 + // // .word 128 +// .word 2048 +// .word 8192 +// .word 32768 + +lCPI0_2: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_3: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_u64toa: + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xd344fc28 // lsr x8, x1, #4 + WORD $0xf109c11f // cmp x8, #624 + WORD $0x540005e8 // b.hi LBB0_9 $188(%rip) + WORD $0x53023c28 // ubfx w8, w1, #2, #14 + WORD $0x52828f69 // mov w9, #5243 + WORD $0x1b097d08 // mul w8, w8, w9 + WORD $0x53117d08 // lsr w8, w8, #17 + WORD $0xd37f7d09 // ubfiz x9, x8, #1, #32 + WORD $0x52800c8a // mov w10, #100 + WORD $0x1b0a8508 // msub w8, w8, w10, w1 + WORD $0x92403d08 // and x8, x8, #0xffff + WORD $0xd37ff908 // lsl x8, x8, #1 + WORD $0x710fa03f // cmp w1, #1000 + WORD $0x540000e3 // b.lo LBB0_3 $28(%rip) +Lloh0: + WORD $0x10002aaa // adr x10, _Digits $1364(%rip) +Lloh1: + WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) + WORD $0x3869694a // ldrb w10, [x10, x9] + WORD $0x3900000a // strb w10, [x0] + WORD $0x5280002a // mov w10, #1 + WORD $0x14000004 // b LBB0_5 $16(%rip) +LBB0_3: + WORD $0x7101903f // cmp w1, #100 + WORD $0x540002e3 // b.lo LBB0_8 $92(%rip) + WORD $0x5280000a // mov w10, #0 +LBB0_5: +Lloh2: + WORD $0x1000298b // adr x11, _Digits $1328(%rip) +Lloh3: + WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) + WORD $0x8b294169 // add x9, x11, w9, uxtw + WORD $0x3940052b // ldrb w11, [x9, #1] + WORD $0x11000549 // add w9, w10, #1 + WORD $0x382a480b // strb w11, [x0, w10, uxtw] +LBB0_6: +Lloh4: + WORD $0x100028ca // adr x10, _Digits $1304(%rip) +Lloh5: + WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) + WORD $0x3868694b // ldrb w11, [x10, x8] + WORD $0x1100052a // add w10, w9, #1 + WORD $0x3829480b // strb w11, [x0, w9, uxtw] +LBB0_7: +Lloh6: + WORD $0x10002829 // adr x9, _Digits $1284(%rip) +Lloh7: + WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) + WORD $0x8b282128 // add x8, x9, w8, uxth + WORD $0x39400509 // ldrb w9, [x8, #1] + WORD $0x11000548 // add w8, w10, #1 + WORD $0x382a4809 // strb w9, [x0, w10, uxtw] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_8: + WORD $0x52800009 // mov w9, #0 + WORD $0x5280000a // mov w10, #0 + WORD $0x7100283f // cmp w1, #10 + WORD $0x54fffdc2 // b.hs LBB0_6 $-72(%rip) + WORD $0x17fffff2 // b LBB0_7 $-56(%rip) +LBB0_9: + WORD $0x529c2008 // mov w8, #57600 + WORD $0x72a0bea8 // movk w8, #1525, lsl #16 + WORD $0xeb08003f // cmp x1, x8 + WORD $0x54000a02 // b.hs LBB0_18 $320(%rip) + WORD $0x5282eb28 // mov w8, #5977 + WORD $0x72ba36e8 // movk w8, #53687, lsl #16 + WORD $0x92407c29 // and x9, x1, #0xffffffff + WORD $0x9ba87d28 // umull x8, w9, w8 + WORD $0xd36dfd08 // lsr x8, x8, #45 + WORD $0x529bd06a // mov w10, #56963 + WORD $0x72a8636a // movk w10, #17179, lsl #16 + WORD $0x9baa7d29 // umull x9, w9, w10 + WORD $0xd371fd29 // lsr x9, x9, #49 + WORD $0x927f312a // and x10, x9, #0x3ffe + WORD $0x53023d09 // ubfx w9, w8, #2, #14 + WORD $0x52828f6b // mov w11, #5243 + WORD $0x1b0b7d29 // mul w9, w9, w11 + WORD $0x53117d29 // lsr w9, w9, #17 + WORD $0x52800c8b // mov w11, #100 + WORD $0x1b0ba129 // msub w9, w9, w11, w8 + WORD $0x92403d29 // and x9, x9, #0xffff + WORD $0xd37ff929 // lsl x9, x9, #1 + WORD $0x5292d00b // mov w11, #38528 + WORD $0x72a0130b // movk w11, #152, lsl #16 + WORD $0x6b0b003f // cmp w1, w11 + WORD $0x540000e3 // b.lo LBB0_12 $28(%rip) +Lloh8: + WORD $0x1000230b // adr x11, _Digits $1120(%rip) +Lloh9: + WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) + WORD $0x386a696b // ldrb w11, [x11, x10] + WORD $0x3900000b // strb w11, [x0] + WORD $0x5280002c // mov w12, #1 + WORD $0x14000006 // b LBB0_14 $24(%rip) +LBB0_12: + WORD $0x5288480b // mov w11, #16960 + WORD $0x72a001eb // movk w11, #15, lsl #16 + WORD $0x6b0b003f // cmp w1, w11 + WORD $0x54000543 // b.lo LBB0_17 $168(%rip) + WORD $0x5280000c // mov w12, #0 +LBB0_14: +Lloh10: + WORD $0x100021ab // adr x11, _Digits $1076(%rip) +Lloh11: + WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) + WORD $0x8b2a416a // add x10, x11, w10, uxtw + WORD $0x3940054a // ldrb w10, [x10, #1] + WORD $0x1100058b // add w11, w12, #1 + WORD $0x382c480a // strb w10, [x0, w12, uxtw] +LBB0_15: +Lloh12: + WORD $0x100020ea // adr x10, _Digits $1052(%rip) +Lloh13: + WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) + WORD $0x3869694c // ldrb w12, [x10, x9] + WORD $0x1100056a // add w10, w11, #1 + WORD $0x382b480c // strb w12, [x0, w11, uxtw] +LBB0_16: + WORD $0x5284e20b // mov w11, #10000 + WORD $0x1b0b8508 // msub w8, w8, w11, w1 + WORD $0x53023d0b // ubfx w11, w8, #2, #14 + WORD $0x52828f6c // mov w12, #5243 + WORD $0x1b0c7d6b // mul w11, w11, w12 + WORD $0x53117d6b // lsr w11, w11, #17 + WORD $0x52800c8c // mov w12, #100 + WORD $0x1b0ca168 // msub w8, w11, w12, w8 + WORD $0x92403d08 // and x8, x8, #0xffff + WORD $0xd37ff908 // lsl x8, x8, #1 +Lloh14: + WORD $0x10001f0c // adr x12, _Digits $992(%rip) +Lloh15: + WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) + WORD $0x8b292189 // add x9, x12, w9, uxth + WORD $0x39400529 // ldrb w9, [x9, #1] + WORD $0x8b2a400d // add x13, x0, w10, uxtw + WORD $0x390001a9 // strb w9, [x13] + WORD $0x786b5989 // ldrh w9, [x12, w11, uxtw #1] + WORD $0x780011a9 // sturh w9, [x13, #1] + WORD $0x38686989 // ldrb w9, [x12, x8] + WORD $0x39000da9 // strb w9, [x13, #3] + WORD $0x927f3908 // and x8, x8, #0xfffe + WORD $0x8b080188 // add x8, x12, x8 + WORD $0x39400509 // ldrb w9, [x8, #1] + WORD $0x11001548 // add w8, w10, #5 + WORD $0x390011a9 // strb w9, [x13, #4] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_17: + WORD $0x5280000b // mov w11, #0 + WORD $0x5280000a // mov w10, #0 + WORD $0x53057c2c // lsr w12, w1, #5 + WORD $0x7130d59f // cmp w12, #3125 + WORD $0x54fffb42 // b.hs LBB0_15 $-152(%rip) + WORD $0x17ffffde // b LBB0_16 $-136(%rip) +LBB0_18: + WORD $0xd2adf82a // mov x10, #1874919424 + WORD $0xf2d0de4a // movk x10, #34546, lsl #32 + WORD $0xf2e0046a // movk x10, #35, lsl #48 + WORD $0xeb0a003f // cmp x1, x10 + WORD $0x54000bc2 // b.hs LBB0_20 $376(%rip) + WORD $0xd299dfa9 // mov x9, #52989 + WORD $0xf2b08c29 // movk x9, #33889, lsl #16 + WORD $0xf2cee229 // movk x9, #30481, lsl #32 + WORD $0xf2f57989 // movk x9, #43980, lsl #48 + WORD $0x9bc97c29 // umulh x9, x1, x9 + WORD $0xd35afd29 // lsr x9, x9, #26 + WORD $0x1b088528 // msub w8, w9, w8, w1 + WORD $0x6f00e400 // movi.2d v0, #0000000000000000 + WORD $0x6f00e401 // movi.2d v1, #0000000000000000 + WORD $0x4e041d21 // mov.s v1[0], w9 + WORD $0x0ea12822 // xtn.2s v2, v1 + WORD $0x5282eb29 // mov w9, #5977 + WORD $0x72ba36e9 // movk w9, #53687, lsl #16 + WORD $0x0e040d23 // dup.2s v3, w9 + WORD $0x2ea3c042 // umull.2d v2, v2, v3 + WORD $0x6f530442 // ushr.2d v2, v2, #45 + WORD $0x0ea12844 // xtn.2s v4, v2 + WORD $0x5284e209 // mov w9, #10000 + WORD $0x0e040d25 // dup.2s v5, w9 + WORD $0x2ea5c084 // umull.2d v4, v4, v5 + WORD $0x6ea48421 // sub.4s v1, v1, v4 + WORD $0x4e413841 // zip1.8h v1, v2, v1 + WORD $0x4f425421 // shl.2d v1, v1, #2 + WORD $0x4e413821 // zip1.8h v1, v1, v1 + WORD $0x4e813821 // zip1.4s v1, v1, v1 +Lloh16: + WORD $0x10ffe9c9 // adr x9, lCPI0_0 $-712(%rip) +Lloh17: + WORD $0xfd400122 // ldr d2, [x9, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x2e62c024 // umull.4s v4, v1, v2 + WORD $0x6e014021 // ext.16b v1, v1, v1, #8 + WORD $0x2e62c021 // umull.4s v1, v1, v2 + WORD $0x4e415881 // uzp2.8h v1, v4, v1 +Lloh18: + WORD $0x10ffe949 // adr x9, lCPI0_1 $-728(%rip) +Lloh19: + WORD $0xfd400124 // ldr d4, [x9, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x2e64c026 // umull.4s v6, v1, v4 + WORD $0x6e014021 // ext.16b v1, v1, v1, #8 + WORD $0x2e64c021 // umull.4s v1, v1, v4 + WORD $0x4e4158c1 // uzp2.8h v1, v6, v1 + WORD $0x4f008546 // movi.8h v6, #10 + WORD $0x4e669c27 // mul.8h v7, v1, v6 + WORD $0x4f5054e7 // shl.2d v7, v7, #16 + WORD $0x6e678421 // sub.8h v1, v1, v7 + WORD $0x4e041d00 // mov.s v0[0], w8 + WORD $0x0ea12807 // xtn.2s v7, v0 + WORD $0x2ea3c0e3 // umull.2d v3, v7, v3 + WORD $0x6f530463 // ushr.2d v3, v3, #45 + WORD $0x0ea12867 // xtn.2s v7, v3 + WORD $0x2ea5c0e5 // umull.2d v5, v7, v5 + WORD $0x6ea58400 // sub.4s v0, v0, v5 + WORD $0x4e403860 // zip1.8h v0, v3, v0 + WORD $0x4f425400 // shl.2d v0, v0, #2 + WORD $0x4e403800 // zip1.8h v0, v0, v0 + WORD $0x4e803800 // zip1.4s v0, v0, v0 + WORD $0x2e62c003 // umull.4s v3, v0, v2 + WORD $0x6e004000 // ext.16b v0, v0, v0, #8 + WORD $0x2e62c000 // umull.4s v0, v0, v2 + WORD $0x4e405860 // uzp2.8h v0, v3, v0 + WORD $0x2e64c002 // umull.4s v2, v0, v4 + WORD $0x6e004000 // ext.16b v0, v0, v0, #8 + WORD $0x2e64c000 // umull.4s v0, v0, v4 + WORD $0x4e405840 // uzp2.8h v0, v2, v0 + WORD $0x4e669c02 // mul.8h v2, v0, v6 + WORD $0x4f505442 // shl.2d v2, v2, #16 + WORD $0x6e628400 // sub.8h v0, v0, v2 + WORD $0x2e212821 // sqxtun.8b v1, v1 + WORD $0x6e212801 // sqxtun2.16b v1, v0 + WORD $0x4f01e600 // movi.16b v0, #48 + WORD $0x4e208420 // add.16b v0, v1, v0 + WORD $0x4e209821 // cmeq.16b v1, v1, #0 +Lloh20: + WORD $0x10ffe4e8 // adr x8, lCPI0_2 $-868(%rip) +Lloh21: + WORD $0x3dc00102 // ldr q2, [x8, lCPI0_2@PAGEOFF] $0(%rip) + WORD $0x4e221c21 // and.16b v1, v1, v2 +Lloh22: + WORD $0x10ffe508 // adr x8, lCPI0_3 $-864(%rip) +Lloh23: + WORD $0x3dc00102 // ldr q2, [x8, lCPI0_3@PAGEOFF] $0(%rip) + WORD $0x4e020021 // tbl.16b v1, { v1 }, v2 + WORD $0x4e71b821 // addv.8h h1, v1 + WORD $0x1e260028 // fmov w8, s1 + WORD $0x2a2803e8 // mvn w8, w8 + WORD $0x32114108 // orr w8, w8, #0xffff8000 + WORD $0x5ac00108 // rbit w8, w8 + WORD $0x5ac01108 // clz w8, w8 +Lloh24: + WORD $0x100017e9 // adr x9, _VecShiftShuffles $764(%rip) +Lloh25: + WORD $0x91000129 // add x9, x9, _VecShiftShuffles@PAGEOFF $0(%rip) + WORD $0x3ce85921 // ldr q1, [x9, w8, uxtw #4] + WORD $0x4f04e5e2 // movi.16b v2, #143 + WORD $0x4e221c21 // and.16b v1, v1, v2 + WORD $0x4e010000 // tbl.16b v0, { v0 }, v1 + WORD $0x3d800000 // str q0, [x0] + WORD $0x52800209 // mov w9, #16 + WORD $0x4b080128 // sub w8, w9, w8 + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_20: + WORD $0xd28f0ae9 // mov x9, #30807 + WORD $0xf2b62269 // movk x9, #45331, lsl #16 + WORD $0xf2cca5e9 // movk x9, #25903, lsl #32 + WORD $0xf2e734a9 // movk x9, #14757, lsl #48 + WORD $0x9bc97c29 // umulh x9, x1, x9 + WORD $0xd373fd2b // lsr x11, x9, #51 + WORD $0x7100257f // cmp w11, #9 + WORD $0x540000a8 // b.hi LBB0_22 $20(%rip) + WORD $0x1100c169 // add w9, w11, #48 + WORD $0x39000009 // strb w9, [x0] + WORD $0x52800029 // mov w9, #1 + WORD $0x14000028 // b LBB0_27 $160(%rip) +LBB0_22: + WORD $0x71018d7f // cmp w11, #99 + WORD $0x540000e8 // b.hi LBB0_24 $28(%rip) +Lloh26: + WORD $0x10000de9 // adr x9, _Digits $444(%rip) +Lloh27: + WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) + WORD $0x786b5929 // ldrh w9, [x9, w11, uxtw #1] + WORD $0x79000009 // strh w9, [x0] + WORD $0x52800049 // mov w9, #2 + WORD $0x14000020 // b LBB0_27 $128(%rip) +LBB0_24: + WORD $0x5280a3e9 // mov w9, #1311 + WORD $0x1b097d69 // mul w9, w11, w9 + WORD $0x53117d29 // lsr w9, w9, #17 + WORD $0x710f9d7f // cmp w11, #999 + WORD $0x54000188 // b.hi LBB0_26 $48(%rip) + WORD $0x1100c12c // add w12, w9, #48 + WORD $0x3900000c // strb w12, [x0] + WORD $0x52800c8c // mov w12, #100 + WORD $0x1b0cad29 // msub w9, w9, w12, w11 + WORD $0x92403d29 // and x9, x9, #0xffff +Lloh28: + WORD $0x10000bec // adr x12, _Digits $380(%rip) +Lloh29: + WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) + WORD $0x78697989 // ldrh w9, [x12, x9, lsl #1] + WORD $0x78001009 // sturh w9, [x0, #1] + WORD $0x52800069 // mov w9, #3 + WORD $0x14000010 // b LBB0_27 $64(%rip) +LBB0_26: +Lloh30: + WORD $0x10000b2c // adr x12, _Digits $356(%rip) +Lloh31: + WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) + WORD $0x7869598d // ldrh w13, [x12, w9, uxtw #1] + WORD $0x7900000d // strh w13, [x0] + WORD $0x52800c8d // mov w13, #100 + WORD $0x1b0dad29 // msub w9, w9, w13, w11 + WORD $0x92403d29 // and x9, x9, #0xffff + WORD $0xd37ff929 // lsl x9, x9, #1 + WORD $0x3869698d // ldrb w13, [x12, x9] + WORD $0x3900080d // strb w13, [x0, #2] + WORD $0x927f3929 // and x9, x9, #0xfffe + WORD $0x8b090189 // add x9, x12, x9 + WORD $0x39400529 // ldrb w9, [x9, #1] + WORD $0x39000c09 // strb w9, [x0, #3] + WORD $0x52800089 // mov w9, #4 +LBB0_27: + WORD $0x9b0a856a // msub x10, x11, x10, x1 + WORD $0xd299dfab // mov x11, #52989 + WORD $0xf2b08c2b // movk x11, #33889, lsl #16 + WORD $0xf2cee22b // movk x11, #30481, lsl #32 + WORD $0xf2f5798b // movk x11, #43980, lsl #48 + WORD $0x9bcb7d4b // umulh x11, x10, x11 + WORD $0xd35afd6b // lsr x11, x11, #26 + WORD $0x6f00e400 // movi.2d v0, #0000000000000000 + WORD $0x6f00e401 // movi.2d v1, #0000000000000000 + WORD $0x4e041d61 // mov.s v1[0], w11 + WORD $0x5282eb2c // mov w12, #5977 + WORD $0x72ba36ec // movk w12, #53687, lsl #16 + WORD $0x0e040d82 // dup.2s v2, w12 + WORD $0x0ea12823 // xtn.2s v3, v1 + WORD $0x2ea2c063 // umull.2d v3, v3, v2 + WORD $0x6f530463 // ushr.2d v3, v3, #45 + WORD $0x5284e20c // mov w12, #10000 + WORD $0x0e040d84 // dup.2s v4, w12 + WORD $0x0ea12865 // xtn.2s v5, v3 + WORD $0x2ea4c0a5 // umull.2d v5, v5, v4 + WORD $0x6ea58421 // sub.4s v1, v1, v5 + WORD $0x4e413861 // zip1.8h v1, v3, v1 + WORD $0x4f425421 // shl.2d v1, v1, #2 + WORD $0x4e413821 // zip1.8h v1, v1, v1 + WORD $0x4e813821 // zip1.4s v1, v1, v1 +Lloh32: + WORD $0x10ffd7cc // adr x12, lCPI0_0 $-1288(%rip) +Lloh33: + WORD $0xfd400183 // ldr d3, [x12, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x2e63c025 // umull.4s v5, v1, v3 + WORD $0x6e014021 // ext.16b v1, v1, v1, #8 + WORD $0x2e63c021 // umull.4s v1, v1, v3 + WORD $0x4e4158a1 // uzp2.8h v1, v5, v1 +Lloh34: + WORD $0x10ffd74c // adr x12, lCPI0_1 $-1304(%rip) +Lloh35: + WORD $0xfd400185 // ldr d5, [x12, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x2e65c026 // umull.4s v6, v1, v5 + WORD $0x6e014021 // ext.16b v1, v1, v1, #8 + WORD $0x2e65c021 // umull.4s v1, v1, v5 + WORD $0x4e4158c1 // uzp2.8h v1, v6, v1 + WORD $0x4f008546 // movi.8h v6, #10 + WORD $0x4e669c27 // mul.8h v7, v1, v6 + WORD $0x4f5054e7 // shl.2d v7, v7, #16 + WORD $0x6e678421 // sub.8h v1, v1, v7 + WORD $0x1b08a968 // msub w8, w11, w8, w10 + WORD $0x4e041d00 // mov.s v0[0], w8 + WORD $0x0ea12807 // xtn.2s v7, v0 + WORD $0x2ea2c0e2 // umull.2d v2, v7, v2 + WORD $0x6f530442 // ushr.2d v2, v2, #45 + WORD $0x0ea12847 // xtn.2s v7, v2 + WORD $0x2ea4c0e4 // umull.2d v4, v7, v4 + WORD $0x6ea48400 // sub.4s v0, v0, v4 + WORD $0x4e403840 // zip1.8h v0, v2, v0 + WORD $0x4f425400 // shl.2d v0, v0, #2 + WORD $0x4e403800 // zip1.8h v0, v0, v0 + WORD $0x4e803800 // zip1.4s v0, v0, v0 + WORD $0x2e63c002 // umull.4s v2, v0, v3 + WORD $0x6e004000 // ext.16b v0, v0, v0, #8 + WORD $0x2e63c000 // umull.4s v0, v0, v3 + WORD $0x4e405840 // uzp2.8h v0, v2, v0 + WORD $0x2e65c002 // umull.4s v2, v0, v5 + WORD $0x6e004000 // ext.16b v0, v0, v0, #8 + WORD $0x2e65c000 // umull.4s v0, v0, v5 + WORD $0x4e405840 // uzp2.8h v0, v2, v0 + WORD $0x4e669c02 // mul.8h v2, v0, v6 + WORD $0x4f505442 // shl.2d v2, v2, #16 + WORD $0x6e628400 // sub.8h v0, v0, v2 + WORD $0x2e212821 // sqxtun.8b v1, v1 + WORD $0x6e212801 // sqxtun2.16b v1, v0 + WORD $0x4f01e600 // movi.16b v0, #48 + WORD $0x4e208420 // add.16b v0, v1, v0 + WORD $0x3ca94800 // str q0, [x0, w9, uxtw] + WORD $0x321c0128 // orr w8, w9, #0x10 + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +_Digits: + WORD $0x31303030 // .ascii 4, '0001020304050607' + WORD $0x33303230 // .ascii 4, '0203040506070809' + WORD $0x35303430 // .ascii 4, '0405060708091011' + WORD $0x37303630 // .ascii 4, '0607080910111213' + WORD $0x39303830 // .ascii 4, '0809101112131415' + WORD $0x31313031 // .ascii 4, '1011121314151617' + WORD $0x33313231 // .ascii 4, '1213141516171819' + WORD $0x35313431 // .ascii 4, '1415161718192021' + WORD $0x37313631 // .ascii 4, '1617181920212223' + WORD $0x39313831 // .ascii 4, '1819202122232425' + WORD $0x31323032 // .ascii 4, '2021222324252627' + WORD $0x33323232 // .ascii 4, '2223242526272829' + WORD $0x35323432 // .ascii 4, '2425262728293031' + WORD $0x37323632 // .ascii 4, '2627282930313233' + WORD $0x39323832 // .ascii 4, '2829303132333435' + WORD $0x31333033 // .ascii 4, '3031323334353637' + WORD $0x33333233 // .ascii 4, '3233343536373839' + WORD $0x35333433 // .ascii 4, '3435363738394041' + WORD $0x37333633 // .ascii 4, '3637383940414243' + WORD $0x39333833 // .ascii 4, '3839404142434445' + WORD $0x31343034 // .ascii 4, '4041424344454647' + WORD $0x33343234 // .ascii 4, '4243444546474849' + WORD $0x35343434 // .ascii 4, '4445464748495051' + WORD $0x37343634 // .ascii 4, '4647484950515253' + WORD $0x39343834 // .ascii 4, '4849505152535455' + WORD $0x31353035 // .ascii 4, '5051525354555657' + WORD $0x33353235 // .ascii 4, '5253545556575859' + WORD $0x35353435 // .ascii 4, '5455565758596061' + WORD $0x37353635 // .ascii 4, '5657585960616263' + WORD $0x39353835 // .ascii 4, '5859606162636465' + WORD $0x31363036 // .ascii 4, '6061626364656667' + WORD $0x33363236 // .ascii 4, '6263646566676869' + WORD $0x35363436 // .ascii 4, '6465666768697071' + WORD $0x37363636 // .ascii 4, '6667686970717273' + WORD $0x39363836 // .ascii 4, '6869707172737475' + WORD $0x31373037 // .ascii 4, '7071727374757677' + WORD $0x33373237 // .ascii 4, '7273747576777879' + WORD $0x35373437 // .ascii 4, '7475767778798081' + WORD $0x37373637 // .ascii 4, '7677787980818283' + WORD $0x39373837 // .ascii 4, '7879808182838485' + WORD $0x31383038 // .ascii 4, '8081828384858687' + WORD $0x33383238 // .ascii 4, '8283848586878889' + WORD $0x35383438 // .ascii 4, '8485868788899091' + WORD $0x37383638 // .ascii 4, '8687888990919293' + WORD $0x39383838 // .ascii 4, '8889909192939495' + WORD $0x31393039 // .ascii 4, '9091929394959697' + WORD $0x33393239 // .ascii 4, '9293949596979899' + WORD $0x35393439 // .ascii 4, '949596979899' + WORD $0x37393639 // .ascii 4, '96979899' + WORD $0x39393839 // .ascii 4, '9899' + WORD $0x00000000; WORD $0x00000000; WORD $0x00000000 // .p2align 4, 0x00 +_VecShiftShuffles: + WORD $0x03020100 // .ascii 4, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' + WORD $0x07060504 // .ascii 4, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x01\x02\x03\x04' + WORD $0x0b0a0908 // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\x01\x02\x03\x04\x05\x06\x07\x08' + WORD $0x0f0e0d0c // .ascii 4, '\x0c\r\x0e\x0f\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c' + WORD $0x04030201 // .ascii 4, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' + WORD $0x08070605 // .ascii 4, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\x02\x03\x04\x05' + WORD $0x0c0b0a09 // .ascii 4, '\t\n\x0b\x0c\r\x0e\x0f\xff\x02\x03\x04\x05\x06\x07\x08\t' + WORD $0xff0f0e0d // .ascii 4, '\r\x0e\x0f\xff\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r' + WORD $0x05040302 // .ascii 4, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' + WORD $0x09080706 // .ascii 4, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\x03\x04\x05\x06' + WORD $0x0d0c0b0a // .ascii 4, '\n\x0b\x0c\r\x0e\x0f\xff\xff\x03\x04\x05\x06\x07\x08\t\n' + WORD $0xffff0f0e // .ascii 4, '\x0e\x0f\xff\xff\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e' + WORD $0x06050403 // .ascii 4, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' + WORD $0x0a090807 // .ascii 4, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\x04\x05\x06\x07' + WORD $0x0e0d0c0b // .ascii 4, '\x0b\x0c\r\x0e\x0f\xff\xff\xff\x04\x05\x06\x07\x08\t\n\x0b' + WORD $0xffffff0f // .ascii 4, '\x0f\xff\xff\xff\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' + WORD $0x07060504 // .ascii 4, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' + WORD $0x0b0a0908 // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\x05\x06\x07\x08' + WORD $0x0f0e0d0c // .ascii 4, '\x0c\r\x0e\x0f\xff\xff\xff\xff\x05\x06\x07\x08\t\n\x0b\x0c' + WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' + WORD $0x08070605 // .ascii 4, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff' + WORD $0x0c0b0a09 // .ascii 4, '\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\x06\x07\x08\t' + WORD $0xff0f0e0d // .ascii 4, '\r\x0e\x0f\xff\xff\xff\xff\xff\x06\x07\x08\t\n\x0b\x0c\r' + WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' + WORD $0x09080706 // .ascii 4, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff' + WORD $0x0d0c0b0a // .ascii 4, '\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\x07\x08\t\n' + WORD $0xffff0f0e // .ascii 4, '\x0e\x0f\xff\xff\xff\xff\xff\xff\x07\x08\t\n\x0b\x0c\r\x0e' + WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' + WORD $0x0a090807 // .ascii 4, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff' + WORD $0x0e0d0c0b // .ascii 4, '\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\x08\t\n\x0b' + WORD $0xffffff0f // .ascii 4, '\x0f\xff\xff\xff\xff\xff\xff\xff\x08\t\n\x0b\x0c\r\x0e\x0f' + WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' + WORD $0x0b0a0908 // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' + WORD $0x0f0e0d0c // .ascii 4, '\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' + WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff\xff\xff\xff\xff' + WORD $0xffffffff // .ascii 4, '\xff\xff\xff\xff' + +TEXT ·__u64toa(SB), NOSPLIT, $0-24 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $96, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_u64toa: + MOVD out+0(FP), R0 + MOVD val+8(FP), R1 + MOVD ·_subr__u64toa(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+16(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_subr_arm64.go new file mode 100644 index 0000000..151794d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/u64toa_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __u64toa_entry__() uintptr + +var ( + _subr__u64toa uintptr = __u64toa_entry__() + 48 +) + +const ( + _stack__u64toa = 32 +) + +var ( + _ = _subr__u64toa +) + +const ( + _ = _stack__u64toa +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.go new file mode 100644 index 0000000..204f95e --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + `unsafe` + + // `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int) { + return __unquote(sp, nb, dp, ep, flags) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.s new file mode 100644 index 0000000..3fc5b73 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/unquote_arm64.s @@ -0,0 +1,615 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__unquote_entry__(SB), NOSPLIT, $96 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 4, 0x00 +lCPI0_0: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_1: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_unquote: + WORD $0xd101c3ff // sub sp, sp, #112 + WORD $0xa900effc // stp x28, x27, [sp, #8] + WORD $0xa901e7fa // stp x26, x25, [sp, #24] + WORD $0xa902dff8 // stp x24, x23, [sp, #40] + WORD $0xa903d7f6 // stp x22, x21, [sp, #56] + WORD $0xa904cff4 // stp x20, x19, [sp, #72] + WORD $0xa905fbfd // stp fp, lr, [sp, #88] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xb4002201 // cbz x1, LBB0_62 $1088(%rip) + WORD $0x3203cbe9 // mov w9, #-522133280 + WORD $0x5299fa0a // mov w10, #53200 + WORD $0x72b9f9ea // movk w10, #53199, lsl #16 + WORD $0x3202c7eb // mov w11, #-1061109568 + WORD $0x3201c3ec // mov w12, #-2139062144 + WORD $0x3200dbed // mov w13, #2139062143 + WORD $0x5288c8ce // mov w14, #17990 + WORD $0x72a8c8ce // movk w14, #17990, lsl #16 + WORD $0x5287272f // mov w15, #14649 + WORD $0x72a7272f // movk w15, #14649, lsl #16 + WORD $0x52832330 // mov w16, #6425 + WORD $0x72a32330 // movk w16, #6425, lsl #16 + WORD $0x3200cff1 // mov w17, #252645135 + WORD $0x3200c3e6 // mov w6, #16843009 + WORD $0x92400085 // and x5, x4, #0x1 + WORD $0x528017b3 // mov w19, #189 + WORD $0x52848014 // mov w20, #9216 + WORD $0x72bf9414 // movk w20, #64672, lsl #16 + WORD $0x4f02e780 // movi.16b v0, #92 +Lloh0: + WORD $0x10fffb68 // adr x8, lCPI0_0 $-148(%rip) +Lloh1: + WORD $0x3dc00101 // ldr q1, [x8, lCPI0_0@PAGEOFF] $0(%rip) +Lloh2: + WORD $0x10fffba8 // adr x8, lCPI0_1 $-140(%rip) +Lloh3: + WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0xaa0003e8 // mov x8, x0 + WORD $0xaa0103f5 // mov x21, x1 + WORD $0xaa0203f6 // mov x22, x2 +Lloh4: + WORD $0x10002ef7 // adr x23, __UnquoteTab $1500(%rip) +Lloh5: + WORD $0x910002f7 // add x23, x23, __UnquoteTab@PAGEOFF $0(%rip) +LBB0_2: + WORD $0x39400118 // ldrb w24, [x8] + WORD $0x7101731f // cmp w24, #92 + WORD $0x54000061 // b.ne LBB0_4 $12(%rip) + WORD $0xd2800018 // mov x24, #0 + WORD $0x1400002b // b LBB0_15 $172(%rip) +LBB0_4: + WORD $0xaa1503f9 // mov x25, x21 + WORD $0xaa1603fb // mov x27, x22 + WORD $0xaa0803fa // mov x26, x8 + WORD $0xf10042bf // cmp x21, #16 + WORD $0x540002cb // b.lt LBB0_9 $88(%rip) + WORD $0xd2800018 // mov x24, #0 + WORD $0xaa1503fa // mov x26, x21 +LBB0_6: + WORD $0x8b180119 // add x25, x8, x24 + WORD $0x8b1802db // add x27, x22, x24 + WORD $0xa9407339 // ldp x25, x28, [x25] + WORD $0x9e670323 // fmov d3, x25 + WORD $0x4e181f83 // mov.d v3[1], x28 + WORD $0xa9007379 // stp x25, x28, [x27] + WORD $0x6e208c63 // cmeq.16b v3, v3, v0 + WORD $0x4e211c63 // and.16b v3, v3, v1 + WORD $0x4e020063 // tbl.16b v3, { v3 }, v2 + WORD $0x4e71b863 // addv.8h h3, v3 + WORD $0x1e260079 // fmov w25, s3 + WORD $0x35000279 // cbnz w25, LBB0_13 $76(%rip) + WORD $0xd1004359 // sub x25, x26, #16 + WORD $0x91004318 // add x24, x24, #16 + WORD $0xf1007f5f // cmp x26, #31 + WORD $0xaa1903fa // mov x26, x25 + WORD $0x54fffe08 // b.hi LBB0_6 $-64(%rip) + WORD $0x8b18011a // add x26, x8, x24 + WORD $0x8b1802db // add x27, x22, x24 +LBB0_9: + WORD $0xb4001ad9 // cbz x25, LBB0_63 $856(%rip) + WORD $0xcb080358 // sub x24, x26, x8 +LBB0_11: + WORD $0x3940035c // ldrb w28, [x26] + WORD $0x7101739f // cmp w28, #92 + WORD $0x54000140 // b.eq LBB0_14 $40(%rip) + WORD $0x9100075a // add x26, x26, #1 + WORD $0x3800177c // strb w28, [x27], #1 + WORD $0x91000718 // add x24, x24, #1 + WORD $0xf1000739 // subs x25, x25, #1 + WORD $0x54ffff21 // b.ne LBB0_11 $-28(%rip) + WORD $0x140000cc // b LBB0_63 $816(%rip) +LBB0_13: + WORD $0x5ac00339 // rbit w25, w25 + WORD $0x5ac01339 // clz w25, w25 + WORD $0x8b180338 // add x24, x25, x24 +LBB0_14: + WORD $0xb100071f // cmn x24, #1 + WORD $0x540018e0 // b.eq LBB0_63 $796(%rip) +LBB0_15: + WORD $0x91000b19 // add x25, x24, #2 + WORD $0xeb1902b5 // subs x21, x21, x25 + WORD $0x54002824 // b.mi LBB0_93 $1284(%rip) + WORD $0x8b190108 // add x8, x8, x25 + WORD $0xb5000145 // cbnz x5, LBB0_20 $40(%rip) + WORD $0x8b1802da // add x26, x22, x24 + WORD $0x385ff119 // ldurb w25, [x8, #-1] + WORD $0x38796af9 // ldrb w25, [x23, x25] + WORD $0x7103ff3f // cmp w25, #255 + WORD $0x540003a0 // b.eq LBB0_28 $116(%rip) +LBB0_18: + WORD $0x34001e19 // cbz w25, LBB0_74 $960(%rip) + WORD $0x38001759 // strb w25, [x26], #1 + WORD $0xaa1a03f6 // mov x22, x26 + WORD $0x14000093 // b LBB0_54 $588(%rip) +LBB0_20: + WORD $0x340026b5 // cbz w21, LBB0_93 $1236(%rip) + WORD $0x385ff119 // ldurb w25, [x8, #-1] + WORD $0x7101733f // cmp w25, #92 + WORD $0x540023a1 // b.ne LBB0_86 $1140(%rip) + WORD $0x39400119 // ldrb w25, [x8] + WORD $0x7101733f // cmp w25, #92 + WORD $0x54000161 // b.ne LBB0_27 $44(%rip) + WORD $0x710006bf // cmp w21, #1 + WORD $0x540025ad // b.le LBB0_93 $1204(%rip) + WORD $0xaa0803f9 // mov x25, x8 + WORD $0x38401f3a // ldrb w26, [x25, #1]! + WORD $0x71008b5f // cmp w26, #34 + WORD $0x54000060 // b.eq LBB0_26 $12(%rip) + WORD $0x7101735f // cmp w26, #92 + WORD $0x540022a1 // b.ne LBB0_87 $1108(%rip) +LBB0_26: + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0xaa1903e8 // mov x8, x25 +LBB0_27: + WORD $0x91000508 // add x8, x8, #1 + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0x8b1802da // add x26, x22, x24 + WORD $0x385ff119 // ldurb w25, [x8, #-1] + WORD $0x38796af9 // ldrb w25, [x23, x25] + WORD $0x7103ff3f // cmp w25, #255 + WORD $0x54fffca1 // b.ne LBB0_18 $-108(%rip) +LBB0_28: + WORD $0xf1000ebf // cmp x21, #3 + WORD $0x54002389 // b.ls LBB0_93 $1136(%rip) + WORD $0xb9400119 // ldr w25, [x8] + WORD $0x0a39019b // bic w27, w12, w25 + WORD $0x0b0a033c // add w28, w25, w10 + WORD $0x0a1c037c // and w28, w27, w28 + WORD $0x7100039f // cmp w28, #0 + WORD $0x0b10033c // add w28, w25, w16 + WORD $0x2a19039c // orr w28, w28, w25 + WORD $0x0a0c039c // and w28, w28, w12 + WORD $0x7a400b80 // ccmp w28, #0, #0, eq + WORD $0x540013e1 // b.ne LBB0_65 $636(%rip) + WORD $0x0a0d033c // and w28, w25, w13 + WORD $0x4b1c017e // sub w30, w11, w28 + WORD $0x0b0e0387 // add w7, w28, w14 + WORD $0x0a1e00e7 // and w7, w7, w30 + WORD $0x6a1b00ff // tst w7, w27 + WORD $0x54001321 // b.ne LBB0_65 $612(%rip) + WORD $0x4b1c0127 // sub w7, w9, w28 + WORD $0x0b0f039c // add w28, w28, w15 + WORD $0x0a070387 // and w7, w28, w7 + WORD $0x6a1b00ff // tst w7, w27 + WORD $0x54001281 // b.ne LBB0_65 $592(%rip) + WORD $0x5ac00b27 // rev w7, w25 + WORD $0x0a6710d9 // bic w25, w6, w7, lsr #4 + WORD $0x0b190f39 // add w25, w25, w25, lsl #3 + WORD $0x0a1100e7 // and w7, w7, w17 + WORD $0x0b070327 // add w7, w25, w7 + WORD $0x2a4710e7 // orr w7, w7, w7, lsr #4 + WORD $0x53105cf9 // ubfx w25, w7, #16, #8 + WORD $0x12001ce7 // and w7, w7, #0xff + WORD $0x2a1920f9 // orr w25, w7, w25, lsl #8 + WORD $0x91001108 // add x8, x8, #4 + WORD $0xd10012b5 // sub x21, x21, #4 + WORD $0x7102033f // cmp w25, #128 + WORD $0x54000b23 // b.lo LBB0_55 $356(%rip) + WORD $0x8b1802c7 // add x7, x22, x24 + WORD $0x910008f6 // add x22, x7, #2 +LBB0_34: + WORD $0x711fff3f // cmp w25, #2047 + WORD $0x54000b29 // b.ls LBB0_57 $356(%rip) + WORD $0x51403b27 // sub w7, w25, #14, lsl #12 + WORD $0x312004ff // cmn w7, #2049 + WORD $0x540008e9 // b.ls LBB0_53 $284(%rip) + WORD $0xb50006c5 // cbnz x5, LBB0_48 $216(%rip) + WORD $0xaa1503f8 // mov x24, x21 + WORD $0x530a7f27 // lsr w7, w25, #10 + WORD $0x7100d8ff // cmp w7, #54 + WORD $0x54000788 // b.hi LBB0_51 $240(%rip) +LBB0_38: + WORD $0xf1001b15 // subs x21, x24, #6 + WORD $0x5400074b // b.lt LBB0_51 $232(%rip) + WORD $0x39400107 // ldrb w7, [x8] + WORD $0x710170ff // cmp w7, #92 + WORD $0x540006e1 // b.ne LBB0_51 $220(%rip) + WORD $0x39400507 // ldrb w7, [x8, #1] + WORD $0x7101d4ff // cmp w7, #117 + WORD $0x54000681 // b.ne LBB0_51 $208(%rip) + WORD $0xb8402118 // ldur w24, [x8, #2] + WORD $0x0b0a0307 // add w7, w24, w10 + WORD $0x0a38019a // bic w26, w12, w24 + WORD $0x6a07035f // tst w26, w7 + WORD $0x54001421 // b.ne LBB0_77 $644(%rip) + WORD $0x0b100307 // add w7, w24, w16 + WORD $0x2a1800e7 // orr w7, w7, w24 + WORD $0x6a0c00ff // tst w7, w12 + WORD $0x540013a1 // b.ne LBB0_77 $628(%rip) + WORD $0x0a0d031b // and w27, w24, w13 + WORD $0x4b1b0167 // sub w7, w11, w27 + WORD $0x0b0e037c // add w28, w27, w14 + WORD $0x0a070387 // and w7, w28, w7 + WORD $0x6a1a00ff // tst w7, w26 + WORD $0x540012e1 // b.ne LBB0_77 $604(%rip) + WORD $0x4b1b0127 // sub w7, w9, w27 + WORD $0x0b0f037b // add w27, w27, w15 + WORD $0x0a070367 // and w7, w27, w7 + WORD $0x6a1a00ff // tst w7, w26 + WORD $0x54001241 // b.ne LBB0_77 $584(%rip) + WORD $0x5ac00b07 // rev w7, w24 + WORD $0x0a6710d8 // bic w24, w6, w7, lsr #4 + WORD $0x0b180f18 // add w24, w24, w24, lsl #3 + WORD $0x0a1100e7 // and w7, w7, w17 + WORD $0x0b070307 // add w7, w24, w7 + WORD $0x2a4710fa // orr w26, w7, w7, lsr #4 + WORD $0x53087f47 // lsr w7, w26, #8 + WORD $0x12181cf8 // and w24, w7, #0xff00 + WORD $0x91001908 // add x8, x8, #6 + WORD $0x51403b07 // sub w7, w24, #14, lsl #12 + WORD $0x33001f58 // bfxil w24, w26, #0, #8 + WORD $0x311004ff // cmn w7, #1025 + WORD $0x540005e8 // b.hi LBB0_58 $188(%rip) + WORD $0x360816a4 // tbz w4, #1, LBB0_88 $724(%rip) + WORD $0x5297fde7 // mov w7, #49135 + WORD $0x781fe2c7 // sturh w7, [x22, #-2] + WORD $0x380036d3 // strb w19, [x22], #3 + WORD $0xaa1803f9 // mov x25, x24 + WORD $0x7102031f // cmp w24, #128 + WORD $0x54fff8e2 // b.hs LBB0_34 $-228(%rip) + WORD $0x14000037 // b LBB0_59 $220(%rip) +LBB0_48: + WORD $0xf10002bf // cmp x21, #0 + WORD $0x5400168d // b.le LBB0_91 $720(%rip) + WORD $0x39400107 // ldrb w7, [x8] + WORD $0x710170ff // cmp w7, #92 + WORD $0x54000681 // b.ne LBB0_60 $208(%rip) + WORD $0xd10006b8 // sub x24, x21, #1 + WORD $0x91000508 // add x8, x8, #1 + WORD $0x530a7f27 // lsr w7, w25, #10 + WORD $0x7100d8ff // cmp w7, #54 + WORD $0x54fff8c9 // b.ls LBB0_38 $-232(%rip) +LBB0_51: + WORD $0x36081504 // tbz w4, #1, LBB0_90 $672(%rip) + WORD $0x5297fde7 // mov w7, #49135 + WORD $0x781fe2c7 // sturh w7, [x22, #-2] + WORD $0x380016d3 // strb w19, [x22], #1 + WORD $0xaa1803f5 // mov x21, x24 + WORD $0x1400000a // b LBB0_54 $40(%rip) +LBB0_53: + WORD $0x530c7f27 // lsr w7, w25, #12 + WORD $0x321b08e7 // orr w7, w7, #0xe0 + WORD $0x381fe2c7 // sturb w7, [x22, #-2] + WORD $0x52801007 // mov w7, #128 + WORD $0x33062f27 // bfxil w7, w25, #6, #6 + WORD $0x381ff2c7 // sturb w7, [x22, #-1] + WORD $0x52801007 // mov w7, #128 + WORD $0x33001727 // bfxil w7, w25, #0, #6 + WORD $0x380016c7 // strb w7, [x22], #1 +LBB0_54: + WORD $0xb5ffe635 // cbnz x21, LBB0_2 $-828(%rip) + WORD $0x14000025 // b LBB0_63 $148(%rip) +LBB0_55: + WORD $0xaa1903f8 // mov x24, x25 +LBB0_56: + WORD $0x38001758 // strb w24, [x26], #1 + WORD $0xaa1a03f6 // mov x22, x26 + WORD $0x17fffffb // b LBB0_54 $-20(%rip) +LBB0_57: + WORD $0x53067f27 // lsr w7, w25, #6 + WORD $0x321a04e7 // orr w7, w7, #0xc0 + WORD $0x381fe2c7 // sturb w7, [x22, #-2] + WORD $0x52801007 // mov w7, #128 + WORD $0x33001727 // bfxil w7, w25, #0, #6 + WORD $0x381ff2c7 // sturb w7, [x22, #-1] + WORD $0x17fffff4 // b LBB0_54 $-48(%rip) +LBB0_58: + WORD $0x0b192b07 // add w7, w24, w25, lsl #10 + WORD $0x0b1400e7 // add w7, w7, w20 + WORD $0x53127cf8 // lsr w24, w7, #18 + WORD $0x321c0f18 // orr w24, w24, #0xf0 + WORD $0x381fe2d8 // sturb w24, [x22, #-2] + WORD $0x52801018 // mov w24, #128 + WORD $0x330c44f8 // bfxil w24, w7, #12, #6 + WORD $0x381ff2d8 // sturb w24, [x22, #-1] + WORD $0x52801018 // mov w24, #128 + WORD $0x33062cf8 // bfxil w24, w7, #6, #6 + WORD $0x390002d8 // strb w24, [x22] + WORD $0x52801007 // mov w7, #128 + WORD $0x33001747 // bfxil w7, w26, #0, #6 + WORD $0x390006c7 // strb w7, [x22, #1] + WORD $0x91000ad6 // add x22, x22, #2 + WORD $0x17ffffe4 // b LBB0_54 $-112(%rip) +LBB0_59: + WORD $0xd1000ada // sub x26, x22, #2 + WORD $0x17ffffe5 // b LBB0_56 $-108(%rip) +LBB0_60: + WORD $0x36080ea4 // tbz w4, #1, LBB0_88 $468(%rip) + WORD $0x5297fde7 // mov w7, #49135 + WORD $0x781fe2c7 // sturh w7, [x22, #-2] + WORD $0x380016d3 // strb w19, [x22], #1 + WORD $0x17ffffdd // b LBB0_54 $-140(%rip) +LBB0_62: + WORD $0xd2800015 // mov x21, #0 + WORD $0xaa0203f6 // mov x22, x2 +LBB0_63: + WORD $0x8b1502c8 // add x8, x22, x21 + WORD $0xcb020100 // sub x0, x8, x2 +LBB0_64: + WORD $0xa945fbfd // ldp fp, lr, [sp, #88] + WORD $0xa944cff4 // ldp x20, x19, [sp, #72] + WORD $0xa943d7f6 // ldp x22, x21, [sp, #56] + WORD $0xa942dff8 // ldp x24, x23, [sp, #40] + WORD $0xa941e7fa // ldp x26, x25, [sp, #24] + WORD $0xa940effc // ldp x28, x27, [sp, #8] + WORD $0x9101c3ff // add sp, sp, #112 + WORD $0xd65f03c0 // ret +LBB0_65: + WORD $0xcb000109 // sub x9, x8, x0 + WORD $0xf9000069 // str x9, [x3] + WORD $0x3940010a // ldrb w10, [x8] + WORD $0x5100e94b // sub w11, w10, #58 + WORD $0x31002d7f // cmn w11, #11 + WORD $0x540000a8 // b.hi LBB0_67 $20(%rip) + WORD $0x121a794a // and w10, w10, #0xffffffdf + WORD $0x51011d4a // sub w10, w10, #71 + WORD $0x3100195f // cmn w10, #6 + WORD $0x540003e3 // b.lo LBB0_73 $124(%rip) +LBB0_67: + WORD $0x9100052a // add x10, x9, #1 + WORD $0xf900006a // str x10, [x3] + WORD $0x3940050a // ldrb w10, [x8, #1] + WORD $0x5100e94b // sub w11, w10, #58 + WORD $0x31002d7f // cmn w11, #11 + WORD $0x540000a8 // b.hi LBB0_69 $20(%rip) + WORD $0x121a794a // and w10, w10, #0xffffffdf + WORD $0x51011d4a // sub w10, w10, #71 + WORD $0x3100195f // cmn w10, #6 + WORD $0x540002a3 // b.lo LBB0_73 $84(%rip) +LBB0_69: + WORD $0x9100092a // add x10, x9, #2 + WORD $0xf900006a // str x10, [x3] + WORD $0x3940090a // ldrb w10, [x8, #2] + WORD $0x5100e94b // sub w11, w10, #58 + WORD $0x31002d7f // cmn w11, #11 + WORD $0x540000a8 // b.hi LBB0_71 $20(%rip) + WORD $0x121a794a // and w10, w10, #0xffffffdf + WORD $0x51011d4a // sub w10, w10, #71 + WORD $0x3100195f // cmn w10, #6 + WORD $0x54000163 // b.lo LBB0_73 $44(%rip) +LBB0_71: + WORD $0x91000d2a // add x10, x9, #3 + WORD $0xf900006a // str x10, [x3] + WORD $0x39400d08 // ldrb w8, [x8, #3] + WORD $0x5100e90a // sub w10, w8, #58 + WORD $0x31002d5f // cmn w10, #11 + WORD $0x54000188 // b.hi LBB0_75 $48(%rip) + WORD $0x121a7908 // and w8, w8, #0xffffffdf + WORD $0x51011d08 // sub w8, w8, #71 + WORD $0x3100191f // cmn w8, #6 + WORD $0x54000102 // b.hs LBB0_75 $32(%rip) +LBB0_73: + WORD $0x92800020 // mov x0, #-2 + WORD $0x17ffffcf // b LBB0_64 $-196(%rip) +LBB0_74: + WORD $0xaa2003e9 // mvn x9, x0 + WORD $0x8b090108 // add x8, x8, x9 + WORD $0xf9000068 // str x8, [x3] + WORD $0x92800040 // mov x0, #-3 + WORD $0x17ffffca // b LBB0_64 $-216(%rip) +LBB0_75: + WORD $0x91001128 // add x8, x9, #4 +LBB0_76: + WORD $0xf9000068 // str x8, [x3] + WORD $0x92800020 // mov x0, #-2 + WORD $0x17ffffc6 // b LBB0_64 $-232(%rip) +LBB0_77: + WORD $0xcb000109 // sub x9, x8, x0 + WORD $0x9100092a // add x10, x9, #2 + WORD $0xf900006a // str x10, [x3] + WORD $0x3940090a // ldrb w10, [x8, #2] + WORD $0x5100e94b // sub w11, w10, #58 + WORD $0x31002d7f // cmn w11, #11 + WORD $0x540000a8 // b.hi LBB0_79 $20(%rip) + WORD $0x121a794a // and w10, w10, #0xffffffdf + WORD $0x51011d4a // sub w10, w10, #71 + WORD $0x3100195f // cmn w10, #6 + WORD $0x54fffd63 // b.lo LBB0_73 $-84(%rip) +LBB0_79: + WORD $0x91000d2a // add x10, x9, #3 + WORD $0xf900006a // str x10, [x3] + WORD $0x39400d0a // ldrb w10, [x8, #3] + WORD $0x5100e94b // sub w11, w10, #58 + WORD $0x31002d7f // cmn w11, #11 + WORD $0x540000a8 // b.hi LBB0_81 $20(%rip) + WORD $0x121a794a // and w10, w10, #0xffffffdf + WORD $0x51011d4a // sub w10, w10, #71 + WORD $0x3100195f // cmn w10, #6 + WORD $0x54fffc23 // b.lo LBB0_73 $-124(%rip) +LBB0_81: + WORD $0x9100112a // add x10, x9, #4 + WORD $0xf900006a // str x10, [x3] + WORD $0x3940110a // ldrb w10, [x8, #4] + WORD $0x5100e94b // sub w11, w10, #58 + WORD $0x31002d7f // cmn w11, #11 + WORD $0x540000a8 // b.hi LBB0_83 $20(%rip) + WORD $0x121a794a // and w10, w10, #0xffffffdf + WORD $0x51011d4a // sub w10, w10, #71 + WORD $0x3100195f // cmn w10, #6 + WORD $0x54fffae3 // b.lo LBB0_73 $-164(%rip) +LBB0_83: + WORD $0x9100152a // add x10, x9, #5 + WORD $0xf900006a // str x10, [x3] + WORD $0x39401508 // ldrb w8, [x8, #5] + WORD $0x5100e90a // sub w10, w8, #58 + WORD $0x31002d5f // cmn w10, #11 + WORD $0x540000a8 // b.hi LBB0_85 $20(%rip) + WORD $0x121a7908 // and w8, w8, #0xffffffdf + WORD $0x51011d08 // sub w8, w8, #71 + WORD $0x3100191f // cmn w8, #6 + WORD $0x54fff9a3 // b.lo LBB0_73 $-204(%rip) +LBB0_85: + WORD $0x91001928 // add x8, x9, #6 + WORD $0x17ffffd3 // b LBB0_76 $-180(%rip) +LBB0_86: + WORD $0xaa2003e9 // mvn x9, x0 + WORD $0x8b090108 // add x8, x8, x9 + WORD $0x17ffffd0 // b LBB0_76 $-192(%rip) +LBB0_87: + WORD $0xcb000108 // sub x8, x8, x0 + WORD $0x91000508 // add x8, x8, #1 + WORD $0x17ffffcd // b LBB0_76 $-204(%rip) +LBB0_88: + WORD $0xcb000108 // sub x8, x8, x0 +LBB0_89: + WORD $0xd1001108 // sub x8, x8, #4 + WORD $0xf9000068 // str x8, [x3] + WORD $0x92800060 // mov x0, #-4 + WORD $0x17ffff90 // b LBB0_64 $-448(%rip) +LBB0_90: + WORD $0x8b0000a9 // add x9, x5, x0 + WORD $0xcb090108 // sub x8, x8, x9 + WORD $0x17fffffa // b LBB0_89 $-24(%rip) +LBB0_91: + WORD $0x360800e4 // tbz w4, #1, LBB0_93 $28(%rip) + WORD $0xd2800015 // mov x21, #0 + WORD $0x5297fde8 // mov w8, #49135 + WORD $0x781fe2c8 // sturh w8, [x22, #-2] + WORD $0x528017a8 // mov w8, #189 + WORD $0x380016c8 // strb w8, [x22], #1 + WORD $0x17ffff84 // b LBB0_63 $-496(%rip) +LBB0_93: + WORD $0xf9000061 // str x1, [x3] + WORD $0x92800000 // mov x0, #-1 + WORD $0x17ffff83 // b LBB0_64 $-500(%rip) +__UnquoteTab: + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00220000 // .ascii 4, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x2f000000 // .ascii 4, '\x00\x00\x00/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00\x00\x00\x08\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\\\x00\x00\x00\x00\x00\x08\x00\x00\x00\x0c\x00' + WORD $0x0000005c // .ascii 4, '\\\x00\x00\x00\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00' + WORD $0x00080000 // .ascii 4, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00' + WORD $0x000c0000 // .ascii 4, '\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\r\x00' + WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\r\x00\t\xff\x00\x00' + WORD $0x000a0000 // .ascii 4, '\x00\x00\n\x00\x00\x00\r\x00\t\xff\x00\x00' + WORD $0x000d0000 // .ascii 4, '\x00\x00\r\x00\t\xff\x00\x00' + WORD $0x0000ff09 // .ascii 4, '\t\xff\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + +TEXT ·__unquote(SB), NOSPLIT, $0-48 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $176, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_unquote: + MOVD sp+0(FP), R0 + MOVD nb+8(FP), R1 + MOVD dp+16(FP), R2 + MOVD ep+24(FP), R3 + MOVD flags+32(FP), R4 + MOVD ·_subr__unquote(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+40(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/unquote_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/unquote_subr_arm64.go new file mode 100644 index 0000000..040e15a --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/unquote_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __unquote_entry__() uintptr + +var ( + _subr__unquote uintptr = __unquote_entry__() + 32 +) + +const ( + _stack__unquote = 112 +) + +var ( + _ = _subr__unquote +) + +const ( + _ = _stack__unquote +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.go new file mode 100644 index 0000000..14a6dad --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + // `unsafe` + + `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func validate_one(s *string, p *int, m *types.StateMachine) (ret int) { + return __validate_one(s, p, m) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __validate_one(s *string, p *int, m *types.StateMachine) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.s new file mode 100644 index 0000000..fff483d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_arm64.s @@ -0,0 +1,2383 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__validate_one_entry__(SB), NOSPLIT, $96 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 4, 0x00 +lCPI0_0: + WORD $0x00000001; WORD $0x00000000 // .quad 1 + WORD $0x00000000; WORD $0x00000000 // .quad 0 +lCPI0_1: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_2: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_validate_one: + WORD $0xd101c3ff // sub sp, sp, #112 + WORD $0xa900effc // stp x28, x27, [sp, #8] + WORD $0xa901e7fa // stp x26, x25, [sp, #24] + WORD $0xa902dff8 // stp x24, x23, [sp, #40] + WORD $0xa903d7f6 // stp x22, x21, [sp, #56] + WORD $0xa904cff4 // stp x20, x19, [sp, #72] + WORD $0xa905fbfd // stp fp, lr, [sp, #88] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 +Lloh0: + WORD $0x10fffd68 // adr x8, lCPI0_0 $-84(%rip) +Lloh1: + WORD $0x3dc00100 // ldr q0, [x8, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0xaa0203ea // mov x10, x2 + WORD $0x3c808540 // str q0, [x10], #8 + WORD $0xf9400009 // ldr x9, [x0] + WORD $0xaa2903eb // mvn x11, x9 + WORD $0xf940003c // ldr x28, [x1] + WORD $0xcb0903ec // neg x12, x9 + WORD $0xd100052d // sub x13, x9, #1 + WORD $0x9280000e // mov x14, #-1 + WORD $0x5280002f // mov w15, #1 + WORD $0xd284c010 // mov x16, #9728 + WORD $0xf2c00030 // movk x16, #1, lsl #32 + WORD $0x52800073 // mov w19, #3 + WORD $0x52800084 // mov w4, #4 + WORD $0x4f01e440 // movi.16b v0, #34 + WORD $0x4f02e781 // movi.16b v1, #92 +Lloh2: + WORD $0x10fffbc8 // adr x8, lCPI0_1 $-136(%rip) +Lloh3: + WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip) +Lloh4: + WORD $0x10fffc08 // adr x8, lCPI0_2 $-128(%rip) +Lloh5: + WORD $0x3dc00103 // ldr q3, [x8, lCPI0_2@PAGEOFF] $0(%rip) + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0x4f01e404 // movi.16b v4, #32 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0x4f01e5c5 // movi.16b v5, #46 + WORD $0x4f01e566 // movi.16b v6, #43 + WORD $0x4f01e5a7 // movi.16b v7, #45 + WORD $0x4f06e610 // movi.16b v16, #208 + WORD $0x4f00e551 // movi.16b v17, #10 + WORD $0x4f06e7f2 // movi.16b v18, #223 + WORD $0x4f02e4b3 // movi.16b v19, #69 + WORD $0x52800025 // mov w5, #1 +LBB0_1: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb08039f // cmp x28, x8 + WORD $0x54000162 // b.hs LBB0_6 $44(%rip) + WORD $0x387c6931 // ldrb w17, [x9, x28] + WORD $0x7100363f // cmp w17, #13 + WORD $0x54000100 // b.eq LBB0_6 $32(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x540000c0 // b.eq LBB0_6 $24(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000062 // b.hs LBB0_6 $12(%rip) + WORD $0xaa1c03fb // mov x27, x28 + WORD $0x14000031 // b LBB0_22 $196(%rip) +LBB0_6: + WORD $0x9100079b // add x27, x28, #1 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000122 // b.hs LBB0_10 $36(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_10 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_10 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x540004c3 // b.lo LBB0_22 $152(%rip) +LBB0_10: + WORD $0x91000b9b // add x27, x28, #2 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000122 // b.hs LBB0_14 $36(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_14 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_14 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000363 // b.lo LBB0_22 $108(%rip) +LBB0_14: + WORD $0x91000f9b // add x27, x28, #3 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x54000122 // b.hs LBB0_18 $36(%rip) + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100363f // cmp w17, #13 + WORD $0x540000c0 // b.eq LBB0_18 $24(%rip) + WORD $0x7100823f // cmp w17, #32 + WORD $0x54000080 // b.eq LBB0_18 $16(%rip) + WORD $0x51002e31 // sub w17, w17, #11 + WORD $0x31000a3f // cmn w17, #2 + WORD $0x54000203 // b.lo LBB0_22 $64(%rip) +LBB0_18: + WORD $0x9100139b // add x27, x28, #4 + WORD $0xeb08037f // cmp x27, x8 + WORD $0x5400e922 // b.hs LBB0_395 $7460(%rip) +LBB0_19: + WORD $0x387b6931 // ldrb w17, [x9, x27] + WORD $0x7100823f // cmp w17, #32 + WORD $0x9ad121f1 // lsl x17, x15, x17 + WORD $0x8a100231 // and x17, x17, x16 + WORD $0xfa409a24 // ccmp x17, #0, #4, ls + WORD $0x540000a0 // b.eq LBB0_21 $20(%rip) + WORD $0x9100077b // add x27, x27, #1 + WORD $0xeb1b011f // cmp x8, x27 + WORD $0x54ffff01 // b.ne LBB0_19 $-32(%rip) + WORD $0x14000735 // b LBB0_393 $7380(%rip) +LBB0_21: + WORD $0xeb08037f // cmp x27, x8 + WORD $0x5400e662 // b.hs LBB0_393 $7372(%rip) +LBB0_22: + WORD $0x9100077c // add x28, x27, #1 + WORD $0xf900003c // str x28, [x1] + WORD $0x8b1b013e // add lr, x9, x27 + WORD $0x394003d5 // ldrb w21, [lr] + WORD $0x3400e5d5 // cbz w21, LBB0_393 $7352(%rip) + WORD $0xd10004b4 // sub x20, x5, #1 + WORD $0xf8747948 // ldr x8, [x10, x20, lsl #3] + WORD $0xb10005df // cmn x14, #1 + WORD $0x9a8e036e // csel x14, x27, x14, eq + WORD $0x71000d1f // cmp w8, #3 + WORD $0x54000c8c // b.gt LBB0_39 $400(%rip) + WORD $0x7100051f // cmp w8, #1 + WORD $0x540018c0 // b.eq LBB0_54 $792(%rip) + WORD $0x7100091f // cmp w8, #2 + WORD $0x54002c20 // b.eq LBB0_94 $1412(%rip) + WORD $0x71000d1f // cmp w8, #3 + WORD $0x540019c1 // b.ne LBB0_58 $824(%rip) + WORD $0x71008abf // cmp w21, #34 + WORD $0x5400f101 // b.ne LBB0_425 $7712(%rip) + WORD $0x3200f3e6 // mov w6, #1431655765 + WORD $0xf8347944 // str x4, [x10, x20, lsl #3] + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0114 // subs x20, x8, x28 + WORD $0x372831a3 // tbnz w3, #5, LBB0_109 $1588(%rip) + WORD $0x5400e560 // b.eq LBB0_398 $7340(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54009103 // b.lo LBB0_250 $4640(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_32: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405634 // ldp q20, q21, [x17] + WORD $0xad415e36 // ldp q22, q23, [x17, #32] + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e208efb // cmeq.16b v27, v23, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x4e221f38 // and.16b v24, v25, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x4e221f58 // and.16b v24, v26, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x4e221f78 // and.16b v24, v27, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260298 // fmov w24, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260299 // fmov w25, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e26029a // fmov w26, s20 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000111 // cbnz x17, LBB0_36 $32(%rip) + WORD $0xb5000185 // cbnz x5, LBB0_37 $48(%rip) + WORD $0xb50002c7 // cbnz x7, LBB0_38 $88(%rip) +LBB0_35: + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff8a8 // b.hi LBB0_32 $-236(%rip) + WORD $0x14000441 // b LBB0_247 $4356(%rip) +LBB0_36: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_37: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0xb4fffd87 // cbz x7, LBB0_35 $-80(%rip) +LBB0_38: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0x8b1c0231 // add x17, x17, x28 + WORD $0x140001aa // b LBB0_121 $1704(%rip) +LBB0_39: + WORD $0x7100111f // cmp w8, #4 + WORD $0x54000d00 // b.eq LBB0_56 $416(%rip) + WORD $0x7100151f // cmp w8, #5 + WORD $0x54002060 // b.eq LBB0_96 $1036(%rip) + WORD $0x7100191f // cmp w8, #6 + WORD $0x54000d61 // b.ne LBB0_58 $428(%rip) + WORD $0x71008abf // cmp w21, #34 + WORD $0x54001f81 // b.ne LBB0_95 $1008(%rip) + WORD $0x3200f3e4 // mov w4, #1431655765 + WORD $0x52800048 // mov w8, #2 + WORD $0xf8347948 // str x8, [x10, x20, lsl #3] + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0114 // subs x20, x8, x28 + WORD $0x37283923 // tbnz w3, #5, LBB0_138 $1828(%rip) + WORD $0x5400d8e0 // b.eq LBB0_398 $6940(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54009423 // b.lo LBB0_277 $4740(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_47: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405634 // ldp q20, q21, [x17] + WORD $0xad415e36 // ldp q22, q23, [x17, #32] + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e208efb // cmeq.16b v27, v23, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x4e221f38 // and.16b v24, v25, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x4e221f58 // and.16b v24, v26, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x4e221f78 // and.16b v24, v27, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260298 // fmov w24, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260299 // fmov w25, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e26029a // fmov w26, s20 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000111 // cbnz x17, LBB0_51 $32(%rip) + WORD $0xb5000185 // cbnz x5, LBB0_52 $48(%rip) + WORD $0xb50002c7 // cbnz x7, LBB0_53 $88(%rip) +LBB0_50: + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff8a8 // b.hi LBB0_47 $-236(%rip) + WORD $0x1400045e // b LBB0_275 $4472(%rip) +LBB0_51: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_52: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0xb4fffd87 // cbz x7, LBB0_50 $-80(%rip) +LBB0_53: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0x8b1c0231 // add x17, x17, x28 + WORD $0x140001e6 // b LBB0_150 $1944(%rip) +LBB0_54: + WORD $0x7100b2bf // cmp w21, #44 + WORD $0x540017e0 // b.eq LBB0_105 $764(%rip) + WORD $0x710176bf // cmp w21, #93 + WORD $0x54001420 // b.eq LBB0_97 $644(%rip) + WORD $0x140006c4 // b LBB0_425 $6928(%rip) +LBB0_56: + WORD $0x7100eabf // cmp w21, #58 + WORD $0x5400d841 // b.ne LBB0_425 $6920(%rip) + WORD $0xf834795f // str xzr, [x10, x20, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffdce5 // cbnz x5, LBB0_1 $-1124(%rip) + WORD $0x14000656 // b LBB0_394 $6488(%rip) +LBB0_58: + WORD $0xf9000054 // str x20, [x2] + WORD $0x92800028 // mov x8, #-2 + WORD $0x71016abf // cmp w21, #90 + WORD $0x540013cc // b.gt LBB0_99 $632(%rip) +LBB0_59: + WORD $0x5100c2b1 // sub w17, w21, #48 + WORD $0x71002a3f // cmp w17, #10 + WORD $0x54003d02 // b.hs LBB0_154 $1952(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1b0115 // subs x21, x8, x27 + WORD $0x5400cbe0 // b.eq LBB0_399 $6524(%rip) + WORD $0x394003c8 // ldrb w8, [lr] + WORD $0x7100c11f // cmp w8, #48 + WORD $0x54000141 // b.ne LBB0_65 $40(%rip) + WORD $0xf10006bf // cmp x21, #1 + WORD $0x54004280 // b.eq LBB0_170 $2128(%rip) + WORD $0x387c6928 // ldrb w8, [x9, x28] + WORD $0x5100b908 // sub w8, w8, #46 + WORD $0x7100dd1f // cmp w8, #55 + WORD $0x54004208 // b.hi LBB0_170 $2112(%rip) + WORD $0x9ac821e8 // lsl x8, x15, x8 + WORD $0xea07011f // tst x8, x7 + WORD $0x540041a0 // b.eq LBB0_170 $2100(%rip) +LBB0_65: + WORD $0xf10042bf // cmp x21, #16 + WORD $0x5400a5c3 // b.lo LBB0_333 $5304(%rip) + WORD $0xd2800016 // mov x22, #0 + WORD $0xd280001c // mov x28, #0 + WORD $0x92800014 // mov x20, #-1 + WORD $0x92800005 // mov x5, #-1 + WORD $0x92800008 // mov x8, #-1 +LBB0_67: + WORD $0x3cfc6bd4 // ldr q20, [lr, x28] + WORD $0x6e258e95 // cmeq.16b v21, v20, v5 + WORD $0x6e268e96 // cmeq.16b v22, v20, v6 + WORD $0x6e278e97 // cmeq.16b v23, v20, v7 + WORD $0x4e308698 // add.16b v24, v20, v16 + WORD $0x6e383638 // cmhi.16b v24, v17, v24 + WORD $0x4e321e94 // and.16b v20, v20, v18 + WORD $0x6e338e94 // cmeq.16b v20, v20, v19 + WORD $0x4eb71ed6 // orr.16b v22, v22, v23 + WORD $0x4eb51f17 // orr.16b v23, v24, v21 + WORD $0x4eb61e98 // orr.16b v24, v20, v22 + WORD $0x4eb81ef7 // orr.16b v23, v23, v24 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b1 // fmov w17, s21 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260299 // fmov w25, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260287 // fmov w7, s20 + WORD $0x2a2703e7 // mvn w7, w7 + WORD $0x32103ce7 // orr w7, w7, #0xffff0000 + WORD $0x5ac000e7 // rbit w7, w7 + WORD $0x5ac010e7 // clz w7, w7 + WORD $0x12800004 // mov w4, #-1 + WORD $0x1ac72098 // lsl w24, w4, w7 + WORD $0x0a38023a // bic w26, w17, w24 + WORD $0x0a3802e4 // bic w4, w23, w24 + WORD $0x0a380326 // bic w6, w25, w24 + WORD $0x710040ff // cmp w7, #16 + WORD $0x1a9a0231 // csel w17, w17, w26, eq + WORD $0x1a8402f8 // csel w24, w23, w4, eq + WORD $0x1a860337 // csel w23, w25, w6, eq + WORD $0x51000624 // sub w4, w17, #1 + WORD $0x6a110099 // ands w25, w4, w17 + WORD $0x54006d81 // b.ne LBB0_245 $3504(%rip) + WORD $0x51000704 // sub w4, w24, #1 + WORD $0x6a180099 // ands w25, w4, w24 + WORD $0x54006d21 // b.ne LBB0_245 $3492(%rip) + WORD $0x510006e4 // sub w4, w23, #1 + WORD $0x6a170099 // ands w25, w4, w23 + WORD $0x54006cc1 // b.ne LBB0_245 $3480(%rip) + WORD $0x340000d1 // cbz w17, LBB0_73 $24(%rip) + WORD $0x5ac00231 // rbit w17, w17 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x54006cc1 // b.ne LBB0_246 $3480(%rip) + WORD $0x8b110388 // add x8, x28, x17 +LBB0_73: + WORD $0x340000d8 // cbz w24, LBB0_76 $24(%rip) + WORD $0x5ac00311 // rbit w17, w24 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10004bf // cmn x5, #1 + WORD $0x54006c01 // b.ne LBB0_246 $3456(%rip) + WORD $0x8b110385 // add x5, x28, x17 +LBB0_76: + WORD $0x340000d7 // cbz w23, LBB0_79 $24(%rip) + WORD $0x5ac002f1 // rbit w17, w23 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb100069f // cmn x20, #1 + WORD $0x54006b41 // b.ne LBB0_246 $3432(%rip) + WORD $0x8b110394 // add x20, x28, x17 +LBB0_79: + WORD $0x710040ff // cmp w7, #16 + WORD $0x54001bc1 // b.ne LBB0_123 $888(%rip) + WORD $0x9100439c // add x28, x28, #16 + WORD $0xd10042d6 // sub x22, x22, #16 + WORD $0x8b1602b7 // add x23, x21, x22 + WORD $0xf1003eff // cmp x23, #15 + WORD $0x54fff6c8 // b.hi LBB0_67 $-296(%rip) + WORD $0x8b1c03d6 // add x22, lr, x28 + WORD $0xeb1c02bf // cmp x21, x28 + WORD $0x54001b00 // b.eq LBB0_124 $864(%rip) +LBB0_82: + WORD $0x8b1702d8 // add x24, x22, x23 + WORD $0x8b1b01b1 // add x17, x13, x27 + WORD $0xcb160235 // sub x21, x17, x22 + WORD $0xcb1e02c7 // sub x7, x22, lr + WORD $0xaa1603fc // mov x28, x22 + WORD $0x14000009 // b LBB0_85 $36(%rip) +LBB0_83: + WORD $0xb10004bf // cmn x5, #1 + WORD $0xaa0703e5 // mov x5, x7 + WORD $0x54001d81 // b.ne LBB0_136 $944(%rip) +LBB0_84: + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0x910004e7 // add x7, x7, #1 + WORD $0xaa1c03f6 // mov x22, x28 + WORD $0xd10006f7 // sub x23, x23, #1 + WORD $0xb40042d7 // cbz x23, LBB0_184 $2136(%rip) +LBB0_85: + WORD $0x38401791 // ldrb w17, [x28], #1 + WORD $0x5100c224 // sub w4, w17, #48 + WORD $0x7100289f // cmp w4, #10 + WORD $0x54ffff03 // b.lo LBB0_84 $-32(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x5400016d // b.le LBB0_91 $44(%rip) + WORD $0x7101963f // cmp w17, #101 + WORD $0x54fffe20 // b.eq LBB0_83 $-60(%rip) + WORD $0x7101163f // cmp w17, #69 + WORD $0x54fffde0 // b.eq LBB0_83 $-68(%rip) + WORD $0x7100ba3f // cmp w17, #46 + WORD $0x540017c1 // b.ne LBB0_124 $760(%rip) + WORD $0xb100051f // cmn x8, #1 + WORD $0xaa0703e8 // mov x8, x7 + WORD $0x54fffda0 // b.eq LBB0_84 $-76(%rip) + WORD $0x140000d7 // b LBB0_136 $860(%rip) +LBB0_91: + WORD $0x7100ae3f // cmp w17, #43 + WORD $0x54000060 // b.eq LBB0_93 $12(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x540016c1 // b.ne LBB0_124 $728(%rip) +LBB0_93: + WORD $0xb100069f // cmn x20, #1 + WORD $0xaa0703f4 // mov x20, x7 + WORD $0x54fffca0 // b.eq LBB0_84 $-108(%rip) + WORD $0x140000cf // b LBB0_136 $828(%rip) +LBB0_94: + WORD $0x7100b2bf // cmp w21, #44 + WORD $0x54000560 // b.eq LBB0_107 $172(%rip) +LBB0_95: + WORD $0x7101f6bf // cmp w21, #125 + WORD $0x54000080 // b.eq LBB0_97 $16(%rip) + WORD $0x14000627 // b LBB0_425 $6300(%rip) +LBB0_96: + WORD $0x710176bf // cmp w21, #93 + WORD $0x540000c1 // b.ne LBB0_98 $24(%rip) +LBB0_97: + WORD $0xf9000054 // str x20, [x2] + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc954 // cbnz x20, LBB0_1 $-1752(%rip) + WORD $0x140005b9 // b LBB0_394 $5860(%rip) +LBB0_98: + WORD $0xf834794f // str x15, [x10, x20, lsl #3] + WORD $0x92800028 // mov x8, #-2 + WORD $0x71016abf // cmp w21, #90 + WORD $0x54ffec8d // b.le LBB0_59 $-624(%rip) +LBB0_99: + WORD $0x7101b6bf // cmp w21, #109 + WORD $0x54002bad // b.le LBB0_160 $1396(%rip) + WORD $0x7101babf // cmp w21, #110 + WORD $0x54002e80 // b.eq LBB0_167 $1488(%rip) + WORD $0x7101d2bf // cmp w21, #116 + WORD $0x54002d00 // b.eq LBB0_165 $1440(%rip) + WORD $0x7101eebf // cmp w21, #123 + WORD $0x5400b5a1 // b.ne LBB0_394 $5812(%rip) + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400b6cc // b.gt LBB0_396 $5848(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000051 // str x17, [x2] + WORD $0x528000d1 // mov w17, #6 + WORD $0xf8287951 // str x17, [x10, x8, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc665 // cbnz x5, LBB0_1 $-1844(%rip) + WORD $0x140005a2 // b LBB0_394 $5768(%rip) +LBB0_105: + WORD $0xf13ffcbf // cmp x5, #4095 + WORD $0x5400b58c // b.gt LBB0_396 $5808(%rip) + WORD $0x910004a8 // add x8, x5, #1 + WORD $0xf9000048 // str x8, [x2] + WORD $0xf825795f // str xzr, [x10, x5, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc545 // cbnz x5, LBB0_1 $-1880(%rip) + WORD $0x14000599 // b LBB0_394 $5732(%rip) +LBB0_107: + WORD $0xf13ffcbf // cmp x5, #4095 + WORD $0x5400b46c // b.gt LBB0_396 $5772(%rip) + WORD $0x910004a8 // add x8, x5, #1 + WORD $0xf9000048 // str x8, [x2] + WORD $0xf8257953 // str x19, [x10, x5, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ffc425 // cbnz x5, LBB0_1 $-1916(%rip) + WORD $0x14000590 // b LBB0_394 $5696(%rip) +LBB0_109: + WORD $0x5400b3e0 // b.eq LBB0_398 $5756(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54006403 // b.lo LBB0_256 $3200(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_112: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405a37 // ldp q23, q22, [x17] + WORD $0xad415235 // ldp q21, q20, [x17, #32] + WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260317 // fmov w23, s24 + WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260318 // fmov w24, s24 + WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260319 // fmov w25, s24 + WORD $0x6e218e98 // cmeq.16b v24, v20, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e26031a // fmov w26, s24 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000451 // cbnz x17, LBB0_117 $136(%rip) + WORD $0xb50004c5 // cbnz x5, LBB0_118 $152(%rip) +LBB0_114: + WORD $0x6e373497 // cmhi.16b v23, v4, v23 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x6e363496 // cmhi.16b v22, v4, v22 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d5 // fmov w21, s22 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b6 // fmov w22, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1102b1 // orr x17, x21, x17 + WORD $0xb50002e7 // cbnz x7, LBB0_119 $92(%rip) + WORD $0xb500aa71 // cbnz x17, LBB0_404 $5452(%rip) + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff568 // b.hi LBB0_112 $-340(%rip) + WORD $0x1400029d // b LBB0_248 $2676(%rip) +LBB0_117: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_118: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x17ffffd1 // b LBB0_114 $-188(%rip) +LBB0_119: + WORD $0xdac000e5 // rbit x5, x7 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xdac00231 // rbit x17, x17 + WORD $0xdac01231 // clz x17, x17 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x5400b143 // b.lo LBB0_427 $5672(%rip) +LBB0_120: + WORD $0x8b1c00b1 // add x17, x5, x28 +LBB0_121: + WORD $0x9100063c // add x28, x17, #1 +LBB0_122: + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb6f81c9c // tbz x28, #63, LBB0_170 $912(%rip) + WORD $0x14000524 // b LBB0_397 $5264(%rip) +LBB0_123: + WORD $0x8b2743d1 // add x17, lr, w7, uxtw + WORD $0x8b1c0236 // add x22, x17, x28 +LBB0_124: + WORD $0x92800015 // mov x21, #-1 + WORD $0xb400a4c8 // cbz x8, LBB0_400 $5272(%rip) +LBB0_125: + WORD $0xb400a4b4 // cbz x20, LBB0_400 $5268(%rip) + WORD $0xb400a485 // cbz x5, LBB0_400 $5264(%rip) + WORD $0xcb1e02c7 // sub x7, x22, lr + WORD $0xd10004f1 // sub x17, x7, #1 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x540002a0 // b.eq LBB0_135 $84(%rip) + WORD $0xeb11029f // cmp x20, x17 + WORD $0x54000260 // b.eq LBB0_135 $76(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x54000220 // b.eq LBB0_135 $68(%rip) + WORD $0xf1000691 // subs x17, x20, #1 + WORD $0x5400006b // b.lt LBB0_132 $12(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x5400a321 // b.ne LBB0_401 $5220(%rip) +LBB0_132: + WORD $0xaa050111 // orr x17, x8, x5 + WORD $0xb7f80071 // tbnz x17, #63, LBB0_134 $12(%rip) + WORD $0xeb05011f // cmp x8, x5 + WORD $0x5400a44a // b.ge LBB0_407 $5256(%rip) +LBB0_134: + WORD $0xd37ffe31 // lsr x17, x17, #63 + WORD $0x52000231 // eor w17, w17, #0x1 + WORD $0xd10004a4 // sub x4, x5, #1 + WORD $0xeb04011f // cmp x8, x4 + WORD $0x1a9f17e8 // cset w8, eq + WORD $0x6a08023f // tst w17, w8 + WORD $0xda8500f5 // csinv x21, x7, x5, eq + WORD $0x14000002 // b LBB0_136 $8(%rip) +LBB0_135: + WORD $0xcb0703f5 // neg x21, x7 +LBB0_136: + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb7f8a0d5 // tbnz x21, #63, LBB0_400 $5144(%rip) + WORD $0x8b15037c // add x28, x27, x21 + WORD $0x140000bd // b LBB0_170 $756(%rip) +LBB0_138: + WORD $0x54009fe0 // b.eq LBB0_398 $5116(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54005fa3 // b.lo LBB0_283 $3060(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_141: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405a37 // ldp q23, q22, [x17] + WORD $0xad415235 // ldp q21, q20, [x17, #32] + WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260317 // fmov w23, s24 + WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260318 // fmov w24, s24 + WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260319 // fmov w25, s24 + WORD $0x6e218e98 // cmeq.16b v24, v20, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e26031a // fmov w26, s24 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 + WORD $0x53103ce7 // lsl w7, w7, #16 + WORD $0xaa0702a7 // orr x7, x21, x7 + WORD $0xaa1100e7 // orr x7, x7, x17 + WORD $0xd3607f31 // lsl x17, x25, #32 + WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 + WORD $0x53103f15 // lsl w21, w24, #16 + WORD $0xaa150231 // orr x17, x17, x21 + WORD $0xaa170231 // orr x17, x17, x23 + WORD $0xb5000451 // cbnz x17, LBB0_146 $136(%rip) + WORD $0xb50004c5 // cbnz x5, LBB0_147 $152(%rip) +LBB0_143: + WORD $0x6e373497 // cmhi.16b v23, v4, v23 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x6e363496 // cmhi.16b v22, v4, v22 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d5 // fmov w21, s22 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b6 // fmov w22, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0xd3607ed6 // lsl x22, x22, #32 + WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 + WORD $0x53103eb5 // lsl w21, w21, #16 + WORD $0xaa1502d5 // orr x21, x22, x21 + WORD $0xaa1102b1 // orr x17, x21, x17 + WORD $0xb50002e7 // cbnz x7, LBB0_148 $92(%rip) + WORD $0xb5009671 // cbnz x17, LBB0_404 $4812(%rip) + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff568 // b.hi LBB0_141 $-340(%rip) + WORD $0x1400027e // b LBB0_276 $2552(%rip) +LBB0_146: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00235 // rbit x21, x17 + WORD $0xdac012b5 // clz x21, x21 + WORD $0x8b1c02b5 // add x21, x21, x28 + WORD $0x9a951108 // csel x8, x8, x21, ne +LBB0_147: + WORD $0x8a250235 // bic x21, x17, x5 + WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 + WORD $0x8a360231 // bic x17, x17, x22 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab150231 // adds x17, x17, x21 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a160231 // and x17, x17, x22 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x17ffffd1 // b LBB0_143 $-188(%rip) +LBB0_148: + WORD $0xdac000e5 // rbit x5, x7 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xdac00231 // rbit x17, x17 + WORD $0xdac01231 // clz x17, x17 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x54009d43 // b.lo LBB0_427 $5032(%rip) + WORD $0x8b1c00b1 // add x17, x5, x28 +LBB0_150: + WORD $0x9100063c // add x28, x17, #1 + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb7f890bc // tbnz x28, #63, LBB0_397 $4628(%rip) +LBB0_151: + WORD $0xf900003c // str x28, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0xb27ff7f1 // mov x17, #9223372036854775806 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008e48 // b.hi LBB0_394 $4552(%rip) + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x54008f6c // b.gt LBB0_396 $4588(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000051 // str x17, [x2] + WORD $0xf8287944 // str x4, [x10, x8, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ff9f25 // cbnz x5, LBB0_1 $-3100(%rip) + WORD $0x14000468 // b LBB0_394 $4512(%rip) +LBB0_154: + WORD $0x71008abf // cmp w21, #34 + WORD $0x540008c0 // b.eq LBB0_174 $280(%rip) + WORD $0x7100b6bf // cmp w21, #45 + WORD $0x54008c81 // b.ne LBB0_394 $4496(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0118 // subs x24, x8, x28 + WORD $0x540090c0 // b.eq LBB0_408 $4632(%rip) + WORD $0xb20903e4 // mov x4, #36028797027352576 + WORD $0xf2800024 // movk x4, #1 + WORD $0x8b1c0128 // add x8, x9, x28 + WORD $0x39400111 // ldrb w17, [x8] + WORD $0x7100c23f // cmp w17, #48 + WORD $0x54002281 // b.ne LBB0_198 $1104(%rip) + WORD $0xf100071f // cmp x24, #1 + WORD $0x54002141 // b.ne LBB0_196 $1064(%rip) +LBB0_159: + WORD $0x52800027 // mov w7, #1 + WORD $0x140001ac // b LBB0_244 $1712(%rip) +LBB0_160: + WORD $0x71016ebf // cmp w21, #91 + WORD $0x54000540 // b.eq LBB0_172 $168(%rip) + WORD $0x71019abf // cmp w21, #102 + WORD $0x54008a61 // b.ne LBB0_394 $4428(%rip) + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1001111 // sub x17, x8, #4 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008de2 // b.hs LBB0_406 $4540(%rip) + WORD $0xb87c6928 // ldr w8, [x9, x28] + WORD $0x528d8c31 // mov w17, #27745 + WORD $0x72acae71 // movk w17, #25971, lsl #16 + WORD $0x6b11011f // cmp w8, w17 + WORD $0x54009381 // b.ne LBB0_420 $4720(%rip) + WORD $0x9100177c // add x28, x27, #5 + WORD $0x14000015 // b LBB0_170 $84(%rip) +LBB0_165: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1000d11 // sub x17, x8, #3 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008c82 // b.hs LBB0_406 $4496(%rip) + WORD $0xb87b6928 // ldr w8, [x9, x27] + WORD $0x528e4e91 // mov w17, #29300 + WORD $0x72acaeb1 // movk w17, #25973, lsl #16 + WORD $0x6b11011f // cmp w8, w17 + WORD $0x54000160 // b.eq LBB0_169 $44(%rip) + WORD $0x1400047b // b LBB0_415 $4588(%rip) +LBB0_167: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xd1000d11 // sub x17, x8, #3 + WORD $0xeb11037f // cmp x27, x17 + WORD $0x54008b42 // b.hs LBB0_406 $4456(%rip) + WORD $0xb87b6928 // ldr w8, [x9, x27] + WORD $0x528eadd1 // mov w17, #30062 + WORD $0x72ad8d91 // movk w17, #27756, lsl #16 + WORD $0x6b11011f // cmp w8, w17 + WORD $0x54008bc1 // b.ne LBB0_411 $4472(%rip) +LBB0_169: + WORD $0x9100137c // add x28, x27, #4 +LBB0_170: + WORD $0xf900003c // str x28, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0xeb06037f // cmp x27, x6 + WORD $0x54008602 // b.hs LBB0_394 $4288(%rip) +LBB0_171: + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ff97a5 // cbnz x5, LBB0_1 $-3340(%rip) + WORD $0x1400042c // b LBB0_394 $4272(%rip) +LBB0_172: + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x540086ac // b.gt LBB0_396 $4308(%rip) + WORD $0x91000511 // add x17, x8, #1 + WORD $0xf9000051 // str x17, [x2] + WORD $0x528000b1 // mov w17, #5 + WORD $0xf8287951 // str x17, [x10, x8, lsl #3] + WORD $0xf9400045 // ldr x5, [x2] + WORD $0xaa0e03e8 // mov x8, x14 + WORD $0xb5ff9645 // cbnz x5, LBB0_1 $-3384(%rip) + WORD $0x14000421 // b LBB0_394 $4228(%rip) +LBB0_174: + WORD $0x3200f3f8 // mov w24, #1431655765 + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xeb1c0114 // subs x20, x8, x28 + WORD $0x37280b43 // tbnz w3, #5, LBB0_185 $360(%rip) + WORD $0x54008580 // b.eq LBB0_398 $4272(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x540051e3 // b.lo LBB0_307 $2620(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_178: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405634 // ldp q20, q21, [x17] + WORD $0xad415e36 // ldp q22, q23, [x17, #32] + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 + WORD $0x6e208eda // cmeq.16b v26, v22, v0 + WORD $0x6e208efb // cmeq.16b v27, v23, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 + WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x4e221f38 // and.16b v24, v25, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260304 // fmov w4, s24 + WORD $0x4e221f58 // and.16b v24, v26, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260306 // fmov w6, s24 + WORD $0x4e221f78 // and.16b v24, v27, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260293 // fmov w19, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260296 // fmov w22, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260297 // fmov w23, s20 + WORD $0xd3607cc6 // lsl x6, x6, #32 + WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 + WORD $0x53103c84 // lsl w4, w4, #16 + WORD $0xaa0400c4 // orr x4, x6, x4 + WORD $0xaa110087 // orr x7, x4, x17 + WORD $0xd3607ed1 // lsl x17, x22, #32 + WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 + WORD $0x53103ea4 // lsl w4, w21, #16 + WORD $0xaa040231 // orr x17, x17, x4 + WORD $0xaa130231 // orr x17, x17, x19 + WORD $0xb5000131 // cbnz x17, LBB0_182 $36(%rip) + WORD $0xb50001a5 // cbnz x5, LBB0_183 $52(%rip) + WORD $0x52800073 // mov w19, #3 + WORD $0xb5ffa2c7 // cbnz x7, LBB0_38 $-2984(%rip) +LBB0_181: + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff888 // b.hi LBB0_178 $-240(%rip) + WORD $0x14000247 // b LBB0_304 $2332(%rip) +LBB0_182: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00224 // rbit x4, x17 + WORD $0xdac01084 // clz x4, x4 + WORD $0x8b1c0084 // add x4, x4, x28 + WORD $0x9a841108 // csel x8, x8, x4, ne +LBB0_183: + WORD $0x8a250224 // bic x4, x17, x5 + WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 + WORD $0x8a260231 // bic x17, x17, x6 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab040231 // adds x17, x17, x4 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a060231 // and x17, x17, x6 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x52800073 // mov w19, #3 + WORD $0xb4fffd67 // cbz x7, LBB0_181 $-84(%rip) + WORD $0x17fffcff // b LBB0_38 $-3076(%rip) +LBB0_184: + WORD $0xaa1803f6 // mov x22, x24 + WORD $0x92800015 // mov x21, #-1 + WORD $0xb5ffd688 // cbnz x8, LBB0_125 $-1328(%rip) + WORD $0x140003d8 // b LBB0_400 $3936(%rip) +LBB0_185: + WORD $0x54007a60 // b.eq LBB0_398 $3916(%rip) + WORD $0xf101029f // cmp x20, #64 + WORD $0x54004b43 // b.lo LBB0_313 $2408(%rip) + WORD $0xd2800005 // mov x5, #0 + WORD $0x92800008 // mov x8, #-1 +LBB0_188: + WORD $0x8b1c0131 // add x17, x9, x28 + WORD $0xad405a37 // ldp q23, q22, [x17] + WORD $0xad415235 // ldp q21, q20, [x17, #32] + WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260311 // fmov w17, s24 + WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260304 // fmov w4, s24 + WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260306 // fmov w6, s24 + WORD $0x6e208e98 // cmeq.16b v24, v20, v0 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260307 // fmov w7, s24 + WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260313 // fmov w19, s24 + WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260315 // fmov w21, s24 + WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260316 // fmov w22, s24 + WORD $0x6e218e98 // cmeq.16b v24, v20, v1 + WORD $0x4e221f18 // and.16b v24, v24, v2 + WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 + WORD $0x4e71bb18 // addv.8h h24, v24 + WORD $0x1e260317 // fmov w23, s24 + WORD $0xd3607cc6 // lsl x6, x6, #32 + WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 + WORD $0x53103c84 // lsl w4, w4, #16 + WORD $0xaa0400c4 // orr x4, x6, x4 + WORD $0xaa110087 // orr x7, x4, x17 + WORD $0xd3607ed1 // lsl x17, x22, #32 + WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 + WORD $0x53103ea4 // lsl w4, w21, #16 + WORD $0xaa040231 // orr x17, x17, x4 + WORD $0xaa130231 // orr x17, x17, x19 + WORD $0xb5000451 // cbnz x17, LBB0_193 $136(%rip) + WORD $0xb50004c5 // cbnz x5, LBB0_194 $152(%rip) +LBB0_190: + WORD $0x6e373497 // cmhi.16b v23, v4, v23 + WORD $0x4e221ef7 // and.16b v23, v23, v2 + WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 + WORD $0x4e71baf7 // addv.8h h23, v23 + WORD $0x1e2602f1 // fmov w17, s23 + WORD $0x6e363496 // cmhi.16b v22, v4, v22 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c4 // fmov w4, s22 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a6 // fmov w6, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260293 // fmov w19, s20 + WORD $0xd3607cc6 // lsl x6, x6, #32 + WORD $0xaa13c0c6 // orr x6, x6, x19, lsl #48 + WORD $0x53103c84 // lsl w4, w4, #16 + WORD $0xaa0400c4 // orr x4, x6, x4 + WORD $0xaa110091 // orr x17, x4, x17 + WORD $0xb50002e7 // cbnz x7, LBB0_195 $92(%rip) + WORD $0xb50070f1 // cbnz x17, LBB0_404 $3612(%rip) + WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fff568 // b.hi LBB0_188 $-340(%rip) + WORD $0x140001d7 // b LBB0_305 $1884(%rip) +LBB0_193: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac00224 // rbit x4, x17 + WORD $0xdac01084 // clz x4, x4 + WORD $0x8b1c0084 // add x4, x4, x28 + WORD $0x9a841108 // csel x8, x8, x4, ne +LBB0_194: + WORD $0x8a250224 // bic x4, x17, x5 + WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 + WORD $0x8a260231 // bic x17, x17, x6 + WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa + WORD $0xab040231 // adds x17, x17, x4 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a060231 // and x17, x17, x6 + WORD $0x8a3100e7 // bic x7, x7, x17 + WORD $0x17ffffd1 // b LBB0_190 $-188(%rip) +LBB0_195: + WORD $0xdac000e4 // rbit x4, x7 + WORD $0xdac01085 // clz x5, x4 + WORD $0xdac00231 // rbit x17, x17 + WORD $0xdac01231 // clz x17, x17 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x52800073 // mov w19, #3 + WORD $0x54ffc682 // b.hs LBB0_120 $-1840(%rip) + WORD $0x140003bc // b LBB0_427 $3824(%rip) +LBB0_196: + WORD $0x39400511 // ldrb w17, [x8, #1] + WORD $0x5100ba31 // sub w17, w17, #46 + WORD $0x7100de3f // cmp w17, #55 + WORD $0x54ffde88 // b.hi LBB0_159 $-1072(%rip) + WORD $0x9ad121f1 // lsl x17, x15, x17 + WORD $0x52800027 // mov w7, #1 + WORD $0xea04023f // tst x17, x4 + WORD $0x540013a0 // b.eq LBB0_244 $628(%rip) +LBB0_198: + WORD $0xf100431f // cmp x24, #16 + WORD $0x54004803 // b.lo LBB0_335 $2304(%rip) + WORD $0xd2800017 // mov x23, #0 + WORD $0xd2800007 // mov x7, #0 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800005 // mov x5, #-1 + WORD $0x92800014 // mov x20, #-1 +LBB0_200: + WORD $0x3ce76914 // ldr q20, [x8, x7] + WORD $0x6e258e95 // cmeq.16b v21, v20, v5 + WORD $0x6e268e96 // cmeq.16b v22, v20, v6 + WORD $0x6e278e97 // cmeq.16b v23, v20, v7 + WORD $0x4e308698 // add.16b v24, v20, v16 + WORD $0x6e383638 // cmhi.16b v24, v17, v24 + WORD $0x4e321e94 // and.16b v20, v20, v18 + WORD $0x6e338e94 // cmeq.16b v20, v20, v19 + WORD $0x4eb71ed6 // orr.16b v22, v22, v23 + WORD $0x4eb51f17 // orr.16b v23, v24, v21 + WORD $0x4eb61e98 // orr.16b v24, v20, v22 + WORD $0x4eb81ef7 // orr.16b v23, v23, v24 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602b1 // fmov w17, s21 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260284 // fmov w4, s20 + WORD $0x4e221ed4 // and.16b v20, v22, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260286 // fmov w6, s20 + WORD $0x4e221ef4 // and.16b v20, v23, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x2a3503f5 // mvn w21, w21 + WORD $0x32103eb5 // orr w21, w21, #0xffff0000 + WORD $0x5ac002b5 // rbit w21, w21 + WORD $0x5ac012b5 // clz w21, w21 + WORD $0x12800013 // mov w19, #-1 + WORD $0x1ad52276 // lsl w22, w19, w21 + WORD $0x0a360239 // bic w25, w17, w22 + WORD $0x0a360093 // bic w19, w4, w22 + WORD $0x0a3600d6 // bic w22, w6, w22 + WORD $0x710042bf // cmp w21, #16 + WORD $0x1a99023a // csel w26, w17, w25, eq + WORD $0x1a930091 // csel w17, w4, w19, eq + WORD $0x1a9600d6 // csel w22, w6, w22, eq + WORD $0x51000744 // sub w4, w26, #1 + WORD $0x6a1a0099 // ands w25, w4, w26 + WORD $0x54002f81 // b.ne LBB0_303 $1520(%rip) + WORD $0x51000624 // sub w4, w17, #1 + WORD $0x6a110099 // ands w25, w4, w17 + WORD $0x54002f21 // b.ne LBB0_303 $1508(%rip) + WORD $0x510006c4 // sub w4, w22, #1 + WORD $0x6a160099 // ands w25, w4, w22 + WORD $0x54002ec1 // b.ne LBB0_303 $1496(%rip) + WORD $0x340000da // cbz w26, LBB0_206 $24(%rip) + WORD $0x5ac00344 // rbit w4, w26 + WORD $0x5ac0109a // clz w26, w4 + WORD $0xb100069f // cmn x20, #1 + WORD $0x54004001 // b.ne LBB0_334 $2048(%rip) + WORD $0x8b1a00f4 // add x20, x7, x26 +LBB0_206: + WORD $0x340000d1 // cbz w17, LBB0_209 $24(%rip) + WORD $0x5ac00231 // rbit w17, w17 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10004bf // cmn x5, #1 + WORD $0x54002ea1 // b.ne LBB0_306 $1492(%rip) + WORD $0x8b1100e5 // add x5, x7, x17 +LBB0_209: + WORD $0x340000d6 // cbz w22, LBB0_212 $24(%rip) + WORD $0x5ac002d1 // rbit w17, w22 + WORD $0x5ac01231 // clz w17, w17 + WORD $0xb10007df // cmn lr, #1 + WORD $0x54002de1 // b.ne LBB0_306 $1468(%rip) + WORD $0x8b1100fe // add lr, x7, x17 +LBB0_212: + WORD $0x710042bf // cmp w21, #16 + WORD $0x540005e1 // b.ne LBB0_230 $188(%rip) + WORD $0x910040e7 // add x7, x7, #16 + WORD $0xd10042f7 // sub x23, x23, #16 + WORD $0x8b170315 // add x21, x24, x23 + WORD $0xf1003ebf // cmp x21, #15 + WORD $0x54fff6c8 // b.hi LBB0_200 $-296(%rip) + WORD $0x8b070116 // add x22, x8, x7 + WORD $0xeb07031f // cmp x24, x7 + WORD $0x52800073 // mov w19, #3 + WORD $0x54000520 // b.eq LBB0_231 $164(%rip) +LBB0_215: + WORD $0x8b1502c6 // add x6, x22, x21 + WORD $0x8b160191 // add x17, x12, x22 + WORD $0xcb1b0238 // sub x24, x17, x27 + WORD $0xaa1603f7 // mov x23, x22 + WORD $0x14000008 // b LBB0_219 $32(%rip) +LBB0_216: + WORD $0xb10007df // cmn lr, #1 + WORD $0x54002a01 // b.ne LBB0_302 $1344(%rip) + WORD $0xd100071e // sub lr, x24, #1 +LBB0_218: + WORD $0x91000718 // add x24, x24, #1 + WORD $0xaa1703f6 // mov x22, x23 + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0xb4000a35 // cbz x21, LBB0_249 $324(%rip) +LBB0_219: + WORD $0x384016f1 // ldrb w17, [x23], #1 + WORD $0x5100c224 // sub w4, w17, #48 + WORD $0x7100289f // cmp w4, #10 + WORD $0x54ffff23 // b.lo LBB0_218 $-28(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x5400016d // b.le LBB0_226 $44(%rip) + WORD $0x7101963f // cmp w17, #101 + WORD $0x540001c0 // b.eq LBB0_228 $56(%rip) + WORD $0x7101163f // cmp w17, #69 + WORD $0x54000180 // b.eq LBB0_228 $48(%rip) + WORD $0x7100ba3f // cmp w17, #46 + WORD $0x54000221 // b.ne LBB0_231 $68(%rip) + WORD $0xb100069f // cmn x20, #1 + WORD $0x540027a1 // b.ne LBB0_302 $1268(%rip) + WORD $0xd1000714 // sub x20, x24, #1 + WORD $0x17ffffed // b LBB0_218 $-76(%rip) +LBB0_226: + WORD $0x7100ae3f // cmp w17, #43 + WORD $0x54fffd00 // b.eq LBB0_216 $-96(%rip) + WORD $0x7100b63f // cmp w17, #45 + WORD $0x54fffcc0 // b.eq LBB0_216 $-104(%rip) + WORD $0x14000008 // b LBB0_231 $32(%rip) +LBB0_228: + WORD $0xb10004bf // cmn x5, #1 + WORD $0x54002681 // b.ne LBB0_302 $1232(%rip) + WORD $0xd1000705 // sub x5, x24, #1 + WORD $0x17ffffe4 // b LBB0_218 $-112(%rip) +LBB0_230: + WORD $0x8b354111 // add x17, x8, w21, uxtw + WORD $0x8b070236 // add x22, x17, x7 + WORD $0x52800073 // mov w19, #3 +LBB0_231: + WORD $0x92800007 // mov x7, #-1 + WORD $0xb4005dd4 // cbz x20, LBB0_409 $3000(%rip) +LBB0_232: + WORD $0xb4005dbe // cbz lr, LBB0_409 $2996(%rip) + WORD $0xb4005d85 // cbz x5, LBB0_409 $2992(%rip) + WORD $0xcb0802c8 // sub x8, x22, x8 + WORD $0xd1000511 // sub x17, x8, #1 + WORD $0xeb11029f // cmp x20, x17 + WORD $0x540002a0 // b.eq LBB0_242 $84(%rip) + WORD $0xeb1103df // cmp lr, x17 + WORD $0x54000260 // b.eq LBB0_242 $76(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x54000220 // b.eq LBB0_242 $68(%rip) + WORD $0xf10007d1 // subs x17, lr, #1 + WORD $0x5400006b // b.lt LBB0_239 $12(%rip) + WORD $0xeb1100bf // cmp x5, x17 + WORD $0x54005c21 // b.ne LBB0_410 $2948(%rip) +LBB0_239: + WORD $0xaa050291 // orr x17, x20, x5 + WORD $0xb7f80071 // tbnz x17, #63, LBB0_241 $12(%rip) + WORD $0xeb05029f // cmp x20, x5 + WORD $0x540063ea // b.ge LBB0_426 $3196(%rip) +LBB0_241: + WORD $0xd37ffe31 // lsr x17, x17, #63 + WORD $0x52000231 // eor w17, w17, #0x1 + WORD $0xd10004a4 // sub x4, x5, #1 + WORD $0xeb04029f // cmp x20, x4 + WORD $0x1a9f17e4 // cset w4, eq + WORD $0x6a04023f // tst w17, w4 + WORD $0xda850107 // csinv x7, x8, x5, eq + WORD $0x14000002 // b LBB0_243 $8(%rip) +LBB0_242: + WORD $0xcb0803e7 // neg x7, x8 +LBB0_243: + WORD $0xb7f85a47 // tbnz x7, #63, LBB0_409 $2888(%rip) +LBB0_244: + WORD $0x8b1c00fc // add x28, x7, x28 + WORD $0xf900003c // str x28, [x1] + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xeb06037f // cmp x27, x6 + WORD $0x52800084 // mov w4, #4 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0x54ffce83 // b.lo LBB0_171 $-1584(%rip) + WORD $0x140002a2 // b LBB0_394 $2696(%rip) +LBB0_245: + WORD $0x5ac00328 // rbit w8, w25 + WORD $0x5ac01108 // clz w8, w8 + WORD $0xaa3c03f1 // mvn x17, x28 + WORD $0xcb080235 // sub x21, x17, x8 + WORD $0x17fffda7 // b LBB0_136 $-2404(%rip) +LBB0_246: + WORD $0xaa3c03e8 // mvn x8, x28 + WORD $0xcb314115 // sub x21, x8, w17, uxtw + WORD $0x17fffda4 // b LBB0_136 $-2416(%rip) +LBB0_247: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400000a // b LBB0_251 $40(%rip) +LBB0_248: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400002c // b LBB0_257 $176(%rip) +LBB0_249: + WORD $0xaa0603f6 // mov x22, x6 + WORD $0x92800007 // mov x7, #-1 + WORD $0xb5fff994 // cbnz x20, LBB0_232 $-208(%rip) + WORD $0x140002b8 // b LBB0_409 $2784(%rip) +LBB0_250: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_251: + WORD $0xf1008287 // subs x7, x20, #32 + WORD $0x54003463 // b.lo LBB0_339 $1676(%rip) + WORD $0xad405794 // ldp q20, q21, [x28] + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x4e221ef6 // and.16b v22, v23, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260296 // fmov w22, s20 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35002ed5 // cbnz w21, LBB0_336 $1496(%rip) + WORD $0xb5002f65 // cbnz x5, LBB0_337 $1516(%rip) + WORD $0xb40030f4 // cbz x20, LBB0_338 $1564(%rip) +LBB0_255: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0x8b1100b1 // add x17, x5, x17 + WORD $0x17fffd52 // b LBB0_121 $-2744(%rip) +LBB0_256: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_257: + WORD $0xf1008295 // subs x21, x20, #32 + WORD $0x54000643 // b.lo LBB0_265 $200(%rip) + WORD $0xad405395 // ldp q21, q20, [x28] + WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c7 // fmov w7, s22 + WORD $0x6e218e96 // cmeq.16b v22, v20, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d6 // fmov w22, s22 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ec7 // bfi w7, w22, #16, #16 + WORD $0x35003047 // cbnz w7, LBB0_349 $1544(%rip) + WORD $0xb50030e5 // cbnz x5, LBB0_350 $1564(%rip) +LBB0_260: + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a7 // fmov w7, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x33103e27 // bfi w7, w17, #16, #16 + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xb4000114 // cbz x20, LBB0_263 $32(%rip) + WORD $0xdac00285 // rbit x5, x20 + WORD $0xdac010a7 // clz x7, x5 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x54005563 // b.lo LBB0_428 $2732(%rip) + WORD $0x8b0700b1 // add x17, x5, x7 + WORD $0x17fffd1f // b LBB0_121 $-2948(%rip) +LBB0_263: + WORD $0x35005547 // cbnz w7, LBB0_429 $2728(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa1503f4 // mov x20, x21 +LBB0_265: + WORD $0xb5003965 // cbnz x5, LBB0_368 $1836(%rip) + WORD $0xb40048d4 // cbz x20, LBB0_398 $2328(%rip) +LBB0_267: + WORD $0xd2800005 // mov x5, #0 +LBB0_268: + WORD $0x38656b91 // ldrb w17, [x28, x5] + WORD $0x71008a3f // cmp w17, #34 + WORD $0x540002e0 // b.eq LBB0_274 $92(%rip) + WORD $0x7101723f // cmp w17, #92 + WORD $0x540000e0 // b.eq LBB0_272 $28(%rip) + WORD $0x71007e3f // cmp w17, #31 + WORD $0x54005429 // b.ls LBB0_430 $2692(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54fffee1 // b.ne LBB0_268 $-36(%rip) + WORD $0x1400023a // b LBB0_398 $2280(%rip) +LBB0_272: + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x540046e0 // b.eq LBB0_398 $2268(%rip) + WORD $0x8b050391 // add x17, x28, x5 + WORD $0x8b0c0227 // add x7, x17, x12 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a8800e8 // csel x8, x7, x8, eq + WORD $0x91000a3c // add x28, x17, #2 + WORD $0xcb050291 // sub x17, x20, x5 + WORD $0xd1000a87 // sub x7, x20, #2 + WORD $0xd1000a34 // sub x20, x17, #2 + WORD $0xeb0500ff // cmp x7, x5 + WORD $0x54fffd01 // b.ne LBB0_267 $-96(%rip) + WORD $0x1400022c // b LBB0_398 $2224(%rip) +LBB0_274: + WORD $0x8b1c0191 // add x17, x12, x28 + WORD $0x8b050231 // add x17, x17, x5 + WORD $0x17fffcfd // b LBB0_121 $-3084(%rip) +LBB0_275: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x14000006 // b LBB0_278 $24(%rip) +LBB0_276: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x14000028 // b LBB0_284 $160(%rip) +LBB0_277: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_278: + WORD $0xf1008287 // subs x7, x20, #32 + WORD $0x54002d23 // b.lo LBB0_354 $1444(%rip) + WORD $0xad405794 // ldp q20, q21, [x28] + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x4e221ef6 // and.16b v22, v23, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260296 // fmov w22, s20 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35002795 // cbnz w21, LBB0_351 $1264(%rip) + WORD $0xb5002825 // cbnz x5, LBB0_352 $1284(%rip) + WORD $0xb40029b4 // cbz x20, LBB0_353 $1332(%rip) +LBB0_282: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0x8b1100b1 // add x17, x5, x17 + WORD $0x17fffd75 // b LBB0_150 $-2604(%rip) +LBB0_283: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_284: + WORD $0xf1008295 // subs x21, x20, #32 + WORD $0x54000643 // b.lo LBB0_292 $200(%rip) + WORD $0xad405395 // ldp q21, q20, [x28] + WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c7 // fmov w7, s22 + WORD $0x6e218e96 // cmeq.16b v22, v20, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d6 // fmov w22, s22 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103ec7 // bfi w7, w22, #16, #16 + WORD $0x350029a7 // cbnz w7, LBB0_364 $1332(%rip) + WORD $0xb5002a45 // cbnz x5, LBB0_365 $1352(%rip) +LBB0_287: + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a7 // fmov w7, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x33103e27 // bfi w7, w17, #16, #16 + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xb4000114 // cbz x20, LBB0_290 $32(%rip) + WORD $0xdac00285 // rbit x5, x20 + WORD $0xdac010a7 // clz x7, x5 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x540045c3 // b.lo LBB0_428 $2232(%rip) + WORD $0x8b0700b1 // add x17, x5, x7 + WORD $0x17fffd42 // b LBB0_150 $-2808(%rip) +LBB0_290: + WORD $0x350045a7 // cbnz w7, LBB0_429 $2228(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa1503f4 // mov x20, x21 +LBB0_292: + WORD $0xb5002bc5 // cbnz x5, LBB0_372 $1400(%rip) + WORD $0xb4003934 // cbz x20, LBB0_398 $1828(%rip) +LBB0_294: + WORD $0xd2800005 // mov x5, #0 +LBB0_295: + WORD $0x38656b91 // ldrb w17, [x28, x5] + WORD $0x71008a3f // cmp w17, #34 + WORD $0x540002e0 // b.eq LBB0_301 $92(%rip) + WORD $0x7101723f // cmp w17, #92 + WORD $0x540000e0 // b.eq LBB0_299 $28(%rip) + WORD $0x71007e3f // cmp w17, #31 + WORD $0x54004489 // b.ls LBB0_430 $2192(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54fffee1 // b.ne LBB0_295 $-36(%rip) + WORD $0x140001bd // b LBB0_398 $1780(%rip) +LBB0_299: + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x54003740 // b.eq LBB0_398 $1768(%rip) + WORD $0x8b050391 // add x17, x28, x5 + WORD $0x8b0c0227 // add x7, x17, x12 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a8800e8 // csel x8, x7, x8, eq + WORD $0x91000a3c // add x28, x17, #2 + WORD $0xcb050291 // sub x17, x20, x5 + WORD $0xd1000a87 // sub x7, x20, #2 + WORD $0xd1000a34 // sub x20, x17, #2 + WORD $0xeb0500ff // cmp x7, x5 + WORD $0x54fffd01 // b.ne LBB0_294 $-96(%rip) + WORD $0x140001af // b LBB0_398 $1724(%rip) +LBB0_301: + WORD $0x8b1c0191 // add x17, x12, x28 + WORD $0x8b050231 // add x17, x17, x5 + WORD $0x17fffd20 // b LBB0_150 $-2944(%rip) +LBB0_302: + WORD $0xcb1803e7 // neg x7, x24 + WORD $0x17fffeee // b LBB0_243 $-1096(%rip) +LBB0_303: + WORD $0x5ac00328 // rbit w8, w25 + WORD $0x5ac01108 // clz w8, w8 + WORD $0xaa2703f1 // mvn x17, x7 + WORD $0xcb080227 // sub x7, x17, x8 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffee8 // b LBB0_243 $-1120(%rip) +LBB0_304: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400000a // b LBB0_308 $40(%rip) +LBB0_305: + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x1400002c // b LBB0_314 $176(%rip) +LBB0_306: + WORD $0xaa2703e8 // mvn x8, x7 + WORD $0xcb314107 // sub x7, x8, w17, uxtw + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffee0 // b LBB0_243 $-1152(%rip) +LBB0_307: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_308: + WORD $0xf1008287 // subs x7, x20, #32 + WORD $0x540028e3 // b.lo LBB0_377 $1308(%rip) + WORD $0xad405794 // ldp q20, q21, [x28] + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 + WORD $0x6e218e94 // cmeq.16b v20, v20, v1 + WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x4e221ef6 // and.16b v22, v23, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260295 // fmov w21, s20 + WORD $0x4e221eb4 // and.16b v20, v21, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260284 // fmov w4, s20 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103c95 // bfi w21, w4, #16, #16 + WORD $0x35002375 // cbnz w21, LBB0_374 $1132(%rip) + WORD $0xb5002405 // cbnz x5, LBB0_375 $1152(%rip) + WORD $0xb4002574 // cbz x20, LBB0_376 $1196(%rip) +LBB0_312: + WORD $0xdac00291 // rbit x17, x20 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090384 // sub x4, x28, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0x14000055 // b LBB0_332 $340(%rip) +LBB0_313: + WORD $0xd2800005 // mov x5, #0 + WORD $0x8b1c013c // add x28, x9, x28 + WORD $0x92800008 // mov x8, #-1 +LBB0_314: + WORD $0xf1008295 // subs x21, x20, #32 + WORD $0x54000643 // b.lo LBB0_322 $200(%rip) + WORD $0xad405395 // ldp q21, q20, [x28] + WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d4 // fmov w20, s22 + WORD $0x6e208e96 // cmeq.16b v22, v20, v0 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602d1 // fmov w17, s22 + WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c7 // fmov w7, s22 + WORD $0x6e218e96 // cmeq.16b v22, v20, v1 + WORD $0x4e221ed6 // and.16b v22, v22, v2 + WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 + WORD $0x4e71bad6 // addv.8h h22, v22 + WORD $0x1e2602c4 // fmov w4, s22 + WORD $0x33103e34 // bfi w20, w17, #16, #16 + WORD $0x33103c87 // bfi w7, w4, #16, #16 + WORD $0x350024e7 // cbnz w7, LBB0_386 $1180(%rip) + WORD $0xb5002585 // cbnz x5, LBB0_387 $1200(%rip) +LBB0_317: + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e221eb5 // and.16b v21, v21, v2 + WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 + WORD $0x4e71bab5 // addv.8h h21, v21 + WORD $0x1e2602a7 // fmov w7, s21 + WORD $0x6e343494 // cmhi.16b v20, v4, v20 + WORD $0x4e221e94 // and.16b v20, v20, v2 + WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 + WORD $0x4e71ba94 // addv.8h h20, v20 + WORD $0x1e260291 // fmov w17, s20 + WORD $0x33103e27 // bfi w7, w17, #16, #16 + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xb4000114 // cbz x20, LBB0_320 $32(%rip) + WORD $0xdac00284 // rbit x4, x20 + WORD $0xdac01087 // clz x7, x4 + WORD $0xcb090385 // sub x5, x28, x9 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x540034a3 // b.lo LBB0_428 $1684(%rip) + WORD $0x8b0700b1 // add x17, x5, x7 + WORD $0x14000022 // b LBB0_332 $136(%rip) +LBB0_320: + WORD $0x35003487 // cbnz w7, LBB0_429 $1680(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa1503f4 // mov x20, x21 +LBB0_322: + WORD $0xb5002505 // cbnz x5, LBB0_391 $1184(%rip) + WORD $0xb4002814 // cbz x20, LBB0_398 $1280(%rip) +LBB0_324: + WORD $0xd2800005 // mov x5, #0 +LBB0_325: + WORD $0x38656b91 // ldrb w17, [x28, x5] + WORD $0x71008a3f // cmp w17, #34 + WORD $0x540002e0 // b.eq LBB0_331 $92(%rip) + WORD $0x7101723f // cmp w17, #92 + WORD $0x540000e0 // b.eq LBB0_329 $28(%rip) + WORD $0x71007e3f // cmp w17, #31 + WORD $0x54003369 // b.ls LBB0_430 $1644(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54fffee1 // b.ne LBB0_325 $-36(%rip) + WORD $0x14000134 // b LBB0_398 $1232(%rip) +LBB0_329: + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0xeb05023f // cmp x17, x5 + WORD $0x54002620 // b.eq LBB0_398 $1220(%rip) + WORD $0x8b050391 // add x17, x28, x5 + WORD $0x8b0c0224 // add x4, x17, x12 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880088 // csel x8, x4, x8, eq + WORD $0x91000a3c // add x28, x17, #2 + WORD $0xcb050291 // sub x17, x20, x5 + WORD $0xd1000a84 // sub x4, x20, #2 + WORD $0xd1000a34 // sub x20, x17, #2 + WORD $0xeb05009f // cmp x4, x5 + WORD $0x54fffd01 // b.ne LBB0_324 $-96(%rip) + WORD $0x14000126 // b LBB0_398 $1176(%rip) +LBB0_331: + WORD $0x8b1c0191 // add x17, x12, x28 + WORD $0x8b050231 // add x17, x17, x5 +LBB0_332: + WORD $0x9100063c // add x28, x17, #1 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffbf6 // b LBB0_122 $-4136(%rip) +LBB0_333: + WORD $0x92800008 // mov x8, #-1 + WORD $0xaa1e03f6 // mov x22, lr + WORD $0xaa1503f7 // mov x23, x21 + WORD $0x92800005 // mov x5, #-1 + WORD $0x92800014 // mov x20, #-1 + WORD $0x17fffb21 // b LBB0_82 $-4988(%rip) +LBB0_334: + WORD $0xaa2703e8 // mvn x8, x7 + WORD $0xcb3a4107 // sub x7, x8, w26, uxtw + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffe5b // b LBB0_243 $-1684(%rip) +LBB0_335: + WORD $0x92800014 // mov x20, #-1 + WORD $0xaa0803f6 // mov x22, x8 + WORD $0xaa1803f5 // mov x21, x24 + WORD $0x92800005 // mov x5, #-1 + WORD $0x9280001e // mov lr, #-1 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffe0f // b LBB0_215 $-1988(%rip) +LBB0_336: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_337: + WORD $0x0a2502b1 // bic w17, w21, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1102b1 // adds w17, w21, w17 + WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0xb5ffcf74 // cbnz x20, LBB0_255 $-1556(%rip) +LBB0_338: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0703f4 // mov x20, x7 +LBB0_339: + WORD $0xb5000ec5 // cbnz x5, LBB0_366 $472(%rip) + WORD $0xb4000314 // cbz x20, LBB0_348 $96(%rip) +LBB0_341: + WORD $0xaa1c03e7 // mov x7, x28 + WORD $0x384014e5 // ldrb w5, [x7], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000260 // b.eq LBB0_347 $76(%rip) + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_344 $20(%rip) + WORD $0xaa0703fc // mov x28, x7 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffef1 // cbnz x17, LBB0_341 $-36(%rip) + WORD $0x14000009 // b LBB0_346 $36(%rip) +LBB0_344: + WORD $0xb4001db1 // cbz x17, LBB0_398 $948(%rip) + WORD $0x8b0b00f1 // add x17, x7, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000a91 // sub x17, x20, #2 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffdd1 // cbnz x17, LBB0_341 $-72(%rip) +LBB0_346: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000060 // b.eq LBB0_348 $12(%rip) + WORD $0x140000e3 // b LBB0_398 $908(%rip) +LBB0_347: + WORD $0xaa0703fc // mov x28, x7 +LBB0_348: + WORD $0xcb09039c // sub x28, x28, x9 + WORD $0x17fffbb5 // b LBB0_122 $-4396(%rip) +LBB0_349: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_350: + WORD $0x0a2500f1 // bic w17, w7, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3600e7 // bic w7, w7, w22 + WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa + WORD $0x2b1100f1 // adds w17, w7, w17 + WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffe6e // b LBB0_260 $-1608(%rip) +LBB0_351: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_352: + WORD $0x0a2502b1 // bic w17, w21, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1102b1 // adds w17, w21, w17 + WORD $0x4a110491 // eor w17, w4, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0xb5ffd6b4 // cbnz x20, LBB0_282 $-1324(%rip) +LBB0_353: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0703f4 // mov x20, x7 +LBB0_354: + WORD $0xb5000865 // cbnz x5, LBB0_370 $268(%rip) + WORD $0xb4000314 // cbz x20, LBB0_363 $96(%rip) +LBB0_356: + WORD $0xaa1c03e7 // mov x7, x28 + WORD $0x384014e5 // ldrb w5, [x7], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000260 // b.eq LBB0_362 $76(%rip) + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_359 $20(%rip) + WORD $0xaa0703fc // mov x28, x7 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffef1 // cbnz x17, LBB0_356 $-36(%rip) + WORD $0x14000009 // b LBB0_361 $36(%rip) +LBB0_359: + WORD $0xb4001551 // cbz x17, LBB0_398 $680(%rip) + WORD $0x8b0b00f1 // add x17, x7, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000a91 // sub x17, x20, #2 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffdd1 // cbnz x17, LBB0_356 $-72(%rip) +LBB0_361: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000060 // b.eq LBB0_363 $12(%rip) + WORD $0x140000a0 // b LBB0_398 $640(%rip) +LBB0_362: + WORD $0xaa0703fc // mov x28, x7 +LBB0_363: + WORD $0xcb09039c // sub x28, x28, x9 + WORD $0x52800084 // mov w4, #4 + WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0xb20903e7 // mov x7, #36028797027352576 + WORD $0xf2800027 // movk x7, #1 + WORD $0xb6ff827c // tbz x28, #63, LBB0_151 $-4020(%rip) + WORD $0x14000096 // b LBB0_397 $600(%rip) +LBB0_364: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090396 // sub x22, x28, x9 + WORD $0x8b1102d1 // add x17, x22, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_365: + WORD $0x0a2500f1 // bic w17, w7, w5 + WORD $0x531f7a36 // lsl w22, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a3600e7 // bic w7, w7, w22 + WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa + WORD $0x2b1100f1 // adds w17, w7, w17 + WORD $0x4a110491 // eor w17, w4, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x52800073 // mov w19, #3 + WORD $0x17fffea3 // b LBB0_287 $-1396(%rip) +LBB0_366: + WORD $0xb4001094 // cbz x20, LBB0_398 $528(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5fff0d4 // cbnz x20, LBB0_341 $-488(%rip) + WORD $0x17ffff9c // b LBB0_348 $-400(%rip) +LBB0_368: + WORD $0xb4000f94 // cbz x20, LBB0_398 $496(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5ffc634 // cbnz x20, LBB0_267 $-1852(%rip) + WORD $0x14000075 // b LBB0_398 $468(%rip) +LBB0_370: + WORD $0xb4000e94 // cbz x20, LBB0_398 $464(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5fff734 // cbnz x20, LBB0_356 $-284(%rip) + WORD $0x17ffffcf // b LBB0_363 $-196(%rip) +LBB0_372: + WORD $0xb4000d94 // cbz x20, LBB0_398 $432(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5ffd3d4 // cbnz x20, LBB0_294 $-1416(%rip) + WORD $0x14000065 // b LBB0_398 $404(%rip) +LBB0_374: + WORD $0xdac002b1 // rbit x17, x21 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090384 // sub x4, x28, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_375: + WORD $0x0a2502b1 // bic w17, w21, w5 + WORD $0x531f7a24 // lsl w4, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a2402a4 // bic w4, w21, w4 + WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa + WORD $0x2b110091 // adds w17, w4, w17 + WORD $0x4a110711 // eor w17, w24, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0xb5ffdaf4 // cbnz x20, LBB0_312 $-1188(%rip) +LBB0_376: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0703f4 // mov x20, x7 +LBB0_377: + WORD $0xb50005c5 // cbnz x5, LBB0_388 $184(%rip) + WORD $0xb4000694 // cbz x20, LBB0_390 $208(%rip) +LBB0_379: + WORD $0xaa1c03e7 // mov x7, x28 + WORD $0x384014e5 // ldrb w5, [x7], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000280 // b.eq LBB0_385 $80(%rip) + WORD $0xd1000691 // sub x17, x20, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_382 $20(%rip) + WORD $0xaa0703fc // mov x28, x7 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffef1 // cbnz x17, LBB0_379 $-36(%rip) + WORD $0x14000009 // b LBB0_384 $36(%rip) +LBB0_382: + WORD $0xb4000871 // cbz x17, LBB0_398 $268(%rip) + WORD $0x8b0b00f1 // add x17, x7, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000a91 // sub x17, x20, #2 + WORD $0xaa1103f4 // mov x20, x17 + WORD $0xb5fffdd1 // cbnz x17, LBB0_379 $-72(%rip) +LBB0_384: + WORD $0x710088bf // cmp w5, #34 + WORD $0x52800073 // mov w19, #3 + WORD $0x54ffeb00 // b.eq LBB0_348 $-672(%rip) + WORD $0x14000038 // b LBB0_398 $224(%rip) +LBB0_385: + WORD $0xaa0703fc // mov x28, x7 + WORD $0x52800073 // mov w19, #3 + WORD $0x17ffff54 // b LBB0_348 $-688(%rip) +LBB0_386: + WORD $0xdac000f1 // rbit x17, x7 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb090384 // sub x4, x28, x9 + WORD $0x8b110091 // add x17, x4, x17 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a911108 // csel x8, x8, x17, ne +LBB0_387: + WORD $0x0a2500f1 // bic w17, w7, w5 + WORD $0x531f7a24 // lsl w4, w17, #1 + WORD $0x331f7a25 // bfi w5, w17, #1, #31 + WORD $0x0a2400e4 // bic w4, w7, w4 + WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa + WORD $0x2b110091 // adds w17, w4, w17 + WORD $0x4a110711 // eor w17, w24, w17, lsl #1 + WORD $0x0a050231 // and w17, w17, w5 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x2a3103f1 // mvn w17, w17 + WORD $0x8a140234 // and x20, x17, x20 + WORD $0x17fffeca // b LBB0_317 $-1240(%rip) +LBB0_388: + WORD $0xb4000454 // cbz x20, LBB0_398 $136(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5fff9d4 // cbnz x20, LBB0_379 $-200(%rip) +LBB0_390: + WORD $0x52800073 // mov w19, #3 + WORD $0x17ffff39 // b LBB0_348 $-796(%rip) +LBB0_391: + WORD $0xb4000334 // cbz x20, LBB0_398 $100(%rip) + WORD $0x8b0b0391 // add x17, x28, x11 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880228 // csel x8, x17, x8, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd1000694 // sub x20, x20, #1 + WORD $0xb5ffda94 // cbnz x20, LBB0_324 $-1200(%rip) + WORD $0x14000012 // b LBB0_398 $72(%rip) +LBB0_393: + WORD $0x92800008 // mov x8, #-1 +LBB0_394: + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xa945fbfd // ldp fp, lr, [sp, #88] + WORD $0xa944cff4 // ldp x20, x19, [sp, #72] + WORD $0xa943d7f6 // ldp x22, x21, [sp, #56] + WORD $0xa942dff8 // ldp x24, x23, [sp, #40] + WORD $0xa941e7fa // ldp x26, x25, [sp, #24] + WORD $0xa940effc // ldp x28, x27, [sp, #8] + WORD $0x9101c3ff // add sp, sp, #112 + WORD $0xd65f03c0 // ret +LBB0_395: + WORD $0x9280001c // mov x28, #-1 + WORD $0xaa1b03e8 // mov x8, x27 + WORD $0x1400000c // b LBB0_403 $48(%rip) +LBB0_396: + WORD $0x928000c8 // mov x8, #-7 + WORD $0x17fffff3 // b LBB0_394 $-52(%rip) +LBB0_397: + WORD $0xb100079f // cmn x28, #1 + WORD $0x54000101 // b.ne LBB0_403 $32(%rip) +LBB0_398: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0x9280001c // mov x28, #-1 + WORD $0x14000005 // b LBB0_403 $20(%rip) +LBB0_399: + WORD $0x92800015 // mov x21, #-1 +LBB0_400: + WORD $0xaa3503f4 // mvn x20, x21 +LBB0_401: + WORD $0x8b1b0288 // add x8, x20, x27 +LBB0_402: + WORD $0x9280003c // mov x28, #-2 +LBB0_403: + WORD $0xf9000028 // str x8, [x1] + WORD $0xaa1c03e8 // mov x8, x28 + WORD $0x17ffffe7 // b LBB0_394 $-100(%rip) +LBB0_404: + WORD $0xb100051f // cmn x8, #1 + WORD $0x54ffff61 // b.ne LBB0_402 $-20(%rip) + WORD $0xdac00228 // rbit x8, x17 + WORD $0xdac01108 // clz x8, x8 + WORD $0x8b1c0108 // add x8, x8, x28 + WORD $0x17fffff7 // b LBB0_402 $-36(%rip) +LBB0_406: + WORD $0x9280001c // mov x28, #-1 + WORD $0x17fffff6 // b LBB0_403 $-40(%rip) +LBB0_407: + WORD $0xaa0803f4 // mov x20, x8 + WORD $0x8b1b0108 // add x8, x8, x27 + WORD $0x17fffff2 // b LBB0_402 $-56(%rip) +LBB0_408: + WORD $0x92800007 // mov x7, #-1 +LBB0_409: + WORD $0xaa2703fe // mvn lr, x7 +LBB0_410: + WORD $0x8b1e0388 // add x8, x28, lr + WORD $0x17ffffee // b LBB0_402 $-72(%rip) +LBB0_411: + WORD $0xf900003b // str x27, [x1] + WORD $0x394003c8 // ldrb w8, [lr] + WORD $0x7101b91f // cmp w8, #110 + WORD $0x54000761 // b.ne LBB0_425 $236(%rip) + WORD $0x91000768 // add x8, x27, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x540006c1 // b.ne LBB0_425 $216(%rip) + WORD $0x91000b68 // add x8, x27, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54000621 // b.ne LBB0_425 $196(%rip) + WORD $0x91000f68 // add x8, x27, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54000581 // b.ne LBB0_425 $176(%rip) + WORD $0x14000014 // b LBB0_419 $80(%rip) +LBB0_415: + WORD $0xf900003b // str x27, [x1] + WORD $0x394003c8 // ldrb w8, [lr] + WORD $0x7101d11f // cmp w8, #116 + WORD $0x540004e1 // b.ne LBB0_425 $156(%rip) + WORD $0x91000768 // add x8, x27, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101c91f // cmp w8, #114 + WORD $0x54000441 // b.ne LBB0_425 $136(%rip) + WORD $0x91000b68 // add x8, x27, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x540003a1 // b.ne LBB0_425 $116(%rip) + WORD $0x91000f68 // add x8, x27, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101951f // cmp w8, #101 + WORD $0x54000301 // b.ne LBB0_425 $96(%rip) +LBB0_419: + WORD $0x91001368 // add x8, x27, #4 + WORD $0x17ffffc5 // b LBB0_402 $-236(%rip) +LBB0_420: + WORD $0xf900003c // str x28, [x1] + WORD $0x387c6928 // ldrb w8, [x9, x28] + WORD $0x7101851f // cmp w8, #97 + WORD $0x54000241 // b.ne LBB0_425 $72(%rip) + WORD $0x91000b68 // add x8, x27, #2 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x540001a1 // b.ne LBB0_425 $52(%rip) + WORD $0x91000f68 // add x8, x27, #3 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101cd1f // cmp w8, #115 + WORD $0x54000101 // b.ne LBB0_425 $32(%rip) + WORD $0x91001368 // add x8, x27, #4 + WORD $0xf9000028 // str x8, [x1] + WORD $0x38686928 // ldrb w8, [x9, x8] + WORD $0x7101951f // cmp w8, #101 + WORD $0x54000061 // b.ne LBB0_425 $12(%rip) + WORD $0x91001768 // add x8, x27, #5 + WORD $0x17ffffb0 // b LBB0_402 $-320(%rip) +LBB0_425: + WORD $0x92800028 // mov x8, #-2 + WORD $0x17ffff98 // b LBB0_394 $-416(%rip) +LBB0_426: + WORD $0xaa1403fe // mov lr, x20 + WORD $0x8b140388 // add x8, x28, x20 + WORD $0x17ffffab // b LBB0_402 $-340(%rip) +LBB0_427: + WORD $0x8b1c0228 // add x8, x17, x28 + WORD $0x17ffffa9 // b LBB0_402 $-348(%rip) +LBB0_428: + WORD $0x8b1100a8 // add x8, x5, x17 + WORD $0x17ffffa7 // b LBB0_402 $-356(%rip) +LBB0_429: + WORD $0xcb090388 // sub x8, x28, x9 + WORD $0x8b110108 // add x8, x8, x17 + WORD $0x17ffffa4 // b LBB0_402 $-368(%rip) +LBB0_430: + WORD $0xcb090388 // sub x8, x28, x9 + WORD $0x8b050108 // add x8, x8, x5 + WORD $0x17ffffa1 // b LBB0_402 $-380(%rip) + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + +TEXT ·__validate_one(SB), NOSPLIT, $0-32 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $176, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_validate_one: + MOVD s+0(FP), R0 + MOVD p+8(FP), R1 + MOVD m+16(FP), R2 + MOVD ·_subr__validate_one(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+24(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_subr_arm64.go new file mode 100644 index 0000000..cbebeb0 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_one_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __validate_one_entry__() uintptr + +var ( + _subr__validate_one uintptr = __validate_one_entry__() + 48 +) + +const ( + _stack__validate_one = 112 +) + +var ( + _ = _subr__validate_one +) + +const ( + _ = _stack__validate_one +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_arm64.go new file mode 100644 index 0000000..11b409a --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_arm64.go @@ -0,0 +1,38 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + // `unsafe` + + `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) { + return __validate_utf8(s, p, m) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) + diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_arm64.s new file mode 100644 index 0000000..f36d7ed --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_arm64.s @@ -0,0 +1,222 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__validate_utf8_entry__(SB), NOSPLIT, $48 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 2, 0x00 +_validate_utf8: + WORD $0xd10103ff // sub sp, sp, #64 + WORD $0xa901cff4 // stp x20, x19, [sp, #24] + WORD $0xa902fbfd // stp fp, lr, [sp, #40] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xa9402408 // ldp x8, x9, [x0] + WORD $0xf940002c // ldr x12, [x1] + WORD $0x8b09010a // add x10, x8, x9 + WORD $0xd1000d4b // sub x11, x10, #3 + WORD $0x8b0c0109 // add x9, x8, x12 + WORD $0xeb0b013f // cmp x9, x11 + WORD $0x54000722 // b.hs LBB0_15 $228(%rip) + WORD $0x52981e0c // mov w12, #49392 + WORD $0x72a0180c // movk w12, #192, lsl #16 + WORD $0x52901c0d // mov w13, #32992 + WORD $0x72a0100d // movk w13, #128, lsl #16 + WORD $0x9100204e // add x14, x2, #8 + WORD $0x528401ef // mov w15, #8207 + WORD $0x528401b0 // mov w16, #8205 + WORD $0x52981c11 // mov w17, #49376 + WORD $0x52901800 // mov w0, #32960 + WORD $0x52981f03 // mov w3, #49400 + WORD $0x72b81803 // movk w3, #49344, lsl #16 + WORD $0x528600e4 // mov w4, #12295 + WORD $0x52901e05 // mov w5, #33008 + WORD $0x72b01005 // movk w5, #32896, lsl #16 + WORD $0x52860066 // mov w6, #12291 + WORD $0x14000005 // b LBB0_4 $20(%rip) +LBB0_2: + WORD $0x52800033 // mov w19, #1 +LBB0_3: + WORD $0x8b130129 // add x9, x9, x19 + WORD $0xeb0b013f // cmp x9, x11 + WORD $0x540004a2 // b.hs LBB0_15 $148(%rip) +LBB0_4: + WORD $0x39c00127 // ldrsb w7, [x9] + WORD $0x36ffff67 // tbz w7, #31, LBB0_2 $-20(%rip) + WORD $0xb9400127 // ldr w7, [x9] + WORD $0x0a0c00f3 // and w19, w7, w12 + WORD $0x6b0d027f // cmp w19, w13 + WORD $0x0a0f00f3 // and w19, w7, w15 + WORD $0x7a500264 // ccmp w19, w16, #4, eq + WORD $0x7a401a64 // ccmp w19, #0, #4, ne + WORD $0x54000341 // b.ne LBB0_14 $104(%rip) + WORD $0x0a1100f3 // and w19, w7, w17 + WORD $0x121f0cf4 // and w20, w7, #0x1e + WORD $0x6b00027f // cmp w19, w0 + WORD $0x7a400a84 // ccmp w20, #0, #4, eq + WORD $0x54000261 // b.ne LBB0_13 $76(%rip) + WORD $0x0a0300f3 // and w19, w7, w3 + WORD $0x6b05027f // cmp w19, w5 + WORD $0x540000e1 // b.ne LBB0_11 $28(%rip) + WORD $0x0a0400f3 // and w19, w7, w4 + WORD $0x340000b3 // cbz w19, LBB0_11 $20(%rip) + WORD $0x52800093 // mov w19, #4 + WORD $0x3617fd27 // tbz w7, #2, LBB0_3 $-92(%rip) + WORD $0x0a0600e7 // and w7, w7, w6 + WORD $0x34fffce7 // cbz w7, LBB0_3 $-100(%rip) +LBB0_11: + WORD $0xcb080127 // sub x7, x9, x8 + WORD $0xf9400053 // ldr x19, [x2] + WORD $0xf140067f // cmp x19, #1, lsl #12 + WORD $0x54000c62 // b.hs LBB0_33 $396(%rip) + WORD $0x93407ce7 // sxtw x7, w7 + WORD $0x91000674 // add x20, x19, #1 + WORD $0xf9000054 // str x20, [x2] + WORD $0xf83379c7 // str x7, [x14, x19, lsl #3] + WORD $0x17ffffdd // b LBB0_2 $-140(%rip) +LBB0_13: + WORD $0x52800053 // mov w19, #2 + WORD $0x17ffffdc // b LBB0_3 $-144(%rip) +LBB0_14: + WORD $0x52800073 // mov w19, #3 + WORD $0x17ffffda // b LBB0_3 $-152(%rip) +LBB0_15: + WORD $0xeb0a013f // cmp x9, x10 + WORD $0x54000962 // b.hs LBB0_31 $300(%rip) + WORD $0x52981e0b // mov w11, #49392 + WORD $0x72a0180b // movk w11, #192, lsl #16 + WORD $0x52901c0c // mov w12, #32992 + WORD $0x72a0100c // movk w12, #128, lsl #16 + WORD $0x9100204d // add x13, x2, #8 + WORD $0x528401ee // mov w14, #8207 + WORD $0x528401af // mov w15, #8205 + WORD $0x52981c10 // mov w16, #49376 + WORD $0x52901811 // mov w17, #32960 + WORD $0x14000004 // b LBB0_18 $16(%rip) +LBB0_17: + WORD $0x91000529 // add x9, x9, #1 + WORD $0xeb0a013f // cmp x9, x10 + WORD $0x540007c2 // b.hs LBB0_31 $248(%rip) +LBB0_18: + WORD $0x39c00120 // ldrsb w0, [x9] + WORD $0x36ffff80 // tbz w0, #31, LBB0_17 $-16(%rip) + WORD $0x390053ff // strb wzr, [sp, #20] + WORD $0x39004bff // strb wzr, [sp, #18] + WORD $0xcb090145 // sub x5, x10, x9 + WORD $0xf10008a7 // subs x7, x5, #2 + WORD $0x540001a3 // b.lo LBB0_22 $52(%rip) + WORD $0x39400120 // ldrb w0, [x9] + WORD $0x39400523 // ldrb w3, [x9, #1] + WORD $0x390053e0 // strb w0, [sp, #20] + WORD $0x91000926 // add x6, x9, #2 + WORD $0x91004be4 // add x4, sp, #18 + WORD $0xaa0703e5 // mov x5, x7 + WORD $0xb4000167 // cbz x7, LBB0_23 $44(%rip) +LBB0_21: + WORD $0x394000c0 // ldrb w0, [x6] + WORD $0x39000080 // strb w0, [x4] + WORD $0x394053e0 // ldrb w0, [sp, #20] + WORD $0x39404be4 // ldrb w4, [sp, #18] + WORD $0x14000007 // b LBB0_24 $28(%rip) +LBB0_22: + WORD $0x52800000 // mov w0, #0 + WORD $0x52800003 // mov w3, #0 + WORD $0x910053e4 // add x4, sp, #20 + WORD $0xaa0903e6 // mov x6, x9 + WORD $0xb5fffee5 // cbnz x5, LBB0_21 $-36(%rip) +LBB0_23: + WORD $0x52800004 // mov w4, #0 +LBB0_24: + WORD $0x53185c63 // lsl w3, w3, #8 + WORD $0x2a044063 // orr w3, w3, w4, lsl #16 + WORD $0x2a000063 // orr w3, w3, w0 + WORD $0x0a0b0064 // and w4, w3, w11 + WORD $0x6b0c009f // cmp w4, w12 + WORD $0x0a0e0064 // and w4, w3, w14 + WORD $0x7a4f0084 // ccmp w4, w15, #4, eq + WORD $0x7a401884 // ccmp w4, #0, #4, ne + WORD $0x54000301 // b.ne LBB0_30 $96(%rip) + WORD $0x721f0c1f // tst w0, #0x1e + WORD $0x54000120 // b.eq LBB0_28 $36(%rip) + WORD $0x0a100060 // and w0, w3, w16 + WORD $0x6b11001f // cmp w0, w17 + WORD $0x540000c1 // b.ne LBB0_28 $24(%rip) + WORD $0x52800040 // mov w0, #2 + WORD $0x8b000129 // add x9, x9, x0 + WORD $0xeb0a013f // cmp x9, x10 + WORD $0x54fffac3 // b.lo LBB0_18 $-168(%rip) + WORD $0x14000012 // b LBB0_31 $72(%rip) +LBB0_28: + WORD $0xcb080120 // sub x0, x9, x8 + WORD $0xf9400043 // ldr x3, [x2] + WORD $0xf140047f // cmp x3, #1, lsl #12 + WORD $0x540002a2 // b.hs LBB0_32 $84(%rip) + WORD $0x93407c00 // sxtw x0, w0 + WORD $0x91000464 // add x4, x3, #1 + WORD $0xf9000044 // str x4, [x2] + WORD $0xf82379a0 // str x0, [x13, x3, lsl #3] + WORD $0x52800020 // mov w0, #1 + WORD $0x8b000129 // add x9, x9, x0 + WORD $0xeb0a013f // cmp x9, x10 + WORD $0x54fff923 // b.lo LBB0_18 $-220(%rip) + WORD $0x14000005 // b LBB0_31 $20(%rip) +LBB0_30: + WORD $0x52800060 // mov w0, #3 + WORD $0x8b000129 // add x9, x9, x0 + WORD $0xeb0a013f // cmp x9, x10 + WORD $0x54fff883 // b.lo LBB0_18 $-240(%rip) +LBB0_31: + WORD $0xd2800000 // mov x0, #0 + WORD $0xcb080128 // sub x8, x9, x8 + WORD $0xf9000028 // str x8, [x1] + WORD $0xa942fbfd // ldp fp, lr, [sp, #40] + WORD $0xa941cff4 // ldp x20, x19, [sp, #24] + WORD $0x910103ff // add sp, sp, #64 + WORD $0xd65f03c0 // ret +LBB0_32: + WORD $0xf9000020 // str x0, [x1] + WORD $0x92800000 // mov x0, #-1 + WORD $0xa942fbfd // ldp fp, lr, [sp, #40] + WORD $0xa941cff4 // ldp x20, x19, [sp, #24] + WORD $0x910103ff // add sp, sp, #64 + WORD $0xd65f03c0 // ret +LBB0_33: + WORD $0xf9000027 // str x7, [x1] + WORD $0x92800000 // mov x0, #-1 + WORD $0xa942fbfd // ldp fp, lr, [sp, #40] + WORD $0xa941cff4 // ldp x20, x19, [sp, #24] + WORD $0x910103ff // add sp, sp, #64 + WORD $0xd65f03c0 // ret + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + +TEXT ·__validate_utf8(SB), NOSPLIT, $0-32 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $128, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_validate_utf8: + MOVD s+0(FP), R0 + MOVD p+8(FP), R1 + MOVD m+16(FP), R2 + MOVD ·_subr__validate_utf8(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+24(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_arm64.go new file mode 100644 index 0000000..dadcad5 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_arm64.go @@ -0,0 +1,31 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +//go:nosplit +func validate_utf8_fast(s *string) (ret int) { + return __validate_utf8_fast(s) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __validate_utf8_fast(s *string) (ret int) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_arm64.s new file mode 100644 index 0000000..20592cd --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_arm64.s @@ -0,0 +1,182 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__validate_utf8_fast_entry__(SB), NOSPLIT, $32 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 2, 0x00 +_validate_utf8_fast: + WORD $0xd100c3ff // sub sp, sp, #48 + WORD $0xa901fbfd // stp fp, lr, [sp, #24] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xa9402408 // ldp x8, x9, [x0] + WORD $0x8b090109 // add x9, x8, x9 + WORD $0xd1000d2b // sub x11, x9, #3 + WORD $0xeb0b011f // cmp x8, x11 + WORD $0x54000622 // b.hs LBB0_13 $196(%rip) + WORD $0x52981e0c // mov w12, #49392 + WORD $0x72a0180c // movk w12, #192, lsl #16 + WORD $0x52901c0d // mov w13, #32992 + WORD $0x72a0100d // movk w13, #128, lsl #16 + WORD $0x528401ee // mov w14, #8207 + WORD $0x528401af // mov w15, #8205 + WORD $0x52981c10 // mov w16, #49376 + WORD $0x52901811 // mov w17, #32960 + WORD $0x52981f00 // mov w0, #49400 + WORD $0x72b81800 // movk w0, #49344, lsl #16 + WORD $0x528600e1 // mov w1, #12295 + WORD $0x52901e02 // mov w2, #33008 + WORD $0x72b01002 // movk w2, #32896, lsl #16 + WORD $0x52860063 // mov w3, #12291 + WORD $0xaa0803ea // mov x10, x8 + WORD $0x14000005 // b LBB0_4 $20(%rip) +LBB0_2: + WORD $0x52800025 // mov w5, #1 +LBB0_3: + WORD $0x8b05014a // add x10, x10, x5 + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x540003c2 // b.hs LBB0_14 $120(%rip) +LBB0_4: + WORD $0x39c00144 // ldrsb w4, [x10] + WORD $0x36ffff64 // tbz w4, #31, LBB0_2 $-20(%rip) + WORD $0xb9400144 // ldr w4, [x10] + WORD $0x0a0c0085 // and w5, w4, w12 + WORD $0x6b0d00bf // cmp w5, w13 + WORD $0x0a0e0085 // and w5, w4, w14 + WORD $0x7a4f00a4 // ccmp w5, w15, #4, eq + WORD $0x7a4018a4 // ccmp w5, #0, #4, ne + WORD $0x54000241 // b.ne LBB0_12 $72(%rip) + WORD $0x0a100085 // and w5, w4, w16 + WORD $0x121f0c86 // and w6, w4, #0x1e + WORD $0x6b1100bf // cmp w5, w17 + WORD $0x7a4008c4 // ccmp w6, #0, #4, eq + WORD $0x54000161 // b.ne LBB0_11 $44(%rip) + WORD $0x0a000085 // and w5, w4, w0 + WORD $0x6b0200bf // cmp w5, w2 + WORD $0x54000981 // b.ne LBB0_30 $304(%rip) + WORD $0x0a010085 // and w5, w4, w1 + WORD $0x34000945 // cbz w5, LBB0_30 $296(%rip) + WORD $0x52800085 // mov w5, #4 + WORD $0x3617fd24 // tbz w4, #2, LBB0_3 $-92(%rip) + WORD $0x0a030084 // and w4, w4, w3 + WORD $0x34fffce4 // cbz w4, LBB0_3 $-100(%rip) + WORD $0x14000045 // b LBB0_30 $276(%rip) +LBB0_11: + WORD $0x52800045 // mov w5, #2 + WORD $0x17ffffe4 // b LBB0_3 $-112(%rip) +LBB0_12: + WORD $0x52800065 // mov w5, #3 + WORD $0x17ffffe2 // b LBB0_3 $-120(%rip) +LBB0_13: + WORD $0xaa0803ea // mov x10, x8 +LBB0_14: + WORD $0xeb09015f // cmp x10, x9 + WORD $0x54000742 // b.hs LBB0_29 $232(%rip) + WORD $0x52981e0b // mov w11, #49392 + WORD $0x72a0180b // movk w11, #192, lsl #16 + WORD $0x52901c0c // mov w12, #32992 + WORD $0x72a0100c // movk w12, #128, lsl #16 + WORD $0x528401ed // mov w13, #8207 + WORD $0x528401ae // mov w14, #8205 + WORD $0x52981c0f // mov w15, #49376 + WORD $0x52901810 // mov w16, #32960 + WORD $0x14000004 // b LBB0_18 $16(%rip) +LBB0_16: + WORD $0x9100054a // add x10, x10, #1 +LBB0_17: + WORD $0xeb09015f // cmp x10, x9 + WORD $0x540005c2 // b.hs LBB0_29 $184(%rip) +LBB0_18: + WORD $0x39c00151 // ldrsb w17, [x10] + WORD $0x36ffff91 // tbz w17, #31, LBB0_16 $-16(%rip) + WORD $0x390053ff // strb wzr, [sp, #20] + WORD $0x39004bff // strb wzr, [sp, #18] + WORD $0xcb0a0122 // sub x2, x9, x10 + WORD $0xf1000844 // subs x4, x2, #2 + WORD $0x540001a3 // b.lo LBB0_22 $52(%rip) + WORD $0x39400151 // ldrb w17, [x10] + WORD $0x39400540 // ldrb w0, [x10, #1] + WORD $0x390053f1 // strb w17, [sp, #20] + WORD $0x91000943 // add x3, x10, #2 + WORD $0x91004be1 // add x1, sp, #18 + WORD $0xaa0403e2 // mov x2, x4 + WORD $0xb4000164 // cbz x4, LBB0_23 $44(%rip) +LBB0_21: + WORD $0x39400071 // ldrb w17, [x3] + WORD $0x39000031 // strb w17, [x1] + WORD $0x394053f1 // ldrb w17, [sp, #20] + WORD $0x39404be1 // ldrb w1, [sp, #18] + WORD $0x14000007 // b LBB0_24 $28(%rip) +LBB0_22: + WORD $0x52800011 // mov w17, #0 + WORD $0x52800000 // mov w0, #0 + WORD $0x910053e1 // add x1, sp, #20 + WORD $0xaa0a03e3 // mov x3, x10 + WORD $0xb5fffee2 // cbnz x2, LBB0_21 $-36(%rip) +LBB0_23: + WORD $0x52800001 // mov w1, #0 +LBB0_24: + WORD $0x53185c00 // lsl w0, w0, #8 + WORD $0x2a014000 // orr w0, w0, w1, lsl #16 + WORD $0x2a110000 // orr w0, w0, w17 + WORD $0x0a0b0001 // and w1, w0, w11 + WORD $0x6b0c003f // cmp w1, w12 + WORD $0x0a0d0001 // and w1, w0, w13 + WORD $0x7a4e0024 // ccmp w1, w14, #4, eq + WORD $0x7a401824 // ccmp w1, #0, #4, ne + WORD $0x54000121 // b.ne LBB0_28 $36(%rip) + WORD $0x721f0e3f // tst w17, #0x1e + WORD $0x540001c0 // b.eq LBB0_30 $56(%rip) + WORD $0x0a0f0011 // and w17, w0, w15 + WORD $0x6b10023f // cmp w17, w16 + WORD $0x54000161 // b.ne LBB0_30 $44(%rip) + WORD $0x52800051 // mov w17, #2 + WORD $0x8b11014a // add x10, x10, x17 + WORD $0x17ffffd5 // b LBB0_17 $-172(%rip) +LBB0_28: + WORD $0x52800071 // mov w17, #3 + WORD $0x8b11014a // add x10, x10, x17 + WORD $0x17ffffd2 // b LBB0_17 $-184(%rip) +LBB0_29: + WORD $0xd2800000 // mov x0, #0 + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] + WORD $0x9100c3ff // add sp, sp, #48 + WORD $0xd65f03c0 // ret +LBB0_30: + WORD $0xaa2a03e9 // mvn x9, x10 + WORD $0x8b080120 // add x0, x9, x8 + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] + WORD $0x9100c3ff // add sp, sp, #48 + WORD $0xd65f03c0 // ret + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + +TEXT ·__validate_utf8_fast(SB), NOSPLIT, $0-16 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $112, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_validate_utf8_fast: + MOVD s+0(FP), R0 + MOVD ·_subr__validate_utf8_fast(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+8(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_subr_arm64.go new file mode 100644 index 0000000..c5fd3ba --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_fast_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __validate_utf8_fast_entry__() uintptr + +var ( + _subr__validate_utf8_fast uintptr = __validate_utf8_fast_entry__() + 0 +) + +const ( + _stack__validate_utf8_fast = 48 +) + +var ( + _ = _subr__validate_utf8_fast +) + +const ( + _ = _stack__validate_utf8_fast +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_subr_arm64.go new file mode 100644 index 0000000..b79f6e8 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/validate_utf8_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __validate_utf8_entry__() uintptr + +var ( + _subr__validate_utf8 uintptr = __validate_utf8_entry__() + 0 +) + +const ( + _stack__validate_utf8 = 64 +) + +var ( + _ = _subr__validate_utf8 +) + +const ( + _ = _stack__validate_utf8 +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/value_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/value_arm64.go new file mode 100644 index 0000000..7add30d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/value_arm64.go @@ -0,0 +1,34 @@ + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + `unsafe` + `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int) { + return __value(s, n, p, v, flags) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int) + diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/value_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/value_arm64.s new file mode 100644 index 0000000..e7795b0 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/value_arm64.s @@ -0,0 +1,5968 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__value_entry__(SB), NOSPLIT, $96 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 4, 0x00 +lCPI0_0: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_1: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_value: + WORD $0xd101c3ff // sub sp, sp, #112 + WORD $0xa900effc // stp x28, x27, [sp, #8] + WORD $0xa901e7fa // stp x26, x25, [sp, #24] + WORD $0xa902dff8 // stp x24, x23, [sp, #40] + WORD $0xa903d7f6 // stp x22, x21, [sp, #56] + WORD $0xa904cff4 // stp x20, x19, [sp, #72] + WORD $0xa905fbfd // stp fp, lr, [sp, #88] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xeb01005f // cmp x2, x1 + WORD $0x54000162 // b.hs LBB0_5 $44(%rip) + WORD $0x38626808 // ldrb w8, [x0, x2] + WORD $0x7100351f // cmp w8, #13 + WORD $0x54000100 // b.eq LBB0_5 $32(%rip) + WORD $0x7100811f // cmp w8, #32 + WORD $0x540000c0 // b.eq LBB0_5 $24(%rip) + WORD $0x51002d09 // sub w9, w8, #11 + WORD $0x3100093f // cmn w9, #2 + WORD $0x54000062 // b.hs LBB0_5 $12(%rip) + WORD $0xaa0203ea // mov x10, x2 + WORD $0x14000042 // b LBB0_27 $264(%rip) +LBB0_5: + WORD $0x9100044a // add x10, x2, #1 + WORD $0xeb01015f // cmp x10, x1 + WORD $0x54000122 // b.hs LBB0_9 $36(%rip) + WORD $0x386a6808 // ldrb w8, [x0, x10] + WORD $0x7100351f // cmp w8, #13 + WORD $0x540000c0 // b.eq LBB0_9 $24(%rip) + WORD $0x7100811f // cmp w8, #32 + WORD $0x54000080 // b.eq LBB0_9 $16(%rip) + WORD $0x51002d09 // sub w9, w8, #11 + WORD $0x3100093f // cmn w9, #2 + WORD $0x540006e3 // b.lo LBB0_27 $220(%rip) +LBB0_9: + WORD $0x9100084a // add x10, x2, #2 + WORD $0xeb01015f // cmp x10, x1 + WORD $0x54000122 // b.hs LBB0_13 $36(%rip) + WORD $0x386a6808 // ldrb w8, [x0, x10] + WORD $0x7100351f // cmp w8, #13 + WORD $0x540000c0 // b.eq LBB0_13 $24(%rip) + WORD $0x7100811f // cmp w8, #32 + WORD $0x54000080 // b.eq LBB0_13 $16(%rip) + WORD $0x51002d09 // sub w9, w8, #11 + WORD $0x3100093f // cmn w9, #2 + WORD $0x54000583 // b.lo LBB0_27 $176(%rip) +LBB0_13: + WORD $0x91000c4a // add x10, x2, #3 + WORD $0xeb01015f // cmp x10, x1 + WORD $0x54000122 // b.hs LBB0_17 $36(%rip) + WORD $0x386a6808 // ldrb w8, [x0, x10] + WORD $0x7100351f // cmp w8, #13 + WORD $0x540000c0 // b.eq LBB0_17 $24(%rip) + WORD $0x7100811f // cmp w8, #32 + WORD $0x54000080 // b.eq LBB0_17 $16(%rip) + WORD $0x51002d09 // sub w9, w8, #11 + WORD $0x3100093f // cmn w9, #2 + WORD $0x54000423 // b.lo LBB0_27 $132(%rip) +LBB0_17: + WORD $0x9100104a // add x10, x2, #4 + WORD $0xeb01015f // cmp x10, x1 + WORD $0x540001c2 // b.hs LBB0_21 $56(%rip) + WORD $0x52800028 // mov w8, #1 + WORD $0xd284c009 // mov x9, #9728 + WORD $0xf2c00029 // movk x9, #1, lsl #32 +LBB0_19: + WORD $0x386a680b // ldrb w11, [x0, x10] + WORD $0x7100817f // cmp w11, #32 + WORD $0x9acb210b // lsl x11, x8, x11 + WORD $0x8a09016b // and x11, x11, x9 + WORD $0xfa409964 // ccmp x11, #0, #4, ls + WORD $0x54000240 // b.eq LBB0_25 $72(%rip) + WORD $0x9100054a // add x10, x10, #1 + WORD $0xeb0a003f // cmp x1, x10 + WORD $0x54ffff01 // b.ne LBB0_19 $-32(%rip) + WORD $0x14000002 // b LBB0_22 $8(%rip) +LBB0_21: + WORD $0xaa0a03e2 // mov x2, x10 +LBB0_22: + WORD $0x52800028 // mov w8, #1 +LBB0_23: + WORD $0xf9000068 // str x8, [x3] + WORD $0xaa0203e1 // mov x1, x2 +LBB0_24: + WORD $0xaa0103e0 // mov x0, x1 + WORD $0xa945fbfd // ldp fp, lr, [sp, #88] + WORD $0xa944cff4 // ldp x20, x19, [sp, #72] + WORD $0xa943d7f6 // ldp x22, x21, [sp, #56] + WORD $0xa942dff8 // ldp x24, x23, [sp, #40] + WORD $0xa941e7fa // ldp x26, x25, [sp, #24] + WORD $0xa940effc // ldp x28, x27, [sp, #8] + WORD $0x9101c3ff // add sp, sp, #112 + WORD $0xd65f03c0 // ret +LBB0_25: + WORD $0xeb01015f // cmp x10, x1 + WORD $0x54fffe62 // b.hs LBB0_22 $-52(%rip) + WORD $0x386a6808 // ldrb w8, [x0, x10] +LBB0_27: + WORD $0x7101f51f // cmp w8, #125 + WORD $0x54003028 // b.hi LBB0_109 $1540(%rip) + WORD $0x91000542 // add x2, x10, #1 + WORD $0x2a0803e9 // mov w9, w8 +Lloh0: + WORD $0x1001142b // adr x11, LJTI0_0 $8836(%rip) +Lloh1: + WORD $0x9100016b // add x11, x11, LJTI0_0@PAGEOFF $0(%rip) + WORD $0x10fffd6c // adr x12, LBB0_22 $-84(%rip) + WORD $0x7869796d // ldrh w13, [x11, x9, lsl #1] + WORD $0x8b0d098c // add x12, x12, x13, lsl #2 + WORD $0xd61f0180 // br x12 +LBB0_29: + WORD $0x8b0a000d // add x13, x0, x10 + WORD $0x370801e4 // tbnz w4, #1, LBB0_34 $60(%rip) + WORD $0xa9422468 // ldp x8, x9, [x3, #32] + WORD $0x5280012b // mov w11, #9 + WORD $0xa9007c6b // stp x11, xzr, [x3] + WORD $0xa901287f // stp xzr, x10, [x3, #16] + WORD $0xeb0a003f // cmp x1, x10 + WORD $0x54005be9 // b.ls LBB0_194 $2940(%rip) + WORD $0x394001ab // ldrb w11, [x13] + WORD $0x7100b57f // cmp w11, #45 + WORD $0x540002c1 // b.ne LBB0_39 $88(%rip) + WORD $0xeb02003f // cmp x1, x2 + WORD $0x54005b49 // b.ls LBB0_194 $2920(%rip) + WORD $0x3862680c // ldrb w12, [x0, x2] + WORD $0x1280000e // mov w14, #-1 + WORD $0x14000014 // b LBB0_40 $80(%rip) +LBB0_34: + WORD $0x7100b51f // cmp w8, #45 + WORD $0x1a9f17ee // cset w14, eq + WORD $0x9a8d15a8 // cinc x8, x13, eq + WORD $0xcb0a0029 // sub x9, x1, x10 + WORD $0xeb0e012d // subs x13, x9, x14 + WORD $0x5400e220 // b.eq LBB0_478 $7236(%rip) + WORD $0x39400109 // ldrb w9, [x8] + WORD $0x5100e92b // sub w11, w9, #58 + WORD $0x31002d7f // cmn w11, #11 + WORD $0x54004489 // b.ls LBB0_143 $2192(%rip) + WORD $0x7100c13f // cmp w9, #48 + WORD $0x54000301 // b.ne LBB0_44 $96(%rip) + WORD $0xf10005bf // cmp x13, #1 + WORD $0x54000161 // b.ne LBB0_42 $44(%rip) + WORD $0x5280002f // mov w15, #1 + WORD $0x1400017b // b LBB0_120 $1516(%rip) +LBB0_39: + WORD $0x5280002e // mov w14, #1 + WORD $0xaa0b03ec // mov x12, x11 + WORD $0xaa0a03e2 // mov x2, x10 +LBB0_40: + WORD $0x5100e98f // sub w15, w12, #58 + WORD $0x31002dff // cmn w15, #11 + WORD $0x54001548 // b.hi LBB0_83 $680(%rip) + WORD $0x92800028 // mov x8, #-2 + WORD $0x17ffffc1 // b LBB0_23 $-252(%rip) +LBB0_42: + WORD $0x39400509 // ldrb w9, [x8, #1] + WORD $0x5280002f // mov w15, #1 + WORD $0x5100b929 // sub w9, w9, #46 + WORD $0x7100dd3f // cmp w9, #55 + WORD $0x54002dc8 // b.hi LBB0_120 $1464(%rip) + WORD $0x5280002b // mov w11, #1 + WORD $0x9ac92169 // lsl x9, x11, x9 + WORD $0xb20903eb // mov x11, #36028797027352576 + WORD $0xf280002b // movk x11, #1 + WORD $0xea0b013f // tst x9, x11 + WORD $0x54002d00 // b.eq LBB0_120 $1440(%rip) +LBB0_44: + WORD $0xf10041bf // cmp x13, #16 + WORD $0x5400e1a3 // b.lo LBB0_486 $7220(%rip) + WORD $0xd2800010 // mov x16, #0 + WORD $0xd280000f // mov x15, #0 + WORD $0x92800009 // mov x9, #-1 + WORD $0x4f01e5c0 // movi.16b v0, #46 + WORD $0x4f01e561 // movi.16b v1, #43 + WORD $0x4f01e5a2 // movi.16b v2, #45 + WORD $0x4f06e603 // movi.16b v3, #208 + WORD $0x4f00e544 // movi.16b v4, #10 +Lloh2: + WORD $0x10ffeb6b // adr x11, lCPI0_0 $-660(%rip) +Lloh3: + WORD $0x3dc00165 // ldr q5, [x11, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x4f06e7e6 // movi.16b v6, #223 + WORD $0x4f02e4a7 // movi.16b v7, #69 +Lloh4: + WORD $0x10ffeb6b // adr x11, lCPI0_1 $-660(%rip) +Lloh5: + WORD $0x3dc00170 // ldr q16, [x11, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x12800011 // mov w17, #-1 + WORD $0x9280000c // mov x12, #-1 + WORD $0x9280000b // mov x11, #-1 +LBB0_46: + WORD $0x3cef6911 // ldr q17, [x8, x15] + WORD $0x6e208e32 // cmeq.16b v18, v17, v0 + WORD $0x6e218e33 // cmeq.16b v19, v17, v1 + WORD $0x6e228e34 // cmeq.16b v20, v17, v2 + WORD $0x4e238635 // add.16b v21, v17, v3 + WORD $0x6e353495 // cmhi.16b v21, v4, v21 + WORD $0x4e261e31 // and.16b v17, v17, v6 + WORD $0x6e278e31 // cmeq.16b v17, v17, v7 + WORD $0x4eb41e73 // orr.16b v19, v19, v20 + WORD $0x4eb21eb4 // orr.16b v20, v21, v18 + WORD $0x4eb31e35 // orr.16b v21, v17, v19 + WORD $0x4eb51e94 // orr.16b v20, v20, v21 + WORD $0x4e251e52 // and.16b v18, v18, v5 + WORD $0x4e100252 // tbl.16b v18, { v18 }, v16 + WORD $0x4e71ba52 // addv.8h h18, v18 + WORD $0x1e260242 // fmov w2, s18 + WORD $0x4e251e31 // and.16b v17, v17, v5 + WORD $0x4e100231 // tbl.16b v17, { v17 }, v16 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260224 // fmov w4, s17 + WORD $0x4e251e71 // and.16b v17, v19, v5 + WORD $0x4e100231 // tbl.16b v17, { v17 }, v16 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260226 // fmov w6, s17 + WORD $0x4e251e91 // and.16b v17, v20, v5 + WORD $0x4e100231 // tbl.16b v17, { v17 }, v16 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260221 // fmov w1, s17 + WORD $0x2a2103e1 // mvn w1, w1 + WORD $0x32103c21 // orr w1, w1, #0xffff0000 + WORD $0x5ac00021 // rbit w1, w1 + WORD $0x5ac01021 // clz w1, w1 + WORD $0x1ac12225 // lsl w5, w17, w1 + WORD $0x0a250047 // bic w7, w2, w5 + WORD $0x0a250093 // bic w19, w4, w5 + WORD $0x0a2500d4 // bic w20, w6, w5 + WORD $0x7100403f // cmp w1, #16 + WORD $0x1a870045 // csel w5, w2, w7, eq + WORD $0x1a930084 // csel w4, w4, w19, eq + WORD $0x1a9400c2 // csel w2, w6, w20, eq + WORD $0x510004a6 // sub w6, w5, #1 + WORD $0x6a0500c6 // ands w6, w6, w5 + WORD $0x54004aa1 // b.ne LBB0_185 $2388(%rip) + WORD $0x51000486 // sub w6, w4, #1 + WORD $0x6a0400c6 // ands w6, w6, w4 + WORD $0x54004a41 // b.ne LBB0_185 $2376(%rip) + WORD $0x51000446 // sub w6, w2, #1 + WORD $0x6a0200c6 // ands w6, w6, w2 + WORD $0x540049e1 // b.ne LBB0_185 $2364(%rip) + WORD $0x340000c5 // cbz w5, LBB0_52 $24(%rip) + WORD $0x5ac000a5 // rbit w5, w5 + WORD $0x5ac010a5 // clz w5, w5 + WORD $0xb100057f // cmn x11, #1 + WORD $0x54007b01 // b.ne LBB0_283 $3936(%rip) + WORD $0x8b0501eb // add x11, x15, x5 +LBB0_52: + WORD $0x340000c4 // cbz w4, LBB0_55 $24(%rip) + WORD $0x5ac00084 // rbit w4, w4 + WORD $0x5ac01084 // clz w4, w4 + WORD $0xb100059f // cmn x12, #1 + WORD $0x54007aa1 // b.ne LBB0_284 $3924(%rip) + WORD $0x8b0401ec // add x12, x15, x4 +LBB0_55: + WORD $0x340000c2 // cbz w2, LBB0_58 $24(%rip) + WORD $0x5ac00042 // rbit w2, w2 + WORD $0x5ac01042 // clz w2, w2 + WORD $0xb100053f // cmn x9, #1 + WORD $0x54007a41 // b.ne LBB0_285 $3912(%rip) + WORD $0x8b0201e9 // add x9, x15, x2 +LBB0_58: + WORD $0x7100403f // cmp w1, #16 + WORD $0x54000621 // b.ne LBB0_73 $196(%rip) + WORD $0x910041ef // add x15, x15, #16 + WORD $0xd1004210 // sub x16, x16, #16 + WORD $0x8b1001a1 // add x1, x13, x16 + WORD $0xf1003c3f // cmp x1, #15 + WORD $0x54fff6e8 // b.hi LBB0_46 $-292(%rip) + WORD $0x8b0f0110 // add x16, x8, x15 + WORD $0xeb0f01bf // cmp x13, x15 + WORD $0x54000560 // b.eq LBB0_74 $172(%rip) +LBB0_61: + WORD $0x8b01020d // add x13, x16, x1 + WORD $0xaa3003ef // mvn x15, x16 + WORD $0x8b000151 // add x17, x10, x0 + WORD $0x8b1101ef // add x15, x15, x17 + WORD $0x8b0e01ef // add x15, x15, x14 + WORD $0xcb08020e // sub x14, x16, x8 + WORD $0xaa1003f1 // mov x17, x16 + WORD $0x14000009 // b LBB0_64 $36(%rip) +LBB0_62: + WORD $0xb100059f // cmn x12, #1 + WORD $0xaa0e03ec // mov x12, x14 + WORD $0x54001f81 // b.ne LBB0_119 $1008(%rip) +LBB0_63: + WORD $0xd10005ef // sub x15, x15, #1 + WORD $0x910005ce // add x14, x14, #1 + WORD $0xaa1103f0 // mov x16, x17 + WORD $0xd1000421 // sub x1, x1, #1 + WORD $0xb40033e1 // cbz x1, LBB0_145 $1660(%rip) +LBB0_64: + WORD $0x38401622 // ldrb w2, [x17], #1 + WORD $0x5100c044 // sub w4, w2, #48 + WORD $0x7100289f // cmp w4, #10 + WORD $0x54ffff03 // b.lo LBB0_63 $-32(%rip) + WORD $0x7100b45f // cmp w2, #45 + WORD $0x5400016d // b.le LBB0_70 $44(%rip) + WORD $0x7101945f // cmp w2, #101 + WORD $0x54fffe20 // b.eq LBB0_62 $-60(%rip) + WORD $0x7101145f // cmp w2, #69 + WORD $0x54fffde0 // b.eq LBB0_62 $-68(%rip) + WORD $0x7100b85f // cmp w2, #46 + WORD $0x540001e1 // b.ne LBB0_74 $60(%rip) + WORD $0xb100057f // cmn x11, #1 + WORD $0xaa0e03eb // mov x11, x14 + WORD $0x54fffda0 // b.eq LBB0_63 $-76(%rip) + WORD $0x140000e7 // b LBB0_119 $924(%rip) +LBB0_70: + WORD $0x7100ac5f // cmp w2, #43 + WORD $0x54000060 // b.eq LBB0_72 $12(%rip) + WORD $0x7100b45f // cmp w2, #45 + WORD $0x540000e1 // b.ne LBB0_74 $28(%rip) +LBB0_72: + WORD $0xb100053f // cmn x9, #1 + WORD $0xaa0e03e9 // mov x9, x14 + WORD $0x54fffca0 // b.eq LBB0_63 $-108(%rip) + WORD $0x140000df // b LBB0_119 $892(%rip) +LBB0_73: + WORD $0x8b21410d // add x13, x8, w1, uxtw + WORD $0x8b0f01b0 // add x16, x13, x15 +LBB0_74: + WORD $0x9280000f // mov x15, #-1 + WORD $0xb4002fab // cbz x11, LBB0_142 $1524(%rip) +LBB0_75: + WORD $0xb4002f89 // cbz x9, LBB0_142 $1520(%rip) + WORD $0xb4002f6c // cbz x12, LBB0_142 $1516(%rip) + WORD $0xcb08020d // sub x13, x16, x8 + WORD $0xd10005ae // sub x14, x13, #1 + WORD $0xeb0e017f // cmp x11, x14 + WORD $0x54001a80 // b.eq LBB0_118 $848(%rip) + WORD $0xeb0e013f // cmp x9, x14 + WORD $0x54001a40 // b.eq LBB0_118 $840(%rip) + WORD $0xeb0e019f // cmp x12, x14 + WORD $0x54001a00 // b.eq LBB0_118 $832(%rip) + WORD $0xf100052e // subs x14, x9, #1 + WORD $0x54002d8b // b.lt LBB0_139 $1456(%rip) + WORD $0xeb0e019f // cmp x12, x14 + WORD $0x54002d40 // b.eq LBB0_139 $1448(%rip) + WORD $0xaa2903ef // mvn x15, x9 + WORD $0x1400016d // b LBB0_142 $1460(%rip) +LBB0_83: + WORD $0x7100c19f // cmp w12, #48 + WORD $0x54000181 // b.ne LBB0_86 $48(%rip) + WORD $0x8b02000c // add x12, x0, x2 + WORD $0x3940058c // ldrb w12, [x12, #1] + WORD $0x5100b98c // sub w12, w12, #46 + WORD $0x7100dd9f // cmp w12, #55 + WORD $0x54003d48 // b.hi LBB0_183 $1960(%rip) + WORD $0x5280002f // mov w15, #1 + WORD $0x9acc21ec // lsl x12, x15, x12 + WORD $0xb20903ef // mov x15, #36028797027352576 + WORD $0xf280002f // movk x15, #1 + WORD $0xea0f019f // tst x12, x15 + WORD $0x54003c80 // b.eq LBB0_183 $1936(%rip) +LBB0_86: + WORD $0xd280000c // mov x12, #0 + WORD $0x52800004 // mov w4, #0 + WORD $0x52800010 // mov w16, #0 + WORD $0x5280014f // mov w15, #10 +LBB0_87: + WORD $0x38626805 // ldrb w5, [x0, x2] + WORD $0x5100c0b1 // sub w17, w5, #48 + WORD $0x7100263f // cmp w17, #9 + WORD $0x54002868 // b.hi LBB0_135 $1292(%rip) + WORD $0x71004c9f // cmp w4, #19 + WORD $0x9b0f7d85 // mul x5, x12, x15 + WORD $0x8b3100b1 // add x17, x5, w17, uxtb + WORD $0x1a842485 // cinc w5, w4, lo + WORD $0x7100489f // cmp w4, #18 + WORD $0x1a909610 // cinc w16, w16, hi + WORD $0xaa0503e4 // mov x4, x5 + WORD $0x9a91818c // csel x12, x12, x17, hi + WORD $0x91000442 // add x2, x2, #1 + WORD $0xeb02003f // cmp x1, x2 + WORD $0x54fffe41 // b.ne LBB0_87 $-56(%rip) + WORD $0x52800031 // mov w17, #1 + WORD $0xaa0103e2 // mov x2, x1 + WORD $0x7100021f // cmp w16, #0 + WORD $0x1a9fd7ef // cset w15, gt + WORD $0xb40031ac // cbz x12, LBB0_162 $1588(%rip) + WORD $0x140001a5 // b LBB0_171 $1684(%rip) +LBB0_90: + WORD $0xd1000c28 // sub x8, x1, #3 + WORD $0xeb08015f // cmp x10, x8 + WORD $0x54003de2 // b.hs LBB0_194 $1980(%rip) + WORD $0x8b020008 // add x8, x0, x2 + WORD $0xb85ff108 // ldur w8, [x8, #-1] + WORD $0x528eadc9 // mov w9, #30062 + WORD $0x72ad8d89 // movk w9, #27756, lsl #16 + WORD $0x6b09011f // cmp w8, w9 + WORD $0x54002901 // b.ne LBB0_146 $1312(%rip) + WORD $0x91001141 // add x1, x10, #4 + WORD $0x52800048 // mov w8, #2 + WORD $0xf9000068 // str x8, [x3] + WORD $0x17fffee9 // b LBB0_24 $-1116(%rip) +LBB0_93: + WORD $0xf261009f // tst x4, #0x80000000 + WORD $0x1a9f17e8 // cset w8, eq + WORD $0x528001a9 // mov w9, #13 + WORD $0x1400008c // b LBB0_116 $560(%rip) +LBB0_94: + WORD $0xf261009f // tst x4, #0x80000000 + WORD $0x1a9f17e8 // cset w8, eq + WORD $0x52800169 // mov w9, #11 + WORD $0x14000088 // b LBB0_116 $544(%rip) +LBB0_95: + WORD $0x372812e4 // tbnz w4, #5, LBB0_122 $604(%rip) + WORD $0xeb020029 // subs x9, x1, x2 + WORD $0x5400f180 // b.eq LBB0_580 $7728(%rip) + WORD $0xf101013f // cmp x9, #64 + WORD $0x5400b683 // b.lo LBB0_465 $5840(%rip) + WORD $0xd280000a // mov x10, #0 + WORD $0x92800008 // mov x8, #-1 + WORD $0x4f01e440 // movi.16b v0, #34 + WORD $0x4f02e781 // movi.16b v1, #92 +Lloh6: + WORD $0x10ffd0ab // adr x11, lCPI0_0 $-1516(%rip) +Lloh7: + WORD $0x3dc00162 // ldr q2, [x11, lCPI0_0@PAGEOFF] $0(%rip) +Lloh8: + WORD $0x10ffd0eb // adr x11, lCPI0_1 $-1508(%rip) +Lloh9: + WORD $0x3dc00163 // ldr q3, [x11, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0xaa0203eb // mov x11, x2 +LBB0_99: + WORD $0x8b0b000c // add x12, x0, x11 + WORD $0xad401584 // ldp q4, q5, [x12] + WORD $0xad411d86 // ldp q6, q7, [x12, #32] + WORD $0x6e208c90 // cmeq.16b v16, v4, v0 + WORD $0x6e208cb1 // cmeq.16b v17, v5, v0 + WORD $0x6e208cd2 // cmeq.16b v18, v6, v0 + WORD $0x6e208cf3 // cmeq.16b v19, v7, v0 + WORD $0x6e218c84 // cmeq.16b v4, v4, v1 + WORD $0x6e218ca5 // cmeq.16b v5, v5, v1 + WORD $0x6e218cc6 // cmeq.16b v6, v6, v1 + WORD $0x6e218ce7 // cmeq.16b v7, v7, v1 + WORD $0x4e221e10 // and.16b v16, v16, v2 + WORD $0x4e030210 // tbl.16b v16, { v16 }, v3 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e26020c // fmov w12, s16 + WORD $0x4e221e30 // and.16b v16, v17, v2 + WORD $0x4e030210 // tbl.16b v16, { v16 }, v3 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e26020d // fmov w13, s16 + WORD $0x4e221e50 // and.16b v16, v18, v2 + WORD $0x4e030210 // tbl.16b v16, { v16 }, v3 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e26020e // fmov w14, s16 + WORD $0x4e221e70 // and.16b v16, v19, v2 + WORD $0x4e030210 // tbl.16b v16, { v16 }, v3 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e26020f // fmov w15, s16 + WORD $0x4e221c84 // and.16b v4, v4, v2 + WORD $0x4e030084 // tbl.16b v4, { v4 }, v3 + WORD $0x4e71b884 // addv.8h h4, v4 + WORD $0x1e260090 // fmov w16, s4 + WORD $0x4e221ca4 // and.16b v4, v5, v2 + WORD $0x4e030084 // tbl.16b v4, { v4 }, v3 + WORD $0x4e71b884 // addv.8h h4, v4 + WORD $0x1e260091 // fmov w17, s4 + WORD $0x4e221cc4 // and.16b v4, v6, v2 + WORD $0x4e030084 // tbl.16b v4, { v4 }, v3 + WORD $0x4e71b884 // addv.8h h4, v4 + WORD $0x1e260084 // fmov w4, s4 + WORD $0x4e221ce4 // and.16b v4, v7, v2 + WORD $0x4e030084 // tbl.16b v4, { v4 }, v3 + WORD $0x4e71b884 // addv.8h h4, v4 + WORD $0x1e260085 // fmov w5, s4 + WORD $0xd3607dce // lsl x14, x14, #32 + WORD $0xaa0fc1ce // orr x14, x14, x15, lsl #48 + WORD $0x53103dad // lsl w13, w13, #16 + WORD $0xaa0d01cd // orr x13, x14, x13 + WORD $0xaa0c01ac // orr x12, x13, x12 + WORD $0xd3607c8d // lsl x13, x4, #32 + WORD $0xaa05c1ad // orr x13, x13, x5, lsl #48 + WORD $0x53103e2e // lsl w14, w17, #16 + WORD $0xaa0e01ad // orr x13, x13, x14 + WORD $0xaa1001ad // orr x13, x13, x16 + WORD $0xb500010d // cbnz x13, LBB0_103 $32(%rip) + WORD $0xb500018a // cbnz x10, LBB0_104 $48(%rip) + WORD $0xb50002cc // cbnz x12, LBB0_105 $88(%rip) +LBB0_102: + WORD $0xd1010129 // sub x9, x9, #64 + WORD $0x9101016b // add x11, x11, #64 + WORD $0xf100fd3f // cmp x9, #63 + WORD $0x54fff8a8 // b.hi LBB0_99 $-236(%rip) + WORD $0x14000532 // b LBB0_450 $5320(%rip) +LBB0_103: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac001ae // rbit x14, x13 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b0b01ce // add x14, x14, x11 + WORD $0x9a8e1108 // csel x8, x8, x14, ne +LBB0_104: + WORD $0x8a2a01ae // bic x14, x13, x10 + WORD $0xaa0e054f // orr x15, x10, x14, lsl #1 + WORD $0x8a2f01aa // bic x10, x13, x15 + WORD $0x9201f14a // and x10, x10, #0xaaaaaaaaaaaaaaaa + WORD $0xab0e014d // adds x13, x10, x14 + WORD $0x1a9f37ea // cset w10, hs + WORD $0xd37ff9ad // lsl x13, x13, #1 + WORD $0xd200f1ad // eor x13, x13, #0x5555555555555555 + WORD $0x8a0f01ad // and x13, x13, x15 + WORD $0x8a2d018c // bic x12, x12, x13 + WORD $0xb4fffd8c // cbz x12, LBB0_102 $-80(%rip) +LBB0_105: + WORD $0xdac00189 // rbit x9, x12 + WORD $0xdac01129 // clz x9, x9 + WORD $0x8b0b0129 // add x9, x9, x11 + WORD $0x9100052c // add x12, x9, #1 + WORD $0xb6f816cc // tbz x12, #63, LBB0_134 $728(%rip) + WORD $0x1400071b // b LBB0_575 $7276(%rip) +LBB0_106: + WORD $0xd1000c28 // sub x8, x1, #3 + WORD $0xeb08015f // cmp x10, x8 + WORD $0x54002f22 // b.hs LBB0_194 $1508(%rip) + WORD $0x8b020008 // add x8, x0, x2 + WORD $0xb85ff108 // ldur w8, [x8, #-1] + WORD $0x528e4e89 // mov w9, #29300 + WORD $0x72acaea9 // movk w9, #25973, lsl #16 + WORD $0x6b09011f // cmp w8, w9 + WORD $0x54001c41 // b.ne LBB0_150 $904(%rip) + WORD $0x91001141 // add x1, x10, #4 + WORD $0x52800068 // mov w8, #3 + WORD $0xf9000068 // str x8, [x3] + WORD $0x17fffe73 // b LBB0_24 $-1588(%rip) +LBB0_109: + WORD $0x92800028 // mov x8, #-2 + WORD $0xf9000068 // str x8, [x3] + WORD $0xaa0a03e1 // mov x1, x10 + WORD $0x17fffe6f // b LBB0_24 $-1604(%rip) +LBB0_110: + WORD $0xf261009f // tst x4, #0x80000000 + WORD $0x1a9f17e8 // cset w8, eq + WORD $0x52800149 // mov w9, #10 + WORD $0x14000012 // b LBB0_116 $72(%rip) +LBB0_111: + WORD $0x528000a8 // mov w8, #5 + WORD $0x17fffe67 // b LBB0_23 $-1636(%rip) +LBB0_112: + WORD $0xd1001028 // sub x8, x1, #4 + WORD $0xeb08015f // cmp x10, x8 + WORD $0x54002c42 // b.hs LBB0_194 $1416(%rip) + WORD $0xb8626808 // ldr w8, [x0, x2] + WORD $0x528d8c29 // mov w9, #27745 + WORD $0x72acae69 // movk w9, #25971, lsl #16 + WORD $0x6b09011f // cmp w8, w9 + WORD $0x54001c01 // b.ne LBB0_155 $896(%rip) + WORD $0x91001541 // add x1, x10, #5 + WORD $0x52800088 // mov w8, #4 + WORD $0xf9000068 // str x8, [x3] + WORD $0x17fffe5d // b LBB0_24 $-1676(%rip) +LBB0_115: + WORD $0xf261009f // tst x4, #0x80000000 + WORD $0x1a9f17e8 // cset w8, eq + WORD $0x52800189 // mov w9, #12 +LBB0_116: + WORD $0x9280002a // mov x10, #-2 + WORD $0x9a890149 // csel x9, x10, x9, eq + WORD $0xf9000069 // str x9, [x3] + WORD $0xcb080041 // sub x1, x2, x8 + WORD $0x17fffe55 // b LBB0_24 $-1708(%rip) +LBB0_117: + WORD $0x528000c8 // mov w8, #6 + WORD $0x17fffe51 // b LBB0_23 $-1724(%rip) +LBB0_118: + WORD $0xcb0d03ef // neg x15, x13 +LBB0_119: + WORD $0xb7f8144f // tbnz x15, #63, LBB0_142 $648(%rip) +LBB0_120: + WORD $0x8b0f0108 // add x8, x8, x15 + WORD $0xcb000101 // sub x1, x8, x0 + WORD $0xb7f8146a // tbnz x10, #63, LBB0_144 $652(%rip) + WORD $0x52800108 // mov w8, #8 + WORD $0xf9000068 // str x8, [x3] + WORD $0xf9000c6a // str x10, [x3, #24] + WORD $0x17fffe4a // b LBB0_24 $-1752(%rip) +LBB0_122: + WORD $0xeb02002a // subs x10, x1, x2 + WORD $0x5400dec0 // b.eq LBB0_580 $7128(%rip) + WORD $0xf101015f // cmp x10, #64 + WORD $0x5400a8c3 // b.lo LBB0_471 $5400(%rip) + WORD $0xd2800009 // mov x9, #0 + WORD $0x92800008 // mov x8, #-1 + WORD $0x4f01e440 // movi.16b v0, #34 +Lloh10: + WORD $0x10ffbe0b // adr x11, lCPI0_0 $-2112(%rip) +Lloh11: + WORD $0x3dc00161 // ldr q1, [x11, lCPI0_0@PAGEOFF] $0(%rip) +Lloh12: + WORD $0x10ffbe4b // adr x11, lCPI0_1 $-2104(%rip) +Lloh13: + WORD $0x3dc00162 // ldr q2, [x11, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x4f02e783 // movi.16b v3, #92 + WORD $0x4f01e404 // movi.16b v4, #32 + WORD $0xaa0203eb // mov x11, x2 +LBB0_125: + WORD $0x8b0b000c // add x12, x0, x11 + WORD $0xad401d90 // ldp q16, q7, [x12] + WORD $0xad411586 // ldp q6, q5, [x12, #32] + WORD $0x6e208e11 // cmeq.16b v17, v16, v0 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e26022c // fmov w12, s17 + WORD $0x6e208cf1 // cmeq.16b v17, v7, v0 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e26022d // fmov w13, s17 + WORD $0x6e208cd1 // cmeq.16b v17, v6, v0 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e26022e // fmov w14, s17 + WORD $0x6e208cb1 // cmeq.16b v17, v5, v0 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e26022f // fmov w15, s17 + WORD $0x6e238e11 // cmeq.16b v17, v16, v3 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260230 // fmov w16, s17 + WORD $0x6e238cf1 // cmeq.16b v17, v7, v3 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260231 // fmov w17, s17 + WORD $0x6e238cd1 // cmeq.16b v17, v6, v3 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260224 // fmov w4, s17 + WORD $0x6e238cb1 // cmeq.16b v17, v5, v3 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260225 // fmov w5, s17 + WORD $0xd3607dce // lsl x14, x14, #32 + WORD $0xaa0fc1ce // orr x14, x14, x15, lsl #48 + WORD $0x53103dad // lsl w13, w13, #16 + WORD $0xaa0d01cd // orr x13, x14, x13 + WORD $0xaa0c01ac // orr x12, x13, x12 + WORD $0xd3607c8d // lsl x13, x4, #32 + WORD $0xaa05c1ad // orr x13, x13, x5, lsl #48 + WORD $0x53103e2e // lsl w14, w17, #16 + WORD $0xaa0e01ad // orr x13, x13, x14 + WORD $0xaa1001ad // orr x13, x13, x16 + WORD $0xb500044d // cbnz x13, LBB0_130 $136(%rip) + WORD $0xb50004c9 // cbnz x9, LBB0_131 $152(%rip) +LBB0_127: + WORD $0x6e303490 // cmhi.16b v16, v4, v16 + WORD $0x4e211e10 // and.16b v16, v16, v1 + WORD $0x4e020210 // tbl.16b v16, { v16 }, v2 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e26020d // fmov w13, s16 + WORD $0x6e273487 // cmhi.16b v7, v4, v7 + WORD $0x4e211ce7 // and.16b v7, v7, v1 + WORD $0x4e0200e7 // tbl.16b v7, { v7 }, v2 + WORD $0x4e71b8e7 // addv.8h h7, v7 + WORD $0x1e2600ee // fmov w14, s7 + WORD $0x6e263486 // cmhi.16b v6, v4, v6 + WORD $0x4e211cc6 // and.16b v6, v6, v1 + WORD $0x4e0200c6 // tbl.16b v6, { v6 }, v2 + WORD $0x4e71b8c6 // addv.8h h6, v6 + WORD $0x1e2600cf // fmov w15, s6 + WORD $0x6e253485 // cmhi.16b v5, v4, v5 + WORD $0x4e211ca5 // and.16b v5, v5, v1 + WORD $0x4e0200a5 // tbl.16b v5, { v5 }, v2 + WORD $0x4e71b8a5 // addv.8h h5, v5 + WORD $0x1e2600b0 // fmov w16, s5 + WORD $0xd3607def // lsl x15, x15, #32 + WORD $0xaa10c1ef // orr x15, x15, x16, lsl #48 + WORD $0x53103dce // lsl w14, w14, #16 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xaa0d01cd // orr x13, x14, x13 + WORD $0xb50002ec // cbnz x12, LBB0_132 $92(%rip) + WORD $0xb500cfcd // cbnz x13, LBB0_573 $6648(%rip) + WORD $0xd101014a // sub x10, x10, #64 + WORD $0x9101016b // add x11, x11, #64 + WORD $0xf100fd5f // cmp x10, #63 + WORD $0x54fff568 // b.hi LBB0_125 $-340(%rip) + WORD $0x14000483 // b LBB0_451 $4620(%rip) +LBB0_130: + WORD $0xb100051f // cmn x8, #1 + WORD $0xdac001ae // rbit x14, x13 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b0b01ce // add x14, x14, x11 + WORD $0x9a8e1108 // csel x8, x8, x14, ne +LBB0_131: + WORD $0x8a2901ae // bic x14, x13, x9 + WORD $0xaa0e052f // orr x15, x9, x14, lsl #1 + WORD $0x8a2f01a9 // bic x9, x13, x15 + WORD $0x9201f129 // and x9, x9, #0xaaaaaaaaaaaaaaaa + WORD $0xab0e012d // adds x13, x9, x14 + WORD $0x1a9f37e9 // cset w9, hs + WORD $0xd37ff9ad // lsl x13, x13, #1 + WORD $0xd200f1ad // eor x13, x13, #0x5555555555555555 + WORD $0x8a0f01ad // and x13, x13, x15 + WORD $0x8a2d018c // bic x12, x12, x13 + WORD $0x17ffffd1 // b LBB0_127 $-188(%rip) +LBB0_132: + WORD $0xdac00189 // rbit x9, x12 + WORD $0xdac01129 // clz x9, x9 + WORD $0xdac001aa // rbit x10, x13 + WORD $0xdac0114a // clz x10, x10 + WORD $0xeb09015f // cmp x10, x9 + WORD $0x5400cc63 // b.lo LBB0_573 $6540(%rip) + WORD $0x8b0b0129 // add x9, x9, x11 + WORD $0x9100052c // add x12, x9, #1 + WORD $0xb7f8ccec // tbnz x12, #63, LBB0_575 $6556(%rip) +LBB0_134: + WORD $0x528000e9 // mov w9, #7 + WORD $0xf9000069 // str x9, [x3] + WORD $0xeb0c011f // cmp x8, x12 + WORD $0xda9fb108 // csinv x8, x8, xzr, lt + WORD $0xa9012062 // stp x2, x8, [x3, #16] + WORD $0xaa0c03e1 // mov x1, x12 + WORD $0x17fffdc5 // b LBB0_24 $-2284(%rip) +LBB0_135: + WORD $0x7100b8bf // cmp w5, #46 + WORD $0x54000aa1 // b.ne LBB0_161 $340(%rip) + WORD $0x9100044f // add x15, x2, #1 + WORD $0x52800111 // mov w17, #8 + WORD $0xf9000071 // str x17, [x3] + WORD $0xeb0101ff // cmp x15, x1 + WORD $0x54001742 // b.hs LBB0_194 $744(%rip) + WORD $0x8b020011 // add x17, x0, x2 + WORD $0x39400631 // ldrb w17, [x17, #1] + WORD $0x5100ea31 // sub w17, w17, #58 + WORD $0x31002e3f // cmn w17, #11 + WORD $0x54001328 // b.hi LBB0_186 $612(%rip) + WORD $0x92800028 // mov x8, #-2 + WORD $0xf9000068 // str x8, [x3] + WORD $0xaa0f03e1 // mov x1, x15 + WORD $0x17fffdb5 // b LBB0_24 $-2348(%rip) +LBB0_139: + WORD $0xaa0c0169 // orr x9, x11, x12 + WORD $0xb7f80ae9 // tbnz x9, #63, LBB0_168 $348(%rip) + WORD $0xeb0c017f // cmp x11, x12 + WORD $0x54000aab // b.lt LBB0_168 $340(%rip) + WORD $0xaa2b03ef // mvn x15, x11 +LBB0_142: + WORD $0xaa2f03e9 // mvn x9, x15 + WORD $0x8b090108 // add x8, x8, x9 +LBB0_143: + WORD $0xcb000101 // sub x1, x8, x0 + WORD $0x9280002a // mov x10, #-2 +LBB0_144: + WORD $0xf900006a // str x10, [x3] + WORD $0x17fffdaa // b LBB0_24 $-2392(%rip) +LBB0_145: + WORD $0xaa0d03f0 // mov x16, x13 + WORD $0x9280000f // mov x15, #-1 + WORD $0xb5ffcf8b // cbnz x11, LBB0_75 $-1552(%rip) + WORD $0x17fffff7 // b LBB0_142 $-36(%rip) +LBB0_146: + WORD $0x12001d08 // and w8, w8, #0xff + WORD $0x7101b91f // cmp w8, #110 + WORD $0x540003c1 // b.ne LBB0_154 $120(%rip) + WORD $0x91000541 // add x1, x10, #1 + WORD $0x38616808 // ldrb w8, [x0, x1] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x540005c1 // b.ne LBB0_160 $184(%rip) + WORD $0x91000941 // add x1, x10, #2 + WORD $0x38616808 // ldrb w8, [x0, x1] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54000541 // b.ne LBB0_160 $168(%rip) + WORD $0x91000d48 // add x8, x10, #3 + WORD $0x38686809 // ldrb w9, [x0, x8] + WORD $0x9100114a // add x10, x10, #4 + WORD $0x7101b13f // cmp w9, #108 + WORD $0x14000024 // b LBB0_159 $144(%rip) +LBB0_150: + WORD $0x12001d08 // and w8, w8, #0xff + WORD $0x7101d11f // cmp w8, #116 + WORD $0x540001c1 // b.ne LBB0_154 $56(%rip) + WORD $0x91000541 // add x1, x10, #1 + WORD $0x38616808 // ldrb w8, [x0, x1] + WORD $0x7101c91f // cmp w8, #114 + WORD $0x540003c1 // b.ne LBB0_160 $120(%rip) + WORD $0x91000941 // add x1, x10, #2 + WORD $0x38616808 // ldrb w8, [x0, x1] + WORD $0x7101d51f // cmp w8, #117 + WORD $0x54000341 // b.ne LBB0_160 $104(%rip) + WORD $0x91000d48 // add x8, x10, #3 + WORD $0x38686809 // ldrb w9, [x0, x8] + WORD $0x9100114a // add x10, x10, #4 + WORD $0x7101953f // cmp w9, #101 + WORD $0x14000014 // b LBB0_159 $80(%rip) +LBB0_154: + WORD $0x92800028 // mov x8, #-2 + WORD $0xaa0a03e1 // mov x1, x10 + WORD $0xf9000068 // str x8, [x3] + WORD $0x17fffd82 // b LBB0_24 $-2552(%rip) +LBB0_155: + WORD $0x12001d08 // and w8, w8, #0xff + WORD $0x7101851f // cmp w8, #97 + WORD $0x54000ac1 // b.ne LBB0_184 $344(%rip) + WORD $0x91000941 // add x1, x10, #2 + WORD $0x38616808 // ldrb w8, [x0, x1] + WORD $0x7101b11f // cmp w8, #108 + WORD $0x54000141 // b.ne LBB0_160 $40(%rip) + WORD $0x91000d41 // add x1, x10, #3 + WORD $0x38616808 // ldrb w8, [x0, x1] + WORD $0x7101cd1f // cmp w8, #115 + WORD $0x540000c1 // b.ne LBB0_160 $24(%rip) + WORD $0x91001148 // add x8, x10, #4 + WORD $0x38686809 // ldrb w9, [x0, x8] + WORD $0x9100154a // add x10, x10, #5 + WORD $0x7101953f // cmp w9, #101 +LBB0_159: + WORD $0x9a880141 // csel x1, x10, x8, eq +LBB0_160: + WORD $0x92800028 // mov x8, #-2 + WORD $0xf9000068 // str x8, [x3] + WORD $0x17fffd6f // b LBB0_24 $-2628(%rip) +LBB0_161: + WORD $0x52800031 // mov w17, #1 + WORD $0x7100021f // cmp w16, #0 + WORD $0x1a9fd7ef // cset w15, gt + WORD $0xb500034c // cbnz x12, LBB0_171 $104(%rip) +LBB0_162: + WORD $0x35000330 // cbnz w16, LBB0_171 $100(%rip) + WORD $0xeb01005f // cmp x2, x1 + WORD $0x54000282 // b.hs LBB0_169 $80(%rip) + WORD $0x52800010 // mov w16, #0 + WORD $0x4b010044 // sub w4, w2, w1 +LBB0_165: + WORD $0x3862680c // ldrb w12, [x0, x2] + WORD $0x7100c19f // cmp w12, #48 + WORD $0x54000201 // b.ne LBB0_170 $64(%rip) + WORD $0x91000442 // add x2, x2, #1 + WORD $0x51000610 // sub w16, w16, #1 + WORD $0xeb02003f // cmp x1, x2 + WORD $0x54ffff41 // b.ne LBB0_165 $-24(%rip) + WORD $0xd280000c // mov x12, #0 + WORD $0x1400005e // b LBB0_196 $376(%rip) +LBB0_168: + WORD $0xd37ffd29 // lsr x9, x9, #63 + WORD $0x52000129 // eor w9, w9, #0x1 + WORD $0xd100058e // sub x14, x12, #1 + WORD $0xeb0e017f // cmp x11, x14 + WORD $0x1a9f17eb // cset w11, eq + WORD $0x6a0b013f // tst w9, w11 + WORD $0xda8c01af // csinv x15, x13, x12, eq + WORD $0x17ffff04 // b LBB0_119 $-1008(%rip) +LBB0_169: + WORD $0x52800010 // mov w16, #0 +LBB0_170: + WORD $0x52800004 // mov w4, #0 + WORD $0xd280000c // mov x12, #0 +LBB0_171: + WORD $0xeb01005f // cmp x2, x1 + WORD $0x54000242 // b.hs LBB0_177 $72(%rip) + WORD $0x7100489f // cmp w4, #18 + WORD $0x5400020c // b.gt LBB0_177 $64(%rip) + WORD $0x52800145 // mov w5, #10 +LBB0_174: + WORD $0x38626806 // ldrb w6, [x0, x2] + WORD $0x5100c0c6 // sub w6, w6, #48 + WORD $0x710024df // cmp w6, #9 + WORD $0x54000168 // b.hi LBB0_177 $44(%rip) + WORD $0x9b057d8c // mul x12, x12, x5 + WORD $0x8b26018c // add x12, x12, w6, uxtb + WORD $0x51000610 // sub w16, w16, #1 + WORD $0x91000442 // add x2, x2, #1 + WORD $0xeb01005f // cmp x2, x1 + WORD $0x540000a2 // b.hs LBB0_177 $20(%rip) + WORD $0x11000486 // add w6, w4, #1 + WORD $0x7100489f // cmp w4, #18 + WORD $0xaa0603e4 // mov x4, x6 + WORD $0x54fffe6b // b.lt LBB0_174 $-52(%rip) +LBB0_177: + WORD $0xeb01005f // cmp x2, x1 + WORD $0x54000782 // b.hs LBB0_195 $240(%rip) + WORD $0x38626804 // ldrb w4, [x0, x2] + WORD $0x5100c085 // sub w5, w4, #48 + WORD $0x710024bf // cmp w5, #9 + WORD $0x54000408 // b.hi LBB0_188 $128(%rip) + WORD $0x91000442 // add x2, x2, #1 + WORD $0xeb01005f // cmp x2, x1 + WORD $0x54000100 // b.eq LBB0_182 $32(%rip) +LBB0_180: + WORD $0x38626804 // ldrb w4, [x0, x2] + WORD $0x5100c08f // sub w15, w4, #48 + WORD $0x710025ff // cmp w15, #9 + WORD $0x54000308 // b.hi LBB0_187 $96(%rip) + WORD $0x91000442 // add x2, x2, #1 + WORD $0xeb02003f // cmp x1, x2 + WORD $0x54ffff41 // b.ne LBB0_180 $-24(%rip) +LBB0_182: + WORD $0x5280002f // mov w15, #1 + WORD $0xaa1003e4 // mov x4, x16 + WORD $0x1400002d // b LBB0_196 $180(%rip) +LBB0_183: + WORD $0x91000441 // add x1, x2, #1 + WORD $0x17fffd2a // b LBB0_24 $-2904(%rip) +LBB0_184: + WORD $0x92800028 // mov x8, #-2 + WORD $0xaa0203e1 // mov x1, x2 + WORD $0xf9000068 // str x8, [x3] + WORD $0x17fffd26 // b LBB0_24 $-2920(%rip) +LBB0_185: + WORD $0x5ac000c9 // rbit w9, w6 + WORD $0x5ac01129 // clz w9, w9 + WORD $0xaa2f03eb // mvn x11, x15 + WORD $0xcb09016f // sub x15, x11, x9 + WORD $0x17fffed0 // b LBB0_119 $-1216(%rip) +LBB0_186: + WORD $0x52800011 // mov w17, #0 + WORD $0xaa0f03e2 // mov x2, x15 + WORD $0x7100021f // cmp w16, #0 + WORD $0x1a9fd7ef // cset w15, gt + WORD $0xb4fff64c // cbz x12, LBB0_162 $-312(%rip) + WORD $0x17ffffca // b LBB0_171 $-216(%rip) +LBB0_187: + WORD $0x5280002f // mov w15, #1 +LBB0_188: + WORD $0x321b0084 // orr w4, w4, #0x20 + WORD $0x7101949f // cmp w4, #101 + WORD $0x540002c1 // b.ne LBB0_195 $88(%rip) + WORD $0x91000451 // add x17, x2, #1 + WORD $0x52800104 // mov w4, #8 + WORD $0xf9000064 // str x4, [x3] + WORD $0xeb01023f // cmp x17, x1 + WORD $0x540001c2 // b.hs LBB0_194 $56(%rip) + WORD $0x38716804 // ldrb w4, [x0, x17] + WORD $0x7100b49f // cmp w4, #45 + WORD $0x54000060 // b.eq LBB0_192 $12(%rip) + WORD $0x7100ac9f // cmp w4, #43 + WORD $0x54002701 // b.ne LBB0_263 $1248(%rip) +LBB0_192: + WORD $0x91000851 // add x17, x2, #2 + WORD $0xeb01023f // cmp x17, x1 + WORD $0x540000c2 // b.hs LBB0_194 $24(%rip) + WORD $0x7100ac9f // cmp w4, #43 + WORD $0x52800022 // mov w2, #1 + WORD $0x5a820442 // cneg w2, w2, ne + WORD $0x38716804 // ldrb w4, [x0, x17] + WORD $0x14000131 // b LBB0_264 $1220(%rip) +LBB0_194: + WORD $0x92800008 // mov x8, #-1 + WORD $0xf9000068 // str x8, [x3] + WORD $0x17fffd02 // b LBB0_24 $-3064(%rip) +LBB0_195: + WORD $0xaa1003e4 // mov x4, x16 + WORD $0xaa0203e1 // mov x1, x2 +LBB0_196: + WORD $0x34000151 // cbz w17, LBB0_201 $40(%rip) + WORD $0x350000e4 // cbnz w4, LBB0_200 $28(%rip) + WORD $0x93407dd0 // sxtw x16, w14 + WORD $0xb6f80e6c // tbz x12, #63, LBB0_223 $460(%rip) + WORD $0x8a100191 // and x17, x12, x16 + WORD $0xd2f00000 // mov x0, #-9223372036854775808 + WORD $0xeb00023f // cmp x17, x0 + WORD $0x54000de0 // b.eq LBB0_223 $444(%rip) +LBB0_200: + WORD $0x52800110 // mov w16, #8 + WORD $0xf9000070 // str x16, [x3] +LBB0_201: + WORD $0xd374fd90 // lsr x16, x12, #52 + WORD $0xb5000590 // cbnz x16, LBB0_211 $176(%rip) + WORD $0x9e630180 // ucvtf d0, x12 + WORD $0x531f7dce // lsr w14, w14, #31 + WORD $0x9e660010 // fmov x16, d0 + WORD $0xaa0efe0e // orr x14, x16, x14, lsl #63 + WORD $0x9e6701c0 // fmov d0, x14 + WORD $0xb400284c // cbz x12, LBB0_278 $1288(%rip) + WORD $0x34002824 // cbz w4, LBB0_278 $1284(%rip) + WORD $0x5100048e // sub w14, w4, #1 + WORD $0x710091df // cmp w14, #36 + WORD $0x54000348 // b.hi LBB0_209 $104(%rip) + WORD $0xaa0403ee // mov x14, x4 + WORD $0x71005c9f // cmp w4, #23 + WORD $0x540000e3 // b.lo LBB0_207 $28(%rip) + WORD $0x5100588e // sub w14, w4, #22 +Lloh14: + WORD $0x1000baf0 // adr x16, _P10_TAB $5980(%rip) +Lloh15: + WORD $0x91000210 // add x16, x16, _P10_TAB@PAGEOFF $0(%rip) + WORD $0xfc6e5a01 // ldr d1, [x16, w14, uxtw #3] + WORD $0x1e600820 // fmul d0, d1, d0 + WORD $0x528002ce // mov w14, #22 +LBB0_207: + WORD $0xd2a4c690 // mov x16, #640942080 + WORD $0xf2cd7eb0 // movk x16, #27637, lsl #32 + WORD $0xf2e86190 // movk x16, #17164, lsl #48 + WORD $0x9e670201 // fmov d1, x16 + WORD $0x1e612000 // fcmp d0, d1 + WORD $0xd2a4c690 // mov x16, #640942080 + WORD $0xf2cd7eb0 // movk x16, #27637, lsl #32 + WORD $0xf2f86190 // movk x16, #49932, lsl #48 + WORD $0x9e670201 // fmov d1, x16 + WORD $0x1e61d408 // fccmp d0, d1, #8, le + WORD $0x54000224 // b.mi LBB0_212 $68(%rip) +Lloh16: + WORD $0x1000b8e8 // adr x8, _P10_TAB $5916(%rip) +Lloh17: + WORD $0x91000108 // add x8, x8, _P10_TAB@PAGEOFF $0(%rip) + WORD $0xfc6e5901 // ldr d1, [x8, w14, uxtw #3] + WORD $0x1e610800 // fmul d0, d0, d1 + WORD $0x14000125 // b LBB0_278 $1172(%rip) +LBB0_209: + WORD $0x3100589f // cmn w4, #22 + WORD $0x540000e3 // b.lo LBB0_211 $28(%rip) + WORD $0x4b0403e8 // neg w8, w4 +Lloh18: + WORD $0x1000b7e9 // adr x9, _P10_TAB $5884(%rip) +Lloh19: + WORD $0x91000129 // add x9, x9, _P10_TAB@PAGEOFF $0(%rip) + WORD $0xfc685921 // ldr d1, [x9, w8, uxtw #3] + WORD $0x1e611800 // fdiv d0, d0, d1 + WORD $0x1400011d // b LBB0_278 $1140(%rip) +LBB0_211: + WORD $0x5105708e // sub w14, w4, #348 + WORD $0x310ae1df // cmn w14, #696 + WORD $0x54000663 // b.lo LBB0_218 $204(%rip) +LBB0_212: + WORD $0xdac01180 // clz x0, x12 + WORD $0x9ac02186 // lsl x6, x12, x0 + WORD $0x1105708e // add w14, w4, #348 +Lloh20: + WORD $0x1000bc50 // adr x16, _POW10_M128_TAB $6024(%rip) +Lloh21: + WORD $0x91000210 // add x16, x16, _POW10_M128_TAB@PAGEOFF $0(%rip) + WORD $0x8b2e520e // add x14, x16, w14, uxtw #4 + WORD $0xf94005d0 // ldr x16, [x14, #8] + WORD $0x9b067e11 // mul x17, x16, x6 + WORD $0x9bc67e02 // umulh x2, x16, x6 + WORD $0x92402045 // and x5, x2, #0x1ff + WORD $0xaa2603e7 // mvn x7, x6 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x540001c9 // b.ls LBB0_216 $56(%rip) + WORD $0xf107fcbf // cmp x5, #511 + WORD $0x54000181 // b.ne LBB0_216 $48(%rip) + WORD $0xf94001c5 // ldr x5, [x14] + WORD $0x9b067cb3 // mul x19, x5, x6 + WORD $0x9bc67ca5 // umulh x5, x5, x6 + WORD $0xab1100b1 // adds x17, x5, x17 + WORD $0x9a823442 // cinc x2, x2, hs + WORD $0x92402045 // and x5, x2, #0x1ff + WORD $0xeb07027f // cmp x19, x7 + WORD $0xba418a20 // ccmn x17, #1, #0, hi + WORD $0x54000061 // b.ne LBB0_216 $12(%rip) + WORD $0xf107fcbf // cmp x5, #511 + WORD $0x54000320 // b.eq LBB0_218 $100(%rip) +LBB0_216: + WORD $0xd37ffc46 // lsr x6, x2, #63 + WORD $0x910024c7 // add x7, x6, #9 + WORD $0x9ac72442 // lsr x2, x2, x7 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0x92400445 // and x5, x2, #0x3 + WORD $0xf100023f // cmp x17, #0 + WORD $0xfa4108a0 // ccmp x5, #1, #0, eq + WORD $0x54000220 // b.eq LBB0_218 $68(%rip) + WORD $0x528a4d51 // mov w17, #21098 + WORD $0x72a00071 // movk w17, #3, lsl #16 + WORD $0x1b117c91 // mul w17, w4, w17 + WORD $0x13107e31 // asr w17, w17, #16 + WORD $0x1110fe31 // add w17, w17, #1087 + WORD $0x93407e31 // sxtw x17, w17 + WORD $0xcb000220 // sub x0, x17, x0 + WORD $0x8b0000c4 // add x4, x6, x0 + WORD $0x92400040 // and x0, x2, #0x1 + WORD $0x8b020000 // add x0, x0, x2 + WORD $0xd376fc02 // lsr x2, x0, #54 + WORD $0xf100005f // cmp x2, #0 + WORD $0x9a840484 // cinc x4, x4, ne + WORD $0xd1200085 // sub x5, x4, #2048 + WORD $0xb11ff8bf // cmn x5, #2046 + WORD $0x54000fc2 // b.hs LBB0_253 $504(%rip) +LBB0_218: + WORD $0xcb0a002e // sub x14, x1, x10 + WORD $0xb4000569 // cbz x9, LBB0_233 $172(%rip) + WORD $0xf100213f // cmp x9, #8 + WORD $0x54000062 // b.hs LBB0_221 $12(%rip) + WORD $0xd280000a // mov x10, #0 + WORD $0x14000022 // b LBB0_231 $136(%rip) +LBB0_221: + WORD $0xf101013f // cmp x9, #64 + WORD $0x54000142 // b.hs LBB0_224 $40(%rip) + WORD $0xd280000a // mov x10, #0 + WORD $0x14000014 // b LBB0_228 $80(%rip) +LBB0_223: + WORD $0x9e630180 // ucvtf d0, x12 + WORD $0x9b107d88 // mul x8, x12, x16 + WORD $0x92410209 // and x9, x16, #0x8000000000000000 + WORD $0x9e66000a // fmov x10, d0 + WORD $0xaa0a0129 // orr x9, x9, x10 + WORD $0xa900a069 // stp x9, x8, [x3, #8] + WORD $0x17fffc83 // b LBB0_24 $-3572(%rip) +LBB0_224: + WORD $0x927ae52a // and x10, x9, #0xffffffffffffffc0 + WORD $0x9100810b // add x11, x8, #32 + WORD $0x6f00e400 // movi.2d v0, #0000000000000000 + WORD $0xaa0a03ec // mov x12, x10 +LBB0_225: + WORD $0xad3f0160 // stp q0, q0, [x11, #-32] + WORD $0xac820160 // stp q0, q0, [x11], #64 + WORD $0xf101018c // subs x12, x12, #64 + WORD $0x54ffffa1 // b.ne LBB0_225 $-12(%rip) + WORD $0xeb0a013f // cmp x9, x10 + WORD $0x54000240 // b.eq LBB0_233 $72(%rip) + WORD $0xf27d093f // tst x9, #0x38 + WORD $0x54000160 // b.eq LBB0_231 $44(%rip) +LBB0_228: + WORD $0xaa0a03ec // mov x12, x10 + WORD $0x927df12a // and x10, x9, #0xfffffffffffffff8 + WORD $0x8b0c010b // add x11, x8, x12 + WORD $0xcb0a018c // sub x12, x12, x10 + WORD $0x6f00e400 // movi.2d v0, #0000000000000000 +LBB0_229: + WORD $0xfc008560 // str d0, [x11], #8 + WORD $0xb100218c // adds x12, x12, #8 + WORD $0x54ffffc1 // b.ne LBB0_229 $-8(%rip) + WORD $0xeb0a013f // cmp x9, x10 + WORD $0x540000c0 // b.eq LBB0_233 $24(%rip) +LBB0_231: + WORD $0x8b0a010b // add x11, x8, x10 + WORD $0xcb0a012a // sub x10, x9, x10 +LBB0_232: + WORD $0x3800157f // strb wzr, [x11], #1 + WORD $0xf100054a // subs x10, x10, #1 + WORD $0x54ffffc1 // b.ne LBB0_232 $-8(%rip) +LBB0_233: + WORD $0x394001aa // ldrb w10, [x13] + WORD $0x7100b55f // cmp w10, #45 + WORD $0x1a9f17ef // cset w15, eq + WORD $0xeb0f01df // cmp x14, x15 + WORD $0x5400160d // b.le LBB0_276 $704(%rip) + WORD $0x5280000c // mov w12, #0 + WORD $0x5280000b // mov w11, #0 + WORD $0x52800007 // mov w7, #0 + WORD $0x52800010 // mov w16, #0 + WORD $0x14000006 // b LBB0_237 $24(%rip) +LBB0_235: + WORD $0x38206911 // strb w17, [x8, x0] + WORD $0x110004e7 // add w7, w7, #1 +LBB0_236: + WORD $0x910005ef // add x15, x15, #1 + WORD $0xeb0f01df // cmp x14, x15 + WORD $0x5400032d // b.le LBB0_246 $100(%rip) +LBB0_237: + WORD $0x386f69b1 // ldrb w17, [x13, x15] + WORD $0x5100c220 // sub w0, w17, #48 + WORD $0x7100241f // cmp w0, #9 + WORD $0x54000108 // b.hi LBB0_241 $32(%rip) + WORD $0x7100c23f // cmp w17, #48 + WORD $0x54000161 // b.ne LBB0_243 $44(%rip) + WORD $0x34000207 // cbz w7, LBB0_245 $64(%rip) + WORD $0x93407ce0 // sxtw x0, w7 + WORD $0xeb00013f // cmp x9, x0 + WORD $0x54fffe48 // b.hi LBB0_235 $-56(%rip) + WORD $0x17fffff3 // b LBB0_236 $-52(%rip) +LBB0_241: + WORD $0x7100ba3f // cmp w17, #46 + WORD $0x540001e1 // b.ne LBB0_247 $60(%rip) + WORD $0x5280002c // mov w12, #1 + WORD $0xaa0703f0 // mov x16, x7 + WORD $0x17ffffee // b LBB0_236 $-72(%rip) +LBB0_243: + WORD $0xaa0703e0 // mov x0, x7 + WORD $0x93407ce0 // sxtw x0, w7 + WORD $0xeb00013f // cmp x9, x0 + WORD $0x54fffd08 // b.hi LBB0_235 $-96(%rip) + WORD $0x5280002b // mov w11, #1 + WORD $0x17ffffe8 // b LBB0_236 $-96(%rip) +LBB0_245: + WORD $0x51000610 // sub w16, w16, #1 + WORD $0x17ffffe6 // b LBB0_236 $-104(%rip) +LBB0_246: + WORD $0x7100019f // cmp w12, #0 + WORD $0x1a9000ec // csel w12, w7, w16, eq + WORD $0x14000083 // b LBB0_272 $524(%rip) +LBB0_247: + WORD $0x7100019f // cmp w12, #0 + WORD $0x1a9000ec // csel w12, w7, w16, eq + WORD $0x386f69b0 // ldrb w16, [x13, x15] + WORD $0x321b0210 // orr w16, w16, #0x20 + WORD $0x7101961f // cmp w16, #101 + WORD $0x54000fa1 // b.ne LBB0_272 $500(%rip) + WORD $0x910005f0 // add x16, x15, #1 + WORD $0x387049b1 // ldrb w17, [x13, w16, uxtw] + WORD $0x110009e0 // add w0, w15, #2 + WORD $0x52800022 // mov w2, #1 + WORD $0x110009ef // add w15, w15, #2 + WORD $0x12800004 // mov w4, #-1 + WORD $0x52800025 // mov w5, #1 + WORD $0x7100b63f // cmp w17, #45 + WORD $0x1a9001ef // csel w15, w15, w16, eq + WORD $0x1a850090 // csel w16, w4, w5, eq + WORD $0x7100ae3f // cmp w17, #43 + WORD $0x1a8f0011 // csel w17, w0, w15, eq + WORD $0x1a90004f // csel w15, w2, w16, eq + WORD $0x93407e31 // sxtw x17, w17 + WORD $0xeb1101df // cmp x14, x17 + WORD $0x54000d6d // b.le LBB0_270 $428(%rip) + WORD $0x52800010 // mov w16, #0 + WORD $0x5284e1e0 // mov w0, #9999 + WORD $0x52800142 // mov w2, #10 +LBB0_250: + WORD $0x38f169a4 // ldrsb w4, [x13, x17] + WORD $0x7100c09f // cmp w4, #48 + WORD $0x54000ccb // b.lt LBB0_271 $408(%rip) + WORD $0x12001c84 // and w4, w4, #0xff + WORD $0x7100e49f // cmp w4, #57 + WORD $0x7a409200 // ccmp w16, w0, #0, ls + WORD $0x54000c4c // b.gt LBB0_271 $392(%rip) + WORD $0x1b027e10 // mul w16, w16, w2 + WORD $0x5100c084 // sub w4, w4, #48 + WORD $0x0b240210 // add w16, w16, w4, uxtb + WORD $0x91000631 // add x17, x17, #1 + WORD $0xeb1101df // cmp x14, x17 + WORD $0x54fffe8c // b.gt LBB0_250 $-48(%rip) + WORD $0x1400005b // b LBB0_271 $364(%rip) +LBB0_253: + WORD $0xd1000484 // sub x4, x4, #1 + WORD $0xf100005f // cmp x2, #0 + WORD $0x52800022 // mov w2, #1 + WORD $0x9a820442 // cinc x2, x2, ne + WORD $0x9ac22400 // lsr x0, x0, x2 + WORD $0xb34c2c80 // bfi x0, x4, #52, #12 + WORD $0xb2410002 // orr x2, x0, #0x8000000000000000 + WORD $0x7100b57f // cmp w11, #45 + WORD $0x9a800040 // csel x0, x2, x0, eq + WORD $0x9e670000 // fmov d0, x0 + WORD $0x34000c0f // cbz w15, LBB0_278 $384(%rip) + WORD $0x9100058f // add x15, x12, #1 + WORD $0xdac011ec // clz x12, x15 + WORD $0x9acc21e2 // lsl x2, x15, x12 + WORD $0x9b027e0f // mul x15, x16, x2 + WORD $0x9bc27e10 // umulh x16, x16, x2 + WORD $0x92402200 // and x0, x16, #0x1ff + WORD $0xaa2203e4 // mvn x4, x2 + WORD $0xeb0401ff // cmp x15, x4 + WORD $0x540001e9 // b.ls LBB0_259 $60(%rip) + WORD $0xf107fc1f // cmp x0, #511 + WORD $0x540001a1 // b.ne LBB0_259 $52(%rip) + WORD $0xf94001ce // ldr x14, [x14] + WORD $0x9b027dc5 // mul x5, x14, x2 + WORD $0x9bc27dce // umulh x14, x14, x2 + WORD $0xab0f01cf // adds x15, x14, x15 + WORD $0x9a903610 // cinc x16, x16, hs + WORD $0x92402200 // and x0, x16, #0x1ff + WORD $0xeb0400bf // cmp x5, x4 + WORD $0x540000a9 // b.ls LBB0_259 $20(%rip) + WORD $0xb10005ff // cmn x15, #1 + WORD $0x54000061 // b.ne LBB0_259 $12(%rip) + WORD $0xf107fc1f // cmp x0, #511 + WORD $0x54ffec40 // b.eq LBB0_218 $-632(%rip) +LBB0_259: + WORD $0xd37ffe0e // lsr x14, x16, #63 + WORD $0x910025c2 // add x2, x14, #9 + WORD $0x9ac22610 // lsr x16, x16, x2 + WORD $0xaa0f000f // orr x15, x0, x15 + WORD $0xb500008f // cbnz x15, LBB0_261 $16(%rip) + WORD $0x9240060f // and x15, x16, #0x3 + WORD $0xf10005ff // cmp x15, #1 + WORD $0x54ffeb40 // b.eq LBB0_218 $-664(%rip) +LBB0_261: + WORD $0xcb0c022c // sub x12, x17, x12 + WORD $0x8b0c01cf // add x15, x14, x12 + WORD $0x9240020c // and x12, x16, #0x1 + WORD $0x8b10018c // add x12, x12, x16 + WORD $0xd376fd8e // lsr x14, x12, #54 + WORD $0xf10001df // cmp x14, #0 + WORD $0x9a8f05ef // cinc x15, x15, ne + WORD $0xd12001f0 // sub x16, x15, #2048 + WORD $0xb11ffa1f // cmn x16, #2046 + WORD $0x54ffea03 // b.lo LBB0_218 $-704(%rip) + WORD $0xd10005ef // sub x15, x15, #1 + WORD $0xf10001df // cmp x14, #0 + WORD $0x5280002e // mov w14, #1 + WORD $0x9a8e05ce // cinc x14, x14, ne + WORD $0x9ace258c // lsr x12, x12, x14 + WORD $0xb34c2dec // bfi x12, x15, #52, #12 + WORD $0xb241018e // orr x14, x12, #0x8000000000000000 + WORD $0x7100b57f // cmp w11, #45 + WORD $0x9a8c01cb // csel x11, x14, x12, eq + WORD $0x9e670161 // fmov d1, x11 + WORD $0x1e602020 // fcmp d1, d0 + WORD $0x54000560 // b.eq LBB0_278 $172(%rip) + WORD $0x17ffff43 // b LBB0_218 $-756(%rip) +LBB0_263: + WORD $0x52800022 // mov w2, #1 +LBB0_264: + WORD $0x5100e884 // sub w4, w4, #58 + WORD $0x3100289f // cmn w4, #10 + WORD $0x540000a2 // b.hs LBB0_266 $20(%rip) + WORD $0x92800028 // mov x8, #-2 + WORD $0xf9000068 // str x8, [x3] + WORD $0xaa1103e1 // mov x1, x17 + WORD $0x17fffbce // b LBB0_24 $-4296(%rip) +LBB0_266: + WORD $0x52800004 // mov w4, #0 + WORD $0x52800145 // mov w5, #10 + WORD $0x5284e206 // mov w6, #10000 +LBB0_267: + WORD $0x38716807 // ldrb w7, [x0, x17] + WORD $0x5100c0e7 // sub w7, w7, #48 + WORD $0x710024ff // cmp w7, #9 + WORD $0x54001d28 // b.hi LBB0_339 $932(%rip) + WORD $0x1b057c93 // mul w19, w4, w5 + WORD $0x0b270267 // add w7, w19, w7, uxtb + WORD $0x6b06009f // cmp w4, w6 + WORD $0x1a84b0e4 // csel w4, w7, w4, lt + WORD $0x91000631 // add x17, x17, #1 + WORD $0xeb11003f // cmp x1, x17 + WORD $0x54fffec1 // b.ne LBB0_267 $-40(%rip) + WORD $0x1b024084 // madd w4, w4, w2, w16 + WORD $0x17fffec9 // b LBB0_201 $-1244(%rip) +LBB0_270: + WORD $0x52800010 // mov w16, #0 +LBB0_271: + WORD $0x1b0f320c // madd w12, w16, w15, w12 +LBB0_272: + WORD $0x34000107 // cbz w7, LBB0_276 $32(%rip) + WORD $0x7104d99f // cmp w12, #310 + WORD $0x5400008d // b.le LBB0_275 $16(%rip) +LBB0_274: + WORD $0xd2800008 // mov x8, #0 + WORD $0xd2effe09 // mov x9, #9218868437227405312 + WORD $0x14000005 // b LBB0_277 $20(%rip) +LBB0_275: + WORD $0x3105299f // cmn w12, #330 + WORD $0x5400022a // b.ge LBB0_281 $68(%rip) +LBB0_276: + WORD $0xd2800009 // mov x9, #0 + WORD $0xd2800008 // mov x8, #0 +LBB0_277: + WORD $0xaa090108 // orr x8, x8, x9 + WORD $0xb2410109 // orr x9, x8, #0x8000000000000000 + WORD $0x7100b55f // cmp w10, #45 + WORD $0x9a880128 // csel x8, x9, x8, eq + WORD $0x9e670100 // fmov d0, x8 +LBB0_278: + WORD $0x9e660008 // fmov x8, d0 + WORD $0x9240f908 // and x8, x8, #0x7fffffffffffffff + WORD $0xd2effe09 // mov x9, #9218868437227405312 + WORD $0xeb09011f // cmp x8, x9 + WORD $0x54000061 // b.ne LBB0_280 $12(%rip) + WORD $0x928000e8 // mov x8, #-8 + WORD $0xf9000068 // str x8, [x3] +LBB0_280: + WORD $0xfd000460 // str d0, [x3, #8] + WORD $0x17fffba4 // b LBB0_24 $-4464(%rip) +LBB0_281: + WORD $0xb201e7ed // mov x13, #-7378697629483820647 + WORD $0xf293334d // movk x13, #39322 + WORD $0xf2e0332d // movk x13, #409, lsl #48 +Lloh22: + WORD $0x1001f490 // adr x16, _POW_TAB $16016(%rip) +Lloh23: + WORD $0x91000210 // add x16, x16, _POW_TAB@PAGEOFF $0(%rip) + WORD $0x7100059f // cmp w12, #1 + WORD $0x5400184b // b.lt LBB0_340 $776(%rip) + WORD $0x5280000f // mov w15, #0 + WORD $0xd100050e // sub x14, x8, #1 + WORD $0x92800011 // mov x17, #-1 + WORD $0x52800140 // mov w0, #10 + WORD $0x1400000e // b LBB0_288 $56(%rip) +LBB0_283: + WORD $0xaa2f03e9 // mvn x9, x15 + WORD $0xcb25412f // sub x15, x9, w5, uxtw + WORD $0x17fffd44 // b LBB0_119 $-2800(%rip) +LBB0_284: + WORD $0xaa2f03e9 // mvn x9, x15 + WORD $0xcb24412f // sub x15, x9, w4, uxtw + WORD $0x17fffd41 // b LBB0_119 $-2812(%rip) +LBB0_285: + WORD $0xaa2f03e9 // mvn x9, x15 + WORD $0xcb22412f // sub x15, x9, w2, uxtw + WORD $0x17fffd3e // b LBB0_119 $-2824(%rip) +LBB0_286: + WORD $0x340015a7 // cbz w7, LBB0_338 $692(%rip) +LBB0_287: + WORD $0x0b0f004f // add w15, w2, w15 + WORD $0x7100019f // cmp w12, #0 + WORD $0x5400162d // b.le LBB0_341 $708(%rip) +LBB0_288: + WORD $0x7100219f // cmp w12, #8 + WORD $0x540000a9 // b.ls LBB0_291 $20(%rip) + WORD $0x52800362 // mov w2, #27 + WORD $0x34ffff47 // cbz w7, LBB0_287 $-24(%rip) + WORD $0x12800346 // mov w6, #-27 + WORD $0x14000006 // b LBB0_293 $24(%rip) +LBB0_291: + WORD $0xb86c5a02 // ldr w2, [x16, w12, uxtw #2] + WORD $0x34fffec7 // cbz w7, LBB0_287 $-40(%rip) + WORD $0x4b0203e6 // neg w6, w2 + WORD $0x3100f4df // cmn w6, #61 + WORD $0x54000469 // b.ls LBB0_302 $140(%rip) +LBB0_293: + WORD $0xd2800013 // mov x19, #0 + WORD $0xd2800005 // mov x5, #0 + WORD $0x4b0603e4 // neg w4, w6 + WORD $0x0aa77ce6 // bic w6, w7, w7, asr #31 +LBB0_294: + WORD $0xeb1300df // cmp x6, x19 + WORD $0x54000c80 // b.eq LBB0_321 $400(%rip) + WORD $0x38b36914 // ldrsb x20, [x8, x19] + WORD $0x9b0050a5 // madd x5, x5, x0, x20 + WORD $0xd100c0a5 // sub x5, x5, #48 + WORD $0x91000673 // add x19, x19, #1 + WORD $0x9ac424b4 // lsr x20, x5, x4 + WORD $0xb4ffff34 // cbz x20, LBB0_294 $-28(%rip) +LBB0_297: + WORD $0x9ac42226 // lsl x6, x17, x4 + WORD $0xaa2603e6 // mvn x6, x6 + WORD $0x6b1300e7 // subs w7, w7, w19 + WORD $0x54000c6d // b.le LBB0_324 $396(%rip) + WORD $0xaa0703f4 // mov x20, x7 + WORD $0xaa0803f5 // mov x21, x8 +LBB0_299: + WORD $0x9ac424b6 // lsr x22, x5, x4 + WORD $0x8a0600a5 // and x5, x5, x6 + WORD $0x1100c2d6 // add w22, w22, #48 + WORD $0x390002b6 // strb w22, [x21] + WORD $0x38b3cab6 // ldrsb x22, [x21, w19, sxtw] + WORD $0x9b0058a5 // madd x5, x5, x0, x22 + WORD $0xd100c0a5 // sub x5, x5, #48 + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xf1000694 // subs x20, x20, #1 + WORD $0x54fffee1 // b.ne LBB0_299 $-36(%rip) + WORD $0x14000057 // b LBB0_325 $348(%rip) +LBB0_300: + WORD $0x710000ff // cmp w7, #0 + WORD $0x1a8c03ec // csel w12, wzr, w12, eq +LBB0_301: + WORD $0x1100f086 // add w6, w4, #60 + WORD $0x3101e09f // cmn w4, #120 + WORD $0x54fffbea // b.ge LBB0_293 $-132(%rip) +LBB0_302: + WORD $0xd2800014 // mov x20, #0 + WORD $0xd2800013 // mov x19, #0 + WORD $0xaa0603e4 // mov x4, x6 + WORD $0x0aa77ce6 // bic w6, w7, w7, asr #31 + WORD $0xaa0603e5 // mov x5, x6 +LBB0_303: + WORD $0xeb1400df // cmp x6, x20 + WORD $0x54000140 // b.eq LBB0_306 $40(%rip) + WORD $0x38b46915 // ldrsb x21, [x8, x20] + WORD $0x9b005673 // madd x19, x19, x0, x21 + WORD $0xd100c273 // sub x19, x19, #48 + WORD $0x91000694 // add x20, x20, #1 + WORD $0xd37cfe75 // lsr x21, x19, #60 + WORD $0xb4ffff35 // cbz x21, LBB0_303 $-28(%rip) + WORD $0xaa1303e6 // mov x6, x19 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0x14000008 // b LBB0_308 $32(%rip) +LBB0_306: + WORD $0xb40006b3 // cbz x19, LBB0_320 $212(%rip) +LBB0_307: + WORD $0x8b130a66 // add x6, x19, x19, lsl #2 + WORD $0xd37ff8c6 // lsl x6, x6, #1 + WORD $0x110004a5 // add w5, w5, #1 + WORD $0xeb0d027f // cmp x19, x13 + WORD $0xaa0603f3 // mov x19, x6 + WORD $0x54ffff63 // b.lo LBB0_307 $-20(%rip) +LBB0_308: + WORD $0x6b0500e7 // subs w7, w7, w5 + WORD $0x540001cd // b.le LBB0_311 $56(%rip) + WORD $0xaa0703f3 // mov x19, x7 + WORD $0xaa0803f4 // mov x20, x8 +LBB0_310: + WORD $0xd37cfcd5 // lsr x21, x6, #60 + WORD $0x9240ecc6 // and x6, x6, #0xfffffffffffffff + WORD $0x321c06b5 // orr w21, w21, #0x30 + WORD $0x39000295 // strb w21, [x20] + WORD $0x38a5ca95 // ldrsb x21, [x20, w5, sxtw] + WORD $0x9b0054c6 // madd x6, x6, x0, x21 + WORD $0xd100c0c6 // sub x6, x6, #48 + WORD $0x91000694 // add x20, x20, #1 + WORD $0xf1000673 // subs x19, x19, #1 + WORD $0x54fffee1 // b.ne LBB0_310 $-36(%rip) + WORD $0x14000002 // b LBB0_312 $8(%rip) +LBB0_311: + WORD $0x52800007 // mov w7, #0 +LBB0_312: + WORD $0xb5000126 // cbnz x6, LBB0_314 $36(%rip) + WORD $0x14000013 // b LBB0_316 $76(%rip) +LBB0_313: + WORD $0xd37cfcd3 // lsr x19, x6, #60 + WORD $0xf100027f // cmp x19, #0 + WORD $0x1a9f056b // csinc w11, w11, wzr, eq + WORD $0x9240ecd3 // and x19, x6, #0xfffffffffffffff + WORD $0x8b130a66 // add x6, x19, x19, lsl #2 + WORD $0xd37ff8c6 // lsl x6, x6, #1 + WORD $0xb4000193 // cbz x19, LBB0_316 $48(%rip) +LBB0_314: + WORD $0x93407cf3 // sxtw x19, w7 + WORD $0xeb13013f // cmp x9, x19 + WORD $0x54fffee9 // b.ls LBB0_313 $-36(%rip) + WORD $0xd37cfcd4 // lsr x20, x6, #60 + WORD $0x321c0694 // orr w20, w20, #0x30 + WORD $0x38336914 // strb w20, [x8, x19] + WORD $0x110004e7 // add w7, w7, #1 + WORD $0x9240ecd3 // and x19, x6, #0xfffffffffffffff + WORD $0x8b130a66 // add x6, x19, x19, lsl #2 + WORD $0xd37ff8c6 // lsl x6, x6, #1 + WORD $0xb5fffed3 // cbnz x19, LBB0_314 $-40(%rip) +LBB0_316: + WORD $0x4b05018c // sub w12, w12, w5 + WORD $0x1100058c // add w12, w12, #1 + WORD $0x710004ff // cmp w7, #1 + WORD $0x54fff7ab // b.lt LBB0_300 $-268(%rip) +LBB0_317: + WORD $0x386749c5 // ldrb w5, [x14, w7, uxtw] + WORD $0x7100c0bf // cmp w5, #48 + WORD $0x54fff781 // b.ne LBB0_301 $-272(%rip) + WORD $0x710004e7 // subs w7, w7, #1 + WORD $0x54ffff8c // b.gt LBB0_317 $-16(%rip) + WORD $0x5280000c // mov w12, #0 +LBB0_320: + WORD $0x52800007 // mov w7, #0 + WORD $0x17ffffb7 // b LBB0_301 $-292(%rip) +LBB0_321: + WORD $0xb4000565 // cbz x5, LBB0_334 $172(%rip) + WORD $0x9ac424b3 // lsr x19, x5, x4 + WORD $0xb4000573 // cbz x19, LBB0_335 $172(%rip) + WORD $0x52800007 // mov w7, #0 + WORD $0x4b06018c // sub w12, w12, w6 + WORD $0x1100058c // add w12, w12, #1 + WORD $0x9ac42226 // lsl x6, x17, x4 + WORD $0xaa2603e6 // mvn x6, x6 + WORD $0x14000005 // b LBB0_326 $20(%rip) +LBB0_324: + WORD $0x52800007 // mov w7, #0 +LBB0_325: + WORD $0x4b13018c // sub w12, w12, w19 + WORD $0x1100058c // add w12, w12, #1 + WORD $0xb40002a5 // cbz x5, LBB0_330 $84(%rip) +LBB0_326: + WORD $0xaa0703f3 // mov x19, x7 + WORD $0x14000007 // b LBB0_328 $28(%rip) +LBB0_327: + WORD $0xf10000ff // cmp x7, #0 + WORD $0x1a9f056b // csinc w11, w11, wzr, eq + WORD $0x8a0600a7 // and x7, x5, x6 + WORD $0x8b0708e5 // add x5, x7, x7, lsl #2 + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xb40001c7 // cbz x7, LBB0_331 $56(%rip) +LBB0_328: + WORD $0x9ac424a7 // lsr x7, x5, x4 + WORD $0x93407e74 // sxtw x20, w19 + WORD $0xeb14013f // cmp x9, x20 + WORD $0x54fffee9 // b.ls LBB0_327 $-36(%rip) + WORD $0x1100c0e7 // add w7, w7, #48 + WORD $0x38346907 // strb w7, [x8, x20] + WORD $0x11000673 // add w19, w19, #1 + WORD $0x8a0600a7 // and x7, x5, x6 + WORD $0x8b0708e5 // add x5, x7, x7, lsl #2 + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xb5fffec7 // cbnz x7, LBB0_328 $-40(%rip) + WORD $0x14000002 // b LBB0_331 $8(%rip) +LBB0_330: + WORD $0xaa0703f3 // mov x19, x7 +LBB0_331: + WORD $0xaa1303e7 // mov x7, x19 + WORD $0x7100067f // cmp w19, #1 + WORD $0x54ffec8b // b.lt LBB0_286 $-624(%rip) +LBB0_332: + WORD $0x386749c4 // ldrb w4, [x14, w7, uxtw] + WORD $0x7100c09f // cmp w4, #48 + WORD $0x54ffec41 // b.ne LBB0_287 $-632(%rip) + WORD $0x710004e7 // subs w7, w7, #1 + WORD $0x54ffff8c // b.gt LBB0_332 $-16(%rip) + WORD $0x1400000a // b LBB0_337 $40(%rip) +LBB0_334: + WORD $0x52800007 // mov w7, #0 + WORD $0x17ffff5d // b LBB0_287 $-652(%rip) +LBB0_335: + WORD $0xaa0603f3 // mov x19, x6 +LBB0_336: + WORD $0x8b0508a5 // add x5, x5, x5, lsl #2 + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0x11000673 // add w19, w19, #1 + WORD $0x9ac424a6 // lsr x6, x5, x4 + WORD $0xb4ffff86 // cbz x6, LBB0_336 $-16(%rip) + WORD $0x17ffff70 // b LBB0_297 $-576(%rip) +LBB0_337: + WORD $0x52800007 // mov w7, #0 +LBB0_338: + WORD $0x5280000c // mov w12, #0 + WORD $0x0b0f004f // add w15, w2, w15 + WORD $0x14000005 // b LBB0_341 $20(%rip) +LBB0_339: + WORD $0xaa1103e1 // mov x1, x17 + WORD $0x1b024084 // madd w4, w4, w2, w16 + WORD $0x17fffde7 // b LBB0_201 $-2148(%rip) +LBB0_340: + WORD $0x5280000f // mov w15, #0 +LBB0_341: + WORD $0xd100050e // sub x14, x8, #1 + WORD $0x52800d00 // mov w0, #104 + WORD $0xb202e7e2 // mov x2, #-3689348814741910324 + WORD $0xf29999a2 // movk x2, #52429 + WORD $0x92800124 // mov x4, #-10 + WORD $0x52800145 // mov w5, #10 + WORD $0x92800006 // mov x6, #-1 + WORD $0xaa0703f3 // mov x19, x7 +Lloh24: + WORD $0x1001dbf1 // adr x17, _LSHIFT_TAB $15228(%rip) +Lloh25: + WORD $0x91000231 // add x17, x17, _LSHIFT_TAB@PAGEOFF $0(%rip) + WORD $0x14000004 // b LBB0_344 $16(%rip) +LBB0_342: + WORD $0x7100027f // cmp w19, #0 + WORD $0x1a8c03ec // csel w12, wzr, w12, eq +LBB0_343: + WORD $0x4b0701ef // sub w15, w15, w7 +LBB0_344: + WORD $0x37f800cc // tbnz w12, #31, LBB0_347 $24(%rip) + WORD $0x350021cc // cbnz w12, LBB0_422 $1080(%rip) + WORD $0x39c00107 // ldrsb w7, [x8] + WORD $0x7100d4ff // cmp w7, #53 + WORD $0x540000eb // b.lt LBB0_349 $28(%rip) + WORD $0x1400010a // b LBB0_422 $1064(%rip) +LBB0_347: + WORD $0x3100219f // cmn w12, #8 + WORD $0x54000082 // b.hs LBB0_349 $16(%rip) + WORD $0x52800367 // mov w7, #27 + WORD $0x350000b3 // cbnz w19, LBB0_350 $20(%rip) + WORD $0x17fffff5 // b LBB0_343 $-44(%rip) +LBB0_349: + WORD $0x4b0c03e7 // neg w7, w12 + WORD $0xb8675a07 // ldr w7, [x16, w7, uxtw #2] + WORD $0x34fffe53 // cbz w19, LBB0_343 $-56(%rip) +LBB0_350: + WORD $0x2a0703f5 // mov w21, w7 + WORD $0x9ba044f6 // umaddl x22, w7, w0, x17 + WORD $0xb84046d4 // ldr w20, [x22], #4 + WORD $0x2a1303f7 // mov w23, w19 + WORD $0xaa1703f8 // mov x24, x23 + WORD $0xaa1603f9 // mov x25, x22 + WORD $0xaa0803fa // mov x26, x8 +LBB0_351: + WORD $0x3840173b // ldrb w27, [x25], #1 + WORD $0x3400015b // cbz w27, LBB0_356 $40(%rip) + WORD $0x3940035c // ldrb w28, [x26] + WORD $0x6b1b039f // cmp w28, w27 + WORD $0x540013e1 // b.ne LBB0_396 $636(%rip) + WORD $0x9100075a // add x26, x26, #1 + WORD $0xf1000718 // subs x24, x24, #1 + WORD $0x54ffff21 // b.ne LBB0_351 $-28(%rip) + WORD $0x38776ad6 // ldrb w22, [x22, x23] + WORD $0x34000056 // cbz w22, LBB0_356 $8(%rip) +LBB0_355: + WORD $0x51000694 // sub w20, w20, #1 +LBB0_356: + WORD $0x0b130296 // add w22, w20, w19 + WORD $0x7100067f // cmp w19, #1 + WORD $0x5400068b // b.lt LBB0_366 $208(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x93407ed8 // sxtw x24, w22 + WORD $0xd100071a // sub x26, x24, #1 + WORD $0xd10006f7 // sub x23, x23, #1 + WORD $0x14000008 // b LBB0_359 $32(%rip) +LBB0_358: + WORD $0xf100035f // cmp x26, #0 + WORD $0x1a9f056b // csinc w11, w11, wzr, eq + WORD $0xd100071a // sub x26, x24, #1 + WORD $0x910006fb // add x27, x23, #1 + WORD $0xd10006f7 // sub x23, x23, #1 + WORD $0xf100077f // cmp x27, #1 + WORD $0x54000249 // b.ls LBB0_361 $72(%rip) +LBB0_359: + WORD $0xaa1a03f8 // mov x24, x26 + WORD $0x38b76919 // ldrsb x25, [x8, x23] + WORD $0xd100c339 // sub x25, x25, #48 + WORD $0x9ad52339 // lsl x25, x25, x21 + WORD $0x8b130339 // add x25, x25, x19 + WORD $0x9bc27f33 // umulh x19, x25, x2 + WORD $0xd343fe73 // lsr x19, x19, #3 + WORD $0x9b04667a // madd x26, x19, x4, x25 + WORD $0xeb18013f // cmp x9, x24 + WORD $0x54fffe09 // b.ls LBB0_358 $-64(%rip) + WORD $0x1100c35a // add w26, w26, #48 + WORD $0x3838691a // strb w26, [x8, x24] + WORD $0xd100071a // sub x26, x24, #1 + WORD $0x910006fb // add x27, x23, #1 + WORD $0xd10006f7 // sub x23, x23, #1 + WORD $0xf100077f // cmp x27, #1 + WORD $0x54fffe08 // b.hi LBB0_359 $-64(%rip) +LBB0_361: + WORD $0xf1002b3f // cmp x25, #10 + WORD $0x540002a3 // b.lo LBB0_366 $84(%rip) + WORD $0x93407f15 // sxtw x21, w24 + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0x14000007 // b LBB0_364 $28(%rip) +LBB0_363: + WORD $0xf100031f // cmp x24, #0 + WORD $0x1a9f056b // csinc w11, w11, wzr, eq + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0xf100267f // cmp x19, #9 + WORD $0xaa1703f3 // mov x19, x23 + WORD $0x54000189 // b.ls LBB0_366 $48(%rip) +LBB0_364: + WORD $0x9bc27e77 // umulh x23, x19, x2 + WORD $0xd343fef7 // lsr x23, x23, #3 + WORD $0x9b044ef8 // madd x24, x23, x4, x19 + WORD $0xeb15013f // cmp x9, x21 + WORD $0x54fffec9 // b.ls LBB0_363 $-40(%rip) + WORD $0x1100c318 // add w24, w24, #48 + WORD $0x38356918 // strb w24, [x8, x21] + WORD $0xd10006b5 // sub x21, x21, #1 + WORD $0xf100267f // cmp x19, #9 + WORD $0xaa1703f3 // mov x19, x23 + WORD $0x54fffec8 // b.hi LBB0_364 $-40(%rip) +LBB0_366: + WORD $0xeb36c13f // cmp x9, w22, sxtw + WORD $0x1a8982d3 // csel w19, w22, w9, hi + WORD $0x0b0c028c // add w12, w20, w12 + WORD $0x7100067f // cmp w19, #1 + WORD $0x5400012b // b.lt LBB0_370 $36(%rip) +LBB0_367: + WORD $0x387349d4 // ldrb w20, [x14, w19, uxtw] + WORD $0x7100c29f // cmp w20, #48 + WORD $0x54000101 // b.ne LBB0_371 $32(%rip) + WORD $0x71000673 // subs w19, w19, #1 + WORD $0x54ffff8c // b.gt LBB0_367 $-16(%rip) + WORD $0x5280000c // mov w12, #0 + WORD $0x52800013 // mov w19, #0 + WORD $0x14000003 // b LBB0_371 $12(%rip) +LBB0_370: + WORD $0x7100027f // cmp w19, #0 + WORD $0x1a8c03ec // csel w12, wzr, w12, eq +LBB0_371: + WORD $0x37f80067 // tbnz w7, #31, LBB0_373 $12(%rip) + WORD $0x4b0701ef // sub w15, w15, w7 + WORD $0x17ffff99 // b LBB0_344 $-412(%rip) +LBB0_373: + WORD $0x3100f4ff // cmn w7, #61 + WORD $0x54000a68 // b.hi LBB0_397 $332(%rip) + WORD $0xaa0703f4 // mov x20, x7 + WORD $0x14000007 // b LBB0_377 $28(%rip) +LBB0_375: + WORD $0x7100027f // cmp w19, #0 + WORD $0x1a8c03ec // csel w12, wzr, w12, eq +LBB0_376: + WORD $0x1100f296 // add w22, w20, #60 + WORD $0x3101e29f // cmn w20, #120 + WORD $0xaa1603f4 // mov x20, x22 + WORD $0x5400098a // b.ge LBB0_398 $304(%rip) +LBB0_377: + WORD $0xd2800018 // mov x24, #0 + WORD $0xd2800017 // mov x23, #0 + WORD $0x0ab37e76 // bic w22, w19, w19, asr #31 + WORD $0xaa1603f5 // mov x21, x22 +LBB0_378: + WORD $0xeb1802df // cmp x22, x24 + WORD $0x54000140 // b.eq LBB0_381 $40(%rip) + WORD $0x38b86919 // ldrsb x25, [x8, x24] + WORD $0x9b0566f7 // madd x23, x23, x5, x25 + WORD $0xd100c2f7 // sub x23, x23, #48 + WORD $0x91000718 // add x24, x24, #1 + WORD $0xd37cfef9 // lsr x25, x23, #60 + WORD $0xb4ffff39 // cbz x25, LBB0_378 $-28(%rip) + WORD $0xaa1703f6 // mov x22, x23 + WORD $0xaa1803f5 // mov x21, x24 + WORD $0x14000008 // b LBB0_383 $32(%rip) +LBB0_381: + WORD $0xb40006b7 // cbz x23, LBB0_395 $212(%rip) +LBB0_382: + WORD $0x8b170af6 // add x22, x23, x23, lsl #2 + WORD $0xd37ffad6 // lsl x22, x22, #1 + WORD $0x110006b5 // add w21, w21, #1 + WORD $0xeb0d02ff // cmp x23, x13 + WORD $0xaa1603f7 // mov x23, x22 + WORD $0x54ffff63 // b.lo LBB0_382 $-20(%rip) +LBB0_383: + WORD $0x6b150273 // subs w19, w19, w21 + WORD $0x540001cd // b.le LBB0_386 $56(%rip) + WORD $0xaa1303f7 // mov x23, x19 + WORD $0xaa0803f8 // mov x24, x8 +LBB0_385: + WORD $0xd37cfed9 // lsr x25, x22, #60 + WORD $0x9240eed6 // and x22, x22, #0xfffffffffffffff + WORD $0x321c0739 // orr w25, w25, #0x30 + WORD $0x39000319 // strb w25, [x24] + WORD $0x38b5cb19 // ldrsb x25, [x24, w21, sxtw] + WORD $0x9b0566d6 // madd x22, x22, x5, x25 + WORD $0xd100c2d6 // sub x22, x22, #48 + WORD $0x91000718 // add x24, x24, #1 + WORD $0xf10006f7 // subs x23, x23, #1 + WORD $0x54fffee1 // b.ne LBB0_385 $-36(%rip) + WORD $0x14000002 // b LBB0_387 $8(%rip) +LBB0_386: + WORD $0x52800013 // mov w19, #0 +LBB0_387: + WORD $0xb5000136 // cbnz x22, LBB0_389 $36(%rip) + WORD $0x14000013 // b LBB0_391 $76(%rip) +LBB0_388: + WORD $0xd37cfed7 // lsr x23, x22, #60 + WORD $0xf10002ff // cmp x23, #0 + WORD $0x1a9f056b // csinc w11, w11, wzr, eq + WORD $0x9240eed7 // and x23, x22, #0xfffffffffffffff + WORD $0x8b170af6 // add x22, x23, x23, lsl #2 + WORD $0xd37ffad6 // lsl x22, x22, #1 + WORD $0xb4000197 // cbz x23, LBB0_391 $48(%rip) +LBB0_389: + WORD $0x93407e77 // sxtw x23, w19 + WORD $0xeb17013f // cmp x9, x23 + WORD $0x54fffee9 // b.ls LBB0_388 $-36(%rip) + WORD $0xd37cfed8 // lsr x24, x22, #60 + WORD $0x321c0718 // orr w24, w24, #0x30 + WORD $0x38376918 // strb w24, [x8, x23] + WORD $0x11000673 // add w19, w19, #1 + WORD $0x9240eed7 // and x23, x22, #0xfffffffffffffff + WORD $0x8b170af6 // add x22, x23, x23, lsl #2 + WORD $0xd37ffad6 // lsl x22, x22, #1 + WORD $0xb5fffed7 // cbnz x23, LBB0_389 $-40(%rip) +LBB0_391: + WORD $0x4b15018c // sub w12, w12, w21 + WORD $0x1100058c // add w12, w12, #1 + WORD $0x7100067f // cmp w19, #1 + WORD $0x54fff7ab // b.lt LBB0_375 $-268(%rip) +LBB0_392: + WORD $0x387349d5 // ldrb w21, [x14, w19, uxtw] + WORD $0x7100c2bf // cmp w21, #48 + WORD $0x54fff781 // b.ne LBB0_376 $-272(%rip) + WORD $0x71000673 // subs w19, w19, #1 + WORD $0x54ffff8c // b.gt LBB0_392 $-16(%rip) + WORD $0x5280000c // mov w12, #0 +LBB0_395: + WORD $0x52800013 // mov w19, #0 + WORD $0x17ffffb7 // b LBB0_376 $-292(%rip) +LBB0_396: + WORD $0x13001f96 // sxtb w22, w28 + WORD $0x6b3b82df // cmp w22, w27, sxtb + WORD $0x54ffecab // b.lt LBB0_355 $-620(%rip) + WORD $0x17ffff65 // b LBB0_356 $-620(%rip) +LBB0_397: + WORD $0xaa0703f6 // mov x22, x7 +LBB0_398: + WORD $0xd2800017 // mov x23, #0 + WORD $0xd2800015 // mov x21, #0 + WORD $0x4b1603f4 // neg w20, w22 + WORD $0x0ab37e76 // bic w22, w19, w19, asr #31 +LBB0_399: + WORD $0xeb1702df // cmp x22, x23 + WORD $0x54000300 // b.eq LBB0_405 $96(%rip) + WORD $0x38b76918 // ldrsb x24, [x8, x23] + WORD $0x9b0562b5 // madd x21, x21, x5, x24 + WORD $0xd100c2b5 // sub x21, x21, #48 + WORD $0x910006f7 // add x23, x23, #1 + WORD $0x9ad426b8 // lsr x24, x21, x20 + WORD $0xb4ffff38 // cbz x24, LBB0_399 $-28(%rip) +LBB0_402: + WORD $0x9ad420d6 // lsl x22, x6, x20 + WORD $0xaa3603f6 // mvn x22, x22 + WORD $0x6b170273 // subs w19, w19, w23 + WORD $0x540002ed // b.le LBB0_408 $92(%rip) + WORD $0xaa1303f8 // mov x24, x19 + WORD $0xaa0803f9 // mov x25, x8 +LBB0_404: + WORD $0x9ad426ba // lsr x26, x21, x20 + WORD $0x8a1602b5 // and x21, x21, x22 + WORD $0x1100c35a // add w26, w26, #48 + WORD $0x3900033a // strb w26, [x25] + WORD $0x38b7cb3a // ldrsb x26, [x25, w23, sxtw] + WORD $0x9b056ab5 // madd x21, x21, x5, x26 + WORD $0xd100c2b5 // sub x21, x21, #48 + WORD $0x91000739 // add x25, x25, #1 + WORD $0xf1000718 // subs x24, x24, #1 + WORD $0x54fffee1 // b.ne LBB0_404 $-36(%rip) + WORD $0x1400000b // b LBB0_409 $44(%rip) +LBB0_405: + WORD $0xb4000575 // cbz x21, LBB0_419 $172(%rip) + WORD $0x9ad426b7 // lsr x23, x21, x20 + WORD $0xb4000597 // cbz x23, LBB0_420 $176(%rip) + WORD $0x52800013 // mov w19, #0 + WORD $0x4b16018c // sub w12, w12, w22 + WORD $0x1100058c // add w12, w12, #1 + WORD $0x9ad420d6 // lsl x22, x6, x20 + WORD $0xaa3603f6 // mvn x22, x22 + WORD $0x14000005 // b LBB0_410 $20(%rip) +LBB0_408: + WORD $0x52800013 // mov w19, #0 +LBB0_409: + WORD $0x4b17018c // sub w12, w12, w23 + WORD $0x1100058c // add w12, w12, #1 + WORD $0xb4000295 // cbz x21, LBB0_414 $80(%rip) +LBB0_410: + WORD $0x14000007 // b LBB0_412 $28(%rip) +LBB0_411: + WORD $0xf10002ff // cmp x23, #0 + WORD $0x1a9f056b // csinc w11, w11, wzr, eq + WORD $0x8a1602b7 // and x23, x21, x22 + WORD $0x8b170af5 // add x21, x23, x23, lsl #2 + WORD $0xd37ffab5 // lsl x21, x21, #1 + WORD $0xb40001b7 // cbz x23, LBB0_415 $52(%rip) +LBB0_412: + WORD $0x9ad426b7 // lsr x23, x21, x20 + WORD $0x93407e78 // sxtw x24, w19 + WORD $0xeb18013f // cmp x9, x24 + WORD $0x54fffee9 // b.ls LBB0_411 $-36(%rip) + WORD $0x1100c2f7 // add w23, w23, #48 + WORD $0x38386917 // strb w23, [x8, x24] + WORD $0x11000673 // add w19, w19, #1 + WORD $0x8a1602b7 // and x23, x21, x22 + WORD $0x8b170af5 // add x21, x23, x23, lsl #2 + WORD $0xd37ffab5 // lsl x21, x21, #1 + WORD $0xb5fffed7 // cbnz x23, LBB0_412 $-40(%rip) + WORD $0x14000001 // b LBB0_415 $4(%rip) +LBB0_414: +LBB0_415: + WORD $0x7100067f // cmp w19, #1 + WORD $0x54ffe04b // b.lt LBB0_342 $-1016(%rip) +LBB0_416: + WORD $0x387349d4 // ldrb w20, [x14, w19, uxtw] + WORD $0x7100c29f // cmp w20, #48 + WORD $0x54ffe021 // b.ne LBB0_343 $-1020(%rip) + WORD $0x71000673 // subs w19, w19, #1 + WORD $0x54ffff8c // b.gt LBB0_416 $-16(%rip) + WORD $0x5280000c // mov w12, #0 + WORD $0x52800013 // mov w19, #0 + WORD $0x4b0701ef // sub w15, w15, w7 + WORD $0x17fffefc // b LBB0_344 $-1040(%rip) +LBB0_419: + WORD $0x52800013 // mov w19, #0 + WORD $0x4b0701ef // sub w15, w15, w7 + WORD $0x17fffef9 // b LBB0_344 $-1052(%rip) +LBB0_420: + WORD $0xaa1603f7 // mov x23, x22 +LBB0_421: + WORD $0x8b150ab5 // add x21, x21, x21, lsl #2 + WORD $0xd37ffab5 // lsl x21, x21, #1 + WORD $0x110006f7 // add w23, w23, #1 + WORD $0x9ad426b6 // lsr x22, x21, x20 + WORD $0xb4ffff96 // cbz x22, LBB0_421 $-16(%rip) + WORD $0x17ffffbb // b LBB0_402 $-276(%rip) +LBB0_422: + WORD $0x310ff9ff // cmn w15, #1022 + WORD $0x54000a6c // b.gt LBB0_447 $332(%rip) + WORD $0x34001213 // cbz w19, LBB0_464 $576(%rip) + WORD $0x110ff5f0 // add w16, w15, #1021 + WORD $0x3110e9ff // cmn w15, #1082 + WORD $0x54000b08 // b.hi LBB0_452 $352(%rip) + WORD $0x52800140 // mov w0, #10 + WORD $0xaa1303ef // mov x15, x19 + WORD $0x14000007 // b LBB0_428 $28(%rip) +LBB0_426: + WORD $0x710001ff // cmp w15, #0 + WORD $0x1a8c03ec // csel w12, wzr, w12, eq +LBB0_427: + WORD $0x1100f202 // add w2, w16, #60 + WORD $0x3101e21f // cmn w16, #120 + WORD $0xaa0203f0 // mov x16, x2 + WORD $0x54000a2a // b.ge LBB0_453 $324(%rip) +LBB0_428: + WORD $0xd2800006 // mov x6, #0 + WORD $0xd2800005 // mov x5, #0 + WORD $0x0aaf7de4 // bic w4, w15, w15, asr #31 + WORD $0xaa0403e2 // mov x2, x4 +LBB0_429: + WORD $0xeb06009f // cmp x4, x6 + WORD $0x54000140 // b.eq LBB0_432 $40(%rip) + WORD $0x38a66907 // ldrsb x7, [x8, x6] + WORD $0x9b001ca5 // madd x5, x5, x0, x7 + WORD $0xd100c0a5 // sub x5, x5, #48 + WORD $0x910004c6 // add x6, x6, #1 + WORD $0xd37cfca7 // lsr x7, x5, #60 + WORD $0xb4ffff27 // cbz x7, LBB0_429 $-28(%rip) + WORD $0xaa0503e4 // mov x4, x5 + WORD $0xaa0603e2 // mov x2, x6 + WORD $0x14000008 // b LBB0_434 $32(%rip) +LBB0_432: + WORD $0xb4000685 // cbz x5, LBB0_446 $208(%rip) +LBB0_433: + WORD $0x8b0508a4 // add x4, x5, x5, lsl #2 + WORD $0xd37ff884 // lsl x4, x4, #1 + WORD $0x11000442 // add w2, w2, #1 + WORD $0xeb0d00bf // cmp x5, x13 + WORD $0xaa0403e5 // mov x5, x4 + WORD $0x54ffff63 // b.lo LBB0_433 $-20(%rip) +LBB0_434: + WORD $0x6b0201ef // subs w15, w15, w2 + WORD $0x540001cd // b.le LBB0_437 $56(%rip) + WORD $0xaa0f03e5 // mov x5, x15 + WORD $0xaa0803e6 // mov x6, x8 +LBB0_436: + WORD $0xd37cfc87 // lsr x7, x4, #60 + WORD $0x9240ec84 // and x4, x4, #0xfffffffffffffff + WORD $0x321c04e7 // orr w7, w7, #0x30 + WORD $0x390000c7 // strb w7, [x6] + WORD $0x38a2c8c7 // ldrsb x7, [x6, w2, sxtw] + WORD $0x9b001c84 // madd x4, x4, x0, x7 + WORD $0xd100c084 // sub x4, x4, #48 + WORD $0x910004c6 // add x6, x6, #1 + WORD $0xf10004a5 // subs x5, x5, #1 + WORD $0x54fffee1 // b.ne LBB0_436 $-36(%rip) + WORD $0x14000002 // b LBB0_438 $8(%rip) +LBB0_437: + WORD $0x5280000f // mov w15, #0 +LBB0_438: + WORD $0xb5000104 // cbnz x4, LBB0_440 $32(%rip) + WORD $0x14000012 // b LBB0_442 $72(%rip) +LBB0_439: + WORD $0xf10000df // cmp x6, #0 + WORD $0x1a9f056b // csinc w11, w11, wzr, eq + WORD $0x9240ec85 // and x5, x4, #0xfffffffffffffff + WORD $0x8b0508a4 // add x4, x5, x5, lsl #2 + WORD $0xd37ff884 // lsl x4, x4, #1 + WORD $0xb4000185 // cbz x5, LBB0_442 $48(%rip) +LBB0_440: + WORD $0x93407de5 // sxtw x5, w15 + WORD $0xd37cfc86 // lsr x6, x4, #60 + WORD $0xeb05013f // cmp x9, x5 + WORD $0x54fffee9 // b.ls LBB0_439 $-36(%rip) + WORD $0x321c04c6 // orr w6, w6, #0x30 + WORD $0x38256906 // strb w6, [x8, x5] + WORD $0x110005ef // add w15, w15, #1 + WORD $0x9240ec85 // and x5, x4, #0xfffffffffffffff + WORD $0x8b0508a4 // add x4, x5, x5, lsl #2 + WORD $0xd37ff884 // lsl x4, x4, #1 + WORD $0xb5fffec5 // cbnz x5, LBB0_440 $-40(%rip) +LBB0_442: + WORD $0x4b02018c // sub w12, w12, w2 + WORD $0x1100058c // add w12, w12, #1 + WORD $0x710005ff // cmp w15, #1 + WORD $0x54fff7cb // b.lt LBB0_426 $-264(%rip) +LBB0_443: + WORD $0x386f49c2 // ldrb w2, [x14, w15, uxtw] + WORD $0x7100c05f // cmp w2, #48 + WORD $0x54fff7a1 // b.ne LBB0_427 $-268(%rip) + WORD $0x710005ef // subs w15, w15, #1 + WORD $0x54ffff8c // b.gt LBB0_443 $-16(%rip) + WORD $0x5280000c // mov w12, #0 +LBB0_446: + WORD $0x5280000f // mov w15, #0 + WORD $0x17ffffb8 // b LBB0_427 $-288(%rip) +LBB0_447: + WORD $0x711001ff // cmp w15, #1024 + WORD $0x54ffb60c // b.gt LBB0_274 $-2368(%rip) + WORD $0x510005ed // sub w13, w15, #1 + WORD $0x34001773 // cbz w19, LBB0_485 $748(%rip) + WORD $0x140000d1 // b LBB0_494 $836(%rip) +LBB0_450: + WORD $0x8b0b000b // add x11, x0, x11 + WORD $0x1400003e // b LBB0_466 $248(%rip) +LBB0_451: + WORD $0x8b0b000b // add x11, x0, x11 + WORD $0x14000064 // b LBB0_472 $400(%rip) +LBB0_452: + WORD $0xaa1303ef // mov x15, x19 + WORD $0xaa1003e2 // mov x2, x16 +LBB0_453: + WORD $0xd2800000 // mov x0, #0 + WORD $0xd2800010 // mov x16, #0 + WORD $0x4b0203ed // neg w13, w2 + WORD $0x52800144 // mov w4, #10 + WORD $0x0aaf7de2 // bic w2, w15, w15, asr #31 +LBB0_454: + WORD $0xeb00005f // cmp x2, x0 + WORD $0x540003a0 // b.eq LBB0_460 $116(%rip) + WORD $0x38a06905 // ldrsb x5, [x8, x0] + WORD $0x9b041610 // madd x16, x16, x4, x5 + WORD $0xd100c210 // sub x16, x16, #48 + WORD $0x91000400 // add x0, x0, #1 + WORD $0x9acd2605 // lsr x5, x16, x13 + WORD $0xb4ffff25 // cbz x5, LBB0_454 $-28(%rip) + WORD $0xaa0003e2 // mov x2, x0 +LBB0_457: + WORD $0x4b02018c // sub w12, w12, w2 + WORD $0x1100058c // add w12, w12, #1 + WORD $0x92800000 // mov x0, #-1 + WORD $0x9acd2000 // lsl x0, x0, x13 + WORD $0xaa2003e0 // mvn x0, x0 + WORD $0x6b0201f3 // subs w19, w15, w2 + WORD $0x5400114d // b.le LBB0_479 $552(%rip) + WORD $0x5280014f // mov w15, #10 + WORD $0xaa1303e4 // mov x4, x19 + WORD $0xaa0803e5 // mov x5, x8 +LBB0_459: + WORD $0x9acd2606 // lsr x6, x16, x13 + WORD $0x8a000210 // and x16, x16, x0 + WORD $0x1100c0c6 // add w6, w6, #48 + WORD $0x390000a6 // strb w6, [x5] + WORD $0x38a2c8a6 // ldrsb x6, [x5, w2, sxtw] + WORD $0x9b0f1a10 // madd x16, x16, x15, x6 + WORD $0xd100c210 // sub x16, x16, #48 + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xf1000484 // subs x4, x4, #1 + WORD $0x54fffee1 // b.ne LBB0_459 $-36(%rip) + WORD $0x1400007d // b LBB0_480 $500(%rip) +LBB0_460: + WORD $0xb4000210 // cbz x16, LBB0_464 $64(%rip) + WORD $0x9acd2600 // lsr x0, x16, x13 + WORD $0xb4000100 // cbz x0, LBB0_463 $32(%rip) + WORD $0x52800013 // mov w19, #0 + WORD $0x4b02018c // sub w12, w12, w2 + WORD $0x1100058c // add w12, w12, #1 + WORD $0x9280000f // mov x15, #-1 + WORD $0x9acd21ef // lsl x15, x15, x13 + WORD $0xaa2f03e0 // mvn x0, x15 + WORD $0x14000074 // b LBB0_481 $464(%rip) +LBB0_463: + WORD $0x8b100a10 // add x16, x16, x16, lsl #2 + WORD $0xd37ffa10 // lsl x16, x16, #1 + WORD $0x11000442 // add w2, w2, #1 + WORD $0x9acd2600 // lsr x0, x16, x13 + WORD $0xb4ffff80 // cbz x0, LBB0_463 $-16(%rip) + WORD $0x17ffffdc // b LBB0_457 $-144(%rip) +LBB0_464: + WORD $0x52800009 // mov w9, #0 + WORD $0x12807fad // mov w13, #-1022 + WORD $0x140000f8 // b LBB0_517 $992(%rip) +LBB0_465: + WORD $0xd280000a // mov x10, #0 + WORD $0x8b02000b // add x11, x0, x2 + WORD $0x92800008 // mov x8, #-1 +LBB0_466: + WORD $0xf100812c // subs x12, x9, #32 + WORD $0x54002ba3 // b.lo LBB0_546 $1396(%rip) + WORD $0xad400560 // ldp q0, q1, [x11] + WORD $0x4f01e442 // movi.16b v2, #34 + WORD $0x6e228c03 // cmeq.16b v3, v0, v2 + WORD $0x6e228c22 // cmeq.16b v2, v1, v2 + WORD $0x4f02e784 // movi.16b v4, #92 + WORD $0x6e248c00 // cmeq.16b v0, v0, v4 + WORD $0x6e248c21 // cmeq.16b v1, v1, v4 +Lloh26: + WORD $0x10ff1949 // adr x9, lCPI0_0 $-7384(%rip) +Lloh27: + WORD $0x3dc00124 // ldr q4, [x9, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x4e241c63 // and.16b v3, v3, v4 +Lloh28: + WORD $0x10ff1969 // adr x9, lCPI0_1 $-7380(%rip) +Lloh29: + WORD $0x3dc00125 // ldr q5, [x9, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x4e050063 // tbl.16b v3, { v3 }, v5 + WORD $0x4e71b863 // addv.8h h3, v3 + WORD $0x1e260069 // fmov w9, s3 + WORD $0x4e241c42 // and.16b v2, v2, v4 + WORD $0x4e050042 // tbl.16b v2, { v2 }, v5 + WORD $0x4e71b842 // addv.8h h2, v2 + WORD $0x1e26004e // fmov w14, s2 + WORD $0x4e241c00 // and.16b v0, v0, v4 + WORD $0x4e050000 // tbl.16b v0, { v0 }, v5 + WORD $0x4e71b800 // addv.8h h0, v0 + WORD $0x1e26000d // fmov w13, s0 + WORD $0x4e241c20 // and.16b v0, v1, v4 + WORD $0x4e050000 // tbl.16b v0, { v0 }, v5 + WORD $0x4e71b800 // addv.8h h0, v0 + WORD $0x1e26000f // fmov w15, s0 + WORD $0x33103dc9 // bfi w9, w14, #16, #16 + WORD $0x33103ded // bfi w13, w15, #16, #16 + WORD $0x3500252d // cbnz w13, LBB0_543 $1188(%rip) + WORD $0xb50025ca // cbnz x10, LBB0_544 $1208(%rip) + WORD $0xb4002769 // cbz x9, LBB0_545 $1260(%rip) +LBB0_470: + WORD $0xdac00129 // rbit x9, x9 + WORD $0xdac01129 // clz x9, x9 + WORD $0x14000038 // b LBB0_477 $224(%rip) +LBB0_471: + WORD $0xd2800009 // mov x9, #0 + WORD $0x8b02000b // add x11, x0, x2 + WORD $0x92800008 // mov x8, #-1 +LBB0_472: + WORD $0xf100814c // subs x12, x10, #32 + WORD $0x54002e23 // b.lo LBB0_563 $1476(%rip) + WORD $0xad400560 // ldp q0, q1, [x11] + WORD $0x4f01e442 // movi.16b v2, #34 + WORD $0x6e228c03 // cmeq.16b v3, v0, v2 +Lloh30: + WORD $0x10ff14ca // adr x10, lCPI0_0 $-7528(%rip) +Lloh31: + WORD $0x3dc00144 // ldr q4, [x10, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x4e241c63 // and.16b v3, v3, v4 +Lloh32: + WORD $0x10ff14ea // adr x10, lCPI0_1 $-7524(%rip) +Lloh33: + WORD $0x3dc00145 // ldr q5, [x10, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x4e050063 // tbl.16b v3, { v3 }, v5 + WORD $0x4e71b863 // addv.8h h3, v3 + WORD $0x1e26006a // fmov w10, s3 + WORD $0x6e228c22 // cmeq.16b v2, v1, v2 + WORD $0x4e241c42 // and.16b v2, v2, v4 + WORD $0x4e050042 // tbl.16b v2, { v2 }, v5 + WORD $0x4e71b842 // addv.8h h2, v2 + WORD $0x1e26004f // fmov w15, s2 + WORD $0x4f02e782 // movi.16b v2, #92 + WORD $0x6e228c03 // cmeq.16b v3, v0, v2 + WORD $0x4e241c63 // and.16b v3, v3, v4 + WORD $0x4e050063 // tbl.16b v3, { v3 }, v5 + WORD $0x4e71b863 // addv.8h h3, v3 + WORD $0x1e26006e // fmov w14, s3 + WORD $0x6e228c22 // cmeq.16b v2, v1, v2 + WORD $0x4e241c42 // and.16b v2, v2, v4 + WORD $0x4e050042 // tbl.16b v2, { v2 }, v5 + WORD $0x4e71b842 // addv.8h h2, v2 + WORD $0x1e260050 // fmov w16, s2 + WORD $0x4f01e402 // movi.16b v2, #32 + WORD $0x6e203440 // cmhi.16b v0, v2, v0 + WORD $0x4e241c00 // and.16b v0, v0, v4 + WORD $0x4e050000 // tbl.16b v0, { v0 }, v5 + WORD $0x4e71b800 // addv.8h h0, v0 + WORD $0x1e26000d // fmov w13, s0 + WORD $0x6e213440 // cmhi.16b v0, v2, v1 + WORD $0x4e241c00 // and.16b v0, v0, v4 + WORD $0x4e050000 // tbl.16b v0, { v0 }, v5 + WORD $0x4e71b800 // addv.8h h0, v0 + WORD $0x1e260011 // fmov w17, s0 + WORD $0x33103dea // bfi w10, w15, #16, #16 + WORD $0x33103e0e // bfi w14, w16, #16, #16 + WORD $0x33103e2d // bfi w13, w17, #16, #16 + WORD $0x3500260e // cbnz w14, LBB0_559 $1216(%rip) + WORD $0xb50026a9 // cbnz x9, LBB0_560 $1236(%rip) + WORD $0xb400284a // cbz x10, LBB0_561 $1288(%rip) +LBB0_476: + WORD $0xdac00149 // rbit x9, x10 + WORD $0xdac01129 // clz x9, x9 + WORD $0xdac001aa // rbit x10, x13 + WORD $0xdac0114a // clz x10, x10 + WORD $0xeb09015f // cmp x10, x9 + WORD $0x54002bc3 // b.lo LBB0_573 $1400(%rip) +LBB0_477: + WORD $0xcb00016a // sub x10, x11, x0 + WORD $0x8b090149 // add x9, x10, x9 + WORD $0x9100052c // add x12, x9, #1 + WORD $0xb6ff5f6c // tbz x12, #63, LBB0_134 $-5140(%rip) + WORD $0x14000160 // b LBB0_575 $1408(%rip) +LBB0_478: + WORD $0xcb000101 // sub x1, x8, x0 + WORD $0x9280000a // mov x10, #-1 + WORD $0xf900006a // str x10, [x3] + WORD $0x17fff8c1 // b LBB0_24 $-7420(%rip) +LBB0_479: + WORD $0x52800013 // mov w19, #0 +LBB0_480: + WORD $0xb4000390 // cbz x16, LBB0_487 $112(%rip) +LBB0_481: + WORD $0x14000007 // b LBB0_483 $28(%rip) +LBB0_482: + WORD $0xf10001ff // cmp x15, #0 + WORD $0x1a9f056b // csinc w11, w11, wzr, eq + WORD $0x8a00020f // and x15, x16, x0 + WORD $0x8b0f09f0 // add x16, x15, x15, lsl #2 + WORD $0xd37ffa10 // lsl x16, x16, #1 + WORD $0xb40002af // cbz x15, LBB0_488 $84(%rip) +LBB0_483: + WORD $0x9acd260f // lsr x15, x16, x13 + WORD $0x93407e62 // sxtw x2, w19 + WORD $0xeb02013f // cmp x9, x2 + WORD $0x54fffee9 // b.ls LBB0_482 $-36(%rip) + WORD $0x1100c1ef // add w15, w15, #48 + WORD $0x3822690f // strb w15, [x8, x2] + WORD $0x11000673 // add w19, w19, #1 + WORD $0x8a00020f // and x15, x16, x0 + WORD $0x8b0f09f0 // add x16, x15, x15, lsl #2 + WORD $0xd37ffa10 // lsl x16, x16, #1 + WORD $0xb5fffecf // cbnz x15, LBB0_483 $-40(%rip) + WORD $0x14000009 // b LBB0_488 $36(%rip) +LBB0_485: + WORD $0x52800009 // mov w9, #0 + WORD $0x14000079 // b LBB0_517 $484(%rip) +LBB0_486: + WORD $0x9280000b // mov x11, #-1 + WORD $0xaa0803f0 // mov x16, x8 + WORD $0xaa0d03e1 // mov x1, x13 + WORD $0x9280000c // mov x12, #-1 + WORD $0x92800009 // mov x9, #-1 + WORD $0x17fff94d // b LBB0_61 $-6860(%rip) +LBB0_487: +LBB0_488: + WORD $0x7100067f // cmp w19, #1 + WORD $0x5400014b // b.lt LBB0_492 $40(%rip) +LBB0_489: + WORD $0x387349cd // ldrb w13, [x14, w19, uxtw] + WORD $0x7100c1bf // cmp w13, #48 + WORD $0x54000141 // b.ne LBB0_493 $40(%rip) + WORD $0x71000673 // subs w19, w19, #1 + WORD $0x54ffff8c // b.gt LBB0_489 $-16(%rip) + WORD $0x52800009 // mov w9, #0 + WORD $0x5280000c // mov w12, #0 + WORD $0x12807fad // mov w13, #-1022 + WORD $0x1400006d // b LBB0_520 $436(%rip) +LBB0_492: + WORD $0x12807fad // mov w13, #-1022 + WORD $0x35000073 // cbnz w19, LBB0_494 $12(%rip) + WORD $0x14000062 // b LBB0_515 $392(%rip) +LBB0_493: + WORD $0x12807fad // mov w13, #-1022 +LBB0_494: + WORD $0xd280000f // mov x15, #0 + WORD $0x2a1303e0 // mov w0, w19 + WORD $0x5282b190 // mov w16, #5516 +LBB0_495: + WORD $0xf10099ff // cmp x15, #38 + WORD $0x54000260 // b.eq LBB0_501 $76(%rip) + WORD $0x8b0f0222 // add x2, x17, x15 + WORD $0x38706842 // ldrb w2, [x2, x16] + WORD $0x386f6904 // ldrb w4, [x8, x15] + WORD $0x6b02009f // cmp w4, w2 + WORD $0x54000141 // b.ne LBB0_500 $40(%rip) + WORD $0x910005ef // add x15, x15, #1 + WORD $0xeb0f001f // cmp x0, x15 + WORD $0x54fffee1 // b.ne LBB0_495 $-36(%rip) + WORD $0x8b00022f // add x15, x17, x0 + WORD $0x5282b190 // mov w16, #5516 + WORD $0x387069ef // ldrb w15, [x15, x16] + WORD $0x340000ef // cbz w15, LBB0_501 $28(%rip) +LBB0_499: + WORD $0x528001ef // mov w15, #15 + WORD $0x14000006 // b LBB0_502 $24(%rip) +LBB0_500: + WORD $0x13001c4f // sxtb w15, w2 + WORD $0x13001c90 // sxtb w16, w4 + WORD $0x6b0f021f // cmp w16, w15 + WORD $0x54ffff6b // b.lt LBB0_499 $-20(%rip) +LBB0_501: + WORD $0x5280020f // mov w15, #16 +LBB0_502: + WORD $0x0b0001f0 // add w16, w15, w0 + WORD $0x7100041f // cmp w0, #1 + WORD $0x5400078b // b.lt LBB0_512 $240(%rip) + WORD $0xd2800011 // mov x17, #0 + WORD $0x93407e02 // sxtw x2, w16 + WORD $0xd1000442 // sub x2, x2, #1 + WORD $0xd1000400 // sub x0, x0, #1 + WORD $0xd2ff4005 // mov x5, #-432345564227567616 + WORD $0xb202e7e6 // mov x6, #-3689348814741910324 + WORD $0xf29999a6 // movk x6, #52429 + WORD $0x92800127 // mov x7, #-10 + WORD $0xaa1003e4 // mov x4, x16 + WORD $0x14000009 // b LBB0_505 $36(%rip) +LBB0_504: + WORD $0xf100029f // cmp x20, #0 + WORD $0x1a9f056b // csinc w11, w11, wzr, eq + WORD $0x51000484 // sub w4, w4, #1 + WORD $0xd1000442 // sub x2, x2, #1 + WORD $0x91000414 // add x20, x0, #1 + WORD $0xd1000400 // sub x0, x0, #1 + WORD $0xf100069f // cmp x20, #1 + WORD $0x54000229 // b.ls LBB0_507 $68(%rip) +LBB0_505: + WORD $0x38a06913 // ldrsb x19, [x8, x0] + WORD $0x8b13d631 // add x17, x17, x19, lsl #53 + WORD $0x8b050233 // add x19, x17, x5 + WORD $0x9bc67e71 // umulh x17, x19, x6 + WORD $0xd343fe31 // lsr x17, x17, #3 + WORD $0x9b074e34 // madd x20, x17, x7, x19 + WORD $0xeb02013f // cmp x9, x2 + WORD $0x54fffe29 // b.ls LBB0_504 $-60(%rip) + WORD $0x1100c294 // add w20, w20, #48 + WORD $0x38226914 // strb w20, [x8, x2] + WORD $0x51000484 // sub w4, w4, #1 + WORD $0xd1000442 // sub x2, x2, #1 + WORD $0x91000414 // add x20, x0, #1 + WORD $0xd1000400 // sub x0, x0, #1 + WORD $0xf100069f // cmp x20, #1 + WORD $0x54fffe28 // b.hi LBB0_505 $-60(%rip) +LBB0_507: + WORD $0xf1002a7f // cmp x19, #10 + WORD $0x54000303 // b.lo LBB0_512 $96(%rip) + WORD $0x93407c80 // sxtw x0, w4 + WORD $0xd1000400 // sub x0, x0, #1 + WORD $0xb202e7e2 // mov x2, #-3689348814741910324 + WORD $0xf29999a2 // movk x2, #52429 + WORD $0x92800124 // mov x4, #-10 + WORD $0x14000007 // b LBB0_510 $28(%rip) +LBB0_509: + WORD $0xf10000df // cmp x6, #0 + WORD $0x1a9f056b // csinc w11, w11, wzr, eq + WORD $0xd1000400 // sub x0, x0, #1 + WORD $0xf100263f // cmp x17, #9 + WORD $0xaa0503f1 // mov x17, x5 + WORD $0x54000189 // b.ls LBB0_512 $48(%rip) +LBB0_510: + WORD $0x9bc27e25 // umulh x5, x17, x2 + WORD $0xd343fca5 // lsr x5, x5, #3 + WORD $0x9b0444a6 // madd x6, x5, x4, x17 + WORD $0xeb00013f // cmp x9, x0 + WORD $0x54fffec9 // b.ls LBB0_509 $-40(%rip) + WORD $0x1100c0c6 // add w6, w6, #48 + WORD $0x38206906 // strb w6, [x8, x0] + WORD $0xd1000400 // sub x0, x0, #1 + WORD $0xf100263f // cmp x17, #9 + WORD $0xaa0503f1 // mov x17, x5 + WORD $0x54fffec8 // b.hi LBB0_510 $-40(%rip) +LBB0_512: + WORD $0xeb30c13f // cmp x9, w16, sxtw + WORD $0x1a898209 // csel w9, w16, w9, hi + WORD $0x0b0c01ec // add w12, w15, w12 + WORD $0x7100053f // cmp w9, #1 + WORD $0x5400010b // b.lt LBB0_516 $32(%rip) +LBB0_513: + WORD $0x386949cf // ldrb w15, [x14, w9, uxtw] + WORD $0x7100c1ff // cmp w15, #48 + WORD $0x540000c1 // b.ne LBB0_517 $24(%rip) + WORD $0x71000529 // subs w9, w9, #1 + WORD $0x54ffff8c // b.gt LBB0_513 $-16(%rip) +LBB0_515: + WORD $0x52800009 // mov w9, #0 + WORD $0x14000006 // b LBB0_519 $24(%rip) +LBB0_516: + WORD $0x340000a9 // cbz w9, LBB0_519 $20(%rip) +LBB0_517: + WORD $0x7100519f // cmp w12, #20 + WORD $0x5400008d // b.le LBB0_520 $16(%rip) + WORD $0x9280000e // mov x14, #-1 + WORD $0x14000046 // b LBB0_540 $280(%rip) +LBB0_519: + WORD $0x5280000c // mov w12, #0 +LBB0_520: + WORD $0x6b09019f // cmp w12, w9 + WORD $0x1a89b18f // csel w15, w12, w9, lt + WORD $0x710005ff // cmp w15, #1 + WORD $0x5400016b // b.lt LBB0_523 $44(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0x52800150 // mov w16, #10 + WORD $0xaa0f03f1 // mov x17, x15 + WORD $0xaa0803e0 // mov x0, x8 +LBB0_522: + WORD $0x38801402 // ldrsb x2, [x0], #1 + WORD $0x9b1009ce // madd x14, x14, x16, x2 + WORD $0xd100c1ce // sub x14, x14, #48 + WORD $0xf1000631 // subs x17, x17, #1 + WORD $0x54ffff81 // b.ne LBB0_522 $-16(%rip) + WORD $0x14000003 // b LBB0_524 $12(%rip) +LBB0_523: + WORD $0x5280000f // mov w15, #0 + WORD $0xd280000e // mov x14, #0 +LBB0_524: + WORD $0x6b0f0190 // subs w16, w12, w15 + WORD $0x540003ad // b.le LBB0_531 $116(%rip) + WORD $0x7100121f // cmp w16, #4 + WORD $0x540002c3 // b.lo LBB0_529 $88(%rip) + WORD $0x121e7611 // and w17, w16, #0xfffffffc + WORD $0x0b1101ef // add w15, w15, w17 + WORD $0x52800020 // mov w0, #1 + WORD $0xaa1103e2 // mov x2, x17 + WORD $0x52800024 // mov w4, #1 + WORD $0x52800025 // mov w5, #1 +LBB0_527: + WORD $0x8b0e09ce // add x14, x14, x14, lsl #2 + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0x8b000800 // add x0, x0, x0, lsl #2 + WORD $0xd37ff800 // lsl x0, x0, #1 + WORD $0x8b040884 // add x4, x4, x4, lsl #2 + WORD $0xd37ff884 // lsl x4, x4, #1 + WORD $0x8b0508a5 // add x5, x5, x5, lsl #2 + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0x71001042 // subs w2, w2, #4 + WORD $0x54fffee1 // b.ne LBB0_527 $-36(%rip) + WORD $0x9b0e7c0e // mul x14, x0, x14 + WORD $0x9b0e7c8e // mul x14, x4, x14 + WORD $0x9b0e7cae // mul x14, x5, x14 + WORD $0x6b11021f // cmp w16, w17 + WORD $0x540000c0 // b.eq LBB0_531 $24(%rip) +LBB0_529: + WORD $0x4b0f018f // sub w15, w12, w15 +LBB0_530: + WORD $0x8b0e09ce // add x14, x14, x14, lsl #2 + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0x710005ef // subs w15, w15, #1 + WORD $0x54ffffa1 // b.ne LBB0_530 $-12(%rip) +LBB0_531: + WORD $0x37f801ec // tbnz w12, #31, LBB0_537 $60(%rip) + WORD $0x6b0c013f // cmp w9, w12 + WORD $0x540001ad // b.le LBB0_537 $52(%rip) + WORD $0x8b2c4108 // add x8, x8, w12, uxtw + WORD $0x39c0010f // ldrsb w15, [x8] + WORD $0x11000590 // add w16, w12, #1 + WORD $0x7100d5ff // cmp w15, #53 + WORD $0x7a490200 // ccmp w16, w9, #0, eq + WORD $0x540000a0 // b.eq LBB0_535 $20(%rip) + WORD $0x7100d1ff // cmp w15, #52 + WORD $0x1a9fd7e8 // cset w8, gt + WORD $0x35000068 // cbnz w8, LBB0_536 $12(%rip) + WORD $0x14000003 // b LBB0_537 $12(%rip) +LBB0_535: + WORD $0x340001eb // cbz w11, LBB0_541 $60(%rip) +LBB0_536: + WORD $0x910005ce // add x14, x14, #1 +LBB0_537: + WORD $0xd2e00408 // mov x8, #9007199254740992 + WORD $0xeb0801df // cmp x14, x8 + WORD $0x540000a1 // b.ne LBB0_540 $20(%rip) + WORD $0x710ffdbf // cmp w13, #1023 + WORD $0x54ff8660 // b.eq LBB0_274 $-3892(%rip) + WORD $0x110005ad // add w13, w13, #1 + WORD $0xd2e0020e // mov x14, #4503599627370496 +LBB0_540: + WORD $0x9374d1c9 // sbfx x9, x14, #52, #1 + WORD $0x110ffdab // add w11, w13, #1023 + WORD $0x9240cdc8 // and x8, x14, #0xfffffffffffff + WORD $0x1200296b // and w11, w11, #0x7ff + WORD $0x8a0bd129 // and x9, x9, x11, lsl #52 + WORD $0x17fffc32 // b LBB0_277 $-3896(%rip) +LBB0_541: + WORD $0x34fffe6c // cbz w12, LBB0_537 $-52(%rip) + WORD $0x385ff108 // ldurb w8, [x8, #-1] + WORD $0x12000108 // and w8, w8, #0x1 + WORD $0x35fffde8 // cbnz w8, LBB0_536 $-68(%rip) + WORD $0x17ffffef // b LBB0_537 $-68(%rip) +LBB0_543: + WORD $0xdac001ae // rbit x14, x13 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb00016f // sub x15, x11, x0 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a8e1108 // csel x8, x8, x14, ne +LBB0_544: + WORD $0x0a2a01ae // bic w14, w13, w10 + WORD $0x531f79cf // lsl w15, w14, #1 + WORD $0x331f79ca // bfi w10, w14, #1, #31 + WORD $0x0a2f01ad // bic w13, w13, w15 + WORD $0x1201f1ad // and w13, w13, #0xaaaaaaaa + WORD $0x2b0e01ad // adds w13, w13, w14 + WORD $0x3200f3ee // mov w14, #1431655765 + WORD $0x4a0d05cd // eor w13, w14, w13, lsl #1 + WORD $0x0a0a01aa // and w10, w13, w10 + WORD $0x1a9f37ed // cset w13, hs + WORD $0x2a2a03ea // mvn w10, w10 + WORD $0x8a090149 // and x9, x10, x9 + WORD $0xaa0d03ea // mov x10, x13 + WORD $0xb5ffd8e9 // cbnz x9, LBB0_470 $-1252(%rip) +LBB0_545: + WORD $0x9100816b // add x11, x11, #32 + WORD $0xaa0c03e9 // mov x9, x12 +LBB0_546: + WORD $0xb5000c8a // cbnz x10, LBB0_576 $400(%rip) + WORD $0xb40003a9 // cbz x9, LBB0_556 $116(%rip) +LBB0_548: + WORD $0xcb0003ea // neg x10, x0 +LBB0_549: + WORD $0xd280000d // mov x13, #0 +LBB0_550: + WORD $0x386d696c // ldrb w12, [x11, x13] + WORD $0x7100899f // cmp w12, #34 + WORD $0x540002c0 // b.eq LBB0_555 $88(%rip) + WORD $0x7101719f // cmp w12, #92 + WORD $0x540000a0 // b.eq LBB0_553 $20(%rip) + WORD $0x910005ad // add x13, x13, #1 + WORD $0xeb0d013f // cmp x9, x13 + WORD $0x54ffff21 // b.ne LBB0_550 $-28(%rip) + WORD $0x14000015 // b LBB0_557 $84(%rip) +LBB0_553: + WORD $0xd100052c // sub x12, x9, #1 + WORD $0xeb0d019f // cmp x12, x13 + WORD $0x54000cc0 // b.eq LBB0_580 $408(%rip) + WORD $0x8b0d016b // add x11, x11, x13 + WORD $0x8b0a016c // add x12, x11, x10 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880188 // csel x8, x12, x8, eq + WORD $0x9100096b // add x11, x11, #2 + WORD $0xcb0d012c // sub x12, x9, x13 + WORD $0xd100092e // sub x14, x9, #2 + WORD $0xd1000989 // sub x9, x12, #2 + WORD $0x9280000c // mov x12, #-1 + WORD $0xeb0d01df // cmp x14, x13 + WORD $0x54fffd21 // b.ne LBB0_549 $-92(%rip) + WORD $0x14000047 // b LBB0_575 $284(%rip) +LBB0_555: + WORD $0x8b0d0169 // add x9, x11, x13 + WORD $0x9100052b // add x11, x9, #1 +LBB0_556: + WORD $0xcb00016c // sub x12, x11, x0 + WORD $0xb6ff3bac // tbz x12, #63, LBB0_134 $-6284(%rip) + WORD $0x14000042 // b LBB0_575 $264(%rip) +LBB0_557: + WORD $0x7100899f // cmp w12, #34 + WORD $0x54000a61 // b.ne LBB0_580 $332(%rip) + WORD $0x8b0d016b // add x11, x11, x13 + WORD $0x17fffffa // b LBB0_556 $-24(%rip) +LBB0_559: + WORD $0xdac001cf // rbit x15, x14 + WORD $0xdac011ef // clz x15, x15 + WORD $0xcb000170 // sub x16, x11, x0 + WORD $0x8b0f020f // add x15, x16, x15 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a8f1108 // csel x8, x8, x15, ne +LBB0_560: + WORD $0x0a2901cf // bic w15, w14, w9 + WORD $0x531f79f0 // lsl w16, w15, #1 + WORD $0x331f79e9 // bfi w9, w15, #1, #31 + WORD $0x0a3001ce // bic w14, w14, w16 + WORD $0x1201f1ce // and w14, w14, #0xaaaaaaaa + WORD $0x2b0f01ce // adds w14, w14, w15 + WORD $0x3200f3ef // mov w15, #1431655765 + WORD $0x4a0e05ee // eor w14, w15, w14, lsl #1 + WORD $0x0a0901c9 // and w9, w14, w9 + WORD $0x1a9f37ee // cset w14, hs + WORD $0x2a2903e9 // mvn w9, w9 + WORD $0x8a0a012a // and x10, x9, x10 + WORD $0xaa0e03e9 // mov x9, x14 + WORD $0xb5ffd80a // cbnz x10, LBB0_476 $-1280(%rip) +LBB0_561: + WORD $0x3500044d // cbnz w13, LBB0_573 $136(%rip) + WORD $0x9100816b // add x11, x11, #32 + WORD $0xaa0c03ea // mov x10, x12 +LBB0_563: + WORD $0xb5000629 // cbnz x9, LBB0_578 $196(%rip) + WORD $0xb400070a // cbz x10, LBB0_580 $224(%rip) +LBB0_565: + WORD $0xcb0003e9 // neg x9, x0 +LBB0_566: + WORD $0xd280000d // mov x13, #0 +LBB0_567: + WORD $0x386d696c // ldrb w12, [x11, x13] + WORD $0x7100899f // cmp w12, #34 + WORD $0x54000380 // b.eq LBB0_574 $112(%rip) + WORD $0x7101719f // cmp w12, #92 + WORD $0x54000100 // b.eq LBB0_571 $32(%rip) + WORD $0x7100819f // cmp w12, #32 + WORD $0x540002a3 // b.lo LBB0_573 $84(%rip) + WORD $0x910005ad // add x13, x13, #1 + WORD $0x9280000c // mov x12, #-1 + WORD $0xeb0d015f // cmp x10, x13 + WORD $0x54fffec1 // b.ne LBB0_567 $-40(%rip) + WORD $0x14000017 // b LBB0_575 $92(%rip) +LBB0_571: + WORD $0xd100054c // sub x12, x10, #1 + WORD $0xeb0d019f // cmp x12, x13 + WORD $0x540004e0 // b.eq LBB0_580 $156(%rip) + WORD $0x8b0d016b // add x11, x11, x13 + WORD $0x8b09016c // add x12, x11, x9 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880188 // csel x8, x12, x8, eq + WORD $0x9100096b // add x11, x11, #2 + WORD $0xd100094e // sub x14, x10, #2 + WORD $0xcb0d014a // sub x10, x10, x13 + WORD $0xd100094a // sub x10, x10, #2 + WORD $0x9280000c // mov x12, #-1 + WORD $0xeb0d01df // cmp x14, x13 + WORD $0x54fffcc1 // b.ne LBB0_566 $-104(%rip) + WORD $0x14000008 // b LBB0_575 $32(%rip) +LBB0_573: + WORD $0x9280002c // mov x12, #-2 + WORD $0xf900006c // str x12, [x3] + WORD $0x17fff76a // b LBB0_24 $-8792(%rip) +LBB0_574: + WORD $0xcb000169 // sub x9, x11, x0 + WORD $0x8b0d0129 // add x9, x9, x13 + WORD $0x9100052c // add x12, x9, #1 + WORD $0xb6ff336c // tbz x12, #63, LBB0_134 $-6548(%rip) +LBB0_575: + WORD $0xf900006c // str x12, [x3] + WORD $0x17fff764 // b LBB0_24 $-8816(%rip) +LBB0_576: + WORD $0xb4000229 // cbz x9, LBB0_580 $68(%rip) + WORD $0xaa2003ea // mvn x10, x0 + WORD $0x8b0a016a // add x10, x11, x10 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880148 // csel x8, x10, x8, eq + WORD $0x9100056b // add x11, x11, #1 + WORD $0xd1000529 // sub x9, x9, #1 + WORD $0xb5fff2e9 // cbnz x9, LBB0_548 $-420(%rip) + WORD $0x17ffffb2 // b LBB0_556 $-312(%rip) +LBB0_578: + WORD $0xb400010a // cbz x10, LBB0_580 $32(%rip) + WORD $0xaa2003e9 // mvn x9, x0 + WORD $0x8b090169 // add x9, x11, x9 + WORD $0xb100051f // cmn x8, #1 + WORD $0x9a880128 // csel x8, x9, x8, eq + WORD $0x9100056b // add x11, x11, #1 + WORD $0xd100054a // sub x10, x10, #1 + WORD $0xb5fff94a // cbnz x10, LBB0_565 $-216(%rip) +LBB0_580: + WORD $0x9280000c // mov x12, #-1 + WORD $0xf900006c // str x12, [x3] + WORD $0x17fff750 // b LBB0_24 $-8896(%rip) + // .p2align 1, 0x00 +LJTI0_0: + WORD $0x01910000 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910123 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x0019011f + WORD $0x01910191 + WORD $0x00190019 + WORD $0x00190019 + WORD $0x00190019 + WORD $0x00190019 + WORD $0x00190019 + WORD $0x01910195 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01990191 + WORD $0x01a70191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x0191019b + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x0191010e + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910184 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01af0191 + WORD $0x011b0191 + // // .word (LBB0_22-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_95-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_94-LBB0_22)>>2 +// .word (LBB0_29-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_29-LBB0_22)>>2 +// .word (LBB0_29-LBB0_22)>>2 +// .word (LBB0_29-LBB0_22)>>2 +// .word (LBB0_29-LBB0_22)>>2 +// .word (LBB0_29-LBB0_22)>>2 +// .word (LBB0_29-LBB0_22)>>2 +// .word (LBB0_29-LBB0_22)>>2 +// .word (LBB0_29-LBB0_22)>>2 +// .word (LBB0_29-LBB0_22)>>2 +// .word (LBB0_29-LBB0_22)>>2 +// .word (LBB0_110-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_111-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_115-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_112-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_90-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_106-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_117-LBB0_22)>>2 +// .word (LBB0_109-LBB0_22)>>2 +// .word (LBB0_93-LBB0_22)>>2 + +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + WORD $0x00000000 // .p2align 3, 0x00 +_P10_TAB: + WORD $0x00000000; WORD $0x3ff00000 // .quad 0x3ff0000000000000 + WORD $0x00000000; WORD $0x40240000 // .quad 0x4024000000000000 + WORD $0x00000000; WORD $0x40590000 // .quad 0x4059000000000000 + WORD $0x00000000; WORD $0x408f4000 // .quad 0x408f400000000000 + WORD $0x00000000; WORD $0x40c38800 // .quad 0x40c3880000000000 + WORD $0x00000000; WORD $0x40f86a00 // .quad 0x40f86a0000000000 + WORD $0x00000000; WORD $0x412e8480 // .quad 0x412e848000000000 + WORD $0x00000000; WORD $0x416312d0 // .quad 0x416312d000000000 + WORD $0x00000000; WORD $0x4197d784 // .quad 0x4197d78400000000 + WORD $0x00000000; WORD $0x41cdcd65 // .quad 0x41cdcd6500000000 + WORD $0x20000000; WORD $0x4202a05f // .quad 0x4202a05f20000000 + WORD $0xe8000000; WORD $0x42374876 // .quad 0x42374876e8000000 + WORD $0xa2000000; WORD $0x426d1a94 // .quad 0x426d1a94a2000000 + WORD $0xe5400000; WORD $0x42a2309c // .quad 0x42a2309ce5400000 + WORD $0x1e900000; WORD $0x42d6bcc4 // .quad 0x42d6bcc41e900000 + WORD $0x26340000; WORD $0x430c6bf5 // .quad 0x430c6bf526340000 + WORD $0x37e08000; WORD $0x4341c379 // .quad 0x4341c37937e08000 + WORD $0x85d8a000; WORD $0x43763457 // .quad 0x4376345785d8a000 + WORD $0x674ec800; WORD $0x43abc16d // .quad 0x43abc16d674ec800 + WORD $0x60913d00; WORD $0x43e158e4 // .quad 0x43e158e460913d00 + WORD $0x78b58c40; WORD $0x4415af1d // .quad 0x4415af1d78b58c40 + WORD $0xd6e2ef50; WORD $0x444b1ae4 // .quad 0x444b1ae4d6e2ef50 + WORD $0x064dd592; WORD $0x4480f0cf // .quad 0x4480f0cf064dd592 + // .p2align 3, 0x00 +_POW10_M128_TAB: + WORD $0xcd60e453; WORD $0x1732c869 // .quad 1671618768450675795 + WORD $0x081c0288; WORD $0xfa8fd5a0 // .quad -391859759250406776 + WORD $0x205c8eb4; WORD $0x0e7fbd42 // .quad 1044761730281672372 + WORD $0x05118195; WORD $0x9c99e584 // .quad -7162441377172586091 + WORD $0xa873b261; WORD $0x521fac92 // .quad 5917638181279478369 + WORD $0x0655e1fa; WORD $0xc3c05ee5 // .quad -4341365703038344710 + WORD $0x52909ef9; WORD $0xe6a797b7 // .quad -1826324310255427847 + WORD $0x47eb5a78; WORD $0xf4b0769e // .quad -815021110370542984 + WORD $0x939a635c; WORD $0x9028bed2 // .quad -8058981721550724260 + WORD $0xecf3188b; WORD $0x98ee4a22 // .quad -7426917221622671221 + WORD $0x3880fc33; WORD $0x7432ee87 // .quad 8373016921771146291 + WORD $0xa82fdeae; WORD $0xbf29dcab // .quad -4671960508600951122 + WORD $0x06a13b3f; WORD $0x113faa29 // .quad 1242899115359157055 + WORD $0x923bd65a; WORD $0xeef453d6 // .quad -1228264617323800998 + WORD $0xa424c507; WORD $0x4ac7ca59 // .quad 5388497965526861063 + WORD $0x1b6565f8; WORD $0x9558b466 // .quad -7685194413468457480 + WORD $0x0d2df649; WORD $0x5d79bcf0 // .quad 6735622456908576329 + WORD $0xa23ebf76; WORD $0xbaaee17f // .quad -4994806998408183946 + WORD $0x107973dc; WORD $0xf4d82c2c // .quad -803843965719055396 + WORD $0x8ace6f53; WORD $0xe95a99df // .quad -1631822729582842029 + WORD $0x8a4be869; WORD $0x79071b9b // .quad 8720969558280366185 + WORD $0xb6c10594; WORD $0x91d8a02b // .quad -7937418233630358124 + WORD $0x6cdee284; WORD $0x9748e282 // .quad -7545532125859093884 + WORD $0xa47146f9; WORD $0xb64ec836 // .quad -5310086773610559751 + WORD $0x08169b25; WORD $0xfd1b1b23 // .quad -208543120469091547 + WORD $0x4d8d98b7; WORD $0xe3e27a44 // .quad -2025922448585811785 + WORD $0xe50e20f7; WORD $0xfe30f0f5 // .quad -130339450293182217 + WORD $0xb0787f72; WORD $0x8e6d8c6a // .quad -8183730558007214222 + WORD $0x5e51a935; WORD $0xbdbd2d33 // .quad -4774610331293865675 + WORD $0x5c969f4f; WORD $0xb208ef85 // .quad -5617977179081629873 + WORD $0x35e61382; WORD $0xad2c7880 // .quad -5968262914117332094 + WORD $0xb3bc4723; WORD $0xde8b2b66 // .quad -2410785455424649437 + WORD $0x21afcc31; WORD $0x4c3bcb50 // .quad 5493207715531443249 + WORD $0x3055ac76; WORD $0x8b16fb20 // .quad -8424269937281487754 + WORD $0x2a1bbf3d; WORD $0xdf4abe24 // .quad -2356862392440471747 + WORD $0x3c6b1793; WORD $0xaddcb9e8 // .quad -5918651403174471789 + WORD $0x34a2af0d; WORD $0xd71d6dad // .quad -2946077990550589683 + WORD $0x4b85dd78; WORD $0xd953e862 // .quad -2786628235540701832 + WORD $0x40e5ad68; WORD $0x8672648c // .quad -8758827771735200408 + WORD $0x6f33aa6b; WORD $0x87d4713d // .quad -8659171674854020501 + WORD $0x511f18c2; WORD $0x680efdaf // .quad 7498209359040551106 + WORD $0xcb009506; WORD $0xa9c98d8c // .quad -6212278575140137722 + WORD $0x2566def2; WORD $0x0212bd1b // .quad 149389661945913074 + WORD $0xfdc0ba48; WORD $0xd43bf0ef // .quad -3153662200497784248 + WORD $0xf7604b57; WORD $0x014bb630 // .quad 93368538716195671 + WORD $0xfe98746d; WORD $0x84a57695 // .quad -8888567902952197011 + WORD $0x35385e2d; WORD $0x419ea3bd // .quad 4728396691822632493 + WORD $0x7e3e9188; WORD $0xa5ced43b // .quad -6499023860262858360 + WORD $0x828675b9; WORD $0x52064cac // .quad 5910495864778290617 + WORD $0x5dce35ea; WORD $0xcf42894a // .quad -3512093806901185046 + WORD $0xd1940993; WORD $0x7343efeb // .quad 8305745933913819539 + WORD $0x7aa0e1b2; WORD $0x818995ce // .quad -9112587656954322510 + WORD $0xc5f90bf8; WORD $0x1014ebe6 // .quad 1158810380537498616 + WORD $0x19491a1f; WORD $0xa1ebfb42 // .quad -6779048552765515233 + WORD $0x77774ef6; WORD $0xd41a26e0 // .quad -3163173042755514634 + WORD $0x9f9b60a6; WORD $0xca66fa12 // .quad -3862124672529506138 + WORD $0x955522b4; WORD $0x8920b098 // .quad -8565652321871781196 + WORD $0x478238d0; WORD $0xfd00b897 // .quad -215969822234494768 + WORD $0x5d5535b0; WORD $0x55b46e5f // .quad 6175682344898606512 + WORD $0x8cb16382; WORD $0x9e20735e // .quad -7052510166537641086 + WORD $0x34aa831d; WORD $0xeb2189f7 // .quad -1503769105731517667 + WORD $0x2fddbc62; WORD $0xc5a89036 // .quad -4203951689744663454 + WORD $0x01d523e4; WORD $0xa5e9ec75 // .quad -6491397400591784988 + WORD $0xbbd52b7b; WORD $0xf712b443 // .quad -643253593753441413 + WORD $0x2125366e; WORD $0x47b233c9 // .quad 5166248661484910190 + WORD $0x55653b2d; WORD $0x9a6bb0aa // .quad -7319562523736982739 + WORD $0x696e840a; WORD $0x999ec0bb // .quad -7377247228426025974 + WORD $0xeabe89f8; WORD $0xc1069cd4 // .quad -4537767136243840520 + WORD $0x43ca250d; WORD $0xc00670ea // .quad -4609873017105144563 + WORD $0x256e2c76; WORD $0xf148440a // .quad -1060522901877412746 + WORD $0x6a5e5728; WORD $0x38040692 // .quad 4036358391950366504 + WORD $0x5764dbca; WORD $0x96cd2a86 // .quad -7580355841314464822 + WORD $0x04f5ecf2; WORD $0xc6050837 // .quad -4177924046916817678 + WORD $0xed3e12bc; WORD $0xbc807527 // .quad -4863758783215693124 + WORD $0xc633682e; WORD $0xf7864a44 // .quad -610719040218634194 + WORD $0xe88d976b; WORD $0xeba09271 // .quad -1468012460592228501 + WORD $0xfbe0211d; WORD $0x7ab3ee6a // .quad 8841672636718129437 + WORD $0x31587ea3; WORD $0x93445b87 // .quad -7835036815511224669 + WORD $0xbad82964; WORD $0x5960ea05 // .quad 6440404777470273892 + WORD $0xfdae9e4c; WORD $0xb8157268 // .quad -5182110000961642932 + WORD $0x298e33bd; WORD $0x6fb92487 // .quad 8050505971837842365 + WORD $0x3d1a45df; WORD $0xe61acf03 // .quad -1865951482774665761 + WORD $0x79f8e056; WORD $0xa5d3b6d4 // .quad -6497648813669818282 + WORD $0x06306bab; WORD $0x8fd0c162 // .quad -8083748704375247957 + WORD $0x9877186c; WORD $0x8f48a489 // .quad -8122061017087272852 + WORD $0x87bc8696; WORD $0xb3c4f1ba // .quad -5492999862041672042 + WORD $0xfe94de87; WORD $0x331acdab // .quad 3682481783923072647 + WORD $0x29aba83c; WORD $0xe0b62e29 // .quad -2254563809124702148 + WORD $0x7f1d0b14; WORD $0x9ff0c08b // .quad -6921820921902855404 + WORD $0xba0b4925; WORD $0x8c71dcd9 // .quad -8326631408344020699 + WORD $0x5ee44dd9; WORD $0x07ecf0ae // .quad 571095884476206553 + WORD $0x288e1b6f; WORD $0xaf8e5410 // .quad -5796603242002637969 + WORD $0xf69d6150; WORD $0xc9e82cd9 // .quad -3897816162832129712 + WORD $0x32b1a24a; WORD $0xdb71e914 // .quad -2634068034075909558 + WORD $0x3a225cd2; WORD $0xbe311c08 // .quad -4741978110983775022 + WORD $0x9faf056e; WORD $0x892731ac // .quad -8563821548938525330 + WORD $0x48aaf406; WORD $0x6dbd630a // .quad 7907585416552444934 + WORD $0xc79ac6ca; WORD $0xab70fe17 // .quad -6093090917745768758 + WORD $0xdad5b108; WORD $0x092cbbcc // .quad 661109733835780360 + WORD $0xb981787d; WORD $0xd64d3d9d // .quad -3004677628754823043 + WORD $0x08c58ea5; WORD $0x25bbf560 // .quad 2719036592861056677 + WORD $0x93f0eb4e; WORD $0x85f04682 // .quad -8795452545612846258 + WORD $0x0af6f24e; WORD $0xaf2af2b8 // .quad -5824576295778454962 + WORD $0x38ed2621; WORD $0xa76c5823 // .quad -6382629663588669919 + WORD $0x0db4aee1; WORD $0x1af5af66 // .quad 1942651667131707105 + WORD $0x07286faa; WORD $0xd1476e2c // .quad -3366601061058449494 + WORD $0xc890ed4d; WORD $0x50d98d9f // .quad 5825843310384704845 + WORD $0x847945ca; WORD $0x82cca4db // .quad -9021654690802612790 + WORD $0xbab528a0; WORD $0xe50ff107 // .quad -1941067898873894752 + WORD $0x6597973c; WORD $0xa37fce12 // .quad -6665382345075878084 + WORD $0xa96272c8; WORD $0x1e53ed49 // .quad 2185351144835019464 + WORD $0xfefd7d0c; WORD $0xcc5fc196 // .quad -3720041912917459700 + WORD $0x13bb0f7a; WORD $0x25e8e89c // .quad 2731688931043774330 + WORD $0xbebcdc4f; WORD $0xff77b1fc // .quad -38366372719436721 + WORD $0x8c54e9ac; WORD $0x77b19161 // .quad 8624834609543440812 + WORD $0xf73609b1; WORD $0x9faacf3d // .quad -6941508010590729807 + WORD $0xef6a2417; WORD $0xd59df5b9 // .quad -3054014793352862697 + WORD $0x75038c1d; WORD $0xc795830d // .quad -4065198994811024355 + WORD $0x6b44ad1d; WORD $0x4b057328 // .quad 5405853545163697437 + WORD $0xd2446f25; WORD $0xf97ae3d0 // .quad -469812725086392539 + WORD $0x430aec32; WORD $0x4ee367f9 // .quad 5684501474941004850 + WORD $0x836ac577; WORD $0x9becce62 // .quad -7211161980820077193 + WORD $0x93cda73f; WORD $0x229c41f7 // .quad 2493940825248868159 + WORD $0x244576d5; WORD $0xc2e801fb // .quad -4402266457597708587 + WORD $0x78c1110f; WORD $0x6b435275 // .quad 7729112049988473103 + WORD $0xed56d48a; WORD $0xf3a20279 // .quad -891147053569747830 + WORD $0x6b78aaa9; WORD $0x830a1389 // .quad -9004363024039368023 + WORD $0x345644d6; WORD $0x9845418c // .quad -7474495936122174250 + WORD $0xc656d553; WORD $0x23cc986b // .quad 2579604275232953683 + WORD $0x416bd60c; WORD $0xbe5691ef // .quad -4731433901725329908 + WORD $0xb7ec8aa8; WORD $0x2cbfbe86 // .quad 3224505344041192104 + WORD $0x11c6cb8f; WORD $0xedec366b // .quad -1302606358729274481 + WORD $0x32f3d6a9; WORD $0x7bf7d714 // .quad 8932844867666826921 + WORD $0xeb1c3f39; WORD $0x94b3a202 // .quad -7731658001846878407 + WORD $0x3fb0cc53; WORD $0xdaf5ccd9 // .quad -2669001970698630061 + WORD $0xa5e34f07; WORD $0xb9e08a83 // .quad -5052886483881210105 + WORD $0x8f9cff68; WORD $0xd1b3400f // .quad -3336252463373287576 + WORD $0x8f5c22c9; WORD $0xe858ad24 // .quad -1704422086424124727 + WORD $0xb9c21fa1; WORD $0x23100809 // .quad 2526528228819083169 + WORD $0xd99995be; WORD $0x91376c36 // .quad -7982792831656159810 + WORD $0x2832a78a; WORD $0xabd40a0c // .quad -6065211750830921846 + WORD $0x8ffffb2d; WORD $0xb5854744 // .quad -5366805021142811859 + WORD $0x323f516c; WORD $0x16c90c8f // .quad 1641857348316123500 + WORD $0xb3fff9f9; WORD $0xe2e69915 // .quad -2096820258001126919 + WORD $0x7f6792e3; WORD $0xae3da7d9 // .quad -5891368184943504669 + WORD $0x907ffc3b; WORD $0x8dd01fad // .quad -8228041688891786181 + WORD $0xdf41779c; WORD $0x99cd11cf // .quad -7364210231179380836 + WORD $0xf49ffb4a; WORD $0xb1442798 // .quad -5673366092687344822 + WORD $0xd711d583; WORD $0x40405643 // .quad 4629795266307937667 + WORD $0x31c7fa1d; WORD $0xdd95317f // .quad -2480021597431793123 + WORD $0x666b2572; WORD $0x482835ea // .quad 5199465050656154994 + WORD $0x7f1cfc52; WORD $0x8a7d3eef // .quad -8467542526035952558 + WORD $0x0005eecf; WORD $0xda324365 // .quad -2724040723534582065 + WORD $0x5ee43b66; WORD $0xad1c8eab // .quad -5972742139117552794 + WORD $0x40076a82; WORD $0x90bed43e // .quad -8016736922845615486 + WORD $0x369d4a40; WORD $0xd863b256 // .quad -2854241655469553088 + WORD $0xe804a291; WORD $0x5a7744a6 // .quad 6518754469289960081 + WORD $0xe2224e68; WORD $0x873e4f75 // .quad -8701430062309552536 + WORD $0xa205cb36; WORD $0x711515d0 // .quad 8148443086612450102 + WORD $0x5aaae202; WORD $0xa90de353 // .quad -6265101559459552766 + WORD $0xca873e03; WORD $0x0d5a5b44 // .quad 962181821410786819 + WORD $0x31559a83; WORD $0xd3515c28 // .quad -3219690930897053053 + WORD $0xfe9486c2; WORD $0xe858790a // .quad -1704479370831952190 + WORD $0x1ed58091; WORD $0x8412d999 // .quad -8929835859451740015 + WORD $0xbe39a872; WORD $0x626e974d // .quad 7092772823314835570 + WORD $0x668ae0b6; WORD $0xa5178fff // .quad -6550608805887287114 + WORD $0x2dc8128f; WORD $0xfb0a3d21 // .quad -357406007711231345 + WORD $0x402d98e3; WORD $0xce5d73ff // .quad -3576574988931720989 + WORD $0xbc9d0b99; WORD $0x7ce66634 // .quad 8999993282035256217 + WORD $0x881c7f8e; WORD $0x80fa687f // .quad -9152888395723407474 + WORD $0xebc44e80; WORD $0x1c1fffc1 // .quad 2026619565689294464 + WORD $0x6a239f72; WORD $0xa139029f // .quad -6829424476226871438 + WORD $0x66b56220; WORD $0xa327ffb2 // .quad -6690097579743157728 + WORD $0x44ac874e; WORD $0xc9874347 // .quad -3925094576856201394 + WORD $0x0062baa8; WORD $0x4bf1ff9f // .quad 5472436080603216552 + WORD $0x15d7a922; WORD $0xfbe91419 // .quad -294682202642863838 + WORD $0x603db4a9; WORD $0x6f773fc3 // .quad 8031958568804398249 + WORD $0xada6c9b5; WORD $0x9d71ac8f // .quad -7101705404292871755 + WORD $0x384d21d3; WORD $0xcb550fb4 // .quad -3795109844276665901 + WORD $0x99107c22; WORD $0xc4ce17b3 // .quad -4265445736938701790 + WORD $0x46606a48; WORD $0x7e2a53a1 // .quad 9091170749936331336 + WORD $0x7f549b2b; WORD $0xf6019da0 // .quad -720121152745989333 + WORD $0xcbfc426d; WORD $0x2eda7444 // .quad 3376138709496513133 + WORD $0x4f94e0fb; WORD $0x99c10284 // .quad -7367604748107325189 + WORD $0xfefb5308; WORD $0xfa911155 // .quad -391512631556746488 + WORD $0x637a1939; WORD $0xc0314325 // .quad -4597819916706768583 + WORD $0x7eba27ca; WORD $0x793555ab // .quad 8733981247408842698 + WORD $0xbc589f88; WORD $0xf03d93ee // .quad -1135588877456072824 + WORD $0x2f3458de; WORD $0x4bc1558b // .quad 5458738279630526686 + WORD $0x35b763b5; WORD $0x96267c75 // .quad -7627272076051127371 + WORD $0xfb016f16; WORD $0x9eb1aaed // .quad -7011635205744005354 + WORD $0x83253ca2; WORD $0xbbb01b92 // .quad -4922404076636521310 + WORD $0x79c1cadc; WORD $0x465e15a9 // .quad 5070514048102157020 + WORD $0x23ee8bcb; WORD $0xea9c2277 // .quad -1541319077368263733 + WORD $0xec191ec9; WORD $0x0bfacd89 // .quad 863228270850154185 + WORD $0x7675175f; WORD $0x92a1958a // .quad -7880853450996246689 + WORD $0x671f667b; WORD $0xcef980ec // .quad -3532650679864695173 + WORD $0x14125d36; WORD $0xb749faed // .quad -5239380795317920458 + WORD $0x80e7401a; WORD $0x82b7e127 // .quad -9027499368258256870 + WORD $0x5916f484; WORD $0xe51c79a8 // .quad -1937539975720012668 + WORD $0xb0908810; WORD $0xd1b2ecb8 // .quad -3336344095947716592 + WORD $0x37ae58d2; WORD $0x8f31cc09 // .quad -8128491512466089774 + WORD $0xdcb4aa15; WORD $0x861fa7e6 // .quad -8782116138362033643 + WORD $0x8599ef07; WORD $0xb2fe3f0b // .quad -5548928372155224313 + WORD $0x93e1d49a; WORD $0x67a791e0 // .quad 7469098900757009562 + WORD $0x67006ac9; WORD $0xdfbdcece // .quad -2324474446766642487 + WORD $0x5c6d24e0; WORD $0xe0c8bb2c // .quad -2249342214667950880 + WORD $0x006042bd; WORD $0x8bd6a141 // .quad -8370325556870233411 + WORD $0x73886e18; WORD $0x58fae9f7 // .quad 6411694268519837208 + WORD $0x4078536d; WORD $0xaecc4991 // .quad -5851220927660403859 + WORD $0x506a899e; WORD $0xaf39a475 // .quad -5820440219632367202 + WORD $0x90966848; WORD $0xda7f5bf5 // .quad -2702340141148116920 + WORD $0x52429603; WORD $0x6d8406c9 // .quad 7891439908798240259 + WORD $0x7a5e012d; WORD $0x888f9979 // .quad -8606491615858654931 + WORD $0xa6d33b83; WORD $0xc8e5087b // .quad -3970758169284363389 + WORD $0xd8f58178; WORD $0xaab37fd7 // .quad -6146428501395930760 + WORD $0x90880a64; WORD $0xfb1e4a9a // .quad -351761693178066332 + WORD $0xcf32e1d6; WORD $0xd5605fcd // .quad -3071349608317525546 + WORD $0x9a55067f; WORD $0x5cf2eea0 // .quad 6697677969404790399 + WORD $0xa17fcd26; WORD $0x855c3be0 // .quad -8837122532839535322 + WORD $0xc0ea481e; WORD $0xf42faa48 // .quad -851274575098787810 + WORD $0xc9dfc06f; WORD $0xa6b34ad8 // .quad -6434717147622031249 + WORD $0xf124da26; WORD $0xf13b94da // .quad -1064093218873484762 + WORD $0xfc57b08b; WORD $0xd0601d8e // .quad -3431710416100151157 + WORD $0xd6b70858; WORD $0x76c53d08 // .quad 8558313775058847832 + WORD $0x5db6ce57; WORD $0x823c1279 // .quad -9062348037703676329 + WORD $0x0c64ca6e; WORD $0x54768c4b // .quad 6086206200396171886 + WORD $0xb52481ed; WORD $0xa2cb1717 // .quad -6716249028702207507 + WORD $0xcf7dfd09; WORD $0xa9942f5d // .quad -6227300304786948855 + WORD $0xa26da268; WORD $0xcb7ddcdd // .quad -3783625267450371480 + WORD $0x435d7c4c; WORD $0xd3f93b35 // .quad -3172439362556298164 + WORD $0x0b090b02; WORD $0xfe5d5415 // .quad -117845565885576446 + WORD $0x4a1a6daf; WORD $0xc47bc501 // .quad -4288617610811380305 + WORD $0x26e5a6e1; WORD $0x9efa548d // .quad -6991182506319567135 + WORD $0x9ca1091b; WORD $0x359ab641 // .quad 3862600023340550427 + WORD $0x709f109a; WORD $0xc6b8e9b0 // .quad -4127292114472071014 + WORD $0x03c94b62; WORD $0xc30163d2 // .quad -4395122007679087774 + WORD $0x8cc6d4c0; WORD $0xf867241c // .quad -547429124662700864 + WORD $0x425dcf1d; WORD $0x79e0de63 // .quad 8782263791269039901 + WORD $0xd7fc44f8; WORD $0x9b407691 // .quad -7259672230555269896 + WORD $0x12f542e4; WORD $0x985915fc // .quad -7468914334623251740 + WORD $0x4dfb5636; WORD $0xc2109436 // .quad -4462904269766699466 + WORD $0x17b2939d; WORD $0x3e6f5b7b // .quad 4498915137003099037 + WORD $0xe17a2bc4; WORD $0xf294b943 // .quad -966944318780986428 + WORD $0xeecf9c42; WORD $0xa705992c // .quad -6411550076227838910 + WORD $0x6cec5b5a; WORD $0x979cf3ca // .quad -7521869226879198374 + WORD $0x2a838353; WORD $0x50c6ff78 // .quad 5820620459997365075 + WORD $0x08277231; WORD $0xbd8430bd // .quad -4790650515171610063 + WORD $0x35246428; WORD $0xa4f8bf56 // .quad -6559282480285457368 + WORD $0x4a314ebd; WORD $0xece53cec // .quad -1376627125537124675 + WORD $0xe136be99; WORD $0x871b7795 // .quad -8711237568605798759 + WORD $0xae5ed136; WORD $0x940f4613 // .quad -7777920981101784778 + WORD $0x59846e3f; WORD $0x28e2557b // .quad 2946011094524915263 + WORD $0x99f68584; WORD $0xb9131798 // .quad -5110715207949843068 + WORD $0x2fe589cf; WORD $0x331aeada // .quad 3682513868156144079 + WORD $0xc07426e5; WORD $0xe757dd7e // .quad -1776707991509915931 + WORD $0x5def7621; WORD $0x3ff0d2c8 // .quad 4607414176811284001 + WORD $0x3848984f; WORD $0x9096ea6f // .quad -8027971522334779313 + WORD $0x756b53a9; WORD $0x0fed077a // .quad 1147581702586717097 + WORD $0x065abe63; WORD $0xb4bca50b // .quad -5423278384491086237 + WORD $0x12c62894; WORD $0xd3e84959 // .quad -3177208890193991532 + WORD $0xc7f16dfb; WORD $0xe1ebce4d // .quad -2167411962186469893 + WORD $0xabbbd95c; WORD $0x64712dd7 // .quad 7237616480483531100 + WORD $0x9cf6e4bd; WORD $0x8d3360f0 // .quad -8272161504007625539 + WORD $0x96aacfb3; WORD $0xbd8d794d // .quad -4788037454677749837 + WORD $0xc4349dec; WORD $0xb080392c // .quad -5728515861582144020 + WORD $0xfc5583a0; WORD $0xecf0d7a0 // .quad -1373360799919799392 + WORD $0xf541c567; WORD $0xdca04777 // .quad -2548958808550292121 + WORD $0x9db57244; WORD $0xf41686c4 // .quad -858350499949874620 + WORD $0xf9491b60; WORD $0x89e42caa // .quad -8510628282985014432 + WORD $0xc522ced5; WORD $0x311c2875 // .quad 3538747893490044629 + WORD $0xb79b6239; WORD $0xac5d37d5 // .quad -6026599335303880135 + WORD $0x366b828b; WORD $0x7d633293 // .quad 9035120885289943691 + WORD $0x25823ac7; WORD $0xd77485cb // .quad -2921563150702462265 + WORD $0x02033197; WORD $0xae5dff9c // .quad -5882264492762254953 + WORD $0xf77164bc; WORD $0x86a8d39e // .quad -8743505996830120772 + WORD $0x0283fdfc; WORD $0xd9f57f83 // .quad -2741144597525430788 + WORD $0xb54dbdeb; WORD $0xa8530886 // .quad -6317696477610263061 + WORD $0xc324fd7b; WORD $0xd072df63 // .quad -3426430746906788485 + WORD $0x62a12d66; WORD $0xd267caa8 // .quad -3285434578585440922 + WORD $0x59f71e6d; WORD $0x4247cb9e // .quad 4776009810824339053 + WORD $0x3da4bc60; WORD $0x8380dea9 // .quad -8970925639256982432 + WORD $0xf074e608; WORD $0x52d9be85 // .quad 5970012263530423816 + WORD $0x8d0deb78; WORD $0xa4611653 // .quad -6601971030643840136 + WORD $0x6c921f8b; WORD $0x67902e27 // .quad 7462515329413029771 + WORD $0x70516656; WORD $0xcd795be8 // .quad -3640777769877412266 + WORD $0xa3db53b6; WORD $0x00ba1cd8 // .quad 52386062455755702 + WORD $0x4632dff6; WORD $0x806bd971 // .quad -9193015133814464522 + WORD $0xccd228a4; WORD $0x80e8a40e // .quad -9157889458785081180 + WORD $0x97bf97f3; WORD $0xa086cfcd // .quad -6879582898840692749 + WORD $0x8006b2cd; WORD $0x6122cd12 // .quad 6999382250228200141 + WORD $0xfdaf7df0; WORD $0xc8a883c0 // .quad -3987792605123478032 + WORD $0x20085f81; WORD $0x796b8057 // .quad 8749227812785250177 + WORD $0x3d1b5d6c; WORD $0xfad2a4b1 // .quad -373054737976959636 + WORD $0x74053bb0; WORD $0xcbe33036 // .quad -3755104653863994448 + WORD $0xc6311a63; WORD $0x9cc3a6ee // .quad -7150688238876681629 + WORD $0x11068a9c; WORD $0xbedbfc44 // .quad -4693880817329993060 + WORD $0x77bd60fc; WORD $0xc3f490aa // .quad -4326674280168464132 + WORD $0x15482d44; WORD $0xee92fb55 // .quad -1255665003235103420 + WORD $0x15acb93b; WORD $0xf4f1b4d5 // .quad -796656831783192261 + WORD $0x2d4d1c4a; WORD $0x751bdd15 // .quad 8438581409832836170 + WORD $0x2d8bf3c5; WORD $0x99171105 // .quad -7415439547505577019 + WORD $0x78a0635d; WORD $0xd262d45a // .quad -3286831292991118499 + WORD $0x78eef0b6; WORD $0xbf5cd546 // .quad -4657613415954583370 + WORD $0x16c87c34; WORD $0x86fb8971 // .quad -8720225134666286028 + WORD $0x172aace4; WORD $0xef340a98 // .quad -1210330751515841308 + WORD $0xae3d4da0; WORD $0xd45d35e6 // .quad -3144297699952734816 + WORD $0x0e7aac0e; WORD $0x9580869f // .quad -7673985747338482674 + WORD $0x59cca109; WORD $0x89748360 // .quad -8542058143368306423 + WORD $0xd2195712; WORD $0xbae0a846 // .quad -4980796165745715438 + WORD $0x703fc94b; WORD $0x2bd1a438 // .quad 3157485376071780683 + WORD $0x869facd7; WORD $0xe998d258 // .quad -1614309188754756393 + WORD $0x4627ddcf; WORD $0x7b6306a3 // .quad 8890957387685944783 + WORD $0x5423cc06; WORD $0x91ff8377 // .quad -7926472270612804602 + WORD $0x17b1d542; WORD $0x1a3bc84c // .quad 1890324697752655170 + WORD $0x292cbf08; WORD $0xb67f6455 // .quad -5296404319838617848 + WORD $0x1d9e4a93; WORD $0x20caba5f // .quad 2362905872190818963 + WORD $0x7377eeca; WORD $0xe41f3d6a // .quad -2008819381370884406 + WORD $0x7282ee9c; WORD $0x547eb47b // .quad 6088502188546649756 + WORD $0x882af53e; WORD $0x8e938662 // .quad -8173041140997884610 + WORD $0x4f23aa43; WORD $0xe99e619a // .quad -1612744301171463613 + WORD $0x2a35b28d; WORD $0xb23867fb // .quad -5604615407819967859 + WORD $0xe2ec94d4; WORD $0x6405fa00 // .quad 7207441660390446292 + WORD $0xf4c31f31; WORD $0xdec681f9 // .quad -2394083241347571919 + WORD $0x8dd3dd04; WORD $0xde83bc40 // .quad -2412877989897052924 + WORD $0x38f9f37e; WORD $0x8b3c113c // .quad -8413831053483314306 + WORD $0xb148d445; WORD $0x9624ab50 // .quad -7627783505798704059 + WORD $0x4738705e; WORD $0xae0b158b // .quad -5905602798426754978 + WORD $0xdd9b0957; WORD $0x3badd624 // .quad 4300328673033783639 + WORD $0x19068c76; WORD $0xd98ddaee // .quad -2770317479606055818 + WORD $0x0a80e5d6; WORD $0xe54ca5d7 // .quad -1923980597781273130 + WORD $0xcfa417c9; WORD $0x87f8a8d4 // .quad -8648977452394866743 + WORD $0xcd211f4c; WORD $0x5e9fcf4c // .quad 6818396289628184396 + WORD $0x038d1dbc; WORD $0xa9f6d30a // .quad -6199535797066195524 + WORD $0x0069671f; WORD $0x7647c320 // .quad 8522995362035230495 + WORD $0x8470652b; WORD $0xd47487cc // .quad -3137733727905356501 + WORD $0x0041e073; WORD $0x29ecd9f4 // .quad 3021029092058325107 + WORD $0xd2c63f3b; WORD $0x84c8d4df // .quad -8878612607581929669 + WORD $0x00525890; WORD $0xf4681071 // .quad -835399653354481520 + WORD $0xc777cf09; WORD $0xa5fb0a17 // .quad -6486579741050024183 + WORD $0x4066eeb4; WORD $0x7182148d // .quad 8179122470161673908 + WORD $0xb955c2cc; WORD $0xcf79cc9d // .quad -3496538657885142324 + WORD $0x48405530; WORD $0xc6f14cd8 // .quad -4111420493003729616 + WORD $0x93d599bf; WORD $0x81ac1fe2 // .quad -9102865688819295809 + WORD $0x5a506a7c; WORD $0xb8ada00e // .quad -5139275616254662020 + WORD $0x38cb002f; WORD $0xa21727db // .quad -6766896092596731857 + WORD $0xf0e4851c; WORD $0xa6d90811 // .quad -6424094520318327524 + WORD $0x06fdc03b; WORD $0xca9cf1d2 // .quad -3846934097318526917 + WORD $0x6d1da663; WORD $0x908f4a16 // .quad -8030118150397909405 + WORD $0x88bd304a; WORD $0xfd442e46 // .quad -196981603220770742 + WORD $0x043287fe; WORD $0x9a598e4e // .quad -7324666853212387330 + WORD $0x15763e2e; WORD $0x9e4a9cec // .quad -7040642529654063570 + WORD $0x853f29fd; WORD $0x40eff1e1 // .quad 4679224488766679549 + WORD $0x1ad3cdba; WORD $0xc5dd4427 // .quad -4189117143640191558 + WORD $0xe68ef47c; WORD $0xd12bee59 // .quad -3374341425896426372 + WORD $0xe188c128; WORD $0xf7549530 // .quad -624710411122851544 + WORD $0x301958ce; WORD $0x82bb74f8 // .quad -9026492418826348338 + WORD $0x8cf578b9; WORD $0x9a94dd3e // .quad -7307973034592864071 + WORD $0x3c1faf01; WORD $0xe36a5236 // .quad -2059743486678159615 + WORD $0x3032d6e7; WORD $0xc13a148e // .quad -4523280274813692185 + WORD $0xcb279ac1; WORD $0xdc44e6c3 // .quad -2574679358347699519 + WORD $0xbc3f8ca1; WORD $0xf18899b1 // .quad -1042414325089727327 + WORD $0x5ef8c0b9; WORD $0x29ab103a // .quad 3002511419460075705 + WORD $0x15a7b7e5; WORD $0x96f5600f // .quad -7569037980822161435 + WORD $0xf6b6f0e7; WORD $0x7415d448 // .quad 8364825292752482535 + WORD $0xdb11a5de; WORD $0xbcb2b812 // .quad -4849611457600313890 + WORD $0x3464ad21; WORD $0x111b495b // .quad 1232659579085827361 + WORD $0x91d60f56; WORD $0xebdf6617 // .quad -1450328303573004458 + WORD $0x00beec34; WORD $0xcab10dd9 // .quad -3841273781498745804 + WORD $0xbb25c995; WORD $0x936b9fce // .quad -7823984217374209643 + WORD $0x40eea742; WORD $0x3d5d514f // .quad 4421779809981343554 + WORD $0x69ef3bfb; WORD $0xb84687c2 // .quad -5168294253290374149 + WORD $0x112a5112; WORD $0x0cb4a5a3 // .quad 915538744049291538 + WORD $0x046b0afa; WORD $0xe65829b3 // .quad -1848681798185579782 + WORD $0xeaba72ab; WORD $0x47f0e785 // .quad 5183897733458195115 + WORD $0xe2c2e6dc; WORD $0x8ff71a0f // .quad -8072955151507069220 + WORD $0x65690f56; WORD $0x59ed2167 // .quad 6479872166822743894 + WORD $0xdb73a093; WORD $0xb3f4e093 // .quad -5479507920956448621 + WORD $0x3ec3532c; WORD $0x306869c1 // .quad 3488154190101041964 + WORD $0xd25088b8; WORD $0xe0f218b8 // .quad -2237698882768172872 + WORD $0xc73a13fb; WORD $0x1e414218 // .quad 2180096368813151227 + WORD $0x83725573; WORD $0x8c974f73 // .quad -8316090829371189901 + WORD $0xf90898fa; WORD $0xe5d1929e // .quad -1886565557410948870 + WORD $0x644eeacf; WORD $0xafbd2350 // .quad -5783427518286599473 + WORD $0xb74abf39; WORD $0xdf45f746 // .quad -2358206946763686087 + WORD $0x7d62a583; WORD $0xdbac6c24 // .quad -2617598379430861437 + WORD $0x328eb783; WORD $0x6b8bba8c // .quad 7749492695127472003 + WORD $0xce5da772; WORD $0x894bc396 // .quad -8553528014785370254 + WORD $0x3f326564; WORD $0x066ea92f // .quad 463493832054564196 + WORD $0x81f5114f; WORD $0xab9eb47c // .quad -6080224000054324913 + WORD $0x0efefebd; WORD $0xc80a537b // .quad -4032318728359182659 + WORD $0xa27255a2; WORD $0xd686619b // .quad -2988593981640518238 + WORD $0xe95f5f36; WORD $0xbd06742c // .quad -4826042214438183114 + WORD $0x45877585; WORD $0x8613fd01 // .quad -8785400266166405755 + WORD $0x23b73704; WORD $0x2c481138 // .quad 3190819268807046916 + WORD $0x96e952e7; WORD $0xa798fc41 // .quad -6370064314280619289 + WORD $0x2ca504c5; WORD $0xf75a1586 // .quad -623161932418579259 + WORD $0xfca3a7a0; WORD $0xd17f3b51 // .quad -3350894374423386208 + WORD $0xdbe722fb; WORD $0x9a984d73 // .quad -7307005235402693893 + WORD $0x3de648c4; WORD $0x82ef8513 // .quad -9011838011655698236 + WORD $0xd2e0ebba; WORD $0xc13e60d0 // .quad -4522070525825979462 + WORD $0x0d5fdaf5; WORD $0xa3ab6658 // .quad -6653111496142234891 + WORD $0x079926a8; WORD $0x318df905 // .quad 3570783879572301480 + WORD $0x10b7d1b3; WORD $0xcc963fee // .quad -3704703351750405709 + WORD $0x497f7052; WORD $0xfdf17746 // .quad -148206168962011054 + WORD $0x94e5c61f; WORD $0xffbbcfe9 // .quad -19193171260619233 + WORD $0xedefa633; WORD $0xfeb6ea8b // .quad -92628855601256909 + WORD $0xfd0f9bd3; WORD $0x9fd561f1 // .quad -6929524759678968877 + WORD $0xe96b8fc0; WORD $0xfe64a52e // .quad -115786069501571136 + WORD $0x7c5382c8; WORD $0xc7caba6e // .quad -4050219931171323192 + WORD $0xa3c673b0; WORD $0x3dfdce7a // .quad 4466953431550423984 + WORD $0x1b68637b; WORD $0xf9bd690a // .quad -451088895536766085 + WORD $0xa65c084e; WORD $0x06bea10c // .quad 486002885505321038 + WORD $0x51213e2d; WORD $0x9c1661a6 // .quad -7199459587351560659 + WORD $0xcff30a62; WORD $0x486e494f // .quad 5219189625309039202 + WORD $0xe5698db8; WORD $0xc31bfa0f // .quad -4387638465762062920 + WORD $0xc3efccfa; WORD $0x5a89dba3 // .quad 6523987031636299002 + WORD $0xdec3f126; WORD $0xf3e2f893 // .quad -872862063775190746 + WORD $0x5a75e01c; WORD $0xf8962946 // .quad -534194123654701028 + WORD $0x6b3a76b7; WORD $0x986ddb5c // .quad -7463067817500576073 + WORD $0xf1135823; WORD $0xf6bbb397 // .quad -667742654568376285 + WORD $0x86091465; WORD $0xbe895233 // .quad -4717148753448332187 + WORD $0xed582e2c; WORD $0x746aa07d // .quad 8388693718644305452 + WORD $0x678b597f; WORD $0xee2ba6c0 // .quad -1284749923383027329 + WORD $0xb4571cdc; WORD $0xa8c2a44e // .quad -6286281471915778852 + WORD $0x40b717ef; WORD $0x94db4838 // .quad -7720497729755473937 + WORD $0x616ce413; WORD $0x92f34d62 // .quad -7857851839894723565 + WORD $0x50e4ddeb; WORD $0xba121a46 // .quad -5038936143766954517 + WORD $0xf9c81d17; WORD $0x77b020ba // .quad 8624429273841147159 + WORD $0xe51e1566; WORD $0xe896a0d7 // .quad -1686984161281305242 + WORD $0xdc1d122e; WORD $0x0ace1474 // .quad 778582277723329070 + WORD $0xef32cd60; WORD $0x915e2486 // .quad -7971894128441897632 + WORD $0x132456ba; WORD $0x0d819992 // .quad 973227847154161338 + WORD $0xaaff80b8; WORD $0xb5b5ada8 // .quad -5353181642124984136 + WORD $0x97ed6c69; WORD $0x10e1fff6 // .quad 1216534808942701673 + WORD $0xd5bf60e6; WORD $0xe3231912 // .quad -2079791034228842266 + WORD $0x1ef463c1; WORD $0xca8d3ffa // .quad -3851351762838199359 + WORD $0xc5979c8f; WORD $0x8df5efab // .quad -8217398424034108273 + WORD $0xa6b17cb2; WORD $0xbd308ff8 // .quad -4814189703547749198 + WORD $0xb6fd83b3; WORD $0xb1736b96 // .quad -5660062011615247437 + WORD $0xd05ddbde; WORD $0xac7cb3f6 // .quad -6017737129434686498 + WORD $0x64bce4a0; WORD $0xddd0467c // .quad -2463391496091671392 + WORD $0x423aa96b; WORD $0x6bcdf07a // .quad 7768129340171790699 + WORD $0xbef60ee4; WORD $0x8aa22c0d // .quad -8457148712698376476 + WORD $0xd2c953c6; WORD $0x86c16c98 // .quad -8736582398494813242 + WORD $0x2eb3929d; WORD $0xad4ab711 // .quad -5959749872445582691 + WORD $0x077ba8b7; WORD $0xe871c7bf // .quad -1697355961263740745 + WORD $0x7a607744; WORD $0xd89d64d5 // .quad -2838001322129590460 + WORD $0x64ad4972; WORD $0x11471cd7 // .quad 1244995533423855986 + WORD $0x6c7c4a8b; WORD $0x87625f05 // .quad -8691279853972075893 + WORD $0x3dd89bcf; WORD $0xd598e40d // .quad -3055441601647567921 + WORD $0xc79b5d2d; WORD $0xa93af6c6 // .quad -6252413799037706963 + WORD $0x8d4ec2c3; WORD $0x4aff1d10 // .quad 5404070034795315907 + WORD $0x79823479; WORD $0xd389b478 // .quad -3203831230369745799 + WORD $0x585139ba; WORD $0xcedf722a // .quad -3539985255894009414 + WORD $0x4bf160cb; WORD $0x843610cb // .quad -8919923546622172981 + WORD $0xee658828; WORD $0xc2974eb4 // .quad -4424981569867511768 + WORD $0x1eedb8fe; WORD $0xa54394fe // .quad -6538218414850328322 + WORD $0x29feea32; WORD $0x733d2262 // .quad 8303831092947774002 + WORD $0xa6a9273e; WORD $0xce947a3d // .quad -3561087000135522498 + WORD $0x5a3f525f; WORD $0x0806357d // .quad 578208414664970847 + WORD $0x8829b887; WORD $0x811ccc66 // .quad -9143208402725783417 + WORD $0xb0cf26f7; WORD $0xca07c2dc // .quad -3888925500096174345 + WORD $0x2a3426a8; WORD $0xa163ff80 // .quad -6817324484979841368 + WORD $0xdd02f0b5; WORD $0xfc89b393 // .quad -249470856692830027 + WORD $0x34c13052; WORD $0xc9bcff60 // .quad -3909969587797413806 + WORD $0xd443ace2; WORD $0xbbac2078 // .quad -4923524589293425438 + WORD $0x41f17c67; WORD $0xfc2c3f38 // .quad -275775966319379353 + WORD $0x84aa4c0d; WORD $0xd54b944b // .quad -3077202868308390899 + WORD $0x2936edc0; WORD $0x9d9ba783 // .quad -7089889006590693952 + WORD $0x65d4df11; WORD $0x0a9e795e // .quad 765182433041899281 + WORD $0xf384a931; WORD $0xc5029163 // .quad -4250675239810979535 + WORD $0xff4a16d5; WORD $0x4d4617b5 // .quad 5568164059729762005 + WORD $0xf065d37d; WORD $0xf64335bc // .quad -701658031336336515 + WORD $0xbf8e4e45; WORD $0x504bced1 // .quad 5785945546544795205 + WORD $0x163fa42e; WORD $0x99ea0196 // .quad -7356065297226292178 + WORD $0x2f71e1d6; WORD $0xe45ec286 // .quad -1990940103673781802 + WORD $0x9bcf8d39; WORD $0xc06481fb // .quad -4583395603105477319 + WORD $0xbb4e5a4c; WORD $0x5d767327 // .quad 6734696907262548556 + WORD $0x82c37088; WORD $0xf07da27a // .quad -1117558485454458744 + WORD $0xd510f86f; WORD $0x3a6a07f8 // .quad 4209185567039092847 + WORD $0x91ba2655; WORD $0x964e858c // .quad -7616003081050118571 + WORD $0x0a55368b; WORD $0x890489f7 // .quad -8573576096483297653 + WORD $0xb628afea; WORD $0xbbe226ef // .quad -4908317832885260310 + WORD $0xccea842e; WORD $0x2b45ac74 // .quad 3118087934678041646 + WORD $0xa3b2dbe5; WORD $0xeadab0ab // .quad -1523711272679187483 + WORD $0x0012929d; WORD $0x3b0b8bc9 // .quad 4254647968387469981 + WORD $0x464fc96f; WORD $0x92c8ae6b // .quad -7869848573065574033 + WORD $0x40173744; WORD $0x09ce6ebb // .quad 706623942056949572 + WORD $0x17e3bbcb; WORD $0xb77ada06 // .quad -5225624697904579637 + WORD $0x101d0515; WORD $0xcc420a6a // .quad -3728406090856200939 + WORD $0x9ddcaabd; WORD $0xe5599087 // .quad -1920344853953336643 + WORD $0x4a12232d; WORD $0x9fa94682 // .quad -6941939825212513491 + WORD $0xc2a9eab6; WORD $0x8f57fa54 // .quad -8117744561361917258 + WORD $0xdc96abf9; WORD $0x47939822 // .quad 5157633273766521849 + WORD $0xf3546564; WORD $0xb32df8e9 // .quad -5535494683275008668 + WORD $0x93bc56f7; WORD $0x59787e2b // .quad 6447041592208152311 + WORD $0x70297ebd; WORD $0xdff97724 // .quad -2307682335666372931 + WORD $0x3c55b65a; WORD $0x57eb4edb // .quad 6335244004343789146 + WORD $0xc619ef36; WORD $0x8bfbea76 // .quad -8359830487432564938 + WORD $0x0b6b23f1; WORD $0xede62292 // .quad -1304317031425039375 + WORD $0x77a06b03; WORD $0xaefae514 // .quad -5838102090863318269 + WORD $0x8e45eced; WORD $0xe95fab36 // .quad -1630396289281299219 + WORD $0x958885c4; WORD $0xdab99e59 // .quad -2685941595151759932 + WORD $0x18ebb414; WORD $0x11dbcb02 // .quad 1286845328412881940 + WORD $0xfd75539b; WORD $0x88b402f7 // .quad -8596242524610931813 + WORD $0x9f26a119; WORD $0xd652bdc2 // .quad -3003129357911285479 + WORD $0xfcd2a881; WORD $0xaae103b5 // .quad -6133617137336276863 + WORD $0x46f0495f; WORD $0x4be76d33 // .quad 5469460339465668959 + WORD $0x7c0752a2; WORD $0xd59944a3 // .quad -3055335403242958174 + WORD $0x0c562ddb; WORD $0x6f70a440 // .quad 8030098730593431003 + WORD $0x2d8493a5; WORD $0x857fcae6 // .quad -8827113654667930715 + WORD $0x0f6bb952; WORD $0xcb4ccd50 // .quad -3797434642040374958 + WORD $0xb8e5b88e; WORD $0xa6dfbd9f // .quad -6422206049907525490 + WORD $0x1346a7a7; WORD $0x7e2000a4 // .quad 9088264752731695015 + WORD $0xa71f26b2; WORD $0xd097ad07 // .quad -3416071543957018958 + WORD $0x8c0c28c8; WORD $0x8ed40066 // .quad -8154892584824854328 + WORD $0xc873782f; WORD $0x825ecc24 // .quad -9052573742614218705 + WORD $0x2f0f32fa; WORD $0x72890080 // .quad 8253128342678483706 + WORD $0xfa90563b; WORD $0xa2f67f2d // .quad -6704031159840385477 + WORD $0x3ad2ffb9; WORD $0x4f2b40a0 // .quad 5704724409920716729 + WORD $0x79346bca; WORD $0xcbb41ef9 // .quad -3768352931373093942 + WORD $0x4987bfa8; WORD $0xe2f610c8 // .quad -2092466524453879896 + WORD $0xd78186bc; WORD $0xfea126b7 // .quad -98755145788979524 + WORD $0x2df4d7c9; WORD $0x0dd9ca7d // .quad 998051431430019017 + WORD $0xe6b0f436; WORD $0x9f24b832 // .quad -6979250993759194058 + WORD $0x79720dbb; WORD $0x91503d1c // .quad -7975807747567252037 + WORD $0xa05d3143; WORD $0xc6ede63f // .quad -4112377723771604669 + WORD $0x97ce912a; WORD $0x75a44c63 // .quad 8476984389250486570 + WORD $0x88747d94; WORD $0xf8a95fcf // .quad -528786136287117932 + WORD $0x3ee11aba; WORD $0xc986afbe // .quad -3925256793573221702 + WORD $0xb548ce7c; WORD $0x9b69dbe1 // .quad -7248020362820530564 + WORD $0xce996168; WORD $0xfbe85bad // .quad -294884973539139224 + WORD $0x229b021b; WORD $0xc24452da // .quad -4448339435098275301 + WORD $0x423fb9c3; WORD $0xfae27299 // .quad -368606216923924029 + WORD $0xab41c2a2; WORD $0xf2d56790 // .quad -948738275445456222 + WORD $0xc967d41a; WORD $0xdccd879f // .quad -2536221894791146470 + WORD $0x6b0919a5; WORD $0x97c560ba // .quad -7510490449794491995 + WORD $0xbbc1c920; WORD $0x5400e987 // .quad 6053094668365842720 + WORD $0x05cb600f; WORD $0xbdb6b8e9 // .quad -4776427043815727089 + WORD $0xaab23b68; WORD $0x290123e9 // .quad 2954682317029915496 + WORD $0x473e3813; WORD $0xed246723 // .quad -1358847786342270957 + WORD $0x0aaf6521; WORD $0xf9a0b672 // .quad -459166561069996767 + WORD $0x0c86e30b; WORD $0x9436c076 // .quad -7766808894105001205 + WORD $0x8d5b3e69; WORD $0xf808e40e // .quad -573958201337495959 + WORD $0x8fa89bce; WORD $0xb9447093 // .quad -5096825099203863602 + WORD $0x30b20e04; WORD $0xb60b1d12 // .quad -5329133770099257852 + WORD $0x7392c2c2; WORD $0xe7958cb8 // .quad -1759345355577441598 + WORD $0x5e6f48c2; WORD $0xb1c6f22b // .quad -5636551615525730110 + WORD $0x483bb9b9; WORD $0x90bd77f3 // .quad -8017119874876982855 + WORD $0x360b1af3; WORD $0x1e38aeb6 // .quad 2177682517447613171 + WORD $0x1a4aa828; WORD $0xb4ecd5f0 // .quad -5409713825168840664 + WORD $0xc38de1b0; WORD $0x25c6da63 // .quad 2722103146809516464 + WORD $0x20dd5232; WORD $0xe2280b6c // .quad -2150456263033662926 + WORD $0x5a38ad0e; WORD $0x579c487e // .quad 6313000485183335694 + WORD $0x948a535f; WORD $0x8d590723 // .quad -8261564192037121185 + WORD $0xf0c6d851; WORD $0x2d835a9d // .quad 3279564588051781713 + WORD $0x79ace837; WORD $0xb0af48ec // .quad -5715269221619013577 + WORD $0x6cf88e65; WORD $0xf8e43145 // .quad -512230283362660763 + WORD $0x98182244; WORD $0xdcdb1b27 // .quad -2532400508596379068 + WORD $0x641b58ff; WORD $0x1b8e9ecb // .quad 1985699082112030975 + WORD $0xbf0f156b; WORD $0x8a08f0f8 // .quad -8500279345513818773 + WORD $0x3d222f3f; WORD $0xe272467e // .quad -2129562165787349185 + WORD $0xeed2dac5; WORD $0xac8b2d36 // .quad -6013663163464885563 + WORD $0xcc6abb0f; WORD $0x5b0ed81d // .quad 6561419329620589327 + WORD $0xaa879177; WORD $0xd7adf884 // .quad -2905392935903719049 + WORD $0x9fc2b4e9; WORD $0x98e94712 // .quad -7428327965055601431 + WORD $0xea94baea; WORD $0x86ccbb52 // .quad -8733399612580906262 + WORD $0x47b36224; WORD $0x3f2398d7 // .quad 4549648098962661924 + WORD $0xa539e9a5; WORD $0xa87fea27 // .quad -6305063497298744923 + WORD $0x19a03aad; WORD $0x8eec7f0d // .quad -8147997931578836307 + WORD $0x8e88640e; WORD $0xd29fe4b1 // .quad -3269643353196043250 + WORD $0x300424ac; WORD $0x1953cf68 // .quad 1825030320404309164 + WORD $0xf9153e89; WORD $0x83a3eeee // .quad -8961056123388608887 + WORD $0x3c052dd7; WORD $0x5fa8c342 // .quad 6892973918932774359 + WORD $0xb75a8e2b; WORD $0xa48ceaaa // .quad -6589634135808373205 + WORD $0xcb06794d; WORD $0x3792f412 // .quad 4004531380238580045 + WORD $0x653131b6; WORD $0xcdb02555 // .quad -3625356651333078602 + WORD $0xbee40bd0; WORD $0xe2bbd88b // .quad -2108853905778275376 + WORD $0x5f3ebf11; WORD $0x808e1755 // .quad -9183376934724255983 + WORD $0xae9d0ec4; WORD $0x5b6aceae // .quad 6587304654631931588 + WORD $0xb70e6ed6; WORD $0xa0b19d2a // .quad -6867535149977932074 + WORD $0x5a445275; WORD $0xf245825a // .quad -989241218564861323 + WORD $0x64d20a8b; WORD $0xc8de0475 // .quad -3972732919045027189 + WORD $0xf0d56712; WORD $0xeed6e2f0 // .quad -1236551523206076654 + WORD $0xbe068d2e; WORD $0xfb158592 // .quad -354230130378896082 + WORD $0x9685606b; WORD $0x55464dd6 // .quad 6144684325637283947 + WORD $0xb6c4183d; WORD $0x9ced737b // .quad -7138922859127891907 + WORD $0x3c26b886; WORD $0xaa97e14c // .quad -6154202648235558778 + WORD $0xa4751e4c; WORD $0xc428d05a // .quad -4311967555482476980 + WORD $0x4b3066a8; WORD $0xd53dd99f // .quad -3081067291867060568 + WORD $0x4d9265df; WORD $0xf5330471 // .quad -778273425925708321 + WORD $0x8efe4029; WORD $0xe546a803 // .quad -1925667057416912855 + WORD $0xd07b7fab; WORD $0x993fe2c6 // .quad -7403949918844649557 + WORD $0x72bdd033; WORD $0xde985204 // .quad -2407083821771141069 + WORD $0x849a5f96; WORD $0xbf8fdb78 // .quad -4643251380128424042 + WORD $0x8f6d4440; WORD $0x963e6685 // .quad -7620540795641314240 + WORD $0xa5c0f77c; WORD $0xef73d256 // .quad -1192378206733142148 + WORD $0x79a44aa8; WORD $0xdde70013 // .quad -2456994988062127448 + WORD $0x27989aad; WORD $0x95a86376 // .quad -7662765406849295699 + WORD $0x580d5d52; WORD $0x5560c018 // .quad 6152128301777116498 + WORD $0xb17ec159; WORD $0xbb127c53 // .quad -4966770740134231719 + WORD $0x6e10b4a6; WORD $0xaab8f01e // .quad -6144897678060768090 + WORD $0x9dde71af; WORD $0xe9d71b68 // .quad -1596777406740401745 + WORD $0x04ca70e8; WORD $0xcab39613 // .quad -3840561048787980056 + WORD $0x62ab070d; WORD $0x92267121 // .quad -7915514906853832947 + WORD $0xc5fd0d22; WORD $0x3d607b97 // .quad 4422670725869800738 + WORD $0xbb55c8d1; WORD $0xb6b00d69 // .quad -5282707615139903279 + WORD $0xb77c506a; WORD $0x8cb89a7d // .quad -8306719647944912790 + WORD $0x2a2b3b05; WORD $0xe45c10c4 // .quad -1991698500497491195 + WORD $0x92adb242; WORD $0x77f3608e // .quad 8643358275316593218 + WORD $0x9a5b04e3; WORD $0x8eb98a7a // .quad -8162340590452013853 + WORD $0x37591ed3; WORD $0x55f038b2 // .quad 6192511825718353619 + WORD $0x40f1c61c; WORD $0xb267ed19 // .quad -5591239719637629412 + WORD $0xc52f6688; WORD $0x6b6c46de // .quad 7740639782147942024 + WORD $0x912e37a3; WORD $0xdf01e85f // .quad -2377363631119648861 + WORD $0x3b3da015; WORD $0x2323ac4b // .quad 2532056854628769813 + WORD $0xbabce2c6; WORD $0x8b61313b // .quad -8403381297090862394 + WORD $0x0a0d081a; WORD $0xabec975e // .quad -6058300968568813542 + WORD $0xa96c1b77; WORD $0xae397d8a // .quad -5892540602936190089 + WORD $0x8c904a21; WORD $0x96e7bd35 // .quad -7572876210711016927 + WORD $0x53c72255; WORD $0xd9c7dced // .quad -2753989735242849707 + WORD $0x77da2e54; WORD $0x7e50d641 // .quad 9102010423587778132 + WORD $0x545c7575; WORD $0x881cea14 // .quad -8638772612167862923 + WORD $0xd5d0b9e9; WORD $0xdde50bd1 // .quad -2457545025797441047 + WORD $0x697392d2; WORD $0xaa242499 // .quad -6186779746782440750 + WORD $0x4b44e864; WORD $0x955e4ec6 // .quad -7683617300674189212 + WORD $0xc3d07787; WORD $0xd4ad2dbf // .quad -3121788665050663033 + WORD $0xef0b113e; WORD $0xbd5af13b // .quad -4802260812921368258 + WORD $0xda624ab4; WORD $0x84ec3c97 // .quad -8868646943297746252 + WORD $0xeacdd58e; WORD $0xecb1ad8a // .quad -1391139997724322418 + WORD $0xd0fadd61; WORD $0xa6274bbd // .quad -6474122660694794911 + WORD $0xa5814af2; WORD $0x67de18ed // .quad 7484447039699372786 + WORD $0x453994ba; WORD $0xcfb11ead // .quad -3480967307441105734 + WORD $0x8770ced7; WORD $0x80eacf94 // .quad -9157278655470055721 + WORD $0x4b43fcf4; WORD $0x81ceb32c // .quad -9093133594791772940 + WORD $0xa94d028d; WORD $0xa1258379 // .quad -6834912300910181747 + WORD $0x5e14fc31; WORD $0xa2425ff7 // .quad -6754730975062328271 + WORD $0x13a04330; WORD $0x096ee458 // .quad 679731660717048624 + WORD $0x359a3b3e; WORD $0xcad2f7f5 // .quad -3831727700400522434 + WORD $0x188853fc; WORD $0x8bca9d6e // .quad -8373707460958465028 + WORD $0x8300ca0d; WORD $0xfd87b5f2 // .quad -177973607073265139 + WORD $0xcf55347d; WORD $0x775ea264 // .quad 8601490892183123069 + WORD $0x91e07e48; WORD $0x9e74d1b7 // .quad -7028762532061872568 + WORD $0x032a819d; WORD $0x95364afe // .quad -7694880458480647779 + WORD $0x76589dda; WORD $0xc6120625 // .quad -4174267146649952806 + WORD $0x83f52204; WORD $0x3a83ddbd // .quad 4216457482181353988 + WORD $0xd3eec551; WORD $0xf79687ae // .quad -606147914885053103 + WORD $0x72793542; WORD $0xc4926a96 // .quad -4282243101277735614 + WORD $0x44753b52; WORD $0x9abe14cd // .quad -7296371474444240046 + WORD $0x0f178293; WORD $0x75b7053c // .quad 8482254178684994195 + WORD $0x95928a27; WORD $0xc16d9a00 // .quad -4508778324627912153 + WORD $0x12dd6338; WORD $0x5324c68b // .quad 5991131704928854840 + WORD $0xbaf72cb1; WORD $0xf1c90080 // .quad -1024286887357502287 + WORD $0xebca5e03; WORD $0xd3f6fc16 // .quad -3173071712060547581 + WORD $0x74da7bee; WORD $0x971da050 // .quad -7557708332239520786 + WORD $0xa6bcf584; WORD $0x88f4bb1c // .quad -8578025658503072380 + WORD $0x92111aea; WORD $0xbce50864 // .quad -4835449396872013078 + WORD $0xd06c32e5; WORD $0x2b31e9e3 // .quad 3112525982153323237 + WORD $0xb69561a5; WORD $0xec1e4a7d // .quad -1432625727662628443 + WORD $0x62439fcf; WORD $0x3aff322e // .quad 4251171748059520975 + WORD $0x921d5d07; WORD $0x9392ee8e // .quad -7812920107430224633 + WORD $0xfad487c2; WORD $0x09befeb9 // .quad 702278666647013314 + WORD $0x36a4b449; WORD $0xb877aa32 // .quad -5154464115860392887 + WORD $0x7989a9b3; WORD $0x4c2ebe68 // .quad 5489534351736154547 + WORD $0xc44de15b; WORD $0xe69594be // .quad -1831394126398103205 + WORD $0x4bf60a10; WORD $0x0f9d3701 // .quad 1125115960621402640 + WORD $0x3ab0acd9; WORD $0x901d7cf7 // .quad -8062150356639896359 + WORD $0x9ef38c94; WORD $0x538484c1 // .quad 6018080969204141204 + WORD $0x095cd80f; WORD $0xb424dc35 // .quad -5466001927372482545 + WORD $0x06b06fb9; WORD $0x2865a5f2 // .quad 2910915193077788601 + WORD $0x4bb40e13; WORD $0xe12e1342 // .quad -2220816390788215277 + WORD $0x442e45d3; WORD $0xf93f87b7 // .quad -486521013540076077 + WORD $0x6f5088cb; WORD $0x8cbccc09 // .quad -8305539271883716405 + WORD $0x1539d748; WORD $0xf78f69a5 // .quad -608151266925095096 + WORD $0xcb24aafe; WORD $0xafebff0b // .quad -5770238071427257602 + WORD $0x5a884d1b; WORD $0xb573440e // .quad -5371875102083756773 + WORD $0xbdedd5be; WORD $0xdbe6fece // .quad -2601111570856684098 + WORD $0xf8953030; WORD $0x31680a88 // .quad 3560107088838733872 + WORD $0x36b4a597; WORD $0x89705f41 // .quad -8543223759426509417 + WORD $0x36ba7c3d; WORD $0xfdc20d2b // .quad -161552157378970563 + WORD $0x8461cefc; WORD $0xabcc7711 // .quad -6067343680855748868 + WORD $0x04691b4c; WORD $0x3d329076 // .quad 4409745821703674700 + WORD $0xe57a42bc; WORD $0xd6bf94d5 // .quad -2972493582642298180 + WORD $0xc2c1b10f; WORD $0xa63f9a49 // .quad -6467280898289979121 + WORD $0xaf6c69b5; WORD $0x8637bd05 // .quad -8775337516792518219 + WORD $0x33721d53; WORD $0x0fcf80dc // .quad 1139270913992301907 + WORD $0x1b478423; WORD $0xa7c5ac47 // .quad -6357485877563259869 + WORD $0x404ea4a8; WORD $0xd3c36113 // .quad -3187597375937010520 + WORD $0xe219652b; WORD $0xd1b71758 // .quad -3335171328526686933 + WORD $0x083126e9; WORD $0x645a1cac // .quad 7231123676894144233 + WORD $0x8d4fdf3b; WORD $0x83126e97 // .quad -9002011107970261189 + WORD $0x0a3d70a3; WORD $0x3d70a3d7 // .quad 4427218577690292387 + WORD $0x70a3d70a; WORD $0xa3d70a3d // .quad -6640827866535438582 + WORD $0xcccccccc // .space 4, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' + WORD $0xcccccccc // .space 4, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' + WORD $0xcccccccc // .space 4, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' + WORD $0xcccccccc // .space 4, '\xcc\xcc\xcc\xcc' + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x80000000 // .quad -9223372036854775808 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xa0000000 // .quad -6917529027641081856 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xc8000000 // .quad -4035225266123964416 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xfa000000 // .quad -432345564227567616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x9c400000 // .quad -7187745005283311616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xc3500000 // .quad -4372995238176751616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xf4240000 // .quad -854558029293551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x98968000 // .quad -7451627795949551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xbebc2000 // .quad -4702848726509551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xee6b2800 // .quad -1266874889709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x9502f900 // .quad -7709325833709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xba43b740 // .quad -5024971273709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xe8d4a510 // .quad -1669528073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x9184e72a // .quad -7960984073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x80000000; WORD $0xb5e620f4 // .quad -5339544073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xa0000000; WORD $0xe35fa931 // .quad -2062744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x04000000; WORD $0x8e1bc9bf // .quad -8206744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xc5000000; WORD $0xb1a2bc2e // .quad -5646744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x76400000; WORD $0xde0b6b3a // .quad -2446744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x89e80000; WORD $0x8ac72304 // .quad -8446744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xac620000; WORD $0xad78ebc5 // .quad -5946744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x177a8000; WORD $0xd8d726b7 // .quad -2821744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x6eac9000; WORD $0x87867832 // .quad -8681119073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x0a57b400; WORD $0xa968163f // .quad -6239712823709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xcceda100; WORD $0xd3c21bce // .quad -3187955011209551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x401484a0; WORD $0x84595161 // .quad -8910000909647051616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x9019a5c8; WORD $0xa56fa5b9 // .quad -6525815118631426616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xf4200f3a; WORD $0xcecb8f27 // .quad -3545582879861895366 + WORD $0x00000000; WORD $0x40000000 // .quad 4611686018427387904 + WORD $0xf8940984; WORD $0x813f3978 // .quad -9133518327554766460 + WORD $0x00000000; WORD $0x50000000 // .quad 5764607523034234880 + WORD $0x36b90be5; WORD $0xa18f07d7 // .quad -6805211891016070171 + WORD $0x00000000; WORD $0xa4000000 // .quad -6629298651489370112 + WORD $0x04674ede; WORD $0xc9f2c9cd // .quad -3894828845342699810 + WORD $0x00000000; WORD $0x4d000000 // .quad 5548434740920451072 + WORD $0x45812296; WORD $0xfc6f7c40 // .quad -256850038250986858 + WORD $0x00000000; WORD $0xf0200000 // .quad -1143914305352105984 + WORD $0x2b70b59d; WORD $0x9dc5ada8 // .quad -7078060301547948643 + WORD $0x00000000; WORD $0x6c280000 // .quad 7793479155164643328 + WORD $0x364ce305; WORD $0xc5371912 // .quad -4235889358507547899 + WORD $0x00000000; WORD $0xc7320000 // .quad -4093209111326359552 + WORD $0xc3e01bc6; WORD $0xf684df56 // .quad -683175679707046970 + WORD $0x00000000; WORD $0x3c7f4000 // .quad 4359273333062107136 + WORD $0x3a6c115c; WORD $0x9a130b96 // .quad -7344513827457986212 + WORD $0x00000000; WORD $0x4b9f1000 // .quad 5449091666327633920 + WORD $0xc90715b3; WORD $0xc097ce7b // .quad -4568956265895094861 + WORD $0x00000000; WORD $0x1e86d400 // .quad 2199678564482154496 + WORD $0xbb48db20; WORD $0xf0bdc21a // .quad -1099509313941480672 + WORD $0x00000000; WORD $0x13144480 // .quad 1374799102801346560 + WORD $0xb50d88f4; WORD $0x96769950 // .quad -7604722348854507276 + WORD $0x00000000; WORD $0x17d955a0 // .quad 1718498878501683200 + WORD $0xe250eb31; WORD $0xbc143fa4 // .quad -4894216917640746191 + WORD $0x00000000; WORD $0x5dcfab08 // .quad 6759809616554491904 + WORD $0x1ae525fd; WORD $0xeb194f8e // .quad -1506085128623544835 + WORD $0x00000000; WORD $0x5aa1cae5 // .quad 6530724019560251392 + WORD $0xd0cf37be; WORD $0x92efd1b8 // .quad -7858832233030797378 + WORD $0x40000000; WORD $0xf14a3d9e // .quad -1059967012404461568 + WORD $0x050305ad; WORD $0xb7abc627 // .quad -5211854272861108819 + WORD $0xd0000000; WORD $0x6d9ccd05 // .quad 7898413271349198848 + WORD $0xc643c719; WORD $0xe596b7b0 // .quad -1903131822648998119 + WORD $0xa2000000; WORD $0xe4820023 // .quad -1981020733047832576 + WORD $0x7bea5c6f; WORD $0x8f7e32ce // .quad -8106986416796705681 + WORD $0x8a800000; WORD $0xdda2802c // .quad -2476275916309790720 + WORD $0x1ae4f38b; WORD $0xb35dbf82 // .quad -5522047002568494197 + WORD $0xad200000; WORD $0xd50b2037 // .quad -3095344895387238400 + WORD $0xa19e306e; WORD $0xe0352f62 // .quad -2290872734783229842 + WORD $0xcc340000; WORD $0x4526f422 // .quad 4982938468024057856 + WORD $0xa502de45; WORD $0x8c213d9d // .quad -8349324486880600507 + WORD $0x7f410000; WORD $0x9670b12b // .quad -7606384970252091392 + WORD $0x0e4395d6; WORD $0xaf298d05 // .quad -5824969590173362730 + WORD $0x5f114000; WORD $0x3c0cdd76 // .quad 4327076842467049472 + WORD $0x51d47b4c; WORD $0xdaf3f046 // .quad -2669525969289315508 + WORD $0xfb6ac800; WORD $0xa5880a69 // .quad -6518949010312869888 + WORD $0xf324cd0f; WORD $0x88d8762b // .quad -8585982758446904049 + WORD $0x7a457a00; WORD $0x8eea0d04 // .quad -8148686262891087360 + WORD $0xefee0053; WORD $0xab0e93b6 // .quad -6120792429631242157 + WORD $0x98d6d880; WORD $0x72a49045 // .quad 8260886245095692416 + WORD $0xabe98068; WORD $0xd5d238a4 // .quad -3039304518611664792 + WORD $0x7f864750; WORD $0x47a6da2b // .quad 5163053903184807760 + WORD $0xeb71f041; WORD $0x85a36366 // .quad -8817094351773372351 + WORD $0x5f67d924; WORD $0x999090b6 // .quad -7381240676301154012 + WORD $0xa64e6c51; WORD $0xa70c3c40 // .quad -6409681921289327535 + WORD $0xf741cf6d; WORD $0xfff4b4e3 // .quad -3178808521666707 + WORD $0xcfe20765; WORD $0xd0cf4b50 // .quad -3400416383184271515 + WORD $0x7a8921a4; WORD $0xbff8f10e // .quad -4613672773753429596 + WORD $0x81ed449f; WORD $0x82818f12 // .quad -9042789267131251553 + WORD $0x192b6a0d; WORD $0xaff72d52 // .quad -5767090967191786995 + WORD $0x226895c7; WORD $0xa321f2d7 // .quad -6691800565486676537 + WORD $0x9f764490; WORD $0x9bf4f8a6 // .quad -7208863708989733744 + WORD $0xeb02bb39; WORD $0xcbea6f8c // .quad -3753064688430957767 + WORD $0x4753d5b4; WORD $0x02f236d0 // .quad 212292400617608628 + WORD $0x25c36a08; WORD $0xfee50b70 // .quad -79644842111309304 + WORD $0x2c946590; WORD $0x01d76242 // .quad 132682750386005392 + WORD $0x179a2245; WORD $0x9f4f2726 // .quad -6967307053960650171 + WORD $0xb7b97ef5; WORD $0x424d3ad2 // .quad 4777539456409894645 + WORD $0x9d80aad6; WORD $0xc722f0ef // .quad -4097447799023424810 + WORD $0x65a7deb2; WORD $0xd2e08987 // .quad -3251447716342407502 + WORD $0x84e0d58b; WORD $0xf8ebad2b // .quad -510123730351893109 + WORD $0x9f88eb2f; WORD $0x63cc55f4 // .quad 7191217214140771119 + WORD $0x330c8577; WORD $0x9b934c3b // .quad -7236356359111015049 + WORD $0xc76b25fb; WORD $0x3cbf6b71 // .quad 4377335499248575995 + WORD $0xffcfa6d5; WORD $0xc2781f49 // .quad -4433759430461380907 + WORD $0x3945ef7a; WORD $0x8bef464e // .quad -8363388681221443718 + WORD $0x7fc3908a; WORD $0xf316271c // .quad -930513269649338230 + WORD $0xe3cbb5ac; WORD $0x97758bf0 // .quad -7532960934977096276 + WORD $0xcfda3a56; WORD $0x97edd871 // .quad -7499099821171918250 + WORD $0x1cbea317; WORD $0x3d52eeed // .quad 4418856886560793367 + WORD $0x43d0c8ec; WORD $0xbde94e8e // .quad -4762188758037509908 + WORD $0x63ee4bdd; WORD $0x4ca7aaa8 // .quad 5523571108200991709 + WORD $0xd4c4fb27; WORD $0xed63a231 // .quad -1341049929119499481 + WORD $0x3e74ef6a; WORD $0x8fe8caa9 // .quad -8076983103442849942 + WORD $0x24fb1cf8; WORD $0x945e455f // .quad -7755685233340769032 + WORD $0x8e122b44; WORD $0xb3e2fd53 // .quad -5484542860876174524 + WORD $0xee39e436; WORD $0xb975d6b6 // .quad -5082920523248573386 + WORD $0x7196b616; WORD $0x60dbbca8 // .quad 6979379479186945558 + WORD $0xa9c85d44; WORD $0xe7d34c64 // .quad -1741964635633328828 + WORD $0x46fe31cd; WORD $0xbc8955e9 // .quad -4861259862362934835 + WORD $0xea1d3a4a; WORD $0x90e40fbe // .quad -8006256924911912374 + WORD $0x98bdbe41; WORD $0x6babab63 // .quad 7758483227328495169 + WORD $0xa4a488dd; WORD $0xb51d13ae // .quad -5396135137712502563 + WORD $0x7eed2dd1; WORD $0xc696963c // .quad -4136954021121544751 + WORD $0x4dcdab14; WORD $0xe264589a // .quad -2133482903713240300 + WORD $0xcf543ca2; WORD $0xfc1e1de5 // .quad -279753253987271518 + WORD $0x70a08aec; WORD $0x8d7eb760 // .quad -8250955842461857044 + WORD $0x43294bcb; WORD $0x3b25a55f // .quad 4261994450943298507 + WORD $0x8cc8ada8; WORD $0xb0de6538 // .quad -5702008784649933400 + WORD $0x13f39ebe; WORD $0x49ef0eb7 // .quad 5327493063679123134 + WORD $0xaffad912; WORD $0xdd15fe86 // .quad -2515824962385028846 + WORD $0x6c784337; WORD $0x6e356932 // .quad 7941369183226839863 + WORD $0x2dfcc7ab; WORD $0x8a2dbf14 // .quad -8489919629131724885 + WORD $0x07965404; WORD $0x49c2c37f // .quad 5315025460606161924 + WORD $0x397bf996; WORD $0xacb92ed9 // .quad -6000713517987268202 + WORD $0xc97be906; WORD $0xdc33745e // .quad -2579590211097073402 + WORD $0x87daf7fb; WORD $0xd7e77a8f // .quad -2889205879056697349 + WORD $0x3ded71a3; WORD $0x69a028bb // .quad 7611128154919104931 + WORD $0xb4e8dafd; WORD $0x86f0ac99 // .quad -8723282702051517699 + WORD $0x0d68ce0c; WORD $0xc40832ea // .quad -4321147861633282548 + WORD $0x222311bc; WORD $0xa8acd7c0 // .quad -6292417359137009220 + WORD $0x90c30190; WORD $0xf50a3fa4 // .quad -789748808614215280 + WORD $0x2aabd62b; WORD $0xd2d80db0 // .quad -3253835680493873621 + WORD $0xda79e0fa; WORD $0x792667c6 // .quad 8729779031470891258 + WORD $0x1aab65db; WORD $0x83c7088e // .quad -8951176327949752869 + WORD $0x91185938; WORD $0x577001b8 // .quad 6300537770911226168 + WORD $0xa1563f52; WORD $0xa4b8cab1 // .quad -6577284391509803182 + WORD $0xb55e6f86; WORD $0xed4c0226 // .quad -1347699823215743098 + WORD $0x09abcf26; WORD $0xcde6fd5e // .quad -3609919470959866074 + WORD $0x315b05b4; WORD $0x544f8158 // .quad 6075216638131242420 + WORD $0xc60b6178; WORD $0x80b05e5a // .quad -9173728696990998152 + WORD $0x3db1c721; WORD $0x696361ae // .quad 7594020797664053025 + WORD $0x778e39d6; WORD $0xa0dc75f1 // .quad -6855474852811359786 + WORD $0xcd1e38e9; WORD $0x03bc3a19 // .quad 269153960225290473 + WORD $0xd571c84c; WORD $0xc913936d // .quad -3957657547586811828 + WORD $0x4065c723; WORD $0x04ab48a0 // .quad 336442450281613091 + WORD $0x4ace3a5f; WORD $0xfb587849 // .quad -335385916056126881 + WORD $0x283f9c76; WORD $0x62eb0d64 // .quad 7127805559067090038 + WORD $0xcec0e47b; WORD $0x9d174b2d // .quad -7127145225176161157 + WORD $0x324f8394; WORD $0x3ba5d0bd // .quad 4298070930406474644 + WORD $0x42711d9a; WORD $0xc45d1df9 // .quad -4297245513042813542 + WORD $0x7ee36479; WORD $0xca8f44ec // .quad -3850783373846682503 + WORD $0x930d6500; WORD $0xf5746577 // .quad -759870872876129024 + WORD $0xcf4e1ecb; WORD $0x7e998b13 // .quad 9122475437414293195 + WORD $0xbbe85f20; WORD $0x9968bf6a // .quad -7392448323188662496 + WORD $0xc321a67e; WORD $0x9e3fedd8 // .quad -7043649776941685122 + WORD $0x6ae276e8; WORD $0xbfc2ef45 // .quad -4628874385558440216 + WORD $0xf3ea101e; WORD $0xc5cfe94e // .quad -4192876202749718498 + WORD $0xc59b14a2; WORD $0xefb3ab16 // .quad -1174406963520662366 + WORD $0x58724a12; WORD $0xbba1f1d1 // .quad -4926390635932268014 + WORD $0x3b80ece5; WORD $0x95d04aee // .quad -7651533379841495835 + WORD $0xae8edc97; WORD $0x2a8a6e45 // .quad 3065383741939440791 + WORD $0xca61281f; WORD $0xbb445da9 // .quad -4952730706374481889 + WORD $0x1a3293bd; WORD $0xf52d09d7 // .quad -779956341003086915 + WORD $0x3cf97226; WORD $0xea157514 // .quad -1579227364540714458 + WORD $0x705f9c56; WORD $0x593c2626 // .quad 6430056314514152534 + WORD $0xa61be758; WORD $0x924d692c // .quad -7904546130479028392 + WORD $0x0c77836c; WORD $0x6f8b2fb0 // .quad 8037570393142690668 + WORD $0xcfa2e12e; WORD $0xb6e0c377 // .quad -5268996644671397586 + WORD $0x0f956447; WORD $0x0b6dfb9c // .quad 823590954573587527 + WORD $0xc38b997a; WORD $0xe498f455 // .quad -1974559787411859078 + WORD $0x89bd5eac; WORD $0x4724bd41 // .quad 5126430365035880108 + WORD $0x9a373fec; WORD $0x8edf98b5 // .quad -8151628894773493780 + WORD $0xec2cb657; WORD $0x58edec91 // .quad 6408037956294850135 + WORD $0x00c50fe7; WORD $0xb2977ee3 // .quad -5577850100039479321 + WORD $0x6737e3ed; WORD $0x2f2967b6 // .quad 3398361426941174765 + WORD $0xc0f653e1; WORD $0xdf3d5e9b // .quad -2360626606621961247 + WORD $0x0082ee74; WORD $0xbd79e0d2 // .quad -4793553135802847628 + WORD $0x5899f46c; WORD $0x8b865b21 // .quad -8392920656779807636 + WORD $0x80a3aa11; WORD $0xecd85906 // .quad -1380255401326171631 + WORD $0xaec07187; WORD $0xae67f1e9 // .quad -5879464802547371641 + WORD $0x20cc9495; WORD $0xe80e6f48 // .quad -1725319251657714539 + WORD $0x1a708de9; WORD $0xda01ee64 // .quad -2737644984756826647 + WORD $0x147fdcdd; WORD $0x3109058d // .quad 3533361486141316317 + WORD $0x908658b2; WORD $0x884134fe // .quad -8628557143114098510 + WORD $0x599fd415; WORD $0xbd4b46f0 // .quad -4806670179178130411 + WORD $0x34a7eede; WORD $0xaa51823e // .quad -6174010410465235234 + WORD $0x7007c91a; WORD $0x6c9e18ac // .quad 7826720331309500698 + WORD $0xc1d1ea96; WORD $0xd4e5e2cd // .quad -3105826994654156138 + WORD $0xc604ddb0; WORD $0x03e2cf6b // .quad 280014188641050032 + WORD $0x9923329e; WORD $0x850fadc0 // .quad -8858670899299929442 + WORD $0xb786151c; WORD $0x84db8346 // .quad -8873354301053463268 + WORD $0xbf6bff45; WORD $0xa6539930 // .quad -6461652605697523899 + WORD $0x65679a63; WORD $0xe6126418 // .quad -1868320839462053277 + WORD $0xef46ff16; WORD $0xcfe87f7c // .quad -3465379738694516970 + WORD $0x3f60c07e; WORD $0x4fcb7e8f // .quad 5749828502977298558 + WORD $0x158c5f6e; WORD $0x81f14fae // .quad -9083391364325154962 + WORD $0x0f38f09d; WORD $0xe3be5e33 // .quad -2036086408133152611 + WORD $0x9aef7749; WORD $0xa26da399 // .quad -6742553186979055799 + WORD $0xd3072cc5; WORD $0x5cadf5bf // .quad 6678264026688335045 + WORD $0x01ab551c; WORD $0xcb090c80 // .quad -3816505465296431844 + WORD $0xc7c8f7f6; WORD $0x73d9732f // .quad 8347830033360418806 + WORD $0x02162a63; WORD $0xfdcb4fa0 // .quad -158945813193151901 + WORD $0xdcdd9afa; WORD $0x2867e7fd // .quad 2911550761636567802 + WORD $0x014dda7e; WORD $0x9e9f11c4 // .quad -7016870160886801794 + WORD $0x541501b8; WORD $0xb281e1fd // .quad -5583933584809066056 + WORD $0x01a1511d; WORD $0xc646d635 // .quad -4159401682681114339 + WORD $0xa91a4226; WORD $0x1f225a7c // .quad 2243455055843443238 + WORD $0x4209a565; WORD $0xf7d88bc2 // .quad -587566084924005019 + WORD $0xe9b06958; WORD $0x3375788d // .quad 3708002419115845976 + WORD $0x6946075f; WORD $0x9ae75759 // .quad -7284757830718584993 + WORD $0x641c83ae; WORD $0x0052d6b1 // .quad 23317005467419566 + WORD $0xc3978937; WORD $0xc1a12d2f // .quad -4494261269970843337 + WORD $0xbd23a49a; WORD $0xc0678c5d // .quad -4582539761593113446 + WORD $0xb47d6b84; WORD $0xf209787b // .quad -1006140569036166268 + WORD $0x963646e0; WORD $0xf840b7ba // .quad -558244341782001952 + WORD $0x50ce6332; WORD $0x9745eb4d // .quad -7546366883288685774 + WORD $0x3bc3d898; WORD $0xb650e5a9 // .quad -5309491445654890344 + WORD $0xa501fbff; WORD $0xbd176620 // .quad -4821272585683469313 + WORD $0x8ab4cebe; WORD $0xa3e51f13 // .quad -6636864307068612930 + WORD $0xce427aff; WORD $0xec5d3fa8 // .quad -1414904713676948737 + WORD $0x36b10137; WORD $0xc66f336c // .quad -4148040191917883081 + WORD $0x80e98cdf; WORD $0x93ba47c9 // .quad -7801844473689174817 + WORD $0x445d4184; WORD $0xb80b0047 // .quad -5185050239897353852 + WORD $0xe123f017; WORD $0xb8a8d9bb // .quad -5140619573684080617 + WORD $0x157491e5; WORD $0xa60dc059 // .quad -6481312799871692315 + WORD $0xd96cec1d; WORD $0xe6d3102a // .quad -1814088448677712867 + WORD $0xad68db2f; WORD $0x87c89837 // .quad -8662506518347195601 + WORD $0xc7e41392; WORD $0x9043ea1a // .quad -8051334308064652398 + WORD $0x98c311fb; WORD $0x29babe45 // .quad 3006924907348169211 + WORD $0x79dd1877; WORD $0xb454e4a1 // .quad -5452481866653427593 + WORD $0xfef3d67a; WORD $0xf4296dd6 // .quad -853029884242176390 + WORD $0xd8545e94; WORD $0xe16a1dc9 // .quad -2203916314889396588 + WORD $0x5f58660c; WORD $0x1899e4a6 // .quad 1772699331562333708 + WORD $0x2734bb1d; WORD $0x8ce2529e // .quad -8294976724446954723 + WORD $0xf72e7f8f; WORD $0x5ec05dcf // .quad 6827560182880305039 + WORD $0xb101e9e4; WORD $0xb01ae745 // .quad -5757034887131305500 + WORD $0xf4fa1f73; WORD $0x76707543 // .quad 8534450228600381299 + WORD $0x1d42645d; WORD $0xdc21a117 // .quad -2584607590486743971 + WORD $0x791c53a8; WORD $0x6a06494a // .quad 7639874402088932264 + WORD $0x72497eba; WORD $0x899504ae // .quad -8532908771695296838 + WORD $0x17636892; WORD $0x0487db9d // .quad 326470965756389522 + WORD $0x0edbde69; WORD $0xabfa45da // .quad -6054449946191733143 + WORD $0x5d3c42b6; WORD $0x45a9d284 // .quad 5019774725622874806 + WORD $0x9292d603; WORD $0xd6f8d750 // .quad -2956376414312278525 + WORD $0xba45a9b2; WORD $0x0b8a2392 // .quad 831516194300602802 + WORD $0x5b9bc5c2; WORD $0x865b8692 // .quad -8765264286586255934 + WORD $0x68d7141e; WORD $0x8e6cac77 // .quad -8183976793979022306 + WORD $0xf282b732; WORD $0xa7f26836 // .quad -6344894339805432014 + WORD $0x430cd926; WORD $0x3207d795 // .quad 3605087062808385830 + WORD $0xaf2364ff; WORD $0xd1ef0244 // .quad -3319431906329402113 + WORD $0x49e807b8; WORD $0x7f44e6bd // .quad 9170708441896323000 + WORD $0xed761f1f; WORD $0x8335616a // .quad -8992173969096958177 + WORD $0x9c6209a6; WORD $0x5f16206c // .quad 6851699533943015846 + WORD $0xa8d3a6e7; WORD $0xa402b9c5 // .quad -6628531442943809817 + WORD $0xc37a8c0f; WORD $0x36dba887 // .quad 3952938399001381903 + WORD $0x130890a1; WORD $0xcd036837 // .quad -3673978285252374367 + WORD $0xda2c9789; WORD $0xc2494954 // .quad -4446942528265218167 + WORD $0x6be55a64; WORD $0x80222122 // .quad -9213765455923815836 + WORD $0x10b7bd6c; WORD $0xf2db9baa // .quad -946992141904134804 + WORD $0x06deb0fd; WORD $0xa02aa96b // .quad -6905520801477381891 + WORD $0x94e5acc7; WORD $0x6f928294 // .quad 8039631859474607303 + WORD $0xc8965d3d; WORD $0xc83553c5 // .quad -4020214983419339459 + WORD $0xba1f17f9; WORD $0xcb772339 // .quad -3785518230938904583 + WORD $0x3abbf48c; WORD $0xfa42a8b7 // .quad -413582710846786420 + WORD $0x14536efb; WORD $0xff2a7604 // .quad -60105885123121413 + WORD $0x84b578d7; WORD $0x9c69a972 // .quad -7176018221920323369 + WORD $0x19684aba; WORD $0xfef51385 // .quad -75132356403901766 + WORD $0x25e2d70d; WORD $0xc38413cf // .quad -4358336758973016307 + WORD $0x5fc25d69; WORD $0x7eb25866 // .quad 9129456591349898601 + WORD $0xef5b8cd1; WORD $0xf46518c2 // .quad -836234930288882479 + WORD $0xfbd97a61; WORD $0xef2f773f // .quad -1211618658047395231 + WORD $0xd5993802; WORD $0x98bf2f79 // .quad -7440175859071633406 + WORD $0xfacfd8fa; WORD $0xaafb550f // .quad -6126209340986631942 + WORD $0x4aff8603; WORD $0xbeeefb58 // .quad -4688533805412153853 + WORD $0xf983cf38; WORD $0x95ba2a53 // .quad -7657761676233289928 + WORD $0x5dbf6784; WORD $0xeeaaba2e // .quad -1248981238337804412 + WORD $0x7bf26183; WORD $0xdd945a74 // .quad -2480258038432112253 + WORD $0xfa97a0b2; WORD $0x952ab45c // .quad -7698142301602209614 + WORD $0x9aeef9e4; WORD $0x94f97111 // .quad -7712008566467528220 + WORD $0x393d88df; WORD $0xba756174 // .quad -5010991858575374113 + WORD $0x01aab85d; WORD $0x7a37cd56 // .quad 8806733365625141341 + WORD $0x478ceb17; WORD $0xe912b9d1 // .quad -1652053804791829737 + WORD $0xc10ab33a; WORD $0xac62e055 // .quad -6025006692552756422 + WORD $0xccb812ee; WORD $0x91abb422 // .quad -7950062655635975442 + WORD $0x314d6009; WORD $0x577b986b // .quad 6303799689591218185 + WORD $0x7fe617aa; WORD $0xb616a12b // .quad -5325892301117581398 + WORD $0xfda0b80b; WORD $0xed5a7e85 // .quad -1343622424865753077 + WORD $0x5fdf9d94; WORD $0xe39c4976 // .quad -2045679357969588844 + WORD $0xbe847307; WORD $0x14588f13 // .quad 1466078993672598279 + WORD $0xfbebc27d; WORD $0x8e41ade9 // .quad -8196078626372074883 + WORD $0xae258fc8; WORD $0x596eb2d8 // .quad 6444284760518135752 + WORD $0x7ae6b31c; WORD $0xb1d21964 // .quad -5633412264537705700 + WORD $0xd9aef3bb; WORD $0x6fca5f8e // .quad 8055355950647669691 + WORD $0x99a05fe3; WORD $0xde469fbd // .quad -2430079312244744221 + WORD $0x480d5854; WORD $0x25de7bb9 // .quad 2728754459941099604 + WORD $0x80043bee; WORD $0x8aec23d6 // .quad -8436328597794046994 + WORD $0x9a10ae6a; WORD $0xaf561aa7 // .quad -5812428961928401302 + WORD $0x20054ae9; WORD $0xada72ccc // .quad -5933724728815170839 + WORD $0x8094da04; WORD $0x1b2ba151 // .quad 1957835834444274180 + WORD $0x28069da4; WORD $0xd910f7ff // .quad -2805469892591575644 + WORD $0xf05d0842; WORD $0x90fb44d2 // .quad -7999724640327104446 + WORD $0x79042286; WORD $0x87aa9aff // .quad -8670947710510816634 + WORD $0xac744a53; WORD $0x353a1607 // .quad 3835402254873283155 + WORD $0x57452b28; WORD $0xa99541bf // .quad -6226998619711132888 + WORD $0x97915ce8; WORD $0x42889b89 // .quad 4794252818591603944 + WORD $0x2d1675f2; WORD $0xd3fa922f // .quad -3172062256211528206 + WORD $0xfebada11; WORD $0x69956135 // .quad 7608094030047140369 + WORD $0x7c2e09b7; WORD $0x847c9b5d // .quad -8900067937773286985 + WORD $0x7e699095; WORD $0x43fab983 // .quad 4898431519131537557 + WORD $0xdb398c25; WORD $0xa59bc234 // .quad -6513398903789220827 + WORD $0x5e03f4bb; WORD $0x94f967e4 // .quad -7712018656367741765 + WORD $0x1207ef2e; WORD $0xcf02b2c2 // .quad -3530062611309138130 + WORD $0xbac278f5; WORD $0x1d1be0ee // .quad 2097517367411243253 + WORD $0x4b44f57d; WORD $0x8161afb9 // .quad -9123818159709293187 + WORD $0x69731732; WORD $0x6462d92a // .quad 7233582727691441970 + WORD $0x9e1632dc; WORD $0xa1ba1ba7 // .quad -6793086681209228580 + WORD $0x03cfdcfe; WORD $0x7d7b8f75 // .quad 9041978409614302462 + WORD $0x859bbf93; WORD $0xca28a291 // .quad -3879672333084147821 + WORD $0x44c3d43e; WORD $0x5cda7352 // .quad 6690786993590490174 + WORD $0xe702af78; WORD $0xfcb2cb35 // .quad -237904397927796872 + WORD $0x6afa64a7; WORD $0x3a088813 // .quad 4181741870994056359 + WORD $0xb061adab; WORD $0x9defbf01 // .quad -7066219276345954901 + WORD $0x45b8fdd0; WORD $0x088aaa18 // .quad 615491320315182544 + WORD $0x1c7a1916; WORD $0xc56baec2 // .quad -4221088077005055722 + WORD $0x57273d45; WORD $0x8aad549e // .quad -8454007886460797627 + WORD $0xa3989f5b; WORD $0xf6c69a72 // .quad -664674077828931749 + WORD $0xf678864b; WORD $0x36ac54e2 // .quad 3939617107816777291 + WORD $0xa63f6399; WORD $0x9a3c2087 // .quad -7332950326284164199 + WORD $0xb416a7dd; WORD $0x84576a1b // .quad -8910536670511192099 + WORD $0x8fcf3c7f; WORD $0xc0cb28a9 // .quad -4554501889427817345 + WORD $0xa11c51d5; WORD $0x656d44a2 // .quad 7308573235570561493 + WORD $0xf3c30b9f; WORD $0xf0fdf2d3 // .quad -1081441343357383777 + WORD $0xa4b1b325; WORD $0x9f644ae5 // .quad -6961356773836868827 + WORD $0x7859e743; WORD $0x969eb7c4 // .quad -7593429867239446717 + WORD $0x0dde1fee; WORD $0x873d5d9f // .quad -8701695967296086034 + WORD $0x96706114; WORD $0xbc4665b5 // .quad -4880101315621920492 + WORD $0xd155a7ea; WORD $0xa90cb506 // .quad -6265433940692719638 + WORD $0xfc0c7959; WORD $0xeb57ff22 // .quad -1488440626100012711 + WORD $0x42d588f2; WORD $0x09a7f124 // .quad 695789805494438130 + WORD $0xdd87cbd8; WORD $0x9316ff75 // .quad -7847804418953589800 + WORD $0x538aeb2f; WORD $0x0c11ed6d // .quad 869737256868047663 + WORD $0x54e9bece; WORD $0xb7dcbf53 // .quad -5198069505264599346 + WORD $0xa86da5fa; WORD $0x8f1668c8 // .quad -8136200465769716230 + WORD $0x2a242e81; WORD $0xe5d3ef28 // .quad -1885900863153361279 + WORD $0x694487bc; WORD $0xf96e017d // .quad -473439272678684740 + WORD $0x1a569d10; WORD $0x8fa47579 // .quad -8096217067111932656 + WORD $0xc395a9ac; WORD $0x37c981dc // .quad 4019886927579031980 + WORD $0x60ec4455; WORD $0xb38d92d7 // .quad -5508585315462527915 + WORD $0xf47b1417; WORD $0x85bbe253 // .quad -8810199395808373737 + WORD $0x3927556a; WORD $0xe070f78d // .quad -2274045625900771990 + WORD $0x78ccec8e; WORD $0x93956d74 // .quad -7812217631593927538 + WORD $0x43b89562; WORD $0x8c469ab8 // .quad -8338807543829064350 + WORD $0x970027b2; WORD $0x387ac8d1 // .quad 4069786015789754290 + WORD $0x54a6babb; WORD $0xaf584166 // .quad -5811823411358942533 + WORD $0xfcc0319e; WORD $0x06997b05 // .quad 475546501309804958 + WORD $0xe9d0696a; WORD $0xdb2e51bf // .quad -2653093245771290262 + WORD $0xbdf81f03; WORD $0x441fece3 // .quad 4908902581746016003 + WORD $0xf22241e2; WORD $0x88fcf317 // .quad -8575712306248138270 + WORD $0xad7626c3; WORD $0xd527e81c // .quad -3087243809672255805 + WORD $0xeeaad25a; WORD $0xab3c2fdd // .quad -6107954364382784934 + WORD $0xd8d3b074; WORD $0x8a71e223 // .quad -8470740780517707660 + WORD $0x6a5586f1; WORD $0xd60b3bd5 // .quad -3023256937051093263 + WORD $0x67844e49; WORD $0xf6872d56 // .quad -682526969396179383 + WORD $0x62757456; WORD $0x85c70565 // .quad -8807064613298015146 + WORD $0x016561db; WORD $0xb428f8ac // .quad -5464844730172612133 + WORD $0xbb12d16c; WORD $0xa738c6be // .quad -6397144748195131028 + WORD $0x01beba52; WORD $0xe13336d7 // .quad -2219369894288377262 + WORD $0x69d785c7; WORD $0xd106f86e // .quad -3384744916816525881 + WORD $0x61173473; WORD $0xecc00246 // .quad -1387106183930235789 + WORD $0x0226b39c; WORD $0x82a45b45 // .quad -9032994600651410532 + WORD $0xf95d0190; WORD $0x27f002d7 // .quad 2877803288514593168 + WORD $0x42b06084; WORD $0xa34d7216 // .quad -6679557232386875260 + WORD $0xf7b441f4; WORD $0x31ec038d // .quad 3597254110643241460 + WORD $0xd35c78a5; WORD $0xcc20ce9b // .quad -3737760522056206171 + WORD $0x75a15271; WORD $0x7e670471 // .quad 9108253656731439729 + WORD $0xc83396ce; WORD $0xff290242 // .quad -60514634142869810 + WORD $0xe984d386; WORD $0x0f0062c6 // .quad 1080972517029761926 + WORD $0xbd203e41; WORD $0x9f79a169 // .quad -6955350673980375487 + WORD $0xa3e60868; WORD $0x52c07b78 // .quad 5962901664714590312 + WORD $0x2c684dd1; WORD $0xc75809c4 // .quad -4082502324048081455 + WORD $0xccdf8a82; WORD $0xa7709a56 // .quad -6381430974388925822 + WORD $0x37826145; WORD $0xf92e0c35 // .quad -491441886632713915 + WORD $0x400bb691; WORD $0x88a66076 // .quad -8600080377420466543 + WORD $0x42b17ccb; WORD $0x9bbcc7a1 // .quad -7224680206786528053 + WORD $0xd00ea435; WORD $0x6acff893 // .quad 7696643601933968437 + WORD $0x935ddbfe; WORD $0xc2abf989 // .quad -4419164240055772162 + WORD $0xc4124d43; WORD $0x0583f6b8 // .quad 397432465562684739 + WORD $0xf83552fe; WORD $0xf356f7eb // .quad -912269281642327298 + WORD $0x7a8b704a; WORD $0xc3727a33 // .quad -4363290727450709942 + WORD $0x7b2153de; WORD $0x98165af3 // .quad -7487697328667536418 + WORD $0x592e4c5c; WORD $0x744f18c0 // .quad 8380944645968776284 + WORD $0x59e9a8d6; WORD $0xbe1bf1b0 // .quad -4747935642407032618 + WORD $0x6f79df73; WORD $0x1162def0 // .quad 1252808770606194547 + WORD $0x7064130c; WORD $0xeda2ee1c // .quad -1323233534581402868 + WORD $0x45ac2ba8; WORD $0x8addcb56 // .quad -8440366555225904216 + WORD $0xc63e8be7; WORD $0x9485d4d1 // .quad -7744549986754458649 + WORD $0xd7173692; WORD $0x6d953e2b // .quad 7896285879677171346 + WORD $0x37ce2ee1; WORD $0xb9a74a06 // .quad -5069001465015685407 + WORD $0xccdd0437; WORD $0xc8fa8db6 // .quad -3964700705685699529 + WORD $0xc5c1ba99; WORD $0xe8111c87 // .quad -1724565812842218855 + WORD $0x400a22a2; WORD $0x1d9c9892 // .quad 2133748077373825698 + WORD $0xdb9914a0; WORD $0x910ab1d4 // .quad -7995382660667468640 + WORD $0xd00cab4b; WORD $0x2503beb6 // .quad 2667185096717282123 + WORD $0x127f59c8; WORD $0xb54d5e4a // .quad -5382542307406947896 + WORD $0x840fd61d; WORD $0x2e44ae64 // .quad 3333981370896602653 + WORD $0x971f303a; WORD $0xe2a0b5dc // .quad -2116491865831296966 + WORD $0xd289e5d2; WORD $0x5ceaecfe // .quad 6695424375237764562 + WORD $0xde737e24; WORD $0x8da471a9 // .quad -8240336443785642460 + WORD $0x872c5f47; WORD $0x7425a83e // .quad 8369280469047205703 + WORD $0x56105dad; WORD $0xb10d8e14 // .quad -5688734536304665171 + WORD $0x28f77719; WORD $0xd12f124e // .quad -3373457468973156583 + WORD $0x6b947518; WORD $0xdd50f199 // .quad -2499232151953443560 + WORD $0xd99aaa6f; WORD $0x82bd6b70 // .quad -9025939945749304721 + WORD $0xe33cc92f; WORD $0x8a5296ff // .quad -8479549122611984081 + WORD $0x1001550b; WORD $0x636cc64d // .quad 7164319141522920715 + WORD $0xdc0bfb7b; WORD $0xace73cbf // .quad -5987750384837592197 + WORD $0x5401aa4e; WORD $0x3c47f7e0 // .quad 4343712908476262990 + WORD $0xd30efa5a; WORD $0xd8210bef // .quad -2873001962619602342 + WORD $0x34810a71; WORD $0x65acfaec // .quad 7326506586225052273 + WORD $0xe3e95c78; WORD $0x8714a775 // .quad -8713155254278333320 + WORD $0x41a14d0d; WORD $0x7f1839a7 // .quad 9158133232781315341 + WORD $0x5ce3b396; WORD $0xa8d9d153 // .quad -6279758049420528746 + WORD $0x1209a050; WORD $0x1ede4811 // .quad 2224294504121868368 + WORD $0x341ca07c; WORD $0xd31045a8 // .quad -3238011543348273028 + WORD $0xab460432; WORD $0x934aed0a // .quad -7833187971778608078 + WORD $0x2091e44d; WORD $0x83ea2b89 // .quad -8941286242233752499 + WORD $0x5617853f; WORD $0xf81da84d // .quad -568112927868484289 + WORD $0x68b65d60; WORD $0xa4e4b66b // .quad -6564921784364802720 + WORD $0xab9d668e; WORD $0x36251260 // .quad 3901544858591782542 + WORD $0x42e3f4b9; WORD $0xce1de406 // .quad -3594466212028615495 + WORD $0x6b426019; WORD $0xc1d72b7c // .quad -4479063491021217767 + WORD $0xe9ce78f3; WORD $0x80d2ae83 // .quad -9164070410158966541 + WORD $0x8612f81f; WORD $0xb24cf65b // .quad -5598829363776522209 + WORD $0xe4421730; WORD $0xa1075a24 // .quad -6843401994271320272 + WORD $0x6797b627; WORD $0xdee033f2 // .quad -2386850686293264857 + WORD $0x1d529cfc; WORD $0xc94930ae // .quad -3942566474411762436 + WORD $0x017da3b1; WORD $0x169840ef // .quad 1628122660560806833 + WORD $0xa4a7443c; WORD $0xfb9b7cd9 // .quad -316522074587315140 + WORD $0x60ee864e; WORD $0x8e1f2895 // .quad -8205795374004271538 + WORD $0x06e88aa5; WORD $0x9d412e08 // .quad -7115355324258153819 + WORD $0xb92a27e2; WORD $0xf1a6f2ba // .quad -1033872180650563614 + WORD $0x08a2ad4e; WORD $0xc491798a // .quad -4282508136895304370 + WORD $0x6774b1db; WORD $0xae10af69 // .quad -5904026244240592421 + WORD $0x8acb58a2; WORD $0xf5b5d7ec // .quad -741449152691742558 + WORD $0xe0a8ef29; WORD $0xacca6da1 // .quad -5995859411864064215 + WORD $0xd6bf1765; WORD $0x9991a6f3 // .quad -7380934748073420955 + WORD $0x58d32af3; WORD $0x17fd090a // .quad 1728547772024695539 + WORD $0xcc6edd3f; WORD $0xbff610b0 // .quad -4614482416664388289 + WORD $0xef07f5b0; WORD $0xddfc4b4c // .quad -2451001303396518480 + WORD $0xff8a948e; WORD $0xeff394dc // .quad -1156417002403097458 + WORD $0x1564f98e; WORD $0x4abdaf10 // .quad 5385653213018257806 + WORD $0x1fb69cd9; WORD $0x95f83d0a // .quad -7640289654143017767 + WORD $0x1abe37f1; WORD $0x9d6d1ad4 // .quad -7102991539009341455 + WORD $0xa7a4440f; WORD $0xbb764c4c // .quad -4938676049251384305 + WORD $0x216dc5ed; WORD $0x84c86189 // .quad -8878739423761676819 + WORD $0xd18d5513; WORD $0xea53df5f // .quad -1561659043136842477 + WORD $0xb4e49bb4; WORD $0x32fd3cf5 // .quad 3674159897003727796 + WORD $0xe2f8552c; WORD $0x92746b9b // .quad -7893565929601608404 + WORD $0x221dc2a1; WORD $0x3fbc8c33 // .quad 4592699871254659745 + WORD $0xdbb66a77; WORD $0xb7118682 // .quad -5255271393574622601 + WORD $0xeaa5334a; WORD $0x0fabaf3f // .quad 1129188820640936778 + WORD $0x92a40515; WORD $0xe4d5e823 // .quad -1957403223540890347 + WORD $0xf2a7400e; WORD $0x29cb4d87 // .quad 3011586022114279438 + WORD $0x3ba6832d; WORD $0x8f05b116 // .quad -8140906042354138323 + WORD $0xef511012; WORD $0x743e20e9 // .quad 8376168546070237202 + WORD $0xca9023f8; WORD $0xb2c71d5b // .quad -5564446534515285000 + WORD $0x6b255416; WORD $0x914da924 // .quad -7976533391121755114 + WORD $0xbd342cf6; WORD $0xdf78e4b2 // .quad -2343872149716718346 + WORD $0xc2f7548e; WORD $0x1ad089b6 // .quad 1932195658189984910 + WORD $0xb6409c1a; WORD $0x8bab8eef // .quad -8382449121214030822 + WORD $0x73b529b1; WORD $0xa184ac24 // .quad -6808127464117294671 + WORD $0xa3d0c320; WORD $0xae9672ab // .quad -5866375383090150624 + WORD $0x90a2741e; WORD $0xc9e5d72d // .quad -3898473311719230434 + WORD $0x8cc4f3e8; WORD $0xda3c0f56 // .quad -2721283210435300376 + WORD $0x7a658892; WORD $0x7e2fa67c // .quad 9092669226243950738 + WORD $0x17fb1871; WORD $0x88658996 // .quad -8618331034163144591 + WORD $0x98feeab7; WORD $0xddbb901b // .quad -2469221522477225289 + WORD $0x9df9de8d; WORD $0xaa7eebfb // .quad -6161227774276542835 + WORD $0x7f3ea565; WORD $0x552a7422 // .quad 6136845133758244197 + WORD $0x85785631; WORD $0xd51ea6fa // .quad -3089848699418290639 + WORD $0x8f87275f; WORD $0xd53a8895 // .quad -3082000819042179233 + WORD $0x936b35de; WORD $0x8533285c // .quad -8848684464777513506 + WORD $0xf368f137; WORD $0x8a892aba // .quad -8464187042230111945 + WORD $0xb8460356; WORD $0xa67ff273 // .quad -6449169562544503978 + WORD $0xb0432d85; WORD $0x2d2b7569 // .quad 3254824252494523781 + WORD $0xa657842c; WORD $0xd01fef10 // .quad -3449775934753242068 + WORD $0x0e29fc73; WORD $0x9c3b2962 // .quad -7189106879045698445 + WORD $0x67f6b29b; WORD $0x8213f56a // .quad -9073638986861858149 + WORD $0x91b47b8f; WORD $0x8349f3ba // .quad -8986383598807123057 + WORD $0x01f45f42; WORD $0xa298f2c5 // .quad -6730362715149934782 + WORD $0x36219a73; WORD $0x241c70a9 // .quad 2602078556773259891 + WORD $0x42717713; WORD $0xcb3f2f76 // .quad -3801267375510030573 + WORD $0x83aa0110; WORD $0xed238cd3 // .quad -1359087822460813040 + WORD $0xd30dd4d7; WORD $0xfe0efb53 // .quad -139898200960150313 + WORD $0x324a40aa; WORD $0xf4363804 // .quad -849429889038008150 + WORD $0x63e8a506; WORD $0x9ec95d14 // .quad -7004965403241175802 + WORD $0x3edcd0d5; WORD $0xb143c605 // .quad -5673473379724898091 + WORD $0x7ce2ce48; WORD $0xc67bb459 // .quad -4144520735624081848 + WORD $0x8e94050a; WORD $0xdd94b786 // .quad -2480155706228734710 + WORD $0xdc1b81da; WORD $0xf81aa16f // .quad -568964901102714406 + WORD $0x191c8326; WORD $0xca7cf2b4 // .quad -3855940325606653146 + WORD $0xe9913128; WORD $0x9b10a4e5 // .quad -7273132090830278360 + WORD $0x1f63a3f0; WORD $0xfd1c2f61 // .quad -208239388580928528 + WORD $0x63f57d72; WORD $0xc1d4ce1f // .quad -4479729095110460046 + WORD $0x673c8cec; WORD $0xbc633b39 // .quad -4871985254153548564 + WORD $0x3cf2dccf; WORD $0xf24a01a7 // .quad -987975350460687153 + WORD $0xe085d813; WORD $0xd5be0503 // .quad -3044990783845967853 + WORD $0x8617ca01; WORD $0x976e4108 // .quad -7535013621679011327 + WORD $0xd8a74e18; WORD $0x4b2d8644 // .quad 5417133557047315992 + WORD $0xa79dbc82; WORD $0xbd49d14a // .quad -4807081008671376254 + WORD $0x0ed1219e; WORD $0xddf8e7d6 // .quad -2451955090545630818 + WORD $0x51852ba2; WORD $0xec9c459d // .quad -1397165242411832414 + WORD $0xc942b503; WORD $0xcabb90e5 // .quad -3838314940804713213 + WORD $0x52f33b45; WORD $0x93e1ab82 // .quad -7790757304148477115 + WORD $0x3b936243; WORD $0x3d6a751f // .quad 4425478360848884291 + WORD $0xe7b00a17; WORD $0xb8da1662 // .quad -5126760611758208489 + WORD $0x0a783ad4; WORD $0x0cc51267 // .quad 920161932633717460 + WORD $0xa19c0c9d; WORD $0xe7109bfb // .quad -1796764746270372707 + WORD $0x668b24c5; WORD $0x27fb2b80 // .quad 2880944217109767365 + WORD $0x450187e2; WORD $0x906a617d // .quad -8040506994060064798 + WORD $0x802dedf6; WORD $0xb1f9f660 // .quad -5622191765467566602 + WORD $0x9641e9da; WORD $0xb484f9dc // .quad -5438947724147693094 + WORD $0xa0396973; WORD $0x5e7873f8 // .quad 6807318348447705459 + WORD $0xbbd26451; WORD $0xe1a63853 // .quad -2186998636757228463 + WORD $0x6423e1e8; WORD $0xdb0b487b // .quad -2662955059861265944 + WORD $0x55637eb2; WORD $0x8d07e334 // .quad -8284403175614349646 + WORD $0x3d2cda62; WORD $0x91ce1a9a // .quad -7940379843253970334 + WORD $0x6abc5e5f; WORD $0xb049dc01 // .quad -5743817951090549153 + WORD $0xcc7810fb; WORD $0x7641a140 // .quad 8521269269642088699 + WORD $0xc56b75f7; WORD $0xdc5c5301 // .quad -2568086420435798537 + WORD $0x7fcb0a9d; WORD $0xa9e904c8 // .quad -6203421752542164323 + WORD $0x1b6329ba; WORD $0x89b9b3e1 // .quad -8522583040413455942 + WORD $0x9fbdcd44; WORD $0x546345fa // .quad 6080780864604458308 + WORD $0x623bf429; WORD $0xac2820d9 // .quad -6041542782089432023 + WORD $0x47ad4095; WORD $0xa97c1779 // .quad -6234081974526590827 + WORD $0xbacaf133; WORD $0xd732290f // .quad -2940242459184402125 + WORD $0xcccc485d; WORD $0x49ed8eab // .quad 5327070802775656541 + WORD $0xd4bed6c0; WORD $0x867f59a9 // .quad -8755180564631333184 + WORD $0xbfff5a74; WORD $0x5c68f256 // .quad 6658838503469570676 + WORD $0x49ee8c70; WORD $0xa81f3014 // .quad -6332289687361778576 + WORD $0x6fff3111; WORD $0x73832eec // .quad 8323548129336963345 + WORD $0x5c6a2f8c; WORD $0xd226fc19 // .quad -3303676090774835316 + WORD $0xc5ff7eab; WORD $0xc831fd53 // .quad -4021154456019173717 + WORD $0xd9c25db7; WORD $0x83585d8f // .quad -8982326584375353929 + WORD $0xb77f5e55; WORD $0xba3e7ca8 // .quad -5026443070023967147 + WORD $0xd032f525; WORD $0xa42e74f3 // .quad -6616222212041804507 + WORD $0xe55f35eb; WORD $0x28ce1bd2 // .quad 2940318199324816875 + WORD $0xc43fb26f; WORD $0xcd3a1230 // .quad -3658591746624867729 + WORD $0xcf5b81b3; WORD $0x7980d163 // .quad 8755227902219092403 + WORD $0x7aa7cf85; WORD $0x80444b5e // .quad -9204148869281624187 + WORD $0xc332621f; WORD $0xd7e105bc // .quad -2891023177508298209 + WORD $0x1951c366; WORD $0xa0555e36 // .quad -6893500068174642330 + WORD $0xf3fefaa7; WORD $0x8dd9472b // .quad -8225464990312760665 + WORD $0x9fa63440; WORD $0xc86ab5c3 // .quad -4005189066790915008 + WORD $0xf0feb951; WORD $0xb14f98f6 // .quad -5670145219463562927 + WORD $0x878fc150; WORD $0xfa856334 // .quad -394800315061255856 + WORD $0x569f33d3; WORD $0x6ed1bf9a // .quad 7985374283903742931 + WORD $0xd4b9d8d2; WORD $0x9c935e00 // .quad -7164279224554366766 + WORD $0xec4700c8; WORD $0x0a862f80 // .quad 758345818024902856 + WORD $0x09e84f07; WORD $0xc3b83581 // .quad -4343663012265570553 + WORD $0x2758c0fa; WORD $0xcd27bb61 // .quad -3663753745896259334 + WORD $0x4c6262c8; WORD $0xf4a642e1 // .quad -817892746904575288 + WORD $0xb897789c; WORD $0x8038d51c // .quad -9207375118826243940 + WORD $0xcfbd7dbd; WORD $0x98e7e9cc // .quad -7428711994456441411 + WORD $0xe6bd56c3; WORD $0xe0470a63 // .quad -2285846861678029117 + WORD $0x03acdd2c; WORD $0xbf21e440 // .quad -4674203974643163860 + WORD $0xe06cac74; WORD $0x1858ccfc // .quad 1754377441329851508 + WORD $0x04981478; WORD $0xeeea5d50 // .quad -1231068949876566920 + WORD $0x0c43ebc8; WORD $0x0f37801e // .quad 1096485900831157192 + WORD $0x02df0ccb; WORD $0x95527a52 // .quad -7686947121313936181 + WORD $0x8f54e6ba; WORD $0xd3056025 // .quad -3241078642388441414 + WORD $0x8396cffd; WORD $0xbaa718e6 // .quad -4996997883215032323 + WORD $0xf32a2069; WORD $0x47c6b82e // .quad 5172023733869224041 + WORD $0x247c83fd; WORD $0xe950df20 // .quad -1634561335591402499 + WORD $0x57fa5441; WORD $0x4cdc331d // .quad 5538357842881958977 + WORD $0x16cdd27e; WORD $0x91d28b74 // .quad -7939129862385708418 + WORD $0xadf8e952; WORD $0xe0133fe4 // .quad -2300424733252327086 + WORD $0x1c81471d; WORD $0xb6472e51 // .quad -5312226309554747619 + WORD $0xd97723a6; WORD $0x58180fdd // .quad 6347841120289366950 + WORD $0x63a198e5; WORD $0xe3d8f9e5 // .quad -2028596868516046619 + WORD $0xa7ea7648; WORD $0x570f09ea // .quad 6273243709394548296 + WORD $0x5e44ff8f; WORD $0x8e679c2f // .quad -8185402070463610993 + WORD $0x51e513da; WORD $0x2cd2cc65 // .quad 3229868618315797466 + WORD $0x35d63f73; WORD $0xb201833b // .quad -5620066569652125837 + WORD $0xa65e58d1; WORD $0xf8077f7e // .quad -574350245532641071 + WORD $0x034bcf4f; WORD $0xde81e40a // .quad -2413397193637769393 + WORD $0x27faf782; WORD $0xfb04afaf // .quad -358968903457900670 + WORD $0x420f6191; WORD $0x8b112e86 // .quad -8425902273664687727 + WORD $0xf1f9b563; WORD $0x79c5db9a // .quad 8774660907532399971 + WORD $0xd29339f6; WORD $0xadd57a27 // .quad -5920691823653471754 + WORD $0xae7822bc; WORD $0x18375281 // .quad 1744954097560724156 + WORD $0xc7380874; WORD $0xd94ad8b1 // .quad -2789178761139451788 + WORD $0x0d0b15b5; WORD $0x8f229391 // .quad -8132775725879323211 + WORD $0x1c830548; WORD $0x87cec76f // .quad -8660765753353239224 + WORD $0x504ddb22; WORD $0xb2eb3875 // .quad -5554283638921766110 + WORD $0xe3a3c69a; WORD $0xa9c2794a // .quad -6214271173264161126 + WORD $0xa46151eb; WORD $0x5fa60692 // .quad 6892203506629956075 + WORD $0x9c8cb841; WORD $0xd433179d // .quad -3156152948152813503 + WORD $0xa6bcd333; WORD $0xdbc7c41b // .quad -2609901835997359309 + WORD $0x81d7f328; WORD $0x849feec2 // .quad -8890124620236590296 + WORD $0x906c0800; WORD $0x12b9b522 // .quad 1349308723430688768 + WORD $0x224deff3; WORD $0xa5c7ea73 // .quad -6500969756868349965 + WORD $0x34870a00; WORD $0xd768226b // .quad -2925050114139026944 + WORD $0xeae16bef; WORD $0xcf39e50f // .quad -3514526177658049553 + WORD $0x00d46640; WORD $0xe6a11583 // .quad -1828156321336891840 + WORD $0xf2cce375; WORD $0x81842f29 // .quad -9114107888677362827 + WORD $0xc1097fd0; WORD $0x60495ae3 // .quad 6938176635183661008 + WORD $0x6f801c53; WORD $0xa1e53af4 // .quad -6780948842419315629 + WORD $0xb14bdfc4; WORD $0x385bb19c // .quad 4061034775552188356 + WORD $0x8b602368; WORD $0xca5e89b1 // .quad -3864500034596756632 + WORD $0xdd9ed7b5; WORD $0x46729e03 // .quad 5076293469440235445 + WORD $0xee382c42; WORD $0xfcf62c1d // .quad -218939024818557886 + WORD $0x6a8346d1; WORD $0x6c07a2c2 // .quad 7784369436827535057 + WORD $0xb4e31ba9; WORD $0x9e19db92 // .quad -7054365918152680535 + WORD $0x05241885; WORD $0xc7098b73 // .quad -4104596259247744891 + WORD $0x621be293; WORD $0xc5a05277 // .quad -4206271379263462765 + WORD $0xc66d1ea7; WORD $0xb8cbee4f // .quad -5130745324059681113 + WORD $0x3aa2db38; WORD $0xf7086715 // .quad -646153205651940552 + WORD $0xdc043328; WORD $0x737f74f1 // .quad 8322499218531169064 + WORD $0x44a5c903; WORD $0x9a65406d // .quad -7321374781173544701 + WORD $0x53053ff2; WORD $0x505f522e // .quad 5791438004736573426 + WORD $0x95cf3b44; WORD $0xc0fe9088 // .quad -4540032458039542972 + WORD $0xe7c68fef; WORD $0x647726b9 // .quad 7239297505920716783 + WORD $0xbb430a15; WORD $0xf13e34aa // .quad -1063354554122040811 + WORD $0x30dc19f5; WORD $0x5eca7834 // .quad 6830403950414141941 + WORD $0xb509e64d; WORD $0x96c6e0ea // .quad -7582125623967357363 + WORD $0x3d132072; WORD $0xb67d1641 // .quad -5297053117264486286 + WORD $0x624c5fe0; WORD $0xbc789925 // .quad -4865971011531808800 + WORD $0x8c57e88f; WORD $0xe41c5bd1 // .quad -2009630378153219953 + WORD $0xbadf77d8; WORD $0xeb96bf6e // .quad -1470777745987373096 + WORD $0xf7b6f159; WORD $0x8e91b962 // .quad -8173548013986844327 + WORD $0x34cbaae7; WORD $0x933e37a5 // .quad -7836765118883190041 + WORD $0xb5a4adb0; WORD $0x723627bb // .quad 8229809056225996208 + WORD $0x81fe95a1; WORD $0xb80dc58e // .quad -5184270380176599647 + WORD $0xa30dd91c; WORD $0xcec3b1aa // .quad -3547796734999668452 + WORD $0x227e3b09; WORD $0xe61136f2 // .quad -1868651956793361655 + WORD $0xa5e8a7b1; WORD $0x213a4f0a // .quad 2394313059052595121 + WORD $0x558ee4e6; WORD $0x8fcac257 // .quad -8085436500636932890 + WORD $0x4f62d19d; WORD $0xa988e2cd // .quad -6230480713039031907 + WORD $0x2af29e1f; WORD $0xb3bd72ed // .quad -5495109607368778209 + WORD $0xa33b8605; WORD $0x93eb1b80 // .quad -7788100891298789883 + WORD $0x75af45a7; WORD $0xe0accfa8 // .quad -2257200990783584857 + WORD $0x660533c3; WORD $0xbc72f130 // .quad -4867563057061743677 + WORD $0x498d8b88; WORD $0x8c6c01c9 // .quad -8328279646880822392 + WORD $0x7f8680b4; WORD $0xeb8fad7c // .quad -1472767802899791692 + WORD $0x9bf0ee6a; WORD $0xaf87023b // .quad -5798663540173640086 + WORD $0x9f6820e1; WORD $0xa67398db // .quad -6452645772052127519 + WORD $0x82ed2a05; WORD $0xdb68c2ca // .quad -2636643406789662203 + WORD $0x43a1148c; WORD $0x88083f89 // .quad -8644589625959967604 + WORD $0x91d43a43; WORD $0x892179be // .quad -8565431156884620733 + WORD $0x948959b0; WORD $0x6a0a4f6b // .quad 7641007041259592112 + WORD $0x364948d4; WORD $0xab69d82e // .quad -6095102927678388012 + WORD $0x79abb01c; WORD $0x848ce346 // .quad -8895485272135061476 + WORD $0xc3db9b09; WORD $0xd6444e39 // .quad -3007192641170597111 + WORD $0x0c0b4e11; WORD $0xf2d80e0c // .quad -947992276657025519 + WORD $0x1a6940e5; WORD $0x85eab0e4 // .quad -8797024428372705051 + WORD $0x0f0e2195; WORD $0x6f8e118f // .quad 8038381691033493909 + WORD $0x2103911f; WORD $0xa7655d1d // .quad -6384594517038493409 + WORD $0xd2d1a9fb; WORD $0x4b7195f2 // .quad 5436291095364479483 + WORD $0x69447567; WORD $0xd13eb464 // .quad -3369057127870728857 + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + // .p2align 2, 0x00 +_POW_TAB: + WORD $0x00000001 // .long 1 + WORD $0x00000003 // .long 3 + WORD $0x00000006 // .long 6 + WORD $0x00000009 // .long 9 + WORD $0x0000000d // .long 13 + WORD $0x00000010 // .long 16 + WORD $0x00000013 // .long 19 + WORD $0x00000017 // .long 23 + WORD $0x0000001a // .long 26 + // .p2align 2, 0x00 +_LSHIFT_TAB: + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000001 // .long 1 + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000001 // .long 1 + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000001 // .long 1 + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000002 // .long 2 + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000002 // .long 2 + WORD $0x35323133 // .asciz 4, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000002 // .long 2 + WORD $0x32363531 // .asciz 4, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000003 // .long 3 + WORD $0x32313837 // .asciz 4, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000003 // .long 3 + WORD $0x36303933 // .asciz 4, '390625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000003 // .long 3 + WORD $0x33353931 // .asciz 4, '1953125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000004 // .long 4 + WORD $0x35363739 // .asciz 4, '9765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000004 // .long 4 + WORD $0x32383834 // .asciz 4, '48828125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323138 // .asciz 4, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000004 // .long 4 + WORD $0x31343432 // .asciz 4, '244140625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363034 // .asciz 4, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000004 // .long 4 + WORD $0x30323231 // .asciz 4, '1220703125\x00\x00\x00\x00\x00\x00' + WORD $0x31333037 // .asciz 4, '703125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000005 // .long 5 + WORD $0x33303136 // .asciz 4, '6103515625\x00\x00\x00\x00\x00\x00' + WORD $0x36353135 // .asciz 4, '515625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000005 // .long 5 + WORD $0x31353033 // .asciz 4, '30517578125\x00\x00\x00\x00\x00' + WORD $0x38373537 // .asciz 4, '7578125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000005 // .long 5 + WORD $0x35323531 // .asciz 4, '152587890625\x00\x00\x00\x00' + WORD $0x39383738 // .asciz 4, '87890625\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323630 // .asciz 4, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000006 // .long 6 + WORD $0x39323637 // .asciz 4, '762939453125\x00\x00\x00\x00' + WORD $0x35343933 // .asciz 4, '39453125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323133 // .asciz 4, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000006 // .long 6 + WORD $0x34313833 // .asciz 4, '3814697265625\x00\x00\x00' + WORD $0x32373936 // .asciz 4, '697265625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363536 // .asciz 4, '65625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000006 // .long 6 + WORD $0x37303931 // .asciz 4, '19073486328125\x00\x00' + WORD $0x36383433 // .asciz 4, '3486328125\x00\x00\x00\x00\x00\x00' + WORD $0x31383233 // .asciz 4, '328125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000007 // .long 7 + WORD $0x36333539 // .asciz 4, '95367431640625\x00\x00' + WORD $0x31333437 // .asciz 4, '7431640625\x00\x00\x00\x00\x00\x00' + WORD $0x36303436 // .asciz 4, '640625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000007 // .long 7 + WORD $0x38363734 // .asciz 4, '476837158203125\x00' + WORD $0x35313733 // .asciz 4, '37158203125\x00\x00\x00\x00\x00' + WORD $0x33303238 // .asciz 4, '8203125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000007 // .long 7 + WORD $0x34383332 // .asciz 4, '2384185791015625' + WORD $0x37353831 // .asciz 4, '185791015625\x00\x00\x00\x00' + WORD $0x31303139 // .asciz 4, '91015625\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323635 // .asciz 4, '5625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000007 // .long 7 + WORD $0x32393131 // .asciz 4, '1192092895507812' + WORD $0x38323930 // .asciz 4, '0928955078125\x00\x00\x00' + WORD $0x30353539 // .asciz 4, '955078125\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32313837 // .asciz 4, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000008 // .long 8 + WORD $0x30363935 // .asciz 4, '5960464477539062' + WORD $0x34343634 // .asciz 4, '4644775390625\x00\x00\x00' + WORD $0x33353737 // .asciz 4, '775390625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363039 // .asciz 4, '90625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000008 // .long 8 + WORD $0x30383932 // .asciz 4, '2980232238769531' + WORD $0x32323332 // .asciz 4, '23223876953125\x00\x00' + WORD $0x36373833 // .asciz 4, '3876953125\x00\x00\x00\x00\x00\x00' + WORD $0x31333539 // .asciz 4, '953125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000008 // .long 8 + WORD $0x30393431 // .asciz 4, '1490116119384765' + WORD $0x31363131 // .asciz 4, '116119384765625\x00' + WORD $0x38333931 // .asciz 4, '19384765625\x00\x00\x00\x00\x00' + WORD $0x35363734 // .asciz 4, '4765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000009 // .long 9 + WORD $0x30353437 // .asciz 4, '7450580596923828' + WORD $0x35303835 // .asciz 4, '580596923828125\x00' + WORD $0x32393639 // .asciz 4, '96923828125\x00\x00\x00\x00\x00' + WORD $0x38323833 // .asciz 4, '3828125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000009 // .long 9 + WORD $0x35323733 // .asciz 4, '3725290298461914' + WORD $0x32303932 // .asciz 4, '2902984619140625' + WORD $0x36343839 // .asciz 4, '984619140625\x00\x00\x00\x00' + WORD $0x34313931 // .asciz 4, '19140625\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323630 // .asciz 4, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000009 // .long 9 + WORD $0x32363831 // .asciz 4, '1862645149230957' + WORD $0x31353436 // .asciz 4, '6451492309570312' + WORD $0x33323934 // .asciz 4, '4923095703125\x00\x00\x00' + WORD $0x37353930 // .asciz 4, '095703125\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32313330 // .asciz 4, '03125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000a // .long 10 + WORD $0x33313339 // .asciz 4, '9313225746154785' + WORD $0x37353232 // .asciz 4, '2257461547851562' + WORD $0x35313634 // .asciz 4, '4615478515625\x00\x00\x00' + WORD $0x35383734 // .asciz 4, '478515625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363531 // .asciz 4, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000a // .long 10 + WORD $0x36353634 // .asciz 4, '4656612873077392' + WORD $0x38323136 // .asciz 4, '6128730773925781' + WORD $0x37303337 // .asciz 4, '73077392578125\x00\x00' + WORD $0x32393337 // .asciz 4, '7392578125\x00\x00\x00\x00\x00\x00' + WORD $0x31383735 // .asciz 4, '578125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000a // .long 10 + WORD $0x38323332 // .asciz 4, '2328306436538696' + WORD $0x34363033 // .asciz 4, '3064365386962890' + WORD $0x33353633 // .asciz 4, '365386962890625\x00' + WORD $0x36393638 // .asciz 4, '86962890625\x00\x00\x00\x00\x00' + WORD $0x30393832 // .asciz 4, '2890625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000a // .long 10 + WORD $0x34363131 // .asciz 4, '1164153218269348' + WORD $0x32333531 // .asciz 4, '1532182693481445' + WORD $0x36323831 // .asciz 4, '1826934814453125' + WORD $0x38343339 // .asciz 4, '934814453125\x00\x00\x00\x00' + WORD $0x35343431 // .asciz 4, '14453125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323133 // .asciz 4, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000b // .long 11 + WORD $0x30323835 // .asciz 4, '5820766091346740' + WORD $0x30363637 // .asciz 4, '7660913467407226' + WORD $0x34333139 // .asciz 4, '9134674072265625' + WORD $0x30343736 // .asciz 4, '674072265625\x00\x00\x00\x00' + WORD $0x36323237 // .asciz 4, '72265625\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323635 // .asciz 4, '5625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000b // .long 11 + WORD $0x30313932 // .asciz 4, '2910383045673370' + WORD $0x30333833 // .asciz 4, '3830456733703613' + WORD $0x37363534 // .asciz 4, '4567337036132812' + WORD $0x30373333 // .asciz 4, '3370361328125\x00\x00\x00' + WORD $0x33313633 // .asciz 4, '361328125\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32313832 // .asciz 4, '28125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000b // .long 11 + WORD $0x35353431 // .asciz 4, '1455191522836685' + WORD $0x35313931 // .asciz 4, '1915228366851806' + WORD $0x33383232 // .asciz 4, '2283668518066406' + WORD $0x35383636 // .asciz 4, '66851806640625\x00\x00' + WORD $0x36303831 // .asciz 4, '1806640625\x00\x00\x00\x00\x00\x00' + WORD $0x36303436 // .asciz 4, '640625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000c // .long 12 + WORD $0x35373237 // .asciz 4, '7275957614183425' + WORD $0x36373539 // .asciz 4, '9576141834259033' + WORD $0x38313431 // .asciz 4, '1418342590332031' + WORD $0x35323433 // .asciz 4, '34259033203125\x00\x00' + WORD $0x33333039 // .asciz 4, '9033203125\x00\x00\x00\x00\x00\x00' + WORD $0x31333032 // .asciz 4, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000c // .long 12 + WORD $0x37333633 // .asciz 4, '3637978807091712' + WORD $0x38383739 // .asciz 4, '9788070917129516' + WORD $0x39303730 // .asciz 4, '0709171295166015' + WORD $0x32313731 // .asciz 4, '171295166015625\x00' + WORD $0x36313539 // .asciz 4, '95166015625\x00\x00\x00\x00\x00' + WORD $0x35313036 // .asciz 4, '6015625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000c // .long 12 + WORD $0x38313831 // .asciz 4, '1818989403545856' + WORD $0x34393839 // .asciz 4, '9894035458564758' + WORD $0x34353330 // .asciz 4, '0354585647583007' + WORD $0x36353835 // .asciz 4, '5856475830078125' + WORD $0x38353734 // .asciz 4, '475830078125\x00\x00\x00\x00' + WORD $0x37303033 // .asciz 4, '30078125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323138 // .asciz 4, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000d // .long 13 + WORD $0x34393039 // .asciz 4, '9094947017729282' + WORD $0x30373439 // .asciz 4, '9470177292823791' + WORD $0x32373731 // .asciz 4, '1772928237915039' + WORD $0x32383239 // .asciz 4, '9282379150390625' + WORD $0x31393733 // .asciz 4, '379150390625\x00\x00\x00\x00' + WORD $0x39333035 // .asciz 4, '50390625\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323630 // .asciz 4, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000d // .long 13 + WORD $0x37343534 // .asciz 4, '4547473508864641' + WORD $0x35333734 // .asciz 4, '4735088646411895' + WORD $0x36383830 // .asciz 4, '0886464118957519' + WORD $0x31343634 // .asciz 4, '4641189575195312' + WORD $0x35393831 // .asciz 4, '1895751953125\x00\x00\x00' + WORD $0x39313537 // .asciz 4, '751953125\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32313335 // .asciz 4, '53125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000d // .long 13 + WORD $0x33373232 // .asciz 4, '2273736754432320' + WORD $0x37363337 // .asciz 4, '7367544323205947' + WORD $0x33343435 // .asciz 4, '5443232059478759' + WORD $0x30323332 // .asciz 4, '2320594787597656' + WORD $0x37343935 // .asciz 4, '59478759765625\x00\x00' + WORD $0x39353738 // .asciz 4, '8759765625\x00\x00\x00\x00\x00\x00' + WORD $0x36353637 // .asciz 4, '765625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000d // .long 13 + WORD $0x36333131 // .asciz 4, '1136868377216160' + WORD $0x33383638 // .asciz 4, '8683772161602973' + WORD $0x31323737 // .asciz 4, '7721616029739379' + WORD $0x30363136 // .asciz 4, '6160297393798828' + WORD $0x33373932 // .asciz 4, '297393798828125\x00' + WORD $0x39373339 // .asciz 4, '93798828125\x00\x00\x00\x00\x00' + WORD $0x38323838 // .asciz 4, '8828125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000e // .long 14 + WORD $0x34383635 // .asciz 4, '5684341886080801' + WORD $0x38313433 // .asciz 4, '3418860808014869' + WORD $0x38303638 // .asciz 4, '8608080148696899' + WORD $0x31303830 // .asciz 4, '0801486968994140' + WORD $0x39363834 // .asciz 4, '486968994140625\x00' + WORD $0x39393836 // .asciz 4, '68994140625\x00\x00\x00\x00\x00' + WORD $0x30343134 // .asciz 4, '4140625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000e // .long 14 + WORD $0x32343832 // .asciz 4, '2842170943040400' + WORD $0x39303731 // .asciz 4, '1709430404007434' + WORD $0x34303334 // .asciz 4, '4304040074348449' + WORD $0x30303430 // .asciz 4, '0400743484497070' + WORD $0x34333437 // .asciz 4, '7434844970703125' + WORD $0x39343438 // .asciz 4, '844970703125\x00\x00\x00\x00' + WORD $0x30373037 // .asciz 4, '70703125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323133 // .asciz 4, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000e // .long 14 + WORD $0x31323431 // .asciz 4, '1421085471520200' + WORD $0x34353830 // .asciz 4, '0854715202003717' + WORD $0x32353137 // .asciz 4, '7152020037174224' + WORD $0x30303230 // .asciz 4, '0200371742248535' + WORD $0x37313733 // .asciz 4, '3717422485351562' + WORD $0x34323234 // .asciz 4, '4224853515625\x00\x00\x00' + WORD $0x35333538 // .asciz 4, '853515625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363531 // .asciz 4, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000f // .long 15 + WORD $0x35303137 // .asciz 4, '7105427357601001' + WORD $0x33373234 // .asciz 4, '4273576010018587' + WORD $0x30363735 // .asciz 4, '5760100185871124' + WORD $0x31303031 // .asciz 4, '1001858711242675' + WORD $0x37383538 // .asciz 4, '8587112426757812' + WORD $0x34323131 // .asciz 4, '1124267578125\x00\x00\x00' + WORD $0x35373632 // .asciz 4, '267578125\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32313837 // .asciz 4, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000f // .long 15 + WORD $0x32353533 // .asciz 4, '3552713678800500' + WORD $0x36333137 // .asciz 4, '7136788005009293' + WORD $0x30383837 // .asciz 4, '7880050092935562' + WORD $0x30303530 // .asciz 4, '0500929355621337' + WORD $0x33393239 // .asciz 4, '9293556213378906' + WORD $0x32363535 // .asciz 4, '55621337890625\x00\x00' + WORD $0x37333331 // .asciz 4, '1337890625\x00\x00\x00\x00\x00\x00' + WORD $0x36303938 // .asciz 4, '890625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000f // .long 15 + WORD $0x36373731 // .asciz 4, '1776356839400250' + WORD $0x38363533 // .asciz 4, '3568394002504646' + WORD $0x30343933 // .asciz 4, '3940025046467781' + WORD $0x30353230 // .asciz 4, '0250464677810668' + WORD $0x36343634 // .asciz 4, '4646778106689453' + WORD $0x31383737 // .asciz 4, '778106689453125\x00' + WORD $0x38363630 // .asciz 4, '06689453125\x00\x00\x00\x00\x00' + WORD $0x33353439 // .asciz 4, '9453125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000010 // .long 16 + WORD $0x31383838 // .asciz 4, '8881784197001252' + WORD $0x31343837 // .asciz 4, '7841970012523233' + WORD $0x30303739 // .asciz 4, '9700125232338905' + WORD $0x32353231 // .asciz 4, '1252323389053344' + WORD $0x33333233 // .asciz 4, '3233890533447265' + WORD $0x35303938 // .asciz 4, '890533447265625\x00' + WORD $0x34343333 // .asciz 4, '33447265625\x00\x00\x00\x00\x00' + WORD $0x35363237 // .asciz 4, '7265625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000010 // .long 16 + WORD $0x30343434 // .asciz 4, '4440892098500626' + WORD $0x30323938 // .asciz 4, '8920985006261616' + WORD $0x30353839 // .asciz 4, '9850062616169452' + WORD $0x36323630 // .asciz 4, '0626161694526672' + WORD $0x36313631 // .asciz 4, '1616945266723632' + WORD $0x32353439 // .asciz 4, '9452667236328125' + WORD $0x32373636 // .asciz 4, '667236328125\x00\x00\x00\x00' + WORD $0x32333633 // .asciz 4, '36328125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323138 // .asciz 4, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000010 // .long 16 + WORD $0x30323232 // .asciz 4, '2220446049250313' + WORD $0x30363434 // .asciz 4, '4460492503130808' + WORD $0x35323934 // .asciz 4, '4925031308084726' + WORD $0x33313330 // .asciz 4, '0313080847263336' + WORD $0x38303830 // .asciz 4, '0808472633361816' + WORD $0x36323734 // .asciz 4, '4726333618164062' + WORD $0x36333333 // .asciz 4, '3336181640625\x00\x00\x00' + WORD $0x36313831 // .asciz 4, '181640625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363034 // .asciz 4, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000010 // .long 16 + WORD $0x30313131 // .asciz 4, '1110223024625156' + WORD $0x30333232 // .asciz 4, '2230246251565404' + WORD $0x32363432 // .asciz 4, '2462515654042363' + WORD $0x36353135 // .asciz 4, '5156540423631668' + WORD $0x34303435 // .asciz 4, '5404236316680908' + WORD $0x33363332 // .asciz 4, '2363166809082031' + WORD $0x38363631 // .asciz 4, '16680908203125\x00\x00' + WORD $0x38303930 // .asciz 4, '0908203125\x00\x00\x00\x00\x00\x00' + WORD $0x31333032 // .asciz 4, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000011 // .long 17 + WORD $0x31353535 // .asciz 4, '5551115123125782' + WORD $0x31353131 // .asciz 4, '1151231257827021' + WORD $0x32313332 // .asciz 4, '2312578270211815' + WORD $0x32383735 // .asciz 4, '5782702118158340' + WORD $0x31323037 // .asciz 4, '7021181583404541' + WORD $0x35313831 // .asciz 4, '1815834045410156' + WORD $0x30343338 // .asciz 4, '83404541015625\x00\x00' + WORD $0x31343534 // .asciz 4, '4541015625\x00\x00\x00\x00\x00\x00' + WORD $0x36353130 // .asciz 4, '015625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000011 // .long 17 + WORD $0x35373732 // .asciz 4, '2775557561562891' + WORD $0x35373535 // .asciz 4, '5575615628913510' + WORD $0x36353136 // .asciz 4, '6156289135105907' + WORD $0x31393832 // .asciz 4, '2891351059079170' + WORD $0x30313533 // .asciz 4, '3510590791702270' + WORD $0x37303935 // .asciz 4, '5907917022705078' + WORD $0x30373139 // .asciz 4, '917022705078125\x00' + WORD $0x30373232 // .asciz 4, '22705078125\x00\x00\x00\x00\x00' + WORD $0x38373035 // .asciz 4, '5078125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000011 // .long 17 + WORD $0x37383331 // .asciz 4, '1387778780781445' + WORD $0x37383737 // .asciz 4, '7787807814456755' + WORD $0x38373038 // .asciz 4, '8078144567552953' + WORD $0x35343431 // .asciz 4, '1445675529539585' + WORD $0x35353736 // .asciz 4, '6755295395851135' + WORD $0x33353932 // .asciz 4, '2953958511352539' + WORD $0x35383539 // .asciz 4, '9585113525390625' + WORD $0x35333131 // .asciz 4, '113525390625\x00\x00\x00\x00' + WORD $0x39333532 // .asciz 4, '25390625\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323630 // .asciz 4, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000012 // .long 18 + WORD $0x38333936 // .asciz 4, '6938893903907228' + WORD $0x39333938 // .asciz 4, '8939039072283776' + WORD $0x30393330 // .asciz 4, '0390722837764769' + WORD $0x38323237 // .asciz 4, '7228377647697925' + WORD $0x36373733 // .asciz 4, '3776476979255676' + WORD $0x39363734 // .asciz 4, '4769792556762695' + WORD $0x35323937 // .asciz 4, '7925567626953125' + WORD $0x36373635 // .asciz 4, '567626953125\x00\x00\x00\x00' + WORD $0x35393632 // .asciz 4, '26953125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323133 // .asciz 4, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000012 // .long 18 + WORD $0x39363433 // .asciz 4, '3469446951953614' + WORD $0x39363434 // .asciz 4, '4469519536141888' + WORD $0x35393135 // .asciz 4, '5195361418882384' + WORD $0x34313633 // .asciz 4, '3614188823848962' + WORD $0x38383831 // .asciz 4, '1888238489627838' + WORD $0x34383332 // .asciz 4, '2384896278381347' + WORD $0x32363938 // .asciz 4, '8962783813476562' + WORD $0x38333837 // .asciz 4, '7838134765625\x00\x00\x00' + WORD $0x37343331 // .asciz 4, '134765625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363536 // .asciz 4, '65625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000012 // .long 18 + WORD $0x34333731 // .asciz 4, '1734723475976807' + WORD $0x34333237 // .asciz 4, '7234759768070944' + WORD $0x37393537 // .asciz 4, '7597680709441192' + WORD $0x37303836 // .asciz 4, '6807094411924481' + WORD $0x34343930 // .asciz 4, '0944119244813919' + WORD $0x32393131 // .asciz 4, '1192448139190673' + WORD $0x31383434 // .asciz 4, '4481391906738281' + WORD $0x39313933 // .asciz 4, '39190673828125\x00\x00' + WORD $0x33373630 // .asciz 4, '0673828125\x00\x00\x00\x00\x00\x00' + WORD $0x31383238 // .asciz 4, '828125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000013 // .long 19 + WORD $0x33373638 // .asciz 4, '8673617379884035' + WORD $0x33373136 // .asciz 4, '6173798840354720' + WORD $0x38383937 // .asciz 4, '7988403547205962' + WORD $0x35333034 // .asciz 4, '4035472059622406' + WORD $0x30323734 // .asciz 4, '4720596224069595' + WORD $0x32363935 // .asciz 4, '5962240695953369' + WORD $0x36303432 // .asciz 4, '2406959533691406' + WORD $0x35393539 // .asciz 4, '95953369140625\x00\x00' + WORD $0x39363333 // .asciz 4, '3369140625\x00\x00\x00\x00\x00\x00' + WORD $0x36303431 // .asciz 4, '140625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + +TEXT ·__value(SB), NOSPLIT, $0-48 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $176, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_value: + MOVD s+0(FP), R0 + MOVD n+8(FP), R1 + MOVD p+16(FP), R2 + MOVD v+24(FP), R3 + MOVD flags+32(FP), R4 + MOVD ·_subr__value(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + MOVD R0, ret+40(FP) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/value_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/value_subr_arm64.go new file mode 100644 index 0000000..df885ed --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/value_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __value_entry__() uintptr + +var ( + _subr__value uintptr = __value_entry__() + 32 +) + +const ( + _stack__value = 112 +) + +var ( + _ = _subr__value +) + +const ( + _ = _stack__value +) diff --git a/vendor/github.com/bytedance/sonic/loader/loader_go115.go b/vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_arm64.go similarity index 62% rename from vendor/github.com/bytedance/sonic/loader/loader_go115.go rename to vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_arm64.go index a1d4d78..8bb2544 100644 --- a/vendor/github.com/bytedance/sonic/loader/loader_go115.go +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_arm64.go @@ -1,5 +1,3 @@ -//go:build go1.15 && !go1.16 -// +build go1.15,!go1.16 /* * Copyright 2021 ByteDance Inc. @@ -17,12 +15,20 @@ * limitations under the License. */ -package loader +package neon import ( - `github.com/bytedance/sonic/internal/loader` + `github.com/bytedance/sonic/internal/native/types` ) -func (self Loader) LoadOne(text []byte, funcName string, frameSize int, argSize int, argStackmap []bool, localStackmap []bool) Function { - return Function(loader.Loader(text).Load(funcName, frameSize, argSize, argStackmap, localStackmap)) -} \ No newline at end of file +//go:nosplit +func vnumber(s *string, p *int, v *types.JsonState) { + __vnumber(s, p, v) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __vnumber(s *string, p *int, v *types.JsonState) + + diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_arm64.s new file mode 100644 index 0000000..7d7a8a2 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_arm64.s @@ -0,0 +1,4690 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__vnumber_entry__(SB), NOSPLIT, $96 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 2, 0x00 +_vnumber: + WORD $0xd101c3ff // sub sp, sp, #112 + WORD $0xa900effc // stp x28, x27, [sp, #8] + WORD $0xa901e7fa // stp x26, x25, [sp, #24] + WORD $0xa902dff8 // stp x24, x23, [sp, #40] + WORD $0xa903d7f6 // stp x22, x21, [sp, #56] + WORD $0xa904cff4 // stp x20, x19, [sp, #72] + WORD $0xa905fbfd // stp fp, lr, [sp, #88] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xf9400031 // ldr x17, [x1] + WORD $0xa940200b // ldp x11, x8, [x0] + WORD $0xa9422849 // ldp x9, x10, [x2, #32] + WORD $0x5280012c // mov w12, #9 + WORD $0xa900fc5f // stp xzr, xzr, [x2, #8] + WORD $0xf900004c // str x12, [x2] + WORD $0xf940002c // ldr x12, [x1] + WORD $0xf9000c4c // str x12, [x2, #24] + WORD $0xeb08023f // cmp x17, x8 + WORD $0x54001462 // b.hs LBB0_47 $652(%rip) + WORD $0x3871696c // ldrb w12, [x11, x17] + WORD $0x7100b59f // cmp w12, #45 + WORD $0x540005e1 // b.ne LBB0_10 $188(%rip) + WORD $0x91000631 // add x17, x17, #1 + WORD $0xeb08023f // cmp x17, x8 + WORD $0x540013a2 // b.hs LBB0_47 $628(%rip) + WORD $0x3871696d // ldrb w13, [x11, x17] + WORD $0x1280000e // mov w14, #-1 + WORD $0x5100e9af // sub w15, w13, #58 + WORD $0x31002dff // cmn w15, #11 + WORD $0x54000589 // b.ls LBB0_11 $176(%rip) +LBB0_4: + WORD $0x7100c1bf // cmp w13, #48 + WORD $0x54000181 // b.ne LBB0_6 $48(%rip) + WORD $0x8b11016d // add x13, x11, x17 + WORD $0x394005ad // ldrb w13, [x13, #1] + WORD $0x5100b9ad // sub w13, w13, #46 + WORD $0x7100ddbf // cmp w13, #55 + WORD $0x5280002f // mov w15, #1 + WORD $0x9acd21ed // lsl x13, x15, x13 + WORD $0xb20903ef // mov x15, #36028797027352576 + WORD $0xf280002f // movk x15, #1 + WORD $0x8a0f01ad // and x13, x13, x15 + WORD $0xfa4099a4 // ccmp x13, #0, #4, ls + WORD $0x54000da0 // b.eq LBB0_38 $436(%rip) +LBB0_6: + WORD $0xd280000d // mov x13, #0 + WORD $0x52800003 // mov w3, #0 + WORD $0x52800010 // mov w16, #0 + WORD $0x5280014f // mov w15, #10 +LBB0_7: + WORD $0x38716964 // ldrb w4, [x11, x17] + WORD $0x5100c080 // sub w0, w4, #48 + WORD $0x7100241f // cmp w0, #9 + WORD $0x54000348 // b.hi LBB0_13 $104(%rip) + WORD $0x71004c7f // cmp w3, #19 + WORD $0x9b0f7da4 // mul x4, x13, x15 + WORD $0x8b200080 // add x0, x4, w0, uxtb + WORD $0x1a832464 // cinc w4, w3, lo + WORD $0x7100487f // cmp w3, #18 + WORD $0x1a909610 // cinc w16, w16, hi + WORD $0xaa0403e3 // mov x3, x4 + WORD $0x9a8081ad // csel x13, x13, x0, hi + WORD $0x91000631 // add x17, x17, #1 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x54fffe41 // b.ne LBB0_7 $-56(%rip) + WORD $0x52800020 // mov w0, #1 + WORD $0xaa0803f1 // mov x17, x8 + WORD $0x7100021f // cmp w16, #0 + WORD $0x1a9fd7ef // cset w15, gt + WORD $0xb400038d // cbz x13, LBB0_18 $112(%rip) + WORD $0x1400002d // b LBB0_26 $180(%rip) +LBB0_10: + WORD $0x5280002e // mov w14, #1 + WORD $0xaa0c03ed // mov x13, x12 + WORD $0x5100e9af // sub w15, w13, #58 + WORD $0x31002dff // cmn w15, #11 + WORD $0x54fffac8 // b.hi LBB0_4 $-168(%rip) +LBB0_11: + WORD $0xf9000031 // str x17, [x1] +LBB0_12: + WORD $0x92800028 // mov x8, #-2 + WORD $0x1400006c // b LBB0_48 $432(%rip) +LBB0_13: + WORD $0x7100b89f // cmp w4, #46 + WORD $0x540001a1 // b.ne LBB0_17 $52(%rip) + WORD $0x9100062f // add x15, x17, #1 + WORD $0x52800100 // mov w0, #8 + WORD $0xf9000040 // str x0, [x2] + WORD $0xeb0801ff // cmp x15, x8 + WORD $0x54000c62 // b.hs LBB0_47 $396(%rip) + WORD $0x8b110171 // add x17, x11, x17 + WORD $0x39400631 // ldrb w17, [x17, #1] + WORD $0x5100ea31 // sub w17, w17, #58 + WORD $0x31002e3f // cmn w17, #11 + WORD $0x54000848 // b.hi LBB0_39 $264(%rip) + WORD $0xf900002f // str x15, [x1] + WORD $0x17fffff1 // b LBB0_12 $-60(%rip) +LBB0_17: + WORD $0x52800020 // mov w0, #1 + WORD $0x7100021f // cmp w16, #0 + WORD $0x1a9fd7ef // cset w15, gt + WORD $0xb500026d // cbnz x13, LBB0_26 $76(%rip) +LBB0_18: + WORD $0x35000250 // cbnz w16, LBB0_26 $72(%rip) + WORD $0xeb08023f // cmp x17, x8 + WORD $0x540001a2 // b.hs LBB0_24 $52(%rip) + WORD $0x52800010 // mov w16, #0 + WORD $0x4b080223 // sub w3, w17, w8 +LBB0_21: + WORD $0x3871696d // ldrb w13, [x11, x17] + WORD $0x7100c1bf // cmp w13, #48 + WORD $0x54000121 // b.ne LBB0_25 $36(%rip) + WORD $0x91000631 // add x17, x17, #1 + WORD $0x51000610 // sub w16, w16, #1 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x54ffff41 // b.ne LBB0_21 $-24(%rip) + WORD $0xd280000d // mov x13, #0 + WORD $0x35000b00 // cbnz w0, LBB0_51 $352(%rip) + WORD $0x14000060 // b LBB0_55 $384(%rip) +LBB0_24: + WORD $0x52800010 // mov w16, #0 +LBB0_25: + WORD $0x52800003 // mov w3, #0 + WORD $0xd280000d // mov x13, #0 +LBB0_26: + WORD $0xeb08023f // cmp x17, x8 + WORD $0x54000242 // b.hs LBB0_32 $72(%rip) + WORD $0x7100487f // cmp w3, #18 + WORD $0x5400020c // b.gt LBB0_32 $64(%rip) + WORD $0x52800144 // mov w4, #10 +LBB0_29: + WORD $0x38716965 // ldrb w5, [x11, x17] + WORD $0x5100c0a5 // sub w5, w5, #48 + WORD $0x710024bf // cmp w5, #9 + WORD $0x54000168 // b.hi LBB0_32 $44(%rip) + WORD $0x9b047dad // mul x13, x13, x4 + WORD $0x8b2501ad // add x13, x13, w5, uxtb + WORD $0x51000610 // sub w16, w16, #1 + WORD $0x91000631 // add x17, x17, #1 + WORD $0xeb08023f // cmp x17, x8 + WORD $0x540000a2 // b.hs LBB0_32 $20(%rip) + WORD $0x11000465 // add w5, w3, #1 + WORD $0x7100487f // cmp w3, #18 + WORD $0xaa0503e3 // mov x3, x5 + WORD $0x54fffe6b // b.lt LBB0_29 $-52(%rip) +LBB0_32: + WORD $0xeb08023f // cmp x17, x8 + WORD $0x54000782 // b.hs LBB0_50 $240(%rip) + WORD $0x38716963 // ldrb w3, [x11, x17] + WORD $0x5100c064 // sub w4, w3, #48 + WORD $0x7100249f // cmp w4, #9 + WORD $0x54000308 // b.hi LBB0_41 $96(%rip) + WORD $0x91000631 // add x17, x17, #1 + WORD $0xeb08023f // cmp x17, x8 + WORD $0x54000100 // b.eq LBB0_37 $32(%rip) +LBB0_35: + WORD $0x38716963 // ldrb w3, [x11, x17] + WORD $0x5100c06f // sub w15, w3, #48 + WORD $0x710025ff // cmp w15, #9 + WORD $0x54000208 // b.hi LBB0_40 $64(%rip) + WORD $0x91000631 // add x17, x17, #1 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x54ffff41 // b.ne LBB0_35 $-24(%rip) +LBB0_37: + WORD $0x5280002f // mov w15, #1 + WORD $0xaa1003e3 // mov x3, x16 + WORD $0x350005c0 // cbnz w0, LBB0_51 $184(%rip) + WORD $0x14000036 // b LBB0_55 $216(%rip) +LBB0_38: + WORD $0x91000628 // add x8, x17, #1 + WORD $0x14000185 // b LBB0_135 $1556(%rip) +LBB0_39: + WORD $0x52800000 // mov w0, #0 + WORD $0xaa0f03f1 // mov x17, x15 + WORD $0x7100021f // cmp w16, #0 + WORD $0x1a9fd7ef // cset w15, gt + WORD $0xb4fff82d // cbz x13, LBB0_18 $-252(%rip) + WORD $0x17ffffd2 // b LBB0_26 $-184(%rip) +LBB0_40: + WORD $0x5280002f // mov w15, #1 +LBB0_41: + WORD $0x321b0063 // orr w3, w3, #0x20 + WORD $0x7101947f // cmp w3, #101 + WORD $0x540003c1 // b.ne LBB0_50 $120(%rip) + WORD $0x91000620 // add x0, x17, #1 + WORD $0x52800103 // mov w3, #8 + WORD $0xf9000043 // str x3, [x2] + WORD $0xeb08001f // cmp x0, x8 + WORD $0x540001c2 // b.hs LBB0_47 $56(%rip) + WORD $0x38606963 // ldrb w3, [x11, x0] + WORD $0x7100b47f // cmp w3, #45 + WORD $0x54000060 // b.eq LBB0_45 $12(%rip) + WORD $0x7100ac7f // cmp w3, #43 + WORD $0x54002841 // b.ne LBB0_117 $1288(%rip) +LBB0_45: + WORD $0x91000a20 // add x0, x17, #2 + WORD $0xeb08001f // cmp x0, x8 + WORD $0x540000c2 // b.hs LBB0_47 $24(%rip) + WORD $0x7100ac7f // cmp w3, #43 + WORD $0x52800031 // mov w17, #1 + WORD $0x5a910631 // cneg w17, w17, ne + WORD $0x38606963 // ldrb w3, [x11, x0] + WORD $0x1400013b // b LBB0_118 $1260(%rip) +LBB0_47: + WORD $0xf9000028 // str x8, [x1] + WORD $0x92800008 // mov x8, #-1 +LBB0_48: + WORD $0xf9000048 // str x8, [x2] +LBB0_49: + WORD $0xa945fbfd // ldp fp, lr, [sp, #88] + WORD $0xa944cff4 // ldp x20, x19, [sp, #72] + WORD $0xa943d7f6 // ldp x22, x21, [sp, #56] + WORD $0xa942dff8 // ldp x24, x23, [sp, #40] + WORD $0xa941e7fa // ldp x26, x25, [sp, #24] + WORD $0xa940effc // ldp x28, x27, [sp, #8] + WORD $0x9101c3ff // add sp, sp, #112 + WORD $0xd65f03c0 // ret +LBB0_50: + WORD $0xaa1003e3 // mov x3, x16 + WORD $0xaa1103e8 // mov x8, x17 + WORD $0x34000140 // cbz w0, LBB0_55 $40(%rip) +LBB0_51: + WORD $0x350000e3 // cbnz w3, LBB0_54 $28(%rip) + WORD $0x93407dd0 // sxtw x16, w14 + WORD $0xb6f80ead // tbz x13, #63, LBB0_77 $468(%rip) + WORD $0x8a1001b1 // and x17, x13, x16 + WORD $0xd2f00000 // mov x0, #-9223372036854775808 + WORD $0xeb00023f // cmp x17, x0 + WORD $0x54000e20 // b.eq LBB0_77 $452(%rip) +LBB0_54: + WORD $0x52800110 // mov w16, #8 + WORD $0xf9000050 // str x16, [x2] +LBB0_55: + WORD $0xd374fdb0 // lsr x16, x13, #52 + WORD $0xb5000590 // cbnz x16, LBB0_65 $176(%rip) + WORD $0x9e6301a0 // ucvtf d0, x13 + WORD $0x531f7dce // lsr w14, w14, #31 + WORD $0x9e660010 // fmov x16, d0 + WORD $0xaa0efe0e // orr x14, x16, x14, lsl #63 + WORD $0x9e6701c0 // fmov d0, x14 + WORD $0xb400284d // cbz x13, LBB0_132 $1288(%rip) + WORD $0x34002823 // cbz w3, LBB0_132 $1284(%rip) + WORD $0x5100046e // sub w14, w3, #1 + WORD $0x710091df // cmp w14, #36 + WORD $0x54000348 // b.hi LBB0_63 $104(%rip) + WORD $0xaa0303ee // mov x14, x3 + WORD $0x71005c7f // cmp w3, #23 + WORD $0x540000e3 // b.lo LBB0_61 $28(%rip) + WORD $0x5100586e // sub w14, w3, #22 +Lloh0: + WORD $0x10009210 // adr x16, _P10_TAB $4672(%rip) +Lloh1: + WORD $0x91000210 // add x16, x16, _P10_TAB@PAGEOFF $0(%rip) + WORD $0xfc6e5a01 // ldr d1, [x16, w14, uxtw #3] + WORD $0x1e600820 // fmul d0, d1, d0 + WORD $0x528002ce // mov w14, #22 +LBB0_61: + WORD $0xd2a4c690 // mov x16, #640942080 + WORD $0xf2cd7eb0 // movk x16, #27637, lsl #32 + WORD $0xf2e86190 // movk x16, #17164, lsl #48 + WORD $0x9e670201 // fmov d1, x16 + WORD $0x1e612000 // fcmp d0, d1 + WORD $0xd2a4c690 // mov x16, #640942080 + WORD $0xf2cd7eb0 // movk x16, #27637, lsl #32 + WORD $0xf2f86190 // movk x16, #49932, lsl #48 + WORD $0x9e670201 // fmov d1, x16 + WORD $0x1e61d408 // fccmp d0, d1, #8, le + WORD $0x54000224 // b.mi LBB0_66 $68(%rip) +Lloh2: + WORD $0x10009009 // adr x9, _P10_TAB $4608(%rip) +Lloh3: + WORD $0x91000129 // add x9, x9, _P10_TAB@PAGEOFF $0(%rip) + WORD $0xfc6e5921 // ldr d1, [x9, w14, uxtw #3] + WORD $0x1e610800 // fmul d0, d0, d1 + WORD $0x14000125 // b LBB0_132 $1172(%rip) +LBB0_63: + WORD $0x3100587f // cmn w3, #22 + WORD $0x540000e3 // b.lo LBB0_65 $28(%rip) + WORD $0x4b0303e9 // neg w9, w3 +Lloh4: + WORD $0x10008f0a // adr x10, _P10_TAB $4576(%rip) +Lloh5: + WORD $0x9100014a // add x10, x10, _P10_TAB@PAGEOFF $0(%rip) + WORD $0xfc695941 // ldr d1, [x10, w9, uxtw #3] + WORD $0x1e611800 // fdiv d0, d0, d1 + WORD $0x1400011d // b LBB0_132 $1140(%rip) +LBB0_65: + WORD $0x5105706e // sub w14, w3, #348 + WORD $0x310ae1df // cmn w14, #696 + WORD $0x54000663 // b.lo LBB0_72 $204(%rip) +LBB0_66: + WORD $0xdac011a0 // clz x0, x13 + WORD $0x9ac021a6 // lsl x6, x13, x0 + WORD $0x1105706e // add w14, w3, #348 +Lloh6: + WORD $0x10009370 // adr x16, _POW10_M128_TAB $4716(%rip) +Lloh7: + WORD $0x91000210 // add x16, x16, _POW10_M128_TAB@PAGEOFF $0(%rip) + WORD $0x8b2e520e // add x14, x16, w14, uxtw #4 + WORD $0xf94005d0 // ldr x16, [x14, #8] + WORD $0x9b067e11 // mul x17, x16, x6 + WORD $0x9bc67e04 // umulh x4, x16, x6 + WORD $0x92402085 // and x5, x4, #0x1ff + WORD $0xaa2603e7 // mvn x7, x6 + WORD $0xeb07023f // cmp x17, x7 + WORD $0x540001c9 // b.ls LBB0_70 $56(%rip) + WORD $0xf107fcbf // cmp x5, #511 + WORD $0x54000181 // b.ne LBB0_70 $48(%rip) + WORD $0xf94001c5 // ldr x5, [x14] + WORD $0x9b067cb3 // mul x19, x5, x6 + WORD $0x9bc67ca5 // umulh x5, x5, x6 + WORD $0xab1100b1 // adds x17, x5, x17 + WORD $0x9a843484 // cinc x4, x4, hs + WORD $0x92402085 // and x5, x4, #0x1ff + WORD $0xeb07027f // cmp x19, x7 + WORD $0xba418a20 // ccmn x17, #1, #0, hi + WORD $0x54000061 // b.ne LBB0_70 $12(%rip) + WORD $0xf107fcbf // cmp x5, #511 + WORD $0x54000320 // b.eq LBB0_72 $100(%rip) +LBB0_70: + WORD $0xd37ffc86 // lsr x6, x4, #63 + WORD $0x910024c7 // add x7, x6, #9 + WORD $0x9ac72484 // lsr x4, x4, x7 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0x92400485 // and x5, x4, #0x3 + WORD $0xf100023f // cmp x17, #0 + WORD $0xfa4108a0 // ccmp x5, #1, #0, eq + WORD $0x54000220 // b.eq LBB0_72 $68(%rip) + WORD $0x528a4d51 // mov w17, #21098 + WORD $0x72a00071 // movk w17, #3, lsl #16 + WORD $0x1b117c71 // mul w17, w3, w17 + WORD $0x13107e31 // asr w17, w17, #16 + WORD $0x1110fe31 // add w17, w17, #1087 + WORD $0x93407e31 // sxtw x17, w17 + WORD $0xcb000220 // sub x0, x17, x0 + WORD $0x8b0000c5 // add x5, x6, x0 + WORD $0x92400080 // and x0, x4, #0x1 + WORD $0x8b040000 // add x0, x0, x4 + WORD $0xd376fc03 // lsr x3, x0, #54 + WORD $0xf100007f // cmp x3, #0 + WORD $0x9a8504a4 // cinc x4, x5, ne + WORD $0xd1200085 // sub x5, x4, #2048 + WORD $0xb11ff8bf // cmn x5, #2046 + WORD $0x54001002 // b.hs LBB0_107 $512(%rip) +LBB0_72: + WORD $0xf940002c // ldr x12, [x1] + WORD $0x8b0c016e // add x14, x11, x12 + WORD $0xcb0c010f // sub x15, x8, x12 + WORD $0xb400056a // cbz x10, LBB0_87 $172(%rip) + WORD $0xf100215f // cmp x10, #8 + WORD $0x54000062 // b.hs LBB0_75 $12(%rip) + WORD $0xd280000b // mov x11, #0 + WORD $0x14000022 // b LBB0_85 $136(%rip) +LBB0_75: + WORD $0xf101015f // cmp x10, #64 + WORD $0x54000142 // b.hs LBB0_78 $40(%rip) + WORD $0xd280000b // mov x11, #0 + WORD $0x14000014 // b LBB0_82 $80(%rip) +LBB0_77: + WORD $0x9b107da9 // mul x9, x13, x16 + WORD $0x9e6301a0 // ucvtf d0, x13 + WORD $0x9241020a // and x10, x16, #0x8000000000000000 + WORD $0x9e66000b // fmov x11, d0 + WORD $0xaa0b014a // orr x10, x10, x11 + WORD $0xa900a44a // stp x10, x9, [x2, #8] + WORD $0x140000dd // b LBB0_135 $884(%rip) +LBB0_78: + WORD $0x927ae54b // and x11, x10, #0xffffffffffffffc0 + WORD $0x9100812c // add x12, x9, #32 + WORD $0x6f00e400 // movi.2d v0, #0000000000000000 + WORD $0xaa0b03ed // mov x13, x11 +LBB0_79: + WORD $0xad3f0180 // stp q0, q0, [x12, #-32] + WORD $0xac820180 // stp q0, q0, [x12], #64 + WORD $0xf10101ad // subs x13, x13, #64 + WORD $0x54ffffa1 // b.ne LBB0_79 $-12(%rip) + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x54000240 // b.eq LBB0_87 $72(%rip) + WORD $0xf27d095f // tst x10, #0x38 + WORD $0x54000160 // b.eq LBB0_85 $44(%rip) +LBB0_82: + WORD $0xaa0b03ed // mov x13, x11 + WORD $0x927df14b // and x11, x10, #0xfffffffffffffff8 + WORD $0x8b0d012c // add x12, x9, x13 + WORD $0xcb0b01ad // sub x13, x13, x11 + WORD $0x6f00e400 // movi.2d v0, #0000000000000000 +LBB0_83: + WORD $0xfc008580 // str d0, [x12], #8 + WORD $0xb10021ad // adds x13, x13, #8 + WORD $0x54ffffc1 // b.ne LBB0_83 $-8(%rip) + WORD $0xeb0b015f // cmp x10, x11 + WORD $0x540000c0 // b.eq LBB0_87 $24(%rip) +LBB0_85: + WORD $0x8b0b012c // add x12, x9, x11 + WORD $0xcb0b014b // sub x11, x10, x11 +LBB0_86: + WORD $0x3800159f // strb wzr, [x12], #1 + WORD $0xf100056b // subs x11, x11, #1 + WORD $0x54ffffc1 // b.ne LBB0_86 $-8(%rip) +LBB0_87: + WORD $0x394001cb // ldrb w11, [x14] + WORD $0x7100b57f // cmp w11, #45 + WORD $0x1a9f17f0 // cset w16, eq + WORD $0xeb1001ff // cmp x15, x16 + WORD $0x540015cd // b.le LBB0_130 $696(%rip) + WORD $0x5280000d // mov w13, #0 + WORD $0x5280000c // mov w12, #0 + WORD $0x52800013 // mov w19, #0 + WORD $0x52800011 // mov w17, #0 + WORD $0x14000006 // b LBB0_91 $24(%rip) +LBB0_89: + WORD $0x38236920 // strb w0, [x9, x3] + WORD $0x11000673 // add w19, w19, #1 +LBB0_90: + WORD $0x91000610 // add x16, x16, #1 + WORD $0xeb1001ff // cmp x15, x16 + WORD $0x5400032d // b.le LBB0_100 $100(%rip) +LBB0_91: + WORD $0x387069c0 // ldrb w0, [x14, x16] + WORD $0x5100c003 // sub w3, w0, #48 + WORD $0x7100247f // cmp w3, #9 + WORD $0x54000108 // b.hi LBB0_95 $32(%rip) + WORD $0x7100c01f // cmp w0, #48 + WORD $0x54000161 // b.ne LBB0_97 $44(%rip) + WORD $0x34000213 // cbz w19, LBB0_99 $64(%rip) + WORD $0x93407e63 // sxtw x3, w19 + WORD $0xeb03015f // cmp x10, x3 + WORD $0x54fffe48 // b.hi LBB0_89 $-56(%rip) + WORD $0x17fffff3 // b LBB0_90 $-52(%rip) +LBB0_95: + WORD $0x7100b81f // cmp w0, #46 + WORD $0x540001e1 // b.ne LBB0_101 $60(%rip) + WORD $0x5280002d // mov w13, #1 + WORD $0xaa1303f1 // mov x17, x19 + WORD $0x17ffffee // b LBB0_90 $-72(%rip) +LBB0_97: + WORD $0xaa1303e3 // mov x3, x19 + WORD $0x93407e63 // sxtw x3, w19 + WORD $0xeb03015f // cmp x10, x3 + WORD $0x54fffd08 // b.hi LBB0_89 $-96(%rip) + WORD $0x5280002c // mov w12, #1 + WORD $0x17ffffe8 // b LBB0_90 $-96(%rip) +LBB0_99: + WORD $0x51000631 // sub w17, w17, #1 + WORD $0x17ffffe6 // b LBB0_90 $-104(%rip) +LBB0_100: + WORD $0x710001bf // cmp w13, #0 + WORD $0x1a91026d // csel w13, w19, w17, eq + WORD $0x14000081 // b LBB0_126 $516(%rip) +LBB0_101: + WORD $0x710001bf // cmp w13, #0 + WORD $0x1a91026d // csel w13, w19, w17, eq + WORD $0x387069d1 // ldrb w17, [x14, x16] + WORD $0x321b0231 // orr w17, w17, #0x20 + WORD $0x7101963f // cmp w17, #101 + WORD $0x54000f61 // b.ne LBB0_126 $492(%rip) + WORD $0x91000611 // add x17, x16, #1 + WORD $0x387149c0 // ldrb w0, [x14, w17, uxtw] + WORD $0x11000a03 // add w3, w16, #2 + WORD $0x52800024 // mov w4, #1 + WORD $0x11000a10 // add w16, w16, #2 + WORD $0x12800005 // mov w5, #-1 + WORD $0x52800026 // mov w6, #1 + WORD $0x7100b41f // cmp w0, #45 + WORD $0x1a910210 // csel w16, w16, w17, eq + WORD $0x1a8600b1 // csel w17, w5, w6, eq + WORD $0x7100ac1f // cmp w0, #43 + WORD $0x1a900060 // csel w0, w3, w16, eq + WORD $0x1a910090 // csel w16, w4, w17, eq + WORD $0x93407c00 // sxtw x0, w0 + WORD $0xeb0001ff // cmp x15, x0 + WORD $0x54000d2d // b.le LBB0_124 $420(%rip) + WORD $0x52800011 // mov w17, #0 + WORD $0x5284e1e3 // mov w3, #9999 + WORD $0x52800144 // mov w4, #10 +LBB0_104: + WORD $0x38e069c5 // ldrsb w5, [x14, x0] + WORD $0x7100c0bf // cmp w5, #48 + WORD $0x54000c8b // b.lt LBB0_125 $400(%rip) + WORD $0x12001ca5 // and w5, w5, #0xff + WORD $0x7100e4bf // cmp w5, #57 + WORD $0x7a439220 // ccmp w17, w3, #0, ls + WORD $0x54000c0c // b.gt LBB0_125 $384(%rip) + WORD $0x1b047e31 // mul w17, w17, w4 + WORD $0x5100c0a5 // sub w5, w5, #48 + WORD $0x0b250231 // add w17, w17, w5, uxtb + WORD $0x91000400 // add x0, x0, #1 + WORD $0xeb0001ff // cmp x15, x0 + WORD $0x54fffe8c // b.gt LBB0_104 $-48(%rip) + WORD $0x14000059 // b LBB0_125 $356(%rip) +LBB0_107: + WORD $0xd1000484 // sub x4, x4, #1 + WORD $0xf100007f // cmp x3, #0 + WORD $0x52800023 // mov w3, #1 + WORD $0x9a830463 // cinc x3, x3, ne + WORD $0x9ac32400 // lsr x0, x0, x3 + WORD $0xb34c2c80 // bfi x0, x4, #52, #12 + WORD $0xb2410003 // orr x3, x0, #0x8000000000000000 + WORD $0x7100b59f // cmp w12, #45 + WORD $0x9a800060 // csel x0, x3, x0, eq + WORD $0x9e670000 // fmov d0, x0 + WORD $0x34000bcf // cbz w15, LBB0_132 $376(%rip) + WORD $0x910005af // add x15, x13, #1 + WORD $0xdac011ed // clz x13, x15 + WORD $0x9acd21e3 // lsl x3, x15, x13 + WORD $0x9b037e0f // mul x15, x16, x3 + WORD $0x9bc37e10 // umulh x16, x16, x3 + WORD $0x92402200 // and x0, x16, #0x1ff + WORD $0xaa2303e4 // mvn x4, x3 + WORD $0xeb0401ff // cmp x15, x4 + WORD $0x540001e9 // b.ls LBB0_113 $60(%rip) + WORD $0xf107fc1f // cmp x0, #511 + WORD $0x540001a1 // b.ne LBB0_113 $52(%rip) + WORD $0xf94001ce // ldr x14, [x14] + WORD $0x9b037dc5 // mul x5, x14, x3 + WORD $0x9bc37dce // umulh x14, x14, x3 + WORD $0xab0f01cf // adds x15, x14, x15 + WORD $0x9a903610 // cinc x16, x16, hs + WORD $0x92402200 // and x0, x16, #0x1ff + WORD $0xeb0400bf // cmp x5, x4 + WORD $0x540000a9 // b.ls LBB0_113 $20(%rip) + WORD $0xb10005ff // cmn x15, #1 + WORD $0x54000061 // b.ne LBB0_113 $12(%rip) + WORD $0xf107fc1f // cmp x0, #511 + WORD $0x54ffec00 // b.eq LBB0_72 $-640(%rip) +LBB0_113: + WORD $0xd37ffe0e // lsr x14, x16, #63 + WORD $0x910025c3 // add x3, x14, #9 + WORD $0x9ac32610 // lsr x16, x16, x3 + WORD $0xaa0f000f // orr x15, x0, x15 + WORD $0xb500008f // cbnz x15, LBB0_115 $16(%rip) + WORD $0x9240060f // and x15, x16, #0x3 + WORD $0xf10005ff // cmp x15, #1 + WORD $0x54ffeb00 // b.eq LBB0_72 $-672(%rip) +LBB0_115: + WORD $0xcb0d022d // sub x13, x17, x13 + WORD $0x8b0d01cf // add x15, x14, x13 + WORD $0x9240020d // and x13, x16, #0x1 + WORD $0x8b1001ad // add x13, x13, x16 + WORD $0xd376fdae // lsr x14, x13, #54 + WORD $0xf10001df // cmp x14, #0 + WORD $0x9a8f05ef // cinc x15, x15, ne + WORD $0xd12001f0 // sub x16, x15, #2048 + WORD $0xb11ffa1f // cmn x16, #2046 + WORD $0x54ffe9c3 // b.lo LBB0_72 $-712(%rip) + WORD $0xd10005ef // sub x15, x15, #1 + WORD $0xf10001df // cmp x14, #0 + WORD $0x5280002e // mov w14, #1 + WORD $0x9a8e05ce // cinc x14, x14, ne + WORD $0x9ace25ad // lsr x13, x13, x14 + WORD $0xb34c2ded // bfi x13, x15, #52, #12 + WORD $0xb24101ae // orr x14, x13, #0x8000000000000000 + WORD $0x7100b59f // cmp w12, #45 + WORD $0x9a8d01cc // csel x12, x14, x13, eq + WORD $0x9e670181 // fmov d1, x12 + WORD $0x1e602020 // fcmp d1, d0 + WORD $0x54000520 // b.eq LBB0_132 $164(%rip) + WORD $0x17ffff41 // b LBB0_72 $-764(%rip) +LBB0_117: + WORD $0x52800031 // mov w17, #1 +LBB0_118: + WORD $0x5100e863 // sub w3, w3, #58 + WORD $0x3100287f // cmn w3, #10 + WORD $0x54000062 // b.hs LBB0_120 $12(%rip) + WORD $0xf9000020 // str x0, [x1] + WORD $0x17fffe57 // b LBB0_12 $-1700(%rip) +LBB0_120: + WORD $0x52800003 // mov w3, #0 + WORD $0x52800144 // mov w4, #10 + WORD $0x5284e205 // mov w5, #10000 +LBB0_121: + WORD $0x38606966 // ldrb w6, [x11, x0] + WORD $0x5100c0c6 // sub w6, w6, #48 + WORD $0x710024df // cmp w6, #9 + WORD $0x54001c08 // b.hi LBB0_191 $896(%rip) + WORD $0x1b047c67 // mul w7, w3, w4 + WORD $0x0b2600e6 // add w6, w7, w6, uxtb + WORD $0x6b05007f // cmp w3, w5 + WORD $0x1a83b0c3 // csel w3, w6, w3, lt + WORD $0x91000400 // add x0, x0, #1 + WORD $0xeb00011f // cmp x8, x0 + WORD $0x54fffec1 // b.ne LBB0_121 $-40(%rip) + WORD $0x1b114063 // madd w3, w3, w17, w16 + WORD $0x17fffec9 // b LBB0_55 $-1244(%rip) +LBB0_124: + WORD $0x52800011 // mov w17, #0 +LBB0_125: + WORD $0x1b10362d // madd w13, w17, w16, w13 +LBB0_126: + WORD $0x34000113 // cbz w19, LBB0_130 $32(%rip) + WORD $0x7104d9bf // cmp w13, #310 + WORD $0x5400008d // b.le LBB0_129 $16(%rip) +LBB0_128: + WORD $0xd2800009 // mov x9, #0 + WORD $0xd2effe0a // mov x10, #9218868437227405312 + WORD $0x14000005 // b LBB0_131 $20(%rip) +LBB0_129: + WORD $0x310529bf // cmn w13, #330 + WORD $0x5400024a // b.ge LBB0_136 $72(%rip) +LBB0_130: + WORD $0xd280000a // mov x10, #0 + WORD $0xd2800009 // mov x9, #0 +LBB0_131: + WORD $0xaa0a0129 // orr x9, x9, x10 + WORD $0xb241012a // orr x10, x9, #0x8000000000000000 + WORD $0x7100b57f // cmp w11, #45 + WORD $0x9a890149 // csel x9, x10, x9, eq + WORD $0x9e670120 // fmov d0, x9 +LBB0_132: + WORD $0x9e660009 // fmov x9, d0 + WORD $0x9240f929 // and x9, x9, #0x7fffffffffffffff + WORD $0xd2effe0a // mov x10, #9218868437227405312 + WORD $0xeb0a013f // cmp x9, x10 + WORD $0x54000061 // b.ne LBB0_134 $12(%rip) + WORD $0x928000e9 // mov x9, #-8 + WORD $0xf9000049 // str x9, [x2] +LBB0_134: + WORD $0xfd000440 // str d0, [x2, #8] +LBB0_135: + WORD $0xf9000028 // str x8, [x1] + WORD $0x17fffe9a // b LBB0_49 $-1432(%rip) +LBB0_136: + WORD $0xb201e7ee // mov x14, #-7378697629483820647 + WORD $0xf293334e // movk x14, #39322 + WORD $0xf2e0332e // movk x14, #409, lsl #48 +Lloh8: + WORD $0x1001cb91 // adr x17, _POW_TAB $14704(%rip) +Lloh9: + WORD $0x91000231 // add x17, x17, _POW_TAB@PAGEOFF $0(%rip) + WORD $0x710005bf // cmp w13, #1 + WORD $0x5400170b // b.lt LBB0_192 $736(%rip) + WORD $0x52800010 // mov w16, #0 + WORD $0xd100052f // sub x15, x9, #1 + WORD $0x92800000 // mov x0, #-1 + WORD $0x52800143 // mov w3, #10 + WORD $0x14000005 // b LBB0_140 $20(%rip) +LBB0_138: + WORD $0x34001593 // cbz w19, LBB0_190 $688(%rip) +LBB0_139: + WORD $0x0b100090 // add w16, w4, w16 + WORD $0x710001bf // cmp w13, #0 + WORD $0x5400160d // b.le LBB0_193 $704(%rip) +LBB0_140: + WORD $0x710021bf // cmp w13, #8 + WORD $0x540000a9 // b.ls LBB0_143 $20(%rip) + WORD $0x52800364 // mov w4, #27 + WORD $0x34ffff53 // cbz w19, LBB0_139 $-24(%rip) + WORD $0x12800347 // mov w7, #-27 + WORD $0x14000006 // b LBB0_145 $24(%rip) +LBB0_143: + WORD $0xb86d5a24 // ldr w4, [x17, w13, uxtw #2] + WORD $0x34fffed3 // cbz w19, LBB0_139 $-40(%rip) + WORD $0x4b0403e7 // neg w7, w4 + WORD $0x3100f4ff // cmn w7, #61 + WORD $0x54000469 // b.ls LBB0_154 $140(%rip) +LBB0_145: + WORD $0xd2800014 // mov x20, #0 + WORD $0xd2800006 // mov x6, #0 + WORD $0x4b0703e5 // neg w5, w7 + WORD $0x0ab37e67 // bic w7, w19, w19, asr #31 +LBB0_146: + WORD $0xeb1400ff // cmp x7, x20 + WORD $0x54000c60 // b.eq LBB0_173 $396(%rip) + WORD $0x38b46935 // ldrsb x21, [x9, x20] + WORD $0x9b0354c6 // madd x6, x6, x3, x21 + WORD $0xd100c0c6 // sub x6, x6, #48 + WORD $0x91000694 // add x20, x20, #1 + WORD $0x9ac524d5 // lsr x21, x6, x5 + WORD $0xb4ffff35 // cbz x21, LBB0_146 $-28(%rip) +LBB0_149: + WORD $0x9ac52007 // lsl x7, x0, x5 + WORD $0xaa2703e7 // mvn x7, x7 + WORD $0x6b140273 // subs w19, w19, w20 + WORD $0x54000c4d // b.le LBB0_176 $392(%rip) + WORD $0xaa1303f5 // mov x21, x19 + WORD $0xaa0903f6 // mov x22, x9 +LBB0_151: + WORD $0x9ac524d7 // lsr x23, x6, x5 + WORD $0x8a0700c6 // and x6, x6, x7 + WORD $0x1100c2f7 // add w23, w23, #48 + WORD $0x390002d7 // strb w23, [x22] + WORD $0x38b4cad7 // ldrsb x23, [x22, w20, sxtw] + WORD $0x9b035cc6 // madd x6, x6, x3, x23 + WORD $0xd100c0c6 // sub x6, x6, #48 + WORD $0x910006d6 // add x22, x22, #1 + WORD $0xf10006b5 // subs x21, x21, #1 + WORD $0x54fffee1 // b.ne LBB0_151 $-36(%rip) + WORD $0x14000056 // b LBB0_177 $344(%rip) +LBB0_152: + WORD $0x7100027f // cmp w19, #0 + WORD $0x1a8d03ed // csel w13, wzr, w13, eq +LBB0_153: + WORD $0x1100f0a7 // add w7, w5, #60 + WORD $0x3101e0bf // cmn w5, #120 + WORD $0x54fffbea // b.ge LBB0_145 $-132(%rip) +LBB0_154: + WORD $0xd2800015 // mov x21, #0 + WORD $0xd2800014 // mov x20, #0 + WORD $0xaa0703e5 // mov x5, x7 + WORD $0x0ab37e67 // bic w7, w19, w19, asr #31 + WORD $0xaa0703e6 // mov x6, x7 +LBB0_155: + WORD $0xeb1500ff // cmp x7, x21 + WORD $0x54000140 // b.eq LBB0_158 $40(%rip) + WORD $0x38b56936 // ldrsb x22, [x9, x21] + WORD $0x9b035a94 // madd x20, x20, x3, x22 + WORD $0xd100c294 // sub x20, x20, #48 + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xd37cfe96 // lsr x22, x20, #60 + WORD $0xb4ffff36 // cbz x22, LBB0_155 $-28(%rip) + WORD $0xaa1403e7 // mov x7, x20 + WORD $0xaa1503e6 // mov x6, x21 + WORD $0x14000008 // b LBB0_160 $32(%rip) +LBB0_158: + WORD $0xb4000694 // cbz x20, LBB0_172 $208(%rip) +LBB0_159: + WORD $0x8b140a87 // add x7, x20, x20, lsl #2 + WORD $0xd37ff8e7 // lsl x7, x7, #1 + WORD $0x110004c6 // add w6, w6, #1 + WORD $0xeb0e029f // cmp x20, x14 + WORD $0xaa0703f4 // mov x20, x7 + WORD $0x54ffff63 // b.lo LBB0_159 $-20(%rip) +LBB0_160: + WORD $0x6b060273 // subs w19, w19, w6 + WORD $0x540001cd // b.le LBB0_163 $56(%rip) + WORD $0xaa1303f4 // mov x20, x19 + WORD $0xaa0903f5 // mov x21, x9 +LBB0_162: + WORD $0xd37cfcf6 // lsr x22, x7, #60 + WORD $0x9240ece7 // and x7, x7, #0xfffffffffffffff + WORD $0x321c06d6 // orr w22, w22, #0x30 + WORD $0x390002b6 // strb w22, [x21] + WORD $0x38a6cab6 // ldrsb x22, [x21, w6, sxtw] + WORD $0x9b0358e7 // madd x7, x7, x3, x22 + WORD $0xd100c0e7 // sub x7, x7, #48 + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xf1000694 // subs x20, x20, #1 + WORD $0x54fffee1 // b.ne LBB0_162 $-36(%rip) + WORD $0x14000002 // b LBB0_164 $8(%rip) +LBB0_163: + WORD $0x52800013 // mov w19, #0 +LBB0_164: + WORD $0xb5000107 // cbnz x7, LBB0_166 $32(%rip) + WORD $0x14000012 // b LBB0_168 $72(%rip) +LBB0_165: + WORD $0xf10002bf // cmp x21, #0 + WORD $0x1a9f058c // csinc w12, w12, wzr, eq + WORD $0x9240ecf4 // and x20, x7, #0xfffffffffffffff + WORD $0x8b140a87 // add x7, x20, x20, lsl #2 + WORD $0xd37ff8e7 // lsl x7, x7, #1 + WORD $0xb4000194 // cbz x20, LBB0_168 $48(%rip) +LBB0_166: + WORD $0x93407e74 // sxtw x20, w19 + WORD $0xd37cfcf5 // lsr x21, x7, #60 + WORD $0xeb14015f // cmp x10, x20 + WORD $0x54fffee9 // b.ls LBB0_165 $-36(%rip) + WORD $0x321c06b5 // orr w21, w21, #0x30 + WORD $0x38346935 // strb w21, [x9, x20] + WORD $0x11000673 // add w19, w19, #1 + WORD $0x9240ecf4 // and x20, x7, #0xfffffffffffffff + WORD $0x8b140a87 // add x7, x20, x20, lsl #2 + WORD $0xd37ff8e7 // lsl x7, x7, #1 + WORD $0xb5fffed4 // cbnz x20, LBB0_166 $-40(%rip) +LBB0_168: + WORD $0x4b0601ad // sub w13, w13, w6 + WORD $0x110005ad // add w13, w13, #1 + WORD $0x7100067f // cmp w19, #1 + WORD $0x54fff7cb // b.lt LBB0_152 $-264(%rip) +LBB0_169: + WORD $0x387349e6 // ldrb w6, [x15, w19, uxtw] + WORD $0x7100c0df // cmp w6, #48 + WORD $0x54fff7a1 // b.ne LBB0_153 $-268(%rip) + WORD $0x71000673 // subs w19, w19, #1 + WORD $0x54ffff8c // b.gt LBB0_169 $-16(%rip) + WORD $0x5280000d // mov w13, #0 +LBB0_172: + WORD $0x52800013 // mov w19, #0 + WORD $0x17ffffb8 // b LBB0_153 $-288(%rip) +LBB0_173: + WORD $0xb4000566 // cbz x6, LBB0_186 $172(%rip) + WORD $0x9ac524d4 // lsr x20, x6, x5 + WORD $0xb4000574 // cbz x20, LBB0_187 $172(%rip) + WORD $0x52800013 // mov w19, #0 + WORD $0x4b0701ad // sub w13, w13, w7 + WORD $0x110005ad // add w13, w13, #1 + WORD $0x9ac52007 // lsl x7, x0, x5 + WORD $0xaa2703e7 // mvn x7, x7 + WORD $0x14000005 // b LBB0_178 $20(%rip) +LBB0_176: + WORD $0x52800013 // mov w19, #0 +LBB0_177: + WORD $0x4b1401ad // sub w13, w13, w20 + WORD $0x110005ad // add w13, w13, #1 + WORD $0xb40002a6 // cbz x6, LBB0_182 $84(%rip) +LBB0_178: + WORD $0xaa1303f4 // mov x20, x19 + WORD $0x14000007 // b LBB0_180 $28(%rip) +LBB0_179: + WORD $0xf100027f // cmp x19, #0 + WORD $0x1a9f058c // csinc w12, w12, wzr, eq + WORD $0x8a0700d3 // and x19, x6, x7 + WORD $0x8b130a66 // add x6, x19, x19, lsl #2 + WORD $0xd37ff8c6 // lsl x6, x6, #1 + WORD $0xb40001d3 // cbz x19, LBB0_183 $56(%rip) +LBB0_180: + WORD $0x9ac524d3 // lsr x19, x6, x5 + WORD $0x93407e95 // sxtw x21, w20 + WORD $0xeb15015f // cmp x10, x21 + WORD $0x54fffee9 // b.ls LBB0_179 $-36(%rip) + WORD $0x1100c273 // add w19, w19, #48 + WORD $0x38356933 // strb w19, [x9, x21] + WORD $0x11000694 // add w20, w20, #1 + WORD $0x8a0700d3 // and x19, x6, x7 + WORD $0x8b130a66 // add x6, x19, x19, lsl #2 + WORD $0xd37ff8c6 // lsl x6, x6, #1 + WORD $0xb5fffed3 // cbnz x19, LBB0_180 $-40(%rip) + WORD $0x14000002 // b LBB0_183 $8(%rip) +LBB0_182: + WORD $0xaa1303f4 // mov x20, x19 +LBB0_183: + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x7100069f // cmp w20, #1 + WORD $0x54ffecab // b.lt LBB0_138 $-620(%rip) +LBB0_184: + WORD $0x387349e5 // ldrb w5, [x15, w19, uxtw] + WORD $0x7100c0bf // cmp w5, #48 + WORD $0x54ffec61 // b.ne LBB0_139 $-628(%rip) + WORD $0x71000673 // subs w19, w19, #1 + WORD $0x54ffff8c // b.gt LBB0_184 $-16(%rip) + WORD $0x1400000a // b LBB0_189 $40(%rip) +LBB0_186: + WORD $0x52800013 // mov w19, #0 + WORD $0x17ffff5e // b LBB0_139 $-648(%rip) +LBB0_187: + WORD $0xaa0703f4 // mov x20, x7 +LBB0_188: + WORD $0x8b0608c6 // add x6, x6, x6, lsl #2 + WORD $0xd37ff8c6 // lsl x6, x6, #1 + WORD $0x11000694 // add w20, w20, #1 + WORD $0x9ac524c7 // lsr x7, x6, x5 + WORD $0xb4ffff87 // cbz x7, LBB0_188 $-16(%rip) + WORD $0x17ffff71 // b LBB0_149 $-572(%rip) +LBB0_189: + WORD $0x52800013 // mov w19, #0 +LBB0_190: + WORD $0x5280000d // mov w13, #0 + WORD $0x0b100090 // add w16, w4, w16 + WORD $0x14000005 // b LBB0_193 $20(%rip) +LBB0_191: + WORD $0xaa0003e8 // mov x8, x0 + WORD $0x1b114063 // madd w3, w3, w17, w16 + WORD $0x17fffdf0 // b LBB0_55 $-2112(%rip) +LBB0_192: + WORD $0x52800010 // mov w16, #0 +LBB0_193: + WORD $0xd100052f // sub x15, x9, #1 + WORD $0x52800d03 // mov w3, #104 + WORD $0xb202e7e4 // mov x4, #-3689348814741910324 + WORD $0xf29999a4 // movk x4, #52429 + WORD $0x92800125 // mov x5, #-10 + WORD $0x52800146 // mov w6, #10 + WORD $0x92800007 // mov x7, #-1 + WORD $0xaa1303f4 // mov x20, x19 +Lloh10: + WORD $0x1001b420 // adr x0, _LSHIFT_TAB $13956(%rip) +Lloh11: + WORD $0x91000000 // add x0, x0, _LSHIFT_TAB@PAGEOFF $0(%rip) + WORD $0x14000004 // b LBB0_196 $16(%rip) +LBB0_194: + WORD $0x7100029f // cmp w20, #0 + WORD $0x1a8d03ed // csel w13, wzr, w13, eq +LBB0_195: + WORD $0x4b130210 // sub w16, w16, w19 +LBB0_196: + WORD $0x37f800cd // tbnz w13, #31, LBB0_199 $24(%rip) + WORD $0x350021ed // cbnz w13, LBB0_274 $1084(%rip) + WORD $0x39c00133 // ldrsb w19, [x9] + WORD $0x7100d67f // cmp w19, #53 + WORD $0x540000eb // b.lt LBB0_201 $28(%rip) + WORD $0x1400010b // b LBB0_274 $1068(%rip) +LBB0_199: + WORD $0x310021bf // cmn w13, #8 + WORD $0x54000082 // b.hs LBB0_201 $16(%rip) + WORD $0x52800373 // mov w19, #27 + WORD $0x350000b4 // cbnz w20, LBB0_202 $20(%rip) + WORD $0x17fffff5 // b LBB0_195 $-44(%rip) +LBB0_201: + WORD $0x4b0d03f3 // neg w19, w13 + WORD $0xb8735a33 // ldr w19, [x17, w19, uxtw #2] + WORD $0x34fffe54 // cbz w20, LBB0_195 $-56(%rip) +LBB0_202: + WORD $0x2a1303f6 // mov w22, w19 + WORD $0x9ba30277 // umaddl x23, w19, w3, x0 + WORD $0xb84046f5 // ldr w21, [x23], #4 + WORD $0x2a1403f8 // mov w24, w20 + WORD $0xaa1803f9 // mov x25, x24 + WORD $0xaa1703fa // mov x26, x23 + WORD $0xaa0903fb // mov x27, x9 +LBB0_203: + WORD $0x3840175c // ldrb w28, [x26], #1 + WORD $0x3400015c // cbz w28, LBB0_208 $40(%rip) + WORD $0x3940037e // ldrb w30, [x27] + WORD $0x6b1c03df // cmp w30, w28 + WORD $0x54001401 // b.ne LBB0_248 $640(%rip) + WORD $0x9100077b // add x27, x27, #1 + WORD $0xf1000739 // subs x25, x25, #1 + WORD $0x54ffff21 // b.ne LBB0_203 $-28(%rip) + WORD $0x38786af7 // ldrb w23, [x23, x24] + WORD $0x34000057 // cbz w23, LBB0_208 $8(%rip) +LBB0_207: + WORD $0x510006b5 // sub w21, w21, #1 +LBB0_208: + WORD $0x0b1402b7 // add w23, w21, w20 + WORD $0x7100069f // cmp w20, #1 + WORD $0x5400068b // b.lt LBB0_218 $208(%rip) + WORD $0xd2800014 // mov x20, #0 + WORD $0x93407ef9 // sxtw x25, w23 + WORD $0xd100073b // sub x27, x25, #1 + WORD $0xd1000718 // sub x24, x24, #1 + WORD $0x14000008 // b LBB0_211 $32(%rip) +LBB0_210: + WORD $0xf100037f // cmp x27, #0 + WORD $0x1a9f058c // csinc w12, w12, wzr, eq + WORD $0xd100073b // sub x27, x25, #1 + WORD $0x9100071c // add x28, x24, #1 + WORD $0xd1000718 // sub x24, x24, #1 + WORD $0xf100079f // cmp x28, #1 + WORD $0x54000249 // b.ls LBB0_213 $72(%rip) +LBB0_211: + WORD $0xaa1b03f9 // mov x25, x27 + WORD $0x38b8693a // ldrsb x26, [x9, x24] + WORD $0xd100c35a // sub x26, x26, #48 + WORD $0x9ad6235a // lsl x26, x26, x22 + WORD $0x8b14035a // add x26, x26, x20 + WORD $0x9bc47f54 // umulh x20, x26, x4 + WORD $0xd343fe94 // lsr x20, x20, #3 + WORD $0x9b056a9b // madd x27, x20, x5, x26 + WORD $0xeb19015f // cmp x10, x25 + WORD $0x54fffe09 // b.ls LBB0_210 $-64(%rip) + WORD $0x1100c37b // add w27, w27, #48 + WORD $0x3839693b // strb w27, [x9, x25] + WORD $0xd100073b // sub x27, x25, #1 + WORD $0x9100071c // add x28, x24, #1 + WORD $0xd1000718 // sub x24, x24, #1 + WORD $0xf100079f // cmp x28, #1 + WORD $0x54fffe08 // b.hi LBB0_211 $-64(%rip) +LBB0_213: + WORD $0xf1002b5f // cmp x26, #10 + WORD $0x540002a3 // b.lo LBB0_218 $84(%rip) + WORD $0x93407f36 // sxtw x22, w25 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0x14000007 // b LBB0_216 $28(%rip) +LBB0_215: + WORD $0xf100033f // cmp x25, #0 + WORD $0x1a9f058c // csinc w12, w12, wzr, eq + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xf100269f // cmp x20, #9 + WORD $0xaa1803f4 // mov x20, x24 + WORD $0x54000189 // b.ls LBB0_218 $48(%rip) +LBB0_216: + WORD $0x9bc47e98 // umulh x24, x20, x4 + WORD $0xd343ff18 // lsr x24, x24, #3 + WORD $0x9b055319 // madd x25, x24, x5, x20 + WORD $0xeb16015f // cmp x10, x22 + WORD $0x54fffec9 // b.ls LBB0_215 $-40(%rip) + WORD $0x1100c339 // add w25, w25, #48 + WORD $0x38366939 // strb w25, [x9, x22] + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xf100269f // cmp x20, #9 + WORD $0xaa1803f4 // mov x20, x24 + WORD $0x54fffec8 // b.hi LBB0_216 $-40(%rip) +LBB0_218: + WORD $0xeb37c15f // cmp x10, w23, sxtw + WORD $0x1a8a82f4 // csel w20, w23, w10, hi + WORD $0x0b0d02ad // add w13, w21, w13 + WORD $0x7100069f // cmp w20, #1 + WORD $0x5400012b // b.lt LBB0_222 $36(%rip) +LBB0_219: + WORD $0x387449f5 // ldrb w21, [x15, w20, uxtw] + WORD $0x7100c2bf // cmp w21, #48 + WORD $0x54000101 // b.ne LBB0_223 $32(%rip) + WORD $0x71000694 // subs w20, w20, #1 + WORD $0x54ffff8c // b.gt LBB0_219 $-16(%rip) + WORD $0x5280000d // mov w13, #0 + WORD $0x52800014 // mov w20, #0 + WORD $0x14000003 // b LBB0_223 $12(%rip) +LBB0_222: + WORD $0x7100029f // cmp w20, #0 + WORD $0x1a8d03ed // csel w13, wzr, w13, eq +LBB0_223: + WORD $0x37f80073 // tbnz w19, #31, LBB0_225 $12(%rip) + WORD $0x4b130210 // sub w16, w16, w19 + WORD $0x17ffff99 // b LBB0_196 $-412(%rip) +LBB0_225: + WORD $0x3100f67f // cmn w19, #61 + WORD $0x54000a88 // b.hi LBB0_249 $336(%rip) + WORD $0xaa1303f5 // mov x21, x19 + WORD $0x14000007 // b LBB0_229 $28(%rip) +LBB0_227: + WORD $0x7100029f // cmp w20, #0 + WORD $0x1a8d03ed // csel w13, wzr, w13, eq +LBB0_228: + WORD $0x1100f2b7 // add w23, w21, #60 + WORD $0x3101e2bf // cmn w21, #120 + WORD $0xaa1703f5 // mov x21, x23 + WORD $0x540009aa // b.ge LBB0_250 $308(%rip) +LBB0_229: + WORD $0xd2800019 // mov x25, #0 + WORD $0xd2800018 // mov x24, #0 + WORD $0x0ab47e97 // bic w23, w20, w20, asr #31 + WORD $0xaa1703f6 // mov x22, x23 +LBB0_230: + WORD $0xeb1902ff // cmp x23, x25 + WORD $0x54000140 // b.eq LBB0_233 $40(%rip) + WORD $0x38b9693a // ldrsb x26, [x9, x25] + WORD $0x9b066b18 // madd x24, x24, x6, x26 + WORD $0xd100c318 // sub x24, x24, #48 + WORD $0x91000739 // add x25, x25, #1 + WORD $0xd37cff1a // lsr x26, x24, #60 + WORD $0xb4ffff3a // cbz x26, LBB0_230 $-28(%rip) + WORD $0xaa1803f7 // mov x23, x24 + WORD $0xaa1903f6 // mov x22, x25 + WORD $0x14000008 // b LBB0_235 $32(%rip) +LBB0_233: + WORD $0xb40006d8 // cbz x24, LBB0_247 $216(%rip) +LBB0_234: + WORD $0x8b180b17 // add x23, x24, x24, lsl #2 + WORD $0xd37ffaf7 // lsl x23, x23, #1 + WORD $0x110006d6 // add w22, w22, #1 + WORD $0xeb0e031f // cmp x24, x14 + WORD $0xaa1703f8 // mov x24, x23 + WORD $0x54ffff63 // b.lo LBB0_234 $-20(%rip) +LBB0_235: + WORD $0x6b160294 // subs w20, w20, w22 + WORD $0x540001ed // b.le LBB0_239 $60(%rip) + WORD $0xaa1403f8 // mov x24, x20 + WORD $0xaa0903f9 // mov x25, x9 +LBB0_237: + WORD $0xd37cfefa // lsr x26, x23, #60 + WORD $0x9240eef7 // and x23, x23, #0xfffffffffffffff + WORD $0x321c075a // orr w26, w26, #0x30 + WORD $0x3900033a // strb w26, [x25] + WORD $0x38b6cb3a // ldrsb x26, [x25, w22, sxtw] + WORD $0x9b066af7 // madd x23, x23, x6, x26 + WORD $0xd100c2f7 // sub x23, x23, #48 + WORD $0x91000739 // add x25, x25, #1 + WORD $0xf1000718 // subs x24, x24, #1 + WORD $0x54fffee1 // b.ne LBB0_237 $-36(%rip) + WORD $0xb5000197 // cbnz x23, LBB0_241 $48(%rip) + WORD $0x14000016 // b LBB0_243 $88(%rip) +LBB0_239: + WORD $0x52800014 // mov w20, #0 + WORD $0xb5000137 // cbnz x23, LBB0_241 $36(%rip) + WORD $0x14000013 // b LBB0_243 $76(%rip) +LBB0_240: + WORD $0xd37cfef8 // lsr x24, x23, #60 + WORD $0xf100031f // cmp x24, #0 + WORD $0x1a9f058c // csinc w12, w12, wzr, eq + WORD $0x9240eef8 // and x24, x23, #0xfffffffffffffff + WORD $0x8b180b17 // add x23, x24, x24, lsl #2 + WORD $0xd37ffaf7 // lsl x23, x23, #1 + WORD $0xb4000198 // cbz x24, LBB0_243 $48(%rip) +LBB0_241: + WORD $0x93407e98 // sxtw x24, w20 + WORD $0xeb18015f // cmp x10, x24 + WORD $0x54fffee9 // b.ls LBB0_240 $-36(%rip) + WORD $0xd37cfef9 // lsr x25, x23, #60 + WORD $0x321c0739 // orr w25, w25, #0x30 + WORD $0x38386939 // strb w25, [x9, x24] + WORD $0x11000694 // add w20, w20, #1 + WORD $0x9240eef8 // and x24, x23, #0xfffffffffffffff + WORD $0x8b180b17 // add x23, x24, x24, lsl #2 + WORD $0xd37ffaf7 // lsl x23, x23, #1 + WORD $0xb5fffed8 // cbnz x24, LBB0_241 $-40(%rip) +LBB0_243: + WORD $0x4b1601ad // sub w13, w13, w22 + WORD $0x110005ad // add w13, w13, #1 + WORD $0x7100069f // cmp w20, #1 + WORD $0x54fff78b // b.lt LBB0_227 $-272(%rip) +LBB0_244: + WORD $0x387449f6 // ldrb w22, [x15, w20, uxtw] + WORD $0x7100c2df // cmp w22, #48 + WORD $0x54fff761 // b.ne LBB0_228 $-276(%rip) + WORD $0x71000694 // subs w20, w20, #1 + WORD $0x54ffff8c // b.gt LBB0_244 $-16(%rip) + WORD $0x5280000d // mov w13, #0 +LBB0_247: + WORD $0x52800014 // mov w20, #0 + WORD $0x17ffffb6 // b LBB0_228 $-296(%rip) +LBB0_248: + WORD $0x13001fd7 // sxtb w23, w30 + WORD $0x6b3c82ff // cmp w23, w28, sxtb + WORD $0x54ffec8b // b.lt LBB0_207 $-624(%rip) + WORD $0x17ffff64 // b LBB0_208 $-624(%rip) +LBB0_249: + WORD $0xaa1303f7 // mov x23, x19 +LBB0_250: + WORD $0xd2800018 // mov x24, #0 + WORD $0xd2800016 // mov x22, #0 + WORD $0x4b1703f5 // neg w21, w23 + WORD $0x0ab47e97 // bic w23, w20, w20, asr #31 +LBB0_251: + WORD $0xeb1802ff // cmp x23, x24 + WORD $0x54000300 // b.eq LBB0_257 $96(%rip) + WORD $0x38b86939 // ldrsb x25, [x9, x24] + WORD $0x9b0666d6 // madd x22, x22, x6, x25 + WORD $0xd100c2d6 // sub x22, x22, #48 + WORD $0x91000718 // add x24, x24, #1 + WORD $0x9ad526d9 // lsr x25, x22, x21 + WORD $0xb4ffff39 // cbz x25, LBB0_251 $-28(%rip) +LBB0_254: + WORD $0x9ad520f7 // lsl x23, x7, x21 + WORD $0xaa3703f7 // mvn x23, x23 + WORD $0x6b180294 // subs w20, w20, w24 + WORD $0x540002ed // b.le LBB0_260 $92(%rip) + WORD $0xaa1403f9 // mov x25, x20 + WORD $0xaa0903fa // mov x26, x9 +LBB0_256: + WORD $0x9ad526db // lsr x27, x22, x21 + WORD $0x8a1702d6 // and x22, x22, x23 + WORD $0x1100c37b // add w27, w27, #48 + WORD $0x3900035b // strb w27, [x26] + WORD $0x38b8cb5b // ldrsb x27, [x26, w24, sxtw] + WORD $0x9b066ed6 // madd x22, x22, x6, x27 + WORD $0xd100c2d6 // sub x22, x22, #48 + WORD $0x9100075a // add x26, x26, #1 + WORD $0xf1000739 // subs x25, x25, #1 + WORD $0x54fffee1 // b.ne LBB0_256 $-36(%rip) + WORD $0x1400000b // b LBB0_261 $44(%rip) +LBB0_257: + WORD $0xb4000576 // cbz x22, LBB0_271 $172(%rip) + WORD $0x9ad526d8 // lsr x24, x22, x21 + WORD $0xb4000598 // cbz x24, LBB0_272 $176(%rip) + WORD $0x52800014 // mov w20, #0 + WORD $0x4b1701ad // sub w13, w13, w23 + WORD $0x110005ad // add w13, w13, #1 + WORD $0x9ad520f7 // lsl x23, x7, x21 + WORD $0xaa3703f7 // mvn x23, x23 + WORD $0x14000005 // b LBB0_262 $20(%rip) +LBB0_260: + WORD $0x52800014 // mov w20, #0 +LBB0_261: + WORD $0x4b1801ad // sub w13, w13, w24 + WORD $0x110005ad // add w13, w13, #1 + WORD $0xb4000296 // cbz x22, LBB0_266 $80(%rip) +LBB0_262: + WORD $0x14000007 // b LBB0_264 $28(%rip) +LBB0_263: + WORD $0xf100031f // cmp x24, #0 + WORD $0x1a9f058c // csinc w12, w12, wzr, eq + WORD $0x8a1702d8 // and x24, x22, x23 + WORD $0x8b180b16 // add x22, x24, x24, lsl #2 + WORD $0xd37ffad6 // lsl x22, x22, #1 + WORD $0xb40001b8 // cbz x24, LBB0_267 $52(%rip) +LBB0_264: + WORD $0x9ad526d8 // lsr x24, x22, x21 + WORD $0x93407e99 // sxtw x25, w20 + WORD $0xeb19015f // cmp x10, x25 + WORD $0x54fffee9 // b.ls LBB0_263 $-36(%rip) + WORD $0x1100c318 // add w24, w24, #48 + WORD $0x38396938 // strb w24, [x9, x25] + WORD $0x11000694 // add w20, w20, #1 + WORD $0x8a1702d8 // and x24, x22, x23 + WORD $0x8b180b16 // add x22, x24, x24, lsl #2 + WORD $0xd37ffad6 // lsl x22, x22, #1 + WORD $0xb5fffed8 // cbnz x24, LBB0_264 $-40(%rip) + WORD $0x14000001 // b LBB0_267 $4(%rip) +LBB0_266: +LBB0_267: + WORD $0x7100069f // cmp w20, #1 + WORD $0x54ffe02b // b.lt LBB0_194 $-1020(%rip) +LBB0_268: + WORD $0x387449f5 // ldrb w21, [x15, w20, uxtw] + WORD $0x7100c2bf // cmp w21, #48 + WORD $0x54ffe001 // b.ne LBB0_195 $-1024(%rip) + WORD $0x71000694 // subs w20, w20, #1 + WORD $0x54ffff8c // b.gt LBB0_268 $-16(%rip) + WORD $0x5280000d // mov w13, #0 + WORD $0x52800014 // mov w20, #0 + WORD $0x4b130210 // sub w16, w16, w19 + WORD $0x17fffefb // b LBB0_196 $-1044(%rip) +LBB0_271: + WORD $0x52800014 // mov w20, #0 + WORD $0x4b130210 // sub w16, w16, w19 + WORD $0x17fffef8 // b LBB0_196 $-1056(%rip) +LBB0_272: + WORD $0xaa1703f8 // mov x24, x23 +LBB0_273: + WORD $0x8b160ad6 // add x22, x22, x22, lsl #2 + WORD $0xd37ffad6 // lsl x22, x22, #1 + WORD $0x11000718 // add w24, w24, #1 + WORD $0x9ad526d7 // lsr x23, x22, x21 + WORD $0xb4ffff97 // cbz x23, LBB0_273 $-16(%rip) + WORD $0x17ffffbb // b LBB0_254 $-276(%rip) +LBB0_274: + WORD $0x310ffa1f // cmn w16, #1022 + WORD $0x54000a6c // b.gt LBB0_299 $332(%rip) + WORD $0x34001194 // cbz w20, LBB0_314 $560(%rip) + WORD $0x110ff611 // add w17, w16, #1021 + WORD $0x3110ea1f // cmn w16, #1082 + WORD $0x54000a88 // b.hi LBB0_302 $336(%rip) + WORD $0x52800143 // mov w3, #10 + WORD $0xaa1403f0 // mov x16, x20 + WORD $0x14000007 // b LBB0_280 $28(%rip) +LBB0_278: + WORD $0x7100021f // cmp w16, #0 + WORD $0x1a8d03ed // csel w13, wzr, w13, eq +LBB0_279: + WORD $0x1100f224 // add w4, w17, #60 + WORD $0x3101e23f // cmn w17, #120 + WORD $0xaa0403f1 // mov x17, x4 + WORD $0x540009aa // b.ge LBB0_303 $308(%rip) +LBB0_280: + WORD $0xd2800007 // mov x7, #0 + WORD $0xd2800006 // mov x6, #0 + WORD $0x0ab07e05 // bic w5, w16, w16, asr #31 + WORD $0xaa0503e4 // mov x4, x5 +LBB0_281: + WORD $0xeb0700bf // cmp x5, x7 + WORD $0x54000140 // b.eq LBB0_284 $40(%rip) + WORD $0x38a76933 // ldrsb x19, [x9, x7] + WORD $0x9b034cc6 // madd x6, x6, x3, x19 + WORD $0xd100c0c6 // sub x6, x6, #48 + WORD $0x910004e7 // add x7, x7, #1 + WORD $0xd37cfcd3 // lsr x19, x6, #60 + WORD $0xb4ffff33 // cbz x19, LBB0_281 $-28(%rip) + WORD $0xaa0603e5 // mov x5, x6 + WORD $0xaa0703e4 // mov x4, x7 + WORD $0x14000008 // b LBB0_286 $32(%rip) +LBB0_284: + WORD $0xb4000686 // cbz x6, LBB0_298 $208(%rip) +LBB0_285: + WORD $0x8b0608c5 // add x5, x6, x6, lsl #2 + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0x11000484 // add w4, w4, #1 + WORD $0xeb0e00df // cmp x6, x14 + WORD $0xaa0503e6 // mov x6, x5 + WORD $0x54ffff63 // b.lo LBB0_285 $-20(%rip) +LBB0_286: + WORD $0x6b040210 // subs w16, w16, w4 + WORD $0x540001cd // b.le LBB0_289 $56(%rip) + WORD $0xaa1003e6 // mov x6, x16 + WORD $0xaa0903e7 // mov x7, x9 +LBB0_288: + WORD $0xd37cfcb3 // lsr x19, x5, #60 + WORD $0x9240eca5 // and x5, x5, #0xfffffffffffffff + WORD $0x321c0673 // orr w19, w19, #0x30 + WORD $0x390000f3 // strb w19, [x7] + WORD $0x38a4c8f3 // ldrsb x19, [x7, w4, sxtw] + WORD $0x9b034ca5 // madd x5, x5, x3, x19 + WORD $0xd100c0a5 // sub x5, x5, #48 + WORD $0x910004e7 // add x7, x7, #1 + WORD $0xf10004c6 // subs x6, x6, #1 + WORD $0x54fffee1 // b.ne LBB0_288 $-36(%rip) + WORD $0x14000002 // b LBB0_290 $8(%rip) +LBB0_289: + WORD $0x52800010 // mov w16, #0 +LBB0_290: + WORD $0xb5000105 // cbnz x5, LBB0_292 $32(%rip) + WORD $0x14000012 // b LBB0_294 $72(%rip) +LBB0_291: + WORD $0xf10000ff // cmp x7, #0 + WORD $0x1a9f058c // csinc w12, w12, wzr, eq + WORD $0x9240eca6 // and x6, x5, #0xfffffffffffffff + WORD $0x8b0608c5 // add x5, x6, x6, lsl #2 + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xb4000186 // cbz x6, LBB0_294 $48(%rip) +LBB0_292: + WORD $0x93407e06 // sxtw x6, w16 + WORD $0xd37cfca7 // lsr x7, x5, #60 + WORD $0xeb06015f // cmp x10, x6 + WORD $0x54fffee9 // b.ls LBB0_291 $-36(%rip) + WORD $0x321c04e7 // orr w7, w7, #0x30 + WORD $0x38266927 // strb w7, [x9, x6] + WORD $0x11000610 // add w16, w16, #1 + WORD $0x9240eca6 // and x6, x5, #0xfffffffffffffff + WORD $0x8b0608c5 // add x5, x6, x6, lsl #2 + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xb5fffec6 // cbnz x6, LBB0_292 $-40(%rip) +LBB0_294: + WORD $0x4b0401ad // sub w13, w13, w4 + WORD $0x110005ad // add w13, w13, #1 + WORD $0x7100061f // cmp w16, #1 + WORD $0x54fff7cb // b.lt LBB0_278 $-264(%rip) +LBB0_295: + WORD $0x387049e4 // ldrb w4, [x15, w16, uxtw] + WORD $0x7100c09f // cmp w4, #48 + WORD $0x54fff7a1 // b.ne LBB0_279 $-268(%rip) + WORD $0x71000610 // subs w16, w16, #1 + WORD $0x54ffff8c // b.gt LBB0_295 $-16(%rip) + WORD $0x5280000d // mov w13, #0 +LBB0_298: + WORD $0x52800010 // mov w16, #0 + WORD $0x17ffffb8 // b LBB0_279 $-288(%rip) +LBB0_299: + WORD $0x7110021f // cmp w16, #1024 + WORD $0x54ffb70c // b.gt LBB0_128 $-2336(%rip) + WORD $0x5100060e // sub w14, w16, #1 + WORD $0x340009f4 // cbz w20, LBB0_321 $316(%rip) + WORD $0x1400005f // b LBB0_329 $380(%rip) +LBB0_302: + WORD $0xaa1403f0 // mov x16, x20 + WORD $0xaa1103e4 // mov x4, x17 +LBB0_303: + WORD $0xd2800003 // mov x3, #0 + WORD $0xd2800011 // mov x17, #0 + WORD $0x4b0403ee // neg w14, w4 + WORD $0x52800145 // mov w5, #10 + WORD $0x0ab07e04 // bic w4, w16, w16, asr #31 +LBB0_304: + WORD $0xeb03009f // cmp x4, x3 + WORD $0x540003a0 // b.eq LBB0_310 $116(%rip) + WORD $0x38a36926 // ldrsb x6, [x9, x3] + WORD $0x9b051a31 // madd x17, x17, x5, x6 + WORD $0xd100c231 // sub x17, x17, #48 + WORD $0x91000463 // add x3, x3, #1 + WORD $0x9ace2626 // lsr x6, x17, x14 + WORD $0xb4ffff26 // cbz x6, LBB0_304 $-28(%rip) + WORD $0xaa0303e4 // mov x4, x3 +LBB0_307: + WORD $0x4b0401ad // sub w13, w13, w4 + WORD $0x110005ad // add w13, w13, #1 + WORD $0x92800003 // mov x3, #-1 + WORD $0x9ace2063 // lsl x3, x3, x14 + WORD $0xaa2303e3 // mvn x3, x3 + WORD $0x6b040214 // subs w20, w16, w4 + WORD $0x5400044d // b.le LBB0_315 $136(%rip) + WORD $0x52800150 // mov w16, #10 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xaa0903e6 // mov x6, x9 +LBB0_309: + WORD $0x9ace2627 // lsr x7, x17, x14 + WORD $0x8a030231 // and x17, x17, x3 + WORD $0x1100c0e7 // add w7, w7, #48 + WORD $0x390000c7 // strb w7, [x6] + WORD $0x38a4c8c7 // ldrsb x7, [x6, w4, sxtw] + WORD $0x9b101e31 // madd x17, x17, x16, x7 + WORD $0xd100c231 // sub x17, x17, #48 + WORD $0x910004c6 // add x6, x6, #1 + WORD $0xf10004a5 // subs x5, x5, #1 + WORD $0x54fffee1 // b.ne LBB0_309 $-36(%rip) + WORD $0x14000015 // b LBB0_316 $84(%rip) +LBB0_310: + WORD $0xb4000211 // cbz x17, LBB0_314 $64(%rip) + WORD $0x9ace2623 // lsr x3, x17, x14 + WORD $0xb4000103 // cbz x3, LBB0_313 $32(%rip) + WORD $0x52800014 // mov w20, #0 + WORD $0x4b0401ad // sub w13, w13, w4 + WORD $0x110005ad // add w13, w13, #1 + WORD $0x92800010 // mov x16, #-1 + WORD $0x9ace2210 // lsl x16, x16, x14 + WORD $0xaa3003e3 // mvn x3, x16 + WORD $0x1400000c // b LBB0_317 $48(%rip) +LBB0_313: + WORD $0x8b110a31 // add x17, x17, x17, lsl #2 + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0x11000484 // add w4, w4, #1 + WORD $0x9ace2623 // lsr x3, x17, x14 + WORD $0xb4ffff83 // cbz x3, LBB0_313 $-16(%rip) + WORD $0x17ffffdc // b LBB0_307 $-144(%rip) +LBB0_314: + WORD $0x5280000a // mov w10, #0 + WORD $0x12807fae // mov w14, #-1022 + WORD $0x1400008a // b LBB0_352 $552(%rip) +LBB0_315: + WORD $0x52800014 // mov w20, #0 +LBB0_316: + WORD $0xb40002d1 // cbz x17, LBB0_322 $88(%rip) +LBB0_317: + WORD $0x14000007 // b LBB0_319 $28(%rip) +LBB0_318: + WORD $0xf100021f // cmp x16, #0 + WORD $0x1a9f058c // csinc w12, w12, wzr, eq + WORD $0x8a030230 // and x16, x17, x3 + WORD $0x8b100a11 // add x17, x16, x16, lsl #2 + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xb40001f0 // cbz x16, LBB0_323 $60(%rip) +LBB0_319: + WORD $0x9ace2630 // lsr x16, x17, x14 + WORD $0x93407e84 // sxtw x4, w20 + WORD $0xeb04015f // cmp x10, x4 + WORD $0x54fffee9 // b.ls LBB0_318 $-36(%rip) + WORD $0x1100c210 // add w16, w16, #48 + WORD $0x38246930 // strb w16, [x9, x4] + WORD $0x11000694 // add w20, w20, #1 + WORD $0x8a030230 // and x16, x17, x3 + WORD $0x8b100a11 // add x17, x16, x16, lsl #2 + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xb5fffed0 // cbnz x16, LBB0_319 $-40(%rip) + WORD $0x14000003 // b LBB0_323 $12(%rip) +LBB0_321: + WORD $0x5280000a // mov w10, #0 + WORD $0x14000073 // b LBB0_352 $460(%rip) +LBB0_322: +LBB0_323: + WORD $0x7100069f // cmp w20, #1 + WORD $0x5400014b // b.lt LBB0_327 $40(%rip) +LBB0_324: + WORD $0x387449ee // ldrb w14, [x15, w20, uxtw] + WORD $0x7100c1df // cmp w14, #48 + WORD $0x54000141 // b.ne LBB0_328 $40(%rip) + WORD $0x71000694 // subs w20, w20, #1 + WORD $0x54ffff8c // b.gt LBB0_324 $-16(%rip) + WORD $0x5280000a // mov w10, #0 + WORD $0x5280000d // mov w13, #0 + WORD $0x12807fae // mov w14, #-1022 + WORD $0x1400006d // b LBB0_355 $436(%rip) +LBB0_327: + WORD $0x12807fae // mov w14, #-1022 + WORD $0x35000074 // cbnz w20, LBB0_329 $12(%rip) + WORD $0x14000062 // b LBB0_350 $392(%rip) +LBB0_328: + WORD $0x12807fae // mov w14, #-1022 +LBB0_329: + WORD $0xd2800010 // mov x16, #0 + WORD $0x2a1403e3 // mov w3, w20 + WORD $0x5282b191 // mov w17, #5516 +LBB0_330: + WORD $0xf1009a1f // cmp x16, #38 + WORD $0x54000260 // b.eq LBB0_336 $76(%rip) + WORD $0x8b100004 // add x4, x0, x16 + WORD $0x38716884 // ldrb w4, [x4, x17] + WORD $0x38706925 // ldrb w5, [x9, x16] + WORD $0x6b0400bf // cmp w5, w4 + WORD $0x54000141 // b.ne LBB0_335 $40(%rip) + WORD $0x91000610 // add x16, x16, #1 + WORD $0xeb10007f // cmp x3, x16 + WORD $0x54fffee1 // b.ne LBB0_330 $-36(%rip) + WORD $0x8b030010 // add x16, x0, x3 + WORD $0x5282b191 // mov w17, #5516 + WORD $0x38716a10 // ldrb w16, [x16, x17] + WORD $0x340000f0 // cbz w16, LBB0_336 $28(%rip) +LBB0_334: + WORD $0x528001f0 // mov w16, #15 + WORD $0x14000006 // b LBB0_337 $24(%rip) +LBB0_335: + WORD $0x13001c90 // sxtb w16, w4 + WORD $0x13001cb1 // sxtb w17, w5 + WORD $0x6b10023f // cmp w17, w16 + WORD $0x54ffff6b // b.lt LBB0_334 $-20(%rip) +LBB0_336: + WORD $0x52800210 // mov w16, #16 +LBB0_337: + WORD $0x0b030211 // add w17, w16, w3 + WORD $0x7100047f // cmp w3, #1 + WORD $0x5400078b // b.lt LBB0_347 $240(%rip) + WORD $0xd2800000 // mov x0, #0 + WORD $0x93407e24 // sxtw x4, w17 + WORD $0xd1000484 // sub x4, x4, #1 + WORD $0xd1000463 // sub x3, x3, #1 + WORD $0xd2ff4006 // mov x6, #-432345564227567616 + WORD $0xb202e7e7 // mov x7, #-3689348814741910324 + WORD $0xf29999a7 // movk x7, #52429 + WORD $0x92800133 // mov x19, #-10 + WORD $0xaa1103e5 // mov x5, x17 + WORD $0x14000009 // b LBB0_340 $36(%rip) +LBB0_339: + WORD $0xf10002bf // cmp x21, #0 + WORD $0x1a9f058c // csinc w12, w12, wzr, eq + WORD $0x510004a5 // sub w5, w5, #1 + WORD $0xd1000484 // sub x4, x4, #1 + WORD $0x91000475 // add x21, x3, #1 + WORD $0xd1000463 // sub x3, x3, #1 + WORD $0xf10006bf // cmp x21, #1 + WORD $0x54000229 // b.ls LBB0_342 $68(%rip) +LBB0_340: + WORD $0x38a36934 // ldrsb x20, [x9, x3] + WORD $0x8b14d400 // add x0, x0, x20, lsl #53 + WORD $0x8b060014 // add x20, x0, x6 + WORD $0x9bc77e80 // umulh x0, x20, x7 + WORD $0xd343fc00 // lsr x0, x0, #3 + WORD $0x9b135015 // madd x21, x0, x19, x20 + WORD $0xeb04015f // cmp x10, x4 + WORD $0x54fffe29 // b.ls LBB0_339 $-60(%rip) + WORD $0x1100c2b5 // add w21, w21, #48 + WORD $0x38246935 // strb w21, [x9, x4] + WORD $0x510004a5 // sub w5, w5, #1 + WORD $0xd1000484 // sub x4, x4, #1 + WORD $0x91000475 // add x21, x3, #1 + WORD $0xd1000463 // sub x3, x3, #1 + WORD $0xf10006bf // cmp x21, #1 + WORD $0x54fffe28 // b.hi LBB0_340 $-60(%rip) +LBB0_342: + WORD $0xf1002a9f // cmp x20, #10 + WORD $0x54000303 // b.lo LBB0_347 $96(%rip) + WORD $0x93407ca3 // sxtw x3, w5 + WORD $0xd1000463 // sub x3, x3, #1 + WORD $0xb202e7e4 // mov x4, #-3689348814741910324 + WORD $0xf29999a4 // movk x4, #52429 + WORD $0x92800125 // mov x5, #-10 + WORD $0x14000007 // b LBB0_345 $28(%rip) +LBB0_344: + WORD $0xf10000ff // cmp x7, #0 + WORD $0x1a9f058c // csinc w12, w12, wzr, eq + WORD $0xd1000463 // sub x3, x3, #1 + WORD $0xf100241f // cmp x0, #9 + WORD $0xaa0603e0 // mov x0, x6 + WORD $0x54000189 // b.ls LBB0_347 $48(%rip) +LBB0_345: + WORD $0x9bc47c06 // umulh x6, x0, x4 + WORD $0xd343fcc6 // lsr x6, x6, #3 + WORD $0x9b0500c7 // madd x7, x6, x5, x0 + WORD $0xeb03015f // cmp x10, x3 + WORD $0x54fffec9 // b.ls LBB0_344 $-40(%rip) + WORD $0x1100c0e7 // add w7, w7, #48 + WORD $0x38236927 // strb w7, [x9, x3] + WORD $0xd1000463 // sub x3, x3, #1 + WORD $0xf100241f // cmp x0, #9 + WORD $0xaa0603e0 // mov x0, x6 + WORD $0x54fffec8 // b.hi LBB0_345 $-40(%rip) +LBB0_347: + WORD $0xeb31c15f // cmp x10, w17, sxtw + WORD $0x1a8a822a // csel w10, w17, w10, hi + WORD $0x0b0d020d // add w13, w16, w13 + WORD $0x7100055f // cmp w10, #1 + WORD $0x5400010b // b.lt LBB0_351 $32(%rip) +LBB0_348: + WORD $0x386a49f0 // ldrb w16, [x15, w10, uxtw] + WORD $0x7100c21f // cmp w16, #48 + WORD $0x540000c1 // b.ne LBB0_352 $24(%rip) + WORD $0x7100054a // subs w10, w10, #1 + WORD $0x54ffff8c // b.gt LBB0_348 $-16(%rip) +LBB0_350: + WORD $0x5280000a // mov w10, #0 + WORD $0x14000006 // b LBB0_354 $24(%rip) +LBB0_351: + WORD $0x340000aa // cbz w10, LBB0_354 $20(%rip) +LBB0_352: + WORD $0x710051bf // cmp w13, #20 + WORD $0x5400008d // b.le LBB0_355 $16(%rip) + WORD $0x9280000f // mov x15, #-1 + WORD $0x14000046 // b LBB0_375 $280(%rip) +LBB0_354: + WORD $0x5280000d // mov w13, #0 +LBB0_355: + WORD $0x6b0a01bf // cmp w13, w10 + WORD $0x1a8ab1b0 // csel w16, w13, w10, lt + WORD $0x7100061f // cmp w16, #1 + WORD $0x5400016b // b.lt LBB0_358 $44(%rip) + WORD $0xd280000f // mov x15, #0 + WORD $0x52800151 // mov w17, #10 + WORD $0xaa1003e0 // mov x0, x16 + WORD $0xaa0903e3 // mov x3, x9 +LBB0_357: + WORD $0x38801464 // ldrsb x4, [x3], #1 + WORD $0x9b1111ef // madd x15, x15, x17, x4 + WORD $0xd100c1ef // sub x15, x15, #48 + WORD $0xf1000400 // subs x0, x0, #1 + WORD $0x54ffff81 // b.ne LBB0_357 $-16(%rip) + WORD $0x14000003 // b LBB0_359 $12(%rip) +LBB0_358: + WORD $0x52800010 // mov w16, #0 + WORD $0xd280000f // mov x15, #0 +LBB0_359: + WORD $0x6b1001b1 // subs w17, w13, w16 + WORD $0x540003ad // b.le LBB0_366 $116(%rip) + WORD $0x7100123f // cmp w17, #4 + WORD $0x540002c3 // b.lo LBB0_364 $88(%rip) + WORD $0x121e7620 // and w0, w17, #0xfffffffc + WORD $0x0b000210 // add w16, w16, w0 + WORD $0x52800023 // mov w3, #1 + WORD $0xaa0003e4 // mov x4, x0 + WORD $0x52800025 // mov w5, #1 + WORD $0x52800026 // mov w6, #1 +LBB0_362: + WORD $0x8b0f09ef // add x15, x15, x15, lsl #2 + WORD $0xd37ff9ef // lsl x15, x15, #1 + WORD $0x8b030863 // add x3, x3, x3, lsl #2 + WORD $0xd37ff863 // lsl x3, x3, #1 + WORD $0x8b0508a5 // add x5, x5, x5, lsl #2 + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0x8b0608c6 // add x6, x6, x6, lsl #2 + WORD $0xd37ff8c6 // lsl x6, x6, #1 + WORD $0x71001084 // subs w4, w4, #4 + WORD $0x54fffee1 // b.ne LBB0_362 $-36(%rip) + WORD $0x9b0f7c6f // mul x15, x3, x15 + WORD $0x9b0f7caf // mul x15, x5, x15 + WORD $0x9b0f7ccf // mul x15, x6, x15 + WORD $0x6b00023f // cmp w17, w0 + WORD $0x540000c0 // b.eq LBB0_366 $24(%rip) +LBB0_364: + WORD $0x4b1001b0 // sub w16, w13, w16 +LBB0_365: + WORD $0x8b0f09ef // add x15, x15, x15, lsl #2 + WORD $0xd37ff9ef // lsl x15, x15, #1 + WORD $0x71000610 // subs w16, w16, #1 + WORD $0x54ffffa1 // b.ne LBB0_365 $-12(%rip) +LBB0_366: + WORD $0x37f801ed // tbnz w13, #31, LBB0_372 $60(%rip) + WORD $0x6b0d015f // cmp w10, w13 + WORD $0x540001ad // b.le LBB0_372 $52(%rip) + WORD $0x8b2d4129 // add x9, x9, w13, uxtw + WORD $0x39c00130 // ldrsb w16, [x9] + WORD $0x110005b1 // add w17, w13, #1 + WORD $0x7100d61f // cmp w16, #53 + WORD $0x7a4a0220 // ccmp w17, w10, #0, eq + WORD $0x540000a0 // b.eq LBB0_370 $20(%rip) + WORD $0x7100d21f // cmp w16, #52 + WORD $0x1a9fd7e9 // cset w9, gt + WORD $0x35000069 // cbnz w9, LBB0_371 $12(%rip) + WORD $0x14000003 // b LBB0_372 $12(%rip) +LBB0_370: + WORD $0x340001ec // cbz w12, LBB0_376 $60(%rip) +LBB0_371: + WORD $0x910005ef // add x15, x15, #1 +LBB0_372: + WORD $0xd2e00409 // mov x9, #9007199254740992 + WORD $0xeb0901ff // cmp x15, x9 + WORD $0x540000a1 // b.ne LBB0_375 $20(%rip) + WORD $0x710ffddf // cmp w14, #1023 + WORD $0x54ff95a0 // b.eq LBB0_128 $-3404(%rip) + WORD $0x110005ce // add w14, w14, #1 + WORD $0xd2e0020f // mov x15, #4503599627370496 +LBB0_375: + WORD $0x9374d1ea // sbfx x10, x15, #52, #1 + WORD $0x110ffdcc // add w12, w14, #1023 + WORD $0x9240cde9 // and x9, x15, #0xfffffffffffff + WORD $0x1200298c // and w12, w12, #0x7ff + WORD $0x8a0cd14a // and x10, x10, x12, lsl #52 + WORD $0x17fffcac // b LBB0_131 $-3408(%rip) +LBB0_376: + WORD $0x34fffe6d // cbz w13, LBB0_372 $-52(%rip) + WORD $0x385ff129 // ldurb w9, [x9, #-1] + WORD $0x12000129 // and w9, w9, #0x1 + WORD $0x35fffde9 // cbnz w9, LBB0_371 $-68(%rip) + WORD $0x17ffffef // b LBB0_372 $-68(%rip) + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + WORD $0x00000000 // .p2align 3, 0x00 +_P10_TAB: + WORD $0x00000000; WORD $0x3ff00000 // .quad 0x3ff0000000000000 + WORD $0x00000000; WORD $0x40240000 // .quad 0x4024000000000000 + WORD $0x00000000; WORD $0x40590000 // .quad 0x4059000000000000 + WORD $0x00000000; WORD $0x408f4000 // .quad 0x408f400000000000 + WORD $0x00000000; WORD $0x40c38800 // .quad 0x40c3880000000000 + WORD $0x00000000; WORD $0x40f86a00 // .quad 0x40f86a0000000000 + WORD $0x00000000; WORD $0x412e8480 // .quad 0x412e848000000000 + WORD $0x00000000; WORD $0x416312d0 // .quad 0x416312d000000000 + WORD $0x00000000; WORD $0x4197d784 // .quad 0x4197d78400000000 + WORD $0x00000000; WORD $0x41cdcd65 // .quad 0x41cdcd6500000000 + WORD $0x20000000; WORD $0x4202a05f // .quad 0x4202a05f20000000 + WORD $0xe8000000; WORD $0x42374876 // .quad 0x42374876e8000000 + WORD $0xa2000000; WORD $0x426d1a94 // .quad 0x426d1a94a2000000 + WORD $0xe5400000; WORD $0x42a2309c // .quad 0x42a2309ce5400000 + WORD $0x1e900000; WORD $0x42d6bcc4 // .quad 0x42d6bcc41e900000 + WORD $0x26340000; WORD $0x430c6bf5 // .quad 0x430c6bf526340000 + WORD $0x37e08000; WORD $0x4341c379 // .quad 0x4341c37937e08000 + WORD $0x85d8a000; WORD $0x43763457 // .quad 0x4376345785d8a000 + WORD $0x674ec800; WORD $0x43abc16d // .quad 0x43abc16d674ec800 + WORD $0x60913d00; WORD $0x43e158e4 // .quad 0x43e158e460913d00 + WORD $0x78b58c40; WORD $0x4415af1d // .quad 0x4415af1d78b58c40 + WORD $0xd6e2ef50; WORD $0x444b1ae4 // .quad 0x444b1ae4d6e2ef50 + WORD $0x064dd592; WORD $0x4480f0cf // .quad 0x4480f0cf064dd592 + // .p2align 3, 0x00 +_POW10_M128_TAB: + WORD $0xcd60e453; WORD $0x1732c869 // .quad 1671618768450675795 + WORD $0x081c0288; WORD $0xfa8fd5a0 // .quad -391859759250406776 + WORD $0x205c8eb4; WORD $0x0e7fbd42 // .quad 1044761730281672372 + WORD $0x05118195; WORD $0x9c99e584 // .quad -7162441377172586091 + WORD $0xa873b261; WORD $0x521fac92 // .quad 5917638181279478369 + WORD $0x0655e1fa; WORD $0xc3c05ee5 // .quad -4341365703038344710 + WORD $0x52909ef9; WORD $0xe6a797b7 // .quad -1826324310255427847 + WORD $0x47eb5a78; WORD $0xf4b0769e // .quad -815021110370542984 + WORD $0x939a635c; WORD $0x9028bed2 // .quad -8058981721550724260 + WORD $0xecf3188b; WORD $0x98ee4a22 // .quad -7426917221622671221 + WORD $0x3880fc33; WORD $0x7432ee87 // .quad 8373016921771146291 + WORD $0xa82fdeae; WORD $0xbf29dcab // .quad -4671960508600951122 + WORD $0x06a13b3f; WORD $0x113faa29 // .quad 1242899115359157055 + WORD $0x923bd65a; WORD $0xeef453d6 // .quad -1228264617323800998 + WORD $0xa424c507; WORD $0x4ac7ca59 // .quad 5388497965526861063 + WORD $0x1b6565f8; WORD $0x9558b466 // .quad -7685194413468457480 + WORD $0x0d2df649; WORD $0x5d79bcf0 // .quad 6735622456908576329 + WORD $0xa23ebf76; WORD $0xbaaee17f // .quad -4994806998408183946 + WORD $0x107973dc; WORD $0xf4d82c2c // .quad -803843965719055396 + WORD $0x8ace6f53; WORD $0xe95a99df // .quad -1631822729582842029 + WORD $0x8a4be869; WORD $0x79071b9b // .quad 8720969558280366185 + WORD $0xb6c10594; WORD $0x91d8a02b // .quad -7937418233630358124 + WORD $0x6cdee284; WORD $0x9748e282 // .quad -7545532125859093884 + WORD $0xa47146f9; WORD $0xb64ec836 // .quad -5310086773610559751 + WORD $0x08169b25; WORD $0xfd1b1b23 // .quad -208543120469091547 + WORD $0x4d8d98b7; WORD $0xe3e27a44 // .quad -2025922448585811785 + WORD $0xe50e20f7; WORD $0xfe30f0f5 // .quad -130339450293182217 + WORD $0xb0787f72; WORD $0x8e6d8c6a // .quad -8183730558007214222 + WORD $0x5e51a935; WORD $0xbdbd2d33 // .quad -4774610331293865675 + WORD $0x5c969f4f; WORD $0xb208ef85 // .quad -5617977179081629873 + WORD $0x35e61382; WORD $0xad2c7880 // .quad -5968262914117332094 + WORD $0xb3bc4723; WORD $0xde8b2b66 // .quad -2410785455424649437 + WORD $0x21afcc31; WORD $0x4c3bcb50 // .quad 5493207715531443249 + WORD $0x3055ac76; WORD $0x8b16fb20 // .quad -8424269937281487754 + WORD $0x2a1bbf3d; WORD $0xdf4abe24 // .quad -2356862392440471747 + WORD $0x3c6b1793; WORD $0xaddcb9e8 // .quad -5918651403174471789 + WORD $0x34a2af0d; WORD $0xd71d6dad // .quad -2946077990550589683 + WORD $0x4b85dd78; WORD $0xd953e862 // .quad -2786628235540701832 + WORD $0x40e5ad68; WORD $0x8672648c // .quad -8758827771735200408 + WORD $0x6f33aa6b; WORD $0x87d4713d // .quad -8659171674854020501 + WORD $0x511f18c2; WORD $0x680efdaf // .quad 7498209359040551106 + WORD $0xcb009506; WORD $0xa9c98d8c // .quad -6212278575140137722 + WORD $0x2566def2; WORD $0x0212bd1b // .quad 149389661945913074 + WORD $0xfdc0ba48; WORD $0xd43bf0ef // .quad -3153662200497784248 + WORD $0xf7604b57; WORD $0x014bb630 // .quad 93368538716195671 + WORD $0xfe98746d; WORD $0x84a57695 // .quad -8888567902952197011 + WORD $0x35385e2d; WORD $0x419ea3bd // .quad 4728396691822632493 + WORD $0x7e3e9188; WORD $0xa5ced43b // .quad -6499023860262858360 + WORD $0x828675b9; WORD $0x52064cac // .quad 5910495864778290617 + WORD $0x5dce35ea; WORD $0xcf42894a // .quad -3512093806901185046 + WORD $0xd1940993; WORD $0x7343efeb // .quad 8305745933913819539 + WORD $0x7aa0e1b2; WORD $0x818995ce // .quad -9112587656954322510 + WORD $0xc5f90bf8; WORD $0x1014ebe6 // .quad 1158810380537498616 + WORD $0x19491a1f; WORD $0xa1ebfb42 // .quad -6779048552765515233 + WORD $0x77774ef6; WORD $0xd41a26e0 // .quad -3163173042755514634 + WORD $0x9f9b60a6; WORD $0xca66fa12 // .quad -3862124672529506138 + WORD $0x955522b4; WORD $0x8920b098 // .quad -8565652321871781196 + WORD $0x478238d0; WORD $0xfd00b897 // .quad -215969822234494768 + WORD $0x5d5535b0; WORD $0x55b46e5f // .quad 6175682344898606512 + WORD $0x8cb16382; WORD $0x9e20735e // .quad -7052510166537641086 + WORD $0x34aa831d; WORD $0xeb2189f7 // .quad -1503769105731517667 + WORD $0x2fddbc62; WORD $0xc5a89036 // .quad -4203951689744663454 + WORD $0x01d523e4; WORD $0xa5e9ec75 // .quad -6491397400591784988 + WORD $0xbbd52b7b; WORD $0xf712b443 // .quad -643253593753441413 + WORD $0x2125366e; WORD $0x47b233c9 // .quad 5166248661484910190 + WORD $0x55653b2d; WORD $0x9a6bb0aa // .quad -7319562523736982739 + WORD $0x696e840a; WORD $0x999ec0bb // .quad -7377247228426025974 + WORD $0xeabe89f8; WORD $0xc1069cd4 // .quad -4537767136243840520 + WORD $0x43ca250d; WORD $0xc00670ea // .quad -4609873017105144563 + WORD $0x256e2c76; WORD $0xf148440a // .quad -1060522901877412746 + WORD $0x6a5e5728; WORD $0x38040692 // .quad 4036358391950366504 + WORD $0x5764dbca; WORD $0x96cd2a86 // .quad -7580355841314464822 + WORD $0x04f5ecf2; WORD $0xc6050837 // .quad -4177924046916817678 + WORD $0xed3e12bc; WORD $0xbc807527 // .quad -4863758783215693124 + WORD $0xc633682e; WORD $0xf7864a44 // .quad -610719040218634194 + WORD $0xe88d976b; WORD $0xeba09271 // .quad -1468012460592228501 + WORD $0xfbe0211d; WORD $0x7ab3ee6a // .quad 8841672636718129437 + WORD $0x31587ea3; WORD $0x93445b87 // .quad -7835036815511224669 + WORD $0xbad82964; WORD $0x5960ea05 // .quad 6440404777470273892 + WORD $0xfdae9e4c; WORD $0xb8157268 // .quad -5182110000961642932 + WORD $0x298e33bd; WORD $0x6fb92487 // .quad 8050505971837842365 + WORD $0x3d1a45df; WORD $0xe61acf03 // .quad -1865951482774665761 + WORD $0x79f8e056; WORD $0xa5d3b6d4 // .quad -6497648813669818282 + WORD $0x06306bab; WORD $0x8fd0c162 // .quad -8083748704375247957 + WORD $0x9877186c; WORD $0x8f48a489 // .quad -8122061017087272852 + WORD $0x87bc8696; WORD $0xb3c4f1ba // .quad -5492999862041672042 + WORD $0xfe94de87; WORD $0x331acdab // .quad 3682481783923072647 + WORD $0x29aba83c; WORD $0xe0b62e29 // .quad -2254563809124702148 + WORD $0x7f1d0b14; WORD $0x9ff0c08b // .quad -6921820921902855404 + WORD $0xba0b4925; WORD $0x8c71dcd9 // .quad -8326631408344020699 + WORD $0x5ee44dd9; WORD $0x07ecf0ae // .quad 571095884476206553 + WORD $0x288e1b6f; WORD $0xaf8e5410 // .quad -5796603242002637969 + WORD $0xf69d6150; WORD $0xc9e82cd9 // .quad -3897816162832129712 + WORD $0x32b1a24a; WORD $0xdb71e914 // .quad -2634068034075909558 + WORD $0x3a225cd2; WORD $0xbe311c08 // .quad -4741978110983775022 + WORD $0x9faf056e; WORD $0x892731ac // .quad -8563821548938525330 + WORD $0x48aaf406; WORD $0x6dbd630a // .quad 7907585416552444934 + WORD $0xc79ac6ca; WORD $0xab70fe17 // .quad -6093090917745768758 + WORD $0xdad5b108; WORD $0x092cbbcc // .quad 661109733835780360 + WORD $0xb981787d; WORD $0xd64d3d9d // .quad -3004677628754823043 + WORD $0x08c58ea5; WORD $0x25bbf560 // .quad 2719036592861056677 + WORD $0x93f0eb4e; WORD $0x85f04682 // .quad -8795452545612846258 + WORD $0x0af6f24e; WORD $0xaf2af2b8 // .quad -5824576295778454962 + WORD $0x38ed2621; WORD $0xa76c5823 // .quad -6382629663588669919 + WORD $0x0db4aee1; WORD $0x1af5af66 // .quad 1942651667131707105 + WORD $0x07286faa; WORD $0xd1476e2c // .quad -3366601061058449494 + WORD $0xc890ed4d; WORD $0x50d98d9f // .quad 5825843310384704845 + WORD $0x847945ca; WORD $0x82cca4db // .quad -9021654690802612790 + WORD $0xbab528a0; WORD $0xe50ff107 // .quad -1941067898873894752 + WORD $0x6597973c; WORD $0xa37fce12 // .quad -6665382345075878084 + WORD $0xa96272c8; WORD $0x1e53ed49 // .quad 2185351144835019464 + WORD $0xfefd7d0c; WORD $0xcc5fc196 // .quad -3720041912917459700 + WORD $0x13bb0f7a; WORD $0x25e8e89c // .quad 2731688931043774330 + WORD $0xbebcdc4f; WORD $0xff77b1fc // .quad -38366372719436721 + WORD $0x8c54e9ac; WORD $0x77b19161 // .quad 8624834609543440812 + WORD $0xf73609b1; WORD $0x9faacf3d // .quad -6941508010590729807 + WORD $0xef6a2417; WORD $0xd59df5b9 // .quad -3054014793352862697 + WORD $0x75038c1d; WORD $0xc795830d // .quad -4065198994811024355 + WORD $0x6b44ad1d; WORD $0x4b057328 // .quad 5405853545163697437 + WORD $0xd2446f25; WORD $0xf97ae3d0 // .quad -469812725086392539 + WORD $0x430aec32; WORD $0x4ee367f9 // .quad 5684501474941004850 + WORD $0x836ac577; WORD $0x9becce62 // .quad -7211161980820077193 + WORD $0x93cda73f; WORD $0x229c41f7 // .quad 2493940825248868159 + WORD $0x244576d5; WORD $0xc2e801fb // .quad -4402266457597708587 + WORD $0x78c1110f; WORD $0x6b435275 // .quad 7729112049988473103 + WORD $0xed56d48a; WORD $0xf3a20279 // .quad -891147053569747830 + WORD $0x6b78aaa9; WORD $0x830a1389 // .quad -9004363024039368023 + WORD $0x345644d6; WORD $0x9845418c // .quad -7474495936122174250 + WORD $0xc656d553; WORD $0x23cc986b // .quad 2579604275232953683 + WORD $0x416bd60c; WORD $0xbe5691ef // .quad -4731433901725329908 + WORD $0xb7ec8aa8; WORD $0x2cbfbe86 // .quad 3224505344041192104 + WORD $0x11c6cb8f; WORD $0xedec366b // .quad -1302606358729274481 + WORD $0x32f3d6a9; WORD $0x7bf7d714 // .quad 8932844867666826921 + WORD $0xeb1c3f39; WORD $0x94b3a202 // .quad -7731658001846878407 + WORD $0x3fb0cc53; WORD $0xdaf5ccd9 // .quad -2669001970698630061 + WORD $0xa5e34f07; WORD $0xb9e08a83 // .quad -5052886483881210105 + WORD $0x8f9cff68; WORD $0xd1b3400f // .quad -3336252463373287576 + WORD $0x8f5c22c9; WORD $0xe858ad24 // .quad -1704422086424124727 + WORD $0xb9c21fa1; WORD $0x23100809 // .quad 2526528228819083169 + WORD $0xd99995be; WORD $0x91376c36 // .quad -7982792831656159810 + WORD $0x2832a78a; WORD $0xabd40a0c // .quad -6065211750830921846 + WORD $0x8ffffb2d; WORD $0xb5854744 // .quad -5366805021142811859 + WORD $0x323f516c; WORD $0x16c90c8f // .quad 1641857348316123500 + WORD $0xb3fff9f9; WORD $0xe2e69915 // .quad -2096820258001126919 + WORD $0x7f6792e3; WORD $0xae3da7d9 // .quad -5891368184943504669 + WORD $0x907ffc3b; WORD $0x8dd01fad // .quad -8228041688891786181 + WORD $0xdf41779c; WORD $0x99cd11cf // .quad -7364210231179380836 + WORD $0xf49ffb4a; WORD $0xb1442798 // .quad -5673366092687344822 + WORD $0xd711d583; WORD $0x40405643 // .quad 4629795266307937667 + WORD $0x31c7fa1d; WORD $0xdd95317f // .quad -2480021597431793123 + WORD $0x666b2572; WORD $0x482835ea // .quad 5199465050656154994 + WORD $0x7f1cfc52; WORD $0x8a7d3eef // .quad -8467542526035952558 + WORD $0x0005eecf; WORD $0xda324365 // .quad -2724040723534582065 + WORD $0x5ee43b66; WORD $0xad1c8eab // .quad -5972742139117552794 + WORD $0x40076a82; WORD $0x90bed43e // .quad -8016736922845615486 + WORD $0x369d4a40; WORD $0xd863b256 // .quad -2854241655469553088 + WORD $0xe804a291; WORD $0x5a7744a6 // .quad 6518754469289960081 + WORD $0xe2224e68; WORD $0x873e4f75 // .quad -8701430062309552536 + WORD $0xa205cb36; WORD $0x711515d0 // .quad 8148443086612450102 + WORD $0x5aaae202; WORD $0xa90de353 // .quad -6265101559459552766 + WORD $0xca873e03; WORD $0x0d5a5b44 // .quad 962181821410786819 + WORD $0x31559a83; WORD $0xd3515c28 // .quad -3219690930897053053 + WORD $0xfe9486c2; WORD $0xe858790a // .quad -1704479370831952190 + WORD $0x1ed58091; WORD $0x8412d999 // .quad -8929835859451740015 + WORD $0xbe39a872; WORD $0x626e974d // .quad 7092772823314835570 + WORD $0x668ae0b6; WORD $0xa5178fff // .quad -6550608805887287114 + WORD $0x2dc8128f; WORD $0xfb0a3d21 // .quad -357406007711231345 + WORD $0x402d98e3; WORD $0xce5d73ff // .quad -3576574988931720989 + WORD $0xbc9d0b99; WORD $0x7ce66634 // .quad 8999993282035256217 + WORD $0x881c7f8e; WORD $0x80fa687f // .quad -9152888395723407474 + WORD $0xebc44e80; WORD $0x1c1fffc1 // .quad 2026619565689294464 + WORD $0x6a239f72; WORD $0xa139029f // .quad -6829424476226871438 + WORD $0x66b56220; WORD $0xa327ffb2 // .quad -6690097579743157728 + WORD $0x44ac874e; WORD $0xc9874347 // .quad -3925094576856201394 + WORD $0x0062baa8; WORD $0x4bf1ff9f // .quad 5472436080603216552 + WORD $0x15d7a922; WORD $0xfbe91419 // .quad -294682202642863838 + WORD $0x603db4a9; WORD $0x6f773fc3 // .quad 8031958568804398249 + WORD $0xada6c9b5; WORD $0x9d71ac8f // .quad -7101705404292871755 + WORD $0x384d21d3; WORD $0xcb550fb4 // .quad -3795109844276665901 + WORD $0x99107c22; WORD $0xc4ce17b3 // .quad -4265445736938701790 + WORD $0x46606a48; WORD $0x7e2a53a1 // .quad 9091170749936331336 + WORD $0x7f549b2b; WORD $0xf6019da0 // .quad -720121152745989333 + WORD $0xcbfc426d; WORD $0x2eda7444 // .quad 3376138709496513133 + WORD $0x4f94e0fb; WORD $0x99c10284 // .quad -7367604748107325189 + WORD $0xfefb5308; WORD $0xfa911155 // .quad -391512631556746488 + WORD $0x637a1939; WORD $0xc0314325 // .quad -4597819916706768583 + WORD $0x7eba27ca; WORD $0x793555ab // .quad 8733981247408842698 + WORD $0xbc589f88; WORD $0xf03d93ee // .quad -1135588877456072824 + WORD $0x2f3458de; WORD $0x4bc1558b // .quad 5458738279630526686 + WORD $0x35b763b5; WORD $0x96267c75 // .quad -7627272076051127371 + WORD $0xfb016f16; WORD $0x9eb1aaed // .quad -7011635205744005354 + WORD $0x83253ca2; WORD $0xbbb01b92 // .quad -4922404076636521310 + WORD $0x79c1cadc; WORD $0x465e15a9 // .quad 5070514048102157020 + WORD $0x23ee8bcb; WORD $0xea9c2277 // .quad -1541319077368263733 + WORD $0xec191ec9; WORD $0x0bfacd89 // .quad 863228270850154185 + WORD $0x7675175f; WORD $0x92a1958a // .quad -7880853450996246689 + WORD $0x671f667b; WORD $0xcef980ec // .quad -3532650679864695173 + WORD $0x14125d36; WORD $0xb749faed // .quad -5239380795317920458 + WORD $0x80e7401a; WORD $0x82b7e127 // .quad -9027499368258256870 + WORD $0x5916f484; WORD $0xe51c79a8 // .quad -1937539975720012668 + WORD $0xb0908810; WORD $0xd1b2ecb8 // .quad -3336344095947716592 + WORD $0x37ae58d2; WORD $0x8f31cc09 // .quad -8128491512466089774 + WORD $0xdcb4aa15; WORD $0x861fa7e6 // .quad -8782116138362033643 + WORD $0x8599ef07; WORD $0xb2fe3f0b // .quad -5548928372155224313 + WORD $0x93e1d49a; WORD $0x67a791e0 // .quad 7469098900757009562 + WORD $0x67006ac9; WORD $0xdfbdcece // .quad -2324474446766642487 + WORD $0x5c6d24e0; WORD $0xe0c8bb2c // .quad -2249342214667950880 + WORD $0x006042bd; WORD $0x8bd6a141 // .quad -8370325556870233411 + WORD $0x73886e18; WORD $0x58fae9f7 // .quad 6411694268519837208 + WORD $0x4078536d; WORD $0xaecc4991 // .quad -5851220927660403859 + WORD $0x506a899e; WORD $0xaf39a475 // .quad -5820440219632367202 + WORD $0x90966848; WORD $0xda7f5bf5 // .quad -2702340141148116920 + WORD $0x52429603; WORD $0x6d8406c9 // .quad 7891439908798240259 + WORD $0x7a5e012d; WORD $0x888f9979 // .quad -8606491615858654931 + WORD $0xa6d33b83; WORD $0xc8e5087b // .quad -3970758169284363389 + WORD $0xd8f58178; WORD $0xaab37fd7 // .quad -6146428501395930760 + WORD $0x90880a64; WORD $0xfb1e4a9a // .quad -351761693178066332 + WORD $0xcf32e1d6; WORD $0xd5605fcd // .quad -3071349608317525546 + WORD $0x9a55067f; WORD $0x5cf2eea0 // .quad 6697677969404790399 + WORD $0xa17fcd26; WORD $0x855c3be0 // .quad -8837122532839535322 + WORD $0xc0ea481e; WORD $0xf42faa48 // .quad -851274575098787810 + WORD $0xc9dfc06f; WORD $0xa6b34ad8 // .quad -6434717147622031249 + WORD $0xf124da26; WORD $0xf13b94da // .quad -1064093218873484762 + WORD $0xfc57b08b; WORD $0xd0601d8e // .quad -3431710416100151157 + WORD $0xd6b70858; WORD $0x76c53d08 // .quad 8558313775058847832 + WORD $0x5db6ce57; WORD $0x823c1279 // .quad -9062348037703676329 + WORD $0x0c64ca6e; WORD $0x54768c4b // .quad 6086206200396171886 + WORD $0xb52481ed; WORD $0xa2cb1717 // .quad -6716249028702207507 + WORD $0xcf7dfd09; WORD $0xa9942f5d // .quad -6227300304786948855 + WORD $0xa26da268; WORD $0xcb7ddcdd // .quad -3783625267450371480 + WORD $0x435d7c4c; WORD $0xd3f93b35 // .quad -3172439362556298164 + WORD $0x0b090b02; WORD $0xfe5d5415 // .quad -117845565885576446 + WORD $0x4a1a6daf; WORD $0xc47bc501 // .quad -4288617610811380305 + WORD $0x26e5a6e1; WORD $0x9efa548d // .quad -6991182506319567135 + WORD $0x9ca1091b; WORD $0x359ab641 // .quad 3862600023340550427 + WORD $0x709f109a; WORD $0xc6b8e9b0 // .quad -4127292114472071014 + WORD $0x03c94b62; WORD $0xc30163d2 // .quad -4395122007679087774 + WORD $0x8cc6d4c0; WORD $0xf867241c // .quad -547429124662700864 + WORD $0x425dcf1d; WORD $0x79e0de63 // .quad 8782263791269039901 + WORD $0xd7fc44f8; WORD $0x9b407691 // .quad -7259672230555269896 + WORD $0x12f542e4; WORD $0x985915fc // .quad -7468914334623251740 + WORD $0x4dfb5636; WORD $0xc2109436 // .quad -4462904269766699466 + WORD $0x17b2939d; WORD $0x3e6f5b7b // .quad 4498915137003099037 + WORD $0xe17a2bc4; WORD $0xf294b943 // .quad -966944318780986428 + WORD $0xeecf9c42; WORD $0xa705992c // .quad -6411550076227838910 + WORD $0x6cec5b5a; WORD $0x979cf3ca // .quad -7521869226879198374 + WORD $0x2a838353; WORD $0x50c6ff78 // .quad 5820620459997365075 + WORD $0x08277231; WORD $0xbd8430bd // .quad -4790650515171610063 + WORD $0x35246428; WORD $0xa4f8bf56 // .quad -6559282480285457368 + WORD $0x4a314ebd; WORD $0xece53cec // .quad -1376627125537124675 + WORD $0xe136be99; WORD $0x871b7795 // .quad -8711237568605798759 + WORD $0xae5ed136; WORD $0x940f4613 // .quad -7777920981101784778 + WORD $0x59846e3f; WORD $0x28e2557b // .quad 2946011094524915263 + WORD $0x99f68584; WORD $0xb9131798 // .quad -5110715207949843068 + WORD $0x2fe589cf; WORD $0x331aeada // .quad 3682513868156144079 + WORD $0xc07426e5; WORD $0xe757dd7e // .quad -1776707991509915931 + WORD $0x5def7621; WORD $0x3ff0d2c8 // .quad 4607414176811284001 + WORD $0x3848984f; WORD $0x9096ea6f // .quad -8027971522334779313 + WORD $0x756b53a9; WORD $0x0fed077a // .quad 1147581702586717097 + WORD $0x065abe63; WORD $0xb4bca50b // .quad -5423278384491086237 + WORD $0x12c62894; WORD $0xd3e84959 // .quad -3177208890193991532 + WORD $0xc7f16dfb; WORD $0xe1ebce4d // .quad -2167411962186469893 + WORD $0xabbbd95c; WORD $0x64712dd7 // .quad 7237616480483531100 + WORD $0x9cf6e4bd; WORD $0x8d3360f0 // .quad -8272161504007625539 + WORD $0x96aacfb3; WORD $0xbd8d794d // .quad -4788037454677749837 + WORD $0xc4349dec; WORD $0xb080392c // .quad -5728515861582144020 + WORD $0xfc5583a0; WORD $0xecf0d7a0 // .quad -1373360799919799392 + WORD $0xf541c567; WORD $0xdca04777 // .quad -2548958808550292121 + WORD $0x9db57244; WORD $0xf41686c4 // .quad -858350499949874620 + WORD $0xf9491b60; WORD $0x89e42caa // .quad -8510628282985014432 + WORD $0xc522ced5; WORD $0x311c2875 // .quad 3538747893490044629 + WORD $0xb79b6239; WORD $0xac5d37d5 // .quad -6026599335303880135 + WORD $0x366b828b; WORD $0x7d633293 // .quad 9035120885289943691 + WORD $0x25823ac7; WORD $0xd77485cb // .quad -2921563150702462265 + WORD $0x02033197; WORD $0xae5dff9c // .quad -5882264492762254953 + WORD $0xf77164bc; WORD $0x86a8d39e // .quad -8743505996830120772 + WORD $0x0283fdfc; WORD $0xd9f57f83 // .quad -2741144597525430788 + WORD $0xb54dbdeb; WORD $0xa8530886 // .quad -6317696477610263061 + WORD $0xc324fd7b; WORD $0xd072df63 // .quad -3426430746906788485 + WORD $0x62a12d66; WORD $0xd267caa8 // .quad -3285434578585440922 + WORD $0x59f71e6d; WORD $0x4247cb9e // .quad 4776009810824339053 + WORD $0x3da4bc60; WORD $0x8380dea9 // .quad -8970925639256982432 + WORD $0xf074e608; WORD $0x52d9be85 // .quad 5970012263530423816 + WORD $0x8d0deb78; WORD $0xa4611653 // .quad -6601971030643840136 + WORD $0x6c921f8b; WORD $0x67902e27 // .quad 7462515329413029771 + WORD $0x70516656; WORD $0xcd795be8 // .quad -3640777769877412266 + WORD $0xa3db53b6; WORD $0x00ba1cd8 // .quad 52386062455755702 + WORD $0x4632dff6; WORD $0x806bd971 // .quad -9193015133814464522 + WORD $0xccd228a4; WORD $0x80e8a40e // .quad -9157889458785081180 + WORD $0x97bf97f3; WORD $0xa086cfcd // .quad -6879582898840692749 + WORD $0x8006b2cd; WORD $0x6122cd12 // .quad 6999382250228200141 + WORD $0xfdaf7df0; WORD $0xc8a883c0 // .quad -3987792605123478032 + WORD $0x20085f81; WORD $0x796b8057 // .quad 8749227812785250177 + WORD $0x3d1b5d6c; WORD $0xfad2a4b1 // .quad -373054737976959636 + WORD $0x74053bb0; WORD $0xcbe33036 // .quad -3755104653863994448 + WORD $0xc6311a63; WORD $0x9cc3a6ee // .quad -7150688238876681629 + WORD $0x11068a9c; WORD $0xbedbfc44 // .quad -4693880817329993060 + WORD $0x77bd60fc; WORD $0xc3f490aa // .quad -4326674280168464132 + WORD $0x15482d44; WORD $0xee92fb55 // .quad -1255665003235103420 + WORD $0x15acb93b; WORD $0xf4f1b4d5 // .quad -796656831783192261 + WORD $0x2d4d1c4a; WORD $0x751bdd15 // .quad 8438581409832836170 + WORD $0x2d8bf3c5; WORD $0x99171105 // .quad -7415439547505577019 + WORD $0x78a0635d; WORD $0xd262d45a // .quad -3286831292991118499 + WORD $0x78eef0b6; WORD $0xbf5cd546 // .quad -4657613415954583370 + WORD $0x16c87c34; WORD $0x86fb8971 // .quad -8720225134666286028 + WORD $0x172aace4; WORD $0xef340a98 // .quad -1210330751515841308 + WORD $0xae3d4da0; WORD $0xd45d35e6 // .quad -3144297699952734816 + WORD $0x0e7aac0e; WORD $0x9580869f // .quad -7673985747338482674 + WORD $0x59cca109; WORD $0x89748360 // .quad -8542058143368306423 + WORD $0xd2195712; WORD $0xbae0a846 // .quad -4980796165745715438 + WORD $0x703fc94b; WORD $0x2bd1a438 // .quad 3157485376071780683 + WORD $0x869facd7; WORD $0xe998d258 // .quad -1614309188754756393 + WORD $0x4627ddcf; WORD $0x7b6306a3 // .quad 8890957387685944783 + WORD $0x5423cc06; WORD $0x91ff8377 // .quad -7926472270612804602 + WORD $0x17b1d542; WORD $0x1a3bc84c // .quad 1890324697752655170 + WORD $0x292cbf08; WORD $0xb67f6455 // .quad -5296404319838617848 + WORD $0x1d9e4a93; WORD $0x20caba5f // .quad 2362905872190818963 + WORD $0x7377eeca; WORD $0xe41f3d6a // .quad -2008819381370884406 + WORD $0x7282ee9c; WORD $0x547eb47b // .quad 6088502188546649756 + WORD $0x882af53e; WORD $0x8e938662 // .quad -8173041140997884610 + WORD $0x4f23aa43; WORD $0xe99e619a // .quad -1612744301171463613 + WORD $0x2a35b28d; WORD $0xb23867fb // .quad -5604615407819967859 + WORD $0xe2ec94d4; WORD $0x6405fa00 // .quad 7207441660390446292 + WORD $0xf4c31f31; WORD $0xdec681f9 // .quad -2394083241347571919 + WORD $0x8dd3dd04; WORD $0xde83bc40 // .quad -2412877989897052924 + WORD $0x38f9f37e; WORD $0x8b3c113c // .quad -8413831053483314306 + WORD $0xb148d445; WORD $0x9624ab50 // .quad -7627783505798704059 + WORD $0x4738705e; WORD $0xae0b158b // .quad -5905602798426754978 + WORD $0xdd9b0957; WORD $0x3badd624 // .quad 4300328673033783639 + WORD $0x19068c76; WORD $0xd98ddaee // .quad -2770317479606055818 + WORD $0x0a80e5d6; WORD $0xe54ca5d7 // .quad -1923980597781273130 + WORD $0xcfa417c9; WORD $0x87f8a8d4 // .quad -8648977452394866743 + WORD $0xcd211f4c; WORD $0x5e9fcf4c // .quad 6818396289628184396 + WORD $0x038d1dbc; WORD $0xa9f6d30a // .quad -6199535797066195524 + WORD $0x0069671f; WORD $0x7647c320 // .quad 8522995362035230495 + WORD $0x8470652b; WORD $0xd47487cc // .quad -3137733727905356501 + WORD $0x0041e073; WORD $0x29ecd9f4 // .quad 3021029092058325107 + WORD $0xd2c63f3b; WORD $0x84c8d4df // .quad -8878612607581929669 + WORD $0x00525890; WORD $0xf4681071 // .quad -835399653354481520 + WORD $0xc777cf09; WORD $0xa5fb0a17 // .quad -6486579741050024183 + WORD $0x4066eeb4; WORD $0x7182148d // .quad 8179122470161673908 + WORD $0xb955c2cc; WORD $0xcf79cc9d // .quad -3496538657885142324 + WORD $0x48405530; WORD $0xc6f14cd8 // .quad -4111420493003729616 + WORD $0x93d599bf; WORD $0x81ac1fe2 // .quad -9102865688819295809 + WORD $0x5a506a7c; WORD $0xb8ada00e // .quad -5139275616254662020 + WORD $0x38cb002f; WORD $0xa21727db // .quad -6766896092596731857 + WORD $0xf0e4851c; WORD $0xa6d90811 // .quad -6424094520318327524 + WORD $0x06fdc03b; WORD $0xca9cf1d2 // .quad -3846934097318526917 + WORD $0x6d1da663; WORD $0x908f4a16 // .quad -8030118150397909405 + WORD $0x88bd304a; WORD $0xfd442e46 // .quad -196981603220770742 + WORD $0x043287fe; WORD $0x9a598e4e // .quad -7324666853212387330 + WORD $0x15763e2e; WORD $0x9e4a9cec // .quad -7040642529654063570 + WORD $0x853f29fd; WORD $0x40eff1e1 // .quad 4679224488766679549 + WORD $0x1ad3cdba; WORD $0xc5dd4427 // .quad -4189117143640191558 + WORD $0xe68ef47c; WORD $0xd12bee59 // .quad -3374341425896426372 + WORD $0xe188c128; WORD $0xf7549530 // .quad -624710411122851544 + WORD $0x301958ce; WORD $0x82bb74f8 // .quad -9026492418826348338 + WORD $0x8cf578b9; WORD $0x9a94dd3e // .quad -7307973034592864071 + WORD $0x3c1faf01; WORD $0xe36a5236 // .quad -2059743486678159615 + WORD $0x3032d6e7; WORD $0xc13a148e // .quad -4523280274813692185 + WORD $0xcb279ac1; WORD $0xdc44e6c3 // .quad -2574679358347699519 + WORD $0xbc3f8ca1; WORD $0xf18899b1 // .quad -1042414325089727327 + WORD $0x5ef8c0b9; WORD $0x29ab103a // .quad 3002511419460075705 + WORD $0x15a7b7e5; WORD $0x96f5600f // .quad -7569037980822161435 + WORD $0xf6b6f0e7; WORD $0x7415d448 // .quad 8364825292752482535 + WORD $0xdb11a5de; WORD $0xbcb2b812 // .quad -4849611457600313890 + WORD $0x3464ad21; WORD $0x111b495b // .quad 1232659579085827361 + WORD $0x91d60f56; WORD $0xebdf6617 // .quad -1450328303573004458 + WORD $0x00beec34; WORD $0xcab10dd9 // .quad -3841273781498745804 + WORD $0xbb25c995; WORD $0x936b9fce // .quad -7823984217374209643 + WORD $0x40eea742; WORD $0x3d5d514f // .quad 4421779809981343554 + WORD $0x69ef3bfb; WORD $0xb84687c2 // .quad -5168294253290374149 + WORD $0x112a5112; WORD $0x0cb4a5a3 // .quad 915538744049291538 + WORD $0x046b0afa; WORD $0xe65829b3 // .quad -1848681798185579782 + WORD $0xeaba72ab; WORD $0x47f0e785 // .quad 5183897733458195115 + WORD $0xe2c2e6dc; WORD $0x8ff71a0f // .quad -8072955151507069220 + WORD $0x65690f56; WORD $0x59ed2167 // .quad 6479872166822743894 + WORD $0xdb73a093; WORD $0xb3f4e093 // .quad -5479507920956448621 + WORD $0x3ec3532c; WORD $0x306869c1 // .quad 3488154190101041964 + WORD $0xd25088b8; WORD $0xe0f218b8 // .quad -2237698882768172872 + WORD $0xc73a13fb; WORD $0x1e414218 // .quad 2180096368813151227 + WORD $0x83725573; WORD $0x8c974f73 // .quad -8316090829371189901 + WORD $0xf90898fa; WORD $0xe5d1929e // .quad -1886565557410948870 + WORD $0x644eeacf; WORD $0xafbd2350 // .quad -5783427518286599473 + WORD $0xb74abf39; WORD $0xdf45f746 // .quad -2358206946763686087 + WORD $0x7d62a583; WORD $0xdbac6c24 // .quad -2617598379430861437 + WORD $0x328eb783; WORD $0x6b8bba8c // .quad 7749492695127472003 + WORD $0xce5da772; WORD $0x894bc396 // .quad -8553528014785370254 + WORD $0x3f326564; WORD $0x066ea92f // .quad 463493832054564196 + WORD $0x81f5114f; WORD $0xab9eb47c // .quad -6080224000054324913 + WORD $0x0efefebd; WORD $0xc80a537b // .quad -4032318728359182659 + WORD $0xa27255a2; WORD $0xd686619b // .quad -2988593981640518238 + WORD $0xe95f5f36; WORD $0xbd06742c // .quad -4826042214438183114 + WORD $0x45877585; WORD $0x8613fd01 // .quad -8785400266166405755 + WORD $0x23b73704; WORD $0x2c481138 // .quad 3190819268807046916 + WORD $0x96e952e7; WORD $0xa798fc41 // .quad -6370064314280619289 + WORD $0x2ca504c5; WORD $0xf75a1586 // .quad -623161932418579259 + WORD $0xfca3a7a0; WORD $0xd17f3b51 // .quad -3350894374423386208 + WORD $0xdbe722fb; WORD $0x9a984d73 // .quad -7307005235402693893 + WORD $0x3de648c4; WORD $0x82ef8513 // .quad -9011838011655698236 + WORD $0xd2e0ebba; WORD $0xc13e60d0 // .quad -4522070525825979462 + WORD $0x0d5fdaf5; WORD $0xa3ab6658 // .quad -6653111496142234891 + WORD $0x079926a8; WORD $0x318df905 // .quad 3570783879572301480 + WORD $0x10b7d1b3; WORD $0xcc963fee // .quad -3704703351750405709 + WORD $0x497f7052; WORD $0xfdf17746 // .quad -148206168962011054 + WORD $0x94e5c61f; WORD $0xffbbcfe9 // .quad -19193171260619233 + WORD $0xedefa633; WORD $0xfeb6ea8b // .quad -92628855601256909 + WORD $0xfd0f9bd3; WORD $0x9fd561f1 // .quad -6929524759678968877 + WORD $0xe96b8fc0; WORD $0xfe64a52e // .quad -115786069501571136 + WORD $0x7c5382c8; WORD $0xc7caba6e // .quad -4050219931171323192 + WORD $0xa3c673b0; WORD $0x3dfdce7a // .quad 4466953431550423984 + WORD $0x1b68637b; WORD $0xf9bd690a // .quad -451088895536766085 + WORD $0xa65c084e; WORD $0x06bea10c // .quad 486002885505321038 + WORD $0x51213e2d; WORD $0x9c1661a6 // .quad -7199459587351560659 + WORD $0xcff30a62; WORD $0x486e494f // .quad 5219189625309039202 + WORD $0xe5698db8; WORD $0xc31bfa0f // .quad -4387638465762062920 + WORD $0xc3efccfa; WORD $0x5a89dba3 // .quad 6523987031636299002 + WORD $0xdec3f126; WORD $0xf3e2f893 // .quad -872862063775190746 + WORD $0x5a75e01c; WORD $0xf8962946 // .quad -534194123654701028 + WORD $0x6b3a76b7; WORD $0x986ddb5c // .quad -7463067817500576073 + WORD $0xf1135823; WORD $0xf6bbb397 // .quad -667742654568376285 + WORD $0x86091465; WORD $0xbe895233 // .quad -4717148753448332187 + WORD $0xed582e2c; WORD $0x746aa07d // .quad 8388693718644305452 + WORD $0x678b597f; WORD $0xee2ba6c0 // .quad -1284749923383027329 + WORD $0xb4571cdc; WORD $0xa8c2a44e // .quad -6286281471915778852 + WORD $0x40b717ef; WORD $0x94db4838 // .quad -7720497729755473937 + WORD $0x616ce413; WORD $0x92f34d62 // .quad -7857851839894723565 + WORD $0x50e4ddeb; WORD $0xba121a46 // .quad -5038936143766954517 + WORD $0xf9c81d17; WORD $0x77b020ba // .quad 8624429273841147159 + WORD $0xe51e1566; WORD $0xe896a0d7 // .quad -1686984161281305242 + WORD $0xdc1d122e; WORD $0x0ace1474 // .quad 778582277723329070 + WORD $0xef32cd60; WORD $0x915e2486 // .quad -7971894128441897632 + WORD $0x132456ba; WORD $0x0d819992 // .quad 973227847154161338 + WORD $0xaaff80b8; WORD $0xb5b5ada8 // .quad -5353181642124984136 + WORD $0x97ed6c69; WORD $0x10e1fff6 // .quad 1216534808942701673 + WORD $0xd5bf60e6; WORD $0xe3231912 // .quad -2079791034228842266 + WORD $0x1ef463c1; WORD $0xca8d3ffa // .quad -3851351762838199359 + WORD $0xc5979c8f; WORD $0x8df5efab // .quad -8217398424034108273 + WORD $0xa6b17cb2; WORD $0xbd308ff8 // .quad -4814189703547749198 + WORD $0xb6fd83b3; WORD $0xb1736b96 // .quad -5660062011615247437 + WORD $0xd05ddbde; WORD $0xac7cb3f6 // .quad -6017737129434686498 + WORD $0x64bce4a0; WORD $0xddd0467c // .quad -2463391496091671392 + WORD $0x423aa96b; WORD $0x6bcdf07a // .quad 7768129340171790699 + WORD $0xbef60ee4; WORD $0x8aa22c0d // .quad -8457148712698376476 + WORD $0xd2c953c6; WORD $0x86c16c98 // .quad -8736582398494813242 + WORD $0x2eb3929d; WORD $0xad4ab711 // .quad -5959749872445582691 + WORD $0x077ba8b7; WORD $0xe871c7bf // .quad -1697355961263740745 + WORD $0x7a607744; WORD $0xd89d64d5 // .quad -2838001322129590460 + WORD $0x64ad4972; WORD $0x11471cd7 // .quad 1244995533423855986 + WORD $0x6c7c4a8b; WORD $0x87625f05 // .quad -8691279853972075893 + WORD $0x3dd89bcf; WORD $0xd598e40d // .quad -3055441601647567921 + WORD $0xc79b5d2d; WORD $0xa93af6c6 // .quad -6252413799037706963 + WORD $0x8d4ec2c3; WORD $0x4aff1d10 // .quad 5404070034795315907 + WORD $0x79823479; WORD $0xd389b478 // .quad -3203831230369745799 + WORD $0x585139ba; WORD $0xcedf722a // .quad -3539985255894009414 + WORD $0x4bf160cb; WORD $0x843610cb // .quad -8919923546622172981 + WORD $0xee658828; WORD $0xc2974eb4 // .quad -4424981569867511768 + WORD $0x1eedb8fe; WORD $0xa54394fe // .quad -6538218414850328322 + WORD $0x29feea32; WORD $0x733d2262 // .quad 8303831092947774002 + WORD $0xa6a9273e; WORD $0xce947a3d // .quad -3561087000135522498 + WORD $0x5a3f525f; WORD $0x0806357d // .quad 578208414664970847 + WORD $0x8829b887; WORD $0x811ccc66 // .quad -9143208402725783417 + WORD $0xb0cf26f7; WORD $0xca07c2dc // .quad -3888925500096174345 + WORD $0x2a3426a8; WORD $0xa163ff80 // .quad -6817324484979841368 + WORD $0xdd02f0b5; WORD $0xfc89b393 // .quad -249470856692830027 + WORD $0x34c13052; WORD $0xc9bcff60 // .quad -3909969587797413806 + WORD $0xd443ace2; WORD $0xbbac2078 // .quad -4923524589293425438 + WORD $0x41f17c67; WORD $0xfc2c3f38 // .quad -275775966319379353 + WORD $0x84aa4c0d; WORD $0xd54b944b // .quad -3077202868308390899 + WORD $0x2936edc0; WORD $0x9d9ba783 // .quad -7089889006590693952 + WORD $0x65d4df11; WORD $0x0a9e795e // .quad 765182433041899281 + WORD $0xf384a931; WORD $0xc5029163 // .quad -4250675239810979535 + WORD $0xff4a16d5; WORD $0x4d4617b5 // .quad 5568164059729762005 + WORD $0xf065d37d; WORD $0xf64335bc // .quad -701658031336336515 + WORD $0xbf8e4e45; WORD $0x504bced1 // .quad 5785945546544795205 + WORD $0x163fa42e; WORD $0x99ea0196 // .quad -7356065297226292178 + WORD $0x2f71e1d6; WORD $0xe45ec286 // .quad -1990940103673781802 + WORD $0x9bcf8d39; WORD $0xc06481fb // .quad -4583395603105477319 + WORD $0xbb4e5a4c; WORD $0x5d767327 // .quad 6734696907262548556 + WORD $0x82c37088; WORD $0xf07da27a // .quad -1117558485454458744 + WORD $0xd510f86f; WORD $0x3a6a07f8 // .quad 4209185567039092847 + WORD $0x91ba2655; WORD $0x964e858c // .quad -7616003081050118571 + WORD $0x0a55368b; WORD $0x890489f7 // .quad -8573576096483297653 + WORD $0xb628afea; WORD $0xbbe226ef // .quad -4908317832885260310 + WORD $0xccea842e; WORD $0x2b45ac74 // .quad 3118087934678041646 + WORD $0xa3b2dbe5; WORD $0xeadab0ab // .quad -1523711272679187483 + WORD $0x0012929d; WORD $0x3b0b8bc9 // .quad 4254647968387469981 + WORD $0x464fc96f; WORD $0x92c8ae6b // .quad -7869848573065574033 + WORD $0x40173744; WORD $0x09ce6ebb // .quad 706623942056949572 + WORD $0x17e3bbcb; WORD $0xb77ada06 // .quad -5225624697904579637 + WORD $0x101d0515; WORD $0xcc420a6a // .quad -3728406090856200939 + WORD $0x9ddcaabd; WORD $0xe5599087 // .quad -1920344853953336643 + WORD $0x4a12232d; WORD $0x9fa94682 // .quad -6941939825212513491 + WORD $0xc2a9eab6; WORD $0x8f57fa54 // .quad -8117744561361917258 + WORD $0xdc96abf9; WORD $0x47939822 // .quad 5157633273766521849 + WORD $0xf3546564; WORD $0xb32df8e9 // .quad -5535494683275008668 + WORD $0x93bc56f7; WORD $0x59787e2b // .quad 6447041592208152311 + WORD $0x70297ebd; WORD $0xdff97724 // .quad -2307682335666372931 + WORD $0x3c55b65a; WORD $0x57eb4edb // .quad 6335244004343789146 + WORD $0xc619ef36; WORD $0x8bfbea76 // .quad -8359830487432564938 + WORD $0x0b6b23f1; WORD $0xede62292 // .quad -1304317031425039375 + WORD $0x77a06b03; WORD $0xaefae514 // .quad -5838102090863318269 + WORD $0x8e45eced; WORD $0xe95fab36 // .quad -1630396289281299219 + WORD $0x958885c4; WORD $0xdab99e59 // .quad -2685941595151759932 + WORD $0x18ebb414; WORD $0x11dbcb02 // .quad 1286845328412881940 + WORD $0xfd75539b; WORD $0x88b402f7 // .quad -8596242524610931813 + WORD $0x9f26a119; WORD $0xd652bdc2 // .quad -3003129357911285479 + WORD $0xfcd2a881; WORD $0xaae103b5 // .quad -6133617137336276863 + WORD $0x46f0495f; WORD $0x4be76d33 // .quad 5469460339465668959 + WORD $0x7c0752a2; WORD $0xd59944a3 // .quad -3055335403242958174 + WORD $0x0c562ddb; WORD $0x6f70a440 // .quad 8030098730593431003 + WORD $0x2d8493a5; WORD $0x857fcae6 // .quad -8827113654667930715 + WORD $0x0f6bb952; WORD $0xcb4ccd50 // .quad -3797434642040374958 + WORD $0xb8e5b88e; WORD $0xa6dfbd9f // .quad -6422206049907525490 + WORD $0x1346a7a7; WORD $0x7e2000a4 // .quad 9088264752731695015 + WORD $0xa71f26b2; WORD $0xd097ad07 // .quad -3416071543957018958 + WORD $0x8c0c28c8; WORD $0x8ed40066 // .quad -8154892584824854328 + WORD $0xc873782f; WORD $0x825ecc24 // .quad -9052573742614218705 + WORD $0x2f0f32fa; WORD $0x72890080 // .quad 8253128342678483706 + WORD $0xfa90563b; WORD $0xa2f67f2d // .quad -6704031159840385477 + WORD $0x3ad2ffb9; WORD $0x4f2b40a0 // .quad 5704724409920716729 + WORD $0x79346bca; WORD $0xcbb41ef9 // .quad -3768352931373093942 + WORD $0x4987bfa8; WORD $0xe2f610c8 // .quad -2092466524453879896 + WORD $0xd78186bc; WORD $0xfea126b7 // .quad -98755145788979524 + WORD $0x2df4d7c9; WORD $0x0dd9ca7d // .quad 998051431430019017 + WORD $0xe6b0f436; WORD $0x9f24b832 // .quad -6979250993759194058 + WORD $0x79720dbb; WORD $0x91503d1c // .quad -7975807747567252037 + WORD $0xa05d3143; WORD $0xc6ede63f // .quad -4112377723771604669 + WORD $0x97ce912a; WORD $0x75a44c63 // .quad 8476984389250486570 + WORD $0x88747d94; WORD $0xf8a95fcf // .quad -528786136287117932 + WORD $0x3ee11aba; WORD $0xc986afbe // .quad -3925256793573221702 + WORD $0xb548ce7c; WORD $0x9b69dbe1 // .quad -7248020362820530564 + WORD $0xce996168; WORD $0xfbe85bad // .quad -294884973539139224 + WORD $0x229b021b; WORD $0xc24452da // .quad -4448339435098275301 + WORD $0x423fb9c3; WORD $0xfae27299 // .quad -368606216923924029 + WORD $0xab41c2a2; WORD $0xf2d56790 // .quad -948738275445456222 + WORD $0xc967d41a; WORD $0xdccd879f // .quad -2536221894791146470 + WORD $0x6b0919a5; WORD $0x97c560ba // .quad -7510490449794491995 + WORD $0xbbc1c920; WORD $0x5400e987 // .quad 6053094668365842720 + WORD $0x05cb600f; WORD $0xbdb6b8e9 // .quad -4776427043815727089 + WORD $0xaab23b68; WORD $0x290123e9 // .quad 2954682317029915496 + WORD $0x473e3813; WORD $0xed246723 // .quad -1358847786342270957 + WORD $0x0aaf6521; WORD $0xf9a0b672 // .quad -459166561069996767 + WORD $0x0c86e30b; WORD $0x9436c076 // .quad -7766808894105001205 + WORD $0x8d5b3e69; WORD $0xf808e40e // .quad -573958201337495959 + WORD $0x8fa89bce; WORD $0xb9447093 // .quad -5096825099203863602 + WORD $0x30b20e04; WORD $0xb60b1d12 // .quad -5329133770099257852 + WORD $0x7392c2c2; WORD $0xe7958cb8 // .quad -1759345355577441598 + WORD $0x5e6f48c2; WORD $0xb1c6f22b // .quad -5636551615525730110 + WORD $0x483bb9b9; WORD $0x90bd77f3 // .quad -8017119874876982855 + WORD $0x360b1af3; WORD $0x1e38aeb6 // .quad 2177682517447613171 + WORD $0x1a4aa828; WORD $0xb4ecd5f0 // .quad -5409713825168840664 + WORD $0xc38de1b0; WORD $0x25c6da63 // .quad 2722103146809516464 + WORD $0x20dd5232; WORD $0xe2280b6c // .quad -2150456263033662926 + WORD $0x5a38ad0e; WORD $0x579c487e // .quad 6313000485183335694 + WORD $0x948a535f; WORD $0x8d590723 // .quad -8261564192037121185 + WORD $0xf0c6d851; WORD $0x2d835a9d // .quad 3279564588051781713 + WORD $0x79ace837; WORD $0xb0af48ec // .quad -5715269221619013577 + WORD $0x6cf88e65; WORD $0xf8e43145 // .quad -512230283362660763 + WORD $0x98182244; WORD $0xdcdb1b27 // .quad -2532400508596379068 + WORD $0x641b58ff; WORD $0x1b8e9ecb // .quad 1985699082112030975 + WORD $0xbf0f156b; WORD $0x8a08f0f8 // .quad -8500279345513818773 + WORD $0x3d222f3f; WORD $0xe272467e // .quad -2129562165787349185 + WORD $0xeed2dac5; WORD $0xac8b2d36 // .quad -6013663163464885563 + WORD $0xcc6abb0f; WORD $0x5b0ed81d // .quad 6561419329620589327 + WORD $0xaa879177; WORD $0xd7adf884 // .quad -2905392935903719049 + WORD $0x9fc2b4e9; WORD $0x98e94712 // .quad -7428327965055601431 + WORD $0xea94baea; WORD $0x86ccbb52 // .quad -8733399612580906262 + WORD $0x47b36224; WORD $0x3f2398d7 // .quad 4549648098962661924 + WORD $0xa539e9a5; WORD $0xa87fea27 // .quad -6305063497298744923 + WORD $0x19a03aad; WORD $0x8eec7f0d // .quad -8147997931578836307 + WORD $0x8e88640e; WORD $0xd29fe4b1 // .quad -3269643353196043250 + WORD $0x300424ac; WORD $0x1953cf68 // .quad 1825030320404309164 + WORD $0xf9153e89; WORD $0x83a3eeee // .quad -8961056123388608887 + WORD $0x3c052dd7; WORD $0x5fa8c342 // .quad 6892973918932774359 + WORD $0xb75a8e2b; WORD $0xa48ceaaa // .quad -6589634135808373205 + WORD $0xcb06794d; WORD $0x3792f412 // .quad 4004531380238580045 + WORD $0x653131b6; WORD $0xcdb02555 // .quad -3625356651333078602 + WORD $0xbee40bd0; WORD $0xe2bbd88b // .quad -2108853905778275376 + WORD $0x5f3ebf11; WORD $0x808e1755 // .quad -9183376934724255983 + WORD $0xae9d0ec4; WORD $0x5b6aceae // .quad 6587304654631931588 + WORD $0xb70e6ed6; WORD $0xa0b19d2a // .quad -6867535149977932074 + WORD $0x5a445275; WORD $0xf245825a // .quad -989241218564861323 + WORD $0x64d20a8b; WORD $0xc8de0475 // .quad -3972732919045027189 + WORD $0xf0d56712; WORD $0xeed6e2f0 // .quad -1236551523206076654 + WORD $0xbe068d2e; WORD $0xfb158592 // .quad -354230130378896082 + WORD $0x9685606b; WORD $0x55464dd6 // .quad 6144684325637283947 + WORD $0xb6c4183d; WORD $0x9ced737b // .quad -7138922859127891907 + WORD $0x3c26b886; WORD $0xaa97e14c // .quad -6154202648235558778 + WORD $0xa4751e4c; WORD $0xc428d05a // .quad -4311967555482476980 + WORD $0x4b3066a8; WORD $0xd53dd99f // .quad -3081067291867060568 + WORD $0x4d9265df; WORD $0xf5330471 // .quad -778273425925708321 + WORD $0x8efe4029; WORD $0xe546a803 // .quad -1925667057416912855 + WORD $0xd07b7fab; WORD $0x993fe2c6 // .quad -7403949918844649557 + WORD $0x72bdd033; WORD $0xde985204 // .quad -2407083821771141069 + WORD $0x849a5f96; WORD $0xbf8fdb78 // .quad -4643251380128424042 + WORD $0x8f6d4440; WORD $0x963e6685 // .quad -7620540795641314240 + WORD $0xa5c0f77c; WORD $0xef73d256 // .quad -1192378206733142148 + WORD $0x79a44aa8; WORD $0xdde70013 // .quad -2456994988062127448 + WORD $0x27989aad; WORD $0x95a86376 // .quad -7662765406849295699 + WORD $0x580d5d52; WORD $0x5560c018 // .quad 6152128301777116498 + WORD $0xb17ec159; WORD $0xbb127c53 // .quad -4966770740134231719 + WORD $0x6e10b4a6; WORD $0xaab8f01e // .quad -6144897678060768090 + WORD $0x9dde71af; WORD $0xe9d71b68 // .quad -1596777406740401745 + WORD $0x04ca70e8; WORD $0xcab39613 // .quad -3840561048787980056 + WORD $0x62ab070d; WORD $0x92267121 // .quad -7915514906853832947 + WORD $0xc5fd0d22; WORD $0x3d607b97 // .quad 4422670725869800738 + WORD $0xbb55c8d1; WORD $0xb6b00d69 // .quad -5282707615139903279 + WORD $0xb77c506a; WORD $0x8cb89a7d // .quad -8306719647944912790 + WORD $0x2a2b3b05; WORD $0xe45c10c4 // .quad -1991698500497491195 + WORD $0x92adb242; WORD $0x77f3608e // .quad 8643358275316593218 + WORD $0x9a5b04e3; WORD $0x8eb98a7a // .quad -8162340590452013853 + WORD $0x37591ed3; WORD $0x55f038b2 // .quad 6192511825718353619 + WORD $0x40f1c61c; WORD $0xb267ed19 // .quad -5591239719637629412 + WORD $0xc52f6688; WORD $0x6b6c46de // .quad 7740639782147942024 + WORD $0x912e37a3; WORD $0xdf01e85f // .quad -2377363631119648861 + WORD $0x3b3da015; WORD $0x2323ac4b // .quad 2532056854628769813 + WORD $0xbabce2c6; WORD $0x8b61313b // .quad -8403381297090862394 + WORD $0x0a0d081a; WORD $0xabec975e // .quad -6058300968568813542 + WORD $0xa96c1b77; WORD $0xae397d8a // .quad -5892540602936190089 + WORD $0x8c904a21; WORD $0x96e7bd35 // .quad -7572876210711016927 + WORD $0x53c72255; WORD $0xd9c7dced // .quad -2753989735242849707 + WORD $0x77da2e54; WORD $0x7e50d641 // .quad 9102010423587778132 + WORD $0x545c7575; WORD $0x881cea14 // .quad -8638772612167862923 + WORD $0xd5d0b9e9; WORD $0xdde50bd1 // .quad -2457545025797441047 + WORD $0x697392d2; WORD $0xaa242499 // .quad -6186779746782440750 + WORD $0x4b44e864; WORD $0x955e4ec6 // .quad -7683617300674189212 + WORD $0xc3d07787; WORD $0xd4ad2dbf // .quad -3121788665050663033 + WORD $0xef0b113e; WORD $0xbd5af13b // .quad -4802260812921368258 + WORD $0xda624ab4; WORD $0x84ec3c97 // .quad -8868646943297746252 + WORD $0xeacdd58e; WORD $0xecb1ad8a // .quad -1391139997724322418 + WORD $0xd0fadd61; WORD $0xa6274bbd // .quad -6474122660694794911 + WORD $0xa5814af2; WORD $0x67de18ed // .quad 7484447039699372786 + WORD $0x453994ba; WORD $0xcfb11ead // .quad -3480967307441105734 + WORD $0x8770ced7; WORD $0x80eacf94 // .quad -9157278655470055721 + WORD $0x4b43fcf4; WORD $0x81ceb32c // .quad -9093133594791772940 + WORD $0xa94d028d; WORD $0xa1258379 // .quad -6834912300910181747 + WORD $0x5e14fc31; WORD $0xa2425ff7 // .quad -6754730975062328271 + WORD $0x13a04330; WORD $0x096ee458 // .quad 679731660717048624 + WORD $0x359a3b3e; WORD $0xcad2f7f5 // .quad -3831727700400522434 + WORD $0x188853fc; WORD $0x8bca9d6e // .quad -8373707460958465028 + WORD $0x8300ca0d; WORD $0xfd87b5f2 // .quad -177973607073265139 + WORD $0xcf55347d; WORD $0x775ea264 // .quad 8601490892183123069 + WORD $0x91e07e48; WORD $0x9e74d1b7 // .quad -7028762532061872568 + WORD $0x032a819d; WORD $0x95364afe // .quad -7694880458480647779 + WORD $0x76589dda; WORD $0xc6120625 // .quad -4174267146649952806 + WORD $0x83f52204; WORD $0x3a83ddbd // .quad 4216457482181353988 + WORD $0xd3eec551; WORD $0xf79687ae // .quad -606147914885053103 + WORD $0x72793542; WORD $0xc4926a96 // .quad -4282243101277735614 + WORD $0x44753b52; WORD $0x9abe14cd // .quad -7296371474444240046 + WORD $0x0f178293; WORD $0x75b7053c // .quad 8482254178684994195 + WORD $0x95928a27; WORD $0xc16d9a00 // .quad -4508778324627912153 + WORD $0x12dd6338; WORD $0x5324c68b // .quad 5991131704928854840 + WORD $0xbaf72cb1; WORD $0xf1c90080 // .quad -1024286887357502287 + WORD $0xebca5e03; WORD $0xd3f6fc16 // .quad -3173071712060547581 + WORD $0x74da7bee; WORD $0x971da050 // .quad -7557708332239520786 + WORD $0xa6bcf584; WORD $0x88f4bb1c // .quad -8578025658503072380 + WORD $0x92111aea; WORD $0xbce50864 // .quad -4835449396872013078 + WORD $0xd06c32e5; WORD $0x2b31e9e3 // .quad 3112525982153323237 + WORD $0xb69561a5; WORD $0xec1e4a7d // .quad -1432625727662628443 + WORD $0x62439fcf; WORD $0x3aff322e // .quad 4251171748059520975 + WORD $0x921d5d07; WORD $0x9392ee8e // .quad -7812920107430224633 + WORD $0xfad487c2; WORD $0x09befeb9 // .quad 702278666647013314 + WORD $0x36a4b449; WORD $0xb877aa32 // .quad -5154464115860392887 + WORD $0x7989a9b3; WORD $0x4c2ebe68 // .quad 5489534351736154547 + WORD $0xc44de15b; WORD $0xe69594be // .quad -1831394126398103205 + WORD $0x4bf60a10; WORD $0x0f9d3701 // .quad 1125115960621402640 + WORD $0x3ab0acd9; WORD $0x901d7cf7 // .quad -8062150356639896359 + WORD $0x9ef38c94; WORD $0x538484c1 // .quad 6018080969204141204 + WORD $0x095cd80f; WORD $0xb424dc35 // .quad -5466001927372482545 + WORD $0x06b06fb9; WORD $0x2865a5f2 // .quad 2910915193077788601 + WORD $0x4bb40e13; WORD $0xe12e1342 // .quad -2220816390788215277 + WORD $0x442e45d3; WORD $0xf93f87b7 // .quad -486521013540076077 + WORD $0x6f5088cb; WORD $0x8cbccc09 // .quad -8305539271883716405 + WORD $0x1539d748; WORD $0xf78f69a5 // .quad -608151266925095096 + WORD $0xcb24aafe; WORD $0xafebff0b // .quad -5770238071427257602 + WORD $0x5a884d1b; WORD $0xb573440e // .quad -5371875102083756773 + WORD $0xbdedd5be; WORD $0xdbe6fece // .quad -2601111570856684098 + WORD $0xf8953030; WORD $0x31680a88 // .quad 3560107088838733872 + WORD $0x36b4a597; WORD $0x89705f41 // .quad -8543223759426509417 + WORD $0x36ba7c3d; WORD $0xfdc20d2b // .quad -161552157378970563 + WORD $0x8461cefc; WORD $0xabcc7711 // .quad -6067343680855748868 + WORD $0x04691b4c; WORD $0x3d329076 // .quad 4409745821703674700 + WORD $0xe57a42bc; WORD $0xd6bf94d5 // .quad -2972493582642298180 + WORD $0xc2c1b10f; WORD $0xa63f9a49 // .quad -6467280898289979121 + WORD $0xaf6c69b5; WORD $0x8637bd05 // .quad -8775337516792518219 + WORD $0x33721d53; WORD $0x0fcf80dc // .quad 1139270913992301907 + WORD $0x1b478423; WORD $0xa7c5ac47 // .quad -6357485877563259869 + WORD $0x404ea4a8; WORD $0xd3c36113 // .quad -3187597375937010520 + WORD $0xe219652b; WORD $0xd1b71758 // .quad -3335171328526686933 + WORD $0x083126e9; WORD $0x645a1cac // .quad 7231123676894144233 + WORD $0x8d4fdf3b; WORD $0x83126e97 // .quad -9002011107970261189 + WORD $0x0a3d70a3; WORD $0x3d70a3d7 // .quad 4427218577690292387 + WORD $0x70a3d70a; WORD $0xa3d70a3d // .quad -6640827866535438582 + WORD $0xcccccccc // .space 4, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' + WORD $0xcccccccc // .space 4, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' + WORD $0xcccccccc // .space 4, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' + WORD $0xcccccccc // .space 4, '\xcc\xcc\xcc\xcc' + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x80000000 // .quad -9223372036854775808 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xa0000000 // .quad -6917529027641081856 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xc8000000 // .quad -4035225266123964416 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xfa000000 // .quad -432345564227567616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x9c400000 // .quad -7187745005283311616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xc3500000 // .quad -4372995238176751616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xf4240000 // .quad -854558029293551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x98968000 // .quad -7451627795949551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xbebc2000 // .quad -4702848726509551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xee6b2800 // .quad -1266874889709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x9502f900 // .quad -7709325833709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xba43b740 // .quad -5024971273709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0xe8d4a510 // .quad -1669528073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x00000000; WORD $0x9184e72a // .quad -7960984073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x80000000; WORD $0xb5e620f4 // .quad -5339544073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xa0000000; WORD $0xe35fa931 // .quad -2062744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x04000000; WORD $0x8e1bc9bf // .quad -8206744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xc5000000; WORD $0xb1a2bc2e // .quad -5646744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x76400000; WORD $0xde0b6b3a // .quad -2446744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x89e80000; WORD $0x8ac72304 // .quad -8446744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xac620000; WORD $0xad78ebc5 // .quad -5946744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x177a8000; WORD $0xd8d726b7 // .quad -2821744073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x6eac9000; WORD $0x87867832 // .quad -8681119073709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x0a57b400; WORD $0xa968163f // .quad -6239712823709551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xcceda100; WORD $0xd3c21bce // .quad -3187955011209551616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x401484a0; WORD $0x84595161 // .quad -8910000909647051616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0x9019a5c8; WORD $0xa56fa5b9 // .quad -6525815118631426616 + WORD $0x00000000; WORD $0x00000000 // .quad 0 + WORD $0xf4200f3a; WORD $0xcecb8f27 // .quad -3545582879861895366 + WORD $0x00000000; WORD $0x40000000 // .quad 4611686018427387904 + WORD $0xf8940984; WORD $0x813f3978 // .quad -9133518327554766460 + WORD $0x00000000; WORD $0x50000000 // .quad 5764607523034234880 + WORD $0x36b90be5; WORD $0xa18f07d7 // .quad -6805211891016070171 + WORD $0x00000000; WORD $0xa4000000 // .quad -6629298651489370112 + WORD $0x04674ede; WORD $0xc9f2c9cd // .quad -3894828845342699810 + WORD $0x00000000; WORD $0x4d000000 // .quad 5548434740920451072 + WORD $0x45812296; WORD $0xfc6f7c40 // .quad -256850038250986858 + WORD $0x00000000; WORD $0xf0200000 // .quad -1143914305352105984 + WORD $0x2b70b59d; WORD $0x9dc5ada8 // .quad -7078060301547948643 + WORD $0x00000000; WORD $0x6c280000 // .quad 7793479155164643328 + WORD $0x364ce305; WORD $0xc5371912 // .quad -4235889358507547899 + WORD $0x00000000; WORD $0xc7320000 // .quad -4093209111326359552 + WORD $0xc3e01bc6; WORD $0xf684df56 // .quad -683175679707046970 + WORD $0x00000000; WORD $0x3c7f4000 // .quad 4359273333062107136 + WORD $0x3a6c115c; WORD $0x9a130b96 // .quad -7344513827457986212 + WORD $0x00000000; WORD $0x4b9f1000 // .quad 5449091666327633920 + WORD $0xc90715b3; WORD $0xc097ce7b // .quad -4568956265895094861 + WORD $0x00000000; WORD $0x1e86d400 // .quad 2199678564482154496 + WORD $0xbb48db20; WORD $0xf0bdc21a // .quad -1099509313941480672 + WORD $0x00000000; WORD $0x13144480 // .quad 1374799102801346560 + WORD $0xb50d88f4; WORD $0x96769950 // .quad -7604722348854507276 + WORD $0x00000000; WORD $0x17d955a0 // .quad 1718498878501683200 + WORD $0xe250eb31; WORD $0xbc143fa4 // .quad -4894216917640746191 + WORD $0x00000000; WORD $0x5dcfab08 // .quad 6759809616554491904 + WORD $0x1ae525fd; WORD $0xeb194f8e // .quad -1506085128623544835 + WORD $0x00000000; WORD $0x5aa1cae5 // .quad 6530724019560251392 + WORD $0xd0cf37be; WORD $0x92efd1b8 // .quad -7858832233030797378 + WORD $0x40000000; WORD $0xf14a3d9e // .quad -1059967012404461568 + WORD $0x050305ad; WORD $0xb7abc627 // .quad -5211854272861108819 + WORD $0xd0000000; WORD $0x6d9ccd05 // .quad 7898413271349198848 + WORD $0xc643c719; WORD $0xe596b7b0 // .quad -1903131822648998119 + WORD $0xa2000000; WORD $0xe4820023 // .quad -1981020733047832576 + WORD $0x7bea5c6f; WORD $0x8f7e32ce // .quad -8106986416796705681 + WORD $0x8a800000; WORD $0xdda2802c // .quad -2476275916309790720 + WORD $0x1ae4f38b; WORD $0xb35dbf82 // .quad -5522047002568494197 + WORD $0xad200000; WORD $0xd50b2037 // .quad -3095344895387238400 + WORD $0xa19e306e; WORD $0xe0352f62 // .quad -2290872734783229842 + WORD $0xcc340000; WORD $0x4526f422 // .quad 4982938468024057856 + WORD $0xa502de45; WORD $0x8c213d9d // .quad -8349324486880600507 + WORD $0x7f410000; WORD $0x9670b12b // .quad -7606384970252091392 + WORD $0x0e4395d6; WORD $0xaf298d05 // .quad -5824969590173362730 + WORD $0x5f114000; WORD $0x3c0cdd76 // .quad 4327076842467049472 + WORD $0x51d47b4c; WORD $0xdaf3f046 // .quad -2669525969289315508 + WORD $0xfb6ac800; WORD $0xa5880a69 // .quad -6518949010312869888 + WORD $0xf324cd0f; WORD $0x88d8762b // .quad -8585982758446904049 + WORD $0x7a457a00; WORD $0x8eea0d04 // .quad -8148686262891087360 + WORD $0xefee0053; WORD $0xab0e93b6 // .quad -6120792429631242157 + WORD $0x98d6d880; WORD $0x72a49045 // .quad 8260886245095692416 + WORD $0xabe98068; WORD $0xd5d238a4 // .quad -3039304518611664792 + WORD $0x7f864750; WORD $0x47a6da2b // .quad 5163053903184807760 + WORD $0xeb71f041; WORD $0x85a36366 // .quad -8817094351773372351 + WORD $0x5f67d924; WORD $0x999090b6 // .quad -7381240676301154012 + WORD $0xa64e6c51; WORD $0xa70c3c40 // .quad -6409681921289327535 + WORD $0xf741cf6d; WORD $0xfff4b4e3 // .quad -3178808521666707 + WORD $0xcfe20765; WORD $0xd0cf4b50 // .quad -3400416383184271515 + WORD $0x7a8921a4; WORD $0xbff8f10e // .quad -4613672773753429596 + WORD $0x81ed449f; WORD $0x82818f12 // .quad -9042789267131251553 + WORD $0x192b6a0d; WORD $0xaff72d52 // .quad -5767090967191786995 + WORD $0x226895c7; WORD $0xa321f2d7 // .quad -6691800565486676537 + WORD $0x9f764490; WORD $0x9bf4f8a6 // .quad -7208863708989733744 + WORD $0xeb02bb39; WORD $0xcbea6f8c // .quad -3753064688430957767 + WORD $0x4753d5b4; WORD $0x02f236d0 // .quad 212292400617608628 + WORD $0x25c36a08; WORD $0xfee50b70 // .quad -79644842111309304 + WORD $0x2c946590; WORD $0x01d76242 // .quad 132682750386005392 + WORD $0x179a2245; WORD $0x9f4f2726 // .quad -6967307053960650171 + WORD $0xb7b97ef5; WORD $0x424d3ad2 // .quad 4777539456409894645 + WORD $0x9d80aad6; WORD $0xc722f0ef // .quad -4097447799023424810 + WORD $0x65a7deb2; WORD $0xd2e08987 // .quad -3251447716342407502 + WORD $0x84e0d58b; WORD $0xf8ebad2b // .quad -510123730351893109 + WORD $0x9f88eb2f; WORD $0x63cc55f4 // .quad 7191217214140771119 + WORD $0x330c8577; WORD $0x9b934c3b // .quad -7236356359111015049 + WORD $0xc76b25fb; WORD $0x3cbf6b71 // .quad 4377335499248575995 + WORD $0xffcfa6d5; WORD $0xc2781f49 // .quad -4433759430461380907 + WORD $0x3945ef7a; WORD $0x8bef464e // .quad -8363388681221443718 + WORD $0x7fc3908a; WORD $0xf316271c // .quad -930513269649338230 + WORD $0xe3cbb5ac; WORD $0x97758bf0 // .quad -7532960934977096276 + WORD $0xcfda3a56; WORD $0x97edd871 // .quad -7499099821171918250 + WORD $0x1cbea317; WORD $0x3d52eeed // .quad 4418856886560793367 + WORD $0x43d0c8ec; WORD $0xbde94e8e // .quad -4762188758037509908 + WORD $0x63ee4bdd; WORD $0x4ca7aaa8 // .quad 5523571108200991709 + WORD $0xd4c4fb27; WORD $0xed63a231 // .quad -1341049929119499481 + WORD $0x3e74ef6a; WORD $0x8fe8caa9 // .quad -8076983103442849942 + WORD $0x24fb1cf8; WORD $0x945e455f // .quad -7755685233340769032 + WORD $0x8e122b44; WORD $0xb3e2fd53 // .quad -5484542860876174524 + WORD $0xee39e436; WORD $0xb975d6b6 // .quad -5082920523248573386 + WORD $0x7196b616; WORD $0x60dbbca8 // .quad 6979379479186945558 + WORD $0xa9c85d44; WORD $0xe7d34c64 // .quad -1741964635633328828 + WORD $0x46fe31cd; WORD $0xbc8955e9 // .quad -4861259862362934835 + WORD $0xea1d3a4a; WORD $0x90e40fbe // .quad -8006256924911912374 + WORD $0x98bdbe41; WORD $0x6babab63 // .quad 7758483227328495169 + WORD $0xa4a488dd; WORD $0xb51d13ae // .quad -5396135137712502563 + WORD $0x7eed2dd1; WORD $0xc696963c // .quad -4136954021121544751 + WORD $0x4dcdab14; WORD $0xe264589a // .quad -2133482903713240300 + WORD $0xcf543ca2; WORD $0xfc1e1de5 // .quad -279753253987271518 + WORD $0x70a08aec; WORD $0x8d7eb760 // .quad -8250955842461857044 + WORD $0x43294bcb; WORD $0x3b25a55f // .quad 4261994450943298507 + WORD $0x8cc8ada8; WORD $0xb0de6538 // .quad -5702008784649933400 + WORD $0x13f39ebe; WORD $0x49ef0eb7 // .quad 5327493063679123134 + WORD $0xaffad912; WORD $0xdd15fe86 // .quad -2515824962385028846 + WORD $0x6c784337; WORD $0x6e356932 // .quad 7941369183226839863 + WORD $0x2dfcc7ab; WORD $0x8a2dbf14 // .quad -8489919629131724885 + WORD $0x07965404; WORD $0x49c2c37f // .quad 5315025460606161924 + WORD $0x397bf996; WORD $0xacb92ed9 // .quad -6000713517987268202 + WORD $0xc97be906; WORD $0xdc33745e // .quad -2579590211097073402 + WORD $0x87daf7fb; WORD $0xd7e77a8f // .quad -2889205879056697349 + WORD $0x3ded71a3; WORD $0x69a028bb // .quad 7611128154919104931 + WORD $0xb4e8dafd; WORD $0x86f0ac99 // .quad -8723282702051517699 + WORD $0x0d68ce0c; WORD $0xc40832ea // .quad -4321147861633282548 + WORD $0x222311bc; WORD $0xa8acd7c0 // .quad -6292417359137009220 + WORD $0x90c30190; WORD $0xf50a3fa4 // .quad -789748808614215280 + WORD $0x2aabd62b; WORD $0xd2d80db0 // .quad -3253835680493873621 + WORD $0xda79e0fa; WORD $0x792667c6 // .quad 8729779031470891258 + WORD $0x1aab65db; WORD $0x83c7088e // .quad -8951176327949752869 + WORD $0x91185938; WORD $0x577001b8 // .quad 6300537770911226168 + WORD $0xa1563f52; WORD $0xa4b8cab1 // .quad -6577284391509803182 + WORD $0xb55e6f86; WORD $0xed4c0226 // .quad -1347699823215743098 + WORD $0x09abcf26; WORD $0xcde6fd5e // .quad -3609919470959866074 + WORD $0x315b05b4; WORD $0x544f8158 // .quad 6075216638131242420 + WORD $0xc60b6178; WORD $0x80b05e5a // .quad -9173728696990998152 + WORD $0x3db1c721; WORD $0x696361ae // .quad 7594020797664053025 + WORD $0x778e39d6; WORD $0xa0dc75f1 // .quad -6855474852811359786 + WORD $0xcd1e38e9; WORD $0x03bc3a19 // .quad 269153960225290473 + WORD $0xd571c84c; WORD $0xc913936d // .quad -3957657547586811828 + WORD $0x4065c723; WORD $0x04ab48a0 // .quad 336442450281613091 + WORD $0x4ace3a5f; WORD $0xfb587849 // .quad -335385916056126881 + WORD $0x283f9c76; WORD $0x62eb0d64 // .quad 7127805559067090038 + WORD $0xcec0e47b; WORD $0x9d174b2d // .quad -7127145225176161157 + WORD $0x324f8394; WORD $0x3ba5d0bd // .quad 4298070930406474644 + WORD $0x42711d9a; WORD $0xc45d1df9 // .quad -4297245513042813542 + WORD $0x7ee36479; WORD $0xca8f44ec // .quad -3850783373846682503 + WORD $0x930d6500; WORD $0xf5746577 // .quad -759870872876129024 + WORD $0xcf4e1ecb; WORD $0x7e998b13 // .quad 9122475437414293195 + WORD $0xbbe85f20; WORD $0x9968bf6a // .quad -7392448323188662496 + WORD $0xc321a67e; WORD $0x9e3fedd8 // .quad -7043649776941685122 + WORD $0x6ae276e8; WORD $0xbfc2ef45 // .quad -4628874385558440216 + WORD $0xf3ea101e; WORD $0xc5cfe94e // .quad -4192876202749718498 + WORD $0xc59b14a2; WORD $0xefb3ab16 // .quad -1174406963520662366 + WORD $0x58724a12; WORD $0xbba1f1d1 // .quad -4926390635932268014 + WORD $0x3b80ece5; WORD $0x95d04aee // .quad -7651533379841495835 + WORD $0xae8edc97; WORD $0x2a8a6e45 // .quad 3065383741939440791 + WORD $0xca61281f; WORD $0xbb445da9 // .quad -4952730706374481889 + WORD $0x1a3293bd; WORD $0xf52d09d7 // .quad -779956341003086915 + WORD $0x3cf97226; WORD $0xea157514 // .quad -1579227364540714458 + WORD $0x705f9c56; WORD $0x593c2626 // .quad 6430056314514152534 + WORD $0xa61be758; WORD $0x924d692c // .quad -7904546130479028392 + WORD $0x0c77836c; WORD $0x6f8b2fb0 // .quad 8037570393142690668 + WORD $0xcfa2e12e; WORD $0xb6e0c377 // .quad -5268996644671397586 + WORD $0x0f956447; WORD $0x0b6dfb9c // .quad 823590954573587527 + WORD $0xc38b997a; WORD $0xe498f455 // .quad -1974559787411859078 + WORD $0x89bd5eac; WORD $0x4724bd41 // .quad 5126430365035880108 + WORD $0x9a373fec; WORD $0x8edf98b5 // .quad -8151628894773493780 + WORD $0xec2cb657; WORD $0x58edec91 // .quad 6408037956294850135 + WORD $0x00c50fe7; WORD $0xb2977ee3 // .quad -5577850100039479321 + WORD $0x6737e3ed; WORD $0x2f2967b6 // .quad 3398361426941174765 + WORD $0xc0f653e1; WORD $0xdf3d5e9b // .quad -2360626606621961247 + WORD $0x0082ee74; WORD $0xbd79e0d2 // .quad -4793553135802847628 + WORD $0x5899f46c; WORD $0x8b865b21 // .quad -8392920656779807636 + WORD $0x80a3aa11; WORD $0xecd85906 // .quad -1380255401326171631 + WORD $0xaec07187; WORD $0xae67f1e9 // .quad -5879464802547371641 + WORD $0x20cc9495; WORD $0xe80e6f48 // .quad -1725319251657714539 + WORD $0x1a708de9; WORD $0xda01ee64 // .quad -2737644984756826647 + WORD $0x147fdcdd; WORD $0x3109058d // .quad 3533361486141316317 + WORD $0x908658b2; WORD $0x884134fe // .quad -8628557143114098510 + WORD $0x599fd415; WORD $0xbd4b46f0 // .quad -4806670179178130411 + WORD $0x34a7eede; WORD $0xaa51823e // .quad -6174010410465235234 + WORD $0x7007c91a; WORD $0x6c9e18ac // .quad 7826720331309500698 + WORD $0xc1d1ea96; WORD $0xd4e5e2cd // .quad -3105826994654156138 + WORD $0xc604ddb0; WORD $0x03e2cf6b // .quad 280014188641050032 + WORD $0x9923329e; WORD $0x850fadc0 // .quad -8858670899299929442 + WORD $0xb786151c; WORD $0x84db8346 // .quad -8873354301053463268 + WORD $0xbf6bff45; WORD $0xa6539930 // .quad -6461652605697523899 + WORD $0x65679a63; WORD $0xe6126418 // .quad -1868320839462053277 + WORD $0xef46ff16; WORD $0xcfe87f7c // .quad -3465379738694516970 + WORD $0x3f60c07e; WORD $0x4fcb7e8f // .quad 5749828502977298558 + WORD $0x158c5f6e; WORD $0x81f14fae // .quad -9083391364325154962 + WORD $0x0f38f09d; WORD $0xe3be5e33 // .quad -2036086408133152611 + WORD $0x9aef7749; WORD $0xa26da399 // .quad -6742553186979055799 + WORD $0xd3072cc5; WORD $0x5cadf5bf // .quad 6678264026688335045 + WORD $0x01ab551c; WORD $0xcb090c80 // .quad -3816505465296431844 + WORD $0xc7c8f7f6; WORD $0x73d9732f // .quad 8347830033360418806 + WORD $0x02162a63; WORD $0xfdcb4fa0 // .quad -158945813193151901 + WORD $0xdcdd9afa; WORD $0x2867e7fd // .quad 2911550761636567802 + WORD $0x014dda7e; WORD $0x9e9f11c4 // .quad -7016870160886801794 + WORD $0x541501b8; WORD $0xb281e1fd // .quad -5583933584809066056 + WORD $0x01a1511d; WORD $0xc646d635 // .quad -4159401682681114339 + WORD $0xa91a4226; WORD $0x1f225a7c // .quad 2243455055843443238 + WORD $0x4209a565; WORD $0xf7d88bc2 // .quad -587566084924005019 + WORD $0xe9b06958; WORD $0x3375788d // .quad 3708002419115845976 + WORD $0x6946075f; WORD $0x9ae75759 // .quad -7284757830718584993 + WORD $0x641c83ae; WORD $0x0052d6b1 // .quad 23317005467419566 + WORD $0xc3978937; WORD $0xc1a12d2f // .quad -4494261269970843337 + WORD $0xbd23a49a; WORD $0xc0678c5d // .quad -4582539761593113446 + WORD $0xb47d6b84; WORD $0xf209787b // .quad -1006140569036166268 + WORD $0x963646e0; WORD $0xf840b7ba // .quad -558244341782001952 + WORD $0x50ce6332; WORD $0x9745eb4d // .quad -7546366883288685774 + WORD $0x3bc3d898; WORD $0xb650e5a9 // .quad -5309491445654890344 + WORD $0xa501fbff; WORD $0xbd176620 // .quad -4821272585683469313 + WORD $0x8ab4cebe; WORD $0xa3e51f13 // .quad -6636864307068612930 + WORD $0xce427aff; WORD $0xec5d3fa8 // .quad -1414904713676948737 + WORD $0x36b10137; WORD $0xc66f336c // .quad -4148040191917883081 + WORD $0x80e98cdf; WORD $0x93ba47c9 // .quad -7801844473689174817 + WORD $0x445d4184; WORD $0xb80b0047 // .quad -5185050239897353852 + WORD $0xe123f017; WORD $0xb8a8d9bb // .quad -5140619573684080617 + WORD $0x157491e5; WORD $0xa60dc059 // .quad -6481312799871692315 + WORD $0xd96cec1d; WORD $0xe6d3102a // .quad -1814088448677712867 + WORD $0xad68db2f; WORD $0x87c89837 // .quad -8662506518347195601 + WORD $0xc7e41392; WORD $0x9043ea1a // .quad -8051334308064652398 + WORD $0x98c311fb; WORD $0x29babe45 // .quad 3006924907348169211 + WORD $0x79dd1877; WORD $0xb454e4a1 // .quad -5452481866653427593 + WORD $0xfef3d67a; WORD $0xf4296dd6 // .quad -853029884242176390 + WORD $0xd8545e94; WORD $0xe16a1dc9 // .quad -2203916314889396588 + WORD $0x5f58660c; WORD $0x1899e4a6 // .quad 1772699331562333708 + WORD $0x2734bb1d; WORD $0x8ce2529e // .quad -8294976724446954723 + WORD $0xf72e7f8f; WORD $0x5ec05dcf // .quad 6827560182880305039 + WORD $0xb101e9e4; WORD $0xb01ae745 // .quad -5757034887131305500 + WORD $0xf4fa1f73; WORD $0x76707543 // .quad 8534450228600381299 + WORD $0x1d42645d; WORD $0xdc21a117 // .quad -2584607590486743971 + WORD $0x791c53a8; WORD $0x6a06494a // .quad 7639874402088932264 + WORD $0x72497eba; WORD $0x899504ae // .quad -8532908771695296838 + WORD $0x17636892; WORD $0x0487db9d // .quad 326470965756389522 + WORD $0x0edbde69; WORD $0xabfa45da // .quad -6054449946191733143 + WORD $0x5d3c42b6; WORD $0x45a9d284 // .quad 5019774725622874806 + WORD $0x9292d603; WORD $0xd6f8d750 // .quad -2956376414312278525 + WORD $0xba45a9b2; WORD $0x0b8a2392 // .quad 831516194300602802 + WORD $0x5b9bc5c2; WORD $0x865b8692 // .quad -8765264286586255934 + WORD $0x68d7141e; WORD $0x8e6cac77 // .quad -8183976793979022306 + WORD $0xf282b732; WORD $0xa7f26836 // .quad -6344894339805432014 + WORD $0x430cd926; WORD $0x3207d795 // .quad 3605087062808385830 + WORD $0xaf2364ff; WORD $0xd1ef0244 // .quad -3319431906329402113 + WORD $0x49e807b8; WORD $0x7f44e6bd // .quad 9170708441896323000 + WORD $0xed761f1f; WORD $0x8335616a // .quad -8992173969096958177 + WORD $0x9c6209a6; WORD $0x5f16206c // .quad 6851699533943015846 + WORD $0xa8d3a6e7; WORD $0xa402b9c5 // .quad -6628531442943809817 + WORD $0xc37a8c0f; WORD $0x36dba887 // .quad 3952938399001381903 + WORD $0x130890a1; WORD $0xcd036837 // .quad -3673978285252374367 + WORD $0xda2c9789; WORD $0xc2494954 // .quad -4446942528265218167 + WORD $0x6be55a64; WORD $0x80222122 // .quad -9213765455923815836 + WORD $0x10b7bd6c; WORD $0xf2db9baa // .quad -946992141904134804 + WORD $0x06deb0fd; WORD $0xa02aa96b // .quad -6905520801477381891 + WORD $0x94e5acc7; WORD $0x6f928294 // .quad 8039631859474607303 + WORD $0xc8965d3d; WORD $0xc83553c5 // .quad -4020214983419339459 + WORD $0xba1f17f9; WORD $0xcb772339 // .quad -3785518230938904583 + WORD $0x3abbf48c; WORD $0xfa42a8b7 // .quad -413582710846786420 + WORD $0x14536efb; WORD $0xff2a7604 // .quad -60105885123121413 + WORD $0x84b578d7; WORD $0x9c69a972 // .quad -7176018221920323369 + WORD $0x19684aba; WORD $0xfef51385 // .quad -75132356403901766 + WORD $0x25e2d70d; WORD $0xc38413cf // .quad -4358336758973016307 + WORD $0x5fc25d69; WORD $0x7eb25866 // .quad 9129456591349898601 + WORD $0xef5b8cd1; WORD $0xf46518c2 // .quad -836234930288882479 + WORD $0xfbd97a61; WORD $0xef2f773f // .quad -1211618658047395231 + WORD $0xd5993802; WORD $0x98bf2f79 // .quad -7440175859071633406 + WORD $0xfacfd8fa; WORD $0xaafb550f // .quad -6126209340986631942 + WORD $0x4aff8603; WORD $0xbeeefb58 // .quad -4688533805412153853 + WORD $0xf983cf38; WORD $0x95ba2a53 // .quad -7657761676233289928 + WORD $0x5dbf6784; WORD $0xeeaaba2e // .quad -1248981238337804412 + WORD $0x7bf26183; WORD $0xdd945a74 // .quad -2480258038432112253 + WORD $0xfa97a0b2; WORD $0x952ab45c // .quad -7698142301602209614 + WORD $0x9aeef9e4; WORD $0x94f97111 // .quad -7712008566467528220 + WORD $0x393d88df; WORD $0xba756174 // .quad -5010991858575374113 + WORD $0x01aab85d; WORD $0x7a37cd56 // .quad 8806733365625141341 + WORD $0x478ceb17; WORD $0xe912b9d1 // .quad -1652053804791829737 + WORD $0xc10ab33a; WORD $0xac62e055 // .quad -6025006692552756422 + WORD $0xccb812ee; WORD $0x91abb422 // .quad -7950062655635975442 + WORD $0x314d6009; WORD $0x577b986b // .quad 6303799689591218185 + WORD $0x7fe617aa; WORD $0xb616a12b // .quad -5325892301117581398 + WORD $0xfda0b80b; WORD $0xed5a7e85 // .quad -1343622424865753077 + WORD $0x5fdf9d94; WORD $0xe39c4976 // .quad -2045679357969588844 + WORD $0xbe847307; WORD $0x14588f13 // .quad 1466078993672598279 + WORD $0xfbebc27d; WORD $0x8e41ade9 // .quad -8196078626372074883 + WORD $0xae258fc8; WORD $0x596eb2d8 // .quad 6444284760518135752 + WORD $0x7ae6b31c; WORD $0xb1d21964 // .quad -5633412264537705700 + WORD $0xd9aef3bb; WORD $0x6fca5f8e // .quad 8055355950647669691 + WORD $0x99a05fe3; WORD $0xde469fbd // .quad -2430079312244744221 + WORD $0x480d5854; WORD $0x25de7bb9 // .quad 2728754459941099604 + WORD $0x80043bee; WORD $0x8aec23d6 // .quad -8436328597794046994 + WORD $0x9a10ae6a; WORD $0xaf561aa7 // .quad -5812428961928401302 + WORD $0x20054ae9; WORD $0xada72ccc // .quad -5933724728815170839 + WORD $0x8094da04; WORD $0x1b2ba151 // .quad 1957835834444274180 + WORD $0x28069da4; WORD $0xd910f7ff // .quad -2805469892591575644 + WORD $0xf05d0842; WORD $0x90fb44d2 // .quad -7999724640327104446 + WORD $0x79042286; WORD $0x87aa9aff // .quad -8670947710510816634 + WORD $0xac744a53; WORD $0x353a1607 // .quad 3835402254873283155 + WORD $0x57452b28; WORD $0xa99541bf // .quad -6226998619711132888 + WORD $0x97915ce8; WORD $0x42889b89 // .quad 4794252818591603944 + WORD $0x2d1675f2; WORD $0xd3fa922f // .quad -3172062256211528206 + WORD $0xfebada11; WORD $0x69956135 // .quad 7608094030047140369 + WORD $0x7c2e09b7; WORD $0x847c9b5d // .quad -8900067937773286985 + WORD $0x7e699095; WORD $0x43fab983 // .quad 4898431519131537557 + WORD $0xdb398c25; WORD $0xa59bc234 // .quad -6513398903789220827 + WORD $0x5e03f4bb; WORD $0x94f967e4 // .quad -7712018656367741765 + WORD $0x1207ef2e; WORD $0xcf02b2c2 // .quad -3530062611309138130 + WORD $0xbac278f5; WORD $0x1d1be0ee // .quad 2097517367411243253 + WORD $0x4b44f57d; WORD $0x8161afb9 // .quad -9123818159709293187 + WORD $0x69731732; WORD $0x6462d92a // .quad 7233582727691441970 + WORD $0x9e1632dc; WORD $0xa1ba1ba7 // .quad -6793086681209228580 + WORD $0x03cfdcfe; WORD $0x7d7b8f75 // .quad 9041978409614302462 + WORD $0x859bbf93; WORD $0xca28a291 // .quad -3879672333084147821 + WORD $0x44c3d43e; WORD $0x5cda7352 // .quad 6690786993590490174 + WORD $0xe702af78; WORD $0xfcb2cb35 // .quad -237904397927796872 + WORD $0x6afa64a7; WORD $0x3a088813 // .quad 4181741870994056359 + WORD $0xb061adab; WORD $0x9defbf01 // .quad -7066219276345954901 + WORD $0x45b8fdd0; WORD $0x088aaa18 // .quad 615491320315182544 + WORD $0x1c7a1916; WORD $0xc56baec2 // .quad -4221088077005055722 + WORD $0x57273d45; WORD $0x8aad549e // .quad -8454007886460797627 + WORD $0xa3989f5b; WORD $0xf6c69a72 // .quad -664674077828931749 + WORD $0xf678864b; WORD $0x36ac54e2 // .quad 3939617107816777291 + WORD $0xa63f6399; WORD $0x9a3c2087 // .quad -7332950326284164199 + WORD $0xb416a7dd; WORD $0x84576a1b // .quad -8910536670511192099 + WORD $0x8fcf3c7f; WORD $0xc0cb28a9 // .quad -4554501889427817345 + WORD $0xa11c51d5; WORD $0x656d44a2 // .quad 7308573235570561493 + WORD $0xf3c30b9f; WORD $0xf0fdf2d3 // .quad -1081441343357383777 + WORD $0xa4b1b325; WORD $0x9f644ae5 // .quad -6961356773836868827 + WORD $0x7859e743; WORD $0x969eb7c4 // .quad -7593429867239446717 + WORD $0x0dde1fee; WORD $0x873d5d9f // .quad -8701695967296086034 + WORD $0x96706114; WORD $0xbc4665b5 // .quad -4880101315621920492 + WORD $0xd155a7ea; WORD $0xa90cb506 // .quad -6265433940692719638 + WORD $0xfc0c7959; WORD $0xeb57ff22 // .quad -1488440626100012711 + WORD $0x42d588f2; WORD $0x09a7f124 // .quad 695789805494438130 + WORD $0xdd87cbd8; WORD $0x9316ff75 // .quad -7847804418953589800 + WORD $0x538aeb2f; WORD $0x0c11ed6d // .quad 869737256868047663 + WORD $0x54e9bece; WORD $0xb7dcbf53 // .quad -5198069505264599346 + WORD $0xa86da5fa; WORD $0x8f1668c8 // .quad -8136200465769716230 + WORD $0x2a242e81; WORD $0xe5d3ef28 // .quad -1885900863153361279 + WORD $0x694487bc; WORD $0xf96e017d // .quad -473439272678684740 + WORD $0x1a569d10; WORD $0x8fa47579 // .quad -8096217067111932656 + WORD $0xc395a9ac; WORD $0x37c981dc // .quad 4019886927579031980 + WORD $0x60ec4455; WORD $0xb38d92d7 // .quad -5508585315462527915 + WORD $0xf47b1417; WORD $0x85bbe253 // .quad -8810199395808373737 + WORD $0x3927556a; WORD $0xe070f78d // .quad -2274045625900771990 + WORD $0x78ccec8e; WORD $0x93956d74 // .quad -7812217631593927538 + WORD $0x43b89562; WORD $0x8c469ab8 // .quad -8338807543829064350 + WORD $0x970027b2; WORD $0x387ac8d1 // .quad 4069786015789754290 + WORD $0x54a6babb; WORD $0xaf584166 // .quad -5811823411358942533 + WORD $0xfcc0319e; WORD $0x06997b05 // .quad 475546501309804958 + WORD $0xe9d0696a; WORD $0xdb2e51bf // .quad -2653093245771290262 + WORD $0xbdf81f03; WORD $0x441fece3 // .quad 4908902581746016003 + WORD $0xf22241e2; WORD $0x88fcf317 // .quad -8575712306248138270 + WORD $0xad7626c3; WORD $0xd527e81c // .quad -3087243809672255805 + WORD $0xeeaad25a; WORD $0xab3c2fdd // .quad -6107954364382784934 + WORD $0xd8d3b074; WORD $0x8a71e223 // .quad -8470740780517707660 + WORD $0x6a5586f1; WORD $0xd60b3bd5 // .quad -3023256937051093263 + WORD $0x67844e49; WORD $0xf6872d56 // .quad -682526969396179383 + WORD $0x62757456; WORD $0x85c70565 // .quad -8807064613298015146 + WORD $0x016561db; WORD $0xb428f8ac // .quad -5464844730172612133 + WORD $0xbb12d16c; WORD $0xa738c6be // .quad -6397144748195131028 + WORD $0x01beba52; WORD $0xe13336d7 // .quad -2219369894288377262 + WORD $0x69d785c7; WORD $0xd106f86e // .quad -3384744916816525881 + WORD $0x61173473; WORD $0xecc00246 // .quad -1387106183930235789 + WORD $0x0226b39c; WORD $0x82a45b45 // .quad -9032994600651410532 + WORD $0xf95d0190; WORD $0x27f002d7 // .quad 2877803288514593168 + WORD $0x42b06084; WORD $0xa34d7216 // .quad -6679557232386875260 + WORD $0xf7b441f4; WORD $0x31ec038d // .quad 3597254110643241460 + WORD $0xd35c78a5; WORD $0xcc20ce9b // .quad -3737760522056206171 + WORD $0x75a15271; WORD $0x7e670471 // .quad 9108253656731439729 + WORD $0xc83396ce; WORD $0xff290242 // .quad -60514634142869810 + WORD $0xe984d386; WORD $0x0f0062c6 // .quad 1080972517029761926 + WORD $0xbd203e41; WORD $0x9f79a169 // .quad -6955350673980375487 + WORD $0xa3e60868; WORD $0x52c07b78 // .quad 5962901664714590312 + WORD $0x2c684dd1; WORD $0xc75809c4 // .quad -4082502324048081455 + WORD $0xccdf8a82; WORD $0xa7709a56 // .quad -6381430974388925822 + WORD $0x37826145; WORD $0xf92e0c35 // .quad -491441886632713915 + WORD $0x400bb691; WORD $0x88a66076 // .quad -8600080377420466543 + WORD $0x42b17ccb; WORD $0x9bbcc7a1 // .quad -7224680206786528053 + WORD $0xd00ea435; WORD $0x6acff893 // .quad 7696643601933968437 + WORD $0x935ddbfe; WORD $0xc2abf989 // .quad -4419164240055772162 + WORD $0xc4124d43; WORD $0x0583f6b8 // .quad 397432465562684739 + WORD $0xf83552fe; WORD $0xf356f7eb // .quad -912269281642327298 + WORD $0x7a8b704a; WORD $0xc3727a33 // .quad -4363290727450709942 + WORD $0x7b2153de; WORD $0x98165af3 // .quad -7487697328667536418 + WORD $0x592e4c5c; WORD $0x744f18c0 // .quad 8380944645968776284 + WORD $0x59e9a8d6; WORD $0xbe1bf1b0 // .quad -4747935642407032618 + WORD $0x6f79df73; WORD $0x1162def0 // .quad 1252808770606194547 + WORD $0x7064130c; WORD $0xeda2ee1c // .quad -1323233534581402868 + WORD $0x45ac2ba8; WORD $0x8addcb56 // .quad -8440366555225904216 + WORD $0xc63e8be7; WORD $0x9485d4d1 // .quad -7744549986754458649 + WORD $0xd7173692; WORD $0x6d953e2b // .quad 7896285879677171346 + WORD $0x37ce2ee1; WORD $0xb9a74a06 // .quad -5069001465015685407 + WORD $0xccdd0437; WORD $0xc8fa8db6 // .quad -3964700705685699529 + WORD $0xc5c1ba99; WORD $0xe8111c87 // .quad -1724565812842218855 + WORD $0x400a22a2; WORD $0x1d9c9892 // .quad 2133748077373825698 + WORD $0xdb9914a0; WORD $0x910ab1d4 // .quad -7995382660667468640 + WORD $0xd00cab4b; WORD $0x2503beb6 // .quad 2667185096717282123 + WORD $0x127f59c8; WORD $0xb54d5e4a // .quad -5382542307406947896 + WORD $0x840fd61d; WORD $0x2e44ae64 // .quad 3333981370896602653 + WORD $0x971f303a; WORD $0xe2a0b5dc // .quad -2116491865831296966 + WORD $0xd289e5d2; WORD $0x5ceaecfe // .quad 6695424375237764562 + WORD $0xde737e24; WORD $0x8da471a9 // .quad -8240336443785642460 + WORD $0x872c5f47; WORD $0x7425a83e // .quad 8369280469047205703 + WORD $0x56105dad; WORD $0xb10d8e14 // .quad -5688734536304665171 + WORD $0x28f77719; WORD $0xd12f124e // .quad -3373457468973156583 + WORD $0x6b947518; WORD $0xdd50f199 // .quad -2499232151953443560 + WORD $0xd99aaa6f; WORD $0x82bd6b70 // .quad -9025939945749304721 + WORD $0xe33cc92f; WORD $0x8a5296ff // .quad -8479549122611984081 + WORD $0x1001550b; WORD $0x636cc64d // .quad 7164319141522920715 + WORD $0xdc0bfb7b; WORD $0xace73cbf // .quad -5987750384837592197 + WORD $0x5401aa4e; WORD $0x3c47f7e0 // .quad 4343712908476262990 + WORD $0xd30efa5a; WORD $0xd8210bef // .quad -2873001962619602342 + WORD $0x34810a71; WORD $0x65acfaec // .quad 7326506586225052273 + WORD $0xe3e95c78; WORD $0x8714a775 // .quad -8713155254278333320 + WORD $0x41a14d0d; WORD $0x7f1839a7 // .quad 9158133232781315341 + WORD $0x5ce3b396; WORD $0xa8d9d153 // .quad -6279758049420528746 + WORD $0x1209a050; WORD $0x1ede4811 // .quad 2224294504121868368 + WORD $0x341ca07c; WORD $0xd31045a8 // .quad -3238011543348273028 + WORD $0xab460432; WORD $0x934aed0a // .quad -7833187971778608078 + WORD $0x2091e44d; WORD $0x83ea2b89 // .quad -8941286242233752499 + WORD $0x5617853f; WORD $0xf81da84d // .quad -568112927868484289 + WORD $0x68b65d60; WORD $0xa4e4b66b // .quad -6564921784364802720 + WORD $0xab9d668e; WORD $0x36251260 // .quad 3901544858591782542 + WORD $0x42e3f4b9; WORD $0xce1de406 // .quad -3594466212028615495 + WORD $0x6b426019; WORD $0xc1d72b7c // .quad -4479063491021217767 + WORD $0xe9ce78f3; WORD $0x80d2ae83 // .quad -9164070410158966541 + WORD $0x8612f81f; WORD $0xb24cf65b // .quad -5598829363776522209 + WORD $0xe4421730; WORD $0xa1075a24 // .quad -6843401994271320272 + WORD $0x6797b627; WORD $0xdee033f2 // .quad -2386850686293264857 + WORD $0x1d529cfc; WORD $0xc94930ae // .quad -3942566474411762436 + WORD $0x017da3b1; WORD $0x169840ef // .quad 1628122660560806833 + WORD $0xa4a7443c; WORD $0xfb9b7cd9 // .quad -316522074587315140 + WORD $0x60ee864e; WORD $0x8e1f2895 // .quad -8205795374004271538 + WORD $0x06e88aa5; WORD $0x9d412e08 // .quad -7115355324258153819 + WORD $0xb92a27e2; WORD $0xf1a6f2ba // .quad -1033872180650563614 + WORD $0x08a2ad4e; WORD $0xc491798a // .quad -4282508136895304370 + WORD $0x6774b1db; WORD $0xae10af69 // .quad -5904026244240592421 + WORD $0x8acb58a2; WORD $0xf5b5d7ec // .quad -741449152691742558 + WORD $0xe0a8ef29; WORD $0xacca6da1 // .quad -5995859411864064215 + WORD $0xd6bf1765; WORD $0x9991a6f3 // .quad -7380934748073420955 + WORD $0x58d32af3; WORD $0x17fd090a // .quad 1728547772024695539 + WORD $0xcc6edd3f; WORD $0xbff610b0 // .quad -4614482416664388289 + WORD $0xef07f5b0; WORD $0xddfc4b4c // .quad -2451001303396518480 + WORD $0xff8a948e; WORD $0xeff394dc // .quad -1156417002403097458 + WORD $0x1564f98e; WORD $0x4abdaf10 // .quad 5385653213018257806 + WORD $0x1fb69cd9; WORD $0x95f83d0a // .quad -7640289654143017767 + WORD $0x1abe37f1; WORD $0x9d6d1ad4 // .quad -7102991539009341455 + WORD $0xa7a4440f; WORD $0xbb764c4c // .quad -4938676049251384305 + WORD $0x216dc5ed; WORD $0x84c86189 // .quad -8878739423761676819 + WORD $0xd18d5513; WORD $0xea53df5f // .quad -1561659043136842477 + WORD $0xb4e49bb4; WORD $0x32fd3cf5 // .quad 3674159897003727796 + WORD $0xe2f8552c; WORD $0x92746b9b // .quad -7893565929601608404 + WORD $0x221dc2a1; WORD $0x3fbc8c33 // .quad 4592699871254659745 + WORD $0xdbb66a77; WORD $0xb7118682 // .quad -5255271393574622601 + WORD $0xeaa5334a; WORD $0x0fabaf3f // .quad 1129188820640936778 + WORD $0x92a40515; WORD $0xe4d5e823 // .quad -1957403223540890347 + WORD $0xf2a7400e; WORD $0x29cb4d87 // .quad 3011586022114279438 + WORD $0x3ba6832d; WORD $0x8f05b116 // .quad -8140906042354138323 + WORD $0xef511012; WORD $0x743e20e9 // .quad 8376168546070237202 + WORD $0xca9023f8; WORD $0xb2c71d5b // .quad -5564446534515285000 + WORD $0x6b255416; WORD $0x914da924 // .quad -7976533391121755114 + WORD $0xbd342cf6; WORD $0xdf78e4b2 // .quad -2343872149716718346 + WORD $0xc2f7548e; WORD $0x1ad089b6 // .quad 1932195658189984910 + WORD $0xb6409c1a; WORD $0x8bab8eef // .quad -8382449121214030822 + WORD $0x73b529b1; WORD $0xa184ac24 // .quad -6808127464117294671 + WORD $0xa3d0c320; WORD $0xae9672ab // .quad -5866375383090150624 + WORD $0x90a2741e; WORD $0xc9e5d72d // .quad -3898473311719230434 + WORD $0x8cc4f3e8; WORD $0xda3c0f56 // .quad -2721283210435300376 + WORD $0x7a658892; WORD $0x7e2fa67c // .quad 9092669226243950738 + WORD $0x17fb1871; WORD $0x88658996 // .quad -8618331034163144591 + WORD $0x98feeab7; WORD $0xddbb901b // .quad -2469221522477225289 + WORD $0x9df9de8d; WORD $0xaa7eebfb // .quad -6161227774276542835 + WORD $0x7f3ea565; WORD $0x552a7422 // .quad 6136845133758244197 + WORD $0x85785631; WORD $0xd51ea6fa // .quad -3089848699418290639 + WORD $0x8f87275f; WORD $0xd53a8895 // .quad -3082000819042179233 + WORD $0x936b35de; WORD $0x8533285c // .quad -8848684464777513506 + WORD $0xf368f137; WORD $0x8a892aba // .quad -8464187042230111945 + WORD $0xb8460356; WORD $0xa67ff273 // .quad -6449169562544503978 + WORD $0xb0432d85; WORD $0x2d2b7569 // .quad 3254824252494523781 + WORD $0xa657842c; WORD $0xd01fef10 // .quad -3449775934753242068 + WORD $0x0e29fc73; WORD $0x9c3b2962 // .quad -7189106879045698445 + WORD $0x67f6b29b; WORD $0x8213f56a // .quad -9073638986861858149 + WORD $0x91b47b8f; WORD $0x8349f3ba // .quad -8986383598807123057 + WORD $0x01f45f42; WORD $0xa298f2c5 // .quad -6730362715149934782 + WORD $0x36219a73; WORD $0x241c70a9 // .quad 2602078556773259891 + WORD $0x42717713; WORD $0xcb3f2f76 // .quad -3801267375510030573 + WORD $0x83aa0110; WORD $0xed238cd3 // .quad -1359087822460813040 + WORD $0xd30dd4d7; WORD $0xfe0efb53 // .quad -139898200960150313 + WORD $0x324a40aa; WORD $0xf4363804 // .quad -849429889038008150 + WORD $0x63e8a506; WORD $0x9ec95d14 // .quad -7004965403241175802 + WORD $0x3edcd0d5; WORD $0xb143c605 // .quad -5673473379724898091 + WORD $0x7ce2ce48; WORD $0xc67bb459 // .quad -4144520735624081848 + WORD $0x8e94050a; WORD $0xdd94b786 // .quad -2480155706228734710 + WORD $0xdc1b81da; WORD $0xf81aa16f // .quad -568964901102714406 + WORD $0x191c8326; WORD $0xca7cf2b4 // .quad -3855940325606653146 + WORD $0xe9913128; WORD $0x9b10a4e5 // .quad -7273132090830278360 + WORD $0x1f63a3f0; WORD $0xfd1c2f61 // .quad -208239388580928528 + WORD $0x63f57d72; WORD $0xc1d4ce1f // .quad -4479729095110460046 + WORD $0x673c8cec; WORD $0xbc633b39 // .quad -4871985254153548564 + WORD $0x3cf2dccf; WORD $0xf24a01a7 // .quad -987975350460687153 + WORD $0xe085d813; WORD $0xd5be0503 // .quad -3044990783845967853 + WORD $0x8617ca01; WORD $0x976e4108 // .quad -7535013621679011327 + WORD $0xd8a74e18; WORD $0x4b2d8644 // .quad 5417133557047315992 + WORD $0xa79dbc82; WORD $0xbd49d14a // .quad -4807081008671376254 + WORD $0x0ed1219e; WORD $0xddf8e7d6 // .quad -2451955090545630818 + WORD $0x51852ba2; WORD $0xec9c459d // .quad -1397165242411832414 + WORD $0xc942b503; WORD $0xcabb90e5 // .quad -3838314940804713213 + WORD $0x52f33b45; WORD $0x93e1ab82 // .quad -7790757304148477115 + WORD $0x3b936243; WORD $0x3d6a751f // .quad 4425478360848884291 + WORD $0xe7b00a17; WORD $0xb8da1662 // .quad -5126760611758208489 + WORD $0x0a783ad4; WORD $0x0cc51267 // .quad 920161932633717460 + WORD $0xa19c0c9d; WORD $0xe7109bfb // .quad -1796764746270372707 + WORD $0x668b24c5; WORD $0x27fb2b80 // .quad 2880944217109767365 + WORD $0x450187e2; WORD $0x906a617d // .quad -8040506994060064798 + WORD $0x802dedf6; WORD $0xb1f9f660 // .quad -5622191765467566602 + WORD $0x9641e9da; WORD $0xb484f9dc // .quad -5438947724147693094 + WORD $0xa0396973; WORD $0x5e7873f8 // .quad 6807318348447705459 + WORD $0xbbd26451; WORD $0xe1a63853 // .quad -2186998636757228463 + WORD $0x6423e1e8; WORD $0xdb0b487b // .quad -2662955059861265944 + WORD $0x55637eb2; WORD $0x8d07e334 // .quad -8284403175614349646 + WORD $0x3d2cda62; WORD $0x91ce1a9a // .quad -7940379843253970334 + WORD $0x6abc5e5f; WORD $0xb049dc01 // .quad -5743817951090549153 + WORD $0xcc7810fb; WORD $0x7641a140 // .quad 8521269269642088699 + WORD $0xc56b75f7; WORD $0xdc5c5301 // .quad -2568086420435798537 + WORD $0x7fcb0a9d; WORD $0xa9e904c8 // .quad -6203421752542164323 + WORD $0x1b6329ba; WORD $0x89b9b3e1 // .quad -8522583040413455942 + WORD $0x9fbdcd44; WORD $0x546345fa // .quad 6080780864604458308 + WORD $0x623bf429; WORD $0xac2820d9 // .quad -6041542782089432023 + WORD $0x47ad4095; WORD $0xa97c1779 // .quad -6234081974526590827 + WORD $0xbacaf133; WORD $0xd732290f // .quad -2940242459184402125 + WORD $0xcccc485d; WORD $0x49ed8eab // .quad 5327070802775656541 + WORD $0xd4bed6c0; WORD $0x867f59a9 // .quad -8755180564631333184 + WORD $0xbfff5a74; WORD $0x5c68f256 // .quad 6658838503469570676 + WORD $0x49ee8c70; WORD $0xa81f3014 // .quad -6332289687361778576 + WORD $0x6fff3111; WORD $0x73832eec // .quad 8323548129336963345 + WORD $0x5c6a2f8c; WORD $0xd226fc19 // .quad -3303676090774835316 + WORD $0xc5ff7eab; WORD $0xc831fd53 // .quad -4021154456019173717 + WORD $0xd9c25db7; WORD $0x83585d8f // .quad -8982326584375353929 + WORD $0xb77f5e55; WORD $0xba3e7ca8 // .quad -5026443070023967147 + WORD $0xd032f525; WORD $0xa42e74f3 // .quad -6616222212041804507 + WORD $0xe55f35eb; WORD $0x28ce1bd2 // .quad 2940318199324816875 + WORD $0xc43fb26f; WORD $0xcd3a1230 // .quad -3658591746624867729 + WORD $0xcf5b81b3; WORD $0x7980d163 // .quad 8755227902219092403 + WORD $0x7aa7cf85; WORD $0x80444b5e // .quad -9204148869281624187 + WORD $0xc332621f; WORD $0xd7e105bc // .quad -2891023177508298209 + WORD $0x1951c366; WORD $0xa0555e36 // .quad -6893500068174642330 + WORD $0xf3fefaa7; WORD $0x8dd9472b // .quad -8225464990312760665 + WORD $0x9fa63440; WORD $0xc86ab5c3 // .quad -4005189066790915008 + WORD $0xf0feb951; WORD $0xb14f98f6 // .quad -5670145219463562927 + WORD $0x878fc150; WORD $0xfa856334 // .quad -394800315061255856 + WORD $0x569f33d3; WORD $0x6ed1bf9a // .quad 7985374283903742931 + WORD $0xd4b9d8d2; WORD $0x9c935e00 // .quad -7164279224554366766 + WORD $0xec4700c8; WORD $0x0a862f80 // .quad 758345818024902856 + WORD $0x09e84f07; WORD $0xc3b83581 // .quad -4343663012265570553 + WORD $0x2758c0fa; WORD $0xcd27bb61 // .quad -3663753745896259334 + WORD $0x4c6262c8; WORD $0xf4a642e1 // .quad -817892746904575288 + WORD $0xb897789c; WORD $0x8038d51c // .quad -9207375118826243940 + WORD $0xcfbd7dbd; WORD $0x98e7e9cc // .quad -7428711994456441411 + WORD $0xe6bd56c3; WORD $0xe0470a63 // .quad -2285846861678029117 + WORD $0x03acdd2c; WORD $0xbf21e440 // .quad -4674203974643163860 + WORD $0xe06cac74; WORD $0x1858ccfc // .quad 1754377441329851508 + WORD $0x04981478; WORD $0xeeea5d50 // .quad -1231068949876566920 + WORD $0x0c43ebc8; WORD $0x0f37801e // .quad 1096485900831157192 + WORD $0x02df0ccb; WORD $0x95527a52 // .quad -7686947121313936181 + WORD $0x8f54e6ba; WORD $0xd3056025 // .quad -3241078642388441414 + WORD $0x8396cffd; WORD $0xbaa718e6 // .quad -4996997883215032323 + WORD $0xf32a2069; WORD $0x47c6b82e // .quad 5172023733869224041 + WORD $0x247c83fd; WORD $0xe950df20 // .quad -1634561335591402499 + WORD $0x57fa5441; WORD $0x4cdc331d // .quad 5538357842881958977 + WORD $0x16cdd27e; WORD $0x91d28b74 // .quad -7939129862385708418 + WORD $0xadf8e952; WORD $0xe0133fe4 // .quad -2300424733252327086 + WORD $0x1c81471d; WORD $0xb6472e51 // .quad -5312226309554747619 + WORD $0xd97723a6; WORD $0x58180fdd // .quad 6347841120289366950 + WORD $0x63a198e5; WORD $0xe3d8f9e5 // .quad -2028596868516046619 + WORD $0xa7ea7648; WORD $0x570f09ea // .quad 6273243709394548296 + WORD $0x5e44ff8f; WORD $0x8e679c2f // .quad -8185402070463610993 + WORD $0x51e513da; WORD $0x2cd2cc65 // .quad 3229868618315797466 + WORD $0x35d63f73; WORD $0xb201833b // .quad -5620066569652125837 + WORD $0xa65e58d1; WORD $0xf8077f7e // .quad -574350245532641071 + WORD $0x034bcf4f; WORD $0xde81e40a // .quad -2413397193637769393 + WORD $0x27faf782; WORD $0xfb04afaf // .quad -358968903457900670 + WORD $0x420f6191; WORD $0x8b112e86 // .quad -8425902273664687727 + WORD $0xf1f9b563; WORD $0x79c5db9a // .quad 8774660907532399971 + WORD $0xd29339f6; WORD $0xadd57a27 // .quad -5920691823653471754 + WORD $0xae7822bc; WORD $0x18375281 // .quad 1744954097560724156 + WORD $0xc7380874; WORD $0xd94ad8b1 // .quad -2789178761139451788 + WORD $0x0d0b15b5; WORD $0x8f229391 // .quad -8132775725879323211 + WORD $0x1c830548; WORD $0x87cec76f // .quad -8660765753353239224 + WORD $0x504ddb22; WORD $0xb2eb3875 // .quad -5554283638921766110 + WORD $0xe3a3c69a; WORD $0xa9c2794a // .quad -6214271173264161126 + WORD $0xa46151eb; WORD $0x5fa60692 // .quad 6892203506629956075 + WORD $0x9c8cb841; WORD $0xd433179d // .quad -3156152948152813503 + WORD $0xa6bcd333; WORD $0xdbc7c41b // .quad -2609901835997359309 + WORD $0x81d7f328; WORD $0x849feec2 // .quad -8890124620236590296 + WORD $0x906c0800; WORD $0x12b9b522 // .quad 1349308723430688768 + WORD $0x224deff3; WORD $0xa5c7ea73 // .quad -6500969756868349965 + WORD $0x34870a00; WORD $0xd768226b // .quad -2925050114139026944 + WORD $0xeae16bef; WORD $0xcf39e50f // .quad -3514526177658049553 + WORD $0x00d46640; WORD $0xe6a11583 // .quad -1828156321336891840 + WORD $0xf2cce375; WORD $0x81842f29 // .quad -9114107888677362827 + WORD $0xc1097fd0; WORD $0x60495ae3 // .quad 6938176635183661008 + WORD $0x6f801c53; WORD $0xa1e53af4 // .quad -6780948842419315629 + WORD $0xb14bdfc4; WORD $0x385bb19c // .quad 4061034775552188356 + WORD $0x8b602368; WORD $0xca5e89b1 // .quad -3864500034596756632 + WORD $0xdd9ed7b5; WORD $0x46729e03 // .quad 5076293469440235445 + WORD $0xee382c42; WORD $0xfcf62c1d // .quad -218939024818557886 + WORD $0x6a8346d1; WORD $0x6c07a2c2 // .quad 7784369436827535057 + WORD $0xb4e31ba9; WORD $0x9e19db92 // .quad -7054365918152680535 + WORD $0x05241885; WORD $0xc7098b73 // .quad -4104596259247744891 + WORD $0x621be293; WORD $0xc5a05277 // .quad -4206271379263462765 + WORD $0xc66d1ea7; WORD $0xb8cbee4f // .quad -5130745324059681113 + WORD $0x3aa2db38; WORD $0xf7086715 // .quad -646153205651940552 + WORD $0xdc043328; WORD $0x737f74f1 // .quad 8322499218531169064 + WORD $0x44a5c903; WORD $0x9a65406d // .quad -7321374781173544701 + WORD $0x53053ff2; WORD $0x505f522e // .quad 5791438004736573426 + WORD $0x95cf3b44; WORD $0xc0fe9088 // .quad -4540032458039542972 + WORD $0xe7c68fef; WORD $0x647726b9 // .quad 7239297505920716783 + WORD $0xbb430a15; WORD $0xf13e34aa // .quad -1063354554122040811 + WORD $0x30dc19f5; WORD $0x5eca7834 // .quad 6830403950414141941 + WORD $0xb509e64d; WORD $0x96c6e0ea // .quad -7582125623967357363 + WORD $0x3d132072; WORD $0xb67d1641 // .quad -5297053117264486286 + WORD $0x624c5fe0; WORD $0xbc789925 // .quad -4865971011531808800 + WORD $0x8c57e88f; WORD $0xe41c5bd1 // .quad -2009630378153219953 + WORD $0xbadf77d8; WORD $0xeb96bf6e // .quad -1470777745987373096 + WORD $0xf7b6f159; WORD $0x8e91b962 // .quad -8173548013986844327 + WORD $0x34cbaae7; WORD $0x933e37a5 // .quad -7836765118883190041 + WORD $0xb5a4adb0; WORD $0x723627bb // .quad 8229809056225996208 + WORD $0x81fe95a1; WORD $0xb80dc58e // .quad -5184270380176599647 + WORD $0xa30dd91c; WORD $0xcec3b1aa // .quad -3547796734999668452 + WORD $0x227e3b09; WORD $0xe61136f2 // .quad -1868651956793361655 + WORD $0xa5e8a7b1; WORD $0x213a4f0a // .quad 2394313059052595121 + WORD $0x558ee4e6; WORD $0x8fcac257 // .quad -8085436500636932890 + WORD $0x4f62d19d; WORD $0xa988e2cd // .quad -6230480713039031907 + WORD $0x2af29e1f; WORD $0xb3bd72ed // .quad -5495109607368778209 + WORD $0xa33b8605; WORD $0x93eb1b80 // .quad -7788100891298789883 + WORD $0x75af45a7; WORD $0xe0accfa8 // .quad -2257200990783584857 + WORD $0x660533c3; WORD $0xbc72f130 // .quad -4867563057061743677 + WORD $0x498d8b88; WORD $0x8c6c01c9 // .quad -8328279646880822392 + WORD $0x7f8680b4; WORD $0xeb8fad7c // .quad -1472767802899791692 + WORD $0x9bf0ee6a; WORD $0xaf87023b // .quad -5798663540173640086 + WORD $0x9f6820e1; WORD $0xa67398db // .quad -6452645772052127519 + WORD $0x82ed2a05; WORD $0xdb68c2ca // .quad -2636643406789662203 + WORD $0x43a1148c; WORD $0x88083f89 // .quad -8644589625959967604 + WORD $0x91d43a43; WORD $0x892179be // .quad -8565431156884620733 + WORD $0x948959b0; WORD $0x6a0a4f6b // .quad 7641007041259592112 + WORD $0x364948d4; WORD $0xab69d82e // .quad -6095102927678388012 + WORD $0x79abb01c; WORD $0x848ce346 // .quad -8895485272135061476 + WORD $0xc3db9b09; WORD $0xd6444e39 // .quad -3007192641170597111 + WORD $0x0c0b4e11; WORD $0xf2d80e0c // .quad -947992276657025519 + WORD $0x1a6940e5; WORD $0x85eab0e4 // .quad -8797024428372705051 + WORD $0x0f0e2195; WORD $0x6f8e118f // .quad 8038381691033493909 + WORD $0x2103911f; WORD $0xa7655d1d // .quad -6384594517038493409 + WORD $0xd2d1a9fb; WORD $0x4b7195f2 // .quad 5436291095364479483 + WORD $0x69447567; WORD $0xd13eb464 // .quad -3369057127870728857 + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + // .p2align 2, 0x00 +_POW_TAB: + WORD $0x00000001 // .long 1 + WORD $0x00000003 // .long 3 + WORD $0x00000006 // .long 6 + WORD $0x00000009 // .long 9 + WORD $0x0000000d // .long 13 + WORD $0x00000010 // .long 16 + WORD $0x00000013 // .long 19 + WORD $0x00000017 // .long 23 + WORD $0x0000001a // .long 26 + // .p2align 2, 0x00 +_LSHIFT_TAB: + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .space 4, '\x00\x00\x00\x00' + WORD $0x00000001 // .long 1 + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000001 // .long 1 + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000001 // .long 1 + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000002 // .long 2 + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000002 // .long 2 + WORD $0x35323133 // .asciz 4, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000002 // .long 2 + WORD $0x32363531 // .asciz 4, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000003 // .long 3 + WORD $0x32313837 // .asciz 4, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000003 // .long 3 + WORD $0x36303933 // .asciz 4, '390625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000003 // .long 3 + WORD $0x33353931 // .asciz 4, '1953125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000004 // .long 4 + WORD $0x35363739 // .asciz 4, '9765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000004 // .long 4 + WORD $0x32383834 // .asciz 4, '48828125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323138 // .asciz 4, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000004 // .long 4 + WORD $0x31343432 // .asciz 4, '244140625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363034 // .asciz 4, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000004 // .long 4 + WORD $0x30323231 // .asciz 4, '1220703125\x00\x00\x00\x00\x00\x00' + WORD $0x31333037 // .asciz 4, '703125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000005 // .long 5 + WORD $0x33303136 // .asciz 4, '6103515625\x00\x00\x00\x00\x00\x00' + WORD $0x36353135 // .asciz 4, '515625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000005 // .long 5 + WORD $0x31353033 // .asciz 4, '30517578125\x00\x00\x00\x00\x00' + WORD $0x38373537 // .asciz 4, '7578125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000005 // .long 5 + WORD $0x35323531 // .asciz 4, '152587890625\x00\x00\x00\x00' + WORD $0x39383738 // .asciz 4, '87890625\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323630 // .asciz 4, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000006 // .long 6 + WORD $0x39323637 // .asciz 4, '762939453125\x00\x00\x00\x00' + WORD $0x35343933 // .asciz 4, '39453125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323133 // .asciz 4, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000006 // .long 6 + WORD $0x34313833 // .asciz 4, '3814697265625\x00\x00\x00' + WORD $0x32373936 // .asciz 4, '697265625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363536 // .asciz 4, '65625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000006 // .long 6 + WORD $0x37303931 // .asciz 4, '19073486328125\x00\x00' + WORD $0x36383433 // .asciz 4, '3486328125\x00\x00\x00\x00\x00\x00' + WORD $0x31383233 // .asciz 4, '328125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000007 // .long 7 + WORD $0x36333539 // .asciz 4, '95367431640625\x00\x00' + WORD $0x31333437 // .asciz 4, '7431640625\x00\x00\x00\x00\x00\x00' + WORD $0x36303436 // .asciz 4, '640625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000007 // .long 7 + WORD $0x38363734 // .asciz 4, '476837158203125\x00' + WORD $0x35313733 // .asciz 4, '37158203125\x00\x00\x00\x00\x00' + WORD $0x33303238 // .asciz 4, '8203125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000007 // .long 7 + WORD $0x34383332 // .asciz 4, '2384185791015625' + WORD $0x37353831 // .asciz 4, '185791015625\x00\x00\x00\x00' + WORD $0x31303139 // .asciz 4, '91015625\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323635 // .asciz 4, '5625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000007 // .long 7 + WORD $0x32393131 // .asciz 4, '1192092895507812' + WORD $0x38323930 // .asciz 4, '0928955078125\x00\x00\x00' + WORD $0x30353539 // .asciz 4, '955078125\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32313837 // .asciz 4, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000008 // .long 8 + WORD $0x30363935 // .asciz 4, '5960464477539062' + WORD $0x34343634 // .asciz 4, '4644775390625\x00\x00\x00' + WORD $0x33353737 // .asciz 4, '775390625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363039 // .asciz 4, '90625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000008 // .long 8 + WORD $0x30383932 // .asciz 4, '2980232238769531' + WORD $0x32323332 // .asciz 4, '23223876953125\x00\x00' + WORD $0x36373833 // .asciz 4, '3876953125\x00\x00\x00\x00\x00\x00' + WORD $0x31333539 // .asciz 4, '953125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000008 // .long 8 + WORD $0x30393431 // .asciz 4, '1490116119384765' + WORD $0x31363131 // .asciz 4, '116119384765625\x00' + WORD $0x38333931 // .asciz 4, '19384765625\x00\x00\x00\x00\x00' + WORD $0x35363734 // .asciz 4, '4765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000009 // .long 9 + WORD $0x30353437 // .asciz 4, '7450580596923828' + WORD $0x35303835 // .asciz 4, '580596923828125\x00' + WORD $0x32393639 // .asciz 4, '96923828125\x00\x00\x00\x00\x00' + WORD $0x38323833 // .asciz 4, '3828125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000009 // .long 9 + WORD $0x35323733 // .asciz 4, '3725290298461914' + WORD $0x32303932 // .asciz 4, '2902984619140625' + WORD $0x36343839 // .asciz 4, '984619140625\x00\x00\x00\x00' + WORD $0x34313931 // .asciz 4, '19140625\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323630 // .asciz 4, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000009 // .long 9 + WORD $0x32363831 // .asciz 4, '1862645149230957' + WORD $0x31353436 // .asciz 4, '6451492309570312' + WORD $0x33323934 // .asciz 4, '4923095703125\x00\x00\x00' + WORD $0x37353930 // .asciz 4, '095703125\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32313330 // .asciz 4, '03125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000a // .long 10 + WORD $0x33313339 // .asciz 4, '9313225746154785' + WORD $0x37353232 // .asciz 4, '2257461547851562' + WORD $0x35313634 // .asciz 4, '4615478515625\x00\x00\x00' + WORD $0x35383734 // .asciz 4, '478515625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363531 // .asciz 4, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000a // .long 10 + WORD $0x36353634 // .asciz 4, '4656612873077392' + WORD $0x38323136 // .asciz 4, '6128730773925781' + WORD $0x37303337 // .asciz 4, '73077392578125\x00\x00' + WORD $0x32393337 // .asciz 4, '7392578125\x00\x00\x00\x00\x00\x00' + WORD $0x31383735 // .asciz 4, '578125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000a // .long 10 + WORD $0x38323332 // .asciz 4, '2328306436538696' + WORD $0x34363033 // .asciz 4, '3064365386962890' + WORD $0x33353633 // .asciz 4, '365386962890625\x00' + WORD $0x36393638 // .asciz 4, '86962890625\x00\x00\x00\x00\x00' + WORD $0x30393832 // .asciz 4, '2890625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000a // .long 10 + WORD $0x34363131 // .asciz 4, '1164153218269348' + WORD $0x32333531 // .asciz 4, '1532182693481445' + WORD $0x36323831 // .asciz 4, '1826934814453125' + WORD $0x38343339 // .asciz 4, '934814453125\x00\x00\x00\x00' + WORD $0x35343431 // .asciz 4, '14453125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323133 // .asciz 4, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000b // .long 11 + WORD $0x30323835 // .asciz 4, '5820766091346740' + WORD $0x30363637 // .asciz 4, '7660913467407226' + WORD $0x34333139 // .asciz 4, '9134674072265625' + WORD $0x30343736 // .asciz 4, '674072265625\x00\x00\x00\x00' + WORD $0x36323237 // .asciz 4, '72265625\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323635 // .asciz 4, '5625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000b // .long 11 + WORD $0x30313932 // .asciz 4, '2910383045673370' + WORD $0x30333833 // .asciz 4, '3830456733703613' + WORD $0x37363534 // .asciz 4, '4567337036132812' + WORD $0x30373333 // .asciz 4, '3370361328125\x00\x00\x00' + WORD $0x33313633 // .asciz 4, '361328125\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32313832 // .asciz 4, '28125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000b // .long 11 + WORD $0x35353431 // .asciz 4, '1455191522836685' + WORD $0x35313931 // .asciz 4, '1915228366851806' + WORD $0x33383232 // .asciz 4, '2283668518066406' + WORD $0x35383636 // .asciz 4, '66851806640625\x00\x00' + WORD $0x36303831 // .asciz 4, '1806640625\x00\x00\x00\x00\x00\x00' + WORD $0x36303436 // .asciz 4, '640625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000c // .long 12 + WORD $0x35373237 // .asciz 4, '7275957614183425' + WORD $0x36373539 // .asciz 4, '9576141834259033' + WORD $0x38313431 // .asciz 4, '1418342590332031' + WORD $0x35323433 // .asciz 4, '34259033203125\x00\x00' + WORD $0x33333039 // .asciz 4, '9033203125\x00\x00\x00\x00\x00\x00' + WORD $0x31333032 // .asciz 4, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000c // .long 12 + WORD $0x37333633 // .asciz 4, '3637978807091712' + WORD $0x38383739 // .asciz 4, '9788070917129516' + WORD $0x39303730 // .asciz 4, '0709171295166015' + WORD $0x32313731 // .asciz 4, '171295166015625\x00' + WORD $0x36313539 // .asciz 4, '95166015625\x00\x00\x00\x00\x00' + WORD $0x35313036 // .asciz 4, '6015625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000c // .long 12 + WORD $0x38313831 // .asciz 4, '1818989403545856' + WORD $0x34393839 // .asciz 4, '9894035458564758' + WORD $0x34353330 // .asciz 4, '0354585647583007' + WORD $0x36353835 // .asciz 4, '5856475830078125' + WORD $0x38353734 // .asciz 4, '475830078125\x00\x00\x00\x00' + WORD $0x37303033 // .asciz 4, '30078125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323138 // .asciz 4, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000d // .long 13 + WORD $0x34393039 // .asciz 4, '9094947017729282' + WORD $0x30373439 // .asciz 4, '9470177292823791' + WORD $0x32373731 // .asciz 4, '1772928237915039' + WORD $0x32383239 // .asciz 4, '9282379150390625' + WORD $0x31393733 // .asciz 4, '379150390625\x00\x00\x00\x00' + WORD $0x39333035 // .asciz 4, '50390625\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323630 // .asciz 4, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000d // .long 13 + WORD $0x37343534 // .asciz 4, '4547473508864641' + WORD $0x35333734 // .asciz 4, '4735088646411895' + WORD $0x36383830 // .asciz 4, '0886464118957519' + WORD $0x31343634 // .asciz 4, '4641189575195312' + WORD $0x35393831 // .asciz 4, '1895751953125\x00\x00\x00' + WORD $0x39313537 // .asciz 4, '751953125\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32313335 // .asciz 4, '53125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000d // .long 13 + WORD $0x33373232 // .asciz 4, '2273736754432320' + WORD $0x37363337 // .asciz 4, '7367544323205947' + WORD $0x33343435 // .asciz 4, '5443232059478759' + WORD $0x30323332 // .asciz 4, '2320594787597656' + WORD $0x37343935 // .asciz 4, '59478759765625\x00\x00' + WORD $0x39353738 // .asciz 4, '8759765625\x00\x00\x00\x00\x00\x00' + WORD $0x36353637 // .asciz 4, '765625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000d // .long 13 + WORD $0x36333131 // .asciz 4, '1136868377216160' + WORD $0x33383638 // .asciz 4, '8683772161602973' + WORD $0x31323737 // .asciz 4, '7721616029739379' + WORD $0x30363136 // .asciz 4, '6160297393798828' + WORD $0x33373932 // .asciz 4, '297393798828125\x00' + WORD $0x39373339 // .asciz 4, '93798828125\x00\x00\x00\x00\x00' + WORD $0x38323838 // .asciz 4, '8828125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000e // .long 14 + WORD $0x34383635 // .asciz 4, '5684341886080801' + WORD $0x38313433 // .asciz 4, '3418860808014869' + WORD $0x38303638 // .asciz 4, '8608080148696899' + WORD $0x31303830 // .asciz 4, '0801486968994140' + WORD $0x39363834 // .asciz 4, '486968994140625\x00' + WORD $0x39393836 // .asciz 4, '68994140625\x00\x00\x00\x00\x00' + WORD $0x30343134 // .asciz 4, '4140625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000e // .long 14 + WORD $0x32343832 // .asciz 4, '2842170943040400' + WORD $0x39303731 // .asciz 4, '1709430404007434' + WORD $0x34303334 // .asciz 4, '4304040074348449' + WORD $0x30303430 // .asciz 4, '0400743484497070' + WORD $0x34333437 // .asciz 4, '7434844970703125' + WORD $0x39343438 // .asciz 4, '844970703125\x00\x00\x00\x00' + WORD $0x30373037 // .asciz 4, '70703125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323133 // .asciz 4, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000e // .long 14 + WORD $0x31323431 // .asciz 4, '1421085471520200' + WORD $0x34353830 // .asciz 4, '0854715202003717' + WORD $0x32353137 // .asciz 4, '7152020037174224' + WORD $0x30303230 // .asciz 4, '0200371742248535' + WORD $0x37313733 // .asciz 4, '3717422485351562' + WORD $0x34323234 // .asciz 4, '4224853515625\x00\x00\x00' + WORD $0x35333538 // .asciz 4, '853515625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363531 // .asciz 4, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000f // .long 15 + WORD $0x35303137 // .asciz 4, '7105427357601001' + WORD $0x33373234 // .asciz 4, '4273576010018587' + WORD $0x30363735 // .asciz 4, '5760100185871124' + WORD $0x31303031 // .asciz 4, '1001858711242675' + WORD $0x37383538 // .asciz 4, '8587112426757812' + WORD $0x34323131 // .asciz 4, '1124267578125\x00\x00\x00' + WORD $0x35373632 // .asciz 4, '267578125\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32313837 // .asciz 4, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000f // .long 15 + WORD $0x32353533 // .asciz 4, '3552713678800500' + WORD $0x36333137 // .asciz 4, '7136788005009293' + WORD $0x30383837 // .asciz 4, '7880050092935562' + WORD $0x30303530 // .asciz 4, '0500929355621337' + WORD $0x33393239 // .asciz 4, '9293556213378906' + WORD $0x32363535 // .asciz 4, '55621337890625\x00\x00' + WORD $0x37333331 // .asciz 4, '1337890625\x00\x00\x00\x00\x00\x00' + WORD $0x36303938 // .asciz 4, '890625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x0000000f // .long 15 + WORD $0x36373731 // .asciz 4, '1776356839400250' + WORD $0x38363533 // .asciz 4, '3568394002504646' + WORD $0x30343933 // .asciz 4, '3940025046467781' + WORD $0x30353230 // .asciz 4, '0250464677810668' + WORD $0x36343634 // .asciz 4, '4646778106689453' + WORD $0x31383737 // .asciz 4, '778106689453125\x00' + WORD $0x38363630 // .asciz 4, '06689453125\x00\x00\x00\x00\x00' + WORD $0x33353439 // .asciz 4, '9453125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000010 // .long 16 + WORD $0x31383838 // .asciz 4, '8881784197001252' + WORD $0x31343837 // .asciz 4, '7841970012523233' + WORD $0x30303739 // .asciz 4, '9700125232338905' + WORD $0x32353231 // .asciz 4, '1252323389053344' + WORD $0x33333233 // .asciz 4, '3233890533447265' + WORD $0x35303938 // .asciz 4, '890533447265625\x00' + WORD $0x34343333 // .asciz 4, '33447265625\x00\x00\x00\x00\x00' + WORD $0x35363237 // .asciz 4, '7265625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353236 // .asciz 4, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000010 // .long 16 + WORD $0x30343434 // .asciz 4, '4440892098500626' + WORD $0x30323938 // .asciz 4, '8920985006261616' + WORD $0x30353839 // .asciz 4, '9850062616169452' + WORD $0x36323630 // .asciz 4, '0626161694526672' + WORD $0x36313631 // .asciz 4, '1616945266723632' + WORD $0x32353439 // .asciz 4, '9452667236328125' + WORD $0x32373636 // .asciz 4, '667236328125\x00\x00\x00\x00' + WORD $0x32333633 // .asciz 4, '36328125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323138 // .asciz 4, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000010 // .long 16 + WORD $0x30323232 // .asciz 4, '2220446049250313' + WORD $0x30363434 // .asciz 4, '4460492503130808' + WORD $0x35323934 // .asciz 4, '4925031308084726' + WORD $0x33313330 // .asciz 4, '0313080847263336' + WORD $0x38303830 // .asciz 4, '0808472633361816' + WORD $0x36323734 // .asciz 4, '4726333618164062' + WORD $0x36333333 // .asciz 4, '3336181640625\x00\x00\x00' + WORD $0x36313831 // .asciz 4, '181640625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363034 // .asciz 4, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000010 // .long 16 + WORD $0x30313131 // .asciz 4, '1110223024625156' + WORD $0x30333232 // .asciz 4, '2230246251565404' + WORD $0x32363432 // .asciz 4, '2462515654042363' + WORD $0x36353135 // .asciz 4, '5156540423631668' + WORD $0x34303435 // .asciz 4, '5404236316680908' + WORD $0x33363332 // .asciz 4, '2363166809082031' + WORD $0x38363631 // .asciz 4, '16680908203125\x00\x00' + WORD $0x38303930 // .asciz 4, '0908203125\x00\x00\x00\x00\x00\x00' + WORD $0x31333032 // .asciz 4, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000011 // .long 17 + WORD $0x31353535 // .asciz 4, '5551115123125782' + WORD $0x31353131 // .asciz 4, '1151231257827021' + WORD $0x32313332 // .asciz 4, '2312578270211815' + WORD $0x32383735 // .asciz 4, '5782702118158340' + WORD $0x31323037 // .asciz 4, '7021181583404541' + WORD $0x35313831 // .asciz 4, '1815834045410156' + WORD $0x30343338 // .asciz 4, '83404541015625\x00\x00' + WORD $0x31343534 // .asciz 4, '4541015625\x00\x00\x00\x00\x00\x00' + WORD $0x36353130 // .asciz 4, '015625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000011 // .long 17 + WORD $0x35373732 // .asciz 4, '2775557561562891' + WORD $0x35373535 // .asciz 4, '5575615628913510' + WORD $0x36353136 // .asciz 4, '6156289135105907' + WORD $0x31393832 // .asciz 4, '2891351059079170' + WORD $0x30313533 // .asciz 4, '3510590791702270' + WORD $0x37303935 // .asciz 4, '5907917022705078' + WORD $0x30373139 // .asciz 4, '917022705078125\x00' + WORD $0x30373232 // .asciz 4, '22705078125\x00\x00\x00\x00\x00' + WORD $0x38373035 // .asciz 4, '5078125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00353231 // .asciz 4, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000011 // .long 17 + WORD $0x37383331 // .asciz 4, '1387778780781445' + WORD $0x37383737 // .asciz 4, '7787807814456755' + WORD $0x38373038 // .asciz 4, '8078144567552953' + WORD $0x35343431 // .asciz 4, '1445675529539585' + WORD $0x35353736 // .asciz 4, '6755295395851135' + WORD $0x33353932 // .asciz 4, '2953958511352539' + WORD $0x35383539 // .asciz 4, '9585113525390625' + WORD $0x35333131 // .asciz 4, '113525390625\x00\x00\x00\x00' + WORD $0x39333532 // .asciz 4, '25390625\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323630 // .asciz 4, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000012 // .long 18 + WORD $0x38333936 // .asciz 4, '6938893903907228' + WORD $0x39333938 // .asciz 4, '8939039072283776' + WORD $0x30393330 // .asciz 4, '0390722837764769' + WORD $0x38323237 // .asciz 4, '7228377647697925' + WORD $0x36373733 // .asciz 4, '3776476979255676' + WORD $0x39363734 // .asciz 4, '4769792556762695' + WORD $0x35323937 // .asciz 4, '7925567626953125' + WORD $0x36373635 // .asciz 4, '567626953125\x00\x00\x00\x00' + WORD $0x35393632 // .asciz 4, '26953125\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x35323133 // .asciz 4, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000012 // .long 18 + WORD $0x39363433 // .asciz 4, '3469446951953614' + WORD $0x39363434 // .asciz 4, '4469519536141888' + WORD $0x35393135 // .asciz 4, '5195361418882384' + WORD $0x34313633 // .asciz 4, '3614188823848962' + WORD $0x38383831 // .asciz 4, '1888238489627838' + WORD $0x34383332 // .asciz 4, '2384896278381347' + WORD $0x32363938 // .asciz 4, '8962783813476562' + WORD $0x38333837 // .asciz 4, '7838134765625\x00\x00\x00' + WORD $0x37343331 // .asciz 4, '134765625\x00\x00\x00\x00\x00\x00\x00' + WORD $0x32363536 // .asciz 4, '65625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000035 // .asciz 4, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000012 // .long 18 + WORD $0x34333731 // .asciz 4, '1734723475976807' + WORD $0x34333237 // .asciz 4, '7234759768070944' + WORD $0x37393537 // .asciz 4, '7597680709441192' + WORD $0x37303836 // .asciz 4, '6807094411924481' + WORD $0x34343930 // .asciz 4, '0944119244813919' + WORD $0x32393131 // .asciz 4, '1192448139190673' + WORD $0x31383434 // .asciz 4, '4481391906738281' + WORD $0x39313933 // .asciz 4, '39190673828125\x00\x00' + WORD $0x33373630 // .asciz 4, '0673828125\x00\x00\x00\x00\x00\x00' + WORD $0x31383238 // .asciz 4, '828125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + WORD $0x00000013 // .long 19 + WORD $0x33373638 // .asciz 4, '8673617379884035' + WORD $0x33373136 // .asciz 4, '6173798840354720' + WORD $0x38383937 // .asciz 4, '7988403547205962' + WORD $0x35333034 // .asciz 4, '4035472059622406' + WORD $0x30323734 // .asciz 4, '4720596224069595' + WORD $0x32363935 // .asciz 4, '5962240695953369' + WORD $0x36303432 // .asciz 4, '2406959533691406' + WORD $0x35393539 // .asciz 4, '95953369140625\x00\x00' + WORD $0x39363333 // .asciz 4, '3369140625\x00\x00\x00\x00\x00\x00' + WORD $0x36303431 // .asciz 4, '140625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00003532 // .asciz 4, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00\x00\x00\x00\x00' + WORD $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + +TEXT ·__vnumber(SB), NOSPLIT, $0-24 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $176, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_vnumber: + MOVD s+0(FP), R0 + MOVD p+8(FP), R1 + MOVD v+16(FP), R2 + MOVD ·_subr__vnumber(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_subr_arm64.go new file mode 100644 index 0000000..78dd2c3 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/vnumber_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __vnumber_entry__() uintptr + +var ( + _subr__vnumber uintptr = __vnumber_entry__() + 0 +) + +const ( + _stack__vnumber = 112 +) + +var ( + _ = _subr__vnumber +) + +const ( + _ = _stack__vnumber +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_arm64.go new file mode 100644 index 0000000..35b4c60 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_arm64.go @@ -0,0 +1,32 @@ + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func vsigned(s *string, p *int, v *types.JsonState) { + __vsigned(s, p, v) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __vsigned(s *string, p *int, v *types.JsonState) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_arm64.s new file mode 100644 index 0000000..be88502 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_arm64.s @@ -0,0 +1,156 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__vsigned_entry__(SB), NOSPLIT, $16 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 2, 0x00 +_vsigned: + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xf9400028 // ldr x8, [x1] + WORD $0xa940240a // ldp x10, x9, [x0] + WORD $0x5280012b // mov w11, #9 + WORD $0xa900fc5f // stp xzr, xzr, [x2, #8] + WORD $0xf900004b // str x11, [x2] + WORD $0xf940002b // ldr x11, [x1] + WORD $0xf9000c4b // str x11, [x2, #24] + WORD $0xeb09011f // cmp x8, x9 + WORD $0x54000642 // b.hs LBB0_12 $200(%rip) + WORD $0x3868694c // ldrb w12, [x10, x8] + WORD $0x7100b59f // cmp w12, #45 + WORD $0x540006a1 // b.ne LBB0_13 $212(%rip) + WORD $0x91000508 // add x8, x8, #1 + WORD $0xeb09011f // cmp x8, x9 + WORD $0x54000582 // b.hs LBB0_12 $176(%rip) + WORD $0x3868694c // ldrb w12, [x10, x8] + WORD $0x9280000b // mov x11, #-1 + WORD $0x5100e98d // sub w13, w12, #58 + WORD $0x31002dbf // cmn w13, #11 + WORD $0x54000629 // b.ls LBB0_14 $196(%rip) +LBB0_4: + WORD $0x7100c19f // cmp w12, #48 + WORD $0x54000181 // b.ne LBB0_6 $48(%rip) + WORD $0x8b08014c // add x12, x10, x8 + WORD $0x3940058c // ldrb w12, [x12, #1] + WORD $0x5100b98c // sub w12, w12, #46 + WORD $0x7100dd9f // cmp w12, #55 + WORD $0x5280002d // mov w13, #1 + WORD $0x9acc21ac // lsl x12, x13, x12 + WORD $0xb20903ed // mov x13, #36028797027352576 + WORD $0xf280002d // movk x13, #1 + WORD $0x8a0d018c // and x12, x12, x13 + WORD $0xfa409984 // ccmp x12, #0, #4, ls + WORD $0x540007e0 // b.eq LBB0_22 $252(%rip) +LBB0_6: + WORD $0xd280000c // mov x12, #0 + WORD $0x5280014d // mov w13, #10 +LBB0_7: + WORD $0xeb08013f // cmp x9, x8 + WORD $0x540006c0 // b.eq LBB0_21 $216(%rip) + WORD $0x3868694e // ldrb w14, [x10, x8] + WORD $0x5100c1ce // sub w14, w14, #48 + WORD $0x710025df // cmp w14, #9 + WORD $0x54000448 // b.hi LBB0_15 $136(%rip) + WORD $0x9b4d7d8f // smulh x15, x12, x13 + WORD $0x8b0c098c // add x12, x12, x12, lsl #2 + WORD $0xd37ff98c // lsl x12, x12, #1 + WORD $0xeb8cfdff // cmp x15, x12, asr #63 + WORD $0x540000c1 // b.ne LBB0_11 $24(%rip) + WORD $0x91000508 // add x8, x8, #1 + WORD $0x92401dce // and x14, x14, #0xff + WORD $0x9b2e7d6e // smull x14, w11, w14 + WORD $0xab0e018c // adds x12, x12, x14 + WORD $0x54fffe27 // b.vc LBB0_7 $-60(%rip) +LBB0_11: + WORD $0xd1000508 // sub x8, x8, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x92800088 // mov x8, #-5 + WORD $0xf9000048 // str x8, [x2] + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_12: + WORD $0xf9000029 // str x9, [x1] + WORD $0x92800008 // mov x8, #-1 + WORD $0xf9000048 // str x8, [x2] + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_13: + WORD $0x5280002b // mov w11, #1 + WORD $0x5100e98d // sub w13, w12, #58 + WORD $0x31002dbf // cmn w13, #11 + WORD $0x54fffa28 // b.hi LBB0_4 $-188(%rip) +LBB0_14: + WORD $0xf9000028 // str x8, [x1] + WORD $0x92800028 // mov x8, #-2 + WORD $0xf9000048 // str x8, [x2] + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_15: + WORD $0xeb09011f // cmp x8, x9 + WORD $0x540001c2 // b.hs LBB0_20 $56(%rip) + WORD $0x38686949 // ldrb w9, [x10, x8] + WORD $0x7100b93f // cmp w9, #46 + WORD $0x540000a0 // b.eq LBB0_19 $20(%rip) + WORD $0x7101153f // cmp w9, #69 + WORD $0x54000060 // b.eq LBB0_19 $12(%rip) + WORD $0x7101953f // cmp w9, #101 + WORD $0x540000e1 // b.ne LBB0_20 $28(%rip) +LBB0_19: + WORD $0xf9000028 // str x8, [x1] + WORD $0x928000a8 // mov x8, #-6 + WORD $0xf9000048 // str x8, [x2] + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_20: + WORD $0xaa0803e9 // mov x9, x8 +LBB0_21: + WORD $0xf9000029 // str x9, [x1] + WORD $0xf900084c // str x12, [x2, #16] + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_22: + WORD $0x91000508 // add x8, x8, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + +TEXT ·__vsigned(SB), NOSPLIT, $0-24 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $96, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_vsigned: + MOVD s+0(FP), R0 + MOVD p+8(FP), R1 + MOVD v+16(FP), R2 + MOVD ·_subr__vsigned(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_subr_arm64.go new file mode 100644 index 0000000..902bd4d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/vsigned_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __vsigned_entry__() uintptr + +var ( + _subr__vsigned uintptr = __vsigned_entry__() + 0 +) + +const ( + _stack__vsigned = 32 +) + +var ( + _ = _subr__vsigned +) + +const ( + _ = _stack__vsigned +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/vstring_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/vstring_arm64.go new file mode 100644 index 0000000..5232c81 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/vstring_arm64.go @@ -0,0 +1,32 @@ + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func vstring(s *string, p *int, v *types.JsonState, flags uint64) { + __vstring(s, p, v, flags) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __vstring(s *string, p *int, v *types.JsonState, flags uint64) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/vstring_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/vstring_arm64.s new file mode 100644 index 0000000..9093dfb --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/vstring_arm64.s @@ -0,0 +1,628 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__vstring_entry__(SB), NOSPLIT, $32 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 4, 0x00 +lCPI0_0: + WORD $0x08040201 + WORD $0x80402010 + WORD $0x08040201 + WORD $0x80402010 + // // .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 +// .byte 1 +// .byte 2 +// .byte 4 +// .byte 8 +// .byte 16 +// .byte 32 +// .byte 64 +// .byte 128 + +lCPI0_1: + WORD $0x09010800 + WORD $0x0b030a02 + WORD $0x0d050c04 + WORD $0x0f070e06 + // // .byte 0 +// .byte 8 +// .byte 1 +// .byte 9 +// .byte 2 +// .byte 10 +// .byte 3 +// .byte 11 +// .byte 4 +// .byte 12 +// .byte 5 +// .byte 13 +// .byte 6 +// .byte 14 +// .byte 7 +// .byte 15 + +_vstring: + WORD $0xd100c3ff // sub sp, sp, #48 + WORD $0xa900cff4 // stp x20, x19, [sp, #8] + WORD $0xa901fbfd // stp fp, lr, [sp, #24] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xf9400028 // ldr x8, [x1] + WORD $0xf9400409 // ldr x9, [x0, #8] + WORD $0x37280c43 // tbnz w3, #5, LBB0_11 $392(%rip) + WORD $0xeb08012b // subs x11, x9, x8 + WORD $0x54003b00 // b.eq LBB0_75 $1888(%rip) + WORD $0xf940000a // ldr x10, [x0] + WORD $0xf101017f // cmp x11, #64 + WORD $0x54001d43 // b.lo LBB0_26 $936(%rip) + WORD $0xd280000c // mov x12, #0 + WORD $0x92800009 // mov x9, #-1 + WORD $0x4f01e440 // movi.16b v0, #34 + WORD $0x4f02e781 // movi.16b v1, #92 +Lloh0: + WORD $0x10fffced // adr x13, lCPI0_0 $-100(%rip) +Lloh1: + WORD $0x3dc001a2 // ldr q2, [x13, lCPI0_0@PAGEOFF] $0(%rip) +Lloh2: + WORD $0x10fffd2d // adr x13, lCPI0_1 $-92(%rip) +Lloh3: + WORD $0x3dc001a3 // ldr q3, [x13, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0xaa0803ed // mov x13, x8 +LBB0_4: + WORD $0x8b0d014e // add x14, x10, x13 + WORD $0xad4015c4 // ldp q4, q5, [x14] + WORD $0xad411dc6 // ldp q6, q7, [x14, #32] + WORD $0x6e208c90 // cmeq.16b v16, v4, v0 + WORD $0x6e208cb1 // cmeq.16b v17, v5, v0 + WORD $0x6e208cd2 // cmeq.16b v18, v6, v0 + WORD $0x6e208cf3 // cmeq.16b v19, v7, v0 + WORD $0x6e218c84 // cmeq.16b v4, v4, v1 + WORD $0x6e218ca5 // cmeq.16b v5, v5, v1 + WORD $0x6e218cc6 // cmeq.16b v6, v6, v1 + WORD $0x6e218ce7 // cmeq.16b v7, v7, v1 + WORD $0x4e221e10 // and.16b v16, v16, v2 + WORD $0x4e030210 // tbl.16b v16, { v16 }, v3 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e26020e // fmov w14, s16 + WORD $0x4e221e30 // and.16b v16, v17, v2 + WORD $0x4e030210 // tbl.16b v16, { v16 }, v3 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e26020f // fmov w15, s16 + WORD $0x4e221e50 // and.16b v16, v18, v2 + WORD $0x4e030210 // tbl.16b v16, { v16 }, v3 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e260210 // fmov w16, s16 + WORD $0x4e221e70 // and.16b v16, v19, v2 + WORD $0x4e030210 // tbl.16b v16, { v16 }, v3 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e260211 // fmov w17, s16 + WORD $0x4e221c84 // and.16b v4, v4, v2 + WORD $0x4e030084 // tbl.16b v4, { v4 }, v3 + WORD $0x4e71b884 // addv.8h h4, v4 + WORD $0x1e260083 // fmov w3, s4 + WORD $0x4e221ca4 // and.16b v4, v5, v2 + WORD $0x4e030084 // tbl.16b v4, { v4 }, v3 + WORD $0x4e71b884 // addv.8h h4, v4 + WORD $0x1e260084 // fmov w4, s4 + WORD $0x4e221cc4 // and.16b v4, v6, v2 + WORD $0x4e030084 // tbl.16b v4, { v4 }, v3 + WORD $0x4e71b884 // addv.8h h4, v4 + WORD $0x1e260085 // fmov w5, s4 + WORD $0x4e221ce4 // and.16b v4, v7, v2 + WORD $0x4e030084 // tbl.16b v4, { v4 }, v3 + WORD $0x4e71b884 // addv.8h h4, v4 + WORD $0x1e260086 // fmov w6, s4 + WORD $0xd3607e10 // lsl x16, x16, #32 + WORD $0xaa11c210 // orr x16, x16, x17, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f020f // orr x15, x16, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xd3607caf // lsl x15, x5, #32 + WORD $0xaa06c1ef // orr x15, x15, x6, lsl #48 + WORD $0x53103c90 // lsl w16, w4, #16 + WORD $0xaa1001ef // orr x15, x15, x16 + WORD $0xaa0301ef // orr x15, x15, x3 + WORD $0xb500010f // cbnz x15, LBB0_8 $32(%rip) + WORD $0xb500018c // cbnz x12, LBB0_9 $48(%rip) + WORD $0xb50002ce // cbnz x14, LBB0_10 $88(%rip) +LBB0_7: + WORD $0xd101016b // sub x11, x11, #64 + WORD $0x910101ad // add x13, x13, #64 + WORD $0xf100fd7f // cmp x11, #63 + WORD $0x54fff8a8 // b.hi LBB0_4 $-236(%rip) + WORD $0x140000a0 // b LBB0_24 $640(%rip) +LBB0_8: + WORD $0xb100053f // cmn x9, #1 + WORD $0xdac001f0 // rbit x16, x15 + WORD $0xdac01210 // clz x16, x16 + WORD $0x8b0d0210 // add x16, x16, x13 + WORD $0x9a901129 // csel x9, x9, x16, ne +LBB0_9: + WORD $0x8a2c01f0 // bic x16, x15, x12 + WORD $0xaa100591 // orr x17, x12, x16, lsl #1 + WORD $0x8a3101ec // bic x12, x15, x17 + WORD $0x9201f18c // and x12, x12, #0xaaaaaaaaaaaaaaaa + WORD $0xab10018f // adds x15, x12, x16 + WORD $0x1a9f37ec // cset w12, hs + WORD $0xd37ff9ef // lsl x15, x15, #1 + WORD $0xd200f1ef // eor x15, x15, #0x5555555555555555 + WORD $0x8a1101ef // and x15, x15, x17 + WORD $0x8a2f01ce // bic x14, x14, x15 + WORD $0xb4fffd8e // cbz x14, LBB0_7 $-80(%rip) +LBB0_10: + WORD $0xdac001ca // rbit x10, x14 + WORD $0xdac0114a // clz x10, x10 + WORD $0x8b0d014a // add x10, x10, x13 + WORD $0x9100054e // add x14, x10, #1 + WORD $0xb6f8102e // tbz x14, #63, LBB0_23 $516(%rip) + WORD $0x1400017a // b LBB0_76 $1512(%rip) +LBB0_11: + WORD $0xeb08012c // subs x12, x9, x8 + WORD $0x54002ee0 // b.eq LBB0_75 $1500(%rip) + WORD $0xf940000a // ldr x10, [x0] + WORD $0x10fff18f // adr x15, lCPI0_0 $-464(%rip) + WORD $0x10fff1ee // adr x14, lCPI0_1 $-452(%rip) + WORD $0xf101019f // cmp x12, #64 + WORD $0x540015e3 // b.lo LBB0_32 $700(%rip) + WORD $0xd280000b // mov x11, #0 + WORD $0x92800009 // mov x9, #-1 + WORD $0x4f01e440 // movi.16b v0, #34 + WORD $0x3dc001e1 // ldr q1, [x15, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x3dc001c2 // ldr q2, [x14, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x4f02e783 // movi.16b v3, #92 + WORD $0x4f01e404 // movi.16b v4, #32 + WORD $0xaa0803ed // mov x13, x8 +LBB0_14: + WORD $0x8b0d0150 // add x16, x10, x13 + WORD $0xad401e10 // ldp q16, q7, [x16] + WORD $0xad411606 // ldp q6, q5, [x16, #32] + WORD $0x6e208e11 // cmeq.16b v17, v16, v0 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260230 // fmov w16, s17 + WORD $0x6e208cf1 // cmeq.16b v17, v7, v0 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260231 // fmov w17, s17 + WORD $0x6e208cd1 // cmeq.16b v17, v6, v0 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260223 // fmov w3, s17 + WORD $0x6e208cb1 // cmeq.16b v17, v5, v0 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260224 // fmov w4, s17 + WORD $0x6e238e11 // cmeq.16b v17, v16, v3 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260225 // fmov w5, s17 + WORD $0x6e238cf1 // cmeq.16b v17, v7, v3 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260226 // fmov w6, s17 + WORD $0x6e238cd1 // cmeq.16b v17, v6, v3 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260227 // fmov w7, s17 + WORD $0x6e238cb1 // cmeq.16b v17, v5, v3 + WORD $0x4e211e31 // and.16b v17, v17, v1 + WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 + WORD $0x4e71ba31 // addv.8h h17, v17 + WORD $0x1e260233 // fmov w19, s17 + WORD $0xd3607c63 // lsl x3, x3, #32 + WORD $0xaa04c063 // orr x3, x3, x4, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa110071 // orr x17, x3, x17 + WORD $0xaa100230 // orr x16, x17, x16 + WORD $0xd3607cf1 // lsl x17, x7, #32 + WORD $0xaa13c231 // orr x17, x17, x19, lsl #48 + WORD $0x53103cc3 // lsl w3, w6, #16 + WORD $0xaa030231 // orr x17, x17, x3 + WORD $0xaa050231 // orr x17, x17, x5 + WORD $0xb5000451 // cbnz x17, LBB0_19 $136(%rip) + WORD $0xb50004cb // cbnz x11, LBB0_20 $152(%rip) +LBB0_16: + WORD $0x6e303490 // cmhi.16b v16, v4, v16 + WORD $0x4e211e10 // and.16b v16, v16, v1 + WORD $0x4e020210 // tbl.16b v16, { v16 }, v2 + WORD $0x4e71ba10 // addv.8h h16, v16 + WORD $0x1e260211 // fmov w17, s16 + WORD $0x6e273487 // cmhi.16b v7, v4, v7 + WORD $0x4e211ce7 // and.16b v7, v7, v1 + WORD $0x4e0200e7 // tbl.16b v7, { v7 }, v2 + WORD $0x4e71b8e7 // addv.8h h7, v7 + WORD $0x1e2600e3 // fmov w3, s7 + WORD $0x6e263486 // cmhi.16b v6, v4, v6 + WORD $0x4e211cc6 // and.16b v6, v6, v1 + WORD $0x4e0200c6 // tbl.16b v6, { v6 }, v2 + WORD $0x4e71b8c6 // addv.8h h6, v6 + WORD $0x1e2600c4 // fmov w4, s6 + WORD $0x6e253485 // cmhi.16b v5, v4, v5 + WORD $0x4e211ca5 // and.16b v5, v5, v1 + WORD $0x4e0200a5 // tbl.16b v5, { v5 }, v2 + WORD $0x4e71b8a5 // addv.8h h5, v5 + WORD $0x1e2600a5 // fmov w5, s5 + WORD $0xd3607c84 // lsl x4, x4, #32 + WORD $0xaa05c084 // orr x4, x4, x5, lsl #48 + WORD $0x53103c63 // lsl w3, w3, #16 + WORD $0xaa030083 // orr x3, x4, x3 + WORD $0xaa110071 // orr x17, x3, x17 + WORD $0xb50002f0 // cbnz x16, LBB0_21 $92(%rip) + WORD $0xb5002011 // cbnz x17, LBB0_69 $1024(%rip) + WORD $0xd101018c // sub x12, x12, #64 + WORD $0x910101ad // add x13, x13, #64 + WORD $0xf100fd9f // cmp x12, #63 + WORD $0x54fff568 // b.hi LBB0_14 $-340(%rip) + WORD $0x14000026 // b LBB0_25 $152(%rip) +LBB0_19: + WORD $0xb100053f // cmn x9, #1 + WORD $0xdac00223 // rbit x3, x17 + WORD $0xdac01063 // clz x3, x3 + WORD $0x8b0d0063 // add x3, x3, x13 + WORD $0x9a831129 // csel x9, x9, x3, ne +LBB0_20: + WORD $0x8a2b0223 // bic x3, x17, x11 + WORD $0xaa030564 // orr x4, x11, x3, lsl #1 + WORD $0x8a24022b // bic x11, x17, x4 + WORD $0x9201f16b // and x11, x11, #0xaaaaaaaaaaaaaaaa + WORD $0xab030171 // adds x17, x11, x3 + WORD $0x1a9f37eb // cset w11, hs + WORD $0xd37ffa31 // lsl x17, x17, #1 + WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 + WORD $0x8a040231 // and x17, x17, x4 + WORD $0x8a310210 // bic x16, x16, x17 + WORD $0x17ffffd1 // b LBB0_16 $-188(%rip) +LBB0_21: + WORD $0xdac0020a // rbit x10, x16 + WORD $0xdac0114a // clz x10, x10 + WORD $0xdac0022b // rbit x11, x17 + WORD $0xdac0116b // clz x11, x11 + WORD $0xeb0a017f // cmp x11, x10 + WORD $0x54001ca3 // b.lo LBB0_69 $916(%rip) + WORD $0x8b0d014a // add x10, x10, x13 + WORD $0x9100054e // add x14, x10, #1 + WORD $0xb7f81f6e // tbnz x14, #63, LBB0_76 $1004(%rip) +LBB0_23: + WORD $0xf900002e // str x14, [x1] + WORD $0x528000ea // mov w10, #7 + WORD $0xf900004a // str x10, [x2] + WORD $0xeb0e013f // cmp x9, x14 + WORD $0xda9fb129 // csinv x9, x9, xzr, lt + WORD $0xa9012448 // stp x8, x9, [x2, #16] + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] + WORD $0xa940cff4 // ldp x20, x19, [sp, #8] + WORD $0x9100c3ff // add sp, sp, #48 + WORD $0xd65f03c0 // ret +LBB0_24: + WORD $0x8b0d014d // add x13, x10, x13 + WORD $0x14000006 // b LBB0_27 $24(%rip) +LBB0_25: + WORD $0x8b0d014d // add x13, x10, x13 + WORD $0x1400002c // b LBB0_33 $176(%rip) +LBB0_26: + WORD $0xd280000c // mov x12, #0 + WORD $0x8b08014d // add x13, x10, x8 + WORD $0x92800009 // mov x9, #-1 +LBB0_27: + WORD $0xf100816e // subs x14, x11, #32 + WORD $0x54000e83 // b.lo LBB0_42 $464(%rip) + WORD $0xad4005a0 // ldp q0, q1, [x13] + WORD $0x4f01e442 // movi.16b v2, #34 + WORD $0x6e228c03 // cmeq.16b v3, v0, v2 + WORD $0x6e228c22 // cmeq.16b v2, v1, v2 + WORD $0x4f02e784 // movi.16b v4, #92 + WORD $0x6e248c00 // cmeq.16b v0, v0, v4 + WORD $0x6e248c21 // cmeq.16b v1, v1, v4 +Lloh4: + WORD $0x10ffdecb // adr x11, lCPI0_0 $-1064(%rip) +Lloh5: + WORD $0x3dc00164 // ldr q4, [x11, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x4e241c63 // and.16b v3, v3, v4 +Lloh6: + WORD $0x10ffdeeb // adr x11, lCPI0_1 $-1060(%rip) +Lloh7: + WORD $0x3dc00165 // ldr q5, [x11, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x4e050063 // tbl.16b v3, { v3 }, v5 + WORD $0x4e71b863 // addv.8h h3, v3 + WORD $0x1e26006b // fmov w11, s3 + WORD $0x4e241c42 // and.16b v2, v2, v4 + WORD $0x4e050042 // tbl.16b v2, { v2 }, v5 + WORD $0x4e71b842 // addv.8h h2, v2 + WORD $0x1e260050 // fmov w16, s2 + WORD $0x4e241c00 // and.16b v0, v0, v4 + WORD $0x4e050000 // tbl.16b v0, { v0 }, v5 + WORD $0x4e71b800 // addv.8h h0, v0 + WORD $0x1e26000f // fmov w15, s0 + WORD $0x4e241c20 // and.16b v0, v1, v4 + WORD $0x4e050000 // tbl.16b v0, { v0 }, v5 + WORD $0x4e71b800 // addv.8h h0, v0 + WORD $0x1e260011 // fmov w17, s0 + WORD $0x33103e0b // bfi w11, w16, #16, #16 + WORD $0x33103e2f // bfi w15, w17, #16, #16 + WORD $0x3500080f // cbnz w15, LBB0_39 $256(%rip) + WORD $0xb50008ac // cbnz x12, LBB0_40 $276(%rip) + WORD $0xb4000a4b // cbz x11, LBB0_41 $328(%rip) +LBB0_31: + WORD $0xdac0016b // rbit x11, x11 + WORD $0xdac0116b // clz x11, x11 + WORD $0x14000036 // b LBB0_38 $216(%rip) +LBB0_32: + WORD $0xd280000b // mov x11, #0 + WORD $0x8b08014d // add x13, x10, x8 + WORD $0x92800009 // mov x9, #-1 +LBB0_33: + WORD $0xf1008190 // subs x16, x12, #32 + WORD $0x54001103 // b.lo LBB0_59 $544(%rip) + WORD $0xad4005a0 // ldp q0, q1, [x13] + WORD $0x4f01e442 // movi.16b v2, #34 + WORD $0x6e228c03 // cmeq.16b v3, v0, v2 + WORD $0x3dc001e4 // ldr q4, [x15, lCPI0_0@PAGEOFF] $0(%rip) + WORD $0x4e241c63 // and.16b v3, v3, v4 + WORD $0x3dc001c5 // ldr q5, [x14, lCPI0_1@PAGEOFF] $0(%rip) + WORD $0x4e050063 // tbl.16b v3, { v3 }, v5 + WORD $0x4e71b863 // addv.8h h3, v3 + WORD $0x1e26006c // fmov w12, s3 + WORD $0x6e228c22 // cmeq.16b v2, v1, v2 + WORD $0x4e241c42 // and.16b v2, v2, v4 + WORD $0x4e050042 // tbl.16b v2, { v2 }, v5 + WORD $0x4e71b842 // addv.8h h2, v2 + WORD $0x1e260051 // fmov w17, s2 + WORD $0x4f02e782 // movi.16b v2, #92 + WORD $0x6e228c03 // cmeq.16b v3, v0, v2 + WORD $0x4e241c63 // and.16b v3, v3, v4 + WORD $0x4e050063 // tbl.16b v3, { v3 }, v5 + WORD $0x4e71b863 // addv.8h h3, v3 + WORD $0x1e26006f // fmov w15, s3 + WORD $0x6e228c22 // cmeq.16b v2, v1, v2 + WORD $0x4e241c42 // and.16b v2, v2, v4 + WORD $0x4e050042 // tbl.16b v2, { v2 }, v5 + WORD $0x4e71b842 // addv.8h h2, v2 + WORD $0x1e260043 // fmov w3, s2 + WORD $0x4f01e402 // movi.16b v2, #32 + WORD $0x6e203440 // cmhi.16b v0, v2, v0 + WORD $0x4e241c00 // and.16b v0, v0, v4 + WORD $0x4e050000 // tbl.16b v0, { v0 }, v5 + WORD $0x4e71b800 // addv.8h h0, v0 + WORD $0x1e26000e // fmov w14, s0 + WORD $0x6e213440 // cmhi.16b v0, v2, v1 + WORD $0x4e241c00 // and.16b v0, v0, v4 + WORD $0x4e050000 // tbl.16b v0, { v0 }, v5 + WORD $0x4e71b800 // addv.8h h0, v0 + WORD $0x1e260004 // fmov w4, s0 + WORD $0x33103e2c // bfi w12, w17, #16, #16 + WORD $0x33103c6f // bfi w15, w3, #16, #16 + WORD $0x33103c8e // bfi w14, w4, #16, #16 + WORD $0x3500092f // cbnz w15, LBB0_55 $292(%rip) + WORD $0xb50009cb // cbnz x11, LBB0_56 $312(%rip) + WORD $0xb4000b6c // cbz x12, LBB0_57 $364(%rip) +LBB0_37: + WORD $0xdac0018b // rbit x11, x12 + WORD $0xdac0116b // clz x11, x11 + WORD $0xdac001cc // rbit x12, x14 + WORD $0xdac0118c // clz x12, x12 + WORD $0xeb0b019f // cmp x12, x11 + WORD $0x54000ee3 // b.lo LBB0_69 $476(%rip) +LBB0_38: + WORD $0xcb0a01aa // sub x10, x13, x10 + WORD $0x8b0b014a // add x10, x10, x11 + WORD $0x9100054e // add x14, x10, #1 + WORD $0xb6fff24e // tbz x14, #63, LBB0_23 $-440(%rip) + WORD $0x1400008b // b LBB0_76 $556(%rip) +LBB0_39: + WORD $0xdac001f0 // rbit x16, x15 + WORD $0xdac01210 // clz x16, x16 + WORD $0xcb0a01b1 // sub x17, x13, x10 + WORD $0x8b100230 // add x16, x17, x16 + WORD $0xb100053f // cmn x9, #1 + WORD $0x9a901129 // csel x9, x9, x16, ne +LBB0_40: + WORD $0x0a2c01f0 // bic w16, w15, w12 + WORD $0x531f7a11 // lsl w17, w16, #1 + WORD $0x331f7a0c // bfi w12, w16, #1, #31 + WORD $0x0a3101ef // bic w15, w15, w17 + WORD $0x1201f1ef // and w15, w15, #0xaaaaaaaa + WORD $0x2b1001ef // adds w15, w15, w16 + WORD $0x3200f3f0 // mov w16, #1431655765 + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a0c01ec // and w12, w15, w12 + WORD $0x1a9f37ef // cset w15, hs + WORD $0x2a2c03ec // mvn w12, w12 + WORD $0x8a0b018b // and x11, x12, x11 + WORD $0xaa0f03ec // mov x12, x15 + WORD $0xb5fff60b // cbnz x11, LBB0_31 $-320(%rip) +LBB0_41: + WORD $0x910081ad // add x13, x13, #32 + WORD $0xaa0e03eb // mov x11, x14 +LBB0_42: + WORD $0xb5000c4c // cbnz x12, LBB0_71 $392(%rip) + WORD $0xb40003ab // cbz x11, LBB0_52 $116(%rip) +LBB0_44: + WORD $0xcb0a03ec // neg x12, x10 +LBB0_45: + WORD $0xd280000f // mov x15, #0 +LBB0_46: + WORD $0x386f69ae // ldrb w14, [x13, x15] + WORD $0x710089df // cmp w14, #34 + WORD $0x540002c0 // b.eq LBB0_51 $88(%rip) + WORD $0x710171df // cmp w14, #92 + WORD $0x540000a0 // b.eq LBB0_49 $20(%rip) + WORD $0x910005ef // add x15, x15, #1 + WORD $0xeb0f017f // cmp x11, x15 + WORD $0x54ffff21 // b.ne LBB0_46 $-28(%rip) + WORD $0x14000015 // b LBB0_53 $84(%rip) +LBB0_49: + WORD $0xd100056e // sub x14, x11, #1 + WORD $0xeb0f01df // cmp x14, x15 + WORD $0x54000c80 // b.eq LBB0_75 $400(%rip) + WORD $0x8b0f01ad // add x13, x13, x15 + WORD $0x8b0c01ae // add x14, x13, x12 + WORD $0xb100053f // cmn x9, #1 + WORD $0x9a8901c9 // csel x9, x14, x9, eq + WORD $0x910009ad // add x13, x13, #2 + WORD $0xcb0f016e // sub x14, x11, x15 + WORD $0xd1000970 // sub x16, x11, #2 + WORD $0xd10009cb // sub x11, x14, #2 + WORD $0x9280000e // mov x14, #-1 + WORD $0xeb0f021f // cmp x16, x15 + WORD $0x54fffd21 // b.ne LBB0_45 $-92(%rip) + WORD $0x14000059 // b LBB0_76 $356(%rip) +LBB0_51: + WORD $0x8b0f01ab // add x11, x13, x15 + WORD $0x9100056d // add x13, x11, #1 +LBB0_52: + WORD $0xcb0a01ae // sub x14, x13, x10 + WORD $0xb6ffeb6e // tbz x14, #63, LBB0_23 $-660(%rip) + WORD $0x14000054 // b LBB0_76 $336(%rip) +LBB0_53: + WORD $0x710089df // cmp w14, #34 + WORD $0x54000a21 // b.ne LBB0_75 $324(%rip) + WORD $0x8b0f01ad // add x13, x13, x15 + WORD $0x17fffffa // b LBB0_52 $-24(%rip) +LBB0_55: + WORD $0xdac001f1 // rbit x17, x15 + WORD $0xdac01231 // clz x17, x17 + WORD $0xcb0a01a3 // sub x3, x13, x10 + WORD $0x8b110071 // add x17, x3, x17 + WORD $0xb100053f // cmn x9, #1 + WORD $0x9a911129 // csel x9, x9, x17, ne +LBB0_56: + WORD $0x0a2b01f1 // bic w17, w15, w11 + WORD $0x531f7a23 // lsl w3, w17, #1 + WORD $0x331f7a2b // bfi w11, w17, #1, #31 + WORD $0x0a2301ef // bic w15, w15, w3 + WORD $0x1201f1ef // and w15, w15, #0xaaaaaaaa + WORD $0x2b1101ef // adds w15, w15, w17 + WORD $0x3200f3f1 // mov w17, #1431655765 + WORD $0x4a0f062f // eor w15, w17, w15, lsl #1 + WORD $0x0a0b01eb // and w11, w15, w11 + WORD $0x1a9f37ef // cset w15, hs + WORD $0x2a2b03eb // mvn w11, w11 + WORD $0x8a0c016c // and x12, x11, x12 + WORD $0xaa0f03eb // mov x11, x15 + WORD $0xb5fff4ec // cbnz x12, LBB0_37 $-356(%rip) +LBB0_57: + WORD $0x3500044e // cbnz w14, LBB0_69 $136(%rip) + WORD $0x910081ad // add x13, x13, #32 + WORD $0xaa1003ec // mov x12, x16 +LBB0_59: + WORD $0xb50005eb // cbnz x11, LBB0_73 $188(%rip) + WORD $0xb40006cc // cbz x12, LBB0_75 $216(%rip) +LBB0_61: + WORD $0xcb0a03eb // neg x11, x10 +LBB0_62: + WORD $0xd280000f // mov x15, #0 +LBB0_63: + WORD $0x386f69ae // ldrb w14, [x13, x15] + WORD $0x710089df // cmp w14, #34 + WORD $0x54000360 // b.eq LBB0_70 $108(%rip) + WORD $0x710171df // cmp w14, #92 + WORD $0x54000100 // b.eq LBB0_67 $32(%rip) + WORD $0x710081df // cmp w14, #32 + WORD $0x540002a3 // b.lo LBB0_69 $84(%rip) + WORD $0x910005ef // add x15, x15, #1 + WORD $0x9280000e // mov x14, #-1 + WORD $0xeb0f019f // cmp x12, x15 + WORD $0x54fffec1 // b.ne LBB0_63 $-40(%rip) + WORD $0x14000029 // b LBB0_76 $164(%rip) +LBB0_67: + WORD $0xd100058e // sub x14, x12, #1 + WORD $0xeb0f01df // cmp x14, x15 + WORD $0x540004a0 // b.eq LBB0_75 $148(%rip) + WORD $0x8b0f01ad // add x13, x13, x15 + WORD $0x8b0b01ae // add x14, x13, x11 + WORD $0xb100053f // cmn x9, #1 + WORD $0x9a8901c9 // csel x9, x14, x9, eq + WORD $0x910009ad // add x13, x13, #2 + WORD $0xd1000990 // sub x16, x12, #2 + WORD $0xcb0f018c // sub x12, x12, x15 + WORD $0xd100098c // sub x12, x12, #2 + WORD $0x9280000e // mov x14, #-1 + WORD $0xeb0f021f // cmp x16, x15 + WORD $0x54fffcc1 // b.ne LBB0_62 $-104(%rip) + WORD $0x1400001a // b LBB0_76 $104(%rip) +LBB0_69: + WORD $0x9280002e // mov x14, #-2 + WORD $0x14000018 // b LBB0_76 $96(%rip) +LBB0_70: + WORD $0xcb0a01aa // sub x10, x13, x10 + WORD $0x8b0f014a // add x10, x10, x15 + WORD $0x9100054e // add x14, x10, #1 + WORD $0xb6ffe34e // tbz x14, #63, LBB0_23 $-920(%rip) + WORD $0x14000013 // b LBB0_76 $76(%rip) +LBB0_71: + WORD $0xb400022b // cbz x11, LBB0_75 $68(%rip) + WORD $0xaa2a03ec // mvn x12, x10 + WORD $0x8b0c01ac // add x12, x13, x12 + WORD $0xb100053f // cmn x9, #1 + WORD $0x9a890189 // csel x9, x12, x9, eq + WORD $0x910005ad // add x13, x13, #1 + WORD $0xd100056b // sub x11, x11, #1 + WORD $0xb5fff32b // cbnz x11, LBB0_44 $-412(%rip) + WORD $0x17ffffb4 // b LBB0_52 $-304(%rip) +LBB0_73: + WORD $0xb400010c // cbz x12, LBB0_75 $32(%rip) + WORD $0xaa2a03eb // mvn x11, x10 + WORD $0x8b0b01ab // add x11, x13, x11 + WORD $0xb100053f // cmn x9, #1 + WORD $0x9a890169 // csel x9, x11, x9, eq + WORD $0x910005ad // add x13, x13, #1 + WORD $0xd100058c // sub x12, x12, #1 + WORD $0xb5fff98c // cbnz x12, LBB0_61 $-208(%rip) +LBB0_75: + WORD $0x9280000e // mov x14, #-1 +LBB0_76: + WORD $0xf9400408 // ldr x8, [x0, #8] + WORD $0xf9000028 // str x8, [x1] + WORD $0xf900004e // str x14, [x2] + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] + WORD $0xa940cff4 // ldp x20, x19, [sp, #8] + WORD $0x9100c3ff // add sp, sp, #48 + WORD $0xd65f03c0 // ret + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + +TEXT ·__vstring(SB), NOSPLIT, $0-32 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $112, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_vstring: + MOVD s+0(FP), R0 + MOVD p+8(FP), R1 + MOVD v+16(FP), R2 + MOVD flags+24(FP), R3 + MOVD ·_subr__vstring(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/vstring_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/vstring_subr_arm64.go new file mode 100644 index 0000000..0b4a1cf --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/vstring_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __vstring_entry__() uintptr + +var ( + _subr__vstring uintptr = __vstring_entry__() + 32 +) + +const ( + _stack__vstring = 48 +) + +var ( + _ = _subr__vstring +) + +const ( + _ = _stack__vstring +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_arm64.go new file mode 100644 index 0000000..02019f7 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_arm64.go @@ -0,0 +1,32 @@ + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neon + +import ( + `github.com/bytedance/sonic/internal/native/types` +) + +//go:nosplit +func vunsigned(s *string, p *int, v *types.JsonState) { + __vunsigned(s, p, v) +} + +//go:nosplit +//go:noescape +//goland:noinspection GoUnusedParameter +func __vunsigned(s *string, p *int, v *types.JsonState) diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_arm64.s b/vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_arm64.s new file mode 100644 index 0000000..c73a448 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_arm64.s @@ -0,0 +1,150 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +#include "go_asm.h" +#include "funcdata.h" +#include "textflag.h" + +TEXT ·__vunsigned_entry__(SB), NOSPLIT, $16 + NO_LOCAL_POINTERS + WORD $0x100000a0 // adr x0, .+20 + MOVD R0, ret(FP) + RET + // .p2align 2, 0x00 +_vunsigned: + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] + WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] + WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xf9400028 // ldr x8, [x1] + WORD $0xa940240a // ldp x10, x9, [x0] + WORD $0x5280012b // mov w11, #9 + WORD $0xa900fc5f // stp xzr, xzr, [x2, #8] + WORD $0xf900004b // str x11, [x2] + WORD $0xf940002b // ldr x11, [x1] + WORD $0xf9000c4b // str x11, [x2, #24] + WORD $0xeb09011f // cmp x8, x9 + WORD $0x54000162 // b.hs LBB0_3 $44(%rip) + WORD $0x8b08014b // add x11, x10, x8 + WORD $0x3940016c // ldrb w12, [x11] + WORD $0x7100b59f // cmp w12, #45 + WORD $0x540001a1 // b.ne LBB0_4 $52(%rip) +LBB0_2: + WORD $0xf9000028 // str x8, [x1] + WORD $0x928000a8 // mov x8, #-6 + WORD $0xf9000048 // str x8, [x2] + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_3: + WORD $0xf9000029 // str x9, [x1] + WORD $0x92800008 // mov x8, #-1 + WORD $0xf9000048 // str x8, [x2] + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_4: + WORD $0x5100e98d // sub w13, w12, #58 + WORD $0x31002dbf // cmn w13, #11 + WORD $0x540000e8 // b.hi LBB0_6 $28(%rip) + WORD $0xf9000028 // str x8, [x1] + WORD $0x92800028 // mov x8, #-2 + WORD $0xf9000048 // str x8, [x2] + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_6: + WORD $0x7100c19f // cmp w12, #48 + WORD $0x54000161 // b.ne LBB0_8 $44(%rip) + WORD $0x3940056b // ldrb w11, [x11, #1] + WORD $0x5100b96b // sub w11, w11, #46 + WORD $0x7100dd7f // cmp w11, #55 + WORD $0x5280002c // mov w12, #1 + WORD $0x9acb218b // lsl x11, x12, x11 + WORD $0xb20903ec // mov x12, #36028797027352576 + WORD $0xf280002c // movk x12, #1 + WORD $0x8a0c016b // and x11, x11, x12 + WORD $0xfa409964 // ccmp x11, #0, #4, ls + WORD $0x540005a0 // b.eq LBB0_21 $180(%rip) +LBB0_8: + WORD $0xd280000b // mov x11, #0 + WORD $0xeb08013f // cmp x9, x8 + WORD $0x9a88812c // csel x12, x9, x8, hi + WORD $0x5280014d // mov w13, #10 +LBB0_9: + WORD $0xeb08019f // cmp x12, x8 + WORD $0x54000440 // b.eq LBB0_20 $136(%rip) + WORD $0x3868694e // ldrb w14, [x10, x8] + WORD $0x5100c1ce // sub w14, w14, #48 + WORD $0x710025df // cmp w14, #9 + WORD $0x54000288 // b.hi LBB0_15 $80(%rip) + WORD $0x9bcd7d6f // umulh x15, x11, x13 + WORD $0xeb0f03ff // cmp xzr, x15 + WORD $0x54000141 // b.ne LBB0_14 $40(%rip) + WORD $0x8b0b096b // add x11, x11, x11, lsl #2 + WORD $0xd37ff96b // lsl x11, x11, #1 + WORD $0x91000508 // add x8, x8, #1 + WORD $0xab2e016b // adds x11, x11, w14, uxtb + WORD $0x1a9f37ef // cset w15, hs + WORD $0x934001ee // sbfx x14, x15, #0, #1 + WORD $0xca0f01cf // eor x15, x14, x15 + WORD $0xb500004f // cbnz x15, LBB0_14 $8(%rip) + WORD $0xb6fffdee // tbz x14, #63, LBB0_9 $-68(%rip) +LBB0_14: + WORD $0xd1000508 // sub x8, x8, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0x92800088 // mov x8, #-5 + WORD $0xf9000048 // str x8, [x2] + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_15: + WORD $0xeb09011f // cmp x8, x9 + WORD $0x54000102 // b.hs LBB0_19 $32(%rip) + WORD $0x38686949 // ldrb w9, [x10, x8] + WORD $0x7100b93f // cmp w9, #46 + WORD $0x54fff7c0 // b.eq LBB0_2 $-264(%rip) + WORD $0x7101153f // cmp w9, #69 + WORD $0x54fff780 // b.eq LBB0_2 $-272(%rip) + WORD $0x7101953f // cmp w9, #101 + WORD $0x54fff740 // b.eq LBB0_2 $-280(%rip) +LBB0_19: + WORD $0xaa0803ec // mov x12, x8 +LBB0_20: + WORD $0xf900002c // str x12, [x1] + WORD $0xf900084b // str x11, [x2, #16] + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret +LBB0_21: + WORD $0x91000508 // add x8, x8, #1 + WORD $0xf9000028 // str x8, [x1] + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 + WORD $0xd65f03c0 // ret + // .p2align 2, 0x00 +_MASK_USE_NUMBER: + WORD $0x00000002 // .long 2 + +TEXT ·__vunsigned(SB), NOSPLIT, $0-24 + NO_LOCAL_POINTERS + +_entry: + MOVD 16(g), R16 + SUB $96, RSP, R17 + CMP R16, R17 + BLS _stack_grow + +_vunsigned: + MOVD s+0(FP), R0 + MOVD p+8(FP), R1 + MOVD v+16(FP), R2 + MOVD ·_subr__vunsigned(SB), R11 + WORD $0x1000005e // adr x30, .+8 + JMP (R11) + RET + +_stack_grow: + MOVD R30, R3 + CALL runtime·morestack_noctxt<>(SB) + JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_subr_arm64.go b/vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_subr_arm64.go new file mode 100644 index 0000000..a78f3f9 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/neon/vunsigned_subr_arm64.go @@ -0,0 +1,25 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package neon + +//go:nosplit +//go:noescape +//goland:noinspection ALL +func __vunsigned_entry__() uintptr + +var ( + _subr__vunsigned uintptr = __vunsigned_entry__() + 0 +) + +const ( + _stack__vunsigned = 32 +) + +var ( + _ = _subr__vunsigned +) + +const ( + _ = _stack__vunsigned +) diff --git a/vendor/github.com/bytedance/sonic/internal/native/quote.tmpl b/vendor/github.com/bytedance/sonic/internal/native/quote.tmpl new file mode 100644 index 0000000..62af461 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/quote.tmpl @@ -0,0 +1,35 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) +var F_quote func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer, flags uint64) (ret int) + +var S_quote uintptr + +//go:nosplit +func quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int) { + return F_quote(rt.NoEscape(sp), nb, rt.NoEscape(dp), rt.NoEscape(unsafe.Pointer(dn)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/recover_test.tmpl b/vendor/github.com/bytedance/sonic/internal/native/recover_test.tmpl new file mode 100644 index 0000000..ae10401 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/recover_test.tmpl @@ -0,0 +1,665 @@ +//go:build amd64 +// +build amd64 + +// Code generated by Makefile, DO NOT EDIT. + +/** + * Copyright 2023 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `os` + `runtime` + `runtime/debug` + `testing` + `time` + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` +) + +var ( + debugAsyncGC = os.Getenv("SONIC_NO_ASYNC_GC") == "" +) + +func TestMain(m *testing.M) { + Use() + + go func () { + if !debugAsyncGC { + return + } + println("Begin GC looping...") + for { + runtime.GC() + debug.FreeOSMemory() + } + println("stop GC looping!") + }() + time.Sleep(time.Millisecond*100) + m.Run() +} + +func TestRecover_f64toa(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = f64toa(nil, 123) +} + +func TestRecover_f32toa(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = f32toa(nil, 123) +} + +func TestRecover_i64toa(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = i64toa(nil, 123) +} + +func TestRecover_u64toa(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = u64toa(nil, 123) +} + +func TestRecover_lspace(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = lspace(nil, 2, 0) +} + +func TestRecover_quote(t *testing.T) { + var dn = 10 + var dp = make([]byte, dn) + var sp = []byte("123") + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = quote(nil, 3, unsafe.Pointer(&dp[0]), &dn, 0) + }) + t.Run("dp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = quote(unsafe.Pointer(&sp[0]), 3, nil, &dn, 0) + }) + t.Run("dn", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = quote(unsafe.Pointer(&sp[0]), 3, unsafe.Pointer(&dp[0]), nil, 0) + }) +} + +func TestRecover_html_escape(t *testing.T) { + var dn = 10 + var dp = make([]byte, dn) + var sp = []byte("123") + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = html_escape(nil, 3, unsafe.Pointer(&dp[0]), &dn) + }) + t.Run("dp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = html_escape(unsafe.Pointer(&sp[0]), 3, nil, &dn) + }) + t.Run("dn", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = html_escape(unsafe.Pointer(&sp[0]), 3, unsafe.Pointer(&dp[0]), nil) + }) +} + +func TestRecover_unquote(t *testing.T) { + var ep = 0 + var dp = make([]byte, 10) + var sp = []byte("12\\x\"3\"4") + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = unquote(nil, len(sp), unsafe.Pointer(&dp[0]), &ep, 0) + }) + t.Run("dp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = unquote(unsafe.Pointer(&sp[0]), len(sp), nil, &ep, 0) + }) + t.Run("ep", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = unquote(unsafe.Pointer(&sp[0]), len(sp), unsafe.Pointer(&dp[0]), nil, 0) + }) +} + +func TestRecover_value(t *testing.T) { + var v = new(types.JsonState) + var sp = []byte("123") + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = value(nil, 3, 0, v, 0) + }) + t.Run("v", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = value(unsafe.Pointer(&sp[0]), 3, 0, nil, 0) + }) +} + +func TestRecover_vstring(t *testing.T) { + var v = new(types.JsonState) + var sp = "123" + var p = 0 + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + vstring(nil, &p, v, 0) + }) + t.Run("p", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + vstring(&sp, nil, v, 0) + }) + t.Run("v", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + vstring(&sp, &p, nil, 0) + }) +} + +func TestRecover_vnumber(t *testing.T) { + var v = new(types.JsonState) + var sp = "123" + var p = 0 + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + vnumber(nil, &p, v) + }) + t.Run("p", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + vnumber(&sp, nil, v) + }) + t.Run("v", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + vnumber(&sp, &p, nil) + }) +} + +func TestRecover_vsigned(t *testing.T) { + var v = new(types.JsonState) + var sp = "123" + var p = 0 + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + vsigned(nil, &p, v) + }) + t.Run("p", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + vsigned(&sp, nil, v) + }) + t.Run("v", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + vsigned(&sp, &p, nil) + }) +} + +func TestRecover_vunsigned(t *testing.T) { + var v = new(types.JsonState) + var sp = "123" + var p = 0 + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + vunsigned(nil, &p, v) + }) + t.Run("p", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + vunsigned(&sp, nil, v) + }) + t.Run("v", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + vunsigned(&sp, &p, nil) + }) +} + +func TestRecover_skip_one(t *testing.T) { + var v = types.NewStateMachine() + var sp = "123" + var p = 0 + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_one(nil, &p, v, 0) + }) + t.Run("p", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_one(&sp, nil, v, 0) + }) + t.Run("v", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_one(&sp, &p, nil, 0) + }) +} + +func TestRecover_skip_one_fast(t *testing.T) { + var sp = "123" + var p = 0 + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_one_fast(nil, &p) + }) + t.Run("p", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_one_fast(&sp, nil) + }) +} + +func TestRecover_skip_array(t *testing.T) { + var v = types.NewStateMachine() + var sp = "123" + var p = 0 + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_array(nil, &p, v, 0) + }) + t.Run("p", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_array(&sp, nil, v, 0) + }) + t.Run("v", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_array(&sp, &p, nil, 0) + }) +} + +func TestRecover_skip_object(t *testing.T) { + var v = types.NewStateMachine() + var sp = "123" + var p = 0 + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_object(nil, &p, v, 0) + }) + t.Run("p", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_object(&sp, nil, v, 0) + }) + t.Run("v", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_object(&sp, &p, nil, 0) + }) +} + +func TestRecover_skip_number(t *testing.T) { + var sp = "123" + var p = 0 + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_number(nil, &p) + }) + t.Run("p", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = skip_number(&sp, nil) + }) +} + +func TestRecover_get_by_path(t *testing.T) { + var v = []interface{}{} + var sp = "123" + var p = 0 + var m = types.NewStateMachine() + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = get_by_path(nil, &p, &v, m) + }) + t.Run("p", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = get_by_path(&sp, nil, &v, m) + }) + t.Run("path", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = get_by_path(&sp, &p, nil, m) + }) +} + +func TestRecover_validate_one(t *testing.T) { + var v = types.NewStateMachine() + var sp = "123" + var p = 0 + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = validate_one(nil, &p, v, 0) + }) + t.Run("p", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = validate_one(&sp, nil, v, 0) + }) + t.Run("v", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = validate_one(&sp, &p, nil, 0) + }) +} + +func TestRecover_validate_utf8(t *testing.T) { + var v = types.NewStateMachine() + var sp = string([]byte{0xff, 0xff, 0xff}) + var p = 0 + t.Run("sp", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = validate_utf8(nil, &p, v) + }) + t.Run("p", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = validate_utf8(&sp, nil, v) + }) + t.Run("v", func(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = validate_utf8(&sp, &p, nil) + }) +} + +func TestRecover_validate_utf8_fast(t *testing.T) { + defer func() { + if r := recover(); r!= nil { + t.Log("recover: ", r) + } else { + t.Fatal("no panic") + } + }() + _ = validate_utf8_fast(nil) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/skip_array.tmpl b/vendor/github.com/bytedance/sonic/internal/native/skip_array.tmpl new file mode 100644 index 0000000..6b12a08 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/skip_array.tmpl @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the License ); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_array func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_skip_array uintptr + +//go:nosplit +func skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_skip_array(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/skip_number.tmpl b/vendor/github.com/bytedance/sonic/internal/native/skip_number.tmpl new file mode 100644 index 0000000..9a57533 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/skip_number.tmpl @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the License ); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_number func(s unsafe.Pointer, p unsafe.Pointer) (ret int) + +var S_skip_number uintptr + +//go:nosplit +func skip_number(s *string, p *int) (ret int) { + return F_skip_number(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/skip_object.tmpl b/vendor/github.com/bytedance/sonic/internal/native/skip_object.tmpl new file mode 100644 index 0000000..dd776e4 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/skip_object.tmpl @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the License ); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_object func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_skip_object uintptr + +//go:nosplit +func skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_skip_object(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/skip_one.tmpl b/vendor/github.com/bytedance/sonic/internal/native/skip_one.tmpl new file mode 100644 index 0000000..fbeec3b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/skip_one.tmpl @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_one func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_skip_one uintptr + +//go:nosplit +func skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_skip_one(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/skip_one_fast.tmpl b/vendor/github.com/bytedance/sonic/internal/native/skip_one_fast.tmpl new file mode 100644 index 0000000..2f94b9e --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/skip_one_fast.tmpl @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_one_fast func(s unsafe.Pointer, p unsafe.Pointer) (ret int) + +var S_skip_one_fast uintptr + +//go:nosplit +func skip_one_fast(s *string, p *int) (ret int) { + return F_skip_one_fast(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p))) +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/native_export_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/f32toa.go similarity index 51% rename from vendor/github.com/bytedance/sonic/internal/native/sse/native_export_amd64.go rename to vendor/github.com/bytedance/sonic/internal/native/sse/f32toa.go index 898bad4..40d3197 100644 --- a/vendor/github.com/bytedance/sonic/internal/native/sse/native_export_amd64.go +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/f32toa.go @@ -1,5 +1,7 @@ // Code generated by Makefile, DO NOT EDIT. +// Code generated by Makefile, DO NOT EDIT. + /* * Copyright 2021 ByteDance Inc. * @@ -18,32 +20,17 @@ package sse -var ( - S_f64toa = _subr__f64toa - S_f32toa = _subr__f32toa - S_i64toa = _subr__i64toa - S_u64toa = _subr__u64toa - S_lspace = _subr__lspace -) +import ( + `unsafe` -var ( - S_quote = _subr__quote - S_unquote = _subr__unquote + `github.com/bytedance/sonic/internal/rt` ) -var ( - S_value = _subr__value - S_vstring = _subr__vstring - S_vnumber = _subr__vnumber - S_vsigned = _subr__vsigned - S_vunsigned = _subr__vunsigned -) +var F_f32toa func(out *byte, val float32) (ret int) -var ( - S_skip_one = _subr__skip_one - S_skip_one_fast = _subr__skip_one_fast - S_skip_array = _subr__skip_array - S_skip_object = _subr__skip_object - S_skip_number = _subr__skip_number - S_get_by_path = _subr__get_by_path -) +var S_f32toa uintptr + +//go:nosplit +func f32toa(out *byte, val float32) (ret int) { + return F_f32toa((*byte)(rt.NoEscape(unsafe.Pointer(out))), val) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/f32toa_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/f32toa_subr.go new file mode 100644 index 0000000..ab181b4 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/f32toa_subr.go @@ -0,0 +1,44 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__f32toa = 16 +) + +const ( + _stack__f32toa = 48 +) + +const ( + _size__f32toa = 3328 +) + +var ( + _pcsp__f32toa = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {3286, 48}, + {3287, 40}, + {3289, 32}, + {3291, 24}, + {3293, 16}, + {3295, 8}, + {3296, 0}, + {3318, 48}, + } +) + +var _cfunc_f32toa = []loader.CFunc{ + {"_f32toa_entry", 0, _entry__f32toa, 0, nil}, + {"_f32toa", _entry__f32toa, _size__f32toa, _stack__f32toa, _pcsp__f32toa}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/f32toa_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/f32toa_text_amd64.go new file mode 100644 index 0000000..dac13a6 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/f32toa_text_amd64.go @@ -0,0 +1,956 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_f32toa = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, // QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + //0x00000010 .p2align 4, 0x90 + //0x00000010 _f32toa + 0x55, //0x00000010 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000011 movq %rsp, %rbp + 0x41, 0x57, //0x00000014 pushq %r15 + 0x41, 0x56, //0x00000016 pushq %r14 + 0x41, 0x55, //0x00000018 pushq %r13 + 0x41, 0x54, //0x0000001a pushq %r12 + 0x53, //0x0000001c pushq %rbx + 0x66, 0x0f, 0x7e, 0xc0, //0x0000001d movd %xmm0, %eax + 0x89, 0xc1, //0x00000021 movl %eax, %ecx + 0xc1, 0xe9, 0x17, //0x00000023 shrl $23, %ecx + 0x0f, 0xb6, 0xd9, //0x00000026 movzbl %cl, %ebx + 0x81, 0xfb, 0xff, 0x00, 0x00, 0x00, //0x00000029 cmpl $255, %ebx + 0x0f, 0x84, 0xbc, 0x0c, 0x00, 0x00, //0x0000002f je LBB0_139 + 0xc6, 0x07, 0x2d, //0x00000035 movb $45, (%rdi) + 0x41, 0x89, 0xc1, //0x00000038 movl %eax, %r9d + 0x41, 0xc1, 0xe9, 0x1f, //0x0000003b shrl $31, %r9d + 0x4e, 0x8d, 0x04, 0x0f, //0x0000003f leaq (%rdi,%r9), %r8 + 0xa9, 0xff, 0xff, 0xff, 0x7f, //0x00000043 testl $2147483647, %eax + 0x0f, 0x84, 0xc6, 0x01, 0x00, 0x00, //0x00000048 je LBB0_14 + 0x25, 0xff, 0xff, 0x7f, 0x00, //0x0000004e andl $8388607, %eax + 0x85, 0xdb, //0x00000053 testl %ebx, %ebx + 0x0f, 0x84, 0x9e, 0x0c, 0x00, 0x00, //0x00000055 je LBB0_140 + 0x8d, 0xb0, 0x00, 0x00, 0x80, 0x00, //0x0000005b leal $8388608(%rax), %esi + 0x44, 0x8d, 0xbb, 0x6a, 0xff, 0xff, 0xff, //0x00000061 leal $-150(%rbx), %r15d + 0x8d, 0x4b, 0x81, //0x00000068 leal $-127(%rbx), %ecx + 0x83, 0xf9, 0x17, //0x0000006b cmpl $23, %ecx + 0x0f, 0x87, 0x1b, 0x00, 0x00, 0x00, //0x0000006e ja LBB0_5 + 0xb9, 0x96, 0x00, 0x00, 0x00, //0x00000074 movl $150, %ecx + 0x29, 0xd9, //0x00000079 subl %ebx, %ecx + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000007b movq $-1, %rdx + 0x48, 0xd3, 0xe2, //0x00000082 shlq %cl, %rdx + 0xf7, 0xd2, //0x00000085 notl %edx + 0x85, 0xf2, //0x00000087 testl %esi, %edx + 0x0f, 0x84, 0x12, 0x04, 0x00, 0x00, //0x00000089 je LBB0_32 + //0x0000008f LBB0_5 + 0x41, 0x89, 0xf6, //0x0000008f movl %esi, %r14d + 0x41, 0x83, 0xe6, 0x01, //0x00000092 andl $1, %r14d + 0x85, 0xc0, //0x00000096 testl %eax, %eax + 0x0f, 0x94, 0xc0, //0x00000098 sete %al + 0x83, 0xfb, 0x01, //0x0000009b cmpl $1, %ebx + 0x0f, 0x97, 0xc1, //0x0000009e seta %cl + 0x20, 0xc1, //0x000000a1 andb %al, %cl + 0x0f, 0xb6, 0xc9, //0x000000a3 movzbl %cl, %ecx + 0x41, 0x89, 0xf2, //0x000000a6 movl %esi, %r10d + 0x41, 0xc1, 0xe2, 0x02, //0x000000a9 shll $2, %r10d + 0x8d, 0x44, 0xb1, 0xfe, //0x000000ad leal $-2(%rcx,%rsi,4), %eax + 0x45, 0x69, 0xdf, 0x13, 0x44, 0x13, 0x00, //0x000000b1 imull $1262611, %r15d, %r11d + 0x31, 0xd2, //0x000000b8 xorl %edx, %edx + 0x84, 0xc9, //0x000000ba testb %cl, %cl + 0xb9, 0xff, 0xfe, 0x07, 0x00, //0x000000bc movl $524031, %ecx + 0x0f, 0x44, 0xca, //0x000000c1 cmovel %edx, %ecx + 0x41, 0x29, 0xcb, //0x000000c4 subl %ecx, %r11d + 0x41, 0xc1, 0xfb, 0x16, //0x000000c7 sarl $22, %r11d + 0x41, 0x69, 0xcb, 0xb1, 0x6c, 0xe5, 0xff, //0x000000cb imull $-1741647, %r11d, %ecx + 0xc1, 0xe9, 0x13, //0x000000d2 shrl $19, %ecx + 0x44, 0x01, 0xf9, //0x000000d5 addl %r15d, %ecx + 0xba, 0x1f, 0x00, 0x00, 0x00, //0x000000d8 movl $31, %edx + 0x44, 0x29, 0xda, //0x000000dd subl %r11d, %edx + 0x48, 0x63, 0xd2, //0x000000e0 movslq %edx, %rdx + 0x48, 0x8d, 0x1d, 0xf6, 0x0c, 0x00, 0x00, //0x000000e3 leaq $3318(%rip), %rbx /* _pow10_ceil_sig_f32.g+0(%rip) */ + 0xfe, 0xc1, //0x000000ea incb %cl + 0xd3, 0xe0, //0x000000ec shll %cl, %eax + 0x4c, 0x8b, 0x24, 0xd3, //0x000000ee movq (%rbx,%rdx,8), %r12 + 0x49, 0xf7, 0xe4, //0x000000f2 mulq %r12 + 0x48, 0xc1, 0xe8, 0x20, //0x000000f5 shrq $32, %rax + 0x31, 0xdb, //0x000000f9 xorl %ebx, %ebx + 0x83, 0xf8, 0x01, //0x000000fb cmpl $1, %eax + 0x0f, 0x97, 0xc3, //0x000000fe seta %bl + 0x41, 0xd3, 0xe2, //0x00000101 shll %cl, %r10d + 0x09, 0xd3, //0x00000104 orl %edx, %ebx + 0x4c, 0x89, 0xd0, //0x00000106 movq %r10, %rax + 0x49, 0xf7, 0xe4, //0x00000109 mulq %r12 + 0x49, 0x89, 0xd2, //0x0000010c movq %rdx, %r10 + 0x48, 0xc1, 0xe8, 0x20, //0x0000010f shrq $32, %rax + 0x45, 0x31, 0xff, //0x00000113 xorl %r15d, %r15d + 0x83, 0xf8, 0x01, //0x00000116 cmpl $1, %eax + 0x41, 0x0f, 0x97, 0xc7, //0x00000119 seta %r15b + 0x8d, 0x04, 0xb5, 0x02, 0x00, 0x00, 0x00, //0x0000011d leal $2(,%rsi,4), %eax + 0xd3, 0xe0, //0x00000124 shll %cl, %eax + 0x45, 0x09, 0xd7, //0x00000126 orl %r10d, %r15d + 0x49, 0xf7, 0xe4, //0x00000129 mulq %r12 + 0x48, 0xc1, 0xe8, 0x20, //0x0000012c shrq $32, %rax + 0x31, 0xc9, //0x00000130 xorl %ecx, %ecx + 0x83, 0xf8, 0x01, //0x00000132 cmpl $1, %eax + 0x0f, 0x97, 0xc1, //0x00000135 seta %cl + 0x09, 0xd1, //0x00000138 orl %edx, %ecx + 0x44, 0x01, 0xf3, //0x0000013a addl %r14d, %ebx + 0x44, 0x29, 0xf1, //0x0000013d subl %r14d, %ecx + 0x41, 0x83, 0xff, 0x28, //0x00000140 cmpl $40, %r15d + 0x0f, 0x82, 0x9a, 0x00, 0x00, 0x00, //0x00000144 jb LBB0_12 + 0x44, 0x89, 0xd2, //0x0000014a movl %r10d, %edx + 0xb8, 0xcd, 0xcc, 0xcc, 0xcc, //0x0000014d movl $3435973837, %eax + 0x48, 0x0f, 0xaf, 0xc2, //0x00000152 imulq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x25, //0x00000156 shrq $37, %rax + 0x41, 0x89, 0xde, //0x0000015a movl %ebx, %r14d + 0x48, 0x8d, 0x34, 0xc5, 0x00, 0x00, 0x00, 0x00, //0x0000015d leaq (,%rax,8), %rsi + 0x48, 0x8d, 0x14, 0xb6, //0x00000165 leaq (%rsi,%rsi,4), %rdx + 0x4c, 0x39, 0xf2, //0x00000169 cmpq %r14, %rdx + 0x41, 0x0f, 0x93, 0xc4, //0x0000016c setae %r12b + 0x4c, 0x8d, 0x74, 0xb6, 0x28, //0x00000170 leaq $40(%rsi,%rsi,4), %r14 + 0x89, 0xce, //0x00000175 movl %ecx, %esi + 0x49, 0x39, 0xf6, //0x00000177 cmpq %rsi, %r14 + 0x0f, 0x96, 0xc2, //0x0000017a setbe %dl + 0x41, 0x38, 0xd4, //0x0000017d cmpb %dl, %r12b + 0x0f, 0x84, 0x5e, 0x00, 0x00, 0x00, //0x00000180 je LBB0_12 + 0x45, 0x31, 0xed, //0x00000186 xorl %r13d, %r13d + 0x49, 0x39, 0xf6, //0x00000189 cmpq %rsi, %r14 + 0x41, 0x0f, 0x96, 0xc5, //0x0000018c setbe %r13b + 0x41, 0x01, 0xc5, //0x00000190 addl %eax, %r13d + 0x41, 0xff, 0xc3, //0x00000193 incl %r11d + 0x41, 0x81, 0xfd, 0xa0, 0x86, 0x01, 0x00, //0x00000196 cmpl $100000, %r13d + 0x0f, 0x83, 0xb0, 0x00, 0x00, 0x00, //0x0000019d jae LBB0_18 + //0x000001a3 LBB0_8 + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000001a3 movl $1, %eax + 0x41, 0x83, 0xfd, 0x0a, //0x000001a8 cmpl $10, %r13d + 0x0f, 0x82, 0xd4, 0x00, 0x00, 0x00, //0x000001ac jb LBB0_22 + 0xb8, 0x02, 0x00, 0x00, 0x00, //0x000001b2 movl $2, %eax + 0x41, 0x83, 0xfd, 0x64, //0x000001b7 cmpl $100, %r13d + 0x0f, 0x82, 0xc5, 0x00, 0x00, 0x00, //0x000001bb jb LBB0_22 + 0xb8, 0x03, 0x00, 0x00, 0x00, //0x000001c1 movl $3, %eax + 0x41, 0x81, 0xfd, 0xe8, 0x03, 0x00, 0x00, //0x000001c6 cmpl $1000, %r13d + 0x0f, 0x82, 0xb3, 0x00, 0x00, 0x00, //0x000001cd jb LBB0_22 + 0x41, 0x81, 0xfd, 0x10, 0x27, 0x00, 0x00, //0x000001d3 cmpl $10000, %r13d + 0xb8, 0x05, 0x00, 0x00, 0x00, //0x000001da movl $5, %eax + 0xe9, 0x9f, 0x00, 0x00, 0x00, //0x000001df jmp LBB0_21 + //0x000001e4 LBB0_12 + 0x4d, 0x89, 0xd6, //0x000001e4 movq %r10, %r14 + 0x49, 0xc1, 0xee, 0x02, //0x000001e7 shrq $2, %r14 + 0x44, 0x89, 0xd6, //0x000001eb movl %r10d, %esi + 0x83, 0xe6, 0xfc, //0x000001ee andl $-4, %esi + 0x39, 0xf3, //0x000001f1 cmpl %esi, %ebx + 0x0f, 0x96, 0xc2, //0x000001f3 setbe %dl + 0x8d, 0x5e, 0x04, //0x000001f6 leal $4(%rsi), %ebx + 0x39, 0xcb, //0x000001f9 cmpl %ecx, %ebx + 0x0f, 0x96, 0xc0, //0x000001fb setbe %al + 0x38, 0xc2, //0x000001fe cmpb %al, %dl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x00000200 je LBB0_15 + 0x45, 0x31, 0xed, //0x00000206 xorl %r13d, %r13d + 0x39, 0xcb, //0x00000209 cmpl %ecx, %ebx + 0x41, 0x0f, 0x96, 0xc5, //0x0000020b setbe %r13b + 0xe9, 0x2f, 0x00, 0x00, 0x00, //0x0000020f jmp LBB0_17 + //0x00000214 LBB0_14 + 0x41, 0xc6, 0x00, 0x30, //0x00000214 movb $48, (%r8) + 0x41, 0x29, 0xf8, //0x00000218 subl %edi, %r8d + 0x41, 0xff, 0xc0, //0x0000021b incl %r8d + 0xe9, 0xc0, 0x0a, 0x00, 0x00, //0x0000021e jmp LBB0_138 + //0x00000223 LBB0_15 + 0x83, 0xce, 0x02, //0x00000223 orl $2, %esi + 0x41, 0xbd, 0x01, 0x00, 0x00, 0x00, //0x00000226 movl $1, %r13d + 0x41, 0x39, 0xf7, //0x0000022c cmpl %esi, %r15d + 0x0f, 0x87, 0x0e, 0x00, 0x00, 0x00, //0x0000022f ja LBB0_17 + 0x0f, 0x94, 0xc0, //0x00000235 sete %al + 0x41, 0xc0, 0xea, 0x02, //0x00000238 shrb $2, %r10b + 0x41, 0x20, 0xc2, //0x0000023c andb %al, %r10b + 0x45, 0x0f, 0xb6, 0xea, //0x0000023f movzbl %r10b, %r13d + //0x00000243 LBB0_17 + 0x45, 0x01, 0xf5, //0x00000243 addl %r14d, %r13d + 0x41, 0x81, 0xfd, 0xa0, 0x86, 0x01, 0x00, //0x00000246 cmpl $100000, %r13d + 0x0f, 0x82, 0x50, 0xff, 0xff, 0xff, //0x0000024d jb LBB0_8 + //0x00000253 LBB0_18 + 0xb8, 0x06, 0x00, 0x00, 0x00, //0x00000253 movl $6, %eax + 0x41, 0x81, 0xfd, 0x40, 0x42, 0x0f, 0x00, //0x00000258 cmpl $1000000, %r13d + 0x0f, 0x82, 0x21, 0x00, 0x00, 0x00, //0x0000025f jb LBB0_22 + 0xb8, 0x07, 0x00, 0x00, 0x00, //0x00000265 movl $7, %eax + 0x41, 0x81, 0xfd, 0x80, 0x96, 0x98, 0x00, //0x0000026a cmpl $10000000, %r13d + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x00000271 jb LBB0_22 + 0x41, 0x81, 0xfd, 0x00, 0xe1, 0xf5, 0x05, //0x00000277 cmpl $100000000, %r13d + 0xb8, 0x09, 0x00, 0x00, 0x00, //0x0000027e movl $9, %eax + //0x00000283 LBB0_21 + 0x83, 0xd8, 0x00, //0x00000283 sbbl $0, %eax + //0x00000286 LBB0_22 + 0x46, 0x8d, 0x14, 0x18, //0x00000286 leal (%rax,%r11), %r10d + 0x42, 0x8d, 0x4c, 0x18, 0x05, //0x0000028a leal $5(%rax,%r11), %ecx + 0x83, 0xf9, 0x1b, //0x0000028f cmpl $27, %ecx + 0x0f, 0x82, 0x77, 0x00, 0x00, 0x00, //0x00000292 jb LBB0_26 + 0x89, 0xc0, //0x00000298 movl %eax, %eax + 0x49, 0x8d, 0x5c, 0x00, 0x01, //0x0000029a leaq $1(%r8,%rax), %rbx + 0x41, 0x81, 0xfd, 0x10, 0x27, 0x00, 0x00, //0x0000029f cmpl $10000, %r13d + 0x0f, 0x82, 0xd9, 0x00, 0x00, 0x00, //0x000002a6 jb LBB0_30 + 0x44, 0x89, 0xe8, //0x000002ac movl %r13d, %eax + 0x41, 0xbe, 0x59, 0x17, 0xb7, 0xd1, //0x000002af movl $3518437209, %r14d + 0x4c, 0x0f, 0xaf, 0xf0, //0x000002b5 imulq %rax, %r14 + 0x49, 0xc1, 0xee, 0x2d, //0x000002b9 shrq $45, %r14 + 0x41, 0x69, 0xc6, 0xf0, 0xd8, 0xff, 0xff, //0x000002bd imull $-10000, %r14d, %eax + 0x44, 0x01, 0xe8, //0x000002c4 addl %r13d, %eax + 0x0f, 0x84, 0xa3, 0x04, 0x00, 0x00, //0x000002c7 je LBB0_62 + 0x89, 0xc1, //0x000002cd movl %eax, %ecx + 0x48, 0x69, 0xc9, 0x1f, 0x85, 0xeb, 0x51, //0x000002cf imulq $1374389535, %rcx, %rcx + 0x48, 0xc1, 0xe9, 0x25, //0x000002d6 shrq $37, %rcx + 0x6b, 0xd1, 0x64, //0x000002da imull $100, %ecx, %edx + 0x29, 0xd0, //0x000002dd subl %edx, %eax + 0x48, 0x8d, 0x15, 0x2a, 0x0a, 0x00, 0x00, //0x000002df leaq $2602(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x42, //0x000002e6 movzwl (%rdx,%rax,2), %eax + 0x66, 0x89, 0x43, 0xfe, //0x000002ea movw %ax, $-2(%rbx) + 0x0f, 0xb7, 0x04, 0x4a, //0x000002ee movzwl (%rdx,%rcx,2), %eax + 0x66, 0x89, 0x43, 0xfc, //0x000002f2 movw %ax, $-4(%rbx) + 0x45, 0x31, 0xc9, //0x000002f6 xorl %r9d, %r9d + 0x48, 0x8d, 0x4b, 0xfc, //0x000002f9 leaq $-4(%rbx), %rcx + 0x41, 0x83, 0xfe, 0x64, //0x000002fd cmpl $100, %r14d + 0x0f, 0x83, 0x91, 0x00, 0x00, 0x00, //0x00000301 jae LBB0_64 + //0x00000307 LBB0_31 + 0x44, 0x89, 0xf2, //0x00000307 movl %r14d, %edx + 0xe9, 0xd4, 0x00, 0x00, 0x00, //0x0000030a jmp LBB0_66 + //0x0000030f LBB0_26 + 0x41, 0x89, 0xc4, //0x0000030f movl %eax, %r12d + 0x45, 0x85, 0xdb, //0x00000312 testl %r11d, %r11d + 0x0f, 0x88, 0x1d, 0x02, 0x00, 0x00, //0x00000315 js LBB0_38 + 0x4b, 0x8d, 0x34, 0x20, //0x0000031b leaq (%r8,%r12), %rsi + 0x41, 0x81, 0xfd, 0x10, 0x27, 0x00, 0x00, //0x0000031f cmpl $10000, %r13d + 0x0f, 0x82, 0xa8, 0x02, 0x00, 0x00, //0x00000326 jb LBB0_43 + 0x44, 0x89, 0xe8, //0x0000032c movl %r13d, %eax + 0xb9, 0x59, 0x17, 0xb7, 0xd1, //0x0000032f movl $3518437209, %ecx + 0x48, 0x0f, 0xaf, 0xc8, //0x00000334 imulq %rax, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x00000338 shrq $45, %rcx + 0x69, 0xc1, 0xf0, 0xd8, 0xff, 0xff, //0x0000033c imull $-10000, %ecx, %eax + 0x44, 0x01, 0xe8, //0x00000342 addl %r13d, %eax + 0x48, 0x69, 0xd0, 0x1f, 0x85, 0xeb, 0x51, //0x00000345 imulq $1374389535, %rax, %rdx + 0x48, 0xc1, 0xea, 0x25, //0x0000034c shrq $37, %rdx + 0x6b, 0xda, 0x64, //0x00000350 imull $100, %edx, %ebx + 0x29, 0xd8, //0x00000353 subl %ebx, %eax + 0x48, 0x8d, 0x1d, 0xb4, 0x09, 0x00, 0x00, //0x00000355 leaq $2484(%rip), %rbx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x43, //0x0000035c movzwl (%rbx,%rax,2), %eax + 0x66, 0x89, 0x46, 0xfe, //0x00000360 movw %ax, $-2(%rsi) + 0x48, 0x8d, 0x46, 0xfc, //0x00000364 leaq $-4(%rsi), %rax + 0x0f, 0xb7, 0x14, 0x53, //0x00000368 movzwl (%rbx,%rdx,2), %edx + 0x66, 0x89, 0x56, 0xfc, //0x0000036c movw %dx, $-4(%rsi) + 0x41, 0x89, 0xcd, //0x00000370 movl %ecx, %r13d + 0x41, 0x83, 0xfd, 0x64, //0x00000373 cmpl $100, %r13d + 0x0f, 0x83, 0x64, 0x02, 0x00, 0x00, //0x00000377 jae LBB0_44 + //0x0000037d LBB0_29 + 0x44, 0x89, 0xe9, //0x0000037d movl %r13d, %ecx + 0xe9, 0x9e, 0x02, 0x00, 0x00, //0x00000380 jmp LBB0_46 + //0x00000385 LBB0_30 + 0x45, 0x31, 0xc9, //0x00000385 xorl %r9d, %r9d + 0x48, 0x89, 0xd9, //0x00000388 movq %rbx, %rcx + 0x45, 0x89, 0xee, //0x0000038b movl %r13d, %r14d + 0x41, 0x83, 0xfe, 0x64, //0x0000038e cmpl $100, %r14d + 0x0f, 0x82, 0x6f, 0xff, 0xff, 0xff, //0x00000392 jb LBB0_31 + //0x00000398 LBB0_64 + 0x48, 0xff, 0xc9, //0x00000398 decq %rcx + 0x4c, 0x8d, 0x1d, 0x6e, 0x09, 0x00, 0x00, //0x0000039b leaq $2414(%rip), %r11 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003a2 .p2align 4, 0x90 + //0x000003b0 LBB0_65 + 0x44, 0x89, 0xf2, //0x000003b0 movl %r14d, %edx + 0x48, 0x69, 0xd2, 0x1f, 0x85, 0xeb, 0x51, //0x000003b3 imulq $1374389535, %rdx, %rdx + 0x48, 0xc1, 0xea, 0x25, //0x000003ba shrq $37, %rdx + 0x6b, 0xc2, 0x64, //0x000003be imull $100, %edx, %eax + 0x44, 0x89, 0xf6, //0x000003c1 movl %r14d, %esi + 0x29, 0xc6, //0x000003c4 subl %eax, %esi + 0x41, 0x0f, 0xb7, 0x04, 0x73, //0x000003c6 movzwl (%r11,%rsi,2), %eax + 0x66, 0x89, 0x41, 0xff, //0x000003cb movw %ax, $-1(%rcx) + 0x48, 0x83, 0xc1, 0xfe, //0x000003cf addq $-2, %rcx + 0x41, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x000003d3 cmpl $9999, %r14d + 0x41, 0x89, 0xd6, //0x000003da movl %edx, %r14d + 0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x000003dd ja LBB0_65 + //0x000003e3 LBB0_66 + 0x49, 0x8d, 0x70, 0x01, //0x000003e3 leaq $1(%r8), %rsi + 0x83, 0xfa, 0x0a, //0x000003e7 cmpl $10, %edx + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x000003ea jb LBB0_68 + 0x89, 0xd0, //0x000003f0 movl %edx, %eax + 0x48, 0x8d, 0x0d, 0x17, 0x09, 0x00, 0x00, //0x000003f2 leaq $2327(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x000003f9 movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x000003fc movb $1(%rcx,%rax,2), %al + 0x41, 0x88, 0x50, 0x01, //0x00000400 movb %dl, $1(%r8) + 0x41, 0x88, 0x40, 0x02, //0x00000404 movb %al, $2(%r8) + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00000408 jmp LBB0_69 + //0x0000040d LBB0_68 + 0x80, 0xc2, 0x30, //0x0000040d addb $48, %dl + 0x88, 0x16, //0x00000410 movb %dl, (%rsi) + //0x00000412 LBB0_69 + 0x4c, 0x29, 0xcb, //0x00000412 subq %r9, %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000415 .p2align 4, 0x90 + //0x00000420 LBB0_70 + 0x80, 0x7b, 0xff, 0x30, //0x00000420 cmpb $48, $-1(%rbx) + 0x48, 0x8d, 0x5b, 0xff, //0x00000424 leaq $-1(%rbx), %rbx + 0x0f, 0x84, 0xf2, 0xff, 0xff, 0xff, //0x00000428 je LBB0_70 + 0x41, 0x88, 0x10, //0x0000042e movb %dl, (%r8) + 0x48, 0x8d, 0x43, 0x01, //0x00000431 leaq $1(%rbx), %rax + 0x48, 0x89, 0xc1, //0x00000435 movq %rax, %rcx + 0x48, 0x29, 0xf1, //0x00000438 subq %rsi, %rcx + 0x48, 0x83, 0xf9, 0x02, //0x0000043b cmpq $2, %rcx + 0x0f, 0x8c, 0x06, 0x00, 0x00, 0x00, //0x0000043f jl LBB0_73 + 0xc6, 0x06, 0x2e, //0x00000445 movb $46, (%rsi) + 0x48, 0x89, 0xc3, //0x00000448 movq %rax, %rbx + //0x0000044b LBB0_73 + 0xc6, 0x03, 0x65, //0x0000044b movb $101, (%rbx) + 0x45, 0x85, 0xd2, //0x0000044e testl %r10d, %r10d + 0x0f, 0x8e, 0x42, 0x01, 0x00, 0x00, //0x00000451 jle LBB0_76 + 0x41, 0xff, 0xca, //0x00000457 decl %r10d + 0xc6, 0x43, 0x01, 0x2b, //0x0000045a movb $43, $1(%rbx) + 0x44, 0x89, 0xd0, //0x0000045e movl %r10d, %eax + 0x83, 0xf8, 0x64, //0x00000461 cmpl $100, %eax + 0x0f, 0x8c, 0x44, 0x01, 0x00, 0x00, //0x00000464 jl LBB0_77 + //0x0000046a LBB0_75 + 0x89, 0xc1, //0x0000046a movl %eax, %ecx + 0xba, 0xcd, 0xcc, 0xcc, 0xcc, //0x0000046c movl $3435973837, %edx + 0x48, 0x0f, 0xaf, 0xd1, //0x00000471 imulq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x23, //0x00000475 shrq $35, %rdx + 0x8d, 0x0c, 0x12, //0x00000479 leal (%rdx,%rdx), %ecx + 0x8d, 0x0c, 0x89, //0x0000047c leal (%rcx,%rcx,4), %ecx + 0x29, 0xc8, //0x0000047f subl %ecx, %eax + 0x48, 0x8d, 0x0d, 0x88, 0x08, 0x00, 0x00, //0x00000481 leaq $2184(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x51, //0x00000488 movzwl (%rcx,%rdx,2), %ecx + 0x66, 0x89, 0x4b, 0x02, //0x0000048c movw %cx, $2(%rbx) + 0x0c, 0x30, //0x00000490 orb $48, %al + 0x88, 0x43, 0x04, //0x00000492 movb %al, $4(%rbx) + 0x48, 0x83, 0xc3, 0x05, //0x00000495 addq $5, %rbx + 0x49, 0x89, 0xd8, //0x00000499 movq %rbx, %r8 + 0xe9, 0x3f, 0x08, 0x00, 0x00, //0x0000049c jmp LBB0_137 + //0x000004a1 LBB0_32 + 0xd3, 0xee, //0x000004a1 shrl %cl, %esi + 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x000004a3 cmpl $100000, %esi + 0x0f, 0x82, 0x17, 0x02, 0x00, 0x00, //0x000004a9 jb LBB0_52 + 0xb8, 0x06, 0x00, 0x00, 0x00, //0x000004af movl $6, %eax + 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x000004b4 cmpl $1000000, %esi + 0x0f, 0x82, 0x20, 0x00, 0x00, 0x00, //0x000004ba jb LBB0_36 + 0xb8, 0x07, 0x00, 0x00, 0x00, //0x000004c0 movl $7, %eax + 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x000004c5 cmpl $10000000, %esi + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x000004cb jb LBB0_36 + 0x81, 0xfe, 0x00, 0xe1, 0xf5, 0x05, //0x000004d1 cmpl $100000000, %esi + 0xb8, 0x09, 0x00, 0x00, 0x00, //0x000004d7 movl $9, %eax + 0x48, 0x83, 0xd8, 0x00, //0x000004dc sbbq $0, %rax + //0x000004e0 LBB0_36 + 0x4c, 0x01, 0xc0, //0x000004e0 addq %r8, %rax + //0x000004e3 LBB0_37 + 0x89, 0xf1, //0x000004e3 movl %esi, %ecx + 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000004e5 movl $3518437209, %edx + 0x48, 0x0f, 0xaf, 0xd1, //0x000004ea imulq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x000004ee shrq $45, %rdx + 0x69, 0xca, 0xf0, 0xd8, 0xff, 0xff, //0x000004f2 imull $-10000, %edx, %ecx + 0x01, 0xf1, //0x000004f8 addl %esi, %ecx + 0x48, 0x69, 0xf1, 0x1f, 0x85, 0xeb, 0x51, //0x000004fa imulq $1374389535, %rcx, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x00000501 shrq $37, %rsi + 0x6b, 0xde, 0x64, //0x00000505 imull $100, %esi, %ebx + 0x29, 0xd9, //0x00000508 subl %ebx, %ecx + 0x48, 0x8d, 0x1d, 0xff, 0x07, 0x00, 0x00, //0x0000050a leaq $2047(%rip), %rbx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4b, //0x00000511 movzwl (%rbx,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfe, //0x00000515 movw %cx, $-2(%rax) + 0x0f, 0xb7, 0x0c, 0x73, //0x00000519 movzwl (%rbx,%rsi,2), %ecx + 0x66, 0x89, 0x48, 0xfc, //0x0000051d movw %cx, $-4(%rax) + 0x49, 0x89, 0xc1, //0x00000521 movq %rax, %r9 + 0x48, 0x83, 0xc0, 0xfc, //0x00000524 addq $-4, %rax + 0x89, 0xd6, //0x00000528 movl %edx, %esi + 0x83, 0xfe, 0x64, //0x0000052a cmpl $100, %esi + 0x0f, 0x83, 0xd2, 0x01, 0x00, 0x00, //0x0000052d jae LBB0_56 + 0xe9, 0x07, 0x02, 0x00, 0x00, //0x00000533 jmp LBB0_58 + //0x00000538 LBB0_38 + 0x45, 0x85, 0xd2, //0x00000538 testl %r10d, %r10d + 0x0f, 0x8f, 0x70, 0x04, 0x00, 0x00, //0x0000053b jg LBB0_98 + 0x66, 0x41, 0xc7, 0x00, 0x30, 0x2e, //0x00000541 movw $11824, (%r8) + 0x49, 0x83, 0xc0, 0x02, //0x00000547 addq $2, %r8 + 0x45, 0x85, 0xd2, //0x0000054b testl %r10d, %r10d + 0x0f, 0x89, 0x5d, 0x04, 0x00, 0x00, //0x0000054e jns LBB0_98 + 0x31, 0xf6, //0x00000554 xorl %esi, %esi + 0x41, 0x83, 0xfa, 0xe0, //0x00000556 cmpl $-32, %r10d + 0x0f, 0x87, 0x33, 0x04, 0x00, 0x00, //0x0000055a ja LBB0_96 + 0x45, 0x89, 0xd3, //0x00000560 movl %r10d, %r11d + 0x41, 0xf7, 0xd3, //0x00000563 notl %r11d + 0x49, 0xff, 0xc3, //0x00000566 incq %r11 + 0x4c, 0x89, 0xde, //0x00000569 movq %r11, %rsi + 0x48, 0x83, 0xe6, 0xe0, //0x0000056c andq $-32, %rsi + 0x48, 0x8d, 0x4e, 0xe0, //0x00000570 leaq $-32(%rsi), %rcx + 0x48, 0x89, 0xc8, //0x00000574 movq %rcx, %rax + 0x48, 0xc1, 0xe8, 0x05, //0x00000577 shrq $5, %rax + 0x48, 0xff, 0xc0, //0x0000057b incq %rax + 0x41, 0x89, 0xc6, //0x0000057e movl %eax, %r14d + 0x41, 0x83, 0xe6, 0x07, //0x00000581 andl $7, %r14d + 0x48, 0x81, 0xf9, 0xe0, 0x00, 0x00, 0x00, //0x00000585 cmpq $224, %rcx + 0x0f, 0x83, 0x27, 0x03, 0x00, 0x00, //0x0000058c jae LBB0_90 + 0x31, 0xc0, //0x00000592 xorl %eax, %eax + 0xe9, 0xbc, 0x03, 0x00, 0x00, //0x00000594 jmp LBB0_92 + //0x00000599 LBB0_76 + 0xc6, 0x43, 0x01, 0x2d, //0x00000599 movb $45, $1(%rbx) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x0000059d movl $1, %eax + 0x44, 0x29, 0xd0, //0x000005a2 subl %r10d, %eax + 0x83, 0xf8, 0x64, //0x000005a5 cmpl $100, %eax + 0x0f, 0x8d, 0xbc, 0xfe, 0xff, 0xff, //0x000005a8 jge LBB0_75 + //0x000005ae LBB0_77 + 0x83, 0xf8, 0x0a, //0x000005ae cmpl $10, %eax + 0x0f, 0x8c, 0xfe, 0x00, 0x00, 0x00, //0x000005b1 jl LBB0_79 + 0x48, 0x98, //0x000005b7 cltq + 0x48, 0x8d, 0x0d, 0x50, 0x07, 0x00, 0x00, //0x000005b9 leaq $1872(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x000005c0 movzwl (%rcx,%rax,2), %eax + 0x66, 0x89, 0x43, 0x02, //0x000005c4 movw %ax, $2(%rbx) + 0x48, 0x83, 0xc3, 0x04, //0x000005c8 addq $4, %rbx + 0x49, 0x89, 0xd8, //0x000005cc movq %rbx, %r8 + 0xe9, 0x0c, 0x07, 0x00, 0x00, //0x000005cf jmp LBB0_137 + //0x000005d4 LBB0_43 + 0x48, 0x89, 0xf0, //0x000005d4 movq %rsi, %rax + 0x41, 0x83, 0xfd, 0x64, //0x000005d7 cmpl $100, %r13d + 0x0f, 0x82, 0x9c, 0xfd, 0xff, 0xff, //0x000005db jb LBB0_29 + //0x000005e1 LBB0_44 + 0x48, 0xff, 0xc8, //0x000005e1 decq %rax + 0x4c, 0x8d, 0x1d, 0x25, 0x07, 0x00, 0x00, //0x000005e4 leaq $1829(%rip), %r11 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000005eb .p2align 4, 0x90 + //0x000005f0 LBB0_45 + 0x44, 0x89, 0xe9, //0x000005f0 movl %r13d, %ecx + 0x48, 0x69, 0xc9, 0x1f, 0x85, 0xeb, 0x51, //0x000005f3 imulq $1374389535, %rcx, %rcx + 0x48, 0xc1, 0xe9, 0x25, //0x000005fa shrq $37, %rcx + 0x6b, 0xd9, 0x64, //0x000005fe imull $100, %ecx, %ebx + 0x44, 0x89, 0xea, //0x00000601 movl %r13d, %edx + 0x29, 0xda, //0x00000604 subl %ebx, %edx + 0x41, 0x0f, 0xb7, 0x14, 0x53, //0x00000606 movzwl (%r11,%rdx,2), %edx + 0x66, 0x89, 0x50, 0xff, //0x0000060b movw %dx, $-1(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x0000060f addq $-2, %rax + 0x41, 0x81, 0xfd, 0x0f, 0x27, 0x00, 0x00, //0x00000613 cmpl $9999, %r13d + 0x41, 0x89, 0xcd, //0x0000061a movl %ecx, %r13d + 0x0f, 0x87, 0xcd, 0xff, 0xff, 0xff, //0x0000061d ja LBB0_45 + //0x00000623 LBB0_46 + 0x49, 0x63, 0xc2, //0x00000623 movslq %r10d, %rax + 0x83, 0xf9, 0x0a, //0x00000626 cmpl $10, %ecx + 0x0f, 0x82, 0x22, 0x00, 0x00, 0x00, //0x00000629 jb LBB0_48 + 0x89, 0xc9, //0x0000062f movl %ecx, %ecx + 0x48, 0x8d, 0x15, 0xd8, 0x06, 0x00, 0x00, //0x00000631 leaq $1752(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000638 movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x41, 0x89, 0x08, //0x0000063c movw %cx, (%r8) + 0x49, 0x01, 0xc0, //0x00000640 addq %rax, %r8 + 0x49, 0x39, 0xc4, //0x00000643 cmpq %rax, %r12 + 0x0f, 0x8c, 0x17, 0x00, 0x00, 0x00, //0x00000646 jl LBB0_49 + 0xe9, 0x8f, 0x06, 0x00, 0x00, //0x0000064c jmp LBB0_137 + //0x00000651 LBB0_48 + 0x80, 0xc1, 0x30, //0x00000651 addb $48, %cl + 0x41, 0x88, 0x08, //0x00000654 movb %cl, (%r8) + 0x49, 0x01, 0xc0, //0x00000657 addq %rax, %r8 + 0x49, 0x39, 0xc4, //0x0000065a cmpq %rax, %r12 + 0x0f, 0x8d, 0x7d, 0x06, 0x00, 0x00, //0x0000065d jge LBB0_137 + //0x00000663 LBB0_49 + 0x4b, 0x8d, 0x04, 0x21, //0x00000663 leaq (%r9,%r12), %rax + 0x4c, 0x8d, 0x5c, 0x07, 0x01, //0x00000667 leaq $1(%rdi,%rax), %r11 + 0x4d, 0x39, 0xc3, //0x0000066c cmpq %r8, %r11 + 0x4d, 0x0f, 0x46, 0xd8, //0x0000066f cmovbeq %r8, %r11 + 0x4a, 0x8d, 0x0c, 0x0f, //0x00000673 leaq (%rdi,%r9), %rcx + 0x4c, 0x01, 0xe1, //0x00000677 addq %r12, %rcx + 0x49, 0x29, 0xcb, //0x0000067a subq %rcx, %r11 + 0x49, 0x83, 0xfb, 0x20, //0x0000067d cmpq $32, %r11 + 0x0f, 0x82, 0xf9, 0x01, 0x00, 0x00, //0x00000681 jb LBB0_87 + 0x4d, 0x89, 0xda, //0x00000687 movq %r11, %r10 + 0x49, 0x83, 0xe2, 0xe0, //0x0000068a andq $-32, %r10 + 0x49, 0x8d, 0x4a, 0xe0, //0x0000068e leaq $-32(%r10), %rcx + 0x48, 0x89, 0xcb, //0x00000692 movq %rcx, %rbx + 0x48, 0xc1, 0xeb, 0x05, //0x00000695 shrq $5, %rbx + 0x48, 0xff, 0xc3, //0x00000699 incq %rbx + 0x89, 0xda, //0x0000069c movl %ebx, %edx + 0x83, 0xe2, 0x07, //0x0000069e andl $7, %edx + 0x48, 0x81, 0xf9, 0xe0, 0x00, 0x00, 0x00, //0x000006a1 cmpq $224, %rcx + 0x0f, 0x83, 0xdb, 0x00, 0x00, 0x00, //0x000006a8 jae LBB0_80 + 0x31, 0xc0, //0x000006ae xorl %eax, %eax + 0xe9, 0x6f, 0x01, 0x00, 0x00, //0x000006b0 jmp LBB0_82 + //0x000006b5 LBB0_79 + 0x04, 0x30, //0x000006b5 addb $48, %al + 0x88, 0x43, 0x02, //0x000006b7 movb %al, $2(%rbx) + 0x48, 0x83, 0xc3, 0x03, //0x000006ba addq $3, %rbx + 0x49, 0x89, 0xd8, //0x000006be movq %rbx, %r8 + 0xe9, 0x1a, 0x06, 0x00, 0x00, //0x000006c1 jmp LBB0_137 + //0x000006c6 LBB0_52 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000006c6 movl $1, %r9d + 0x83, 0xfe, 0x0a, //0x000006cc cmpl $10, %esi + 0x0f, 0x82, 0x21, 0x00, 0x00, 0x00, //0x000006cf jb LBB0_55 + 0x41, 0xb9, 0x02, 0x00, 0x00, 0x00, //0x000006d5 movl $2, %r9d + 0x83, 0xfe, 0x64, //0x000006db cmpl $100, %esi + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x000006de jb LBB0_55 + 0x41, 0xb9, 0x03, 0x00, 0x00, 0x00, //0x000006e4 movl $3, %r9d + 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x000006ea cmpl $1000, %esi + 0x0f, 0x83, 0x9e, 0x01, 0x00, 0x00, //0x000006f0 jae LBB0_88 + //0x000006f6 LBB0_55 + 0x4d, 0x01, 0xc1, //0x000006f6 addq %r8, %r9 + 0x4c, 0x89, 0xc8, //0x000006f9 movq %r9, %rax + 0x83, 0xfe, 0x64, //0x000006fc cmpl $100, %esi + 0x0f, 0x82, 0x3a, 0x00, 0x00, 0x00, //0x000006ff jb LBB0_58 + //0x00000705 LBB0_56 + 0x48, 0xff, 0xc8, //0x00000705 decq %rax + 0x4c, 0x8d, 0x15, 0x01, 0x06, 0x00, 0x00, //0x00000708 leaq $1537(%rip), %r10 /* _Digits+0(%rip) */ + 0x90, //0x0000070f .p2align 4, 0x90 + //0x00000710 LBB0_57 + 0x89, 0xf3, //0x00000710 movl %esi, %ebx + 0x89, 0xf6, //0x00000712 movl %esi, %esi + 0x48, 0x69, 0xf6, 0x1f, 0x85, 0xeb, 0x51, //0x00000714 imulq $1374389535, %rsi, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x0000071b shrq $37, %rsi + 0x6b, 0xce, 0x64, //0x0000071f imull $100, %esi, %ecx + 0x89, 0xda, //0x00000722 movl %ebx, %edx + 0x29, 0xca, //0x00000724 subl %ecx, %edx + 0x41, 0x0f, 0xb7, 0x0c, 0x52, //0x00000726 movzwl (%r10,%rdx,2), %ecx + 0x66, 0x89, 0x48, 0xff, //0x0000072b movw %cx, $-1(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x0000072f addq $-2, %rax + 0x81, 0xfb, 0x0f, 0x27, 0x00, 0x00, //0x00000733 cmpl $9999, %ebx + 0x0f, 0x87, 0xd1, 0xff, 0xff, 0xff, //0x00000739 ja LBB0_57 + //0x0000073f LBB0_58 + 0x83, 0xfe, 0x0a, //0x0000073f cmpl $10, %esi + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000742 jb LBB0_60 + 0x89, 0xf0, //0x00000748 movl %esi, %eax + 0x48, 0x8d, 0x0d, 0xbf, 0x05, 0x00, 0x00, //0x0000074a leaq $1471(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x00000751 movzwl (%rcx,%rax,2), %eax + 0x66, 0x41, 0x89, 0x00, //0x00000755 movw %ax, (%r8) + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00000759 jmp LBB0_61 + //0x0000075e LBB0_60 + 0x40, 0x80, 0xc6, 0x30, //0x0000075e addb $48, %sil + 0x41, 0x88, 0x30, //0x00000762 movb %sil, (%r8) + //0x00000765 LBB0_61 + 0x41, 0x29, 0xf9, //0x00000765 subl %edi, %r9d + 0x45, 0x89, 0xc8, //0x00000768 movl %r9d, %r8d + 0xe9, 0x73, 0x05, 0x00, 0x00, //0x0000076b jmp LBB0_138 + //0x00000770 LBB0_62 + 0x41, 0xb9, 0x04, 0x00, 0x00, 0x00, //0x00000770 movl $4, %r9d + 0x48, 0x8d, 0x4b, 0xfc, //0x00000776 leaq $-4(%rbx), %rcx + 0x41, 0x83, 0xfe, 0x64, //0x0000077a cmpl $100, %r14d + 0x0f, 0x82, 0x83, 0xfb, 0xff, 0xff, //0x0000077e jb LBB0_31 + 0xe9, 0x0f, 0xfc, 0xff, 0xff, //0x00000784 jmp LBB0_64 + //0x00000789 LBB0_80 + 0x48, 0x29, 0xd3, //0x00000789 subq %rdx, %rbx + 0x48, 0x8d, 0x8c, 0x07, 0xf0, 0x00, 0x00, 0x00, //0x0000078c leaq $240(%rdi,%rax), %rcx + 0x31, 0xc0, //0x00000794 xorl %eax, %eax + 0xf3, 0x0f, 0x6f, 0x05, 0x62, 0xf8, 0xff, 0xff, //0x00000796 movdqu $-1950(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0x90, 0x90, //0x0000079e .p2align 4, 0x90 + //0x000007a0 LBB0_81 + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0x10, 0xff, 0xff, 0xff, //0x000007a0 movdqu %xmm0, $-240(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0x20, 0xff, 0xff, 0xff, //0x000007a9 movdqu %xmm0, $-224(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0x30, 0xff, 0xff, 0xff, //0x000007b2 movdqu %xmm0, $-208(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0x40, 0xff, 0xff, 0xff, //0x000007bb movdqu %xmm0, $-192(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0x50, 0xff, 0xff, 0xff, //0x000007c4 movdqu %xmm0, $-176(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0x60, 0xff, 0xff, 0xff, //0x000007cd movdqu %xmm0, $-160(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0x70, 0xff, 0xff, 0xff, //0x000007d6 movdqu %xmm0, $-144(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0x80, //0x000007df movdqu %xmm0, $-128(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0x90, //0x000007e5 movdqu %xmm0, $-112(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0xa0, //0x000007eb movdqu %xmm0, $-96(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0xb0, //0x000007f1 movdqu %xmm0, $-80(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0xc0, //0x000007f7 movdqu %xmm0, $-64(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0xd0, //0x000007fd movdqu %xmm0, $-48(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0xe0, //0x00000803 movdqu %xmm0, $-32(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0xf0, //0x00000809 movdqu %xmm0, $-16(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x04, 0x01, //0x0000080f movdqu %xmm0, (%rcx,%rax) + 0x48, 0x05, 0x00, 0x01, 0x00, 0x00, //0x00000814 addq $256, %rax + 0x48, 0x83, 0xc3, 0xf8, //0x0000081a addq $-8, %rbx + 0x0f, 0x85, 0x7c, 0xff, 0xff, 0xff, //0x0000081e jne LBB0_81 + //0x00000824 LBB0_82 + 0x48, 0x85, 0xd2, //0x00000824 testq %rdx, %rdx + 0x0f, 0x84, 0x39, 0x00, 0x00, 0x00, //0x00000827 je LBB0_85 + 0x4c, 0x01, 0xc8, //0x0000082d addq %r9, %rax + 0x4c, 0x01, 0xe0, //0x00000830 addq %r12, %rax + 0x48, 0x8d, 0x44, 0x07, 0x10, //0x00000833 leaq $16(%rdi,%rax), %rax + 0x48, 0xf7, 0xda, //0x00000838 negq %rdx + 0xf3, 0x0f, 0x6f, 0x05, 0xbd, 0xf7, 0xff, 0xff, //0x0000083b movdqu $-2115(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000843 .p2align 4, 0x90 + //0x00000850 LBB0_84 + 0xf3, 0x0f, 0x7f, 0x40, 0xf0, //0x00000850 movdqu %xmm0, $-16(%rax) + 0xf3, 0x0f, 0x7f, 0x00, //0x00000855 movdqu %xmm0, (%rax) + 0x48, 0x83, 0xc0, 0x20, //0x00000859 addq $32, %rax + 0x48, 0xff, 0xc2, //0x0000085d incq %rdx + 0x0f, 0x85, 0xea, 0xff, 0xff, 0xff, //0x00000860 jne LBB0_84 + //0x00000866 LBB0_85 + 0x4d, 0x39, 0xda, //0x00000866 cmpq %r11, %r10 + 0x0f, 0x84, 0x71, 0x04, 0x00, 0x00, //0x00000869 je LBB0_137 + 0x4c, 0x01, 0xd6, //0x0000086f addq %r10, %rsi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000872 .p2align 4, 0x90 + //0x00000880 LBB0_87 + 0xc6, 0x06, 0x30, //0x00000880 movb $48, (%rsi) + 0x48, 0xff, 0xc6, //0x00000883 incq %rsi + 0x4c, 0x39, 0xc6, //0x00000886 cmpq %r8, %rsi + 0x0f, 0x82, 0xf1, 0xff, 0xff, 0xff, //0x00000889 jb LBB0_87 + 0xe9, 0x4c, 0x04, 0x00, 0x00, //0x0000088f jmp LBB0_137 + //0x00000894 LBB0_88 + 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x00000894 cmpl $10000, %esi + 0x4c, 0x89, 0xc0, //0x0000089a movq %r8, %rax + 0x48, 0x83, 0xd8, 0x00, //0x0000089d sbbq $0, %rax + 0x48, 0x83, 0xc0, 0x05, //0x000008a1 addq $5, %rax + 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x000008a5 cmpl $10000, %esi + 0x0f, 0x83, 0x32, 0xfc, 0xff, 0xff, //0x000008ab jae LBB0_37 + 0x49, 0x89, 0xc1, //0x000008b1 movq %rax, %r9 + 0xe9, 0x4c, 0xfe, 0xff, 0xff, //0x000008b4 jmp LBB0_56 + //0x000008b9 LBB0_90 + 0x49, 0x8d, 0x9c, 0x39, 0xf2, 0x00, 0x00, 0x00, //0x000008b9 leaq $242(%r9,%rdi), %rbx + 0x4d, 0x89, 0xf7, //0x000008c1 movq %r14, %r15 + 0x49, 0x29, 0xc7, //0x000008c4 subq %rax, %r15 + 0x31, 0xc0, //0x000008c7 xorl %eax, %eax + 0xf3, 0x0f, 0x6f, 0x05, 0x2f, 0xf7, 0xff, 0xff, //0x000008c9 movdqu $-2257(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + //0x000008d1 LBB0_91 + 0xf3, 0x0f, 0x7f, 0x84, 0x03, 0x10, 0xff, 0xff, 0xff, //0x000008d1 movdqu %xmm0, $-240(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x03, 0x20, 0xff, 0xff, 0xff, //0x000008da movdqu %xmm0, $-224(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x03, 0x30, 0xff, 0xff, 0xff, //0x000008e3 movdqu %xmm0, $-208(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x03, 0x40, 0xff, 0xff, 0xff, //0x000008ec movdqu %xmm0, $-192(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x03, 0x50, 0xff, 0xff, 0xff, //0x000008f5 movdqu %xmm0, $-176(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x03, 0x60, 0xff, 0xff, 0xff, //0x000008fe movdqu %xmm0, $-160(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x03, 0x70, 0xff, 0xff, 0xff, //0x00000907 movdqu %xmm0, $-144(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x03, 0x80, //0x00000910 movdqu %xmm0, $-128(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x03, 0x90, //0x00000916 movdqu %xmm0, $-112(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x03, 0xa0, //0x0000091c movdqu %xmm0, $-96(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x03, 0xb0, //0x00000922 movdqu %xmm0, $-80(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x03, 0xc0, //0x00000928 movdqu %xmm0, $-64(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x03, 0xd0, //0x0000092e movdqu %xmm0, $-48(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x03, 0xe0, //0x00000934 movdqu %xmm0, $-32(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x03, 0xf0, //0x0000093a movdqu %xmm0, $-16(%rbx,%rax) + 0xf3, 0x0f, 0x7f, 0x04, 0x03, //0x00000940 movdqu %xmm0, (%rbx,%rax) + 0x48, 0x05, 0x00, 0x01, 0x00, 0x00, //0x00000945 addq $256, %rax + 0x49, 0x83, 0xc7, 0x08, //0x0000094b addq $8, %r15 + 0x0f, 0x85, 0x7c, 0xff, 0xff, 0xff, //0x0000094f jne LBB0_91 + //0x00000955 LBB0_92 + 0x4d, 0x85, 0xf6, //0x00000955 testq %r14, %r14 + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00000958 je LBB0_95 + 0x4c, 0x01, 0xc8, //0x0000095e addq %r9, %rax + 0x48, 0x8d, 0x44, 0x07, 0x12, //0x00000961 leaq $18(%rdi,%rax), %rax + 0x49, 0xf7, 0xde, //0x00000966 negq %r14 + 0xf3, 0x0f, 0x6f, 0x05, 0x8f, 0xf6, 0xff, 0xff, //0x00000969 movdqu $-2417(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + //0x00000971 LBB0_94 + 0xf3, 0x0f, 0x7f, 0x40, 0xf0, //0x00000971 movdqu %xmm0, $-16(%rax) + 0xf3, 0x0f, 0x7f, 0x00, //0x00000976 movdqu %xmm0, (%rax) + 0x48, 0x83, 0xc0, 0x20, //0x0000097a addq $32, %rax + 0x49, 0xff, 0xc6, //0x0000097e incq %r14 + 0x0f, 0x85, 0xea, 0xff, 0xff, 0xff, //0x00000981 jne LBB0_94 + //0x00000987 LBB0_95 + 0x49, 0x01, 0xf0, //0x00000987 addq %rsi, %r8 + 0x49, 0x39, 0xf3, //0x0000098a cmpq %rsi, %r11 + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x0000098d je LBB0_98 + //0x00000993 LBB0_96 + 0x44, 0x89, 0xd0, //0x00000993 movl %r10d, %eax + 0xf7, 0xd8, //0x00000996 negl %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000998 .p2align 4, 0x90 + //0x000009a0 LBB0_97 + 0x41, 0xc6, 0x00, 0x30, //0x000009a0 movb $48, (%r8) + 0x49, 0xff, 0xc0, //0x000009a4 incq %r8 + 0xff, 0xc6, //0x000009a7 incl %esi + 0x39, 0xc6, //0x000009a9 cmpl %eax, %esi + 0x0f, 0x8c, 0xef, 0xff, 0xff, 0xff, //0x000009ab jl LBB0_97 + //0x000009b1 LBB0_98 + 0x4b, 0x8d, 0x04, 0x20, //0x000009b1 leaq (%r8,%r12), %rax + 0x41, 0x81, 0xfd, 0x10, 0x27, 0x00, 0x00, //0x000009b5 cmpl $10000, %r13d + 0x0f, 0x82, 0x63, 0x00, 0x00, 0x00, //0x000009bc jb LBB0_101 + 0x44, 0x89, 0xe9, //0x000009c2 movl %r13d, %ecx + 0x41, 0xbb, 0x59, 0x17, 0xb7, 0xd1, //0x000009c5 movl $3518437209, %r11d + 0x4c, 0x0f, 0xaf, 0xd9, //0x000009cb imulq %rcx, %r11 + 0x49, 0xc1, 0xeb, 0x2d, //0x000009cf shrq $45, %r11 + 0x41, 0x69, 0xcb, 0xf0, 0xd8, 0xff, 0xff, //0x000009d3 imull $-10000, %r11d, %ecx + 0x44, 0x01, 0xe9, //0x000009da addl %r13d, %ecx + 0x0f, 0x84, 0x87, 0x01, 0x00, 0x00, //0x000009dd je LBB0_103 + 0x89, 0xca, //0x000009e3 movl %ecx, %edx + 0x48, 0x69, 0xd2, 0x1f, 0x85, 0xeb, 0x51, //0x000009e5 imulq $1374389535, %rdx, %rdx + 0x48, 0xc1, 0xea, 0x25, //0x000009ec shrq $37, %rdx + 0x6b, 0xda, 0x64, //0x000009f0 imull $100, %edx, %ebx + 0x29, 0xd9, //0x000009f3 subl %ebx, %ecx + 0x48, 0x8d, 0x1d, 0x14, 0x03, 0x00, 0x00, //0x000009f5 leaq $788(%rip), %rbx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4b, //0x000009fc movzwl (%rbx,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfe, //0x00000a00 movw %cx, $-2(%rax) + 0x0f, 0xb7, 0x0c, 0x53, //0x00000a04 movzwl (%rbx,%rdx,2), %ecx + 0x66, 0x89, 0x48, 0xfc, //0x00000a08 movw %cx, $-4(%rax) + 0x45, 0x31, 0xc9, //0x00000a0c xorl %r9d, %r9d + 0x48, 0x83, 0xc0, 0xfc, //0x00000a0f addq $-4, %rax + 0x41, 0x83, 0xfb, 0x64, //0x00000a13 cmpl $100, %r11d + 0x0f, 0x83, 0x18, 0x00, 0x00, 0x00, //0x00000a17 jae LBB0_105 + //0x00000a1d LBB0_102 + 0x44, 0x89, 0xd9, //0x00000a1d movl %r11d, %ecx + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x00000a20 jmp LBB0_107 + //0x00000a25 LBB0_101 + 0x45, 0x31, 0xc9, //0x00000a25 xorl %r9d, %r9d + 0x45, 0x89, 0xeb, //0x00000a28 movl %r13d, %r11d + 0x41, 0x83, 0xfb, 0x64, //0x00000a2b cmpl $100, %r11d + 0x0f, 0x82, 0xe8, 0xff, 0xff, 0xff, //0x00000a2f jb LBB0_102 + //0x00000a35 LBB0_105 + 0x48, 0xff, 0xc8, //0x00000a35 decq %rax + 0x48, 0x8d, 0x15, 0xd1, 0x02, 0x00, 0x00, //0x00000a38 leaq $721(%rip), %rdx /* _Digits+0(%rip) */ + 0x90, //0x00000a3f .p2align 4, 0x90 + //0x00000a40 LBB0_106 + 0x44, 0x89, 0xd9, //0x00000a40 movl %r11d, %ecx + 0x48, 0x69, 0xc9, 0x1f, 0x85, 0xeb, 0x51, //0x00000a43 imulq $1374389535, %rcx, %rcx + 0x48, 0xc1, 0xe9, 0x25, //0x00000a4a shrq $37, %rcx + 0x6b, 0xd9, 0x64, //0x00000a4e imull $100, %ecx, %ebx + 0x44, 0x89, 0xde, //0x00000a51 movl %r11d, %esi + 0x29, 0xde, //0x00000a54 subl %ebx, %esi + 0x0f, 0xb7, 0x34, 0x72, //0x00000a56 movzwl (%rdx,%rsi,2), %esi + 0x66, 0x89, 0x70, 0xff, //0x00000a5a movw %si, $-1(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x00000a5e addq $-2, %rax + 0x41, 0x81, 0xfb, 0x0f, 0x27, 0x00, 0x00, //0x00000a62 cmpl $9999, %r11d + 0x41, 0x89, 0xcb, //0x00000a69 movl %ecx, %r11d + 0x0f, 0x87, 0xce, 0xff, 0xff, 0xff, //0x00000a6c ja LBB0_106 + //0x00000a72 LBB0_107 + 0x83, 0xf9, 0x0a, //0x00000a72 cmpl $10, %ecx + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000a75 jb LBB0_109 + 0x89, 0xc8, //0x00000a7b movl %ecx, %eax + 0x48, 0x8d, 0x0d, 0x8c, 0x02, 0x00, 0x00, //0x00000a7d leaq $652(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x00000a84 movzwl (%rcx,%rax,2), %eax + 0x66, 0x41, 0x89, 0x00, //0x00000a88 movw %ax, (%r8) + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x00000a8c jmp LBB0_110 + //0x00000a91 LBB0_109 + 0x80, 0xc1, 0x30, //0x00000a91 addb $48, %cl + 0x41, 0x88, 0x08, //0x00000a94 movb %cl, (%r8) + //0x00000a97 LBB0_110 + 0x4d, 0x29, 0xcc, //0x00000a97 subq %r9, %r12 + 0x49, 0x8d, 0x74, 0x24, 0x01, //0x00000a9a leaq $1(%r12), %rsi + 0x49, 0x8d, 0x54, 0x24, 0x11, //0x00000a9f leaq $17(%r12), %rdx + 0x49, 0x8d, 0x44, 0x24, 0x02, //0x00000aa4 leaq $2(%r12), %rax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000aa9 .p2align 4, 0x90 + //0x00000ab0 LBB0_111 + 0x48, 0xff, 0xca, //0x00000ab0 decq %rdx + 0x48, 0xff, 0xce, //0x00000ab3 decq %rsi + 0x48, 0xff, 0xc8, //0x00000ab6 decq %rax + 0x43, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00000ab9 cmpb $48, $-1(%r8,%r12) + 0x4d, 0x8d, 0x64, 0x24, 0xff, //0x00000abf leaq $-1(%r12), %r12 + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x00000ac4 je LBB0_111 + 0x4d, 0x8d, 0x0c, 0x30, //0x00000aca leaq (%r8,%rsi), %r9 + 0x45, 0x85, 0xd2, //0x00000ace testl %r10d, %r10d + 0x0f, 0x8e, 0x8b, 0x00, 0x00, 0x00, //0x00000ad1 jle LBB0_116 + 0x44, 0x89, 0xc9, //0x00000ad7 movl %r9d, %ecx + 0x44, 0x29, 0xc1, //0x00000ada subl %r8d, %ecx + 0x41, 0x39, 0xca, //0x00000add cmpl %ecx, %r10d + 0x0f, 0x8d, 0x23, 0x00, 0x00, 0x00, //0x00000ae0 jge LBB0_117 + 0x43, 0x8d, 0x0c, 0x02, //0x00000ae6 leal (%r10,%r8), %ecx + 0x41, 0x29, 0xc9, //0x00000aea subl %ecx, %r9d + 0x49, 0x8d, 0x49, 0xff, //0x00000aed leaq $-1(%r9), %rcx + 0x45, 0x89, 0xcb, //0x00000af1 movl %r9d, %r11d + 0x41, 0x83, 0xe3, 0x03, //0x00000af4 andl $3, %r11d + 0x48, 0x83, 0xf9, 0x03, //0x00000af8 cmpq $3, %rcx + 0x0f, 0x83, 0x81, 0x00, 0x00, 0x00, //0x00000afc jae LBB0_121 + 0x31, 0xc9, //0x00000b02 xorl %ecx, %ecx + 0xe9, 0xa3, 0x00, 0x00, 0x00, //0x00000b04 jmp LBB0_124 + //0x00000b09 LBB0_117 + 0x0f, 0x8e, 0x53, 0x00, 0x00, 0x00, //0x00000b09 jle LBB0_116 + 0x45, 0x01, 0xc2, //0x00000b0f addl %r8d, %r10d + 0x45, 0x89, 0xcf, //0x00000b12 movl %r9d, %r15d + 0x41, 0xf7, 0xd7, //0x00000b15 notl %r15d + 0x45, 0x01, 0xd7, //0x00000b18 addl %r10d, %r15d + 0x45, 0x31, 0xf6, //0x00000b1b xorl %r14d, %r14d + 0x4d, 0x89, 0xcb, //0x00000b1e movq %r9, %r11 + 0x41, 0x83, 0xff, 0x1e, //0x00000b21 cmpl $30, %r15d + 0x0f, 0x86, 0x9b, 0x01, 0x00, 0x00, //0x00000b25 jbe LBB0_135 + 0x49, 0xff, 0xc7, //0x00000b2b incq %r15 + 0x4d, 0x89, 0xfe, //0x00000b2e movq %r15, %r14 + 0x49, 0x83, 0xe6, 0xe0, //0x00000b31 andq $-32, %r14 + 0x4f, 0x8d, 0x1c, 0x30, //0x00000b35 leaq (%r8,%r14), %r11 + 0x49, 0x8d, 0x5e, 0xe0, //0x00000b39 leaq $-32(%r14), %rbx + 0x48, 0x89, 0xd8, //0x00000b3d movq %rbx, %rax + 0x48, 0xc1, 0xe8, 0x05, //0x00000b40 shrq $5, %rax + 0x48, 0xff, 0xc0, //0x00000b44 incq %rax + 0x41, 0x89, 0xc4, //0x00000b47 movl %eax, %r12d + 0x41, 0x83, 0xe4, 0x07, //0x00000b4a andl $7, %r12d + 0x48, 0x81, 0xfb, 0xe0, 0x00, 0x00, 0x00, //0x00000b4e cmpq $224, %rbx + 0x0f, 0x83, 0x8f, 0x00, 0x00, 0x00, //0x00000b55 jae LBB0_129 + 0x31, 0xc0, //0x00000b5b xorl %eax, %eax + 0xe9, 0x23, 0x01, 0x00, 0x00, //0x00000b5d jmp LBB0_131 + //0x00000b62 LBB0_116 + 0x4d, 0x89, 0xc8, //0x00000b62 movq %r9, %r8 + 0xe9, 0x76, 0x01, 0x00, 0x00, //0x00000b65 jmp LBB0_137 + //0x00000b6a LBB0_103 + 0x41, 0xb9, 0x04, 0x00, 0x00, 0x00, //0x00000b6a movl $4, %r9d + 0x48, 0x83, 0xc0, 0xfc, //0x00000b70 addq $-4, %rax + 0x41, 0x83, 0xfb, 0x64, //0x00000b74 cmpl $100, %r11d + 0x0f, 0x82, 0x9f, 0xfe, 0xff, 0xff, //0x00000b78 jb LBB0_102 + 0xe9, 0xb2, 0xfe, 0xff, 0xff, //0x00000b7e jmp LBB0_105 + //0x00000b83 LBB0_121 + 0x4d, 0x89, 0xde, //0x00000b83 movq %r11, %r14 + 0x4d, 0x29, 0xce, //0x00000b86 subq %r9, %r14 + 0x31, 0xc9, //0x00000b89 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000b8b .p2align 4, 0x90 + //0x00000b90 LBB0_122 + 0x49, 0x8d, 0x1c, 0x08, //0x00000b90 leaq (%r8,%rcx), %rbx + 0x8b, 0x54, 0x1e, 0xfc, //0x00000b94 movl $-4(%rsi,%rbx), %edx + 0x89, 0x54, 0x1e, 0xfd, //0x00000b98 movl %edx, $-3(%rsi,%rbx) + 0x48, 0x83, 0xc1, 0xfc, //0x00000b9c addq $-4, %rcx + 0x49, 0x39, 0xce, //0x00000ba0 cmpq %rcx, %r14 + 0x0f, 0x85, 0xe7, 0xff, 0xff, 0xff, //0x00000ba3 jne LBB0_122 + 0x48, 0xf7, 0xd9, //0x00000ba9 negq %rcx + //0x00000bac LBB0_124 + 0x4d, 0x85, 0xdb, //0x00000bac testq %r11, %r11 + 0x0f, 0x84, 0x25, 0x00, 0x00, 0x00, //0x00000baf je LBB0_127 + 0x49, 0xf7, 0xdb, //0x00000bb5 negq %r11 + 0x4c, 0x89, 0xc2, //0x00000bb8 movq %r8, %rdx + 0x48, 0x29, 0xca, //0x00000bbb subq %rcx, %rdx + 0x31, 0xc9, //0x00000bbe xorl %ecx, %ecx + //0x00000bc0 .p2align 4, 0x90 + //0x00000bc0 LBB0_126 + 0x48, 0x8d, 0x34, 0x0a, //0x00000bc0 leaq (%rdx,%rcx), %rsi + 0x41, 0x0f, 0xb6, 0x1c, 0x34, //0x00000bc4 movzbl (%r12,%rsi), %ebx + 0x41, 0x88, 0x5c, 0x34, 0x01, //0x00000bc9 movb %bl, $1(%r12,%rsi) + 0x48, 0xff, 0xc9, //0x00000bce decq %rcx + 0x49, 0x39, 0xcb, //0x00000bd1 cmpq %rcx, %r11 + 0x0f, 0x85, 0xe6, 0xff, 0xff, 0xff, //0x00000bd4 jne LBB0_126 + //0x00000bda LBB0_127 + 0x49, 0x63, 0xca, //0x00000bda movslq %r10d, %rcx + 0x41, 0xc6, 0x04, 0x08, 0x2e, //0x00000bdd movb $46, (%r8,%rcx) + 0x49, 0x01, 0xc0, //0x00000be2 addq %rax, %r8 + 0xe9, 0xf6, 0x00, 0x00, 0x00, //0x00000be5 jmp LBB0_137 + //0x00000bea LBB0_129 + 0x4c, 0x89, 0xe3, //0x00000bea movq %r12, %rbx + 0x48, 0x29, 0xc3, //0x00000bed subq %rax, %rbx + 0x31, 0xc0, //0x00000bf0 xorl %eax, %eax + 0xf3, 0x0f, 0x6f, 0x05, 0x06, 0xf4, 0xff, 0xff, //0x00000bf2 movdqu $-3066(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + //0x00000bfa LBB0_130 + 0x49, 0x8d, 0x0c, 0x00, //0x00000bfa leaq (%r8,%rax), %rcx + 0xf3, 0x0f, 0x7f, 0x04, 0x0e, //0x00000bfe movdqu %xmm0, (%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x44, 0x0e, 0x10, //0x00000c03 movdqu %xmm0, $16(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x44, 0x0e, 0x20, //0x00000c09 movdqu %xmm0, $32(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x44, 0x0e, 0x30, //0x00000c0f movdqu %xmm0, $48(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x44, 0x0e, 0x40, //0x00000c15 movdqu %xmm0, $64(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x44, 0x0e, 0x50, //0x00000c1b movdqu %xmm0, $80(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x44, 0x0e, 0x60, //0x00000c21 movdqu %xmm0, $96(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x44, 0x0e, 0x70, //0x00000c27 movdqu %xmm0, $112(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x84, 0x0e, 0x80, 0x00, 0x00, 0x00, //0x00000c2d movdqu %xmm0, $128(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x84, 0x0e, 0x90, 0x00, 0x00, 0x00, //0x00000c36 movdqu %xmm0, $144(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x84, 0x0e, 0xa0, 0x00, 0x00, 0x00, //0x00000c3f movdqu %xmm0, $160(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x84, 0x0e, 0xb0, 0x00, 0x00, 0x00, //0x00000c48 movdqu %xmm0, $176(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x84, 0x0e, 0xc0, 0x00, 0x00, 0x00, //0x00000c51 movdqu %xmm0, $192(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x84, 0x0e, 0xd0, 0x00, 0x00, 0x00, //0x00000c5a movdqu %xmm0, $208(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x84, 0x0e, 0xe0, 0x00, 0x00, 0x00, //0x00000c63 movdqu %xmm0, $224(%rsi,%rcx) + 0xf3, 0x0f, 0x7f, 0x84, 0x0e, 0xf0, 0x00, 0x00, 0x00, //0x00000c6c movdqu %xmm0, $240(%rsi,%rcx) + 0x48, 0x05, 0x00, 0x01, 0x00, 0x00, //0x00000c75 addq $256, %rax + 0x48, 0x83, 0xc3, 0x08, //0x00000c7b addq $8, %rbx + 0x0f, 0x85, 0x75, 0xff, 0xff, 0xff, //0x00000c7f jne LBB0_130 + //0x00000c85 LBB0_131 + 0x49, 0x01, 0xf3, //0x00000c85 addq %rsi, %r11 + 0x4d, 0x85, 0xe4, //0x00000c88 testq %r12, %r12 + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00000c8b je LBB0_134 + 0x49, 0x01, 0xc0, //0x00000c91 addq %rax, %r8 + 0x49, 0x01, 0xd0, //0x00000c94 addq %rdx, %r8 + 0x49, 0xf7, 0xdc, //0x00000c97 negq %r12 + 0xf3, 0x0f, 0x6f, 0x05, 0x5e, 0xf3, 0xff, 0xff, //0x00000c9a movdqu $-3234(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + //0x00000ca2 LBB0_133 + 0xf3, 0x41, 0x0f, 0x7f, 0x40, 0xf0, //0x00000ca2 movdqu %xmm0, $-16(%r8) + 0xf3, 0x41, 0x0f, 0x7f, 0x00, //0x00000ca8 movdqu %xmm0, (%r8) + 0x49, 0x83, 0xc0, 0x20, //0x00000cad addq $32, %r8 + 0x49, 0xff, 0xc4, //0x00000cb1 incq %r12 + 0x0f, 0x85, 0xe8, 0xff, 0xff, 0xff, //0x00000cb4 jne LBB0_133 + //0x00000cba LBB0_134 + 0x4d, 0x89, 0xd8, //0x00000cba movq %r11, %r8 + 0x4d, 0x39, 0xf7, //0x00000cbd cmpq %r14, %r15 + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000cc0 je LBB0_137 + //0x00000cc6 LBB0_135 + 0x45, 0x29, 0xf2, //0x00000cc6 subl %r14d, %r10d + 0x45, 0x29, 0xca, //0x00000cc9 subl %r9d, %r10d + 0x4d, 0x89, 0xd8, //0x00000ccc movq %r11, %r8 + 0x90, //0x00000ccf .p2align 4, 0x90 + //0x00000cd0 LBB0_136 + 0x41, 0xc6, 0x00, 0x30, //0x00000cd0 movb $48, (%r8) + 0x49, 0xff, 0xc0, //0x00000cd4 incq %r8 + 0x41, 0xff, 0xca, //0x00000cd7 decl %r10d + 0x0f, 0x85, 0xf0, 0xff, 0xff, 0xff, //0x00000cda jne LBB0_136 + //0x00000ce0 LBB0_137 + 0x41, 0x29, 0xf8, //0x00000ce0 subl %edi, %r8d + //0x00000ce3 LBB0_138 + 0x44, 0x89, 0xc0, //0x00000ce3 movl %r8d, %eax + 0x5b, //0x00000ce6 popq %rbx + 0x41, 0x5c, //0x00000ce7 popq %r12 + 0x41, 0x5d, //0x00000ce9 popq %r13 + 0x41, 0x5e, //0x00000ceb popq %r14 + 0x41, 0x5f, //0x00000ced popq %r15 + 0x5d, //0x00000cef popq %rbp + 0xc3, //0x00000cf0 retq + //0x00000cf1 LBB0_139 + 0x45, 0x31, 0xc0, //0x00000cf1 xorl %r8d, %r8d + 0xe9, 0xea, 0xff, 0xff, 0xff, //0x00000cf4 jmp LBB0_138 + //0x00000cf9 LBB0_140 + 0x41, 0xbf, 0x6b, 0xff, 0xff, 0xff, //0x00000cf9 movl $-149, %r15d + 0x89, 0xc6, //0x00000cff movl %eax, %esi + 0xe9, 0x89, 0xf3, 0xff, 0xff, //0x00000d01 jmp LBB0_5 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d06 .p2align 4, 0x00 + //0x00000d10 _Digits + 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00000d10 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' + 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00000d20 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' + 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x00000d30 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' + 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x00000d40 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' + 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x00000d50 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' + 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x00000d60 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' + 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x00000d70 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' + 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x00000d80 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' + 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x00000d90 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' + 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x00000da0 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' + 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x00000db0 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' + 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x00000dc0 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' + 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x00000dd0 QUAD $0x3939383937393639 // .ascii 8, '96979899' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dd8 .p2align 4, 0x00 + //0x00000de0 _pow10_ceil_sig_f32.g + 0xf5, 0xfc, 0x43, 0x4b, 0x2c, 0xb3, 0xce, 0x81, //0x00000de0 .quad -9093133594791772939 + 0x32, 0xfc, 0x14, 0x5e, 0xf7, 0x5f, 0x42, 0xa2, //0x00000de8 .quad -6754730975062328270 + 0x3f, 0x3b, 0x9a, 0x35, 0xf5, 0xf7, 0xd2, 0xca, //0x00000df0 .quad -3831727700400522433 + 0x0e, 0xca, 0x00, 0x83, 0xf2, 0xb5, 0x87, 0xfd, //0x00000df8 .quad -177973607073265138 + 0x49, 0x7e, 0xe0, 0x91, 0xb7, 0xd1, 0x74, 0x9e, //0x00000e00 .quad -7028762532061872567 + 0xdb, 0x9d, 0x58, 0x76, 0x25, 0x06, 0x12, 0xc6, //0x00000e08 .quad -4174267146649952805 + 0x52, 0xc5, 0xee, 0xd3, 0xae, 0x87, 0x96, 0xf7, //0x00000e10 .quad -606147914885053102 + 0x53, 0x3b, 0x75, 0x44, 0xcd, 0x14, 0xbe, 0x9a, //0x00000e18 .quad -7296371474444240045 + 0x28, 0x8a, 0x92, 0x95, 0x00, 0x9a, 0x6d, 0xc1, //0x00000e20 .quad -4508778324627912152 + 0xb2, 0x2c, 0xf7, 0xba, 0x80, 0x00, 0xc9, 0xf1, //0x00000e28 .quad -1024286887357502286 + 0xef, 0x7b, 0xda, 0x74, 0x50, 0xa0, 0x1d, 0x97, //0x00000e30 .quad -7557708332239520785 + 0xeb, 0x1a, 0x11, 0x92, 0x64, 0x08, 0xe5, 0xbc, //0x00000e38 .quad -4835449396872013077 + 0xa6, 0x61, 0x95, 0xb6, 0x7d, 0x4a, 0x1e, 0xec, //0x00000e40 .quad -1432625727662628442 + 0x08, 0x5d, 0x1d, 0x92, 0x8e, 0xee, 0x92, 0x93, //0x00000e48 .quad -7812920107430224632 + 0x4a, 0xb4, 0xa4, 0x36, 0x32, 0xaa, 0x77, 0xb8, //0x00000e50 .quad -5154464115860392886 + 0x5c, 0xe1, 0x4d, 0xc4, 0xbe, 0x94, 0x95, 0xe6, //0x00000e58 .quad -1831394126398103204 + 0xda, 0xac, 0xb0, 0x3a, 0xf7, 0x7c, 0x1d, 0x90, //0x00000e60 .quad -8062150356639896358 + 0x10, 0xd8, 0x5c, 0x09, 0x35, 0xdc, 0x24, 0xb4, //0x00000e68 .quad -5466001927372482544 + 0x14, 0x0e, 0xb4, 0x4b, 0x42, 0x13, 0x2e, 0xe1, //0x00000e70 .quad -2220816390788215276 + 0xcc, 0x88, 0x50, 0x6f, 0x09, 0xcc, 0xbc, 0x8c, //0x00000e78 .quad -8305539271883716404 + 0xff, 0xaa, 0x24, 0xcb, 0x0b, 0xff, 0xeb, 0xaf, //0x00000e80 .quad -5770238071427257601 + 0xbf, 0xd5, 0xed, 0xbd, 0xce, 0xfe, 0xe6, 0xdb, //0x00000e88 .quad -2601111570856684097 + 0x98, 0xa5, 0xb4, 0x36, 0x41, 0x5f, 0x70, 0x89, //0x00000e90 .quad -8543223759426509416 + 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000e98 .quad -6067343680855748867 + 0xbd, 0x42, 0x7a, 0xe5, 0xd5, 0x94, 0xbf, 0xd6, //0x00000ea0 .quad -2972493582642298179 + 0xb6, 0x69, 0x6c, 0xaf, 0x05, 0xbd, 0x37, 0x86, //0x00000ea8 .quad -8775337516792518218 + 0x24, 0x84, 0x47, 0x1b, 0x47, 0xac, 0xc5, 0xa7, //0x00000eb0 .quad -6357485877563259868 + 0x2c, 0x65, 0x19, 0xe2, 0x58, 0x17, 0xb7, 0xd1, //0x00000eb8 .quad -3335171328526686932 + 0x3c, 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83, //0x00000ec0 .quad -9002011107970261188 + 0x0b, 0xd7, 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, //0x00000ec8 .quad -6640827866535438581 + 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00000ed0 .quad -3689348814741910323 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000ed8 .quad -9223372036854775808 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, //0x00000ee0 .quad -6917529027641081856 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, //0x00000ee8 .quad -4035225266123964416 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00000ef0 .quad -432345564227567616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9c, //0x00000ef8 .quad -7187745005283311616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, //0x00000f00 .quad -4372995238176751616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, //0x00000f08 .quad -854558029293551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x96, 0x98, //0x00000f10 .quad -7451627795949551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbc, 0xbe, //0x00000f18 .quad -4702848726509551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6b, 0xee, //0x00000f20 .quad -1266874889709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x95, //0x00000f28 .quad -7709325833709551616 + 0x00, 0x00, 0x00, 0x00, 0x40, 0xb7, 0x43, 0xba, //0x00000f30 .quad -5024971273709551616 + 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0xd4, 0xe8, //0x00000f38 .quad -1669528073709551616 + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xe7, 0x84, 0x91, //0x00000f40 .quad -7960984073709551616 + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x20, 0xe6, 0xb5, //0x00000f48 .quad -5339544073709551616 + 0x00, 0x00, 0x00, 0xa0, 0x31, 0xa9, 0x5f, 0xe3, //0x00000f50 .quad -2062744073709551616 + 0x00, 0x00, 0x00, 0x04, 0xbf, 0xc9, 0x1b, 0x8e, //0x00000f58 .quad -8206744073709551616 + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0xbc, 0xa2, 0xb1, //0x00000f60 .quad -5646744073709551616 + 0x00, 0x00, 0x40, 0x76, 0x3a, 0x6b, 0x0b, 0xde, //0x00000f68 .quad -2446744073709551616 + 0x00, 0x00, 0xe8, 0x89, 0x04, 0x23, 0xc7, 0x8a, //0x00000f70 .quad -8446744073709551616 + 0x00, 0x00, 0x62, 0xac, 0xc5, 0xeb, 0x78, 0xad, //0x00000f78 .quad -5946744073709551616 + 0x00, 0x80, 0x7a, 0x17, 0xb7, 0x26, 0xd7, 0xd8, //0x00000f80 .quad -2821744073709551616 + 0x00, 0x90, 0xac, 0x6e, 0x32, 0x78, 0x86, 0x87, //0x00000f88 .quad -8681119073709551616 + 0x00, 0xb4, 0x57, 0x0a, 0x3f, 0x16, 0x68, 0xa9, //0x00000f90 .quad -6239712823709551616 + 0x00, 0xa1, 0xed, 0xcc, 0xce, 0x1b, 0xc2, 0xd3, //0x00000f98 .quad -3187955011209551616 + 0xa0, 0x84, 0x14, 0x40, 0x61, 0x51, 0x59, 0x84, //0x00000fa0 .quad -8910000909647051616 + 0xc8, 0xa5, 0x19, 0x90, 0xb9, 0xa5, 0x6f, 0xa5, //0x00000fa8 .quad -6525815118631426616 + 0x3a, 0x0f, 0x20, 0xf4, 0x27, 0x8f, 0xcb, 0xce, //0x00000fb0 .quad -3545582879861895366 + 0x85, 0x09, 0x94, 0xf8, 0x78, 0x39, 0x3f, 0x81, //0x00000fb8 .quad -9133518327554766459 + 0xe6, 0x0b, 0xb9, 0x36, 0xd7, 0x07, 0x8f, 0xa1, //0x00000fc0 .quad -6805211891016070170 + 0xdf, 0x4e, 0x67, 0x04, 0xcd, 0xc9, 0xf2, 0xc9, //0x00000fc8 .quad -3894828845342699809 + 0x97, 0x22, 0x81, 0x45, 0x40, 0x7c, 0x6f, 0xfc, //0x00000fd0 .quad -256850038250986857 + 0x9e, 0xb5, 0x70, 0x2b, 0xa8, 0xad, 0xc5, 0x9d, //0x00000fd8 .quad -7078060301547948642 + 0x06, 0xe3, 0x4c, 0x36, 0x12, 0x19, 0x37, 0xc5, //0x00000fe0 .quad -4235889358507547898 + 0xc7, 0x1b, 0xe0, 0xc3, 0x56, 0xdf, 0x84, 0xf6, //0x00000fe8 .quad -683175679707046969 + 0x5d, 0x11, 0x6c, 0x3a, 0x96, 0x0b, 0x13, 0x9a, //0x00000ff0 .quad -7344513827457986211 + 0xb4, 0x15, 0x07, 0xc9, 0x7b, 0xce, 0x97, 0xc0, //0x00000ff8 .quad -4568956265895094860 + 0x21, 0xdb, 0x48, 0xbb, 0x1a, 0xc2, 0xbd, 0xf0, //0x00001000 .quad -1099509313941480671 + 0xf5, 0x88, 0x0d, 0xb5, 0x50, 0x99, 0x76, 0x96, //0x00001008 .quad -7604722348854507275 + 0x32, 0xeb, 0x50, 0xe2, 0xa4, 0x3f, 0x14, 0xbc, //0x00001010 .quad -4894216917640746190 + 0xfe, 0x25, 0xe5, 0x1a, 0x8e, 0x4f, 0x19, 0xeb, //0x00001018 .quad -1506085128623544834 + 0xbf, 0x37, 0xcf, 0xd0, 0xb8, 0xd1, 0xef, 0x92, //0x00001020 .quad -7858832233030797377 + 0xae, 0x05, 0x03, 0x05, 0x27, 0xc6, 0xab, 0xb7, //0x00001028 .quad -5211854272861108818 + 0x1a, 0xc7, 0x43, 0xc6, 0xb0, 0xb7, 0x96, 0xe5, //0x00001030 .quad -1903131822648998118 + 0x70, 0x5c, 0xea, 0x7b, 0xce, 0x32, 0x7e, 0x8f, //0x00001038 .quad -8106986416796705680 + 0x8c, 0xf3, 0xe4, 0x1a, 0x82, 0xbf, 0x5d, 0xb3, //0x00001040 .quad -5522047002568494196 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/f64toa.go b/vendor/github.com/bytedance/sonic/internal/native/sse/f64toa.go new file mode 100644 index 0000000..9cca710 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/f64toa.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_f64toa func(out unsafe.Pointer, val float64) (ret int) + +var S_f64toa uintptr + +//go:nosplit +func f64toa(out *byte, val float64) (ret int) { + return F_f64toa((rt.NoEscape(unsafe.Pointer(out))), val) +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/f64toa_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/f64toa_subr.go new file mode 100644 index 0000000..e04b0b0 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/f64toa_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__f64toa = 16 +) + +const ( + _stack__f64toa = 56 +) + +const ( + _size__f64toa = 4672 +) + +var ( + _pcsp__f64toa = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {4582, 56}, + {4586, 48}, + {4587, 40}, + {4589, 32}, + {4591, 24}, + {4593, 16}, + {4595, 8}, + {4596, 0}, + {4659, 56}, + } +) + +var _cfunc_f64toa = []loader.CFunc{ + {"_f64toa_entry", 0, _entry__f64toa, 0, nil}, + {"_f64toa", _entry__f64toa, _size__f64toa, _stack__f64toa, _pcsp__f64toa}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/f64toa_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/f64toa_text_amd64.go new file mode 100644 index 0000000..36bceb5 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/f64toa_text_amd64.go @@ -0,0 +1,2394 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_f64toa = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, // QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + //0x00000010 .p2align 4, 0x90 + //0x00000010 _f64toa + 0x55, //0x00000010 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000011 movq %rsp, %rbp + 0x41, 0x57, //0x00000014 pushq %r15 + 0x41, 0x56, //0x00000016 pushq %r14 + 0x41, 0x55, //0x00000018 pushq %r13 + 0x41, 0x54, //0x0000001a pushq %r12 + 0x53, //0x0000001c pushq %rbx + 0x50, //0x0000001d pushq %rax + 0x66, 0x48, 0x0f, 0x7e, 0xc2, //0x0000001e movq %xmm0, %rdx + 0x48, 0x89, 0xd0, //0x00000023 movq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x34, //0x00000026 shrq $52, %rax + 0x25, 0xff, 0x07, 0x00, 0x00, //0x0000002a andl $2047, %eax + 0x3d, 0xff, 0x07, 0x00, 0x00, //0x0000002f cmpl $2047, %eax + 0x0f, 0x84, 0xcb, 0x11, 0x00, 0x00, //0x00000034 je LBB0_165 + 0xc6, 0x07, 0x2d, //0x0000003a movb $45, (%rdi) + 0x48, 0x89, 0xd6, //0x0000003d movq %rdx, %rsi + 0x48, 0xc1, 0xee, 0x3f, //0x00000040 shrq $63, %rsi + 0x4c, 0x8d, 0x04, 0x37, //0x00000044 leaq (%rdi,%rsi), %r8 + 0x48, 0x8d, 0x0c, 0x55, 0x00, 0x00, 0x00, 0x00, //0x00000048 leaq (,%rdx,2), %rcx + 0x48, 0x85, 0xc9, //0x00000050 testq %rcx, %rcx + 0x0f, 0x84, 0x7e, 0x02, 0x00, 0x00, //0x00000053 je LBB0_6 + 0x49, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000059 movabsq $4503599627370495, %r11 + 0x4c, 0x21, 0xda, //0x00000063 andq %r11, %rdx + 0x85, 0xc0, //0x00000066 testl %eax, %eax + 0x0f, 0x84, 0x9f, 0x11, 0x00, 0x00, //0x00000068 je LBB0_166 + 0x49, 0xff, 0xc3, //0x0000006e incq %r11 + 0x49, 0x09, 0xd3, //0x00000071 orq %rdx, %r11 + 0x44, 0x8d, 0x90, 0xcd, 0xfb, 0xff, 0xff, //0x00000074 leal $-1075(%rax), %r10d + 0x8d, 0x88, 0x01, 0xfc, 0xff, 0xff, //0x0000007b leal $-1023(%rax), %ecx + 0x83, 0xf9, 0x34, //0x00000081 cmpl $52, %ecx + 0x0f, 0x87, 0x1d, 0x00, 0x00, 0x00, //0x00000084 ja LBB0_7 + 0xb9, 0x33, 0x04, 0x00, 0x00, //0x0000008a movl $1075, %ecx + 0x29, 0xc1, //0x0000008f subl %eax, %ecx + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000091 movq $-1, %rbx + 0x48, 0xd3, 0xe3, //0x00000098 shlq %cl, %rbx + 0x48, 0xf7, 0xd3, //0x0000009b notq %rbx + 0x49, 0x85, 0xdb, //0x0000009e testq %rbx, %r11 + 0x0f, 0x84, 0x43, 0x06, 0x00, 0x00, //0x000000a1 je LBB0_42 + //0x000000a7 LBB0_7 + 0x48, 0x89, 0x75, 0xd0, //0x000000a7 movq %rsi, $-48(%rbp) + //0x000000ab LBB0_8 + 0x48, 0x85, 0xd2, //0x000000ab testq %rdx, %rdx + 0x0f, 0x94, 0xc1, //0x000000ae sete %cl + 0x83, 0xf8, 0x01, //0x000000b1 cmpl $1, %eax + 0x0f, 0x97, 0xc0, //0x000000b4 seta %al + 0x20, 0xc8, //0x000000b7 andb %cl, %al + 0x0f, 0xb6, 0xc0, //0x000000b9 movzbl %al, %eax + 0x4e, 0x8d, 0x4c, 0x98, 0xfe, //0x000000bc leaq $-2(%rax,%r11,4), %r9 + 0x45, 0x69, 0xfa, 0x13, 0x44, 0x13, 0x00, //0x000000c1 imull $1262611, %r10d, %r15d + 0x31, 0xc9, //0x000000c8 xorl %ecx, %ecx + 0x84, 0xc0, //0x000000ca testb %al, %al + 0xb8, 0xff, 0xfe, 0x07, 0x00, //0x000000cc movl $524031, %eax + 0x0f, 0x44, 0xc1, //0x000000d1 cmovel %ecx, %eax + 0x41, 0x29, 0xc7, //0x000000d4 subl %eax, %r15d + 0x41, 0xc1, 0xff, 0x16, //0x000000d7 sarl $22, %r15d + 0x41, 0x69, 0xcf, 0xb1, 0x6c, 0xe5, 0xff, //0x000000db imull $-1741647, %r15d, %ecx + 0xc1, 0xe9, 0x13, //0x000000e2 shrl $19, %ecx + 0x44, 0x01, 0xd1, //0x000000e5 addl %r10d, %ecx + 0xb8, 0x24, 0x01, 0x00, 0x00, //0x000000e8 movl $292, %eax + 0x44, 0x29, 0xf8, //0x000000ed subl %r15d, %eax + 0x48, 0x98, //0x000000f0 cltq + 0x48, 0xc1, 0xe0, 0x04, //0x000000f2 shlq $4, %rax + 0x48, 0x8d, 0x15, 0x23, 0x12, 0x00, 0x00, //0x000000f6 leaq $4643(%rip), %rdx /* _pow10_ceil_sig.g+0(%rip) */ + 0x4c, 0x8b, 0x24, 0x10, //0x000000fd movq (%rax,%rdx), %r12 + 0x4c, 0x8b, 0x6c, 0x10, 0x08, //0x00000101 movq $8(%rax,%rdx), %r13 + 0xfe, 0xc1, //0x00000106 incb %cl + 0x49, 0xd3, 0xe1, //0x00000108 shlq %cl, %r9 + 0x4c, 0x89, 0xc8, //0x0000010b movq %r9, %rax + 0x49, 0xf7, 0xe5, //0x0000010e mulq %r13 + 0x49, 0x89, 0xd2, //0x00000111 movq %rdx, %r10 + 0x4c, 0x89, 0xc8, //0x00000114 movq %r9, %rax + 0x49, 0xf7, 0xe4, //0x00000117 mulq %r12 + 0x4a, 0x8d, 0x34, 0x9d, 0x00, 0x00, 0x00, 0x00, //0x0000011a leaq (,%r11,4), %rsi + 0x4c, 0x01, 0xd0, //0x00000122 addq %r10, %rax + 0x48, 0x83, 0xd2, 0x00, //0x00000125 adcq $0, %rdx + 0x31, 0xdb, //0x00000129 xorl %ebx, %ebx + 0x48, 0x83, 0xf8, 0x01, //0x0000012b cmpq $1, %rax + 0x0f, 0x97, 0xc3, //0x0000012f seta %bl + 0x48, 0x09, 0xd3, //0x00000132 orq %rdx, %rbx + 0x48, 0xd3, 0xe6, //0x00000135 shlq %cl, %rsi + 0x48, 0x89, 0xf0, //0x00000138 movq %rsi, %rax + 0x49, 0xf7, 0xe5, //0x0000013b mulq %r13 + 0x49, 0x89, 0xd2, //0x0000013e movq %rdx, %r10 + 0x48, 0x89, 0xf0, //0x00000141 movq %rsi, %rax + 0x49, 0xf7, 0xe4, //0x00000144 mulq %r12 + 0x49, 0x89, 0xd1, //0x00000147 movq %rdx, %r9 + 0x4a, 0x8d, 0x34, 0x9d, 0x02, 0x00, 0x00, 0x00, //0x0000014a leaq $2(,%r11,4), %rsi + 0x4c, 0x01, 0xd0, //0x00000152 addq %r10, %rax + 0x49, 0x83, 0xd1, 0x00, //0x00000155 adcq $0, %r9 + 0x45, 0x31, 0xd2, //0x00000159 xorl %r10d, %r10d + 0x48, 0x83, 0xf8, 0x01, //0x0000015c cmpq $1, %rax + 0x41, 0x0f, 0x97, 0xc2, //0x00000160 seta %r10b + 0x4d, 0x09, 0xca, //0x00000164 orq %r9, %r10 + 0x48, 0xd3, 0xe6, //0x00000167 shlq %cl, %rsi + 0x48, 0x89, 0xf0, //0x0000016a movq %rsi, %rax + 0x49, 0xf7, 0xe5, //0x0000016d mulq %r13 + 0x48, 0x89, 0xd1, //0x00000170 movq %rdx, %rcx + 0x48, 0x89, 0xf0, //0x00000173 movq %rsi, %rax + 0x49, 0xf7, 0xe4, //0x00000176 mulq %r12 + 0x48, 0x01, 0xc8, //0x00000179 addq %rcx, %rax + 0x48, 0x83, 0xd2, 0x00, //0x0000017c adcq $0, %rdx + 0x31, 0xf6, //0x00000180 xorl %esi, %esi + 0x48, 0x83, 0xf8, 0x01, //0x00000182 cmpq $1, %rax + 0x40, 0x0f, 0x97, 0xc6, //0x00000186 seta %sil + 0x48, 0x09, 0xd6, //0x0000018a orq %rdx, %rsi + 0x41, 0x83, 0xe3, 0x01, //0x0000018d andl $1, %r11d + 0x4c, 0x01, 0xdb, //0x00000191 addq %r11, %rbx + 0x4c, 0x29, 0xde, //0x00000194 subq %r11, %rsi + 0x49, 0x83, 0xfa, 0x28, //0x00000197 cmpq $40, %r10 + 0x0f, 0x82, 0x01, 0x01, 0x00, 0x00, //0x0000019b jb LBB0_20 + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000001a1 movabsq $-3689348814741910323, %rcx + 0x4c, 0x89, 0xc8, //0x000001ab movq %r9, %rax + 0x48, 0xf7, 0xe1, //0x000001ae mulq %rcx + 0x49, 0x89, 0xd6, //0x000001b1 movq %rdx, %r14 + 0x49, 0xc1, 0xee, 0x05, //0x000001b4 shrq $5, %r14 + 0x4a, 0x8d, 0x04, 0xf5, 0x00, 0x00, 0x00, 0x00, //0x000001b8 leaq (,%r14,8), %rax + 0x48, 0x8d, 0x14, 0x80, //0x000001c0 leaq (%rax,%rax,4), %rdx + 0x48, 0x39, 0xd3, //0x000001c4 cmpq %rdx, %rbx + 0x41, 0x0f, 0x96, 0xc3, //0x000001c7 setbe %r11b + 0x48, 0x8d, 0x44, 0x80, 0x28, //0x000001cb leaq $40(%rax,%rax,4), %rax + 0x48, 0x39, 0xf0, //0x000001d0 cmpq %rsi, %rax + 0x0f, 0x96, 0xc2, //0x000001d3 setbe %dl + 0x41, 0x38, 0xd3, //0x000001d6 cmpb %dl, %r11b + 0x0f, 0x84, 0xc3, 0x00, 0x00, 0x00, //0x000001d9 je LBB0_20 + 0x31, 0xd2, //0x000001df xorl %edx, %edx + 0x48, 0x39, 0xf0, //0x000001e1 cmpq %rsi, %rax + 0x0f, 0x96, 0xc2, //0x000001e4 setbe %dl + 0x49, 0x01, 0xd6, //0x000001e7 addq %rdx, %r14 + 0x41, 0xff, 0xc7, //0x000001ea incl %r15d + 0x49, 0xba, 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, //0x000001ed movabsq $8589934560, %r10 + 0x49, 0x8d, 0x82, 0x1f, 0xe4, 0x0b, 0x54, //0x000001f7 leaq $1410065439(%r10), %rax + 0x49, 0x39, 0xc6, //0x000001fe cmpq %rax, %r14 + 0x0f, 0x87, 0x1d, 0x01, 0x00, 0x00, //0x00000201 ja LBB0_25 + //0x00000207 LBB0_11 + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000207 movl $1, %eax + 0x49, 0x83, 0xfe, 0x0a, //0x0000020c cmpq $10, %r14 + 0x0f, 0x82, 0x9e, 0x01, 0x00, 0x00, //0x00000210 jb LBB0_32 + 0xb8, 0x02, 0x00, 0x00, 0x00, //0x00000216 movl $2, %eax + 0x49, 0x83, 0xfe, 0x64, //0x0000021b cmpq $100, %r14 + 0x0f, 0x82, 0x8f, 0x01, 0x00, 0x00, //0x0000021f jb LBB0_32 + 0xb8, 0x03, 0x00, 0x00, 0x00, //0x00000225 movl $3, %eax + 0x49, 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x0000022a cmpq $1000, %r14 + 0x0f, 0x82, 0x7d, 0x01, 0x00, 0x00, //0x00000231 jb LBB0_32 + 0xb8, 0x04, 0x00, 0x00, 0x00, //0x00000237 movl $4, %eax + 0x49, 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x0000023c cmpq $10000, %r14 + 0x0f, 0x82, 0x6b, 0x01, 0x00, 0x00, //0x00000243 jb LBB0_32 + 0xb8, 0x05, 0x00, 0x00, 0x00, //0x00000249 movl $5, %eax + 0x49, 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x0000024e cmpq $100000, %r14 + 0x0f, 0x82, 0x59, 0x01, 0x00, 0x00, //0x00000255 jb LBB0_32 + 0xb8, 0x06, 0x00, 0x00, 0x00, //0x0000025b movl $6, %eax + 0x49, 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x00000260 cmpq $1000000, %r14 + 0x0f, 0x82, 0x47, 0x01, 0x00, 0x00, //0x00000267 jb LBB0_32 + 0xb8, 0x07, 0x00, 0x00, 0x00, //0x0000026d movl $7, %eax + 0x49, 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x00000272 cmpq $10000000, %r14 + 0x0f, 0x82, 0x35, 0x01, 0x00, 0x00, //0x00000279 jb LBB0_32 + 0xb8, 0x08, 0x00, 0x00, 0x00, //0x0000027f movl $8, %eax + 0x49, 0x81, 0xfe, 0x00, 0xe1, 0xf5, 0x05, //0x00000284 cmpq $100000000, %r14 + 0x0f, 0x82, 0x23, 0x01, 0x00, 0x00, //0x0000028b jb LBB0_32 + 0x49, 0x81, 0xfe, 0x00, 0xca, 0x9a, 0x3b, //0x00000291 cmpq $1000000000, %r14 + 0xb8, 0x0a, 0x00, 0x00, 0x00, //0x00000298 movl $10, %eax + 0xe9, 0x0f, 0x01, 0x00, 0x00, //0x0000029d jmp LBB0_31 + //0x000002a2 LBB0_20 + 0x4d, 0x89, 0xcb, //0x000002a2 movq %r9, %r11 + 0x49, 0xc1, 0xeb, 0x02, //0x000002a5 shrq $2, %r11 + 0x4c, 0x89, 0xca, //0x000002a9 movq %r9, %rdx + 0x48, 0x83, 0xe2, 0xfc, //0x000002ac andq $-4, %rdx + 0x48, 0x39, 0xd3, //0x000002b0 cmpq %rdx, %rbx + 0x0f, 0x96, 0xc1, //0x000002b3 setbe %cl + 0x48, 0x8d, 0x5a, 0x04, //0x000002b6 leaq $4(%rdx), %rbx + 0x48, 0x39, 0xf3, //0x000002ba cmpq %rsi, %rbx + 0x0f, 0x96, 0xc0, //0x000002bd setbe %al + 0x38, 0xc1, //0x000002c0 cmpb %al, %cl + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x000002c2 je LBB0_22 + 0x45, 0x31, 0xf6, //0x000002c8 xorl %r14d, %r14d + 0x48, 0x39, 0xf3, //0x000002cb cmpq %rsi, %rbx + 0x41, 0x0f, 0x96, 0xc6, //0x000002ce setbe %r14b + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x000002d2 jmp LBB0_24 + //0x000002d7 LBB0_6 + 0x41, 0xc6, 0x00, 0x30, //0x000002d7 movb $48, (%r8) + 0x41, 0x29, 0xf8, //0x000002db subl %edi, %r8d + 0x41, 0xff, 0xc0, //0x000002de incl %r8d + 0xe9, 0x0d, 0x0f, 0x00, 0x00, //0x000002e1 jmp LBB0_164 + //0x000002e6 LBB0_22 + 0x48, 0x83, 0xca, 0x02, //0x000002e6 orq $2, %rdx + 0x41, 0xbe, 0x01, 0x00, 0x00, 0x00, //0x000002ea movl $1, %r14d + 0x49, 0x39, 0xd2, //0x000002f0 cmpq %rdx, %r10 + 0x0f, 0x87, 0x0e, 0x00, 0x00, 0x00, //0x000002f3 ja LBB0_24 + 0x0f, 0x94, 0xc0, //0x000002f9 sete %al + 0x41, 0xc0, 0xe9, 0x02, //0x000002fc shrb $2, %r9b + 0x41, 0x20, 0xc1, //0x00000300 andb %al, %r9b + 0x45, 0x0f, 0xb6, 0xf1, //0x00000303 movzbl %r9b, %r14d + //0x00000307 LBB0_24 + 0x4d, 0x01, 0xde, //0x00000307 addq %r11, %r14 + 0x49, 0xba, 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, //0x0000030a movabsq $8589934560, %r10 + 0x49, 0x8d, 0x82, 0x1f, 0xe4, 0x0b, 0x54, //0x00000314 leaq $1410065439(%r10), %rax + 0x49, 0x39, 0xc6, //0x0000031b cmpq %rax, %r14 + 0x0f, 0x86, 0xe3, 0xfe, 0xff, 0xff, //0x0000031e jbe LBB0_11 + //0x00000324 LBB0_25 + 0x4c, 0x89, 0xf2, //0x00000324 movq %r14, %rdx + 0x48, 0xc1, 0xea, 0x0b, //0x00000327 shrq $11, %rdx + 0xb8, 0x0b, 0x00, 0x00, 0x00, //0x0000032b movl $11, %eax + 0x48, 0x81, 0xfa, 0xdd, 0x0e, 0xe9, 0x02, //0x00000330 cmpq $48828125, %rdx + 0x0f, 0x82, 0x77, 0x00, 0x00, 0x00, //0x00000337 jb LBB0_32 + 0x4c, 0x89, 0xf2, //0x0000033d movq %r14, %rdx + 0x48, 0xc1, 0xea, 0x0c, //0x00000340 shrq $12, %rdx + 0xb8, 0x0c, 0x00, 0x00, 0x00, //0x00000344 movl $12, %eax + 0x48, 0x81, 0xfa, 0x51, 0x4a, 0x8d, 0x0e, //0x00000349 cmpq $244140625, %rdx + 0x0f, 0x82, 0x5e, 0x00, 0x00, 0x00, //0x00000350 jb LBB0_32 + 0x4c, 0x89, 0xf2, //0x00000356 movq %r14, %rdx + 0x48, 0xc1, 0xea, 0x0d, //0x00000359 shrq $13, %rdx + 0xb8, 0x0d, 0x00, 0x00, 0x00, //0x0000035d movl $13, %eax + 0x48, 0x81, 0xfa, 0x95, 0x73, 0xc2, 0x48, //0x00000362 cmpq $1220703125, %rdx + 0x0f, 0x82, 0x45, 0x00, 0x00, 0x00, //0x00000369 jb LBB0_32 + 0xb8, 0x0e, 0x00, 0x00, 0x00, //0x0000036f movl $14, %eax + 0x48, 0xba, 0x00, 0x40, 0x7a, 0x10, 0xf3, 0x5a, 0x00, 0x00, //0x00000374 movabsq $100000000000000, %rdx + 0x49, 0x39, 0xd6, //0x0000037e cmpq %rdx, %r14 + 0x0f, 0x82, 0x2d, 0x00, 0x00, 0x00, //0x00000381 jb LBB0_32 + 0xb8, 0x0f, 0x00, 0x00, 0x00, //0x00000387 movl $15, %eax + 0x48, 0xba, 0x00, 0x80, 0xc6, 0xa4, 0x7e, 0x8d, 0x03, 0x00, //0x0000038c movabsq $1000000000000000, %rdx + 0x49, 0x39, 0xd6, //0x00000396 cmpq %rdx, %r14 + 0x0f, 0x82, 0x15, 0x00, 0x00, 0x00, //0x00000399 jb LBB0_32 + 0x48, 0xb8, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x0000039f movabsq $10000000000000000, %rax + 0x49, 0x39, 0xc6, //0x000003a9 cmpq %rax, %r14 + 0xb8, 0x11, 0x00, 0x00, 0x00, //0x000003ac movl $17, %eax + //0x000003b1 LBB0_31 + 0x83, 0xd8, 0x00, //0x000003b1 sbbl $0, %eax + //0x000003b4 LBB0_32 + 0x46, 0x8d, 0x0c, 0x38, //0x000003b4 leal (%rax,%r15), %r9d + 0x42, 0x8d, 0x54, 0x38, 0x05, //0x000003b8 leal $5(%rax,%r15), %edx + 0x41, 0x89, 0xc4, //0x000003bd movl %eax, %r12d + 0x83, 0xfa, 0x1b, //0x000003c0 cmpl $27, %edx + 0x0f, 0x82, 0xdb, 0x00, 0x00, 0x00, //0x000003c3 jb LBB0_36 + 0x4f, 0x8d, 0x7c, 0x20, 0x01, //0x000003c9 leaq $1(%r8,%r12), %r15 + 0x4c, 0x89, 0xf0, //0x000003ce movq %r14, %rax + 0x48, 0xc1, 0xe8, 0x20, //0x000003d1 shrq $32, %rax + 0x0f, 0x84, 0xa8, 0x01, 0x00, 0x00, //0x000003d5 je LBB0_40 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x000003db movabsq $-6067343680855748867, %rdx + 0x4c, 0x89, 0xf0, //0x000003e5 movq %r14, %rax + 0x48, 0xf7, 0xe2, //0x000003e8 mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x000003eb shrq $26, %rdx + 0x69, 0xda, 0x00, 0x1f, 0x0a, 0xfa, //0x000003ef imull $-100000000, %edx, %ebx + 0x44, 0x01, 0xf3, //0x000003f5 addl %r14d, %ebx + 0x0f, 0x84, 0xc3, 0x07, 0x00, 0x00, //0x000003f8 je LBB0_86 + 0x89, 0xd8, //0x000003fe movl %ebx, %eax + 0x41, 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x00000400 movl $3518437209, %r10d + 0x49, 0x0f, 0xaf, 0xc2, //0x00000406 imulq %r10, %rax + 0x48, 0xc1, 0xe8, 0x2d, //0x0000040a shrq $45, %rax + 0x69, 0xc8, 0x10, 0x27, 0x00, 0x00, //0x0000040e imull $10000, %eax, %ecx + 0x29, 0xcb, //0x00000414 subl %ecx, %ebx + 0x48, 0x89, 0xc1, //0x00000416 movq %rax, %rcx + 0x49, 0x0f, 0xaf, 0xca, //0x00000419 imulq %r10, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x0000041d shrq $45, %rcx + 0x69, 0xc9, 0x10, 0x27, 0x00, 0x00, //0x00000421 imull $10000, %ecx, %ecx + 0x29, 0xc8, //0x00000427 subl %ecx, %eax + 0x0f, 0xb7, 0xcb, //0x00000429 movzwl %bx, %ecx + 0xc1, 0xe9, 0x02, //0x0000042c shrl $2, %ecx + 0x44, 0x69, 0xd1, 0x7b, 0x14, 0x00, 0x00, //0x0000042f imull $5243, %ecx, %r10d + 0x41, 0xc1, 0xea, 0x11, //0x00000436 shrl $17, %r10d + 0x41, 0x6b, 0xca, 0x64, //0x0000043a imull $100, %r10d, %ecx + 0x29, 0xcb, //0x0000043e subl %ecx, %ebx + 0x44, 0x0f, 0xb7, 0xdb, //0x00000440 movzwl %bx, %r11d + 0x0f, 0xb7, 0xd8, //0x00000444 movzwl %ax, %ebx + 0xc1, 0xeb, 0x02, //0x00000447 shrl $2, %ebx + 0x69, 0xdb, 0x7b, 0x14, 0x00, 0x00, //0x0000044a imull $5243, %ebx, %ebx + 0xc1, 0xeb, 0x11, //0x00000450 shrl $17, %ebx + 0x6b, 0xcb, 0x64, //0x00000453 imull $100, %ebx, %ecx + 0x29, 0xc8, //0x00000456 subl %ecx, %eax + 0x44, 0x0f, 0xb7, 0xf0, //0x00000458 movzwl %ax, %r14d + 0x48, 0x8d, 0x0d, 0xed, 0x0d, 0x00, 0x00, //0x0000045c leaq $3565(%rip), %rcx /* _Digits+0(%rip) */ + 0x42, 0x0f, 0xb7, 0x04, 0x59, //0x00000463 movzwl (%rcx,%r11,2), %eax + 0x66, 0x41, 0x89, 0x47, 0xfe, //0x00000468 movw %ax, $-2(%r15) + 0x42, 0x0f, 0xb7, 0x04, 0x51, //0x0000046d movzwl (%rcx,%r10,2), %eax + 0x66, 0x41, 0x89, 0x47, 0xfc, //0x00000472 movw %ax, $-4(%r15) + 0x42, 0x0f, 0xb7, 0x04, 0x71, //0x00000477 movzwl (%rcx,%r14,2), %eax + 0x66, 0x41, 0x89, 0x47, 0xfa, //0x0000047c movw %ax, $-6(%r15) + 0x0f, 0xb7, 0x04, 0x59, //0x00000481 movzwl (%rcx,%rbx,2), %eax + 0x66, 0x41, 0x89, 0x47, 0xf8, //0x00000485 movw %ax, $-8(%r15) + 0x45, 0x31, 0xd2, //0x0000048a xorl %r10d, %r10d + 0x4d, 0x8d, 0x67, 0xf8, //0x0000048d leaq $-8(%r15), %r12 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x00000491 cmpl $10000, %edx + 0x0f, 0x83, 0xfb, 0x00, 0x00, 0x00, //0x00000497 jae LBB0_88 + //0x0000049d LBB0_41 + 0x89, 0xd3, //0x0000049d movl %edx, %ebx + 0xe9, 0x56, 0x01, 0x00, 0x00, //0x0000049f jmp LBB0_90 + //0x000004a4 LBB0_36 + 0x45, 0x85, 0xff, //0x000004a4 testl %r15d, %r15d + 0x0f, 0x88, 0x61, 0x04, 0x00, 0x00, //0x000004a7 js LBB0_57 + 0x4b, 0x8d, 0x1c, 0x20, //0x000004ad leaq (%r8,%r12), %rbx + 0x4c, 0x89, 0xf0, //0x000004b1 movq %r14, %rax + 0x48, 0xc1, 0xe8, 0x20, //0x000004b4 shrq $32, %rax + 0x0f, 0x84, 0xed, 0x04, 0x00, 0x00, //0x000004b8 je LBB0_62 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x000004be movabsq $-6067343680855748867, %rdx + 0x4c, 0x89, 0xf0, //0x000004c8 movq %r14, %rax + 0x48, 0xf7, 0xe2, //0x000004cb mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x000004ce shrq $26, %rdx + 0x69, 0xf2, 0x00, 0x1f, 0x0a, 0xfa, //0x000004d2 imull $-100000000, %edx, %esi + 0x44, 0x01, 0xf6, //0x000004d8 addl %r14d, %esi + 0x41, 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000004db movl $3518437209, %r10d + 0x48, 0x89, 0xf0, //0x000004e1 movq %rsi, %rax + 0x49, 0x0f, 0xaf, 0xc2, //0x000004e4 imulq %r10, %rax + 0x48, 0xc1, 0xe8, 0x2d, //0x000004e8 shrq $45, %rax + 0x69, 0xc8, 0x10, 0x27, 0x00, 0x00, //0x000004ec imull $10000, %eax, %ecx + 0x29, 0xce, //0x000004f2 subl %ecx, %esi + 0x48, 0x89, 0xc1, //0x000004f4 movq %rax, %rcx + 0x49, 0x0f, 0xaf, 0xca, //0x000004f7 imulq %r10, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x000004fb shrq $45, %rcx + 0x69, 0xc9, 0x10, 0x27, 0x00, 0x00, //0x000004ff imull $10000, %ecx, %ecx + 0x29, 0xc8, //0x00000505 subl %ecx, %eax + 0x0f, 0xb7, 0xce, //0x00000507 movzwl %si, %ecx + 0xc1, 0xe9, 0x02, //0x0000050a shrl $2, %ecx + 0x44, 0x69, 0xd1, 0x7b, 0x14, 0x00, 0x00, //0x0000050d imull $5243, %ecx, %r10d + 0x41, 0xc1, 0xea, 0x11, //0x00000514 shrl $17, %r10d + 0x41, 0x6b, 0xca, 0x64, //0x00000518 imull $100, %r10d, %ecx + 0x29, 0xce, //0x0000051c subl %ecx, %esi + 0x44, 0x0f, 0xb7, 0xde, //0x0000051e movzwl %si, %r11d + 0x0f, 0xb7, 0xf0, //0x00000522 movzwl %ax, %esi + 0xc1, 0xee, 0x02, //0x00000525 shrl $2, %esi + 0x69, 0xf6, 0x7b, 0x14, 0x00, 0x00, //0x00000528 imull $5243, %esi, %esi + 0xc1, 0xee, 0x11, //0x0000052e shrl $17, %esi + 0x6b, 0xce, 0x64, //0x00000531 imull $100, %esi, %ecx + 0x29, 0xc8, //0x00000534 subl %ecx, %eax + 0x44, 0x0f, 0xb7, 0xf8, //0x00000536 movzwl %ax, %r15d + 0x48, 0x8d, 0x0d, 0x0f, 0x0d, 0x00, 0x00, //0x0000053a leaq $3343(%rip), %rcx /* _Digits+0(%rip) */ + 0x42, 0x0f, 0xb7, 0x04, 0x59, //0x00000541 movzwl (%rcx,%r11,2), %eax + 0x66, 0x89, 0x43, 0xfe, //0x00000546 movw %ax, $-2(%rbx) + 0x42, 0x0f, 0xb7, 0x04, 0x51, //0x0000054a movzwl (%rcx,%r10,2), %eax + 0x66, 0x89, 0x43, 0xfc, //0x0000054f movw %ax, $-4(%rbx) + 0x42, 0x0f, 0xb7, 0x04, 0x79, //0x00000553 movzwl (%rcx,%r15,2), %eax + 0x66, 0x89, 0x43, 0xfa, //0x00000558 movw %ax, $-6(%rbx) + 0x48, 0x8d, 0x43, 0xf8, //0x0000055c leaq $-8(%rbx), %rax + 0x0f, 0xb7, 0x0c, 0x71, //0x00000560 movzwl (%rcx,%rsi,2), %ecx + 0x66, 0x89, 0x4b, 0xf8, //0x00000564 movw %cx, $-8(%rbx) + 0x41, 0x89, 0xd6, //0x00000568 movl %edx, %r14d + 0x49, 0x89, 0xff, //0x0000056b movq %rdi, %r15 + 0x41, 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x0000056e cmpl $10000, %r14d + 0x0f, 0x83, 0x43, 0x04, 0x00, 0x00, //0x00000575 jae LBB0_63 + //0x0000057b LBB0_39 + 0x44, 0x89, 0xf2, //0x0000057b movl %r14d, %edx + 0xe9, 0x97, 0x04, 0x00, 0x00, //0x0000057e jmp LBB0_65 + //0x00000583 LBB0_40 + 0x45, 0x31, 0xd2, //0x00000583 xorl %r10d, %r10d + 0x44, 0x89, 0xf2, //0x00000586 movl %r14d, %edx + 0x4d, 0x89, 0xfc, //0x00000589 movq %r15, %r12 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x0000058c cmpl $10000, %edx + 0x0f, 0x82, 0x05, 0xff, 0xff, 0xff, //0x00000592 jb LBB0_41 + //0x00000598 LBB0_88 + 0x41, 0xbb, 0x59, 0x17, 0xb7, 0xd1, //0x00000598 movl $3518437209, %r11d + 0x4c, 0x8d, 0x35, 0xab, 0x0c, 0x00, 0x00, //0x0000059e leaq $3243(%rip), %r14 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000005a5 .p2align 4, 0x90 + //0x000005b0 LBB0_89 + 0x89, 0xd3, //0x000005b0 movl %edx, %ebx + 0x49, 0x0f, 0xaf, 0xdb, //0x000005b2 imulq %r11, %rbx + 0x48, 0xc1, 0xeb, 0x2d, //0x000005b6 shrq $45, %rbx + 0x69, 0xc3, 0xf0, 0xd8, 0xff, 0xff, //0x000005ba imull $-10000, %ebx, %eax + 0x01, 0xd0, //0x000005c0 addl %edx, %eax + 0x48, 0x69, 0xf0, 0x1f, 0x85, 0xeb, 0x51, //0x000005c2 imulq $1374389535, %rax, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x000005c9 shrq $37, %rsi + 0x6b, 0xce, 0x64, //0x000005cd imull $100, %esi, %ecx + 0x29, 0xc8, //0x000005d0 subl %ecx, %eax + 0x41, 0x0f, 0xb7, 0x04, 0x46, //0x000005d2 movzwl (%r14,%rax,2), %eax + 0x66, 0x41, 0x89, 0x44, 0x24, 0xfe, //0x000005d7 movw %ax, $-2(%r12) + 0x41, 0x0f, 0xb7, 0x04, 0x76, //0x000005dd movzwl (%r14,%rsi,2), %eax + 0x66, 0x41, 0x89, 0x44, 0x24, 0xfc, //0x000005e2 movw %ax, $-4(%r12) + 0x49, 0x83, 0xc4, 0xfc, //0x000005e8 addq $-4, %r12 + 0x81, 0xfa, 0xff, 0xe0, 0xf5, 0x05, //0x000005ec cmpl $99999999, %edx + 0x89, 0xda, //0x000005f2 movl %ebx, %edx + 0x0f, 0x87, 0xb6, 0xff, 0xff, 0xff, //0x000005f4 ja LBB0_89 + //0x000005fa LBB0_90 + 0x83, 0xfb, 0x64, //0x000005fa cmpl $100, %ebx + 0x0f, 0x82, 0x2e, 0x00, 0x00, 0x00, //0x000005fd jb LBB0_92 + 0x0f, 0xb7, 0xc3, //0x00000603 movzwl %bx, %eax + 0xc1, 0xe8, 0x02, //0x00000606 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000609 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x0000060f shrl $17, %eax + 0x6b, 0xc8, 0x64, //0x00000612 imull $100, %eax, %ecx + 0x29, 0xcb, //0x00000615 subl %ecx, %ebx + 0x0f, 0xb7, 0xcb, //0x00000617 movzwl %bx, %ecx + 0x48, 0x8d, 0x15, 0x2f, 0x0c, 0x00, 0x00, //0x0000061a leaq $3119(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000621 movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x41, 0x89, 0x4c, 0x24, 0xfe, //0x00000625 movw %cx, $-2(%r12) + 0x49, 0x83, 0xc4, 0xfe, //0x0000062b addq $-2, %r12 + 0x89, 0xc3, //0x0000062f movl %eax, %ebx + //0x00000631 LBB0_92 + 0x49, 0x8d, 0x40, 0x01, //0x00000631 leaq $1(%r8), %rax + 0x83, 0xfb, 0x0a, //0x00000635 cmpl $10, %ebx + 0x0f, 0x82, 0x18, 0x00, 0x00, 0x00, //0x00000638 jb LBB0_94 + 0x89, 0xd9, //0x0000063e movl %ebx, %ecx + 0x48, 0x8d, 0x15, 0x09, 0x0c, 0x00, 0x00, //0x00000640 leaq $3081(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000647 movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x41, 0x89, 0x4c, 0x24, 0xfe, //0x0000064b movw %cx, $-2(%r12) + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x00000651 jmp LBB0_95 + //0x00000656 LBB0_94 + 0x80, 0xc3, 0x30, //0x00000656 addb $48, %bl + 0x88, 0x18, //0x00000659 movb %bl, (%rax) + //0x0000065b LBB0_95 + 0x4d, 0x29, 0xd7, //0x0000065b subq %r10, %r15 + 0x90, 0x90, //0x0000065e .p2align 4, 0x90 + //0x00000660 LBB0_96 + 0x41, 0x80, 0x7f, 0xff, 0x30, //0x00000660 cmpb $48, $-1(%r15) + 0x4d, 0x8d, 0x7f, 0xff, //0x00000665 leaq $-1(%r15), %r15 + 0x0f, 0x84, 0xf1, 0xff, 0xff, 0xff, //0x00000669 je LBB0_96 + 0x41, 0x8a, 0x48, 0x01, //0x0000066f movb $1(%r8), %cl + 0x41, 0x88, 0x08, //0x00000673 movb %cl, (%r8) + 0x49, 0x8d, 0x4f, 0x01, //0x00000676 leaq $1(%r15), %rcx + 0x48, 0x89, 0xca, //0x0000067a movq %rcx, %rdx + 0x48, 0x29, 0xc2, //0x0000067d subq %rax, %rdx + 0x48, 0x83, 0xfa, 0x02, //0x00000680 cmpq $2, %rdx + 0x0f, 0x8c, 0x06, 0x00, 0x00, 0x00, //0x00000684 jl LBB0_99 + 0xc6, 0x00, 0x2e, //0x0000068a movb $46, (%rax) + 0x49, 0x89, 0xcf, //0x0000068d movq %rcx, %r15 + //0x00000690 LBB0_99 + 0x41, 0xc6, 0x07, 0x65, //0x00000690 movb $101, (%r15) + 0x45, 0x85, 0xc9, //0x00000694 testl %r9d, %r9d + 0x0f, 0x8e, 0xd1, 0x02, 0x00, 0x00, //0x00000697 jle LBB0_102 + 0x41, 0xff, 0xc9, //0x0000069d decl %r9d + 0x41, 0xc6, 0x47, 0x01, 0x2b, //0x000006a0 movb $43, $1(%r15) + 0x44, 0x89, 0xc8, //0x000006a5 movl %r9d, %eax + 0x83, 0xf8, 0x64, //0x000006a8 cmpl $100, %eax + 0x0f, 0x8c, 0xd3, 0x02, 0x00, 0x00, //0x000006ab jl LBB0_103 + //0x000006b1 LBB0_101 + 0x89, 0xc1, //0x000006b1 movl %eax, %ecx + 0xba, 0xcd, 0xcc, 0xcc, 0xcc, //0x000006b3 movl $3435973837, %edx + 0x48, 0x0f, 0xaf, 0xd1, //0x000006b8 imulq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x23, //0x000006bc shrq $35, %rdx + 0x8d, 0x0c, 0x12, //0x000006c0 leal (%rdx,%rdx), %ecx + 0x8d, 0x0c, 0x89, //0x000006c3 leal (%rcx,%rcx,4), %ecx + 0x29, 0xc8, //0x000006c6 subl %ecx, %eax + 0x48, 0x8d, 0x0d, 0x81, 0x0b, 0x00, 0x00, //0x000006c8 leaq $2945(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x51, //0x000006cf movzwl (%rcx,%rdx,2), %ecx + 0x66, 0x41, 0x89, 0x4f, 0x02, //0x000006d3 movw %cx, $2(%r15) + 0x0c, 0x30, //0x000006d8 orb $48, %al + 0x41, 0x88, 0x47, 0x04, //0x000006da movb %al, $4(%r15) + 0x49, 0x83, 0xc7, 0x05, //0x000006de addq $5, %r15 + 0x4d, 0x89, 0xf8, //0x000006e2 movq %r15, %r8 + 0xe9, 0x06, 0x0b, 0x00, 0x00, //0x000006e5 jmp LBB0_163 + //0x000006ea LBB0_42 + 0x49, 0xd3, 0xeb, //0x000006ea shrq %cl, %r11 + 0x48, 0xb8, 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, //0x000006ed movabsq $8589934560, %rax + 0x48, 0x05, 0x1f, 0xe4, 0x0b, 0x54, //0x000006f7 addq $1410065439, %rax + 0x49, 0x39, 0xc3, //0x000006fd cmpq %rax, %r11 + 0x0f, 0x86, 0xf4, 0x03, 0x00, 0x00, //0x00000700 jbe LBB0_73 + 0x4c, 0x89, 0xd8, //0x00000706 movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x0b, //0x00000709 shrq $11, %rax + 0x41, 0xba, 0x0b, 0x00, 0x00, 0x00, //0x0000070d movl $11, %r10d + 0x48, 0x3d, 0xdd, 0x0e, 0xe9, 0x02, //0x00000713 cmpq $48828125, %rax + 0x0f, 0x82, 0x7b, 0x00, 0x00, 0x00, //0x00000719 jb LBB0_49 + 0x4c, 0x89, 0xd8, //0x0000071f movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x0c, //0x00000722 shrq $12, %rax + 0x41, 0xba, 0x0c, 0x00, 0x00, 0x00, //0x00000726 movl $12, %r10d + 0x48, 0x3d, 0x51, 0x4a, 0x8d, 0x0e, //0x0000072c cmpq $244140625, %rax + 0x0f, 0x82, 0x62, 0x00, 0x00, 0x00, //0x00000732 jb LBB0_49 + 0x4c, 0x89, 0xd8, //0x00000738 movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x0d, //0x0000073b shrq $13, %rax + 0x41, 0xba, 0x0d, 0x00, 0x00, 0x00, //0x0000073f movl $13, %r10d + 0x48, 0x3d, 0x95, 0x73, 0xc2, 0x48, //0x00000745 cmpq $1220703125, %rax + 0x0f, 0x82, 0x49, 0x00, 0x00, 0x00, //0x0000074b jb LBB0_49 + 0x41, 0xba, 0x0e, 0x00, 0x00, 0x00, //0x00000751 movl $14, %r10d + 0x48, 0xb8, 0x00, 0x40, 0x7a, 0x10, 0xf3, 0x5a, 0x00, 0x00, //0x00000757 movabsq $100000000000000, %rax + 0x49, 0x39, 0xc3, //0x00000761 cmpq %rax, %r11 + 0x0f, 0x82, 0x30, 0x00, 0x00, 0x00, //0x00000764 jb LBB0_49 + 0x41, 0xba, 0x0f, 0x00, 0x00, 0x00, //0x0000076a movl $15, %r10d + 0x48, 0xb8, 0x00, 0x80, 0xc6, 0xa4, 0x7e, 0x8d, 0x03, 0x00, //0x00000770 movabsq $1000000000000000, %rax + 0x49, 0x39, 0xc3, //0x0000077a cmpq %rax, %r11 + 0x0f, 0x82, 0x17, 0x00, 0x00, 0x00, //0x0000077d jb LBB0_49 + 0x48, 0xb8, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x00000783 movabsq $10000000000000000, %rax + 0x49, 0x39, 0xc3, //0x0000078d cmpq %rax, %r11 + 0x41, 0xba, 0x11, 0x00, 0x00, 0x00, //0x00000790 movl $17, %r10d + 0x49, 0x83, 0xda, 0x00, //0x00000796 sbbq $0, %r10 + //0x0000079a LBB0_49 + 0x4d, 0x01, 0xc2, //0x0000079a addq %r8, %r10 + //0x0000079d LBB0_50 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x0000079d movabsq $-6067343680855748867, %rdx + 0x4c, 0x89, 0xd8, //0x000007a7 movq %r11, %rax + 0x48, 0xf7, 0xe2, //0x000007aa mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x000007ad shrq $26, %rdx + 0x69, 0xca, 0x00, 0x1f, 0x0a, 0xfa, //0x000007b1 imull $-100000000, %edx, %ecx + 0x44, 0x01, 0xd9, //0x000007b7 addl %r11d, %ecx + 0x41, 0xb9, 0x59, 0x17, 0xb7, 0xd1, //0x000007ba movl $3518437209, %r9d + 0x48, 0x89, 0xce, //0x000007c0 movq %rcx, %rsi + 0x49, 0x0f, 0xaf, 0xf1, //0x000007c3 imulq %r9, %rsi + 0x48, 0xc1, 0xee, 0x2d, //0x000007c7 shrq $45, %rsi + 0x69, 0xde, 0x10, 0x27, 0x00, 0x00, //0x000007cb imull $10000, %esi, %ebx + 0x29, 0xd9, //0x000007d1 subl %ebx, %ecx + 0x48, 0x89, 0xf0, //0x000007d3 movq %rsi, %rax + 0x49, 0x0f, 0xaf, 0xc1, //0x000007d6 imulq %r9, %rax + 0x48, 0xc1, 0xe8, 0x2d, //0x000007da shrq $45, %rax + 0x69, 0xc0, 0x10, 0x27, 0x00, 0x00, //0x000007de imull $10000, %eax, %eax + 0x29, 0xc6, //0x000007e4 subl %eax, %esi + 0x0f, 0xb7, 0xc1, //0x000007e6 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x000007e9 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000007ec imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x000007f2 shrl $17, %eax + 0x6b, 0xd8, 0x64, //0x000007f5 imull $100, %eax, %ebx + 0x29, 0xd9, //0x000007f8 subl %ebx, %ecx + 0x44, 0x0f, 0xb7, 0xc9, //0x000007fa movzwl %cx, %r9d + 0x0f, 0xb7, 0xde, //0x000007fe movzwl %si, %ebx + 0xc1, 0xeb, 0x02, //0x00000801 shrl $2, %ebx + 0x69, 0xdb, 0x7b, 0x14, 0x00, 0x00, //0x00000804 imull $5243, %ebx, %ebx + 0xc1, 0xeb, 0x11, //0x0000080a shrl $17, %ebx + 0x6b, 0xcb, 0x64, //0x0000080d imull $100, %ebx, %ecx + 0x29, 0xce, //0x00000810 subl %ecx, %esi + 0x44, 0x0f, 0xb7, 0xde, //0x00000812 movzwl %si, %r11d + 0x48, 0x8d, 0x35, 0x33, 0x0a, 0x00, 0x00, //0x00000816 leaq $2611(%rip), %rsi /* _Digits+0(%rip) */ + 0x42, 0x0f, 0xb7, 0x0c, 0x4e, //0x0000081d movzwl (%rsi,%r9,2), %ecx + 0x66, 0x41, 0x89, 0x4a, 0xfe, //0x00000822 movw %cx, $-2(%r10) + 0x0f, 0xb7, 0x04, 0x46, //0x00000827 movzwl (%rsi,%rax,2), %eax + 0x66, 0x41, 0x89, 0x42, 0xfc, //0x0000082b movw %ax, $-4(%r10) + 0x42, 0x0f, 0xb7, 0x04, 0x5e, //0x00000830 movzwl (%rsi,%r11,2), %eax + 0x66, 0x41, 0x89, 0x42, 0xfa, //0x00000835 movw %ax, $-6(%r10) + 0x0f, 0xb7, 0x04, 0x5e, //0x0000083a movzwl (%rsi,%rbx,2), %eax + 0x66, 0x41, 0x89, 0x42, 0xf8, //0x0000083e movw %ax, $-8(%r10) + 0x49, 0x8d, 0x42, 0xf8, //0x00000843 leaq $-8(%r10), %rax + 0x49, 0x89, 0xd3, //0x00000847 movq %rdx, %r11 + 0x41, 0x81, 0xfb, 0x10, 0x27, 0x00, 0x00, //0x0000084a cmpl $10000, %r11d + 0x0f, 0x82, 0x48, 0x03, 0x00, 0x00, //0x00000851 jb LBB0_83 + //0x00000857 LBB0_51 + 0x41, 0xb9, 0x59, 0x17, 0xb7, 0xd1, //0x00000857 movl $3518437209, %r9d + 0x4c, 0x8d, 0x35, 0xec, 0x09, 0x00, 0x00, //0x0000085d leaq $2540(%rip), %r14 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000864 .p2align 4, 0x90 + //0x00000870 LBB0_52 + 0x44, 0x89, 0xda, //0x00000870 movl %r11d, %edx + 0x49, 0x0f, 0xaf, 0xd1, //0x00000873 imulq %r9, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x00000877 shrq $45, %rdx + 0x69, 0xca, 0xf0, 0xd8, 0xff, 0xff, //0x0000087b imull $-10000, %edx, %ecx + 0x44, 0x01, 0xd9, //0x00000881 addl %r11d, %ecx + 0x48, 0x69, 0xf1, 0x1f, 0x85, 0xeb, 0x51, //0x00000884 imulq $1374389535, %rcx, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x0000088b shrq $37, %rsi + 0x6b, 0xde, 0x64, //0x0000088f imull $100, %esi, %ebx + 0x29, 0xd9, //0x00000892 subl %ebx, %ecx + 0x41, 0x0f, 0xb7, 0x0c, 0x4e, //0x00000894 movzwl (%r14,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfe, //0x00000899 movw %cx, $-2(%rax) + 0x41, 0x0f, 0xb7, 0x0c, 0x76, //0x0000089d movzwl (%r14,%rsi,2), %ecx + 0x66, 0x89, 0x48, 0xfc, //0x000008a2 movw %cx, $-4(%rax) + 0x48, 0x83, 0xc0, 0xfc, //0x000008a6 addq $-4, %rax + 0x41, 0x81, 0xfb, 0xff, 0xe0, 0xf5, 0x05, //0x000008aa cmpl $99999999, %r11d + 0x41, 0x89, 0xd3, //0x000008b1 movl %edx, %r11d + 0x0f, 0x87, 0xb6, 0xff, 0xff, 0xff, //0x000008b4 ja LBB0_52 + 0x83, 0xfa, 0x64, //0x000008ba cmpl $100, %edx + 0x0f, 0x82, 0x2c, 0x00, 0x00, 0x00, //0x000008bd jb LBB0_55 + //0x000008c3 LBB0_54 + 0x0f, 0xb7, 0xca, //0x000008c3 movzwl %dx, %ecx + 0xc1, 0xe9, 0x02, //0x000008c6 shrl $2, %ecx + 0x69, 0xc9, 0x7b, 0x14, 0x00, 0x00, //0x000008c9 imull $5243, %ecx, %ecx + 0xc1, 0xe9, 0x11, //0x000008cf shrl $17, %ecx + 0x6b, 0xf1, 0x64, //0x000008d2 imull $100, %ecx, %esi + 0x29, 0xf2, //0x000008d5 subl %esi, %edx + 0x0f, 0xb7, 0xd2, //0x000008d7 movzwl %dx, %edx + 0x48, 0x8d, 0x35, 0x6f, 0x09, 0x00, 0x00, //0x000008da leaq $2415(%rip), %rsi /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x14, 0x56, //0x000008e1 movzwl (%rsi,%rdx,2), %edx + 0x66, 0x89, 0x50, 0xfe, //0x000008e5 movw %dx, $-2(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x000008e9 addq $-2, %rax + 0x89, 0xca, //0x000008ed movl %ecx, %edx + //0x000008ef LBB0_55 + 0x83, 0xfa, 0x0a, //0x000008ef cmpl $10, %edx + 0x0f, 0x82, 0xb8, 0x02, 0x00, 0x00, //0x000008f2 jb LBB0_84 + 0x89, 0xd1, //0x000008f8 movl %edx, %ecx + 0x48, 0x8d, 0x15, 0x4f, 0x09, 0x00, 0x00, //0x000008fa leaq $2383(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000901 movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfe, //0x00000905 movw %cx, $-2(%rax) + 0xe9, 0xa8, 0x02, 0x00, 0x00, //0x00000909 jmp LBB0_85 + //0x0000090e LBB0_57 + 0x45, 0x85, 0xc9, //0x0000090e testl %r9d, %r9d + 0x0f, 0x8f, 0xda, 0x04, 0x00, 0x00, //0x00000911 jg LBB0_122 + 0x66, 0x41, 0xc7, 0x00, 0x30, 0x2e, //0x00000917 movw $11824, (%r8) + 0x49, 0x83, 0xc0, 0x02, //0x0000091d addq $2, %r8 + 0x45, 0x85, 0xc9, //0x00000921 testl %r9d, %r9d + 0x0f, 0x89, 0xc7, 0x04, 0x00, 0x00, //0x00000924 jns LBB0_122 + 0x31, 0xc0, //0x0000092a xorl %eax, %eax + 0x41, 0x83, 0xf9, 0xe0, //0x0000092c cmpl $-32, %r9d + 0x0f, 0x87, 0x9e, 0x04, 0x00, 0x00, //0x00000930 ja LBB0_120 + 0x45, 0x89, 0xcb, //0x00000936 movl %r9d, %r11d + 0x41, 0xf7, 0xd3, //0x00000939 notl %r11d + 0x49, 0xff, 0xc3, //0x0000093c incq %r11 + 0x4c, 0x89, 0xd8, //0x0000093f movq %r11, %rax + 0x4c, 0x21, 0xd0, //0x00000942 andq %r10, %rax + 0x48, 0x8d, 0x70, 0xe0, //0x00000945 leaq $-32(%rax), %rsi + 0x48, 0x89, 0xf2, //0x00000949 movq %rsi, %rdx + 0x48, 0xc1, 0xea, 0x05, //0x0000094c shrq $5, %rdx + 0x48, 0xff, 0xc2, //0x00000950 incq %rdx + 0x41, 0x89, 0xd7, //0x00000953 movl %edx, %r15d + 0x41, 0x83, 0xe7, 0x07, //0x00000956 andl $7, %r15d + 0x48, 0x81, 0xfe, 0xe0, 0x00, 0x00, 0x00, //0x0000095a cmpq $224, %rsi + 0x0f, 0x83, 0x8d, 0x03, 0x00, 0x00, //0x00000961 jae LBB0_114 + 0x31, 0xd2, //0x00000967 xorl %edx, %edx + 0xe9, 0x27, 0x04, 0x00, 0x00, //0x00000969 jmp LBB0_116 + //0x0000096e LBB0_102 + 0x41, 0xc6, 0x47, 0x01, 0x2d, //0x0000096e movb $45, $1(%r15) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000973 movl $1, %eax + 0x44, 0x29, 0xc8, //0x00000978 subl %r9d, %eax + 0x83, 0xf8, 0x64, //0x0000097b cmpl $100, %eax + 0x0f, 0x8d, 0x2d, 0xfd, 0xff, 0xff, //0x0000097e jge LBB0_101 + //0x00000984 LBB0_103 + 0x83, 0xf8, 0x0a, //0x00000984 cmpl $10, %eax + 0x0f, 0x8c, 0x5b, 0x01, 0x00, 0x00, //0x00000987 jl LBB0_105 + 0x48, 0x98, //0x0000098d cltq + 0x48, 0x8d, 0x0d, 0xba, 0x08, 0x00, 0x00, //0x0000098f leaq $2234(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x00000996 movzwl (%rcx,%rax,2), %eax + 0x66, 0x41, 0x89, 0x47, 0x02, //0x0000099a movw %ax, $2(%r15) + 0x49, 0x83, 0xc7, 0x04, //0x0000099f addq $4, %r15 + 0x4d, 0x89, 0xf8, //0x000009a3 movq %r15, %r8 + 0xe9, 0x45, 0x08, 0x00, 0x00, //0x000009a6 jmp LBB0_163 + //0x000009ab LBB0_62 + 0x48, 0x89, 0xd8, //0x000009ab movq %rbx, %rax + 0x49, 0x89, 0xff, //0x000009ae movq %rdi, %r15 + 0x41, 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x000009b1 cmpl $10000, %r14d + 0x0f, 0x82, 0xbd, 0xfb, 0xff, 0xff, //0x000009b8 jb LBB0_39 + //0x000009be LBB0_63 + 0x41, 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x000009be movl $3518437209, %r10d + 0x4c, 0x8d, 0x1d, 0x85, 0x08, 0x00, 0x00, //0x000009c4 leaq $2181(%rip), %r11 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000009cb .p2align 4, 0x90 + //0x000009d0 LBB0_64 + 0x44, 0x89, 0xf2, //0x000009d0 movl %r14d, %edx + 0x49, 0x0f, 0xaf, 0xd2, //0x000009d3 imulq %r10, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x000009d7 shrq $45, %rdx + 0x69, 0xf2, 0xf0, 0xd8, 0xff, 0xff, //0x000009db imull $-10000, %edx, %esi + 0x44, 0x01, 0xf6, //0x000009e1 addl %r14d, %esi + 0x48, 0x69, 0xce, 0x1f, 0x85, 0xeb, 0x51, //0x000009e4 imulq $1374389535, %rsi, %rcx + 0x48, 0xc1, 0xe9, 0x25, //0x000009eb shrq $37, %rcx + 0x6b, 0xf9, 0x64, //0x000009ef imull $100, %ecx, %edi + 0x29, 0xfe, //0x000009f2 subl %edi, %esi + 0x41, 0x0f, 0xb7, 0x34, 0x73, //0x000009f4 movzwl (%r11,%rsi,2), %esi + 0x66, 0x89, 0x70, 0xfe, //0x000009f9 movw %si, $-2(%rax) + 0x41, 0x0f, 0xb7, 0x0c, 0x4b, //0x000009fd movzwl (%r11,%rcx,2), %ecx + 0x66, 0x89, 0x48, 0xfc, //0x00000a02 movw %cx, $-4(%rax) + 0x48, 0x83, 0xc0, 0xfc, //0x00000a06 addq $-4, %rax + 0x41, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x00000a0a cmpl $99999999, %r14d + 0x41, 0x89, 0xd6, //0x00000a11 movl %edx, %r14d + 0x0f, 0x87, 0xb6, 0xff, 0xff, 0xff, //0x00000a14 ja LBB0_64 + //0x00000a1a LBB0_65 + 0x83, 0xfa, 0x64, //0x00000a1a cmpl $100, %edx + 0x0f, 0x82, 0x2c, 0x00, 0x00, 0x00, //0x00000a1d jb LBB0_67 + 0x0f, 0xb7, 0xca, //0x00000a23 movzwl %dx, %ecx + 0xc1, 0xe9, 0x02, //0x00000a26 shrl $2, %ecx + 0x69, 0xc9, 0x7b, 0x14, 0x00, 0x00, //0x00000a29 imull $5243, %ecx, %ecx + 0xc1, 0xe9, 0x11, //0x00000a2f shrl $17, %ecx + 0x6b, 0xf1, 0x64, //0x00000a32 imull $100, %ecx, %esi + 0x29, 0xf2, //0x00000a35 subl %esi, %edx + 0x0f, 0xb7, 0xd2, //0x00000a37 movzwl %dx, %edx + 0x48, 0x8d, 0x35, 0x0f, 0x08, 0x00, 0x00, //0x00000a3a leaq $2063(%rip), %rsi /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x14, 0x56, //0x00000a41 movzwl (%rsi,%rdx,2), %edx + 0x66, 0x89, 0x50, 0xfe, //0x00000a45 movw %dx, $-2(%rax) + 0x48, 0x83, 0xc0, 0xfe, //0x00000a49 addq $-2, %rax + 0x89, 0xca, //0x00000a4d movl %ecx, %edx + //0x00000a4f LBB0_67 + 0x4c, 0x89, 0xff, //0x00000a4f movq %r15, %rdi + 0x4c, 0x8b, 0x5d, 0xd0, //0x00000a52 movq $-48(%rbp), %r11 + 0x49, 0x63, 0xc9, //0x00000a56 movslq %r9d, %rcx + 0x83, 0xfa, 0x0a, //0x00000a59 cmpl $10, %edx + 0x0f, 0x82, 0x22, 0x00, 0x00, 0x00, //0x00000a5c jb LBB0_69 + 0x89, 0xd2, //0x00000a62 movl %edx, %edx + 0x48, 0x8d, 0x35, 0xe5, 0x07, 0x00, 0x00, //0x00000a64 leaq $2021(%rip), %rsi /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x14, 0x56, //0x00000a6b movzwl (%rsi,%rdx,2), %edx + 0x66, 0x89, 0x50, 0xfe, //0x00000a6f movw %dx, $-2(%rax) + 0x49, 0x01, 0xc8, //0x00000a73 addq %rcx, %r8 + 0x49, 0x39, 0xcc, //0x00000a76 cmpq %rcx, %r12 + 0x0f, 0x8c, 0x17, 0x00, 0x00, 0x00, //0x00000a79 jl LBB0_70 + 0xe9, 0x6c, 0x07, 0x00, 0x00, //0x00000a7f jmp LBB0_163 + //0x00000a84 LBB0_69 + 0x80, 0xc2, 0x30, //0x00000a84 addb $48, %dl + 0x41, 0x88, 0x10, //0x00000a87 movb %dl, (%r8) + 0x49, 0x01, 0xc8, //0x00000a8a addq %rcx, %r8 + 0x49, 0x39, 0xcc, //0x00000a8d cmpq %rcx, %r12 + 0x0f, 0x8d, 0x5a, 0x07, 0x00, 0x00, //0x00000a90 jge LBB0_163 + //0x00000a96 LBB0_70 + 0x4b, 0x8d, 0x04, 0x23, //0x00000a96 leaq (%r11,%r12), %rax + 0x4c, 0x8d, 0x54, 0x07, 0x01, //0x00000a9a leaq $1(%rdi,%rax), %r10 + 0x4d, 0x39, 0xc2, //0x00000a9f cmpq %r8, %r10 + 0x4d, 0x0f, 0x46, 0xd0, //0x00000aa2 cmovbeq %r8, %r10 + 0x4a, 0x8d, 0x0c, 0x1f, //0x00000aa6 leaq (%rdi,%r11), %rcx + 0x4c, 0x01, 0xe1, //0x00000aaa addq %r12, %rcx + 0x49, 0x29, 0xca, //0x00000aad subq %rcx, %r10 + 0x49, 0x83, 0xfa, 0x20, //0x00000ab0 cmpq $32, %r10 + 0x0f, 0x82, 0x26, 0x02, 0x00, 0x00, //0x00000ab4 jb LBB0_113 + 0x4d, 0x89, 0xd1, //0x00000aba movq %r10, %r9 + 0x49, 0x83, 0xe1, 0xe0, //0x00000abd andq $-32, %r9 + 0x49, 0x8d, 0x71, 0xe0, //0x00000ac1 leaq $-32(%r9), %rsi + 0x48, 0x89, 0xf2, //0x00000ac5 movq %rsi, %rdx + 0x48, 0xc1, 0xea, 0x05, //0x00000ac8 shrq $5, %rdx + 0x48, 0xff, 0xc2, //0x00000acc incq %rdx + 0x89, 0xd1, //0x00000acf movl %edx, %ecx + 0x83, 0xe1, 0x07, //0x00000ad1 andl $7, %ecx + 0x48, 0x81, 0xfe, 0xe0, 0x00, 0x00, 0x00, //0x00000ad4 cmpq $224, %rsi + 0x0f, 0x83, 0xfb, 0x00, 0x00, 0x00, //0x00000adb jae LBB0_106 + 0x31, 0xc0, //0x00000ae1 xorl %eax, %eax + 0xe9, 0x9c, 0x01, 0x00, 0x00, //0x00000ae3 jmp LBB0_108 + //0x00000ae8 LBB0_105 + 0x04, 0x30, //0x00000ae8 addb $48, %al + 0x41, 0x88, 0x47, 0x02, //0x00000aea movb %al, $2(%r15) + 0x49, 0x83, 0xc7, 0x03, //0x00000aee addq $3, %r15 + 0x4d, 0x89, 0xf8, //0x00000af2 movq %r15, %r8 + 0xe9, 0xf6, 0x06, 0x00, 0x00, //0x00000af5 jmp LBB0_163 + //0x00000afa LBB0_73 + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x00000afa movl $1, %r10d + 0x49, 0x83, 0xfb, 0x0a, //0x00000b00 cmpq $10, %r11 + 0x0f, 0x82, 0x82, 0x00, 0x00, 0x00, //0x00000b04 jb LBB0_81 + 0x41, 0xba, 0x02, 0x00, 0x00, 0x00, //0x00000b0a movl $2, %r10d + 0x49, 0x83, 0xfb, 0x64, //0x00000b10 cmpq $100, %r11 + 0x0f, 0x82, 0x72, 0x00, 0x00, 0x00, //0x00000b14 jb LBB0_81 + 0x41, 0xba, 0x03, 0x00, 0x00, 0x00, //0x00000b1a movl $3, %r10d + 0x49, 0x81, 0xfb, 0xe8, 0x03, 0x00, 0x00, //0x00000b20 cmpq $1000, %r11 + 0x0f, 0x82, 0x5f, 0x00, 0x00, 0x00, //0x00000b27 jb LBB0_81 + 0x41, 0xba, 0x04, 0x00, 0x00, 0x00, //0x00000b2d movl $4, %r10d + 0x49, 0x81, 0xfb, 0x10, 0x27, 0x00, 0x00, //0x00000b33 cmpq $10000, %r11 + 0x0f, 0x82, 0x4c, 0x00, 0x00, 0x00, //0x00000b3a jb LBB0_81 + 0x41, 0xba, 0x05, 0x00, 0x00, 0x00, //0x00000b40 movl $5, %r10d + 0x49, 0x81, 0xfb, 0xa0, 0x86, 0x01, 0x00, //0x00000b46 cmpq $100000, %r11 + 0x0f, 0x82, 0x39, 0x00, 0x00, 0x00, //0x00000b4d jb LBB0_81 + 0x41, 0xba, 0x06, 0x00, 0x00, 0x00, //0x00000b53 movl $6, %r10d + 0x49, 0x81, 0xfb, 0x40, 0x42, 0x0f, 0x00, //0x00000b59 cmpq $1000000, %r11 + 0x0f, 0x82, 0x26, 0x00, 0x00, 0x00, //0x00000b60 jb LBB0_81 + 0x41, 0xba, 0x07, 0x00, 0x00, 0x00, //0x00000b66 movl $7, %r10d + 0x49, 0x81, 0xfb, 0x80, 0x96, 0x98, 0x00, //0x00000b6c cmpq $10000000, %r11 + 0x0f, 0x82, 0x13, 0x00, 0x00, 0x00, //0x00000b73 jb LBB0_81 + 0x41, 0xba, 0x08, 0x00, 0x00, 0x00, //0x00000b79 movl $8, %r10d + 0x49, 0x81, 0xfb, 0xff, 0xe0, 0xf5, 0x05, //0x00000b7f cmpq $99999999, %r11 + 0x0f, 0x87, 0x93, 0x06, 0x00, 0x00, //0x00000b86 ja LBB0_167 + //0x00000b8c LBB0_81 + 0x4d, 0x01, 0xc2, //0x00000b8c addq %r8, %r10 + //0x00000b8f LBB0_82 + 0x4c, 0x89, 0xd0, //0x00000b8f movq %r10, %rax + 0x41, 0x81, 0xfb, 0x10, 0x27, 0x00, 0x00, //0x00000b92 cmpl $10000, %r11d + 0x0f, 0x83, 0xb8, 0xfc, 0xff, 0xff, //0x00000b99 jae LBB0_51 + //0x00000b9f LBB0_83 + 0x44, 0x89, 0xda, //0x00000b9f movl %r11d, %edx + 0x83, 0xfa, 0x64, //0x00000ba2 cmpl $100, %edx + 0x0f, 0x83, 0x18, 0xfd, 0xff, 0xff, //0x00000ba5 jae LBB0_54 + 0xe9, 0x3f, 0xfd, 0xff, 0xff, //0x00000bab jmp LBB0_55 + //0x00000bb0 LBB0_84 + 0x80, 0xc2, 0x30, //0x00000bb0 addb $48, %dl + 0x41, 0x88, 0x10, //0x00000bb3 movb %dl, (%r8) + //0x00000bb6 LBB0_85 + 0x41, 0x29, 0xfa, //0x00000bb6 subl %edi, %r10d + 0x45, 0x89, 0xd0, //0x00000bb9 movl %r10d, %r8d + 0xe9, 0x32, 0x06, 0x00, 0x00, //0x00000bbc jmp LBB0_164 + //0x00000bc1 LBB0_86 + 0x41, 0xba, 0x08, 0x00, 0x00, 0x00, //0x00000bc1 movl $8, %r10d + 0x4d, 0x8d, 0x67, 0xf8, //0x00000bc7 leaq $-8(%r15), %r12 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x00000bcb cmpl $10000, %edx + 0x0f, 0x82, 0xc6, 0xf8, 0xff, 0xff, //0x00000bd1 jb LBB0_41 + 0xe9, 0xbc, 0xf9, 0xff, 0xff, //0x00000bd7 jmp LBB0_88 + //0x00000bdc LBB0_106 + 0x48, 0x29, 0xca, //0x00000bdc subq %rcx, %rdx + 0x48, 0x8d, 0xb4, 0x07, 0xf0, 0x00, 0x00, 0x00, //0x00000bdf leaq $240(%rdi,%rax), %rsi + 0x31, 0xc0, //0x00000be7 xorl %eax, %eax + 0xf3, 0x0f, 0x6f, 0x05, 0x0f, 0xf4, 0xff, 0xff, //0x00000be9 movdqu $-3057(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000bf1 .p2align 4, 0x90 + //0x00000c00 LBB0_107 + 0xf3, 0x0f, 0x7f, 0x84, 0x06, 0x10, 0xff, 0xff, 0xff, //0x00000c00 movdqu %xmm0, $-240(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x06, 0x20, 0xff, 0xff, 0xff, //0x00000c09 movdqu %xmm0, $-224(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x06, 0x30, 0xff, 0xff, 0xff, //0x00000c12 movdqu %xmm0, $-208(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x06, 0x40, 0xff, 0xff, 0xff, //0x00000c1b movdqu %xmm0, $-192(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x06, 0x50, 0xff, 0xff, 0xff, //0x00000c24 movdqu %xmm0, $-176(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x06, 0x60, 0xff, 0xff, 0xff, //0x00000c2d movdqu %xmm0, $-160(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x06, 0x70, 0xff, 0xff, 0xff, //0x00000c36 movdqu %xmm0, $-144(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x06, 0x80, //0x00000c3f movdqu %xmm0, $-128(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x06, 0x90, //0x00000c45 movdqu %xmm0, $-112(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x06, 0xa0, //0x00000c4b movdqu %xmm0, $-96(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x06, 0xb0, //0x00000c51 movdqu %xmm0, $-80(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x06, 0xc0, //0x00000c57 movdqu %xmm0, $-64(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x06, 0xd0, //0x00000c5d movdqu %xmm0, $-48(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x06, 0xe0, //0x00000c63 movdqu %xmm0, $-32(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x06, 0xf0, //0x00000c69 movdqu %xmm0, $-16(%rsi,%rax) + 0xf3, 0x0f, 0x7f, 0x04, 0x06, //0x00000c6f movdqu %xmm0, (%rsi,%rax) + 0x48, 0x05, 0x00, 0x01, 0x00, 0x00, //0x00000c74 addq $256, %rax + 0x48, 0x83, 0xc2, 0xf8, //0x00000c7a addq $-8, %rdx + 0x0f, 0x85, 0x7c, 0xff, 0xff, 0xff, //0x00000c7e jne LBB0_107 + //0x00000c84 LBB0_108 + 0x48, 0x85, 0xc9, //0x00000c84 testq %rcx, %rcx + 0x0f, 0x84, 0x39, 0x00, 0x00, 0x00, //0x00000c87 je LBB0_111 + 0x4c, 0x01, 0xd8, //0x00000c8d addq %r11, %rax + 0x4c, 0x01, 0xe0, //0x00000c90 addq %r12, %rax + 0x48, 0x8d, 0x44, 0x07, 0x10, //0x00000c93 leaq $16(%rdi,%rax), %rax + 0x48, 0xf7, 0xd9, //0x00000c98 negq %rcx + 0xf3, 0x0f, 0x6f, 0x05, 0x5d, 0xf3, 0xff, 0xff, //0x00000c9b movdqu $-3235(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000ca3 .p2align 4, 0x90 + //0x00000cb0 LBB0_110 + 0xf3, 0x0f, 0x7f, 0x40, 0xf0, //0x00000cb0 movdqu %xmm0, $-16(%rax) + 0xf3, 0x0f, 0x7f, 0x00, //0x00000cb5 movdqu %xmm0, (%rax) + 0x48, 0x83, 0xc0, 0x20, //0x00000cb9 addq $32, %rax + 0x48, 0xff, 0xc1, //0x00000cbd incq %rcx + 0x0f, 0x85, 0xea, 0xff, 0xff, 0xff, //0x00000cc0 jne LBB0_110 + //0x00000cc6 LBB0_111 + 0x4d, 0x39, 0xd1, //0x00000cc6 cmpq %r10, %r9 + 0x0f, 0x84, 0x21, 0x05, 0x00, 0x00, //0x00000cc9 je LBB0_163 + 0x4c, 0x01, 0xcb, //0x00000ccf addq %r9, %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000cd2 .p2align 4, 0x90 + //0x00000ce0 LBB0_113 + 0xc6, 0x03, 0x30, //0x00000ce0 movb $48, (%rbx) + 0x48, 0xff, 0xc3, //0x00000ce3 incq %rbx + 0x4c, 0x39, 0xc3, //0x00000ce6 cmpq %r8, %rbx + 0x0f, 0x82, 0xf1, 0xff, 0xff, 0xff, //0x00000ce9 jb LBB0_113 + 0xe9, 0xfc, 0x04, 0x00, 0x00, //0x00000cef jmp LBB0_163 + //0x00000cf4 LBB0_114 + 0x48, 0x8b, 0x4d, 0xd0, //0x00000cf4 movq $-48(%rbp), %rcx + 0x48, 0x8d, 0xb4, 0x39, 0xf2, 0x00, 0x00, 0x00, //0x00000cf8 leaq $242(%rcx,%rdi), %rsi + 0x4c, 0x89, 0xfb, //0x00000d00 movq %r15, %rbx + 0x48, 0x29, 0xd3, //0x00000d03 subq %rdx, %rbx + 0x31, 0xd2, //0x00000d06 xorl %edx, %edx + 0xf3, 0x0f, 0x6f, 0x05, 0xf0, 0xf2, 0xff, 0xff, //0x00000d08 movdqu $-3344(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + //0x00000d10 LBB0_115 + 0xf3, 0x0f, 0x7f, 0x84, 0x16, 0x10, 0xff, 0xff, 0xff, //0x00000d10 movdqu %xmm0, $-240(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x84, 0x16, 0x20, 0xff, 0xff, 0xff, //0x00000d19 movdqu %xmm0, $-224(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x84, 0x16, 0x30, 0xff, 0xff, 0xff, //0x00000d22 movdqu %xmm0, $-208(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x84, 0x16, 0x40, 0xff, 0xff, 0xff, //0x00000d2b movdqu %xmm0, $-192(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x84, 0x16, 0x50, 0xff, 0xff, 0xff, //0x00000d34 movdqu %xmm0, $-176(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x84, 0x16, 0x60, 0xff, 0xff, 0xff, //0x00000d3d movdqu %xmm0, $-160(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x84, 0x16, 0x70, 0xff, 0xff, 0xff, //0x00000d46 movdqu %xmm0, $-144(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x44, 0x16, 0x80, //0x00000d4f movdqu %xmm0, $-128(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x44, 0x16, 0x90, //0x00000d55 movdqu %xmm0, $-112(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x44, 0x16, 0xa0, //0x00000d5b movdqu %xmm0, $-96(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x44, 0x16, 0xb0, //0x00000d61 movdqu %xmm0, $-80(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x44, 0x16, 0xc0, //0x00000d67 movdqu %xmm0, $-64(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x44, 0x16, 0xd0, //0x00000d6d movdqu %xmm0, $-48(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x44, 0x16, 0xe0, //0x00000d73 movdqu %xmm0, $-32(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x44, 0x16, 0xf0, //0x00000d79 movdqu %xmm0, $-16(%rsi,%rdx) + 0xf3, 0x0f, 0x7f, 0x04, 0x16, //0x00000d7f movdqu %xmm0, (%rsi,%rdx) + 0x48, 0x81, 0xc2, 0x00, 0x01, 0x00, 0x00, //0x00000d84 addq $256, %rdx + 0x48, 0x83, 0xc3, 0x08, //0x00000d8b addq $8, %rbx + 0x0f, 0x85, 0x7b, 0xff, 0xff, 0xff, //0x00000d8f jne LBB0_115 + //0x00000d95 LBB0_116 + 0x4d, 0x85, 0xff, //0x00000d95 testq %r15, %r15 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x00000d98 je LBB0_119 + 0x48, 0x03, 0x55, 0xd0, //0x00000d9e addq $-48(%rbp), %rdx + 0x48, 0x8d, 0x54, 0x17, 0x12, //0x00000da2 leaq $18(%rdi,%rdx), %rdx + 0x49, 0xf7, 0xdf, //0x00000da7 negq %r15 + 0xf3, 0x0f, 0x6f, 0x05, 0x4e, 0xf2, 0xff, 0xff, //0x00000daa movdqu $-3506(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + //0x00000db2 LBB0_118 + 0xf3, 0x0f, 0x7f, 0x42, 0xf0, //0x00000db2 movdqu %xmm0, $-16(%rdx) + 0xf3, 0x0f, 0x7f, 0x02, //0x00000db7 movdqu %xmm0, (%rdx) + 0x48, 0x83, 0xc2, 0x20, //0x00000dbb addq $32, %rdx + 0x49, 0xff, 0xc7, //0x00000dbf incq %r15 + 0x0f, 0x85, 0xea, 0xff, 0xff, 0xff, //0x00000dc2 jne LBB0_118 + //0x00000dc8 LBB0_119 + 0x49, 0x01, 0xc0, //0x00000dc8 addq %rax, %r8 + 0x49, 0x39, 0xc3, //0x00000dcb cmpq %rax, %r11 + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x00000dce je LBB0_122 + //0x00000dd4 LBB0_120 + 0x44, 0x89, 0xca, //0x00000dd4 movl %r9d, %edx + 0xf7, 0xda, //0x00000dd7 negl %edx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000dd9 .p2align 4, 0x90 + //0x00000de0 LBB0_121 + 0x41, 0xc6, 0x00, 0x30, //0x00000de0 movb $48, (%r8) + 0x49, 0xff, 0xc0, //0x00000de4 incq %r8 + 0xff, 0xc0, //0x00000de7 incl %eax + 0x39, 0xd0, //0x00000de9 cmpl %edx, %eax + 0x0f, 0x8c, 0xef, 0xff, 0xff, 0xff, //0x00000deb jl LBB0_121 + //0x00000df1 LBB0_122 + 0x4f, 0x8d, 0x2c, 0x20, //0x00000df1 leaq (%r8,%r12), %r13 + 0x4c, 0x89, 0xf0, //0x00000df5 movq %r14, %rax + 0x48, 0xc1, 0xe8, 0x20, //0x00000df8 shrq $32, %rax + 0x0f, 0x84, 0xc9, 0x00, 0x00, 0x00, //0x00000dfc je LBB0_125 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000e02 movabsq $-6067343680855748867, %rdx + 0x4c, 0x89, 0xf0, //0x00000e0c movq %r14, %rax + 0x48, 0xf7, 0xe2, //0x00000e0f mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x00000e12 shrq $26, %rdx + 0x69, 0xf2, 0x00, 0x1f, 0x0a, 0xfa, //0x00000e16 imull $-100000000, %edx, %esi + 0x44, 0x01, 0xf6, //0x00000e1c addl %r14d, %esi + 0x0f, 0x84, 0x40, 0x02, 0x00, 0x00, //0x00000e1f je LBB0_127 + 0x89, 0xf0, //0x00000e25 movl %esi, %eax + 0x41, 0xbb, 0x59, 0x17, 0xb7, 0xd1, //0x00000e27 movl $3518437209, %r11d + 0x49, 0x0f, 0xaf, 0xc3, //0x00000e2d imulq %r11, %rax + 0x48, 0xc1, 0xe8, 0x2d, //0x00000e31 shrq $45, %rax + 0x69, 0xc8, 0x10, 0x27, 0x00, 0x00, //0x00000e35 imull $10000, %eax, %ecx + 0x29, 0xce, //0x00000e3b subl %ecx, %esi + 0x48, 0x89, 0xc1, //0x00000e3d movq %rax, %rcx + 0x49, 0x0f, 0xaf, 0xcb, //0x00000e40 imulq %r11, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x00000e44 shrq $45, %rcx + 0x69, 0xc9, 0x10, 0x27, 0x00, 0x00, //0x00000e48 imull $10000, %ecx, %ecx + 0x29, 0xc8, //0x00000e4e subl %ecx, %eax + 0x0f, 0xb7, 0xce, //0x00000e50 movzwl %si, %ecx + 0xc1, 0xe9, 0x02, //0x00000e53 shrl $2, %ecx + 0x44, 0x69, 0xd9, 0x7b, 0x14, 0x00, 0x00, //0x00000e56 imull $5243, %ecx, %r11d + 0x41, 0xc1, 0xeb, 0x11, //0x00000e5d shrl $17, %r11d + 0x41, 0x6b, 0xcb, 0x64, //0x00000e61 imull $100, %r11d, %ecx + 0x29, 0xce, //0x00000e65 subl %ecx, %esi + 0x44, 0x0f, 0xb7, 0xf6, //0x00000e67 movzwl %si, %r14d + 0x0f, 0xb7, 0xf0, //0x00000e6b movzwl %ax, %esi + 0xc1, 0xee, 0x02, //0x00000e6e shrl $2, %esi + 0x69, 0xf6, 0x7b, 0x14, 0x00, 0x00, //0x00000e71 imull $5243, %esi, %esi + 0xc1, 0xee, 0x11, //0x00000e77 shrl $17, %esi + 0x6b, 0xce, 0x64, //0x00000e7a imull $100, %esi, %ecx + 0x29, 0xc8, //0x00000e7d subl %ecx, %eax + 0x44, 0x0f, 0xb7, 0xf8, //0x00000e7f movzwl %ax, %r15d + 0x48, 0x8d, 0x0d, 0xc6, 0x03, 0x00, 0x00, //0x00000e83 leaq $966(%rip), %rcx /* _Digits+0(%rip) */ + 0x42, 0x0f, 0xb7, 0x04, 0x71, //0x00000e8a movzwl (%rcx,%r14,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfe, //0x00000e8f movw %ax, $-2(%r13) + 0x42, 0x0f, 0xb7, 0x04, 0x59, //0x00000e94 movzwl (%rcx,%r11,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfc, //0x00000e99 movw %ax, $-4(%r13) + 0x42, 0x0f, 0xb7, 0x04, 0x79, //0x00000e9e movzwl (%rcx,%r15,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfa, //0x00000ea3 movw %ax, $-6(%r13) + 0x0f, 0xb7, 0x04, 0x71, //0x00000ea8 movzwl (%rcx,%rsi,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xf8, //0x00000eac movw %ax, $-8(%r13) + 0x45, 0x31, 0xdb, //0x00000eb1 xorl %r11d, %r11d + 0x49, 0x83, 0xc5, 0xf8, //0x00000eb4 addq $-8, %r13 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x00000eb8 cmpl $10000, %edx + 0x0f, 0x83, 0x19, 0x00, 0x00, 0x00, //0x00000ebe jae LBB0_129 + //0x00000ec4 LBB0_126 + 0x89, 0xd1, //0x00000ec4 movl %edx, %ecx + 0xe9, 0x6d, 0x00, 0x00, 0x00, //0x00000ec6 jmp LBB0_131 + //0x00000ecb LBB0_125 + 0x45, 0x31, 0xdb, //0x00000ecb xorl %r11d, %r11d + 0x44, 0x89, 0xf2, //0x00000ece movl %r14d, %edx + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x00000ed1 cmpl $10000, %edx + 0x0f, 0x82, 0xe7, 0xff, 0xff, 0xff, //0x00000ed7 jb LBB0_126 + //0x00000edd LBB0_129 + 0x41, 0xbe, 0x59, 0x17, 0xb7, 0xd1, //0x00000edd movl $3518437209, %r14d + 0x4c, 0x8d, 0x3d, 0x66, 0x03, 0x00, 0x00, //0x00000ee3 leaq $870(%rip), %r15 /* _Digits+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000eea .p2align 4, 0x90 + //0x00000ef0 LBB0_130 + 0x89, 0xd1, //0x00000ef0 movl %edx, %ecx + 0x49, 0x0f, 0xaf, 0xce, //0x00000ef2 imulq %r14, %rcx + 0x48, 0xc1, 0xe9, 0x2d, //0x00000ef6 shrq $45, %rcx + 0x69, 0xc1, 0xf0, 0xd8, 0xff, 0xff, //0x00000efa imull $-10000, %ecx, %eax + 0x01, 0xd0, //0x00000f00 addl %edx, %eax + 0x48, 0x69, 0xf0, 0x1f, 0x85, 0xeb, 0x51, //0x00000f02 imulq $1374389535, %rax, %rsi + 0x48, 0xc1, 0xee, 0x25, //0x00000f09 shrq $37, %rsi + 0x6b, 0xde, 0x64, //0x00000f0d imull $100, %esi, %ebx + 0x29, 0xd8, //0x00000f10 subl %ebx, %eax + 0x41, 0x0f, 0xb7, 0x04, 0x47, //0x00000f12 movzwl (%r15,%rax,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfe, //0x00000f17 movw %ax, $-2(%r13) + 0x41, 0x0f, 0xb7, 0x04, 0x77, //0x00000f1c movzwl (%r15,%rsi,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfc, //0x00000f21 movw %ax, $-4(%r13) + 0x49, 0x83, 0xc5, 0xfc, //0x00000f26 addq $-4, %r13 + 0x81, 0xfa, 0xff, 0xe0, 0xf5, 0x05, //0x00000f2a cmpl $99999999, %edx + 0x89, 0xca, //0x00000f30 movl %ecx, %edx + 0x0f, 0x87, 0xb8, 0xff, 0xff, 0xff, //0x00000f32 ja LBB0_130 + //0x00000f38 LBB0_131 + 0x83, 0xf9, 0x64, //0x00000f38 cmpl $100, %ecx + 0x0f, 0x82, 0x2d, 0x00, 0x00, 0x00, //0x00000f3b jb LBB0_133 + 0x0f, 0xb7, 0xc1, //0x00000f41 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x00000f44 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000f47 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000f4d shrl $17, %eax + 0x6b, 0xd0, 0x64, //0x00000f50 imull $100, %eax, %edx + 0x29, 0xd1, //0x00000f53 subl %edx, %ecx + 0x0f, 0xb7, 0xc9, //0x00000f55 movzwl %cx, %ecx + 0x48, 0x8d, 0x15, 0xf1, 0x02, 0x00, 0x00, //0x00000f58 leaq $753(%rip), %rdx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x0c, 0x4a, //0x00000f5f movzwl (%rdx,%rcx,2), %ecx + 0x66, 0x41, 0x89, 0x4d, 0xfe, //0x00000f63 movw %cx, $-2(%r13) + 0x49, 0x83, 0xc5, 0xfe, //0x00000f68 addq $-2, %r13 + 0x89, 0xc1, //0x00000f6c movl %eax, %ecx + //0x00000f6e LBB0_133 + 0x83, 0xf9, 0x0a, //0x00000f6e cmpl $10, %ecx + 0x0f, 0x82, 0x17, 0x00, 0x00, 0x00, //0x00000f71 jb LBB0_135 + 0x89, 0xc8, //0x00000f77 movl %ecx, %eax + 0x48, 0x8d, 0x0d, 0xd0, 0x02, 0x00, 0x00, //0x00000f79 leaq $720(%rip), %rcx /* _Digits+0(%rip) */ + 0x0f, 0xb7, 0x04, 0x41, //0x00000f80 movzwl (%rcx,%rax,2), %eax + 0x66, 0x41, 0x89, 0x45, 0xfe, //0x00000f84 movw %ax, $-2(%r13) + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x00000f89 jmp LBB0_136 + //0x00000f8e LBB0_135 + 0x80, 0xc1, 0x30, //0x00000f8e addb $48, %cl + 0x41, 0x88, 0x08, //0x00000f91 movb %cl, (%r8) + //0x00000f94 LBB0_136 + 0x4d, 0x29, 0xdc, //0x00000f94 subq %r11, %r12 + 0x49, 0x8d, 0x4c, 0x24, 0x01, //0x00000f97 leaq $1(%r12), %rcx + 0x49, 0x8d, 0x54, 0x24, 0x11, //0x00000f9c leaq $17(%r12), %rdx + 0x49, 0x8d, 0x5c, 0x24, 0x02, //0x00000fa1 leaq $2(%r12), %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000fa6 .p2align 4, 0x90 + //0x00000fb0 LBB0_137 + 0x48, 0xff, 0xca, //0x00000fb0 decq %rdx + 0x48, 0xff, 0xc9, //0x00000fb3 decq %rcx + 0x48, 0xff, 0xcb, //0x00000fb6 decq %rbx + 0x43, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00000fb9 cmpb $48, $-1(%r8,%r12) + 0x4d, 0x8d, 0x64, 0x24, 0xff, //0x00000fbf leaq $-1(%r12), %r12 + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x00000fc4 je LBB0_137 + 0x4d, 0x8d, 0x3c, 0x08, //0x00000fca leaq (%r8,%rcx), %r15 + 0x45, 0x85, 0xc9, //0x00000fce testl %r9d, %r9d + 0x0f, 0x8e, 0x86, 0x00, 0x00, 0x00, //0x00000fd1 jle LBB0_142 + 0x44, 0x89, 0xf8, //0x00000fd7 movl %r15d, %eax + 0x44, 0x29, 0xc0, //0x00000fda subl %r8d, %eax + 0x41, 0x39, 0xc1, //0x00000fdd cmpl %eax, %r9d + 0x0f, 0x8d, 0x23, 0x00, 0x00, 0x00, //0x00000fe0 jge LBB0_143 + 0x43, 0x8d, 0x04, 0x01, //0x00000fe6 leal (%r9,%r8), %eax + 0x41, 0x29, 0xc7, //0x00000fea subl %eax, %r15d + 0x49, 0x8d, 0x47, 0xff, //0x00000fed leaq $-1(%r15), %rax + 0x45, 0x89, 0xfa, //0x00000ff1 movl %r15d, %r10d + 0x41, 0x83, 0xe2, 0x03, //0x00000ff4 andl $3, %r10d + 0x48, 0x83, 0xf8, 0x03, //0x00000ff8 cmpq $3, %rax + 0x0f, 0x83, 0x7e, 0x00, 0x00, 0x00, //0x00000ffc jae LBB0_147 + 0x31, 0xc0, //0x00001002 xorl %eax, %eax + 0xe9, 0xa3, 0x00, 0x00, 0x00, //0x00001004 jmp LBB0_150 + //0x00001009 LBB0_143 + 0x0f, 0x8e, 0x4e, 0x00, 0x00, 0x00, //0x00001009 jle LBB0_142 + 0x45, 0x01, 0xc1, //0x0000100f addl %r8d, %r9d + 0x45, 0x89, 0xfe, //0x00001012 movl %r15d, %r14d + 0x41, 0xf7, 0xd6, //0x00001015 notl %r14d + 0x45, 0x01, 0xce, //0x00001018 addl %r9d, %r14d + 0x31, 0xc0, //0x0000101b xorl %eax, %eax + 0x4d, 0x89, 0xfb, //0x0000101d movq %r15, %r11 + 0x41, 0x83, 0xfe, 0x1e, //0x00001020 cmpl $30, %r14d + 0x0f, 0x86, 0xa0, 0x01, 0x00, 0x00, //0x00001024 jbe LBB0_161 + 0x49, 0xff, 0xc6, //0x0000102a incq %r14 + 0x4d, 0x21, 0xf2, //0x0000102d andq %r14, %r10 + 0x4f, 0x8d, 0x1c, 0x10, //0x00001030 leaq (%r8,%r10), %r11 + 0x49, 0x8d, 0x5a, 0xe0, //0x00001034 leaq $-32(%r10), %rbx + 0x48, 0x89, 0xde, //0x00001038 movq %rbx, %rsi + 0x48, 0xc1, 0xee, 0x05, //0x0000103b shrq $5, %rsi + 0x48, 0xff, 0xc6, //0x0000103f incq %rsi + 0x41, 0x89, 0xf4, //0x00001042 movl %esi, %r12d + 0x41, 0x83, 0xe4, 0x07, //0x00001045 andl $7, %r12d + 0x48, 0x81, 0xfb, 0xe0, 0x00, 0x00, 0x00, //0x00001049 cmpq $224, %rbx + 0x0f, 0x83, 0x94, 0x00, 0x00, 0x00, //0x00001050 jae LBB0_155 + 0x31, 0xf6, //0x00001056 xorl %esi, %esi + 0xe9, 0x29, 0x01, 0x00, 0x00, //0x00001058 jmp LBB0_157 + //0x0000105d LBB0_142 + 0x4d, 0x89, 0xf8, //0x0000105d movq %r15, %r8 + 0xe9, 0x8b, 0x01, 0x00, 0x00, //0x00001060 jmp LBB0_163 + //0x00001065 LBB0_127 + 0x41, 0xbb, 0x08, 0x00, 0x00, 0x00, //0x00001065 movl $8, %r11d + 0x49, 0x83, 0xc5, 0xf8, //0x0000106b addq $-8, %r13 + 0x81, 0xfa, 0x10, 0x27, 0x00, 0x00, //0x0000106f cmpl $10000, %edx + 0x0f, 0x82, 0x49, 0xfe, 0xff, 0xff, //0x00001075 jb LBB0_126 + 0xe9, 0x5d, 0xfe, 0xff, 0xff, //0x0000107b jmp LBB0_129 + //0x00001080 LBB0_147 + 0x4d, 0x89, 0xd3, //0x00001080 movq %r10, %r11 + 0x4d, 0x29, 0xfb, //0x00001083 subq %r15, %r11 + 0x31, 0xc0, //0x00001086 xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001088 .p2align 4, 0x90 + //0x00001090 LBB0_148 + 0x49, 0x8d, 0x14, 0x00, //0x00001090 leaq (%r8,%rax), %rdx + 0x8b, 0x74, 0x11, 0xfc, //0x00001094 movl $-4(%rcx,%rdx), %esi + 0x89, 0x74, 0x11, 0xfd, //0x00001098 movl %esi, $-3(%rcx,%rdx) + 0x48, 0x83, 0xc0, 0xfc, //0x0000109c addq $-4, %rax + 0x49, 0x39, 0xc3, //0x000010a0 cmpq %rax, %r11 + 0x0f, 0x85, 0xe7, 0xff, 0xff, 0xff, //0x000010a3 jne LBB0_148 + 0x48, 0xf7, 0xd8, //0x000010a9 negq %rax + //0x000010ac LBB0_150 + 0x4d, 0x85, 0xd2, //0x000010ac testq %r10, %r10 + 0x0f, 0x84, 0x25, 0x00, 0x00, 0x00, //0x000010af je LBB0_153 + 0x49, 0xf7, 0xda, //0x000010b5 negq %r10 + 0x4c, 0x89, 0xc1, //0x000010b8 movq %r8, %rcx + 0x48, 0x29, 0xc1, //0x000010bb subq %rax, %rcx + 0x31, 0xc0, //0x000010be xorl %eax, %eax + //0x000010c0 .p2align 4, 0x90 + //0x000010c0 LBB0_152 + 0x48, 0x8d, 0x34, 0x01, //0x000010c0 leaq (%rcx,%rax), %rsi + 0x41, 0x0f, 0xb6, 0x14, 0x34, //0x000010c4 movzbl (%r12,%rsi), %edx + 0x41, 0x88, 0x54, 0x34, 0x01, //0x000010c9 movb %dl, $1(%r12,%rsi) + 0x48, 0xff, 0xc8, //0x000010ce decq %rax + 0x49, 0x39, 0xc2, //0x000010d1 cmpq %rax, %r10 + 0x0f, 0x85, 0xe6, 0xff, 0xff, 0xff, //0x000010d4 jne LBB0_152 + //0x000010da LBB0_153 + 0x49, 0x63, 0xc1, //0x000010da movslq %r9d, %rax + 0x41, 0xc6, 0x04, 0x00, 0x2e, //0x000010dd movb $46, (%r8,%rax) + 0x49, 0x01, 0xd8, //0x000010e2 addq %rbx, %r8 + 0xe9, 0x06, 0x01, 0x00, 0x00, //0x000010e5 jmp LBB0_163 + //0x000010ea LBB0_155 + 0x4c, 0x89, 0xe3, //0x000010ea movq %r12, %rbx + 0x48, 0x29, 0xf3, //0x000010ed subq %rsi, %rbx + 0x31, 0xf6, //0x000010f0 xorl %esi, %esi + 0xf3, 0x0f, 0x6f, 0x05, 0x06, 0xef, 0xff, 0xff, //0x000010f2 movdqu $-4346(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + //0x000010fa LBB0_156 + 0x49, 0x8d, 0x04, 0x30, //0x000010fa leaq (%r8,%rsi), %rax + 0xf3, 0x0f, 0x7f, 0x04, 0x01, //0x000010fe movdqu %xmm0, (%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0x10, //0x00001103 movdqu %xmm0, $16(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0x20, //0x00001109 movdqu %xmm0, $32(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0x30, //0x0000110f movdqu %xmm0, $48(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0x40, //0x00001115 movdqu %xmm0, $64(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0x50, //0x0000111b movdqu %xmm0, $80(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0x60, //0x00001121 movdqu %xmm0, $96(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x44, 0x01, 0x70, //0x00001127 movdqu %xmm0, $112(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0x80, 0x00, 0x00, 0x00, //0x0000112d movdqu %xmm0, $128(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0x90, 0x00, 0x00, 0x00, //0x00001136 movdqu %xmm0, $144(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0xa0, 0x00, 0x00, 0x00, //0x0000113f movdqu %xmm0, $160(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0xb0, 0x00, 0x00, 0x00, //0x00001148 movdqu %xmm0, $176(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0xc0, 0x00, 0x00, 0x00, //0x00001151 movdqu %xmm0, $192(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0xd0, 0x00, 0x00, 0x00, //0x0000115a movdqu %xmm0, $208(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0xe0, 0x00, 0x00, 0x00, //0x00001163 movdqu %xmm0, $224(%rcx,%rax) + 0xf3, 0x0f, 0x7f, 0x84, 0x01, 0xf0, 0x00, 0x00, 0x00, //0x0000116c movdqu %xmm0, $240(%rcx,%rax) + 0x48, 0x81, 0xc6, 0x00, 0x01, 0x00, 0x00, //0x00001175 addq $256, %rsi + 0x48, 0x83, 0xc3, 0x08, //0x0000117c addq $8, %rbx + 0x0f, 0x85, 0x74, 0xff, 0xff, 0xff, //0x00001180 jne LBB0_156 + //0x00001186 LBB0_157 + 0x49, 0x01, 0xcb, //0x00001186 addq %rcx, %r11 + 0x4d, 0x85, 0xe4, //0x00001189 testq %r12, %r12 + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x0000118c je LBB0_160 + 0x49, 0x01, 0xf0, //0x00001192 addq %rsi, %r8 + 0x49, 0x01, 0xd0, //0x00001195 addq %rdx, %r8 + 0x49, 0xf7, 0xdc, //0x00001198 negq %r12 + 0xf3, 0x0f, 0x6f, 0x05, 0x5d, 0xee, 0xff, 0xff, //0x0000119b movdqu $-4515(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + //0x000011a3 LBB0_159 + 0xf3, 0x41, 0x0f, 0x7f, 0x40, 0xf0, //0x000011a3 movdqu %xmm0, $-16(%r8) + 0xf3, 0x41, 0x0f, 0x7f, 0x00, //0x000011a9 movdqu %xmm0, (%r8) + 0x49, 0x83, 0xc0, 0x20, //0x000011ae addq $32, %r8 + 0x49, 0xff, 0xc4, //0x000011b2 incq %r12 + 0x0f, 0x85, 0xe8, 0xff, 0xff, 0xff, //0x000011b5 jne LBB0_159 + //0x000011bb LBB0_160 + 0x44, 0x89, 0xd0, //0x000011bb movl %r10d, %eax + 0x4d, 0x89, 0xd8, //0x000011be movq %r11, %r8 + 0x4d, 0x39, 0xd6, //0x000011c1 cmpq %r10, %r14 + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x000011c4 je LBB0_163 + //0x000011ca LBB0_161 + 0x41, 0x29, 0xc1, //0x000011ca subl %eax, %r9d + 0x45, 0x29, 0xf9, //0x000011cd subl %r15d, %r9d + 0x4d, 0x89, 0xd8, //0x000011d0 movq %r11, %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000011d3 .p2align 4, 0x90 + //0x000011e0 LBB0_162 + 0x41, 0xc6, 0x00, 0x30, //0x000011e0 movb $48, (%r8) + 0x49, 0xff, 0xc0, //0x000011e4 incq %r8 + 0x41, 0xff, 0xc9, //0x000011e7 decl %r9d + 0x0f, 0x85, 0xf0, 0xff, 0xff, 0xff, //0x000011ea jne LBB0_162 + //0x000011f0 LBB0_163 + 0x41, 0x29, 0xf8, //0x000011f0 subl %edi, %r8d + //0x000011f3 LBB0_164 + 0x44, 0x89, 0xc0, //0x000011f3 movl %r8d, %eax + 0x48, 0x83, 0xc4, 0x08, //0x000011f6 addq $8, %rsp + 0x5b, //0x000011fa popq %rbx + 0x41, 0x5c, //0x000011fb popq %r12 + 0x41, 0x5d, //0x000011fd popq %r13 + 0x41, 0x5e, //0x000011ff popq %r14 + 0x41, 0x5f, //0x00001201 popq %r15 + 0x5d, //0x00001203 popq %rbp + 0xc3, //0x00001204 retq + //0x00001205 LBB0_165 + 0x45, 0x31, 0xc0, //0x00001205 xorl %r8d, %r8d + 0xe9, 0xe6, 0xff, 0xff, 0xff, //0x00001208 jmp LBB0_164 + //0x0000120d LBB0_166 + 0x48, 0x89, 0x75, 0xd0, //0x0000120d movq %rsi, $-48(%rbp) + 0x41, 0xba, 0xce, 0xfb, 0xff, 0xff, //0x00001211 movl $-1074, %r10d + 0x49, 0x89, 0xd3, //0x00001217 movq %rdx, %r11 + 0xe9, 0x8c, 0xee, 0xff, 0xff, //0x0000121a jmp LBB0_8 + //0x0000121f LBB0_167 + 0x49, 0x81, 0xfb, 0x00, 0xca, 0x9a, 0x3b, //0x0000121f cmpq $1000000000, %r11 + 0x4d, 0x89, 0xc2, //0x00001226 movq %r8, %r10 + 0x49, 0x83, 0xda, 0x00, //0x00001229 sbbq $0, %r10 + 0x49, 0x83, 0xc2, 0x0a, //0x0000122d addq $10, %r10 + 0x4c, 0x89, 0xd8, //0x00001231 movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x20, //0x00001234 shrq $32, %rax + 0x0f, 0x85, 0x5f, 0xf5, 0xff, 0xff, //0x00001238 jne LBB0_50 + 0xe9, 0x4c, 0xf9, 0xff, 0xff, //0x0000123e jmp LBB0_82 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001243 .p2align 4, 0x00 + //0x00001250 _Digits + 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00001250 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' + 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00001260 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' + 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x00001270 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' + 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x00001280 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' + 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x00001290 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' + 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x000012a0 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' + 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x000012b0 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' + 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x000012c0 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' + 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x000012d0 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' + 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x000012e0 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' + 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x000012f0 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' + 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x00001300 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' + 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x00001310 QUAD $0x3939383937393639 // .ascii 8, '96979899' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001318 .p2align 4, 0x00 + //0x00001320 _pow10_ceil_sig.g + 0x4f, 0xdc, 0xbc, 0xbe, 0xfc, 0xb1, 0x77, 0xff, //0x00001320 .quad -38366372719436721 + 0x7b, 0x0f, 0xbb, 0x13, 0x9c, 0xe8, 0xe8, 0x25, //0x00001328 .quad 2731688931043774331 + 0xb1, 0x09, 0x36, 0xf7, 0x3d, 0xcf, 0xaa, 0x9f, //0x00001330 .quad -6941508010590729807 + 0xad, 0xe9, 0x54, 0x8c, 0x61, 0x91, 0xb1, 0x77, //0x00001338 .quad 8624834609543440813 + 0x1d, 0x8c, 0x03, 0x75, 0x0d, 0x83, 0x95, 0xc7, //0x00001340 .quad -4065198994811024355 + 0x18, 0x24, 0x6a, 0xef, 0xb9, 0xf5, 0x9d, 0xd5, //0x00001348 .quad -3054014793352862696 + 0x25, 0x6f, 0x44, 0xd2, 0xd0, 0xe3, 0x7a, 0xf9, //0x00001350 .quad -469812725086392539 + 0x1e, 0xad, 0x44, 0x6b, 0x28, 0x73, 0x05, 0x4b, //0x00001358 .quad 5405853545163697438 + 0x77, 0xc5, 0x6a, 0x83, 0x62, 0xce, 0xec, 0x9b, //0x00001360 .quad -7211161980820077193 + 0x33, 0xec, 0x0a, 0x43, 0xf9, 0x67, 0xe3, 0x4e, //0x00001368 .quad 5684501474941004851 + 0xd5, 0x76, 0x45, 0x24, 0xfb, 0x01, 0xe8, 0xc2, //0x00001370 .quad -4402266457597708587 + 0x40, 0xa7, 0xcd, 0x93, 0xf7, 0x41, 0x9c, 0x22, //0x00001378 .quad 2493940825248868160 + 0x8a, 0xd4, 0x56, 0xed, 0x79, 0x02, 0xa2, 0xf3, //0x00001380 .quad -891147053569747830 + 0x10, 0x11, 0xc1, 0x78, 0x75, 0x52, 0x43, 0x6b, //0x00001388 .quad 7729112049988473104 + 0xd6, 0x44, 0x56, 0x34, 0x8c, 0x41, 0x45, 0x98, //0x00001390 .quad -7474495936122174250 + 0xaa, 0xaa, 0x78, 0x6b, 0x89, 0x13, 0x0a, 0x83, //0x00001398 .quad -9004363024039368022 + 0x0c, 0xd6, 0x6b, 0x41, 0xef, 0x91, 0x56, 0xbe, //0x000013a0 .quad -4731433901725329908 + 0x54, 0xd5, 0x56, 0xc6, 0x6b, 0x98, 0xcc, 0x23, //0x000013a8 .quad 2579604275232953684 + 0x8f, 0xcb, 0xc6, 0x11, 0x6b, 0x36, 0xec, 0xed, //0x000013b0 .quad -1302606358729274481 + 0xa9, 0x8a, 0xec, 0xb7, 0x86, 0xbe, 0xbf, 0x2c, //0x000013b8 .quad 3224505344041192105 + 0x39, 0x3f, 0x1c, 0xeb, 0x02, 0xa2, 0xb3, 0x94, //0x000013c0 .quad -7731658001846878407 + 0xaa, 0xd6, 0xf3, 0x32, 0x14, 0xd7, 0xf7, 0x7b, //0x000013c8 .quad 8932844867666826922 + 0x07, 0x4f, 0xe3, 0xa5, 0x83, 0x8a, 0xe0, 0xb9, //0x000013d0 .quad -5052886483881210105 + 0x54, 0xcc, 0xb0, 0x3f, 0xd9, 0xcc, 0xf5, 0xda, //0x000013d8 .quad -2669001970698630060 + 0xc9, 0x22, 0x5c, 0x8f, 0x24, 0xad, 0x58, 0xe8, //0x000013e0 .quad -1704422086424124727 + 0x69, 0xff, 0x9c, 0x8f, 0x0f, 0x40, 0xb3, 0xd1, //0x000013e8 .quad -3336252463373287575 + 0xbe, 0x95, 0x99, 0xd9, 0x36, 0x6c, 0x37, 0x91, //0x000013f0 .quad -7982792831656159810 + 0xa2, 0x1f, 0xc2, 0xb9, 0x09, 0x08, 0x10, 0x23, //0x000013f8 .quad 2526528228819083170 + 0x2d, 0xfb, 0xff, 0x8f, 0x44, 0x47, 0x85, 0xb5, //0x00001400 .quad -5366805021142811859 + 0x8b, 0xa7, 0x32, 0x28, 0x0c, 0x0a, 0xd4, 0xab, //0x00001408 .quad -6065211750830921845 + 0xf9, 0xf9, 0xff, 0xb3, 0x15, 0x99, 0xe6, 0xe2, //0x00001410 .quad -2096820258001126919 + 0x6d, 0x51, 0x3f, 0x32, 0x8f, 0x0c, 0xc9, 0x16, //0x00001418 .quad 1641857348316123501 + 0x3b, 0xfc, 0x7f, 0x90, 0xad, 0x1f, 0xd0, 0x8d, //0x00001420 .quad -8228041688891786181 + 0xe4, 0x92, 0x67, 0x7f, 0xd9, 0xa7, 0x3d, 0xae, //0x00001428 .quad -5891368184943504668 + 0x4a, 0xfb, 0x9f, 0xf4, 0x98, 0x27, 0x44, 0xb1, //0x00001430 .quad -5673366092687344822 + 0x9d, 0x77, 0x41, 0xdf, 0xcf, 0x11, 0xcd, 0x99, //0x00001438 .quad -7364210231179380835 + 0x1d, 0xfa, 0xc7, 0x31, 0x7f, 0x31, 0x95, 0xdd, //0x00001440 .quad -2480021597431793123 + 0x84, 0xd5, 0x11, 0xd7, 0x43, 0x56, 0x40, 0x40, //0x00001448 .quad 4629795266307937668 + 0x52, 0xfc, 0x1c, 0x7f, 0xef, 0x3e, 0x7d, 0x8a, //0x00001450 .quad -8467542526035952558 + 0x73, 0x25, 0x6b, 0x66, 0xea, 0x35, 0x28, 0x48, //0x00001458 .quad 5199465050656154995 + 0x66, 0x3b, 0xe4, 0x5e, 0xab, 0x8e, 0x1c, 0xad, //0x00001460 .quad -5972742139117552794 + 0xd0, 0xee, 0x05, 0x00, 0x65, 0x43, 0x32, 0xda, //0x00001468 .quad -2724040723534582064 + 0x40, 0x4a, 0x9d, 0x36, 0x56, 0xb2, 0x63, 0xd8, //0x00001470 .quad -2854241655469553088 + 0x83, 0x6a, 0x07, 0x40, 0x3e, 0xd4, 0xbe, 0x90, //0x00001478 .quad -8016736922845615485 + 0x68, 0x4e, 0x22, 0xe2, 0x75, 0x4f, 0x3e, 0x87, //0x00001480 .quad -8701430062309552536 + 0x92, 0xa2, 0x04, 0xe8, 0xa6, 0x44, 0x77, 0x5a, //0x00001488 .quad 6518754469289960082 + 0x02, 0xe2, 0xaa, 0x5a, 0x53, 0xe3, 0x0d, 0xa9, //0x00001490 .quad -6265101559459552766 + 0x37, 0xcb, 0x05, 0xa2, 0xd0, 0x15, 0x15, 0x71, //0x00001498 .quad 8148443086612450103 + 0x83, 0x9a, 0x55, 0x31, 0x28, 0x5c, 0x51, 0xd3, //0x000014a0 .quad -3219690930897053053 + 0x04, 0x3e, 0x87, 0xca, 0x44, 0x5b, 0x5a, 0x0d, //0x000014a8 .quad 962181821410786820 + 0x91, 0x80, 0xd5, 0x1e, 0x99, 0xd9, 0x12, 0x84, //0x000014b0 .quad -8929835859451740015 + 0xc3, 0x86, 0x94, 0xfe, 0x0a, 0x79, 0x58, 0xe8, //0x000014b8 .quad -1704479370831952189 + 0xb6, 0xe0, 0x8a, 0x66, 0xff, 0x8f, 0x17, 0xa5, //0x000014c0 .quad -6550608805887287114 + 0x73, 0xa8, 0x39, 0xbe, 0x4d, 0x97, 0x6e, 0x62, //0x000014c8 .quad 7092772823314835571 + 0xe3, 0x98, 0x2d, 0x40, 0xff, 0x73, 0x5d, 0xce, //0x000014d0 .quad -3576574988931720989 + 0x90, 0x12, 0xc8, 0x2d, 0x21, 0x3d, 0x0a, 0xfb, //0x000014d8 .quad -357406007711231344 + 0x8e, 0x7f, 0x1c, 0x88, 0x7f, 0x68, 0xfa, 0x80, //0x000014e0 .quad -9152888395723407474 + 0x9a, 0x0b, 0x9d, 0xbc, 0x34, 0x66, 0xe6, 0x7c, //0x000014e8 .quad 8999993282035256218 + 0x72, 0x9f, 0x23, 0x6a, 0x9f, 0x02, 0x39, 0xa1, //0x000014f0 .quad -6829424476226871438 + 0x81, 0x4e, 0xc4, 0xeb, 0xc1, 0xff, 0x1f, 0x1c, //0x000014f8 .quad 2026619565689294465 + 0x4e, 0x87, 0xac, 0x44, 0x47, 0x43, 0x87, 0xc9, //0x00001500 .quad -3925094576856201394 + 0x21, 0x62, 0xb5, 0x66, 0xb2, 0xff, 0x27, 0xa3, //0x00001508 .quad -6690097579743157727 + 0x22, 0xa9, 0xd7, 0x15, 0x19, 0x14, 0xe9, 0xfb, //0x00001510 .quad -294682202642863838 + 0xa9, 0xba, 0x62, 0x00, 0x9f, 0xff, 0xf1, 0x4b, //0x00001518 .quad 5472436080603216553 + 0xb5, 0xc9, 0xa6, 0xad, 0x8f, 0xac, 0x71, 0x9d, //0x00001520 .quad -7101705404292871755 + 0xaa, 0xb4, 0x3d, 0x60, 0xc3, 0x3f, 0x77, 0x6f, //0x00001528 .quad 8031958568804398250 + 0x22, 0x7c, 0x10, 0x99, 0xb3, 0x17, 0xce, 0xc4, //0x00001530 .quad -4265445736938701790 + 0xd4, 0x21, 0x4d, 0x38, 0xb4, 0x0f, 0x55, 0xcb, //0x00001538 .quad -3795109844276665900 + 0x2b, 0x9b, 0x54, 0x7f, 0xa0, 0x9d, 0x01, 0xf6, //0x00001540 .quad -720121152745989333 + 0x49, 0x6a, 0x60, 0x46, 0xa1, 0x53, 0x2a, 0x7e, //0x00001548 .quad 9091170749936331337 + 0xfb, 0xe0, 0x94, 0x4f, 0x84, 0x02, 0xc1, 0x99, //0x00001550 .quad -7367604748107325189 + 0x6e, 0x42, 0xfc, 0xcb, 0x44, 0x74, 0xda, 0x2e, //0x00001558 .quad 3376138709496513134 + 0x39, 0x19, 0x7a, 0x63, 0x25, 0x43, 0x31, 0xc0, //0x00001560 .quad -4597819916706768583 + 0x09, 0x53, 0xfb, 0xfe, 0x55, 0x11, 0x91, 0xfa, //0x00001568 .quad -391512631556746487 + 0x88, 0x9f, 0x58, 0xbc, 0xee, 0x93, 0x3d, 0xf0, //0x00001570 .quad -1135588877456072824 + 0xcb, 0x27, 0xba, 0x7e, 0xab, 0x55, 0x35, 0x79, //0x00001578 .quad 8733981247408842699 + 0xb5, 0x63, 0xb7, 0x35, 0x75, 0x7c, 0x26, 0x96, //0x00001580 .quad -7627272076051127371 + 0xdf, 0x58, 0x34, 0x2f, 0x8b, 0x55, 0xc1, 0x4b, //0x00001588 .quad 5458738279630526687 + 0xa2, 0x3c, 0x25, 0x83, 0x92, 0x1b, 0xb0, 0xbb, //0x00001590 .quad -4922404076636521310 + 0x17, 0x6f, 0x01, 0xfb, 0xed, 0xaa, 0xb1, 0x9e, //0x00001598 .quad -7011635205744005353 + 0xcb, 0x8b, 0xee, 0x23, 0x77, 0x22, 0x9c, 0xea, //0x000015a0 .quad -1541319077368263733 + 0xdd, 0xca, 0xc1, 0x79, 0xa9, 0x15, 0x5e, 0x46, //0x000015a8 .quad 5070514048102157021 + 0x5f, 0x17, 0x75, 0x76, 0x8a, 0x95, 0xa1, 0x92, //0x000015b0 .quad -7880853450996246689 + 0xca, 0x1e, 0x19, 0xec, 0x89, 0xcd, 0xfa, 0x0b, //0x000015b8 .quad 863228270850154186 + 0x36, 0x5d, 0x12, 0x14, 0xed, 0xfa, 0x49, 0xb7, //0x000015c0 .quad -5239380795317920458 + 0x7c, 0x66, 0x1f, 0x67, 0xec, 0x80, 0xf9, 0xce, //0x000015c8 .quad -3532650679864695172 + 0x84, 0xf4, 0x16, 0x59, 0xa8, 0x79, 0x1c, 0xe5, //0x000015d0 .quad -1937539975720012668 + 0x1b, 0x40, 0xe7, 0x80, 0x27, 0xe1, 0xb7, 0x82, //0x000015d8 .quad -9027499368258256869 + 0xd2, 0x58, 0xae, 0x37, 0x09, 0xcc, 0x31, 0x8f, //0x000015e0 .quad -8128491512466089774 + 0x11, 0x88, 0x90, 0xb0, 0xb8, 0xec, 0xb2, 0xd1, //0x000015e8 .quad -3336344095947716591 + 0x07, 0xef, 0x99, 0x85, 0x0b, 0x3f, 0xfe, 0xb2, //0x000015f0 .quad -5548928372155224313 + 0x16, 0xaa, 0xb4, 0xdc, 0xe6, 0xa7, 0x1f, 0x86, //0x000015f8 .quad -8782116138362033642 + 0xc9, 0x6a, 0x00, 0x67, 0xce, 0xce, 0xbd, 0xdf, //0x00001600 .quad -2324474446766642487 + 0x9b, 0xd4, 0xe1, 0x93, 0xe0, 0x91, 0xa7, 0x67, //0x00001608 .quad 7469098900757009563 + 0xbd, 0x42, 0x60, 0x00, 0x41, 0xa1, 0xd6, 0x8b, //0x00001610 .quad -8370325556870233411 + 0xe1, 0x24, 0x6d, 0x5c, 0x2c, 0xbb, 0xc8, 0xe0, //0x00001618 .quad -2249342214667950879 + 0x6d, 0x53, 0x78, 0x40, 0x91, 0x49, 0xcc, 0xae, //0x00001620 .quad -5851220927660403859 + 0x19, 0x6e, 0x88, 0x73, 0xf7, 0xe9, 0xfa, 0x58, //0x00001628 .quad 6411694268519837209 + 0x48, 0x68, 0x96, 0x90, 0xf5, 0x5b, 0x7f, 0xda, //0x00001630 .quad -2702340141148116920 + 0x9f, 0x89, 0x6a, 0x50, 0x75, 0xa4, 0x39, 0xaf, //0x00001638 .quad -5820440219632367201 + 0x2d, 0x01, 0x5e, 0x7a, 0x79, 0x99, 0x8f, 0x88, //0x00001640 .quad -8606491615858654931 + 0x04, 0x96, 0x42, 0x52, 0xc9, 0x06, 0x84, 0x6d, //0x00001648 .quad 7891439908798240260 + 0x78, 0x81, 0xf5, 0xd8, 0xd7, 0x7f, 0xb3, 0xaa, //0x00001650 .quad -6146428501395930760 + 0x84, 0x3b, 0xd3, 0xa6, 0x7b, 0x08, 0xe5, 0xc8, //0x00001658 .quad -3970758169284363388 + 0xd6, 0xe1, 0x32, 0xcf, 0xcd, 0x5f, 0x60, 0xd5, //0x00001660 .quad -3071349608317525546 + 0x65, 0x0a, 0x88, 0x90, 0x9a, 0x4a, 0x1e, 0xfb, //0x00001668 .quad -351761693178066331 + 0x26, 0xcd, 0x7f, 0xa1, 0xe0, 0x3b, 0x5c, 0x85, //0x00001670 .quad -8837122532839535322 + 0x80, 0x06, 0x55, 0x9a, 0xa0, 0xee, 0xf2, 0x5c, //0x00001678 .quad 6697677969404790400 + 0x6f, 0xc0, 0xdf, 0xc9, 0xd8, 0x4a, 0xb3, 0xa6, //0x00001680 .quad -6434717147622031249 + 0x1f, 0x48, 0xea, 0xc0, 0x48, 0xaa, 0x2f, 0xf4, //0x00001688 .quad -851274575098787809 + 0x8b, 0xb0, 0x57, 0xfc, 0x8e, 0x1d, 0x60, 0xd0, //0x00001690 .quad -3431710416100151157 + 0x27, 0xda, 0x24, 0xf1, 0xda, 0x94, 0x3b, 0xf1, //0x00001698 .quad -1064093218873484761 + 0x57, 0xce, 0xb6, 0x5d, 0x79, 0x12, 0x3c, 0x82, //0x000016a0 .quad -9062348037703676329 + 0x59, 0x08, 0xb7, 0xd6, 0x08, 0x3d, 0xc5, 0x76, //0x000016a8 .quad 8558313775058847833 + 0xed, 0x81, 0x24, 0xb5, 0x17, 0x17, 0xcb, 0xa2, //0x000016b0 .quad -6716249028702207507 + 0x6f, 0xca, 0x64, 0x0c, 0x4b, 0x8c, 0x76, 0x54, //0x000016b8 .quad 6086206200396171887 + 0x68, 0xa2, 0x6d, 0xa2, 0xdd, 0xdc, 0x7d, 0xcb, //0x000016c0 .quad -3783625267450371480 + 0x0a, 0xfd, 0x7d, 0xcf, 0x5d, 0x2f, 0x94, 0xa9, //0x000016c8 .quad -6227300304786948854 + 0x02, 0x0b, 0x09, 0x0b, 0x15, 0x54, 0x5d, 0xfe, //0x000016d0 .quad -117845565885576446 + 0x4d, 0x7c, 0x5d, 0x43, 0x35, 0x3b, 0xf9, 0xd3, //0x000016d8 .quad -3172439362556298163 + 0xe1, 0xa6, 0xe5, 0x26, 0x8d, 0x54, 0xfa, 0x9e, //0x000016e0 .quad -6991182506319567135 + 0xb0, 0x6d, 0x1a, 0x4a, 0x01, 0xc5, 0x7b, 0xc4, //0x000016e8 .quad -4288617610811380304 + 0x9a, 0x10, 0x9f, 0x70, 0xb0, 0xe9, 0xb8, 0xc6, //0x000016f0 .quad -4127292114472071014 + 0x1c, 0x09, 0xa1, 0x9c, 0x41, 0xb6, 0x9a, 0x35, //0x000016f8 .quad 3862600023340550428 + 0xc0, 0xd4, 0xc6, 0x8c, 0x1c, 0x24, 0x67, 0xf8, //0x00001700 .quad -547429124662700864 + 0x63, 0x4b, 0xc9, 0x03, 0xd2, 0x63, 0x01, 0xc3, //0x00001708 .quad -4395122007679087773 + 0xf8, 0x44, 0xfc, 0xd7, 0x91, 0x76, 0x40, 0x9b, //0x00001710 .quad -7259672230555269896 + 0x1e, 0xcf, 0x5d, 0x42, 0x63, 0xde, 0xe0, 0x79, //0x00001718 .quad 8782263791269039902 + 0x36, 0x56, 0xfb, 0x4d, 0x36, 0x94, 0x10, 0xc2, //0x00001720 .quad -4462904269766699466 + 0xe5, 0x42, 0xf5, 0x12, 0xfc, 0x15, 0x59, 0x98, //0x00001728 .quad -7468914334623251739 + 0xc4, 0x2b, 0x7a, 0xe1, 0x43, 0xb9, 0x94, 0xf2, //0x00001730 .quad -966944318780986428 + 0x9e, 0x93, 0xb2, 0x17, 0x7b, 0x5b, 0x6f, 0x3e, //0x00001738 .quad 4498915137003099038 + 0x5a, 0x5b, 0xec, 0x6c, 0xca, 0xf3, 0x9c, 0x97, //0x00001740 .quad -7521869226879198374 + 0x43, 0x9c, 0xcf, 0xee, 0x2c, 0x99, 0x05, 0xa7, //0x00001748 .quad -6411550076227838909 + 0x31, 0x72, 0x27, 0x08, 0xbd, 0x30, 0x84, 0xbd, //0x00001750 .quad -4790650515171610063 + 0x54, 0x83, 0x83, 0x2a, 0x78, 0xff, 0xc6, 0x50, //0x00001758 .quad 5820620459997365076 + 0xbd, 0x4e, 0x31, 0x4a, 0xec, 0x3c, 0xe5, 0xec, //0x00001760 .quad -1376627125537124675 + 0x29, 0x64, 0x24, 0x35, 0x56, 0xbf, 0xf8, 0xa4, //0x00001768 .quad -6559282480285457367 + 0x36, 0xd1, 0x5e, 0xae, 0x13, 0x46, 0x0f, 0x94, //0x00001770 .quad -7777920981101784778 + 0x9a, 0xbe, 0x36, 0xe1, 0x95, 0x77, 0x1b, 0x87, //0x00001778 .quad -8711237568605798758 + 0x84, 0x85, 0xf6, 0x99, 0x98, 0x17, 0x13, 0xb9, //0x00001780 .quad -5110715207949843068 + 0x40, 0x6e, 0x84, 0x59, 0x7b, 0x55, 0xe2, 0x28, //0x00001788 .quad 2946011094524915264 + 0xe5, 0x26, 0x74, 0xc0, 0x7e, 0xdd, 0x57, 0xe7, //0x00001790 .quad -1776707991509915931 + 0xd0, 0x89, 0xe5, 0x2f, 0xda, 0xea, 0x1a, 0x33, //0x00001798 .quad 3682513868156144080 + 0x4f, 0x98, 0x48, 0x38, 0x6f, 0xea, 0x96, 0x90, //0x000017a0 .quad -8027971522334779313 + 0x22, 0x76, 0xef, 0x5d, 0xc8, 0xd2, 0xf0, 0x3f, //0x000017a8 .quad 4607414176811284002 + 0x63, 0xbe, 0x5a, 0x06, 0x0b, 0xa5, 0xbc, 0xb4, //0x000017b0 .quad -5423278384491086237 + 0xaa, 0x53, 0x6b, 0x75, 0x7a, 0x07, 0xed, 0x0f, //0x000017b8 .quad 1147581702586717098 + 0xfb, 0x6d, 0xf1, 0xc7, 0x4d, 0xce, 0xeb, 0xe1, //0x000017c0 .quad -2167411962186469893 + 0x95, 0x28, 0xc6, 0x12, 0x59, 0x49, 0xe8, 0xd3, //0x000017c8 .quad -3177208890193991531 + 0xbd, 0xe4, 0xf6, 0x9c, 0xf0, 0x60, 0x33, 0x8d, //0x000017d0 .quad -8272161504007625539 + 0x5d, 0xd9, 0xbb, 0xab, 0xd7, 0x2d, 0x71, 0x64, //0x000017d8 .quad 7237616480483531101 + 0xec, 0x9d, 0x34, 0xc4, 0x2c, 0x39, 0x80, 0xb0, //0x000017e0 .quad -5728515861582144020 + 0xb4, 0xcf, 0xaa, 0x96, 0x4d, 0x79, 0x8d, 0xbd, //0x000017e8 .quad -4788037454677749836 + 0x67, 0xc5, 0x41, 0xf5, 0x77, 0x47, 0xa0, 0xdc, //0x000017f0 .quad -2548958808550292121 + 0xa1, 0x83, 0x55, 0xfc, 0xa0, 0xd7, 0xf0, 0xec, //0x000017f8 .quad -1373360799919799391 + 0x60, 0x1b, 0x49, 0xf9, 0xaa, 0x2c, 0xe4, 0x89, //0x00001800 .quad -8510628282985014432 + 0x45, 0x72, 0xb5, 0x9d, 0xc4, 0x86, 0x16, 0xf4, //0x00001808 .quad -858350499949874619 + 0x39, 0x62, 0x9b, 0xb7, 0xd5, 0x37, 0x5d, 0xac, //0x00001810 .quad -6026599335303880135 + 0xd6, 0xce, 0x22, 0xc5, 0x75, 0x28, 0x1c, 0x31, //0x00001818 .quad 3538747893490044630 + 0xc7, 0x3a, 0x82, 0x25, 0xcb, 0x85, 0x74, 0xd7, //0x00001820 .quad -2921563150702462265 + 0x8c, 0x82, 0x6b, 0x36, 0x93, 0x32, 0x63, 0x7d, //0x00001828 .quad 9035120885289943692 + 0xbc, 0x64, 0x71, 0xf7, 0x9e, 0xd3, 0xa8, 0x86, //0x00001830 .quad -8743505996830120772 + 0x98, 0x31, 0x03, 0x02, 0x9c, 0xff, 0x5d, 0xae, //0x00001838 .quad -5882264492762254952 + 0xeb, 0xbd, 0x4d, 0xb5, 0x86, 0x08, 0x53, 0xa8, //0x00001840 .quad -6317696477610263061 + 0xfd, 0xfd, 0x83, 0x02, 0x83, 0x7f, 0xf5, 0xd9, //0x00001848 .quad -2741144597525430787 + 0x66, 0x2d, 0xa1, 0x62, 0xa8, 0xca, 0x67, 0xd2, //0x00001850 .quad -3285434578585440922 + 0x7c, 0xfd, 0x24, 0xc3, 0x63, 0xdf, 0x72, 0xd0, //0x00001858 .quad -3426430746906788484 + 0x60, 0xbc, 0xa4, 0x3d, 0xa9, 0xde, 0x80, 0x83, //0x00001860 .quad -8970925639256982432 + 0x6e, 0x1e, 0xf7, 0x59, 0x9e, 0xcb, 0x47, 0x42, //0x00001868 .quad 4776009810824339054 + 0x78, 0xeb, 0x0d, 0x8d, 0x53, 0x16, 0x61, 0xa4, //0x00001870 .quad -6601971030643840136 + 0x09, 0xe6, 0x74, 0xf0, 0x85, 0xbe, 0xd9, 0x52, //0x00001878 .quad 5970012263530423817 + 0x56, 0x66, 0x51, 0x70, 0xe8, 0x5b, 0x79, 0xcd, //0x00001880 .quad -3640777769877412266 + 0x8c, 0x1f, 0x92, 0x6c, 0x27, 0x2e, 0x90, 0x67, //0x00001888 .quad 7462515329413029772 + 0xf6, 0xdf, 0x32, 0x46, 0x71, 0xd9, 0x6b, 0x80, //0x00001890 .quad -9193015133814464522 + 0xb7, 0x53, 0xdb, 0xa3, 0xd8, 0x1c, 0xba, 0x00, //0x00001898 .quad 52386062455755703 + 0xf3, 0x97, 0xbf, 0x97, 0xcd, 0xcf, 0x86, 0xa0, //0x000018a0 .quad -6879582898840692749 + 0xa5, 0x28, 0xd2, 0xcc, 0x0e, 0xa4, 0xe8, 0x80, //0x000018a8 .quad -9157889458785081179 + 0xf0, 0x7d, 0xaf, 0xfd, 0xc0, 0x83, 0xa8, 0xc8, //0x000018b0 .quad -3987792605123478032 + 0xce, 0xb2, 0x06, 0x80, 0x12, 0xcd, 0x22, 0x61, //0x000018b8 .quad 6999382250228200142 + 0x6c, 0x5d, 0x1b, 0x3d, 0xb1, 0xa4, 0xd2, 0xfa, //0x000018c0 .quad -373054737976959636 + 0x82, 0x5f, 0x08, 0x20, 0x57, 0x80, 0x6b, 0x79, //0x000018c8 .quad 8749227812785250178 + 0x63, 0x1a, 0x31, 0xc6, 0xee, 0xa6, 0xc3, 0x9c, //0x000018d0 .quad -7150688238876681629 + 0xb1, 0x3b, 0x05, 0x74, 0x36, 0x30, 0xe3, 0xcb, //0x000018d8 .quad -3755104653863994447 + 0xfc, 0x60, 0xbd, 0x77, 0xaa, 0x90, 0xf4, 0xc3, //0x000018e0 .quad -4326674280168464132 + 0x9d, 0x8a, 0x06, 0x11, 0x44, 0xfc, 0xdb, 0xbe, //0x000018e8 .quad -4693880817329993059 + 0x3b, 0xb9, 0xac, 0x15, 0xd5, 0xb4, 0xf1, 0xf4, //0x000018f0 .quad -796656831783192261 + 0x45, 0x2d, 0x48, 0x15, 0x55, 0xfb, 0x92, 0xee, //0x000018f8 .quad -1255665003235103419 + 0xc5, 0xf3, 0x8b, 0x2d, 0x05, 0x11, 0x17, 0x99, //0x00001900 .quad -7415439547505577019 + 0x4b, 0x1c, 0x4d, 0x2d, 0x15, 0xdd, 0x1b, 0x75, //0x00001908 .quad 8438581409832836171 + 0xb6, 0xf0, 0xee, 0x78, 0x46, 0xd5, 0x5c, 0xbf, //0x00001910 .quad -4657613415954583370 + 0x5e, 0x63, 0xa0, 0x78, 0x5a, 0xd4, 0x62, 0xd2, //0x00001918 .quad -3286831292991118498 + 0xe4, 0xac, 0x2a, 0x17, 0x98, 0x0a, 0x34, 0xef, //0x00001920 .quad -1210330751515841308 + 0x35, 0x7c, 0xc8, 0x16, 0x71, 0x89, 0xfb, 0x86, //0x00001928 .quad -8720225134666286027 + 0x0e, 0xac, 0x7a, 0x0e, 0x9f, 0x86, 0x80, 0x95, //0x00001930 .quad -7673985747338482674 + 0xa1, 0x4d, 0x3d, 0xae, 0xe6, 0x35, 0x5d, 0xd4, //0x00001938 .quad -3144297699952734815 + 0x12, 0x57, 0x19, 0xd2, 0x46, 0xa8, 0xe0, 0xba, //0x00001940 .quad -4980796165745715438 + 0x0a, 0xa1, 0xcc, 0x59, 0x60, 0x83, 0x74, 0x89, //0x00001948 .quad -8542058143368306422 + 0xd7, 0xac, 0x9f, 0x86, 0x58, 0xd2, 0x98, 0xe9, //0x00001950 .quad -1614309188754756393 + 0x4c, 0xc9, 0x3f, 0x70, 0x38, 0xa4, 0xd1, 0x2b, //0x00001958 .quad 3157485376071780684 + 0x06, 0xcc, 0x23, 0x54, 0x77, 0x83, 0xff, 0x91, //0x00001960 .quad -7926472270612804602 + 0xd0, 0xdd, 0x27, 0x46, 0xa3, 0x06, 0x63, 0x7b, //0x00001968 .quad 8890957387685944784 + 0x08, 0xbf, 0x2c, 0x29, 0x55, 0x64, 0x7f, 0xb6, //0x00001970 .quad -5296404319838617848 + 0x43, 0xd5, 0xb1, 0x17, 0x4c, 0xc8, 0x3b, 0x1a, //0x00001978 .quad 1890324697752655171 + 0xca, 0xee, 0x77, 0x73, 0x6a, 0x3d, 0x1f, 0xe4, //0x00001980 .quad -2008819381370884406 + 0x94, 0x4a, 0x9e, 0x1d, 0x5f, 0xba, 0xca, 0x20, //0x00001988 .quad 2362905872190818964 + 0x3e, 0xf5, 0x2a, 0x88, 0x62, 0x86, 0x93, 0x8e, //0x00001990 .quad -8173041140997884610 + 0x9d, 0xee, 0x82, 0x72, 0x7b, 0xb4, 0x7e, 0x54, //0x00001998 .quad 6088502188546649757 + 0x8d, 0xb2, 0x35, 0x2a, 0xfb, 0x67, 0x38, 0xb2, //0x000019a0 .quad -5604615407819967859 + 0x44, 0xaa, 0x23, 0x4f, 0x9a, 0x61, 0x9e, 0xe9, //0x000019a8 .quad -1612744301171463612 + 0x31, 0x1f, 0xc3, 0xf4, 0xf9, 0x81, 0xc6, 0xde, //0x000019b0 .quad -2394083241347571919 + 0xd5, 0x94, 0xec, 0xe2, 0x00, 0xfa, 0x05, 0x64, //0x000019b8 .quad 7207441660390446293 + 0x7e, 0xf3, 0xf9, 0x38, 0x3c, 0x11, 0x3c, 0x8b, //0x000019c0 .quad -8413831053483314306 + 0x05, 0xdd, 0xd3, 0x8d, 0x40, 0xbc, 0x83, 0xde, //0x000019c8 .quad -2412877989897052923 + 0x5e, 0x70, 0x38, 0x47, 0x8b, 0x15, 0x0b, 0xae, //0x000019d0 .quad -5905602798426754978 + 0x46, 0xd4, 0x48, 0xb1, 0x50, 0xab, 0x24, 0x96, //0x000019d8 .quad -7627783505798704058 + 0x76, 0x8c, 0x06, 0x19, 0xee, 0xda, 0x8d, 0xd9, //0x000019e0 .quad -2770317479606055818 + 0x58, 0x09, 0x9b, 0xdd, 0x24, 0xd6, 0xad, 0x3b, //0x000019e8 .quad 4300328673033783640 + 0xc9, 0x17, 0xa4, 0xcf, 0xd4, 0xa8, 0xf8, 0x87, //0x000019f0 .quad -8648977452394866743 + 0xd7, 0xe5, 0x80, 0x0a, 0xd7, 0xa5, 0x4c, 0xe5, //0x000019f8 .quad -1923980597781273129 + 0xbc, 0x1d, 0x8d, 0x03, 0x0a, 0xd3, 0xf6, 0xa9, //0x00001a00 .quad -6199535797066195524 + 0x4d, 0x1f, 0x21, 0xcd, 0x4c, 0xcf, 0x9f, 0x5e, //0x00001a08 .quad 6818396289628184397 + 0x2b, 0x65, 0x70, 0x84, 0xcc, 0x87, 0x74, 0xd4, //0x00001a10 .quad -3137733727905356501 + 0x20, 0x67, 0x69, 0x00, 0x20, 0xc3, 0x47, 0x76, //0x00001a18 .quad 8522995362035230496 + 0x3b, 0x3f, 0xc6, 0xd2, 0xdf, 0xd4, 0xc8, 0x84, //0x00001a20 .quad -8878612607581929669 + 0x74, 0xe0, 0x41, 0x00, 0xf4, 0xd9, 0xec, 0x29, //0x00001a28 .quad 3021029092058325108 + 0x09, 0xcf, 0x77, 0xc7, 0x17, 0x0a, 0xfb, 0xa5, //0x00001a30 .quad -6486579741050024183 + 0x91, 0x58, 0x52, 0x00, 0x71, 0x10, 0x68, 0xf4, //0x00001a38 .quad -835399653354481519 + 0xcc, 0xc2, 0x55, 0xb9, 0x9d, 0xcc, 0x79, 0xcf, //0x00001a40 .quad -3496538657885142324 + 0xb5, 0xee, 0x66, 0x40, 0x8d, 0x14, 0x82, 0x71, //0x00001a48 .quad 8179122470161673909 + 0xbf, 0x99, 0xd5, 0x93, 0xe2, 0x1f, 0xac, 0x81, //0x00001a50 .quad -9102865688819295809 + 0x31, 0x55, 0x40, 0x48, 0xd8, 0x4c, 0xf1, 0xc6, //0x00001a58 .quad -4111420493003729615 + 0x2f, 0x00, 0xcb, 0x38, 0xdb, 0x27, 0x17, 0xa2, //0x00001a60 .quad -6766896092596731857 + 0x7d, 0x6a, 0x50, 0x5a, 0x0e, 0xa0, 0xad, 0xb8, //0x00001a68 .quad -5139275616254662019 + 0x3b, 0xc0, 0xfd, 0x06, 0xd2, 0xf1, 0x9c, 0xca, //0x00001a70 .quad -3846934097318526917 + 0x1d, 0x85, 0xe4, 0xf0, 0x11, 0x08, 0xd9, 0xa6, //0x00001a78 .quad -6424094520318327523 + 0x4a, 0x30, 0xbd, 0x88, 0x46, 0x2e, 0x44, 0xfd, //0x00001a80 .quad -196981603220770742 + 0x64, 0xa6, 0x1d, 0x6d, 0x16, 0x4a, 0x8f, 0x90, //0x00001a88 .quad -8030118150397909404 + 0x2e, 0x3e, 0x76, 0x15, 0xec, 0x9c, 0x4a, 0x9e, //0x00001a90 .quad -7040642529654063570 + 0xff, 0x87, 0x32, 0x04, 0x4e, 0x8e, 0x59, 0x9a, //0x00001a98 .quad -7324666853212387329 + 0xba, 0xcd, 0xd3, 0x1a, 0x27, 0x44, 0xdd, 0xc5, //0x00001aa0 .quad -4189117143640191558 + 0xfe, 0x29, 0x3f, 0x85, 0xe1, 0xf1, 0xef, 0x40, //0x00001aa8 .quad 4679224488766679550 + 0x28, 0xc1, 0x88, 0xe1, 0x30, 0x95, 0x54, 0xf7, //0x00001ab0 .quad -624710411122851544 + 0x7d, 0xf4, 0x8e, 0xe6, 0x59, 0xee, 0x2b, 0xd1, //0x00001ab8 .quad -3374341425896426371 + 0xb9, 0x78, 0xf5, 0x8c, 0x3e, 0xdd, 0x94, 0x9a, //0x00001ac0 .quad -7307973034592864071 + 0xcf, 0x58, 0x19, 0x30, 0xf8, 0x74, 0xbb, 0x82, //0x00001ac8 .quad -9026492418826348337 + 0xe7, 0xd6, 0x32, 0x30, 0x8e, 0x14, 0x3a, 0xc1, //0x00001ad0 .quad -4523280274813692185 + 0x02, 0xaf, 0x1f, 0x3c, 0x36, 0x52, 0x6a, 0xe3, //0x00001ad8 .quad -2059743486678159614 + 0xa1, 0x8c, 0x3f, 0xbc, 0xb1, 0x99, 0x88, 0xf1, //0x00001ae0 .quad -1042414325089727327 + 0xc2, 0x9a, 0x27, 0xcb, 0xc3, 0xe6, 0x44, 0xdc, //0x00001ae8 .quad -2574679358347699518 + 0xe5, 0xb7, 0xa7, 0x15, 0x0f, 0x60, 0xf5, 0x96, //0x00001af0 .quad -7569037980822161435 + 0xba, 0xc0, 0xf8, 0x5e, 0x3a, 0x10, 0xab, 0x29, //0x00001af8 .quad 3002511419460075706 + 0xde, 0xa5, 0x11, 0xdb, 0x12, 0xb8, 0xb2, 0xbc, //0x00001b00 .quad -4849611457600313890 + 0xe8, 0xf0, 0xb6, 0xf6, 0x48, 0xd4, 0x15, 0x74, //0x00001b08 .quad 8364825292752482536 + 0x56, 0x0f, 0xd6, 0x91, 0x17, 0x66, 0xdf, 0xeb, //0x00001b10 .quad -1450328303573004458 + 0x22, 0xad, 0x64, 0x34, 0x5b, 0x49, 0x1b, 0x11, //0x00001b18 .quad 1232659579085827362 + 0x95, 0xc9, 0x25, 0xbb, 0xce, 0x9f, 0x6b, 0x93, //0x00001b20 .quad -7823984217374209643 + 0x35, 0xec, 0xbe, 0x00, 0xd9, 0x0d, 0xb1, 0xca, //0x00001b28 .quad -3841273781498745803 + 0xfb, 0x3b, 0xef, 0x69, 0xc2, 0x87, 0x46, 0xb8, //0x00001b30 .quad -5168294253290374149 + 0x43, 0xa7, 0xee, 0x40, 0x4f, 0x51, 0x5d, 0x3d, //0x00001b38 .quad 4421779809981343555 + 0xfa, 0x0a, 0x6b, 0x04, 0xb3, 0x29, 0x58, 0xe6, //0x00001b40 .quad -1848681798185579782 + 0x13, 0x51, 0x2a, 0x11, 0xa3, 0xa5, 0xb4, 0x0c, //0x00001b48 .quad 915538744049291539 + 0xdc, 0xe6, 0xc2, 0xe2, 0x0f, 0x1a, 0xf7, 0x8f, //0x00001b50 .quad -8072955151507069220 + 0xac, 0x72, 0xba, 0xea, 0x85, 0xe7, 0xf0, 0x47, //0x00001b58 .quad 5183897733458195116 + 0x93, 0xa0, 0x73, 0xdb, 0x93, 0xe0, 0xf4, 0xb3, //0x00001b60 .quad -5479507920956448621 + 0x57, 0x0f, 0x69, 0x65, 0x67, 0x21, 0xed, 0x59, //0x00001b68 .quad 6479872166822743895 + 0xb8, 0x88, 0x50, 0xd2, 0xb8, 0x18, 0xf2, 0xe0, //0x00001b70 .quad -2237698882768172872 + 0x2d, 0x53, 0xc3, 0x3e, 0xc1, 0x69, 0x68, 0x30, //0x00001b78 .quad 3488154190101041965 + 0x73, 0x55, 0x72, 0x83, 0x73, 0x4f, 0x97, 0x8c, //0x00001b80 .quad -8316090829371189901 + 0xfc, 0x13, 0x3a, 0xc7, 0x18, 0x42, 0x41, 0x1e, //0x00001b88 .quad 2180096368813151228 + 0xcf, 0xea, 0x4e, 0x64, 0x50, 0x23, 0xbd, 0xaf, //0x00001b90 .quad -5783427518286599473 + 0xfb, 0x98, 0x08, 0xf9, 0x9e, 0x92, 0xd1, 0xe5, //0x00001b98 .quad -1886565557410948869 + 0x83, 0xa5, 0x62, 0x7d, 0x24, 0x6c, 0xac, 0xdb, //0x00001ba0 .quad -2617598379430861437 + 0x3a, 0xbf, 0x4a, 0xb7, 0x46, 0xf7, 0x45, 0xdf, //0x00001ba8 .quad -2358206946763686086 + 0x72, 0xa7, 0x5d, 0xce, 0x96, 0xc3, 0x4b, 0x89, //0x00001bb0 .quad -8553528014785370254 + 0x84, 0xb7, 0x8e, 0x32, 0x8c, 0xba, 0x8b, 0x6b, //0x00001bb8 .quad 7749492695127472004 + 0x4f, 0x11, 0xf5, 0x81, 0x7c, 0xb4, 0x9e, 0xab, //0x00001bc0 .quad -6080224000054324913 + 0x65, 0x65, 0x32, 0x3f, 0x2f, 0xa9, 0x6e, 0x06, //0x00001bc8 .quad 463493832054564197 + 0xa2, 0x55, 0x72, 0xa2, 0x9b, 0x61, 0x86, 0xd6, //0x00001bd0 .quad -2988593981640518238 + 0xbe, 0xfe, 0xfe, 0x0e, 0x7b, 0x53, 0x0a, 0xc8, //0x00001bd8 .quad -4032318728359182658 + 0x85, 0x75, 0x87, 0x45, 0x01, 0xfd, 0x13, 0x86, //0x00001be0 .quad -8785400266166405755 + 0x37, 0x5f, 0x5f, 0xe9, 0x2c, 0x74, 0x06, 0xbd, //0x00001be8 .quad -4826042214438183113 + 0xe7, 0x52, 0xe9, 0x96, 0x41, 0xfc, 0x98, 0xa7, //0x00001bf0 .quad -6370064314280619289 + 0x05, 0x37, 0xb7, 0x23, 0x38, 0x11, 0x48, 0x2c, //0x00001bf8 .quad 3190819268807046917 + 0xa0, 0xa7, 0xa3, 0xfc, 0x51, 0x3b, 0x7f, 0xd1, //0x00001c00 .quad -3350894374423386208 + 0xc6, 0x04, 0xa5, 0x2c, 0x86, 0x15, 0x5a, 0xf7, //0x00001c08 .quad -623161932418579258 + 0xc4, 0x48, 0xe6, 0x3d, 0x13, 0x85, 0xef, 0x82, //0x00001c10 .quad -9011838011655698236 + 0xfc, 0x22, 0xe7, 0xdb, 0x73, 0x4d, 0x98, 0x9a, //0x00001c18 .quad -7307005235402693892 + 0xf5, 0xda, 0x5f, 0x0d, 0x58, 0x66, 0xab, 0xa3, //0x00001c20 .quad -6653111496142234891 + 0xbb, 0xeb, 0xe0, 0xd2, 0xd0, 0x60, 0x3e, 0xc1, //0x00001c28 .quad -4522070525825979461 + 0xb3, 0xd1, 0xb7, 0x10, 0xee, 0x3f, 0x96, 0xcc, //0x00001c30 .quad -3704703351750405709 + 0xa9, 0x26, 0x99, 0x07, 0x05, 0xf9, 0x8d, 0x31, //0x00001c38 .quad 3570783879572301481 + 0x1f, 0xc6, 0xe5, 0x94, 0xe9, 0xcf, 0xbb, 0xff, //0x00001c40 .quad -19193171260619233 + 0x53, 0x70, 0x7f, 0x49, 0x46, 0x77, 0xf1, 0xfd, //0x00001c48 .quad -148206168962011053 + 0xd3, 0x9b, 0x0f, 0xfd, 0xf1, 0x61, 0xd5, 0x9f, //0x00001c50 .quad -6929524759678968877 + 0x34, 0xa6, 0xef, 0xed, 0x8b, 0xea, 0xb6, 0xfe, //0x00001c58 .quad -92628855601256908 + 0xc8, 0x82, 0x53, 0x7c, 0x6e, 0xba, 0xca, 0xc7, //0x00001c60 .quad -4050219931171323192 + 0xc1, 0x8f, 0x6b, 0xe9, 0x2e, 0xa5, 0x64, 0xfe, //0x00001c68 .quad -115786069501571135 + 0x7b, 0x63, 0x68, 0x1b, 0x0a, 0x69, 0xbd, 0xf9, //0x00001c70 .quad -451088895536766085 + 0xb1, 0x73, 0xc6, 0xa3, 0x7a, 0xce, 0xfd, 0x3d, //0x00001c78 .quad 4466953431550423985 + 0x2d, 0x3e, 0x21, 0x51, 0xa6, 0x61, 0x16, 0x9c, //0x00001c80 .quad -7199459587351560659 + 0x4f, 0x08, 0x5c, 0xa6, 0x0c, 0xa1, 0xbe, 0x06, //0x00001c88 .quad 486002885505321039 + 0xb8, 0x8d, 0x69, 0xe5, 0x0f, 0xfa, 0x1b, 0xc3, //0x00001c90 .quad -4387638465762062920 + 0x63, 0x0a, 0xf3, 0xcf, 0x4f, 0x49, 0x6e, 0x48, //0x00001c98 .quad 5219189625309039203 + 0x26, 0xf1, 0xc3, 0xde, 0x93, 0xf8, 0xe2, 0xf3, //0x00001ca0 .quad -872862063775190746 + 0xfb, 0xcc, 0xef, 0xc3, 0xa3, 0xdb, 0x89, 0x5a, //0x00001ca8 .quad 6523987031636299003 + 0xb7, 0x76, 0x3a, 0x6b, 0x5c, 0xdb, 0x6d, 0x98, //0x00001cb0 .quad -7463067817500576073 + 0x1d, 0xe0, 0x75, 0x5a, 0x46, 0x29, 0x96, 0xf8, //0x00001cb8 .quad -534194123654701027 + 0x65, 0x14, 0x09, 0x86, 0x33, 0x52, 0x89, 0xbe, //0x00001cc0 .quad -4717148753448332187 + 0x24, 0x58, 0x13, 0xf1, 0x97, 0xb3, 0xbb, 0xf6, //0x00001cc8 .quad -667742654568376284 + 0x7f, 0x59, 0x8b, 0x67, 0xc0, 0xa6, 0x2b, 0xee, //0x00001cd0 .quad -1284749923383027329 + 0x2d, 0x2e, 0x58, 0xed, 0x7d, 0xa0, 0x6a, 0x74, //0x00001cd8 .quad 8388693718644305453 + 0xef, 0x17, 0xb7, 0x40, 0x38, 0x48, 0xdb, 0x94, //0x00001ce0 .quad -7720497729755473937 + 0xdd, 0x1c, 0x57, 0xb4, 0x4e, 0xa4, 0xc2, 0xa8, //0x00001ce8 .quad -6286281471915778851 + 0xeb, 0xdd, 0xe4, 0x50, 0x46, 0x1a, 0x12, 0xba, //0x00001cf0 .quad -5038936143766954517 + 0x14, 0xe4, 0x6c, 0x61, 0x62, 0x4d, 0xf3, 0x92, //0x00001cf8 .quad -7857851839894723564 + 0x66, 0x15, 0x1e, 0xe5, 0xd7, 0xa0, 0x96, 0xe8, //0x00001d00 .quad -1686984161281305242 + 0x18, 0x1d, 0xc8, 0xf9, 0xba, 0x20, 0xb0, 0x77, //0x00001d08 .quad 8624429273841147160 + 0x60, 0xcd, 0x32, 0xef, 0x86, 0x24, 0x5e, 0x91, //0x00001d10 .quad -7971894128441897632 + 0x2f, 0x12, 0x1d, 0xdc, 0x74, 0x14, 0xce, 0x0a, //0x00001d18 .quad 778582277723329071 + 0xb8, 0x80, 0xff, 0xaa, 0xa8, 0xad, 0xb5, 0xb5, //0x00001d20 .quad -5353181642124984136 + 0xbb, 0x56, 0x24, 0x13, 0x92, 0x99, 0x81, 0x0d, //0x00001d28 .quad 973227847154161339 + 0xe6, 0x60, 0xbf, 0xd5, 0x12, 0x19, 0x23, 0xe3, //0x00001d30 .quad -2079791034228842266 + 0x6a, 0x6c, 0xed, 0x97, 0xf6, 0xff, 0xe1, 0x10, //0x00001d38 .quad 1216534808942701674 + 0x8f, 0x9c, 0x97, 0xc5, 0xab, 0xef, 0xf5, 0x8d, //0x00001d40 .quad -8217398424034108273 + 0xc2, 0x63, 0xf4, 0x1e, 0xfa, 0x3f, 0x8d, 0xca, //0x00001d48 .quad -3851351762838199358 + 0xb3, 0x83, 0xfd, 0xb6, 0x96, 0x6b, 0x73, 0xb1, //0x00001d50 .quad -5660062011615247437 + 0xb3, 0x7c, 0xb1, 0xa6, 0xf8, 0x8f, 0x30, 0xbd, //0x00001d58 .quad -4814189703547749197 + 0xa0, 0xe4, 0xbc, 0x64, 0x7c, 0x46, 0xd0, 0xdd, //0x00001d60 .quad -2463391496091671392 + 0xdf, 0xdb, 0x5d, 0xd0, 0xf6, 0xb3, 0x7c, 0xac, //0x00001d68 .quad -6017737129434686497 + 0xe4, 0x0e, 0xf6, 0xbe, 0x0d, 0x2c, 0xa2, 0x8a, //0x00001d70 .quad -8457148712698376476 + 0x6c, 0xa9, 0x3a, 0x42, 0x7a, 0xf0, 0xcd, 0x6b, //0x00001d78 .quad 7768129340171790700 + 0x9d, 0x92, 0xb3, 0x2e, 0x11, 0xb7, 0x4a, 0xad, //0x00001d80 .quad -5959749872445582691 + 0xc7, 0x53, 0xc9, 0xd2, 0x98, 0x6c, 0xc1, 0x86, //0x00001d88 .quad -8736582398494813241 + 0x44, 0x77, 0x60, 0x7a, 0xd5, 0x64, 0x9d, 0xd8, //0x00001d90 .quad -2838001322129590460 + 0xb8, 0xa8, 0x7b, 0x07, 0xbf, 0xc7, 0x71, 0xe8, //0x00001d98 .quad -1697355961263740744 + 0x8b, 0x4a, 0x7c, 0x6c, 0x05, 0x5f, 0x62, 0x87, //0x00001da0 .quad -8691279853972075893 + 0x73, 0x49, 0xad, 0x64, 0xd7, 0x1c, 0x47, 0x11, //0x00001da8 .quad 1244995533423855987 + 0x2d, 0x5d, 0x9b, 0xc7, 0xc6, 0xf6, 0x3a, 0xa9, //0x00001db0 .quad -6252413799037706963 + 0xd0, 0x9b, 0xd8, 0x3d, 0x0d, 0xe4, 0x98, 0xd5, //0x00001db8 .quad -3055441601647567920 + 0x79, 0x34, 0x82, 0x79, 0x78, 0xb4, 0x89, 0xd3, //0x00001dc0 .quad -3203831230369745799 + 0xc4, 0xc2, 0x4e, 0x8d, 0x10, 0x1d, 0xff, 0x4a, //0x00001dc8 .quad 5404070034795315908 + 0xcb, 0x60, 0xf1, 0x4b, 0xcb, 0x10, 0x36, 0x84, //0x00001dd0 .quad -8919923546622172981 + 0xbb, 0x39, 0x51, 0x58, 0x2a, 0x72, 0xdf, 0xce, //0x00001dd8 .quad -3539985255894009413 + 0xfe, 0xb8, 0xed, 0x1e, 0xfe, 0x94, 0x43, 0xa5, //0x00001de0 .quad -6538218414850328322 + 0x29, 0x88, 0x65, 0xee, 0xb4, 0x4e, 0x97, 0xc2, //0x00001de8 .quad -4424981569867511767 + 0x3e, 0x27, 0xa9, 0xa6, 0x3d, 0x7a, 0x94, 0xce, //0x00001df0 .quad -3561087000135522498 + 0x33, 0xea, 0xfe, 0x29, 0x62, 0x22, 0x3d, 0x73, //0x00001df8 .quad 8303831092947774003 + 0x87, 0xb8, 0x29, 0x88, 0x66, 0xcc, 0x1c, 0x81, //0x00001e00 .quad -9143208402725783417 + 0x60, 0x52, 0x3f, 0x5a, 0x7d, 0x35, 0x06, 0x08, //0x00001e08 .quad 578208414664970848 + 0xa8, 0x26, 0x34, 0x2a, 0x80, 0xff, 0x63, 0xa1, //0x00001e10 .quad -6817324484979841368 + 0xf8, 0x26, 0xcf, 0xb0, 0xdc, 0xc2, 0x07, 0xca, //0x00001e18 .quad -3888925500096174344 + 0x52, 0x30, 0xc1, 0x34, 0x60, 0xff, 0xbc, 0xc9, //0x00001e20 .quad -3909969587797413806 + 0xb6, 0xf0, 0x02, 0xdd, 0x93, 0xb3, 0x89, 0xfc, //0x00001e28 .quad -249470856692830026 + 0x67, 0x7c, 0xf1, 0x41, 0x38, 0x3f, 0x2c, 0xfc, //0x00001e30 .quad -275775966319379353 + 0xe3, 0xac, 0x43, 0xd4, 0x78, 0x20, 0xac, 0xbb, //0x00001e38 .quad -4923524589293425437 + 0xc0, 0xed, 0x36, 0x29, 0x83, 0xa7, 0x9b, 0x9d, //0x00001e40 .quad -7089889006590693952 + 0x0e, 0x4c, 0xaa, 0x84, 0x4b, 0x94, 0x4b, 0xd5, //0x00001e48 .quad -3077202868308390898 + 0x31, 0xa9, 0x84, 0xf3, 0x63, 0x91, 0x02, 0xc5, //0x00001e50 .quad -4250675239810979535 + 0x12, 0xdf, 0xd4, 0x65, 0x5e, 0x79, 0x9e, 0x0a, //0x00001e58 .quad 765182433041899282 + 0x7d, 0xd3, 0x65, 0xf0, 0xbc, 0x35, 0x43, 0xf6, //0x00001e60 .quad -701658031336336515 + 0xd6, 0x16, 0x4a, 0xff, 0xb5, 0x17, 0x46, 0x4d, //0x00001e68 .quad 5568164059729762006 + 0x2e, 0xa4, 0x3f, 0x16, 0x96, 0x01, 0xea, 0x99, //0x00001e70 .quad -7356065297226292178 + 0x46, 0x4e, 0x8e, 0xbf, 0xd1, 0xce, 0x4b, 0x50, //0x00001e78 .quad 5785945546544795206 + 0x39, 0x8d, 0xcf, 0x9b, 0xfb, 0x81, 0x64, 0xc0, //0x00001e80 .quad -4583395603105477319 + 0xd7, 0xe1, 0x71, 0x2f, 0x86, 0xc2, 0x5e, 0xe4, //0x00001e88 .quad -1990940103673781801 + 0x88, 0x70, 0xc3, 0x82, 0x7a, 0xa2, 0x7d, 0xf0, //0x00001e90 .quad -1117558485454458744 + 0x4d, 0x5a, 0x4e, 0xbb, 0x27, 0x73, 0x76, 0x5d, //0x00001e98 .quad 6734696907262548557 + 0x55, 0x26, 0xba, 0x91, 0x8c, 0x85, 0x4e, 0x96, //0x00001ea0 .quad -7616003081050118571 + 0x70, 0xf8, 0x10, 0xd5, 0xf8, 0x07, 0x6a, 0x3a, //0x00001ea8 .quad 4209185567039092848 + 0xea, 0xaf, 0x28, 0xb6, 0xef, 0x26, 0xe2, 0xbb, //0x00001eb0 .quad -4908317832885260310 + 0x8c, 0x36, 0x55, 0x0a, 0xf7, 0x89, 0x04, 0x89, //0x00001eb8 .quad -8573576096483297652 + 0xe5, 0xdb, 0xb2, 0xa3, 0xab, 0xb0, 0xda, 0xea, //0x00001ec0 .quad -1523711272679187483 + 0x2f, 0x84, 0xea, 0xcc, 0x74, 0xac, 0x45, 0x2b, //0x00001ec8 .quad 3118087934678041647 + 0x6f, 0xc9, 0x4f, 0x46, 0x6b, 0xae, 0xc8, 0x92, //0x00001ed0 .quad -7869848573065574033 + 0x9e, 0x92, 0x12, 0x00, 0xc9, 0x8b, 0x0b, 0x3b, //0x00001ed8 .quad 4254647968387469982 + 0xcb, 0xbb, 0xe3, 0x17, 0x06, 0xda, 0x7a, 0xb7, //0x00001ee0 .quad -5225624697904579637 + 0x45, 0x37, 0x17, 0x40, 0xbb, 0x6e, 0xce, 0x09, //0x00001ee8 .quad 706623942056949573 + 0xbd, 0xaa, 0xdc, 0x9d, 0x87, 0x90, 0x59, 0xe5, //0x00001ef0 .quad -1920344853953336643 + 0x16, 0x05, 0x1d, 0x10, 0x6a, 0x0a, 0x42, 0xcc, //0x00001ef8 .quad -3728406090856200938 + 0xb6, 0xea, 0xa9, 0xc2, 0x54, 0xfa, 0x57, 0x8f, //0x00001f00 .quad -8117744561361917258 + 0x2e, 0x23, 0x12, 0x4a, 0x82, 0x46, 0xa9, 0x9f, //0x00001f08 .quad -6941939825212513490 + 0x64, 0x65, 0x54, 0xf3, 0xe9, 0xf8, 0x2d, 0xb3, //0x00001f10 .quad -5535494683275008668 + 0xfa, 0xab, 0x96, 0xdc, 0x22, 0x98, 0x93, 0x47, //0x00001f18 .quad 5157633273766521850 + 0xbd, 0x7e, 0x29, 0x70, 0x24, 0x77, 0xf9, 0xdf, //0x00001f20 .quad -2307682335666372931 + 0xf8, 0x56, 0xbc, 0x93, 0x2b, 0x7e, 0x78, 0x59, //0x00001f28 .quad 6447041592208152312 + 0x36, 0xef, 0x19, 0xc6, 0x76, 0xea, 0xfb, 0x8b, //0x00001f30 .quad -8359830487432564938 + 0x5b, 0xb6, 0x55, 0x3c, 0xdb, 0x4e, 0xeb, 0x57, //0x00001f38 .quad 6335244004343789147 + 0x03, 0x6b, 0xa0, 0x77, 0x14, 0xe5, 0xfa, 0xae, //0x00001f40 .quad -5838102090863318269 + 0xf2, 0x23, 0x6b, 0x0b, 0x92, 0x22, 0xe6, 0xed, //0x00001f48 .quad -1304317031425039374 + 0xc4, 0x85, 0x88, 0x95, 0x59, 0x9e, 0xb9, 0xda, //0x00001f50 .quad -2685941595151759932 + 0xee, 0xec, 0x45, 0x8e, 0x36, 0xab, 0x5f, 0xe9, //0x00001f58 .quad -1630396289281299218 + 0x9b, 0x53, 0x75, 0xfd, 0xf7, 0x02, 0xb4, 0x88, //0x00001f60 .quad -8596242524610931813 + 0x15, 0xb4, 0xeb, 0x18, 0x02, 0xcb, 0xdb, 0x11, //0x00001f68 .quad 1286845328412881941 + 0x81, 0xa8, 0xd2, 0xfc, 0xb5, 0x03, 0xe1, 0xaa, //0x00001f70 .quad -6133617137336276863 + 0x1a, 0xa1, 0x26, 0x9f, 0xc2, 0xbd, 0x52, 0xd6, //0x00001f78 .quad -3003129357911285478 + 0xa2, 0x52, 0x07, 0x7c, 0xa3, 0x44, 0x99, 0xd5, //0x00001f80 .quad -3055335403242958174 + 0x60, 0x49, 0xf0, 0x46, 0x33, 0x6d, 0xe7, 0x4b, //0x00001f88 .quad 5469460339465668960 + 0xa5, 0x93, 0x84, 0x2d, 0xe6, 0xca, 0x7f, 0x85, //0x00001f90 .quad -8827113654667930715 + 0xdc, 0x2d, 0x56, 0x0c, 0x40, 0xa4, 0x70, 0x6f, //0x00001f98 .quad 8030098730593431004 + 0x8e, 0xb8, 0xe5, 0xb8, 0x9f, 0xbd, 0xdf, 0xa6, //0x00001fa0 .quad -6422206049907525490 + 0x53, 0xb9, 0x6b, 0x0f, 0x50, 0xcd, 0x4c, 0xcb, //0x00001fa8 .quad -3797434642040374957 + 0xb2, 0x26, 0x1f, 0xa7, 0x07, 0xad, 0x97, 0xd0, //0x00001fb0 .quad -3416071543957018958 + 0xa8, 0xa7, 0x46, 0x13, 0xa4, 0x00, 0x20, 0x7e, //0x00001fb8 .quad 9088264752731695016 + 0x2f, 0x78, 0x73, 0xc8, 0x24, 0xcc, 0x5e, 0x82, //0x00001fc0 .quad -9052573742614218705 + 0xc9, 0x28, 0x0c, 0x8c, 0x66, 0x00, 0xd4, 0x8e, //0x00001fc8 .quad -8154892584824854327 + 0x3b, 0x56, 0x90, 0xfa, 0x2d, 0x7f, 0xf6, 0xa2, //0x00001fd0 .quad -6704031159840385477 + 0xfb, 0x32, 0x0f, 0x2f, 0x80, 0x00, 0x89, 0x72, //0x00001fd8 .quad 8253128342678483707 + 0xca, 0x6b, 0x34, 0x79, 0xf9, 0x1e, 0xb4, 0xcb, //0x00001fe0 .quad -3768352931373093942 + 0xba, 0xff, 0xd2, 0x3a, 0xa0, 0x40, 0x2b, 0x4f, //0x00001fe8 .quad 5704724409920716730 + 0xbc, 0x86, 0x81, 0xd7, 0xb7, 0x26, 0xa1, 0xfe, //0x00001ff0 .quad -98755145788979524 + 0xa9, 0xbf, 0x87, 0x49, 0xc8, 0x10, 0xf6, 0xe2, //0x00001ff8 .quad -2092466524453879895 + 0x36, 0xf4, 0xb0, 0xe6, 0x32, 0xb8, 0x24, 0x9f, //0x00002000 .quad -6979250993759194058 + 0xca, 0xd7, 0xf4, 0x2d, 0x7d, 0xca, 0xd9, 0x0d, //0x00002008 .quad 998051431430019018 + 0x43, 0x31, 0x5d, 0xa0, 0x3f, 0xe6, 0xed, 0xc6, //0x00002010 .quad -4112377723771604669 + 0xbc, 0x0d, 0x72, 0x79, 0x1c, 0x3d, 0x50, 0x91, //0x00002018 .quad -7975807747567252036 + 0x94, 0x7d, 0x74, 0x88, 0xcf, 0x5f, 0xa9, 0xf8, //0x00002020 .quad -528786136287117932 + 0x2b, 0x91, 0xce, 0x97, 0x63, 0x4c, 0xa4, 0x75, //0x00002028 .quad 8476984389250486571 + 0x7c, 0xce, 0x48, 0xb5, 0xe1, 0xdb, 0x69, 0x9b, //0x00002030 .quad -7248020362820530564 + 0xbb, 0x1a, 0xe1, 0x3e, 0xbe, 0xaf, 0x86, 0xc9, //0x00002038 .quad -3925256793573221701 + 0x1b, 0x02, 0x9b, 0x22, 0xda, 0x52, 0x44, 0xc2, //0x00002040 .quad -4448339435098275301 + 0x69, 0x61, 0x99, 0xce, 0xad, 0x5b, 0xe8, 0xfb, //0x00002048 .quad -294884973539139223 + 0xa2, 0xc2, 0x41, 0xab, 0x90, 0x67, 0xd5, 0xf2, //0x00002050 .quad -948738275445456222 + 0xc4, 0xb9, 0x3f, 0x42, 0x99, 0x72, 0xe2, 0xfa, //0x00002058 .quad -368606216923924028 + 0xa5, 0x19, 0x09, 0x6b, 0xba, 0x60, 0xc5, 0x97, //0x00002060 .quad -7510490449794491995 + 0x1b, 0xd4, 0x67, 0xc9, 0x9f, 0x87, 0xcd, 0xdc, //0x00002068 .quad -2536221894791146469 + 0x0f, 0x60, 0xcb, 0x05, 0xe9, 0xb8, 0xb6, 0xbd, //0x00002070 .quad -4776427043815727089 + 0x21, 0xc9, 0xc1, 0xbb, 0x87, 0xe9, 0x00, 0x54, //0x00002078 .quad 6053094668365842721 + 0x13, 0x38, 0x3e, 0x47, 0x23, 0x67, 0x24, 0xed, //0x00002080 .quad -1358847786342270957 + 0x69, 0x3b, 0xb2, 0xaa, 0xe9, 0x23, 0x01, 0x29, //0x00002088 .quad 2954682317029915497 + 0x0b, 0xe3, 0x86, 0x0c, 0x76, 0xc0, 0x36, 0x94, //0x00002090 .quad -7766808894105001205 + 0x22, 0x65, 0xaf, 0x0a, 0x72, 0xb6, 0xa0, 0xf9, //0x00002098 .quad -459166561069996766 + 0xce, 0x9b, 0xa8, 0x8f, 0x93, 0x70, 0x44, 0xb9, //0x000020a0 .quad -5096825099203863602 + 0x6a, 0x3e, 0x5b, 0x8d, 0x0e, 0xe4, 0x08, 0xf8, //0x000020a8 .quad -573958201337495958 + 0xc2, 0xc2, 0x92, 0x73, 0xb8, 0x8c, 0x95, 0xe7, //0x000020b0 .quad -1759345355577441598 + 0x05, 0x0e, 0xb2, 0x30, 0x12, 0x1d, 0x0b, 0xb6, //0x000020b8 .quad -5329133770099257851 + 0xb9, 0xb9, 0x3b, 0x48, 0xf3, 0x77, 0xbd, 0x90, //0x000020c0 .quad -8017119874876982855 + 0xc3, 0x48, 0x6f, 0x5e, 0x2b, 0xf2, 0xc6, 0xb1, //0x000020c8 .quad -5636551615525730109 + 0x28, 0xa8, 0x4a, 0x1a, 0xf0, 0xd5, 0xec, 0xb4, //0x000020d0 .quad -5409713825168840664 + 0xf4, 0x1a, 0x0b, 0x36, 0xb6, 0xae, 0x38, 0x1e, //0x000020d8 .quad 2177682517447613172 + 0x32, 0x52, 0xdd, 0x20, 0x6c, 0x0b, 0x28, 0xe2, //0x000020e0 .quad -2150456263033662926 + 0xb1, 0xe1, 0x8d, 0xc3, 0x63, 0xda, 0xc6, 0x25, //0x000020e8 .quad 2722103146809516465 + 0x5f, 0x53, 0x8a, 0x94, 0x23, 0x07, 0x59, 0x8d, //0x000020f0 .quad -8261564192037121185 + 0x0f, 0xad, 0x38, 0x5a, 0x7e, 0x48, 0x9c, 0x57, //0x000020f8 .quad 6313000485183335695 + 0x37, 0xe8, 0xac, 0x79, 0xec, 0x48, 0xaf, 0xb0, //0x00002100 .quad -5715269221619013577 + 0x52, 0xd8, 0xc6, 0xf0, 0x9d, 0x5a, 0x83, 0x2d, //0x00002108 .quad 3279564588051781714 + 0x44, 0x22, 0x18, 0x98, 0x27, 0x1b, 0xdb, 0xdc, //0x00002110 .quad -2532400508596379068 + 0x66, 0x8e, 0xf8, 0x6c, 0x45, 0x31, 0xe4, 0xf8, //0x00002118 .quad -512230283362660762 + 0x6b, 0x15, 0x0f, 0xbf, 0xf8, 0xf0, 0x08, 0x8a, //0x00002120 .quad -8500279345513818773 + 0x00, 0x59, 0x1b, 0x64, 0xcb, 0x9e, 0x8e, 0x1b, //0x00002128 .quad 1985699082112030976 + 0xc5, 0xda, 0xd2, 0xee, 0x36, 0x2d, 0x8b, 0xac, //0x00002130 .quad -6013663163464885563 + 0x40, 0x2f, 0x22, 0x3d, 0x7e, 0x46, 0x72, 0xe2, //0x00002138 .quad -2129562165787349184 + 0x77, 0x91, 0x87, 0xaa, 0x84, 0xf8, 0xad, 0xd7, //0x00002140 .quad -2905392935903719049 + 0x10, 0xbb, 0x6a, 0xcc, 0x1d, 0xd8, 0x0e, 0x5b, //0x00002148 .quad 6561419329620589328 + 0xea, 0xba, 0x94, 0xea, 0x52, 0xbb, 0xcc, 0x86, //0x00002150 .quad -8733399612580906262 + 0xea, 0xb4, 0xc2, 0x9f, 0x12, 0x47, 0xe9, 0x98, //0x00002158 .quad -7428327965055601430 + 0xa5, 0xe9, 0x39, 0xa5, 0x27, 0xea, 0x7f, 0xa8, //0x00002160 .quad -6305063497298744923 + 0x25, 0x62, 0xb3, 0x47, 0xd7, 0x98, 0x23, 0x3f, //0x00002168 .quad 4549648098962661925 + 0x0e, 0x64, 0x88, 0x8e, 0xb1, 0xe4, 0x9f, 0xd2, //0x00002170 .quad -3269643353196043250 + 0xae, 0x3a, 0xa0, 0x19, 0x0d, 0x7f, 0xec, 0x8e, //0x00002178 .quad -8147997931578836306 + 0x89, 0x3e, 0x15, 0xf9, 0xee, 0xee, 0xa3, 0x83, //0x00002180 .quad -8961056123388608887 + 0xad, 0x24, 0x04, 0x30, 0x68, 0xcf, 0x53, 0x19, //0x00002188 .quad 1825030320404309165 + 0x2b, 0x8e, 0x5a, 0xb7, 0xaa, 0xea, 0x8c, 0xa4, //0x00002190 .quad -6589634135808373205 + 0xd8, 0x2d, 0x05, 0x3c, 0x42, 0xc3, 0xa8, 0x5f, //0x00002198 .quad 6892973918932774360 + 0xb6, 0x31, 0x31, 0x65, 0x55, 0x25, 0xb0, 0xcd, //0x000021a0 .quad -3625356651333078602 + 0x4e, 0x79, 0x06, 0xcb, 0x12, 0xf4, 0x92, 0x37, //0x000021a8 .quad 4004531380238580046 + 0x11, 0xbf, 0x3e, 0x5f, 0x55, 0x17, 0x8e, 0x80, //0x000021b0 .quad -9183376934724255983 + 0xd1, 0x0b, 0xe4, 0xbe, 0x8b, 0xd8, 0xbb, 0xe2, //0x000021b8 .quad -2108853905778275375 + 0xd6, 0x6e, 0x0e, 0xb7, 0x2a, 0x9d, 0xb1, 0xa0, //0x000021c0 .quad -6867535149977932074 + 0xc5, 0x0e, 0x9d, 0xae, 0xae, 0xce, 0x6a, 0x5b, //0x000021c8 .quad 6587304654631931589 + 0x8b, 0x0a, 0xd2, 0x64, 0x75, 0x04, 0xde, 0xc8, //0x000021d0 .quad -3972732919045027189 + 0x76, 0x52, 0x44, 0x5a, 0x5a, 0x82, 0x45, 0xf2, //0x000021d8 .quad -989241218564861322 + 0x2e, 0x8d, 0x06, 0xbe, 0x92, 0x85, 0x15, 0xfb, //0x000021e0 .quad -354230130378896082 + 0x13, 0x67, 0xd5, 0xf0, 0xf0, 0xe2, 0xd6, 0xee, //0x000021e8 .quad -1236551523206076653 + 0x3d, 0x18, 0xc4, 0xb6, 0x7b, 0x73, 0xed, 0x9c, //0x000021f0 .quad -7138922859127891907 + 0x6c, 0x60, 0x85, 0x96, 0xd6, 0x4d, 0x46, 0x55, //0x000021f8 .quad 6144684325637283948 + 0x4c, 0x1e, 0x75, 0xa4, 0x5a, 0xd0, 0x28, 0xc4, //0x00002200 .quad -4311967555482476980 + 0x87, 0xb8, 0x26, 0x3c, 0x4c, 0xe1, 0x97, 0xaa, //0x00002208 .quad -6154202648235558777 + 0xdf, 0x65, 0x92, 0x4d, 0x71, 0x04, 0x33, 0xf5, //0x00002210 .quad -778273425925708321 + 0xa9, 0x66, 0x30, 0x4b, 0x9f, 0xd9, 0x3d, 0xd5, //0x00002218 .quad -3081067291867060567 + 0xab, 0x7f, 0x7b, 0xd0, 0xc6, 0xe2, 0x3f, 0x99, //0x00002220 .quad -7403949918844649557 + 0x2a, 0x40, 0xfe, 0x8e, 0x03, 0xa8, 0x46, 0xe5, //0x00002228 .quad -1925667057416912854 + 0x96, 0x5f, 0x9a, 0x84, 0x78, 0xdb, 0x8f, 0xbf, //0x00002230 .quad -4643251380128424042 + 0x34, 0xd0, 0xbd, 0x72, 0x04, 0x52, 0x98, 0xde, //0x00002238 .quad -2407083821771141068 + 0x7c, 0xf7, 0xc0, 0xa5, 0x56, 0xd2, 0x73, 0xef, //0x00002240 .quad -1192378206733142148 + 0x41, 0x44, 0x6d, 0x8f, 0x85, 0x66, 0x3e, 0x96, //0x00002248 .quad -7620540795641314239 + 0xad, 0x9a, 0x98, 0x27, 0x76, 0x63, 0xa8, 0x95, //0x00002250 .quad -7662765406849295699 + 0xa9, 0x4a, 0xa4, 0x79, 0x13, 0x00, 0xe7, 0xdd, //0x00002258 .quad -2456994988062127447 + 0x59, 0xc1, 0x7e, 0xb1, 0x53, 0x7c, 0x12, 0xbb, //0x00002260 .quad -4966770740134231719 + 0x53, 0x5d, 0x0d, 0x58, 0x18, 0xc0, 0x60, 0x55, //0x00002268 .quad 6152128301777116499 + 0xaf, 0x71, 0xde, 0x9d, 0x68, 0x1b, 0xd7, 0xe9, //0x00002270 .quad -1596777406740401745 + 0xa7, 0xb4, 0x10, 0x6e, 0x1e, 0xf0, 0xb8, 0xaa, //0x00002278 .quad -6144897678060768089 + 0x0d, 0x07, 0xab, 0x62, 0x21, 0x71, 0x26, 0x92, //0x00002280 .quad -7915514906853832947 + 0xe9, 0x70, 0xca, 0x04, 0x13, 0x96, 0xb3, 0xca, //0x00002288 .quad -3840561048787980055 + 0xd1, 0xc8, 0x55, 0xbb, 0x69, 0x0d, 0xb0, 0xb6, //0x00002290 .quad -5282707615139903279 + 0x23, 0x0d, 0xfd, 0xc5, 0x97, 0x7b, 0x60, 0x3d, //0x00002298 .quad 4422670725869800739 + 0x05, 0x3b, 0x2b, 0x2a, 0xc4, 0x10, 0x5c, 0xe4, //0x000022a0 .quad -1991698500497491195 + 0x6b, 0x50, 0x7c, 0xb7, 0x7d, 0x9a, 0xb8, 0x8c, //0x000022a8 .quad -8306719647944912789 + 0xe3, 0x04, 0x5b, 0x9a, 0x7a, 0x8a, 0xb9, 0x8e, //0x000022b0 .quad -8162340590452013853 + 0x43, 0xb2, 0xad, 0x92, 0x8e, 0x60, 0xf3, 0x77, //0x000022b8 .quad 8643358275316593219 + 0x1c, 0xc6, 0xf1, 0x40, 0x19, 0xed, 0x67, 0xb2, //0x000022c0 .quad -5591239719637629412 + 0xd4, 0x1e, 0x59, 0x37, 0xb2, 0x38, 0xf0, 0x55, //0x000022c8 .quad 6192511825718353620 + 0xa3, 0x37, 0x2e, 0x91, 0x5f, 0xe8, 0x01, 0xdf, //0x000022d0 .quad -2377363631119648861 + 0x89, 0x66, 0x2f, 0xc5, 0xde, 0x46, 0x6c, 0x6b, //0x000022d8 .quad 7740639782147942025 + 0xc6, 0xe2, 0xbc, 0xba, 0x3b, 0x31, 0x61, 0x8b, //0x000022e0 .quad -8403381297090862394 + 0x16, 0xa0, 0x3d, 0x3b, 0x4b, 0xac, 0x23, 0x23, //0x000022e8 .quad 2532056854628769814 + 0x77, 0x1b, 0x6c, 0xa9, 0x8a, 0x7d, 0x39, 0xae, //0x000022f0 .quad -5892540602936190089 + 0x1b, 0x08, 0x0d, 0x0a, 0x5e, 0x97, 0xec, 0xab, //0x000022f8 .quad -6058300968568813541 + 0x55, 0x22, 0xc7, 0x53, 0xed, 0xdc, 0xc7, 0xd9, //0x00002300 .quad -2753989735242849707 + 0x22, 0x4a, 0x90, 0x8c, 0x35, 0xbd, 0xe7, 0x96, //0x00002308 .quad -7572876210711016926 + 0x75, 0x75, 0x5c, 0x54, 0x14, 0xea, 0x1c, 0x88, //0x00002310 .quad -8638772612167862923 + 0x55, 0x2e, 0xda, 0x77, 0x41, 0xd6, 0x50, 0x7e, //0x00002318 .quad 9102010423587778133 + 0xd2, 0x92, 0x73, 0x69, 0x99, 0x24, 0x24, 0xaa, //0x00002320 .quad -6186779746782440750 + 0xea, 0xb9, 0xd0, 0xd5, 0xd1, 0x0b, 0xe5, 0xdd, //0x00002328 .quad -2457545025797441046 + 0x87, 0x77, 0xd0, 0xc3, 0xbf, 0x2d, 0xad, 0xd4, //0x00002330 .quad -3121788665050663033 + 0x65, 0xe8, 0x44, 0x4b, 0xc6, 0x4e, 0x5e, 0x95, //0x00002338 .quad -7683617300674189211 + 0xb4, 0x4a, 0x62, 0xda, 0x97, 0x3c, 0xec, 0x84, //0x00002340 .quad -8868646943297746252 + 0x3f, 0x11, 0x0b, 0xef, 0x3b, 0xf1, 0x5a, 0xbd, //0x00002348 .quad -4802260812921368257 + 0x61, 0xdd, 0xfa, 0xd0, 0xbd, 0x4b, 0x27, 0xa6, //0x00002350 .quad -6474122660694794911 + 0x8f, 0xd5, 0xcd, 0xea, 0x8a, 0xad, 0xb1, 0xec, //0x00002358 .quad -1391139997724322417 + 0xba, 0x94, 0x39, 0x45, 0xad, 0x1e, 0xb1, 0xcf, //0x00002360 .quad -3480967307441105734 + 0xf3, 0x4a, 0x81, 0xa5, 0xed, 0x18, 0xde, 0x67, //0x00002368 .quad 7484447039699372787 + 0xf4, 0xfc, 0x43, 0x4b, 0x2c, 0xb3, 0xce, 0x81, //0x00002370 .quad -9093133594791772940 + 0xd8, 0xce, 0x70, 0x87, 0x94, 0xcf, 0xea, 0x80, //0x00002378 .quad -9157278655470055720 + 0x31, 0xfc, 0x14, 0x5e, 0xf7, 0x5f, 0x42, 0xa2, //0x00002380 .quad -6754730975062328271 + 0x8e, 0x02, 0x4d, 0xa9, 0x79, 0x83, 0x25, 0xa1, //0x00002388 .quad -6834912300910181746 + 0x3e, 0x3b, 0x9a, 0x35, 0xf5, 0xf7, 0xd2, 0xca, //0x00002390 .quad -3831727700400522434 + 0x31, 0x43, 0xa0, 0x13, 0x58, 0xe4, 0x6e, 0x09, //0x00002398 .quad 679731660717048625 + 0x0d, 0xca, 0x00, 0x83, 0xf2, 0xb5, 0x87, 0xfd, //0x000023a0 .quad -177973607073265139 + 0xfd, 0x53, 0x88, 0x18, 0x6e, 0x9d, 0xca, 0x8b, //0x000023a8 .quad -8373707460958465027 + 0x48, 0x7e, 0xe0, 0x91, 0xb7, 0xd1, 0x74, 0x9e, //0x000023b0 .quad -7028762532061872568 + 0x7e, 0x34, 0x55, 0xcf, 0x64, 0xa2, 0x5e, 0x77, //0x000023b8 .quad 8601490892183123070 + 0xda, 0x9d, 0x58, 0x76, 0x25, 0x06, 0x12, 0xc6, //0x000023c0 .quad -4174267146649952806 + 0x9e, 0x81, 0x2a, 0x03, 0xfe, 0x4a, 0x36, 0x95, //0x000023c8 .quad -7694880458480647778 + 0x51, 0xc5, 0xee, 0xd3, 0xae, 0x87, 0x96, 0xf7, //0x000023d0 .quad -606147914885053103 + 0x05, 0x22, 0xf5, 0x83, 0xbd, 0xdd, 0x83, 0x3a, //0x000023d8 .quad 4216457482181353989 + 0x52, 0x3b, 0x75, 0x44, 0xcd, 0x14, 0xbe, 0x9a, //0x000023e0 .quad -7296371474444240046 + 0x43, 0x35, 0x79, 0x72, 0x96, 0x6a, 0x92, 0xc4, //0x000023e8 .quad -4282243101277735613 + 0x27, 0x8a, 0x92, 0x95, 0x00, 0x9a, 0x6d, 0xc1, //0x000023f0 .quad -4508778324627912153 + 0x94, 0x82, 0x17, 0x0f, 0x3c, 0x05, 0xb7, 0x75, //0x000023f8 .quad 8482254178684994196 + 0xb1, 0x2c, 0xf7, 0xba, 0x80, 0x00, 0xc9, 0xf1, //0x00002400 .quad -1024286887357502287 + 0x39, 0x63, 0xdd, 0x12, 0x8b, 0xc6, 0x24, 0x53, //0x00002408 .quad 5991131704928854841 + 0xee, 0x7b, 0xda, 0x74, 0x50, 0xa0, 0x1d, 0x97, //0x00002410 .quad -7557708332239520786 + 0x04, 0x5e, 0xca, 0xeb, 0x16, 0xfc, 0xf6, 0xd3, //0x00002418 .quad -3173071712060547580 + 0xea, 0x1a, 0x11, 0x92, 0x64, 0x08, 0xe5, 0xbc, //0x00002420 .quad -4835449396872013078 + 0x85, 0xf5, 0xbc, 0xa6, 0x1c, 0xbb, 0xf4, 0x88, //0x00002428 .quad -8578025658503072379 + 0xa5, 0x61, 0x95, 0xb6, 0x7d, 0x4a, 0x1e, 0xec, //0x00002430 .quad -1432625727662628443 + 0xe6, 0x32, 0x6c, 0xd0, 0xe3, 0xe9, 0x31, 0x2b, //0x00002438 .quad 3112525982153323238 + 0x07, 0x5d, 0x1d, 0x92, 0x8e, 0xee, 0x92, 0x93, //0x00002440 .quad -7812920107430224633 + 0xd0, 0x9f, 0x43, 0x62, 0x2e, 0x32, 0xff, 0x3a, //0x00002448 .quad 4251171748059520976 + 0x49, 0xb4, 0xa4, 0x36, 0x32, 0xaa, 0x77, 0xb8, //0x00002450 .quad -5154464115860392887 + 0xc3, 0x87, 0xd4, 0xfa, 0xb9, 0xfe, 0xbe, 0x09, //0x00002458 .quad 702278666647013315 + 0x5b, 0xe1, 0x4d, 0xc4, 0xbe, 0x94, 0x95, 0xe6, //0x00002460 .quad -1831394126398103205 + 0xb4, 0xa9, 0x89, 0x79, 0x68, 0xbe, 0x2e, 0x4c, //0x00002468 .quad 5489534351736154548 + 0xd9, 0xac, 0xb0, 0x3a, 0xf7, 0x7c, 0x1d, 0x90, //0x00002470 .quad -8062150356639896359 + 0x11, 0x0a, 0xf6, 0x4b, 0x01, 0x37, 0x9d, 0x0f, //0x00002478 .quad 1125115960621402641 + 0x0f, 0xd8, 0x5c, 0x09, 0x35, 0xdc, 0x24, 0xb4, //0x00002480 .quad -5466001927372482545 + 0x95, 0x8c, 0xf3, 0x9e, 0xc1, 0x84, 0x84, 0x53, //0x00002488 .quad 6018080969204141205 + 0x13, 0x0e, 0xb4, 0x4b, 0x42, 0x13, 0x2e, 0xe1, //0x00002490 .quad -2220816390788215277 + 0xba, 0x6f, 0xb0, 0x06, 0xf2, 0xa5, 0x65, 0x28, //0x00002498 .quad 2910915193077788602 + 0xcb, 0x88, 0x50, 0x6f, 0x09, 0xcc, 0xbc, 0x8c, //0x000024a0 .quad -8305539271883716405 + 0xd4, 0x45, 0x2e, 0x44, 0xb7, 0x87, 0x3f, 0xf9, //0x000024a8 .quad -486521013540076076 + 0xfe, 0xaa, 0x24, 0xcb, 0x0b, 0xff, 0xeb, 0xaf, //0x000024b0 .quad -5770238071427257602 + 0x49, 0xd7, 0x39, 0x15, 0xa5, 0x69, 0x8f, 0xf7, //0x000024b8 .quad -608151266925095095 + 0xbe, 0xd5, 0xed, 0xbd, 0xce, 0xfe, 0xe6, 0xdb, //0x000024c0 .quad -2601111570856684098 + 0x1c, 0x4d, 0x88, 0x5a, 0x0e, 0x44, 0x73, 0xb5, //0x000024c8 .quad -5371875102083756772 + 0x97, 0xa5, 0xb4, 0x36, 0x41, 0x5f, 0x70, 0x89, //0x000024d0 .quad -8543223759426509417 + 0x31, 0x30, 0x95, 0xf8, 0x88, 0x0a, 0x68, 0x31, //0x000024d8 .quad 3560107088838733873 + 0xfc, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x000024e0 .quad -6067343680855748868 + 0x3e, 0x7c, 0xba, 0x36, 0x2b, 0x0d, 0xc2, 0xfd, //0x000024e8 .quad -161552157378970562 + 0xbc, 0x42, 0x7a, 0xe5, 0xd5, 0x94, 0xbf, 0xd6, //0x000024f0 .quad -2972493582642298180 + 0x4d, 0x1b, 0x69, 0x04, 0x76, 0x90, 0x32, 0x3d, //0x000024f8 .quad 4409745821703674701 + 0xb5, 0x69, 0x6c, 0xaf, 0x05, 0xbd, 0x37, 0x86, //0x00002500 .quad -8775337516792518219 + 0x10, 0xb1, 0xc1, 0xc2, 0x49, 0x9a, 0x3f, 0xa6, //0x00002508 .quad -6467280898289979120 + 0x23, 0x84, 0x47, 0x1b, 0x47, 0xac, 0xc5, 0xa7, //0x00002510 .quad -6357485877563259869 + 0x54, 0x1d, 0x72, 0x33, 0xdc, 0x80, 0xcf, 0x0f, //0x00002518 .quad 1139270913992301908 + 0x2b, 0x65, 0x19, 0xe2, 0x58, 0x17, 0xb7, 0xd1, //0x00002520 .quad -3335171328526686933 + 0xa9, 0xa4, 0x4e, 0x40, 0x13, 0x61, 0xc3, 0xd3, //0x00002528 .quad -3187597375937010519 + 0x3b, 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83, //0x00002530 .quad -9002011107970261189 + 0xea, 0x26, 0x31, 0x08, 0xac, 0x1c, 0x5a, 0x64, //0x00002538 .quad 7231123676894144234 + 0x0a, 0xd7, 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, //0x00002540 .quad -6640827866535438582 + 0xa4, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, 0x70, 0x3d, //0x00002548 .quad 4427218577690292388 + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002550 .quad -3689348814741910324 + 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002558 .quad -3689348814741910323 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00002560 .quad -9223372036854775808 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002568 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, //0x00002570 .quad -6917529027641081856 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002578 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, //0x00002580 .quad -4035225266123964416 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002588 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00002590 .quad -432345564227567616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002598 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9c, //0x000025a0 .quad -7187745005283311616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025a8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, //0x000025b0 .quad -4372995238176751616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025b8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, //0x000025c0 .quad -854558029293551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025c8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x96, 0x98, //0x000025d0 .quad -7451627795949551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025d8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbc, 0xbe, //0x000025e0 .quad -4702848726509551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025e8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6b, 0xee, //0x000025f0 .quad -1266874889709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025f8 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x95, //0x00002600 .quad -7709325833709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002608 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x40, 0xb7, 0x43, 0xba, //0x00002610 .quad -5024971273709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002618 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0xd4, 0xe8, //0x00002620 .quad -1669528073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002628 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xe7, 0x84, 0x91, //0x00002630 .quad -7960984073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002638 .quad 0 + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x20, 0xe6, 0xb5, //0x00002640 .quad -5339544073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002648 .quad 0 + 0x00, 0x00, 0x00, 0xa0, 0x31, 0xa9, 0x5f, 0xe3, //0x00002650 .quad -2062744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002658 .quad 0 + 0x00, 0x00, 0x00, 0x04, 0xbf, 0xc9, 0x1b, 0x8e, //0x00002660 .quad -8206744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002668 .quad 0 + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0xbc, 0xa2, 0xb1, //0x00002670 .quad -5646744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002678 .quad 0 + 0x00, 0x00, 0x40, 0x76, 0x3a, 0x6b, 0x0b, 0xde, //0x00002680 .quad -2446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002688 .quad 0 + 0x00, 0x00, 0xe8, 0x89, 0x04, 0x23, 0xc7, 0x8a, //0x00002690 .quad -8446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002698 .quad 0 + 0x00, 0x00, 0x62, 0xac, 0xc5, 0xeb, 0x78, 0xad, //0x000026a0 .quad -5946744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026a8 .quad 0 + 0x00, 0x80, 0x7a, 0x17, 0xb7, 0x26, 0xd7, 0xd8, //0x000026b0 .quad -2821744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026b8 .quad 0 + 0x00, 0x90, 0xac, 0x6e, 0x32, 0x78, 0x86, 0x87, //0x000026c0 .quad -8681119073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026c8 .quad 0 + 0x00, 0xb4, 0x57, 0x0a, 0x3f, 0x16, 0x68, 0xa9, //0x000026d0 .quad -6239712823709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026d8 .quad 0 + 0x00, 0xa1, 0xed, 0xcc, 0xce, 0x1b, 0xc2, 0xd3, //0x000026e0 .quad -3187955011209551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026e8 .quad 0 + 0xa0, 0x84, 0x14, 0x40, 0x61, 0x51, 0x59, 0x84, //0x000026f0 .quad -8910000909647051616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026f8 .quad 0 + 0xc8, 0xa5, 0x19, 0x90, 0xb9, 0xa5, 0x6f, 0xa5, //0x00002700 .quad -6525815118631426616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002708 .quad 0 + 0x3a, 0x0f, 0x20, 0xf4, 0x27, 0x8f, 0xcb, 0xce, //0x00002710 .quad -3545582879861895366 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002718 .quad 0 + 0x84, 0x09, 0x94, 0xf8, 0x78, 0x39, 0x3f, 0x81, //0x00002720 .quad -9133518327554766460 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, //0x00002728 .quad 4611686018427387904 + 0xe5, 0x0b, 0xb9, 0x36, 0xd7, 0x07, 0x8f, 0xa1, //0x00002730 .quad -6805211891016070171 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, //0x00002738 .quad 5764607523034234880 + 0xde, 0x4e, 0x67, 0x04, 0xcd, 0xc9, 0xf2, 0xc9, //0x00002740 .quad -3894828845342699810 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, //0x00002748 .quad -6629298651489370112 + 0x96, 0x22, 0x81, 0x45, 0x40, 0x7c, 0x6f, 0xfc, //0x00002750 .quad -256850038250986858 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, //0x00002758 .quad 5548434740920451072 + 0x9d, 0xb5, 0x70, 0x2b, 0xa8, 0xad, 0xc5, 0x9d, //0x00002760 .quad -7078060301547948643 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, //0x00002768 .quad -1143914305352105984 + 0x05, 0xe3, 0x4c, 0x36, 0x12, 0x19, 0x37, 0xc5, //0x00002770 .quad -4235889358507547899 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6c, //0x00002778 .quad 7793479155164643328 + 0xc6, 0x1b, 0xe0, 0xc3, 0x56, 0xdf, 0x84, 0xf6, //0x00002780 .quad -683175679707046970 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xc7, //0x00002788 .quad -4093209111326359552 + 0x5c, 0x11, 0x6c, 0x3a, 0x96, 0x0b, 0x13, 0x9a, //0x00002790 .quad -7344513827457986212 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7f, 0x3c, //0x00002798 .quad 4359273333062107136 + 0xb3, 0x15, 0x07, 0xc9, 0x7b, 0xce, 0x97, 0xc0, //0x000027a0 .quad -4568956265895094861 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x9f, 0x4b, //0x000027a8 .quad 5449091666327633920 + 0x20, 0xdb, 0x48, 0xbb, 0x1a, 0xc2, 0xbd, 0xf0, //0x000027b0 .quad -1099509313941480672 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x86, 0x1e, //0x000027b8 .quad 2199678564482154496 + 0xf4, 0x88, 0x0d, 0xb5, 0x50, 0x99, 0x76, 0x96, //0x000027c0 .quad -7604722348854507276 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x14, 0x13, //0x000027c8 .quad 1374799102801346560 + 0x31, 0xeb, 0x50, 0xe2, 0xa4, 0x3f, 0x14, 0xbc, //0x000027d0 .quad -4894216917640746191 + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x55, 0xd9, 0x17, //0x000027d8 .quad 1718498878501683200 + 0xfd, 0x25, 0xe5, 0x1a, 0x8e, 0x4f, 0x19, 0xeb, //0x000027e0 .quad -1506085128623544835 + 0x00, 0x00, 0x00, 0x00, 0x08, 0xab, 0xcf, 0x5d, //0x000027e8 .quad 6759809616554491904 + 0xbe, 0x37, 0xcf, 0xd0, 0xb8, 0xd1, 0xef, 0x92, //0x000027f0 .quad -7858832233030797378 + 0x00, 0x00, 0x00, 0x00, 0xe5, 0xca, 0xa1, 0x5a, //0x000027f8 .quad 6530724019560251392 + 0xad, 0x05, 0x03, 0x05, 0x27, 0xc6, 0xab, 0xb7, //0x00002800 .quad -5211854272861108819 + 0x00, 0x00, 0x00, 0x40, 0x9e, 0x3d, 0x4a, 0xf1, //0x00002808 .quad -1059967012404461568 + 0x19, 0xc7, 0x43, 0xc6, 0xb0, 0xb7, 0x96, 0xe5, //0x00002810 .quad -1903131822648998119 + 0x00, 0x00, 0x00, 0xd0, 0x05, 0xcd, 0x9c, 0x6d, //0x00002818 .quad 7898413271349198848 + 0x6f, 0x5c, 0xea, 0x7b, 0xce, 0x32, 0x7e, 0x8f, //0x00002820 .quad -8106986416796705681 + 0x00, 0x00, 0x00, 0xa2, 0x23, 0x00, 0x82, 0xe4, //0x00002828 .quad -1981020733047832576 + 0x8b, 0xf3, 0xe4, 0x1a, 0x82, 0xbf, 0x5d, 0xb3, //0x00002830 .quad -5522047002568494197 + 0x00, 0x00, 0x80, 0x8a, 0x2c, 0x80, 0xa2, 0xdd, //0x00002838 .quad -2476275916309790720 + 0x6e, 0x30, 0x9e, 0xa1, 0x62, 0x2f, 0x35, 0xe0, //0x00002840 .quad -2290872734783229842 + 0x00, 0x00, 0x20, 0xad, 0x37, 0x20, 0x0b, 0xd5, //0x00002848 .quad -3095344895387238400 + 0x45, 0xde, 0x02, 0xa5, 0x9d, 0x3d, 0x21, 0x8c, //0x00002850 .quad -8349324486880600507 + 0x00, 0x00, 0x34, 0xcc, 0x22, 0xf4, 0x26, 0x45, //0x00002858 .quad 4982938468024057856 + 0xd6, 0x95, 0x43, 0x0e, 0x05, 0x8d, 0x29, 0xaf, //0x00002860 .quad -5824969590173362730 + 0x00, 0x00, 0x41, 0x7f, 0x2b, 0xb1, 0x70, 0x96, //0x00002868 .quad -7606384970252091392 + 0x4c, 0x7b, 0xd4, 0x51, 0x46, 0xf0, 0xf3, 0xda, //0x00002870 .quad -2669525969289315508 + 0x00, 0x40, 0x11, 0x5f, 0x76, 0xdd, 0x0c, 0x3c, //0x00002878 .quad 4327076842467049472 + 0x0f, 0xcd, 0x24, 0xf3, 0x2b, 0x76, 0xd8, 0x88, //0x00002880 .quad -8585982758446904049 + 0x00, 0xc8, 0x6a, 0xfb, 0x69, 0x0a, 0x88, 0xa5, //0x00002888 .quad -6518949010312869888 + 0x53, 0x00, 0xee, 0xef, 0xb6, 0x93, 0x0e, 0xab, //0x00002890 .quad -6120792429631242157 + 0x00, 0x7a, 0x45, 0x7a, 0x04, 0x0d, 0xea, 0x8e, //0x00002898 .quad -8148686262891087360 + 0x68, 0x80, 0xe9, 0xab, 0xa4, 0x38, 0xd2, 0xd5, //0x000028a0 .quad -3039304518611664792 + 0x80, 0xd8, 0xd6, 0x98, 0x45, 0x90, 0xa4, 0x72, //0x000028a8 .quad 8260886245095692416 + 0x41, 0xf0, 0x71, 0xeb, 0x66, 0x63, 0xa3, 0x85, //0x000028b0 .quad -8817094351773372351 + 0x50, 0x47, 0x86, 0x7f, 0x2b, 0xda, 0xa6, 0x47, //0x000028b8 .quad 5163053903184807760 + 0x51, 0x6c, 0x4e, 0xa6, 0x40, 0x3c, 0x0c, 0xa7, //0x000028c0 .quad -6409681921289327535 + 0x24, 0xd9, 0x67, 0x5f, 0xb6, 0x90, 0x90, 0x99, //0x000028c8 .quad -7381240676301154012 + 0x65, 0x07, 0xe2, 0xcf, 0x50, 0x4b, 0xcf, 0xd0, //0x000028d0 .quad -3400416383184271515 + 0x6d, 0xcf, 0x41, 0xf7, 0xe3, 0xb4, 0xf4, 0xff, //0x000028d8 .quad -3178808521666707 + 0x9f, 0x44, 0xed, 0x81, 0x12, 0x8f, 0x81, 0x82, //0x000028e0 .quad -9042789267131251553 + 0xa5, 0x21, 0x89, 0x7a, 0x0e, 0xf1, 0xf8, 0xbf, //0x000028e8 .quad -4613672773753429595 + 0xc7, 0x95, 0x68, 0x22, 0xd7, 0xf2, 0x21, 0xa3, //0x000028f0 .quad -6691800565486676537 + 0x0e, 0x6a, 0x2b, 0x19, 0x52, 0x2d, 0xf7, 0xaf, //0x000028f8 .quad -5767090967191786994 + 0x39, 0xbb, 0x02, 0xeb, 0x8c, 0x6f, 0xea, 0xcb, //0x00002900 .quad -3753064688430957767 + 0x91, 0x44, 0x76, 0x9f, 0xa6, 0xf8, 0xf4, 0x9b, //0x00002908 .quad -7208863708989733743 + 0x08, 0x6a, 0xc3, 0x25, 0x70, 0x0b, 0xe5, 0xfe, //0x00002910 .quad -79644842111309304 + 0xb5, 0xd5, 0x53, 0x47, 0xd0, 0x36, 0xf2, 0x02, //0x00002918 .quad 212292400617608629 + 0x45, 0x22, 0x9a, 0x17, 0x26, 0x27, 0x4f, 0x9f, //0x00002920 .quad -6967307053960650171 + 0x91, 0x65, 0x94, 0x2c, 0x42, 0x62, 0xd7, 0x01, //0x00002928 .quad 132682750386005393 + 0xd6, 0xaa, 0x80, 0x9d, 0xef, 0xf0, 0x22, 0xc7, //0x00002930 .quad -4097447799023424810 + 0xf6, 0x7e, 0xb9, 0xb7, 0xd2, 0x3a, 0x4d, 0x42, //0x00002938 .quad 4777539456409894646 + 0x8b, 0xd5, 0xe0, 0x84, 0x2b, 0xad, 0xeb, 0xf8, //0x00002940 .quad -510123730351893109 + 0xb3, 0xde, 0xa7, 0x65, 0x87, 0x89, 0xe0, 0xd2, //0x00002948 .quad -3251447716342407501 + 0x77, 0x85, 0x0c, 0x33, 0x3b, 0x4c, 0x93, 0x9b, //0x00002950 .quad -7236356359111015049 + 0x30, 0xeb, 0x88, 0x9f, 0xf4, 0x55, 0xcc, 0x63, //0x00002958 .quad 7191217214140771120 + 0xd5, 0xa6, 0xcf, 0xff, 0x49, 0x1f, 0x78, 0xc2, //0x00002960 .quad -4433759430461380907 + 0xfc, 0x25, 0x6b, 0xc7, 0x71, 0x6b, 0xbf, 0x3c, //0x00002968 .quad 4377335499248575996 + 0x8a, 0x90, 0xc3, 0x7f, 0x1c, 0x27, 0x16, 0xf3, //0x00002970 .quad -930513269649338230 + 0x7b, 0xef, 0x45, 0x39, 0x4e, 0x46, 0xef, 0x8b, //0x00002978 .quad -8363388681221443717 + 0x56, 0x3a, 0xda, 0xcf, 0x71, 0xd8, 0xed, 0x97, //0x00002980 .quad -7499099821171918250 + 0xad, 0xb5, 0xcb, 0xe3, 0xf0, 0x8b, 0x75, 0x97, //0x00002988 .quad -7532960934977096275 + 0xec, 0xc8, 0xd0, 0x43, 0x8e, 0x4e, 0xe9, 0xbd, //0x00002990 .quad -4762188758037509908 + 0x18, 0xa3, 0xbe, 0x1c, 0xed, 0xee, 0x52, 0x3d, //0x00002998 .quad 4418856886560793368 + 0x27, 0xfb, 0xc4, 0xd4, 0x31, 0xa2, 0x63, 0xed, //0x000029a0 .quad -1341049929119499481 + 0xde, 0x4b, 0xee, 0x63, 0xa8, 0xaa, 0xa7, 0x4c, //0x000029a8 .quad 5523571108200991710 + 0xf8, 0x1c, 0xfb, 0x24, 0x5f, 0x45, 0x5e, 0x94, //0x000029b0 .quad -7755685233340769032 + 0x6b, 0xef, 0x74, 0x3e, 0xa9, 0xca, 0xe8, 0x8f, //0x000029b8 .quad -8076983103442849941 + 0x36, 0xe4, 0x39, 0xee, 0xb6, 0xd6, 0x75, 0xb9, //0x000029c0 .quad -5082920523248573386 + 0x45, 0x2b, 0x12, 0x8e, 0x53, 0xfd, 0xe2, 0xb3, //0x000029c8 .quad -5484542860876174523 + 0x44, 0x5d, 0xc8, 0xa9, 0x64, 0x4c, 0xd3, 0xe7, //0x000029d0 .quad -1741964635633328828 + 0x17, 0xb6, 0x96, 0x71, 0xa8, 0xbc, 0xdb, 0x60, //0x000029d8 .quad 6979379479186945559 + 0x4a, 0x3a, 0x1d, 0xea, 0xbe, 0x0f, 0xe4, 0x90, //0x000029e0 .quad -8006256924911912374 + 0xce, 0x31, 0xfe, 0x46, 0xe9, 0x55, 0x89, 0xbc, //0x000029e8 .quad -4861259862362934834 + 0xdd, 0x88, 0xa4, 0xa4, 0xae, 0x13, 0x1d, 0xb5, //0x000029f0 .quad -5396135137712502563 + 0x42, 0xbe, 0xbd, 0x98, 0x63, 0xab, 0xab, 0x6b, //0x000029f8 .quad 7758483227328495170 + 0x14, 0xab, 0xcd, 0x4d, 0x9a, 0x58, 0x64, 0xe2, //0x00002a00 .quad -2133482903713240300 + 0xd2, 0x2d, 0xed, 0x7e, 0x3c, 0x96, 0x96, 0xc6, //0x00002a08 .quad -4136954021121544750 + 0xec, 0x8a, 0xa0, 0x70, 0x60, 0xb7, 0x7e, 0x8d, //0x00002a10 .quad -8250955842461857044 + 0xa3, 0x3c, 0x54, 0xcf, 0xe5, 0x1d, 0x1e, 0xfc, //0x00002a18 .quad -279753253987271517 + 0xa8, 0xad, 0xc8, 0x8c, 0x38, 0x65, 0xde, 0xb0, //0x00002a20 .quad -5702008784649933400 + 0xcc, 0x4b, 0x29, 0x43, 0x5f, 0xa5, 0x25, 0x3b, //0x00002a28 .quad 4261994450943298508 + 0x12, 0xd9, 0xfa, 0xaf, 0x86, 0xfe, 0x15, 0xdd, //0x00002a30 .quad -2515824962385028846 + 0xbf, 0x9e, 0xf3, 0x13, 0xb7, 0x0e, 0xef, 0x49, //0x00002a38 .quad 5327493063679123135 + 0xab, 0xc7, 0xfc, 0x2d, 0x14, 0xbf, 0x2d, 0x8a, //0x00002a40 .quad -8489919629131724885 + 0x38, 0x43, 0x78, 0x6c, 0x32, 0x69, 0x35, 0x6e, //0x00002a48 .quad 7941369183226839864 + 0x96, 0xf9, 0x7b, 0x39, 0xd9, 0x2e, 0xb9, 0xac, //0x00002a50 .quad -6000713517987268202 + 0x05, 0x54, 0x96, 0x07, 0x7f, 0xc3, 0xc2, 0x49, //0x00002a58 .quad 5315025460606161925 + 0xfb, 0xf7, 0xda, 0x87, 0x8f, 0x7a, 0xe7, 0xd7, //0x00002a60 .quad -2889205879056697349 + 0x07, 0xe9, 0x7b, 0xc9, 0x5e, 0x74, 0x33, 0xdc, //0x00002a68 .quad -2579590211097073401 + 0xfd, 0xda, 0xe8, 0xb4, 0x99, 0xac, 0xf0, 0x86, //0x00002a70 .quad -8723282702051517699 + 0xa4, 0x71, 0xed, 0x3d, 0xbb, 0x28, 0xa0, 0x69, //0x00002a78 .quad 7611128154919104932 + 0xbc, 0x11, 0x23, 0x22, 0xc0, 0xd7, 0xac, 0xa8, //0x00002a80 .quad -6292417359137009220 + 0x0d, 0xce, 0x68, 0x0d, 0xea, 0x32, 0x08, 0xc4, //0x00002a88 .quad -4321147861633282547 + 0x2b, 0xd6, 0xab, 0x2a, 0xb0, 0x0d, 0xd8, 0xd2, //0x00002a90 .quad -3253835680493873621 + 0x91, 0x01, 0xc3, 0x90, 0xa4, 0x3f, 0x0a, 0xf5, //0x00002a98 .quad -789748808614215279 + 0xdb, 0x65, 0xab, 0x1a, 0x8e, 0x08, 0xc7, 0x83, //0x00002aa0 .quad -8951176327949752869 + 0xfb, 0xe0, 0x79, 0xda, 0xc6, 0x67, 0x26, 0x79, //0x00002aa8 .quad 8729779031470891259 + 0x52, 0x3f, 0x56, 0xa1, 0xb1, 0xca, 0xb8, 0xa4, //0x00002ab0 .quad -6577284391509803182 + 0x39, 0x59, 0x18, 0x91, 0xb8, 0x01, 0x70, 0x57, //0x00002ab8 .quad 6300537770911226169 + 0x26, 0xcf, 0xab, 0x09, 0x5e, 0xfd, 0xe6, 0xcd, //0x00002ac0 .quad -3609919470959866074 + 0x87, 0x6f, 0x5e, 0xb5, 0x26, 0x02, 0x4c, 0xed, //0x00002ac8 .quad -1347699823215743097 + 0x78, 0x61, 0x0b, 0xc6, 0x5a, 0x5e, 0xb0, 0x80, //0x00002ad0 .quad -9173728696990998152 + 0xb5, 0x05, 0x5b, 0x31, 0x58, 0x81, 0x4f, 0x54, //0x00002ad8 .quad 6075216638131242421 + 0xd6, 0x39, 0x8e, 0x77, 0xf1, 0x75, 0xdc, 0xa0, //0x00002ae0 .quad -6855474852811359786 + 0x22, 0xc7, 0xb1, 0x3d, 0xae, 0x61, 0x63, 0x69, //0x00002ae8 .quad 7594020797664053026 + 0x4c, 0xc8, 0x71, 0xd5, 0x6d, 0x93, 0x13, 0xc9, //0x00002af0 .quad -3957657547586811828 + 0xea, 0x38, 0x1e, 0xcd, 0x19, 0x3a, 0xbc, 0x03, //0x00002af8 .quad 269153960225290474 + 0x5f, 0x3a, 0xce, 0x4a, 0x49, 0x78, 0x58, 0xfb, //0x00002b00 .quad -335385916056126881 + 0x24, 0xc7, 0x65, 0x40, 0xa0, 0x48, 0xab, 0x04, //0x00002b08 .quad 336442450281613092 + 0x7b, 0xe4, 0xc0, 0xce, 0x2d, 0x4b, 0x17, 0x9d, //0x00002b10 .quad -7127145225176161157 + 0x77, 0x9c, 0x3f, 0x28, 0x64, 0x0d, 0xeb, 0x62, //0x00002b18 .quad 7127805559067090039 + 0x9a, 0x1d, 0x71, 0x42, 0xf9, 0x1d, 0x5d, 0xc4, //0x00002b20 .quad -4297245513042813542 + 0x95, 0x83, 0x4f, 0x32, 0xbd, 0xd0, 0xa5, 0x3b, //0x00002b28 .quad 4298070930406474645 + 0x00, 0x65, 0x0d, 0x93, 0x77, 0x65, 0x74, 0xf5, //0x00002b30 .quad -759870872876129024 + 0x7a, 0x64, 0xe3, 0x7e, 0xec, 0x44, 0x8f, 0xca, //0x00002b38 .quad -3850783373846682502 + 0x20, 0x5f, 0xe8, 0xbb, 0x6a, 0xbf, 0x68, 0x99, //0x00002b40 .quad -7392448323188662496 + 0xcc, 0x1e, 0x4e, 0xcf, 0x13, 0x8b, 0x99, 0x7e, //0x00002b48 .quad 9122475437414293196 + 0xe8, 0x76, 0xe2, 0x6a, 0x45, 0xef, 0xc2, 0xbf, //0x00002b50 .quad -4628874385558440216 + 0x7f, 0xa6, 0x21, 0xc3, 0xd8, 0xed, 0x3f, 0x9e, //0x00002b58 .quad -7043649776941685121 + 0xa2, 0x14, 0x9b, 0xc5, 0x16, 0xab, 0xb3, 0xef, //0x00002b60 .quad -1174406963520662366 + 0x1f, 0x10, 0xea, 0xf3, 0x4e, 0xe9, 0xcf, 0xc5, //0x00002b68 .quad -4192876202749718497 + 0xe5, 0xec, 0x80, 0x3b, 0xee, 0x4a, 0xd0, 0x95, //0x00002b70 .quad -7651533379841495835 + 0x13, 0x4a, 0x72, 0x58, 0xd1, 0xf1, 0xa1, 0xbb, //0x00002b78 .quad -4926390635932268013 + 0x1f, 0x28, 0x61, 0xca, 0xa9, 0x5d, 0x44, 0xbb, //0x00002b80 .quad -4952730706374481889 + 0x98, 0xdc, 0x8e, 0xae, 0x45, 0x6e, 0x8a, 0x2a, //0x00002b88 .quad 3065383741939440792 + 0x26, 0x72, 0xf9, 0x3c, 0x14, 0x75, 0x15, 0xea, //0x00002b90 .quad -1579227364540714458 + 0xbe, 0x93, 0x32, 0x1a, 0xd7, 0x09, 0x2d, 0xf5, //0x00002b98 .quad -779956341003086914 + 0x58, 0xe7, 0x1b, 0xa6, 0x2c, 0x69, 0x4d, 0x92, //0x00002ba0 .quad -7904546130479028392 + 0x57, 0x9c, 0x5f, 0x70, 0x26, 0x26, 0x3c, 0x59, //0x00002ba8 .quad 6430056314514152535 + 0x2e, 0xe1, 0xa2, 0xcf, 0x77, 0xc3, 0xe0, 0xb6, //0x00002bb0 .quad -5268996644671397586 + 0x6d, 0x83, 0x77, 0x0c, 0xb0, 0x2f, 0x8b, 0x6f, //0x00002bb8 .quad 8037570393142690669 + 0x7a, 0x99, 0x8b, 0xc3, 0x55, 0xf4, 0x98, 0xe4, //0x00002bc0 .quad -1974559787411859078 + 0x48, 0x64, 0x95, 0x0f, 0x9c, 0xfb, 0x6d, 0x0b, //0x00002bc8 .quad 823590954573587528 + 0xec, 0x3f, 0x37, 0x9a, 0xb5, 0x98, 0xdf, 0x8e, //0x00002bd0 .quad -8151628894773493780 + 0xad, 0x5e, 0xbd, 0x89, 0x41, 0xbd, 0x24, 0x47, //0x00002bd8 .quad 5126430365035880109 + 0xe7, 0x0f, 0xc5, 0x00, 0xe3, 0x7e, 0x97, 0xb2, //0x00002be0 .quad -5577850100039479321 + 0x58, 0xb6, 0x2c, 0xec, 0x91, 0xec, 0xed, 0x58, //0x00002be8 .quad 6408037956294850136 + 0xe1, 0x53, 0xf6, 0xc0, 0x9b, 0x5e, 0x3d, 0xdf, //0x00002bf0 .quad -2360626606621961247 + 0xee, 0xe3, 0x37, 0x67, 0xb6, 0x67, 0x29, 0x2f, //0x00002bf8 .quad 3398361426941174766 + 0x6c, 0xf4, 0x99, 0x58, 0x21, 0x5b, 0x86, 0x8b, //0x00002c00 .quad -8392920656779807636 + 0x75, 0xee, 0x82, 0x00, 0xd2, 0xe0, 0x79, 0xbd, //0x00002c08 .quad -4793553135802847627 + 0x87, 0x71, 0xc0, 0xae, 0xe9, 0xf1, 0x67, 0xae, //0x00002c10 .quad -5879464802547371641 + 0x12, 0xaa, 0xa3, 0x80, 0x06, 0x59, 0xd8, 0xec, //0x00002c18 .quad -1380255401326171630 + 0xe9, 0x8d, 0x70, 0x1a, 0x64, 0xee, 0x01, 0xda, //0x00002c20 .quad -2737644984756826647 + 0x96, 0x94, 0xcc, 0x20, 0x48, 0x6f, 0x0e, 0xe8, //0x00002c28 .quad -1725319251657714538 + 0xb2, 0x58, 0x86, 0x90, 0xfe, 0x34, 0x41, 0x88, //0x00002c30 .quad -8628557143114098510 + 0xde, 0xdc, 0x7f, 0x14, 0x8d, 0x05, 0x09, 0x31, //0x00002c38 .quad 3533361486141316318 + 0xde, 0xee, 0xa7, 0x34, 0x3e, 0x82, 0x51, 0xaa, //0x00002c40 .quad -6174010410465235234 + 0x16, 0xd4, 0x9f, 0x59, 0xf0, 0x46, 0x4b, 0xbd, //0x00002c48 .quad -4806670179178130410 + 0x96, 0xea, 0xd1, 0xc1, 0xcd, 0xe2, 0xe5, 0xd4, //0x00002c50 .quad -3105826994654156138 + 0x1b, 0xc9, 0x07, 0x70, 0xac, 0x18, 0x9e, 0x6c, //0x00002c58 .quad 7826720331309500699 + 0x9e, 0x32, 0x23, 0x99, 0xc0, 0xad, 0x0f, 0x85, //0x00002c60 .quad -8858670899299929442 + 0xb1, 0xdd, 0x04, 0xc6, 0x6b, 0xcf, 0xe2, 0x03, //0x00002c68 .quad 280014188641050033 + 0x45, 0xff, 0x6b, 0xbf, 0x30, 0x99, 0x53, 0xa6, //0x00002c70 .quad -6461652605697523899 + 0x1d, 0x15, 0x86, 0xb7, 0x46, 0x83, 0xdb, 0x84, //0x00002c78 .quad -8873354301053463267 + 0x16, 0xff, 0x46, 0xef, 0x7c, 0x7f, 0xe8, 0xcf, //0x00002c80 .quad -3465379738694516970 + 0x64, 0x9a, 0x67, 0x65, 0x18, 0x64, 0x12, 0xe6, //0x00002c88 .quad -1868320839462053276 + 0x6e, 0x5f, 0x8c, 0x15, 0xae, 0x4f, 0xf1, 0x81, //0x00002c90 .quad -9083391364325154962 + 0x7f, 0xc0, 0x60, 0x3f, 0x8f, 0x7e, 0xcb, 0x4f, //0x00002c98 .quad 5749828502977298559 + 0x49, 0x77, 0xef, 0x9a, 0x99, 0xa3, 0x6d, 0xa2, //0x00002ca0 .quad -6742553186979055799 + 0x9e, 0xf0, 0x38, 0x0f, 0x33, 0x5e, 0xbe, 0xe3, //0x00002ca8 .quad -2036086408133152610 + 0x1c, 0x55, 0xab, 0x01, 0x80, 0x0c, 0x09, 0xcb, //0x00002cb0 .quad -3816505465296431844 + 0xc6, 0x2c, 0x07, 0xd3, 0xbf, 0xf5, 0xad, 0x5c, //0x00002cb8 .quad 6678264026688335046 + 0x63, 0x2a, 0x16, 0x02, 0xa0, 0x4f, 0xcb, 0xfd, //0x00002cc0 .quad -158945813193151901 + 0xf7, 0xf7, 0xc8, 0xc7, 0x2f, 0x73, 0xd9, 0x73, //0x00002cc8 .quad 8347830033360418807 + 0x7e, 0xda, 0x4d, 0x01, 0xc4, 0x11, 0x9f, 0x9e, //0x00002cd0 .quad -7016870160886801794 + 0xfb, 0x9a, 0xdd, 0xdc, 0xfd, 0xe7, 0x67, 0x28, //0x00002cd8 .quad 2911550761636567803 + 0x1d, 0x51, 0xa1, 0x01, 0x35, 0xd6, 0x46, 0xc6, //0x00002ce0 .quad -4159401682681114339 + 0xb9, 0x01, 0x15, 0x54, 0xfd, 0xe1, 0x81, 0xb2, //0x00002ce8 .quad -5583933584809066055 + 0x65, 0xa5, 0x09, 0x42, 0xc2, 0x8b, 0xd8, 0xf7, //0x00002cf0 .quad -587566084924005019 + 0x27, 0x42, 0x1a, 0xa9, 0x7c, 0x5a, 0x22, 0x1f, //0x00002cf8 .quad 2243455055843443239 + 0x5f, 0x07, 0x46, 0x69, 0x59, 0x57, 0xe7, 0x9a, //0x00002d00 .quad -7284757830718584993 + 0x59, 0x69, 0xb0, 0xe9, 0x8d, 0x78, 0x75, 0x33, //0x00002d08 .quad 3708002419115845977 + 0x37, 0x89, 0x97, 0xc3, 0x2f, 0x2d, 0xa1, 0xc1, //0x00002d10 .quad -4494261269970843337 + 0xaf, 0x83, 0x1c, 0x64, 0xb1, 0xd6, 0x52, 0x00, //0x00002d18 .quad 23317005467419567 + 0x84, 0x6b, 0x7d, 0xb4, 0x7b, 0x78, 0x09, 0xf2, //0x00002d20 .quad -1006140569036166268 + 0x9b, 0xa4, 0x23, 0xbd, 0x5d, 0x8c, 0x67, 0xc0, //0x00002d28 .quad -4582539761593113445 + 0x32, 0x63, 0xce, 0x50, 0x4d, 0xeb, 0x45, 0x97, //0x00002d30 .quad -7546366883288685774 + 0xe1, 0x46, 0x36, 0x96, 0xba, 0xb7, 0x40, 0xf8, //0x00002d38 .quad -558244341782001951 + 0xff, 0xfb, 0x01, 0xa5, 0x20, 0x66, 0x17, 0xbd, //0x00002d40 .quad -4821272585683469313 + 0x99, 0xd8, 0xc3, 0x3b, 0xa9, 0xe5, 0x50, 0xb6, //0x00002d48 .quad -5309491445654890343 + 0xff, 0x7a, 0x42, 0xce, 0xa8, 0x3f, 0x5d, 0xec, //0x00002d50 .quad -1414904713676948737 + 0xbf, 0xce, 0xb4, 0x8a, 0x13, 0x1f, 0xe5, 0xa3, //0x00002d58 .quad -6636864307068612929 + 0xdf, 0x8c, 0xe9, 0x80, 0xc9, 0x47, 0xba, 0x93, //0x00002d60 .quad -7801844473689174817 + 0x38, 0x01, 0xb1, 0x36, 0x6c, 0x33, 0x6f, 0xc6, //0x00002d68 .quad -4148040191917883080 + 0x17, 0xf0, 0x23, 0xe1, 0xbb, 0xd9, 0xa8, 0xb8, //0x00002d70 .quad -5140619573684080617 + 0x85, 0x41, 0x5d, 0x44, 0x47, 0x00, 0x0b, 0xb8, //0x00002d78 .quad -5185050239897353851 + 0x1d, 0xec, 0x6c, 0xd9, 0x2a, 0x10, 0xd3, 0xe6, //0x00002d80 .quad -1814088448677712867 + 0xe6, 0x91, 0x74, 0x15, 0x59, 0xc0, 0x0d, 0xa6, //0x00002d88 .quad -6481312799871692314 + 0x92, 0x13, 0xe4, 0xc7, 0x1a, 0xea, 0x43, 0x90, //0x00002d90 .quad -8051334308064652398 + 0x30, 0xdb, 0x68, 0xad, 0x37, 0x98, 0xc8, 0x87, //0x00002d98 .quad -8662506518347195600 + 0x77, 0x18, 0xdd, 0x79, 0xa1, 0xe4, 0x54, 0xb4, //0x00002da0 .quad -5452481866653427593 + 0xfc, 0x11, 0xc3, 0x98, 0x45, 0xbe, 0xba, 0x29, //0x00002da8 .quad 3006924907348169212 + 0x94, 0x5e, 0x54, 0xd8, 0xc9, 0x1d, 0x6a, 0xe1, //0x00002db0 .quad -2203916314889396588 + 0x7b, 0xd6, 0xf3, 0xfe, 0xd6, 0x6d, 0x29, 0xf4, //0x00002db8 .quad -853029884242176389 + 0x1d, 0xbb, 0x34, 0x27, 0x9e, 0x52, 0xe2, 0x8c, //0x00002dc0 .quad -8294976724446954723 + 0x0d, 0x66, 0x58, 0x5f, 0xa6, 0xe4, 0x99, 0x18, //0x00002dc8 .quad 1772699331562333709 + 0xe4, 0xe9, 0x01, 0xb1, 0x45, 0xe7, 0x1a, 0xb0, //0x00002dd0 .quad -5757034887131305500 + 0x90, 0x7f, 0x2e, 0xf7, 0xcf, 0x5d, 0xc0, 0x5e, //0x00002dd8 .quad 6827560182880305040 + 0x5d, 0x64, 0x42, 0x1d, 0x17, 0xa1, 0x21, 0xdc, //0x00002de0 .quad -2584607590486743971 + 0x74, 0x1f, 0xfa, 0xf4, 0x43, 0x75, 0x70, 0x76, //0x00002de8 .quad 8534450228600381300 + 0xba, 0x7e, 0x49, 0x72, 0xae, 0x04, 0x95, 0x89, //0x00002df0 .quad -8532908771695296838 + 0xa9, 0x53, 0x1c, 0x79, 0x4a, 0x49, 0x06, 0x6a, //0x00002df8 .quad 7639874402088932265 + 0x69, 0xde, 0xdb, 0x0e, 0xda, 0x45, 0xfa, 0xab, //0x00002e00 .quad -6054449946191733143 + 0x93, 0x68, 0x63, 0x17, 0x9d, 0xdb, 0x87, 0x04, //0x00002e08 .quad 326470965756389523 + 0x03, 0xd6, 0x92, 0x92, 0x50, 0xd7, 0xf8, 0xd6, //0x00002e10 .quad -2956376414312278525 + 0xb7, 0x42, 0x3c, 0x5d, 0x84, 0xd2, 0xa9, 0x45, //0x00002e18 .quad 5019774725622874807 + 0xc2, 0xc5, 0x9b, 0x5b, 0x92, 0x86, 0x5b, 0x86, //0x00002e20 .quad -8765264286586255934 + 0xb3, 0xa9, 0x45, 0xba, 0x92, 0x23, 0x8a, 0x0b, //0x00002e28 .quad 831516194300602803 + 0x32, 0xb7, 0x82, 0xf2, 0x36, 0x68, 0xf2, 0xa7, //0x00002e30 .quad -6344894339805432014 + 0x1f, 0x14, 0xd7, 0x68, 0x77, 0xac, 0x6c, 0x8e, //0x00002e38 .quad -8183976793979022305 + 0xff, 0x64, 0x23, 0xaf, 0x44, 0x02, 0xef, 0xd1, //0x00002e40 .quad -3319431906329402113 + 0x27, 0xd9, 0x0c, 0x43, 0x95, 0xd7, 0x07, 0x32, //0x00002e48 .quad 3605087062808385831 + 0x1f, 0x1f, 0x76, 0xed, 0x6a, 0x61, 0x35, 0x83, //0x00002e50 .quad -8992173969096958177 + 0xb9, 0x07, 0xe8, 0x49, 0xbd, 0xe6, 0x44, 0x7f, //0x00002e58 .quad 9170708441896323001 + 0xe7, 0xa6, 0xd3, 0xa8, 0xc5, 0xb9, 0x02, 0xa4, //0x00002e60 .quad -6628531442943809817 + 0xa7, 0x09, 0x62, 0x9c, 0x6c, 0x20, 0x16, 0x5f, //0x00002e68 .quad 6851699533943015847 + 0xa1, 0x90, 0x08, 0x13, 0x37, 0x68, 0x03, 0xcd, //0x00002e70 .quad -3673978285252374367 + 0x10, 0x8c, 0x7a, 0xc3, 0x87, 0xa8, 0xdb, 0x36, //0x00002e78 .quad 3952938399001381904 + 0x64, 0x5a, 0xe5, 0x6b, 0x22, 0x21, 0x22, 0x80, //0x00002e80 .quad -9213765455923815836 + 0x8a, 0x97, 0x2c, 0xda, 0x54, 0x49, 0x49, 0xc2, //0x00002e88 .quad -4446942528265218166 + 0xfd, 0xb0, 0xde, 0x06, 0x6b, 0xa9, 0x2a, 0xa0, //0x00002e90 .quad -6905520801477381891 + 0x6d, 0xbd, 0xb7, 0x10, 0xaa, 0x9b, 0xdb, 0xf2, //0x00002e98 .quad -946992141904134803 + 0x3d, 0x5d, 0x96, 0xc8, 0xc5, 0x53, 0x35, 0xc8, //0x00002ea0 .quad -4020214983419339459 + 0xc8, 0xac, 0xe5, 0x94, 0x94, 0x82, 0x92, 0x6f, //0x00002ea8 .quad 8039631859474607304 + 0x8c, 0xf4, 0xbb, 0x3a, 0xb7, 0xa8, 0x42, 0xfa, //0x00002eb0 .quad -413582710846786420 + 0xfa, 0x17, 0x1f, 0xba, 0x39, 0x23, 0x77, 0xcb, //0x00002eb8 .quad -3785518230938904582 + 0xd7, 0x78, 0xb5, 0x84, 0x72, 0xa9, 0x69, 0x9c, //0x00002ec0 .quad -7176018221920323369 + 0xfc, 0x6e, 0x53, 0x14, 0x04, 0x76, 0x2a, 0xff, //0x00002ec8 .quad -60105885123121412 + 0x0d, 0xd7, 0xe2, 0x25, 0xcf, 0x13, 0x84, 0xc3, //0x00002ed0 .quad -4358336758973016307 + 0xbb, 0x4a, 0x68, 0x19, 0x85, 0x13, 0xf5, 0xfe, //0x00002ed8 .quad -75132356403901765 + 0xd1, 0x8c, 0x5b, 0xef, 0xc2, 0x18, 0x65, 0xf4, //0x00002ee0 .quad -836234930288882479 + 0x6a, 0x5d, 0xc2, 0x5f, 0x66, 0x58, 0xb2, 0x7e, //0x00002ee8 .quad 9129456591349898602 + 0x02, 0x38, 0x99, 0xd5, 0x79, 0x2f, 0xbf, 0x98, //0x00002ef0 .quad -7440175859071633406 + 0x62, 0x7a, 0xd9, 0xfb, 0x3f, 0x77, 0x2f, 0xef, //0x00002ef8 .quad -1211618658047395230 + 0x03, 0x86, 0xff, 0x4a, 0x58, 0xfb, 0xee, 0xbe, //0x00002f00 .quad -4688533805412153853 + 0xfb, 0xd8, 0xcf, 0xfa, 0x0f, 0x55, 0xfb, 0xaa, //0x00002f08 .quad -6126209340986631941 + 0x84, 0x67, 0xbf, 0x5d, 0x2e, 0xba, 0xaa, 0xee, //0x00002f10 .quad -1248981238337804412 + 0x39, 0xcf, 0x83, 0xf9, 0x53, 0x2a, 0xba, 0x95, //0x00002f18 .quad -7657761676233289927 + 0xb2, 0xa0, 0x97, 0xfa, 0x5c, 0xb4, 0x2a, 0x95, //0x00002f20 .quad -7698142301602209614 + 0x84, 0x61, 0xf2, 0x7b, 0x74, 0x5a, 0x94, 0xdd, //0x00002f28 .quad -2480258038432112252 + 0xdf, 0x88, 0x3d, 0x39, 0x74, 0x61, 0x75, 0xba, //0x00002f30 .quad -5010991858575374113 + 0xe5, 0xf9, 0xee, 0x9a, 0x11, 0x71, 0xf9, 0x94, //0x00002f38 .quad -7712008566467528219 + 0x17, 0xeb, 0x8c, 0x47, 0xd1, 0xb9, 0x12, 0xe9, //0x00002f40 .quad -1652053804791829737 + 0x5e, 0xb8, 0xaa, 0x01, 0x56, 0xcd, 0x37, 0x7a, //0x00002f48 .quad 8806733365625141342 + 0xee, 0x12, 0xb8, 0xcc, 0x22, 0xb4, 0xab, 0x91, //0x00002f50 .quad -7950062655635975442 + 0x3b, 0xb3, 0x0a, 0xc1, 0x55, 0xe0, 0x62, 0xac, //0x00002f58 .quad -6025006692552756421 + 0xaa, 0x17, 0xe6, 0x7f, 0x2b, 0xa1, 0x16, 0xb6, //0x00002f60 .quad -5325892301117581398 + 0x0a, 0x60, 0x4d, 0x31, 0x6b, 0x98, 0x7b, 0x57, //0x00002f68 .quad 6303799689591218186 + 0x94, 0x9d, 0xdf, 0x5f, 0x76, 0x49, 0x9c, 0xe3, //0x00002f70 .quad -2045679357969588844 + 0x0c, 0xb8, 0xa0, 0xfd, 0x85, 0x7e, 0x5a, 0xed, //0x00002f78 .quad -1343622424865753076 + 0x7d, 0xc2, 0xeb, 0xfb, 0xe9, 0xad, 0x41, 0x8e, //0x00002f80 .quad -8196078626372074883 + 0x08, 0x73, 0x84, 0xbe, 0x13, 0x8f, 0x58, 0x14, //0x00002f88 .quad 1466078993672598280 + 0x1c, 0xb3, 0xe6, 0x7a, 0x64, 0x19, 0xd2, 0xb1, //0x00002f90 .quad -5633412264537705700 + 0xc9, 0x8f, 0x25, 0xae, 0xd8, 0xb2, 0x6e, 0x59, //0x00002f98 .quad 6444284760518135753 + 0xe3, 0x5f, 0xa0, 0x99, 0xbd, 0x9f, 0x46, 0xde, //0x00002fa0 .quad -2430079312244744221 + 0xbc, 0xf3, 0xae, 0xd9, 0x8e, 0x5f, 0xca, 0x6f, //0x00002fa8 .quad 8055355950647669692 + 0xee, 0x3b, 0x04, 0x80, 0xd6, 0x23, 0xec, 0x8a, //0x00002fb0 .quad -8436328597794046994 + 0x55, 0x58, 0x0d, 0x48, 0xb9, 0x7b, 0xde, 0x25, //0x00002fb8 .quad 2728754459941099605 + 0xe9, 0x4a, 0x05, 0x20, 0xcc, 0x2c, 0xa7, 0xad, //0x00002fc0 .quad -5933724728815170839 + 0x6b, 0xae, 0x10, 0x9a, 0xa7, 0x1a, 0x56, 0xaf, //0x00002fc8 .quad -5812428961928401301 + 0xa4, 0x9d, 0x06, 0x28, 0xff, 0xf7, 0x10, 0xd9, //0x00002fd0 .quad -2805469892591575644 + 0x05, 0xda, 0x94, 0x80, 0x51, 0xa1, 0x2b, 0x1b, //0x00002fd8 .quad 1957835834444274181 + 0x86, 0x22, 0x04, 0x79, 0xff, 0x9a, 0xaa, 0x87, //0x00002fe0 .quad -8670947710510816634 + 0x43, 0x08, 0x5d, 0xf0, 0xd2, 0x44, 0xfb, 0x90, //0x00002fe8 .quad -7999724640327104445 + 0x28, 0x2b, 0x45, 0x57, 0xbf, 0x41, 0x95, 0xa9, //0x00002ff0 .quad -6226998619711132888 + 0x54, 0x4a, 0x74, 0xac, 0x07, 0x16, 0x3a, 0x35, //0x00002ff8 .quad 3835402254873283156 + 0xf2, 0x75, 0x16, 0x2d, 0x2f, 0x92, 0xfa, 0xd3, //0x00003000 .quad -3172062256211528206 + 0xe9, 0x5c, 0x91, 0x97, 0x89, 0x9b, 0x88, 0x42, //0x00003008 .quad 4794252818591603945 + 0xb7, 0x09, 0x2e, 0x7c, 0x5d, 0x9b, 0x7c, 0x84, //0x00003010 .quad -8900067937773286985 + 0x12, 0xda, 0xba, 0xfe, 0x35, 0x61, 0x95, 0x69, //0x00003018 .quad 7608094030047140370 + 0x25, 0x8c, 0x39, 0xdb, 0x34, 0xc2, 0x9b, 0xa5, //0x00003020 .quad -6513398903789220827 + 0x96, 0x90, 0x69, 0x7e, 0x83, 0xb9, 0xfa, 0x43, //0x00003028 .quad 4898431519131537558 + 0x2e, 0xef, 0x07, 0x12, 0xc2, 0xb2, 0x02, 0xcf, //0x00003030 .quad -3530062611309138130 + 0xbc, 0xf4, 0x03, 0x5e, 0xe4, 0x67, 0xf9, 0x94, //0x00003038 .quad -7712018656367741764 + 0x7d, 0xf5, 0x44, 0x4b, 0xb9, 0xaf, 0x61, 0x81, //0x00003040 .quad -9123818159709293187 + 0xf6, 0x78, 0xc2, 0xba, 0xee, 0xe0, 0x1b, 0x1d, //0x00003048 .quad 2097517367411243254 + 0xdc, 0x32, 0x16, 0x9e, 0xa7, 0x1b, 0xba, 0xa1, //0x00003050 .quad -6793086681209228580 + 0x33, 0x17, 0x73, 0x69, 0x2a, 0xd9, 0x62, 0x64, //0x00003058 .quad 7233582727691441971 + 0x93, 0xbf, 0x9b, 0x85, 0x91, 0xa2, 0x28, 0xca, //0x00003060 .quad -3879672333084147821 + 0xff, 0xdc, 0xcf, 0x03, 0x75, 0x8f, 0x7b, 0x7d, //0x00003068 .quad 9041978409614302463 + 0x78, 0xaf, 0x02, 0xe7, 0x35, 0xcb, 0xb2, 0xfc, //0x00003070 .quad -237904397927796872 + 0x3f, 0xd4, 0xc3, 0x44, 0x52, 0x73, 0xda, 0x5c, //0x00003078 .quad 6690786993590490175 + 0xab, 0xad, 0x61, 0xb0, 0x01, 0xbf, 0xef, 0x9d, //0x00003080 .quad -7066219276345954901 + 0xa8, 0x64, 0xfa, 0x6a, 0x13, 0x88, 0x08, 0x3a, //0x00003088 .quad 4181741870994056360 + 0x16, 0x19, 0x7a, 0x1c, 0xc2, 0xae, 0x6b, 0xc5, //0x00003090 .quad -4221088077005055722 + 0xd1, 0xfd, 0xb8, 0x45, 0x18, 0xaa, 0x8a, 0x08, //0x00003098 .quad 615491320315182545 + 0x5b, 0x9f, 0x98, 0xa3, 0x72, 0x9a, 0xc6, 0xf6, //0x000030a0 .quad -664674077828931749 + 0x46, 0x3d, 0x27, 0x57, 0x9e, 0x54, 0xad, 0x8a, //0x000030a8 .quad -8454007886460797626 + 0x99, 0x63, 0x3f, 0xa6, 0x87, 0x20, 0x3c, 0x9a, //0x000030b0 .quad -7332950326284164199 + 0x4c, 0x86, 0x78, 0xf6, 0xe2, 0x54, 0xac, 0x36, //0x000030b8 .quad 3939617107816777292 + 0x7f, 0x3c, 0xcf, 0x8f, 0xa9, 0x28, 0xcb, 0xc0, //0x000030c0 .quad -4554501889427817345 + 0xde, 0xa7, 0x16, 0xb4, 0x1b, 0x6a, 0x57, 0x84, //0x000030c8 .quad -8910536670511192098 + 0x9f, 0x0b, 0xc3, 0xf3, 0xd3, 0xf2, 0xfd, 0xf0, //0x000030d0 .quad -1081441343357383777 + 0xd6, 0x51, 0x1c, 0xa1, 0xa2, 0x44, 0x6d, 0x65, //0x000030d8 .quad 7308573235570561494 + 0x43, 0xe7, 0x59, 0x78, 0xc4, 0xb7, 0x9e, 0x96, //0x000030e0 .quad -7593429867239446717 + 0x26, 0xb3, 0xb1, 0xa4, 0xe5, 0x4a, 0x64, 0x9f, //0x000030e8 .quad -6961356773836868826 + 0x14, 0x61, 0x70, 0x96, 0xb5, 0x65, 0x46, 0xbc, //0x000030f0 .quad -4880101315621920492 + 0xef, 0x1f, 0xde, 0x0d, 0x9f, 0x5d, 0x3d, 0x87, //0x000030f8 .quad -8701695967296086033 + 0x59, 0x79, 0x0c, 0xfc, 0x22, 0xff, 0x57, 0xeb, //0x00003100 .quad -1488440626100012711 + 0xeb, 0xa7, 0x55, 0xd1, 0x06, 0xb5, 0x0c, 0xa9, //0x00003108 .quad -6265433940692719637 + 0xd8, 0xcb, 0x87, 0xdd, 0x75, 0xff, 0x16, 0x93, //0x00003110 .quad -7847804418953589800 + 0xf3, 0x88, 0xd5, 0x42, 0x24, 0xf1, 0xa7, 0x09, //0x00003118 .quad 695789805494438131 + 0xce, 0xbe, 0xe9, 0x54, 0x53, 0xbf, 0xdc, 0xb7, //0x00003120 .quad -5198069505264599346 + 0x30, 0xeb, 0x8a, 0x53, 0x6d, 0xed, 0x11, 0x0c, //0x00003128 .quad 869737256868047664 + 0x81, 0x2e, 0x24, 0x2a, 0x28, 0xef, 0xd3, 0xe5, //0x00003130 .quad -1885900863153361279 + 0xfb, 0xa5, 0x6d, 0xa8, 0xc8, 0x68, 0x16, 0x8f, //0x00003138 .quad -8136200465769716229 + 0x10, 0x9d, 0x56, 0x1a, 0x79, 0x75, 0xa4, 0x8f, //0x00003140 .quad -8096217067111932656 + 0xbd, 0x87, 0x44, 0x69, 0x7d, 0x01, 0x6e, 0xf9, //0x00003148 .quad -473439272678684739 + 0x55, 0x44, 0xec, 0x60, 0xd7, 0x92, 0x8d, 0xb3, //0x00003150 .quad -5508585315462527915 + 0xad, 0xa9, 0x95, 0xc3, 0xdc, 0x81, 0xc9, 0x37, //0x00003158 .quad 4019886927579031981 + 0x6a, 0x55, 0x27, 0x39, 0x8d, 0xf7, 0x70, 0xe0, //0x00003160 .quad -2274045625900771990 + 0x18, 0x14, 0x7b, 0xf4, 0x53, 0xe2, 0xbb, 0x85, //0x00003168 .quad -8810199395808373736 + 0x62, 0x95, 0xb8, 0x43, 0xb8, 0x9a, 0x46, 0x8c, //0x00003170 .quad -8338807543829064350 + 0x8f, 0xec, 0xcc, 0x78, 0x74, 0x6d, 0x95, 0x93, //0x00003178 .quad -7812217631593927537 + 0xbb, 0xba, 0xa6, 0x54, 0x66, 0x41, 0x58, 0xaf, //0x00003180 .quad -5811823411358942533 + 0xb3, 0x27, 0x00, 0x97, 0xd1, 0xc8, 0x7a, 0x38, //0x00003188 .quad 4069786015789754291 + 0x6a, 0x69, 0xd0, 0xe9, 0xbf, 0x51, 0x2e, 0xdb, //0x00003190 .quad -2653093245771290262 + 0x9f, 0x31, 0xc0, 0xfc, 0x05, 0x7b, 0x99, 0x06, //0x00003198 .quad 475546501309804959 + 0xe2, 0x41, 0x22, 0xf2, 0x17, 0xf3, 0xfc, 0x88, //0x000031a0 .quad -8575712306248138270 + 0x04, 0x1f, 0xf8, 0xbd, 0xe3, 0xec, 0x1f, 0x44, //0x000031a8 .quad 4908902581746016004 + 0x5a, 0xd2, 0xaa, 0xee, 0xdd, 0x2f, 0x3c, 0xab, //0x000031b0 .quad -6107954364382784934 + 0xc4, 0x26, 0x76, 0xad, 0x1c, 0xe8, 0x27, 0xd5, //0x000031b8 .quad -3087243809672255804 + 0xf1, 0x86, 0x55, 0x6a, 0xd5, 0x3b, 0x0b, 0xd6, //0x000031c0 .quad -3023256937051093263 + 0x75, 0xb0, 0xd3, 0xd8, 0x23, 0xe2, 0x71, 0x8a, //0x000031c8 .quad -8470740780517707659 + 0x56, 0x74, 0x75, 0x62, 0x65, 0x05, 0xc7, 0x85, //0x000031d0 .quad -8807064613298015146 + 0x4a, 0x4e, 0x84, 0x67, 0x56, 0x2d, 0x87, 0xf6, //0x000031d8 .quad -682526969396179382 + 0x6c, 0xd1, 0x12, 0xbb, 0xbe, 0xc6, 0x38, 0xa7, //0x000031e0 .quad -6397144748195131028 + 0xdc, 0x61, 0x65, 0x01, 0xac, 0xf8, 0x28, 0xb4, //0x000031e8 .quad -5464844730172612132 + 0xc7, 0x85, 0xd7, 0x69, 0x6e, 0xf8, 0x06, 0xd1, //0x000031f0 .quad -3384744916816525881 + 0x53, 0xba, 0xbe, 0x01, 0xd7, 0x36, 0x33, 0xe1, //0x000031f8 .quad -2219369894288377261 + 0x9c, 0xb3, 0x26, 0x02, 0x45, 0x5b, 0xa4, 0x82, //0x00003200 .quad -9032994600651410532 + 0x74, 0x34, 0x17, 0x61, 0x46, 0x02, 0xc0, 0xec, //0x00003208 .quad -1387106183930235788 + 0x84, 0x60, 0xb0, 0x42, 0x16, 0x72, 0x4d, 0xa3, //0x00003210 .quad -6679557232386875260 + 0x91, 0x01, 0x5d, 0xf9, 0xd7, 0x02, 0xf0, 0x27, //0x00003218 .quad 2877803288514593169 + 0xa5, 0x78, 0x5c, 0xd3, 0x9b, 0xce, 0x20, 0xcc, //0x00003220 .quad -3737760522056206171 + 0xf5, 0x41, 0xb4, 0xf7, 0x8d, 0x03, 0xec, 0x31, //0x00003228 .quad 3597254110643241461 + 0xce, 0x96, 0x33, 0xc8, 0x42, 0x02, 0x29, 0xff, //0x00003230 .quad -60514634142869810 + 0x72, 0x52, 0xa1, 0x75, 0x71, 0x04, 0x67, 0x7e, //0x00003238 .quad 9108253656731439730 + 0x41, 0x3e, 0x20, 0xbd, 0x69, 0xa1, 0x79, 0x9f, //0x00003240 .quad -6955350673980375487 + 0x87, 0xd3, 0x84, 0xe9, 0xc6, 0x62, 0x00, 0x0f, //0x00003248 .quad 1080972517029761927 + 0xd1, 0x4d, 0x68, 0x2c, 0xc4, 0x09, 0x58, 0xc7, //0x00003250 .quad -4082502324048081455 + 0x69, 0x08, 0xe6, 0xa3, 0x78, 0x7b, 0xc0, 0x52, //0x00003258 .quad 5962901664714590313 + 0x45, 0x61, 0x82, 0x37, 0x35, 0x0c, 0x2e, 0xf9, //0x00003260 .quad -491441886632713915 + 0x83, 0x8a, 0xdf, 0xcc, 0x56, 0x9a, 0x70, 0xa7, //0x00003268 .quad -6381430974388925821 + 0xcb, 0x7c, 0xb1, 0x42, 0xa1, 0xc7, 0xbc, 0x9b, //0x00003270 .quad -7224680206786528053 + 0x92, 0xb6, 0x0b, 0x40, 0x76, 0x60, 0xa6, 0x88, //0x00003278 .quad -8600080377420466542 + 0xfe, 0xdb, 0x5d, 0x93, 0x89, 0xf9, 0xab, 0xc2, //0x00003280 .quad -4419164240055772162 + 0x36, 0xa4, 0x0e, 0xd0, 0x93, 0xf8, 0xcf, 0x6a, //0x00003288 .quad 7696643601933968438 + 0xfe, 0x52, 0x35, 0xf8, 0xeb, 0xf7, 0x56, 0xf3, //0x00003290 .quad -912269281642327298 + 0x44, 0x4d, 0x12, 0xc4, 0xb8, 0xf6, 0x83, 0x05, //0x00003298 .quad 397432465562684740 + 0xde, 0x53, 0x21, 0x7b, 0xf3, 0x5a, 0x16, 0x98, //0x000032a0 .quad -7487697328667536418 + 0x4b, 0x70, 0x8b, 0x7a, 0x33, 0x7a, 0x72, 0xc3, //0x000032a8 .quad -4363290727450709941 + 0xd6, 0xa8, 0xe9, 0x59, 0xb0, 0xf1, 0x1b, 0xbe, //0x000032b0 .quad -4747935642407032618 + 0x5d, 0x4c, 0x2e, 0x59, 0xc0, 0x18, 0x4f, 0x74, //0x000032b8 .quad 8380944645968776285 + 0x0c, 0x13, 0x64, 0x70, 0x1c, 0xee, 0xa2, 0xed, //0x000032c0 .quad -1323233534581402868 + 0x74, 0xdf, 0x79, 0x6f, 0xf0, 0xde, 0x62, 0x11, //0x000032c8 .quad 1252808770606194548 + 0xe7, 0x8b, 0x3e, 0xc6, 0xd1, 0xd4, 0x85, 0x94, //0x000032d0 .quad -7744549986754458649 + 0xa9, 0x2b, 0xac, 0x45, 0x56, 0xcb, 0xdd, 0x8a, //0x000032d8 .quad -8440366555225904215 + 0xe1, 0x2e, 0xce, 0x37, 0x06, 0x4a, 0xa7, 0xb9, //0x000032e0 .quad -5069001465015685407 + 0x93, 0x36, 0x17, 0xd7, 0x2b, 0x3e, 0x95, 0x6d, //0x000032e8 .quad 7896285879677171347 + 0x99, 0xba, 0xc1, 0xc5, 0x87, 0x1c, 0x11, 0xe8, //0x000032f0 .quad -1724565812842218855 + 0x38, 0x04, 0xdd, 0xcc, 0xb6, 0x8d, 0xfa, 0xc8, //0x000032f8 .quad -3964700705685699528 + 0xa0, 0x14, 0x99, 0xdb, 0xd4, 0xb1, 0x0a, 0x91, //0x00003300 .quad -7995382660667468640 + 0xa3, 0x22, 0x0a, 0x40, 0x92, 0x98, 0x9c, 0x1d, //0x00003308 .quad 2133748077373825699 + 0xc8, 0x59, 0x7f, 0x12, 0x4a, 0x5e, 0x4d, 0xb5, //0x00003310 .quad -5382542307406947896 + 0x4c, 0xab, 0x0c, 0xd0, 0xb6, 0xbe, 0x03, 0x25, //0x00003318 .quad 2667185096717282124 + 0x3a, 0x30, 0x1f, 0x97, 0xdc, 0xb5, 0xa0, 0xe2, //0x00003320 .quad -2116491865831296966 + 0x1e, 0xd6, 0x0f, 0x84, 0x64, 0xae, 0x44, 0x2e, //0x00003328 .quad 3333981370896602654 + 0x24, 0x7e, 0x73, 0xde, 0xa9, 0x71, 0xa4, 0x8d, //0x00003330 .quad -8240336443785642460 + 0xd3, 0xe5, 0x89, 0xd2, 0xfe, 0xec, 0xea, 0x5c, //0x00003338 .quad 6695424375237764563 + 0xad, 0x5d, 0x10, 0x56, 0x14, 0x8e, 0x0d, 0xb1, //0x00003340 .quad -5688734536304665171 + 0x48, 0x5f, 0x2c, 0x87, 0x3e, 0xa8, 0x25, 0x74, //0x00003348 .quad 8369280469047205704 + 0x18, 0x75, 0x94, 0x6b, 0x99, 0xf1, 0x50, 0xdd, //0x00003350 .quad -2499232151953443560 + 0x1a, 0x77, 0xf7, 0x28, 0x4e, 0x12, 0x2f, 0xd1, //0x00003358 .quad -3373457468973156582 + 0x2f, 0xc9, 0x3c, 0xe3, 0xff, 0x96, 0x52, 0x8a, //0x00003360 .quad -8479549122611984081 + 0x70, 0xaa, 0x9a, 0xd9, 0x70, 0x6b, 0xbd, 0x82, //0x00003368 .quad -9025939945749304720 + 0x7b, 0xfb, 0x0b, 0xdc, 0xbf, 0x3c, 0xe7, 0xac, //0x00003370 .quad -5987750384837592197 + 0x0c, 0x55, 0x01, 0x10, 0x4d, 0xc6, 0x6c, 0x63, //0x00003378 .quad 7164319141522920716 + 0x5a, 0xfa, 0x0e, 0xd3, 0xef, 0x0b, 0x21, 0xd8, //0x00003380 .quad -2873001962619602342 + 0x4f, 0xaa, 0x01, 0x54, 0xe0, 0xf7, 0x47, 0x3c, //0x00003388 .quad 4343712908476262991 + 0x78, 0x5c, 0xe9, 0xe3, 0x75, 0xa7, 0x14, 0x87, //0x00003390 .quad -8713155254278333320 + 0x72, 0x0a, 0x81, 0x34, 0xec, 0xfa, 0xac, 0x65, //0x00003398 .quad 7326506586225052274 + 0x96, 0xb3, 0xe3, 0x5c, 0x53, 0xd1, 0xd9, 0xa8, //0x000033a0 .quad -6279758049420528746 + 0x0e, 0x4d, 0xa1, 0x41, 0xa7, 0x39, 0x18, 0x7f, //0x000033a8 .quad 9158133232781315342 + 0x7c, 0xa0, 0x1c, 0x34, 0xa8, 0x45, 0x10, 0xd3, //0x000033b0 .quad -3238011543348273028 + 0x51, 0xa0, 0x09, 0x12, 0x11, 0x48, 0xde, 0x1e, //0x000033b8 .quad 2224294504121868369 + 0x4d, 0xe4, 0x91, 0x20, 0x89, 0x2b, 0xea, 0x83, //0x000033c0 .quad -8941286242233752499 + 0x33, 0x04, 0x46, 0xab, 0x0a, 0xed, 0x4a, 0x93, //0x000033c8 .quad -7833187971778608077 + 0x60, 0x5d, 0xb6, 0x68, 0x6b, 0xb6, 0xe4, 0xa4, //0x000033d0 .quad -6564921784364802720 + 0x40, 0x85, 0x17, 0x56, 0x4d, 0xa8, 0x1d, 0xf8, //0x000033d8 .quad -568112927868484288 + 0xb9, 0xf4, 0xe3, 0x42, 0x06, 0xe4, 0x1d, 0xce, //0x000033e0 .quad -3594466212028615495 + 0x8f, 0x66, 0x9d, 0xab, 0x60, 0x12, 0x25, 0x36, //0x000033e8 .quad 3901544858591782543 + 0xf3, 0x78, 0xce, 0xe9, 0x83, 0xae, 0xd2, 0x80, //0x000033f0 .quad -9164070410158966541 + 0x1a, 0x60, 0x42, 0x6b, 0x7c, 0x2b, 0xd7, 0xc1, //0x000033f8 .quad -4479063491021217766 + 0x30, 0x17, 0x42, 0xe4, 0x24, 0x5a, 0x07, 0xa1, //0x00003400 .quad -6843401994271320272 + 0x20, 0xf8, 0x12, 0x86, 0x5b, 0xf6, 0x4c, 0xb2, //0x00003408 .quad -5598829363776522208 + 0xfc, 0x9c, 0x52, 0x1d, 0xae, 0x30, 0x49, 0xc9, //0x00003410 .quad -3942566474411762436 + 0x28, 0xb6, 0x97, 0x67, 0xf2, 0x33, 0xe0, 0xde, //0x00003418 .quad -2386850686293264856 + 0x3c, 0x44, 0xa7, 0xa4, 0xd9, 0x7c, 0x9b, 0xfb, //0x00003420 .quad -316522074587315140 + 0xb2, 0xa3, 0x7d, 0x01, 0xef, 0x40, 0x98, 0x16, //0x00003428 .quad 1628122660560806834 + 0xa5, 0x8a, 0xe8, 0x06, 0x08, 0x2e, 0x41, 0x9d, //0x00003430 .quad -7115355324258153819 + 0x4f, 0x86, 0xee, 0x60, 0x95, 0x28, 0x1f, 0x8e, //0x00003438 .quad -8205795374004271537 + 0x4e, 0xad, 0xa2, 0x08, 0x8a, 0x79, 0x91, 0xc4, //0x00003440 .quad -4282508136895304370 + 0xe3, 0x27, 0x2a, 0xb9, 0xba, 0xf2, 0xa6, 0xf1, //0x00003448 .quad -1033872180650563613 + 0xa2, 0x58, 0xcb, 0x8a, 0xec, 0xd7, 0xb5, 0xf5, //0x00003450 .quad -741449152691742558 + 0xdc, 0xb1, 0x74, 0x67, 0x69, 0xaf, 0x10, 0xae, //0x00003458 .quad -5904026244240592420 + 0x65, 0x17, 0xbf, 0xd6, 0xf3, 0xa6, 0x91, 0x99, //0x00003460 .quad -7380934748073420955 + 0x2a, 0xef, 0xa8, 0xe0, 0xa1, 0x6d, 0xca, 0xac, //0x00003468 .quad -5995859411864064214 + 0x3f, 0xdd, 0x6e, 0xcc, 0xb0, 0x10, 0xf6, 0xbf, //0x00003470 .quad -4614482416664388289 + 0xf4, 0x2a, 0xd3, 0x58, 0x0a, 0x09, 0xfd, 0x17, //0x00003478 .quad 1728547772024695540 + 0x8e, 0x94, 0x8a, 0xff, 0xdc, 0x94, 0xf3, 0xef, //0x00003480 .quad -1156417002403097458 + 0xb1, 0xf5, 0x07, 0xef, 0x4c, 0x4b, 0xfc, 0xdd, //0x00003488 .quad -2451001303396518479 + 0xd9, 0x9c, 0xb6, 0x1f, 0x0a, 0x3d, 0xf8, 0x95, //0x00003490 .quad -7640289654143017767 + 0x8f, 0xf9, 0x64, 0x15, 0x10, 0xaf, 0xbd, 0x4a, //0x00003498 .quad 5385653213018257807 + 0x0f, 0x44, 0xa4, 0xa7, 0x4c, 0x4c, 0x76, 0xbb, //0x000034a0 .quad -4938676049251384305 + 0xf2, 0x37, 0xbe, 0x1a, 0xd4, 0x1a, 0x6d, 0x9d, //0x000034a8 .quad -7102991539009341454 + 0x13, 0x55, 0x8d, 0xd1, 0x5f, 0xdf, 0x53, 0xea, //0x000034b0 .quad -1561659043136842477 + 0xee, 0xc5, 0x6d, 0x21, 0x89, 0x61, 0xc8, 0x84, //0x000034b8 .quad -8878739423761676818 + 0x2c, 0x55, 0xf8, 0xe2, 0x9b, 0x6b, 0x74, 0x92, //0x000034c0 .quad -7893565929601608404 + 0xb5, 0x9b, 0xe4, 0xb4, 0xf5, 0x3c, 0xfd, 0x32, //0x000034c8 .quad 3674159897003727797 + 0x77, 0x6a, 0xb6, 0xdb, 0x82, 0x86, 0x11, 0xb7, //0x000034d0 .quad -5255271393574622601 + 0xa2, 0xc2, 0x1d, 0x22, 0x33, 0x8c, 0xbc, 0x3f, //0x000034d8 .quad 4592699871254659746 + 0x15, 0x05, 0xa4, 0x92, 0x23, 0xe8, 0xd5, 0xe4, //0x000034e0 .quad -1957403223540890347 + 0x4b, 0x33, 0xa5, 0xea, 0x3f, 0xaf, 0xab, 0x0f, //0x000034e8 .quad 1129188820640936779 + 0x2d, 0x83, 0xa6, 0x3b, 0x16, 0xb1, 0x05, 0x8f, //0x000034f0 .quad -8140906042354138323 + 0x0f, 0x40, 0xa7, 0xf2, 0x87, 0x4d, 0xcb, 0x29, //0x000034f8 .quad 3011586022114279439 + 0xf8, 0x23, 0x90, 0xca, 0x5b, 0x1d, 0xc7, 0xb2, //0x00003500 .quad -5564446534515285000 + 0x13, 0x10, 0x51, 0xef, 0xe9, 0x20, 0x3e, 0x74, //0x00003508 .quad 8376168546070237203 + 0xf6, 0x2c, 0x34, 0xbd, 0xb2, 0xe4, 0x78, 0xdf, //0x00003510 .quad -2343872149716718346 + 0x17, 0x54, 0x25, 0x6b, 0x24, 0xa9, 0x4d, 0x91, //0x00003518 .quad -7976533391121755113 + 0x1a, 0x9c, 0x40, 0xb6, 0xef, 0x8e, 0xab, 0x8b, //0x00003520 .quad -8382449121214030822 + 0x8f, 0x54, 0xf7, 0xc2, 0xb6, 0x89, 0xd0, 0x1a, //0x00003528 .quad 1932195658189984911 + 0x20, 0xc3, 0xd0, 0xa3, 0xab, 0x72, 0x96, 0xae, //0x00003530 .quad -5866375383090150624 + 0xb2, 0x29, 0xb5, 0x73, 0x24, 0xac, 0x84, 0xa1, //0x00003538 .quad -6808127464117294670 + 0xe8, 0xf3, 0xc4, 0x8c, 0x56, 0x0f, 0x3c, 0xda, //0x00003540 .quad -2721283210435300376 + 0x1f, 0x74, 0xa2, 0x90, 0x2d, 0xd7, 0xe5, 0xc9, //0x00003548 .quad -3898473311719230433 + 0x71, 0x18, 0xfb, 0x17, 0x96, 0x89, 0x65, 0x88, //0x00003550 .quad -8618331034163144591 + 0x93, 0x88, 0x65, 0x7a, 0x7c, 0xa6, 0x2f, 0x7e, //0x00003558 .quad 9092669226243950739 + 0x8d, 0xde, 0xf9, 0x9d, 0xfb, 0xeb, 0x7e, 0xaa, //0x00003560 .quad -6161227774276542835 + 0xb8, 0xea, 0xfe, 0x98, 0x1b, 0x90, 0xbb, 0xdd, //0x00003568 .quad -2469221522477225288 + 0x31, 0x56, 0x78, 0x85, 0xfa, 0xa6, 0x1e, 0xd5, //0x00003570 .quad -3089848699418290639 + 0x66, 0xa5, 0x3e, 0x7f, 0x22, 0x74, 0x2a, 0x55, //0x00003578 .quad 6136845133758244198 + 0xde, 0x35, 0x6b, 0x93, 0x5c, 0x28, 0x33, 0x85, //0x00003580 .quad -8848684464777513506 + 0x60, 0x27, 0x87, 0x8f, 0x95, 0x88, 0x3a, 0xd5, //0x00003588 .quad -3082000819042179232 + 0x56, 0x03, 0x46, 0xb8, 0x73, 0xf2, 0x7f, 0xa6, //0x00003590 .quad -6449169562544503978 + 0x38, 0xf1, 0x68, 0xf3, 0xba, 0x2a, 0x89, 0x8a, //0x00003598 .quad -8464187042230111944 + 0x2c, 0x84, 0x57, 0xa6, 0x10, 0xef, 0x1f, 0xd0, //0x000035a0 .quad -3449775934753242068 + 0x86, 0x2d, 0x43, 0xb0, 0x69, 0x75, 0x2b, 0x2d, //0x000035a8 .quad 3254824252494523782 + 0x9b, 0xb2, 0xf6, 0x67, 0x6a, 0xf5, 0x13, 0x82, //0x000035b0 .quad -9073638986861858149 + 0x74, 0xfc, 0x29, 0x0e, 0x62, 0x29, 0x3b, 0x9c, //0x000035b8 .quad -7189106879045698444 + 0x42, 0x5f, 0xf4, 0x01, 0xc5, 0xf2, 0x98, 0xa2, //0x000035c0 .quad -6730362715149934782 + 0x90, 0x7b, 0xb4, 0x91, 0xba, 0xf3, 0x49, 0x83, //0x000035c8 .quad -8986383598807123056 + 0x13, 0x77, 0x71, 0x42, 0x76, 0x2f, 0x3f, 0xcb, //0x000035d0 .quad -3801267375510030573 + 0x74, 0x9a, 0x21, 0x36, 0xa9, 0x70, 0x1c, 0x24, //0x000035d8 .quad 2602078556773259892 + 0xd7, 0xd4, 0x0d, 0xd3, 0x53, 0xfb, 0x0e, 0xfe, //0x000035e0 .quad -139898200960150313 + 0x11, 0x01, 0xaa, 0x83, 0xd3, 0x8c, 0x23, 0xed, //0x000035e8 .quad -1359087822460813039 + 0x06, 0xa5, 0xe8, 0x63, 0x14, 0x5d, 0xc9, 0x9e, //0x000035f0 .quad -7004965403241175802 + 0xab, 0x40, 0x4a, 0x32, 0x04, 0x38, 0x36, 0xf4, //0x000035f8 .quad -849429889038008149 + 0x48, 0xce, 0xe2, 0x7c, 0x59, 0xb4, 0x7b, 0xc6, //0x00003600 .quad -4144520735624081848 + 0xd6, 0xd0, 0xdc, 0x3e, 0x05, 0xc6, 0x43, 0xb1, //0x00003608 .quad -5673473379724898090 + 0xda, 0x81, 0x1b, 0xdc, 0x6f, 0xa1, 0x1a, 0xf8, //0x00003610 .quad -568964901102714406 + 0x0b, 0x05, 0x94, 0x8e, 0x86, 0xb7, 0x94, 0xdd, //0x00003618 .quad -2480155706228734709 + 0x28, 0x31, 0x91, 0xe9, 0xe5, 0xa4, 0x10, 0x9b, //0x00003620 .quad -7273132090830278360 + 0x27, 0x83, 0x1c, 0x19, 0xb4, 0xf2, 0x7c, 0xca, //0x00003628 .quad -3855940325606653145 + 0x72, 0x7d, 0xf5, 0x63, 0x1f, 0xce, 0xd4, 0xc1, //0x00003630 .quad -4479729095110460046 + 0xf1, 0xa3, 0x63, 0x1f, 0x61, 0x2f, 0x1c, 0xfd, //0x00003638 .quad -208239388580928527 + 0xcf, 0xdc, 0xf2, 0x3c, 0xa7, 0x01, 0x4a, 0xf2, //0x00003640 .quad -987975350460687153 + 0xed, 0x8c, 0x3c, 0x67, 0x39, 0x3b, 0x63, 0xbc, //0x00003648 .quad -4871985254153548563 + 0x01, 0xca, 0x17, 0x86, 0x08, 0x41, 0x6e, 0x97, //0x00003650 .quad -7535013621679011327 + 0x14, 0xd8, 0x85, 0xe0, 0x03, 0x05, 0xbe, 0xd5, //0x00003658 .quad -3044990783845967852 + 0x82, 0xbc, 0x9d, 0xa7, 0x4a, 0xd1, 0x49, 0xbd, //0x00003660 .quad -4807081008671376254 + 0x19, 0x4e, 0xa7, 0xd8, 0x44, 0x86, 0x2d, 0x4b, //0x00003668 .quad 5417133557047315993 + 0xa2, 0x2b, 0x85, 0x51, 0x9d, 0x45, 0x9c, 0xec, //0x00003670 .quad -1397165242411832414 + 0x9f, 0x21, 0xd1, 0x0e, 0xd6, 0xe7, 0xf8, 0xdd, //0x00003678 .quad -2451955090545630817 + 0x45, 0x3b, 0xf3, 0x52, 0x82, 0xab, 0xe1, 0x93, //0x00003680 .quad -7790757304148477115 + 0x04, 0xb5, 0x42, 0xc9, 0xe5, 0x90, 0xbb, 0xca, //0x00003688 .quad -3838314940804713212 + 0x17, 0x0a, 0xb0, 0xe7, 0x62, 0x16, 0xda, 0xb8, //0x00003690 .quad -5126760611758208489 + 0x44, 0x62, 0x93, 0x3b, 0x1f, 0x75, 0x6a, 0x3d, //0x00003698 .quad 4425478360848884292 + 0x9d, 0x0c, 0x9c, 0xa1, 0xfb, 0x9b, 0x10, 0xe7, //0x000036a0 .quad -1796764746270372707 + 0xd5, 0x3a, 0x78, 0x0a, 0x67, 0x12, 0xc5, 0x0c, //0x000036a8 .quad 920161932633717461 + 0xe2, 0x87, 0x01, 0x45, 0x7d, 0x61, 0x6a, 0x90, //0x000036b0 .quad -8040506994060064798 + 0xc6, 0x24, 0x8b, 0x66, 0x80, 0x2b, 0xfb, 0x27, //0x000036b8 .quad 2880944217109767366 + 0xda, 0xe9, 0x41, 0x96, 0xdc, 0xf9, 0x84, 0xb4, //0x000036c0 .quad -5438947724147693094 + 0xf7, 0xed, 0x2d, 0x80, 0x60, 0xf6, 0xf9, 0xb1, //0x000036c8 .quad -5622191765467566601 + 0x51, 0x64, 0xd2, 0xbb, 0x53, 0x38, 0xa6, 0xe1, //0x000036d0 .quad -2186998636757228463 + 0x74, 0x69, 0x39, 0xa0, 0xf8, 0x73, 0x78, 0x5e, //0x000036d8 .quad 6807318348447705460 + 0xb2, 0x7e, 0x63, 0x55, 0x34, 0xe3, 0x07, 0x8d, //0x000036e0 .quad -8284403175614349646 + 0xe9, 0xe1, 0x23, 0x64, 0x7b, 0x48, 0x0b, 0xdb, //0x000036e8 .quad -2662955059861265943 + 0x5f, 0x5e, 0xbc, 0x6a, 0x01, 0xdc, 0x49, 0xb0, //0x000036f0 .quad -5743817951090549153 + 0x63, 0xda, 0x2c, 0x3d, 0x9a, 0x1a, 0xce, 0x91, //0x000036f8 .quad -7940379843253970333 + 0xf7, 0x75, 0x6b, 0xc5, 0x01, 0x53, 0x5c, 0xdc, //0x00003700 .quad -2568086420435798537 + 0xfc, 0x10, 0x78, 0xcc, 0x40, 0xa1, 0x41, 0x76, //0x00003708 .quad 8521269269642088700 + 0xba, 0x29, 0x63, 0x1b, 0xe1, 0xb3, 0xb9, 0x89, //0x00003710 .quad -8522583040413455942 + 0x9e, 0x0a, 0xcb, 0x7f, 0xc8, 0x04, 0xe9, 0xa9, //0x00003718 .quad -6203421752542164322 + 0x29, 0xf4, 0x3b, 0x62, 0xd9, 0x20, 0x28, 0xac, //0x00003720 .quad -6041542782089432023 + 0x45, 0xcd, 0xbd, 0x9f, 0xfa, 0x45, 0x63, 0x54, //0x00003728 .quad 6080780864604458309 + 0x33, 0xf1, 0xca, 0xba, 0x0f, 0x29, 0x32, 0xd7, //0x00003730 .quad -2940242459184402125 + 0x96, 0x40, 0xad, 0x47, 0x79, 0x17, 0x7c, 0xa9, //0x00003738 .quad -6234081974526590826 + 0xc0, 0xd6, 0xbe, 0xd4, 0xa9, 0x59, 0x7f, 0x86, //0x00003740 .quad -8755180564631333184 + 0x5e, 0x48, 0xcc, 0xcc, 0xab, 0x8e, 0xed, 0x49, //0x00003748 .quad 5327070802775656542 + 0x70, 0x8c, 0xee, 0x49, 0x14, 0x30, 0x1f, 0xa8, //0x00003750 .quad -6332289687361778576 + 0x75, 0x5a, 0xff, 0xbf, 0x56, 0xf2, 0x68, 0x5c, //0x00003758 .quad 6658838503469570677 + 0x8c, 0x2f, 0x6a, 0x5c, 0x19, 0xfc, 0x26, 0xd2, //0x00003760 .quad -3303676090774835316 + 0x12, 0x31, 0xff, 0x6f, 0xec, 0x2e, 0x83, 0x73, //0x00003768 .quad 8323548129336963346 + 0xb7, 0x5d, 0xc2, 0xd9, 0x8f, 0x5d, 0x58, 0x83, //0x00003770 .quad -8982326584375353929 + 0xac, 0x7e, 0xff, 0xc5, 0x53, 0xfd, 0x31, 0xc8, //0x00003778 .quad -4021154456019173716 + 0x25, 0xf5, 0x32, 0xd0, 0xf3, 0x74, 0x2e, 0xa4, //0x00003780 .quad -6616222212041804507 + 0x56, 0x5e, 0x7f, 0xb7, 0xa8, 0x7c, 0x3e, 0xba, //0x00003788 .quad -5026443070023967146 + 0x6f, 0xb2, 0x3f, 0xc4, 0x30, 0x12, 0x3a, 0xcd, //0x00003790 .quad -3658591746624867729 + 0xec, 0x35, 0x5f, 0xe5, 0xd2, 0x1b, 0xce, 0x28, //0x00003798 .quad 2940318199324816876 + 0x85, 0xcf, 0xa7, 0x7a, 0x5e, 0x4b, 0x44, 0x80, //0x000037a0 .quad -9204148869281624187 + 0xb4, 0x81, 0x5b, 0xcf, 0x63, 0xd1, 0x80, 0x79, //0x000037a8 .quad 8755227902219092404 + 0x66, 0xc3, 0x51, 0x19, 0x36, 0x5e, 0x55, 0xa0, //0x000037b0 .quad -6893500068174642330 + 0x20, 0x62, 0x32, 0xc3, 0xbc, 0x05, 0xe1, 0xd7, //0x000037b8 .quad -2891023177508298208 + 0x40, 0x34, 0xa6, 0x9f, 0xc3, 0xb5, 0x6a, 0xc8, //0x000037c0 .quad -4005189066790915008 + 0xa8, 0xfa, 0xfe, 0xf3, 0x2b, 0x47, 0xd9, 0x8d, //0x000037c8 .quad -8225464990312760664 + 0x50, 0xc1, 0x8f, 0x87, 0x34, 0x63, 0x85, 0xfa, //0x000037d0 .quad -394800315061255856 + 0x52, 0xb9, 0xfe, 0xf0, 0xf6, 0x98, 0x4f, 0xb1, //0x000037d8 .quad -5670145219463562926 + 0xd2, 0xd8, 0xb9, 0xd4, 0x00, 0x5e, 0x93, 0x9c, //0x000037e0 .quad -7164279224554366766 + 0xd4, 0x33, 0x9f, 0x56, 0x9a, 0xbf, 0xd1, 0x6e, //0x000037e8 .quad 7985374283903742932 + 0x07, 0x4f, 0xe8, 0x09, 0x81, 0x35, 0xb8, 0xc3, //0x000037f0 .quad -4343663012265570553 + 0xc9, 0x00, 0x47, 0xec, 0x80, 0x2f, 0x86, 0x0a, //0x000037f8 .quad 758345818024902857 + 0xc8, 0x62, 0x62, 0x4c, 0xe1, 0x42, 0xa6, 0xf4, //0x00003800 .quad -817892746904575288 + 0xfb, 0xc0, 0x58, 0x27, 0x61, 0xbb, 0x27, 0xcd, //0x00003808 .quad -3663753745896259333 + 0xbd, 0x7d, 0xbd, 0xcf, 0xcc, 0xe9, 0xe7, 0x98, //0x00003810 .quad -7428711994456441411 + 0x9d, 0x78, 0x97, 0xb8, 0x1c, 0xd5, 0x38, 0x80, //0x00003818 .quad -9207375118826243939 + 0x2c, 0xdd, 0xac, 0x03, 0x40, 0xe4, 0x21, 0xbf, //0x00003820 .quad -4674203974643163860 + 0xc4, 0x56, 0xbd, 0xe6, 0x63, 0x0a, 0x47, 0xe0, //0x00003828 .quad -2285846861678029116 + 0x78, 0x14, 0x98, 0x04, 0x50, 0x5d, 0xea, 0xee, //0x00003830 .quad -1231068949876566920 + 0x75, 0xac, 0x6c, 0xe0, 0xfc, 0xcc, 0x58, 0x18, //0x00003838 .quad 1754377441329851509 + 0xcb, 0x0c, 0xdf, 0x02, 0x52, 0x7a, 0x52, 0x95, //0x00003840 .quad -7686947121313936181 + 0xc9, 0xeb, 0x43, 0x0c, 0x1e, 0x80, 0x37, 0x0f, //0x00003848 .quad 1096485900831157193 + 0xfd, 0xcf, 0x96, 0x83, 0xe6, 0x18, 0xa7, 0xba, //0x00003850 .quad -4996997883215032323 + 0xbb, 0xe6, 0x54, 0x8f, 0x25, 0x60, 0x05, 0xd3, //0x00003858 .quad -3241078642388441413 + 0xfd, 0x83, 0x7c, 0x24, 0x20, 0xdf, 0x50, 0xe9, //0x00003860 .quad -1634561335591402499 + 0x6a, 0x20, 0x2a, 0xf3, 0x2e, 0xb8, 0xc6, 0x47, //0x00003868 .quad 5172023733869224042 + 0x7e, 0xd2, 0xcd, 0x16, 0x74, 0x8b, 0xd2, 0x91, //0x00003870 .quad -7939129862385708418 + 0x42, 0x54, 0xfa, 0x57, 0x1d, 0x33, 0xdc, 0x4c, //0x00003878 .quad 5538357842881958978 + 0x1d, 0x47, 0x81, 0x1c, 0x51, 0x2e, 0x47, 0xb6, //0x00003880 .quad -5312226309554747619 + 0x53, 0xe9, 0xf8, 0xad, 0xe4, 0x3f, 0x13, 0xe0, //0x00003888 .quad -2300424733252327085 + 0xe5, 0x98, 0xa1, 0x63, 0xe5, 0xf9, 0xd8, 0xe3, //0x00003890 .quad -2028596868516046619 + 0xa7, 0x23, 0x77, 0xd9, 0xdd, 0x0f, 0x18, 0x58, //0x00003898 .quad 6347841120289366951 + 0x8f, 0xff, 0x44, 0x5e, 0x2f, 0x9c, 0x67, 0x8e, //0x000038a0 .quad -8185402070463610993 + 0x49, 0x76, 0xea, 0xa7, 0xea, 0x09, 0x0f, 0x57, //0x000038a8 .quad 6273243709394548297 + 0x73, 0x3f, 0xd6, 0x35, 0x3b, 0x83, 0x01, 0xb2, //0x000038b0 .quad -5620066569652125837 + 0xdb, 0x13, 0xe5, 0x51, 0x65, 0xcc, 0xd2, 0x2c, //0x000038b8 .quad 3229868618315797467 + 0x4f, 0xcf, 0x4b, 0x03, 0x0a, 0xe4, 0x81, 0xde, //0x000038c0 .quad -2413397193637769393 + 0xd2, 0x58, 0x5e, 0xa6, 0x7e, 0x7f, 0x07, 0xf8, //0x000038c8 .quad -574350245532641070 + 0x91, 0x61, 0x0f, 0x42, 0x86, 0x2e, 0x11, 0x8b, //0x000038d0 .quad -8425902273664687727 + 0x83, 0xf7, 0xfa, 0x27, 0xaf, 0xaf, 0x04, 0xfb, //0x000038d8 .quad -358968903457900669 + 0xf6, 0x39, 0x93, 0xd2, 0x27, 0x7a, 0xd5, 0xad, //0x000038e0 .quad -5920691823653471754 + 0x64, 0xb5, 0xf9, 0xf1, 0x9a, 0xdb, 0xc5, 0x79, //0x000038e8 .quad 8774660907532399972 + 0x74, 0x08, 0x38, 0xc7, 0xb1, 0xd8, 0x4a, 0xd9, //0x000038f0 .quad -2789178761139451788 + 0xbd, 0x22, 0x78, 0xae, 0x81, 0x52, 0x37, 0x18, //0x000038f8 .quad 1744954097560724157 + 0x48, 0x05, 0x83, 0x1c, 0x6f, 0xc7, 0xce, 0x87, //0x00003900 .quad -8660765753353239224 + 0xb6, 0x15, 0x0b, 0x0d, 0x91, 0x93, 0x22, 0x8f, //0x00003908 .quad -8132775725879323210 + 0x9a, 0xc6, 0xa3, 0xe3, 0x4a, 0x79, 0xc2, 0xa9, //0x00003910 .quad -6214271173264161126 + 0x23, 0xdb, 0x4d, 0x50, 0x75, 0x38, 0xeb, 0xb2, //0x00003918 .quad -5554283638921766109 + 0x41, 0xb8, 0x8c, 0x9c, 0x9d, 0x17, 0x33, 0xd4, //0x00003920 .quad -3156152948152813503 + 0xec, 0x51, 0x61, 0xa4, 0x92, 0x06, 0xa6, 0x5f, //0x00003928 .quad 6892203506629956076 + 0x28, 0xf3, 0xd7, 0x81, 0xc2, 0xee, 0x9f, 0x84, //0x00003930 .quad -8890124620236590296 + 0x34, 0xd3, 0xbc, 0xa6, 0x1b, 0xc4, 0xc7, 0xdb, //0x00003938 .quad -2609901835997359308 + 0xf3, 0xef, 0x4d, 0x22, 0x73, 0xea, 0xc7, 0xa5, //0x00003940 .quad -6500969756868349965 + 0x01, 0x08, 0x6c, 0x90, 0x22, 0xb5, 0xb9, 0x12, //0x00003948 .quad 1349308723430688769 + 0xef, 0x6b, 0xe1, 0xea, 0x0f, 0xe5, 0x39, 0xcf, //0x00003950 .quad -3514526177658049553 + 0x01, 0x0a, 0x87, 0x34, 0x6b, 0x22, 0x68, 0xd7, //0x00003958 .quad -2925050114139026943 + 0x75, 0xe3, 0xcc, 0xf2, 0x29, 0x2f, 0x84, 0x81, //0x00003960 .quad -9114107888677362827 + 0x41, 0x66, 0xd4, 0x00, 0x83, 0x15, 0xa1, 0xe6, //0x00003968 .quad -1828156321336891839 + 0x53, 0x1c, 0x80, 0x6f, 0xf4, 0x3a, 0xe5, 0xa1, //0x00003970 .quad -6780948842419315629 + 0xd1, 0x7f, 0x09, 0xc1, 0xe3, 0x5a, 0x49, 0x60, //0x00003978 .quad 6938176635183661009 + 0x68, 0x23, 0x60, 0x8b, 0xb1, 0x89, 0x5e, 0xca, //0x00003980 .quad -3864500034596756632 + 0xc5, 0xdf, 0x4b, 0xb1, 0x9c, 0xb1, 0x5b, 0x38, //0x00003988 .quad 4061034775552188357 + 0x42, 0x2c, 0x38, 0xee, 0x1d, 0x2c, 0xf6, 0xfc, //0x00003990 .quad -218939024818557886 + 0xb6, 0xd7, 0x9e, 0xdd, 0x03, 0x9e, 0x72, 0x46, //0x00003998 .quad 5076293469440235446 + 0xa9, 0x1b, 0xe3, 0xb4, 0x92, 0xdb, 0x19, 0x9e, //0x000039a0 .quad -7054365918152680535 + 0xd2, 0x46, 0x83, 0x6a, 0xc2, 0xa2, 0x07, 0x6c, //0x000039a8 .quad 7784369436827535058 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/get_by_path.go b/vendor/github.com/bytedance/sonic/internal/native/sse/get_by_path.go new file mode 100644 index 0000000..0ec33b1 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/get_by_path.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_get_by_path func(s unsafe.Pointer, p unsafe.Pointer, path unsafe.Pointer, m unsafe.Pointer) (ret int) + +var S_get_by_path uintptr + +//go:nosplit +func get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int) { + return F_get_by_path(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(path)), rt.NoEscape(unsafe.Pointer(m))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/get_by_path_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/get_by_path_subr.go new file mode 100644 index 0000000..60e3b8a --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/get_by_path_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__get_by_path = 224 +) + +const ( + _stack__get_by_path = 216 +) + +const ( + _size__get_by_path = 22168 +) + +var ( + _pcsp__get_by_path = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {12658, 216}, + {12665, 48}, + {12666, 40}, + {12668, 32}, + {12670, 24}, + {12672, 16}, + {12674, 8}, + {12675, 0}, + {22168, 216}, + } +) + +var _cfunc_get_by_path = []loader.CFunc{ + {"_get_by_path_entry", 0, _entry__get_by_path, 0, nil}, + {"_get_by_path", _entry__get_by_path, _size__get_by_path, _stack__get_by_path, _pcsp__get_by_path}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/get_by_path_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/get_by_path_text_amd64.go new file mode 100644 index 0000000..46149f7 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/get_by_path_text_amd64.go @@ -0,0 +1,6541 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_get_by_path = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, // QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' + //0x00000010 LCPI0_1 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000010 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000020 LCPI0_2 + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, //0x00000020 QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' + //0x00000030 LCPI0_3 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000030 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000040 LCPI0_4 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000040 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000050 LCPI0_5 + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, //0x00000050 QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' + //0x00000060 LCPI0_6 + 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, //0x00000060 QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' + //0x00000070 LCPI0_7 + 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, //0x00000070 QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' + //0x00000080 LCPI0_8 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000080 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000090 LCPI0_9 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000090 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x000000a0 LCPI0_10 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x000000a0 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x000000b0 LCPI0_11 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x000000b0 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x000000c0 LCPI0_12 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x000000c0 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x000000d0 LCPI0_13 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x000000d0 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000000e0 .p2align 4, 0x90 + //0x000000e0 _get_by_path + 0x55, //0x000000e0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000000e1 movq %rsp, %rbp + 0x41, 0x57, //0x000000e4 pushq %r15 + 0x41, 0x56, //0x000000e6 pushq %r14 + 0x41, 0x55, //0x000000e8 pushq %r13 + 0x41, 0x54, //0x000000ea pushq %r12 + 0x53, //0x000000ec pushq %rbx + 0x48, 0x81, 0xec, 0xa8, 0x00, 0x00, 0x00, //0x000000ed subq $168, %rsp + 0x49, 0x89, 0xce, //0x000000f4 movq %rcx, %r14 + 0x49, 0x89, 0xf3, //0x000000f7 movq %rsi, %r11 + 0x49, 0x89, 0xfd, //0x000000fa movq %rdi, %r13 + 0x48, 0x8b, 0x42, 0x08, //0x000000fd movq $8(%rdx), %rax + 0x48, 0x85, 0xc0, //0x00000101 testq %rax, %rax + 0x48, 0x89, 0x75, 0xd0, //0x00000104 movq %rsi, $-48(%rbp) + 0x48, 0x89, 0x7d, 0xc0, //0x00000108 movq %rdi, $-64(%rbp) + 0x48, 0x89, 0x4d, 0xa8, //0x0000010c movq %rcx, $-88(%rbp) + 0x0f, 0x84, 0x22, 0x2f, 0x00, 0x00, //0x00000110 je LBB0_448 + 0x4c, 0x8b, 0x0a, //0x00000116 movq (%rdx), %r9 + 0x48, 0xc1, 0xe0, 0x04, //0x00000119 shlq $4, %rax + 0x4c, 0x01, 0xc8, //0x0000011d addq %r9, %rax + 0x48, 0x89, 0x85, 0x30, 0xff, 0xff, 0xff, //0x00000120 movq %rax, $-208(%rbp) + 0x4d, 0x8d, 0x45, 0x08, //0x00000127 leaq $8(%r13), %r8 + 0x49, 0x8b, 0x7d, 0x00, //0x0000012b movq (%r13), %rdi + 0x49, 0x8b, 0x03, //0x0000012f movq (%r11), %rax + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000132 movabsq $4294977024, %r10 + 0xf3, 0x0f, 0x6f, 0x05, 0xec, 0xfe, 0xff, 0xff, //0x0000013c movdqu $-276(%rip), %xmm0 /* LCPI0_3+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0xf4, 0xfe, 0xff, 0xff, //0x00000144 movdqu $-268(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x2d, 0xab, 0xfe, 0xff, 0xff, //0x0000014c movdqu $-341(%rip), %xmm13 /* LCPI0_0+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x35, 0xb2, 0xfe, 0xff, 0xff, //0x00000155 movdqu $-334(%rip), %xmm14 /* LCPI0_1+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x25, 0xba, 0xfe, 0xff, 0xff, //0x0000015e movdqu $-326(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0x66, 0x45, 0x0f, 0x76, 0xc9, //0x00000166 pcmpeqd %xmm9, %xmm9 + 0xf3, 0x44, 0x0f, 0x6f, 0x15, 0xec, 0xfe, 0xff, 0xff, //0x0000016b movdqu $-276(%rip), %xmm10 /* LCPI0_6+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x1d, 0xf3, 0xfe, 0xff, 0xff, //0x00000174 movdqu $-269(%rip), %xmm11 /* LCPI0_7+0(%rip) */ + 0x66, 0x45, 0x0f, 0xef, 0xc0, //0x0000017d pxor %xmm8, %xmm8 + 0xf3, 0x44, 0x0f, 0x6f, 0x25, 0xc5, 0xfe, 0xff, 0xff, //0x00000182 movdqu $-315(%rip), %xmm12 /* LCPI0_5+0(%rip) */ + 0x4c, 0x89, 0x45, 0xb0, //0x0000018b movq %r8, $-80(%rbp) + //0x0000018f LBB0_2 + 0x49, 0x8b, 0x08, //0x0000018f movq (%r8), %rcx + 0x48, 0x89, 0xc2, //0x00000192 movq %rax, %rdx + 0x48, 0x29, 0xca, //0x00000195 subq %rcx, %rdx + 0x0f, 0x83, 0x32, 0x00, 0x00, 0x00, //0x00000198 jae LBB0_7 + 0x8a, 0x1c, 0x07, //0x0000019e movb (%rdi,%rax), %bl + 0x80, 0xfb, 0x0d, //0x000001a1 cmpb $13, %bl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x000001a4 je LBB0_7 + 0x80, 0xfb, 0x20, //0x000001aa cmpb $32, %bl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x000001ad je LBB0_7 + 0x80, 0xc3, 0xf7, //0x000001b3 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000001b6 cmpb $1, %bl + 0x0f, 0x86, 0x11, 0x00, 0x00, 0x00, //0x000001b9 jbe LBB0_7 + 0x48, 0x89, 0xc6, //0x000001bf movq %rax, %rsi + 0xe9, 0x39, 0x01, 0x00, 0x00, //0x000001c2 jmp LBB0_27 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001c7 .p2align 4, 0x90 + //0x000001d0 LBB0_7 + 0x48, 0x8d, 0x70, 0x01, //0x000001d0 leaq $1(%rax), %rsi + 0x48, 0x39, 0xce, //0x000001d4 cmpq %rcx, %rsi + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000001d7 jae LBB0_11 + 0x8a, 0x1c, 0x37, //0x000001dd movb (%rdi,%rsi), %bl + 0x80, 0xfb, 0x0d, //0x000001e0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000001e3 je LBB0_11 + 0x80, 0xfb, 0x20, //0x000001e9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000001ec je LBB0_11 + 0x80, 0xc3, 0xf7, //0x000001f2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000001f5 cmpb $1, %bl + 0x0f, 0x87, 0x02, 0x01, 0x00, 0x00, //0x000001f8 ja LBB0_27 + 0x90, 0x90, //0x000001fe .p2align 4, 0x90 + //0x00000200 LBB0_11 + 0x48, 0x8d, 0x70, 0x02, //0x00000200 leaq $2(%rax), %rsi + 0x48, 0x39, 0xce, //0x00000204 cmpq %rcx, %rsi + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000207 jae LBB0_15 + 0x8a, 0x1c, 0x37, //0x0000020d movb (%rdi,%rsi), %bl + 0x80, 0xfb, 0x0d, //0x00000210 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000213 je LBB0_15 + 0x80, 0xfb, 0x20, //0x00000219 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000021c je LBB0_15 + 0x80, 0xc3, 0xf7, //0x00000222 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000225 cmpb $1, %bl + 0x0f, 0x87, 0xd2, 0x00, 0x00, 0x00, //0x00000228 ja LBB0_27 + 0x90, 0x90, //0x0000022e .p2align 4, 0x90 + //0x00000230 LBB0_15 + 0x48, 0x8d, 0x70, 0x03, //0x00000230 leaq $3(%rax), %rsi + 0x48, 0x39, 0xce, //0x00000234 cmpq %rcx, %rsi + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000237 jae LBB0_19 + 0x8a, 0x1c, 0x37, //0x0000023d movb (%rdi,%rsi), %bl + 0x80, 0xfb, 0x0d, //0x00000240 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000243 je LBB0_19 + 0x80, 0xfb, 0x20, //0x00000249 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000024c je LBB0_19 + 0x80, 0xc3, 0xf7, //0x00000252 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000255 cmpb $1, %bl + 0x0f, 0x87, 0xa2, 0x00, 0x00, 0x00, //0x00000258 ja LBB0_27 + 0x90, 0x90, //0x0000025e .p2align 4, 0x90 + //0x00000260 LBB0_19 + 0x4c, 0x8d, 0x70, 0x04, //0x00000260 leaq $4(%rax), %r14 + 0x4c, 0x39, 0xf1, //0x00000264 cmpq %r14, %rcx + 0x0f, 0x86, 0x63, 0x00, 0x00, 0x00, //0x00000267 jbe LBB0_551 + 0x4c, 0x39, 0xf1, //0x0000026d cmpq %r14, %rcx + 0x0f, 0x84, 0x70, 0x00, 0x00, 0x00, //0x00000270 je LBB0_26 + 0x4c, 0x8d, 0x34, 0x0f, //0x00000276 leaq (%rdi,%rcx), %r14 + 0x48, 0x83, 0xc2, 0x04, //0x0000027a addq $4, %rdx + 0x48, 0x89, 0xfb, //0x0000027e movq %rdi, %rbx + 0x48, 0x8d, 0x74, 0x07, 0x05, //0x00000281 leaq $5(%rdi,%rax), %rsi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000286 .p2align 4, 0x90 + //0x00000290 LBB0_22 + 0x0f, 0xbe, 0x7e, 0xff, //0x00000290 movsbl $-1(%rsi), %edi + 0x83, 0xff, 0x20, //0x00000294 cmpl $32, %edi + 0x0f, 0x87, 0x7e, 0x00, 0x00, 0x00, //0x00000297 ja LBB0_28 + 0x49, 0x0f, 0xa3, 0xfa, //0x0000029d btq %rdi, %r10 + 0x0f, 0x83, 0x74, 0x00, 0x00, 0x00, //0x000002a1 jae LBB0_28 + 0x48, 0xff, 0xc6, //0x000002a7 incq %rsi + 0x48, 0xff, 0xc2, //0x000002aa incq %rdx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x000002ad jne LBB0_22 + 0x48, 0x89, 0xdf, //0x000002b3 movq %rbx, %rdi + 0x49, 0x29, 0xfe, //0x000002b6 subq %rdi, %r14 + 0x4c, 0x89, 0xf6, //0x000002b9 movq %r14, %rsi + 0x48, 0x39, 0xce, //0x000002bc cmpq %rcx, %rsi + 0x0f, 0x82, 0x3b, 0x00, 0x00, 0x00, //0x000002bf jb LBB0_27 + 0xe9, 0x66, 0x00, 0x00, 0x00, //0x000002c5 jmp LBB0_29 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002ca .p2align 4, 0x90 + //0x000002d0 LBB0_551 + 0x4d, 0x89, 0x33, //0x000002d0 movq %r14, (%r11) + 0x31, 0xc9, //0x000002d3 xorl %ecx, %ecx + 0x49, 0x8b, 0x01, //0x000002d5 movq (%r9), %rax + 0x48, 0x85, 0xc0, //0x000002d8 testq %rax, %rax + 0x0f, 0x85, 0x6f, 0x00, 0x00, 0x00, //0x000002db jne LBB0_30 + 0xe9, 0x1c, 0x2f, 0x00, 0x00, //0x000002e1 jmp LBB0_552 + //0x000002e6 LBB0_26 + 0x49, 0x01, 0xfe, //0x000002e6 addq %rdi, %r14 + 0x49, 0x29, 0xfe, //0x000002e9 subq %rdi, %r14 + 0x4c, 0x89, 0xf6, //0x000002ec movq %r14, %rsi + 0x48, 0x39, 0xce, //0x000002ef cmpq %rcx, %rsi + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x000002f2 jae LBB0_29 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002f8 .p2align 4, 0x90 + //0x00000300 LBB0_27 + 0x4c, 0x8d, 0x76, 0x01, //0x00000300 leaq $1(%rsi), %r14 + 0x4d, 0x89, 0x33, //0x00000304 movq %r14, (%r11) + 0x8a, 0x0c, 0x37, //0x00000307 movb (%rdi,%rsi), %cl + 0x49, 0x8b, 0x01, //0x0000030a movq (%r9), %rax + 0x48, 0x85, 0xc0, //0x0000030d testq %rax, %rax + 0x0f, 0x85, 0x3a, 0x00, 0x00, 0x00, //0x00000310 jne LBB0_30 + 0xe9, 0xe7, 0x2e, 0x00, 0x00, //0x00000316 jmp LBB0_552 + //0x0000031b LBB0_28 + 0x48, 0x89, 0xdf, //0x0000031b movq %rbx, %rdi + 0x48, 0x89, 0xda, //0x0000031e movq %rbx, %rdx + 0x48, 0xf7, 0xd2, //0x00000321 notq %rdx + 0x48, 0x01, 0xd6, //0x00000324 addq %rdx, %rsi + 0x48, 0x39, 0xce, //0x00000327 cmpq %rcx, %rsi + 0x0f, 0x82, 0xd0, 0xff, 0xff, 0xff, //0x0000032a jb LBB0_27 + //0x00000330 LBB0_29 + 0x31, 0xc9, //0x00000330 xorl %ecx, %ecx + 0x49, 0x89, 0xc6, //0x00000332 movq %rax, %r14 + 0x49, 0x8b, 0x01, //0x00000335 movq (%r9), %rax + 0x48, 0x85, 0xc0, //0x00000338 testq %rax, %rax + 0x0f, 0x84, 0xc1, 0x2e, 0x00, 0x00, //0x0000033b je LBB0_552 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000341 .p2align 4, 0x90 + //0x00000350 LBB0_30 + 0x8a, 0x40, 0x17, //0x00000350 movb $23(%rax), %al + 0x24, 0x1f, //0x00000353 andb $31, %al + 0x3c, 0x02, //0x00000355 cmpb $2, %al + 0x0f, 0x84, 0x23, 0x00, 0x00, 0x00, //0x00000357 je LBB0_344 + 0x3c, 0x18, //0x0000035d cmpb $24, %al + 0x0f, 0x85, 0x9d, 0x2e, 0x00, 0x00, //0x0000035f jne LBB0_552 + 0x80, 0xf9, 0x7b, //0x00000365 cmpb $123, %cl + 0x4c, 0x89, 0x4d, 0xa0, //0x00000368 movq %r9, $-96(%rbp) + 0x0f, 0x84, 0x92, 0x00, 0x00, 0x00, //0x0000036c je LBB0_33 + 0xe9, 0xcb, 0x2e, 0x00, 0x00, //0x00000372 jmp LBB0_556 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000377 .p2align 4, 0x90 + //0x00000380 LBB0_344 + 0x80, 0xf9, 0x5b, //0x00000380 cmpb $91, %cl + 0x0f, 0x85, 0xb9, 0x2e, 0x00, 0x00, //0x00000383 jne LBB0_556 + 0x49, 0x8b, 0x41, 0x08, //0x00000389 movq $8(%r9), %rax + 0x4c, 0x8b, 0x20, //0x0000038d movq (%rax), %r12 + 0x4d, 0x85, 0xe4, //0x00000390 testq %r12, %r12 + 0x0f, 0x88, 0x69, 0x2e, 0x00, 0x00, //0x00000393 js LBB0_552 + 0x49, 0x8b, 0x00, //0x00000399 movq (%r8), %rax + 0x4c, 0x89, 0xf1, //0x0000039c movq %r14, %rcx + 0x48, 0x29, 0xc1, //0x0000039f subq %rax, %rcx + 0x0f, 0x83, 0x08, 0x1c, 0x00, 0x00, //0x000003a2 jae LBB0_351 + 0x42, 0x8a, 0x14, 0x37, //0x000003a8 movb (%rdi,%r14), %dl + 0x80, 0xfa, 0x0d, //0x000003ac cmpb $13, %dl + 0x0f, 0x84, 0xfb, 0x1b, 0x00, 0x00, //0x000003af je LBB0_351 + 0x80, 0xfa, 0x20, //0x000003b5 cmpb $32, %dl + 0x0f, 0x84, 0xf2, 0x1b, 0x00, 0x00, //0x000003b8 je LBB0_351 + 0x80, 0xc2, 0xf7, //0x000003be addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000003c1 cmpb $1, %dl + 0x0f, 0x86, 0xe6, 0x1b, 0x00, 0x00, //0x000003c4 jbe LBB0_351 + 0x4c, 0x89, 0xf2, //0x000003ca movq %r14, %rdx + 0xe9, 0x0f, 0x1d, 0x00, 0x00, //0x000003cd jmp LBB0_373 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003d2 .p2align 4, 0x90 + //0x000003e0 LBB0_248 + 0x48, 0x01, 0xfe, //0x000003e0 addq %rdi, %rsi + 0x48, 0x29, 0xfe, //0x000003e3 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x000003e6 movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x000003e9 cmpq %rax, %rdx + 0x0f, 0x83, 0x50, 0x2e, 0x00, 0x00, //0x000003ec jae LBB0_556 + //0x000003f2 LBB0_250 + 0x4c, 0x8d, 0x72, 0x01, //0x000003f2 leaq $1(%rdx), %r14 + 0x4d, 0x89, 0x33, //0x000003f6 movq %r14, (%r11) + 0x8a, 0x04, 0x17, //0x000003f9 movb (%rdi,%rdx), %al + 0x3c, 0x2c, //0x000003fc cmpb $44, %al + 0x0f, 0x85, 0x1e, 0x2e, 0x00, 0x00, //0x000003fe jne LBB0_251 + //0x00000404 LBB0_33 + 0x49, 0x8b, 0x08, //0x00000404 movq (%r8), %rcx + 0x4c, 0x89, 0xf2, //0x00000407 movq %r14, %rdx + 0x48, 0x29, 0xca, //0x0000040a subq %rcx, %rdx + 0x48, 0x89, 0x7d, 0xc8, //0x0000040d movq %rdi, $-56(%rbp) + 0x0f, 0x83, 0x29, 0x00, 0x00, 0x00, //0x00000411 jae LBB0_38 + 0x42, 0x8a, 0x04, 0x37, //0x00000417 movb (%rdi,%r14), %al + 0x3c, 0x0d, //0x0000041b cmpb $13, %al + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x0000041d je LBB0_38 + 0x3c, 0x20, //0x00000423 cmpb $32, %al + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000425 je LBB0_38 + 0x04, 0xf7, //0x0000042b addb $-9, %al + 0x3c, 0x01, //0x0000042d cmpb $1, %al + 0x0f, 0x86, 0x0b, 0x00, 0x00, 0x00, //0x0000042f jbe LBB0_38 + 0x4c, 0x89, 0xf0, //0x00000435 movq %r14, %rax + 0xe9, 0x39, 0x01, 0x00, 0x00, //0x00000438 jmp LBB0_59 + 0x90, 0x90, 0x90, //0x0000043d .p2align 4, 0x90 + //0x00000440 LBB0_38 + 0x49, 0x8d, 0x46, 0x01, //0x00000440 leaq $1(%r14), %rax + 0x48, 0x39, 0xc8, //0x00000444 cmpq %rcx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000447 jae LBB0_42 + 0x8a, 0x1c, 0x07, //0x0000044d movb (%rdi,%rax), %bl + 0x80, 0xfb, 0x0d, //0x00000450 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000453 je LBB0_42 + 0x80, 0xfb, 0x20, //0x00000459 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000045c je LBB0_42 + 0x80, 0xc3, 0xf7, //0x00000462 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000465 cmpb $1, %bl + 0x0f, 0x87, 0x08, 0x01, 0x00, 0x00, //0x00000468 ja LBB0_59 + 0x90, 0x90, //0x0000046e .p2align 4, 0x90 + //0x00000470 LBB0_42 + 0x49, 0x8d, 0x46, 0x02, //0x00000470 leaq $2(%r14), %rax + 0x48, 0x39, 0xc8, //0x00000474 cmpq %rcx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000477 jae LBB0_46 + 0x8a, 0x1c, 0x07, //0x0000047d movb (%rdi,%rax), %bl + 0x80, 0xfb, 0x0d, //0x00000480 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000483 je LBB0_46 + 0x80, 0xfb, 0x20, //0x00000489 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000048c je LBB0_46 + 0x80, 0xc3, 0xf7, //0x00000492 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000495 cmpb $1, %bl + 0x0f, 0x87, 0xd8, 0x00, 0x00, 0x00, //0x00000498 ja LBB0_59 + 0x90, 0x90, //0x0000049e .p2align 4, 0x90 + //0x000004a0 LBB0_46 + 0x49, 0x8d, 0x46, 0x03, //0x000004a0 leaq $3(%r14), %rax + 0x48, 0x39, 0xc8, //0x000004a4 cmpq %rcx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000004a7 jae LBB0_50 + 0x8a, 0x1c, 0x07, //0x000004ad movb (%rdi,%rax), %bl + 0x80, 0xfb, 0x0d, //0x000004b0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000004b3 je LBB0_50 + 0x80, 0xfb, 0x20, //0x000004b9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000004bc je LBB0_50 + 0x80, 0xc3, 0xf7, //0x000004c2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000004c5 cmpb $1, %bl + 0x0f, 0x87, 0xa8, 0x00, 0x00, 0x00, //0x000004c8 ja LBB0_59 + 0x90, 0x90, //0x000004ce .p2align 4, 0x90 + //0x000004d0 LBB0_50 + 0x49, 0x8d, 0x76, 0x04, //0x000004d0 leaq $4(%r14), %rsi + 0x48, 0x39, 0xf1, //0x000004d4 cmpq %rsi, %rcx + 0x0f, 0x86, 0x0d, 0x2d, 0x00, 0x00, //0x000004d7 jbe LBB0_549 + 0x48, 0x39, 0xf1, //0x000004dd cmpq %rsi, %rcx + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x000004e0 je LBB0_57 + 0x48, 0x8d, 0x34, 0x0f, //0x000004e6 leaq (%rdi,%rcx), %rsi + 0x48, 0x83, 0xc2, 0x04, //0x000004ea addq $4, %rdx + 0x4a, 0x8d, 0x44, 0x37, 0x05, //0x000004ee leaq $5(%rdi,%r14), %rax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000004f3 .p2align 4, 0x90 + //0x00000500 LBB0_53 + 0x0f, 0xbe, 0x78, 0xff, //0x00000500 movsbl $-1(%rax), %edi + 0x83, 0xff, 0x20, //0x00000504 cmpl $32, %edi + 0x0f, 0x87, 0x53, 0x00, 0x00, 0x00, //0x00000507 ja LBB0_58 + 0x49, 0x0f, 0xa3, 0xfa, //0x0000050d btq %rdi, %r10 + 0x0f, 0x83, 0x49, 0x00, 0x00, 0x00, //0x00000511 jae LBB0_58 + 0x48, 0xff, 0xc0, //0x00000517 incq %rax + 0x48, 0xff, 0xc2, //0x0000051a incq %rdx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x0000051d jne LBB0_53 + 0x48, 0x8b, 0x7d, 0xc8, //0x00000523 movq $-56(%rbp), %rdi + 0x48, 0x29, 0xfe, //0x00000527 subq %rdi, %rsi + 0x48, 0x89, 0xf0, //0x0000052a movq %rsi, %rax + 0x48, 0x39, 0xc8, //0x0000052d cmpq %rcx, %rax + 0x0f, 0x82, 0x40, 0x00, 0x00, 0x00, //0x00000530 jb LBB0_59 + 0xe9, 0x07, 0x2d, 0x00, 0x00, //0x00000536 jmp LBB0_556 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000053b .p2align 4, 0x90 + //0x00000540 LBB0_57 + 0x48, 0x01, 0xfe, //0x00000540 addq %rdi, %rsi + 0x48, 0x29, 0xfe, //0x00000543 subq %rdi, %rsi + 0x48, 0x89, 0xf0, //0x00000546 movq %rsi, %rax + 0x48, 0x39, 0xc8, //0x00000549 cmpq %rcx, %rax + 0x0f, 0x82, 0x24, 0x00, 0x00, 0x00, //0x0000054c jb LBB0_59 + 0xe9, 0xeb, 0x2c, 0x00, 0x00, //0x00000552 jmp LBB0_556 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000557 .p2align 4, 0x90 + //0x00000560 LBB0_58 + 0x48, 0x8b, 0x7d, 0xc8, //0x00000560 movq $-56(%rbp), %rdi + 0x48, 0x89, 0xfa, //0x00000564 movq %rdi, %rdx + 0x48, 0xf7, 0xd2, //0x00000567 notq %rdx + 0x48, 0x01, 0xd0, //0x0000056a addq %rdx, %rax + 0x48, 0x39, 0xc8, //0x0000056d cmpq %rcx, %rax + 0x0f, 0x83, 0xcc, 0x2c, 0x00, 0x00, //0x00000570 jae LBB0_556 + //0x00000576 LBB0_59 + 0x4c, 0x8d, 0x70, 0x01, //0x00000576 leaq $1(%rax), %r14 + 0x4d, 0x89, 0x33, //0x0000057a movq %r14, (%r11) + 0x8a, 0x0c, 0x07, //0x0000057d movb (%rdi,%rax), %cl + 0x80, 0xf9, 0x22, //0x00000580 cmpb $34, %cl + 0x0f, 0x85, 0x8b, 0x2c, 0x00, 0x00, //0x00000583 jne LBB0_553 + 0x49, 0x8b, 0x18, //0x00000589 movq (%r8), %rbx + 0x48, 0x89, 0xd9, //0x0000058c movq %rbx, %rcx + 0x4c, 0x29, 0xf1, //0x0000058f subq %r14, %rcx + 0x0f, 0x84, 0x55, 0x4f, 0x00, 0x00, //0x00000592 je LBB0_950 + 0x49, 0x8b, 0x51, 0x08, //0x00000598 movq $8(%r9), %rdx + 0x48, 0x8b, 0x32, //0x0000059c movq (%rdx), %rsi + 0x48, 0x89, 0x75, 0x90, //0x0000059f movq %rsi, $-112(%rbp) + 0x48, 0x8b, 0x52, 0x08, //0x000005a3 movq $8(%rdx), %rdx + 0x48, 0x89, 0x55, 0x98, //0x000005a7 movq %rdx, $-104(%rbp) + 0x49, 0x01, 0xfe, //0x000005ab addq %rdi, %r14 + 0x48, 0x83, 0xf9, 0x40, //0x000005ae cmpq $64, %rcx + 0x4c, 0x89, 0x75, 0xb8, //0x000005b2 movq %r14, $-72(%rbp) + 0x48, 0x89, 0x9d, 0x38, 0xff, 0xff, 0xff, //0x000005b6 movq %rbx, $-200(%rbp) + 0x0f, 0x82, 0x35, 0x13, 0x00, 0x00, //0x000005bd jb LBB0_105 + 0x89, 0xca, //0x000005c3 movl %ecx, %edx + 0x83, 0xe2, 0x3f, //0x000005c5 andl $63, %edx + 0x48, 0x89, 0x55, 0x88, //0x000005c8 movq %rdx, $-120(%rbp) + 0x48, 0x89, 0xde, //0x000005cc movq %rbx, %rsi + 0x48, 0x29, 0xc6, //0x000005cf subq %rax, %rsi + 0x48, 0x83, 0xc6, 0xbf, //0x000005d2 addq $-65, %rsi + 0x48, 0x83, 0xe6, 0xc0, //0x000005d6 andq $-64, %rsi + 0x48, 0x01, 0xc6, //0x000005da addq %rax, %rsi + 0x48, 0x8d, 0x54, 0x37, 0x41, //0x000005dd leaq $65(%rdi,%rsi), %rdx + 0x48, 0x89, 0x55, 0x80, //0x000005e2 movq %rdx, $-128(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000005e6 movq $-1, %r11 + 0x4c, 0x89, 0xf6, //0x000005ed movq %r14, %rsi + 0x31, 0xdb, //0x000005f0 xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000005f2 .p2align 4, 0x90 + //0x00000600 LBB0_63 + 0xf3, 0x0f, 0x6f, 0x1e, //0x00000600 movdqu (%rsi), %xmm3 + 0xf3, 0x0f, 0x6f, 0x6e, 0x10, //0x00000604 movdqu $16(%rsi), %xmm5 + 0xf3, 0x0f, 0x6f, 0x76, 0x20, //0x00000609 movdqu $32(%rsi), %xmm6 + 0xf3, 0x0f, 0x6f, 0x7e, 0x30, //0x0000060e movdqu $48(%rsi), %xmm7 + 0x66, 0x0f, 0x6f, 0xd3, //0x00000613 movdqa %xmm3, %xmm2 + 0x66, 0x0f, 0x74, 0xd0, //0x00000617 pcmpeqb %xmm0, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x0000061b pmovmskb %xmm2, %edi + 0x66, 0x0f, 0x6f, 0xd5, //0x0000061f movdqa %xmm5, %xmm2 + 0x66, 0x0f, 0x74, 0xd0, //0x00000623 pcmpeqb %xmm0, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xe2, //0x00000627 pmovmskb %xmm2, %r12d + 0x66, 0x0f, 0x6f, 0xd6, //0x0000062c movdqa %xmm6, %xmm2 + 0x66, 0x0f, 0x74, 0xd0, //0x00000630 pcmpeqb %xmm0, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xfa, //0x00000634 pmovmskb %xmm2, %r15d + 0x66, 0x0f, 0x6f, 0xd7, //0x00000639 movdqa %xmm7, %xmm2 + 0x66, 0x0f, 0x74, 0xd0, //0x0000063d pcmpeqb %xmm0, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xc2, //0x00000641 pmovmskb %xmm2, %r8d + 0x66, 0x0f, 0x74, 0xd9, //0x00000646 pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xcb, //0x0000064a pmovmskb %xmm3, %r9d + 0x66, 0x0f, 0x74, 0xe9, //0x0000064f pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xed, //0x00000653 pmovmskb %xmm5, %r13d + 0x66, 0x0f, 0x74, 0xf1, //0x00000658 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xd6, //0x0000065c pmovmskb %xmm6, %r10d + 0x66, 0x0f, 0x74, 0xf9, //0x00000661 pcmpeqb %xmm1, %xmm7 + 0x66, 0x44, 0x0f, 0xd7, 0xf7, //0x00000665 pmovmskb %xmm7, %r14d + 0x49, 0xc1, 0xe0, 0x30, //0x0000066a shlq $48, %r8 + 0x49, 0xc1, 0xe7, 0x20, //0x0000066e shlq $32, %r15 + 0x49, 0xc1, 0xe4, 0x10, //0x00000672 shlq $16, %r12 + 0x4c, 0x09, 0xe7, //0x00000676 orq %r12, %rdi + 0x4c, 0x09, 0xff, //0x00000679 orq %r15, %rdi + 0x49, 0xc1, 0xe6, 0x30, //0x0000067c shlq $48, %r14 + 0x49, 0xc1, 0xe2, 0x20, //0x00000680 shlq $32, %r10 + 0x49, 0xc1, 0xe5, 0x10, //0x00000684 shlq $16, %r13 + 0x4d, 0x09, 0xe9, //0x00000688 orq %r13, %r9 + 0x4d, 0x09, 0xd1, //0x0000068b orq %r10, %r9 + 0x4d, 0x09, 0xf1, //0x0000068e orq %r14, %r9 + 0x49, 0x83, 0xfb, 0xff, //0x00000691 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000695 jne LBB0_65 + 0x4d, 0x85, 0xc9, //0x0000069b testq %r9, %r9 + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000069e jne LBB0_74 + //0x000006a4 LBB0_65 + 0x4c, 0x09, 0xc7, //0x000006a4 orq %r8, %rdi + 0x4c, 0x89, 0xca, //0x000006a7 movq %r9, %rdx + 0x48, 0x09, 0xda, //0x000006aa orq %rbx, %rdx + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x000006ad jne LBB0_75 + //0x000006b3 LBB0_66 + 0x48, 0x85, 0xff, //0x000006b3 testq %rdi, %rdi + 0x0f, 0x85, 0x84, 0x00, 0x00, 0x00, //0x000006b6 jne LBB0_76 + //0x000006bc LBB0_67 + 0x48, 0x83, 0xc1, 0xc0, //0x000006bc addq $-64, %rcx + 0x48, 0x83, 0xc6, 0x40, //0x000006c0 addq $64, %rsi + 0x48, 0x83, 0xf9, 0x3f, //0x000006c4 cmpq $63, %rcx + 0x0f, 0x87, 0x32, 0xff, 0xff, 0xff, //0x000006c8 ja LBB0_63 + 0xe9, 0x6d, 0x11, 0x00, 0x00, //0x000006ce jmp LBB0_68 + //0x000006d3 LBB0_74 + 0x49, 0x89, 0xf2, //0x000006d3 movq %rsi, %r10 + 0x4c, 0x2b, 0x55, 0xc8, //0x000006d6 subq $-56(%rbp), %r10 + 0x4d, 0x0f, 0xbc, 0xd9, //0x000006da bsfq %r9, %r11 + 0x4d, 0x01, 0xd3, //0x000006de addq %r10, %r11 + 0x4c, 0x09, 0xc7, //0x000006e1 orq %r8, %rdi + 0x4c, 0x89, 0xca, //0x000006e4 movq %r9, %rdx + 0x48, 0x09, 0xda, //0x000006e7 orq %rbx, %rdx + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x000006ea je LBB0_66 + //0x000006f0 LBB0_75 + 0x49, 0x89, 0xda, //0x000006f0 movq %rbx, %r10 + 0x49, 0xf7, 0xd2, //0x000006f3 notq %r10 + 0x4d, 0x21, 0xca, //0x000006f6 andq %r9, %r10 + 0x4f, 0x8d, 0x04, 0x12, //0x000006f9 leaq (%r10,%r10), %r8 + 0x49, 0x09, 0xd8, //0x000006fd orq %rbx, %r8 + 0x4d, 0x89, 0xc6, //0x00000700 movq %r8, %r14 + 0x49, 0xf7, 0xd6, //0x00000703 notq %r14 + 0x4d, 0x21, 0xce, //0x00000706 andq %r9, %r14 + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000709 movabsq $-6148914691236517206, %rbx + 0x49, 0x21, 0xde, //0x00000713 andq %rbx, %r14 + 0x31, 0xdb, //0x00000716 xorl %ebx, %ebx + 0x4d, 0x01, 0xd6, //0x00000718 addq %r10, %r14 + 0x0f, 0x92, 0xc3, //0x0000071b setb %bl + 0x4d, 0x01, 0xf6, //0x0000071e addq %r14, %r14 + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000721 movabsq $6148914691236517205, %rdx + 0x49, 0x31, 0xd6, //0x0000072b xorq %rdx, %r14 + 0x4d, 0x21, 0xc6, //0x0000072e andq %r8, %r14 + 0x49, 0xf7, 0xd6, //0x00000731 notq %r14 + 0x4c, 0x21, 0xf7, //0x00000734 andq %r14, %rdi + 0x48, 0x85, 0xff, //0x00000737 testq %rdi, %rdi + 0x0f, 0x84, 0x7c, 0xff, 0xff, 0xff, //0x0000073a je LBB0_67 + //0x00000740 .p2align 4, 0x90 + //0x00000740 LBB0_76 + 0x48, 0x0f, 0xbc, 0xcf, //0x00000740 bsfq %rdi, %rcx + 0x48, 0x8b, 0x7d, 0xc8, //0x00000744 movq $-56(%rbp), %rdi + 0x48, 0x29, 0xfe, //0x00000748 subq %rdi, %rsi + 0x4c, 0x8d, 0x74, 0x0e, 0x01, //0x0000074b leaq $1(%rsi,%rcx), %r14 + 0x4c, 0x8b, 0x6d, 0xc0, //0x00000750 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xa0, //0x00000754 movq $-96(%rbp), %r9 + 0x4c, 0x8b, 0x45, 0xb0, //0x00000758 movq $-80(%rbp), %r8 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000075c movabsq $4294977024, %r10 + 0x4c, 0x8b, 0x7d, 0x90, //0x00000766 movq $-112(%rbp), %r15 + 0x4d, 0x85, 0xf6, //0x0000076a testq %r14, %r14 + 0x48, 0x8b, 0x5d, 0xb8, //0x0000076d movq $-72(%rbp), %rbx + 0x0f, 0x88, 0x7d, 0x4d, 0x00, 0x00, //0x00000771 js LBB0_951 + //0x00000777 LBB0_79 + 0x48, 0x8b, 0x4d, 0xd0, //0x00000777 movq $-48(%rbp), %rcx + 0x4c, 0x89, 0x31, //0x0000077b movq %r14, (%rcx) + 0x49, 0x83, 0xfb, 0xff, //0x0000077e cmpq $-1, %r11 + 0x0f, 0x84, 0x09, 0x00, 0x00, 0x00, //0x00000782 je LBB0_81 + 0x4d, 0x39, 0xf3, //0x00000788 cmpq %r14, %r11 + 0x0f, 0x8e, 0x83, 0x11, 0x00, 0x00, //0x0000078b jle LBB0_107 + //0x00000791 LBB0_81 + 0x4c, 0x89, 0xf6, //0x00000791 movq %r14, %rsi + 0x48, 0x29, 0xc6, //0x00000794 subq %rax, %rsi + 0x48, 0x83, 0xc6, 0xfe, //0x00000797 addq $-2, %rsi + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000079b movl $1, %ecx + 0x48, 0x89, 0xf0, //0x000007a0 movq %rsi, %rax + 0x48, 0x8b, 0x55, 0x98, //0x000007a3 movq $-104(%rbp), %rdx + 0x48, 0x09, 0xd0, //0x000007a7 orq %rdx, %rax + 0x0f, 0x84, 0x00, 0x01, 0x00, 0x00, //0x000007aa je LBB0_92 + 0x48, 0x39, 0xd6, //0x000007b0 cmpq %rdx, %rsi + 0x4c, 0x8b, 0x5d, 0xd0, //0x000007b3 movq $-48(%rbp), %r11 + 0x0f, 0x85, 0x13, 0x01, 0x00, 0x00, //0x000007b7 jne LBB0_93 + 0x48, 0x89, 0xd0, //0x000007bd movq %rdx, %rax + 0x48, 0x83, 0xfa, 0x10, //0x000007c0 cmpq $16, %rdx + 0x0f, 0x82, 0x73, 0x00, 0x00, 0x00, //0x000007c4 jb LBB0_88 + 0x48, 0x83, 0xc0, 0xf0, //0x000007ca addq $-16, %rax + 0x48, 0x89, 0xc2, //0x000007ce movq %rax, %rdx + 0x48, 0x83, 0xe2, 0xf0, //0x000007d1 andq $-16, %rdx + 0x48, 0x8d, 0x74, 0x13, 0x10, //0x000007d5 leaq $16(%rbx,%rdx), %rsi + 0x48, 0x8b, 0x7d, 0x90, //0x000007da movq $-112(%rbp), %rdi + 0x48, 0x8d, 0x7c, 0x17, 0x10, //0x000007de leaq $16(%rdi,%rdx), %rdi + 0x83, 0xe0, 0x0f, //0x000007e3 andl $15, %eax + 0x31, 0xdb, //0x000007e6 xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000007e8 .p2align 4, 0x90 + //0x000007f0 LBB0_85 + 0x48, 0x8b, 0x55, 0xb8, //0x000007f0 movq $-72(%rbp), %rdx + 0xf3, 0x0f, 0x6f, 0x14, 0x1a, //0x000007f4 movdqu (%rdx,%rbx), %xmm2 + 0x48, 0x8b, 0x55, 0x90, //0x000007f9 movq $-112(%rbp), %rdx + 0xf3, 0x0f, 0x6f, 0x1c, 0x1a, //0x000007fd movdqu (%rdx,%rbx), %xmm3 + 0x66, 0x0f, 0x74, 0xda, //0x00000802 pcmpeqb %xmm2, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x00000806 pmovmskb %xmm3, %edx + 0x66, 0x83, 0xfa, 0xff, //0x0000080a cmpw $-1, %dx + 0x0f, 0x85, 0x41, 0x01, 0x00, 0x00, //0x0000080e jne LBB0_98 + 0x48, 0x8b, 0x55, 0x98, //0x00000814 movq $-104(%rbp), %rdx + 0x48, 0x83, 0xc2, 0xf0, //0x00000818 addq $-16, %rdx + 0x48, 0x83, 0xc3, 0x10, //0x0000081c addq $16, %rbx + 0x48, 0x89, 0x55, 0x98, //0x00000820 movq %rdx, $-104(%rbp) + 0x48, 0x83, 0xfa, 0x0f, //0x00000824 cmpq $15, %rdx + 0x0f, 0x87, 0xc2, 0xff, 0xff, 0xff, //0x00000828 ja LBB0_85 + 0x48, 0x89, 0x45, 0x98, //0x0000082e movq %rax, $-104(%rbp) + 0x48, 0x89, 0x7d, 0x90, //0x00000832 movq %rdi, $-112(%rbp) + 0x48, 0x89, 0xf3, //0x00000836 movq %rsi, %rbx + 0x48, 0x8b, 0x7d, 0xc8, //0x00000839 movq $-56(%rbp), %rdi + //0x0000083d LBB0_88 + 0x48, 0x8b, 0x75, 0x90, //0x0000083d movq $-112(%rbp), %rsi + 0x89, 0xf0, //0x00000841 movl %esi, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00000843 andl $4095, %eax + 0x3d, 0xf0, 0x0f, 0x00, 0x00, //0x00000848 cmpl $4080, %eax + 0x0f, 0x87, 0x93, 0x00, 0x00, 0x00, //0x0000084d ja LBB0_94 + 0x89, 0xd8, //0x00000853 movl %ebx, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00000855 andl $4095, %eax + 0x3d, 0xf1, 0x0f, 0x00, 0x00, //0x0000085a cmpl $4081, %eax + 0x0f, 0x83, 0x81, 0x00, 0x00, 0x00, //0x0000085f jae LBB0_94 + 0xf3, 0x0f, 0x6f, 0x13, //0x00000865 movdqu (%rbx), %xmm2 + 0xf3, 0x0f, 0x6f, 0x1e, //0x00000869 movdqu (%rsi), %xmm3 + 0x66, 0x0f, 0x74, 0xda, //0x0000086d pcmpeqb %xmm2, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x00000871 pmovmskb %xmm3, %eax + 0x66, 0x83, 0xf8, 0xff, //0x00000875 cmpw $-1, %ax + 0x0f, 0x84, 0xa1, 0x00, 0x00, 0x00, //0x00000879 je LBB0_100 + 0xf7, 0xd0, //0x0000087f notl %eax + 0x0f, 0xb7, 0xc0, //0x00000881 movzwl %ax, %eax + 0x48, 0x0f, 0xbc, 0xc0, //0x00000884 bsfq %rax, %rax + 0x31, 0xc9, //0x00000888 xorl %ecx, %ecx + 0x48, 0x3b, 0x45, 0x98, //0x0000088a cmpq $-104(%rbp), %rax + 0x0f, 0x93, 0xc1, //0x0000088e setae %cl + 0x49, 0x8b, 0x10, //0x00000891 movq (%r8), %rdx + 0x4c, 0x89, 0xf6, //0x00000894 movq %r14, %rsi + 0x48, 0x29, 0xd6, //0x00000897 subq %rdx, %rsi + 0x0f, 0x82, 0x8f, 0x00, 0x00, 0x00, //0x0000089a jb LBB0_101 + 0xe9, 0xdb, 0x00, 0x00, 0x00, //0x000008a0 jmp LBB0_156 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008a5 .p2align 4, 0x90 + //0x000008b0 LBB0_92 + 0x4c, 0x8b, 0x5d, 0xd0, //0x000008b0 movq $-48(%rbp), %r11 + 0x49, 0x8b, 0x10, //0x000008b4 movq (%r8), %rdx + 0x4c, 0x89, 0xf6, //0x000008b7 movq %r14, %rsi + 0x48, 0x29, 0xd6, //0x000008ba subq %rdx, %rsi + 0x0f, 0x82, 0x6c, 0x00, 0x00, 0x00, //0x000008bd jb LBB0_101 + 0xe9, 0xb8, 0x00, 0x00, 0x00, //0x000008c3 jmp LBB0_156 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008c8 .p2align 4, 0x90 + //0x000008d0 LBB0_93 + 0x31, 0xc9, //0x000008d0 xorl %ecx, %ecx + 0x49, 0x8b, 0x10, //0x000008d2 movq (%r8), %rdx + 0x4c, 0x89, 0xf6, //0x000008d5 movq %r14, %rsi + 0x48, 0x29, 0xd6, //0x000008d8 subq %rdx, %rsi + 0x0f, 0x82, 0x4e, 0x00, 0x00, 0x00, //0x000008db jb LBB0_101 + 0xe9, 0x9a, 0x00, 0x00, 0x00, //0x000008e1 jmp LBB0_156 + //0x000008e6 LBB0_94 + 0x48, 0x83, 0x7d, 0x98, 0x00, //0x000008e6 cmpq $0, $-104(%rbp) + 0x0f, 0x84, 0x2f, 0x00, 0x00, 0x00, //0x000008eb je LBB0_100 + 0x31, 0xc0, //0x000008f1 xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008f3 .p2align 4, 0x90 + //0x00000900 LBB0_96 + 0x0f, 0xb6, 0x14, 0x03, //0x00000900 movzbl (%rbx,%rax), %edx + 0x3a, 0x14, 0x06, //0x00000904 cmpb (%rsi,%rax), %dl + 0x0f, 0x85, 0x62, 0x00, 0x00, 0x00, //0x00000907 jne LBB0_99 + 0x48, 0xff, 0xc0, //0x0000090d incq %rax + 0x48, 0x39, 0x45, 0x98, //0x00000910 cmpq %rax, $-104(%rbp) + 0x0f, 0x85, 0xe6, 0xff, 0xff, 0xff, //0x00000914 jne LBB0_96 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000091a .p2align 4, 0x90 + //0x00000920 LBB0_100 + 0x49, 0x8b, 0x10, //0x00000920 movq (%r8), %rdx + 0x4c, 0x89, 0xf6, //0x00000923 movq %r14, %rsi + 0x48, 0x29, 0xd6, //0x00000926 subq %rdx, %rsi + 0x0f, 0x83, 0x51, 0x00, 0x00, 0x00, //0x00000929 jae LBB0_156 + //0x0000092f LBB0_101 + 0x42, 0x8a, 0x04, 0x37, //0x0000092f movb (%rdi,%r14), %al + 0x3c, 0x0d, //0x00000933 cmpb $13, %al + 0x0f, 0x84, 0x45, 0x00, 0x00, 0x00, //0x00000935 je LBB0_156 + 0x3c, 0x20, //0x0000093b cmpb $32, %al + 0x0f, 0x84, 0x3d, 0x00, 0x00, 0x00, //0x0000093d je LBB0_156 + 0x04, 0xf7, //0x00000943 addb $-9, %al + 0x3c, 0x01, //0x00000945 cmpb $1, %al + 0x0f, 0x86, 0x33, 0x00, 0x00, 0x00, //0x00000947 jbe LBB0_156 + 0x4c, 0x89, 0xf0, //0x0000094d movq %r14, %rax + 0xe9, 0x51, 0x01, 0x00, 0x00, //0x00000950 jmp LBB0_178 + //0x00000955 LBB0_98 + 0x31, 0xc9, //0x00000955 xorl %ecx, %ecx + 0x48, 0x8b, 0x7d, 0xc8, //0x00000957 movq $-56(%rbp), %rdi + 0x49, 0x8b, 0x10, //0x0000095b movq (%r8), %rdx + 0x4c, 0x89, 0xf6, //0x0000095e movq %r14, %rsi + 0x48, 0x29, 0xd6, //0x00000961 subq %rdx, %rsi + 0x0f, 0x82, 0xc5, 0xff, 0xff, 0xff, //0x00000964 jb LBB0_101 + 0xe9, 0x11, 0x00, 0x00, 0x00, //0x0000096a jmp LBB0_156 + //0x0000096f LBB0_99 + 0x31, 0xc9, //0x0000096f xorl %ecx, %ecx + 0x49, 0x8b, 0x10, //0x00000971 movq (%r8), %rdx + 0x4c, 0x89, 0xf6, //0x00000974 movq %r14, %rsi + 0x48, 0x29, 0xd6, //0x00000977 subq %rdx, %rsi + 0x0f, 0x82, 0xaf, 0xff, 0xff, 0xff, //0x0000097a jb LBB0_101 + //0x00000980 .p2align 4, 0x90 + //0x00000980 LBB0_156 + 0x49, 0x8d, 0x46, 0x01, //0x00000980 leaq $1(%r14), %rax + 0x48, 0x39, 0xd0, //0x00000984 cmpq %rdx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000987 jae LBB0_160 + 0x8a, 0x1c, 0x07, //0x0000098d movb (%rdi,%rax), %bl + 0x80, 0xfb, 0x0d, //0x00000990 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000993 je LBB0_160 + 0x80, 0xfb, 0x20, //0x00000999 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000099c je LBB0_160 + 0x80, 0xc3, 0xf7, //0x000009a2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000009a5 cmpb $1, %bl + 0x0f, 0x87, 0xf8, 0x00, 0x00, 0x00, //0x000009a8 ja LBB0_178 + 0x90, 0x90, //0x000009ae .p2align 4, 0x90 + //0x000009b0 LBB0_160 + 0x49, 0x8d, 0x46, 0x02, //0x000009b0 leaq $2(%r14), %rax + 0x48, 0x39, 0xd0, //0x000009b4 cmpq %rdx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000009b7 jae LBB0_164 + 0x8a, 0x1c, 0x07, //0x000009bd movb (%rdi,%rax), %bl + 0x80, 0xfb, 0x0d, //0x000009c0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000009c3 je LBB0_164 + 0x80, 0xfb, 0x20, //0x000009c9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000009cc je LBB0_164 + 0x80, 0xc3, 0xf7, //0x000009d2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000009d5 cmpb $1, %bl + 0x0f, 0x87, 0xc8, 0x00, 0x00, 0x00, //0x000009d8 ja LBB0_178 + 0x90, 0x90, //0x000009de .p2align 4, 0x90 + //0x000009e0 LBB0_164 + 0x49, 0x8d, 0x46, 0x03, //0x000009e0 leaq $3(%r14), %rax + 0x48, 0x39, 0xd0, //0x000009e4 cmpq %rdx, %rax + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000009e7 jae LBB0_168 + 0x8a, 0x1c, 0x07, //0x000009ed movb (%rdi,%rax), %bl + 0x80, 0xfb, 0x0d, //0x000009f0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000009f3 je LBB0_168 + 0x80, 0xfb, 0x20, //0x000009f9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000009fc je LBB0_168 + 0x80, 0xc3, 0xf7, //0x00000a02 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000a05 cmpb $1, %bl + 0x0f, 0x87, 0x98, 0x00, 0x00, 0x00, //0x00000a08 ja LBB0_178 + 0x90, 0x90, //0x00000a0e .p2align 4, 0x90 + //0x00000a10 LBB0_168 + 0x49, 0x8d, 0x7e, 0x04, //0x00000a10 leaq $4(%r14), %rdi + 0x48, 0x39, 0xfa, //0x00000a14 cmpq %rdi, %rdx + 0x0f, 0x86, 0x1f, 0x28, 0x00, 0x00, //0x00000a17 jbe LBB0_555 + 0x48, 0x39, 0xfa, //0x00000a1d cmpq %rdi, %rdx + 0x0f, 0x84, 0x4a, 0x00, 0x00, 0x00, //0x00000a20 je LBB0_175 + 0x48, 0x8b, 0x45, 0xc8, //0x00000a26 movq $-56(%rbp), %rax + 0x48, 0x8d, 0x3c, 0x10, //0x00000a2a leaq (%rax,%rdx), %rdi + 0x48, 0x83, 0xc6, 0x04, //0x00000a2e addq $4, %rsi + 0x4a, 0x8d, 0x44, 0x30, 0x05, //0x00000a32 leaq $5(%rax,%r14), %rax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a37 .p2align 4, 0x90 + //0x00000a40 LBB0_171 + 0x0f, 0xbe, 0x58, 0xff, //0x00000a40 movsbl $-1(%rax), %ebx + 0x83, 0xfb, 0x20, //0x00000a44 cmpl $32, %ebx + 0x0f, 0x87, 0x43, 0x00, 0x00, 0x00, //0x00000a47 ja LBB0_177 + 0x49, 0x0f, 0xa3, 0xda, //0x00000a4d btq %rbx, %r10 + 0x0f, 0x83, 0x39, 0x00, 0x00, 0x00, //0x00000a51 jae LBB0_177 + 0x48, 0xff, 0xc0, //0x00000a57 incq %rax + 0x48, 0xff, 0xc6, //0x00000a5a incq %rsi + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x00000a5d jne LBB0_171 + 0x48, 0x8b, 0x75, 0xc8, //0x00000a63 movq $-56(%rbp), %rsi + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00000a67 jmp LBB0_176 + 0x90, 0x90, 0x90, 0x90, //0x00000a6c .p2align 4, 0x90 + //0x00000a70 LBB0_175 + 0x48, 0x8b, 0x75, 0xc8, //0x00000a70 movq $-56(%rbp), %rsi + 0x48, 0x01, 0xf7, //0x00000a74 addq %rsi, %rdi + //0x00000a77 LBB0_176 + 0x48, 0x29, 0xf7, //0x00000a77 subq %rsi, %rdi + 0x48, 0x89, 0xf8, //0x00000a7a movq %rdi, %rax + 0x48, 0x89, 0xf7, //0x00000a7d movq %rsi, %rdi + 0x48, 0x39, 0xd0, //0x00000a80 cmpq %rdx, %rax + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x00000a83 jb LBB0_178 + 0xe9, 0xb4, 0x27, 0x00, 0x00, //0x00000a89 jmp LBB0_556 + 0x90, 0x90, //0x00000a8e .p2align 4, 0x90 + //0x00000a90 LBB0_177 + 0x48, 0x8b, 0x7d, 0xc8, //0x00000a90 movq $-56(%rbp), %rdi + 0x48, 0x89, 0xfe, //0x00000a94 movq %rdi, %rsi + 0x48, 0xf7, 0xd6, //0x00000a97 notq %rsi + 0x48, 0x01, 0xf0, //0x00000a9a addq %rsi, %rax + 0x48, 0x39, 0xd0, //0x00000a9d cmpq %rdx, %rax + 0x0f, 0x83, 0x9c, 0x27, 0x00, 0x00, //0x00000aa0 jae LBB0_556 + //0x00000aa6 LBB0_178 + 0x4c, 0x8d, 0x70, 0x01, //0x00000aa6 leaq $1(%rax), %r14 + 0x4d, 0x89, 0x33, //0x00000aaa movq %r14, (%r11) + 0x80, 0x3c, 0x07, 0x3a, //0x00000aad cmpb $58, (%rdi,%rax) + 0x0f, 0x85, 0x8b, 0x27, 0x00, 0x00, //0x00000ab1 jne LBB0_556 + 0x48, 0x85, 0xc9, //0x00000ab7 testq %rcx, %rcx + 0x0f, 0x85, 0x60, 0x25, 0x00, 0x00, //0x00000aba jne LBB0_447 + 0x49, 0x8b, 0x10, //0x00000ac0 movq (%r8), %rdx + 0x49, 0x39, 0xd6, //0x00000ac3 cmpq %rdx, %r14 + 0x0f, 0x83, 0x34, 0x00, 0x00, 0x00, //0x00000ac6 jae LBB0_185 + 0x42, 0x8a, 0x0c, 0x37, //0x00000acc movb (%rdi,%r14), %cl + 0x80, 0xf9, 0x0d, //0x00000ad0 cmpb $13, %cl + 0x0f, 0x84, 0x27, 0x00, 0x00, 0x00, //0x00000ad3 je LBB0_185 + 0x80, 0xf9, 0x20, //0x00000ad9 cmpb $32, %cl + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x00000adc je LBB0_185 + 0x80, 0xc1, 0xf7, //0x00000ae2 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00000ae5 cmpb $1, %cl + 0x0f, 0x86, 0x12, 0x00, 0x00, 0x00, //0x00000ae8 jbe LBB0_185 + 0x4c, 0x89, 0xf1, //0x00000aee movq %r14, %rcx + 0xe9, 0x4a, 0x01, 0x00, 0x00, //0x00000af1 jmp LBB0_207 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000af6 .p2align 4, 0x90 + //0x00000b00 LBB0_185 + 0x48, 0x8d, 0x48, 0x02, //0x00000b00 leaq $2(%rax), %rcx + 0x48, 0x39, 0xd1, //0x00000b04 cmpq %rdx, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000b07 jae LBB0_189 + 0x8a, 0x1c, 0x0f, //0x00000b0d movb (%rdi,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00000b10 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000b13 je LBB0_189 + 0x80, 0xfb, 0x20, //0x00000b19 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00000b1c je LBB0_189 + 0x80, 0xc3, 0xf7, //0x00000b22 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000b25 cmpb $1, %bl + 0x0f, 0x87, 0x12, 0x01, 0x00, 0x00, //0x00000b28 ja LBB0_207 + 0x90, 0x90, //0x00000b2e .p2align 4, 0x90 + //0x00000b30 LBB0_189 + 0x48, 0x8d, 0x48, 0x03, //0x00000b30 leaq $3(%rax), %rcx + 0x48, 0x39, 0xd1, //0x00000b34 cmpq %rdx, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000b37 jae LBB0_193 + 0x8a, 0x1c, 0x0f, //0x00000b3d movb (%rdi,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00000b40 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000b43 je LBB0_193 + 0x80, 0xfb, 0x20, //0x00000b49 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00000b4c je LBB0_193 + 0x80, 0xc3, 0xf7, //0x00000b52 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000b55 cmpb $1, %bl + 0x0f, 0x87, 0xe2, 0x00, 0x00, 0x00, //0x00000b58 ja LBB0_207 + 0x90, 0x90, //0x00000b5e .p2align 4, 0x90 + //0x00000b60 LBB0_193 + 0x48, 0x8d, 0x48, 0x04, //0x00000b60 leaq $4(%rax), %rcx + 0x48, 0x39, 0xd1, //0x00000b64 cmpq %rdx, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000b67 jae LBB0_197 + 0x8a, 0x1c, 0x0f, //0x00000b6d movb (%rdi,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00000b70 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000b73 je LBB0_197 + 0x80, 0xfb, 0x20, //0x00000b79 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00000b7c je LBB0_197 + 0x80, 0xc3, 0xf7, //0x00000b82 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000b85 cmpb $1, %bl + 0x0f, 0x87, 0xb2, 0x00, 0x00, 0x00, //0x00000b88 ja LBB0_207 + 0x90, 0x90, //0x00000b8e .p2align 4, 0x90 + //0x00000b90 LBB0_197 + 0x48, 0x8d, 0x70, 0x05, //0x00000b90 leaq $5(%rax), %rsi + 0x48, 0x39, 0xf2, //0x00000b94 cmpq %rsi, %rdx + 0x0f, 0x86, 0x63, 0x00, 0x00, 0x00, //0x00000b97 jbe LBB0_204 + 0x48, 0x39, 0xf2, //0x00000b9d cmpq %rsi, %rdx + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x00000ba0 je LBB0_205 + 0x48, 0x8d, 0x34, 0x17, //0x00000ba6 leaq (%rdi,%rdx), %rsi + 0x48, 0x8d, 0x4c, 0x07, 0x06, //0x00000baa leaq $6(%rdi,%rax), %rcx + 0x48, 0x29, 0xd0, //0x00000baf subq %rdx, %rax + 0x48, 0x83, 0xc0, 0x05, //0x00000bb2 addq $5, %rax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000bb6 .p2align 4, 0x90 + //0x00000bc0 LBB0_200 + 0x0f, 0xbe, 0x79, 0xff, //0x00000bc0 movsbl $-1(%rcx), %edi + 0x83, 0xff, 0x20, //0x00000bc4 cmpl $32, %edi + 0x0f, 0x87, 0x55, 0x00, 0x00, 0x00, //0x00000bc7 ja LBB0_206 + 0x49, 0x0f, 0xa3, 0xfa, //0x00000bcd btq %rdi, %r10 + 0x0f, 0x83, 0x4b, 0x00, 0x00, 0x00, //0x00000bd1 jae LBB0_206 + 0x48, 0xff, 0xc1, //0x00000bd7 incq %rcx + 0x48, 0xff, 0xc0, //0x00000bda incq %rax + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x00000bdd jne LBB0_200 + 0x48, 0x8b, 0x7d, 0xc8, //0x00000be3 movq $-56(%rbp), %rdi + 0x48, 0x29, 0xfe, //0x00000be7 subq %rdi, %rsi + 0x48, 0x89, 0xf1, //0x00000bea movq %rsi, %rcx + 0x48, 0x39, 0xd1, //0x00000bed cmpq %rdx, %rcx + 0x0f, 0x82, 0x4a, 0x00, 0x00, 0x00, //0x00000bf0 jb LBB0_207 + 0xe9, 0x45, 0x01, 0x00, 0x00, //0x00000bf6 jmp LBB0_224 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000bfb .p2align 4, 0x90 + //0x00000c00 LBB0_204 + 0x49, 0x89, 0x33, //0x00000c00 movq %rsi, (%r11) + 0x49, 0x89, 0xf6, //0x00000c03 movq %rsi, %r14 + 0xe9, 0x35, 0x01, 0x00, 0x00, //0x00000c06 jmp LBB0_224 + //0x00000c0b LBB0_205 + 0x48, 0x01, 0xfe, //0x00000c0b addq %rdi, %rsi + 0x48, 0x29, 0xfe, //0x00000c0e subq %rdi, %rsi + 0x48, 0x89, 0xf1, //0x00000c11 movq %rsi, %rcx + 0x48, 0x39, 0xd1, //0x00000c14 cmpq %rdx, %rcx + 0x0f, 0x82, 0x23, 0x00, 0x00, 0x00, //0x00000c17 jb LBB0_207 + 0xe9, 0x1e, 0x01, 0x00, 0x00, //0x00000c1d jmp LBB0_224 + //0x00000c22 LBB0_206 + 0x48, 0x8b, 0x7d, 0xc8, //0x00000c22 movq $-56(%rbp), %rdi + 0x48, 0x89, 0xf8, //0x00000c26 movq %rdi, %rax + 0x48, 0xf7, 0xd0, //0x00000c29 notq %rax + 0x48, 0x01, 0xc1, //0x00000c2c addq %rax, %rcx + 0x48, 0x39, 0xd1, //0x00000c2f cmpq %rdx, %rcx + 0x0f, 0x83, 0x08, 0x01, 0x00, 0x00, //0x00000c32 jae LBB0_224 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000c38 .p2align 4, 0x90 + //0x00000c40 LBB0_207 + 0x4c, 0x8d, 0x71, 0x01, //0x00000c40 leaq $1(%rcx), %r14 + 0x4d, 0x89, 0x33, //0x00000c44 movq %r14, (%r11) + 0x0f, 0xbe, 0x04, 0x0f, //0x00000c47 movsbl (%rdi,%rcx), %eax + 0x83, 0xf8, 0x7b, //0x00000c4b cmpl $123, %eax + 0x0f, 0x87, 0x82, 0x03, 0x00, 0x00, //0x00000c4e ja LBB0_265 + 0x48, 0x8d, 0x15, 0x0d, 0x4d, 0x00, 0x00, //0x00000c54 leaq $19725(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x00000c5b movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x00000c5f addq %rdx, %rax + 0xff, 0xe0, //0x00000c62 jmpq *%rax + //0x00000c64 LBB0_209 + 0x49, 0x8b, 0x10, //0x00000c64 movq (%r8), %rdx + 0x48, 0x89, 0xd0, //0x00000c67 movq %rdx, %rax + 0x4c, 0x29, 0xf0, //0x00000c6a subq %r14, %rax + 0x49, 0x01, 0xfe, //0x00000c6d addq %rdi, %r14 + 0x48, 0x83, 0xf8, 0x10, //0x00000c70 cmpq $16, %rax + 0x0f, 0x82, 0x66, 0x00, 0x00, 0x00, //0x00000c74 jb LBB0_214 + 0x48, 0x29, 0xca, //0x00000c7a subq %rcx, %rdx + 0x48, 0x83, 0xc2, 0xef, //0x00000c7d addq $-17, %rdx + 0x48, 0x89, 0xd6, //0x00000c81 movq %rdx, %rsi + 0x48, 0x83, 0xe6, 0xf0, //0x00000c84 andq $-16, %rsi + 0x48, 0x01, 0xce, //0x00000c88 addq %rcx, %rsi + 0x48, 0x8d, 0x4c, 0x37, 0x11, //0x00000c8b leaq $17(%rdi,%rsi), %rcx + 0x83, 0xe2, 0x0f, //0x00000c90 andl $15, %edx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000c93 .p2align 4, 0x90 + //0x00000ca0 LBB0_211 + 0xf3, 0x41, 0x0f, 0x6f, 0x16, //0x00000ca0 movdqu (%r14), %xmm2 + 0x66, 0x0f, 0x6f, 0xda, //0x00000ca5 movdqa %xmm2, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xdd, //0x00000ca9 pcmpeqb %xmm13, %xmm3 + 0x66, 0x41, 0x0f, 0xeb, 0xd6, //0x00000cae por %xmm14, %xmm2 + 0x66, 0x0f, 0x74, 0xd4, //0x00000cb3 pcmpeqb %xmm4, %xmm2 + 0x66, 0x0f, 0xeb, 0xd3, //0x00000cb7 por %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xf2, //0x00000cbb pmovmskb %xmm2, %esi + 0x66, 0x85, 0xf6, //0x00000cbf testw %si, %si + 0x0f, 0x85, 0x68, 0x00, 0x00, 0x00, //0x00000cc2 jne LBB0_222 + 0x49, 0x83, 0xc6, 0x10, //0x00000cc8 addq $16, %r14 + 0x48, 0x83, 0xc0, 0xf0, //0x00000ccc addq $-16, %rax + 0x48, 0x83, 0xf8, 0x0f, //0x00000cd0 cmpq $15, %rax + 0x0f, 0x87, 0xc6, 0xff, 0xff, 0xff, //0x00000cd4 ja LBB0_211 + 0x48, 0x89, 0xd0, //0x00000cda movq %rdx, %rax + 0x49, 0x89, 0xce, //0x00000cdd movq %rcx, %r14 + //0x00000ce0 LBB0_214 + 0x48, 0x85, 0xc0, //0x00000ce0 testq %rax, %rax + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x00000ce3 je LBB0_221 + 0x49, 0x8d, 0x0c, 0x06, //0x00000ce9 leaq (%r14,%rax), %rcx + //0x00000ced LBB0_216 + 0x41, 0x0f, 0xb6, 0x16, //0x00000ced movzbl (%r14), %edx + 0x80, 0xfa, 0x2c, //0x00000cf1 cmpb $44, %dl + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00000cf4 je LBB0_221 + 0x80, 0xfa, 0x7d, //0x00000cfa cmpb $125, %dl + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x00000cfd je LBB0_221 + 0x80, 0xfa, 0x5d, //0x00000d03 cmpb $93, %dl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x00000d06 je LBB0_221 + 0x49, 0xff, 0xc6, //0x00000d0c incq %r14 + 0x48, 0xff, 0xc8, //0x00000d0f decq %rax + 0x0f, 0x85, 0xd5, 0xff, 0xff, 0xff, //0x00000d12 jne LBB0_216 + 0x49, 0x89, 0xce, //0x00000d18 movq %rcx, %r14 + //0x00000d1b LBB0_221 + 0x49, 0x29, 0xfe, //0x00000d1b subq %rdi, %r14 + 0xe9, 0x1a, 0x00, 0x00, 0x00, //0x00000d1e jmp LBB0_223 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d23 .p2align 4, 0x90 + //0x00000d30 LBB0_222 + 0x0f, 0xb7, 0xc6, //0x00000d30 movzwl %si, %eax + 0x48, 0x0f, 0xbc, 0xc0, //0x00000d33 bsfq %rax, %rax + 0x49, 0x29, 0xfe, //0x00000d37 subq %rdi, %r14 + 0x49, 0x01, 0xc6, //0x00000d3a addq %rax, %r14 + //0x00000d3d LBB0_223 + 0x4d, 0x89, 0x33, //0x00000d3d movq %r14, (%r11) + //0x00000d40 LBB0_224 + 0x49, 0x8b, 0x7d, 0x00, //0x00000d40 movq (%r13), %rdi + 0x49, 0x8b, 0x45, 0x08, //0x00000d44 movq $8(%r13), %rax + 0x4c, 0x89, 0xf1, //0x00000d48 movq %r14, %rcx + 0x48, 0x29, 0xc1, //0x00000d4b subq %rax, %rcx + 0x0f, 0x83, 0x2c, 0x00, 0x00, 0x00, //0x00000d4e jae LBB0_229 + 0x42, 0x8a, 0x14, 0x37, //0x00000d54 movb (%rdi,%r14), %dl + 0x80, 0xfa, 0x0d, //0x00000d58 cmpb $13, %dl + 0x0f, 0x84, 0x1f, 0x00, 0x00, 0x00, //0x00000d5b je LBB0_229 + 0x80, 0xfa, 0x20, //0x00000d61 cmpb $32, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000d64 je LBB0_229 + 0x80, 0xc2, 0xf7, //0x00000d6a addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000d6d cmpb $1, %dl + 0x0f, 0x86, 0x0a, 0x00, 0x00, 0x00, //0x00000d70 jbe LBB0_229 + 0x4c, 0x89, 0xf2, //0x00000d76 movq %r14, %rdx + 0xe9, 0x74, 0xf6, 0xff, 0xff, //0x00000d79 jmp LBB0_250 + 0x90, 0x90, //0x00000d7e .p2align 4, 0x90 + //0x00000d80 LBB0_229 + 0x49, 0x8d, 0x56, 0x01, //0x00000d80 leaq $1(%r14), %rdx + 0x48, 0x39, 0xc2, //0x00000d84 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000d87 jae LBB0_233 + 0x8a, 0x1c, 0x17, //0x00000d8d movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00000d90 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000d93 je LBB0_233 + 0x80, 0xfb, 0x20, //0x00000d99 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00000d9c je LBB0_233 + 0x80, 0xc3, 0xf7, //0x00000da2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000da5 cmpb $1, %bl + 0x0f, 0x87, 0x44, 0xf6, 0xff, 0xff, //0x00000da8 ja LBB0_250 + 0x90, 0x90, //0x00000dae .p2align 4, 0x90 + //0x00000db0 LBB0_233 + 0x49, 0x8d, 0x56, 0x02, //0x00000db0 leaq $2(%r14), %rdx + 0x48, 0x39, 0xc2, //0x00000db4 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000db7 jae LBB0_237 + 0x8a, 0x1c, 0x17, //0x00000dbd movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00000dc0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000dc3 je LBB0_237 + 0x80, 0xfb, 0x20, //0x00000dc9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00000dcc je LBB0_237 + 0x80, 0xc3, 0xf7, //0x00000dd2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000dd5 cmpb $1, %bl + 0x0f, 0x87, 0x14, 0xf6, 0xff, 0xff, //0x00000dd8 ja LBB0_250 + 0x90, 0x90, //0x00000dde .p2align 4, 0x90 + //0x00000de0 LBB0_237 + 0x49, 0x8d, 0x56, 0x03, //0x00000de0 leaq $3(%r14), %rdx + 0x48, 0x39, 0xc2, //0x00000de4 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000de7 jae LBB0_241 + 0x8a, 0x1c, 0x17, //0x00000ded movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00000df0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00000df3 je LBB0_241 + 0x80, 0xfb, 0x20, //0x00000df9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00000dfc je LBB0_241 + 0x80, 0xc3, 0xf7, //0x00000e02 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00000e05 cmpb $1, %bl + 0x0f, 0x87, 0xe4, 0xf5, 0xff, 0xff, //0x00000e08 ja LBB0_250 + 0x90, 0x90, //0x00000e0e .p2align 4, 0x90 + //0x00000e10 LBB0_241 + 0x49, 0x8d, 0x76, 0x04, //0x00000e10 leaq $4(%r14), %rsi + 0x48, 0x39, 0xf0, //0x00000e14 cmpq %rsi, %rax + 0x0f, 0x86, 0xcd, 0x23, 0x00, 0x00, //0x00000e17 jbe LBB0_549 + 0x48, 0x39, 0xf0, //0x00000e1d cmpq %rsi, %rax + 0x0f, 0x84, 0xba, 0xf5, 0xff, 0xff, //0x00000e20 je LBB0_248 + 0x48, 0x8d, 0x34, 0x07, //0x00000e26 leaq (%rdi,%rax), %rsi + 0x48, 0x83, 0xc1, 0x04, //0x00000e2a addq $4, %rcx + 0x48, 0x89, 0xfb, //0x00000e2e movq %rdi, %rbx + 0x4a, 0x8d, 0x54, 0x37, 0x05, //0x00000e31 leaq $5(%rdi,%r14), %rdx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000e36 .p2align 4, 0x90 + //0x00000e40 LBB0_244 + 0x0f, 0xbe, 0x7a, 0xff, //0x00000e40 movsbl $-1(%rdx), %edi + 0x83, 0xff, 0x20, //0x00000e44 cmpl $32, %edi + 0x0f, 0x87, 0x2d, 0x00, 0x00, 0x00, //0x00000e47 ja LBB0_249 + 0x49, 0x0f, 0xa3, 0xfa, //0x00000e4d btq %rdi, %r10 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000e51 jae LBB0_249 + 0x48, 0xff, 0xc2, //0x00000e57 incq %rdx + 0x48, 0xff, 0xc1, //0x00000e5a incq %rcx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x00000e5d jne LBB0_244 + 0x48, 0x89, 0xdf, //0x00000e63 movq %rbx, %rdi + 0x48, 0x29, 0xfe, //0x00000e66 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x00000e69 movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x00000e6c cmpq %rax, %rdx + 0x0f, 0x82, 0x7d, 0xf5, 0xff, 0xff, //0x00000e6f jb LBB0_250 + 0xe9, 0xc8, 0x23, 0x00, 0x00, //0x00000e75 jmp LBB0_556 + //0x00000e7a LBB0_249 + 0x48, 0x89, 0xdf, //0x00000e7a movq %rbx, %rdi + 0x48, 0x89, 0xd9, //0x00000e7d movq %rbx, %rcx + 0x48, 0xf7, 0xd1, //0x00000e80 notq %rcx + 0x48, 0x01, 0xca, //0x00000e83 addq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x00000e86 cmpq %rax, %rdx + 0x0f, 0x82, 0x63, 0xf5, 0xff, 0xff, //0x00000e89 jb LBB0_250 + 0xe9, 0xae, 0x23, 0x00, 0x00, //0x00000e8f jmp LBB0_556 + //0x00000e94 LBB0_252 + 0x48, 0x83, 0xc1, 0x04, //0x00000e94 addq $4, %rcx + 0x49, 0x3b, 0x08, //0x00000e98 cmpq (%r8), %rcx + 0x0f, 0x87, 0x9f, 0xfe, 0xff, 0xff, //0x00000e9b ja LBB0_224 + 0xe9, 0x30, 0x01, 0x00, 0x00, //0x00000ea1 jmp LBB0_265 + //0x00000ea6 LBB0_253 + 0x4d, 0x89, 0xcf, //0x00000ea6 movq %r9, %r15 + 0x4d, 0x8b, 0x00, //0x00000ea9 movq (%r8), %r8 + 0x4c, 0x89, 0xc0, //0x00000eac movq %r8, %rax + 0x4c, 0x29, 0xf0, //0x00000eaf subq %r14, %rax + 0x48, 0x83, 0xf8, 0x20, //0x00000eb2 cmpq $32, %rax + 0x0f, 0x8c, 0xd4, 0x0e, 0x00, 0x00, //0x00000eb6 jl LBB0_325 + 0x4c, 0x8d, 0x0c, 0x0f, //0x00000ebc leaq (%rdi,%rcx), %r9 + 0x49, 0x29, 0xc8, //0x00000ec0 subq %rcx, %r8 + 0xb9, 0x1f, 0x00, 0x00, 0x00, //0x00000ec3 movl $31, %ecx + 0x31, 0xc0, //0x00000ec8 xorl %eax, %eax + 0x45, 0x31, 0xd2, //0x00000eca xorl %r10d, %r10d + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x00000ecd jmp LBB0_255 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000ed2 .p2align 4, 0x90 + //0x00000ee0 LBB0_258 + 0x45, 0x31, 0xd2, //0x00000ee0 xorl %r10d, %r10d + 0x85, 0xdb, //0x00000ee3 testl %ebx, %ebx + 0x0f, 0x85, 0xb1, 0x00, 0x00, 0x00, //0x00000ee5 jne LBB0_257 + //0x00000eeb LBB0_259 + 0x48, 0x83, 0xc0, 0x20, //0x00000eeb addq $32, %rax + 0x49, 0x8d, 0x54, 0x08, 0xe0, //0x00000eef leaq $-32(%r8,%rcx), %rdx + 0x48, 0x83, 0xc1, 0xe0, //0x00000ef4 addq $-32, %rcx + 0x48, 0x83, 0xfa, 0x3f, //0x00000ef8 cmpq $63, %rdx + 0x0f, 0x8e, 0xcb, 0x0d, 0x00, 0x00, //0x00000efc jle LBB0_260 + //0x00000f02 LBB0_255 + 0xf3, 0x41, 0x0f, 0x6f, 0x54, 0x01, 0x01, //0x00000f02 movdqu $1(%r9,%rax), %xmm2 + 0xf3, 0x41, 0x0f, 0x6f, 0x5c, 0x01, 0x11, //0x00000f09 movdqu $17(%r9,%rax), %xmm3 + 0x66, 0x0f, 0x6f, 0xea, //0x00000f10 movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00000f14 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00000f18 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xeb, //0x00000f1c movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00000f20 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00000f24 pmovmskb %xmm5, %ebx + 0x48, 0xc1, 0xe3, 0x10, //0x00000f28 shlq $16, %rbx + 0x48, 0x09, 0xd3, //0x00000f2c orq %rdx, %rbx + 0x66, 0x0f, 0x74, 0xd1, //0x00000f2f pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xf2, //0x00000f33 pmovmskb %xmm2, %esi + 0x66, 0x0f, 0x74, 0xd9, //0x00000f37 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x00000f3b pmovmskb %xmm3, %edx + 0x48, 0xc1, 0xe2, 0x10, //0x00000f3f shlq $16, %rdx + 0x48, 0x09, 0xf2, //0x00000f43 orq %rsi, %rdx + 0x48, 0x89, 0xd6, //0x00000f46 movq %rdx, %rsi + 0x4c, 0x09, 0xd6, //0x00000f49 orq %r10, %rsi + 0x0f, 0x84, 0x8e, 0xff, 0xff, 0xff, //0x00000f4c je LBB0_258 + 0x44, 0x89, 0xd6, //0x00000f52 movl %r10d, %esi + 0x41, 0xbc, 0xff, 0xff, 0xff, 0xff, //0x00000f55 movl $4294967295, %r12d + 0x44, 0x31, 0xe6, //0x00000f5b xorl %r12d, %esi + 0x21, 0xf2, //0x00000f5e andl %esi, %edx + 0x8d, 0x34, 0x12, //0x00000f60 leal (%rdx,%rdx), %esi + 0x44, 0x09, 0xd6, //0x00000f63 orl %r10d, %esi + 0x41, 0x8d, 0xbc, 0x24, 0xab, 0xaa, 0xaa, 0xaa, //0x00000f66 leal $-1431655765(%r12), %edi + 0x31, 0xf7, //0x00000f6e xorl %esi, %edi + 0x21, 0xd7, //0x00000f70 andl %edx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000f72 andl $-1431655766, %edi + 0x45, 0x31, 0xd2, //0x00000f78 xorl %r10d, %r10d + 0x01, 0xd7, //0x00000f7b addl %edx, %edi + 0x41, 0x0f, 0x92, 0xc2, //0x00000f7d setb %r10b + 0x01, 0xff, //0x00000f81 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00000f83 xorl $1431655765, %edi + 0x21, 0xf7, //0x00000f89 andl %esi, %edi + 0x44, 0x31, 0xe7, //0x00000f8b xorl %r12d, %edi + 0x21, 0xfb, //0x00000f8e andl %edi, %ebx + 0x48, 0x8b, 0x7d, 0xc8, //0x00000f90 movq $-56(%rbp), %rdi + 0x85, 0xdb, //0x00000f94 testl %ebx, %ebx + 0x0f, 0x84, 0x4f, 0xff, 0xff, 0xff, //0x00000f96 je LBB0_259 + //0x00000f9c LBB0_257 + 0x48, 0x0f, 0xbc, 0xcb, //0x00000f9c bsfq %rbx, %rcx + 0x49, 0x01, 0xc9, //0x00000fa0 addq %rcx, %r9 + 0x49, 0x01, 0xc1, //0x00000fa3 addq %rax, %r9 + 0x49, 0x29, 0xf9, //0x00000fa6 subq %rdi, %r9 + 0x49, 0x83, 0xc1, 0x02, //0x00000fa9 addq $2, %r9 + 0x4d, 0x89, 0x0b, //0x00000fad movq %r9, (%r11) + 0x4d, 0x89, 0xce, //0x00000fb0 movq %r9, %r14 + 0x4c, 0x8b, 0x45, 0xb0, //0x00000fb3 movq $-80(%rbp), %r8 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000fb7 movabsq $4294977024, %r10 + 0x4d, 0x89, 0xf9, //0x00000fc1 movq %r15, %r9 + 0xe9, 0x77, 0xfd, 0xff, 0xff, //0x00000fc4 jmp LBB0_224 + //0x00000fc9 LBB0_264 + 0x48, 0x83, 0xc1, 0x05, //0x00000fc9 addq $5, %rcx + 0x49, 0x3b, 0x08, //0x00000fcd cmpq (%r8), %rcx + 0x0f, 0x87, 0x6a, 0xfd, 0xff, 0xff, //0x00000fd0 ja LBB0_224 + //0x00000fd6 LBB0_265 + 0x49, 0x89, 0x0b, //0x00000fd6 movq %rcx, (%r11) + 0x49, 0x89, 0xce, //0x00000fd9 movq %rcx, %r14 + 0xe9, 0x5f, 0xfd, 0xff, 0xff, //0x00000fdc jmp LBB0_224 + //0x00000fe1 LBB0_266 + 0x4d, 0x8b, 0x10, //0x00000fe1 movq (%r8), %r10 + 0x4d, 0x29, 0xf2, //0x00000fe4 subq %r14, %r10 + 0x4c, 0x01, 0xf7, //0x00000fe7 addq %r14, %rdi + 0x45, 0x31, 0xc9, //0x00000fea xorl %r9d, %r9d + 0x45, 0x31, 0xc0, //0x00000fed xorl %r8d, %r8d + 0x45, 0x31, 0xdb, //0x00000ff0 xorl %r11d, %r11d + 0x45, 0x31, 0xe4, //0x00000ff3 xorl %r12d, %r12d + 0x49, 0x83, 0xfa, 0x40, //0x00000ff6 cmpq $64, %r10 + 0x0f, 0x8d, 0x49, 0x01, 0x00, 0x00, //0x00000ffa jge LBB0_267 + //0x00001000 LBB0_276 + 0x48, 0x8b, 0x55, 0xa0, //0x00001000 movq $-96(%rbp), %rdx + 0x4d, 0x85, 0xd2, //0x00001004 testq %r10, %r10 + 0x0f, 0x8e, 0x12, 0x0f, 0x00, 0x00, //0x00001007 jle LBB0_340 + 0x48, 0x89, 0xf9, //0x0000100d movq %rdi, %rcx + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x70, 0xff, 0xff, 0xff, //0x00001010 movdqu %xmm8, $-144(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x60, 0xff, 0xff, 0xff, //0x00001019 movdqu %xmm8, $-160(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x50, 0xff, 0xff, 0xff, //0x00001022 movdqu %xmm8, $-176(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x40, 0xff, 0xff, 0xff, //0x0000102b movdqu %xmm8, $-192(%rbp) + 0x89, 0xc8, //0x00001034 movl %ecx, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00001036 andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x0000103b cmpl $4033, %eax + 0x0f, 0x82, 0x35, 0x00, 0x00, 0x00, //0x00001040 jb LBB0_280 + 0x49, 0x83, 0xfa, 0x20, //0x00001046 cmpq $32, %r10 + 0x0f, 0x82, 0x37, 0x00, 0x00, 0x00, //0x0000104a jb LBB0_281 + 0x0f, 0x10, 0x11, //0x00001050 movups (%rcx), %xmm2 + 0x0f, 0x11, 0x95, 0x40, 0xff, 0xff, 0xff, //0x00001053 movups %xmm2, $-192(%rbp) + 0xf3, 0x0f, 0x6f, 0x51, 0x10, //0x0000105a movdqu $16(%rcx), %xmm2 + 0xf3, 0x0f, 0x7f, 0x95, 0x50, 0xff, 0xff, 0xff, //0x0000105f movdqu %xmm2, $-176(%rbp) + 0x48, 0x83, 0xc1, 0x20, //0x00001067 addq $32, %rcx + 0x49, 0x8d, 0x7a, 0xe0, //0x0000106b leaq $-32(%r10), %rdi + 0x48, 0x8d, 0xb5, 0x60, 0xff, 0xff, 0xff, //0x0000106f leaq $-160(%rbp), %rsi + 0xe9, 0x16, 0x00, 0x00, 0x00, //0x00001076 jmp LBB0_282 + //0x0000107b LBB0_280 + 0x4c, 0x8b, 0x6d, 0xc0, //0x0000107b movq $-64(%rbp), %r13 + 0x48, 0x89, 0xcf, //0x0000107f movq %rcx, %rdi + 0xe9, 0xc2, 0x00, 0x00, 0x00, //0x00001082 jmp LBB0_267 + //0x00001087 LBB0_281 + 0x48, 0x8d, 0xb5, 0x40, 0xff, 0xff, 0xff, //0x00001087 leaq $-192(%rbp), %rsi + 0x4c, 0x89, 0xd7, //0x0000108e movq %r10, %rdi + //0x00001091 LBB0_282 + 0x48, 0x83, 0xff, 0x10, //0x00001091 cmpq $16, %rdi + 0x0f, 0x82, 0x47, 0x00, 0x00, 0x00, //0x00001095 jb LBB0_283 + 0xf3, 0x0f, 0x6f, 0x11, //0x0000109b movdqu (%rcx), %xmm2 + 0xf3, 0x0f, 0x7f, 0x16, //0x0000109f movdqu %xmm2, (%rsi) + 0x48, 0x83, 0xc1, 0x10, //0x000010a3 addq $16, %rcx + 0x48, 0x83, 0xc6, 0x10, //0x000010a7 addq $16, %rsi + 0x48, 0x83, 0xc7, 0xf0, //0x000010ab addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x000010af cmpq $8, %rdi + 0x0f, 0x83, 0x33, 0x00, 0x00, 0x00, //0x000010b3 jae LBB0_290 + //0x000010b9 LBB0_284 + 0x48, 0x83, 0xff, 0x04, //0x000010b9 cmpq $4, %rdi + 0x0f, 0x8c, 0x45, 0x00, 0x00, 0x00, //0x000010bd jl LBB0_285 + //0x000010c3 LBB0_291 + 0x8b, 0x01, //0x000010c3 movl (%rcx), %eax + 0x89, 0x06, //0x000010c5 movl %eax, (%rsi) + 0x48, 0x83, 0xc1, 0x04, //0x000010c7 addq $4, %rcx + 0x48, 0x83, 0xc6, 0x04, //0x000010cb addq $4, %rsi + 0x48, 0x83, 0xc7, 0xfc, //0x000010cf addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x000010d3 cmpq $2, %rdi + 0x0f, 0x83, 0x35, 0x00, 0x00, 0x00, //0x000010d7 jae LBB0_286 + 0xe9, 0x42, 0x00, 0x00, 0x00, //0x000010dd jmp LBB0_287 + //0x000010e2 LBB0_283 + 0x48, 0x83, 0xff, 0x08, //0x000010e2 cmpq $8, %rdi + 0x0f, 0x82, 0xcd, 0xff, 0xff, 0xff, //0x000010e6 jb LBB0_284 + //0x000010ec LBB0_290 + 0x48, 0x8b, 0x01, //0x000010ec movq (%rcx), %rax + 0x48, 0x89, 0x06, //0x000010ef movq %rax, (%rsi) + 0x48, 0x83, 0xc1, 0x08, //0x000010f2 addq $8, %rcx + 0x48, 0x83, 0xc6, 0x08, //0x000010f6 addq $8, %rsi + 0x48, 0x83, 0xc7, 0xf8, //0x000010fa addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x000010fe cmpq $4, %rdi + 0x0f, 0x8d, 0xbb, 0xff, 0xff, 0xff, //0x00001102 jge LBB0_291 + //0x00001108 LBB0_285 + 0x48, 0x83, 0xff, 0x02, //0x00001108 cmpq $2, %rdi + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x0000110c jb LBB0_287 + //0x00001112 LBB0_286 + 0x0f, 0xb7, 0x01, //0x00001112 movzwl (%rcx), %eax + 0x66, 0x89, 0x06, //0x00001115 movw %ax, (%rsi) + 0x48, 0x83, 0xc1, 0x02, //0x00001118 addq $2, %rcx + 0x48, 0x83, 0xc6, 0x02, //0x0000111c addq $2, %rsi + 0x48, 0x83, 0xc7, 0xfe, //0x00001120 addq $-2, %rdi + //0x00001124 LBB0_287 + 0x48, 0x89, 0xc8, //0x00001124 movq %rcx, %rax + 0x48, 0x8d, 0x8d, 0x40, 0xff, 0xff, 0xff, //0x00001127 leaq $-192(%rbp), %rcx + 0x48, 0x85, 0xff, //0x0000112e testq %rdi, %rdi + 0x48, 0x89, 0xcf, //0x00001131 movq %rcx, %rdi + 0x4c, 0x8b, 0x6d, 0xc0, //0x00001134 movq $-64(%rbp), %r13 + 0x0f, 0x84, 0x0b, 0x00, 0x00, 0x00, //0x00001138 je LBB0_267 + 0x8a, 0x00, //0x0000113e movb (%rax), %al + 0x88, 0x06, //0x00001140 movb %al, (%rsi) + 0x48, 0x8d, 0xbd, 0x40, 0xff, 0xff, 0xff, //0x00001142 leaq $-192(%rbp), %rdi + //0x00001149 LBB0_267 + 0xf3, 0x0f, 0x6f, 0x17, //0x00001149 movdqu (%rdi), %xmm2 + 0xf3, 0x0f, 0x6f, 0x6f, 0x10, //0x0000114d movdqu $16(%rdi), %xmm5 + 0xf3, 0x0f, 0x6f, 0x7f, 0x20, //0x00001152 movdqu $32(%rdi), %xmm7 + 0x48, 0x89, 0x7d, 0xc8, //0x00001157 movq %rdi, $-56(%rbp) + 0xf3, 0x0f, 0x6f, 0x77, 0x30, //0x0000115b movdqu $48(%rdi), %xmm6 + 0x66, 0x0f, 0x6f, 0xda, //0x00001160 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00001164 pcmpeqb %xmm0, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001168 pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xdd, //0x0000116d movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00001171 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x00001175 pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xdf, //0x00001179 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x0000117d pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x00001181 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xde, //0x00001185 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00001189 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x0000118d pmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x00001191 shlq $48, %rbx + 0x48, 0xc1, 0xe7, 0x20, //0x00001195 shlq $32, %rdi + 0x48, 0xc1, 0xe0, 0x10, //0x00001199 shlq $16, %rax + 0x49, 0x09, 0xc6, //0x0000119d orq %rax, %r14 + 0x49, 0x09, 0xfe, //0x000011a0 orq %rdi, %r14 + 0x49, 0x09, 0xde, //0x000011a3 orq %rbx, %r14 + 0x66, 0x0f, 0x6f, 0xda, //0x000011a6 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000011aa pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x000011ae pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xdd, //0x000011b2 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000011b6 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x000011ba pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdf, //0x000011be movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000011c2 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x000011c6 pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xde, //0x000011ca movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000011ce pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x000011d2 pmovmskb %xmm3, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x000011d6 shlq $48, %rcx + 0x48, 0xc1, 0xe3, 0x20, //0x000011da shlq $32, %rbx + 0x48, 0xc1, 0xe7, 0x10, //0x000011de shlq $16, %rdi + 0x48, 0x09, 0xf8, //0x000011e2 orq %rdi, %rax + 0x48, 0x09, 0xd8, //0x000011e5 orq %rbx, %rax + 0x48, 0x09, 0xc8, //0x000011e8 orq %rcx, %rax + 0x48, 0x89, 0xc1, //0x000011eb movq %rax, %rcx + 0x4d, 0x89, 0xef, //0x000011ee movq %r13, %r15 + 0x4c, 0x09, 0xc1, //0x000011f1 orq %r8, %rcx + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x000011f4 je LBB0_269 + 0x4c, 0x89, 0xc1, //0x000011fa movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x000011fd notq %rcx + 0x48, 0x21, 0xc1, //0x00001200 andq %rax, %rcx + 0x48, 0x8d, 0x1c, 0x09, //0x00001203 leaq (%rcx,%rcx), %rbx + 0x4c, 0x09, 0xc3, //0x00001207 orq %r8, %rbx + 0x48, 0x89, 0xdf, //0x0000120a movq %rbx, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000120d movabsq $-6148914691236517206, %rsi + 0x48, 0x31, 0xf7, //0x00001217 xorq %rsi, %rdi + 0x48, 0x21, 0xf0, //0x0000121a andq %rsi, %rax + 0x48, 0x21, 0xf8, //0x0000121d andq %rdi, %rax + 0x45, 0x31, 0xc0, //0x00001220 xorl %r8d, %r8d + 0x48, 0x01, 0xc8, //0x00001223 addq %rcx, %rax + 0x41, 0x0f, 0x92, 0xc0, //0x00001226 setb %r8b + 0x48, 0x01, 0xc0, //0x0000122a addq %rax, %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x0000122d movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xc8, //0x00001237 xorq %rcx, %rax + 0x48, 0x21, 0xd8, //0x0000123a andq %rbx, %rax + 0x48, 0xf7, 0xd0, //0x0000123d notq %rax + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00001240 jmp LBB0_270 + //0x00001245 LBB0_269 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001245 movq $-1, %rax + 0x45, 0x31, 0xc0, //0x0000124c xorl %r8d, %r8d + //0x0000124f LBB0_270 + 0x4c, 0x21, 0xf0, //0x0000124f andq %r14, %rax + 0x66, 0x48, 0x0f, 0x6e, 0xd8, //0x00001252 movq %rax, %xmm3 + 0x66, 0x41, 0x0f, 0x3a, 0x44, 0xd9, 0x00, //0x00001257 pclmulqdq $0, %xmm9, %xmm3 + 0x66, 0x49, 0x0f, 0x7e, 0xde, //0x0000125e movq %xmm3, %r14 + 0x4d, 0x31, 0xce, //0x00001263 xorq %r9, %r14 + 0x66, 0x0f, 0x6f, 0xda, //0x00001266 movdqa %xmm2, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xda, //0x0000126a pcmpeqb %xmm10, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x0000126f pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xdd, //0x00001274 movdqa %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xda, //0x00001278 pcmpeqb %xmm10, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x0000127d pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xdf, //0x00001281 movdqa %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xda, //0x00001285 pcmpeqb %xmm10, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x0000128a pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xde, //0x0000128e movdqa %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xda, //0x00001292 pcmpeqb %xmm10, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x00001297 pmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x0000129b shlq $48, %rbx + 0x48, 0xc1, 0xe1, 0x20, //0x0000129f shlq $32, %rcx + 0x48, 0xc1, 0xe0, 0x10, //0x000012a3 shlq $16, %rax + 0x49, 0x09, 0xc5, //0x000012a7 orq %rax, %r13 + 0x49, 0x09, 0xcd, //0x000012aa orq %rcx, %r13 + 0x49, 0x09, 0xdd, //0x000012ad orq %rbx, %r13 + 0x4d, 0x89, 0xf1, //0x000012b0 movq %r14, %r9 + 0x49, 0xf7, 0xd1, //0x000012b3 notq %r9 + 0x4d, 0x21, 0xcd, //0x000012b6 andq %r9, %r13 + 0x66, 0x41, 0x0f, 0x74, 0xd3, //0x000012b9 pcmpeqb %xmm11, %xmm2 + 0x66, 0x0f, 0xd7, 0xc2, //0x000012be pmovmskb %xmm2, %eax + 0x66, 0x41, 0x0f, 0x74, 0xeb, //0x000012c2 pcmpeqb %xmm11, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x000012c7 pmovmskb %xmm5, %ebx + 0x66, 0x41, 0x0f, 0x74, 0xfb, //0x000012cb pcmpeqb %xmm11, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x000012d0 pmovmskb %xmm7, %esi + 0x66, 0x41, 0x0f, 0x74, 0xf3, //0x000012d4 pcmpeqb %xmm11, %xmm6 + 0x66, 0x0f, 0xd7, 0xce, //0x000012d9 pmovmskb %xmm6, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x000012dd shlq $48, %rcx + 0x48, 0xc1, 0xe6, 0x20, //0x000012e1 shlq $32, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x000012e5 shlq $16, %rbx + 0x48, 0x09, 0xd8, //0x000012e9 orq %rbx, %rax + 0x48, 0x09, 0xf0, //0x000012ec orq %rsi, %rax + 0x48, 0x09, 0xc8, //0x000012ef orq %rcx, %rax + 0x48, 0xbf, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, //0x000012f2 movabsq $3689348814741910323, %rdi + 0x4c, 0x21, 0xc8, //0x000012fc andq %r9, %rax + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x000012ff je LBB0_274 + 0x49, 0xb9, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00001305 movabsq $1085102592571150095, %r9 + 0x90, //0x0000130f .p2align 4, 0x90 + //0x00001310 LBB0_272 + 0x48, 0x8d, 0x58, 0xff, //0x00001310 leaq $-1(%rax), %rbx + 0x48, 0x89, 0xd9, //0x00001314 movq %rbx, %rcx + 0x4c, 0x21, 0xe9, //0x00001317 andq %r13, %rcx + 0x48, 0x89, 0xce, //0x0000131a movq %rcx, %rsi + 0x48, 0xd1, 0xee, //0x0000131d shrq %rsi + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001320 movabsq $6148914691236517205, %rdx + 0x48, 0x21, 0xd6, //0x0000132a andq %rdx, %rsi + 0x48, 0x29, 0xf1, //0x0000132d subq %rsi, %rcx + 0x48, 0x89, 0xce, //0x00001330 movq %rcx, %rsi + 0x48, 0x21, 0xfe, //0x00001333 andq %rdi, %rsi + 0x48, 0xc1, 0xe9, 0x02, //0x00001336 shrq $2, %rcx + 0x48, 0x21, 0xf9, //0x0000133a andq %rdi, %rcx + 0x48, 0x01, 0xf1, //0x0000133d addq %rsi, %rcx + 0x48, 0x89, 0xce, //0x00001340 movq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x04, //0x00001343 shrq $4, %rsi + 0x48, 0x01, 0xce, //0x00001347 addq %rcx, %rsi + 0x4c, 0x21, 0xce, //0x0000134a andq %r9, %rsi + 0x48, 0xb9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x0000134d movabsq $72340172838076673, %rcx + 0x48, 0x0f, 0xaf, 0xf1, //0x00001357 imulq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x38, //0x0000135b shrq $56, %rsi + 0x4c, 0x01, 0xde, //0x0000135f addq %r11, %rsi + 0x4c, 0x39, 0xe6, //0x00001362 cmpq %r12, %rsi + 0x0f, 0x86, 0x98, 0x04, 0x00, 0x00, //0x00001365 jbe LBB0_318 + 0x49, 0xff, 0xc4, //0x0000136b incq %r12 + 0x48, 0x21, 0xd8, //0x0000136e andq %rbx, %rax + 0x0f, 0x85, 0x99, 0xff, 0xff, 0xff, //0x00001371 jne LBB0_272 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00001377 jmp LBB0_275 + //0x0000137c LBB0_274 + 0x49, 0xb9, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x0000137c movabsq $1085102592571150095, %r9 + //0x00001386 LBB0_275 + 0x49, 0xc1, 0xfe, 0x3f, //0x00001386 sarq $63, %r14 + 0x4c, 0x89, 0xe8, //0x0000138a movq %r13, %rax + 0x48, 0xd1, 0xe8, //0x0000138d shrq %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001390 movabsq $6148914691236517205, %rcx + 0x48, 0x21, 0xc8, //0x0000139a andq %rcx, %rax + 0x49, 0x29, 0xc5, //0x0000139d subq %rax, %r13 + 0x4c, 0x89, 0xe8, //0x000013a0 movq %r13, %rax + 0x48, 0x21, 0xf8, //0x000013a3 andq %rdi, %rax + 0x49, 0xc1, 0xed, 0x02, //0x000013a6 shrq $2, %r13 + 0x49, 0x21, 0xfd, //0x000013aa andq %rdi, %r13 + 0x49, 0x01, 0xc5, //0x000013ad addq %rax, %r13 + 0x4c, 0x89, 0xe8, //0x000013b0 movq %r13, %rax + 0x48, 0xc1, 0xe8, 0x04, //0x000013b3 shrq $4, %rax + 0x4c, 0x01, 0xe8, //0x000013b7 addq %r13, %rax + 0x4c, 0x21, 0xc8, //0x000013ba andq %r9, %rax + 0x48, 0xb9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x000013bd movabsq $72340172838076673, %rcx + 0x48, 0x0f, 0xaf, 0xc1, //0x000013c7 imulq %rcx, %rax + 0x48, 0xc1, 0xe8, 0x38, //0x000013cb shrq $56, %rax + 0x49, 0x01, 0xc3, //0x000013cf addq %rax, %r11 + 0x48, 0x8b, 0x7d, 0xc8, //0x000013d2 movq $-56(%rbp), %rdi + 0x48, 0x83, 0xc7, 0x40, //0x000013d6 addq $64, %rdi + 0x49, 0x83, 0xc2, 0xc0, //0x000013da addq $-64, %r10 + 0x4d, 0x89, 0xf1, //0x000013de movq %r14, %r9 + 0x4d, 0x89, 0xfd, //0x000013e1 movq %r15, %r13 + 0x49, 0x83, 0xfa, 0x40, //0x000013e4 cmpq $64, %r10 + 0x0f, 0x8d, 0x5b, 0xfd, 0xff, 0xff, //0x000013e8 jge LBB0_267 + 0xe9, 0x0d, 0xfc, 0xff, 0xff, //0x000013ee jmp LBB0_276 + //0x000013f3 LBB0_292 + 0x4d, 0x8b, 0x10, //0x000013f3 movq (%r8), %r10 + 0x4d, 0x29, 0xf2, //0x000013f6 subq %r14, %r10 + 0x4c, 0x01, 0xf7, //0x000013f9 addq %r14, %rdi + 0x45, 0x31, 0xc9, //0x000013fc xorl %r9d, %r9d + 0x45, 0x31, 0xc0, //0x000013ff xorl %r8d, %r8d + 0x45, 0x31, 0xdb, //0x00001402 xorl %r11d, %r11d + 0x45, 0x31, 0xe4, //0x00001405 xorl %r12d, %r12d + 0x49, 0x83, 0xfa, 0x40, //0x00001408 cmpq $64, %r10 + 0x0f, 0x8d, 0x49, 0x01, 0x00, 0x00, //0x0000140c jge LBB0_293 + //0x00001412 LBB0_302 + 0x48, 0x8b, 0x55, 0xa0, //0x00001412 movq $-96(%rbp), %rdx + 0x4d, 0x85, 0xd2, //0x00001416 testq %r10, %r10 + 0x0f, 0x8e, 0x00, 0x0b, 0x00, 0x00, //0x00001419 jle LBB0_340 + 0x48, 0x89, 0xf9, //0x0000141f movq %rdi, %rcx + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x70, 0xff, 0xff, 0xff, //0x00001422 movdqu %xmm8, $-144(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x60, 0xff, 0xff, 0xff, //0x0000142b movdqu %xmm8, $-160(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x50, 0xff, 0xff, 0xff, //0x00001434 movdqu %xmm8, $-176(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x40, 0xff, 0xff, 0xff, //0x0000143d movdqu %xmm8, $-192(%rbp) + 0x89, 0xc8, //0x00001446 movl %ecx, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00001448 andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x0000144d cmpl $4033, %eax + 0x0f, 0x82, 0x35, 0x00, 0x00, 0x00, //0x00001452 jb LBB0_306 + 0x49, 0x83, 0xfa, 0x20, //0x00001458 cmpq $32, %r10 + 0x0f, 0x82, 0x37, 0x00, 0x00, 0x00, //0x0000145c jb LBB0_307 + 0x0f, 0x10, 0x11, //0x00001462 movups (%rcx), %xmm2 + 0x0f, 0x11, 0x95, 0x40, 0xff, 0xff, 0xff, //0x00001465 movups %xmm2, $-192(%rbp) + 0xf3, 0x0f, 0x6f, 0x51, 0x10, //0x0000146c movdqu $16(%rcx), %xmm2 + 0xf3, 0x0f, 0x7f, 0x95, 0x50, 0xff, 0xff, 0xff, //0x00001471 movdqu %xmm2, $-176(%rbp) + 0x48, 0x83, 0xc1, 0x20, //0x00001479 addq $32, %rcx + 0x49, 0x8d, 0x7a, 0xe0, //0x0000147d leaq $-32(%r10), %rdi + 0x48, 0x8d, 0xb5, 0x60, 0xff, 0xff, 0xff, //0x00001481 leaq $-160(%rbp), %rsi + 0xe9, 0x16, 0x00, 0x00, 0x00, //0x00001488 jmp LBB0_308 + //0x0000148d LBB0_306 + 0x4c, 0x8b, 0x6d, 0xc0, //0x0000148d movq $-64(%rbp), %r13 + 0x48, 0x89, 0xcf, //0x00001491 movq %rcx, %rdi + 0xe9, 0xc2, 0x00, 0x00, 0x00, //0x00001494 jmp LBB0_293 + //0x00001499 LBB0_307 + 0x48, 0x8d, 0xb5, 0x40, 0xff, 0xff, 0xff, //0x00001499 leaq $-192(%rbp), %rsi + 0x4c, 0x89, 0xd7, //0x000014a0 movq %r10, %rdi + //0x000014a3 LBB0_308 + 0x48, 0x83, 0xff, 0x10, //0x000014a3 cmpq $16, %rdi + 0x0f, 0x82, 0x47, 0x00, 0x00, 0x00, //0x000014a7 jb LBB0_309 + 0xf3, 0x0f, 0x6f, 0x11, //0x000014ad movdqu (%rcx), %xmm2 + 0xf3, 0x0f, 0x7f, 0x16, //0x000014b1 movdqu %xmm2, (%rsi) + 0x48, 0x83, 0xc1, 0x10, //0x000014b5 addq $16, %rcx + 0x48, 0x83, 0xc6, 0x10, //0x000014b9 addq $16, %rsi + 0x48, 0x83, 0xc7, 0xf0, //0x000014bd addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x000014c1 cmpq $8, %rdi + 0x0f, 0x83, 0x33, 0x00, 0x00, 0x00, //0x000014c5 jae LBB0_316 + //0x000014cb LBB0_310 + 0x48, 0x83, 0xff, 0x04, //0x000014cb cmpq $4, %rdi + 0x0f, 0x8c, 0x45, 0x00, 0x00, 0x00, //0x000014cf jl LBB0_311 + //0x000014d5 LBB0_317 + 0x8b, 0x01, //0x000014d5 movl (%rcx), %eax + 0x89, 0x06, //0x000014d7 movl %eax, (%rsi) + 0x48, 0x83, 0xc1, 0x04, //0x000014d9 addq $4, %rcx + 0x48, 0x83, 0xc6, 0x04, //0x000014dd addq $4, %rsi + 0x48, 0x83, 0xc7, 0xfc, //0x000014e1 addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x000014e5 cmpq $2, %rdi + 0x0f, 0x83, 0x35, 0x00, 0x00, 0x00, //0x000014e9 jae LBB0_312 + 0xe9, 0x42, 0x00, 0x00, 0x00, //0x000014ef jmp LBB0_313 + //0x000014f4 LBB0_309 + 0x48, 0x83, 0xff, 0x08, //0x000014f4 cmpq $8, %rdi + 0x0f, 0x82, 0xcd, 0xff, 0xff, 0xff, //0x000014f8 jb LBB0_310 + //0x000014fe LBB0_316 + 0x48, 0x8b, 0x01, //0x000014fe movq (%rcx), %rax + 0x48, 0x89, 0x06, //0x00001501 movq %rax, (%rsi) + 0x48, 0x83, 0xc1, 0x08, //0x00001504 addq $8, %rcx + 0x48, 0x83, 0xc6, 0x08, //0x00001508 addq $8, %rsi + 0x48, 0x83, 0xc7, 0xf8, //0x0000150c addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x00001510 cmpq $4, %rdi + 0x0f, 0x8d, 0xbb, 0xff, 0xff, 0xff, //0x00001514 jge LBB0_317 + //0x0000151a LBB0_311 + 0x48, 0x83, 0xff, 0x02, //0x0000151a cmpq $2, %rdi + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x0000151e jb LBB0_313 + //0x00001524 LBB0_312 + 0x0f, 0xb7, 0x01, //0x00001524 movzwl (%rcx), %eax + 0x66, 0x89, 0x06, //0x00001527 movw %ax, (%rsi) + 0x48, 0x83, 0xc1, 0x02, //0x0000152a addq $2, %rcx + 0x48, 0x83, 0xc6, 0x02, //0x0000152e addq $2, %rsi + 0x48, 0x83, 0xc7, 0xfe, //0x00001532 addq $-2, %rdi + //0x00001536 LBB0_313 + 0x48, 0x89, 0xc8, //0x00001536 movq %rcx, %rax + 0x48, 0x8d, 0x8d, 0x40, 0xff, 0xff, 0xff, //0x00001539 leaq $-192(%rbp), %rcx + 0x48, 0x85, 0xff, //0x00001540 testq %rdi, %rdi + 0x48, 0x89, 0xcf, //0x00001543 movq %rcx, %rdi + 0x4c, 0x8b, 0x6d, 0xc0, //0x00001546 movq $-64(%rbp), %r13 + 0x0f, 0x84, 0x0b, 0x00, 0x00, 0x00, //0x0000154a je LBB0_293 + 0x8a, 0x00, //0x00001550 movb (%rax), %al + 0x88, 0x06, //0x00001552 movb %al, (%rsi) + 0x48, 0x8d, 0xbd, 0x40, 0xff, 0xff, 0xff, //0x00001554 leaq $-192(%rbp), %rdi + //0x0000155b LBB0_293 + 0xf3, 0x0f, 0x6f, 0x17, //0x0000155b movdqu (%rdi), %xmm2 + 0xf3, 0x0f, 0x6f, 0x6f, 0x10, //0x0000155f movdqu $16(%rdi), %xmm5 + 0xf3, 0x0f, 0x6f, 0x7f, 0x20, //0x00001564 movdqu $32(%rdi), %xmm7 + 0x48, 0x89, 0x7d, 0xc8, //0x00001569 movq %rdi, $-56(%rbp) + 0xf3, 0x0f, 0x6f, 0x77, 0x30, //0x0000156d movdqu $48(%rdi), %xmm6 + 0x66, 0x0f, 0x6f, 0xda, //0x00001572 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00001576 pcmpeqb %xmm0, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x0000157a pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xdd, //0x0000157f movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00001583 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x00001587 pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xdf, //0x0000158b movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x0000158f pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x00001593 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xde, //0x00001597 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x0000159b pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x0000159f pmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x000015a3 shlq $48, %rbx + 0x48, 0xc1, 0xe7, 0x20, //0x000015a7 shlq $32, %rdi + 0x48, 0xc1, 0xe0, 0x10, //0x000015ab shlq $16, %rax + 0x49, 0x09, 0xc6, //0x000015af orq %rax, %r14 + 0x49, 0x09, 0xfe, //0x000015b2 orq %rdi, %r14 + 0x49, 0x09, 0xde, //0x000015b5 orq %rbx, %r14 + 0x66, 0x0f, 0x6f, 0xda, //0x000015b8 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015bc pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x000015c0 pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xdd, //0x000015c4 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015c8 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x000015cc pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdf, //0x000015d0 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015d4 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x000015d8 pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xde, //0x000015dc movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015e0 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x000015e4 pmovmskb %xmm3, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x000015e8 shlq $48, %rcx + 0x48, 0xc1, 0xe3, 0x20, //0x000015ec shlq $32, %rbx + 0x48, 0xc1, 0xe7, 0x10, //0x000015f0 shlq $16, %rdi + 0x48, 0x09, 0xf8, //0x000015f4 orq %rdi, %rax + 0x48, 0x09, 0xd8, //0x000015f7 orq %rbx, %rax + 0x48, 0x09, 0xc8, //0x000015fa orq %rcx, %rax + 0x48, 0x89, 0xc1, //0x000015fd movq %rax, %rcx + 0x4d, 0x89, 0xef, //0x00001600 movq %r13, %r15 + 0x4c, 0x09, 0xc1, //0x00001603 orq %r8, %rcx + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x00001606 je LBB0_295 + 0x4c, 0x89, 0xc1, //0x0000160c movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x0000160f notq %rcx + 0x48, 0x21, 0xc1, //0x00001612 andq %rax, %rcx + 0x48, 0x8d, 0x1c, 0x09, //0x00001615 leaq (%rcx,%rcx), %rbx + 0x4c, 0x09, 0xc3, //0x00001619 orq %r8, %rbx + 0x48, 0x89, 0xdf, //0x0000161c movq %rbx, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000161f movabsq $-6148914691236517206, %rsi + 0x48, 0x31, 0xf7, //0x00001629 xorq %rsi, %rdi + 0x48, 0x21, 0xf0, //0x0000162c andq %rsi, %rax + 0x48, 0x21, 0xf8, //0x0000162f andq %rdi, %rax + 0x45, 0x31, 0xc0, //0x00001632 xorl %r8d, %r8d + 0x48, 0x01, 0xc8, //0x00001635 addq %rcx, %rax + 0x41, 0x0f, 0x92, 0xc0, //0x00001638 setb %r8b + 0x48, 0x01, 0xc0, //0x0000163c addq %rax, %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x0000163f movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xc8, //0x00001649 xorq %rcx, %rax + 0x48, 0x21, 0xd8, //0x0000164c andq %rbx, %rax + 0x48, 0xf7, 0xd0, //0x0000164f notq %rax + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00001652 jmp LBB0_296 + //0x00001657 LBB0_295 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001657 movq $-1, %rax + 0x45, 0x31, 0xc0, //0x0000165e xorl %r8d, %r8d + //0x00001661 LBB0_296 + 0x4c, 0x21, 0xf0, //0x00001661 andq %r14, %rax + 0x66, 0x48, 0x0f, 0x6e, 0xd8, //0x00001664 movq %rax, %xmm3 + 0x66, 0x41, 0x0f, 0x3a, 0x44, 0xd9, 0x00, //0x00001669 pclmulqdq $0, %xmm9, %xmm3 + 0x66, 0x49, 0x0f, 0x7e, 0xde, //0x00001670 movq %xmm3, %r14 + 0x4d, 0x31, 0xce, //0x00001675 xorq %r9, %r14 + 0x66, 0x0f, 0x6f, 0xda, //0x00001678 movdqa %xmm2, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xdc, //0x0000167c pcmpeqb %xmm12, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x00001681 pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xdd, //0x00001686 movdqa %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xdc, //0x0000168a pcmpeqb %xmm12, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x0000168f pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xdf, //0x00001693 movdqa %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xdc, //0x00001697 pcmpeqb %xmm12, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x0000169c pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xde, //0x000016a0 movdqa %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xdc, //0x000016a4 pcmpeqb %xmm12, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x000016a9 pmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x000016ad shlq $48, %rbx + 0x48, 0xc1, 0xe1, 0x20, //0x000016b1 shlq $32, %rcx + 0x48, 0xc1, 0xe0, 0x10, //0x000016b5 shlq $16, %rax + 0x49, 0x09, 0xc5, //0x000016b9 orq %rax, %r13 + 0x49, 0x09, 0xcd, //0x000016bc orq %rcx, %r13 + 0x49, 0x09, 0xdd, //0x000016bf orq %rbx, %r13 + 0x4d, 0x89, 0xf1, //0x000016c2 movq %r14, %r9 + 0x49, 0xf7, 0xd1, //0x000016c5 notq %r9 + 0x4d, 0x21, 0xcd, //0x000016c8 andq %r9, %r13 + 0x66, 0x0f, 0x74, 0xd4, //0x000016cb pcmpeqb %xmm4, %xmm2 + 0x66, 0x0f, 0xd7, 0xc2, //0x000016cf pmovmskb %xmm2, %eax + 0x66, 0x0f, 0x74, 0xec, //0x000016d3 pcmpeqb %xmm4, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x000016d7 pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x74, 0xfc, //0x000016db pcmpeqb %xmm4, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x000016df pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x74, 0xf4, //0x000016e3 pcmpeqb %xmm4, %xmm6 + 0x66, 0x0f, 0xd7, 0xce, //0x000016e7 pmovmskb %xmm6, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x000016eb shlq $48, %rcx + 0x48, 0xc1, 0xe6, 0x20, //0x000016ef shlq $32, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x000016f3 shlq $16, %rbx + 0x48, 0x09, 0xd8, //0x000016f7 orq %rbx, %rax + 0x48, 0x09, 0xf0, //0x000016fa orq %rsi, %rax + 0x48, 0x09, 0xc8, //0x000016fd orq %rcx, %rax + 0x48, 0xbf, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, //0x00001700 movabsq $3689348814741910323, %rdi + 0x4c, 0x21, 0xc8, //0x0000170a andq %r9, %rax + 0x0f, 0x84, 0x79, 0x00, 0x00, 0x00, //0x0000170d je LBB0_300 + 0x49, 0xb9, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00001713 movabsq $1085102592571150095, %r9 + 0x90, 0x90, 0x90, //0x0000171d .p2align 4, 0x90 + //0x00001720 LBB0_298 + 0x48, 0x8d, 0x58, 0xff, //0x00001720 leaq $-1(%rax), %rbx + 0x48, 0x89, 0xd9, //0x00001724 movq %rbx, %rcx + 0x4c, 0x21, 0xe9, //0x00001727 andq %r13, %rcx + 0x48, 0x89, 0xce, //0x0000172a movq %rcx, %rsi + 0x48, 0xd1, 0xee, //0x0000172d shrq %rsi + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001730 movabsq $6148914691236517205, %rdx + 0x48, 0x21, 0xd6, //0x0000173a andq %rdx, %rsi + 0x48, 0x29, 0xf1, //0x0000173d subq %rsi, %rcx + 0x48, 0x89, 0xce, //0x00001740 movq %rcx, %rsi + 0x48, 0x21, 0xfe, //0x00001743 andq %rdi, %rsi + 0x48, 0xc1, 0xe9, 0x02, //0x00001746 shrq $2, %rcx + 0x48, 0x21, 0xf9, //0x0000174a andq %rdi, %rcx + 0x48, 0x01, 0xf1, //0x0000174d addq %rsi, %rcx + 0x48, 0x89, 0xce, //0x00001750 movq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x04, //0x00001753 shrq $4, %rsi + 0x48, 0x01, 0xce, //0x00001757 addq %rcx, %rsi + 0x4c, 0x21, 0xce, //0x0000175a andq %r9, %rsi + 0x48, 0xb9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x0000175d movabsq $72340172838076673, %rcx + 0x48, 0x0f, 0xaf, 0xf1, //0x00001767 imulq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x38, //0x0000176b shrq $56, %rsi + 0x4c, 0x01, 0xde, //0x0000176f addq %r11, %rsi + 0x4c, 0x39, 0xe6, //0x00001772 cmpq %r12, %rsi + 0x0f, 0x86, 0x88, 0x00, 0x00, 0x00, //0x00001775 jbe LBB0_318 + 0x49, 0xff, 0xc4, //0x0000177b incq %r12 + 0x48, 0x21, 0xd8, //0x0000177e andq %rbx, %rax + 0x0f, 0x85, 0x99, 0xff, 0xff, 0xff, //0x00001781 jne LBB0_298 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00001787 jmp LBB0_301 + //0x0000178c LBB0_300 + 0x49, 0xb9, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x0000178c movabsq $1085102592571150095, %r9 + //0x00001796 LBB0_301 + 0x49, 0xc1, 0xfe, 0x3f, //0x00001796 sarq $63, %r14 + 0x4c, 0x89, 0xe8, //0x0000179a movq %r13, %rax + 0x48, 0xd1, 0xe8, //0x0000179d shrq %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000017a0 movabsq $6148914691236517205, %rcx + 0x48, 0x21, 0xc8, //0x000017aa andq %rcx, %rax + 0x49, 0x29, 0xc5, //0x000017ad subq %rax, %r13 + 0x4c, 0x89, 0xe8, //0x000017b0 movq %r13, %rax + 0x48, 0x21, 0xf8, //0x000017b3 andq %rdi, %rax + 0x49, 0xc1, 0xed, 0x02, //0x000017b6 shrq $2, %r13 + 0x49, 0x21, 0xfd, //0x000017ba andq %rdi, %r13 + 0x49, 0x01, 0xc5, //0x000017bd addq %rax, %r13 + 0x4c, 0x89, 0xe8, //0x000017c0 movq %r13, %rax + 0x48, 0xc1, 0xe8, 0x04, //0x000017c3 shrq $4, %rax + 0x4c, 0x01, 0xe8, //0x000017c7 addq %r13, %rax + 0x4c, 0x21, 0xc8, //0x000017ca andq %r9, %rax + 0x48, 0xb9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x000017cd movabsq $72340172838076673, %rcx + 0x48, 0x0f, 0xaf, 0xc1, //0x000017d7 imulq %rcx, %rax + 0x48, 0xc1, 0xe8, 0x38, //0x000017db shrq $56, %rax + 0x49, 0x01, 0xc3, //0x000017df addq %rax, %r11 + 0x48, 0x8b, 0x7d, 0xc8, //0x000017e2 movq $-56(%rbp), %rdi + 0x48, 0x83, 0xc7, 0x40, //0x000017e6 addq $64, %rdi + 0x49, 0x83, 0xc2, 0xc0, //0x000017ea addq $-64, %r10 + 0x4d, 0x89, 0xf1, //0x000017ee movq %r14, %r9 + 0x4d, 0x89, 0xfd, //0x000017f1 movq %r15, %r13 + 0x49, 0x83, 0xfa, 0x40, //0x000017f4 cmpq $64, %r10 + 0x0f, 0x8d, 0x5d, 0xfd, 0xff, 0xff, //0x000017f8 jge LBB0_293 + 0xe9, 0x0f, 0xfc, 0xff, 0xff, //0x000017fe jmp LBB0_302 + //0x00001803 LBB0_318 + 0x4c, 0x8b, 0x45, 0xb0, //0x00001803 movq $-80(%rbp), %r8 + 0x49, 0x8b, 0x08, //0x00001807 movq (%r8), %rcx + 0x48, 0x0f, 0xbc, 0xc0, //0x0000180a bsfq %rax, %rax + 0x4c, 0x29, 0xd0, //0x0000180e subq %r10, %rax + 0x4c, 0x8d, 0x74, 0x08, 0x01, //0x00001811 leaq $1(%rax,%rcx), %r14 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00001816 movq $-48(%rbp), %r11 + 0x4d, 0x89, 0x33, //0x0000181a movq %r14, (%r11) + 0x49, 0x8b, 0x00, //0x0000181d movq (%r8), %rax + 0x49, 0x39, 0xc6, //0x00001820 cmpq %rax, %r14 + 0x4c, 0x0f, 0x47, 0xf0, //0x00001823 cmovaq %rax, %r14 + 0x4d, 0x89, 0x33, //0x00001827 movq %r14, (%r11) + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000182a movabsq $4294977024, %r10 + 0x4d, 0x89, 0xfd, //0x00001834 movq %r15, %r13 + 0x4c, 0x8b, 0x4d, 0xa0, //0x00001837 movq $-96(%rbp), %r9 + 0xe9, 0x00, 0xf5, 0xff, 0xff, //0x0000183b jmp LBB0_224 + //0x00001840 LBB0_68 + 0x48, 0x8b, 0x4d, 0x88, //0x00001840 movq $-120(%rbp), %rcx + 0x4c, 0x8b, 0x6d, 0xc0, //0x00001844 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xa0, //0x00001848 movq $-96(%rbp), %r9 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000184c movabsq $4294977024, %r10 + 0x4c, 0x8b, 0x75, 0x80, //0x00001856 movq $-128(%rbp), %r14 + 0x48, 0x83, 0xf9, 0x20, //0x0000185a cmpq $32, %rcx + 0x0f, 0x82, 0xa7, 0x00, 0x00, 0x00, //0x0000185e jb LBB0_106 + //0x00001864 LBB0_69 + 0xf3, 0x41, 0x0f, 0x6f, 0x16, //0x00001864 movdqu (%r14), %xmm2 + 0xf3, 0x41, 0x0f, 0x6f, 0x5e, 0x10, //0x00001869 movdqu $16(%r14), %xmm3 + 0x66, 0x0f, 0x6f, 0xea, //0x0000186f movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001873 pcmpeqb %xmm0, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xc5, //0x00001877 pmovmskb %xmm5, %r8d + 0x66, 0x0f, 0x6f, 0xeb, //0x0000187c movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001880 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x00001884 pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x74, 0xd1, //0x00001888 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x0000188c pmovmskb %xmm2, %edi + 0x66, 0x0f, 0x74, 0xd9, //0x00001890 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x00001894 pmovmskb %xmm3, %edx + 0x48, 0xc1, 0xe6, 0x10, //0x00001898 shlq $16, %rsi + 0x48, 0xc1, 0xe2, 0x10, //0x0000189c shlq $16, %rdx + 0x48, 0x09, 0xd7, //0x000018a0 orq %rdx, %rdi + 0x49, 0x83, 0xfb, 0xff, //0x000018a3 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000018a7 jne LBB0_71 + 0x48, 0x85, 0xff, //0x000018ad testq %rdi, %rdi + 0x0f, 0x85, 0xe3, 0x04, 0x00, 0x00, //0x000018b0 jne LBB0_326 + //0x000018b6 LBB0_71 + 0x4c, 0x09, 0xc6, //0x000018b6 orq %r8, %rsi + 0x48, 0x89, 0xfa, //0x000018b9 movq %rdi, %rdx + 0x48, 0x09, 0xda, //0x000018bc orq %rbx, %rdx + 0x0f, 0x85, 0xf1, 0x04, 0x00, 0x00, //0x000018bf jne LBB0_327 + //0x000018c5 LBB0_72 + 0x4c, 0x8b, 0x45, 0xb0, //0x000018c5 movq $-80(%rbp), %r8 + 0x48, 0x8b, 0x7d, 0xc8, //0x000018c9 movq $-56(%rbp), %rdi + 0x48, 0x85, 0xf6, //0x000018cd testq %rsi, %rsi + 0x0f, 0x84, 0x31, 0x05, 0x00, 0x00, //0x000018d0 je LBB0_328 + //0x000018d6 LBB0_73 + 0x48, 0x0f, 0xbc, 0xce, //0x000018d6 bsfq %rsi, %rcx + 0x49, 0x29, 0xfe, //0x000018da subq %rdi, %r14 + 0x4d, 0x8d, 0x74, 0x0e, 0x01, //0x000018dd leaq $1(%r14,%rcx), %r14 + 0x4c, 0x8b, 0x7d, 0x90, //0x000018e2 movq $-112(%rbp), %r15 + 0x4d, 0x85, 0xf6, //0x000018e6 testq %r14, %r14 + 0x48, 0x8b, 0x5d, 0xb8, //0x000018e9 movq $-72(%rbp), %rbx + 0x0f, 0x89, 0x84, 0xee, 0xff, 0xff, //0x000018ed jns LBB0_79 + 0xe9, 0xfc, 0x3b, 0x00, 0x00, //0x000018f3 jmp LBB0_951 + //0x000018f8 LBB0_105 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000018f8 movq $-1, %r11 + 0x31, 0xdb, //0x000018ff xorl %ebx, %ebx + 0x48, 0x83, 0xf9, 0x20, //0x00001901 cmpq $32, %rcx + 0x0f, 0x83, 0x59, 0xff, 0xff, 0xff, //0x00001905 jae LBB0_69 + //0x0000190b LBB0_106 + 0x48, 0x8b, 0x7d, 0xc8, //0x0000190b movq $-56(%rbp), %rdi + 0xe9, 0xfb, 0x04, 0x00, 0x00, //0x0000190f jmp LBB0_329 + //0x00001914 LBB0_107 + 0x48, 0xc7, 0x85, 0x40, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, //0x00001914 movq $0, $-192(%rbp) + 0x4a, 0x8d, 0x54, 0x37, 0xff, //0x0000191f leaq $-1(%rdi,%r14), %rdx + 0x48, 0x8b, 0x45, 0x98, //0x00001924 movq $-104(%rbp), %rax + 0x4d, 0x8d, 0x14, 0x07, //0x00001928 leaq (%r15,%rax), %r10 + 0x48, 0x85, 0xc0, //0x0000192c testq %rax, %rax + 0x0f, 0x8e, 0x20, 0x04, 0x00, 0x00, //0x0000192f jle LBB0_153 + 0x48, 0x39, 0xda, //0x00001935 cmpq %rbx, %rdx + 0x4c, 0x8b, 0x5d, 0xd0, //0x00001938 movq $-48(%rbp), %r11 + 0x0f, 0x86, 0x17, 0x04, 0x00, 0x00, //0x0000193c jbe LBB0_154 + //0x00001942 LBB0_109 + 0x8a, 0x03, //0x00001942 movb (%rbx), %al + 0x3c, 0x5c, //0x00001944 cmpb $92, %al + 0x0f, 0x85, 0x45, 0x00, 0x00, 0x00, //0x00001946 jne LBB0_114 + 0x48, 0x89, 0xd7, //0x0000194c movq %rdx, %rdi + 0x48, 0x29, 0xdf, //0x0000194f subq %rbx, %rdi + 0x48, 0x85, 0xff, //0x00001952 testq %rdi, %rdi + 0x0f, 0x8e, 0x96, 0x3d, 0x00, 0x00, //0x00001955 jle LBB0_972 + 0x49, 0x89, 0xdc, //0x0000195b movq %rbx, %r12 + 0x0f, 0xb6, 0x43, 0x01, //0x0000195e movzbl $1(%rbx), %eax + 0x48, 0x8d, 0x0d, 0xc7, 0x47, 0x00, 0x00, //0x00001962 leaq $18375(%rip), %rcx /* __UnquoteTab+0(%rip) */ + 0x8a, 0x1c, 0x08, //0x00001969 movb (%rax,%rcx), %bl + 0x80, 0xfb, 0xff, //0x0000196c cmpb $-1, %bl + 0x0f, 0x84, 0x30, 0x00, 0x00, 0x00, //0x0000196f je LBB0_116 + 0x84, 0xdb, //0x00001975 testb %bl, %bl + 0x0f, 0x84, 0x5c, 0x3d, 0x00, 0x00, //0x00001977 je LBB0_970 + 0x88, 0x9d, 0x40, 0xff, 0xff, 0xff, //0x0000197d movb %bl, $-192(%rbp) + 0x49, 0x83, 0xc4, 0x02, //0x00001983 addq $2, %r12 + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x00001987 movl $1, %edi + 0xe9, 0x1e, 0x01, 0x00, 0x00, //0x0000198c jmp LBB0_127 + //0x00001991 LBB0_114 + 0x41, 0x3a, 0x07, //0x00001991 cmpb (%r15), %al + 0x0f, 0x85, 0xef, 0x03, 0x00, 0x00, //0x00001994 jne LBB0_324 + 0x48, 0xff, 0xc3, //0x0000199a incq %rbx + 0x49, 0xff, 0xc7, //0x0000199d incq %r15 + 0xe9, 0xa7, 0x01, 0x00, 0x00, //0x000019a0 jmp LBB0_139 + //0x000019a5 LBB0_116 + 0x48, 0x83, 0xff, 0x03, //0x000019a5 cmpq $3, %rdi + 0x0f, 0x8e, 0x3c, 0x3d, 0x00, 0x00, //0x000019a9 jle LBB0_971 + 0x49, 0x89, 0xd1, //0x000019af movq %rdx, %r9 + 0x41, 0x8b, 0x44, 0x24, 0x02, //0x000019b2 movl $2(%r12), %eax + 0x89, 0xc6, //0x000019b7 movl %eax, %esi + 0xf7, 0xd6, //0x000019b9 notl %esi + 0x8d, 0x90, 0xd0, 0xcf, 0xcf, 0xcf, //0x000019bb leal $-808464432(%rax), %edx + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x000019c1 andl $-2139062144, %esi + 0x85, 0xd6, //0x000019c7 testl %edx, %esi + 0x0f, 0x85, 0x61, 0x3c, 0x00, 0x00, //0x000019c9 jne LBB0_968 + 0x8d, 0x90, 0x19, 0x19, 0x19, 0x19, //0x000019cf leal $421075225(%rax), %edx + 0x09, 0xc2, //0x000019d5 orl %eax, %edx + 0xf7, 0xc2, 0x80, 0x80, 0x80, 0x80, //0x000019d7 testl $-2139062144, %edx + 0x0f, 0x85, 0x4d, 0x3c, 0x00, 0x00, //0x000019dd jne LBB0_968 + 0x89, 0xc2, //0x000019e3 movl %eax, %edx + 0x81, 0xe2, 0x7f, 0x7f, 0x7f, 0x7f, //0x000019e5 andl $2139062143, %edx + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x000019eb movl $-1061109568, %ebx + 0x29, 0xd3, //0x000019f0 subl %edx, %ebx + 0x8d, 0x8a, 0x46, 0x46, 0x46, 0x46, //0x000019f2 leal $1179010630(%rdx), %ecx + 0x21, 0xf3, //0x000019f8 andl %esi, %ebx + 0x85, 0xcb, //0x000019fa testl %ecx, %ebx + 0x0f, 0x85, 0x2e, 0x3c, 0x00, 0x00, //0x000019fc jne LBB0_968 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x00001a02 movl $-522133280, %ecx + 0x29, 0xd1, //0x00001a07 subl %edx, %ecx + 0x81, 0xc2, 0x39, 0x39, 0x39, 0x39, //0x00001a09 addl $960051513, %edx + 0x21, 0xce, //0x00001a0f andl %ecx, %esi + 0x85, 0xd6, //0x00001a11 testl %edx, %esi + 0x0f, 0x85, 0x17, 0x3c, 0x00, 0x00, //0x00001a13 jne LBB0_968 + 0x0f, 0xc8, //0x00001a19 bswapl %eax + 0x89, 0xc1, //0x00001a1b movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00001a1d shrl $4, %ecx + 0xf7, 0xd1, //0x00001a20 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00001a22 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00001a28 leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x00001a2b andl $252645135, %eax + 0x01, 0xc8, //0x00001a30 addl %ecx, %eax + 0x89, 0xc3, //0x00001a32 movl %eax, %ebx + 0xc1, 0xeb, 0x04, //0x00001a34 shrl $4, %ebx + 0x09, 0xc3, //0x00001a37 orl %eax, %ebx + 0x89, 0xde, //0x00001a39 movl %ebx, %esi + 0xc1, 0xee, 0x08, //0x00001a3b shrl $8, %esi + 0x81, 0xe6, 0x00, 0xff, 0x00, 0x00, //0x00001a3e andl $65280, %esi + 0x0f, 0xb6, 0xd3, //0x00001a44 movzbl %bl, %edx + 0x09, 0xf2, //0x00001a47 orl %esi, %edx + 0x4d, 0x8d, 0x44, 0x24, 0x06, //0x00001a49 leaq $6(%r12), %r8 + 0x83, 0xfa, 0x7f, //0x00001a4e cmpl $127, %edx + 0x0f, 0x86, 0x0c, 0x01, 0x00, 0x00, //0x00001a51 jbe LBB0_141 + 0x81, 0xfa, 0xff, 0x07, 0x00, 0x00, //0x00001a57 cmpl $2047, %edx + 0x0f, 0x86, 0x10, 0x01, 0x00, 0x00, //0x00001a5d jbe LBB0_142 + 0x89, 0xd8, //0x00001a63 movl %ebx, %eax + 0x25, 0x00, 0x00, 0xf8, 0x00, //0x00001a65 andl $16252928, %eax + 0x3d, 0x00, 0x00, 0xd8, 0x00, //0x00001a6a cmpl $14155776, %eax + 0x0f, 0x84, 0x22, 0x01, 0x00, 0x00, //0x00001a6f je LBB0_143 + 0xc1, 0xee, 0x0c, //0x00001a75 shrl $12, %esi + 0x40, 0x80, 0xce, 0xe0, //0x00001a78 orb $-32, %sil + 0x40, 0x88, 0xb5, 0x40, 0xff, 0xff, 0xff, //0x00001a7c movb %sil, $-192(%rbp) + 0xc1, 0xea, 0x06, //0x00001a83 shrl $6, %edx + 0x80, 0xe2, 0x3f, //0x00001a86 andb $63, %dl + 0x80, 0xca, 0x80, //0x00001a89 orb $-128, %dl + 0x88, 0x95, 0x41, 0xff, 0xff, 0xff, //0x00001a8c movb %dl, $-191(%rbp) + 0x80, 0xe3, 0x3f, //0x00001a92 andb $63, %bl + 0x80, 0xcb, 0x80, //0x00001a95 orb $-128, %bl + 0x88, 0x9d, 0x42, 0xff, 0xff, 0xff, //0x00001a98 movb %bl, $-190(%rbp) + 0xbf, 0x03, 0x00, 0x00, 0x00, //0x00001a9e movl $3, %edi + 0x89, 0xf3, //0x00001aa3 movl %esi, %ebx + //0x00001aa5 LBB0_125 + 0x4d, 0x89, 0xc4, //0x00001aa5 movq %r8, %r12 + //0x00001aa8 LBB0_126 + 0x4c, 0x8b, 0x45, 0xb0, //0x00001aa8 movq $-80(%rbp), %r8 + 0x4c, 0x89, 0xca, //0x00001aac movq %r9, %rdx + //0x00001aaf LBB0_127 + 0x4c, 0x8d, 0x8c, 0x3d, 0x40, 0xff, 0xff, 0xff, //0x00001aaf leaq $-192(%rbp,%rdi), %r9 + 0x4d, 0x39, 0xd7, //0x00001ab7 cmpq %r10, %r15 + 0x0f, 0x83, 0x75, 0x00, 0x00, 0x00, //0x00001aba jae LBB0_136 + 0x48, 0x8d, 0x85, 0x40, 0xff, 0xff, 0xff, //0x00001ac0 leaq $-192(%rbp), %rax + 0x49, 0x39, 0xc1, //0x00001ac7 cmpq %rax, %r9 + 0x48, 0x8b, 0x7d, 0xc8, //0x00001aca movq $-56(%rbp), %rdi + 0x0f, 0x86, 0x55, 0x00, 0x00, 0x00, //0x00001ace jbe LBB0_135 + 0x41, 0x38, 0x1f, //0x00001ad4 cmpb %bl, (%r15) + 0x0f, 0x85, 0x4c, 0x00, 0x00, 0x00, //0x00001ad7 jne LBB0_135 + 0x48, 0x89, 0x55, 0x98, //0x00001add movq %rdx, $-104(%rbp) + 0x49, 0xff, 0xc7, //0x00001ae1 incq %r15 + 0x48, 0x8d, 0x85, 0x41, 0xff, 0xff, 0xff, //0x00001ae4 leaq $-191(%rbp), %rax + 0x4c, 0x89, 0xe3, //0x00001aeb movq %r12, %rbx + //0x00001aee LBB0_131 + 0x4c, 0x89, 0xff, //0x00001aee movq %r15, %rdi + 0x48, 0x89, 0xc6, //0x00001af1 movq %rax, %rsi + 0x4c, 0x39, 0xc8, //0x00001af4 cmpq %r9, %rax + 0x0f, 0x83, 0x1c, 0x00, 0x00, 0x00, //0x00001af7 jae LBB0_134 + 0x4c, 0x39, 0xd7, //0x00001afd cmpq %r10, %rdi + 0x0f, 0x83, 0x13, 0x00, 0x00, 0x00, //0x00001b00 jae LBB0_134 + 0x0f, 0xb6, 0x0f, //0x00001b06 movzbl (%rdi), %ecx + 0x4c, 0x8d, 0x7f, 0x01, //0x00001b09 leaq $1(%rdi), %r15 + 0x48, 0x8d, 0x46, 0x01, //0x00001b0d leaq $1(%rsi), %rax + 0x3a, 0x0e, //0x00001b11 cmpb (%rsi), %cl + 0x0f, 0x84, 0xd5, 0xff, 0xff, 0xff, //0x00001b13 je LBB0_131 + //0x00001b19 LBB0_134 + 0x49, 0x89, 0xff, //0x00001b19 movq %rdi, %r15 + 0x48, 0x8b, 0x7d, 0xc8, //0x00001b1c movq $-56(%rbp), %rdi + 0x48, 0x8b, 0x55, 0x98, //0x00001b20 movq $-104(%rbp), %rdx + 0xe9, 0x1a, 0x00, 0x00, 0x00, //0x00001b24 jmp LBB0_138 + //0x00001b29 LBB0_135 + 0x48, 0x8d, 0xb5, 0x40, 0xff, 0xff, 0xff, //0x00001b29 leaq $-192(%rbp), %rsi + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00001b30 jmp LBB0_137 + //0x00001b35 LBB0_136 + 0x48, 0x8d, 0xb5, 0x40, 0xff, 0xff, 0xff, //0x00001b35 leaq $-192(%rbp), %rsi + 0x48, 0x8b, 0x7d, 0xc8, //0x00001b3c movq $-56(%rbp), %rdi + //0x00001b40 LBB0_137 + 0x4c, 0x89, 0xe3, //0x00001b40 movq %r12, %rbx + //0x00001b43 LBB0_138 + 0x4c, 0x39, 0xce, //0x00001b43 cmpq %r9, %rsi + 0x0f, 0x85, 0x3d, 0x02, 0x00, 0x00, //0x00001b46 jne LBB0_324 + //0x00001b4c LBB0_139 + 0x48, 0x39, 0xda, //0x00001b4c cmpq %rbx, %rdx + 0x0f, 0x86, 0x04, 0x02, 0x00, 0x00, //0x00001b4f jbe LBB0_154 + 0x4d, 0x39, 0xd7, //0x00001b55 cmpq %r10, %r15 + 0x0f, 0x82, 0xe4, 0xfd, 0xff, 0xff, //0x00001b58 jb LBB0_109 + 0xe9, 0xf6, 0x01, 0x00, 0x00, //0x00001b5e jmp LBB0_154 + //0x00001b63 LBB0_141 + 0x88, 0x9d, 0x40, 0xff, 0xff, 0xff, //0x00001b63 movb %bl, $-192(%rbp) + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x00001b69 movl $1, %edi + 0xe9, 0x32, 0xff, 0xff, 0xff, //0x00001b6e jmp LBB0_125 + //0x00001b73 LBB0_142 + 0xc1, 0xea, 0x06, //0x00001b73 shrl $6, %edx + 0x80, 0xca, 0xc0, //0x00001b76 orb $-64, %dl + 0x88, 0x95, 0x40, 0xff, 0xff, 0xff, //0x00001b79 movb %dl, $-192(%rbp) + 0x80, 0xe3, 0x3f, //0x00001b7f andb $63, %bl + 0x80, 0xcb, 0x80, //0x00001b82 orb $-128, %bl + 0x88, 0x9d, 0x41, 0xff, 0xff, 0xff, //0x00001b85 movb %bl, $-191(%rbp) + 0xbf, 0x02, 0x00, 0x00, 0x00, //0x00001b8b movl $2, %edi + 0x89, 0xd3, //0x00001b90 movl %edx, %ebx + 0xe9, 0x0e, 0xff, 0xff, 0xff, //0x00001b92 jmp LBB0_125 + //0x00001b97 LBB0_143 + 0x48, 0x83, 0xff, 0x06, //0x00001b97 cmpq $6, %rdi + 0x0f, 0x8c, 0x82, 0x3b, 0x00, 0x00, //0x00001b9b jl LBB0_977 + 0x81, 0xfa, 0xff, 0xdb, 0x00, 0x00, //0x00001ba1 cmpl $56319, %edx + 0x0f, 0x87, 0x76, 0x3b, 0x00, 0x00, //0x00001ba7 ja LBB0_977 + 0x41, 0x80, 0x38, 0x5c, //0x00001bad cmpb $92, (%r8) + 0x0f, 0x85, 0x6c, 0x3b, 0x00, 0x00, //0x00001bb1 jne LBB0_977 + 0x41, 0x80, 0x7c, 0x24, 0x07, 0x75, //0x00001bb7 cmpb $117, $7(%r12) + 0x0f, 0x85, 0x60, 0x3b, 0x00, 0x00, //0x00001bbd jne LBB0_977 + 0x4c, 0x89, 0xe0, //0x00001bc3 movq %r12, %rax + 0x4d, 0x8d, 0x44, 0x24, 0x08, //0x00001bc6 leaq $8(%r12), %r8 + 0x41, 0x8b, 0x7c, 0x24, 0x08, //0x00001bcb movl $8(%r12), %edi + 0x89, 0xfb, //0x00001bd0 movl %edi, %ebx + 0xf7, 0xd3, //0x00001bd2 notl %ebx + 0x8d, 0x87, 0xd0, 0xcf, 0xcf, 0xcf, //0x00001bd4 leal $-808464432(%rdi), %eax + 0x81, 0xe3, 0x80, 0x80, 0x80, 0x80, //0x00001bda andl $-2139062144, %ebx + 0x85, 0xc3, //0x00001be0 testl %eax, %ebx + 0x0f, 0x85, 0x47, 0x3b, 0x00, 0x00, //0x00001be2 jne LBB0_978 + 0x8d, 0x87, 0x19, 0x19, 0x19, 0x19, //0x00001be8 leal $421075225(%rdi), %eax + 0x09, 0xf8, //0x00001bee orl %edi, %eax + 0xa9, 0x80, 0x80, 0x80, 0x80, //0x00001bf0 testl $-2139062144, %eax + 0x0f, 0x85, 0x34, 0x3b, 0x00, 0x00, //0x00001bf5 jne LBB0_978 + 0x89, 0xf8, //0x00001bfb movl %edi, %eax + 0x25, 0x7f, 0x7f, 0x7f, 0x7f, //0x00001bfd andl $2139062143, %eax + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x00001c02 movl $-1061109568, %ecx + 0x29, 0xc1, //0x00001c07 subl %eax, %ecx + 0x8d, 0xb0, 0x46, 0x46, 0x46, 0x46, //0x00001c09 leal $1179010630(%rax), %esi + 0x21, 0xd9, //0x00001c0f andl %ebx, %ecx + 0x85, 0xf1, //0x00001c11 testl %esi, %ecx + 0x0f, 0x85, 0x16, 0x3b, 0x00, 0x00, //0x00001c13 jne LBB0_978 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x00001c19 movl $-522133280, %ecx + 0x29, 0xc1, //0x00001c1e subl %eax, %ecx + 0x05, 0x39, 0x39, 0x39, 0x39, //0x00001c20 addl $960051513, %eax + 0x21, 0xcb, //0x00001c25 andl %ecx, %ebx + 0x85, 0xc3, //0x00001c27 testl %eax, %ebx + 0x0f, 0x85, 0x00, 0x3b, 0x00, 0x00, //0x00001c29 jne LBB0_978 + 0x0f, 0xcf, //0x00001c2f bswapl %edi + 0x89, 0xf8, //0x00001c31 movl %edi, %eax + 0xc1, 0xe8, 0x04, //0x00001c33 shrl $4, %eax + 0xf7, 0xd0, //0x00001c36 notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x00001c38 andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00001c3d leal (%rax,%rax,8), %eax + 0x81, 0xe7, 0x0f, 0x0f, 0x0f, 0x0f, //0x00001c40 andl $252645135, %edi + 0x01, 0xc7, //0x00001c46 addl %eax, %edi + 0x89, 0xf8, //0x00001c48 movl %edi, %eax + 0xc1, 0xe8, 0x04, //0x00001c4a shrl $4, %eax + 0x09, 0xf8, //0x00001c4d orl %edi, %eax + 0x89, 0xc1, //0x00001c4f movl %eax, %ecx + 0x81, 0xe1, 0x00, 0x00, 0xfc, 0x00, //0x00001c51 andl $16515072, %ecx + 0x81, 0xf9, 0x00, 0x00, 0xdc, 0x00, //0x00001c57 cmpl $14417920, %ecx + 0x0f, 0x85, 0xc0, 0x3a, 0x00, 0x00, //0x00001c5d jne LBB0_977 + 0x89, 0xc1, //0x00001c63 movl %eax, %ecx + 0xc1, 0xe9, 0x08, //0x00001c65 shrl $8, %ecx + 0x81, 0xe1, 0x00, 0xff, 0x00, 0x00, //0x00001c68 andl $65280, %ecx + 0x0f, 0xb6, 0xc0, //0x00001c6e movzbl %al, %eax + 0x09, 0xc8, //0x00001c71 orl %ecx, %eax + 0xc1, 0xe2, 0x0a, //0x00001c73 shll $10, %edx + 0x8d, 0x84, 0x02, 0x00, 0x24, 0xa0, 0xfc, //0x00001c76 leal $-56613888(%rdx,%rax), %eax + 0x89, 0xc3, //0x00001c7d movl %eax, %ebx + 0xc1, 0xeb, 0x12, //0x00001c7f shrl $18, %ebx + 0x80, 0xcb, 0xf0, //0x00001c82 orb $-16, %bl + 0x88, 0x9d, 0x40, 0xff, 0xff, 0xff, //0x00001c85 movb %bl, $-192(%rbp) + 0x89, 0xc1, //0x00001c8b movl %eax, %ecx + 0xc1, 0xe9, 0x0c, //0x00001c8d shrl $12, %ecx + 0x80, 0xe1, 0x3f, //0x00001c90 andb $63, %cl + 0x80, 0xc9, 0x80, //0x00001c93 orb $-128, %cl + 0x88, 0x8d, 0x41, 0xff, 0xff, 0xff, //0x00001c96 movb %cl, $-191(%rbp) + 0x89, 0xc1, //0x00001c9c movl %eax, %ecx + 0xc1, 0xe9, 0x06, //0x00001c9e shrl $6, %ecx + 0x80, 0xe1, 0x3f, //0x00001ca1 andb $63, %cl + 0x80, 0xc9, 0x80, //0x00001ca4 orb $-128, %cl + 0x88, 0x8d, 0x42, 0xff, 0xff, 0xff, //0x00001ca7 movb %cl, $-190(%rbp) + 0x24, 0x3f, //0x00001cad andb $63, %al + 0x0c, 0x80, //0x00001caf orb $-128, %al + 0x88, 0x85, 0x43, 0xff, 0xff, 0xff, //0x00001cb1 movb %al, $-189(%rbp) + 0x49, 0x83, 0xc4, 0x0c, //0x00001cb7 addq $12, %r12 + 0xbf, 0x04, 0x00, 0x00, 0x00, //0x00001cbb movl $4, %edi + 0x4c, 0x8b, 0x5d, 0xd0, //0x00001cc0 movq $-48(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xc0, //0x00001cc4 movq $-64(%rbp), %r13 + 0xe9, 0xdb, 0xfd, 0xff, 0xff, //0x00001cc8 jmp LBB0_126 + //0x00001ccd LBB0_260 + 0x4d, 0x85, 0xd2, //0x00001ccd testq %r10, %r10 + 0x0f, 0x85, 0x6d, 0x02, 0x00, 0x00, //0x00001cd0 jne LBB0_341 + 0x4a, 0x8d, 0x4c, 0x08, 0x01, //0x00001cd6 leaq $1(%rax,%r9), %rcx + 0x48, 0xf7, 0xd0, //0x00001cdb notq %rax + 0x4c, 0x01, 0xc0, //0x00001cde addq %r8, %rax + //0x00001ce1 LBB0_262 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001ce1 movabsq $4294977024, %r10 + //0x00001ceb LBB0_263 + 0x48, 0x85, 0xc0, //0x00001ceb testq %rax, %rax + 0x4c, 0x8b, 0x45, 0xb0, //0x00001cee movq $-80(%rbp), %r8 + 0x4d, 0x89, 0xf9, //0x00001cf2 movq %r15, %r9 + 0x0f, 0x8f, 0x1d, 0x00, 0x00, 0x00, //0x00001cf5 jg LBB0_320 + 0xe9, 0x40, 0xf0, 0xff, 0xff, //0x00001cfb jmp LBB0_224 + //0x00001d00 LBB0_319 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00001d00 movq $-2, %rdx + 0xbe, 0x02, 0x00, 0x00, 0x00, //0x00001d07 movl $2, %esi + 0x48, 0x01, 0xf1, //0x00001d0c addq %rsi, %rcx + 0x48, 0x01, 0xd0, //0x00001d0f addq %rdx, %rax + 0x0f, 0x8e, 0x28, 0xf0, 0xff, 0xff, //0x00001d12 jle LBB0_224 + //0x00001d18 LBB0_320 + 0x0f, 0xb6, 0x11, //0x00001d18 movzbl (%rcx), %edx + 0x80, 0xfa, 0x5c, //0x00001d1b cmpb $92, %dl + 0x0f, 0x84, 0xdc, 0xff, 0xff, 0xff, //0x00001d1e je LBB0_319 + 0x80, 0xfa, 0x22, //0x00001d24 cmpb $34, %dl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x00001d27 je LBB0_323 + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00001d2d movq $-1, %rdx + 0xbe, 0x01, 0x00, 0x00, 0x00, //0x00001d34 movl $1, %esi + 0x48, 0x01, 0xf1, //0x00001d39 addq %rsi, %rcx + 0x48, 0x01, 0xd0, //0x00001d3c addq %rdx, %rax + 0x0f, 0x8f, 0xd3, 0xff, 0xff, 0xff, //0x00001d3f jg LBB0_320 + 0xe9, 0xf6, 0xef, 0xff, 0xff, //0x00001d45 jmp LBB0_224 + //0x00001d4a LBB0_323 + 0x48, 0x29, 0xf9, //0x00001d4a subq %rdi, %rcx + 0x48, 0xff, 0xc1, //0x00001d4d incq %rcx + 0xe9, 0x81, 0xf2, 0xff, 0xff, //0x00001d50 jmp LBB0_265 + //0x00001d55 LBB0_153 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00001d55 movq $-48(%rbp), %r11 + //0x00001d59 LBB0_154 + 0x48, 0x31, 0xda, //0x00001d59 xorq %rbx, %rdx + 0x4d, 0x31, 0xd7, //0x00001d5c xorq %r10, %r15 + 0x31, 0xc9, //0x00001d5f xorl %ecx, %ecx + 0x49, 0x09, 0xd7, //0x00001d61 orq %rdx, %r15 + 0x0f, 0x94, 0xc1, //0x00001d64 sete %cl + //0x00001d67 LBB0_155 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001d67 movabsq $4294977024, %r10 + 0x4c, 0x8b, 0x4d, 0xa0, //0x00001d71 movq $-96(%rbp), %r9 + 0x49, 0x8b, 0x10, //0x00001d75 movq (%r8), %rdx + 0x4c, 0x89, 0xf6, //0x00001d78 movq %r14, %rsi + 0x48, 0x29, 0xd6, //0x00001d7b subq %rdx, %rsi + 0x0f, 0x82, 0xab, 0xeb, 0xff, 0xff, //0x00001d7e jb LBB0_101 + 0xe9, 0xf7, 0xeb, 0xff, 0xff, //0x00001d84 jmp LBB0_156 + //0x00001d89 LBB0_324 + 0x31, 0xc9, //0x00001d89 xorl %ecx, %ecx + 0xe9, 0xd7, 0xff, 0xff, 0xff, //0x00001d8b jmp LBB0_155 + //0x00001d90 LBB0_325 + 0x4a, 0x8d, 0x0c, 0x37, //0x00001d90 leaq (%rdi,%r14), %rcx + 0xe9, 0x48, 0xff, 0xff, 0xff, //0x00001d94 jmp LBB0_262 + //0x00001d99 LBB0_326 + 0x4c, 0x89, 0xf2, //0x00001d99 movq %r14, %rdx + 0x48, 0x2b, 0x55, 0xc8, //0x00001d9c subq $-56(%rbp), %rdx + 0x4c, 0x0f, 0xbc, 0xdf, //0x00001da0 bsfq %rdi, %r11 + 0x49, 0x01, 0xd3, //0x00001da4 addq %rdx, %r11 + 0x4c, 0x09, 0xc6, //0x00001da7 orq %r8, %rsi + 0x48, 0x89, 0xfa, //0x00001daa movq %rdi, %rdx + 0x48, 0x09, 0xda, //0x00001dad orq %rbx, %rdx + 0x0f, 0x84, 0x0f, 0xfb, 0xff, 0xff, //0x00001db0 je LBB0_72 + //0x00001db6 LBB0_327 + 0x4d, 0x89, 0xf7, //0x00001db6 movq %r14, %r15 + 0x4d, 0x89, 0xce, //0x00001db9 movq %r9, %r14 + 0x41, 0x89, 0xd9, //0x00001dbc movl %ebx, %r9d + 0x41, 0xf7, 0xd1, //0x00001dbf notl %r9d + 0x41, 0x21, 0xf9, //0x00001dc2 andl %edi, %r9d + 0x47, 0x8d, 0x04, 0x09, //0x00001dc5 leal (%r9,%r9), %r8d + 0x41, 0x09, 0xd8, //0x00001dc9 orl %ebx, %r8d + 0x44, 0x89, 0xc2, //0x00001dcc movl %r8d, %edx + 0xf7, 0xd2, //0x00001dcf notl %edx + 0x21, 0xfa, //0x00001dd1 andl %edi, %edx + 0x81, 0xe2, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001dd3 andl $-1431655766, %edx + 0x31, 0xdb, //0x00001dd9 xorl %ebx, %ebx + 0x44, 0x01, 0xca, //0x00001ddb addl %r9d, %edx + 0x4d, 0x89, 0xf1, //0x00001dde movq %r14, %r9 + 0x4d, 0x89, 0xfe, //0x00001de1 movq %r15, %r14 + 0x0f, 0x92, 0xc3, //0x00001de4 setb %bl + 0x01, 0xd2, //0x00001de7 addl %edx, %edx + 0x81, 0xf2, 0x55, 0x55, 0x55, 0x55, //0x00001de9 xorl $1431655765, %edx + 0x44, 0x21, 0xc2, //0x00001def andl %r8d, %edx + 0xf7, 0xd2, //0x00001df2 notl %edx + 0x21, 0xd6, //0x00001df4 andl %edx, %esi + 0x4c, 0x8b, 0x45, 0xb0, //0x00001df6 movq $-80(%rbp), %r8 + 0x48, 0x8b, 0x7d, 0xc8, //0x00001dfa movq $-56(%rbp), %rdi + 0x48, 0x85, 0xf6, //0x00001dfe testq %rsi, %rsi + 0x0f, 0x85, 0xcf, 0xfa, 0xff, 0xff, //0x00001e01 jne LBB0_73 + //0x00001e07 LBB0_328 + 0x49, 0x83, 0xc6, 0x20, //0x00001e07 addq $32, %r14 + 0x48, 0x83, 0xc1, 0xe0, //0x00001e0b addq $-32, %rcx + //0x00001e0f LBB0_329 + 0x48, 0x85, 0xdb, //0x00001e0f testq %rbx, %rbx + 0x4c, 0x8b, 0x7d, 0x90, //0x00001e12 movq $-112(%rbp), %r15 + 0x0f, 0x85, 0xaf, 0x00, 0x00, 0x00, //0x00001e16 jne LBB0_338 + 0x4d, 0x89, 0xd8, //0x00001e1c movq %r11, %r8 + 0x48, 0x85, 0xc9, //0x00001e1f testq %rcx, %rcx + 0x0f, 0x84, 0xcc, 0x36, 0x00, 0x00, //0x00001e22 je LBB0_951 + //0x00001e28 LBB0_331 + 0x48, 0xf7, 0xd7, //0x00001e28 notq %rdi + //0x00001e2b LBB0_332 + 0x4c, 0x89, 0xf6, //0x00001e2b movq %r14, %rsi + 0x49, 0xff, 0xc6, //0x00001e2e incq %r14 + 0x0f, 0xb6, 0x1e, //0x00001e31 movzbl (%rsi), %ebx + 0x80, 0xfb, 0x22, //0x00001e34 cmpb $34, %bl + 0x0f, 0x84, 0x71, 0x00, 0x00, 0x00, //0x00001e37 je LBB0_337 + 0x48, 0x89, 0xf2, //0x00001e3d movq %rsi, %rdx + 0x48, 0x8d, 0x71, 0xff, //0x00001e40 leaq $-1(%rcx), %rsi + 0x80, 0xfb, 0x5c, //0x00001e44 cmpb $92, %bl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00001e47 je LBB0_335 + 0x48, 0x89, 0xf1, //0x00001e4d movq %rsi, %rcx + 0x48, 0x85, 0xf6, //0x00001e50 testq %rsi, %rsi + 0x4c, 0x8b, 0x7d, 0x90, //0x00001e53 movq $-112(%rbp), %r15 + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x00001e57 jne LBB0_332 + 0xe9, 0x92, 0x36, 0x00, 0x00, //0x00001e5d jmp LBB0_951 + //0x00001e62 LBB0_335 + 0x48, 0x85, 0xf6, //0x00001e62 testq %rsi, %rsi + 0x0f, 0x84, 0x89, 0x36, 0x00, 0x00, //0x00001e65 je LBB0_951 + 0x4d, 0x89, 0xcd, //0x00001e6b movq %r9, %r13 + 0x49, 0x01, 0xfe, //0x00001e6e addq %rdi, %r14 + 0x49, 0x83, 0xf8, 0xff, //0x00001e71 cmpq $-1, %r8 + 0x4d, 0x0f, 0x44, 0xde, //0x00001e75 cmoveq %r14, %r11 + 0x4d, 0x0f, 0x44, 0xc6, //0x00001e79 cmoveq %r14, %r8 + 0x49, 0x89, 0xd6, //0x00001e7d movq %rdx, %r14 + 0x49, 0x83, 0xc6, 0x02, //0x00001e80 addq $2, %r14 + 0x48, 0x83, 0xc1, 0xfe, //0x00001e84 addq $-2, %rcx + 0x48, 0x89, 0xce, //0x00001e88 movq %rcx, %rsi + 0x48, 0x8b, 0x55, 0xc0, //0x00001e8b movq $-64(%rbp), %rdx + 0x49, 0x89, 0xd5, //0x00001e8f movq %rdx, %r13 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001e92 movabsq $4294977024, %r10 + 0x48, 0x85, 0xf6, //0x00001e9c testq %rsi, %rsi + 0x4c, 0x8b, 0x7d, 0x90, //0x00001e9f movq $-112(%rbp), %r15 + 0x0f, 0x85, 0x82, 0xff, 0xff, 0xff, //0x00001ea3 jne LBB0_332 + 0xe9, 0x46, 0x36, 0x00, 0x00, //0x00001ea9 jmp LBB0_951 + //0x00001eae LBB0_337 + 0x48, 0x8b, 0x7d, 0xc8, //0x00001eae movq $-56(%rbp), %rdi + 0x49, 0x29, 0xfe, //0x00001eb2 subq %rdi, %r14 + 0x4c, 0x8b, 0x45, 0xb0, //0x00001eb5 movq $-80(%rbp), %r8 + 0x4d, 0x85, 0xf6, //0x00001eb9 testq %r14, %r14 + 0x48, 0x8b, 0x5d, 0xb8, //0x00001ebc movq $-72(%rbp), %rbx + 0x0f, 0x89, 0xb1, 0xe8, 0xff, 0xff, //0x00001ec0 jns LBB0_79 + 0xe9, 0x29, 0x36, 0x00, 0x00, //0x00001ec6 jmp LBB0_951 + //0x00001ecb LBB0_338 + 0x48, 0x85, 0xc9, //0x00001ecb testq %rcx, %rcx + 0x0f, 0x84, 0x20, 0x36, 0x00, 0x00, //0x00001ece je LBB0_951 + 0x4d, 0x89, 0xcd, //0x00001ed4 movq %r9, %r13 + 0x48, 0x8b, 0x7d, 0xc8, //0x00001ed7 movq $-56(%rbp), %rdi + 0x49, 0x89, 0xf8, //0x00001edb movq %rdi, %r8 + 0x49, 0xf7, 0xd0, //0x00001ede notq %r8 + 0x4d, 0x01, 0xf0, //0x00001ee1 addq %r14, %r8 + 0x49, 0x83, 0xfb, 0xff, //0x00001ee4 cmpq $-1, %r11 + 0x4c, 0x89, 0xda, //0x00001ee8 movq %r11, %rdx + 0x49, 0x0f, 0x44, 0xd0, //0x00001eeb cmoveq %r8, %rdx + 0x4d, 0x0f, 0x45, 0xc3, //0x00001eef cmovneq %r11, %r8 + 0x49, 0xff, 0xc6, //0x00001ef3 incq %r14 + 0x48, 0xff, 0xc9, //0x00001ef6 decq %rcx + 0x49, 0x89, 0xd3, //0x00001ef9 movq %rdx, %r11 + 0x48, 0x8b, 0x55, 0xc0, //0x00001efc movq $-64(%rbp), %rdx + 0x49, 0x89, 0xd5, //0x00001f00 movq %rdx, %r13 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001f03 movabsq $4294977024, %r10 + 0x4c, 0x8b, 0x7d, 0x90, //0x00001f0d movq $-112(%rbp), %r15 + 0x48, 0x85, 0xc9, //0x00001f11 testq %rcx, %rcx + 0x0f, 0x85, 0x0e, 0xff, 0xff, 0xff, //0x00001f14 jne LBB0_331 + 0xe9, 0xd5, 0x35, 0x00, 0x00, //0x00001f1a jmp LBB0_951 + //0x00001f1f LBB0_340 + 0x4c, 0x8b, 0x45, 0xb0, //0x00001f1f movq $-80(%rbp), %r8 + 0x4d, 0x8b, 0x30, //0x00001f23 movq (%r8), %r14 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00001f26 movq $-48(%rbp), %r11 + 0x4d, 0x89, 0x33, //0x00001f2a movq %r14, (%r11) + 0x4c, 0x8b, 0x6d, 0xc0, //0x00001f2d movq $-64(%rbp), %r13 + 0x49, 0x89, 0xd1, //0x00001f31 movq %rdx, %r9 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001f34 movabsq $4294977024, %r10 + 0xe9, 0xfd, 0xed, 0xff, 0xff, //0x00001f3e jmp LBB0_224 + //0x00001f43 LBB0_341 + 0x4d, 0x89, 0xfd, //0x00001f43 movq %r15, %r13 + 0x49, 0x8d, 0x48, 0xff, //0x00001f46 leaq $-1(%r8), %rcx + 0x48, 0x39, 0xc1, //0x00001f4a cmpq %rax, %rcx + 0x0f, 0x85, 0x21, 0x00, 0x00, 0x00, //0x00001f4d jne LBB0_343 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00001f53 movq $-48(%rbp), %r11 + 0x48, 0x8b, 0x45, 0xc0, //0x00001f57 movq $-64(%rbp), %rax + 0x4d, 0x89, 0xe9, //0x00001f5b movq %r13, %r9 + 0x49, 0x89, 0xc5, //0x00001f5e movq %rax, %r13 + 0x4c, 0x8b, 0x45, 0xb0, //0x00001f61 movq $-80(%rbp), %r8 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001f65 movabsq $4294977024, %r10 + 0xe9, 0xcc, 0xed, 0xff, 0xff, //0x00001f6f jmp LBB0_224 + //0x00001f74 LBB0_343 + 0x4a, 0x8d, 0x4c, 0x08, 0x02, //0x00001f74 leaq $2(%rax,%r9), %rcx + 0x49, 0x29, 0xc0, //0x00001f79 subq %rax, %r8 + 0x49, 0x83, 0xc0, 0xfe, //0x00001f7c addq $-2, %r8 + 0x4c, 0x89, 0xc0, //0x00001f80 movq %r8, %rax + 0x4c, 0x8b, 0x5d, 0xd0, //0x00001f83 movq $-48(%rbp), %r11 + 0x48, 0x8b, 0x55, 0xc0, //0x00001f87 movq $-64(%rbp), %rdx + 0x4d, 0x89, 0xef, //0x00001f8b movq %r13, %r15 + 0x49, 0x89, 0xd5, //0x00001f8e movq %rdx, %r13 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00001f91 movabsq $4294977024, %r10 + 0x48, 0x8b, 0x7d, 0xc8, //0x00001f9b movq $-56(%rbp), %rdi + 0xe9, 0x47, 0xfd, 0xff, 0xff, //0x00001f9f jmp LBB0_263 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001fa4 .p2align 4, 0x90 + //0x00001fb0 LBB0_351 + 0x49, 0x8d, 0x56, 0x01, //0x00001fb0 leaq $1(%r14), %rdx + 0x48, 0x39, 0xc2, //0x00001fb4 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00001fb7 jae LBB0_355 + 0x8a, 0x1c, 0x17, //0x00001fbd movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00001fc0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00001fc3 je LBB0_355 + 0x80, 0xfb, 0x20, //0x00001fc9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00001fcc je LBB0_355 + 0x80, 0xc3, 0xf7, //0x00001fd2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00001fd5 cmpb $1, %bl + 0x0f, 0x87, 0x03, 0x01, 0x00, 0x00, //0x00001fd8 ja LBB0_373 + 0x90, 0x90, //0x00001fde .p2align 4, 0x90 + //0x00001fe0 LBB0_355 + 0x49, 0x8d, 0x56, 0x02, //0x00001fe0 leaq $2(%r14), %rdx + 0x48, 0x39, 0xc2, //0x00001fe4 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00001fe7 jae LBB0_359 + 0x8a, 0x1c, 0x17, //0x00001fed movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00001ff0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00001ff3 je LBB0_359 + 0x80, 0xfb, 0x20, //0x00001ff9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x00001ffc je LBB0_359 + 0x80, 0xc3, 0xf7, //0x00002002 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00002005 cmpb $1, %bl + 0x0f, 0x87, 0xd3, 0x00, 0x00, 0x00, //0x00002008 ja LBB0_373 + 0x90, 0x90, //0x0000200e .p2align 4, 0x90 + //0x00002010 LBB0_359 + 0x49, 0x8d, 0x56, 0x03, //0x00002010 leaq $3(%r14), %rdx + 0x48, 0x39, 0xc2, //0x00002014 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002017 jae LBB0_363 + 0x8a, 0x1c, 0x17, //0x0000201d movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00002020 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00002023 je LBB0_363 + 0x80, 0xfb, 0x20, //0x00002029 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000202c je LBB0_363 + 0x80, 0xc3, 0xf7, //0x00002032 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00002035 cmpb $1, %bl + 0x0f, 0x87, 0xa3, 0x00, 0x00, 0x00, //0x00002038 ja LBB0_373 + 0x90, 0x90, //0x0000203e .p2align 4, 0x90 + //0x00002040 LBB0_363 + 0x49, 0x8d, 0x76, 0x04, //0x00002040 leaq $4(%r14), %rsi + 0x48, 0x39, 0xf0, //0x00002044 cmpq %rsi, %rax + 0x0f, 0x86, 0x5d, 0x00, 0x00, 0x00, //0x00002047 jbe LBB0_370 + 0x48, 0x39, 0xf0, //0x0000204d cmpq %rsi, %rax + 0x0f, 0x84, 0x5f, 0x00, 0x00, 0x00, //0x00002050 je LBB0_371 + 0x48, 0x8d, 0x34, 0x07, //0x00002056 leaq (%rdi,%rax), %rsi + 0x48, 0x83, 0xc1, 0x04, //0x0000205a addq $4, %rcx + 0x48, 0x89, 0xfb, //0x0000205e movq %rdi, %rbx + 0x4a, 0x8d, 0x54, 0x37, 0x05, //0x00002061 leaq $5(%rdi,%r14), %rdx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002066 .p2align 4, 0x90 + //0x00002070 LBB0_366 + 0x0f, 0xbe, 0x7a, 0xff, //0x00002070 movsbl $-1(%rdx), %edi + 0x83, 0xff, 0x20, //0x00002074 cmpl $32, %edi + 0x0f, 0x87, 0x4f, 0x00, 0x00, 0x00, //0x00002077 ja LBB0_372 + 0x49, 0x0f, 0xa3, 0xfa, //0x0000207d btq %rdi, %r10 + 0x0f, 0x83, 0x45, 0x00, 0x00, 0x00, //0x00002081 jae LBB0_372 + 0x48, 0xff, 0xc2, //0x00002087 incq %rdx + 0x48, 0xff, 0xc1, //0x0000208a incq %rcx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x0000208d jne LBB0_366 + 0x48, 0x89, 0xdf, //0x00002093 movq %rbx, %rdi + 0x48, 0x29, 0xfe, //0x00002096 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x00002099 movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x0000209c cmpq %rax, %rdx + 0x0f, 0x82, 0x3c, 0x00, 0x00, 0x00, //0x0000209f jb LBB0_373 + 0xe9, 0x48, 0x00, 0x00, 0x00, //0x000020a5 jmp LBB0_374 + //0x000020aa LBB0_370 + 0x49, 0x89, 0x33, //0x000020aa movq %rsi, (%r11) + 0x49, 0x89, 0xf6, //0x000020ad movq %rsi, %r14 + 0xe9, 0x3d, 0x00, 0x00, 0x00, //0x000020b0 jmp LBB0_374 + //0x000020b5 LBB0_371 + 0x48, 0x01, 0xfe, //0x000020b5 addq %rdi, %rsi + 0x48, 0x29, 0xfe, //0x000020b8 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x000020bb movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x000020be cmpq %rax, %rdx + 0x0f, 0x82, 0x1a, 0x00, 0x00, 0x00, //0x000020c1 jb LBB0_373 + 0xe9, 0x26, 0x00, 0x00, 0x00, //0x000020c7 jmp LBB0_374 + //0x000020cc LBB0_372 + 0x48, 0x89, 0xdf, //0x000020cc movq %rbx, %rdi + 0x48, 0x89, 0xd9, //0x000020cf movq %rbx, %rcx + 0x48, 0xf7, 0xd1, //0x000020d2 notq %rcx + 0x48, 0x01, 0xca, //0x000020d5 addq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x000020d8 cmpq %rax, %rdx + 0x0f, 0x83, 0x11, 0x00, 0x00, 0x00, //0x000020db jae LBB0_374 + //0x000020e1 LBB0_373 + 0x4c, 0x8d, 0x72, 0x01, //0x000020e1 leaq $1(%rdx), %r14 + 0x4d, 0x89, 0x33, //0x000020e5 movq %r14, (%r11) + 0x80, 0x3c, 0x17, 0x5d, //0x000020e8 cmpb $93, (%rdi,%rdx) + 0x0f, 0x84, 0x38, 0x11, 0x00, 0x00, //0x000020ec je LBB0_554 + //0x000020f2 LBB0_374 + 0x49, 0xff, 0xce, //0x000020f2 decq %r14 + 0x4d, 0x89, 0x33, //0x000020f5 movq %r14, (%r11) + 0x4d, 0x85, 0xe4, //0x000020f8 testq %r12, %r12 + 0x0f, 0x8e, 0x1f, 0x0f, 0x00, 0x00, //0x000020fb jle LBB0_447 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002101 .p2align 4, 0x90 + //0x00002110 LBB0_375 + 0x49, 0x8b, 0x00, //0x00002110 movq (%r8), %rax + 0x4c, 0x89, 0xf2, //0x00002113 movq %r14, %rdx + 0x48, 0x29, 0xc2, //0x00002116 subq %rax, %rdx + 0x0f, 0x83, 0x31, 0x00, 0x00, 0x00, //0x00002119 jae LBB0_380 + 0x42, 0x8a, 0x0c, 0x37, //0x0000211f movb (%rdi,%r14), %cl + 0x80, 0xf9, 0x0d, //0x00002123 cmpb $13, %cl + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x00002126 je LBB0_380 + 0x80, 0xf9, 0x20, //0x0000212c cmpb $32, %cl + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x0000212f je LBB0_380 + 0x80, 0xc1, 0xf7, //0x00002135 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00002138 cmpb $1, %cl + 0x0f, 0x86, 0x0f, 0x00, 0x00, 0x00, //0x0000213b jbe LBB0_380 + 0x4c, 0x89, 0xf1, //0x00002141 movq %r14, %rcx + 0xe9, 0x47, 0x01, 0x00, 0x00, //0x00002144 jmp LBB0_402 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002149 .p2align 4, 0x90 + //0x00002150 LBB0_380 + 0x49, 0x8d, 0x4e, 0x01, //0x00002150 leaq $1(%r14), %rcx + 0x48, 0x39, 0xc1, //0x00002154 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002157 jae LBB0_384 + 0x8a, 0x1c, 0x0f, //0x0000215d movb (%rdi,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00002160 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00002163 je LBB0_384 + 0x80, 0xfb, 0x20, //0x00002169 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000216c je LBB0_384 + 0x80, 0xc3, 0xf7, //0x00002172 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00002175 cmpb $1, %bl + 0x0f, 0x87, 0x12, 0x01, 0x00, 0x00, //0x00002178 ja LBB0_402 + 0x90, 0x90, //0x0000217e .p2align 4, 0x90 + //0x00002180 LBB0_384 + 0x49, 0x8d, 0x4e, 0x02, //0x00002180 leaq $2(%r14), %rcx + 0x48, 0x39, 0xc1, //0x00002184 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002187 jae LBB0_388 + 0x8a, 0x1c, 0x0f, //0x0000218d movb (%rdi,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x00002190 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00002193 je LBB0_388 + 0x80, 0xfb, 0x20, //0x00002199 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000219c je LBB0_388 + 0x80, 0xc3, 0xf7, //0x000021a2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000021a5 cmpb $1, %bl + 0x0f, 0x87, 0xe2, 0x00, 0x00, 0x00, //0x000021a8 ja LBB0_402 + 0x90, 0x90, //0x000021ae .p2align 4, 0x90 + //0x000021b0 LBB0_388 + 0x49, 0x8d, 0x4e, 0x03, //0x000021b0 leaq $3(%r14), %rcx + 0x48, 0x39, 0xc1, //0x000021b4 cmpq %rax, %rcx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000021b7 jae LBB0_392 + 0x8a, 0x1c, 0x0f, //0x000021bd movb (%rdi,%rcx), %bl + 0x80, 0xfb, 0x0d, //0x000021c0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000021c3 je LBB0_392 + 0x80, 0xfb, 0x20, //0x000021c9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000021cc je LBB0_392 + 0x80, 0xc3, 0xf7, //0x000021d2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000021d5 cmpb $1, %bl + 0x0f, 0x87, 0xb2, 0x00, 0x00, 0x00, //0x000021d8 ja LBB0_402 + 0x90, 0x90, //0x000021de .p2align 4, 0x90 + //0x000021e0 LBB0_392 + 0x49, 0x8d, 0x76, 0x04, //0x000021e0 leaq $4(%r14), %rsi + 0x48, 0x39, 0xf0, //0x000021e4 cmpq %rsi, %rax + 0x0f, 0x86, 0x63, 0x00, 0x00, 0x00, //0x000021e7 jbe LBB0_399 + 0x48, 0x39, 0xf0, //0x000021ed cmpq %rsi, %rax + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x000021f0 je LBB0_400 + 0x48, 0x8d, 0x34, 0x07, //0x000021f6 leaq (%rdi,%rax), %rsi + 0x48, 0x83, 0xc2, 0x04, //0x000021fa addq $4, %rdx + 0x48, 0x89, 0xfb, //0x000021fe movq %rdi, %rbx + 0x4a, 0x8d, 0x4c, 0x37, 0x05, //0x00002201 leaq $5(%rdi,%r14), %rcx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002206 .p2align 4, 0x90 + //0x00002210 LBB0_395 + 0x0f, 0xbe, 0x79, 0xff, //0x00002210 movsbl $-1(%rcx), %edi + 0x83, 0xff, 0x20, //0x00002214 cmpl $32, %edi + 0x0f, 0x87, 0x55, 0x00, 0x00, 0x00, //0x00002217 ja LBB0_401 + 0x49, 0x0f, 0xa3, 0xfa, //0x0000221d btq %rdi, %r10 + 0x0f, 0x83, 0x4b, 0x00, 0x00, 0x00, //0x00002221 jae LBB0_401 + 0x48, 0xff, 0xc1, //0x00002227 incq %rcx + 0x48, 0xff, 0xc2, //0x0000222a incq %rdx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x0000222d jne LBB0_395 + 0x48, 0x89, 0xdf, //0x00002233 movq %rbx, %rdi + 0x48, 0x29, 0xfe, //0x00002236 subq %rdi, %rsi + 0x48, 0x89, 0xf1, //0x00002239 movq %rsi, %rcx + 0x48, 0x39, 0xc1, //0x0000223c cmpq %rax, %rcx + 0x0f, 0x82, 0x4b, 0x00, 0x00, 0x00, //0x0000223f jb LBB0_402 + 0xe9, 0x46, 0x01, 0x00, 0x00, //0x00002245 jmp LBB0_419 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000224a .p2align 4, 0x90 + //0x00002250 LBB0_399 + 0x49, 0x89, 0x33, //0x00002250 movq %rsi, (%r11) + 0x49, 0x89, 0xf6, //0x00002253 movq %rsi, %r14 + 0xe9, 0x35, 0x01, 0x00, 0x00, //0x00002256 jmp LBB0_419 + //0x0000225b LBB0_400 + 0x48, 0x01, 0xfe, //0x0000225b addq %rdi, %rsi + 0x48, 0x29, 0xfe, //0x0000225e subq %rdi, %rsi + 0x48, 0x89, 0xf1, //0x00002261 movq %rsi, %rcx + 0x48, 0x39, 0xc1, //0x00002264 cmpq %rax, %rcx + 0x0f, 0x82, 0x23, 0x00, 0x00, 0x00, //0x00002267 jb LBB0_402 + 0xe9, 0x1e, 0x01, 0x00, 0x00, //0x0000226d jmp LBB0_419 + //0x00002272 LBB0_401 + 0x48, 0x89, 0xdf, //0x00002272 movq %rbx, %rdi + 0x48, 0x89, 0xda, //0x00002275 movq %rbx, %rdx + 0x48, 0xf7, 0xd2, //0x00002278 notq %rdx + 0x48, 0x01, 0xd1, //0x0000227b addq %rdx, %rcx + 0x48, 0x39, 0xc1, //0x0000227e cmpq %rax, %rcx + 0x0f, 0x83, 0x09, 0x01, 0x00, 0x00, //0x00002281 jae LBB0_419 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002287 .p2align 4, 0x90 + //0x00002290 LBB0_402 + 0x4c, 0x8d, 0x71, 0x01, //0x00002290 leaq $1(%rcx), %r14 + 0x4d, 0x89, 0x33, //0x00002294 movq %r14, (%r11) + 0x0f, 0xbe, 0x04, 0x0f, //0x00002297 movsbl (%rdi,%rcx), %eax + 0x83, 0xf8, 0x7b, //0x0000229b cmpl $123, %eax + 0x0f, 0x87, 0xc8, 0x03, 0x00, 0x00, //0x0000229e ja LBB0_462 + 0x48, 0x8d, 0x15, 0xcd, 0x34, 0x00, 0x00, //0x000022a4 leaq $13517(%rip), %rdx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x000022ab movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x000022af addq %rdx, %rax + 0xff, 0xe0, //0x000022b2 jmpq *%rax + //0x000022b4 LBB0_404 + 0x49, 0x8b, 0x10, //0x000022b4 movq (%r8), %rdx + 0x48, 0x89, 0xd0, //0x000022b7 movq %rdx, %rax + 0x4c, 0x29, 0xf0, //0x000022ba subq %r14, %rax + 0x49, 0x01, 0xfe, //0x000022bd addq %rdi, %r14 + 0x48, 0x83, 0xf8, 0x10, //0x000022c0 cmpq $16, %rax + 0x0f, 0x82, 0x66, 0x00, 0x00, 0x00, //0x000022c4 jb LBB0_409 + 0x48, 0x29, 0xca, //0x000022ca subq %rcx, %rdx + 0x48, 0x83, 0xc2, 0xef, //0x000022cd addq $-17, %rdx + 0x48, 0x89, 0xd6, //0x000022d1 movq %rdx, %rsi + 0x48, 0x83, 0xe6, 0xf0, //0x000022d4 andq $-16, %rsi + 0x48, 0x01, 0xce, //0x000022d8 addq %rcx, %rsi + 0x48, 0x8d, 0x4c, 0x37, 0x11, //0x000022db leaq $17(%rdi,%rsi), %rcx + 0x83, 0xe2, 0x0f, //0x000022e0 andl $15, %edx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000022e3 .p2align 4, 0x90 + //0x000022f0 LBB0_406 + 0xf3, 0x41, 0x0f, 0x6f, 0x16, //0x000022f0 movdqu (%r14), %xmm2 + 0x66, 0x0f, 0x6f, 0xda, //0x000022f5 movdqa %xmm2, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xdd, //0x000022f9 pcmpeqb %xmm13, %xmm3 + 0x66, 0x41, 0x0f, 0xeb, 0xd6, //0x000022fe por %xmm14, %xmm2 + 0x66, 0x0f, 0x74, 0xd4, //0x00002303 pcmpeqb %xmm4, %xmm2 + 0x66, 0x0f, 0xeb, 0xd3, //0x00002307 por %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xf2, //0x0000230b pmovmskb %xmm2, %esi + 0x66, 0x85, 0xf6, //0x0000230f testw %si, %si + 0x0f, 0x85, 0x68, 0x00, 0x00, 0x00, //0x00002312 jne LBB0_417 + 0x49, 0x83, 0xc6, 0x10, //0x00002318 addq $16, %r14 + 0x48, 0x83, 0xc0, 0xf0, //0x0000231c addq $-16, %rax + 0x48, 0x83, 0xf8, 0x0f, //0x00002320 cmpq $15, %rax + 0x0f, 0x87, 0xc6, 0xff, 0xff, 0xff, //0x00002324 ja LBB0_406 + 0x48, 0x89, 0xd0, //0x0000232a movq %rdx, %rax + 0x49, 0x89, 0xce, //0x0000232d movq %rcx, %r14 + //0x00002330 LBB0_409 + 0x48, 0x85, 0xc0, //0x00002330 testq %rax, %rax + 0x0f, 0x84, 0x35, 0x00, 0x00, 0x00, //0x00002333 je LBB0_416 + 0x49, 0x8d, 0x0c, 0x06, //0x00002339 leaq (%r14,%rax), %rcx + 0x90, 0x90, 0x90, //0x0000233d .p2align 4, 0x90 + //0x00002340 LBB0_411 + 0x41, 0x0f, 0xb6, 0x16, //0x00002340 movzbl (%r14), %edx + 0x80, 0xfa, 0x2c, //0x00002344 cmpb $44, %dl + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00002347 je LBB0_416 + 0x80, 0xfa, 0x7d, //0x0000234d cmpb $125, %dl + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x00002350 je LBB0_416 + 0x80, 0xfa, 0x5d, //0x00002356 cmpb $93, %dl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x00002359 je LBB0_416 + 0x49, 0xff, 0xc6, //0x0000235f incq %r14 + 0x48, 0xff, 0xc8, //0x00002362 decq %rax + 0x0f, 0x85, 0xd5, 0xff, 0xff, 0xff, //0x00002365 jne LBB0_411 + 0x49, 0x89, 0xce, //0x0000236b movq %rcx, %r14 + //0x0000236e LBB0_416 + 0x49, 0x29, 0xfe, //0x0000236e subq %rdi, %r14 + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002371 jmp LBB0_418 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002376 .p2align 4, 0x90 + //0x00002380 LBB0_417 + 0x0f, 0xb7, 0xc6, //0x00002380 movzwl %si, %eax + 0x48, 0x0f, 0xbc, 0xc0, //0x00002383 bsfq %rax, %rax + 0x49, 0x29, 0xfe, //0x00002387 subq %rdi, %r14 + 0x49, 0x01, 0xc6, //0x0000238a addq %rax, %r14 + //0x0000238d LBB0_418 + 0x4d, 0x89, 0x33, //0x0000238d movq %r14, (%r11) + //0x00002390 LBB0_419 + 0x49, 0x8b, 0x7d, 0x00, //0x00002390 movq (%r13), %rdi + 0x49, 0x8b, 0x45, 0x08, //0x00002394 movq $8(%r13), %rax + 0x4c, 0x89, 0xf1, //0x00002398 movq %r14, %rcx + 0x48, 0x29, 0xc1, //0x0000239b subq %rax, %rcx + 0x0f, 0x83, 0x2c, 0x00, 0x00, 0x00, //0x0000239e jae LBB0_424 + 0x42, 0x8a, 0x14, 0x37, //0x000023a4 movb (%rdi,%r14), %dl + 0x80, 0xfa, 0x0d, //0x000023a8 cmpb $13, %dl + 0x0f, 0x84, 0x1f, 0x00, 0x00, 0x00, //0x000023ab je LBB0_424 + 0x80, 0xfa, 0x20, //0x000023b1 cmpb $32, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000023b4 je LBB0_424 + 0x80, 0xc2, 0xf7, //0x000023ba addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000023bd cmpb $1, %dl + 0x0f, 0x86, 0x0a, 0x00, 0x00, 0x00, //0x000023c0 jbe LBB0_424 + 0x4c, 0x89, 0xf2, //0x000023c6 movq %r14, %rdx + 0xe9, 0x37, 0x01, 0x00, 0x00, //0x000023c9 jmp LBB0_445 + 0x90, 0x90, //0x000023ce .p2align 4, 0x90 + //0x000023d0 LBB0_424 + 0x49, 0x8d, 0x56, 0x01, //0x000023d0 leaq $1(%r14), %rdx + 0x48, 0x39, 0xc2, //0x000023d4 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000023d7 jae LBB0_428 + 0x8a, 0x1c, 0x17, //0x000023dd movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x000023e0 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000023e3 je LBB0_428 + 0x80, 0xfb, 0x20, //0x000023e9 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x000023ec je LBB0_428 + 0x80, 0xc3, 0xf7, //0x000023f2 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000023f5 cmpb $1, %bl + 0x0f, 0x87, 0x07, 0x01, 0x00, 0x00, //0x000023f8 ja LBB0_445 + 0x90, 0x90, //0x000023fe .p2align 4, 0x90 + //0x00002400 LBB0_428 + 0x49, 0x8d, 0x56, 0x02, //0x00002400 leaq $2(%r14), %rdx + 0x48, 0x39, 0xc2, //0x00002404 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002407 jae LBB0_432 + 0x8a, 0x1c, 0x17, //0x0000240d movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00002410 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00002413 je LBB0_432 + 0x80, 0xfb, 0x20, //0x00002419 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000241c je LBB0_432 + 0x80, 0xc3, 0xf7, //0x00002422 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00002425 cmpb $1, %bl + 0x0f, 0x87, 0xd7, 0x00, 0x00, 0x00, //0x00002428 ja LBB0_445 + 0x90, 0x90, //0x0000242e .p2align 4, 0x90 + //0x00002430 LBB0_432 + 0x49, 0x8d, 0x56, 0x03, //0x00002430 leaq $3(%r14), %rdx + 0x48, 0x39, 0xc2, //0x00002434 cmpq %rax, %rdx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00002437 jae LBB0_436 + 0x8a, 0x1c, 0x17, //0x0000243d movb (%rdi,%rdx), %bl + 0x80, 0xfb, 0x0d, //0x00002440 cmpb $13, %bl + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00002443 je LBB0_436 + 0x80, 0xfb, 0x20, //0x00002449 cmpb $32, %bl + 0x0f, 0x84, 0x0e, 0x00, 0x00, 0x00, //0x0000244c je LBB0_436 + 0x80, 0xc3, 0xf7, //0x00002452 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00002455 cmpb $1, %bl + 0x0f, 0x87, 0xa7, 0x00, 0x00, 0x00, //0x00002458 ja LBB0_445 + 0x90, 0x90, //0x0000245e .p2align 4, 0x90 + //0x00002460 LBB0_436 + 0x49, 0x8d, 0x76, 0x04, //0x00002460 leaq $4(%r14), %rsi + 0x48, 0x39, 0xf0, //0x00002464 cmpq %rsi, %rax + 0x0f, 0x86, 0x7d, 0x0d, 0x00, 0x00, //0x00002467 jbe LBB0_549 + 0x48, 0x39, 0xf0, //0x0000246d cmpq %rsi, %rax + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x00002470 je LBB0_443 + 0x48, 0x8d, 0x34, 0x07, //0x00002476 leaq (%rdi,%rax), %rsi + 0x48, 0x83, 0xc1, 0x04, //0x0000247a addq $4, %rcx + 0x48, 0x89, 0xfb, //0x0000247e movq %rdi, %rbx + 0x4a, 0x8d, 0x54, 0x37, 0x05, //0x00002481 leaq $5(%rdi,%r14), %rdx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002486 .p2align 4, 0x90 + //0x00002490 LBB0_439 + 0x0f, 0xbe, 0x7a, 0xff, //0x00002490 movsbl $-1(%rdx), %edi + 0x83, 0xff, 0x20, //0x00002494 cmpl $32, %edi + 0x0f, 0x87, 0x53, 0x00, 0x00, 0x00, //0x00002497 ja LBB0_444 + 0x49, 0x0f, 0xa3, 0xfa, //0x0000249d btq %rdi, %r10 + 0x0f, 0x83, 0x49, 0x00, 0x00, 0x00, //0x000024a1 jae LBB0_444 + 0x48, 0xff, 0xc2, //0x000024a7 incq %rdx + 0x48, 0xff, 0xc1, //0x000024aa incq %rcx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x000024ad jne LBB0_439 + 0x48, 0x89, 0xdf, //0x000024b3 movq %rbx, %rdi + 0x48, 0x29, 0xfe, //0x000024b6 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x000024b9 movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x000024bc cmpq %rax, %rdx + 0x0f, 0x82, 0x40, 0x00, 0x00, 0x00, //0x000024bf jb LBB0_445 + 0xe9, 0x78, 0x0d, 0x00, 0x00, //0x000024c5 jmp LBB0_556 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000024ca .p2align 4, 0x90 + //0x000024d0 LBB0_443 + 0x48, 0x01, 0xfe, //0x000024d0 addq %rdi, %rsi + 0x48, 0x29, 0xfe, //0x000024d3 subq %rdi, %rsi + 0x48, 0x89, 0xf2, //0x000024d6 movq %rsi, %rdx + 0x48, 0x39, 0xc2, //0x000024d9 cmpq %rax, %rdx + 0x0f, 0x82, 0x23, 0x00, 0x00, 0x00, //0x000024dc jb LBB0_445 + 0xe9, 0x5b, 0x0d, 0x00, 0x00, //0x000024e2 jmp LBB0_556 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000024e7 .p2align 4, 0x90 + //0x000024f0 LBB0_444 + 0x48, 0x89, 0xdf, //0x000024f0 movq %rbx, %rdi + 0x48, 0x89, 0xd9, //0x000024f3 movq %rbx, %rcx + 0x48, 0xf7, 0xd1, //0x000024f6 notq %rcx + 0x48, 0x01, 0xca, //0x000024f9 addq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x000024fc cmpq %rax, %rdx + 0x0f, 0x83, 0x3d, 0x0d, 0x00, 0x00, //0x000024ff jae LBB0_556 + //0x00002505 LBB0_445 + 0x4c, 0x8d, 0x72, 0x01, //0x00002505 leaq $1(%rdx), %r14 + 0x4d, 0x89, 0x33, //0x00002509 movq %r14, (%r11) + 0x8a, 0x04, 0x17, //0x0000250c movb (%rdi,%rdx), %al + 0x3c, 0x2c, //0x0000250f cmpb $44, %al + 0x0f, 0x85, 0xde, 0x0c, 0x00, 0x00, //0x00002511 jne LBB0_550 + 0x49, 0x83, 0xfc, 0x02, //0x00002517 cmpq $2, %r12 + 0x4d, 0x8d, 0x64, 0x24, 0xff, //0x0000251b leaq $-1(%r12), %r12 + 0x0f, 0x8d, 0xea, 0xfb, 0xff, 0xff, //0x00002520 jge LBB0_375 + 0xe9, 0xf5, 0x0a, 0x00, 0x00, //0x00002526 jmp LBB0_447 + //0x0000252b LBB0_450 + 0x48, 0x83, 0xc1, 0x04, //0x0000252b addq $4, %rcx + 0x49, 0x3b, 0x08, //0x0000252f cmpq (%r8), %rcx + 0x0f, 0x87, 0x58, 0xfe, 0xff, 0xff, //0x00002532 ja LBB0_419 + 0xe9, 0x2f, 0x01, 0x00, 0x00, //0x00002538 jmp LBB0_462 + //0x0000253d LBB0_451 + 0x4c, 0x89, 0x4d, 0xa0, //0x0000253d movq %r9, $-96(%rbp) + 0x4d, 0x8b, 0x00, //0x00002541 movq (%r8), %r8 + 0x4c, 0x89, 0xc0, //0x00002544 movq %r8, %rax + 0x4c, 0x29, 0xf0, //0x00002547 subq %r14, %rax + 0x48, 0x83, 0xf8, 0x20, //0x0000254a cmpq $32, %rax + 0x0f, 0x8c, 0x46, 0x0a, 0x00, 0x00, //0x0000254e jl LBB0_521 + 0x4c, 0x8d, 0x0c, 0x0f, //0x00002554 leaq (%rdi,%rcx), %r9 + 0x49, 0x29, 0xc8, //0x00002558 subq %rcx, %r8 + 0xb9, 0x1f, 0x00, 0x00, 0x00, //0x0000255b movl $31, %ecx + 0x31, 0xc0, //0x00002560 xorl %eax, %eax + 0x45, 0x31, 0xd2, //0x00002562 xorl %r10d, %r10d + 0xe9, 0x28, 0x00, 0x00, 0x00, //0x00002565 jmp LBB0_453 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000256a .p2align 4, 0x90 + //0x00002570 LBB0_456 + 0x45, 0x31, 0xd2, //0x00002570 xorl %r10d, %r10d + 0x85, 0xdb, //0x00002573 testl %ebx, %ebx + 0x0f, 0x85, 0xb6, 0x00, 0x00, 0x00, //0x00002575 jne LBB0_455 + //0x0000257b LBB0_457 + 0x48, 0x83, 0xc0, 0x20, //0x0000257b addq $32, %rax + 0x49, 0x8d, 0x54, 0x08, 0xe0, //0x0000257f leaq $-32(%r8,%rcx), %rdx + 0x48, 0x83, 0xc1, 0xe0, //0x00002584 addq $-32, %rcx + 0x48, 0x83, 0xfa, 0x3f, //0x00002588 cmpq $63, %rdx + 0x0f, 0x8e, 0x7f, 0x09, 0x00, 0x00, //0x0000258c jle LBB0_458 + //0x00002592 LBB0_453 + 0xf3, 0x41, 0x0f, 0x6f, 0x54, 0x01, 0x01, //0x00002592 movdqu $1(%r9,%rax), %xmm2 + 0xf3, 0x41, 0x0f, 0x6f, 0x5c, 0x01, 0x11, //0x00002599 movdqu $17(%r9,%rax), %xmm3 + 0x66, 0x0f, 0x6f, 0xea, //0x000025a0 movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x000025a4 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x000025a8 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xeb, //0x000025ac movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x000025b0 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x000025b4 pmovmskb %xmm5, %ebx + 0x48, 0xc1, 0xe3, 0x10, //0x000025b8 shlq $16, %rbx + 0x48, 0x09, 0xd3, //0x000025bc orq %rdx, %rbx + 0x66, 0x0f, 0x74, 0xd1, //0x000025bf pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xf2, //0x000025c3 pmovmskb %xmm2, %esi + 0x66, 0x0f, 0x74, 0xd9, //0x000025c7 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x000025cb pmovmskb %xmm3, %edx + 0x48, 0xc1, 0xe2, 0x10, //0x000025cf shlq $16, %rdx + 0x48, 0x09, 0xf2, //0x000025d3 orq %rsi, %rdx + 0x48, 0x89, 0xd6, //0x000025d6 movq %rdx, %rsi + 0x4c, 0x09, 0xd6, //0x000025d9 orq %r10, %rsi + 0x0f, 0x84, 0x8e, 0xff, 0xff, 0xff, //0x000025dc je LBB0_456 + 0x44, 0x89, 0xd6, //0x000025e2 movl %r10d, %esi + 0x41, 0xbd, 0xff, 0xff, 0xff, 0xff, //0x000025e5 movl $4294967295, %r13d + 0x44, 0x31, 0xee, //0x000025eb xorl %r13d, %esi + 0x21, 0xf2, //0x000025ee andl %esi, %edx + 0x8d, 0x34, 0x12, //0x000025f0 leal (%rdx,%rdx), %esi + 0x44, 0x09, 0xd6, //0x000025f3 orl %r10d, %esi + 0x49, 0x89, 0xff, //0x000025f6 movq %rdi, %r15 + 0x41, 0x8d, 0xbd, 0xab, 0xaa, 0xaa, 0xaa, //0x000025f9 leal $-1431655765(%r13), %edi + 0x31, 0xf7, //0x00002600 xorl %esi, %edi + 0x21, 0xd7, //0x00002602 andl %edx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002604 andl $-1431655766, %edi + 0x45, 0x31, 0xd2, //0x0000260a xorl %r10d, %r10d + 0x01, 0xd7, //0x0000260d addl %edx, %edi + 0x41, 0x0f, 0x92, 0xc2, //0x0000260f setb %r10b + 0x01, 0xff, //0x00002613 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00002615 xorl $1431655765, %edi + 0x21, 0xf7, //0x0000261b andl %esi, %edi + 0x44, 0x31, 0xef, //0x0000261d xorl %r13d, %edi + 0x4c, 0x8b, 0x6d, 0xc0, //0x00002620 movq $-64(%rbp), %r13 + 0x21, 0xfb, //0x00002624 andl %edi, %ebx + 0x4c, 0x89, 0xff, //0x00002626 movq %r15, %rdi + 0x85, 0xdb, //0x00002629 testl %ebx, %ebx + 0x0f, 0x84, 0x4a, 0xff, 0xff, 0xff, //0x0000262b je LBB0_457 + //0x00002631 LBB0_455 + 0x48, 0x0f, 0xbc, 0xcb, //0x00002631 bsfq %rbx, %rcx + 0x49, 0x01, 0xc9, //0x00002635 addq %rcx, %r9 + 0x49, 0x01, 0xc1, //0x00002638 addq %rax, %r9 + 0x49, 0x29, 0xf9, //0x0000263b subq %rdi, %r9 + 0x49, 0x83, 0xc1, 0x02, //0x0000263e addq $2, %r9 + 0x4d, 0x89, 0x0b, //0x00002642 movq %r9, (%r11) + 0x4d, 0x89, 0xce, //0x00002645 movq %r9, %r14 + 0x4c, 0x8b, 0x45, 0xb0, //0x00002648 movq $-80(%rbp), %r8 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000264c movabsq $4294977024, %r10 + 0x4c, 0x8b, 0x4d, 0xa0, //0x00002656 movq $-96(%rbp), %r9 + 0xe9, 0x31, 0xfd, 0xff, 0xff, //0x0000265a jmp LBB0_419 + //0x0000265f LBB0_461 + 0x48, 0x83, 0xc1, 0x05, //0x0000265f addq $5, %rcx + 0x49, 0x3b, 0x08, //0x00002663 cmpq (%r8), %rcx + 0x0f, 0x87, 0x24, 0xfd, 0xff, 0xff, //0x00002666 ja LBB0_419 + //0x0000266c LBB0_462 + 0x49, 0x89, 0x0b, //0x0000266c movq %rcx, (%r11) + 0x49, 0x89, 0xce, //0x0000266f movq %rcx, %r14 + 0xe9, 0x19, 0xfd, 0xff, 0xff, //0x00002672 jmp LBB0_419 + //0x00002677 LBB0_463 + 0x4c, 0x89, 0x4d, 0xa0, //0x00002677 movq %r9, $-96(%rbp) + 0x49, 0x8b, 0x08, //0x0000267b movq (%r8), %rcx + 0x4c, 0x29, 0xf1, //0x0000267e subq %r14, %rcx + 0x4c, 0x01, 0xf7, //0x00002681 addq %r14, %rdi + 0x45, 0x31, 0xc9, //0x00002684 xorl %r9d, %r9d + 0x45, 0x31, 0xc0, //0x00002687 xorl %r8d, %r8d + 0x45, 0x31, 0xdb, //0x0000268a xorl %r11d, %r11d + 0x45, 0x31, 0xed, //0x0000268d xorl %r13d, %r13d + 0x48, 0x83, 0xf9, 0x40, //0x00002690 cmpq $64, %rcx + 0x0f, 0x8d, 0x63, 0x01, 0x00, 0x00, //0x00002694 jge LBB0_464 + //0x0000269a LBB0_474 + 0x48, 0x8b, 0x45, 0xa0, //0x0000269a movq $-96(%rbp), %rax + 0x48, 0x85, 0xc9, //0x0000269e testq %rcx, %rcx + 0x0f, 0x8e, 0xfc, 0x08, 0x00, 0x00, //0x000026a1 jle LBB0_522 + 0x49, 0x89, 0xcf, //0x000026a7 movq %rcx, %r15 + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x70, 0xff, 0xff, 0xff, //0x000026aa movdqu %xmm8, $-144(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x60, 0xff, 0xff, 0xff, //0x000026b3 movdqu %xmm8, $-160(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x50, 0xff, 0xff, 0xff, //0x000026bc movdqu %xmm8, $-176(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x40, 0xff, 0xff, 0xff, //0x000026c5 movdqu %xmm8, $-192(%rbp) + 0x89, 0xf8, //0x000026ce movl %edi, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x000026d0 andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x000026d5 cmpl $4033, %eax + 0x0f, 0x82, 0x20, 0x01, 0x00, 0x00, //0x000026da jb LBB0_465 + 0x48, 0x89, 0xf8, //0x000026e0 movq %rdi, %rax + 0x49, 0x83, 0xff, 0x20, //0x000026e3 cmpq $32, %r15 + 0x0f, 0x82, 0x2b, 0x00, 0x00, 0x00, //0x000026e7 jb LBB0_478 + 0x0f, 0x10, 0x10, //0x000026ed movups (%rax), %xmm2 + 0x0f, 0x11, 0x95, 0x40, 0xff, 0xff, 0xff, //0x000026f0 movups %xmm2, $-192(%rbp) + 0xf3, 0x0f, 0x6f, 0x50, 0x10, //0x000026f7 movdqu $16(%rax), %xmm2 + 0xf3, 0x0f, 0x7f, 0x95, 0x50, 0xff, 0xff, 0xff, //0x000026fc movdqu %xmm2, $-176(%rbp) + 0x48, 0x83, 0xc0, 0x20, //0x00002704 addq $32, %rax + 0x49, 0x8d, 0x7f, 0xe0, //0x00002708 leaq $-32(%r15), %rdi + 0x48, 0x8d, 0xb5, 0x60, 0xff, 0xff, 0xff, //0x0000270c leaq $-160(%rbp), %rsi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00002713 jmp LBB0_479 + //0x00002718 LBB0_478 + 0x48, 0x8d, 0xb5, 0x40, 0xff, 0xff, 0xff, //0x00002718 leaq $-192(%rbp), %rsi + 0x4c, 0x89, 0xff, //0x0000271f movq %r15, %rdi + //0x00002722 LBB0_479 + 0x48, 0x83, 0xff, 0x10, //0x00002722 cmpq $16, %rdi + 0x0f, 0x82, 0x60, 0x00, 0x00, 0x00, //0x00002726 jb LBB0_480 + 0xf3, 0x0f, 0x6f, 0x10, //0x0000272c movdqu (%rax), %xmm2 + 0xf3, 0x0f, 0x7f, 0x16, //0x00002730 movdqu %xmm2, (%rsi) + 0x48, 0x83, 0xc0, 0x10, //0x00002734 addq $16, %rax + 0x48, 0x83, 0xc6, 0x10, //0x00002738 addq $16, %rsi + 0x48, 0x83, 0xc7, 0xf0, //0x0000273c addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x00002740 cmpq $8, %rdi + 0x0f, 0x83, 0x4c, 0x00, 0x00, 0x00, //0x00002744 jae LBB0_485 + //0x0000274a LBB0_481 + 0x48, 0x83, 0xff, 0x04, //0x0000274a cmpq $4, %rdi + 0x0f, 0x8c, 0x64, 0x00, 0x00, 0x00, //0x0000274e jl LBB0_482 + //0x00002754 LBB0_486 + 0x48, 0x89, 0xc2, //0x00002754 movq %rax, %rdx + 0x8b, 0x00, //0x00002757 movl (%rax), %eax + 0x89, 0x06, //0x00002759 movl %eax, (%rsi) + 0x48, 0x83, 0xc2, 0x04, //0x0000275b addq $4, %rdx + 0x48, 0x89, 0xd0, //0x0000275f movq %rdx, %rax + 0x48, 0x83, 0xc6, 0x04, //0x00002762 addq $4, %rsi + 0x48, 0x83, 0xc7, 0xfc, //0x00002766 addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x0000276a cmpq $2, %rdi + 0x0f, 0x83, 0x4e, 0x00, 0x00, 0x00, //0x0000276e jae LBB0_487 + //0x00002774 LBB0_483 + 0x48, 0x8d, 0x95, 0x40, 0xff, 0xff, 0xff, //0x00002774 leaq $-192(%rbp), %rdx + 0x48, 0x85, 0xff, //0x0000277b testq %rdi, %rdi + 0x48, 0x89, 0xd7, //0x0000277e movq %rdx, %rdi + 0x0f, 0x85, 0x66, 0x00, 0x00, 0x00, //0x00002781 jne LBB0_488 + 0xe9, 0x74, 0x00, 0x00, 0x00, //0x00002787 jmp LBB0_465 + //0x0000278c LBB0_480 + 0x48, 0x83, 0xff, 0x08, //0x0000278c cmpq $8, %rdi + 0x0f, 0x82, 0xb4, 0xff, 0xff, 0xff, //0x00002790 jb LBB0_481 + //0x00002796 LBB0_485 + 0x48, 0x89, 0xc2, //0x00002796 movq %rax, %rdx + 0x48, 0x8b, 0x00, //0x00002799 movq (%rax), %rax + 0x48, 0x89, 0x06, //0x0000279c movq %rax, (%rsi) + 0x48, 0x83, 0xc2, 0x08, //0x0000279f addq $8, %rdx + 0x48, 0x89, 0xd0, //0x000027a3 movq %rdx, %rax + 0x48, 0x83, 0xc6, 0x08, //0x000027a6 addq $8, %rsi + 0x48, 0x83, 0xc7, 0xf8, //0x000027aa addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x000027ae cmpq $4, %rdi + 0x0f, 0x8d, 0x9c, 0xff, 0xff, 0xff, //0x000027b2 jge LBB0_486 + //0x000027b8 LBB0_482 + 0x48, 0x83, 0xff, 0x02, //0x000027b8 cmpq $2, %rdi + 0x0f, 0x82, 0xb2, 0xff, 0xff, 0xff, //0x000027bc jb LBB0_483 + //0x000027c2 LBB0_487 + 0x48, 0x89, 0xc2, //0x000027c2 movq %rax, %rdx + 0x0f, 0xb7, 0x00, //0x000027c5 movzwl (%rax), %eax + 0x66, 0x89, 0x06, //0x000027c8 movw %ax, (%rsi) + 0x48, 0x83, 0xc2, 0x02, //0x000027cb addq $2, %rdx + 0x48, 0x83, 0xc6, 0x02, //0x000027cf addq $2, %rsi + 0x48, 0x83, 0xc7, 0xfe, //0x000027d3 addq $-2, %rdi + 0x48, 0x89, 0xd0, //0x000027d7 movq %rdx, %rax + 0x48, 0x8d, 0x95, 0x40, 0xff, 0xff, 0xff, //0x000027da leaq $-192(%rbp), %rdx + 0x48, 0x85, 0xff, //0x000027e1 testq %rdi, %rdi + 0x48, 0x89, 0xd7, //0x000027e4 movq %rdx, %rdi + 0x0f, 0x84, 0x13, 0x00, 0x00, 0x00, //0x000027e7 je LBB0_465 + //0x000027ed LBB0_488 + 0x8a, 0x00, //0x000027ed movb (%rax), %al + 0x88, 0x06, //0x000027ef movb %al, (%rsi) + 0x48, 0x8d, 0xbd, 0x40, 0xff, 0xff, 0xff, //0x000027f1 leaq $-192(%rbp), %rdi + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x000027f8 jmp LBB0_465 + //0x000027fd LBB0_464 + 0x49, 0x89, 0xcf, //0x000027fd movq %rcx, %r15 + //0x00002800 LBB0_465 + 0xf3, 0x0f, 0x6f, 0x17, //0x00002800 movdqu (%rdi), %xmm2 + 0xf3, 0x0f, 0x6f, 0x6f, 0x10, //0x00002804 movdqu $16(%rdi), %xmm5 + 0xf3, 0x0f, 0x6f, 0x7f, 0x20, //0x00002809 movdqu $32(%rdi), %xmm7 + 0x48, 0x89, 0x7d, 0xc8, //0x0000280e movq %rdi, $-56(%rbp) + 0xf3, 0x0f, 0x6f, 0x77, 0x30, //0x00002812 movdqu $48(%rdi), %xmm6 + 0x66, 0x0f, 0x6f, 0xda, //0x00002817 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x0000281b pcmpeqb %xmm0, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x0000281f pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xdd, //0x00002824 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00002828 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x0000282c pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xdf, //0x00002830 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00002834 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x00002838 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xde, //0x0000283c movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00002840 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x00002844 pmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x00002848 shlq $48, %rbx + 0x48, 0xc1, 0xe7, 0x20, //0x0000284c shlq $32, %rdi + 0x48, 0xc1, 0xe0, 0x10, //0x00002850 shlq $16, %rax + 0x49, 0x09, 0xc6, //0x00002854 orq %rax, %r14 + 0x49, 0x09, 0xfe, //0x00002857 orq %rdi, %r14 + 0x49, 0x09, 0xde, //0x0000285a orq %rbx, %r14 + 0x66, 0x0f, 0x6f, 0xda, //0x0000285d movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00002861 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x00002865 pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xdd, //0x00002869 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x0000286d pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x00002871 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdf, //0x00002875 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00002879 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x0000287d pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xde, //0x00002881 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00002885 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00002889 pmovmskb %xmm3, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x0000288d shlq $48, %rcx + 0x48, 0xc1, 0xe3, 0x20, //0x00002891 shlq $32, %rbx + 0x48, 0xc1, 0xe7, 0x10, //0x00002895 shlq $16, %rdi + 0x48, 0x09, 0xf8, //0x00002899 orq %rdi, %rax + 0x48, 0x09, 0xd8, //0x0000289c orq %rbx, %rax + 0x48, 0x09, 0xc8, //0x0000289f orq %rcx, %rax + 0x48, 0x89, 0xc1, //0x000028a2 movq %rax, %rcx + 0x4c, 0x09, 0xc1, //0x000028a5 orq %r8, %rcx + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x000028a8 je LBB0_467 + 0x4c, 0x89, 0xc1, //0x000028ae movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x000028b1 notq %rcx + 0x48, 0x21, 0xc1, //0x000028b4 andq %rax, %rcx + 0x48, 0x8d, 0x1c, 0x09, //0x000028b7 leaq (%rcx,%rcx), %rbx + 0x4c, 0x09, 0xc3, //0x000028bb orq %r8, %rbx + 0x48, 0x89, 0xdf, //0x000028be movq %rbx, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000028c1 movabsq $-6148914691236517206, %rsi + 0x48, 0x31, 0xf7, //0x000028cb xorq %rsi, %rdi + 0x48, 0x21, 0xf0, //0x000028ce andq %rsi, %rax + 0x48, 0x21, 0xf8, //0x000028d1 andq %rdi, %rax + 0x45, 0x31, 0xc0, //0x000028d4 xorl %r8d, %r8d + 0x48, 0x01, 0xc8, //0x000028d7 addq %rcx, %rax + 0x41, 0x0f, 0x92, 0xc0, //0x000028da setb %r8b + 0x48, 0x01, 0xc0, //0x000028de addq %rax, %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000028e1 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xc8, //0x000028eb xorq %rcx, %rax + 0x48, 0x21, 0xd8, //0x000028ee andq %rbx, %rax + 0x48, 0xf7, 0xd0, //0x000028f1 notq %rax + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x000028f4 jmp LBB0_468 + //0x000028f9 LBB0_467 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000028f9 movq $-1, %rax + 0x45, 0x31, 0xc0, //0x00002900 xorl %r8d, %r8d + //0x00002903 LBB0_468 + 0x4c, 0x21, 0xf0, //0x00002903 andq %r14, %rax + 0x66, 0x48, 0x0f, 0x6e, 0xd8, //0x00002906 movq %rax, %xmm3 + 0x66, 0x41, 0x0f, 0x3a, 0x44, 0xd9, 0x00, //0x0000290b pclmulqdq $0, %xmm9, %xmm3 + 0x66, 0x49, 0x0f, 0x7e, 0xde, //0x00002912 movq %xmm3, %r14 + 0x4d, 0x31, 0xce, //0x00002917 xorq %r9, %r14 + 0x66, 0x0f, 0x6f, 0xda, //0x0000291a movdqa %xmm2, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xdc, //0x0000291e pcmpeqb %xmm12, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xd3, //0x00002923 pmovmskb %xmm3, %r10d + 0x66, 0x0f, 0x6f, 0xdd, //0x00002928 movdqa %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xdc, //0x0000292c pcmpeqb %xmm12, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x00002931 pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xdf, //0x00002935 movdqa %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xdc, //0x00002939 pcmpeqb %xmm12, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x0000293e pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xde, //0x00002942 movdqa %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xdc, //0x00002946 pcmpeqb %xmm12, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x0000294b pmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x0000294f shlq $48, %rbx + 0x48, 0xc1, 0xe1, 0x20, //0x00002953 shlq $32, %rcx + 0x48, 0xc1, 0xe0, 0x10, //0x00002957 shlq $16, %rax + 0x49, 0x09, 0xc2, //0x0000295b orq %rax, %r10 + 0x49, 0x09, 0xca, //0x0000295e orq %rcx, %r10 + 0x49, 0x09, 0xda, //0x00002961 orq %rbx, %r10 + 0x4d, 0x89, 0xf1, //0x00002964 movq %r14, %r9 + 0x49, 0xf7, 0xd1, //0x00002967 notq %r9 + 0x4d, 0x21, 0xca, //0x0000296a andq %r9, %r10 + 0x66, 0x0f, 0x74, 0xd4, //0x0000296d pcmpeqb %xmm4, %xmm2 + 0x66, 0x0f, 0xd7, 0xc2, //0x00002971 pmovmskb %xmm2, %eax + 0x66, 0x0f, 0x74, 0xec, //0x00002975 pcmpeqb %xmm4, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00002979 pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x74, 0xfc, //0x0000297d pcmpeqb %xmm4, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00002981 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x74, 0xf4, //0x00002985 pcmpeqb %xmm4, %xmm6 + 0x66, 0x0f, 0xd7, 0xce, //0x00002989 pmovmskb %xmm6, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x0000298d shlq $48, %rcx + 0x48, 0xc1, 0xe6, 0x20, //0x00002991 shlq $32, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x00002995 shlq $16, %rbx + 0x48, 0x09, 0xd8, //0x00002999 orq %rbx, %rax + 0x48, 0x09, 0xf0, //0x0000299c orq %rsi, %rax + 0x48, 0x09, 0xc8, //0x0000299f orq %rcx, %rax + 0x48, 0xbf, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, //0x000029a2 movabsq $3689348814741910323, %rdi + 0x4c, 0x21, 0xc8, //0x000029ac andq %r9, %rax + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x000029af je LBB0_472 + 0x49, 0xb9, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x000029b5 movabsq $1085102592571150095, %r9 + 0x90, //0x000029bf .p2align 4, 0x90 + //0x000029c0 LBB0_470 + 0x48, 0x8d, 0x58, 0xff, //0x000029c0 leaq $-1(%rax), %rbx + 0x48, 0x89, 0xd9, //0x000029c4 movq %rbx, %rcx + 0x4c, 0x21, 0xd1, //0x000029c7 andq %r10, %rcx + 0x48, 0x89, 0xce, //0x000029ca movq %rcx, %rsi + 0x48, 0xd1, 0xee, //0x000029cd shrq %rsi + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000029d0 movabsq $6148914691236517205, %rdx + 0x48, 0x21, 0xd6, //0x000029da andq %rdx, %rsi + 0x48, 0x29, 0xf1, //0x000029dd subq %rsi, %rcx + 0x48, 0x89, 0xce, //0x000029e0 movq %rcx, %rsi + 0x48, 0x21, 0xfe, //0x000029e3 andq %rdi, %rsi + 0x48, 0xc1, 0xe9, 0x02, //0x000029e6 shrq $2, %rcx + 0x48, 0x21, 0xf9, //0x000029ea andq %rdi, %rcx + 0x48, 0x01, 0xf1, //0x000029ed addq %rsi, %rcx + 0x48, 0x89, 0xce, //0x000029f0 movq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x04, //0x000029f3 shrq $4, %rsi + 0x48, 0x01, 0xce, //0x000029f7 addq %rcx, %rsi + 0x4c, 0x21, 0xce, //0x000029fa andq %r9, %rsi + 0x48, 0xb9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x000029fd movabsq $72340172838076673, %rcx + 0x48, 0x0f, 0xaf, 0xf1, //0x00002a07 imulq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x38, //0x00002a0b shrq $56, %rsi + 0x4c, 0x01, 0xde, //0x00002a0f addq %r11, %rsi + 0x4c, 0x39, 0xee, //0x00002a12 cmpq %r13, %rsi + 0x0f, 0x86, 0xb8, 0x04, 0x00, 0x00, //0x00002a15 jbe LBB0_515 + 0x49, 0xff, 0xc5, //0x00002a1b incq %r13 + 0x48, 0x21, 0xd8, //0x00002a1e andq %rbx, %rax + 0x0f, 0x85, 0x99, 0xff, 0xff, 0xff, //0x00002a21 jne LBB0_470 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00002a27 jmp LBB0_473 + //0x00002a2c LBB0_472 + 0x49, 0xb9, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00002a2c movabsq $1085102592571150095, %r9 + //0x00002a36 LBB0_473 + 0x49, 0xc1, 0xfe, 0x3f, //0x00002a36 sarq $63, %r14 + 0x4c, 0x89, 0xd0, //0x00002a3a movq %r10, %rax + 0x48, 0xd1, 0xe8, //0x00002a3d shrq %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00002a40 movabsq $6148914691236517205, %rcx + 0x48, 0x21, 0xc8, //0x00002a4a andq %rcx, %rax + 0x49, 0x29, 0xc2, //0x00002a4d subq %rax, %r10 + 0x4c, 0x89, 0xd0, //0x00002a50 movq %r10, %rax + 0x48, 0x21, 0xf8, //0x00002a53 andq %rdi, %rax + 0x49, 0xc1, 0xea, 0x02, //0x00002a56 shrq $2, %r10 + 0x49, 0x21, 0xfa, //0x00002a5a andq %rdi, %r10 + 0x49, 0x01, 0xc2, //0x00002a5d addq %rax, %r10 + 0x4c, 0x89, 0xd0, //0x00002a60 movq %r10, %rax + 0x48, 0xc1, 0xe8, 0x04, //0x00002a63 shrq $4, %rax + 0x4c, 0x01, 0xd0, //0x00002a67 addq %r10, %rax + 0x4c, 0x21, 0xc8, //0x00002a6a andq %r9, %rax + 0x48, 0xb9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x00002a6d movabsq $72340172838076673, %rcx + 0x48, 0x0f, 0xaf, 0xc1, //0x00002a77 imulq %rcx, %rax + 0x48, 0xc1, 0xe8, 0x38, //0x00002a7b shrq $56, %rax + 0x49, 0x01, 0xc3, //0x00002a7f addq %rax, %r11 + 0x48, 0x8b, 0x7d, 0xc8, //0x00002a82 movq $-56(%rbp), %rdi + 0x48, 0x83, 0xc7, 0x40, //0x00002a86 addq $64, %rdi + 0x4c, 0x89, 0xf9, //0x00002a8a movq %r15, %rcx + 0x48, 0x83, 0xc1, 0xc0, //0x00002a8d addq $-64, %rcx + 0x4d, 0x89, 0xf1, //0x00002a91 movq %r14, %r9 + 0x48, 0x83, 0xf9, 0x40, //0x00002a94 cmpq $64, %rcx + 0x0f, 0x8d, 0x5f, 0xfd, 0xff, 0xff, //0x00002a98 jge LBB0_464 + 0xe9, 0xf7, 0xfb, 0xff, 0xff, //0x00002a9e jmp LBB0_474 + //0x00002aa3 LBB0_489 + 0x4c, 0x89, 0x4d, 0xa0, //0x00002aa3 movq %r9, $-96(%rbp) + 0x49, 0x8b, 0x08, //0x00002aa7 movq (%r8), %rcx + 0x4c, 0x29, 0xf1, //0x00002aaa subq %r14, %rcx + 0x4c, 0x01, 0xf7, //0x00002aad addq %r14, %rdi + 0x45, 0x31, 0xc9, //0x00002ab0 xorl %r9d, %r9d + 0x45, 0x31, 0xc0, //0x00002ab3 xorl %r8d, %r8d + 0x45, 0x31, 0xdb, //0x00002ab6 xorl %r11d, %r11d + 0x45, 0x31, 0xed, //0x00002ab9 xorl %r13d, %r13d + 0x48, 0x83, 0xf9, 0x40, //0x00002abc cmpq $64, %rcx + 0x0f, 0x8d, 0x63, 0x01, 0x00, 0x00, //0x00002ac0 jge LBB0_490 + //0x00002ac6 LBB0_500 + 0x48, 0x8b, 0x45, 0xa0, //0x00002ac6 movq $-96(%rbp), %rax + 0x48, 0x85, 0xc9, //0x00002aca testq %rcx, %rcx + 0x0f, 0x8e, 0xd0, 0x04, 0x00, 0x00, //0x00002acd jle LBB0_522 + 0x49, 0x89, 0xcf, //0x00002ad3 movq %rcx, %r15 + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x70, 0xff, 0xff, 0xff, //0x00002ad6 movdqu %xmm8, $-144(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x60, 0xff, 0xff, 0xff, //0x00002adf movdqu %xmm8, $-160(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x50, 0xff, 0xff, 0xff, //0x00002ae8 movdqu %xmm8, $-176(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x40, 0xff, 0xff, 0xff, //0x00002af1 movdqu %xmm8, $-192(%rbp) + 0x89, 0xf8, //0x00002afa movl %edi, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00002afc andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x00002b01 cmpl $4033, %eax + 0x0f, 0x82, 0x20, 0x01, 0x00, 0x00, //0x00002b06 jb LBB0_491 + 0x48, 0x89, 0xf8, //0x00002b0c movq %rdi, %rax + 0x49, 0x83, 0xff, 0x20, //0x00002b0f cmpq $32, %r15 + 0x0f, 0x82, 0x2b, 0x00, 0x00, 0x00, //0x00002b13 jb LBB0_504 + 0x0f, 0x10, 0x10, //0x00002b19 movups (%rax), %xmm2 + 0x0f, 0x11, 0x95, 0x40, 0xff, 0xff, 0xff, //0x00002b1c movups %xmm2, $-192(%rbp) + 0xf3, 0x0f, 0x6f, 0x50, 0x10, //0x00002b23 movdqu $16(%rax), %xmm2 + 0xf3, 0x0f, 0x7f, 0x95, 0x50, 0xff, 0xff, 0xff, //0x00002b28 movdqu %xmm2, $-176(%rbp) + 0x48, 0x83, 0xc0, 0x20, //0x00002b30 addq $32, %rax + 0x49, 0x8d, 0x7f, 0xe0, //0x00002b34 leaq $-32(%r15), %rdi + 0x48, 0x8d, 0xb5, 0x60, 0xff, 0xff, 0xff, //0x00002b38 leaq $-160(%rbp), %rsi + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00002b3f jmp LBB0_505 + //0x00002b44 LBB0_504 + 0x48, 0x8d, 0xb5, 0x40, 0xff, 0xff, 0xff, //0x00002b44 leaq $-192(%rbp), %rsi + 0x4c, 0x89, 0xff, //0x00002b4b movq %r15, %rdi + //0x00002b4e LBB0_505 + 0x48, 0x83, 0xff, 0x10, //0x00002b4e cmpq $16, %rdi + 0x0f, 0x82, 0x60, 0x00, 0x00, 0x00, //0x00002b52 jb LBB0_506 + 0xf3, 0x0f, 0x6f, 0x10, //0x00002b58 movdqu (%rax), %xmm2 + 0xf3, 0x0f, 0x7f, 0x16, //0x00002b5c movdqu %xmm2, (%rsi) + 0x48, 0x83, 0xc0, 0x10, //0x00002b60 addq $16, %rax + 0x48, 0x83, 0xc6, 0x10, //0x00002b64 addq $16, %rsi + 0x48, 0x83, 0xc7, 0xf0, //0x00002b68 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x00002b6c cmpq $8, %rdi + 0x0f, 0x83, 0x4c, 0x00, 0x00, 0x00, //0x00002b70 jae LBB0_511 + //0x00002b76 LBB0_507 + 0x48, 0x83, 0xff, 0x04, //0x00002b76 cmpq $4, %rdi + 0x0f, 0x8c, 0x64, 0x00, 0x00, 0x00, //0x00002b7a jl LBB0_508 + //0x00002b80 LBB0_512 + 0x48, 0x89, 0xc2, //0x00002b80 movq %rax, %rdx + 0x8b, 0x00, //0x00002b83 movl (%rax), %eax + 0x89, 0x06, //0x00002b85 movl %eax, (%rsi) + 0x48, 0x83, 0xc2, 0x04, //0x00002b87 addq $4, %rdx + 0x48, 0x89, 0xd0, //0x00002b8b movq %rdx, %rax + 0x48, 0x83, 0xc6, 0x04, //0x00002b8e addq $4, %rsi + 0x48, 0x83, 0xc7, 0xfc, //0x00002b92 addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x00002b96 cmpq $2, %rdi + 0x0f, 0x83, 0x4e, 0x00, 0x00, 0x00, //0x00002b9a jae LBB0_513 + //0x00002ba0 LBB0_509 + 0x48, 0x8d, 0x95, 0x40, 0xff, 0xff, 0xff, //0x00002ba0 leaq $-192(%rbp), %rdx + 0x48, 0x85, 0xff, //0x00002ba7 testq %rdi, %rdi + 0x48, 0x89, 0xd7, //0x00002baa movq %rdx, %rdi + 0x0f, 0x85, 0x66, 0x00, 0x00, 0x00, //0x00002bad jne LBB0_514 + 0xe9, 0x74, 0x00, 0x00, 0x00, //0x00002bb3 jmp LBB0_491 + //0x00002bb8 LBB0_506 + 0x48, 0x83, 0xff, 0x08, //0x00002bb8 cmpq $8, %rdi + 0x0f, 0x82, 0xb4, 0xff, 0xff, 0xff, //0x00002bbc jb LBB0_507 + //0x00002bc2 LBB0_511 + 0x48, 0x89, 0xc2, //0x00002bc2 movq %rax, %rdx + 0x48, 0x8b, 0x00, //0x00002bc5 movq (%rax), %rax + 0x48, 0x89, 0x06, //0x00002bc8 movq %rax, (%rsi) + 0x48, 0x83, 0xc2, 0x08, //0x00002bcb addq $8, %rdx + 0x48, 0x89, 0xd0, //0x00002bcf movq %rdx, %rax + 0x48, 0x83, 0xc6, 0x08, //0x00002bd2 addq $8, %rsi + 0x48, 0x83, 0xc7, 0xf8, //0x00002bd6 addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x00002bda cmpq $4, %rdi + 0x0f, 0x8d, 0x9c, 0xff, 0xff, 0xff, //0x00002bde jge LBB0_512 + //0x00002be4 LBB0_508 + 0x48, 0x83, 0xff, 0x02, //0x00002be4 cmpq $2, %rdi + 0x0f, 0x82, 0xb2, 0xff, 0xff, 0xff, //0x00002be8 jb LBB0_509 + //0x00002bee LBB0_513 + 0x48, 0x89, 0xc2, //0x00002bee movq %rax, %rdx + 0x0f, 0xb7, 0x00, //0x00002bf1 movzwl (%rax), %eax + 0x66, 0x89, 0x06, //0x00002bf4 movw %ax, (%rsi) + 0x48, 0x83, 0xc2, 0x02, //0x00002bf7 addq $2, %rdx + 0x48, 0x83, 0xc6, 0x02, //0x00002bfb addq $2, %rsi + 0x48, 0x83, 0xc7, 0xfe, //0x00002bff addq $-2, %rdi + 0x48, 0x89, 0xd0, //0x00002c03 movq %rdx, %rax + 0x48, 0x8d, 0x95, 0x40, 0xff, 0xff, 0xff, //0x00002c06 leaq $-192(%rbp), %rdx + 0x48, 0x85, 0xff, //0x00002c0d testq %rdi, %rdi + 0x48, 0x89, 0xd7, //0x00002c10 movq %rdx, %rdi + 0x0f, 0x84, 0x13, 0x00, 0x00, 0x00, //0x00002c13 je LBB0_491 + //0x00002c19 LBB0_514 + 0x8a, 0x00, //0x00002c19 movb (%rax), %al + 0x88, 0x06, //0x00002c1b movb %al, (%rsi) + 0x48, 0x8d, 0xbd, 0x40, 0xff, 0xff, 0xff, //0x00002c1d leaq $-192(%rbp), %rdi + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00002c24 jmp LBB0_491 + //0x00002c29 LBB0_490 + 0x49, 0x89, 0xcf, //0x00002c29 movq %rcx, %r15 + //0x00002c2c LBB0_491 + 0xf3, 0x0f, 0x6f, 0x17, //0x00002c2c movdqu (%rdi), %xmm2 + 0xf3, 0x0f, 0x6f, 0x6f, 0x10, //0x00002c30 movdqu $16(%rdi), %xmm5 + 0xf3, 0x0f, 0x6f, 0x7f, 0x20, //0x00002c35 movdqu $32(%rdi), %xmm7 + 0x48, 0x89, 0x7d, 0xc8, //0x00002c3a movq %rdi, $-56(%rbp) + 0xf3, 0x0f, 0x6f, 0x77, 0x30, //0x00002c3e movdqu $48(%rdi), %xmm6 + 0x66, 0x0f, 0x6f, 0xda, //0x00002c43 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00002c47 pcmpeqb %xmm0, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00002c4b pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xdd, //0x00002c50 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00002c54 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x00002c58 pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xdf, //0x00002c5c movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00002c60 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x00002c64 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xde, //0x00002c68 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00002c6c pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x00002c70 pmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x00002c74 shlq $48, %rbx + 0x48, 0xc1, 0xe7, 0x20, //0x00002c78 shlq $32, %rdi + 0x48, 0xc1, 0xe0, 0x10, //0x00002c7c shlq $16, %rax + 0x49, 0x09, 0xc6, //0x00002c80 orq %rax, %r14 + 0x49, 0x09, 0xfe, //0x00002c83 orq %rdi, %r14 + 0x49, 0x09, 0xde, //0x00002c86 orq %rbx, %r14 + 0x66, 0x0f, 0x6f, 0xda, //0x00002c89 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00002c8d pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x00002c91 pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xdd, //0x00002c95 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00002c99 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x00002c9d pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdf, //0x00002ca1 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00002ca5 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x00002ca9 pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xde, //0x00002cad movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00002cb1 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00002cb5 pmovmskb %xmm3, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x00002cb9 shlq $48, %rcx + 0x48, 0xc1, 0xe3, 0x20, //0x00002cbd shlq $32, %rbx + 0x48, 0xc1, 0xe7, 0x10, //0x00002cc1 shlq $16, %rdi + 0x48, 0x09, 0xf8, //0x00002cc5 orq %rdi, %rax + 0x48, 0x09, 0xd8, //0x00002cc8 orq %rbx, %rax + 0x48, 0x09, 0xc8, //0x00002ccb orq %rcx, %rax + 0x48, 0x89, 0xc1, //0x00002cce movq %rax, %rcx + 0x4c, 0x09, 0xc1, //0x00002cd1 orq %r8, %rcx + 0x0f, 0x84, 0x4b, 0x00, 0x00, 0x00, //0x00002cd4 je LBB0_493 + 0x4c, 0x89, 0xc1, //0x00002cda movq %r8, %rcx + 0x48, 0xf7, 0xd1, //0x00002cdd notq %rcx + 0x48, 0x21, 0xc1, //0x00002ce0 andq %rax, %rcx + 0x48, 0x8d, 0x1c, 0x09, //0x00002ce3 leaq (%rcx,%rcx), %rbx + 0x4c, 0x09, 0xc3, //0x00002ce7 orq %r8, %rbx + 0x48, 0x89, 0xdf, //0x00002cea movq %rbx, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002ced movabsq $-6148914691236517206, %rsi + 0x48, 0x31, 0xf7, //0x00002cf7 xorq %rsi, %rdi + 0x48, 0x21, 0xf0, //0x00002cfa andq %rsi, %rax + 0x48, 0x21, 0xf8, //0x00002cfd andq %rdi, %rax + 0x45, 0x31, 0xc0, //0x00002d00 xorl %r8d, %r8d + 0x48, 0x01, 0xc8, //0x00002d03 addq %rcx, %rax + 0x41, 0x0f, 0x92, 0xc0, //0x00002d06 setb %r8b + 0x48, 0x01, 0xc0, //0x00002d0a addq %rax, %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00002d0d movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xc8, //0x00002d17 xorq %rcx, %rax + 0x48, 0x21, 0xd8, //0x00002d1a andq %rbx, %rax + 0x48, 0xf7, 0xd0, //0x00002d1d notq %rax + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00002d20 jmp LBB0_494 + //0x00002d25 LBB0_493 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002d25 movq $-1, %rax + 0x45, 0x31, 0xc0, //0x00002d2c xorl %r8d, %r8d + //0x00002d2f LBB0_494 + 0x4c, 0x21, 0xf0, //0x00002d2f andq %r14, %rax + 0x66, 0x48, 0x0f, 0x6e, 0xd8, //0x00002d32 movq %rax, %xmm3 + 0x66, 0x41, 0x0f, 0x3a, 0x44, 0xd9, 0x00, //0x00002d37 pclmulqdq $0, %xmm9, %xmm3 + 0x66, 0x49, 0x0f, 0x7e, 0xde, //0x00002d3e movq %xmm3, %r14 + 0x4d, 0x31, 0xce, //0x00002d43 xorq %r9, %r14 + 0x66, 0x0f, 0x6f, 0xda, //0x00002d46 movdqa %xmm2, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xda, //0x00002d4a pcmpeqb %xmm10, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xd3, //0x00002d4f pmovmskb %xmm3, %r10d + 0x66, 0x0f, 0x6f, 0xdd, //0x00002d54 movdqa %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xda, //0x00002d58 pcmpeqb %xmm10, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x00002d5d pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xdf, //0x00002d61 movdqa %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xda, //0x00002d65 pcmpeqb %xmm10, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00002d6a pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xde, //0x00002d6e movdqa %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xda, //0x00002d72 pcmpeqb %xmm10, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x00002d77 pmovmskb %xmm3, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x00002d7b shlq $48, %rbx + 0x48, 0xc1, 0xe1, 0x20, //0x00002d7f shlq $32, %rcx + 0x48, 0xc1, 0xe0, 0x10, //0x00002d83 shlq $16, %rax + 0x49, 0x09, 0xc2, //0x00002d87 orq %rax, %r10 + 0x49, 0x09, 0xca, //0x00002d8a orq %rcx, %r10 + 0x49, 0x09, 0xda, //0x00002d8d orq %rbx, %r10 + 0x4d, 0x89, 0xf1, //0x00002d90 movq %r14, %r9 + 0x49, 0xf7, 0xd1, //0x00002d93 notq %r9 + 0x4d, 0x21, 0xca, //0x00002d96 andq %r9, %r10 + 0x66, 0x41, 0x0f, 0x74, 0xd3, //0x00002d99 pcmpeqb %xmm11, %xmm2 + 0x66, 0x0f, 0xd7, 0xc2, //0x00002d9e pmovmskb %xmm2, %eax + 0x66, 0x41, 0x0f, 0x74, 0xeb, //0x00002da2 pcmpeqb %xmm11, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00002da7 pmovmskb %xmm5, %ebx + 0x66, 0x41, 0x0f, 0x74, 0xfb, //0x00002dab pcmpeqb %xmm11, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00002db0 pmovmskb %xmm7, %esi + 0x66, 0x41, 0x0f, 0x74, 0xf3, //0x00002db4 pcmpeqb %xmm11, %xmm6 + 0x66, 0x0f, 0xd7, 0xce, //0x00002db9 pmovmskb %xmm6, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x00002dbd shlq $48, %rcx + 0x48, 0xc1, 0xe6, 0x20, //0x00002dc1 shlq $32, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x00002dc5 shlq $16, %rbx + 0x48, 0x09, 0xd8, //0x00002dc9 orq %rbx, %rax + 0x48, 0x09, 0xf0, //0x00002dcc orq %rsi, %rax + 0x48, 0x09, 0xc8, //0x00002dcf orq %rcx, %rax + 0x48, 0xbf, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, //0x00002dd2 movabsq $3689348814741910323, %rdi + 0x4c, 0x21, 0xc8, //0x00002ddc andq %r9, %rax + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x00002ddf je LBB0_498 + 0x49, 0xb9, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00002de5 movabsq $1085102592571150095, %r9 + 0x90, //0x00002def .p2align 4, 0x90 + //0x00002df0 LBB0_496 + 0x48, 0x8d, 0x58, 0xff, //0x00002df0 leaq $-1(%rax), %rbx + 0x48, 0x89, 0xd9, //0x00002df4 movq %rbx, %rcx + 0x4c, 0x21, 0xd1, //0x00002df7 andq %r10, %rcx + 0x48, 0x89, 0xce, //0x00002dfa movq %rcx, %rsi + 0x48, 0xd1, 0xee, //0x00002dfd shrq %rsi + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00002e00 movabsq $6148914691236517205, %rdx + 0x48, 0x21, 0xd6, //0x00002e0a andq %rdx, %rsi + 0x48, 0x29, 0xf1, //0x00002e0d subq %rsi, %rcx + 0x48, 0x89, 0xce, //0x00002e10 movq %rcx, %rsi + 0x48, 0x21, 0xfe, //0x00002e13 andq %rdi, %rsi + 0x48, 0xc1, 0xe9, 0x02, //0x00002e16 shrq $2, %rcx + 0x48, 0x21, 0xf9, //0x00002e1a andq %rdi, %rcx + 0x48, 0x01, 0xf1, //0x00002e1d addq %rsi, %rcx + 0x48, 0x89, 0xce, //0x00002e20 movq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x04, //0x00002e23 shrq $4, %rsi + 0x48, 0x01, 0xce, //0x00002e27 addq %rcx, %rsi + 0x4c, 0x21, 0xce, //0x00002e2a andq %r9, %rsi + 0x48, 0xb9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x00002e2d movabsq $72340172838076673, %rcx + 0x48, 0x0f, 0xaf, 0xf1, //0x00002e37 imulq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x38, //0x00002e3b shrq $56, %rsi + 0x4c, 0x01, 0xde, //0x00002e3f addq %r11, %rsi + 0x4c, 0x39, 0xee, //0x00002e42 cmpq %r13, %rsi + 0x0f, 0x86, 0x88, 0x00, 0x00, 0x00, //0x00002e45 jbe LBB0_515 + 0x49, 0xff, 0xc5, //0x00002e4b incq %r13 + 0x48, 0x21, 0xd8, //0x00002e4e andq %rbx, %rax + 0x0f, 0x85, 0x99, 0xff, 0xff, 0xff, //0x00002e51 jne LBB0_496 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00002e57 jmp LBB0_499 + //0x00002e5c LBB0_498 + 0x49, 0xb9, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00002e5c movabsq $1085102592571150095, %r9 + //0x00002e66 LBB0_499 + 0x49, 0xc1, 0xfe, 0x3f, //0x00002e66 sarq $63, %r14 + 0x4c, 0x89, 0xd0, //0x00002e6a movq %r10, %rax + 0x48, 0xd1, 0xe8, //0x00002e6d shrq %rax + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00002e70 movabsq $6148914691236517205, %rcx + 0x48, 0x21, 0xc8, //0x00002e7a andq %rcx, %rax + 0x49, 0x29, 0xc2, //0x00002e7d subq %rax, %r10 + 0x4c, 0x89, 0xd0, //0x00002e80 movq %r10, %rax + 0x48, 0x21, 0xf8, //0x00002e83 andq %rdi, %rax + 0x49, 0xc1, 0xea, 0x02, //0x00002e86 shrq $2, %r10 + 0x49, 0x21, 0xfa, //0x00002e8a andq %rdi, %r10 + 0x49, 0x01, 0xc2, //0x00002e8d addq %rax, %r10 + 0x4c, 0x89, 0xd0, //0x00002e90 movq %r10, %rax + 0x48, 0xc1, 0xe8, 0x04, //0x00002e93 shrq $4, %rax + 0x4c, 0x01, 0xd0, //0x00002e97 addq %r10, %rax + 0x4c, 0x21, 0xc8, //0x00002e9a andq %r9, %rax + 0x48, 0xb9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x00002e9d movabsq $72340172838076673, %rcx + 0x48, 0x0f, 0xaf, 0xc1, //0x00002ea7 imulq %rcx, %rax + 0x48, 0xc1, 0xe8, 0x38, //0x00002eab shrq $56, %rax + 0x49, 0x01, 0xc3, //0x00002eaf addq %rax, %r11 + 0x48, 0x8b, 0x7d, 0xc8, //0x00002eb2 movq $-56(%rbp), %rdi + 0x48, 0x83, 0xc7, 0x40, //0x00002eb6 addq $64, %rdi + 0x4c, 0x89, 0xf9, //0x00002eba movq %r15, %rcx + 0x48, 0x83, 0xc1, 0xc0, //0x00002ebd addq $-64, %rcx + 0x4d, 0x89, 0xf1, //0x00002ec1 movq %r14, %r9 + 0x48, 0x83, 0xf9, 0x40, //0x00002ec4 cmpq $64, %rcx + 0x0f, 0x8d, 0x5b, 0xfd, 0xff, 0xff, //0x00002ec8 jge LBB0_490 + 0xe9, 0xf3, 0xfb, 0xff, 0xff, //0x00002ece jmp LBB0_500 + //0x00002ed3 LBB0_515 + 0x4c, 0x8b, 0x45, 0xb0, //0x00002ed3 movq $-80(%rbp), %r8 + 0x49, 0x8b, 0x08, //0x00002ed7 movq (%r8), %rcx + 0x48, 0x0f, 0xbc, 0xc0, //0x00002eda bsfq %rax, %rax + 0x4c, 0x29, 0xf8, //0x00002ede subq %r15, %rax + 0x4c, 0x8d, 0x74, 0x08, 0x01, //0x00002ee1 leaq $1(%rax,%rcx), %r14 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00002ee6 movq $-48(%rbp), %r11 + 0x4d, 0x89, 0x33, //0x00002eea movq %r14, (%r11) + 0x49, 0x8b, 0x00, //0x00002eed movq (%r8), %rax + 0x49, 0x39, 0xc6, //0x00002ef0 cmpq %rax, %r14 + 0x4c, 0x0f, 0x47, 0xf0, //0x00002ef3 cmovaq %rax, %r14 + 0x4d, 0x89, 0x33, //0x00002ef7 movq %r14, (%r11) + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00002efa movabsq $4294977024, %r10 + 0x4c, 0x8b, 0x6d, 0xc0, //0x00002f04 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xa0, //0x00002f08 movq $-96(%rbp), %r9 + 0xe9, 0x7f, 0xf4, 0xff, 0xff, //0x00002f0c jmp LBB0_419 + //0x00002f11 LBB0_458 + 0x4d, 0x85, 0xd2, //0x00002f11 testq %r10, %r10 + 0x0f, 0x85, 0xad, 0x00, 0x00, 0x00, //0x00002f14 jne LBB0_523 + 0x4a, 0x8d, 0x4c, 0x08, 0x01, //0x00002f1a leaq $1(%rax,%r9), %rcx + 0x48, 0xf7, 0xd0, //0x00002f1f notq %rax + 0x4c, 0x01, 0xc0, //0x00002f22 addq %r8, %rax + //0x00002f25 LBB0_460 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00002f25 movabsq $4294977024, %r10 + 0x48, 0x85, 0xc0, //0x00002f2f testq %rax, %rax + 0x4c, 0x8b, 0x45, 0xb0, //0x00002f32 movq $-80(%rbp), %r8 + 0x4c, 0x8b, 0x4d, 0xa0, //0x00002f36 movq $-96(%rbp), %r9 + 0x0f, 0x8f, 0x1d, 0x00, 0x00, 0x00, //0x00002f3a jg LBB0_517 + 0xe9, 0x4b, 0xf4, 0xff, 0xff, //0x00002f40 jmp LBB0_419 + //0x00002f45 LBB0_516 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00002f45 movq $-2, %rdx + 0xbe, 0x02, 0x00, 0x00, 0x00, //0x00002f4c movl $2, %esi + 0x48, 0x01, 0xf1, //0x00002f51 addq %rsi, %rcx + 0x48, 0x01, 0xd0, //0x00002f54 addq %rdx, %rax + 0x0f, 0x8e, 0x33, 0xf4, 0xff, 0xff, //0x00002f57 jle LBB0_419 + //0x00002f5d LBB0_517 + 0x0f, 0xb6, 0x11, //0x00002f5d movzbl (%rcx), %edx + 0x80, 0xfa, 0x5c, //0x00002f60 cmpb $92, %dl + 0x0f, 0x84, 0xdc, 0xff, 0xff, 0xff, //0x00002f63 je LBB0_516 + 0x80, 0xfa, 0x22, //0x00002f69 cmpb $34, %dl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x00002f6c je LBB0_520 + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00002f72 movq $-1, %rdx + 0xbe, 0x01, 0x00, 0x00, 0x00, //0x00002f79 movl $1, %esi + 0x48, 0x01, 0xf1, //0x00002f7e addq %rsi, %rcx + 0x48, 0x01, 0xd0, //0x00002f81 addq %rdx, %rax + 0x0f, 0x8f, 0xd3, 0xff, 0xff, 0xff, //0x00002f84 jg LBB0_517 + 0xe9, 0x01, 0xf4, 0xff, 0xff, //0x00002f8a jmp LBB0_419 + //0x00002f8f LBB0_520 + 0x48, 0x29, 0xf9, //0x00002f8f subq %rdi, %rcx + 0x48, 0xff, 0xc1, //0x00002f92 incq %rcx + 0xe9, 0xd2, 0xf6, 0xff, 0xff, //0x00002f95 jmp LBB0_462 + //0x00002f9a LBB0_521 + 0x4a, 0x8d, 0x0c, 0x37, //0x00002f9a leaq (%rdi,%r14), %rcx + 0xe9, 0x82, 0xff, 0xff, 0xff, //0x00002f9e jmp LBB0_460 + //0x00002fa3 LBB0_522 + 0x4c, 0x8b, 0x45, 0xb0, //0x00002fa3 movq $-80(%rbp), %r8 + 0x4d, 0x8b, 0x30, //0x00002fa7 movq (%r8), %r14 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00002faa movq $-48(%rbp), %r11 + 0x4d, 0x89, 0x33, //0x00002fae movq %r14, (%r11) + 0x4c, 0x8b, 0x6d, 0xc0, //0x00002fb1 movq $-64(%rbp), %r13 + 0x49, 0x89, 0xc1, //0x00002fb5 movq %rax, %r9 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00002fb8 movabsq $4294977024, %r10 + 0xe9, 0xc9, 0xf3, 0xff, 0xff, //0x00002fc2 jmp LBB0_419 + //0x00002fc7 LBB0_523 + 0x48, 0x8b, 0x55, 0xa0, //0x00002fc7 movq $-96(%rbp), %rdx + 0x49, 0x8d, 0x48, 0xff, //0x00002fcb leaq $-1(%r8), %rcx + 0x48, 0x39, 0xc1, //0x00002fcf cmpq %rax, %rcx + 0x0f, 0x85, 0x1e, 0x00, 0x00, 0x00, //0x00002fd2 jne LBB0_525 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00002fd8 movq $-48(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xc0, //0x00002fdc movq $-64(%rbp), %r13 + 0x49, 0x89, 0xd1, //0x00002fe0 movq %rdx, %r9 + 0x4c, 0x8b, 0x45, 0xb0, //0x00002fe3 movq $-80(%rbp), %r8 + 0x49, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00002fe7 movabsq $4294977024, %r10 + 0xe9, 0x9a, 0xf3, 0xff, 0xff, //0x00002ff1 jmp LBB0_419 + //0x00002ff6 LBB0_525 + 0x4a, 0x8d, 0x4c, 0x08, 0x02, //0x00002ff6 leaq $2(%rax,%r9), %rcx + 0x49, 0x29, 0xc0, //0x00002ffb subq %rax, %r8 + 0x49, 0x83, 0xc0, 0xfe, //0x00002ffe addq $-2, %r8 + 0x4c, 0x89, 0xc0, //0x00003002 movq %r8, %rax + 0x4c, 0x8b, 0x5d, 0xd0, //0x00003005 movq $-48(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xc0, //0x00003009 movq $-64(%rbp), %r13 + 0xe9, 0x13, 0xff, 0xff, 0xff, //0x0000300d jmp LBB0_460 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003012 .p2align 4, 0x90 + //0x00003020 LBB0_447 + 0x49, 0x83, 0xc1, 0x10, //0x00003020 addq $16, %r9 + 0x4c, 0x89, 0xf0, //0x00003024 movq %r14, %rax + 0x4c, 0x3b, 0x8d, 0x30, 0xff, 0xff, 0xff, //0x00003027 cmpq $-208(%rbp), %r9 + 0x4c, 0x8b, 0x75, 0xa8, //0x0000302e movq $-88(%rbp), %r14 + 0x0f, 0x85, 0x57, 0xd1, 0xff, 0xff, //0x00003032 jne LBB0_2 + //0x00003038 LBB0_448 + 0x4d, 0x85, 0xf6, //0x00003038 testq %r14, %r14 + 0x0f, 0x84, 0x93, 0x00, 0x00, 0x00, //0x0000303b je LBB0_526 + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00003041 movl $1, %edx + 0x66, 0x48, 0x0f, 0x6e, 0xc2, //0x00003046 movq %rdx, %xmm0 + 0xf3, 0x41, 0x0f, 0x7f, 0x06, //0x0000304b movdqu %xmm0, (%r14) + 0x4d, 0x8b, 0x7d, 0x00, //0x00003050 movq (%r13), %r15 + 0x4c, 0x89, 0xf8, //0x00003054 movq %r15, %rax + 0x48, 0xf7, 0xd0, //0x00003057 notq %rax + 0x48, 0x89, 0x45, 0xb0, //0x0000305a movq %rax, $-80(%rbp) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x0000305e movl $1, %eax + 0x4c, 0x29, 0xf8, //0x00003063 subq %r15, %rax + 0x48, 0x89, 0x45, 0xa0, //0x00003066 movq %rax, $-96(%rbp) + 0x4d, 0x8b, 0x13, //0x0000306a movq (%r11), %r10 + 0x49, 0x8d, 0x47, 0x05, //0x0000306d leaq $5(%r15), %rax + 0x48, 0x89, 0x45, 0x90, //0x00003071 movq %rax, $-112(%rbp) + 0x48, 0xc7, 0x45, 0x98, 0xff, 0xff, 0xff, 0xff, //0x00003075 movq $-1, $-104(%rbp) + 0xf3, 0x0f, 0x6f, 0x05, 0xab, 0xcf, 0xff, 0xff, //0x0000307d movdqu $-12373(%rip), %xmm0 /* LCPI0_3+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0xb3, 0xcf, 0xff, 0xff, //0x00003085 movdqu $-12365(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x05, 0xea, 0xcf, 0xff, 0xff, //0x0000308d movdqu $-12310(%rip), %xmm8 /* LCPI0_8+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x1d, 0xf2, 0xcf, 0xff, 0xff, //0x00003096 movdqu $-12302(%rip), %xmm3 /* LCPI0_9+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x0d, 0xf9, 0xcf, 0xff, 0xff, //0x0000309e movdqu $-12295(%rip), %xmm9 /* LCPI0_10+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x15, 0x00, 0xd0, 0xff, 0xff, //0x000030a7 movdqu $-12288(%rip), %xmm10 /* LCPI0_11+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x1d, 0x57, 0xcf, 0xff, 0xff, //0x000030b0 movdqu $-12457(%rip), %xmm11 /* LCPI0_1+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x25, 0xfe, 0xcf, 0xff, 0xff, //0x000030b9 movdqu $-12290(%rip), %xmm12 /* LCPI0_12+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x2d, 0x05, 0xd0, 0xff, 0xff, //0x000030c2 movdqu $-12283(%rip), %xmm13 /* LCPI0_13+0(%rip) */ + 0x4c, 0x89, 0x7d, 0xb8, //0x000030cb movq %r15, $-72(%rbp) + 0xe9, 0x2f, 0x03, 0x00, 0x00, //0x000030cf jmp LBB0_586 + //0x000030d4 LBB0_526 + 0x4d, 0x8b, 0x45, 0x00, //0x000030d4 movq (%r13), %r8 + 0x49, 0x8b, 0x75, 0x08, //0x000030d8 movq $8(%r13), %rsi + 0x49, 0x8b, 0x13, //0x000030dc movq (%r11), %rdx + 0x48, 0x89, 0xd1, //0x000030df movq %rdx, %rcx + 0x48, 0x29, 0xf1, //0x000030e2 subq %rsi, %rcx + 0x0f, 0x83, 0x26, 0x00, 0x00, 0x00, //0x000030e5 jae LBB0_531 + 0x41, 0x8a, 0x04, 0x10, //0x000030eb movb (%r8,%rdx), %al + 0x3c, 0x0d, //0x000030ef cmpb $13, %al + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000030f1 je LBB0_531 + 0x3c, 0x20, //0x000030f7 cmpb $32, %al + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000030f9 je LBB0_531 + 0x04, 0xf7, //0x000030ff addb $-9, %al + 0x3c, 0x01, //0x00003101 cmpb $1, %al + 0x0f, 0x86, 0x08, 0x00, 0x00, 0x00, //0x00003103 jbe LBB0_531 + 0x49, 0x89, 0xd4, //0x00003109 movq %rdx, %r12 + 0xe9, 0x8a, 0x01, 0x00, 0x00, //0x0000310c jmp LBB0_562 + //0x00003111 LBB0_531 + 0x4c, 0x8d, 0x62, 0x01, //0x00003111 leaq $1(%rdx), %r12 + 0x49, 0x39, 0xf4, //0x00003115 cmpq %rsi, %r12 + 0x0f, 0x83, 0x1e, 0x00, 0x00, 0x00, //0x00003118 jae LBB0_535 + 0x43, 0x8a, 0x04, 0x20, //0x0000311e movb (%r8,%r12), %al + 0x3c, 0x0d, //0x00003122 cmpb $13, %al + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00003124 je LBB0_535 + 0x3c, 0x20, //0x0000312a cmpb $32, %al + 0x0f, 0x84, 0x0a, 0x00, 0x00, 0x00, //0x0000312c je LBB0_535 + 0x04, 0xf7, //0x00003132 addb $-9, %al + 0x3c, 0x01, //0x00003134 cmpb $1, %al + 0x0f, 0x87, 0x5f, 0x01, 0x00, 0x00, //0x00003136 ja LBB0_562 + //0x0000313c LBB0_535 + 0x4c, 0x8d, 0x62, 0x02, //0x0000313c leaq $2(%rdx), %r12 + 0x49, 0x39, 0xf4, //0x00003140 cmpq %rsi, %r12 + 0x0f, 0x83, 0x1e, 0x00, 0x00, 0x00, //0x00003143 jae LBB0_539 + 0x43, 0x8a, 0x04, 0x20, //0x00003149 movb (%r8,%r12), %al + 0x3c, 0x0d, //0x0000314d cmpb $13, %al + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x0000314f je LBB0_539 + 0x3c, 0x20, //0x00003155 cmpb $32, %al + 0x0f, 0x84, 0x0a, 0x00, 0x00, 0x00, //0x00003157 je LBB0_539 + 0x04, 0xf7, //0x0000315d addb $-9, %al + 0x3c, 0x01, //0x0000315f cmpb $1, %al + 0x0f, 0x87, 0x34, 0x01, 0x00, 0x00, //0x00003161 ja LBB0_562 + //0x00003167 LBB0_539 + 0x4c, 0x8d, 0x62, 0x03, //0x00003167 leaq $3(%rdx), %r12 + 0x49, 0x39, 0xf4, //0x0000316b cmpq %rsi, %r12 + 0x0f, 0x83, 0x1e, 0x00, 0x00, 0x00, //0x0000316e jae LBB0_543 + 0x43, 0x8a, 0x04, 0x20, //0x00003174 movb (%r8,%r12), %al + 0x3c, 0x0d, //0x00003178 cmpb $13, %al + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x0000317a je LBB0_543 + 0x3c, 0x20, //0x00003180 cmpb $32, %al + 0x0f, 0x84, 0x0a, 0x00, 0x00, 0x00, //0x00003182 je LBB0_543 + 0x04, 0xf7, //0x00003188 addb $-9, %al + 0x3c, 0x01, //0x0000318a cmpb $1, %al + 0x0f, 0x87, 0x09, 0x01, 0x00, 0x00, //0x0000318c ja LBB0_562 + //0x00003192 LBB0_543 + 0x48, 0x8d, 0x7a, 0x04, //0x00003192 leaq $4(%rdx), %rdi + 0x48, 0x39, 0xfe, //0x00003196 cmpq %rdi, %rsi + 0x0f, 0x86, 0xf0, 0x18, 0x00, 0x00, //0x00003199 jbe LBB0_869 + 0x48, 0x39, 0xfe, //0x0000319f cmpq %rdi, %rsi + 0x0f, 0x84, 0xbc, 0x00, 0x00, 0x00, //0x000031a2 je LBB0_559 + 0x49, 0x8d, 0x3c, 0x30, //0x000031a8 leaq (%r8,%rsi), %rdi + 0x48, 0x83, 0xc1, 0x04, //0x000031ac addq $4, %rcx + 0x4e, 0x8d, 0x64, 0x02, 0x05, //0x000031b0 leaq $5(%rdx,%r8), %r12 + 0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000031b5 movabsq $4294977024, %rax + 0x90, //0x000031bf .p2align 4, 0x90 + //0x000031c0 LBB0_546 + 0x41, 0x0f, 0xbe, 0x54, 0x24, 0xff, //0x000031c0 movsbl $-1(%r12), %edx + 0x83, 0xfa, 0x20, //0x000031c6 cmpl $32, %edx + 0x0f, 0x87, 0xb3, 0x00, 0x00, 0x00, //0x000031c9 ja LBB0_561 + 0x48, 0x0f, 0xa3, 0xd0, //0x000031cf btq %rdx, %rax + 0x0f, 0x83, 0xa9, 0x00, 0x00, 0x00, //0x000031d3 jae LBB0_561 + 0x49, 0xff, 0xc4, //0x000031d9 incq %r12 + 0x48, 0xff, 0xc1, //0x000031dc incq %rcx + 0x0f, 0x85, 0xdb, 0xff, 0xff, 0xff, //0x000031df jne LBB0_546 + 0xe9, 0x7d, 0x00, 0x00, 0x00, //0x000031e5 jmp LBB0_560 + //0x000031ea LBB0_549 + 0x49, 0x89, 0x33, //0x000031ea movq %rsi, (%r11) + 0x49, 0x89, 0xf6, //0x000031ed movq %rsi, %r14 + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x000031f0 jmp LBB0_556 + //0x000031f5 LBB0_550 + 0x3c, 0x5d, //0x000031f5 cmpb $93, %al + 0x0f, 0x84, 0x2d, 0x00, 0x00, 0x00, //0x000031f7 je LBB0_554 + 0xe9, 0x40, 0x00, 0x00, 0x00, //0x000031fd jmp LBB0_556 + //0x00003202 LBB0_552 + 0x49, 0xff, 0xce, //0x00003202 decq %r14 + 0x4d, 0x89, 0x33, //0x00003205 movq %r14, (%r11) + 0x48, 0xc7, 0xc1, 0xde, 0xff, 0xff, 0xff, //0x00003208 movq $-34, %rcx + 0xe9, 0x3b, 0x00, 0x00, 0x00, //0x0000320f jmp LBB0_558 + //0x00003214 LBB0_553 + 0x80, 0xf9, 0x7d, //0x00003214 cmpb $125, %cl + 0x0f, 0x85, 0x25, 0x00, 0x00, 0x00, //0x00003217 jne LBB0_556 + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x0000321d jmp LBB0_554 + //0x00003222 LBB0_251 + 0x3c, 0x7d, //0x00003222 cmpb $125, %al + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x00003224 jne LBB0_556 + //0x0000322a LBB0_554 + 0x49, 0xff, 0xce, //0x0000322a decq %r14 + 0x4d, 0x89, 0x33, //0x0000322d movq %r14, (%r11) + 0x48, 0xc7, 0xc1, 0xdf, 0xff, 0xff, 0xff, //0x00003230 movq $-33, %rcx + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00003237 jmp LBB0_558 + //0x0000323c LBB0_555 + 0x49, 0x89, 0x3b, //0x0000323c movq %rdi, (%r11) + 0x49, 0x89, 0xfe, //0x0000323f movq %rdi, %r14 + //0x00003242 LBB0_556 + 0x49, 0xff, 0xce, //0x00003242 decq %r14 + 0x4d, 0x89, 0x33, //0x00003245 movq %r14, (%r11) + //0x00003248 LBB0_557 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00003248 movq $-2, %rcx + //0x0000324f LBB0_558 + 0x48, 0x89, 0xc8, //0x0000324f movq %rcx, %rax + 0x48, 0x81, 0xc4, 0xa8, 0x00, 0x00, 0x00, //0x00003252 addq $168, %rsp + 0x5b, //0x00003259 popq %rbx + 0x41, 0x5c, //0x0000325a popq %r12 + 0x41, 0x5d, //0x0000325c popq %r13 + 0x41, 0x5e, //0x0000325e popq %r14 + 0x41, 0x5f, //0x00003260 popq %r15 + 0x5d, //0x00003262 popq %rbp + 0xc3, //0x00003263 retq + //0x00003264 LBB0_559 + 0x4c, 0x01, 0xc7, //0x00003264 addq %r8, %rdi + //0x00003267 LBB0_560 + 0x4c, 0x29, 0xc7, //0x00003267 subq %r8, %rdi + 0x49, 0x89, 0xfc, //0x0000326a movq %rdi, %r12 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000326d movq $-1, %rcx + 0x49, 0x39, 0xf4, //0x00003274 cmpq %rsi, %r12 + 0x0f, 0x83, 0xd2, 0xff, 0xff, 0xff, //0x00003277 jae LBB0_558 + 0xe9, 0x19, 0x00, 0x00, 0x00, //0x0000327d jmp LBB0_562 + //0x00003282 LBB0_561 + 0x4c, 0x89, 0xc0, //0x00003282 movq %r8, %rax + 0x48, 0xf7, 0xd0, //0x00003285 notq %rax + 0x49, 0x01, 0xc4, //0x00003288 addq %rax, %r12 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000328b movq $-1, %rcx + 0x49, 0x39, 0xf4, //0x00003292 cmpq %rsi, %r12 + 0x0f, 0x83, 0xb4, 0xff, 0xff, 0xff, //0x00003295 jae LBB0_558 + //0x0000329b LBB0_562 + 0x49, 0x8d, 0x7c, 0x24, 0x01, //0x0000329b leaq $1(%r12), %rdi + 0x49, 0x89, 0x3b, //0x000032a0 movq %rdi, (%r11) + 0x43, 0x0f, 0xbe, 0x04, 0x20, //0x000032a3 movsbl (%r8,%r12), %eax + 0x83, 0xf8, 0x7b, //0x000032a8 cmpl $123, %eax + 0x0f, 0x87, 0x2e, 0x18, 0x00, 0x00, //0x000032ab ja LBB0_876 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000032b1 movq $-1, %rcx + 0x48, 0x8d, 0x15, 0x79, 0x2c, 0x00, 0x00, //0x000032b8 leaq $11385(%rip), %rdx /* LJTI0_6+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x000032bf movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x000032c3 addq %rdx, %rax + 0xff, 0xe0, //0x000032c6 jmpq *%rax + //0x000032c8 LBB0_564 + 0x49, 0x8b, 0x55, 0x08, //0x000032c8 movq $8(%r13), %rdx + 0x48, 0x89, 0xd1, //0x000032cc movq %rdx, %rcx + 0x48, 0x29, 0xf9, //0x000032cf subq %rdi, %rcx + 0x4c, 0x01, 0xc7, //0x000032d2 addq %r8, %rdi + 0x48, 0x83, 0xf9, 0x10, //0x000032d5 cmpq $16, %rcx + 0x0f, 0x82, 0x6e, 0x00, 0x00, 0x00, //0x000032d9 jb LBB0_569 + 0x4c, 0x29, 0xe2, //0x000032df subq %r12, %rdx + 0x48, 0x83, 0xc2, 0xef, //0x000032e2 addq $-17, %rdx + 0x48, 0x89, 0xd0, //0x000032e6 movq %rdx, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x000032e9 andq $-16, %rax + 0x4c, 0x01, 0xe0, //0x000032ed addq %r12, %rax + 0x49, 0x8d, 0x74, 0x00, 0x11, //0x000032f0 leaq $17(%r8,%rax), %rsi + 0x83, 0xe2, 0x0f, //0x000032f5 andl $15, %edx + 0xf3, 0x0f, 0x6f, 0x05, 0x00, 0xcd, 0xff, 0xff, //0x000032f8 movdqu $-13056(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x08, 0xcd, 0xff, 0xff, //0x00003300 movdqu $-13048(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x15, 0x10, 0xcd, 0xff, 0xff, //0x00003308 movdqu $-13040(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + //0x00003310 .p2align 4, 0x90 + //0x00003310 LBB0_566 + 0xf3, 0x0f, 0x6f, 0x1f, //0x00003310 movdqu (%rdi), %xmm3 + 0x66, 0x0f, 0x6f, 0xe3, //0x00003314 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0x74, 0xe0, //0x00003318 pcmpeqb %xmm0, %xmm4 + 0x66, 0x0f, 0xeb, 0xd9, //0x0000331c por %xmm1, %xmm3 + 0x66, 0x0f, 0x74, 0xda, //0x00003320 pcmpeqb %xmm2, %xmm3 + 0x66, 0x0f, 0xeb, 0xdc, //0x00003324 por %xmm4, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x00003328 pmovmskb %xmm3, %eax + 0x66, 0x85, 0xc0, //0x0000332c testw %ax, %ax + 0x0f, 0x85, 0x64, 0x00, 0x00, 0x00, //0x0000332f jne LBB0_577 + 0x48, 0x83, 0xc7, 0x10, //0x00003335 addq $16, %rdi + 0x48, 0x83, 0xc1, 0xf0, //0x00003339 addq $-16, %rcx + 0x48, 0x83, 0xf9, 0x0f, //0x0000333d cmpq $15, %rcx + 0x0f, 0x87, 0xc9, 0xff, 0xff, 0xff, //0x00003341 ja LBB0_566 + 0x48, 0x89, 0xd1, //0x00003347 movq %rdx, %rcx + 0x48, 0x89, 0xf7, //0x0000334a movq %rsi, %rdi + //0x0000334d LBB0_569 + 0x48, 0x85, 0xc9, //0x0000334d testq %rcx, %rcx + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x00003350 je LBB0_576 + 0x48, 0x8d, 0x04, 0x0f, //0x00003356 leaq (%rdi,%rcx), %rax + //0x0000335a LBB0_571 + 0x0f, 0xb6, 0x17, //0x0000335a movzbl (%rdi), %edx + 0x80, 0xfa, 0x2c, //0x0000335d cmpb $44, %dl + 0x0f, 0x84, 0xa8, 0x21, 0x00, 0x00, //0x00003360 je LBB0_952 + 0x80, 0xfa, 0x7d, //0x00003366 cmpb $125, %dl + 0x0f, 0x84, 0x9f, 0x21, 0x00, 0x00, //0x00003369 je LBB0_952 + 0x80, 0xfa, 0x5d, //0x0000336f cmpb $93, %dl + 0x0f, 0x84, 0x96, 0x21, 0x00, 0x00, //0x00003372 je LBB0_952 + 0x48, 0xff, 0xc7, //0x00003378 incq %rdi + 0x48, 0xff, 0xc9, //0x0000337b decq %rcx + 0x0f, 0x85, 0xd6, 0xff, 0xff, 0xff, //0x0000337e jne LBB0_571 + 0x48, 0x89, 0xc7, //0x00003384 movq %rax, %rdi + //0x00003387 LBB0_576 + 0x4c, 0x29, 0xc7, //0x00003387 subq %r8, %rdi + 0x48, 0x8b, 0x45, 0xd0, //0x0000338a movq $-48(%rbp), %rax + 0x48, 0x89, 0x38, //0x0000338e movq %rdi, (%rax) + 0x4c, 0x89, 0xe1, //0x00003391 movq %r12, %rcx + 0xe9, 0xb6, 0xfe, 0xff, 0xff, //0x00003394 jmp LBB0_558 + //0x00003399 LBB0_577 + 0x0f, 0xb7, 0xc0, //0x00003399 movzwl %ax, %eax + 0x48, 0x0f, 0xbc, 0xc0, //0x0000339c bsfq %rax, %rax + 0x4c, 0x29, 0xc7, //0x000033a0 subq %r8, %rdi + 0x48, 0x01, 0xc7, //0x000033a3 addq %rax, %rdi + //0x000033a6 LBB0_578 + 0x49, 0x89, 0x3b, //0x000033a6 movq %rdi, (%r11) + 0x4c, 0x89, 0xe1, //0x000033a9 movq %r12, %rcx + 0xe9, 0x9e, 0xfe, 0xff, 0xff, //0x000033ac jmp LBB0_558 + //0x000033b1 LBB0_579 + 0x48, 0x85, 0xc9, //0x000033b1 testq %rcx, %rcx + 0x49, 0x8d, 0x42, 0xff, //0x000033b4 leaq $-1(%r10), %rax + 0x49, 0xf7, 0xd2, //0x000033b8 notq %r10 + 0x4c, 0x0f, 0x48, 0xd2, //0x000033bb cmovsq %rdx, %r10 + 0x49, 0x39, 0xc0, //0x000033bf cmpq %rax, %r8 + 0x49, 0x0f, 0x44, 0xd2, //0x000033c2 cmoveq %r10, %rdx + 0x49, 0x89, 0xd2, //0x000033c6 movq %rdx, %r10 + //0x000033c9 LBB0_580 + 0x4c, 0x8b, 0x5d, 0xd0, //0x000033c9 movq $-48(%rbp), %r11 + //0x000033cd LBB0_581 + 0x4d, 0x85, 0xd2, //0x000033cd testq %r10, %r10 + 0x0f, 0x88, 0xfa, 0x20, 0x00, 0x00, //0x000033d0 js LBB0_942 + 0x4d, 0x01, 0xca, //0x000033d6 addq %r9, %r10 + //0x000033d9 LBB0_583 + 0x4d, 0x89, 0x13, //0x000033d9 movq %r10, (%r11) + 0x4c, 0x89, 0xc9, //0x000033dc movq %r9, %rcx + 0x4d, 0x85, 0xc9, //0x000033df testq %r9, %r9 + 0x0f, 0x88, 0x67, 0xfe, 0xff, 0xff, //0x000033e2 js LBB0_558 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000033e8 .p2align 4, 0x90 + //0x000033f0 LBB0_584 + 0x49, 0x8b, 0x36, //0x000033f0 movq (%r14), %rsi + 0x48, 0x89, 0xf2, //0x000033f3 movq %rsi, %rdx + 0x48, 0x8b, 0x4d, 0x98, //0x000033f6 movq $-104(%rbp), %rcx + 0x48, 0x85, 0xf6, //0x000033fa testq %rsi, %rsi + 0x0f, 0x84, 0x4c, 0xfe, 0xff, 0xff, //0x000033fd je LBB0_558 + //0x00003403 LBB0_586 + 0x49, 0x8b, 0x4d, 0x08, //0x00003403 movq $8(%r13), %rcx + 0x4c, 0x89, 0xd6, //0x00003407 movq %r10, %rsi + 0x48, 0x29, 0xce, //0x0000340a subq %rcx, %rsi + 0x0f, 0x83, 0x2d, 0x00, 0x00, 0x00, //0x0000340d jae LBB0_591 + 0x43, 0x8a, 0x04, 0x17, //0x00003413 movb (%r15,%r10), %al + 0x3c, 0x0d, //0x00003417 cmpb $13, %al + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00003419 je LBB0_591 + 0x3c, 0x20, //0x0000341f cmpb $32, %al + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00003421 je LBB0_591 + 0x04, 0xf7, //0x00003427 addb $-9, %al + 0x3c, 0x01, //0x00003429 cmpb $1, %al + 0x0f, 0x86, 0x0f, 0x00, 0x00, 0x00, //0x0000342b jbe LBB0_591 + 0x4d, 0x89, 0xd1, //0x00003431 movq %r10, %r9 + 0xe9, 0x24, 0x01, 0x00, 0x00, //0x00003434 jmp LBB0_612 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003439 .p2align 4, 0x90 + //0x00003440 LBB0_591 + 0x4d, 0x8d, 0x4a, 0x01, //0x00003440 leaq $1(%r10), %r9 + 0x49, 0x39, 0xc9, //0x00003444 cmpq %rcx, %r9 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00003447 jae LBB0_595 + 0x43, 0x8a, 0x1c, 0x0f, //0x0000344d movb (%r15,%r9), %bl + 0x80, 0xfb, 0x0d, //0x00003451 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00003454 je LBB0_595 + 0x80, 0xfb, 0x20, //0x0000345a cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000345d je LBB0_595 + 0x80, 0xc3, 0xf7, //0x00003463 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00003466 cmpb $1, %bl + 0x0f, 0x87, 0xee, 0x00, 0x00, 0x00, //0x00003469 ja LBB0_612 + 0x90, //0x0000346f .p2align 4, 0x90 + //0x00003470 LBB0_595 + 0x4d, 0x8d, 0x4a, 0x02, //0x00003470 leaq $2(%r10), %r9 + 0x49, 0x39, 0xc9, //0x00003474 cmpq %rcx, %r9 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00003477 jae LBB0_599 + 0x43, 0x8a, 0x1c, 0x0f, //0x0000347d movb (%r15,%r9), %bl + 0x80, 0xfb, 0x0d, //0x00003481 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00003484 je LBB0_599 + 0x80, 0xfb, 0x20, //0x0000348a cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000348d je LBB0_599 + 0x80, 0xc3, 0xf7, //0x00003493 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x00003496 cmpb $1, %bl + 0x0f, 0x87, 0xbe, 0x00, 0x00, 0x00, //0x00003499 ja LBB0_612 + 0x90, //0x0000349f .p2align 4, 0x90 + //0x000034a0 LBB0_599 + 0x4d, 0x8d, 0x4a, 0x03, //0x000034a0 leaq $3(%r10), %r9 + 0x49, 0x39, 0xc9, //0x000034a4 cmpq %rcx, %r9 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000034a7 jae LBB0_603 + 0x43, 0x8a, 0x1c, 0x0f, //0x000034ad movb (%r15,%r9), %bl + 0x80, 0xfb, 0x0d, //0x000034b1 cmpb $13, %bl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000034b4 je LBB0_603 + 0x80, 0xfb, 0x20, //0x000034ba cmpb $32, %bl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x000034bd je LBB0_603 + 0x80, 0xc3, 0xf7, //0x000034c3 addb $-9, %bl + 0x80, 0xfb, 0x01, //0x000034c6 cmpb $1, %bl + 0x0f, 0x87, 0x8e, 0x00, 0x00, 0x00, //0x000034c9 ja LBB0_612 + 0x90, //0x000034cf .p2align 4, 0x90 + //0x000034d0 LBB0_603 + 0x49, 0x8d, 0x7a, 0x04, //0x000034d0 leaq $4(%r10), %rdi + 0x48, 0x39, 0xf9, //0x000034d4 cmpq %rdi, %rcx + 0x0f, 0x86, 0xb2, 0x15, 0x00, 0x00, //0x000034d7 jbe LBB0_869 + 0x48, 0x39, 0xf9, //0x000034dd cmpq %rdi, %rcx + 0x0f, 0x84, 0x4a, 0x00, 0x00, 0x00, //0x000034e0 je LBB0_609 + 0x49, 0x8d, 0x3c, 0x0f, //0x000034e6 leaq (%r15,%rcx), %rdi + 0x48, 0x83, 0xc6, 0x04, //0x000034ea addq $4, %rsi + 0x4c, 0x03, 0x55, 0x90, //0x000034ee addq $-112(%rbp), %r10 + 0x4d, 0x89, 0xd1, //0x000034f2 movq %r10, %r9 + 0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000034f5 movabsq $4294977024, %rax + 0x90, //0x000034ff .p2align 4, 0x90 + //0x00003500 LBB0_606 + 0x41, 0x0f, 0xbe, 0x59, 0xff, //0x00003500 movsbl $-1(%r9), %ebx + 0x83, 0xfb, 0x20, //0x00003505 cmpl $32, %ebx + 0x0f, 0x87, 0x42, 0x00, 0x00, 0x00, //0x00003508 ja LBB0_611 + 0x48, 0x0f, 0xa3, 0xd8, //0x0000350e btq %rbx, %rax + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x00003512 jae LBB0_611 + 0x49, 0xff, 0xc1, //0x00003518 incq %r9 + 0x48, 0xff, 0xc6, //0x0000351b incq %rsi + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x0000351e jne LBB0_606 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00003524 jmp LBB0_610 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003529 .p2align 4, 0x90 + //0x00003530 LBB0_609 + 0x4c, 0x01, 0xff, //0x00003530 addq %r15, %rdi + //0x00003533 LBB0_610 + 0x4c, 0x29, 0xff, //0x00003533 subq %r15, %rdi + 0x49, 0x89, 0xf9, //0x00003536 movq %rdi, %r9 + 0x49, 0x39, 0xc9, //0x00003539 cmpq %rcx, %r9 + 0x0f, 0x82, 0x1b, 0x00, 0x00, 0x00, //0x0000353c jb LBB0_612 + 0xe9, 0x4b, 0x15, 0x00, 0x00, //0x00003542 jmp LBB0_870 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003547 .p2align 4, 0x90 + //0x00003550 LBB0_611 + 0x4c, 0x03, 0x4d, 0xb0, //0x00003550 addq $-80(%rbp), %r9 + 0x49, 0x39, 0xc9, //0x00003554 cmpq %rcx, %r9 + 0x0f, 0x83, 0x35, 0x15, 0x00, 0x00, //0x00003557 jae LBB0_870 + //0x0000355d LBB0_612 + 0x4d, 0x8d, 0x51, 0x01, //0x0000355d leaq $1(%r9), %r10 + 0x4d, 0x89, 0x13, //0x00003561 movq %r10, (%r11) + 0x43, 0x0f, 0xbe, 0x3c, 0x0f, //0x00003564 movsbl (%r15,%r9), %edi + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00003569 movq $-1, %rcx + 0x85, 0xff, //0x00003570 testl %edi, %edi + 0x0f, 0x84, 0xd7, 0xfc, 0xff, 0xff, //0x00003572 je LBB0_558 + 0x48, 0x8d, 0x72, 0xff, //0x00003578 leaq $-1(%rdx), %rsi + 0x41, 0x8b, 0x1c, 0xd6, //0x0000357c movl (%r14,%rdx,8), %ebx + 0x48, 0x8b, 0x45, 0x98, //0x00003580 movq $-104(%rbp), %rax + 0x48, 0x83, 0xf8, 0xff, //0x00003584 cmpq $-1, %rax + 0x49, 0x0f, 0x44, 0xc1, //0x00003588 cmoveq %r9, %rax + 0x48, 0x89, 0x45, 0x98, //0x0000358c movq %rax, $-104(%rbp) + 0xff, 0xcb, //0x00003590 decl %ebx + 0x83, 0xfb, 0x05, //0x00003592 cmpl $5, %ebx + 0x0f, 0x87, 0x33, 0x02, 0x00, 0x00, //0x00003595 ja LBB0_641 + 0x48, 0x8d, 0x05, 0xb6, 0x25, 0x00, 0x00, //0x0000359b leaq $9654(%rip), %rax /* LJTI0_2+0(%rip) */ + 0x48, 0x63, 0x1c, 0x98, //0x000035a2 movslq (%rax,%rbx,4), %rbx + 0x48, 0x01, 0xc3, //0x000035a6 addq %rax, %rbx + 0xff, 0xe3, //0x000035a9 jmpq *%rbx + //0x000035ab LBB0_615 + 0x83, 0xff, 0x2c, //0x000035ab cmpl $44, %edi + 0x0f, 0x84, 0xfa, 0x04, 0x00, 0x00, //0x000035ae je LBB0_682 + 0x83, 0xff, 0x5d, //0x000035b4 cmpl $93, %edi + 0x0f, 0x84, 0xa3, 0x04, 0x00, 0x00, //0x000035b7 je LBB0_617 + 0xe9, 0x86, 0xfc, 0xff, 0xff, //0x000035bd jmp LBB0_557 + //0x000035c2 LBB0_618 + 0x40, 0x80, 0xff, 0x5d, //0x000035c2 cmpb $93, %dil + 0x0f, 0x84, 0x94, 0x04, 0x00, 0x00, //0x000035c6 je LBB0_617 + 0x49, 0xc7, 0x04, 0xd6, 0x01, 0x00, 0x00, 0x00, //0x000035cc movq $1, (%r14,%rdx,8) + 0x83, 0xff, 0x7b, //0x000035d4 cmpl $123, %edi + 0x0f, 0x86, 0xfd, 0x01, 0x00, 0x00, //0x000035d7 jbe LBB0_620 + 0xe9, 0x66, 0xfc, 0xff, 0xff, //0x000035dd jmp LBB0_557 + //0x000035e2 LBB0_621 + 0x83, 0xff, 0x2c, //0x000035e2 cmpl $44, %edi + 0x0f, 0x85, 0x6c, 0x04, 0x00, 0x00, //0x000035e5 jne LBB0_622 + 0x48, 0x81, 0xfa, 0xff, 0x0f, 0x00, 0x00, //0x000035eb cmpq $4095, %rdx + 0x0f, 0x8f, 0xa6, 0x14, 0x00, 0x00, //0x000035f2 jg LBB0_955 + 0x48, 0x8d, 0x42, 0x01, //0x000035f8 leaq $1(%rdx), %rax + 0x49, 0x89, 0x06, //0x000035fc movq %rax, (%r14) + 0x49, 0xc7, 0x44, 0xd6, 0x08, 0x03, 0x00, 0x00, 0x00, //0x000035ff movq $3, $8(%r14,%rdx,8) + 0xe9, 0xe3, 0xfd, 0xff, 0xff, //0x00003608 jmp LBB0_584 + //0x0000360d LBB0_623 + 0x40, 0x80, 0xff, 0x22, //0x0000360d cmpb $34, %dil + 0x0f, 0x85, 0x31, 0xfc, 0xff, 0xff, //0x00003611 jne LBB0_557 + 0x49, 0xc7, 0x04, 0xd6, 0x04, 0x00, 0x00, 0x00, //0x00003617 movq $4, (%r14,%rdx,8) + 0x49, 0x8b, 0x45, 0x08, //0x0000361f movq $8(%r13), %rax + 0x49, 0x89, 0xc0, //0x00003623 movq %rax, %r8 + 0x4d, 0x29, 0xd0, //0x00003626 subq %r10, %r8 + 0x0f, 0x84, 0xf9, 0x1f, 0x00, 0x00, //0x00003629 je LBB0_967 + 0x4c, 0x89, 0x55, 0xc8, //0x0000362f movq %r10, $-56(%rbp) + 0x4d, 0x01, 0xfa, //0x00003633 addq %r15, %r10 + 0x49, 0x83, 0xf8, 0x40, //0x00003636 cmpq $64, %r8 + 0x0f, 0x82, 0x75, 0x11, 0x00, 0x00, //0x0000363a jb LBB0_840 + 0x44, 0x89, 0xc1, //0x00003640 movl %r8d, %ecx + 0x83, 0xe1, 0x3f, //0x00003643 andl $63, %ecx + 0x48, 0x89, 0x4d, 0x80, //0x00003646 movq %rcx, $-128(%rbp) + 0x48, 0x89, 0xc1, //0x0000364a movq %rax, %rcx + 0x4c, 0x29, 0xc9, //0x0000364d subq %r9, %rcx + 0x48, 0x83, 0xc1, 0xbf, //0x00003650 addq $-65, %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00003654 andq $-64, %rcx + 0x4c, 0x01, 0xc9, //0x00003658 addq %r9, %rcx + 0x49, 0x8d, 0x4c, 0x0f, 0x41, //0x0000365b leaq $65(%r15,%rcx), %rcx + 0x48, 0x89, 0x4d, 0x88, //0x00003660 movq %rcx, $-120(%rbp) + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00003664 movq $-1, %r15 + 0x45, 0x31, 0xed, //0x0000366b xorl %r13d, %r13d + 0x90, 0x90, //0x0000366e .p2align 4, 0x90 + //0x00003670 LBB0_627 + 0xf3, 0x41, 0x0f, 0x6f, 0x12, //0x00003670 movdqu (%r10), %xmm2 + 0xf3, 0x41, 0x0f, 0x6f, 0x6a, 0x10, //0x00003675 movdqu $16(%r10), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x72, 0x20, //0x0000367b movdqu $32(%r10), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x7a, 0x30, //0x00003681 movdqu $48(%r10), %xmm7 + 0x66, 0x0f, 0x6f, 0xe2, //0x00003687 movdqa %xmm2, %xmm4 + 0x66, 0x0f, 0x74, 0xe0, //0x0000368b pcmpeqb %xmm0, %xmm4 + 0x66, 0x0f, 0xd7, 0xdc, //0x0000368f pmovmskb %xmm4, %ebx + 0x66, 0x0f, 0x6f, 0xe5, //0x00003693 movdqa %xmm5, %xmm4 + 0x66, 0x0f, 0x74, 0xe0, //0x00003697 pcmpeqb %xmm0, %xmm4 + 0x66, 0x0f, 0xd7, 0xcc, //0x0000369b pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xe6, //0x0000369f movdqa %xmm6, %xmm4 + 0x66, 0x0f, 0x74, 0xe0, //0x000036a3 pcmpeqb %xmm0, %xmm4 + 0x66, 0x0f, 0xd7, 0xd4, //0x000036a7 pmovmskb %xmm4, %edx + 0x66, 0x0f, 0x6f, 0xe7, //0x000036ab movdqa %xmm7, %xmm4 + 0x66, 0x0f, 0x74, 0xe0, //0x000036af pcmpeqb %xmm0, %xmm4 + 0x66, 0x0f, 0xd7, 0xfc, //0x000036b3 pmovmskb %xmm4, %edi + 0x66, 0x0f, 0x74, 0xd1, //0x000036b7 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xf2, //0x000036bb pmovmskb %xmm2, %esi + 0x66, 0x0f, 0x74, 0xe9, //0x000036bf pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xf5, //0x000036c3 pmovmskb %xmm5, %r14d + 0x66, 0x0f, 0x74, 0xf1, //0x000036c8 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xde, //0x000036cc pmovmskb %xmm6, %r11d + 0x66, 0x0f, 0x74, 0xf9, //0x000036d1 pcmpeqb %xmm1, %xmm7 + 0x66, 0x44, 0x0f, 0xd7, 0xe7, //0x000036d5 pmovmskb %xmm7, %r12d + 0x48, 0xc1, 0xe7, 0x30, //0x000036da shlq $48, %rdi + 0x48, 0xc1, 0xe2, 0x20, //0x000036de shlq $32, %rdx + 0x48, 0xc1, 0xe1, 0x10, //0x000036e2 shlq $16, %rcx + 0x48, 0x09, 0xcb, //0x000036e6 orq %rcx, %rbx + 0x48, 0x09, 0xd3, //0x000036e9 orq %rdx, %rbx + 0x49, 0xc1, 0xe4, 0x30, //0x000036ec shlq $48, %r12 + 0x49, 0xc1, 0xe3, 0x20, //0x000036f0 shlq $32, %r11 + 0x49, 0xc1, 0xe6, 0x10, //0x000036f4 shlq $16, %r14 + 0x4c, 0x09, 0xf6, //0x000036f8 orq %r14, %rsi + 0x4c, 0x09, 0xde, //0x000036fb orq %r11, %rsi + 0x4c, 0x09, 0xe6, //0x000036fe orq %r12, %rsi + 0x49, 0x83, 0xff, 0xff, //0x00003701 cmpq $-1, %r15 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00003705 jne LBB0_629 + 0x48, 0x85, 0xf6, //0x0000370b testq %rsi, %rsi + 0x0f, 0x85, 0x90, 0x00, 0x00, 0x00, //0x0000370e jne LBB0_638 + //0x00003714 LBB0_629 + 0x48, 0x09, 0xfb, //0x00003714 orq %rdi, %rbx + 0x48, 0x89, 0xf1, //0x00003717 movq %rsi, %rcx + 0x4c, 0x09, 0xe9, //0x0000371a orq %r13, %rcx + 0x4c, 0x8b, 0x5d, 0xd0, //0x0000371d movq $-48(%rbp), %r11 + 0x0f, 0x85, 0x20, 0x00, 0x00, 0x00, //0x00003721 jne LBB0_644 + 0x48, 0x85, 0xdb, //0x00003727 testq %rbx, %rbx + 0x0f, 0x85, 0x48, 0x03, 0x00, 0x00, //0x0000372a jne LBB0_645 + //0x00003730 LBB0_631 + 0x49, 0x83, 0xc0, 0xc0, //0x00003730 addq $-64, %r8 + 0x49, 0x83, 0xc2, 0x40, //0x00003734 addq $64, %r10 + 0x49, 0x83, 0xf8, 0x3f, //0x00003738 cmpq $63, %r8 + 0x0f, 0x87, 0x2e, 0xff, 0xff, 0xff, //0x0000373c ja LBB0_627 + 0xe9, 0xbd, 0x0b, 0x00, 0x00, //0x00003742 jmp LBB0_632 + //0x00003747 LBB0_644 + 0x4c, 0x89, 0xe9, //0x00003747 movq %r13, %rcx + 0x48, 0xf7, 0xd1, //0x0000374a notq %rcx + 0x48, 0x21, 0xf1, //0x0000374d andq %rsi, %rcx + 0x48, 0x8d, 0x14, 0x09, //0x00003750 leaq (%rcx,%rcx), %rdx + 0x4c, 0x09, 0xea, //0x00003754 orq %r13, %rdx + 0x48, 0x89, 0xd7, //0x00003757 movq %rdx, %rdi + 0x48, 0xf7, 0xd7, //0x0000375a notq %rdi + 0x48, 0x21, 0xf7, //0x0000375d andq %rsi, %rdi + 0x48, 0x89, 0xc6, //0x00003760 movq %rax, %rsi + 0x48, 0xb8, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00003763 movabsq $-6148914691236517206, %rax + 0x48, 0x21, 0xc7, //0x0000376d andq %rax, %rdi + 0x45, 0x31, 0xed, //0x00003770 xorl %r13d, %r13d + 0x48, 0x01, 0xcf, //0x00003773 addq %rcx, %rdi + 0x41, 0x0f, 0x92, 0xc5, //0x00003776 setb %r13b + 0x48, 0x01, 0xff, //0x0000377a addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x0000377d movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00003787 xorq %rax, %rdi + 0x48, 0x89, 0xf0, //0x0000378a movq %rsi, %rax + 0x48, 0x21, 0xd7, //0x0000378d andq %rdx, %rdi + 0x48, 0xf7, 0xd7, //0x00003790 notq %rdi + 0x48, 0x21, 0xfb, //0x00003793 andq %rdi, %rbx + 0x48, 0x85, 0xdb, //0x00003796 testq %rbx, %rbx + 0x0f, 0x84, 0x91, 0xff, 0xff, 0xff, //0x00003799 je LBB0_631 + 0xe9, 0xd4, 0x02, 0x00, 0x00, //0x0000379f jmp LBB0_645 + //0x000037a4 LBB0_638 + 0x4c, 0x89, 0xd1, //0x000037a4 movq %r10, %rcx + 0x48, 0x2b, 0x4d, 0xb8, //0x000037a7 subq $-72(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xfe, //0x000037ab bsfq %rsi, %r15 + 0x49, 0x01, 0xcf, //0x000037af addq %rcx, %r15 + 0xe9, 0x5d, 0xff, 0xff, 0xff, //0x000037b2 jmp LBB0_629 + //0x000037b7 LBB0_639 + 0x40, 0x80, 0xff, 0x3a, //0x000037b7 cmpb $58, %dil + 0x0f, 0x85, 0x87, 0xfa, 0xff, 0xff, //0x000037bb jne LBB0_557 + 0x49, 0xc7, 0x04, 0xd6, 0x00, 0x00, 0x00, 0x00, //0x000037c1 movq $0, (%r14,%rdx,8) + 0xe9, 0x22, 0xfc, 0xff, 0xff, //0x000037c9 jmp LBB0_584 + //0x000037ce LBB0_641 + 0x49, 0x89, 0x36, //0x000037ce movq %rsi, (%r14) + 0x83, 0xff, 0x7b, //0x000037d1 cmpl $123, %edi + 0x0f, 0x87, 0x6e, 0xfa, 0xff, 0xff, //0x000037d4 ja LBB0_557 + //0x000037da LBB0_620 + 0x4f, 0x8d, 0x24, 0x0f, //0x000037da leaq (%r15,%r9), %r12 + 0x89, 0xf8, //0x000037de movl %edi, %eax + 0x48, 0x8d, 0x15, 0x89, 0x23, 0x00, 0x00, //0x000037e0 leaq $9097(%rip), %rdx /* LJTI0_3+0(%rip) */ + 0x48, 0x63, 0x04, 0x82, //0x000037e7 movslq (%rdx,%rax,4), %rax + 0x48, 0x01, 0xd0, //0x000037eb addq %rdx, %rax + 0xff, 0xe0, //0x000037ee jmpq *%rax + //0x000037f0 LBB0_648 + 0x49, 0x8b, 0x7d, 0x08, //0x000037f0 movq $8(%r13), %rdi + 0x4c, 0x29, 0xcf, //0x000037f4 subq %r9, %rdi + 0x0f, 0x84, 0xd6, 0x12, 0x00, 0x00, //0x000037f7 je LBB0_875 + 0x41, 0x80, 0x3c, 0x24, 0x30, //0x000037fd cmpb $48, (%r12) + 0x0f, 0x85, 0x31, 0x00, 0x00, 0x00, //0x00003802 jne LBB0_653 + 0x48, 0x83, 0xff, 0x01, //0x00003808 cmpq $1, %rdi + 0x0f, 0x84, 0xc7, 0xfb, 0xff, 0xff, //0x0000380c je LBB0_583 + 0x43, 0x8a, 0x0c, 0x17, //0x00003812 movb (%r15,%r10), %cl + 0x80, 0xc1, 0xd2, //0x00003816 addb $-46, %cl + 0x80, 0xf9, 0x37, //0x00003819 cmpb $55, %cl + 0x0f, 0x87, 0xb7, 0xfb, 0xff, 0xff, //0x0000381c ja LBB0_583 + 0x0f, 0xb6, 0xc1, //0x00003822 movzbl %cl, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00003825 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x0000382f btq %rax, %rcx + 0x0f, 0x83, 0xa0, 0xfb, 0xff, 0xff, //0x00003833 jae LBB0_583 + //0x00003839 LBB0_653 + 0x48, 0x83, 0xff, 0x10, //0x00003839 cmpq $16, %rdi + 0x0f, 0x82, 0xf1, 0x0f, 0x00, 0x00, //0x0000383d jb LBB0_845 + 0x4c, 0x8d, 0x7f, 0xf0, //0x00003843 leaq $-16(%rdi), %r15 + 0x4c, 0x89, 0xf8, //0x00003847 movq %r15, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x0000384a andq $-16, %rax + 0x4a, 0x8d, 0x44, 0x20, 0x10, //0x0000384e leaq $16(%rax,%r12), %rax + 0x48, 0x89, 0x45, 0xc8, //0x00003853 movq %rax, $-56(%rbp) + 0x41, 0x83, 0xe7, 0x0f, //0x00003857 andl $15, %r15d + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000385b movq $-1, %r11 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00003862 movq $-1, %r10 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00003869 movq $-1, %r8 + 0x4c, 0x89, 0xe3, //0x00003870 movq %r12, %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003873 .p2align 4, 0x90 + //0x00003880 LBB0_655 + 0xf3, 0x0f, 0x6f, 0x13, //0x00003880 movdqu (%rbx), %xmm2 + 0x66, 0x0f, 0x6f, 0xe2, //0x00003884 movdqa %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0x64, 0xe0, //0x00003888 pcmpgtb %xmm8, %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x0000388d movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x64, 0xea, //0x00003891 pcmpgtb %xmm2, %xmm5 + 0x66, 0x0f, 0xdb, 0xec, //0x00003895 pand %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xe2, //0x00003899 movdqa %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xe1, //0x0000389d pcmpeqb %xmm9, %xmm4 + 0x66, 0x0f, 0x6f, 0xf2, //0x000038a2 movdqa %xmm2, %xmm6 + 0x66, 0x41, 0x0f, 0x74, 0xf2, //0x000038a6 pcmpeqb %xmm10, %xmm6 + 0x66, 0x0f, 0xeb, 0xf4, //0x000038ab por %xmm4, %xmm6 + 0x66, 0x0f, 0x6f, 0xe2, //0x000038af movdqa %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0xeb, 0xe3, //0x000038b3 por %xmm11, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xd4, //0x000038b8 pcmpeqb %xmm12, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xe5, //0x000038bd pcmpeqb %xmm13, %xmm4 + 0x66, 0x44, 0x0f, 0xd7, 0xf4, //0x000038c2 pmovmskb %xmm4, %r14d + 0x66, 0x0f, 0xeb, 0xe2, //0x000038c7 por %xmm2, %xmm4 + 0x66, 0x0f, 0xeb, 0xee, //0x000038cb por %xmm6, %xmm5 + 0x66, 0x0f, 0xeb, 0xec, //0x000038cf por %xmm4, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xea, //0x000038d3 pmovmskb %xmm2, %r13d + 0x66, 0x0f, 0xd7, 0xf6, //0x000038d8 pmovmskb %xmm6, %esi + 0x66, 0x0f, 0xd7, 0xc5, //0x000038dc pmovmskb %xmm5, %eax + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x000038e0 movl $4294967295, %ecx + 0x48, 0x31, 0xc8, //0x000038e5 xorq %rcx, %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x000038e8 bsfq %rax, %rcx + 0x83, 0xf9, 0x10, //0x000038ec cmpl $16, %ecx + 0x0f, 0x84, 0x13, 0x00, 0x00, 0x00, //0x000038ef je LBB0_657 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000038f5 movl $-1, %eax + 0xd3, 0xe0, //0x000038fa shll %cl, %eax + 0xf7, 0xd0, //0x000038fc notl %eax + 0x41, 0x21, 0xc5, //0x000038fe andl %eax, %r13d + 0x41, 0x21, 0xc6, //0x00003901 andl %eax, %r14d + 0x21, 0xf0, //0x00003904 andl %esi, %eax + 0x89, 0xc6, //0x00003906 movl %eax, %esi + //0x00003908 LBB0_657 + 0x41, 0x8d, 0x55, 0xff, //0x00003908 leal $-1(%r13), %edx + 0x44, 0x21, 0xea, //0x0000390c andl %r13d, %edx + 0x0f, 0x85, 0x82, 0x0a, 0x00, 0x00, //0x0000390f jne LBB0_807 + 0x41, 0x8d, 0x56, 0xff, //0x00003915 leal $-1(%r14), %edx + 0x44, 0x21, 0xf2, //0x00003919 andl %r14d, %edx + 0x0f, 0x85, 0x75, 0x0a, 0x00, 0x00, //0x0000391c jne LBB0_807 + 0x8d, 0x56, 0xff, //0x00003922 leal $-1(%rsi), %edx + 0x21, 0xf2, //0x00003925 andl %esi, %edx + 0x0f, 0x85, 0x6a, 0x0a, 0x00, 0x00, //0x00003927 jne LBB0_807 + 0x45, 0x85, 0xed, //0x0000392d testl %r13d, %r13d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00003930 je LBB0_663 + 0x48, 0x89, 0xd8, //0x00003936 movq %rbx, %rax + 0x4c, 0x29, 0xe0, //0x00003939 subq %r12, %rax + 0x41, 0x0f, 0xbc, 0xd5, //0x0000393c bsfl %r13d, %edx + 0x48, 0x01, 0xc2, //0x00003940 addq %rax, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00003943 cmpq $-1, %r8 + 0x0f, 0x85, 0x2a, 0x0c, 0x00, 0x00, //0x00003947 jne LBB0_823 + 0x49, 0x89, 0xd0, //0x0000394d movq %rdx, %r8 + //0x00003950 LBB0_663 + 0x45, 0x85, 0xf6, //0x00003950 testl %r14d, %r14d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00003953 je LBB0_666 + 0x48, 0x89, 0xd8, //0x00003959 movq %rbx, %rax + 0x4c, 0x29, 0xe0, //0x0000395c subq %r12, %rax + 0x41, 0x0f, 0xbc, 0xd6, //0x0000395f bsfl %r14d, %edx + 0x48, 0x01, 0xc2, //0x00003963 addq %rax, %rdx + 0x49, 0x83, 0xfa, 0xff, //0x00003966 cmpq $-1, %r10 + 0x0f, 0x85, 0x07, 0x0c, 0x00, 0x00, //0x0000396a jne LBB0_823 + 0x49, 0x89, 0xd2, //0x00003970 movq %rdx, %r10 + //0x00003973 LBB0_666 + 0x4c, 0x8b, 0x75, 0xa8, //0x00003973 movq $-88(%rbp), %r14 + 0x85, 0xf6, //0x00003977 testl %esi, %esi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00003979 je LBB0_669 + 0x48, 0x89, 0xd8, //0x0000397f movq %rbx, %rax + 0x4c, 0x29, 0xe0, //0x00003982 subq %r12, %rax + 0x0f, 0xbc, 0xd6, //0x00003985 bsfl %esi, %edx + 0x48, 0x01, 0xc2, //0x00003988 addq %rax, %rdx + 0x49, 0x83, 0xfb, 0xff, //0x0000398b cmpq $-1, %r11 + 0x0f, 0x85, 0xf7, 0x0c, 0x00, 0x00, //0x0000398f jne LBB0_835 + 0x49, 0x89, 0xd3, //0x00003995 movq %rdx, %r11 + //0x00003998 LBB0_669 + 0x83, 0xf9, 0x10, //0x00003998 cmpl $16, %ecx + 0x0f, 0x85, 0x24, 0x03, 0x00, 0x00, //0x0000399b jne LBB0_708 + 0x48, 0x83, 0xc3, 0x10, //0x000039a1 addq $16, %rbx + 0x48, 0x83, 0xc7, 0xf0, //0x000039a5 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x0f, //0x000039a9 cmpq $15, %rdi + 0x0f, 0x87, 0xcd, 0xfe, 0xff, 0xff, //0x000039ad ja LBB0_655 + 0x4d, 0x85, 0xff, //0x000039b3 testq %r15, %r15 + 0x48, 0x8d, 0x3d, 0x8f, 0x24, 0x00, 0x00, //0x000039b6 leaq $9359(%rip), %rdi /* LJTI0_5+0(%rip) */ + 0x0f, 0x84, 0x09, 0x03, 0x00, 0x00, //0x000039bd je LBB0_710 + //0x000039c3 LBB0_672 + 0x48, 0x8b, 0x5d, 0xc8, //0x000039c3 movq $-56(%rbp), %rbx + 0x4a, 0x8d, 0x0c, 0x3b, //0x000039c7 leaq (%rbx,%r15), %rcx + 0xe9, 0x2c, 0x00, 0x00, 0x00, //0x000039cb jmp LBB0_676 + //0x000039d0 LBB0_673 + 0x48, 0x89, 0xf0, //0x000039d0 movq %rsi, %rax + 0x4c, 0x29, 0xe0, //0x000039d3 subq %r12, %rax + 0x49, 0x83, 0xfb, 0xff, //0x000039d6 cmpq $-1, %r11 + 0x0f, 0x85, 0xda, 0x0c, 0x00, 0x00, //0x000039da jne LBB0_837 + 0x48, 0xff, 0xc8, //0x000039e0 decq %rax + 0x49, 0x89, 0xc3, //0x000039e3 movq %rax, %r11 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000039e6 .p2align 4, 0x90 + //0x000039f0 LBB0_675 + 0x48, 0x89, 0xf3, //0x000039f0 movq %rsi, %rbx + 0x49, 0xff, 0xcf, //0x000039f3 decq %r15 + 0x0f, 0x84, 0x92, 0x0b, 0x00, 0x00, //0x000039f6 je LBB0_825 + //0x000039fc LBB0_676 + 0x0f, 0xbe, 0x13, //0x000039fc movsbl (%rbx), %edx + 0x83, 0xc2, 0xd5, //0x000039ff addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x00003a02 cmpl $58, %edx + 0x0f, 0x87, 0xbd, 0x02, 0x00, 0x00, //0x00003a05 ja LBB0_709 + 0x48, 0x8d, 0x73, 0x01, //0x00003a0b leaq $1(%rbx), %rsi + 0x48, 0x63, 0x04, 0x97, //0x00003a0f movslq (%rdi,%rdx,4), %rax + 0x48, 0x01, 0xf8, //0x00003a13 addq %rdi, %rax + 0xff, 0xe0, //0x00003a16 jmpq *%rax + //0x00003a18 LBB0_678 + 0x48, 0x89, 0xf0, //0x00003a18 movq %rsi, %rax + 0x4c, 0x29, 0xe0, //0x00003a1b subq %r12, %rax + 0x49, 0x83, 0xfa, 0xff, //0x00003a1e cmpq $-1, %r10 + 0x0f, 0x85, 0x92, 0x0c, 0x00, 0x00, //0x00003a22 jne LBB0_837 + 0x48, 0xff, 0xc8, //0x00003a28 decq %rax + 0x49, 0x89, 0xc2, //0x00003a2b movq %rax, %r10 + 0xe9, 0xbd, 0xff, 0xff, 0xff, //0x00003a2e jmp LBB0_675 + //0x00003a33 LBB0_680 + 0x48, 0x89, 0xf0, //0x00003a33 movq %rsi, %rax + 0x4c, 0x29, 0xe0, //0x00003a36 subq %r12, %rax + 0x49, 0x83, 0xf8, 0xff, //0x00003a39 cmpq $-1, %r8 + 0x0f, 0x85, 0x77, 0x0c, 0x00, 0x00, //0x00003a3d jne LBB0_837 + 0x48, 0xff, 0xc8, //0x00003a43 decq %rax + 0x49, 0x89, 0xc0, //0x00003a46 movq %rax, %r8 + 0xe9, 0xa2, 0xff, 0xff, 0xff, //0x00003a49 jmp LBB0_675 + //0x00003a4e LBB0_642 + 0x83, 0xff, 0x22, //0x00003a4e cmpl $34, %edi + 0x0f, 0x84, 0x79, 0x00, 0x00, 0x00, //0x00003a51 je LBB0_686 + //0x00003a57 LBB0_622 + 0x83, 0xff, 0x7d, //0x00003a57 cmpl $125, %edi + 0x0f, 0x85, 0xe8, 0xf7, 0xff, 0xff, //0x00003a5a jne LBB0_557 + //0x00003a60 LBB0_617 + 0x49, 0x89, 0x36, //0x00003a60 movq %rsi, (%r14) + 0x48, 0x89, 0xf2, //0x00003a63 movq %rsi, %rdx + 0x48, 0x8b, 0x4d, 0x98, //0x00003a66 movq $-104(%rbp), %rcx + 0x48, 0x85, 0xf6, //0x00003a6a testq %rsi, %rsi + 0x0f, 0x85, 0x90, 0xf9, 0xff, 0xff, //0x00003a6d jne LBB0_586 + 0xe9, 0xd7, 0xf7, 0xff, 0xff, //0x00003a73 jmp LBB0_558 + //0x00003a78 LBB0_645 + 0x48, 0x0f, 0xbc, 0xcb, //0x00003a78 bsfq %rbx, %rcx + 0x4c, 0x03, 0x55, 0xa0, //0x00003a7c addq $-96(%rbp), %r10 + 0x49, 0x01, 0xca, //0x00003a80 addq %rcx, %r10 + 0x4c, 0x8b, 0x75, 0xa8, //0x00003a83 movq $-88(%rbp), %r14 + //0x00003a87 LBB0_646 + 0x4d, 0x85, 0xd2, //0x00003a87 testq %r10, %r10 + 0x0f, 0x88, 0x24, 0x10, 0x00, 0x00, //0x00003a8a js LBB0_872 + 0x4d, 0x89, 0x13, //0x00003a90 movq %r10, (%r11) + 0x4c, 0x89, 0xc9, //0x00003a93 movq %r9, %rcx + 0x48, 0x83, 0x7d, 0xc8, 0x00, //0x00003a96 cmpq $0, $-56(%rbp) + 0x4c, 0x8b, 0x6d, 0xc0, //0x00003a9b movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x7d, 0xb8, //0x00003a9f movq $-72(%rbp), %r15 + 0x0f, 0x8f, 0x47, 0xf9, 0xff, 0xff, //0x00003aa3 jg LBB0_584 + 0xe9, 0xa1, 0xf7, 0xff, 0xff, //0x00003aa9 jmp LBB0_558 + //0x00003aae LBB0_682 + 0x48, 0x81, 0xfa, 0xff, 0x0f, 0x00, 0x00, //0x00003aae cmpq $4095, %rdx + 0x0f, 0x8f, 0xe3, 0x0f, 0x00, 0x00, //0x00003ab5 jg LBB0_955 + 0x48, 0x8d, 0x42, 0x01, //0x00003abb leaq $1(%rdx), %rax + 0x49, 0x89, 0x06, //0x00003abf movq %rax, (%r14) + 0x49, 0xc7, 0x44, 0xd6, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00003ac2 movq $0, $8(%r14,%rdx,8) + 0xe9, 0x20, 0xf9, 0xff, 0xff, //0x00003acb jmp LBB0_584 + //0x00003ad0 LBB0_686 + 0x49, 0xc7, 0x04, 0xd6, 0x02, 0x00, 0x00, 0x00, //0x00003ad0 movq $2, (%r14,%rdx,8) + 0x49, 0x8b, 0x4d, 0x08, //0x00003ad8 movq $8(%r13), %rcx + 0x49, 0x89, 0xcd, //0x00003adc movq %rcx, %r13 + 0x4d, 0x29, 0xd5, //0x00003adf subq %r10, %r13 + 0x0f, 0x84, 0x5b, 0x1b, 0x00, 0x00, //0x00003ae2 je LBB0_974 + 0x4c, 0x89, 0x55, 0xc8, //0x00003ae8 movq %r10, $-56(%rbp) + 0x4d, 0x01, 0xfa, //0x00003aec addq %r15, %r10 + 0x49, 0x83, 0xfd, 0x40, //0x00003aef cmpq $64, %r13 + 0x48, 0x89, 0x4d, 0x88, //0x00003af3 movq %rcx, $-120(%rbp) + 0x0f, 0x82, 0x5f, 0x0d, 0x00, 0x00, //0x00003af7 jb LBB0_846 + 0x45, 0x89, 0xee, //0x00003afd movl %r13d, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00003b00 andl $63, %r14d + 0x4c, 0x29, 0xc9, //0x00003b04 subq %r9, %rcx + 0x48, 0x83, 0xc1, 0xbf, //0x00003b07 addq $-65, %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00003b0b andq $-64, %rcx + 0x4c, 0x01, 0xc9, //0x00003b0f addq %r9, %rcx + 0x49, 0x8d, 0x44, 0x0f, 0x41, //0x00003b12 leaq $65(%r15,%rcx), %rax + 0x48, 0x89, 0x45, 0x80, //0x00003b17 movq %rax, $-128(%rbp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00003b1b movq $-1, %r12 + 0x45, 0x31, 0xff, //0x00003b22 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003b25 .p2align 4, 0x90 + //0x00003b30 LBB0_689 + 0xf3, 0x41, 0x0f, 0x6f, 0x12, //0x00003b30 movdqu (%r10), %xmm2 + 0xf3, 0x41, 0x0f, 0x6f, 0x62, 0x10, //0x00003b35 movdqu $16(%r10), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6a, 0x20, //0x00003b3b movdqu $32(%r10), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x72, 0x30, //0x00003b41 movdqu $48(%r10), %xmm6 + 0x66, 0x0f, 0x6f, 0xfa, //0x00003b47 movdqa %xmm2, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00003b4b pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00003b4f pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfc, //0x00003b53 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00003b57 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xd7, //0x00003b5b pmovmskb %xmm7, %edx + 0x66, 0x0f, 0x6f, 0xfd, //0x00003b5f movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00003b63 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xc7, //0x00003b67 pmovmskb %xmm7, %eax + 0x66, 0x0f, 0x6f, 0xfe, //0x00003b6b movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00003b6f pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x00003b73 pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x74, 0xd1, //0x00003b77 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x00003b7b pmovmskb %xmm2, %edi + 0x66, 0x0f, 0x74, 0xe1, //0x00003b7f pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xdc, //0x00003b83 pmovmskb %xmm4, %ebx + 0x66, 0x0f, 0x74, 0xe9, //0x00003b87 pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xdd, //0x00003b8b pmovmskb %xmm5, %r11d + 0x66, 0x0f, 0x74, 0xf1, //0x00003b90 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xc6, //0x00003b94 pmovmskb %xmm6, %r8d + 0x48, 0xc1, 0xe1, 0x30, //0x00003b99 shlq $48, %rcx + 0x48, 0xc1, 0xe0, 0x20, //0x00003b9d shlq $32, %rax + 0x48, 0xc1, 0xe2, 0x10, //0x00003ba1 shlq $16, %rdx + 0x48, 0x09, 0xd6, //0x00003ba5 orq %rdx, %rsi + 0x48, 0x09, 0xc6, //0x00003ba8 orq %rax, %rsi + 0x49, 0xc1, 0xe0, 0x30, //0x00003bab shlq $48, %r8 + 0x49, 0xc1, 0xe3, 0x20, //0x00003baf shlq $32, %r11 + 0x48, 0xc1, 0xe3, 0x10, //0x00003bb3 shlq $16, %rbx + 0x48, 0x09, 0xdf, //0x00003bb7 orq %rbx, %rdi + 0x4c, 0x09, 0xdf, //0x00003bba orq %r11, %rdi + 0x4c, 0x09, 0xc7, //0x00003bbd orq %r8, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x00003bc0 cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00003bc4 jne LBB0_691 + 0x48, 0x85, 0xff, //0x00003bca testq %rdi, %rdi + 0x0f, 0x85, 0x8a, 0x00, 0x00, 0x00, //0x00003bcd jne LBB0_700 + //0x00003bd3 LBB0_691 + 0x48, 0x09, 0xce, //0x00003bd3 orq %rcx, %rsi + 0x48, 0x89, 0xf8, //0x00003bd6 movq %rdi, %rax + 0x4c, 0x09, 0xf8, //0x00003bd9 orq %r15, %rax + 0x4c, 0x8b, 0x5d, 0xd0, //0x00003bdc movq $-48(%rbp), %r11 + 0x0f, 0x85, 0x20, 0x00, 0x00, 0x00, //0x00003be0 jne LBB0_701 + 0x48, 0x85, 0xf6, //0x00003be6 testq %rsi, %rsi + 0x0f, 0x85, 0x81, 0x00, 0x00, 0x00, //0x00003be9 jne LBB0_702 + //0x00003bef LBB0_693 + 0x49, 0x83, 0xc5, 0xc0, //0x00003bef addq $-64, %r13 + 0x49, 0x83, 0xc2, 0x40, //0x00003bf3 addq $64, %r10 + 0x49, 0x83, 0xfd, 0x3f, //0x00003bf7 cmpq $63, %r13 + 0x0f, 0x87, 0x2f, 0xff, 0xff, 0xff, //0x00003bfb ja LBB0_689 + 0xe9, 0xa8, 0x08, 0x00, 0x00, //0x00003c01 jmp LBB0_694 + //0x00003c06 LBB0_701 + 0x4c, 0x89, 0xf8, //0x00003c06 movq %r15, %rax + 0x48, 0xf7, 0xd0, //0x00003c09 notq %rax + 0x48, 0x21, 0xf8, //0x00003c0c andq %rdi, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00003c0f leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xf9, //0x00003c13 orq %r15, %rcx + 0x48, 0x89, 0xca, //0x00003c16 movq %rcx, %rdx + 0x48, 0xf7, 0xd2, //0x00003c19 notq %rdx + 0x48, 0x21, 0xfa, //0x00003c1c andq %rdi, %rdx + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00003c1f movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfa, //0x00003c29 andq %rdi, %rdx + 0x45, 0x31, 0xff, //0x00003c2c xorl %r15d, %r15d + 0x48, 0x01, 0xc2, //0x00003c2f addq %rax, %rdx + 0x41, 0x0f, 0x92, 0xc7, //0x00003c32 setb %r15b + 0x48, 0x01, 0xd2, //0x00003c36 addq %rdx, %rdx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00003c39 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc2, //0x00003c43 xorq %rax, %rdx + 0x48, 0x21, 0xca, //0x00003c46 andq %rcx, %rdx + 0x48, 0xf7, 0xd2, //0x00003c49 notq %rdx + 0x48, 0x21, 0xd6, //0x00003c4c andq %rdx, %rsi + 0x48, 0x85, 0xf6, //0x00003c4f testq %rsi, %rsi + 0x0f, 0x84, 0x97, 0xff, 0xff, 0xff, //0x00003c52 je LBB0_693 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00003c58 jmp LBB0_702 + //0x00003c5d LBB0_700 + 0x4c, 0x89, 0xd0, //0x00003c5d movq %r10, %rax + 0x48, 0x2b, 0x45, 0xb8, //0x00003c60 subq $-72(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xe7, //0x00003c64 bsfq %rdi, %r12 + 0x49, 0x01, 0xc4, //0x00003c68 addq %rax, %r12 + 0xe9, 0x63, 0xff, 0xff, 0xff, //0x00003c6b jmp LBB0_691 + //0x00003c70 LBB0_702 + 0x48, 0x0f, 0xbc, 0xc6, //0x00003c70 bsfq %rsi, %rax + 0x4c, 0x03, 0x55, 0xa0, //0x00003c74 addq $-96(%rbp), %r10 + 0x49, 0x01, 0xc2, //0x00003c78 addq %rax, %r10 + 0x4c, 0x8b, 0x6d, 0xc0, //0x00003c7b movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xa8, //0x00003c7f movq $-88(%rbp), %r14 + 0x4c, 0x8b, 0x7d, 0xb8, //0x00003c83 movq $-72(%rbp), %r15 + 0x4d, 0x85, 0xd2, //0x00003c87 testq %r10, %r10 + 0x0f, 0x88, 0x20, 0x18, 0x00, 0x00, //0x00003c8a js LBB0_939 + //0x00003c90 LBB0_705 + 0x4d, 0x89, 0x13, //0x00003c90 movq %r10, (%r11) + 0x4c, 0x89, 0xc9, //0x00003c93 movq %r9, %rcx + 0x48, 0x83, 0x7d, 0xc8, 0x00, //0x00003c96 cmpq $0, $-56(%rbp) + 0x0f, 0x8e, 0xae, 0xf5, 0xff, 0xff, //0x00003c9b jle LBB0_558 + 0x49, 0x8b, 0x06, //0x00003ca1 movq (%r14), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00003ca4 cmpq $4095, %rax + 0x0f, 0x8f, 0xee, 0x0d, 0x00, 0x00, //0x00003caa jg LBB0_955 + 0x48, 0x8d, 0x48, 0x01, //0x00003cb0 leaq $1(%rax), %rcx + 0x49, 0x89, 0x0e, //0x00003cb4 movq %rcx, (%r14) + 0x49, 0xc7, 0x44, 0xc6, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00003cb7 movq $4, $8(%r14,%rax,8) + 0xe9, 0x2b, 0xf7, 0xff, 0xff, //0x00003cc0 jmp LBB0_584 + //0x00003cc5 LBB0_708 + 0x48, 0x01, 0xcb, //0x00003cc5 addq %rcx, %rbx + //0x00003cc8 LBB0_709 + 0x48, 0x89, 0x5d, 0xc8, //0x00003cc8 movq %rbx, $-56(%rbp) + //0x00003ccc LBB0_710 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00003ccc movq $-1, %rcx + 0x4d, 0x85, 0xd2, //0x00003cd3 testq %r10, %r10 + 0x0f, 0x84, 0xf7, 0x17, 0x00, 0x00, //0x00003cd6 je LBB0_943 + //0x00003cdc LBB0_711 + 0x4d, 0x85, 0xdb, //0x00003cdc testq %r11, %r11 + 0x0f, 0x84, 0xee, 0x17, 0x00, 0x00, //0x00003cdf je LBB0_943 + 0x4d, 0x85, 0xc0, //0x00003ce5 testq %r8, %r8 + 0x0f, 0x84, 0xe5, 0x17, 0x00, 0x00, //0x00003ce8 je LBB0_943 + 0x48, 0x8b, 0x45, 0xc8, //0x00003cee movq $-56(%rbp), %rax + 0x4c, 0x29, 0xe0, //0x00003cf2 subq %r12, %rax + 0x48, 0x89, 0xc2, //0x00003cf5 movq %rax, %rdx + 0x48, 0x8d, 0x48, 0xff, //0x00003cf8 leaq $-1(%rax), %rcx + 0x49, 0x39, 0xca, //0x00003cfc cmpq %rcx, %r10 + 0x0f, 0x84, 0x3f, 0x00, 0x00, 0x00, //0x00003cff je LBB0_719 + 0x49, 0x39, 0xc8, //0x00003d05 cmpq %rcx, %r8 + 0x0f, 0x84, 0x36, 0x00, 0x00, 0x00, //0x00003d08 je LBB0_719 + 0x49, 0x39, 0xcb, //0x00003d0e cmpq %rcx, %r11 + 0x0f, 0x84, 0x2d, 0x00, 0x00, 0x00, //0x00003d11 je LBB0_719 + 0x4d, 0x85, 0xdb, //0x00003d17 testq %r11, %r11 + 0x4c, 0x8b, 0x6d, 0xc0, //0x00003d1a movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xa8, //0x00003d1e movq $-88(%rbp), %r14 + 0x4c, 0x8b, 0x7d, 0xb8, //0x00003d22 movq $-72(%rbp), %r15 + 0x0f, 0x8e, 0x33, 0x00, 0x00, 0x00, //0x00003d26 jle LBB0_721 + 0x49, 0x8d, 0x43, 0xff, //0x00003d2c leaq $-1(%r11), %rax + 0x49, 0x39, 0xc2, //0x00003d30 cmpq %rax, %r10 + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00003d33 je LBB0_721 + 0x49, 0xf7, 0xd3, //0x00003d39 notq %r11 + 0x4d, 0x89, 0xda, //0x00003d3c movq %r11, %r10 + 0xe9, 0x85, 0xf6, 0xff, 0xff, //0x00003d3f jmp LBB0_580 + //0x00003d44 LBB0_719 + 0x49, 0x89, 0xd2, //0x00003d44 movq %rdx, %r10 + 0x49, 0xf7, 0xda, //0x00003d47 negq %r10 + //0x00003d4a LBB0_720 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00003d4a movq $-48(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xc0, //0x00003d4e movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xa8, //0x00003d52 movq $-88(%rbp), %r14 + 0x4c, 0x8b, 0x7d, 0xb8, //0x00003d56 movq $-72(%rbp), %r15 + 0xe9, 0x6e, 0xf6, 0xff, 0xff, //0x00003d5a jmp LBB0_581 + //0x00003d5f LBB0_721 + 0x4c, 0x89, 0xc1, //0x00003d5f movq %r8, %rcx + 0x4c, 0x09, 0xd1, //0x00003d62 orq %r10, %rcx + 0x4d, 0x39, 0xd0, //0x00003d65 cmpq %r10, %r8 + 0x0f, 0x8c, 0x43, 0xf6, 0xff, 0xff, //0x00003d68 jl LBB0_579 + 0x48, 0x85, 0xc9, //0x00003d6e testq %rcx, %rcx + 0x0f, 0x88, 0x3a, 0xf6, 0xff, 0xff, //0x00003d71 js LBB0_579 + 0x49, 0xf7, 0xd0, //0x00003d77 notq %r8 + 0x4d, 0x89, 0xc2, //0x00003d7a movq %r8, %r10 + 0xe9, 0x47, 0xf6, 0xff, 0xff, //0x00003d7d jmp LBB0_580 + //0x00003d82 LBB0_724 + 0x49, 0x8b, 0x45, 0x08, //0x00003d82 movq $8(%r13), %rax + 0x49, 0x89, 0xc5, //0x00003d86 movq %rax, %r13 + 0x4d, 0x29, 0xd5, //0x00003d89 subq %r10, %r13 + 0x0f, 0x84, 0xb1, 0x18, 0x00, 0x00, //0x00003d8c je LBB0_974 + 0x4c, 0x89, 0x55, 0xc8, //0x00003d92 movq %r10, $-56(%rbp) + 0x4d, 0x01, 0xfa, //0x00003d96 addq %r15, %r10 + 0x49, 0x83, 0xfd, 0x40, //0x00003d99 cmpq $64, %r13 + 0x48, 0x89, 0x45, 0x88, //0x00003d9d movq %rax, $-120(%rbp) + 0x0f, 0x82, 0x2e, 0x0b, 0x00, 0x00, //0x00003da1 jb LBB0_850 + 0x45, 0x89, 0xee, //0x00003da7 movl %r13d, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00003daa andl $63, %r14d + 0x4c, 0x29, 0xc8, //0x00003dae subq %r9, %rax + 0x48, 0x83, 0xc0, 0xbf, //0x00003db1 addq $-65, %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00003db5 andq $-64, %rax + 0x4c, 0x01, 0xc8, //0x00003db9 addq %r9, %rax + 0x49, 0x8d, 0x44, 0x07, 0x41, //0x00003dbc leaq $65(%r15,%rax), %rax + 0x48, 0x89, 0x45, 0x80, //0x00003dc1 movq %rax, $-128(%rbp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00003dc5 movq $-1, %r12 + 0x45, 0x31, 0xff, //0x00003dcc xorl %r15d, %r15d + 0x90, //0x00003dcf .p2align 4, 0x90 + //0x00003dd0 LBB0_727 + 0xf3, 0x41, 0x0f, 0x6f, 0x12, //0x00003dd0 movdqu (%r10), %xmm2 + 0xf3, 0x41, 0x0f, 0x6f, 0x62, 0x10, //0x00003dd5 movdqu $16(%r10), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6a, 0x20, //0x00003ddb movdqu $32(%r10), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x72, 0x30, //0x00003de1 movdqu $48(%r10), %xmm6 + 0x66, 0x0f, 0x6f, 0xfa, //0x00003de7 movdqa %xmm2, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00003deb pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00003def pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfc, //0x00003df3 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00003df7 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xc7, //0x00003dfb pmovmskb %xmm7, %eax + 0x66, 0x0f, 0x6f, 0xfd, //0x00003dff movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00003e03 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xd7, //0x00003e07 pmovmskb %xmm7, %edx + 0x66, 0x0f, 0x6f, 0xfe, //0x00003e0b movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00003e0f pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x00003e13 pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x74, 0xd1, //0x00003e17 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x00003e1b pmovmskb %xmm2, %edi + 0x66, 0x0f, 0x74, 0xe1, //0x00003e1f pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xdc, //0x00003e23 pmovmskb %xmm4, %ebx + 0x66, 0x0f, 0x74, 0xe9, //0x00003e27 pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xdd, //0x00003e2b pmovmskb %xmm5, %r11d + 0x66, 0x0f, 0x74, 0xf1, //0x00003e30 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xc6, //0x00003e34 pmovmskb %xmm6, %r8d + 0x48, 0xc1, 0xe1, 0x30, //0x00003e39 shlq $48, %rcx + 0x48, 0xc1, 0xe2, 0x20, //0x00003e3d shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00003e41 shlq $16, %rax + 0x48, 0x09, 0xc6, //0x00003e45 orq %rax, %rsi + 0x48, 0x09, 0xd6, //0x00003e48 orq %rdx, %rsi + 0x49, 0xc1, 0xe0, 0x30, //0x00003e4b shlq $48, %r8 + 0x49, 0xc1, 0xe3, 0x20, //0x00003e4f shlq $32, %r11 + 0x48, 0xc1, 0xe3, 0x10, //0x00003e53 shlq $16, %rbx + 0x48, 0x09, 0xdf, //0x00003e57 orq %rbx, %rdi + 0x4c, 0x09, 0xdf, //0x00003e5a orq %r11, %rdi + 0x4c, 0x09, 0xc7, //0x00003e5d orq %r8, %rdi + 0x49, 0x83, 0xfc, 0xff, //0x00003e60 cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00003e64 jne LBB0_729 + 0x48, 0x85, 0xff, //0x00003e6a testq %rdi, %rdi + 0x0f, 0x85, 0x8a, 0x00, 0x00, 0x00, //0x00003e6d jne LBB0_738 + //0x00003e73 LBB0_729 + 0x48, 0x09, 0xce, //0x00003e73 orq %rcx, %rsi + 0x48, 0x89, 0xf8, //0x00003e76 movq %rdi, %rax + 0x4c, 0x09, 0xf8, //0x00003e79 orq %r15, %rax + 0x4c, 0x8b, 0x5d, 0xd0, //0x00003e7c movq $-48(%rbp), %r11 + 0x0f, 0x85, 0x20, 0x00, 0x00, 0x00, //0x00003e80 jne LBB0_791 + 0x48, 0x85, 0xf6, //0x00003e86 testq %rsi, %rsi + 0x0f, 0x85, 0xaf, 0x03, 0x00, 0x00, //0x00003e89 jne LBB0_792 + //0x00003e8f LBB0_731 + 0x49, 0x83, 0xc5, 0xc0, //0x00003e8f addq $-64, %r13 + 0x49, 0x83, 0xc2, 0x40, //0x00003e93 addq $64, %r10 + 0x49, 0x83, 0xfd, 0x3f, //0x00003e97 cmpq $63, %r13 + 0x0f, 0x87, 0x2f, 0xff, 0xff, 0xff, //0x00003e9b ja LBB0_727 + 0xe9, 0x70, 0x08, 0x00, 0x00, //0x00003ea1 jmp LBB0_732 + //0x00003ea6 LBB0_791 + 0x4c, 0x89, 0xf8, //0x00003ea6 movq %r15, %rax + 0x48, 0xf7, 0xd0, //0x00003ea9 notq %rax + 0x48, 0x21, 0xf8, //0x00003eac andq %rdi, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00003eaf leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xf9, //0x00003eb3 orq %r15, %rcx + 0x48, 0x89, 0xca, //0x00003eb6 movq %rcx, %rdx + 0x48, 0xf7, 0xd2, //0x00003eb9 notq %rdx + 0x48, 0x21, 0xfa, //0x00003ebc andq %rdi, %rdx + 0x48, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00003ebf movabsq $-6148914691236517206, %rdi + 0x48, 0x21, 0xfa, //0x00003ec9 andq %rdi, %rdx + 0x45, 0x31, 0xff, //0x00003ecc xorl %r15d, %r15d + 0x48, 0x01, 0xc2, //0x00003ecf addq %rax, %rdx + 0x41, 0x0f, 0x92, 0xc7, //0x00003ed2 setb %r15b + 0x48, 0x01, 0xd2, //0x00003ed6 addq %rdx, %rdx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00003ed9 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc2, //0x00003ee3 xorq %rax, %rdx + 0x48, 0x21, 0xca, //0x00003ee6 andq %rcx, %rdx + 0x48, 0xf7, 0xd2, //0x00003ee9 notq %rdx + 0x48, 0x21, 0xd6, //0x00003eec andq %rdx, %rsi + 0x48, 0x85, 0xf6, //0x00003eef testq %rsi, %rsi + 0x0f, 0x84, 0x97, 0xff, 0xff, 0xff, //0x00003ef2 je LBB0_731 + 0xe9, 0x41, 0x03, 0x00, 0x00, //0x00003ef8 jmp LBB0_792 + //0x00003efd LBB0_738 + 0x4c, 0x89, 0xd0, //0x00003efd movq %r10, %rax + 0x48, 0x2b, 0x45, 0xb8, //0x00003f00 subq $-72(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xe7, //0x00003f04 bsfq %rdi, %r12 + 0x49, 0x01, 0xc4, //0x00003f08 addq %rax, %r12 + 0xe9, 0x63, 0xff, 0xff, 0xff, //0x00003f0b jmp LBB0_729 + //0x00003f10 LBB0_739 + 0x4d, 0x8b, 0x7d, 0x08, //0x00003f10 movq $8(%r13), %r15 + 0x4d, 0x29, 0xd7, //0x00003f14 subq %r10, %r15 + 0x0f, 0x84, 0xf9, 0x15, 0x00, 0x00, //0x00003f17 je LBB0_953 + 0x48, 0x8b, 0x45, 0xb8, //0x00003f1d movq $-72(%rbp), %rax + 0x4c, 0x89, 0x55, 0xc8, //0x00003f21 movq %r10, $-56(%rbp) + 0x4e, 0x8d, 0x1c, 0x10, //0x00003f25 leaq (%rax,%r10), %r11 + 0x41, 0x80, 0x3b, 0x30, //0x00003f29 cmpb $48, (%r11) + 0x0f, 0x85, 0x37, 0x00, 0x00, 0x00, //0x00003f2d jne LBB0_744 + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x00003f33 movl $1, %r10d + 0x49, 0x83, 0xff, 0x01, //0x00003f39 cmpq $1, %r15 + 0x0f, 0x84, 0xa8, 0x07, 0x00, 0x00, //0x00003f3d je LBB0_822 + 0x41, 0x8a, 0x4b, 0x01, //0x00003f43 movb $1(%r11), %cl + 0x80, 0xc1, 0xd2, //0x00003f47 addb $-46, %cl + 0x80, 0xf9, 0x37, //0x00003f4a cmpb $55, %cl + 0x0f, 0x87, 0x98, 0x07, 0x00, 0x00, //0x00003f4d ja LBB0_822 + 0x0f, 0xb6, 0xc1, //0x00003f53 movzbl %cl, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00003f56 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00003f60 btq %rax, %rcx + 0x0f, 0x83, 0x81, 0x07, 0x00, 0x00, //0x00003f64 jae LBB0_822 + //0x00003f6a LBB0_744 + 0x49, 0x83, 0xff, 0x10, //0x00003f6a cmpq $16, %r15 + 0x0f, 0x82, 0x7e, 0x09, 0x00, 0x00, //0x00003f6e jb LBB0_851 + 0x4d, 0x8d, 0x47, 0xf0, //0x00003f74 leaq $-16(%r15), %r8 + 0x4c, 0x89, 0xc0, //0x00003f78 movq %r8, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00003f7b andq $-16, %rax + 0x4e, 0x8d, 0x6c, 0x18, 0x10, //0x00003f7f leaq $16(%rax,%r11), %r13 + 0x41, 0x83, 0xe0, 0x0f, //0x00003f84 andl $15, %r8d + 0x48, 0xc7, 0x45, 0x88, 0xff, 0xff, 0xff, 0xff, //0x00003f88 movq $-1, $-120(%rbp) + 0x48, 0xc7, 0x45, 0x80, 0xff, 0xff, 0xff, 0xff, //0x00003f90 movq $-1, $-128(%rbp) + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00003f98 movq $-1, %r14 + 0x4d, 0x89, 0xdc, //0x00003f9f movq %r11, %r12 + //0x00003fa2 LBB0_746 + 0xf3, 0x41, 0x0f, 0x6f, 0x14, 0x24, //0x00003fa2 movdqu (%r12), %xmm2 + 0x66, 0x0f, 0x6f, 0xe2, //0x00003fa8 movdqa %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0x64, 0xe0, //0x00003fac pcmpgtb %xmm8, %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00003fb1 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x64, 0xea, //0x00003fb5 pcmpgtb %xmm2, %xmm5 + 0x66, 0x0f, 0xdb, 0xec, //0x00003fb9 pand %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xe2, //0x00003fbd movdqa %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xe1, //0x00003fc1 pcmpeqb %xmm9, %xmm4 + 0x66, 0x0f, 0x6f, 0xf2, //0x00003fc6 movdqa %xmm2, %xmm6 + 0x66, 0x41, 0x0f, 0x74, 0xf2, //0x00003fca pcmpeqb %xmm10, %xmm6 + 0x66, 0x0f, 0xeb, 0xf4, //0x00003fcf por %xmm4, %xmm6 + 0x66, 0x0f, 0x6f, 0xe2, //0x00003fd3 movdqa %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0xeb, 0xe3, //0x00003fd7 por %xmm11, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xd4, //0x00003fdc pcmpeqb %xmm12, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xe5, //0x00003fe1 pcmpeqb %xmm13, %xmm4 + 0x66, 0x0f, 0xd7, 0xd4, //0x00003fe6 pmovmskb %xmm4, %edx + 0x66, 0x0f, 0xeb, 0xe2, //0x00003fea por %xmm2, %xmm4 + 0x66, 0x0f, 0xeb, 0xee, //0x00003fee por %xmm6, %xmm5 + 0x66, 0x0f, 0xeb, 0xec, //0x00003ff2 por %xmm4, %xmm5 + 0x66, 0x0f, 0xd7, 0xda, //0x00003ff6 pmovmskb %xmm2, %ebx + 0x66, 0x0f, 0xd7, 0xf6, //0x00003ffa pmovmskb %xmm6, %esi + 0x66, 0x0f, 0xd7, 0xc5, //0x00003ffe pmovmskb %xmm5, %eax + 0xb9, 0xff, 0xff, 0xff, 0xff, //0x00004002 movl $4294967295, %ecx + 0x48, 0x31, 0xc8, //0x00004007 xorq %rcx, %rax + 0x48, 0x0f, 0xbc, 0xc8, //0x0000400a bsfq %rax, %rcx + 0x83, 0xf9, 0x10, //0x0000400e cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00004011 je LBB0_748 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00004017 movl $-1, %eax + 0xd3, 0xe0, //0x0000401c shll %cl, %eax + 0xf7, 0xd0, //0x0000401e notl %eax + 0x21, 0xc3, //0x00004020 andl %eax, %ebx + 0x21, 0xc2, //0x00004022 andl %eax, %edx + 0x21, 0xf0, //0x00004024 andl %esi, %eax + 0x89, 0xc6, //0x00004026 movl %eax, %esi + //0x00004028 LBB0_748 + 0x8d, 0x7b, 0xff, //0x00004028 leal $-1(%rbx), %edi + 0x21, 0xdf, //0x0000402b andl %ebx, %edi + 0x0f, 0x85, 0xa2, 0x06, 0x00, 0x00, //0x0000402d jne LBB0_838 + 0x8d, 0x7a, 0xff, //0x00004033 leal $-1(%rdx), %edi + 0x21, 0xd7, //0x00004036 andl %edx, %edi + 0x0f, 0x85, 0x97, 0x06, 0x00, 0x00, //0x00004038 jne LBB0_838 + 0x8d, 0x7e, 0xff, //0x0000403e leal $-1(%rsi), %edi + 0x21, 0xf7, //0x00004041 andl %esi, %edi + 0x0f, 0x85, 0x8c, 0x06, 0x00, 0x00, //0x00004043 jne LBB0_838 + 0x85, 0xdb, //0x00004049 testl %ebx, %ebx + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x0000404b je LBB0_754 + 0x4c, 0x89, 0xe0, //0x00004051 movq %r12, %rax + 0x4c, 0x29, 0xd8, //0x00004054 subq %r11, %rax + 0x44, 0x0f, 0xbc, 0xd3, //0x00004057 bsfl %ebx, %r10d + 0x49, 0x01, 0xc2, //0x0000405b addq %rax, %r10 + 0x49, 0x83, 0xfe, 0xff, //0x0000405e cmpq $-1, %r14 + 0x0f, 0x85, 0x77, 0x06, 0x00, 0x00, //0x00004062 jne LBB0_839 + 0x4d, 0x89, 0xd6, //0x00004068 movq %r10, %r14 + //0x0000406b LBB0_754 + 0x85, 0xd2, //0x0000406b testl %edx, %edx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x0000406d je LBB0_757 + 0x4c, 0x89, 0xe0, //0x00004073 movq %r12, %rax + 0x4c, 0x29, 0xd8, //0x00004076 subq %r11, %rax + 0x44, 0x0f, 0xbc, 0xd2, //0x00004079 bsfl %edx, %r10d + 0x49, 0x01, 0xc2, //0x0000407d addq %rax, %r10 + 0x48, 0x83, 0x7d, 0x80, 0xff, //0x00004080 cmpq $-1, $-128(%rbp) + 0x0f, 0x85, 0x54, 0x06, 0x00, 0x00, //0x00004085 jne LBB0_839 + 0x4c, 0x89, 0x55, 0x80, //0x0000408b movq %r10, $-128(%rbp) + //0x0000408f LBB0_757 + 0x85, 0xf6, //0x0000408f testl %esi, %esi + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00004091 je LBB0_760 + 0x4c, 0x89, 0xe0, //0x00004097 movq %r12, %rax + 0x4c, 0x29, 0xd8, //0x0000409a subq %r11, %rax + 0x44, 0x0f, 0xbc, 0xd6, //0x0000409d bsfl %esi, %r10d + 0x49, 0x01, 0xc2, //0x000040a1 addq %rax, %r10 + 0x48, 0x83, 0x7d, 0x88, 0xff, //0x000040a4 cmpq $-1, $-120(%rbp) + 0x0f, 0x85, 0x30, 0x06, 0x00, 0x00, //0x000040a9 jne LBB0_839 + 0x4c, 0x89, 0x55, 0x88, //0x000040af movq %r10, $-120(%rbp) + //0x000040b3 LBB0_760 + 0x83, 0xf9, 0x10, //0x000040b3 cmpl $16, %ecx + 0x0f, 0x85, 0xb8, 0x01, 0x00, 0x00, //0x000040b6 jne LBB0_796 + 0x49, 0x83, 0xc4, 0x10, //0x000040bc addq $16, %r12 + 0x49, 0x83, 0xc7, 0xf0, //0x000040c0 addq $-16, %r15 + 0x49, 0x83, 0xff, 0x0f, //0x000040c4 cmpq $15, %r15 + 0x0f, 0x87, 0xd4, 0xfe, 0xff, 0xff, //0x000040c8 ja LBB0_746 + 0x4d, 0x85, 0xc0, //0x000040ce testq %r8, %r8 + 0x48, 0x8d, 0x3d, 0x88, 0x1c, 0x00, 0x00, //0x000040d1 leaq $7304(%rip), %rdi /* LJTI0_4+0(%rip) */ + 0x4c, 0x8b, 0x7d, 0x80, //0x000040d8 movq $-128(%rbp), %r15 + 0x48, 0x8b, 0x5d, 0x88, //0x000040dc movq $-120(%rbp), %rbx + 0x0f, 0x84, 0x9c, 0x01, 0x00, 0x00, //0x000040e0 je LBB0_797 + //0x000040e6 LBB0_763 + 0x4b, 0x8d, 0x4c, 0x05, 0x00, //0x000040e6 leaq (%r13,%r8), %rcx + 0xe9, 0x0c, 0x00, 0x00, 0x00, //0x000040eb jmp LBB0_765 + //0x000040f0 LBB0_764 + 0x49, 0x89, 0xd5, //0x000040f0 movq %rdx, %r13 + 0x49, 0xff, 0xc8, //0x000040f3 decq %r8 + 0x0f, 0x84, 0x20, 0x07, 0x00, 0x00, //0x000040f6 je LBB0_844 + //0x000040fc LBB0_765 + 0x41, 0x0f, 0xbe, 0x75, 0x00, //0x000040fc movsbl (%r13), %esi + 0x83, 0xc6, 0xd5, //0x00004101 addl $-43, %esi + 0x83, 0xfe, 0x3a, //0x00004104 cmpl $58, %esi + 0x0f, 0x87, 0x75, 0x01, 0x00, 0x00, //0x00004107 ja LBB0_797 + 0x49, 0x8d, 0x55, 0x01, //0x0000410d leaq $1(%r13), %rdx + 0x48, 0x63, 0x04, 0xb7, //0x00004111 movslq (%rdi,%rsi,4), %rax + 0x48, 0x01, 0xf8, //0x00004115 addq %rdi, %rax + 0xff, 0xe0, //0x00004118 jmpq *%rax + //0x0000411a LBB0_767 + 0x49, 0x89, 0xd2, //0x0000411a movq %rdx, %r10 + 0x4d, 0x29, 0xda, //0x0000411d subq %r11, %r10 + 0x48, 0x83, 0xfb, 0xff, //0x00004120 cmpq $-1, %rbx + 0x0f, 0x85, 0x9a, 0x07, 0x00, 0x00, //0x00004124 jne LBB0_852 + 0x49, 0xff, 0xca, //0x0000412a decq %r10 + 0x4c, 0x89, 0xd3, //0x0000412d movq %r10, %rbx + 0xe9, 0xbb, 0xff, 0xff, 0xff, //0x00004130 jmp LBB0_764 + //0x00004135 LBB0_769 + 0x49, 0x89, 0xd2, //0x00004135 movq %rdx, %r10 + 0x4d, 0x29, 0xda, //0x00004138 subq %r11, %r10 + 0x49, 0x83, 0xff, 0xff, //0x0000413b cmpq $-1, %r15 + 0x0f, 0x85, 0x7f, 0x07, 0x00, 0x00, //0x0000413f jne LBB0_852 + 0x49, 0xff, 0xca, //0x00004145 decq %r10 + 0x4d, 0x89, 0xd7, //0x00004148 movq %r10, %r15 + 0xe9, 0xa0, 0xff, 0xff, 0xff, //0x0000414b jmp LBB0_764 + //0x00004150 LBB0_771 + 0x49, 0x89, 0xd2, //0x00004150 movq %rdx, %r10 + 0x4d, 0x29, 0xda, //0x00004153 subq %r11, %r10 + 0x49, 0x83, 0xfe, 0xff, //0x00004156 cmpq $-1, %r14 + 0x0f, 0x85, 0x64, 0x07, 0x00, 0x00, //0x0000415a jne LBB0_852 + 0x49, 0xff, 0xca, //0x00004160 decq %r10 + 0x4d, 0x89, 0xd6, //0x00004163 movq %r10, %r14 + 0xe9, 0x85, 0xff, 0xff, 0xff, //0x00004166 jmp LBB0_764 + //0x0000416b LBB0_773 + 0x49, 0x8b, 0x06, //0x0000416b movq (%r14), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x0000416e cmpq $4095, %rax + 0x0f, 0x8f, 0x24, 0x09, 0x00, 0x00, //0x00004174 jg LBB0_955 + 0x48, 0x8d, 0x48, 0x01, //0x0000417a leaq $1(%rax), %rcx + 0x49, 0x89, 0x0e, //0x0000417e movq %rcx, (%r14) + 0x49, 0xc7, 0x44, 0xc6, 0x08, 0x05, 0x00, 0x00, 0x00, //0x00004181 movq $5, $8(%r14,%rax,8) + 0xe9, 0x61, 0xf2, 0xff, 0xff, //0x0000418a jmp LBB0_584 + //0x0000418f LBB0_775 + 0x49, 0x8b, 0x06, //0x0000418f movq (%r14), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00004192 cmpq $4095, %rax + 0x0f, 0x8f, 0x00, 0x09, 0x00, 0x00, //0x00004198 jg LBB0_955 + 0x48, 0x8d, 0x48, 0x01, //0x0000419e leaq $1(%rax), %rcx + 0x49, 0x89, 0x0e, //0x000041a2 movq %rcx, (%r14) + 0x49, 0xc7, 0x44, 0xc6, 0x08, 0x06, 0x00, 0x00, 0x00, //0x000041a5 movq $6, $8(%r14,%rax,8) + 0xe9, 0x3d, 0xf2, 0xff, 0xff, //0x000041ae jmp LBB0_584 + //0x000041b3 LBB0_777 + 0x49, 0x8b, 0x55, 0x08, //0x000041b3 movq $8(%r13), %rdx + 0x48, 0x8d, 0x42, 0xfc, //0x000041b7 leaq $-4(%rdx), %rax + 0x49, 0x39, 0xc1, //0x000041bb cmpq %rax, %r9 + 0x0f, 0x83, 0x21, 0x13, 0x00, 0x00, //0x000041be jae LBB0_956 + 0x43, 0x8b, 0x14, 0x17, //0x000041c4 movl (%r15,%r10), %edx + 0x81, 0xfa, 0x61, 0x6c, 0x73, 0x65, //0x000041c8 cmpl $1702063201, %edx + 0x0f, 0x85, 0xa4, 0x13, 0x00, 0x00, //0x000041ce jne LBB0_961 + 0x4c, 0x89, 0xd0, //0x000041d4 movq %r10, %rax + 0x4d, 0x8d, 0x51, 0x05, //0x000041d7 leaq $5(%r9), %r10 + 0xe9, 0x4a, 0x00, 0x00, 0x00, //0x000041db jmp LBB0_790 + //0x000041e0 LBB0_780 + 0x49, 0x8b, 0x55, 0x08, //0x000041e0 movq $8(%r13), %rdx + 0x48, 0x8d, 0x42, 0xfd, //0x000041e4 leaq $-3(%rdx), %rax + 0x49, 0x39, 0xc1, //0x000041e8 cmpq %rax, %r9 + 0x0f, 0x83, 0xf4, 0x12, 0x00, 0x00, //0x000041eb jae LBB0_956 + 0x41, 0x81, 0x3c, 0x24, 0x6e, 0x75, 0x6c, 0x6c, //0x000041f1 cmpl $1819047278, (%r12) + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x000041f9 je LBB0_789 + 0xe9, 0xc6, 0x13, 0x00, 0x00, //0x000041ff jmp LBB0_782 + //0x00004204 LBB0_787 + 0x49, 0x8b, 0x55, 0x08, //0x00004204 movq $8(%r13), %rdx + 0x48, 0x8d, 0x42, 0xfd, //0x00004208 leaq $-3(%rdx), %rax + 0x49, 0x39, 0xc1, //0x0000420c cmpq %rax, %r9 + 0x0f, 0x83, 0xd0, 0x12, 0x00, 0x00, //0x0000420f jae LBB0_956 + 0x41, 0x81, 0x3c, 0x24, 0x74, 0x72, 0x75, 0x65, //0x00004215 cmpl $1702195828, (%r12) + 0x0f, 0x85, 0x02, 0x13, 0x00, 0x00, //0x0000421d jne LBB0_957 + //0x00004223 LBB0_789 + 0x4c, 0x89, 0xd0, //0x00004223 movq %r10, %rax + 0x4d, 0x8d, 0x51, 0x04, //0x00004226 leaq $4(%r9), %r10 + //0x0000422a LBB0_790 + 0x4d, 0x89, 0x13, //0x0000422a movq %r10, (%r11) + 0x4c, 0x89, 0xc9, //0x0000422d movq %r9, %rcx + 0x48, 0x85, 0xc0, //0x00004230 testq %rax, %rax + 0x0f, 0x8f, 0xb7, 0xf1, 0xff, 0xff, //0x00004233 jg LBB0_584 + 0xe9, 0x11, 0xf0, 0xff, 0xff, //0x00004239 jmp LBB0_558 + //0x0000423e LBB0_792 + 0x48, 0x0f, 0xbc, 0xc6, //0x0000423e bsfq %rsi, %rax + 0x4c, 0x03, 0x55, 0xa0, //0x00004242 addq $-96(%rbp), %r10 + 0x49, 0x01, 0xc2, //0x00004246 addq %rax, %r10 + 0x4c, 0x8b, 0x75, 0xa8, //0x00004249 movq $-88(%rbp), %r14 + 0x4c, 0x8b, 0x7d, 0xb8, //0x0000424d movq $-72(%rbp), %r15 + 0x4d, 0x85, 0xd2, //0x00004251 testq %r10, %r10 + 0x4c, 0x8b, 0x6d, 0xc0, //0x00004254 movq $-64(%rbp), %r13 + 0x0f, 0x88, 0x52, 0x12, 0x00, 0x00, //0x00004258 js LBB0_939 + //0x0000425e LBB0_795 + 0x4d, 0x89, 0x13, //0x0000425e movq %r10, (%r11) + 0x4c, 0x89, 0xc9, //0x00004261 movq %r9, %rcx + 0x48, 0x83, 0x7d, 0xc8, 0x00, //0x00004264 cmpq $0, $-56(%rbp) + 0x0f, 0x8f, 0x81, 0xf1, 0xff, 0xff, //0x00004269 jg LBB0_584 + 0xe9, 0xdb, 0xef, 0xff, 0xff, //0x0000426f jmp LBB0_558 + //0x00004274 LBB0_796 + 0x49, 0x01, 0xcc, //0x00004274 addq %rcx, %r12 + 0x4d, 0x89, 0xe5, //0x00004277 movq %r12, %r13 + 0x4c, 0x8b, 0x7d, 0x80, //0x0000427a movq $-128(%rbp), %r15 + 0x48, 0x8b, 0x5d, 0x88, //0x0000427e movq $-120(%rbp), %rbx + //0x00004282 LBB0_797 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00004282 movq $-1, %r10 + 0x4d, 0x85, 0xff, //0x00004289 testq %r15, %r15 + 0x0f, 0x84, 0x8b, 0x12, 0x00, 0x00, //0x0000428c je LBB0_954 + //0x00004292 LBB0_798 + 0x48, 0x85, 0xdb, //0x00004292 testq %rbx, %rbx + 0x0f, 0x84, 0x82, 0x12, 0x00, 0x00, //0x00004295 je LBB0_954 + 0x4d, 0x85, 0xf6, //0x0000429b testq %r14, %r14 + 0x0f, 0x84, 0x79, 0x12, 0x00, 0x00, //0x0000429e je LBB0_954 + 0x4d, 0x29, 0xdd, //0x000042a4 subq %r11, %r13 + 0x49, 0x8d, 0x4d, 0xff, //0x000042a7 leaq $-1(%r13), %rcx + 0x49, 0x39, 0xcf, //0x000042ab cmpq %rcx, %r15 + 0x0f, 0x84, 0x3c, 0x00, 0x00, 0x00, //0x000042ae je LBB0_806 + 0x49, 0x39, 0xce, //0x000042b4 cmpq %rcx, %r14 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x000042b7 je LBB0_806 + 0x48, 0x39, 0xcb, //0x000042bd cmpq %rcx, %rbx + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x000042c0 je LBB0_806 + 0x48, 0x85, 0xdb, //0x000042c6 testq %rbx, %rbx + 0x0f, 0x8e, 0xda, 0x00, 0x00, 0x00, //0x000042c9 jle LBB0_808 + 0x48, 0x8d, 0x43, 0xff, //0x000042cf leaq $-1(%rbx), %rax + 0x49, 0x39, 0xc7, //0x000042d3 cmpq %rax, %r15 + 0x0f, 0x84, 0xcd, 0x00, 0x00, 0x00, //0x000042d6 je LBB0_808 + 0x48, 0xf7, 0xd3, //0x000042dc notq %rbx + 0x49, 0x89, 0xda, //0x000042df movq %rbx, %r10 + 0x4d, 0x85, 0xd2, //0x000042e2 testq %r10, %r10 + 0x0f, 0x89, 0x00, 0x04, 0x00, 0x00, //0x000042e5 jns LBB0_822 + 0xe9, 0x2d, 0x12, 0x00, 0x00, //0x000042eb jmp LBB0_954 + //0x000042f0 LBB0_806 + 0x49, 0xf7, 0xdd, //0x000042f0 negq %r13 + 0x4d, 0x89, 0xea, //0x000042f3 movq %r13, %r10 + 0x4d, 0x85, 0xd2, //0x000042f6 testq %r10, %r10 + 0x0f, 0x89, 0xec, 0x03, 0x00, 0x00, //0x000042f9 jns LBB0_822 + 0xe9, 0x19, 0x12, 0x00, 0x00, //0x000042ff jmp LBB0_954 + //0x00004304 LBB0_632 + 0x4c, 0x8b, 0x55, 0x88, //0x00004304 movq $-120(%rbp), %r10 + 0x4c, 0x8b, 0x45, 0x80, //0x00004308 movq $-128(%rbp), %r8 + 0x49, 0x83, 0xf8, 0x20, //0x0000430c cmpq $32, %r8 + 0x0f, 0x82, 0xb3, 0x04, 0x00, 0x00, //0x00004310 jb LBB0_841 + //0x00004316 LBB0_633 + 0xf3, 0x41, 0x0f, 0x6f, 0x12, //0x00004316 movdqu (%r10), %xmm2 + 0xf3, 0x41, 0x0f, 0x6f, 0x62, 0x10, //0x0000431b movdqu $16(%r10), %xmm4 + 0x66, 0x0f, 0x6f, 0xea, //0x00004321 movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00004325 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00004329 pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x6f, 0xec, //0x0000432d movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00004331 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x00004335 pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x74, 0xd1, //0x00004339 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x0000433d pmovmskb %xmm2, %edi + 0x66, 0x0f, 0x74, 0xe1, //0x00004341 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xcc, //0x00004345 pmovmskb %xmm4, %ecx + 0x48, 0xc1, 0xe6, 0x10, //0x00004349 shlq $16, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x0000434d shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00004351 orq %rcx, %rdi + 0x49, 0x83, 0xff, 0xff, //0x00004354 cmpq $-1, %r15 + 0x0f, 0x85, 0x77, 0x00, 0x00, 0x00, //0x00004358 jne LBB0_811 + 0x48, 0x85, 0xff, //0x0000435e testq %rdi, %rdi + 0x4c, 0x8b, 0x5d, 0xd0, //0x00004361 movq $-48(%rbp), %r11 + 0x4c, 0x8b, 0x75, 0xa8, //0x00004365 movq $-88(%rbp), %r14 + 0x0f, 0x85, 0xaa, 0x05, 0x00, 0x00, //0x00004369 jne LBB0_853 + 0x48, 0x09, 0xde, //0x0000436f orq %rbx, %rsi + 0x48, 0x89, 0xf9, //0x00004372 movq %rdi, %rcx + 0x4c, 0x09, 0xe9, //0x00004375 orq %r13, %rcx + 0x0f, 0x85, 0x6e, 0x00, 0x00, 0x00, //0x00004378 jne LBB0_812 + //0x0000437e LBB0_636 + 0x48, 0x85, 0xf6, //0x0000437e testq %rsi, %rsi + 0x0f, 0x84, 0x9e, 0x00, 0x00, 0x00, //0x00004381 je LBB0_813 + //0x00004387 LBB0_637 + 0x48, 0x0f, 0xbc, 0xce, //0x00004387 bsfq %rsi, %rcx + 0x4c, 0x03, 0x55, 0xa0, //0x0000438b addq $-96(%rbp), %r10 + 0x49, 0x01, 0xca, //0x0000438f addq %rcx, %r10 + 0xe9, 0xf0, 0xf6, 0xff, 0xff, //0x00004392 jmp LBB0_646 + //0x00004397 LBB0_807 + 0x4c, 0x29, 0xe3, //0x00004397 subq %r12, %rbx + 0x44, 0x0f, 0xbc, 0xd2, //0x0000439a bsfl %edx, %r10d + 0x49, 0x01, 0xda, //0x0000439e addq %rbx, %r10 + 0x49, 0xf7, 0xd2, //0x000043a1 notq %r10 + 0xe9, 0xa1, 0xf9, 0xff, 0xff, //0x000043a4 jmp LBB0_720 + //0x000043a9 LBB0_808 + 0x4c, 0x89, 0xf1, //0x000043a9 movq %r14, %rcx + 0x4c, 0x09, 0xf9, //0x000043ac orq %r15, %rcx + 0x4d, 0x39, 0xfe, //0x000043af cmpq %r15, %r14 + 0x0f, 0x8c, 0x99, 0x01, 0x00, 0x00, //0x000043b2 jl LBB0_820 + 0x48, 0x85, 0xc9, //0x000043b8 testq %rcx, %rcx + 0x0f, 0x88, 0x90, 0x01, 0x00, 0x00, //0x000043bb js LBB0_820 + 0x49, 0xf7, 0xd6, //0x000043c1 notq %r14 + 0x4d, 0x89, 0xf2, //0x000043c4 movq %r14, %r10 + 0x4d, 0x85, 0xd2, //0x000043c7 testq %r10, %r10 + 0x0f, 0x89, 0x1b, 0x03, 0x00, 0x00, //0x000043ca jns LBB0_822 + 0xe9, 0x48, 0x11, 0x00, 0x00, //0x000043d0 jmp LBB0_954 + //0x000043d5 LBB0_811 + 0x4c, 0x8b, 0x5d, 0xd0, //0x000043d5 movq $-48(%rbp), %r11 + 0x4c, 0x8b, 0x75, 0xa8, //0x000043d9 movq $-88(%rbp), %r14 + 0x48, 0x09, 0xde, //0x000043dd orq %rbx, %rsi + 0x48, 0x89, 0xf9, //0x000043e0 movq %rdi, %rcx + 0x4c, 0x09, 0xe9, //0x000043e3 orq %r13, %rcx + 0x0f, 0x84, 0x92, 0xff, 0xff, 0xff, //0x000043e6 je LBB0_636 + //0x000043ec LBB0_812 + 0x44, 0x89, 0xe9, //0x000043ec movl %r13d, %ecx + 0xf7, 0xd1, //0x000043ef notl %ecx + 0x21, 0xf9, //0x000043f1 andl %edi, %ecx + 0x8d, 0x1c, 0x09, //0x000043f3 leal (%rcx,%rcx), %ebx + 0x44, 0x09, 0xeb, //0x000043f6 orl %r13d, %ebx + 0x89, 0xda, //0x000043f9 movl %ebx, %edx + 0xf7, 0xd2, //0x000043fb notl %edx + 0x21, 0xfa, //0x000043fd andl %edi, %edx + 0x81, 0xe2, 0xaa, 0xaa, 0xaa, 0xaa, //0x000043ff andl $-1431655766, %edx + 0x45, 0x31, 0xed, //0x00004405 xorl %r13d, %r13d + 0x01, 0xca, //0x00004408 addl %ecx, %edx + 0x41, 0x0f, 0x92, 0xc5, //0x0000440a setb %r13b + 0x01, 0xd2, //0x0000440e addl %edx, %edx + 0x81, 0xf2, 0x55, 0x55, 0x55, 0x55, //0x00004410 xorl $1431655765, %edx + 0x21, 0xda, //0x00004416 andl %ebx, %edx + 0xf7, 0xd2, //0x00004418 notl %edx + 0x21, 0xd6, //0x0000441a andl %edx, %esi + 0x48, 0x85, 0xf6, //0x0000441c testq %rsi, %rsi + 0x0f, 0x85, 0x62, 0xff, 0xff, 0xff, //0x0000441f jne LBB0_637 + //0x00004425 LBB0_813 + 0x49, 0x83, 0xc2, 0x20, //0x00004425 addq $32, %r10 + 0x49, 0x83, 0xc0, 0xe0, //0x00004429 addq $-32, %r8 + 0x4d, 0x85, 0xed, //0x0000442d testq %r13, %r13 + 0x0f, 0x85, 0xa4, 0x03, 0x00, 0x00, //0x00004430 jne LBB0_842 + //0x00004436 LBB0_814 + 0x4c, 0x89, 0xfa, //0x00004436 movq %r15, %rdx + 0x4d, 0x85, 0xc0, //0x00004439 testq %r8, %r8 + 0x0f, 0x84, 0x7c, 0x06, 0x00, 0x00, //0x0000443c je LBB0_873 + //0x00004442 LBB0_815 + 0x49, 0x8d, 0x72, 0x01, //0x00004442 leaq $1(%r10), %rsi + 0x41, 0x0f, 0xb6, 0x1a, //0x00004446 movzbl (%r10), %ebx + 0x80, 0xfb, 0x22, //0x0000444a cmpb $34, %bl + 0x0f, 0x84, 0x2f, 0x01, 0x00, 0x00, //0x0000444d je LBB0_824 + 0x49, 0x8d, 0x78, 0xff, //0x00004453 leaq $-1(%r8), %rdi + 0x80, 0xfb, 0x5c, //0x00004457 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000445a je LBB0_818 + 0x49, 0x89, 0xf8, //0x00004460 movq %rdi, %r8 + 0x49, 0x89, 0xf2, //0x00004463 movq %rsi, %r10 + 0x48, 0x85, 0xff, //0x00004466 testq %rdi, %rdi + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x00004469 jne LBB0_815 + 0xe9, 0x4a, 0x06, 0x00, 0x00, //0x0000446f jmp LBB0_873 + //0x00004474 LBB0_818 + 0x48, 0x85, 0xff, //0x00004474 testq %rdi, %rdi + 0x0f, 0x84, 0xf2, 0x12, 0x00, 0x00, //0x00004477 je LBB0_983 + 0x48, 0x03, 0x75, 0xb0, //0x0000447d addq $-80(%rbp), %rsi + 0x48, 0x83, 0xfa, 0xff, //0x00004481 cmpq $-1, %rdx + 0x4c, 0x0f, 0x44, 0xfe, //0x00004485 cmoveq %rsi, %r15 + 0x48, 0x0f, 0x44, 0xd6, //0x00004489 cmoveq %rsi, %rdx + 0x49, 0x83, 0xc2, 0x02, //0x0000448d addq $2, %r10 + 0x49, 0x83, 0xc0, 0xfe, //0x00004491 addq $-2, %r8 + 0x4c, 0x89, 0xc7, //0x00004495 movq %r8, %rdi + 0x4c, 0x8b, 0x5d, 0xd0, //0x00004498 movq $-48(%rbp), %r11 + 0x4c, 0x8b, 0x75, 0xa8, //0x0000449c movq $-88(%rbp), %r14 + 0x48, 0x85, 0xff, //0x000044a0 testq %rdi, %rdi + 0x0f, 0x85, 0x99, 0xff, 0xff, 0xff, //0x000044a3 jne LBB0_815 + 0xe9, 0x10, 0x06, 0x00, 0x00, //0x000044a9 jmp LBB0_873 + //0x000044ae LBB0_694 + 0x4c, 0x8b, 0x55, 0x80, //0x000044ae movq $-128(%rbp), %r10 + 0x4d, 0x89, 0xf5, //0x000044b2 movq %r14, %r13 + 0x49, 0x83, 0xfd, 0x20, //0x000044b5 cmpq $32, %r13 + 0x4c, 0x8b, 0x75, 0xa8, //0x000044b9 movq $-88(%rbp), %r14 + 0x0f, 0x82, 0xb1, 0x03, 0x00, 0x00, //0x000044bd jb LBB0_847 + //0x000044c3 LBB0_695 + 0xf3, 0x41, 0x0f, 0x6f, 0x12, //0x000044c3 movdqu (%r10), %xmm2 + 0xf3, 0x41, 0x0f, 0x6f, 0x62, 0x10, //0x000044c8 movdqu $16(%r10), %xmm4 + 0x66, 0x0f, 0x6f, 0xea, //0x000044ce movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x000044d2 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xfd, //0x000044d6 pmovmskb %xmm5, %edi + 0x66, 0x0f, 0x6f, 0xec, //0x000044da movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x000044de pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x000044e2 pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x74, 0xd1, //0x000044e6 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xca, //0x000044ea pmovmskb %xmm2, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x000044ee pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x000044f2 pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe6, 0x10, //0x000044f6 shlq $16, %rsi + 0x48, 0xc1, 0xe0, 0x10, //0x000044fa shlq $16, %rax + 0x48, 0x09, 0xc1, //0x000044fe orq %rax, %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00004501 cmpq $-1, %r12 + 0x0f, 0x85, 0x9c, 0x00, 0x00, 0x00, //0x00004505 jne LBB0_826 + 0x48, 0x85, 0xc9, //0x0000450b testq %rcx, %rcx + 0x4c, 0x8b, 0x5d, 0xd0, //0x0000450e movq $-48(%rbp), %r11 + 0x0f, 0x85, 0x23, 0x04, 0x00, 0x00, //0x00004512 jne LBB0_854 + 0x48, 0x09, 0xfe, //0x00004518 orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x0000451b movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x0000451e orq %r15, %rax + 0x0f, 0x85, 0x93, 0x00, 0x00, 0x00, //0x00004521 jne LBB0_827 + //0x00004527 LBB0_698 + 0x48, 0x85, 0xf6, //0x00004527 testq %rsi, %rsi + 0x0f, 0x84, 0xc3, 0x00, 0x00, 0x00, //0x0000452a je LBB0_828 + //0x00004530 LBB0_699 + 0x48, 0x0f, 0xbc, 0xc6, //0x00004530 bsfq %rsi, %rax + 0x4c, 0x03, 0x55, 0xa0, //0x00004534 addq $-96(%rbp), %r10 + 0x49, 0x01, 0xc2, //0x00004538 addq %rax, %r10 + 0x4c, 0x8b, 0x6d, 0xc0, //0x0000453b movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x7d, 0xb8, //0x0000453f movq $-72(%rbp), %r15 + 0x4d, 0x85, 0xd2, //0x00004543 testq %r10, %r10 + 0x0f, 0x89, 0x44, 0xf7, 0xff, 0xff, //0x00004546 jns LBB0_705 + 0xe9, 0x5f, 0x0f, 0x00, 0x00, //0x0000454c jmp LBB0_939 + //0x00004551 LBB0_820 + 0x48, 0x85, 0xc9, //0x00004551 testq %rcx, %rcx + 0x49, 0x8d, 0x47, 0xff, //0x00004554 leaq $-1(%r15), %rax + 0x49, 0xf7, 0xd7, //0x00004558 notq %r15 + 0x4d, 0x0f, 0x48, 0xfd, //0x0000455b cmovsq %r13, %r15 + 0x49, 0x39, 0xc6, //0x0000455f cmpq %rax, %r14 + 0x4d, 0x0f, 0x45, 0xfd, //0x00004562 cmovneq %r13, %r15 + 0x4d, 0x89, 0xfa, //0x00004566 movq %r15, %r10 + 0x4d, 0x85, 0xd2, //0x00004569 testq %r10, %r10 + 0x0f, 0x89, 0x79, 0x01, 0x00, 0x00, //0x0000456c jns LBB0_822 + 0xe9, 0xa6, 0x0f, 0x00, 0x00, //0x00004572 jmp LBB0_954 + //0x00004577 LBB0_823 + 0x48, 0xf7, 0xd2, //0x00004577 notq %rdx + 0x49, 0x89, 0xd2, //0x0000457a movq %rdx, %r10 + 0xe9, 0xc8, 0xf7, 0xff, 0xff, //0x0000457d jmp LBB0_720 + //0x00004582 LBB0_824 + 0x48, 0x2b, 0x75, 0xb8, //0x00004582 subq $-72(%rbp), %rsi + 0x49, 0x89, 0xf2, //0x00004586 movq %rsi, %r10 + 0xe9, 0xf9, 0xf4, 0xff, 0xff, //0x00004589 jmp LBB0_646 + //0x0000458e LBB0_825 + 0x48, 0x89, 0x4d, 0xc8, //0x0000458e movq %rcx, $-56(%rbp) + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00004592 movq $-1, %rcx + 0x4d, 0x85, 0xd2, //0x00004599 testq %r10, %r10 + 0x0f, 0x85, 0x3a, 0xf7, 0xff, 0xff, //0x0000459c jne LBB0_711 + 0xe9, 0x2c, 0x0f, 0x00, 0x00, //0x000045a2 jmp LBB0_943 + //0x000045a7 LBB0_826 + 0x4c, 0x8b, 0x5d, 0xd0, //0x000045a7 movq $-48(%rbp), %r11 + 0x48, 0x09, 0xfe, //0x000045ab orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x000045ae movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x000045b1 orq %r15, %rax + 0x0f, 0x84, 0x6d, 0xff, 0xff, 0xff, //0x000045b4 je LBB0_698 + //0x000045ba LBB0_827 + 0x44, 0x89, 0xf8, //0x000045ba movl %r15d, %eax + 0xf7, 0xd0, //0x000045bd notl %eax + 0x21, 0xc8, //0x000045bf andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x000045c1 leal (%rax,%rax), %edx + 0x44, 0x09, 0xfa, //0x000045c4 orl %r15d, %edx + 0x89, 0xd7, //0x000045c7 movl %edx, %edi + 0xf7, 0xd7, //0x000045c9 notl %edi + 0x21, 0xcf, //0x000045cb andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000045cd andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x000045d3 xorl %r15d, %r15d + 0x01, 0xc7, //0x000045d6 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x000045d8 setb %r15b + 0x01, 0xff, //0x000045dc addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000045de xorl $1431655765, %edi + 0x21, 0xd7, //0x000045e4 andl %edx, %edi + 0xf7, 0xd7, //0x000045e6 notl %edi + 0x21, 0xfe, //0x000045e8 andl %edi, %esi + 0x48, 0x85, 0xf6, //0x000045ea testq %rsi, %rsi + 0x0f, 0x85, 0x3d, 0xff, 0xff, 0xff, //0x000045ed jne LBB0_699 + //0x000045f3 LBB0_828 + 0x49, 0x83, 0xc2, 0x20, //0x000045f3 addq $32, %r10 + 0x49, 0x83, 0xc5, 0xe0, //0x000045f7 addq $-32, %r13 + 0x4d, 0x85, 0xff, //0x000045fb testq %r15, %r15 + 0x0f, 0x85, 0x7d, 0x02, 0x00, 0x00, //0x000045fe jne LBB0_848 + //0x00004604 LBB0_829 + 0x4c, 0x89, 0xe7, //0x00004604 movq %r12, %rdi + 0x48, 0x8b, 0x45, 0xc0, //0x00004607 movq $-64(%rbp), %rax + 0x4c, 0x8b, 0x7d, 0xb8, //0x0000460b movq $-72(%rbp), %r15 + 0x4d, 0x85, 0xed, //0x0000460f testq %r13, %r13 + 0x0f, 0x84, 0xa2, 0x0e, 0x00, 0x00, //0x00004612 je LBB0_940 + //0x00004618 LBB0_830 + 0x49, 0x8d, 0x4a, 0x01, //0x00004618 leaq $1(%r10), %rcx + 0x41, 0x0f, 0xb6, 0x12, //0x0000461c movzbl (%r10), %edx + 0x80, 0xfa, 0x22, //0x00004620 cmpb $34, %dl + 0x0f, 0x84, 0x7a, 0x00, 0x00, 0x00, //0x00004623 je LBB0_836 + 0x49, 0x8d, 0x75, 0xff, //0x00004629 leaq $-1(%r13), %rsi + 0x80, 0xfa, 0x5c, //0x0000462d cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00004630 je LBB0_833 + 0x49, 0x89, 0xf5, //0x00004636 movq %rsi, %r13 + 0x49, 0x89, 0xca, //0x00004639 movq %rcx, %r10 + 0x48, 0x85, 0xf6, //0x0000463c testq %rsi, %rsi + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x0000463f jne LBB0_830 + 0xe9, 0x70, 0x0e, 0x00, 0x00, //0x00004645 jmp LBB0_940 + //0x0000464a LBB0_833 + 0x48, 0x85, 0xf6, //0x0000464a testq %rsi, %rsi + 0x0f, 0x84, 0x33, 0x04, 0x00, 0x00, //0x0000464d je LBB0_868 + 0x48, 0x03, 0x4d, 0xb0, //0x00004653 addq $-80(%rbp), %rcx + 0x48, 0x83, 0xff, 0xff, //0x00004657 cmpq $-1, %rdi + 0x4c, 0x0f, 0x44, 0xe1, //0x0000465b cmoveq %rcx, %r12 + 0x48, 0x0f, 0x44, 0xf9, //0x0000465f cmoveq %rcx, %rdi + 0x49, 0x83, 0xc2, 0x02, //0x00004663 addq $2, %r10 + 0x49, 0x83, 0xc5, 0xfe, //0x00004667 addq $-2, %r13 + 0x4c, 0x89, 0xee, //0x0000466b movq %r13, %rsi + 0x4c, 0x8b, 0x5d, 0xd0, //0x0000466e movq $-48(%rbp), %r11 + 0x48, 0x8b, 0x45, 0xc0, //0x00004672 movq $-64(%rbp), %rax + 0x4c, 0x8b, 0x75, 0xa8, //0x00004676 movq $-88(%rbp), %r14 + 0x4c, 0x8b, 0x7d, 0xb8, //0x0000467a movq $-72(%rbp), %r15 + 0x48, 0x85, 0xf6, //0x0000467e testq %rsi, %rsi + 0x0f, 0x85, 0x91, 0xff, 0xff, 0xff, //0x00004681 jne LBB0_830 + 0xe9, 0x2e, 0x0e, 0x00, 0x00, //0x00004687 jmp LBB0_940 + //0x0000468c LBB0_835 + 0x48, 0xf7, 0xd2, //0x0000468c notq %rdx + 0x49, 0x89, 0xd2, //0x0000468f movq %rdx, %r10 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00004692 movq $-48(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xc0, //0x00004696 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x7d, 0xb8, //0x0000469a movq $-72(%rbp), %r15 + 0xe9, 0x2a, 0xed, 0xff, 0xff, //0x0000469e jmp LBB0_581 + //0x000046a3 LBB0_836 + 0x4c, 0x29, 0xf9, //0x000046a3 subq %r15, %rcx + 0x49, 0x89, 0xca, //0x000046a6 movq %rcx, %r10 + 0x49, 0x89, 0xc5, //0x000046a9 movq %rax, %r13 + 0x4d, 0x85, 0xd2, //0x000046ac testq %r10, %r10 + 0x0f, 0x89, 0xdb, 0xf5, 0xff, 0xff, //0x000046af jns LBB0_705 + 0xe9, 0xf6, 0x0d, 0x00, 0x00, //0x000046b5 jmp LBB0_939 + //0x000046ba LBB0_837 + 0x48, 0xf7, 0xd8, //0x000046ba negq %rax + 0x4c, 0x8b, 0x5d, 0xd0, //0x000046bd movq $-48(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xc0, //0x000046c1 movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xa8, //0x000046c5 movq $-88(%rbp), %r14 + 0x4c, 0x8b, 0x7d, 0xb8, //0x000046c9 movq $-72(%rbp), %r15 + 0x49, 0x89, 0xc2, //0x000046cd movq %rax, %r10 + 0xe9, 0xf8, 0xec, 0xff, 0xff, //0x000046d0 jmp LBB0_581 + //0x000046d5 LBB0_838 + 0x4d, 0x29, 0xdc, //0x000046d5 subq %r11, %r12 + 0x44, 0x0f, 0xbc, 0xd7, //0x000046d8 bsfl %edi, %r10d + 0x4d, 0x01, 0xe2, //0x000046dc addq %r12, %r10 + //0x000046df LBB0_839 + 0x49, 0xf7, 0xd2, //0x000046df notq %r10 + 0x4d, 0x85, 0xd2, //0x000046e2 testq %r10, %r10 + 0x0f, 0x88, 0x32, 0x0e, 0x00, 0x00, //0x000046e5 js LBB0_954 + //0x000046eb LBB0_822 + 0x48, 0x8b, 0x45, 0xc8, //0x000046eb movq $-56(%rbp), %rax + 0x49, 0x01, 0xc2, //0x000046ef addq %rax, %r10 + 0x4c, 0x8b, 0x5d, 0xd0, //0x000046f2 movq $-48(%rbp), %r11 + 0x4d, 0x89, 0x13, //0x000046f6 movq %r10, (%r11) + 0x4c, 0x89, 0xc9, //0x000046f9 movq %r9, %rcx + 0x48, 0x85, 0xc0, //0x000046fc testq %rax, %rax + 0x4c, 0x8b, 0x6d, 0xc0, //0x000046ff movq $-64(%rbp), %r13 + 0x4c, 0x8b, 0x75, 0xa8, //0x00004703 movq $-88(%rbp), %r14 + 0x4c, 0x8b, 0x7d, 0xb8, //0x00004707 movq $-72(%rbp), %r15 + 0x0f, 0x8f, 0xdf, 0xec, 0xff, 0xff, //0x0000470b jg LBB0_584 + 0xe9, 0x39, 0xeb, 0xff, 0xff, //0x00004711 jmp LBB0_558 + //0x00004716 LBB0_732 + 0x4c, 0x8b, 0x55, 0x80, //0x00004716 movq $-128(%rbp), %r10 + 0x4d, 0x89, 0xf5, //0x0000471a movq %r14, %r13 + 0x49, 0x83, 0xfd, 0x20, //0x0000471d cmpq $32, %r13 + 0x4c, 0x8b, 0x75, 0xa8, //0x00004721 movq $-88(%rbp), %r14 + 0x0f, 0x82, 0x90, 0x02, 0x00, 0x00, //0x00004725 jb LBB0_858 + //0x0000472b LBB0_733 + 0xf3, 0x41, 0x0f, 0x6f, 0x12, //0x0000472b movdqu (%r10), %xmm2 + 0xf3, 0x41, 0x0f, 0x6f, 0x62, 0x10, //0x00004730 movdqu $16(%r10), %xmm4 + 0x66, 0x0f, 0x6f, 0xea, //0x00004736 movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x0000473a pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xfd, //0x0000473e pmovmskb %xmm5, %edi + 0x66, 0x0f, 0x6f, 0xec, //0x00004742 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00004746 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x0000474a pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x74, 0xd1, //0x0000474e pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xca, //0x00004752 pmovmskb %xmm2, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x00004756 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x0000475a pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe6, 0x10, //0x0000475e shlq $16, %rsi + 0x48, 0xc1, 0xe0, 0x10, //0x00004762 shlq $16, %rax + 0x48, 0x09, 0xc1, //0x00004766 orq %rax, %rcx + 0x49, 0x83, 0xfc, 0xff, //0x00004769 cmpq $-1, %r12 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000476d jne LBB0_735 + 0x48, 0x85, 0xc9, //0x00004773 testq %rcx, %rcx + 0x0f, 0x85, 0xe1, 0x01, 0x00, 0x00, //0x00004776 jne LBB0_855 + //0x0000477c LBB0_735 + 0x48, 0x09, 0xfe, //0x0000477c orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x0000477f movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x00004782 orq %r15, %rax + 0x0f, 0x85, 0xef, 0x01, 0x00, 0x00, //0x00004785 jne LBB0_856 + //0x0000478b LBB0_736 + 0x48, 0x85, 0xf6, //0x0000478b testq %rsi, %rsi + 0x0f, 0x84, 0x1f, 0x02, 0x00, 0x00, //0x0000478e je LBB0_857 + //0x00004794 LBB0_737 + 0x48, 0x0f, 0xbc, 0xc6, //0x00004794 bsfq %rsi, %rax + 0x4c, 0x03, 0x55, 0xa0, //0x00004798 addq $-96(%rbp), %r10 + 0x49, 0x01, 0xc2, //0x0000479c addq %rax, %r10 + 0x4c, 0x8b, 0x7d, 0xb8, //0x0000479f movq $-72(%rbp), %r15 + 0x4d, 0x85, 0xd2, //0x000047a3 testq %r10, %r10 + 0x4c, 0x8b, 0x6d, 0xc0, //0x000047a6 movq $-64(%rbp), %r13 + 0x0f, 0x89, 0xae, 0xfa, 0xff, 0xff, //0x000047aa jns LBB0_795 + 0xe9, 0xfb, 0x0c, 0x00, 0x00, //0x000047b0 jmp LBB0_939 + //0x000047b5 LBB0_840 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000047b5 movq $-1, %r15 + 0x45, 0x31, 0xed, //0x000047bc xorl %r13d, %r13d + 0x49, 0x83, 0xf8, 0x20, //0x000047bf cmpq $32, %r8 + 0x0f, 0x83, 0x4d, 0xfb, 0xff, 0xff, //0x000047c3 jae LBB0_633 + //0x000047c9 LBB0_841 + 0x4c, 0x8b, 0x5d, 0xd0, //0x000047c9 movq $-48(%rbp), %r11 + 0x4c, 0x8b, 0x75, 0xa8, //0x000047cd movq $-88(%rbp), %r14 + 0x4d, 0x85, 0xed, //0x000047d1 testq %r13, %r13 + 0x0f, 0x84, 0x5c, 0xfc, 0xff, 0xff, //0x000047d4 je LBB0_814 + //0x000047da LBB0_842 + 0x48, 0x89, 0xc6, //0x000047da movq %rax, %rsi + 0x4d, 0x85, 0xc0, //0x000047dd testq %r8, %r8 + 0x0f, 0x84, 0x7d, 0x0f, 0x00, 0x00, //0x000047e0 je LBB0_982 + 0x48, 0x8b, 0x45, 0xb0, //0x000047e6 movq $-80(%rbp), %rax + 0x49, 0x8d, 0x0c, 0x02, //0x000047ea leaq (%r10,%rax), %rcx + 0x49, 0x83, 0xff, 0xff, //0x000047ee cmpq $-1, %r15 + 0x4c, 0x89, 0xfa, //0x000047f2 movq %r15, %rdx + 0x4c, 0x0f, 0x44, 0xf9, //0x000047f5 cmoveq %rcx, %r15 + 0x48, 0x0f, 0x44, 0xd1, //0x000047f9 cmoveq %rcx, %rdx + 0x49, 0xff, 0xc2, //0x000047fd incq %r10 + 0x49, 0xff, 0xc8, //0x00004800 decq %r8 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00004803 movq $-48(%rbp), %r11 + 0x4c, 0x8b, 0x75, 0xa8, //0x00004807 movq $-88(%rbp), %r14 + 0x48, 0x89, 0xf0, //0x0000480b movq %rsi, %rax + 0x4d, 0x85, 0xc0, //0x0000480e testq %r8, %r8 + 0x0f, 0x85, 0x2b, 0xfc, 0xff, 0xff, //0x00004811 jne LBB0_815 + 0xe9, 0xa2, 0x02, 0x00, 0x00, //0x00004817 jmp LBB0_873 + //0x0000481c LBB0_844 + 0x49, 0x89, 0xcd, //0x0000481c movq %rcx, %r13 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000481f movq $-1, %r10 + 0x4d, 0x85, 0xff, //0x00004826 testq %r15, %r15 + 0x0f, 0x85, 0x63, 0xfa, 0xff, 0xff, //0x00004829 jne LBB0_798 + 0xe9, 0xe9, 0x0c, 0x00, 0x00, //0x0000482f jmp LBB0_954 + //0x00004834 LBB0_845 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00004834 movq $-1, %r8 + 0x4c, 0x89, 0x65, 0xc8, //0x0000483b movq %r12, $-56(%rbp) + 0x49, 0x89, 0xff, //0x0000483f movq %rdi, %r15 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00004842 movq $-1, %r10 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00004849 movq $-1, %r11 + 0x48, 0x8d, 0x3d, 0xf5, 0x15, 0x00, 0x00, //0x00004850 leaq $5621(%rip), %rdi /* LJTI0_5+0(%rip) */ + 0xe9, 0x67, 0xf1, 0xff, 0xff, //0x00004857 jmp LBB0_672 + //0x0000485c LBB0_846 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x0000485c movq $-1, %r12 + 0x45, 0x31, 0xff, //0x00004863 xorl %r15d, %r15d + 0x49, 0x83, 0xfd, 0x20, //0x00004866 cmpq $32, %r13 + 0x4c, 0x8b, 0x75, 0xa8, //0x0000486a movq $-88(%rbp), %r14 + 0x0f, 0x83, 0x4f, 0xfc, 0xff, 0xff, //0x0000486e jae LBB0_695 + //0x00004874 LBB0_847 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00004874 movq $-48(%rbp), %r11 + 0x4d, 0x85, 0xff, //0x00004878 testq %r15, %r15 + 0x0f, 0x84, 0x83, 0xfd, 0xff, 0xff, //0x0000487b je LBB0_829 + //0x00004881 LBB0_848 + 0x4d, 0x85, 0xed, //0x00004881 testq %r13, %r13 + 0x0f, 0x84, 0xfc, 0x01, 0x00, 0x00, //0x00004884 je LBB0_868 + 0x48, 0x8b, 0x45, 0xb0, //0x0000488a movq $-80(%rbp), %rax + 0x4c, 0x01, 0xd0, //0x0000488e addq %r10, %rax + 0x49, 0x83, 0xfc, 0xff, //0x00004891 cmpq $-1, %r12 + 0x4c, 0x89, 0xe7, //0x00004895 movq %r12, %rdi + 0x4c, 0x0f, 0x44, 0xe0, //0x00004898 cmoveq %rax, %r12 + 0x48, 0x0f, 0x44, 0xf8, //0x0000489c cmoveq %rax, %rdi + 0x49, 0xff, 0xc2, //0x000048a0 incq %r10 + 0x49, 0xff, 0xcd, //0x000048a3 decq %r13 + 0x4c, 0x8b, 0x5d, 0xd0, //0x000048a6 movq $-48(%rbp), %r11 + 0x48, 0x8b, 0x45, 0xc0, //0x000048aa movq $-64(%rbp), %rax + 0x4c, 0x8b, 0x75, 0xa8, //0x000048ae movq $-88(%rbp), %r14 + 0x4c, 0x8b, 0x7d, 0xb8, //0x000048b2 movq $-72(%rbp), %r15 + 0x4d, 0x85, 0xed, //0x000048b6 testq %r13, %r13 + 0x0f, 0x85, 0x59, 0xfd, 0xff, 0xff, //0x000048b9 jne LBB0_830 + 0xe9, 0xf6, 0x0b, 0x00, 0x00, //0x000048bf jmp LBB0_940 + //0x000048c4 LBB0_852 + 0x49, 0xf7, 0xda, //0x000048c4 negq %r10 + 0x4d, 0x85, 0xd2, //0x000048c7 testq %r10, %r10 + 0x0f, 0x89, 0x1b, 0xfe, 0xff, 0xff, //0x000048ca jns LBB0_822 + 0xe9, 0x48, 0x0c, 0x00, 0x00, //0x000048d0 jmp LBB0_954 + //0x000048d5 LBB0_850 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000048d5 movq $-1, %r12 + 0x45, 0x31, 0xff, //0x000048dc xorl %r15d, %r15d + 0x49, 0x83, 0xfd, 0x20, //0x000048df cmpq $32, %r13 + 0x4c, 0x8b, 0x75, 0xa8, //0x000048e3 movq $-88(%rbp), %r14 + 0x0f, 0x83, 0x3e, 0xfe, 0xff, 0xff, //0x000048e7 jae LBB0_733 + 0xe9, 0xc9, 0x00, 0x00, 0x00, //0x000048ed jmp LBB0_858 + //0x000048f2 LBB0_851 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000048f2 movq $-1, %r14 + 0x4d, 0x89, 0xdd, //0x000048f9 movq %r11, %r13 + 0x4d, 0x89, 0xf8, //0x000048fc movq %r15, %r8 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000048ff movq $-1, %r15 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00004906 movq $-1, %rbx + 0x48, 0x8d, 0x3d, 0x4c, 0x14, 0x00, 0x00, //0x0000490d leaq $5196(%rip), %rdi /* LJTI0_4+0(%rip) */ + 0xe9, 0xcd, 0xf7, 0xff, 0xff, //0x00004914 jmp LBB0_763 + //0x00004919 LBB0_853 + 0x4c, 0x89, 0xd1, //0x00004919 movq %r10, %rcx + 0x48, 0x2b, 0x4d, 0xb8, //0x0000491c subq $-72(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xff, //0x00004920 bsfq %rdi, %r15 + 0x49, 0x01, 0xcf, //0x00004924 addq %rcx, %r15 + 0x48, 0x09, 0xde, //0x00004927 orq %rbx, %rsi + 0x48, 0x89, 0xf9, //0x0000492a movq %rdi, %rcx + 0x4c, 0x09, 0xe9, //0x0000492d orq %r13, %rcx + 0x0f, 0x84, 0x48, 0xfa, 0xff, 0xff, //0x00004930 je LBB0_636 + 0xe9, 0xb1, 0xfa, 0xff, 0xff, //0x00004936 jmp LBB0_812 + //0x0000493b LBB0_854 + 0x4c, 0x89, 0xd0, //0x0000493b movq %r10, %rax + 0x48, 0x2b, 0x45, 0xb8, //0x0000493e subq $-72(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xe1, //0x00004942 bsfq %rcx, %r12 + 0x49, 0x01, 0xc4, //0x00004946 addq %rax, %r12 + 0x48, 0x09, 0xfe, //0x00004949 orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x0000494c movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x0000494f orq %r15, %rax + 0x0f, 0x84, 0xcf, 0xfb, 0xff, 0xff, //0x00004952 je LBB0_698 + 0xe9, 0x5d, 0xfc, 0xff, 0xff, //0x00004958 jmp LBB0_827 + //0x0000495d LBB0_855 + 0x4c, 0x89, 0xd0, //0x0000495d movq %r10, %rax + 0x48, 0x2b, 0x45, 0xb8, //0x00004960 subq $-72(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xe1, //0x00004964 bsfq %rcx, %r12 + 0x49, 0x01, 0xc4, //0x00004968 addq %rax, %r12 + 0x48, 0x09, 0xfe, //0x0000496b orq %rdi, %rsi + 0x48, 0x89, 0xc8, //0x0000496e movq %rcx, %rax + 0x4c, 0x09, 0xf8, //0x00004971 orq %r15, %rax + 0x0f, 0x84, 0x11, 0xfe, 0xff, 0xff, //0x00004974 je LBB0_736 + //0x0000497a LBB0_856 + 0x44, 0x89, 0xf8, //0x0000497a movl %r15d, %eax + 0xf7, 0xd0, //0x0000497d notl %eax + 0x21, 0xc8, //0x0000497f andl %ecx, %eax + 0x8d, 0x14, 0x00, //0x00004981 leal (%rax,%rax), %edx + 0x44, 0x09, 0xfa, //0x00004984 orl %r15d, %edx + 0x89, 0xd7, //0x00004987 movl %edx, %edi + 0xf7, 0xd7, //0x00004989 notl %edi + 0x21, 0xcf, //0x0000498b andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000498d andl $-1431655766, %edi + 0x45, 0x31, 0xff, //0x00004993 xorl %r15d, %r15d + 0x01, 0xc7, //0x00004996 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc7, //0x00004998 setb %r15b + 0x01, 0xff, //0x0000499c addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x0000499e xorl $1431655765, %edi + 0x21, 0xd7, //0x000049a4 andl %edx, %edi + 0xf7, 0xd7, //0x000049a6 notl %edi + 0x21, 0xfe, //0x000049a8 andl %edi, %esi + 0x48, 0x85, 0xf6, //0x000049aa testq %rsi, %rsi + 0x0f, 0x85, 0xe1, 0xfd, 0xff, 0xff, //0x000049ad jne LBB0_737 + //0x000049b3 LBB0_857 + 0x49, 0x83, 0xc2, 0x20, //0x000049b3 addq $32, %r10 + 0x49, 0x83, 0xc5, 0xe0, //0x000049b7 addq $-32, %r13 + //0x000049bb LBB0_858 + 0x4d, 0x85, 0xff, //0x000049bb testq %r15, %r15 + 0x0f, 0x85, 0x94, 0x00, 0x00, 0x00, //0x000049be jne LBB0_866 + 0x4c, 0x89, 0xe7, //0x000049c4 movq %r12, %rdi + 0x4d, 0x85, 0xed, //0x000049c7 testq %r13, %r13 + 0x0f, 0x84, 0xb6, 0x00, 0x00, 0x00, //0x000049ca je LBB0_868 + //0x000049d0 LBB0_860 + 0x49, 0x8d, 0x4a, 0x01, //0x000049d0 leaq $1(%r10), %rcx + 0x41, 0x0f, 0xb6, 0x12, //0x000049d4 movzbl (%r10), %edx + 0x80, 0xfa, 0x22, //0x000049d8 cmpb $34, %dl + 0x0f, 0x84, 0x53, 0x00, 0x00, 0x00, //0x000049db je LBB0_865 + 0x49, 0x8d, 0x75, 0xff, //0x000049e1 leaq $-1(%r13), %rsi + 0x80, 0xfa, 0x5c, //0x000049e5 cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000049e8 je LBB0_863 + 0x49, 0x89, 0xf5, //0x000049ee movq %rsi, %r13 + 0x49, 0x89, 0xca, //0x000049f1 movq %rcx, %r10 + 0x48, 0x85, 0xf6, //0x000049f4 testq %rsi, %rsi + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x000049f7 jne LBB0_860 + 0xe9, 0x84, 0x00, 0x00, 0x00, //0x000049fd jmp LBB0_868 + //0x00004a02 LBB0_863 + 0x48, 0x85, 0xf6, //0x00004a02 testq %rsi, %rsi + 0x0f, 0x84, 0x7b, 0x00, 0x00, 0x00, //0x00004a05 je LBB0_868 + 0x48, 0x03, 0x4d, 0xb0, //0x00004a0b addq $-80(%rbp), %rcx + 0x48, 0x83, 0xff, 0xff, //0x00004a0f cmpq $-1, %rdi + 0x4c, 0x0f, 0x44, 0xe1, //0x00004a13 cmoveq %rcx, %r12 + 0x48, 0x0f, 0x44, 0xf9, //0x00004a17 cmoveq %rcx, %rdi + 0x49, 0x83, 0xc2, 0x02, //0x00004a1b addq $2, %r10 + 0x49, 0x83, 0xc5, 0xfe, //0x00004a1f addq $-2, %r13 + 0x4c, 0x89, 0xee, //0x00004a23 movq %r13, %rsi + 0x48, 0x85, 0xf6, //0x00004a26 testq %rsi, %rsi + 0x0f, 0x85, 0xa1, 0xff, 0xff, 0xff, //0x00004a29 jne LBB0_860 + 0xe9, 0x52, 0x00, 0x00, 0x00, //0x00004a2f jmp LBB0_868 + //0x00004a34 LBB0_865 + 0x4c, 0x8b, 0x7d, 0xb8, //0x00004a34 movq $-72(%rbp), %r15 + 0x4c, 0x29, 0xf9, //0x00004a38 subq %r15, %rcx + 0x49, 0x89, 0xca, //0x00004a3b movq %rcx, %r10 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00004a3e movq $-48(%rbp), %r11 + 0x4c, 0x8b, 0x75, 0xa8, //0x00004a42 movq $-88(%rbp), %r14 + 0x4d, 0x85, 0xd2, //0x00004a46 testq %r10, %r10 + 0x4c, 0x8b, 0x6d, 0xc0, //0x00004a49 movq $-64(%rbp), %r13 + 0x0f, 0x89, 0x0b, 0xf8, 0xff, 0xff, //0x00004a4d jns LBB0_795 + 0xe9, 0x58, 0x0a, 0x00, 0x00, //0x00004a53 jmp LBB0_939 + //0x00004a58 LBB0_866 + 0x4d, 0x85, 0xed, //0x00004a58 testq %r13, %r13 + 0x0f, 0x84, 0x25, 0x00, 0x00, 0x00, //0x00004a5b je LBB0_868 + 0x48, 0x8b, 0x45, 0xb0, //0x00004a61 movq $-80(%rbp), %rax + 0x4c, 0x01, 0xd0, //0x00004a65 addq %r10, %rax + 0x49, 0x83, 0xfc, 0xff, //0x00004a68 cmpq $-1, %r12 + 0x4c, 0x89, 0xe7, //0x00004a6c movq %r12, %rdi + 0x4c, 0x0f, 0x44, 0xe0, //0x00004a6f cmoveq %rax, %r12 + 0x48, 0x0f, 0x44, 0xf8, //0x00004a73 cmoveq %rax, %rdi + 0x49, 0xff, 0xc2, //0x00004a77 incq %r10 + 0x49, 0xff, 0xcd, //0x00004a7a decq %r13 + 0x4d, 0x85, 0xed, //0x00004a7d testq %r13, %r13 + 0x0f, 0x85, 0x4a, 0xff, 0xff, 0xff, //0x00004a80 jne LBB0_860 + //0x00004a86 LBB0_868 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00004a86 movq $-48(%rbp), %r11 + 0xe9, 0x2b, 0x0a, 0x00, 0x00, //0x00004a8a jmp LBB0_940 + //0x00004a8f LBB0_869 + 0x49, 0x89, 0x3b, //0x00004a8f movq %rdi, (%r11) + //0x00004a92 LBB0_870 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00004a92 movq $-1, %rcx + 0xe9, 0xb1, 0xe7, 0xff, 0xff, //0x00004a99 jmp LBB0_558 + //0x00004a9e LBB0_955 + 0x48, 0xc7, 0xc1, 0xf9, 0xff, 0xff, 0xff, //0x00004a9e movq $-7, %rcx + 0xe9, 0xa5, 0xe7, 0xff, 0xff, //0x00004aa5 jmp LBB0_558 + //0x00004aaa LBB0_871 + 0x49, 0x8d, 0x44, 0x24, 0x04, //0x00004aaa leaq $4(%r12), %rax + 0xe9, 0x7c, 0x05, 0x00, 0x00, //0x00004aaf jmp LBB0_912 + //0x00004ab4 LBB0_872 + 0x49, 0x83, 0xfa, 0xff, //0x00004ab4 cmpq $-1, %r10 + 0x0f, 0x85, 0x0a, 0x00, 0x00, 0x00, //0x00004ab8 jne LBB0_874 + //0x00004abe LBB0_873 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00004abe movq $-1, %r10 + 0x49, 0x89, 0xc7, //0x00004ac5 movq %rax, %r15 + //0x00004ac8 LBB0_874 + 0x4d, 0x89, 0x3b, //0x00004ac8 movq %r15, (%r11) + 0x4c, 0x89, 0xd1, //0x00004acb movq %r10, %rcx + 0xe9, 0x7c, 0xe7, 0xff, 0xff, //0x00004ace jmp LBB0_558 + //0x00004ad3 LBB0_875 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00004ad3 movq $-1, %rcx + 0xe9, 0xf4, 0x09, 0x00, 0x00, //0x00004ada jmp LBB0_943 + //0x00004adf LBB0_876 + 0x4d, 0x89, 0x23, //0x00004adf movq %r12, (%r11) + 0xe9, 0x61, 0xe7, 0xff, 0xff, //0x00004ae2 jmp LBB0_557 + //0x00004ae7 LBB0_877 + 0x4d, 0x8b, 0x4d, 0x08, //0x00004ae7 movq $8(%r13), %r9 + 0x4d, 0x89, 0xce, //0x00004aeb movq %r9, %r14 + 0x49, 0x29, 0xfe, //0x00004aee subq %rdi, %r14 + 0x49, 0x83, 0xfe, 0x20, //0x00004af1 cmpq $32, %r14 + 0x0f, 0x8c, 0x0c, 0x0c, 0x00, 0x00, //0x00004af5 jl LBB0_975 + 0x41, 0xba, 0xff, 0xff, 0xff, 0xff, //0x00004afb movl $4294967295, %r10d + 0x4f, 0x8d, 0x1c, 0x20, //0x00004b01 leaq (%r8,%r12), %r11 + 0x4d, 0x29, 0xe1, //0x00004b05 subq %r12, %r9 + 0xbe, 0x1f, 0x00, 0x00, 0x00, //0x00004b08 movl $31, %esi + 0x45, 0x31, 0xf6, //0x00004b0d xorl %r14d, %r14d + 0xf3, 0x0f, 0x6f, 0x05, 0x18, 0xb5, 0xff, 0xff, //0x00004b10 movdqu $-19176(%rip), %xmm0 /* LCPI0_3+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x20, 0xb5, 0xff, 0xff, //0x00004b18 movdqu $-19168(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0x45, 0x31, 0xff, //0x00004b20 xorl %r15d, %r15d + 0xe9, 0x22, 0x00, 0x00, 0x00, //0x00004b23 jmp LBB0_879 + //0x00004b28 LBB0_882 + 0x45, 0x31, 0xff, //0x00004b28 xorl %r15d, %r15d + 0x85, 0xff, //0x00004b2b testl %edi, %edi + 0x0f, 0x85, 0xa6, 0x00, 0x00, 0x00, //0x00004b2d jne LBB0_881 + //0x00004b33 LBB0_883 + 0x49, 0x83, 0xc6, 0x20, //0x00004b33 addq $32, %r14 + 0x49, 0x8d, 0x44, 0x31, 0xe0, //0x00004b37 leaq $-32(%r9,%rsi), %rax + 0x48, 0x83, 0xc6, 0xe0, //0x00004b3c addq $-32, %rsi + 0x48, 0x83, 0xf8, 0x3f, //0x00004b40 cmpq $63, %rax + 0x0f, 0x8e, 0x02, 0x0b, 0x00, 0x00, //0x00004b44 jle LBB0_884 + //0x00004b4a LBB0_879 + 0xf3, 0x43, 0x0f, 0x6f, 0x54, 0x33, 0x01, //0x00004b4a movdqu $1(%r11,%r14), %xmm2 + 0xf3, 0x43, 0x0f, 0x6f, 0x5c, 0x33, 0x11, //0x00004b51 movdqu $17(%r11,%r14), %xmm3 + 0x66, 0x0f, 0x6f, 0xe2, //0x00004b58 movdqa %xmm2, %xmm4 + 0x66, 0x0f, 0x74, 0xe0, //0x00004b5c pcmpeqb %xmm0, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00004b60 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x6f, 0xe3, //0x00004b64 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0x74, 0xe0, //0x00004b68 pcmpeqb %xmm0, %xmm4 + 0x66, 0x0f, 0xd7, 0xfc, //0x00004b6c pmovmskb %xmm4, %edi + 0x48, 0xc1, 0xe7, 0x10, //0x00004b70 shlq $16, %rdi + 0x48, 0x09, 0xc7, //0x00004b74 orq %rax, %rdi + 0x66, 0x0f, 0x74, 0xd1, //0x00004b77 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xda, //0x00004b7b pmovmskb %xmm2, %ebx + 0x66, 0x0f, 0x74, 0xd9, //0x00004b7f pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x00004b83 pmovmskb %xmm3, %eax + 0x48, 0xc1, 0xe0, 0x10, //0x00004b87 shlq $16, %rax + 0x48, 0x09, 0xd8, //0x00004b8b orq %rbx, %rax + 0x48, 0x89, 0xc3, //0x00004b8e movq %rax, %rbx + 0x4c, 0x09, 0xfb, //0x00004b91 orq %r15, %rbx + 0x0f, 0x84, 0x8e, 0xff, 0xff, 0xff, //0x00004b94 je LBB0_882 + 0x44, 0x89, 0xfb, //0x00004b9a movl %r15d, %ebx + 0x44, 0x31, 0xd3, //0x00004b9d xorl %r10d, %ebx + 0x21, 0xd8, //0x00004ba0 andl %ebx, %eax + 0x8d, 0x1c, 0x00, //0x00004ba2 leal (%rax,%rax), %ebx + 0x44, 0x09, 0xfb, //0x00004ba5 orl %r15d, %ebx + 0x41, 0x8d, 0x92, 0xab, 0xaa, 0xaa, 0xaa, //0x00004ba8 leal $-1431655765(%r10), %edx + 0x31, 0xda, //0x00004baf xorl %ebx, %edx + 0x21, 0xc2, //0x00004bb1 andl %eax, %edx + 0x81, 0xe2, 0xaa, 0xaa, 0xaa, 0xaa, //0x00004bb3 andl $-1431655766, %edx + 0x45, 0x31, 0xff, //0x00004bb9 xorl %r15d, %r15d + 0x01, 0xc2, //0x00004bbc addl %eax, %edx + 0x41, 0x0f, 0x92, 0xc7, //0x00004bbe setb %r15b + 0x01, 0xd2, //0x00004bc2 addl %edx, %edx + 0x81, 0xf2, 0x55, 0x55, 0x55, 0x55, //0x00004bc4 xorl $1431655765, %edx + 0x21, 0xda, //0x00004bca andl %ebx, %edx + 0x44, 0x31, 0xd2, //0x00004bcc xorl %r10d, %edx + 0x21, 0xd7, //0x00004bcf andl %edx, %edi + 0x85, 0xff, //0x00004bd1 testl %edi, %edi + 0x0f, 0x84, 0x5a, 0xff, 0xff, 0xff, //0x00004bd3 je LBB0_883 + //0x00004bd9 LBB0_881 + 0x48, 0x0f, 0xbc, 0xc7, //0x00004bd9 bsfq %rdi, %rax + 0x49, 0x01, 0xc3, //0x00004bdd addq %rax, %r11 + 0x4d, 0x01, 0xf3, //0x00004be0 addq %r14, %r11 + 0x4d, 0x29, 0xc3, //0x00004be3 subq %r8, %r11 + 0x49, 0x83, 0xc3, 0x02, //0x00004be6 addq $2, %r11 + 0x48, 0x8b, 0x45, 0xd0, //0x00004bea movq $-48(%rbp), %rax + 0x4c, 0x89, 0x18, //0x00004bee movq %r11, (%rax) + 0x4c, 0x89, 0xe1, //0x00004bf1 movq %r12, %rcx + 0xe9, 0x56, 0xe6, 0xff, 0xff, //0x00004bf4 jmp LBB0_558 + //0x00004bf9 LBB0_887 + 0x49, 0xbb, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00004bf9 movabsq $6148914691236517205, %r11 + 0x49, 0x8b, 0x45, 0x08, //0x00004c03 movq $8(%r13), %rax + 0x48, 0x29, 0xf8, //0x00004c07 subq %rdi, %rax + 0x49, 0x01, 0xf8, //0x00004c0a addq %rdi, %r8 + 0x45, 0x31, 0xff, //0x00004c0d xorl %r15d, %r15d + 0xf3, 0x44, 0x0f, 0x6f, 0x15, 0x17, 0xb4, 0xff, 0xff, //0x00004c10 movdqu $-19433(%rip), %xmm10 /* LCPI0_3+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x1f, 0xb4, 0xff, 0xff, //0x00004c19 movdqu $-19425(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0x66, 0x45, 0x0f, 0x76, 0xc9, //0x00004c21 pcmpeqd %xmm9, %xmm9 + 0xf3, 0x0f, 0x6f, 0x1d, 0x32, 0xb4, 0xff, 0xff, //0x00004c26 movdqu $-19406(%rip), %xmm3 /* LCPI0_6+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x25, 0x3a, 0xb4, 0xff, 0xff, //0x00004c2e movdqu $-19398(%rip), %xmm4 /* LCPI0_7+0(%rip) */ + 0x49, 0xbd, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, //0x00004c36 movabsq $3689348814741910323, %r13 + 0x66, 0x45, 0x0f, 0xef, 0xc0, //0x00004c40 pxor %xmm8, %xmm8 + 0x31, 0xd2, //0x00004c45 xorl %edx, %edx + 0x48, 0x89, 0x55, 0x98, //0x00004c47 movq %rdx, $-104(%rbp) + 0x45, 0x31, 0xf6, //0x00004c4b xorl %r14d, %r14d + 0x45, 0x31, 0xd2, //0x00004c4e xorl %r10d, %r10d + 0x48, 0x83, 0xf8, 0x40, //0x00004c51 cmpq $64, %rax + 0x48, 0x89, 0x45, 0xc8, //0x00004c55 movq %rax, $-56(%rbp) + 0x4c, 0x89, 0x7d, 0x90, //0x00004c59 movq %r15, $-112(%rbp) + 0x0f, 0x8c, 0x75, 0x02, 0x00, 0x00, //0x00004c5d jl LBB0_896 + //0x00004c63 LBB0_890 + 0xf3, 0x41, 0x0f, 0x6f, 0x00, //0x00004c63 movdqu (%r8), %xmm0 + 0xf3, 0x41, 0x0f, 0x6f, 0x68, 0x10, //0x00004c68 movdqu $16(%r8), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x78, 0x20, //0x00004c6e movdqu $32(%r8), %xmm7 + 0xf3, 0x41, 0x0f, 0x6f, 0x70, 0x30, //0x00004c74 movdqu $48(%r8), %xmm6 + 0x66, 0x0f, 0x6f, 0xd0, //0x00004c7a movdqa %xmm0, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x00004c7e pcmpeqb %xmm10, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xfa, //0x00004c83 pmovmskb %xmm2, %r15d + 0x66, 0x0f, 0x6f, 0xd5, //0x00004c88 movdqa %xmm5, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x00004c8c pcmpeqb %xmm10, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x00004c91 pmovmskb %xmm2, %edi + 0x66, 0x0f, 0x6f, 0xd7, //0x00004c95 movdqa %xmm7, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x00004c99 pcmpeqb %xmm10, %xmm2 + 0x66, 0x0f, 0xd7, 0xd2, //0x00004c9e pmovmskb %xmm2, %edx + 0x66, 0x0f, 0x6f, 0xd6, //0x00004ca2 movdqa %xmm6, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x00004ca6 pcmpeqb %xmm10, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xca, //0x00004cab pmovmskb %xmm2, %r9d + 0x49, 0xc1, 0xe1, 0x30, //0x00004cb0 shlq $48, %r9 + 0x48, 0xc1, 0xe2, 0x20, //0x00004cb4 shlq $32, %rdx + 0x48, 0xc1, 0xe7, 0x10, //0x00004cb8 shlq $16, %rdi + 0x49, 0x09, 0xff, //0x00004cbc orq %rdi, %r15 + 0x49, 0x09, 0xd7, //0x00004cbf orq %rdx, %r15 + 0x4d, 0x09, 0xcf, //0x00004cc2 orq %r9, %r15 + 0x66, 0x0f, 0x6f, 0xd0, //0x00004cc5 movdqa %xmm0, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x00004cc9 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x00004ccd pmovmskb %xmm2, %edi + 0x66, 0x0f, 0x6f, 0xd5, //0x00004cd1 movdqa %xmm5, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x00004cd5 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xd2, //0x00004cd9 pmovmskb %xmm2, %edx + 0x66, 0x0f, 0x6f, 0xd7, //0x00004cdd movdqa %xmm7, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x00004ce1 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xc2, //0x00004ce5 pmovmskb %xmm2, %eax + 0x66, 0x0f, 0x6f, 0xd6, //0x00004ce9 movdqa %xmm6, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x00004ced pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xda, //0x00004cf1 pmovmskb %xmm2, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x00004cf5 shlq $48, %rbx + 0x48, 0xc1, 0xe0, 0x20, //0x00004cf9 shlq $32, %rax + 0x48, 0xc1, 0xe2, 0x10, //0x00004cfd shlq $16, %rdx + 0x48, 0x09, 0xd7, //0x00004d01 orq %rdx, %rdi + 0x48, 0x09, 0xc7, //0x00004d04 orq %rax, %rdi + 0x48, 0x09, 0xdf, //0x00004d07 orq %rbx, %rdi + 0x48, 0x89, 0xf8, //0x00004d0a movq %rdi, %rax + 0x48, 0x8b, 0x55, 0x98, //0x00004d0d movq $-104(%rbp), %rdx + 0x48, 0x09, 0xd0, //0x00004d11 orq %rdx, %rax + 0x0f, 0x84, 0x43, 0x00, 0x00, 0x00, //0x00004d14 je LBB0_892 + 0x48, 0x89, 0xd0, //0x00004d1a movq %rdx, %rax + 0x48, 0xf7, 0xd0, //0x00004d1d notq %rax + 0x48, 0x21, 0xf8, //0x00004d20 andq %rdi, %rax + 0x48, 0x8d, 0x1c, 0x00, //0x00004d23 leaq (%rax,%rax), %rbx + 0x48, 0x09, 0xd3, //0x00004d27 orq %rdx, %rbx + 0x48, 0x89, 0xda, //0x00004d2a movq %rbx, %rdx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00004d2d movabsq $-6148914691236517206, %rsi + 0x48, 0x31, 0xf2, //0x00004d37 xorq %rsi, %rdx + 0x48, 0x21, 0xf7, //0x00004d3a andq %rsi, %rdi + 0x48, 0x21, 0xd7, //0x00004d3d andq %rdx, %rdi + 0x31, 0xd2, //0x00004d40 xorl %edx, %edx + 0x48, 0x01, 0xc7, //0x00004d42 addq %rax, %rdi + 0x0f, 0x92, 0xc2, //0x00004d45 setb %dl + 0x48, 0x89, 0x55, 0x98, //0x00004d48 movq %rdx, $-104(%rbp) + 0x48, 0x01, 0xff, //0x00004d4c addq %rdi, %rdi + 0x4c, 0x31, 0xdf, //0x00004d4f xorq %r11, %rdi + 0x48, 0x21, 0xdf, //0x00004d52 andq %rbx, %rdi + 0x48, 0xf7, 0xd7, //0x00004d55 notq %rdi + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x00004d58 jmp LBB0_893 + //0x00004d5d LBB0_892 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00004d5d movq $-1, %rdi + 0x31, 0xc0, //0x00004d64 xorl %eax, %eax + 0x48, 0x89, 0x45, 0x98, //0x00004d66 movq %rax, $-104(%rbp) + //0x00004d6a LBB0_893 + 0x48, 0x8b, 0x45, 0x90, //0x00004d6a movq $-112(%rbp), %rax + 0x4c, 0x21, 0xff, //0x00004d6e andq %r15, %rdi + 0x66, 0x48, 0x0f, 0x6e, 0xd7, //0x00004d71 movq %rdi, %xmm2 + 0x66, 0x41, 0x0f, 0x3a, 0x44, 0xd1, 0x00, //0x00004d76 pclmulqdq $0, %xmm9, %xmm2 + 0x66, 0x49, 0x0f, 0x7e, 0xd7, //0x00004d7d movq %xmm2, %r15 + 0x49, 0x31, 0xc7, //0x00004d82 xorq %rax, %r15 + 0x66, 0x0f, 0x6f, 0xd0, //0x00004d85 movdqa %xmm0, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x00004d89 pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x00004d8d pmovmskb %xmm2, %edi + 0x66, 0x0f, 0x6f, 0xd5, //0x00004d91 movdqa %xmm5, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x00004d95 pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xc2, //0x00004d99 pmovmskb %xmm2, %eax + 0x66, 0x0f, 0x6f, 0xd7, //0x00004d9d movdqa %xmm7, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x00004da1 pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xd2, //0x00004da5 pmovmskb %xmm2, %edx + 0x66, 0x0f, 0x6f, 0xd6, //0x00004da9 movdqa %xmm6, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x00004dad pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xda, //0x00004db1 pmovmskb %xmm2, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x00004db5 shlq $48, %rbx + 0x48, 0xc1, 0xe2, 0x20, //0x00004db9 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00004dbd shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00004dc1 orq %rax, %rdi + 0x48, 0x09, 0xd7, //0x00004dc4 orq %rdx, %rdi + 0x48, 0x09, 0xdf, //0x00004dc7 orq %rbx, %rdi + 0x4d, 0x89, 0xf9, //0x00004dca movq %r15, %r9 + 0x49, 0xf7, 0xd1, //0x00004dcd notq %r9 + 0x4c, 0x21, 0xcf, //0x00004dd0 andq %r9, %rdi + 0x66, 0x0f, 0x74, 0xc4, //0x00004dd3 pcmpeqb %xmm4, %xmm0 + 0x66, 0x0f, 0xd7, 0xd0, //0x00004dd7 pmovmskb %xmm0, %edx + 0x66, 0x0f, 0x74, 0xec, //0x00004ddb pcmpeqb %xmm4, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00004ddf pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x74, 0xfc, //0x00004de3 pcmpeqb %xmm4, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00004de7 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x74, 0xf4, //0x00004deb pcmpeqb %xmm4, %xmm6 + 0x66, 0x0f, 0xd7, 0xc6, //0x00004def pmovmskb %xmm6, %eax + 0x48, 0xc1, 0xe0, 0x30, //0x00004df3 shlq $48, %rax + 0x48, 0xc1, 0xe6, 0x20, //0x00004df7 shlq $32, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x00004dfb shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00004dff orq %rbx, %rdx + 0x48, 0x09, 0xf2, //0x00004e02 orq %rsi, %rdx + 0x48, 0x09, 0xc2, //0x00004e05 orq %rax, %rdx + 0x48, 0xbb, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00004e08 movabsq $1085102592571150095, %rbx + 0x4c, 0x21, 0xca, //0x00004e12 andq %r9, %rdx + 0x0f, 0x84, 0x5d, 0x00, 0x00, 0x00, //0x00004e15 je LBB0_888 + //0x00004e1b LBB0_894 + 0x4c, 0x8d, 0x4a, 0xff, //0x00004e1b leaq $-1(%rdx), %r9 + 0x4c, 0x89, 0xc8, //0x00004e1f movq %r9, %rax + 0x48, 0x21, 0xf8, //0x00004e22 andq %rdi, %rax + 0x48, 0x89, 0xc6, //0x00004e25 movq %rax, %rsi + 0x48, 0xd1, 0xee, //0x00004e28 shrq %rsi + 0x4c, 0x21, 0xde, //0x00004e2b andq %r11, %rsi + 0x48, 0x29, 0xf0, //0x00004e2e subq %rsi, %rax + 0x48, 0x89, 0xc6, //0x00004e31 movq %rax, %rsi + 0x4c, 0x21, 0xee, //0x00004e34 andq %r13, %rsi + 0x48, 0xc1, 0xe8, 0x02, //0x00004e37 shrq $2, %rax + 0x4c, 0x21, 0xe8, //0x00004e3b andq %r13, %rax + 0x48, 0x01, 0xf0, //0x00004e3e addq %rsi, %rax + 0x48, 0x89, 0xc6, //0x00004e41 movq %rax, %rsi + 0x48, 0xc1, 0xee, 0x04, //0x00004e44 shrq $4, %rsi + 0x48, 0x01, 0xc6, //0x00004e48 addq %rax, %rsi + 0x48, 0x21, 0xde, //0x00004e4b andq %rbx, %rsi + 0x48, 0xb8, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x00004e4e movabsq $72340172838076673, %rax + 0x48, 0x0f, 0xaf, 0xf0, //0x00004e58 imulq %rax, %rsi + 0x48, 0xc1, 0xee, 0x38, //0x00004e5c shrq $56, %rsi + 0x4c, 0x01, 0xf6, //0x00004e60 addq %r14, %rsi + 0x4c, 0x39, 0xd6, //0x00004e63 cmpq %r10, %rsi + 0x0f, 0x86, 0x07, 0x06, 0x00, 0x00, //0x00004e66 jbe LBB0_938 + 0x49, 0xff, 0xc2, //0x00004e6c incq %r10 + 0x4c, 0x21, 0xca, //0x00004e6f andq %r9, %rdx + 0x0f, 0x85, 0xa3, 0xff, 0xff, 0xff, //0x00004e72 jne LBB0_894 + //0x00004e78 LBB0_888 + 0x49, 0xc1, 0xff, 0x3f, //0x00004e78 sarq $63, %r15 + 0x48, 0x89, 0xf8, //0x00004e7c movq %rdi, %rax + 0x48, 0xd1, 0xe8, //0x00004e7f shrq %rax + 0x4c, 0x21, 0xd8, //0x00004e82 andq %r11, %rax + 0x48, 0x29, 0xc7, //0x00004e85 subq %rax, %rdi + 0x48, 0x89, 0xf8, //0x00004e88 movq %rdi, %rax + 0x4c, 0x21, 0xe8, //0x00004e8b andq %r13, %rax + 0x48, 0xc1, 0xef, 0x02, //0x00004e8e shrq $2, %rdi + 0x4c, 0x21, 0xef, //0x00004e92 andq %r13, %rdi + 0x48, 0x01, 0xc7, //0x00004e95 addq %rax, %rdi + 0x48, 0x89, 0xf8, //0x00004e98 movq %rdi, %rax + 0x48, 0xc1, 0xe8, 0x04, //0x00004e9b shrq $4, %rax + 0x48, 0x01, 0xf8, //0x00004e9f addq %rdi, %rax + 0x48, 0x21, 0xd8, //0x00004ea2 andq %rbx, %rax + 0x48, 0xba, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x00004ea5 movabsq $72340172838076673, %rdx + 0x48, 0x0f, 0xaf, 0xc2, //0x00004eaf imulq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x38, //0x00004eb3 shrq $56, %rax + 0x49, 0x01, 0xc6, //0x00004eb7 addq %rax, %r14 + 0x49, 0x83, 0xc0, 0x40, //0x00004eba addq $64, %r8 + 0x48, 0x8b, 0x45, 0xc8, //0x00004ebe movq $-56(%rbp), %rax + 0x48, 0x83, 0xc0, 0xc0, //0x00004ec2 addq $-64, %rax + 0x48, 0x83, 0xf8, 0x40, //0x00004ec6 cmpq $64, %rax + 0x48, 0x89, 0x45, 0xc8, //0x00004eca movq %rax, $-56(%rbp) + 0x4c, 0x89, 0x7d, 0x90, //0x00004ece movq %r15, $-112(%rbp) + 0x0f, 0x8d, 0x8b, 0xfd, 0xff, 0xff, //0x00004ed2 jge LBB0_890 + //0x00004ed8 LBB0_896 + 0x48, 0x85, 0xc0, //0x00004ed8 testq %rax, %rax + 0x0f, 0x8e, 0x2e, 0x08, 0x00, 0x00, //0x00004edb jle LBB0_976 + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x70, 0xff, 0xff, 0xff, //0x00004ee1 movdqu %xmm8, $-144(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x60, 0xff, 0xff, 0xff, //0x00004eea movdqu %xmm8, $-160(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x50, 0xff, 0xff, 0xff, //0x00004ef3 movdqu %xmm8, $-176(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x40, 0xff, 0xff, 0xff, //0x00004efc movdqu %xmm8, $-192(%rbp) + 0x44, 0x89, 0xc0, //0x00004f05 movl %r8d, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00004f08 andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x00004f0d cmpl $4033, %eax + 0x0f, 0x82, 0x4b, 0xfd, 0xff, 0xff, //0x00004f12 jb LBB0_890 + 0x48, 0x83, 0x7d, 0xc8, 0x20, //0x00004f18 cmpq $32, $-56(%rbp) + 0x0f, 0x82, 0x31, 0x00, 0x00, 0x00, //0x00004f1d jb LBB0_900 + 0x41, 0x0f, 0x10, 0x00, //0x00004f23 movups (%r8), %xmm0 + 0x0f, 0x11, 0x85, 0x40, 0xff, 0xff, 0xff, //0x00004f27 movups %xmm0, $-192(%rbp) + 0xf3, 0x41, 0x0f, 0x6f, 0x40, 0x10, //0x00004f2e movdqu $16(%r8), %xmm0 + 0xf3, 0x0f, 0x7f, 0x85, 0x50, 0xff, 0xff, 0xff, //0x00004f34 movdqu %xmm0, $-176(%rbp) + 0x49, 0x83, 0xc0, 0x20, //0x00004f3c addq $32, %r8 + 0x48, 0x8b, 0x45, 0xc8, //0x00004f40 movq $-56(%rbp), %rax + 0x48, 0x8d, 0x78, 0xe0, //0x00004f44 leaq $-32(%rax), %rdi + 0x48, 0x8d, 0xb5, 0x60, 0xff, 0xff, 0xff, //0x00004f48 leaq $-160(%rbp), %rsi + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00004f4f jmp LBB0_901 + //0x00004f54 LBB0_900 + 0x48, 0x8d, 0xb5, 0x40, 0xff, 0xff, 0xff, //0x00004f54 leaq $-192(%rbp), %rsi + 0x48, 0x8b, 0x7d, 0xc8, //0x00004f5b movq $-56(%rbp), %rdi + //0x00004f5f LBB0_901 + 0x48, 0x83, 0xff, 0x10, //0x00004f5f cmpq $16, %rdi + 0x0f, 0x82, 0x5c, 0x00, 0x00, 0x00, //0x00004f63 jb LBB0_902 + 0xf3, 0x41, 0x0f, 0x6f, 0x00, //0x00004f69 movdqu (%r8), %xmm0 + 0xf3, 0x0f, 0x7f, 0x06, //0x00004f6e movdqu %xmm0, (%rsi) + 0x49, 0x83, 0xc0, 0x10, //0x00004f72 addq $16, %r8 + 0x48, 0x83, 0xc6, 0x10, //0x00004f76 addq $16, %rsi + 0x48, 0x83, 0xc7, 0xf0, //0x00004f7a addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x00004f7e cmpq $8, %rdi + 0x0f, 0x83, 0x47, 0x00, 0x00, 0x00, //0x00004f82 jae LBB0_907 + //0x00004f88 LBB0_903 + 0x48, 0x83, 0xff, 0x04, //0x00004f88 cmpq $4, %rdi + 0x0f, 0x8c, 0x59, 0x00, 0x00, 0x00, //0x00004f8c jl LBB0_904 + //0x00004f92 LBB0_908 + 0x41, 0x8b, 0x00, //0x00004f92 movl (%r8), %eax + 0x89, 0x06, //0x00004f95 movl %eax, (%rsi) + 0x49, 0x83, 0xc0, 0x04, //0x00004f97 addq $4, %r8 + 0x48, 0x83, 0xc6, 0x04, //0x00004f9b addq $4, %rsi + 0x48, 0x83, 0xc7, 0xfc, //0x00004f9f addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x00004fa3 cmpq $2, %rdi + 0x0f, 0x83, 0x48, 0x00, 0x00, 0x00, //0x00004fa7 jae LBB0_909 + //0x00004fad LBB0_905 + 0x4c, 0x89, 0xc2, //0x00004fad movq %r8, %rdx + 0x4c, 0x8d, 0x85, 0x40, 0xff, 0xff, 0xff, //0x00004fb0 leaq $-192(%rbp), %r8 + 0x48, 0x85, 0xff, //0x00004fb7 testq %rdi, %rdi + 0x0f, 0x85, 0x5b, 0x00, 0x00, 0x00, //0x00004fba jne LBB0_910 + 0xe9, 0x9e, 0xfc, 0xff, 0xff, //0x00004fc0 jmp LBB0_890 + //0x00004fc5 LBB0_902 + 0x48, 0x83, 0xff, 0x08, //0x00004fc5 cmpq $8, %rdi + 0x0f, 0x82, 0xb9, 0xff, 0xff, 0xff, //0x00004fc9 jb LBB0_903 + //0x00004fcf LBB0_907 + 0x49, 0x8b, 0x00, //0x00004fcf movq (%r8), %rax + 0x48, 0x89, 0x06, //0x00004fd2 movq %rax, (%rsi) + 0x49, 0x83, 0xc0, 0x08, //0x00004fd5 addq $8, %r8 + 0x48, 0x83, 0xc6, 0x08, //0x00004fd9 addq $8, %rsi + 0x48, 0x83, 0xc7, 0xf8, //0x00004fdd addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x00004fe1 cmpq $4, %rdi + 0x0f, 0x8d, 0xa7, 0xff, 0xff, 0xff, //0x00004fe5 jge LBB0_908 + //0x00004feb LBB0_904 + 0x48, 0x83, 0xff, 0x02, //0x00004feb cmpq $2, %rdi + 0x0f, 0x82, 0xb8, 0xff, 0xff, 0xff, //0x00004fef jb LBB0_905 + //0x00004ff5 LBB0_909 + 0x41, 0x0f, 0xb7, 0x00, //0x00004ff5 movzwl (%r8), %eax + 0x66, 0x89, 0x06, //0x00004ff9 movw %ax, (%rsi) + 0x49, 0x83, 0xc0, 0x02, //0x00004ffc addq $2, %r8 + 0x48, 0x83, 0xc6, 0x02, //0x00005000 addq $2, %rsi + 0x48, 0x83, 0xc7, 0xfe, //0x00005004 addq $-2, %rdi + 0x4c, 0x89, 0xc2, //0x00005008 movq %r8, %rdx + 0x4c, 0x8d, 0x85, 0x40, 0xff, 0xff, 0xff, //0x0000500b leaq $-192(%rbp), %r8 + 0x48, 0x85, 0xff, //0x00005012 testq %rdi, %rdi + 0x0f, 0x84, 0x48, 0xfc, 0xff, 0xff, //0x00005015 je LBB0_890 + //0x0000501b LBB0_910 + 0x8a, 0x02, //0x0000501b movb (%rdx), %al + 0x88, 0x06, //0x0000501d movb %al, (%rsi) + 0x4c, 0x8d, 0x85, 0x40, 0xff, 0xff, 0xff, //0x0000501f leaq $-192(%rbp), %r8 + 0xe9, 0x38, 0xfc, 0xff, 0xff, //0x00005026 jmp LBB0_890 + //0x0000502b LBB0_911 + 0x49, 0x8d, 0x44, 0x24, 0x05, //0x0000502b leaq $5(%r12), %rax + //0x00005030 LBB0_912 + 0x49, 0x3b, 0x45, 0x08, //0x00005030 cmpq $8(%r13), %rax + 0x0f, 0x87, 0x15, 0xe2, 0xff, 0xff, //0x00005034 ja LBB0_558 + 0x49, 0x89, 0x03, //0x0000503a movq %rax, (%r11) + 0x4c, 0x89, 0xe1, //0x0000503d movq %r12, %rcx + 0xe9, 0x0a, 0xe2, 0xff, 0xff, //0x00005040 jmp LBB0_558 + //0x00005045 LBB0_914 + 0x49, 0xbb, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00005045 movabsq $6148914691236517205, %r11 + 0x49, 0x8b, 0x45, 0x08, //0x0000504f movq $8(%r13), %rax + 0x48, 0x29, 0xf8, //0x00005053 subq %rdi, %rax + 0x49, 0x01, 0xf8, //0x00005056 addq %rdi, %r8 + 0x31, 0xd2, //0x00005059 xorl %edx, %edx + 0x48, 0x89, 0x55, 0x90, //0x0000505b movq %rdx, $-112(%rbp) + 0xf3, 0x44, 0x0f, 0x6f, 0x15, 0xc8, 0xaf, 0xff, 0xff, //0x0000505f movdqu $-20536(%rip), %xmm10 /* LCPI0_3+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0xd0, 0xaf, 0xff, 0xff, //0x00005068 movdqu $-20528(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0x66, 0x45, 0x0f, 0x76, 0xc9, //0x00005070 pcmpeqd %xmm9, %xmm9 + 0xf3, 0x0f, 0x6f, 0x1d, 0xd3, 0xaf, 0xff, 0xff, //0x00005075 movdqu $-20525(%rip), %xmm3 /* LCPI0_5+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x25, 0x9b, 0xaf, 0xff, 0xff, //0x0000507d movdqu $-20581(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0x49, 0xbd, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, //0x00005085 movabsq $3689348814741910323, %r13 + 0x66, 0x45, 0x0f, 0xef, 0xc0, //0x0000508f pxor %xmm8, %xmm8 + 0x31, 0xd2, //0x00005094 xorl %edx, %edx + 0x48, 0x89, 0x55, 0x98, //0x00005096 movq %rdx, $-104(%rbp) + 0x45, 0x31, 0xf6, //0x0000509a xorl %r14d, %r14d + 0x45, 0x31, 0xd2, //0x0000509d xorl %r10d, %r10d + 0x48, 0x83, 0xf8, 0x40, //0x000050a0 cmpq $64, %rax + 0x48, 0x89, 0x45, 0xc8, //0x000050a4 movq %rax, $-56(%rbp) + 0x0f, 0x8c, 0x72, 0x02, 0x00, 0x00, //0x000050a8 jl LBB0_923 + //0x000050ae LBB0_917 + 0xf3, 0x41, 0x0f, 0x6f, 0x00, //0x000050ae movdqu (%r8), %xmm0 + 0xf3, 0x41, 0x0f, 0x6f, 0x68, 0x10, //0x000050b3 movdqu $16(%r8), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x78, 0x20, //0x000050b9 movdqu $32(%r8), %xmm7 + 0xf3, 0x41, 0x0f, 0x6f, 0x70, 0x30, //0x000050bf movdqu $48(%r8), %xmm6 + 0x66, 0x0f, 0x6f, 0xd0, //0x000050c5 movdqa %xmm0, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x000050c9 pcmpeqb %xmm10, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xfa, //0x000050ce pmovmskb %xmm2, %r15d + 0x66, 0x0f, 0x6f, 0xd5, //0x000050d3 movdqa %xmm5, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x000050d7 pcmpeqb %xmm10, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x000050dc pmovmskb %xmm2, %edi + 0x66, 0x0f, 0x6f, 0xd7, //0x000050e0 movdqa %xmm7, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x000050e4 pcmpeqb %xmm10, %xmm2 + 0x66, 0x0f, 0xd7, 0xd2, //0x000050e9 pmovmskb %xmm2, %edx + 0x66, 0x0f, 0x6f, 0xd6, //0x000050ed movdqa %xmm6, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x000050f1 pcmpeqb %xmm10, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xca, //0x000050f6 pmovmskb %xmm2, %r9d + 0x49, 0xc1, 0xe1, 0x30, //0x000050fb shlq $48, %r9 + 0x48, 0xc1, 0xe2, 0x20, //0x000050ff shlq $32, %rdx + 0x48, 0xc1, 0xe7, 0x10, //0x00005103 shlq $16, %rdi + 0x49, 0x09, 0xff, //0x00005107 orq %rdi, %r15 + 0x49, 0x09, 0xd7, //0x0000510a orq %rdx, %r15 + 0x4d, 0x09, 0xcf, //0x0000510d orq %r9, %r15 + 0x66, 0x0f, 0x6f, 0xd0, //0x00005110 movdqa %xmm0, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x00005114 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x00005118 pmovmskb %xmm2, %edi + 0x66, 0x0f, 0x6f, 0xd5, //0x0000511c movdqa %xmm5, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x00005120 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xd2, //0x00005124 pmovmskb %xmm2, %edx + 0x66, 0x0f, 0x6f, 0xd7, //0x00005128 movdqa %xmm7, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x0000512c pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xc2, //0x00005130 pmovmskb %xmm2, %eax + 0x66, 0x0f, 0x6f, 0xd6, //0x00005134 movdqa %xmm6, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x00005138 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xda, //0x0000513c pmovmskb %xmm2, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x00005140 shlq $48, %rbx + 0x48, 0xc1, 0xe0, 0x20, //0x00005144 shlq $32, %rax + 0x48, 0xc1, 0xe2, 0x10, //0x00005148 shlq $16, %rdx + 0x48, 0x09, 0xd7, //0x0000514c orq %rdx, %rdi + 0x48, 0x09, 0xc7, //0x0000514f orq %rax, %rdi + 0x48, 0x09, 0xdf, //0x00005152 orq %rbx, %rdi + 0x48, 0x89, 0xf8, //0x00005155 movq %rdi, %rax + 0x48, 0x8b, 0x55, 0x98, //0x00005158 movq $-104(%rbp), %rdx + 0x48, 0x09, 0xd0, //0x0000515c orq %rdx, %rax + 0x0f, 0x84, 0x43, 0x00, 0x00, 0x00, //0x0000515f je LBB0_919 + 0x48, 0x89, 0xd0, //0x00005165 movq %rdx, %rax + 0x48, 0xf7, 0xd0, //0x00005168 notq %rax + 0x48, 0x21, 0xf8, //0x0000516b andq %rdi, %rax + 0x48, 0x8d, 0x1c, 0x00, //0x0000516e leaq (%rax,%rax), %rbx + 0x48, 0x09, 0xd3, //0x00005172 orq %rdx, %rbx + 0x48, 0x89, 0xda, //0x00005175 movq %rbx, %rdx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00005178 movabsq $-6148914691236517206, %rsi + 0x48, 0x31, 0xf2, //0x00005182 xorq %rsi, %rdx + 0x48, 0x21, 0xf7, //0x00005185 andq %rsi, %rdi + 0x48, 0x21, 0xd7, //0x00005188 andq %rdx, %rdi + 0x31, 0xd2, //0x0000518b xorl %edx, %edx + 0x48, 0x01, 0xc7, //0x0000518d addq %rax, %rdi + 0x0f, 0x92, 0xc2, //0x00005190 setb %dl + 0x48, 0x89, 0x55, 0x98, //0x00005193 movq %rdx, $-104(%rbp) + 0x48, 0x01, 0xff, //0x00005197 addq %rdi, %rdi + 0x4c, 0x31, 0xdf, //0x0000519a xorq %r11, %rdi + 0x48, 0x21, 0xdf, //0x0000519d andq %rbx, %rdi + 0x48, 0xf7, 0xd7, //0x000051a0 notq %rdi + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x000051a3 jmp LBB0_920 + //0x000051a8 LBB0_919 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000051a8 movq $-1, %rdi + 0x31, 0xc0, //0x000051af xorl %eax, %eax + 0x48, 0x89, 0x45, 0x98, //0x000051b1 movq %rax, $-104(%rbp) + //0x000051b5 LBB0_920 + 0x4c, 0x21, 0xff, //0x000051b5 andq %r15, %rdi + 0x66, 0x48, 0x0f, 0x6e, 0xd7, //0x000051b8 movq %rdi, %xmm2 + 0x66, 0x41, 0x0f, 0x3a, 0x44, 0xd1, 0x00, //0x000051bd pclmulqdq $0, %xmm9, %xmm2 + 0x66, 0x49, 0x0f, 0x7e, 0xd7, //0x000051c4 movq %xmm2, %r15 + 0x4c, 0x33, 0x7d, 0x90, //0x000051c9 xorq $-112(%rbp), %r15 + 0x66, 0x0f, 0x6f, 0xd0, //0x000051cd movdqa %xmm0, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x000051d1 pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x000051d5 pmovmskb %xmm2, %edi + 0x66, 0x0f, 0x6f, 0xd5, //0x000051d9 movdqa %xmm5, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x000051dd pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xc2, //0x000051e1 pmovmskb %xmm2, %eax + 0x66, 0x0f, 0x6f, 0xd7, //0x000051e5 movdqa %xmm7, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x000051e9 pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xd2, //0x000051ed pmovmskb %xmm2, %edx + 0x66, 0x0f, 0x6f, 0xd6, //0x000051f1 movdqa %xmm6, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x000051f5 pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xda, //0x000051f9 pmovmskb %xmm2, %ebx + 0x48, 0xc1, 0xe3, 0x30, //0x000051fd shlq $48, %rbx + 0x48, 0xc1, 0xe2, 0x20, //0x00005201 shlq $32, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00005205 shlq $16, %rax + 0x48, 0x09, 0xc7, //0x00005209 orq %rax, %rdi + 0x48, 0x09, 0xd7, //0x0000520c orq %rdx, %rdi + 0x48, 0x09, 0xdf, //0x0000520f orq %rbx, %rdi + 0x4d, 0x89, 0xf9, //0x00005212 movq %r15, %r9 + 0x49, 0xf7, 0xd1, //0x00005215 notq %r9 + 0x4c, 0x21, 0xcf, //0x00005218 andq %r9, %rdi + 0x66, 0x0f, 0x74, 0xc4, //0x0000521b pcmpeqb %xmm4, %xmm0 + 0x66, 0x0f, 0xd7, 0xd0, //0x0000521f pmovmskb %xmm0, %edx + 0x66, 0x0f, 0x74, 0xec, //0x00005223 pcmpeqb %xmm4, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00005227 pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x74, 0xfc, //0x0000522b pcmpeqb %xmm4, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x0000522f pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x74, 0xf4, //0x00005233 pcmpeqb %xmm4, %xmm6 + 0x66, 0x0f, 0xd7, 0xc6, //0x00005237 pmovmskb %xmm6, %eax + 0x48, 0xc1, 0xe0, 0x30, //0x0000523b shlq $48, %rax + 0x48, 0xc1, 0xe6, 0x20, //0x0000523f shlq $32, %rsi + 0x48, 0xc1, 0xe3, 0x10, //0x00005243 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00005247 orq %rbx, %rdx + 0x48, 0x09, 0xf2, //0x0000524a orq %rsi, %rdx + 0x48, 0x09, 0xc2, //0x0000524d orq %rax, %rdx + 0x48, 0xbb, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00005250 movabsq $1085102592571150095, %rbx + 0x4c, 0x21, 0xca, //0x0000525a andq %r9, %rdx + 0x0f, 0x84, 0x5d, 0x00, 0x00, 0x00, //0x0000525d je LBB0_915 + //0x00005263 LBB0_921 + 0x4c, 0x8d, 0x4a, 0xff, //0x00005263 leaq $-1(%rdx), %r9 + 0x4c, 0x89, 0xc8, //0x00005267 movq %r9, %rax + 0x48, 0x21, 0xf8, //0x0000526a andq %rdi, %rax + 0x48, 0x89, 0xc6, //0x0000526d movq %rax, %rsi + 0x48, 0xd1, 0xee, //0x00005270 shrq %rsi + 0x4c, 0x21, 0xde, //0x00005273 andq %r11, %rsi + 0x48, 0x29, 0xf0, //0x00005276 subq %rsi, %rax + 0x48, 0x89, 0xc6, //0x00005279 movq %rax, %rsi + 0x4c, 0x21, 0xee, //0x0000527c andq %r13, %rsi + 0x48, 0xc1, 0xe8, 0x02, //0x0000527f shrq $2, %rax + 0x4c, 0x21, 0xe8, //0x00005283 andq %r13, %rax + 0x48, 0x01, 0xf0, //0x00005286 addq %rsi, %rax + 0x48, 0x89, 0xc6, //0x00005289 movq %rax, %rsi + 0x48, 0xc1, 0xee, 0x04, //0x0000528c shrq $4, %rsi + 0x48, 0x01, 0xc6, //0x00005290 addq %rax, %rsi + 0x48, 0x21, 0xde, //0x00005293 andq %rbx, %rsi + 0x48, 0xb8, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x00005296 movabsq $72340172838076673, %rax + 0x48, 0x0f, 0xaf, 0xf0, //0x000052a0 imulq %rax, %rsi + 0x48, 0xc1, 0xee, 0x38, //0x000052a4 shrq $56, %rsi + 0x4c, 0x01, 0xf6, //0x000052a8 addq %r14, %rsi + 0x4c, 0x39, 0xd6, //0x000052ab cmpq %r10, %rsi + 0x0f, 0x86, 0xbf, 0x01, 0x00, 0x00, //0x000052ae jbe LBB0_938 + 0x49, 0xff, 0xc2, //0x000052b4 incq %r10 + 0x4c, 0x21, 0xca, //0x000052b7 andq %r9, %rdx + 0x0f, 0x85, 0xa3, 0xff, 0xff, 0xff, //0x000052ba jne LBB0_921 + //0x000052c0 LBB0_915 + 0x49, 0xc1, 0xff, 0x3f, //0x000052c0 sarq $63, %r15 + 0x48, 0x89, 0xf8, //0x000052c4 movq %rdi, %rax + 0x48, 0xd1, 0xe8, //0x000052c7 shrq %rax + 0x4c, 0x21, 0xd8, //0x000052ca andq %r11, %rax + 0x48, 0x29, 0xc7, //0x000052cd subq %rax, %rdi + 0x48, 0x89, 0xf8, //0x000052d0 movq %rdi, %rax + 0x4c, 0x21, 0xe8, //0x000052d3 andq %r13, %rax + 0x48, 0xc1, 0xef, 0x02, //0x000052d6 shrq $2, %rdi + 0x4c, 0x21, 0xef, //0x000052da andq %r13, %rdi + 0x48, 0x01, 0xc7, //0x000052dd addq %rax, %rdi + 0x48, 0x89, 0xf8, //0x000052e0 movq %rdi, %rax + 0x48, 0xc1, 0xe8, 0x04, //0x000052e3 shrq $4, %rax + 0x48, 0x01, 0xf8, //0x000052e7 addq %rdi, %rax + 0x48, 0x21, 0xd8, //0x000052ea andq %rbx, %rax + 0x48, 0xba, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x000052ed movabsq $72340172838076673, %rdx + 0x48, 0x0f, 0xaf, 0xc2, //0x000052f7 imulq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x38, //0x000052fb shrq $56, %rax + 0x49, 0x01, 0xc6, //0x000052ff addq %rax, %r14 + 0x49, 0x83, 0xc0, 0x40, //0x00005302 addq $64, %r8 + 0x48, 0x8b, 0x45, 0xc8, //0x00005306 movq $-56(%rbp), %rax + 0x48, 0x83, 0xc0, 0xc0, //0x0000530a addq $-64, %rax + 0x4c, 0x89, 0x7d, 0x90, //0x0000530e movq %r15, $-112(%rbp) + 0x48, 0x83, 0xf8, 0x40, //0x00005312 cmpq $64, %rax + 0x48, 0x89, 0x45, 0xc8, //0x00005316 movq %rax, $-56(%rbp) + 0x0f, 0x8d, 0x8e, 0xfd, 0xff, 0xff, //0x0000531a jge LBB0_917 + //0x00005320 LBB0_923 + 0x48, 0x85, 0xc0, //0x00005320 testq %rax, %rax + 0x0f, 0x8e, 0xe6, 0x03, 0x00, 0x00, //0x00005323 jle LBB0_976 + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x70, 0xff, 0xff, 0xff, //0x00005329 movdqu %xmm8, $-144(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x60, 0xff, 0xff, 0xff, //0x00005332 movdqu %xmm8, $-160(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x50, 0xff, 0xff, 0xff, //0x0000533b movdqu %xmm8, $-176(%rbp) + 0xf3, 0x44, 0x0f, 0x7f, 0x85, 0x40, 0xff, 0xff, 0xff, //0x00005344 movdqu %xmm8, $-192(%rbp) + 0x44, 0x89, 0xc0, //0x0000534d movl %r8d, %eax + 0x25, 0xff, 0x0f, 0x00, 0x00, //0x00005350 andl $4095, %eax + 0x3d, 0xc1, 0x0f, 0x00, 0x00, //0x00005355 cmpl $4033, %eax + 0x0f, 0x82, 0x4e, 0xfd, 0xff, 0xff, //0x0000535a jb LBB0_917 + 0x48, 0x83, 0x7d, 0xc8, 0x20, //0x00005360 cmpq $32, $-56(%rbp) + 0x0f, 0x82, 0x31, 0x00, 0x00, 0x00, //0x00005365 jb LBB0_927 + 0x41, 0x0f, 0x10, 0x00, //0x0000536b movups (%r8), %xmm0 + 0x0f, 0x11, 0x85, 0x40, 0xff, 0xff, 0xff, //0x0000536f movups %xmm0, $-192(%rbp) + 0xf3, 0x41, 0x0f, 0x6f, 0x40, 0x10, //0x00005376 movdqu $16(%r8), %xmm0 + 0xf3, 0x0f, 0x7f, 0x85, 0x50, 0xff, 0xff, 0xff, //0x0000537c movdqu %xmm0, $-176(%rbp) + 0x49, 0x83, 0xc0, 0x20, //0x00005384 addq $32, %r8 + 0x48, 0x8b, 0x45, 0xc8, //0x00005388 movq $-56(%rbp), %rax + 0x48, 0x8d, 0x78, 0xe0, //0x0000538c leaq $-32(%rax), %rdi + 0x48, 0x8d, 0xb5, 0x60, 0xff, 0xff, 0xff, //0x00005390 leaq $-160(%rbp), %rsi + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00005397 jmp LBB0_928 + //0x0000539c LBB0_927 + 0x48, 0x8d, 0xb5, 0x40, 0xff, 0xff, 0xff, //0x0000539c leaq $-192(%rbp), %rsi + 0x48, 0x8b, 0x7d, 0xc8, //0x000053a3 movq $-56(%rbp), %rdi + //0x000053a7 LBB0_928 + 0x48, 0x83, 0xff, 0x10, //0x000053a7 cmpq $16, %rdi + 0x0f, 0x82, 0x5c, 0x00, 0x00, 0x00, //0x000053ab jb LBB0_929 + 0xf3, 0x41, 0x0f, 0x6f, 0x00, //0x000053b1 movdqu (%r8), %xmm0 + 0xf3, 0x0f, 0x7f, 0x06, //0x000053b6 movdqu %xmm0, (%rsi) + 0x49, 0x83, 0xc0, 0x10, //0x000053ba addq $16, %r8 + 0x48, 0x83, 0xc6, 0x10, //0x000053be addq $16, %rsi + 0x48, 0x83, 0xc7, 0xf0, //0x000053c2 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x08, //0x000053c6 cmpq $8, %rdi + 0x0f, 0x83, 0x47, 0x00, 0x00, 0x00, //0x000053ca jae LBB0_934 + //0x000053d0 LBB0_930 + 0x48, 0x83, 0xff, 0x04, //0x000053d0 cmpq $4, %rdi + 0x0f, 0x8c, 0x59, 0x00, 0x00, 0x00, //0x000053d4 jl LBB0_931 + //0x000053da LBB0_935 + 0x41, 0x8b, 0x00, //0x000053da movl (%r8), %eax + 0x89, 0x06, //0x000053dd movl %eax, (%rsi) + 0x49, 0x83, 0xc0, 0x04, //0x000053df addq $4, %r8 + 0x48, 0x83, 0xc6, 0x04, //0x000053e3 addq $4, %rsi + 0x48, 0x83, 0xc7, 0xfc, //0x000053e7 addq $-4, %rdi + 0x48, 0x83, 0xff, 0x02, //0x000053eb cmpq $2, %rdi + 0x0f, 0x83, 0x48, 0x00, 0x00, 0x00, //0x000053ef jae LBB0_936 + //0x000053f5 LBB0_932 + 0x4c, 0x89, 0xc2, //0x000053f5 movq %r8, %rdx + 0x4c, 0x8d, 0x85, 0x40, 0xff, 0xff, 0xff, //0x000053f8 leaq $-192(%rbp), %r8 + 0x48, 0x85, 0xff, //0x000053ff testq %rdi, %rdi + 0x0f, 0x85, 0x5b, 0x00, 0x00, 0x00, //0x00005402 jne LBB0_937 + 0xe9, 0xa1, 0xfc, 0xff, 0xff, //0x00005408 jmp LBB0_917 + //0x0000540d LBB0_929 + 0x48, 0x83, 0xff, 0x08, //0x0000540d cmpq $8, %rdi + 0x0f, 0x82, 0xb9, 0xff, 0xff, 0xff, //0x00005411 jb LBB0_930 + //0x00005417 LBB0_934 + 0x49, 0x8b, 0x00, //0x00005417 movq (%r8), %rax + 0x48, 0x89, 0x06, //0x0000541a movq %rax, (%rsi) + 0x49, 0x83, 0xc0, 0x08, //0x0000541d addq $8, %r8 + 0x48, 0x83, 0xc6, 0x08, //0x00005421 addq $8, %rsi + 0x48, 0x83, 0xc7, 0xf8, //0x00005425 addq $-8, %rdi + 0x48, 0x83, 0xff, 0x04, //0x00005429 cmpq $4, %rdi + 0x0f, 0x8d, 0xa7, 0xff, 0xff, 0xff, //0x0000542d jge LBB0_935 + //0x00005433 LBB0_931 + 0x48, 0x83, 0xff, 0x02, //0x00005433 cmpq $2, %rdi + 0x0f, 0x82, 0xb8, 0xff, 0xff, 0xff, //0x00005437 jb LBB0_932 + //0x0000543d LBB0_936 + 0x41, 0x0f, 0xb7, 0x00, //0x0000543d movzwl (%r8), %eax + 0x66, 0x89, 0x06, //0x00005441 movw %ax, (%rsi) + 0x49, 0x83, 0xc0, 0x02, //0x00005444 addq $2, %r8 + 0x48, 0x83, 0xc6, 0x02, //0x00005448 addq $2, %rsi + 0x48, 0x83, 0xc7, 0xfe, //0x0000544c addq $-2, %rdi + 0x4c, 0x89, 0xc2, //0x00005450 movq %r8, %rdx + 0x4c, 0x8d, 0x85, 0x40, 0xff, 0xff, 0xff, //0x00005453 leaq $-192(%rbp), %r8 + 0x48, 0x85, 0xff, //0x0000545a testq %rdi, %rdi + 0x0f, 0x84, 0x4b, 0xfc, 0xff, 0xff, //0x0000545d je LBB0_917 + //0x00005463 LBB0_937 + 0x8a, 0x02, //0x00005463 movb (%rdx), %al + 0x88, 0x06, //0x00005465 movb %al, (%rsi) + 0x4c, 0x8d, 0x85, 0x40, 0xff, 0xff, 0xff, //0x00005467 leaq $-192(%rbp), %r8 + 0xe9, 0x3b, 0xfc, 0xff, 0xff, //0x0000546e jmp LBB0_917 + //0x00005473 LBB0_938 + 0x48, 0x8b, 0x75, 0xc0, //0x00005473 movq $-64(%rbp), %rsi + 0x48, 0x8b, 0x46, 0x08, //0x00005477 movq $8(%rsi), %rax + 0x48, 0x0f, 0xbc, 0xca, //0x0000547b bsfq %rdx, %rcx + 0x48, 0x2b, 0x4d, 0xc8, //0x0000547f subq $-56(%rbp), %rcx + 0x48, 0x8d, 0x44, 0x01, 0x01, //0x00005483 leaq $1(%rcx,%rax), %rax + 0x48, 0x8b, 0x55, 0xd0, //0x00005488 movq $-48(%rbp), %rdx + 0x48, 0x89, 0x02, //0x0000548c movq %rax, (%rdx) + 0x48, 0x8b, 0x4e, 0x08, //0x0000548f movq $8(%rsi), %rcx + 0x48, 0x39, 0xc8, //0x00005493 cmpq %rcx, %rax + 0x48, 0x0f, 0x47, 0xc1, //0x00005496 cmovaq %rcx, %rax + 0x48, 0x89, 0x02, //0x0000549a movq %rax, (%rdx) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000549d movq $-1, %rax + 0x4c, 0x0f, 0x47, 0xe0, //0x000054a4 cmovaq %rax, %r12 + 0x4c, 0x89, 0xe1, //0x000054a8 movq %r12, %rcx + 0xe9, 0x9f, 0xdd, 0xff, 0xff, //0x000054ab jmp LBB0_558 + //0x000054b0 LBB0_939 + 0x49, 0x83, 0xfa, 0xff, //0x000054b0 cmpq $-1, %r10 + 0x0f, 0x85, 0x0b, 0x00, 0x00, 0x00, //0x000054b4 jne LBB0_941 + //0x000054ba LBB0_940 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x000054ba movq $-1, %r10 + 0x4c, 0x8b, 0x65, 0x88, //0x000054c1 movq $-120(%rbp), %r12 + //0x000054c5 LBB0_941 + 0x4d, 0x89, 0x23, //0x000054c5 movq %r12, (%r11) + 0x4c, 0x89, 0xd1, //0x000054c8 movq %r10, %rcx + 0xe9, 0x7f, 0xdd, 0xff, 0xff, //0x000054cb jmp LBB0_558 + //0x000054d0 LBB0_942 + 0x4c, 0x89, 0xd1, //0x000054d0 movq %r10, %rcx + //0x000054d3 LBB0_943 + 0x48, 0xf7, 0xd1, //0x000054d3 notq %rcx + 0x49, 0x01, 0xc9, //0x000054d6 addq %rcx, %r9 + //0x000054d9 LBB0_944 + 0x48, 0x8b, 0x45, 0xd0, //0x000054d9 movq $-48(%rbp), %rax + 0x4c, 0x89, 0x08, //0x000054dd movq %r9, (%rax) + 0xe9, 0x63, 0xdd, 0xff, 0xff, //0x000054e0 jmp LBB0_557 + //0x000054e5 LBB0_956 + 0x49, 0x89, 0x13, //0x000054e5 movq %rdx, (%r11) + 0xe9, 0x62, 0xdd, 0xff, 0xff, //0x000054e8 jmp LBB0_558 + //0x000054ed LBB0_950 + 0x4c, 0x89, 0xb5, 0x38, 0xff, 0xff, 0xff, //0x000054ed movq %r14, $-200(%rbp) + //0x000054f4 LBB0_951 + 0x48, 0x8b, 0x45, 0xd0, //0x000054f4 movq $-48(%rbp), %rax + 0x48, 0x8b, 0x8d, 0x38, 0xff, 0xff, 0xff, //0x000054f8 movq $-200(%rbp), %rcx + 0x48, 0x89, 0x08, //0x000054ff movq %rcx, (%rax) + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00005502 movq $-1, %rcx + 0xe9, 0x41, 0xdd, 0xff, 0xff, //0x00005509 jmp LBB0_558 + //0x0000550e LBB0_952 + 0x4c, 0x29, 0xc7, //0x0000550e subq %r8, %rdi + 0xe9, 0x90, 0xde, 0xff, 0xff, //0x00005511 jmp LBB0_578 + //0x00005516 LBB0_953 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00005516 movq $-1, %r10 + //0x0000551d LBB0_954 + 0x4d, 0x29, 0xd1, //0x0000551d subq %r10, %r9 + 0xe9, 0xb4, 0xff, 0xff, 0xff, //0x00005520 jmp LBB0_944 + //0x00005525 LBB0_957 + 0x4d, 0x89, 0x0b, //0x00005525 movq %r9, (%r11) + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00005528 movq $-2, %rcx + 0x41, 0x80, 0x3c, 0x24, 0x74, //0x0000552f cmpb $116, (%r12) + 0x0f, 0x85, 0x15, 0xdd, 0xff, 0xff, //0x00005534 jne LBB0_558 + 0x49, 0x8d, 0x41, 0x01, //0x0000553a leaq $1(%r9), %rax + 0x49, 0x89, 0x03, //0x0000553e movq %rax, (%r11) + 0x43, 0x80, 0x7c, 0x0f, 0x01, 0x72, //0x00005541 cmpb $114, $1(%r15,%r9) + 0x0f, 0x85, 0x02, 0xdd, 0xff, 0xff, //0x00005547 jne LBB0_558 + 0x49, 0x8d, 0x41, 0x02, //0x0000554d leaq $2(%r9), %rax + 0x49, 0x89, 0x03, //0x00005551 movq %rax, (%r11) + 0x43, 0x80, 0x7c, 0x0f, 0x02, 0x75, //0x00005554 cmpb $117, $2(%r15,%r9) + 0x0f, 0x85, 0xef, 0xdc, 0xff, 0xff, //0x0000555a jne LBB0_558 + 0x49, 0x8d, 0x41, 0x03, //0x00005560 leaq $3(%r9), %rax + 0x49, 0x89, 0x03, //0x00005564 movq %rax, (%r11) + 0x43, 0x80, 0x7c, 0x0f, 0x03, 0x65, //0x00005567 cmpb $101, $3(%r15,%r9) + 0x0f, 0x85, 0xdc, 0xdc, 0xff, 0xff, //0x0000556d jne LBB0_558 + 0xe9, 0xa0, 0x00, 0x00, 0x00, //0x00005573 jmp LBB0_786 + //0x00005578 LBB0_961 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00005578 movq $-2, %rcx + 0x80, 0xfa, 0x61, //0x0000557f cmpb $97, %dl + 0x0f, 0x85, 0xc7, 0xdc, 0xff, 0xff, //0x00005582 jne LBB0_558 + 0x49, 0x8d, 0x41, 0x02, //0x00005588 leaq $2(%r9), %rax + 0x49, 0x89, 0x03, //0x0000558c movq %rax, (%r11) + 0x43, 0x80, 0x7c, 0x0f, 0x02, 0x6c, //0x0000558f cmpb $108, $2(%r15,%r9) + 0x0f, 0x85, 0xb4, 0xdc, 0xff, 0xff, //0x00005595 jne LBB0_558 + 0x49, 0x8d, 0x41, 0x03, //0x0000559b leaq $3(%r9), %rax + 0x49, 0x89, 0x03, //0x0000559f movq %rax, (%r11) + 0x43, 0x80, 0x7c, 0x0f, 0x03, 0x73, //0x000055a2 cmpb $115, $3(%r15,%r9) + 0x0f, 0x85, 0xa1, 0xdc, 0xff, 0xff, //0x000055a8 jne LBB0_558 + 0x49, 0x8d, 0x41, 0x04, //0x000055ae leaq $4(%r9), %rax + 0x49, 0x89, 0x03, //0x000055b2 movq %rax, (%r11) + 0x43, 0x80, 0x7c, 0x0f, 0x04, 0x65, //0x000055b5 cmpb $101, $4(%r15,%r9) + 0x0f, 0x85, 0x8e, 0xdc, 0xff, 0xff, //0x000055bb jne LBB0_558 + 0x49, 0x83, 0xc1, 0x05, //0x000055c1 addq $5, %r9 + 0xe9, 0x52, 0x00, 0x00, 0x00, //0x000055c5 jmp LBB0_966 + //0x000055ca LBB0_782 + 0x4d, 0x89, 0x0b, //0x000055ca movq %r9, (%r11) + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000055cd movq $-2, %rcx + 0x41, 0x80, 0x3c, 0x24, 0x6e, //0x000055d4 cmpb $110, (%r12) + 0x0f, 0x85, 0x70, 0xdc, 0xff, 0xff, //0x000055d9 jne LBB0_558 + 0x49, 0x8d, 0x41, 0x01, //0x000055df leaq $1(%r9), %rax + 0x49, 0x89, 0x03, //0x000055e3 movq %rax, (%r11) + 0x43, 0x80, 0x7c, 0x0f, 0x01, 0x75, //0x000055e6 cmpb $117, $1(%r15,%r9) + 0x0f, 0x85, 0x5d, 0xdc, 0xff, 0xff, //0x000055ec jne LBB0_558 + 0x49, 0x8d, 0x41, 0x02, //0x000055f2 leaq $2(%r9), %rax + 0x49, 0x89, 0x03, //0x000055f6 movq %rax, (%r11) + 0x43, 0x80, 0x7c, 0x0f, 0x02, 0x6c, //0x000055f9 cmpb $108, $2(%r15,%r9) + 0x0f, 0x85, 0x4a, 0xdc, 0xff, 0xff, //0x000055ff jne LBB0_558 + 0x49, 0x8d, 0x41, 0x03, //0x00005605 leaq $3(%r9), %rax + 0x49, 0x89, 0x03, //0x00005609 movq %rax, (%r11) + 0x43, 0x80, 0x7c, 0x0f, 0x03, 0x6c, //0x0000560c cmpb $108, $3(%r15,%r9) + 0x0f, 0x85, 0x37, 0xdc, 0xff, 0xff, //0x00005612 jne LBB0_558 + //0x00005618 LBB0_786 + 0x49, 0x83, 0xc1, 0x04, //0x00005618 addq $4, %r9 + //0x0000561c LBB0_966 + 0x48, 0x8b, 0x45, 0xd0, //0x0000561c movq $-48(%rbp), %rax + 0x4c, 0x89, 0x08, //0x00005620 movq %r9, (%rax) + 0xe9, 0x27, 0xdc, 0xff, 0xff, //0x00005623 jmp LBB0_558 + //0x00005628 LBB0_967 + 0x4c, 0x89, 0xd0, //0x00005628 movq %r10, %rax + 0xe9, 0x8e, 0xf4, 0xff, 0xff, //0x0000562b jmp LBB0_873 + //0x00005630 LBB0_968 + 0x4c, 0x89, 0xe3, //0x00005630 movq %r12, %rbx + 0x48, 0x83, 0xc3, 0x02, //0x00005633 addq $2, %rbx + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00005637 movq $-2, %rcx + 0xe9, 0xb5, 0x00, 0x00, 0x00, //0x0000563e jmp LBB0_973 + //0x00005643 LBB0_974 + 0x4c, 0x89, 0x55, 0x88, //0x00005643 movq %r10, $-120(%rbp) + 0xe9, 0x6e, 0xfe, 0xff, 0xff, //0x00005647 jmp LBB0_940 + //0x0000564c LBB0_884 + 0x4d, 0x85, 0xff, //0x0000564c testq %r15, %r15 + 0x0f, 0x85, 0xed, 0x00, 0x00, 0x00, //0x0000564f jne LBB0_980 + 0x4b, 0x8d, 0x7c, 0x1e, 0x01, //0x00005655 leaq $1(%r14,%r11), %rdi + 0x49, 0xf7, 0xd6, //0x0000565a notq %r14 + 0x4d, 0x01, 0xce, //0x0000565d addq %r9, %r14 + //0x00005660 LBB0_886 + 0x4d, 0x85, 0xf6, //0x00005660 testq %r14, %r14 + 0x48, 0x8b, 0x55, 0xd0, //0x00005663 movq $-48(%rbp), %rdx + 0x0f, 0x8f, 0x24, 0x00, 0x00, 0x00, //0x00005667 jg LBB0_947 + 0xe9, 0xdd, 0xdb, 0xff, 0xff, //0x0000566d jmp LBB0_558 + //0x00005672 LBB0_945 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00005672 movq $-2, %rax + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x00005679 movl $2, %ecx + 0x48, 0x01, 0xcf, //0x0000567e addq %rcx, %rdi + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00005681 movq $-1, %rcx + 0x49, 0x01, 0xc6, //0x00005688 addq %rax, %r14 + 0x0f, 0x8e, 0xbe, 0xdb, 0xff, 0xff, //0x0000568b jle LBB0_558 + //0x00005691 LBB0_947 + 0x0f, 0xb6, 0x07, //0x00005691 movzbl (%rdi), %eax + 0x3c, 0x5c, //0x00005694 cmpb $92, %al + 0x0f, 0x84, 0xd6, 0xff, 0xff, 0xff, //0x00005696 je LBB0_945 + 0x3c, 0x22, //0x0000569c cmpb $34, %al + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x0000569e je LBB0_969 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000056a4 movq $-1, %rax + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000056ab movl $1, %ecx + 0x48, 0x01, 0xcf, //0x000056b0 addq %rcx, %rdi + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000056b3 movq $-1, %rcx + 0x49, 0x01, 0xc6, //0x000056ba addq %rax, %r14 + 0x0f, 0x8f, 0xce, 0xff, 0xff, 0xff, //0x000056bd jg LBB0_947 + 0xe9, 0x87, 0xdb, 0xff, 0xff, //0x000056c3 jmp LBB0_558 + //0x000056c8 LBB0_969 + 0x4c, 0x29, 0xc7, //0x000056c8 subq %r8, %rdi + 0x48, 0xff, 0xc7, //0x000056cb incq %rdi + 0x48, 0x89, 0x3a, //0x000056ce movq %rdi, (%rdx) + 0x4c, 0x89, 0xe1, //0x000056d1 movq %r12, %rcx + 0xe9, 0x76, 0xdb, 0xff, 0xff, //0x000056d4 jmp LBB0_558 + //0x000056d9 LBB0_970 + 0x4c, 0x89, 0xe3, //0x000056d9 movq %r12, %rbx + 0x48, 0xff, 0xc3, //0x000056dc incq %rbx + 0x48, 0xc7, 0xc1, 0xfd, 0xff, 0xff, 0xff, //0x000056df movq $-3, %rcx + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x000056e6 jmp LBB0_973 + //0x000056eb LBB0_971 + 0x4c, 0x89, 0xe3, //0x000056eb movq %r12, %rbx + 0x48, 0xff, 0xc3, //0x000056ee incq %rbx + //0x000056f1 LBB0_972 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000056f1 movq $-1, %rcx + //0x000056f8 LBB0_973 + 0x48, 0x8b, 0x45, 0xc8, //0x000056f8 movq $-56(%rbp), %rax + 0x48, 0x29, 0xc3, //0x000056fc subq %rax, %rbx + 0x49, 0x89, 0x1b, //0x000056ff movq %rbx, (%r11) + 0xe9, 0x48, 0xdb, 0xff, 0xff, //0x00005702 jmp LBB0_558 + //0x00005707 LBB0_975 + 0x4c, 0x01, 0xc7, //0x00005707 addq %r8, %rdi + 0xe9, 0x51, 0xff, 0xff, 0xff, //0x0000570a jmp LBB0_886 + //0x0000570f LBB0_976 + 0x48, 0x8b, 0x45, 0xc0, //0x0000570f movq $-64(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x00005713 movq $8(%rax), %rax + 0x48, 0x8b, 0x55, 0xd0, //0x00005717 movq $-48(%rbp), %rdx + 0x48, 0x89, 0x02, //0x0000571b movq %rax, (%rdx) + 0xe9, 0x2c, 0xdb, 0xff, 0xff, //0x0000571e jmp LBB0_558 + //0x00005723 LBB0_977 + 0x48, 0xc7, 0xc1, 0xfc, 0xff, 0xff, 0xff, //0x00005723 movq $-4, %rcx + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x0000572a jmp LBB0_979 + //0x0000572f LBB0_978 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x0000572f movq $-2, %rcx + //0x00005736 LBB0_979 + 0x4c, 0x89, 0xc3, //0x00005736 movq %r8, %rbx + 0x4c, 0x8b, 0x5d, 0xd0, //0x00005739 movq $-48(%rbp), %r11 + 0xe9, 0xb6, 0xff, 0xff, 0xff, //0x0000573d jmp LBB0_973 + //0x00005742 LBB0_980 + 0x49, 0x8d, 0x41, 0xff, //0x00005742 leaq $-1(%r9), %rax + 0x4c, 0x39, 0xf0, //0x00005746 cmpq %r14, %rax + 0x0f, 0x84, 0x00, 0xdb, 0xff, 0xff, //0x00005749 je LBB0_558 + 0x4b, 0x8d, 0x7c, 0x1e, 0x02, //0x0000574f leaq $2(%r14,%r11), %rdi + 0x4d, 0x29, 0xf1, //0x00005754 subq %r14, %r9 + 0x49, 0x83, 0xc1, 0xfe, //0x00005757 addq $-2, %r9 + 0x4d, 0x89, 0xce, //0x0000575b movq %r9, %r14 + 0xe9, 0xfd, 0xfe, 0xff, 0xff, //0x0000575e jmp LBB0_886 + //0x00005763 LBB0_982 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00005763 movq $-48(%rbp), %r11 + 0x48, 0x89, 0xf0, //0x00005767 movq %rsi, %rax + 0xe9, 0x4f, 0xf3, 0xff, 0xff, //0x0000576a jmp LBB0_873 + //0x0000576f LBB0_983 + 0x4c, 0x8b, 0x5d, 0xd0, //0x0000576f movq $-48(%rbp), %r11 + 0xe9, 0x46, 0xf3, 0xff, 0xff, //0x00005773 jmp LBB0_873 + //0x00005778 .p2align 2, 0x90 + // // .set L0_0_set_419, LBB0_419-LJTI0_0 + // // .set L0_0_set_462, LBB0_462-LJTI0_0 + // // .set L0_0_set_451, LBB0_451-LJTI0_0 + // // .set L0_0_set_404, LBB0_404-LJTI0_0 + // // .set L0_0_set_489, LBB0_489-LJTI0_0 + // // .set L0_0_set_461, LBB0_461-LJTI0_0 + // // .set L0_0_set_450, LBB0_450-LJTI0_0 + // // .set L0_0_set_463, LBB0_463-LJTI0_0 + //0x00005778 LJTI0_0 + 0x18, 0xcc, 0xff, 0xff, //0x00005778 .long L0_0_set_419 + 0xf4, 0xce, 0xff, 0xff, //0x0000577c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005780 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005784 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005788 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000578c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005790 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005794 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005798 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000579c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057a0 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057a4 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057a8 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057ac .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057b0 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057b4 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057b8 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057bc .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057c0 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057c4 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057c8 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057cc .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057d0 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057d4 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057d8 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057dc .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057e0 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057e4 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057e8 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057ec .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057f0 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057f4 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057f8 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000057fc .long L0_0_set_462 + 0xc5, 0xcd, 0xff, 0xff, //0x00005800 .long L0_0_set_451 + 0xf4, 0xce, 0xff, 0xff, //0x00005804 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005808 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000580c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005810 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005814 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005818 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000581c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005820 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005824 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005828 .long L0_0_set_462 + 0x3c, 0xcb, 0xff, 0xff, //0x0000582c .long L0_0_set_404 + 0xf4, 0xce, 0xff, 0xff, //0x00005830 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005834 .long L0_0_set_462 + 0x3c, 0xcb, 0xff, 0xff, //0x00005838 .long L0_0_set_404 + 0x3c, 0xcb, 0xff, 0xff, //0x0000583c .long L0_0_set_404 + 0x3c, 0xcb, 0xff, 0xff, //0x00005840 .long L0_0_set_404 + 0x3c, 0xcb, 0xff, 0xff, //0x00005844 .long L0_0_set_404 + 0x3c, 0xcb, 0xff, 0xff, //0x00005848 .long L0_0_set_404 + 0x3c, 0xcb, 0xff, 0xff, //0x0000584c .long L0_0_set_404 + 0x3c, 0xcb, 0xff, 0xff, //0x00005850 .long L0_0_set_404 + 0x3c, 0xcb, 0xff, 0xff, //0x00005854 .long L0_0_set_404 + 0x3c, 0xcb, 0xff, 0xff, //0x00005858 .long L0_0_set_404 + 0x3c, 0xcb, 0xff, 0xff, //0x0000585c .long L0_0_set_404 + 0xf4, 0xce, 0xff, 0xff, //0x00005860 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005864 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005868 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000586c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005870 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005874 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005878 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000587c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005880 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005884 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005888 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000588c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005890 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005894 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005898 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000589c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058a0 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058a4 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058a8 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058ac .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058b0 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058b4 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058b8 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058bc .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058c0 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058c4 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058c8 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058cc .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058d0 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058d4 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058d8 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058dc .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058e0 .long L0_0_set_462 + 0x2b, 0xd3, 0xff, 0xff, //0x000058e4 .long L0_0_set_489 + 0xf4, 0xce, 0xff, 0xff, //0x000058e8 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058ec .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058f0 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058f4 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058f8 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x000058fc .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005900 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005904 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005908 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000590c .long L0_0_set_462 + 0xe7, 0xce, 0xff, 0xff, //0x00005910 .long L0_0_set_461 + 0xf4, 0xce, 0xff, 0xff, //0x00005914 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005918 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000591c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005920 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005924 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005928 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000592c .long L0_0_set_462 + 0xb3, 0xcd, 0xff, 0xff, //0x00005930 .long L0_0_set_450 + 0xf4, 0xce, 0xff, 0xff, //0x00005934 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005938 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000593c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005940 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005944 .long L0_0_set_462 + 0xb3, 0xcd, 0xff, 0xff, //0x00005948 .long L0_0_set_450 + 0xf4, 0xce, 0xff, 0xff, //0x0000594c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005950 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005954 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005958 .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x0000595c .long L0_0_set_462 + 0xf4, 0xce, 0xff, 0xff, //0x00005960 .long L0_0_set_462 + 0xff, 0xce, 0xff, 0xff, //0x00005964 .long L0_0_set_463 + // // .set L0_1_set_224, LBB0_224-LJTI0_1 + // // .set L0_1_set_265, LBB0_265-LJTI0_1 + // // .set L0_1_set_253, LBB0_253-LJTI0_1 + // // .set L0_1_set_209, LBB0_209-LJTI0_1 + // // .set L0_1_set_266, LBB0_266-LJTI0_1 + // // .set L0_1_set_264, LBB0_264-LJTI0_1 + // // .set L0_1_set_252, LBB0_252-LJTI0_1 + // // .set L0_1_set_292, LBB0_292-LJTI0_1 + //0x00005968 LJTI0_1 + 0xd8, 0xb3, 0xff, 0xff, //0x00005968 .long L0_1_set_224 + 0x6e, 0xb6, 0xff, 0xff, //0x0000596c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005970 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005974 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005978 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x0000597c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005980 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005984 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005988 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x0000598c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005990 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005994 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005998 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x0000599c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059a0 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059a4 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059a8 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059ac .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059b0 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059b4 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059b8 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059bc .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059c0 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059c4 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059c8 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059cc .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059d0 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059d4 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059d8 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059dc .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059e0 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059e4 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059e8 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059ec .long L0_1_set_265 + 0x3e, 0xb5, 0xff, 0xff, //0x000059f0 .long L0_1_set_253 + 0x6e, 0xb6, 0xff, 0xff, //0x000059f4 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059f8 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x000059fc .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a00 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a04 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a08 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a0c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a10 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a14 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a18 .long L0_1_set_265 + 0xfc, 0xb2, 0xff, 0xff, //0x00005a1c .long L0_1_set_209 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a20 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a24 .long L0_1_set_265 + 0xfc, 0xb2, 0xff, 0xff, //0x00005a28 .long L0_1_set_209 + 0xfc, 0xb2, 0xff, 0xff, //0x00005a2c .long L0_1_set_209 + 0xfc, 0xb2, 0xff, 0xff, //0x00005a30 .long L0_1_set_209 + 0xfc, 0xb2, 0xff, 0xff, //0x00005a34 .long L0_1_set_209 + 0xfc, 0xb2, 0xff, 0xff, //0x00005a38 .long L0_1_set_209 + 0xfc, 0xb2, 0xff, 0xff, //0x00005a3c .long L0_1_set_209 + 0xfc, 0xb2, 0xff, 0xff, //0x00005a40 .long L0_1_set_209 + 0xfc, 0xb2, 0xff, 0xff, //0x00005a44 .long L0_1_set_209 + 0xfc, 0xb2, 0xff, 0xff, //0x00005a48 .long L0_1_set_209 + 0xfc, 0xb2, 0xff, 0xff, //0x00005a4c .long L0_1_set_209 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a50 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a54 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a58 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a5c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a60 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a64 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a68 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a6c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a70 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a74 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a78 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a7c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a80 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a84 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a88 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a8c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a90 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a94 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a98 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005a9c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005aa0 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005aa4 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005aa8 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005aac .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005ab0 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005ab4 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005ab8 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005abc .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005ac0 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005ac4 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005ac8 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005acc .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005ad0 .long L0_1_set_265 + 0x79, 0xb6, 0xff, 0xff, //0x00005ad4 .long L0_1_set_266 + 0x6e, 0xb6, 0xff, 0xff, //0x00005ad8 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005adc .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005ae0 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005ae4 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005ae8 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005aec .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005af0 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005af4 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005af8 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005afc .long L0_1_set_265 + 0x61, 0xb6, 0xff, 0xff, //0x00005b00 .long L0_1_set_264 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b04 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b08 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b0c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b10 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b14 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b18 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b1c .long L0_1_set_265 + 0x2c, 0xb5, 0xff, 0xff, //0x00005b20 .long L0_1_set_252 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b24 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b28 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b2c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b30 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b34 .long L0_1_set_265 + 0x2c, 0xb5, 0xff, 0xff, //0x00005b38 .long L0_1_set_252 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b3c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b40 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b44 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b48 .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b4c .long L0_1_set_265 + 0x6e, 0xb6, 0xff, 0xff, //0x00005b50 .long L0_1_set_265 + 0x8b, 0xba, 0xff, 0xff, //0x00005b54 .long L0_1_set_292 + // // .set L0_2_set_615, LBB0_615-LJTI0_2 + // // .set L0_2_set_621, LBB0_621-LJTI0_2 + // // .set L0_2_set_623, LBB0_623-LJTI0_2 + // // .set L0_2_set_639, LBB0_639-LJTI0_2 + // // .set L0_2_set_618, LBB0_618-LJTI0_2 + // // .set L0_2_set_642, LBB0_642-LJTI0_2 + //0x00005b58 LJTI0_2 + 0x53, 0xda, 0xff, 0xff, //0x00005b58 .long L0_2_set_615 + 0x8a, 0xda, 0xff, 0xff, //0x00005b5c .long L0_2_set_621 + 0xb5, 0xda, 0xff, 0xff, //0x00005b60 .long L0_2_set_623 + 0x5f, 0xdc, 0xff, 0xff, //0x00005b64 .long L0_2_set_639 + 0x6a, 0xda, 0xff, 0xff, //0x00005b68 .long L0_2_set_618 + 0xf6, 0xde, 0xff, 0xff, //0x00005b6c .long L0_2_set_642 + // // .set L0_3_set_558, LBB0_558-LJTI0_3 + // // .set L0_3_set_557, LBB0_557-LJTI0_3 + // // .set L0_3_set_724, LBB0_724-LJTI0_3 + // // .set L0_3_set_739, LBB0_739-LJTI0_3 + // // .set L0_3_set_648, LBB0_648-LJTI0_3 + // // .set L0_3_set_773, LBB0_773-LJTI0_3 + // // .set L0_3_set_777, LBB0_777-LJTI0_3 + // // .set L0_3_set_780, LBB0_780-LJTI0_3 + // // .set L0_3_set_787, LBB0_787-LJTI0_3 + // // .set L0_3_set_775, LBB0_775-LJTI0_3 + //0x00005b70 LJTI0_3 + 0xdf, 0xd6, 0xff, 0xff, //0x00005b70 .long L0_3_set_558 + 0xd8, 0xd6, 0xff, 0xff, //0x00005b74 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005b78 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005b7c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005b80 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005b84 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005b88 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005b8c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005b90 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005b94 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005b98 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005b9c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005ba0 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005ba4 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005ba8 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bac .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bb0 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bb4 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bb8 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bbc .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bc0 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bc4 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bc8 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bcc .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bd0 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bd4 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bd8 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bdc .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005be0 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005be4 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005be8 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bec .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bf0 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bf4 .long L0_3_set_557 + 0x12, 0xe2, 0xff, 0xff, //0x00005bf8 .long L0_3_set_724 + 0xd8, 0xd6, 0xff, 0xff, //0x00005bfc .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c00 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c04 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c08 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c0c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c10 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c14 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c18 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c1c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c20 .long L0_3_set_557 + 0xa0, 0xe3, 0xff, 0xff, //0x00005c24 .long L0_3_set_739 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c28 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c2c .long L0_3_set_557 + 0x80, 0xdc, 0xff, 0xff, //0x00005c30 .long L0_3_set_648 + 0x80, 0xdc, 0xff, 0xff, //0x00005c34 .long L0_3_set_648 + 0x80, 0xdc, 0xff, 0xff, //0x00005c38 .long L0_3_set_648 + 0x80, 0xdc, 0xff, 0xff, //0x00005c3c .long L0_3_set_648 + 0x80, 0xdc, 0xff, 0xff, //0x00005c40 .long L0_3_set_648 + 0x80, 0xdc, 0xff, 0xff, //0x00005c44 .long L0_3_set_648 + 0x80, 0xdc, 0xff, 0xff, //0x00005c48 .long L0_3_set_648 + 0x80, 0xdc, 0xff, 0xff, //0x00005c4c .long L0_3_set_648 + 0x80, 0xdc, 0xff, 0xff, //0x00005c50 .long L0_3_set_648 + 0x80, 0xdc, 0xff, 0xff, //0x00005c54 .long L0_3_set_648 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c58 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c5c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c60 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c64 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c68 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c6c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c70 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c74 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c78 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c7c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c80 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c84 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c88 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c8c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c90 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c94 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c98 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005c9c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005ca0 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005ca4 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005ca8 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cac .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cb0 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cb4 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cb8 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cbc .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cc0 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cc4 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cc8 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005ccc .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cd0 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cd4 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cd8 .long L0_3_set_557 + 0xfb, 0xe5, 0xff, 0xff, //0x00005cdc .long L0_3_set_773 + 0xd8, 0xd6, 0xff, 0xff, //0x00005ce0 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005ce4 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005ce8 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cec .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cf0 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cf4 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cf8 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005cfc .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d00 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d04 .long L0_3_set_557 + 0x43, 0xe6, 0xff, 0xff, //0x00005d08 .long L0_3_set_777 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d0c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d10 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d14 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d18 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d1c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d20 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d24 .long L0_3_set_557 + 0x70, 0xe6, 0xff, 0xff, //0x00005d28 .long L0_3_set_780 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d2c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d30 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d34 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d38 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d3c .long L0_3_set_557 + 0x94, 0xe6, 0xff, 0xff, //0x00005d40 .long L0_3_set_787 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d44 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d48 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d4c .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d50 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d54 .long L0_3_set_557 + 0xd8, 0xd6, 0xff, 0xff, //0x00005d58 .long L0_3_set_557 + 0x1f, 0xe6, 0xff, 0xff, //0x00005d5c .long L0_3_set_775 + // // .set L0_4_set_767, LBB0_767-LJTI0_4 + // // .set L0_4_set_797, LBB0_797-LJTI0_4 + // // .set L0_4_set_771, LBB0_771-LJTI0_4 + // // .set L0_4_set_764, LBB0_764-LJTI0_4 + // // .set L0_4_set_769, LBB0_769-LJTI0_4 + //0x00005d60 LJTI0_4 + 0xba, 0xe3, 0xff, 0xff, //0x00005d60 .long L0_4_set_767 + 0x22, 0xe5, 0xff, 0xff, //0x00005d64 .long L0_4_set_797 + 0xba, 0xe3, 0xff, 0xff, //0x00005d68 .long L0_4_set_767 + 0xf0, 0xe3, 0xff, 0xff, //0x00005d6c .long L0_4_set_771 + 0x22, 0xe5, 0xff, 0xff, //0x00005d70 .long L0_4_set_797 + 0x90, 0xe3, 0xff, 0xff, //0x00005d74 .long L0_4_set_764 + 0x90, 0xe3, 0xff, 0xff, //0x00005d78 .long L0_4_set_764 + 0x90, 0xe3, 0xff, 0xff, //0x00005d7c .long L0_4_set_764 + 0x90, 0xe3, 0xff, 0xff, //0x00005d80 .long L0_4_set_764 + 0x90, 0xe3, 0xff, 0xff, //0x00005d84 .long L0_4_set_764 + 0x90, 0xe3, 0xff, 0xff, //0x00005d88 .long L0_4_set_764 + 0x90, 0xe3, 0xff, 0xff, //0x00005d8c .long L0_4_set_764 + 0x90, 0xe3, 0xff, 0xff, //0x00005d90 .long L0_4_set_764 + 0x90, 0xe3, 0xff, 0xff, //0x00005d94 .long L0_4_set_764 + 0x90, 0xe3, 0xff, 0xff, //0x00005d98 .long L0_4_set_764 + 0x22, 0xe5, 0xff, 0xff, //0x00005d9c .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005da0 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005da4 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005da8 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005dac .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005db0 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005db4 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005db8 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005dbc .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005dc0 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005dc4 .long L0_4_set_797 + 0xd5, 0xe3, 0xff, 0xff, //0x00005dc8 .long L0_4_set_769 + 0x22, 0xe5, 0xff, 0xff, //0x00005dcc .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005dd0 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005dd4 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005dd8 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005ddc .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005de0 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005de4 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005de8 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005dec .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005df0 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005df4 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005df8 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005dfc .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e00 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e04 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e08 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e0c .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e10 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e14 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e18 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e1c .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e20 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e24 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e28 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e2c .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e30 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e34 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e38 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e3c .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e40 .long L0_4_set_797 + 0x22, 0xe5, 0xff, 0xff, //0x00005e44 .long L0_4_set_797 + 0xd5, 0xe3, 0xff, 0xff, //0x00005e48 .long L0_4_set_769 + // // .set L0_5_set_673, LBB0_673-LJTI0_5 + // // .set L0_5_set_709, LBB0_709-LJTI0_5 + // // .set L0_5_set_680, LBB0_680-LJTI0_5 + // // .set L0_5_set_675, LBB0_675-LJTI0_5 + // // .set L0_5_set_678, LBB0_678-LJTI0_5 + //0x00005e4c LJTI0_5 + 0x84, 0xdb, 0xff, 0xff, //0x00005e4c .long L0_5_set_673 + 0x7c, 0xde, 0xff, 0xff, //0x00005e50 .long L0_5_set_709 + 0x84, 0xdb, 0xff, 0xff, //0x00005e54 .long L0_5_set_673 + 0xe7, 0xdb, 0xff, 0xff, //0x00005e58 .long L0_5_set_680 + 0x7c, 0xde, 0xff, 0xff, //0x00005e5c .long L0_5_set_709 + 0xa4, 0xdb, 0xff, 0xff, //0x00005e60 .long L0_5_set_675 + 0xa4, 0xdb, 0xff, 0xff, //0x00005e64 .long L0_5_set_675 + 0xa4, 0xdb, 0xff, 0xff, //0x00005e68 .long L0_5_set_675 + 0xa4, 0xdb, 0xff, 0xff, //0x00005e6c .long L0_5_set_675 + 0xa4, 0xdb, 0xff, 0xff, //0x00005e70 .long L0_5_set_675 + 0xa4, 0xdb, 0xff, 0xff, //0x00005e74 .long L0_5_set_675 + 0xa4, 0xdb, 0xff, 0xff, //0x00005e78 .long L0_5_set_675 + 0xa4, 0xdb, 0xff, 0xff, //0x00005e7c .long L0_5_set_675 + 0xa4, 0xdb, 0xff, 0xff, //0x00005e80 .long L0_5_set_675 + 0xa4, 0xdb, 0xff, 0xff, //0x00005e84 .long L0_5_set_675 + 0x7c, 0xde, 0xff, 0xff, //0x00005e88 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005e8c .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005e90 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005e94 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005e98 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005e9c .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ea0 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ea4 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ea8 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005eac .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005eb0 .long L0_5_set_709 + 0xcc, 0xdb, 0xff, 0xff, //0x00005eb4 .long L0_5_set_678 + 0x7c, 0xde, 0xff, 0xff, //0x00005eb8 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ebc .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ec0 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ec4 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ec8 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ecc .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ed0 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ed4 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ed8 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005edc .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ee0 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ee4 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ee8 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005eec .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ef0 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ef4 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005ef8 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005efc .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f00 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f04 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f08 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f0c .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f10 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f14 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f18 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f1c .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f20 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f24 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f28 .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f2c .long L0_5_set_709 + 0x7c, 0xde, 0xff, 0xff, //0x00005f30 .long L0_5_set_709 + 0xcc, 0xdb, 0xff, 0xff, //0x00005f34 .long L0_5_set_678 + // // .set L0_6_set_558, LBB0_558-LJTI0_6 + // // .set L0_6_set_876, LBB0_876-LJTI0_6 + // // .set L0_6_set_877, LBB0_877-LJTI0_6 + // // .set L0_6_set_564, LBB0_564-LJTI0_6 + // // .set L0_6_set_887, LBB0_887-LJTI0_6 + // // .set L0_6_set_911, LBB0_911-LJTI0_6 + // // .set L0_6_set_871, LBB0_871-LJTI0_6 + // // .set L0_6_set_914, LBB0_914-LJTI0_6 + //0x00005f38 LJTI0_6 + 0x17, 0xd3, 0xff, 0xff, //0x00005f38 .long L0_6_set_558 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f3c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f40 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f44 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f48 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f4c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f50 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f54 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f58 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f5c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f60 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f64 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f68 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f6c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f70 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f74 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f78 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f7c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f80 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f84 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f88 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f8c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f90 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f94 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f98 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005f9c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fa0 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fa4 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fa8 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fac .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fb0 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fb4 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fb8 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fbc .long L0_6_set_876 + 0xaf, 0xeb, 0xff, 0xff, //0x00005fc0 .long L0_6_set_877 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fc4 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fc8 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fcc .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fd0 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fd4 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fd8 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fdc .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fe0 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fe4 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005fe8 .long L0_6_set_876 + 0x90, 0xd3, 0xff, 0xff, //0x00005fec .long L0_6_set_564 + 0xa7, 0xeb, 0xff, 0xff, //0x00005ff0 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00005ff4 .long L0_6_set_876 + 0x90, 0xd3, 0xff, 0xff, //0x00005ff8 .long L0_6_set_564 + 0x90, 0xd3, 0xff, 0xff, //0x00005ffc .long L0_6_set_564 + 0x90, 0xd3, 0xff, 0xff, //0x00006000 .long L0_6_set_564 + 0x90, 0xd3, 0xff, 0xff, //0x00006004 .long L0_6_set_564 + 0x90, 0xd3, 0xff, 0xff, //0x00006008 .long L0_6_set_564 + 0x90, 0xd3, 0xff, 0xff, //0x0000600c .long L0_6_set_564 + 0x90, 0xd3, 0xff, 0xff, //0x00006010 .long L0_6_set_564 + 0x90, 0xd3, 0xff, 0xff, //0x00006014 .long L0_6_set_564 + 0x90, 0xd3, 0xff, 0xff, //0x00006018 .long L0_6_set_564 + 0x90, 0xd3, 0xff, 0xff, //0x0000601c .long L0_6_set_564 + 0xa7, 0xeb, 0xff, 0xff, //0x00006020 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006024 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006028 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x0000602c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006030 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006034 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006038 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x0000603c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006040 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006044 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006048 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x0000604c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006050 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006054 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006058 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x0000605c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006060 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006064 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006068 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x0000606c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006070 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006074 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006078 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x0000607c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006080 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006084 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006088 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x0000608c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006090 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006094 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006098 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x0000609c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060a0 .long L0_6_set_876 + 0xc1, 0xec, 0xff, 0xff, //0x000060a4 .long L0_6_set_887 + 0xa7, 0xeb, 0xff, 0xff, //0x000060a8 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060ac .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060b0 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060b4 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060b8 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060bc .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060c0 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060c4 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060c8 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060cc .long L0_6_set_876 + 0xf3, 0xf0, 0xff, 0xff, //0x000060d0 .long L0_6_set_911 + 0xa7, 0xeb, 0xff, 0xff, //0x000060d4 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060d8 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060dc .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060e0 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060e4 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060e8 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060ec .long L0_6_set_876 + 0x72, 0xeb, 0xff, 0xff, //0x000060f0 .long L0_6_set_871 + 0xa7, 0xeb, 0xff, 0xff, //0x000060f4 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060f8 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x000060fc .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006100 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006104 .long L0_6_set_876 + 0x72, 0xeb, 0xff, 0xff, //0x00006108 .long L0_6_set_871 + 0xa7, 0xeb, 0xff, 0xff, //0x0000610c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006110 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006114 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006118 .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x0000611c .long L0_6_set_876 + 0xa7, 0xeb, 0xff, 0xff, //0x00006120 .long L0_6_set_876 + 0x0d, 0xf1, 0xff, 0xff, //0x00006124 .long L0_6_set_914 + //0x00006128 .p2align 2, 0x00 + //0x00006128 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00006128 .long 2 + 0x00, 0x00, 0x00, 0x00, //0x0000612c .p2align 4, 0x00 + //0x00006130 __UnquoteTab + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006130 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006140 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, //0x00006150 QUAD $0x0000000000220000; QUAD $0x2f00000000000000 // .ascii 16, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006160 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006170 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, //0x00006180 QUAD $0x0000000000000000; QUAD $0x0000005c00000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00' + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, //0x00006190 QUAD $0x000c000000080000; QUAD $0x000a000000000000 // .ascii 16, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00' + 0x00, 0x00, 0x0d, 0x00, 0x09, 0xff, //0x000061a0 LONG $0x000d0000; WORD $0xff09 // .ascii 6, '\x00\x00\r\x00\t\xff' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061a6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061b6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061c6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061d6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061e6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061f6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006206 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006216 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006226 QUAD $0x0000000000000000; WORD $0x0000 // .space 10, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/html_escape.go b/vendor/github.com/bytedance/sonic/internal/native/sse/html_escape.go new file mode 100644 index 0000000..9fe109c --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/html_escape.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_html_escape func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer) (ret int) + +var S_html_escape uintptr + +//go:nosplit +func html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) { + return F_html_escape(rt.NoEscape(sp), nb, dp, rt.NoEscape(unsafe.Pointer(dn))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/html_escape_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/html_escape_subr.go new file mode 100644 index 0000000..a4abdbd --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/html_escape_subr.go @@ -0,0 +1,45 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__html_escape = 64 +) + +const ( + _stack__html_escape = 72 +) + +const ( + _size__html_escape = 1280 +) + +var ( + _pcsp__html_escape = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {1256, 72}, + {1260, 48}, + {1261, 40}, + {1263, 32}, + {1265, 24}, + {1267, 16}, + {1269, 8}, + {1271, 0}, + } +) + +var _cfunc_html_escape = []loader.CFunc{ + {"_html_escape_entry", 0, _entry__html_escape, 0, nil}, + {"_html_escape", _entry__html_escape, _size__html_escape, _stack__html_escape, _pcsp__html_escape}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/html_escape_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/html_escape_text_amd64.go new file mode 100644 index 0000000..cedaf93 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/html_escape_text_amd64.go @@ -0,0 +1,624 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_html_escape = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, // QUAD $0x2626262626262626; QUAD $0x2626262626262626 // .space 16, '&&&&&&&&&&&&&&&&' + //0x00000010 LCPI0_1 + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, //0x00000010 QUAD $0xe2e2e2e2e2e2e2e2; QUAD $0xe2e2e2e2e2e2e2e2 // .space 16, '\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2' + //0x00000020 LCPI0_2 + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, //0x00000020 QUAD $0x0202020202020202; QUAD $0x0202020202020202 // .space 16, '\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02' + //0x00000030 LCPI0_3 + 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, //0x00000030 QUAD $0x3e3e3e3e3e3e3e3e; QUAD $0x3e3e3e3e3e3e3e3e // .space 16, '>>>>>>>>>>>>>>>>' + //0x00000040 .p2align 4, 0x90 + //0x00000040 _html_escape + 0x55, //0x00000040 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000041 movq %rsp, %rbp + 0x41, 0x57, //0x00000044 pushq %r15 + 0x41, 0x56, //0x00000046 pushq %r14 + 0x41, 0x55, //0x00000048 pushq %r13 + 0x41, 0x54, //0x0000004a pushq %r12 + 0x53, //0x0000004c pushq %rbx + 0x48, 0x83, 0xec, 0x18, //0x0000004d subq $24, %rsp + 0x48, 0x89, 0x4d, 0xc0, //0x00000051 movq %rcx, $-64(%rbp) + 0x49, 0x89, 0xd2, //0x00000055 movq %rdx, %r10 + 0x48, 0x89, 0x55, 0xc8, //0x00000058 movq %rdx, $-56(%rbp) + 0x48, 0x89, 0x7d, 0xd0, //0x0000005c movq %rdi, $-48(%rbp) + 0x48, 0x89, 0xf8, //0x00000060 movq %rdi, %rax + 0x48, 0x85, 0xf6, //0x00000063 testq %rsi, %rsi + 0x0f, 0x8e, 0x93, 0x04, 0x00, 0x00, //0x00000066 jle LBB0_59 + 0x48, 0x8b, 0x45, 0xc0, //0x0000006c movq $-64(%rbp), %rax + 0x4c, 0x8b, 0x08, //0x00000070 movq (%rax), %r9 + 0xf3, 0x0f, 0x6f, 0x05, 0x85, 0xff, 0xff, 0xff, //0x00000073 movdqu $-123(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x8d, 0xff, 0xff, 0xff, //0x0000007b movdqu $-115(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x15, 0x95, 0xff, 0xff, 0xff, //0x00000083 movdqu $-107(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x1d, 0x9d, 0xff, 0xff, 0xff, //0x0000008b movdqu $-99(%rip), %xmm3 /* LCPI0_3+0(%rip) */ + 0x49, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x50, //0x00000093 movabsq $5764607797912141824, %r14 + 0x4c, 0x8d, 0x1d, 0x9c, 0x04, 0x00, 0x00, //0x0000009d leaq $1180(%rip), %r11 /* __HtmlQuoteTab+0(%rip) */ + 0x4c, 0x8b, 0x7d, 0xd0, //0x000000a4 movq $-48(%rbp), %r15 + 0x4c, 0x8b, 0x55, 0xc8, //0x000000a8 movq $-56(%rbp), %r10 + 0x90, 0x90, 0x90, 0x90, //0x000000ac .p2align 4, 0x90 + //0x000000b0 LBB0_2 + 0x4d, 0x85, 0xc9, //0x000000b0 testq %r9, %r9 + 0x0f, 0x8e, 0x65, 0x04, 0x00, 0x00, //0x000000b3 jle LBB0_61 + 0x48, 0x83, 0xfe, 0x0f, //0x000000b9 cmpq $15, %rsi + 0x0f, 0x9f, 0xc3, //0x000000bd setg %bl + 0x4d, 0x89, 0xcd, //0x000000c0 movq %r9, %r13 + 0x4d, 0x89, 0xd0, //0x000000c3 movq %r10, %r8 + 0x48, 0x89, 0xf0, //0x000000c6 movq %rsi, %rax + 0x4d, 0x89, 0xfc, //0x000000c9 movq %r15, %r12 + 0x49, 0x83, 0xf9, 0x10, //0x000000cc cmpq $16, %r9 + 0x0f, 0x8c, 0x8a, 0x00, 0x00, 0x00, //0x000000d0 jl LBB0_9 + 0x48, 0x83, 0xfe, 0x10, //0x000000d6 cmpq $16, %rsi + 0x0f, 0x8c, 0x80, 0x00, 0x00, 0x00, //0x000000da jl LBB0_9 + 0x4d, 0x89, 0xfc, //0x000000e0 movq %r15, %r12 + 0x48, 0x89, 0xf0, //0x000000e3 movq %rsi, %rax + 0x4d, 0x89, 0xd0, //0x000000e6 movq %r10, %r8 + 0x4c, 0x89, 0xc9, //0x000000e9 movq %r9, %rcx + 0x90, 0x90, 0x90, 0x90, //0x000000ec .p2align 4, 0x90 + //0x000000f0 LBB0_6 + 0xf3, 0x41, 0x0f, 0x6f, 0x24, 0x24, //0x000000f0 movdqu (%r12), %xmm4 + 0x66, 0x0f, 0x6f, 0xec, //0x000000f6 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xf4, //0x000000fa movdqa %xmm4, %xmm6 + 0xf3, 0x41, 0x0f, 0x7f, 0x20, //0x000000fe movdqu %xmm4, (%r8) + 0x66, 0x0f, 0x74, 0xe0, //0x00000103 pcmpeqb %xmm0, %xmm4 + 0x66, 0x0f, 0x74, 0xe9, //0x00000107 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xeb, 0xec, //0x0000010b por %xmm4, %xmm5 + 0x66, 0x0f, 0xeb, 0xf2, //0x0000010f por %xmm2, %xmm6 + 0x66, 0x0f, 0x74, 0xf3, //0x00000113 pcmpeqb %xmm3, %xmm6 + 0x66, 0x0f, 0xeb, 0xf5, //0x00000117 por %xmm5, %xmm6 + 0x66, 0x0f, 0xd7, 0xd6, //0x0000011b pmovmskb %xmm6, %edx + 0x66, 0x85, 0xd2, //0x0000011f testw %dx, %dx + 0x0f, 0x85, 0x48, 0x01, 0x00, 0x00, //0x00000122 jne LBB0_21 + 0x49, 0x83, 0xc4, 0x10, //0x00000128 addq $16, %r12 + 0x49, 0x83, 0xc0, 0x10, //0x0000012c addq $16, %r8 + 0x4c, 0x8d, 0x69, 0xf0, //0x00000130 leaq $-16(%rcx), %r13 + 0x48, 0x83, 0xf8, 0x1f, //0x00000134 cmpq $31, %rax + 0x0f, 0x9f, 0xc3, //0x00000138 setg %bl + 0x48, 0x83, 0xf8, 0x20, //0x0000013b cmpq $32, %rax + 0x48, 0x8d, 0x40, 0xf0, //0x0000013f leaq $-16(%rax), %rax + 0x0f, 0x8c, 0x17, 0x00, 0x00, 0x00, //0x00000143 jl LBB0_9 + 0x48, 0x83, 0xf9, 0x1f, //0x00000149 cmpq $31, %rcx + 0x4c, 0x89, 0xe9, //0x0000014d movq %r13, %rcx + 0x0f, 0x8f, 0x9a, 0xff, 0xff, 0xff, //0x00000150 jg LBB0_6 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000156 .p2align 4, 0x90 + //0x00000160 LBB0_9 + 0x84, 0xdb, //0x00000160 testb %bl, %bl + 0x0f, 0x84, 0x78, 0x00, 0x00, 0x00, //0x00000162 je LBB0_13 + 0x4c, 0x89, 0xf2, //0x00000168 movq %r14, %rdx + 0xf3, 0x41, 0x0f, 0x6f, 0x24, 0x24, //0x0000016b movdqu (%r12), %xmm4 + 0x66, 0x0f, 0x6f, 0xec, //0x00000171 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00000175 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0x6f, 0xf4, //0x00000179 movdqa %xmm4, %xmm6 + 0x66, 0x0f, 0x74, 0xf1, //0x0000017d pcmpeqb %xmm1, %xmm6 + 0x66, 0x0f, 0xeb, 0xf5, //0x00000181 por %xmm5, %xmm6 + 0x66, 0x48, 0x0f, 0x7e, 0xe0, //0x00000185 movq %xmm4, %rax + 0x66, 0x0f, 0xeb, 0xe2, //0x0000018a por %xmm2, %xmm4 + 0x66, 0x0f, 0x74, 0xe3, //0x0000018e pcmpeqb %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xe6, //0x00000192 por %xmm6, %xmm4 + 0x66, 0x0f, 0xd7, 0xcc, //0x00000196 pmovmskb %xmm4, %ecx + 0x81, 0xc9, 0x00, 0x00, 0x01, 0x00, //0x0000019a orl $65536, %ecx + 0x44, 0x0f, 0xbc, 0xf1, //0x000001a0 bsfl %ecx, %r14d + 0x4d, 0x39, 0xf5, //0x000001a4 cmpq %r14, %r13 + 0x0f, 0x8d, 0xde, 0x00, 0x00, 0x00, //0x000001a7 jge LBB0_22 + 0x49, 0x83, 0xfd, 0x08, //0x000001ad cmpq $8, %r13 + 0x0f, 0x82, 0x11, 0x01, 0x00, 0x00, //0x000001b1 jb LBB0_25 + 0x49, 0x89, 0x00, //0x000001b7 movq %rax, (%r8) + 0x4d, 0x8d, 0x74, 0x24, 0x08, //0x000001ba leaq $8(%r12), %r14 + 0x49, 0x83, 0xc0, 0x08, //0x000001bf addq $8, %r8 + 0x49, 0x8d, 0x45, 0xf8, //0x000001c3 leaq $-8(%r13), %rax + 0x48, 0x83, 0xf8, 0x04, //0x000001c7 cmpq $4, %rax + 0x0f, 0x8d, 0x07, 0x01, 0x00, 0x00, //0x000001cb jge LBB0_26 + 0xe9, 0x14, 0x01, 0x00, 0x00, //0x000001d1 jmp LBB0_27 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001d6 .p2align 4, 0x90 + //0x000001e0 LBB0_13 + 0x4d, 0x85, 0xed, //0x000001e0 testq %r13, %r13 + 0x0f, 0x8e, 0x67, 0x00, 0x00, 0x00, //0x000001e3 jle LBB0_20 + 0x48, 0x85, 0xc0, //0x000001e9 testq %rax, %rax + 0x0f, 0x8e, 0x5e, 0x00, 0x00, 0x00, //0x000001ec jle LBB0_20 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001f2 .p2align 4, 0x90 + //0x00000200 LBB0_15 + 0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x00000200 movzbl (%r12), %ecx + 0x48, 0x83, 0xf9, 0x3e, //0x00000205 cmpq $62, %rcx + 0x0f, 0x87, 0x0a, 0x00, 0x00, 0x00, //0x00000209 ja LBB0_17 + 0x49, 0x0f, 0xa3, 0xce, //0x0000020f btq %rcx, %r14 + 0x0f, 0x82, 0x9b, 0x00, 0x00, 0x00, //0x00000213 jb LBB0_24 + //0x00000219 LBB0_17 + 0x80, 0xf9, 0xe2, //0x00000219 cmpb $-30, %cl + 0x0f, 0x84, 0x92, 0x00, 0x00, 0x00, //0x0000021c je LBB0_24 + 0x49, 0xff, 0xc4, //0x00000222 incq %r12 + 0x41, 0x88, 0x08, //0x00000225 movb %cl, (%r8) + 0x48, 0x83, 0xf8, 0x02, //0x00000228 cmpq $2, %rax + 0x48, 0x8d, 0x40, 0xff, //0x0000022c leaq $-1(%rax), %rax + 0x0f, 0x8c, 0x1a, 0x00, 0x00, 0x00, //0x00000230 jl LBB0_20 + 0x49, 0xff, 0xc0, //0x00000236 incq %r8 + 0x49, 0x83, 0xfd, 0x01, //0x00000239 cmpq $1, %r13 + 0x4d, 0x8d, 0x6d, 0xff, //0x0000023d leaq $-1(%r13), %r13 + 0x0f, 0x8f, 0xb9, 0xff, 0xff, 0xff, //0x00000241 jg LBB0_15 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000247 .p2align 4, 0x90 + //0x00000250 LBB0_20 + 0x4d, 0x29, 0xfc, //0x00000250 subq %r15, %r12 + 0x48, 0xf7, 0xd8, //0x00000253 negq %rax + 0x4d, 0x19, 0xed, //0x00000256 sbbq %r13, %r13 + 0x4d, 0x31, 0xe5, //0x00000259 xorq %r12, %r13 + 0x4d, 0x85, 0xed, //0x0000025c testq %r13, %r13 + 0x0f, 0x89, 0x5b, 0x01, 0x00, 0x00, //0x0000025f jns LBB0_37 + 0xe9, 0x72, 0x02, 0x00, 0x00, //0x00000265 jmp LBB0_57 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000026a .p2align 4, 0x90 + //0x00000270 LBB0_21 + 0x0f, 0xb7, 0xc2, //0x00000270 movzwl %dx, %eax + 0x4d, 0x29, 0xfc, //0x00000273 subq %r15, %r12 + 0x44, 0x0f, 0xbc, 0xe8, //0x00000276 bsfl %eax, %r13d + 0x4d, 0x01, 0xe5, //0x0000027a addq %r12, %r13 + 0x4d, 0x85, 0xed, //0x0000027d testq %r13, %r13 + 0x0f, 0x89, 0x3a, 0x01, 0x00, 0x00, //0x00000280 jns LBB0_37 + 0xe9, 0x51, 0x02, 0x00, 0x00, //0x00000286 jmp LBB0_57 + //0x0000028b LBB0_22 + 0x41, 0x83, 0xfe, 0x08, //0x0000028b cmpl $8, %r14d + 0x0f, 0x82, 0xaa, 0x00, 0x00, 0x00, //0x0000028f jb LBB0_31 + 0x49, 0x89, 0x00, //0x00000295 movq %rax, (%r8) + 0x4d, 0x8d, 0x6c, 0x24, 0x08, //0x00000298 leaq $8(%r12), %r13 + 0x49, 0x83, 0xc0, 0x08, //0x0000029d addq $8, %r8 + 0x49, 0x8d, 0x46, 0xf8, //0x000002a1 leaq $-8(%r14), %rax + 0x48, 0x83, 0xf8, 0x04, //0x000002a5 cmpq $4, %rax + 0x0f, 0x8d, 0xa0, 0x00, 0x00, 0x00, //0x000002a9 jge LBB0_32 + 0xe9, 0xae, 0x00, 0x00, 0x00, //0x000002af jmp LBB0_33 + //0x000002b4 LBB0_24 + 0x4d, 0x29, 0xfc, //0x000002b4 subq %r15, %r12 + 0x4d, 0x89, 0xe5, //0x000002b7 movq %r12, %r13 + 0x4d, 0x85, 0xed, //0x000002ba testq %r13, %r13 + 0x0f, 0x89, 0xfd, 0x00, 0x00, 0x00, //0x000002bd jns LBB0_37 + 0xe9, 0x14, 0x02, 0x00, 0x00, //0x000002c3 jmp LBB0_57 + //0x000002c8 LBB0_25 + 0x4d, 0x89, 0xe6, //0x000002c8 movq %r12, %r14 + 0x4c, 0x89, 0xe8, //0x000002cb movq %r13, %rax + 0x48, 0x83, 0xf8, 0x04, //0x000002ce cmpq $4, %rax + 0x0f, 0x8c, 0x12, 0x00, 0x00, 0x00, //0x000002d2 jl LBB0_27 + //0x000002d8 LBB0_26 + 0x41, 0x8b, 0x0e, //0x000002d8 movl (%r14), %ecx + 0x41, 0x89, 0x08, //0x000002db movl %ecx, (%r8) + 0x49, 0x83, 0xc6, 0x04, //0x000002de addq $4, %r14 + 0x49, 0x83, 0xc0, 0x04, //0x000002e2 addq $4, %r8 + 0x48, 0x83, 0xc0, 0xfc, //0x000002e6 addq $-4, %rax + //0x000002ea LBB0_27 + 0x48, 0x83, 0xf8, 0x02, //0x000002ea cmpq $2, %rax + 0x0f, 0x82, 0x22, 0x00, 0x00, 0x00, //0x000002ee jb LBB0_28 + 0x41, 0x0f, 0xb7, 0x0e, //0x000002f4 movzwl (%r14), %ecx + 0x66, 0x41, 0x89, 0x08, //0x000002f8 movw %cx, (%r8) + 0x49, 0x83, 0xc6, 0x02, //0x000002fc addq $2, %r14 + 0x49, 0x83, 0xc0, 0x02, //0x00000300 addq $2, %r8 + 0x48, 0x83, 0xc0, 0xfe, //0x00000304 addq $-2, %rax + 0x48, 0x85, 0xc0, //0x00000308 testq %rax, %rax + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000030b jne LBB0_29 + 0xe9, 0x0f, 0x00, 0x00, 0x00, //0x00000311 jmp LBB0_30 + //0x00000316 LBB0_28 + 0x48, 0x85, 0xc0, //0x00000316 testq %rax, %rax + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00000319 je LBB0_30 + //0x0000031f LBB0_29 + 0x41, 0x8a, 0x06, //0x0000031f movb (%r14), %al + 0x41, 0x88, 0x00, //0x00000322 movb %al, (%r8) + //0x00000325 LBB0_30 + 0x4d, 0x29, 0xfd, //0x00000325 subq %r15, %r13 + 0x4d, 0x01, 0xe5, //0x00000328 addq %r12, %r13 + 0x49, 0xf7, 0xd5, //0x0000032b notq %r13 + 0x49, 0x89, 0xd6, //0x0000032e movq %rdx, %r14 + 0x4d, 0x85, 0xed, //0x00000331 testq %r13, %r13 + 0x0f, 0x89, 0x86, 0x00, 0x00, 0x00, //0x00000334 jns LBB0_37 + 0xe9, 0x9d, 0x01, 0x00, 0x00, //0x0000033a jmp LBB0_57 + //0x0000033f LBB0_31 + 0x4d, 0x89, 0xe5, //0x0000033f movq %r12, %r13 + 0x4c, 0x89, 0xf0, //0x00000342 movq %r14, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00000345 cmpq $4, %rax + 0x0f, 0x8c, 0x13, 0x00, 0x00, 0x00, //0x00000349 jl LBB0_33 + //0x0000034f LBB0_32 + 0x41, 0x8b, 0x4d, 0x00, //0x0000034f movl (%r13), %ecx + 0x41, 0x89, 0x08, //0x00000353 movl %ecx, (%r8) + 0x49, 0x83, 0xc5, 0x04, //0x00000356 addq $4, %r13 + 0x49, 0x83, 0xc0, 0x04, //0x0000035a addq $4, %r8 + 0x48, 0x83, 0xc0, 0xfc, //0x0000035e addq $-4, %rax + //0x00000362 LBB0_33 + 0x48, 0x83, 0xf8, 0x02, //0x00000362 cmpq $2, %rax + 0x0f, 0x82, 0x23, 0x00, 0x00, 0x00, //0x00000366 jb LBB0_34 + 0x41, 0x0f, 0xb7, 0x4d, 0x00, //0x0000036c movzwl (%r13), %ecx + 0x66, 0x41, 0x89, 0x08, //0x00000371 movw %cx, (%r8) + 0x49, 0x83, 0xc5, 0x02, //0x00000375 addq $2, %r13 + 0x49, 0x83, 0xc0, 0x02, //0x00000379 addq $2, %r8 + 0x48, 0x83, 0xc0, 0xfe, //0x0000037d addq $-2, %rax + 0x48, 0x85, 0xc0, //0x00000381 testq %rax, %rax + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00000384 jne LBB0_35 + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x0000038a jmp LBB0_36 + //0x0000038f LBB0_34 + 0x48, 0x85, 0xc0, //0x0000038f testq %rax, %rax + 0x0f, 0x84, 0x07, 0x00, 0x00, 0x00, //0x00000392 je LBB0_36 + //0x00000398 LBB0_35 + 0x41, 0x8a, 0x45, 0x00, //0x00000398 movb (%r13), %al + 0x41, 0x88, 0x00, //0x0000039c movb %al, (%r8) + //0x0000039f LBB0_36 + 0x4d, 0x29, 0xfc, //0x0000039f subq %r15, %r12 + 0x4d, 0x01, 0xf4, //0x000003a2 addq %r14, %r12 + 0x4d, 0x89, 0xe5, //0x000003a5 movq %r12, %r13 + 0x49, 0x89, 0xd6, //0x000003a8 movq %rdx, %r14 + 0x4d, 0x85, 0xed, //0x000003ab testq %r13, %r13 + 0x0f, 0x88, 0x28, 0x01, 0x00, 0x00, //0x000003ae js LBB0_57 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003b4 .p2align 4, 0x90 + //0x000003c0 LBB0_37 + 0x4d, 0x01, 0xef, //0x000003c0 addq %r13, %r15 + 0x4d, 0x01, 0xea, //0x000003c3 addq %r13, %r10 + 0x4c, 0x29, 0xee, //0x000003c6 subq %r13, %rsi + 0x0f, 0x8e, 0x2d, 0x01, 0x00, 0x00, //0x000003c9 jle LBB0_58 + 0x4d, 0x29, 0xe9, //0x000003cf subq %r13, %r9 + 0x41, 0x8a, 0x0f, //0x000003d2 movb (%r15), %cl + 0x80, 0xf9, 0xe2, //0x000003d5 cmpb $-30, %cl + 0x0f, 0x84, 0xb1, 0x00, 0x00, 0x00, //0x000003d8 je LBB0_51 + 0x4c, 0x89, 0xf8, //0x000003de movq %r15, %rax + //0x000003e1 LBB0_40 + 0x0f, 0xb6, 0xd1, //0x000003e1 movzbl %cl, %edx + 0x48, 0xc1, 0xe2, 0x04, //0x000003e4 shlq $4, %rdx + 0x4a, 0x8b, 0x3c, 0x1a, //0x000003e8 movq (%rdx,%r11), %rdi + 0x48, 0x63, 0xdf, //0x000003ec movslq %edi, %rbx + 0x49, 0x29, 0xd9, //0x000003ef subq %rbx, %r9 + 0x0f, 0x8c, 0x1b, 0x01, 0x00, 0x00, //0x000003f2 jl LBB0_60 + 0x48, 0xc1, 0xe7, 0x20, //0x000003f8 shlq $32, %rdi + 0x4e, 0x8d, 0x7c, 0x1a, 0x08, //0x000003fc leaq $8(%rdx,%r11), %r15 + 0x48, 0xb9, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, //0x00000401 movabsq $12884901889, %rcx + 0x48, 0x39, 0xcf, //0x0000040b cmpq %rcx, %rdi + 0x0f, 0x8c, 0x2c, 0x00, 0x00, 0x00, //0x0000040e jl LBB0_43 + 0x41, 0x8b, 0x0f, //0x00000414 movl (%r15), %ecx + 0x41, 0x89, 0x0a, //0x00000417 movl %ecx, (%r10) + 0x4e, 0x8d, 0x7c, 0x1a, 0x0c, //0x0000041a leaq $12(%rdx,%r11), %r15 + 0x4d, 0x8d, 0x42, 0x04, //0x0000041f leaq $4(%r10), %r8 + 0x48, 0x8d, 0x7b, 0xfc, //0x00000423 leaq $-4(%rbx), %rdi + 0x48, 0x83, 0xff, 0x02, //0x00000427 cmpq $2, %rdi + 0x0f, 0x83, 0x1f, 0x00, 0x00, 0x00, //0x0000042b jae LBB0_44 + 0xe9, 0x2e, 0x00, 0x00, 0x00, //0x00000431 jmp LBB0_45 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000436 .p2align 4, 0x90 + //0x00000440 LBB0_43 + 0x4d, 0x89, 0xd0, //0x00000440 movq %r10, %r8 + 0x48, 0x89, 0xdf, //0x00000443 movq %rbx, %rdi + 0x48, 0x83, 0xff, 0x02, //0x00000446 cmpq $2, %rdi + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x0000044a jb LBB0_45 + //0x00000450 LBB0_44 + 0x41, 0x0f, 0xb7, 0x17, //0x00000450 movzwl (%r15), %edx + 0x66, 0x41, 0x89, 0x10, //0x00000454 movw %dx, (%r8) + 0x49, 0x83, 0xc7, 0x02, //0x00000458 addq $2, %r15 + 0x49, 0x83, 0xc0, 0x02, //0x0000045c addq $2, %r8 + 0x48, 0x83, 0xc7, 0xfe, //0x00000460 addq $-2, %rdi + //0x00000464 LBB0_45 + 0x48, 0x85, 0xff, //0x00000464 testq %rdi, %rdi + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00000467 je LBB0_47 + 0x41, 0x8a, 0x0f, //0x0000046d movb (%r15), %cl + 0x41, 0x88, 0x08, //0x00000470 movb %cl, (%r8) + //0x00000473 LBB0_47 + 0x49, 0x01, 0xda, //0x00000473 addq %rbx, %r10 + //0x00000476 LBB0_48 + 0x48, 0xff, 0xc0, //0x00000476 incq %rax + 0x49, 0x89, 0xc7, //0x00000479 movq %rax, %r15 + 0x48, 0x83, 0xfe, 0x01, //0x0000047c cmpq $1, %rsi + 0x48, 0x8d, 0x76, 0xff, //0x00000480 leaq $-1(%rsi), %rsi + 0x0f, 0x8f, 0x26, 0xfc, 0xff, 0xff, //0x00000484 jg LBB0_2 + 0xe9, 0x70, 0x00, 0x00, 0x00, //0x0000048a jmp LBB0_59 + //0x0000048f LBB0_51 + 0x48, 0x83, 0xfe, 0x03, //0x0000048f cmpq $3, %rsi + 0x0f, 0x8c, 0x28, 0x00, 0x00, 0x00, //0x00000493 jl LBB0_55 + 0x41, 0x80, 0x7f, 0x01, 0x80, //0x00000499 cmpb $-128, $1(%r15) + 0x0f, 0x85, 0x1d, 0x00, 0x00, 0x00, //0x0000049e jne LBB0_55 + 0x41, 0x8a, 0x4f, 0x02, //0x000004a4 movb $2(%r15), %cl + 0x89, 0xc8, //0x000004a8 movl %ecx, %eax + 0x24, 0xfe, //0x000004aa andb $-2, %al + 0x3c, 0xa8, //0x000004ac cmpb $-88, %al + 0x0f, 0x85, 0x0d, 0x00, 0x00, 0x00, //0x000004ae jne LBB0_55 + 0x49, 0x8d, 0x47, 0x02, //0x000004b4 leaq $2(%r15), %rax + 0x48, 0x83, 0xc6, 0xfe, //0x000004b8 addq $-2, %rsi + 0xe9, 0x20, 0xff, 0xff, 0xff, //0x000004bc jmp LBB0_40 + //0x000004c1 LBB0_55 + 0x4d, 0x85, 0xc9, //0x000004c1 testq %r9, %r9 + 0x0f, 0x8e, 0x54, 0x00, 0x00, 0x00, //0x000004c4 jle LBB0_61 + 0x41, 0xc6, 0x02, 0xe2, //0x000004ca movb $-30, (%r10) + 0x49, 0xff, 0xc2, //0x000004ce incq %r10 + 0x49, 0xff, 0xc9, //0x000004d1 decq %r9 + 0x4c, 0x89, 0xf8, //0x000004d4 movq %r15, %rax + 0xe9, 0x9a, 0xff, 0xff, 0xff, //0x000004d7 jmp LBB0_48 + //0x000004dc LBB0_57 + 0x4c, 0x2b, 0x55, 0xc8, //0x000004dc subq $-56(%rbp), %r10 + 0x49, 0xf7, 0xd5, //0x000004e0 notq %r13 + 0x4d, 0x01, 0xea, //0x000004e3 addq %r13, %r10 + 0x48, 0x8b, 0x45, 0xc0, //0x000004e6 movq $-64(%rbp), %rax + 0x4c, 0x89, 0x10, //0x000004ea movq %r10, (%rax) + 0x4c, 0x2b, 0x7d, 0xd0, //0x000004ed subq $-48(%rbp), %r15 + 0x4d, 0x01, 0xef, //0x000004f1 addq %r13, %r15 + 0x49, 0xf7, 0xd7, //0x000004f4 notq %r15 + 0xe9, 0x29, 0x00, 0x00, 0x00, //0x000004f7 jmp LBB0_62 + //0x000004fc LBB0_58 + 0x4c, 0x89, 0xf8, //0x000004fc movq %r15, %rax + //0x000004ff LBB0_59 + 0x4c, 0x2b, 0x55, 0xc8, //0x000004ff subq $-56(%rbp), %r10 + 0x48, 0x8b, 0x4d, 0xc0, //0x00000503 movq $-64(%rbp), %rcx + 0x4c, 0x89, 0x11, //0x00000507 movq %r10, (%rcx) + 0x48, 0x2b, 0x45, 0xd0, //0x0000050a subq $-48(%rbp), %rax + 0xe9, 0x15, 0x00, 0x00, 0x00, //0x0000050e jmp LBB0_63 + //0x00000513 LBB0_60 + 0x4c, 0x2b, 0x55, 0xc8, //0x00000513 subq $-56(%rbp), %r10 + 0x48, 0x8b, 0x45, 0xc0, //0x00000517 movq $-64(%rbp), %rax + 0x4c, 0x89, 0x10, //0x0000051b movq %r10, (%rax) + //0x0000051e LBB0_61 + 0x49, 0xf7, 0xd7, //0x0000051e notq %r15 + 0x4c, 0x03, 0x7d, 0xd0, //0x00000521 addq $-48(%rbp), %r15 + //0x00000525 LBB0_62 + 0x4c, 0x89, 0xf8, //0x00000525 movq %r15, %rax + //0x00000528 LBB0_63 + 0x48, 0x83, 0xc4, 0x18, //0x00000528 addq $24, %rsp + 0x5b, //0x0000052c popq %rbx + 0x41, 0x5c, //0x0000052d popq %r12 + 0x41, 0x5d, //0x0000052f popq %r13 + 0x41, 0x5e, //0x00000531 popq %r14 + 0x41, 0x5f, //0x00000533 popq %r15 + 0x5d, //0x00000535 popq %rbp + 0xc3, //0x00000536 retq + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000537 .p2align 4, 0x00 + //0x00000540 __HtmlQuoteTab + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000540 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000550 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000560 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000570 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000580 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000590 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000600 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000610 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000620 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000630 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000640 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000650 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000660 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000670 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000680 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000690 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000700 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000710 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000720 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000730 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000740 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000750 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000760 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000770 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000780 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000790 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007a0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x32, 0x36, 0x00, 0x00, //0x000007a8 QUAD $0x000036323030755c // .asciz 8, '\\u0026\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000800 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000810 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000820 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000830 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000840 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000850 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000860 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000870 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000880 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000890 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000900 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x33, 0x63, 0x00, 0x00, //0x00000908 QUAD $0x000063333030755c // .asciz 8, '\\u003c\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000910 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000920 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x33, 0x65, 0x00, 0x00, //0x00000928 QUAD $0x000065333030755c // .asciz 8, '\\u003e\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000930 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000940 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000950 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000960 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000970 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000980 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000990 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000aa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ab0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ac0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ad0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ae0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000af0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ba0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000be0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ca0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ce0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000da0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000db0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000de0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000df0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ea0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000eb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ec0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ed0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ee0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ef0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fc0 .quad 6 + 0x5c, 0x75, 0x32, 0x30, 0x32, 0x38, 0x00, 0x00, //0x00000fc8 QUAD $0x000038323032755c // .asciz 8, '\\u2028\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fd0 .quad 6 + 0x5c, 0x75, 0x32, 0x30, 0x32, 0x39, 0x00, 0x00, //0x00000fd8 QUAD $0x000039323032755c // .asciz 8, '\\u2029\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fe0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ff0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001000 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001010 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001020 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001030 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001040 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001050 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001060 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001070 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001080 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001090 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001100 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001110 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001120 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001130 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001140 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001150 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001160 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001170 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001180 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001190 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001200 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001210 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001220 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001230 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001240 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001250 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001260 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001270 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001280 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001290 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001300 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001310 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001320 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001330 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001340 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001350 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001360 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001370 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001380 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001390 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001400 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001410 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001420 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001430 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001440 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001450 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001460 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001470 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001480 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001490 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001500 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001510 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001520 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001530 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/i64toa.go b/vendor/github.com/bytedance/sonic/internal/native/sse/i64toa.go new file mode 100644 index 0000000..e9d5733 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/i64toa.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_i64toa func(out unsafe.Pointer, val int64) (ret int) + +var S_i64toa uintptr + +//go:nosplit +func i64toa(out *byte, val int64) (ret int) { + return F_i64toa(rt.NoEscape(unsafe.Pointer(out)), val) +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/i64toa_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/i64toa_subr.go new file mode 100644 index 0000000..375cc2e --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/i64toa_subr.go @@ -0,0 +1,47 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__i64toa = 80 +) + +const ( + _stack__i64toa = 8 +) + +const ( + _size__i64toa = 2336 +) + +var ( + _pcsp__i64toa = [][2]uint32{ + {1, 0}, + {170, 8}, + {171, 0}, + {505, 8}, + {506, 0}, + {637, 8}, + {638, 0}, + {1117, 8}, + {1118, 0}, + {1254, 8}, + {1255, 0}, + {1572, 8}, + {1573, 0}, + {1945, 8}, + {1946, 0}, + {2324, 8}, + {2326, 0}, + } +) + +var _cfunc_i64toa = []loader.CFunc{ + {"_i64toa_entry", 0, _entry__i64toa, 0, nil}, + {"_i64toa", _entry__i64toa, _size__i64toa, _stack__i64toa, _pcsp__i64toa}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/i64toa_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/i64toa_text_amd64.go new file mode 100644 index 0000000..ff0f338 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/i64toa_text_amd64.go @@ -0,0 +1,666 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_i64toa = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, // .quad 3518437209 + 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 3518437209 + //0x00000010 LCPI0_1 + 0xc5, 0x20, //0x00000010 .word 8389 + 0x7b, 0x14, //0x00000012 .word 5243 + 0x34, 0x33, //0x00000014 .word 13108 + 0x00, 0x80, //0x00000016 .word 32768 + 0xc5, 0x20, //0x00000018 .word 8389 + 0x7b, 0x14, //0x0000001a .word 5243 + 0x34, 0x33, //0x0000001c .word 13108 + 0x00, 0x80, //0x0000001e .word 32768 + //0x00000020 LCPI0_2 + 0x80, 0x00, //0x00000020 .word 128 + 0x00, 0x08, //0x00000022 .word 2048 + 0x00, 0x20, //0x00000024 .word 8192 + 0x00, 0x80, //0x00000026 .word 32768 + 0x80, 0x00, //0x00000028 .word 128 + 0x00, 0x08, //0x0000002a .word 2048 + 0x00, 0x20, //0x0000002c .word 8192 + 0x00, 0x80, //0x0000002e .word 32768 + //0x00000030 LCPI0_3 + 0x0a, 0x00, //0x00000030 .word 10 + 0x0a, 0x00, //0x00000032 .word 10 + 0x0a, 0x00, //0x00000034 .word 10 + 0x0a, 0x00, //0x00000036 .word 10 + 0x0a, 0x00, //0x00000038 .word 10 + 0x0a, 0x00, //0x0000003a .word 10 + 0x0a, 0x00, //0x0000003c .word 10 + 0x0a, 0x00, //0x0000003e .word 10 + //0x00000040 LCPI0_4 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, //0x00000040 QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + //0x00000050 .p2align 4, 0x90 + //0x00000050 _i64toa + 0x55, //0x00000050 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000051 movq %rsp, %rbp + 0x48, 0x85, 0xf6, //0x00000054 testq %rsi, %rsi + 0x0f, 0x88, 0xaf, 0x00, 0x00, 0x00, //0x00000057 js LBB0_25 + 0x48, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x0000005d cmpq $9999, %rsi + 0x0f, 0x87, 0xf8, 0x00, 0x00, 0x00, //0x00000064 ja LBB0_9 + 0x0f, 0xb7, 0xc6, //0x0000006a movzwl %si, %eax + 0xc1, 0xe8, 0x02, //0x0000006d shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000070 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000076 shrl $17, %eax + 0x48, 0x8d, 0x14, 0x00, //0x00000079 leaq (%rax,%rax), %rdx + 0x6b, 0xc0, 0x64, //0x0000007d imull $100, %eax, %eax + 0x89, 0xf1, //0x00000080 movl %esi, %ecx + 0x29, 0xc1, //0x00000082 subl %eax, %ecx + 0x0f, 0xb7, 0xc1, //0x00000084 movzwl %cx, %eax + 0x48, 0x01, 0xc0, //0x00000087 addq %rax, %rax + 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x0000008a cmpl $1000, %esi + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000090 jb LBB0_4 + 0x48, 0x8d, 0x0d, 0xd3, 0x08, 0x00, 0x00, //0x00000096 leaq $2259(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x0c, 0x0a, //0x0000009d movb (%rdx,%rcx), %cl + 0x88, 0x0f, //0x000000a0 movb %cl, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000000a2 movl $1, %ecx + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x000000a7 jmp LBB0_5 + //0x000000ac LBB0_4 + 0x31, 0xc9, //0x000000ac xorl %ecx, %ecx + 0x83, 0xfe, 0x64, //0x000000ae cmpl $100, %esi + 0x0f, 0x82, 0x45, 0x00, 0x00, 0x00, //0x000000b1 jb LBB0_6 + //0x000000b7 LBB0_5 + 0x0f, 0xb7, 0xd2, //0x000000b7 movzwl %dx, %edx + 0x48, 0x83, 0xca, 0x01, //0x000000ba orq $1, %rdx + 0x48, 0x8d, 0x35, 0xab, 0x08, 0x00, 0x00, //0x000000be leaq $2219(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x32, //0x000000c5 movb (%rdx,%rsi), %dl + 0x89, 0xce, //0x000000c8 movl %ecx, %esi + 0xff, 0xc1, //0x000000ca incl %ecx + 0x88, 0x14, 0x37, //0x000000cc movb %dl, (%rdi,%rsi) + //0x000000cf LBB0_7 + 0x48, 0x8d, 0x15, 0x9a, 0x08, 0x00, 0x00, //0x000000cf leaq $2202(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x10, //0x000000d6 movb (%rax,%rdx), %dl + 0x89, 0xce, //0x000000d9 movl %ecx, %esi + 0xff, 0xc1, //0x000000db incl %ecx + 0x88, 0x14, 0x37, //0x000000dd movb %dl, (%rdi,%rsi) + //0x000000e0 LBB0_8 + 0x0f, 0xb7, 0xc0, //0x000000e0 movzwl %ax, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000000e3 orq $1, %rax + 0x48, 0x8d, 0x15, 0x82, 0x08, 0x00, 0x00, //0x000000e7 leaq $2178(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x10, //0x000000ee movb (%rax,%rdx), %al + 0x89, 0xca, //0x000000f1 movl %ecx, %edx + 0xff, 0xc1, //0x000000f3 incl %ecx + 0x88, 0x04, 0x17, //0x000000f5 movb %al, (%rdi,%rdx) + 0x89, 0xc8, //0x000000f8 movl %ecx, %eax + 0x5d, //0x000000fa popq %rbp + 0xc3, //0x000000fb retq + //0x000000fc LBB0_6 + 0x31, 0xc9, //0x000000fc xorl %ecx, %ecx + 0x83, 0xfe, 0x0a, //0x000000fe cmpl $10, %esi + 0x0f, 0x83, 0xc8, 0xff, 0xff, 0xff, //0x00000101 jae LBB0_7 + 0xe9, 0xd4, 0xff, 0xff, 0xff, //0x00000107 jmp LBB0_8 + //0x0000010c LBB0_25 + 0xc6, 0x07, 0x2d, //0x0000010c movb $45, (%rdi) + 0x48, 0xf7, 0xde, //0x0000010f negq %rsi + 0x48, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x00000112 cmpq $9999, %rsi + 0x0f, 0x87, 0xd3, 0x01, 0x00, 0x00, //0x00000119 ja LBB0_33 + 0x0f, 0xb7, 0xc6, //0x0000011f movzwl %si, %eax + 0xc1, 0xe8, 0x02, //0x00000122 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000125 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x0000012b shrl $17, %eax + 0x48, 0x8d, 0x14, 0x00, //0x0000012e leaq (%rax,%rax), %rdx + 0x6b, 0xc0, 0x64, //0x00000132 imull $100, %eax, %eax + 0x89, 0xf1, //0x00000135 movl %esi, %ecx + 0x29, 0xc1, //0x00000137 subl %eax, %ecx + 0x0f, 0xb7, 0xc1, //0x00000139 movzwl %cx, %eax + 0x48, 0x01, 0xc0, //0x0000013c addq %rax, %rax + 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x0000013f cmpl $1000, %esi + 0x0f, 0x82, 0xab, 0x00, 0x00, 0x00, //0x00000145 jb LBB0_28 + 0x48, 0x8d, 0x0d, 0x1e, 0x08, 0x00, 0x00, //0x0000014b leaq $2078(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x0c, 0x0a, //0x00000152 movb (%rdx,%rcx), %cl + 0x88, 0x4f, 0x01, //0x00000155 movb %cl, $1(%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000158 movl $1, %ecx + 0xe9, 0x9f, 0x00, 0x00, 0x00, //0x0000015d jmp LBB0_29 + //0x00000162 LBB0_9 + 0x48, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x00000162 cmpq $99999999, %rsi + 0x0f, 0x87, 0x18, 0x02, 0x00, 0x00, //0x00000169 ja LBB0_17 + 0x89, 0xf0, //0x0000016f movl %esi, %eax + 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x00000171 movl $3518437209, %edx + 0x48, 0x0f, 0xaf, 0xd0, //0x00000176 imulq %rax, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x0000017a shrq $45, %rdx + 0x44, 0x69, 0xc2, 0x10, 0x27, 0x00, 0x00, //0x0000017e imull $10000, %edx, %r8d + 0x89, 0xf1, //0x00000185 movl %esi, %ecx + 0x44, 0x29, 0xc1, //0x00000187 subl %r8d, %ecx + 0x4c, 0x69, 0xd0, 0x83, 0xde, 0x1b, 0x43, //0x0000018a imulq $1125899907, %rax, %r10 + 0x49, 0xc1, 0xea, 0x31, //0x00000191 shrq $49, %r10 + 0x41, 0x83, 0xe2, 0xfe, //0x00000195 andl $-2, %r10d + 0x0f, 0xb7, 0xc2, //0x00000199 movzwl %dx, %eax + 0xc1, 0xe8, 0x02, //0x0000019c shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000019f imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x000001a5 shrl $17, %eax + 0x6b, 0xc0, 0x64, //0x000001a8 imull $100, %eax, %eax + 0x29, 0xc2, //0x000001ab subl %eax, %edx + 0x44, 0x0f, 0xb7, 0xca, //0x000001ad movzwl %dx, %r9d + 0x4d, 0x01, 0xc9, //0x000001b1 addq %r9, %r9 + 0x0f, 0xb7, 0xc1, //0x000001b4 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x000001b7 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000001ba imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x000001c0 shrl $17, %eax + 0x4c, 0x8d, 0x04, 0x00, //0x000001c3 leaq (%rax,%rax), %r8 + 0x6b, 0xc0, 0x64, //0x000001c7 imull $100, %eax, %eax + 0x29, 0xc1, //0x000001ca subl %eax, %ecx + 0x44, 0x0f, 0xb7, 0xd9, //0x000001cc movzwl %cx, %r11d + 0x4d, 0x01, 0xdb, //0x000001d0 addq %r11, %r11 + 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x000001d3 cmpl $10000000, %esi + 0x0f, 0x82, 0x6c, 0x00, 0x00, 0x00, //0x000001d9 jb LBB0_12 + 0x48, 0x8d, 0x05, 0x8a, 0x07, 0x00, 0x00, //0x000001df leaq $1930(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x02, //0x000001e6 movb (%r10,%rax), %al + 0x88, 0x07, //0x000001ea movb %al, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000001ec movl $1, %ecx + 0xe9, 0x63, 0x00, 0x00, 0x00, //0x000001f1 jmp LBB0_13 + //0x000001f6 LBB0_28 + 0x31, 0xc9, //0x000001f6 xorl %ecx, %ecx + 0x83, 0xfe, 0x64, //0x000001f8 cmpl $100, %esi + 0x0f, 0x82, 0xce, 0x00, 0x00, 0x00, //0x000001fb jb LBB0_30 + //0x00000201 LBB0_29 + 0x0f, 0xb7, 0xd2, //0x00000201 movzwl %dx, %edx + 0x48, 0x83, 0xca, 0x01, //0x00000204 orq $1, %rdx + 0x48, 0x8d, 0x35, 0x61, 0x07, 0x00, 0x00, //0x00000208 leaq $1889(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x32, //0x0000020f movb (%rdx,%rsi), %dl + 0x89, 0xce, //0x00000212 movl %ecx, %esi + 0xff, 0xc1, //0x00000214 incl %ecx + 0x88, 0x54, 0x37, 0x01, //0x00000216 movb %dl, $1(%rdi,%rsi) + //0x0000021a LBB0_31 + 0x48, 0x8d, 0x15, 0x4f, 0x07, 0x00, 0x00, //0x0000021a leaq $1871(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x10, //0x00000221 movb (%rax,%rdx), %dl + 0x89, 0xce, //0x00000224 movl %ecx, %esi + 0xff, 0xc1, //0x00000226 incl %ecx + 0x88, 0x54, 0x37, 0x01, //0x00000228 movb %dl, $1(%rdi,%rsi) + //0x0000022c LBB0_32 + 0x0f, 0xb7, 0xc0, //0x0000022c movzwl %ax, %eax + 0x48, 0x83, 0xc8, 0x01, //0x0000022f orq $1, %rax + 0x48, 0x8d, 0x15, 0x36, 0x07, 0x00, 0x00, //0x00000233 leaq $1846(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x10, //0x0000023a movb (%rax,%rdx), %al + 0x89, 0xca, //0x0000023d movl %ecx, %edx + 0xff, 0xc1, //0x0000023f incl %ecx + 0x88, 0x44, 0x17, 0x01, //0x00000241 movb %al, $1(%rdi,%rdx) + 0xff, 0xc1, //0x00000245 incl %ecx + 0x89, 0xc8, //0x00000247 movl %ecx, %eax + 0x5d, //0x00000249 popq %rbp + 0xc3, //0x0000024a retq + //0x0000024b LBB0_12 + 0x31, 0xc9, //0x0000024b xorl %ecx, %ecx + 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x0000024d cmpl $1000000, %esi + 0x0f, 0x82, 0x86, 0x00, 0x00, 0x00, //0x00000253 jb LBB0_14 + //0x00000259 LBB0_13 + 0x44, 0x89, 0xd0, //0x00000259 movl %r10d, %eax + 0x48, 0x83, 0xc8, 0x01, //0x0000025c orq $1, %rax + 0x48, 0x8d, 0x35, 0x09, 0x07, 0x00, 0x00, //0x00000260 leaq $1801(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x00000267 movb (%rax,%rsi), %al + 0x89, 0xce, //0x0000026a movl %ecx, %esi + 0xff, 0xc1, //0x0000026c incl %ecx + 0x88, 0x04, 0x37, //0x0000026e movb %al, (%rdi,%rsi) + //0x00000271 LBB0_15 + 0x48, 0x8d, 0x05, 0xf8, 0x06, 0x00, 0x00, //0x00000271 leaq $1784(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x01, //0x00000278 movb (%r9,%rax), %al + 0x89, 0xce, //0x0000027c movl %ecx, %esi + 0xff, 0xc1, //0x0000027e incl %ecx + 0x88, 0x04, 0x37, //0x00000280 movb %al, (%rdi,%rsi) + //0x00000283 LBB0_16 + 0x41, 0x0f, 0xb7, 0xc1, //0x00000283 movzwl %r9w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x00000287 orq $1, %rax + 0x48, 0x8d, 0x35, 0xde, 0x06, 0x00, 0x00, //0x0000028b leaq $1758(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x00000292 movb (%rax,%rsi), %al + 0x89, 0xca, //0x00000295 movl %ecx, %edx + 0x88, 0x04, 0x3a, //0x00000297 movb %al, (%rdx,%rdi) + 0x41, 0x8a, 0x04, 0x30, //0x0000029a movb (%r8,%rsi), %al + 0x88, 0x44, 0x3a, 0x01, //0x0000029e movb %al, $1(%rdx,%rdi) + 0x41, 0x0f, 0xb7, 0xc0, //0x000002a2 movzwl %r8w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000002a6 orq $1, %rax + 0x8a, 0x04, 0x30, //0x000002aa movb (%rax,%rsi), %al + 0x88, 0x44, 0x3a, 0x02, //0x000002ad movb %al, $2(%rdx,%rdi) + 0x41, 0x8a, 0x04, 0x33, //0x000002b1 movb (%r11,%rsi), %al + 0x88, 0x44, 0x3a, 0x03, //0x000002b5 movb %al, $3(%rdx,%rdi) + 0x41, 0x0f, 0xb7, 0xc3, //0x000002b9 movzwl %r11w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000002bd orq $1, %rax + 0x8a, 0x04, 0x30, //0x000002c1 movb (%rax,%rsi), %al + 0x83, 0xc1, 0x05, //0x000002c4 addl $5, %ecx + 0x88, 0x44, 0x3a, 0x04, //0x000002c7 movb %al, $4(%rdx,%rdi) + 0x89, 0xc8, //0x000002cb movl %ecx, %eax + 0x5d, //0x000002cd popq %rbp + 0xc3, //0x000002ce retq + //0x000002cf LBB0_30 + 0x31, 0xc9, //0x000002cf xorl %ecx, %ecx + 0x83, 0xfe, 0x0a, //0x000002d1 cmpl $10, %esi + 0x0f, 0x83, 0x40, 0xff, 0xff, 0xff, //0x000002d4 jae LBB0_31 + 0xe9, 0x4d, 0xff, 0xff, 0xff, //0x000002da jmp LBB0_32 + //0x000002df LBB0_14 + 0x31, 0xc9, //0x000002df xorl %ecx, %ecx + 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x000002e1 cmpl $100000, %esi + 0x0f, 0x83, 0x84, 0xff, 0xff, 0xff, //0x000002e7 jae LBB0_15 + 0xe9, 0x91, 0xff, 0xff, 0xff, //0x000002ed jmp LBB0_16 + //0x000002f2 LBB0_33 + 0x48, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x000002f2 cmpq $99999999, %rsi + 0x0f, 0x87, 0x4c, 0x02, 0x00, 0x00, //0x000002f9 ja LBB0_41 + 0x89, 0xf0, //0x000002ff movl %esi, %eax + 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x00000301 movl $3518437209, %edx + 0x48, 0x0f, 0xaf, 0xd0, //0x00000306 imulq %rax, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x0000030a shrq $45, %rdx + 0x44, 0x69, 0xc2, 0x10, 0x27, 0x00, 0x00, //0x0000030e imull $10000, %edx, %r8d + 0x89, 0xf1, //0x00000315 movl %esi, %ecx + 0x44, 0x29, 0xc1, //0x00000317 subl %r8d, %ecx + 0x4c, 0x69, 0xd0, 0x83, 0xde, 0x1b, 0x43, //0x0000031a imulq $1125899907, %rax, %r10 + 0x49, 0xc1, 0xea, 0x31, //0x00000321 shrq $49, %r10 + 0x41, 0x83, 0xe2, 0xfe, //0x00000325 andl $-2, %r10d + 0x0f, 0xb7, 0xc2, //0x00000329 movzwl %dx, %eax + 0xc1, 0xe8, 0x02, //0x0000032c shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000032f imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000335 shrl $17, %eax + 0x6b, 0xc0, 0x64, //0x00000338 imull $100, %eax, %eax + 0x29, 0xc2, //0x0000033b subl %eax, %edx + 0x44, 0x0f, 0xb7, 0xca, //0x0000033d movzwl %dx, %r9d + 0x4d, 0x01, 0xc9, //0x00000341 addq %r9, %r9 + 0x0f, 0xb7, 0xc1, //0x00000344 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x00000347 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000034a imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000350 shrl $17, %eax + 0x4c, 0x8d, 0x04, 0x00, //0x00000353 leaq (%rax,%rax), %r8 + 0x6b, 0xc0, 0x64, //0x00000357 imull $100, %eax, %eax + 0x29, 0xc1, //0x0000035a subl %eax, %ecx + 0x44, 0x0f, 0xb7, 0xd9, //0x0000035c movzwl %cx, %r11d + 0x4d, 0x01, 0xdb, //0x00000360 addq %r11, %r11 + 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x00000363 cmpl $10000000, %esi + 0x0f, 0x82, 0x40, 0x01, 0x00, 0x00, //0x00000369 jb LBB0_36 + 0x48, 0x8d, 0x05, 0xfa, 0x05, 0x00, 0x00, //0x0000036f leaq $1530(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x02, //0x00000376 movb (%r10,%rax), %al + 0x88, 0x47, 0x01, //0x0000037a movb %al, $1(%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000037d movl $1, %ecx + 0xe9, 0x36, 0x01, 0x00, 0x00, //0x00000382 jmp LBB0_37 + //0x00000387 LBB0_17 + 0x48, 0xb9, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x00000387 movabsq $10000000000000000, %rcx + 0x48, 0x39, 0xce, //0x00000391 cmpq %rcx, %rsi + 0x0f, 0x83, 0xdc, 0x02, 0x00, 0x00, //0x00000394 jae LBB0_19 + 0x48, 0xb9, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x0000039a movabsq $-6067343680855748867, %rcx + 0x48, 0x89, 0xf0, //0x000003a4 movq %rsi, %rax + 0x48, 0xf7, 0xe1, //0x000003a7 mulq %rcx + 0x48, 0xc1, 0xea, 0x1a, //0x000003aa shrq $26, %rdx + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x000003ae imull $100000000, %edx, %eax + 0x29, 0xc6, //0x000003b4 subl %eax, %esi + 0x66, 0x0f, 0x6e, 0xc2, //0x000003b6 movd %edx, %xmm0 + 0xf3, 0x0f, 0x6f, 0x0d, 0x3e, 0xfc, 0xff, 0xff, //0x000003ba movdqu $-962(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xd0, //0x000003c2 movdqa %xmm0, %xmm2 + 0x66, 0x0f, 0xf4, 0xd1, //0x000003c6 pmuludq %xmm1, %xmm2 + 0x66, 0x0f, 0x73, 0xd2, 0x2d, //0x000003ca psrlq $45, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x000003cf movl $10000, %eax + 0x66, 0x48, 0x0f, 0x6e, 0xd8, //0x000003d4 movq %rax, %xmm3 + 0x66, 0x0f, 0x6f, 0xe2, //0x000003d9 movdqa %xmm2, %xmm4 + 0x66, 0x0f, 0xf4, 0xe3, //0x000003dd pmuludq %xmm3, %xmm4 + 0x66, 0x0f, 0xfa, 0xc4, //0x000003e1 psubd %xmm4, %xmm0 + 0x66, 0x0f, 0x61, 0xd0, //0x000003e5 punpcklwd %xmm0, %xmm2 + 0x66, 0x0f, 0x73, 0xf2, 0x02, //0x000003e9 psllq $2, %xmm2 + 0xf2, 0x0f, 0x70, 0xc2, 0x50, //0x000003ee pshuflw $80, %xmm2, %xmm0 + 0x66, 0x0f, 0x70, 0xc0, 0x50, //0x000003f3 pshufd $80, %xmm0, %xmm0 + 0xf3, 0x0f, 0x6f, 0x15, 0x10, 0xfc, 0xff, 0xff, //0x000003f8 movdqu $-1008(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0x66, 0x0f, 0xe4, 0xc2, //0x00000400 pmulhuw %xmm2, %xmm0 + 0xf3, 0x0f, 0x6f, 0x25, 0x14, 0xfc, 0xff, 0xff, //0x00000404 movdqu $-1004(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0x66, 0x0f, 0xe4, 0xc4, //0x0000040c pmulhuw %xmm4, %xmm0 + 0xf3, 0x0f, 0x6f, 0x2d, 0x18, 0xfc, 0xff, 0xff, //0x00000410 movdqu $-1000(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xf0, //0x00000418 movdqa %xmm0, %xmm6 + 0x66, 0x0f, 0xd5, 0xf5, //0x0000041c pmullw %xmm5, %xmm6 + 0x66, 0x0f, 0x73, 0xf6, 0x10, //0x00000420 psllq $16, %xmm6 + 0x66, 0x0f, 0xf9, 0xc6, //0x00000425 psubw %xmm6, %xmm0 + 0x66, 0x0f, 0x6e, 0xf6, //0x00000429 movd %esi, %xmm6 + 0x66, 0x0f, 0xf4, 0xce, //0x0000042d pmuludq %xmm6, %xmm1 + 0x66, 0x0f, 0x73, 0xd1, 0x2d, //0x00000431 psrlq $45, %xmm1 + 0x66, 0x0f, 0xf4, 0xd9, //0x00000436 pmuludq %xmm1, %xmm3 + 0x66, 0x0f, 0xfa, 0xf3, //0x0000043a psubd %xmm3, %xmm6 + 0x66, 0x0f, 0x61, 0xce, //0x0000043e punpcklwd %xmm6, %xmm1 + 0x66, 0x0f, 0x73, 0xf1, 0x02, //0x00000442 psllq $2, %xmm1 + 0xf2, 0x0f, 0x70, 0xc9, 0x50, //0x00000447 pshuflw $80, %xmm1, %xmm1 + 0x66, 0x0f, 0x70, 0xc9, 0x50, //0x0000044c pshufd $80, %xmm1, %xmm1 + 0x66, 0x0f, 0xe4, 0xca, //0x00000451 pmulhuw %xmm2, %xmm1 + 0x66, 0x0f, 0xe4, 0xcc, //0x00000455 pmulhuw %xmm4, %xmm1 + 0x66, 0x0f, 0xd5, 0xe9, //0x00000459 pmullw %xmm1, %xmm5 + 0x66, 0x0f, 0x73, 0xf5, 0x10, //0x0000045d psllq $16, %xmm5 + 0x66, 0x0f, 0xf9, 0xcd, //0x00000462 psubw %xmm5, %xmm1 + 0x66, 0x0f, 0x67, 0xc1, //0x00000466 packuswb %xmm1, %xmm0 + 0xf3, 0x0f, 0x6f, 0x0d, 0xce, 0xfb, 0xff, 0xff, //0x0000046a movdqu $-1074(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0x66, 0x0f, 0xfc, 0xc8, //0x00000472 paddb %xmm0, %xmm1 + 0x66, 0x0f, 0xef, 0xd2, //0x00000476 pxor %xmm2, %xmm2 + 0x66, 0x0f, 0x74, 0xd0, //0x0000047a pcmpeqb %xmm0, %xmm2 + 0x66, 0x0f, 0xd7, 0xc2, //0x0000047e pmovmskb %xmm2, %eax + 0x0d, 0x00, 0x80, 0x00, 0x00, //0x00000482 orl $32768, %eax + 0x35, 0xff, 0x7f, 0xff, 0xff, //0x00000487 xorl $-32769, %eax + 0x0f, 0xbc, 0xc0, //0x0000048c bsfl %eax, %eax + 0xb9, 0x10, 0x00, 0x00, 0x00, //0x0000048f movl $16, %ecx + 0x29, 0xc1, //0x00000494 subl %eax, %ecx + 0x48, 0xc1, 0xe0, 0x04, //0x00000496 shlq $4, %rax + 0x48, 0x8d, 0x15, 0x9f, 0x05, 0x00, 0x00, //0x0000049a leaq $1439(%rip), %rdx /* _VecShiftShuffles+0(%rip) */ + 0x66, 0x0f, 0x38, 0x00, 0x0c, 0x10, //0x000004a1 pshufb (%rax,%rdx), %xmm1 + 0xf3, 0x0f, 0x7f, 0x0f, //0x000004a7 movdqu %xmm1, (%rdi) + 0x89, 0xc8, //0x000004ab movl %ecx, %eax + 0x5d, //0x000004ad popq %rbp + 0xc3, //0x000004ae retq + //0x000004af LBB0_36 + 0x31, 0xc9, //0x000004af xorl %ecx, %ecx + 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x000004b1 cmpl $1000000, %esi + 0x0f, 0x82, 0x7b, 0x00, 0x00, 0x00, //0x000004b7 jb LBB0_38 + //0x000004bd LBB0_37 + 0x44, 0x89, 0xd0, //0x000004bd movl %r10d, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000004c0 orq $1, %rax + 0x48, 0x8d, 0x35, 0xa5, 0x04, 0x00, 0x00, //0x000004c4 leaq $1189(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x000004cb movb (%rax,%rsi), %al + 0x89, 0xce, //0x000004ce movl %ecx, %esi + 0xff, 0xc1, //0x000004d0 incl %ecx + 0x88, 0x44, 0x37, 0x01, //0x000004d2 movb %al, $1(%rdi,%rsi) + //0x000004d6 LBB0_39 + 0x48, 0x8d, 0x05, 0x93, 0x04, 0x00, 0x00, //0x000004d6 leaq $1171(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x01, //0x000004dd movb (%r9,%rax), %al + 0x89, 0xce, //0x000004e1 movl %ecx, %esi + 0xff, 0xc1, //0x000004e3 incl %ecx + 0x88, 0x44, 0x37, 0x01, //0x000004e5 movb %al, $1(%rdi,%rsi) + //0x000004e9 LBB0_40 + 0x41, 0x0f, 0xb7, 0xc1, //0x000004e9 movzwl %r9w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000004ed orq $1, %rax + 0x48, 0x8d, 0x35, 0x78, 0x04, 0x00, 0x00, //0x000004f1 leaq $1144(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x000004f8 movb (%rax,%rsi), %al + 0x89, 0xca, //0x000004fb movl %ecx, %edx + 0x88, 0x44, 0x17, 0x01, //0x000004fd movb %al, $1(%rdi,%rdx) + 0x41, 0x8a, 0x04, 0x30, //0x00000501 movb (%r8,%rsi), %al + 0x88, 0x44, 0x17, 0x02, //0x00000505 movb %al, $2(%rdi,%rdx) + 0x41, 0x0f, 0xb7, 0xc0, //0x00000509 movzwl %r8w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x0000050d orq $1, %rax + 0x8a, 0x04, 0x30, //0x00000511 movb (%rax,%rsi), %al + 0x88, 0x44, 0x17, 0x03, //0x00000514 movb %al, $3(%rdi,%rdx) + 0x41, 0x8a, 0x04, 0x33, //0x00000518 movb (%r11,%rsi), %al + 0x88, 0x44, 0x17, 0x04, //0x0000051c movb %al, $4(%rdi,%rdx) + 0x41, 0x0f, 0xb7, 0xc3, //0x00000520 movzwl %r11w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x00000524 orq $1, %rax + 0x8a, 0x04, 0x30, //0x00000528 movb (%rax,%rsi), %al + 0x83, 0xc1, 0x05, //0x0000052b addl $5, %ecx + 0x88, 0x44, 0x17, 0x05, //0x0000052e movb %al, $5(%rdi,%rdx) + 0xff, 0xc1, //0x00000532 incl %ecx + 0x89, 0xc8, //0x00000534 movl %ecx, %eax + 0x5d, //0x00000536 popq %rbp + 0xc3, //0x00000537 retq + //0x00000538 LBB0_38 + 0x31, 0xc9, //0x00000538 xorl %ecx, %ecx + 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x0000053a cmpl $100000, %esi + 0x0f, 0x83, 0x90, 0xff, 0xff, 0xff, //0x00000540 jae LBB0_39 + 0xe9, 0x9e, 0xff, 0xff, 0xff, //0x00000546 jmp LBB0_40 + //0x0000054b LBB0_41 + 0x48, 0xb9, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x0000054b movabsq $10000000000000000, %rcx + 0x48, 0x39, 0xce, //0x00000555 cmpq %rcx, %rsi + 0x0f, 0x83, 0x8d, 0x02, 0x00, 0x00, //0x00000558 jae LBB0_43 + 0x48, 0xb9, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x0000055e movabsq $-6067343680855748867, %rcx + 0x48, 0x89, 0xf0, //0x00000568 movq %rsi, %rax + 0x48, 0xf7, 0xe1, //0x0000056b mulq %rcx + 0x48, 0xc1, 0xea, 0x1a, //0x0000056e shrq $26, %rdx + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x00000572 imull $100000000, %edx, %eax + 0x29, 0xc6, //0x00000578 subl %eax, %esi + 0x66, 0x0f, 0x6e, 0xc2, //0x0000057a movd %edx, %xmm0 + 0xf3, 0x0f, 0x6f, 0x0d, 0x7a, 0xfa, 0xff, 0xff, //0x0000057e movdqu $-1414(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xd0, //0x00000586 movdqa %xmm0, %xmm2 + 0x66, 0x0f, 0xf4, 0xd1, //0x0000058a pmuludq %xmm1, %xmm2 + 0x66, 0x0f, 0x73, 0xd2, 0x2d, //0x0000058e psrlq $45, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x00000593 movl $10000, %eax + 0x66, 0x48, 0x0f, 0x6e, 0xd8, //0x00000598 movq %rax, %xmm3 + 0x66, 0x0f, 0x6f, 0xe2, //0x0000059d movdqa %xmm2, %xmm4 + 0x66, 0x0f, 0xf4, 0xe3, //0x000005a1 pmuludq %xmm3, %xmm4 + 0x66, 0x0f, 0xfa, 0xc4, //0x000005a5 psubd %xmm4, %xmm0 + 0x66, 0x0f, 0x61, 0xd0, //0x000005a9 punpcklwd %xmm0, %xmm2 + 0x66, 0x0f, 0x73, 0xf2, 0x02, //0x000005ad psllq $2, %xmm2 + 0xf2, 0x0f, 0x70, 0xc2, 0x50, //0x000005b2 pshuflw $80, %xmm2, %xmm0 + 0x66, 0x0f, 0x70, 0xc0, 0x50, //0x000005b7 pshufd $80, %xmm0, %xmm0 + 0xf3, 0x0f, 0x6f, 0x15, 0x4c, 0xfa, 0xff, 0xff, //0x000005bc movdqu $-1460(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0x66, 0x0f, 0xe4, 0xc2, //0x000005c4 pmulhuw %xmm2, %xmm0 + 0xf3, 0x0f, 0x6f, 0x25, 0x50, 0xfa, 0xff, 0xff, //0x000005c8 movdqu $-1456(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0x66, 0x0f, 0xe4, 0xc4, //0x000005d0 pmulhuw %xmm4, %xmm0 + 0xf3, 0x0f, 0x6f, 0x2d, 0x54, 0xfa, 0xff, 0xff, //0x000005d4 movdqu $-1452(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xf0, //0x000005dc movdqa %xmm0, %xmm6 + 0x66, 0x0f, 0xd5, 0xf5, //0x000005e0 pmullw %xmm5, %xmm6 + 0x66, 0x0f, 0x73, 0xf6, 0x10, //0x000005e4 psllq $16, %xmm6 + 0x66, 0x0f, 0xf9, 0xc6, //0x000005e9 psubw %xmm6, %xmm0 + 0x66, 0x0f, 0x6e, 0xf6, //0x000005ed movd %esi, %xmm6 + 0x66, 0x0f, 0xf4, 0xce, //0x000005f1 pmuludq %xmm6, %xmm1 + 0x66, 0x0f, 0x73, 0xd1, 0x2d, //0x000005f5 psrlq $45, %xmm1 + 0x66, 0x0f, 0xf4, 0xd9, //0x000005fa pmuludq %xmm1, %xmm3 + 0x66, 0x0f, 0xfa, 0xf3, //0x000005fe psubd %xmm3, %xmm6 + 0x66, 0x0f, 0x61, 0xce, //0x00000602 punpcklwd %xmm6, %xmm1 + 0x66, 0x0f, 0x73, 0xf1, 0x02, //0x00000606 psllq $2, %xmm1 + 0xf2, 0x0f, 0x70, 0xc9, 0x50, //0x0000060b pshuflw $80, %xmm1, %xmm1 + 0x66, 0x0f, 0x70, 0xc9, 0x50, //0x00000610 pshufd $80, %xmm1, %xmm1 + 0x66, 0x0f, 0xe4, 0xca, //0x00000615 pmulhuw %xmm2, %xmm1 + 0x66, 0x0f, 0xe4, 0xcc, //0x00000619 pmulhuw %xmm4, %xmm1 + 0x66, 0x0f, 0xd5, 0xe9, //0x0000061d pmullw %xmm1, %xmm5 + 0x66, 0x0f, 0x73, 0xf5, 0x10, //0x00000621 psllq $16, %xmm5 + 0x66, 0x0f, 0xf9, 0xcd, //0x00000626 psubw %xmm5, %xmm1 + 0x66, 0x0f, 0x67, 0xc1, //0x0000062a packuswb %xmm1, %xmm0 + 0xf3, 0x0f, 0x6f, 0x0d, 0x0a, 0xfa, 0xff, 0xff, //0x0000062e movdqu $-1526(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0x66, 0x0f, 0xfc, 0xc8, //0x00000636 paddb %xmm0, %xmm1 + 0x66, 0x0f, 0xef, 0xd2, //0x0000063a pxor %xmm2, %xmm2 + 0x66, 0x0f, 0x74, 0xd0, //0x0000063e pcmpeqb %xmm0, %xmm2 + 0x66, 0x0f, 0xd7, 0xc2, //0x00000642 pmovmskb %xmm2, %eax + 0x0d, 0x00, 0x80, 0x00, 0x00, //0x00000646 orl $32768, %eax + 0x35, 0xff, 0x7f, 0xff, 0xff, //0x0000064b xorl $-32769, %eax + 0x0f, 0xbc, 0xc0, //0x00000650 bsfl %eax, %eax + 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00000653 movl $16, %ecx + 0x29, 0xc1, //0x00000658 subl %eax, %ecx + 0x48, 0xc1, 0xe0, 0x04, //0x0000065a shlq $4, %rax + 0x48, 0x8d, 0x15, 0xdb, 0x03, 0x00, 0x00, //0x0000065e leaq $987(%rip), %rdx /* _VecShiftShuffles+0(%rip) */ + 0x66, 0x0f, 0x38, 0x00, 0x0c, 0x10, //0x00000665 pshufb (%rax,%rdx), %xmm1 + 0xf3, 0x0f, 0x7f, 0x4f, 0x01, //0x0000066b movdqu %xmm1, $1(%rdi) + 0xff, 0xc1, //0x00000670 incl %ecx + 0x89, 0xc8, //0x00000672 movl %ecx, %eax + 0x5d, //0x00000674 popq %rbp + 0xc3, //0x00000675 retq + //0x00000676 LBB0_19 + 0x48, 0xba, 0x57, 0x78, 0x13, 0xb1, 0x2f, 0x65, 0xa5, 0x39, //0x00000676 movabsq $4153837486827862103, %rdx + 0x48, 0x89, 0xf0, //0x00000680 movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x00000683 mulq %rdx + 0x48, 0xc1, 0xea, 0x33, //0x00000686 shrq $51, %rdx + 0x48, 0x0f, 0xaf, 0xca, //0x0000068a imulq %rdx, %rcx + 0x48, 0x29, 0xce, //0x0000068e subq %rcx, %rsi + 0x83, 0xfa, 0x09, //0x00000691 cmpl $9, %edx + 0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x00000694 ja LBB0_21 + 0x80, 0xc2, 0x30, //0x0000069a addb $48, %dl + 0x88, 0x17, //0x0000069d movb %dl, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000069f movl $1, %ecx + 0xe9, 0x5c, 0x00, 0x00, 0x00, //0x000006a4 jmp LBB0_24 + //0x000006a9 LBB0_21 + 0x83, 0xfa, 0x63, //0x000006a9 cmpl $99, %edx + 0x0f, 0x87, 0x1f, 0x00, 0x00, 0x00, //0x000006ac ja LBB0_23 + 0x89, 0xd0, //0x000006b2 movl %edx, %eax + 0x48, 0x8d, 0x0d, 0xb5, 0x02, 0x00, 0x00, //0x000006b4 leaq $693(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x000006bb movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x000006be movb $1(%rcx,%rax,2), %al + 0x88, 0x17, //0x000006c2 movb %dl, (%rdi) + 0x88, 0x47, 0x01, //0x000006c4 movb %al, $1(%rdi) + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x000006c7 movl $2, %ecx + 0xe9, 0x34, 0x00, 0x00, 0x00, //0x000006cc jmp LBB0_24 + //0x000006d1 LBB0_23 + 0x89, 0xd0, //0x000006d1 movl %edx, %eax + 0xc1, 0xe8, 0x02, //0x000006d3 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000006d6 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x000006dc shrl $17, %eax + 0x8d, 0x48, 0x30, //0x000006df leal $48(%rax), %ecx + 0x88, 0x0f, //0x000006e2 movb %cl, (%rdi) + 0x6b, 0xc0, 0x64, //0x000006e4 imull $100, %eax, %eax + 0x29, 0xc2, //0x000006e7 subl %eax, %edx + 0x0f, 0xb7, 0xc2, //0x000006e9 movzwl %dx, %eax + 0x48, 0x8d, 0x0d, 0x7d, 0x02, 0x00, 0x00, //0x000006ec leaq $637(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x000006f3 movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x000006f6 movb $1(%rcx,%rax,2), %al + 0x88, 0x57, 0x01, //0x000006fa movb %dl, $1(%rdi) + 0x88, 0x47, 0x02, //0x000006fd movb %al, $2(%rdi) + 0xb9, 0x03, 0x00, 0x00, 0x00, //0x00000700 movl $3, %ecx + //0x00000705 LBB0_24 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000705 movabsq $-6067343680855748867, %rdx + 0x48, 0x89, 0xf0, //0x0000070f movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x00000712 mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x00000715 shrq $26, %rdx + 0x66, 0x0f, 0x6e, 0xc2, //0x00000719 movd %edx, %xmm0 + 0xf3, 0x0f, 0x6f, 0x0d, 0xdb, 0xf8, 0xff, 0xff, //0x0000071d movdqu $-1829(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xd8, //0x00000725 movdqa %xmm0, %xmm3 + 0x66, 0x0f, 0xf4, 0xd9, //0x00000729 pmuludq %xmm1, %xmm3 + 0x66, 0x0f, 0x73, 0xd3, 0x2d, //0x0000072d psrlq $45, %xmm3 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x00000732 movl $10000, %eax + 0x66, 0x48, 0x0f, 0x6e, 0xd0, //0x00000737 movq %rax, %xmm2 + 0x66, 0x0f, 0x6f, 0xe3, //0x0000073c movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0xf4, 0xe2, //0x00000740 pmuludq %xmm2, %xmm4 + 0x66, 0x0f, 0xfa, 0xc4, //0x00000744 psubd %xmm4, %xmm0 + 0x66, 0x0f, 0x61, 0xd8, //0x00000748 punpcklwd %xmm0, %xmm3 + 0x66, 0x0f, 0x73, 0xf3, 0x02, //0x0000074c psllq $2, %xmm3 + 0xf2, 0x0f, 0x70, 0xc3, 0x50, //0x00000751 pshuflw $80, %xmm3, %xmm0 + 0x66, 0x0f, 0x70, 0xc0, 0x50, //0x00000756 pshufd $80, %xmm0, %xmm0 + 0xf3, 0x0f, 0x6f, 0x25, 0xad, 0xf8, 0xff, 0xff, //0x0000075b movdqu $-1875(%rip), %xmm4 /* LCPI0_1+0(%rip) */ + 0x66, 0x0f, 0xe4, 0xc4, //0x00000763 pmulhuw %xmm4, %xmm0 + 0xf3, 0x0f, 0x6f, 0x2d, 0xb1, 0xf8, 0xff, 0xff, //0x00000767 movdqu $-1871(%rip), %xmm5 /* LCPI0_2+0(%rip) */ + 0x66, 0x0f, 0xe4, 0xc5, //0x0000076f pmulhuw %xmm5, %xmm0 + 0xf3, 0x0f, 0x6f, 0x1d, 0xb5, 0xf8, 0xff, 0xff, //0x00000773 movdqu $-1867(%rip), %xmm3 /* LCPI0_3+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xf0, //0x0000077b movdqa %xmm0, %xmm6 + 0x66, 0x0f, 0xd5, 0xf3, //0x0000077f pmullw %xmm3, %xmm6 + 0x66, 0x0f, 0x73, 0xf6, 0x10, //0x00000783 psllq $16, %xmm6 + 0x66, 0x0f, 0xf9, 0xc6, //0x00000788 psubw %xmm6, %xmm0 + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x0000078c imull $100000000, %edx, %eax + 0x29, 0xc6, //0x00000792 subl %eax, %esi + 0x66, 0x0f, 0x6e, 0xf6, //0x00000794 movd %esi, %xmm6 + 0x66, 0x0f, 0xf4, 0xce, //0x00000798 pmuludq %xmm6, %xmm1 + 0x66, 0x0f, 0x73, 0xd1, 0x2d, //0x0000079c psrlq $45, %xmm1 + 0x66, 0x0f, 0xf4, 0xd1, //0x000007a1 pmuludq %xmm1, %xmm2 + 0x66, 0x0f, 0xfa, 0xf2, //0x000007a5 psubd %xmm2, %xmm6 + 0x66, 0x0f, 0x61, 0xce, //0x000007a9 punpcklwd %xmm6, %xmm1 + 0x66, 0x0f, 0x73, 0xf1, 0x02, //0x000007ad psllq $2, %xmm1 + 0xf2, 0x0f, 0x70, 0xc9, 0x50, //0x000007b2 pshuflw $80, %xmm1, %xmm1 + 0x66, 0x0f, 0x70, 0xc9, 0x50, //0x000007b7 pshufd $80, %xmm1, %xmm1 + 0x66, 0x0f, 0xe4, 0xcc, //0x000007bc pmulhuw %xmm4, %xmm1 + 0x66, 0x0f, 0xe4, 0xcd, //0x000007c0 pmulhuw %xmm5, %xmm1 + 0x66, 0x0f, 0xd5, 0xd9, //0x000007c4 pmullw %xmm1, %xmm3 + 0x66, 0x0f, 0x73, 0xf3, 0x10, //0x000007c8 psllq $16, %xmm3 + 0x66, 0x0f, 0xf9, 0xcb, //0x000007cd psubw %xmm3, %xmm1 + 0x66, 0x0f, 0x67, 0xc1, //0x000007d1 packuswb %xmm1, %xmm0 + 0x66, 0x0f, 0xfc, 0x05, 0x63, 0xf8, 0xff, 0xff, //0x000007d5 paddb $-1949(%rip), %xmm0 /* LCPI0_4+0(%rip) */ + 0x89, 0xc8, //0x000007dd movl %ecx, %eax + 0xf3, 0x0f, 0x7f, 0x04, 0x07, //0x000007df movdqu %xmm0, (%rdi,%rax) + 0x83, 0xc9, 0x10, //0x000007e4 orl $16, %ecx + 0x89, 0xc8, //0x000007e7 movl %ecx, %eax + 0x5d, //0x000007e9 popq %rbp + 0xc3, //0x000007ea retq + //0x000007eb LBB0_43 + 0x48, 0xba, 0x57, 0x78, 0x13, 0xb1, 0x2f, 0x65, 0xa5, 0x39, //0x000007eb movabsq $4153837486827862103, %rdx + 0x48, 0x89, 0xf0, //0x000007f5 movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x000007f8 mulq %rdx + 0x48, 0xc1, 0xea, 0x33, //0x000007fb shrq $51, %rdx + 0x48, 0x0f, 0xaf, 0xca, //0x000007ff imulq %rdx, %rcx + 0x48, 0x29, 0xce, //0x00000803 subq %rcx, %rsi + 0x83, 0xfa, 0x09, //0x00000806 cmpl $9, %edx + 0x0f, 0x87, 0x10, 0x00, 0x00, 0x00, //0x00000809 ja LBB0_45 + 0x80, 0xc2, 0x30, //0x0000080f addb $48, %dl + 0x88, 0x57, 0x01, //0x00000812 movb %dl, $1(%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000815 movl $1, %ecx + 0xe9, 0x5e, 0x00, 0x00, 0x00, //0x0000081a jmp LBB0_48 + //0x0000081f LBB0_45 + 0x83, 0xfa, 0x63, //0x0000081f cmpl $99, %edx + 0x0f, 0x87, 0x20, 0x00, 0x00, 0x00, //0x00000822 ja LBB0_47 + 0x89, 0xd0, //0x00000828 movl %edx, %eax + 0x48, 0x8d, 0x0d, 0x3f, 0x01, 0x00, 0x00, //0x0000082a leaq $319(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x00000831 movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x00000834 movb $1(%rcx,%rax,2), %al + 0x88, 0x57, 0x01, //0x00000838 movb %dl, $1(%rdi) + 0x88, 0x47, 0x02, //0x0000083b movb %al, $2(%rdi) + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x0000083e movl $2, %ecx + 0xe9, 0x35, 0x00, 0x00, 0x00, //0x00000843 jmp LBB0_48 + //0x00000848 LBB0_47 + 0x89, 0xd0, //0x00000848 movl %edx, %eax + 0xc1, 0xe8, 0x02, //0x0000084a shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000084d imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000853 shrl $17, %eax + 0x8d, 0x48, 0x30, //0x00000856 leal $48(%rax), %ecx + 0x88, 0x4f, 0x01, //0x00000859 movb %cl, $1(%rdi) + 0x6b, 0xc0, 0x64, //0x0000085c imull $100, %eax, %eax + 0x29, 0xc2, //0x0000085f subl %eax, %edx + 0x0f, 0xb7, 0xc2, //0x00000861 movzwl %dx, %eax + 0x48, 0x8d, 0x0d, 0x05, 0x01, 0x00, 0x00, //0x00000864 leaq $261(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x0000086b movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x0000086e movb $1(%rcx,%rax,2), %al + 0x88, 0x57, 0x02, //0x00000872 movb %dl, $2(%rdi) + 0x88, 0x47, 0x03, //0x00000875 movb %al, $3(%rdi) + 0xb9, 0x03, 0x00, 0x00, 0x00, //0x00000878 movl $3, %ecx + //0x0000087d LBB0_48 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x0000087d movabsq $-6067343680855748867, %rdx + 0x48, 0x89, 0xf0, //0x00000887 movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x0000088a mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x0000088d shrq $26, %rdx + 0x66, 0x0f, 0x6e, 0xc2, //0x00000891 movd %edx, %xmm0 + 0xf3, 0x0f, 0x6f, 0x0d, 0x63, 0xf7, 0xff, 0xff, //0x00000895 movdqu $-2205(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xd8, //0x0000089d movdqa %xmm0, %xmm3 + 0x66, 0x0f, 0xf4, 0xd9, //0x000008a1 pmuludq %xmm1, %xmm3 + 0x66, 0x0f, 0x73, 0xd3, 0x2d, //0x000008a5 psrlq $45, %xmm3 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x000008aa movl $10000, %eax + 0x66, 0x48, 0x0f, 0x6e, 0xd0, //0x000008af movq %rax, %xmm2 + 0x66, 0x0f, 0x6f, 0xe3, //0x000008b4 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0xf4, 0xe2, //0x000008b8 pmuludq %xmm2, %xmm4 + 0x66, 0x0f, 0xfa, 0xc4, //0x000008bc psubd %xmm4, %xmm0 + 0x66, 0x0f, 0x61, 0xd8, //0x000008c0 punpcklwd %xmm0, %xmm3 + 0x66, 0x0f, 0x73, 0xf3, 0x02, //0x000008c4 psllq $2, %xmm3 + 0xf2, 0x0f, 0x70, 0xc3, 0x50, //0x000008c9 pshuflw $80, %xmm3, %xmm0 + 0x66, 0x0f, 0x70, 0xc0, 0x50, //0x000008ce pshufd $80, %xmm0, %xmm0 + 0xf3, 0x0f, 0x6f, 0x25, 0x35, 0xf7, 0xff, 0xff, //0x000008d3 movdqu $-2251(%rip), %xmm4 /* LCPI0_1+0(%rip) */ + 0x66, 0x0f, 0xe4, 0xc4, //0x000008db pmulhuw %xmm4, %xmm0 + 0xf3, 0x0f, 0x6f, 0x2d, 0x39, 0xf7, 0xff, 0xff, //0x000008df movdqu $-2247(%rip), %xmm5 /* LCPI0_2+0(%rip) */ + 0x66, 0x0f, 0xe4, 0xc5, //0x000008e7 pmulhuw %xmm5, %xmm0 + 0xf3, 0x0f, 0x6f, 0x1d, 0x3d, 0xf7, 0xff, 0xff, //0x000008eb movdqu $-2243(%rip), %xmm3 /* LCPI0_3+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xf0, //0x000008f3 movdqa %xmm0, %xmm6 + 0x66, 0x0f, 0xd5, 0xf3, //0x000008f7 pmullw %xmm3, %xmm6 + 0x66, 0x0f, 0x73, 0xf6, 0x10, //0x000008fb psllq $16, %xmm6 + 0x66, 0x0f, 0xf9, 0xc6, //0x00000900 psubw %xmm6, %xmm0 + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x00000904 imull $100000000, %edx, %eax + 0x29, 0xc6, //0x0000090a subl %eax, %esi + 0x66, 0x0f, 0x6e, 0xf6, //0x0000090c movd %esi, %xmm6 + 0x66, 0x0f, 0xf4, 0xce, //0x00000910 pmuludq %xmm6, %xmm1 + 0x66, 0x0f, 0x73, 0xd1, 0x2d, //0x00000914 psrlq $45, %xmm1 + 0x66, 0x0f, 0xf4, 0xd1, //0x00000919 pmuludq %xmm1, %xmm2 + 0x66, 0x0f, 0xfa, 0xf2, //0x0000091d psubd %xmm2, %xmm6 + 0x66, 0x0f, 0x61, 0xce, //0x00000921 punpcklwd %xmm6, %xmm1 + 0x66, 0x0f, 0x73, 0xf1, 0x02, //0x00000925 psllq $2, %xmm1 + 0xf2, 0x0f, 0x70, 0xc9, 0x50, //0x0000092a pshuflw $80, %xmm1, %xmm1 + 0x66, 0x0f, 0x70, 0xc9, 0x50, //0x0000092f pshufd $80, %xmm1, %xmm1 + 0x66, 0x0f, 0xe4, 0xcc, //0x00000934 pmulhuw %xmm4, %xmm1 + 0x66, 0x0f, 0xe4, 0xcd, //0x00000938 pmulhuw %xmm5, %xmm1 + 0x66, 0x0f, 0xd5, 0xd9, //0x0000093c pmullw %xmm1, %xmm3 + 0x66, 0x0f, 0x73, 0xf3, 0x10, //0x00000940 psllq $16, %xmm3 + 0x66, 0x0f, 0xf9, 0xcb, //0x00000945 psubw %xmm3, %xmm1 + 0x66, 0x0f, 0x67, 0xc1, //0x00000949 packuswb %xmm1, %xmm0 + 0x66, 0x0f, 0xfc, 0x05, 0xeb, 0xf6, 0xff, 0xff, //0x0000094d paddb $-2325(%rip), %xmm0 /* LCPI0_4+0(%rip) */ + 0x89, 0xc8, //0x00000955 movl %ecx, %eax + 0xf3, 0x0f, 0x7f, 0x44, 0x07, 0x01, //0x00000957 movdqu %xmm0, $1(%rdi,%rax) + 0x83, 0xc9, 0x10, //0x0000095d orl $16, %ecx + 0xff, 0xc1, //0x00000960 incl %ecx + 0x89, 0xc8, //0x00000962 movl %ecx, %eax + 0x5d, //0x00000964 popq %rbp + 0xc3, //0x00000965 retq + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000966 .p2align 4, 0x00 + //0x00000970 _Digits + 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00000970 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' + 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00000980 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' + 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x00000990 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' + 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x000009a0 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' + 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x000009b0 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' + 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x000009c0 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' + 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x000009d0 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' + 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x000009e0 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' + 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x000009f0 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' + 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x00000a00 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' + 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x00000a10 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' + 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x00000a20 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' + 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x00000a30 QUAD $0x3939383937393639 // .ascii 8, '96979899' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a38 .p2align 4, 0x00 + //0x00000a40 _VecShiftShuffles + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, //0x00000a40 QUAD $0x0706050403020100; QUAD $0x0f0e0d0c0b0a0908 // .ascii 16, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, //0x00000a50 QUAD $0x0807060504030201; QUAD $0xff0f0e0d0c0b0a09 // .ascii 16, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' + 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, //0x00000a60 QUAD $0x0908070605040302; QUAD $0xffff0f0e0d0c0b0a // .ascii 16, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' + 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, //0x00000a70 QUAD $0x0a09080706050403; QUAD $0xffffff0f0e0d0c0b // .ascii 16, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, //0x00000a80 QUAD $0x0b0a090807060504; QUAD $0xffffffff0f0e0d0c // .ascii 16, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' + 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000a90 QUAD $0x0c0b0a0908070605; QUAD $0xffffffffff0f0e0d // .ascii 16, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff' + 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000aa0 QUAD $0x0d0c0b0a09080706; QUAD $0xffffffffffff0f0e // .ascii 16, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff' + 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000ab0 QUAD $0x0e0d0c0b0a090807; QUAD $0xffffffffffffff0f // .ascii 16, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff' + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000ac0 QUAD $0x0f0e0d0c0b0a0908; QUAD $0xffffffffffffffff // .ascii 16, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/lspace.go b/vendor/github.com/bytedance/sonic/internal/native/sse/lspace.go new file mode 100644 index 0000000..d0067ed --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/lspace.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_lspace func(sp unsafe.Pointer, nb int, off int) (ret int) + +var S_lspace uintptr + +//go:nosplit +func lspace(sp *byte, nb int, off int) (ret int) { + return F_lspace(rt.NoEscape(unsafe.Pointer(sp)), nb, off) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/lspace_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/lspace_subr.go new file mode 100644 index 0000000..eccbc9e --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/lspace_subr.go @@ -0,0 +1,37 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__lspace = 0 +) + +const ( + _stack__lspace = 8 +) + +const ( + _size__lspace = 113 +) + +var ( + _pcsp__lspace = [][2]uint32{ + {1, 0}, + {89, 8}, + {90, 0}, + {103, 8}, + {104, 0}, + {111, 8}, + {112, 0}, + } +) + +var _cfunc_lspace = []loader.CFunc{ + {"_lspace_entry", 0, _entry__lspace, 0, nil}, + {"_lspace", _entry__lspace, _size__lspace, _stack__lspace, _pcsp__lspace}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/lspace_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/lspace_text_amd64.go new file mode 100644 index 0000000..b75db13 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/lspace_text_amd64.go @@ -0,0 +1,44 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_lspace = []byte{ + // .p2align 4, 0x90 + // _lspace + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x48, 0x39, 0xd6, //0x00000004 cmpq %rdx, %rsi + 0x0f, 0x84, 0x4e, 0x00, 0x00, 0x00, //0x00000007 je LBB0_1 + 0x4c, 0x8d, 0x04, 0x37, //0x0000000d leaq (%rdi,%rsi), %r8 + 0x48, 0x8d, 0x44, 0x3a, 0x01, //0x00000011 leaq $1(%rdx,%rdi), %rax + 0x48, 0x29, 0xf2, //0x00000016 subq %rsi, %rdx + 0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000019 movabsq $4294977024, %rsi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000023 .p2align 4, 0x90 + //0x00000030 LBB0_3 + 0x0f, 0xbe, 0x48, 0xff, //0x00000030 movsbl $-1(%rax), %ecx + 0x83, 0xf9, 0x20, //0x00000034 cmpl $32, %ecx + 0x0f, 0x87, 0x2c, 0x00, 0x00, 0x00, //0x00000037 ja LBB0_5 + 0x48, 0x0f, 0xa3, 0xce, //0x0000003d btq %rcx, %rsi + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000041 jae LBB0_5 + 0x48, 0xff, 0xc0, //0x00000047 incq %rax + 0x48, 0xff, 0xc2, //0x0000004a incq %rdx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x0000004d jne LBB0_3 + 0x49, 0x29, 0xf8, //0x00000053 subq %rdi, %r8 + 0x4c, 0x89, 0xc0, //0x00000056 movq %r8, %rax + 0x5d, //0x00000059 popq %rbp + 0xc3, //0x0000005a retq + //0x0000005b LBB0_1 + 0x48, 0x01, 0xfa, //0x0000005b addq %rdi, %rdx + 0x49, 0x89, 0xd0, //0x0000005e movq %rdx, %r8 + 0x49, 0x29, 0xf8, //0x00000061 subq %rdi, %r8 + 0x4c, 0x89, 0xc0, //0x00000064 movq %r8, %rax + 0x5d, //0x00000067 popq %rbp + 0xc3, //0x00000068 retq + //0x00000069 LBB0_5 + 0x48, 0xf7, 0xd7, //0x00000069 notq %rdi + 0x48, 0x01, 0xf8, //0x0000006c addq %rdi, %rax + 0x5d, //0x0000006f popq %rbp + 0xc3, //0x00000070 retq +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/native_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/native_amd64.go deleted file mode 100644 index cb30a0e..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/sse/native_amd64.go +++ /dev/null @@ -1,135 +0,0 @@ -// Code generated by Makefile, DO NOT EDIT. - -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package sse - -import ( - `unsafe` - - `github.com/bytedance/sonic/internal/native/types` -) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __i64toa(out *byte, val int64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __u64toa(out *byte, val uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __f64toa(out *byte, val float64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __f32toa(out *byte, val float32) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __lspace(sp unsafe.Pointer, nb int, off int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __html_escape(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vstring(s *string, p *int, v *types.JsonState, flags uint64) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vnumber(s *string, p *int, v *types.JsonState) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vsigned(s *string, p *int, v *types.JsonState) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __vunsigned(s *string, p *int, v *types.JsonState) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_one_fast(s *string, p *int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __skip_number(s *string, p *int) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __validate_one(s *string, p *int, m *types.StateMachine) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __get_by_path(s *string, p *int, path *[]interface{}, m *types.StateMachine) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __validate_utf8_fast(s *string) (ret int) \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/native_amd64.s b/vendor/github.com/bytedance/sonic/internal/native/sse/native_amd64.s deleted file mode 100644 index a2e1232..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/sse/native_amd64.s +++ /dev/null @@ -1,15479 +0,0 @@ -// +build !noasm !appengine -// Code generated by asm2asm, DO NOT EDIT. - -#include "go_asm.h" -#include "funcdata.h" -#include "textflag.h" - -TEXT ·__native_entry__(SB), NOSPLIT, $0 - NO_LOCAL_POINTERS - LONG $0xf9058d48; WORD $0xffff; BYTE $0xff // leaq $-7(%rip), %rax - LONG $0x24448948; BYTE $0x08 // movq %rax, $8(%rsp) - BYTE $0xc3 // retq - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_lspace: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x3948; BYTE $0xd6 // cmpq %rdx, %rsi - LONG $0x004e840f; WORD $0x0000 // je LBB0_1, $78(%rip) - LONG $0x37048d4c // leaq (%rdi,%rsi), %r8 - LONG $0x3a448d48; BYTE $0x01 // leaq $1(%rdx,%rdi), %rax - WORD $0x2948; BYTE $0xf2 // subq %rsi, %rdx - QUAD $0x000100002600be48; WORD $0x0000 // movabsq $4294977024, %rsi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB0_3: - LONG $0xff48be0f // movsbl $-1(%rax), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x002c870f; WORD $0x0000 // ja LBB0_5, $44(%rip) - LONG $0xcea30f48 // btq %rcx, %rsi - LONG $0x0022830f; WORD $0x0000 // jae LBB0_5, $34(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0xffdd850f; WORD $0xffff // jne LBB0_3, $-35(%rip) - WORD $0x2949; BYTE $0xf8 // subq %rdi, %r8 - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB0_1: - WORD $0x0148; BYTE $0xfa // addq %rdi, %rdx - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - WORD $0x2949; BYTE $0xf8 // subq %rdi, %r8 - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB0_5: - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x0148; BYTE $0xf8 // addq %rdi, %rax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI1_0: - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - - // .p2align 4, 0x90 -_f64toa: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - LONG $0x7e0f4866; BYTE $0xc2 // movq %xmm0, %rdx - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0x34e8c148 // shrq $52, %rax - LONG $0x0007ff25; BYTE $0x00 // andl $2047, %eax - LONG $0x0007ff3d; BYTE $0x00 // cmpl $2047, %eax - LONG $0x0abb840f; WORD $0x0000 // je LBB1_1, $2747(%rip) - WORD $0x8949; BYTE $0xfe // movq %rdi, %r14 - WORD $0x07c6; BYTE $0x2d // movb $45, (%rdi) - WORD $0x8949; BYTE $0xd4 // movq %rdx, %r12 - LONG $0x3fecc149 // shrq $63, %r12 - LONG $0x273c8d4e // leaq (%rdi,%r12), %r15 - QUAD $0x00000000550c8d48 // leaq (,%rdx,2), %rcx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x01e3840f; WORD $0x0000 // je LBB1_3, $483(%rip) - QUAD $0xffffffffffffbf48; WORD $0x000f // movabsq $4503599627370495, %rdi - WORD $0x2148; BYTE $0xfa // andq %rdi, %rdx - WORD $0xc085 // testl %eax, %eax - LONG $0x0a8b840f; WORD $0x0000 // je LBB1_5, $2699(%rip) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0x0948; BYTE $0xd7 // orq %rdx, %rdi - LONG $0xfbcd988d; WORD $0xffff // leal $-1075(%rax), %ebx - LONG $0xfc01888d; WORD $0xffff // leal $-1023(%rax), %ecx - WORD $0xf983; BYTE $0x34 // cmpl $52, %ecx - LONG $0x001a870f; WORD $0x0000 // ja LBB1_6, $26(%rip) - WORD $0xd989 // movl %ebx, %ecx - WORD $0xd9f7 // negl %ecx - LONG $0xffc6c748; WORD $0xffff; BYTE $0xff // movq $-1, %rsi - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0xf748; BYTE $0xd6 // notq %rsi - WORD $0x8548; BYTE $0xf7 // testq %rsi, %rdi - LONG $0x041e840f; WORD $0x0000 // je LBB1_11, $1054(%rip) - -LBB1_6: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - WORD $0x940f; BYTE $0xc1 // sete %cl - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - WORD $0x970f; BYTE $0xc0 // seta %al - WORD $0xc820 // andb %cl, %al - WORD $0xb60f; BYTE $0xc0 // movzbl %al, %eax - LONG $0x4413cb69; WORD $0x0013 // imull $1262611, %ebx, %ecx - WORD $0xd231 // xorl %edx, %edx - WORD $0xc084 // testb %al, %al - LONG $0x0101b941; WORD $0xfff8 // movl $-524031, %r9d - LONG $0xca440f44 // cmovel %edx, %r9d - LONG $0xb8748d48; BYTE $0xfe // leaq $-2(%rax,%rdi,4), %rsi - WORD $0x0141; BYTE $0xc9 // addl %ecx, %r9d - LONG $0x16f9c141 // sarl $22, %r9d - LONG $0xb1c96941; WORD $0xe56c; BYTE $0xff // imull $-1741647, %r9d, %ecx - WORD $0xe9c1; BYTE $0x13 // shrl $19, %ecx - WORD $0xd901 // addl %ebx, %ecx - LONG $0x000124b8; BYTE $0x00 // movl $292, %eax - WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax - LONG $0x04e0c148 // shlq $4, %rax - LONG $0x1a158d48; WORD $0x00bd; BYTE $0x00 // leaq $48410(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ - LONG $0x101c8b4c // movq (%rax,%rdx), %r11 - LONG $0x106c8b4c; BYTE $0x08 // movq $8(%rax,%rdx), %r13 - WORD $0xc1fe // incb %cl - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe5 // mulq %r13 - WORD $0x8948; BYTE $0xd3 // movq %rdx, %rbx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - QUAD $0x00000000bd348d48 // leaq (,%rdi,4), %rsi - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - LONG $0x00d28348 // adcq $0, %rdx - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0x01f88348 // cmpq $1, %rax - WORD $0x970f; BYTE $0xc3 // seta %bl - WORD $0x0948; BYTE $0xd3 // orq %rdx, %rbx - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe5 // mulq %r13 - WORD $0x8949; BYTE $0xd2 // movq %rdx, %r10 - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - QUAD $0x00000002bd348d48 // leaq $2(,%rdi,4), %rsi - WORD $0x014c; BYTE $0xd0 // addq %r10, %rax - LONG $0x00d08349 // adcq $0, %r8 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - LONG $0x01f88348 // cmpq $1, %rax - LONG $0xc2970f41 // seta %r10b - WORD $0x094d; BYTE $0xc2 // orq %r8, %r10 - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe5 // mulq %r13 - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - LONG $0x00d28348 // adcq $0, %rdx - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x01f88348 // cmpq $1, %rax - WORD $0x970f; BYTE $0xc1 // seta %cl - WORD $0x0948; BYTE $0xd1 // orq %rdx, %rcx - WORD $0xe783; BYTE $0x01 // andl $1, %edi - WORD $0x0148; BYTE $0xfb // addq %rdi, %rbx - WORD $0x2948; BYTE $0xf9 // subq %rdi, %rcx - LONG $0x28fa8349 // cmpq $40, %r10 - LONG $0x003e820f; WORD $0x0000 // jb LBB1_29, $62(%rip) - QUAD $0xcccccccccccdba48; WORD $0xcccc // movabsq $-3689348814741910323, %rdx - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - WORD $0xf748; BYTE $0xe2 // mulq %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0x05efc148 // shrq $5, %rdi - QUAD $0x00000000fd048d48 // leaq (,%rdi,8), %rax - LONG $0x80148d48 // leaq (%rax,%rax,4), %rdx - WORD $0x3948; BYTE $0xd3 // cmpq %rdx, %rbx - LONG $0xc6970f40 // seta %sil - LONG $0x80448d48; BYTE $0x28 // leaq $40(%rax,%rax,4), %rax - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - WORD $0x960f; BYTE $0xc2 // setbe %dl - WORD $0x3040; BYTE $0xf2 // xorb %sil, %dl - LONG $0x0130840f; WORD $0x0000 // je LBB1_8, $304(%rip) - -LBB1_29: - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0x02e8c148 // shrq $2, %rax - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - LONG $0xfce28348 // andq $-4, %rdx - WORD $0x3948; BYTE $0xd3 // cmpq %rdx, %rbx - LONG $0xc7970f40 // seta %dil - LONG $0x04728d48 // leaq $4(%rdx), %rsi - WORD $0x3948; BYTE $0xce // cmpq %rcx, %rsi - WORD $0x960f; BYTE $0xc3 // setbe %bl - WORD $0x3040; BYTE $0xfb // xorb %dil, %bl - LONG $0x0053840f; WORD $0x0000 // je LBB1_30, $83(%rip) - LONG $0x02ca8348 // orq $2, %rdx - LONG $0x000001bf; BYTE $0x00 // movl $1, %edi - WORD $0x3949; BYTE $0xd2 // cmpq %rdx, %r10 - LONG $0x000e870f; WORD $0x0000 // ja LBB1_33, $14(%rip) - WORD $0x940f; BYTE $0xc1 // sete %cl - LONG $0x02e8c041 // shrb $2, %r8b - WORD $0x2041; BYTE $0xc8 // andb %cl, %r8b - LONG $0xf8b60f41 // movzbl %r8b, %edi - -LBB1_33: - WORD $0x0148; BYTE $0xc7 // addq %rax, %rdi - QUAD $0x0001ffffffe0b848; WORD $0x0000 // movabsq $8589934560, %rax - LONG $0xe41f0548; WORD $0x540b // addq $1410065439, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x003a870f; WORD $0x0000 // ja LBB1_35, $58(%rip) - LONG $0x0000eae9; BYTE $0x00 // jmp LBB1_41, $234(%rip) - -LBB1_3: - LONG $0x3007c641 // movb $48, (%r15) - WORD $0x2945; BYTE $0xf7 // subl %r14d, %r15d - WORD $0xff41; BYTE $0xc7 // incl %r15d - WORD $0x8944; BYTE $0xfb // movl %r15d, %ebx - LONG $0x000882e9; BYTE $0x00 // jmp LBB1_116, $2178(%rip) - -LBB1_30: - WORD $0x3948; BYTE $0xf1 // cmpq %rsi, %rcx - LONG $0xffd88348 // sbbq $-1, %rax - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - QUAD $0x0001ffffffe0b848; WORD $0x0000 // movabsq $8589934560, %rax - LONG $0xe41f0548; WORD $0x540b // addq $1410065439, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x00b5860f; WORD $0x0000 // jbe LBB1_41, $181(%rip) - -LBB1_35: - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0be8c148 // shrq $11, %rax - LONG $0x00000bba; BYTE $0x00 // movl $11, %edx - LONG $0x0edd3d48; WORD $0x02e9 // cmpq $48828125, %rax - LONG $0x0127820f; WORD $0x0000 // jb LBB1_51, $295(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0ce8c148 // shrq $12, %rax - LONG $0x00000cba; BYTE $0x00 // movl $12, %edx - LONG $0x4a513d48; WORD $0x0e8d // cmpq $244140625, %rax - LONG $0x010f820f; WORD $0x0000 // jb LBB1_51, $271(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0de8c148 // shrq $13, %rax - LONG $0x00000dba; BYTE $0x00 // movl $13, %edx - LONG $0x73953d48; WORD $0x48c2 // cmpq $1220703125, %rax - LONG $0x00f7820f; WORD $0x0000 // jb LBB1_51, $247(%rip) - LONG $0x00000eba; BYTE $0x00 // movl $14, %edx - QUAD $0x5af3107a4000b848; WORD $0x0000 // movabsq $100000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x00df820f; WORD $0x0000 // jb LBB1_51, $223(%rip) - LONG $0x00000fba; BYTE $0x00 // movl $15, %edx - QUAD $0x8d7ea4c68000b848; WORD $0x0003 // movabsq $1000000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x00c7820f; WORD $0x0000 // jb LBB1_51, $199(%rip) - QUAD $0x86f26fc10000b848; WORD $0x0023 // movabsq $10000000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x000011ba; BYTE $0x00 // movl $17, %edx - -LBB1_50: - WORD $0xda83; BYTE $0x00 // sbbl $0, %edx - LONG $0x0000ade9; BYTE $0x00 // jmp LBB1_51, $173(%rip) - -LBB1_8: - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0xffdf8348 // sbbq $-1, %rdi - WORD $0xff41; BYTE $0xc1 // incl %r9d - QUAD $0x0001ffffffe0b848; WORD $0x0000 // movabsq $8589934560, %rax - LONG $0xe41f0548; WORD $0x540b // addq $1410065439, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0xff4b870f; WORD $0xffff // ja LBB1_35, $-181(%rip) - -LBB1_41: - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0x0aff8348 // cmpq $10, %rdi - LONG $0x007b820f; WORD $0x0000 // jb LBB1_51, $123(%rip) - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - LONG $0x64ff8348 // cmpq $100, %rdi - LONG $0x006c820f; WORD $0x0000 // jb LBB1_51, $108(%rip) - LONG $0x000003ba; BYTE $0x00 // movl $3, %edx - LONG $0xe8ff8148; WORD $0x0003; BYTE $0x00 // cmpq $1000, %rdi - LONG $0x005a820f; WORD $0x0000 // jb LBB1_51, $90(%rip) - LONG $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0x10ff8148; WORD $0x0027; BYTE $0x00 // cmpq $10000, %rdi - LONG $0x0048820f; WORD $0x0000 // jb LBB1_51, $72(%rip) - LONG $0x000005ba; BYTE $0x00 // movl $5, %edx - LONG $0xa0ff8148; WORD $0x0186; BYTE $0x00 // cmpq $100000, %rdi - LONG $0x0036820f; WORD $0x0000 // jb LBB1_51, $54(%rip) - LONG $0x000006ba; BYTE $0x00 // movl $6, %edx - LONG $0x40ff8148; WORD $0x0f42; BYTE $0x00 // cmpq $1000000, %rdi - LONG $0x0024820f; WORD $0x0000 // jb LBB1_51, $36(%rip) - LONG $0x000007ba; BYTE $0x00 // movl $7, %edx - LONG $0x80ff8148; WORD $0x9896; BYTE $0x00 // cmpq $10000000, %rdi - LONG $0x0012820f; WORD $0x0000 // jb LBB1_51, $18(%rip) - LONG $0x000008ba; BYTE $0x00 // movl $8, %edx - LONG $0x00ff8148; WORD $0xf5e1; BYTE $0x05 // cmpq $100000000, %rdi - LONG $0x0731830f; WORD $0x0000 // jae LBB1_49, $1841(%rip) - -LBB1_51: - LONG $0x0a2c8d46 // leal (%rdx,%r9), %r13d - LONG $0x0a448d42; BYTE $0x05 // leal $5(%rdx,%r9), %eax - WORD $0xf883; BYTE $0x1b // cmpl $27, %eax - LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip) - LONG $0x01678d4d // leaq $1(%r15), %r12 - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x00848fe8; BYTE $0x00 // callq _format_significand, $33935(%rip) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB1_53: - LONG $0x30ff7b80 // cmpb $48, $-1(%rbx) - LONG $0xff5b8d48 // leaq $-1(%rbx), %rbx - LONG $0xfff2840f; WORD $0xffff // je LBB1_53, $-14(%rip) - LONG $0x01478a41 // movb $1(%r15), %al - WORD $0x8841; BYTE $0x07 // movb %al, (%r15) - LONG $0x01438d48 // leaq $1(%rbx), %rax - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x294c; BYTE $0xe1 // subq %r12, %rcx - LONG $0x02f98348 // cmpq $2, %rcx - LONG $0x00088c0f; WORD $0x0000 // jl LBB1_56, $8(%rip) - LONG $0x2404c641; BYTE $0x2e // movb $46, (%r12) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - -LBB1_56: - WORD $0x03c6; BYTE $0x65 // movb $101, (%rbx) - LONG $0xff458d41 // leal $-1(%r13), %eax - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x01518e0f; WORD $0x0000 // jle LBB1_57, $337(%rip) - LONG $0x2b0143c6 // movb $43, $1(%rbx) - WORD $0xf883; BYTE $0x64 // cmpl $100, %eax - LONG $0x01538c0f; WORD $0x0000 // jl LBB1_61, $339(%rip) - -LBB1_60: - WORD $0xc189 // movl %eax, %ecx - LONG $0xcccccdba; BYTE $0xcc // movl $3435973837, %edx - LONG $0xd1af0f48 // imulq %rcx, %rdx - LONG $0x23eac148 // shrq $35, %rdx - WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx - WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx - WORD $0xc829 // subl %ecx, %eax - LONG $0xf40d8d48; WORD $0x00b8; BYTE $0x00 // leaq $47348(%rip), %rcx /* _Digits(%rip) */ - LONG $0x510cb70f // movzwl (%rcx,%rdx,2), %ecx - LONG $0x024b8966 // movw %cx, $2(%rbx) - WORD $0x300c // orb $48, %al - WORD $0x4388; BYTE $0x04 // movb %al, $4(%rbx) - LONG $0x05c38348 // addq $5, %rbx - LONG $0x00066ee9; BYTE $0x00 // jmp LBB1_115, $1646(%rip) - -LBB1_64: - WORD $0x8545; BYTE $0xc9 // testl %r9d, %r9d - LONG $0x0139880f; WORD $0x0000 // js LBB1_65, $313(%rip) - WORD $0x634d; BYTE $0xed // movslq %r13d, %r13 - LONG $0x2f1c8d4b // leaq (%r15,%r13), %rbx - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0x0006a6e8; BYTE $0x00 // callq _format_integer, $1702(%rip) - WORD $0x3948; BYTE $0xd8 // cmpq %rbx, %rax - LONG $0x064d830f; WORD $0x0000 // jae LBB1_115, $1613(%rip) - WORD $0x014d; BYTE $0xec // addq %r13, %r12 - WORD $0x2949; BYTE $0xc4 // subq %rax, %r12 - WORD $0x014d; BYTE $0xf4 // addq %r14, %r12 - LONG $0x20fc8349 // cmpq $32, %r12 - LONG $0x031a820f; WORD $0x0000 // jb LBB1_114, $794(%rip) - WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx - LONG $0xe0e18348 // andq $-32, %rcx - LONG $0xe0798d48 // leaq $-32(%rcx), %rdi - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - LONG $0x05eec148 // shrq $5, %rsi - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0xf289 // movl %esi, %edx - WORD $0xe283; BYTE $0x07 // andl $7, %edx - LONG $0xe0ff8148; WORD $0x0000; BYTE $0x00 // cmpq $224, %rdi - LONG $0x01fc830f; WORD $0x0000 // jae LBB1_107, $508(%rip) - WORD $0xff31 // xorl %edi, %edi - LONG $0x000294e9; BYTE $0x00 // jmp LBB1_109, $660(%rip) - -LBB1_11: - WORD $0xd348; BYTE $0xef // shrq %cl, %rdi - QUAD $0x0001ffffffe0b848; WORD $0x0000 // movabsq $8589934560, %rax - LONG $0xe41f0548; WORD $0x540b // addq $1410065439, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x013f860f; WORD $0x0000 // jbe LBB1_18, $319(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0be8c148 // shrq $11, %rax - LONG $0x00000bba; BYTE $0x00 // movl $11, %edx - LONG $0x0edd3d48; WORD $0x02e9 // cmpq $48828125, %rax - LONG $0x01b1820f; WORD $0x0000 // jb LBB1_28, $433(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0ce8c148 // shrq $12, %rax - LONG $0x00000cba; BYTE $0x00 // movl $12, %edx - LONG $0x4a513d48; WORD $0x0e8d // cmpq $244140625, %rax - LONG $0x0199820f; WORD $0x0000 // jb LBB1_28, $409(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x0de8c148 // shrq $13, %rax - LONG $0x00000dba; BYTE $0x00 // movl $13, %edx - LONG $0x73953d48; WORD $0x48c2 // cmpq $1220703125, %rax - LONG $0x0181820f; WORD $0x0000 // jb LBB1_28, $385(%rip) - LONG $0x00000eba; BYTE $0x00 // movl $14, %edx - QUAD $0x5af3107a4000b848; WORD $0x0000 // movabsq $100000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x0169820f; WORD $0x0000 // jb LBB1_28, $361(%rip) - LONG $0x00000fba; BYTE $0x00 // movl $15, %edx - QUAD $0x8d7ea4c68000b848; WORD $0x0003 // movabsq $1000000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x0151820f; WORD $0x0000 // jb LBB1_28, $337(%rip) - QUAD $0x86f26fc10000b848; WORD $0x0023 // movabsq $10000000000000000, %rax - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x000011ba; BYTE $0x00 // movl $17, %edx - -LBB1_27: - WORD $0xda83; BYTE $0x00 // sbbl $0, %edx - LONG $0x000137e9; BYTE $0x00 // jmp LBB1_28, $311(%rip) - -LBB1_57: - LONG $0x2d0143c6 // movb $45, $1(%rbx) - WORD $0xd8f7 // negl %eax - WORD $0xf883; BYTE $0x64 // cmpl $100, %eax - LONG $0xfead8d0f; WORD $0xffff // jge LBB1_60, $-339(%rip) - -LBB1_61: - WORD $0xf883; BYTE $0x0a // cmpl $10, %eax - LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip) - WORD $0xc089 // movl %eax, %eax - LONG $0xad0d8d48; WORD $0x00b7; BYTE $0x00 // leaq $47021(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x02438966 // movw %ax, $2(%rbx) - LONG $0x04c38348 // addq $4, %rbx - LONG $0x00052ce9; BYTE $0x00 // jmp LBB1_115, $1324(%rip) - -LBB1_65: - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x03128f0f; WORD $0x0000 // jg LBB1_78, $786(%rip) - LONG $0x07c74166; WORD $0x2e30 // movw $11824, (%r15) - LONG $0x02c78349 // addq $2, %r15 - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x02ff890f; WORD $0x0000 // jns LBB1_78, $767(%rip) - WORD $0x8941; BYTE $0xd0 // movl %edx, %r8d - WORD $0xf741; BYTE $0xd0 // notl %r8d - WORD $0x2945; BYTE $0xc8 // subl %r9d, %r8d - WORD $0xc031 // xorl %eax, %eax - LONG $0x1ff88341 // cmpl $31, %r8d - LONG $0x02cb820f; WORD $0x0000 // jb LBB1_76, $715(%rip) - WORD $0xff49; BYTE $0xc0 // incq %r8 - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - QUAD $0x0001ffffffe0b948; WORD $0x0000 // movabsq $8589934560, %rcx - WORD $0x2148; BYTE $0xc8 // andq %rcx, %rax - LONG $0xe0488d48 // leaq $-32(%rax), %rcx - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - LONG $0x05eec148 // shrq $5, %rsi - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x8941; BYTE $0xf1 // movl %esi, %r9d - LONG $0x07e18341 // andl $7, %r9d - LONG $0xe0f98148; WORD $0x0000; BYTE $0x00 // cmpq $224, %rcx - LONG $0x01ba830f; WORD $0x0000 // jae LBB1_70, $442(%rip) - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x000251e9; BYTE $0x00 // jmp LBB1_72, $593(%rip) - -LBB1_63: - WORD $0x3004 // addb $48, %al - WORD $0x4388; BYTE $0x02 // movb %al, $2(%rbx) - LONG $0x03c38348 // addq $3, %rbx - LONG $0x0004b1e9; BYTE $0x00 // jmp LBB1_115, $1201(%rip) - -LBB1_18: - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0x0aff8348 // cmpq $10, %rdi - LONG $0x007b820f; WORD $0x0000 // jb LBB1_28, $123(%rip) - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - LONG $0x64ff8348 // cmpq $100, %rdi - LONG $0x006c820f; WORD $0x0000 // jb LBB1_28, $108(%rip) - LONG $0x000003ba; BYTE $0x00 // movl $3, %edx - LONG $0xe8ff8148; WORD $0x0003; BYTE $0x00 // cmpq $1000, %rdi - LONG $0x005a820f; WORD $0x0000 // jb LBB1_28, $90(%rip) - LONG $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0x10ff8148; WORD $0x0027; BYTE $0x00 // cmpq $10000, %rdi - LONG $0x0048820f; WORD $0x0000 // jb LBB1_28, $72(%rip) - LONG $0x000005ba; BYTE $0x00 // movl $5, %edx - LONG $0xa0ff8148; WORD $0x0186; BYTE $0x00 // cmpq $100000, %rdi - LONG $0x0036820f; WORD $0x0000 // jb LBB1_28, $54(%rip) - LONG $0x000006ba; BYTE $0x00 // movl $6, %edx - LONG $0x40ff8148; WORD $0x0f42; BYTE $0x00 // cmpq $1000000, %rdi - LONG $0x0024820f; WORD $0x0000 // jb LBB1_28, $36(%rip) - LONG $0x000007ba; BYTE $0x00 // movl $7, %edx - LONG $0x80ff8148; WORD $0x9896; BYTE $0x00 // cmpq $10000000, %rdi - LONG $0x0012820f; WORD $0x0000 // jb LBB1_28, $18(%rip) - LONG $0x000008ba; BYTE $0x00 // movl $8, %edx - LONG $0x00ff8148; WORD $0xf5e1; BYTE $0x05 // cmpq $100000000, %rdi - LONG $0x0460830f; WORD $0x0000 // jae LBB1_26, $1120(%rip) - -LBB1_28: - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0x00046fe8; BYTE $0x00 // callq _format_integer, $1135(%rip) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - LONG $0x000417e9; BYTE $0x00 // jmp LBB1_115, $1047(%rip) - -LBB1_107: - LONG $0xf8e68348 // andq $-8, %rsi - WORD $0xf748; BYTE $0xde // negq %rsi - WORD $0xff31 // xorl %edi, %edi - QUAD $0xfffff936056f0f66 // movdqa $-1738(%rip), %xmm0 /* LCPI1_0(%rip) */ - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB1_108: - LONG $0x047f0ff3; BYTE $0x38 // movdqu %xmm0, (%rax,%rdi) - LONG $0x447f0ff3; WORD $0x1038 // movdqu %xmm0, $16(%rax,%rdi) - LONG $0x447f0ff3; WORD $0x2038 // movdqu %xmm0, $32(%rax,%rdi) - LONG $0x447f0ff3; WORD $0x3038 // movdqu %xmm0, $48(%rax,%rdi) - LONG $0x447f0ff3; WORD $0x4038 // movdqu %xmm0, $64(%rax,%rdi) - LONG $0x447f0ff3; WORD $0x5038 // movdqu %xmm0, $80(%rax,%rdi) - LONG $0x447f0ff3; WORD $0x6038 // movdqu %xmm0, $96(%rax,%rdi) - LONG $0x447f0ff3; WORD $0x7038 // movdqu %xmm0, $112(%rax,%rdi) - QUAD $0x00008038847f0ff3; BYTE $0x00 // movdqu %xmm0, $128(%rax,%rdi) - QUAD $0x00009038847f0ff3; BYTE $0x00 // movdqu %xmm0, $144(%rax,%rdi) - QUAD $0x0000a038847f0ff3; BYTE $0x00 // movdqu %xmm0, $160(%rax,%rdi) - QUAD $0x0000b038847f0ff3; BYTE $0x00 // movdqu %xmm0, $176(%rax,%rdi) - QUAD $0x0000c038847f0ff3; BYTE $0x00 // movdqu %xmm0, $192(%rax,%rdi) - QUAD $0x0000d038847f0ff3; BYTE $0x00 // movdqu %xmm0, $208(%rax,%rdi) - QUAD $0x0000e038847f0ff3; BYTE $0x00 // movdqu %xmm0, $224(%rax,%rdi) - QUAD $0x0000f038847f0ff3; BYTE $0x00 // movdqu %xmm0, $240(%rax,%rdi) - LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // addq $256, %rdi - LONG $0x08c68348 // addq $8, %rsi - LONG $0xff78850f; WORD $0xffff // jne LBB1_108, $-136(%rip) - -LBB1_109: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0035840f; WORD $0x0000 // je LBB1_112, $53(%rip) - LONG $0x07748d48; BYTE $0x10 // leaq $16(%rdi,%rax), %rsi - WORD $0xf748; BYTE $0xda // negq %rdx - QUAD $0xfffff88f056f0f66 // movdqa $-1905(%rip), %xmm0 /* LCPI1_0(%rip) */ - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_111: - LONG $0x467f0ff3; BYTE $0xf0 // movdqu %xmm0, $-16(%rsi) - LONG $0x067f0ff3 // movdqu %xmm0, (%rsi) - LONG $0x20c68348 // addq $32, %rsi - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0xffea850f; WORD $0xffff // jne LBB1_111, $-22(%rip) - -LBB1_112: - WORD $0x394c; BYTE $0xe1 // cmpq %r12, %rcx - LONG $0x0331840f; WORD $0x0000 // je LBB1_115, $817(%rip) - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB1_114: - WORD $0x00c6; BYTE $0x30 // movb $48, (%rax) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x3948; BYTE $0xc3 // cmpq %rax, %rbx - LONG $0xfff1850f; WORD $0xffff // jne LBB1_114, $-15(%rip) - LONG $0x00030ce9; BYTE $0x00 // jmp LBB1_115, $780(%rip) - -LBB1_70: - QUAD $0x000000f2349c8d4b // leaq $242(%r12,%r14), %rbx - LONG $0xf8e68348 // andq $-8, %rsi - WORD $0xf748; BYTE $0xde // negq %rsi - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0xfffff823056f0f66 // movdqa $-2013(%rip), %xmm0 /* LCPI1_0(%rip) */ - -LBB1_71: - QUAD $0xffff100b847f0ff3; BYTE $0xff // movdqu %xmm0, $-240(%rbx,%rcx) - QUAD $0xffff200b847f0ff3; BYTE $0xff // movdqu %xmm0, $-224(%rbx,%rcx) - QUAD $0xffff300b847f0ff3; BYTE $0xff // movdqu %xmm0, $-208(%rbx,%rcx) - QUAD $0xffff400b847f0ff3; BYTE $0xff // movdqu %xmm0, $-192(%rbx,%rcx) - QUAD $0xffff500b847f0ff3; BYTE $0xff // movdqu %xmm0, $-176(%rbx,%rcx) - QUAD $0xffff600b847f0ff3; BYTE $0xff // movdqu %xmm0, $-160(%rbx,%rcx) - QUAD $0xffff700b847f0ff3; BYTE $0xff // movdqu %xmm0, $-144(%rbx,%rcx) - LONG $0x447f0ff3; WORD $0x800b // movdqu %xmm0, $-128(%rbx,%rcx) - LONG $0x447f0ff3; WORD $0x900b // movdqu %xmm0, $-112(%rbx,%rcx) - LONG $0x447f0ff3; WORD $0xa00b // movdqu %xmm0, $-96(%rbx,%rcx) - LONG $0x447f0ff3; WORD $0xb00b // movdqu %xmm0, $-80(%rbx,%rcx) - LONG $0x447f0ff3; WORD $0xc00b // movdqu %xmm0, $-64(%rbx,%rcx) - LONG $0x447f0ff3; WORD $0xd00b // movdqu %xmm0, $-48(%rbx,%rcx) - LONG $0x447f0ff3; WORD $0xe00b // movdqu %xmm0, $-32(%rbx,%rcx) - LONG $0x447f0ff3; WORD $0xf00b // movdqu %xmm0, $-16(%rbx,%rcx) - LONG $0x047f0ff3; BYTE $0x0b // movdqu %xmm0, (%rbx,%rcx) - LONG $0x00c18148; WORD $0x0001; BYTE $0x00 // addq $256, %rcx - LONG $0x08c68348 // addq $8, %rsi - LONG $0xff7b850f; WORD $0xffff // jne LBB1_71, $-133(%rip) - -LBB1_72: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x0029840f; WORD $0x0000 // je LBB1_75, $41(%rip) - WORD $0x014c; BYTE $0xe1 // addq %r12, %rcx - LONG $0x0e4c8d49; BYTE $0x12 // leaq $18(%r14,%rcx), %rcx - WORD $0xf749; BYTE $0xd9 // negq %r9 - QUAD $0xfffff782056f0f66 // movdqa $-2174(%rip), %xmm0 /* LCPI1_0(%rip) */ - -LBB1_74: - LONG $0x417f0ff3; BYTE $0xf0 // movdqu %xmm0, $-16(%rcx) - LONG $0x017f0ff3 // movdqu %xmm0, (%rcx) - LONG $0x20c18348 // addq $32, %rcx - WORD $0xff49; BYTE $0xc1 // incq %r9 - LONG $0xffea850f; WORD $0xffff // jne LBB1_74, $-22(%rip) - -LBB1_75: - WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 - WORD $0x3949; BYTE $0xc0 // cmpq %rax, %r8 - LONG $0x001f840f; WORD $0x0000 // je LBB1_78, $31(%rip) - -LBB1_76: - WORD $0x0144; BYTE $0xe8 // addl %r13d, %eax - WORD $0xd8f7 // negl %eax - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_77: - LONG $0x3007c641 // movb $48, (%r15) - WORD $0xff49; BYTE $0xc7 // incq %r15 - WORD $0xc8ff // decl %eax - LONG $0xfff1850f; WORD $0xffff // jne LBB1_77, $-15(%rip) - -LBB1_78: - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0x007f99e8; BYTE $0x00 // callq _format_significand, $32665(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_79: - LONG $0x30ff7880 // cmpb $48, $-1(%rax) - LONG $0xff408d48 // leaq $-1(%rax), %rax - LONG $0xfff2840f; WORD $0xffff // je LBB1_79, $-14(%rip) - LONG $0x01588d48 // leaq $1(%rax), %rbx - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x01e58e0f; WORD $0x0000 // jle LBB1_115, $485(%rip) - WORD $0xda89 // movl %ebx, %edx - WORD $0x2944; BYTE $0xfa // subl %r15d, %edx - WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - WORD $0xd129 // subl %edx, %ecx - LONG $0x00258d0f; WORD $0x0000 // jge LBB1_82, $37(%rip) - WORD $0x2944; BYTE $0xea // subl %r13d, %edx - LONG $0x00c48e0f; WORD $0x0000 // jle LBB1_100, $196(%rip) - WORD $0xd689 // movl %edx, %esi - LONG $0xff568d48 // leaq $-1(%rsi), %rdx - WORD $0xf189 // movl %esi, %ecx - WORD $0xe183; BYTE $0x03 // andl $3, %ecx - LONG $0x03fa8348 // cmpq $3, %rdx - LONG $0x005c830f; WORD $0x0000 // jae LBB1_101, $92(%rip) - WORD $0xd231 // xorl %edx, %edx - LONG $0x000078e9; BYTE $0x00 // jmp LBB1_97, $120(%rip) - -LBB1_82: - LONG $0x01aa8e0f; WORD $0x0000 // jle LBB1_115, $426(%rip) - WORD $0x0145; BYTE $0xfd // addl %r15d, %r13d - WORD $0x8941; BYTE $0xd8 // movl %ebx, %r8d - WORD $0xf741; BYTE $0xd0 // notl %r8d - WORD $0x0145; BYTE $0xe8 // addl %r13d, %r8d - WORD $0xd231 // xorl %edx, %edx - LONG $0x1ef88341 // cmpl $30, %r8d - LONG $0x0182860f; WORD $0x0000 // jbe LBB1_92, $386(%rip) - WORD $0xff49; BYTE $0xc0 // incq %r8 - QUAD $0x0001ffffffe0b949; WORD $0x0000 // movabsq $8589934560, %r9 - WORD $0x214d; BYTE $0xc1 // andq %r8, %r9 - LONG $0xe0518d49 // leaq $-32(%r9), %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0x05efc148 // shrq $5, %rdi - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0xfe89 // movl %edi, %esi - WORD $0xe683; BYTE $0x07 // andl $7, %esi - LONG $0xe0fa8148; WORD $0x0000; BYTE $0x00 // cmpq $224, %rdx - LONG $0x006e830f; WORD $0x0000 // jae LBB1_86, $110(%rip) - WORD $0xd231 // xorl %edx, %edx - LONG $0x000101e9; BYTE $0x00 // jmp LBB1_88, $257(%rip) - -LBB1_101: - WORD $0xe683; BYTE $0xfc // andl $-4, %esi - WORD $0xf748; BYTE $0xde // negq %rsi - WORD $0xd231 // xorl %edx, %edx - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_102: - LONG $0xfd107c8b // movl $-3(%rax,%rdx), %edi - LONG $0xfe107c89 // movl %edi, $-2(%rax,%rdx) - LONG $0xfcc28348 // addq $-4, %rdx - WORD $0x3948; BYTE $0xd6 // cmpq %rdx, %rsi - LONG $0xffeb850f; WORD $0xffff // jne LBB1_102, $-21(%rip) - WORD $0xf748; BYTE $0xda // negq %rdx - -LBB1_97: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x0027840f; WORD $0x0000 // je LBB1_100, $39(%rip) - WORD $0xf748; BYTE $0xda // negq %rdx - WORD $0xf748; BYTE $0xd9 // negq %rcx - WORD $0xf631 // xorl %esi, %esi - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB1_99: - LONG $0x323c8d48 // leaq (%rdx,%rsi), %rdi - LONG $0x381cb60f // movzbl (%rax,%rdi), %ebx - LONG $0x01385c88 // movb %bl, $1(%rax,%rdi) - WORD $0xff48; BYTE $0xce // decq %rsi - WORD $0x3948; BYTE $0xf1 // cmpq %rsi, %rcx - LONG $0xffe8850f; WORD $0xffff // jne LBB1_99, $-24(%rip) - -LBB1_100: - WORD $0x6349; BYTE $0xcd // movslq %r13d, %rcx - LONG $0x0f04c641; BYTE $0x2e // movb $46, (%r15,%rcx) - LONG $0x02c08348 // addq $2, %rax - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - LONG $0x0000f4e9; BYTE $0x00 // jmp LBB1_115, $244(%rip) - -LBB1_86: - LONG $0xf8e78348 // andq $-8, %rdi - WORD $0xf748; BYTE $0xdf // negq %rdi - WORD $0xd231 // xorl %edx, %edx - QUAD $0xfffff613056f0f66 // movdqa $-2541(%rip), %xmm0 /* LCPI1_0(%rip) */ - -LBB1_87: - LONG $0x447f0ff3; WORD $0x0110 // movdqu %xmm0, $1(%rax,%rdx) - LONG $0x447f0ff3; WORD $0x1110 // movdqu %xmm0, $17(%rax,%rdx) - LONG $0x447f0ff3; WORD $0x2110 // movdqu %xmm0, $33(%rax,%rdx) - LONG $0x447f0ff3; WORD $0x3110 // movdqu %xmm0, $49(%rax,%rdx) - LONG $0x447f0ff3; WORD $0x4110 // movdqu %xmm0, $65(%rax,%rdx) - LONG $0x447f0ff3; WORD $0x5110 // movdqu %xmm0, $81(%rax,%rdx) - LONG $0x447f0ff3; WORD $0x6110 // movdqu %xmm0, $97(%rax,%rdx) - LONG $0x447f0ff3; WORD $0x7110 // movdqu %xmm0, $113(%rax,%rdx) - QUAD $0x00008110847f0ff3; BYTE $0x00 // movdqu %xmm0, $129(%rax,%rdx) - QUAD $0x00009110847f0ff3; BYTE $0x00 // movdqu %xmm0, $145(%rax,%rdx) - QUAD $0x0000a110847f0ff3; BYTE $0x00 // movdqu %xmm0, $161(%rax,%rdx) - QUAD $0x0000b110847f0ff3; BYTE $0x00 // movdqu %xmm0, $177(%rax,%rdx) - QUAD $0x0000c110847f0ff3; BYTE $0x00 // movdqu %xmm0, $193(%rax,%rdx) - QUAD $0x0000d110847f0ff3; BYTE $0x00 // movdqu %xmm0, $209(%rax,%rdx) - QUAD $0x0000e110847f0ff3; BYTE $0x00 // movdqu %xmm0, $225(%rax,%rdx) - QUAD $0x0000f110847f0ff3; BYTE $0x00 // movdqu %xmm0, $241(%rax,%rdx) - LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // addq $256, %rdx - LONG $0x08c78348 // addq $8, %rdi - LONG $0xff77850f; WORD $0xffff // jne LBB1_87, $-137(%rip) - -LBB1_88: - LONG $0x085c8d4a; BYTE $0x01 // leaq $1(%rax,%r9), %rbx - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0026840f; WORD $0x0000 // je LBB1_91, $38(%rip) - LONG $0x10448d48; BYTE $0x11 // leaq $17(%rax,%rdx), %rax - WORD $0xf748; BYTE $0xde // negq %rsi - QUAD $0xfffff56c056f0f66 // movdqa $-2708(%rip), %xmm0 /* LCPI1_0(%rip) */ - -LBB1_90: - LONG $0x407f0ff3; BYTE $0xf0 // movdqu %xmm0, $-16(%rax) - LONG $0x007f0ff3 // movdqu %xmm0, (%rax) - LONG $0x20c08348 // addq $32, %rax - WORD $0xff48; BYTE $0xc6 // incq %rsi - LONG $0xffea850f; WORD $0xffff // jne LBB1_90, $-22(%rip) - -LBB1_91: - WORD $0x8944; BYTE $0xca // movl %r9d, %edx - WORD $0x394d; BYTE $0xc8 // cmpq %r9, %r8 - LONG $0x001a840f; WORD $0x0000 // je LBB1_115, $26(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB1_92: - WORD $0x03c6; BYTE $0x30 // movb $48, (%rbx) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xc2ff // incl %edx - WORD $0xca39 // cmpl %ecx, %edx - LONG $0xfff08c0f; WORD $0xffff // jl LBB1_92, $-16(%rip) - -LBB1_115: - WORD $0x2944; BYTE $0xf3 // subl %r14d, %ebx - -LBB1_116: - WORD $0xd889 // movl %ebx, %eax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB1_49: - LONG $0x00ff8148; WORD $0x9aca; BYTE $0x3b // cmpq $1000000000, %rdi - LONG $0x00000aba; BYTE $0x00 // movl $10, %edx - LONG $0xfff809e9; BYTE $0xff // jmp LBB1_50, $-2039(%rip) - -LBB1_1: - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0xffffd7e9; BYTE $0xff // jmp LBB1_116, $-41(%rip) - -LBB1_5: - LONG $0xfffbcebb; BYTE $0xff // movl $-1074, %ebx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0xfff59de9; BYTE $0xff // jmp LBB1_6, $-2659(%rip) - -LBB1_26: - LONG $0x00ff8148; WORD $0x9aca; BYTE $0x3b // cmpq $1000000000, %rdi - LONG $0x00000aba; BYTE $0x00 // movl $10, %edx - LONG $0xfffa50e9; BYTE $0xff // jmp LBB1_27, $-1456(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_format_integer: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - WORD $0x8941; BYTE $0xd0 // movl %edx, %r8d - WORD $0x0149; BYTE $0xf0 // addq %rsi, %r8 - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x20e8c148 // shrq $32, %rax - LONG $0x0016850f; WORD $0x0000 // jne LBB2_2, $22(%rip) - WORD $0x894d; BYTE $0xc3 // movq %r8, %r11 - LONG $0x2710ff81; WORD $0x0000 // cmpl $10000, %edi - LONG $0x00c3830f; WORD $0x0000 // jae LBB2_5, $195(%rip) - -LBB2_4: - WORD $0xfa89 // movl %edi, %edx - LONG $0x00011ae9; BYTE $0x00 // jmp LBB2_7, $282(%rip) - -LBB2_2: - QUAD $0x77118461cefdb948; WORD $0xabcc // movabsq $-6067343680855748867, %rcx - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - WORD $0xf748; BYTE $0xe1 // mulq %rcx - LONG $0x1aeac148 // shrq $26, %rdx - LONG $0x1f00ca69; WORD $0xfa0a // imull $-100000000, %edx, %ecx - WORD $0xf901 // addl %edi, %ecx - LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0xc1af0f49 // imulq %r9, %rax - LONG $0x2de8c148 // shrq $45, %rax - LONG $0x2710f869; WORD $0x0000 // imull $10000, %eax, %edi - WORD $0xf929 // subl %edi, %ecx - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0xf9af0f49 // imulq %r9, %rdi - LONG $0x2defc148 // shrq $45, %rdi - LONG $0x2710ff69; WORD $0x0000 // imull $10000, %edi, %edi - WORD $0xf829 // subl %edi, %eax - WORD $0xb70f; BYTE $0xf9 // movzwl %cx, %edi - WORD $0xefc1; BYTE $0x02 // shrl $2, %edi - LONG $0x7bcf6944; WORD $0x0014; BYTE $0x00 // imull $5243, %edi, %r9d - LONG $0x11e9c141 // shrl $17, %r9d - LONG $0x64f96b41 // imull $100, %r9d, %edi - WORD $0xf929 // subl %edi, %ecx - LONG $0xd1b70f44 // movzwl %cx, %r10d - WORD $0xb70f; BYTE $0xf8 // movzwl %ax, %edi - WORD $0xefc1; BYTE $0x02 // shrl $2, %edi - LONG $0x147bff69; WORD $0x0000 // imull $5243, %edi, %edi - WORD $0xefc1; BYTE $0x11 // shrl $17, %edi - WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx - WORD $0xc829 // subl %ecx, %eax - LONG $0xd8b70f44 // movzwl %ax, %r11d - LONG $0x700d8d48; WORD $0x00b1; BYTE $0x00 // leaq $45424(%rip), %rcx /* _Digits(%rip) */ - LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax - LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8) - LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax - LONG $0x40894166; BYTE $0xfc // movw %ax, $-4(%r8) - LONG $0x04b70f42; BYTE $0x59 // movzwl (%rcx,%r11,2), %eax - LONG $0x40894166; BYTE $0xfa // movw %ax, $-6(%r8) - LONG $0xf8588d4d // leaq $-8(%r8), %r11 - LONG $0x790cb70f // movzwl (%rcx,%rdi,2), %ecx - LONG $0x48894166; BYTE $0xf8 // movw %cx, $-8(%r8) - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0x2710ff81; WORD $0x0000 // cmpl $10000, %edi - LONG $0xff3d820f; WORD $0xffff // jb LBB2_4, $-195(%rip) - -LBB2_5: - LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - LONG $0x29158d4c; WORD $0x00b1; BYTE $0x00 // leaq $45353(%rip), %r10 /* _Digits(%rip) */ - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB2_6: - WORD $0xfa89 // movl %edi, %edx - LONG $0xd1af0f49 // imulq %r9, %rdx - LONG $0x2deac148 // shrq $45, %rdx - LONG $0xd8f0ca69; WORD $0xffff // imull $-10000, %edx, %ecx - WORD $0xf901 // addl %edi, %ecx - LONG $0x1fc16948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rax - LONG $0x25e8c148 // shrq $37, %rax - WORD $0xd86b; BYTE $0x64 // imull $100, %eax, %ebx - WORD $0xd929 // subl %ebx, %ecx - LONG $0x0cb70f41; BYTE $0x4a // movzwl (%r10,%rcx,2), %ecx - LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11) - LONG $0x04b70f41; BYTE $0x42 // movzwl (%r10,%rax,2), %eax - LONG $0x43894166; BYTE $0xfc // movw %ax, $-4(%r11) - LONG $0xfcc38349 // addq $-4, %r11 - LONG $0xe0ffff81; WORD $0x05f5 // cmpl $99999999, %edi - WORD $0xd789 // movl %edx, %edi - LONG $0xffb8870f; WORD $0xffff // ja LBB2_6, $-72(%rip) - -LBB2_7: - WORD $0xfa83; BYTE $0x64 // cmpl $100, %edx - LONG $0x002d820f; WORD $0x0000 // jb LBB2_9, $45(%rip) - WORD $0xb70f; BYTE $0xc2 // movzwl %dx, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx - WORD $0xca29 // subl %ecx, %edx - WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx - LONG $0xb1158d48; WORD $0x00b0; BYTE $0x00 // leaq $45233(%rip), %rdx /* _Digits(%rip) */ - LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx - LONG $0x4b894166; BYTE $0xfe // movw %cx, $-2(%r11) - LONG $0xfec38349 // addq $-2, %r11 - WORD $0xc289 // movl %eax, %edx - -LBB2_9: - WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx - LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip) - WORD $0xd089 // movl %edx, %eax - LONG $0x900d8d48; WORD $0x00b0; BYTE $0x00 // leaq $45200(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x43894166; BYTE $0xfe // movw %ax, $-2(%r11) - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB2_11: - WORD $0xc280; BYTE $0x30 // addb $48, %dl - WORD $0x1688 // movb %dl, (%rsi) - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_i64toa: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0005880f; WORD $0x0000 // js LBB3_1, $5(%rip) - LONG $0x000072e9; BYTE $0x00 // jmp _u64toa, $114(%rip) - -LBB3_1: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x07c6; BYTE $0x2d // movb $45, (%rdi) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0xf748; BYTE $0xde // negq %rsi - LONG $0x000060e8; BYTE $0x00 // callq _u64toa, $96(%rip) - WORD $0xc0ff // incl %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; LONG $0x00000000 // .p2align 4, 0x00 - -LCPI4_0: - QUAD $0x00000000d1b71759 // .quad 3518437209 - QUAD $0x00000000d1b71759 // .quad 3518437209 - -LCPI4_1: - WORD $0x20c5 // .word 8389 - WORD $0x147b // .word 5243 - WORD $0x3334 // .word 13108 - WORD $0x8000 // .word 32768 - WORD $0x20c5 // .word 8389 - WORD $0x147b // .word 5243 - WORD $0x3334 // .word 13108 - WORD $0x8000 // .word 32768 - -LCPI4_2: - WORD $0x0080 // .word 128 - WORD $0x0800 // .word 2048 - WORD $0x2000 // .word 8192 - WORD $0x8000 // .word 32768 - WORD $0x0080 // .word 128 - WORD $0x0800 // .word 2048 - WORD $0x2000 // .word 8192 - WORD $0x8000 // .word 32768 - -LCPI4_3: - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - WORD $0x000a // .word 10 - -LCPI4_4: - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - - // .p2align 4, 0x90 -_u64toa: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - LONG $0x0ffe8148; WORD $0x0027; BYTE $0x00 // cmpq $9999, %rsi - LONG $0x00a2870f; WORD $0x0000 // ja LBB4_8, $162(%rip) - WORD $0xb70f; BYTE $0xc6 // movzwl %si, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - LONG $0x00148d48 // leaq (%rax,%rax), %rdx - WORD $0xc06b; BYTE $0x64 // imull $100, %eax, %eax - WORD $0xf189 // movl %esi, %ecx - WORD $0xc129 // subl %eax, %ecx - WORD $0xb70f; BYTE $0xc1 // movzwl %cx, %eax - WORD $0x0148; BYTE $0xc0 // addq %rax, %rax - LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi - LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip) - LONG $0xac0d8d48; WORD $0x00af; BYTE $0x00 // leaq $44972(%rip), %rcx /* _Digits(%rip) */ - WORD $0x0c8a; BYTE $0x0a // movb (%rdx,%rcx), %cl - WORD $0x0f88 // movb %cl, (%rdi) - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0x00000be9; BYTE $0x00 // jmp LBB4_4, $11(%rip) - -LBB4_3: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x0045820f; WORD $0x0000 // jb LBB4_5, $69(%rip) - -LBB4_4: - WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx - LONG $0x01ca8348 // orq $1, %rdx - LONG $0x84358d48; WORD $0x00af; BYTE $0x00 // leaq $44932(%rip), %rsi /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x32 // movb (%rdx,%rsi), %dl - WORD $0xce89 // movl %ecx, %esi - WORD $0xc1ff // incl %ecx - WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi) - -LBB4_6: - LONG $0x73158d48; WORD $0x00af; BYTE $0x00 // leaq $44915(%rip), %rdx /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x10 // movb (%rax,%rdx), %dl - WORD $0xce89 // movl %ecx, %esi - WORD $0xc1ff // incl %ecx - WORD $0x1488; BYTE $0x37 // movb %dl, (%rdi,%rsi) - -LBB4_7: - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x01c88348 // orq $1, %rax - LONG $0x5b158d48; WORD $0x00af; BYTE $0x00 // leaq $44891(%rip), %rdx /* _Digits(%rip) */ - WORD $0x048a; BYTE $0x10 // movb (%rax,%rdx), %al - WORD $0xca89 // movl %ecx, %edx - WORD $0xc1ff // incl %ecx - WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx) - WORD $0xc889 // movl %ecx, %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB4_5: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0xfe83; BYTE $0x0a // cmpl $10, %esi - LONG $0xffc8830f; WORD $0xffff // jae LBB4_6, $-56(%rip) - LONG $0xffffd4e9; BYTE $0xff // jmp LBB4_7, $-44(%rip) - -LBB4_8: - LONG $0xfffe8148; WORD $0xf5e0; BYTE $0x05 // cmpq $99999999, %rsi - LONG $0x011e870f; WORD $0x0000 // ja LBB4_16, $286(%rip) - WORD $0xf089 // movl %esi, %eax - LONG $0xb71759ba; BYTE $0xd1 // movl $3518437209, %edx - LONG $0xd0af0f48 // imulq %rax, %rdx - LONG $0x2deac148 // shrq $45, %rdx - LONG $0x10c26944; WORD $0x0027; BYTE $0x00 // imull $10000, %edx, %r8d - WORD $0xf189 // movl %esi, %ecx - WORD $0x2944; BYTE $0xc1 // subl %r8d, %ecx - LONG $0x83d0694c; WORD $0x1bde; BYTE $0x43 // imulq $1125899907, %rax, %r10 - LONG $0x31eac149 // shrq $49, %r10 - LONG $0xfee28341 // andl $-2, %r10d - WORD $0xb70f; BYTE $0xc2 // movzwl %dx, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - WORD $0xc06b; BYTE $0x64 // imull $100, %eax, %eax - WORD $0xc229 // subl %eax, %edx - LONG $0xcab70f44 // movzwl %dx, %r9d - WORD $0x014d; BYTE $0xc9 // addq %r9, %r9 - WORD $0xb70f; BYTE $0xc1 // movzwl %cx, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - LONG $0x00048d4c // leaq (%rax,%rax), %r8 - WORD $0xc06b; BYTE $0x64 // imull $100, %eax, %eax - WORD $0xc129 // subl %eax, %ecx - LONG $0xd9b70f44 // movzwl %cx, %r11d - WORD $0x014d; BYTE $0xdb // addq %r11, %r11 - LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi - LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip) - LONG $0xb9058d48; WORD $0x00ae; BYTE $0x00 // leaq $44729(%rip), %rax /* _Digits(%rip) */ - LONG $0x02048a41 // movb (%r10,%rax), %al - WORD $0x0788 // movb %al, (%rdi) - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0x00000ee9; BYTE $0x00 // jmp LBB4_12, $14(%rip) - -LBB4_11: - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x4240fe81; WORD $0x000f // cmpl $1000000, %esi - LONG $0x0076820f; WORD $0x0000 // jb LBB4_13, $118(%rip) - -LBB4_12: - WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax - LONG $0x01c88348 // orq $1, %rax - LONG $0x8d358d48; WORD $0x00ae; BYTE $0x00 // leaq $44685(%rip), %rsi /* _Digits(%rip) */ - WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al - WORD $0xce89 // movl %ecx, %esi - WORD $0xc1ff // incl %ecx - WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi) - -LBB4_14: - LONG $0x7c058d48; WORD $0x00ae; BYTE $0x00 // leaq $44668(%rip), %rax /* _Digits(%rip) */ - LONG $0x01048a41 // movb (%r9,%rax), %al - WORD $0xce89 // movl %ecx, %esi - WORD $0xc1ff // incl %ecx - WORD $0x0488; BYTE $0x37 // movb %al, (%rdi,%rsi) - -LBB4_15: - LONG $0xc1b70f41 // movzwl %r9w, %eax - LONG $0x01c88348 // orq $1, %rax - LONG $0x62358d48; WORD $0x00ae; BYTE $0x00 // leaq $44642(%rip), %rsi /* _Digits(%rip) */ - WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al - WORD $0xca89 // movl %ecx, %edx - WORD $0x0488; BYTE $0x17 // movb %al, (%rdi,%rdx) - LONG $0x30048a41 // movb (%r8,%rsi), %al - LONG $0x01174488 // movb %al, $1(%rdi,%rdx) - LONG $0xc0b70f41 // movzwl %r8w, %eax - LONG $0x01c88348 // orq $1, %rax - WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al - LONG $0x02174488 // movb %al, $2(%rdi,%rdx) - LONG $0x33048a41 // movb (%r11,%rsi), %al - LONG $0x03174488 // movb %al, $3(%rdi,%rdx) - LONG $0xc3b70f41 // movzwl %r11w, %eax - LONG $0x01c88348 // orq $1, %rax - WORD $0x048a; BYTE $0x30 // movb (%rax,%rsi), %al - WORD $0xc183; BYTE $0x05 // addl $5, %ecx - LONG $0x04174488 // movb %al, $4(%rdi,%rdx) - WORD $0xc889 // movl %ecx, %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB4_13: - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x86a0fe81; WORD $0x0001 // cmpl $100000, %esi - LONG $0xff94830f; WORD $0xffff // jae LBB4_14, $-108(%rip) - LONG $0xffffa1e9; BYTE $0xff // jmp LBB4_15, $-95(%rip) - -LBB4_16: - QUAD $0x86f26fc0ffffb848; WORD $0x0023 // movabsq $9999999999999999, %rax - WORD $0x3948; BYTE $0xc6 // cmpq %rax, %rsi - LONG $0x0115870f; WORD $0x0000 // ja LBB4_18, $277(%rip) - QUAD $0x77118461cefdb948; WORD $0xabcc // movabsq $-6067343680855748867, %rcx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf748; BYTE $0xe1 // mulq %rcx - LONG $0x1aeac148 // shrq $26, %rdx - LONG $0xe100c269; WORD $0x05f5 // imull $100000000, %edx, %eax - WORD $0xc629 // subl %eax, %esi - LONG $0xc26e0f66 // movd %edx, %xmm0 - QUAD $0xfffffd970d6f0f66 // movdqa $-617(%rip), %xmm1 /* LCPI4_0(%rip) */ - LONG $0xd06f0f66 // movdqa %xmm0, %xmm2 - LONG $0xd1f40f66 // pmuludq %xmm1, %xmm2 - LONG $0xd2730f66; BYTE $0x2d // psrlq $45, %xmm2 - LONG $0x002710b8; BYTE $0x00 // movl $10000, %eax - LONG $0x6e0f4866; BYTE $0xd8 // movq %rax, %xmm3 - LONG $0xe26f0f66 // movdqa %xmm2, %xmm4 - LONG $0xe3f40f66 // pmuludq %xmm3, %xmm4 - LONG $0xc4fa0f66 // psubd %xmm4, %xmm0 - LONG $0xd0610f66 // punpcklwd %xmm0, %xmm2 - LONG $0xf2730f66; BYTE $0x02 // psllq $2, %xmm2 - LONG $0xc2700ff2; BYTE $0x50 // pshuflw $80, %xmm2, %xmm0 - LONG $0xc0700f66; BYTE $0x50 // pshufd $80, %xmm0, %xmm0 - QUAD $0xfffffd69156f0f66 // movdqa $-663(%rip), %xmm2 /* LCPI4_1(%rip) */ - LONG $0xc2e40f66 // pmulhuw %xmm2, %xmm0 - QUAD $0xfffffd6d256f0f66 // movdqa $-659(%rip), %xmm4 /* LCPI4_2(%rip) */ - LONG $0xc4e40f66 // pmulhuw %xmm4, %xmm0 - QUAD $0xfffffd712d6f0f66 // movdqa $-655(%rip), %xmm5 /* LCPI4_3(%rip) */ - LONG $0xf06f0f66 // movdqa %xmm0, %xmm6 - LONG $0xf5d50f66 // pmullw %xmm5, %xmm6 - LONG $0xf6730f66; BYTE $0x10 // psllq $16, %xmm6 - LONG $0xc6f90f66 // psubw %xmm6, %xmm0 - LONG $0xf66e0f66 // movd %esi, %xmm6 - LONG $0xcef40f66 // pmuludq %xmm6, %xmm1 - LONG $0xd1730f66; BYTE $0x2d // psrlq $45, %xmm1 - LONG $0xd9f40f66 // pmuludq %xmm1, %xmm3 - LONG $0xf3fa0f66 // psubd %xmm3, %xmm6 - LONG $0xce610f66 // punpcklwd %xmm6, %xmm1 - LONG $0xf1730f66; BYTE $0x02 // psllq $2, %xmm1 - LONG $0xc9700ff2; BYTE $0x50 // pshuflw $80, %xmm1, %xmm1 - LONG $0xc9700f66; BYTE $0x50 // pshufd $80, %xmm1, %xmm1 - LONG $0xcae40f66 // pmulhuw %xmm2, %xmm1 - LONG $0xcce40f66 // pmulhuw %xmm4, %xmm1 - LONG $0xe9d50f66 // pmullw %xmm1, %xmm5 - LONG $0xf5730f66; BYTE $0x10 // psllq $16, %xmm5 - LONG $0xcdf90f66 // psubw %xmm5, %xmm1 - LONG $0xc1670f66 // packuswb %xmm1, %xmm0 - QUAD $0xfffffd270d6f0f66 // movdqa $-729(%rip), %xmm1 /* LCPI4_4(%rip) */ - LONG $0xc8fc0f66 // paddb %xmm0, %xmm1 - LONG $0xd2ef0f66 // pxor %xmm2, %xmm2 - LONG $0xd0740f66 // pcmpeqb %xmm0, %xmm2 - LONG $0xc2d70f66 // pmovmskb %xmm2, %eax - LONG $0x0080000d; BYTE $0x00 // orl $32768, %eax - LONG $0xff7fff35; BYTE $0xff // xorl $-32769, %eax - WORD $0xbc0f; BYTE $0xc0 // bsfl %eax, %eax - LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx - WORD $0xc129 // subl %eax, %ecx - LONG $0x04e0c148 // shlq $4, %rax - LONG $0x58158d48; WORD $0x00d4; BYTE $0x00 // leaq $54360(%rip), %rdx /* _VecShiftShuffles(%rip) */ - LONG $0x00380f66; WORD $0x100c // pshufb (%rax,%rdx), %xmm1 - LONG $0x0f7f0ff3 // movdqu %xmm1, (%rdi) - WORD $0xc889 // movl %ecx, %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB4_18: - QUAD $0x652fb1137857b948; WORD $0x39a5 // movabsq $4153837486827862103, %rcx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf748; BYTE $0xe1 // mulq %rcx - LONG $0x33eac148 // shrq $51, %rdx - QUAD $0x86f26fc10000b848; WORD $0x0023 // movabsq $10000000000000000, %rax - LONG $0xc2af0f48 // imulq %rdx, %rax - WORD $0x2948; BYTE $0xc6 // subq %rax, %rsi - WORD $0xfa83; BYTE $0x09 // cmpl $9, %edx - LONG $0x000f870f; WORD $0x0000 // ja LBB4_20, $15(%rip) - WORD $0xc280; BYTE $0x30 // addb $48, %dl - WORD $0x1788 // movb %dl, (%rdi) - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0x0000bae9; BYTE $0x00 // jmp LBB4_25, $186(%rip) - -LBB4_20: - WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx - LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip) - WORD $0xd089 // movl %edx, %eax - LONG $0x9b0d8d48; WORD $0x00ac; BYTE $0x00 // leaq $44187(%rip), %rcx /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl - LONG $0x0141448a // movb $1(%rcx,%rax,2), %al - WORD $0x1788 // movb %dl, (%rdi) - WORD $0x4788; BYTE $0x01 // movb %al, $1(%rdi) - LONG $0x000002b9; BYTE $0x00 // movl $2, %ecx - LONG $0x000092e9; BYTE $0x00 // jmp LBB4_25, $146(%rip) - -LBB4_22: - WORD $0xd089 // movl %edx, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - LONG $0x03e7fa81; WORD $0x0000 // cmpl $999, %edx - LONG $0x003c870f; WORD $0x0000 // ja LBB4_24, $60(%rip) - WORD $0xc083; BYTE $0x30 // addl $48, %eax - WORD $0x0788 // movb %al, (%rdi) - WORD $0xb70f; BYTE $0xc2 // movzwl %dx, %eax - WORD $0xc189 // movl %eax, %ecx - WORD $0xe9c1; BYTE $0x02 // shrl $2, %ecx - LONG $0x147bc969; WORD $0x0000 // imull $5243, %ecx, %ecx - WORD $0xe9c1; BYTE $0x11 // shrl $17, %ecx - WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx - WORD $0xc829 // subl %ecx, %eax - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x460d8d48; WORD $0x00ac; BYTE $0x00 // leaq $44102(%rip), %rcx /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl - LONG $0x0141448a // movb $1(%rcx,%rax,2), %al - WORD $0x5788; BYTE $0x01 // movb %dl, $1(%rdi) - WORD $0x4788; BYTE $0x02 // movb %al, $2(%rdi) - LONG $0x000003b9; BYTE $0x00 // movl $3, %ecx - LONG $0x00003ce9; BYTE $0x00 // jmp LBB4_25, $60(%rip) - -LBB4_24: - WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx - WORD $0xca29 // subl %ecx, %edx - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x20058d4c; WORD $0x00ac; BYTE $0x00 // leaq $44064(%rip), %r8 /* _Digits(%rip) */ - LONG $0x400c8a41 // movb (%r8,%rax,2), %cl - LONG $0x40448a41; BYTE $0x01 // movb $1(%r8,%rax,2), %al - WORD $0x0f88 // movb %cl, (%rdi) - WORD $0x4788; BYTE $0x01 // movb %al, $1(%rdi) - WORD $0xb70f; BYTE $0xc2 // movzwl %dx, %eax - LONG $0x400c8a41 // movb (%r8,%rax,2), %cl - WORD $0x0148; BYTE $0xc0 // addq %rax, %rax - WORD $0x4f88; BYTE $0x02 // movb %cl, $2(%rdi) - WORD $0xc883; BYTE $0x01 // orl $1, %eax - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x00048a42 // movb (%rax,%r8), %al - WORD $0x4788; BYTE $0x03 // movb %al, $3(%rdi) - LONG $0x000004b9; BYTE $0x00 // movl $4, %ecx - -LBB4_25: - QUAD $0x77118461cefdba48; WORD $0xabcc // movabsq $-6067343680855748867, %rdx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf748; BYTE $0xe2 // mulq %rdx - LONG $0x1aeac148 // shrq $26, %rdx - LONG $0xc26e0f66 // movd %edx, %xmm0 - QUAD $0xfffffb930d6f0f66 // movdqa $-1133(%rip), %xmm1 /* LCPI4_0(%rip) */ - LONG $0xd86f0f66 // movdqa %xmm0, %xmm3 - LONG $0xd9f40f66 // pmuludq %xmm1, %xmm3 - LONG $0xd3730f66; BYTE $0x2d // psrlq $45, %xmm3 - LONG $0x002710b8; BYTE $0x00 // movl $10000, %eax - LONG $0x6e0f4866; BYTE $0xd0 // movq %rax, %xmm2 - LONG $0xe36f0f66 // movdqa %xmm3, %xmm4 - LONG $0xe2f40f66 // pmuludq %xmm2, %xmm4 - LONG $0xc4fa0f66 // psubd %xmm4, %xmm0 - LONG $0xd8610f66 // punpcklwd %xmm0, %xmm3 - LONG $0xf3730f66; BYTE $0x02 // psllq $2, %xmm3 - LONG $0xc3700ff2; BYTE $0x50 // pshuflw $80, %xmm3, %xmm0 - LONG $0xc0700f66; BYTE $0x50 // pshufd $80, %xmm0, %xmm0 - QUAD $0xfffffb65256f0f66 // movdqa $-1179(%rip), %xmm4 /* LCPI4_1(%rip) */ - LONG $0xc4e40f66 // pmulhuw %xmm4, %xmm0 - QUAD $0xfffffb692d6f0f66 // movdqa $-1175(%rip), %xmm5 /* LCPI4_2(%rip) */ - LONG $0xc5e40f66 // pmulhuw %xmm5, %xmm0 - QUAD $0xfffffb6d1d6f0f66 // movdqa $-1171(%rip), %xmm3 /* LCPI4_3(%rip) */ - LONG $0xf06f0f66 // movdqa %xmm0, %xmm6 - LONG $0xf3d50f66 // pmullw %xmm3, %xmm6 - LONG $0xf6730f66; BYTE $0x10 // psllq $16, %xmm6 - LONG $0xc6f90f66 // psubw %xmm6, %xmm0 - LONG $0xe100c269; WORD $0x05f5 // imull $100000000, %edx, %eax - WORD $0xc629 // subl %eax, %esi - LONG $0xf66e0f66 // movd %esi, %xmm6 - LONG $0xcef40f66 // pmuludq %xmm6, %xmm1 - LONG $0xd1730f66; BYTE $0x2d // psrlq $45, %xmm1 - LONG $0xd1f40f66 // pmuludq %xmm1, %xmm2 - LONG $0xf2fa0f66 // psubd %xmm2, %xmm6 - LONG $0xce610f66 // punpcklwd %xmm6, %xmm1 - LONG $0xf1730f66; BYTE $0x02 // psllq $2, %xmm1 - LONG $0xc9700ff2; BYTE $0x50 // pshuflw $80, %xmm1, %xmm1 - LONG $0xc9700f66; BYTE $0x50 // pshufd $80, %xmm1, %xmm1 - LONG $0xcce40f66 // pmulhuw %xmm4, %xmm1 - LONG $0xcde40f66 // pmulhuw %xmm5, %xmm1 - LONG $0xd9d50f66 // pmullw %xmm1, %xmm3 - LONG $0xf3730f66; BYTE $0x10 // psllq $16, %xmm3 - LONG $0xcbf90f66 // psubw %xmm3, %xmm1 - LONG $0xc1670f66 // packuswb %xmm1, %xmm0 - QUAD $0xfffffb1b05fc0f66 // paddb $-1253(%rip), %xmm0 /* LCPI4_4(%rip) */ - WORD $0xc889 // movl %ecx, %eax - LONG $0x047f0ff3; BYTE $0x07 // movdqu %xmm0, (%rdi,%rax) - WORD $0xc983; BYTE $0x10 // orl $16, %ecx - WORD $0xc889 // movl %ecx, %eax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; LONG $0x00000000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI5_0: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI5_1: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI5_2: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - - // .p2align 4, 0x90 -_quote: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x10ec8348 // subq $16, %rsp - WORD $0x8949; BYTE $0xcd // movq %rcx, %r13 - WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x8b4c; BYTE $0x19 // movq (%rcx), %r11 - LONG $0x01c0f641 // testb $1, %r8b - LONG $0x980d8d48; WORD $0x00d2; BYTE $0x00 // leaq $53912(%rip), %rcx /* __SingleQuoteTab(%rip) */ - LONG $0x91058d4c; WORD $0x00e2; BYTE $0x00 // leaq $58001(%rip), %r8 /* __DoubleQuoteTab(%rip) */ - LONG $0xc1440f4c // cmoveq %rcx, %r8 - QUAD $0x00000000f50c8d48 // leaq (,%rsi,8), %rcx - WORD $0x3949; BYTE $0xcb // cmpq %rcx, %r11 - LONG $0x044f8d0f; WORD $0x0000 // jge LBB5_51, $1103(%rip) - WORD $0x894d; BYTE $0xfe // movq %r15, %r14 - WORD $0x8949; BYTE $0xfa // movq %rdi, %r10 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0431840f; WORD $0x0000 // je LBB5_74, $1073(%rip) - QUAD $0xffffff75056f0f66 // movdqa $-139(%rip), %xmm0 /* LCPI5_0(%rip) */ - QUAD $0xffffff7d0d6f0f66 // movdqa $-131(%rip), %xmm1 /* LCPI5_1(%rip) */ - QUAD $0xffffff85156f0f66 // movdqa $-123(%rip), %xmm2 /* LCPI5_2(%rip) */ - LONG $0xdb760f66 // pcmpeqd %xmm3, %xmm3 - WORD $0x8949; BYTE $0xfa // movq %rdi, %r10 - WORD $0x894d; BYTE $0xfe // movq %r15, %r14 - LONG $0xc87d894c // movq %r15, $-56(%rbp) - -LBB5_3: - LONG $0x0ff88348 // cmpq $15, %rax - WORD $0x9f0f; BYTE $0xc2 // setg %dl - WORD $0x894d; BYTE $0xd9 // movq %r11, %r9 - WORD $0x894d; BYTE $0xf7 // movq %r14, %r15 - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x894d; BYTE $0xd4 // movq %r10, %r12 - LONG $0x10fb8349 // cmpq $16, %r11 - LONG $0x009a8c0f; WORD $0x0000 // jl LBB5_9, $154(%rip) - LONG $0x10f88348 // cmpq $16, %rax - LONG $0x00908c0f; WORD $0x0000 // jl LBB5_9, $144(%rip) - WORD $0x894d; BYTE $0xd4 // movq %r10, %r12 - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x894d; BYTE $0xf7 // movq %r14, %r15 - WORD $0x894c; BYTE $0xdb // movq %r11, %rbx - LONG $0x90909090 // .p2align 4, 0x90 - -LBB5_6: - LONG $0x6f0f41f3; WORD $0x2424 // movdqu (%r12), %xmm4 - LONG $0xe86f0f66 // movdqa %xmm0, %xmm5 - LONG $0xec640f66 // pcmpgtb %xmm4, %xmm5 - LONG $0xf46f0f66 // movdqa %xmm4, %xmm6 - LONG $0xf1740f66 // pcmpeqb %xmm1, %xmm6 - LONG $0xfc6f0f66 // movdqa %xmm4, %xmm7 - LONG $0xfa740f66 // pcmpeqb %xmm2, %xmm7 - LONG $0xfeeb0f66 // por %xmm6, %xmm7 - LONG $0x7f0f41f3; BYTE $0x27 // movdqu %xmm4, (%r15) - LONG $0xe3640f66 // pcmpgtb %xmm3, %xmm4 - LONG $0xe5db0f66 // pand %xmm5, %xmm4 - LONG $0xe7eb0f66 // por %xmm7, %xmm4 - LONG $0xccd70f66 // pmovmskb %xmm4, %ecx - WORD $0x8566; BYTE $0xc9 // testw %cx, %cx - LONG $0x012e850f; WORD $0x0000 // jne LBB5_18, $302(%rip) - LONG $0x10c48349 // addq $16, %r12 - LONG $0x10c78349 // addq $16, %r15 - LONG $0xf04e8d48 // leaq $-16(%rsi), %rcx - LONG $0xf04b8d4c // leaq $-16(%rbx), %r9 - LONG $0x1ffe8348 // cmpq $31, %rsi - WORD $0x9f0f; BYTE $0xc2 // setg %dl - LONG $0x20fe8348 // cmpq $32, %rsi - LONG $0x001f8c0f; WORD $0x0000 // jl LBB5_9, $31(%rip) - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - LONG $0x1ffb8348 // cmpq $31, %rbx - WORD $0x894c; BYTE $0xcb // movq %r9, %rbx - LONG $0xff8f8f0f; WORD $0xffff // jg LBB5_6, $-113(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB5_9: - WORD $0xd284 // testb %dl, %dl - LONG $0x0077840f; WORD $0x0000 // je LBB5_13, $119(%rip) - LONG $0xd06d894c // movq %r13, $-48(%rbp) - LONG $0x6f0f41f3; WORD $0x2424 // movdqu (%r12), %xmm4 - LONG $0xe86f0f66 // movdqa %xmm0, %xmm5 - LONG $0xec640f66 // pcmpgtb %xmm4, %xmm5 - LONG $0xf46f0f66 // movdqa %xmm4, %xmm6 - LONG $0xf1740f66 // pcmpeqb %xmm1, %xmm6 - LONG $0xfc6f0f66 // movdqa %xmm4, %xmm7 - LONG $0xfa740f66 // pcmpeqb %xmm2, %xmm7 - LONG $0xfeeb0f66 // por %xmm6, %xmm7 - LONG $0x7e0f4866; BYTE $0xe1 // movq %xmm4, %rcx - LONG $0xe3640f66 // pcmpgtb %xmm3, %xmm4 - LONG $0xe5db0f66 // pand %xmm5, %xmm4 - LONG $0xe7eb0f66 // por %xmm7, %xmm4 - LONG $0xd4d70f66 // pmovmskb %xmm4, %edx - LONG $0x0000ca81; WORD $0x0001 // orl $65536, %edx - LONG $0xeabc0f44 // bsfl %edx, %r13d - WORD $0x394d; BYTE $0xe9 // cmpq %r13, %r9 - LONG $0x00c18d0f; WORD $0x0000 // jge LBB5_19, $193(%rip) - LONG $0x08f98349 // cmpq $8, %r9 - LONG $0x0102820f; WORD $0x0000 // jb LBB5_22, $258(%rip) - WORD $0x8949; BYTE $0x0f // movq %rcx, (%r15) - LONG $0x246c8d4d; BYTE $0x08 // leaq $8(%r12), %r13 - LONG $0x08c78349 // addq $8, %r15 - LONG $0xf8718d49 // leaq $-8(%r9), %rsi - LONG $0x04fe8348 // cmpq $4, %rsi - LONG $0x00f88d0f; WORD $0x0000 // jge LBB5_23, $248(%rip) - LONG $0x000106e9; BYTE $0x00 // jmp LBB5_24, $262(%rip) - -LBB5_13: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x01488e0f; WORD $0x0000 // jle LBB5_28, $328(%rip) - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x013f8e0f; WORD $0x0000 // jle LBB5_29, $319(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB5_15: - LONG $0x34b60f41; BYTE $0x24 // movzbl (%r12), %esi - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - LONG $0x04e2c148 // shlq $4, %rdx - LONG $0xdd1d8d48; WORD $0x00d0; BYTE $0x00 // leaq $53469(%rip), %rbx /* __SingleQuoteTab(%rip) */ - LONG $0x1a3c8348; BYTE $0x00 // cmpq $0, (%rdx,%rbx) - LONG $0x0082850f; WORD $0x0000 // jne LBB5_21, $130(%rip) - LONG $0xff518d48 // leaq $-1(%rcx), %rdx - WORD $0xff49; BYTE $0xc4 // incq %r12 - WORD $0x8841; BYTE $0x37 // movb %sil, (%r15) - LONG $0x02f98348 // cmpq $2, %rcx - LONG $0x01018c0f; WORD $0x0000 // jl LBB5_29, $257(%rip) - LONG $0xff718d49 // leaq $-1(%r9), %rsi - WORD $0xff49; BYTE $0xc7 // incq %r15 - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - LONG $0x01f98349 // cmpq $1, %r9 - WORD $0x8949; BYTE $0xf1 // movq %rsi, %r9 - LONG $0xffb78f0f; WORD $0xffff // jg LBB5_15, $-73(%rip) - LONG $0x0000e5e9; BYTE $0x00 // jmp LBB5_29, $229(%rip) - -LBB5_18: - WORD $0xb70f; BYTE $0xc9 // movzwl %cx, %ecx - WORD $0x294d; BYTE $0xd4 // subq %r10, %r12 - LONG $0xc9bc0f44 // bsfl %ecx, %r9d - WORD $0x014d; BYTE $0xe1 // addq %r12, %r9 - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0xc87d8b4c // movq $-56(%rbp), %r15 - QUAD $0x000300000001bc49; WORD $0x0000 // movabsq $12884901889, %r12 - LONG $0x0167890f; WORD $0x0000 // jns LBB5_37, $359(%rip) - LONG $0x0004bbe9; BYTE $0x00 // jmp LBB5_78, $1211(%rip) - -LBB5_19: - LONG $0x08fd8341 // cmpl $8, %r13d - LONG $0x00da820f; WORD $0x0000 // jb LBB5_30, $218(%rip) - WORD $0x8949; BYTE $0x0f // movq %rcx, (%r15) - LONG $0x24748d49; BYTE $0x08 // leaq $8(%r12), %rsi - LONG $0x08c78349 // addq $8, %r15 - LONG $0xf85d8d49 // leaq $-8(%r13), %rbx - LONG $0x04fb8348 // cmpq $4, %rbx - LONG $0x00d08d0f; WORD $0x0000 // jge LBB5_31, $208(%rip) - LONG $0x0000dce9; BYTE $0x00 // jmp LBB5_32, $220(%rip) - -LBB5_21: - WORD $0x294d; BYTE $0xd4 // subq %r10, %r12 - WORD $0x894d; BYTE $0xe1 // movq %r12, %r9 - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0xc87d8b4c // movq $-56(%rbp), %r15 - QUAD $0x000300000001bc49; WORD $0x0000 // movabsq $12884901889, %r12 - LONG $0x011c890f; WORD $0x0000 // jns LBB5_37, $284(%rip) - LONG $0x000470e9; BYTE $0x00 // jmp LBB5_78, $1136(%rip) - -LBB5_22: - WORD $0x894d; BYTE $0xe5 // movq %r12, %r13 - WORD $0x894c; BYTE $0xce // movq %r9, %rsi - LONG $0x04fe8348 // cmpq $4, %rsi - LONG $0x00138c0f; WORD $0x0000 // jl LBB5_24, $19(%rip) - -LBB5_23: - LONG $0x004d8b41 // movl (%r13), %ecx - WORD $0x8941; BYTE $0x0f // movl %ecx, (%r15) - LONG $0x04c58349 // addq $4, %r13 - LONG $0x04c78349 // addq $4, %r15 - LONG $0xfcc68348 // addq $-4, %rsi - -LBB5_24: - LONG $0x02fe8348 // cmpq $2, %rsi - LONG $0x0023820f; WORD $0x0000 // jb LBB5_25, $35(%rip) - LONG $0x4db70f41; BYTE $0x00 // movzwl (%r13), %ecx - LONG $0x0f894166 // movw %cx, (%r15) - LONG $0x02c58349 // addq $2, %r13 - LONG $0x02c78349 // addq $2, %r15 - LONG $0xfec68348 // addq $-2, %rsi - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x000e850f; WORD $0x0000 // jne LBB5_26, $14(%rip) - LONG $0x000010e9; BYTE $0x00 // jmp LBB5_27, $16(%rip) - -LBB5_25: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0007840f; WORD $0x0000 // je LBB5_27, $7(%rip) - -LBB5_26: - LONG $0x004d8a41 // movb (%r13), %cl - WORD $0x8841; BYTE $0x0f // movb %cl, (%r15) - -LBB5_27: - WORD $0x294d; BYTE $0xd1 // subq %r10, %r9 - WORD $0x014d; BYTE $0xe1 // addq %r12, %r9 - WORD $0xf749; BYTE $0xd1 // notq %r9 - LONG $0x00008ee9; BYTE $0x00 // jmp LBB5_36, $142(%rip) - -LBB5_28: - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - -LBB5_29: - WORD $0x294d; BYTE $0xd4 // subq %r10, %r12 - WORD $0xf748; BYTE $0xda // negq %rdx - WORD $0x194d; BYTE $0xc9 // sbbq %r9, %r9 - WORD $0x314d; BYTE $0xe1 // xorq %r12, %r9 - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0xc87d8b4c // movq $-56(%rbp), %r15 - QUAD $0x000300000001bc49; WORD $0x0000 // movabsq $12884901889, %r12 - LONG $0x0083890f; WORD $0x0000 // jns LBB5_37, $131(%rip) - LONG $0x0003d7e9; BYTE $0x00 // jmp LBB5_78, $983(%rip) - -LBB5_30: - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - WORD $0x894c; BYTE $0xeb // movq %r13, %rbx - LONG $0x04fb8348 // cmpq $4, %rbx - LONG $0x00118c0f; WORD $0x0000 // jl LBB5_32, $17(%rip) - -LBB5_31: - WORD $0x0e8b // movl (%rsi), %ecx - WORD $0x8941; BYTE $0x0f // movl %ecx, (%r15) - LONG $0x04c68348 // addq $4, %rsi - LONG $0x04c78349 // addq $4, %r15 - LONG $0xfcc38348 // addq $-4, %rbx - -LBB5_32: - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0x0021820f; WORD $0x0000 // jb LBB5_33, $33(%rip) - WORD $0xb70f; BYTE $0x0e // movzwl (%rsi), %ecx - LONG $0x0f894166 // movw %cx, (%r15) - LONG $0x02c68348 // addq $2, %rsi - LONG $0x02c78349 // addq $2, %r15 - LONG $0xfec38348 // addq $-2, %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x000e850f; WORD $0x0000 // jne LBB5_34, $14(%rip) - LONG $0x00000ee9; BYTE $0x00 // jmp LBB5_35, $14(%rip) - -LBB5_33: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0005840f; WORD $0x0000 // je LBB5_35, $5(%rip) - -LBB5_34: - WORD $0x0e8a // movb (%rsi), %cl - WORD $0x8841; BYTE $0x0f // movb %cl, (%r15) - -LBB5_35: - WORD $0x294d; BYTE $0xd4 // subq %r10, %r12 - WORD $0x014d; BYTE $0xec // addq %r13, %r12 - WORD $0x894d; BYTE $0xe1 // movq %r12, %r9 - -LBB5_36: - LONG $0xd06d8b4c // movq $-48(%rbp), %r13 - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0xc87d8b4c // movq $-56(%rbp), %r15 - QUAD $0x000300000001bc49; WORD $0x0000 // movabsq $12884901889, %r12 - LONG $0x0359880f; WORD $0x0000 // js LBB5_78, $857(%rip) - -LBB5_37: - WORD $0x014d; BYTE $0xca // addq %r9, %r10 - WORD $0x014d; BYTE $0xce // addq %r9, %r14 - WORD $0x394c; BYTE $0xc8 // cmpq %r9, %rax - LONG $0x00cc840f; WORD $0x0000 // je LBB5_74, $204(%rip) - WORD $0x294d; BYTE $0xcb // subq %r9, %r11 - WORD $0x2949; BYTE $0xc1 // subq %rax, %r9 - LONG $0x00001ce9; BYTE $0x00 // jmp LBB5_40, $28(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB5_39: - WORD $0xff49; BYTE $0xc2 // incq %r10 - WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 - WORD $0xff49; BYTE $0xc1 // incq %r9 - LONG $0x00a5840f; WORD $0x0000 // je LBB5_74, $165(%rip) - -LBB5_40: - LONG $0x12b60f41 // movzbl (%r10), %edx - LONG $0x04e2c148 // shlq $4, %rdx - LONG $0x10348b49 // movq (%r8,%rdx), %rsi - WORD $0xf685 // testl %esi, %esi - LONG $0x0082840f; WORD $0x0000 // je LBB5_48, $130(%rip) - WORD $0x6348; BYTE $0xc6 // movslq %esi, %rax - WORD $0x2949; BYTE $0xc3 // subq %rax, %r11 - LONG $0x02e48c0f; WORD $0x0000 // jl LBB5_75, $740(%rip) - LONG $0x20e6c148 // shlq $32, %rsi - LONG $0x104c8d49; BYTE $0x08 // leaq $8(%r8,%rdx), %rcx - WORD $0x394c; BYTE $0xe6 // cmpq %r12, %rsi - LONG $0x002f8c0f; WORD $0x0000 // jl LBB5_44, $47(%rip) - WORD $0x098b // movl (%rcx), %ecx - WORD $0x8941; BYTE $0x0e // movl %ecx, (%r14) - LONG $0x104c8d49; BYTE $0x0c // leaq $12(%r8,%rdx), %rcx - LONG $0x04568d49 // leaq $4(%r14), %rdx - LONG $0xfc708d48 // leaq $-4(%rax), %rsi - LONG $0x02fe8348 // cmpq $2, %rsi - LONG $0x0023830f; WORD $0x0000 // jae LBB5_45, $35(%rip) - LONG $0x000030e9; BYTE $0x00 // jmp LBB5_46, $48(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB5_44: - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - LONG $0x02fe8348 // cmpq $2, %rsi - LONG $0x0012820f; WORD $0x0000 // jb LBB5_46, $18(%rip) - -LBB5_45: - WORD $0xb70f; BYTE $0x19 // movzwl (%rcx), %ebx - WORD $0x8966; BYTE $0x1a // movw %bx, (%rdx) - LONG $0x02c18348 // addq $2, %rcx - LONG $0x02c28348 // addq $2, %rdx - LONG $0xfec68348 // addq $-2, %rsi - -LBB5_46: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xff65840f; WORD $0xffff // je LBB5_39, $-155(%rip) - WORD $0xb60f; BYTE $0x09 // movzbl (%rcx), %ecx - WORD $0x0a88 // movb %cl, (%rdx) - LONG $0xffff5be9; BYTE $0xff // jmp LBB5_39, $-165(%rip) - -LBB5_48: - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - WORD $0xf748; BYTE $0xd8 // negq %rax - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0xfbf5850f; WORD $0xffff // jne LBB5_3, $-1035(%rip) - -LBB5_74: - WORD $0x294d; BYTE $0xfe // subq %r15, %r14 - LONG $0x0075894d // movq %r14, (%r13) - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - LONG $0x00025de9; BYTE $0x00 // jmp LBB5_76, $605(%rip) - -LBB5_51: - LONG $0x260d8d4c; WORD $0x00ee; BYTE $0x00 // leaq $60966(%rip), %r9 /* __EscTab(%rip) */ - QUAD $0xfffffb2e056f0f66 // movdqa $-1234(%rip), %xmm0 /* LCPI5_0(%rip) */ - QUAD $0xfffffb360d6f0f66 // movdqa $-1226(%rip), %xmm1 /* LCPI5_1(%rip) */ - QUAD $0xfffffb3e156f0f66 // movdqa $-1218(%rip), %xmm2 /* LCPI5_2(%rip) */ - LONG $0xdb760f66 // pcmpeqd %xmm3, %xmm3 - WORD $0x894c; BYTE $0xfb // movq %r15, %rbx - WORD $0x8949; BYTE $0xc2 // movq %rax, %r10 - -LBB5_52: - LONG $0x10fa8349 // cmpq $16, %r10 - LONG $0x00698c0f; WORD $0x0000 // jl LBB5_57, $105(%rip) - LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx - WORD $0xd231 // xorl %edx, %edx - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB5_54: - LONG $0x246f0ff3; BYTE $0x17 // movdqu (%rdi,%rdx), %xmm4 - LONG $0xe86f0f66 // movdqa %xmm0, %xmm5 - LONG $0xec640f66 // pcmpgtb %xmm4, %xmm5 - LONG $0xf46f0f66 // movdqa %xmm4, %xmm6 - LONG $0xf1740f66 // pcmpeqb %xmm1, %xmm6 - LONG $0xfc6f0f66 // movdqa %xmm4, %xmm7 - LONG $0xfa740f66 // pcmpeqb %xmm2, %xmm7 - LONG $0xfeeb0f66 // por %xmm6, %xmm7 - LONG $0x247f0ff3; BYTE $0x13 // movdqu %xmm4, (%rbx,%rdx) - LONG $0xe3640f66 // pcmpgtb %xmm3, %xmm4 - LONG $0xe5db0f66 // pand %xmm5, %xmm4 - LONG $0xe7eb0f66 // por %xmm7, %xmm4 - LONG $0xf4d70f66 // pmovmskb %xmm4, %esi - WORD $0x8566; BYTE $0xf6 // testw %si, %si - LONG $0x013d850f; WORD $0x0000 // jne LBB5_67, $317(%rip) - LONG $0x10c28348 // addq $16, %rdx - LONG $0x0a748d49; BYTE $0xf0 // leaq $-16(%r10,%rcx), %rsi - LONG $0xf0c18348 // addq $-16, %rcx - LONG $0x1ffe8348 // cmpq $31, %rsi - LONG $0xffaa8f0f; WORD $0xffff // jg LBB5_54, $-86(%rip) - WORD $0x0148; BYTE $0xd7 // addq %rdx, %rdi - WORD $0x2949; BYTE $0xd2 // subq %rdx, %r10 - WORD $0x0148; BYTE $0xd3 // addq %rdx, %rbx - -LBB5_57: - LONG $0x08fa8349 // cmpq $8, %r10 - LONG $0x00858c0f; WORD $0x0000 // jl LBB5_61, $133(%rip) - WORD $0xb60f; BYTE $0x0f // movzbl (%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - LONG $0x0157b60f // movzbl $1(%rdi), %edx - LONG $0x14b60f42; BYTE $0x0a // movzbl (%rdx,%r9), %edx - WORD $0xd201 // addl %edx, %edx - WORD $0xca09 // orl %ecx, %edx - LONG $0x024fb60f // movzbl $2(%rdi), %ecx - LONG $0x34b60f42; BYTE $0x09 // movzbl (%rcx,%r9), %esi - WORD $0xe6c1; BYTE $0x02 // shll $2, %esi - LONG $0x034fb60f // movzbl $3(%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - WORD $0xe1c1; BYTE $0x03 // shll $3, %ecx - WORD $0xf109 // orl %esi, %ecx - WORD $0xd109 // orl %edx, %ecx - WORD $0x8b48; BYTE $0x17 // movq (%rdi), %rdx - WORD $0x8948; BYTE $0x13 // movq %rdx, (%rbx) - WORD $0xc984 // testb %cl, %cl - LONG $0x0135850f; WORD $0x0000 // jne LBB5_71, $309(%rip) - LONG $0x044fb60f // movzbl $4(%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - LONG $0x0557b60f // movzbl $5(%rdi), %edx - LONG $0x14b60f42; BYTE $0x0a // movzbl (%rdx,%r9), %edx - WORD $0xd201 // addl %edx, %edx - WORD $0xca09 // orl %ecx, %edx - LONG $0x064fb60f // movzbl $6(%rdi), %ecx - LONG $0x34b60f42; BYTE $0x09 // movzbl (%rcx,%r9), %esi - WORD $0xe6c1; BYTE $0x02 // shll $2, %esi - LONG $0x074fb60f // movzbl $7(%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - WORD $0xe1c1; BYTE $0x03 // shll $3, %ecx - WORD $0xf109 // orl %esi, %ecx - WORD $0xd109 // orl %edx, %ecx - WORD $0xc984 // testb %cl, %cl - LONG $0x010c850f; WORD $0x0000 // jne LBB5_72, $268(%rip) - LONG $0x08c38348 // addq $8, %rbx - LONG $0x08c78348 // addq $8, %rdi - LONG $0xf8c28349 // addq $-8, %r10 - -LBB5_61: - LONG $0x04fa8349 // cmpq $4, %r10 - LONG $0x00498c0f; WORD $0x0000 // jl LBB5_64, $73(%rip) - WORD $0xb60f; BYTE $0x0f // movzbl (%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - LONG $0x0157b60f // movzbl $1(%rdi), %edx - LONG $0x14b60f42; BYTE $0x0a // movzbl (%rdx,%r9), %edx - WORD $0xd201 // addl %edx, %edx - WORD $0xca09 // orl %ecx, %edx - LONG $0x024fb60f // movzbl $2(%rdi), %ecx - LONG $0x34b60f42; BYTE $0x09 // movzbl (%rcx,%r9), %esi - WORD $0xe6c1; BYTE $0x02 // shll $2, %esi - LONG $0x034fb60f // movzbl $3(%rdi), %ecx - LONG $0x0cb60f42; BYTE $0x09 // movzbl (%rcx,%r9), %ecx - WORD $0xe1c1; BYTE $0x03 // shll $3, %ecx - WORD $0xf109 // orl %esi, %ecx - WORD $0xd109 // orl %edx, %ecx - WORD $0x178b // movl (%rdi), %edx - WORD $0x1389 // movl %edx, (%rbx) - WORD $0xc984 // testb %cl, %cl - LONG $0x00a8850f; WORD $0x0000 // jne LBB5_71, $168(%rip) - LONG $0x04c38348 // addq $4, %rbx - LONG $0x04c78348 // addq $4, %rdi - LONG $0xfcc28349 // addq $-4, %r10 - -LBB5_64: - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x00bd8e0f; WORD $0x0000 // jle LBB5_73, $189(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB5_65: - WORD $0xb60f; BYTE $0x0f // movzbl (%rdi), %ecx - LONG $0x093c8042; BYTE $0x00 // cmpb $0, (%rcx,%r9) - LONG $0x0036850f; WORD $0x0000 // jne LBB5_68, $54(%rip) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0x0b88 // movb %cl, (%rbx) - WORD $0xff48; BYTE $0xc3 // incq %rbx - LONG $0xff4a8d49 // leaq $-1(%r10), %rcx - LONG $0x01fa8349 // cmpq $1, %r10 - WORD $0x8949; BYTE $0xca // movq %rcx, %r10 - LONG $0xffd98f0f; WORD $0xffff // jg LBB5_65, $-39(%rip) - LONG $0x00008be9; BYTE $0x00 // jmp LBB5_73, $139(%rip) - -LBB5_67: - WORD $0xb70f; BYTE $0xce // movzwl %si, %ecx - WORD $0xbc0f; BYTE $0xc9 // bsfl %ecx, %ecx - WORD $0x0148; BYTE $0xcf // addq %rcx, %rdi - WORD $0x0148; BYTE $0xd7 // addq %rdx, %rdi - WORD $0x2949; BYTE $0xca // subq %rcx, %r10 - WORD $0x2949; BYTE $0xd2 // subq %rdx, %r10 - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - WORD $0x0148; BYTE $0xd3 // addq %rdx, %rbx - -LBB5_68: - WORD $0x0f8a // movb (%rdi), %cl - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB5_69: - WORD $0x8948; BYTE $0xda // movq %rbx, %rdx - WORD $0xb60f; BYTE $0xc9 // movzbl %cl, %ecx - LONG $0x04e1c148 // shlq $4, %rcx - LONG $0x081c6349 // movslq (%r8,%rcx), %rbx - LONG $0x084c8b49; BYTE $0x08 // movq $8(%r8,%rcx), %rcx - WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) - WORD $0x0148; BYTE $0xd3 // addq %rdx, %rbx - LONG $0x02fa8349 // cmpq $2, %r10 - LONG $0x00448c0f; WORD $0x0000 // jl LBB5_73, $68(%rip) - WORD $0xff49; BYTE $0xca // decq %r10 - LONG $0x014fb60f // movzbl $1(%rdi), %ecx - WORD $0xff48; BYTE $0xc7 // incq %rdi - LONG $0x093c8042; BYTE $0x00 // cmpb $0, (%rcx,%r9) - LONG $0xffc8850f; WORD $0xffff // jne LBB5_69, $-56(%rip) - LONG $0xfffe0fe9; BYTE $0xff // jmp LBB5_52, $-497(%rip) - -LBB5_71: - WORD $0xbc0f; BYTE $0xc9 // bsfl %ecx, %ecx - WORD $0x0148; BYTE $0xcf // addq %rcx, %rdi - WORD $0x2949; BYTE $0xca // subq %rcx, %r10 - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - LONG $0xffffa6e9; BYTE $0xff // jmp LBB5_68, $-90(%rip) - -LBB5_72: - WORD $0xbc0f; BYTE $0xc9 // bsfl %ecx, %ecx - LONG $0x04518d48 // leaq $4(%rcx), %rdx - LONG $0x0f7c8d48; BYTE $0x04 // leaq $4(%rdi,%rcx), %rdi - WORD $0x2949; BYTE $0xd2 // subq %rdx, %r10 - LONG $0x0b5c8d48; BYTE $0x04 // leaq $4(%rbx,%rcx), %rbx - LONG $0xffff8de9; BYTE $0xff // jmp LBB5_68, $-115(%rip) - -LBB5_73: - WORD $0x294c; BYTE $0xfb // subq %r15, %rbx - LONG $0x005d8949 // movq %rbx, (%r13) - LONG $0x000010e9; BYTE $0x00 // jmp LBB5_77, $16(%rip) - -LBB5_75: - WORD $0x294d; BYTE $0xfe // subq %r15, %r14 - LONG $0x0075894d // movq %r14, (%r13) - WORD $0xf749; BYTE $0xd2 // notq %r10 - WORD $0x0149; BYTE $0xfa // addq %rdi, %r10 - -LBB5_76: - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - -LBB5_77: - LONG $0x10c48348 // addq $16, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB5_78: - WORD $0x294d; BYTE $0xfe // subq %r15, %r14 - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x014c; BYTE $0xf0 // addq %r14, %rax - LONG $0x00458949 // movq %rax, (%r13) - WORD $0x294c; BYTE $0xd7 // subq %r10, %rdi - WORD $0x014c; BYTE $0xcf // addq %r9, %rdi - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0xffffd3e9; BYTE $0xff // jmp LBB5_77, $-45(%rip) - - // .p2align 4, 0x00 -LCPI6_0: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - - // .p2align 4, 0x90 -_unquote: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x28ec8348 // subq $40, %rsp - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x066f840f; WORD $0x0000 // je LBB6_81, $1647(%rip) - WORD $0x8949; BYTE $0xf3 // movq %rsi, %r11 - LONG $0xc84d8948 // movq %rcx, $-56(%rbp) - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0xb845894c // movq %r8, $-72(%rbp) - WORD $0x8945; BYTE $0xc2 // movl %r8d, %r10d - LONG $0x01e28341 // andl $1, %r10d - LONG $0x5a058d4c; WORD $0x00ec; BYTE $0x00 // leaq $60506(%rip), %r8 /* __UnquoteTab(%rip) */ - QUAD $0xffffffb2056f0f66 // movdqa $-78(%rip), %xmm0 /* LCPI6_0(%rip) */ - WORD $0x8949; BYTE $0xf9 // movq %rdi, %r9 - WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13 - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB6_2: - LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x000f850f; WORD $0x0000 // jne LBB6_4, $15(%rip) - WORD $0xf631 // xorl %esi, %esi - LONG $0x0000c8e9; BYTE $0x00 // jmp LBB6_13, $200(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB6_4: - WORD $0x894d; BYTE $0xee // movq %r13, %r14 - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x894d; BYTE $0xcf // movq %r9, %r15 - LONG $0x10fd8349 // cmpq $16, %r13 - LONG $0x00408c0f; WORD $0x0000 // jl LBB6_7, $64(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB6_5: - LONG $0x6f0f41f3; BYTE $0x0f // movdqu (%r15), %xmm1 - LONG $0x097f0ff3 // movdqu %xmm1, (%rcx) - LONG $0xc8740f66 // pcmpeqb %xmm0, %xmm1 - LONG $0xf1d70f66 // pmovmskb %xmm1, %esi - WORD $0x8566; BYTE $0xf6 // testw %si, %si - LONG $0x0060850f; WORD $0x0000 // jne LBB6_12, $96(%rip) - LONG $0x10c78349 // addq $16, %r15 - LONG $0x10c18348 // addq $16, %rcx - LONG $0xf0768d49 // leaq $-16(%r14), %rsi - LONG $0x1ffe8349 // cmpq $31, %r14 - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - LONG $0xffcd8f0f; WORD $0xffff // jg LBB6_5, $-51(%rip) - -LBB6_7: - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x05d3840f; WORD $0x0000 // je LBB6_82, $1491(%rip) - WORD $0xf631 // xorl %esi, %esi - WORD $0x9090 // .p2align 4, 0x90 - -LBB6_9: - LONG $0x1cb60f41; BYTE $0x37 // movzbl (%r15,%rsi), %ebx - WORD $0xfb80; BYTE $0x5c // cmpb $92, %bl - LONG $0x0014840f; WORD $0x0000 // je LBB6_11, $20(%rip) - WORD $0x1c88; BYTE $0x31 // movb %bl, (%rcx,%rsi) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x3949; BYTE $0xf6 // cmpq %rsi, %r14 - LONG $0xffe3850f; WORD $0xffff // jne LBB6_9, $-29(%rip) - LONG $0x0005ade9; BYTE $0x00 // jmp LBB6_82, $1453(%rip) - -LBB6_11: - WORD $0x0149; BYTE $0xf7 // addq %rsi, %r15 - WORD $0x294d; BYTE $0xcf // subq %r9, %r15 - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xfffe8348 // cmpq $-1, %rsi - LONG $0x002b850f; WORD $0x0000 // jne LBB6_13, $43(%rip) - LONG $0x000595e9; BYTE $0x00 // jmp LBB6_82, $1429(%rip) - -LBB6_12: - WORD $0xb70f; BYTE $0xce // movzwl %si, %ecx - WORD $0x294d; BYTE $0xcf // subq %r9, %r15 - LONG $0xf1bc0f48 // bsfq %rcx, %rsi - WORD $0x014c; BYTE $0xfe // addq %r15, %rsi - LONG $0xfffe8348 // cmpq $-1, %rsi - LONG $0x057e840f; WORD $0x0000 // je LBB6_82, $1406(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB6_13: - LONG $0x024e8d48 // leaq $2(%rsi), %rcx - WORD $0x2949; BYTE $0xcd // subq %rcx, %r13 - LONG $0x075b880f; WORD $0x0000 // js LBB6_111, $1883(%rip) - LONG $0x314c8d4d; BYTE $0x02 // leaq $2(%r9,%rsi), %r9 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x03f5850f; WORD $0x0000 // jne LBB6_58, $1013(%rip) - -LBB6_15: - WORD $0x0148; BYTE $0xf0 // addq %rsi, %rax - LONG $0x49b60f41; BYTE $0xff // movzbl $-1(%r9), %ecx - LONG $0x010c8a42 // movb (%rcx,%r8), %cl - WORD $0xf980; BYTE $0xff // cmpb $-1, %cl - LONG $0x0020840f; WORD $0x0000 // je LBB6_18, $32(%rip) - WORD $0xc984 // testb %cl, %cl - LONG $0x0600840f; WORD $0x0000 // je LBB6_93, $1536(%rip) - WORD $0x0888 // movb %cl, (%rax) - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0x0003c0e9; BYTE $0x00 // jmp LBB6_57, $960(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB6_18: - LONG $0x03fd8349 // cmpq $3, %r13 - LONG $0x070e8e0f; WORD $0x0000 // jle LBB6_111, $1806(%rip) - WORD $0x8b41; BYTE $0x31 // movl (%r9), %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0xcfd09e8d; WORD $0xcfcf // leal $-808464432(%rsi), %ebx - LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx - WORD $0xd985 // testl %ebx, %ecx - LONG $0x050f850f; WORD $0x0000 // jne LBB6_84, $1295(%rip) - LONG $0x19199e8d; WORD $0x1919 // leal $421075225(%rsi), %ebx - WORD $0xf309 // orl %esi, %ebx - LONG $0x8080c3f7; WORD $0x8080 // testl $-2139062144, %ebx - LONG $0x04fb850f; WORD $0x0000 // jne LBB6_84, $1275(%rip) - WORD $0xf389 // movl %esi, %ebx - LONG $0x7f7fe381; WORD $0x7f7f // andl $2139062143, %ebx - LONG $0xc0c0be41; WORD $0xc0c0 // movl $-1061109568, %r14d - WORD $0x2941; BYTE $0xde // subl %ebx, %r14d - LONG $0x46bb8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rbx), %r15d - WORD $0x2141; BYTE $0xce // andl %ecx, %r14d - WORD $0x8545; BYTE $0xfe // testl %r15d, %r14d - LONG $0x04d7850f; WORD $0x0000 // jne LBB6_84, $1239(%rip) - LONG $0xe0e0be41; WORD $0xe0e0 // movl $-522133280, %r14d - WORD $0x2941; BYTE $0xde // subl %ebx, %r14d - LONG $0x3939c381; WORD $0x3939 // addl $960051513, %ebx - WORD $0x2144; BYTE $0xf1 // andl %r14d, %ecx - WORD $0xd985 // testl %ebx, %ecx - LONG $0x04bd850f; WORD $0x0000 // jne LBB6_84, $1213(%rip) - WORD $0xce0f // bswapl %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0x0101e181; WORD $0x0101 // andl $16843009, %ecx - WORD $0x0c8d; BYTE $0xc9 // leal (%rcx,%rcx,8), %ecx - LONG $0x0f0fe681; WORD $0x0f0f // andl $252645135, %esi - WORD $0xce01 // addl %ecx, %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xf109 // orl %esi, %ecx - LONG $0xf9b60f44 // movzbl %cl, %r15d - WORD $0xe9c1; BYTE $0x08 // shrl $8, %ecx - LONG $0xff00e181; WORD $0x0000 // andl $65280, %ecx - WORD $0x0941; BYTE $0xcf // orl %ecx, %r15d - LONG $0xfc758d4d // leaq $-4(%r13), %r14 - LONG $0x80ff8141; WORD $0x0000; BYTE $0x00 // cmpl $128, %r15d - LONG $0x0356820f; WORD $0x0000 // jb LBB6_66, $854(%rip) - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x014b850f; WORD $0x0000 // jne LBB6_38, $331(%rip) - -LBB6_25: - LONG $0x00ff8141; WORD $0x0008; BYTE $0x00 // cmpl $2048, %r15d - LONG $0x034c820f; WORD $0x0000 // jb LBB6_68, $844(%rip) - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - LONG $0xf800e181; WORD $0xffff // andl $-2048, %ecx - LONG $0xd800f981; WORD $0x0000 // cmpl $55296, %ecx - LONG $0x0299850f; WORD $0x0000 // jne LBB6_54, $665(%rip) - LONG $0xffff8141; WORD $0x00db; BYTE $0x00 // cmpl $56319, %r15d - LONG $0x034f870f; WORD $0x0000 // ja LBB6_69, $847(%rip) - LONG $0x06fe8349 // cmpq $6, %r14 - LONG $0x03458c0f; WORD $0x0000 // jl LBB6_69, $837(%rip) - LONG $0x217c8043; WORD $0x5c04 // cmpb $92, $4(%r9,%r12) - LONG $0x0339850f; WORD $0x0000 // jne LBB6_69, $825(%rip) - LONG $0x217c8043; WORD $0x7505 // cmpb $117, $5(%r9,%r12) - LONG $0x032d850f; WORD $0x0000 // jne LBB6_69, $813(%rip) - LONG $0x21748b43; BYTE $0x06 // movl $6(%r9,%r12), %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0xcfd09e8d; WORD $0xcfcf // leal $-808464432(%rsi), %ebx - LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx - WORD $0xd985 // testl %ebx, %ecx - LONG $0x04d9850f; WORD $0x0000 // jne LBB6_95, $1241(%rip) - LONG $0x19199e8d; WORD $0x1919 // leal $421075225(%rsi), %ebx - WORD $0xf309 // orl %esi, %ebx - LONG $0x8080c3f7; WORD $0x8080 // testl $-2139062144, %ebx - LONG $0x04c5850f; WORD $0x0000 // jne LBB6_95, $1221(%rip) - WORD $0xf389 // movl %esi, %ebx - LONG $0x7f7fe381; WORD $0x7f7f // andl $2139062143, %ebx - LONG $0xc0d445c7; WORD $0xc0c0; BYTE $0xc0 // movl $-1061109568, $-44(%rbp) - WORD $0x5d29; BYTE $0xd4 // subl %ebx, $-44(%rbp) - LONG $0xb0758948 // movq %rsi, $-80(%rbp) - LONG $0x4646b38d; WORD $0x4646 // leal $1179010630(%rbx), %esi - WORD $0x7589; BYTE $0xc4 // movl %esi, $-60(%rbp) - WORD $0x4d21; BYTE $0xd4 // andl %ecx, $-44(%rbp) - WORD $0x758b; BYTE $0xc4 // movl $-60(%rbp), %esi - WORD $0x7585; BYTE $0xd4 // testl %esi, $-44(%rbp) - LONG $0xb0758b48 // movq $-80(%rbp), %rsi - LONG $0x0493850f; WORD $0x0000 // jne LBB6_95, $1171(%rip) - LONG $0xe0d445c7; WORD $0xe0e0; BYTE $0xe0 // movl $-522133280, $-44(%rbp) - WORD $0x5d29; BYTE $0xd4 // subl %ebx, $-44(%rbp) - LONG $0x3939c381; WORD $0x3939 // addl $960051513, %ebx - WORD $0x4d23; BYTE $0xd4 // andl $-44(%rbp), %ecx - WORD $0xd985 // testl %ebx, %ecx - LONG $0x0478850f; WORD $0x0000 // jne LBB6_95, $1144(%rip) - WORD $0xce0f // bswapl %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0x0101e181; WORD $0x0101 // andl $16843009, %ecx - WORD $0x0c8d; BYTE $0xc9 // leal (%rcx,%rcx,8), %ecx - LONG $0x0f0fe681; WORD $0x0f0f // andl $252645135, %esi - WORD $0xce01 // addl %ecx, %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xf109 // orl %esi, %ecx - WORD $0xce89 // movl %ecx, %esi - WORD $0xeec1; BYTE $0x08 // shrl $8, %esi - LONG $0xff00e681; WORD $0x0000 // andl $65280, %esi - WORD $0xb60f; BYTE $0xd9 // movzbl %cl, %ebx - WORD $0xf309 // orl %esi, %ebx - LONG $0x0000e181; WORD $0x00fc // andl $16515072, %ecx - LONG $0x0000f981; WORD $0x00dc // cmpl $14417920, %ecx - LONG $0x02b1840f; WORD $0x0000 // je LBB6_75, $689(%rip) - LONG $0x02b845f6 // testb $2, $-72(%rbp) - LONG $0x0564840f; WORD $0x0000 // je LBB6_114, $1380(%rip) - LONG $0xfac68349 // addq $-6, %r14 - LONG $0xef00c766; BYTE $0xbf // movw $-16401, (%rax) - LONG $0xbd0240c6 // movb $-67, $2(%rax) - LONG $0x03c08348 // addq $3, %rax - LONG $0x06c48349 // addq $6, %r12 - WORD $0x8941; BYTE $0xdf // movl %ebx, %r15d - WORD $0xfb83; BYTE $0x7f // cmpl $127, %ebx - LONG $0xfec3870f; WORD $0xffff // ja LBB6_25, $-317(%rip) - LONG $0x00015ee9; BYTE $0x00 // jmp LBB6_53, $350(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB6_38: - LONG $0x00ff8141; WORD $0x0008; BYTE $0x00 // cmpl $2048, %r15d - LONG $0x0201820f; WORD $0x0000 // jb LBB6_68, $513(%rip) - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - LONG $0xf800e181; WORD $0xffff // andl $-2048, %ecx - LONG $0xd800f981; WORD $0x0000 // cmpl $55296, %ecx - LONG $0x014e850f; WORD $0x0000 // jne LBB6_54, $334(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x04be8e0f; WORD $0x0000 // jle LBB6_108, $1214(%rip) - LONG $0x217c8043; WORD $0x5c04 // cmpb $92, $4(%r9,%r12) - LONG $0x022d850f; WORD $0x0000 // jne LBB6_73, $557(%rip) - LONG $0xffff8141; WORD $0x00db; BYTE $0x00 // cmpl $56319, %r15d - LONG $0x01f9870f; WORD $0x0000 // ja LBB6_70, $505(%rip) - LONG $0x07fe8349 // cmpq $7, %r14 - LONG $0x01ef8c0f; WORD $0x0000 // jl LBB6_70, $495(%rip) - LONG $0x217c8043; WORD $0x5c05 // cmpb $92, $5(%r9,%r12) - LONG $0x01e3850f; WORD $0x0000 // jne LBB6_70, $483(%rip) - LONG $0x217c8043; WORD $0x7506 // cmpb $117, $6(%r9,%r12) - LONG $0x01d7850f; WORD $0x0000 // jne LBB6_70, $471(%rip) - LONG $0x21748b43; BYTE $0x07 // movl $7(%r9,%r12), %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0xcfd09e8d; WORD $0xcfcf // leal $-808464432(%rsi), %ebx - LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx - WORD $0xd985 // testl %ebx, %ecx - LONG $0x0383850f; WORD $0x0000 // jne LBB6_96, $899(%rip) - LONG $0x19199e8d; WORD $0x1919 // leal $421075225(%rsi), %ebx - WORD $0xf309 // orl %esi, %ebx - LONG $0x8080c3f7; WORD $0x8080 // testl $-2139062144, %ebx - LONG $0x036f850f; WORD $0x0000 // jne LBB6_96, $879(%rip) - WORD $0xf389 // movl %esi, %ebx - LONG $0x7f7fe381; WORD $0x7f7f // andl $2139062143, %ebx - LONG $0xc0d445c7; WORD $0xc0c0; BYTE $0xc0 // movl $-1061109568, $-44(%rbp) - WORD $0x5d29; BYTE $0xd4 // subl %ebx, $-44(%rbp) - LONG $0xb0758948 // movq %rsi, $-80(%rbp) - LONG $0x4646b38d; WORD $0x4646 // leal $1179010630(%rbx), %esi - WORD $0x7589; BYTE $0xc4 // movl %esi, $-60(%rbp) - WORD $0x4d21; BYTE $0xd4 // andl %ecx, $-44(%rbp) - WORD $0x758b; BYTE $0xc4 // movl $-60(%rbp), %esi - WORD $0x7585; BYTE $0xd4 // testl %esi, $-44(%rbp) - LONG $0xb0758b48 // movq $-80(%rbp), %rsi - LONG $0x033d850f; WORD $0x0000 // jne LBB6_96, $829(%rip) - LONG $0xe0d445c7; WORD $0xe0e0; BYTE $0xe0 // movl $-522133280, $-44(%rbp) - WORD $0x5d29; BYTE $0xd4 // subl %ebx, $-44(%rbp) - LONG $0x3939c381; WORD $0x3939 // addl $960051513, %ebx - WORD $0x4d23; BYTE $0xd4 // andl $-44(%rbp), %ecx - WORD $0xd985 // testl %ebx, %ecx - LONG $0x0322850f; WORD $0x0000 // jne LBB6_96, $802(%rip) - WORD $0xce0f // bswapl %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0x0101e181; WORD $0x0101 // andl $16843009, %ecx - WORD $0x0c8d; BYTE $0xc9 // leal (%rcx,%rcx,8), %ecx - LONG $0x0f0fe681; WORD $0x0f0f // andl $252645135, %esi - WORD $0xce01 // addl %ecx, %esi - WORD $0xf189 // movl %esi, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xf109 // orl %esi, %ecx - WORD $0xce89 // movl %ecx, %esi - WORD $0xeec1; BYTE $0x08 // shrl $8, %esi - LONG $0xff00e681; WORD $0x0000 // andl $65280, %esi - WORD $0xb60f; BYTE $0xd9 // movzbl %cl, %ebx - WORD $0xf309 // orl %esi, %ebx - LONG $0x0000e181; WORD $0x00fc // andl $16515072, %ecx - LONG $0x0000f981; WORD $0x00dc // cmpl $14417920, %ecx - LONG $0x0162840f; WORD $0x0000 // je LBB6_76, $354(%rip) - LONG $0x02b845f6 // testb $2, $-72(%rbp) - LONG $0x040e840f; WORD $0x0000 // je LBB6_115, $1038(%rip) - LONG $0xf9c68349 // addq $-7, %r14 - LONG $0xef00c766; BYTE $0xbf // movw $-16401, (%rax) - LONG $0xbd0240c6 // movb $-67, $2(%rax) - LONG $0x03c08348 // addq $3, %rax - LONG $0x07c48349 // addq $7, %r12 - WORD $0x8941; BYTE $0xdf // movl %ebx, %r15d - LONG $0x0080fb81; WORD $0x0000 // cmpl $128, %ebx - LONG $0xfeab830f; WORD $0xffff // jae LBB6_38, $-341(%rip) - -LBB6_53: - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - WORD $0x8941; BYTE $0xdf // movl %ebx, %r15d - LONG $0x0000a1e9; BYTE $0x00 // jmp LBB6_67, $161(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB6_54: - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - WORD $0xe9c1; BYTE $0x0c // shrl $12, %ecx - WORD $0xc980; BYTE $0xe0 // orb $-32, %cl - WORD $0x0888 // movb %cl, (%rax) - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - WORD $0xe9c1; BYTE $0x06 // shrl $6, %ecx - WORD $0xe180; BYTE $0x3f // andb $63, %cl - WORD $0xc980; BYTE $0x80 // orb $-128, %cl - WORD $0x4888; BYTE $0x01 // movb %cl, $1(%rax) - LONG $0x3fe78041 // andb $63, %r15b - LONG $0x80cf8041 // orb $-128, %r15b - LONG $0x02788844 // movb %r15b, $2(%rax) - -LBB6_55: - LONG $0x03c08348 // addq $3, %rax - -LBB6_56: - WORD $0x894d; BYTE $0xf5 // movq %r14, %r13 - -LBB6_57: - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - LONG $0xfb1c850f; WORD $0xffff // jne LBB6_2, $-1252(%rip) - LONG $0x000350e9; BYTE $0x00 // jmp LBB6_110, $848(%rip) - -LBB6_58: - WORD $0x8545; BYTE $0xed // testl %r13d, %r13d - LONG $0x034f840f; WORD $0x0000 // je LBB6_111, $847(%rip) - LONG $0xff798041; BYTE $0x5c // cmpb $92, $-1(%r9) - LONG $0x022d850f; WORD $0x0000 // jne LBB6_94, $557(%rip) - LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x0026850f; WORD $0x0000 // jne LBB6_65, $38(%rip) - LONG $0x01fd8341 // cmpl $1, %r13d - LONG $0x03308e0f; WORD $0x0000 // jle LBB6_111, $816(%rip) - LONG $0x01498a41 // movb $1(%r9), %cl - WORD $0xf980; BYTE $0x22 // cmpb $34, %cl - LONG $0x0009840f; WORD $0x0000 // je LBB6_64, $9(%rip) - WORD $0xf980; BYTE $0x5c // cmpb $92, %cl - LONG $0x02e2850f; WORD $0x0000 // jne LBB6_106, $738(%rip) - -LBB6_64: - WORD $0xff49; BYTE $0xc1 // incq %r9 - WORD $0xff49; BYTE $0xcd // decq %r13 - -LBB6_65: - WORD $0xff49; BYTE $0xc1 // incq %r9 - WORD $0xff49; BYTE $0xcd // decq %r13 - LONG $0xfffbbce9; BYTE $0xff // jmp LBB6_15, $-1092(%rip) - -LBB6_66: - LONG $0x04c18349 // addq $4, %r9 - -LBB6_67: - WORD $0x8844; BYTE $0x38 // movb %r15b, (%rax) - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0xffff91e9; BYTE $0xff // jmp LBB6_56, $-111(%rip) - -LBB6_68: - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - WORD $0xe9c1; BYTE $0x06 // shrl $6, %ecx - WORD $0xc980; BYTE $0xc0 // orb $-64, %cl - WORD $0x0888 // movb %cl, (%rax) - LONG $0x3fe78041 // andb $63, %r15b - LONG $0x80cf8041 // orb $-128, %r15b - LONG $0x01788844 // movb %r15b, $1(%rax) - LONG $0x02c08348 // addq $2, %rax - LONG $0xffff6ce9; BYTE $0xff // jmp LBB6_56, $-148(%rip) - -LBB6_69: - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - LONG $0x00000fe9; BYTE $0x00 // jmp LBB6_71, $15(%rip) - -LBB6_70: - LONG $0x214c8d4f; BYTE $0x05 // leaq $5(%r9,%r12), %r9 - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - LONG $0xfbc58349 // addq $-5, %r13 - WORD $0x894d; BYTE $0xee // movq %r13, %r14 - -LBB6_71: - LONG $0x02b845f6 // testb $2, $-72(%rbp) - LONG $0x0308840f; WORD $0x0000 // je LBB6_117, $776(%rip) - -LBB6_72: - LONG $0xef00c766; BYTE $0xbf // movw $-16401, (%rax) - LONG $0xbd0240c6 // movb $-67, $2(%rax) - LONG $0xffff37e9; BYTE $0xff // jmp LBB6_55, $-201(%rip) - -LBB6_73: - LONG $0x02b845f6 // testb $2, $-72(%rbp) - LONG $0x02fd840f; WORD $0x0000 // je LBB6_118, $765(%rip) - LONG $0x214c8d4f; BYTE $0x04 // leaq $4(%r9,%r12), %r9 - LONG $0xffffdee9; BYTE $0xff // jmp LBB6_72, $-34(%rip) - -LBB6_75: - LONG $0x214c8d4f; BYTE $0x0a // leaq $10(%r9,%r12), %r9 - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - LONG $0xf6c58349 // addq $-10, %r13 - LONG $0x00000ce9; BYTE $0x00 // jmp LBB6_77, $12(%rip) - -LBB6_76: - LONG $0x214c8d4f; BYTE $0x0b // leaq $11(%r9,%r12), %r9 - WORD $0x294d; BYTE $0xe5 // subq %r12, %r13 - LONG $0xf5c58349 // addq $-11, %r13 - -LBB6_77: - LONG $0x0ae7c141 // shll $10, %r15d - QUAD $0xfca024001f8c8d41 // leal $-56613888(%r15,%rbx), %ecx - LONG $0x0000f981; WORD $0x0011 // cmpl $1114112, %ecx - LONG $0x001c820f; WORD $0x0000 // jb LBB6_80, $28(%rip) - LONG $0x02b845f6 // testb $2, $-72(%rbp) - LONG $0x0264840f; WORD $0x0000 // je LBB6_112, $612(%rip) - LONG $0xef00c766; BYTE $0xbf // movw $-16401, (%rax) - LONG $0xbd0240c6 // movb $-67, $2(%rax) - LONG $0x03c08348 // addq $3, %rax - LONG $0xfffed9e9; BYTE $0xff // jmp LBB6_57, $-295(%rip) - -LBB6_80: - WORD $0xce89 // movl %ecx, %esi - WORD $0xeec1; BYTE $0x12 // shrl $18, %esi - LONG $0xf0ce8040 // orb $-16, %sil - WORD $0x8840; BYTE $0x30 // movb %sil, (%rax) - WORD $0xce89 // movl %ecx, %esi - WORD $0xeec1; BYTE $0x0c // shrl $12, %esi - LONG $0x3fe68040 // andb $63, %sil - LONG $0x80ce8040 // orb $-128, %sil - LONG $0x01708840 // movb %sil, $1(%rax) - WORD $0xce89 // movl %ecx, %esi - WORD $0xeec1; BYTE $0x06 // shrl $6, %esi - LONG $0x3fe68040 // andb $63, %sil - LONG $0x80ce8040 // orb $-128, %sil - LONG $0x02708840 // movb %sil, $2(%rax) - WORD $0xe180; BYTE $0x3f // andb $63, %cl - WORD $0xc980; BYTE $0x80 // orb $-128, %cl - WORD $0x4888; BYTE $0x03 // movb %cl, $3(%rax) - LONG $0x04c08348 // addq $4, %rax - LONG $0xfffe99e9; BYTE $0xff // jmp LBB6_57, $-359(%rip) - -LBB6_81: - WORD $0x3145; BYTE $0xed // xorl %r13d, %r13d - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB6_82: - WORD $0x014c; BYTE $0xe8 // addq %r13, %rax - WORD $0x2948; BYTE $0xd0 // subq %rdx, %rax - -LBB6_83: - LONG $0x28c48348 // addq $40, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB6_84: - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - WORD $0x8948; BYTE $0x17 // movq %rdx, (%rdi) - WORD $0x8a41; BYTE $0x09 // movb (%r9), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_86, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xffbe870f; WORD $0xffff // ja LBB6_83, $-66(%rip) - -LBB6_86: - LONG $0x014a8d48 // leaq $1(%rdx), %rcx - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - LONG $0x01498a41 // movb $1(%r9), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_88, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xff97870f; WORD $0xffff // ja LBB6_83, $-105(%rip) - -LBB6_88: - LONG $0x024a8d48 // leaq $2(%rdx), %rcx - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - LONG $0x02498a41 // movb $2(%r9), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_90, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xff70870f; WORD $0xffff // ja LBB6_83, $-144(%rip) - -LBB6_90: - LONG $0x034a8d48 // leaq $3(%rdx), %rcx - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - LONG $0x03498a41 // movb $3(%r9), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_92, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xff49870f; WORD $0xffff // ja LBB6_83, $-183(%rip) - -LBB6_92: - LONG $0x04c28348 // addq $4, %rdx - WORD $0x8948; BYTE $0x17 // movq %rdx, (%rdi) - LONG $0xffff3de9; BYTE $0xff // jmp LBB6_83, $-195(%rip) - -LBB6_93: - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x0149; BYTE $0xf9 // addq %rdi, %r9 - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x894c; BYTE $0x08 // movq %r9, (%rax) - LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax - LONG $0xffff24e9; BYTE $0xff // jmp LBB6_83, $-220(%rip) - -LBB6_94: - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x0149; BYTE $0xf9 // addq %rdi, %r9 - LONG $0x0000dae9; BYTE $0x00 // jmp LBB6_107, $218(%rip) - -LBB6_95: - LONG $0x21748d4b; BYTE $0x04 // leaq $4(%r9,%r12), %rsi - LONG $0x000005e9; BYTE $0x00 // jmp LBB6_97, $5(%rip) - -LBB6_96: - LONG $0x21748d4b; BYTE $0x05 // leaq $5(%r9,%r12), %rsi - -LBB6_97: - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0x02c28348 // addq $2, %rdx - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x8948; BYTE $0x10 // movq %rdx, (%rax) - WORD $0x4e8a; BYTE $0x02 // movb $2(%rsi), %cl - WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_99, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xfed3870f; WORD $0xffff // ja LBB6_83, $-301(%rip) - -LBB6_99: - LONG $0x014a8d48 // leaq $1(%rdx), %rcx - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - WORD $0x4e8a; BYTE $0x03 // movb $3(%rsi), %cl - WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi - LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_101, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xfea9870f; WORD $0xffff // ja LBB6_83, $-343(%rip) - -LBB6_101: - LONG $0x024a8d48 // leaq $2(%rdx), %rcx - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - WORD $0x4e8a; BYTE $0x04 // movb $4(%rsi), %cl - WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi - LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_103, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xfe7f870f; WORD $0xffff // ja LBB6_83, $-385(%rip) - -LBB6_103: - LONG $0x034a8d48 // leaq $3(%rdx), %rcx - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - WORD $0x8948; BYTE $0x0f // movq %rcx, (%rdi) - WORD $0x4e8a; BYTE $0x05 // movb $5(%rsi), %cl - WORD $0x718d; BYTE $0xd0 // leal $-48(%rcx), %esi - LONG $0x0afe8040 // cmpb $10, %sil - LONG $0x000f820f; WORD $0x0000 // jb LBB6_105, $15(%rip) - WORD $0xe180; BYTE $0xdf // andb $-33, %cl - WORD $0xc180; BYTE $0xbf // addb $-65, %cl - WORD $0xf980; BYTE $0x05 // cmpb $5, %cl - LONG $0xfe55870f; WORD $0xffff // ja LBB6_83, $-427(%rip) - -LBB6_105: - LONG $0x04c28348 // addq $4, %rdx - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8948; BYTE $0x11 // movq %rdx, (%rcx) - LONG $0xfffe45e9; BYTE $0xff // jmp LBB6_83, $-443(%rip) - -LBB6_106: - WORD $0x2949; BYTE $0xf9 // subq %rdi, %r9 - WORD $0xff49; BYTE $0xc1 // incq %r9 - -LBB6_107: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x894c; BYTE $0x08 // movq %r9, (%rax) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xfffe2ce9; BYTE $0xff // jmp LBB6_83, $-468(%rip) - -LBB6_108: - LONG $0x02b845f6 // testb $2, $-72(%rbp) - LONG $0x0015840f; WORD $0x0000 // je LBB6_111, $21(%rip) - LONG $0xef00c766; BYTE $0xbf // movw $-16401, (%rax) - LONG $0xbd0240c6 // movb $-67, $2(%rax) - LONG $0x03c08348 // addq $3, %rax - -LBB6_110: - WORD $0x3145; BYTE $0xed // xorl %r13d, %r13d - LONG $0xfffe07e9; BYTE $0xff // jmp LBB6_82, $-505(%rip) - -LBB6_111: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x894c; BYTE $0x18 // movq %r11, (%rax) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xfffdfae9; BYTE $0xff // jmp LBB6_83, $-518(%rip) - -LBB6_112: - WORD $0x2949; BYTE $0xf9 // subq %rdi, %r9 - LONG $0xfcc18349 // addq $-4, %r9 - -LBB6_113: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x894c; BYTE $0x08 // movq %r9, (%rax) - LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax - LONG $0xfffde0e9; BYTE $0xff // jmp LBB6_83, $-544(%rip) - -LBB6_114: - LONG $0x21448d4b; BYTE $0x0a // leaq $10(%r9,%r12), %rax - LONG $0x000005e9; BYTE $0x00 // jmp LBB6_116, $5(%rip) - -LBB6_115: - LONG $0x21448d4b; BYTE $0x0b // leaq $11(%r9,%r12), %rax - -LBB6_116: - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - LONG $0xfcc08348 // addq $-4, %rax - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax - LONG $0xfffdb7e9; BYTE $0xff // jmp LBB6_83, $-585(%rip) - -LBB6_117: - LONG $0x3a448d49; BYTE $0x04 // leaq $4(%r10,%rdi), %rax - WORD $0x2949; BYTE $0xc1 // subq %rax, %r9 - LONG $0xffffb7e9; BYTE $0xff // jmp LBB6_113, $-73(%rip) - -LBB6_118: - WORD $0x014d; BYTE $0xe1 // addq %r12, %r9 - WORD $0x2949; BYTE $0xf9 // subq %rdi, %r9 - LONG $0xfffface9; BYTE $0xff // jmp LBB6_113, $-84(%rip) - QUAD $0x0000000000000000; WORD $0x0000 // .p2align 4, 0x00 - -LCPI7_0: - QUAD $0x2626262626262626; QUAD $0x2626262626262626 // .space 16, '&&&&&&&&&&&&&&&&' - -LCPI7_1: - QUAD $0xe2e2e2e2e2e2e2e2; QUAD $0xe2e2e2e2e2e2e2e2 // .space 16, '\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2\xe2' - -LCPI7_2: - QUAD $0xfdfdfdfdfdfdfdfd; QUAD $0xfdfdfdfdfdfdfdfd // .space 16, '\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd\xfd' - -LCPI7_3: - QUAD $0x3c3c3c3c3c3c3c3c; QUAD $0x3c3c3c3c3c3c3c3c // .space 16, '<<<<<<<<<<<<<<<<' - - // .p2align 4, 0x90 -_html_escape: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x10ec8348 // subq $16, %rsp - LONG $0xc84d8948 // movq %rcx, $-56(%rbp) - WORD $0x8949; BYTE $0xd2 // movq %rdx, %r10 - LONG $0xd0558948 // movq %rdx, $-48(%rbp) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x04718e0f; WORD $0x0000 // jle LBB7_67, $1137(%rip) - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x8b4c; BYTE $0x08 // movq (%rax), %r9 - QUAD $0xffffff89056f0f66 // movdqa $-119(%rip), %xmm0 /* LCPI7_0(%rip) */ - QUAD $0xffffff910d6f0f66 // movdqa $-111(%rip), %xmm1 /* LCPI7_1(%rip) */ - QUAD $0xffffff99156f0f66 // movdqa $-103(%rip), %xmm2 /* LCPI7_2(%rip) */ - QUAD $0xffffffa11d6f0f66 // movdqa $-95(%rip), %xmm3 /* LCPI7_3(%rip) */ - LONG $0xfa1d8d4c; WORD $0x00e3; BYTE $0x00 // leaq $58362(%rip), %r11 /* __HtmlQuoteTab(%rip) */ - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - LONG $0xd0558b4c // movq $-48(%rbp), %r10 - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB7_2: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x044e8e0f; WORD $0x0000 // jle LBB7_3, $1102(%rip) - LONG $0x0ffe8348 // cmpq $15, %rsi - WORD $0x9f0f; BYTE $0xc1 // setg %cl - WORD $0x894d; BYTE $0xcc // movq %r9, %r12 - WORD $0x894d; BYTE $0xd0 // movq %r10, %r8 - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x894d; BYTE $0xfd // movq %r15, %r13 - LONG $0x10f98349 // cmpq $16, %r9 - LONG $0x008a8c0f; WORD $0x0000 // jl LBB7_11, $138(%rip) - LONG $0x10fe8348 // cmpq $16, %rsi - LONG $0x00808c0f; WORD $0x0000 // jl LBB7_11, $128(%rip) - WORD $0x894d; BYTE $0xfd // movq %r15, %r13 - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x894d; BYTE $0xd0 // movq %r10, %r8 - WORD $0x894c; BYTE $0xcb // movq %r9, %rbx - LONG $0x90909090 // .p2align 4, 0x90 - -LBB7_7: - LONG $0x6f0f41f3; WORD $0x0065 // movdqu (%r13), %xmm4 - LONG $0xec6f0f66 // movdqa %xmm4, %xmm5 - LONG $0xf46f0f66 // movdqa %xmm4, %xmm6 - LONG $0x7f0f41f3; BYTE $0x20 // movdqu %xmm4, (%r8) - LONG $0xe0740f66 // pcmpeqb %xmm0, %xmm4 - LONG $0xe9740f66 // pcmpeqb %xmm1, %xmm5 - LONG $0xeceb0f66 // por %xmm4, %xmm5 - LONG $0xf2db0f66 // pand %xmm2, %xmm6 - LONG $0xf3740f66 // pcmpeqb %xmm3, %xmm6 - LONG $0xf5eb0f66 // por %xmm5, %xmm6 - LONG $0xced70f66 // pmovmskb %xmm6, %ecx - WORD $0x8566; BYTE $0xc9 // testw %cx, %cx - LONG $0x0138850f; WORD $0x0000 // jne LBB7_8, $312(%rip) - LONG $0x10c58349 // addq $16, %r13 - LONG $0x10c08349 // addq $16, %r8 - LONG $0xf0508d48 // leaq $-16(%rax), %rdx - LONG $0xf0638d4c // leaq $-16(%rbx), %r12 - LONG $0x1ff88348 // cmpq $31, %rax - WORD $0x9f0f; BYTE $0xc1 // setg %cl - LONG $0x20f88348 // cmpq $32, %rax - LONG $0x00178c0f; WORD $0x0000 // jl LBB7_11, $23(%rip) - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0x1ffb8348 // cmpq $31, %rbx - WORD $0x894c; BYTE $0xe3 // movq %r12, %rbx - LONG $0xff978f0f; WORD $0xffff // jg LBB7_7, $-105(%rip) - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB7_11: - WORD $0xc984 // testb %cl, %cl - LONG $0x0078840f; WORD $0x0000 // je LBB7_12, $120(%rip) - LONG $0x6f0f41f3; WORD $0x0065 // movdqu (%r13), %xmm4 - LONG $0xec6f0f66 // movdqa %xmm4, %xmm5 - LONG $0xe8740f66 // pcmpeqb %xmm0, %xmm5 - LONG $0xf46f0f66 // movdqa %xmm4, %xmm6 - LONG $0xf1740f66 // pcmpeqb %xmm1, %xmm6 - LONG $0xf5eb0f66 // por %xmm5, %xmm6 - LONG $0x7e0f4866; BYTE $0xe0 // movq %xmm4, %rax - LONG $0xe2db0f66 // pand %xmm2, %xmm4 - LONG $0xe3740f66 // pcmpeqb %xmm3, %xmm4 - LONG $0xe6eb0f66 // por %xmm6, %xmm4 - LONG $0xccd70f66 // pmovmskb %xmm4, %ecx - LONG $0x0000c981; WORD $0x0001 // orl $65536, %ecx - LONG $0xf1bc0f44 // bsfl %ecx, %r14d - WORD $0x394d; BYTE $0xf4 // cmpq %r14, %r12 - LONG $0x00d18d0f; WORD $0x0000 // jge LBB7_15, $209(%rip) - LONG $0x08fc8349 // cmpq $8, %r12 - LONG $0x00f7820f; WORD $0x0000 // jb LBB7_26, $247(%rip) - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0x08758d4d // leaq $8(%r13), %r14 - LONG $0x08c08349 // addq $8, %r8 - LONG $0x24448d49; BYTE $0xf8 // leaq $-8(%r12), %rax - LONG $0x04f88348 // cmpq $4, %rax - LONG $0x00ed8d0f; WORD $0x0000 // jge LBB7_29, $237(%rip) - LONG $0x0000fae9; BYTE $0x00 // jmp LBB7_30, $250(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB7_12: - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x01148e0f; WORD $0x0000 // jle LBB7_13, $276(%rip) - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x010b8e0f; WORD $0x0000 // jle LBB7_40, $267(%rip) - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB7_36: - LONG $0x4db60f41; BYTE $0x00 // movzbl (%r13), %ecx - LONG $0x3ef98348 // cmpq $62, %rcx - LONG $0x0014870f; WORD $0x0000 // ja LBB7_37, $20(%rip) - QUAD $0x004000000000b848; WORD $0x5000 // movabsq $5764607797912141824, %rax - LONG $0xc8a30f48 // btq %rcx, %rax - LONG $0x0080820f; WORD $0x0000 // jb LBB7_42, $128(%rip) - -LBB7_37: - WORD $0xf980; BYTE $0xe2 // cmpb $-30, %cl - LONG $0x0077840f; WORD $0x0000 // je LBB7_42, $119(%rip) - LONG $0xff428d48 // leaq $-1(%rdx), %rax - WORD $0xff49; BYTE $0xc5 // incq %r13 - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x00c08c0f; WORD $0x0000 // jl LBB7_40, $192(%rip) - LONG $0x244c8d49; BYTE $0xff // leaq $-1(%r12), %rcx - WORD $0xff49; BYTE $0xc0 // incq %r8 - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - LONG $0x01fc8349 // cmpq $1, %r12 - WORD $0x8949; BYTE $0xcc // movq %rcx, %r12 - LONG $0xffa88f0f; WORD $0xffff // jg LBB7_36, $-88(%rip) - LONG $0x0000a3e9; BYTE $0x00 // jmp LBB7_40, $163(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB7_8: - WORD $0xb70f; BYTE $0xc1 // movzwl %cx, %eax - WORD $0x294d; BYTE $0xfd // subq %r15, %r13 - LONG $0xe0bc0f44 // bsfl %eax, %r12d - WORD $0x014d; BYTE $0xec // addq %r13, %r12 - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x00f3890f; WORD $0x0000 // jns LBB7_46, $243(%rip) - LONG $0x000249e9; BYTE $0x00 // jmp LBB7_45, $585(%rip) - -LBB7_15: - LONG $0x08fe8341 // cmpl $8, %r14d - LONG $0x0095820f; WORD $0x0000 // jb LBB7_16, $149(%rip) - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0x08658d4d // leaq $8(%r13), %r12 - LONG $0x08c08349 // addq $8, %r8 - LONG $0xf8468d49 // leaq $-8(%r14), %rax - LONG $0x04f88348 // cmpq $4, %rax - LONG $0x008c8d0f; WORD $0x0000 // jge LBB7_19, $140(%rip) - LONG $0x00009ae9; BYTE $0x00 // jmp LBB7_20, $154(%rip) - -LBB7_42: - WORD $0x294d; BYTE $0xfd // subq %r15, %r13 - LONG $0x0000b2e9; BYTE $0x00 // jmp LBB7_43, $178(%rip) - -LBB7_26: - WORD $0x894d; BYTE $0xee // movq %r13, %r14 - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - LONG $0x04f88348 // cmpq $4, %rax - LONG $0x00128c0f; WORD $0x0000 // jl LBB7_30, $18(%rip) - -LBB7_29: - WORD $0x8b41; BYTE $0x0e // movl (%r14), %ecx - WORD $0x8941; BYTE $0x08 // movl %ecx, (%r8) - LONG $0x04c68349 // addq $4, %r14 - LONG $0x04c08349 // addq $4, %r8 - LONG $0xfcc08348 // addq $-4, %rax - -LBB7_30: - LONG $0x02f88348 // cmpq $2, %rax - LONG $0x015b830f; WORD $0x0000 // jae LBB7_31, $347(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0006840f; WORD $0x0000 // je LBB7_34, $6(%rip) - -LBB7_33: - WORD $0x8a41; BYTE $0x06 // movb (%r14), %al - WORD $0x8841; BYTE $0x00 // movb %al, (%r8) - -LBB7_34: - WORD $0x294d; BYTE $0xfc // subq %r15, %r12 - WORD $0x014d; BYTE $0xec // addq %r13, %r12 - WORD $0xf749; BYTE $0xd4 // notq %r12 - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x0071890f; WORD $0x0000 // jns LBB7_46, $113(%rip) - LONG $0x0001c7e9; BYTE $0x00 // jmp LBB7_45, $455(%rip) - -LBB7_13: - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB7_40: - WORD $0x294d; BYTE $0xfd // subq %r15, %r13 - WORD $0xf748; BYTE $0xd8 // negq %rax - WORD $0x194d; BYTE $0xe4 // sbbq %r12, %r12 - WORD $0x314d; BYTE $0xec // xorq %r13, %r12 - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x0054890f; WORD $0x0000 // jns LBB7_46, $84(%rip) - LONG $0x0001aae9; BYTE $0x00 // jmp LBB7_45, $426(%rip) - -LBB7_16: - WORD $0x894d; BYTE $0xec // movq %r13, %r12 - WORD $0x894c; BYTE $0xf0 // movq %r14, %rax - LONG $0x04f88348 // cmpq $4, %rax - LONG $0x00138c0f; WORD $0x0000 // jl LBB7_20, $19(%rip) - -LBB7_19: - LONG $0x240c8b41 // movl (%r12), %ecx - WORD $0x8941; BYTE $0x08 // movl %ecx, (%r8) - LONG $0x04c48349 // addq $4, %r12 - LONG $0x04c08349 // addq $4, %r8 - LONG $0xfcc08348 // addq $-4, %rax - -LBB7_20: - LONG $0x02f88348 // cmpq $2, %rax - LONG $0x010d830f; WORD $0x0000 // jae LBB7_21, $269(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0007840f; WORD $0x0000 // je LBB7_24, $7(%rip) - -LBB7_23: - LONG $0x24048a41 // movb (%r12), %al - WORD $0x8841; BYTE $0x00 // movb %al, (%r8) - -LBB7_24: - WORD $0x294d; BYTE $0xfd // subq %r15, %r13 - WORD $0x014d; BYTE $0xf5 // addq %r14, %r13 - -LBB7_43: - WORD $0x894d; BYTE $0xec // movq %r13, %r12 - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x015b880f; WORD $0x0000 // js LBB7_45, $347(%rip) - -LBB7_46: - WORD $0x014d; BYTE $0xe7 // addq %r12, %r15 - WORD $0x014d; BYTE $0xe2 // addq %r12, %r10 - WORD $0x294c; BYTE $0xe6 // subq %r12, %rsi - LONG $0x016e8e0f; WORD $0x0000 // jle LBB7_47, $366(%rip) - WORD $0x294d; BYTE $0xe1 // subq %r12, %r9 - WORD $0x8a41; BYTE $0x0f // movb (%r15), %cl - WORD $0xf980; BYTE $0xe2 // cmpb $-30, %cl - LONG $0x00f0840f; WORD $0x0000 // je LBB7_50, $240(%rip) - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - -LBB7_54: - WORD $0xb60f; BYTE $0xd1 // movzbl %cl, %edx - LONG $0x04e2c148 // shlq $4, %rdx - LONG $0x1a0c8b4a // movq (%rdx,%r11), %rcx - WORD $0x634c; BYTE $0xe1 // movslq %ecx, %r12 - WORD $0x294d; BYTE $0xe1 // subq %r12, %r9 - LONG $0x015b8c0f; WORD $0x0000 // jl LBB7_55, $347(%rip) - LONG $0x20e1c148 // shlq $32, %rcx - LONG $0x1a748d4e; BYTE $0x08 // leaq $8(%rdx,%r11), %r14 - QUAD $0x000300000001bb48; WORD $0x0000 // movabsq $12884901889, %rbx - WORD $0x3948; BYTE $0xd9 // cmpq %rbx, %rcx - LONG $0x00238c0f; WORD $0x0000 // jl LBB7_59, $35(%rip) - WORD $0x8b41; BYTE $0x0e // movl (%r14), %ecx - WORD $0x8941; BYTE $0x0a // movl %ecx, (%r10) - LONG $0x1a748d4e; BYTE $0x0c // leaq $12(%rdx,%r11), %r14 - LONG $0x04428d4d // leaq $4(%r10), %r8 - LONG $0x24548d49; BYTE $0xfc // leaq $-4(%r12), %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0015830f; WORD $0x0000 // jae LBB7_62, $21(%rip) - LONG $0x000024e9; BYTE $0x00 // jmp LBB7_63, $36(%rip) - - // .p2align 4, 0x90 -LBB7_59: - WORD $0x894d; BYTE $0xd0 // movq %r10, %r8 - WORD $0x894c; BYTE $0xe2 // movq %r12, %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0014820f; WORD $0x0000 // jb LBB7_63, $20(%rip) - -LBB7_62: - LONG $0x0eb70f41 // movzwl (%r14), %ecx - LONG $0x08894166 // movw %cx, (%r8) - LONG $0x02c68349 // addq $2, %r14 - LONG $0x02c08349 // addq $2, %r8 - LONG $0xfec28348 // addq $-2, %rdx - -LBB7_63: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0006840f; WORD $0x0000 // je LBB7_65, $6(%rip) - WORD $0x8a41; BYTE $0x0e // movb (%r14), %cl - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - -LBB7_65: - WORD $0x014d; BYTE $0xe2 // addq %r12, %r10 - -LBB7_66: - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0xff4e8d48 // leaq $-1(%rsi), %rcx - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - LONG $0x01fe8348 // cmpq $1, %rsi - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - LONG $0xfc838f0f; WORD $0xffff // jg LBB7_2, $-893(%rip) - LONG $0x0000b7e9; BYTE $0x00 // jmp LBB7_67, $183(%rip) - -LBB7_31: - LONG $0x0eb70f41 // movzwl (%r14), %ecx - LONG $0x08894166 // movw %cx, (%r8) - LONG $0x02c68349 // addq $2, %r14 - LONG $0x02c08349 // addq $2, %r8 - LONG $0xfec08348 // addq $-2, %rax - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xfe91850f; WORD $0xffff // jne LBB7_33, $-367(%rip) - LONG $0xfffe92e9; BYTE $0xff // jmp LBB7_34, $-366(%rip) - -LBB7_21: - LONG $0x0cb70f41; BYTE $0x24 // movzwl (%r12), %ecx - LONG $0x08894166 // movw %cx, (%r8) - LONG $0x02c48349 // addq $2, %r12 - LONG $0x02c08349 // addq $2, %r8 - LONG $0xfec08348 // addq $-2, %rax - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xfede850f; WORD $0xffff // jne LBB7_23, $-290(%rip) - LONG $0xfffee0e9; BYTE $0xff // jmp LBB7_24, $-288(%rip) - -LBB7_50: - LONG $0x03fe8348 // cmpq $3, %rsi - LONG $0x00288c0f; WORD $0x0000 // jl LBB7_56, $40(%rip) - LONG $0x017f8041; BYTE $0x80 // cmpb $-128, $1(%r15) - LONG $0x001d850f; WORD $0x0000 // jne LBB7_56, $29(%rip) - LONG $0x024f8a41 // movb $2(%r15), %cl - WORD $0xc889 // movl %ecx, %eax - WORD $0xfe24 // andb $-2, %al - WORD $0xa83c // cmpb $-88, %al - LONG $0x000d850f; WORD $0x0000 // jne LBB7_56, $13(%rip) - LONG $0x02478d49 // leaq $2(%r15), %rax - LONG $0xfec68348 // addq $-2, %rsi - LONG $0xfffee1e9; BYTE $0xff // jmp LBB7_54, $-287(%rip) - -LBB7_56: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00558e0f; WORD $0x0000 // jle LBB7_3, $85(%rip) - LONG $0xe202c641 // movb $-30, (%r10) - WORD $0xff49; BYTE $0xc2 // incq %r10 - WORD $0xff49; BYTE $0xc9 // decq %r9 - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - LONG $0xffff52e9; BYTE $0xff // jmp LBB7_66, $-174(%rip) - -LBB7_45: - LONG $0xd0552b4c // subq $-48(%rbp), %r10 - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x014c; BYTE $0xd0 // addq %r10, %rax - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - WORD $0x294c; BYTE $0xff // subq %r15, %rdi - WORD $0x014c; BYTE $0xe7 // addq %r12, %rdi - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x00002ae9; BYTE $0x00 // jmp LBB7_68, $42(%rip) - -LBB7_47: - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - -LBB7_67: - LONG $0xd0552b4c // subq $-48(%rbp), %r10 - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x894c; BYTE $0x11 // movq %r10, (%rcx) - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - LONG $0x000014e9; BYTE $0x00 // jmp LBB7_68, $20(%rip) - -LBB7_55: - LONG $0xd0552b4c // subq $-48(%rbp), %r10 - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x894c; BYTE $0x10 // movq %r10, (%rax) - -LBB7_3: - WORD $0xf749; BYTE $0xd7 // notq %r15 - WORD $0x0149; BYTE $0xff // addq %rdi, %r15 - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - -LBB7_68: - LONG $0x10c48348 // addq $16, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - BYTE $0x90 // .p2align 4, 0x90 - -_atof_eisel_lemire64: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - LONG $0x015c868d; WORD $0x0000 // leal $348(%rsi), %eax - LONG $0x0002b73d; BYTE $0x00 // cmpl $695, %eax - LONG $0x0115870f; WORD $0x0000 // ja LBB8_1, $277(%rip) - WORD $0x8949; BYTE $0xc8 // movq %rcx, %r8 - WORD $0x8941; BYTE $0xd1 // movl %edx, %r9d - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x000d840f; WORD $0x0000 // je LBB8_4, $13(%rip) - LONG $0xd7bd0f4c // bsrq %rdi, %r10 - LONG $0x3ff28349 // xorq $63, %r10 - LONG $0x000006e9; BYTE $0x00 // jmp LBB8_5, $6(%rip) - -LBB8_4: - LONG $0x0040ba41; WORD $0x0000 // movl $64, %r10d - -LBB8_5: - WORD $0x8944; BYTE $0xd1 // movl %r10d, %ecx - WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi - WORD $0xc389 // movl %eax, %ebx - LONG $0x04e3c148 // shlq $4, %rbx - LONG $0x81358d4c; WORD $0x0069; BYTE $0x00 // leaq $27009(%rip), %r14 /* _POW10_M128_TAB(%rip) */ - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x3364f74a; BYTE $0x08 // mulq $8(%rbx,%r14) - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - WORD $0x8949; BYTE $0xd3 // movq %rdx, %r11 - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - LONG $0x0001ff25; BYTE $0x00 // andl $511, %eax - WORD $0x8948; BYTE $0xf9 // movq %rdi, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x3949; BYTE $0xcf // cmpq %rcx, %r15 - LONG $0x004f860f; WORD $0x0000 // jbe LBB8_11, $79(%rip) - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - LONG $0x0001ff3d; BYTE $0x00 // cmpl $511, %eax - LONG $0x0044850f; WORD $0x0000 // jne LBB8_13, $68(%rip) - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x3324f74a // mulq (%rbx,%r14) - WORD $0x014c; BYTE $0xfa // addq %r15, %rdx - LONG $0x00d38349 // adcq $0, %r11 - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0x001d860f; WORD $0x0000 // jbe LBB8_12, $29(%rip) - LONG $0xfffa8348 // cmpq $-1, %rdx - LONG $0x0013850f; WORD $0x0000 // jne LBB8_12, $19(%rip) - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - LONG $0x0001ff25; BYTE $0x00 // andl $511, %eax - LONG $0x0001ff3d; BYTE $0x00 // cmpl $511, %eax - LONG $0x0079840f; WORD $0x0000 // je LBB8_1, $121(%rip) - -LBB8_12: - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - LONG $0x0001ff25; BYTE $0x00 // andl $511, %eax - LONG $0x000003e9; BYTE $0x00 // jmp LBB8_13, $3(%rip) - -LBB8_11: - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - -LBB8_13: - WORD $0x894c; BYTE $0xdf // movq %r11, %rdi - LONG $0x3fefc148 // shrq $63, %rdi - WORD $0x4f8d; BYTE $0x09 // leal $9(%rdi), %ecx - WORD $0xd349; BYTE $0xeb // shrq %cl, %r11 - WORD $0x0948; BYTE $0xd0 // orq %rdx, %rax - LONG $0x000f850f; WORD $0x0000 // jne LBB8_16, $15(%rip) - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - WORD $0xe083; BYTE $0x03 // andl $3, %eax - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - LONG $0x0044840f; WORD $0x0000 // je LBB8_1, $68(%rip) - -LBB8_16: - LONG $0x526ac669; WORD $0x0003 // imull $217706, %esi, %eax - WORD $0xf8c1; BYTE $0x10 // sarl $16, %eax - LONG $0x00043f05; BYTE $0x00 // addl $1087, %eax - WORD $0x6348; BYTE $0xd0 // movslq %eax, %rdx - WORD $0x8944; BYTE $0xd8 // movl %r11d, %eax - WORD $0xe083; BYTE $0x01 // andl $1, %eax - WORD $0x014c; BYTE $0xd8 // addq %r11, %rax - QUAD $0x000000000000b948; WORD $0x01c0 // movabsq $126100789566373888, %rcx - WORD $0x2148; BYTE $0xc1 // andq %rax, %rcx - WORD $0x294c; BYTE $0xd2 // subq %r10, %rdx - LONG $0x3a548d48; BYTE $0xfe // leaq $-2(%rdx,%rdi), %rdx - LONG $0x01f98348 // cmpq $1, %rcx - LONG $0xffda8348 // sbbq $-1, %rdx - LONG $0xfdfa8148; WORD $0x0007; BYTE $0x00 // cmpq $2045, %rdx - LONG $0x0009860f; WORD $0x0000 // jbe LBB8_18, $9(%rip) - -LBB8_1: - WORD $0xc031 // xorl %eax, %eax - -LBB8_19: - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB8_18: - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0x01f98348 // cmpq $1, %rcx - WORD $0x02b1 // movb $2, %cl - WORD $0xd980; BYTE $0x00 // sbbb $0, %cl - WORD $0xd348; BYTE $0xe8 // shrq %cl, %rax - LONG $0x34e2c148 // shlq $52, %rdx - QUAD $0xffffffffffffb948; WORD $0x000f // movabsq $4503599627370495, %rcx - WORD $0x2148; BYTE $0xc1 // andq %rax, %rcx - WORD $0x0948; BYTE $0xd1 // orq %rdx, %rcx - QUAD $0x000000000000b848; WORD $0x8000 // movabsq $-9223372036854775808, %rax - WORD $0x0948; BYTE $0xc8 // orq %rcx, %rax - LONG $0xfff98341 // cmpl $-1, %r9d - LONG $0xc1450f48 // cmovneq %rcx, %rax - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - WORD $0x01b0 // movb $1, %al - LONG $0xffffb7e9; BYTE $0xff // jmp LBB8_19, $-73(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_decimal_to_f64: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - QUAD $0x000000000000bd49; WORD $0x0010 // movabsq $4503599627370496, %r13 - LONG $0x00107f83 // cmpl $0, $16(%rdi) - LONG $0x002f840f; WORD $0x0000 // je LBB9_4, $47(%rip) - QUAD $0x000000000000be49; WORD $0x7ff0 // movabsq $9218868437227405312, %r14 - LONG $0x14478b41 // movl $20(%r15), %eax - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x0001363d; BYTE $0x00 // cmpl $310, %eax - LONG $0x034c8f0f; WORD $0x0000 // jg LBB9_64, $844(%rip) - LONG $0xfffeb63d; BYTE $0xff // cmpl $-330, %eax - LONG $0x00138d0f; WORD $0x0000 // jge LBB9_5, $19(%rip) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - LONG $0x000339e9; BYTE $0x00 // jmp LBB9_64, $825(%rip) - -LBB9_4: - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x00032ee9; BYTE $0x00 // jmp LBB9_64, $814(%rip) - -LBB9_5: - WORD $0xc085 // testl %eax, %eax - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip) - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x68358d4c; WORD $0x0093; BYTE $0x00 // leaq $37736(%rip), %r14 /* _POW_TAB(%rip) */ - LONG $0x00002de9; BYTE $0x00 // jmp LBB9_8, $45(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB9_10: - WORD $0xc089 // movl %eax, %eax - LONG $0x861c8b41 // movl (%r14,%rax,4), %ebx - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0x000a840f; WORD $0x0000 // je LBB9_7, $10(%rip) - -LBB9_11: - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0xde89 // movl %ebx, %esi - LONG $0x006265e8; BYTE $0x00 // callq _right_shift, $25189(%rip) - -LBB9_7: - WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d - LONG $0x14478b41 // movl $20(%r15), %eax - WORD $0xc085 // testl %eax, %eax - LONG $0x001e8e0f; WORD $0x0000 // jle LBB9_12, $30(%rip) - -LBB9_8: - WORD $0xf883; BYTE $0x08 // cmpl $8, %eax - LONG $0xffcd8e0f; WORD $0xffff // jle LBB9_10, $-51(%rip) - LONG $0x00001bbb; BYTE $0x00 // movl $27, %ebx - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0xffce850f; WORD $0xffff // jne LBB9_11, $-50(%rip) - LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip) - -LBB9_12: - LONG $0x11358d4c; WORD $0x0093; BYTE $0x00 // leaq $37649(%rip), %r14 /* _POW_TAB(%rip) */ - LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip) - -LBB9_18: - LONG $0x00001bbb; BYTE $0x00 // movl $27, %ebx - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0x001a840f; WORD $0x0000 // je LBB9_13, $26(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB9_20: - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0xde89 // movl %ebx, %esi - LONG $0x006016e8; BYTE $0x00 // callq _left_shift, $24598(%rip) - LONG $0x14478b41 // movl $20(%r15), %eax - -LBB9_13: - WORD $0x2941; BYTE $0xdc // subl %ebx, %r12d - -LBB9_14: - WORD $0xc085 // testl %eax, %eax - LONG $0x0017880f; WORD $0x0000 // js LBB9_17, $23(%rip) - LONG $0x0035850f; WORD $0x0000 // jne LBB9_21, $53(%rip) - WORD $0x8b49; BYTE $0x0f // movq (%r15), %rcx - WORD $0x3980; BYTE $0x35 // cmpb $53, (%rcx) - LONG $0x000e8c0f; WORD $0x0000 // jl LBB9_19, $14(%rip) - LONG $0x000024e9; BYTE $0x00 // jmp LBB9_21, $36(%rip) - - // .p2align 4, 0x90 -LBB9_17: - WORD $0xf883; BYTE $0xf8 // cmpl $-8, %eax - LONG $0xffab8c0f; WORD $0xffff // jl LBB9_18, $-85(%rip) - -LBB9_19: - WORD $0xc189 // movl %eax, %ecx - WORD $0xd9f7 // negl %ecx - WORD $0x6348; BYTE $0xc9 // movslq %ecx, %rcx - LONG $0x8e1c8b41 // movl (%r14,%rcx,4), %ebx - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0xffb1850f; WORD $0xffff // jne LBB9_20, $-79(%rip) - LONG $0xffffbae9; BYTE $0xff // jmp LBB9_13, $-70(%rip) - -LBB9_21: - LONG $0x02fc8141; WORD $0xfffc; BYTE $0xff // cmpl $-1022, %r12d - LONG $0x00538f0f; WORD $0x0000 // jg LBB9_27, $83(%rip) - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x0060840f; WORD $0x0000 // je LBB9_29, $96(%rip) - LONG $0xc6fc8141; WORD $0xfffb; BYTE $0xff // cmpl $-1082, %r12d - LONG $0x005e8f0f; WORD $0x0000 // jg LBB9_30, $94(%rip) - LONG $0xc1c48141; WORD $0x0003; BYTE $0x00 // addl $961, %r12d - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB9_25: - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi - LONG $0x006173e8; BYTE $0x00 // callq _right_shift, $24947(%rip) - LONG $0x3cc48341 // addl $60, %r12d - LONG $0x88fc8341 // cmpl $-120, %r12d - LONG $0xffe58c0f; WORD $0xffff // jl LBB9_25, $-27(%rip) - LONG $0x3cc48341 // addl $60, %r12d - LONG $0x00002ee9; BYTE $0x00 // jmp LBB9_31, $46(%rip) - -LBB9_27: - LONG $0x00fc8141; WORD $0x0004; BYTE $0x00 // cmpl $1024, %r12d - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x01a48f0f; WORD $0x0000 // jg LBB9_61, $420(%rip) - WORD $0xff41; BYTE $0xcc // decl %r12d - WORD $0x8945; BYTE $0xe6 // movl %r12d, %r14d - LONG $0x000026e9; BYTE $0x00 // jmp LBB9_32, $38(%rip) - -LBB9_29: - LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d - LONG $0x000033e9; BYTE $0x00 // jmp LBB9_34, $51(%rip) - -LBB9_30: - LONG $0xfdc48141; WORD $0x0003; BYTE $0x00 // addl $1021, %r12d - -LBB9_31: - WORD $0xf741; BYTE $0xdc // negl %r12d - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi - LONG $0x006120e8; BYTE $0x00 // callq _right_shift, $24864(%rip) - LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d - -LBB9_32: - LONG $0x107f8341; BYTE $0x00 // cmpl $0, $16(%r15) - LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip) - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - LONG $0x000035be; BYTE $0x00 // movl $53, %esi - LONG $0x005f12e8; BYTE $0x00 // callq _left_shift, $24338(%rip) - -LBB9_34: - LONG $0x14478b41 // movl $20(%r15), %eax - LONG $0xffc4c749; WORD $0xffff; BYTE $0xff // movq $-1, %r12 - WORD $0xf883; BYTE $0x14 // cmpl $20, %eax - LONG $0x015f8f0f; WORD $0x0000 // jg LBB9_63, $351(%rip) - WORD $0xc085 // testl %eax, %eax - LONG $0x00548e0f; WORD $0x0000 // jle LBB9_40, $84(%rip) - LONG $0x10578b41 // movl $16(%r15), %edx - WORD $0xf631 // xorl %esi, %esi - WORD $0xd285 // testl %edx, %edx - WORD $0x480f; BYTE $0xd6 // cmovsl %esi, %edx - LONG $0xff488d4c // leaq $-1(%rax), %r9 - WORD $0x3949; BYTE $0xd1 // cmpq %rdx, %r9 - LONG $0xca430f44 // cmovael %edx, %r9d - LONG $0x01418d45 // leal $1(%r9), %r8d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB9_37: - WORD $0x3948; BYTE $0xf2 // cmpq %rsi, %rdx - LONG $0x002b840f; WORD $0x0000 // je LBB9_41, $43(%rip) - LONG $0xa43c8d4b // leaq (%r12,%r12,4), %rdi - WORD $0x8b49; BYTE $0x0f // movq (%r15), %rcx - LONG $0x0cbe0f48; BYTE $0x31 // movsbq (%rcx,%rsi), %rcx - LONG $0x79648d4c; BYTE $0xd0 // leaq $-48(%rcx,%rdi,2), %r12 - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0xffda850f; WORD $0xffff // jne LBB9_37, $-38(%rip) - WORD $0x8945; BYTE $0xc1 // movl %r8d, %r9d - LONG $0x000006e9; BYTE $0x00 // jmp LBB9_41, $6(%rip) - -LBB9_40: - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - -LBB9_41: - WORD $0x3944; BYTE $0xc8 // cmpl %r9d, %eax - LONG $0x00638e0f; WORD $0x0000 // jle LBB9_49, $99(%rip) - WORD $0xc689 // movl %eax, %esi - WORD $0x2944; BYTE $0xce // subl %r9d, %esi - WORD $0x8944; BYTE $0xca // movl %r9d, %edx - WORD $0xd2f7 // notl %edx - WORD $0xc201 // addl %eax, %edx - WORD $0xe683; BYTE $0x07 // andl $7, %esi - LONG $0x0022840f; WORD $0x0000 // je LBB9_46, $34(%rip) - WORD $0xdef7 // negl %esi - WORD $0xff31 // xorl %edi, %edi - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB9_44: - WORD $0x014d; BYTE $0xe4 // addq %r12, %r12 - LONG $0xa4248d4f // leaq (%r12,%r12,4), %r12 - WORD $0xcfff // decl %edi - WORD $0xfe39 // cmpl %edi, %esi - LONG $0xffef850f; WORD $0xffff // jne LBB9_44, $-17(%rip) - WORD $0x2941; BYTE $0xf9 // subl %edi, %r9d - -LBB9_46: - WORD $0xfa83; BYTE $0x07 // cmpl $7, %edx - LONG $0x0023820f; WORD $0x0000 // jb LBB9_49, $35(%rip) - WORD $0xc289 // movl %eax, %edx - WORD $0x2944; BYTE $0xca // subl %r9d, %edx - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB9_48: - LONG $0x00e4694d; WORD $0xf5e1; BYTE $0x05 // imulq $100000000, %r12, %r12 - WORD $0xc283; BYTE $0xf8 // addl $-8, %edx - LONG $0xfff0850f; WORD $0xffff // jne LBB9_48, $-16(%rip) - -LBB9_49: - WORD $0xc085 // testl %eax, %eax - LONG $0x0049880f; WORD $0x0000 // js LBB9_57, $73(%rip) - LONG $0x10778b41 // movl $16(%r15), %esi - WORD $0xc639 // cmpl %eax, %esi - LONG $0x003d8e0f; WORD $0x0000 // jle LBB9_57, $61(%rip) - WORD $0x8b49; BYTE $0x17 // movq (%r15), %rdx - WORD $0x0c8a; BYTE $0x02 // movb (%rdx,%rax), %cl - WORD $0x788d; BYTE $0x01 // leal $1(%rax), %edi - WORD $0xf739 // cmpl %esi, %edi - LONG $0x00be850f; WORD $0x0000 // jne LBB9_58, $190(%rip) - WORD $0xf980; BYTE $0x35 // cmpb $53, %cl - LONG $0x00b5850f; WORD $0x0000 // jne LBB9_58, $181(%rip) - LONG $0x1c7f8341; BYTE $0x00 // cmpl $0, $28(%r15) - WORD $0x950f; BYTE $0xc1 // setne %cl - LONG $0x0017850f; WORD $0x0000 // jne LBB9_59, $23(%rip) - WORD $0xc085 // testl %eax, %eax - LONG $0x000f8e0f; WORD $0x0000 // jle LBB9_59, $15(%rip) - WORD $0xc8ff // decl %eax - WORD $0x0c8a; BYTE $0x02 // movb (%rdx,%rax), %cl - WORD $0xe180; BYTE $0x01 // andb $1, %cl - LONG $0x000002e9; BYTE $0x00 // jmp LBB9_59, $2(%rip) - -LBB9_57: - WORD $0xc931 // xorl %ecx, %ecx - -LBB9_59: - WORD $0xb60f; BYTE $0xc1 // movzbl %cl, %eax - WORD $0x0149; BYTE $0xc4 // addq %rax, %r12 - QUAD $0x000000000000b848; WORD $0x0020 // movabsq $9007199254740992, %rax - WORD $0x3949; BYTE $0xc4 // cmpq %rax, %r12 - LONG $0x0025850f; WORD $0x0000 // jne LBB9_63, $37(%rip) - LONG $0xfefe8141; WORD $0x0003; BYTE $0x00 // cmpl $1022, %r14d - LONG $0x00128e0f; WORD $0x0000 // jle LBB9_62, $18(%rip) - -LBB9_61: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - QUAD $0x000000000000be49; WORD $0x7ff0 // movabsq $9218868437227405312, %r14 - LONG $0x000025e9; BYTE $0x00 // jmp LBB9_64, $37(%rip) - -LBB9_62: - WORD $0xff41; BYTE $0xc6 // incl %r14d - WORD $0x894d; BYTE $0xec // movq %r13, %r12 - -LBB9_63: - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - WORD $0x214c; BYTE $0xe8 // andq %r13, %rax - LONG $0xffc68141; WORD $0x0003; BYTE $0x00 // addl $1023, %r14d - LONG $0xffe68141; WORD $0x0007; BYTE $0x00 // andl $2047, %r14d - LONG $0x34e6c149 // shlq $52, %r14 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xf0440f4c // cmoveq %rax, %r14 - -LBB9_64: - WORD $0xff49; BYTE $0xcd // decq %r13 - WORD $0x214d; BYTE $0xe5 // andq %r12, %r13 - WORD $0x094d; BYTE $0xf5 // orq %r14, %r13 - QUAD $0x000000000000b848; WORD $0x8000 // movabsq $-9223372036854775808, %rax - WORD $0x094c; BYTE $0xe8 // orq %r13, %rax - LONG $0x187f8341; BYTE $0x00 // cmpl $0, $24(%r15) - LONG $0xc5440f49 // cmoveq %r13, %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - WORD $0xc031 // xorl %eax, %eax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB9_58: - WORD $0xf980; BYTE $0x34 // cmpb $52, %cl - WORD $0x9f0f; BYTE $0xc1 // setg %cl - LONG $0xffff65e9; BYTE $0xff // jmp LBB9_59, $-155(%rip) - WORD $0x9090 // .p2align 4, 0x90 - -_atof_native: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - LONG $0x30ec8348 // subq $48, %rsp - QUAD $0x00000000d845c748 // movq $0, $-40(%rbp) - LONG $0xe0558948 // movq %rdx, $-32(%rbp) - LONG $0xe84d8948 // movq %rcx, $-24(%rbp) - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x0044840f; WORD $0x0000 // je LBB10_5, $68(%rip) - WORD $0x02c6; BYTE $0x00 // movb $0, (%rdx) - LONG $0x01f98348 // cmpq $1, %rcx - LONG $0x0037840f; WORD $0x0000 // je LBB10_5, $55(%rip) - LONG $0x000142c6 // movb $0, $1(%rdx) - LONG $0xe87d8348; BYTE $0x03 // cmpq $3, $-24(%rbp) - LONG $0x0028820f; WORD $0x0000 // jb LBB10_5, $40(%rip) - LONG $0x000002b8; BYTE $0x00 // movl $2, %eax - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB10_4: - LONG $0xe04d8b48 // movq $-32(%rbp), %rcx - LONG $0x000104c6 // movb $0, (%rcx,%rax) - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0xe8453948 // cmpq %rax, $-24(%rbp) - LONG $0xffeb870f; WORD $0xffff // ja LBB10_4, $-21(%rip) - -LBB10_5: - WORD $0x570f; BYTE $0xc0 // xorps %xmm0, %xmm0 - LONG $0xf045110f // movups %xmm0, $-16(%rbp) - WORD $0x3f80; BYTE $0x2d // cmpb $45, (%rdi) - LONG $0x0021850f; WORD $0x0000 // jne LBB10_8, $33(%rip) - LONG $0x01f845c7; WORD $0x0000; BYTE $0x00 // movl $1, $-8(%rbp) - LONG $0x000001b8; BYTE $0x00 // movl $1, %eax - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0x00178c0f; WORD $0x0000 // jl LBB10_9, $23(%rip) - -LBB10_7: - LONG $0x00f445c7; WORD $0x0000; BYTE $0x00 // movl $0, $-12(%rbp) - LONG $0x0001a3e9; BYTE $0x00 // jmp LBB10_39, $419(%rip) - -LBB10_8: - WORD $0xc031 // xorl %eax, %eax - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0xffe98d0f; WORD $0xffff // jge LBB10_7, $-23(%rip) - -LBB10_9: - WORD $0xb341; BYTE $0x01 // movb $1, %r11b - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0x000021e9; BYTE $0x00 // jmp LBB10_13, $33(%rip) - -LBB10_21: - LONG $0x01fc45c7; WORD $0x0000; BYTE $0x00 // movl $1, $-4(%rbp) - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB10_12: - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0xc39c0f41 // setl %r11b - WORD $0x3948; BYTE $0xc6 // cmpq %rax, %rsi - LONG $0x0090840f; WORD $0x0000 // je LBB10_23, $144(%rip) - -LBB10_13: - LONG $0x070cb60f // movzbl (%rdi,%rax), %ecx - WORD $0x518d; BYTE $0xd0 // leal $-48(%rcx), %edx - WORD $0xfa80; BYTE $0x09 // cmpb $9, %dl - LONG $0x002d870f; WORD $0x0000 // ja LBB10_18, $45(%rip) - WORD $0xf980; BYTE $0x30 // cmpb $48, %cl - LONG $0x0044850f; WORD $0x0000 // jne LBB10_20, $68(%rip) - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x0063840f; WORD $0x0000 // je LBB10_22, $99(%rip) - WORD $0x634d; BYTE $0xd9 // movslq %r9d, %r11 - LONG $0xe85d394c // cmpq %r11, $-24(%rbp) - LONG $0x003b870f; WORD $0x0000 // ja LBB10_10, $59(%rip) - LONG $0x000049e9; BYTE $0x00 // jmp LBB10_11, $73(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB10_18: - WORD $0xf980; BYTE $0x2e // cmpb $46, %cl - LONG $0x009b850f; WORD $0x0000 // jne LBB10_30, $155(%rip) - LONG $0xf4558944 // movl %r10d, $-12(%rbp) - LONG $0x0001b841; WORD $0x0000 // movl $1, %r8d - LONG $0xffff98e9; BYTE $0xff // jmp LBB10_12, $-104(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB10_20: - WORD $0x634d; BYTE $0xda // movslq %r10d, %r11 - LONG $0xe85d394c // cmpq %r11, $-24(%rbp) - LONG $0xff75860f; WORD $0xffff // jbe LBB10_21, $-139(%rip) - -LBB10_10: - LONG $0xe0558b48 // movq $-32(%rbp), %rdx - LONG $0x1a0c8842 // movb %cl, (%rdx,%r11) - LONG $0xf04d8b44 // movl $-16(%rbp), %r9d - WORD $0xff41; BYTE $0xc1 // incl %r9d - LONG $0xf04d8944 // movl %r9d, $-16(%rbp) - -LBB10_11: - WORD $0x8945; BYTE $0xca // movl %r9d, %r10d - LONG $0xffff68e9; BYTE $0xff // jmp LBB10_12, $-152(%rip) - -LBB10_22: - WORD $0x4dff; BYTE $0xf4 // decl $-12(%rbp) - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - LONG $0xffff5de9; BYTE $0xff // jmp LBB10_12, $-163(%rip) - -LBB10_23: - WORD $0xf189 // movl %esi, %ecx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0x0004850f; WORD $0x0000 // jne LBB10_25, $4(%rip) - -LBB10_24: - LONG $0xf44d8944 // movl %r9d, $-12(%rbp) - -LBB10_25: - LONG $0x01c3f641 // testb $1, %r11b - LONG $0x00ba840f; WORD $0x0000 // je LBB10_39, $186(%rip) - WORD $0x0c8a; BYTE $0x0f // movb (%rdi,%rcx), %cl - WORD $0xc980; BYTE $0x20 // orb $32, %cl - WORD $0xf980; BYTE $0x65 // cmpb $101, %cl - LONG $0x00ab850f; WORD $0x0000 // jne LBB10_39, $171(%rip) - WORD $0xc289 // movl %eax, %edx - LONG $0x01174c8a // movb $1(%rdi,%rdx), %cl - WORD $0xf980; BYTE $0x2d // cmpb $45, %cl - LONG $0x0028840f; WORD $0x0000 // je LBB10_31, $40(%rip) - LONG $0x0001b841; WORD $0x0000 // movl $1, %r8d - WORD $0xf980; BYTE $0x2b // cmpb $43, %cl - LONG $0x0038850f; WORD $0x0000 // jne LBB10_33, $56(%rip) - WORD $0xc083; BYTE $0x02 // addl $2, %eax - LONG $0x00001ae9; BYTE $0x00 // jmp LBB10_32, $26(%rip) - -LBB10_30: - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0xffb5850f; WORD $0xffff // jne LBB10_25, $-75(%rip) - LONG $0xfffface9; BYTE $0xff // jmp LBB10_24, $-84(%rip) - -LBB10_31: - WORD $0xc083; BYTE $0x02 // addl $2, %eax - LONG $0xffffb841; WORD $0xffff // movl $-1, %r8d - -LBB10_32: - WORD $0xc289 // movl %eax, %edx - WORD $0x6348; BYTE $0xd2 // movslq %edx, %rdx - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x3948; BYTE $0xf2 // cmpq %rsi, %rdx - LONG $0x00178c0f; WORD $0x0000 // jl LBB10_34, $23(%rip) - LONG $0x00004de9; BYTE $0x00 // jmp LBB10_38, $77(%rip) - -LBB10_33: - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0x6348; BYTE $0xd2 // movslq %edx, %rdx - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x3948; BYTE $0xf2 // cmpq %rsi, %rdx - LONG $0x003b8d0f; WORD $0x0000 // jge LBB10_38, $59(%rip) - -LBB10_34: - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB10_35: - LONG $0x0ff98141; WORD $0x0027; BYTE $0x00 // cmpl $9999, %r9d - LONG $0x00248f0f; WORD $0x0000 // jg LBB10_38, $36(%rip) - LONG $0x170cb60f // movzbl (%rdi,%rdx), %ecx - WORD $0x418d; BYTE $0xd0 // leal $-48(%rcx), %eax - WORD $0x093c // cmpb $9, %al - LONG $0x0015870f; WORD $0x0000 // ja LBB10_38, $21(%rip) - LONG $0x89048d43 // leal (%r9,%r9,4), %eax - LONG $0x414c8d44; BYTE $0xd0 // leal $-48(%rcx,%rax,2), %r9d - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0x3948; BYTE $0xd6 // cmpq %rdx, %rsi - LONG $0xffcf850f; WORD $0xffff // jne LBB10_35, $-49(%rip) - -LBB10_38: - LONG $0xc8af0f45 // imull %r8d, %r9d - LONG $0xf44d0144 // addl %r9d, $-12(%rbp) - -LBB10_39: - LONG $0xe07d8d48 // leaq $-32(%rbp), %rdi - LONG $0xd8758d48 // leaq $-40(%rbp), %rsi - LONG $0xfff9eae8; BYTE $0xff // callq _decimal_to_f64, $-1558(%rip) - LONG $0x45100ff2; BYTE $0xd8 // movsd $-40(%rbp), %xmm0 - LONG $0x30c48348 // addq $48, %rsp - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_value: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x28ec8348 // subq $40, %rsp - WORD $0x8949; BYTE $0xce // movq %rcx, %r14 - WORD $0x8949; BYTE $0xd4 // movq %rdx, %r12 - WORD $0x8949; BYTE $0xf7 // movq %rsi, %r15 - WORD $0x8949; BYTE $0xfd // movq %rdi, %r13 - LONG $0xd0558948 // movq %rdx, $-48(%rbp) - LONG $0xb07d8948 // movq %rdi, $-80(%rbp) - LONG $0xb8758948 // movq %rsi, $-72(%rbp) - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x2948; BYTE $0xf0 // subq %rsi, %rax - LONG $0x002b830f; WORD $0x0000 // jae LBB11_5, $43(%rip) - LONG $0x254c8a43; BYTE $0x00 // movb (%r13,%r12), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x001d840f; WORD $0x0000 // je LBB11_5, $29(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x0014840f; WORD $0x0000 // je LBB11_5, $20(%rip) - WORD $0x518d; BYTE $0xf7 // leal $-9(%rcx), %edx - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0008860f; WORD $0x0000 // jbe LBB11_5, $8(%rip) - WORD $0x894c; BYTE $0xe3 // movq %r12, %rbx - LONG $0x000132e9; BYTE $0x00 // jmp LBB11_28, $306(%rip) - -LBB11_5: - LONG $0x245c8d49; BYTE $0x01 // leaq $1(%r12), %rbx - WORD $0x394c; BYTE $0xfb // cmpq %r15, %rbx - LONG $0x0023830f; WORD $0x0000 // jae LBB11_9, $35(%rip) - LONG $0x1d4c8a41; BYTE $0x00 // movb (%r13,%rbx), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB11_9, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB11_9, $12(%rip) - WORD $0x518d; BYTE $0xf7 // leal $-9(%rcx), %edx - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0101870f; WORD $0x0000 // ja LBB11_28, $257(%rip) - -LBB11_9: - LONG $0x245c8d49; BYTE $0x02 // leaq $2(%r12), %rbx - WORD $0x394c; BYTE $0xfb // cmpq %r15, %rbx - LONG $0x0023830f; WORD $0x0000 // jae LBB11_13, $35(%rip) - LONG $0x1d4c8a41; BYTE $0x00 // movb (%r13,%rbx), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB11_13, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB11_13, $12(%rip) - WORD $0x518d; BYTE $0xf7 // leal $-9(%rcx), %edx - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00d0870f; WORD $0x0000 // ja LBB11_28, $208(%rip) - -LBB11_13: - LONG $0x245c8d49; BYTE $0x03 // leaq $3(%r12), %rbx - WORD $0x394c; BYTE $0xfb // cmpq %r15, %rbx - LONG $0x0023830f; WORD $0x0000 // jae LBB11_17, $35(%rip) - LONG $0x1d4c8a41; BYTE $0x00 // movb (%r13,%rbx), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB11_17, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB11_17, $12(%rip) - WORD $0x518d; BYTE $0xf7 // leal $-9(%rcx), %edx - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x009f870f; WORD $0x0000 // ja LBB11_28, $159(%rip) - -LBB11_17: - LONG $0x244c8d49; BYTE $0x04 // leaq $4(%r12), %rcx - WORD $0x394c; BYTE $0xf9 // cmpq %r15, %rcx - LONG $0x0057830f; WORD $0x0000 // jae LBB11_23, $87(%rip) - WORD $0x3949; BYTE $0xcf // cmpq %rcx, %r15 - LONG $0x005a840f; WORD $0x0000 // je LBB11_24, $90(%rip) - LONG $0x3d4c8d4b; BYTE $0x00 // leaq (%r13,%r15), %rcx - LONG $0x04c08348 // addq $4, %rax - LONG $0x2c5c8d4b; BYTE $0x05 // leaq $5(%r12,%r13), %rbx - QUAD $0x000100002600ba48; WORD $0x0000 // movabsq $4294977024, %rdx - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB11_20: - LONG $0xff73be0f // movsbl $-1(%rbx), %esi - WORD $0xfe83; BYTE $0x20 // cmpl $32, %esi - LONG $0x003e870f; WORD $0x0000 // ja LBB11_26, $62(%rip) - LONG $0xf2a30f48 // btq %rsi, %rdx - LONG $0x0034830f; WORD $0x0000 // jae LBB11_26, $52(%rip) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0xffdd850f; WORD $0xffff // jne LBB11_20, $-35(%rip) - LONG $0x00000fe9; BYTE $0x00 // jmp LBB11_25, $15(%rip) - -LBB11_23: - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - WORD $0x8949; BYTE $0xcc // movq %rcx, %r12 - LONG $0x000079e9; BYTE $0x00 // jmp LBB11_32, $121(%rip) - -LBB11_24: - WORD $0x014c; BYTE $0xe9 // addq %r13, %rcx - -LBB11_25: - WORD $0x294c; BYTE $0xe9 // subq %r13, %rcx - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - WORD $0x394c; BYTE $0xfb // cmpq %r15, %rbx - LONG $0x0017820f; WORD $0x0000 // jb LBB11_27, $23(%rip) - LONG $0x000062e9; BYTE $0x00 // jmp LBB11_32, $98(%rip) - -LBB11_26: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - WORD $0x394c; BYTE $0xfb // cmpq %r15, %rbx - LONG $0x0050830f; WORD $0x0000 // jae LBB11_32, $80(%rip) - -LBB11_27: - LONG $0x1d4c8a41; BYTE $0x00 // movb (%r13,%rbx), %cl - -LBB11_28: - LONG $0x01638d4c // leaq $1(%rbx), %r12 - LONG $0xd065894c // movq %r12, $-48(%rbp) - WORD $0xbe0f; BYTE $0xc1 // movsbl %cl, %eax - WORD $0xf883; BYTE $0x7d // cmpl $125, %eax - LONG $0x00c4870f; WORD $0x0000 // ja LBB11_41, $196(%rip) - LONG $0x83158d48; WORD $0x0003; BYTE $0x00 // leaq $899(%rip), %rdx /* LJTI11_0(%rip) */ - LONG $0x82046348 // movslq (%rdx,%rax,4), %rax - WORD $0x0148; BYTE $0xd0 // addq %rdx, %rax - JMP AX - -LBB11_30: - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x02c0f641 // testb $2, %r8b - LONG $0x0035850f; WORD $0x0000 // jne LBB11_35, $53(%rip) - LONG $0xb07d8d48 // leaq $-80(%rbp), %rdi - LONG $0xd0758d48 // leaq $-48(%rbp), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0x000bace8; BYTE $0x00 // callq _vnumber, $2988(%rip) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x00000ae9; BYTE $0x00 // jmp LBB11_34, $10(%rip) - -LBB11_32: - LONG $0x0106c749; WORD $0x0000; BYTE $0x00 // movq $1, (%r14) - -LBB11_33: - WORD $0x894c; BYTE $0xe3 // movq %r12, %rbx - -LBB11_34: - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - LONG $0x28c48348 // addq $40, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB11_35: - LONG $0xc875894c // movq %r14, $-56(%rbp) - LONG $0x1d748d4d; BYTE $0x00 // leaq (%r13,%rbx), %r14 - WORD $0xc031 // xorl %eax, %eax - WORD $0xf980; BYTE $0x2d // cmpb $45, %cl - WORD $0x940f; BYTE $0xc0 // sete %al - WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 - WORD $0x2949; BYTE $0xc7 // subq %rax, %r15 - LONG $0x02e2840f; WORD $0x0000 // je LBB11_85, $738(%rip) - WORD $0x394c; BYTE $0xfb // cmpq %r15, %rbx - LONG $0x000d830f; WORD $0x0000 // jae LBB11_38, $13(%rip) - WORD $0x8a41; BYTE $0x06 // movb (%r14), %al - WORD $0xd004 // addb $-48, %al - WORD $0x0a3c // cmpb $10, %al - LONG $0x02e5830f; WORD $0x0000 // jae LBB11_87, $741(%rip) - -LBB11_38: - WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0x001f59e8; BYTE $0x00 // callq _do_skip_number, $8025(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x02cb880f; WORD $0x0000 // js LBB11_86, $715(%rip) - WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 - WORD $0x294d; BYTE $0xee // subq %r13, %r14 - LONG $0xd075894c // movq %r14, $-48(%rbp) - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x02cc8e0f; WORD $0x0000 // jle LBB11_88, $716(%rip) - LONG $0xc8458b48 // movq $-56(%rbp), %rax - LONG $0x0800c748; WORD $0x0000; BYTE $0x00 // movq $8, (%rax) - LONG $0x18588948 // movq %rbx, $24(%rax) - WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx - LONG $0xffff7de9; BYTE $0xff // jmp LBB11_34, $-131(%rip) - -LBB11_41: - LONG $0xfe06c749; WORD $0xffff; BYTE $0xff // movq $-2, (%r14) - LONG $0xffff71e9; BYTE $0xff // jmp LBB11_34, $-143(%rip) - -LBB11_42: - QUAD $0xffffffffc045c748 // movq $-1, $-64(%rbp) - LONG $0xb07d8d48 // leaq $-80(%rbp), %rdi - LONG $0xc0558d48 // leaq $-64(%rbp), %rdx - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - WORD $0x894c; BYTE $0xc1 // movq %r8, %rcx - LONG $0x00054fe8; BYTE $0x00 // callq _advance_string, $1359(%rip) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0150880f; WORD $0x0000 // js LBB11_61, $336(%rip) - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x1066894d // movq %r12, $16(%r14) - LONG $0xc0458b48 // movq $-64(%rbp), %rax - WORD $0x3948; BYTE $0xd8 // cmpq %rbx, %rax - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - LONG $0xc84c0f48 // cmovlq %rax, %rcx - LONG $0x184e8949 // movq %rcx, $24(%r14) - LONG $0x000007b8; BYTE $0x00 // movl $7, %eax - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0xffff1fe9; BYTE $0xff // jmp LBB11_34, $-225(%rip) - -LBB11_44: - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x00000bb9; BYTE $0x00 // movl $11, %ecx - LONG $0x0000f8e9; BYTE $0x00 // jmp LBB11_60, $248(%rip) - -LBB11_45: - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x00000ab9; BYTE $0x00 // movl $10, %ecx - LONG $0x0000e4e9; BYTE $0x00 // jmp LBB11_60, $228(%rip) - -LBB11_46: - LONG $0x0506c749; WORD $0x0000; BYTE $0x00 // movq $5, (%r14) - LONG $0xfffee8e9; BYTE $0xff // jmp LBB11_33, $-280(%rip) - -LBB11_47: - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x00000cb9; BYTE $0x00 // movl $12, %ecx - LONG $0x0000c4e9; BYTE $0x00 // jmp LBB11_60, $196(%rip) - -LBB11_48: - LONG $0xfc478d49 // leaq $-4(%r15), %rax - WORD $0x3948; BYTE $0xc3 // cmpq %rax, %rbx - LONG $0x008c830f; WORD $0x0000 // jae LBB11_57, $140(%rip) - LONG $0x254c8b43; BYTE $0x00 // movl (%r13,%r12), %ecx - LONG $0x6c61f981; WORD $0x6573 // cmpl $1702063201, %ecx - LONG $0x00ce850f; WORD $0x0000 // jne LBB11_62, $206(%rip) - LONG $0x05c38348 // addq $5, %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x000004b8; BYTE $0x00 // movl $4, %eax - WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 - LONG $0x0001aae9; BYTE $0x00 // jmp LBB11_84, $426(%rip) - -LBB11_51: - LONG $0xfd478d49 // leaq $-3(%r15), %rax - WORD $0x3948; BYTE $0xc3 // cmpq %rax, %rbx - LONG $0x0059830f; WORD $0x0000 // jae LBB11_57, $89(%rip) - LONG $0x1d4c8b41; BYTE $0x00 // movl (%r13,%rbx), %ecx - LONG $0x756ef981; WORD $0x6c6c // cmpl $1819047278, %ecx - LONG $0x00da850f; WORD $0x0000 // jne LBB11_66, $218(%rip) - LONG $0x04c38348 // addq $4, %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x000002b8; BYTE $0x00 // movl $2, %eax - WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 - LONG $0x000177e9; BYTE $0x00 // jmp LBB11_84, $375(%rip) - -LBB11_54: - LONG $0xfd478d49 // leaq $-3(%r15), %rax - WORD $0x3948; BYTE $0xc3 // cmpq %rax, %rbx - LONG $0x0026830f; WORD $0x0000 // jae LBB11_57, $38(%rip) - LONG $0x1d4c8b41; BYTE $0x00 // movl (%r13,%rbx), %ecx - LONG $0x7274f981; WORD $0x6575 // cmpl $1702195828, %ecx - LONG $0x00ea850f; WORD $0x0000 // jne LBB11_70, $234(%rip) - LONG $0x04c38348 // addq $4, %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0x000003b8; BYTE $0x00 // movl $3, %eax - WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 - LONG $0x000144e9; BYTE $0x00 // jmp LBB11_84, $324(%rip) - -LBB11_57: - LONG $0xd07d894c // movq %r15, $-48(%rbp) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x000134e9; BYTE $0x00 // jmp LBB11_84, $308(%rip) - -LBB11_58: - LONG $0x0606c749; WORD $0x0000; BYTE $0x00 // movq $6, (%r14) - LONG $0xfffe1fe9; BYTE $0xff // jmp LBB11_33, $-481(%rip) - -LBB11_59: - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x00000db9; BYTE $0x00 // movl $13, %ecx - -LBB11_60: - LONG $0xc8490f48 // cmovnsq %rax, %rcx - WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) - LONG $0x1ff8c141 // sarl $31, %r8d - WORD $0xf741; BYTE $0xd0 // notl %r8d - WORD $0x6349; BYTE $0xc0 // movslq %r8d, %rax - WORD $0x0149; BYTE $0xc4 // addq %rax, %r12 - LONG $0xfffdf7e9; BYTE $0xff // jmp LBB11_33, $-521(%rip) - -LBB11_61: - LONG $0xd07d894c // movq %r15, $-48(%rbp) - WORD $0x8949; BYTE $0x1e // movq %rbx, (%r14) - WORD $0x894c; BYTE $0xfb // movq %r15, %rbx - LONG $0xfffdebe9; BYTE $0xff // jmp LBB11_34, $-533(%rip) - -LBB11_62: - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - WORD $0xf980; BYTE $0x61 // cmpb $97, %cl - LONG $0x00bd850f; WORD $0x0000 // jne LBB11_74, $189(%rip) - LONG $0x1d7c8041; WORD $0x6c02 // cmpb $108, $2(%r13,%rbx) - LONG $0x00c1850f; WORD $0x0000 // jne LBB11_81, $193(%rip) - LONG $0x1d7c8041; WORD $0x7303 // cmpb $115, $3(%r13,%rbx) - LONG $0x00be850f; WORD $0x0000 // jne LBB11_79, $190(%rip) - LONG $0x047b8d4c // leaq $4(%rbx), %r15 - LONG $0x054b8d48 // leaq $5(%rbx), %rcx - LONG $0x1d7c8041; WORD $0x6504 // cmpb $101, $4(%r13,%rbx) - LONG $0xf9440f4c // cmoveq %rcx, %r15 - LONG $0x0000aee9; BYTE $0x00 // jmp LBB11_83, $174(%rip) - -LBB11_66: - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - WORD $0xf980; BYTE $0x6e // cmpb $110, %cl - LONG $0x0072850f; WORD $0x0000 // jne LBB11_76, $114(%rip) - LONG $0x1d7c8041; WORD $0x7501 // cmpb $117, $1(%r13,%rbx) - LONG $0x0076850f; WORD $0x0000 // jne LBB11_77, $118(%rip) - LONG $0x1d7c8041; WORD $0x6c02 // cmpb $108, $2(%r13,%rbx) - LONG $0x0072850f; WORD $0x0000 // jne LBB11_81, $114(%rip) - LONG $0x037b8d4c // leaq $3(%rbx), %r15 - LONG $0x044b8d48 // leaq $4(%rbx), %rcx - LONG $0x1d7c8041; WORD $0x6c03 // cmpb $108, $3(%r13,%rbx) - LONG $0xf9440f4c // cmoveq %rcx, %r15 - LONG $0x00006be9; BYTE $0x00 // jmp LBB11_83, $107(%rip) - -LBB11_70: - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - WORD $0xf980; BYTE $0x74 // cmpb $116, %cl - LONG $0x002f850f; WORD $0x0000 // jne LBB11_76, $47(%rip) - LONG $0x1d7c8041; WORD $0x7201 // cmpb $114, $1(%r13,%rbx) - LONG $0x0033850f; WORD $0x0000 // jne LBB11_77, $51(%rip) - LONG $0x1d7c8041; WORD $0x7502 // cmpb $117, $2(%r13,%rbx) - LONG $0x002f850f; WORD $0x0000 // jne LBB11_81, $47(%rip) - LONG $0x037b8d4c // leaq $3(%rbx), %r15 - LONG $0x044b8d48 // leaq $4(%rbx), %rcx - LONG $0x1d7c8041; WORD $0x6503 // cmpb $101, $3(%r13,%rbx) - LONG $0xf9440f4c // cmoveq %rcx, %r15 - LONG $0x000028e9; BYTE $0x00 // jmp LBB11_83, $40(%rip) - -LBB11_76: - WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 - LONG $0x000024e9; BYTE $0x00 // jmp LBB11_84, $36(%rip) - -LBB11_74: - WORD $0x894d; BYTE $0xe7 // movq %r12, %r15 - LONG $0x00001ce9; BYTE $0x00 // jmp LBB11_84, $28(%rip) - -LBB11_77: - WORD $0xff48; BYTE $0xc3 // incq %rbx - LONG $0x00000de9; BYTE $0x00 // jmp LBB11_82, $13(%rip) - -LBB11_81: - LONG $0x02c38348 // addq $2, %rbx - LONG $0x000004e9; BYTE $0x00 // jmp LBB11_82, $4(%rip) - -LBB11_79: - LONG $0x03c38348 // addq $3, %rbx - -LBB11_82: - WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 - -LBB11_83: - LONG $0xd07d894c // movq %r15, $-48(%rbp) - -LBB11_84: - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - WORD $0x894c; BYTE $0xfb // movq %r15, %rbx - LONG $0xfffcefe9; BYTE $0xff // jmp LBB11_34, $-785(%rip) - -LBB11_85: - WORD $0x294d; BYTE $0xee // subq %r13, %r14 - LONG $0xd075894c // movq %r14, $-48(%rbp) - LONG $0xffc3c748; WORD $0xffff; BYTE $0xff // movq $-1, %rbx - LONG $0x000014e9; BYTE $0x00 // jmp LBB11_88, $20(%rip) - -LBB11_86: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 - -LBB11_87: - WORD $0x294d; BYTE $0xee // subq %r13, %r14 - LONG $0xd075894c // movq %r14, $-48(%rbp) - LONG $0xfec3c748; WORD $0xffff; BYTE $0xff // movq $-2, %rbx - -LBB11_88: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x8948; BYTE $0x18 // movq %rbx, (%rax) - WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx - LONG $0xfffcb9e9; BYTE $0xff // jmp LBB11_34, $-839(%rip) - WORD $0x9090 // .p2align 2, 0x90 - - // .set L11_0_set_32, LBB11_32-LJTI11_0 - // .set L11_0_set_41, LBB11_41-LJTI11_0 - // .set L11_0_set_42, LBB11_42-LJTI11_0 - // .set L11_0_set_44, LBB11_44-LJTI11_0 - // .set L11_0_set_30, LBB11_30-LJTI11_0 - // .set L11_0_set_45, LBB11_45-LJTI11_0 - // .set L11_0_set_46, LBB11_46-LJTI11_0 - // .set L11_0_set_47, LBB11_47-LJTI11_0 - // .set L11_0_set_48, LBB11_48-LJTI11_0 - // .set L11_0_set_51, LBB11_51-LJTI11_0 - // .set L11_0_set_54, LBB11_54-LJTI11_0 - // .set L11_0_set_58, LBB11_58-LJTI11_0 - // .set L11_0_set_59, LBB11_59-LJTI11_0 -LJTI11_0: - LONG $0xfffffcad // .long L11_0_set_32 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd46 // .long L11_0_set_42 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd98 // .long L11_0_set_44 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffc86 // .long L11_0_set_30 - LONG $0xfffffdac // .long L11_0_set_45 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffdc0 // .long L11_0_set_46 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffdcc // .long L11_0_set_47 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffde0 // .long L11_0_set_48 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffe13 // .long L11_0_set_51 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffe46 // .long L11_0_set_54 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffe89 // .long L11_0_set_58 - LONG $0xfffffd3a // .long L11_0_set_41 - LONG $0xfffffe95 // .long L11_0_set_59 - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -_vstring: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x10ec8348 // subq $16, %rsp - WORD $0x8949; BYTE $0xd6 // movq %rdx, %r14 - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - QUAD $0xffffffffd845c748 // movq $-1, $-40(%rbp) - WORD $0x8b4c; BYTE $0x26 // movq (%rsi), %r12 - LONG $0xd8558d48 // leaq $-40(%rbp), %rdx - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x000081e8; BYTE $0x00 // callq _advance_string, $129(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0027880f; WORD $0x0000 // js LBB12_1, $39(%rip) - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0x1066894d // movq %r12, $16(%r14) - LONG $0xd84d8b48 // movq $-40(%rbp), %rcx - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xc14c0f48 // cmovlq %rcx, %rax - LONG $0x18468949 // movq %rax, $24(%r14) - LONG $0x000007b8; BYTE $0x00 // movl $7, %eax - LONG $0x000007e9; BYTE $0x00 // jmp LBB12_3, $7(%rip) - -LBB12_1: - LONG $0x084f8b49 // movq $8(%r15), %rcx - WORD $0x8948; BYTE $0x0b // movq %rcx, (%rbx) - -LBB12_3: - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x10c48348 // addq $16, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; WORD $0x0000 // .p2align 4, 0x00 - -LCPI13_0: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI13_1: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - -LCPI13_2: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - - // .p2align 4, 0x90 -_advance_string: - WORD $0xc1f6; BYTE $0x20 // testb $32, %cl - LONG $0x0005850f; WORD $0x0000 // jne LBB13_2, $5(%rip) - LONG $0x0056c2e9; BYTE $0x00 // jmp _advance_string_default, $22210(%rip) - -LBB13_2: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x20ec8348 // subq $32, %rsp - LONG $0x085f8b48 // movq $8(%rdi), %rbx - WORD $0x2948; BYTE $0xf3 // subq %rsi, %rbx - LONG $0x051e840f; WORD $0x0000 // je LBB13_21, $1310(%rip) - WORD $0x8b48; BYTE $0x07 // movq (%rdi), %rax - LONG $0xc0458948 // movq %rax, $-64(%rbp) - WORD $0x0148; BYTE $0xc6 // addq %rax, %rsi - LONG $0xc8558948 // movq %rdx, $-56(%rbp) - LONG $0xff02c748; WORD $0xffff; BYTE $0xff // movq $-1, (%rdx) - LONG $0x40fb8348 // cmpq $64, %rbx - LONG $0x0285820f; WORD $0x0000 // jb LBB13_22, $645(%rip) - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - QUAD $0xffff71056f0f4466; BYTE $0xff // movdqa $-143(%rip), %xmm8 /* LCPI13_0(%rip) */ - QUAD $0xffffff790d6f0f66 // movdqa $-135(%rip), %xmm1 /* LCPI13_1(%rip) */ - QUAD $0xffffff81156f0f66 // movdqa $-127(%rip), %xmm2 /* LCPI13_2(%rip) */ - LONG $0xdb760f66 // pcmpeqd %xmm3, %xmm3 - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB13_5: - LONG $0xb85d8948 // movq %rbx, $-72(%rbp) - LONG $0x066f0ff3 // movdqu (%rsi), %xmm0 - LONG $0x766f0ff3; BYTE $0x10 // movdqu $16(%rsi), %xmm6 - LONG $0x6e6f0ff3; BYTE $0x20 // movdqu $32(%rsi), %xmm5 - LONG $0x666f0ff3; BYTE $0x30 // movdqu $48(%rsi), %xmm4 - LONG $0xf86f0f66 // movdqa %xmm0, %xmm7 - LONG $0x740f4166; BYTE $0xf8 // pcmpeqb %xmm8, %xmm7 - LONG $0xffd70f66 // pmovmskb %xmm7, %edi - LONG $0xfe6f0f66 // movdqa %xmm6, %xmm7 - LONG $0x740f4166; BYTE $0xf8 // pcmpeqb %xmm8, %xmm7 - LONG $0xd70f4466; BYTE $0xcf // pmovmskb %xmm7, %r9d - LONG $0xfd6f0f66 // movdqa %xmm5, %xmm7 - LONG $0x740f4166; BYTE $0xf8 // pcmpeqb %xmm8, %xmm7 - LONG $0xd70f4466; BYTE $0xd7 // pmovmskb %xmm7, %r10d - LONG $0xfc6f0f66 // movdqa %xmm4, %xmm7 - LONG $0x740f4166; BYTE $0xf8 // pcmpeqb %xmm8, %xmm7 - LONG $0xd70f4466; BYTE $0xdf // pmovmskb %xmm7, %r11d - LONG $0xf86f0f66 // movdqa %xmm0, %xmm7 - LONG $0xf9740f66 // pcmpeqb %xmm1, %xmm7 - LONG $0xc7d70f66 // pmovmskb %xmm7, %eax - LONG $0xfe6f0f66 // movdqa %xmm6, %xmm7 - LONG $0xf9740f66 // pcmpeqb %xmm1, %xmm7 - LONG $0xcfd70f66 // pmovmskb %xmm7, %ecx - LONG $0xfd6f0f66 // movdqa %xmm5, %xmm7 - LONG $0xf9740f66 // pcmpeqb %xmm1, %xmm7 - LONG $0xd70f4466; BYTE $0xc7 // pmovmskb %xmm7, %r8d - LONG $0xfc6f0f66 // movdqa %xmm4, %xmm7 - LONG $0xf9740f66 // pcmpeqb %xmm1, %xmm7 - LONG $0xd70f4466; BYTE $0xef // pmovmskb %xmm7, %r13d - LONG $0xfa6f0f66 // movdqa %xmm2, %xmm7 - LONG $0xf8640f66 // pcmpgtb %xmm0, %xmm7 - LONG $0xc3640f66 // pcmpgtb %xmm3, %xmm0 - LONG $0xc7db0f66 // pand %xmm7, %xmm0 - LONG $0xd8d70f66 // pmovmskb %xmm0, %ebx - LONG $0xc26f0f66 // movdqa %xmm2, %xmm0 - LONG $0xc6640f66 // pcmpgtb %xmm6, %xmm0 - LONG $0xf3640f66 // pcmpgtb %xmm3, %xmm6 - LONG $0xf0db0f66 // pand %xmm0, %xmm6 - LONG $0xd70f4466; BYTE $0xf6 // pmovmskb %xmm6, %r14d - LONG $0xc26f0f66 // movdqa %xmm2, %xmm0 - LONG $0xc5640f66 // pcmpgtb %xmm5, %xmm0 - LONG $0xeb640f66 // pcmpgtb %xmm3, %xmm5 - LONG $0xe8db0f66 // pand %xmm0, %xmm5 - LONG $0xd5d70f66 // pmovmskb %xmm5, %edx - LONG $0xc26f0f66 // movdqa %xmm2, %xmm0 - LONG $0xc4640f66 // pcmpgtb %xmm4, %xmm0 - LONG $0xe3640f66 // pcmpgtb %xmm3, %xmm4 - LONG $0xe0db0f66 // pand %xmm0, %xmm4 - LONG $0xd70f4466; BYTE $0xe4 // pmovmskb %xmm4, %r12d - LONG $0x30e3c149 // shlq $48, %r11 - LONG $0x20e2c149 // shlq $32, %r10 - LONG $0x10e1c149 // shlq $16, %r9 - WORD $0x094c; BYTE $0xcf // orq %r9, %rdi - WORD $0x094c; BYTE $0xd7 // orq %r10, %rdi - WORD $0x094c; BYTE $0xdf // orq %r11, %rdi - LONG $0x30e5c149 // shlq $48, %r13 - LONG $0x20e0c149 // shlq $32, %r8 - LONG $0x10e1c148 // shlq $16, %rcx - WORD $0x0948; BYTE $0xc8 // orq %rcx, %rax - WORD $0x094c; BYTE $0xc0 // orq %r8, %rax - LONG $0x30e4c149 // shlq $48, %r12 - LONG $0x20e2c148 // shlq $32, %rdx - LONG $0x10e6c149 // shlq $16, %r14 - WORD $0x094c; BYTE $0xf3 // orq %r14, %rbx - WORD $0x0948; BYTE $0xd3 // orq %rdx, %rbx - WORD $0x094c; BYTE $0xe8 // orq %r13, %rax - LONG $0x003c850f; WORD $0x0000 // jne LBB13_10, $60(%rip) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0057850f; WORD $0x0000 // jne LBB13_12, $87(%rip) - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0x094c; BYTE $0xe3 // orq %r12, %rbx - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x009d850f; WORD $0x0000 // jne LBB13_13, $157(%rip) - -LBB13_8: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00f2850f; WORD $0x0000 // jne LBB13_19, $242(%rip) - LONG $0x40c68348 // addq $64, %rsi - LONG $0xb85d8b48 // movq $-72(%rbp), %rbx - LONG $0xc0c38348 // addq $-64, %rbx - LONG $0x3ffb8348 // cmpq $63, %rbx - LONG $0xfeb5870f; WORD $0xffff // ja LBB13_5, $-331(%rip) - LONG $0x00010be9; BYTE $0x00 // jmp LBB13_23, $267(%rip) - -LBB13_10: - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0019850f; WORD $0x0000 // jne LBB13_12, $25(%rip) - WORD $0x8948; BYTE $0xf1 // movq %rsi, %rcx - LONG $0xc04d2b48 // subq $-64(%rbp), %rcx - LONG $0xd0bc0f48 // bsfq %rax, %rdx - WORD $0x0148; BYTE $0xca // addq %rcx, %rdx - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - LONG $0xd0558948 // movq %rdx, $-48(%rbp) - WORD $0x8948; BYTE $0x11 // movq %rdx, (%rcx) - -LBB13_12: - WORD $0x894c; BYTE $0xf9 // movq %r15, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x2148; BYTE $0xc1 // andq %rax, %rcx - LONG $0x09048d4c // leaq (%rcx,%rcx), %r8 - WORD $0x094d; BYTE $0xf8 // orq %r15, %r8 - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x2148; BYTE $0xc2 // andq %rax, %rdx - QUAD $0xaaaaaaaaaaaab848; WORD $0xaaaa // movabsq $-6148914691236517206, %rax - WORD $0x2148; BYTE $0xc2 // andq %rax, %rdx - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0x0148; BYTE $0xca // addq %rcx, %rdx - LONG $0xc7920f41 // setb %r15b - WORD $0x0148; BYTE $0xd2 // addq %rdx, %rdx - QUAD $0x555555555555b948; WORD $0x5555 // movabsq $6148914691236517205, %rcx - WORD $0x3148; BYTE $0xca // xorq %rcx, %rdx - WORD $0x214c; BYTE $0xc2 // andq %r8, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x2148; BYTE $0xd7 // andq %rdx, %rdi - WORD $0x094c; BYTE $0xe3 // orq %r12, %rbx - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xff63840f; WORD $0xffff // je LBB13_8, $-157(%rip) - -LBB13_13: - LONG $0xc7bc0f48 // bsfq %rdi, %rax - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0029840f; WORD $0x0000 // je LBB13_17, $41(%rip) - LONG $0xcbbc0f48 // bsfq %rbx, %rcx - LONG $0xc8558b48 // movq $-56(%rbp), %rdx - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x002a820f; WORD $0x0000 // jb LBB13_18, $42(%rip) - -LBB13_15: - LONG $0x06448d48; BYTE $0x01 // leaq $1(%rsi,%rax), %rax - -LBB13_16: - LONG $0x20c48348 // addq $32, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB13_17: - LONG $0x000040b9; BYTE $0x00 // movl $64, %ecx - LONG $0xc8558b48 // movq $-56(%rbp), %rdx - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0xffd6830f; WORD $0xffff // jae LBB13_15, $-42(%rip) - -LBB13_18: - WORD $0x0148; BYTE $0xf1 // addq %rsi, %rcx - WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xffffc9e9; BYTE $0xff // jmp LBB13_16, $-55(%rip) - -LBB13_19: - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0xffb7850f; WORD $0xffff // jne LBB13_16, $-73(%rip) - LONG $0xcbbc0f48 // bsfq %rbx, %rcx - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - WORD $0x0148; BYTE $0xce // addq %rcx, %rsi - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8948; BYTE $0x31 // movq %rsi, (%rcx) - LONG $0xffffa0e9; BYTE $0xff // jmp LBB13_16, $-96(%rip) - -LBB13_22: - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - -LBB13_23: - LONG $0x20fb8348 // cmpq $32, %rbx - LONG $0x00f0820f; WORD $0x0000 // jb LBB13_36, $240(%rip) - LONG $0x066f0ff3 // movdqu (%rsi), %xmm0 - LONG $0x4e6f0ff3; BYTE $0x10 // movdqu $16(%rsi), %xmm1 - QUAD $0xfffffcda156f0f66 // movdqa $-806(%rip), %xmm2 /* LCPI13_0(%rip) */ - LONG $0xd86f0f66 // movdqa %xmm0, %xmm3 - LONG $0xda740f66 // pcmpeqb %xmm2, %xmm3 - LONG $0xd70f4466; BYTE $0xdb // pmovmskb %xmm3, %r11d - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xd2d70f66 // pmovmskb %xmm2, %edx - QUAD $0xfffffccd156f0f66 // movdqa $-819(%rip), %xmm2 /* LCPI13_1(%rip) */ - LONG $0xd86f0f66 // movdqa %xmm0, %xmm3 - LONG $0xda740f66 // pcmpeqb %xmm2, %xmm3 - LONG $0xd70f4466; BYTE $0xd3 // pmovmskb %xmm3, %r10d - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xcad70f66 // pmovmskb %xmm2, %ecx - QUAD $0xfffffcc0156f0f66 // movdqa $-832(%rip), %xmm2 /* LCPI13_2(%rip) */ - LONG $0xda6f0f66 // movdqa %xmm2, %xmm3 - LONG $0xd8640f66 // pcmpgtb %xmm0, %xmm3 - LONG $0xe4760f66 // pcmpeqd %xmm4, %xmm4 - LONG $0xc4640f66 // pcmpgtb %xmm4, %xmm0 - LONG $0xc3db0f66 // pand %xmm3, %xmm0 - LONG $0xd70f4466; BYTE $0xc0 // pmovmskb %xmm0, %r8d - LONG $0xd1640f66 // pcmpgtb %xmm1, %xmm2 - LONG $0xcc640f66 // pcmpgtb %xmm4, %xmm1 - LONG $0xcadb0f66 // pand %xmm2, %xmm1 - LONG $0xf9d70f66 // pmovmskb %xmm1, %edi - LONG $0x10e2c148 // shlq $16, %rdx - WORD $0x0949; BYTE $0xd3 // orq %rdx, %r11 - LONG $0x10e1c148 // shlq $16, %rcx - LONG $0x10e7c148 // shlq $16, %rdi - WORD $0x0949; BYTE $0xca // orq %rcx, %r10 - LONG $0x0111850f; WORD $0x0000 // jne LBB13_48, $273(%rip) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x012c850f; WORD $0x0000 // jne LBB13_50, $300(%rip) - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - -LBB13_27: - WORD $0x094c; BYTE $0xc7 // orq %r8, %rdi - LONG $0x000040b9; BYTE $0x00 // movl $64, %ecx - LONG $0x000040ba; BYTE $0x00 // movl $64, %edx - WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x0004840f; WORD $0x0000 // je LBB13_29, $4(%rip) - LONG $0xd3bc0f49 // bsfq %r11, %rdx - -LBB13_29: - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0004840f; WORD $0x0000 // je LBB13_31, $4(%rip) - LONG $0xcfbc0f48 // bsfq %rdi, %rcx - -LBB13_31: - WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x0017840f; WORD $0x0000 // je LBB13_34, $23(%rip) - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x0124820f; WORD $0x0000 // jb LBB13_51, $292(%rip) - LONG $0x16448d48; BYTE $0x01 // leaq $1(%rsi,%rdx), %rax - LONG $0xfffeace9; BYTE $0xff // jmp LBB13_16, $-340(%rip) - -LBB13_34: - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0127850f; WORD $0x0000 // jne LBB13_52, $295(%rip) - LONG $0x20c68348 // addq $32, %rsi - LONG $0xe0c38348 // addq $-32, %rbx - -LBB13_36: - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0122850f; WORD $0x0000 // jne LBB13_53, $290(%rip) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xfe82840f; WORD $0xffff // je LBB13_16, $-382(%rip) - -LBB13_38: - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - -LBB13_39: - WORD $0xb60f; BYTE $0x0e // movzbl (%rsi), %ecx - WORD $0xf980; BYTE $0x22 // cmpb $34, %cl - LONG $0x0075840f; WORD $0x0000 // je LBB13_47, $117(%rip) - WORD $0xf980; BYTE $0x5c // cmpb $92, %cl - LONG $0x0026840f; WORD $0x0000 // je LBB13_43, $38(%rip) - WORD $0xf980; BYTE $0x1f // cmpb $31, %cl - LONG $0x0146860f; WORD $0x0000 // jbe LBB13_57, $326(%rip) - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - WORD $0x0148; BYTE $0xd6 // addq %rdx, %rsi - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - LONG $0xffca850f; WORD $0xffff // jne LBB13_39, $-54(%rip) - LONG $0xfffe43e9; BYTE $0xff // jmp LBB13_16, $-445(%rip) - -LBB13_43: - LONG $0x01fb8348 // cmpq $1, %rbx - LONG $0xfe39840f; WORD $0xffff // je LBB13_16, $-455(%rip) - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x000e850f; WORD $0x0000 // jne LBB13_46, $14(%rip) - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - LONG $0xc05d2b48 // subq $-64(%rbp), %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - WORD $0x8948; BYTE $0x1f // movq %rbx, (%rdi) - -LBB13_46: - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - WORD $0x0148; BYTE $0xd6 // addq %rdx, %rsi - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - LONG $0xff84850f; WORD $0xffff // jne LBB13_39, $-124(%rip) - LONG $0xfffdfde9; BYTE $0xff // jmp LBB13_16, $-515(%rip) - -LBB13_47: - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - LONG $0xfffdeee9; BYTE $0xff // jmp LBB13_16, $-530(%rip) - -LBB13_48: - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0019850f; WORD $0x0000 // jne LBB13_50, $25(%rip) - WORD $0x8948; BYTE $0xf1 // movq %rsi, %rcx - LONG $0xc04d2b48 // subq $-64(%rbp), %rcx - LONG $0xd2bc0f49 // bsfq %r10, %rdx - WORD $0x0148; BYTE $0xca // addq %rcx, %rdx - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - LONG $0xd0558948 // movq %rdx, $-48(%rbp) - WORD $0x8948; BYTE $0x11 // movq %rdx, (%rcx) - -LBB13_50: - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - WORD $0xd1f7 // notl %ecx - WORD $0x2144; BYTE $0xd1 // andl %r10d, %ecx - LONG $0x4f0c8d45 // leal (%r15,%rcx,2), %r9d - WORD $0x148d; BYTE $0x09 // leal (%rcx,%rcx), %edx - WORD $0xd2f7 // notl %edx - WORD $0x2144; BYTE $0xd2 // andl %r10d, %edx - LONG $0xaaaae281; WORD $0xaaaa // andl $-1431655766, %edx - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0xca01 // addl %ecx, %edx - LONG $0xc7920f41 // setb %r15b - WORD $0xd201 // addl %edx, %edx - LONG $0x5555f281; WORD $0x5555 // xorl $1431655765, %edx - WORD $0x2144; BYTE $0xca // andl %r9d, %edx - WORD $0xd2f7 // notl %edx - WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d - LONG $0xfffe9fe9; BYTE $0xff // jmp LBB13_27, $-353(%rip) - -LBB13_51: - WORD $0x0148; BYTE $0xf1 // addq %rsi, %rcx - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x8948; BYTE $0x08 // movq %rcx, (%rax) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xfffd7ce9; BYTE $0xff // jmp LBB13_16, $-644(%rip) - -LBB13_52: - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - WORD $0x0148; BYTE $0xce // addq %rcx, %rsi - LONG $0x00005ae9; BYTE $0x00 // jmp LBB13_58, $90(%rip) - -LBB13_53: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0041840f; WORD $0x0000 // je LBB13_21, $65(%rip) - WORD $0x8948; BYTE $0xda // movq %rbx, %rdx - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0015850f; WORD $0x0000 // jne LBB13_56, $21(%rip) - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x0148; BYTE $0xf1 // addq %rsi, %rcx - LONG $0xc8458b48 // movq $-56(%rbp), %rax - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - WORD $0x8948; BYTE $0x08 // movq %rcx, (%rax) - -LBB13_56: - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x8948; BYTE $0xd3 // movq %rdx, %rbx - WORD $0xff48; BYTE $0xcb // decq %rbx - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xfea9850f; WORD $0xffff // jne LBB13_38, $-343(%rip) - LONG $0xfffd26e9; BYTE $0xff // jmp LBB13_16, $-730(%rip) - -LBB13_21: - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xfffd1ae9; BYTE $0xff // jmp LBB13_16, $-742(%rip) - -LBB13_57: - LONG $0xc0752b48 // subq $-64(%rbp), %rsi - -LBB13_58: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x8948; BYTE $0x30 // movq %rsi, (%rax) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xfffd03e9; BYTE $0xff // jmp LBB13_16, $-765(%rip) - WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI14_0: - LONG $0x43300000 // .long 1127219200 - LONG $0x45300000 // .long 1160773632 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - -LCPI14_1: - QUAD $0x4330000000000000 // .quad 0x4330000000000000 - QUAD $0x4530000000000000 // .quad 0x4530000000000000 - - // .p2align 3, 0x00 -LCPI14_2: - QUAD $0x430c6bf526340000 // .quad 0x430c6bf526340000 - -LCPI14_3: - QUAD $0xc30c6bf526340000 // .quad 0xc30c6bf526340000 - - // .p2align 4, 0x90 -_vnumber: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x38ec8348 // subq $56, %rsp - WORD $0x8949; BYTE $0xd6 // movq %rdx, %r14 - QUAD $0x00000000c845c748 // movq $0, $-56(%rbp) - WORD $0x8b48; BYTE $0x06 // movq (%rsi), %rax - WORD $0x8b4c; BYTE $0x3f // movq (%rdi), %r15 - LONG $0x086f8b4c // movq $8(%rdi), %r13 - LONG $0x205a8b48 // movq $32(%rdx), %rbx - LONG $0x285a8b4c // movq $40(%rdx), %r11 - LONG $0x0902c748; WORD $0x0000; BYTE $0x00 // movq $9, (%rdx) - QUAD $0x000000000842c748 // movq $0, $8(%rdx) - QUAD $0x000000001042c748 // movq $0, $16(%rdx) - WORD $0x8b48; BYTE $0x0e // movq (%rsi), %rcx - LONG $0x184a8948 // movq %rcx, $24(%rdx) - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0045830f; WORD $0x0000 // jae LBB14_6, $69(%rip) - LONG $0x073c8a41 // movb (%r15,%rax), %dil - LONG $0x0001ba41; WORD $0x0000 // movl $1, %r10d - LONG $0x2dff8040 // cmpb $45, %dil - LONG $0x0016850f; WORD $0x0000 // jne LBB14_4, $22(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0025830f; WORD $0x0000 // jae LBB14_6, $37(%rip) - LONG $0x073c8a41 // movb (%r15,%rax), %dil - LONG $0xffffba41; WORD $0xffff // movl $-1, %r10d - -LBB14_4: - WORD $0x4f8d; BYTE $0xd0 // leal $-48(%rdi), %ecx - WORD $0xf980; BYTE $0x0a // cmpb $10, %cl - LONG $0x0028820f; WORD $0x0000 // jb LBB14_9, $40(%rip) - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xfe06c749; WORD $0xffff; BYTE $0xff // movq $-2, (%r14) - LONG $0x00000ae9; BYTE $0x00 // jmp LBB14_8, $10(%rip) - -LBB14_6: - WORD $0x894c; BYTE $0x2e // movq %r13, (%rsi) - -LBB14_7: - LONG $0xff06c749; WORD $0xffff; BYTE $0xff // movq $-1, (%r14) - -LBB14_8: - LONG $0x38c48348 // addq $56, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB14_9: - LONG $0x30ff8040 // cmpb $48, %dil - LONG $0x0035850f; WORD $0x0000 // jne LBB14_13, $53(%rip) - LONG $0x01488d4c // leaq $1(%rax), %r9 - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00c8830f; WORD $0x0000 // jae LBB14_22, $200(%rip) - LONG $0x0f148a43 // movb (%r15,%r9), %dl - WORD $0xc280; BYTE $0xd2 // addb $-46, %dl - WORD $0xfa80; BYTE $0x37 // cmpb $55, %dl - LONG $0x00b8870f; WORD $0x0000 // ja LBB14_22, $184(%rip) - LONG $0xc2b60f44 // movzbl %dl, %r8d - QUAD $0x000000800001ba48; WORD $0x0080 // movabsq $36028797027352577, %rdx - LONG $0xc2a30f4c // btq %r8, %rdx - LONG $0x00a0830f; WORD $0x0000 // jae LBB14_22, $160(%rip) - -LBB14_13: - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0xa05d8948 // movq %rbx, $-96(%rbp) - LONG $0xc0558944 // movl %r10d, $-64(%rbp) - LONG $0xd0758948 // movq %rsi, $-48(%rbp) - LONG $0x007e830f; WORD $0x0000 // jae LBB14_21, $126(%rip) - WORD $0xf980; BYTE $0x09 // cmpb $9, %cl - LONG $0x008a870f; WORD $0x0000 // ja LBB14_23, $138(%rip) - LONG $0xffd0b841; WORD $0xffff // movl $4294967248, %r8d - LONG $0xff4d8d4d // leaq $-1(%r13), %r9 - WORD $0xc931 // xorl %ecx, %ecx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB14_16: - LONG $0x12fa8341 // cmpl $18, %r10d - LONG $0x00268f0f; WORD $0x0000 // jg LBB14_18, $38(%rip) - LONG $0xa4148d4b // leaq (%r12,%r12,4), %rdx - LONG $0xffbe0f40 // movsbl %dil, %edi - WORD $0x0144; BYTE $0xc7 // addl %r8d, %edi - LONG $0x57248d4c // leaq (%rdi,%rdx,2), %r12 - WORD $0xff41; BYTE $0xc2 // incl %r10d - LONG $0x000011e9; BYTE $0x00 // jmp LBB14_19, $17(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB14_18: - WORD $0xc1ff // incl %ecx - -LBB14_19: - WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9 - LONG $0x0079840f; WORD $0x0000 // je LBB14_28, $121(%rip) - LONG $0x7cb60f41; WORD $0x0107 // movzbl $1(%r15,%rax), %edi - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x578d; BYTE $0xd0 // leal $-48(%rdi), %edx - WORD $0xfa80; BYTE $0x0a // cmpb $10, %dl - LONG $0xffb0820f; WORD $0xffff // jb LBB14_16, $-80(%rip) - LONG $0x00001de9; BYTE $0x00 // jmp LBB14_24, $29(%rip) - -LBB14_21: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x000055e9; BYTE $0x00 // jmp LBB14_29, $85(%rip) - -LBB14_22: - WORD $0x894c; BYTE $0x0e // movq %r9, (%rsi) - LONG $0xffff0ae9; BYTE $0xff // jmp LBB14_8, $-246(%rip) - -LBB14_23: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0xc931 // xorl %ecx, %ecx - -LBB14_24: - WORD $0xd231 // xorl %edx, %edx - WORD $0xc985 // testl %ecx, %ecx - WORD $0x9f0f; BYTE $0xc2 // setg %dl - WORD $0x5589; BYTE $0xc4 // movl %edx, $-60(%rbp) - WORD $0xb041; BYTE $0x01 // movb $1, %r8b - LONG $0x2eff8040 // cmpb $46, %dil - LONG $0x003b850f; WORD $0x0000 // jne LBB14_30, $59(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0x0806c749; WORD $0x0000; BYTE $0x00 // movq $8, (%r14) - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x026a830f; WORD $0x0000 // jae LBB14_68, $618(%rip) - LONG $0x07148a41 // movb (%r15,%rax), %dl - WORD $0xc280; BYTE $0xd0 // addb $-48, %dl - WORD $0xfa80; BYTE $0x0a // cmpb $10, %dl - LONG $0x0405830f; WORD $0x0000 // jae LBB14_91, $1029(%rip) - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0x000010e9; BYTE $0x00 // jmp LBB14_30, $16(%rip) - -LBB14_28: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - -LBB14_29: - WORD $0xd231 // xorl %edx, %edx - WORD $0xc985 // testl %ecx, %ecx - WORD $0x9f0f; BYTE $0xc2 // setg %dl - WORD $0x5589; BYTE $0xc4 // movl %edx, $-60(%rbp) - WORD $0xb041; BYTE $0x01 // movb $1, %r8b - -LBB14_30: - WORD $0xc985 // testl %ecx, %ecx - LONG $0x0056850f; WORD $0x0000 // jne LBB14_39, $86(%rip) - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x004d850f; WORD $0x0000 // jne LBB14_39, $77(%rip) - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x003c830f; WORD $0x0000 // jae LBB14_37, $60(%rip) - WORD $0xc689 // movl %eax, %esi - WORD $0x2944; BYTE $0xee // subl %r13d, %esi - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB14_34: - LONG $0x073c8041; BYTE $0x30 // cmpb $48, (%r15,%rax) - LONG $0x0024850f; WORD $0x0000 // jne LBB14_38, $36(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0xc9ff // decl %ecx - WORD $0x3949; BYTE $0xc5 // cmpq %rax, %r13 - LONG $0xffe7850f; WORD $0xffff // jne LBB14_34, $-25(%rip) - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0x8445; BYTE $0xc0 // testb %r8b, %r8b - LONG $0x0122850f; WORD $0x0000 // jne LBB14_58, $290(%rip) - LONG $0x000152e9; BYTE $0x00 // jmp LBB14_62, $338(%rip) - -LBB14_37: - WORD $0xc931 // xorl %ecx, %ecx - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - -LBB14_38: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - -LBB14_39: - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0051830f; WORD $0x0000 // jae LBB14_45, $81(%rip) - LONG $0x12fa8341 // cmpl $18, %r10d - LONG $0x00478f0f; WORD $0x0000 // jg LBB14_45, $71(%rip) - LONG $0xffd0b941; WORD $0xffff // movl $4294967248, %r9d - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB14_42: - LONG $0x14b60f41; BYTE $0x07 // movzbl (%r15,%rax), %edx - WORD $0x7a8d; BYTE $0xd0 // leal $-48(%rdx), %edi - LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x002a870f; WORD $0x0000 // ja LBB14_45, $42(%rip) - LONG $0xa43c8d4b // leaq (%r12,%r12,4), %rdi - WORD $0x0144; BYTE $0xca // addl %r9d, %edx - LONG $0x7a248d4c // leaq (%rdx,%rdi,2), %r12 - WORD $0xc9ff // decl %ecx - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0011830f; WORD $0x0000 // jae LBB14_45, $17(%rip) - LONG $0x01528d41 // leal $1(%r10), %edx - LONG $0x12fa8341 // cmpl $18, %r10d - WORD $0x8941; BYTE $0xd2 // movl %edx, %r10d - LONG $0xffc48c0f; WORD $0xffff // jl LBB14_42, $-60(%rip) - -LBB14_45: - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00a4830f; WORD $0x0000 // jae LBB14_57, $164(%rip) - LONG $0x07348a41 // movb (%r15,%rax), %sil - WORD $0x568d; BYTE $0xd0 // leal $-48(%rsi), %edx - WORD $0xfa80; BYTE $0x09 // cmpb $9, %dl - LONG $0x0030870f; WORD $0x0000 // ja LBB14_51, $48(%rip) - LONG $0xff7d8d49 // leaq $-1(%r13), %rdi - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB14_48: - WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x0169840f; WORD $0x0000 // je LBB14_69, $361(%rip) - LONG $0x74b60f41; WORD $0x0107 // movzbl $1(%r15,%rax), %esi - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x568d; BYTE $0xd0 // leal $-48(%rsi), %edx - WORD $0xfa80; BYTE $0x09 // cmpb $9, %dl - LONG $0xffe2860f; WORD $0xffff // jbe LBB14_48, $-30(%rip) - LONG $0x01c445c7; WORD $0x0000; BYTE $0x00 // movl $1, $-60(%rbp) - -LBB14_51: - LONG $0x20ce8040 // orb $32, %sil - LONG $0x65fe8040 // cmpb $101, %sil - LONG $0x0056850f; WORD $0x0000 // jne LBB14_57, $86(%rip) - LONG $0x01788d48 // leaq $1(%rax), %rdi - LONG $0x0806c749; WORD $0x0000; BYTE $0x00 // movq $8, (%r14) - WORD $0x394c; BYTE $0xef // cmpq %r13, %rdi - LONG $0x011f830f; WORD $0x0000 // jae LBB14_68, $287(%rip) - LONG $0x3f348a41 // movb (%r15,%rdi), %sil - LONG $0x2dfe8040 // cmpb $45, %sil - LONG $0x0010840f; WORD $0x0000 // je LBB14_55, $16(%rip) - LONG $0x0001b841; WORD $0x0000 // movl $1, %r8d - LONG $0x2bfe8040 // cmpb $43, %sil - LONG $0x029c850f; WORD $0x0000 // jne LBB14_89, $668(%rip) - -LBB14_55: - LONG $0x02c08348 // addq $2, %rax - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00f4830f; WORD $0x0000 // jae LBB14_68, $244(%rip) - WORD $0xd231 // xorl %edx, %edx - LONG $0x2bfe8040 // cmpb $43, %sil - WORD $0x940f; BYTE $0xc2 // sete %dl - LONG $0x12448d44; BYTE $0xff // leal $-1(%rdx,%rdx), %r8d - LONG $0x07348a41 // movb (%r15,%rax), %sil - LONG $0x00027be9; BYTE $0x00 // jmp LBB14_90, $635(%rip) - -LBB14_57: - WORD $0xce89 // movl %ecx, %esi - WORD $0x8949; BYTE $0xc5 // movq %rax, %r13 - WORD $0x8445; BYTE $0xc0 // testb %r8b, %r8b - LONG $0x0035840f; WORD $0x0000 // je LBB14_62, $53(%rip) - -LBB14_58: - WORD $0xf685 // testl %esi, %esi - LONG $0x0026850f; WORD $0x0000 // jne LBB14_61, $38(%rip) - QUAD $0x000000000000b848; WORD $0x8000 // movabsq $-9223372036854775808, %rax - LONG $0xc04d6348 // movslq $-64(%rbp), %rcx - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x00f4890f; WORD $0x0000 // jns LBB14_72, $244(%rip) - WORD $0x894c; BYTE $0xe2 // movq %r12, %rdx - WORD $0x2148; BYTE $0xca // andq %rcx, %rdx - WORD $0x3948; BYTE $0xc2 // cmpq %rax, %rdx - LONG $0x00e5840f; WORD $0x0000 // je LBB14_72, $229(%rip) - -LBB14_61: - LONG $0x0806c749; WORD $0x0000; BYTE $0x00 // movq $8, (%r14) - -LBB14_62: - QUAD $0x00000000b845c748 // movq $0, $-72(%rbp) - LONG $0x6e0f4966; BYTE $0xcc // movq %r12, %xmm1 - QUAD $0xfffffc1f0d620f66 // punpckldq $-993(%rip), %xmm1 /* LCPI14_0(%rip) */ - QUAD $0xfffffc270d5c0f66 // subpd $-985(%rip), %xmm1 /* LCPI14_1(%rip) */ - LONG $0xc1280f66 // movapd %xmm1, %xmm0 - LONG $0xc1150f66 // unpckhpd %xmm1, %xmm0 - LONG $0xc1580ff2 // addsd %xmm1, %xmm0 - LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp) - WORD $0x894c; BYTE $0xe0 // movq %r12, %rax - LONG $0x34e8c148 // shrq $52, %rax - LONG $0x0121850f; WORD $0x0000 // jne LBB14_77, $289(%rip) - LONG $0x7e0f4866; BYTE $0xc1 // movq %xmm0, %rcx - WORD $0x458b; BYTE $0xc0 // movl $-64(%rbp), %eax - WORD $0xe8c1; BYTE $0x1f // shrl $31, %eax - LONG $0x3fe0c148 // shlq $63, %rax - WORD $0x0948; BYTE $0xc8 // orq %rcx, %rax - LONG $0xc8458948 // movq %rax, $-56(%rbp) - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x01a1840f; WORD $0x0000 // je LBB14_85, $417(%rip) - WORD $0xf685 // testl %esi, %esi - LONG $0x0199840f; WORD $0x0000 // je LBB14_85, $409(%rip) - LONG $0x6e0f4866; BYTE $0xc0 // movq %rax, %xmm0 - WORD $0x468d; BYTE $0xff // leal $-1(%rsi), %eax - WORD $0xf883; BYTE $0x24 // cmpl $36, %eax - LONG $0x004a870f; WORD $0x0000 // ja LBB14_70, $74(%rip) - WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi - LONG $0x00a68c0f; WORD $0x0000 // jl LBB14_73, $166(%rip) - WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax - LONG $0xfe0d8d48; WORD $0x00ee; BYTE $0x00 // leaq $61182(%rip), %rcx /* _P10_TAB(%rip) */ - LONG $0x04590ff2; BYTE $0xc1 // mulsd (%rcx,%rax,8), %xmm0 - LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp) - LONG $0x000016b8; BYTE $0x00 // movl $22, %eax - LONG $0x00008ae9; BYTE $0x00 // jmp LBB14_74, $138(%rip) - -LBB14_68: - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x894c; BYTE $0x28 // movq %r13, (%rax) - LONG $0xfffc5be9; BYTE $0xff // jmp LBB14_7, $-933(%rip) - -LBB14_69: - LONG $0x01c445c7; WORD $0x0000; BYTE $0x00 // movl $1, $-60(%rbp) - WORD $0xce89 // movl %ecx, %esi - WORD $0x8445; BYTE $0xc0 // testb %r8b, %r8b - LONG $0xff13850f; WORD $0xffff // jne LBB14_58, $-237(%rip) - LONG $0xffff43e9; BYTE $0xff // jmp LBB14_62, $-189(%rip) - -LBB14_70: - WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi - LONG $0x0096820f; WORD $0x0000 // jb LBB14_77, $150(%rip) - WORD $0xdef7 // negl %esi - LONG $0xb5058d48; WORD $0x00ee; BYTE $0x00 // leaq $61109(%rip), %rax /* _P10_TAB(%rip) */ - LONG $0x045e0ff2; BYTE $0xf0 // divsd (%rax,%rsi,8), %xmm0 - LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp) - LONG $0x0000e0e9; BYTE $0x00 // jmp LBB14_81, $224(%rip) - -LBB14_72: - LONG $0x6e0f4966; BYTE $0xc4 // movq %r12, %xmm0 - LONG $0xe1af0f4c // imulq %rcx, %r12 - QUAD $0xfffffb4505620f66 // punpckldq $-1211(%rip), %xmm0 /* LCPI14_0(%rip) */ - QUAD $0xfffffb4d055c0f66 // subpd $-1203(%rip), %xmm0 /* LCPI14_1(%rip) */ - LONG $0x1066894d // movq %r12, $16(%r14) - LONG $0xc8280f66 // movapd %xmm0, %xmm1 - LONG $0xc8150f66 // unpckhpd %xmm0, %xmm1 - LONG $0xc8580ff2 // addsd %xmm0, %xmm1 - WORD $0x2148; BYTE $0xc8 // andq %rcx, %rax - LONG $0x7e0f4866; BYTE $0xc9 // movq %xmm1, %rcx - WORD $0x0948; BYTE $0xc1 // orq %rax, %rcx - LONG $0x084e8949 // movq %rcx, $8(%r14) - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x894c; BYTE $0x28 // movq %r13, (%rax) - LONG $0xfffbe6e9; BYTE $0xff // jmp LBB14_8, $-1050(%rip) - -LBB14_73: - WORD $0xf089 // movl %esi, %eax - -LBB14_74: - QUAD $0xfffffb28052e0f66 // ucomisd $-1240(%rip), %xmm0 /* LCPI14_2(%rip) */ - LONG $0x002a870f; WORD $0x0000 // ja LBB14_77, $42(%rip) - QUAD $0xfffffb220d100ff2 // movsd $-1246(%rip), %xmm1 /* LCPI14_3(%rip) */ - LONG $0xc82e0f66 // ucomisd %xmm0, %xmm1 - LONG $0x0018870f; WORD $0x0000 // ja LBB14_77, $24(%rip) - WORD $0xc089 // movl %eax, %eax - LONG $0x370d8d48; WORD $0x00ee; BYTE $0x00 // leaq $60983(%rip), %rcx /* _P10_TAB(%rip) */ - LONG $0x04590ff2; BYTE $0xc1 // mulsd (%rcx,%rax,8), %xmm0 - LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp) - LONG $0x000062e9; BYTE $0x00 // jmp LBB14_81, $98(%rip) - -LBB14_77: - LONG $0xa85d894c // movq %r11, $-88(%rbp) - LONG $0xc84d8d48 // leaq $-56(%rbp), %rcx - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x5d8b; BYTE $0xc0 // movl $-64(%rbp), %ebx - WORD $0xda89 // movl %ebx, %edx - LONG $0xb0758948 // movq %rsi, $-80(%rbp) - LONG $0xffe5bfe8; BYTE $0xff // callq _atof_eisel_lemire64, $-6721(%rip) - WORD $0xc084 // testb %al, %al - LONG $0x004b840f; WORD $0x0000 // je LBB14_83, $75(%rip) - LONG $0xb0758b48 // movq $-80(%rbp), %rsi - LONG $0x00c47d83 // cmpl $0, $-60(%rbp) - LONG $0x006c840f; WORD $0x0000 // je LBB14_84, $108(%rip) - WORD $0xff49; BYTE $0xc4 // incq %r12 - LONG $0xb84d8d48 // leaq $-72(%rbp), %rcx - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0xda89 // movl %ebx, %edx - LONG $0xffe598e8; BYTE $0xff // callq _atof_eisel_lemire64, $-6760(%rip) - WORD $0xc084 // testb %al, %al - LONG $0x0024840f; WORD $0x0000 // je LBB14_83, $36(%rip) - LONG $0x4d100ff2; BYTE $0xb8 // movsd $-72(%rbp), %xmm1 - LONG $0x45100ff2; BYTE $0xc8 // movsd $-56(%rbp), %xmm0 - LONG $0xc82e0f66 // ucomisd %xmm0, %xmm1 - LONG $0x0010850f; WORD $0x0000 // jne LBB14_83, $16(%rip) - LONG $0x000a8a0f; WORD $0x0000 // jp LBB14_83, $10(%rip) - -LBB14_81: - LONG $0x7e0f4866; BYTE $0xc0 // movq %xmm0, %rax - LONG $0x000033e9; BYTE $0x00 // jmp LBB14_85, $51(%rip) - -LBB14_83: - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - WORD $0x8b48; BYTE $0x03 // movq (%rbx), %rax - WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - WORD $0x2948; BYTE $0xc6 // subq %rax, %rsi - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - LONG $0xa0558b48 // movq $-96(%rbp), %rdx - LONG $0xa84d8b48 // movq $-88(%rbp), %rcx - LONG $0xffea9ce8; BYTE $0xff // callq _atof_native, $-5476(%rip) - LONG $0x45110ff2; BYTE $0xc8 // movsd %xmm0, $-56(%rbp) - LONG $0x7e0f4866; BYTE $0xc0 // movq %xmm0, %rax - LONG $0x000008e9; BYTE $0x00 // jmp LBB14_86, $8(%rip) - -LBB14_84: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - -LBB14_85: - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - -LBB14_86: - QUAD $0x000000000000b948; WORD $0x8000 // movabsq $-9223372036854775808, %rcx - WORD $0xff48; BYTE $0xc9 // decq %rcx - WORD $0x2148; BYTE $0xc1 // andq %rax, %rcx - QUAD $0x000000000000ba48; WORD $0x7ff0 // movabsq $9218868437227405312, %rdx - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x0007850f; WORD $0x0000 // jne LBB14_88, $7(%rip) - LONG $0xf806c749; WORD $0xffff; BYTE $0xff // movq $-8, (%r14) - -LBB14_88: - LONG $0x08468949 // movq %rax, $8(%r14) - WORD $0x894c; BYTE $0x2b // movq %r13, (%rbx) - LONG $0xfffad3e9; BYTE $0xff // jmp LBB14_8, $-1325(%rip) - -LBB14_89: - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - -LBB14_90: - WORD $0x7e8d; BYTE $0xd0 // leal $-48(%rsi), %edi - LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x0013860f; WORD $0x0000 // jbe LBB14_92, $19(%rip) - -LBB14_91: - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xfe06c749; WORD $0xffff; BYTE $0xff // movq $-2, (%r14) - LONG $0xfffab0e9; BYTE $0xff // jmp LBB14_8, $-1360(%rip) - -LBB14_92: - WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0049830f; WORD $0x0000 // jae LBB14_98, $73(%rip) - LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x003f870f; WORD $0x0000 // ja LBB14_98, $63(%rip) - LONG $0xff4d8d4d // leaq $-1(%r13), %r9 - WORD $0xff31 // xorl %edi, %edi - -LBB14_95: - WORD $0xfa89 // movl %edi, %edx - LONG $0x2710ff81; WORD $0x0000 // cmpl $10000, %edi - WORD $0x3c8d; BYTE $0x92 // leal (%rdx,%rdx,4), %edi - LONG $0xf6b60f40 // movzbl %sil, %esi - LONG $0xd07e7c8d // leal $-48(%rsi,%rdi,2), %edi - WORD $0x4d0f; BYTE $0xfa // cmovgel %edx, %edi - WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9 - LONG $0x0021840f; WORD $0x0000 // je LBB14_99, $33(%rip) - LONG $0x74b60f41; WORD $0x0107 // movzbl $1(%r15,%rax), %esi - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x568d; BYTE $0xd0 // leal $-48(%rsi), %edx - WORD $0xfa80; BYTE $0x0a // cmpb $10, %dl - LONG $0xffcc820f; WORD $0xffff // jb LBB14_95, $-52(%rip) - LONG $0x00000ae9; BYTE $0x00 // jmp LBB14_100, $10(%rip) - -LBB14_98: - WORD $0xff31 // xorl %edi, %edi - LONG $0x000003e9; BYTE $0x00 // jmp LBB14_100, $3(%rip) - -LBB14_99: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax - -LBB14_100: - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - LONG $0xf0af0f41 // imull %r8d, %esi - WORD $0xce01 // addl %ecx, %esi - WORD $0x8949; BYTE $0xc5 // movq %rax, %r13 - LONG $0xfffd3be9; BYTE $0xff // jmp LBB14_62, $-709(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_vsigned: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - WORD $0x8b48; BYTE $0x06 // movq (%rsi), %rax - WORD $0x8b4c; BYTE $0x0f // movq (%rdi), %r9 - LONG $0x085f8b4c // movq $8(%rdi), %r11 - LONG $0x0902c748; WORD $0x0000; BYTE $0x00 // movq $9, (%rdx) - QUAD $0x000000000842c748 // movq $0, $8(%rdx) - QUAD $0x000000001042c748 // movq $0, $16(%rdx) - WORD $0x8b48; BYTE $0x0e // movq (%rsi), %rcx - LONG $0x184a8948 // movq %rcx, $24(%rdx) - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x0044830f; WORD $0x0000 // jae LBB15_1, $68(%rip) - LONG $0x010c8a41 // movb (%r9,%rax), %cl - LONG $0x0001b841; WORD $0x0000 // movl $1, %r8d - WORD $0xf980; BYTE $0x2d // cmpb $45, %cl - LONG $0x0017850f; WORD $0x0000 // jne LBB15_5, $23(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x0025830f; WORD $0x0000 // jae LBB15_1, $37(%rip) - LONG $0x010c8a41 // movb (%r9,%rax), %cl - LONG $0xffc0c749; WORD $0xffff; BYTE $0xff // movq $-1, %r8 - -LBB15_5: - WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi - LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x001a820f; WORD $0x0000 // jb LBB15_7, $26(%rip) - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xfe02c748; WORD $0xffff; BYTE $0xff // movq $-2, (%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB15_1: - WORD $0x894c; BYTE $0x1e // movq %r11, (%rsi) - LONG $0xff02c748; WORD $0xffff; BYTE $0xff // movq $-1, (%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB15_7: - WORD $0xf980; BYTE $0x30 // cmpb $48, %cl - LONG $0x0035850f; WORD $0x0000 // jne LBB15_12, $53(%rip) - LONG $0x01788d48 // leaq $1(%rax), %rdi - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x008a830f; WORD $0x0000 // jae LBB15_11, $138(%rip) - LONG $0x390c8a41 // movb (%r9,%rdi), %cl - WORD $0xc180; BYTE $0xd2 // addb $-46, %cl - WORD $0xf980; BYTE $0x37 // cmpb $55, %cl - LONG $0x007a870f; WORD $0x0000 // ja LBB15_11, $122(%rip) - LONG $0xd1b60f44 // movzbl %cl, %r10d - QUAD $0x000000800001b948; WORD $0x0080 // movabsq $36028797027352577, %rcx - LONG $0xd1a30f4c // btq %r10, %rcx - LONG $0x0062830f; WORD $0x0000 // jae LBB15_11, $98(%rip) - -LBB15_12: - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - WORD $0x894d; BYTE $0xda // movq %r11, %r10 - LONG $0xd0470f4c // cmovaq %rax, %r10 - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB15_13: - WORD $0x3949; BYTE $0xc2 // cmpq %rax, %r10 - LONG $0x007f840f; WORD $0x0000 // je LBB15_23, $127(%rip) - LONG $0x3cbe0f49; BYTE $0x01 // movsbq (%r9,%rax), %rdi - WORD $0x5f8d; BYTE $0xd0 // leal $-48(%rdi), %ebx - WORD $0xfb80; BYTE $0x09 // cmpb $9, %bl - LONG $0x0033870f; WORD $0x0000 // ja LBB15_18, $51(%rip) - LONG $0x0ac96b48 // imulq $10, %rcx, %rcx - LONG $0x0013800f; WORD $0x0000 // jo LBB15_17, $19(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0xc783; BYTE $0xd0 // addl $-48, %edi - LONG $0xf8af0f49 // imulq %r8, %rdi - WORD $0x0148; BYTE $0xf9 // addq %rdi, %rcx - LONG $0xffc9810f; WORD $0xffff // jno LBB15_13, $-55(%rip) - -LBB15_17: - WORD $0xff48; BYTE $0xc8 // decq %rax - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xfb02c748; WORD $0xffff; BYTE $0xff // movq $-5, (%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB15_11: - WORD $0x8948; BYTE $0x3e // movq %rdi, (%rsi) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB15_18: - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x002f830f; WORD $0x0000 // jae LBB15_22, $47(%rip) - LONG $0x013c8a41 // movb (%r9,%rax), %dil - LONG $0x2eff8040 // cmpb $46, %dil - LONG $0x0014840f; WORD $0x0000 // je LBB15_25, $20(%rip) - LONG $0x45ff8040 // cmpb $69, %dil - LONG $0x000a840f; WORD $0x0000 // je LBB15_25, $10(%rip) - LONG $0x65ff8040 // cmpb $101, %dil - LONG $0x000d850f; WORD $0x0000 // jne LBB15_22, $13(%rip) - -LBB15_25: - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xfa02c748; WORD $0xffff; BYTE $0xff // movq $-6, (%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB15_22: - WORD $0x8949; BYTE $0xc2 // movq %rax, %r10 - -LBB15_23: - WORD $0x894c; BYTE $0x16 // movq %r10, (%rsi) - LONG $0x104a8948 // movq %rcx, $16(%rdx) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_vunsigned: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - WORD $0x8b48; BYTE $0x0e // movq (%rsi), %rcx - WORD $0x8b4c; BYTE $0x0f // movq (%rdi), %r9 - LONG $0x085f8b4c // movq $8(%rdi), %r11 - LONG $0x0902c748; WORD $0x0000; BYTE $0x00 // movq $9, (%rdx) - QUAD $0x000000000842c748 // movq $0, $8(%rdx) - QUAD $0x000000001042c748 // movq $0, $16(%rdx) - WORD $0x8b48; BYTE $0x06 // movq (%rsi), %rax - LONG $0x18428948 // movq %rax, $24(%rdx) - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x0019830f; WORD $0x0000 // jae LBB16_1, $25(%rip) - LONG $0x09048a41 // movb (%r9,%rcx), %al - WORD $0x2d3c // cmpb $45, %al - LONG $0x001a850f; WORD $0x0000 // jne LBB16_4, $26(%rip) - -LBB16_3: - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfa00c749; WORD $0xffff; BYTE $0xff // movq $-6, (%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_1: - WORD $0x894c; BYTE $0x1e // movq %r11, (%rsi) - LONG $0xff00c749; WORD $0xffff; BYTE $0xff // movq $-1, (%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_4: - WORD $0x508d; BYTE $0xd0 // leal $-48(%rax), %edx - WORD $0xfa80; BYTE $0x0a // cmpb $10, %dl - LONG $0x000d820f; WORD $0x0000 // jb LBB16_6, $13(%rip) - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfe00c749; WORD $0xffff; BYTE $0xff // movq $-2, (%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_6: - WORD $0x303c // cmpb $48, %al - LONG $0x0026850f; WORD $0x0000 // jne LBB16_7, $38(%rip) - LONG $0x09448a41; BYTE $0x01 // movb $1(%r9,%rcx), %al - WORD $0xd204 // addb $-46, %al - WORD $0x373c // cmpb $55, %al - LONG $0x00af870f; WORD $0x0000 // ja LBB16_16, $175(%rip) - WORD $0xb60f; BYTE $0xc0 // movzbl %al, %eax - QUAD $0x000000800001ba48; WORD $0x0080 // movabsq $36028797027352577, %rdx - LONG $0xc2a30f48 // btq %rax, %rdx - LONG $0x0098830f; WORD $0x0000 // jae LBB16_16, $152(%rip) - -LBB16_7: - WORD $0xc031 // xorl %eax, %eax - LONG $0x000aba41; WORD $0x0000 // movl $10, %r10d - WORD $0x9090 // .p2align 4, 0x90 - -LBB16_8: - WORD $0x3949; BYTE $0xcb // cmpq %rcx, %r11 - LONG $0x007b840f; WORD $0x0000 // je LBB16_22, $123(%rip) - LONG $0x3cbe0f41; BYTE $0x09 // movsbl (%r9,%rcx), %edi - WORD $0x578d; BYTE $0xd0 // leal $-48(%rdi), %edx - WORD $0xfa80; BYTE $0x09 // cmpb $9, %dl - LONG $0x003f870f; WORD $0x0000 // ja LBB16_17, $63(%rip) - WORD $0xf749; BYTE $0xe2 // mulq %r10 - LONG $0x0026800f; WORD $0x0000 // jo LBB16_13, $38(%rip) - WORD $0xff48; BYTE $0xc1 // incq %rcx - WORD $0xc783; BYTE $0xd0 // addl $-48, %edi - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0x0148; BYTE $0xf8 // addq %rdi, %rax - WORD $0x920f; BYTE $0xc3 // setb %bl - WORD $0x8948; BYTE $0xda // movq %rbx, %rdx - WORD $0xf748; BYTE $0xda // negq %rdx - WORD $0x3148; BYTE $0xd3 // xorq %rdx, %rbx - LONG $0x0009850f; WORD $0x0000 // jne LBB16_13, $9(%rip) - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xffb7890f; WORD $0xffff // jns LBB16_8, $-73(%rip) - -LBB16_13: - WORD $0xff48; BYTE $0xc9 // decq %rcx - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfb00c749; WORD $0xffff; BYTE $0xff // movq $-5, (%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_17: - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x001f830f; WORD $0x0000 // jae LBB16_21, $31(%rip) - LONG $0x09148a41 // movb (%r9,%rcx), %dl - WORD $0xfa80; BYTE $0x2e // cmpb $46, %dl - LONG $0xff26840f; WORD $0xffff // je LBB16_3, $-218(%rip) - WORD $0xfa80; BYTE $0x45 // cmpb $69, %dl - LONG $0xff1d840f; WORD $0xffff // je LBB16_3, $-227(%rip) - WORD $0xfa80; BYTE $0x65 // cmpb $101, %dl - LONG $0xff14840f; WORD $0xffff // je LBB16_3, $-236(%rip) - -LBB16_21: - WORD $0x8949; BYTE $0xcb // movq %rcx, %r11 - -LBB16_22: - WORD $0x894c; BYTE $0x1e // movq %r11, (%rsi) - LONG $0x10408949 // movq %rax, $16(%r8) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB16_16: - WORD $0xff48; BYTE $0xc1 // incq %rcx - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI17_0: - QUAD $0x0000000000000001 // .quad 1 - QUAD $0x0000000000000005 // .quad 5 - - // .p2align 4, 0x90 -_skip_array: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - LONG $0xdc05280f; WORD $0xffff; BYTE $0xff // movaps $-36(%rip), %xmm0 /* LCPI17_0(%rip) */ - WORD $0x110f; BYTE $0x00 // movups %xmm0, (%rax) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - BYTE $0x5d // popq %rbp - LONG $0x000000e9; BYTE $0x00 // jmp _fsm_exec, $0(%rip) - - // .p2align 4, 0x90 -_fsm_exec: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x28ec8348 // subq $40, %rsp - LONG $0xb84d8948 // movq %rcx, $-72(%rbp) - LONG $0x003f8348 // cmpq $0, (%rdi) - LONG $0x0591840f; WORD $0x0000 // je LBB18_76, $1425(%rip) - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - WORD $0x8949; BYTE $0xfc // movq %rdi, %r12 - LONG $0x08468d48 // leaq $8(%rsi), %rax - LONG $0xd0458948 // movq %rax, $-48(%rbp) - LONG $0xffc6c749; WORD $0xffff; BYTE $0xff // movq $-1, %r14 - QUAD $0x000100002600bb49; WORD $0x0000 // movabsq $4294977024, %r11 - LONG $0xc0758948 // movq %rsi, $-64(%rbp) - LONG $0x000029e9; BYTE $0x00 // jmp LBB18_3, $41(%rip) - -LBB18_2: - LONG $0x03488d48 // leaq $3(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x05a98e0f; WORD $0x0000 // jle LBB18_83, $1449(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB18_61: - LONG $0x24148b4d // movq (%r12), %r10 - WORD $0x894d; BYTE $0xf7 // movq %r14, %r15 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0547840f; WORD $0x0000 // je LBB18_77, $1351(%rip) - -LBB18_3: - WORD $0x894d; BYTE $0xf1 // movq %r14, %r9 - WORD $0x8b48; BYTE $0x3e // movq (%rsi), %rdi - LONG $0x084e8b48 // movq $8(%rsi), %rcx - WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0x2948; BYTE $0xca // subq %rcx, %rdx - LONG $0x0037830f; WORD $0x0000 // jae LBB18_8, $55(%rip) - WORD $0x1c8a; BYTE $0x07 // movb (%rdi,%rax), %bl - WORD $0xfb80; BYTE $0x0d // cmpb $13, %bl - LONG $0x002b840f; WORD $0x0000 // je LBB18_8, $43(%rip) - WORD $0xfb80; BYTE $0x20 // cmpb $32, %bl - LONG $0x0022840f; WORD $0x0000 // je LBB18_8, $34(%rip) - WORD $0xc380; BYTE $0xf7 // addb $-9, %bl - WORD $0xfb80; BYTE $0x01 // cmpb $1, %bl - LONG $0x0016860f; WORD $0x0000 // jbe LBB18_8, $22(%rip) - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - LONG $0x000130e9; BYTE $0x00 // jmp LBB18_29, $304(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB18_8: - LONG $0x01708d4c // leaq $1(%rax), %r14 - WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 - LONG $0x0023830f; WORD $0x0000 // jae LBB18_12, $35(%rip) - LONG $0x371c8a42 // movb (%rdi,%r14), %bl - WORD $0xfb80; BYTE $0x0d // cmpb $13, %bl - LONG $0x0016840f; WORD $0x0000 // je LBB18_12, $22(%rip) - WORD $0xfb80; BYTE $0x20 // cmpb $32, %bl - LONG $0x000d840f; WORD $0x0000 // je LBB18_12, $13(%rip) - WORD $0xc380; BYTE $0xf7 // addb $-9, %bl - WORD $0xfb80; BYTE $0x01 // cmpb $1, %bl - LONG $0x00f3870f; WORD $0x0000 // ja LBB18_29, $243(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB18_12: - LONG $0x02708d4c // leaq $2(%rax), %r14 - WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 - LONG $0x0023830f; WORD $0x0000 // jae LBB18_16, $35(%rip) - LONG $0x371c8a42 // movb (%rdi,%r14), %bl - WORD $0xfb80; BYTE $0x0d // cmpb $13, %bl - LONG $0x0016840f; WORD $0x0000 // je LBB18_16, $22(%rip) - WORD $0xfb80; BYTE $0x20 // cmpb $32, %bl - LONG $0x000d840f; WORD $0x0000 // je LBB18_16, $13(%rip) - WORD $0xc380; BYTE $0xf7 // addb $-9, %bl - WORD $0xfb80; BYTE $0x01 // cmpb $1, %bl - LONG $0x00c3870f; WORD $0x0000 // ja LBB18_29, $195(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB18_16: - LONG $0x03708d4c // leaq $3(%rax), %r14 - WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 - LONG $0x0023830f; WORD $0x0000 // jae LBB18_20, $35(%rip) - LONG $0x371c8a42 // movb (%rdi,%r14), %bl - WORD $0xfb80; BYTE $0x0d // cmpb $13, %bl - LONG $0x0016840f; WORD $0x0000 // je LBB18_20, $22(%rip) - WORD $0xfb80; BYTE $0x20 // cmpb $32, %bl - LONG $0x000d840f; WORD $0x0000 // je LBB18_20, $13(%rip) - WORD $0xc380; BYTE $0xf7 // addb $-9, %bl - WORD $0xfb80; BYTE $0x01 // cmpb $1, %bl - LONG $0x0093870f; WORD $0x0000 // ja LBB18_29, $147(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB18_20: - LONG $0x04588d48 // leaq $4(%rax), %rbx - WORD $0x3948; BYTE $0xd9 // cmpq %rbx, %rcx - LONG $0x0450860f; WORD $0x0000 // jbe LBB18_75, $1104(%rip) - WORD $0x3948; BYTE $0xd9 // cmpq %rbx, %rcx - LONG $0x004a840f; WORD $0x0000 // je LBB18_26, $74(%rip) - LONG $0x0f1c8d48 // leaq (%rdi,%rcx), %rbx - LONG $0x04c28348 // addq $4, %rdx - LONG $0x07748d4c; BYTE $0x05 // leaq $5(%rdi,%rax), %r14 - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB18_23: - LONG $0x46be0f41; BYTE $0xff // movsbl $-1(%r14), %eax - WORD $0xf883; BYTE $0x20 // cmpl $32, %eax - LONG $0x0042870f; WORD $0x0000 // ja LBB18_28, $66(%rip) - LONG $0xc3a30f49 // btq %rax, %r11 - LONG $0x0038830f; WORD $0x0000 // jae LBB18_28, $56(%rip) - WORD $0xff49; BYTE $0xc6 // incq %r14 - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0xffdc850f; WORD $0xffff // jne LBB18_23, $-36(%rip) - LONG $0x00000ae9; BYTE $0x00 // jmp LBB18_27, $10(%rip) - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB18_26: - WORD $0x0148; BYTE $0xfb // addq %rdi, %rbx - -LBB18_27: - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - WORD $0x8949; BYTE $0xde // movq %rbx, %r14 - WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 - LONG $0x0020820f; WORD $0x0000 // jb LBB18_29, $32(%rip) - LONG $0x0003e9e9; BYTE $0x00 // jmp LBB18_76, $1001(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB18_28: - WORD $0x8948; BYTE $0xfa // movq %rdi, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x0149; BYTE $0xd6 // addq %rdx, %r14 - WORD $0x3949; BYTE $0xce // cmpq %rcx, %r14 - LONG $0x03ce830f; WORD $0x0000 // jae LBB18_76, $974(%rip) - -LBB18_29: - LONG $0x014e8d49 // leaq $1(%r14), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x0cbe0f42; BYTE $0x37 // movsbl (%rdi,%r14), %ecx - LONG $0xffc7c749; WORD $0xffff; BYTE $0xff // movq $-1, %r15 - WORD $0xc985 // testl %ecx, %ecx - LONG $0x03ba840f; WORD $0x0000 // je LBB18_77, $954(%rip) - LONG $0x242c8b4d // movq (%r12), %r13 - LONG $0xff558d4d // leaq $-1(%r13), %r10 - LONG $0xec1c8b43 // movl (%r12,%r13,8), %ebx - LONG $0xfff98349 // cmpq $-1, %r9 - LONG $0xf1450f4d // cmovneq %r9, %r14 - WORD $0xcbff // decl %ebx - WORD $0xfb83; BYTE $0x05 // cmpl $5, %ebx - LONG $0x0037870f; WORD $0x0000 // ja LBB18_35, $55(%rip) - LONG $0xfd158d48; WORD $0x0004; BYTE $0x00 // leaq $1277(%rip), %rdx /* LJTI18_0(%rip) */ - LONG $0x9a046348 // movslq (%rdx,%rbx,4), %rax - WORD $0x0148; BYTE $0xd0 // addq %rdx, %rax - JMP AX - -LBB18_32: - WORD $0xf983; BYTE $0x2c // cmpl $44, %ecx - LONG $0x0199840f; WORD $0x0000 // je LBB18_53, $409(%rip) - WORD $0xf983; BYTE $0x5d // cmpl $93, %ecx - LONG $0x03d6850f; WORD $0x0000 // jne LBB18_85, $982(%rip) - LONG $0x2414894d // movq %r10, (%r12) - WORD $0x894d; BYTE $0xf7 // movq %r14, %r15 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xfe22850f; WORD $0xffff // jne LBB18_3, $-478(%rip) - LONG $0x000364e9; BYTE $0x00 // jmp LBB18_77, $868(%rip) - -LBB18_35: - LONG $0x2414894d // movq %r10, (%r12) - WORD $0xf983; BYTE $0x7b // cmpl $123, %ecx - LONG $0x00f8860f; WORD $0x0000 // jbe LBB18_51, $248(%rip) - LONG $0x0003afe9; BYTE $0x00 // jmp LBB18_85, $943(%rip) - -LBB18_36: - WORD $0xf983; BYTE $0x2c // cmpl $44, %ecx - LONG $0x0183840f; WORD $0x0000 // je LBB18_55, $387(%rip) - WORD $0xf983; BYTE $0x7d // cmpl $125, %ecx - LONG $0x039d850f; WORD $0x0000 // jne LBB18_85, $925(%rip) - LONG $0x2414894d // movq %r10, (%r12) - WORD $0x894d; BYTE $0xf7 // movq %r14, %r15 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xfde9850f; WORD $0xffff // jne LBB18_3, $-535(%rip) - LONG $0x00032be9; BYTE $0x00 // jmp LBB18_77, $811(%rip) - -LBB18_39: - WORD $0xf980; BYTE $0x22 // cmpb $34, %cl - LONG $0x037f850f; WORD $0x0000 // jne LBB18_85, $895(%rip) - QUAD $0x00000004ec04c74b // movq $4, (%r12,%r13,8) - -LBB18_41: - QUAD $0xffffffffc845c748 // movq $-1, $-56(%rbp) - WORD $0x8b4d; BYTE $0x28 // movq (%r8), %r13 - WORD $0x8948; BYTE $0xf7 // movq %rsi, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xc8558d48 // leaq $-56(%rbp), %rdx - LONG $0xb84d8b48 // movq $-72(%rbp), %rcx - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - LONG $0xffee32e8; BYTE $0xff // callq _advance_string, $-4558(%rip) - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x030b880f; WORD $0x0000 // js LBB18_78, $779(%rip) - WORD $0x894c; BYTE $0x3b // movq %r15, (%rbx) - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xc0758b48 // movq $-64(%rbp), %rsi - QUAD $0x000100002600bb49; WORD $0x0000 // movabsq $4294977024, %r11 - LONG $0xfd798f0f; WORD $0xffff // jg LBB18_61, $-647(%rip) - LONG $0x000301e9; BYTE $0x00 // jmp LBB18_79, $769(%rip) - -LBB18_43: - WORD $0xf980; BYTE $0x3a // cmpb $58, %cl - LONG $0x031f850f; WORD $0x0000 // jne LBB18_85, $799(%rip) - QUAD $0x00000000ec04c74b // movq $0, (%r12,%r13,8) - LONG $0xfffd5ee9; BYTE $0xff // jmp LBB18_61, $-674(%rip) - -LBB18_45: - WORD $0xf980; BYTE $0x5d // cmpb $93, %cl - LONG $0x003c850f; WORD $0x0000 // jne LBB18_50, $60(%rip) - LONG $0x2414894d // movq %r10, (%r12) - WORD $0x894d; BYTE $0xf7 // movq %r14, %r15 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xfd55850f; WORD $0xffff // jne LBB18_3, $-683(%rip) - LONG $0x000297e9; BYTE $0x00 // jmp LBB18_77, $663(%rip) - -LBB18_47: - WORD $0xf983; BYTE $0x22 // cmpl $34, %ecx - LONG $0x00eb840f; WORD $0x0000 // je LBB18_57, $235(%rip) - WORD $0xf983; BYTE $0x7d // cmpl $125, %ecx - LONG $0x02e2850f; WORD $0x0000 // jne LBB18_85, $738(%rip) - LONG $0x2414894d // movq %r10, (%r12) - WORD $0x894d; BYTE $0xf7 // movq %r14, %r15 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xfd2e850f; WORD $0xffff // jne LBB18_3, $-722(%rip) - LONG $0x000270e9; BYTE $0x00 // jmp LBB18_77, $624(%rip) - -LBB18_50: - QUAD $0x00000001ec04c74b // movq $1, (%r12,%r13,8) - WORD $0xf983; BYTE $0x7b // cmpl $123, %ecx - LONG $0x02bc870f; WORD $0x0000 // ja LBB18_85, $700(%rip) - -LBB18_51: - WORD $0xc889 // movl %ecx, %eax - LONG $0xd70d8d48; WORD $0x0003; BYTE $0x00 // leaq $983(%rip), %rcx /* LJTI18_1(%rip) */ - LONG $0x81046348 // movslq (%rcx,%rax,4), %rax - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - JMP AX - -LBB18_52: - WORD $0x8b49; BYTE $0x18 // movq (%r8), %rbx - LONG $0xff7b8d4c // leaq $-1(%rbx), %r15 - LONG $0x1f7c8d48; BYTE $0xff // leaq $-1(%rdi,%rbx), %rdi - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x8b48; BYTE $0x30 // movq (%rax), %rsi - WORD $0x294c; BYTE $0xfe // subq %r15, %rsi - WORD $0x894d; BYTE $0xc5 // movq %r8, %r13 - LONG $0x000718e8; BYTE $0x00 // callq _do_skip_number, $1816(%rip) - QUAD $0x000100002600bb49; WORD $0x0000 // movabsq $4294977024, %r11 - LONG $0xc0758b48 // movq $-64(%rbp), %rsi - WORD $0x894d; BYTE $0xe8 // movq %r13, %r8 - LONG $0xff488d48 // leaq $-1(%rax), %rcx - LONG $0xfec2c748; WORD $0xffff; BYTE $0xff // movq $-2, %rdx - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xd1490f48 // cmovnsq %rcx, %rdx - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xf8480f4c // cmovsq %rax, %r15 - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0xfc97890f; WORD $0xffff // jns LBB18_61, $-873(%rip) - LONG $0x0001e9e9; BYTE $0x00 // jmp LBB18_77, $489(%rip) - -LBB18_53: - LONG $0xfffd8149; WORD $0x000f; BYTE $0x00 // cmpq $4095, %r13 - LONG $0x01ee8f0f; WORD $0x0000 // jg LBB18_80, $494(%rip) - LONG $0x01458d49 // leaq $1(%r13), %rax - LONG $0x24048949 // movq %rax, (%r12) - QUAD $0x00000008ec44c74b; BYTE $0x00 // movq $0, $8(%r12,%r13,8) - LONG $0xfffc6fe9; BYTE $0xff // jmp LBB18_61, $-913(%rip) - -LBB18_55: - LONG $0xfffd8149; WORD $0x000f; BYTE $0x00 // cmpq $4095, %r13 - LONG $0x01cb8f0f; WORD $0x0000 // jg LBB18_80, $459(%rip) - LONG $0x01458d49 // leaq $1(%r13), %rax - LONG $0x24048949 // movq %rax, (%r12) - QUAD $0x00000308ec44c74b; BYTE $0x00 // movq $3, $8(%r12,%r13,8) - LONG $0xfffc4ce9; BYTE $0xff // jmp LBB18_61, $-948(%rip) - -LBB18_57: - QUAD $0x00000002ec04c74b // movq $2, (%r12,%r13,8) - QUAD $0xffffffffc845c748 // movq $-1, $-56(%rbp) - WORD $0x8b4d; BYTE $0x28 // movq (%r8), %r13 - WORD $0x8948; BYTE $0xf7 // movq %rsi, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xc8558d48 // leaq $-56(%rbp), %rdx - LONG $0xb84d8b48 // movq $-72(%rbp), %rcx - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - LONG $0xffecb3e8; BYTE $0xff // callq _advance_string, $-4941(%rip) - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x018c880f; WORD $0x0000 // js LBB18_78, $396(%rip) - WORD $0x894c; BYTE $0x3b // movq %r15, (%rbx) - WORD $0x854d; BYTE $0xed // testq %r13, %r13 - LONG $0x01988e0f; WORD $0x0000 // jle LBB18_79, $408(%rip) - LONG $0x24048b49 // movq (%r12), %rax - LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x01648f0f; WORD $0x0000 // jg LBB18_80, $356(%rip) - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x240c8949 // movq %rcx, (%r12) - QUAD $0x00000408c444c749; BYTE $0x00 // movq $4, $8(%r12,%rax,8) - LONG $0xc0758b48 // movq $-64(%rbp), %rsi - QUAD $0x000100002600bb49; WORD $0x0000 // movabsq $4294977024, %r11 - LONG $0xfffbd4e9; BYTE $0xff // jmp LBB18_61, $-1068(%rip) - -LBB18_62: - WORD $0x8b4d; BYTE $0x38 // movq (%r8), %r15 - WORD $0x014c; BYTE $0xff // addq %r15, %rdi - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x8b48; BYTE $0x30 // movq (%rax), %rsi - WORD $0x294c; BYTE $0xfe // subq %r15, %rsi - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - LONG $0x0005fce8; BYTE $0x00 // callq _do_skip_number, $1532(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x015e880f; WORD $0x0000 // js LBB18_84, $350(%rip) - WORD $0x014c; BYTE $0xf8 // addq %r15, %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xc0758b48 // movq $-64(%rbp), %rsi - QUAD $0x000100002600bb49; WORD $0x0000 // movabsq $4294977024, %r11 - LONG $0xfb938f0f; WORD $0xffff // jg LBB18_61, $-1133(%rip) - LONG $0x00014ee9; BYTE $0x00 // jmp LBB18_91, $334(%rip) - -LBB18_64: - LONG $0x24048b49 // movq (%r12), %rax - LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x00e78f0f; WORD $0x0000 // jg LBB18_80, $231(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x240c8949 // movq %rcx, (%r12) - QUAD $0x00000508c444c749; BYTE $0x00 // movq $5, $8(%r12,%rax,8) - LONG $0xfffb68e9; BYTE $0xff // jmp LBB18_61, $-1176(%rip) - -LBB18_66: - WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - LONG $0xfc518d48 // leaq $-4(%rcx), %rdx - WORD $0x3948; BYTE $0xd0 // cmpq %rdx, %rax - LONG $0x00e9870f; WORD $0x0000 // ja LBB18_88, $233(%rip) - WORD $0x0c8b; BYTE $0x07 // movl (%rdi,%rax), %ecx - LONG $0x6c61f981; WORD $0x6573 // cmpl $1702063201, %ecx - LONG $0x010a850f; WORD $0x0000 // jne LBB18_92, $266(%rip) - LONG $0x04488d48 // leaq $4(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xfb328f0f; WORD $0xffff // jg LBB18_61, $-1230(%rip) - LONG $0x0000cde9; BYTE $0x00 // jmp LBB18_83, $205(%rip) - -LBB18_69: - WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - LONG $0xfd518d48 // leaq $-3(%rcx), %rdx - WORD $0x3948; BYTE $0xd0 // cmpq %rdx, %rax - LONG $0x00ae870f; WORD $0x0000 // ja LBB18_88, $174(%rip) - QUAD $0x6c6c756eff077c81 // cmpl $1819047278, $-1(%rdi,%rax) - LONG $0xfaef840f; WORD $0xffff // je LBB18_2, $-1297(%rip) - LONG $0x00011de9; BYTE $0x00 // jmp LBB18_97, $285(%rip) - -LBB18_71: - WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - LONG $0xfd518d48 // leaq $-3(%rcx), %rdx - WORD $0x3948; BYTE $0xd0 // cmpq %rdx, %rax - LONG $0x0084870f; WORD $0x0000 // ja LBB18_88, $132(%rip) - QUAD $0x65757274ff077c81 // cmpl $1702195828, $-1(%rdi,%rax) - LONG $0xfac5840f; WORD $0xffff // je LBB18_2, $-1339(%rip) - LONG $0x000142e9; BYTE $0x00 // jmp LBB18_101, $322(%rip) - -LBB18_73: - LONG $0x24048b49 // movq (%r12), %rax - LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x00328f0f; WORD $0x0000 // jg LBB18_80, $50(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x240c8949 // movq %rcx, (%r12) - QUAD $0x00000608c444c749; BYTE $0x00 // movq $6, $8(%r12,%rax,8) - LONG $0xfffab3e9; BYTE $0xff // jmp LBB18_61, $-1357(%rip) - -LBB18_75: - WORD $0x8949; BYTE $0x18 // movq %rbx, (%r8) - -LBB18_76: - LONG $0xffc7c749; WORD $0xffff; BYTE $0xff // movq $-1, %r15 - -LBB18_77: - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - LONG $0x28c48348 // addq $40, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB18_80: - LONG $0xf9c7c749; WORD $0xffff; BYTE $0xff // movq $-7, %r15 - LONG $0xffffe2e9; BYTE $0xff // jmp LBB18_77, $-30(%rip) - -LBB18_78: - LONG $0xffff8349 // cmpq $-1, %r15 - LONG $0xc8458d48 // leaq $-56(%rbp), %rax - LONG $0x45440f48; BYTE $0xd0 // cmoveq $-48(%rbp), %rax - WORD $0x8b48; BYTE $0x00 // movq (%rax), %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0xffffcae9; BYTE $0xff // jmp LBB18_77, $-54(%rip) - -LBB18_79: - WORD $0xff49; BYTE $0xcd // decq %r13 - WORD $0x894d; BYTE $0xef // movq %r13, %r15 - LONG $0xffffbfe9; BYTE $0xff // jmp LBB18_77, $-65(%rip) - -LBB18_88: - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0xffffb7e9; BYTE $0xff // jmp LBB18_77, $-73(%rip) - -LBB18_83: - WORD $0xff48; BYTE $0xc8 // decq %rax - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - LONG $0xfffface9; BYTE $0xff // jmp LBB18_77, $-84(%rip) - -LBB18_84: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 - WORD $0x894c; BYTE $0x3b // movq %r15, (%rbx) - -LBB18_85: - LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - LONG $0xffff97e9; BYTE $0xff // jmp LBB18_77, $-105(%rip) - -LBB18_91: - WORD $0xff49; BYTE $0xcf // decq %r15 - LONG $0xffff8fe9; BYTE $0xff // jmp LBB18_77, $-113(%rip) - -LBB18_92: - LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - WORD $0xf980; BYTE $0x61 // cmpb $97, %cl - LONG $0xff7f850f; WORD $0xffff // jne LBB18_77, $-129(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x01077c80; BYTE $0x6c // cmpb $108, $1(%rdi,%rax) - LONG $0xff6d850f; WORD $0xffff // jne LBB18_77, $-147(%rip) - LONG $0x02488d48 // leaq $2(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x02077c80; BYTE $0x73 // cmpb $115, $2(%rdi,%rax) - LONG $0xff5b850f; WORD $0xffff // jne LBB18_77, $-165(%rip) - LONG $0x03488d48 // leaq $3(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x03077c80; BYTE $0x65 // cmpb $101, $3(%rdi,%rax) - LONG $0xff49850f; WORD $0xffff // jne LBB18_77, $-183(%rip) - LONG $0x04c08348 // addq $4, %rax - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0xffff3de9; BYTE $0xff // jmp LBB18_77, $-195(%rip) - -LBB18_97: - LONG $0xff488d48 // leaq $-1(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - LONG $0xff077c80; BYTE $0x6e // cmpb $110, $-1(%rdi,%rax) - LONG $0xff24850f; WORD $0xffff // jne LBB18_77, $-220(%rip) - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0x75073c80 // cmpb $117, (%rdi,%rax) - LONG $0xff17850f; WORD $0xffff // jne LBB18_77, $-233(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x01077c80; BYTE $0x6c // cmpb $108, $1(%rdi,%rax) - LONG $0xff05850f; WORD $0xffff // jne LBB18_77, $-251(%rip) - LONG $0x02488d48 // leaq $2(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x02077c80; BYTE $0x6c // cmpb $108, $2(%rdi,%rax) - LONG $0xfef3850f; WORD $0xffff // jne LBB18_77, $-269(%rip) - LONG $0x00004ae9; BYTE $0x00 // jmp LBB18_105, $74(%rip) - -LBB18_101: - LONG $0xff488d48 // leaq $-1(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - LONG $0xff077c80; BYTE $0x74 // cmpb $116, $-1(%rdi,%rax) - LONG $0xfed5850f; WORD $0xffff // jne LBB18_77, $-299(%rip) - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0x72073c80 // cmpb $114, (%rdi,%rax) - LONG $0xfec8850f; WORD $0xffff // jne LBB18_77, $-312(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x01077c80; BYTE $0x75 // cmpb $117, $1(%rdi,%rax) - LONG $0xfeb6850f; WORD $0xffff // jne LBB18_77, $-330(%rip) - LONG $0x02488d48 // leaq $2(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x02077c80; BYTE $0x65 // cmpb $101, $2(%rdi,%rax) - LONG $0xfea4850f; WORD $0xffff // jne LBB18_77, $-348(%rip) - -LBB18_105: - LONG $0x03c08348 // addq $3, %rax - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0xfffe98e9; BYTE $0xff // jmp LBB18_77, $-360(%rip) - BYTE $0x90 // .p2align 2, 0x90 - - // .set L18_0_set_32, LBB18_32-LJTI18_0 - // .set L18_0_set_36, LBB18_36-LJTI18_0 - // .set L18_0_set_39, LBB18_39-LJTI18_0 - // .set L18_0_set_43, LBB18_43-LJTI18_0 - // .set L18_0_set_45, LBB18_45-LJTI18_0 - // .set L18_0_set_47, LBB18_47-LJTI18_0 -LJTI18_0: - LONG $0xfffffb0c // .long L18_0_set_32 - LONG $0xfffffb45 // .long L18_0_set_36 - LONG $0xfffffb6c // .long L18_0_set_39 - LONG $0xfffffbcc // .long L18_0_set_43 - LONG $0xfffffbe2 // .long L18_0_set_45 - LONG $0xfffffc00 // .long L18_0_set_47 - - // .set L18_1_set_77, LBB18_77-LJTI18_1 - // .set L18_1_set_85, LBB18_85-LJTI18_1 - // .set L18_1_set_41, LBB18_41-LJTI18_1 - // .set L18_1_set_62, LBB18_62-LJTI18_1 - // .set L18_1_set_52, LBB18_52-LJTI18_1 - // .set L18_1_set_64, LBB18_64-LJTI18_1 - // .set L18_1_set_66, LBB18_66-LJTI18_1 - // .set L18_1_set_69, LBB18_69-LJTI18_1 - // .set L18_1_set_71, LBB18_71-LJTI18_1 - // .set L18_1_set_73, LBB18_73-LJTI18_1 -LJTI18_1: - LONG $0xfffffe7f // .long L18_1_set_77 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffb65 // .long L18_1_set_41 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffd54 // .long L18_1_set_62 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffc32 // .long L18_1_set_52 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffd9a // .long L18_1_set_64 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffdc0 // .long L18_1_set_66 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffdfb // .long L18_1_set_69 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffe25 // .long L18_1_set_71 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffedc // .long L18_1_set_85 - LONG $0xfffffe4f // .long L18_1_set_73 - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -LCPI19_0: - QUAD $0x0000000000000001 // .quad 1 - QUAD $0x0000000000000006 // .quad 6 - - // .p2align 4, 0x90 -_skip_object: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - LONG $0xdc05280f; WORD $0xffff; BYTE $0xff // movaps $-36(%rip), %xmm0 /* LCPI19_0(%rip) */ - WORD $0x110f; BYTE $0x00 // movups %xmm0, (%rax) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - BYTE $0x5d // popq %rbp - LONG $0xfff6a0e9; BYTE $0xff // jmp _fsm_exec, $-2400(%rip) - - // .p2align 4, 0x90 -_skip_string: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x10ec8348 // subq $16, %rsp - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - QUAD $0xffffffffd845c748 // movq $-1, $-40(%rbp) - WORD $0x8b48; BYTE $0x1e // movq (%rsi), %rbx - LONG $0xd8658d4c // leaq $-40(%rbp), %r12 - WORD $0x8948; BYTE $0xde // movq %rbx, %rsi - WORD $0x894c; BYTE $0xe2 // movq %r12, %rdx - LONG $0xffe75ee8; BYTE $0xff // callq _advance_string, $-6306(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x000e880f; WORD $0x0000 // js LBB20_1, $14(%rip) - WORD $0xff48; BYTE $0xcb // decq %rbx - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - LONG $0x000010e9; BYTE $0x00 // jmp LBB20_3, $16(%rip) - -LBB20_1: - LONG $0x08c78349 // addq $8, %r15 - LONG $0xfff88348 // cmpq $-1, %rax - LONG $0xe7440f4d // cmoveq %r15, %r12 - LONG $0x240c8b49 // movq (%r12), %rcx - -LBB20_3: - WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) - LONG $0x10c48348 // addq $16, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_skip_negative: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8b48; BYTE $0x1e // movq (%rsi), %rbx - WORD $0x8b48; BYTE $0x07 // movq (%rdi), %rax - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - LONG $0x08778b48 // movq $8(%rdi), %rsi - WORD $0x2948; BYTE $0xde // subq %rbx, %rsi - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0x0000aee8; BYTE $0x00 // callq _do_skip_number, $174(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x000e880f; WORD $0x0000 // js LBB21_1, $14(%rip) - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - WORD $0xff48; BYTE $0xcb // decq %rbx - LONG $0x000010e9; BYTE $0x00 // jmp LBB21_3, $16(%rip) - -LBB21_1: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - WORD $0x8949; BYTE $0x1e // movq %rbx, (%r14) - LONG $0xfec3c748; WORD $0xffff; BYTE $0xff // movq $-2, %rbx - -LBB21_3: - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI22_0: - QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' - -LCPI22_1: - QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' - -LCPI22_2: - QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' - -LCPI22_3: - QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' - -LCPI22_4: - QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' - -LCPI22_5: - QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' - -LCPI22_6: - QUAD $0x4545454545454545; QUAD $0x4545454545454545 // .space 16, 'EEEEEEEEEEEEEEEE' - - // .p2align 4, 0x90 -_do_skip_number: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0278840f; WORD $0x0000 // je LBB22_34, $632(%rip) - WORD $0x3f80; BYTE $0x30 // cmpb $48, (%rdi) - LONG $0x0033850f; WORD $0x0000 // jne LBB22_5, $51(%rip) - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0x01fe8348 // cmpq $1, %rsi - LONG $0x0331840f; WORD $0x0000 // je LBB22_52, $817(%rip) - WORD $0x478a; BYTE $0x01 // movb $1(%rdi), %al - WORD $0xd204 // addb $-46, %al - WORD $0x373c // cmpb $55, %al - LONG $0x0324870f; WORD $0x0000 // ja LBB22_52, $804(%rip) - WORD $0xb60f; BYTE $0xc0 // movzbl %al, %eax - QUAD $0x000000800001b948; WORD $0x0080 // movabsq $36028797027352577, %rcx - LONG $0xc1a30f48 // btq %rax, %rcx - LONG $0x030d830f; WORD $0x0000 // jae LBB22_52, $781(%rip) - -LBB22_5: - LONG $0x10fe8348 // cmpq $16, %rsi - LONG $0x032d820f; WORD $0x0000 // jb LBB22_57, $813(%rip) - LONG $0xffc1c749; WORD $0xffff; BYTE $0xff // movq $-1, %r9 - QUAD $0xffff28056f0f4466; BYTE $0xff // movdqa $-216(%rip), %xmm8 /* LCPI22_0(%rip) */ - QUAD $0xffff2f156f0f4466; BYTE $0xff // movdqa $-209(%rip), %xmm10 /* LCPI22_1(%rip) */ - QUAD $0xffff360d6f0f4466; BYTE $0xff // movdqa $-202(%rip), %xmm9 /* LCPI22_2(%rip) */ - QUAD $0xffffff3e1d6f0f66 // movdqa $-194(%rip), %xmm3 /* LCPI22_3(%rip) */ - QUAD $0xffffff46256f0f66 // movdqa $-186(%rip), %xmm4 /* LCPI22_4(%rip) */ - QUAD $0xffffff4e2d6f0f66 // movdqa $-178(%rip), %xmm5 /* LCPI22_5(%rip) */ - QUAD $0xffffff56356f0f66 // movdqa $-170(%rip), %xmm6 /* LCPI22_6(%rip) */ - LONG $0xffffbb41; WORD $0xffff // movl $4294967295, %r11d - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffc0c749; WORD $0xffff; BYTE $0xff // movq $-1, %r8 - WORD $0x8949; BYTE $0xfa // movq %rdi, %r10 - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB22_7: - LONG $0x6f0f41f3; BYTE $0x3a // movdqu (%r10), %xmm7 - LONG $0xc76f0f66 // movdqa %xmm7, %xmm0 - LONG $0x640f4166; BYTE $0xc0 // pcmpgtb %xmm8, %xmm0 - LONG $0x6f0f4166; BYTE $0xca // movdqa %xmm10, %xmm1 - LONG $0xcf640f66 // pcmpgtb %xmm7, %xmm1 - LONG $0xc8db0f66 // pand %xmm0, %xmm1 - LONG $0xc76f0f66 // movdqa %xmm7, %xmm0 - LONG $0x740f4166; BYTE $0xc1 // pcmpeqb %xmm9, %xmm0 - LONG $0xd76f0f66 // movdqa %xmm7, %xmm2 - LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xd0eb0f66 // por %xmm0, %xmm2 - LONG $0xc76f0f66 // movdqa %xmm7, %xmm0 - LONG $0xc4db0f66 // pand %xmm4, %xmm0 - LONG $0xc6740f66 // pcmpeqb %xmm6, %xmm0 - LONG $0xfd740f66 // pcmpeqb %xmm5, %xmm7 - LONG $0xd70f4466; BYTE $0xf8 // pmovmskb %xmm0, %r15d - LONG $0xc7eb0f66 // por %xmm7, %xmm0 - LONG $0xcaeb0f66 // por %xmm2, %xmm1 - LONG $0xc8eb0f66 // por %xmm0, %xmm1 - LONG $0xd7d70f66 // pmovmskb %xmm7, %edx - LONG $0xd70f4466; BYTE $0xf2 // pmovmskb %xmm2, %r14d - LONG $0xc9d70f66 // pmovmskb %xmm1, %ecx - WORD $0x314c; BYTE $0xd9 // xorq %r11, %rcx - LONG $0xc9bc0f48 // bsfq %rcx, %rcx - WORD $0xf983; BYTE $0x10 // cmpl $16, %ecx - LONG $0x0014840f; WORD $0x0000 // je LBB22_9, $20(%rip) - LONG $0xffffffbb; BYTE $0xff // movl $-1, %ebx - WORD $0xe3d3 // shll %cl, %ebx - WORD $0xd3f7 // notl %ebx - WORD $0xda21 // andl %ebx, %edx - WORD $0x2141; BYTE $0xdf // andl %ebx, %r15d - WORD $0x2144; BYTE $0xf3 // andl %r14d, %ebx - WORD $0x8941; BYTE $0xde // movl %ebx, %r14d - -LBB22_9: - WORD $0x5a8d; BYTE $0xff // leal $-1(%rdx), %ebx - WORD $0xd321 // andl %edx, %ebx - LONG $0x0202850f; WORD $0x0000 // jne LBB22_50, $514(%rip) - LONG $0xff5f8d41 // leal $-1(%r15), %ebx - WORD $0x2144; BYTE $0xfb // andl %r15d, %ebx - LONG $0x01f5850f; WORD $0x0000 // jne LBB22_50, $501(%rip) - LONG $0xff5e8d41 // leal $-1(%r14), %ebx - WORD $0x2144; BYTE $0xf3 // andl %r14d, %ebx - LONG $0x01e8850f; WORD $0x0000 // jne LBB22_50, $488(%rip) - WORD $0xd285 // testl %edx, %edx - LONG $0x0019840f; WORD $0x0000 // je LBB22_15, $25(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - WORD $0xbc0f; BYTE $0xd2 // bsfl %edx, %edx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0xfff88349 // cmpq $-1, %r8 - LONG $0x01d3850f; WORD $0x0000 // jne LBB22_51, $467(%rip) - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - -LBB22_15: - WORD $0x8545; BYTE $0xff // testl %r15d, %r15d - LONG $0x001a840f; WORD $0x0000 // je LBB22_18, $26(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - LONG $0xd7bc0f41 // bsfl %r15d, %edx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0xfff88348 // cmpq $-1, %rax - LONG $0x01b0850f; WORD $0x0000 // jne LBB22_51, $432(%rip) - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB22_18: - WORD $0x8545; BYTE $0xf6 // testl %r14d, %r14d - LONG $0x001a840f; WORD $0x0000 // je LBB22_21, $26(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - WORD $0x2948; BYTE $0xfb // subq %rdi, %rbx - LONG $0xd6bc0f41 // bsfl %r14d, %edx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - LONG $0xfff98349 // cmpq $-1, %r9 - LONG $0x018d850f; WORD $0x0000 // jne LBB22_51, $397(%rip) - WORD $0x8949; BYTE $0xd1 // movq %rdx, %r9 - -LBB22_21: - WORD $0xf983; BYTE $0x10 // cmpl $16, %ecx - LONG $0x00bf850f; WORD $0x0000 // jne LBB22_35, $191(%rip) - LONG $0x10c28349 // addq $16, %r10 - LONG $0xf0c68348 // addq $-16, %rsi - LONG $0x0ffe8348 // cmpq $15, %rsi - LONG $0xfed7870f; WORD $0xffff // ja LBB22_7, $-297(%rip) - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x00a7840f; WORD $0x0000 // je LBB22_36, $167(%rip) - -LBB22_24: - LONG $0x321c8d4d // leaq (%r10,%rsi), %r11 - LONG $0xa71d8d48; WORD $0x0001; BYTE $0x00 // leaq $423(%rip), %rbx /* LJTI22_0(%rip) */ - LONG $0x00001ae9; BYTE $0x00 // jmp LBB22_26, $26(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB22_25: - WORD $0x8949; BYTE $0xca // movq %rcx, %r10 - WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x0149840f; WORD $0x0000 // je LBB22_54, $329(%rip) - -LBB22_26: - LONG $0x12be0f41 // movsbl (%r10), %edx - WORD $0xc283; BYTE $0xd5 // addl $-43, %edx - WORD $0xfa83; BYTE $0x3a // cmpl $58, %edx - LONG $0x006d870f; WORD $0x0000 // ja LBB22_36, $109(%rip) - LONG $0x014a8d49 // leaq $1(%r10), %rcx - LONG $0x93146348 // movslq (%rbx,%rdx,4), %rdx - WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - JMP DX - -LBB22_28: - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0xfff98349 // cmpq $-1, %r9 - LONG $0x0134850f; WORD $0x0000 // jne LBB22_58, $308(%rip) - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0x8949; BYTE $0xd1 // movq %rdx, %r9 - LONG $0xffffbce9; BYTE $0xff // jmp LBB22_25, $-68(%rip) - -LBB22_30: - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0xfff88348 // cmpq $-1, %rax - LONG $0x0119850f; WORD $0x0000 // jne LBB22_58, $281(%rip) - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0xffffa1e9; BYTE $0xff // jmp LBB22_25, $-95(%rip) - -LBB22_32: - WORD $0x8948; BYTE $0xca // movq %rcx, %rdx - WORD $0x2948; BYTE $0xfa // subq %rdi, %rdx - LONG $0xfff88349 // cmpq $-1, %r8 - LONG $0x00fe850f; WORD $0x0000 // jne LBB22_58, $254(%rip) - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - LONG $0xffff86e9; BYTE $0xff // jmp LBB22_25, $-122(%rip) - -LBB22_34: - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x0000c8e9; BYTE $0x00 // jmp LBB22_53, $200(%rip) - -LBB22_35: - WORD $0x0149; BYTE $0xca // addq %rcx, %r10 - -LBB22_36: - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x00b2840f; WORD $0x0000 // je LBB22_52, $178(%rip) - -LBB22_37: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00a9840f; WORD $0x0000 // je LBB22_52, $169(%rip) - WORD $0x854d; BYTE $0xc0 // testq %r8, %r8 - LONG $0x00a0840f; WORD $0x0000 // je LBB22_52, $160(%rip) - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - LONG $0xff4a8d49 // leaq $-1(%r10), %rcx - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0x0036840f; WORD $0x0000 // je LBB22_45, $54(%rip) - WORD $0x3949; BYTE $0xc8 // cmpq %rcx, %r8 - LONG $0x002d840f; WORD $0x0000 // je LBB22_45, $45(%rip) - WORD $0x3949; BYTE $0xc9 // cmpq %rcx, %r9 - LONG $0x0024840f; WORD $0x0000 // je LBB22_45, $36(%rip) - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00298e0f; WORD $0x0000 // jle LBB22_46, $41(%rip) - LONG $0xff498d49 // leaq $-1(%r9), %rcx - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0x001c840f; WORD $0x0000 // je LBB22_46, $28(%rip) - WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - LONG $0x00005de9; BYTE $0x00 // jmp LBB22_53, $93(%rip) - -LBB22_45: - WORD $0xf749; BYTE $0xda // negq %r10 - WORD $0x894c; BYTE $0xd2 // movq %r10, %rdx - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - LONG $0x00004fe9; BYTE $0x00 // jmp LBB22_53, $79(%rip) - -LBB22_46: - WORD $0x894c; BYTE $0xc1 // movq %r8, %rcx - WORD $0x0948; BYTE $0xc1 // orq %rax, %rcx - WORD $0x3949; BYTE $0xc0 // cmpq %rax, %r8 - LONG $0x00178c0f; WORD $0x0000 // jl LBB22_49, $23(%rip) - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x000e880f; WORD $0x0000 // js LBB22_49, $14(%rip) - WORD $0xf749; BYTE $0xd0 // notq %r8 - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0x000029e9; BYTE $0x00 // jmp LBB22_53, $41(%rip) - -LBB22_49: - LONG $0xff508d48 // leaq $-1(%rax), %rdx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - WORD $0xf748; BYTE $0xd0 // notq %rax - LONG $0xc2480f49 // cmovsq %r10, %rax - WORD $0x3949; BYTE $0xd0 // cmpq %rdx, %r8 - LONG $0xc2450f49 // cmovneq %r10, %rax - LONG $0x00000fe9; BYTE $0x00 // jmp LBB22_53, $15(%rip) - -LBB22_50: - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - WORD $0xbc0f; BYTE $0xd3 // bsfl %ebx, %edx - WORD $0x014c; BYTE $0xd2 // addq %r10, %rdx - -LBB22_51: - WORD $0xf748; BYTE $0xd2 // notq %rdx - -LBB22_52: - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB22_53: - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB22_54: - WORD $0x894d; BYTE $0xda // movq %r11, %r10 - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xff31850f; WORD $0xffff // jne LBB22_37, $-207(%rip) - LONG $0xffffdee9; BYTE $0xff // jmp LBB22_52, $-34(%rip) - -LBB22_58: - WORD $0xf748; BYTE $0xda // negq %rdx - LONG $0xffffd6e9; BYTE $0xff // jmp LBB22_52, $-42(%rip) - -LBB22_57: - LONG $0xffc0c749; WORD $0xffff; BYTE $0xff // movq $-1, %r8 - WORD $0x8949; BYTE $0xfa // movq %rdi, %r10 - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffc1c749; WORD $0xffff; BYTE $0xff // movq $-1, %r9 - LONG $0xfffe50e9; BYTE $0xff // jmp LBB22_24, $-432(%rip) - WORD $0x9090 // .p2align 2, 0x90 - - // .set L22_0_set_28, LBB22_28-LJTI22_0 - // .set L22_0_set_36, LBB22_36-LJTI22_0 - // .set L22_0_set_32, LBB22_32-LJTI22_0 - // .set L22_0_set_25, LBB22_25-LJTI22_0 - // .set L22_0_set_30, LBB22_30-LJTI22_0 -LJTI22_0: - LONG $0xfffffe95 // .long L22_0_set_28 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffe95 // .long L22_0_set_28 - LONG $0xfffffecb // .long L22_0_set_32 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffe6c // .long L22_0_set_25 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffeb0 // .long L22_0_set_30 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffef5 // .long L22_0_set_36 - LONG $0xfffffeb0 // .long L22_0_set_30 - - // .p2align 4, 0x90 -_skip_positive: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8b4c; BYTE $0x3e // movq (%rsi), %r15 - LONG $0xff5f8d49 // leaq $-1(%r15), %rbx - WORD $0x8b48; BYTE $0x07 // movq (%rdi), %rax - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - LONG $0x08778b48 // movq $8(%rdi), %rsi - WORD $0x2948; BYTE $0xde // subq %rbx, %rsi - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0xfffb47e8; BYTE $0xff // callq _do_skip_number, $-1209(%rip) - LONG $0xff508d48 // leaq $-1(%rax), %rdx - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - LONG $0xfec6c748; WORD $0xffff; BYTE $0xff // movq $-2, %rsi - WORD $0x2948; BYTE $0xc6 // subq %rax, %rsi - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xf2490f48 // cmovnsq %rdx, %rsi - LONG $0xcb490f48 // cmovnsq %rbx, %rcx - WORD $0x014c; BYTE $0xfe // addq %r15, %rsi - WORD $0x8949; BYTE $0x36 // movq %rsi, (%r14) - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_skip_number: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8b4c; BYTE $0x27 // movq (%rdi), %r12 - LONG $0x08778b48 // movq $8(%rdi), %rsi - WORD $0x8b4d; BYTE $0x3e // movq (%r14), %r15 - WORD $0xc031 // xorl %eax, %eax - LONG $0x3c3c8043; BYTE $0x2d // cmpb $45, (%r12,%r15) - LONG $0x3c1c8d4b // leaq (%r12,%r15), %rbx - WORD $0x940f; BYTE $0xc0 // sete %al - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - WORD $0x2948; BYTE $0xc6 // subq %rax, %rsi - LONG $0x003b840f; WORD $0x0000 // je LBB24_6, $59(%rip) - WORD $0x3949; BYTE $0xf7 // cmpq %rsi, %r15 - LONG $0x000c830f; WORD $0x0000 // jae LBB24_3, $12(%rip) - WORD $0x038a // movb (%rbx), %al - WORD $0xd004 // addb $-48, %al - WORD $0x093c // cmpb $9, %al - LONG $0x0038870f; WORD $0x0000 // ja LBB24_8, $56(%rip) - -LBB24_3: - WORD $0x8948; BYTE $0xdf // movq %rbx, %rdi - LONG $0xfffac1e8; BYTE $0xff // callq _do_skip_number, $-1343(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0021880f; WORD $0x0000 // js LBB24_7, $33(%rip) - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - -LBB24_5: - WORD $0x294c; BYTE $0xe3 // subq %r12, %rbx - WORD $0x8949; BYTE $0x1e // movq %rbx, (%r14) - WORD $0x894c; BYTE $0xf8 // movq %r15, %rax - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB24_6: - LONG $0xffc7c749; WORD $0xffff; BYTE $0xff // movq $-1, %r15 - LONG $0xffffe2e9; BYTE $0xff // jmp LBB24_5, $-30(%rip) - -LBB24_7: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - -LBB24_8: - LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - LONG $0xffffd0e9; BYTE $0xff // jmp LBB24_5, $-48(%rip) - LONG $0x00000000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI25_0: - LONG $0x00000001 // .long 1 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - - // .p2align 4, 0x90 -_skip_one: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - LONG $0xdc05280f; WORD $0xffff; BYTE $0xff // movaps $-36(%rip), %xmm0 /* LCPI25_0(%rip) */ - WORD $0x110f; BYTE $0x00 // movups %xmm0, (%rax) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - BYTE $0x5d // popq %rbp - LONG $0xffefb0e9; BYTE $0xff // jmp _fsm_exec, $-4176(%rip) - - // .p2align 4, 0x00 -LCPI26_0: - LONG $0x00000001 // .long 1 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - - // .p2align 4, 0x90 -_validate_one: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x8948; BYTE $0xfe // movq %rdi, %rsi - LONG $0xdc05280f; WORD $0xffff; BYTE $0xff // movaps $-36(%rip), %xmm0 /* LCPI26_0(%rip) */ - WORD $0x110f; BYTE $0x00 // movups %xmm0, (%rax) - LONG $0x000020b9; BYTE $0x00 // movl $32, %ecx - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - BYTE $0x5d // popq %rbp - LONG $0xffef7be9; BYTE $0xff // jmp _fsm_exec, $-4229(%rip) - QUAD $0x0000000000000000; WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI27_0: - QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' - -LCPI27_1: - QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' - -LCPI27_2: - QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' - -LCPI27_3: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI27_4: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - -LCPI27_5: - QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' - -LCPI27_6: - QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' - -LCPI27_7: - QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' - - // .p2align 4, 0x90 -_skip_one_fast: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x58ec8348 // subq $88, %rsp - WORD $0x8b4c; BYTE $0x07 // movq (%rdi), %r8 - LONG $0x084f8b4c // movq $8(%rdi), %r9 - WORD $0x8b48; BYTE $0x16 // movq (%rsi), %rdx - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0x294c; BYTE $0xc8 // subq %r9, %rax - LONG $0x002a830f; WORD $0x0000 // jae LBB27_5, $42(%rip) - LONG $0x100c8a41 // movb (%r8,%rdx), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x001d840f; WORD $0x0000 // je LBB27_5, $29(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x0014840f; WORD $0x0000 // je LBB27_5, $20(%rip) - WORD $0xc180; BYTE $0xf7 // addb $-9, %cl - WORD $0xf980; BYTE $0x01 // cmpb $1, %cl - LONG $0x0008860f; WORD $0x0000 // jbe LBB27_5, $8(%rip) - WORD $0x8949; BYTE $0xd6 // movq %rdx, %r14 - LONG $0x00012ee9; BYTE $0x00 // jmp LBB27_27, $302(%rip) - -LBB27_5: - LONG $0x01728d4c // leaq $1(%rdx), %r14 - WORD $0x394d; BYTE $0xce // cmpq %r9, %r14 - LONG $0x0022830f; WORD $0x0000 // jae LBB27_9, $34(%rip) - LONG $0x300c8a43 // movb (%r8,%r14), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB27_9, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB27_9, $12(%rip) - WORD $0xc180; BYTE $0xf7 // addb $-9, %cl - WORD $0xf980; BYTE $0x01 // cmpb $1, %cl - LONG $0x00ff870f; WORD $0x0000 // ja LBB27_27, $255(%rip) - -LBB27_9: - LONG $0x02728d4c // leaq $2(%rdx), %r14 - WORD $0x394d; BYTE $0xce // cmpq %r9, %r14 - LONG $0x0022830f; WORD $0x0000 // jae LBB27_13, $34(%rip) - LONG $0x300c8a43 // movb (%r8,%r14), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB27_13, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB27_13, $12(%rip) - WORD $0xc180; BYTE $0xf7 // addb $-9, %cl - WORD $0xf980; BYTE $0x01 // cmpb $1, %cl - LONG $0x00d0870f; WORD $0x0000 // ja LBB27_27, $208(%rip) - -LBB27_13: - LONG $0x03728d4c // leaq $3(%rdx), %r14 - WORD $0x394d; BYTE $0xce // cmpq %r9, %r14 - LONG $0x0022830f; WORD $0x0000 // jae LBB27_17, $34(%rip) - LONG $0x300c8a43 // movb (%r8,%r14), %cl - WORD $0xf980; BYTE $0x0d // cmpb $13, %cl - LONG $0x0015840f; WORD $0x0000 // je LBB27_17, $21(%rip) - WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB27_17, $12(%rip) - WORD $0xc180; BYTE $0xf7 // addb $-9, %cl - WORD $0xf980; BYTE $0x01 // cmpb $1, %cl - LONG $0x00a1870f; WORD $0x0000 // ja LBB27_27, $161(%rip) - -LBB27_17: - LONG $0x044a8d48 // leaq $4(%rdx), %rcx - WORD $0x3949; BYTE $0xc9 // cmpq %rcx, %r9 - LONG $0x004e860f; WORD $0x0000 // jbe LBB27_23, $78(%rip) - WORD $0x3949; BYTE $0xc9 // cmpq %rcx, %r9 - LONG $0x0054840f; WORD $0x0000 // je LBB27_24, $84(%rip) - LONG $0x080c8d4b // leaq (%r8,%r9), %rcx - LONG $0x04c08348 // addq $4, %rax - LONG $0x02748d4e; BYTE $0x05 // leaq $5(%rdx,%r8), %r14 - QUAD $0x000100002600ba48; WORD $0x0000 // movabsq $4294977024, %rdx - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB27_20: - LONG $0x5ebe0f41; BYTE $0xff // movsbl $-1(%r14), %ebx - WORD $0xfb83; BYTE $0x20 // cmpl $32, %ebx - LONG $0x0048870f; WORD $0x0000 // ja LBB27_26, $72(%rip) - LONG $0xdaa30f48 // btq %rbx, %rdx - LONG $0x003e830f; WORD $0x0000 // jae LBB27_26, $62(%rip) - WORD $0xff49; BYTE $0xc6 // incq %r14 - WORD $0xff48; BYTE $0xc0 // incq %rax - LONG $0xffdc850f; WORD $0xffff // jne LBB27_20, $-36(%rip) - LONG $0x000012e9; BYTE $0x00 // jmp LBB27_25, $18(%rip) - -LBB27_23: - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x000124e9; BYTE $0x00 // jmp LBB27_44, $292(%rip) - -LBB27_24: - WORD $0x014c; BYTE $0xc1 // addq %r8, %rcx - -LBB27_25: - WORD $0x294c; BYTE $0xc1 // subq %r8, %rcx - WORD $0x8949; BYTE $0xce // movq %rcx, %r14 - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x394d; BYTE $0xce // cmpq %r9, %r14 - LONG $0x001e820f; WORD $0x0000 // jb LBB27_27, $30(%rip) - LONG $0x000106e9; BYTE $0x00 // jmp LBB27_44, $262(%rip) - -LBB27_26: - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x394d; BYTE $0xce // cmpq %r9, %r14 - LONG $0x00ed830f; WORD $0x0000 // jae LBB27_44, $237(%rip) - -LBB27_27: - LONG $0x015e8d49 // leaq $1(%r14), %rbx - WORD $0x8948; BYTE $0x1e // movq %rbx, (%rsi) - LONG $0x0cbe0f43; BYTE $0x30 // movsbl (%r8,%r14), %ecx - WORD $0xf983; BYTE $0x7b // cmpl $123, %ecx - LONG $0x00fa870f; WORD $0x0000 // ja LBB27_46, $250(%rip) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x7a158d48; WORD $0x000b; BYTE $0x00 // leaq $2938(%rip), %rdx /* LJTI27_0(%rip) */ - LONG $0x8a0c6348 // movslq (%rdx,%rcx,4), %rcx - WORD $0x0148; BYTE $0xd1 // addq %rdx, %rcx - JMP CX - -LBB27_29: - LONG $0x08478b48 // movq $8(%rdi), %rax - WORD $0x2948; BYTE $0xd8 // subq %rbx, %rax - WORD $0x014c; BYTE $0xc3 // addq %r8, %rbx - LONG $0x10f88348 // cmpq $16, %rax - LONG $0x0058820f; WORD $0x0000 // jb LBB27_33, $88(%rip) - QUAD $0xfffffdb9056f0f66 // movdqa $-583(%rip), %xmm0 /* LCPI27_0(%rip) */ - QUAD $0xfffffdc10d6f0f66 // movdqa $-575(%rip), %xmm1 /* LCPI27_1(%rip) */ - QUAD $0xfffffdc9156f0f66 // movdqa $-567(%rip), %xmm2 /* LCPI27_2(%rip) */ - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB27_31: - LONG $0x1b6f0ff3 // movdqu (%rbx), %xmm3 - LONG $0xe36f0f66 // movdqa %xmm3, %xmm4 - LONG $0xe0740f66 // pcmpeqb %xmm0, %xmm4 - LONG $0xd9db0f66 // pand %xmm1, %xmm3 - LONG $0xda740f66 // pcmpeqb %xmm2, %xmm3 - LONG $0xdceb0f66 // por %xmm4, %xmm3 - LONG $0xcbd70f66 // pmovmskb %xmm3, %ecx - WORD $0x8566; BYTE $0xc9 // testw %cx, %cx - LONG $0x0054850f; WORD $0x0000 // jne LBB27_41, $84(%rip) - LONG $0x10c38348 // addq $16, %rbx - LONG $0xf0c08348 // addq $-16, %rax - LONG $0x0ff88348 // cmpq $15, %rax - LONG $0xffc9870f; WORD $0xffff // ja LBB27_31, $-55(%rip) - -LBB27_33: - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0031840f; WORD $0x0000 // je LBB27_40, $49(%rip) - LONG $0x030c8d48 // leaq (%rbx,%rax), %rcx - -LBB27_35: - WORD $0xb60f; BYTE $0x13 // movzbl (%rbx), %edx - WORD $0xfa80; BYTE $0x2c // cmpb $44, %dl - LONG $0x0021840f; WORD $0x0000 // je LBB27_40, $33(%rip) - WORD $0xfa80; BYTE $0x7d // cmpb $125, %dl - LONG $0x0018840f; WORD $0x0000 // je LBB27_40, $24(%rip) - WORD $0xfa80; BYTE $0x5d // cmpb $93, %dl - LONG $0x000f840f; WORD $0x0000 // je LBB27_40, $15(%rip) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0xffd6850f; WORD $0xffff // jne LBB27_35, $-42(%rip) - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - -LBB27_40: - WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx - LONG $0x00000de9; BYTE $0x00 // jmp LBB27_42, $13(%rip) - -LBB27_41: - WORD $0xb70f; BYTE $0xc1 // movzwl %cx, %eax - LONG $0xc0bc0f48 // bsfq %rax, %rax - WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - -LBB27_42: - WORD $0x8948; BYTE $0x1e // movq %rbx, (%rsi) - -LBB27_43: - WORD $0x894c; BYTE $0xf0 // movq %r14, %rax - -LBB27_44: - LONG $0x58c48348 // addq $88, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB27_45: - LONG $0x044e8d49 // leaq $4(%r14), %rcx - LONG $0x084f3b48 // cmpq $8(%rdi), %rcx - LONG $0xffe3870f; WORD $0xffff // ja LBB27_44, $-29(%rip) - LONG $0x000560e9; BYTE $0x00 // jmp LBB27_82, $1376(%rip) - -LBB27_46: - WORD $0x894c; BYTE $0x36 // movq %r14, (%rsi) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xffffcfe9; BYTE $0xff // jmp LBB27_44, $-49(%rip) - -LBB27_47: - LONG $0x084f8b4c // movq $8(%rdi), %r9 - WORD $0x894d; BYTE $0xcf // movq %r9, %r15 - WORD $0x2949; BYTE $0xdf // subq %rbx, %r15 - LONG $0x20ff8349 // cmpq $32, %r15 - LONG $0x0a348c0f; WORD $0x0000 // jl LBB27_116, $2612(%rip) - LONG $0xffffba41; WORD $0xffff // movl $4294967295, %r10d - LONG $0x301c8d4f // leaq (%r8,%r14), %r11 - WORD $0x294d; BYTE $0xf1 // subq %r14, %r9 - LONG $0x001fbd41; WORD $0x0000 // movl $31, %r13d - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - QUAD $0xfffffce1056f0f66 // movdqa $-799(%rip), %xmm0 /* LCPI27_3(%rip) */ - QUAD $0xfffffce90d6f0f66 // movdqa $-791(%rip), %xmm1 /* LCPI27_4(%rip) */ - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x000023e9; BYTE $0x00 // jmp LBB27_49, $35(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB27_51: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0xc985 // testl %ecx, %ecx - LONG $0x00a6850f; WORD $0x0000 // jne LBB27_109, $166(%rip) - -LBB27_52: - LONG $0x20c78349 // addq $32, %r15 - LONG $0x294c8d4b; BYTE $0xe0 // leaq $-32(%r9,%r13), %rcx - LONG $0xe0c58349 // addq $-32, %r13 - LONG $0x3ff98348 // cmpq $63, %rcx - LONG $0x09608e0f; WORD $0x0000 // jle LBB27_53, $2400(%rip) - -LBB27_49: - LONG $0x6f0f43f3; WORD $0x3b54; BYTE $0x01 // movdqu $1(%r11,%r15), %xmm2 - LONG $0x6f0f43f3; WORD $0x3b5c; BYTE $0x11 // movdqu $17(%r11,%r15), %xmm3 - LONG $0xe26f0f66 // movdqa %xmm2, %xmm4 - LONG $0xe0740f66 // pcmpeqb %xmm0, %xmm4 - LONG $0xfcd70f66 // pmovmskb %xmm4, %edi - LONG $0xe36f0f66 // movdqa %xmm3, %xmm4 - LONG $0xe0740f66 // pcmpeqb %xmm0, %xmm4 - LONG $0xccd70f66 // pmovmskb %xmm4, %ecx - LONG $0x10e1c148 // shlq $16, %rcx - WORD $0x0948; BYTE $0xf9 // orq %rdi, %rcx - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xdad70f66 // pmovmskb %xmm2, %ebx - LONG $0xd9740f66 // pcmpeqb %xmm1, %xmm3 - LONG $0xfbd70f66 // pmovmskb %xmm3, %edi - LONG $0x10e7c148 // shlq $16, %rdi - WORD $0x0948; BYTE $0xdf // orq %rbx, %rdi - WORD $0x8948; BYTE $0xfb // movq %rdi, %rbx - WORD $0x094c; BYTE $0xe3 // orq %r12, %rbx - LONG $0xff8e840f; WORD $0xffff // je LBB27_51, $-114(%rip) - WORD $0x8944; BYTE $0xe3 // movl %r12d, %ebx - WORD $0x3144; BYTE $0xd3 // xorl %r10d, %ebx - WORD $0xdf21 // andl %ebx, %edi - WORD $0x1c8d; BYTE $0x3f // leal (%rdi,%rdi), %ebx - WORD $0x0944; BYTE $0xe3 // orl %r12d, %ebx - LONG $0xab928d41; WORD $0xaaaa; BYTE $0xaa // leal $-1431655765(%r10), %edx - WORD $0xda31 // xorl %ebx, %edx - WORD $0xfa21 // andl %edi, %edx - LONG $0xaaaae281; WORD $0xaaaa // andl $-1431655766, %edx - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0xfa01 // addl %edi, %edx - LONG $0xc4920f41 // setb %r12b - WORD $0xd201 // addl %edx, %edx - LONG $0x5555f281; WORD $0x5555 // xorl $1431655765, %edx - WORD $0xda21 // andl %ebx, %edx - WORD $0x3144; BYTE $0xd2 // xorl %r10d, %edx - WORD $0xd121 // andl %edx, %ecx - WORD $0xc985 // testl %ecx, %ecx - LONG $0xff5a840f; WORD $0xffff // je LBB27_52, $-166(%rip) - -LBB27_109: - LONG $0xc1bc0f48 // bsfq %rcx, %rax - WORD $0x0149; BYTE $0xc3 // addq %rax, %r11 - WORD $0x014d; BYTE $0xfb // addq %r15, %r11 - WORD $0x294d; BYTE $0xc3 // subq %r8, %r11 - LONG $0x02c38349 // addq $2, %r11 - WORD $0x894c; BYTE $0x1e // movq %r11, (%rsi) - LONG $0xfffebfe9; BYTE $0xff // jmp LBB27_43, $-321(%rip) - -LBB27_56: - QUAD $0x555555555555bd49; WORD $0x5555 // movabsq $6148914691236517205, %r13 - LONG $0x084f8b48 // movq $8(%rdi), %rcx - WORD $0x2948; BYTE $0xd9 // subq %rbx, %rcx - WORD $0x0149; BYTE $0xd8 // addq %rbx, %r8 - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - QUAD $0xfffbf6156f0f4466; BYTE $0xff // movdqa $-1034(%rip), %xmm10 /* LCPI27_4(%rip) */ - QUAD $0xfffffbde0d6f0f66 // movdqa $-1058(%rip), %xmm1 /* LCPI27_3(%rip) */ - LONG $0x760f4566; BYTE $0xc9 // pcmpeqd %xmm9, %xmm9 - QUAD $0xfffffc111d6f0f66 // movdqa $-1007(%rip), %xmm3 /* LCPI27_7(%rip) */ - QUAD $0xfffffbb9256f0f66 // movdqa $-1095(%rip), %xmm4 /* LCPI27_2(%rip) */ - LONG $0xc0570f45 // xorps %xmm8, %xmm8 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0xd231 // xorl %edx, %edx - LONG $0xc0558948 // movq %rdx, $-64(%rbp) - WORD $0x3145; BYTE $0xdb // xorl %r11d, %r11d - LONG $0x000060e9; BYTE $0x00 // jmp LBB27_58, $96(%rip) - -LBB27_57: - LONG $0x3ff9c149 // sarq $63, %r9 - WORD $0x894c; BYTE $0xf9 // movq %r15, %rcx - WORD $0xd148; BYTE $0xe9 // shrq %rcx - WORD $0x214c; BYTE $0xe9 // andq %r13, %rcx - WORD $0x2949; BYTE $0xcf // subq %rcx, %r15 - WORD $0x894c; BYTE $0xf9 // movq %r15, %rcx - WORD $0x214c; BYTE $0xd1 // andq %r10, %rcx - LONG $0x02efc149 // shrq $2, %r15 - WORD $0x214d; BYTE $0xd7 // andq %r10, %r15 - WORD $0x0149; BYTE $0xcf // addq %rcx, %r15 - WORD $0x894c; BYTE $0xf9 // movq %r15, %rcx - LONG $0x04e9c148 // shrq $4, %rcx - WORD $0x014c; BYTE $0xf9 // addq %r15, %rcx - QUAD $0x0f0f0f0f0f0fba48; WORD $0x0f0f // movabsq $1085102592571150095, %rdx - WORD $0x2148; BYTE $0xd1 // andq %rdx, %rcx - QUAD $0x010101010101ba48; WORD $0x0101 // movabsq $72340172838076673, %rdx - LONG $0xcaaf0f48 // imulq %rdx, %rcx - LONG $0x38e9c148 // shrq $56, %rcx - LONG $0xc04d0148 // addq %rcx, $-64(%rbp) - LONG $0x40c08349 // addq $64, %r8 - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0xc0c18348 // addq $-64, %rcx - WORD $0x894d; BYTE $0xcf // movq %r9, %r15 - LONG $0xc8558b4c // movq $-56(%rbp), %r10 - -LBB27_58: - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - LONG $0x02348c0f; WORD $0x0000 // jl LBB27_65, $564(%rip) - -LBB27_59: - LONG $0x6f0f41f3; BYTE $0x00 // movdqu (%r8), %xmm0 - LONG $0x6f0f41f3; WORD $0x1068 // movdqu $16(%r8), %xmm5 - LONG $0x6f0f41f3; WORD $0x2078 // movdqu $32(%r8), %xmm7 - LONG $0x6f0f41f3; WORD $0x3070 // movdqu $48(%r8), %xmm6 - LONG $0xd06f0f66 // movdqa %xmm0, %xmm2 - LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xd2d70f66 // pmovmskb %xmm2, %edx - LONG $0xd56f0f66 // movdqa %xmm5, %xmm2 - LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xd70f4466; BYTE $0xca // pmovmskb %xmm2, %r9d - LONG $0xd76f0f66 // movdqa %xmm7, %xmm2 - LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xdad70f66 // pmovmskb %xmm2, %ebx - LONG $0xd66f0f66 // movdqa %xmm6, %xmm2 - LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xcad70f66 // pmovmskb %xmm2, %ecx - LONG $0x30e1c148 // shlq $48, %rcx - LONG $0x20e3c148 // shlq $32, %rbx - LONG $0x10e1c149 // shlq $16, %r9 - WORD $0x094c; BYTE $0xca // orq %r9, %rdx - WORD $0x0948; BYTE $0xda // orq %rbx, %rdx - WORD $0x0948; BYTE $0xca // orq %rcx, %rdx - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x094c; BYTE $0xd1 // orq %r10, %rcx - LONG $0x0043840f; WORD $0x0000 // je LBB27_61, $67(%rip) - WORD $0x894c; BYTE $0xd1 // movq %r10, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x2148; BYTE $0xd1 // andq %rdx, %rcx - LONG $0x090c8d4c // leaq (%rcx,%rcx), %r9 - WORD $0x094d; BYTE $0xd1 // orq %r10, %r9 - WORD $0x894d; BYTE $0xca // movq %r9, %r10 - QUAD $0xaaaaaaaaaaaabb48; WORD $0xaaaa // movabsq $-6148914691236517206, %rbx - WORD $0x3149; BYTE $0xda // xorq %rbx, %r10 - WORD $0x2148; BYTE $0xda // andq %rbx, %rdx - WORD $0x214c; BYTE $0xd2 // andq %r10, %rdx - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0x0148; BYTE $0xca // addq %rcx, %rdx - WORD $0x920f; BYTE $0xc3 // setb %bl - LONG $0xc85d8948 // movq %rbx, $-56(%rbp) - WORD $0x0148; BYTE $0xd2 // addq %rdx, %rdx - WORD $0x314c; BYTE $0xea // xorq %r13, %rdx - WORD $0x214c; BYTE $0xca // andq %r9, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - LONG $0x00000de9; BYTE $0x00 // jmp LBB27_62, $13(%rip) - -LBB27_61: - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0xc931 // xorl %ecx, %ecx - LONG $0xc84d8948 // movq %rcx, $-56(%rbp) - -LBB27_62: - LONG $0xd56f0f66 // movdqa %xmm5, %xmm2 - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xcad70f66 // pmovmskb %xmm2, %ecx - LONG $0x10e1c148 // shlq $16, %rcx - LONG $0xd06f0f66 // movdqa %xmm0, %xmm2 - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xdad70f66 // pmovmskb %xmm2, %ebx - WORD $0x0948; BYTE $0xcb // orq %rcx, %rbx - LONG $0xd76f0f66 // movdqa %xmm7, %xmm2 - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xcad70f66 // pmovmskb %xmm2, %ecx - LONG $0x20e1c148 // shlq $32, %rcx - WORD $0x0948; BYTE $0xd9 // orq %rbx, %rcx - LONG $0xd66f0f66 // movdqa %xmm6, %xmm2 - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xdad70f66 // pmovmskb %xmm2, %ebx - LONG $0x30e3c148 // shlq $48, %rbx - WORD $0x0948; BYTE $0xcb // orq %rcx, %rbx - WORD $0x2148; BYTE $0xd3 // andq %rdx, %rbx - LONG $0x6e0f4866; BYTE $0xd3 // movq %rbx, %xmm2 - LONG $0x3a0f4166; WORD $0xd144; BYTE $0x00 // pclmulqdq $0, %xmm9, %xmm2 - LONG $0x7e0f4966; BYTE $0xd1 // movq %xmm2, %r9 - WORD $0x314d; BYTE $0xf9 // xorq %r15, %r9 - LONG $0xd06f0f66 // movdqa %xmm0, %xmm2 - LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xd70f4466; BYTE $0xfa // pmovmskb %xmm2, %r15d - LONG $0xd56f0f66 // movdqa %xmm5, %xmm2 - LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xd70f4466; BYTE $0xe2 // pmovmskb %xmm2, %r12d - LONG $0xd76f0f66 // movdqa %xmm7, %xmm2 - LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xdad70f66 // pmovmskb %xmm2, %ebx - LONG $0xd66f0f66 // movdqa %xmm6, %xmm2 - LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xcad70f66 // pmovmskb %xmm2, %ecx - LONG $0x30e1c148 // shlq $48, %rcx - LONG $0x20e3c148 // shlq $32, %rbx - LONG $0x10e4c149 // shlq $16, %r12 - WORD $0x094d; BYTE $0xe7 // orq %r12, %r15 - WORD $0x0949; BYTE $0xdf // orq %rbx, %r15 - WORD $0x0949; BYTE $0xcf // orq %rcx, %r15 - WORD $0x894c; BYTE $0xc9 // movq %r9, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x2149; BYTE $0xcf // andq %rcx, %r15 - LONG $0xc4740f66 // pcmpeqb %xmm4, %xmm0 - LONG $0xd70f4466; BYTE $0xe0 // pmovmskb %xmm0, %r12d - LONG $0xec740f66 // pcmpeqb %xmm4, %xmm5 - LONG $0xddd70f66 // pmovmskb %xmm5, %ebx - LONG $0xfc740f66 // pcmpeqb %xmm4, %xmm7 - LONG $0xd70f4466; BYTE $0xd7 // pmovmskb %xmm7, %r10d - LONG $0xf4740f66 // pcmpeqb %xmm4, %xmm6 - LONG $0xd70f4466; BYTE $0xee // pmovmskb %xmm6, %r13d - LONG $0x30e5c149 // shlq $48, %r13 - LONG $0x20e2c149 // shlq $32, %r10 - LONG $0x10e3c148 // shlq $16, %rbx - WORD $0x0949; BYTE $0xdc // orq %rbx, %r12 - WORD $0x094d; BYTE $0xd4 // orq %r10, %r12 - WORD $0x094d; BYTE $0xec // orq %r13, %r12 - QUAD $0x555555555555bd49; WORD $0x5555 // movabsq $6148914691236517205, %r13 - QUAD $0x333333333333ba49; WORD $0x3333 // movabsq $3689348814741910323, %r10 - WORD $0x2149; BYTE $0xcc // andq %rcx, %r12 - LONG $0xfdd4840f; WORD $0xffff // je LBB27_57, $-556(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB27_63: - LONG $0x24548d49; BYTE $0xff // leaq $-1(%r12), %rdx - WORD $0x8948; BYTE $0xd3 // movq %rdx, %rbx - WORD $0x214c; BYTE $0xfb // andq %r15, %rbx - WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx - WORD $0xd148; BYTE $0xe9 // shrq %rcx - WORD $0x214c; BYTE $0xe9 // andq %r13, %rcx - WORD $0x2948; BYTE $0xcb // subq %rcx, %rbx - WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx - WORD $0x214c; BYTE $0xd1 // andq %r10, %rcx - LONG $0x02ebc148 // shrq $2, %rbx - WORD $0x214c; BYTE $0xd3 // andq %r10, %rbx - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx - LONG $0x04e9c148 // shrq $4, %rcx - WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx - QUAD $0x0f0f0f0f0f0fbb48; WORD $0x0f0f // movabsq $1085102592571150095, %rbx - WORD $0x2148; BYTE $0xd9 // andq %rbx, %rcx - QUAD $0x010101010101bb48; WORD $0x0101 // movabsq $72340172838076673, %rbx - LONG $0xcbaf0f48 // imulq %rbx, %rcx - LONG $0x38e9c148 // shrq $56, %rcx - LONG $0xc04d0348 // addq $-64(%rbp), %rcx - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x05a3860f; WORD $0x0000 // jbe LBB27_108, $1443(%rip) - WORD $0xff49; BYTE $0xc3 // incq %r11 - WORD $0x2149; BYTE $0xd4 // andq %rdx, %r12 - LONG $0xff97850f; WORD $0xffff // jne LBB27_63, $-105(%rip) - LONG $0xfffd5ee9; BYTE $0xff // jmp LBB27_57, $-674(%rip) - -LBB27_65: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x06468e0f; WORD $0x0000 // jle LBB27_117, $1606(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - LONG $0x45110f44; BYTE $0xb0 // movups %xmm8, $-80(%rbp) - LONG $0x45110f44; BYTE $0xa0 // movups %xmm8, $-96(%rbp) - LONG $0x45110f44; BYTE $0x90 // movups %xmm8, $-112(%rbp) - LONG $0x45110f44; BYTE $0x80 // movups %xmm8, $-128(%rbp) - WORD $0x8944; BYTE $0xc1 // movl %r8d, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0fc1f981; WORD $0x0000 // cmpl $4033, %ecx - LONG $0x0031820f; WORD $0x0000 // jb LBB27_69, $49(%rip) - LONG $0xd07d8348; BYTE $0x20 // cmpq $32, $-48(%rbp) - LONG $0x0038820f; WORD $0x0000 // jb LBB27_70, $56(%rip) - LONG $0x00100f41 // movups (%r8), %xmm0 - LONG $0x8045110f // movups %xmm0, $-128(%rbp) - LONG $0x40100f41; BYTE $0x10 // movups $16(%r8), %xmm0 - LONG $0x9045110f // movups %xmm0, $-112(%rbp) - LONG $0x20c08349 // addq $32, %r8 - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0xe0518d48 // leaq $-32(%rcx), %rdx - LONG $0xa04d8d4c // leaq $-96(%rbp), %r9 - LONG $0x00001ae9; BYTE $0x00 // jmp LBB27_71, $26(%rip) - -LBB27_69: - QUAD $0x555555555555bd49; WORD $0x5555 // movabsq $6148914691236517205, %r13 - WORD $0x8949; BYTE $0xda // movq %rbx, %r10 - LONG $0xfffd54e9; BYTE $0xff // jmp LBB27_59, $-684(%rip) - -LBB27_70: - LONG $0x804d8d4c // leaq $-128(%rbp), %r9 - LONG $0xd0558b48 // movq $-48(%rbp), %rdx - -LBB27_71: - LONG $0x10fa8348 // cmpq $16, %rdx - LONG $0x0049820f; WORD $0x0000 // jb LBB27_72, $73(%rip) - LONG $0x00100f41 // movups (%r8), %xmm0 - LONG $0x01110f41 // movups %xmm0, (%r9) - LONG $0x10c08349 // addq $16, %r8 - LONG $0x10c18349 // addq $16, %r9 - LONG $0xf0c28348 // addq $-16, %rdx - LONG $0x08fa8348 // cmpq $8, %rdx - LONG $0x0035830f; WORD $0x0000 // jae LBB27_79, $53(%rip) - -LBB27_73: - LONG $0x04fa8348 // cmpq $4, %rdx - LONG $0x00478c0f; WORD $0x0000 // jl LBB27_74, $71(%rip) - -LBB27_80: - WORD $0x8b41; BYTE $0x08 // movl (%r8), %ecx - WORD $0x8941; BYTE $0x09 // movl %ecx, (%r9) - LONG $0x04c08349 // addq $4, %r8 - LONG $0x04c18349 // addq $4, %r9 - LONG $0xfcc28348 // addq $-4, %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0035830f; WORD $0x0000 // jae LBB27_75, $53(%rip) - LONG $0x000044e9; BYTE $0x00 // jmp LBB27_76, $68(%rip) - -LBB27_72: - LONG $0x08fa8348 // cmpq $8, %rdx - LONG $0xffcb820f; WORD $0xffff // jb LBB27_73, $-53(%rip) - -LBB27_79: - WORD $0x8b49; BYTE $0x08 // movq (%r8), %rcx - WORD $0x8949; BYTE $0x09 // movq %rcx, (%r9) - LONG $0x08c08349 // addq $8, %r8 - LONG $0x08c18349 // addq $8, %r9 - LONG $0xf8c28348 // addq $-8, %rdx - LONG $0x04fa8348 // cmpq $4, %rdx - LONG $0xffb98d0f; WORD $0xffff // jge LBB27_80, $-71(%rip) - -LBB27_74: - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0014820f; WORD $0x0000 // jb LBB27_76, $20(%rip) - -LBB27_75: - LONG $0x08b70f41 // movzwl (%r8), %ecx - LONG $0x09894166 // movw %cx, (%r9) - LONG $0x02c08349 // addq $2, %r8 - LONG $0x02c18349 // addq $2, %r9 - LONG $0xfec28348 // addq $-2, %rdx - -LBB27_76: - WORD $0x894c; BYTE $0xc1 // movq %r8, %rcx - LONG $0x80458d4c // leaq $-128(%rbp), %r8 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - QUAD $0x555555555555bd49; WORD $0x5555 // movabsq $6148914691236517205, %r13 - WORD $0x8949; BYTE $0xda // movq %rbx, %r10 - LONG $0xfc98840f; WORD $0xffff // je LBB27_59, $-872(%rip) - WORD $0x098a // movb (%rcx), %cl - WORD $0x8841; BYTE $0x09 // movb %cl, (%r9) - LONG $0x80458d4c // leaq $-128(%rbp), %r8 - LONG $0xfffc8ae9; BYTE $0xff // jmp LBB27_59, $-886(%rip) - -LBB27_81: - LONG $0x054e8d49 // leaq $5(%r14), %rcx - LONG $0x084f3b48 // cmpq $8(%rdi), %rcx - LONG $0xfa7e870f; WORD $0xffff // ja LBB27_44, $-1410(%rip) - -LBB27_82: - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfffa73e9; BYTE $0xff // jmp LBB27_43, $-1421(%rip) - -LBB27_83: - QUAD $0x555555555555bd49; WORD $0x5555 // movabsq $6148914691236517205, %r13 - LONG $0x084f8b48 // movq $8(%rdi), %rcx - WORD $0x2948; BYTE $0xd9 // subq %rbx, %rcx - WORD $0x0149; BYTE $0xd8 // addq %rbx, %r8 - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - QUAD $0xfff7aa156f0f4466; BYTE $0xff // movdqa $-2134(%rip), %xmm10 /* LCPI27_4(%rip) */ - QUAD $0xfffff7920d6f0f66 // movdqa $-2158(%rip), %xmm1 /* LCPI27_3(%rip) */ - LONG $0x760f4566; BYTE $0xc9 // pcmpeqd %xmm9, %xmm9 - QUAD $0xfffff7a51d6f0f66 // movdqa $-2139(%rip), %xmm3 /* LCPI27_5(%rip) */ - QUAD $0xfffff7ad256f0f66 // movdqa $-2131(%rip), %xmm4 /* LCPI27_6(%rip) */ - LONG $0xc0570f45 // xorps %xmm8, %xmm8 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0xd231 // xorl %edx, %edx - LONG $0xc0558948 // movq %rdx, $-64(%rbp) - WORD $0x3145; BYTE $0xdb // xorl %r11d, %r11d - LONG $0x000060e9; BYTE $0x00 // jmp LBB27_85, $96(%rip) - -LBB27_84: - LONG $0x3ff9c149 // sarq $63, %r9 - WORD $0x894c; BYTE $0xf9 // movq %r15, %rcx - WORD $0xd148; BYTE $0xe9 // shrq %rcx - WORD $0x214c; BYTE $0xe9 // andq %r13, %rcx - WORD $0x2949; BYTE $0xcf // subq %rcx, %r15 - WORD $0x894c; BYTE $0xf9 // movq %r15, %rcx - WORD $0x214c; BYTE $0xd1 // andq %r10, %rcx - LONG $0x02efc149 // shrq $2, %r15 - WORD $0x214d; BYTE $0xd7 // andq %r10, %r15 - WORD $0x0149; BYTE $0xcf // addq %rcx, %r15 - WORD $0x894c; BYTE $0xf9 // movq %r15, %rcx - LONG $0x04e9c148 // shrq $4, %rcx - WORD $0x014c; BYTE $0xf9 // addq %r15, %rcx - QUAD $0x0f0f0f0f0f0fba48; WORD $0x0f0f // movabsq $1085102592571150095, %rdx - WORD $0x2148; BYTE $0xd1 // andq %rdx, %rcx - QUAD $0x010101010101ba48; WORD $0x0101 // movabsq $72340172838076673, %rdx - LONG $0xcaaf0f48 // imulq %rdx, %rcx - LONG $0x38e9c148 // shrq $56, %rcx - LONG $0xc04d0148 // addq %rcx, $-64(%rbp) - LONG $0x40c08349 // addq $64, %r8 - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0xc0c18348 // addq $-64, %rcx - WORD $0x894d; BYTE $0xcf // movq %r9, %r15 - LONG $0xc8558b4c // movq $-56(%rbp), %r10 - -LBB27_85: - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - LONG $0x02388c0f; WORD $0x0000 // jl LBB27_92, $568(%rip) - -LBB27_86: - LONG $0x6f0f41f3; BYTE $0x00 // movdqu (%r8), %xmm0 - LONG $0x6f0f41f3; WORD $0x1068 // movdqu $16(%r8), %xmm5 - LONG $0x6f0f41f3; WORD $0x2078 // movdqu $32(%r8), %xmm7 - LONG $0x6f0f41f3; WORD $0x3070 // movdqu $48(%r8), %xmm6 - LONG $0xd06f0f66 // movdqa %xmm0, %xmm2 - LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xd2d70f66 // pmovmskb %xmm2, %edx - LONG $0xd56f0f66 // movdqa %xmm5, %xmm2 - LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xd70f4466; BYTE $0xca // pmovmskb %xmm2, %r9d - LONG $0xd76f0f66 // movdqa %xmm7, %xmm2 - LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xdad70f66 // pmovmskb %xmm2, %ebx - LONG $0xd66f0f66 // movdqa %xmm6, %xmm2 - LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xcad70f66 // pmovmskb %xmm2, %ecx - LONG $0x30e1c148 // shlq $48, %rcx - LONG $0x20e3c148 // shlq $32, %rbx - LONG $0x10e1c149 // shlq $16, %r9 - WORD $0x094c; BYTE $0xca // orq %r9, %rdx - WORD $0x0948; BYTE $0xda // orq %rbx, %rdx - WORD $0x0948; BYTE $0xca // orq %rcx, %rdx - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x094c; BYTE $0xd1 // orq %r10, %rcx - LONG $0x0043840f; WORD $0x0000 // je LBB27_88, $67(%rip) - WORD $0x894c; BYTE $0xd1 // movq %r10, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x2148; BYTE $0xd1 // andq %rdx, %rcx - LONG $0x090c8d4c // leaq (%rcx,%rcx), %r9 - WORD $0x094d; BYTE $0xd1 // orq %r10, %r9 - WORD $0x894d; BYTE $0xca // movq %r9, %r10 - QUAD $0xaaaaaaaaaaaabb48; WORD $0xaaaa // movabsq $-6148914691236517206, %rbx - WORD $0x3149; BYTE $0xda // xorq %rbx, %r10 - WORD $0x2148; BYTE $0xda // andq %rbx, %rdx - WORD $0x214c; BYTE $0xd2 // andq %r10, %rdx - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0x0148; BYTE $0xca // addq %rcx, %rdx - WORD $0x920f; BYTE $0xc3 // setb %bl - LONG $0xc85d8948 // movq %rbx, $-56(%rbp) - WORD $0x0148; BYTE $0xd2 // addq %rdx, %rdx - WORD $0x314c; BYTE $0xea // xorq %r13, %rdx - WORD $0x214c; BYTE $0xca // andq %r9, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - LONG $0x00000de9; BYTE $0x00 // jmp LBB27_89, $13(%rip) - -LBB27_88: - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0xc931 // xorl %ecx, %ecx - LONG $0xc84d8948 // movq %rcx, $-56(%rbp) - -LBB27_89: - LONG $0xd56f0f66 // movdqa %xmm5, %xmm2 - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xcad70f66 // pmovmskb %xmm2, %ecx - LONG $0x10e1c148 // shlq $16, %rcx - LONG $0xd06f0f66 // movdqa %xmm0, %xmm2 - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xdad70f66 // pmovmskb %xmm2, %ebx - WORD $0x0948; BYTE $0xcb // orq %rcx, %rbx - LONG $0xd76f0f66 // movdqa %xmm7, %xmm2 - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xcad70f66 // pmovmskb %xmm2, %ecx - LONG $0x20e1c148 // shlq $32, %rcx - WORD $0x0948; BYTE $0xd9 // orq %rbx, %rcx - LONG $0xd66f0f66 // movdqa %xmm6, %xmm2 - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xdad70f66 // pmovmskb %xmm2, %ebx - LONG $0x30e3c148 // shlq $48, %rbx - WORD $0x0948; BYTE $0xcb // orq %rcx, %rbx - WORD $0x2148; BYTE $0xd3 // andq %rdx, %rbx - LONG $0x6e0f4866; BYTE $0xd3 // movq %rbx, %xmm2 - LONG $0x3a0f4166; WORD $0xd144; BYTE $0x00 // pclmulqdq $0, %xmm9, %xmm2 - LONG $0x7e0f4966; BYTE $0xd1 // movq %xmm2, %r9 - WORD $0x314d; BYTE $0xf9 // xorq %r15, %r9 - LONG $0xd06f0f66 // movdqa %xmm0, %xmm2 - LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xd70f4466; BYTE $0xfa // pmovmskb %xmm2, %r15d - LONG $0xd56f0f66 // movdqa %xmm5, %xmm2 - LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xd70f4466; BYTE $0xe2 // pmovmskb %xmm2, %r12d - LONG $0xd76f0f66 // movdqa %xmm7, %xmm2 - LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xdad70f66 // pmovmskb %xmm2, %ebx - LONG $0xd66f0f66 // movdqa %xmm6, %xmm2 - LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xcad70f66 // pmovmskb %xmm2, %ecx - LONG $0x30e1c148 // shlq $48, %rcx - LONG $0x20e3c148 // shlq $32, %rbx - LONG $0x10e4c149 // shlq $16, %r12 - WORD $0x094d; BYTE $0xe7 // orq %r12, %r15 - WORD $0x0949; BYTE $0xdf // orq %rbx, %r15 - WORD $0x0949; BYTE $0xcf // orq %rcx, %r15 - WORD $0x894c; BYTE $0xc9 // movq %r9, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x2149; BYTE $0xcf // andq %rcx, %r15 - LONG $0xc4740f66 // pcmpeqb %xmm4, %xmm0 - LONG $0xd70f4466; BYTE $0xe0 // pmovmskb %xmm0, %r12d - LONG $0xec740f66 // pcmpeqb %xmm4, %xmm5 - LONG $0xddd70f66 // pmovmskb %xmm5, %ebx - LONG $0xfc740f66 // pcmpeqb %xmm4, %xmm7 - LONG $0xd70f4466; BYTE $0xd7 // pmovmskb %xmm7, %r10d - LONG $0xf4740f66 // pcmpeqb %xmm4, %xmm6 - LONG $0xd70f4466; BYTE $0xee // pmovmskb %xmm6, %r13d - LONG $0x30e5c149 // shlq $48, %r13 - LONG $0x20e2c149 // shlq $32, %r10 - LONG $0x10e3c148 // shlq $16, %rbx - WORD $0x0949; BYTE $0xdc // orq %rbx, %r12 - WORD $0x094d; BYTE $0xd4 // orq %r10, %r12 - WORD $0x094d; BYTE $0xec // orq %r13, %r12 - QUAD $0x555555555555bd49; WORD $0x5555 // movabsq $6148914691236517205, %r13 - QUAD $0x333333333333ba49; WORD $0x3333 // movabsq $3689348814741910323, %r10 - WORD $0x2149; BYTE $0xcc // andq %rcx, %r12 - LONG $0xfdd4840f; WORD $0xffff // je LBB27_84, $-556(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB27_90: - LONG $0x24548d49; BYTE $0xff // leaq $-1(%r12), %rdx - WORD $0x8948; BYTE $0xd3 // movq %rdx, %rbx - WORD $0x214c; BYTE $0xfb // andq %r15, %rbx - WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx - WORD $0xd148; BYTE $0xe9 // shrq %rcx - WORD $0x214c; BYTE $0xe9 // andq %r13, %rcx - WORD $0x2948; BYTE $0xcb // subq %rcx, %rbx - WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx - WORD $0x214c; BYTE $0xd1 // andq %r10, %rcx - LONG $0x02ebc148 // shrq $2, %rbx - WORD $0x214c; BYTE $0xd3 // andq %r10, %rbx - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx - LONG $0x04e9c148 // shrq $4, %rcx - WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx - QUAD $0x0f0f0f0f0f0fbb48; WORD $0x0f0f // movabsq $1085102592571150095, %rbx - WORD $0x2148; BYTE $0xd9 // andq %rbx, %rcx - QUAD $0x010101010101bb48; WORD $0x0101 // movabsq $72340172838076673, %rbx - LONG $0xcbaf0f48 // imulq %rbx, %rcx - LONG $0x38e9c148 // shrq $56, %rcx - LONG $0xc04d0348 // addq $-64(%rbp), %rcx - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x0153860f; WORD $0x0000 // jbe LBB27_108, $339(%rip) - WORD $0xff49; BYTE $0xc3 // incq %r11 - WORD $0x2149; BYTE $0xd4 // andq %rdx, %r12 - LONG $0xff97850f; WORD $0xffff // jne LBB27_90, $-105(%rip) - LONG $0xfffd5ae9; BYTE $0xff // jmp LBB27_84, $-678(%rip) - -LBB27_92: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x01f68e0f; WORD $0x0000 // jle LBB27_117, $502(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - LONG $0x45110f44; BYTE $0xb0 // movups %xmm8, $-80(%rbp) - LONG $0x45110f44; BYTE $0xa0 // movups %xmm8, $-96(%rbp) - LONG $0x45110f44; BYTE $0x90 // movups %xmm8, $-112(%rbp) - LONG $0x45110f44; BYTE $0x80 // movups %xmm8, $-128(%rbp) - WORD $0x8944; BYTE $0xc1 // movl %r8d, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0fc1f981; WORD $0x0000 // cmpl $4033, %ecx - LONG $0x0031820f; WORD $0x0000 // jb LBB27_96, $49(%rip) - LONG $0xd07d8348; BYTE $0x20 // cmpq $32, $-48(%rbp) - LONG $0x0038820f; WORD $0x0000 // jb LBB27_97, $56(%rip) - LONG $0x00100f41 // movups (%r8), %xmm0 - LONG $0x8045110f // movups %xmm0, $-128(%rbp) - LONG $0x40100f41; BYTE $0x10 // movups $16(%r8), %xmm0 - LONG $0x9045110f // movups %xmm0, $-112(%rbp) - LONG $0x20c08349 // addq $32, %r8 - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0xe0518d48 // leaq $-32(%rcx), %rdx - LONG $0xa04d8d4c // leaq $-96(%rbp), %r9 - LONG $0x00001ae9; BYTE $0x00 // jmp LBB27_98, $26(%rip) - -LBB27_96: - QUAD $0x555555555555bd49; WORD $0x5555 // movabsq $6148914691236517205, %r13 - WORD $0x8949; BYTE $0xda // movq %rbx, %r10 - LONG $0xfffd50e9; BYTE $0xff // jmp LBB27_86, $-688(%rip) - -LBB27_97: - LONG $0x804d8d4c // leaq $-128(%rbp), %r9 - LONG $0xd0558b48 // movq $-48(%rbp), %rdx - -LBB27_98: - LONG $0x10fa8348 // cmpq $16, %rdx - LONG $0x0049820f; WORD $0x0000 // jb LBB27_99, $73(%rip) - LONG $0x00100f41 // movups (%r8), %xmm0 - LONG $0x01110f41 // movups %xmm0, (%r9) - LONG $0x10c08349 // addq $16, %r8 - LONG $0x10c18349 // addq $16, %r9 - LONG $0xf0c28348 // addq $-16, %rdx - LONG $0x08fa8348 // cmpq $8, %rdx - LONG $0x0035830f; WORD $0x0000 // jae LBB27_106, $53(%rip) - -LBB27_100: - LONG $0x04fa8348 // cmpq $4, %rdx - LONG $0x00478c0f; WORD $0x0000 // jl LBB27_101, $71(%rip) - -LBB27_107: - WORD $0x8b41; BYTE $0x08 // movl (%r8), %ecx - WORD $0x8941; BYTE $0x09 // movl %ecx, (%r9) - LONG $0x04c08349 // addq $4, %r8 - LONG $0x04c18349 // addq $4, %r9 - LONG $0xfcc28348 // addq $-4, %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0035830f; WORD $0x0000 // jae LBB27_102, $53(%rip) - LONG $0x000044e9; BYTE $0x00 // jmp LBB27_103, $68(%rip) - -LBB27_99: - LONG $0x08fa8348 // cmpq $8, %rdx - LONG $0xffcb820f; WORD $0xffff // jb LBB27_100, $-53(%rip) - -LBB27_106: - WORD $0x8b49; BYTE $0x08 // movq (%r8), %rcx - WORD $0x8949; BYTE $0x09 // movq %rcx, (%r9) - LONG $0x08c08349 // addq $8, %r8 - LONG $0x08c18349 // addq $8, %r9 - LONG $0xf8c28348 // addq $-8, %rdx - LONG $0x04fa8348 // cmpq $4, %rdx - LONG $0xffb98d0f; WORD $0xffff // jge LBB27_107, $-71(%rip) - -LBB27_101: - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0014820f; WORD $0x0000 // jb LBB27_103, $20(%rip) - -LBB27_102: - LONG $0x08b70f41 // movzwl (%r8), %ecx - LONG $0x09894166 // movw %cx, (%r9) - LONG $0x02c08349 // addq $2, %r8 - LONG $0x02c18349 // addq $2, %r9 - LONG $0xfec28348 // addq $-2, %rdx - -LBB27_103: - WORD $0x894c; BYTE $0xc1 // movq %r8, %rcx - LONG $0x80458d4c // leaq $-128(%rbp), %r8 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - QUAD $0x555555555555bd49; WORD $0x5555 // movabsq $6148914691236517205, %r13 - WORD $0x8949; BYTE $0xda // movq %rbx, %r10 - LONG $0xfc94840f; WORD $0xffff // je LBB27_86, $-876(%rip) - WORD $0x098a // movb (%rcx), %cl - WORD $0x8841; BYTE $0x09 // movb %cl, (%r9) - LONG $0x80458d4c // leaq $-128(%rbp), %r8 - LONG $0xfffc86e9; BYTE $0xff // jmp LBB27_86, $-890(%rip) - -LBB27_108: - LONG $0x08478b48 // movq $8(%rdi), %rax - LONG $0xccbc0f49 // bsfq %r12, %rcx - LONG $0xd04d2b48 // subq $-48(%rbp), %rcx - LONG $0x01448d48; BYTE $0x01 // leaq $1(%rcx,%rax), %rax - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0x084f8b48 // movq $8(%rdi), %rcx - WORD $0x3948; BYTE $0xc8 // cmpq %rcx, %rax - LONG $0xc1470f48 // cmovaq %rcx, %rax - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xf0470f4c // cmovaq %rax, %r14 - LONG $0xfff607e9; BYTE $0xff // jmp LBB27_43, $-2553(%rip) - -LBB27_53: - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x008e850f; WORD $0x0000 // jne LBB27_118, $142(%rip) - LONG $0x1f5c8d4b; BYTE $0x01 // leaq $1(%r15,%r11), %rbx - WORD $0xf749; BYTE $0xd7 // notq %r15 - WORD $0x014d; BYTE $0xcf // addq %r9, %r15 - -LBB27_55: - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x00248f0f; WORD $0x0000 // jg LBB27_112, $36(%rip) - LONG $0xfff5e8e9; BYTE $0xff // jmp LBB27_44, $-2584(%rip) - -LBB27_110: - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - LONG $0x000002b8; BYTE $0x00 // movl $2, %eax - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x0149; BYTE $0xcf // addq %rcx, %r15 - LONG $0xf5c98e0f; WORD $0xffff // jle LBB27_44, $-2615(%rip) - -LBB27_112: - WORD $0xb60f; BYTE $0x03 // movzbl (%rbx), %eax - WORD $0x5c3c // cmpb $92, %al - LONG $0xffd6840f; WORD $0xffff // je LBB27_110, $-42(%rip) - WORD $0x223c // cmpb $34, %al - LONG $0x0024840f; WORD $0x0000 // je LBB27_115, $36(%rip) - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - LONG $0x000001b8; BYTE $0x00 // movl $1, %eax - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x0149; BYTE $0xcf // addq %rcx, %r15 - LONG $0xffce8f0f; WORD $0xffff // jg LBB27_112, $-50(%rip) - LONG $0xfff592e9; BYTE $0xff // jmp LBB27_44, $-2670(%rip) - -LBB27_115: - WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx - WORD $0xff48; BYTE $0xc3 // incq %rbx - LONG $0xfff581e9; BYTE $0xff // jmp LBB27_42, $-2687(%rip) - -LBB27_116: - WORD $0x014c; BYTE $0xc3 // addq %r8, %rbx - LONG $0xffff89e9; BYTE $0xff // jmp LBB27_55, $-119(%rip) - -LBB27_117: - LONG $0x084f8b48 // movq $8(%rdi), %rcx - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0xfff573e9; BYTE $0xff // jmp LBB27_44, $-2701(%rip) - -LBB27_118: - LONG $0xff498d49 // leaq $-1(%r9), %rcx - WORD $0x394c; BYTE $0xf9 // cmpq %r15, %rcx - LONG $0xf566840f; WORD $0xffff // je LBB27_44, $-2714(%rip) - LONG $0x1f5c8d4b; BYTE $0x02 // leaq $2(%r15,%r11), %rbx - WORD $0x294d; BYTE $0xf9 // subq %r15, %r9 - LONG $0xfec18349 // addq $-2, %r9 - WORD $0x894d; BYTE $0xcf // movq %r9, %r15 - LONG $0xffff5ce9; BYTE $0xff // jmp LBB27_55, $-164(%rip) - WORD $0x9090 // .p2align 2, 0x90 - - // .set L27_0_set_44, LBB27_44-LJTI27_0 - // .set L27_0_set_46, LBB27_46-LJTI27_0 - // .set L27_0_set_47, LBB27_47-LJTI27_0 - // .set L27_0_set_29, LBB27_29-LJTI27_0 - // .set L27_0_set_56, LBB27_56-LJTI27_0 - // .set L27_0_set_81, LBB27_81-LJTI27_0 - // .set L27_0_set_45, LBB27_45-LJTI27_0 - // .set L27_0_set_83, LBB27_83-LJTI27_0 -LJTI27_0: - LONG $0xfffff550 // .long L27_0_set_44 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff581 // .long L27_0_set_47 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff48f // .long L27_0_set_29 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff48f // .long L27_0_set_29 - LONG $0xfffff48f // .long L27_0_set_29 - LONG $0xfffff48f // .long L27_0_set_29 - LONG $0xfffff48f // .long L27_0_set_29 - LONG $0xfffff48f // .long L27_0_set_29 - LONG $0xfffff48f // .long L27_0_set_29 - LONG $0xfffff48f // .long L27_0_set_29 - LONG $0xfffff48f // .long L27_0_set_29 - LONG $0xfffff48f // .long L27_0_set_29 - LONG $0xfffff48f // .long L27_0_set_29 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff68e // .long L27_0_set_56 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffffac4 // .long L27_0_set_81 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff55f // .long L27_0_set_45 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff55f // .long L27_0_set_45 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffff572 // .long L27_0_set_46 - LONG $0xfffffada // .long L27_0_set_83 - LONG $0x00000000 // .p2align 4, 0x00 - -LCPI28_0: - LONG $0x00000001 // .long 1 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - LONG $0x00000000 // .long 0 - - // .p2align 4, 0x90 -_get_by_path: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0x38ec8348 // subq $56, %rsp - WORD $0x8949; BYTE $0xf7 // movq %rsi, %r15 - WORD $0x8949; BYTE $0xfb // movq %rdi, %r11 - LONG $0x08528b4c // movq $8(%rdx), %r10 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0f0f840f; WORD $0x0000 // je LBB28_241, $3855(%rip) - WORD $0x8b48; BYTE $0x02 // movq (%rdx), %rax - LONG $0x04e2c149 // shlq $4, %r10 - LONG $0xb8458948 // movq %rax, $-72(%rbp) - WORD $0x0149; BYTE $0xc2 // addq %rax, %r10 - WORD $0x8b4d; BYTE $0x0b // movq (%r11), %r9 - WORD $0x8b49; BYTE $0x17 // movq (%r15), %rdx - QUAD $0x000100002600bc49; WORD $0x0000 // movabsq $4294977024, %r12 - LONG $0xc05d894c // movq %r11, $-64(%rbp) - LONG $0xa04d8948 // movq %rcx, $-96(%rbp) - LONG $0xa855894c // movq %r10, $-88(%rbp) - -LBB28_2: - LONG $0x08438b4d // movq $8(%r11), %r8 - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - WORD $0x294c; BYTE $0xc7 // subq %r8, %rdi - LONG $0x0032830f; WORD $0x0000 // jae LBB28_7, $50(%rip) - LONG $0x11048a41 // movb (%r9,%rdx), %al - WORD $0x0d3c // cmpb $13, %al - LONG $0x0026840f; WORD $0x0000 // je LBB28_7, $38(%rip) - WORD $0x203c // cmpb $32, %al - LONG $0x001e840f; WORD $0x0000 // je LBB28_7, $30(%rip) - WORD $0xf704 // addb $-9, %al - WORD $0x013c // cmpb $1, %al - LONG $0x0014860f; WORD $0x0000 // jbe LBB28_7, $20(%rip) - WORD $0x8948; BYTE $0xd6 // movq %rdx, %rsi - LONG $0x0000fee9; BYTE $0x00 // jmp LBB28_28, $254(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB28_7: - LONG $0x01728d48 // leaq $1(%rdx), %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_11, $35(%rip) - LONG $0x31048a41 // movb (%r9,%rsi), %al - WORD $0x0d3c // cmpb $13, %al - LONG $0x0017840f; WORD $0x0000 // je LBB28_11, $23(%rip) - WORD $0x203c // cmpb $32, %al - LONG $0x000f840f; WORD $0x0000 // je LBB28_11, $15(%rip) - WORD $0xf704 // addb $-9, %al - WORD $0x013c // cmpb $1, %al - LONG $0x00c7870f; WORD $0x0000 // ja LBB28_28, $199(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_11: - LONG $0x02728d48 // leaq $2(%rdx), %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_15, $35(%rip) - LONG $0x31048a41 // movb (%r9,%rsi), %al - WORD $0x0d3c // cmpb $13, %al - LONG $0x0017840f; WORD $0x0000 // je LBB28_15, $23(%rip) - WORD $0x203c // cmpb $32, %al - LONG $0x000f840f; WORD $0x0000 // je LBB28_15, $15(%rip) - WORD $0xf704 // addb $-9, %al - WORD $0x013c // cmpb $1, %al - LONG $0x0097870f; WORD $0x0000 // ja LBB28_28, $151(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_15: - LONG $0x03728d48 // leaq $3(%rdx), %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_19, $35(%rip) - LONG $0x31048a41 // movb (%r9,%rsi), %al - WORD $0x0d3c // cmpb $13, %al - LONG $0x0017840f; WORD $0x0000 // je LBB28_19, $23(%rip) - WORD $0x203c // cmpb $32, %al - LONG $0x000f840f; WORD $0x0000 // je LBB28_19, $15(%rip) - WORD $0xf704 // addb $-9, %al - WORD $0x013c // cmpb $1, %al - LONG $0x0067870f; WORD $0x0000 // ja LBB28_28, $103(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_19: - LONG $0x04428d48 // leaq $4(%rdx), %rax - WORD $0x3949; BYTE $0xc0 // cmpq %rax, %r8 - LONG $0x0083860f; WORD $0x0000 // jbe LBB28_25, $131(%rip) - WORD $0x3949; BYTE $0xc0 // cmpq %rax, %r8 - LONG $0x0094840f; WORD $0x0000 // je LBB28_26, $148(%rip) - LONG $0x01048d4b // leaq (%r9,%r8), %rax - LONG $0x04c78348 // addq $4, %rdi - LONG $0x11748d49; BYTE $0x05 // leaq $5(%r9,%rdx), %rsi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_22: - LONG $0xff5ebe0f // movsbl $-1(%rsi), %ebx - WORD $0xfb83; BYTE $0x20 // cmpl $32, %ebx - LONG $0x0bbd870f; WORD $0x0000 // ja LBB28_29, $3005(%rip) - LONG $0xdca30f49 // btq %rbx, %r12 - LONG $0x0bb3830f; WORD $0x0000 // jae LBB28_29, $2995(%rip) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0xff48; BYTE $0xc7 // incq %rdi - LONG $0xffdd850f; WORD $0xffff // jne LBB28_22, $-35(%rip) - WORD $0x294c; BYTE $0xc8 // subq %r9, %rax - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0x005a830f; WORD $0x0000 // jae LBB28_30, $90(%rip) - -LBB28_28: - LONG $0x01468d48 // leaq $1(%rsi), %rax - WORD $0x8949; BYTE $0x07 // movq %rax, (%r15) - LONG $0x31348a41 // movb (%r9,%rsi), %sil - LONG $0xb8558b48 // movq $-72(%rbp), %rdx - WORD $0x8b48; BYTE $0x12 // movq (%rdx), %rdx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0063850f; WORD $0x0000 // jne LBB28_31, $99(%rip) - LONG $0x000deae9; BYTE $0x00 // jmp LBB28_248, $3562(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB28_25: - WORD $0x8949; BYTE $0x07 // movq %rax, (%r15) - WORD $0xf631 // xorl %esi, %esi - LONG $0xb8558b48 // movq $-72(%rbp), %rdx - WORD $0x8b48; BYTE $0x12 // movq (%rdx), %rdx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x003b850f; WORD $0x0000 // jne LBB28_31, $59(%rip) - LONG $0x000dc2e9; BYTE $0x00 // jmp LBB28_248, $3522(%rip) - -LBB28_26: - WORD $0x014c; BYTE $0xc8 // addq %r9, %rax - WORD $0x294c; BYTE $0xc8 // subq %r9, %rax - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0xffa6820f; WORD $0xffff // jb LBB28_28, $-90(%rip) - -LBB28_30: - WORD $0xf631 // xorl %esi, %esi - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0xb8558b48 // movq $-72(%rbp), %rdx - WORD $0x8b48; BYTE $0x12 // movq (%rdx), %rdx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0d9b840f; WORD $0x0000 // je LBB28_248, $3483(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_31: - WORD $0x528a; BYTE $0x17 // movb $23(%rdx), %dl - WORD $0xe280; BYTE $0x1f // andb $31, %dl - WORD $0xfa80; BYTE $0x02 // cmpb $2, %dl - LONG $0x0021840f; WORD $0x0000 // je LBB28_181, $33(%rip) - WORD $0xfa80; BYTE $0x18 // cmpb $24, %dl - LONG $0x0d74850f; WORD $0x0000 // jne LBB28_248, $3444(%rip) - LONG $0x7bfe8040 // cmpb $123, %sil - LONG $0xd07d894c // movq %r15, $-48(%rbp) - LONG $0x0178840f; WORD $0x0000 // je LBB28_34, $376(%rip) - LONG $0x000d32e9; BYTE $0x00 // jmp LBB28_244, $3378(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_181: - LONG $0x5bfe8040 // cmpb $91, %sil - LONG $0x0d23850f; WORD $0x0000 // jne LBB28_244, $3363(%rip) - LONG $0xb8558b48 // movq $-72(%rbp), %rdx - LONG $0x08528b48 // movq $8(%rdx), %rdx - WORD $0x8b4c; BYTE $0x32 // movq (%rdx), %r14 - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0d3e880f; WORD $0x0000 // js LBB28_248, $3390(%rip) - LONG $0x08438b4d // movq $8(%r11), %r8 - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x294c; BYTE $0xc6 // subq %r8, %rsi - LONG $0x0032830f; WORD $0x0000 // jae LBB28_188, $50(%rip) - LONG $0x01148a41 // movb (%r9,%rax), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0025840f; WORD $0x0000 // je LBB28_188, $37(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x001c840f; WORD $0x0000 // je LBB28_188, $28(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0010860f; WORD $0x0000 // jbe LBB28_188, $16(%rip) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0x000ad2e9; BYTE $0x00 // jmp LBB28_210, $2770(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB28_188: - LONG $0x01788d48 // leaq $1(%rax), %rdi - WORD $0x394c; BYTE $0xc7 // cmpq %r8, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_192, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_192, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_192, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0a9b870f; WORD $0x0000 // ja LBB28_210, $2715(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_192: - LONG $0x02788d48 // leaq $2(%rax), %rdi - WORD $0x394c; BYTE $0xc7 // cmpq %r8, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_196, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_196, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_196, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0a6b870f; WORD $0x0000 // ja LBB28_210, $2667(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_196: - LONG $0x03788d48 // leaq $3(%rax), %rdi - WORD $0x394c; BYTE $0xc7 // cmpq %r8, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_200, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_200, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_200, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0a3b870f; WORD $0x0000 // ja LBB28_210, $2619(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_200: - LONG $0x04508d48 // leaq $4(%rax), %rdx - WORD $0x3949; BYTE $0xd0 // cmpq %rdx, %r8 - LONG $0x09e2860f; WORD $0x0000 // jbe LBB28_206, $2530(%rip) - WORD $0x3949; BYTE $0xd0 // cmpq %rdx, %r8 - LONG $0x09fb840f; WORD $0x0000 // je LBB28_207, $2555(%rip) - LONG $0x01148d4b // leaq (%r9,%r8), %rdx - LONG $0x04c68348 // addq $4, %rsi - LONG $0x017c8d49; BYTE $0x05 // leaq $5(%r9,%rax), %rdi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_203: - LONG $0xff4fbe0f // movsbl $-1(%rdi), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x09eb870f; WORD $0x0000 // ja LBB28_209, $2539(%rip) - LONG $0xcca30f49 // btq %rcx, %r12 - LONG $0x09e1830f; WORD $0x0000 // jae LBB28_209, $2529(%rip) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0xff48; BYTE $0xc6 // incq %rsi - LONG $0xffdd850f; WORD $0xffff // jne LBB28_203, $-35(%rip) - LONG $0x0009bce9; BYTE $0x00 // jmp LBB28_208, $2492(%rip) - -LBB28_177: - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x0148; BYTE $0xd7 // addq %rdx, %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0bd3830f; WORD $0x0000 // jae LBB28_244, $3027(%rip) - -LBB28_178: - LONG $0x01478d48 // leaq $1(%rdi), %rax - WORD $0x8949; BYTE $0x07 // movq %rax, (%r15) - LONG $0x390c8a41 // movb (%r9,%rdi), %cl - WORD $0xf980; BYTE $0x2c // cmpb $44, %cl - LONG $0x0c03850f; WORD $0x0000 // jne LBB28_250, $3075(%rip) - -LBB28_34: - LONG $0x084b8b49 // movq $8(%r11), %rcx - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x2948; BYTE $0xce // subq %rcx, %rsi - LONG $0x0032830f; WORD $0x0000 // jae LBB28_39, $50(%rip) - LONG $0x01148a41 // movb (%r9,%rax), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0025840f; WORD $0x0000 // je LBB28_39, $37(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x001c840f; WORD $0x0000 // je LBB28_39, $28(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0010860f; WORD $0x0000 // jbe LBB28_39, $16(%rip) - WORD $0x8949; BYTE $0xc5 // movq %rax, %r13 - LONG $0x00012ae9; BYTE $0x00 // jmp LBB28_60, $298(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB28_39: - LONG $0x01688d4c // leaq $1(%rax), %r13 - WORD $0x3949; BYTE $0xcd // cmpq %rcx, %r13 - LONG $0x0023830f; WORD $0x0000 // jae LBB28_43, $35(%rip) - LONG $0x29148a43 // movb (%r9,%r13), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_43, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_43, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00f3870f; WORD $0x0000 // ja LBB28_60, $243(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_43: - LONG $0x02688d4c // leaq $2(%rax), %r13 - WORD $0x3949; BYTE $0xcd // cmpq %rcx, %r13 - LONG $0x0023830f; WORD $0x0000 // jae LBB28_47, $35(%rip) - LONG $0x29148a43 // movb (%r9,%r13), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_47, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_47, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00c3870f; WORD $0x0000 // ja LBB28_60, $195(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_47: - LONG $0x03688d4c // leaq $3(%rax), %r13 - WORD $0x3949; BYTE $0xcd // cmpq %rcx, %r13 - LONG $0x0023830f; WORD $0x0000 // jae LBB28_51, $35(%rip) - LONG $0x29148a43 // movb (%r9,%r13), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_51, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_51, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0093870f; WORD $0x0000 // ja LBB28_60, $147(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_51: - LONG $0x04508d48 // leaq $4(%rax), %rdx - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x0ada860f; WORD $0x0000 // jbe LBB28_242, $2778(%rip) - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x004a840f; WORD $0x0000 // je LBB28_57, $74(%rip) - LONG $0x09148d49 // leaq (%r9,%rcx), %rdx - LONG $0x04c68348 // addq $4, %rsi - LONG $0x016c8d4d; BYTE $0x05 // leaq $5(%r9,%rax), %r13 - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_54: - LONG $0x7dbe0f41; BYTE $0xff // movsbl $-1(%r13), %edi - WORD $0xff83; BYTE $0x20 // cmpl $32, %edi - LONG $0x0042870f; WORD $0x0000 // ja LBB28_59, $66(%rip) - LONG $0xfca30f49 // btq %rdi, %r12 - LONG $0x0038830f; WORD $0x0000 // jae LBB28_59, $56(%rip) - WORD $0xff49; BYTE $0xc5 // incq %r13 - WORD $0xff48; BYTE $0xc6 // incq %rsi - LONG $0xffdc850f; WORD $0xffff // jne LBB28_54, $-36(%rip) - LONG $0x00000ae9; BYTE $0x00 // jmp LBB28_58, $10(%rip) - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_57: - WORD $0x014c; BYTE $0xca // addq %r9, %rdx - -LBB28_58: - WORD $0x294c; BYTE $0xca // subq %r9, %rdx - WORD $0x8949; BYTE $0xd5 // movq %rdx, %r13 - WORD $0x3949; BYTE $0xcd // cmpq %rcx, %r13 - LONG $0x0020820f; WORD $0x0000 // jb LBB28_60, $32(%rip) - LONG $0x000a76e9; BYTE $0x00 // jmp LBB28_244, $2678(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_59: - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x0149; BYTE $0xd5 // addq %rdx, %r13 - WORD $0x3949; BYTE $0xcd // cmpq %rcx, %r13 - LONG $0x0a5b830f; WORD $0x0000 // jae LBB28_244, $2651(%rip) - -LBB28_60: - LONG $0x015d8d49 // leaq $1(%r13), %rbx - WORD $0x8949; BYTE $0x1f // movq %rbx, (%r15) - LONG $0x290c8a43 // movb (%r9,%r13), %cl - WORD $0xf980; BYTE $0x22 // cmpb $34, %cl - LONG $0x0a88850f; WORD $0x0000 // jne LBB28_249, $2696(%rip) - LONG $0xb8458b48 // movq $-72(%rbp), %rax - LONG $0x08408b48 // movq $8(%rax), %rax - WORD $0x8b4c; BYTE $0x30 // movq (%rax), %r14 - LONG $0x08788b4c // movq $8(%rax), %r15 - QUAD $0xffffffffb045c748 // movq $-1, $-80(%rbp) - WORD $0x894c; BYTE $0xdf // movq %r11, %rdi - WORD $0x8948; BYTE $0xde // movq %rbx, %rsi - LONG $0xb0558d48 // leaq $-80(%rbp), %rdx - LONG $0x002254e8; BYTE $0x00 // callq _advance_string_default, $8788(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0a77880f; WORD $0x0000 // js LBB28_252, $2679(%rip) - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xb04d8b48 // movq $-80(%rbp), %rcx - LONG $0xfff98348 // cmpq $-1, %rcx - LONG $0x0009840f; WORD $0x0000 // je LBB28_64, $9(%rip) - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x01418e0f; WORD $0x0000 // jle LBB28_84, $321(%rip) - -LBB28_64: - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0x294c; BYTE $0xea // subq %r13, %rdx - LONG $0xfec28348 // addq $-2, %rdx - LONG $0x0001ba41; WORD $0x0000 // movl $1, %r10d - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x094c; BYTE $0xf9 // orq %r15, %rcx - LONG $0xc05d8b4c // movq $-64(%rbp), %r11 - LONG $0x00e0840f; WORD $0x0000 // je LBB28_79, $224(%rip) - WORD $0x394c; BYTE $0xfa // cmpq %r15, %rdx - LONG $0x00d4850f; WORD $0x0000 // jne LBB28_78, $212(%rip) - WORD $0x0349; BYTE $0x1b // addq (%r11), %rbx - LONG $0x10ff8349 // cmpq $16, %r15 - LONG $0x0038820f; WORD $0x0000 // jb LBB28_69, $56(%rip) - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_67: - LONG $0x036f0ff3 // movdqu (%rbx), %xmm0 - LONG $0x6f0f41f3; BYTE $0x0e // movdqu (%r14), %xmm1 - LONG $0xc8740f66 // pcmpeqb %xmm0, %xmm1 - LONG $0xc9d70f66 // pmovmskb %xmm1, %ecx - LONG $0xfff98366 // cmpw $-1, %cx - LONG $0x00a5850f; WORD $0x0000 // jne LBB28_78, $165(%rip) - LONG $0x10c38348 // addq $16, %rbx - LONG $0x10c68349 // addq $16, %r14 - LONG $0xf0c78349 // addq $-16, %r15 - LONG $0x0fff8349 // cmpq $15, %r15 - LONG $0xffcf870f; WORD $0xffff // ja LBB28_67, $-49(%rip) - -LBB28_69: - WORD $0x8944; BYTE $0xf1 // movl %r14d, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0ff0f981; WORD $0x0000 // cmpl $4080, %ecx - LONG $0x0046870f; WORD $0x0000 // ja LBB28_73, $70(%rip) - WORD $0xd989 // movl %ebx, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0ff1f981; WORD $0x0000 // cmpl $4081, %ecx - LONG $0x0032830f; WORD $0x0000 // jae LBB28_73, $50(%rip) - LONG $0x036f0ff3 // movdqu (%rbx), %xmm0 - LONG $0x6f0f41f3; BYTE $0x0e // movdqu (%r14), %xmm1 - LONG $0xc8740f66 // pcmpeqb %xmm0, %xmm1 - LONG $0xc9d70f66 // pmovmskb %xmm1, %ecx - LONG $0xfff98366 // cmpw $-1, %cx - WORD $0x940f; BYTE $0xc2 // sete %dl - WORD $0xd1f7 // notl %ecx - WORD $0xb70f; BYTE $0xc9 // movzwl %cx, %ecx - LONG $0xc9bc0f48 // bsfq %rcx, %rcx - WORD $0x394c; BYTE $0xf9 // cmpq %r15, %rcx - WORD $0x930f; BYTE $0xc1 // setae %cl - WORD $0xd108 // orb %dl, %cl - LONG $0xd1b60f44 // movzbl %cl, %r10d - LONG $0x000037e9; BYTE $0x00 // jmp LBB28_79, $55(%rip) - -LBB28_73: - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x002e840f; WORD $0x0000 // je LBB28_79, $46(%rip) - WORD $0xd231 // xorl %edx, %edx - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_75: - LONG $0x130cb60f // movzbl (%rbx,%rdx), %ecx - LONG $0x160c3a41 // cmpb (%r14,%rdx), %cl - LONG $0x0012850f; WORD $0x0000 // jne LBB28_78, $18(%rip) - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0x3949; BYTE $0xd7 // cmpq %rdx, %r15 - LONG $0xffe6850f; WORD $0xffff // jne LBB28_75, $-26(%rip) - LONG $0x000004e9; BYTE $0x00 // jmp LBB28_79, $4(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_78: - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - -LBB28_79: - WORD $0x8b4d; BYTE $0x0b // movq (%r11), %r9 - LONG $0xd07d8b4c // movq $-48(%rbp), %r15 - LONG $0x08738b49 // movq $8(%r11), %rsi - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - WORD $0x2948; BYTE $0xf7 // subq %rsi, %rdi - LONG $0x03f6830f; WORD $0x0000 // jae LBB28_129, $1014(%rip) - -LBB28_80: - LONG $0x01148a41 // movb (%r9,%rax), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x03e9840f; WORD $0x0000 // je LBB28_129, $1001(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x03e0840f; WORD $0x0000 // je LBB28_129, $992(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x03d4860f; WORD $0x0000 // jbe LBB28_129, $980(%rip) - WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx - LONG $0x0004eee9; BYTE $0x00 // jmp LBB28_150, $1262(%rip) - -LBB28_84: - QUAD $0x00000000c845c748 // movq $0, $-56(%rbp) - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx - WORD $0x8b4c; BYTE $0x09 // movq (%rcx), %r9 - WORD $0x014c; BYTE $0xcb // addq %r9, %rbx - LONG $0x01448d4d; BYTE $0xff // leaq $-1(%r9,%rax), %r8 - LONG $0x3e1c8d4f // leaq (%r14,%r15), %r11 - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x037e8e0f; WORD $0x0000 // jle LBB28_126, $894(%rip) - WORD $0x3949; BYTE $0xd8 // cmpq %rbx, %r8 - LONG $0xd07d8b4c // movq $-48(%rbp), %r15 - LONG $0x0375860f; WORD $0x0000 // jbe LBB28_127, $885(%rip) - -LBB28_86: - WORD $0x0b8a // movb (%rbx), %cl - WORD $0xf980; BYTE $0x5c // cmpb $92, %cl - LONG $0x0058850f; WORD $0x0000 // jne LBB28_91, $88(%rip) - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - WORD $0x2948; BYTE $0xda // subq %rbx, %rdx - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x09038e0f; WORD $0x0000 // jle LBB28_256, $2307(%rip) - LONG $0x0173b60f // movzbl $1(%rbx), %esi - LONG $0xaf3d8d48; WORD $0x0098; BYTE $0x00 // leaq $39087(%rip), %rdi /* __UnquoteTab(%rip) */ - LONG $0x3e3c8a44 // movb (%rsi,%rdi), %r15b - LONG $0xffff8041 // cmpb $-1, %r15b - LONG $0x003d840f; WORD $0x0000 // je LBB28_93, $61(%rip) - WORD $0x8445; BYTE $0xff // testb %r15b, %r15b - LONG $0x08cf840f; WORD $0x0000 // je LBB28_254, $2255(%rip) - LONG $0xc87d8844 // movb %r15b, $-56(%rbp) - LONG $0x02c38348 // addq $2, %rbx - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0x15548d4c; BYTE $0xc8 // leaq $-56(%rbp,%rdx), %r10 - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0x0130820f; WORD $0x0000 // jb LBB28_104, $304(%rip) - LONG $0x0002e6e9; BYTE $0x00 // jmp LBB28_110, $742(%rip) - -LBB28_91: - WORD $0x3a41; BYTE $0x0e // cmpb (%r14), %cl - LONG $0x05c6850f; WORD $0x0000 // jne LBB28_180, $1478(%rip) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xff49; BYTE $0xc6 // incq %r14 - LONG $0x0002e3e9; BYTE $0x00 // jmp LBB28_112, $739(%rip) - -LBB28_93: - LONG $0x03fa8348 // cmpq $3, %rdx - LONG $0x08a08e0f; WORD $0x0000 // jle LBB28_255, $2208(%rip) - WORD $0x4b8b; BYTE $0x02 // movl $2(%rbx), %ecx - WORD $0xce89 // movl %ecx, %esi - WORD $0xd6f7 // notl %esi - LONG $0xcfd0b98d; WORD $0xcfcf // leal $-808464432(%rcx), %edi - LONG $0x8080e681; WORD $0x8080 // andl $-2139062144, %esi - WORD $0xfe85 // testl %edi, %esi - LONG $0x0866850f; WORD $0x0000 // jne LBB28_253, $2150(%rip) - LONG $0x1919b98d; WORD $0x1919 // leal $421075225(%rcx), %edi - WORD $0xcf09 // orl %ecx, %edi - LONG $0x8080c7f7; WORD $0x8080 // testl $-2139062144, %edi - LONG $0x0852850f; WORD $0x0000 // jne LBB28_253, $2130(%rip) - WORD $0xcf89 // movl %ecx, %edi - LONG $0x7f7fe781; WORD $0x7f7f // andl $2139062143, %edi - LONG $0xc0c0ba41; WORD $0xc0c0 // movl $-1061109568, %r10d - WORD $0x2941; BYTE $0xfa // subl %edi, %r10d - LONG $0x46bf8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rdi), %r15d - WORD $0x2141; BYTE $0xf2 // andl %esi, %r10d - WORD $0x8545; BYTE $0xfa // testl %r15d, %r10d - LONG $0x082e850f; WORD $0x0000 // jne LBB28_253, $2094(%rip) - LONG $0xe0e0ba41; WORD $0xe0e0 // movl $-522133280, %r10d - WORD $0x2941; BYTE $0xfa // subl %edi, %r10d - LONG $0x3939c781; WORD $0x3939 // addl $960051513, %edi - WORD $0x2144; BYTE $0xd6 // andl %r10d, %esi - WORD $0xfe85 // testl %edi, %esi - LONG $0x0814850f; WORD $0x0000 // jne LBB28_253, $2068(%rip) - WORD $0xc90f // bswapl %ecx - WORD $0xce89 // movl %ecx, %esi - WORD $0xeec1; BYTE $0x04 // shrl $4, %esi - WORD $0xd6f7 // notl %esi - LONG $0x0101e681; WORD $0x0101 // andl $16843009, %esi - WORD $0x348d; BYTE $0xf6 // leal (%rsi,%rsi,8), %esi - LONG $0x0f0fe181; WORD $0x0f0f // andl $252645135, %ecx - WORD $0xf101 // addl %esi, %ecx - WORD $0x8941; BYTE $0xcf // movl %ecx, %r15d - LONG $0x04efc141 // shrl $4, %r15d - WORD $0x0941; BYTE $0xcf // orl %ecx, %r15d - WORD $0x8944; BYTE $0xfe // movl %r15d, %esi - WORD $0xeec1; BYTE $0x08 // shrl $8, %esi - LONG $0xff00e681; WORD $0x0000 // andl $65280, %esi - LONG $0xcfb60f41 // movzbl %r15b, %ecx - WORD $0xf109 // orl %esi, %ecx - LONG $0x06538d4c // leaq $6(%rbx), %r10 - WORD $0xf983; BYTE $0x7f // cmpl $127, %ecx - LONG $0x00b2860f; WORD $0x0000 // jbe LBB28_114, $178(%rip) - LONG $0x07fff981; WORD $0x0000 // cmpl $2047, %ecx - LONG $0x00b4860f; WORD $0x0000 // jbe LBB28_115, $180(%rip) - WORD $0x8944; BYTE $0xff // movl %r15d, %edi - LONG $0x0000e781; WORD $0x00f8 // andl $16252928, %edi - LONG $0x0000ff81; WORD $0x00d8 // cmpl $14155776, %edi - LONG $0x00c1840f; WORD $0x0000 // je LBB28_116, $193(%rip) - WORD $0xeec1; BYTE $0x0c // shrl $12, %esi - LONG $0xe0ce8040 // orb $-32, %sil - LONG $0xc8758840 // movb %sil, $-56(%rbp) - WORD $0xe9c1; BYTE $0x06 // shrl $6, %ecx - WORD $0xe180; BYTE $0x3f // andb $63, %cl - WORD $0xc980; BYTE $0x80 // orb $-128, %cl - WORD $0x4d88; BYTE $0xc9 // movb %cl, $-55(%rbp) - LONG $0x3fe78041 // andb $63, %r15b - LONG $0x80cf8041 // orb $-128, %r15b - LONG $0xca7d8844 // movb %r15b, $-54(%rbp) - LONG $0x000003ba; BYTE $0x00 // movl $3, %edx - WORD $0x8941; BYTE $0xf7 // movl %esi, %r15d - -LBB28_102: - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - LONG $0x15548d4c; BYTE $0xc8 // leaq $-56(%rbp,%rdx), %r10 - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0x01bb830f; WORD $0x0000 // jae LBB28_110, $443(%rip) - -LBB28_104: - LONG $0xc84d8d48 // leaq $-56(%rbp), %rcx - WORD $0x3949; BYTE $0xca // cmpq %rcx, %r10 - LONG $0x01ae860f; WORD $0x0000 // jbe LBB28_110, $430(%rip) - WORD $0x3845; BYTE $0x3e // cmpb %r15b, (%r14) - LONG $0x01a5850f; WORD $0x0000 // jne LBB28_110, $421(%rip) - WORD $0xff49; BYTE $0xc6 // incq %r14 - LONG $0xc9758d48 // leaq $-55(%rbp), %rsi - WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi - LONG $0xd07d8b4c // movq $-48(%rbp), %r15 - -LBB28_107: - WORD $0x8949; BYTE $0xfe // movq %rdi, %r14 - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x394c; BYTE $0xd6 // cmpq %r10, %rsi - LONG $0x0190830f; WORD $0x0000 // jae LBB28_111, $400(%rip) - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0x0187830f; WORD $0x0000 // jae LBB28_111, $391(%rip) - LONG $0x0eb60f41 // movzbl (%r14), %ecx - LONG $0x017e8d49 // leaq $1(%r14), %rdi - LONG $0x01728d48 // leaq $1(%rdx), %rsi - WORD $0x0a3a // cmpb (%rdx), %cl - LONG $0xffd4840f; WORD $0xffff // je LBB28_107, $-44(%rip) - LONG $0x00016ee9; BYTE $0x00 // jmp LBB28_111, $366(%rip) - -LBB28_114: - LONG $0xc87d8844 // movb %r15b, $-56(%rbp) - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0xffff8ce9; BYTE $0xff // jmp LBB28_102, $-116(%rip) - -LBB28_115: - WORD $0xe9c1; BYTE $0x06 // shrl $6, %ecx - WORD $0xc980; BYTE $0xc0 // orb $-64, %cl - WORD $0x4d88; BYTE $0xc8 // movb %cl, $-56(%rbp) - LONG $0x3fe78041 // andb $63, %r15b - LONG $0x80cf8041 // orb $-128, %r15b - LONG $0xc97d8844 // movb %r15b, $-55(%rbp) - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - WORD $0x8941; BYTE $0xcf // movl %ecx, %r15d - LONG $0xffff6ae9; BYTE $0xff // jmp LBB28_102, $-150(%rip) - -LBB28_116: - LONG $0x06fa8348 // cmpq $6, %rdx - LONG $0x07228c0f; WORD $0x0000 // jl LBB28_258, $1826(%rip) - LONG $0xdbfff981; WORD $0x0000 // cmpl $56319, %ecx - LONG $0x0716870f; WORD $0x0000 // ja LBB28_258, $1814(%rip) - LONG $0x5c3a8041 // cmpb $92, (%r10) - LONG $0x070c850f; WORD $0x0000 // jne LBB28_258, $1804(%rip) - LONG $0x75077b80 // cmpb $117, $7(%rbx) - LONG $0x0702850f; WORD $0x0000 // jne LBB28_258, $1794(%rip) - LONG $0x08538d4c // leaq $8(%rbx), %r10 - WORD $0x538b; BYTE $0x08 // movl $8(%rbx), %edx - WORD $0xd789 // movl %edx, %edi - WORD $0xd7f7 // notl %edi - LONG $0xcfd0b28d; WORD $0xcfcf // leal $-808464432(%rdx), %esi - LONG $0x8080e781; WORD $0x8080 // andl $-2139062144, %edi - WORD $0xf785 // testl %esi, %edi - LONG $0x06d7850f; WORD $0x0000 // jne LBB28_257, $1751(%rip) - LONG $0x1919b28d; WORD $0x1919 // leal $421075225(%rdx), %esi - WORD $0xd609 // orl %edx, %esi - LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi - LONG $0x06c3850f; WORD $0x0000 // jne LBB28_257, $1731(%rip) - WORD $0xd689 // movl %edx, %esi - LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi - LONG $0xc0c0bf41; WORD $0xc0c0 // movl $-1061109568, %r15d - WORD $0x2941; BYTE $0xf7 // subl %esi, %r15d - LONG $0x46ae8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rsi), %r13d - WORD $0x2141; BYTE $0xff // andl %edi, %r15d - WORD $0x8545; BYTE $0xef // testl %r13d, %r15d - LONG $0x069f850f; WORD $0x0000 // jne LBB28_257, $1695(%rip) - LONG $0xe0e0bf41; WORD $0xe0e0 // movl $-522133280, %r15d - WORD $0x2941; BYTE $0xf7 // subl %esi, %r15d - LONG $0x3939c681; WORD $0x3939 // addl $960051513, %esi - WORD $0x2144; BYTE $0xff // andl %r15d, %edi - WORD $0xf785 // testl %esi, %edi - LONG $0x0685850f; WORD $0x0000 // jne LBB28_257, $1669(%rip) - WORD $0xca0f // bswapl %edx - WORD $0xd689 // movl %edx, %esi - WORD $0xeec1; BYTE $0x04 // shrl $4, %esi - WORD $0xd6f7 // notl %esi - LONG $0x0101e681; WORD $0x0101 // andl $16843009, %esi - WORD $0x348d; BYTE $0xf6 // leal (%rsi,%rsi,8), %esi - LONG $0x0f0fe281; WORD $0x0f0f // andl $252645135, %edx - WORD $0xf201 // addl %esi, %edx - WORD $0xd689 // movl %edx, %esi - WORD $0xeec1; BYTE $0x04 // shrl $4, %esi - WORD $0xd609 // orl %edx, %esi - WORD $0xf289 // movl %esi, %edx - LONG $0x0000e281; WORD $0x00fc // andl $16515072, %edx - LONG $0x0000fa81; WORD $0x00dc // cmpl $14417920, %edx - LONG $0x065c850f; WORD $0x0000 // jne LBB28_258, $1628(%rip) - WORD $0xf289 // movl %esi, %edx - WORD $0xeac1; BYTE $0x08 // shrl $8, %edx - LONG $0xff00e281; WORD $0x0000 // andl $65280, %edx - LONG $0xf6b60f40 // movzbl %sil, %esi - WORD $0xd609 // orl %edx, %esi - WORD $0xe1c1; BYTE $0x0a // shll $10, %ecx - LONG $0x00318c8d; WORD $0xa024; BYTE $0xfc // leal $-56613888(%rcx,%rsi), %ecx - WORD $0x8941; BYTE $0xcf // movl %ecx, %r15d - LONG $0x12efc141 // shrl $18, %r15d - LONG $0xf0cf8041 // orb $-16, %r15b - LONG $0xc87d8844 // movb %r15b, $-56(%rbp) - WORD $0xca89 // movl %ecx, %edx - WORD $0xeac1; BYTE $0x0c // shrl $12, %edx - WORD $0xe280; BYTE $0x3f // andb $63, %dl - WORD $0xca80; BYTE $0x80 // orb $-128, %dl - WORD $0x5588; BYTE $0xc9 // movb %dl, $-55(%rbp) - WORD $0xca89 // movl %ecx, %edx - WORD $0xeac1; BYTE $0x06 // shrl $6, %edx - WORD $0xe280; BYTE $0x3f // andb $63, %dl - WORD $0xca80; BYTE $0x80 // orb $-128, %dl - WORD $0x5588; BYTE $0xca // movb %dl, $-54(%rbp) - WORD $0xe180; BYTE $0x3f // andb $63, %cl - WORD $0xc980; BYTE $0x80 // orb $-128, %cl - WORD $0x4d88; BYTE $0xcb // movb %cl, $-53(%rbp) - LONG $0x0cc38348 // addq $12, %rbx - LONG $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0x15548d4c; BYTE $0xc8 // leaq $-56(%rbp,%rdx), %r10 - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0xfe45820f; WORD $0xffff // jb LBB28_104, $-443(%rip) - -LBB28_110: - LONG $0xc8558d48 // leaq $-56(%rbp), %rdx - LONG $0xd07d8b4c // movq $-48(%rbp), %r15 - -LBB28_111: - WORD $0x394c; BYTE $0xd2 // cmpq %r10, %rdx - LONG $0x02d8850f; WORD $0x0000 // jne LBB28_180, $728(%rip) - -LBB28_112: - WORD $0x3949; BYTE $0xd8 // cmpq %rbx, %r8 - LONG $0x0012860f; WORD $0x0000 // jbe LBB28_127, $18(%rip) - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0xfc94820f; WORD $0xffff // jb LBB28_86, $-876(%rip) - LONG $0x000004e9; BYTE $0x00 // jmp LBB28_127, $4(%rip) - -LBB28_126: - LONG $0xd07d8b4c // movq $-48(%rbp), %r15 - -LBB28_127: - WORD $0x3149; BYTE $0xd8 // xorq %rbx, %r8 - WORD $0x314d; BYTE $0xde // xorq %r11, %r14 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x094d; BYTE $0xc6 // orq %r8, %r14 - LONG $0xc2940f41 // sete %r10b - -LBB28_128: - LONG $0xc05d8b4c // movq $-64(%rbp), %r11 - LONG $0x08738b49 // movq $8(%r11), %rsi - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - WORD $0x2948; BYTE $0xf7 // subq %rsi, %rdi - LONG $0xfc0c820f; WORD $0xffff // jb LBB28_80, $-1012(%rip) - WORD $0x9090 // .p2align 4, 0x90 - -LBB28_129: - LONG $0x01588d48 // leaq $1(%rax), %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x0023830f; WORD $0x0000 // jae LBB28_133, $35(%rip) - LONG $0x19148a41 // movb (%r9,%rbx), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_133, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_133, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00f3870f; WORD $0x0000 // ja LBB28_150, $243(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_133: - LONG $0x02588d48 // leaq $2(%rax), %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x0023830f; WORD $0x0000 // jae LBB28_137, $35(%rip) - LONG $0x19148a41 // movb (%r9,%rbx), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_137, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_137, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00c3870f; WORD $0x0000 // ja LBB28_150, $195(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_137: - LONG $0x03588d48 // leaq $3(%rax), %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x0023830f; WORD $0x0000 // jae LBB28_141, $35(%rip) - LONG $0x19148a41 // movb (%r9,%rbx), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_141, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_141, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0093870f; WORD $0x0000 // ja LBB28_150, $147(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_141: - LONG $0x04508d48 // leaq $4(%rax), %rdx - WORD $0x3948; BYTE $0xd6 // cmpq %rdx, %rsi - LONG $0x044a860f; WORD $0x0000 // jbe LBB28_242, $1098(%rip) - WORD $0x3948; BYTE $0xd6 // cmpq %rdx, %rsi - LONG $0x004a840f; WORD $0x0000 // je LBB28_147, $74(%rip) - LONG $0x31148d49 // leaq (%r9,%rsi), %rdx - LONG $0x04c78348 // addq $4, %rdi - LONG $0x015c8d49; BYTE $0x05 // leaq $5(%r9,%rax), %rbx - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_144: - LONG $0xff4bbe0f // movsbl $-1(%rbx), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x0043870f; WORD $0x0000 // ja LBB28_149, $67(%rip) - LONG $0xcca30f49 // btq %rcx, %r12 - LONG $0x0039830f; WORD $0x0000 // jae LBB28_149, $57(%rip) - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xff48; BYTE $0xc7 // incq %rdi - LONG $0xffdd850f; WORD $0xffff // jne LBB28_144, $-35(%rip) - LONG $0x00000be9; BYTE $0x00 // jmp LBB28_148, $11(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB28_147: - WORD $0x014c; BYTE $0xca // addq %r9, %rdx - -LBB28_148: - WORD $0x294c; BYTE $0xca // subq %r9, %rdx - WORD $0x8948; BYTE $0xd3 // movq %rdx, %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x0020820f; WORD $0x0000 // jb LBB28_150, $32(%rip) - LONG $0x0003e6e9; BYTE $0x00 // jmp LBB28_244, $998(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_149: - WORD $0x894c; BYTE $0xc9 // movq %r9, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x0148; BYTE $0xcb // addq %rcx, %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x03cb830f; WORD $0x0000 // jae LBB28_244, $971(%rip) - -LBB28_150: - LONG $0x01538d48 // leaq $1(%rbx), %rdx - WORD $0x8949; BYTE $0x17 // movq %rdx, (%r15) - LONG $0x193c8041; BYTE $0x3a // cmpb $58, (%r9,%rbx) - LONG $0x03b6850f; WORD $0x0000 // jne LBB28_243, $950(%rip) - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0369850f; WORD $0x0000 // jne LBB28_240, $873(%rip) - WORD $0x894c; BYTE $0xdf // movq %r11, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xffe528e8; BYTE $0xff // callq _skip_one_fast, $-6872(%rip) - LONG $0xc05d8b4c // movq $-64(%rbp), %r11 - WORD $0x8b4d; BYTE $0x0b // movq (%r11), %r9 - LONG $0x084b8b49 // movq $8(%r11), %rcx - WORD $0x8b49; BYTE $0x07 // movq (%r15), %rax - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x2948; BYTE $0xce // subq %rcx, %rsi - LONG $0x002e830f; WORD $0x0000 // jae LBB28_157, $46(%rip) - LONG $0x01148a41 // movb (%r9,%rax), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0021840f; WORD $0x0000 // je LBB28_157, $33(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x0018840f; WORD $0x0000 // je LBB28_157, $24(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x000c860f; WORD $0x0000 // jbe LBB28_157, $12(%rip) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0xfff78ee9; BYTE $0xff // jmp LBB28_178, $-2162(%rip) - LONG $0x90909090 // .p2align 4, 0x90 - -LBB28_157: - LONG $0x01788d48 // leaq $1(%rax), %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_161, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_161, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_161, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0xf75b870f; WORD $0xffff // ja LBB28_178, $-2213(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_161: - LONG $0x02788d48 // leaq $2(%rax), %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_165, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_165, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_165, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0xf72b870f; WORD $0xffff // ja LBB28_178, $-2261(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_165: - LONG $0x03788d48 // leaq $3(%rax), %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_169, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_169, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_169, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0xf6fb870f; WORD $0xffff // ja LBB28_178, $-2309(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_169: - LONG $0x04508d48 // leaq $4(%rax), %rdx - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x02ba860f; WORD $0x0000 // jbe LBB28_242, $698(%rip) - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x004a840f; WORD $0x0000 // je LBB28_175, $74(%rip) - LONG $0x09148d49 // leaq (%r9,%rcx), %rdx - LONG $0x04c68348 // addq $4, %rsi - LONG $0x017c8d49; BYTE $0x05 // leaq $5(%r9,%rax), %rdi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_172: - LONG $0xff5fbe0f // movsbl $-1(%rdi), %ebx - WORD $0xfb83; BYTE $0x20 // cmpl $32, %ebx - LONG $0xf6ab870f; WORD $0xffff // ja LBB28_177, $-2389(%rip) - LONG $0xdca30f49 // btq %rbx, %r12 - LONG $0xf6a1830f; WORD $0xffff // jae LBB28_177, $-2399(%rip) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0xff48; BYTE $0xc6 // incq %rsi - LONG $0xffdd850f; WORD $0xffff // jne LBB28_172, $-35(%rip) - LONG $0x00000be9; BYTE $0x00 // jmp LBB28_176, $11(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB28_175: - WORD $0x014c; BYTE $0xca // addq %r9, %rdx - -LBB28_176: - WORD $0x294c; BYTE $0xca // subq %r9, %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0xf688820f; WORD $0xffff // jb LBB28_178, $-2424(%rip) - LONG $0x000256e9; BYTE $0x00 // jmp LBB28_244, $598(%rip) - -LBB28_180: - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - LONG $0xfffd4be9; BYTE $0xff // jmp LBB28_128, $-693(%rip) - -LBB28_206: - WORD $0x8949; BYTE $0x17 // movq %rdx, (%r15) - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0x000052e9; BYTE $0x00 // jmp LBB28_211, $82(%rip) - -LBB28_29: - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0xc6 // addq %rax, %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0xf456820f; WORD $0xffff // jb LBB28_28, $-2986(%rip) - LONG $0xfff4abe9; BYTE $0xff // jmp LBB28_30, $-2901(%rip) - -LBB28_207: - WORD $0x014c; BYTE $0xca // addq %r9, %rdx - -LBB28_208: - WORD $0x294c; BYTE $0xca // subq %r9, %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - WORD $0x394c; BYTE $0xc7 // cmpq %r8, %rdi - LONG $0x0017820f; WORD $0x0000 // jb LBB28_210, $23(%rip) - LONG $0x000024e9; BYTE $0x00 // jmp LBB28_211, $36(%rip) - -LBB28_209: - WORD $0x894c; BYTE $0xc9 // movq %r9, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x0148; BYTE $0xcf // addq %rcx, %rdi - WORD $0x394c; BYTE $0xc7 // cmpq %r8, %rdi - LONG $0x0012830f; WORD $0x0000 // jae LBB28_211, $18(%rip) - -LBB28_210: - LONG $0x01478d48 // leaq $1(%rdi), %rax - WORD $0x8949; BYTE $0x07 // movq %rax, (%r15) - LONG $0x393c8041; BYTE $0x5d // cmpb $93, (%r9,%rdi) - LONG $0x023e840f; WORD $0x0000 // je LBB28_251, $574(%rip) - -LBB28_211: - WORD $0xff48; BYTE $0xc8 // decq %rax - WORD $0x8949; BYTE $0x07 // movq %rax, (%r15) - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x01988e0f; WORD $0x0000 // jle LBB28_240, $408(%rip) - WORD $0x9090 // .p2align 4, 0x90 - -LBB28_212: - WORD $0x894c; BYTE $0xdf // movq %r11, %rdi - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0xffe355e8; BYTE $0xff // callq _skip_one_fast, $-7339(%rip) - LONG $0xc05d8b4c // movq $-64(%rbp), %r11 - WORD $0x8b4d; BYTE $0x0b // movq (%r11), %r9 - LONG $0x084b8b49 // movq $8(%r11), %rcx - WORD $0x8b49; BYTE $0x07 // movq (%r15), %rax - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0x2948; BYTE $0xce // subq %rcx, %rsi - LONG $0x002b830f; WORD $0x0000 // jae LBB28_217, $43(%rip) - LONG $0x01148a41 // movb (%r9,%rax), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x001e840f; WORD $0x0000 // je LBB28_217, $30(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x0015840f; WORD $0x0000 // je LBB28_217, $21(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0009860f; WORD $0x0000 // jbe LBB28_217, $9(%rip) - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0x000123e9; BYTE $0x00 // jmp LBB28_238, $291(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_217: - LONG $0x01788d48 // leaq $1(%rax), %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_221, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_221, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_221, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00f3870f; WORD $0x0000 // ja LBB28_238, $243(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_221: - LONG $0x02788d48 // leaq $2(%rax), %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_225, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_225, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_225, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x00c3870f; WORD $0x0000 // ja LBB28_238, $195(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_225: - LONG $0x03788d48 // leaq $3(%rax), %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0023830f; WORD $0x0000 // jae LBB28_229, $35(%rip) - LONG $0x39148a41 // movb (%r9,%rdi), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0016840f; WORD $0x0000 // je LBB28_229, $22(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000d840f; WORD $0x0000 // je LBB28_229, $13(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0093870f; WORD $0x0000 // ja LBB28_238, $147(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_229: - LONG $0x04508d48 // leaq $4(%rax), %rdx - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x00ea860f; WORD $0x0000 // jbe LBB28_242, $234(%rip) - WORD $0x3948; BYTE $0xd1 // cmpq %rdx, %rcx - LONG $0x004a840f; WORD $0x0000 // je LBB28_235, $74(%rip) - LONG $0x09148d49 // leaq (%r9,%rcx), %rdx - LONG $0x04c68348 // addq $4, %rsi - LONG $0x017c8d49; BYTE $0x05 // leaq $5(%r9,%rax), %rdi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_232: - LONG $0xff5fbe0f // movsbl $-1(%rdi), %ebx - WORD $0xfb83; BYTE $0x20 // cmpl $32, %ebx - LONG $0x0043870f; WORD $0x0000 // ja LBB28_237, $67(%rip) - LONG $0xdca30f49 // btq %rbx, %r12 - LONG $0x0039830f; WORD $0x0000 // jae LBB28_237, $57(%rip) - WORD $0xff48; BYTE $0xc7 // incq %rdi - WORD $0xff48; BYTE $0xc6 // incq %rsi - LONG $0xffdd850f; WORD $0xffff // jne LBB28_232, $-35(%rip) - LONG $0x00000be9; BYTE $0x00 // jmp LBB28_236, $11(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB28_235: - WORD $0x014c; BYTE $0xca // addq %r9, %rdx - -LBB28_236: - WORD $0x294c; BYTE $0xca // subq %r9, %rdx - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x0020820f; WORD $0x0000 // jb LBB28_238, $32(%rip) - LONG $0x000086e9; BYTE $0x00 // jmp LBB28_244, $134(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_237: - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x0148; BYTE $0xd7 // addq %rdx, %rdi - WORD $0x3948; BYTE $0xcf // cmpq %rcx, %rdi - LONG $0x006b830f; WORD $0x0000 // jae LBB28_244, $107(%rip) - -LBB28_238: - LONG $0x01578d48 // leaq $1(%rdi), %rdx - WORD $0x8949; BYTE $0x17 // movq %rdx, (%r15) - LONG $0x39048a41 // movb (%r9,%rdi), %al - WORD $0x2c3c // cmpb $44, %al - LONG $0x0077850f; WORD $0x0000 // jne LBB28_246, $119(%rip) - LONG $0xff468d49 // leaq $-1(%r14), %rax - LONG $0x02fe8349 // cmpq $2, %r14 - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - LONG $0xfe6a8d0f; WORD $0xffff // jge LBB28_212, $-406(%rip) - -LBB28_240: - LONG $0xb8458b48 // movq $-72(%rbp), %rax - LONG $0x10c08348 // addq $16, %rax - LONG $0xa8558b4c // movq $-88(%rbp), %r10 - LONG $0xb8458948 // movq %rax, $-72(%rbp) - WORD $0x394c; BYTE $0xd0 // cmpq %r10, %rax - LONG $0xa04d8b48 // movq $-96(%rbp), %rcx - LONG $0xf11b850f; WORD $0xffff // jne LBB28_2, $-3813(%rip) - -LBB28_241: - QUAD $0xfffff0b5056f0f66 // movdqa $-3915(%rip), %xmm0 /* LCPI28_0(%rip) */ - LONG $0x017f0ff3 // movdqu %xmm0, (%rcx) - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x894c; BYTE $0xde // movq %r11, %rsi - WORD $0x894c; BYTE $0xfa // movq %r15, %rdx - WORD $0xc931 // xorl %ecx, %ecx - LONG $0xffd081e8; BYTE $0xff // callq _fsm_exec, $-12159(%rip) - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - LONG $0x000013e9; BYTE $0x00 // jmp LBB28_245, $19(%rip) - -LBB28_242: - WORD $0x8949; BYTE $0x17 // movq %rdx, (%r15) - -LBB28_243: - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - -LBB28_244: - WORD $0xff48; BYTE $0xc8 // decq %rax - WORD $0x8949; BYTE $0x07 // movq %rax, (%r15) - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - -LBB28_245: - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0x38c48348 // addq $56, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB28_246: - WORD $0x5d3c // cmpb $93, %al - LONG $0xffd6850f; WORD $0xffff // jne LBB28_243, $-42(%rip) - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - LONG $0x00001ee9; BYTE $0x00 // jmp LBB28_251, $30(%rip) - -LBB28_248: - WORD $0xff48; BYTE $0xc8 // decq %rax - WORD $0x8949; BYTE $0x07 // movq %rax, (%r15) - LONG $0xdec1c748; WORD $0xffff; BYTE $0xff // movq $-34, %rcx - LONG $0xffffcce9; BYTE $0xff // jmp LBB28_245, $-52(%rip) - -LBB28_249: - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - -LBB28_250: - WORD $0xf980; BYTE $0x7d // cmpb $125, %cl - LONG $0xffb3850f; WORD $0xffff // jne LBB28_244, $-77(%rip) - -LBB28_251: - WORD $0xff48; BYTE $0xc8 // decq %rax - WORD $0x8949; BYTE $0x07 // movq %rax, (%r15) - LONG $0xdfc1c748; WORD $0xffff; BYTE $0xff // movq $-33, %rcx - LONG $0xffffaee9; BYTE $0xff // jmp LBB28_245, $-82(%rip) - -LBB28_252: - LONG $0xc0458b48 // movq $-64(%rbp), %rax - LONG $0x08408b48 // movq $8(%rax), %rax - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - WORD $0x8948; BYTE $0x01 // movq %rax, (%rcx) - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - LONG $0xffff93e9; BYTE $0xff // jmp LBB28_245, $-109(%rip) - -LBB28_253: - LONG $0x02c38348 // addq $2, %rbx - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - LONG $0x000012e9; BYTE $0x00 // jmp LBB28_256, $18(%rip) - -LBB28_254: - WORD $0xff48; BYTE $0xc3 // incq %rbx - LONG $0xfdc1c748; WORD $0xffff; BYTE $0xff // movq $-3, %rcx - LONG $0x000003e9; BYTE $0x00 // jmp LBB28_256, $3(%rip) - -LBB28_255: - WORD $0xff48; BYTE $0xc3 // incq %rbx - -LBB28_256: - LONG $0xd0458b48 // movq $-48(%rbp), %rax - WORD $0x294c; BYTE $0xcb // subq %r9, %rbx - WORD $0x8948; BYTE $0x18 // movq %rbx, (%rax) - LONG $0xffff62e9; BYTE $0xff // jmp LBB28_245, $-158(%rip) - -LBB28_257: - LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx - LONG $0x000007e9; BYTE $0x00 // jmp LBB28_259, $7(%rip) - -LBB28_258: - LONG $0xfcc1c748; WORD $0xffff; BYTE $0xff // movq $-4, %rcx - -LBB28_259: - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx - LONG $0xffffd6e9; BYTE $0xff // jmp LBB28_256, $-42(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -_validate_utf8: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - WORD $0x8b4c; BYTE $0x17 // movq (%rdi), %r10 - LONG $0x085f8b4c // movq $8(%rdi), %r11 - WORD $0x8b48; BYTE $0x0e // movq (%rsi), %rcx - WORD $0x014c; BYTE $0xd1 // addq %r10, %rcx - LONG $0x1a448d4f; BYTE $0xfd // leaq $-3(%r10,%r11), %r8 - LONG $0x000010e9; BYTE $0x00 // jmp LBB29_1, $16(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB29_19: - WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx - -LBB29_1: - WORD $0x394c; BYTE $0xc1 // cmpq %r8, %rcx - LONG $0x00e1830f; WORD $0x0000 // jae LBB29_2, $225(%rip) - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - WORD $0x3980; BYTE $0x00 // cmpb $0, (%rcx) - LONG $0xffe6890f; WORD $0xffff // jns LBB29_19, $-26(%rip) - WORD $0x018b // movl (%rcx), %eax - WORD $0xc789 // movl %eax, %edi - LONG $0xc0f0e781; WORD $0x00c0 // andl $12632304, %edi - LONG $0x80e0ff81; WORD $0x0080 // cmpl $8421600, %edi - LONG $0x0030850f; WORD $0x0000 // jne LBB29_10, $48(%rip) - WORD $0xc789 // movl %eax, %edi - LONG $0x200fe781; WORD $0x0000 // andl $8207, %edi - LONG $0x200dff81; WORD $0x0000 // cmpl $8205, %edi - LONG $0x001c840f; WORD $0x0000 // je LBB29_10, $28(%rip) - LONG $0x000003bb; BYTE $0x00 // movl $3, %ebx - WORD $0xff85 // testl %edi, %edi - LONG $0xffaf850f; WORD $0xffff // jne LBB29_19, $-81(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB29_10: - WORD $0xc789 // movl %eax, %edi - LONG $0xc0e0e781; WORD $0x0000 // andl $49376, %edi - LONG $0x80c0ff81; WORD $0x0000 // cmpl $32960, %edi - LONG $0x0010850f; WORD $0x0000 // jne LBB29_12, $16(%rip) - WORD $0xc789 // movl %eax, %edi - LONG $0x000002bb; BYTE $0x00 // movl $2, %ebx - WORD $0xe783; BYTE $0x1e // andl $30, %edi - LONG $0xff7c850f; WORD $0xffff // jne LBB29_19, $-132(%rip) - -LBB29_12: - WORD $0xc789 // movl %eax, %edi - LONG $0xc0f8e781; WORD $0xc0c0 // andl $-1061109512, %edi - LONG $0x80f0ff81; WORD $0x8080 // cmpl $-2139062032, %edi - LONG $0x0026850f; WORD $0x0000 // jne LBB29_16, $38(%rip) - WORD $0xc789 // movl %eax, %edi - LONG $0x3007e781; WORD $0x0000 // andl $12295, %edi - LONG $0x0018840f; WORD $0x0000 // je LBB29_16, $24(%rip) - LONG $0x000004bb; BYTE $0x00 // movl $4, %ebx - WORD $0x04a8 // testb $4, %al - LONG $0xff4d840f; WORD $0xffff // je LBB29_19, $-179(%rip) - LONG $0x00300325; BYTE $0x00 // andl $12291, %eax - LONG $0xff42840f; WORD $0xffff // je LBB29_19, $-190(%rip) - -LBB29_16: - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x294c; BYTE $0xd7 // subq %r10, %rdi - WORD $0x8b48; BYTE $0x1a // movq (%rdx), %rbx - LONG $0x00fb8148; WORD $0x0010; BYTE $0x00 // cmpq $4096, %rbx - LONG $0x0187830f; WORD $0x0000 // jae LBB29_17, $391(%rip) - WORD $0x6348; BYTE $0xc7 // movslq %edi, %rax - LONG $0x017b8d48 // leaq $1(%rbx), %rdi - WORD $0x8948; BYTE $0x3a // movq %rdi, (%rdx) - LONG $0xda448948; BYTE $0x08 // movq %rax, $8(%rdx,%rbx,8) - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - LONG $0xffff13e9; BYTE $0xff // jmp LBB29_19, $-237(%rip) - -LBB29_2: - WORD $0x014d; BYTE $0xd3 // addq %r10, %r11 - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x013e830f; WORD $0x0000 // jae LBB29_36, $318(%rip) - LONG $0xdc458d4c // leaq $-36(%rbp), %r8 - LONG $0xda4d8d4c // leaq $-38(%rbp), %r9 - LONG $0x000016e9; BYTE $0x00 // jmp LBB29_4, $22(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB29_5: - WORD $0xff48; BYTE $0xc1 // incq %rcx - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x011b830f; WORD $0x0000 // jae LBB29_36, $283(%rip) - -LBB29_4: - WORD $0x3980; BYTE $0x00 // cmpb $0, (%rcx) - LONG $0xffeb890f; WORD $0xffff // jns LBB29_5, $-21(%rip) - LONG $0x00dc45c6 // movb $0, $-36(%rbp) - LONG $0x00da45c6 // movb $0, $-38(%rbp) - WORD $0x894c; BYTE $0xdb // movq %r11, %rbx - WORD $0x2948; BYTE $0xcb // subq %rcx, %rbx - LONG $0x02fb8348 // cmpq $2, %rbx - LONG $0x0035820f; WORD $0x0000 // jb LBB29_21, $53(%rip) - LONG $0x21b60f44 // movzbl (%rcx), %r12d - LONG $0x71b60f44; BYTE $0x01 // movzbl $1(%rcx), %r14d - LONG $0xdc658844 // movb %r12b, $-36(%rbp) - LONG $0x02798d4c // leaq $2(%rcx), %r15 - LONG $0xfec38348 // addq $-2, %rbx - WORD $0x894c; BYTE $0xcf // movq %r9, %rdi - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0029840f; WORD $0x0000 // je LBB29_24, $41(%rip) - -LBB29_25: - LONG $0x07b60f41 // movzbl (%r15), %eax - WORD $0x0788 // movb %al, (%rdi) - LONG $0x65b60f44; BYTE $0xdc // movzbl $-36(%rbp), %r12d - LONG $0xda7db60f // movzbl $-38(%rbp), %edi - LONG $0x000017e9; BYTE $0x00 // jmp LBB29_26, $23(%rip) - -LBB29_21: - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x894c; BYTE $0xc7 // movq %r8, %rdi - WORD $0x8949; BYTE $0xcf // movq %rcx, %r15 - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xffd7850f; WORD $0xffff // jne LBB29_25, $-41(%rip) - -LBB29_24: - WORD $0xff31 // xorl %edi, %edi - -LBB29_26: - LONG $0xc7b60f40 // movzbl %dil, %eax - WORD $0xe0c1; BYTE $0x10 // shll $16, %eax - LONG $0xdeb60f41 // movzbl %r14b, %ebx - WORD $0xe3c1; BYTE $0x08 // shll $8, %ebx - LONG $0xfcb60f41 // movzbl %r12b, %edi - WORD $0xdf09 // orl %ebx, %edi - WORD $0xf809 // orl %edi, %eax - LONG $0xc0c0f025; BYTE $0x00 // andl $12632304, %eax - LONG $0x8080e03d; BYTE $0x00 // cmpl $8421600, %eax - LONG $0x0021850f; WORD $0x0000 // jne LBB29_29, $33(%rip) - WORD $0xf889 // movl %edi, %eax - LONG $0x00200f25; BYTE $0x00 // andl $8207, %eax - LONG $0x00200d3d; BYTE $0x00 // cmpl $8205, %eax - LONG $0x000f840f; WORD $0x0000 // je LBB29_29, $15(%rip) - LONG $0x000003bb; BYTE $0x00 // movl $3, %ebx - WORD $0xc085 // testl %eax, %eax - LONG $0x0023850f; WORD $0x0000 // jne LBB29_34, $35(%rip) - WORD $0x9090 // .p2align 4, 0x90 - -LBB29_29: - LONG $0x1ec4f641 // testb $30, %r12b - LONG $0x0028840f; WORD $0x0000 // je LBB29_31, $40(%rip) - LONG $0xc0e0e781; WORD $0x0000 // andl $49376, %edi - LONG $0x000002bb; BYTE $0x00 // movl $2, %ebx - LONG $0x80c0ff81; WORD $0x0000 // cmpl $32960, %edi - LONG $0x0011850f; WORD $0x0000 // jne LBB29_31, $17(%rip) - -LBB29_34: - WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0xff1f820f; WORD $0xffff // jb LBB29_4, $-225(%rip) - LONG $0x000035e9; BYTE $0x00 // jmp LBB29_36, $53(%rip) - -LBB29_31: - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - WORD $0x294c; BYTE $0xd0 // subq %r10, %rax - WORD $0x8b48; BYTE $0x3a // movq (%rdx), %rdi - LONG $0x00ff8148; WORD $0x0010; BYTE $0x00 // cmpq $4096, %rdi - LONG $0x0034830f; WORD $0x0000 // jae LBB29_32, $52(%rip) - WORD $0x9848 // cltq - LONG $0x015f8d48 // leaq $1(%rdi), %rbx - WORD $0x8948; BYTE $0x1a // movq %rbx, (%rdx) - LONG $0xfa448948; BYTE $0x08 // movq %rax, $8(%rdx,%rdi,8) - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx - WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0xfee5820f; WORD $0xffff // jb LBB29_4, $-283(%rip) - -LBB29_36: - WORD $0x294c; BYTE $0xd1 // subq %r10, %rcx - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - WORD $0xc031 // xorl %eax, %eax - -LBB29_37: - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB29_32: - WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffffe4e9; BYTE $0xff // jmp LBB29_37, $-28(%rip) - -LBB29_17: - WORD $0x8948; BYTE $0x3e // movq %rdi, (%rsi) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffffd5e9; BYTE $0xff // jmp LBB29_37, $-43(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -_validate_utf8_fast: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - WORD $0x8b4c; BYTE $0x17 // movq (%rdi), %r10 - LONG $0x085f8b4c // movq $8(%rdi), %r11 - LONG $0x1a748d4b; BYTE $0xfd // leaq $-3(%r10,%r11), %rsi - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x00e0830f; WORD $0x0000 // jae LBB30_14, $224(%rip) - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - LONG $0x000016e9; BYTE $0x00 // jmp LBB30_3, $22(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB30_2: - WORD $0x0148; BYTE $0xd0 // addq %rdx, %rax - WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0x00c2830f; WORD $0x0000 // jae LBB30_14, $194(%rip) - -LBB30_3: - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - WORD $0x3880; BYTE $0x00 // cmpb $0, (%rax) - LONG $0xffe6890f; WORD $0xffff // jns LBB30_2, $-26(%rip) - WORD $0x388b // movl (%rax), %edi - WORD $0xf989 // movl %edi, %ecx - LONG $0xc0f0e181; WORD $0x00c0 // andl $12632304, %ecx - LONG $0x80e0f981; WORD $0x0080 // cmpl $8421600, %ecx - LONG $0x0030850f; WORD $0x0000 // jne LBB30_7, $48(%rip) - WORD $0xf989 // movl %edi, %ecx - LONG $0x200fe181; WORD $0x0000 // andl $8207, %ecx - LONG $0x200df981; WORD $0x0000 // cmpl $8205, %ecx - LONG $0x001c840f; WORD $0x0000 // je LBB30_7, $28(%rip) - LONG $0x000003ba; BYTE $0x00 // movl $3, %edx - WORD $0xc985 // testl %ecx, %ecx - LONG $0xffaf850f; WORD $0xffff // jne LBB30_2, $-81(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB30_7: - WORD $0xf989 // movl %edi, %ecx - LONG $0xc0e0e181; WORD $0x0000 // andl $49376, %ecx - LONG $0x80c0f981; WORD $0x0000 // cmpl $32960, %ecx - LONG $0x0010850f; WORD $0x0000 // jne LBB30_9, $16(%rip) - WORD $0xf989 // movl %edi, %ecx - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - WORD $0xe183; BYTE $0x1e // andl $30, %ecx - LONG $0xff7c850f; WORD $0xffff // jne LBB30_2, $-132(%rip) - -LBB30_9: - WORD $0xf989 // movl %edi, %ecx - LONG $0xc0f8e181; WORD $0xc0c0 // andl $-1061109512, %ecx - LONG $0x80f0f981; WORD $0x8080 // cmpl $-2139062032, %ecx - LONG $0x0029850f; WORD $0x0000 // jne LBB30_13, $41(%rip) - WORD $0xf989 // movl %edi, %ecx - LONG $0x3007e181; WORD $0x0000 // andl $12295, %ecx - LONG $0x001b840f; WORD $0x0000 // je LBB30_13, $27(%rip) - LONG $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0x04c7f640 // testb $4, %dil - LONG $0xff4b840f; WORD $0xffff // je LBB30_2, $-181(%rip) - LONG $0x3003e781; WORD $0x0000 // andl $12291, %edi - LONG $0xff3f840f; WORD $0xffff // je LBB30_2, $-193(%rip) - -LBB30_13: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x014c; BYTE $0xd0 // addq %r10, %rax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB30_14: - WORD $0x014d; BYTE $0xd3 // addq %r10, %r11 - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x0103830f; WORD $0x0000 // jae LBB30_30, $259(%rip) - LONG $0xf4458d4c // leaq $-12(%rbp), %r8 - LONG $0xf24d8d4c // leaq $-14(%rbp), %r9 - LONG $0x000015e9; BYTE $0x00 // jmp LBB30_17, $21(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB30_16: - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x00e1830f; WORD $0x0000 // jae LBB30_30, $225(%rip) - -LBB30_17: - WORD $0x3880; BYTE $0x00 // cmpb $0, (%rax) - LONG $0xffeb890f; WORD $0xffff // jns LBB30_16, $-21(%rip) - LONG $0x00f445c6 // movb $0, $-12(%rbp) - LONG $0x00f245c6 // movb $0, $-14(%rbp) - WORD $0x894c; BYTE $0xda // movq %r11, %rdx - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - LONG $0x02fa8348 // cmpq $2, %rdx - LONG $0x0031820f; WORD $0x0000 // jb LBB30_21, $49(%rip) - WORD $0xb60f; BYTE $0x30 // movzbl (%rax), %esi - LONG $0x0178b60f // movzbl $1(%rax), %edi - LONG $0xf4758840 // movb %sil, $-12(%rbp) - LONG $0x02488d48 // leaq $2(%rax), %rcx - LONG $0xfec28348 // addq $-2, %rdx - WORD $0x894c; BYTE $0xcb // movq %r9, %rbx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0025840f; WORD $0x0000 // je LBB30_22, $37(%rip) - -LBB30_20: - WORD $0xb60f; BYTE $0x09 // movzbl (%rcx), %ecx - WORD $0x0b88 // movb %cl, (%rbx) - LONG $0xf475b60f // movzbl $-12(%rbp), %esi - LONG $0xf24db60f // movzbl $-14(%rbp), %ecx - LONG $0x000015e9; BYTE $0x00 // jmp LBB30_23, $21(%rip) - -LBB30_21: - WORD $0xf631 // xorl %esi, %esi - WORD $0xff31 // xorl %edi, %edi - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xffdb850f; WORD $0xffff // jne LBB30_20, $-37(%rip) - -LBB30_22: - WORD $0xc931 // xorl %ecx, %ecx - -LBB30_23: - WORD $0xb60f; BYTE $0xc9 // movzbl %cl, %ecx - WORD $0xe1c1; BYTE $0x10 // shll $16, %ecx - LONG $0xffb60f40 // movzbl %dil, %edi - WORD $0xe7c1; BYTE $0x08 // shll $8, %edi - LONG $0xd6b60f40 // movzbl %sil, %edx - WORD $0xfa09 // orl %edi, %edx - WORD $0xd109 // orl %edx, %ecx - LONG $0xc0f0e181; WORD $0x00c0 // andl $12632304, %ecx - LONG $0x80e0f981; WORD $0x0080 // cmpl $8421600, %ecx - LONG $0x0026850f; WORD $0x0000 // jne LBB30_26, $38(%rip) - WORD $0xd789 // movl %edx, %edi - LONG $0x200fe781; WORD $0x0000 // andl $8207, %edi - LONG $0x200dff81; WORD $0x0000 // cmpl $8205, %edi - LONG $0x0012840f; WORD $0x0000 // je LBB30_26, $18(%rip) - LONG $0x000003b9; BYTE $0x00 // movl $3, %ecx - WORD $0xff85 // testl %edi, %edi - LONG $0x0026850f; WORD $0x0000 // jne LBB30_28, $38(%rip) - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB30_26: - LONG $0x1ec6f640 // testb $30, %sil - LONG $0xff07840f; WORD $0xffff // je LBB30_13, $-249(%rip) - LONG $0xc0e0e281; WORD $0x0000 // andl $49376, %edx - LONG $0x000002b9; BYTE $0x00 // movl $2, %ecx - LONG $0x80c0fa81; WORD $0x0000 // cmpl $32960, %edx - LONG $0xfef0850f; WORD $0xffff // jne LBB30_13, $-272(%rip) - -LBB30_28: - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0xff1f820f; WORD $0xffff // jb LBB30_17, $-225(%rip) - -LBB30_30: - WORD $0xc031 // xorl %eax, %eax - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; WORD $0x0000 // .p2align 4, 0x00 - -LCPI31_0: - QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' - - // .p2align 4, 0x90 -_f32toa: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - LONG $0xc07e0f66 // movd %xmm0, %eax - WORD $0xc189 // movl %eax, %ecx - WORD $0xe9c1; BYTE $0x17 // shrl $23, %ecx - WORD $0xb60f; BYTE $0xd9 // movzbl %cl, %ebx - LONG $0x00fffb81; WORD $0x0000 // cmpl $255, %ebx - LONG $0x0c9e840f; WORD $0x0000 // je LBB31_138, $3230(%rip) - WORD $0x07c6; BYTE $0x2d // movb $45, (%rdi) - WORD $0x8941; BYTE $0xc1 // movl %eax, %r9d - LONG $0x1fe9c141 // shrl $31, %r9d - LONG $0x0f048d4e // leaq (%rdi,%r9), %r8 - LONG $0xffffffa9; BYTE $0x7f // testl $2147483647, %eax - LONG $0x01bf840f; WORD $0x0000 // je LBB31_11, $447(%rip) - LONG $0x7fffff25; BYTE $0x00 // andl $8388607, %eax - WORD $0xdb85 // testl %ebx, %ebx - LONG $0x0c80840f; WORD $0x0000 // je LBB31_139, $3200(%rip) - LONG $0x0000b08d; WORD $0x0080 // leal $8388608(%rax), %esi - LONG $0x6abb8d44; WORD $0xffff; BYTE $0xff // leal $-150(%rbx), %r15d - WORD $0x4b8d; BYTE $0x81 // leal $-127(%rbx), %ecx - WORD $0xf983; BYTE $0x17 // cmpl $23, %ecx - LONG $0x0019870f; WORD $0x0000 // ja LBB31_5, $25(%rip) - WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx - WORD $0xd9f7 // negl %ecx - LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx - WORD $0xd348; BYTE $0xe2 // shlq %cl, %rdx - WORD $0xd2f7 // notl %edx - WORD $0xf285 // testl %esi, %edx - LONG $0x03fc840f; WORD $0x0000 // je LBB31_32, $1020(%rip) - -LBB31_5: - WORD $0x8941; BYTE $0xf6 // movl %esi, %r14d - LONG $0x01e68341 // andl $1, %r14d - WORD $0xc085 // testl %eax, %eax - WORD $0x940f; BYTE $0xc0 // sete %al - WORD $0xfb83; BYTE $0x01 // cmpl $1, %ebx - WORD $0x970f; BYTE $0xc1 // seta %cl - WORD $0xc120 // andb %al, %cl - WORD $0xb60f; BYTE $0xc9 // movzbl %cl, %ecx - WORD $0x8941; BYTE $0xf2 // movl %esi, %r10d - LONG $0x02e2c141 // shll $2, %r10d - LONG $0xfeb1448d // leal $-2(%rcx,%rsi,4), %eax - LONG $0x13d76941; WORD $0x1344; BYTE $0x00 // imull $1262611, %r15d, %edx - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0xc984 // testb %cl, %cl - LONG $0x0101bb41; WORD $0xfff8 // movl $-524031, %r11d - LONG $0xdb440f44 // cmovel %ebx, %r11d - WORD $0x0141; BYTE $0xd3 // addl %edx, %r11d - LONG $0x16fbc141 // sarl $22, %r11d - LONG $0xb1cb6941; WORD $0xe56c; BYTE $0xff // imull $-1741647, %r11d, %ecx - WORD $0xe9c1; BYTE $0x13 // shrl $19, %ecx - WORD $0x0144; BYTE $0xf9 // addl %r15d, %ecx - LONG $0x00001fba; BYTE $0x00 // movl $31, %edx - WORD $0x2944; BYTE $0xda // subl %r11d, %edx - LONG $0x691d8d48; WORD $0x00b4; BYTE $0x00 // leaq $46185(%rip), %rbx /* _pow10_ceil_sig_f32.g(%rip) */ - WORD $0xc1fe // incb %cl - WORD $0xe0d3 // shll %cl, %eax - LONG $0xd3248b4c // movq (%rbx,%rdx,8), %r12 - WORD $0xf749; BYTE $0xe4 // mulq %r12 - LONG $0x20e8c148 // shrq $32, %rax - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - WORD $0x970f; BYTE $0xc3 // seta %bl - WORD $0xd341; BYTE $0xe2 // shll %cl, %r10d - WORD $0xd309 // orl %edx, %ebx - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - WORD $0xf749; BYTE $0xe4 // mulq %r12 - WORD $0x8949; BYTE $0xd2 // movq %rdx, %r10 - LONG $0x20e8c148 // shrq $32, %rax - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - LONG $0xc7970f41 // seta %r15b - LONG $0x02b5048d; WORD $0x0000; BYTE $0x00 // leal $2(,%rsi,4), %eax - WORD $0xe0d3 // shll %cl, %eax - WORD $0x0945; BYTE $0xd7 // orl %r10d, %r15d - WORD $0xf749; BYTE $0xe4 // mulq %r12 - LONG $0x20e8c148 // shrq $32, %rax - WORD $0xc931 // xorl %ecx, %ecx - WORD $0xf883; BYTE $0x01 // cmpl $1, %eax - WORD $0x970f; BYTE $0xc1 // seta %cl - WORD $0xd109 // orl %edx, %ecx - WORD $0x0144; BYTE $0xf3 // addl %r14d, %ebx - WORD $0x2944; BYTE $0xf1 // subl %r14d, %ecx - LONG $0x28ff8341 // cmpl $40, %r15d - LONG $0x003d820f; WORD $0x0000 // jb LBB31_7, $61(%rip) - WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax - LONG $0xcccdbd41; WORD $0xcccc // movl $3435973837, %r13d - LONG $0xe8af0f4c // imulq %rax, %r13 - LONG $0x25edc149 // shrq $37, %r13 - WORD $0x8941; BYTE $0xde // movl %ebx, %r14d - QUAD $0x00000000ed348d4a // leaq (,%r13,8), %rsi - LONG $0xb6048d48 // leaq (%rsi,%rsi,4), %rax - WORD $0x394c; BYTE $0xf0 // cmpq %r14, %rax - LONG $0xc6920f41 // setb %r14b - LONG $0xb6648d4c; BYTE $0x28 // leaq $40(%rsi,%rsi,4), %r12 - WORD $0xce89 // movl %ecx, %esi - WORD $0x3949; BYTE $0xf4 // cmpq %rsi, %r12 - WORD $0x960f; BYTE $0xc0 // setbe %al - WORD $0x3044; BYTE $0xf0 // xorb %r14b, %al - LONG $0x01e9840f; WORD $0x0000 // je LBB31_16, $489(%rip) - -LBB31_7: - WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - LONG $0x02e8c148 // shrq $2, %rax - WORD $0x8944; BYTE $0xd6 // movl %r10d, %esi - WORD $0xe683; BYTE $0xfc // andl $-4, %esi - WORD $0xf339 // cmpl %esi, %ebx - LONG $0xc6970f41 // seta %r14b - WORD $0x568d; BYTE $0x04 // leal $4(%rsi), %edx - WORD $0xca39 // cmpl %ecx, %edx - WORD $0x960f; BYTE $0xc3 // setbe %bl - WORD $0x3044; BYTE $0xf3 // xorb %r14b, %bl - LONG $0x0074840f; WORD $0x0000 // je LBB31_12, $116(%rip) - WORD $0xce83; BYTE $0x02 // orl $2, %esi - LONG $0x0001bd41; WORD $0x0000 // movl $1, %r13d - WORD $0x3941; BYTE $0xf7 // cmpl %esi, %r15d - LONG $0x000e870f; WORD $0x0000 // ja LBB31_10, $14(%rip) - WORD $0x940f; BYTE $0xc1 // sete %cl - LONG $0x02eac041 // shrb $2, %r10b - WORD $0x2041; BYTE $0xca // andb %cl, %r10b - LONG $0xeab60f45 // movzbl %r10b, %r13d - -LBB31_10: - WORD $0x0141; BYTE $0xc5 // addl %eax, %r13d - LONG $0xa0fd8141; WORD $0x0186; BYTE $0x00 // cmpl $100000, %r13d - LONG $0x0059820f; WORD $0x0000 // jb LBB31_17, $89(%rip) - -LBB31_13: - LONG $0x000006be; BYTE $0x00 // movl $6, %esi - LONG $0x40fd8141; WORD $0x0f42; BYTE $0x00 // cmpl $1000000, %r13d - LONG $0x0086820f; WORD $0x0000 // jb LBB31_22, $134(%rip) - LONG $0x000007be; BYTE $0x00 // movl $7, %esi - LONG $0x80fd8141; WORD $0x9896; BYTE $0x00 // cmpl $10000000, %r13d - LONG $0x0074820f; WORD $0x0000 // jb LBB31_22, $116(%rip) - LONG $0x00fd8141; WORD $0xf5e1; BYTE $0x05 // cmpl $100000000, %r13d - LONG $0x000009be; BYTE $0x00 // movl $9, %esi - LONG $0x000060e9; BYTE $0x00 // jmp LBB31_21, $96(%rip) - -LBB31_11: - LONG $0x3000c641 // movb $48, (%r8) - WORD $0x2941; BYTE $0xf8 // subl %edi, %r8d - WORD $0xff41; BYTE $0xc0 // incl %r8d - LONG $0x000aa9e9; BYTE $0x00 // jmp LBB31_137, $2729(%rip) - -LBB31_12: - WORD $0xd139 // cmpl %edx, %ecx - WORD $0xd883; BYTE $0xff // sbbl $-1, %eax - WORD $0x8941; BYTE $0xc5 // movl %eax, %r13d - LONG $0xa0fd8141; WORD $0x0186; BYTE $0x00 // cmpl $100000, %r13d - LONG $0xffa7830f; WORD $0xffff // jae LBB31_13, $-89(%rip) - -LBB31_17: - LONG $0x000001be; BYTE $0x00 // movl $1, %esi - LONG $0x0afd8341 // cmpl $10, %r13d - LONG $0x0030820f; WORD $0x0000 // jb LBB31_22, $48(%rip) - LONG $0x000002be; BYTE $0x00 // movl $2, %esi - LONG $0x64fd8341 // cmpl $100, %r13d - LONG $0x0021820f; WORD $0x0000 // jb LBB31_22, $33(%rip) - LONG $0x000003be; BYTE $0x00 // movl $3, %esi - LONG $0xe8fd8141; WORD $0x0003; BYTE $0x00 // cmpl $1000, %r13d - LONG $0x000f820f; WORD $0x0000 // jb LBB31_22, $15(%rip) - LONG $0x10fd8141; WORD $0x0027; BYTE $0x00 // cmpl $10000, %r13d - LONG $0x000005be; BYTE $0x00 // movl $5, %esi - -LBB31_21: - WORD $0xde83; BYTE $0x00 // sbbl $0, %esi - -LBB31_22: - LONG $0x1e148d46 // leal (%rsi,%r11), %r10d - LONG $0x1e448d42; BYTE $0x05 // leal $5(%rsi,%r11), %eax - WORD $0xf883; BYTE $0x1b // cmpl $27, %eax - LONG $0x0075820f; WORD $0x0000 // jb LBB31_26, $117(%rip) - WORD $0xf089 // movl %esi, %eax - LONG $0x00748d4d; BYTE $0x01 // leaq $1(%r8,%rax), %r14 - LONG $0x10fd8141; WORD $0x0027; BYTE $0x00 // cmpl $10000, %r13d - LONG $0x00f3820f; WORD $0x0000 // jb LBB31_30, $243(%rip) - WORD $0x8944; BYTE $0xe8 // movl %r13d, %eax - LONG $0xb71759bb; BYTE $0xd1 // movl $3518437209, %ebx - LONG $0xd8af0f48 // imulq %rax, %rbx - LONG $0x2debc148 // shrq $45, %rbx - LONG $0xd8f0c369; WORD $0xffff // imull $-10000, %ebx, %eax - WORD $0x0144; BYTE $0xe8 // addl %r13d, %eax - LONG $0x047b840f; WORD $0x0000 // je LBB31_62, $1147(%rip) - WORD $0xc189 // movl %eax, %ecx - LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx - LONG $0x25e9c148 // shrq $37, %rcx - WORD $0xd16b; BYTE $0x64 // imull $100, %ecx, %edx - WORD $0xd029 // subl %edx, %eax - LONG $0x02158d48; WORD $0x003f; BYTE $0x00 // leaq $16130(%rip), %rdx /* _Digits(%rip) */ - LONG $0x4204b70f // movzwl (%rdx,%rax,2), %eax - LONG $0x46894166; BYTE $0xfe // movw %ax, $-2(%r14) - LONG $0x4a04b70f // movzwl (%rdx,%rcx,2), %eax - LONG $0x46894166; BYTE $0xfc // movw %ax, $-4(%r14) - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0xfc4e8d49 // leaq $-4(%r14), %rcx - WORD $0xfb83; BYTE $0x64 // cmpl $100, %ebx - LONG $0x00ab830f; WORD $0x0000 // jae LBB31_64, $171(%rip) - -LBB31_31: - WORD $0xda89 // movl %ebx, %edx - LONG $0x0000e8e9; BYTE $0x00 // jmp LBB31_66, $232(%rip) - -LBB31_26: - WORD $0x8941; BYTE $0xf4 // movl %esi, %r12d - WORD $0x8545; BYTE $0xdb // testl %r11d, %r11d - LONG $0x021d880f; WORD $0x0000 // js LBB31_38, $541(%rip) - LONG $0x20348d4b // leaq (%r8,%r12), %rsi - LONG $0x10fd8141; WORD $0x0027; BYTE $0x00 // cmpl $10000, %r13d - LONG $0x028d820f; WORD $0x0000 // jb LBB31_43, $653(%rip) - WORD $0x8944; BYTE $0xe8 // movl %r13d, %eax - LONG $0xb71759b9; BYTE $0xd1 // movl $3518437209, %ecx - LONG $0xc8af0f48 // imulq %rax, %rcx - LONG $0x2de9c148 // shrq $45, %rcx - LONG $0xd8f0c169; WORD $0xffff // imull $-10000, %ecx, %eax - WORD $0x0144; BYTE $0xe8 // addl %r13d, %eax - LONG $0x1fd06948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rax, %rdx - LONG $0x25eac148 // shrq $37, %rdx - WORD $0xda6b; BYTE $0x64 // imull $100, %edx, %ebx - WORD $0xd829 // subl %ebx, %eax - LONG $0x8c1d8d48; WORD $0x003e; BYTE $0x00 // leaq $16012(%rip), %rbx /* _Digits(%rip) */ - LONG $0x4304b70f // movzwl (%rbx,%rax,2), %eax - LONG $0xfe468966 // movw %ax, $-2(%rsi) - LONG $0xfc468d48 // leaq $-4(%rsi), %rax - LONG $0x5314b70f // movzwl (%rbx,%rdx,2), %edx - LONG $0xfc568966 // movw %dx, $-4(%rsi) - WORD $0x8941; BYTE $0xcd // movl %ecx, %r13d - LONG $0x64fd8341 // cmpl $100, %r13d - LONG $0x0249830f; WORD $0x0000 // jae LBB31_44, $585(%rip) - -LBB31_29: - WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - LONG $0x000286e9; BYTE $0x00 // jmp LBB31_46, $646(%rip) - -LBB31_16: - WORD $0x394c; BYTE $0xe6 // cmpq %r12, %rsi - LONG $0xffdd8341 // sbbl $-1, %r13d - WORD $0xff41; BYTE $0xc3 // incl %r11d - LONG $0xa0fd8141; WORD $0x0186; BYTE $0x00 // cmpl $100000, %r13d - LONG $0xfe54830f; WORD $0xffff // jae LBB31_13, $-428(%rip) - LONG $0xfffea8e9; BYTE $0xff // jmp LBB31_17, $-344(%rip) - -LBB31_30: - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x894c; BYTE $0xf1 // movq %r14, %rcx - WORD $0x8944; BYTE $0xeb // movl %r13d, %ebx - WORD $0xfb83; BYTE $0x64 // cmpl $100, %ebx - LONG $0xff55820f; WORD $0xffff // jb LBB31_31, $-171(%rip) - -LBB31_64: - WORD $0xff48; BYTE $0xc9 // decq %rcx - LONG $0x2b1d8d4c; WORD $0x003e; BYTE $0x00 // leaq $15915(%rip), %r11 /* _Digits(%rip) */ - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_65: - WORD $0xda89 // movl %ebx, %edx - LONG $0x1fd26948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rdx, %rdx - LONG $0x25eac148 // shrq $37, %rdx - WORD $0xc26b; BYTE $0x64 // imull $100, %edx, %eax - WORD $0xde89 // movl %ebx, %esi - WORD $0xc629 // subl %eax, %esi - LONG $0x04b70f41; BYTE $0x73 // movzwl (%r11,%rsi,2), %eax - LONG $0xff418966 // movw %ax, $-1(%rcx) - LONG $0xfec18348 // addq $-2, %rcx - LONG $0x270ffb81; WORD $0x0000 // cmpl $9999, %ebx - WORD $0xd389 // movl %edx, %ebx - LONG $0xffd1870f; WORD $0xffff // ja LBB31_65, $-47(%rip) - -LBB31_66: - LONG $0x01708d49 // leaq $1(%r8), %rsi - WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx - LONG $0x001d820f; WORD $0x0000 // jb LBB31_68, $29(%rip) - WORD $0xd089 // movl %edx, %eax - LONG $0xdb0d8d48; WORD $0x003d; BYTE $0x00 // leaq $15835(%rip), %rcx /* _Digits(%rip) */ - WORD $0x148a; BYTE $0x41 // movb (%rcx,%rax,2), %dl - LONG $0x0141448a // movb $1(%rcx,%rax,2), %al - LONG $0x01508841 // movb %dl, $1(%r8) - LONG $0x02408841 // movb %al, $2(%r8) - LONG $0x000005e9; BYTE $0x00 // jmp LBB31_69, $5(%rip) - -LBB31_68: - WORD $0xc280; BYTE $0x30 // addb $48, %dl - WORD $0x1688 // movb %dl, (%rsi) - -LBB31_69: - WORD $0x294d; BYTE $0xce // subq %r9, %r14 - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_70: - LONG $0xff7e8041; BYTE $0x30 // cmpb $48, $-1(%r14) - LONG $0xff768d4d // leaq $-1(%r14), %r14 - LONG $0xfff1840f; WORD $0xffff // je LBB31_70, $-15(%rip) - WORD $0x8841; BYTE $0x10 // movb %dl, (%r8) - LONG $0x01468d49 // leaq $1(%r14), %rax - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x2948; BYTE $0xf1 // subq %rsi, %rcx - LONG $0x02f98348 // cmpq $2, %rcx - LONG $0x00068c0f; WORD $0x0000 // jl LBB31_73, $6(%rip) - WORD $0x06c6; BYTE $0x2e // movb $46, (%rsi) - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - -LBB31_73: - LONG $0x6506c641 // movb $101, (%r14) - LONG $0xff428d41 // leal $-1(%r10), %eax - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x01228e0f; WORD $0x0000 // jle LBB31_76, $290(%rip) - LONG $0x0146c641; BYTE $0x2b // movb $43, $1(%r14) - WORD $0xf883; BYTE $0x0a // cmpl $10, %eax - LONG $0x01248c0f; WORD $0x0000 // jl LBB31_77, $292(%rip) - -LBB31_75: - WORD $0x9848 // cltq - LONG $0x5c0d8d48; WORD $0x003d; BYTE $0x00 // leaq $15708(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x46894166; BYTE $0x02 // movw %ax, $2(%r14) - LONG $0x04c68349 // addq $4, %r14 - WORD $0x894d; BYTE $0xf0 // movq %r14, %r8 - LONG $0x000839e9; BYTE $0x00 // jmp LBB31_136, $2105(%rip) - -LBB31_32: - WORD $0xeed3 // shrl %cl, %esi - LONG $0x86a0fe81; WORD $0x0001 // cmpl $100000, %esi - LONG $0x01ee820f; WORD $0x0000 // jb LBB31_52, $494(%rip) - LONG $0x000006b8; BYTE $0x00 // movl $6, %eax - LONG $0x4240fe81; WORD $0x000f // cmpl $1000000, %esi - LONG $0x0020820f; WORD $0x0000 // jb LBB31_36, $32(%rip) - LONG $0x000007b8; BYTE $0x00 // movl $7, %eax - LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi - LONG $0x000f820f; WORD $0x0000 // jb LBB31_36, $15(%rip) - LONG $0xe100fe81; WORD $0x05f5 // cmpl $100000000, %esi - LONG $0x000009b8; BYTE $0x00 // movl $9, %eax - LONG $0x00d88348 // sbbq $0, %rax - -LBB31_36: - WORD $0x014c; BYTE $0xc0 // addq %r8, %rax - -LBB31_37: - WORD $0xf189 // movl %esi, %ecx - LONG $0xb71759ba; BYTE $0xd1 // movl $3518437209, %edx - LONG $0xd1af0f48 // imulq %rcx, %rdx - LONG $0x2deac148 // shrq $45, %rdx - LONG $0xd8f0ca69; WORD $0xffff // imull $-10000, %edx, %ecx - WORD $0xf101 // addl %esi, %ecx - LONG $0x1ff16948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rsi - LONG $0x25eec148 // shrq $37, %rsi - WORD $0xde6b; BYTE $0x64 // imull $100, %esi, %ebx - WORD $0xd929 // subl %ebx, %ecx - LONG $0xd71d8d48; WORD $0x003c; BYTE $0x00 // leaq $15575(%rip), %rbx /* _Digits(%rip) */ - LONG $0x4b0cb70f // movzwl (%rbx,%rcx,2), %ecx - LONG $0xfe488966 // movw %cx, $-2(%rax) - LONG $0x730cb70f // movzwl (%rbx,%rsi,2), %ecx - LONG $0xfc488966 // movw %cx, $-4(%rax) - WORD $0x8949; BYTE $0xc1 // movq %rax, %r9 - LONG $0xfcc08348 // addq $-4, %rax - WORD $0xd689 // movl %edx, %esi - WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x01a9830f; WORD $0x0000 // jae LBB31_56, $425(%rip) - LONG $0x0001dfe9; BYTE $0x00 // jmp LBB31_58, $479(%rip) - -LBB31_38: - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x04578f0f; WORD $0x0000 // jg LBB31_96, $1111(%rip) - LONG $0x00c74166; WORD $0x2e30 // movw $11824, (%r8) - LONG $0x02c08349 // addq $2, %r8 - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x0444890f; WORD $0x0000 // jns LBB31_96, $1092(%rip) - WORD $0xd6f7 // notl %esi - WORD $0x2944; BYTE $0xde // subl %r11d, %esi - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0xfe83; BYTE $0x1f // cmpl $31, %esi - LONG $0x0418820f; WORD $0x0000 // jb LBB31_94, $1048(%rip) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x8949; BYTE $0xf7 // movq %rsi, %r15 - LONG $0xe0e78349 // andq $-32, %r15 - LONG $0xe0478d49 // leaq $-32(%r15), %rax - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - LONG $0x05eec149 // shrq $5, %r14 - WORD $0xff49; BYTE $0xc6 // incq %r14 - WORD $0x8945; BYTE $0xf3 // movl %r14d, %r11d - LONG $0x07e38341 // andl $7, %r11d - LONG $0x00e03d48; WORD $0x0000 // cmpq $224, %rax - LONG $0x0311830f; WORD $0x0000 // jae LBB31_88, $785(%rip) - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0x0003a8e9; BYTE $0x00 // jmp LBB31_90, $936(%rip) - -LBB31_76: - LONG $0x0146c641; BYTE $0x2d // movb $45, $1(%r14) - WORD $0xd8f7 // negl %eax - WORD $0xf883; BYTE $0x0a // cmpl $10, %eax - LONG $0xfedc8d0f; WORD $0xffff // jge LBB31_75, $-292(%rip) - -LBB31_77: - WORD $0x3004 // addb $48, %al - LONG $0x02468841 // movb %al, $2(%r14) - LONG $0x03c68349 // addq $3, %r14 - WORD $0x894d; BYTE $0xf0 // movq %r14, %r8 - LONG $0x000721e9; BYTE $0x00 // jmp LBB31_136, $1825(%rip) - -LBB31_43: - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - LONG $0x64fd8341 // cmpl $100, %r13d - LONG $0xfdb7820f; WORD $0xffff // jb LBB31_29, $-585(%rip) - -LBB31_44: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0x181d8d4c; WORD $0x003c; BYTE $0x00 // leaq $15384(%rip), %r11 /* _Digits(%rip) */ - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB31_45: - WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx - LONG $0x25e9c148 // shrq $37, %rcx - WORD $0xd96b; BYTE $0x64 // imull $100, %ecx, %ebx - WORD $0x8944; BYTE $0xea // movl %r13d, %edx - WORD $0xda29 // subl %ebx, %edx - LONG $0x14b70f41; BYTE $0x53 // movzwl (%r11,%rdx,2), %edx - LONG $0xff508966 // movw %dx, $-1(%rax) - LONG $0xfec08348 // addq $-2, %rax - LONG $0x0ffd8141; WORD $0x0027; BYTE $0x00 // cmpl $9999, %r13d - WORD $0x8941; BYTE $0xcd // movl %ecx, %r13d - LONG $0xffcd870f; WORD $0xffff // ja LBB31_45, $-51(%rip) - -LBB31_46: - WORD $0x6349; BYTE $0xc2 // movslq %r10d, %rax - WORD $0xf983; BYTE $0x0a // cmpl $10, %ecx - LONG $0x0022820f; WORD $0x0000 // jb LBB31_48, $34(%rip) - WORD $0xc989 // movl %ecx, %ecx - LONG $0xc8158d48; WORD $0x003b; BYTE $0x00 // leaq $15304(%rip), %rdx /* _Digits(%rip) */ - LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx - LONG $0x08894166 // movw %cx, (%r8) - WORD $0x0149; BYTE $0xc0 // addq %rax, %r8 - WORD $0x3949; BYTE $0xc4 // cmpq %rax, %r12 - LONG $0x00178c0f; WORD $0x0000 // jl LBB31_49, $23(%rip) - LONG $0x0006a1e9; BYTE $0x00 // jmp LBB31_136, $1697(%rip) - -LBB31_48: - WORD $0xc180; BYTE $0x30 // addb $48, %cl - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - WORD $0x0149; BYTE $0xc0 // addq %rax, %r8 - WORD $0x3949; BYTE $0xc4 // cmpq %rax, %r12 - LONG $0x068f8d0f; WORD $0x0000 // jge LBB31_136, $1679(%rip) - -LBB31_49: - LONG $0x21048d4b // leaq (%r9,%r12), %rax - LONG $0x075c8d4c; BYTE $0x01 // leaq $1(%rdi,%rax), %r11 - WORD $0x394d; BYTE $0xc3 // cmpq %r8, %r11 - LONG $0xd8460f4d // cmovbeq %r8, %r11 - LONG $0x0f0c8d4a // leaq (%rdi,%r9), %rcx - WORD $0x014c; BYTE $0xe1 // addq %r12, %rcx - WORD $0x2949; BYTE $0xcb // subq %rcx, %r11 - LONG $0x20fb8349 // cmpq $32, %r11 - LONG $0x01f9820f; WORD $0x0000 // jb LBB31_85, $505(%rip) - WORD $0x894d; BYTE $0xda // movq %r11, %r10 - LONG $0xe0e28349 // andq $-32, %r10 - LONG $0xe04a8d49 // leaq $-32(%r10), %rcx - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - LONG $0x05ebc148 // shrq $5, %rbx - WORD $0xff48; BYTE $0xc3 // incq %rbx - WORD $0xda89 // movl %ebx, %edx - WORD $0xe283; BYTE $0x07 // andl $7, %edx - LONG $0xe0f98148; WORD $0x0000; BYTE $0x00 // cmpq $224, %rcx - LONG $0x00ca830f; WORD $0x0000 // jae LBB31_78, $202(%rip) - WORD $0xc031 // xorl %eax, %eax - LONG $0x00016fe9; BYTE $0x00 // jmp LBB31_80, $367(%rip) - -LBB31_52: - LONG $0x0001b941; WORD $0x0000 // movl $1, %r9d - WORD $0xfe83; BYTE $0x0a // cmpl $10, %esi - LONG $0x0021820f; WORD $0x0000 // jb LBB31_55, $33(%rip) - LONG $0x0002b941; WORD $0x0000 // movl $2, %r9d - WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x0012820f; WORD $0x0000 // jb LBB31_55, $18(%rip) - LONG $0x0003b941; WORD $0x0000 // movl $3, %r9d - LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi - LONG $0x01af830f; WORD $0x0000 // jae LBB31_86, $431(%rip) - -LBB31_55: - WORD $0x014d; BYTE $0xc1 // addq %r8, %r9 - WORD $0x894c; BYTE $0xc8 // movq %r9, %rax - WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x003b820f; WORD $0x0000 // jb LBB31_58, $59(%rip) - -LBB31_56: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0x02158d4c; WORD $0x003b; BYTE $0x00 // leaq $15106(%rip), %r10 /* _Digits(%rip) */ - WORD $0x9090 // .p2align 4, 0x90 - -LBB31_57: - WORD $0xf389 // movl %esi, %ebx - WORD $0xf689 // movl %esi, %esi - LONG $0x1ff66948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rsi, %rsi - LONG $0x25eec148 // shrq $37, %rsi - WORD $0xce6b; BYTE $0x64 // imull $100, %esi, %ecx - WORD $0xda89 // movl %ebx, %edx - WORD $0xca29 // subl %ecx, %edx - LONG $0x0cb70f41; BYTE $0x52 // movzwl (%r10,%rdx,2), %ecx - LONG $0xff488966 // movw %cx, $-1(%rax) - LONG $0xfec08348 // addq $-2, %rax - LONG $0x270ffb81; WORD $0x0000 // cmpl $9999, %ebx - LONG $0xffd1870f; WORD $0xffff // ja LBB31_57, $-47(%rip) - -LBB31_58: - WORD $0xfe83; BYTE $0x0a // cmpl $10, %esi - LONG $0x0016820f; WORD $0x0000 // jb LBB31_60, $22(%rip) - WORD $0xf089 // movl %esi, %eax - LONG $0xbf0d8d48; WORD $0x003a; BYTE $0x00 // leaq $15039(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x00894166 // movw %ax, (%r8) - LONG $0x000007e9; BYTE $0x00 // jmp LBB31_61, $7(%rip) - -LBB31_60: - LONG $0x30c68040 // addb $48, %sil - WORD $0x8841; BYTE $0x30 // movb %sil, (%r8) - -LBB31_61: - WORD $0x2941; BYTE $0xf9 // subl %edi, %r9d - WORD $0x8945; BYTE $0xc8 // movl %r9d, %r8d - LONG $0x000595e9; BYTE $0x00 // jmp LBB31_137, $1429(%rip) - -LBB31_62: - LONG $0x0004b941; WORD $0x0000 // movl $4, %r9d - LONG $0xfc4e8d49 // leaq $-4(%r14), %rcx - WORD $0xfb83; BYTE $0x64 // cmpl $100, %ebx - LONG $0xfbad820f; WORD $0xffff // jb LBB31_31, $-1107(%rip) - LONG $0xfffc53e9; BYTE $0xff // jmp LBB31_64, $-941(%rip) - -LBB31_78: - QUAD $0x000000f0078c8d48 // leaq $240(%rdi,%rax), %rcx - LONG $0xf8e38348 // andq $-8, %rbx - WORD $0xf748; BYTE $0xdb // negq %rbx - WORD $0xc031 // xorl %eax, %eax - QUAD $0xfffff89f056f0f66 // movdqa $-1889(%rip), %xmm0 /* LCPI31_0(%rip) */ - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_79: - QUAD $0xffff1001847f0ff3; BYTE $0xff // movdqu %xmm0, $-240(%rcx,%rax) - QUAD $0xffff2001847f0ff3; BYTE $0xff // movdqu %xmm0, $-224(%rcx,%rax) - QUAD $0xffff3001847f0ff3; BYTE $0xff // movdqu %xmm0, $-208(%rcx,%rax) - QUAD $0xffff4001847f0ff3; BYTE $0xff // movdqu %xmm0, $-192(%rcx,%rax) - QUAD $0xffff5001847f0ff3; BYTE $0xff // movdqu %xmm0, $-176(%rcx,%rax) - QUAD $0xffff6001847f0ff3; BYTE $0xff // movdqu %xmm0, $-160(%rcx,%rax) - QUAD $0xffff7001847f0ff3; BYTE $0xff // movdqu %xmm0, $-144(%rcx,%rax) - LONG $0x447f0ff3; WORD $0x8001 // movdqu %xmm0, $-128(%rcx,%rax) - LONG $0x447f0ff3; WORD $0x9001 // movdqu %xmm0, $-112(%rcx,%rax) - LONG $0x447f0ff3; WORD $0xa001 // movdqu %xmm0, $-96(%rcx,%rax) - LONG $0x447f0ff3; WORD $0xb001 // movdqu %xmm0, $-80(%rcx,%rax) - LONG $0x447f0ff3; WORD $0xc001 // movdqu %xmm0, $-64(%rcx,%rax) - LONG $0x447f0ff3; WORD $0xd001 // movdqu %xmm0, $-48(%rcx,%rax) - LONG $0x447f0ff3; WORD $0xe001 // movdqu %xmm0, $-32(%rcx,%rax) - LONG $0x447f0ff3; WORD $0xf001 // movdqu %xmm0, $-16(%rcx,%rax) - LONG $0x047f0ff3; BYTE $0x01 // movdqu %xmm0, (%rcx,%rax) - LONG $0x01000548; WORD $0x0000 // addq $256, %rax - LONG $0x08c38348 // addq $8, %rbx - LONG $0xff7c850f; WORD $0xffff // jne LBB31_79, $-132(%rip) - -LBB31_80: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0039840f; WORD $0x0000 // je LBB31_83, $57(%rip) - WORD $0x014c; BYTE $0xc8 // addq %r9, %rax - WORD $0x014c; BYTE $0xe0 // addq %r12, %rax - LONG $0x07448d48; BYTE $0x10 // leaq $16(%rdi,%rax), %rax - WORD $0xf748; BYTE $0xda // negq %rdx - QUAD $0xfffff7ed056f0f66 // movdqa $-2067(%rip), %xmm0 /* LCPI31_0(%rip) */ - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_82: - LONG $0x407f0ff3; BYTE $0xf0 // movdqu %xmm0, $-16(%rax) - LONG $0x007f0ff3 // movdqu %xmm0, (%rax) - LONG $0x20c08348 // addq $32, %rax - WORD $0xff48; BYTE $0xc2 // incq %rdx - LONG $0xffea850f; WORD $0xffff // jne LBB31_82, $-22(%rip) - -LBB31_83: - WORD $0x394d; BYTE $0xda // cmpq %r11, %r10 - LONG $0x0483840f; WORD $0x0000 // je LBB31_136, $1155(%rip) - WORD $0x014c; BYTE $0xd6 // addq %r10, %rsi - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB31_85: - WORD $0x06c6; BYTE $0x30 // movb $48, (%rsi) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x394c; BYTE $0xc6 // cmpq %r8, %rsi - LONG $0xfff1820f; WORD $0xffff // jb LBB31_85, $-15(%rip) - LONG $0x00045ee9; BYTE $0x00 // jmp LBB31_136, $1118(%rip) - -LBB31_86: - LONG $0x2710fe81; WORD $0x0000 // cmpl $10000, %esi - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0x00d88348 // sbbq $0, %rax - LONG $0x05c08348 // addq $5, %rax - LONG $0x2710fe81; WORD $0x0000 // cmpl $10000, %esi - LONG $0xfc4a830f; WORD $0xffff // jae LBB31_37, $-950(%rip) - WORD $0x8949; BYTE $0xc1 // movq %rax, %r9 - LONG $0xfffe3be9; BYTE $0xff // jmp LBB31_56, $-453(%rip) - -LBB31_88: - QUAD $0x000000f239848d49 // leaq $242(%r9,%rdi), %rax - LONG $0xf8e68349 // andq $-8, %r14 - WORD $0xf749; BYTE $0xde // negq %r14 - WORD $0xdb31 // xorl %ebx, %ebx - QUAD $0xfffff75e056f0f66 // movdqa $-2210(%rip), %xmm0 /* LCPI31_0(%rip) */ - -LBB31_89: - QUAD $0xffff1018847f0ff3; BYTE $0xff // movdqu %xmm0, $-240(%rax,%rbx) - QUAD $0xffff2018847f0ff3; BYTE $0xff // movdqu %xmm0, $-224(%rax,%rbx) - QUAD $0xffff3018847f0ff3; BYTE $0xff // movdqu %xmm0, $-208(%rax,%rbx) - QUAD $0xffff4018847f0ff3; BYTE $0xff // movdqu %xmm0, $-192(%rax,%rbx) - QUAD $0xffff5018847f0ff3; BYTE $0xff // movdqu %xmm0, $-176(%rax,%rbx) - QUAD $0xffff6018847f0ff3; BYTE $0xff // movdqu %xmm0, $-160(%rax,%rbx) - QUAD $0xffff7018847f0ff3; BYTE $0xff // movdqu %xmm0, $-144(%rax,%rbx) - LONG $0x447f0ff3; WORD $0x8018 // movdqu %xmm0, $-128(%rax,%rbx) - LONG $0x447f0ff3; WORD $0x9018 // movdqu %xmm0, $-112(%rax,%rbx) - LONG $0x447f0ff3; WORD $0xa018 // movdqu %xmm0, $-96(%rax,%rbx) - LONG $0x447f0ff3; WORD $0xb018 // movdqu %xmm0, $-80(%rax,%rbx) - LONG $0x447f0ff3; WORD $0xc018 // movdqu %xmm0, $-64(%rax,%rbx) - LONG $0x447f0ff3; WORD $0xd018 // movdqu %xmm0, $-48(%rax,%rbx) - LONG $0x447f0ff3; WORD $0xe018 // movdqu %xmm0, $-32(%rax,%rbx) - LONG $0x447f0ff3; WORD $0xf018 // movdqu %xmm0, $-16(%rax,%rbx) - LONG $0x047f0ff3; BYTE $0x18 // movdqu %xmm0, (%rax,%rbx) - LONG $0x00c38148; WORD $0x0001; BYTE $0x00 // addq $256, %rbx - LONG $0x08c68349 // addq $8, %r14 - LONG $0xff7b850f; WORD $0xffff // jne LBB31_89, $-133(%rip) - -LBB31_90: - WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x0029840f; WORD $0x0000 // je LBB31_93, $41(%rip) - WORD $0x014c; BYTE $0xcb // addq %r9, %rbx - LONG $0x1f448d48; BYTE $0x12 // leaq $18(%rdi,%rbx), %rax - WORD $0xf749; BYTE $0xdb // negq %r11 - QUAD $0xfffff6bd056f0f66 // movdqa $-2371(%rip), %xmm0 /* LCPI31_0(%rip) */ - -LBB31_92: - LONG $0x407f0ff3; BYTE $0xf0 // movdqu %xmm0, $-16(%rax) - LONG $0x007f0ff3 // movdqu %xmm0, (%rax) - LONG $0x20c08348 // addq $32, %rax - WORD $0xff49; BYTE $0xc3 // incq %r11 - LONG $0xffea850f; WORD $0xffff // jne LBB31_92, $-22(%rip) - -LBB31_93: - WORD $0x014d; BYTE $0xf8 // addq %r15, %r8 - WORD $0x394c; BYTE $0xfe // cmpq %r15, %rsi - LONG $0x001b840f; WORD $0x0000 // je LBB31_96, $27(%rip) - -LBB31_94: - WORD $0x0145; BYTE $0xd7 // addl %r10d, %r15d - WORD $0xf741; BYTE $0xdf // negl %r15d - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_95: - LONG $0x3000c641 // movb $48, (%r8) - WORD $0xff49; BYTE $0xc0 // incq %r8 - WORD $0xff41; BYTE $0xcf // decl %r15d - LONG $0xfff0850f; WORD $0xffff // jne LBB31_95, $-16(%rip) - -LBB31_96: - LONG $0x20048d4b // leaq (%r8,%r12), %rax - LONG $0x10fd8141; WORD $0x0027; BYTE $0x00 // cmpl $10000, %r13d - LONG $0x0063820f; WORD $0x0000 // jb LBB31_99, $99(%rip) - WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - LONG $0x1759bb41; WORD $0xd1b7 // movl $3518437209, %r11d - LONG $0xd9af0f4c // imulq %rcx, %r11 - LONG $0x2debc149 // shrq $45, %r11 - LONG $0xf0cb6941; WORD $0xffd8; BYTE $0xff // imull $-10000, %r11d, %ecx - WORD $0x0144; BYTE $0xe9 // addl %r13d, %ecx - LONG $0x0190840f; WORD $0x0000 // je LBB31_101, $400(%rip) - WORD $0xca89 // movl %ecx, %edx - LONG $0x1fd26948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rdx, %rdx - LONG $0x25eac148 // shrq $37, %rdx - WORD $0xda6b; BYTE $0x64 // imull $100, %edx, %ebx - WORD $0xd929 // subl %ebx, %ecx - LONG $0x051d8d48; WORD $0x0038; BYTE $0x00 // leaq $14341(%rip), %rbx /* _Digits(%rip) */ - LONG $0x4b0cb70f // movzwl (%rbx,%rcx,2), %ecx - LONG $0xfe488966 // movw %cx, $-2(%rax) - LONG $0x530cb70f // movzwl (%rbx,%rdx,2), %ecx - LONG $0xfc488966 // movw %cx, $-4(%rax) - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0xfcc08348 // addq $-4, %rax - LONG $0x64fb8341 // cmpl $100, %r11d - LONG $0x0018830f; WORD $0x0000 // jae LBB31_103, $24(%rip) - -LBB31_100: - WORD $0x8944; BYTE $0xd9 // movl %r11d, %ecx - LONG $0x00004ee9; BYTE $0x00 // jmp LBB31_105, $78(%rip) - -LBB31_99: - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x8945; BYTE $0xeb // movl %r13d, %r11d - LONG $0x64fb8341 // cmpl $100, %r11d - LONG $0xffe8820f; WORD $0xffff // jb LBB31_100, $-24(%rip) - -LBB31_103: - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0xc2158d48; WORD $0x0037; BYTE $0x00 // leaq $14274(%rip), %rdx /* _Digits(%rip) */ - WORD $0x9090 // .p2align 4, 0x90 - -LBB31_104: - WORD $0x8944; BYTE $0xd9 // movl %r11d, %ecx - LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx - LONG $0x25e9c148 // shrq $37, %rcx - WORD $0xd96b; BYTE $0x64 // imull $100, %ecx, %ebx - WORD $0x8944; BYTE $0xde // movl %r11d, %esi - WORD $0xde29 // subl %ebx, %esi - LONG $0x7234b70f // movzwl (%rdx,%rsi,2), %esi - LONG $0xff708966 // movw %si, $-1(%rax) - LONG $0xfec08348 // addq $-2, %rax - LONG $0x0ffb8141; WORD $0x0027; BYTE $0x00 // cmpl $9999, %r11d - WORD $0x8941; BYTE $0xcb // movl %ecx, %r11d - LONG $0xffce870f; WORD $0xffff // ja LBB31_104, $-50(%rip) - -LBB31_105: - WORD $0xf983; BYTE $0x0a // cmpl $10, %ecx - LONG $0x0016820f; WORD $0x0000 // jb LBB31_107, $22(%rip) - WORD $0xc889 // movl %ecx, %eax - LONG $0x7c0d8d48; WORD $0x0037; BYTE $0x00 // leaq $14204(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x00894166 // movw %ax, (%r8) - LONG $0x000006e9; BYTE $0x00 // jmp LBB31_108, $6(%rip) - -LBB31_107: - WORD $0xc180; BYTE $0x30 // addb $48, %cl - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - -LBB31_108: - WORD $0x294d; BYTE $0xcc // subq %r9, %r12 - LONG $0x24548d49; BYTE $0x01 // leaq $1(%r12), %rdx - LONG $0x24748d49; BYTE $0x11 // leaq $17(%r12), %rsi - LONG $0x24448d49; BYTE $0x02 // leaq $2(%r12), %rax - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_109: - WORD $0xff48; BYTE $0xce // decq %rsi - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0xff48; BYTE $0xc8 // decq %rax - LONG $0x207c8043; WORD $0x30ff // cmpb $48, $-1(%r8,%r12) - LONG $0x24648d4d; BYTE $0xff // leaq $-1(%r12), %r12 - LONG $0xffe6840f; WORD $0xffff // je LBB31_109, $-26(%rip) - LONG $0x100c8d4d // leaq (%r8,%rdx), %r9 - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x00938e0f; WORD $0x0000 // jle LBB31_115, $147(%rip) - WORD $0x8944; BYTE $0xc9 // movl %r9d, %ecx - WORD $0x2944; BYTE $0xc1 // subl %r8d, %ecx - WORD $0xcb89 // movl %ecx, %ebx - WORD $0x2944; BYTE $0xd3 // subl %r10d, %ebx - LONG $0x00278e0f; WORD $0x0000 // jle LBB31_116, $39(%rip) - WORD $0xdb85 // testl %ebx, %ebx - LONG $0x00fa8e0f; WORD $0x0000 // jle LBB31_127, $250(%rip) - WORD $0x8941; BYTE $0xdb // movl %ebx, %r11d - LONG $0xff4b8d49 // leaq $-1(%r11), %rcx - WORD $0x8945; BYTE $0xd9 // movl %r11d, %r9d - LONG $0x03e18341 // andl $3, %r9d - LONG $0x03f98348 // cmpq $3, %rcx - LONG $0x0083830f; WORD $0x0000 // jae LBB31_121, $131(%rip) - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x0000ade9; BYTE $0x00 // jmp LBB31_124, $173(%rip) - -LBB31_116: - WORD $0x8945; BYTE $0xd6 // movl %r10d, %r14d - WORD $0x2941; BYTE $0xce // subl %ecx, %r14d - LONG $0x004f8e0f; WORD $0x0000 // jle LBB31_115, $79(%rip) - WORD $0x0145; BYTE $0xc2 // addl %r8d, %r10d - WORD $0x8945; BYTE $0xcb // movl %r9d, %r11d - WORD $0xf741; BYTE $0xd3 // notl %r11d - WORD $0x0145; BYTE $0xd3 // addl %r10d, %r11d - WORD $0xc031 // xorl %eax, %eax - LONG $0x1efb8341 // cmpl $30, %r11d - LONG $0x01a5860f; WORD $0x0000 // jbe LBB31_134, $421(%rip) - WORD $0xff49; BYTE $0xc3 // incq %r11 - WORD $0x894c; BYTE $0xd8 // movq %r11, %rax - LONG $0xe0e08348 // andq $-32, %rax - LONG $0x000c8d4d // leaq (%r8,%rax), %r9 - LONG $0xe0488d48 // leaq $-32(%rax), %rcx - WORD $0x8949; BYTE $0xcf // movq %rcx, %r15 - LONG $0x05efc149 // shrq $5, %r15 - WORD $0xff49; BYTE $0xc7 // incq %r15 - WORD $0x8945; BYTE $0xfa // movl %r15d, %r10d - LONG $0x07e28341 // andl $7, %r10d - LONG $0xe0f98148; WORD $0x0000; BYTE $0x00 // cmpq $224, %rcx - LONG $0x0097830f; WORD $0x0000 // jae LBB31_128, $151(%rip) - WORD $0xc931 // xorl %ecx, %ecx - LONG $0x00012de9; BYTE $0x00 // jmp LBB31_130, $301(%rip) - -LBB31_115: - WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 - LONG $0x000180e9; BYTE $0x00 // jmp LBB31_136, $384(%rip) - -LBB31_101: - LONG $0x0004b941; WORD $0x0000 // movl $4, %r9d - LONG $0xfcc08348 // addq $-4, %rax - LONG $0x64fb8341 // cmpl $100, %r11d - LONG $0xfe96820f; WORD $0xffff // jb LBB31_100, $-362(%rip) - LONG $0xfffea9e9; BYTE $0xff // jmp LBB31_103, $-343(%rip) - -LBB31_121: - LONG $0xfce38341 // andl $-4, %r11d - WORD $0xf749; BYTE $0xdb // negq %r11 - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB31_122: - LONG $0x081c8d49 // leaq (%r8,%rcx), %rbx - LONG $0xfc1a748b // movl $-4(%rdx,%rbx), %esi - LONG $0xfd1a7489 // movl %esi, $-3(%rdx,%rbx) - LONG $0xfcc18348 // addq $-4, %rcx - WORD $0x3949; BYTE $0xcb // cmpq %rcx, %r11 - LONG $0xffe7850f; WORD $0xffff // jne LBB31_122, $-25(%rip) - WORD $0xf748; BYTE $0xd9 // negq %rcx - -LBB31_124: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x0025840f; WORD $0x0000 // je LBB31_127, $37(%rip) - WORD $0xf749; BYTE $0xd9 // negq %r9 - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - WORD $0x2948; BYTE $0xca // subq %rcx, %rdx - WORD $0xc931 // xorl %ecx, %ecx - - // .p2align 4, 0x90 -LBB31_126: - LONG $0x0a348d48 // leaq (%rdx,%rcx), %rsi - LONG $0x1cb60f41; BYTE $0x34 // movzbl (%r12,%rsi), %ebx - LONG $0x345c8841; BYTE $0x01 // movb %bl, $1(%r12,%rsi) - WORD $0xff48; BYTE $0xc9 // decq %rcx - WORD $0x3949; BYTE $0xc9 // cmpq %rcx, %r9 - LONG $0xffe6850f; WORD $0xffff // jne LBB31_126, $-26(%rip) - -LBB31_127: - WORD $0x6349; BYTE $0xca // movslq %r10d, %rcx - LONG $0x0804c641; BYTE $0x2e // movb $46, (%r8,%rcx) - WORD $0x0149; BYTE $0xc0 // addq %rax, %r8 - LONG $0x0000f8e9; BYTE $0x00 // jmp LBB31_136, $248(%rip) - -LBB31_128: - LONG $0xf8e78349 // andq $-8, %r15 - WORD $0xf749; BYTE $0xdf // negq %r15 - WORD $0xc931 // xorl %ecx, %ecx - QUAD $0xfffff425056f0f66 // movdqa $-3035(%rip), %xmm0 /* LCPI31_0(%rip) */ - -LBB31_129: - LONG $0x081c8d49 // leaq (%r8,%rcx), %rbx - LONG $0x047f0ff3; BYTE $0x1a // movdqu %xmm0, (%rdx,%rbx) - LONG $0x447f0ff3; WORD $0x101a // movdqu %xmm0, $16(%rdx,%rbx) - LONG $0x447f0ff3; WORD $0x201a // movdqu %xmm0, $32(%rdx,%rbx) - LONG $0x447f0ff3; WORD $0x301a // movdqu %xmm0, $48(%rdx,%rbx) - LONG $0x447f0ff3; WORD $0x401a // movdqu %xmm0, $64(%rdx,%rbx) - LONG $0x447f0ff3; WORD $0x501a // movdqu %xmm0, $80(%rdx,%rbx) - LONG $0x447f0ff3; WORD $0x601a // movdqu %xmm0, $96(%rdx,%rbx) - LONG $0x447f0ff3; WORD $0x701a // movdqu %xmm0, $112(%rdx,%rbx) - QUAD $0x0000801a847f0ff3; BYTE $0x00 // movdqu %xmm0, $128(%rdx,%rbx) - QUAD $0x0000901a847f0ff3; BYTE $0x00 // movdqu %xmm0, $144(%rdx,%rbx) - QUAD $0x0000a01a847f0ff3; BYTE $0x00 // movdqu %xmm0, $160(%rdx,%rbx) - QUAD $0x0000b01a847f0ff3; BYTE $0x00 // movdqu %xmm0, $176(%rdx,%rbx) - QUAD $0x0000c01a847f0ff3; BYTE $0x00 // movdqu %xmm0, $192(%rdx,%rbx) - QUAD $0x0000d01a847f0ff3; BYTE $0x00 // movdqu %xmm0, $208(%rdx,%rbx) - QUAD $0x0000e01a847f0ff3; BYTE $0x00 // movdqu %xmm0, $224(%rdx,%rbx) - QUAD $0x0000f01a847f0ff3; BYTE $0x00 // movdqu %xmm0, $240(%rdx,%rbx) - LONG $0x00c18148; WORD $0x0001; BYTE $0x00 // addq $256, %rcx - LONG $0x08c78349 // addq $8, %r15 - LONG $0xff74850f; WORD $0xffff // jne LBB31_129, $-140(%rip) - -LBB31_130: - WORD $0x0149; BYTE $0xd1 // addq %rdx, %r9 - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0029840f; WORD $0x0000 // je LBB31_133, $41(%rip) - WORD $0x0149; BYTE $0xc8 // addq %rcx, %r8 - WORD $0x0149; BYTE $0xf0 // addq %rsi, %r8 - WORD $0xf749; BYTE $0xda // negq %r10 - QUAD $0xfffff37c056f0f66 // movdqa $-3204(%rip), %xmm0 /* LCPI31_0(%rip) */ - -LBB31_132: - LONG $0x7f0f41f3; WORD $0xf040 // movdqu %xmm0, $-16(%r8) - LONG $0x7f0f41f3; BYTE $0x00 // movdqu %xmm0, (%r8) - LONG $0x20c08349 // addq $32, %r8 - WORD $0xff49; BYTE $0xc2 // incq %r10 - LONG $0xffe8850f; WORD $0xffff // jne LBB31_132, $-24(%rip) - -LBB31_133: - WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 - WORD $0x3949; BYTE $0xc3 // cmpq %rax, %r11 - LONG $0x001a840f; WORD $0x0000 // je LBB31_136, $26(%rip) - -LBB31_134: - WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 - LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB31_135: - LONG $0x3000c641 // movb $48, (%r8) - WORD $0xff49; BYTE $0xc0 // incq %r8 - WORD $0xc0ff // incl %eax - WORD $0x3944; BYTE $0xf0 // cmpl %r14d, %eax - LONG $0xffee8c0f; WORD $0xffff // jl LBB31_135, $-18(%rip) - -LBB31_136: - WORD $0x2941; BYTE $0xf8 // subl %edi, %r8d - -LBB31_137: - WORD $0x8944; BYTE $0xc0 // movl %r8d, %eax - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB31_138: - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0xffffeae9; BYTE $0xff // jmp LBB31_137, $-22(%rip) - -LBB31_139: - LONG $0xff6bbf41; WORD $0xffff // movl $-149, %r15d - WORD $0xc689 // movl %eax, %esi - LONG $0xfff3a5e9; BYTE $0xff // jmp LBB31_5, $-3163(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -_format_significand: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0x634c; BYTE $0xc2 // movslq %edx, %r8 - WORD $0x0149; BYTE $0xf0 // addq %rsi, %r8 - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0x20e8c148 // shrq $32, %rax - LONG $0x001c850f; WORD $0x0000 // jne LBB32_2, $28(%rip) - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - WORD $0x894d; BYTE $0xc6 // movq %r8, %r14 - WORD $0x8948; BYTE $0xfa // movq %rdi, %rdx - LONG $0x2710fa81; WORD $0x0000 // cmpl $10000, %edx - LONG $0x00e3830f; WORD $0x0000 // jae LBB32_8, $227(%rip) - -LBB32_7: - WORD $0xd789 // movl %edx, %edi - LONG $0x000132e9; BYTE $0x00 // jmp LBB32_10, $306(%rip) - -LBB32_2: - QUAD $0x77118461cefdb948; WORD $0xabcc // movabsq $-6067343680855748867, %rcx - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - WORD $0xf748; BYTE $0xe1 // mulq %rcx - LONG $0x1aeac148 // shrq $26, %rdx - LONG $0x1f00ca69; WORD $0xfa0a // imull $-100000000, %edx, %ecx - WORD $0xf901 // addl %edi, %ecx - LONG $0x00a4840f; WORD $0x0000 // je LBB32_3, $164(%rip) - WORD $0xc889 // movl %ecx, %eax - LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - LONG $0xc1af0f49 // imulq %r9, %rax - LONG $0x2de8c148 // shrq $45, %rax - LONG $0x2710f869; WORD $0x0000 // imull $10000, %eax, %edi - WORD $0xf929 // subl %edi, %ecx - WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0xf9af0f49 // imulq %r9, %rdi - LONG $0x2defc148 // shrq $45, %rdi - LONG $0x2710ff69; WORD $0x0000 // imull $10000, %edi, %edi - WORD $0xf829 // subl %edi, %eax - WORD $0xb70f; BYTE $0xf9 // movzwl %cx, %edi - WORD $0xefc1; BYTE $0x02 // shrl $2, %edi - LONG $0x7bcf6944; WORD $0x0014; BYTE $0x00 // imull $5243, %edi, %r9d - LONG $0x11e9c141 // shrl $17, %r9d - LONG $0x64f96b41 // imull $100, %r9d, %edi - WORD $0xf929 // subl %edi, %ecx - LONG $0xd1b70f44 // movzwl %cx, %r10d - WORD $0xb70f; BYTE $0xf8 // movzwl %ax, %edi - WORD $0xefc1; BYTE $0x02 // shrl $2, %edi - LONG $0x147bff69; WORD $0x0000 // imull $5243, %edi, %edi - WORD $0xefc1; BYTE $0x11 // shrl $17, %edi - WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx - WORD $0xc829 // subl %ecx, %eax - LONG $0xd8b70f44 // movzwl %ax, %r11d - LONG $0x230d8d48; WORD $0x0034; BYTE $0x00 // leaq $13347(%rip), %rcx /* _Digits(%rip) */ - LONG $0x04b70f42; BYTE $0x51 // movzwl (%rcx,%r10,2), %eax - LONG $0x40894166; BYTE $0xfe // movw %ax, $-2(%r8) - LONG $0x04b70f42; BYTE $0x49 // movzwl (%rcx,%r9,2), %eax - LONG $0x40894166; BYTE $0xfc // movw %ax, $-4(%r8) - LONG $0x04b70f42; BYTE $0x59 // movzwl (%rcx,%r11,2), %eax - LONG $0x40894166; BYTE $0xfa // movw %ax, $-6(%r8) - LONG $0x7904b70f // movzwl (%rcx,%rdi,2), %eax - LONG $0x40894166; BYTE $0xf8 // movw %ax, $-8(%r8) - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0xf8708d4d // leaq $-8(%r8), %r14 - LONG $0x2710fa81; WORD $0x0000 // cmpl $10000, %edx - LONG $0xff38820f; WORD $0xffff // jb LBB32_7, $-200(%rip) - LONG $0x000016e9; BYTE $0x00 // jmp LBB32_8, $22(%rip) - -LBB32_3: - LONG $0x0008b941; WORD $0x0000 // movl $8, %r9d - LONG $0xf8708d4d // leaq $-8(%r8), %r14 - LONG $0x2710fa81; WORD $0x0000 // cmpl $10000, %edx - LONG $0xff1d820f; WORD $0xffff // jb LBB32_7, $-227(%rip) - -LBB32_8: - LONG $0x1759ba41; WORD $0xd1b7 // movl $3518437209, %r10d - LONG $0xc11d8d4c; WORD $0x0033; BYTE $0x00 // leaq $13249(%rip), %r11 /* _Digits(%rip) */ - BYTE $0x90 // .p2align 4, 0x90 - -LBB32_9: - WORD $0xd789 // movl %edx, %edi - LONG $0xfaaf0f49 // imulq %r10, %rdi - LONG $0x2defc148 // shrq $45, %rdi - LONG $0xd8f0c769; WORD $0xffff // imull $-10000, %edi, %eax - WORD $0xd001 // addl %edx, %eax - LONG $0x1fd86948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rax, %rbx - LONG $0x25ebc148 // shrq $37, %rbx - WORD $0xcb6b; BYTE $0x64 // imull $100, %ebx, %ecx - WORD $0xc829 // subl %ecx, %eax - LONG $0x04b70f41; BYTE $0x43 // movzwl (%r11,%rax,2), %eax - LONG $0x46894166; BYTE $0xfe // movw %ax, $-2(%r14) - LONG $0x04b70f41; BYTE $0x5b // movzwl (%r11,%rbx,2), %eax - LONG $0x46894166; BYTE $0xfc // movw %ax, $-4(%r14) - LONG $0xfcc68349 // addq $-4, %r14 - LONG $0xe0fffa81; WORD $0x05f5 // cmpl $99999999, %edx - WORD $0xfa89 // movl %edi, %edx - LONG $0xffb8870f; WORD $0xffff // ja LBB32_9, $-72(%rip) - -LBB32_10: - WORD $0xff83; BYTE $0x64 // cmpl $100, %edi - LONG $0x0020830f; WORD $0x0000 // jae LBB32_11, $32(%rip) - WORD $0xff83; BYTE $0x0a // cmpl $10, %edi - LONG $0x004d820f; WORD $0x0000 // jb LBB32_14, $77(%rip) - -LBB32_13: - WORD $0xf889 // movl %edi, %eax - LONG $0x5d0d8d48; WORD $0x0033; BYTE $0x00 // leaq $13149(%rip), %rcx /* _Digits(%rip) */ - LONG $0x4104b70f // movzwl (%rcx,%rax,2), %eax - LONG $0x46894166; BYTE $0xfe // movw %ax, $-2(%r14) - LONG $0x00003de9; BYTE $0x00 // jmp LBB32_15, $61(%rip) - -LBB32_11: - WORD $0xb70f; BYTE $0xc7 // movzwl %di, %eax - WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax - LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax - WORD $0xe8c1; BYTE $0x11 // shrl $17, %eax - WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx - WORD $0xcf29 // subl %ecx, %edi - WORD $0xb70f; BYTE $0xcf // movzwl %di, %ecx - LONG $0x31158d48; WORD $0x0033; BYTE $0x00 // leaq $13105(%rip), %rdx /* _Digits(%rip) */ - LONG $0x4a0cb70f // movzwl (%rdx,%rcx,2), %ecx - LONG $0x4e894166; BYTE $0xfe // movw %cx, $-2(%r14) - LONG $0xfec68349 // addq $-2, %r14 - WORD $0xc789 // movl %eax, %edi - WORD $0xff83; BYTE $0x0a // cmpl $10, %edi - LONG $0xffb3830f; WORD $0xffff // jae LBB32_13, $-77(%rip) - -LBB32_14: - LONG $0x30c78040 // addb $48, %dil - WORD $0x8840; BYTE $0x3e // movb %dil, (%rsi) - -LBB32_15: - WORD $0x294d; BYTE $0xc8 // subq %r9, %r8 - WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -_left_shift: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0xf189 // movl %esi, %ecx - LONG $0x68d16b48 // imulq $104, %rcx, %rdx - LONG $0xdc358d48; WORD $0x008c; BYTE $0x00 // leaq $36060(%rip), %rsi /* _LSHIFT_TAB(%rip) */ - LONG $0x32048b44 // movl (%rdx,%rsi), %r8d - WORD $0x8b4c; BYTE $0x17 // movq (%rdi), %r10 - LONG $0x104f634c // movslq $16(%rdi), %r9 - LONG $0x0432448a // movb $4(%rdx,%rsi), %al - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x0036840f; WORD $0x0000 // je LBB33_6, $54(%rip) - LONG $0x32548d48; BYTE $0x05 // leaq $5(%rdx,%rsi), %rdx - WORD $0xf631 // xorl %esi, %esi - QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB33_3: - WORD $0xc084 // testb %al, %al - LONG $0x0025840f; WORD $0x0000 // je LBB33_8, $37(%rip) - LONG $0x32043841 // cmpb %al, (%r10,%rsi) - LONG $0x0189850f; WORD $0x0000 // jne LBB33_5, $393(%rip) - LONG $0x3204b60f // movzbl (%rdx,%rsi), %eax - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x3949; BYTE $0xf1 // cmpq %rsi, %r9 - LONG $0xffde850f; WORD $0xffff // jne LBB33_3, $-34(%rip) - -LBB33_6: - WORD $0xc084 // testb %al, %al - LONG $0x0003840f; WORD $0x0000 // je LBB33_8, $3(%rip) - -LBB33_7: - WORD $0xff41; BYTE $0xc8 // decl %r8d - -LBB33_8: - WORD $0x8545; BYTE $0xc9 // testl %r9d, %r9d - LONG $0x008c8e0f; WORD $0x0000 // jle LBB33_23, $140(%rip) - LONG $0x08048d43 // leal (%r8,%r9), %eax - WORD $0x634c; BYTE $0xf0 // movslq %eax, %r14 - WORD $0xff49; BYTE $0xce // decq %r14 - WORD $0xd231 // xorl %edx, %edx - QUAD $0xcccccccccccdbb49; WORD $0xcccc // movabsq $-3689348814741910323, %r11 - LONG $0x90909090 // .p2align 4, 0x90 - -LBB33_10: - LONG $0x74be0f4b; WORD $0xff0a // movsbq $-1(%r10,%r9), %rsi - LONG $0xd0c68348 // addq $-48, %rsi - WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi - WORD $0x0148; BYTE $0xd6 // addq %rdx, %rsi - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - LONG $0x03eac148 // shrq $3, %rdx - LONG $0x12048d48 // leaq (%rdx,%rdx), %rax - LONG $0x801c8d48 // leaq (%rax,%rax,4), %rbx - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x2948; BYTE $0xd8 // subq %rbx, %rax - LONG $0x0877394c // cmpq %r14, $8(%rdi) - LONG $0x000e860f; WORD $0x0000 // jbe LBB33_16, $14(%rip) - WORD $0x3004 // addb $48, %al - LONG $0x32048843 // movb %al, (%r10,%r14) - LONG $0x000013e9; BYTE $0x00 // jmp LBB33_18, $19(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB33_16: - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0007840f; WORD $0x0000 // je LBB33_18, $7(%rip) - LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - -LBB33_18: - LONG $0x02f98349 // cmpq $2, %r9 - LONG $0x000e8c0f; WORD $0x0000 // jl LBB33_12, $14(%rip) - WORD $0xff49; BYTE $0xc9 // decq %r9 - WORD $0x8b4c; BYTE $0x17 // movq (%rdi), %r10 - WORD $0xff49; BYTE $0xce // decq %r14 - LONG $0xffff98e9; BYTE $0xff // jmp LBB33_10, $-104(%rip) - -LBB33_12: - LONG $0x0afe8348 // cmpq $10, %rsi - LONG $0x0067830f; WORD $0x0000 // jae LBB33_13, $103(%rip) - -LBB33_23: - LONG $0x104f6348 // movslq $16(%rdi), %rcx - WORD $0x6349; BYTE $0xc0 // movslq %r8d, %rax - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - WORD $0x4789; BYTE $0x10 // movl %eax, $16(%rdi) - LONG $0x084f8b48 // movq $8(%rdi), %rcx - WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x0005870f; WORD $0x0000 // ja LBB33_25, $5(%rip) - WORD $0x4f89; BYTE $0x10 // movl %ecx, $16(%rdi) - WORD $0xc889 // movl %ecx, %eax - -LBB33_25: - LONG $0x14470144 // addl %r8d, $20(%rdi) - WORD $0xc085 // testl %eax, %eax - LONG $0x002f8e0f; WORD $0x0000 // jle LBB33_29, $47(%rip) - WORD $0x8b48; BYTE $0x0f // movq (%rdi), %rcx - WORD $0xc289 // movl %eax, %edx - WORD $0xff48; BYTE $0xc2 // incq %rdx - QUAD $0x9090909090909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB33_27: - WORD $0xc8ff // decl %eax - LONG $0x30013c80 // cmpb $48, (%rcx,%rax) - LONG $0x0018850f; WORD $0x0000 // jne LBB33_31, $24(%rip) - WORD $0x4789; BYTE $0x10 // movl %eax, $16(%rdi) - WORD $0xff48; BYTE $0xca // decq %rdx - LONG $0x01fa8348 // cmpq $1, %rdx - LONG $0xffe48f0f; WORD $0xffff // jg LBB33_27, $-28(%rip) - -LBB33_29: - WORD $0xc085 // testl %eax, %eax - LONG $0x006b840f; WORD $0x0000 // je LBB33_30, $107(%rip) - -LBB33_31: - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB33_13: - WORD $0x6349; BYTE $0xf6 // movslq %r14d, %rsi - WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x000021e9; BYTE $0x00 // jmp LBB33_14, $33(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - -LBB33_15: - WORD $0x3004 // addb $48, %al - WORD $0x8b48; BYTE $0x1f // movq (%rdi), %rbx - WORD $0x0488; BYTE $0x33 // movb %al, (%rbx,%rsi) - -LBB33_22: - WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x09f98348 // cmpq $9, %rcx - LONG $0xff6d860f; WORD $0xffff // jbe LBB33_23, $-147(%rip) - -LBB33_14: - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax - WORD $0xf749; BYTE $0xe3 // mulq %r11 - LONG $0x03eac148 // shrq $3, %rdx - LONG $0x12048d48 // leaq (%rdx,%rdx), %rax - LONG $0x801c8d48 // leaq (%rax,%rax,4), %rbx - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - WORD $0x2948; BYTE $0xd8 // subq %rbx, %rax - LONG $0x08773948 // cmpq %rsi, $8(%rdi) - LONG $0xffc6870f; WORD $0xffff // ja LBB33_15, $-58(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xffc5840f; WORD $0xffff // je LBB33_22, $-59(%rip) - LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - LONG $0xffffb9e9; BYTE $0xff // jmp LBB33_22, $-71(%rip) - -LBB33_30: - LONG $0x001447c7; WORD $0x0000; BYTE $0x00 // movl $0, $20(%rdi) - BYTE $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB33_5: - LONG $0xfe898c0f; WORD $0xffff // jl LBB33_7, $-375(%rip) - LONG $0xfffe87e9; BYTE $0xff // jmp LBB33_8, $-377(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -_right_shift: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - WORD $0xf189 // movl %esi, %ecx - LONG $0x10478b44 // movl $16(%rdi), %r8d - WORD $0xd231 // xorl %edx, %edx - WORD $0x8545; BYTE $0xc0 // testl %r8d, %r8d - LONG $0x0000bb41; WORD $0x0000 // movl $0, %r11d - LONG $0xd8490f45 // cmovnsl %r8d, %r11d - WORD $0xc031 // xorl %eax, %eax - LONG $0x90909090 // .p2align 4, 0x90 - -LBB34_1: - WORD $0x3949; BYTE $0xd3 // cmpq %rdx, %r11 - LONG $0x0132840f; WORD $0x0000 // je LBB34_2, $306(%rip) - LONG $0x80048d48 // leaq (%rax,%rax,4), %rax - WORD $0x8b48; BYTE $0x37 // movq (%rdi), %rsi - LONG $0x34be0f48; BYTE $0x16 // movsbq (%rsi,%rdx), %rsi - LONG $0x46448d48; BYTE $0xd0 // leaq $-48(%rsi,%rax,2), %rax - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0xd348; BYTE $0xee // shrq %cl, %rsi - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xffd4840f; WORD $0xffff // je LBB34_1, $-44(%rip) - WORD $0x8941; BYTE $0xd3 // movl %edx, %r11d - -LBB34_7: - WORD $0x578b; BYTE $0x14 // movl $20(%rdi), %edx - WORD $0x2944; BYTE $0xda // subl %r11d, %edx - WORD $0xc2ff // incl %edx - LONG $0xffc1c749; WORD $0xffff; BYTE $0xff // movq $-1, %r9 - WORD $0xd349; BYTE $0xe1 // shlq %cl, %r9 - WORD $0x5789; BYTE $0x14 // movl %edx, $20(%rdi) - WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3945; BYTE $0xc3 // cmpl %r8d, %r11d - LONG $0x00648d0f; WORD $0x0000 // jge LBB34_10, $100(%rip) - WORD $0x634d; BYTE $0xc3 // movslq %r11d, %r8 - WORD $0x8b48; BYTE $0x37 // movq (%rdi), %rsi - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - LONG $0x90909090 // .p2align 4, 0x90 - -LBB34_9: - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0xd348; BYTE $0xea // shrq %cl, %rdx - WORD $0x214c; BYTE $0xc8 // andq %r9, %rax - WORD $0xc280; BYTE $0x30 // addb $48, %dl - LONG $0x16148842 // movb %dl, (%rsi,%r10) - WORD $0x8b48; BYTE $0x37 // movq (%rdi), %rsi - LONG $0x06148d4a // leaq (%rsi,%r8), %rdx - LONG $0x1cbe0f4d; BYTE $0x12 // movsbq (%r10,%rdx), %r11 - LONG $0x105c8d4b; BYTE $0x01 // leaq $1(%r8,%r10), %rbx - LONG $0x01528d4d // leaq $1(%r10), %r10 - LONG $0x80048d48 // leaq (%rax,%rax,4), %rax - LONG $0x43448d49; BYTE $0xd0 // leaq $-48(%r11,%rax,2), %rax - LONG $0x10576348 // movslq $16(%rdi), %rdx - WORD $0x3948; BYTE $0xd3 // cmpq %rdx, %rbx - LONG $0xffc58c0f; WORD $0xffff // jl LBB34_9, $-59(%rip) - LONG $0x000017e9; BYTE $0x00 // jmp LBB34_10, $23(%rip) - - // .p2align 4, 0x90 -LBB34_12: - LONG $0x30c68040 // addb $48, %sil - WORD $0x8b48; BYTE $0x1f // movq (%rdi), %rbx - LONG $0x13348840 // movb %sil, (%rbx,%rdx) - WORD $0xc2ff // incl %edx - WORD $0x8941; BYTE $0xd2 // movl %edx, %r10d - -LBB34_15: - WORD $0x0148; BYTE $0xc0 // addq %rax, %rax - LONG $0x80048d48 // leaq (%rax,%rax,4), %rax - -LBB34_10: - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x002b840f; WORD $0x0000 // je LBB34_16, $43(%rip) - WORD $0x8948; BYTE $0xc6 // movq %rax, %rsi - WORD $0xd348; BYTE $0xee // shrq %cl, %rsi - WORD $0x214c; BYTE $0xc8 // andq %r9, %rax - WORD $0x6349; BYTE $0xd2 // movslq %r10d, %rdx - LONG $0x08573948 // cmpq %rdx, $8(%rdi) - LONG $0xffca870f; WORD $0xffff // ja LBB34_12, $-54(%rip) - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xffd1840f; WORD $0xffff // je LBB34_15, $-47(%rip) - LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - LONG $0xffffc5e9; BYTE $0xff // jmp LBB34_15, $-59(%rip) - -LBB34_16: - LONG $0x10578944 // movl %r10d, $16(%rdi) - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x00378e0f; WORD $0x0000 // jle LBB34_20, $55(%rip) - WORD $0x8b48; BYTE $0x07 // movq (%rdi), %rax - WORD $0x8944; BYTE $0xd1 // movl %r10d, %ecx - WORD $0xff48; BYTE $0xc1 // incq %rcx - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB34_18: - WORD $0xff41; BYTE $0xca // decl %r10d - LONG $0x103c8042; BYTE $0x30 // cmpb $48, (%rax,%r10) - LONG $0x001a850f; WORD $0x0000 // jne LBB34_22, $26(%rip) - LONG $0x10578944 // movl %r10d, $16(%rdi) - WORD $0xff48; BYTE $0xc9 // decq %rcx - LONG $0x01f98348 // cmpq $1, %rcx - LONG $0xffe18f0f; WORD $0xffff // jg LBB34_18, $-31(%rip) - -LBB34_20: - WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x0045840f; WORD $0x0000 // je LBB34_21, $69(%rip) - -LBB34_22: - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB34_2: - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0043840f; WORD $0x0000 // je LBB34_23, $67(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0xd348; BYTE $0xea // shrq %cl, %rdx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xfed0850f; WORD $0xffff // jne LBB34_7, $-304(%rip) - -LBB34_4: - WORD $0x0148; BYTE $0xc0 // addq %rax, %rax - LONG $0x80048d48 // leaq (%rax,%rax,4), %rax - WORD $0xff41; BYTE $0xc3 // incl %r11d - WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx - WORD $0xd348; BYTE $0xea // shrq %cl, %rdx - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xffe7840f; WORD $0xffff // je LBB34_4, $-25(%rip) - LONG $0xfffeb2e9; BYTE $0xff // jmp LBB34_7, $-334(%rip) - -LBB34_21: - LONG $0x001447c7; WORD $0x0000; BYTE $0x00 // movl $0, $20(%rdi) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB34_23: - LONG $0x001047c7; WORD $0x0000; BYTE $0x00 // movl $0, $16(%rdi) - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI35_0: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI35_1: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - - // .p2align 4, 0x90 -_advance_string_default: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - BYTE $0x50 // pushq %rax - LONG $0x087f8b4c // movq $8(%rdi), %r15 - WORD $0x2949; BYTE $0xf7 // subq %rsi, %r15 - LONG $0x033f840f; WORD $0x0000 // je LBB35_13, $831(%rip) - WORD $0x8b4c; BYTE $0x1f // movq (%rdi), %r11 - WORD $0x014c; BYTE $0xde // addq %r11, %rsi - LONG $0xff02c748; WORD $0xffff; BYTE $0xff // movq $-1, (%rdx) - LONG $0x40ff8349 // cmpq $64, %r15 - LONG $0x0173820f; WORD $0x0000 // jb LBB35_14, $371(%rip) - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - QUAD $0xffffff9b056f0f66 // movdqa $-101(%rip), %xmm0 /* LCPI35_0(%rip) */ - QUAD $0xffffffa30d6f0f66 // movdqa $-93(%rip), %xmm1 /* LCPI35_1(%rip) */ - QUAD $0x555555555555ba49; WORD $0x5555 // movabsq $6148914691236517205, %r10 - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 - -LBB35_3: - LONG $0x166f0ff3 // movdqu (%rsi), %xmm2 - LONG $0x5e6f0ff3; BYTE $0x10 // movdqu $16(%rsi), %xmm3 - LONG $0x666f0ff3; BYTE $0x20 // movdqu $32(%rsi), %xmm4 - LONG $0x6e6f0ff3; BYTE $0x30 // movdqu $48(%rsi), %xmm5 - LONG $0xf26f0f66 // movdqa %xmm2, %xmm6 - LONG $0xf0740f66 // pcmpeqb %xmm0, %xmm6 - LONG $0xd70f4466; BYTE $0xe6 // pmovmskb %xmm6, %r12d - LONG $0xf36f0f66 // movdqa %xmm3, %xmm6 - LONG $0xf0740f66 // pcmpeqb %xmm0, %xmm6 - LONG $0xfed70f66 // pmovmskb %xmm6, %edi - LONG $0xf46f0f66 // movdqa %xmm4, %xmm6 - LONG $0xf0740f66 // pcmpeqb %xmm0, %xmm6 - LONG $0xc6d70f66 // pmovmskb %xmm6, %eax - LONG $0xf56f0f66 // movdqa %xmm5, %xmm6 - LONG $0xf0740f66 // pcmpeqb %xmm0, %xmm6 - LONG $0xd70f4466; BYTE $0xc6 // pmovmskb %xmm6, %r8d - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xdad70f66 // pmovmskb %xmm2, %ebx - LONG $0xd9740f66 // pcmpeqb %xmm1, %xmm3 - LONG $0xd70f4466; BYTE $0xeb // pmovmskb %xmm3, %r13d - LONG $0xe1740f66 // pcmpeqb %xmm1, %xmm4 - LONG $0xccd70f66 // pmovmskb %xmm4, %ecx - LONG $0xe9740f66 // pcmpeqb %xmm1, %xmm5 - LONG $0xd70f4466; BYTE $0xcd // pmovmskb %xmm5, %r9d - LONG $0x30e0c149 // shlq $48, %r8 - LONG $0x20e0c148 // shlq $32, %rax - LONG $0x10e7c148 // shlq $16, %rdi - WORD $0x0949; BYTE $0xfc // orq %rdi, %r12 - WORD $0x0949; BYTE $0xc4 // orq %rax, %r12 - WORD $0x094d; BYTE $0xc4 // orq %r8, %r12 - LONG $0x30e1c149 // shlq $48, %r9 - LONG $0x20e1c148 // shlq $32, %rcx - LONG $0x10e5c149 // shlq $16, %r13 - WORD $0x094c; BYTE $0xeb // orq %r13, %rbx - WORD $0x0948; BYTE $0xcb // orq %rcx, %rbx - WORD $0x094c; BYTE $0xcb // orq %r9, %rbx - LONG $0x002c850f; WORD $0x0000 // jne LBB35_7, $44(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0042850f; WORD $0x0000 // jne LBB35_9, $66(%rip) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x007e850f; WORD $0x0000 // jne LBB35_10, $126(%rip) - -LBB35_6: - LONG $0x40c68348 // addq $64, %rsi - LONG $0xc0c78349 // addq $-64, %r15 - LONG $0x3fff8349 // cmpq $63, %r15 - LONG $0xff42870f; WORD $0xffff // ja LBB35_3, $-190(%rip) - LONG $0x00008de9; BYTE $0x00 // jmp LBB35_15, $141(%rip) - -LBB35_7: - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0014850f; WORD $0x0000 // jne LBB35_9, $20(%rip) - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x294c; BYTE $0xd8 // subq %r11, %rax - LONG $0xcbbc0f48 // bsfq %rbx, %rcx - WORD $0x0148; BYTE $0xc1 // addq %rax, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) - -LBB35_9: - WORD $0x894c; BYTE $0xf0 // movq %r14, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x2148; BYTE $0xd8 // andq %rbx, %rax - LONG $0x000c8d48 // leaq (%rax,%rax), %rcx - WORD $0x094c; BYTE $0xf1 // orq %r14, %rcx - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x2148; BYTE $0xdf // andq %rbx, %rdi - QUAD $0xaaaaaaaaaaaabb48; WORD $0xaaaa // movabsq $-6148914691236517206, %rbx - WORD $0x2148; BYTE $0xdf // andq %rbx, %rdi - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x0148; BYTE $0xc7 // addq %rax, %rdi - LONG $0xc6920f41 // setb %r14b - WORD $0x0148; BYTE $0xff // addq %rdi, %rdi - WORD $0x314c; BYTE $0xd7 // xorq %r10, %rdi - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x2149; BYTE $0xfc // andq %rdi, %r12 - WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0xff82840f; WORD $0xffff // je LBB35_6, $-126(%rip) - -LBB35_10: - LONG $0xc4bc0f49 // bsfq %r12, %rax - -LBB35_11: - WORD $0x294c; BYTE $0xde // subq %r11, %rsi - LONG $0x06448d48; BYTE $0x01 // leaq $1(%rsi,%rax), %rax - -LBB35_12: - LONG $0x08c48348 // addq $8, %rsp - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB35_14: - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - -LBB35_15: - LONG $0x20ff8349 // cmpq $32, %r15 - LONG $0x00cf820f; WORD $0x0000 // jb LBB35_24, $207(%rip) - LONG $0x066f0ff3 // movdqu (%rsi), %xmm0 - LONG $0x4e6f0ff3; BYTE $0x10 // movdqu $16(%rsi), %xmm1 - QUAD $0xfffffe15156f0f66 // movdqa $-491(%rip), %xmm2 /* LCPI35_0(%rip) */ - QUAD $0xfffffe1d1d6f0f66 // movdqa $-483(%rip), %xmm3 /* LCPI35_1(%rip) */ - LONG $0xe06f0f66 // movdqa %xmm0, %xmm4 - LONG $0xe2740f66 // pcmpeqb %xmm2, %xmm4 - LONG $0xfcd70f66 // pmovmskb %xmm4, %edi - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xc2d70f66 // pmovmskb %xmm2, %eax - LONG $0xc3740f66 // pcmpeqb %xmm3, %xmm0 - LONG $0xd8d70f66 // pmovmskb %xmm0, %ebx - LONG $0xcb740f66 // pcmpeqb %xmm3, %xmm1 - LONG $0xc9d70f66 // pmovmskb %xmm1, %ecx - LONG $0x10e0c148 // shlq $16, %rax - WORD $0x0948; BYTE $0xc7 // orq %rax, %rdi - LONG $0x10e1c148 // shlq $16, %rcx - WORD $0x0948; BYTE $0xcb // orq %rcx, %rbx - LONG $0x001e850f; WORD $0x0000 // jne LBB35_20, $30(%rip) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0034850f; WORD $0x0000 // jne LBB35_22, $52(%rip) - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0061840f; WORD $0x0000 // je LBB35_23, $97(%rip) - -LBB35_19: - LONG $0xc7bc0f48 // bsfq %rdi, %rax - LONG $0xffff65e9; BYTE $0xff // jmp LBB35_11, $-155(%rip) - -LBB35_20: - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0014850f; WORD $0x0000 // jne LBB35_22, $20(%rip) - WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax - WORD $0x294c; BYTE $0xd8 // subq %r11, %rax - LONG $0xcbbc0f48 // bsfq %rbx, %rcx - WORD $0x0148; BYTE $0xc1 // addq %rax, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) - -LBB35_22: - WORD $0x8944; BYTE $0xf0 // movl %r14d, %eax - WORD $0xd0f7 // notl %eax - WORD $0xd821 // andl %ebx, %eax - LONG $0x46048d45 // leal (%r14,%rax,2), %r8d - WORD $0x0c8d; BYTE $0x00 // leal (%rax,%rax), %ecx - WORD $0xd1f7 // notl %ecx - WORD $0xd921 // andl %ebx, %ecx - LONG $0xaaaae181; WORD $0xaaaa // andl $-1431655766, %ecx - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0xc101 // addl %eax, %ecx - LONG $0xc6920f41 // setb %r14b - WORD $0xc901 // addl %ecx, %ecx - LONG $0x5555f181; WORD $0x5555 // xorl $1431655765, %ecx - WORD $0x2144; BYTE $0xc1 // andl %r8d, %ecx - WORD $0xd1f7 // notl %ecx - WORD $0xcf21 // andl %ecx, %edi - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xff9f850f; WORD $0xffff // jne LBB35_19, $-97(%rip) - -LBB35_23: - LONG $0x20c68348 // addq $32, %rsi - LONG $0xe0c78349 // addq $-32, %r15 - -LBB35_24: - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0089850f; WORD $0x0000 // jne LBB35_35, $137(%rip) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0xfef4840f; WORD $0xffff // je LBB35_12, $-268(%rip) - -LBB35_26: - WORD $0x894d; BYTE $0xd9 // movq %r11, %r9 - WORD $0xf749; BYTE $0xd1 // notq %r9 - -LBB35_27: - LONG $0x014e8d48 // leaq $1(%rsi), %rcx - WORD $0xb60f; BYTE $0x1e // movzbl (%rsi), %ebx - WORD $0xfb80; BYTE $0x22 // cmpb $34, %bl - LONG $0x0058840f; WORD $0x0000 // je LBB35_34, $88(%rip) - LONG $0xff7f8d49 // leaq $-1(%r15), %rdi - WORD $0xfb80; BYTE $0x5c // cmpb $92, %bl - LONG $0x0014840f; WORD $0x0000 // je LBB35_30, $20(%rip) - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xffd4850f; WORD $0xffff // jne LBB35_27, $-44(%rip) - LONG $0xfffebde9; BYTE $0xff // jmp LBB35_12, $-323(%rip) - -LBB35_30: - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xfeb4840f; WORD $0xffff // je LBB35_12, $-332(%rip) - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x000a850f; WORD $0x0000 // jne LBB35_33, $10(%rip) - WORD $0x014c; BYTE $0xc9 // addq %r9, %rcx - WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - -LBB35_33: - LONG $0x02c68348 // addq $2, %rsi - LONG $0xfec78349 // addq $-2, %r15 - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xff9d850f; WORD $0xffff // jne LBB35_27, $-99(%rip) - LONG $0xfffe86e9; BYTE $0xff // jmp LBB35_12, $-378(%rip) - -LBB35_34: - WORD $0x294c; BYTE $0xd9 // subq %r11, %rcx - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0xfffe7be9; BYTE $0xff // jmp LBB35_12, $-389(%rip) - -LBB35_35: - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0036840f; WORD $0x0000 // je LBB35_13, $54(%rip) - LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0010850f; WORD $0x0000 // jne LBB35_38, $16(%rip) - WORD $0x894c; BYTE $0xd8 // movq %r11, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0148; BYTE $0xf0 // addq %rsi, %rax - LONG $0xd0458948 // movq %rax, $-48(%rbp) - WORD $0x8948; BYTE $0x02 // movq %rax, (%rdx) - -LBB35_38: - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0xff49; BYTE $0xcf // decq %r15 - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0xff4d850f; WORD $0xffff // jne LBB35_26, $-179(%rip) - LONG $0xfffe3ce9; BYTE $0xff // jmp LBB35_12, $-452(%rip) - -LBB35_13: - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xfffe30e9; BYTE $0xff // jmp LBB35_12, $-464(%rip) - QUAD $0x0000000000000000; WORD $0x0000 // .p2align 4, 0x00 - -_POW10_M128_TAB: - QUAD $0x1732c869cd60e453 // .quad 1671618768450675795 - QUAD $0xfa8fd5a0081c0288 // .quad -391859759250406776 - QUAD $0x0e7fbd42205c8eb4 // .quad 1044761730281672372 - QUAD $0x9c99e58405118195 // .quad -7162441377172586091 - QUAD $0x521fac92a873b261 // .quad 5917638181279478369 - QUAD $0xc3c05ee50655e1fa // .quad -4341365703038344710 - QUAD $0xe6a797b752909ef9 // .quad -1826324310255427847 - QUAD $0xf4b0769e47eb5a78 // .quad -815021110370542984 - QUAD $0x9028bed2939a635c // .quad -8058981721550724260 - QUAD $0x98ee4a22ecf3188b // .quad -7426917221622671221 - QUAD $0x7432ee873880fc33 // .quad 8373016921771146291 - QUAD $0xbf29dcaba82fdeae // .quad -4671960508600951122 - QUAD $0x113faa2906a13b3f // .quad 1242899115359157055 - QUAD $0xeef453d6923bd65a // .quad -1228264617323800998 - QUAD $0x4ac7ca59a424c507 // .quad 5388497965526861063 - QUAD $0x9558b4661b6565f8 // .quad -7685194413468457480 - QUAD $0x5d79bcf00d2df649 // .quad 6735622456908576329 - QUAD $0xbaaee17fa23ebf76 // .quad -4994806998408183946 - QUAD $0xf4d82c2c107973dc // .quad -803843965719055396 - QUAD $0xe95a99df8ace6f53 // .quad -1631822729582842029 - QUAD $0x79071b9b8a4be869 // .quad 8720969558280366185 - QUAD $0x91d8a02bb6c10594 // .quad -7937418233630358124 - QUAD $0x9748e2826cdee284 // .quad -7545532125859093884 - QUAD $0xb64ec836a47146f9 // .quad -5310086773610559751 - QUAD $0xfd1b1b2308169b25 // .quad -208543120469091547 - QUAD $0xe3e27a444d8d98b7 // .quad -2025922448585811785 - QUAD $0xfe30f0f5e50e20f7 // .quad -130339450293182217 - QUAD $0x8e6d8c6ab0787f72 // .quad -8183730558007214222 - QUAD $0xbdbd2d335e51a935 // .quad -4774610331293865675 - QUAD $0xb208ef855c969f4f // .quad -5617977179081629873 - QUAD $0xad2c788035e61382 // .quad -5968262914117332094 - QUAD $0xde8b2b66b3bc4723 // .quad -2410785455424649437 - QUAD $0x4c3bcb5021afcc31 // .quad 5493207715531443249 - QUAD $0x8b16fb203055ac76 // .quad -8424269937281487754 - QUAD $0xdf4abe242a1bbf3d // .quad -2356862392440471747 - QUAD $0xaddcb9e83c6b1793 // .quad -5918651403174471789 - QUAD $0xd71d6dad34a2af0d // .quad -2946077990550589683 - QUAD $0xd953e8624b85dd78 // .quad -2786628235540701832 - QUAD $0x8672648c40e5ad68 // .quad -8758827771735200408 - QUAD $0x87d4713d6f33aa6b // .quad -8659171674854020501 - QUAD $0x680efdaf511f18c2 // .quad 7498209359040551106 - QUAD $0xa9c98d8ccb009506 // .quad -6212278575140137722 - QUAD $0x0212bd1b2566def2 // .quad 149389661945913074 - QUAD $0xd43bf0effdc0ba48 // .quad -3153662200497784248 - QUAD $0x014bb630f7604b57 // .quad 93368538716195671 - QUAD $0x84a57695fe98746d // .quad -8888567902952197011 - QUAD $0x419ea3bd35385e2d // .quad 4728396691822632493 - QUAD $0xa5ced43b7e3e9188 // .quad -6499023860262858360 - QUAD $0x52064cac828675b9 // .quad 5910495864778290617 - QUAD $0xcf42894a5dce35ea // .quad -3512093806901185046 - QUAD $0x7343efebd1940993 // .quad 8305745933913819539 - QUAD $0x818995ce7aa0e1b2 // .quad -9112587656954322510 - QUAD $0x1014ebe6c5f90bf8 // .quad 1158810380537498616 - QUAD $0xa1ebfb4219491a1f // .quad -6779048552765515233 - QUAD $0xd41a26e077774ef6 // .quad -3163173042755514634 - QUAD $0xca66fa129f9b60a6 // .quad -3862124672529506138 - QUAD $0x8920b098955522b4 // .quad -8565652321871781196 - QUAD $0xfd00b897478238d0 // .quad -215969822234494768 - QUAD $0x55b46e5f5d5535b0 // .quad 6175682344898606512 - QUAD $0x9e20735e8cb16382 // .quad -7052510166537641086 - QUAD $0xeb2189f734aa831d // .quad -1503769105731517667 - QUAD $0xc5a890362fddbc62 // .quad -4203951689744663454 - QUAD $0xa5e9ec7501d523e4 // .quad -6491397400591784988 - QUAD $0xf712b443bbd52b7b // .quad -643253593753441413 - QUAD $0x47b233c92125366e // .quad 5166248661484910190 - QUAD $0x9a6bb0aa55653b2d // .quad -7319562523736982739 - QUAD $0x999ec0bb696e840a // .quad -7377247228426025974 - QUAD $0xc1069cd4eabe89f8 // .quad -4537767136243840520 - QUAD $0xc00670ea43ca250d // .quad -4609873017105144563 - QUAD $0xf148440a256e2c76 // .quad -1060522901877412746 - QUAD $0x380406926a5e5728 // .quad 4036358391950366504 - QUAD $0x96cd2a865764dbca // .quad -7580355841314464822 - QUAD $0xc605083704f5ecf2 // .quad -4177924046916817678 - QUAD $0xbc807527ed3e12bc // .quad -4863758783215693124 - QUAD $0xf7864a44c633682e // .quad -610719040218634194 - QUAD $0xeba09271e88d976b // .quad -1468012460592228501 - QUAD $0x7ab3ee6afbe0211d // .quad 8841672636718129437 - QUAD $0x93445b8731587ea3 // .quad -7835036815511224669 - QUAD $0x5960ea05bad82964 // .quad 6440404777470273892 - QUAD $0xb8157268fdae9e4c // .quad -5182110000961642932 - QUAD $0x6fb92487298e33bd // .quad 8050505971837842365 - QUAD $0xe61acf033d1a45df // .quad -1865951482774665761 - QUAD $0xa5d3b6d479f8e056 // .quad -6497648813669818282 - QUAD $0x8fd0c16206306bab // .quad -8083748704375247957 - QUAD $0x8f48a4899877186c // .quad -8122061017087272852 - QUAD $0xb3c4f1ba87bc8696 // .quad -5492999862041672042 - QUAD $0x331acdabfe94de87 // .quad 3682481783923072647 - QUAD $0xe0b62e2929aba83c // .quad -2254563809124702148 - QUAD $0x9ff0c08b7f1d0b14 // .quad -6921820921902855404 - QUAD $0x8c71dcd9ba0b4925 // .quad -8326631408344020699 - QUAD $0x07ecf0ae5ee44dd9 // .quad 571095884476206553 - QUAD $0xaf8e5410288e1b6f // .quad -5796603242002637969 - QUAD $0xc9e82cd9f69d6150 // .quad -3897816162832129712 - QUAD $0xdb71e91432b1a24a // .quad -2634068034075909558 - QUAD $0xbe311c083a225cd2 // .quad -4741978110983775022 - QUAD $0x892731ac9faf056e // .quad -8563821548938525330 - QUAD $0x6dbd630a48aaf406 // .quad 7907585416552444934 - QUAD $0xab70fe17c79ac6ca // .quad -6093090917745768758 - QUAD $0x092cbbccdad5b108 // .quad 661109733835780360 - QUAD $0xd64d3d9db981787d // .quad -3004677628754823043 - QUAD $0x25bbf56008c58ea5 // .quad 2719036592861056677 - QUAD $0x85f0468293f0eb4e // .quad -8795452545612846258 - QUAD $0xaf2af2b80af6f24e // .quad -5824576295778454962 - QUAD $0xa76c582338ed2621 // .quad -6382629663588669919 - QUAD $0x1af5af660db4aee1 // .quad 1942651667131707105 - QUAD $0xd1476e2c07286faa // .quad -3366601061058449494 - QUAD $0x50d98d9fc890ed4d // .quad 5825843310384704845 - QUAD $0x82cca4db847945ca // .quad -9021654690802612790 - QUAD $0xe50ff107bab528a0 // .quad -1941067898873894752 - QUAD $0xa37fce126597973c // .quad -6665382345075878084 - QUAD $0x1e53ed49a96272c8 // .quad 2185351144835019464 - QUAD $0xcc5fc196fefd7d0c // .quad -3720041912917459700 - QUAD $0x25e8e89c13bb0f7a // .quad 2731688931043774330 - QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 - QUAD $0x77b191618c54e9ac // .quad 8624834609543440812 - QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 - QUAD $0xd59df5b9ef6a2417 // .quad -3054014793352862697 - QUAD $0xc795830d75038c1d // .quad -4065198994811024355 - QUAD $0x4b0573286b44ad1d // .quad 5405853545163697437 - QUAD $0xf97ae3d0d2446f25 // .quad -469812725086392539 - QUAD $0x4ee367f9430aec32 // .quad 5684501474941004850 - QUAD $0x9becce62836ac577 // .quad -7211161980820077193 - QUAD $0x229c41f793cda73f // .quad 2493940825248868159 - QUAD $0xc2e801fb244576d5 // .quad -4402266457597708587 - QUAD $0x6b43527578c1110f // .quad 7729112049988473103 - QUAD $0xf3a20279ed56d48a // .quad -891147053569747830 - QUAD $0x830a13896b78aaa9 // .quad -9004363024039368023 - QUAD $0x9845418c345644d6 // .quad -7474495936122174250 - QUAD $0x23cc986bc656d553 // .quad 2579604275232953683 - QUAD $0xbe5691ef416bd60c // .quad -4731433901725329908 - QUAD $0x2cbfbe86b7ec8aa8 // .quad 3224505344041192104 - QUAD $0xedec366b11c6cb8f // .quad -1302606358729274481 - QUAD $0x7bf7d71432f3d6a9 // .quad 8932844867666826921 - QUAD $0x94b3a202eb1c3f39 // .quad -7731658001846878407 - QUAD $0xdaf5ccd93fb0cc53 // .quad -2669001970698630061 - QUAD $0xb9e08a83a5e34f07 // .quad -5052886483881210105 - QUAD $0xd1b3400f8f9cff68 // .quad -3336252463373287576 - QUAD $0xe858ad248f5c22c9 // .quad -1704422086424124727 - QUAD $0x23100809b9c21fa1 // .quad 2526528228819083169 - QUAD $0x91376c36d99995be // .quad -7982792831656159810 - QUAD $0xabd40a0c2832a78a // .quad -6065211750830921846 - QUAD $0xb58547448ffffb2d // .quad -5366805021142811859 - QUAD $0x16c90c8f323f516c // .quad 1641857348316123500 - QUAD $0xe2e69915b3fff9f9 // .quad -2096820258001126919 - QUAD $0xae3da7d97f6792e3 // .quad -5891368184943504669 - QUAD $0x8dd01fad907ffc3b // .quad -8228041688891786181 - QUAD $0x99cd11cfdf41779c // .quad -7364210231179380836 - QUAD $0xb1442798f49ffb4a // .quad -5673366092687344822 - QUAD $0x40405643d711d583 // .quad 4629795266307937667 - QUAD $0xdd95317f31c7fa1d // .quad -2480021597431793123 - QUAD $0x482835ea666b2572 // .quad 5199465050656154994 - QUAD $0x8a7d3eef7f1cfc52 // .quad -8467542526035952558 - QUAD $0xda3243650005eecf // .quad -2724040723534582065 - QUAD $0xad1c8eab5ee43b66 // .quad -5972742139117552794 - QUAD $0x90bed43e40076a82 // .quad -8016736922845615486 - QUAD $0xd863b256369d4a40 // .quad -2854241655469553088 - QUAD $0x5a7744a6e804a291 // .quad 6518754469289960081 - QUAD $0x873e4f75e2224e68 // .quad -8701430062309552536 - QUAD $0x711515d0a205cb36 // .quad 8148443086612450102 - QUAD $0xa90de3535aaae202 // .quad -6265101559459552766 - QUAD $0x0d5a5b44ca873e03 // .quad 962181821410786819 - QUAD $0xd3515c2831559a83 // .quad -3219690930897053053 - QUAD $0xe858790afe9486c2 // .quad -1704479370831952190 - QUAD $0x8412d9991ed58091 // .quad -8929835859451740015 - QUAD $0x626e974dbe39a872 // .quad 7092772823314835570 - QUAD $0xa5178fff668ae0b6 // .quad -6550608805887287114 - QUAD $0xfb0a3d212dc8128f // .quad -357406007711231345 - QUAD $0xce5d73ff402d98e3 // .quad -3576574988931720989 - QUAD $0x7ce66634bc9d0b99 // .quad 8999993282035256217 - QUAD $0x80fa687f881c7f8e // .quad -9152888395723407474 - QUAD $0x1c1fffc1ebc44e80 // .quad 2026619565689294464 - QUAD $0xa139029f6a239f72 // .quad -6829424476226871438 - QUAD $0xa327ffb266b56220 // .quad -6690097579743157728 - QUAD $0xc987434744ac874e // .quad -3925094576856201394 - QUAD $0x4bf1ff9f0062baa8 // .quad 5472436080603216552 - QUAD $0xfbe9141915d7a922 // .quad -294682202642863838 - QUAD $0x6f773fc3603db4a9 // .quad 8031958568804398249 - QUAD $0x9d71ac8fada6c9b5 // .quad -7101705404292871755 - QUAD $0xcb550fb4384d21d3 // .quad -3795109844276665901 - QUAD $0xc4ce17b399107c22 // .quad -4265445736938701790 - QUAD $0x7e2a53a146606a48 // .quad 9091170749936331336 - QUAD $0xf6019da07f549b2b // .quad -720121152745989333 - QUAD $0x2eda7444cbfc426d // .quad 3376138709496513133 - QUAD $0x99c102844f94e0fb // .quad -7367604748107325189 - QUAD $0xfa911155fefb5308 // .quad -391512631556746488 - QUAD $0xc0314325637a1939 // .quad -4597819916706768583 - QUAD $0x793555ab7eba27ca // .quad 8733981247408842698 - QUAD $0xf03d93eebc589f88 // .quad -1135588877456072824 - QUAD $0x4bc1558b2f3458de // .quad 5458738279630526686 - QUAD $0x96267c7535b763b5 // .quad -7627272076051127371 - QUAD $0x9eb1aaedfb016f16 // .quad -7011635205744005354 - QUAD $0xbbb01b9283253ca2 // .quad -4922404076636521310 - QUAD $0x465e15a979c1cadc // .quad 5070514048102157020 - QUAD $0xea9c227723ee8bcb // .quad -1541319077368263733 - QUAD $0x0bfacd89ec191ec9 // .quad 863228270850154185 - QUAD $0x92a1958a7675175f // .quad -7880853450996246689 - QUAD $0xcef980ec671f667b // .quad -3532650679864695173 - QUAD $0xb749faed14125d36 // .quad -5239380795317920458 - QUAD $0x82b7e12780e7401a // .quad -9027499368258256870 - QUAD $0xe51c79a85916f484 // .quad -1937539975720012668 - QUAD $0xd1b2ecb8b0908810 // .quad -3336344095947716592 - QUAD $0x8f31cc0937ae58d2 // .quad -8128491512466089774 - QUAD $0x861fa7e6dcb4aa15 // .quad -8782116138362033643 - QUAD $0xb2fe3f0b8599ef07 // .quad -5548928372155224313 - QUAD $0x67a791e093e1d49a // .quad 7469098900757009562 - QUAD $0xdfbdcece67006ac9 // .quad -2324474446766642487 - QUAD $0xe0c8bb2c5c6d24e0 // .quad -2249342214667950880 - QUAD $0x8bd6a141006042bd // .quad -8370325556870233411 - QUAD $0x58fae9f773886e18 // .quad 6411694268519837208 - QUAD $0xaecc49914078536d // .quad -5851220927660403859 - QUAD $0xaf39a475506a899e // .quad -5820440219632367202 - QUAD $0xda7f5bf590966848 // .quad -2702340141148116920 - QUAD $0x6d8406c952429603 // .quad 7891439908798240259 - QUAD $0x888f99797a5e012d // .quad -8606491615858654931 - QUAD $0xc8e5087ba6d33b83 // .quad -3970758169284363389 - QUAD $0xaab37fd7d8f58178 // .quad -6146428501395930760 - QUAD $0xfb1e4a9a90880a64 // .quad -351761693178066332 - QUAD $0xd5605fcdcf32e1d6 // .quad -3071349608317525546 - QUAD $0x5cf2eea09a55067f // .quad 6697677969404790399 - QUAD $0x855c3be0a17fcd26 // .quad -8837122532839535322 - QUAD $0xf42faa48c0ea481e // .quad -851274575098787810 - QUAD $0xa6b34ad8c9dfc06f // .quad -6434717147622031249 - QUAD $0xf13b94daf124da26 // .quad -1064093218873484762 - QUAD $0xd0601d8efc57b08b // .quad -3431710416100151157 - QUAD $0x76c53d08d6b70858 // .quad 8558313775058847832 - QUAD $0x823c12795db6ce57 // .quad -9062348037703676329 - QUAD $0x54768c4b0c64ca6e // .quad 6086206200396171886 - QUAD $0xa2cb1717b52481ed // .quad -6716249028702207507 - QUAD $0xa9942f5dcf7dfd09 // .quad -6227300304786948855 - QUAD $0xcb7ddcdda26da268 // .quad -3783625267450371480 - QUAD $0xd3f93b35435d7c4c // .quad -3172439362556298164 - QUAD $0xfe5d54150b090b02 // .quad -117845565885576446 - QUAD $0xc47bc5014a1a6daf // .quad -4288617610811380305 - QUAD $0x9efa548d26e5a6e1 // .quad -6991182506319567135 - QUAD $0x359ab6419ca1091b // .quad 3862600023340550427 - QUAD $0xc6b8e9b0709f109a // .quad -4127292114472071014 - QUAD $0xc30163d203c94b62 // .quad -4395122007679087774 - QUAD $0xf867241c8cc6d4c0 // .quad -547429124662700864 - QUAD $0x79e0de63425dcf1d // .quad 8782263791269039901 - QUAD $0x9b407691d7fc44f8 // .quad -7259672230555269896 - QUAD $0x985915fc12f542e4 // .quad -7468914334623251740 - QUAD $0xc21094364dfb5636 // .quad -4462904269766699466 - QUAD $0x3e6f5b7b17b2939d // .quad 4498915137003099037 - QUAD $0xf294b943e17a2bc4 // .quad -966944318780986428 - QUAD $0xa705992ceecf9c42 // .quad -6411550076227838910 - QUAD $0x979cf3ca6cec5b5a // .quad -7521869226879198374 - QUAD $0x50c6ff782a838353 // .quad 5820620459997365075 - QUAD $0xbd8430bd08277231 // .quad -4790650515171610063 - QUAD $0xa4f8bf5635246428 // .quad -6559282480285457368 - QUAD $0xece53cec4a314ebd // .quad -1376627125537124675 - QUAD $0x871b7795e136be99 // .quad -8711237568605798759 - QUAD $0x940f4613ae5ed136 // .quad -7777920981101784778 - QUAD $0x28e2557b59846e3f // .quad 2946011094524915263 - QUAD $0xb913179899f68584 // .quad -5110715207949843068 - QUAD $0x331aeada2fe589cf // .quad 3682513868156144079 - QUAD $0xe757dd7ec07426e5 // .quad -1776707991509915931 - QUAD $0x3ff0d2c85def7621 // .quad 4607414176811284001 - QUAD $0x9096ea6f3848984f // .quad -8027971522334779313 - QUAD $0x0fed077a756b53a9 // .quad 1147581702586717097 - QUAD $0xb4bca50b065abe63 // .quad -5423278384491086237 - QUAD $0xd3e8495912c62894 // .quad -3177208890193991532 - QUAD $0xe1ebce4dc7f16dfb // .quad -2167411962186469893 - QUAD $0x64712dd7abbbd95c // .quad 7237616480483531100 - QUAD $0x8d3360f09cf6e4bd // .quad -8272161504007625539 - QUAD $0xbd8d794d96aacfb3 // .quad -4788037454677749837 - QUAD $0xb080392cc4349dec // .quad -5728515861582144020 - QUAD $0xecf0d7a0fc5583a0 // .quad -1373360799919799392 - QUAD $0xdca04777f541c567 // .quad -2548958808550292121 - QUAD $0xf41686c49db57244 // .quad -858350499949874620 - QUAD $0x89e42caaf9491b60 // .quad -8510628282985014432 - QUAD $0x311c2875c522ced5 // .quad 3538747893490044629 - QUAD $0xac5d37d5b79b6239 // .quad -6026599335303880135 - QUAD $0x7d633293366b828b // .quad 9035120885289943691 - QUAD $0xd77485cb25823ac7 // .quad -2921563150702462265 - QUAD $0xae5dff9c02033197 // .quad -5882264492762254953 - QUAD $0x86a8d39ef77164bc // .quad -8743505996830120772 - QUAD $0xd9f57f830283fdfc // .quad -2741144597525430788 - QUAD $0xa8530886b54dbdeb // .quad -6317696477610263061 - QUAD $0xd072df63c324fd7b // .quad -3426430746906788485 - QUAD $0xd267caa862a12d66 // .quad -3285434578585440922 - QUAD $0x4247cb9e59f71e6d // .quad 4776009810824339053 - QUAD $0x8380dea93da4bc60 // .quad -8970925639256982432 - QUAD $0x52d9be85f074e608 // .quad 5970012263530423816 - QUAD $0xa46116538d0deb78 // .quad -6601971030643840136 - QUAD $0x67902e276c921f8b // .quad 7462515329413029771 - QUAD $0xcd795be870516656 // .quad -3640777769877412266 - QUAD $0x00ba1cd8a3db53b6 // .quad 52386062455755702 - QUAD $0x806bd9714632dff6 // .quad -9193015133814464522 - QUAD $0x80e8a40eccd228a4 // .quad -9157889458785081180 - QUAD $0xa086cfcd97bf97f3 // .quad -6879582898840692749 - QUAD $0x6122cd128006b2cd // .quad 6999382250228200141 - QUAD $0xc8a883c0fdaf7df0 // .quad -3987792605123478032 - QUAD $0x796b805720085f81 // .quad 8749227812785250177 - QUAD $0xfad2a4b13d1b5d6c // .quad -373054737976959636 - QUAD $0xcbe3303674053bb0 // .quad -3755104653863994448 - QUAD $0x9cc3a6eec6311a63 // .quad -7150688238876681629 - QUAD $0xbedbfc4411068a9c // .quad -4693880817329993060 - QUAD $0xc3f490aa77bd60fc // .quad -4326674280168464132 - QUAD $0xee92fb5515482d44 // .quad -1255665003235103420 - QUAD $0xf4f1b4d515acb93b // .quad -796656831783192261 - QUAD $0x751bdd152d4d1c4a // .quad 8438581409832836170 - QUAD $0x991711052d8bf3c5 // .quad -7415439547505577019 - QUAD $0xd262d45a78a0635d // .quad -3286831292991118499 - QUAD $0xbf5cd54678eef0b6 // .quad -4657613415954583370 - QUAD $0x86fb897116c87c34 // .quad -8720225134666286028 - QUAD $0xef340a98172aace4 // .quad -1210330751515841308 - QUAD $0xd45d35e6ae3d4da0 // .quad -3144297699952734816 - QUAD $0x9580869f0e7aac0e // .quad -7673985747338482674 - QUAD $0x8974836059cca109 // .quad -8542058143368306423 - QUAD $0xbae0a846d2195712 // .quad -4980796165745715438 - QUAD $0x2bd1a438703fc94b // .quad 3157485376071780683 - QUAD $0xe998d258869facd7 // .quad -1614309188754756393 - QUAD $0x7b6306a34627ddcf // .quad 8890957387685944783 - QUAD $0x91ff83775423cc06 // .quad -7926472270612804602 - QUAD $0x1a3bc84c17b1d542 // .quad 1890324697752655170 - QUAD $0xb67f6455292cbf08 // .quad -5296404319838617848 - QUAD $0x20caba5f1d9e4a93 // .quad 2362905872190818963 - QUAD $0xe41f3d6a7377eeca // .quad -2008819381370884406 - QUAD $0x547eb47b7282ee9c // .quad 6088502188546649756 - QUAD $0x8e938662882af53e // .quad -8173041140997884610 - QUAD $0xe99e619a4f23aa43 // .quad -1612744301171463613 - QUAD $0xb23867fb2a35b28d // .quad -5604615407819967859 - QUAD $0x6405fa00e2ec94d4 // .quad 7207441660390446292 - QUAD $0xdec681f9f4c31f31 // .quad -2394083241347571919 - QUAD $0xde83bc408dd3dd04 // .quad -2412877989897052924 - QUAD $0x8b3c113c38f9f37e // .quad -8413831053483314306 - QUAD $0x9624ab50b148d445 // .quad -7627783505798704059 - QUAD $0xae0b158b4738705e // .quad -5905602798426754978 - QUAD $0x3badd624dd9b0957 // .quad 4300328673033783639 - QUAD $0xd98ddaee19068c76 // .quad -2770317479606055818 - QUAD $0xe54ca5d70a80e5d6 // .quad -1923980597781273130 - QUAD $0x87f8a8d4cfa417c9 // .quad -8648977452394866743 - QUAD $0x5e9fcf4ccd211f4c // .quad 6818396289628184396 - QUAD $0xa9f6d30a038d1dbc // .quad -6199535797066195524 - QUAD $0x7647c3200069671f // .quad 8522995362035230495 - QUAD $0xd47487cc8470652b // .quad -3137733727905356501 - QUAD $0x29ecd9f40041e073 // .quad 3021029092058325107 - QUAD $0x84c8d4dfd2c63f3b // .quad -8878612607581929669 - QUAD $0xf468107100525890 // .quad -835399653354481520 - QUAD $0xa5fb0a17c777cf09 // .quad -6486579741050024183 - QUAD $0x7182148d4066eeb4 // .quad 8179122470161673908 - QUAD $0xcf79cc9db955c2cc // .quad -3496538657885142324 - QUAD $0xc6f14cd848405530 // .quad -4111420493003729616 - QUAD $0x81ac1fe293d599bf // .quad -9102865688819295809 - QUAD $0xb8ada00e5a506a7c // .quad -5139275616254662020 - QUAD $0xa21727db38cb002f // .quad -6766896092596731857 - QUAD $0xa6d90811f0e4851c // .quad -6424094520318327524 - QUAD $0xca9cf1d206fdc03b // .quad -3846934097318526917 - QUAD $0x908f4a166d1da663 // .quad -8030118150397909405 - QUAD $0xfd442e4688bd304a // .quad -196981603220770742 - QUAD $0x9a598e4e043287fe // .quad -7324666853212387330 - QUAD $0x9e4a9cec15763e2e // .quad -7040642529654063570 - QUAD $0x40eff1e1853f29fd // .quad 4679224488766679549 - QUAD $0xc5dd44271ad3cdba // .quad -4189117143640191558 - QUAD $0xd12bee59e68ef47c // .quad -3374341425896426372 - QUAD $0xf7549530e188c128 // .quad -624710411122851544 - QUAD $0x82bb74f8301958ce // .quad -9026492418826348338 - QUAD $0x9a94dd3e8cf578b9 // .quad -7307973034592864071 - QUAD $0xe36a52363c1faf01 // .quad -2059743486678159615 - QUAD $0xc13a148e3032d6e7 // .quad -4523280274813692185 - QUAD $0xdc44e6c3cb279ac1 // .quad -2574679358347699519 - QUAD $0xf18899b1bc3f8ca1 // .quad -1042414325089727327 - QUAD $0x29ab103a5ef8c0b9 // .quad 3002511419460075705 - QUAD $0x96f5600f15a7b7e5 // .quad -7569037980822161435 - QUAD $0x7415d448f6b6f0e7 // .quad 8364825292752482535 - QUAD $0xbcb2b812db11a5de // .quad -4849611457600313890 - QUAD $0x111b495b3464ad21 // .quad 1232659579085827361 - QUAD $0xebdf661791d60f56 // .quad -1450328303573004458 - QUAD $0xcab10dd900beec34 // .quad -3841273781498745804 - QUAD $0x936b9fcebb25c995 // .quad -7823984217374209643 - QUAD $0x3d5d514f40eea742 // .quad 4421779809981343554 - QUAD $0xb84687c269ef3bfb // .quad -5168294253290374149 - QUAD $0x0cb4a5a3112a5112 // .quad 915538744049291538 - QUAD $0xe65829b3046b0afa // .quad -1848681798185579782 - QUAD $0x47f0e785eaba72ab // .quad 5183897733458195115 - QUAD $0x8ff71a0fe2c2e6dc // .quad -8072955151507069220 - QUAD $0x59ed216765690f56 // .quad 6479872166822743894 - QUAD $0xb3f4e093db73a093 // .quad -5479507920956448621 - QUAD $0x306869c13ec3532c // .quad 3488154190101041964 - QUAD $0xe0f218b8d25088b8 // .quad -2237698882768172872 - QUAD $0x1e414218c73a13fb // .quad 2180096368813151227 - QUAD $0x8c974f7383725573 // .quad -8316090829371189901 - QUAD $0xe5d1929ef90898fa // .quad -1886565557410948870 - QUAD $0xafbd2350644eeacf // .quad -5783427518286599473 - QUAD $0xdf45f746b74abf39 // .quad -2358206946763686087 - QUAD $0xdbac6c247d62a583 // .quad -2617598379430861437 - QUAD $0x6b8bba8c328eb783 // .quad 7749492695127472003 - QUAD $0x894bc396ce5da772 // .quad -8553528014785370254 - QUAD $0x066ea92f3f326564 // .quad 463493832054564196 - QUAD $0xab9eb47c81f5114f // .quad -6080224000054324913 - QUAD $0xc80a537b0efefebd // .quad -4032318728359182659 - QUAD $0xd686619ba27255a2 // .quad -2988593981640518238 - QUAD $0xbd06742ce95f5f36 // .quad -4826042214438183114 - QUAD $0x8613fd0145877585 // .quad -8785400266166405755 - QUAD $0x2c48113823b73704 // .quad 3190819268807046916 - QUAD $0xa798fc4196e952e7 // .quad -6370064314280619289 - QUAD $0xf75a15862ca504c5 // .quad -623161932418579259 - QUAD $0xd17f3b51fca3a7a0 // .quad -3350894374423386208 - QUAD $0x9a984d73dbe722fb // .quad -7307005235402693893 - QUAD $0x82ef85133de648c4 // .quad -9011838011655698236 - QUAD $0xc13e60d0d2e0ebba // .quad -4522070525825979462 - QUAD $0xa3ab66580d5fdaf5 // .quad -6653111496142234891 - QUAD $0x318df905079926a8 // .quad 3570783879572301480 - QUAD $0xcc963fee10b7d1b3 // .quad -3704703351750405709 - QUAD $0xfdf17746497f7052 // .quad -148206168962011054 - QUAD $0xffbbcfe994e5c61f // .quad -19193171260619233 - QUAD $0xfeb6ea8bedefa633 // .quad -92628855601256909 - QUAD $0x9fd561f1fd0f9bd3 // .quad -6929524759678968877 - QUAD $0xfe64a52ee96b8fc0 // .quad -115786069501571136 - QUAD $0xc7caba6e7c5382c8 // .quad -4050219931171323192 - QUAD $0x3dfdce7aa3c673b0 // .quad 4466953431550423984 - QUAD $0xf9bd690a1b68637b // .quad -451088895536766085 - QUAD $0x06bea10ca65c084e // .quad 486002885505321038 - QUAD $0x9c1661a651213e2d // .quad -7199459587351560659 - QUAD $0x486e494fcff30a62 // .quad 5219189625309039202 - QUAD $0xc31bfa0fe5698db8 // .quad -4387638465762062920 - QUAD $0x5a89dba3c3efccfa // .quad 6523987031636299002 - QUAD $0xf3e2f893dec3f126 // .quad -872862063775190746 - QUAD $0xf89629465a75e01c // .quad -534194123654701028 - QUAD $0x986ddb5c6b3a76b7 // .quad -7463067817500576073 - QUAD $0xf6bbb397f1135823 // .quad -667742654568376285 - QUAD $0xbe89523386091465 // .quad -4717148753448332187 - QUAD $0x746aa07ded582e2c // .quad 8388693718644305452 - QUAD $0xee2ba6c0678b597f // .quad -1284749923383027329 - QUAD $0xa8c2a44eb4571cdc // .quad -6286281471915778852 - QUAD $0x94db483840b717ef // .quad -7720497729755473937 - QUAD $0x92f34d62616ce413 // .quad -7857851839894723565 - QUAD $0xba121a4650e4ddeb // .quad -5038936143766954517 - QUAD $0x77b020baf9c81d17 // .quad 8624429273841147159 - QUAD $0xe896a0d7e51e1566 // .quad -1686984161281305242 - QUAD $0x0ace1474dc1d122e // .quad 778582277723329070 - QUAD $0x915e2486ef32cd60 // .quad -7971894128441897632 - QUAD $0x0d819992132456ba // .quad 973227847154161338 - QUAD $0xb5b5ada8aaff80b8 // .quad -5353181642124984136 - QUAD $0x10e1fff697ed6c69 // .quad 1216534808942701673 - QUAD $0xe3231912d5bf60e6 // .quad -2079791034228842266 - QUAD $0xca8d3ffa1ef463c1 // .quad -3851351762838199359 - QUAD $0x8df5efabc5979c8f // .quad -8217398424034108273 - QUAD $0xbd308ff8a6b17cb2 // .quad -4814189703547749198 - QUAD $0xb1736b96b6fd83b3 // .quad -5660062011615247437 - QUAD $0xac7cb3f6d05ddbde // .quad -6017737129434686498 - QUAD $0xddd0467c64bce4a0 // .quad -2463391496091671392 - QUAD $0x6bcdf07a423aa96b // .quad 7768129340171790699 - QUAD $0x8aa22c0dbef60ee4 // .quad -8457148712698376476 - QUAD $0x86c16c98d2c953c6 // .quad -8736582398494813242 - QUAD $0xad4ab7112eb3929d // .quad -5959749872445582691 - QUAD $0xe871c7bf077ba8b7 // .quad -1697355961263740745 - QUAD $0xd89d64d57a607744 // .quad -2838001322129590460 - QUAD $0x11471cd764ad4972 // .quad 1244995533423855986 - QUAD $0x87625f056c7c4a8b // .quad -8691279853972075893 - QUAD $0xd598e40d3dd89bcf // .quad -3055441601647567921 - QUAD $0xa93af6c6c79b5d2d // .quad -6252413799037706963 - QUAD $0x4aff1d108d4ec2c3 // .quad 5404070034795315907 - QUAD $0xd389b47879823479 // .quad -3203831230369745799 - QUAD $0xcedf722a585139ba // .quad -3539985255894009414 - QUAD $0x843610cb4bf160cb // .quad -8919923546622172981 - QUAD $0xc2974eb4ee658828 // .quad -4424981569867511768 - QUAD $0xa54394fe1eedb8fe // .quad -6538218414850328322 - QUAD $0x733d226229feea32 // .quad 8303831092947774002 - QUAD $0xce947a3da6a9273e // .quad -3561087000135522498 - QUAD $0x0806357d5a3f525f // .quad 578208414664970847 - QUAD $0x811ccc668829b887 // .quad -9143208402725783417 - QUAD $0xca07c2dcb0cf26f7 // .quad -3888925500096174345 - QUAD $0xa163ff802a3426a8 // .quad -6817324484979841368 - QUAD $0xfc89b393dd02f0b5 // .quad -249470856692830027 - QUAD $0xc9bcff6034c13052 // .quad -3909969587797413806 - QUAD $0xbbac2078d443ace2 // .quad -4923524589293425438 - QUAD $0xfc2c3f3841f17c67 // .quad -275775966319379353 - QUAD $0xd54b944b84aa4c0d // .quad -3077202868308390899 - QUAD $0x9d9ba7832936edc0 // .quad -7089889006590693952 - QUAD $0x0a9e795e65d4df11 // .quad 765182433041899281 - QUAD $0xc5029163f384a931 // .quad -4250675239810979535 - QUAD $0x4d4617b5ff4a16d5 // .quad 5568164059729762005 - QUAD $0xf64335bcf065d37d // .quad -701658031336336515 - QUAD $0x504bced1bf8e4e45 // .quad 5785945546544795205 - QUAD $0x99ea0196163fa42e // .quad -7356065297226292178 - QUAD $0xe45ec2862f71e1d6 // .quad -1990940103673781802 - QUAD $0xc06481fb9bcf8d39 // .quad -4583395603105477319 - QUAD $0x5d767327bb4e5a4c // .quad 6734696907262548556 - QUAD $0xf07da27a82c37088 // .quad -1117558485454458744 - QUAD $0x3a6a07f8d510f86f // .quad 4209185567039092847 - QUAD $0x964e858c91ba2655 // .quad -7616003081050118571 - QUAD $0x890489f70a55368b // .quad -8573576096483297653 - QUAD $0xbbe226efb628afea // .quad -4908317832885260310 - QUAD $0x2b45ac74ccea842e // .quad 3118087934678041646 - QUAD $0xeadab0aba3b2dbe5 // .quad -1523711272679187483 - QUAD $0x3b0b8bc90012929d // .quad 4254647968387469981 - QUAD $0x92c8ae6b464fc96f // .quad -7869848573065574033 - QUAD $0x09ce6ebb40173744 // .quad 706623942056949572 - QUAD $0xb77ada0617e3bbcb // .quad -5225624697904579637 - QUAD $0xcc420a6a101d0515 // .quad -3728406090856200939 - QUAD $0xe55990879ddcaabd // .quad -1920344853953336643 - QUAD $0x9fa946824a12232d // .quad -6941939825212513491 - QUAD $0x8f57fa54c2a9eab6 // .quad -8117744561361917258 - QUAD $0x47939822dc96abf9 // .quad 5157633273766521849 - QUAD $0xb32df8e9f3546564 // .quad -5535494683275008668 - QUAD $0x59787e2b93bc56f7 // .quad 6447041592208152311 - QUAD $0xdff9772470297ebd // .quad -2307682335666372931 - QUAD $0x57eb4edb3c55b65a // .quad 6335244004343789146 - QUAD $0x8bfbea76c619ef36 // .quad -8359830487432564938 - QUAD $0xede622920b6b23f1 // .quad -1304317031425039375 - QUAD $0xaefae51477a06b03 // .quad -5838102090863318269 - QUAD $0xe95fab368e45eced // .quad -1630396289281299219 - QUAD $0xdab99e59958885c4 // .quad -2685941595151759932 - QUAD $0x11dbcb0218ebb414 // .quad 1286845328412881940 - QUAD $0x88b402f7fd75539b // .quad -8596242524610931813 - QUAD $0xd652bdc29f26a119 // .quad -3003129357911285479 - QUAD $0xaae103b5fcd2a881 // .quad -6133617137336276863 - QUAD $0x4be76d3346f0495f // .quad 5469460339465668959 - QUAD $0xd59944a37c0752a2 // .quad -3055335403242958174 - QUAD $0x6f70a4400c562ddb // .quad 8030098730593431003 - QUAD $0x857fcae62d8493a5 // .quad -8827113654667930715 - QUAD $0xcb4ccd500f6bb952 // .quad -3797434642040374958 - QUAD $0xa6dfbd9fb8e5b88e // .quad -6422206049907525490 - QUAD $0x7e2000a41346a7a7 // .quad 9088264752731695015 - QUAD $0xd097ad07a71f26b2 // .quad -3416071543957018958 - QUAD $0x8ed400668c0c28c8 // .quad -8154892584824854328 - QUAD $0x825ecc24c873782f // .quad -9052573742614218705 - QUAD $0x728900802f0f32fa // .quad 8253128342678483706 - QUAD $0xa2f67f2dfa90563b // .quad -6704031159840385477 - QUAD $0x4f2b40a03ad2ffb9 // .quad 5704724409920716729 - QUAD $0xcbb41ef979346bca // .quad -3768352931373093942 - QUAD $0xe2f610c84987bfa8 // .quad -2092466524453879896 - QUAD $0xfea126b7d78186bc // .quad -98755145788979524 - QUAD $0x0dd9ca7d2df4d7c9 // .quad 998051431430019017 - QUAD $0x9f24b832e6b0f436 // .quad -6979250993759194058 - QUAD $0x91503d1c79720dbb // .quad -7975807747567252037 - QUAD $0xc6ede63fa05d3143 // .quad -4112377723771604669 - QUAD $0x75a44c6397ce912a // .quad 8476984389250486570 - QUAD $0xf8a95fcf88747d94 // .quad -528786136287117932 - QUAD $0xc986afbe3ee11aba // .quad -3925256793573221702 - QUAD $0x9b69dbe1b548ce7c // .quad -7248020362820530564 - QUAD $0xfbe85badce996168 // .quad -294884973539139224 - QUAD $0xc24452da229b021b // .quad -4448339435098275301 - QUAD $0xfae27299423fb9c3 // .quad -368606216923924029 - QUAD $0xf2d56790ab41c2a2 // .quad -948738275445456222 - QUAD $0xdccd879fc967d41a // .quad -2536221894791146470 - QUAD $0x97c560ba6b0919a5 // .quad -7510490449794491995 - QUAD $0x5400e987bbc1c920 // .quad 6053094668365842720 - QUAD $0xbdb6b8e905cb600f // .quad -4776427043815727089 - QUAD $0x290123e9aab23b68 // .quad 2954682317029915496 - QUAD $0xed246723473e3813 // .quad -1358847786342270957 - QUAD $0xf9a0b6720aaf6521 // .quad -459166561069996767 - QUAD $0x9436c0760c86e30b // .quad -7766808894105001205 - QUAD $0xf808e40e8d5b3e69 // .quad -573958201337495959 - QUAD $0xb94470938fa89bce // .quad -5096825099203863602 - QUAD $0xb60b1d1230b20e04 // .quad -5329133770099257852 - QUAD $0xe7958cb87392c2c2 // .quad -1759345355577441598 - QUAD $0xb1c6f22b5e6f48c2 // .quad -5636551615525730110 - QUAD $0x90bd77f3483bb9b9 // .quad -8017119874876982855 - QUAD $0x1e38aeb6360b1af3 // .quad 2177682517447613171 - QUAD $0xb4ecd5f01a4aa828 // .quad -5409713825168840664 - QUAD $0x25c6da63c38de1b0 // .quad 2722103146809516464 - QUAD $0xe2280b6c20dd5232 // .quad -2150456263033662926 - QUAD $0x579c487e5a38ad0e // .quad 6313000485183335694 - QUAD $0x8d590723948a535f // .quad -8261564192037121185 - QUAD $0x2d835a9df0c6d851 // .quad 3279564588051781713 - QUAD $0xb0af48ec79ace837 // .quad -5715269221619013577 - QUAD $0xf8e431456cf88e65 // .quad -512230283362660763 - QUAD $0xdcdb1b2798182244 // .quad -2532400508596379068 - QUAD $0x1b8e9ecb641b58ff // .quad 1985699082112030975 - QUAD $0x8a08f0f8bf0f156b // .quad -8500279345513818773 - QUAD $0xe272467e3d222f3f // .quad -2129562165787349185 - QUAD $0xac8b2d36eed2dac5 // .quad -6013663163464885563 - QUAD $0x5b0ed81dcc6abb0f // .quad 6561419329620589327 - QUAD $0xd7adf884aa879177 // .quad -2905392935903719049 - QUAD $0x98e947129fc2b4e9 // .quad -7428327965055601431 - QUAD $0x86ccbb52ea94baea // .quad -8733399612580906262 - QUAD $0x3f2398d747b36224 // .quad 4549648098962661924 - QUAD $0xa87fea27a539e9a5 // .quad -6305063497298744923 - QUAD $0x8eec7f0d19a03aad // .quad -8147997931578836307 - QUAD $0xd29fe4b18e88640e // .quad -3269643353196043250 - QUAD $0x1953cf68300424ac // .quad 1825030320404309164 - QUAD $0x83a3eeeef9153e89 // .quad -8961056123388608887 - QUAD $0x5fa8c3423c052dd7 // .quad 6892973918932774359 - QUAD $0xa48ceaaab75a8e2b // .quad -6589634135808373205 - QUAD $0x3792f412cb06794d // .quad 4004531380238580045 - QUAD $0xcdb02555653131b6 // .quad -3625356651333078602 - QUAD $0xe2bbd88bbee40bd0 // .quad -2108853905778275376 - QUAD $0x808e17555f3ebf11 // .quad -9183376934724255983 - QUAD $0x5b6aceaeae9d0ec4 // .quad 6587304654631931588 - QUAD $0xa0b19d2ab70e6ed6 // .quad -6867535149977932074 - QUAD $0xf245825a5a445275 // .quad -989241218564861323 - QUAD $0xc8de047564d20a8b // .quad -3972732919045027189 - QUAD $0xeed6e2f0f0d56712 // .quad -1236551523206076654 - QUAD $0xfb158592be068d2e // .quad -354230130378896082 - QUAD $0x55464dd69685606b // .quad 6144684325637283947 - QUAD $0x9ced737bb6c4183d // .quad -7138922859127891907 - QUAD $0xaa97e14c3c26b886 // .quad -6154202648235558778 - QUAD $0xc428d05aa4751e4c // .quad -4311967555482476980 - QUAD $0xd53dd99f4b3066a8 // .quad -3081067291867060568 - QUAD $0xf53304714d9265df // .quad -778273425925708321 - QUAD $0xe546a8038efe4029 // .quad -1925667057416912855 - QUAD $0x993fe2c6d07b7fab // .quad -7403949918844649557 - QUAD $0xde98520472bdd033 // .quad -2407083821771141069 - QUAD $0xbf8fdb78849a5f96 // .quad -4643251380128424042 - QUAD $0x963e66858f6d4440 // .quad -7620540795641314240 - QUAD $0xef73d256a5c0f77c // .quad -1192378206733142148 - QUAD $0xdde7001379a44aa8 // .quad -2456994988062127448 - QUAD $0x95a8637627989aad // .quad -7662765406849295699 - QUAD $0x5560c018580d5d52 // .quad 6152128301777116498 - QUAD $0xbb127c53b17ec159 // .quad -4966770740134231719 - QUAD $0xaab8f01e6e10b4a6 // .quad -6144897678060768090 - QUAD $0xe9d71b689dde71af // .quad -1596777406740401745 - QUAD $0xcab3961304ca70e8 // .quad -3840561048787980056 - QUAD $0x9226712162ab070d // .quad -7915514906853832947 - QUAD $0x3d607b97c5fd0d22 // .quad 4422670725869800738 - QUAD $0xb6b00d69bb55c8d1 // .quad -5282707615139903279 - QUAD $0x8cb89a7db77c506a // .quad -8306719647944912790 - QUAD $0xe45c10c42a2b3b05 // .quad -1991698500497491195 - QUAD $0x77f3608e92adb242 // .quad 8643358275316593218 - QUAD $0x8eb98a7a9a5b04e3 // .quad -8162340590452013853 - QUAD $0x55f038b237591ed3 // .quad 6192511825718353619 - QUAD $0xb267ed1940f1c61c // .quad -5591239719637629412 - QUAD $0x6b6c46dec52f6688 // .quad 7740639782147942024 - QUAD $0xdf01e85f912e37a3 // .quad -2377363631119648861 - QUAD $0x2323ac4b3b3da015 // .quad 2532056854628769813 - QUAD $0x8b61313bbabce2c6 // .quad -8403381297090862394 - QUAD $0xabec975e0a0d081a // .quad -6058300968568813542 - QUAD $0xae397d8aa96c1b77 // .quad -5892540602936190089 - QUAD $0x96e7bd358c904a21 // .quad -7572876210711016927 - QUAD $0xd9c7dced53c72255 // .quad -2753989735242849707 - QUAD $0x7e50d64177da2e54 // .quad 9102010423587778132 - QUAD $0x881cea14545c7575 // .quad -8638772612167862923 - QUAD $0xdde50bd1d5d0b9e9 // .quad -2457545025797441047 - QUAD $0xaa242499697392d2 // .quad -6186779746782440750 - QUAD $0x955e4ec64b44e864 // .quad -7683617300674189212 - QUAD $0xd4ad2dbfc3d07787 // .quad -3121788665050663033 - QUAD $0xbd5af13bef0b113e // .quad -4802260812921368258 - QUAD $0x84ec3c97da624ab4 // .quad -8868646943297746252 - QUAD $0xecb1ad8aeacdd58e // .quad -1391139997724322418 - QUAD $0xa6274bbdd0fadd61 // .quad -6474122660694794911 - QUAD $0x67de18eda5814af2 // .quad 7484447039699372786 - QUAD $0xcfb11ead453994ba // .quad -3480967307441105734 - QUAD $0x80eacf948770ced7 // .quad -9157278655470055721 - QUAD $0x81ceb32c4b43fcf4 // .quad -9093133594791772940 - QUAD $0xa1258379a94d028d // .quad -6834912300910181747 - QUAD $0xa2425ff75e14fc31 // .quad -6754730975062328271 - QUAD $0x096ee45813a04330 // .quad 679731660717048624 - QUAD $0xcad2f7f5359a3b3e // .quad -3831727700400522434 - QUAD $0x8bca9d6e188853fc // .quad -8373707460958465028 - QUAD $0xfd87b5f28300ca0d // .quad -177973607073265139 - QUAD $0x775ea264cf55347d // .quad 8601490892183123069 - QUAD $0x9e74d1b791e07e48 // .quad -7028762532061872568 - QUAD $0x95364afe032a819d // .quad -7694880458480647779 - QUAD $0xc612062576589dda // .quad -4174267146649952806 - QUAD $0x3a83ddbd83f52204 // .quad 4216457482181353988 - QUAD $0xf79687aed3eec551 // .quad -606147914885053103 - QUAD $0xc4926a9672793542 // .quad -4282243101277735614 - QUAD $0x9abe14cd44753b52 // .quad -7296371474444240046 - QUAD $0x75b7053c0f178293 // .quad 8482254178684994195 - QUAD $0xc16d9a0095928a27 // .quad -4508778324627912153 - QUAD $0x5324c68b12dd6338 // .quad 5991131704928854840 - QUAD $0xf1c90080baf72cb1 // .quad -1024286887357502287 - QUAD $0xd3f6fc16ebca5e03 // .quad -3173071712060547581 - QUAD $0x971da05074da7bee // .quad -7557708332239520786 - QUAD $0x88f4bb1ca6bcf584 // .quad -8578025658503072380 - QUAD $0xbce5086492111aea // .quad -4835449396872013078 - QUAD $0x2b31e9e3d06c32e5 // .quad 3112525982153323237 - QUAD $0xec1e4a7db69561a5 // .quad -1432625727662628443 - QUAD $0x3aff322e62439fcf // .quad 4251171748059520975 - QUAD $0x9392ee8e921d5d07 // .quad -7812920107430224633 - QUAD $0x09befeb9fad487c2 // .quad 702278666647013314 - QUAD $0xb877aa3236a4b449 // .quad -5154464115860392887 - QUAD $0x4c2ebe687989a9b3 // .quad 5489534351736154547 - QUAD $0xe69594bec44de15b // .quad -1831394126398103205 - QUAD $0x0f9d37014bf60a10 // .quad 1125115960621402640 - QUAD $0x901d7cf73ab0acd9 // .quad -8062150356639896359 - QUAD $0x538484c19ef38c94 // .quad 6018080969204141204 - QUAD $0xb424dc35095cd80f // .quad -5466001927372482545 - QUAD $0x2865a5f206b06fb9 // .quad 2910915193077788601 - QUAD $0xe12e13424bb40e13 // .quad -2220816390788215277 - QUAD $0xf93f87b7442e45d3 // .quad -486521013540076077 - QUAD $0x8cbccc096f5088cb // .quad -8305539271883716405 - QUAD $0xf78f69a51539d748 // .quad -608151266925095096 - QUAD $0xafebff0bcb24aafe // .quad -5770238071427257602 - QUAD $0xb573440e5a884d1b // .quad -5371875102083756773 - QUAD $0xdbe6fecebdedd5be // .quad -2601111570856684098 - QUAD $0x31680a88f8953030 // .quad 3560107088838733872 - QUAD $0x89705f4136b4a597 // .quad -8543223759426509417 - QUAD $0xfdc20d2b36ba7c3d // .quad -161552157378970563 - QUAD $0xabcc77118461cefc // .quad -6067343680855748868 - QUAD $0x3d32907604691b4c // .quad 4409745821703674700 - QUAD $0xd6bf94d5e57a42bc // .quad -2972493582642298180 - QUAD $0xa63f9a49c2c1b10f // .quad -6467280898289979121 - QUAD $0x8637bd05af6c69b5 // .quad -8775337516792518219 - QUAD $0x0fcf80dc33721d53 // .quad 1139270913992301907 - QUAD $0xa7c5ac471b478423 // .quad -6357485877563259869 - QUAD $0xd3c36113404ea4a8 // .quad -3187597375937010520 - QUAD $0xd1b71758e219652b // .quad -3335171328526686933 - QUAD $0x645a1cac083126e9 // .quad 7231123676894144233 - QUAD $0x83126e978d4fdf3b // .quad -9002011107970261189 - QUAD $0x3d70a3d70a3d70a3 // .quad 4427218577690292387 - QUAD $0xa3d70a3d70a3d70a // .quad -6640827866535438582 - QUAD $0xcccccccccccccccc; QUAD $0xcccccccccccccccc // .space 16, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8000000000000000 // .quad -9223372036854775808 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa000000000000000 // .quad -6917529027641081856 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xc800000000000000 // .quad -4035225266123964416 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xfa00000000000000 // .quad -432345564227567616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9c40000000000000 // .quad -7187745005283311616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xc350000000000000 // .quad -4372995238176751616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xf424000000000000 // .quad -854558029293551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9896800000000000 // .quad -7451627795949551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xbebc200000000000 // .quad -4702848726509551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xee6b280000000000 // .quad -1266874889709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9502f90000000000 // .quad -7709325833709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xba43b74000000000 // .quad -5024971273709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xe8d4a51000000000 // .quad -1669528073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9184e72a00000000 // .quad -7960984073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xb5e620f480000000 // .quad -5339544073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xe35fa931a0000000 // .quad -2062744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8e1bc9bf04000000 // .quad -8206744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xb1a2bc2ec5000000 // .quad -5646744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xde0b6b3a76400000 // .quad -2446744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8ac7230489e80000 // .quad -8446744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xad78ebc5ac620000 // .quad -5946744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xd8d726b7177a8000 // .quad -2821744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x878678326eac9000 // .quad -8681119073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa968163f0a57b400 // .quad -6239712823709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xd3c21bcecceda100 // .quad -3187955011209551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x84595161401484a0 // .quad -8910000909647051616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa56fa5b99019a5c8 // .quad -6525815118631426616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xcecb8f27f4200f3a // .quad -3545582879861895366 - QUAD $0x4000000000000000 // .quad 4611686018427387904 - QUAD $0x813f3978f8940984 // .quad -9133518327554766460 - QUAD $0x5000000000000000 // .quad 5764607523034234880 - QUAD $0xa18f07d736b90be5 // .quad -6805211891016070171 - QUAD $0xa400000000000000 // .quad -6629298651489370112 - QUAD $0xc9f2c9cd04674ede // .quad -3894828845342699810 - QUAD $0x4d00000000000000 // .quad 5548434740920451072 - QUAD $0xfc6f7c4045812296 // .quad -256850038250986858 - QUAD $0xf020000000000000 // .quad -1143914305352105984 - QUAD $0x9dc5ada82b70b59d // .quad -7078060301547948643 - QUAD $0x6c28000000000000 // .quad 7793479155164643328 - QUAD $0xc5371912364ce305 // .quad -4235889358507547899 - QUAD $0xc732000000000000 // .quad -4093209111326359552 - QUAD $0xf684df56c3e01bc6 // .quad -683175679707046970 - QUAD $0x3c7f400000000000 // .quad 4359273333062107136 - QUAD $0x9a130b963a6c115c // .quad -7344513827457986212 - QUAD $0x4b9f100000000000 // .quad 5449091666327633920 - QUAD $0xc097ce7bc90715b3 // .quad -4568956265895094861 - QUAD $0x1e86d40000000000 // .quad 2199678564482154496 - QUAD $0xf0bdc21abb48db20 // .quad -1099509313941480672 - QUAD $0x1314448000000000 // .quad 1374799102801346560 - QUAD $0x96769950b50d88f4 // .quad -7604722348854507276 - QUAD $0x17d955a000000000 // .quad 1718498878501683200 - QUAD $0xbc143fa4e250eb31 // .quad -4894216917640746191 - QUAD $0x5dcfab0800000000 // .quad 6759809616554491904 - QUAD $0xeb194f8e1ae525fd // .quad -1506085128623544835 - QUAD $0x5aa1cae500000000 // .quad 6530724019560251392 - QUAD $0x92efd1b8d0cf37be // .quad -7858832233030797378 - QUAD $0xf14a3d9e40000000 // .quad -1059967012404461568 - QUAD $0xb7abc627050305ad // .quad -5211854272861108819 - QUAD $0x6d9ccd05d0000000 // .quad 7898413271349198848 - QUAD $0xe596b7b0c643c719 // .quad -1903131822648998119 - QUAD $0xe4820023a2000000 // .quad -1981020733047832576 - QUAD $0x8f7e32ce7bea5c6f // .quad -8106986416796705681 - QUAD $0xdda2802c8a800000 // .quad -2476275916309790720 - QUAD $0xb35dbf821ae4f38b // .quad -5522047002568494197 - QUAD $0xd50b2037ad200000 // .quad -3095344895387238400 - QUAD $0xe0352f62a19e306e // .quad -2290872734783229842 - QUAD $0x4526f422cc340000 // .quad 4982938468024057856 - QUAD $0x8c213d9da502de45 // .quad -8349324486880600507 - QUAD $0x9670b12b7f410000 // .quad -7606384970252091392 - QUAD $0xaf298d050e4395d6 // .quad -5824969590173362730 - QUAD $0x3c0cdd765f114000 // .quad 4327076842467049472 - QUAD $0xdaf3f04651d47b4c // .quad -2669525969289315508 - QUAD $0xa5880a69fb6ac800 // .quad -6518949010312869888 - QUAD $0x88d8762bf324cd0f // .quad -8585982758446904049 - QUAD $0x8eea0d047a457a00 // .quad -8148686262891087360 - QUAD $0xab0e93b6efee0053 // .quad -6120792429631242157 - QUAD $0x72a4904598d6d880 // .quad 8260886245095692416 - QUAD $0xd5d238a4abe98068 // .quad -3039304518611664792 - QUAD $0x47a6da2b7f864750 // .quad 5163053903184807760 - QUAD $0x85a36366eb71f041 // .quad -8817094351773372351 - QUAD $0x999090b65f67d924 // .quad -7381240676301154012 - QUAD $0xa70c3c40a64e6c51 // .quad -6409681921289327535 - QUAD $0xfff4b4e3f741cf6d // .quad -3178808521666707 - QUAD $0xd0cf4b50cfe20765 // .quad -3400416383184271515 - QUAD $0xbff8f10e7a8921a4 // .quad -4613672773753429596 - QUAD $0x82818f1281ed449f // .quad -9042789267131251553 - QUAD $0xaff72d52192b6a0d // .quad -5767090967191786995 - QUAD $0xa321f2d7226895c7 // .quad -6691800565486676537 - QUAD $0x9bf4f8a69f764490 // .quad -7208863708989733744 - QUAD $0xcbea6f8ceb02bb39 // .quad -3753064688430957767 - QUAD $0x02f236d04753d5b4 // .quad 212292400617608628 - QUAD $0xfee50b7025c36a08 // .quad -79644842111309304 - QUAD $0x01d762422c946590 // .quad 132682750386005392 - QUAD $0x9f4f2726179a2245 // .quad -6967307053960650171 - QUAD $0x424d3ad2b7b97ef5 // .quad 4777539456409894645 - QUAD $0xc722f0ef9d80aad6 // .quad -4097447799023424810 - QUAD $0xd2e0898765a7deb2 // .quad -3251447716342407502 - QUAD $0xf8ebad2b84e0d58b // .quad -510123730351893109 - QUAD $0x63cc55f49f88eb2f // .quad 7191217214140771119 - QUAD $0x9b934c3b330c8577 // .quad -7236356359111015049 - QUAD $0x3cbf6b71c76b25fb // .quad 4377335499248575995 - QUAD $0xc2781f49ffcfa6d5 // .quad -4433759430461380907 - QUAD $0x8bef464e3945ef7a // .quad -8363388681221443718 - QUAD $0xf316271c7fc3908a // .quad -930513269649338230 - QUAD $0x97758bf0e3cbb5ac // .quad -7532960934977096276 - QUAD $0x97edd871cfda3a56 // .quad -7499099821171918250 - QUAD $0x3d52eeed1cbea317 // .quad 4418856886560793367 - QUAD $0xbde94e8e43d0c8ec // .quad -4762188758037509908 - QUAD $0x4ca7aaa863ee4bdd // .quad 5523571108200991709 - QUAD $0xed63a231d4c4fb27 // .quad -1341049929119499481 - QUAD $0x8fe8caa93e74ef6a // .quad -8076983103442849942 - QUAD $0x945e455f24fb1cf8 // .quad -7755685233340769032 - QUAD $0xb3e2fd538e122b44 // .quad -5484542860876174524 - QUAD $0xb975d6b6ee39e436 // .quad -5082920523248573386 - QUAD $0x60dbbca87196b616 // .quad 6979379479186945558 - QUAD $0xe7d34c64a9c85d44 // .quad -1741964635633328828 - QUAD $0xbc8955e946fe31cd // .quad -4861259862362934835 - QUAD $0x90e40fbeea1d3a4a // .quad -8006256924911912374 - QUAD $0x6babab6398bdbe41 // .quad 7758483227328495169 - QUAD $0xb51d13aea4a488dd // .quad -5396135137712502563 - QUAD $0xc696963c7eed2dd1 // .quad -4136954021121544751 - QUAD $0xe264589a4dcdab14 // .quad -2133482903713240300 - QUAD $0xfc1e1de5cf543ca2 // .quad -279753253987271518 - QUAD $0x8d7eb76070a08aec // .quad -8250955842461857044 - QUAD $0x3b25a55f43294bcb // .quad 4261994450943298507 - QUAD $0xb0de65388cc8ada8 // .quad -5702008784649933400 - QUAD $0x49ef0eb713f39ebe // .quad 5327493063679123134 - QUAD $0xdd15fe86affad912 // .quad -2515824962385028846 - QUAD $0x6e3569326c784337 // .quad 7941369183226839863 - QUAD $0x8a2dbf142dfcc7ab // .quad -8489919629131724885 - QUAD $0x49c2c37f07965404 // .quad 5315025460606161924 - QUAD $0xacb92ed9397bf996 // .quad -6000713517987268202 - QUAD $0xdc33745ec97be906 // .quad -2579590211097073402 - QUAD $0xd7e77a8f87daf7fb // .quad -2889205879056697349 - QUAD $0x69a028bb3ded71a3 // .quad 7611128154919104931 - QUAD $0x86f0ac99b4e8dafd // .quad -8723282702051517699 - QUAD $0xc40832ea0d68ce0c // .quad -4321147861633282548 - QUAD $0xa8acd7c0222311bc // .quad -6292417359137009220 - QUAD $0xf50a3fa490c30190 // .quad -789748808614215280 - QUAD $0xd2d80db02aabd62b // .quad -3253835680493873621 - QUAD $0x792667c6da79e0fa // .quad 8729779031470891258 - QUAD $0x83c7088e1aab65db // .quad -8951176327949752869 - QUAD $0x577001b891185938 // .quad 6300537770911226168 - QUAD $0xa4b8cab1a1563f52 // .quad -6577284391509803182 - QUAD $0xed4c0226b55e6f86 // .quad -1347699823215743098 - QUAD $0xcde6fd5e09abcf26 // .quad -3609919470959866074 - QUAD $0x544f8158315b05b4 // .quad 6075216638131242420 - QUAD $0x80b05e5ac60b6178 // .quad -9173728696990998152 - QUAD $0x696361ae3db1c721 // .quad 7594020797664053025 - QUAD $0xa0dc75f1778e39d6 // .quad -6855474852811359786 - QUAD $0x03bc3a19cd1e38e9 // .quad 269153960225290473 - QUAD $0xc913936dd571c84c // .quad -3957657547586811828 - QUAD $0x04ab48a04065c723 // .quad 336442450281613091 - QUAD $0xfb5878494ace3a5f // .quad -335385916056126881 - QUAD $0x62eb0d64283f9c76 // .quad 7127805559067090038 - QUAD $0x9d174b2dcec0e47b // .quad -7127145225176161157 - QUAD $0x3ba5d0bd324f8394 // .quad 4298070930406474644 - QUAD $0xc45d1df942711d9a // .quad -4297245513042813542 - QUAD $0xca8f44ec7ee36479 // .quad -3850783373846682503 - QUAD $0xf5746577930d6500 // .quad -759870872876129024 - QUAD $0x7e998b13cf4e1ecb // .quad 9122475437414293195 - QUAD $0x9968bf6abbe85f20 // .quad -7392448323188662496 - QUAD $0x9e3fedd8c321a67e // .quad -7043649776941685122 - QUAD $0xbfc2ef456ae276e8 // .quad -4628874385558440216 - QUAD $0xc5cfe94ef3ea101e // .quad -4192876202749718498 - QUAD $0xefb3ab16c59b14a2 // .quad -1174406963520662366 - QUAD $0xbba1f1d158724a12 // .quad -4926390635932268014 - QUAD $0x95d04aee3b80ece5 // .quad -7651533379841495835 - QUAD $0x2a8a6e45ae8edc97 // .quad 3065383741939440791 - QUAD $0xbb445da9ca61281f // .quad -4952730706374481889 - QUAD $0xf52d09d71a3293bd // .quad -779956341003086915 - QUAD $0xea1575143cf97226 // .quad -1579227364540714458 - QUAD $0x593c2626705f9c56 // .quad 6430056314514152534 - QUAD $0x924d692ca61be758 // .quad -7904546130479028392 - QUAD $0x6f8b2fb00c77836c // .quad 8037570393142690668 - QUAD $0xb6e0c377cfa2e12e // .quad -5268996644671397586 - QUAD $0x0b6dfb9c0f956447 // .quad 823590954573587527 - QUAD $0xe498f455c38b997a // .quad -1974559787411859078 - QUAD $0x4724bd4189bd5eac // .quad 5126430365035880108 - QUAD $0x8edf98b59a373fec // .quad -8151628894773493780 - QUAD $0x58edec91ec2cb657 // .quad 6408037956294850135 - QUAD $0xb2977ee300c50fe7 // .quad -5577850100039479321 - QUAD $0x2f2967b66737e3ed // .quad 3398361426941174765 - QUAD $0xdf3d5e9bc0f653e1 // .quad -2360626606621961247 - QUAD $0xbd79e0d20082ee74 // .quad -4793553135802847628 - QUAD $0x8b865b215899f46c // .quad -8392920656779807636 - QUAD $0xecd8590680a3aa11 // .quad -1380255401326171631 - QUAD $0xae67f1e9aec07187 // .quad -5879464802547371641 - QUAD $0xe80e6f4820cc9495 // .quad -1725319251657714539 - QUAD $0xda01ee641a708de9 // .quad -2737644984756826647 - QUAD $0x3109058d147fdcdd // .quad 3533361486141316317 - QUAD $0x884134fe908658b2 // .quad -8628557143114098510 - QUAD $0xbd4b46f0599fd415 // .quad -4806670179178130411 - QUAD $0xaa51823e34a7eede // .quad -6174010410465235234 - QUAD $0x6c9e18ac7007c91a // .quad 7826720331309500698 - QUAD $0xd4e5e2cdc1d1ea96 // .quad -3105826994654156138 - QUAD $0x03e2cf6bc604ddb0 // .quad 280014188641050032 - QUAD $0x850fadc09923329e // .quad -8858670899299929442 - QUAD $0x84db8346b786151c // .quad -8873354301053463268 - QUAD $0xa6539930bf6bff45 // .quad -6461652605697523899 - QUAD $0xe612641865679a63 // .quad -1868320839462053277 - QUAD $0xcfe87f7cef46ff16 // .quad -3465379738694516970 - QUAD $0x4fcb7e8f3f60c07e // .quad 5749828502977298558 - QUAD $0x81f14fae158c5f6e // .quad -9083391364325154962 - QUAD $0xe3be5e330f38f09d // .quad -2036086408133152611 - QUAD $0xa26da3999aef7749 // .quad -6742553186979055799 - QUAD $0x5cadf5bfd3072cc5 // .quad 6678264026688335045 - QUAD $0xcb090c8001ab551c // .quad -3816505465296431844 - QUAD $0x73d9732fc7c8f7f6 // .quad 8347830033360418806 - QUAD $0xfdcb4fa002162a63 // .quad -158945813193151901 - QUAD $0x2867e7fddcdd9afa // .quad 2911550761636567802 - QUAD $0x9e9f11c4014dda7e // .quad -7016870160886801794 - QUAD $0xb281e1fd541501b8 // .quad -5583933584809066056 - QUAD $0xc646d63501a1511d // .quad -4159401682681114339 - QUAD $0x1f225a7ca91a4226 // .quad 2243455055843443238 - QUAD $0xf7d88bc24209a565 // .quad -587566084924005019 - QUAD $0x3375788de9b06958 // .quad 3708002419115845976 - QUAD $0x9ae757596946075f // .quad -7284757830718584993 - QUAD $0x0052d6b1641c83ae // .quad 23317005467419566 - QUAD $0xc1a12d2fc3978937 // .quad -4494261269970843337 - QUAD $0xc0678c5dbd23a49a // .quad -4582539761593113446 - QUAD $0xf209787bb47d6b84 // .quad -1006140569036166268 - QUAD $0xf840b7ba963646e0 // .quad -558244341782001952 - QUAD $0x9745eb4d50ce6332 // .quad -7546366883288685774 - QUAD $0xb650e5a93bc3d898 // .quad -5309491445654890344 - QUAD $0xbd176620a501fbff // .quad -4821272585683469313 - QUAD $0xa3e51f138ab4cebe // .quad -6636864307068612930 - QUAD $0xec5d3fa8ce427aff // .quad -1414904713676948737 - QUAD $0xc66f336c36b10137 // .quad -4148040191917883081 - QUAD $0x93ba47c980e98cdf // .quad -7801844473689174817 - QUAD $0xb80b0047445d4184 // .quad -5185050239897353852 - QUAD $0xb8a8d9bbe123f017 // .quad -5140619573684080617 - QUAD $0xa60dc059157491e5 // .quad -6481312799871692315 - QUAD $0xe6d3102ad96cec1d // .quad -1814088448677712867 - QUAD $0x87c89837ad68db2f // .quad -8662506518347195601 - QUAD $0x9043ea1ac7e41392 // .quad -8051334308064652398 - QUAD $0x29babe4598c311fb // .quad 3006924907348169211 - QUAD $0xb454e4a179dd1877 // .quad -5452481866653427593 - QUAD $0xf4296dd6fef3d67a // .quad -853029884242176390 - QUAD $0xe16a1dc9d8545e94 // .quad -2203916314889396588 - QUAD $0x1899e4a65f58660c // .quad 1772699331562333708 - QUAD $0x8ce2529e2734bb1d // .quad -8294976724446954723 - QUAD $0x5ec05dcff72e7f8f // .quad 6827560182880305039 - QUAD $0xb01ae745b101e9e4 // .quad -5757034887131305500 - QUAD $0x76707543f4fa1f73 // .quad 8534450228600381299 - QUAD $0xdc21a1171d42645d // .quad -2584607590486743971 - QUAD $0x6a06494a791c53a8 // .quad 7639874402088932264 - QUAD $0x899504ae72497eba // .quad -8532908771695296838 - QUAD $0x0487db9d17636892 // .quad 326470965756389522 - QUAD $0xabfa45da0edbde69 // .quad -6054449946191733143 - QUAD $0x45a9d2845d3c42b6 // .quad 5019774725622874806 - QUAD $0xd6f8d7509292d603 // .quad -2956376414312278525 - QUAD $0x0b8a2392ba45a9b2 // .quad 831516194300602802 - QUAD $0x865b86925b9bc5c2 // .quad -8765264286586255934 - QUAD $0x8e6cac7768d7141e // .quad -8183976793979022306 - QUAD $0xa7f26836f282b732 // .quad -6344894339805432014 - QUAD $0x3207d795430cd926 // .quad 3605087062808385830 - QUAD $0xd1ef0244af2364ff // .quad -3319431906329402113 - QUAD $0x7f44e6bd49e807b8 // .quad 9170708441896323000 - QUAD $0x8335616aed761f1f // .quad -8992173969096958177 - QUAD $0x5f16206c9c6209a6 // .quad 6851699533943015846 - QUAD $0xa402b9c5a8d3a6e7 // .quad -6628531442943809817 - QUAD $0x36dba887c37a8c0f // .quad 3952938399001381903 - QUAD $0xcd036837130890a1 // .quad -3673978285252374367 - QUAD $0xc2494954da2c9789 // .quad -4446942528265218167 - QUAD $0x802221226be55a64 // .quad -9213765455923815836 - QUAD $0xf2db9baa10b7bd6c // .quad -946992141904134804 - QUAD $0xa02aa96b06deb0fd // .quad -6905520801477381891 - QUAD $0x6f92829494e5acc7 // .quad 8039631859474607303 - QUAD $0xc83553c5c8965d3d // .quad -4020214983419339459 - QUAD $0xcb772339ba1f17f9 // .quad -3785518230938904583 - QUAD $0xfa42a8b73abbf48c // .quad -413582710846786420 - QUAD $0xff2a760414536efb // .quad -60105885123121413 - QUAD $0x9c69a97284b578d7 // .quad -7176018221920323369 - QUAD $0xfef5138519684aba // .quad -75132356403901766 - QUAD $0xc38413cf25e2d70d // .quad -4358336758973016307 - QUAD $0x7eb258665fc25d69 // .quad 9129456591349898601 - QUAD $0xf46518c2ef5b8cd1 // .quad -836234930288882479 - QUAD $0xef2f773ffbd97a61 // .quad -1211618658047395231 - QUAD $0x98bf2f79d5993802 // .quad -7440175859071633406 - QUAD $0xaafb550ffacfd8fa // .quad -6126209340986631942 - QUAD $0xbeeefb584aff8603 // .quad -4688533805412153853 - QUAD $0x95ba2a53f983cf38 // .quad -7657761676233289928 - QUAD $0xeeaaba2e5dbf6784 // .quad -1248981238337804412 - QUAD $0xdd945a747bf26183 // .quad -2480258038432112253 - QUAD $0x952ab45cfa97a0b2 // .quad -7698142301602209614 - QUAD $0x94f971119aeef9e4 // .quad -7712008566467528220 - QUAD $0xba756174393d88df // .quad -5010991858575374113 - QUAD $0x7a37cd5601aab85d // .quad 8806733365625141341 - QUAD $0xe912b9d1478ceb17 // .quad -1652053804791829737 - QUAD $0xac62e055c10ab33a // .quad -6025006692552756422 - QUAD $0x91abb422ccb812ee // .quad -7950062655635975442 - QUAD $0x577b986b314d6009 // .quad 6303799689591218185 - QUAD $0xb616a12b7fe617aa // .quad -5325892301117581398 - QUAD $0xed5a7e85fda0b80b // .quad -1343622424865753077 - QUAD $0xe39c49765fdf9d94 // .quad -2045679357969588844 - QUAD $0x14588f13be847307 // .quad 1466078993672598279 - QUAD $0x8e41ade9fbebc27d // .quad -8196078626372074883 - QUAD $0x596eb2d8ae258fc8 // .quad 6444284760518135752 - QUAD $0xb1d219647ae6b31c // .quad -5633412264537705700 - QUAD $0x6fca5f8ed9aef3bb // .quad 8055355950647669691 - QUAD $0xde469fbd99a05fe3 // .quad -2430079312244744221 - QUAD $0x25de7bb9480d5854 // .quad 2728754459941099604 - QUAD $0x8aec23d680043bee // .quad -8436328597794046994 - QUAD $0xaf561aa79a10ae6a // .quad -5812428961928401302 - QUAD $0xada72ccc20054ae9 // .quad -5933724728815170839 - QUAD $0x1b2ba1518094da04 // .quad 1957835834444274180 - QUAD $0xd910f7ff28069da4 // .quad -2805469892591575644 - QUAD $0x90fb44d2f05d0842 // .quad -7999724640327104446 - QUAD $0x87aa9aff79042286 // .quad -8670947710510816634 - QUAD $0x353a1607ac744a53 // .quad 3835402254873283155 - QUAD $0xa99541bf57452b28 // .quad -6226998619711132888 - QUAD $0x42889b8997915ce8 // .quad 4794252818591603944 - QUAD $0xd3fa922f2d1675f2 // .quad -3172062256211528206 - QUAD $0x69956135febada11 // .quad 7608094030047140369 - QUAD $0x847c9b5d7c2e09b7 // .quad -8900067937773286985 - QUAD $0x43fab9837e699095 // .quad 4898431519131537557 - QUAD $0xa59bc234db398c25 // .quad -6513398903789220827 - QUAD $0x94f967e45e03f4bb // .quad -7712018656367741765 - QUAD $0xcf02b2c21207ef2e // .quad -3530062611309138130 - QUAD $0x1d1be0eebac278f5 // .quad 2097517367411243253 - QUAD $0x8161afb94b44f57d // .quad -9123818159709293187 - QUAD $0x6462d92a69731732 // .quad 7233582727691441970 - QUAD $0xa1ba1ba79e1632dc // .quad -6793086681209228580 - QUAD $0x7d7b8f7503cfdcfe // .quad 9041978409614302462 - QUAD $0xca28a291859bbf93 // .quad -3879672333084147821 - QUAD $0x5cda735244c3d43e // .quad 6690786993590490174 - QUAD $0xfcb2cb35e702af78 // .quad -237904397927796872 - QUAD $0x3a0888136afa64a7 // .quad 4181741870994056359 - QUAD $0x9defbf01b061adab // .quad -7066219276345954901 - QUAD $0x088aaa1845b8fdd0 // .quad 615491320315182544 - QUAD $0xc56baec21c7a1916 // .quad -4221088077005055722 - QUAD $0x8aad549e57273d45 // .quad -8454007886460797627 - QUAD $0xf6c69a72a3989f5b // .quad -664674077828931749 - QUAD $0x36ac54e2f678864b // .quad 3939617107816777291 - QUAD $0x9a3c2087a63f6399 // .quad -7332950326284164199 - QUAD $0x84576a1bb416a7dd // .quad -8910536670511192099 - QUAD $0xc0cb28a98fcf3c7f // .quad -4554501889427817345 - QUAD $0x656d44a2a11c51d5 // .quad 7308573235570561493 - QUAD $0xf0fdf2d3f3c30b9f // .quad -1081441343357383777 - QUAD $0x9f644ae5a4b1b325 // .quad -6961356773836868827 - QUAD $0x969eb7c47859e743 // .quad -7593429867239446717 - QUAD $0x873d5d9f0dde1fee // .quad -8701695967296086034 - QUAD $0xbc4665b596706114 // .quad -4880101315621920492 - QUAD $0xa90cb506d155a7ea // .quad -6265433940692719638 - QUAD $0xeb57ff22fc0c7959 // .quad -1488440626100012711 - QUAD $0x09a7f12442d588f2 // .quad 695789805494438130 - QUAD $0x9316ff75dd87cbd8 // .quad -7847804418953589800 - QUAD $0x0c11ed6d538aeb2f // .quad 869737256868047663 - QUAD $0xb7dcbf5354e9bece // .quad -5198069505264599346 - QUAD $0x8f1668c8a86da5fa // .quad -8136200465769716230 - QUAD $0xe5d3ef282a242e81 // .quad -1885900863153361279 - QUAD $0xf96e017d694487bc // .quad -473439272678684740 - QUAD $0x8fa475791a569d10 // .quad -8096217067111932656 - QUAD $0x37c981dcc395a9ac // .quad 4019886927579031980 - QUAD $0xb38d92d760ec4455 // .quad -5508585315462527915 - QUAD $0x85bbe253f47b1417 // .quad -8810199395808373737 - QUAD $0xe070f78d3927556a // .quad -2274045625900771990 - QUAD $0x93956d7478ccec8e // .quad -7812217631593927538 - QUAD $0x8c469ab843b89562 // .quad -8338807543829064350 - QUAD $0x387ac8d1970027b2 // .quad 4069786015789754290 - QUAD $0xaf58416654a6babb // .quad -5811823411358942533 - QUAD $0x06997b05fcc0319e // .quad 475546501309804958 - QUAD $0xdb2e51bfe9d0696a // .quad -2653093245771290262 - QUAD $0x441fece3bdf81f03 // .quad 4908902581746016003 - QUAD $0x88fcf317f22241e2 // .quad -8575712306248138270 - QUAD $0xd527e81cad7626c3 // .quad -3087243809672255805 - QUAD $0xab3c2fddeeaad25a // .quad -6107954364382784934 - QUAD $0x8a71e223d8d3b074 // .quad -8470740780517707660 - QUAD $0xd60b3bd56a5586f1 // .quad -3023256937051093263 - QUAD $0xf6872d5667844e49 // .quad -682526969396179383 - QUAD $0x85c7056562757456 // .quad -8807064613298015146 - QUAD $0xb428f8ac016561db // .quad -5464844730172612133 - QUAD $0xa738c6bebb12d16c // .quad -6397144748195131028 - QUAD $0xe13336d701beba52 // .quad -2219369894288377262 - QUAD $0xd106f86e69d785c7 // .quad -3384744916816525881 - QUAD $0xecc0024661173473 // .quad -1387106183930235789 - QUAD $0x82a45b450226b39c // .quad -9032994600651410532 - QUAD $0x27f002d7f95d0190 // .quad 2877803288514593168 - QUAD $0xa34d721642b06084 // .quad -6679557232386875260 - QUAD $0x31ec038df7b441f4 // .quad 3597254110643241460 - QUAD $0xcc20ce9bd35c78a5 // .quad -3737760522056206171 - QUAD $0x7e67047175a15271 // .quad 9108253656731439729 - QUAD $0xff290242c83396ce // .quad -60514634142869810 - QUAD $0x0f0062c6e984d386 // .quad 1080972517029761926 - QUAD $0x9f79a169bd203e41 // .quad -6955350673980375487 - QUAD $0x52c07b78a3e60868 // .quad 5962901664714590312 - QUAD $0xc75809c42c684dd1 // .quad -4082502324048081455 - QUAD $0xa7709a56ccdf8a82 // .quad -6381430974388925822 - QUAD $0xf92e0c3537826145 // .quad -491441886632713915 - QUAD $0x88a66076400bb691 // .quad -8600080377420466543 - QUAD $0x9bbcc7a142b17ccb // .quad -7224680206786528053 - QUAD $0x6acff893d00ea435 // .quad 7696643601933968437 - QUAD $0xc2abf989935ddbfe // .quad -4419164240055772162 - QUAD $0x0583f6b8c4124d43 // .quad 397432465562684739 - QUAD $0xf356f7ebf83552fe // .quad -912269281642327298 - QUAD $0xc3727a337a8b704a // .quad -4363290727450709942 - QUAD $0x98165af37b2153de // .quad -7487697328667536418 - QUAD $0x744f18c0592e4c5c // .quad 8380944645968776284 - QUAD $0xbe1bf1b059e9a8d6 // .quad -4747935642407032618 - QUAD $0x1162def06f79df73 // .quad 1252808770606194547 - QUAD $0xeda2ee1c7064130c // .quad -1323233534581402868 - QUAD $0x8addcb5645ac2ba8 // .quad -8440366555225904216 - QUAD $0x9485d4d1c63e8be7 // .quad -7744549986754458649 - QUAD $0x6d953e2bd7173692 // .quad 7896285879677171346 - QUAD $0xb9a74a0637ce2ee1 // .quad -5069001465015685407 - QUAD $0xc8fa8db6ccdd0437 // .quad -3964700705685699529 - QUAD $0xe8111c87c5c1ba99 // .quad -1724565812842218855 - QUAD $0x1d9c9892400a22a2 // .quad 2133748077373825698 - QUAD $0x910ab1d4db9914a0 // .quad -7995382660667468640 - QUAD $0x2503beb6d00cab4b // .quad 2667185096717282123 - QUAD $0xb54d5e4a127f59c8 // .quad -5382542307406947896 - QUAD $0x2e44ae64840fd61d // .quad 3333981370896602653 - QUAD $0xe2a0b5dc971f303a // .quad -2116491865831296966 - QUAD $0x5ceaecfed289e5d2 // .quad 6695424375237764562 - QUAD $0x8da471a9de737e24 // .quad -8240336443785642460 - QUAD $0x7425a83e872c5f47 // .quad 8369280469047205703 - QUAD $0xb10d8e1456105dad // .quad -5688734536304665171 - QUAD $0xd12f124e28f77719 // .quad -3373457468973156583 - QUAD $0xdd50f1996b947518 // .quad -2499232151953443560 - QUAD $0x82bd6b70d99aaa6f // .quad -9025939945749304721 - QUAD $0x8a5296ffe33cc92f // .quad -8479549122611984081 - QUAD $0x636cc64d1001550b // .quad 7164319141522920715 - QUAD $0xace73cbfdc0bfb7b // .quad -5987750384837592197 - QUAD $0x3c47f7e05401aa4e // .quad 4343712908476262990 - QUAD $0xd8210befd30efa5a // .quad -2873001962619602342 - QUAD $0x65acfaec34810a71 // .quad 7326506586225052273 - QUAD $0x8714a775e3e95c78 // .quad -8713155254278333320 - QUAD $0x7f1839a741a14d0d // .quad 9158133232781315341 - QUAD $0xa8d9d1535ce3b396 // .quad -6279758049420528746 - QUAD $0x1ede48111209a050 // .quad 2224294504121868368 - QUAD $0xd31045a8341ca07c // .quad -3238011543348273028 - QUAD $0x934aed0aab460432 // .quad -7833187971778608078 - QUAD $0x83ea2b892091e44d // .quad -8941286242233752499 - QUAD $0xf81da84d5617853f // .quad -568112927868484289 - QUAD $0xa4e4b66b68b65d60 // .quad -6564921784364802720 - QUAD $0x36251260ab9d668e // .quad 3901544858591782542 - QUAD $0xce1de40642e3f4b9 // .quad -3594466212028615495 - QUAD $0xc1d72b7c6b426019 // .quad -4479063491021217767 - QUAD $0x80d2ae83e9ce78f3 // .quad -9164070410158966541 - QUAD $0xb24cf65b8612f81f // .quad -5598829363776522209 - QUAD $0xa1075a24e4421730 // .quad -6843401994271320272 - QUAD $0xdee033f26797b627 // .quad -2386850686293264857 - QUAD $0xc94930ae1d529cfc // .quad -3942566474411762436 - QUAD $0x169840ef017da3b1 // .quad 1628122660560806833 - QUAD $0xfb9b7cd9a4a7443c // .quad -316522074587315140 - QUAD $0x8e1f289560ee864e // .quad -8205795374004271538 - QUAD $0x9d412e0806e88aa5 // .quad -7115355324258153819 - QUAD $0xf1a6f2bab92a27e2 // .quad -1033872180650563614 - QUAD $0xc491798a08a2ad4e // .quad -4282508136895304370 - QUAD $0xae10af696774b1db // .quad -5904026244240592421 - QUAD $0xf5b5d7ec8acb58a2 // .quad -741449152691742558 - QUAD $0xacca6da1e0a8ef29 // .quad -5995859411864064215 - QUAD $0x9991a6f3d6bf1765 // .quad -7380934748073420955 - QUAD $0x17fd090a58d32af3 // .quad 1728547772024695539 - QUAD $0xbff610b0cc6edd3f // .quad -4614482416664388289 - QUAD $0xddfc4b4cef07f5b0 // .quad -2451001303396518480 - QUAD $0xeff394dcff8a948e // .quad -1156417002403097458 - QUAD $0x4abdaf101564f98e // .quad 5385653213018257806 - QUAD $0x95f83d0a1fb69cd9 // .quad -7640289654143017767 - QUAD $0x9d6d1ad41abe37f1 // .quad -7102991539009341455 - QUAD $0xbb764c4ca7a4440f // .quad -4938676049251384305 - QUAD $0x84c86189216dc5ed // .quad -8878739423761676819 - QUAD $0xea53df5fd18d5513 // .quad -1561659043136842477 - QUAD $0x32fd3cf5b4e49bb4 // .quad 3674159897003727796 - QUAD $0x92746b9be2f8552c // .quad -7893565929601608404 - QUAD $0x3fbc8c33221dc2a1 // .quad 4592699871254659745 - QUAD $0xb7118682dbb66a77 // .quad -5255271393574622601 - QUAD $0x0fabaf3feaa5334a // .quad 1129188820640936778 - QUAD $0xe4d5e82392a40515 // .quad -1957403223540890347 - QUAD $0x29cb4d87f2a7400e // .quad 3011586022114279438 - QUAD $0x8f05b1163ba6832d // .quad -8140906042354138323 - QUAD $0x743e20e9ef511012 // .quad 8376168546070237202 - QUAD $0xb2c71d5bca9023f8 // .quad -5564446534515285000 - QUAD $0x914da9246b255416 // .quad -7976533391121755114 - QUAD $0xdf78e4b2bd342cf6 // .quad -2343872149716718346 - QUAD $0x1ad089b6c2f7548e // .quad 1932195658189984910 - QUAD $0x8bab8eefb6409c1a // .quad -8382449121214030822 - QUAD $0xa184ac2473b529b1 // .quad -6808127464117294671 - QUAD $0xae9672aba3d0c320 // .quad -5866375383090150624 - QUAD $0xc9e5d72d90a2741e // .quad -3898473311719230434 - QUAD $0xda3c0f568cc4f3e8 // .quad -2721283210435300376 - QUAD $0x7e2fa67c7a658892 // .quad 9092669226243950738 - QUAD $0x8865899617fb1871 // .quad -8618331034163144591 - QUAD $0xddbb901b98feeab7 // .quad -2469221522477225289 - QUAD $0xaa7eebfb9df9de8d // .quad -6161227774276542835 - QUAD $0x552a74227f3ea565 // .quad 6136845133758244197 - QUAD $0xd51ea6fa85785631 // .quad -3089848699418290639 - QUAD $0xd53a88958f87275f // .quad -3082000819042179233 - QUAD $0x8533285c936b35de // .quad -8848684464777513506 - QUAD $0x8a892abaf368f137 // .quad -8464187042230111945 - QUAD $0xa67ff273b8460356 // .quad -6449169562544503978 - QUAD $0x2d2b7569b0432d85 // .quad 3254824252494523781 - QUAD $0xd01fef10a657842c // .quad -3449775934753242068 - QUAD $0x9c3b29620e29fc73 // .quad -7189106879045698445 - QUAD $0x8213f56a67f6b29b // .quad -9073638986861858149 - QUAD $0x8349f3ba91b47b8f // .quad -8986383598807123057 - QUAD $0xa298f2c501f45f42 // .quad -6730362715149934782 - QUAD $0x241c70a936219a73 // .quad 2602078556773259891 - QUAD $0xcb3f2f7642717713 // .quad -3801267375510030573 - QUAD $0xed238cd383aa0110 // .quad -1359087822460813040 - QUAD $0xfe0efb53d30dd4d7 // .quad -139898200960150313 - QUAD $0xf4363804324a40aa // .quad -849429889038008150 - QUAD $0x9ec95d1463e8a506 // .quad -7004965403241175802 - QUAD $0xb143c6053edcd0d5 // .quad -5673473379724898091 - QUAD $0xc67bb4597ce2ce48 // .quad -4144520735624081848 - QUAD $0xdd94b7868e94050a // .quad -2480155706228734710 - QUAD $0xf81aa16fdc1b81da // .quad -568964901102714406 - QUAD $0xca7cf2b4191c8326 // .quad -3855940325606653146 - QUAD $0x9b10a4e5e9913128 // .quad -7273132090830278360 - QUAD $0xfd1c2f611f63a3f0 // .quad -208239388580928528 - QUAD $0xc1d4ce1f63f57d72 // .quad -4479729095110460046 - QUAD $0xbc633b39673c8cec // .quad -4871985254153548564 - QUAD $0xf24a01a73cf2dccf // .quad -987975350460687153 - QUAD $0xd5be0503e085d813 // .quad -3044990783845967853 - QUAD $0x976e41088617ca01 // .quad -7535013621679011327 - QUAD $0x4b2d8644d8a74e18 // .quad 5417133557047315992 - QUAD $0xbd49d14aa79dbc82 // .quad -4807081008671376254 - QUAD $0xddf8e7d60ed1219e // .quad -2451955090545630818 - QUAD $0xec9c459d51852ba2 // .quad -1397165242411832414 - QUAD $0xcabb90e5c942b503 // .quad -3838314940804713213 - QUAD $0x93e1ab8252f33b45 // .quad -7790757304148477115 - QUAD $0x3d6a751f3b936243 // .quad 4425478360848884291 - QUAD $0xb8da1662e7b00a17 // .quad -5126760611758208489 - QUAD $0x0cc512670a783ad4 // .quad 920161932633717460 - QUAD $0xe7109bfba19c0c9d // .quad -1796764746270372707 - QUAD $0x27fb2b80668b24c5 // .quad 2880944217109767365 - QUAD $0x906a617d450187e2 // .quad -8040506994060064798 - QUAD $0xb1f9f660802dedf6 // .quad -5622191765467566602 - QUAD $0xb484f9dc9641e9da // .quad -5438947724147693094 - QUAD $0x5e7873f8a0396973 // .quad 6807318348447705459 - QUAD $0xe1a63853bbd26451 // .quad -2186998636757228463 - QUAD $0xdb0b487b6423e1e8 // .quad -2662955059861265944 - QUAD $0x8d07e33455637eb2 // .quad -8284403175614349646 - QUAD $0x91ce1a9a3d2cda62 // .quad -7940379843253970334 - QUAD $0xb049dc016abc5e5f // .quad -5743817951090549153 - QUAD $0x7641a140cc7810fb // .quad 8521269269642088699 - QUAD $0xdc5c5301c56b75f7 // .quad -2568086420435798537 - QUAD $0xa9e904c87fcb0a9d // .quad -6203421752542164323 - QUAD $0x89b9b3e11b6329ba // .quad -8522583040413455942 - QUAD $0x546345fa9fbdcd44 // .quad 6080780864604458308 - QUAD $0xac2820d9623bf429 // .quad -6041542782089432023 - QUAD $0xa97c177947ad4095 // .quad -6234081974526590827 - QUAD $0xd732290fbacaf133 // .quad -2940242459184402125 - QUAD $0x49ed8eabcccc485d // .quad 5327070802775656541 - QUAD $0x867f59a9d4bed6c0 // .quad -8755180564631333184 - QUAD $0x5c68f256bfff5a74 // .quad 6658838503469570676 - QUAD $0xa81f301449ee8c70 // .quad -6332289687361778576 - QUAD $0x73832eec6fff3111 // .quad 8323548129336963345 - QUAD $0xd226fc195c6a2f8c // .quad -3303676090774835316 - QUAD $0xc831fd53c5ff7eab // .quad -4021154456019173717 - QUAD $0x83585d8fd9c25db7 // .quad -8982326584375353929 - QUAD $0xba3e7ca8b77f5e55 // .quad -5026443070023967147 - QUAD $0xa42e74f3d032f525 // .quad -6616222212041804507 - QUAD $0x28ce1bd2e55f35eb // .quad 2940318199324816875 - QUAD $0xcd3a1230c43fb26f // .quad -3658591746624867729 - QUAD $0x7980d163cf5b81b3 // .quad 8755227902219092403 - QUAD $0x80444b5e7aa7cf85 // .quad -9204148869281624187 - QUAD $0xd7e105bcc332621f // .quad -2891023177508298209 - QUAD $0xa0555e361951c366 // .quad -6893500068174642330 - QUAD $0x8dd9472bf3fefaa7 // .quad -8225464990312760665 - QUAD $0xc86ab5c39fa63440 // .quad -4005189066790915008 - QUAD $0xb14f98f6f0feb951 // .quad -5670145219463562927 - QUAD $0xfa856334878fc150 // .quad -394800315061255856 - QUAD $0x6ed1bf9a569f33d3 // .quad 7985374283903742931 - QUAD $0x9c935e00d4b9d8d2 // .quad -7164279224554366766 - QUAD $0x0a862f80ec4700c8 // .quad 758345818024902856 - QUAD $0xc3b8358109e84f07 // .quad -4343663012265570553 - QUAD $0xcd27bb612758c0fa // .quad -3663753745896259334 - QUAD $0xf4a642e14c6262c8 // .quad -817892746904575288 - QUAD $0x8038d51cb897789c // .quad -9207375118826243940 - QUAD $0x98e7e9cccfbd7dbd // .quad -7428711994456441411 - QUAD $0xe0470a63e6bd56c3 // .quad -2285846861678029117 - QUAD $0xbf21e44003acdd2c // .quad -4674203974643163860 - QUAD $0x1858ccfce06cac74 // .quad 1754377441329851508 - QUAD $0xeeea5d5004981478 // .quad -1231068949876566920 - QUAD $0x0f37801e0c43ebc8 // .quad 1096485900831157192 - QUAD $0x95527a5202df0ccb // .quad -7686947121313936181 - QUAD $0xd30560258f54e6ba // .quad -3241078642388441414 - QUAD $0xbaa718e68396cffd // .quad -4996997883215032323 - QUAD $0x47c6b82ef32a2069 // .quad 5172023733869224041 - QUAD $0xe950df20247c83fd // .quad -1634561335591402499 - QUAD $0x4cdc331d57fa5441 // .quad 5538357842881958977 - QUAD $0x91d28b7416cdd27e // .quad -7939129862385708418 - QUAD $0xe0133fe4adf8e952 // .quad -2300424733252327086 - QUAD $0xb6472e511c81471d // .quad -5312226309554747619 - QUAD $0x58180fddd97723a6 // .quad 6347841120289366950 - QUAD $0xe3d8f9e563a198e5 // .quad -2028596868516046619 - QUAD $0x570f09eaa7ea7648 // .quad 6273243709394548296 - QUAD $0x8e679c2f5e44ff8f // .quad -8185402070463610993 - QUAD $0x2cd2cc6551e513da // .quad 3229868618315797466 - QUAD $0xb201833b35d63f73 // .quad -5620066569652125837 - QUAD $0xf8077f7ea65e58d1 // .quad -574350245532641071 - QUAD $0xde81e40a034bcf4f // .quad -2413397193637769393 - QUAD $0xfb04afaf27faf782 // .quad -358968903457900670 - QUAD $0x8b112e86420f6191 // .quad -8425902273664687727 - QUAD $0x79c5db9af1f9b563 // .quad 8774660907532399971 - QUAD $0xadd57a27d29339f6 // .quad -5920691823653471754 - QUAD $0x18375281ae7822bc // .quad 1744954097560724156 - QUAD $0xd94ad8b1c7380874 // .quad -2789178761139451788 - QUAD $0x8f2293910d0b15b5 // .quad -8132775725879323211 - QUAD $0x87cec76f1c830548 // .quad -8660765753353239224 - QUAD $0xb2eb3875504ddb22 // .quad -5554283638921766110 - QUAD $0xa9c2794ae3a3c69a // .quad -6214271173264161126 - QUAD $0x5fa60692a46151eb // .quad 6892203506629956075 - QUAD $0xd433179d9c8cb841 // .quad -3156152948152813503 - QUAD $0xdbc7c41ba6bcd333 // .quad -2609901835997359309 - QUAD $0x849feec281d7f328 // .quad -8890124620236590296 - QUAD $0x12b9b522906c0800 // .quad 1349308723430688768 - QUAD $0xa5c7ea73224deff3 // .quad -6500969756868349965 - QUAD $0xd768226b34870a00 // .quad -2925050114139026944 - QUAD $0xcf39e50feae16bef // .quad -3514526177658049553 - QUAD $0xe6a1158300d46640 // .quad -1828156321336891840 - QUAD $0x81842f29f2cce375 // .quad -9114107888677362827 - QUAD $0x60495ae3c1097fd0 // .quad 6938176635183661008 - QUAD $0xa1e53af46f801c53 // .quad -6780948842419315629 - QUAD $0x385bb19cb14bdfc4 // .quad 4061034775552188356 - QUAD $0xca5e89b18b602368 // .quad -3864500034596756632 - QUAD $0x46729e03dd9ed7b5 // .quad 5076293469440235445 - QUAD $0xfcf62c1dee382c42 // .quad -218939024818557886 - QUAD $0x6c07a2c26a8346d1 // .quad 7784369436827535057 - QUAD $0x9e19db92b4e31ba9 // .quad -7054365918152680535 - QUAD $0xc7098b7305241885 // .quad -4104596259247744891 - QUAD $0xc5a05277621be293 // .quad -4206271379263462765 - QUAD $0xb8cbee4fc66d1ea7 // .quad -5130745324059681113 - QUAD $0xf70867153aa2db38 // .quad -646153205651940552 - QUAD $0x737f74f1dc043328 // .quad 8322499218531169064 - QUAD $0x9a65406d44a5c903 // .quad -7321374781173544701 - QUAD $0x505f522e53053ff2 // .quad 5791438004736573426 - QUAD $0xc0fe908895cf3b44 // .quad -4540032458039542972 - QUAD $0x647726b9e7c68fef // .quad 7239297505920716783 - QUAD $0xf13e34aabb430a15 // .quad -1063354554122040811 - QUAD $0x5eca783430dc19f5 // .quad 6830403950414141941 - QUAD $0x96c6e0eab509e64d // .quad -7582125623967357363 - QUAD $0xb67d16413d132072 // .quad -5297053117264486286 - QUAD $0xbc789925624c5fe0 // .quad -4865971011531808800 - QUAD $0xe41c5bd18c57e88f // .quad -2009630378153219953 - QUAD $0xeb96bf6ebadf77d8 // .quad -1470777745987373096 - QUAD $0x8e91b962f7b6f159 // .quad -8173548013986844327 - QUAD $0x933e37a534cbaae7 // .quad -7836765118883190041 - QUAD $0x723627bbb5a4adb0 // .quad 8229809056225996208 - QUAD $0xb80dc58e81fe95a1 // .quad -5184270380176599647 - QUAD $0xcec3b1aaa30dd91c // .quad -3547796734999668452 - QUAD $0xe61136f2227e3b09 // .quad -1868651956793361655 - QUAD $0x213a4f0aa5e8a7b1 // .quad 2394313059052595121 - QUAD $0x8fcac257558ee4e6 // .quad -8085436500636932890 - QUAD $0xa988e2cd4f62d19d // .quad -6230480713039031907 - QUAD $0xb3bd72ed2af29e1f // .quad -5495109607368778209 - QUAD $0x93eb1b80a33b8605 // .quad -7788100891298789883 - QUAD $0xe0accfa875af45a7 // .quad -2257200990783584857 - QUAD $0xbc72f130660533c3 // .quad -4867563057061743677 - QUAD $0x8c6c01c9498d8b88 // .quad -8328279646880822392 - QUAD $0xeb8fad7c7f8680b4 // .quad -1472767802899791692 - QUAD $0xaf87023b9bf0ee6a // .quad -5798663540173640086 - QUAD $0xa67398db9f6820e1 // .quad -6452645772052127519 - QUAD $0xdb68c2ca82ed2a05 // .quad -2636643406789662203 - QUAD $0x88083f8943a1148c // .quad -8644589625959967604 - QUAD $0x892179be91d43a43 // .quad -8565431156884620733 - QUAD $0x6a0a4f6b948959b0 // .quad 7641007041259592112 - QUAD $0xab69d82e364948d4 // .quad -6095102927678388012 - QUAD $0x848ce34679abb01c // .quad -8895485272135061476 - QUAD $0xd6444e39c3db9b09 // .quad -3007192641170597111 - QUAD $0xf2d80e0c0c0b4e11 // .quad -947992276657025519 - QUAD $0x85eab0e41a6940e5 // .quad -8797024428372705051 - QUAD $0x6f8e118f0f0e2195 // .quad 8038381691033493909 - QUAD $0xa7655d1d2103911f // .quad -6384594517038493409 - QUAD $0x4b7195f2d2d1a9fb // .quad 5436291095364479483 - QUAD $0xd13eb46469447567 // .quad -3369057127870728857 - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -_POW_TAB: - LONG $0x00000001 // .long 1 - LONG $0x00000003 // .long 3 - LONG $0x00000006 // .long 6 - LONG $0x00000009 // .long 9 - LONG $0x0000000d // .long 13 - LONG $0x00000010 // .long 16 - LONG $0x00000013 // .long 19 - LONG $0x00000017 // .long 23 - LONG $0x0000001a // .long 26 - - // .p2align 2, 0x00 -_MASK_USE_NUMBER: - LONG $0x00000002 // .long 2 - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -_Digits: - QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' - QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' - QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' - QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' - QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' - QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' - QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' - QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' - QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' - QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' - QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' - QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' - QUAD $0x3939383937393639 // .ascii 8, '96979899' - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -_LB_9e78d5f3: // _pow10_ceil_sig.g - QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 - QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331 - QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 - QUAD $0x77b191618c54e9ad // .quad 8624834609543440813 - QUAD $0xc795830d75038c1d // .quad -4065198994811024355 - QUAD $0xd59df5b9ef6a2418 // .quad -3054014793352862696 - QUAD $0xf97ae3d0d2446f25 // .quad -469812725086392539 - QUAD $0x4b0573286b44ad1e // .quad 5405853545163697438 - QUAD $0x9becce62836ac577 // .quad -7211161980820077193 - QUAD $0x4ee367f9430aec33 // .quad 5684501474941004851 - QUAD $0xc2e801fb244576d5 // .quad -4402266457597708587 - QUAD $0x229c41f793cda740 // .quad 2493940825248868160 - QUAD $0xf3a20279ed56d48a // .quad -891147053569747830 - QUAD $0x6b43527578c11110 // .quad 7729112049988473104 - QUAD $0x9845418c345644d6 // .quad -7474495936122174250 - QUAD $0x830a13896b78aaaa // .quad -9004363024039368022 - QUAD $0xbe5691ef416bd60c // .quad -4731433901725329908 - QUAD $0x23cc986bc656d554 // .quad 2579604275232953684 - QUAD $0xedec366b11c6cb8f // .quad -1302606358729274481 - QUAD $0x2cbfbe86b7ec8aa9 // .quad 3224505344041192105 - QUAD $0x94b3a202eb1c3f39 // .quad -7731658001846878407 - QUAD $0x7bf7d71432f3d6aa // .quad 8932844867666826922 - QUAD $0xb9e08a83a5e34f07 // .quad -5052886483881210105 - QUAD $0xdaf5ccd93fb0cc54 // .quad -2669001970698630060 - QUAD $0xe858ad248f5c22c9 // .quad -1704422086424124727 - QUAD $0xd1b3400f8f9cff69 // .quad -3336252463373287575 - QUAD $0x91376c36d99995be // .quad -7982792831656159810 - QUAD $0x23100809b9c21fa2 // .quad 2526528228819083170 - QUAD $0xb58547448ffffb2d // .quad -5366805021142811859 - QUAD $0xabd40a0c2832a78b // .quad -6065211750830921845 - QUAD $0xe2e69915b3fff9f9 // .quad -2096820258001126919 - QUAD $0x16c90c8f323f516d // .quad 1641857348316123501 - QUAD $0x8dd01fad907ffc3b // .quad -8228041688891786181 - QUAD $0xae3da7d97f6792e4 // .quad -5891368184943504668 - QUAD $0xb1442798f49ffb4a // .quad -5673366092687344822 - QUAD $0x99cd11cfdf41779d // .quad -7364210231179380835 - QUAD $0xdd95317f31c7fa1d // .quad -2480021597431793123 - QUAD $0x40405643d711d584 // .quad 4629795266307937668 - QUAD $0x8a7d3eef7f1cfc52 // .quad -8467542526035952558 - QUAD $0x482835ea666b2573 // .quad 5199465050656154995 - QUAD $0xad1c8eab5ee43b66 // .quad -5972742139117552794 - QUAD $0xda3243650005eed0 // .quad -2724040723534582064 - QUAD $0xd863b256369d4a40 // .quad -2854241655469553088 - QUAD $0x90bed43e40076a83 // .quad -8016736922845615485 - QUAD $0x873e4f75e2224e68 // .quad -8701430062309552536 - QUAD $0x5a7744a6e804a292 // .quad 6518754469289960082 - QUAD $0xa90de3535aaae202 // .quad -6265101559459552766 - QUAD $0x711515d0a205cb37 // .quad 8148443086612450103 - QUAD $0xd3515c2831559a83 // .quad -3219690930897053053 - QUAD $0x0d5a5b44ca873e04 // .quad 962181821410786820 - QUAD $0x8412d9991ed58091 // .quad -8929835859451740015 - QUAD $0xe858790afe9486c3 // .quad -1704479370831952189 - QUAD $0xa5178fff668ae0b6 // .quad -6550608805887287114 - QUAD $0x626e974dbe39a873 // .quad 7092772823314835571 - QUAD $0xce5d73ff402d98e3 // .quad -3576574988931720989 - QUAD $0xfb0a3d212dc81290 // .quad -357406007711231344 - QUAD $0x80fa687f881c7f8e // .quad -9152888395723407474 - QUAD $0x7ce66634bc9d0b9a // .quad 8999993282035256218 - QUAD $0xa139029f6a239f72 // .quad -6829424476226871438 - QUAD $0x1c1fffc1ebc44e81 // .quad 2026619565689294465 - QUAD $0xc987434744ac874e // .quad -3925094576856201394 - QUAD $0xa327ffb266b56221 // .quad -6690097579743157727 - QUAD $0xfbe9141915d7a922 // .quad -294682202642863838 - QUAD $0x4bf1ff9f0062baa9 // .quad 5472436080603216553 - QUAD $0x9d71ac8fada6c9b5 // .quad -7101705404292871755 - QUAD $0x6f773fc3603db4aa // .quad 8031958568804398250 - QUAD $0xc4ce17b399107c22 // .quad -4265445736938701790 - QUAD $0xcb550fb4384d21d4 // .quad -3795109844276665900 - QUAD $0xf6019da07f549b2b // .quad -720121152745989333 - QUAD $0x7e2a53a146606a49 // .quad 9091170749936331337 - QUAD $0x99c102844f94e0fb // .quad -7367604748107325189 - QUAD $0x2eda7444cbfc426e // .quad 3376138709496513134 - QUAD $0xc0314325637a1939 // .quad -4597819916706768583 - QUAD $0xfa911155fefb5309 // .quad -391512631556746487 - QUAD $0xf03d93eebc589f88 // .quad -1135588877456072824 - QUAD $0x793555ab7eba27cb // .quad 8733981247408842699 - QUAD $0x96267c7535b763b5 // .quad -7627272076051127371 - QUAD $0x4bc1558b2f3458df // .quad 5458738279630526687 - QUAD $0xbbb01b9283253ca2 // .quad -4922404076636521310 - QUAD $0x9eb1aaedfb016f17 // .quad -7011635205744005353 - QUAD $0xea9c227723ee8bcb // .quad -1541319077368263733 - QUAD $0x465e15a979c1cadd // .quad 5070514048102157021 - QUAD $0x92a1958a7675175f // .quad -7880853450996246689 - QUAD $0x0bfacd89ec191eca // .quad 863228270850154186 - QUAD $0xb749faed14125d36 // .quad -5239380795317920458 - QUAD $0xcef980ec671f667c // .quad -3532650679864695172 - QUAD $0xe51c79a85916f484 // .quad -1937539975720012668 - QUAD $0x82b7e12780e7401b // .quad -9027499368258256869 - QUAD $0x8f31cc0937ae58d2 // .quad -8128491512466089774 - QUAD $0xd1b2ecb8b0908811 // .quad -3336344095947716591 - QUAD $0xb2fe3f0b8599ef07 // .quad -5548928372155224313 - QUAD $0x861fa7e6dcb4aa16 // .quad -8782116138362033642 - QUAD $0xdfbdcece67006ac9 // .quad -2324474446766642487 - QUAD $0x67a791e093e1d49b // .quad 7469098900757009563 - QUAD $0x8bd6a141006042bd // .quad -8370325556870233411 - QUAD $0xe0c8bb2c5c6d24e1 // .quad -2249342214667950879 - QUAD $0xaecc49914078536d // .quad -5851220927660403859 - QUAD $0x58fae9f773886e19 // .quad 6411694268519837209 - QUAD $0xda7f5bf590966848 // .quad -2702340141148116920 - QUAD $0xaf39a475506a899f // .quad -5820440219632367201 - QUAD $0x888f99797a5e012d // .quad -8606491615858654931 - QUAD $0x6d8406c952429604 // .quad 7891439908798240260 - QUAD $0xaab37fd7d8f58178 // .quad -6146428501395930760 - QUAD $0xc8e5087ba6d33b84 // .quad -3970758169284363388 - QUAD $0xd5605fcdcf32e1d6 // .quad -3071349608317525546 - QUAD $0xfb1e4a9a90880a65 // .quad -351761693178066331 - QUAD $0x855c3be0a17fcd26 // .quad -8837122532839535322 - QUAD $0x5cf2eea09a550680 // .quad 6697677969404790400 - QUAD $0xa6b34ad8c9dfc06f // .quad -6434717147622031249 - QUAD $0xf42faa48c0ea481f // .quad -851274575098787809 - QUAD $0xd0601d8efc57b08b // .quad -3431710416100151157 - QUAD $0xf13b94daf124da27 // .quad -1064093218873484761 - QUAD $0x823c12795db6ce57 // .quad -9062348037703676329 - QUAD $0x76c53d08d6b70859 // .quad 8558313775058847833 - QUAD $0xa2cb1717b52481ed // .quad -6716249028702207507 - QUAD $0x54768c4b0c64ca6f // .quad 6086206200396171887 - QUAD $0xcb7ddcdda26da268 // .quad -3783625267450371480 - QUAD $0xa9942f5dcf7dfd0a // .quad -6227300304786948854 - QUAD $0xfe5d54150b090b02 // .quad -117845565885576446 - QUAD $0xd3f93b35435d7c4d // .quad -3172439362556298163 - QUAD $0x9efa548d26e5a6e1 // .quad -6991182506319567135 - QUAD $0xc47bc5014a1a6db0 // .quad -4288617610811380304 - QUAD $0xc6b8e9b0709f109a // .quad -4127292114472071014 - QUAD $0x359ab6419ca1091c // .quad 3862600023340550428 - QUAD $0xf867241c8cc6d4c0 // .quad -547429124662700864 - QUAD $0xc30163d203c94b63 // .quad -4395122007679087773 - QUAD $0x9b407691d7fc44f8 // .quad -7259672230555269896 - QUAD $0x79e0de63425dcf1e // .quad 8782263791269039902 - QUAD $0xc21094364dfb5636 // .quad -4462904269766699466 - QUAD $0x985915fc12f542e5 // .quad -7468914334623251739 - QUAD $0xf294b943e17a2bc4 // .quad -966944318780986428 - QUAD $0x3e6f5b7b17b2939e // .quad 4498915137003099038 - QUAD $0x979cf3ca6cec5b5a // .quad -7521869226879198374 - QUAD $0xa705992ceecf9c43 // .quad -6411550076227838909 - QUAD $0xbd8430bd08277231 // .quad -4790650515171610063 - QUAD $0x50c6ff782a838354 // .quad 5820620459997365076 - QUAD $0xece53cec4a314ebd // .quad -1376627125537124675 - QUAD $0xa4f8bf5635246429 // .quad -6559282480285457367 - QUAD $0x940f4613ae5ed136 // .quad -7777920981101784778 - QUAD $0x871b7795e136be9a // .quad -8711237568605798758 - QUAD $0xb913179899f68584 // .quad -5110715207949843068 - QUAD $0x28e2557b59846e40 // .quad 2946011094524915264 - QUAD $0xe757dd7ec07426e5 // .quad -1776707991509915931 - QUAD $0x331aeada2fe589d0 // .quad 3682513868156144080 - QUAD $0x9096ea6f3848984f // .quad -8027971522334779313 - QUAD $0x3ff0d2c85def7622 // .quad 4607414176811284002 - QUAD $0xb4bca50b065abe63 // .quad -5423278384491086237 - QUAD $0x0fed077a756b53aa // .quad 1147581702586717098 - QUAD $0xe1ebce4dc7f16dfb // .quad -2167411962186469893 - QUAD $0xd3e8495912c62895 // .quad -3177208890193991531 - QUAD $0x8d3360f09cf6e4bd // .quad -8272161504007625539 - QUAD $0x64712dd7abbbd95d // .quad 7237616480483531101 - QUAD $0xb080392cc4349dec // .quad -5728515861582144020 - QUAD $0xbd8d794d96aacfb4 // .quad -4788037454677749836 - QUAD $0xdca04777f541c567 // .quad -2548958808550292121 - QUAD $0xecf0d7a0fc5583a1 // .quad -1373360799919799391 - QUAD $0x89e42caaf9491b60 // .quad -8510628282985014432 - QUAD $0xf41686c49db57245 // .quad -858350499949874619 - QUAD $0xac5d37d5b79b6239 // .quad -6026599335303880135 - QUAD $0x311c2875c522ced6 // .quad 3538747893490044630 - QUAD $0xd77485cb25823ac7 // .quad -2921563150702462265 - QUAD $0x7d633293366b828c // .quad 9035120885289943692 - QUAD $0x86a8d39ef77164bc // .quad -8743505996830120772 - QUAD $0xae5dff9c02033198 // .quad -5882264492762254952 - QUAD $0xa8530886b54dbdeb // .quad -6317696477610263061 - QUAD $0xd9f57f830283fdfd // .quad -2741144597525430787 - QUAD $0xd267caa862a12d66 // .quad -3285434578585440922 - QUAD $0xd072df63c324fd7c // .quad -3426430746906788484 - QUAD $0x8380dea93da4bc60 // .quad -8970925639256982432 - QUAD $0x4247cb9e59f71e6e // .quad 4776009810824339054 - QUAD $0xa46116538d0deb78 // .quad -6601971030643840136 - QUAD $0x52d9be85f074e609 // .quad 5970012263530423817 - QUAD $0xcd795be870516656 // .quad -3640777769877412266 - QUAD $0x67902e276c921f8c // .quad 7462515329413029772 - QUAD $0x806bd9714632dff6 // .quad -9193015133814464522 - QUAD $0x00ba1cd8a3db53b7 // .quad 52386062455755703 - QUAD $0xa086cfcd97bf97f3 // .quad -6879582898840692749 - QUAD $0x80e8a40eccd228a5 // .quad -9157889458785081179 - QUAD $0xc8a883c0fdaf7df0 // .quad -3987792605123478032 - QUAD $0x6122cd128006b2ce // .quad 6999382250228200142 - QUAD $0xfad2a4b13d1b5d6c // .quad -373054737976959636 - QUAD $0x796b805720085f82 // .quad 8749227812785250178 - QUAD $0x9cc3a6eec6311a63 // .quad -7150688238876681629 - QUAD $0xcbe3303674053bb1 // .quad -3755104653863994447 - QUAD $0xc3f490aa77bd60fc // .quad -4326674280168464132 - QUAD $0xbedbfc4411068a9d // .quad -4693880817329993059 - QUAD $0xf4f1b4d515acb93b // .quad -796656831783192261 - QUAD $0xee92fb5515482d45 // .quad -1255665003235103419 - QUAD $0x991711052d8bf3c5 // .quad -7415439547505577019 - QUAD $0x751bdd152d4d1c4b // .quad 8438581409832836171 - QUAD $0xbf5cd54678eef0b6 // .quad -4657613415954583370 - QUAD $0xd262d45a78a0635e // .quad -3286831292991118498 - QUAD $0xef340a98172aace4 // .quad -1210330751515841308 - QUAD $0x86fb897116c87c35 // .quad -8720225134666286027 - QUAD $0x9580869f0e7aac0e // .quad -7673985747338482674 - QUAD $0xd45d35e6ae3d4da1 // .quad -3144297699952734815 - QUAD $0xbae0a846d2195712 // .quad -4980796165745715438 - QUAD $0x8974836059cca10a // .quad -8542058143368306422 - QUAD $0xe998d258869facd7 // .quad -1614309188754756393 - QUAD $0x2bd1a438703fc94c // .quad 3157485376071780684 - QUAD $0x91ff83775423cc06 // .quad -7926472270612804602 - QUAD $0x7b6306a34627ddd0 // .quad 8890957387685944784 - QUAD $0xb67f6455292cbf08 // .quad -5296404319838617848 - QUAD $0x1a3bc84c17b1d543 // .quad 1890324697752655171 - QUAD $0xe41f3d6a7377eeca // .quad -2008819381370884406 - QUAD $0x20caba5f1d9e4a94 // .quad 2362905872190818964 - QUAD $0x8e938662882af53e // .quad -8173041140997884610 - QUAD $0x547eb47b7282ee9d // .quad 6088502188546649757 - QUAD $0xb23867fb2a35b28d // .quad -5604615407819967859 - QUAD $0xe99e619a4f23aa44 // .quad -1612744301171463612 - QUAD $0xdec681f9f4c31f31 // .quad -2394083241347571919 - QUAD $0x6405fa00e2ec94d5 // .quad 7207441660390446293 - QUAD $0x8b3c113c38f9f37e // .quad -8413831053483314306 - QUAD $0xde83bc408dd3dd05 // .quad -2412877989897052923 - QUAD $0xae0b158b4738705e // .quad -5905602798426754978 - QUAD $0x9624ab50b148d446 // .quad -7627783505798704058 - QUAD $0xd98ddaee19068c76 // .quad -2770317479606055818 - QUAD $0x3badd624dd9b0958 // .quad 4300328673033783640 - QUAD $0x87f8a8d4cfa417c9 // .quad -8648977452394866743 - QUAD $0xe54ca5d70a80e5d7 // .quad -1923980597781273129 - QUAD $0xa9f6d30a038d1dbc // .quad -6199535797066195524 - QUAD $0x5e9fcf4ccd211f4d // .quad 6818396289628184397 - QUAD $0xd47487cc8470652b // .quad -3137733727905356501 - QUAD $0x7647c32000696720 // .quad 8522995362035230496 - QUAD $0x84c8d4dfd2c63f3b // .quad -8878612607581929669 - QUAD $0x29ecd9f40041e074 // .quad 3021029092058325108 - QUAD $0xa5fb0a17c777cf09 // .quad -6486579741050024183 - QUAD $0xf468107100525891 // .quad -835399653354481519 - QUAD $0xcf79cc9db955c2cc // .quad -3496538657885142324 - QUAD $0x7182148d4066eeb5 // .quad 8179122470161673909 - QUAD $0x81ac1fe293d599bf // .quad -9102865688819295809 - QUAD $0xc6f14cd848405531 // .quad -4111420493003729615 - QUAD $0xa21727db38cb002f // .quad -6766896092596731857 - QUAD $0xb8ada00e5a506a7d // .quad -5139275616254662019 - QUAD $0xca9cf1d206fdc03b // .quad -3846934097318526917 - QUAD $0xa6d90811f0e4851d // .quad -6424094520318327523 - QUAD $0xfd442e4688bd304a // .quad -196981603220770742 - QUAD $0x908f4a166d1da664 // .quad -8030118150397909404 - QUAD $0x9e4a9cec15763e2e // .quad -7040642529654063570 - QUAD $0x9a598e4e043287ff // .quad -7324666853212387329 - QUAD $0xc5dd44271ad3cdba // .quad -4189117143640191558 - QUAD $0x40eff1e1853f29fe // .quad 4679224488766679550 - QUAD $0xf7549530e188c128 // .quad -624710411122851544 - QUAD $0xd12bee59e68ef47d // .quad -3374341425896426371 - QUAD $0x9a94dd3e8cf578b9 // .quad -7307973034592864071 - QUAD $0x82bb74f8301958cf // .quad -9026492418826348337 - QUAD $0xc13a148e3032d6e7 // .quad -4523280274813692185 - QUAD $0xe36a52363c1faf02 // .quad -2059743486678159614 - QUAD $0xf18899b1bc3f8ca1 // .quad -1042414325089727327 - QUAD $0xdc44e6c3cb279ac2 // .quad -2574679358347699518 - QUAD $0x96f5600f15a7b7e5 // .quad -7569037980822161435 - QUAD $0x29ab103a5ef8c0ba // .quad 3002511419460075706 - QUAD $0xbcb2b812db11a5de // .quad -4849611457600313890 - QUAD $0x7415d448f6b6f0e8 // .quad 8364825292752482536 - QUAD $0xebdf661791d60f56 // .quad -1450328303573004458 - QUAD $0x111b495b3464ad22 // .quad 1232659579085827362 - QUAD $0x936b9fcebb25c995 // .quad -7823984217374209643 - QUAD $0xcab10dd900beec35 // .quad -3841273781498745803 - QUAD $0xb84687c269ef3bfb // .quad -5168294253290374149 - QUAD $0x3d5d514f40eea743 // .quad 4421779809981343555 - QUAD $0xe65829b3046b0afa // .quad -1848681798185579782 - QUAD $0x0cb4a5a3112a5113 // .quad 915538744049291539 - QUAD $0x8ff71a0fe2c2e6dc // .quad -8072955151507069220 - QUAD $0x47f0e785eaba72ac // .quad 5183897733458195116 - QUAD $0xb3f4e093db73a093 // .quad -5479507920956448621 - QUAD $0x59ed216765690f57 // .quad 6479872166822743895 - QUAD $0xe0f218b8d25088b8 // .quad -2237698882768172872 - QUAD $0x306869c13ec3532d // .quad 3488154190101041965 - QUAD $0x8c974f7383725573 // .quad -8316090829371189901 - QUAD $0x1e414218c73a13fc // .quad 2180096368813151228 - QUAD $0xafbd2350644eeacf // .quad -5783427518286599473 - QUAD $0xe5d1929ef90898fb // .quad -1886565557410948869 - QUAD $0xdbac6c247d62a583 // .quad -2617598379430861437 - QUAD $0xdf45f746b74abf3a // .quad -2358206946763686086 - QUAD $0x894bc396ce5da772 // .quad -8553528014785370254 - QUAD $0x6b8bba8c328eb784 // .quad 7749492695127472004 - QUAD $0xab9eb47c81f5114f // .quad -6080224000054324913 - QUAD $0x066ea92f3f326565 // .quad 463493832054564197 - QUAD $0xd686619ba27255a2 // .quad -2988593981640518238 - QUAD $0xc80a537b0efefebe // .quad -4032318728359182658 - QUAD $0x8613fd0145877585 // .quad -8785400266166405755 - QUAD $0xbd06742ce95f5f37 // .quad -4826042214438183113 - QUAD $0xa798fc4196e952e7 // .quad -6370064314280619289 - QUAD $0x2c48113823b73705 // .quad 3190819268807046917 - QUAD $0xd17f3b51fca3a7a0 // .quad -3350894374423386208 - QUAD $0xf75a15862ca504c6 // .quad -623161932418579258 - QUAD $0x82ef85133de648c4 // .quad -9011838011655698236 - QUAD $0x9a984d73dbe722fc // .quad -7307005235402693892 - QUAD $0xa3ab66580d5fdaf5 // .quad -6653111496142234891 - QUAD $0xc13e60d0d2e0ebbb // .quad -4522070525825979461 - QUAD $0xcc963fee10b7d1b3 // .quad -3704703351750405709 - QUAD $0x318df905079926a9 // .quad 3570783879572301481 - QUAD $0xffbbcfe994e5c61f // .quad -19193171260619233 - QUAD $0xfdf17746497f7053 // .quad -148206168962011053 - QUAD $0x9fd561f1fd0f9bd3 // .quad -6929524759678968877 - QUAD $0xfeb6ea8bedefa634 // .quad -92628855601256908 - QUAD $0xc7caba6e7c5382c8 // .quad -4050219931171323192 - QUAD $0xfe64a52ee96b8fc1 // .quad -115786069501571135 - QUAD $0xf9bd690a1b68637b // .quad -451088895536766085 - QUAD $0x3dfdce7aa3c673b1 // .quad 4466953431550423985 - QUAD $0x9c1661a651213e2d // .quad -7199459587351560659 - QUAD $0x06bea10ca65c084f // .quad 486002885505321039 - QUAD $0xc31bfa0fe5698db8 // .quad -4387638465762062920 - QUAD $0x486e494fcff30a63 // .quad 5219189625309039203 - QUAD $0xf3e2f893dec3f126 // .quad -872862063775190746 - QUAD $0x5a89dba3c3efccfb // .quad 6523987031636299003 - QUAD $0x986ddb5c6b3a76b7 // .quad -7463067817500576073 - QUAD $0xf89629465a75e01d // .quad -534194123654701027 - QUAD $0xbe89523386091465 // .quad -4717148753448332187 - QUAD $0xf6bbb397f1135824 // .quad -667742654568376284 - QUAD $0xee2ba6c0678b597f // .quad -1284749923383027329 - QUAD $0x746aa07ded582e2d // .quad 8388693718644305453 - QUAD $0x94db483840b717ef // .quad -7720497729755473937 - QUAD $0xa8c2a44eb4571cdd // .quad -6286281471915778851 - QUAD $0xba121a4650e4ddeb // .quad -5038936143766954517 - QUAD $0x92f34d62616ce414 // .quad -7857851839894723564 - QUAD $0xe896a0d7e51e1566 // .quad -1686984161281305242 - QUAD $0x77b020baf9c81d18 // .quad 8624429273841147160 - QUAD $0x915e2486ef32cd60 // .quad -7971894128441897632 - QUAD $0x0ace1474dc1d122f // .quad 778582277723329071 - QUAD $0xb5b5ada8aaff80b8 // .quad -5353181642124984136 - QUAD $0x0d819992132456bb // .quad 973227847154161339 - QUAD $0xe3231912d5bf60e6 // .quad -2079791034228842266 - QUAD $0x10e1fff697ed6c6a // .quad 1216534808942701674 - QUAD $0x8df5efabc5979c8f // .quad -8217398424034108273 - QUAD $0xca8d3ffa1ef463c2 // .quad -3851351762838199358 - QUAD $0xb1736b96b6fd83b3 // .quad -5660062011615247437 - QUAD $0xbd308ff8a6b17cb3 // .quad -4814189703547749197 - QUAD $0xddd0467c64bce4a0 // .quad -2463391496091671392 - QUAD $0xac7cb3f6d05ddbdf // .quad -6017737129434686497 - QUAD $0x8aa22c0dbef60ee4 // .quad -8457148712698376476 - QUAD $0x6bcdf07a423aa96c // .quad 7768129340171790700 - QUAD $0xad4ab7112eb3929d // .quad -5959749872445582691 - QUAD $0x86c16c98d2c953c7 // .quad -8736582398494813241 - QUAD $0xd89d64d57a607744 // .quad -2838001322129590460 - QUAD $0xe871c7bf077ba8b8 // .quad -1697355961263740744 - QUAD $0x87625f056c7c4a8b // .quad -8691279853972075893 - QUAD $0x11471cd764ad4973 // .quad 1244995533423855987 - QUAD $0xa93af6c6c79b5d2d // .quad -6252413799037706963 - QUAD $0xd598e40d3dd89bd0 // .quad -3055441601647567920 - QUAD $0xd389b47879823479 // .quad -3203831230369745799 - QUAD $0x4aff1d108d4ec2c4 // .quad 5404070034795315908 - QUAD $0x843610cb4bf160cb // .quad -8919923546622172981 - QUAD $0xcedf722a585139bb // .quad -3539985255894009413 - QUAD $0xa54394fe1eedb8fe // .quad -6538218414850328322 - QUAD $0xc2974eb4ee658829 // .quad -4424981569867511767 - QUAD $0xce947a3da6a9273e // .quad -3561087000135522498 - QUAD $0x733d226229feea33 // .quad 8303831092947774003 - QUAD $0x811ccc668829b887 // .quad -9143208402725783417 - QUAD $0x0806357d5a3f5260 // .quad 578208414664970848 - QUAD $0xa163ff802a3426a8 // .quad -6817324484979841368 - QUAD $0xca07c2dcb0cf26f8 // .quad -3888925500096174344 - QUAD $0xc9bcff6034c13052 // .quad -3909969587797413806 - QUAD $0xfc89b393dd02f0b6 // .quad -249470856692830026 - QUAD $0xfc2c3f3841f17c67 // .quad -275775966319379353 - QUAD $0xbbac2078d443ace3 // .quad -4923524589293425437 - QUAD $0x9d9ba7832936edc0 // .quad -7089889006590693952 - QUAD $0xd54b944b84aa4c0e // .quad -3077202868308390898 - QUAD $0xc5029163f384a931 // .quad -4250675239810979535 - QUAD $0x0a9e795e65d4df12 // .quad 765182433041899282 - QUAD $0xf64335bcf065d37d // .quad -701658031336336515 - QUAD $0x4d4617b5ff4a16d6 // .quad 5568164059729762006 - QUAD $0x99ea0196163fa42e // .quad -7356065297226292178 - QUAD $0x504bced1bf8e4e46 // .quad 5785945546544795206 - QUAD $0xc06481fb9bcf8d39 // .quad -4583395603105477319 - QUAD $0xe45ec2862f71e1d7 // .quad -1990940103673781801 - QUAD $0xf07da27a82c37088 // .quad -1117558485454458744 - QUAD $0x5d767327bb4e5a4d // .quad 6734696907262548557 - QUAD $0x964e858c91ba2655 // .quad -7616003081050118571 - QUAD $0x3a6a07f8d510f870 // .quad 4209185567039092848 - QUAD $0xbbe226efb628afea // .quad -4908317832885260310 - QUAD $0x890489f70a55368c // .quad -8573576096483297652 - QUAD $0xeadab0aba3b2dbe5 // .quad -1523711272679187483 - QUAD $0x2b45ac74ccea842f // .quad 3118087934678041647 - QUAD $0x92c8ae6b464fc96f // .quad -7869848573065574033 - QUAD $0x3b0b8bc90012929e // .quad 4254647968387469982 - QUAD $0xb77ada0617e3bbcb // .quad -5225624697904579637 - QUAD $0x09ce6ebb40173745 // .quad 706623942056949573 - QUAD $0xe55990879ddcaabd // .quad -1920344853953336643 - QUAD $0xcc420a6a101d0516 // .quad -3728406090856200938 - QUAD $0x8f57fa54c2a9eab6 // .quad -8117744561361917258 - QUAD $0x9fa946824a12232e // .quad -6941939825212513490 - QUAD $0xb32df8e9f3546564 // .quad -5535494683275008668 - QUAD $0x47939822dc96abfa // .quad 5157633273766521850 - QUAD $0xdff9772470297ebd // .quad -2307682335666372931 - QUAD $0x59787e2b93bc56f8 // .quad 6447041592208152312 - QUAD $0x8bfbea76c619ef36 // .quad -8359830487432564938 - QUAD $0x57eb4edb3c55b65b // .quad 6335244004343789147 - QUAD $0xaefae51477a06b03 // .quad -5838102090863318269 - QUAD $0xede622920b6b23f2 // .quad -1304317031425039374 - QUAD $0xdab99e59958885c4 // .quad -2685941595151759932 - QUAD $0xe95fab368e45ecee // .quad -1630396289281299218 - QUAD $0x88b402f7fd75539b // .quad -8596242524610931813 - QUAD $0x11dbcb0218ebb415 // .quad 1286845328412881941 - QUAD $0xaae103b5fcd2a881 // .quad -6133617137336276863 - QUAD $0xd652bdc29f26a11a // .quad -3003129357911285478 - QUAD $0xd59944a37c0752a2 // .quad -3055335403242958174 - QUAD $0x4be76d3346f04960 // .quad 5469460339465668960 - QUAD $0x857fcae62d8493a5 // .quad -8827113654667930715 - QUAD $0x6f70a4400c562ddc // .quad 8030098730593431004 - QUAD $0xa6dfbd9fb8e5b88e // .quad -6422206049907525490 - QUAD $0xcb4ccd500f6bb953 // .quad -3797434642040374957 - QUAD $0xd097ad07a71f26b2 // .quad -3416071543957018958 - QUAD $0x7e2000a41346a7a8 // .quad 9088264752731695016 - QUAD $0x825ecc24c873782f // .quad -9052573742614218705 - QUAD $0x8ed400668c0c28c9 // .quad -8154892584824854327 - QUAD $0xa2f67f2dfa90563b // .quad -6704031159840385477 - QUAD $0x728900802f0f32fb // .quad 8253128342678483707 - QUAD $0xcbb41ef979346bca // .quad -3768352931373093942 - QUAD $0x4f2b40a03ad2ffba // .quad 5704724409920716730 - QUAD $0xfea126b7d78186bc // .quad -98755145788979524 - QUAD $0xe2f610c84987bfa9 // .quad -2092466524453879895 - QUAD $0x9f24b832e6b0f436 // .quad -6979250993759194058 - QUAD $0x0dd9ca7d2df4d7ca // .quad 998051431430019018 - QUAD $0xc6ede63fa05d3143 // .quad -4112377723771604669 - QUAD $0x91503d1c79720dbc // .quad -7975807747567252036 - QUAD $0xf8a95fcf88747d94 // .quad -528786136287117932 - QUAD $0x75a44c6397ce912b // .quad 8476984389250486571 - QUAD $0x9b69dbe1b548ce7c // .quad -7248020362820530564 - QUAD $0xc986afbe3ee11abb // .quad -3925256793573221701 - QUAD $0xc24452da229b021b // .quad -4448339435098275301 - QUAD $0xfbe85badce996169 // .quad -294884973539139223 - QUAD $0xf2d56790ab41c2a2 // .quad -948738275445456222 - QUAD $0xfae27299423fb9c4 // .quad -368606216923924028 - QUAD $0x97c560ba6b0919a5 // .quad -7510490449794491995 - QUAD $0xdccd879fc967d41b // .quad -2536221894791146469 - QUAD $0xbdb6b8e905cb600f // .quad -4776427043815727089 - QUAD $0x5400e987bbc1c921 // .quad 6053094668365842721 - QUAD $0xed246723473e3813 // .quad -1358847786342270957 - QUAD $0x290123e9aab23b69 // .quad 2954682317029915497 - QUAD $0x9436c0760c86e30b // .quad -7766808894105001205 - QUAD $0xf9a0b6720aaf6522 // .quad -459166561069996766 - QUAD $0xb94470938fa89bce // .quad -5096825099203863602 - QUAD $0xf808e40e8d5b3e6a // .quad -573958201337495958 - QUAD $0xe7958cb87392c2c2 // .quad -1759345355577441598 - QUAD $0xb60b1d1230b20e05 // .quad -5329133770099257851 - QUAD $0x90bd77f3483bb9b9 // .quad -8017119874876982855 - QUAD $0xb1c6f22b5e6f48c3 // .quad -5636551615525730109 - QUAD $0xb4ecd5f01a4aa828 // .quad -5409713825168840664 - QUAD $0x1e38aeb6360b1af4 // .quad 2177682517447613172 - QUAD $0xe2280b6c20dd5232 // .quad -2150456263033662926 - QUAD $0x25c6da63c38de1b1 // .quad 2722103146809516465 - QUAD $0x8d590723948a535f // .quad -8261564192037121185 - QUAD $0x579c487e5a38ad0f // .quad 6313000485183335695 - QUAD $0xb0af48ec79ace837 // .quad -5715269221619013577 - QUAD $0x2d835a9df0c6d852 // .quad 3279564588051781714 - QUAD $0xdcdb1b2798182244 // .quad -2532400508596379068 - QUAD $0xf8e431456cf88e66 // .quad -512230283362660762 - QUAD $0x8a08f0f8bf0f156b // .quad -8500279345513818773 - QUAD $0x1b8e9ecb641b5900 // .quad 1985699082112030976 - QUAD $0xac8b2d36eed2dac5 // .quad -6013663163464885563 - QUAD $0xe272467e3d222f40 // .quad -2129562165787349184 - QUAD $0xd7adf884aa879177 // .quad -2905392935903719049 - QUAD $0x5b0ed81dcc6abb10 // .quad 6561419329620589328 - QUAD $0x86ccbb52ea94baea // .quad -8733399612580906262 - QUAD $0x98e947129fc2b4ea // .quad -7428327965055601430 - QUAD $0xa87fea27a539e9a5 // .quad -6305063497298744923 - QUAD $0x3f2398d747b36225 // .quad 4549648098962661925 - QUAD $0xd29fe4b18e88640e // .quad -3269643353196043250 - QUAD $0x8eec7f0d19a03aae // .quad -8147997931578836306 - QUAD $0x83a3eeeef9153e89 // .quad -8961056123388608887 - QUAD $0x1953cf68300424ad // .quad 1825030320404309165 - QUAD $0xa48ceaaab75a8e2b // .quad -6589634135808373205 - QUAD $0x5fa8c3423c052dd8 // .quad 6892973918932774360 - QUAD $0xcdb02555653131b6 // .quad -3625356651333078602 - QUAD $0x3792f412cb06794e // .quad 4004531380238580046 - QUAD $0x808e17555f3ebf11 // .quad -9183376934724255983 - QUAD $0xe2bbd88bbee40bd1 // .quad -2108853905778275375 - QUAD $0xa0b19d2ab70e6ed6 // .quad -6867535149977932074 - QUAD $0x5b6aceaeae9d0ec5 // .quad 6587304654631931589 - QUAD $0xc8de047564d20a8b // .quad -3972732919045027189 - QUAD $0xf245825a5a445276 // .quad -989241218564861322 - QUAD $0xfb158592be068d2e // .quad -354230130378896082 - QUAD $0xeed6e2f0f0d56713 // .quad -1236551523206076653 - QUAD $0x9ced737bb6c4183d // .quad -7138922859127891907 - QUAD $0x55464dd69685606c // .quad 6144684325637283948 - QUAD $0xc428d05aa4751e4c // .quad -4311967555482476980 - QUAD $0xaa97e14c3c26b887 // .quad -6154202648235558777 - QUAD $0xf53304714d9265df // .quad -778273425925708321 - QUAD $0xd53dd99f4b3066a9 // .quad -3081067291867060567 - QUAD $0x993fe2c6d07b7fab // .quad -7403949918844649557 - QUAD $0xe546a8038efe402a // .quad -1925667057416912854 - QUAD $0xbf8fdb78849a5f96 // .quad -4643251380128424042 - QUAD $0xde98520472bdd034 // .quad -2407083821771141068 - QUAD $0xef73d256a5c0f77c // .quad -1192378206733142148 - QUAD $0x963e66858f6d4441 // .quad -7620540795641314239 - QUAD $0x95a8637627989aad // .quad -7662765406849295699 - QUAD $0xdde7001379a44aa9 // .quad -2456994988062127447 - QUAD $0xbb127c53b17ec159 // .quad -4966770740134231719 - QUAD $0x5560c018580d5d53 // .quad 6152128301777116499 - QUAD $0xe9d71b689dde71af // .quad -1596777406740401745 - QUAD $0xaab8f01e6e10b4a7 // .quad -6144897678060768089 - QUAD $0x9226712162ab070d // .quad -7915514906853832947 - QUAD $0xcab3961304ca70e9 // .quad -3840561048787980055 - QUAD $0xb6b00d69bb55c8d1 // .quad -5282707615139903279 - QUAD $0x3d607b97c5fd0d23 // .quad 4422670725869800739 - QUAD $0xe45c10c42a2b3b05 // .quad -1991698500497491195 - QUAD $0x8cb89a7db77c506b // .quad -8306719647944912789 - QUAD $0x8eb98a7a9a5b04e3 // .quad -8162340590452013853 - QUAD $0x77f3608e92adb243 // .quad 8643358275316593219 - QUAD $0xb267ed1940f1c61c // .quad -5591239719637629412 - QUAD $0x55f038b237591ed4 // .quad 6192511825718353620 - QUAD $0xdf01e85f912e37a3 // .quad -2377363631119648861 - QUAD $0x6b6c46dec52f6689 // .quad 7740639782147942025 - QUAD $0x8b61313bbabce2c6 // .quad -8403381297090862394 - QUAD $0x2323ac4b3b3da016 // .quad 2532056854628769814 - QUAD $0xae397d8aa96c1b77 // .quad -5892540602936190089 - QUAD $0xabec975e0a0d081b // .quad -6058300968568813541 - QUAD $0xd9c7dced53c72255 // .quad -2753989735242849707 - QUAD $0x96e7bd358c904a22 // .quad -7572876210711016926 - QUAD $0x881cea14545c7575 // .quad -8638772612167862923 - QUAD $0x7e50d64177da2e55 // .quad 9102010423587778133 - QUAD $0xaa242499697392d2 // .quad -6186779746782440750 - QUAD $0xdde50bd1d5d0b9ea // .quad -2457545025797441046 - QUAD $0xd4ad2dbfc3d07787 // .quad -3121788665050663033 - QUAD $0x955e4ec64b44e865 // .quad -7683617300674189211 - QUAD $0x84ec3c97da624ab4 // .quad -8868646943297746252 - QUAD $0xbd5af13bef0b113f // .quad -4802260812921368257 - QUAD $0xa6274bbdd0fadd61 // .quad -6474122660694794911 - QUAD $0xecb1ad8aeacdd58f // .quad -1391139997724322417 - QUAD $0xcfb11ead453994ba // .quad -3480967307441105734 - QUAD $0x67de18eda5814af3 // .quad 7484447039699372787 - QUAD $0x81ceb32c4b43fcf4 // .quad -9093133594791772940 - QUAD $0x80eacf948770ced8 // .quad -9157278655470055720 - QUAD $0xa2425ff75e14fc31 // .quad -6754730975062328271 - QUAD $0xa1258379a94d028e // .quad -6834912300910181746 - QUAD $0xcad2f7f5359a3b3e // .quad -3831727700400522434 - QUAD $0x096ee45813a04331 // .quad 679731660717048625 - QUAD $0xfd87b5f28300ca0d // .quad -177973607073265139 - QUAD $0x8bca9d6e188853fd // .quad -8373707460958465027 - QUAD $0x9e74d1b791e07e48 // .quad -7028762532061872568 - QUAD $0x775ea264cf55347e // .quad 8601490892183123070 - QUAD $0xc612062576589dda // .quad -4174267146649952806 - QUAD $0x95364afe032a819e // .quad -7694880458480647778 - QUAD $0xf79687aed3eec551 // .quad -606147914885053103 - QUAD $0x3a83ddbd83f52205 // .quad 4216457482181353989 - QUAD $0x9abe14cd44753b52 // .quad -7296371474444240046 - QUAD $0xc4926a9672793543 // .quad -4282243101277735613 - QUAD $0xc16d9a0095928a27 // .quad -4508778324627912153 - QUAD $0x75b7053c0f178294 // .quad 8482254178684994196 - QUAD $0xf1c90080baf72cb1 // .quad -1024286887357502287 - QUAD $0x5324c68b12dd6339 // .quad 5991131704928854841 - QUAD $0x971da05074da7bee // .quad -7557708332239520786 - QUAD $0xd3f6fc16ebca5e04 // .quad -3173071712060547580 - QUAD $0xbce5086492111aea // .quad -4835449396872013078 - QUAD $0x88f4bb1ca6bcf585 // .quad -8578025658503072379 - QUAD $0xec1e4a7db69561a5 // .quad -1432625727662628443 - QUAD $0x2b31e9e3d06c32e6 // .quad 3112525982153323238 - QUAD $0x9392ee8e921d5d07 // .quad -7812920107430224633 - QUAD $0x3aff322e62439fd0 // .quad 4251171748059520976 - QUAD $0xb877aa3236a4b449 // .quad -5154464115860392887 - QUAD $0x09befeb9fad487c3 // .quad 702278666647013315 - QUAD $0xe69594bec44de15b // .quad -1831394126398103205 - QUAD $0x4c2ebe687989a9b4 // .quad 5489534351736154548 - QUAD $0x901d7cf73ab0acd9 // .quad -8062150356639896359 - QUAD $0x0f9d37014bf60a11 // .quad 1125115960621402641 - QUAD $0xb424dc35095cd80f // .quad -5466001927372482545 - QUAD $0x538484c19ef38c95 // .quad 6018080969204141205 - QUAD $0xe12e13424bb40e13 // .quad -2220816390788215277 - QUAD $0x2865a5f206b06fba // .quad 2910915193077788602 - QUAD $0x8cbccc096f5088cb // .quad -8305539271883716405 - QUAD $0xf93f87b7442e45d4 // .quad -486521013540076076 - QUAD $0xafebff0bcb24aafe // .quad -5770238071427257602 - QUAD $0xf78f69a51539d749 // .quad -608151266925095095 - QUAD $0xdbe6fecebdedd5be // .quad -2601111570856684098 - QUAD $0xb573440e5a884d1c // .quad -5371875102083756772 - QUAD $0x89705f4136b4a597 // .quad -8543223759426509417 - QUAD $0x31680a88f8953031 // .quad 3560107088838733873 - QUAD $0xabcc77118461cefc // .quad -6067343680855748868 - QUAD $0xfdc20d2b36ba7c3e // .quad -161552157378970562 - QUAD $0xd6bf94d5e57a42bc // .quad -2972493582642298180 - QUAD $0x3d32907604691b4d // .quad 4409745821703674701 - QUAD $0x8637bd05af6c69b5 // .quad -8775337516792518219 - QUAD $0xa63f9a49c2c1b110 // .quad -6467280898289979120 - QUAD $0xa7c5ac471b478423 // .quad -6357485877563259869 - QUAD $0x0fcf80dc33721d54 // .quad 1139270913992301908 - QUAD $0xd1b71758e219652b // .quad -3335171328526686933 - QUAD $0xd3c36113404ea4a9 // .quad -3187597375937010519 - QUAD $0x83126e978d4fdf3b // .quad -9002011107970261189 - QUAD $0x645a1cac083126ea // .quad 7231123676894144234 - QUAD $0xa3d70a3d70a3d70a // .quad -6640827866535438582 - QUAD $0x3d70a3d70a3d70a4 // .quad 4427218577690292388 - QUAD $0xcccccccccccccccc // .quad -3689348814741910324 - QUAD $0xcccccccccccccccd // .quad -3689348814741910323 - QUAD $0x8000000000000000 // .quad -9223372036854775808 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa000000000000000 // .quad -6917529027641081856 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xc800000000000000 // .quad -4035225266123964416 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xfa00000000000000 // .quad -432345564227567616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9c40000000000000 // .quad -7187745005283311616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xc350000000000000 // .quad -4372995238176751616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xf424000000000000 // .quad -854558029293551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9896800000000000 // .quad -7451627795949551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xbebc200000000000 // .quad -4702848726509551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xee6b280000000000 // .quad -1266874889709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9502f90000000000 // .quad -7709325833709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xba43b74000000000 // .quad -5024971273709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xe8d4a51000000000 // .quad -1669528073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x9184e72a00000000 // .quad -7960984073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xb5e620f480000000 // .quad -5339544073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xe35fa931a0000000 // .quad -2062744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8e1bc9bf04000000 // .quad -8206744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xb1a2bc2ec5000000 // .quad -5646744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xde0b6b3a76400000 // .quad -2446744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x8ac7230489e80000 // .quad -8446744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xad78ebc5ac620000 // .quad -5946744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xd8d726b7177a8000 // .quad -2821744073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x878678326eac9000 // .quad -8681119073709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa968163f0a57b400 // .quad -6239712823709551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xd3c21bcecceda100 // .quad -3187955011209551616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x84595161401484a0 // .quad -8910000909647051616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xa56fa5b99019a5c8 // .quad -6525815118631426616 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0xcecb8f27f4200f3a // .quad -3545582879861895366 - QUAD $0x0000000000000000 // .quad 0 - QUAD $0x813f3978f8940984 // .quad -9133518327554766460 - QUAD $0x4000000000000000 // .quad 4611686018427387904 - QUAD $0xa18f07d736b90be5 // .quad -6805211891016070171 - QUAD $0x5000000000000000 // .quad 5764607523034234880 - QUAD $0xc9f2c9cd04674ede // .quad -3894828845342699810 - QUAD $0xa400000000000000 // .quad -6629298651489370112 - QUAD $0xfc6f7c4045812296 // .quad -256850038250986858 - QUAD $0x4d00000000000000 // .quad 5548434740920451072 - QUAD $0x9dc5ada82b70b59d // .quad -7078060301547948643 - QUAD $0xf020000000000000 // .quad -1143914305352105984 - QUAD $0xc5371912364ce305 // .quad -4235889358507547899 - QUAD $0x6c28000000000000 // .quad 7793479155164643328 - QUAD $0xf684df56c3e01bc6 // .quad -683175679707046970 - QUAD $0xc732000000000000 // .quad -4093209111326359552 - QUAD $0x9a130b963a6c115c // .quad -7344513827457986212 - QUAD $0x3c7f400000000000 // .quad 4359273333062107136 - QUAD $0xc097ce7bc90715b3 // .quad -4568956265895094861 - QUAD $0x4b9f100000000000 // .quad 5449091666327633920 - QUAD $0xf0bdc21abb48db20 // .quad -1099509313941480672 - QUAD $0x1e86d40000000000 // .quad 2199678564482154496 - QUAD $0x96769950b50d88f4 // .quad -7604722348854507276 - QUAD $0x1314448000000000 // .quad 1374799102801346560 - QUAD $0xbc143fa4e250eb31 // .quad -4894216917640746191 - QUAD $0x17d955a000000000 // .quad 1718498878501683200 - QUAD $0xeb194f8e1ae525fd // .quad -1506085128623544835 - QUAD $0x5dcfab0800000000 // .quad 6759809616554491904 - QUAD $0x92efd1b8d0cf37be // .quad -7858832233030797378 - QUAD $0x5aa1cae500000000 // .quad 6530724019560251392 - QUAD $0xb7abc627050305ad // .quad -5211854272861108819 - QUAD $0xf14a3d9e40000000 // .quad -1059967012404461568 - QUAD $0xe596b7b0c643c719 // .quad -1903131822648998119 - QUAD $0x6d9ccd05d0000000 // .quad 7898413271349198848 - QUAD $0x8f7e32ce7bea5c6f // .quad -8106986416796705681 - QUAD $0xe4820023a2000000 // .quad -1981020733047832576 - QUAD $0xb35dbf821ae4f38b // .quad -5522047002568494197 - QUAD $0xdda2802c8a800000 // .quad -2476275916309790720 - QUAD $0xe0352f62a19e306e // .quad -2290872734783229842 - QUAD $0xd50b2037ad200000 // .quad -3095344895387238400 - QUAD $0x8c213d9da502de45 // .quad -8349324486880600507 - QUAD $0x4526f422cc340000 // .quad 4982938468024057856 - QUAD $0xaf298d050e4395d6 // .quad -5824969590173362730 - QUAD $0x9670b12b7f410000 // .quad -7606384970252091392 - QUAD $0xdaf3f04651d47b4c // .quad -2669525969289315508 - QUAD $0x3c0cdd765f114000 // .quad 4327076842467049472 - QUAD $0x88d8762bf324cd0f // .quad -8585982758446904049 - QUAD $0xa5880a69fb6ac800 // .quad -6518949010312869888 - QUAD $0xab0e93b6efee0053 // .quad -6120792429631242157 - QUAD $0x8eea0d047a457a00 // .quad -8148686262891087360 - QUAD $0xd5d238a4abe98068 // .quad -3039304518611664792 - QUAD $0x72a4904598d6d880 // .quad 8260886245095692416 - QUAD $0x85a36366eb71f041 // .quad -8817094351773372351 - QUAD $0x47a6da2b7f864750 // .quad 5163053903184807760 - QUAD $0xa70c3c40a64e6c51 // .quad -6409681921289327535 - QUAD $0x999090b65f67d924 // .quad -7381240676301154012 - QUAD $0xd0cf4b50cfe20765 // .quad -3400416383184271515 - QUAD $0xfff4b4e3f741cf6d // .quad -3178808521666707 - QUAD $0x82818f1281ed449f // .quad -9042789267131251553 - QUAD $0xbff8f10e7a8921a5 // .quad -4613672773753429595 - QUAD $0xa321f2d7226895c7 // .quad -6691800565486676537 - QUAD $0xaff72d52192b6a0e // .quad -5767090967191786994 - QUAD $0xcbea6f8ceb02bb39 // .quad -3753064688430957767 - QUAD $0x9bf4f8a69f764491 // .quad -7208863708989733743 - QUAD $0xfee50b7025c36a08 // .quad -79644842111309304 - QUAD $0x02f236d04753d5b5 // .quad 212292400617608629 - QUAD $0x9f4f2726179a2245 // .quad -6967307053960650171 - QUAD $0x01d762422c946591 // .quad 132682750386005393 - QUAD $0xc722f0ef9d80aad6 // .quad -4097447799023424810 - QUAD $0x424d3ad2b7b97ef6 // .quad 4777539456409894646 - QUAD $0xf8ebad2b84e0d58b // .quad -510123730351893109 - QUAD $0xd2e0898765a7deb3 // .quad -3251447716342407501 - QUAD $0x9b934c3b330c8577 // .quad -7236356359111015049 - QUAD $0x63cc55f49f88eb30 // .quad 7191217214140771120 - QUAD $0xc2781f49ffcfa6d5 // .quad -4433759430461380907 - QUAD $0x3cbf6b71c76b25fc // .quad 4377335499248575996 - QUAD $0xf316271c7fc3908a // .quad -930513269649338230 - QUAD $0x8bef464e3945ef7b // .quad -8363388681221443717 - QUAD $0x97edd871cfda3a56 // .quad -7499099821171918250 - QUAD $0x97758bf0e3cbb5ad // .quad -7532960934977096275 - QUAD $0xbde94e8e43d0c8ec // .quad -4762188758037509908 - QUAD $0x3d52eeed1cbea318 // .quad 4418856886560793368 - QUAD $0xed63a231d4c4fb27 // .quad -1341049929119499481 - QUAD $0x4ca7aaa863ee4bde // .quad 5523571108200991710 - QUAD $0x945e455f24fb1cf8 // .quad -7755685233340769032 - QUAD $0x8fe8caa93e74ef6b // .quad -8076983103442849941 - QUAD $0xb975d6b6ee39e436 // .quad -5082920523248573386 - QUAD $0xb3e2fd538e122b45 // .quad -5484542860876174523 - QUAD $0xe7d34c64a9c85d44 // .quad -1741964635633328828 - QUAD $0x60dbbca87196b617 // .quad 6979379479186945559 - QUAD $0x90e40fbeea1d3a4a // .quad -8006256924911912374 - QUAD $0xbc8955e946fe31ce // .quad -4861259862362934834 - QUAD $0xb51d13aea4a488dd // .quad -5396135137712502563 - QUAD $0x6babab6398bdbe42 // .quad 7758483227328495170 - QUAD $0xe264589a4dcdab14 // .quad -2133482903713240300 - QUAD $0xc696963c7eed2dd2 // .quad -4136954021121544750 - QUAD $0x8d7eb76070a08aec // .quad -8250955842461857044 - QUAD $0xfc1e1de5cf543ca3 // .quad -279753253987271517 - QUAD $0xb0de65388cc8ada8 // .quad -5702008784649933400 - QUAD $0x3b25a55f43294bcc // .quad 4261994450943298508 - QUAD $0xdd15fe86affad912 // .quad -2515824962385028846 - QUAD $0x49ef0eb713f39ebf // .quad 5327493063679123135 - QUAD $0x8a2dbf142dfcc7ab // .quad -8489919629131724885 - QUAD $0x6e3569326c784338 // .quad 7941369183226839864 - QUAD $0xacb92ed9397bf996 // .quad -6000713517987268202 - QUAD $0x49c2c37f07965405 // .quad 5315025460606161925 - QUAD $0xd7e77a8f87daf7fb // .quad -2889205879056697349 - QUAD $0xdc33745ec97be907 // .quad -2579590211097073401 - QUAD $0x86f0ac99b4e8dafd // .quad -8723282702051517699 - QUAD $0x69a028bb3ded71a4 // .quad 7611128154919104932 - QUAD $0xa8acd7c0222311bc // .quad -6292417359137009220 - QUAD $0xc40832ea0d68ce0d // .quad -4321147861633282547 - QUAD $0xd2d80db02aabd62b // .quad -3253835680493873621 - QUAD $0xf50a3fa490c30191 // .quad -789748808614215279 - QUAD $0x83c7088e1aab65db // .quad -8951176327949752869 - QUAD $0x792667c6da79e0fb // .quad 8729779031470891259 - QUAD $0xa4b8cab1a1563f52 // .quad -6577284391509803182 - QUAD $0x577001b891185939 // .quad 6300537770911226169 - QUAD $0xcde6fd5e09abcf26 // .quad -3609919470959866074 - QUAD $0xed4c0226b55e6f87 // .quad -1347699823215743097 - QUAD $0x80b05e5ac60b6178 // .quad -9173728696990998152 - QUAD $0x544f8158315b05b5 // .quad 6075216638131242421 - QUAD $0xa0dc75f1778e39d6 // .quad -6855474852811359786 - QUAD $0x696361ae3db1c722 // .quad 7594020797664053026 - QUAD $0xc913936dd571c84c // .quad -3957657547586811828 - QUAD $0x03bc3a19cd1e38ea // .quad 269153960225290474 - QUAD $0xfb5878494ace3a5f // .quad -335385916056126881 - QUAD $0x04ab48a04065c724 // .quad 336442450281613092 - QUAD $0x9d174b2dcec0e47b // .quad -7127145225176161157 - QUAD $0x62eb0d64283f9c77 // .quad 7127805559067090039 - QUAD $0xc45d1df942711d9a // .quad -4297245513042813542 - QUAD $0x3ba5d0bd324f8395 // .quad 4298070930406474645 - QUAD $0xf5746577930d6500 // .quad -759870872876129024 - QUAD $0xca8f44ec7ee3647a // .quad -3850783373846682502 - QUAD $0x9968bf6abbe85f20 // .quad -7392448323188662496 - QUAD $0x7e998b13cf4e1ecc // .quad 9122475437414293196 - QUAD $0xbfc2ef456ae276e8 // .quad -4628874385558440216 - QUAD $0x9e3fedd8c321a67f // .quad -7043649776941685121 - QUAD $0xefb3ab16c59b14a2 // .quad -1174406963520662366 - QUAD $0xc5cfe94ef3ea101f // .quad -4192876202749718497 - QUAD $0x95d04aee3b80ece5 // .quad -7651533379841495835 - QUAD $0xbba1f1d158724a13 // .quad -4926390635932268013 - QUAD $0xbb445da9ca61281f // .quad -4952730706374481889 - QUAD $0x2a8a6e45ae8edc98 // .quad 3065383741939440792 - QUAD $0xea1575143cf97226 // .quad -1579227364540714458 - QUAD $0xf52d09d71a3293be // .quad -779956341003086914 - QUAD $0x924d692ca61be758 // .quad -7904546130479028392 - QUAD $0x593c2626705f9c57 // .quad 6430056314514152535 - QUAD $0xb6e0c377cfa2e12e // .quad -5268996644671397586 - QUAD $0x6f8b2fb00c77836d // .quad 8037570393142690669 - QUAD $0xe498f455c38b997a // .quad -1974559787411859078 - QUAD $0x0b6dfb9c0f956448 // .quad 823590954573587528 - QUAD $0x8edf98b59a373fec // .quad -8151628894773493780 - QUAD $0x4724bd4189bd5ead // .quad 5126430365035880109 - QUAD $0xb2977ee300c50fe7 // .quad -5577850100039479321 - QUAD $0x58edec91ec2cb658 // .quad 6408037956294850136 - QUAD $0xdf3d5e9bc0f653e1 // .quad -2360626606621961247 - QUAD $0x2f2967b66737e3ee // .quad 3398361426941174766 - QUAD $0x8b865b215899f46c // .quad -8392920656779807636 - QUAD $0xbd79e0d20082ee75 // .quad -4793553135802847627 - QUAD $0xae67f1e9aec07187 // .quad -5879464802547371641 - QUAD $0xecd8590680a3aa12 // .quad -1380255401326171630 - QUAD $0xda01ee641a708de9 // .quad -2737644984756826647 - QUAD $0xe80e6f4820cc9496 // .quad -1725319251657714538 - QUAD $0x884134fe908658b2 // .quad -8628557143114098510 - QUAD $0x3109058d147fdcde // .quad 3533361486141316318 - QUAD $0xaa51823e34a7eede // .quad -6174010410465235234 - QUAD $0xbd4b46f0599fd416 // .quad -4806670179178130410 - QUAD $0xd4e5e2cdc1d1ea96 // .quad -3105826994654156138 - QUAD $0x6c9e18ac7007c91b // .quad 7826720331309500699 - QUAD $0x850fadc09923329e // .quad -8858670899299929442 - QUAD $0x03e2cf6bc604ddb1 // .quad 280014188641050033 - QUAD $0xa6539930bf6bff45 // .quad -6461652605697523899 - QUAD $0x84db8346b786151d // .quad -8873354301053463267 - QUAD $0xcfe87f7cef46ff16 // .quad -3465379738694516970 - QUAD $0xe612641865679a64 // .quad -1868320839462053276 - QUAD $0x81f14fae158c5f6e // .quad -9083391364325154962 - QUAD $0x4fcb7e8f3f60c07f // .quad 5749828502977298559 - QUAD $0xa26da3999aef7749 // .quad -6742553186979055799 - QUAD $0xe3be5e330f38f09e // .quad -2036086408133152610 - QUAD $0xcb090c8001ab551c // .quad -3816505465296431844 - QUAD $0x5cadf5bfd3072cc6 // .quad 6678264026688335046 - QUAD $0xfdcb4fa002162a63 // .quad -158945813193151901 - QUAD $0x73d9732fc7c8f7f7 // .quad 8347830033360418807 - QUAD $0x9e9f11c4014dda7e // .quad -7016870160886801794 - QUAD $0x2867e7fddcdd9afb // .quad 2911550761636567803 - QUAD $0xc646d63501a1511d // .quad -4159401682681114339 - QUAD $0xb281e1fd541501b9 // .quad -5583933584809066055 - QUAD $0xf7d88bc24209a565 // .quad -587566084924005019 - QUAD $0x1f225a7ca91a4227 // .quad 2243455055843443239 - QUAD $0x9ae757596946075f // .quad -7284757830718584993 - QUAD $0x3375788de9b06959 // .quad 3708002419115845977 - QUAD $0xc1a12d2fc3978937 // .quad -4494261269970843337 - QUAD $0x0052d6b1641c83af // .quad 23317005467419567 - QUAD $0xf209787bb47d6b84 // .quad -1006140569036166268 - QUAD $0xc0678c5dbd23a49b // .quad -4582539761593113445 - QUAD $0x9745eb4d50ce6332 // .quad -7546366883288685774 - QUAD $0xf840b7ba963646e1 // .quad -558244341782001951 - QUAD $0xbd176620a501fbff // .quad -4821272585683469313 - QUAD $0xb650e5a93bc3d899 // .quad -5309491445654890343 - QUAD $0xec5d3fa8ce427aff // .quad -1414904713676948737 - QUAD $0xa3e51f138ab4cebf // .quad -6636864307068612929 - QUAD $0x93ba47c980e98cdf // .quad -7801844473689174817 - QUAD $0xc66f336c36b10138 // .quad -4148040191917883080 - QUAD $0xb8a8d9bbe123f017 // .quad -5140619573684080617 - QUAD $0xb80b0047445d4185 // .quad -5185050239897353851 - QUAD $0xe6d3102ad96cec1d // .quad -1814088448677712867 - QUAD $0xa60dc059157491e6 // .quad -6481312799871692314 - QUAD $0x9043ea1ac7e41392 // .quad -8051334308064652398 - QUAD $0x87c89837ad68db30 // .quad -8662506518347195600 - QUAD $0xb454e4a179dd1877 // .quad -5452481866653427593 - QUAD $0x29babe4598c311fc // .quad 3006924907348169212 - QUAD $0xe16a1dc9d8545e94 // .quad -2203916314889396588 - QUAD $0xf4296dd6fef3d67b // .quad -853029884242176389 - QUAD $0x8ce2529e2734bb1d // .quad -8294976724446954723 - QUAD $0x1899e4a65f58660d // .quad 1772699331562333709 - QUAD $0xb01ae745b101e9e4 // .quad -5757034887131305500 - QUAD $0x5ec05dcff72e7f90 // .quad 6827560182880305040 - QUAD $0xdc21a1171d42645d // .quad -2584607590486743971 - QUAD $0x76707543f4fa1f74 // .quad 8534450228600381300 - QUAD $0x899504ae72497eba // .quad -8532908771695296838 - QUAD $0x6a06494a791c53a9 // .quad 7639874402088932265 - QUAD $0xabfa45da0edbde69 // .quad -6054449946191733143 - QUAD $0x0487db9d17636893 // .quad 326470965756389523 - QUAD $0xd6f8d7509292d603 // .quad -2956376414312278525 - QUAD $0x45a9d2845d3c42b7 // .quad 5019774725622874807 - QUAD $0x865b86925b9bc5c2 // .quad -8765264286586255934 - QUAD $0x0b8a2392ba45a9b3 // .quad 831516194300602803 - QUAD $0xa7f26836f282b732 // .quad -6344894339805432014 - QUAD $0x8e6cac7768d7141f // .quad -8183976793979022305 - QUAD $0xd1ef0244af2364ff // .quad -3319431906329402113 - QUAD $0x3207d795430cd927 // .quad 3605087062808385831 - QUAD $0x8335616aed761f1f // .quad -8992173969096958177 - QUAD $0x7f44e6bd49e807b9 // .quad 9170708441896323001 - QUAD $0xa402b9c5a8d3a6e7 // .quad -6628531442943809817 - QUAD $0x5f16206c9c6209a7 // .quad 6851699533943015847 - QUAD $0xcd036837130890a1 // .quad -3673978285252374367 - QUAD $0x36dba887c37a8c10 // .quad 3952938399001381904 - QUAD $0x802221226be55a64 // .quad -9213765455923815836 - QUAD $0xc2494954da2c978a // .quad -4446942528265218166 - QUAD $0xa02aa96b06deb0fd // .quad -6905520801477381891 - QUAD $0xf2db9baa10b7bd6d // .quad -946992141904134803 - QUAD $0xc83553c5c8965d3d // .quad -4020214983419339459 - QUAD $0x6f92829494e5acc8 // .quad 8039631859474607304 - QUAD $0xfa42a8b73abbf48c // .quad -413582710846786420 - QUAD $0xcb772339ba1f17fa // .quad -3785518230938904582 - QUAD $0x9c69a97284b578d7 // .quad -7176018221920323369 - QUAD $0xff2a760414536efc // .quad -60105885123121412 - QUAD $0xc38413cf25e2d70d // .quad -4358336758973016307 - QUAD $0xfef5138519684abb // .quad -75132356403901765 - QUAD $0xf46518c2ef5b8cd1 // .quad -836234930288882479 - QUAD $0x7eb258665fc25d6a // .quad 9129456591349898602 - QUAD $0x98bf2f79d5993802 // .quad -7440175859071633406 - QUAD $0xef2f773ffbd97a62 // .quad -1211618658047395230 - QUAD $0xbeeefb584aff8603 // .quad -4688533805412153853 - QUAD $0xaafb550ffacfd8fb // .quad -6126209340986631941 - QUAD $0xeeaaba2e5dbf6784 // .quad -1248981238337804412 - QUAD $0x95ba2a53f983cf39 // .quad -7657761676233289927 - QUAD $0x952ab45cfa97a0b2 // .quad -7698142301602209614 - QUAD $0xdd945a747bf26184 // .quad -2480258038432112252 - QUAD $0xba756174393d88df // .quad -5010991858575374113 - QUAD $0x94f971119aeef9e5 // .quad -7712008566467528219 - QUAD $0xe912b9d1478ceb17 // .quad -1652053804791829737 - QUAD $0x7a37cd5601aab85e // .quad 8806733365625141342 - QUAD $0x91abb422ccb812ee // .quad -7950062655635975442 - QUAD $0xac62e055c10ab33b // .quad -6025006692552756421 - QUAD $0xb616a12b7fe617aa // .quad -5325892301117581398 - QUAD $0x577b986b314d600a // .quad 6303799689591218186 - QUAD $0xe39c49765fdf9d94 // .quad -2045679357969588844 - QUAD $0xed5a7e85fda0b80c // .quad -1343622424865753076 - QUAD $0x8e41ade9fbebc27d // .quad -8196078626372074883 - QUAD $0x14588f13be847308 // .quad 1466078993672598280 - QUAD $0xb1d219647ae6b31c // .quad -5633412264537705700 - QUAD $0x596eb2d8ae258fc9 // .quad 6444284760518135753 - QUAD $0xde469fbd99a05fe3 // .quad -2430079312244744221 - QUAD $0x6fca5f8ed9aef3bc // .quad 8055355950647669692 - QUAD $0x8aec23d680043bee // .quad -8436328597794046994 - QUAD $0x25de7bb9480d5855 // .quad 2728754459941099605 - QUAD $0xada72ccc20054ae9 // .quad -5933724728815170839 - QUAD $0xaf561aa79a10ae6b // .quad -5812428961928401301 - QUAD $0xd910f7ff28069da4 // .quad -2805469892591575644 - QUAD $0x1b2ba1518094da05 // .quad 1957835834444274181 - QUAD $0x87aa9aff79042286 // .quad -8670947710510816634 - QUAD $0x90fb44d2f05d0843 // .quad -7999724640327104445 - QUAD $0xa99541bf57452b28 // .quad -6226998619711132888 - QUAD $0x353a1607ac744a54 // .quad 3835402254873283156 - QUAD $0xd3fa922f2d1675f2 // .quad -3172062256211528206 - QUAD $0x42889b8997915ce9 // .quad 4794252818591603945 - QUAD $0x847c9b5d7c2e09b7 // .quad -8900067937773286985 - QUAD $0x69956135febada12 // .quad 7608094030047140370 - QUAD $0xa59bc234db398c25 // .quad -6513398903789220827 - QUAD $0x43fab9837e699096 // .quad 4898431519131537558 - QUAD $0xcf02b2c21207ef2e // .quad -3530062611309138130 - QUAD $0x94f967e45e03f4bc // .quad -7712018656367741764 - QUAD $0x8161afb94b44f57d // .quad -9123818159709293187 - QUAD $0x1d1be0eebac278f6 // .quad 2097517367411243254 - QUAD $0xa1ba1ba79e1632dc // .quad -6793086681209228580 - QUAD $0x6462d92a69731733 // .quad 7233582727691441971 - QUAD $0xca28a291859bbf93 // .quad -3879672333084147821 - QUAD $0x7d7b8f7503cfdcff // .quad 9041978409614302463 - QUAD $0xfcb2cb35e702af78 // .quad -237904397927796872 - QUAD $0x5cda735244c3d43f // .quad 6690786993590490175 - QUAD $0x9defbf01b061adab // .quad -7066219276345954901 - QUAD $0x3a0888136afa64a8 // .quad 4181741870994056360 - QUAD $0xc56baec21c7a1916 // .quad -4221088077005055722 - QUAD $0x088aaa1845b8fdd1 // .quad 615491320315182545 - QUAD $0xf6c69a72a3989f5b // .quad -664674077828931749 - QUAD $0x8aad549e57273d46 // .quad -8454007886460797626 - QUAD $0x9a3c2087a63f6399 // .quad -7332950326284164199 - QUAD $0x36ac54e2f678864c // .quad 3939617107816777292 - QUAD $0xc0cb28a98fcf3c7f // .quad -4554501889427817345 - QUAD $0x84576a1bb416a7de // .quad -8910536670511192098 - QUAD $0xf0fdf2d3f3c30b9f // .quad -1081441343357383777 - QUAD $0x656d44a2a11c51d6 // .quad 7308573235570561494 - QUAD $0x969eb7c47859e743 // .quad -7593429867239446717 - QUAD $0x9f644ae5a4b1b326 // .quad -6961356773836868826 - QUAD $0xbc4665b596706114 // .quad -4880101315621920492 - QUAD $0x873d5d9f0dde1fef // .quad -8701695967296086033 - QUAD $0xeb57ff22fc0c7959 // .quad -1488440626100012711 - QUAD $0xa90cb506d155a7eb // .quad -6265433940692719637 - QUAD $0x9316ff75dd87cbd8 // .quad -7847804418953589800 - QUAD $0x09a7f12442d588f3 // .quad 695789805494438131 - QUAD $0xb7dcbf5354e9bece // .quad -5198069505264599346 - QUAD $0x0c11ed6d538aeb30 // .quad 869737256868047664 - QUAD $0xe5d3ef282a242e81 // .quad -1885900863153361279 - QUAD $0x8f1668c8a86da5fb // .quad -8136200465769716229 - QUAD $0x8fa475791a569d10 // .quad -8096217067111932656 - QUAD $0xf96e017d694487bd // .quad -473439272678684739 - QUAD $0xb38d92d760ec4455 // .quad -5508585315462527915 - QUAD $0x37c981dcc395a9ad // .quad 4019886927579031981 - QUAD $0xe070f78d3927556a // .quad -2274045625900771990 - QUAD $0x85bbe253f47b1418 // .quad -8810199395808373736 - QUAD $0x8c469ab843b89562 // .quad -8338807543829064350 - QUAD $0x93956d7478ccec8f // .quad -7812217631593927537 - QUAD $0xaf58416654a6babb // .quad -5811823411358942533 - QUAD $0x387ac8d1970027b3 // .quad 4069786015789754291 - QUAD $0xdb2e51bfe9d0696a // .quad -2653093245771290262 - QUAD $0x06997b05fcc0319f // .quad 475546501309804959 - QUAD $0x88fcf317f22241e2 // .quad -8575712306248138270 - QUAD $0x441fece3bdf81f04 // .quad 4908902581746016004 - QUAD $0xab3c2fddeeaad25a // .quad -6107954364382784934 - QUAD $0xd527e81cad7626c4 // .quad -3087243809672255804 - QUAD $0xd60b3bd56a5586f1 // .quad -3023256937051093263 - QUAD $0x8a71e223d8d3b075 // .quad -8470740780517707659 - QUAD $0x85c7056562757456 // .quad -8807064613298015146 - QUAD $0xf6872d5667844e4a // .quad -682526969396179382 - QUAD $0xa738c6bebb12d16c // .quad -6397144748195131028 - QUAD $0xb428f8ac016561dc // .quad -5464844730172612132 - QUAD $0xd106f86e69d785c7 // .quad -3384744916816525881 - QUAD $0xe13336d701beba53 // .quad -2219369894288377261 - QUAD $0x82a45b450226b39c // .quad -9032994600651410532 - QUAD $0xecc0024661173474 // .quad -1387106183930235788 - QUAD $0xa34d721642b06084 // .quad -6679557232386875260 - QUAD $0x27f002d7f95d0191 // .quad 2877803288514593169 - QUAD $0xcc20ce9bd35c78a5 // .quad -3737760522056206171 - QUAD $0x31ec038df7b441f5 // .quad 3597254110643241461 - QUAD $0xff290242c83396ce // .quad -60514634142869810 - QUAD $0x7e67047175a15272 // .quad 9108253656731439730 - QUAD $0x9f79a169bd203e41 // .quad -6955350673980375487 - QUAD $0x0f0062c6e984d387 // .quad 1080972517029761927 - QUAD $0xc75809c42c684dd1 // .quad -4082502324048081455 - QUAD $0x52c07b78a3e60869 // .quad 5962901664714590313 - QUAD $0xf92e0c3537826145 // .quad -491441886632713915 - QUAD $0xa7709a56ccdf8a83 // .quad -6381430974388925821 - QUAD $0x9bbcc7a142b17ccb // .quad -7224680206786528053 - QUAD $0x88a66076400bb692 // .quad -8600080377420466542 - QUAD $0xc2abf989935ddbfe // .quad -4419164240055772162 - QUAD $0x6acff893d00ea436 // .quad 7696643601933968438 - QUAD $0xf356f7ebf83552fe // .quad -912269281642327298 - QUAD $0x0583f6b8c4124d44 // .quad 397432465562684740 - QUAD $0x98165af37b2153de // .quad -7487697328667536418 - QUAD $0xc3727a337a8b704b // .quad -4363290727450709941 - QUAD $0xbe1bf1b059e9a8d6 // .quad -4747935642407032618 - QUAD $0x744f18c0592e4c5d // .quad 8380944645968776285 - QUAD $0xeda2ee1c7064130c // .quad -1323233534581402868 - QUAD $0x1162def06f79df74 // .quad 1252808770606194548 - QUAD $0x9485d4d1c63e8be7 // .quad -7744549986754458649 - QUAD $0x8addcb5645ac2ba9 // .quad -8440366555225904215 - QUAD $0xb9a74a0637ce2ee1 // .quad -5069001465015685407 - QUAD $0x6d953e2bd7173693 // .quad 7896285879677171347 - QUAD $0xe8111c87c5c1ba99 // .quad -1724565812842218855 - QUAD $0xc8fa8db6ccdd0438 // .quad -3964700705685699528 - QUAD $0x910ab1d4db9914a0 // .quad -7995382660667468640 - QUAD $0x1d9c9892400a22a3 // .quad 2133748077373825699 - QUAD $0xb54d5e4a127f59c8 // .quad -5382542307406947896 - QUAD $0x2503beb6d00cab4c // .quad 2667185096717282124 - QUAD $0xe2a0b5dc971f303a // .quad -2116491865831296966 - QUAD $0x2e44ae64840fd61e // .quad 3333981370896602654 - QUAD $0x8da471a9de737e24 // .quad -8240336443785642460 - QUAD $0x5ceaecfed289e5d3 // .quad 6695424375237764563 - QUAD $0xb10d8e1456105dad // .quad -5688734536304665171 - QUAD $0x7425a83e872c5f48 // .quad 8369280469047205704 - QUAD $0xdd50f1996b947518 // .quad -2499232151953443560 - QUAD $0xd12f124e28f7771a // .quad -3373457468973156582 - QUAD $0x8a5296ffe33cc92f // .quad -8479549122611984081 - QUAD $0x82bd6b70d99aaa70 // .quad -9025939945749304720 - QUAD $0xace73cbfdc0bfb7b // .quad -5987750384837592197 - QUAD $0x636cc64d1001550c // .quad 7164319141522920716 - QUAD $0xd8210befd30efa5a // .quad -2873001962619602342 - QUAD $0x3c47f7e05401aa4f // .quad 4343712908476262991 - QUAD $0x8714a775e3e95c78 // .quad -8713155254278333320 - QUAD $0x65acfaec34810a72 // .quad 7326506586225052274 - QUAD $0xa8d9d1535ce3b396 // .quad -6279758049420528746 - QUAD $0x7f1839a741a14d0e // .quad 9158133232781315342 - QUAD $0xd31045a8341ca07c // .quad -3238011543348273028 - QUAD $0x1ede48111209a051 // .quad 2224294504121868369 - QUAD $0x83ea2b892091e44d // .quad -8941286242233752499 - QUAD $0x934aed0aab460433 // .quad -7833187971778608077 - QUAD $0xa4e4b66b68b65d60 // .quad -6564921784364802720 - QUAD $0xf81da84d56178540 // .quad -568112927868484288 - QUAD $0xce1de40642e3f4b9 // .quad -3594466212028615495 - QUAD $0x36251260ab9d668f // .quad 3901544858591782543 - QUAD $0x80d2ae83e9ce78f3 // .quad -9164070410158966541 - QUAD $0xc1d72b7c6b42601a // .quad -4479063491021217766 - QUAD $0xa1075a24e4421730 // .quad -6843401994271320272 - QUAD $0xb24cf65b8612f820 // .quad -5598829363776522208 - QUAD $0xc94930ae1d529cfc // .quad -3942566474411762436 - QUAD $0xdee033f26797b628 // .quad -2386850686293264856 - QUAD $0xfb9b7cd9a4a7443c // .quad -316522074587315140 - QUAD $0x169840ef017da3b2 // .quad 1628122660560806834 - QUAD $0x9d412e0806e88aa5 // .quad -7115355324258153819 - QUAD $0x8e1f289560ee864f // .quad -8205795374004271537 - QUAD $0xc491798a08a2ad4e // .quad -4282508136895304370 - QUAD $0xf1a6f2bab92a27e3 // .quad -1033872180650563613 - QUAD $0xf5b5d7ec8acb58a2 // .quad -741449152691742558 - QUAD $0xae10af696774b1dc // .quad -5904026244240592420 - QUAD $0x9991a6f3d6bf1765 // .quad -7380934748073420955 - QUAD $0xacca6da1e0a8ef2a // .quad -5995859411864064214 - QUAD $0xbff610b0cc6edd3f // .quad -4614482416664388289 - QUAD $0x17fd090a58d32af4 // .quad 1728547772024695540 - QUAD $0xeff394dcff8a948e // .quad -1156417002403097458 - QUAD $0xddfc4b4cef07f5b1 // .quad -2451001303396518479 - QUAD $0x95f83d0a1fb69cd9 // .quad -7640289654143017767 - QUAD $0x4abdaf101564f98f // .quad 5385653213018257807 - QUAD $0xbb764c4ca7a4440f // .quad -4938676049251384305 - QUAD $0x9d6d1ad41abe37f2 // .quad -7102991539009341454 - QUAD $0xea53df5fd18d5513 // .quad -1561659043136842477 - QUAD $0x84c86189216dc5ee // .quad -8878739423761676818 - QUAD $0x92746b9be2f8552c // .quad -7893565929601608404 - QUAD $0x32fd3cf5b4e49bb5 // .quad 3674159897003727797 - QUAD $0xb7118682dbb66a77 // .quad -5255271393574622601 - QUAD $0x3fbc8c33221dc2a2 // .quad 4592699871254659746 - QUAD $0xe4d5e82392a40515 // .quad -1957403223540890347 - QUAD $0x0fabaf3feaa5334b // .quad 1129188820640936779 - QUAD $0x8f05b1163ba6832d // .quad -8140906042354138323 - QUAD $0x29cb4d87f2a7400f // .quad 3011586022114279439 - QUAD $0xb2c71d5bca9023f8 // .quad -5564446534515285000 - QUAD $0x743e20e9ef511013 // .quad 8376168546070237203 - QUAD $0xdf78e4b2bd342cf6 // .quad -2343872149716718346 - QUAD $0x914da9246b255417 // .quad -7976533391121755113 - QUAD $0x8bab8eefb6409c1a // .quad -8382449121214030822 - QUAD $0x1ad089b6c2f7548f // .quad 1932195658189984911 - QUAD $0xae9672aba3d0c320 // .quad -5866375383090150624 - QUAD $0xa184ac2473b529b2 // .quad -6808127464117294670 - QUAD $0xda3c0f568cc4f3e8 // .quad -2721283210435300376 - QUAD $0xc9e5d72d90a2741f // .quad -3898473311719230433 - QUAD $0x8865899617fb1871 // .quad -8618331034163144591 - QUAD $0x7e2fa67c7a658893 // .quad 9092669226243950739 - QUAD $0xaa7eebfb9df9de8d // .quad -6161227774276542835 - QUAD $0xddbb901b98feeab8 // .quad -2469221522477225288 - QUAD $0xd51ea6fa85785631 // .quad -3089848699418290639 - QUAD $0x552a74227f3ea566 // .quad 6136845133758244198 - QUAD $0x8533285c936b35de // .quad -8848684464777513506 - QUAD $0xd53a88958f872760 // .quad -3082000819042179232 - QUAD $0xa67ff273b8460356 // .quad -6449169562544503978 - QUAD $0x8a892abaf368f138 // .quad -8464187042230111944 - QUAD $0xd01fef10a657842c // .quad -3449775934753242068 - QUAD $0x2d2b7569b0432d86 // .quad 3254824252494523782 - QUAD $0x8213f56a67f6b29b // .quad -9073638986861858149 - QUAD $0x9c3b29620e29fc74 // .quad -7189106879045698444 - QUAD $0xa298f2c501f45f42 // .quad -6730362715149934782 - QUAD $0x8349f3ba91b47b90 // .quad -8986383598807123056 - QUAD $0xcb3f2f7642717713 // .quad -3801267375510030573 - QUAD $0x241c70a936219a74 // .quad 2602078556773259892 - QUAD $0xfe0efb53d30dd4d7 // .quad -139898200960150313 - QUAD $0xed238cd383aa0111 // .quad -1359087822460813039 - QUAD $0x9ec95d1463e8a506 // .quad -7004965403241175802 - QUAD $0xf4363804324a40ab // .quad -849429889038008149 - QUAD $0xc67bb4597ce2ce48 // .quad -4144520735624081848 - QUAD $0xb143c6053edcd0d6 // .quad -5673473379724898090 - QUAD $0xf81aa16fdc1b81da // .quad -568964901102714406 - QUAD $0xdd94b7868e94050b // .quad -2480155706228734709 - QUAD $0x9b10a4e5e9913128 // .quad -7273132090830278360 - QUAD $0xca7cf2b4191c8327 // .quad -3855940325606653145 - QUAD $0xc1d4ce1f63f57d72 // .quad -4479729095110460046 - QUAD $0xfd1c2f611f63a3f1 // .quad -208239388580928527 - QUAD $0xf24a01a73cf2dccf // .quad -987975350460687153 - QUAD $0xbc633b39673c8ced // .quad -4871985254153548563 - QUAD $0x976e41088617ca01 // .quad -7535013621679011327 - QUAD $0xd5be0503e085d814 // .quad -3044990783845967852 - QUAD $0xbd49d14aa79dbc82 // .quad -4807081008671376254 - QUAD $0x4b2d8644d8a74e19 // .quad 5417133557047315993 - QUAD $0xec9c459d51852ba2 // .quad -1397165242411832414 - QUAD $0xddf8e7d60ed1219f // .quad -2451955090545630817 - QUAD $0x93e1ab8252f33b45 // .quad -7790757304148477115 - QUAD $0xcabb90e5c942b504 // .quad -3838314940804713212 - QUAD $0xb8da1662e7b00a17 // .quad -5126760611758208489 - QUAD $0x3d6a751f3b936244 // .quad 4425478360848884292 - QUAD $0xe7109bfba19c0c9d // .quad -1796764746270372707 - QUAD $0x0cc512670a783ad5 // .quad 920161932633717461 - QUAD $0x906a617d450187e2 // .quad -8040506994060064798 - QUAD $0x27fb2b80668b24c6 // .quad 2880944217109767366 - QUAD $0xb484f9dc9641e9da // .quad -5438947724147693094 - QUAD $0xb1f9f660802dedf7 // .quad -5622191765467566601 - QUAD $0xe1a63853bbd26451 // .quad -2186998636757228463 - QUAD $0x5e7873f8a0396974 // .quad 6807318348447705460 - QUAD $0x8d07e33455637eb2 // .quad -8284403175614349646 - QUAD $0xdb0b487b6423e1e9 // .quad -2662955059861265943 - QUAD $0xb049dc016abc5e5f // .quad -5743817951090549153 - QUAD $0x91ce1a9a3d2cda63 // .quad -7940379843253970333 - QUAD $0xdc5c5301c56b75f7 // .quad -2568086420435798537 - QUAD $0x7641a140cc7810fc // .quad 8521269269642088700 - QUAD $0x89b9b3e11b6329ba // .quad -8522583040413455942 - QUAD $0xa9e904c87fcb0a9e // .quad -6203421752542164322 - QUAD $0xac2820d9623bf429 // .quad -6041542782089432023 - QUAD $0x546345fa9fbdcd45 // .quad 6080780864604458309 - QUAD $0xd732290fbacaf133 // .quad -2940242459184402125 - QUAD $0xa97c177947ad4096 // .quad -6234081974526590826 - QUAD $0x867f59a9d4bed6c0 // .quad -8755180564631333184 - QUAD $0x49ed8eabcccc485e // .quad 5327070802775656542 - QUAD $0xa81f301449ee8c70 // .quad -6332289687361778576 - QUAD $0x5c68f256bfff5a75 // .quad 6658838503469570677 - QUAD $0xd226fc195c6a2f8c // .quad -3303676090774835316 - QUAD $0x73832eec6fff3112 // .quad 8323548129336963346 - QUAD $0x83585d8fd9c25db7 // .quad -8982326584375353929 - QUAD $0xc831fd53c5ff7eac // .quad -4021154456019173716 - QUAD $0xa42e74f3d032f525 // .quad -6616222212041804507 - QUAD $0xba3e7ca8b77f5e56 // .quad -5026443070023967146 - QUAD $0xcd3a1230c43fb26f // .quad -3658591746624867729 - QUAD $0x28ce1bd2e55f35ec // .quad 2940318199324816876 - QUAD $0x80444b5e7aa7cf85 // .quad -9204148869281624187 - QUAD $0x7980d163cf5b81b4 // .quad 8755227902219092404 - QUAD $0xa0555e361951c366 // .quad -6893500068174642330 - QUAD $0xd7e105bcc3326220 // .quad -2891023177508298208 - QUAD $0xc86ab5c39fa63440 // .quad -4005189066790915008 - QUAD $0x8dd9472bf3fefaa8 // .quad -8225464990312760664 - QUAD $0xfa856334878fc150 // .quad -394800315061255856 - QUAD $0xb14f98f6f0feb952 // .quad -5670145219463562926 - QUAD $0x9c935e00d4b9d8d2 // .quad -7164279224554366766 - QUAD $0x6ed1bf9a569f33d4 // .quad 7985374283903742932 - QUAD $0xc3b8358109e84f07 // .quad -4343663012265570553 - QUAD $0x0a862f80ec4700c9 // .quad 758345818024902857 - QUAD $0xf4a642e14c6262c8 // .quad -817892746904575288 - QUAD $0xcd27bb612758c0fb // .quad -3663753745896259333 - QUAD $0x98e7e9cccfbd7dbd // .quad -7428711994456441411 - QUAD $0x8038d51cb897789d // .quad -9207375118826243939 - QUAD $0xbf21e44003acdd2c // .quad -4674203974643163860 - QUAD $0xe0470a63e6bd56c4 // .quad -2285846861678029116 - QUAD $0xeeea5d5004981478 // .quad -1231068949876566920 - QUAD $0x1858ccfce06cac75 // .quad 1754377441329851509 - QUAD $0x95527a5202df0ccb // .quad -7686947121313936181 - QUAD $0x0f37801e0c43ebc9 // .quad 1096485900831157193 - QUAD $0xbaa718e68396cffd // .quad -4996997883215032323 - QUAD $0xd30560258f54e6bb // .quad -3241078642388441413 - QUAD $0xe950df20247c83fd // .quad -1634561335591402499 - QUAD $0x47c6b82ef32a206a // .quad 5172023733869224042 - QUAD $0x91d28b7416cdd27e // .quad -7939129862385708418 - QUAD $0x4cdc331d57fa5442 // .quad 5538357842881958978 - QUAD $0xb6472e511c81471d // .quad -5312226309554747619 - QUAD $0xe0133fe4adf8e953 // .quad -2300424733252327085 - QUAD $0xe3d8f9e563a198e5 // .quad -2028596868516046619 - QUAD $0x58180fddd97723a7 // .quad 6347841120289366951 - QUAD $0x8e679c2f5e44ff8f // .quad -8185402070463610993 - QUAD $0x570f09eaa7ea7649 // .quad 6273243709394548297 - QUAD $0xb201833b35d63f73 // .quad -5620066569652125837 - QUAD $0x2cd2cc6551e513db // .quad 3229868618315797467 - QUAD $0xde81e40a034bcf4f // .quad -2413397193637769393 - QUAD $0xf8077f7ea65e58d2 // .quad -574350245532641070 - QUAD $0x8b112e86420f6191 // .quad -8425902273664687727 - QUAD $0xfb04afaf27faf783 // .quad -358968903457900669 - QUAD $0xadd57a27d29339f6 // .quad -5920691823653471754 - QUAD $0x79c5db9af1f9b564 // .quad 8774660907532399972 - QUAD $0xd94ad8b1c7380874 // .quad -2789178761139451788 - QUAD $0x18375281ae7822bd // .quad 1744954097560724157 - QUAD $0x87cec76f1c830548 // .quad -8660765753353239224 - QUAD $0x8f2293910d0b15b6 // .quad -8132775725879323210 - QUAD $0xa9c2794ae3a3c69a // .quad -6214271173264161126 - QUAD $0xb2eb3875504ddb23 // .quad -5554283638921766109 - QUAD $0xd433179d9c8cb841 // .quad -3156152948152813503 - QUAD $0x5fa60692a46151ec // .quad 6892203506629956076 - QUAD $0x849feec281d7f328 // .quad -8890124620236590296 - QUAD $0xdbc7c41ba6bcd334 // .quad -2609901835997359308 - QUAD $0xa5c7ea73224deff3 // .quad -6500969756868349965 - QUAD $0x12b9b522906c0801 // .quad 1349308723430688769 - QUAD $0xcf39e50feae16bef // .quad -3514526177658049553 - QUAD $0xd768226b34870a01 // .quad -2925050114139026943 - QUAD $0x81842f29f2cce375 // .quad -9114107888677362827 - QUAD $0xe6a1158300d46641 // .quad -1828156321336891839 - QUAD $0xa1e53af46f801c53 // .quad -6780948842419315629 - QUAD $0x60495ae3c1097fd1 // .quad 6938176635183661009 - QUAD $0xca5e89b18b602368 // .quad -3864500034596756632 - QUAD $0x385bb19cb14bdfc5 // .quad 4061034775552188357 - QUAD $0xfcf62c1dee382c42 // .quad -218939024818557886 - QUAD $0x46729e03dd9ed7b6 // .quad 5076293469440235446 - QUAD $0x9e19db92b4e31ba9 // .quad -7054365918152680535 - QUAD $0x6c07a2c26a8346d2 // .quad 7784369436827535058 - - // .p2align 4, 0x00 -_VecShiftShuffles: - QUAD $0x0706050403020100; QUAD $0x0f0e0d0c0b0a0908 // .ascii 16, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' - QUAD $0x0807060504030201; QUAD $0xff0f0e0d0c0b0a09 // .ascii 16, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' - QUAD $0x0908070605040302; QUAD $0xffff0f0e0d0c0b0a // .ascii 16, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' - QUAD $0x0a09080706050403; QUAD $0xffffff0f0e0d0c0b // .ascii 16, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' - QUAD $0x0b0a090807060504; QUAD $0xffffffff0f0e0d0c // .ascii 16, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' - QUAD $0x0c0b0a0908070605; QUAD $0xffffffffff0f0e0d // .ascii 16, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff' - QUAD $0x0d0c0b0a09080706; QUAD $0xffffffffffff0f0e // .ascii 16, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff' - QUAD $0x0e0d0c0b0a090807; QUAD $0xffffffffffffff0f // .ascii 16, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff' - QUAD $0x0f0e0d0c0b0a0908; QUAD $0xffffffffffffffff // .ascii 16, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' - - // .p2align 4, 0x00 -__SingleQuoteTab: - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000030303030755c // .asciz 8, '\\u0000\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000031303030755c // .asciz 8, '\\u0001\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000032303030755c // .asciz 8, '\\u0002\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000033303030755c // .asciz 8, '\\u0003\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000034303030755c // .asciz 8, '\\u0004\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000035303030755c // .asciz 8, '\\u0005\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000036303030755c // .asciz 8, '\\u0006\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000037303030755c // .asciz 8, '\\u0007\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000038303030755c // .asciz 8, '\\u0008\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x000000000000745c // .asciz 8, '\\t\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x0000000000006e5c // .asciz 8, '\\n\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000062303030755c // .asciz 8, '\\u000b\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000063303030755c // .asciz 8, '\\u000c\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x000000000000725c // .asciz 8, '\\r\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000065303030755c // .asciz 8, '\\u000e\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000066303030755c // .asciz 8, '\\u000f\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000030313030755c // .asciz 8, '\\u0010\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000031313030755c // .asciz 8, '\\u0011\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000032313030755c // .asciz 8, '\\u0012\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000033313030755c // .asciz 8, '\\u0013\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000034313030755c // .asciz 8, '\\u0014\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000035313030755c // .asciz 8, '\\u0015\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000036313030755c // .asciz 8, '\\u0016\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000037313030755c // .asciz 8, '\\u0017\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000038313030755c // .asciz 8, '\\u0018\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000039313030755c // .asciz 8, '\\u0019\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000061313030755c // .asciz 8, '\\u001a\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000062313030755c // .asciz 8, '\\u001b\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000063313030755c // .asciz 8, '\\u001c\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000064313030755c // .asciz 8, '\\u001d\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000065313030755c // .asciz 8, '\\u001e\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000066313030755c // .asciz 8, '\\u001f\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x000000000000225c // .asciz 8, '\\"\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000002 // .quad 2 - QUAD $0x0000000000005c5c // .asciz 8, '\\\\\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -__DoubleQuoteTab: - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0030303030755c5c // .asciz 8, '\\\\u0000\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0031303030755c5c // .asciz 8, '\\\\u0001\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0032303030755c5c // .asciz 8, '\\\\u0002\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0033303030755c5c // .asciz 8, '\\\\u0003\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0034303030755c5c // .asciz 8, '\\\\u0004\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0035303030755c5c // .asciz 8, '\\\\u0005\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0036303030755c5c // .asciz 8, '\\\\u0006\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0037303030755c5c // .asciz 8, '\\\\u0007\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0038303030755c5c // .asciz 8, '\\\\u0008\x00' - QUAD $0x0000000000000003 // .quad 3 - QUAD $0x0000000000745c5c // .asciz 8, '\\\\t\x00\x00\x00\x00\x00' - QUAD $0x0000000000000003 // .quad 3 - QUAD $0x00000000006e5c5c // .asciz 8, '\\\\n\x00\x00\x00\x00\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0062303030755c5c // .asciz 8, '\\\\u000b\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0063303030755c5c // .asciz 8, '\\\\u000c\x00' - QUAD $0x0000000000000003 // .quad 3 - QUAD $0x0000000000725c5c // .asciz 8, '\\\\r\x00\x00\x00\x00\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0065303030755c5c // .asciz 8, '\\\\u000e\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0066303030755c5c // .asciz 8, '\\\\u000f\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0030313030755c5c // .asciz 8, '\\\\u0010\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0031313030755c5c // .asciz 8, '\\\\u0011\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0032313030755c5c // .asciz 8, '\\\\u0012\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0033313030755c5c // .asciz 8, '\\\\u0013\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0034313030755c5c // .asciz 8, '\\\\u0014\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0035313030755c5c // .asciz 8, '\\\\u0015\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0036313030755c5c // .asciz 8, '\\\\u0016\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0037313030755c5c // .asciz 8, '\\\\u0017\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0038313030755c5c // .asciz 8, '\\\\u0018\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0039313030755c5c // .asciz 8, '\\\\u0019\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0061313030755c5c // .asciz 8, '\\\\u001a\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0062313030755c5c // .asciz 8, '\\\\u001b\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0063313030755c5c // .asciz 8, '\\\\u001c\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0064313030755c5c // .asciz 8, '\\\\u001d\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0065313030755c5c // .asciz 8, '\\\\u001e\x00' - QUAD $0x0000000000000007 // .quad 7 - QUAD $0x0066313030755c5c // .asciz 8, '\\\\u001f\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000004 // .quad 4 - QUAD $0x00000000225c5c5c // .asciz 8, '\\\\\\"\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000004 // .quad 4 - QUAD $0x000000005c5c5c5c // .asciz 8, '\\\\\\\\\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -__EscTab: - QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .ascii 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' - QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .ascii 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' - QUAD $0x0000000000010000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; LONG $0x00000000; BYTE $0x01 // .ascii 13, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - WORD $0x0000; BYTE $0x00 // .space 3, '\x00\x00\x00' - - // .p2align 4, 0x00 -__UnquoteTab: - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000220000; QUAD $0x2f00000000000000 // .ascii 16, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000005c00000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00' - QUAD $0x000c000000080000; QUAD $0x000a000000000000 // .ascii 16, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00' - LONG $0x000d0000; WORD $0xff09 // .ascii 6, '\x00\x00\r\x00\t\xff' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; WORD $0x0000 // .space 10, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -__HtmlQuoteTab: - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000036323030755c // .asciz 8, '\\u0026\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000063333030755c // .asciz 8, '\\u003c\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000065333030755c // .asciz 8, '\\u003e\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000038323032755c // .asciz 8, '\\u2028\x00\x00' - QUAD $0x0000000000000006 // .quad 6 - QUAD $0x000039323032755c // .asciz 8, '\\u2029\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - - // .p2align 4, 0x00 -_LSHIFT_TAB: - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000 // .space 8, '\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000001 // .long 1 - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000001 // .long 1 - QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000001 // .long 1 - QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000002 // .long 2 - QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000002 // .long 2 - QUAD $0x0000000035323133; QUAD $0x0000000000000000 // .asciz 16, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000002 // .long 2 - QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000003 // .long 3 - QUAD $0x0000003532313837; QUAD $0x0000000000000000 // .asciz 16, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000003 // .long 3 - QUAD $0x0000353236303933; QUAD $0x0000000000000000 // .asciz 16, '390625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000003 // .long 3 - QUAD $0x0035323133353931; QUAD $0x0000000000000000 // .asciz 16, '1953125\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000004 // .long 4 - QUAD $0x0035323635363739; QUAD $0x0000000000000000 // .asciz 16, '9765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000004 // .long 4 - QUAD $0x3532313832383834; QUAD $0x0000000000000000 // .asciz 16, '48828125\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000004 // .long 4 - QUAD $0x3236303431343432; QUAD $0x0000000000000035 // .asciz 16, '244140625\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000004 // .long 4 - QUAD $0x3133303730323231; QUAD $0x0000000000003532 // .asciz 16, '1220703125\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000005 // .long 5 - QUAD $0x3635313533303136; QUAD $0x0000000000003532 // .asciz 16, '6103515625\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000005 // .long 5 - QUAD $0x3837353731353033; QUAD $0x0000000000353231 // .asciz 16, '30517578125\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000005 // .long 5 - QUAD $0x3938373835323531; QUAD $0x0000000035323630 // .asciz 16, '152587890625\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000006 // .long 6 - QUAD $0x3534393339323637; QUAD $0x0000000035323133 // .asciz 16, '762939453125\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000006 // .long 6 - QUAD $0x3237393634313833; QUAD $0x0000003532363536 // .asciz 16, '3814697265625\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000006 // .long 6 - QUAD $0x3638343337303931; QUAD $0x0000353231383233 // .asciz 16, '19073486328125\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000007 // .long 7 - QUAD $0x3133343736333539; QUAD $0x0000353236303436 // .asciz 16, '95367431640625\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000007 // .long 7 - QUAD $0x3531373338363734; QUAD $0x0035323133303238 // .asciz 16, '476837158203125\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000007 // .long 7 - QUAD $0x3735383134383332; QUAD $0x3532363531303139 // .asciz 16, '2384185791015625' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000007 // .long 7 - QUAD $0x3832393032393131; QUAD $0x3231383730353539 // .asciz 16, '1192092895507812' - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000008 // .long 8 - QUAD $0x3434363430363935; QUAD $0x3236303933353737 // .asciz 16, '5960464477539062' - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000008 // .long 8 - QUAD $0x3232333230383932; QUAD $0x3133353936373833 // .asciz 16, '2980232238769531' - QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000008 // .long 8 - QUAD $0x3136313130393431; QUAD $0x3536373438333931 // .asciz 16, '1490116119384765' - QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000009 // .long 9 - QUAD $0x3530383530353437; QUAD $0x3832383332393639 // .asciz 16, '7450580596923828' - QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000009 // .long 9 - QUAD $0x3230393235323733; QUAD $0x3431393136343839 // .asciz 16, '3725290298461914' - QUAD $0x0000000035323630; QUAD $0x0000000000000000 // .asciz 16, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000009 // .long 9 - QUAD $0x3135343632363831; QUAD $0x3735393033323934 // .asciz 16, '1862645149230957' - QUAD $0x0000003532313330; QUAD $0x0000000000000000 // .asciz 16, '03125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000a // .long 10 - QUAD $0x3735323233313339; QUAD $0x3538373435313634 // .asciz 16, '9313225746154785' - QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000a // .long 10 - QUAD $0x3832313636353634; QUAD $0x3239333737303337 // .asciz 16, '4656612873077392' - QUAD $0x0000353231383735; QUAD $0x0000000000000000 // .asciz 16, '578125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000a // .long 10 - QUAD $0x3436303338323332; QUAD $0x3639363833353633 // .asciz 16, '2328306436538696' - QUAD $0x0035323630393832; QUAD $0x0000000000000000 // .asciz 16, '2890625\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000a // .long 10 - QUAD $0x3233353134363131; QUAD $0x3834333936323831 // .asciz 16, '1164153218269348' - QUAD $0x3532313335343431; QUAD $0x0000000000000000 // .asciz 16, '14453125\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000b // .long 11 - QUAD $0x3036363730323835; QUAD $0x3034373634333139 // .asciz 16, '5820766091346740' - QUAD $0x3532363536323237; QUAD $0x0000000000000000 // .asciz 16, '72265625\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000b // .long 11 - QUAD $0x3033383330313932; QUAD $0x3037333337363534 // .asciz 16, '2910383045673370' - QUAD $0x3231383233313633; QUAD $0x0000000000000035 // .asciz 16, '361328125\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000b // .long 11 - QUAD $0x3531393135353431; QUAD $0x3538363633383232 // .asciz 16, '1455191522836685' - QUAD $0x3630343636303831; QUAD $0x0000000000003532 // .asciz 16, '1806640625\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000c // .long 12 - QUAD $0x3637353935373237; QUAD $0x3532343338313431 // .asciz 16, '7275957614183425' - QUAD $0x3133303233333039; QUAD $0x0000000000003532 // .asciz 16, '9033203125\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000c // .long 12 - QUAD $0x3838373937333633; QUAD $0x3231373139303730 // .asciz 16, '3637978807091712' - QUAD $0x3531303636313539; QUAD $0x0000000000353236 // .asciz 16, '95166015625\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000c // .long 12 - QUAD $0x3439383938313831; QUAD $0x3635383534353330 // .asciz 16, '1818989403545856' - QUAD $0x3730303338353734; QUAD $0x0000000035323138 // .asciz 16, '475830078125\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000d // .long 13 - QUAD $0x3037343934393039; QUAD $0x3238323932373731 // .asciz 16, '9094947017729282' - QUAD $0x3933303531393733; QUAD $0x0000000035323630 // .asciz 16, '379150390625\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000d // .long 13 - QUAD $0x3533373437343534; QUAD $0x3134363436383830 // .asciz 16, '4547473508864641' - QUAD $0x3931353735393831; QUAD $0x0000003532313335 // .asciz 16, '1895751953125\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000d // .long 13 - QUAD $0x3736333733373232; QUAD $0x3032333233343435 // .asciz 16, '2273736754432320' - QUAD $0x3935373837343935; QUAD $0x0000353236353637 // .asciz 16, '59478759765625\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000d // .long 13 - QUAD $0x3338363836333131; QUAD $0x3036313631323737 // .asciz 16, '1136868377216160' - QUAD $0x3937333933373932; QUAD $0x0035323138323838 // .asciz 16, '297393798828125\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000e // .long 14 - QUAD $0x3831343334383635; QUAD $0x3130383038303638 // .asciz 16, '5684341886080801' - QUAD $0x3939383639363834; QUAD $0x0035323630343134 // .asciz 16, '486968994140625\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000e // .long 14 - QUAD $0x3930373132343832; QUAD $0x3030343034303334 // .asciz 16, '2842170943040400' - QUAD $0x3934343834333437; QUAD $0x3532313330373037 // .asciz 16, '7434844970703125' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000e // .long 14 - QUAD $0x3435383031323431; QUAD $0x3030323032353137 // .asciz 16, '1421085471520200' - QUAD $0x3432323437313733; QUAD $0x3236353135333538 // .asciz 16, '3717422485351562' - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000f // .long 15 - QUAD $0x3337323435303137; QUAD $0x3130303130363735 // .asciz 16, '7105427357601001' - QUAD $0x3432313137383538; QUAD $0x3231383735373632 // .asciz 16, '8587112426757812' - QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000f // .long 15 - QUAD $0x3633313732353533; QUAD $0x3030353030383837 // .asciz 16, '3552713678800500' - QUAD $0x3236353533393239; QUAD $0x3630393837333331 // .asciz 16, '9293556213378906' - QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x0000000f // .long 15 - QUAD $0x3836353336373731; QUAD $0x3035323030343933 // .asciz 16, '1776356839400250' - QUAD $0x3138373736343634; QUAD $0x3335343938363630 // .asciz 16, '4646778106689453' - QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000010 // .long 16 - QUAD $0x3134383731383838; QUAD $0x3235323130303739 // .asciz 16, '8881784197001252' - QUAD $0x3530393833333233; QUAD $0x3536323734343333 // .asciz 16, '3233890533447265' - QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000010 // .long 16 - QUAD $0x3032393830343434; QUAD $0x3632363030353839 // .asciz 16, '4440892098500626' - QUAD $0x3235343936313631; QUAD $0x3233363332373636 // .asciz 16, '1616945266723632' - QUAD $0x0000000035323138; QUAD $0x0000000000000000 // .asciz 16, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000010 // .long 16 - QUAD $0x3036343430323232; QUAD $0x3331333035323934 // .asciz 16, '2220446049250313' - QUAD $0x3632373438303830; QUAD $0x3631383136333333 // .asciz 16, '0808472633361816' - QUAD $0x0000003532363034; QUAD $0x0000000000000000 // .asciz 16, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000010 // .long 16 - QUAD $0x3033323230313131; QUAD $0x3635313532363432 // .asciz 16, '1110223024625156' - QUAD $0x3336333234303435; QUAD $0x3830393038363631 // .asciz 16, '5404236316680908' - QUAD $0x0000353231333032; QUAD $0x0000000000000000 // .asciz 16, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000011 // .long 17 - QUAD $0x3135313131353535; QUAD $0x3238373532313332 // .asciz 16, '5551115123125782' - QUAD $0x3531383131323037; QUAD $0x3134353430343338 // .asciz 16, '7021181583404541' - QUAD $0x0000353236353130; QUAD $0x0000000000000000 // .asciz 16, '015625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000011 // .long 17 - QUAD $0x3537353535373732; QUAD $0x3139383236353136 // .asciz 16, '2775557561562891' - QUAD $0x3730393530313533; QUAD $0x3037323230373139 // .asciz 16, '3510590791702270' - QUAD $0x0035323138373035; QUAD $0x0000000000000000 // .asciz 16, '5078125\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000011 // .long 17 - QUAD $0x3738373737383331; QUAD $0x3534343138373038 // .asciz 16, '1387778780781445' - QUAD $0x3335393235353736; QUAD $0x3533313135383539 // .asciz 16, '6755295395851135' - QUAD $0x3532363039333532; QUAD $0x0000000000000000 // .asciz 16, '25390625\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000012 // .long 18 - QUAD $0x3933393838333936; QUAD $0x3832323730393330 // .asciz 16, '6938893903907228' - QUAD $0x3936373436373733; QUAD $0x3637363535323937 // .asciz 16, '3776476979255676' - QUAD $0x3532313335393632; QUAD $0x0000000000000000 // .asciz 16, '26953125\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000012 // .long 18 - QUAD $0x3936343439363433; QUAD $0x3431363335393135 // .asciz 16, '3469446951953614' - QUAD $0x3438333238383831; QUAD $0x3833383732363938 // .asciz 16, '1888238489627838' - QUAD $0x3236353637343331; QUAD $0x0000000000000035 // .asciz 16, '134765625\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000012 // .long 18 - QUAD $0x3433323734333731; QUAD $0x3730383637393537 // .asciz 16, '1734723475976807' - QUAD $0x3239313134343930; QUAD $0x3931393331383434 // .asciz 16, '0944119244813919' - QUAD $0x3138323833373630; QUAD $0x0000000000003532 // .asciz 16, '0673828125\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - LONG $0x00000013 // .long 19 - QUAD $0x3337313633373638; QUAD $0x3533303438383937 // .asciz 16, '8673617379884035' - QUAD $0x3236393530323734; QUAD $0x3539353936303432 // .asciz 16, '4720596224069595' - QUAD $0x3630343139363333; QUAD $0x0000000000003532 // .asciz 16, '3369140625\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' - LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -_P10_TAB: - QUAD $0x3ff0000000000000 // .quad 0x3ff0000000000000 - QUAD $0x4024000000000000 // .quad 0x4024000000000000 - QUAD $0x4059000000000000 // .quad 0x4059000000000000 - QUAD $0x408f400000000000 // .quad 0x408f400000000000 - QUAD $0x40c3880000000000 // .quad 0x40c3880000000000 - QUAD $0x40f86a0000000000 // .quad 0x40f86a0000000000 - QUAD $0x412e848000000000 // .quad 0x412e848000000000 - QUAD $0x416312d000000000 // .quad 0x416312d000000000 - QUAD $0x4197d78400000000 // .quad 0x4197d78400000000 - QUAD $0x41cdcd6500000000 // .quad 0x41cdcd6500000000 - QUAD $0x4202a05f20000000 // .quad 0x4202a05f20000000 - QUAD $0x42374876e8000000 // .quad 0x42374876e8000000 - QUAD $0x426d1a94a2000000 // .quad 0x426d1a94a2000000 - QUAD $0x42a2309ce5400000 // .quad 0x42a2309ce5400000 - QUAD $0x42d6bcc41e900000 // .quad 0x42d6bcc41e900000 - QUAD $0x430c6bf526340000 // .quad 0x430c6bf526340000 - QUAD $0x4341c37937e08000 // .quad 0x4341c37937e08000 - QUAD $0x4376345785d8a000 // .quad 0x4376345785d8a000 - QUAD $0x43abc16d674ec800 // .quad 0x43abc16d674ec800 - QUAD $0x43e158e460913d00 // .quad 0x43e158e460913d00 - QUAD $0x4415af1d78b58c40 // .quad 0x4415af1d78b58c40 - QUAD $0x444b1ae4d6e2ef50 // .quad 0x444b1ae4d6e2ef50 - QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592 - QUAD $0x0000000000000000 // .p2align 4, 0x00 - -_LB_effe8bde: // _pow10_ceil_sig_f32.g - QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939 - QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270 - QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433 - QUAD $0xfd87b5f28300ca0e // .quad -177973607073265138 - QUAD $0x9e74d1b791e07e49 // .quad -7028762532061872567 - QUAD $0xc612062576589ddb // .quad -4174267146649952805 - QUAD $0xf79687aed3eec552 // .quad -606147914885053102 - QUAD $0x9abe14cd44753b53 // .quad -7296371474444240045 - QUAD $0xc16d9a0095928a28 // .quad -4508778324627912152 - QUAD $0xf1c90080baf72cb2 // .quad -1024286887357502286 - QUAD $0x971da05074da7bef // .quad -7557708332239520785 - QUAD $0xbce5086492111aeb // .quad -4835449396872013077 - QUAD $0xec1e4a7db69561a6 // .quad -1432625727662628442 - QUAD $0x9392ee8e921d5d08 // .quad -7812920107430224632 - QUAD $0xb877aa3236a4b44a // .quad -5154464115860392886 - QUAD $0xe69594bec44de15c // .quad -1831394126398103204 - QUAD $0x901d7cf73ab0acda // .quad -8062150356639896358 - QUAD $0xb424dc35095cd810 // .quad -5466001927372482544 - QUAD $0xe12e13424bb40e14 // .quad -2220816390788215276 - QUAD $0x8cbccc096f5088cc // .quad -8305539271883716404 - QUAD $0xafebff0bcb24aaff // .quad -5770238071427257601 - QUAD $0xdbe6fecebdedd5bf // .quad -2601111570856684097 - QUAD $0x89705f4136b4a598 // .quad -8543223759426509416 - QUAD $0xabcc77118461cefd // .quad -6067343680855748867 - QUAD $0xd6bf94d5e57a42bd // .quad -2972493582642298179 - QUAD $0x8637bd05af6c69b6 // .quad -8775337516792518218 - QUAD $0xa7c5ac471b478424 // .quad -6357485877563259868 - QUAD $0xd1b71758e219652c // .quad -3335171328526686932 - QUAD $0x83126e978d4fdf3c // .quad -9002011107970261188 - QUAD $0xa3d70a3d70a3d70b // .quad -6640827866535438581 - QUAD $0xcccccccccccccccd // .quad -3689348814741910323 - QUAD $0x8000000000000000 // .quad -9223372036854775808 - QUAD $0xa000000000000000 // .quad -6917529027641081856 - QUAD $0xc800000000000000 // .quad -4035225266123964416 - QUAD $0xfa00000000000000 // .quad -432345564227567616 - QUAD $0x9c40000000000000 // .quad -7187745005283311616 - QUAD $0xc350000000000000 // .quad -4372995238176751616 - QUAD $0xf424000000000000 // .quad -854558029293551616 - QUAD $0x9896800000000000 // .quad -7451627795949551616 - QUAD $0xbebc200000000000 // .quad -4702848726509551616 - QUAD $0xee6b280000000000 // .quad -1266874889709551616 - QUAD $0x9502f90000000000 // .quad -7709325833709551616 - QUAD $0xba43b74000000000 // .quad -5024971273709551616 - QUAD $0xe8d4a51000000000 // .quad -1669528073709551616 - QUAD $0x9184e72a00000000 // .quad -7960984073709551616 - QUAD $0xb5e620f480000000 // .quad -5339544073709551616 - QUAD $0xe35fa931a0000000 // .quad -2062744073709551616 - QUAD $0x8e1bc9bf04000000 // .quad -8206744073709551616 - QUAD $0xb1a2bc2ec5000000 // .quad -5646744073709551616 - QUAD $0xde0b6b3a76400000 // .quad -2446744073709551616 - QUAD $0x8ac7230489e80000 // .quad -8446744073709551616 - QUAD $0xad78ebc5ac620000 // .quad -5946744073709551616 - QUAD $0xd8d726b7177a8000 // .quad -2821744073709551616 - QUAD $0x878678326eac9000 // .quad -8681119073709551616 - QUAD $0xa968163f0a57b400 // .quad -6239712823709551616 - QUAD $0xd3c21bcecceda100 // .quad -3187955011209551616 - QUAD $0x84595161401484a0 // .quad -8910000909647051616 - QUAD $0xa56fa5b99019a5c8 // .quad -6525815118631426616 - QUAD $0xcecb8f27f4200f3a // .quad -3545582879861895366 - QUAD $0x813f3978f8940985 // .quad -9133518327554766459 - QUAD $0xa18f07d736b90be6 // .quad -6805211891016070170 - QUAD $0xc9f2c9cd04674edf // .quad -3894828845342699809 - QUAD $0xfc6f7c4045812297 // .quad -256850038250986857 - QUAD $0x9dc5ada82b70b59e // .quad -7078060301547948642 - QUAD $0xc5371912364ce306 // .quad -4235889358507547898 - QUAD $0xf684df56c3e01bc7 // .quad -683175679707046969 - QUAD $0x9a130b963a6c115d // .quad -7344513827457986211 - QUAD $0xc097ce7bc90715b4 // .quad -4568956265895094860 - QUAD $0xf0bdc21abb48db21 // .quad -1099509313941480671 - QUAD $0x96769950b50d88f5 // .quad -7604722348854507275 - QUAD $0xbc143fa4e250eb32 // .quad -4894216917640746190 - QUAD $0xeb194f8e1ae525fe // .quad -1506085128623544834 - QUAD $0x92efd1b8d0cf37bf // .quad -7858832233030797377 - QUAD $0xb7abc627050305ae // .quad -5211854272861108818 - QUAD $0xe596b7b0c643c71a // .quad -1903131822648998118 - QUAD $0x8f7e32ce7bea5c70 // .quad -8106986416796705680 - QUAD $0xb35dbf821ae4f38c // .quad -5522047002568494196 - -TEXT ·__f32toa(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -48(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_f32toa: - MOVQ out+0(FP), DI - MOVSD val+8(FP), X0 - CALL ·__native_entry__+31760(SB) // _f32toa - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__f64toa(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -80(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_f64toa: - MOVQ out+0(FP), DI - MOVSD val+8(FP), X0 - CALL ·__native_entry__+160(SB) // _f64toa - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__get_by_path(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -240(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_get_by_path: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ path+16(FP), DX - MOVQ m+24(FP), CX - CALL ·__native_entry__+26384(SB) // _get_by_path - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__html_escape(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -64(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_html_escape: - MOVQ sp+0(FP), DI - MOVQ nb+8(FP), SI - MOVQ dp+16(FP), DX - MOVQ dn+24(FP), CX - CALL ·__native_entry__+9072(SB) // _html_escape - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__i64toa(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -16(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_i64toa: - MOVQ out+0(FP), DI - MOVQ val+8(FP), SI - CALL ·__native_entry__+3424(SB) // _i64toa - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__lspace(SB), NOSPLIT | NOFRAME, $0 - 32 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -8(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_lspace: - MOVQ sp+0(FP), DI - MOVQ nb+8(FP), SI - MOVQ off+16(FP), DX - CALL ·__native_entry__+16(SB) // _lspace - MOVQ AX, ret+24(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__quote(SB), NOSPLIT | NOFRAME, $0 - 48 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -64(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_quote: - MOVQ sp+0(FP), DI - MOVQ nb+8(FP), SI - MOVQ dp+16(FP), DX - MOVQ dn+24(FP), CX - MOVQ flags+32(FP), R8 - CALL ·__native_entry__+4864(SB) // _quote - MOVQ AX, ret+40(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_array(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_array: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - MOVQ flags+24(FP), CX - CALL ·__native_entry__+18112(SB) // _skip_array - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_number(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -72(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_number: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - CALL ·__native_entry__+22128(SB) // _skip_number - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_object(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_object: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - MOVQ flags+24(FP), CX - CALL ·__native_entry__+20512(SB) // _skip_object - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_one(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_one: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - MOVQ flags+24(FP), CX - CALL ·__native_entry__+22288(SB) // _skip_one - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__skip_one_fast(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -136(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_skip_one_fast: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - CALL ·__native_entry__+22512(SB) // _skip_one_fast - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__u64toa(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -8(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_u64toa: - MOVQ out+0(FP), DI - MOVQ val+8(FP), SI - CALL ·__native_entry__+3552(SB) // _u64toa - MOVQ AX, ret+16(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__unquote(SB), NOSPLIT | NOFRAME, $0 - 48 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -88(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_unquote: - MOVQ sp+0(FP), DI - MOVQ nb+8(FP), SI - MOVQ dp+16(FP), DX - MOVQ ep+24(FP), CX - MOVQ flags+32(FP), R8 - CALL ·__native_entry__+6704(SB) // _unquote - MOVQ AX, ret+40(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__validate_one(SB), NOSPLIT | NOFRAME, $0 - 32 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_validate_one: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - CALL ·__native_entry__+22336(SB) // _validate_one - MOVQ AX, ret+24(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__validate_utf8(SB), NOSPLIT | NOFRAME, $0 - 32 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -48(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_validate_utf8: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ m+16(FP), DX - CALL ·__native_entry__+30528(SB) // _validate_utf8 - MOVQ AX, ret+24(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__validate_utf8_fast(SB), NOSPLIT | NOFRAME, $0 - 16 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -24(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_validate_utf8_fast: - MOVQ s+0(FP), DI - CALL ·__native_entry__+31200(SB) // _validate_utf8_fast - MOVQ AX, ret+8(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__value(SB), NOSPLIT | NOFRAME, $0 - 48 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -328(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_value: - MOVQ s+0(FP), DI - MOVQ n+8(FP), SI - MOVQ p+16(FP), DX - MOVQ v+24(FP), CX - MOVQ flags+32(FP), R8 - CALL ·__native_entry__+12272(SB) // _value - MOVQ AX, ret+40(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__vnumber(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -240(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_vnumber: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ v+16(FP), DX - LEAQ ·__native_entry__+15728(SB), AX // _vnumber - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__vsigned(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -16(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_vsigned: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ v+16(FP), DX - LEAQ ·__native_entry__+17376(SB), AX // _vsigned - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__vstring(SB), NOSPLIT | NOFRAME, $0 - 32 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -136(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_vstring: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ v+16(FP), DX - MOVQ flags+24(FP), CX - LEAQ ·__native_entry__+14112(SB), AX // _vstring - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__vunsigned(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -16(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_vunsigned: - MOVQ s+0(FP), DI - MOVQ p+8(FP), SI - MOVQ v+16(FP), DX - LEAQ ·__native_entry__+17760(SB), AX // _vunsigned - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/native_export.go b/vendor/github.com/bytedance/sonic/internal/native/sse/native_export.go new file mode 100644 index 0000000..8cd1610 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/native_export.go @@ -0,0 +1,47 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + + +func Use() { + loader.WrapGoC(_text_f64toa, _cfunc_f64toa, []loader.GoC{{"_f64toa", &S_f64toa, &F_f64toa}}, "sse", "sse/f64toa.c") + loader.WrapGoC(_text_f32toa, _cfunc_f32toa, []loader.GoC{{"_f32toa", &S_f32toa, &F_f32toa}}, "sse", "sse/f32toa.c") + loader.WrapGoC(_text_get_by_path, _cfunc_get_by_path, []loader.GoC{{"_get_by_path", &S_get_by_path, &F_get_by_path}}, "sse", "sse/get_by_path.c") + loader.WrapGoC(_text_html_escape, _cfunc_html_escape, []loader.GoC{{"_html_escape", &S_html_escape, &F_html_escape}}, "sse", "sse/html_escape.c") + loader.WrapGoC(_text_i64toa, _cfunc_i64toa, []loader.GoC{{"_i64toa", &S_i64toa, &F_i64toa}}, "sse", "sse/i64toa.c") + loader.WrapGoC(_text_lspace, _cfunc_lspace, []loader.GoC{{"_lspace", &S_lspace, &F_lspace}}, "sse", "sse/lspace.c") + loader.WrapGoC(_text_quote, _cfunc_quote, []loader.GoC{{"_quote", &S_quote, &F_quote}}, "sse", "sse/quote.c") + loader.WrapGoC(_text_skip_array, _cfunc_skip_array, []loader.GoC{{"_skip_array", &S_skip_array, &F_skip_array}}, "sse", "sse/skip_array.c") + loader.WrapGoC(_text_skip_number, _cfunc_skip_number, []loader.GoC{{"_skip_number", &S_skip_number, &F_skip_number}}, "sse", "sse/skip_number.c") + loader.WrapGoC(_text_skip_one, _cfunc_skip_one, []loader.GoC{{"_skip_one", &S_skip_one, &F_skip_one}}, "sse", "sse/skip_one.c") + loader.WrapGoC(_text_skip_object, _cfunc_skip_object, []loader.GoC{{"_skip_object", &S_skip_object, &F_skip_object}}, "sse", "sse/skip_object.c") + loader.WrapGoC(_text_skip_one_fast, _cfunc_skip_one_fast, []loader.GoC{{"_skip_one_fast", &S_skip_one_fast, &F_skip_one_fast}}, "sse", "sse/skip_one_fast.c") + loader.WrapGoC(_text_u64toa, _cfunc_u64toa, []loader.GoC{{"_u64toa", &S_u64toa, &F_u64toa}}, "sse", "sse/u64toa.c") + loader.WrapGoC(_text_unquote, _cfunc_unquote, []loader.GoC{{"_unquote", &S_unquote, &F_unquote}}, "sse", "sse/unquote.c") + loader.WrapGoC(_text_validate_one, _cfunc_validate_one, []loader.GoC{{"_validate_one", &S_validate_one, &F_validate_one}}, "sse", "sse/validate_one.c") + loader.WrapGoC(_text_validate_utf8, _cfunc_validate_utf8, []loader.GoC{{"_validate_utf8", &S_validate_utf8, &F_validate_utf8}}, "sse", "sse/validate_utf8.c") + loader.WrapGoC(_text_validate_utf8_fast, _cfunc_validate_utf8_fast, []loader.GoC{{"_validate_utf8_fast", &S_validate_utf8_fast, &F_validate_utf8_fast}}, "sse", "sse/validate_utf8_fast.c") + loader.WrapGoC(_text_vnumber, _cfunc_vnumber, []loader.GoC{{"_vnumber", &S_vnumber, &F_vnumber}}, "sse", "sse/vnumber.c") + loader.WrapGoC(_text_vsigned, _cfunc_vsigned, []loader.GoC{{"_vsigned", &S_vsigned, &F_vsigned}}, "sse", "sse/vsigned.c") + loader.WrapGoC(_text_vunsigned, _cfunc_vunsigned, []loader.GoC{{"_vunsigned", &S_vunsigned, &F_vunsigned}}, "sse", "sse/vunsigned.c") + loader.WrapGoC(_text_vstring, _cfunc_vstring, []loader.GoC{{"_vstring", &S_vstring, &F_vstring}}, "sse", "sse/vstring.c") + loader.WrapGoC(_text_value, _cfunc_value, []loader.GoC{{"_value", &S_value, &F_value}}, "sse", "sse/value.c") +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/native_subr_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/native_subr_amd64.go deleted file mode 100644 index 2682825..0000000 --- a/vendor/github.com/bytedance/sonic/internal/native/sse/native_subr_amd64.go +++ /dev/null @@ -1,109 +0,0 @@ -// +build !noasm !appengine -// Code generated by asm2asm, DO NOT EDIT. - -package sse - -//go:nosplit -//go:noescape -//goland:noinspection ALL -func __native_entry__() uintptr - -var ( - _subr__f32toa = __native_entry__() + 31760 - _subr__f64toa = __native_entry__() + 160 - _subr__get_by_path = __native_entry__() + 26384 - _subr__html_escape = __native_entry__() + 9072 - _subr__i64toa = __native_entry__() + 3424 - _subr__lspace = __native_entry__() + 16 - _subr__quote = __native_entry__() + 4864 - _subr__skip_array = __native_entry__() + 18112 - _subr__skip_number = __native_entry__() + 22128 - _subr__skip_object = __native_entry__() + 20512 - _subr__skip_one = __native_entry__() + 22288 - _subr__skip_one_fast = __native_entry__() + 22512 - _subr__u64toa = __native_entry__() + 3552 - _subr__unquote = __native_entry__() + 6704 - _subr__validate_one = __native_entry__() + 22336 - _subr__validate_utf8 = __native_entry__() + 30528 - _subr__validate_utf8_fast = __native_entry__() + 31200 - _subr__value = __native_entry__() + 12272 - _subr__vnumber = __native_entry__() + 15728 - _subr__vsigned = __native_entry__() + 17376 - _subr__vstring = __native_entry__() + 14112 - _subr__vunsigned = __native_entry__() + 17760 -) - -const ( - _stack__f32toa = 48 - _stack__f64toa = 80 - _stack__get_by_path = 240 - _stack__html_escape = 64 - _stack__i64toa = 16 - _stack__lspace = 8 - _stack__quote = 64 - _stack__skip_array = 128 - _stack__skip_number = 72 - _stack__skip_object = 128 - _stack__skip_one = 128 - _stack__skip_one_fast = 136 - _stack__u64toa = 8 - _stack__unquote = 88 - _stack__validate_one = 128 - _stack__validate_utf8 = 48 - _stack__validate_utf8_fast = 24 - _stack__value = 328 - _stack__vnumber = 240 - _stack__vsigned = 16 - _stack__vstring = 136 - _stack__vunsigned = 16 -) - -var ( - _ = _subr__f32toa - _ = _subr__f64toa - _ = _subr__get_by_path - _ = _subr__html_escape - _ = _subr__i64toa - _ = _subr__lspace - _ = _subr__quote - _ = _subr__skip_array - _ = _subr__skip_number - _ = _subr__skip_object - _ = _subr__skip_one - _ = _subr__skip_one_fast - _ = _subr__u64toa - _ = _subr__unquote - _ = _subr__validate_one - _ = _subr__validate_utf8 - _ = _subr__validate_utf8_fast - _ = _subr__value - _ = _subr__vnumber - _ = _subr__vsigned - _ = _subr__vstring - _ = _subr__vunsigned -) - -const ( - _ = _stack__f32toa - _ = _stack__f64toa - _ = _stack__get_by_path - _ = _stack__html_escape - _ = _stack__i64toa - _ = _stack__lspace - _ = _stack__quote - _ = _stack__skip_array - _ = _stack__skip_number - _ = _stack__skip_object - _ = _stack__skip_one - _ = _stack__skip_one_fast - _ = _stack__u64toa - _ = _stack__unquote - _ = _stack__validate_one - _ = _stack__validate_utf8 - _ = _stack__validate_utf8_fast - _ = _stack__value - _ = _stack__vnumber - _ = _stack__vsigned - _ = _stack__vstring - _ = _stack__vunsigned -) diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/quote.go b/vendor/github.com/bytedance/sonic/internal/native/sse/quote.go new file mode 100644 index 0000000..debc7a2 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/quote.go @@ -0,0 +1,35 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) +var F_quote func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer, flags uint64) (ret int) + +var S_quote uintptr + +//go:nosplit +func quote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) (ret int) { + return F_quote(rt.NoEscape(sp), nb, rt.NoEscape(dp), rt.NoEscape(unsafe.Pointer(dn)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/quote_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/quote_subr.go new file mode 100644 index 0000000..4f83751 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/quote_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__quote = 48 +) + +const ( + _stack__quote = 64 +) + +const ( + _size__quote = 1728 +) + +var ( + _pcsp__quote = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {1681, 64}, + {1685, 48}, + {1686, 40}, + {1688, 32}, + {1690, 24}, + {1692, 16}, + {1694, 8}, + {1695, 0}, + {1722, 64}, + } +) + +var _cfunc_quote = []loader.CFunc{ + {"_quote_entry", 0, _entry__quote, 0, nil}, + {"_quote", _entry__quote, _size__quote, _stack__quote, _pcsp__quote}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/quote_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/quote_text_amd64.go new file mode 100644 index 0000000..f3a84ae --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/quote_text_amd64.go @@ -0,0 +1,1093 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_quote = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000010 LCPI0_1 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000010 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000020 LCPI0_2 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000020 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000030 .p2align 4, 0x90 + //0x00000030 _quote + 0x55, //0x00000030 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000031 movq %rsp, %rbp + 0x41, 0x57, //0x00000034 pushq %r15 + 0x41, 0x56, //0x00000036 pushq %r14 + 0x41, 0x55, //0x00000038 pushq %r13 + 0x41, 0x54, //0x0000003a pushq %r12 + 0x53, //0x0000003c pushq %rbx + 0x48, 0x83, 0xec, 0x10, //0x0000003d subq $16, %rsp + 0x49, 0x89, 0xcb, //0x00000041 movq %rcx, %r11 + 0x49, 0x89, 0xd4, //0x00000044 movq %rdx, %r12 + 0x48, 0x89, 0xf0, //0x00000047 movq %rsi, %rax + 0x4c, 0x8b, 0x31, //0x0000004a movq (%rcx), %r14 + 0x41, 0xf6, 0xc0, 0x01, //0x0000004d testb $1, %r8b + 0x48, 0x8d, 0x0d, 0x98, 0x06, 0x00, 0x00, //0x00000051 leaq $1688(%rip), %rcx /* __SingleQuoteTab+0(%rip) */ + 0x4c, 0x8d, 0x05, 0x91, 0x16, 0x00, 0x00, //0x00000058 leaq $5777(%rip), %r8 /* __DoubleQuoteTab+0(%rip) */ + 0x4c, 0x0f, 0x44, 0xc1, //0x0000005f cmoveq %rcx, %r8 + 0x48, 0x8d, 0x0c, 0xf5, 0x00, 0x00, 0x00, 0x00, //0x00000063 leaq (,%rsi,8), %rcx + 0x49, 0x39, 0xce, //0x0000006b cmpq %rcx, %r14 + 0x0f, 0x8d, 0xee, 0x03, 0x00, 0x00, //0x0000006e jge LBB0_51 + 0x4d, 0x89, 0xe7, //0x00000074 movq %r12, %r15 + 0x49, 0x89, 0xfa, //0x00000077 movq %rdi, %r10 + 0x48, 0x85, 0xc0, //0x0000007a testq %rax, %rax + 0x0f, 0x84, 0xd1, 0x03, 0x00, 0x00, //0x0000007d je LBB0_74 + 0xf3, 0x0f, 0x6f, 0x05, 0x75, 0xff, 0xff, 0xff, //0x00000083 movdqu $-139(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x7d, 0xff, 0xff, 0xff, //0x0000008b movdqu $-131(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x15, 0x85, 0xff, 0xff, 0xff, //0x00000093 movdqu $-123(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0x66, 0x0f, 0x76, 0xdb, //0x0000009b pcmpeqd %xmm3, %xmm3 + 0x49, 0x89, 0xfa, //0x0000009f movq %rdi, %r10 + 0x4d, 0x89, 0xe7, //0x000000a2 movq %r12, %r15 + 0x4c, 0x89, 0x65, 0xc8, //0x000000a5 movq %r12, $-56(%rbp) + //0x000000a9 LBB0_3 + 0x48, 0x83, 0xf8, 0x0f, //0x000000a9 cmpq $15, %rax + 0x0f, 0x9f, 0xc3, //0x000000ad setg %bl + 0x4d, 0x89, 0xf1, //0x000000b0 movq %r14, %r9 + 0x4d, 0x89, 0xfd, //0x000000b3 movq %r15, %r13 + 0x48, 0x89, 0xc6, //0x000000b6 movq %rax, %rsi + 0x4d, 0x89, 0xd4, //0x000000b9 movq %r10, %r12 + 0x49, 0x83, 0xfe, 0x10, //0x000000bc cmpq $16, %r14 + 0x0f, 0x8c, 0x8a, 0x00, 0x00, 0x00, //0x000000c0 jl LBB0_9 + 0x48, 0x83, 0xf8, 0x10, //0x000000c6 cmpq $16, %rax + 0x0f, 0x8c, 0x80, 0x00, 0x00, 0x00, //0x000000ca jl LBB0_9 + 0x4d, 0x89, 0xd4, //0x000000d0 movq %r10, %r12 + 0x48, 0x89, 0xc6, //0x000000d3 movq %rax, %rsi + 0x4d, 0x89, 0xfd, //0x000000d6 movq %r15, %r13 + 0x4c, 0x89, 0xf1, //0x000000d9 movq %r14, %rcx + 0x90, 0x90, 0x90, 0x90, //0x000000dc .p2align 4, 0x90 + //0x000000e0 LBB0_6 + 0xf3, 0x41, 0x0f, 0x6f, 0x24, 0x24, //0x000000e0 movdqu (%r12), %xmm4 + 0x66, 0x0f, 0x6f, 0xe8, //0x000000e6 movdqa %xmm0, %xmm5 + 0x66, 0x0f, 0x64, 0xec, //0x000000ea pcmpgtb %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xf4, //0x000000ee movdqa %xmm4, %xmm6 + 0x66, 0x0f, 0x74, 0xf1, //0x000000f2 pcmpeqb %xmm1, %xmm6 + 0x66, 0x0f, 0x6f, 0xfc, //0x000000f6 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xfa, //0x000000fa pcmpeqb %xmm2, %xmm7 + 0x66, 0x0f, 0xeb, 0xfe, //0x000000fe por %xmm6, %xmm7 + 0xf3, 0x41, 0x0f, 0x7f, 0x65, 0x00, //0x00000102 movdqu %xmm4, (%r13) + 0x66, 0x0f, 0x64, 0xe3, //0x00000108 pcmpgtb %xmm3, %xmm4 + 0x66, 0x0f, 0xdb, 0xe5, //0x0000010c pand %xmm5, %xmm4 + 0x66, 0x0f, 0xeb, 0xe7, //0x00000110 por %xmm7, %xmm4 + 0x66, 0x0f, 0xd7, 0xdc, //0x00000114 pmovmskb %xmm4, %ebx + 0x66, 0x85, 0xdb, //0x00000118 testw %bx, %bx + 0x0f, 0x85, 0x24, 0x01, 0x00, 0x00, //0x0000011b jne LBB0_19 + 0x49, 0x83, 0xc4, 0x10, //0x00000121 addq $16, %r12 + 0x49, 0x83, 0xc5, 0x10, //0x00000125 addq $16, %r13 + 0x4c, 0x8d, 0x49, 0xf0, //0x00000129 leaq $-16(%rcx), %r9 + 0x48, 0x83, 0xfe, 0x1f, //0x0000012d cmpq $31, %rsi + 0x0f, 0x9f, 0xc3, //0x00000131 setg %bl + 0x48, 0x83, 0xfe, 0x20, //0x00000134 cmpq $32, %rsi + 0x48, 0x8d, 0x76, 0xf0, //0x00000138 leaq $-16(%rsi), %rsi + 0x0f, 0x8c, 0x0e, 0x00, 0x00, 0x00, //0x0000013c jl LBB0_9 + 0x48, 0x83, 0xf9, 0x1f, //0x00000142 cmpq $31, %rcx + 0x4c, 0x89, 0xc9, //0x00000146 movq %r9, %rcx + 0x0f, 0x8f, 0x91, 0xff, 0xff, 0xff, //0x00000149 jg LBB0_6 + 0x90, //0x0000014f .p2align 4, 0x90 + //0x00000150 LBB0_9 + 0x84, 0xdb, //0x00000150 testb %bl, %bl + 0x0f, 0x84, 0x78, 0x00, 0x00, 0x00, //0x00000152 je LBB0_13 + 0x4c, 0x89, 0x5d, 0xd0, //0x00000158 movq %r11, $-48(%rbp) + 0xf3, 0x41, 0x0f, 0x6f, 0x24, 0x24, //0x0000015c movdqu (%r12), %xmm4 + 0x66, 0x0f, 0x6f, 0xe8, //0x00000162 movdqa %xmm0, %xmm5 + 0x66, 0x0f, 0x64, 0xec, //0x00000166 pcmpgtb %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xf4, //0x0000016a movdqa %xmm4, %xmm6 + 0x66, 0x0f, 0x74, 0xf1, //0x0000016e pcmpeqb %xmm1, %xmm6 + 0x66, 0x0f, 0x6f, 0xfc, //0x00000172 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xfa, //0x00000176 pcmpeqb %xmm2, %xmm7 + 0x66, 0x0f, 0xeb, 0xfe, //0x0000017a por %xmm6, %xmm7 + 0x66, 0x48, 0x0f, 0x7e, 0xe1, //0x0000017e movq %xmm4, %rcx + 0x66, 0x0f, 0x64, 0xe3, //0x00000183 pcmpgtb %xmm3, %xmm4 + 0x66, 0x0f, 0xdb, 0xe5, //0x00000187 pand %xmm5, %xmm4 + 0x66, 0x0f, 0xeb, 0xe7, //0x0000018b por %xmm7, %xmm4 + 0x66, 0x0f, 0xd7, 0xf4, //0x0000018f pmovmskb %xmm4, %esi + 0x81, 0xce, 0x00, 0x00, 0x01, 0x00, //0x00000193 orl $65536, %esi + 0x44, 0x0f, 0xbc, 0xde, //0x00000199 bsfl %esi, %r11d + 0x4d, 0x39, 0xd9, //0x0000019d cmpq %r11, %r9 + 0x0f, 0x8d, 0xb1, 0x00, 0x00, 0x00, //0x000001a0 jge LBB0_20 + 0x49, 0x83, 0xf9, 0x08, //0x000001a6 cmpq $8, %r9 + 0x0f, 0x82, 0xdc, 0x00, 0x00, 0x00, //0x000001aa jb LBB0_23 + 0x49, 0x89, 0x4d, 0x00, //0x000001b0 movq %rcx, (%r13) + 0x4d, 0x8d, 0x5c, 0x24, 0x08, //0x000001b4 leaq $8(%r12), %r11 + 0x49, 0x83, 0xc5, 0x08, //0x000001b9 addq $8, %r13 + 0x49, 0x8d, 0x71, 0xf8, //0x000001bd leaq $-8(%r9), %rsi + 0x48, 0x83, 0xfe, 0x04, //0x000001c1 cmpq $4, %rsi + 0x0f, 0x8d, 0xd1, 0x00, 0x00, 0x00, //0x000001c5 jge LBB0_24 + 0xe9, 0xdf, 0x00, 0x00, 0x00, //0x000001cb jmp LBB0_25 + //0x000001d0 LBB0_13 + 0x4d, 0x85, 0xc9, //0x000001d0 testq %r9, %r9 + 0x0f, 0x8e, 0x5b, 0x00, 0x00, 0x00, //0x000001d3 jle LBB0_18 + 0x48, 0x85, 0xf6, //0x000001d9 testq %rsi, %rsi + 0x0f, 0x8e, 0x52, 0x00, 0x00, 0x00, //0x000001dc jle LBB0_18 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001e2 .p2align 4, 0x90 + //0x000001f0 LBB0_15 + 0x41, 0x0f, 0xb6, 0x1c, 0x24, //0x000001f0 movzbl (%r12), %ebx + 0x48, 0x89, 0xd9, //0x000001f5 movq %rbx, %rcx + 0x48, 0xc1, 0xe1, 0x04, //0x000001f8 shlq $4, %rcx + 0x48, 0x8d, 0x15, 0xed, 0x04, 0x00, 0x00, //0x000001fc leaq $1261(%rip), %rdx /* __SingleQuoteTab+0(%rip) */ + 0x48, 0x83, 0x3c, 0x11, 0x00, //0x00000203 cmpq $0, (%rcx,%rdx) + 0x0f, 0x85, 0x73, 0x00, 0x00, 0x00, //0x00000208 jne LBB0_22 + 0x49, 0xff, 0xc4, //0x0000020e incq %r12 + 0x41, 0x88, 0x5d, 0x00, //0x00000211 movb %bl, (%r13) + 0x48, 0x83, 0xfe, 0x02, //0x00000215 cmpq $2, %rsi + 0x48, 0x8d, 0x76, 0xff, //0x00000219 leaq $-1(%rsi), %rsi + 0x0f, 0x8c, 0x11, 0x00, 0x00, 0x00, //0x0000021d jl LBB0_18 + 0x49, 0xff, 0xc5, //0x00000223 incq %r13 + 0x49, 0x83, 0xf9, 0x01, //0x00000226 cmpq $1, %r9 + 0x4d, 0x8d, 0x49, 0xff, //0x0000022a leaq $-1(%r9), %r9 + 0x0f, 0x8f, 0xbc, 0xff, 0xff, 0xff, //0x0000022e jg LBB0_15 + //0x00000234 LBB0_18 + 0x4d, 0x29, 0xd4, //0x00000234 subq %r10, %r12 + 0x48, 0xf7, 0xde, //0x00000237 negq %rsi + 0x4d, 0x19, 0xc9, //0x0000023a sbbq %r9, %r9 + 0x4d, 0x31, 0xe1, //0x0000023d xorq %r12, %r9 + 0xe9, 0x1f, 0x01, 0x00, 0x00, //0x00000240 jmp LBB0_36 + //0x00000245 LBB0_19 + 0x0f, 0xb7, 0xcb, //0x00000245 movzwl %bx, %ecx + 0x4d, 0x29, 0xd4, //0x00000248 subq %r10, %r12 + 0x44, 0x0f, 0xbc, 0xc9, //0x0000024b bsfl %ecx, %r9d + 0x4d, 0x01, 0xe1, //0x0000024f addq %r12, %r9 + 0xe9, 0x0d, 0x01, 0x00, 0x00, //0x00000252 jmp LBB0_36 + //0x00000257 LBB0_20 + 0x41, 0x83, 0xfb, 0x08, //0x00000257 cmpl $8, %r11d + 0x0f, 0x82, 0x99, 0x00, 0x00, 0x00, //0x0000025b jb LBB0_29 + 0x49, 0x89, 0x4d, 0x00, //0x00000261 movq %rcx, (%r13) + 0x49, 0x8d, 0x5c, 0x24, 0x08, //0x00000265 leaq $8(%r12), %rbx + 0x49, 0x83, 0xc5, 0x08, //0x0000026a addq $8, %r13 + 0x49, 0x8d, 0x73, 0xf8, //0x0000026e leaq $-8(%r11), %rsi + 0x48, 0x83, 0xfe, 0x04, //0x00000272 cmpq $4, %rsi + 0x0f, 0x8d, 0x8e, 0x00, 0x00, 0x00, //0x00000276 jge LBB0_30 + 0xe9, 0x9b, 0x00, 0x00, 0x00, //0x0000027c jmp LBB0_31 + //0x00000281 LBB0_22 + 0x4d, 0x29, 0xd4, //0x00000281 subq %r10, %r12 + 0x4d, 0x89, 0xe1, //0x00000284 movq %r12, %r9 + 0xe9, 0xd8, 0x00, 0x00, 0x00, //0x00000287 jmp LBB0_36 + //0x0000028c LBB0_23 + 0x4d, 0x89, 0xe3, //0x0000028c movq %r12, %r11 + 0x4c, 0x89, 0xce, //0x0000028f movq %r9, %rsi + 0x48, 0x83, 0xfe, 0x04, //0x00000292 cmpq $4, %rsi + 0x0f, 0x8c, 0x13, 0x00, 0x00, 0x00, //0x00000296 jl LBB0_25 + //0x0000029c LBB0_24 + 0x41, 0x8b, 0x0b, //0x0000029c movl (%r11), %ecx + 0x41, 0x89, 0x4d, 0x00, //0x0000029f movl %ecx, (%r13) + 0x49, 0x83, 0xc3, 0x04, //0x000002a3 addq $4, %r11 + 0x49, 0x83, 0xc5, 0x04, //0x000002a7 addq $4, %r13 + 0x48, 0x83, 0xc6, 0xfc, //0x000002ab addq $-4, %rsi + //0x000002af LBB0_25 + 0x48, 0x83, 0xfe, 0x02, //0x000002af cmpq $2, %rsi + 0x0f, 0x82, 0x23, 0x00, 0x00, 0x00, //0x000002b3 jb LBB0_26 + 0x41, 0x0f, 0xb7, 0x0b, //0x000002b9 movzwl (%r11), %ecx + 0x66, 0x41, 0x89, 0x4d, 0x00, //0x000002bd movw %cx, (%r13) + 0x49, 0x83, 0xc3, 0x02, //0x000002c2 addq $2, %r11 + 0x49, 0x83, 0xc5, 0x02, //0x000002c6 addq $2, %r13 + 0x48, 0x83, 0xc6, 0xfe, //0x000002ca addq $-2, %rsi + 0x48, 0x85, 0xf6, //0x000002ce testq %rsi, %rsi + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000002d1 jne LBB0_27 + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x000002d7 jmp LBB0_28 + //0x000002dc LBB0_26 + 0x48, 0x85, 0xf6, //0x000002dc testq %rsi, %rsi + 0x0f, 0x84, 0x07, 0x00, 0x00, 0x00, //0x000002df je LBB0_28 + //0x000002e5 LBB0_27 + 0x41, 0x8a, 0x0b, //0x000002e5 movb (%r11), %cl + 0x41, 0x88, 0x4d, 0x00, //0x000002e8 movb %cl, (%r13) + //0x000002ec LBB0_28 + 0x4d, 0x29, 0xd1, //0x000002ec subq %r10, %r9 + 0x4d, 0x01, 0xe1, //0x000002ef addq %r12, %r9 + 0x49, 0xf7, 0xd1, //0x000002f2 notq %r9 + 0xe9, 0x66, 0x00, 0x00, 0x00, //0x000002f5 jmp LBB0_35 + //0x000002fa LBB0_29 + 0x4c, 0x89, 0xe3, //0x000002fa movq %r12, %rbx + 0x4c, 0x89, 0xde, //0x000002fd movq %r11, %rsi + 0x48, 0x83, 0xfe, 0x04, //0x00000300 cmpq $4, %rsi + 0x0f, 0x8c, 0x12, 0x00, 0x00, 0x00, //0x00000304 jl LBB0_31 + //0x0000030a LBB0_30 + 0x8b, 0x0b, //0x0000030a movl (%rbx), %ecx + 0x41, 0x89, 0x4d, 0x00, //0x0000030c movl %ecx, (%r13) + 0x48, 0x83, 0xc3, 0x04, //0x00000310 addq $4, %rbx + 0x49, 0x83, 0xc5, 0x04, //0x00000314 addq $4, %r13 + 0x48, 0x83, 0xc6, 0xfc, //0x00000318 addq $-4, %rsi + //0x0000031c LBB0_31 + 0x48, 0x83, 0xfe, 0x02, //0x0000031c cmpq $2, %rsi + 0x0f, 0x82, 0x22, 0x00, 0x00, 0x00, //0x00000320 jb LBB0_32 + 0x0f, 0xb7, 0x0b, //0x00000326 movzwl (%rbx), %ecx + 0x66, 0x41, 0x89, 0x4d, 0x00, //0x00000329 movw %cx, (%r13) + 0x48, 0x83, 0xc3, 0x02, //0x0000032e addq $2, %rbx + 0x49, 0x83, 0xc5, 0x02, //0x00000332 addq $2, %r13 + 0x48, 0x83, 0xc6, 0xfe, //0x00000336 addq $-2, %rsi + 0x48, 0x85, 0xf6, //0x0000033a testq %rsi, %rsi + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000033d jne LBB0_33 + 0xe9, 0x0f, 0x00, 0x00, 0x00, //0x00000343 jmp LBB0_34 + //0x00000348 LBB0_32 + 0x48, 0x85, 0xf6, //0x00000348 testq %rsi, %rsi + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x0000034b je LBB0_34 + //0x00000351 LBB0_33 + 0x8a, 0x0b, //0x00000351 movb (%rbx), %cl + 0x41, 0x88, 0x4d, 0x00, //0x00000353 movb %cl, (%r13) + //0x00000357 LBB0_34 + 0x4d, 0x29, 0xd4, //0x00000357 subq %r10, %r12 + 0x4d, 0x01, 0xdc, //0x0000035a addq %r11, %r12 + 0x4d, 0x89, 0xe1, //0x0000035d movq %r12, %r9 + //0x00000360 LBB0_35 + 0x4c, 0x8b, 0x5d, 0xd0, //0x00000360 movq $-48(%rbp), %r11 + //0x00000364 LBB0_36 + 0x4d, 0x85, 0xc9, //0x00000364 testq %r9, %r9 + 0x4c, 0x8b, 0x65, 0xc8, //0x00000367 movq $-56(%rbp), %r12 + 0x49, 0xbd, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, //0x0000036b movabsq $12884901889, %r13 + 0x0f, 0x88, 0x55, 0x03, 0x00, 0x00, //0x00000375 js LBB0_78 + 0x4d, 0x01, 0xca, //0x0000037b addq %r9, %r10 + 0x4d, 0x01, 0xcf, //0x0000037e addq %r9, %r15 + 0x4c, 0x39, 0xc8, //0x00000381 cmpq %r9, %rax + 0x0f, 0x84, 0xca, 0x00, 0x00, 0x00, //0x00000384 je LBB0_74 + 0x4d, 0x29, 0xce, //0x0000038a subq %r9, %r14 + 0x49, 0x29, 0xc1, //0x0000038d subq %rax, %r9 + 0xe9, 0x1a, 0x00, 0x00, 0x00, //0x00000390 jmp LBB0_40 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000395 .p2align 4, 0x90 + //0x000003a0 LBB0_39 + 0x49, 0xff, 0xc2, //0x000003a0 incq %r10 + 0x49, 0x01, 0xc7, //0x000003a3 addq %rax, %r15 + 0x49, 0xff, 0xc1, //0x000003a6 incq %r9 + 0x0f, 0x84, 0xa5, 0x00, 0x00, 0x00, //0x000003a9 je LBB0_74 + //0x000003af LBB0_40 + 0x41, 0x0f, 0xb6, 0x32, //0x000003af movzbl (%r10), %esi + 0x48, 0xc1, 0xe6, 0x04, //0x000003b3 shlq $4, %rsi + 0x49, 0x8b, 0x1c, 0x30, //0x000003b7 movq (%r8,%rsi), %rbx + 0x85, 0xdb, //0x000003bb testl %ebx, %ebx + 0x0f, 0x84, 0x82, 0x00, 0x00, 0x00, //0x000003bd je LBB0_48 + 0x48, 0x63, 0xc3, //0x000003c3 movslq %ebx, %rax + 0x49, 0x29, 0xc6, //0x000003c6 subq %rax, %r14 + 0x0f, 0x8c, 0xe3, 0x02, 0x00, 0x00, //0x000003c9 jl LBB0_75 + 0x48, 0xc1, 0xe3, 0x20, //0x000003cf shlq $32, %rbx + 0x49, 0x8d, 0x4c, 0x30, 0x08, //0x000003d3 leaq $8(%r8,%rsi), %rcx + 0x4c, 0x39, 0xeb, //0x000003d8 cmpq %r13, %rbx + 0x0f, 0x8c, 0x2f, 0x00, 0x00, 0x00, //0x000003db jl LBB0_44 + 0x8b, 0x09, //0x000003e1 movl (%rcx), %ecx + 0x41, 0x89, 0x0f, //0x000003e3 movl %ecx, (%r15) + 0x49, 0x8d, 0x4c, 0x30, 0x0c, //0x000003e6 leaq $12(%r8,%rsi), %rcx + 0x49, 0x8d, 0x77, 0x04, //0x000003eb leaq $4(%r15), %rsi + 0x48, 0x8d, 0x58, 0xfc, //0x000003ef leaq $-4(%rax), %rbx + 0x48, 0x83, 0xfb, 0x02, //0x000003f3 cmpq $2, %rbx + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000003f7 jae LBB0_45 + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x000003fd jmp LBB0_46 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000402 .p2align 4, 0x90 + //0x00000410 LBB0_44 + 0x4c, 0x89, 0xfe, //0x00000410 movq %r15, %rsi + 0x48, 0x89, 0xc3, //0x00000413 movq %rax, %rbx + 0x48, 0x83, 0xfb, 0x02, //0x00000416 cmpq $2, %rbx + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x0000041a jb LBB0_46 + //0x00000420 LBB0_45 + 0x0f, 0xb7, 0x11, //0x00000420 movzwl (%rcx), %edx + 0x66, 0x89, 0x16, //0x00000423 movw %dx, (%rsi) + 0x48, 0x83, 0xc1, 0x02, //0x00000426 addq $2, %rcx + 0x48, 0x83, 0xc6, 0x02, //0x0000042a addq $2, %rsi + 0x48, 0x83, 0xc3, 0xfe, //0x0000042e addq $-2, %rbx + //0x00000432 LBB0_46 + 0x48, 0x85, 0xdb, //0x00000432 testq %rbx, %rbx + 0x0f, 0x84, 0x65, 0xff, 0xff, 0xff, //0x00000435 je LBB0_39 + 0x0f, 0xb6, 0x09, //0x0000043b movzbl (%rcx), %ecx + 0x88, 0x0e, //0x0000043e movb %cl, (%rsi) + 0xe9, 0x5b, 0xff, 0xff, 0xff, //0x00000440 jmp LBB0_39 + //0x00000445 LBB0_48 + 0x4c, 0x89, 0xc8, //0x00000445 movq %r9, %rax + 0x48, 0xf7, 0xd8, //0x00000448 negq %rax + 0x4d, 0x85, 0xc9, //0x0000044b testq %r9, %r9 + 0x0f, 0x85, 0x55, 0xfc, 0xff, 0xff, //0x0000044e jne LBB0_3 + //0x00000454 LBB0_74 + 0x4d, 0x29, 0xe7, //0x00000454 subq %r12, %r15 + 0x4d, 0x89, 0x3b, //0x00000457 movq %r15, (%r11) + 0x49, 0x29, 0xfa, //0x0000045a subq %rdi, %r10 + 0xe9, 0x5c, 0x02, 0x00, 0x00, //0x0000045d jmp LBB0_76 + //0x00000462 LBB0_51 + 0x4c, 0x8d, 0x0d, 0x87, 0x22, 0x00, 0x00, //0x00000462 leaq $8839(%rip), %r9 /* __EscTab+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x05, 0x8f, 0xfb, 0xff, 0xff, //0x00000469 movdqu $-1137(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x97, 0xfb, 0xff, 0xff, //0x00000471 movdqu $-1129(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x15, 0x9f, 0xfb, 0xff, 0xff, //0x00000479 movdqu $-1121(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0x66, 0x0f, 0x76, 0xdb, //0x00000481 pcmpeqd %xmm3, %xmm3 + 0x4c, 0x89, 0xe3, //0x00000485 movq %r12, %rbx + 0x49, 0x89, 0xc2, //0x00000488 movq %rax, %r10 + //0x0000048b LBB0_52 + 0x49, 0x83, 0xfa, 0x10, //0x0000048b cmpq $16, %r10 + 0x0f, 0x8c, 0x6a, 0x00, 0x00, 0x00, //0x0000048f jl LBB0_57 + 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00000495 movl $16, %ecx + 0x31, 0xf6, //0x0000049a xorl %esi, %esi + 0x90, 0x90, 0x90, 0x90, //0x0000049c .p2align 4, 0x90 + //0x000004a0 LBB0_54 + 0xf3, 0x0f, 0x6f, 0x24, 0x37, //0x000004a0 movdqu (%rdi,%rsi), %xmm4 + 0x66, 0x0f, 0x6f, 0xe8, //0x000004a5 movdqa %xmm0, %xmm5 + 0x66, 0x0f, 0x64, 0xec, //0x000004a9 pcmpgtb %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xf4, //0x000004ad movdqa %xmm4, %xmm6 + 0x66, 0x0f, 0x74, 0xf1, //0x000004b1 pcmpeqb %xmm1, %xmm6 + 0x66, 0x0f, 0x6f, 0xfc, //0x000004b5 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xfa, //0x000004b9 pcmpeqb %xmm2, %xmm7 + 0x66, 0x0f, 0xeb, 0xfe, //0x000004bd por %xmm6, %xmm7 + 0xf3, 0x0f, 0x7f, 0x24, 0x33, //0x000004c1 movdqu %xmm4, (%rbx,%rsi) + 0x66, 0x0f, 0x64, 0xe3, //0x000004c6 pcmpgtb %xmm3, %xmm4 + 0x66, 0x0f, 0xdb, 0xe5, //0x000004ca pand %xmm5, %xmm4 + 0x66, 0x0f, 0xeb, 0xe7, //0x000004ce por %xmm7, %xmm4 + 0x66, 0x0f, 0xd7, 0xd4, //0x000004d2 pmovmskb %xmm4, %edx + 0x66, 0x85, 0xd2, //0x000004d6 testw %dx, %dx + 0x0f, 0x85, 0x3a, 0x01, 0x00, 0x00, //0x000004d9 jne LBB0_67 + 0x48, 0x83, 0xc6, 0x10, //0x000004df addq $16, %rsi + 0x49, 0x8d, 0x54, 0x0a, 0xf0, //0x000004e3 leaq $-16(%r10,%rcx), %rdx + 0x48, 0x83, 0xc1, 0xf0, //0x000004e8 addq $-16, %rcx + 0x48, 0x83, 0xfa, 0x1f, //0x000004ec cmpq $31, %rdx + 0x0f, 0x8f, 0xaa, 0xff, 0xff, 0xff, //0x000004f0 jg LBB0_54 + 0x48, 0x01, 0xf7, //0x000004f6 addq %rsi, %rdi + 0x49, 0x29, 0xf2, //0x000004f9 subq %rsi, %r10 + 0x48, 0x01, 0xf3, //0x000004fc addq %rsi, %rbx + //0x000004ff LBB0_57 + 0x49, 0x83, 0xfa, 0x08, //0x000004ff cmpq $8, %r10 + 0x0f, 0x8c, 0x85, 0x00, 0x00, 0x00, //0x00000503 jl LBB0_61 + 0x0f, 0xb6, 0x0f, //0x00000509 movzbl (%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x0000050c movzbl (%rcx,%r9), %ecx + 0x0f, 0xb6, 0x57, 0x01, //0x00000511 movzbl $1(%rdi), %edx + 0x42, 0x0f, 0xb6, 0x14, 0x0a, //0x00000515 movzbl (%rdx,%r9), %edx + 0x01, 0xd2, //0x0000051a addl %edx, %edx + 0x09, 0xca, //0x0000051c orl %ecx, %edx + 0x0f, 0xb6, 0x4f, 0x02, //0x0000051e movzbl $2(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x34, 0x09, //0x00000522 movzbl (%rcx,%r9), %esi + 0xc1, 0xe6, 0x02, //0x00000527 shll $2, %esi + 0x0f, 0xb6, 0x4f, 0x03, //0x0000052a movzbl $3(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x0000052e movzbl (%rcx,%r9), %ecx + 0xc1, 0xe1, 0x03, //0x00000533 shll $3, %ecx + 0x09, 0xf1, //0x00000536 orl %esi, %ecx + 0x09, 0xd1, //0x00000538 orl %edx, %ecx + 0x48, 0x8b, 0x17, //0x0000053a movq (%rdi), %rdx + 0x48, 0x89, 0x13, //0x0000053d movq %rdx, (%rbx) + 0x84, 0xc9, //0x00000540 testb %cl, %cl + 0x0f, 0x85, 0x35, 0x01, 0x00, 0x00, //0x00000542 jne LBB0_71 + 0x0f, 0xb6, 0x4f, 0x04, //0x00000548 movzbl $4(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x0000054c movzbl (%rcx,%r9), %ecx + 0x0f, 0xb6, 0x57, 0x05, //0x00000551 movzbl $5(%rdi), %edx + 0x42, 0x0f, 0xb6, 0x14, 0x0a, //0x00000555 movzbl (%rdx,%r9), %edx + 0x01, 0xd2, //0x0000055a addl %edx, %edx + 0x09, 0xca, //0x0000055c orl %ecx, %edx + 0x0f, 0xb6, 0x4f, 0x06, //0x0000055e movzbl $6(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x34, 0x09, //0x00000562 movzbl (%rcx,%r9), %esi + 0xc1, 0xe6, 0x02, //0x00000567 shll $2, %esi + 0x0f, 0xb6, 0x4f, 0x07, //0x0000056a movzbl $7(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x0000056e movzbl (%rcx,%r9), %ecx + 0xc1, 0xe1, 0x03, //0x00000573 shll $3, %ecx + 0x09, 0xf1, //0x00000576 orl %esi, %ecx + 0x09, 0xd1, //0x00000578 orl %edx, %ecx + 0x84, 0xc9, //0x0000057a testb %cl, %cl + 0x0f, 0x85, 0x0c, 0x01, 0x00, 0x00, //0x0000057c jne LBB0_72 + 0x48, 0x83, 0xc3, 0x08, //0x00000582 addq $8, %rbx + 0x48, 0x83, 0xc7, 0x08, //0x00000586 addq $8, %rdi + 0x49, 0x83, 0xc2, 0xf8, //0x0000058a addq $-8, %r10 + //0x0000058e LBB0_61 + 0x49, 0x83, 0xfa, 0x04, //0x0000058e cmpq $4, %r10 + 0x0f, 0x8c, 0x49, 0x00, 0x00, 0x00, //0x00000592 jl LBB0_64 + 0x0f, 0xb6, 0x0f, //0x00000598 movzbl (%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x0000059b movzbl (%rcx,%r9), %ecx + 0x0f, 0xb6, 0x57, 0x01, //0x000005a0 movzbl $1(%rdi), %edx + 0x42, 0x0f, 0xb6, 0x14, 0x0a, //0x000005a4 movzbl (%rdx,%r9), %edx + 0x01, 0xd2, //0x000005a9 addl %edx, %edx + 0x09, 0xca, //0x000005ab orl %ecx, %edx + 0x0f, 0xb6, 0x4f, 0x02, //0x000005ad movzbl $2(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x34, 0x09, //0x000005b1 movzbl (%rcx,%r9), %esi + 0xc1, 0xe6, 0x02, //0x000005b6 shll $2, %esi + 0x0f, 0xb6, 0x4f, 0x03, //0x000005b9 movzbl $3(%rdi), %ecx + 0x42, 0x0f, 0xb6, 0x0c, 0x09, //0x000005bd movzbl (%rcx,%r9), %ecx + 0xc1, 0xe1, 0x03, //0x000005c2 shll $3, %ecx + 0x09, 0xf1, //0x000005c5 orl %esi, %ecx + 0x09, 0xd1, //0x000005c7 orl %edx, %ecx + 0x8b, 0x17, //0x000005c9 movl (%rdi), %edx + 0x89, 0x13, //0x000005cb movl %edx, (%rbx) + 0x84, 0xc9, //0x000005cd testb %cl, %cl + 0x0f, 0x85, 0xa8, 0x00, 0x00, 0x00, //0x000005cf jne LBB0_71 + 0x48, 0x83, 0xc3, 0x04, //0x000005d5 addq $4, %rbx + 0x48, 0x83, 0xc7, 0x04, //0x000005d9 addq $4, %rdi + 0x49, 0x83, 0xc2, 0xfc, //0x000005dd addq $-4, %r10 + //0x000005e1 LBB0_64 + 0x4d, 0x85, 0xd2, //0x000005e1 testq %r10, %r10 + 0x0f, 0x8e, 0xbd, 0x00, 0x00, 0x00, //0x000005e4 jle LBB0_73 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000005ea .p2align 4, 0x90 + //0x000005f0 LBB0_65 + 0x0f, 0xb6, 0x0f, //0x000005f0 movzbl (%rdi), %ecx + 0x42, 0x80, 0x3c, 0x09, 0x00, //0x000005f3 cmpb $0, (%rcx,%r9) + 0x0f, 0x85, 0x33, 0x00, 0x00, 0x00, //0x000005f8 jne LBB0_68 + 0x48, 0xff, 0xc7, //0x000005fe incq %rdi + 0x88, 0x0b, //0x00000601 movb %cl, (%rbx) + 0x48, 0xff, 0xc3, //0x00000603 incq %rbx + 0x49, 0x83, 0xfa, 0x01, //0x00000606 cmpq $1, %r10 + 0x4d, 0x8d, 0x52, 0xff, //0x0000060a leaq $-1(%r10), %r10 + 0x0f, 0x8f, 0xdc, 0xff, 0xff, 0xff, //0x0000060e jg LBB0_65 + 0xe9, 0x8e, 0x00, 0x00, 0x00, //0x00000614 jmp LBB0_73 + //0x00000619 LBB0_67 + 0x0f, 0xb7, 0xca, //0x00000619 movzwl %dx, %ecx + 0x0f, 0xbc, 0xc9, //0x0000061c bsfl %ecx, %ecx + 0x48, 0x01, 0xcf, //0x0000061f addq %rcx, %rdi + 0x48, 0x01, 0xf7, //0x00000622 addq %rsi, %rdi + 0x49, 0x29, 0xca, //0x00000625 subq %rcx, %r10 + 0x49, 0x29, 0xf2, //0x00000628 subq %rsi, %r10 + 0x48, 0x01, 0xcb, //0x0000062b addq %rcx, %rbx + 0x48, 0x01, 0xf3, //0x0000062e addq %rsi, %rbx + //0x00000631 LBB0_68 + 0x8a, 0x0f, //0x00000631 movb (%rdi), %cl + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000633 .p2align 4, 0x90 + //0x00000640 LBB0_69 + 0x48, 0x89, 0xda, //0x00000640 movq %rbx, %rdx + 0x0f, 0xb6, 0xc9, //0x00000643 movzbl %cl, %ecx + 0x48, 0xc1, 0xe1, 0x04, //0x00000646 shlq $4, %rcx + 0x49, 0x63, 0x1c, 0x08, //0x0000064a movslq (%r8,%rcx), %rbx + 0x49, 0x8b, 0x4c, 0x08, 0x08, //0x0000064e movq $8(%r8,%rcx), %rcx + 0x48, 0x89, 0x0a, //0x00000653 movq %rcx, (%rdx) + 0x48, 0x01, 0xd3, //0x00000656 addq %rdx, %rbx + 0x49, 0x83, 0xfa, 0x02, //0x00000659 cmpq $2, %r10 + 0x0f, 0x8c, 0x44, 0x00, 0x00, 0x00, //0x0000065d jl LBB0_73 + 0x49, 0xff, 0xca, //0x00000663 decq %r10 + 0x0f, 0xb6, 0x4f, 0x01, //0x00000666 movzbl $1(%rdi), %ecx + 0x48, 0xff, 0xc7, //0x0000066a incq %rdi + 0x42, 0x80, 0x3c, 0x09, 0x00, //0x0000066d cmpb $0, (%rcx,%r9) + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x00000672 jne LBB0_69 + 0xe9, 0x0e, 0xfe, 0xff, 0xff, //0x00000678 jmp LBB0_52 + //0x0000067d LBB0_71 + 0x0f, 0xbc, 0xc9, //0x0000067d bsfl %ecx, %ecx + 0x48, 0x01, 0xcf, //0x00000680 addq %rcx, %rdi + 0x49, 0x29, 0xca, //0x00000683 subq %rcx, %r10 + 0x48, 0x01, 0xcb, //0x00000686 addq %rcx, %rbx + 0xe9, 0xa3, 0xff, 0xff, 0xff, //0x00000689 jmp LBB0_68 + //0x0000068e LBB0_72 + 0x0f, 0xbc, 0xc9, //0x0000068e bsfl %ecx, %ecx + 0x48, 0x8d, 0x51, 0x04, //0x00000691 leaq $4(%rcx), %rdx + 0x48, 0x8d, 0x7c, 0x0f, 0x04, //0x00000695 leaq $4(%rdi,%rcx), %rdi + 0x49, 0x29, 0xd2, //0x0000069a subq %rdx, %r10 + 0x48, 0x8d, 0x5c, 0x0b, 0x04, //0x0000069d leaq $4(%rbx,%rcx), %rbx + 0xe9, 0x8a, 0xff, 0xff, 0xff, //0x000006a2 jmp LBB0_68 + //0x000006a7 LBB0_73 + 0x4c, 0x29, 0xe3, //0x000006a7 subq %r12, %rbx + 0x49, 0x89, 0x1b, //0x000006aa movq %rbx, (%r11) + 0xe9, 0x0f, 0x00, 0x00, 0x00, //0x000006ad jmp LBB0_77 + //0x000006b2 LBB0_75 + 0x4d, 0x29, 0xe7, //0x000006b2 subq %r12, %r15 + 0x4d, 0x89, 0x3b, //0x000006b5 movq %r15, (%r11) + 0x49, 0xf7, 0xd2, //0x000006b8 notq %r10 + 0x49, 0x01, 0xfa, //0x000006bb addq %rdi, %r10 + //0x000006be LBB0_76 + 0x4c, 0x89, 0xd0, //0x000006be movq %r10, %rax + //0x000006c1 LBB0_77 + 0x48, 0x83, 0xc4, 0x10, //0x000006c1 addq $16, %rsp + 0x5b, //0x000006c5 popq %rbx + 0x41, 0x5c, //0x000006c6 popq %r12 + 0x41, 0x5d, //0x000006c8 popq %r13 + 0x41, 0x5e, //0x000006ca popq %r14 + 0x41, 0x5f, //0x000006cc popq %r15 + 0x5d, //0x000006ce popq %rbp + 0xc3, //0x000006cf retq + //0x000006d0 LBB0_78 + 0x4d, 0x29, 0xe7, //0x000006d0 subq %r12, %r15 + 0x49, 0xf7, 0xd1, //0x000006d3 notq %r9 + 0x4d, 0x01, 0xcf, //0x000006d6 addq %r9, %r15 + 0x4d, 0x89, 0x3b, //0x000006d9 movq %r15, (%r11) + 0x49, 0x29, 0xfa, //0x000006dc subq %rdi, %r10 + 0x4d, 0x01, 0xca, //0x000006df addq %r9, %r10 + 0x49, 0xf7, 0xd2, //0x000006e2 notq %r10 + 0xe9, 0xd4, 0xff, 0xff, 0xff, //0x000006e5 jmp LBB0_76 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006ea .p2align 4, 0x00 + //0x000006f0 __SingleQuoteTab + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000006f0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, //0x000006f8 QUAD $0x000030303030755c // .asciz 8, '\\u0000\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000700 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x31, 0x00, 0x00, //0x00000708 QUAD $0x000031303030755c // .asciz 8, '\\u0001\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000710 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x32, 0x00, 0x00, //0x00000718 QUAD $0x000032303030755c // .asciz 8, '\\u0002\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000720 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x33, 0x00, 0x00, //0x00000728 QUAD $0x000033303030755c // .asciz 8, '\\u0003\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000730 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x34, 0x00, 0x00, //0x00000738 QUAD $0x000034303030755c // .asciz 8, '\\u0004\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000740 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x35, 0x00, 0x00, //0x00000748 QUAD $0x000035303030755c // .asciz 8, '\\u0005\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000750 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x36, 0x00, 0x00, //0x00000758 QUAD $0x000036303030755c // .asciz 8, '\\u0006\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000760 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x37, 0x00, 0x00, //0x00000768 QUAD $0x000037303030755c // .asciz 8, '\\u0007\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000770 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x38, 0x00, 0x00, //0x00000778 QUAD $0x000038303030755c // .asciz 8, '\\u0008\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000780 .quad 2 + 0x5c, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000788 QUAD $0x000000000000745c // .asciz 8, '\\t\x00\x00\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000790 .quad 2 + 0x5c, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000798 QUAD $0x0000000000006e5c // .asciz 8, '\\n\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007a0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x62, 0x00, 0x00, //0x000007a8 QUAD $0x000062303030755c // .asciz 8, '\\u000b\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007b0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x63, 0x00, 0x00, //0x000007b8 QUAD $0x000063303030755c // .asciz 8, '\\u000c\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007c0 .quad 2 + 0x5c, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007c8 QUAD $0x000000000000725c // .asciz 8, '\\r\x00\x00\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007d0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x65, 0x00, 0x00, //0x000007d8 QUAD $0x000065303030755c // .asciz 8, '\\u000e\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007e0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x30, 0x66, 0x00, 0x00, //0x000007e8 QUAD $0x000066303030755c // .asciz 8, '\\u000f\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000007f0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x30, 0x00, 0x00, //0x000007f8 QUAD $0x000030313030755c // .asciz 8, '\\u0010\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000800 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x31, 0x00, 0x00, //0x00000808 QUAD $0x000031313030755c // .asciz 8, '\\u0011\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000810 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x32, 0x00, 0x00, //0x00000818 QUAD $0x000032313030755c // .asciz 8, '\\u0012\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000820 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x33, 0x00, 0x00, //0x00000828 QUAD $0x000033313030755c // .asciz 8, '\\u0013\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000830 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x34, 0x00, 0x00, //0x00000838 QUAD $0x000034313030755c // .asciz 8, '\\u0014\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000840 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x35, 0x00, 0x00, //0x00000848 QUAD $0x000035313030755c // .asciz 8, '\\u0015\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000850 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x36, 0x00, 0x00, //0x00000858 QUAD $0x000036313030755c // .asciz 8, '\\u0016\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000860 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x37, 0x00, 0x00, //0x00000868 QUAD $0x000037313030755c // .asciz 8, '\\u0017\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000870 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x38, 0x00, 0x00, //0x00000878 QUAD $0x000038313030755c // .asciz 8, '\\u0018\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000880 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x39, 0x00, 0x00, //0x00000888 QUAD $0x000039313030755c // .asciz 8, '\\u0019\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000890 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x61, 0x00, 0x00, //0x00000898 QUAD $0x000061313030755c // .asciz 8, '\\u001a\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008a0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x62, 0x00, 0x00, //0x000008a8 QUAD $0x000062313030755c // .asciz 8, '\\u001b\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008b0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x63, 0x00, 0x00, //0x000008b8 QUAD $0x000063313030755c // .asciz 8, '\\u001c\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008c0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x64, 0x00, 0x00, //0x000008c8 QUAD $0x000064313030755c // .asciz 8, '\\u001d\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008d0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x65, 0x00, 0x00, //0x000008d8 QUAD $0x000065313030755c // .asciz 8, '\\u001e\x00\x00' + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008e0 .quad 6 + 0x5c, 0x75, 0x30, 0x30, 0x31, 0x66, 0x00, 0x00, //0x000008e8 QUAD $0x000066313030755c // .asciz 8, '\\u001f\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000900 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000910 .quad 2 + 0x5c, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000918 QUAD $0x000000000000225c // .asciz 8, '\\"\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000920 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000930 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000940 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000950 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000960 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000970 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000980 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000990 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000a90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000aa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ab0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ac0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ad0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ae0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000af0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000b90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ba0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000be0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000bf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000c90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ca0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cb0 .quad 2 + 0x5c, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cb8 QUAD $0x0000000000005c5c // .asciz 8, '\\\\\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ce0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000cf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000d90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000da0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000db0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000dd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000de0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000df0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000e90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ea0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000eb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ec0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ed0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ee0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ef0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000f90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000fe0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000ff0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001000 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001010 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001020 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001030 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001040 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001050 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001060 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001070 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001080 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001090 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000010f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001100 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001110 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001120 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001130 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001140 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001150 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001160 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001170 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001180 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001190 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000011f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001200 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001210 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001220 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001230 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001240 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001250 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001260 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001270 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001280 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001290 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000012f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001300 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001310 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001320 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001330 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001340 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001350 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001360 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001370 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001380 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001390 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000013f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001400 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001410 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001420 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001430 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001440 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001450 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001460 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001470 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001480 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001490 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000014f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001500 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001510 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001520 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001530 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001540 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001550 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001560 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001570 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001580 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001590 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000015f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001600 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001610 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001620 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001630 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001640 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001650 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001660 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001670 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001680 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001690 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x000016f0 .p2align 4, 0x00 + //0x000016f0 __DoubleQuoteTab + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000016f0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x30, 0x00, //0x000016f8 QUAD $0x0030303030755c5c // .asciz 8, '\\\\u0000\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001700 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x31, 0x00, //0x00001708 QUAD $0x0031303030755c5c // .asciz 8, '\\\\u0001\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001710 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x32, 0x00, //0x00001718 QUAD $0x0032303030755c5c // .asciz 8, '\\\\u0002\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001720 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x33, 0x00, //0x00001728 QUAD $0x0033303030755c5c // .asciz 8, '\\\\u0003\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001730 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x34, 0x00, //0x00001738 QUAD $0x0034303030755c5c // .asciz 8, '\\\\u0004\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001740 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x35, 0x00, //0x00001748 QUAD $0x0035303030755c5c // .asciz 8, '\\\\u0005\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001750 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x36, 0x00, //0x00001758 QUAD $0x0036303030755c5c // .asciz 8, '\\\\u0006\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001760 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x37, 0x00, //0x00001768 QUAD $0x0037303030755c5c // .asciz 8, '\\\\u0007\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001770 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x38, 0x00, //0x00001778 QUAD $0x0038303030755c5c // .asciz 8, '\\\\u0008\x00' + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001780 .quad 3 + 0x5c, 0x5c, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001788 QUAD $0x0000000000745c5c // .asciz 8, '\\\\t\x00\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001790 .quad 3 + 0x5c, 0x5c, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001798 QUAD $0x00000000006e5c5c // .asciz 8, '\\\\n\x00\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017a0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x62, 0x00, //0x000017a8 QUAD $0x0062303030755c5c // .asciz 8, '\\\\u000b\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017b0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x63, 0x00, //0x000017b8 QUAD $0x0063303030755c5c // .asciz 8, '\\\\u000c\x00' + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017c0 .quad 3 + 0x5c, 0x5c, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017c8 QUAD $0x0000000000725c5c // .asciz 8, '\\\\r\x00\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017d0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x65, 0x00, //0x000017d8 QUAD $0x0065303030755c5c // .asciz 8, '\\\\u000e\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017e0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x30, 0x66, 0x00, //0x000017e8 QUAD $0x0066303030755c5c // .asciz 8, '\\\\u000f\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000017f0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x30, 0x00, //0x000017f8 QUAD $0x0030313030755c5c // .asciz 8, '\\\\u0010\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001800 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x31, 0x00, //0x00001808 QUAD $0x0031313030755c5c // .asciz 8, '\\\\u0011\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001810 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x32, 0x00, //0x00001818 QUAD $0x0032313030755c5c // .asciz 8, '\\\\u0012\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001820 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x33, 0x00, //0x00001828 QUAD $0x0033313030755c5c // .asciz 8, '\\\\u0013\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001830 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x34, 0x00, //0x00001838 QUAD $0x0034313030755c5c // .asciz 8, '\\\\u0014\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001840 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x35, 0x00, //0x00001848 QUAD $0x0035313030755c5c // .asciz 8, '\\\\u0015\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001850 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x36, 0x00, //0x00001858 QUAD $0x0036313030755c5c // .asciz 8, '\\\\u0016\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001860 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x37, 0x00, //0x00001868 QUAD $0x0037313030755c5c // .asciz 8, '\\\\u0017\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001870 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x38, 0x00, //0x00001878 QUAD $0x0038313030755c5c // .asciz 8, '\\\\u0018\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001880 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x39, 0x00, //0x00001888 QUAD $0x0039313030755c5c // .asciz 8, '\\\\u0019\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001890 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x61, 0x00, //0x00001898 QUAD $0x0061313030755c5c // .asciz 8, '\\\\u001a\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018a0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x62, 0x00, //0x000018a8 QUAD $0x0062313030755c5c // .asciz 8, '\\\\u001b\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018b0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x63, 0x00, //0x000018b8 QUAD $0x0063313030755c5c // .asciz 8, '\\\\u001c\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018c0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x64, 0x00, //0x000018c8 QUAD $0x0064313030755c5c // .asciz 8, '\\\\u001d\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018d0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x65, 0x00, //0x000018d8 QUAD $0x0065313030755c5c // .asciz 8, '\\\\u001e\x00' + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018e0 .quad 7 + 0x5c, 0x5c, 0x75, 0x30, 0x30, 0x31, 0x66, 0x00, //0x000018e8 QUAD $0x0066313030755c5c // .asciz 8, '\\\\u001f\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000018f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001900 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001910 .quad 4 + 0x5c, 0x5c, 0x5c, 0x22, 0x00, 0x00, 0x00, 0x00, //0x00001918 QUAD $0x00000000225c5c5c // .asciz 8, '\\\\\\"\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001920 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001930 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001940 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001950 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001960 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001970 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001980 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001990 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000019f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001a90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001aa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ab0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ac0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ad0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ae0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001af0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001b90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ba0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001be0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001bf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001c90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ca0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001cb0 .quad 4 + 0x5c, 0x5c, 0x5c, 0x5c, 0x00, 0x00, 0x00, 0x00, //0x00001cb8 QUAD $0x000000005c5c5c5c // .asciz 8, '\\\\\\\\\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001cc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001cd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ce0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001cf0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001d90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001da0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001db0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001dc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001dd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001de0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001df0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001e90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ea0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001eb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ec0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ed0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ee0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ef0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f00 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f10 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f20 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f30 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f40 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f50 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f60 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f80 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001f90 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fa0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001fe0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00001ff0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002000 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002010 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002020 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002030 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002040 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002050 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002060 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002070 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002080 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002090 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000020f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002100 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002110 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002120 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002130 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002140 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002150 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002160 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002170 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002180 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002190 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000021f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002200 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002210 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002220 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002230 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002240 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002250 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002260 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002270 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002280 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002290 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000022f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002300 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002310 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002320 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002330 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002340 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002350 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002360 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002370 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002380 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002390 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002400 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002410 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002420 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002430 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002440 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002450 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002460 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002470 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002480 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002490 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000024f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002500 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002510 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002520 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002530 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002540 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002550 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002560 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002570 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002580 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002590 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000025f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002600 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002610 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002620 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002630 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002640 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002650 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002660 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002670 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002680 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002690 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026a0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026b0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026c0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026d0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000026e0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x000026f0 .p2align 4, 0x00 + //0x000026f0 __EscTab + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x000026f0 QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .ascii 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x00002700 QUAD $0x0101010101010101; QUAD $0x0101010101010101 // .ascii 16, '\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002710 QUAD $0x0000000000010000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002720 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00002730 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //0x00002740 QUAD $0x0000000000000000; LONG $0x00000000; BYTE $0x01 // .ascii 13, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000274d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000275d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000276d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000277d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000278d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000279d QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000027ad QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000027bd QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000027cd QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000027dd QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, //0x000027ed WORD $0x0000; BYTE $0x00 // .space 3, '\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_array.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_array.go new file mode 100644 index 0000000..0279a90 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_array.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the License ); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_array func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_skip_array uintptr + +//go:nosplit +func skip_array(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_skip_array(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_array_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_array_subr.go new file mode 100644 index 0000000..6bbe163 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_array_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_array = 160 +) + +const ( + _stack__skip_array = 160 +) + +const ( + _size__skip_array = 10216 +) + +var ( + _pcsp__skip_array = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {9556, 160}, + {9560, 48}, + {9561, 40}, + {9563, 32}, + {9565, 24}, + {9567, 16}, + {9569, 8}, + {9570, 0}, + {10216, 160}, + } +) + +var _cfunc_skip_array = []loader.CFunc{ + {"_skip_array_entry", 0, _entry__skip_array, 0, nil}, + {"_skip_array", _entry__skip_array, _size__skip_array, _stack__skip_array, _pcsp__skip_array}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_array_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_array_text_amd64.go new file mode 100644 index 0000000..3fbc8aa --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_array_text_amd64.go @@ -0,0 +1,3021 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_skip_array = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .quad 1 + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 5 + //0x00000010 LCPI0_1 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000010 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000020 LCPI0_2 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000020 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000030 LCPI0_3 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000030 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000040 LCPI0_4 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000040 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000050 LCPI0_5 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000050 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000060 LCPI0_6 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000060 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000070 LCPI0_7 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000070 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000080 LCPI0_8 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000080 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000090 LCPI0_9 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000090 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000000a0 .p2align 4, 0x90 + //0x000000a0 _skip_array + 0x55, //0x000000a0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000000a1 movq %rsp, %rbp + 0x41, 0x57, //0x000000a4 pushq %r15 + 0x41, 0x56, //0x000000a6 pushq %r14 + 0x41, 0x55, //0x000000a8 pushq %r13 + 0x41, 0x54, //0x000000aa pushq %r12 + 0x53, //0x000000ac pushq %rbx + 0x48, 0x83, 0xec, 0x70, //0x000000ad subq $112, %rsp + 0x48, 0x89, 0x4d, 0x80, //0x000000b1 movq %rcx, $-128(%rbp) + 0x0f, 0x10, 0x05, 0x44, 0xff, 0xff, 0xff, //0x000000b5 movups $-188(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0x48, 0x89, 0x55, 0x88, //0x000000bc movq %rdx, $-120(%rbp) + 0x0f, 0x11, 0x02, //0x000000c0 movups %xmm0, (%rdx) + 0x48, 0x89, 0x7d, 0x98, //0x000000c3 movq %rdi, $-104(%rbp) + 0x4c, 0x8b, 0x0f, //0x000000c7 movq (%rdi), %r9 + 0x4c, 0x89, 0xc8, //0x000000ca movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000000cd notq %rax + 0x48, 0x89, 0x45, 0xa8, //0x000000d0 movq %rax, $-88(%rbp) + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000000d4 movl $1, %r11d + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000000da movl $1, %eax + 0x4c, 0x29, 0xc8, //0x000000df subq %r9, %rax + 0x48, 0x89, 0x45, 0xa0, //0x000000e2 movq %rax, $-96(%rbp) + 0x49, 0x8d, 0x41, 0x40, //0x000000e6 leaq $64(%r9), %rax + 0x48, 0x89, 0x45, 0x90, //0x000000ea movq %rax, $-112(%rbp) + 0x48, 0x8b, 0x06, //0x000000ee movq (%rsi), %rax + 0x48, 0x89, 0x45, 0xc0, //0x000000f1 movq %rax, $-64(%rbp) + 0x49, 0x8d, 0x41, 0x05, //0x000000f5 leaq $5(%r9), %rax + 0x48, 0x89, 0x85, 0x68, 0xff, 0xff, 0xff, //0x000000f9 movq %rax, $-152(%rbp) + 0x48, 0xc7, 0x85, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000100 movq $-1, $-136(%rbp) + 0xf3, 0x0f, 0x6f, 0x05, 0xfd, 0xfe, 0xff, 0xff, //0x0000010b movdqu $-259(%rip), %xmm0 /* LCPI0_1+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x05, 0xff, 0xff, 0xff, //0x00000113 movdqu $-251(%rip), %xmm1 /* LCPI0_2+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x15, 0x0d, 0xff, 0xff, 0xff, //0x0000011b movdqu $-243(%rip), %xmm2 /* LCPI0_3+0(%rip) */ + 0x66, 0x45, 0x0f, 0x76, 0xf6, //0x00000123 pcmpeqd %xmm14, %xmm14 + 0xf3, 0x44, 0x0f, 0x6f, 0x05, 0x0f, 0xff, 0xff, 0xff, //0x00000128 movdqu $-241(%rip), %xmm8 /* LCPI0_4+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x2d, 0x16, 0xff, 0xff, 0xff, //0x00000131 movdqu $-234(%rip), %xmm13 /* LCPI0_5+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x0d, 0x1d, 0xff, 0xff, 0xff, //0x0000013a movdqu $-227(%rip), %xmm9 /* LCPI0_6+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x15, 0x24, 0xff, 0xff, 0xff, //0x00000143 movdqu $-220(%rip), %xmm10 /* LCPI0_7+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x1d, 0x2b, 0xff, 0xff, 0xff, //0x0000014c movdqu $-213(%rip), %xmm11 /* LCPI0_8+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x25, 0x32, 0xff, 0xff, 0xff, //0x00000155 movdqu $-206(%rip), %xmm12 /* LCPI0_9+0(%rip) */ + 0x48, 0x89, 0x75, 0xc8, //0x0000015e movq %rsi, $-56(%rbp) + 0x4c, 0x89, 0x4d, 0xd0, //0x00000162 movq %r9, $-48(%rbp) + 0xe9, 0x47, 0x00, 0x00, 0x00, //0x00000166 jmp LBB0_6 + //0x0000016b LBB0_1 + 0x48, 0x8b, 0x55, 0x88, //0x0000016b movq $-120(%rbp), %rdx + 0x48, 0x8b, 0x02, //0x0000016f movq (%rdx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00000172 cmpq $4095, %rax + 0x0f, 0x8f, 0x32, 0x24, 0x00, 0x00, //0x00000178 jg LBB0_439 + 0x48, 0x8d, 0x48, 0x01, //0x0000017e leaq $1(%rax), %rcx + 0x48, 0x89, 0x0a, //0x00000182 movq %rcx, (%rdx) + 0x48, 0xc7, 0x44, 0xc2, 0x08, 0x06, 0x00, 0x00, 0x00, //0x00000185 movq $6, $8(%rdx,%rax,8) + 0x90, 0x90, //0x0000018e .p2align 4, 0x90 + //0x00000190 LBB0_3 + 0x4c, 0x8b, 0x5d, 0xc0, //0x00000190 movq $-64(%rbp), %r11 + //0x00000194 LBB0_4 + 0x48, 0x8b, 0x45, 0x88, //0x00000194 movq $-120(%rbp), %rax + 0x48, 0x8b, 0x10, //0x00000198 movq (%rax), %rdx + 0x4c, 0x89, 0x5d, 0xc0, //0x0000019b movq %r11, $-64(%rbp) + 0x49, 0x89, 0xd3, //0x0000019f movq %rdx, %r11 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x000001a2 movq $-136(%rbp), %rax + 0x48, 0x85, 0xd2, //0x000001a9 testq %rdx, %rdx + 0x0f, 0x84, 0x42, 0x24, 0x00, 0x00, //0x000001ac je LBB0_427 + //0x000001b2 LBB0_6 + 0x48, 0x8b, 0x45, 0x98, //0x000001b2 movq $-104(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x000001b6 movq $8(%rax), %rax + 0x48, 0x8b, 0x4d, 0xc0, //0x000001ba movq $-64(%rbp), %rcx + 0x48, 0x89, 0xcb, //0x000001be movq %rcx, %rbx + 0x48, 0x29, 0xc3, //0x000001c1 subq %rax, %rbx + 0x0f, 0x83, 0x36, 0x00, 0x00, 0x00, //0x000001c4 jae LBB0_11 + 0x41, 0x8a, 0x14, 0x09, //0x000001ca movb (%r9,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x000001ce cmpb $13, %dl + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000001d1 je LBB0_11 + 0x80, 0xfa, 0x20, //0x000001d7 cmpb $32, %dl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x000001da je LBB0_11 + 0x80, 0xc2, 0xf7, //0x000001e0 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000001e3 cmpb $1, %dl + 0x0f, 0x86, 0x14, 0x00, 0x00, 0x00, //0x000001e6 jbe LBB0_11 + 0x49, 0x89, 0xcf, //0x000001ec movq %rcx, %r15 + 0x4c, 0x8b, 0x55, 0x88, //0x000001ef movq $-120(%rbp), %r10 + 0xe9, 0x45, 0x01, 0x00, 0x00, //0x000001f3 jmp LBB0_32 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001f8 .p2align 4, 0x90 + //0x00000200 LBB0_11 + 0x4c, 0x8d, 0x79, 0x01, //0x00000200 leaq $1(%rcx), %r15 + 0x49, 0x39, 0xc7, //0x00000204 cmpq %rax, %r15 + 0x4c, 0x8b, 0x55, 0x88, //0x00000207 movq $-120(%rbp), %r10 + 0x0f, 0x83, 0x2f, 0x00, 0x00, 0x00, //0x0000020b jae LBB0_15 + 0x43, 0x8a, 0x14, 0x39, //0x00000211 movb (%r9,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000215 cmpb $13, %dl + 0x0f, 0x84, 0x22, 0x00, 0x00, 0x00, //0x00000218 je LBB0_15 + 0x80, 0xfa, 0x20, //0x0000021e cmpb $32, %dl + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000221 je LBB0_15 + 0x80, 0xc2, 0xf7, //0x00000227 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x0000022a cmpb $1, %dl + 0x0f, 0x87, 0x0a, 0x01, 0x00, 0x00, //0x0000022d ja LBB0_32 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000233 .p2align 4, 0x90 + //0x00000240 LBB0_15 + 0x4c, 0x8d, 0x79, 0x02, //0x00000240 leaq $2(%rcx), %r15 + 0x49, 0x39, 0xc7, //0x00000244 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000247 jae LBB0_19 + 0x43, 0x8a, 0x14, 0x39, //0x0000024d movb (%r9,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000251 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000254 je LBB0_19 + 0x80, 0xfa, 0x20, //0x0000025a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000025d je LBB0_19 + 0x80, 0xc2, 0xf7, //0x00000263 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000266 cmpb $1, %dl + 0x0f, 0x87, 0xce, 0x00, 0x00, 0x00, //0x00000269 ja LBB0_32 + 0x90, //0x0000026f .p2align 4, 0x90 + //0x00000270 LBB0_19 + 0x4c, 0x8d, 0x79, 0x03, //0x00000270 leaq $3(%rcx), %r15 + 0x49, 0x39, 0xc7, //0x00000274 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000277 jae LBB0_23 + 0x43, 0x8a, 0x14, 0x39, //0x0000027d movb (%r9,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000281 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000284 je LBB0_23 + 0x80, 0xfa, 0x20, //0x0000028a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000028d je LBB0_23 + 0x80, 0xc2, 0xf7, //0x00000293 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000296 cmpb $1, %dl + 0x0f, 0x87, 0x9e, 0x00, 0x00, 0x00, //0x00000299 ja LBB0_32 + 0x90, //0x0000029f .p2align 4, 0x90 + //0x000002a0 LBB0_23 + 0x48, 0x8d, 0x51, 0x04, //0x000002a0 leaq $4(%rcx), %rdx + 0x48, 0x39, 0xd0, //0x000002a4 cmpq %rdx, %rax + 0x0f, 0x86, 0xf4, 0x22, 0x00, 0x00, //0x000002a7 jbe LBB0_417 + 0x48, 0x39, 0xd0, //0x000002ad cmpq %rdx, %rax + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x000002b0 je LBB0_29 + 0x49, 0x8d, 0x14, 0x01, //0x000002b6 leaq (%r9,%rax), %rdx + 0x48, 0x83, 0xc3, 0x04, //0x000002ba addq $4, %rbx + 0x48, 0x03, 0x8d, 0x68, 0xff, 0xff, 0xff, //0x000002be addq $-152(%rbp), %rcx + 0x49, 0x89, 0xcf, //0x000002c5 movq %rcx, %r15 + 0x48, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000002c8 movabsq $4294977024, %rcx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002d2 .p2align 4, 0x90 + //0x000002e0 LBB0_26 + 0x41, 0x0f, 0xbe, 0x7f, 0xff, //0x000002e0 movsbl $-1(%r15), %edi + 0x83, 0xff, 0x20, //0x000002e5 cmpl $32, %edi + 0x0f, 0x87, 0x42, 0x00, 0x00, 0x00, //0x000002e8 ja LBB0_31 + 0x48, 0x0f, 0xa3, 0xf9, //0x000002ee btq %rdi, %rcx + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x000002f2 jae LBB0_31 + 0x49, 0xff, 0xc7, //0x000002f8 incq %r15 + 0x48, 0xff, 0xc3, //0x000002fb incq %rbx + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000002fe jne LBB0_26 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00000304 jmp LBB0_30 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000309 .p2align 4, 0x90 + //0x00000310 LBB0_29 + 0x4c, 0x01, 0xca, //0x00000310 addq %r9, %rdx + //0x00000313 LBB0_30 + 0x4c, 0x29, 0xca, //0x00000313 subq %r9, %rdx + 0x49, 0x89, 0xd7, //0x00000316 movq %rdx, %r15 + 0x49, 0x39, 0xc7, //0x00000319 cmpq %rax, %r15 + 0x0f, 0x82, 0x1b, 0x00, 0x00, 0x00, //0x0000031c jb LBB0_32 + 0xe9, 0x7d, 0x22, 0x00, 0x00, //0x00000322 jmp LBB0_418 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000327 .p2align 4, 0x90 + //0x00000330 LBB0_31 + 0x4c, 0x03, 0x7d, 0xa8, //0x00000330 addq $-88(%rbp), %r15 + 0x49, 0x39, 0xc7, //0x00000334 cmpq %rax, %r15 + 0x0f, 0x83, 0x67, 0x22, 0x00, 0x00, //0x00000337 jae LBB0_418 + //0x0000033d LBB0_32 + 0x49, 0x8d, 0x4f, 0x01, //0x0000033d leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00000341 movq %rcx, (%rsi) + 0x43, 0x0f, 0xbe, 0x3c, 0x39, //0x00000344 movsbl (%r9,%r15), %edi + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000349 movq $-1, %rax + 0x85, 0xff, //0x00000350 testl %edi, %edi + 0x0f, 0x84, 0x9c, 0x22, 0x00, 0x00, //0x00000352 je LBB0_427 + 0x48, 0x89, 0x4d, 0xc0, //0x00000358 movq %rcx, $-64(%rbp) + 0x4d, 0x89, 0xf8, //0x0000035c movq %r15, %r8 + 0x49, 0xf7, 0xd0, //0x0000035f notq %r8 + 0x49, 0x8d, 0x53, 0xff, //0x00000362 leaq $-1(%r11), %rdx + 0x43, 0x8b, 0x1c, 0xda, //0x00000366 movl (%r10,%r11,8), %ebx + 0x48, 0x8b, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x0000036a movq $-136(%rbp), %rcx + 0x48, 0x83, 0xf9, 0xff, //0x00000371 cmpq $-1, %rcx + 0x49, 0x0f, 0x44, 0xcf, //0x00000375 cmoveq %r15, %rcx + 0x48, 0x89, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x00000379 movq %rcx, $-136(%rbp) + 0xff, 0xcb, //0x00000380 decl %ebx + 0x83, 0xfb, 0x05, //0x00000382 cmpl $5, %ebx + 0x0f, 0x87, 0x79, 0x02, 0x00, 0x00, //0x00000385 ja LBB0_66 + 0x48, 0x8d, 0x0d, 0xf6, 0x24, 0x00, 0x00, //0x0000038b leaq $9462(%rip), %rcx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x1c, 0x99, //0x00000392 movslq (%rcx,%rbx,4), %rbx + 0x48, 0x01, 0xcb, //0x00000396 addq %rcx, %rbx + 0xff, 0xe3, //0x00000399 jmpq *%rbx + //0x0000039b LBB0_35 + 0x83, 0xff, 0x2c, //0x0000039b cmpl $44, %edi + 0x0f, 0x84, 0xdb, 0x04, 0x00, 0x00, //0x0000039e je LBB0_102 + 0x83, 0xff, 0x5d, //0x000003a4 cmpl $93, %edi + 0x0f, 0x84, 0x3c, 0x02, 0x00, 0x00, //0x000003a7 je LBB0_37 + 0xe9, 0x3b, 0x22, 0x00, 0x00, //0x000003ad jmp LBB0_426 + //0x000003b2 LBB0_38 + 0x40, 0x80, 0xff, 0x5d, //0x000003b2 cmpb $93, %dil + 0x0f, 0x84, 0x2d, 0x02, 0x00, 0x00, //0x000003b6 je LBB0_37 + 0x4b, 0xc7, 0x04, 0xda, 0x01, 0x00, 0x00, 0x00, //0x000003bc movq $1, (%r10,%r11,8) + 0x83, 0xff, 0x7b, //0x000003c4 cmpl $123, %edi + 0x0f, 0x86, 0x43, 0x02, 0x00, 0x00, //0x000003c7 jbe LBB0_67 + 0xe9, 0x1b, 0x22, 0x00, 0x00, //0x000003cd jmp LBB0_426 + //0x000003d2 LBB0_40 + 0x40, 0x80, 0xff, 0x22, //0x000003d2 cmpb $34, %dil + 0x0f, 0x85, 0x11, 0x22, 0x00, 0x00, //0x000003d6 jne LBB0_426 + 0x4b, 0xc7, 0x04, 0xda, 0x04, 0x00, 0x00, 0x00, //0x000003dc movq $4, (%r10,%r11,8) + 0x48, 0x8b, 0x45, 0x98, //0x000003e4 movq $-104(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x000003e8 movq $8(%rax), %r10 + 0xf6, 0x45, 0x80, 0x20, //0x000003ec testb $32, $-128(%rbp) + 0x0f, 0x85, 0xab, 0x04, 0x00, 0x00, //0x000003f0 jne LBB0_104 + 0x4d, 0x89, 0xd5, //0x000003f6 movq %r10, %r13 + 0x48, 0x8b, 0x45, 0xc0, //0x000003f9 movq $-64(%rbp), %rax + 0x49, 0x29, 0xc5, //0x000003fd subq %rax, %r13 + 0x0f, 0x84, 0xd1, 0x23, 0x00, 0x00, //0x00000400 je LBB0_462 + 0x4d, 0x8d, 0x1c, 0x01, //0x00000406 leaq (%r9,%rax), %r11 + 0x49, 0x83, 0xfd, 0x40, //0x0000040a cmpq $64, %r13 + 0x0f, 0x82, 0xb4, 0x1b, 0x00, 0x00, //0x0000040e jb LBB0_355 + 0x44, 0x89, 0xe9, //0x00000414 movl %r13d, %ecx + 0x83, 0xe1, 0x3f, //0x00000417 andl $63, %ecx + 0x48, 0x89, 0x4d, 0xb8, //0x0000041a movq %rcx, $-72(%rbp) + 0x4b, 0x8d, 0x4c, 0x02, 0xc0, //0x0000041e leaq $-64(%r10,%r8), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000423 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000427 addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x90, //0x0000042a addq $-112(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb0, //0x0000042e movq %rcx, $-80(%rbp) + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000432 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00000439 xorl %r8d, %r8d + 0x90, 0x90, 0x90, 0x90, //0x0000043c .p2align 4, 0x90 + //0x00000440 LBB0_45 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00000440 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00000445 movdqu $16(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6b, 0x20, //0x0000044b movdqu $32(%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x30, //0x00000451 movdqu $48(%r11), %xmm6 + 0x66, 0x0f, 0x6f, 0xfb, //0x00000457 movdqa %xmm3, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x0000045b pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xff, //0x0000045f pmovmskb %xmm7, %edi + 0x66, 0x0f, 0x6f, 0xfc, //0x00000463 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000467 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x0000046b pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x6f, 0xfd, //0x0000046f movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000473 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00000477 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfe, //0x0000047b movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x0000047f pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xdf, //0x00000483 pmovmskb %xmm7, %ebx + 0x66, 0x0f, 0x74, 0xd9, //0x00000487 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x0000048b pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x74, 0xe1, //0x0000048f pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00000493 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x74, 0xe9, //0x00000497 pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xf5, //0x0000049b pmovmskb %xmm5, %r14d + 0x66, 0x0f, 0x74, 0xf1, //0x000004a0 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xe6, //0x000004a4 pmovmskb %xmm6, %r12d + 0x48, 0xc1, 0xe3, 0x30, //0x000004a9 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x000004ad shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x000004b1 shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x000004b5 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x000004b8 orq %rsi, %rdi + 0x49, 0xc1, 0xe4, 0x30, //0x000004bb shlq $48, %r12 + 0x49, 0xc1, 0xe6, 0x20, //0x000004bf shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x000004c3 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x000004c7 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x000004ca orq %r14, %rdx + 0x4c, 0x09, 0xe2, //0x000004cd orq %r12, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x000004d0 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000004d4 jne LBB0_47 + 0x48, 0x85, 0xd2, //0x000004da testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000004dd jne LBB0_56 + //0x000004e3 LBB0_47 + 0x48, 0x09, 0xdf, //0x000004e3 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x000004e6 movq %rdx, %rax + 0x4c, 0x09, 0xc0, //0x000004e9 orq %r8, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x000004ec jne LBB0_57 + //0x000004f2 LBB0_48 + 0x48, 0x85, 0xff, //0x000004f2 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x000004f5 jne LBB0_58 + //0x000004fb LBB0_49 + 0x49, 0x83, 0xc5, 0xc0, //0x000004fb addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x000004ff addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000503 cmpq $63, %r13 + 0x0f, 0x87, 0x33, 0xff, 0xff, 0xff, //0x00000507 ja LBB0_45 + 0xe9, 0x41, 0x13, 0x00, 0x00, //0x0000050d jmp LBB0_50 + //0x00000512 LBB0_56 + 0x4c, 0x89, 0xd8, //0x00000512 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000515 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xca, //0x00000519 bsfq %rdx, %r9 + 0x49, 0x01, 0xc1, //0x0000051d addq %rax, %r9 + 0x48, 0x09, 0xdf, //0x00000520 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000523 movq %rdx, %rax + 0x4c, 0x09, 0xc0, //0x00000526 orq %r8, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000529 je LBB0_48 + //0x0000052f LBB0_57 + 0x4c, 0x89, 0xc0, //0x0000052f movq %r8, %rax + 0x48, 0xf7, 0xd0, //0x00000532 notq %rax + 0x48, 0x21, 0xd0, //0x00000535 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000538 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc1, //0x0000053c orq %r8, %rcx + 0x48, 0x89, 0xce, //0x0000053f movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000542 notq %rsi + 0x48, 0x21, 0xd6, //0x00000545 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000548 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000552 andq %rdx, %rsi + 0x45, 0x31, 0xc0, //0x00000555 xorl %r8d, %r8d + 0x48, 0x01, 0xc6, //0x00000558 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc0, //0x0000055b setb %r8b + 0x48, 0x01, 0xf6, //0x0000055f addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000562 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x0000056c xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x0000056f andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000572 notq %rsi + 0x48, 0x21, 0xf7, //0x00000575 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000578 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x0000057b je LBB0_49 + //0x00000581 LBB0_58 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000581 bsfq %rdi, %rax + //0x00000585 LBB0_59 + 0x4c, 0x03, 0x5d, 0xa0, //0x00000585 addq $-96(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000589 addq %rax, %r11 + 0x48, 0x8b, 0x7d, 0xc0, //0x0000058c movq $-64(%rbp), %rdi + 0xe9, 0xfd, 0x09, 0x00, 0x00, //0x00000590 jmp LBB0_188 + //0x00000595 LBB0_60 + 0x40, 0x80, 0xff, 0x3a, //0x00000595 cmpb $58, %dil + 0x0f, 0x85, 0x4e, 0x20, 0x00, 0x00, //0x00000599 jne LBB0_426 + 0x4b, 0xc7, 0x04, 0xda, 0x00, 0x00, 0x00, 0x00, //0x0000059f movq $0, (%r10,%r11,8) + 0xe9, 0xe4, 0xfb, 0xff, 0xff, //0x000005a7 jmp LBB0_3 + //0x000005ac LBB0_62 + 0x83, 0xff, 0x2c, //0x000005ac cmpl $44, %edi + 0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x000005af jne LBB0_63 + 0x49, 0x81, 0xfb, 0xff, 0x0f, 0x00, 0x00, //0x000005b5 cmpq $4095, %r11 + 0x0f, 0x8f, 0xee, 0x1f, 0x00, 0x00, //0x000005bc jg LBB0_439 + 0x49, 0x8d, 0x43, 0x01, //0x000005c2 leaq $1(%r11), %rax + 0x49, 0x89, 0x02, //0x000005c6 movq %rax, (%r10) + 0x4b, 0xc7, 0x44, 0xda, 0x08, 0x03, 0x00, 0x00, 0x00, //0x000005c9 movq $3, $8(%r10,%r11,8) + 0xe9, 0xb9, 0xfb, 0xff, 0xff, //0x000005d2 jmp LBB0_3 + //0x000005d7 LBB0_64 + 0x83, 0xff, 0x22, //0x000005d7 cmpl $34, %edi + 0x0f, 0x84, 0xd0, 0x04, 0x00, 0x00, //0x000005da je LBB0_127 + //0x000005e0 LBB0_63 + 0x83, 0xff, 0x7d, //0x000005e0 cmpl $125, %edi + 0x0f, 0x85, 0x04, 0x20, 0x00, 0x00, //0x000005e3 jne LBB0_426 + //0x000005e9 LBB0_37 + 0x49, 0x89, 0x12, //0x000005e9 movq %rdx, (%r10) + 0x49, 0x89, 0xd3, //0x000005ec movq %rdx, %r11 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x000005ef movq $-136(%rbp), %rax + 0x48, 0x85, 0xd2, //0x000005f6 testq %rdx, %rdx + 0x0f, 0x85, 0xb3, 0xfb, 0xff, 0xff, //0x000005f9 jne LBB0_6 + 0xe9, 0xf0, 0x1f, 0x00, 0x00, //0x000005ff jmp LBB0_427 + //0x00000604 LBB0_66 + 0x49, 0x89, 0x12, //0x00000604 movq %rdx, (%r10) + 0x83, 0xff, 0x7b, //0x00000607 cmpl $123, %edi + 0x0f, 0x87, 0xdd, 0x1f, 0x00, 0x00, //0x0000060a ja LBB0_426 + //0x00000610 LBB0_67 + 0x4f, 0x8d, 0x14, 0x39, //0x00000610 leaq (%r9,%r15), %r10 + 0x89, 0xf9, //0x00000614 movl %edi, %ecx + 0x48, 0x8d, 0x15, 0x83, 0x22, 0x00, 0x00, //0x00000616 leaq $8835(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8a, //0x0000061d movslq (%rdx,%rcx,4), %rcx + 0x48, 0x01, 0xd1, //0x00000621 addq %rdx, %rcx + 0xff, 0xe1, //0x00000624 jmpq *%rcx + //0x00000626 LBB0_68 + 0x48, 0x8b, 0x45, 0x98, //0x00000626 movq $-104(%rbp), %rax + 0x48, 0x8b, 0x78, 0x08, //0x0000062a movq $8(%rax), %rdi + 0x4c, 0x29, 0xff, //0x0000062e subq %r15, %rdi + 0x0f, 0x84, 0x9e, 0x1f, 0x00, 0x00, //0x00000631 je LBB0_421 + 0x41, 0x80, 0x3a, 0x30, //0x00000637 cmpb $48, (%r10) + 0x4c, 0x8b, 0x5d, 0xc0, //0x0000063b movq $-64(%rbp), %r11 + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000063f jne LBB0_73 + 0x48, 0x83, 0xff, 0x01, //0x00000645 cmpq $1, %rdi + 0x0f, 0x84, 0xb3, 0x16, 0x00, 0x00, //0x00000649 je LBB0_336 + 0x43, 0x8a, 0x04, 0x19, //0x0000064f movb (%r9,%r11), %al + 0x04, 0xd2, //0x00000653 addb $-46, %al + 0x3c, 0x37, //0x00000655 cmpb $55, %al + 0x0f, 0x87, 0xa5, 0x16, 0x00, 0x00, //0x00000657 ja LBB0_336 + 0x0f, 0xb6, 0xc0, //0x0000065d movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00000660 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x0000066a btq %rax, %rcx + 0x0f, 0x83, 0x8e, 0x16, 0x00, 0x00, //0x0000066e jae LBB0_336 + //0x00000674 LBB0_73 + 0x48, 0x83, 0xff, 0x10, //0x00000674 cmpq $16, %rdi + 0x0f, 0x82, 0x86, 0x18, 0x00, 0x00, //0x00000678 jb LBB0_344 + 0x4c, 0x8d, 0x4f, 0xf0, //0x0000067e leaq $-16(%rdi), %r9 + 0x4c, 0x89, 0xc8, //0x00000682 movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00000685 andq $-16, %rax + 0x4e, 0x8d, 0x5c, 0x10, 0x10, //0x00000689 leaq $16(%rax,%r10), %r11 + 0x41, 0x83, 0xe1, 0x0f, //0x0000068e andl $15, %r9d + 0x48, 0xc7, 0x45, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000692 movq $-1, $-64(%rbp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x0000069a movq $-1, %r12 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x000006a1 movq $-1, %r13 + 0x4d, 0x89, 0xd6, //0x000006a8 movq %r10, %r14 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000006ab .p2align 4, 0x90 + //0x000006b0 LBB0_75 + 0xf3, 0x41, 0x0f, 0x6f, 0x1e, //0x000006b0 movdqu (%r14), %xmm3 + 0x66, 0x0f, 0x6f, 0xe3, //0x000006b5 movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x64, 0xe0, //0x000006b9 pcmpgtb %xmm8, %xmm4 + 0x66, 0x41, 0x0f, 0x6f, 0xed, //0x000006be movdqa %xmm13, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x000006c3 pcmpgtb %xmm3, %xmm5 + 0x66, 0x0f, 0xdb, 0xec, //0x000006c7 pand %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xe3, //0x000006cb movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xe1, //0x000006cf pcmpeqb %xmm9, %xmm4 + 0x66, 0x0f, 0x6f, 0xf3, //0x000006d4 movdqa %xmm3, %xmm6 + 0x66, 0x41, 0x0f, 0x74, 0xf2, //0x000006d8 pcmpeqb %xmm10, %xmm6 + 0x66, 0x0f, 0xeb, 0xf4, //0x000006dd por %xmm4, %xmm6 + 0x66, 0x0f, 0x6f, 0xe3, //0x000006e1 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xe2, //0x000006e5 por %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xdb, //0x000006e9 pcmpeqb %xmm11, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xe4, //0x000006ee pcmpeqb %xmm12, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x000006f3 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0xeb, 0xe3, //0x000006f7 por %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xee, //0x000006fb por %xmm6, %xmm5 + 0x66, 0x0f, 0xeb, 0xec, //0x000006ff por %xmm4, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xc3, //0x00000703 pmovmskb %xmm3, %r8d + 0x66, 0x0f, 0xd7, 0xd6, //0x00000708 pmovmskb %xmm6, %edx + 0x66, 0x0f, 0xd7, 0xcd, //0x0000070c pmovmskb %xmm5, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000710 movl $2863311530, %esi + 0x48, 0x81, 0xc6, 0x55, 0x55, 0x55, 0x55, //0x00000715 addq $1431655765, %rsi + 0x48, 0x31, 0xce, //0x0000071c xorq %rcx, %rsi + 0x48, 0x0f, 0xbc, 0xce, //0x0000071f bsfq %rsi, %rcx + 0x83, 0xf9, 0x10, //0x00000723 cmpl $16, %ecx + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00000726 je LBB0_77 + 0xbe, 0xff, 0xff, 0xff, 0xff, //0x0000072c movl $-1, %esi + 0xd3, 0xe6, //0x00000731 shll %cl, %esi + 0xf7, 0xd6, //0x00000733 notl %esi + 0x41, 0x21, 0xf0, //0x00000735 andl %esi, %r8d + 0x21, 0xf0, //0x00000738 andl %esi, %eax + 0x21, 0xd6, //0x0000073a andl %edx, %esi + 0x89, 0xf2, //0x0000073c movl %esi, %edx + //0x0000073e LBB0_77 + 0x41, 0x8d, 0x70, 0xff, //0x0000073e leal $-1(%r8), %esi + 0x44, 0x21, 0xc6, //0x00000742 andl %r8d, %esi + 0x0f, 0x85, 0xd3, 0x10, 0x00, 0x00, //0x00000745 jne LBB0_306 + 0x8d, 0x70, 0xff, //0x0000074b leal $-1(%rax), %esi + 0x21, 0xc6, //0x0000074e andl %eax, %esi + 0x0f, 0x85, 0xc8, 0x10, 0x00, 0x00, //0x00000750 jne LBB0_306 + 0x8d, 0x72, 0xff, //0x00000756 leal $-1(%rdx), %esi + 0x21, 0xd6, //0x00000759 andl %edx, %esi + 0x0f, 0x85, 0xbd, 0x10, 0x00, 0x00, //0x0000075b jne LBB0_306 + 0x45, 0x85, 0xc0, //0x00000761 testl %r8d, %r8d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000764 je LBB0_83 + 0x4c, 0x89, 0xf3, //0x0000076a movq %r14, %rbx + 0x4c, 0x29, 0xd3, //0x0000076d subq %r10, %rbx + 0x41, 0x0f, 0xbc, 0xf0, //0x00000770 bsfl %r8d, %esi + 0x48, 0x01, 0xde, //0x00000774 addq %rbx, %rsi + 0x49, 0x83, 0xfd, 0xff, //0x00000777 cmpq $-1, %r13 + 0x0f, 0x85, 0xb6, 0x14, 0x00, 0x00, //0x0000077b jne LBB0_322 + 0x49, 0x89, 0xf5, //0x00000781 movq %rsi, %r13 + //0x00000784 LBB0_83 + 0x85, 0xc0, //0x00000784 testl %eax, %eax + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000786 je LBB0_86 + 0x4c, 0x89, 0xf6, //0x0000078c movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x0000078f subq %r10, %rsi + 0x0f, 0xbc, 0xc0, //0x00000792 bsfl %eax, %eax + 0x48, 0x01, 0xf0, //0x00000795 addq %rsi, %rax + 0x49, 0x83, 0xfc, 0xff, //0x00000798 cmpq $-1, %r12 + 0x0f, 0x85, 0x4d, 0x12, 0x00, 0x00, //0x0000079c jne LBB0_311 + 0x49, 0x89, 0xc4, //0x000007a2 movq %rax, %r12 + //0x000007a5 LBB0_86 + 0x85, 0xd2, //0x000007a5 testl %edx, %edx + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x000007a7 je LBB0_89 + 0x4c, 0x89, 0xf6, //0x000007ad movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x000007b0 subq %r10, %rsi + 0x0f, 0xbc, 0xc2, //0x000007b3 bsfl %edx, %eax + 0x48, 0x01, 0xf0, //0x000007b6 addq %rsi, %rax + 0x48, 0x83, 0x7d, 0xc0, 0xff, //0x000007b9 cmpq $-1, $-64(%rbp) + 0x0f, 0x85, 0x2b, 0x12, 0x00, 0x00, //0x000007be jne LBB0_311 + 0x48, 0x89, 0x45, 0xc0, //0x000007c4 movq %rax, $-64(%rbp) + //0x000007c8 LBB0_89 + 0x83, 0xf9, 0x10, //0x000007c8 cmpl $16, %ecx + 0x0f, 0x85, 0xcf, 0x04, 0x00, 0x00, //0x000007cb jne LBB0_151 + 0x49, 0x83, 0xc6, 0x10, //0x000007d1 addq $16, %r14 + 0x48, 0x83, 0xc7, 0xf0, //0x000007d5 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x0f, //0x000007d9 cmpq $15, %rdi + 0x0f, 0x87, 0xcd, 0xfe, 0xff, 0xff, //0x000007dd ja LBB0_75 + 0x4d, 0x85, 0xc9, //0x000007e3 testq %r9, %r9 + 0x48, 0x8b, 0x7d, 0xc0, //0x000007e6 movq $-64(%rbp), %rdi + 0x0f, 0x84, 0xba, 0x04, 0x00, 0x00, //0x000007ea je LBB0_152 + //0x000007f0 LBB0_92 + 0x4b, 0x8d, 0x04, 0x0b, //0x000007f0 leaq (%r11,%r9), %rax + 0x48, 0x8d, 0x35, 0x81, 0x23, 0x00, 0x00, //0x000007f4 leaq $9089(%rip), %rsi /* LJTI0_3+0(%rip) */ + 0xe9, 0x2c, 0x00, 0x00, 0x00, //0x000007fb jmp LBB0_96 + //0x00000800 LBB0_93 + 0x49, 0x89, 0xcb, //0x00000800 movq %rcx, %r11 + 0x4d, 0x29, 0xd3, //0x00000803 subq %r10, %r11 + 0x49, 0x83, 0xfc, 0xff, //0x00000806 cmpq $-1, %r12 + 0x0f, 0x85, 0xdb, 0x14, 0x00, 0x00, //0x0000080a jne LBB0_333 + 0x49, 0xff, 0xcb, //0x00000810 decq %r11 + 0x4d, 0x89, 0xdc, //0x00000813 movq %r11, %r12 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000816 .p2align 4, 0x90 + //0x00000820 LBB0_95 + 0x49, 0x89, 0xcb, //0x00000820 movq %rcx, %r11 + 0x49, 0xff, 0xc9, //0x00000823 decq %r9 + 0x0f, 0x84, 0xce, 0x11, 0x00, 0x00, //0x00000826 je LBB0_312 + //0x0000082c LBB0_96 + 0x41, 0x0f, 0xbe, 0x13, //0x0000082c movsbl (%r11), %edx + 0x83, 0xc2, 0xd5, //0x00000830 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x00000833 cmpl $58, %edx + 0x0f, 0x87, 0x6e, 0x04, 0x00, 0x00, //0x00000836 ja LBB0_152 + 0x49, 0x8d, 0x4b, 0x01, //0x0000083c leaq $1(%r11), %rcx + 0x48, 0x63, 0x14, 0x96, //0x00000840 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00000844 addq %rsi, %rdx + 0xff, 0xe2, //0x00000847 jmpq *%rdx + //0x00000849 LBB0_98 + 0x49, 0x89, 0xcb, //0x00000849 movq %rcx, %r11 + 0x4d, 0x29, 0xd3, //0x0000084c subq %r10, %r11 + 0x48, 0x83, 0xff, 0xff, //0x0000084f cmpq $-1, %rdi + 0x0f, 0x85, 0x92, 0x14, 0x00, 0x00, //0x00000853 jne LBB0_333 + 0x49, 0xff, 0xcb, //0x00000859 decq %r11 + 0x4c, 0x89, 0xdf, //0x0000085c movq %r11, %rdi + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000085f jmp LBB0_95 + //0x00000864 LBB0_100 + 0x49, 0x89, 0xcb, //0x00000864 movq %rcx, %r11 + 0x4d, 0x29, 0xd3, //0x00000867 subq %r10, %r11 + 0x49, 0x83, 0xfd, 0xff, //0x0000086a cmpq $-1, %r13 + 0x0f, 0x85, 0x77, 0x14, 0x00, 0x00, //0x0000086e jne LBB0_333 + 0x49, 0xff, 0xcb, //0x00000874 decq %r11 + 0x4d, 0x89, 0xdd, //0x00000877 movq %r11, %r13 + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000087a jmp LBB0_95 + //0x0000087f LBB0_102 + 0x49, 0x81, 0xfb, 0xff, 0x0f, 0x00, 0x00, //0x0000087f cmpq $4095, %r11 + 0x0f, 0x8f, 0x24, 0x1d, 0x00, 0x00, //0x00000886 jg LBB0_439 + 0x49, 0x8d, 0x43, 0x01, //0x0000088c leaq $1(%r11), %rax + 0x49, 0x89, 0x02, //0x00000890 movq %rax, (%r10) + 0x4b, 0xc7, 0x44, 0xda, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00000893 movq $0, $8(%r10,%r11,8) + 0xe9, 0xef, 0xf8, 0xff, 0xff, //0x0000089c jmp LBB0_3 + //0x000008a1 LBB0_104 + 0x4c, 0x89, 0xd0, //0x000008a1 movq %r10, %rax + 0x48, 0x8b, 0x4d, 0xc0, //0x000008a4 movq $-64(%rbp), %rcx + 0x48, 0x29, 0xc8, //0x000008a8 subq %rcx, %rax + 0x0f, 0x84, 0x2e, 0x1f, 0x00, 0x00, //0x000008ab je LBB0_463 + 0x4d, 0x8d, 0x1c, 0x09, //0x000008b1 leaq (%r9,%rcx), %r11 + 0x48, 0x83, 0xf8, 0x40, //0x000008b5 cmpq $64, %rax + 0x0f, 0x82, 0x22, 0x17, 0x00, 0x00, //0x000008b9 jb LBB0_356 + 0x89, 0xc2, //0x000008bf movl %eax, %edx + 0x83, 0xe2, 0x3f, //0x000008c1 andl $63, %edx + 0x48, 0x89, 0x55, 0xb8, //0x000008c4 movq %rdx, $-72(%rbp) + 0x4f, 0x8d, 0x44, 0x02, 0xc0, //0x000008c8 leaq $-64(%r10,%r8), %r8 + 0x49, 0x83, 0xe0, 0xc0, //0x000008cd andq $-64, %r8 + 0x49, 0x01, 0xc8, //0x000008d1 addq %rcx, %r8 + 0x4c, 0x03, 0x45, 0x90, //0x000008d4 addq $-112(%rbp), %r8 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000008d8 movq $-1, %r9 + 0x31, 0xdb, //0x000008df xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008e1 .p2align 4, 0x90 + //0x000008f0 LBB0_107 + 0xf3, 0x41, 0x0f, 0x6f, 0x2b, //0x000008f0 movdqu (%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x10, //0x000008f5 movdqu $16(%r11), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x20, //0x000008fb movdqu $32(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x7b, 0x30, //0x00000901 movdqu $48(%r11), %xmm7 + 0x66, 0x0f, 0x6f, 0xdd, //0x00000907 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x0000090b pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xf3, //0x0000090f pmovmskb %xmm3, %esi + 0x66, 0x0f, 0x6f, 0xde, //0x00000913 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000917 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x0000091b pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdc, //0x0000091f movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000923 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00000927 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdf, //0x0000092b movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x0000092f pcmpeqb %xmm0, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xe3, //0x00000933 pmovmskb %xmm3, %r12d + 0x66, 0x0f, 0x6f, 0xdd, //0x00000938 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x0000093c pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x00000940 pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xde, //0x00000945 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000949 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x0000094d pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x6f, 0xdc, //0x00000951 movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000955 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe7, 0x10, //0x00000959 shlq $16, %rdi + 0x48, 0x09, 0xfe, //0x0000095d orq %rdi, %rsi + 0x66, 0x0f, 0xd7, 0xfb, //0x00000960 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdf, //0x00000964 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000968 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe1, 0x20, //0x0000096c shlq $32, %rcx + 0x48, 0x09, 0xce, //0x00000970 orq %rcx, %rsi + 0x66, 0x0f, 0xd7, 0xcb, //0x00000973 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x00000977 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdd, //0x0000097b pcmpgtb %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xee, //0x0000097f pcmpgtb %xmm14, %xmm5 + 0x66, 0x0f, 0xdb, 0xeb, //0x00000984 pand %xmm3, %xmm5 + 0x48, 0xc1, 0xe2, 0x10, //0x00000988 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x0000098c orq %rdx, %r13 + 0x66, 0x0f, 0xd7, 0xd5, //0x0000098f pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xda, //0x00000993 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xde, //0x00000997 pcmpgtb %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xf6, //0x0000099b pcmpgtb %xmm14, %xmm6 + 0x66, 0x0f, 0xdb, 0xf3, //0x000009a0 pand %xmm3, %xmm6 + 0x48, 0xc1, 0xe7, 0x20, //0x000009a4 shlq $32, %rdi + 0x49, 0x09, 0xfd, //0x000009a8 orq %rdi, %r13 + 0x66, 0x0f, 0xd7, 0xfe, //0x000009ab pmovmskb %xmm6, %edi + 0x66, 0x0f, 0x6f, 0xda, //0x000009af movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x000009b3 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x000009b7 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x000009bc pand %xmm3, %xmm4 + 0x48, 0xc1, 0xe1, 0x30, //0x000009c0 shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x000009c4 orq %rcx, %r13 + 0x66, 0x0f, 0xd7, 0xcc, //0x000009c7 pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x000009cb movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdf, //0x000009cf pcmpgtb %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xfe, //0x000009d3 pcmpgtb %xmm14, %xmm7 + 0x66, 0x0f, 0xdb, 0xfb, //0x000009d8 pand %xmm3, %xmm7 + 0x48, 0xc1, 0xe7, 0x10, //0x000009dc shlq $16, %rdi + 0x48, 0x09, 0xfa, //0x000009e0 orq %rdi, %rdx + 0x66, 0x44, 0x0f, 0xd7, 0xf7, //0x000009e3 pmovmskb %xmm7, %r14d + 0x49, 0xc1, 0xe4, 0x30, //0x000009e8 shlq $48, %r12 + 0x48, 0xc1, 0xe1, 0x20, //0x000009ec shlq $32, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x000009f0 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000009f4 jne LBB0_109 + 0x4d, 0x85, 0xed, //0x000009fa testq %r13, %r13 + 0x0f, 0x85, 0x9a, 0x00, 0x00, 0x00, //0x000009fd jne LBB0_124 + //0x00000a03 LBB0_109 + 0x49, 0xc1, 0xe6, 0x30, //0x00000a03 shlq $48, %r14 + 0x48, 0x09, 0xca, //0x00000a07 orq %rcx, %rdx + 0x4c, 0x09, 0xe6, //0x00000a0a orq %r12, %rsi + 0x4c, 0x89, 0xe9, //0x00000a0d movq %r13, %rcx + 0x48, 0x09, 0xd9, //0x00000a10 orq %rbx, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000a13 jne LBB0_146 + 0x4c, 0x09, 0xf2, //0x00000a19 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000a1c testq %rsi, %rsi + 0x0f, 0x85, 0x54, 0x02, 0x00, 0x00, //0x00000a1f jne LBB0_147 + //0x00000a25 LBB0_111 + 0x48, 0x85, 0xd2, //0x00000a25 testq %rdx, %rdx + 0x0f, 0x85, 0xf6, 0x1b, 0x00, 0x00, //0x00000a28 jne LBB0_430 + 0x48, 0x83, 0xc0, 0xc0, //0x00000a2e addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x00000a32 addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x00000a36 cmpq $63, %rax + 0x0f, 0x87, 0xb0, 0xfe, 0xff, 0xff, //0x00000a3a ja LBB0_107 + 0xe9, 0x92, 0x0e, 0x00, 0x00, //0x00000a40 jmp LBB0_113 + //0x00000a45 LBB0_146 + 0x48, 0x89, 0xd9, //0x00000a45 movq %rbx, %rcx + 0x48, 0xf7, 0xd1, //0x00000a48 notq %rcx + 0x4c, 0x21, 0xe9, //0x00000a4b andq %r13, %rcx + 0x4c, 0x8d, 0x24, 0x09, //0x00000a4e leaq (%rcx,%rcx), %r12 + 0x49, 0x09, 0xdc, //0x00000a52 orq %rbx, %r12 + 0x4c, 0x89, 0xe7, //0x00000a55 movq %r12, %rdi + 0x48, 0xf7, 0xd7, //0x00000a58 notq %rdi + 0x4c, 0x21, 0xef, //0x00000a5b andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000a5e movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x00000a68 andq %rbx, %rdi + 0x31, 0xdb, //0x00000a6b xorl %ebx, %ebx + 0x48, 0x01, 0xcf, //0x00000a6d addq %rcx, %rdi + 0x0f, 0x92, 0xc3, //0x00000a70 setb %bl + 0x48, 0x01, 0xff, //0x00000a73 addq %rdi, %rdi + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000a76 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcf, //0x00000a80 xorq %rcx, %rdi + 0x4c, 0x21, 0xe7, //0x00000a83 andq %r12, %rdi + 0x48, 0xf7, 0xd7, //0x00000a86 notq %rdi + 0x48, 0x21, 0xfe, //0x00000a89 andq %rdi, %rsi + 0x4c, 0x09, 0xf2, //0x00000a8c orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000a8f testq %rsi, %rsi + 0x0f, 0x84, 0x8d, 0xff, 0xff, 0xff, //0x00000a92 je LBB0_111 + 0xe9, 0xdc, 0x01, 0x00, 0x00, //0x00000a98 jmp LBB0_147 + //0x00000a9d LBB0_124 + 0x4c, 0x89, 0xdf, //0x00000a9d movq %r11, %rdi + 0x48, 0x2b, 0x7d, 0xd0, //0x00000aa0 subq $-48(%rbp), %rdi + 0x4d, 0x0f, 0xbc, 0xcd, //0x00000aa4 bsfq %r13, %r9 + 0x49, 0x01, 0xf9, //0x00000aa8 addq %rdi, %r9 + 0xe9, 0x53, 0xff, 0xff, 0xff, //0x00000aab jmp LBB0_109 + //0x00000ab0 LBB0_127 + 0x4b, 0xc7, 0x04, 0xda, 0x02, 0x00, 0x00, 0x00, //0x00000ab0 movq $2, (%r10,%r11,8) + 0x48, 0x8b, 0x45, 0x98, //0x00000ab8 movq $-104(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x00000abc movq $8(%rax), %r10 + 0xf6, 0x45, 0x80, 0x20, //0x00000ac0 testb $32, $-128(%rbp) + 0x0f, 0x85, 0x6b, 0x02, 0x00, 0x00, //0x00000ac4 jne LBB0_161 + 0x4d, 0x89, 0xd5, //0x00000aca movq %r10, %r13 + 0x48, 0x8b, 0x45, 0xc0, //0x00000acd movq $-64(%rbp), %rax + 0x49, 0x29, 0xc5, //0x00000ad1 subq %rax, %r13 + 0x0f, 0x84, 0x31, 0x1d, 0x00, 0x00, //0x00000ad4 je LBB0_464 + 0x4d, 0x8d, 0x1c, 0x01, //0x00000ada leaq (%r9,%rax), %r11 + 0x49, 0x83, 0xfd, 0x40, //0x00000ade cmpq $64, %r13 + 0x0f, 0x82, 0x60, 0x15, 0x00, 0x00, //0x00000ae2 jb LBB0_362 + 0x44, 0x89, 0xe9, //0x00000ae8 movl %r13d, %ecx + 0x83, 0xe1, 0x3f, //0x00000aeb andl $63, %ecx + 0x48, 0x89, 0x4d, 0xb0, //0x00000aee movq %rcx, $-80(%rbp) + 0x4b, 0x8d, 0x4c, 0x02, 0xc0, //0x00000af2 leaq $-64(%r10,%r8), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000af7 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000afb addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x90, //0x00000afe addq $-112(%rbp), %rcx + 0x48, 0x89, 0x8d, 0x70, 0xff, 0xff, 0xff, //0x00000b02 movq %rcx, $-144(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000b09 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00000b10 xorl %r9d, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000b13 .p2align 4, 0x90 + //0x00000b20 LBB0_131 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00000b20 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00000b25 movdqu $16(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6b, 0x20, //0x00000b2b movdqu $32(%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x30, //0x00000b31 movdqu $48(%r11), %xmm6 + 0x66, 0x0f, 0x6f, 0xfb, //0x00000b37 movdqa %xmm3, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b3b pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xff, //0x00000b3f pmovmskb %xmm7, %edi + 0x66, 0x0f, 0x6f, 0xfc, //0x00000b43 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b47 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x00000b4b pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x6f, 0xfd, //0x00000b4f movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b53 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00000b57 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfe, //0x00000b5b movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b5f pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xdf, //0x00000b63 pmovmskb %xmm7, %ebx + 0x66, 0x0f, 0x74, 0xd9, //0x00000b67 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x00000b6b pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x74, 0xe1, //0x00000b6f pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00000b73 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x74, 0xe9, //0x00000b77 pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xf5, //0x00000b7b pmovmskb %xmm5, %r14d + 0x66, 0x0f, 0x74, 0xf1, //0x00000b80 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xe6, //0x00000b84 pmovmskb %xmm6, %r12d + 0x48, 0xc1, 0xe3, 0x30, //0x00000b89 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x00000b8d shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00000b91 shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00000b95 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00000b98 orq %rsi, %rdi + 0x49, 0xc1, 0xe4, 0x30, //0x00000b9b shlq $48, %r12 + 0x49, 0xc1, 0xe6, 0x20, //0x00000b9f shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x00000ba3 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00000ba7 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x00000baa orq %r14, %rdx + 0x4c, 0x09, 0xe2, //0x00000bad orq %r12, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000bb0 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000bb4 jne LBB0_133 + 0x48, 0x85, 0xd2, //0x00000bba testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000bbd jne LBB0_142 + //0x00000bc3 LBB0_133 + 0x48, 0x09, 0xdf, //0x00000bc3 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000bc6 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00000bc9 orq %r9, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x00000bcc jne LBB0_143 + //0x00000bd2 LBB0_134 + 0x48, 0x85, 0xff, //0x00000bd2 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00000bd5 jne LBB0_144 + //0x00000bdb LBB0_135 + 0x49, 0x83, 0xc5, 0xc0, //0x00000bdb addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x00000bdf addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000be3 cmpq $63, %r13 + 0x0f, 0x87, 0x33, 0xff, 0xff, 0xff, //0x00000be7 ja LBB0_131 + 0xe9, 0x24, 0x0e, 0x00, 0x00, //0x00000bed jmp LBB0_136 + //0x00000bf2 LBB0_142 + 0x4c, 0x89, 0xd8, //0x00000bf2 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000bf5 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc2, //0x00000bf9 bsfq %rdx, %r8 + 0x49, 0x01, 0xc0, //0x00000bfd addq %rax, %r8 + 0x48, 0x09, 0xdf, //0x00000c00 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000c03 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00000c06 orq %r9, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000c09 je LBB0_134 + //0x00000c0f LBB0_143 + 0x4c, 0x89, 0xc8, //0x00000c0f movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000c12 notq %rax + 0x48, 0x21, 0xd0, //0x00000c15 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000c18 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x00000c1c orq %r9, %rcx + 0x48, 0x89, 0xce, //0x00000c1f movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000c22 notq %rsi + 0x48, 0x21, 0xd6, //0x00000c25 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000c28 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000c32 andq %rdx, %rsi + 0x45, 0x31, 0xc9, //0x00000c35 xorl %r9d, %r9d + 0x48, 0x01, 0xc6, //0x00000c38 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc1, //0x00000c3b setb %r9b + 0x48, 0x01, 0xf6, //0x00000c3f addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000c42 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x00000c4c xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x00000c4f andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000c52 notq %rsi + 0x48, 0x21, 0xf7, //0x00000c55 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000c58 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00000c5b je LBB0_135 + //0x00000c61 LBB0_144 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000c61 bsfq %rdi, %rax + //0x00000c65 LBB0_145 + 0x4c, 0x03, 0x5d, 0xa0, //0x00000c65 addq $-96(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000c69 addq %rax, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x00000c6c movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000c70 movq $-48(%rbp), %r9 + 0xe9, 0x84, 0x03, 0x00, 0x00, //0x00000c74 jmp LBB0_195 + //0x00000c79 LBB0_147 + 0x48, 0x0f, 0xbc, 0xc6, //0x00000c79 bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00000c7d testq %rdx, %rdx + 0x0f, 0x84, 0xf1, 0x02, 0x00, 0x00, //0x00000c80 je LBB0_186 + 0x48, 0x0f, 0xbc, 0xca, //0x00000c86 bsfq %rdx, %rcx + 0x48, 0x8b, 0x7d, 0xc0, //0x00000c8a movq $-64(%rbp), %rdi + 0x4c, 0x2b, 0x5d, 0xd0, //0x00000c8e subq $-48(%rbp), %r11 + 0x48, 0x39, 0xc1, //0x00000c92 cmpq %rax, %rcx + 0x0f, 0x83, 0xf2, 0x02, 0x00, 0x00, //0x00000c95 jae LBB0_187 + 0xe9, 0x47, 0x1b, 0x00, 0x00, //0x00000c9b jmp LBB0_149 + //0x00000ca0 LBB0_151 + 0x49, 0x01, 0xce, //0x00000ca0 addq %rcx, %r14 + 0x4d, 0x89, 0xf3, //0x00000ca3 movq %r14, %r11 + 0x48, 0x8b, 0x7d, 0xc0, //0x00000ca6 movq $-64(%rbp), %rdi + //0x00000caa LBB0_152 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000caa movq $-1, %rax + 0x4d, 0x85, 0xe4, //0x00000cb1 testq %r12, %r12 + 0x48, 0x8b, 0x75, 0xc8, //0x00000cb4 movq $-56(%rbp), %rsi + 0x0f, 0x84, 0x26, 0x19, 0x00, 0x00, //0x00000cb8 je LBB0_424 + //0x00000cbe LBB0_153 + 0x48, 0x85, 0xff, //0x00000cbe testq %rdi, %rdi + 0x0f, 0x84, 0x1d, 0x19, 0x00, 0x00, //0x00000cc1 je LBB0_424 + 0x4d, 0x85, 0xed, //0x00000cc7 testq %r13, %r13 + 0x0f, 0x84, 0x14, 0x19, 0x00, 0x00, //0x00000cca je LBB0_424 + 0x4d, 0x29, 0xd3, //0x00000cd0 subq %r10, %r11 + 0x49, 0x8d, 0x43, 0xff, //0x00000cd3 leaq $-1(%r11), %rax + 0x49, 0x39, 0xc4, //0x00000cd7 cmpq %rax, %r12 + 0x0f, 0x84, 0x40, 0x00, 0x00, 0x00, //0x00000cda je LBB0_422 + 0x49, 0x39, 0xc5, //0x00000ce0 cmpq %rax, %r13 + 0x0f, 0x84, 0x37, 0x00, 0x00, 0x00, //0x00000ce3 je LBB0_422 + 0x48, 0x39, 0xc7, //0x00000ce9 cmpq %rax, %rdi + 0x0f, 0x84, 0x2e, 0x00, 0x00, 0x00, //0x00000cec je LBB0_422 + 0x48, 0x85, 0xff, //0x00000cf2 testq %rdi, %rdi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000cf5 movq $-48(%rbp), %r9 + 0x0f, 0x8e, 0xb8, 0x02, 0x00, 0x00, //0x00000cf9 jle LBB0_190 + 0x48, 0x8d, 0x47, 0xff, //0x00000cff leaq $-1(%rdi), %rax + 0x49, 0x39, 0xc4, //0x00000d03 cmpq %rax, %r12 + 0x0f, 0x84, 0xab, 0x02, 0x00, 0x00, //0x00000d06 je LBB0_190 + 0x48, 0xf7, 0xd7, //0x00000d0c notq %rdi + 0x49, 0x89, 0xfb, //0x00000d0f movq %rdi, %r11 + 0x4d, 0x85, 0xdb, //0x00000d12 testq %r11, %r11 + 0x0f, 0x89, 0xe4, 0x0f, 0x00, 0x00, //0x00000d15 jns LBB0_335 + 0xe9, 0xc1, 0x18, 0x00, 0x00, //0x00000d1b jmp LBB0_423 + //0x00000d20 LBB0_422 + 0x49, 0xf7, 0xdb, //0x00000d20 negq %r11 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000d23 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xdb, //0x00000d27 testq %r11, %r11 + 0x0f, 0x89, 0xcf, 0x0f, 0x00, 0x00, //0x00000d2a jns LBB0_335 + 0xe9, 0xac, 0x18, 0x00, 0x00, //0x00000d30 jmp LBB0_423 + //0x00000d35 LBB0_161 + 0x4c, 0x89, 0xd0, //0x00000d35 movq %r10, %rax + 0x48, 0x8b, 0x4d, 0xc0, //0x00000d38 movq $-64(%rbp), %rcx + 0x48, 0x29, 0xc8, //0x00000d3c subq %rcx, %rax + 0x0f, 0x84, 0xce, 0x1a, 0x00, 0x00, //0x00000d3f je LBB0_465 + 0x4d, 0x8d, 0x1c, 0x09, //0x00000d45 leaq (%r9,%rcx), %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00000d49 cmpq $64, %rax + 0x4c, 0x89, 0x55, 0xb8, //0x00000d4d movq %r10, $-72(%rbp) + 0x0f, 0x82, 0x0a, 0x13, 0x00, 0x00, //0x00000d51 jb LBB0_363 + 0x89, 0xc2, //0x00000d57 movl %eax, %edx + 0x83, 0xe2, 0x3f, //0x00000d59 andl $63, %edx + 0x48, 0x89, 0x55, 0xb0, //0x00000d5c movq %rdx, $-80(%rbp) + 0x4f, 0x8d, 0x64, 0x02, 0xc0, //0x00000d60 leaq $-64(%r10,%r8), %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00000d65 andq $-64, %r12 + 0x49, 0x01, 0xcc, //0x00000d69 addq %rcx, %r12 + 0x4c, 0x03, 0x65, 0x90, //0x00000d6c addq $-112(%rbp), %r12 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000d70 movq $-1, %r8 + 0x45, 0x31, 0xd2, //0x00000d77 xorl %r10d, %r10d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d7a .p2align 4, 0x90 + //0x00000d80 LBB0_164 + 0xf3, 0x41, 0x0f, 0x6f, 0x2b, //0x00000d80 movdqu (%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x10, //0x00000d85 movdqu $16(%r11), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x20, //0x00000d8b movdqu $32(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x7b, 0x30, //0x00000d91 movdqu $48(%r11), %xmm7 + 0x66, 0x0f, 0x6f, 0xdd, //0x00000d97 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000d9b pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x00000d9f pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xde, //0x00000da3 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000da7 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x00000dab pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdc, //0x00000daf movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000db3 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00000db7 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdf, //0x00000dbb movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000dbf pcmpeqb %xmm0, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00000dc3 pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xdd, //0x00000dc8 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000dcc pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x00000dd0 pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xde, //0x00000dd5 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000dd9 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x00000ddd pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x6f, 0xdc, //0x00000de1 movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000de5 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe7, 0x10, //0x00000de9 shlq $16, %rdi + 0x48, 0x09, 0xfb, //0x00000ded orq %rdi, %rbx + 0x66, 0x0f, 0xd7, 0xfb, //0x00000df0 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdf, //0x00000df4 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000df8 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe1, 0x20, //0x00000dfc shlq $32, %rcx + 0x48, 0x09, 0xcb, //0x00000e00 orq %rcx, %rbx + 0x66, 0x0f, 0xd7, 0xcb, //0x00000e03 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x00000e07 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdd, //0x00000e0b pcmpgtb %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xee, //0x00000e0f pcmpgtb %xmm14, %xmm5 + 0x66, 0x0f, 0xdb, 0xeb, //0x00000e14 pand %xmm3, %xmm5 + 0x48, 0xc1, 0xe2, 0x10, //0x00000e18 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x00000e1c orq %rdx, %r13 + 0x66, 0x0f, 0xd7, 0xd5, //0x00000e1f pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xda, //0x00000e23 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xde, //0x00000e27 pcmpgtb %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xf6, //0x00000e2b pcmpgtb %xmm14, %xmm6 + 0x66, 0x0f, 0xdb, 0xf3, //0x00000e30 pand %xmm3, %xmm6 + 0x48, 0xc1, 0xe7, 0x20, //0x00000e34 shlq $32, %rdi + 0x49, 0x09, 0xfd, //0x00000e38 orq %rdi, %r13 + 0x66, 0x0f, 0xd7, 0xfe, //0x00000e3b pmovmskb %xmm6, %edi + 0x66, 0x0f, 0x6f, 0xda, //0x00000e3f movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00000e43 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00000e47 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00000e4c pand %xmm3, %xmm4 + 0x48, 0xc1, 0xe1, 0x30, //0x00000e50 shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000e54 orq %rcx, %r13 + 0x66, 0x0f, 0xd7, 0xcc, //0x00000e57 pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x00000e5b movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdf, //0x00000e5f pcmpgtb %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xfe, //0x00000e63 pcmpgtb %xmm14, %xmm7 + 0x66, 0x0f, 0xdb, 0xfb, //0x00000e68 pand %xmm3, %xmm7 + 0x48, 0xc1, 0xe7, 0x10, //0x00000e6c shlq $16, %rdi + 0x48, 0x09, 0xfa, //0x00000e70 orq %rdi, %rdx + 0x66, 0x0f, 0xd7, 0xff, //0x00000e73 pmovmskb %xmm7, %edi + 0x49, 0xc1, 0xe6, 0x30, //0x00000e77 shlq $48, %r14 + 0x48, 0xc1, 0xe1, 0x20, //0x00000e7b shlq $32, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00000e7f cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000e83 jne LBB0_166 + 0x4d, 0x85, 0xed, //0x00000e89 testq %r13, %r13 + 0x0f, 0x85, 0xa4, 0x00, 0x00, 0x00, //0x00000e8c jne LBB0_181 + //0x00000e92 LBB0_166 + 0x48, 0xc1, 0xe7, 0x30, //0x00000e92 shlq $48, %rdi + 0x48, 0x09, 0xca, //0x00000e96 orq %rcx, %rdx + 0x4c, 0x09, 0xf3, //0x00000e99 orq %r14, %rbx + 0x4c, 0x89, 0xe9, //0x00000e9c movq %r13, %rcx + 0x4c, 0x09, 0xd1, //0x00000e9f orq %r10, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000ea2 jne LBB0_182 + 0x48, 0x09, 0xfa, //0x00000ea8 orq %rdi, %rdx + 0x48, 0x85, 0xdb, //0x00000eab testq %rbx, %rbx + 0x0f, 0x85, 0x9d, 0x00, 0x00, 0x00, //0x00000eae jne LBB0_183 + //0x00000eb4 LBB0_168 + 0x48, 0x85, 0xd2, //0x00000eb4 testq %rdx, %rdx + 0x0f, 0x85, 0x95, 0x17, 0x00, 0x00, //0x00000eb7 jne LBB0_435 + 0x48, 0x83, 0xc0, 0xc0, //0x00000ebd addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x00000ec1 addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x00000ec5 cmpq $63, %rax + 0x0f, 0x87, 0xb1, 0xfe, 0xff, 0xff, //0x00000ec9 ja LBB0_164 + 0xe9, 0xc9, 0x0b, 0x00, 0x00, //0x00000ecf jmp LBB0_170 + //0x00000ed4 LBB0_182 + 0x4d, 0x89, 0xd6, //0x00000ed4 movq %r10, %r14 + 0x49, 0xf7, 0xd6, //0x00000ed7 notq %r14 + 0x4d, 0x21, 0xee, //0x00000eda andq %r13, %r14 + 0x4f, 0x8d, 0x0c, 0x36, //0x00000edd leaq (%r14,%r14), %r9 + 0x4d, 0x09, 0xd1, //0x00000ee1 orq %r10, %r9 + 0x4c, 0x89, 0xc9, //0x00000ee4 movq %r9, %rcx + 0x48, 0xf7, 0xd1, //0x00000ee7 notq %rcx + 0x4c, 0x21, 0xe9, //0x00000eea andq %r13, %rcx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000eed movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf1, //0x00000ef7 andq %rsi, %rcx + 0x45, 0x31, 0xd2, //0x00000efa xorl %r10d, %r10d + 0x4c, 0x01, 0xf1, //0x00000efd addq %r14, %rcx + 0x41, 0x0f, 0x92, 0xc2, //0x00000f00 setb %r10b + 0x48, 0x01, 0xc9, //0x00000f04 addq %rcx, %rcx + 0x48, 0xbe, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000f07 movabsq $6148914691236517205, %rsi + 0x48, 0x31, 0xf1, //0x00000f11 xorq %rsi, %rcx + 0x4c, 0x21, 0xc9, //0x00000f14 andq %r9, %rcx + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000f17 movq $-48(%rbp), %r9 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f1b movq $-56(%rbp), %rsi + 0x48, 0xf7, 0xd1, //0x00000f1f notq %rcx + 0x48, 0x21, 0xcb, //0x00000f22 andq %rcx, %rbx + 0x48, 0x09, 0xfa, //0x00000f25 orq %rdi, %rdx + 0x48, 0x85, 0xdb, //0x00000f28 testq %rbx, %rbx + 0x0f, 0x84, 0x83, 0xff, 0xff, 0xff, //0x00000f2b je LBB0_168 + 0xe9, 0x1b, 0x00, 0x00, 0x00, //0x00000f31 jmp LBB0_183 + //0x00000f36 LBB0_181 + 0x4d, 0x89, 0xd9, //0x00000f36 movq %r11, %r9 + 0x4c, 0x2b, 0x4d, 0xd0, //0x00000f39 subq $-48(%rbp), %r9 + 0x4d, 0x0f, 0xbc, 0xc5, //0x00000f3d bsfq %r13, %r8 + 0x4d, 0x01, 0xc8, //0x00000f41 addq %r9, %r8 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000f44 movq $-48(%rbp), %r9 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f48 movq $-56(%rbp), %rsi + 0xe9, 0x41, 0xff, 0xff, 0xff, //0x00000f4c jmp LBB0_166 + //0x00000f51 LBB0_183 + 0x48, 0x0f, 0xbc, 0xc3, //0x00000f51 bsfq %rbx, %rax + 0x48, 0x85, 0xd2, //0x00000f55 testq %rdx, %rdx + 0x0f, 0x84, 0x85, 0x00, 0x00, 0x00, //0x00000f58 je LBB0_193 + 0x48, 0x0f, 0xbc, 0xca, //0x00000f5e bsfq %rdx, %rcx + 0x4c, 0x8b, 0x55, 0xb8, //0x00000f62 movq $-72(%rbp), %r10 + 0x4d, 0x29, 0xcb, //0x00000f66 subq %r9, %r11 + 0x48, 0x39, 0xc1, //0x00000f69 cmpq %rax, %rcx + 0x0f, 0x83, 0x86, 0x00, 0x00, 0x00, //0x00000f6c jae LBB0_194 + 0xe9, 0x82, 0x18, 0x00, 0x00, //0x00000f72 jmp LBB0_185 + //0x00000f77 LBB0_186 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000f77 movl $64, %ecx + 0x48, 0x8b, 0x7d, 0xc0, //0x00000f7c movq $-64(%rbp), %rdi + 0x4c, 0x2b, 0x5d, 0xd0, //0x00000f80 subq $-48(%rbp), %r11 + 0x48, 0x39, 0xc1, //0x00000f84 cmpq %rax, %rcx + 0x0f, 0x82, 0x5a, 0x18, 0x00, 0x00, //0x00000f87 jb LBB0_149 + //0x00000f8d LBB0_187 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000f8d leaq $1(%r11,%rax), %r11 + //0x00000f92 LBB0_188 + 0x4d, 0x85, 0xdb, //0x00000f92 testq %r11, %r11 + 0x0f, 0x88, 0x21, 0x16, 0x00, 0x00, //0x00000f95 js LBB0_419 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f9b movq $-56(%rbp), %rsi + 0x4c, 0x89, 0x1e, //0x00000f9f movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000fa2 movq %r15, %rax + 0x48, 0x85, 0xff, //0x00000fa5 testq %rdi, %rdi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000fa8 movq $-48(%rbp), %r9 + 0x0f, 0x8f, 0xe2, 0xf1, 0xff, 0xff, //0x00000fac jg LBB0_4 + 0xe9, 0x3d, 0x16, 0x00, 0x00, //0x00000fb2 jmp LBB0_427 + //0x00000fb7 LBB0_190 + 0x4c, 0x89, 0xe8, //0x00000fb7 movq %r13, %rax + 0x4c, 0x09, 0xe0, //0x00000fba orq %r12, %rax + 0x4d, 0x39, 0xe5, //0x00000fbd cmpq %r12, %r13 + 0x0f, 0x8c, 0xd9, 0x04, 0x00, 0x00, //0x00000fc0 jl LBB0_256 + 0x48, 0x85, 0xc0, //0x00000fc6 testq %rax, %rax + 0x0f, 0x88, 0xd0, 0x04, 0x00, 0x00, //0x00000fc9 js LBB0_256 + 0x49, 0xf7, 0xd5, //0x00000fcf notq %r13 + 0x4d, 0x89, 0xeb, //0x00000fd2 movq %r13, %r11 + 0x4d, 0x85, 0xdb, //0x00000fd5 testq %r11, %r11 + 0x0f, 0x89, 0x21, 0x0d, 0x00, 0x00, //0x00000fd8 jns LBB0_335 + 0xe9, 0xfe, 0x15, 0x00, 0x00, //0x00000fde jmp LBB0_423 + //0x00000fe3 LBB0_193 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000fe3 movl $64, %ecx + 0x4c, 0x8b, 0x55, 0xb8, //0x00000fe8 movq $-72(%rbp), %r10 + 0x4d, 0x29, 0xcb, //0x00000fec subq %r9, %r11 + 0x48, 0x39, 0xc1, //0x00000fef cmpq %rax, %rcx + 0x0f, 0x82, 0x01, 0x18, 0x00, 0x00, //0x00000ff2 jb LBB0_185 + //0x00000ff8 LBB0_194 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000ff8 leaq $1(%r11,%rax), %r11 + //0x00000ffd LBB0_195 + 0x4d, 0x85, 0xdb, //0x00000ffd testq %r11, %r11 + 0x0f, 0x88, 0xfd, 0x15, 0x00, 0x00, //0x00001000 js LBB0_428 + 0x4c, 0x89, 0x1e, //0x00001006 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00001009 movq %r15, %rax + 0x48, 0x83, 0x7d, 0xc0, 0x00, //0x0000100c cmpq $0, $-64(%rbp) + 0x0f, 0x8e, 0xdd, 0x15, 0x00, 0x00, //0x00001011 jle LBB0_427 + 0x48, 0x8b, 0x55, 0x88, //0x00001017 movq $-120(%rbp), %rdx + 0x48, 0x8b, 0x02, //0x0000101b movq (%rdx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x0000101e cmpq $4095, %rax + 0x0f, 0x8f, 0x86, 0x15, 0x00, 0x00, //0x00001024 jg LBB0_439 + 0x48, 0x8d, 0x48, 0x01, //0x0000102a leaq $1(%rax), %rcx + 0x48, 0x89, 0x0a, //0x0000102e movq %rcx, (%rdx) + 0x48, 0xc7, 0x44, 0xc2, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00001031 movq $4, $8(%rdx,%rax,8) + 0xe9, 0x55, 0xf1, 0xff, 0xff, //0x0000103a jmp LBB0_4 + //0x0000103f LBB0_199 + 0x48, 0x8b, 0x45, 0x98, //0x0000103f movq $-104(%rbp), %rax + 0x48, 0x8b, 0x48, 0x08, //0x00001043 movq $8(%rax), %rcx + 0xf6, 0x45, 0x80, 0x20, //0x00001047 testb $32, $-128(%rbp) + 0x48, 0x89, 0x4d, 0xb8, //0x0000104b movq %rcx, $-72(%rbp) + 0x49, 0x89, 0xca, //0x0000104f movq %rcx, %r10 + 0x0f, 0x85, 0xe7, 0x04, 0x00, 0x00, //0x00001052 jne LBB0_266 + 0x48, 0x8b, 0x45, 0xc0, //0x00001058 movq $-64(%rbp), %rax + 0x49, 0x29, 0xc2, //0x0000105c subq %rax, %r10 + 0x0f, 0x84, 0xb6, 0x17, 0x00, 0x00, //0x0000105f je LBB0_466 + 0x4d, 0x8d, 0x1c, 0x01, //0x00001065 leaq (%r9,%rax), %r11 + 0x49, 0x83, 0xfa, 0x40, //0x00001069 cmpq $64, %r10 + 0x0f, 0x82, 0x72, 0x10, 0x00, 0x00, //0x0000106d jb LBB0_368 + 0x44, 0x89, 0xd2, //0x00001073 movl %r10d, %edx + 0x83, 0xe2, 0x3f, //0x00001076 andl $63, %edx + 0x48, 0x89, 0x55, 0xb0, //0x00001079 movq %rdx, $-80(%rbp) + 0x4e, 0x8d, 0x64, 0x01, 0xc0, //0x0000107d leaq $-64(%rcx,%r8), %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00001082 andq $-64, %r12 + 0x49, 0x01, 0xc4, //0x00001086 addq %rax, %r12 + 0x4c, 0x03, 0x65, 0x90, //0x00001089 addq $-112(%rbp), %r12 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000108d movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00001094 xorl %r9d, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001097 .p2align 4, 0x90 + //0x000010a0 LBB0_203 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x000010a0 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x000010a5 movdqu $16(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6b, 0x20, //0x000010ab movdqu $32(%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x30, //0x000010b1 movdqu $48(%r11), %xmm6 + 0x66, 0x0f, 0x6f, 0xfb, //0x000010b7 movdqa %xmm3, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010bb pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xff, //0x000010bf pmovmskb %xmm7, %edi + 0x66, 0x0f, 0x6f, 0xfc, //0x000010c3 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010c7 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x000010cb pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x6f, 0xfd, //0x000010cf movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010d3 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x000010d7 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfe, //0x000010db movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010df pcmpeqb %xmm0, %xmm7 + 0x66, 0x44, 0x0f, 0xd7, 0xef, //0x000010e3 pmovmskb %xmm7, %r13d + 0x66, 0x0f, 0x74, 0xd9, //0x000010e8 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x000010ec pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x74, 0xe1, //0x000010f0 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x000010f4 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x74, 0xe9, //0x000010f8 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x000010fc pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x74, 0xf1, //0x00001100 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xf6, //0x00001104 pmovmskb %xmm6, %r14d + 0x49, 0xc1, 0xe5, 0x30, //0x00001109 shlq $48, %r13 + 0x48, 0xc1, 0xe6, 0x20, //0x0000110d shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00001111 shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00001115 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00001118 orq %rsi, %rdi + 0x49, 0xc1, 0xe6, 0x30, //0x0000111b shlq $48, %r14 + 0x48, 0xc1, 0xe3, 0x20, //0x0000111f shlq $32, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x00001123 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00001127 orq %rax, %rdx + 0x48, 0x09, 0xda, //0x0000112a orq %rbx, %rdx + 0x4c, 0x09, 0xf2, //0x0000112d orq %r14, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001130 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001134 jne LBB0_205 + 0x48, 0x85, 0xd2, //0x0000113a testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000113d jne LBB0_214 + //0x00001143 LBB0_205 + 0x4c, 0x09, 0xef, //0x00001143 orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x00001146 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00001149 orq %r9, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000114c jne LBB0_215 + //0x00001152 LBB0_206 + 0x48, 0x85, 0xff, //0x00001152 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00001155 jne LBB0_216 + //0x0000115b LBB0_207 + 0x49, 0x83, 0xc2, 0xc0, //0x0000115b addq $-64, %r10 + 0x49, 0x83, 0xc3, 0x40, //0x0000115f addq $64, %r11 + 0x49, 0x83, 0xfa, 0x3f, //0x00001163 cmpq $63, %r10 + 0x0f, 0x87, 0x33, 0xff, 0xff, 0xff, //0x00001167 ja LBB0_203 + 0xe9, 0xe6, 0x0b, 0x00, 0x00, //0x0000116d jmp LBB0_208 + //0x00001172 LBB0_214 + 0x4c, 0x89, 0xd8, //0x00001172 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00001175 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc2, //0x00001179 bsfq %rdx, %r8 + 0x49, 0x01, 0xc0, //0x0000117d addq %rax, %r8 + 0x4c, 0x09, 0xef, //0x00001180 orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x00001183 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00001186 orq %r9, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00001189 je LBB0_206 + //0x0000118f LBB0_215 + 0x4c, 0x89, 0xc8, //0x0000118f movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00001192 notq %rax + 0x48, 0x21, 0xd0, //0x00001195 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00001198 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x0000119c orq %r9, %rcx + 0x48, 0x89, 0xce, //0x0000119f movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x000011a2 notq %rsi + 0x48, 0x21, 0xd6, //0x000011a5 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000011a8 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x000011b2 andq %rdx, %rsi + 0x45, 0x31, 0xc9, //0x000011b5 xorl %r9d, %r9d + 0x48, 0x01, 0xc6, //0x000011b8 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc1, //0x000011bb setb %r9b + 0x48, 0x01, 0xf6, //0x000011bf addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000011c2 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x000011cc xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x000011cf andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x000011d2 notq %rsi + 0x48, 0x21, 0xf7, //0x000011d5 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x000011d8 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x000011db je LBB0_207 + //0x000011e1 LBB0_216 + 0x48, 0x0f, 0xbc, 0xc7, //0x000011e1 bsfq %rdi, %rax + 0x4c, 0x03, 0x5d, 0xa0, //0x000011e5 addq $-96(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x000011e9 addq %rax, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x000011ec movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x000011f0 movq $-48(%rbp), %r9 + 0x48, 0x8b, 0x7d, 0xb8, //0x000011f4 movq $-72(%rbp), %rdi + 0xe9, 0x02, 0x06, 0x00, 0x00, //0x000011f8 jmp LBB0_304 + //0x000011fd LBB0_217 + 0x48, 0x8b, 0x45, 0x98, //0x000011fd movq $-104(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x00001201 movq $8(%rax), %r10 + 0x48, 0x8b, 0x45, 0xc0, //0x00001205 movq $-64(%rbp), %rax + 0x49, 0x29, 0xc2, //0x00001209 subq %rax, %r10 + 0x0f, 0x84, 0x56, 0x14, 0x00, 0x00, //0x0000120c je LBB0_437 + 0x4d, 0x8d, 0x24, 0x01, //0x00001212 leaq (%r9,%rax), %r12 + 0x41, 0x80, 0x3c, 0x24, 0x30, //0x00001216 cmpb $48, (%r12) + 0x0f, 0x85, 0x36, 0x00, 0x00, 0x00, //0x0000121b jne LBB0_222 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001221 movl $1, %r11d + 0x49, 0x83, 0xfa, 0x01, //0x00001227 cmpq $1, %r10 + 0x0f, 0x84, 0x03, 0x0b, 0x00, 0x00, //0x0000122b je LBB0_341 + 0x41, 0x8a, 0x44, 0x24, 0x01, //0x00001231 movb $1(%r12), %al + 0x04, 0xd2, //0x00001236 addb $-46, %al + 0x3c, 0x37, //0x00001238 cmpb $55, %al + 0x0f, 0x87, 0xf4, 0x0a, 0x00, 0x00, //0x0000123a ja LBB0_341 + 0x0f, 0xb6, 0xc0, //0x00001240 movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00001243 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x0000124d btq %rax, %rcx + 0x0f, 0x83, 0xdd, 0x0a, 0x00, 0x00, //0x00001251 jae LBB0_341 + //0x00001257 LBB0_222 + 0x49, 0x83, 0xfa, 0x10, //0x00001257 cmpq $16, %r10 + 0x0f, 0x82, 0x5d, 0x0e, 0x00, 0x00, //0x0000125b jb LBB0_367 + 0x4d, 0x8d, 0x4a, 0xf0, //0x00001261 leaq $-16(%r10), %r9 + 0x4c, 0x89, 0xc8, //0x00001265 movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00001268 andq $-16, %rax + 0x4e, 0x8d, 0x44, 0x20, 0x10, //0x0000126c leaq $16(%rax,%r12), %r8 + 0x41, 0x83, 0xe1, 0x0f, //0x00001271 andl $15, %r9d + 0x48, 0xc7, 0x45, 0xb0, 0xff, 0xff, 0xff, 0xff, //0x00001275 movq $-1, $-80(%rbp) + 0x48, 0xc7, 0x45, 0xb8, 0xff, 0xff, 0xff, 0xff, //0x0000127d movq $-1, $-72(%rbp) + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001285 movq $-1, %r14 + 0x4d, 0x89, 0xe5, //0x0000128c movq %r12, %r13 + 0x90, //0x0000128f .p2align 4, 0x90 + //0x00001290 LBB0_224 + 0xf3, 0x41, 0x0f, 0x6f, 0x5d, 0x00, //0x00001290 movdqu (%r13), %xmm3 + 0x66, 0x0f, 0x6f, 0xe3, //0x00001296 movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x64, 0xe0, //0x0000129a pcmpgtb %xmm8, %xmm4 + 0x66, 0x41, 0x0f, 0x6f, 0xed, //0x0000129f movdqa %xmm13, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x000012a4 pcmpgtb %xmm3, %xmm5 + 0x66, 0x0f, 0xdb, 0xec, //0x000012a8 pand %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xe3, //0x000012ac movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xe1, //0x000012b0 pcmpeqb %xmm9, %xmm4 + 0x66, 0x0f, 0x6f, 0xf3, //0x000012b5 movdqa %xmm3, %xmm6 + 0x66, 0x41, 0x0f, 0x74, 0xf2, //0x000012b9 pcmpeqb %xmm10, %xmm6 + 0x66, 0x0f, 0xeb, 0xf4, //0x000012be por %xmm4, %xmm6 + 0x66, 0x0f, 0x6f, 0xe3, //0x000012c2 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xe2, //0x000012c6 por %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xdb, //0x000012ca pcmpeqb %xmm11, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xe4, //0x000012cf pcmpeqb %xmm12, %xmm4 + 0x66, 0x0f, 0xd7, 0xdc, //0x000012d4 pmovmskb %xmm4, %ebx + 0x66, 0x0f, 0xeb, 0xe3, //0x000012d8 por %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xee, //0x000012dc por %xmm6, %xmm5 + 0x66, 0x0f, 0xeb, 0xec, //0x000012e0 por %xmm4, %xmm5 + 0x66, 0x0f, 0xd7, 0xc3, //0x000012e4 pmovmskb %xmm3, %eax + 0x66, 0x0f, 0xd7, 0xd6, //0x000012e8 pmovmskb %xmm6, %edx + 0x66, 0x0f, 0xd7, 0xcd, //0x000012ec pmovmskb %xmm5, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x000012f0 movl $2863311530, %esi + 0x48, 0x8d, 0xbe, 0x55, 0x55, 0x55, 0x55, //0x000012f5 leaq $1431655765(%rsi), %rdi + 0x48, 0x31, 0xcf, //0x000012fc xorq %rcx, %rdi + 0x48, 0x0f, 0xbc, 0xcf, //0x000012ff bsfq %rdi, %rcx + 0x83, 0xf9, 0x10, //0x00001303 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00001306 je LBB0_226 + 0xbf, 0xff, 0xff, 0xff, 0xff, //0x0000130c movl $-1, %edi + 0xd3, 0xe7, //0x00001311 shll %cl, %edi + 0xf7, 0xd7, //0x00001313 notl %edi + 0x21, 0xf8, //0x00001315 andl %edi, %eax + 0x21, 0xfb, //0x00001317 andl %edi, %ebx + 0x21, 0xd7, //0x00001319 andl %edx, %edi + 0x89, 0xfa, //0x0000131b movl %edi, %edx + //0x0000131d LBB0_226 + 0x8d, 0x78, 0xff, //0x0000131d leal $-1(%rax), %edi + 0x21, 0xc7, //0x00001320 andl %eax, %edi + 0x0f, 0x85, 0xee, 0x09, 0x00, 0x00, //0x00001322 jne LBB0_337 + 0x8d, 0x7b, 0xff, //0x00001328 leal $-1(%rbx), %edi + 0x21, 0xdf, //0x0000132b andl %ebx, %edi + 0x0f, 0x85, 0xe3, 0x09, 0x00, 0x00, //0x0000132d jne LBB0_337 + 0x8d, 0x7a, 0xff, //0x00001333 leal $-1(%rdx), %edi + 0x21, 0xd7, //0x00001336 andl %edx, %edi + 0x0f, 0x85, 0xd8, 0x09, 0x00, 0x00, //0x00001338 jne LBB0_337 + 0x85, 0xc0, //0x0000133e testl %eax, %eax + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00001340 je LBB0_232 + 0x4c, 0x89, 0xef, //0x00001346 movq %r13, %rdi + 0x4c, 0x29, 0xe7, //0x00001349 subq %r12, %rdi + 0x44, 0x0f, 0xbc, 0xd8, //0x0000134c bsfl %eax, %r11d + 0x49, 0x01, 0xfb, //0x00001350 addq %rdi, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x00001353 cmpq $-1, %r14 + 0x0f, 0x85, 0xc3, 0x09, 0x00, 0x00, //0x00001357 jne LBB0_338 + 0x4d, 0x89, 0xde, //0x0000135d movq %r11, %r14 + //0x00001360 LBB0_232 + 0x85, 0xdb, //0x00001360 testl %ebx, %ebx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00001362 je LBB0_235 + 0x4c, 0x89, 0xe8, //0x00001368 movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x0000136b subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xdb, //0x0000136e bsfl %ebx, %r11d + 0x49, 0x01, 0xc3, //0x00001372 addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb8, 0xff, //0x00001375 cmpq $-1, $-72(%rbp) + 0x0f, 0x85, 0xa0, 0x09, 0x00, 0x00, //0x0000137a jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xb8, //0x00001380 movq %r11, $-72(%rbp) + //0x00001384 LBB0_235 + 0x85, 0xd2, //0x00001384 testl %edx, %edx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00001386 je LBB0_238 + 0x4c, 0x89, 0xe8, //0x0000138c movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x0000138f subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xda, //0x00001392 bsfl %edx, %r11d + 0x49, 0x01, 0xc3, //0x00001396 addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb0, 0xff, //0x00001399 cmpq $-1, $-80(%rbp) + 0x0f, 0x85, 0x7c, 0x09, 0x00, 0x00, //0x0000139e jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xb0, //0x000013a4 movq %r11, $-80(%rbp) + //0x000013a8 LBB0_238 + 0x83, 0xf9, 0x10, //0x000013a8 cmpl $16, %ecx + 0x0f, 0x85, 0xaa, 0x03, 0x00, 0x00, //0x000013ab jne LBB0_290 + 0x49, 0x83, 0xc5, 0x10, //0x000013b1 addq $16, %r13 + 0x49, 0x83, 0xc2, 0xf0, //0x000013b5 addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x0f, //0x000013b9 cmpq $15, %r10 + 0x0f, 0x87, 0xcd, 0xfe, 0xff, 0xff, //0x000013bd ja LBB0_224 + 0x4d, 0x85, 0xc9, //0x000013c3 testq %r9, %r9 + 0x48, 0x8d, 0x35, 0xc3, 0x16, 0x00, 0x00, //0x000013c6 leaq $5827(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0x48, 0x8b, 0x7d, 0xb8, //0x000013cd movq $-72(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb0, //0x000013d1 movq $-80(%rbp), %rbx + 0x0f, 0x84, 0x8e, 0x03, 0x00, 0x00, //0x000013d5 je LBB0_291 + //0x000013db LBB0_241 + 0x4b, 0x8d, 0x0c, 0x08, //0x000013db leaq (%r8,%r9), %rcx + 0xe9, 0x08, 0x01, 0x00, 0x00, //0x000013df jmp LBB0_260 + //0x000013e4 LBB0_242 + 0x48, 0x8b, 0x55, 0x88, //0x000013e4 movq $-120(%rbp), %rdx + 0x48, 0x8b, 0x02, //0x000013e8 movq (%rdx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000013eb cmpq $4095, %rax + 0x0f, 0x8f, 0xb9, 0x11, 0x00, 0x00, //0x000013f1 jg LBB0_439 + 0x48, 0x8d, 0x48, 0x01, //0x000013f7 leaq $1(%rax), %rcx + 0x48, 0x89, 0x0a, //0x000013fb movq %rcx, (%rdx) + 0x48, 0xc7, 0x44, 0xc2, 0x08, 0x05, 0x00, 0x00, 0x00, //0x000013fe movq $5, $8(%rdx,%rax,8) + 0xe9, 0x84, 0xed, 0xff, 0xff, //0x00001407 jmp LBB0_3 + //0x0000140c LBB0_244 + 0x48, 0x8b, 0x4d, 0x98, //0x0000140c movq $-104(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001410 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfc, //0x00001414 leaq $-4(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001418 cmpq %rdx, %r15 + 0x0f, 0x83, 0xfb, 0x11, 0x00, 0x00, //0x0000141b jae LBB0_440 + 0x48, 0x8b, 0x55, 0xc0, //0x00001421 movq $-64(%rbp), %rdx + 0x41, 0x8b, 0x0c, 0x11, //0x00001425 movl (%r9,%rdx), %ecx + 0x81, 0xf9, 0x61, 0x6c, 0x73, 0x65, //0x00001429 cmpl $1702063201, %ecx + 0x0f, 0x85, 0x5b, 0x12, 0x00, 0x00, //0x0000142f jne LBB0_443 + 0x4d, 0x8d, 0x5f, 0x05, //0x00001435 leaq $5(%r15), %r11 + 0x4c, 0x89, 0x1e, //0x00001439 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x0000143c movq %r15, %rax + 0x48, 0x85, 0xd2, //0x0000143f testq %rdx, %rdx + 0x0f, 0x8f, 0x4c, 0xed, 0xff, 0xff, //0x00001442 jg LBB0_4 + 0xe9, 0xa7, 0x11, 0x00, 0x00, //0x00001448 jmp LBB0_427 + //0x0000144d LBB0_247 + 0x48, 0x8b, 0x4d, 0x98, //0x0000144d movq $-104(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001451 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x00001455 leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001459 cmpq %rdx, %r15 + 0x0f, 0x83, 0xba, 0x11, 0x00, 0x00, //0x0000145c jae LBB0_440 + 0x41, 0x81, 0x3a, 0x6e, 0x75, 0x6c, 0x6c, //0x00001462 cmpl $1819047278, (%r10) + 0x0f, 0x84, 0x27, 0x00, 0x00, 0x00, //0x00001469 je LBB0_255 + 0xe9, 0x71, 0x12, 0x00, 0x00, //0x0000146f jmp LBB0_249 + //0x00001474 LBB0_253 + 0x48, 0x8b, 0x4d, 0x98, //0x00001474 movq $-104(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001478 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x0000147c leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001480 cmpq %rdx, %r15 + 0x0f, 0x83, 0x93, 0x11, 0x00, 0x00, //0x00001483 jae LBB0_440 + 0x41, 0x81, 0x3a, 0x74, 0x72, 0x75, 0x65, //0x00001489 cmpl $1702195828, (%r10) + 0x0f, 0x85, 0xa1, 0x12, 0x00, 0x00, //0x00001490 jne LBB0_448 + //0x00001496 LBB0_255 + 0x4d, 0x8d, 0x5f, 0x04, //0x00001496 leaq $4(%r15), %r11 + 0xe9, 0x69, 0x03, 0x00, 0x00, //0x0000149a jmp LBB0_305 + //0x0000149f LBB0_256 + 0x48, 0x85, 0xc0, //0x0000149f testq %rax, %rax + 0x49, 0x8d, 0x44, 0x24, 0xff, //0x000014a2 leaq $-1(%r12), %rax + 0x49, 0xf7, 0xd4, //0x000014a7 notq %r12 + 0x4d, 0x0f, 0x48, 0xe3, //0x000014aa cmovsq %r11, %r12 + 0x49, 0x39, 0xc5, //0x000014ae cmpq %rax, %r13 + 0x4d, 0x0f, 0x44, 0xdc, //0x000014b1 cmoveq %r12, %r11 + 0x4d, 0x85, 0xdb, //0x000014b5 testq %r11, %r11 + 0x0f, 0x89, 0x41, 0x08, 0x00, 0x00, //0x000014b8 jns LBB0_335 + 0xe9, 0x1e, 0x11, 0x00, 0x00, //0x000014be jmp LBB0_423 + //0x000014c3 LBB0_257 + 0x49, 0x89, 0xc3, //0x000014c3 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x000014c6 subq %r12, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x000014c9 cmpq $-1, %r14 + 0x0f, 0x85, 0x6d, 0x0b, 0x00, 0x00, //0x000014cd jne LBB0_361 + 0x49, 0xff, 0xcb, //0x000014d3 decq %r11 + 0x4d, 0x89, 0xde, //0x000014d6 movq %r11, %r14 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000014d9 .p2align 4, 0x90 + //0x000014e0 LBB0_259 + 0x49, 0x89, 0xc0, //0x000014e0 movq %rax, %r8 + 0x49, 0xff, 0xc9, //0x000014e3 decq %r9 + 0x0f, 0x84, 0xfc, 0x09, 0x00, 0x00, //0x000014e6 je LBB0_343 + //0x000014ec LBB0_260 + 0x41, 0x0f, 0xbe, 0x10, //0x000014ec movsbl (%r8), %edx + 0x83, 0xc2, 0xd5, //0x000014f0 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x000014f3 cmpl $58, %edx + 0x0f, 0x87, 0x6d, 0x02, 0x00, 0x00, //0x000014f6 ja LBB0_291 + 0x49, 0x8d, 0x40, 0x01, //0x000014fc leaq $1(%r8), %rax + 0x48, 0x63, 0x14, 0x96, //0x00001500 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00001504 addq %rsi, %rdx + 0xff, 0xe2, //0x00001507 jmpq *%rdx + //0x00001509 LBB0_262 + 0x49, 0x89, 0xc3, //0x00001509 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x0000150c subq %r12, %r11 + 0x48, 0x83, 0xfb, 0xff, //0x0000150f cmpq $-1, %rbx + 0x0f, 0x85, 0x27, 0x0b, 0x00, 0x00, //0x00001513 jne LBB0_361 + 0x49, 0xff, 0xcb, //0x00001519 decq %r11 + 0x4c, 0x89, 0xdb, //0x0000151c movq %r11, %rbx + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000151f jmp LBB0_259 + //0x00001524 LBB0_264 + 0x49, 0x89, 0xc3, //0x00001524 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x00001527 subq %r12, %r11 + 0x48, 0x83, 0xff, 0xff, //0x0000152a cmpq $-1, %rdi + 0x0f, 0x85, 0x0c, 0x0b, 0x00, 0x00, //0x0000152e jne LBB0_361 + 0x49, 0xff, 0xcb, //0x00001534 decq %r11 + 0x4c, 0x89, 0xdf, //0x00001537 movq %r11, %rdi + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000153a jmp LBB0_259 + //0x0000153f LBB0_266 + 0x48, 0x8b, 0x45, 0xc0, //0x0000153f movq $-64(%rbp), %rax + 0x49, 0x29, 0xc2, //0x00001543 subq %rax, %r10 + 0x0f, 0x84, 0xcf, 0x12, 0x00, 0x00, //0x00001546 je LBB0_466 + 0x4d, 0x8d, 0x1c, 0x01, //0x0000154c leaq (%r9,%rax), %r11 + 0x49, 0x83, 0xfa, 0x40, //0x00001550 cmpq $64, %r10 + 0x0f, 0x82, 0xa8, 0x0b, 0x00, 0x00, //0x00001554 jb LBB0_369 + 0x44, 0x89, 0xd2, //0x0000155a movl %r10d, %edx + 0x83, 0xe2, 0x3f, //0x0000155d andl $63, %edx + 0x48, 0x89, 0x55, 0xb0, //0x00001560 movq %rdx, $-80(%rbp) + 0x4e, 0x8d, 0x64, 0x01, 0xc0, //0x00001564 leaq $-64(%rcx,%r8), %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00001569 andq $-64, %r12 + 0x49, 0x01, 0xc4, //0x0000156d addq %rax, %r12 + 0x4c, 0x03, 0x65, 0x90, //0x00001570 addq $-112(%rbp), %r12 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001574 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x0000157b xorl %r9d, %r9d + 0x90, 0x90, //0x0000157e .p2align 4, 0x90 + //0x00001580 LBB0_269 + 0xf3, 0x41, 0x0f, 0x6f, 0x2b, //0x00001580 movdqu (%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x10, //0x00001585 movdqu $16(%r11), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x20, //0x0000158b movdqu $32(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x7b, 0x30, //0x00001591 movdqu $48(%r11), %xmm7 + 0x66, 0x0f, 0x6f, 0xdd, //0x00001597 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x0000159b pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xf3, //0x0000159f pmovmskb %xmm3, %esi + 0x66, 0x0f, 0x6f, 0xde, //0x000015a3 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000015a7 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x000015ab pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdc, //0x000015af movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000015b3 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x000015b7 pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xdf, //0x000015bb movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000015bf pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x000015c3 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdd, //0x000015c7 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015cb pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x000015cf pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xde, //0x000015d4 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015d8 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x000015dc pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x6f, 0xdc, //0x000015e0 movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015e4 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe1, 0x10, //0x000015e8 shlq $16, %rcx + 0x48, 0x09, 0xce, //0x000015ec orq %rcx, %rsi + 0x66, 0x0f, 0xd7, 0xcb, //0x000015ef pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdf, //0x000015f3 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015f7 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe3, 0x20, //0x000015fb shlq $32, %rbx + 0x48, 0x09, 0xde, //0x000015ff orq %rbx, %rsi + 0x66, 0x0f, 0xd7, 0xdb, //0x00001602 pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xda, //0x00001606 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdd, //0x0000160a pcmpgtb %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xee, //0x0000160e pcmpgtb %xmm14, %xmm5 + 0x66, 0x0f, 0xdb, 0xeb, //0x00001613 pand %xmm3, %xmm5 + 0x48, 0xc1, 0xe2, 0x10, //0x00001617 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x0000161b orq %rdx, %r13 + 0x66, 0x0f, 0xd7, 0xd5, //0x0000161e pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xda, //0x00001622 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xde, //0x00001626 pcmpgtb %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xf6, //0x0000162a pcmpgtb %xmm14, %xmm6 + 0x66, 0x0f, 0xdb, 0xf3, //0x0000162f pand %xmm3, %xmm6 + 0x48, 0xc1, 0xe1, 0x20, //0x00001633 shlq $32, %rcx + 0x49, 0x09, 0xcd, //0x00001637 orq %rcx, %r13 + 0x66, 0x0f, 0xd7, 0xc6, //0x0000163a pmovmskb %xmm6, %eax + 0x66, 0x0f, 0x6f, 0xda, //0x0000163e movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001642 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001646 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x0000164b pand %xmm3, %xmm4 + 0x48, 0xc1, 0xe3, 0x30, //0x0000164f shlq $48, %rbx + 0x49, 0x09, 0xdd, //0x00001653 orq %rbx, %r13 + 0x66, 0x0f, 0xd7, 0xcc, //0x00001656 pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x0000165a movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdf, //0x0000165e pcmpgtb %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xfe, //0x00001662 pcmpgtb %xmm14, %xmm7 + 0x66, 0x0f, 0xdb, 0xfb, //0x00001667 pand %xmm3, %xmm7 + 0x48, 0xc1, 0xe0, 0x10, //0x0000166b shlq $16, %rax + 0x48, 0x09, 0xc2, //0x0000166f orq %rax, %rdx + 0x66, 0x44, 0x0f, 0xd7, 0xf7, //0x00001672 pmovmskb %xmm7, %r14d + 0x48, 0xc1, 0xe7, 0x30, //0x00001677 shlq $48, %rdi + 0x48, 0xc1, 0xe1, 0x20, //0x0000167b shlq $32, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x0000167f cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001683 jne LBB0_271 + 0x4d, 0x85, 0xed, //0x00001689 testq %r13, %r13 + 0x0f, 0x85, 0x9c, 0x00, 0x00, 0x00, //0x0000168c jne LBB0_286 + //0x00001692 LBB0_271 + 0x49, 0xc1, 0xe6, 0x30, //0x00001692 shlq $48, %r14 + 0x48, 0x09, 0xca, //0x00001696 orq %rcx, %rdx + 0x48, 0x09, 0xfe, //0x00001699 orq %rdi, %rsi + 0x4c, 0x89, 0xe8, //0x0000169c movq %r13, %rax + 0x4c, 0x09, 0xc8, //0x0000169f orq %r9, %rax + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000016a2 jne LBB0_287 + 0x4c, 0x09, 0xf2, //0x000016a8 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x000016ab testq %rsi, %rsi + 0x0f, 0x85, 0x8d, 0x00, 0x00, 0x00, //0x000016ae jne LBB0_288 + //0x000016b4 LBB0_273 + 0x48, 0x85, 0xd2, //0x000016b4 testq %rdx, %rdx + 0x0f, 0x85, 0xec, 0x10, 0x00, 0x00, //0x000016b7 jne LBB0_456 + 0x49, 0x83, 0xc2, 0xc0, //0x000016bd addq $-64, %r10 + 0x49, 0x83, 0xc3, 0x40, //0x000016c1 addq $64, %r11 + 0x49, 0x83, 0xfa, 0x3f, //0x000016c5 cmpq $63, %r10 + 0x0f, 0x87, 0xb1, 0xfe, 0xff, 0xff, //0x000016c9 ja LBB0_269 + 0xe9, 0x1a, 0x07, 0x00, 0x00, //0x000016cf jmp LBB0_275 + //0x000016d4 LBB0_287 + 0x4c, 0x89, 0xc8, //0x000016d4 movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000016d7 notq %rax + 0x4c, 0x21, 0xe8, //0x000016da andq %r13, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x000016dd leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x000016e1 orq %r9, %rcx + 0x48, 0x89, 0xcf, //0x000016e4 movq %rcx, %rdi + 0x48, 0xf7, 0xd7, //0x000016e7 notq %rdi + 0x4c, 0x21, 0xef, //0x000016ea andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000016ed movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x000016f7 andq %rbx, %rdi + 0x45, 0x31, 0xc9, //0x000016fa xorl %r9d, %r9d + 0x48, 0x01, 0xc7, //0x000016fd addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc1, //0x00001700 setb %r9b + 0x48, 0x01, 0xff, //0x00001704 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001707 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00001711 xorq %rax, %rdi + 0x48, 0x21, 0xcf, //0x00001714 andq %rcx, %rdi + 0x48, 0xf7, 0xd7, //0x00001717 notq %rdi + 0x48, 0x21, 0xfe, //0x0000171a andq %rdi, %rsi + 0x4c, 0x09, 0xf2, //0x0000171d orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00001720 testq %rsi, %rsi + 0x0f, 0x84, 0x8b, 0xff, 0xff, 0xff, //0x00001723 je LBB0_273 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00001729 jmp LBB0_288 + //0x0000172e LBB0_286 + 0x4c, 0x89, 0xd8, //0x0000172e movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00001731 subq $-48(%rbp), %rax + 0x4d, 0x0f, 0xbc, 0xc5, //0x00001735 bsfq %r13, %r8 + 0x49, 0x01, 0xc0, //0x00001739 addq %rax, %r8 + 0xe9, 0x51, 0xff, 0xff, 0xff, //0x0000173c jmp LBB0_271 + //0x00001741 LBB0_288 + 0x48, 0x0f, 0xbc, 0xc6, //0x00001741 bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00001745 testq %rdx, %rdx + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001748 movq $-48(%rbp), %r9 + 0x0f, 0x84, 0x8f, 0x00, 0x00, 0x00, //0x0000174c je LBB0_301 + 0x48, 0x0f, 0xbc, 0xca, //0x00001752 bsfq %rdx, %rcx + 0xe9, 0x8b, 0x00, 0x00, 0x00, //0x00001756 jmp LBB0_302 + //0x0000175b LBB0_290 + 0x49, 0x01, 0xcd, //0x0000175b addq %rcx, %r13 + 0x4d, 0x89, 0xe8, //0x0000175e movq %r13, %r8 + 0x48, 0x8b, 0x7d, 0xb8, //0x00001761 movq $-72(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb0, //0x00001765 movq $-80(%rbp), %rbx + //0x00001769 LBB0_291 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001769 movq $-1, %r11 + 0x48, 0x85, 0xff, //0x00001770 testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001773 movq $-56(%rbp), %rsi + 0x0f, 0x84, 0xf2, 0x0e, 0x00, 0x00, //0x00001777 je LBB0_438 + //0x0000177d LBB0_292 + 0x48, 0x85, 0xdb, //0x0000177d testq %rbx, %rbx + 0x0f, 0x84, 0xe9, 0x0e, 0x00, 0x00, //0x00001780 je LBB0_438 + 0x4d, 0x85, 0xf6, //0x00001786 testq %r14, %r14 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001789 movq $-48(%rbp), %r9 + 0x0f, 0x84, 0xdc, 0x0e, 0x00, 0x00, //0x0000178d je LBB0_438 + 0x4d, 0x29, 0xe0, //0x00001793 subq %r12, %r8 + 0x49, 0x8d, 0x40, 0xff, //0x00001796 leaq $-1(%r8), %rax + 0x48, 0x39, 0xc7, //0x0000179a cmpq %rax, %rdi + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x0000179d je LBB0_300 + 0x49, 0x39, 0xc6, //0x000017a3 cmpq %rax, %r14 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x000017a6 je LBB0_300 + 0x48, 0x39, 0xc3, //0x000017ac cmpq %rax, %rbx + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x000017af je LBB0_300 + 0x48, 0x85, 0xdb, //0x000017b5 testq %rbx, %rbx + 0x0f, 0x8e, 0x72, 0x00, 0x00, 0x00, //0x000017b8 jle LBB0_307 + 0x48, 0x8d, 0x43, 0xff, //0x000017be leaq $-1(%rbx), %rax + 0x48, 0x39, 0xc7, //0x000017c2 cmpq %rax, %rdi + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x000017c5 je LBB0_307 + 0x48, 0xf7, 0xd3, //0x000017cb notq %rbx + 0x49, 0x89, 0xdb, //0x000017ce movq %rbx, %r11 + 0xe9, 0x55, 0x05, 0x00, 0x00, //0x000017d1 jmp LBB0_340 + //0x000017d6 LBB0_300 + 0x49, 0xf7, 0xd8, //0x000017d6 negq %r8 + 0x4d, 0x89, 0xc3, //0x000017d9 movq %r8, %r11 + 0xe9, 0x4a, 0x05, 0x00, 0x00, //0x000017dc jmp LBB0_340 + //0x000017e1 LBB0_301 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000017e1 movl $64, %ecx + //0x000017e6 LBB0_302 + 0x48, 0x8b, 0x75, 0xc8, //0x000017e6 movq $-56(%rbp), %rsi + 0x48, 0x8b, 0x7d, 0xb8, //0x000017ea movq $-72(%rbp), %rdi + 0x4d, 0x29, 0xcb, //0x000017ee subq %r9, %r11 + 0x48, 0x39, 0xc1, //0x000017f1 cmpq %rax, %rcx + 0x0f, 0x82, 0xff, 0x0f, 0x00, 0x00, //0x000017f4 jb LBB0_185 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x000017fa leaq $1(%r11,%rax), %r11 + //0x000017ff LBB0_304 + 0x4d, 0x85, 0xdb, //0x000017ff testq %r11, %r11 + 0x0f, 0x88, 0x6f, 0x0e, 0x00, 0x00, //0x00001802 js LBB0_441 + //0x00001808 LBB0_305 + 0x4c, 0x89, 0x1e, //0x00001808 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x0000180b movq %r15, %rax + 0x48, 0x83, 0x7d, 0xc0, 0x00, //0x0000180e cmpq $0, $-64(%rbp) + 0x0f, 0x8f, 0x7b, 0xe9, 0xff, 0xff, //0x00001813 jg LBB0_4 + 0xe9, 0xd6, 0x0d, 0x00, 0x00, //0x00001819 jmp LBB0_427 + //0x0000181e LBB0_306 + 0x4d, 0x29, 0xd6, //0x0000181e subq %r10, %r14 + 0x44, 0x0f, 0xbc, 0xde, //0x00001821 bsfl %esi, %r11d + 0x4d, 0x01, 0xf3, //0x00001825 addq %r14, %r11 + 0x49, 0xf7, 0xd3, //0x00001828 notq %r11 + 0xe9, 0xbe, 0x04, 0x00, 0x00, //0x0000182b jmp LBB0_334 + //0x00001830 LBB0_307 + 0x4c, 0x89, 0xf0, //0x00001830 movq %r14, %rax + 0x48, 0x09, 0xf8, //0x00001833 orq %rdi, %rax + 0x49, 0x39, 0xfe, //0x00001836 cmpq %rdi, %r14 + 0x0f, 0x8c, 0x93, 0x01, 0x00, 0x00, //0x00001839 jl LBB0_310 + 0x48, 0x85, 0xc0, //0x0000183f testq %rax, %rax + 0x0f, 0x88, 0x8a, 0x01, 0x00, 0x00, //0x00001842 js LBB0_310 + 0x49, 0xf7, 0xd6, //0x00001848 notq %r14 + 0x4d, 0x89, 0xf3, //0x0000184b movq %r14, %r11 + 0xe9, 0xd8, 0x04, 0x00, 0x00, //0x0000184e jmp LBB0_340 + //0x00001853 LBB0_50 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00001853 movq $-80(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xb8, //0x00001857 movq $-72(%rbp), %r13 + 0x49, 0x83, 0xfd, 0x20, //0x0000185b cmpq $32, %r13 + 0x0f, 0x82, 0x57, 0x09, 0x00, 0x00, //0x0000185f jb LBB0_374 + //0x00001865 LBB0_51 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001865 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x0000186a movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001870 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001874 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xfd, //0x00001878 pmovmskb %xmm5, %edi + 0x66, 0x0f, 0x6f, 0xec, //0x0000187c movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001880 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001884 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x74, 0xd9, //0x00001888 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x0000188c pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x00001890 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00001894 pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001898 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x0000189c shlq $16, %rax + 0x48, 0x09, 0xc1, //0x000018a0 orq %rax, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x000018a3 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000018a7 jne LBB0_53 + 0x48, 0x85, 0xc9, //0x000018ad testq %rcx, %rcx + 0x0f, 0x85, 0xa5, 0x08, 0x00, 0x00, //0x000018b0 jne LBB0_371 + //0x000018b6 LBB0_53 + 0x48, 0x09, 0xfa, //0x000018b6 orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x000018b9 movq %rcx, %rax + 0x4c, 0x09, 0xc0, //0x000018bc orq %r8, %rax + 0x0f, 0x85, 0xb3, 0x08, 0x00, 0x00, //0x000018bf jne LBB0_372 + //0x000018c5 LBB0_54 + 0x48, 0x85, 0xd2, //0x000018c5 testq %rdx, %rdx + 0x0f, 0x84, 0xe6, 0x08, 0x00, 0x00, //0x000018c8 je LBB0_373 + //0x000018ce LBB0_55 + 0x48, 0x0f, 0xbc, 0xc2, //0x000018ce bsfq %rdx, %rax + 0xe9, 0xae, 0xec, 0xff, 0xff, //0x000018d2 jmp LBB0_59 + //0x000018d7 LBB0_113 + 0x4d, 0x89, 0xc3, //0x000018d7 movq %r8, %r11 + 0x48, 0x8b, 0x45, 0xb8, //0x000018da movq $-72(%rbp), %rax + 0x4d, 0x89, 0xd5, //0x000018de movq %r10, %r13 + 0x48, 0x83, 0xf8, 0x20, //0x000018e1 cmpq $32, %rax + 0x0f, 0x82, 0x0c, 0x07, 0x00, 0x00, //0x000018e5 jb LBB0_357 + //0x000018eb LBB0_114 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x000018eb movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x000018f0 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x000018f6 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x000018fa pcmpeqb %xmm0, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xc5, //0x000018fe pmovmskb %xmm5, %r8d + 0x66, 0x0f, 0x6f, 0xec, //0x00001903 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001907 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x0000190b pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x6f, 0xeb, //0x0000190f movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001913 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001917 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xec, //0x0000191b movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x0000191f pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xcd, //0x00001923 pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xea, //0x00001927 movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x0000192b pcmpgtb %xmm3, %xmm5 + 0x66, 0x41, 0x0f, 0x64, 0xde, //0x0000192f pcmpgtb %xmm14, %xmm3 + 0x66, 0x0f, 0xdb, 0xdd, //0x00001934 pand %xmm5, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001938 pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x0000193d movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001941 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001945 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x0000194a pand %xmm3, %xmm4 + 0x66, 0x44, 0x0f, 0xd7, 0xd4, //0x0000194e pmovmskb %xmm4, %r10d + 0x48, 0xc1, 0xe6, 0x10, //0x00001953 shlq $16, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00001957 shlq $16, %rcx + 0x48, 0x09, 0xca, //0x0000195b orq %rcx, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x0000195e cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001962 jne LBB0_116 + 0x48, 0x85, 0xd2, //0x00001968 testq %rdx, %rdx + 0x0f, 0x85, 0xd1, 0x08, 0x00, 0x00, //0x0000196b jne LBB0_382 + //0x00001971 LBB0_116 + 0x49, 0xc1, 0xe2, 0x10, //0x00001971 shlq $16, %r10 + 0x4c, 0x09, 0xc6, //0x00001975 orq %r8, %rsi + 0x48, 0x89, 0xd1, //0x00001978 movq %rdx, %rcx + 0x48, 0x09, 0xd9, //0x0000197b orq %rbx, %rcx + 0x0f, 0x85, 0x9b, 0x07, 0x00, 0x00, //0x0000197e jne LBB0_370 + //0x00001984 LBB0_117 + 0x48, 0x8b, 0x7d, 0xc0, //0x00001984 movq $-64(%rbp), %rdi + 0x4d, 0x09, 0xf2, //0x00001988 orq %r14, %r10 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x0000198b movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001990 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001995 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001998 je LBB0_119 + 0x48, 0x0f, 0xbc, 0xd6, //0x0000199e bsfq %rsi, %rdx + //0x000019a2 LBB0_119 + 0x4d, 0x85, 0xd2, //0x000019a2 testq %r10, %r10 + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x000019a5 je LBB0_121 + 0x49, 0x0f, 0xbc, 0xca, //0x000019ab bsfq %r10, %rcx + //0x000019af LBB0_121 + 0x48, 0x85, 0xf6, //0x000019af testq %rsi, %rsi + 0x0f, 0x84, 0xe0, 0x01, 0x00, 0x00, //0x000019b2 je LBB0_313 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000019b8 subq $-48(%rbp), %r11 + 0x48, 0x39, 0xd1, //0x000019bc cmpq %rdx, %rcx + 0x0f, 0x82, 0x22, 0x0e, 0x00, 0x00, //0x000019bf jb LBB0_149 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x000019c5 leaq $1(%r11,%rdx), %r11 + 0x4d, 0x89, 0xea, //0x000019ca movq %r13, %r10 + 0xe9, 0xc0, 0xf5, 0xff, 0xff, //0x000019cd jmp LBB0_188 + //0x000019d2 LBB0_310 + 0x48, 0x85, 0xc0, //0x000019d2 testq %rax, %rax + 0x48, 0x8d, 0x47, 0xff, //0x000019d5 leaq $-1(%rdi), %rax + 0x48, 0xf7, 0xd7, //0x000019d9 notq %rdi + 0x49, 0x0f, 0x48, 0xf8, //0x000019dc cmovsq %r8, %rdi + 0x49, 0x39, 0xc6, //0x000019e0 cmpq %rax, %r14 + 0x49, 0x0f, 0x45, 0xf8, //0x000019e3 cmovneq %r8, %rdi + 0x49, 0x89, 0xfb, //0x000019e7 movq %rdi, %r11 + 0xe9, 0x3c, 0x03, 0x00, 0x00, //0x000019ea jmp LBB0_340 + //0x000019ef LBB0_311 + 0x48, 0xf7, 0xd0, //0x000019ef notq %rax + 0x49, 0x89, 0xc3, //0x000019f2 movq %rax, %r11 + 0xe9, 0xf4, 0x02, 0x00, 0x00, //0x000019f5 jmp LBB0_334 + //0x000019fa LBB0_312 + 0x49, 0x89, 0xc3, //0x000019fa movq %rax, %r11 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000019fd movq $-1, %rax + 0x4d, 0x85, 0xe4, //0x00001a04 testq %r12, %r12 + 0x48, 0x8b, 0x75, 0xc8, //0x00001a07 movq $-56(%rbp), %rsi + 0x0f, 0x85, 0xad, 0xf2, 0xff, 0xff, //0x00001a0b jne LBB0_153 + 0xe9, 0xce, 0x0b, 0x00, 0x00, //0x00001a11 jmp LBB0_424 + //0x00001a16 LBB0_136 + 0x4c, 0x8b, 0x9d, 0x70, 0xff, 0xff, 0xff, //0x00001a16 movq $-144(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xb0, //0x00001a1d movq $-80(%rbp), %r13 + 0x49, 0x83, 0xfd, 0x20, //0x00001a21 cmpq $32, %r13 + 0x0f, 0x82, 0xf9, 0x08, 0x00, 0x00, //0x00001a25 jb LBB0_389 + //0x00001a2b LBB0_137 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001a2b movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001a30 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001a36 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001a3a pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xfd, //0x00001a3e pmovmskb %xmm5, %edi + 0x66, 0x0f, 0x6f, 0xec, //0x00001a42 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001a46 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001a4a pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x74, 0xd9, //0x00001a4e pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00001a52 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x00001a56 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00001a5a pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001a5e shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001a62 shlq $16, %rax + 0x48, 0x09, 0xc1, //0x00001a66 orq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001a69 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001a6d jne LBB0_139 + 0x48, 0x85, 0xc9, //0x00001a73 testq %rcx, %rcx + 0x0f, 0x85, 0x47, 0x08, 0x00, 0x00, //0x00001a76 jne LBB0_386 + //0x00001a7c LBB0_139 + 0x48, 0x09, 0xfa, //0x00001a7c orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x00001a7f movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x00001a82 orq %r9, %rax + 0x0f, 0x85, 0x55, 0x08, 0x00, 0x00, //0x00001a85 jne LBB0_387 + //0x00001a8b LBB0_140 + 0x48, 0x85, 0xd2, //0x00001a8b testq %rdx, %rdx + 0x0f, 0x84, 0x88, 0x08, 0x00, 0x00, //0x00001a8e je LBB0_388 + //0x00001a94 LBB0_141 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001a94 bsfq %rdx, %rax + 0xe9, 0xc8, 0xf1, 0xff, 0xff, //0x00001a98 jmp LBB0_145 + //0x00001a9d LBB0_170 + 0x4d, 0x89, 0xe3, //0x00001a9d movq %r12, %r11 + 0x48, 0x8b, 0x45, 0xb0, //0x00001aa0 movq $-80(%rbp), %rax + 0x48, 0x83, 0xf8, 0x20, //0x00001aa4 cmpq $32, %rax + 0x0f, 0x82, 0xc7, 0x05, 0x00, 0x00, //0x00001aa8 jb LBB0_364 + //0x00001aae LBB0_171 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001aae movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001ab3 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001ab9 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001abd pcmpeqb %xmm0, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xcd, //0x00001ac1 pmovmskb %xmm5, %r9d + 0x66, 0x0f, 0x6f, 0xec, //0x00001ac6 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001aca pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00001ace pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x6f, 0xeb, //0x00001ad2 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001ad6 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001ada pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xec, //0x00001ade movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001ae2 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xcd, //0x00001ae6 pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xea, //0x00001aea movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x00001aee pcmpgtb %xmm3, %xmm5 + 0x66, 0x41, 0x0f, 0x64, 0xde, //0x00001af2 pcmpgtb %xmm14, %xmm3 + 0x66, 0x0f, 0xdb, 0xdd, //0x00001af7 pand %xmm5, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001afb pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x00001b00 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001b04 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001b08 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00001b0d pand %xmm3, %xmm4 + 0x66, 0x0f, 0xd7, 0xfc, //0x00001b11 pmovmskb %xmm4, %edi + 0x48, 0xc1, 0xe3, 0x10, //0x00001b15 shlq $16, %rbx + 0x48, 0xc1, 0xe1, 0x10, //0x00001b19 shlq $16, %rcx + 0x48, 0x09, 0xca, //0x00001b1d orq %rcx, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001b20 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001b24 jne LBB0_173 + 0x48, 0x85, 0xd2, //0x00001b2a testq %rdx, %rdx + 0x0f, 0x85, 0x7e, 0x08, 0x00, 0x00, //0x00001b2d jne LBB0_397 + //0x00001b33 LBB0_173 + 0x48, 0xc1, 0xe7, 0x10, //0x00001b33 shlq $16, %rdi + 0x4c, 0x09, 0xcb, //0x00001b37 orq %r9, %rbx + 0x48, 0x89, 0xd1, //0x00001b3a movq %rdx, %rcx + 0x4c, 0x09, 0xd1, //0x00001b3d orq %r10, %rcx + 0x0f, 0x85, 0x0f, 0x07, 0x00, 0x00, //0x00001b40 jne LBB0_383 + //0x00001b46 LBB0_174 + 0x48, 0x8b, 0x75, 0xc8, //0x00001b46 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001b4a movq $-48(%rbp), %r9 + 0x4c, 0x09, 0xf7, //0x00001b4e orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001b51 movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001b56 movl $64, %edx + 0x48, 0x85, 0xdb, //0x00001b5b testq %rbx, %rbx + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001b5e je LBB0_176 + 0x48, 0x0f, 0xbc, 0xd3, //0x00001b64 bsfq %rbx, %rdx + //0x00001b68 LBB0_176 + 0x48, 0x85, 0xff, //0x00001b68 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001b6b je LBB0_178 + 0x48, 0x0f, 0xbc, 0xcf, //0x00001b71 bsfq %rdi, %rcx + //0x00001b75 LBB0_178 + 0x48, 0x85, 0xdb, //0x00001b75 testq %rbx, %rbx + 0x0f, 0x84, 0xcd, 0x00, 0x00, 0x00, //0x00001b78 je LBB0_324 + 0x4d, 0x29, 0xcb, //0x00001b7e subq %r9, %r11 + 0x48, 0x39, 0xd1, //0x00001b81 cmpq %rdx, %rcx + 0x0f, 0x82, 0x6f, 0x0c, 0x00, 0x00, //0x00001b84 jb LBB0_185 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001b8a leaq $1(%r11,%rdx), %r11 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001b8f movq $-72(%rbp), %r10 + 0xe9, 0x65, 0xf4, 0xff, 0xff, //0x00001b93 jmp LBB0_195 + //0x00001b98 LBB0_313 + 0x4d, 0x85, 0xd2, //0x00001b98 testq %r10, %r10 + 0x0f, 0x85, 0x82, 0x0c, 0x00, 0x00, //0x00001b9b jne LBB0_467 + 0x49, 0x83, 0xc3, 0x20, //0x00001ba1 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001ba5 addq $-32, %rax + 0x48, 0x85, 0xdb, //0x00001ba9 testq %rbx, %rbx + 0x0f, 0x85, 0x52, 0x04, 0x00, 0x00, //0x00001bac jne LBB0_358 + //0x00001bb2 LBB0_315 + 0x4d, 0x89, 0xea, //0x00001bb2 movq %r13, %r10 + 0x48, 0x85, 0xc0, //0x00001bb5 testq %rax, %rax + 0x0f, 0x84, 0x08, 0x0a, 0x00, 0x00, //0x00001bb8 je LBB0_420 + //0x00001bbe LBB0_316 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001bbe movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001bc2 cmpb $34, %cl + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x00001bc5 je LBB0_323 + 0x80, 0xf9, 0x5c, //0x00001bcb cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001bce je LBB0_320 + 0x80, 0xf9, 0x1f, //0x00001bd4 cmpb $31, %cl + 0x0f, 0x86, 0x4f, 0x0c, 0x00, 0x00, //0x00001bd7 jbe LBB0_468 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001bdd movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001be4 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001be9 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001bec addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001bef jne LBB0_316 + 0xe9, 0xcc, 0x09, 0x00, 0x00, //0x00001bf5 jmp LBB0_420 + //0x00001bfa LBB0_320 + 0x48, 0x83, 0xf8, 0x01, //0x00001bfa cmpq $1, %rax + 0x0f, 0x84, 0x5d, 0x0c, 0x00, 0x00, //0x00001bfe je LBB0_473 + 0x4c, 0x89, 0xd9, //0x00001c04 movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x00001c07 subq $-48(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001c0b cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001c0f cmoveq %rcx, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001c13 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001c1a movl $2, %edx + 0x48, 0x8b, 0x7d, 0xc0, //0x00001c1f movq $-64(%rbp), %rdi + 0x4d, 0x89, 0xea, //0x00001c23 movq %r13, %r10 + 0x49, 0x01, 0xd3, //0x00001c26 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001c29 addq %rcx, %rax + 0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x00001c2c jne LBB0_316 + 0xe9, 0x8f, 0x09, 0x00, 0x00, //0x00001c32 jmp LBB0_420 + //0x00001c37 LBB0_322 + 0x48, 0xf7, 0xd6, //0x00001c37 notq %rsi + 0x49, 0x89, 0xf3, //0x00001c3a movq %rsi, %r11 + 0xe9, 0xac, 0x00, 0x00, 0x00, //0x00001c3d jmp LBB0_334 + //0x00001c42 LBB0_323 + 0x4c, 0x03, 0x5d, 0xa0, //0x00001c42 addq $-96(%rbp), %r11 + 0xe9, 0x47, 0xf3, 0xff, 0xff, //0x00001c46 jmp LBB0_188 + //0x00001c4b LBB0_324 + 0x48, 0x85, 0xff, //0x00001c4b testq %rdi, %rdi + 0x0f, 0x85, 0xe9, 0x0b, 0x00, 0x00, //0x00001c4e jne LBB0_470 + 0x49, 0x83, 0xc3, 0x20, //0x00001c54 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001c58 addq $-32, %rax + 0x4d, 0x85, 0xd2, //0x00001c5c testq %r10, %r10 + 0x0f, 0x85, 0x21, 0x04, 0x00, 0x00, //0x00001c5f jne LBB0_365 + //0x00001c65 LBB0_326 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001c65 movq $-72(%rbp), %r10 + 0x48, 0x85, 0xc0, //0x00001c69 testq %rax, %rax + 0x0f, 0x84, 0x9b, 0x09, 0x00, 0x00, //0x00001c6c je LBB0_429 + //0x00001c72 LBB0_327 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001c72 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001c76 cmpb $34, %cl + 0x0f, 0x84, 0xd0, 0x00, 0x00, 0x00, //0x00001c79 je LBB0_342 + 0x80, 0xf9, 0x5c, //0x00001c7f cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001c82 je LBB0_331 + 0x80, 0xf9, 0x1f, //0x00001c88 cmpb $31, %cl + 0x0f, 0x86, 0xa4, 0x0b, 0x00, 0x00, //0x00001c8b jbe LBB0_469 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001c91 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001c98 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001c9d addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001ca0 addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001ca3 jne LBB0_327 + 0xe9, 0x5f, 0x09, 0x00, 0x00, //0x00001ca9 jmp LBB0_429 + //0x00001cae LBB0_331 + 0x48, 0x83, 0xf8, 0x01, //0x00001cae cmpq $1, %rax + 0x0f, 0x84, 0xb1, 0x0b, 0x00, 0x00, //0x00001cb2 je LBB0_475 + 0x4c, 0x89, 0xd9, //0x00001cb8 movq %r11, %rcx + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001cbb movq $-48(%rbp), %r9 + 0x4c, 0x29, 0xc9, //0x00001cbf subq %r9, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001cc2 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00001cc6 cmoveq %rcx, %r8 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001cca movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001cd1 movl $2, %edx + 0x48, 0x8b, 0x75, 0xc8, //0x00001cd6 movq $-56(%rbp), %rsi + 0x49, 0x01, 0xd3, //0x00001cda addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001cdd addq %rcx, %rax + 0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x00001ce0 jne LBB0_327 + 0xe9, 0x22, 0x09, 0x00, 0x00, //0x00001ce6 jmp LBB0_429 + //0x00001ceb LBB0_333 + 0x49, 0xf7, 0xdb, //0x00001ceb negq %r11 + //0x00001cee LBB0_334 + 0x48, 0x8b, 0x75, 0xc8, //0x00001cee movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001cf2 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xdb, //0x00001cf6 testq %r11, %r11 + 0x0f, 0x88, 0xe2, 0x08, 0x00, 0x00, //0x00001cf9 js LBB0_423 + //0x00001cff LBB0_335 + 0x4d, 0x01, 0xfb, //0x00001cff addq %r15, %r11 + //0x00001d02 LBB0_336 + 0x4c, 0x89, 0x1e, //0x00001d02 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00001d05 movq %r15, %rax + 0x4d, 0x85, 0xff, //0x00001d08 testq %r15, %r15 + 0x0f, 0x89, 0x83, 0xe4, 0xff, 0xff, //0x00001d0b jns LBB0_4 + 0xe9, 0xde, 0x08, 0x00, 0x00, //0x00001d11 jmp LBB0_427 + //0x00001d16 LBB0_337 + 0x4d, 0x29, 0xe5, //0x00001d16 subq %r12, %r13 + 0x44, 0x0f, 0xbc, 0xdf, //0x00001d19 bsfl %edi, %r11d + 0x4d, 0x01, 0xeb, //0x00001d1d addq %r13, %r11 + //0x00001d20 LBB0_338 + 0x49, 0xf7, 0xd3, //0x00001d20 notq %r11 + //0x00001d23 LBB0_339 + 0x48, 0x8b, 0x75, 0xc8, //0x00001d23 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001d27 movq $-48(%rbp), %r9 + //0x00001d2b LBB0_340 + 0x4d, 0x85, 0xdb, //0x00001d2b testq %r11, %r11 + 0x0f, 0x88, 0x3b, 0x09, 0x00, 0x00, //0x00001d2e js LBB0_438 + //0x00001d34 LBB0_341 + 0x48, 0x8b, 0x4d, 0xc0, //0x00001d34 movq $-64(%rbp), %rcx + 0x49, 0x01, 0xcb, //0x00001d38 addq %rcx, %r11 + 0x4c, 0x89, 0x1e, //0x00001d3b movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00001d3e movq %r15, %rax + 0x48, 0x85, 0xc9, //0x00001d41 testq %rcx, %rcx + 0x0f, 0x8f, 0x4a, 0xe4, 0xff, 0xff, //0x00001d44 jg LBB0_4 + 0xe9, 0xa5, 0x08, 0x00, 0x00, //0x00001d4a jmp LBB0_427 + //0x00001d4f LBB0_342 + 0x4c, 0x03, 0x5d, 0xa0, //0x00001d4f addq $-96(%rbp), %r11 + 0xe9, 0xa5, 0xf2, 0xff, 0xff, //0x00001d53 jmp LBB0_195 + //0x00001d58 LBB0_208 + 0x4d, 0x89, 0xe3, //0x00001d58 movq %r12, %r11 + 0x4c, 0x8b, 0x55, 0xb0, //0x00001d5b movq $-80(%rbp), %r10 + 0x49, 0x83, 0xfa, 0x20, //0x00001d5f cmpq $32, %r10 + 0x48, 0x8b, 0x7d, 0xb8, //0x00001d63 movq $-72(%rbp), %rdi + 0x0f, 0x82, 0x2c, 0x07, 0x00, 0x00, //0x00001d67 jb LBB0_404 + //0x00001d6d LBB0_209 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001d6d movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001d72 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001d78 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001d7c pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x00001d80 pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x6f, 0xec, //0x00001d84 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001d88 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001d8c pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x74, 0xd9, //0x00001d90 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00001d94 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x00001d98 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00001d9c pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001da0 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001da4 shlq $16, %rax + 0x48, 0x09, 0xc1, //0x00001da8 orq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001dab cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001daf jne LBB0_211 + 0x48, 0x85, 0xc9, //0x00001db5 testq %rcx, %rcx + 0x0f, 0x85, 0x75, 0x06, 0x00, 0x00, //0x00001db8 jne LBB0_401 + //0x00001dbe LBB0_211 + 0x48, 0x09, 0xf2, //0x00001dbe orq %rsi, %rdx + 0x48, 0x89, 0xc8, //0x00001dc1 movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x00001dc4 orq %r9, %rax + 0x0f, 0x85, 0x83, 0x06, 0x00, 0x00, //0x00001dc7 jne LBB0_402 + //0x00001dcd LBB0_212 + 0x48, 0x85, 0xd2, //0x00001dcd testq %rdx, %rdx + 0x0f, 0x84, 0xbb, 0x06, 0x00, 0x00, //0x00001dd0 je LBB0_403 + //0x00001dd6 LBB0_213 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001dd6 bsfq %rdx, %rax + 0x4c, 0x03, 0x5d, 0xa0, //0x00001dda addq $-96(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00001dde addq %rax, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x00001de1 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001de5 movq $-48(%rbp), %r9 + 0xe9, 0x11, 0xfa, 0xff, 0xff, //0x00001de9 jmp LBB0_304 + //0x00001dee LBB0_275 + 0x4d, 0x89, 0xe3, //0x00001dee movq %r12, %r11 + 0x4c, 0x8b, 0x55, 0xb0, //0x00001df1 movq $-80(%rbp), %r10 + 0x49, 0x83, 0xfa, 0x20, //0x00001df5 cmpq $32, %r10 + 0x48, 0x8b, 0x7d, 0xb8, //0x00001df9 movq $-72(%rbp), %rdi + 0x0f, 0x82, 0x32, 0x01, 0x00, 0x00, //0x00001dfd jb LBB0_347 + //0x00001e03 LBB0_276 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001e03 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001e08 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001e0e movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001e12 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xcd, //0x00001e16 pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xec, //0x00001e1a movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001e1e pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x00001e22 pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x6f, 0xeb, //0x00001e26 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001e2a pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001e2e pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xec, //0x00001e32 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001e36 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xc5, //0x00001e3a pmovmskb %xmm5, %eax + 0x66, 0x0f, 0x6f, 0xea, //0x00001e3e movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x00001e42 pcmpgtb %xmm3, %xmm5 + 0x66, 0x41, 0x0f, 0x64, 0xde, //0x00001e46 pcmpgtb %xmm14, %xmm3 + 0x66, 0x0f, 0xdb, 0xdd, //0x00001e4b pand %xmm5, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001e4f pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x00001e54 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001e58 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001e5c pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00001e61 pand %xmm3, %xmm4 + 0x66, 0x0f, 0xd7, 0xdc, //0x00001e65 pmovmskb %xmm4, %ebx + 0x48, 0xc1, 0xe6, 0x10, //0x00001e69 shlq $16, %rsi + 0x48, 0xc1, 0xe0, 0x10, //0x00001e6d shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00001e71 orq %rax, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001e74 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001e78 jne LBB0_278 + 0x48, 0x85, 0xd2, //0x00001e7e testq %rdx, %rdx + 0x0f, 0x85, 0x9f, 0x06, 0x00, 0x00, //0x00001e81 jne LBB0_412 + //0x00001e87 LBB0_278 + 0x48, 0xc1, 0xe3, 0x10, //0x00001e87 shlq $16, %rbx + 0x48, 0x09, 0xce, //0x00001e8b orq %rcx, %rsi + 0x48, 0x89, 0xd0, //0x00001e8e movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00001e91 orq %r9, %rax + 0x0f, 0x85, 0x5e, 0x05, 0x00, 0x00, //0x00001e94 jne LBB0_400 + //0x00001e9a LBB0_279 + 0x4c, 0x09, 0xf3, //0x00001e9a orq %r14, %rbx + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001e9d movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001ea2 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001ea7 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001eaa je LBB0_281 + 0x48, 0x0f, 0xbc, 0xd6, //0x00001eb0 bsfq %rsi, %rdx + //0x00001eb4 LBB0_281 + 0x48, 0x85, 0xdb, //0x00001eb4 testq %rbx, %rbx + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001eb7 je LBB0_283 + 0x48, 0x0f, 0xbc, 0xcb, //0x00001ebd bsfq %rbx, %rcx + //0x00001ec1 LBB0_283 + 0x48, 0x85, 0xf6, //0x00001ec1 testq %rsi, %rsi + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x00001ec4 je LBB0_345 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001eca movq $-48(%rbp), %r9 + 0x4d, 0x29, 0xcb, //0x00001ece subq %r9, %r11 + 0x48, 0x39, 0xd1, //0x00001ed1 cmpq %rdx, %rcx + 0x0f, 0x82, 0x6c, 0x09, 0x00, 0x00, //0x00001ed4 jb LBB0_471 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001eda leaq $1(%r11,%rdx), %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x00001edf movq $-56(%rbp), %rsi + 0xe9, 0x17, 0xf9, 0xff, 0xff, //0x00001ee3 jmp LBB0_304 + //0x00001ee8 LBB0_343 + 0x49, 0x89, 0xc8, //0x00001ee8 movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001eeb movq $-1, %r11 + 0x48, 0x85, 0xff, //0x00001ef2 testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001ef5 movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x7e, 0xf8, 0xff, 0xff, //0x00001ef9 jne LBB0_292 + 0xe9, 0x6b, 0x07, 0x00, 0x00, //0x00001eff jmp LBB0_438 + //0x00001f04 LBB0_344 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00001f04 movq $-1, %r13 + 0x4d, 0x89, 0xd3, //0x00001f0b movq %r10, %r11 + 0x49, 0x89, 0xf9, //0x00001f0e movq %rdi, %r9 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001f11 movq $-1, %r12 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00001f18 movq $-1, %rdi + 0xe9, 0xcc, 0xe8, 0xff, 0xff, //0x00001f1f jmp LBB0_92 + //0x00001f24 LBB0_345 + 0x48, 0x85, 0xdb, //0x00001f24 testq %rbx, %rbx + 0x0f, 0x85, 0x2b, 0x09, 0x00, 0x00, //0x00001f27 jne LBB0_472 + 0x49, 0x83, 0xc3, 0x20, //0x00001f2d addq $32, %r11 + 0x49, 0x83, 0xc2, 0xe0, //0x00001f31 addq $-32, %r10 + //0x00001f35 LBB0_347 + 0x4d, 0x85, 0xc9, //0x00001f35 testq %r9, %r9 + 0x0f, 0x85, 0x2f, 0x06, 0x00, 0x00, //0x00001f38 jne LBB0_415 + 0x48, 0x8b, 0x75, 0xc8, //0x00001f3e movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001f42 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x00001f46 testq %r10, %r10 + 0x0f, 0x84, 0x32, 0x07, 0x00, 0x00, //0x00001f49 je LBB0_442 + //0x00001f4f LBB0_349 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001f4f movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001f53 cmpb $34, %cl + 0x0f, 0x84, 0xdb, 0x00, 0x00, 0x00, //0x00001f56 je LBB0_360 + 0x80, 0xf9, 0x5c, //0x00001f5c cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001f5f je LBB0_353 + 0x80, 0xf9, 0x1f, //0x00001f65 cmpb $31, %cl + 0x0f, 0x86, 0xc7, 0x08, 0x00, 0x00, //0x00001f68 jbe LBB0_469 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001f6e movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001f75 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001f7a addq %rdx, %r11 + 0x49, 0x01, 0xca, //0x00001f7d addq %rcx, %r10 + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001f80 jne LBB0_349 + 0xe9, 0xf6, 0x06, 0x00, 0x00, //0x00001f86 jmp LBB0_442 + //0x00001f8b LBB0_353 + 0x49, 0x83, 0xfa, 0x01, //0x00001f8b cmpq $1, %r10 + 0x0f, 0x84, 0xea, 0x08, 0x00, 0x00, //0x00001f8f je LBB0_476 + 0x4c, 0x89, 0xd8, //0x00001f95 movq %r11, %rax + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001f98 movq $-48(%rbp), %r9 + 0x4c, 0x29, 0xc8, //0x00001f9c subq %r9, %rax + 0x49, 0x83, 0xf8, 0xff, //0x00001f9f cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x00001fa3 cmoveq %rax, %r8 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001fa7 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001fae movl $2, %edx + 0x48, 0x8b, 0x75, 0xc8, //0x00001fb3 movq $-56(%rbp), %rsi + 0x49, 0x01, 0xd3, //0x00001fb7 addq %rdx, %r11 + 0x49, 0x01, 0xca, //0x00001fba addq %rcx, %r10 + 0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x00001fbd jne LBB0_349 + 0xe9, 0xb9, 0x06, 0x00, 0x00, //0x00001fc3 jmp LBB0_442 + //0x00001fc8 LBB0_355 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001fc8 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001fcf xorl %r8d, %r8d + 0x49, 0x83, 0xfd, 0x20, //0x00001fd2 cmpq $32, %r13 + 0x0f, 0x83, 0x89, 0xf8, 0xff, 0xff, //0x00001fd6 jae LBB0_51 + 0xe9, 0xdb, 0x01, 0x00, 0x00, //0x00001fdc jmp LBB0_374 + //0x00001fe1 LBB0_356 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001fe1 movq $-1, %r9 + 0x31, 0xdb, //0x00001fe8 xorl %ebx, %ebx + 0x4d, 0x89, 0xd5, //0x00001fea movq %r10, %r13 + 0x48, 0x83, 0xf8, 0x20, //0x00001fed cmpq $32, %rax + 0x0f, 0x83, 0xf4, 0xf8, 0xff, 0xff, //0x00001ff1 jae LBB0_114 + //0x00001ff7 LBB0_357 + 0x48, 0x8b, 0x7d, 0xc0, //0x00001ff7 movq $-64(%rbp), %rdi + 0x48, 0x85, 0xdb, //0x00001ffb testq %rbx, %rbx + 0x0f, 0x84, 0xae, 0xfb, 0xff, 0xff, //0x00001ffe je LBB0_315 + //0x00002004 LBB0_358 + 0x48, 0x85, 0xc0, //0x00002004 testq %rax, %rax + 0x0f, 0x84, 0x54, 0x08, 0x00, 0x00, //0x00002007 je LBB0_473 + 0x48, 0x8b, 0x4d, 0xa8, //0x0000200d movq $-88(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x00002011 addq %r11, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00002014 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00002018 cmoveq %rcx, %r9 + 0x49, 0xff, 0xc3, //0x0000201c incq %r11 + 0x48, 0xff, 0xc8, //0x0000201f decq %rax + 0x48, 0x8b, 0x7d, 0xc0, //0x00002022 movq $-64(%rbp), %rdi + 0x4d, 0x89, 0xea, //0x00002026 movq %r13, %r10 + 0x48, 0x85, 0xc0, //0x00002029 testq %rax, %rax + 0x0f, 0x85, 0x8c, 0xfb, 0xff, 0xff, //0x0000202c jne LBB0_316 + 0xe9, 0x8f, 0x05, 0x00, 0x00, //0x00002032 jmp LBB0_420 + //0x00002037 LBB0_360 + 0x4c, 0x03, 0x5d, 0xa0, //0x00002037 addq $-96(%rbp), %r11 + 0xe9, 0xbf, 0xf7, 0xff, 0xff, //0x0000203b jmp LBB0_304 + //0x00002040 LBB0_361 + 0x49, 0xf7, 0xdb, //0x00002040 negq %r11 + 0xe9, 0xdb, 0xfc, 0xff, 0xff, //0x00002043 jmp LBB0_339 + //0x00002048 LBB0_362 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002048 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x0000204f xorl %r9d, %r9d + 0x49, 0x83, 0xfd, 0x20, //0x00002052 cmpq $32, %r13 + 0x0f, 0x83, 0xcf, 0xf9, 0xff, 0xff, //0x00002056 jae LBB0_137 + 0xe9, 0xc3, 0x02, 0x00, 0x00, //0x0000205c jmp LBB0_389 + //0x00002061 LBB0_363 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002061 movq $-1, %r8 + 0x45, 0x31, 0xd2, //0x00002068 xorl %r10d, %r10d + 0x48, 0x83, 0xf8, 0x20, //0x0000206b cmpq $32, %rax + 0x0f, 0x83, 0x39, 0xfa, 0xff, 0xff, //0x0000206f jae LBB0_171 + //0x00002075 LBB0_364 + 0x48, 0x8b, 0x75, 0xc8, //0x00002075 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002079 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x0000207d testq %r10, %r10 + 0x0f, 0x84, 0xdf, 0xfb, 0xff, 0xff, //0x00002080 je LBB0_326 + //0x00002086 LBB0_365 + 0x48, 0x85, 0xc0, //0x00002086 testq %rax, %rax + 0x0f, 0x84, 0xe3, 0x07, 0x00, 0x00, //0x00002089 je LBB0_474 + 0x48, 0x8b, 0x4d, 0xa8, //0x0000208f movq $-88(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x00002093 addq %r11, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00002096 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x0000209a cmoveq %rcx, %r8 + 0x49, 0xff, 0xc3, //0x0000209e incq %r11 + 0x48, 0xff, 0xc8, //0x000020a1 decq %rax + 0x48, 0x8b, 0x75, 0xc8, //0x000020a4 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x000020a8 movq $-48(%rbp), %r9 + 0x4c, 0x8b, 0x55, 0xb8, //0x000020ac movq $-72(%rbp), %r10 + 0x48, 0x85, 0xc0, //0x000020b0 testq %rax, %rax + 0x0f, 0x85, 0xb9, 0xfb, 0xff, 0xff, //0x000020b3 jne LBB0_327 + 0xe9, 0x4f, 0x05, 0x00, 0x00, //0x000020b9 jmp LBB0_429 + //0x000020be LBB0_367 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000020be movq $-1, %r14 + 0x4d, 0x89, 0xe0, //0x000020c5 movq %r12, %r8 + 0x4d, 0x89, 0xd1, //0x000020c8 movq %r10, %r9 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000020cb movq $-1, %rdi + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000020d2 movq $-1, %rbx + 0x48, 0x8d, 0x35, 0xb0, 0x09, 0x00, 0x00, //0x000020d9 leaq $2480(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0xe9, 0xf6, 0xf2, 0xff, 0xff, //0x000020e0 jmp LBB0_241 + //0x000020e5 LBB0_368 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000020e5 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x000020ec xorl %r9d, %r9d + 0x49, 0x83, 0xfa, 0x20, //0x000020ef cmpq $32, %r10 + 0x48, 0x8b, 0x7d, 0xb8, //0x000020f3 movq $-72(%rbp), %rdi + 0x0f, 0x83, 0x70, 0xfc, 0xff, 0xff, //0x000020f7 jae LBB0_209 + 0xe9, 0x97, 0x03, 0x00, 0x00, //0x000020fd jmp LBB0_404 + //0x00002102 LBB0_369 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002102 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00002109 xorl %r9d, %r9d + 0x49, 0x83, 0xfa, 0x20, //0x0000210c cmpq $32, %r10 + 0x48, 0x8b, 0x7d, 0xb8, //0x00002110 movq $-72(%rbp), %rdi + 0x0f, 0x83, 0xe9, 0xfc, 0xff, 0xff, //0x00002114 jae LBB0_276 + 0xe9, 0x16, 0xfe, 0xff, 0xff, //0x0000211a jmp LBB0_347 + //0x0000211f LBB0_370 + 0x41, 0x89, 0xdc, //0x0000211f movl %ebx, %r12d + 0x41, 0xf7, 0xd4, //0x00002122 notl %r12d + 0x41, 0x21, 0xd4, //0x00002125 andl %edx, %r12d + 0x47, 0x8d, 0x04, 0x24, //0x00002128 leal (%r12,%r12), %r8d + 0x41, 0x09, 0xd8, //0x0000212c orl %ebx, %r8d + 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000212f movl $2863311530, %ecx + 0x44, 0x31, 0xc1, //0x00002134 xorl %r8d, %ecx + 0x21, 0xd1, //0x00002137 andl %edx, %ecx + 0x81, 0xe1, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002139 andl $-1431655766, %ecx + 0x31, 0xdb, //0x0000213f xorl %ebx, %ebx + 0x44, 0x01, 0xe1, //0x00002141 addl %r12d, %ecx + 0x0f, 0x92, 0xc3, //0x00002144 setb %bl + 0x01, 0xc9, //0x00002147 addl %ecx, %ecx + 0x81, 0xf1, 0x55, 0x55, 0x55, 0x55, //0x00002149 xorl $1431655765, %ecx + 0x44, 0x21, 0xc1, //0x0000214f andl %r8d, %ecx + 0xf7, 0xd1, //0x00002152 notl %ecx + 0x21, 0xce, //0x00002154 andl %ecx, %esi + 0xe9, 0x29, 0xf8, 0xff, 0xff, //0x00002156 jmp LBB0_117 + //0x0000215b LBB0_371 + 0x4c, 0x89, 0xd8, //0x0000215b movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x0000215e subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc9, //0x00002162 bsfq %rcx, %r9 + 0x49, 0x01, 0xc1, //0x00002166 addq %rax, %r9 + 0x48, 0x09, 0xfa, //0x00002169 orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x0000216c movq %rcx, %rax + 0x4c, 0x09, 0xc0, //0x0000216f orq %r8, %rax + 0x0f, 0x84, 0x4d, 0xf7, 0xff, 0xff, //0x00002172 je LBB0_54 + //0x00002178 LBB0_372 + 0x44, 0x89, 0xc0, //0x00002178 movl %r8d, %eax + 0xf7, 0xd0, //0x0000217b notl %eax + 0x21, 0xc8, //0x0000217d andl %ecx, %eax + 0x8d, 0x34, 0x00, //0x0000217f leal (%rax,%rax), %esi + 0x44, 0x09, 0xc6, //0x00002182 orl %r8d, %esi + 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002185 movl $2863311530, %edi + 0x31, 0xf7, //0x0000218a xorl %esi, %edi + 0x21, 0xcf, //0x0000218c andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000218e andl $-1431655766, %edi + 0x45, 0x31, 0xc0, //0x00002194 xorl %r8d, %r8d + 0x01, 0xc7, //0x00002197 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc0, //0x00002199 setb %r8b + 0x01, 0xff, //0x0000219d addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x0000219f xorl $1431655765, %edi + 0x21, 0xf7, //0x000021a5 andl %esi, %edi + 0xf7, 0xd7, //0x000021a7 notl %edi + 0x21, 0xfa, //0x000021a9 andl %edi, %edx + 0x48, 0x85, 0xd2, //0x000021ab testq %rdx, %rdx + 0x0f, 0x85, 0x1a, 0xf7, 0xff, 0xff, //0x000021ae jne LBB0_55 + //0x000021b4 LBB0_373 + 0x49, 0x83, 0xc3, 0x20, //0x000021b4 addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x000021b8 addq $-32, %r13 + //0x000021bc LBB0_374 + 0x4d, 0x85, 0xc0, //0x000021bc testq %r8, %r8 + 0x0f, 0x85, 0xce, 0x00, 0x00, 0x00, //0x000021bf jne LBB0_384 + 0x48, 0x8b, 0x7d, 0xc0, //0x000021c5 movq $-64(%rbp), %rdi + 0x4d, 0x85, 0xed, //0x000021c9 testq %r13, %r13 + 0x0f, 0x84, 0xf4, 0x03, 0x00, 0x00, //0x000021cc je LBB0_420 + //0x000021d2 LBB0_376 + 0x49, 0x8d, 0x4b, 0x01, //0x000021d2 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x000021d6 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x000021da cmpb $34, %bl + 0x0f, 0x84, 0x53, 0x00, 0x00, 0x00, //0x000021dd je LBB0_381 + 0x49, 0x8d, 0x55, 0xff, //0x000021e3 leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x000021e7 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000021ea je LBB0_379 + 0x49, 0x89, 0xd5, //0x000021f0 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x000021f3 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x000021f6 testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x000021f9 jne LBB0_376 + 0xe9, 0xc2, 0x03, 0x00, 0x00, //0x000021ff jmp LBB0_420 + //0x00002204 LBB0_379 + 0x48, 0x85, 0xd2, //0x00002204 testq %rdx, %rdx + 0x0f, 0x84, 0xb9, 0x03, 0x00, 0x00, //0x00002207 je LBB0_420 + 0x48, 0x03, 0x4d, 0xa8, //0x0000220d addq $-88(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00002211 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00002215 cmoveq %rcx, %r9 + 0x49, 0x83, 0xc3, 0x02, //0x00002219 addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x0000221d addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x00002221 movq %r13, %rdx + 0x48, 0x8b, 0x7d, 0xc0, //0x00002224 movq $-64(%rbp), %rdi + 0x48, 0x85, 0xd2, //0x00002228 testq %rdx, %rdx + 0x0f, 0x85, 0xa1, 0xff, 0xff, 0xff, //0x0000222b jne LBB0_376 + 0xe9, 0x90, 0x03, 0x00, 0x00, //0x00002231 jmp LBB0_420 + //0x00002236 LBB0_381 + 0x48, 0x2b, 0x4d, 0xd0, //0x00002236 subq $-48(%rbp), %rcx + 0x49, 0x89, 0xcb, //0x0000223a movq %rcx, %r11 + 0xe9, 0x50, 0xed, 0xff, 0xff, //0x0000223d jmp LBB0_188 + //0x00002242 LBB0_382 + 0x4c, 0x89, 0xd9, //0x00002242 movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x00002245 subq $-48(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xca, //0x00002249 bsfq %rdx, %r9 + 0x49, 0x01, 0xc9, //0x0000224d addq %rcx, %r9 + 0xe9, 0x1c, 0xf7, 0xff, 0xff, //0x00002250 jmp LBB0_116 + //0x00002255 LBB0_383 + 0x45, 0x89, 0xd4, //0x00002255 movl %r10d, %r12d + 0x41, 0xf7, 0xd4, //0x00002258 notl %r12d + 0x41, 0x21, 0xd4, //0x0000225b andl %edx, %r12d + 0x47, 0x8d, 0x0c, 0x24, //0x0000225e leal (%r12,%r12), %r9d + 0x45, 0x09, 0xd1, //0x00002262 orl %r10d, %r9d + 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002265 movl $2863311530, %ecx + 0x44, 0x31, 0xc9, //0x0000226a xorl %r9d, %ecx + 0x21, 0xd1, //0x0000226d andl %edx, %ecx + 0x81, 0xe1, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000226f andl $-1431655766, %ecx + 0x45, 0x31, 0xd2, //0x00002275 xorl %r10d, %r10d + 0x44, 0x01, 0xe1, //0x00002278 addl %r12d, %ecx + 0x41, 0x0f, 0x92, 0xc2, //0x0000227b setb %r10b + 0x01, 0xc9, //0x0000227f addl %ecx, %ecx + 0x81, 0xf1, 0x55, 0x55, 0x55, 0x55, //0x00002281 xorl $1431655765, %ecx + 0x44, 0x21, 0xc9, //0x00002287 andl %r9d, %ecx + 0xf7, 0xd1, //0x0000228a notl %ecx + 0x21, 0xcb, //0x0000228c andl %ecx, %ebx + 0xe9, 0xb3, 0xf8, 0xff, 0xff, //0x0000228e jmp LBB0_174 + //0x00002293 LBB0_384 + 0x4d, 0x85, 0xed, //0x00002293 testq %r13, %r13 + 0x0f, 0x84, 0x2a, 0x03, 0x00, 0x00, //0x00002296 je LBB0_420 + 0x48, 0x8b, 0x45, 0xa8, //0x0000229c movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000022a0 addq %r11, %rax + 0x49, 0x83, 0xf9, 0xff, //0x000022a3 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc8, //0x000022a7 cmoveq %rax, %r9 + 0x49, 0xff, 0xc3, //0x000022ab incq %r11 + 0x49, 0xff, 0xcd, //0x000022ae decq %r13 + 0x48, 0x8b, 0x7d, 0xc0, //0x000022b1 movq $-64(%rbp), %rdi + 0x4d, 0x85, 0xed, //0x000022b5 testq %r13, %r13 + 0x0f, 0x85, 0x14, 0xff, 0xff, 0xff, //0x000022b8 jne LBB0_376 + 0xe9, 0x03, 0x03, 0x00, 0x00, //0x000022be jmp LBB0_420 + //0x000022c3 LBB0_386 + 0x4c, 0x89, 0xd8, //0x000022c3 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000022c6 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc1, //0x000022ca bsfq %rcx, %r8 + 0x49, 0x01, 0xc0, //0x000022ce addq %rax, %r8 + 0x48, 0x09, 0xfa, //0x000022d1 orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x000022d4 movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x000022d7 orq %r9, %rax + 0x0f, 0x84, 0xab, 0xf7, 0xff, 0xff, //0x000022da je LBB0_140 + //0x000022e0 LBB0_387 + 0x44, 0x89, 0xc8, //0x000022e0 movl %r9d, %eax + 0xf7, 0xd0, //0x000022e3 notl %eax + 0x21, 0xc8, //0x000022e5 andl %ecx, %eax + 0x8d, 0x34, 0x00, //0x000022e7 leal (%rax,%rax), %esi + 0x44, 0x09, 0xce, //0x000022ea orl %r9d, %esi + 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022ed movl $2863311530, %edi + 0x31, 0xf7, //0x000022f2 xorl %esi, %edi + 0x21, 0xcf, //0x000022f4 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022f6 andl $-1431655766, %edi + 0x45, 0x31, 0xc9, //0x000022fc xorl %r9d, %r9d + 0x01, 0xc7, //0x000022ff addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc1, //0x00002301 setb %r9b + 0x01, 0xff, //0x00002305 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00002307 xorl $1431655765, %edi + 0x21, 0xf7, //0x0000230d andl %esi, %edi + 0xf7, 0xd7, //0x0000230f notl %edi + 0x21, 0xfa, //0x00002311 andl %edi, %edx + 0x48, 0x85, 0xd2, //0x00002313 testq %rdx, %rdx + 0x0f, 0x85, 0x78, 0xf7, 0xff, 0xff, //0x00002316 jne LBB0_141 + //0x0000231c LBB0_388 + 0x49, 0x83, 0xc3, 0x20, //0x0000231c addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x00002320 addq $-32, %r13 + //0x00002324 LBB0_389 + 0x4d, 0x85, 0xc9, //0x00002324 testq %r9, %r9 + 0x0f, 0x85, 0x97, 0x00, 0x00, 0x00, //0x00002327 jne LBB0_398 + 0x48, 0x8b, 0x75, 0xc8, //0x0000232d movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002331 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xed, //0x00002335 testq %r13, %r13 + 0x0f, 0x84, 0xcf, 0x02, 0x00, 0x00, //0x00002338 je LBB0_429 + //0x0000233e LBB0_391 + 0x49, 0x8d, 0x4b, 0x01, //0x0000233e leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x00002342 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x00002346 cmpb $34, %bl + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x00002349 je LBB0_396 + 0x49, 0x8d, 0x55, 0xff, //0x0000234f leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x00002353 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00002356 je LBB0_394 + 0x49, 0x89, 0xd5, //0x0000235c movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x0000235f movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x00002362 testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x00002365 jne LBB0_391 + 0xe9, 0x9d, 0x02, 0x00, 0x00, //0x0000236b jmp LBB0_429 + //0x00002370 LBB0_394 + 0x48, 0x85, 0xd2, //0x00002370 testq %rdx, %rdx + 0x0f, 0x84, 0xf0, 0x04, 0x00, 0x00, //0x00002373 je LBB0_475 + 0x48, 0x03, 0x4d, 0xa8, //0x00002379 addq $-88(%rbp), %rcx + 0x49, 0x83, 0xf8, 0xff, //0x0000237d cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00002381 cmoveq %rcx, %r8 + 0x49, 0x83, 0xc3, 0x02, //0x00002385 addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x00002389 addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x0000238d movq %r13, %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x00002390 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002394 movq $-48(%rbp), %r9 + 0x48, 0x85, 0xd2, //0x00002398 testq %rdx, %rdx + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x0000239b jne LBB0_391 + 0xe9, 0x67, 0x02, 0x00, 0x00, //0x000023a1 jmp LBB0_429 + //0x000023a6 LBB0_396 + 0x4c, 0x29, 0xc9, //0x000023a6 subq %r9, %rcx + 0x49, 0x89, 0xcb, //0x000023a9 movq %rcx, %r11 + 0xe9, 0x4c, 0xec, 0xff, 0xff, //0x000023ac jmp LBB0_195 + //0x000023b1 LBB0_397 + 0x4c, 0x89, 0xd9, //0x000023b1 movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x000023b4 subq $-48(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xc2, //0x000023b8 bsfq %rdx, %r8 + 0x49, 0x01, 0xc8, //0x000023bc addq %rcx, %r8 + 0xe9, 0x6f, 0xf7, 0xff, 0xff, //0x000023bf jmp LBB0_173 + //0x000023c4 LBB0_398 + 0x4d, 0x85, 0xed, //0x000023c4 testq %r13, %r13 + 0x0f, 0x84, 0x9c, 0x04, 0x00, 0x00, //0x000023c7 je LBB0_475 + 0x48, 0x8b, 0x45, 0xa8, //0x000023cd movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000023d1 addq %r11, %rax + 0x49, 0x83, 0xf8, 0xff, //0x000023d4 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x000023d8 cmoveq %rax, %r8 + 0x49, 0xff, 0xc3, //0x000023dc incq %r11 + 0x49, 0xff, 0xcd, //0x000023df decq %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x000023e2 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x000023e6 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xed, //0x000023ea testq %r13, %r13 + 0x0f, 0x85, 0x4b, 0xff, 0xff, 0xff, //0x000023ed jne LBB0_391 + 0xe9, 0x15, 0x02, 0x00, 0x00, //0x000023f3 jmp LBB0_429 + //0x000023f8 LBB0_400 + 0x44, 0x89, 0xc8, //0x000023f8 movl %r9d, %eax + 0xf7, 0xd0, //0x000023fb notl %eax + 0x21, 0xd0, //0x000023fd andl %edx, %eax + 0x44, 0x8d, 0x24, 0x00, //0x000023ff leal (%rax,%rax), %r12d + 0x45, 0x09, 0xcc, //0x00002403 orl %r9d, %r12d + 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002406 movl $2863311530, %ecx + 0x44, 0x31, 0xe1, //0x0000240b xorl %r12d, %ecx + 0x21, 0xd1, //0x0000240e andl %edx, %ecx + 0x81, 0xe1, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002410 andl $-1431655766, %ecx + 0x45, 0x31, 0xc9, //0x00002416 xorl %r9d, %r9d + 0x01, 0xc1, //0x00002419 addl %eax, %ecx + 0x41, 0x0f, 0x92, 0xc1, //0x0000241b setb %r9b + 0x01, 0xc9, //0x0000241f addl %ecx, %ecx + 0x81, 0xf1, 0x55, 0x55, 0x55, 0x55, //0x00002421 xorl $1431655765, %ecx + 0x44, 0x21, 0xe1, //0x00002427 andl %r12d, %ecx + 0xf7, 0xd1, //0x0000242a notl %ecx + 0x21, 0xce, //0x0000242c andl %ecx, %esi + 0xe9, 0x67, 0xfa, 0xff, 0xff, //0x0000242e jmp LBB0_279 + //0x00002433 LBB0_401 + 0x4c, 0x89, 0xd8, //0x00002433 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00002436 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc1, //0x0000243a bsfq %rcx, %r8 + 0x49, 0x01, 0xc0, //0x0000243e addq %rax, %r8 + 0x48, 0x09, 0xf2, //0x00002441 orq %rsi, %rdx + 0x48, 0x89, 0xc8, //0x00002444 movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x00002447 orq %r9, %rax + 0x0f, 0x84, 0x7d, 0xf9, 0xff, 0xff, //0x0000244a je LBB0_212 + //0x00002450 LBB0_402 + 0x44, 0x89, 0xc8, //0x00002450 movl %r9d, %eax + 0xf7, 0xd0, //0x00002453 notl %eax + 0x21, 0xc8, //0x00002455 andl %ecx, %eax + 0x44, 0x8d, 0x34, 0x00, //0x00002457 leal (%rax,%rax), %r14d + 0x45, 0x09, 0xce, //0x0000245b orl %r9d, %r14d + 0x44, 0x89, 0xf6, //0x0000245e movl %r14d, %esi + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002461 movl $2863311530, %ebx + 0x31, 0xde, //0x00002466 xorl %ebx, %esi + 0x21, 0xce, //0x00002468 andl %ecx, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000246a andl $-1431655766, %esi + 0x45, 0x31, 0xc9, //0x00002470 xorl %r9d, %r9d + 0x01, 0xc6, //0x00002473 addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc1, //0x00002475 setb %r9b + 0x01, 0xf6, //0x00002479 addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x0000247b xorl $1431655765, %esi + 0x44, 0x21, 0xf6, //0x00002481 andl %r14d, %esi + 0xf7, 0xd6, //0x00002484 notl %esi + 0x21, 0xf2, //0x00002486 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x00002488 testq %rdx, %rdx + 0x0f, 0x85, 0x45, 0xf9, 0xff, 0xff, //0x0000248b jne LBB0_213 + //0x00002491 LBB0_403 + 0x49, 0x83, 0xc3, 0x20, //0x00002491 addq $32, %r11 + 0x49, 0x83, 0xc2, 0xe0, //0x00002495 addq $-32, %r10 + //0x00002499 LBB0_404 + 0x4d, 0x85, 0xc9, //0x00002499 testq %r9, %r9 + 0x0f, 0x85, 0x97, 0x00, 0x00, 0x00, //0x0000249c jne LBB0_413 + 0x48, 0x8b, 0x75, 0xc8, //0x000024a2 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x000024a6 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x000024aa testq %r10, %r10 + 0x0f, 0x84, 0xce, 0x01, 0x00, 0x00, //0x000024ad je LBB0_442 + //0x000024b3 LBB0_406 + 0x49, 0x8d, 0x4b, 0x01, //0x000024b3 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x000024b7 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x000024bb cmpb $34, %bl + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x000024be je LBB0_411 + 0x49, 0x8d, 0x52, 0xff, //0x000024c4 leaq $-1(%r10), %rdx + 0x80, 0xfb, 0x5c, //0x000024c8 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000024cb je LBB0_409 + 0x49, 0x89, 0xd2, //0x000024d1 movq %rdx, %r10 + 0x49, 0x89, 0xcb, //0x000024d4 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x000024d7 testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x000024da jne LBB0_406 + 0xe9, 0x9c, 0x01, 0x00, 0x00, //0x000024e0 jmp LBB0_442 + //0x000024e5 LBB0_409 + 0x48, 0x85, 0xd2, //0x000024e5 testq %rdx, %rdx + 0x0f, 0x84, 0x91, 0x03, 0x00, 0x00, //0x000024e8 je LBB0_476 + 0x48, 0x03, 0x4d, 0xa8, //0x000024ee addq $-88(%rbp), %rcx + 0x49, 0x83, 0xf8, 0xff, //0x000024f2 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x000024f6 cmoveq %rcx, %r8 + 0x49, 0x83, 0xc3, 0x02, //0x000024fa addq $2, %r11 + 0x49, 0x83, 0xc2, 0xfe, //0x000024fe addq $-2, %r10 + 0x4c, 0x89, 0xd2, //0x00002502 movq %r10, %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x00002505 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002509 movq $-48(%rbp), %r9 + 0x48, 0x85, 0xd2, //0x0000250d testq %rdx, %rdx + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x00002510 jne LBB0_406 + 0xe9, 0x66, 0x01, 0x00, 0x00, //0x00002516 jmp LBB0_442 + //0x0000251b LBB0_411 + 0x4c, 0x29, 0xc9, //0x0000251b subq %r9, %rcx + 0x49, 0x89, 0xcb, //0x0000251e movq %rcx, %r11 + 0xe9, 0xd9, 0xf2, 0xff, 0xff, //0x00002521 jmp LBB0_304 + //0x00002526 LBB0_412 + 0x4c, 0x89, 0xd8, //0x00002526 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00002529 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc2, //0x0000252d bsfq %rdx, %r8 + 0x49, 0x01, 0xc0, //0x00002531 addq %rax, %r8 + 0xe9, 0x4e, 0xf9, 0xff, 0xff, //0x00002534 jmp LBB0_278 + //0x00002539 LBB0_413 + 0x4d, 0x85, 0xd2, //0x00002539 testq %r10, %r10 + 0x0f, 0x84, 0x3d, 0x03, 0x00, 0x00, //0x0000253c je LBB0_476 + 0x48, 0x8b, 0x45, 0xa8, //0x00002542 movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x00002546 addq %r11, %rax + 0x49, 0x83, 0xf8, 0xff, //0x00002549 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x0000254d cmoveq %rax, %r8 + 0x49, 0xff, 0xc3, //0x00002551 incq %r11 + 0x49, 0xff, 0xca, //0x00002554 decq %r10 + 0x48, 0x8b, 0x75, 0xc8, //0x00002557 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x0000255b movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x0000255f testq %r10, %r10 + 0x0f, 0x85, 0x4b, 0xff, 0xff, 0xff, //0x00002562 jne LBB0_406 + 0xe9, 0x14, 0x01, 0x00, 0x00, //0x00002568 jmp LBB0_442 + //0x0000256d LBB0_415 + 0x4d, 0x85, 0xd2, //0x0000256d testq %r10, %r10 + 0x0f, 0x84, 0x09, 0x03, 0x00, 0x00, //0x00002570 je LBB0_476 + 0x48, 0x8b, 0x45, 0xa8, //0x00002576 movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x0000257a addq %r11, %rax + 0x49, 0x83, 0xf8, 0xff, //0x0000257d cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x00002581 cmoveq %rax, %r8 + 0x49, 0xff, 0xc3, //0x00002585 incq %r11 + 0x49, 0xff, 0xca, //0x00002588 decq %r10 + 0x48, 0x8b, 0x75, 0xc8, //0x0000258b movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x0000258f movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x00002593 testq %r10, %r10 + 0x0f, 0x85, 0xb3, 0xf9, 0xff, 0xff, //0x00002596 jne LBB0_349 + 0xe9, 0xe0, 0x00, 0x00, 0x00, //0x0000259c jmp LBB0_442 + //0x000025a1 LBB0_417 + 0x48, 0x89, 0x16, //0x000025a1 movq %rdx, (%rsi) + //0x000025a4 LBB0_418 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000025a4 movq $-1, %rax + 0xe9, 0x44, 0x00, 0x00, 0x00, //0x000025ab jmp LBB0_427 + //0x000025b0 LBB0_439 + 0x48, 0xc7, 0xc0, 0xf9, 0xff, 0xff, 0xff, //0x000025b0 movq $-7, %rax + 0xe9, 0x38, 0x00, 0x00, 0x00, //0x000025b7 jmp LBB0_427 + //0x000025bc LBB0_419 + 0x49, 0x83, 0xfb, 0xff, //0x000025bc cmpq $-1, %r11 + 0x0f, 0x85, 0x7d, 0x00, 0x00, 0x00, //0x000025c0 jne LBB0_150 + //0x000025c6 LBB0_420 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000025c6 movq $-1, %r11 + 0x4d, 0x89, 0xd1, //0x000025cd movq %r10, %r9 + 0xe9, 0x6e, 0x00, 0x00, 0x00, //0x000025d0 jmp LBB0_150 + //0x000025d5 LBB0_421 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000025d5 movq $-1, %rax + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x000025dc jmp LBB0_424 + //0x000025e1 LBB0_423 + 0x4c, 0x89, 0xd8, //0x000025e1 movq %r11, %rax + //0x000025e4 LBB0_424 + 0x48, 0xf7, 0xd0, //0x000025e4 notq %rax + 0x49, 0x01, 0xc7, //0x000025e7 addq %rax, %r15 + //0x000025ea LBB0_425 + 0x4c, 0x89, 0x3e, //0x000025ea movq %r15, (%rsi) + //0x000025ed LBB0_426 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000025ed movq $-2, %rax + //0x000025f4 LBB0_427 + 0x48, 0x83, 0xc4, 0x70, //0x000025f4 addq $112, %rsp + 0x5b, //0x000025f8 popq %rbx + 0x41, 0x5c, //0x000025f9 popq %r12 + 0x41, 0x5d, //0x000025fb popq %r13 + 0x41, 0x5e, //0x000025fd popq %r14 + 0x41, 0x5f, //0x000025ff popq %r15 + 0x5d, //0x00002601 popq %rbp + 0xc3, //0x00002602 retq + //0x00002603 LBB0_428 + 0x49, 0x83, 0xfb, 0xff, //0x00002603 cmpq $-1, %r11 + 0x0f, 0x85, 0xbf, 0x01, 0x00, 0x00, //0x00002607 jne LBB0_461 + //0x0000260d LBB0_429 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000260d movq $-1, %r11 + 0x4d, 0x89, 0xd0, //0x00002614 movq %r10, %r8 + 0xe9, 0xb0, 0x01, 0x00, 0x00, //0x00002617 jmp LBB0_461 + //0x0000261c LBB0_440 + 0x48, 0x89, 0x0e, //0x0000261c movq %rcx, (%rsi) + 0xe9, 0xd0, 0xff, 0xff, 0xff, //0x0000261f jmp LBB0_427 + //0x00002624 LBB0_430 + 0x49, 0x83, 0xf9, 0xff, //0x00002624 cmpq $-1, %r9 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00002628 jne LBB0_434 + 0x48, 0x0f, 0xbc, 0xc2, //0x0000262e bsfq %rdx, %rax + //0x00002632 LBB0_432 + 0x4c, 0x2b, 0x5d, 0xd0, //0x00002632 subq $-48(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00002636 addq %rax, %r11 + //0x00002639 LBB0_433 + 0x4d, 0x89, 0xd9, //0x00002639 movq %r11, %r9 + //0x0000263c LBB0_434 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000263c movq $-2, %r11 + //0x00002643 LBB0_150 + 0x48, 0x8b, 0x45, 0xc8, //0x00002643 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x00002647 movq %r9, (%rax) + 0x4c, 0x89, 0xd8, //0x0000264a movq %r11, %rax + 0xe9, 0xa2, 0xff, 0xff, 0xff, //0x0000264d jmp LBB0_427 + //0x00002652 LBB0_435 + 0x49, 0x83, 0xf8, 0xff, //0x00002652 cmpq $-1, %r8 + 0x0f, 0x84, 0x34, 0x01, 0x00, 0x00, //0x00002656 je LBB0_453 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000265c movq $-2, %r11 + 0xe9, 0x64, 0x01, 0x00, 0x00, //0x00002663 jmp LBB0_461 + //0x00002668 LBB0_437 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00002668 movq $-1, %r11 + //0x0000266f LBB0_438 + 0x4d, 0x29, 0xdf, //0x0000266f subq %r11, %r15 + 0xe9, 0x73, 0xff, 0xff, 0xff, //0x00002672 jmp LBB0_425 + //0x00002677 LBB0_441 + 0x49, 0x83, 0xfb, 0xff, //0x00002677 cmpq $-1, %r11 + 0x0f, 0x85, 0x4b, 0x01, 0x00, 0x00, //0x0000267b jne LBB0_461 + //0x00002681 LBB0_442 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00002681 movq $-1, %r11 + 0x49, 0x89, 0xf8, //0x00002688 movq %rdi, %r8 + 0xe9, 0x3c, 0x01, 0x00, 0x00, //0x0000268b jmp LBB0_461 + //0x00002690 LBB0_443 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00002690 movq $-2, %rax + 0x80, 0xf9, 0x61, //0x00002697 cmpb $97, %cl + 0x0f, 0x85, 0x54, 0xff, 0xff, 0xff, //0x0000269a jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x02, //0x000026a0 leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026a4 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x02, 0x6c, //0x000026a7 cmpb $108, $2(%r9,%r15) + 0x0f, 0x85, 0x41, 0xff, 0xff, 0xff, //0x000026ad jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x03, //0x000026b3 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026b7 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x03, 0x73, //0x000026ba cmpb $115, $3(%r9,%r15) + 0x0f, 0x85, 0x2e, 0xff, 0xff, 0xff, //0x000026c0 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x04, //0x000026c6 leaq $4(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026ca movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x04, 0x65, //0x000026cd cmpb $101, $4(%r9,%r15) + 0x0f, 0x85, 0x1b, 0xff, 0xff, 0xff, //0x000026d3 jne LBB0_427 + 0x49, 0x83, 0xc7, 0x05, //0x000026d9 addq $5, %r15 + 0x4c, 0x89, 0x3e, //0x000026dd movq %r15, (%rsi) + 0xe9, 0x0f, 0xff, 0xff, 0xff, //0x000026e0 jmp LBB0_427 + //0x000026e5 LBB0_249 + 0x4c, 0x89, 0x3e, //0x000026e5 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000026e8 movq $-2, %rax + 0x41, 0x80, 0x3a, 0x6e, //0x000026ef cmpb $110, (%r10) + 0x0f, 0x85, 0xfb, 0xfe, 0xff, 0xff, //0x000026f3 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x01, //0x000026f9 leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026fd movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x01, 0x75, //0x00002700 cmpb $117, $1(%r9,%r15) + 0x0f, 0x85, 0xe8, 0xfe, 0xff, 0xff, //0x00002706 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x02, //0x0000270c leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002710 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x02, 0x6c, //0x00002713 cmpb $108, $2(%r9,%r15) + 0x0f, 0x85, 0xd5, 0xfe, 0xff, 0xff, //0x00002719 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x03, //0x0000271f leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002723 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x03, 0x6c, //0x00002726 cmpb $108, $3(%r9,%r15) + 0x0f, 0x85, 0xc2, 0xfe, 0xff, 0xff, //0x0000272c jne LBB0_427 + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x00002732 jmp LBB0_452 + //0x00002737 LBB0_448 + 0x4c, 0x89, 0x3e, //0x00002737 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000273a movq $-2, %rax + 0x41, 0x80, 0x3a, 0x74, //0x00002741 cmpb $116, (%r10) + 0x0f, 0x85, 0xa9, 0xfe, 0xff, 0xff, //0x00002745 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x01, //0x0000274b leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x0000274f movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x01, 0x72, //0x00002752 cmpb $114, $1(%r9,%r15) + 0x0f, 0x85, 0x96, 0xfe, 0xff, 0xff, //0x00002758 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x02, //0x0000275e leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002762 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x02, 0x75, //0x00002765 cmpb $117, $2(%r9,%r15) + 0x0f, 0x85, 0x83, 0xfe, 0xff, 0xff, //0x0000276b jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x03, //0x00002771 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002775 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x03, 0x65, //0x00002778 cmpb $101, $3(%r9,%r15) + 0x0f, 0x85, 0x70, 0xfe, 0xff, 0xff, //0x0000277e jne LBB0_427 + //0x00002784 LBB0_452 + 0x49, 0x83, 0xc7, 0x04, //0x00002784 addq $4, %r15 + 0x4c, 0x89, 0x3e, //0x00002788 movq %r15, (%rsi) + 0xe9, 0x64, 0xfe, 0xff, 0xff, //0x0000278b jmp LBB0_427 + //0x00002790 LBB0_453 + 0x48, 0x0f, 0xbc, 0xc2, //0x00002790 bsfq %rdx, %rax + //0x00002794 LBB0_454 + 0x4d, 0x29, 0xcb, //0x00002794 subq %r9, %r11 + 0x49, 0x01, 0xc3, //0x00002797 addq %rax, %r11 + //0x0000279a LBB0_455 + 0x4d, 0x89, 0xd8, //0x0000279a movq %r11, %r8 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000279d movq $-2, %r11 + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x000027a4 jmp LBB0_461 + //0x000027a9 LBB0_456 + 0x49, 0x83, 0xf8, 0xff, //0x000027a9 cmpq $-1, %r8 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000027ad jne LBB0_459 + 0x48, 0x0f, 0xbc, 0xc2, //0x000027b3 bsfq %rdx, %rax + //0x000027b7 LBB0_458 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000027b7 subq $-48(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x000027bb addq %rax, %r11 + 0x4d, 0x89, 0xd8, //0x000027be movq %r11, %r8 + //0x000027c1 LBB0_459 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000027c1 movq $-2, %r11 + //0x000027c8 LBB0_460 + 0x48, 0x8b, 0x75, 0xc8, //0x000027c8 movq $-56(%rbp), %rsi + //0x000027cc LBB0_461 + 0x4c, 0x89, 0x06, //0x000027cc movq %r8, (%rsi) + 0x4c, 0x89, 0xd8, //0x000027cf movq %r11, %rax + 0xe9, 0x1d, 0xfe, 0xff, 0xff, //0x000027d2 jmp LBB0_427 + //0x000027d7 LBB0_462 + 0x49, 0x89, 0xc2, //0x000027d7 movq %rax, %r10 + 0xe9, 0xe7, 0xfd, 0xff, 0xff, //0x000027da jmp LBB0_420 + //0x000027df LBB0_463 + 0x49, 0x89, 0xca, //0x000027df movq %rcx, %r10 + 0xe9, 0xdf, 0xfd, 0xff, 0xff, //0x000027e2 jmp LBB0_420 + //0x000027e7 LBB0_149 + 0x4c, 0x01, 0xd9, //0x000027e7 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000027ea movq $-2, %r11 + 0x49, 0x89, 0xc9, //0x000027f1 movq %rcx, %r9 + 0xe9, 0x4a, 0xfe, 0xff, 0xff, //0x000027f4 jmp LBB0_150 + //0x000027f9 LBB0_185 + 0x4c, 0x01, 0xd9, //0x000027f9 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000027fc movq $-2, %r11 + 0x49, 0x89, 0xc8, //0x00002803 movq %rcx, %r8 + 0xe9, 0xc1, 0xff, 0xff, 0xff, //0x00002806 jmp LBB0_461 + //0x0000280b LBB0_464 + 0x49, 0x89, 0xc2, //0x0000280b movq %rax, %r10 + 0xe9, 0xfa, 0xfd, 0xff, 0xff, //0x0000280e jmp LBB0_429 + //0x00002813 LBB0_465 + 0x49, 0x89, 0xca, //0x00002813 movq %rcx, %r10 + 0xe9, 0xf2, 0xfd, 0xff, 0xff, //0x00002816 jmp LBB0_429 + //0x0000281b LBB0_466 + 0x48, 0x89, 0xc7, //0x0000281b movq %rax, %rdi + 0xe9, 0x5e, 0xfe, 0xff, 0xff, //0x0000281e jmp LBB0_442 + //0x00002823 LBB0_467 + 0x49, 0x0f, 0xbc, 0xc2, //0x00002823 bsfq %r10, %rax + 0xe9, 0x06, 0xfe, 0xff, 0xff, //0x00002827 jmp LBB0_432 + //0x0000282c LBB0_468 + 0x4c, 0x2b, 0x5d, 0xd0, //0x0000282c subq $-48(%rbp), %r11 + 0xe9, 0x04, 0xfe, 0xff, 0xff, //0x00002830 jmp LBB0_433 + //0x00002835 LBB0_469 + 0x4d, 0x29, 0xcb, //0x00002835 subq %r9, %r11 + 0xe9, 0x5d, 0xff, 0xff, 0xff, //0x00002838 jmp LBB0_455 + //0x0000283d LBB0_470 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000283d bsfq %rdi, %rax + 0xe9, 0x4e, 0xff, 0xff, 0xff, //0x00002841 jmp LBB0_454 + //0x00002846 LBB0_471 + 0x4c, 0x01, 0xd9, //0x00002846 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002849 movq $-2, %r11 + 0x49, 0x89, 0xc8, //0x00002850 movq %rcx, %r8 + 0xe9, 0x70, 0xff, 0xff, 0xff, //0x00002853 jmp LBB0_460 + //0x00002858 LBB0_472 + 0x48, 0x0f, 0xbc, 0xc3, //0x00002858 bsfq %rbx, %rax + 0xe9, 0x56, 0xff, 0xff, 0xff, //0x0000285c jmp LBB0_458 + //0x00002861 LBB0_473 + 0x4d, 0x89, 0xea, //0x00002861 movq %r13, %r10 + 0xe9, 0x5d, 0xfd, 0xff, 0xff, //0x00002864 jmp LBB0_420 + //0x00002869 LBB0_475 + 0x48, 0x8b, 0x75, 0xc8, //0x00002869 movq $-56(%rbp), %rsi + 0xe9, 0x9b, 0xfd, 0xff, 0xff, //0x0000286d jmp LBB0_429 + //0x00002872 LBB0_474 + 0x48, 0x8b, 0x75, 0xc8, //0x00002872 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xb8, //0x00002876 movq $-72(%rbp), %r10 + 0xe9, 0x8e, 0xfd, 0xff, 0xff, //0x0000287a jmp LBB0_429 + //0x0000287f LBB0_476 + 0x48, 0x8b, 0x75, 0xc8, //0x0000287f movq $-56(%rbp), %rsi + 0xe9, 0xf9, 0xfd, 0xff, 0xff, //0x00002883 jmp LBB0_442 + //0x00002888 .p2align 2, 0x90 + // // .set L0_0_set_35, LBB0_35-LJTI0_0 + // // .set L0_0_set_62, LBB0_62-LJTI0_0 + // // .set L0_0_set_40, LBB0_40-LJTI0_0 + // // .set L0_0_set_60, LBB0_60-LJTI0_0 + // // .set L0_0_set_38, LBB0_38-LJTI0_0 + // // .set L0_0_set_64, LBB0_64-LJTI0_0 + //0x00002888 LJTI0_0 + 0x13, 0xdb, 0xff, 0xff, //0x00002888 .long L0_0_set_35 + 0x24, 0xdd, 0xff, 0xff, //0x0000288c .long L0_0_set_62 + 0x4a, 0xdb, 0xff, 0xff, //0x00002890 .long L0_0_set_40 + 0x0d, 0xdd, 0xff, 0xff, //0x00002894 .long L0_0_set_60 + 0x2a, 0xdb, 0xff, 0xff, //0x00002898 .long L0_0_set_38 + 0x4f, 0xdd, 0xff, 0xff, //0x0000289c .long L0_0_set_64 + // // .set L0_1_set_427, LBB0_427-LJTI0_1 + // // .set L0_1_set_426, LBB0_426-LJTI0_1 + // // .set L0_1_set_199, LBB0_199-LJTI0_1 + // // .set L0_1_set_217, LBB0_217-LJTI0_1 + // // .set L0_1_set_68, LBB0_68-LJTI0_1 + // // .set L0_1_set_242, LBB0_242-LJTI0_1 + // // .set L0_1_set_244, LBB0_244-LJTI0_1 + // // .set L0_1_set_247, LBB0_247-LJTI0_1 + // // .set L0_1_set_253, LBB0_253-LJTI0_1 + // // .set L0_1_set_1, LBB0_1-LJTI0_1 + //0x000028a0 LJTI0_1 + 0x54, 0xfd, 0xff, 0xff, //0x000028a0 .long L0_1_set_427 + 0x4d, 0xfd, 0xff, 0xff, //0x000028a4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028a8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028ac .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028b0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028b4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028b8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028bc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028c0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028c4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028c8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028cc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028d0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028d4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028d8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028dc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028e0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028e4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028e8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028ec .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028f0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028f4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028f8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028fc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002900 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002904 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002908 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000290c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002910 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002914 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002918 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000291c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002920 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002924 .long L0_1_set_426 + 0x9f, 0xe7, 0xff, 0xff, //0x00002928 .long L0_1_set_199 + 0x4d, 0xfd, 0xff, 0xff, //0x0000292c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002930 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002934 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002938 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000293c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002940 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002944 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002948 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000294c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002950 .long L0_1_set_426 + 0x5d, 0xe9, 0xff, 0xff, //0x00002954 .long L0_1_set_217 + 0x4d, 0xfd, 0xff, 0xff, //0x00002958 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000295c .long L0_1_set_426 + 0x86, 0xdd, 0xff, 0xff, //0x00002960 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002964 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002968 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x0000296c .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002970 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002974 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002978 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x0000297c .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002980 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002984 .long L0_1_set_68 + 0x4d, 0xfd, 0xff, 0xff, //0x00002988 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000298c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002990 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002994 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002998 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000299c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029a0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029a4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029a8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029ac .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029b0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029b4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029b8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029bc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029c0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029c4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029c8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029cc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029d0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029d4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029d8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029dc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029e0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029e4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029e8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029ec .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029f0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029f4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029f8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029fc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a00 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a04 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a08 .long L0_1_set_426 + 0x44, 0xeb, 0xff, 0xff, //0x00002a0c .long L0_1_set_242 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a10 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a14 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a18 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a1c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a20 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a24 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a28 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a2c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a30 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a34 .long L0_1_set_426 + 0x6c, 0xeb, 0xff, 0xff, //0x00002a38 .long L0_1_set_244 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a3c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a40 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a44 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a48 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a4c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a50 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a54 .long L0_1_set_426 + 0xad, 0xeb, 0xff, 0xff, //0x00002a58 .long L0_1_set_247 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a5c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a60 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a64 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a68 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a6c .long L0_1_set_426 + 0xd4, 0xeb, 0xff, 0xff, //0x00002a70 .long L0_1_set_253 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a74 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a78 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a7c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a80 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a84 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a88 .long L0_1_set_426 + 0xcb, 0xd8, 0xff, 0xff, //0x00002a8c .long L0_1_set_1 + // // .set L0_2_set_262, LBB0_262-LJTI0_2 + // // .set L0_2_set_291, LBB0_291-LJTI0_2 + // // .set L0_2_set_257, LBB0_257-LJTI0_2 + // // .set L0_2_set_259, LBB0_259-LJTI0_2 + // // .set L0_2_set_264, LBB0_264-LJTI0_2 + //0x00002a90 LJTI0_2 + 0x79, 0xea, 0xff, 0xff, //0x00002a90 .long L0_2_set_262 + 0xd9, 0xec, 0xff, 0xff, //0x00002a94 .long L0_2_set_291 + 0x79, 0xea, 0xff, 0xff, //0x00002a98 .long L0_2_set_262 + 0x33, 0xea, 0xff, 0xff, //0x00002a9c .long L0_2_set_257 + 0xd9, 0xec, 0xff, 0xff, //0x00002aa0 .long L0_2_set_291 + 0x50, 0xea, 0xff, 0xff, //0x00002aa4 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002aa8 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002aac .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ab0 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ab4 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ab8 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002abc .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ac0 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ac4 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ac8 .long L0_2_set_259 + 0xd9, 0xec, 0xff, 0xff, //0x00002acc .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ad0 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ad4 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ad8 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002adc .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ae0 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ae4 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ae8 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002aec .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002af0 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002af4 .long L0_2_set_291 + 0x94, 0xea, 0xff, 0xff, //0x00002af8 .long L0_2_set_264 + 0xd9, 0xec, 0xff, 0xff, //0x00002afc .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b00 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b04 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b08 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b0c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b10 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b14 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b18 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b1c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b20 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b24 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b28 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b2c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b30 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b34 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b38 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b3c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b40 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b44 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b48 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b4c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b50 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b54 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b58 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b5c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b60 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b64 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b68 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b6c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b70 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b74 .long L0_2_set_291 + 0x94, 0xea, 0xff, 0xff, //0x00002b78 .long L0_2_set_264 + // // .set L0_3_set_98, LBB0_98-LJTI0_3 + // // .set L0_3_set_152, LBB0_152-LJTI0_3 + // // .set L0_3_set_100, LBB0_100-LJTI0_3 + // // .set L0_3_set_95, LBB0_95-LJTI0_3 + // // .set L0_3_set_93, LBB0_93-LJTI0_3 + //0x00002b7c LJTI0_3 + 0xcd, 0xdc, 0xff, 0xff, //0x00002b7c .long L0_3_set_98 + 0x2e, 0xe1, 0xff, 0xff, //0x00002b80 .long L0_3_set_152 + 0xcd, 0xdc, 0xff, 0xff, //0x00002b84 .long L0_3_set_98 + 0xe8, 0xdc, 0xff, 0xff, //0x00002b88 .long L0_3_set_100 + 0x2e, 0xe1, 0xff, 0xff, //0x00002b8c .long L0_3_set_152 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b90 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b94 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b98 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b9c .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002ba0 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002ba4 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002ba8 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002bac .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002bb0 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002bb4 .long L0_3_set_95 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bb8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bbc .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bc0 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bc4 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bc8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bcc .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bd0 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bd4 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bd8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bdc .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002be0 .long L0_3_set_152 + 0x84, 0xdc, 0xff, 0xff, //0x00002be4 .long L0_3_set_93 + 0x2e, 0xe1, 0xff, 0xff, //0x00002be8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bec .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bf0 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bf4 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bf8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bfc .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c00 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c04 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c08 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c0c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c10 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c14 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c18 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c1c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c20 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c24 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c28 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c2c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c30 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c34 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c38 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c3c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c40 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c44 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c48 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c4c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c50 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c54 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c58 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c5c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c60 .long L0_3_set_152 + 0x84, 0xdc, 0xff, 0xff, //0x00002c64 .long L0_3_set_93 + //0x00002c68 .p2align 2, 0x00 + //0x00002c68 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00002c68 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_number.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_number.go new file mode 100644 index 0000000..9007561 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_number.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the License ); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_number func(s unsafe.Pointer, p unsafe.Pointer) (ret int) + +var S_skip_number uintptr + +//go:nosplit +func skip_number(s *string, p *int) (ret int) { + return F_skip_number(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_number_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_number_subr.go new file mode 100644 index 0000000..b993e2d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_number_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_number = 112 +) + +const ( + _stack__skip_number = 72 +) + +const ( + _size__skip_number = 1128 +) + +var ( + _pcsp__skip_number = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {1046, 72}, + {1050, 48}, + {1051, 40}, + {1053, 32}, + {1055, 24}, + {1057, 16}, + {1059, 8}, + {1060, 0}, + {1128, 72}, + } +) + +var _cfunc_skip_number = []loader.CFunc{ + {"_skip_number_entry", 0, _entry__skip_number, 0, nil}, + {"_skip_number", _entry__skip_number, _size__skip_number, _stack__skip_number, _pcsp__skip_number}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_number_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_number_text_amd64.go new file mode 100644 index 0000000..a0489d1 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_number_text_amd64.go @@ -0,0 +1,394 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_skip_number = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, // QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000010 LCPI0_1 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000010 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000020 LCPI0_2 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000020 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000030 LCPI0_3 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000030 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000040 LCPI0_4 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000040 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000050 LCPI0_5 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000050 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000060 LCPI0_6 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000060 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000070 .p2align 4, 0x90 + //0x00000070 _skip_number + 0x55, //0x00000070 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000071 movq %rsp, %rbp + 0x41, 0x57, //0x00000074 pushq %r15 + 0x41, 0x56, //0x00000076 pushq %r14 + 0x41, 0x55, //0x00000078 pushq %r13 + 0x41, 0x54, //0x0000007a pushq %r12 + 0x53, //0x0000007c pushq %rbx + 0x48, 0x83, 0xec, 0x18, //0x0000007d subq $24, %rsp + 0x48, 0x8b, 0x1f, //0x00000081 movq (%rdi), %rbx + 0x4c, 0x8b, 0x4f, 0x08, //0x00000084 movq $8(%rdi), %r9 + 0x48, 0x8b, 0x16, //0x00000088 movq (%rsi), %rdx + 0x49, 0x29, 0xd1, //0x0000008b subq %rdx, %r9 + 0x31, 0xc0, //0x0000008e xorl %eax, %eax + 0x80, 0x3c, 0x13, 0x2d, //0x00000090 cmpb $45, (%rbx,%rdx) + 0x4c, 0x8d, 0x3c, 0x13, //0x00000094 leaq (%rbx,%rdx), %r15 + 0x0f, 0x94, 0xc0, //0x00000098 sete %al + 0x49, 0x01, 0xc7, //0x0000009b addq %rax, %r15 + 0x49, 0x29, 0xc1, //0x0000009e subq %rax, %r9 + 0x0f, 0x84, 0x03, 0x04, 0x00, 0x00, //0x000000a1 je LBB0_1 + 0x41, 0x8a, 0x3f, //0x000000a7 movb (%r15), %dil + 0x8d, 0x4f, 0xd0, //0x000000aa leal $-48(%rdi), %ecx + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000000ad movq $-2, %rax + 0x80, 0xf9, 0x09, //0x000000b4 cmpb $9, %cl + 0x0f, 0x87, 0xc3, 0x03, 0x00, 0x00, //0x000000b7 ja LBB0_57 + 0x40, 0x80, 0xff, 0x30, //0x000000bd cmpb $48, %dil + 0x0f, 0x85, 0x35, 0x00, 0x00, 0x00, //0x000000c1 jne LBB0_7 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000000c7 movl $1, %r11d + 0x49, 0x83, 0xf9, 0x01, //0x000000cd cmpq $1, %r9 + 0x0f, 0x84, 0x7e, 0x03, 0x00, 0x00, //0x000000d1 je LBB0_56 + 0x41, 0x8a, 0x47, 0x01, //0x000000d7 movb $1(%r15), %al + 0x04, 0xd2, //0x000000db addb $-46, %al + 0x3c, 0x37, //0x000000dd cmpb $55, %al + 0x0f, 0x87, 0x70, 0x03, 0x00, 0x00, //0x000000df ja LBB0_56 + 0x0f, 0xb6, 0xc0, //0x000000e5 movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000000e8 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x000000f2 btq %rax, %rcx + 0x0f, 0x83, 0x59, 0x03, 0x00, 0x00, //0x000000f6 jae LBB0_56 + //0x000000fc LBB0_7 + 0x48, 0x89, 0x55, 0xd0, //0x000000fc movq %rdx, $-48(%rbp) + 0x49, 0x83, 0xf9, 0x10, //0x00000100 cmpq $16, %r9 + 0x0f, 0x82, 0xac, 0x03, 0x00, 0x00, //0x00000104 jb LBB0_8 + 0x48, 0x89, 0x5d, 0xc8, //0x0000010a movq %rbx, $-56(%rbp) + 0x48, 0x89, 0x75, 0xc0, //0x0000010e movq %rsi, $-64(%rbp) + 0x4d, 0x8d, 0x69, 0xf0, //0x00000112 leaq $-16(%r9), %r13 + 0x4c, 0x89, 0xe8, //0x00000116 movq %r13, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00000119 andq $-16, %rax + 0x4e, 0x8d, 0x64, 0x38, 0x10, //0x0000011d leaq $16(%rax,%r15), %r12 + 0x41, 0x83, 0xe5, 0x0f, //0x00000122 andl $15, %r13d + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000126 movq $-1, %r8 + 0xf3, 0x44, 0x0f, 0x6f, 0x05, 0xca, 0xfe, 0xff, 0xff, //0x0000012d movdqu $-310(%rip), %xmm8 /* LCPI0_0+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x15, 0xd1, 0xfe, 0xff, 0xff, //0x00000136 movdqu $-303(%rip), %xmm10 /* LCPI0_1+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x0d, 0xd8, 0xfe, 0xff, 0xff, //0x0000013f movdqu $-296(%rip), %xmm9 /* LCPI0_2+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x1d, 0xe0, 0xfe, 0xff, 0xff, //0x00000148 movdqu $-288(%rip), %xmm3 /* LCPI0_3+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x25, 0xe8, 0xfe, 0xff, 0xff, //0x00000150 movdqu $-280(%rip), %xmm4 /* LCPI0_4+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x2d, 0xf0, 0xfe, 0xff, 0xff, //0x00000158 movdqu $-272(%rip), %xmm5 /* LCPI0_5+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x35, 0xf8, 0xfe, 0xff, 0xff, //0x00000160 movdqu $-264(%rip), %xmm6 /* LCPI0_6+0(%rip) */ + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000168 movq $-1, %r14 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000016f movq $-1, %r10 + 0x4c, 0x89, 0xfb, //0x00000176 movq %r15, %rbx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000179 .p2align 4, 0x90 + //0x00000180 LBB0_10 + 0xf3, 0x0f, 0x6f, 0x3b, //0x00000180 movdqu (%rbx), %xmm7 + 0x66, 0x0f, 0x6f, 0xc7, //0x00000184 movdqa %xmm7, %xmm0 + 0x66, 0x41, 0x0f, 0x64, 0xc0, //0x00000188 pcmpgtb %xmm8, %xmm0 + 0x66, 0x41, 0x0f, 0x6f, 0xca, //0x0000018d movdqa %xmm10, %xmm1 + 0x66, 0x0f, 0x64, 0xcf, //0x00000192 pcmpgtb %xmm7, %xmm1 + 0x66, 0x0f, 0xdb, 0xc8, //0x00000196 pand %xmm0, %xmm1 + 0x66, 0x0f, 0x6f, 0xc7, //0x0000019a movdqa %xmm7, %xmm0 + 0x66, 0x41, 0x0f, 0x74, 0xc1, //0x0000019e pcmpeqb %xmm9, %xmm0 + 0x66, 0x0f, 0x6f, 0xd7, //0x000001a3 movdqa %xmm7, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x000001a7 pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xeb, 0xd0, //0x000001ab por %xmm0, %xmm2 + 0x66, 0x0f, 0x6f, 0xc7, //0x000001af movdqa %xmm7, %xmm0 + 0x66, 0x0f, 0xeb, 0xc4, //0x000001b3 por %xmm4, %xmm0 + 0x66, 0x0f, 0x74, 0xc6, //0x000001b7 pcmpeqb %xmm6, %xmm0 + 0x66, 0x0f, 0x74, 0xfd, //0x000001bb pcmpeqb %xmm5, %xmm7 + 0x66, 0x0f, 0xd7, 0xf0, //0x000001bf pmovmskb %xmm0, %esi + 0x66, 0x0f, 0xeb, 0xc7, //0x000001c3 por %xmm7, %xmm0 + 0x66, 0x0f, 0xeb, 0xca, //0x000001c7 por %xmm2, %xmm1 + 0x66, 0x0f, 0xeb, 0xc8, //0x000001cb por %xmm0, %xmm1 + 0x66, 0x0f, 0xd7, 0xff, //0x000001cf pmovmskb %xmm7, %edi + 0x66, 0x0f, 0xd7, 0xc2, //0x000001d3 pmovmskb %xmm2, %eax + 0x66, 0x0f, 0xd7, 0xc9, //0x000001d7 pmovmskb %xmm1, %ecx + 0xba, 0xff, 0xff, 0xff, 0xff, //0x000001db movl $4294967295, %edx + 0x48, 0x31, 0xd1, //0x000001e0 xorq %rdx, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x000001e3 bsfq %rcx, %rcx + 0x83, 0xf9, 0x10, //0x000001e7 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000001ea je LBB0_12 + 0xba, 0xff, 0xff, 0xff, 0xff, //0x000001f0 movl $-1, %edx + 0xd3, 0xe2, //0x000001f5 shll %cl, %edx + 0xf7, 0xd2, //0x000001f7 notl %edx + 0x21, 0xd7, //0x000001f9 andl %edx, %edi + 0x21, 0xd6, //0x000001fb andl %edx, %esi + 0x21, 0xc2, //0x000001fd andl %eax, %edx + 0x89, 0xd0, //0x000001ff movl %edx, %eax + //0x00000201 LBB0_12 + 0x8d, 0x57, 0xff, //0x00000201 leal $-1(%rdi), %edx + 0x21, 0xfa, //0x00000204 andl %edi, %edx + 0x0f, 0x85, 0x27, 0x02, 0x00, 0x00, //0x00000206 jne LBB0_13 + 0x8d, 0x56, 0xff, //0x0000020c leal $-1(%rsi), %edx + 0x21, 0xf2, //0x0000020f andl %esi, %edx + 0x0f, 0x85, 0x1c, 0x02, 0x00, 0x00, //0x00000211 jne LBB0_13 + 0x8d, 0x50, 0xff, //0x00000217 leal $-1(%rax), %edx + 0x21, 0xc2, //0x0000021a andl %eax, %edx + 0x0f, 0x85, 0x11, 0x02, 0x00, 0x00, //0x0000021c jne LBB0_13 + 0x85, 0xff, //0x00000222 testl %edi, %edi + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000224 je LBB0_20 + 0x48, 0x89, 0xda, //0x0000022a movq %rbx, %rdx + 0x4c, 0x29, 0xfa, //0x0000022d subq %r15, %rdx + 0x44, 0x0f, 0xbc, 0xdf, //0x00000230 bsfl %edi, %r11d + 0x49, 0x01, 0xd3, //0x00000234 addq %rdx, %r11 + 0x49, 0x83, 0xfa, 0xff, //0x00000237 cmpq $-1, %r10 + 0x0f, 0x85, 0xfc, 0x01, 0x00, 0x00, //0x0000023b jne LBB0_14 + 0x4d, 0x89, 0xda, //0x00000241 movq %r11, %r10 + //0x00000244 LBB0_20 + 0x85, 0xf6, //0x00000244 testl %esi, %esi + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000246 je LBB0_23 + 0x48, 0x89, 0xda, //0x0000024c movq %rbx, %rdx + 0x4c, 0x29, 0xfa, //0x0000024f subq %r15, %rdx + 0x44, 0x0f, 0xbc, 0xde, //0x00000252 bsfl %esi, %r11d + 0x49, 0x01, 0xd3, //0x00000256 addq %rdx, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x00000259 cmpq $-1, %r14 + 0x0f, 0x85, 0xda, 0x01, 0x00, 0x00, //0x0000025d jne LBB0_14 + 0x4d, 0x89, 0xde, //0x00000263 movq %r11, %r14 + //0x00000266 LBB0_23 + 0x85, 0xc0, //0x00000266 testl %eax, %eax + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000268 je LBB0_26 + 0x48, 0x89, 0xda, //0x0000026e movq %rbx, %rdx + 0x4c, 0x29, 0xfa, //0x00000271 subq %r15, %rdx + 0x44, 0x0f, 0xbc, 0xd8, //0x00000274 bsfl %eax, %r11d + 0x49, 0x01, 0xd3, //0x00000278 addq %rdx, %r11 + 0x49, 0x83, 0xf8, 0xff, //0x0000027b cmpq $-1, %r8 + 0x0f, 0x85, 0xb8, 0x01, 0x00, 0x00, //0x0000027f jne LBB0_14 + 0x4d, 0x89, 0xd8, //0x00000285 movq %r11, %r8 + //0x00000288 LBB0_26 + 0x83, 0xf9, 0x10, //0x00000288 cmpl $16, %ecx + 0x0f, 0x85, 0xbb, 0x00, 0x00, 0x00, //0x0000028b jne LBB0_58 + 0x48, 0x83, 0xc3, 0x10, //0x00000291 addq $16, %rbx + 0x49, 0x83, 0xc1, 0xf0, //0x00000295 addq $-16, %r9 + 0x49, 0x83, 0xf9, 0x0f, //0x00000299 cmpq $15, %r9 + 0x0f, 0x87, 0xdd, 0xfe, 0xff, 0xff, //0x0000029d ja LBB0_10 + 0x4d, 0x85, 0xed, //0x000002a3 testq %r13, %r13 + 0x48, 0x8b, 0x75, 0xc0, //0x000002a6 movq $-64(%rbp), %rsi + 0x48, 0x8b, 0x5d, 0xc8, //0x000002aa movq $-56(%rbp), %rbx + 0x0f, 0x84, 0xa6, 0x00, 0x00, 0x00, //0x000002ae je LBB0_40 + //0x000002b4 LBB0_29 + 0x4b, 0x8d, 0x04, 0x2c, //0x000002b4 leaq (%r12,%r13), %rax + 0x48, 0x8d, 0x0d, 0x19, 0x02, 0x00, 0x00, //0x000002b8 leaq $537(%rip), %rcx /* LJTI0_0+0(%rip) */ + 0xe9, 0x18, 0x00, 0x00, 0x00, //0x000002bf jmp LBB0_30 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002c4 .p2align 4, 0x90 + //0x000002d0 LBB0_38 + 0x49, 0x89, 0xd4, //0x000002d0 movq %rdx, %r12 + 0x49, 0xff, 0xcd, //0x000002d3 decq %r13 + 0x0f, 0x84, 0x84, 0x01, 0x00, 0x00, //0x000002d6 je LBB0_39 + //0x000002dc LBB0_30 + 0x41, 0x0f, 0xbe, 0x3c, 0x24, //0x000002dc movsbl (%r12), %edi + 0x83, 0xc7, 0xd5, //0x000002e1 addl $-43, %edi + 0x83, 0xff, 0x3a, //0x000002e4 cmpl $58, %edi + 0x0f, 0x87, 0x6d, 0x00, 0x00, 0x00, //0x000002e7 ja LBB0_40 + 0x49, 0x8d, 0x54, 0x24, 0x01, //0x000002ed leaq $1(%r12), %rdx + 0x48, 0x63, 0x3c, 0xb9, //0x000002f2 movslq (%rcx,%rdi,4), %rdi + 0x48, 0x01, 0xcf, //0x000002f6 addq %rcx, %rdi + 0xff, 0xe7, //0x000002f9 jmpq *%rdi + //0x000002fb LBB0_36 + 0x49, 0x89, 0xd3, //0x000002fb movq %rdx, %r11 + 0x4d, 0x29, 0xfb, //0x000002fe subq %r15, %r11 + 0x49, 0x83, 0xf8, 0xff, //0x00000301 cmpq $-1, %r8 + 0x0f, 0x85, 0x8a, 0x01, 0x00, 0x00, //0x00000305 jne LBB0_59 + 0x49, 0xff, 0xcb, //0x0000030b decq %r11 + 0x4d, 0x89, 0xd8, //0x0000030e movq %r11, %r8 + 0xe9, 0xba, 0xff, 0xff, 0xff, //0x00000311 jmp LBB0_38 + //0x00000316 LBB0_34 + 0x49, 0x89, 0xd3, //0x00000316 movq %rdx, %r11 + 0x4d, 0x29, 0xfb, //0x00000319 subq %r15, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x0000031c cmpq $-1, %r14 + 0x0f, 0x85, 0x6f, 0x01, 0x00, 0x00, //0x00000320 jne LBB0_59 + 0x49, 0xff, 0xcb, //0x00000326 decq %r11 + 0x4d, 0x89, 0xde, //0x00000329 movq %r11, %r14 + 0xe9, 0x9f, 0xff, 0xff, 0xff, //0x0000032c jmp LBB0_38 + //0x00000331 LBB0_32 + 0x49, 0x89, 0xd3, //0x00000331 movq %rdx, %r11 + 0x4d, 0x29, 0xfb, //0x00000334 subq %r15, %r11 + 0x49, 0x83, 0xfa, 0xff, //0x00000337 cmpq $-1, %r10 + 0x0f, 0x85, 0x54, 0x01, 0x00, 0x00, //0x0000033b jne LBB0_59 + 0x49, 0xff, 0xcb, //0x00000341 decq %r11 + 0x4d, 0x89, 0xda, //0x00000344 movq %r11, %r10 + 0xe9, 0x84, 0xff, 0xff, 0xff, //0x00000347 jmp LBB0_38 + //0x0000034c LBB0_58 + 0x48, 0x01, 0xcb, //0x0000034c addq %rcx, %rbx + 0x49, 0x89, 0xdc, //0x0000034f movq %rbx, %r12 + 0x48, 0x8b, 0x75, 0xc0, //0x00000352 movq $-64(%rbp), %rsi + 0x48, 0x8b, 0x5d, 0xc8, //0x00000356 movq $-56(%rbp), %rbx + //0x0000035a LBB0_40 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000035a movq $-1, %r11 + 0x4d, 0x85, 0xf6, //0x00000361 testq %r14, %r14 + 0x0f, 0x84, 0x09, 0x01, 0x00, 0x00, //0x00000364 je LBB0_55 + //0x0000036a LBB0_41 + 0x4d, 0x85, 0xc0, //0x0000036a testq %r8, %r8 + 0x0f, 0x84, 0x00, 0x01, 0x00, 0x00, //0x0000036d je LBB0_55 + 0x4d, 0x85, 0xd2, //0x00000373 testq %r10, %r10 + 0x48, 0x8b, 0x55, 0xd0, //0x00000376 movq $-48(%rbp), %rdx + 0x0f, 0x84, 0xf3, 0x00, 0x00, 0x00, //0x0000037a je LBB0_55 + 0x4d, 0x29, 0xfc, //0x00000380 subq %r15, %r12 + 0x49, 0x8d, 0x44, 0x24, 0xff, //0x00000383 leaq $-1(%r12), %rax + 0x49, 0x39, 0xc6, //0x00000388 cmpq %rax, %r14 + 0x0f, 0x84, 0x3c, 0x00, 0x00, 0x00, //0x0000038b je LBB0_46 + 0x49, 0x39, 0xc2, //0x00000391 cmpq %rax, %r10 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00000394 je LBB0_46 + 0x49, 0x39, 0xc0, //0x0000039a cmpq %rax, %r8 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x0000039d je LBB0_46 + 0x4d, 0x85, 0xc0, //0x000003a3 testq %r8, %r8 + 0x0f, 0x8e, 0x35, 0x00, 0x00, 0x00, //0x000003a6 jle LBB0_50 + 0x49, 0x8d, 0x40, 0xff, //0x000003ac leaq $-1(%r8), %rax + 0x49, 0x39, 0xc6, //0x000003b0 cmpq %rax, %r14 + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x000003b3 je LBB0_50 + 0x49, 0xf7, 0xd0, //0x000003b9 notq %r8 + 0x4d, 0x89, 0xc3, //0x000003bc movq %r8, %r11 + 0x4d, 0x85, 0xdb, //0x000003bf testq %r11, %r11 + 0x0f, 0x89, 0x8d, 0x00, 0x00, 0x00, //0x000003c2 jns LBB0_56 + 0xe9, 0xa6, 0x00, 0x00, 0x00, //0x000003c8 jmp LBB0_55 + //0x000003cd LBB0_46 + 0x49, 0xf7, 0xdc, //0x000003cd negq %r12 + 0x4d, 0x89, 0xe3, //0x000003d0 movq %r12, %r11 + 0x4d, 0x85, 0xdb, //0x000003d3 testq %r11, %r11 + 0x0f, 0x89, 0x79, 0x00, 0x00, 0x00, //0x000003d6 jns LBB0_56 + 0xe9, 0x92, 0x00, 0x00, 0x00, //0x000003dc jmp LBB0_55 + //0x000003e1 LBB0_50 + 0x4c, 0x89, 0xd0, //0x000003e1 movq %r10, %rax + 0x4c, 0x09, 0xf0, //0x000003e4 orq %r14, %rax + 0x4d, 0x39, 0xf2, //0x000003e7 cmpq %r14, %r10 + 0x0f, 0x8c, 0x1d, 0x00, 0x00, 0x00, //0x000003ea jl LBB0_53 + 0x48, 0x85, 0xc0, //0x000003f0 testq %rax, %rax + 0x0f, 0x88, 0x14, 0x00, 0x00, 0x00, //0x000003f3 js LBB0_53 + 0x49, 0xf7, 0xd2, //0x000003f9 notq %r10 + 0x4d, 0x89, 0xd3, //0x000003fc movq %r10, %r11 + 0x4d, 0x85, 0xdb, //0x000003ff testq %r11, %r11 + 0x0f, 0x89, 0x4d, 0x00, 0x00, 0x00, //0x00000402 jns LBB0_56 + 0xe9, 0x66, 0x00, 0x00, 0x00, //0x00000408 jmp LBB0_55 + //0x0000040d LBB0_53 + 0x48, 0x85, 0xc0, //0x0000040d testq %rax, %rax + 0x49, 0x8d, 0x46, 0xff, //0x00000410 leaq $-1(%r14), %rax + 0x49, 0xf7, 0xd6, //0x00000414 notq %r14 + 0x4d, 0x0f, 0x48, 0xf4, //0x00000417 cmovsq %r12, %r14 + 0x49, 0x39, 0xc2, //0x0000041b cmpq %rax, %r10 + 0x4d, 0x0f, 0x45, 0xf4, //0x0000041e cmovneq %r12, %r14 + 0x4d, 0x89, 0xf3, //0x00000422 movq %r14, %r11 + 0x4d, 0x85, 0xdb, //0x00000425 testq %r11, %r11 + 0x0f, 0x89, 0x27, 0x00, 0x00, 0x00, //0x00000428 jns LBB0_56 + 0xe9, 0x40, 0x00, 0x00, 0x00, //0x0000042e jmp LBB0_55 + //0x00000433 LBB0_13 + 0x4c, 0x29, 0xfb, //0x00000433 subq %r15, %rbx + 0x44, 0x0f, 0xbc, 0xda, //0x00000436 bsfl %edx, %r11d + 0x49, 0x01, 0xdb, //0x0000043a addq %rbx, %r11 + //0x0000043d LBB0_14 + 0x49, 0xf7, 0xd3, //0x0000043d notq %r11 + 0x48, 0x8b, 0x75, 0xc0, //0x00000440 movq $-64(%rbp), %rsi + 0x48, 0x8b, 0x5d, 0xc8, //0x00000444 movq $-56(%rbp), %rbx + 0x48, 0x8b, 0x55, 0xd0, //0x00000448 movq $-48(%rbp), %rdx + 0x4d, 0x85, 0xdb, //0x0000044c testq %r11, %r11 + 0x0f, 0x88, 0x1e, 0x00, 0x00, 0x00, //0x0000044f js LBB0_55 + //0x00000455 LBB0_56 + 0x4d, 0x01, 0xdf, //0x00000455 addq %r11, %r15 + 0x48, 0x89, 0xd0, //0x00000458 movq %rdx, %rax + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x0000045b jmp LBB0_57 + //0x00000460 LBB0_39 + 0x49, 0x89, 0xc4, //0x00000460 movq %rax, %r12 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000463 movq $-1, %r11 + 0x4d, 0x85, 0xf6, //0x0000046a testq %r14, %r14 + 0x0f, 0x85, 0xf7, 0xfe, 0xff, 0xff, //0x0000046d jne LBB0_41 + //0x00000473 LBB0_55 + 0x49, 0xf7, 0xd3, //0x00000473 notq %r11 + 0x4d, 0x01, 0xdf, //0x00000476 addq %r11, %r15 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000479 movq $-2, %rax + //0x00000480 LBB0_57 + 0x49, 0x29, 0xdf, //0x00000480 subq %rbx, %r15 + 0x4c, 0x89, 0x3e, //0x00000483 movq %r15, (%rsi) + 0x48, 0x83, 0xc4, 0x18, //0x00000486 addq $24, %rsp + 0x5b, //0x0000048a popq %rbx + 0x41, 0x5c, //0x0000048b popq %r12 + 0x41, 0x5d, //0x0000048d popq %r13 + 0x41, 0x5e, //0x0000048f popq %r14 + 0x41, 0x5f, //0x00000491 popq %r15 + 0x5d, //0x00000493 popq %rbp + 0xc3, //0x00000494 retq + //0x00000495 LBB0_59 + 0x49, 0xf7, 0xdb, //0x00000495 negq %r11 + 0x48, 0x8b, 0x55, 0xd0, //0x00000498 movq $-48(%rbp), %rdx + 0x4d, 0x85, 0xdb, //0x0000049c testq %r11, %r11 + 0x0f, 0x89, 0xb0, 0xff, 0xff, 0xff, //0x0000049f jns LBB0_56 + 0xe9, 0xc9, 0xff, 0xff, 0xff, //0x000004a5 jmp LBB0_55 + //0x000004aa LBB0_1 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000004aa movq $-1, %rax + 0xe9, 0xca, 0xff, 0xff, 0xff, //0x000004b1 jmp LBB0_57 + //0x000004b6 LBB0_8 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x000004b6 movq $-1, %r10 + 0x4d, 0x89, 0xfc, //0x000004bd movq %r15, %r12 + 0x4d, 0x89, 0xcd, //0x000004c0 movq %r9, %r13 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000004c3 movq $-1, %r14 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000004ca movq $-1, %r8 + 0xe9, 0xde, 0xfd, 0xff, 0xff, //0x000004d1 jmp LBB0_29 + 0x90, 0x90, //0x000004d6 .p2align 2, 0x90 + // // .set L0_0_set_36, LBB0_36-LJTI0_0 + // // .set L0_0_set_40, LBB0_40-LJTI0_0 + // // .set L0_0_set_32, LBB0_32-LJTI0_0 + // // .set L0_0_set_38, LBB0_38-LJTI0_0 + // // .set L0_0_set_34, LBB0_34-LJTI0_0 + //0x000004d8 LJTI0_0 + 0x23, 0xfe, 0xff, 0xff, //0x000004d8 .long L0_0_set_36 + 0x82, 0xfe, 0xff, 0xff, //0x000004dc .long L0_0_set_40 + 0x23, 0xfe, 0xff, 0xff, //0x000004e0 .long L0_0_set_36 + 0x59, 0xfe, 0xff, 0xff, //0x000004e4 .long L0_0_set_32 + 0x82, 0xfe, 0xff, 0xff, //0x000004e8 .long L0_0_set_40 + 0xf8, 0xfd, 0xff, 0xff, //0x000004ec .long L0_0_set_38 + 0xf8, 0xfd, 0xff, 0xff, //0x000004f0 .long L0_0_set_38 + 0xf8, 0xfd, 0xff, 0xff, //0x000004f4 .long L0_0_set_38 + 0xf8, 0xfd, 0xff, 0xff, //0x000004f8 .long L0_0_set_38 + 0xf8, 0xfd, 0xff, 0xff, //0x000004fc .long L0_0_set_38 + 0xf8, 0xfd, 0xff, 0xff, //0x00000500 .long L0_0_set_38 + 0xf8, 0xfd, 0xff, 0xff, //0x00000504 .long L0_0_set_38 + 0xf8, 0xfd, 0xff, 0xff, //0x00000508 .long L0_0_set_38 + 0xf8, 0xfd, 0xff, 0xff, //0x0000050c .long L0_0_set_38 + 0xf8, 0xfd, 0xff, 0xff, //0x00000510 .long L0_0_set_38 + 0x82, 0xfe, 0xff, 0xff, //0x00000514 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000518 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x0000051c .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000520 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000524 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000528 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x0000052c .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000530 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000534 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000538 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x0000053c .long L0_0_set_40 + 0x3e, 0xfe, 0xff, 0xff, //0x00000540 .long L0_0_set_34 + 0x82, 0xfe, 0xff, 0xff, //0x00000544 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000548 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x0000054c .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000550 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000554 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000558 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x0000055c .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000560 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000564 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000568 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x0000056c .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000570 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000574 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000578 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x0000057c .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000580 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000584 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000588 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x0000058c .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000590 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000594 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x00000598 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x0000059c .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x000005a0 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x000005a4 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x000005a8 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x000005ac .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x000005b0 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x000005b4 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x000005b8 .long L0_0_set_40 + 0x82, 0xfe, 0xff, 0xff, //0x000005bc .long L0_0_set_40 + 0x3e, 0xfe, 0xff, 0xff, //0x000005c0 .long L0_0_set_34 + //0x000005c4 .p2align 2, 0x00 + //0x000005c4 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x000005c4 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_object.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_object.go new file mode 100644 index 0000000..8cdec04 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_object.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the License ); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_object func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_skip_object uintptr + +//go:nosplit +func skip_object(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_skip_object(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_object_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_object_subr.go new file mode 100644 index 0000000..7dae7b0 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_object_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_object = 160 +) + +const ( + _stack__skip_object = 160 +) + +const ( + _size__skip_object = 10216 +) + +var ( + _pcsp__skip_object = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {9556, 160}, + {9560, 48}, + {9561, 40}, + {9563, 32}, + {9565, 24}, + {9567, 16}, + {9569, 8}, + {9570, 0}, + {10216, 160}, + } +) + +var _cfunc_skip_object = []loader.CFunc{ + {"_skip_object_entry", 0, _entry__skip_object, 0, nil}, + {"_skip_object", _entry__skip_object, _size__skip_object, _stack__skip_object, _pcsp__skip_object}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_object_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_object_text_amd64.go new file mode 100644 index 0000000..d8a4a0f --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_object_text_amd64.go @@ -0,0 +1,3021 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_skip_object = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .quad 1 + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 6 + //0x00000010 LCPI0_1 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000010 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000020 LCPI0_2 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000020 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000030 LCPI0_3 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000030 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000040 LCPI0_4 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000040 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000050 LCPI0_5 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000050 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000060 LCPI0_6 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000060 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000070 LCPI0_7 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000070 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000080 LCPI0_8 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000080 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000090 LCPI0_9 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000090 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x000000a0 .p2align 4, 0x90 + //0x000000a0 _skip_object + 0x55, //0x000000a0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000000a1 movq %rsp, %rbp + 0x41, 0x57, //0x000000a4 pushq %r15 + 0x41, 0x56, //0x000000a6 pushq %r14 + 0x41, 0x55, //0x000000a8 pushq %r13 + 0x41, 0x54, //0x000000aa pushq %r12 + 0x53, //0x000000ac pushq %rbx + 0x48, 0x83, 0xec, 0x70, //0x000000ad subq $112, %rsp + 0x48, 0x89, 0x4d, 0x80, //0x000000b1 movq %rcx, $-128(%rbp) + 0x0f, 0x10, 0x05, 0x44, 0xff, 0xff, 0xff, //0x000000b5 movups $-188(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0x48, 0x89, 0x55, 0x88, //0x000000bc movq %rdx, $-120(%rbp) + 0x0f, 0x11, 0x02, //0x000000c0 movups %xmm0, (%rdx) + 0x48, 0x89, 0x7d, 0x98, //0x000000c3 movq %rdi, $-104(%rbp) + 0x4c, 0x8b, 0x0f, //0x000000c7 movq (%rdi), %r9 + 0x4c, 0x89, 0xc8, //0x000000ca movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000000cd notq %rax + 0x48, 0x89, 0x45, 0xa8, //0x000000d0 movq %rax, $-88(%rbp) + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000000d4 movl $1, %r11d + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000000da movl $1, %eax + 0x4c, 0x29, 0xc8, //0x000000df subq %r9, %rax + 0x48, 0x89, 0x45, 0xa0, //0x000000e2 movq %rax, $-96(%rbp) + 0x49, 0x8d, 0x41, 0x40, //0x000000e6 leaq $64(%r9), %rax + 0x48, 0x89, 0x45, 0x90, //0x000000ea movq %rax, $-112(%rbp) + 0x48, 0x8b, 0x06, //0x000000ee movq (%rsi), %rax + 0x48, 0x89, 0x45, 0xc0, //0x000000f1 movq %rax, $-64(%rbp) + 0x49, 0x8d, 0x41, 0x05, //0x000000f5 leaq $5(%r9), %rax + 0x48, 0x89, 0x85, 0x68, 0xff, 0xff, 0xff, //0x000000f9 movq %rax, $-152(%rbp) + 0x48, 0xc7, 0x85, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000100 movq $-1, $-136(%rbp) + 0xf3, 0x0f, 0x6f, 0x05, 0xfd, 0xfe, 0xff, 0xff, //0x0000010b movdqu $-259(%rip), %xmm0 /* LCPI0_1+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x05, 0xff, 0xff, 0xff, //0x00000113 movdqu $-251(%rip), %xmm1 /* LCPI0_2+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x15, 0x0d, 0xff, 0xff, 0xff, //0x0000011b movdqu $-243(%rip), %xmm2 /* LCPI0_3+0(%rip) */ + 0x66, 0x45, 0x0f, 0x76, 0xf6, //0x00000123 pcmpeqd %xmm14, %xmm14 + 0xf3, 0x44, 0x0f, 0x6f, 0x05, 0x0f, 0xff, 0xff, 0xff, //0x00000128 movdqu $-241(%rip), %xmm8 /* LCPI0_4+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x2d, 0x16, 0xff, 0xff, 0xff, //0x00000131 movdqu $-234(%rip), %xmm13 /* LCPI0_5+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x0d, 0x1d, 0xff, 0xff, 0xff, //0x0000013a movdqu $-227(%rip), %xmm9 /* LCPI0_6+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x15, 0x24, 0xff, 0xff, 0xff, //0x00000143 movdqu $-220(%rip), %xmm10 /* LCPI0_7+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x1d, 0x2b, 0xff, 0xff, 0xff, //0x0000014c movdqu $-213(%rip), %xmm11 /* LCPI0_8+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x25, 0x32, 0xff, 0xff, 0xff, //0x00000155 movdqu $-206(%rip), %xmm12 /* LCPI0_9+0(%rip) */ + 0x48, 0x89, 0x75, 0xc8, //0x0000015e movq %rsi, $-56(%rbp) + 0x4c, 0x89, 0x4d, 0xd0, //0x00000162 movq %r9, $-48(%rbp) + 0xe9, 0x47, 0x00, 0x00, 0x00, //0x00000166 jmp LBB0_6 + //0x0000016b LBB0_1 + 0x48, 0x8b, 0x55, 0x88, //0x0000016b movq $-120(%rbp), %rdx + 0x48, 0x8b, 0x02, //0x0000016f movq (%rdx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00000172 cmpq $4095, %rax + 0x0f, 0x8f, 0x32, 0x24, 0x00, 0x00, //0x00000178 jg LBB0_439 + 0x48, 0x8d, 0x48, 0x01, //0x0000017e leaq $1(%rax), %rcx + 0x48, 0x89, 0x0a, //0x00000182 movq %rcx, (%rdx) + 0x48, 0xc7, 0x44, 0xc2, 0x08, 0x06, 0x00, 0x00, 0x00, //0x00000185 movq $6, $8(%rdx,%rax,8) + 0x90, 0x90, //0x0000018e .p2align 4, 0x90 + //0x00000190 LBB0_3 + 0x4c, 0x8b, 0x5d, 0xc0, //0x00000190 movq $-64(%rbp), %r11 + //0x00000194 LBB0_4 + 0x48, 0x8b, 0x45, 0x88, //0x00000194 movq $-120(%rbp), %rax + 0x48, 0x8b, 0x10, //0x00000198 movq (%rax), %rdx + 0x4c, 0x89, 0x5d, 0xc0, //0x0000019b movq %r11, $-64(%rbp) + 0x49, 0x89, 0xd3, //0x0000019f movq %rdx, %r11 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x000001a2 movq $-136(%rbp), %rax + 0x48, 0x85, 0xd2, //0x000001a9 testq %rdx, %rdx + 0x0f, 0x84, 0x42, 0x24, 0x00, 0x00, //0x000001ac je LBB0_427 + //0x000001b2 LBB0_6 + 0x48, 0x8b, 0x45, 0x98, //0x000001b2 movq $-104(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x000001b6 movq $8(%rax), %rax + 0x48, 0x8b, 0x4d, 0xc0, //0x000001ba movq $-64(%rbp), %rcx + 0x48, 0x89, 0xcb, //0x000001be movq %rcx, %rbx + 0x48, 0x29, 0xc3, //0x000001c1 subq %rax, %rbx + 0x0f, 0x83, 0x36, 0x00, 0x00, 0x00, //0x000001c4 jae LBB0_11 + 0x41, 0x8a, 0x14, 0x09, //0x000001ca movb (%r9,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x000001ce cmpb $13, %dl + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000001d1 je LBB0_11 + 0x80, 0xfa, 0x20, //0x000001d7 cmpb $32, %dl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x000001da je LBB0_11 + 0x80, 0xc2, 0xf7, //0x000001e0 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000001e3 cmpb $1, %dl + 0x0f, 0x86, 0x14, 0x00, 0x00, 0x00, //0x000001e6 jbe LBB0_11 + 0x49, 0x89, 0xcf, //0x000001ec movq %rcx, %r15 + 0x4c, 0x8b, 0x55, 0x88, //0x000001ef movq $-120(%rbp), %r10 + 0xe9, 0x45, 0x01, 0x00, 0x00, //0x000001f3 jmp LBB0_32 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001f8 .p2align 4, 0x90 + //0x00000200 LBB0_11 + 0x4c, 0x8d, 0x79, 0x01, //0x00000200 leaq $1(%rcx), %r15 + 0x49, 0x39, 0xc7, //0x00000204 cmpq %rax, %r15 + 0x4c, 0x8b, 0x55, 0x88, //0x00000207 movq $-120(%rbp), %r10 + 0x0f, 0x83, 0x2f, 0x00, 0x00, 0x00, //0x0000020b jae LBB0_15 + 0x43, 0x8a, 0x14, 0x39, //0x00000211 movb (%r9,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000215 cmpb $13, %dl + 0x0f, 0x84, 0x22, 0x00, 0x00, 0x00, //0x00000218 je LBB0_15 + 0x80, 0xfa, 0x20, //0x0000021e cmpb $32, %dl + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000221 je LBB0_15 + 0x80, 0xc2, 0xf7, //0x00000227 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x0000022a cmpb $1, %dl + 0x0f, 0x87, 0x0a, 0x01, 0x00, 0x00, //0x0000022d ja LBB0_32 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000233 .p2align 4, 0x90 + //0x00000240 LBB0_15 + 0x4c, 0x8d, 0x79, 0x02, //0x00000240 leaq $2(%rcx), %r15 + 0x49, 0x39, 0xc7, //0x00000244 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000247 jae LBB0_19 + 0x43, 0x8a, 0x14, 0x39, //0x0000024d movb (%r9,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000251 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000254 je LBB0_19 + 0x80, 0xfa, 0x20, //0x0000025a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000025d je LBB0_19 + 0x80, 0xc2, 0xf7, //0x00000263 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000266 cmpb $1, %dl + 0x0f, 0x87, 0xce, 0x00, 0x00, 0x00, //0x00000269 ja LBB0_32 + 0x90, //0x0000026f .p2align 4, 0x90 + //0x00000270 LBB0_19 + 0x4c, 0x8d, 0x79, 0x03, //0x00000270 leaq $3(%rcx), %r15 + 0x49, 0x39, 0xc7, //0x00000274 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000277 jae LBB0_23 + 0x43, 0x8a, 0x14, 0x39, //0x0000027d movb (%r9,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000281 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000284 je LBB0_23 + 0x80, 0xfa, 0x20, //0x0000028a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000028d je LBB0_23 + 0x80, 0xc2, 0xf7, //0x00000293 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000296 cmpb $1, %dl + 0x0f, 0x87, 0x9e, 0x00, 0x00, 0x00, //0x00000299 ja LBB0_32 + 0x90, //0x0000029f .p2align 4, 0x90 + //0x000002a0 LBB0_23 + 0x48, 0x8d, 0x51, 0x04, //0x000002a0 leaq $4(%rcx), %rdx + 0x48, 0x39, 0xd0, //0x000002a4 cmpq %rdx, %rax + 0x0f, 0x86, 0xf4, 0x22, 0x00, 0x00, //0x000002a7 jbe LBB0_417 + 0x48, 0x39, 0xd0, //0x000002ad cmpq %rdx, %rax + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x000002b0 je LBB0_29 + 0x49, 0x8d, 0x14, 0x01, //0x000002b6 leaq (%r9,%rax), %rdx + 0x48, 0x83, 0xc3, 0x04, //0x000002ba addq $4, %rbx + 0x48, 0x03, 0x8d, 0x68, 0xff, 0xff, 0xff, //0x000002be addq $-152(%rbp), %rcx + 0x49, 0x89, 0xcf, //0x000002c5 movq %rcx, %r15 + 0x48, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000002c8 movabsq $4294977024, %rcx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002d2 .p2align 4, 0x90 + //0x000002e0 LBB0_26 + 0x41, 0x0f, 0xbe, 0x7f, 0xff, //0x000002e0 movsbl $-1(%r15), %edi + 0x83, 0xff, 0x20, //0x000002e5 cmpl $32, %edi + 0x0f, 0x87, 0x42, 0x00, 0x00, 0x00, //0x000002e8 ja LBB0_31 + 0x48, 0x0f, 0xa3, 0xf9, //0x000002ee btq %rdi, %rcx + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x000002f2 jae LBB0_31 + 0x49, 0xff, 0xc7, //0x000002f8 incq %r15 + 0x48, 0xff, 0xc3, //0x000002fb incq %rbx + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000002fe jne LBB0_26 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00000304 jmp LBB0_30 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000309 .p2align 4, 0x90 + //0x00000310 LBB0_29 + 0x4c, 0x01, 0xca, //0x00000310 addq %r9, %rdx + //0x00000313 LBB0_30 + 0x4c, 0x29, 0xca, //0x00000313 subq %r9, %rdx + 0x49, 0x89, 0xd7, //0x00000316 movq %rdx, %r15 + 0x49, 0x39, 0xc7, //0x00000319 cmpq %rax, %r15 + 0x0f, 0x82, 0x1b, 0x00, 0x00, 0x00, //0x0000031c jb LBB0_32 + 0xe9, 0x7d, 0x22, 0x00, 0x00, //0x00000322 jmp LBB0_418 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000327 .p2align 4, 0x90 + //0x00000330 LBB0_31 + 0x4c, 0x03, 0x7d, 0xa8, //0x00000330 addq $-88(%rbp), %r15 + 0x49, 0x39, 0xc7, //0x00000334 cmpq %rax, %r15 + 0x0f, 0x83, 0x67, 0x22, 0x00, 0x00, //0x00000337 jae LBB0_418 + //0x0000033d LBB0_32 + 0x49, 0x8d, 0x4f, 0x01, //0x0000033d leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00000341 movq %rcx, (%rsi) + 0x43, 0x0f, 0xbe, 0x3c, 0x39, //0x00000344 movsbl (%r9,%r15), %edi + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000349 movq $-1, %rax + 0x85, 0xff, //0x00000350 testl %edi, %edi + 0x0f, 0x84, 0x9c, 0x22, 0x00, 0x00, //0x00000352 je LBB0_427 + 0x48, 0x89, 0x4d, 0xc0, //0x00000358 movq %rcx, $-64(%rbp) + 0x4d, 0x89, 0xf8, //0x0000035c movq %r15, %r8 + 0x49, 0xf7, 0xd0, //0x0000035f notq %r8 + 0x49, 0x8d, 0x53, 0xff, //0x00000362 leaq $-1(%r11), %rdx + 0x43, 0x8b, 0x1c, 0xda, //0x00000366 movl (%r10,%r11,8), %ebx + 0x48, 0x8b, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x0000036a movq $-136(%rbp), %rcx + 0x48, 0x83, 0xf9, 0xff, //0x00000371 cmpq $-1, %rcx + 0x49, 0x0f, 0x44, 0xcf, //0x00000375 cmoveq %r15, %rcx + 0x48, 0x89, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x00000379 movq %rcx, $-136(%rbp) + 0xff, 0xcb, //0x00000380 decl %ebx + 0x83, 0xfb, 0x05, //0x00000382 cmpl $5, %ebx + 0x0f, 0x87, 0x79, 0x02, 0x00, 0x00, //0x00000385 ja LBB0_66 + 0x48, 0x8d, 0x0d, 0xf6, 0x24, 0x00, 0x00, //0x0000038b leaq $9462(%rip), %rcx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x1c, 0x99, //0x00000392 movslq (%rcx,%rbx,4), %rbx + 0x48, 0x01, 0xcb, //0x00000396 addq %rcx, %rbx + 0xff, 0xe3, //0x00000399 jmpq *%rbx + //0x0000039b LBB0_35 + 0x83, 0xff, 0x2c, //0x0000039b cmpl $44, %edi + 0x0f, 0x84, 0xdb, 0x04, 0x00, 0x00, //0x0000039e je LBB0_102 + 0x83, 0xff, 0x5d, //0x000003a4 cmpl $93, %edi + 0x0f, 0x84, 0x3c, 0x02, 0x00, 0x00, //0x000003a7 je LBB0_37 + 0xe9, 0x3b, 0x22, 0x00, 0x00, //0x000003ad jmp LBB0_426 + //0x000003b2 LBB0_38 + 0x40, 0x80, 0xff, 0x5d, //0x000003b2 cmpb $93, %dil + 0x0f, 0x84, 0x2d, 0x02, 0x00, 0x00, //0x000003b6 je LBB0_37 + 0x4b, 0xc7, 0x04, 0xda, 0x01, 0x00, 0x00, 0x00, //0x000003bc movq $1, (%r10,%r11,8) + 0x83, 0xff, 0x7b, //0x000003c4 cmpl $123, %edi + 0x0f, 0x86, 0x43, 0x02, 0x00, 0x00, //0x000003c7 jbe LBB0_67 + 0xe9, 0x1b, 0x22, 0x00, 0x00, //0x000003cd jmp LBB0_426 + //0x000003d2 LBB0_40 + 0x40, 0x80, 0xff, 0x22, //0x000003d2 cmpb $34, %dil + 0x0f, 0x85, 0x11, 0x22, 0x00, 0x00, //0x000003d6 jne LBB0_426 + 0x4b, 0xc7, 0x04, 0xda, 0x04, 0x00, 0x00, 0x00, //0x000003dc movq $4, (%r10,%r11,8) + 0x48, 0x8b, 0x45, 0x98, //0x000003e4 movq $-104(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x000003e8 movq $8(%rax), %r10 + 0xf6, 0x45, 0x80, 0x20, //0x000003ec testb $32, $-128(%rbp) + 0x0f, 0x85, 0xab, 0x04, 0x00, 0x00, //0x000003f0 jne LBB0_104 + 0x4d, 0x89, 0xd5, //0x000003f6 movq %r10, %r13 + 0x48, 0x8b, 0x45, 0xc0, //0x000003f9 movq $-64(%rbp), %rax + 0x49, 0x29, 0xc5, //0x000003fd subq %rax, %r13 + 0x0f, 0x84, 0xd1, 0x23, 0x00, 0x00, //0x00000400 je LBB0_462 + 0x4d, 0x8d, 0x1c, 0x01, //0x00000406 leaq (%r9,%rax), %r11 + 0x49, 0x83, 0xfd, 0x40, //0x0000040a cmpq $64, %r13 + 0x0f, 0x82, 0xb4, 0x1b, 0x00, 0x00, //0x0000040e jb LBB0_355 + 0x44, 0x89, 0xe9, //0x00000414 movl %r13d, %ecx + 0x83, 0xe1, 0x3f, //0x00000417 andl $63, %ecx + 0x48, 0x89, 0x4d, 0xb8, //0x0000041a movq %rcx, $-72(%rbp) + 0x4b, 0x8d, 0x4c, 0x02, 0xc0, //0x0000041e leaq $-64(%r10,%r8), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000423 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000427 addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x90, //0x0000042a addq $-112(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb0, //0x0000042e movq %rcx, $-80(%rbp) + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000432 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00000439 xorl %r8d, %r8d + 0x90, 0x90, 0x90, 0x90, //0x0000043c .p2align 4, 0x90 + //0x00000440 LBB0_45 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00000440 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00000445 movdqu $16(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6b, 0x20, //0x0000044b movdqu $32(%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x30, //0x00000451 movdqu $48(%r11), %xmm6 + 0x66, 0x0f, 0x6f, 0xfb, //0x00000457 movdqa %xmm3, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x0000045b pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xff, //0x0000045f pmovmskb %xmm7, %edi + 0x66, 0x0f, 0x6f, 0xfc, //0x00000463 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000467 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x0000046b pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x6f, 0xfd, //0x0000046f movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000473 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00000477 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfe, //0x0000047b movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x0000047f pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xdf, //0x00000483 pmovmskb %xmm7, %ebx + 0x66, 0x0f, 0x74, 0xd9, //0x00000487 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x0000048b pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x74, 0xe1, //0x0000048f pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00000493 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x74, 0xe9, //0x00000497 pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xf5, //0x0000049b pmovmskb %xmm5, %r14d + 0x66, 0x0f, 0x74, 0xf1, //0x000004a0 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xe6, //0x000004a4 pmovmskb %xmm6, %r12d + 0x48, 0xc1, 0xe3, 0x30, //0x000004a9 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x000004ad shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x000004b1 shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x000004b5 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x000004b8 orq %rsi, %rdi + 0x49, 0xc1, 0xe4, 0x30, //0x000004bb shlq $48, %r12 + 0x49, 0xc1, 0xe6, 0x20, //0x000004bf shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x000004c3 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x000004c7 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x000004ca orq %r14, %rdx + 0x4c, 0x09, 0xe2, //0x000004cd orq %r12, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x000004d0 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000004d4 jne LBB0_47 + 0x48, 0x85, 0xd2, //0x000004da testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000004dd jne LBB0_56 + //0x000004e3 LBB0_47 + 0x48, 0x09, 0xdf, //0x000004e3 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x000004e6 movq %rdx, %rax + 0x4c, 0x09, 0xc0, //0x000004e9 orq %r8, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x000004ec jne LBB0_57 + //0x000004f2 LBB0_48 + 0x48, 0x85, 0xff, //0x000004f2 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x000004f5 jne LBB0_58 + //0x000004fb LBB0_49 + 0x49, 0x83, 0xc5, 0xc0, //0x000004fb addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x000004ff addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000503 cmpq $63, %r13 + 0x0f, 0x87, 0x33, 0xff, 0xff, 0xff, //0x00000507 ja LBB0_45 + 0xe9, 0x41, 0x13, 0x00, 0x00, //0x0000050d jmp LBB0_50 + //0x00000512 LBB0_56 + 0x4c, 0x89, 0xd8, //0x00000512 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000515 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xca, //0x00000519 bsfq %rdx, %r9 + 0x49, 0x01, 0xc1, //0x0000051d addq %rax, %r9 + 0x48, 0x09, 0xdf, //0x00000520 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000523 movq %rdx, %rax + 0x4c, 0x09, 0xc0, //0x00000526 orq %r8, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000529 je LBB0_48 + //0x0000052f LBB0_57 + 0x4c, 0x89, 0xc0, //0x0000052f movq %r8, %rax + 0x48, 0xf7, 0xd0, //0x00000532 notq %rax + 0x48, 0x21, 0xd0, //0x00000535 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000538 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc1, //0x0000053c orq %r8, %rcx + 0x48, 0x89, 0xce, //0x0000053f movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000542 notq %rsi + 0x48, 0x21, 0xd6, //0x00000545 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000548 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000552 andq %rdx, %rsi + 0x45, 0x31, 0xc0, //0x00000555 xorl %r8d, %r8d + 0x48, 0x01, 0xc6, //0x00000558 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc0, //0x0000055b setb %r8b + 0x48, 0x01, 0xf6, //0x0000055f addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000562 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x0000056c xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x0000056f andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000572 notq %rsi + 0x48, 0x21, 0xf7, //0x00000575 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000578 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x0000057b je LBB0_49 + //0x00000581 LBB0_58 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000581 bsfq %rdi, %rax + //0x00000585 LBB0_59 + 0x4c, 0x03, 0x5d, 0xa0, //0x00000585 addq $-96(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000589 addq %rax, %r11 + 0x48, 0x8b, 0x7d, 0xc0, //0x0000058c movq $-64(%rbp), %rdi + 0xe9, 0xfd, 0x09, 0x00, 0x00, //0x00000590 jmp LBB0_188 + //0x00000595 LBB0_60 + 0x40, 0x80, 0xff, 0x3a, //0x00000595 cmpb $58, %dil + 0x0f, 0x85, 0x4e, 0x20, 0x00, 0x00, //0x00000599 jne LBB0_426 + 0x4b, 0xc7, 0x04, 0xda, 0x00, 0x00, 0x00, 0x00, //0x0000059f movq $0, (%r10,%r11,8) + 0xe9, 0xe4, 0xfb, 0xff, 0xff, //0x000005a7 jmp LBB0_3 + //0x000005ac LBB0_62 + 0x83, 0xff, 0x2c, //0x000005ac cmpl $44, %edi + 0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x000005af jne LBB0_63 + 0x49, 0x81, 0xfb, 0xff, 0x0f, 0x00, 0x00, //0x000005b5 cmpq $4095, %r11 + 0x0f, 0x8f, 0xee, 0x1f, 0x00, 0x00, //0x000005bc jg LBB0_439 + 0x49, 0x8d, 0x43, 0x01, //0x000005c2 leaq $1(%r11), %rax + 0x49, 0x89, 0x02, //0x000005c6 movq %rax, (%r10) + 0x4b, 0xc7, 0x44, 0xda, 0x08, 0x03, 0x00, 0x00, 0x00, //0x000005c9 movq $3, $8(%r10,%r11,8) + 0xe9, 0xb9, 0xfb, 0xff, 0xff, //0x000005d2 jmp LBB0_3 + //0x000005d7 LBB0_64 + 0x83, 0xff, 0x22, //0x000005d7 cmpl $34, %edi + 0x0f, 0x84, 0xd0, 0x04, 0x00, 0x00, //0x000005da je LBB0_127 + //0x000005e0 LBB0_63 + 0x83, 0xff, 0x7d, //0x000005e0 cmpl $125, %edi + 0x0f, 0x85, 0x04, 0x20, 0x00, 0x00, //0x000005e3 jne LBB0_426 + //0x000005e9 LBB0_37 + 0x49, 0x89, 0x12, //0x000005e9 movq %rdx, (%r10) + 0x49, 0x89, 0xd3, //0x000005ec movq %rdx, %r11 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x000005ef movq $-136(%rbp), %rax + 0x48, 0x85, 0xd2, //0x000005f6 testq %rdx, %rdx + 0x0f, 0x85, 0xb3, 0xfb, 0xff, 0xff, //0x000005f9 jne LBB0_6 + 0xe9, 0xf0, 0x1f, 0x00, 0x00, //0x000005ff jmp LBB0_427 + //0x00000604 LBB0_66 + 0x49, 0x89, 0x12, //0x00000604 movq %rdx, (%r10) + 0x83, 0xff, 0x7b, //0x00000607 cmpl $123, %edi + 0x0f, 0x87, 0xdd, 0x1f, 0x00, 0x00, //0x0000060a ja LBB0_426 + //0x00000610 LBB0_67 + 0x4f, 0x8d, 0x14, 0x39, //0x00000610 leaq (%r9,%r15), %r10 + 0x89, 0xf9, //0x00000614 movl %edi, %ecx + 0x48, 0x8d, 0x15, 0x83, 0x22, 0x00, 0x00, //0x00000616 leaq $8835(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8a, //0x0000061d movslq (%rdx,%rcx,4), %rcx + 0x48, 0x01, 0xd1, //0x00000621 addq %rdx, %rcx + 0xff, 0xe1, //0x00000624 jmpq *%rcx + //0x00000626 LBB0_68 + 0x48, 0x8b, 0x45, 0x98, //0x00000626 movq $-104(%rbp), %rax + 0x48, 0x8b, 0x78, 0x08, //0x0000062a movq $8(%rax), %rdi + 0x4c, 0x29, 0xff, //0x0000062e subq %r15, %rdi + 0x0f, 0x84, 0x9e, 0x1f, 0x00, 0x00, //0x00000631 je LBB0_421 + 0x41, 0x80, 0x3a, 0x30, //0x00000637 cmpb $48, (%r10) + 0x4c, 0x8b, 0x5d, 0xc0, //0x0000063b movq $-64(%rbp), %r11 + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000063f jne LBB0_73 + 0x48, 0x83, 0xff, 0x01, //0x00000645 cmpq $1, %rdi + 0x0f, 0x84, 0xb3, 0x16, 0x00, 0x00, //0x00000649 je LBB0_336 + 0x43, 0x8a, 0x04, 0x19, //0x0000064f movb (%r9,%r11), %al + 0x04, 0xd2, //0x00000653 addb $-46, %al + 0x3c, 0x37, //0x00000655 cmpb $55, %al + 0x0f, 0x87, 0xa5, 0x16, 0x00, 0x00, //0x00000657 ja LBB0_336 + 0x0f, 0xb6, 0xc0, //0x0000065d movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00000660 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x0000066a btq %rax, %rcx + 0x0f, 0x83, 0x8e, 0x16, 0x00, 0x00, //0x0000066e jae LBB0_336 + //0x00000674 LBB0_73 + 0x48, 0x83, 0xff, 0x10, //0x00000674 cmpq $16, %rdi + 0x0f, 0x82, 0x86, 0x18, 0x00, 0x00, //0x00000678 jb LBB0_344 + 0x4c, 0x8d, 0x4f, 0xf0, //0x0000067e leaq $-16(%rdi), %r9 + 0x4c, 0x89, 0xc8, //0x00000682 movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00000685 andq $-16, %rax + 0x4e, 0x8d, 0x5c, 0x10, 0x10, //0x00000689 leaq $16(%rax,%r10), %r11 + 0x41, 0x83, 0xe1, 0x0f, //0x0000068e andl $15, %r9d + 0x48, 0xc7, 0x45, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000692 movq $-1, $-64(%rbp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x0000069a movq $-1, %r12 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x000006a1 movq $-1, %r13 + 0x4d, 0x89, 0xd6, //0x000006a8 movq %r10, %r14 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000006ab .p2align 4, 0x90 + //0x000006b0 LBB0_75 + 0xf3, 0x41, 0x0f, 0x6f, 0x1e, //0x000006b0 movdqu (%r14), %xmm3 + 0x66, 0x0f, 0x6f, 0xe3, //0x000006b5 movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x64, 0xe0, //0x000006b9 pcmpgtb %xmm8, %xmm4 + 0x66, 0x41, 0x0f, 0x6f, 0xed, //0x000006be movdqa %xmm13, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x000006c3 pcmpgtb %xmm3, %xmm5 + 0x66, 0x0f, 0xdb, 0xec, //0x000006c7 pand %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xe3, //0x000006cb movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xe1, //0x000006cf pcmpeqb %xmm9, %xmm4 + 0x66, 0x0f, 0x6f, 0xf3, //0x000006d4 movdqa %xmm3, %xmm6 + 0x66, 0x41, 0x0f, 0x74, 0xf2, //0x000006d8 pcmpeqb %xmm10, %xmm6 + 0x66, 0x0f, 0xeb, 0xf4, //0x000006dd por %xmm4, %xmm6 + 0x66, 0x0f, 0x6f, 0xe3, //0x000006e1 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xe2, //0x000006e5 por %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xdb, //0x000006e9 pcmpeqb %xmm11, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xe4, //0x000006ee pcmpeqb %xmm12, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x000006f3 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0xeb, 0xe3, //0x000006f7 por %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xee, //0x000006fb por %xmm6, %xmm5 + 0x66, 0x0f, 0xeb, 0xec, //0x000006ff por %xmm4, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xc3, //0x00000703 pmovmskb %xmm3, %r8d + 0x66, 0x0f, 0xd7, 0xd6, //0x00000708 pmovmskb %xmm6, %edx + 0x66, 0x0f, 0xd7, 0xcd, //0x0000070c pmovmskb %xmm5, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000710 movl $2863311530, %esi + 0x48, 0x81, 0xc6, 0x55, 0x55, 0x55, 0x55, //0x00000715 addq $1431655765, %rsi + 0x48, 0x31, 0xce, //0x0000071c xorq %rcx, %rsi + 0x48, 0x0f, 0xbc, 0xce, //0x0000071f bsfq %rsi, %rcx + 0x83, 0xf9, 0x10, //0x00000723 cmpl $16, %ecx + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00000726 je LBB0_77 + 0xbe, 0xff, 0xff, 0xff, 0xff, //0x0000072c movl $-1, %esi + 0xd3, 0xe6, //0x00000731 shll %cl, %esi + 0xf7, 0xd6, //0x00000733 notl %esi + 0x41, 0x21, 0xf0, //0x00000735 andl %esi, %r8d + 0x21, 0xf0, //0x00000738 andl %esi, %eax + 0x21, 0xd6, //0x0000073a andl %edx, %esi + 0x89, 0xf2, //0x0000073c movl %esi, %edx + //0x0000073e LBB0_77 + 0x41, 0x8d, 0x70, 0xff, //0x0000073e leal $-1(%r8), %esi + 0x44, 0x21, 0xc6, //0x00000742 andl %r8d, %esi + 0x0f, 0x85, 0xd3, 0x10, 0x00, 0x00, //0x00000745 jne LBB0_306 + 0x8d, 0x70, 0xff, //0x0000074b leal $-1(%rax), %esi + 0x21, 0xc6, //0x0000074e andl %eax, %esi + 0x0f, 0x85, 0xc8, 0x10, 0x00, 0x00, //0x00000750 jne LBB0_306 + 0x8d, 0x72, 0xff, //0x00000756 leal $-1(%rdx), %esi + 0x21, 0xd6, //0x00000759 andl %edx, %esi + 0x0f, 0x85, 0xbd, 0x10, 0x00, 0x00, //0x0000075b jne LBB0_306 + 0x45, 0x85, 0xc0, //0x00000761 testl %r8d, %r8d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000764 je LBB0_83 + 0x4c, 0x89, 0xf3, //0x0000076a movq %r14, %rbx + 0x4c, 0x29, 0xd3, //0x0000076d subq %r10, %rbx + 0x41, 0x0f, 0xbc, 0xf0, //0x00000770 bsfl %r8d, %esi + 0x48, 0x01, 0xde, //0x00000774 addq %rbx, %rsi + 0x49, 0x83, 0xfd, 0xff, //0x00000777 cmpq $-1, %r13 + 0x0f, 0x85, 0xb6, 0x14, 0x00, 0x00, //0x0000077b jne LBB0_322 + 0x49, 0x89, 0xf5, //0x00000781 movq %rsi, %r13 + //0x00000784 LBB0_83 + 0x85, 0xc0, //0x00000784 testl %eax, %eax + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000786 je LBB0_86 + 0x4c, 0x89, 0xf6, //0x0000078c movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x0000078f subq %r10, %rsi + 0x0f, 0xbc, 0xc0, //0x00000792 bsfl %eax, %eax + 0x48, 0x01, 0xf0, //0x00000795 addq %rsi, %rax + 0x49, 0x83, 0xfc, 0xff, //0x00000798 cmpq $-1, %r12 + 0x0f, 0x85, 0x4d, 0x12, 0x00, 0x00, //0x0000079c jne LBB0_311 + 0x49, 0x89, 0xc4, //0x000007a2 movq %rax, %r12 + //0x000007a5 LBB0_86 + 0x85, 0xd2, //0x000007a5 testl %edx, %edx + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x000007a7 je LBB0_89 + 0x4c, 0x89, 0xf6, //0x000007ad movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x000007b0 subq %r10, %rsi + 0x0f, 0xbc, 0xc2, //0x000007b3 bsfl %edx, %eax + 0x48, 0x01, 0xf0, //0x000007b6 addq %rsi, %rax + 0x48, 0x83, 0x7d, 0xc0, 0xff, //0x000007b9 cmpq $-1, $-64(%rbp) + 0x0f, 0x85, 0x2b, 0x12, 0x00, 0x00, //0x000007be jne LBB0_311 + 0x48, 0x89, 0x45, 0xc0, //0x000007c4 movq %rax, $-64(%rbp) + //0x000007c8 LBB0_89 + 0x83, 0xf9, 0x10, //0x000007c8 cmpl $16, %ecx + 0x0f, 0x85, 0xcf, 0x04, 0x00, 0x00, //0x000007cb jne LBB0_151 + 0x49, 0x83, 0xc6, 0x10, //0x000007d1 addq $16, %r14 + 0x48, 0x83, 0xc7, 0xf0, //0x000007d5 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x0f, //0x000007d9 cmpq $15, %rdi + 0x0f, 0x87, 0xcd, 0xfe, 0xff, 0xff, //0x000007dd ja LBB0_75 + 0x4d, 0x85, 0xc9, //0x000007e3 testq %r9, %r9 + 0x48, 0x8b, 0x7d, 0xc0, //0x000007e6 movq $-64(%rbp), %rdi + 0x0f, 0x84, 0xba, 0x04, 0x00, 0x00, //0x000007ea je LBB0_152 + //0x000007f0 LBB0_92 + 0x4b, 0x8d, 0x04, 0x0b, //0x000007f0 leaq (%r11,%r9), %rax + 0x48, 0x8d, 0x35, 0x81, 0x23, 0x00, 0x00, //0x000007f4 leaq $9089(%rip), %rsi /* LJTI0_3+0(%rip) */ + 0xe9, 0x2c, 0x00, 0x00, 0x00, //0x000007fb jmp LBB0_96 + //0x00000800 LBB0_93 + 0x49, 0x89, 0xcb, //0x00000800 movq %rcx, %r11 + 0x4d, 0x29, 0xd3, //0x00000803 subq %r10, %r11 + 0x49, 0x83, 0xfc, 0xff, //0x00000806 cmpq $-1, %r12 + 0x0f, 0x85, 0xdb, 0x14, 0x00, 0x00, //0x0000080a jne LBB0_333 + 0x49, 0xff, 0xcb, //0x00000810 decq %r11 + 0x4d, 0x89, 0xdc, //0x00000813 movq %r11, %r12 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000816 .p2align 4, 0x90 + //0x00000820 LBB0_95 + 0x49, 0x89, 0xcb, //0x00000820 movq %rcx, %r11 + 0x49, 0xff, 0xc9, //0x00000823 decq %r9 + 0x0f, 0x84, 0xce, 0x11, 0x00, 0x00, //0x00000826 je LBB0_312 + //0x0000082c LBB0_96 + 0x41, 0x0f, 0xbe, 0x13, //0x0000082c movsbl (%r11), %edx + 0x83, 0xc2, 0xd5, //0x00000830 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x00000833 cmpl $58, %edx + 0x0f, 0x87, 0x6e, 0x04, 0x00, 0x00, //0x00000836 ja LBB0_152 + 0x49, 0x8d, 0x4b, 0x01, //0x0000083c leaq $1(%r11), %rcx + 0x48, 0x63, 0x14, 0x96, //0x00000840 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00000844 addq %rsi, %rdx + 0xff, 0xe2, //0x00000847 jmpq *%rdx + //0x00000849 LBB0_98 + 0x49, 0x89, 0xcb, //0x00000849 movq %rcx, %r11 + 0x4d, 0x29, 0xd3, //0x0000084c subq %r10, %r11 + 0x48, 0x83, 0xff, 0xff, //0x0000084f cmpq $-1, %rdi + 0x0f, 0x85, 0x92, 0x14, 0x00, 0x00, //0x00000853 jne LBB0_333 + 0x49, 0xff, 0xcb, //0x00000859 decq %r11 + 0x4c, 0x89, 0xdf, //0x0000085c movq %r11, %rdi + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000085f jmp LBB0_95 + //0x00000864 LBB0_100 + 0x49, 0x89, 0xcb, //0x00000864 movq %rcx, %r11 + 0x4d, 0x29, 0xd3, //0x00000867 subq %r10, %r11 + 0x49, 0x83, 0xfd, 0xff, //0x0000086a cmpq $-1, %r13 + 0x0f, 0x85, 0x77, 0x14, 0x00, 0x00, //0x0000086e jne LBB0_333 + 0x49, 0xff, 0xcb, //0x00000874 decq %r11 + 0x4d, 0x89, 0xdd, //0x00000877 movq %r11, %r13 + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000087a jmp LBB0_95 + //0x0000087f LBB0_102 + 0x49, 0x81, 0xfb, 0xff, 0x0f, 0x00, 0x00, //0x0000087f cmpq $4095, %r11 + 0x0f, 0x8f, 0x24, 0x1d, 0x00, 0x00, //0x00000886 jg LBB0_439 + 0x49, 0x8d, 0x43, 0x01, //0x0000088c leaq $1(%r11), %rax + 0x49, 0x89, 0x02, //0x00000890 movq %rax, (%r10) + 0x4b, 0xc7, 0x44, 0xda, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00000893 movq $0, $8(%r10,%r11,8) + 0xe9, 0xef, 0xf8, 0xff, 0xff, //0x0000089c jmp LBB0_3 + //0x000008a1 LBB0_104 + 0x4c, 0x89, 0xd0, //0x000008a1 movq %r10, %rax + 0x48, 0x8b, 0x4d, 0xc0, //0x000008a4 movq $-64(%rbp), %rcx + 0x48, 0x29, 0xc8, //0x000008a8 subq %rcx, %rax + 0x0f, 0x84, 0x2e, 0x1f, 0x00, 0x00, //0x000008ab je LBB0_463 + 0x4d, 0x8d, 0x1c, 0x09, //0x000008b1 leaq (%r9,%rcx), %r11 + 0x48, 0x83, 0xf8, 0x40, //0x000008b5 cmpq $64, %rax + 0x0f, 0x82, 0x22, 0x17, 0x00, 0x00, //0x000008b9 jb LBB0_356 + 0x89, 0xc2, //0x000008bf movl %eax, %edx + 0x83, 0xe2, 0x3f, //0x000008c1 andl $63, %edx + 0x48, 0x89, 0x55, 0xb8, //0x000008c4 movq %rdx, $-72(%rbp) + 0x4f, 0x8d, 0x44, 0x02, 0xc0, //0x000008c8 leaq $-64(%r10,%r8), %r8 + 0x49, 0x83, 0xe0, 0xc0, //0x000008cd andq $-64, %r8 + 0x49, 0x01, 0xc8, //0x000008d1 addq %rcx, %r8 + 0x4c, 0x03, 0x45, 0x90, //0x000008d4 addq $-112(%rbp), %r8 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000008d8 movq $-1, %r9 + 0x31, 0xdb, //0x000008df xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008e1 .p2align 4, 0x90 + //0x000008f0 LBB0_107 + 0xf3, 0x41, 0x0f, 0x6f, 0x2b, //0x000008f0 movdqu (%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x10, //0x000008f5 movdqu $16(%r11), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x20, //0x000008fb movdqu $32(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x7b, 0x30, //0x00000901 movdqu $48(%r11), %xmm7 + 0x66, 0x0f, 0x6f, 0xdd, //0x00000907 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x0000090b pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xf3, //0x0000090f pmovmskb %xmm3, %esi + 0x66, 0x0f, 0x6f, 0xde, //0x00000913 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000917 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x0000091b pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdc, //0x0000091f movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000923 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00000927 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdf, //0x0000092b movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x0000092f pcmpeqb %xmm0, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xe3, //0x00000933 pmovmskb %xmm3, %r12d + 0x66, 0x0f, 0x6f, 0xdd, //0x00000938 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x0000093c pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x00000940 pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xde, //0x00000945 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000949 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x0000094d pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x6f, 0xdc, //0x00000951 movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000955 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe7, 0x10, //0x00000959 shlq $16, %rdi + 0x48, 0x09, 0xfe, //0x0000095d orq %rdi, %rsi + 0x66, 0x0f, 0xd7, 0xfb, //0x00000960 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdf, //0x00000964 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000968 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe1, 0x20, //0x0000096c shlq $32, %rcx + 0x48, 0x09, 0xce, //0x00000970 orq %rcx, %rsi + 0x66, 0x0f, 0xd7, 0xcb, //0x00000973 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x00000977 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdd, //0x0000097b pcmpgtb %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xee, //0x0000097f pcmpgtb %xmm14, %xmm5 + 0x66, 0x0f, 0xdb, 0xeb, //0x00000984 pand %xmm3, %xmm5 + 0x48, 0xc1, 0xe2, 0x10, //0x00000988 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x0000098c orq %rdx, %r13 + 0x66, 0x0f, 0xd7, 0xd5, //0x0000098f pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xda, //0x00000993 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xde, //0x00000997 pcmpgtb %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xf6, //0x0000099b pcmpgtb %xmm14, %xmm6 + 0x66, 0x0f, 0xdb, 0xf3, //0x000009a0 pand %xmm3, %xmm6 + 0x48, 0xc1, 0xe7, 0x20, //0x000009a4 shlq $32, %rdi + 0x49, 0x09, 0xfd, //0x000009a8 orq %rdi, %r13 + 0x66, 0x0f, 0xd7, 0xfe, //0x000009ab pmovmskb %xmm6, %edi + 0x66, 0x0f, 0x6f, 0xda, //0x000009af movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x000009b3 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x000009b7 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x000009bc pand %xmm3, %xmm4 + 0x48, 0xc1, 0xe1, 0x30, //0x000009c0 shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x000009c4 orq %rcx, %r13 + 0x66, 0x0f, 0xd7, 0xcc, //0x000009c7 pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x000009cb movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdf, //0x000009cf pcmpgtb %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xfe, //0x000009d3 pcmpgtb %xmm14, %xmm7 + 0x66, 0x0f, 0xdb, 0xfb, //0x000009d8 pand %xmm3, %xmm7 + 0x48, 0xc1, 0xe7, 0x10, //0x000009dc shlq $16, %rdi + 0x48, 0x09, 0xfa, //0x000009e0 orq %rdi, %rdx + 0x66, 0x44, 0x0f, 0xd7, 0xf7, //0x000009e3 pmovmskb %xmm7, %r14d + 0x49, 0xc1, 0xe4, 0x30, //0x000009e8 shlq $48, %r12 + 0x48, 0xc1, 0xe1, 0x20, //0x000009ec shlq $32, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x000009f0 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000009f4 jne LBB0_109 + 0x4d, 0x85, 0xed, //0x000009fa testq %r13, %r13 + 0x0f, 0x85, 0x9a, 0x00, 0x00, 0x00, //0x000009fd jne LBB0_124 + //0x00000a03 LBB0_109 + 0x49, 0xc1, 0xe6, 0x30, //0x00000a03 shlq $48, %r14 + 0x48, 0x09, 0xca, //0x00000a07 orq %rcx, %rdx + 0x4c, 0x09, 0xe6, //0x00000a0a orq %r12, %rsi + 0x4c, 0x89, 0xe9, //0x00000a0d movq %r13, %rcx + 0x48, 0x09, 0xd9, //0x00000a10 orq %rbx, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000a13 jne LBB0_146 + 0x4c, 0x09, 0xf2, //0x00000a19 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000a1c testq %rsi, %rsi + 0x0f, 0x85, 0x54, 0x02, 0x00, 0x00, //0x00000a1f jne LBB0_147 + //0x00000a25 LBB0_111 + 0x48, 0x85, 0xd2, //0x00000a25 testq %rdx, %rdx + 0x0f, 0x85, 0xf6, 0x1b, 0x00, 0x00, //0x00000a28 jne LBB0_430 + 0x48, 0x83, 0xc0, 0xc0, //0x00000a2e addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x00000a32 addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x00000a36 cmpq $63, %rax + 0x0f, 0x87, 0xb0, 0xfe, 0xff, 0xff, //0x00000a3a ja LBB0_107 + 0xe9, 0x92, 0x0e, 0x00, 0x00, //0x00000a40 jmp LBB0_113 + //0x00000a45 LBB0_146 + 0x48, 0x89, 0xd9, //0x00000a45 movq %rbx, %rcx + 0x48, 0xf7, 0xd1, //0x00000a48 notq %rcx + 0x4c, 0x21, 0xe9, //0x00000a4b andq %r13, %rcx + 0x4c, 0x8d, 0x24, 0x09, //0x00000a4e leaq (%rcx,%rcx), %r12 + 0x49, 0x09, 0xdc, //0x00000a52 orq %rbx, %r12 + 0x4c, 0x89, 0xe7, //0x00000a55 movq %r12, %rdi + 0x48, 0xf7, 0xd7, //0x00000a58 notq %rdi + 0x4c, 0x21, 0xef, //0x00000a5b andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000a5e movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x00000a68 andq %rbx, %rdi + 0x31, 0xdb, //0x00000a6b xorl %ebx, %ebx + 0x48, 0x01, 0xcf, //0x00000a6d addq %rcx, %rdi + 0x0f, 0x92, 0xc3, //0x00000a70 setb %bl + 0x48, 0x01, 0xff, //0x00000a73 addq %rdi, %rdi + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000a76 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcf, //0x00000a80 xorq %rcx, %rdi + 0x4c, 0x21, 0xe7, //0x00000a83 andq %r12, %rdi + 0x48, 0xf7, 0xd7, //0x00000a86 notq %rdi + 0x48, 0x21, 0xfe, //0x00000a89 andq %rdi, %rsi + 0x4c, 0x09, 0xf2, //0x00000a8c orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000a8f testq %rsi, %rsi + 0x0f, 0x84, 0x8d, 0xff, 0xff, 0xff, //0x00000a92 je LBB0_111 + 0xe9, 0xdc, 0x01, 0x00, 0x00, //0x00000a98 jmp LBB0_147 + //0x00000a9d LBB0_124 + 0x4c, 0x89, 0xdf, //0x00000a9d movq %r11, %rdi + 0x48, 0x2b, 0x7d, 0xd0, //0x00000aa0 subq $-48(%rbp), %rdi + 0x4d, 0x0f, 0xbc, 0xcd, //0x00000aa4 bsfq %r13, %r9 + 0x49, 0x01, 0xf9, //0x00000aa8 addq %rdi, %r9 + 0xe9, 0x53, 0xff, 0xff, 0xff, //0x00000aab jmp LBB0_109 + //0x00000ab0 LBB0_127 + 0x4b, 0xc7, 0x04, 0xda, 0x02, 0x00, 0x00, 0x00, //0x00000ab0 movq $2, (%r10,%r11,8) + 0x48, 0x8b, 0x45, 0x98, //0x00000ab8 movq $-104(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x00000abc movq $8(%rax), %r10 + 0xf6, 0x45, 0x80, 0x20, //0x00000ac0 testb $32, $-128(%rbp) + 0x0f, 0x85, 0x6b, 0x02, 0x00, 0x00, //0x00000ac4 jne LBB0_161 + 0x4d, 0x89, 0xd5, //0x00000aca movq %r10, %r13 + 0x48, 0x8b, 0x45, 0xc0, //0x00000acd movq $-64(%rbp), %rax + 0x49, 0x29, 0xc5, //0x00000ad1 subq %rax, %r13 + 0x0f, 0x84, 0x31, 0x1d, 0x00, 0x00, //0x00000ad4 je LBB0_464 + 0x4d, 0x8d, 0x1c, 0x01, //0x00000ada leaq (%r9,%rax), %r11 + 0x49, 0x83, 0xfd, 0x40, //0x00000ade cmpq $64, %r13 + 0x0f, 0x82, 0x60, 0x15, 0x00, 0x00, //0x00000ae2 jb LBB0_362 + 0x44, 0x89, 0xe9, //0x00000ae8 movl %r13d, %ecx + 0x83, 0xe1, 0x3f, //0x00000aeb andl $63, %ecx + 0x48, 0x89, 0x4d, 0xb0, //0x00000aee movq %rcx, $-80(%rbp) + 0x4b, 0x8d, 0x4c, 0x02, 0xc0, //0x00000af2 leaq $-64(%r10,%r8), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000af7 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000afb addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x90, //0x00000afe addq $-112(%rbp), %rcx + 0x48, 0x89, 0x8d, 0x70, 0xff, 0xff, 0xff, //0x00000b02 movq %rcx, $-144(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000b09 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00000b10 xorl %r9d, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000b13 .p2align 4, 0x90 + //0x00000b20 LBB0_131 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00000b20 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00000b25 movdqu $16(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6b, 0x20, //0x00000b2b movdqu $32(%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x30, //0x00000b31 movdqu $48(%r11), %xmm6 + 0x66, 0x0f, 0x6f, 0xfb, //0x00000b37 movdqa %xmm3, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b3b pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xff, //0x00000b3f pmovmskb %xmm7, %edi + 0x66, 0x0f, 0x6f, 0xfc, //0x00000b43 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b47 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x00000b4b pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x6f, 0xfd, //0x00000b4f movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b53 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00000b57 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfe, //0x00000b5b movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b5f pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xdf, //0x00000b63 pmovmskb %xmm7, %ebx + 0x66, 0x0f, 0x74, 0xd9, //0x00000b67 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x00000b6b pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x74, 0xe1, //0x00000b6f pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00000b73 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x74, 0xe9, //0x00000b77 pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xf5, //0x00000b7b pmovmskb %xmm5, %r14d + 0x66, 0x0f, 0x74, 0xf1, //0x00000b80 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xe6, //0x00000b84 pmovmskb %xmm6, %r12d + 0x48, 0xc1, 0xe3, 0x30, //0x00000b89 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x00000b8d shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00000b91 shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00000b95 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00000b98 orq %rsi, %rdi + 0x49, 0xc1, 0xe4, 0x30, //0x00000b9b shlq $48, %r12 + 0x49, 0xc1, 0xe6, 0x20, //0x00000b9f shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x00000ba3 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00000ba7 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x00000baa orq %r14, %rdx + 0x4c, 0x09, 0xe2, //0x00000bad orq %r12, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000bb0 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000bb4 jne LBB0_133 + 0x48, 0x85, 0xd2, //0x00000bba testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000bbd jne LBB0_142 + //0x00000bc3 LBB0_133 + 0x48, 0x09, 0xdf, //0x00000bc3 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000bc6 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00000bc9 orq %r9, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x00000bcc jne LBB0_143 + //0x00000bd2 LBB0_134 + 0x48, 0x85, 0xff, //0x00000bd2 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00000bd5 jne LBB0_144 + //0x00000bdb LBB0_135 + 0x49, 0x83, 0xc5, 0xc0, //0x00000bdb addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x00000bdf addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000be3 cmpq $63, %r13 + 0x0f, 0x87, 0x33, 0xff, 0xff, 0xff, //0x00000be7 ja LBB0_131 + 0xe9, 0x24, 0x0e, 0x00, 0x00, //0x00000bed jmp LBB0_136 + //0x00000bf2 LBB0_142 + 0x4c, 0x89, 0xd8, //0x00000bf2 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000bf5 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc2, //0x00000bf9 bsfq %rdx, %r8 + 0x49, 0x01, 0xc0, //0x00000bfd addq %rax, %r8 + 0x48, 0x09, 0xdf, //0x00000c00 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000c03 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00000c06 orq %r9, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000c09 je LBB0_134 + //0x00000c0f LBB0_143 + 0x4c, 0x89, 0xc8, //0x00000c0f movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000c12 notq %rax + 0x48, 0x21, 0xd0, //0x00000c15 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000c18 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x00000c1c orq %r9, %rcx + 0x48, 0x89, 0xce, //0x00000c1f movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000c22 notq %rsi + 0x48, 0x21, 0xd6, //0x00000c25 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000c28 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000c32 andq %rdx, %rsi + 0x45, 0x31, 0xc9, //0x00000c35 xorl %r9d, %r9d + 0x48, 0x01, 0xc6, //0x00000c38 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc1, //0x00000c3b setb %r9b + 0x48, 0x01, 0xf6, //0x00000c3f addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000c42 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x00000c4c xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x00000c4f andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000c52 notq %rsi + 0x48, 0x21, 0xf7, //0x00000c55 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000c58 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00000c5b je LBB0_135 + //0x00000c61 LBB0_144 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000c61 bsfq %rdi, %rax + //0x00000c65 LBB0_145 + 0x4c, 0x03, 0x5d, 0xa0, //0x00000c65 addq $-96(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000c69 addq %rax, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x00000c6c movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000c70 movq $-48(%rbp), %r9 + 0xe9, 0x84, 0x03, 0x00, 0x00, //0x00000c74 jmp LBB0_195 + //0x00000c79 LBB0_147 + 0x48, 0x0f, 0xbc, 0xc6, //0x00000c79 bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00000c7d testq %rdx, %rdx + 0x0f, 0x84, 0xf1, 0x02, 0x00, 0x00, //0x00000c80 je LBB0_186 + 0x48, 0x0f, 0xbc, 0xca, //0x00000c86 bsfq %rdx, %rcx + 0x48, 0x8b, 0x7d, 0xc0, //0x00000c8a movq $-64(%rbp), %rdi + 0x4c, 0x2b, 0x5d, 0xd0, //0x00000c8e subq $-48(%rbp), %r11 + 0x48, 0x39, 0xc1, //0x00000c92 cmpq %rax, %rcx + 0x0f, 0x83, 0xf2, 0x02, 0x00, 0x00, //0x00000c95 jae LBB0_187 + 0xe9, 0x47, 0x1b, 0x00, 0x00, //0x00000c9b jmp LBB0_149 + //0x00000ca0 LBB0_151 + 0x49, 0x01, 0xce, //0x00000ca0 addq %rcx, %r14 + 0x4d, 0x89, 0xf3, //0x00000ca3 movq %r14, %r11 + 0x48, 0x8b, 0x7d, 0xc0, //0x00000ca6 movq $-64(%rbp), %rdi + //0x00000caa LBB0_152 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000caa movq $-1, %rax + 0x4d, 0x85, 0xe4, //0x00000cb1 testq %r12, %r12 + 0x48, 0x8b, 0x75, 0xc8, //0x00000cb4 movq $-56(%rbp), %rsi + 0x0f, 0x84, 0x26, 0x19, 0x00, 0x00, //0x00000cb8 je LBB0_424 + //0x00000cbe LBB0_153 + 0x48, 0x85, 0xff, //0x00000cbe testq %rdi, %rdi + 0x0f, 0x84, 0x1d, 0x19, 0x00, 0x00, //0x00000cc1 je LBB0_424 + 0x4d, 0x85, 0xed, //0x00000cc7 testq %r13, %r13 + 0x0f, 0x84, 0x14, 0x19, 0x00, 0x00, //0x00000cca je LBB0_424 + 0x4d, 0x29, 0xd3, //0x00000cd0 subq %r10, %r11 + 0x49, 0x8d, 0x43, 0xff, //0x00000cd3 leaq $-1(%r11), %rax + 0x49, 0x39, 0xc4, //0x00000cd7 cmpq %rax, %r12 + 0x0f, 0x84, 0x40, 0x00, 0x00, 0x00, //0x00000cda je LBB0_422 + 0x49, 0x39, 0xc5, //0x00000ce0 cmpq %rax, %r13 + 0x0f, 0x84, 0x37, 0x00, 0x00, 0x00, //0x00000ce3 je LBB0_422 + 0x48, 0x39, 0xc7, //0x00000ce9 cmpq %rax, %rdi + 0x0f, 0x84, 0x2e, 0x00, 0x00, 0x00, //0x00000cec je LBB0_422 + 0x48, 0x85, 0xff, //0x00000cf2 testq %rdi, %rdi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000cf5 movq $-48(%rbp), %r9 + 0x0f, 0x8e, 0xb8, 0x02, 0x00, 0x00, //0x00000cf9 jle LBB0_190 + 0x48, 0x8d, 0x47, 0xff, //0x00000cff leaq $-1(%rdi), %rax + 0x49, 0x39, 0xc4, //0x00000d03 cmpq %rax, %r12 + 0x0f, 0x84, 0xab, 0x02, 0x00, 0x00, //0x00000d06 je LBB0_190 + 0x48, 0xf7, 0xd7, //0x00000d0c notq %rdi + 0x49, 0x89, 0xfb, //0x00000d0f movq %rdi, %r11 + 0x4d, 0x85, 0xdb, //0x00000d12 testq %r11, %r11 + 0x0f, 0x89, 0xe4, 0x0f, 0x00, 0x00, //0x00000d15 jns LBB0_335 + 0xe9, 0xc1, 0x18, 0x00, 0x00, //0x00000d1b jmp LBB0_423 + //0x00000d20 LBB0_422 + 0x49, 0xf7, 0xdb, //0x00000d20 negq %r11 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000d23 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xdb, //0x00000d27 testq %r11, %r11 + 0x0f, 0x89, 0xcf, 0x0f, 0x00, 0x00, //0x00000d2a jns LBB0_335 + 0xe9, 0xac, 0x18, 0x00, 0x00, //0x00000d30 jmp LBB0_423 + //0x00000d35 LBB0_161 + 0x4c, 0x89, 0xd0, //0x00000d35 movq %r10, %rax + 0x48, 0x8b, 0x4d, 0xc0, //0x00000d38 movq $-64(%rbp), %rcx + 0x48, 0x29, 0xc8, //0x00000d3c subq %rcx, %rax + 0x0f, 0x84, 0xce, 0x1a, 0x00, 0x00, //0x00000d3f je LBB0_465 + 0x4d, 0x8d, 0x1c, 0x09, //0x00000d45 leaq (%r9,%rcx), %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00000d49 cmpq $64, %rax + 0x4c, 0x89, 0x55, 0xb8, //0x00000d4d movq %r10, $-72(%rbp) + 0x0f, 0x82, 0x0a, 0x13, 0x00, 0x00, //0x00000d51 jb LBB0_363 + 0x89, 0xc2, //0x00000d57 movl %eax, %edx + 0x83, 0xe2, 0x3f, //0x00000d59 andl $63, %edx + 0x48, 0x89, 0x55, 0xb0, //0x00000d5c movq %rdx, $-80(%rbp) + 0x4f, 0x8d, 0x64, 0x02, 0xc0, //0x00000d60 leaq $-64(%r10,%r8), %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00000d65 andq $-64, %r12 + 0x49, 0x01, 0xcc, //0x00000d69 addq %rcx, %r12 + 0x4c, 0x03, 0x65, 0x90, //0x00000d6c addq $-112(%rbp), %r12 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000d70 movq $-1, %r8 + 0x45, 0x31, 0xd2, //0x00000d77 xorl %r10d, %r10d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d7a .p2align 4, 0x90 + //0x00000d80 LBB0_164 + 0xf3, 0x41, 0x0f, 0x6f, 0x2b, //0x00000d80 movdqu (%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x10, //0x00000d85 movdqu $16(%r11), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x20, //0x00000d8b movdqu $32(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x7b, 0x30, //0x00000d91 movdqu $48(%r11), %xmm7 + 0x66, 0x0f, 0x6f, 0xdd, //0x00000d97 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000d9b pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x00000d9f pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xde, //0x00000da3 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000da7 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x00000dab pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdc, //0x00000daf movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000db3 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00000db7 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdf, //0x00000dbb movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000dbf pcmpeqb %xmm0, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00000dc3 pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xdd, //0x00000dc8 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000dcc pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x00000dd0 pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xde, //0x00000dd5 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000dd9 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x00000ddd pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x6f, 0xdc, //0x00000de1 movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000de5 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe7, 0x10, //0x00000de9 shlq $16, %rdi + 0x48, 0x09, 0xfb, //0x00000ded orq %rdi, %rbx + 0x66, 0x0f, 0xd7, 0xfb, //0x00000df0 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdf, //0x00000df4 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000df8 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe1, 0x20, //0x00000dfc shlq $32, %rcx + 0x48, 0x09, 0xcb, //0x00000e00 orq %rcx, %rbx + 0x66, 0x0f, 0xd7, 0xcb, //0x00000e03 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x00000e07 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdd, //0x00000e0b pcmpgtb %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xee, //0x00000e0f pcmpgtb %xmm14, %xmm5 + 0x66, 0x0f, 0xdb, 0xeb, //0x00000e14 pand %xmm3, %xmm5 + 0x48, 0xc1, 0xe2, 0x10, //0x00000e18 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x00000e1c orq %rdx, %r13 + 0x66, 0x0f, 0xd7, 0xd5, //0x00000e1f pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xda, //0x00000e23 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xde, //0x00000e27 pcmpgtb %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xf6, //0x00000e2b pcmpgtb %xmm14, %xmm6 + 0x66, 0x0f, 0xdb, 0xf3, //0x00000e30 pand %xmm3, %xmm6 + 0x48, 0xc1, 0xe7, 0x20, //0x00000e34 shlq $32, %rdi + 0x49, 0x09, 0xfd, //0x00000e38 orq %rdi, %r13 + 0x66, 0x0f, 0xd7, 0xfe, //0x00000e3b pmovmskb %xmm6, %edi + 0x66, 0x0f, 0x6f, 0xda, //0x00000e3f movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00000e43 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00000e47 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00000e4c pand %xmm3, %xmm4 + 0x48, 0xc1, 0xe1, 0x30, //0x00000e50 shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000e54 orq %rcx, %r13 + 0x66, 0x0f, 0xd7, 0xcc, //0x00000e57 pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x00000e5b movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdf, //0x00000e5f pcmpgtb %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xfe, //0x00000e63 pcmpgtb %xmm14, %xmm7 + 0x66, 0x0f, 0xdb, 0xfb, //0x00000e68 pand %xmm3, %xmm7 + 0x48, 0xc1, 0xe7, 0x10, //0x00000e6c shlq $16, %rdi + 0x48, 0x09, 0xfa, //0x00000e70 orq %rdi, %rdx + 0x66, 0x0f, 0xd7, 0xff, //0x00000e73 pmovmskb %xmm7, %edi + 0x49, 0xc1, 0xe6, 0x30, //0x00000e77 shlq $48, %r14 + 0x48, 0xc1, 0xe1, 0x20, //0x00000e7b shlq $32, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00000e7f cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000e83 jne LBB0_166 + 0x4d, 0x85, 0xed, //0x00000e89 testq %r13, %r13 + 0x0f, 0x85, 0xa4, 0x00, 0x00, 0x00, //0x00000e8c jne LBB0_181 + //0x00000e92 LBB0_166 + 0x48, 0xc1, 0xe7, 0x30, //0x00000e92 shlq $48, %rdi + 0x48, 0x09, 0xca, //0x00000e96 orq %rcx, %rdx + 0x4c, 0x09, 0xf3, //0x00000e99 orq %r14, %rbx + 0x4c, 0x89, 0xe9, //0x00000e9c movq %r13, %rcx + 0x4c, 0x09, 0xd1, //0x00000e9f orq %r10, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000ea2 jne LBB0_182 + 0x48, 0x09, 0xfa, //0x00000ea8 orq %rdi, %rdx + 0x48, 0x85, 0xdb, //0x00000eab testq %rbx, %rbx + 0x0f, 0x85, 0x9d, 0x00, 0x00, 0x00, //0x00000eae jne LBB0_183 + //0x00000eb4 LBB0_168 + 0x48, 0x85, 0xd2, //0x00000eb4 testq %rdx, %rdx + 0x0f, 0x85, 0x95, 0x17, 0x00, 0x00, //0x00000eb7 jne LBB0_435 + 0x48, 0x83, 0xc0, 0xc0, //0x00000ebd addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x00000ec1 addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x00000ec5 cmpq $63, %rax + 0x0f, 0x87, 0xb1, 0xfe, 0xff, 0xff, //0x00000ec9 ja LBB0_164 + 0xe9, 0xc9, 0x0b, 0x00, 0x00, //0x00000ecf jmp LBB0_170 + //0x00000ed4 LBB0_182 + 0x4d, 0x89, 0xd6, //0x00000ed4 movq %r10, %r14 + 0x49, 0xf7, 0xd6, //0x00000ed7 notq %r14 + 0x4d, 0x21, 0xee, //0x00000eda andq %r13, %r14 + 0x4f, 0x8d, 0x0c, 0x36, //0x00000edd leaq (%r14,%r14), %r9 + 0x4d, 0x09, 0xd1, //0x00000ee1 orq %r10, %r9 + 0x4c, 0x89, 0xc9, //0x00000ee4 movq %r9, %rcx + 0x48, 0xf7, 0xd1, //0x00000ee7 notq %rcx + 0x4c, 0x21, 0xe9, //0x00000eea andq %r13, %rcx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000eed movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf1, //0x00000ef7 andq %rsi, %rcx + 0x45, 0x31, 0xd2, //0x00000efa xorl %r10d, %r10d + 0x4c, 0x01, 0xf1, //0x00000efd addq %r14, %rcx + 0x41, 0x0f, 0x92, 0xc2, //0x00000f00 setb %r10b + 0x48, 0x01, 0xc9, //0x00000f04 addq %rcx, %rcx + 0x48, 0xbe, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000f07 movabsq $6148914691236517205, %rsi + 0x48, 0x31, 0xf1, //0x00000f11 xorq %rsi, %rcx + 0x4c, 0x21, 0xc9, //0x00000f14 andq %r9, %rcx + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000f17 movq $-48(%rbp), %r9 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f1b movq $-56(%rbp), %rsi + 0x48, 0xf7, 0xd1, //0x00000f1f notq %rcx + 0x48, 0x21, 0xcb, //0x00000f22 andq %rcx, %rbx + 0x48, 0x09, 0xfa, //0x00000f25 orq %rdi, %rdx + 0x48, 0x85, 0xdb, //0x00000f28 testq %rbx, %rbx + 0x0f, 0x84, 0x83, 0xff, 0xff, 0xff, //0x00000f2b je LBB0_168 + 0xe9, 0x1b, 0x00, 0x00, 0x00, //0x00000f31 jmp LBB0_183 + //0x00000f36 LBB0_181 + 0x4d, 0x89, 0xd9, //0x00000f36 movq %r11, %r9 + 0x4c, 0x2b, 0x4d, 0xd0, //0x00000f39 subq $-48(%rbp), %r9 + 0x4d, 0x0f, 0xbc, 0xc5, //0x00000f3d bsfq %r13, %r8 + 0x4d, 0x01, 0xc8, //0x00000f41 addq %r9, %r8 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000f44 movq $-48(%rbp), %r9 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f48 movq $-56(%rbp), %rsi + 0xe9, 0x41, 0xff, 0xff, 0xff, //0x00000f4c jmp LBB0_166 + //0x00000f51 LBB0_183 + 0x48, 0x0f, 0xbc, 0xc3, //0x00000f51 bsfq %rbx, %rax + 0x48, 0x85, 0xd2, //0x00000f55 testq %rdx, %rdx + 0x0f, 0x84, 0x85, 0x00, 0x00, 0x00, //0x00000f58 je LBB0_193 + 0x48, 0x0f, 0xbc, 0xca, //0x00000f5e bsfq %rdx, %rcx + 0x4c, 0x8b, 0x55, 0xb8, //0x00000f62 movq $-72(%rbp), %r10 + 0x4d, 0x29, 0xcb, //0x00000f66 subq %r9, %r11 + 0x48, 0x39, 0xc1, //0x00000f69 cmpq %rax, %rcx + 0x0f, 0x83, 0x86, 0x00, 0x00, 0x00, //0x00000f6c jae LBB0_194 + 0xe9, 0x82, 0x18, 0x00, 0x00, //0x00000f72 jmp LBB0_185 + //0x00000f77 LBB0_186 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000f77 movl $64, %ecx + 0x48, 0x8b, 0x7d, 0xc0, //0x00000f7c movq $-64(%rbp), %rdi + 0x4c, 0x2b, 0x5d, 0xd0, //0x00000f80 subq $-48(%rbp), %r11 + 0x48, 0x39, 0xc1, //0x00000f84 cmpq %rax, %rcx + 0x0f, 0x82, 0x5a, 0x18, 0x00, 0x00, //0x00000f87 jb LBB0_149 + //0x00000f8d LBB0_187 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000f8d leaq $1(%r11,%rax), %r11 + //0x00000f92 LBB0_188 + 0x4d, 0x85, 0xdb, //0x00000f92 testq %r11, %r11 + 0x0f, 0x88, 0x21, 0x16, 0x00, 0x00, //0x00000f95 js LBB0_419 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f9b movq $-56(%rbp), %rsi + 0x4c, 0x89, 0x1e, //0x00000f9f movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000fa2 movq %r15, %rax + 0x48, 0x85, 0xff, //0x00000fa5 testq %rdi, %rdi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000fa8 movq $-48(%rbp), %r9 + 0x0f, 0x8f, 0xe2, 0xf1, 0xff, 0xff, //0x00000fac jg LBB0_4 + 0xe9, 0x3d, 0x16, 0x00, 0x00, //0x00000fb2 jmp LBB0_427 + //0x00000fb7 LBB0_190 + 0x4c, 0x89, 0xe8, //0x00000fb7 movq %r13, %rax + 0x4c, 0x09, 0xe0, //0x00000fba orq %r12, %rax + 0x4d, 0x39, 0xe5, //0x00000fbd cmpq %r12, %r13 + 0x0f, 0x8c, 0xd9, 0x04, 0x00, 0x00, //0x00000fc0 jl LBB0_256 + 0x48, 0x85, 0xc0, //0x00000fc6 testq %rax, %rax + 0x0f, 0x88, 0xd0, 0x04, 0x00, 0x00, //0x00000fc9 js LBB0_256 + 0x49, 0xf7, 0xd5, //0x00000fcf notq %r13 + 0x4d, 0x89, 0xeb, //0x00000fd2 movq %r13, %r11 + 0x4d, 0x85, 0xdb, //0x00000fd5 testq %r11, %r11 + 0x0f, 0x89, 0x21, 0x0d, 0x00, 0x00, //0x00000fd8 jns LBB0_335 + 0xe9, 0xfe, 0x15, 0x00, 0x00, //0x00000fde jmp LBB0_423 + //0x00000fe3 LBB0_193 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000fe3 movl $64, %ecx + 0x4c, 0x8b, 0x55, 0xb8, //0x00000fe8 movq $-72(%rbp), %r10 + 0x4d, 0x29, 0xcb, //0x00000fec subq %r9, %r11 + 0x48, 0x39, 0xc1, //0x00000fef cmpq %rax, %rcx + 0x0f, 0x82, 0x01, 0x18, 0x00, 0x00, //0x00000ff2 jb LBB0_185 + //0x00000ff8 LBB0_194 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000ff8 leaq $1(%r11,%rax), %r11 + //0x00000ffd LBB0_195 + 0x4d, 0x85, 0xdb, //0x00000ffd testq %r11, %r11 + 0x0f, 0x88, 0xfd, 0x15, 0x00, 0x00, //0x00001000 js LBB0_428 + 0x4c, 0x89, 0x1e, //0x00001006 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00001009 movq %r15, %rax + 0x48, 0x83, 0x7d, 0xc0, 0x00, //0x0000100c cmpq $0, $-64(%rbp) + 0x0f, 0x8e, 0xdd, 0x15, 0x00, 0x00, //0x00001011 jle LBB0_427 + 0x48, 0x8b, 0x55, 0x88, //0x00001017 movq $-120(%rbp), %rdx + 0x48, 0x8b, 0x02, //0x0000101b movq (%rdx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x0000101e cmpq $4095, %rax + 0x0f, 0x8f, 0x86, 0x15, 0x00, 0x00, //0x00001024 jg LBB0_439 + 0x48, 0x8d, 0x48, 0x01, //0x0000102a leaq $1(%rax), %rcx + 0x48, 0x89, 0x0a, //0x0000102e movq %rcx, (%rdx) + 0x48, 0xc7, 0x44, 0xc2, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00001031 movq $4, $8(%rdx,%rax,8) + 0xe9, 0x55, 0xf1, 0xff, 0xff, //0x0000103a jmp LBB0_4 + //0x0000103f LBB0_199 + 0x48, 0x8b, 0x45, 0x98, //0x0000103f movq $-104(%rbp), %rax + 0x48, 0x8b, 0x48, 0x08, //0x00001043 movq $8(%rax), %rcx + 0xf6, 0x45, 0x80, 0x20, //0x00001047 testb $32, $-128(%rbp) + 0x48, 0x89, 0x4d, 0xb8, //0x0000104b movq %rcx, $-72(%rbp) + 0x49, 0x89, 0xca, //0x0000104f movq %rcx, %r10 + 0x0f, 0x85, 0xe7, 0x04, 0x00, 0x00, //0x00001052 jne LBB0_266 + 0x48, 0x8b, 0x45, 0xc0, //0x00001058 movq $-64(%rbp), %rax + 0x49, 0x29, 0xc2, //0x0000105c subq %rax, %r10 + 0x0f, 0x84, 0xb6, 0x17, 0x00, 0x00, //0x0000105f je LBB0_466 + 0x4d, 0x8d, 0x1c, 0x01, //0x00001065 leaq (%r9,%rax), %r11 + 0x49, 0x83, 0xfa, 0x40, //0x00001069 cmpq $64, %r10 + 0x0f, 0x82, 0x72, 0x10, 0x00, 0x00, //0x0000106d jb LBB0_368 + 0x44, 0x89, 0xd2, //0x00001073 movl %r10d, %edx + 0x83, 0xe2, 0x3f, //0x00001076 andl $63, %edx + 0x48, 0x89, 0x55, 0xb0, //0x00001079 movq %rdx, $-80(%rbp) + 0x4e, 0x8d, 0x64, 0x01, 0xc0, //0x0000107d leaq $-64(%rcx,%r8), %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00001082 andq $-64, %r12 + 0x49, 0x01, 0xc4, //0x00001086 addq %rax, %r12 + 0x4c, 0x03, 0x65, 0x90, //0x00001089 addq $-112(%rbp), %r12 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000108d movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00001094 xorl %r9d, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001097 .p2align 4, 0x90 + //0x000010a0 LBB0_203 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x000010a0 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x000010a5 movdqu $16(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6b, 0x20, //0x000010ab movdqu $32(%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x30, //0x000010b1 movdqu $48(%r11), %xmm6 + 0x66, 0x0f, 0x6f, 0xfb, //0x000010b7 movdqa %xmm3, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010bb pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xff, //0x000010bf pmovmskb %xmm7, %edi + 0x66, 0x0f, 0x6f, 0xfc, //0x000010c3 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010c7 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x000010cb pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x6f, 0xfd, //0x000010cf movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010d3 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x000010d7 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfe, //0x000010db movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010df pcmpeqb %xmm0, %xmm7 + 0x66, 0x44, 0x0f, 0xd7, 0xef, //0x000010e3 pmovmskb %xmm7, %r13d + 0x66, 0x0f, 0x74, 0xd9, //0x000010e8 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x000010ec pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x74, 0xe1, //0x000010f0 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x000010f4 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x74, 0xe9, //0x000010f8 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x000010fc pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x74, 0xf1, //0x00001100 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xf6, //0x00001104 pmovmskb %xmm6, %r14d + 0x49, 0xc1, 0xe5, 0x30, //0x00001109 shlq $48, %r13 + 0x48, 0xc1, 0xe6, 0x20, //0x0000110d shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00001111 shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00001115 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00001118 orq %rsi, %rdi + 0x49, 0xc1, 0xe6, 0x30, //0x0000111b shlq $48, %r14 + 0x48, 0xc1, 0xe3, 0x20, //0x0000111f shlq $32, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x00001123 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00001127 orq %rax, %rdx + 0x48, 0x09, 0xda, //0x0000112a orq %rbx, %rdx + 0x4c, 0x09, 0xf2, //0x0000112d orq %r14, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001130 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001134 jne LBB0_205 + 0x48, 0x85, 0xd2, //0x0000113a testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000113d jne LBB0_214 + //0x00001143 LBB0_205 + 0x4c, 0x09, 0xef, //0x00001143 orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x00001146 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00001149 orq %r9, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000114c jne LBB0_215 + //0x00001152 LBB0_206 + 0x48, 0x85, 0xff, //0x00001152 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00001155 jne LBB0_216 + //0x0000115b LBB0_207 + 0x49, 0x83, 0xc2, 0xc0, //0x0000115b addq $-64, %r10 + 0x49, 0x83, 0xc3, 0x40, //0x0000115f addq $64, %r11 + 0x49, 0x83, 0xfa, 0x3f, //0x00001163 cmpq $63, %r10 + 0x0f, 0x87, 0x33, 0xff, 0xff, 0xff, //0x00001167 ja LBB0_203 + 0xe9, 0xe6, 0x0b, 0x00, 0x00, //0x0000116d jmp LBB0_208 + //0x00001172 LBB0_214 + 0x4c, 0x89, 0xd8, //0x00001172 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00001175 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc2, //0x00001179 bsfq %rdx, %r8 + 0x49, 0x01, 0xc0, //0x0000117d addq %rax, %r8 + 0x4c, 0x09, 0xef, //0x00001180 orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x00001183 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00001186 orq %r9, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00001189 je LBB0_206 + //0x0000118f LBB0_215 + 0x4c, 0x89, 0xc8, //0x0000118f movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00001192 notq %rax + 0x48, 0x21, 0xd0, //0x00001195 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00001198 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x0000119c orq %r9, %rcx + 0x48, 0x89, 0xce, //0x0000119f movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x000011a2 notq %rsi + 0x48, 0x21, 0xd6, //0x000011a5 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000011a8 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x000011b2 andq %rdx, %rsi + 0x45, 0x31, 0xc9, //0x000011b5 xorl %r9d, %r9d + 0x48, 0x01, 0xc6, //0x000011b8 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc1, //0x000011bb setb %r9b + 0x48, 0x01, 0xf6, //0x000011bf addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000011c2 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x000011cc xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x000011cf andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x000011d2 notq %rsi + 0x48, 0x21, 0xf7, //0x000011d5 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x000011d8 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x000011db je LBB0_207 + //0x000011e1 LBB0_216 + 0x48, 0x0f, 0xbc, 0xc7, //0x000011e1 bsfq %rdi, %rax + 0x4c, 0x03, 0x5d, 0xa0, //0x000011e5 addq $-96(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x000011e9 addq %rax, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x000011ec movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x000011f0 movq $-48(%rbp), %r9 + 0x48, 0x8b, 0x7d, 0xb8, //0x000011f4 movq $-72(%rbp), %rdi + 0xe9, 0x02, 0x06, 0x00, 0x00, //0x000011f8 jmp LBB0_304 + //0x000011fd LBB0_217 + 0x48, 0x8b, 0x45, 0x98, //0x000011fd movq $-104(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x00001201 movq $8(%rax), %r10 + 0x48, 0x8b, 0x45, 0xc0, //0x00001205 movq $-64(%rbp), %rax + 0x49, 0x29, 0xc2, //0x00001209 subq %rax, %r10 + 0x0f, 0x84, 0x56, 0x14, 0x00, 0x00, //0x0000120c je LBB0_437 + 0x4d, 0x8d, 0x24, 0x01, //0x00001212 leaq (%r9,%rax), %r12 + 0x41, 0x80, 0x3c, 0x24, 0x30, //0x00001216 cmpb $48, (%r12) + 0x0f, 0x85, 0x36, 0x00, 0x00, 0x00, //0x0000121b jne LBB0_222 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001221 movl $1, %r11d + 0x49, 0x83, 0xfa, 0x01, //0x00001227 cmpq $1, %r10 + 0x0f, 0x84, 0x03, 0x0b, 0x00, 0x00, //0x0000122b je LBB0_341 + 0x41, 0x8a, 0x44, 0x24, 0x01, //0x00001231 movb $1(%r12), %al + 0x04, 0xd2, //0x00001236 addb $-46, %al + 0x3c, 0x37, //0x00001238 cmpb $55, %al + 0x0f, 0x87, 0xf4, 0x0a, 0x00, 0x00, //0x0000123a ja LBB0_341 + 0x0f, 0xb6, 0xc0, //0x00001240 movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00001243 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x0000124d btq %rax, %rcx + 0x0f, 0x83, 0xdd, 0x0a, 0x00, 0x00, //0x00001251 jae LBB0_341 + //0x00001257 LBB0_222 + 0x49, 0x83, 0xfa, 0x10, //0x00001257 cmpq $16, %r10 + 0x0f, 0x82, 0x5d, 0x0e, 0x00, 0x00, //0x0000125b jb LBB0_367 + 0x4d, 0x8d, 0x4a, 0xf0, //0x00001261 leaq $-16(%r10), %r9 + 0x4c, 0x89, 0xc8, //0x00001265 movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00001268 andq $-16, %rax + 0x4e, 0x8d, 0x44, 0x20, 0x10, //0x0000126c leaq $16(%rax,%r12), %r8 + 0x41, 0x83, 0xe1, 0x0f, //0x00001271 andl $15, %r9d + 0x48, 0xc7, 0x45, 0xb0, 0xff, 0xff, 0xff, 0xff, //0x00001275 movq $-1, $-80(%rbp) + 0x48, 0xc7, 0x45, 0xb8, 0xff, 0xff, 0xff, 0xff, //0x0000127d movq $-1, $-72(%rbp) + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001285 movq $-1, %r14 + 0x4d, 0x89, 0xe5, //0x0000128c movq %r12, %r13 + 0x90, //0x0000128f .p2align 4, 0x90 + //0x00001290 LBB0_224 + 0xf3, 0x41, 0x0f, 0x6f, 0x5d, 0x00, //0x00001290 movdqu (%r13), %xmm3 + 0x66, 0x0f, 0x6f, 0xe3, //0x00001296 movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x64, 0xe0, //0x0000129a pcmpgtb %xmm8, %xmm4 + 0x66, 0x41, 0x0f, 0x6f, 0xed, //0x0000129f movdqa %xmm13, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x000012a4 pcmpgtb %xmm3, %xmm5 + 0x66, 0x0f, 0xdb, 0xec, //0x000012a8 pand %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xe3, //0x000012ac movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xe1, //0x000012b0 pcmpeqb %xmm9, %xmm4 + 0x66, 0x0f, 0x6f, 0xf3, //0x000012b5 movdqa %xmm3, %xmm6 + 0x66, 0x41, 0x0f, 0x74, 0xf2, //0x000012b9 pcmpeqb %xmm10, %xmm6 + 0x66, 0x0f, 0xeb, 0xf4, //0x000012be por %xmm4, %xmm6 + 0x66, 0x0f, 0x6f, 0xe3, //0x000012c2 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xe2, //0x000012c6 por %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xdb, //0x000012ca pcmpeqb %xmm11, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xe4, //0x000012cf pcmpeqb %xmm12, %xmm4 + 0x66, 0x0f, 0xd7, 0xdc, //0x000012d4 pmovmskb %xmm4, %ebx + 0x66, 0x0f, 0xeb, 0xe3, //0x000012d8 por %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xee, //0x000012dc por %xmm6, %xmm5 + 0x66, 0x0f, 0xeb, 0xec, //0x000012e0 por %xmm4, %xmm5 + 0x66, 0x0f, 0xd7, 0xc3, //0x000012e4 pmovmskb %xmm3, %eax + 0x66, 0x0f, 0xd7, 0xd6, //0x000012e8 pmovmskb %xmm6, %edx + 0x66, 0x0f, 0xd7, 0xcd, //0x000012ec pmovmskb %xmm5, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x000012f0 movl $2863311530, %esi + 0x48, 0x8d, 0xbe, 0x55, 0x55, 0x55, 0x55, //0x000012f5 leaq $1431655765(%rsi), %rdi + 0x48, 0x31, 0xcf, //0x000012fc xorq %rcx, %rdi + 0x48, 0x0f, 0xbc, 0xcf, //0x000012ff bsfq %rdi, %rcx + 0x83, 0xf9, 0x10, //0x00001303 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x00001306 je LBB0_226 + 0xbf, 0xff, 0xff, 0xff, 0xff, //0x0000130c movl $-1, %edi + 0xd3, 0xe7, //0x00001311 shll %cl, %edi + 0xf7, 0xd7, //0x00001313 notl %edi + 0x21, 0xf8, //0x00001315 andl %edi, %eax + 0x21, 0xfb, //0x00001317 andl %edi, %ebx + 0x21, 0xd7, //0x00001319 andl %edx, %edi + 0x89, 0xfa, //0x0000131b movl %edi, %edx + //0x0000131d LBB0_226 + 0x8d, 0x78, 0xff, //0x0000131d leal $-1(%rax), %edi + 0x21, 0xc7, //0x00001320 andl %eax, %edi + 0x0f, 0x85, 0xee, 0x09, 0x00, 0x00, //0x00001322 jne LBB0_337 + 0x8d, 0x7b, 0xff, //0x00001328 leal $-1(%rbx), %edi + 0x21, 0xdf, //0x0000132b andl %ebx, %edi + 0x0f, 0x85, 0xe3, 0x09, 0x00, 0x00, //0x0000132d jne LBB0_337 + 0x8d, 0x7a, 0xff, //0x00001333 leal $-1(%rdx), %edi + 0x21, 0xd7, //0x00001336 andl %edx, %edi + 0x0f, 0x85, 0xd8, 0x09, 0x00, 0x00, //0x00001338 jne LBB0_337 + 0x85, 0xc0, //0x0000133e testl %eax, %eax + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00001340 je LBB0_232 + 0x4c, 0x89, 0xef, //0x00001346 movq %r13, %rdi + 0x4c, 0x29, 0xe7, //0x00001349 subq %r12, %rdi + 0x44, 0x0f, 0xbc, 0xd8, //0x0000134c bsfl %eax, %r11d + 0x49, 0x01, 0xfb, //0x00001350 addq %rdi, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x00001353 cmpq $-1, %r14 + 0x0f, 0x85, 0xc3, 0x09, 0x00, 0x00, //0x00001357 jne LBB0_338 + 0x4d, 0x89, 0xde, //0x0000135d movq %r11, %r14 + //0x00001360 LBB0_232 + 0x85, 0xdb, //0x00001360 testl %ebx, %ebx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00001362 je LBB0_235 + 0x4c, 0x89, 0xe8, //0x00001368 movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x0000136b subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xdb, //0x0000136e bsfl %ebx, %r11d + 0x49, 0x01, 0xc3, //0x00001372 addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb8, 0xff, //0x00001375 cmpq $-1, $-72(%rbp) + 0x0f, 0x85, 0xa0, 0x09, 0x00, 0x00, //0x0000137a jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xb8, //0x00001380 movq %r11, $-72(%rbp) + //0x00001384 LBB0_235 + 0x85, 0xd2, //0x00001384 testl %edx, %edx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00001386 je LBB0_238 + 0x4c, 0x89, 0xe8, //0x0000138c movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x0000138f subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xda, //0x00001392 bsfl %edx, %r11d + 0x49, 0x01, 0xc3, //0x00001396 addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb0, 0xff, //0x00001399 cmpq $-1, $-80(%rbp) + 0x0f, 0x85, 0x7c, 0x09, 0x00, 0x00, //0x0000139e jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xb0, //0x000013a4 movq %r11, $-80(%rbp) + //0x000013a8 LBB0_238 + 0x83, 0xf9, 0x10, //0x000013a8 cmpl $16, %ecx + 0x0f, 0x85, 0xaa, 0x03, 0x00, 0x00, //0x000013ab jne LBB0_290 + 0x49, 0x83, 0xc5, 0x10, //0x000013b1 addq $16, %r13 + 0x49, 0x83, 0xc2, 0xf0, //0x000013b5 addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x0f, //0x000013b9 cmpq $15, %r10 + 0x0f, 0x87, 0xcd, 0xfe, 0xff, 0xff, //0x000013bd ja LBB0_224 + 0x4d, 0x85, 0xc9, //0x000013c3 testq %r9, %r9 + 0x48, 0x8d, 0x35, 0xc3, 0x16, 0x00, 0x00, //0x000013c6 leaq $5827(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0x48, 0x8b, 0x7d, 0xb8, //0x000013cd movq $-72(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb0, //0x000013d1 movq $-80(%rbp), %rbx + 0x0f, 0x84, 0x8e, 0x03, 0x00, 0x00, //0x000013d5 je LBB0_291 + //0x000013db LBB0_241 + 0x4b, 0x8d, 0x0c, 0x08, //0x000013db leaq (%r8,%r9), %rcx + 0xe9, 0x08, 0x01, 0x00, 0x00, //0x000013df jmp LBB0_260 + //0x000013e4 LBB0_242 + 0x48, 0x8b, 0x55, 0x88, //0x000013e4 movq $-120(%rbp), %rdx + 0x48, 0x8b, 0x02, //0x000013e8 movq (%rdx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000013eb cmpq $4095, %rax + 0x0f, 0x8f, 0xb9, 0x11, 0x00, 0x00, //0x000013f1 jg LBB0_439 + 0x48, 0x8d, 0x48, 0x01, //0x000013f7 leaq $1(%rax), %rcx + 0x48, 0x89, 0x0a, //0x000013fb movq %rcx, (%rdx) + 0x48, 0xc7, 0x44, 0xc2, 0x08, 0x05, 0x00, 0x00, 0x00, //0x000013fe movq $5, $8(%rdx,%rax,8) + 0xe9, 0x84, 0xed, 0xff, 0xff, //0x00001407 jmp LBB0_3 + //0x0000140c LBB0_244 + 0x48, 0x8b, 0x4d, 0x98, //0x0000140c movq $-104(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001410 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfc, //0x00001414 leaq $-4(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001418 cmpq %rdx, %r15 + 0x0f, 0x83, 0xfb, 0x11, 0x00, 0x00, //0x0000141b jae LBB0_440 + 0x48, 0x8b, 0x55, 0xc0, //0x00001421 movq $-64(%rbp), %rdx + 0x41, 0x8b, 0x0c, 0x11, //0x00001425 movl (%r9,%rdx), %ecx + 0x81, 0xf9, 0x61, 0x6c, 0x73, 0x65, //0x00001429 cmpl $1702063201, %ecx + 0x0f, 0x85, 0x5b, 0x12, 0x00, 0x00, //0x0000142f jne LBB0_443 + 0x4d, 0x8d, 0x5f, 0x05, //0x00001435 leaq $5(%r15), %r11 + 0x4c, 0x89, 0x1e, //0x00001439 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x0000143c movq %r15, %rax + 0x48, 0x85, 0xd2, //0x0000143f testq %rdx, %rdx + 0x0f, 0x8f, 0x4c, 0xed, 0xff, 0xff, //0x00001442 jg LBB0_4 + 0xe9, 0xa7, 0x11, 0x00, 0x00, //0x00001448 jmp LBB0_427 + //0x0000144d LBB0_247 + 0x48, 0x8b, 0x4d, 0x98, //0x0000144d movq $-104(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001451 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x00001455 leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001459 cmpq %rdx, %r15 + 0x0f, 0x83, 0xba, 0x11, 0x00, 0x00, //0x0000145c jae LBB0_440 + 0x41, 0x81, 0x3a, 0x6e, 0x75, 0x6c, 0x6c, //0x00001462 cmpl $1819047278, (%r10) + 0x0f, 0x84, 0x27, 0x00, 0x00, 0x00, //0x00001469 je LBB0_255 + 0xe9, 0x71, 0x12, 0x00, 0x00, //0x0000146f jmp LBB0_249 + //0x00001474 LBB0_253 + 0x48, 0x8b, 0x4d, 0x98, //0x00001474 movq $-104(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001478 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x0000147c leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001480 cmpq %rdx, %r15 + 0x0f, 0x83, 0x93, 0x11, 0x00, 0x00, //0x00001483 jae LBB0_440 + 0x41, 0x81, 0x3a, 0x74, 0x72, 0x75, 0x65, //0x00001489 cmpl $1702195828, (%r10) + 0x0f, 0x85, 0xa1, 0x12, 0x00, 0x00, //0x00001490 jne LBB0_448 + //0x00001496 LBB0_255 + 0x4d, 0x8d, 0x5f, 0x04, //0x00001496 leaq $4(%r15), %r11 + 0xe9, 0x69, 0x03, 0x00, 0x00, //0x0000149a jmp LBB0_305 + //0x0000149f LBB0_256 + 0x48, 0x85, 0xc0, //0x0000149f testq %rax, %rax + 0x49, 0x8d, 0x44, 0x24, 0xff, //0x000014a2 leaq $-1(%r12), %rax + 0x49, 0xf7, 0xd4, //0x000014a7 notq %r12 + 0x4d, 0x0f, 0x48, 0xe3, //0x000014aa cmovsq %r11, %r12 + 0x49, 0x39, 0xc5, //0x000014ae cmpq %rax, %r13 + 0x4d, 0x0f, 0x44, 0xdc, //0x000014b1 cmoveq %r12, %r11 + 0x4d, 0x85, 0xdb, //0x000014b5 testq %r11, %r11 + 0x0f, 0x89, 0x41, 0x08, 0x00, 0x00, //0x000014b8 jns LBB0_335 + 0xe9, 0x1e, 0x11, 0x00, 0x00, //0x000014be jmp LBB0_423 + //0x000014c3 LBB0_257 + 0x49, 0x89, 0xc3, //0x000014c3 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x000014c6 subq %r12, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x000014c9 cmpq $-1, %r14 + 0x0f, 0x85, 0x6d, 0x0b, 0x00, 0x00, //0x000014cd jne LBB0_361 + 0x49, 0xff, 0xcb, //0x000014d3 decq %r11 + 0x4d, 0x89, 0xde, //0x000014d6 movq %r11, %r14 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000014d9 .p2align 4, 0x90 + //0x000014e0 LBB0_259 + 0x49, 0x89, 0xc0, //0x000014e0 movq %rax, %r8 + 0x49, 0xff, 0xc9, //0x000014e3 decq %r9 + 0x0f, 0x84, 0xfc, 0x09, 0x00, 0x00, //0x000014e6 je LBB0_343 + //0x000014ec LBB0_260 + 0x41, 0x0f, 0xbe, 0x10, //0x000014ec movsbl (%r8), %edx + 0x83, 0xc2, 0xd5, //0x000014f0 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x000014f3 cmpl $58, %edx + 0x0f, 0x87, 0x6d, 0x02, 0x00, 0x00, //0x000014f6 ja LBB0_291 + 0x49, 0x8d, 0x40, 0x01, //0x000014fc leaq $1(%r8), %rax + 0x48, 0x63, 0x14, 0x96, //0x00001500 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00001504 addq %rsi, %rdx + 0xff, 0xe2, //0x00001507 jmpq *%rdx + //0x00001509 LBB0_262 + 0x49, 0x89, 0xc3, //0x00001509 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x0000150c subq %r12, %r11 + 0x48, 0x83, 0xfb, 0xff, //0x0000150f cmpq $-1, %rbx + 0x0f, 0x85, 0x27, 0x0b, 0x00, 0x00, //0x00001513 jne LBB0_361 + 0x49, 0xff, 0xcb, //0x00001519 decq %r11 + 0x4c, 0x89, 0xdb, //0x0000151c movq %r11, %rbx + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000151f jmp LBB0_259 + //0x00001524 LBB0_264 + 0x49, 0x89, 0xc3, //0x00001524 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x00001527 subq %r12, %r11 + 0x48, 0x83, 0xff, 0xff, //0x0000152a cmpq $-1, %rdi + 0x0f, 0x85, 0x0c, 0x0b, 0x00, 0x00, //0x0000152e jne LBB0_361 + 0x49, 0xff, 0xcb, //0x00001534 decq %r11 + 0x4c, 0x89, 0xdf, //0x00001537 movq %r11, %rdi + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000153a jmp LBB0_259 + //0x0000153f LBB0_266 + 0x48, 0x8b, 0x45, 0xc0, //0x0000153f movq $-64(%rbp), %rax + 0x49, 0x29, 0xc2, //0x00001543 subq %rax, %r10 + 0x0f, 0x84, 0xcf, 0x12, 0x00, 0x00, //0x00001546 je LBB0_466 + 0x4d, 0x8d, 0x1c, 0x01, //0x0000154c leaq (%r9,%rax), %r11 + 0x49, 0x83, 0xfa, 0x40, //0x00001550 cmpq $64, %r10 + 0x0f, 0x82, 0xa8, 0x0b, 0x00, 0x00, //0x00001554 jb LBB0_369 + 0x44, 0x89, 0xd2, //0x0000155a movl %r10d, %edx + 0x83, 0xe2, 0x3f, //0x0000155d andl $63, %edx + 0x48, 0x89, 0x55, 0xb0, //0x00001560 movq %rdx, $-80(%rbp) + 0x4e, 0x8d, 0x64, 0x01, 0xc0, //0x00001564 leaq $-64(%rcx,%r8), %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00001569 andq $-64, %r12 + 0x49, 0x01, 0xc4, //0x0000156d addq %rax, %r12 + 0x4c, 0x03, 0x65, 0x90, //0x00001570 addq $-112(%rbp), %r12 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001574 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x0000157b xorl %r9d, %r9d + 0x90, 0x90, //0x0000157e .p2align 4, 0x90 + //0x00001580 LBB0_269 + 0xf3, 0x41, 0x0f, 0x6f, 0x2b, //0x00001580 movdqu (%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x10, //0x00001585 movdqu $16(%r11), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x20, //0x0000158b movdqu $32(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x7b, 0x30, //0x00001591 movdqu $48(%r11), %xmm7 + 0x66, 0x0f, 0x6f, 0xdd, //0x00001597 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x0000159b pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xf3, //0x0000159f pmovmskb %xmm3, %esi + 0x66, 0x0f, 0x6f, 0xde, //0x000015a3 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000015a7 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x000015ab pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdc, //0x000015af movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000015b3 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x000015b7 pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xdf, //0x000015bb movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000015bf pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x000015c3 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdd, //0x000015c7 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015cb pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x000015cf pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xde, //0x000015d4 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015d8 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x000015dc pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x6f, 0xdc, //0x000015e0 movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015e4 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe1, 0x10, //0x000015e8 shlq $16, %rcx + 0x48, 0x09, 0xce, //0x000015ec orq %rcx, %rsi + 0x66, 0x0f, 0xd7, 0xcb, //0x000015ef pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdf, //0x000015f3 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015f7 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe3, 0x20, //0x000015fb shlq $32, %rbx + 0x48, 0x09, 0xde, //0x000015ff orq %rbx, %rsi + 0x66, 0x0f, 0xd7, 0xdb, //0x00001602 pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xda, //0x00001606 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdd, //0x0000160a pcmpgtb %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xee, //0x0000160e pcmpgtb %xmm14, %xmm5 + 0x66, 0x0f, 0xdb, 0xeb, //0x00001613 pand %xmm3, %xmm5 + 0x48, 0xc1, 0xe2, 0x10, //0x00001617 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x0000161b orq %rdx, %r13 + 0x66, 0x0f, 0xd7, 0xd5, //0x0000161e pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xda, //0x00001622 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xde, //0x00001626 pcmpgtb %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xf6, //0x0000162a pcmpgtb %xmm14, %xmm6 + 0x66, 0x0f, 0xdb, 0xf3, //0x0000162f pand %xmm3, %xmm6 + 0x48, 0xc1, 0xe1, 0x20, //0x00001633 shlq $32, %rcx + 0x49, 0x09, 0xcd, //0x00001637 orq %rcx, %r13 + 0x66, 0x0f, 0xd7, 0xc6, //0x0000163a pmovmskb %xmm6, %eax + 0x66, 0x0f, 0x6f, 0xda, //0x0000163e movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001642 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001646 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x0000164b pand %xmm3, %xmm4 + 0x48, 0xc1, 0xe3, 0x30, //0x0000164f shlq $48, %rbx + 0x49, 0x09, 0xdd, //0x00001653 orq %rbx, %r13 + 0x66, 0x0f, 0xd7, 0xcc, //0x00001656 pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x0000165a movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdf, //0x0000165e pcmpgtb %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xfe, //0x00001662 pcmpgtb %xmm14, %xmm7 + 0x66, 0x0f, 0xdb, 0xfb, //0x00001667 pand %xmm3, %xmm7 + 0x48, 0xc1, 0xe0, 0x10, //0x0000166b shlq $16, %rax + 0x48, 0x09, 0xc2, //0x0000166f orq %rax, %rdx + 0x66, 0x44, 0x0f, 0xd7, 0xf7, //0x00001672 pmovmskb %xmm7, %r14d + 0x48, 0xc1, 0xe7, 0x30, //0x00001677 shlq $48, %rdi + 0x48, 0xc1, 0xe1, 0x20, //0x0000167b shlq $32, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x0000167f cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001683 jne LBB0_271 + 0x4d, 0x85, 0xed, //0x00001689 testq %r13, %r13 + 0x0f, 0x85, 0x9c, 0x00, 0x00, 0x00, //0x0000168c jne LBB0_286 + //0x00001692 LBB0_271 + 0x49, 0xc1, 0xe6, 0x30, //0x00001692 shlq $48, %r14 + 0x48, 0x09, 0xca, //0x00001696 orq %rcx, %rdx + 0x48, 0x09, 0xfe, //0x00001699 orq %rdi, %rsi + 0x4c, 0x89, 0xe8, //0x0000169c movq %r13, %rax + 0x4c, 0x09, 0xc8, //0x0000169f orq %r9, %rax + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000016a2 jne LBB0_287 + 0x4c, 0x09, 0xf2, //0x000016a8 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x000016ab testq %rsi, %rsi + 0x0f, 0x85, 0x8d, 0x00, 0x00, 0x00, //0x000016ae jne LBB0_288 + //0x000016b4 LBB0_273 + 0x48, 0x85, 0xd2, //0x000016b4 testq %rdx, %rdx + 0x0f, 0x85, 0xec, 0x10, 0x00, 0x00, //0x000016b7 jne LBB0_456 + 0x49, 0x83, 0xc2, 0xc0, //0x000016bd addq $-64, %r10 + 0x49, 0x83, 0xc3, 0x40, //0x000016c1 addq $64, %r11 + 0x49, 0x83, 0xfa, 0x3f, //0x000016c5 cmpq $63, %r10 + 0x0f, 0x87, 0xb1, 0xfe, 0xff, 0xff, //0x000016c9 ja LBB0_269 + 0xe9, 0x1a, 0x07, 0x00, 0x00, //0x000016cf jmp LBB0_275 + //0x000016d4 LBB0_287 + 0x4c, 0x89, 0xc8, //0x000016d4 movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000016d7 notq %rax + 0x4c, 0x21, 0xe8, //0x000016da andq %r13, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x000016dd leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x000016e1 orq %r9, %rcx + 0x48, 0x89, 0xcf, //0x000016e4 movq %rcx, %rdi + 0x48, 0xf7, 0xd7, //0x000016e7 notq %rdi + 0x4c, 0x21, 0xef, //0x000016ea andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000016ed movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x000016f7 andq %rbx, %rdi + 0x45, 0x31, 0xc9, //0x000016fa xorl %r9d, %r9d + 0x48, 0x01, 0xc7, //0x000016fd addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc1, //0x00001700 setb %r9b + 0x48, 0x01, 0xff, //0x00001704 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00001707 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00001711 xorq %rax, %rdi + 0x48, 0x21, 0xcf, //0x00001714 andq %rcx, %rdi + 0x48, 0xf7, 0xd7, //0x00001717 notq %rdi + 0x48, 0x21, 0xfe, //0x0000171a andq %rdi, %rsi + 0x4c, 0x09, 0xf2, //0x0000171d orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00001720 testq %rsi, %rsi + 0x0f, 0x84, 0x8b, 0xff, 0xff, 0xff, //0x00001723 je LBB0_273 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00001729 jmp LBB0_288 + //0x0000172e LBB0_286 + 0x4c, 0x89, 0xd8, //0x0000172e movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00001731 subq $-48(%rbp), %rax + 0x4d, 0x0f, 0xbc, 0xc5, //0x00001735 bsfq %r13, %r8 + 0x49, 0x01, 0xc0, //0x00001739 addq %rax, %r8 + 0xe9, 0x51, 0xff, 0xff, 0xff, //0x0000173c jmp LBB0_271 + //0x00001741 LBB0_288 + 0x48, 0x0f, 0xbc, 0xc6, //0x00001741 bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00001745 testq %rdx, %rdx + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001748 movq $-48(%rbp), %r9 + 0x0f, 0x84, 0x8f, 0x00, 0x00, 0x00, //0x0000174c je LBB0_301 + 0x48, 0x0f, 0xbc, 0xca, //0x00001752 bsfq %rdx, %rcx + 0xe9, 0x8b, 0x00, 0x00, 0x00, //0x00001756 jmp LBB0_302 + //0x0000175b LBB0_290 + 0x49, 0x01, 0xcd, //0x0000175b addq %rcx, %r13 + 0x4d, 0x89, 0xe8, //0x0000175e movq %r13, %r8 + 0x48, 0x8b, 0x7d, 0xb8, //0x00001761 movq $-72(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb0, //0x00001765 movq $-80(%rbp), %rbx + //0x00001769 LBB0_291 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001769 movq $-1, %r11 + 0x48, 0x85, 0xff, //0x00001770 testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001773 movq $-56(%rbp), %rsi + 0x0f, 0x84, 0xf2, 0x0e, 0x00, 0x00, //0x00001777 je LBB0_438 + //0x0000177d LBB0_292 + 0x48, 0x85, 0xdb, //0x0000177d testq %rbx, %rbx + 0x0f, 0x84, 0xe9, 0x0e, 0x00, 0x00, //0x00001780 je LBB0_438 + 0x4d, 0x85, 0xf6, //0x00001786 testq %r14, %r14 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001789 movq $-48(%rbp), %r9 + 0x0f, 0x84, 0xdc, 0x0e, 0x00, 0x00, //0x0000178d je LBB0_438 + 0x4d, 0x29, 0xe0, //0x00001793 subq %r12, %r8 + 0x49, 0x8d, 0x40, 0xff, //0x00001796 leaq $-1(%r8), %rax + 0x48, 0x39, 0xc7, //0x0000179a cmpq %rax, %rdi + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x0000179d je LBB0_300 + 0x49, 0x39, 0xc6, //0x000017a3 cmpq %rax, %r14 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x000017a6 je LBB0_300 + 0x48, 0x39, 0xc3, //0x000017ac cmpq %rax, %rbx + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x000017af je LBB0_300 + 0x48, 0x85, 0xdb, //0x000017b5 testq %rbx, %rbx + 0x0f, 0x8e, 0x72, 0x00, 0x00, 0x00, //0x000017b8 jle LBB0_307 + 0x48, 0x8d, 0x43, 0xff, //0x000017be leaq $-1(%rbx), %rax + 0x48, 0x39, 0xc7, //0x000017c2 cmpq %rax, %rdi + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x000017c5 je LBB0_307 + 0x48, 0xf7, 0xd3, //0x000017cb notq %rbx + 0x49, 0x89, 0xdb, //0x000017ce movq %rbx, %r11 + 0xe9, 0x55, 0x05, 0x00, 0x00, //0x000017d1 jmp LBB0_340 + //0x000017d6 LBB0_300 + 0x49, 0xf7, 0xd8, //0x000017d6 negq %r8 + 0x4d, 0x89, 0xc3, //0x000017d9 movq %r8, %r11 + 0xe9, 0x4a, 0x05, 0x00, 0x00, //0x000017dc jmp LBB0_340 + //0x000017e1 LBB0_301 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000017e1 movl $64, %ecx + //0x000017e6 LBB0_302 + 0x48, 0x8b, 0x75, 0xc8, //0x000017e6 movq $-56(%rbp), %rsi + 0x48, 0x8b, 0x7d, 0xb8, //0x000017ea movq $-72(%rbp), %rdi + 0x4d, 0x29, 0xcb, //0x000017ee subq %r9, %r11 + 0x48, 0x39, 0xc1, //0x000017f1 cmpq %rax, %rcx + 0x0f, 0x82, 0xff, 0x0f, 0x00, 0x00, //0x000017f4 jb LBB0_185 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x000017fa leaq $1(%r11,%rax), %r11 + //0x000017ff LBB0_304 + 0x4d, 0x85, 0xdb, //0x000017ff testq %r11, %r11 + 0x0f, 0x88, 0x6f, 0x0e, 0x00, 0x00, //0x00001802 js LBB0_441 + //0x00001808 LBB0_305 + 0x4c, 0x89, 0x1e, //0x00001808 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x0000180b movq %r15, %rax + 0x48, 0x83, 0x7d, 0xc0, 0x00, //0x0000180e cmpq $0, $-64(%rbp) + 0x0f, 0x8f, 0x7b, 0xe9, 0xff, 0xff, //0x00001813 jg LBB0_4 + 0xe9, 0xd6, 0x0d, 0x00, 0x00, //0x00001819 jmp LBB0_427 + //0x0000181e LBB0_306 + 0x4d, 0x29, 0xd6, //0x0000181e subq %r10, %r14 + 0x44, 0x0f, 0xbc, 0xde, //0x00001821 bsfl %esi, %r11d + 0x4d, 0x01, 0xf3, //0x00001825 addq %r14, %r11 + 0x49, 0xf7, 0xd3, //0x00001828 notq %r11 + 0xe9, 0xbe, 0x04, 0x00, 0x00, //0x0000182b jmp LBB0_334 + //0x00001830 LBB0_307 + 0x4c, 0x89, 0xf0, //0x00001830 movq %r14, %rax + 0x48, 0x09, 0xf8, //0x00001833 orq %rdi, %rax + 0x49, 0x39, 0xfe, //0x00001836 cmpq %rdi, %r14 + 0x0f, 0x8c, 0x93, 0x01, 0x00, 0x00, //0x00001839 jl LBB0_310 + 0x48, 0x85, 0xc0, //0x0000183f testq %rax, %rax + 0x0f, 0x88, 0x8a, 0x01, 0x00, 0x00, //0x00001842 js LBB0_310 + 0x49, 0xf7, 0xd6, //0x00001848 notq %r14 + 0x4d, 0x89, 0xf3, //0x0000184b movq %r14, %r11 + 0xe9, 0xd8, 0x04, 0x00, 0x00, //0x0000184e jmp LBB0_340 + //0x00001853 LBB0_50 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00001853 movq $-80(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xb8, //0x00001857 movq $-72(%rbp), %r13 + 0x49, 0x83, 0xfd, 0x20, //0x0000185b cmpq $32, %r13 + 0x0f, 0x82, 0x57, 0x09, 0x00, 0x00, //0x0000185f jb LBB0_374 + //0x00001865 LBB0_51 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001865 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x0000186a movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001870 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001874 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xfd, //0x00001878 pmovmskb %xmm5, %edi + 0x66, 0x0f, 0x6f, 0xec, //0x0000187c movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001880 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001884 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x74, 0xd9, //0x00001888 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x0000188c pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x00001890 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00001894 pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001898 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x0000189c shlq $16, %rax + 0x48, 0x09, 0xc1, //0x000018a0 orq %rax, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x000018a3 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000018a7 jne LBB0_53 + 0x48, 0x85, 0xc9, //0x000018ad testq %rcx, %rcx + 0x0f, 0x85, 0xa5, 0x08, 0x00, 0x00, //0x000018b0 jne LBB0_371 + //0x000018b6 LBB0_53 + 0x48, 0x09, 0xfa, //0x000018b6 orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x000018b9 movq %rcx, %rax + 0x4c, 0x09, 0xc0, //0x000018bc orq %r8, %rax + 0x0f, 0x85, 0xb3, 0x08, 0x00, 0x00, //0x000018bf jne LBB0_372 + //0x000018c5 LBB0_54 + 0x48, 0x85, 0xd2, //0x000018c5 testq %rdx, %rdx + 0x0f, 0x84, 0xe6, 0x08, 0x00, 0x00, //0x000018c8 je LBB0_373 + //0x000018ce LBB0_55 + 0x48, 0x0f, 0xbc, 0xc2, //0x000018ce bsfq %rdx, %rax + 0xe9, 0xae, 0xec, 0xff, 0xff, //0x000018d2 jmp LBB0_59 + //0x000018d7 LBB0_113 + 0x4d, 0x89, 0xc3, //0x000018d7 movq %r8, %r11 + 0x48, 0x8b, 0x45, 0xb8, //0x000018da movq $-72(%rbp), %rax + 0x4d, 0x89, 0xd5, //0x000018de movq %r10, %r13 + 0x48, 0x83, 0xf8, 0x20, //0x000018e1 cmpq $32, %rax + 0x0f, 0x82, 0x0c, 0x07, 0x00, 0x00, //0x000018e5 jb LBB0_357 + //0x000018eb LBB0_114 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x000018eb movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x000018f0 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x000018f6 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x000018fa pcmpeqb %xmm0, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xc5, //0x000018fe pmovmskb %xmm5, %r8d + 0x66, 0x0f, 0x6f, 0xec, //0x00001903 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001907 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x0000190b pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x6f, 0xeb, //0x0000190f movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001913 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001917 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xec, //0x0000191b movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x0000191f pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xcd, //0x00001923 pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xea, //0x00001927 movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x0000192b pcmpgtb %xmm3, %xmm5 + 0x66, 0x41, 0x0f, 0x64, 0xde, //0x0000192f pcmpgtb %xmm14, %xmm3 + 0x66, 0x0f, 0xdb, 0xdd, //0x00001934 pand %xmm5, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001938 pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x0000193d movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001941 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001945 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x0000194a pand %xmm3, %xmm4 + 0x66, 0x44, 0x0f, 0xd7, 0xd4, //0x0000194e pmovmskb %xmm4, %r10d + 0x48, 0xc1, 0xe6, 0x10, //0x00001953 shlq $16, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00001957 shlq $16, %rcx + 0x48, 0x09, 0xca, //0x0000195b orq %rcx, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x0000195e cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001962 jne LBB0_116 + 0x48, 0x85, 0xd2, //0x00001968 testq %rdx, %rdx + 0x0f, 0x85, 0xd1, 0x08, 0x00, 0x00, //0x0000196b jne LBB0_382 + //0x00001971 LBB0_116 + 0x49, 0xc1, 0xe2, 0x10, //0x00001971 shlq $16, %r10 + 0x4c, 0x09, 0xc6, //0x00001975 orq %r8, %rsi + 0x48, 0x89, 0xd1, //0x00001978 movq %rdx, %rcx + 0x48, 0x09, 0xd9, //0x0000197b orq %rbx, %rcx + 0x0f, 0x85, 0x9b, 0x07, 0x00, 0x00, //0x0000197e jne LBB0_370 + //0x00001984 LBB0_117 + 0x48, 0x8b, 0x7d, 0xc0, //0x00001984 movq $-64(%rbp), %rdi + 0x4d, 0x09, 0xf2, //0x00001988 orq %r14, %r10 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x0000198b movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001990 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001995 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001998 je LBB0_119 + 0x48, 0x0f, 0xbc, 0xd6, //0x0000199e bsfq %rsi, %rdx + //0x000019a2 LBB0_119 + 0x4d, 0x85, 0xd2, //0x000019a2 testq %r10, %r10 + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x000019a5 je LBB0_121 + 0x49, 0x0f, 0xbc, 0xca, //0x000019ab bsfq %r10, %rcx + //0x000019af LBB0_121 + 0x48, 0x85, 0xf6, //0x000019af testq %rsi, %rsi + 0x0f, 0x84, 0xe0, 0x01, 0x00, 0x00, //0x000019b2 je LBB0_313 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000019b8 subq $-48(%rbp), %r11 + 0x48, 0x39, 0xd1, //0x000019bc cmpq %rdx, %rcx + 0x0f, 0x82, 0x22, 0x0e, 0x00, 0x00, //0x000019bf jb LBB0_149 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x000019c5 leaq $1(%r11,%rdx), %r11 + 0x4d, 0x89, 0xea, //0x000019ca movq %r13, %r10 + 0xe9, 0xc0, 0xf5, 0xff, 0xff, //0x000019cd jmp LBB0_188 + //0x000019d2 LBB0_310 + 0x48, 0x85, 0xc0, //0x000019d2 testq %rax, %rax + 0x48, 0x8d, 0x47, 0xff, //0x000019d5 leaq $-1(%rdi), %rax + 0x48, 0xf7, 0xd7, //0x000019d9 notq %rdi + 0x49, 0x0f, 0x48, 0xf8, //0x000019dc cmovsq %r8, %rdi + 0x49, 0x39, 0xc6, //0x000019e0 cmpq %rax, %r14 + 0x49, 0x0f, 0x45, 0xf8, //0x000019e3 cmovneq %r8, %rdi + 0x49, 0x89, 0xfb, //0x000019e7 movq %rdi, %r11 + 0xe9, 0x3c, 0x03, 0x00, 0x00, //0x000019ea jmp LBB0_340 + //0x000019ef LBB0_311 + 0x48, 0xf7, 0xd0, //0x000019ef notq %rax + 0x49, 0x89, 0xc3, //0x000019f2 movq %rax, %r11 + 0xe9, 0xf4, 0x02, 0x00, 0x00, //0x000019f5 jmp LBB0_334 + //0x000019fa LBB0_312 + 0x49, 0x89, 0xc3, //0x000019fa movq %rax, %r11 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000019fd movq $-1, %rax + 0x4d, 0x85, 0xe4, //0x00001a04 testq %r12, %r12 + 0x48, 0x8b, 0x75, 0xc8, //0x00001a07 movq $-56(%rbp), %rsi + 0x0f, 0x85, 0xad, 0xf2, 0xff, 0xff, //0x00001a0b jne LBB0_153 + 0xe9, 0xce, 0x0b, 0x00, 0x00, //0x00001a11 jmp LBB0_424 + //0x00001a16 LBB0_136 + 0x4c, 0x8b, 0x9d, 0x70, 0xff, 0xff, 0xff, //0x00001a16 movq $-144(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xb0, //0x00001a1d movq $-80(%rbp), %r13 + 0x49, 0x83, 0xfd, 0x20, //0x00001a21 cmpq $32, %r13 + 0x0f, 0x82, 0xf9, 0x08, 0x00, 0x00, //0x00001a25 jb LBB0_389 + //0x00001a2b LBB0_137 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001a2b movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001a30 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001a36 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001a3a pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xfd, //0x00001a3e pmovmskb %xmm5, %edi + 0x66, 0x0f, 0x6f, 0xec, //0x00001a42 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001a46 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001a4a pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x74, 0xd9, //0x00001a4e pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00001a52 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x00001a56 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00001a5a pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001a5e shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001a62 shlq $16, %rax + 0x48, 0x09, 0xc1, //0x00001a66 orq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001a69 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001a6d jne LBB0_139 + 0x48, 0x85, 0xc9, //0x00001a73 testq %rcx, %rcx + 0x0f, 0x85, 0x47, 0x08, 0x00, 0x00, //0x00001a76 jne LBB0_386 + //0x00001a7c LBB0_139 + 0x48, 0x09, 0xfa, //0x00001a7c orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x00001a7f movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x00001a82 orq %r9, %rax + 0x0f, 0x85, 0x55, 0x08, 0x00, 0x00, //0x00001a85 jne LBB0_387 + //0x00001a8b LBB0_140 + 0x48, 0x85, 0xd2, //0x00001a8b testq %rdx, %rdx + 0x0f, 0x84, 0x88, 0x08, 0x00, 0x00, //0x00001a8e je LBB0_388 + //0x00001a94 LBB0_141 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001a94 bsfq %rdx, %rax + 0xe9, 0xc8, 0xf1, 0xff, 0xff, //0x00001a98 jmp LBB0_145 + //0x00001a9d LBB0_170 + 0x4d, 0x89, 0xe3, //0x00001a9d movq %r12, %r11 + 0x48, 0x8b, 0x45, 0xb0, //0x00001aa0 movq $-80(%rbp), %rax + 0x48, 0x83, 0xf8, 0x20, //0x00001aa4 cmpq $32, %rax + 0x0f, 0x82, 0xc7, 0x05, 0x00, 0x00, //0x00001aa8 jb LBB0_364 + //0x00001aae LBB0_171 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001aae movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001ab3 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001ab9 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001abd pcmpeqb %xmm0, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xcd, //0x00001ac1 pmovmskb %xmm5, %r9d + 0x66, 0x0f, 0x6f, 0xec, //0x00001ac6 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001aca pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00001ace pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x6f, 0xeb, //0x00001ad2 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001ad6 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001ada pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xec, //0x00001ade movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001ae2 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xcd, //0x00001ae6 pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xea, //0x00001aea movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x00001aee pcmpgtb %xmm3, %xmm5 + 0x66, 0x41, 0x0f, 0x64, 0xde, //0x00001af2 pcmpgtb %xmm14, %xmm3 + 0x66, 0x0f, 0xdb, 0xdd, //0x00001af7 pand %xmm5, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001afb pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x00001b00 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001b04 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001b08 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00001b0d pand %xmm3, %xmm4 + 0x66, 0x0f, 0xd7, 0xfc, //0x00001b11 pmovmskb %xmm4, %edi + 0x48, 0xc1, 0xe3, 0x10, //0x00001b15 shlq $16, %rbx + 0x48, 0xc1, 0xe1, 0x10, //0x00001b19 shlq $16, %rcx + 0x48, 0x09, 0xca, //0x00001b1d orq %rcx, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001b20 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001b24 jne LBB0_173 + 0x48, 0x85, 0xd2, //0x00001b2a testq %rdx, %rdx + 0x0f, 0x85, 0x7e, 0x08, 0x00, 0x00, //0x00001b2d jne LBB0_397 + //0x00001b33 LBB0_173 + 0x48, 0xc1, 0xe7, 0x10, //0x00001b33 shlq $16, %rdi + 0x4c, 0x09, 0xcb, //0x00001b37 orq %r9, %rbx + 0x48, 0x89, 0xd1, //0x00001b3a movq %rdx, %rcx + 0x4c, 0x09, 0xd1, //0x00001b3d orq %r10, %rcx + 0x0f, 0x85, 0x0f, 0x07, 0x00, 0x00, //0x00001b40 jne LBB0_383 + //0x00001b46 LBB0_174 + 0x48, 0x8b, 0x75, 0xc8, //0x00001b46 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001b4a movq $-48(%rbp), %r9 + 0x4c, 0x09, 0xf7, //0x00001b4e orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001b51 movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001b56 movl $64, %edx + 0x48, 0x85, 0xdb, //0x00001b5b testq %rbx, %rbx + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001b5e je LBB0_176 + 0x48, 0x0f, 0xbc, 0xd3, //0x00001b64 bsfq %rbx, %rdx + //0x00001b68 LBB0_176 + 0x48, 0x85, 0xff, //0x00001b68 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001b6b je LBB0_178 + 0x48, 0x0f, 0xbc, 0xcf, //0x00001b71 bsfq %rdi, %rcx + //0x00001b75 LBB0_178 + 0x48, 0x85, 0xdb, //0x00001b75 testq %rbx, %rbx + 0x0f, 0x84, 0xcd, 0x00, 0x00, 0x00, //0x00001b78 je LBB0_324 + 0x4d, 0x29, 0xcb, //0x00001b7e subq %r9, %r11 + 0x48, 0x39, 0xd1, //0x00001b81 cmpq %rdx, %rcx + 0x0f, 0x82, 0x6f, 0x0c, 0x00, 0x00, //0x00001b84 jb LBB0_185 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001b8a leaq $1(%r11,%rdx), %r11 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001b8f movq $-72(%rbp), %r10 + 0xe9, 0x65, 0xf4, 0xff, 0xff, //0x00001b93 jmp LBB0_195 + //0x00001b98 LBB0_313 + 0x4d, 0x85, 0xd2, //0x00001b98 testq %r10, %r10 + 0x0f, 0x85, 0x82, 0x0c, 0x00, 0x00, //0x00001b9b jne LBB0_467 + 0x49, 0x83, 0xc3, 0x20, //0x00001ba1 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001ba5 addq $-32, %rax + 0x48, 0x85, 0xdb, //0x00001ba9 testq %rbx, %rbx + 0x0f, 0x85, 0x52, 0x04, 0x00, 0x00, //0x00001bac jne LBB0_358 + //0x00001bb2 LBB0_315 + 0x4d, 0x89, 0xea, //0x00001bb2 movq %r13, %r10 + 0x48, 0x85, 0xc0, //0x00001bb5 testq %rax, %rax + 0x0f, 0x84, 0x08, 0x0a, 0x00, 0x00, //0x00001bb8 je LBB0_420 + //0x00001bbe LBB0_316 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001bbe movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001bc2 cmpb $34, %cl + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x00001bc5 je LBB0_323 + 0x80, 0xf9, 0x5c, //0x00001bcb cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001bce je LBB0_320 + 0x80, 0xf9, 0x1f, //0x00001bd4 cmpb $31, %cl + 0x0f, 0x86, 0x4f, 0x0c, 0x00, 0x00, //0x00001bd7 jbe LBB0_468 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001bdd movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001be4 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001be9 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001bec addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001bef jne LBB0_316 + 0xe9, 0xcc, 0x09, 0x00, 0x00, //0x00001bf5 jmp LBB0_420 + //0x00001bfa LBB0_320 + 0x48, 0x83, 0xf8, 0x01, //0x00001bfa cmpq $1, %rax + 0x0f, 0x84, 0x5d, 0x0c, 0x00, 0x00, //0x00001bfe je LBB0_473 + 0x4c, 0x89, 0xd9, //0x00001c04 movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x00001c07 subq $-48(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001c0b cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001c0f cmoveq %rcx, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001c13 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001c1a movl $2, %edx + 0x48, 0x8b, 0x7d, 0xc0, //0x00001c1f movq $-64(%rbp), %rdi + 0x4d, 0x89, 0xea, //0x00001c23 movq %r13, %r10 + 0x49, 0x01, 0xd3, //0x00001c26 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001c29 addq %rcx, %rax + 0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x00001c2c jne LBB0_316 + 0xe9, 0x8f, 0x09, 0x00, 0x00, //0x00001c32 jmp LBB0_420 + //0x00001c37 LBB0_322 + 0x48, 0xf7, 0xd6, //0x00001c37 notq %rsi + 0x49, 0x89, 0xf3, //0x00001c3a movq %rsi, %r11 + 0xe9, 0xac, 0x00, 0x00, 0x00, //0x00001c3d jmp LBB0_334 + //0x00001c42 LBB0_323 + 0x4c, 0x03, 0x5d, 0xa0, //0x00001c42 addq $-96(%rbp), %r11 + 0xe9, 0x47, 0xf3, 0xff, 0xff, //0x00001c46 jmp LBB0_188 + //0x00001c4b LBB0_324 + 0x48, 0x85, 0xff, //0x00001c4b testq %rdi, %rdi + 0x0f, 0x85, 0xe9, 0x0b, 0x00, 0x00, //0x00001c4e jne LBB0_470 + 0x49, 0x83, 0xc3, 0x20, //0x00001c54 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001c58 addq $-32, %rax + 0x4d, 0x85, 0xd2, //0x00001c5c testq %r10, %r10 + 0x0f, 0x85, 0x21, 0x04, 0x00, 0x00, //0x00001c5f jne LBB0_365 + //0x00001c65 LBB0_326 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001c65 movq $-72(%rbp), %r10 + 0x48, 0x85, 0xc0, //0x00001c69 testq %rax, %rax + 0x0f, 0x84, 0x9b, 0x09, 0x00, 0x00, //0x00001c6c je LBB0_429 + //0x00001c72 LBB0_327 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001c72 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001c76 cmpb $34, %cl + 0x0f, 0x84, 0xd0, 0x00, 0x00, 0x00, //0x00001c79 je LBB0_342 + 0x80, 0xf9, 0x5c, //0x00001c7f cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001c82 je LBB0_331 + 0x80, 0xf9, 0x1f, //0x00001c88 cmpb $31, %cl + 0x0f, 0x86, 0xa4, 0x0b, 0x00, 0x00, //0x00001c8b jbe LBB0_469 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001c91 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001c98 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001c9d addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001ca0 addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001ca3 jne LBB0_327 + 0xe9, 0x5f, 0x09, 0x00, 0x00, //0x00001ca9 jmp LBB0_429 + //0x00001cae LBB0_331 + 0x48, 0x83, 0xf8, 0x01, //0x00001cae cmpq $1, %rax + 0x0f, 0x84, 0xb1, 0x0b, 0x00, 0x00, //0x00001cb2 je LBB0_475 + 0x4c, 0x89, 0xd9, //0x00001cb8 movq %r11, %rcx + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001cbb movq $-48(%rbp), %r9 + 0x4c, 0x29, 0xc9, //0x00001cbf subq %r9, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001cc2 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00001cc6 cmoveq %rcx, %r8 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001cca movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001cd1 movl $2, %edx + 0x48, 0x8b, 0x75, 0xc8, //0x00001cd6 movq $-56(%rbp), %rsi + 0x49, 0x01, 0xd3, //0x00001cda addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001cdd addq %rcx, %rax + 0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x00001ce0 jne LBB0_327 + 0xe9, 0x22, 0x09, 0x00, 0x00, //0x00001ce6 jmp LBB0_429 + //0x00001ceb LBB0_333 + 0x49, 0xf7, 0xdb, //0x00001ceb negq %r11 + //0x00001cee LBB0_334 + 0x48, 0x8b, 0x75, 0xc8, //0x00001cee movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001cf2 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xdb, //0x00001cf6 testq %r11, %r11 + 0x0f, 0x88, 0xe2, 0x08, 0x00, 0x00, //0x00001cf9 js LBB0_423 + //0x00001cff LBB0_335 + 0x4d, 0x01, 0xfb, //0x00001cff addq %r15, %r11 + //0x00001d02 LBB0_336 + 0x4c, 0x89, 0x1e, //0x00001d02 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00001d05 movq %r15, %rax + 0x4d, 0x85, 0xff, //0x00001d08 testq %r15, %r15 + 0x0f, 0x89, 0x83, 0xe4, 0xff, 0xff, //0x00001d0b jns LBB0_4 + 0xe9, 0xde, 0x08, 0x00, 0x00, //0x00001d11 jmp LBB0_427 + //0x00001d16 LBB0_337 + 0x4d, 0x29, 0xe5, //0x00001d16 subq %r12, %r13 + 0x44, 0x0f, 0xbc, 0xdf, //0x00001d19 bsfl %edi, %r11d + 0x4d, 0x01, 0xeb, //0x00001d1d addq %r13, %r11 + //0x00001d20 LBB0_338 + 0x49, 0xf7, 0xd3, //0x00001d20 notq %r11 + //0x00001d23 LBB0_339 + 0x48, 0x8b, 0x75, 0xc8, //0x00001d23 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001d27 movq $-48(%rbp), %r9 + //0x00001d2b LBB0_340 + 0x4d, 0x85, 0xdb, //0x00001d2b testq %r11, %r11 + 0x0f, 0x88, 0x3b, 0x09, 0x00, 0x00, //0x00001d2e js LBB0_438 + //0x00001d34 LBB0_341 + 0x48, 0x8b, 0x4d, 0xc0, //0x00001d34 movq $-64(%rbp), %rcx + 0x49, 0x01, 0xcb, //0x00001d38 addq %rcx, %r11 + 0x4c, 0x89, 0x1e, //0x00001d3b movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00001d3e movq %r15, %rax + 0x48, 0x85, 0xc9, //0x00001d41 testq %rcx, %rcx + 0x0f, 0x8f, 0x4a, 0xe4, 0xff, 0xff, //0x00001d44 jg LBB0_4 + 0xe9, 0xa5, 0x08, 0x00, 0x00, //0x00001d4a jmp LBB0_427 + //0x00001d4f LBB0_342 + 0x4c, 0x03, 0x5d, 0xa0, //0x00001d4f addq $-96(%rbp), %r11 + 0xe9, 0xa5, 0xf2, 0xff, 0xff, //0x00001d53 jmp LBB0_195 + //0x00001d58 LBB0_208 + 0x4d, 0x89, 0xe3, //0x00001d58 movq %r12, %r11 + 0x4c, 0x8b, 0x55, 0xb0, //0x00001d5b movq $-80(%rbp), %r10 + 0x49, 0x83, 0xfa, 0x20, //0x00001d5f cmpq $32, %r10 + 0x48, 0x8b, 0x7d, 0xb8, //0x00001d63 movq $-72(%rbp), %rdi + 0x0f, 0x82, 0x2c, 0x07, 0x00, 0x00, //0x00001d67 jb LBB0_404 + //0x00001d6d LBB0_209 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001d6d movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001d72 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001d78 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001d7c pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x00001d80 pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x6f, 0xec, //0x00001d84 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001d88 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001d8c pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x74, 0xd9, //0x00001d90 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00001d94 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x00001d98 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00001d9c pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001da0 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001da4 shlq $16, %rax + 0x48, 0x09, 0xc1, //0x00001da8 orq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001dab cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001daf jne LBB0_211 + 0x48, 0x85, 0xc9, //0x00001db5 testq %rcx, %rcx + 0x0f, 0x85, 0x75, 0x06, 0x00, 0x00, //0x00001db8 jne LBB0_401 + //0x00001dbe LBB0_211 + 0x48, 0x09, 0xf2, //0x00001dbe orq %rsi, %rdx + 0x48, 0x89, 0xc8, //0x00001dc1 movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x00001dc4 orq %r9, %rax + 0x0f, 0x85, 0x83, 0x06, 0x00, 0x00, //0x00001dc7 jne LBB0_402 + //0x00001dcd LBB0_212 + 0x48, 0x85, 0xd2, //0x00001dcd testq %rdx, %rdx + 0x0f, 0x84, 0xbb, 0x06, 0x00, 0x00, //0x00001dd0 je LBB0_403 + //0x00001dd6 LBB0_213 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001dd6 bsfq %rdx, %rax + 0x4c, 0x03, 0x5d, 0xa0, //0x00001dda addq $-96(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00001dde addq %rax, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x00001de1 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001de5 movq $-48(%rbp), %r9 + 0xe9, 0x11, 0xfa, 0xff, 0xff, //0x00001de9 jmp LBB0_304 + //0x00001dee LBB0_275 + 0x4d, 0x89, 0xe3, //0x00001dee movq %r12, %r11 + 0x4c, 0x8b, 0x55, 0xb0, //0x00001df1 movq $-80(%rbp), %r10 + 0x49, 0x83, 0xfa, 0x20, //0x00001df5 cmpq $32, %r10 + 0x48, 0x8b, 0x7d, 0xb8, //0x00001df9 movq $-72(%rbp), %rdi + 0x0f, 0x82, 0x32, 0x01, 0x00, 0x00, //0x00001dfd jb LBB0_347 + //0x00001e03 LBB0_276 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001e03 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001e08 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001e0e movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001e12 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xcd, //0x00001e16 pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xec, //0x00001e1a movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001e1e pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x00001e22 pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x6f, 0xeb, //0x00001e26 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001e2a pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001e2e pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xec, //0x00001e32 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001e36 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xc5, //0x00001e3a pmovmskb %xmm5, %eax + 0x66, 0x0f, 0x6f, 0xea, //0x00001e3e movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x00001e42 pcmpgtb %xmm3, %xmm5 + 0x66, 0x41, 0x0f, 0x64, 0xde, //0x00001e46 pcmpgtb %xmm14, %xmm3 + 0x66, 0x0f, 0xdb, 0xdd, //0x00001e4b pand %xmm5, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001e4f pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x00001e54 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001e58 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001e5c pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00001e61 pand %xmm3, %xmm4 + 0x66, 0x0f, 0xd7, 0xdc, //0x00001e65 pmovmskb %xmm4, %ebx + 0x48, 0xc1, 0xe6, 0x10, //0x00001e69 shlq $16, %rsi + 0x48, 0xc1, 0xe0, 0x10, //0x00001e6d shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00001e71 orq %rax, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001e74 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001e78 jne LBB0_278 + 0x48, 0x85, 0xd2, //0x00001e7e testq %rdx, %rdx + 0x0f, 0x85, 0x9f, 0x06, 0x00, 0x00, //0x00001e81 jne LBB0_412 + //0x00001e87 LBB0_278 + 0x48, 0xc1, 0xe3, 0x10, //0x00001e87 shlq $16, %rbx + 0x48, 0x09, 0xce, //0x00001e8b orq %rcx, %rsi + 0x48, 0x89, 0xd0, //0x00001e8e movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00001e91 orq %r9, %rax + 0x0f, 0x85, 0x5e, 0x05, 0x00, 0x00, //0x00001e94 jne LBB0_400 + //0x00001e9a LBB0_279 + 0x4c, 0x09, 0xf3, //0x00001e9a orq %r14, %rbx + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001e9d movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001ea2 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001ea7 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001eaa je LBB0_281 + 0x48, 0x0f, 0xbc, 0xd6, //0x00001eb0 bsfq %rsi, %rdx + //0x00001eb4 LBB0_281 + 0x48, 0x85, 0xdb, //0x00001eb4 testq %rbx, %rbx + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001eb7 je LBB0_283 + 0x48, 0x0f, 0xbc, 0xcb, //0x00001ebd bsfq %rbx, %rcx + //0x00001ec1 LBB0_283 + 0x48, 0x85, 0xf6, //0x00001ec1 testq %rsi, %rsi + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x00001ec4 je LBB0_345 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001eca movq $-48(%rbp), %r9 + 0x4d, 0x29, 0xcb, //0x00001ece subq %r9, %r11 + 0x48, 0x39, 0xd1, //0x00001ed1 cmpq %rdx, %rcx + 0x0f, 0x82, 0x6c, 0x09, 0x00, 0x00, //0x00001ed4 jb LBB0_471 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001eda leaq $1(%r11,%rdx), %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x00001edf movq $-56(%rbp), %rsi + 0xe9, 0x17, 0xf9, 0xff, 0xff, //0x00001ee3 jmp LBB0_304 + //0x00001ee8 LBB0_343 + 0x49, 0x89, 0xc8, //0x00001ee8 movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001eeb movq $-1, %r11 + 0x48, 0x85, 0xff, //0x00001ef2 testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001ef5 movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x7e, 0xf8, 0xff, 0xff, //0x00001ef9 jne LBB0_292 + 0xe9, 0x6b, 0x07, 0x00, 0x00, //0x00001eff jmp LBB0_438 + //0x00001f04 LBB0_344 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00001f04 movq $-1, %r13 + 0x4d, 0x89, 0xd3, //0x00001f0b movq %r10, %r11 + 0x49, 0x89, 0xf9, //0x00001f0e movq %rdi, %r9 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001f11 movq $-1, %r12 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00001f18 movq $-1, %rdi + 0xe9, 0xcc, 0xe8, 0xff, 0xff, //0x00001f1f jmp LBB0_92 + //0x00001f24 LBB0_345 + 0x48, 0x85, 0xdb, //0x00001f24 testq %rbx, %rbx + 0x0f, 0x85, 0x2b, 0x09, 0x00, 0x00, //0x00001f27 jne LBB0_472 + 0x49, 0x83, 0xc3, 0x20, //0x00001f2d addq $32, %r11 + 0x49, 0x83, 0xc2, 0xe0, //0x00001f31 addq $-32, %r10 + //0x00001f35 LBB0_347 + 0x4d, 0x85, 0xc9, //0x00001f35 testq %r9, %r9 + 0x0f, 0x85, 0x2f, 0x06, 0x00, 0x00, //0x00001f38 jne LBB0_415 + 0x48, 0x8b, 0x75, 0xc8, //0x00001f3e movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001f42 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x00001f46 testq %r10, %r10 + 0x0f, 0x84, 0x32, 0x07, 0x00, 0x00, //0x00001f49 je LBB0_442 + //0x00001f4f LBB0_349 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001f4f movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001f53 cmpb $34, %cl + 0x0f, 0x84, 0xdb, 0x00, 0x00, 0x00, //0x00001f56 je LBB0_360 + 0x80, 0xf9, 0x5c, //0x00001f5c cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001f5f je LBB0_353 + 0x80, 0xf9, 0x1f, //0x00001f65 cmpb $31, %cl + 0x0f, 0x86, 0xc7, 0x08, 0x00, 0x00, //0x00001f68 jbe LBB0_469 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001f6e movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001f75 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001f7a addq %rdx, %r11 + 0x49, 0x01, 0xca, //0x00001f7d addq %rcx, %r10 + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001f80 jne LBB0_349 + 0xe9, 0xf6, 0x06, 0x00, 0x00, //0x00001f86 jmp LBB0_442 + //0x00001f8b LBB0_353 + 0x49, 0x83, 0xfa, 0x01, //0x00001f8b cmpq $1, %r10 + 0x0f, 0x84, 0xea, 0x08, 0x00, 0x00, //0x00001f8f je LBB0_476 + 0x4c, 0x89, 0xd8, //0x00001f95 movq %r11, %rax + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001f98 movq $-48(%rbp), %r9 + 0x4c, 0x29, 0xc8, //0x00001f9c subq %r9, %rax + 0x49, 0x83, 0xf8, 0xff, //0x00001f9f cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x00001fa3 cmoveq %rax, %r8 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001fa7 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001fae movl $2, %edx + 0x48, 0x8b, 0x75, 0xc8, //0x00001fb3 movq $-56(%rbp), %rsi + 0x49, 0x01, 0xd3, //0x00001fb7 addq %rdx, %r11 + 0x49, 0x01, 0xca, //0x00001fba addq %rcx, %r10 + 0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x00001fbd jne LBB0_349 + 0xe9, 0xb9, 0x06, 0x00, 0x00, //0x00001fc3 jmp LBB0_442 + //0x00001fc8 LBB0_355 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001fc8 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001fcf xorl %r8d, %r8d + 0x49, 0x83, 0xfd, 0x20, //0x00001fd2 cmpq $32, %r13 + 0x0f, 0x83, 0x89, 0xf8, 0xff, 0xff, //0x00001fd6 jae LBB0_51 + 0xe9, 0xdb, 0x01, 0x00, 0x00, //0x00001fdc jmp LBB0_374 + //0x00001fe1 LBB0_356 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001fe1 movq $-1, %r9 + 0x31, 0xdb, //0x00001fe8 xorl %ebx, %ebx + 0x4d, 0x89, 0xd5, //0x00001fea movq %r10, %r13 + 0x48, 0x83, 0xf8, 0x20, //0x00001fed cmpq $32, %rax + 0x0f, 0x83, 0xf4, 0xf8, 0xff, 0xff, //0x00001ff1 jae LBB0_114 + //0x00001ff7 LBB0_357 + 0x48, 0x8b, 0x7d, 0xc0, //0x00001ff7 movq $-64(%rbp), %rdi + 0x48, 0x85, 0xdb, //0x00001ffb testq %rbx, %rbx + 0x0f, 0x84, 0xae, 0xfb, 0xff, 0xff, //0x00001ffe je LBB0_315 + //0x00002004 LBB0_358 + 0x48, 0x85, 0xc0, //0x00002004 testq %rax, %rax + 0x0f, 0x84, 0x54, 0x08, 0x00, 0x00, //0x00002007 je LBB0_473 + 0x48, 0x8b, 0x4d, 0xa8, //0x0000200d movq $-88(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x00002011 addq %r11, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00002014 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00002018 cmoveq %rcx, %r9 + 0x49, 0xff, 0xc3, //0x0000201c incq %r11 + 0x48, 0xff, 0xc8, //0x0000201f decq %rax + 0x48, 0x8b, 0x7d, 0xc0, //0x00002022 movq $-64(%rbp), %rdi + 0x4d, 0x89, 0xea, //0x00002026 movq %r13, %r10 + 0x48, 0x85, 0xc0, //0x00002029 testq %rax, %rax + 0x0f, 0x85, 0x8c, 0xfb, 0xff, 0xff, //0x0000202c jne LBB0_316 + 0xe9, 0x8f, 0x05, 0x00, 0x00, //0x00002032 jmp LBB0_420 + //0x00002037 LBB0_360 + 0x4c, 0x03, 0x5d, 0xa0, //0x00002037 addq $-96(%rbp), %r11 + 0xe9, 0xbf, 0xf7, 0xff, 0xff, //0x0000203b jmp LBB0_304 + //0x00002040 LBB0_361 + 0x49, 0xf7, 0xdb, //0x00002040 negq %r11 + 0xe9, 0xdb, 0xfc, 0xff, 0xff, //0x00002043 jmp LBB0_339 + //0x00002048 LBB0_362 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002048 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x0000204f xorl %r9d, %r9d + 0x49, 0x83, 0xfd, 0x20, //0x00002052 cmpq $32, %r13 + 0x0f, 0x83, 0xcf, 0xf9, 0xff, 0xff, //0x00002056 jae LBB0_137 + 0xe9, 0xc3, 0x02, 0x00, 0x00, //0x0000205c jmp LBB0_389 + //0x00002061 LBB0_363 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002061 movq $-1, %r8 + 0x45, 0x31, 0xd2, //0x00002068 xorl %r10d, %r10d + 0x48, 0x83, 0xf8, 0x20, //0x0000206b cmpq $32, %rax + 0x0f, 0x83, 0x39, 0xfa, 0xff, 0xff, //0x0000206f jae LBB0_171 + //0x00002075 LBB0_364 + 0x48, 0x8b, 0x75, 0xc8, //0x00002075 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002079 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x0000207d testq %r10, %r10 + 0x0f, 0x84, 0xdf, 0xfb, 0xff, 0xff, //0x00002080 je LBB0_326 + //0x00002086 LBB0_365 + 0x48, 0x85, 0xc0, //0x00002086 testq %rax, %rax + 0x0f, 0x84, 0xe3, 0x07, 0x00, 0x00, //0x00002089 je LBB0_474 + 0x48, 0x8b, 0x4d, 0xa8, //0x0000208f movq $-88(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x00002093 addq %r11, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00002096 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x0000209a cmoveq %rcx, %r8 + 0x49, 0xff, 0xc3, //0x0000209e incq %r11 + 0x48, 0xff, 0xc8, //0x000020a1 decq %rax + 0x48, 0x8b, 0x75, 0xc8, //0x000020a4 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x000020a8 movq $-48(%rbp), %r9 + 0x4c, 0x8b, 0x55, 0xb8, //0x000020ac movq $-72(%rbp), %r10 + 0x48, 0x85, 0xc0, //0x000020b0 testq %rax, %rax + 0x0f, 0x85, 0xb9, 0xfb, 0xff, 0xff, //0x000020b3 jne LBB0_327 + 0xe9, 0x4f, 0x05, 0x00, 0x00, //0x000020b9 jmp LBB0_429 + //0x000020be LBB0_367 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000020be movq $-1, %r14 + 0x4d, 0x89, 0xe0, //0x000020c5 movq %r12, %r8 + 0x4d, 0x89, 0xd1, //0x000020c8 movq %r10, %r9 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000020cb movq $-1, %rdi + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000020d2 movq $-1, %rbx + 0x48, 0x8d, 0x35, 0xb0, 0x09, 0x00, 0x00, //0x000020d9 leaq $2480(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0xe9, 0xf6, 0xf2, 0xff, 0xff, //0x000020e0 jmp LBB0_241 + //0x000020e5 LBB0_368 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000020e5 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x000020ec xorl %r9d, %r9d + 0x49, 0x83, 0xfa, 0x20, //0x000020ef cmpq $32, %r10 + 0x48, 0x8b, 0x7d, 0xb8, //0x000020f3 movq $-72(%rbp), %rdi + 0x0f, 0x83, 0x70, 0xfc, 0xff, 0xff, //0x000020f7 jae LBB0_209 + 0xe9, 0x97, 0x03, 0x00, 0x00, //0x000020fd jmp LBB0_404 + //0x00002102 LBB0_369 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002102 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00002109 xorl %r9d, %r9d + 0x49, 0x83, 0xfa, 0x20, //0x0000210c cmpq $32, %r10 + 0x48, 0x8b, 0x7d, 0xb8, //0x00002110 movq $-72(%rbp), %rdi + 0x0f, 0x83, 0xe9, 0xfc, 0xff, 0xff, //0x00002114 jae LBB0_276 + 0xe9, 0x16, 0xfe, 0xff, 0xff, //0x0000211a jmp LBB0_347 + //0x0000211f LBB0_370 + 0x41, 0x89, 0xdc, //0x0000211f movl %ebx, %r12d + 0x41, 0xf7, 0xd4, //0x00002122 notl %r12d + 0x41, 0x21, 0xd4, //0x00002125 andl %edx, %r12d + 0x47, 0x8d, 0x04, 0x24, //0x00002128 leal (%r12,%r12), %r8d + 0x41, 0x09, 0xd8, //0x0000212c orl %ebx, %r8d + 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000212f movl $2863311530, %ecx + 0x44, 0x31, 0xc1, //0x00002134 xorl %r8d, %ecx + 0x21, 0xd1, //0x00002137 andl %edx, %ecx + 0x81, 0xe1, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002139 andl $-1431655766, %ecx + 0x31, 0xdb, //0x0000213f xorl %ebx, %ebx + 0x44, 0x01, 0xe1, //0x00002141 addl %r12d, %ecx + 0x0f, 0x92, 0xc3, //0x00002144 setb %bl + 0x01, 0xc9, //0x00002147 addl %ecx, %ecx + 0x81, 0xf1, 0x55, 0x55, 0x55, 0x55, //0x00002149 xorl $1431655765, %ecx + 0x44, 0x21, 0xc1, //0x0000214f andl %r8d, %ecx + 0xf7, 0xd1, //0x00002152 notl %ecx + 0x21, 0xce, //0x00002154 andl %ecx, %esi + 0xe9, 0x29, 0xf8, 0xff, 0xff, //0x00002156 jmp LBB0_117 + //0x0000215b LBB0_371 + 0x4c, 0x89, 0xd8, //0x0000215b movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x0000215e subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc9, //0x00002162 bsfq %rcx, %r9 + 0x49, 0x01, 0xc1, //0x00002166 addq %rax, %r9 + 0x48, 0x09, 0xfa, //0x00002169 orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x0000216c movq %rcx, %rax + 0x4c, 0x09, 0xc0, //0x0000216f orq %r8, %rax + 0x0f, 0x84, 0x4d, 0xf7, 0xff, 0xff, //0x00002172 je LBB0_54 + //0x00002178 LBB0_372 + 0x44, 0x89, 0xc0, //0x00002178 movl %r8d, %eax + 0xf7, 0xd0, //0x0000217b notl %eax + 0x21, 0xc8, //0x0000217d andl %ecx, %eax + 0x8d, 0x34, 0x00, //0x0000217f leal (%rax,%rax), %esi + 0x44, 0x09, 0xc6, //0x00002182 orl %r8d, %esi + 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002185 movl $2863311530, %edi + 0x31, 0xf7, //0x0000218a xorl %esi, %edi + 0x21, 0xcf, //0x0000218c andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000218e andl $-1431655766, %edi + 0x45, 0x31, 0xc0, //0x00002194 xorl %r8d, %r8d + 0x01, 0xc7, //0x00002197 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc0, //0x00002199 setb %r8b + 0x01, 0xff, //0x0000219d addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x0000219f xorl $1431655765, %edi + 0x21, 0xf7, //0x000021a5 andl %esi, %edi + 0xf7, 0xd7, //0x000021a7 notl %edi + 0x21, 0xfa, //0x000021a9 andl %edi, %edx + 0x48, 0x85, 0xd2, //0x000021ab testq %rdx, %rdx + 0x0f, 0x85, 0x1a, 0xf7, 0xff, 0xff, //0x000021ae jne LBB0_55 + //0x000021b4 LBB0_373 + 0x49, 0x83, 0xc3, 0x20, //0x000021b4 addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x000021b8 addq $-32, %r13 + //0x000021bc LBB0_374 + 0x4d, 0x85, 0xc0, //0x000021bc testq %r8, %r8 + 0x0f, 0x85, 0xce, 0x00, 0x00, 0x00, //0x000021bf jne LBB0_384 + 0x48, 0x8b, 0x7d, 0xc0, //0x000021c5 movq $-64(%rbp), %rdi + 0x4d, 0x85, 0xed, //0x000021c9 testq %r13, %r13 + 0x0f, 0x84, 0xf4, 0x03, 0x00, 0x00, //0x000021cc je LBB0_420 + //0x000021d2 LBB0_376 + 0x49, 0x8d, 0x4b, 0x01, //0x000021d2 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x000021d6 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x000021da cmpb $34, %bl + 0x0f, 0x84, 0x53, 0x00, 0x00, 0x00, //0x000021dd je LBB0_381 + 0x49, 0x8d, 0x55, 0xff, //0x000021e3 leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x000021e7 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000021ea je LBB0_379 + 0x49, 0x89, 0xd5, //0x000021f0 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x000021f3 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x000021f6 testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x000021f9 jne LBB0_376 + 0xe9, 0xc2, 0x03, 0x00, 0x00, //0x000021ff jmp LBB0_420 + //0x00002204 LBB0_379 + 0x48, 0x85, 0xd2, //0x00002204 testq %rdx, %rdx + 0x0f, 0x84, 0xb9, 0x03, 0x00, 0x00, //0x00002207 je LBB0_420 + 0x48, 0x03, 0x4d, 0xa8, //0x0000220d addq $-88(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00002211 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00002215 cmoveq %rcx, %r9 + 0x49, 0x83, 0xc3, 0x02, //0x00002219 addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x0000221d addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x00002221 movq %r13, %rdx + 0x48, 0x8b, 0x7d, 0xc0, //0x00002224 movq $-64(%rbp), %rdi + 0x48, 0x85, 0xd2, //0x00002228 testq %rdx, %rdx + 0x0f, 0x85, 0xa1, 0xff, 0xff, 0xff, //0x0000222b jne LBB0_376 + 0xe9, 0x90, 0x03, 0x00, 0x00, //0x00002231 jmp LBB0_420 + //0x00002236 LBB0_381 + 0x48, 0x2b, 0x4d, 0xd0, //0x00002236 subq $-48(%rbp), %rcx + 0x49, 0x89, 0xcb, //0x0000223a movq %rcx, %r11 + 0xe9, 0x50, 0xed, 0xff, 0xff, //0x0000223d jmp LBB0_188 + //0x00002242 LBB0_382 + 0x4c, 0x89, 0xd9, //0x00002242 movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x00002245 subq $-48(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xca, //0x00002249 bsfq %rdx, %r9 + 0x49, 0x01, 0xc9, //0x0000224d addq %rcx, %r9 + 0xe9, 0x1c, 0xf7, 0xff, 0xff, //0x00002250 jmp LBB0_116 + //0x00002255 LBB0_383 + 0x45, 0x89, 0xd4, //0x00002255 movl %r10d, %r12d + 0x41, 0xf7, 0xd4, //0x00002258 notl %r12d + 0x41, 0x21, 0xd4, //0x0000225b andl %edx, %r12d + 0x47, 0x8d, 0x0c, 0x24, //0x0000225e leal (%r12,%r12), %r9d + 0x45, 0x09, 0xd1, //0x00002262 orl %r10d, %r9d + 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002265 movl $2863311530, %ecx + 0x44, 0x31, 0xc9, //0x0000226a xorl %r9d, %ecx + 0x21, 0xd1, //0x0000226d andl %edx, %ecx + 0x81, 0xe1, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000226f andl $-1431655766, %ecx + 0x45, 0x31, 0xd2, //0x00002275 xorl %r10d, %r10d + 0x44, 0x01, 0xe1, //0x00002278 addl %r12d, %ecx + 0x41, 0x0f, 0x92, 0xc2, //0x0000227b setb %r10b + 0x01, 0xc9, //0x0000227f addl %ecx, %ecx + 0x81, 0xf1, 0x55, 0x55, 0x55, 0x55, //0x00002281 xorl $1431655765, %ecx + 0x44, 0x21, 0xc9, //0x00002287 andl %r9d, %ecx + 0xf7, 0xd1, //0x0000228a notl %ecx + 0x21, 0xcb, //0x0000228c andl %ecx, %ebx + 0xe9, 0xb3, 0xf8, 0xff, 0xff, //0x0000228e jmp LBB0_174 + //0x00002293 LBB0_384 + 0x4d, 0x85, 0xed, //0x00002293 testq %r13, %r13 + 0x0f, 0x84, 0x2a, 0x03, 0x00, 0x00, //0x00002296 je LBB0_420 + 0x48, 0x8b, 0x45, 0xa8, //0x0000229c movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000022a0 addq %r11, %rax + 0x49, 0x83, 0xf9, 0xff, //0x000022a3 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc8, //0x000022a7 cmoveq %rax, %r9 + 0x49, 0xff, 0xc3, //0x000022ab incq %r11 + 0x49, 0xff, 0xcd, //0x000022ae decq %r13 + 0x48, 0x8b, 0x7d, 0xc0, //0x000022b1 movq $-64(%rbp), %rdi + 0x4d, 0x85, 0xed, //0x000022b5 testq %r13, %r13 + 0x0f, 0x85, 0x14, 0xff, 0xff, 0xff, //0x000022b8 jne LBB0_376 + 0xe9, 0x03, 0x03, 0x00, 0x00, //0x000022be jmp LBB0_420 + //0x000022c3 LBB0_386 + 0x4c, 0x89, 0xd8, //0x000022c3 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000022c6 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc1, //0x000022ca bsfq %rcx, %r8 + 0x49, 0x01, 0xc0, //0x000022ce addq %rax, %r8 + 0x48, 0x09, 0xfa, //0x000022d1 orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x000022d4 movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x000022d7 orq %r9, %rax + 0x0f, 0x84, 0xab, 0xf7, 0xff, 0xff, //0x000022da je LBB0_140 + //0x000022e0 LBB0_387 + 0x44, 0x89, 0xc8, //0x000022e0 movl %r9d, %eax + 0xf7, 0xd0, //0x000022e3 notl %eax + 0x21, 0xc8, //0x000022e5 andl %ecx, %eax + 0x8d, 0x34, 0x00, //0x000022e7 leal (%rax,%rax), %esi + 0x44, 0x09, 0xce, //0x000022ea orl %r9d, %esi + 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022ed movl $2863311530, %edi + 0x31, 0xf7, //0x000022f2 xorl %esi, %edi + 0x21, 0xcf, //0x000022f4 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022f6 andl $-1431655766, %edi + 0x45, 0x31, 0xc9, //0x000022fc xorl %r9d, %r9d + 0x01, 0xc7, //0x000022ff addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc1, //0x00002301 setb %r9b + 0x01, 0xff, //0x00002305 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00002307 xorl $1431655765, %edi + 0x21, 0xf7, //0x0000230d andl %esi, %edi + 0xf7, 0xd7, //0x0000230f notl %edi + 0x21, 0xfa, //0x00002311 andl %edi, %edx + 0x48, 0x85, 0xd2, //0x00002313 testq %rdx, %rdx + 0x0f, 0x85, 0x78, 0xf7, 0xff, 0xff, //0x00002316 jne LBB0_141 + //0x0000231c LBB0_388 + 0x49, 0x83, 0xc3, 0x20, //0x0000231c addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x00002320 addq $-32, %r13 + //0x00002324 LBB0_389 + 0x4d, 0x85, 0xc9, //0x00002324 testq %r9, %r9 + 0x0f, 0x85, 0x97, 0x00, 0x00, 0x00, //0x00002327 jne LBB0_398 + 0x48, 0x8b, 0x75, 0xc8, //0x0000232d movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002331 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xed, //0x00002335 testq %r13, %r13 + 0x0f, 0x84, 0xcf, 0x02, 0x00, 0x00, //0x00002338 je LBB0_429 + //0x0000233e LBB0_391 + 0x49, 0x8d, 0x4b, 0x01, //0x0000233e leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x00002342 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x00002346 cmpb $34, %bl + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x00002349 je LBB0_396 + 0x49, 0x8d, 0x55, 0xff, //0x0000234f leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x00002353 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00002356 je LBB0_394 + 0x49, 0x89, 0xd5, //0x0000235c movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x0000235f movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x00002362 testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x00002365 jne LBB0_391 + 0xe9, 0x9d, 0x02, 0x00, 0x00, //0x0000236b jmp LBB0_429 + //0x00002370 LBB0_394 + 0x48, 0x85, 0xd2, //0x00002370 testq %rdx, %rdx + 0x0f, 0x84, 0xf0, 0x04, 0x00, 0x00, //0x00002373 je LBB0_475 + 0x48, 0x03, 0x4d, 0xa8, //0x00002379 addq $-88(%rbp), %rcx + 0x49, 0x83, 0xf8, 0xff, //0x0000237d cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00002381 cmoveq %rcx, %r8 + 0x49, 0x83, 0xc3, 0x02, //0x00002385 addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x00002389 addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x0000238d movq %r13, %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x00002390 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002394 movq $-48(%rbp), %r9 + 0x48, 0x85, 0xd2, //0x00002398 testq %rdx, %rdx + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x0000239b jne LBB0_391 + 0xe9, 0x67, 0x02, 0x00, 0x00, //0x000023a1 jmp LBB0_429 + //0x000023a6 LBB0_396 + 0x4c, 0x29, 0xc9, //0x000023a6 subq %r9, %rcx + 0x49, 0x89, 0xcb, //0x000023a9 movq %rcx, %r11 + 0xe9, 0x4c, 0xec, 0xff, 0xff, //0x000023ac jmp LBB0_195 + //0x000023b1 LBB0_397 + 0x4c, 0x89, 0xd9, //0x000023b1 movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x000023b4 subq $-48(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xc2, //0x000023b8 bsfq %rdx, %r8 + 0x49, 0x01, 0xc8, //0x000023bc addq %rcx, %r8 + 0xe9, 0x6f, 0xf7, 0xff, 0xff, //0x000023bf jmp LBB0_173 + //0x000023c4 LBB0_398 + 0x4d, 0x85, 0xed, //0x000023c4 testq %r13, %r13 + 0x0f, 0x84, 0x9c, 0x04, 0x00, 0x00, //0x000023c7 je LBB0_475 + 0x48, 0x8b, 0x45, 0xa8, //0x000023cd movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000023d1 addq %r11, %rax + 0x49, 0x83, 0xf8, 0xff, //0x000023d4 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x000023d8 cmoveq %rax, %r8 + 0x49, 0xff, 0xc3, //0x000023dc incq %r11 + 0x49, 0xff, 0xcd, //0x000023df decq %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x000023e2 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x000023e6 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xed, //0x000023ea testq %r13, %r13 + 0x0f, 0x85, 0x4b, 0xff, 0xff, 0xff, //0x000023ed jne LBB0_391 + 0xe9, 0x15, 0x02, 0x00, 0x00, //0x000023f3 jmp LBB0_429 + //0x000023f8 LBB0_400 + 0x44, 0x89, 0xc8, //0x000023f8 movl %r9d, %eax + 0xf7, 0xd0, //0x000023fb notl %eax + 0x21, 0xd0, //0x000023fd andl %edx, %eax + 0x44, 0x8d, 0x24, 0x00, //0x000023ff leal (%rax,%rax), %r12d + 0x45, 0x09, 0xcc, //0x00002403 orl %r9d, %r12d + 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002406 movl $2863311530, %ecx + 0x44, 0x31, 0xe1, //0x0000240b xorl %r12d, %ecx + 0x21, 0xd1, //0x0000240e andl %edx, %ecx + 0x81, 0xe1, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002410 andl $-1431655766, %ecx + 0x45, 0x31, 0xc9, //0x00002416 xorl %r9d, %r9d + 0x01, 0xc1, //0x00002419 addl %eax, %ecx + 0x41, 0x0f, 0x92, 0xc1, //0x0000241b setb %r9b + 0x01, 0xc9, //0x0000241f addl %ecx, %ecx + 0x81, 0xf1, 0x55, 0x55, 0x55, 0x55, //0x00002421 xorl $1431655765, %ecx + 0x44, 0x21, 0xe1, //0x00002427 andl %r12d, %ecx + 0xf7, 0xd1, //0x0000242a notl %ecx + 0x21, 0xce, //0x0000242c andl %ecx, %esi + 0xe9, 0x67, 0xfa, 0xff, 0xff, //0x0000242e jmp LBB0_279 + //0x00002433 LBB0_401 + 0x4c, 0x89, 0xd8, //0x00002433 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00002436 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc1, //0x0000243a bsfq %rcx, %r8 + 0x49, 0x01, 0xc0, //0x0000243e addq %rax, %r8 + 0x48, 0x09, 0xf2, //0x00002441 orq %rsi, %rdx + 0x48, 0x89, 0xc8, //0x00002444 movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x00002447 orq %r9, %rax + 0x0f, 0x84, 0x7d, 0xf9, 0xff, 0xff, //0x0000244a je LBB0_212 + //0x00002450 LBB0_402 + 0x44, 0x89, 0xc8, //0x00002450 movl %r9d, %eax + 0xf7, 0xd0, //0x00002453 notl %eax + 0x21, 0xc8, //0x00002455 andl %ecx, %eax + 0x44, 0x8d, 0x34, 0x00, //0x00002457 leal (%rax,%rax), %r14d + 0x45, 0x09, 0xce, //0x0000245b orl %r9d, %r14d + 0x44, 0x89, 0xf6, //0x0000245e movl %r14d, %esi + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002461 movl $2863311530, %ebx + 0x31, 0xde, //0x00002466 xorl %ebx, %esi + 0x21, 0xce, //0x00002468 andl %ecx, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000246a andl $-1431655766, %esi + 0x45, 0x31, 0xc9, //0x00002470 xorl %r9d, %r9d + 0x01, 0xc6, //0x00002473 addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc1, //0x00002475 setb %r9b + 0x01, 0xf6, //0x00002479 addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x0000247b xorl $1431655765, %esi + 0x44, 0x21, 0xf6, //0x00002481 andl %r14d, %esi + 0xf7, 0xd6, //0x00002484 notl %esi + 0x21, 0xf2, //0x00002486 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x00002488 testq %rdx, %rdx + 0x0f, 0x85, 0x45, 0xf9, 0xff, 0xff, //0x0000248b jne LBB0_213 + //0x00002491 LBB0_403 + 0x49, 0x83, 0xc3, 0x20, //0x00002491 addq $32, %r11 + 0x49, 0x83, 0xc2, 0xe0, //0x00002495 addq $-32, %r10 + //0x00002499 LBB0_404 + 0x4d, 0x85, 0xc9, //0x00002499 testq %r9, %r9 + 0x0f, 0x85, 0x97, 0x00, 0x00, 0x00, //0x0000249c jne LBB0_413 + 0x48, 0x8b, 0x75, 0xc8, //0x000024a2 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x000024a6 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x000024aa testq %r10, %r10 + 0x0f, 0x84, 0xce, 0x01, 0x00, 0x00, //0x000024ad je LBB0_442 + //0x000024b3 LBB0_406 + 0x49, 0x8d, 0x4b, 0x01, //0x000024b3 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x000024b7 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x000024bb cmpb $34, %bl + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x000024be je LBB0_411 + 0x49, 0x8d, 0x52, 0xff, //0x000024c4 leaq $-1(%r10), %rdx + 0x80, 0xfb, 0x5c, //0x000024c8 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000024cb je LBB0_409 + 0x49, 0x89, 0xd2, //0x000024d1 movq %rdx, %r10 + 0x49, 0x89, 0xcb, //0x000024d4 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x000024d7 testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x000024da jne LBB0_406 + 0xe9, 0x9c, 0x01, 0x00, 0x00, //0x000024e0 jmp LBB0_442 + //0x000024e5 LBB0_409 + 0x48, 0x85, 0xd2, //0x000024e5 testq %rdx, %rdx + 0x0f, 0x84, 0x91, 0x03, 0x00, 0x00, //0x000024e8 je LBB0_476 + 0x48, 0x03, 0x4d, 0xa8, //0x000024ee addq $-88(%rbp), %rcx + 0x49, 0x83, 0xf8, 0xff, //0x000024f2 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x000024f6 cmoveq %rcx, %r8 + 0x49, 0x83, 0xc3, 0x02, //0x000024fa addq $2, %r11 + 0x49, 0x83, 0xc2, 0xfe, //0x000024fe addq $-2, %r10 + 0x4c, 0x89, 0xd2, //0x00002502 movq %r10, %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x00002505 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002509 movq $-48(%rbp), %r9 + 0x48, 0x85, 0xd2, //0x0000250d testq %rdx, %rdx + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x00002510 jne LBB0_406 + 0xe9, 0x66, 0x01, 0x00, 0x00, //0x00002516 jmp LBB0_442 + //0x0000251b LBB0_411 + 0x4c, 0x29, 0xc9, //0x0000251b subq %r9, %rcx + 0x49, 0x89, 0xcb, //0x0000251e movq %rcx, %r11 + 0xe9, 0xd9, 0xf2, 0xff, 0xff, //0x00002521 jmp LBB0_304 + //0x00002526 LBB0_412 + 0x4c, 0x89, 0xd8, //0x00002526 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00002529 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc2, //0x0000252d bsfq %rdx, %r8 + 0x49, 0x01, 0xc0, //0x00002531 addq %rax, %r8 + 0xe9, 0x4e, 0xf9, 0xff, 0xff, //0x00002534 jmp LBB0_278 + //0x00002539 LBB0_413 + 0x4d, 0x85, 0xd2, //0x00002539 testq %r10, %r10 + 0x0f, 0x84, 0x3d, 0x03, 0x00, 0x00, //0x0000253c je LBB0_476 + 0x48, 0x8b, 0x45, 0xa8, //0x00002542 movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x00002546 addq %r11, %rax + 0x49, 0x83, 0xf8, 0xff, //0x00002549 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x0000254d cmoveq %rax, %r8 + 0x49, 0xff, 0xc3, //0x00002551 incq %r11 + 0x49, 0xff, 0xca, //0x00002554 decq %r10 + 0x48, 0x8b, 0x75, 0xc8, //0x00002557 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x0000255b movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x0000255f testq %r10, %r10 + 0x0f, 0x85, 0x4b, 0xff, 0xff, 0xff, //0x00002562 jne LBB0_406 + 0xe9, 0x14, 0x01, 0x00, 0x00, //0x00002568 jmp LBB0_442 + //0x0000256d LBB0_415 + 0x4d, 0x85, 0xd2, //0x0000256d testq %r10, %r10 + 0x0f, 0x84, 0x09, 0x03, 0x00, 0x00, //0x00002570 je LBB0_476 + 0x48, 0x8b, 0x45, 0xa8, //0x00002576 movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x0000257a addq %r11, %rax + 0x49, 0x83, 0xf8, 0xff, //0x0000257d cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x00002581 cmoveq %rax, %r8 + 0x49, 0xff, 0xc3, //0x00002585 incq %r11 + 0x49, 0xff, 0xca, //0x00002588 decq %r10 + 0x48, 0x8b, 0x75, 0xc8, //0x0000258b movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x0000258f movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x00002593 testq %r10, %r10 + 0x0f, 0x85, 0xb3, 0xf9, 0xff, 0xff, //0x00002596 jne LBB0_349 + 0xe9, 0xe0, 0x00, 0x00, 0x00, //0x0000259c jmp LBB0_442 + //0x000025a1 LBB0_417 + 0x48, 0x89, 0x16, //0x000025a1 movq %rdx, (%rsi) + //0x000025a4 LBB0_418 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000025a4 movq $-1, %rax + 0xe9, 0x44, 0x00, 0x00, 0x00, //0x000025ab jmp LBB0_427 + //0x000025b0 LBB0_439 + 0x48, 0xc7, 0xc0, 0xf9, 0xff, 0xff, 0xff, //0x000025b0 movq $-7, %rax + 0xe9, 0x38, 0x00, 0x00, 0x00, //0x000025b7 jmp LBB0_427 + //0x000025bc LBB0_419 + 0x49, 0x83, 0xfb, 0xff, //0x000025bc cmpq $-1, %r11 + 0x0f, 0x85, 0x7d, 0x00, 0x00, 0x00, //0x000025c0 jne LBB0_150 + //0x000025c6 LBB0_420 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000025c6 movq $-1, %r11 + 0x4d, 0x89, 0xd1, //0x000025cd movq %r10, %r9 + 0xe9, 0x6e, 0x00, 0x00, 0x00, //0x000025d0 jmp LBB0_150 + //0x000025d5 LBB0_421 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000025d5 movq $-1, %rax + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x000025dc jmp LBB0_424 + //0x000025e1 LBB0_423 + 0x4c, 0x89, 0xd8, //0x000025e1 movq %r11, %rax + //0x000025e4 LBB0_424 + 0x48, 0xf7, 0xd0, //0x000025e4 notq %rax + 0x49, 0x01, 0xc7, //0x000025e7 addq %rax, %r15 + //0x000025ea LBB0_425 + 0x4c, 0x89, 0x3e, //0x000025ea movq %r15, (%rsi) + //0x000025ed LBB0_426 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000025ed movq $-2, %rax + //0x000025f4 LBB0_427 + 0x48, 0x83, 0xc4, 0x70, //0x000025f4 addq $112, %rsp + 0x5b, //0x000025f8 popq %rbx + 0x41, 0x5c, //0x000025f9 popq %r12 + 0x41, 0x5d, //0x000025fb popq %r13 + 0x41, 0x5e, //0x000025fd popq %r14 + 0x41, 0x5f, //0x000025ff popq %r15 + 0x5d, //0x00002601 popq %rbp + 0xc3, //0x00002602 retq + //0x00002603 LBB0_428 + 0x49, 0x83, 0xfb, 0xff, //0x00002603 cmpq $-1, %r11 + 0x0f, 0x85, 0xbf, 0x01, 0x00, 0x00, //0x00002607 jne LBB0_461 + //0x0000260d LBB0_429 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000260d movq $-1, %r11 + 0x4d, 0x89, 0xd0, //0x00002614 movq %r10, %r8 + 0xe9, 0xb0, 0x01, 0x00, 0x00, //0x00002617 jmp LBB0_461 + //0x0000261c LBB0_440 + 0x48, 0x89, 0x0e, //0x0000261c movq %rcx, (%rsi) + 0xe9, 0xd0, 0xff, 0xff, 0xff, //0x0000261f jmp LBB0_427 + //0x00002624 LBB0_430 + 0x49, 0x83, 0xf9, 0xff, //0x00002624 cmpq $-1, %r9 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00002628 jne LBB0_434 + 0x48, 0x0f, 0xbc, 0xc2, //0x0000262e bsfq %rdx, %rax + //0x00002632 LBB0_432 + 0x4c, 0x2b, 0x5d, 0xd0, //0x00002632 subq $-48(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00002636 addq %rax, %r11 + //0x00002639 LBB0_433 + 0x4d, 0x89, 0xd9, //0x00002639 movq %r11, %r9 + //0x0000263c LBB0_434 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000263c movq $-2, %r11 + //0x00002643 LBB0_150 + 0x48, 0x8b, 0x45, 0xc8, //0x00002643 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x00002647 movq %r9, (%rax) + 0x4c, 0x89, 0xd8, //0x0000264a movq %r11, %rax + 0xe9, 0xa2, 0xff, 0xff, 0xff, //0x0000264d jmp LBB0_427 + //0x00002652 LBB0_435 + 0x49, 0x83, 0xf8, 0xff, //0x00002652 cmpq $-1, %r8 + 0x0f, 0x84, 0x34, 0x01, 0x00, 0x00, //0x00002656 je LBB0_453 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000265c movq $-2, %r11 + 0xe9, 0x64, 0x01, 0x00, 0x00, //0x00002663 jmp LBB0_461 + //0x00002668 LBB0_437 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00002668 movq $-1, %r11 + //0x0000266f LBB0_438 + 0x4d, 0x29, 0xdf, //0x0000266f subq %r11, %r15 + 0xe9, 0x73, 0xff, 0xff, 0xff, //0x00002672 jmp LBB0_425 + //0x00002677 LBB0_441 + 0x49, 0x83, 0xfb, 0xff, //0x00002677 cmpq $-1, %r11 + 0x0f, 0x85, 0x4b, 0x01, 0x00, 0x00, //0x0000267b jne LBB0_461 + //0x00002681 LBB0_442 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00002681 movq $-1, %r11 + 0x49, 0x89, 0xf8, //0x00002688 movq %rdi, %r8 + 0xe9, 0x3c, 0x01, 0x00, 0x00, //0x0000268b jmp LBB0_461 + //0x00002690 LBB0_443 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00002690 movq $-2, %rax + 0x80, 0xf9, 0x61, //0x00002697 cmpb $97, %cl + 0x0f, 0x85, 0x54, 0xff, 0xff, 0xff, //0x0000269a jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x02, //0x000026a0 leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026a4 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x02, 0x6c, //0x000026a7 cmpb $108, $2(%r9,%r15) + 0x0f, 0x85, 0x41, 0xff, 0xff, 0xff, //0x000026ad jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x03, //0x000026b3 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026b7 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x03, 0x73, //0x000026ba cmpb $115, $3(%r9,%r15) + 0x0f, 0x85, 0x2e, 0xff, 0xff, 0xff, //0x000026c0 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x04, //0x000026c6 leaq $4(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026ca movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x04, 0x65, //0x000026cd cmpb $101, $4(%r9,%r15) + 0x0f, 0x85, 0x1b, 0xff, 0xff, 0xff, //0x000026d3 jne LBB0_427 + 0x49, 0x83, 0xc7, 0x05, //0x000026d9 addq $5, %r15 + 0x4c, 0x89, 0x3e, //0x000026dd movq %r15, (%rsi) + 0xe9, 0x0f, 0xff, 0xff, 0xff, //0x000026e0 jmp LBB0_427 + //0x000026e5 LBB0_249 + 0x4c, 0x89, 0x3e, //0x000026e5 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000026e8 movq $-2, %rax + 0x41, 0x80, 0x3a, 0x6e, //0x000026ef cmpb $110, (%r10) + 0x0f, 0x85, 0xfb, 0xfe, 0xff, 0xff, //0x000026f3 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x01, //0x000026f9 leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026fd movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x01, 0x75, //0x00002700 cmpb $117, $1(%r9,%r15) + 0x0f, 0x85, 0xe8, 0xfe, 0xff, 0xff, //0x00002706 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x02, //0x0000270c leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002710 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x02, 0x6c, //0x00002713 cmpb $108, $2(%r9,%r15) + 0x0f, 0x85, 0xd5, 0xfe, 0xff, 0xff, //0x00002719 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x03, //0x0000271f leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002723 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x03, 0x6c, //0x00002726 cmpb $108, $3(%r9,%r15) + 0x0f, 0x85, 0xc2, 0xfe, 0xff, 0xff, //0x0000272c jne LBB0_427 + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x00002732 jmp LBB0_452 + //0x00002737 LBB0_448 + 0x4c, 0x89, 0x3e, //0x00002737 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000273a movq $-2, %rax + 0x41, 0x80, 0x3a, 0x74, //0x00002741 cmpb $116, (%r10) + 0x0f, 0x85, 0xa9, 0xfe, 0xff, 0xff, //0x00002745 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x01, //0x0000274b leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x0000274f movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x01, 0x72, //0x00002752 cmpb $114, $1(%r9,%r15) + 0x0f, 0x85, 0x96, 0xfe, 0xff, 0xff, //0x00002758 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x02, //0x0000275e leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002762 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x02, 0x75, //0x00002765 cmpb $117, $2(%r9,%r15) + 0x0f, 0x85, 0x83, 0xfe, 0xff, 0xff, //0x0000276b jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x03, //0x00002771 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002775 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x03, 0x65, //0x00002778 cmpb $101, $3(%r9,%r15) + 0x0f, 0x85, 0x70, 0xfe, 0xff, 0xff, //0x0000277e jne LBB0_427 + //0x00002784 LBB0_452 + 0x49, 0x83, 0xc7, 0x04, //0x00002784 addq $4, %r15 + 0x4c, 0x89, 0x3e, //0x00002788 movq %r15, (%rsi) + 0xe9, 0x64, 0xfe, 0xff, 0xff, //0x0000278b jmp LBB0_427 + //0x00002790 LBB0_453 + 0x48, 0x0f, 0xbc, 0xc2, //0x00002790 bsfq %rdx, %rax + //0x00002794 LBB0_454 + 0x4d, 0x29, 0xcb, //0x00002794 subq %r9, %r11 + 0x49, 0x01, 0xc3, //0x00002797 addq %rax, %r11 + //0x0000279a LBB0_455 + 0x4d, 0x89, 0xd8, //0x0000279a movq %r11, %r8 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000279d movq $-2, %r11 + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x000027a4 jmp LBB0_461 + //0x000027a9 LBB0_456 + 0x49, 0x83, 0xf8, 0xff, //0x000027a9 cmpq $-1, %r8 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x000027ad jne LBB0_459 + 0x48, 0x0f, 0xbc, 0xc2, //0x000027b3 bsfq %rdx, %rax + //0x000027b7 LBB0_458 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000027b7 subq $-48(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x000027bb addq %rax, %r11 + 0x4d, 0x89, 0xd8, //0x000027be movq %r11, %r8 + //0x000027c1 LBB0_459 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000027c1 movq $-2, %r11 + //0x000027c8 LBB0_460 + 0x48, 0x8b, 0x75, 0xc8, //0x000027c8 movq $-56(%rbp), %rsi + //0x000027cc LBB0_461 + 0x4c, 0x89, 0x06, //0x000027cc movq %r8, (%rsi) + 0x4c, 0x89, 0xd8, //0x000027cf movq %r11, %rax + 0xe9, 0x1d, 0xfe, 0xff, 0xff, //0x000027d2 jmp LBB0_427 + //0x000027d7 LBB0_462 + 0x49, 0x89, 0xc2, //0x000027d7 movq %rax, %r10 + 0xe9, 0xe7, 0xfd, 0xff, 0xff, //0x000027da jmp LBB0_420 + //0x000027df LBB0_463 + 0x49, 0x89, 0xca, //0x000027df movq %rcx, %r10 + 0xe9, 0xdf, 0xfd, 0xff, 0xff, //0x000027e2 jmp LBB0_420 + //0x000027e7 LBB0_149 + 0x4c, 0x01, 0xd9, //0x000027e7 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000027ea movq $-2, %r11 + 0x49, 0x89, 0xc9, //0x000027f1 movq %rcx, %r9 + 0xe9, 0x4a, 0xfe, 0xff, 0xff, //0x000027f4 jmp LBB0_150 + //0x000027f9 LBB0_185 + 0x4c, 0x01, 0xd9, //0x000027f9 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000027fc movq $-2, %r11 + 0x49, 0x89, 0xc8, //0x00002803 movq %rcx, %r8 + 0xe9, 0xc1, 0xff, 0xff, 0xff, //0x00002806 jmp LBB0_461 + //0x0000280b LBB0_464 + 0x49, 0x89, 0xc2, //0x0000280b movq %rax, %r10 + 0xe9, 0xfa, 0xfd, 0xff, 0xff, //0x0000280e jmp LBB0_429 + //0x00002813 LBB0_465 + 0x49, 0x89, 0xca, //0x00002813 movq %rcx, %r10 + 0xe9, 0xf2, 0xfd, 0xff, 0xff, //0x00002816 jmp LBB0_429 + //0x0000281b LBB0_466 + 0x48, 0x89, 0xc7, //0x0000281b movq %rax, %rdi + 0xe9, 0x5e, 0xfe, 0xff, 0xff, //0x0000281e jmp LBB0_442 + //0x00002823 LBB0_467 + 0x49, 0x0f, 0xbc, 0xc2, //0x00002823 bsfq %r10, %rax + 0xe9, 0x06, 0xfe, 0xff, 0xff, //0x00002827 jmp LBB0_432 + //0x0000282c LBB0_468 + 0x4c, 0x2b, 0x5d, 0xd0, //0x0000282c subq $-48(%rbp), %r11 + 0xe9, 0x04, 0xfe, 0xff, 0xff, //0x00002830 jmp LBB0_433 + //0x00002835 LBB0_469 + 0x4d, 0x29, 0xcb, //0x00002835 subq %r9, %r11 + 0xe9, 0x5d, 0xff, 0xff, 0xff, //0x00002838 jmp LBB0_455 + //0x0000283d LBB0_470 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000283d bsfq %rdi, %rax + 0xe9, 0x4e, 0xff, 0xff, 0xff, //0x00002841 jmp LBB0_454 + //0x00002846 LBB0_471 + 0x4c, 0x01, 0xd9, //0x00002846 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002849 movq $-2, %r11 + 0x49, 0x89, 0xc8, //0x00002850 movq %rcx, %r8 + 0xe9, 0x70, 0xff, 0xff, 0xff, //0x00002853 jmp LBB0_460 + //0x00002858 LBB0_472 + 0x48, 0x0f, 0xbc, 0xc3, //0x00002858 bsfq %rbx, %rax + 0xe9, 0x56, 0xff, 0xff, 0xff, //0x0000285c jmp LBB0_458 + //0x00002861 LBB0_473 + 0x4d, 0x89, 0xea, //0x00002861 movq %r13, %r10 + 0xe9, 0x5d, 0xfd, 0xff, 0xff, //0x00002864 jmp LBB0_420 + //0x00002869 LBB0_475 + 0x48, 0x8b, 0x75, 0xc8, //0x00002869 movq $-56(%rbp), %rsi + 0xe9, 0x9b, 0xfd, 0xff, 0xff, //0x0000286d jmp LBB0_429 + //0x00002872 LBB0_474 + 0x48, 0x8b, 0x75, 0xc8, //0x00002872 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xb8, //0x00002876 movq $-72(%rbp), %r10 + 0xe9, 0x8e, 0xfd, 0xff, 0xff, //0x0000287a jmp LBB0_429 + //0x0000287f LBB0_476 + 0x48, 0x8b, 0x75, 0xc8, //0x0000287f movq $-56(%rbp), %rsi + 0xe9, 0xf9, 0xfd, 0xff, 0xff, //0x00002883 jmp LBB0_442 + //0x00002888 .p2align 2, 0x90 + // // .set L0_0_set_35, LBB0_35-LJTI0_0 + // // .set L0_0_set_62, LBB0_62-LJTI0_0 + // // .set L0_0_set_40, LBB0_40-LJTI0_0 + // // .set L0_0_set_60, LBB0_60-LJTI0_0 + // // .set L0_0_set_38, LBB0_38-LJTI0_0 + // // .set L0_0_set_64, LBB0_64-LJTI0_0 + //0x00002888 LJTI0_0 + 0x13, 0xdb, 0xff, 0xff, //0x00002888 .long L0_0_set_35 + 0x24, 0xdd, 0xff, 0xff, //0x0000288c .long L0_0_set_62 + 0x4a, 0xdb, 0xff, 0xff, //0x00002890 .long L0_0_set_40 + 0x0d, 0xdd, 0xff, 0xff, //0x00002894 .long L0_0_set_60 + 0x2a, 0xdb, 0xff, 0xff, //0x00002898 .long L0_0_set_38 + 0x4f, 0xdd, 0xff, 0xff, //0x0000289c .long L0_0_set_64 + // // .set L0_1_set_427, LBB0_427-LJTI0_1 + // // .set L0_1_set_426, LBB0_426-LJTI0_1 + // // .set L0_1_set_199, LBB0_199-LJTI0_1 + // // .set L0_1_set_217, LBB0_217-LJTI0_1 + // // .set L0_1_set_68, LBB0_68-LJTI0_1 + // // .set L0_1_set_242, LBB0_242-LJTI0_1 + // // .set L0_1_set_244, LBB0_244-LJTI0_1 + // // .set L0_1_set_247, LBB0_247-LJTI0_1 + // // .set L0_1_set_253, LBB0_253-LJTI0_1 + // // .set L0_1_set_1, LBB0_1-LJTI0_1 + //0x000028a0 LJTI0_1 + 0x54, 0xfd, 0xff, 0xff, //0x000028a0 .long L0_1_set_427 + 0x4d, 0xfd, 0xff, 0xff, //0x000028a4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028a8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028ac .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028b0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028b4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028b8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028bc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028c0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028c4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028c8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028cc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028d0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028d4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028d8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028dc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028e0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028e4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028e8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028ec .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028f0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028f4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028f8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028fc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002900 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002904 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002908 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000290c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002910 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002914 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002918 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000291c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002920 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002924 .long L0_1_set_426 + 0x9f, 0xe7, 0xff, 0xff, //0x00002928 .long L0_1_set_199 + 0x4d, 0xfd, 0xff, 0xff, //0x0000292c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002930 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002934 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002938 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000293c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002940 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002944 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002948 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000294c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002950 .long L0_1_set_426 + 0x5d, 0xe9, 0xff, 0xff, //0x00002954 .long L0_1_set_217 + 0x4d, 0xfd, 0xff, 0xff, //0x00002958 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000295c .long L0_1_set_426 + 0x86, 0xdd, 0xff, 0xff, //0x00002960 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002964 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002968 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x0000296c .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002970 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002974 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002978 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x0000297c .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002980 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002984 .long L0_1_set_68 + 0x4d, 0xfd, 0xff, 0xff, //0x00002988 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000298c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002990 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002994 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002998 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000299c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029a0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029a4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029a8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029ac .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029b0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029b4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029b8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029bc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029c0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029c4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029c8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029cc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029d0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029d4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029d8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029dc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029e0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029e4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029e8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029ec .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029f0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029f4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029f8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029fc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a00 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a04 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a08 .long L0_1_set_426 + 0x44, 0xeb, 0xff, 0xff, //0x00002a0c .long L0_1_set_242 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a10 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a14 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a18 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a1c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a20 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a24 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a28 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a2c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a30 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a34 .long L0_1_set_426 + 0x6c, 0xeb, 0xff, 0xff, //0x00002a38 .long L0_1_set_244 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a3c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a40 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a44 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a48 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a4c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a50 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a54 .long L0_1_set_426 + 0xad, 0xeb, 0xff, 0xff, //0x00002a58 .long L0_1_set_247 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a5c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a60 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a64 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a68 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a6c .long L0_1_set_426 + 0xd4, 0xeb, 0xff, 0xff, //0x00002a70 .long L0_1_set_253 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a74 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a78 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a7c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a80 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a84 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a88 .long L0_1_set_426 + 0xcb, 0xd8, 0xff, 0xff, //0x00002a8c .long L0_1_set_1 + // // .set L0_2_set_262, LBB0_262-LJTI0_2 + // // .set L0_2_set_291, LBB0_291-LJTI0_2 + // // .set L0_2_set_257, LBB0_257-LJTI0_2 + // // .set L0_2_set_259, LBB0_259-LJTI0_2 + // // .set L0_2_set_264, LBB0_264-LJTI0_2 + //0x00002a90 LJTI0_2 + 0x79, 0xea, 0xff, 0xff, //0x00002a90 .long L0_2_set_262 + 0xd9, 0xec, 0xff, 0xff, //0x00002a94 .long L0_2_set_291 + 0x79, 0xea, 0xff, 0xff, //0x00002a98 .long L0_2_set_262 + 0x33, 0xea, 0xff, 0xff, //0x00002a9c .long L0_2_set_257 + 0xd9, 0xec, 0xff, 0xff, //0x00002aa0 .long L0_2_set_291 + 0x50, 0xea, 0xff, 0xff, //0x00002aa4 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002aa8 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002aac .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ab0 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ab4 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ab8 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002abc .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ac0 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ac4 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ac8 .long L0_2_set_259 + 0xd9, 0xec, 0xff, 0xff, //0x00002acc .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ad0 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ad4 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ad8 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002adc .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ae0 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ae4 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ae8 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002aec .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002af0 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002af4 .long L0_2_set_291 + 0x94, 0xea, 0xff, 0xff, //0x00002af8 .long L0_2_set_264 + 0xd9, 0xec, 0xff, 0xff, //0x00002afc .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b00 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b04 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b08 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b0c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b10 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b14 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b18 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b1c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b20 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b24 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b28 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b2c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b30 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b34 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b38 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b3c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b40 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b44 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b48 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b4c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b50 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b54 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b58 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b5c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b60 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b64 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b68 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b6c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b70 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b74 .long L0_2_set_291 + 0x94, 0xea, 0xff, 0xff, //0x00002b78 .long L0_2_set_264 + // // .set L0_3_set_98, LBB0_98-LJTI0_3 + // // .set L0_3_set_152, LBB0_152-LJTI0_3 + // // .set L0_3_set_100, LBB0_100-LJTI0_3 + // // .set L0_3_set_95, LBB0_95-LJTI0_3 + // // .set L0_3_set_93, LBB0_93-LJTI0_3 + //0x00002b7c LJTI0_3 + 0xcd, 0xdc, 0xff, 0xff, //0x00002b7c .long L0_3_set_98 + 0x2e, 0xe1, 0xff, 0xff, //0x00002b80 .long L0_3_set_152 + 0xcd, 0xdc, 0xff, 0xff, //0x00002b84 .long L0_3_set_98 + 0xe8, 0xdc, 0xff, 0xff, //0x00002b88 .long L0_3_set_100 + 0x2e, 0xe1, 0xff, 0xff, //0x00002b8c .long L0_3_set_152 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b90 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b94 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b98 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b9c .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002ba0 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002ba4 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002ba8 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002bac .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002bb0 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002bb4 .long L0_3_set_95 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bb8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bbc .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bc0 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bc4 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bc8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bcc .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bd0 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bd4 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bd8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bdc .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002be0 .long L0_3_set_152 + 0x84, 0xdc, 0xff, 0xff, //0x00002be4 .long L0_3_set_93 + 0x2e, 0xe1, 0xff, 0xff, //0x00002be8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bec .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bf0 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bf4 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bf8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bfc .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c00 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c04 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c08 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c0c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c10 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c14 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c18 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c1c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c20 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c24 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c28 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c2c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c30 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c34 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c38 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c3c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c40 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c44 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c48 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c4c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c50 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c54 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c58 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c5c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c60 .long L0_3_set_152 + 0x84, 0xdc, 0xff, 0xff, //0x00002c64 .long L0_3_set_93 + //0x00002c68 .p2align 2, 0x00 + //0x00002c68 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00002c68 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one.go new file mode 100644 index 0000000..fa8775d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_one func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_skip_one uintptr + +//go:nosplit +func skip_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_skip_one(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_fast.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_fast.go new file mode 100644 index 0000000..4e42905 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_fast.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_skip_one_fast func(s unsafe.Pointer, p unsafe.Pointer) (ret int) + +var S_skip_one_fast uintptr + +//go:nosplit +func skip_one_fast(s *string, p *int) (ret int) { + return F_skip_one_fast(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p))) +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_fast_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_fast_subr.go new file mode 100644 index 0000000..e1fe08f --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_fast_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_one_fast = 128 +) + +const ( + _stack__skip_one_fast = 136 +) + +const ( + _size__skip_one_fast = 3404 +) + +var ( + _pcsp__skip_one_fast = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {658, 136}, + {662, 48}, + {663, 40}, + {665, 32}, + {667, 24}, + {669, 16}, + {671, 8}, + {672, 0}, + {3404, 136}, + } +) + +var _cfunc_skip_one_fast = []loader.CFunc{ + {"_skip_one_fast_entry", 0, _entry__skip_one_fast, 0, nil}, + {"_skip_one_fast", _entry__skip_one_fast, _size__skip_one_fast, _stack__skip_one_fast, _pcsp__skip_one_fast}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_fast_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_fast_text_amd64.go new file mode 100644 index 0000000..de29713 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_fast_text_amd64.go @@ -0,0 +1,1039 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_skip_one_fast = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, // QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' + //0x00000010 LCPI0_1 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000010 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000020 LCPI0_2 + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, //0x00000020 QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' + //0x00000030 LCPI0_3 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, //0x00000030 QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000040 LCPI0_4 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000040 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000050 LCPI0_5 + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, //0x00000050 QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' + //0x00000060 LCPI0_6 + 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, //0x00000060 QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' + //0x00000070 LCPI0_7 + 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, //0x00000070 QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' + //0x00000080 .p2align 4, 0x90 + //0x00000080 _skip_one_fast + 0x55, //0x00000080 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000081 movq %rsp, %rbp + 0x41, 0x57, //0x00000084 pushq %r15 + 0x41, 0x56, //0x00000086 pushq %r14 + 0x41, 0x55, //0x00000088 pushq %r13 + 0x41, 0x54, //0x0000008a pushq %r12 + 0x53, //0x0000008c pushq %rbx + 0x48, 0x83, 0xec, 0x58, //0x0000008d subq $88, %rsp + 0x4c, 0x8b, 0x07, //0x00000091 movq (%rdi), %r8 + 0x4c, 0x8b, 0x4f, 0x08, //0x00000094 movq $8(%rdi), %r9 + 0x48, 0x8b, 0x16, //0x00000098 movq (%rsi), %rdx + 0x48, 0x89, 0xd0, //0x0000009b movq %rdx, %rax + 0x4c, 0x29, 0xc8, //0x0000009e subq %r9, %rax + 0x0f, 0x83, 0x2a, 0x00, 0x00, 0x00, //0x000000a1 jae LBB0_5 + 0x41, 0x8a, 0x0c, 0x10, //0x000000a7 movb (%r8,%rdx), %cl + 0x80, 0xf9, 0x0d, //0x000000ab cmpb $13, %cl + 0x0f, 0x84, 0x1d, 0x00, 0x00, 0x00, //0x000000ae je LBB0_5 + 0x80, 0xf9, 0x20, //0x000000b4 cmpb $32, %cl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000000b7 je LBB0_5 + 0x80, 0xc1, 0xf7, //0x000000bd addb $-9, %cl + 0x80, 0xf9, 0x01, //0x000000c0 cmpb $1, %cl + 0x0f, 0x86, 0x08, 0x00, 0x00, 0x00, //0x000000c3 jbe LBB0_5 + 0x49, 0x89, 0xd6, //0x000000c9 movq %rdx, %r14 + 0xe9, 0x2e, 0x01, 0x00, 0x00, //0x000000cc jmp LBB0_27 + //0x000000d1 LBB0_5 + 0x4c, 0x8d, 0x72, 0x01, //0x000000d1 leaq $1(%rdx), %r14 + 0x4d, 0x39, 0xce, //0x000000d5 cmpq %r9, %r14 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x000000d8 jae LBB0_9 + 0x43, 0x8a, 0x0c, 0x30, //0x000000de movb (%r8,%r14), %cl + 0x80, 0xf9, 0x0d, //0x000000e2 cmpb $13, %cl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x000000e5 je LBB0_9 + 0x80, 0xf9, 0x20, //0x000000eb cmpb $32, %cl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x000000ee je LBB0_9 + 0x80, 0xc1, 0xf7, //0x000000f4 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x000000f7 cmpb $1, %cl + 0x0f, 0x87, 0xff, 0x00, 0x00, 0x00, //0x000000fa ja LBB0_27 + //0x00000100 LBB0_9 + 0x4c, 0x8d, 0x72, 0x02, //0x00000100 leaq $2(%rdx), %r14 + 0x4d, 0x39, 0xce, //0x00000104 cmpq %r9, %r14 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000107 jae LBB0_13 + 0x43, 0x8a, 0x0c, 0x30, //0x0000010d movb (%r8,%r14), %cl + 0x80, 0xf9, 0x0d, //0x00000111 cmpb $13, %cl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000114 je LBB0_13 + 0x80, 0xf9, 0x20, //0x0000011a cmpb $32, %cl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000011d je LBB0_13 + 0x80, 0xc1, 0xf7, //0x00000123 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00000126 cmpb $1, %cl + 0x0f, 0x87, 0xd0, 0x00, 0x00, 0x00, //0x00000129 ja LBB0_27 + //0x0000012f LBB0_13 + 0x4c, 0x8d, 0x72, 0x03, //0x0000012f leaq $3(%rdx), %r14 + 0x4d, 0x39, 0xce, //0x00000133 cmpq %r9, %r14 + 0x0f, 0x83, 0x22, 0x00, 0x00, 0x00, //0x00000136 jae LBB0_17 + 0x43, 0x8a, 0x0c, 0x30, //0x0000013c movb (%r8,%r14), %cl + 0x80, 0xf9, 0x0d, //0x00000140 cmpb $13, %cl + 0x0f, 0x84, 0x15, 0x00, 0x00, 0x00, //0x00000143 je LBB0_17 + 0x80, 0xf9, 0x20, //0x00000149 cmpb $32, %cl + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x0000014c je LBB0_17 + 0x80, 0xc1, 0xf7, //0x00000152 addb $-9, %cl + 0x80, 0xf9, 0x01, //0x00000155 cmpb $1, %cl + 0x0f, 0x87, 0xa1, 0x00, 0x00, 0x00, //0x00000158 ja LBB0_27 + //0x0000015e LBB0_17 + 0x48, 0x8d, 0x4a, 0x04, //0x0000015e leaq $4(%rdx), %rcx + 0x49, 0x39, 0xc9, //0x00000162 cmpq %rcx, %r9 + 0x0f, 0x86, 0x4e, 0x00, 0x00, 0x00, //0x00000165 jbe LBB0_23 + 0x49, 0x39, 0xc9, //0x0000016b cmpq %rcx, %r9 + 0x0f, 0x84, 0x54, 0x00, 0x00, 0x00, //0x0000016e je LBB0_24 + 0x4b, 0x8d, 0x0c, 0x08, //0x00000174 leaq (%r8,%r9), %rcx + 0x48, 0x83, 0xc0, 0x04, //0x00000178 addq $4, %rax + 0x4e, 0x8d, 0x74, 0x02, 0x05, //0x0000017c leaq $5(%rdx,%r8), %r14 + 0x48, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000181 movabsq $4294977024, %rdx + 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000018b .p2align 4, 0x90 + //0x00000190 LBB0_20 + 0x41, 0x0f, 0xbe, 0x5e, 0xff, //0x00000190 movsbl $-1(%r14), %ebx + 0x83, 0xfb, 0x20, //0x00000195 cmpl $32, %ebx + 0x0f, 0x87, 0x48, 0x00, 0x00, 0x00, //0x00000198 ja LBB0_26 + 0x48, 0x0f, 0xa3, 0xda, //0x0000019e btq %rbx, %rdx + 0x0f, 0x83, 0x3e, 0x00, 0x00, 0x00, //0x000001a2 jae LBB0_26 + 0x49, 0xff, 0xc6, //0x000001a8 incq %r14 + 0x48, 0xff, 0xc0, //0x000001ab incq %rax + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000001ae jne LBB0_20 + 0xe9, 0x12, 0x00, 0x00, 0x00, //0x000001b4 jmp LBB0_25 + //0x000001b9 LBB0_23 + 0x48, 0x89, 0x0e, //0x000001b9 movq %rcx, (%rsi) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000001bc movq $-1, %rax + 0xe9, 0x4a, 0x01, 0x00, 0x00, //0x000001c3 jmp LBB0_45 + //0x000001c8 LBB0_24 + 0x4c, 0x01, 0xc1, //0x000001c8 addq %r8, %rcx + //0x000001cb LBB0_25 + 0x4c, 0x29, 0xc1, //0x000001cb subq %r8, %rcx + 0x49, 0x89, 0xce, //0x000001ce movq %rcx, %r14 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000001d1 movq $-1, %rax + 0x4d, 0x39, 0xce, //0x000001d8 cmpq %r9, %r14 + 0x0f, 0x82, 0x1e, 0x00, 0x00, 0x00, //0x000001db jb LBB0_27 + 0xe9, 0x2c, 0x01, 0x00, 0x00, //0x000001e1 jmp LBB0_45 + //0x000001e6 LBB0_26 + 0x4c, 0x89, 0xc0, //0x000001e6 movq %r8, %rax + 0x48, 0xf7, 0xd0, //0x000001e9 notq %rax + 0x49, 0x01, 0xc6, //0x000001ec addq %rax, %r14 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000001ef movq $-1, %rax + 0x4d, 0x39, 0xce, //0x000001f6 cmpq %r9, %r14 + 0x0f, 0x83, 0x13, 0x01, 0x00, 0x00, //0x000001f9 jae LBB0_45 + //0x000001ff LBB0_27 + 0x49, 0x8d, 0x5e, 0x01, //0x000001ff leaq $1(%r14), %rbx + 0x48, 0x89, 0x1e, //0x00000203 movq %rbx, (%rsi) + 0x43, 0x0f, 0xbe, 0x0c, 0x30, //0x00000206 movsbl (%r8,%r14), %ecx + 0x83, 0xf9, 0x7b, //0x0000020b cmpl $123, %ecx + 0x0f, 0x87, 0x20, 0x01, 0x00, 0x00, //0x0000020e ja LBB0_47 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000214 movq $-1, %rax + 0x48, 0x8d, 0x15, 0xaa, 0x0b, 0x00, 0x00, //0x0000021b leaq $2986(%rip), %rdx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8a, //0x00000222 movslq (%rdx,%rcx,4), %rcx + 0x48, 0x01, 0xd1, //0x00000226 addq %rdx, %rcx + 0xff, 0xe1, //0x00000229 jmpq *%rcx + //0x0000022b LBB0_29 + 0x48, 0x8b, 0x4f, 0x08, //0x0000022b movq $8(%rdi), %rcx + 0x48, 0x89, 0xc8, //0x0000022f movq %rcx, %rax + 0x48, 0x29, 0xd8, //0x00000232 subq %rbx, %rax + 0x4c, 0x01, 0xc3, //0x00000235 addq %r8, %rbx + 0x48, 0x83, 0xf8, 0x10, //0x00000238 cmpq $16, %rax + 0x0f, 0x82, 0x7b, 0x00, 0x00, 0x00, //0x0000023c jb LBB0_34 + 0x4c, 0x29, 0xf1, //0x00000242 subq %r14, %rcx + 0x48, 0x83, 0xc1, 0xef, //0x00000245 addq $-17, %rcx + 0x48, 0x89, 0xca, //0x00000249 movq %rcx, %rdx + 0x48, 0x83, 0xe2, 0xf0, //0x0000024c andq $-16, %rdx + 0x4c, 0x01, 0xf2, //0x00000250 addq %r14, %rdx + 0x49, 0x8d, 0x54, 0x10, 0x11, //0x00000253 leaq $17(%r8,%rdx), %rdx + 0x83, 0xe1, 0x0f, //0x00000258 andl $15, %ecx + 0xf3, 0x0f, 0x6f, 0x05, 0x9d, 0xfd, 0xff, 0xff, //0x0000025b movdqu $-611(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0xa5, 0xfd, 0xff, 0xff, //0x00000263 movdqu $-603(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x15, 0xad, 0xfd, 0xff, 0xff, //0x0000026b movdqu $-595(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000273 .p2align 4, 0x90 + //0x00000280 LBB0_31 + 0xf3, 0x0f, 0x6f, 0x1b, //0x00000280 movdqu (%rbx), %xmm3 + 0x66, 0x0f, 0x6f, 0xe3, //0x00000284 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0x74, 0xe0, //0x00000288 pcmpeqb %xmm0, %xmm4 + 0x66, 0x0f, 0xeb, 0xd9, //0x0000028c por %xmm1, %xmm3 + 0x66, 0x0f, 0x74, 0xda, //0x00000290 pcmpeqb %xmm2, %xmm3 + 0x66, 0x0f, 0xeb, 0xdc, //0x00000294 por %xmm4, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x00000298 pmovmskb %xmm3, %edi + 0x66, 0x85, 0xff, //0x0000029c testw %di, %di + 0x0f, 0x85, 0x5a, 0x00, 0x00, 0x00, //0x0000029f jne LBB0_42 + 0x48, 0x83, 0xc3, 0x10, //0x000002a5 addq $16, %rbx + 0x48, 0x83, 0xc0, 0xf0, //0x000002a9 addq $-16, %rax + 0x48, 0x83, 0xf8, 0x0f, //0x000002ad cmpq $15, %rax + 0x0f, 0x87, 0xc9, 0xff, 0xff, 0xff, //0x000002b1 ja LBB0_31 + 0x48, 0x89, 0xc8, //0x000002b7 movq %rcx, %rax + 0x48, 0x89, 0xd3, //0x000002ba movq %rdx, %rbx + //0x000002bd LBB0_34 + 0x48, 0x85, 0xc0, //0x000002bd testq %rax, %rax + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x000002c0 je LBB0_41 + 0x48, 0x8d, 0x0c, 0x03, //0x000002c6 leaq (%rbx,%rax), %rcx + //0x000002ca LBB0_36 + 0x0f, 0xb6, 0x13, //0x000002ca movzbl (%rbx), %edx + 0x80, 0xfa, 0x2c, //0x000002cd cmpb $44, %dl + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x000002d0 je LBB0_41 + 0x80, 0xfa, 0x7d, //0x000002d6 cmpb $125, %dl + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x000002d9 je LBB0_41 + 0x80, 0xfa, 0x5d, //0x000002df cmpb $93, %dl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x000002e2 je LBB0_41 + 0x48, 0xff, 0xc3, //0x000002e8 incq %rbx + 0x48, 0xff, 0xc8, //0x000002eb decq %rax + 0x0f, 0x85, 0xd6, 0xff, 0xff, 0xff, //0x000002ee jne LBB0_36 + 0x48, 0x89, 0xcb, //0x000002f4 movq %rcx, %rbx + //0x000002f7 LBB0_41 + 0x4c, 0x29, 0xc3, //0x000002f7 subq %r8, %rbx + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x000002fa jmp LBB0_43 + //0x000002ff LBB0_42 + 0x0f, 0xb7, 0xc7, //0x000002ff movzwl %di, %eax + 0x48, 0x0f, 0xbc, 0xc0, //0x00000302 bsfq %rax, %rax + 0x4c, 0x29, 0xc3, //0x00000306 subq %r8, %rbx + 0x48, 0x01, 0xc3, //0x00000309 addq %rax, %rbx + //0x0000030c LBB0_43 + 0x48, 0x89, 0x1e, //0x0000030c movq %rbx, (%rsi) + //0x0000030f LBB0_44 + 0x4c, 0x89, 0xf0, //0x0000030f movq %r14, %rax + //0x00000312 LBB0_45 + 0x48, 0x83, 0xc4, 0x58, //0x00000312 addq $88, %rsp + 0x5b, //0x00000316 popq %rbx + 0x41, 0x5c, //0x00000317 popq %r12 + 0x41, 0x5d, //0x00000319 popq %r13 + 0x41, 0x5e, //0x0000031b popq %r14 + 0x41, 0x5f, //0x0000031d popq %r15 + 0x5d, //0x0000031f popq %rbp + 0xc3, //0x00000320 retq + //0x00000321 LBB0_46 + 0x49, 0x8d, 0x4e, 0x04, //0x00000321 leaq $4(%r14), %rcx + 0x48, 0x3b, 0x4f, 0x08, //0x00000325 cmpq $8(%rdi), %rcx + 0x0f, 0x87, 0xe3, 0xff, 0xff, 0xff, //0x00000329 ja LBB0_45 + 0xe9, 0x6a, 0x05, 0x00, 0x00, //0x0000032f jmp LBB0_83 + //0x00000334 LBB0_47 + 0x4c, 0x89, 0x36, //0x00000334 movq %r14, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000337 movq $-2, %rax + 0xe9, 0xcf, 0xff, 0xff, 0xff, //0x0000033e jmp LBB0_45 + //0x00000343 LBB0_48 + 0x4c, 0x8b, 0x4f, 0x08, //0x00000343 movq $8(%rdi), %r9 + 0x4d, 0x89, 0xcf, //0x00000347 movq %r9, %r15 + 0x49, 0x29, 0xdf, //0x0000034a subq %rbx, %r15 + 0x49, 0x83, 0xff, 0x20, //0x0000034d cmpq $32, %r15 + 0x0f, 0x8c, 0x3e, 0x0a, 0x00, 0x00, //0x00000351 jl LBB0_117 + 0x41, 0xba, 0xff, 0xff, 0xff, 0xff, //0x00000357 movl $4294967295, %r10d + 0x4f, 0x8d, 0x1c, 0x30, //0x0000035d leaq (%r8,%r14), %r11 + 0x4d, 0x29, 0xf1, //0x00000361 subq %r14, %r9 + 0x41, 0xbd, 0x1f, 0x00, 0x00, 0x00, //0x00000364 movl $31, %r13d + 0x45, 0x31, 0xff, //0x0000036a xorl %r15d, %r15d + 0xf3, 0x0f, 0x6f, 0x05, 0xbb, 0xfc, 0xff, 0xff, //0x0000036d movdqu $-837(%rip), %xmm0 /* LCPI0_3+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0xc3, 0xfc, 0xff, 0xff, //0x00000375 movdqu $-829(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0x45, 0x31, 0xe4, //0x0000037d xorl %r12d, %r12d + 0xe9, 0x2d, 0x00, 0x00, 0x00, //0x00000380 jmp LBB0_50 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000385 .p2align 4, 0x90 + //0x00000390 LBB0_52 + 0x45, 0x31, 0xe4, //0x00000390 xorl %r12d, %r12d + 0x85, 0xc9, //0x00000393 testl %ecx, %ecx + 0x0f, 0x85, 0xa6, 0x00, 0x00, 0x00, //0x00000395 jne LBB0_110 + //0x0000039b LBB0_53 + 0x49, 0x83, 0xc7, 0x20, //0x0000039b addq $32, %r15 + 0x4b, 0x8d, 0x4c, 0x29, 0xe0, //0x0000039f leaq $-32(%r9,%r13), %rcx + 0x49, 0x83, 0xc5, 0xe0, //0x000003a4 addq $-32, %r13 + 0x48, 0x83, 0xf9, 0x3f, //0x000003a8 cmpq $63, %rcx + 0x0f, 0x8e, 0x60, 0x09, 0x00, 0x00, //0x000003ac jle LBB0_54 + //0x000003b2 LBB0_50 + 0xf3, 0x43, 0x0f, 0x6f, 0x54, 0x3b, 0x01, //0x000003b2 movdqu $1(%r11,%r15), %xmm2 + 0xf3, 0x43, 0x0f, 0x6f, 0x5c, 0x3b, 0x11, //0x000003b9 movdqu $17(%r11,%r15), %xmm3 + 0x66, 0x0f, 0x6f, 0xe2, //0x000003c0 movdqa %xmm2, %xmm4 + 0x66, 0x0f, 0x74, 0xe0, //0x000003c4 pcmpeqb %xmm0, %xmm4 + 0x66, 0x0f, 0xd7, 0xfc, //0x000003c8 pmovmskb %xmm4, %edi + 0x66, 0x0f, 0x6f, 0xe3, //0x000003cc movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0x74, 0xe0, //0x000003d0 pcmpeqb %xmm0, %xmm4 + 0x66, 0x0f, 0xd7, 0xcc, //0x000003d4 pmovmskb %xmm4, %ecx + 0x48, 0xc1, 0xe1, 0x10, //0x000003d8 shlq $16, %rcx + 0x48, 0x09, 0xf9, //0x000003dc orq %rdi, %rcx + 0x66, 0x0f, 0x74, 0xd1, //0x000003df pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xda, //0x000003e3 pmovmskb %xmm2, %ebx + 0x66, 0x0f, 0x74, 0xd9, //0x000003e7 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x000003eb pmovmskb %xmm3, %edi + 0x48, 0xc1, 0xe7, 0x10, //0x000003ef shlq $16, %rdi + 0x48, 0x09, 0xdf, //0x000003f3 orq %rbx, %rdi + 0x48, 0x89, 0xfb, //0x000003f6 movq %rdi, %rbx + 0x4c, 0x09, 0xe3, //0x000003f9 orq %r12, %rbx + 0x0f, 0x84, 0x8e, 0xff, 0xff, 0xff, //0x000003fc je LBB0_52 + 0x44, 0x89, 0xe3, //0x00000402 movl %r12d, %ebx + 0x44, 0x31, 0xd3, //0x00000405 xorl %r10d, %ebx + 0x21, 0xdf, //0x00000408 andl %ebx, %edi + 0x8d, 0x1c, 0x3f, //0x0000040a leal (%rdi,%rdi), %ebx + 0x44, 0x09, 0xe3, //0x0000040d orl %r12d, %ebx + 0x41, 0x8d, 0x92, 0xab, 0xaa, 0xaa, 0xaa, //0x00000410 leal $-1431655765(%r10), %edx + 0x31, 0xda, //0x00000417 xorl %ebx, %edx + 0x21, 0xfa, //0x00000419 andl %edi, %edx + 0x81, 0xe2, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000041b andl $-1431655766, %edx + 0x45, 0x31, 0xe4, //0x00000421 xorl %r12d, %r12d + 0x01, 0xfa, //0x00000424 addl %edi, %edx + 0x41, 0x0f, 0x92, 0xc4, //0x00000426 setb %r12b + 0x01, 0xd2, //0x0000042a addl %edx, %edx + 0x81, 0xf2, 0x55, 0x55, 0x55, 0x55, //0x0000042c xorl $1431655765, %edx + 0x21, 0xda, //0x00000432 andl %ebx, %edx + 0x44, 0x31, 0xd2, //0x00000434 xorl %r10d, %edx + 0x21, 0xd1, //0x00000437 andl %edx, %ecx + 0x85, 0xc9, //0x00000439 testl %ecx, %ecx + 0x0f, 0x84, 0x5a, 0xff, 0xff, 0xff, //0x0000043b je LBB0_53 + //0x00000441 LBB0_110 + 0x48, 0x0f, 0xbc, 0xc1, //0x00000441 bsfq %rcx, %rax + 0x49, 0x01, 0xc3, //0x00000445 addq %rax, %r11 + 0x4d, 0x01, 0xfb, //0x00000448 addq %r15, %r11 + 0x4d, 0x29, 0xc3, //0x0000044b subq %r8, %r11 + 0x49, 0x83, 0xc3, 0x02, //0x0000044e addq $2, %r11 + 0x4c, 0x89, 0x1e, //0x00000452 movq %r11, (%rsi) + 0xe9, 0xb5, 0xfe, 0xff, 0xff, //0x00000455 jmp LBB0_44 + //0x0000045a LBB0_57 + 0x49, 0xbd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x0000045a movabsq $6148914691236517205, %r13 + 0x48, 0x8b, 0x4f, 0x08, //0x00000464 movq $8(%rdi), %rcx + 0x48, 0x29, 0xd9, //0x00000468 subq %rbx, %rcx + 0x49, 0x01, 0xd8, //0x0000046b addq %rbx, %r8 + 0x45, 0x31, 0xff, //0x0000046e xorl %r15d, %r15d + 0xf3, 0x44, 0x0f, 0x6f, 0x15, 0xb6, 0xfb, 0xff, 0xff, //0x00000471 movdqu $-1098(%rip), %xmm10 /* LCPI0_3+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0xbe, 0xfb, 0xff, 0xff, //0x0000047a movdqu $-1090(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0x66, 0x45, 0x0f, 0x76, 0xc9, //0x00000482 pcmpeqd %xmm9, %xmm9 + 0xf3, 0x0f, 0x6f, 0x1d, 0xd1, 0xfb, 0xff, 0xff, //0x00000487 movdqu $-1071(%rip), %xmm3 /* LCPI0_6+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x25, 0xd9, 0xfb, 0xff, 0xff, //0x0000048f movdqu $-1063(%rip), %xmm4 /* LCPI0_7+0(%rip) */ + 0x45, 0x0f, 0x57, 0xc0, //0x00000497 xorps %xmm8, %xmm8 + 0x45, 0x31, 0xd2, //0x0000049b xorl %r10d, %r10d + 0x31, 0xd2, //0x0000049e xorl %edx, %edx + 0x48, 0x89, 0x55, 0xc0, //0x000004a0 movq %rdx, $-64(%rbp) + 0x45, 0x31, 0xdb, //0x000004a4 xorl %r11d, %r11d + 0xe9, 0x60, 0x00, 0x00, 0x00, //0x000004a7 jmp LBB0_59 + //0x000004ac LBB0_58 + 0x49, 0xc1, 0xf9, 0x3f, //0x000004ac sarq $63, %r9 + 0x4c, 0x89, 0xf9, //0x000004b0 movq %r15, %rcx + 0x48, 0xd1, 0xe9, //0x000004b3 shrq %rcx + 0x4c, 0x21, 0xe9, //0x000004b6 andq %r13, %rcx + 0x49, 0x29, 0xcf, //0x000004b9 subq %rcx, %r15 + 0x4c, 0x89, 0xf9, //0x000004bc movq %r15, %rcx + 0x4c, 0x21, 0xd1, //0x000004bf andq %r10, %rcx + 0x49, 0xc1, 0xef, 0x02, //0x000004c2 shrq $2, %r15 + 0x4d, 0x21, 0xd7, //0x000004c6 andq %r10, %r15 + 0x49, 0x01, 0xcf, //0x000004c9 addq %rcx, %r15 + 0x4c, 0x89, 0xf9, //0x000004cc movq %r15, %rcx + 0x48, 0xc1, 0xe9, 0x04, //0x000004cf shrq $4, %rcx + 0x4c, 0x01, 0xf9, //0x000004d3 addq %r15, %rcx + 0x48, 0xba, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x000004d6 movabsq $1085102592571150095, %rdx + 0x48, 0x21, 0xd1, //0x000004e0 andq %rdx, %rcx + 0x48, 0xba, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x000004e3 movabsq $72340172838076673, %rdx + 0x48, 0x0f, 0xaf, 0xca, //0x000004ed imulq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x38, //0x000004f1 shrq $56, %rcx + 0x48, 0x01, 0x4d, 0xc0, //0x000004f5 addq %rcx, $-64(%rbp) + 0x49, 0x83, 0xc0, 0x40, //0x000004f9 addq $64, %r8 + 0x48, 0x8b, 0x4d, 0xd0, //0x000004fd movq $-48(%rbp), %rcx + 0x48, 0x83, 0xc1, 0xc0, //0x00000501 addq $-64, %rcx + 0x4d, 0x89, 0xcf, //0x00000505 movq %r9, %r15 + 0x4c, 0x8b, 0x55, 0xc8, //0x00000508 movq $-56(%rbp), %r10 + //0x0000050c LBB0_59 + 0x48, 0x83, 0xf9, 0x40, //0x0000050c cmpq $64, %rcx + 0x48, 0x89, 0x4d, 0xd0, //0x00000510 movq %rcx, $-48(%rbp) + 0x0f, 0x8c, 0x34, 0x02, 0x00, 0x00, //0x00000514 jl LBB0_66 + //0x0000051a LBB0_60 + 0xf3, 0x41, 0x0f, 0x6f, 0x00, //0x0000051a movdqu (%r8), %xmm0 + 0xf3, 0x41, 0x0f, 0x6f, 0x68, 0x10, //0x0000051f movdqu $16(%r8), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x78, 0x20, //0x00000525 movdqu $32(%r8), %xmm7 + 0xf3, 0x41, 0x0f, 0x6f, 0x70, 0x30, //0x0000052b movdqu $48(%r8), %xmm6 + 0x66, 0x0f, 0x6f, 0xd0, //0x00000531 movdqa %xmm0, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x00000535 pcmpeqb %xmm10, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xca, //0x0000053a pmovmskb %xmm2, %r9d + 0x66, 0x0f, 0x6f, 0xd5, //0x0000053f movdqa %xmm5, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x00000543 pcmpeqb %xmm10, %xmm2 + 0x66, 0x0f, 0xd7, 0xca, //0x00000548 pmovmskb %xmm2, %ecx + 0x66, 0x0f, 0x6f, 0xd7, //0x0000054c movdqa %xmm7, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x00000550 pcmpeqb %xmm10, %xmm2 + 0x66, 0x0f, 0xd7, 0xda, //0x00000555 pmovmskb %xmm2, %ebx + 0x66, 0x0f, 0x6f, 0xd6, //0x00000559 movdqa %xmm6, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x0000055d pcmpeqb %xmm10, %xmm2 + 0x66, 0x0f, 0xd7, 0xd2, //0x00000562 pmovmskb %xmm2, %edx + 0x48, 0xc1, 0xe2, 0x30, //0x00000566 shlq $48, %rdx + 0x48, 0xc1, 0xe3, 0x20, //0x0000056a shlq $32, %rbx + 0x48, 0xc1, 0xe1, 0x10, //0x0000056e shlq $16, %rcx + 0x49, 0x09, 0xc9, //0x00000572 orq %rcx, %r9 + 0x49, 0x09, 0xd9, //0x00000575 orq %rbx, %r9 + 0x49, 0x09, 0xd1, //0x00000578 orq %rdx, %r9 + 0x66, 0x0f, 0x6f, 0xd0, //0x0000057b movdqa %xmm0, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x0000057f pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xca, //0x00000583 pmovmskb %xmm2, %ecx + 0x66, 0x0f, 0x6f, 0xd5, //0x00000587 movdqa %xmm5, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x0000058b pcmpeqb %xmm1, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xe2, //0x0000058f pmovmskb %xmm2, %r12d + 0x66, 0x0f, 0x6f, 0xd7, //0x00000594 movdqa %xmm7, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x00000598 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xda, //0x0000059c pmovmskb %xmm2, %ebx + 0x66, 0x0f, 0x6f, 0xd6, //0x000005a0 movdqa %xmm6, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x000005a4 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xd2, //0x000005a8 pmovmskb %xmm2, %edx + 0x48, 0xc1, 0xe2, 0x30, //0x000005ac shlq $48, %rdx + 0x48, 0xc1, 0xe3, 0x20, //0x000005b0 shlq $32, %rbx + 0x49, 0xc1, 0xe4, 0x10, //0x000005b4 shlq $16, %r12 + 0x4c, 0x09, 0xe1, //0x000005b8 orq %r12, %rcx + 0x48, 0x09, 0xd9, //0x000005bb orq %rbx, %rcx + 0x48, 0x09, 0xd1, //0x000005be orq %rdx, %rcx + 0x48, 0x89, 0xca, //0x000005c1 movq %rcx, %rdx + 0x4c, 0x09, 0xd2, //0x000005c4 orq %r10, %rdx + 0x0f, 0x84, 0x43, 0x00, 0x00, 0x00, //0x000005c7 je LBB0_62 + 0x4c, 0x89, 0xd2, //0x000005cd movq %r10, %rdx + 0x48, 0xf7, 0xd2, //0x000005d0 notq %rdx + 0x48, 0x21, 0xca, //0x000005d3 andq %rcx, %rdx + 0x4c, 0x8d, 0x24, 0x12, //0x000005d6 leaq (%rdx,%rdx), %r12 + 0x4d, 0x09, 0xd4, //0x000005da orq %r10, %r12 + 0x4d, 0x89, 0xe2, //0x000005dd movq %r12, %r10 + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000005e0 movabsq $-6148914691236517206, %rbx + 0x49, 0x31, 0xda, //0x000005ea xorq %rbx, %r10 + 0x48, 0x21, 0xd9, //0x000005ed andq %rbx, %rcx + 0x4c, 0x21, 0xd1, //0x000005f0 andq %r10, %rcx + 0x31, 0xdb, //0x000005f3 xorl %ebx, %ebx + 0x48, 0x01, 0xd1, //0x000005f5 addq %rdx, %rcx + 0x0f, 0x92, 0xc3, //0x000005f8 setb %bl + 0x48, 0x89, 0x5d, 0xc8, //0x000005fb movq %rbx, $-56(%rbp) + 0x48, 0x01, 0xc9, //0x000005ff addq %rcx, %rcx + 0x4c, 0x31, 0xe9, //0x00000602 xorq %r13, %rcx + 0x4c, 0x21, 0xe1, //0x00000605 andq %r12, %rcx + 0x48, 0xf7, 0xd1, //0x00000608 notq %rcx + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x0000060b jmp LBB0_63 + //0x00000610 LBB0_62 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000610 movq $-1, %rcx + 0x31, 0xd2, //0x00000617 xorl %edx, %edx + 0x48, 0x89, 0x55, 0xc8, //0x00000619 movq %rdx, $-56(%rbp) + //0x0000061d LBB0_63 + 0x4c, 0x21, 0xc9, //0x0000061d andq %r9, %rcx + 0x66, 0x48, 0x0f, 0x6e, 0xd1, //0x00000620 movq %rcx, %xmm2 + 0x66, 0x41, 0x0f, 0x3a, 0x44, 0xd1, 0x00, //0x00000625 pclmulqdq $0, %xmm9, %xmm2 + 0x66, 0x49, 0x0f, 0x7e, 0xd1, //0x0000062c movq %xmm2, %r9 + 0x4d, 0x31, 0xf9, //0x00000631 xorq %r15, %r9 + 0x66, 0x0f, 0x6f, 0xd0, //0x00000634 movdqa %xmm0, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x00000638 pcmpeqb %xmm3, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xfa, //0x0000063c pmovmskb %xmm2, %r15d + 0x66, 0x0f, 0x6f, 0xd5, //0x00000641 movdqa %xmm5, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x00000645 pcmpeqb %xmm3, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xe2, //0x00000649 pmovmskb %xmm2, %r12d + 0x66, 0x0f, 0x6f, 0xd7, //0x0000064e movdqa %xmm7, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x00000652 pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xda, //0x00000656 pmovmskb %xmm2, %ebx + 0x66, 0x0f, 0x6f, 0xd6, //0x0000065a movdqa %xmm6, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x0000065e pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xca, //0x00000662 pmovmskb %xmm2, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x00000666 shlq $48, %rcx + 0x48, 0xc1, 0xe3, 0x20, //0x0000066a shlq $32, %rbx + 0x49, 0xc1, 0xe4, 0x10, //0x0000066e shlq $16, %r12 + 0x4d, 0x09, 0xe7, //0x00000672 orq %r12, %r15 + 0x49, 0x09, 0xdf, //0x00000675 orq %rbx, %r15 + 0x49, 0x09, 0xcf, //0x00000678 orq %rcx, %r15 + 0x4c, 0x89, 0xc9, //0x0000067b movq %r9, %rcx + 0x48, 0xf7, 0xd1, //0x0000067e notq %rcx + 0x49, 0x21, 0xcf, //0x00000681 andq %rcx, %r15 + 0x66, 0x0f, 0x74, 0xc4, //0x00000684 pcmpeqb %xmm4, %xmm0 + 0x66, 0x44, 0x0f, 0xd7, 0xe0, //0x00000688 pmovmskb %xmm0, %r12d + 0x66, 0x0f, 0x74, 0xec, //0x0000068d pcmpeqb %xmm4, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00000691 pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x74, 0xfc, //0x00000695 pcmpeqb %xmm4, %xmm7 + 0x66, 0x44, 0x0f, 0xd7, 0xd7, //0x00000699 pmovmskb %xmm7, %r10d + 0x66, 0x0f, 0x74, 0xf4, //0x0000069e pcmpeqb %xmm4, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xee, //0x000006a2 pmovmskb %xmm6, %r13d + 0x49, 0xc1, 0xe5, 0x30, //0x000006a7 shlq $48, %r13 + 0x49, 0xc1, 0xe2, 0x20, //0x000006ab shlq $32, %r10 + 0x48, 0xc1, 0xe3, 0x10, //0x000006af shlq $16, %rbx + 0x49, 0x09, 0xdc, //0x000006b3 orq %rbx, %r12 + 0x4d, 0x09, 0xd4, //0x000006b6 orq %r10, %r12 + 0x4d, 0x09, 0xec, //0x000006b9 orq %r13, %r12 + 0x49, 0xbd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000006bc movabsq $6148914691236517205, %r13 + 0x49, 0xba, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, //0x000006c6 movabsq $3689348814741910323, %r10 + 0x49, 0x21, 0xcc, //0x000006d0 andq %rcx, %r12 + 0x0f, 0x84, 0xd3, 0xfd, 0xff, 0xff, //0x000006d3 je LBB0_58 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000006d9 .p2align 4, 0x90 + //0x000006e0 LBB0_64 + 0x49, 0x8d, 0x54, 0x24, 0xff, //0x000006e0 leaq $-1(%r12), %rdx + 0x48, 0x89, 0xd3, //0x000006e5 movq %rdx, %rbx + 0x4c, 0x21, 0xfb, //0x000006e8 andq %r15, %rbx + 0x48, 0x89, 0xd9, //0x000006eb movq %rbx, %rcx + 0x48, 0xd1, 0xe9, //0x000006ee shrq %rcx + 0x4c, 0x21, 0xe9, //0x000006f1 andq %r13, %rcx + 0x48, 0x29, 0xcb, //0x000006f4 subq %rcx, %rbx + 0x48, 0x89, 0xd9, //0x000006f7 movq %rbx, %rcx + 0x4c, 0x21, 0xd1, //0x000006fa andq %r10, %rcx + 0x48, 0xc1, 0xeb, 0x02, //0x000006fd shrq $2, %rbx + 0x4c, 0x21, 0xd3, //0x00000701 andq %r10, %rbx + 0x48, 0x01, 0xcb, //0x00000704 addq %rcx, %rbx + 0x48, 0x89, 0xd9, //0x00000707 movq %rbx, %rcx + 0x48, 0xc1, 0xe9, 0x04, //0x0000070a shrq $4, %rcx + 0x48, 0x01, 0xd9, //0x0000070e addq %rbx, %rcx + 0x48, 0xbb, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000711 movabsq $1085102592571150095, %rbx + 0x48, 0x21, 0xd9, //0x0000071b andq %rbx, %rcx + 0x48, 0xbb, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x0000071e movabsq $72340172838076673, %rbx + 0x48, 0x0f, 0xaf, 0xcb, //0x00000728 imulq %rbx, %rcx + 0x48, 0xc1, 0xe9, 0x38, //0x0000072c shrq $56, %rcx + 0x48, 0x03, 0x4d, 0xc0, //0x00000730 addq $-64(%rbp), %rcx + 0x4c, 0x39, 0xd9, //0x00000734 cmpq %r11, %rcx + 0x0f, 0x86, 0xa3, 0x05, 0x00, 0x00, //0x00000737 jbe LBB0_109 + 0x49, 0xff, 0xc3, //0x0000073d incq %r11 + 0x49, 0x21, 0xd4, //0x00000740 andq %rdx, %r12 + 0x0f, 0x85, 0x97, 0xff, 0xff, 0xff, //0x00000743 jne LBB0_64 + 0xe9, 0x5e, 0xfd, 0xff, 0xff, //0x00000749 jmp LBB0_58 + //0x0000074e LBB0_66 + 0x48, 0x85, 0xc9, //0x0000074e testq %rcx, %rcx + 0x0f, 0x8e, 0x46, 0x06, 0x00, 0x00, //0x00000751 jle LBB0_118 + 0x4c, 0x89, 0xd3, //0x00000757 movq %r10, %rbx + 0x44, 0x0f, 0x11, 0x45, 0xb0, //0x0000075a movups %xmm8, $-80(%rbp) + 0x44, 0x0f, 0x11, 0x45, 0xa0, //0x0000075f movups %xmm8, $-96(%rbp) + 0x44, 0x0f, 0x11, 0x45, 0x90, //0x00000764 movups %xmm8, $-112(%rbp) + 0x44, 0x0f, 0x11, 0x45, 0x80, //0x00000769 movups %xmm8, $-128(%rbp) + 0x44, 0x89, 0xc1, //0x0000076e movl %r8d, %ecx + 0x81, 0xe1, 0xff, 0x0f, 0x00, 0x00, //0x00000771 andl $4095, %ecx + 0x81, 0xf9, 0xc1, 0x0f, 0x00, 0x00, //0x00000777 cmpl $4033, %ecx + 0x0f, 0x82, 0x31, 0x00, 0x00, 0x00, //0x0000077d jb LBB0_70 + 0x48, 0x83, 0x7d, 0xd0, 0x20, //0x00000783 cmpq $32, $-48(%rbp) + 0x0f, 0x82, 0x38, 0x00, 0x00, 0x00, //0x00000788 jb LBB0_71 + 0x41, 0x0f, 0x10, 0x00, //0x0000078e movups (%r8), %xmm0 + 0x0f, 0x11, 0x45, 0x80, //0x00000792 movups %xmm0, $-128(%rbp) + 0x41, 0x0f, 0x10, 0x40, 0x10, //0x00000796 movups $16(%r8), %xmm0 + 0x0f, 0x11, 0x45, 0x90, //0x0000079b movups %xmm0, $-112(%rbp) + 0x49, 0x83, 0xc0, 0x20, //0x0000079f addq $32, %r8 + 0x48, 0x8b, 0x4d, 0xd0, //0x000007a3 movq $-48(%rbp), %rcx + 0x48, 0x8d, 0x51, 0xe0, //0x000007a7 leaq $-32(%rcx), %rdx + 0x4c, 0x8d, 0x4d, 0xa0, //0x000007ab leaq $-96(%rbp), %r9 + 0xe9, 0x1a, 0x00, 0x00, 0x00, //0x000007af jmp LBB0_72 + //0x000007b4 LBB0_70 + 0x49, 0xbd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000007b4 movabsq $6148914691236517205, %r13 + 0x49, 0x89, 0xda, //0x000007be movq %rbx, %r10 + 0xe9, 0x54, 0xfd, 0xff, 0xff, //0x000007c1 jmp LBB0_60 + //0x000007c6 LBB0_71 + 0x4c, 0x8d, 0x4d, 0x80, //0x000007c6 leaq $-128(%rbp), %r9 + 0x48, 0x8b, 0x55, 0xd0, //0x000007ca movq $-48(%rbp), %rdx + //0x000007ce LBB0_72 + 0x48, 0x83, 0xfa, 0x10, //0x000007ce cmpq $16, %rdx + 0x0f, 0x82, 0x49, 0x00, 0x00, 0x00, //0x000007d2 jb LBB0_73 + 0x41, 0x0f, 0x10, 0x00, //0x000007d8 movups (%r8), %xmm0 + 0x41, 0x0f, 0x11, 0x01, //0x000007dc movups %xmm0, (%r9) + 0x49, 0x83, 0xc0, 0x10, //0x000007e0 addq $16, %r8 + 0x49, 0x83, 0xc1, 0x10, //0x000007e4 addq $16, %r9 + 0x48, 0x83, 0xc2, 0xf0, //0x000007e8 addq $-16, %rdx + 0x48, 0x83, 0xfa, 0x08, //0x000007ec cmpq $8, %rdx + 0x0f, 0x83, 0x35, 0x00, 0x00, 0x00, //0x000007f0 jae LBB0_80 + //0x000007f6 LBB0_74 + 0x48, 0x83, 0xfa, 0x04, //0x000007f6 cmpq $4, %rdx + 0x0f, 0x8c, 0x47, 0x00, 0x00, 0x00, //0x000007fa jl LBB0_75 + //0x00000800 LBB0_81 + 0x41, 0x8b, 0x08, //0x00000800 movl (%r8), %ecx + 0x41, 0x89, 0x09, //0x00000803 movl %ecx, (%r9) + 0x49, 0x83, 0xc0, 0x04, //0x00000806 addq $4, %r8 + 0x49, 0x83, 0xc1, 0x04, //0x0000080a addq $4, %r9 + 0x48, 0x83, 0xc2, 0xfc, //0x0000080e addq $-4, %rdx + 0x48, 0x83, 0xfa, 0x02, //0x00000812 cmpq $2, %rdx + 0x0f, 0x83, 0x35, 0x00, 0x00, 0x00, //0x00000816 jae LBB0_76 + 0xe9, 0x44, 0x00, 0x00, 0x00, //0x0000081c jmp LBB0_77 + //0x00000821 LBB0_73 + 0x48, 0x83, 0xfa, 0x08, //0x00000821 cmpq $8, %rdx + 0x0f, 0x82, 0xcb, 0xff, 0xff, 0xff, //0x00000825 jb LBB0_74 + //0x0000082b LBB0_80 + 0x49, 0x8b, 0x08, //0x0000082b movq (%r8), %rcx + 0x49, 0x89, 0x09, //0x0000082e movq %rcx, (%r9) + 0x49, 0x83, 0xc0, 0x08, //0x00000831 addq $8, %r8 + 0x49, 0x83, 0xc1, 0x08, //0x00000835 addq $8, %r9 + 0x48, 0x83, 0xc2, 0xf8, //0x00000839 addq $-8, %rdx + 0x48, 0x83, 0xfa, 0x04, //0x0000083d cmpq $4, %rdx + 0x0f, 0x8d, 0xb9, 0xff, 0xff, 0xff, //0x00000841 jge LBB0_81 + //0x00000847 LBB0_75 + 0x48, 0x83, 0xfa, 0x02, //0x00000847 cmpq $2, %rdx + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x0000084b jb LBB0_77 + //0x00000851 LBB0_76 + 0x41, 0x0f, 0xb7, 0x08, //0x00000851 movzwl (%r8), %ecx + 0x66, 0x41, 0x89, 0x09, //0x00000855 movw %cx, (%r9) + 0x49, 0x83, 0xc0, 0x02, //0x00000859 addq $2, %r8 + 0x49, 0x83, 0xc1, 0x02, //0x0000085d addq $2, %r9 + 0x48, 0x83, 0xc2, 0xfe, //0x00000861 addq $-2, %rdx + //0x00000865 LBB0_77 + 0x4c, 0x89, 0xc1, //0x00000865 movq %r8, %rcx + 0x4c, 0x8d, 0x45, 0x80, //0x00000868 leaq $-128(%rbp), %r8 + 0x48, 0x85, 0xd2, //0x0000086c testq %rdx, %rdx + 0x49, 0xbd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x0000086f movabsq $6148914691236517205, %r13 + 0x49, 0x89, 0xda, //0x00000879 movq %rbx, %r10 + 0x0f, 0x84, 0x98, 0xfc, 0xff, 0xff, //0x0000087c je LBB0_60 + 0x8a, 0x09, //0x00000882 movb (%rcx), %cl + 0x41, 0x88, 0x09, //0x00000884 movb %cl, (%r9) + 0x4c, 0x8d, 0x45, 0x80, //0x00000887 leaq $-128(%rbp), %r8 + 0xe9, 0x8a, 0xfc, 0xff, 0xff, //0x0000088b jmp LBB0_60 + //0x00000890 LBB0_82 + 0x49, 0x8d, 0x4e, 0x05, //0x00000890 leaq $5(%r14), %rcx + 0x48, 0x3b, 0x4f, 0x08, //0x00000894 cmpq $8(%rdi), %rcx + 0x0f, 0x87, 0x74, 0xfa, 0xff, 0xff, //0x00000898 ja LBB0_45 + //0x0000089e LBB0_83 + 0x48, 0x89, 0x0e, //0x0000089e movq %rcx, (%rsi) + 0xe9, 0x69, 0xfa, 0xff, 0xff, //0x000008a1 jmp LBB0_44 + //0x000008a6 LBB0_84 + 0x49, 0xbd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000008a6 movabsq $6148914691236517205, %r13 + 0x48, 0x8b, 0x4f, 0x08, //0x000008b0 movq $8(%rdi), %rcx + 0x48, 0x29, 0xd9, //0x000008b4 subq %rbx, %rcx + 0x49, 0x01, 0xd8, //0x000008b7 addq %rbx, %r8 + 0x45, 0x31, 0xff, //0x000008ba xorl %r15d, %r15d + 0xf3, 0x44, 0x0f, 0x6f, 0x15, 0x6a, 0xf7, 0xff, 0xff, //0x000008bd movdqu $-2198(%rip), %xmm10 /* LCPI0_3+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x72, 0xf7, 0xff, 0xff, //0x000008c6 movdqu $-2190(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0x66, 0x45, 0x0f, 0x76, 0xc9, //0x000008ce pcmpeqd %xmm9, %xmm9 + 0xf3, 0x0f, 0x6f, 0x1d, 0x75, 0xf7, 0xff, 0xff, //0x000008d3 movdqu $-2187(%rip), %xmm3 /* LCPI0_5+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x25, 0x3d, 0xf7, 0xff, 0xff, //0x000008db movdqu $-2243(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0x45, 0x0f, 0x57, 0xc0, //0x000008e3 xorps %xmm8, %xmm8 + 0x45, 0x31, 0xd2, //0x000008e7 xorl %r10d, %r10d + 0x31, 0xd2, //0x000008ea xorl %edx, %edx + 0x48, 0x89, 0x55, 0xc0, //0x000008ec movq %rdx, $-64(%rbp) + 0x45, 0x31, 0xdb, //0x000008f0 xorl %r11d, %r11d + 0xe9, 0x60, 0x00, 0x00, 0x00, //0x000008f3 jmp LBB0_86 + //0x000008f8 LBB0_85 + 0x49, 0xc1, 0xf9, 0x3f, //0x000008f8 sarq $63, %r9 + 0x4c, 0x89, 0xf9, //0x000008fc movq %r15, %rcx + 0x48, 0xd1, 0xe9, //0x000008ff shrq %rcx + 0x4c, 0x21, 0xe9, //0x00000902 andq %r13, %rcx + 0x49, 0x29, 0xcf, //0x00000905 subq %rcx, %r15 + 0x4c, 0x89, 0xf9, //0x00000908 movq %r15, %rcx + 0x4c, 0x21, 0xd1, //0x0000090b andq %r10, %rcx + 0x49, 0xc1, 0xef, 0x02, //0x0000090e shrq $2, %r15 + 0x4d, 0x21, 0xd7, //0x00000912 andq %r10, %r15 + 0x49, 0x01, 0xcf, //0x00000915 addq %rcx, %r15 + 0x4c, 0x89, 0xf9, //0x00000918 movq %r15, %rcx + 0x48, 0xc1, 0xe9, 0x04, //0x0000091b shrq $4, %rcx + 0x4c, 0x01, 0xf9, //0x0000091f addq %r15, %rcx + 0x48, 0xba, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000922 movabsq $1085102592571150095, %rdx + 0x48, 0x21, 0xd1, //0x0000092c andq %rdx, %rcx + 0x48, 0xba, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x0000092f movabsq $72340172838076673, %rdx + 0x48, 0x0f, 0xaf, 0xca, //0x00000939 imulq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x38, //0x0000093d shrq $56, %rcx + 0x48, 0x01, 0x4d, 0xc0, //0x00000941 addq %rcx, $-64(%rbp) + 0x49, 0x83, 0xc0, 0x40, //0x00000945 addq $64, %r8 + 0x48, 0x8b, 0x4d, 0xd0, //0x00000949 movq $-48(%rbp), %rcx + 0x48, 0x83, 0xc1, 0xc0, //0x0000094d addq $-64, %rcx + 0x4d, 0x89, 0xcf, //0x00000951 movq %r9, %r15 + 0x4c, 0x8b, 0x55, 0xc8, //0x00000954 movq $-56(%rbp), %r10 + //0x00000958 LBB0_86 + 0x48, 0x83, 0xf9, 0x40, //0x00000958 cmpq $64, %rcx + 0x48, 0x89, 0x4d, 0xd0, //0x0000095c movq %rcx, $-48(%rbp) + 0x0f, 0x8c, 0x38, 0x02, 0x00, 0x00, //0x00000960 jl LBB0_93 + //0x00000966 LBB0_87 + 0xf3, 0x41, 0x0f, 0x6f, 0x00, //0x00000966 movdqu (%r8), %xmm0 + 0xf3, 0x41, 0x0f, 0x6f, 0x68, 0x10, //0x0000096b movdqu $16(%r8), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x78, 0x20, //0x00000971 movdqu $32(%r8), %xmm7 + 0xf3, 0x41, 0x0f, 0x6f, 0x70, 0x30, //0x00000977 movdqu $48(%r8), %xmm6 + 0x66, 0x0f, 0x6f, 0xd0, //0x0000097d movdqa %xmm0, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x00000981 pcmpeqb %xmm10, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xca, //0x00000986 pmovmskb %xmm2, %r9d + 0x66, 0x0f, 0x6f, 0xd5, //0x0000098b movdqa %xmm5, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x0000098f pcmpeqb %xmm10, %xmm2 + 0x66, 0x0f, 0xd7, 0xca, //0x00000994 pmovmskb %xmm2, %ecx + 0x66, 0x0f, 0x6f, 0xd7, //0x00000998 movdqa %xmm7, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x0000099c pcmpeqb %xmm10, %xmm2 + 0x66, 0x0f, 0xd7, 0xda, //0x000009a1 pmovmskb %xmm2, %ebx + 0x66, 0x0f, 0x6f, 0xd6, //0x000009a5 movdqa %xmm6, %xmm2 + 0x66, 0x41, 0x0f, 0x74, 0xd2, //0x000009a9 pcmpeqb %xmm10, %xmm2 + 0x66, 0x0f, 0xd7, 0xd2, //0x000009ae pmovmskb %xmm2, %edx + 0x48, 0xc1, 0xe2, 0x30, //0x000009b2 shlq $48, %rdx + 0x48, 0xc1, 0xe3, 0x20, //0x000009b6 shlq $32, %rbx + 0x48, 0xc1, 0xe1, 0x10, //0x000009ba shlq $16, %rcx + 0x49, 0x09, 0xc9, //0x000009be orq %rcx, %r9 + 0x49, 0x09, 0xd9, //0x000009c1 orq %rbx, %r9 + 0x49, 0x09, 0xd1, //0x000009c4 orq %rdx, %r9 + 0x66, 0x0f, 0x6f, 0xd0, //0x000009c7 movdqa %xmm0, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x000009cb pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xca, //0x000009cf pmovmskb %xmm2, %ecx + 0x66, 0x0f, 0x6f, 0xd5, //0x000009d3 movdqa %xmm5, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x000009d7 pcmpeqb %xmm1, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xe2, //0x000009db pmovmskb %xmm2, %r12d + 0x66, 0x0f, 0x6f, 0xd7, //0x000009e0 movdqa %xmm7, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x000009e4 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xda, //0x000009e8 pmovmskb %xmm2, %ebx + 0x66, 0x0f, 0x6f, 0xd6, //0x000009ec movdqa %xmm6, %xmm2 + 0x66, 0x0f, 0x74, 0xd1, //0x000009f0 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xd2, //0x000009f4 pmovmskb %xmm2, %edx + 0x48, 0xc1, 0xe2, 0x30, //0x000009f8 shlq $48, %rdx + 0x48, 0xc1, 0xe3, 0x20, //0x000009fc shlq $32, %rbx + 0x49, 0xc1, 0xe4, 0x10, //0x00000a00 shlq $16, %r12 + 0x4c, 0x09, 0xe1, //0x00000a04 orq %r12, %rcx + 0x48, 0x09, 0xd9, //0x00000a07 orq %rbx, %rcx + 0x48, 0x09, 0xd1, //0x00000a0a orq %rdx, %rcx + 0x48, 0x89, 0xca, //0x00000a0d movq %rcx, %rdx + 0x4c, 0x09, 0xd2, //0x00000a10 orq %r10, %rdx + 0x0f, 0x84, 0x43, 0x00, 0x00, 0x00, //0x00000a13 je LBB0_89 + 0x4c, 0x89, 0xd2, //0x00000a19 movq %r10, %rdx + 0x48, 0xf7, 0xd2, //0x00000a1c notq %rdx + 0x48, 0x21, 0xca, //0x00000a1f andq %rcx, %rdx + 0x4c, 0x8d, 0x24, 0x12, //0x00000a22 leaq (%rdx,%rdx), %r12 + 0x4d, 0x09, 0xd4, //0x00000a26 orq %r10, %r12 + 0x4d, 0x89, 0xe2, //0x00000a29 movq %r12, %r10 + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000a2c movabsq $-6148914691236517206, %rbx + 0x49, 0x31, 0xda, //0x00000a36 xorq %rbx, %r10 + 0x48, 0x21, 0xd9, //0x00000a39 andq %rbx, %rcx + 0x4c, 0x21, 0xd1, //0x00000a3c andq %r10, %rcx + 0x31, 0xdb, //0x00000a3f xorl %ebx, %ebx + 0x48, 0x01, 0xd1, //0x00000a41 addq %rdx, %rcx + 0x0f, 0x92, 0xc3, //0x00000a44 setb %bl + 0x48, 0x89, 0x5d, 0xc8, //0x00000a47 movq %rbx, $-56(%rbp) + 0x48, 0x01, 0xc9, //0x00000a4b addq %rcx, %rcx + 0x4c, 0x31, 0xe9, //0x00000a4e xorq %r13, %rcx + 0x4c, 0x21, 0xe1, //0x00000a51 andq %r12, %rcx + 0x48, 0xf7, 0xd1, //0x00000a54 notq %rcx + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x00000a57 jmp LBB0_90 + //0x00000a5c LBB0_89 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000a5c movq $-1, %rcx + 0x31, 0xd2, //0x00000a63 xorl %edx, %edx + 0x48, 0x89, 0x55, 0xc8, //0x00000a65 movq %rdx, $-56(%rbp) + //0x00000a69 LBB0_90 + 0x4c, 0x21, 0xc9, //0x00000a69 andq %r9, %rcx + 0x66, 0x48, 0x0f, 0x6e, 0xd1, //0x00000a6c movq %rcx, %xmm2 + 0x66, 0x41, 0x0f, 0x3a, 0x44, 0xd1, 0x00, //0x00000a71 pclmulqdq $0, %xmm9, %xmm2 + 0x66, 0x49, 0x0f, 0x7e, 0xd1, //0x00000a78 movq %xmm2, %r9 + 0x4d, 0x31, 0xf9, //0x00000a7d xorq %r15, %r9 + 0x66, 0x0f, 0x6f, 0xd0, //0x00000a80 movdqa %xmm0, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x00000a84 pcmpeqb %xmm3, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xfa, //0x00000a88 pmovmskb %xmm2, %r15d + 0x66, 0x0f, 0x6f, 0xd5, //0x00000a8d movdqa %xmm5, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x00000a91 pcmpeqb %xmm3, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xe2, //0x00000a95 pmovmskb %xmm2, %r12d + 0x66, 0x0f, 0x6f, 0xd7, //0x00000a9a movdqa %xmm7, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x00000a9e pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xda, //0x00000aa2 pmovmskb %xmm2, %ebx + 0x66, 0x0f, 0x6f, 0xd6, //0x00000aa6 movdqa %xmm6, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x00000aaa pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xd7, 0xca, //0x00000aae pmovmskb %xmm2, %ecx + 0x48, 0xc1, 0xe1, 0x30, //0x00000ab2 shlq $48, %rcx + 0x48, 0xc1, 0xe3, 0x20, //0x00000ab6 shlq $32, %rbx + 0x49, 0xc1, 0xe4, 0x10, //0x00000aba shlq $16, %r12 + 0x4d, 0x09, 0xe7, //0x00000abe orq %r12, %r15 + 0x49, 0x09, 0xdf, //0x00000ac1 orq %rbx, %r15 + 0x49, 0x09, 0xcf, //0x00000ac4 orq %rcx, %r15 + 0x4c, 0x89, 0xc9, //0x00000ac7 movq %r9, %rcx + 0x48, 0xf7, 0xd1, //0x00000aca notq %rcx + 0x49, 0x21, 0xcf, //0x00000acd andq %rcx, %r15 + 0x66, 0x0f, 0x74, 0xc4, //0x00000ad0 pcmpeqb %xmm4, %xmm0 + 0x66, 0x44, 0x0f, 0xd7, 0xe0, //0x00000ad4 pmovmskb %xmm0, %r12d + 0x66, 0x0f, 0x74, 0xec, //0x00000ad9 pcmpeqb %xmm4, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00000add pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x74, 0xfc, //0x00000ae1 pcmpeqb %xmm4, %xmm7 + 0x66, 0x44, 0x0f, 0xd7, 0xd7, //0x00000ae5 pmovmskb %xmm7, %r10d + 0x66, 0x0f, 0x74, 0xf4, //0x00000aea pcmpeqb %xmm4, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xee, //0x00000aee pmovmskb %xmm6, %r13d + 0x49, 0xc1, 0xe5, 0x30, //0x00000af3 shlq $48, %r13 + 0x49, 0xc1, 0xe2, 0x20, //0x00000af7 shlq $32, %r10 + 0x48, 0xc1, 0xe3, 0x10, //0x00000afb shlq $16, %rbx + 0x49, 0x09, 0xdc, //0x00000aff orq %rbx, %r12 + 0x4d, 0x09, 0xd4, //0x00000b02 orq %r10, %r12 + 0x4d, 0x09, 0xec, //0x00000b05 orq %r13, %r12 + 0x49, 0xbd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000b08 movabsq $6148914691236517205, %r13 + 0x49, 0xba, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, //0x00000b12 movabsq $3689348814741910323, %r10 + 0x49, 0x21, 0xcc, //0x00000b1c andq %rcx, %r12 + 0x0f, 0x84, 0xd3, 0xfd, 0xff, 0xff, //0x00000b1f je LBB0_85 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000b25 .p2align 4, 0x90 + //0x00000b30 LBB0_91 + 0x49, 0x8d, 0x54, 0x24, 0xff, //0x00000b30 leaq $-1(%r12), %rdx + 0x48, 0x89, 0xd3, //0x00000b35 movq %rdx, %rbx + 0x4c, 0x21, 0xfb, //0x00000b38 andq %r15, %rbx + 0x48, 0x89, 0xd9, //0x00000b3b movq %rbx, %rcx + 0x48, 0xd1, 0xe9, //0x00000b3e shrq %rcx + 0x4c, 0x21, 0xe9, //0x00000b41 andq %r13, %rcx + 0x48, 0x29, 0xcb, //0x00000b44 subq %rcx, %rbx + 0x48, 0x89, 0xd9, //0x00000b47 movq %rbx, %rcx + 0x4c, 0x21, 0xd1, //0x00000b4a andq %r10, %rcx + 0x48, 0xc1, 0xeb, 0x02, //0x00000b4d shrq $2, %rbx + 0x4c, 0x21, 0xd3, //0x00000b51 andq %r10, %rbx + 0x48, 0x01, 0xcb, //0x00000b54 addq %rcx, %rbx + 0x48, 0x89, 0xd9, //0x00000b57 movq %rbx, %rcx + 0x48, 0xc1, 0xe9, 0x04, //0x00000b5a shrq $4, %rcx + 0x48, 0x01, 0xd9, //0x00000b5e addq %rbx, %rcx + 0x48, 0xbb, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000b61 movabsq $1085102592571150095, %rbx + 0x48, 0x21, 0xd9, //0x00000b6b andq %rbx, %rcx + 0x48, 0xbb, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x00000b6e movabsq $72340172838076673, %rbx + 0x48, 0x0f, 0xaf, 0xcb, //0x00000b78 imulq %rbx, %rcx + 0x48, 0xc1, 0xe9, 0x38, //0x00000b7c shrq $56, %rcx + 0x48, 0x03, 0x4d, 0xc0, //0x00000b80 addq $-64(%rbp), %rcx + 0x4c, 0x39, 0xd9, //0x00000b84 cmpq %r11, %rcx + 0x0f, 0x86, 0x53, 0x01, 0x00, 0x00, //0x00000b87 jbe LBB0_109 + 0x49, 0xff, 0xc3, //0x00000b8d incq %r11 + 0x49, 0x21, 0xd4, //0x00000b90 andq %rdx, %r12 + 0x0f, 0x85, 0x97, 0xff, 0xff, 0xff, //0x00000b93 jne LBB0_91 + 0xe9, 0x5a, 0xfd, 0xff, 0xff, //0x00000b99 jmp LBB0_85 + //0x00000b9e LBB0_93 + 0x48, 0x85, 0xc9, //0x00000b9e testq %rcx, %rcx + 0x0f, 0x8e, 0xf6, 0x01, 0x00, 0x00, //0x00000ba1 jle LBB0_118 + 0x4c, 0x89, 0xd3, //0x00000ba7 movq %r10, %rbx + 0x44, 0x0f, 0x11, 0x45, 0xb0, //0x00000baa movups %xmm8, $-80(%rbp) + 0x44, 0x0f, 0x11, 0x45, 0xa0, //0x00000baf movups %xmm8, $-96(%rbp) + 0x44, 0x0f, 0x11, 0x45, 0x90, //0x00000bb4 movups %xmm8, $-112(%rbp) + 0x44, 0x0f, 0x11, 0x45, 0x80, //0x00000bb9 movups %xmm8, $-128(%rbp) + 0x44, 0x89, 0xc1, //0x00000bbe movl %r8d, %ecx + 0x81, 0xe1, 0xff, 0x0f, 0x00, 0x00, //0x00000bc1 andl $4095, %ecx + 0x81, 0xf9, 0xc1, 0x0f, 0x00, 0x00, //0x00000bc7 cmpl $4033, %ecx + 0x0f, 0x82, 0x31, 0x00, 0x00, 0x00, //0x00000bcd jb LBB0_97 + 0x48, 0x83, 0x7d, 0xd0, 0x20, //0x00000bd3 cmpq $32, $-48(%rbp) + 0x0f, 0x82, 0x38, 0x00, 0x00, 0x00, //0x00000bd8 jb LBB0_98 + 0x41, 0x0f, 0x10, 0x00, //0x00000bde movups (%r8), %xmm0 + 0x0f, 0x11, 0x45, 0x80, //0x00000be2 movups %xmm0, $-128(%rbp) + 0x41, 0x0f, 0x10, 0x40, 0x10, //0x00000be6 movups $16(%r8), %xmm0 + 0x0f, 0x11, 0x45, 0x90, //0x00000beb movups %xmm0, $-112(%rbp) + 0x49, 0x83, 0xc0, 0x20, //0x00000bef addq $32, %r8 + 0x48, 0x8b, 0x4d, 0xd0, //0x00000bf3 movq $-48(%rbp), %rcx + 0x48, 0x8d, 0x51, 0xe0, //0x00000bf7 leaq $-32(%rcx), %rdx + 0x4c, 0x8d, 0x4d, 0xa0, //0x00000bfb leaq $-96(%rbp), %r9 + 0xe9, 0x1a, 0x00, 0x00, 0x00, //0x00000bff jmp LBB0_99 + //0x00000c04 LBB0_97 + 0x49, 0xbd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000c04 movabsq $6148914691236517205, %r13 + 0x49, 0x89, 0xda, //0x00000c0e movq %rbx, %r10 + 0xe9, 0x50, 0xfd, 0xff, 0xff, //0x00000c11 jmp LBB0_87 + //0x00000c16 LBB0_98 + 0x4c, 0x8d, 0x4d, 0x80, //0x00000c16 leaq $-128(%rbp), %r9 + 0x48, 0x8b, 0x55, 0xd0, //0x00000c1a movq $-48(%rbp), %rdx + //0x00000c1e LBB0_99 + 0x48, 0x83, 0xfa, 0x10, //0x00000c1e cmpq $16, %rdx + 0x0f, 0x82, 0x49, 0x00, 0x00, 0x00, //0x00000c22 jb LBB0_100 + 0x41, 0x0f, 0x10, 0x00, //0x00000c28 movups (%r8), %xmm0 + 0x41, 0x0f, 0x11, 0x01, //0x00000c2c movups %xmm0, (%r9) + 0x49, 0x83, 0xc0, 0x10, //0x00000c30 addq $16, %r8 + 0x49, 0x83, 0xc1, 0x10, //0x00000c34 addq $16, %r9 + 0x48, 0x83, 0xc2, 0xf0, //0x00000c38 addq $-16, %rdx + 0x48, 0x83, 0xfa, 0x08, //0x00000c3c cmpq $8, %rdx + 0x0f, 0x83, 0x35, 0x00, 0x00, 0x00, //0x00000c40 jae LBB0_107 + //0x00000c46 LBB0_101 + 0x48, 0x83, 0xfa, 0x04, //0x00000c46 cmpq $4, %rdx + 0x0f, 0x8c, 0x47, 0x00, 0x00, 0x00, //0x00000c4a jl LBB0_102 + //0x00000c50 LBB0_108 + 0x41, 0x8b, 0x08, //0x00000c50 movl (%r8), %ecx + 0x41, 0x89, 0x09, //0x00000c53 movl %ecx, (%r9) + 0x49, 0x83, 0xc0, 0x04, //0x00000c56 addq $4, %r8 + 0x49, 0x83, 0xc1, 0x04, //0x00000c5a addq $4, %r9 + 0x48, 0x83, 0xc2, 0xfc, //0x00000c5e addq $-4, %rdx + 0x48, 0x83, 0xfa, 0x02, //0x00000c62 cmpq $2, %rdx + 0x0f, 0x83, 0x35, 0x00, 0x00, 0x00, //0x00000c66 jae LBB0_103 + 0xe9, 0x44, 0x00, 0x00, 0x00, //0x00000c6c jmp LBB0_104 + //0x00000c71 LBB0_100 + 0x48, 0x83, 0xfa, 0x08, //0x00000c71 cmpq $8, %rdx + 0x0f, 0x82, 0xcb, 0xff, 0xff, 0xff, //0x00000c75 jb LBB0_101 + //0x00000c7b LBB0_107 + 0x49, 0x8b, 0x08, //0x00000c7b movq (%r8), %rcx + 0x49, 0x89, 0x09, //0x00000c7e movq %rcx, (%r9) + 0x49, 0x83, 0xc0, 0x08, //0x00000c81 addq $8, %r8 + 0x49, 0x83, 0xc1, 0x08, //0x00000c85 addq $8, %r9 + 0x48, 0x83, 0xc2, 0xf8, //0x00000c89 addq $-8, %rdx + 0x48, 0x83, 0xfa, 0x04, //0x00000c8d cmpq $4, %rdx + 0x0f, 0x8d, 0xb9, 0xff, 0xff, 0xff, //0x00000c91 jge LBB0_108 + //0x00000c97 LBB0_102 + 0x48, 0x83, 0xfa, 0x02, //0x00000c97 cmpq $2, %rdx + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x00000c9b jb LBB0_104 + //0x00000ca1 LBB0_103 + 0x41, 0x0f, 0xb7, 0x08, //0x00000ca1 movzwl (%r8), %ecx + 0x66, 0x41, 0x89, 0x09, //0x00000ca5 movw %cx, (%r9) + 0x49, 0x83, 0xc0, 0x02, //0x00000ca9 addq $2, %r8 + 0x49, 0x83, 0xc1, 0x02, //0x00000cad addq $2, %r9 + 0x48, 0x83, 0xc2, 0xfe, //0x00000cb1 addq $-2, %rdx + //0x00000cb5 LBB0_104 + 0x4c, 0x89, 0xc1, //0x00000cb5 movq %r8, %rcx + 0x4c, 0x8d, 0x45, 0x80, //0x00000cb8 leaq $-128(%rbp), %r8 + 0x48, 0x85, 0xd2, //0x00000cbc testq %rdx, %rdx + 0x49, 0xbd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000cbf movabsq $6148914691236517205, %r13 + 0x49, 0x89, 0xda, //0x00000cc9 movq %rbx, %r10 + 0x0f, 0x84, 0x94, 0xfc, 0xff, 0xff, //0x00000ccc je LBB0_87 + 0x8a, 0x09, //0x00000cd2 movb (%rcx), %cl + 0x41, 0x88, 0x09, //0x00000cd4 movb %cl, (%r9) + 0x4c, 0x8d, 0x45, 0x80, //0x00000cd7 leaq $-128(%rbp), %r8 + 0xe9, 0x86, 0xfc, 0xff, 0xff, //0x00000cdb jmp LBB0_87 + //0x00000ce0 LBB0_109 + 0x48, 0x8b, 0x47, 0x08, //0x00000ce0 movq $8(%rdi), %rax + 0x49, 0x0f, 0xbc, 0xcc, //0x00000ce4 bsfq %r12, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x00000ce8 subq $-48(%rbp), %rcx + 0x48, 0x8d, 0x44, 0x01, 0x01, //0x00000cec leaq $1(%rcx,%rax), %rax + 0x48, 0x89, 0x06, //0x00000cf1 movq %rax, (%rsi) + 0x48, 0x8b, 0x4f, 0x08, //0x00000cf4 movq $8(%rdi), %rcx + 0x48, 0x39, 0xc8, //0x00000cf8 cmpq %rcx, %rax + 0x48, 0x0f, 0x47, 0xc1, //0x00000cfb cmovaq %rcx, %rax + 0x48, 0x89, 0x06, //0x00000cff movq %rax, (%rsi) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000d02 movq $-1, %rax + 0x4c, 0x0f, 0x47, 0xf0, //0x00000d09 cmovaq %rax, %r14 + 0xe9, 0xfd, 0xf5, 0xff, 0xff, //0x00000d0d jmp LBB0_44 + //0x00000d12 LBB0_54 + 0x4d, 0x85, 0xe4, //0x00000d12 testq %r12, %r12 + 0x0f, 0x85, 0x8e, 0x00, 0x00, 0x00, //0x00000d15 jne LBB0_119 + 0x4b, 0x8d, 0x5c, 0x1f, 0x01, //0x00000d1b leaq $1(%r15,%r11), %rbx + 0x49, 0xf7, 0xd7, //0x00000d20 notq %r15 + 0x4d, 0x01, 0xcf, //0x00000d23 addq %r9, %r15 + //0x00000d26 LBB0_56 + 0x4d, 0x85, 0xff, //0x00000d26 testq %r15, %r15 + 0x0f, 0x8f, 0x24, 0x00, 0x00, 0x00, //0x00000d29 jg LBB0_113 + 0xe9, 0xde, 0xf5, 0xff, 0xff, //0x00000d2f jmp LBB0_45 + //0x00000d34 LBB0_111 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00000d34 movq $-2, %rcx + 0xb8, 0x02, 0x00, 0x00, 0x00, //0x00000d3b movl $2, %eax + 0x48, 0x01, 0xc3, //0x00000d40 addq %rax, %rbx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000d43 movq $-1, %rax + 0x49, 0x01, 0xcf, //0x00000d4a addq %rcx, %r15 + 0x0f, 0x8e, 0xbf, 0xf5, 0xff, 0xff, //0x00000d4d jle LBB0_45 + //0x00000d53 LBB0_113 + 0x0f, 0xb6, 0x03, //0x00000d53 movzbl (%rbx), %eax + 0x3c, 0x5c, //0x00000d56 cmpb $92, %al + 0x0f, 0x84, 0xd6, 0xff, 0xff, 0xff, //0x00000d58 je LBB0_111 + 0x3c, 0x22, //0x00000d5e cmpb $34, %al + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x00000d60 je LBB0_116 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000d66 movq $-1, %rcx + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000d6d movl $1, %eax + 0x48, 0x01, 0xc3, //0x00000d72 addq %rax, %rbx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000d75 movq $-1, %rax + 0x49, 0x01, 0xcf, //0x00000d7c addq %rcx, %r15 + 0x0f, 0x8f, 0xce, 0xff, 0xff, 0xff, //0x00000d7f jg LBB0_113 + 0xe9, 0x88, 0xf5, 0xff, 0xff, //0x00000d85 jmp LBB0_45 + //0x00000d8a LBB0_116 + 0x4c, 0x29, 0xc3, //0x00000d8a subq %r8, %rbx + 0x48, 0xff, 0xc3, //0x00000d8d incq %rbx + 0xe9, 0x77, 0xf5, 0xff, 0xff, //0x00000d90 jmp LBB0_43 + //0x00000d95 LBB0_117 + 0x4c, 0x01, 0xc3, //0x00000d95 addq %r8, %rbx + 0xe9, 0x89, 0xff, 0xff, 0xff, //0x00000d98 jmp LBB0_56 + //0x00000d9d LBB0_118 + 0x48, 0x8b, 0x4f, 0x08, //0x00000d9d movq $8(%rdi), %rcx + 0x48, 0x89, 0x0e, //0x00000da1 movq %rcx, (%rsi) + 0xe9, 0x69, 0xf5, 0xff, 0xff, //0x00000da4 jmp LBB0_45 + //0x00000da9 LBB0_119 + 0x49, 0x8d, 0x49, 0xff, //0x00000da9 leaq $-1(%r9), %rcx + 0x4c, 0x39, 0xf9, //0x00000dad cmpq %r15, %rcx + 0x0f, 0x84, 0x5c, 0xf5, 0xff, 0xff, //0x00000db0 je LBB0_45 + 0x4b, 0x8d, 0x5c, 0x1f, 0x02, //0x00000db6 leaq $2(%r15,%r11), %rbx + 0x4d, 0x29, 0xf9, //0x00000dbb subq %r15, %r9 + 0x49, 0x83, 0xc1, 0xfe, //0x00000dbe addq $-2, %r9 + 0x4d, 0x89, 0xcf, //0x00000dc2 movq %r9, %r15 + 0xe9, 0x5c, 0xff, 0xff, 0xff, //0x00000dc5 jmp LBB0_56 + 0x90, 0x90, //0x00000dca .p2align 2, 0x90 + // // .set L0_0_set_45, LBB0_45-LJTI0_0 + // // .set L0_0_set_47, LBB0_47-LJTI0_0 + // // .set L0_0_set_48, LBB0_48-LJTI0_0 + // // .set L0_0_set_29, LBB0_29-LJTI0_0 + // // .set L0_0_set_57, LBB0_57-LJTI0_0 + // // .set L0_0_set_82, LBB0_82-LJTI0_0 + // // .set L0_0_set_46, LBB0_46-LJTI0_0 + // // .set L0_0_set_84, LBB0_84-LJTI0_0 + //0x00000dcc LJTI0_0 + 0x46, 0xf5, 0xff, 0xff, //0x00000dcc .long L0_0_set_45 + 0x68, 0xf5, 0xff, 0xff, //0x00000dd0 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000dd4 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000dd8 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ddc .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000de0 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000de4 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000de8 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000dec .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000df0 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000df4 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000df8 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000dfc .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e00 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e04 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e08 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e0c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e10 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e14 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e18 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e1c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e20 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e24 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e28 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e2c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e30 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e34 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e38 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e3c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e40 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e44 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e48 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e4c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e50 .long L0_0_set_47 + 0x77, 0xf5, 0xff, 0xff, //0x00000e54 .long L0_0_set_48 + 0x68, 0xf5, 0xff, 0xff, //0x00000e58 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e5c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e60 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e64 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e68 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e6c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e70 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e74 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e78 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e7c .long L0_0_set_47 + 0x5f, 0xf4, 0xff, 0xff, //0x00000e80 .long L0_0_set_29 + 0x68, 0xf5, 0xff, 0xff, //0x00000e84 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000e88 .long L0_0_set_47 + 0x5f, 0xf4, 0xff, 0xff, //0x00000e8c .long L0_0_set_29 + 0x5f, 0xf4, 0xff, 0xff, //0x00000e90 .long L0_0_set_29 + 0x5f, 0xf4, 0xff, 0xff, //0x00000e94 .long L0_0_set_29 + 0x5f, 0xf4, 0xff, 0xff, //0x00000e98 .long L0_0_set_29 + 0x5f, 0xf4, 0xff, 0xff, //0x00000e9c .long L0_0_set_29 + 0x5f, 0xf4, 0xff, 0xff, //0x00000ea0 .long L0_0_set_29 + 0x5f, 0xf4, 0xff, 0xff, //0x00000ea4 .long L0_0_set_29 + 0x5f, 0xf4, 0xff, 0xff, //0x00000ea8 .long L0_0_set_29 + 0x5f, 0xf4, 0xff, 0xff, //0x00000eac .long L0_0_set_29 + 0x5f, 0xf4, 0xff, 0xff, //0x00000eb0 .long L0_0_set_29 + 0x68, 0xf5, 0xff, 0xff, //0x00000eb4 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000eb8 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ebc .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ec0 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ec4 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ec8 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ecc .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ed0 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ed4 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ed8 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000edc .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ee0 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ee4 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ee8 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000eec .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ef0 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ef4 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000ef8 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000efc .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f00 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f04 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f08 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f0c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f10 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f14 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f18 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f1c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f20 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f24 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f28 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f2c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f30 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f34 .long L0_0_set_47 + 0x8e, 0xf6, 0xff, 0xff, //0x00000f38 .long L0_0_set_57 + 0x68, 0xf5, 0xff, 0xff, //0x00000f3c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f40 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f44 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f48 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f4c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f50 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f54 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f58 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f5c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f60 .long L0_0_set_47 + 0xc4, 0xfa, 0xff, 0xff, //0x00000f64 .long L0_0_set_82 + 0x68, 0xf5, 0xff, 0xff, //0x00000f68 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f6c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f70 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f74 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f78 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f7c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f80 .long L0_0_set_47 + 0x55, 0xf5, 0xff, 0xff, //0x00000f84 .long L0_0_set_46 + 0x68, 0xf5, 0xff, 0xff, //0x00000f88 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f8c .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f90 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f94 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000f98 .long L0_0_set_47 + 0x55, 0xf5, 0xff, 0xff, //0x00000f9c .long L0_0_set_46 + 0x68, 0xf5, 0xff, 0xff, //0x00000fa0 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000fa4 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000fa8 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000fac .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000fb0 .long L0_0_set_47 + 0x68, 0xf5, 0xff, 0xff, //0x00000fb4 .long L0_0_set_47 + 0xda, 0xfa, 0xff, 0xff, //0x00000fb8 .long L0_0_set_84 + //0x00000fbc .p2align 2, 0x00 + //0x00000fbc _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000fbc .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_subr.go new file mode 100644 index 0000000..399e307 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__skip_one = 144 +) + +const ( + _stack__skip_one = 160 +) + +const ( + _size__skip_one = 10040 +) + +var ( + _pcsp__skip_one = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {9936, 160}, + {9940, 48}, + {9941, 40}, + {9943, 32}, + {9945, 24}, + {9947, 16}, + {9949, 8}, + {9950, 0}, + {10040, 160}, + } +) + +var _cfunc_skip_one = []loader.CFunc{ + {"_skip_one_entry", 0, _entry__skip_one, 0, nil}, + {"_skip_one", _entry__skip_one, _size__skip_one, _stack__skip_one, _pcsp__skip_one}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_text_amd64.go new file mode 100644 index 0000000..23c8031 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/skip_one_text_amd64.go @@ -0,0 +1,2974 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_skip_one = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, // QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000010 LCPI0_1 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000010 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000020 LCPI0_2 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000020 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000030 LCPI0_3 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000030 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000040 LCPI0_4 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000040 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000050 LCPI0_5 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000050 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000060 LCPI0_6 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000060 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000070 LCPI0_7 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000070 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000080 LCPI0_8 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000080 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000090 .p2align 4, 0x90 + //0x00000090 _skip_one + 0x55, //0x00000090 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000091 movq %rsp, %rbp + 0x41, 0x57, //0x00000094 pushq %r15 + 0x41, 0x56, //0x00000096 pushq %r14 + 0x41, 0x55, //0x00000098 pushq %r13 + 0x41, 0x54, //0x0000009a pushq %r12 + 0x53, //0x0000009c pushq %rbx + 0x48, 0x83, 0xec, 0x70, //0x0000009d subq $112, %rsp + 0x48, 0x89, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x000000a1 movq %rcx, $-136(%rbp) + 0x49, 0x89, 0xd0, //0x000000a8 movq %rdx, %r8 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000000ab movl $1, %r9d + 0x66, 0x49, 0x0f, 0x6e, 0xc1, //0x000000b1 movq %r9, %xmm0 + 0xf3, 0x0f, 0x7f, 0x02, //0x000000b6 movdqu %xmm0, (%rdx) + 0x48, 0x89, 0x7d, 0x90, //0x000000ba movq %rdi, $-112(%rbp) + 0x4c, 0x8b, 0x17, //0x000000be movq (%rdi), %r10 + 0x4c, 0x89, 0xd0, //0x000000c1 movq %r10, %rax + 0x48, 0xf7, 0xd0, //0x000000c4 notq %rax + 0x48, 0x89, 0x45, 0xa8, //0x000000c7 movq %rax, $-88(%rbp) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000000cb movl $1, %eax + 0x4c, 0x29, 0xd0, //0x000000d0 subq %r10, %rax + 0x48, 0x89, 0x45, 0x98, //0x000000d3 movq %rax, $-104(%rbp) + 0x49, 0x8d, 0x42, 0x40, //0x000000d7 leaq $64(%r10), %rax + 0x48, 0x89, 0x45, 0x88, //0x000000db movq %rax, $-120(%rbp) + 0x4c, 0x8b, 0x1e, //0x000000df movq (%rsi), %r11 + 0x49, 0x8d, 0x42, 0x05, //0x000000e2 leaq $5(%r10), %rax + 0x48, 0x89, 0x85, 0x68, 0xff, 0xff, 0xff, //0x000000e6 movq %rax, $-152(%rbp) + 0x48, 0xc7, 0x85, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x000000ed movq $-1, $-144(%rbp) + 0xf3, 0x0f, 0x6f, 0x05, 0x00, 0xff, 0xff, 0xff, //0x000000f8 movdqu $-256(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x08, 0xff, 0xff, 0xff, //0x00000100 movdqu $-248(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x15, 0x10, 0xff, 0xff, 0xff, //0x00000108 movdqu $-240(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0x66, 0x45, 0x0f, 0x76, 0xf6, //0x00000110 pcmpeqd %xmm14, %xmm14 + 0xf3, 0x44, 0x0f, 0x6f, 0x05, 0x12, 0xff, 0xff, 0xff, //0x00000115 movdqu $-238(%rip), %xmm8 /* LCPI0_3+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x2d, 0x19, 0xff, 0xff, 0xff, //0x0000011e movdqu $-231(%rip), %xmm13 /* LCPI0_4+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x0d, 0x20, 0xff, 0xff, 0xff, //0x00000127 movdqu $-224(%rip), %xmm9 /* LCPI0_5+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x15, 0x27, 0xff, 0xff, 0xff, //0x00000130 movdqu $-217(%rip), %xmm10 /* LCPI0_6+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x1d, 0x2e, 0xff, 0xff, 0xff, //0x00000139 movdqu $-210(%rip), %xmm11 /* LCPI0_7+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x25, 0x35, 0xff, 0xff, 0xff, //0x00000142 movdqu $-203(%rip), %xmm12 /* LCPI0_8+0(%rip) */ + 0x48, 0x89, 0x75, 0xc8, //0x0000014b movq %rsi, $-56(%rbp) + 0x4c, 0x89, 0x55, 0xd0, //0x0000014f movq %r10, $-48(%rbp) + 0x48, 0x89, 0x55, 0xa0, //0x00000153 movq %rdx, $-96(%rbp) + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00000157 jmp LBB0_5 + //0x0000015c LBB0_1 + 0x4d, 0x01, 0xfb, //0x0000015c addq %r15, %r11 + //0x0000015f LBB0_2 + 0x4c, 0x89, 0x1e, //0x0000015f movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000162 movq %r15, %rax + 0x4d, 0x85, 0xff, //0x00000165 testq %r15, %r15 + 0x0f, 0x88, 0xf2, 0x25, 0x00, 0x00, //0x00000168 js LBB0_150 + 0x90, 0x90, //0x0000016e .p2align 4, 0x90 + //0x00000170 LBB0_3 + 0x49, 0x8b, 0x10, //0x00000170 movq (%r8), %rdx + 0x49, 0x89, 0xd1, //0x00000173 movq %rdx, %r9 + 0x48, 0x8b, 0x85, 0x70, 0xff, 0xff, 0xff, //0x00000176 movq $-144(%rbp), %rax + 0x48, 0x85, 0xd2, //0x0000017d testq %rdx, %rdx + 0x0f, 0x84, 0xda, 0x25, 0x00, 0x00, //0x00000180 je LBB0_150 + //0x00000186 LBB0_5 + 0x48, 0x8b, 0x45, 0x90, //0x00000186 movq $-112(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x0000018a movq $8(%rax), %rax + 0x4c, 0x89, 0xdb, //0x0000018e movq %r11, %rbx + 0x48, 0x29, 0xc3, //0x00000191 subq %rax, %rbx + 0x0f, 0x83, 0x36, 0x00, 0x00, 0x00, //0x00000194 jae LBB0_10 + 0x43, 0x8a, 0x14, 0x1a, //0x0000019a movb (%r10,%r11), %dl + 0x80, 0xfa, 0x0d, //0x0000019e cmpb $13, %dl + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000001a1 je LBB0_10 + 0x80, 0xfa, 0x20, //0x000001a7 cmpb $32, %dl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x000001aa je LBB0_10 + 0x80, 0xc2, 0xf7, //0x000001b0 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000001b3 cmpb $1, %dl + 0x0f, 0x86, 0x14, 0x00, 0x00, 0x00, //0x000001b6 jbe LBB0_10 + 0x4d, 0x89, 0xdf, //0x000001bc movq %r11, %r15 + 0xe9, 0x39, 0x01, 0x00, 0x00, //0x000001bf jmp LBB0_31 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001c4 .p2align 4, 0x90 + //0x000001d0 LBB0_10 + 0x4d, 0x8d, 0x7b, 0x01, //0x000001d0 leaq $1(%r11), %r15 + 0x49, 0x39, 0xc7, //0x000001d4 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x000001d7 jae LBB0_14 + 0x43, 0x8a, 0x14, 0x3a, //0x000001dd movb (%r10,%r15), %dl + 0x80, 0xfa, 0x0d, //0x000001e1 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x000001e4 je LBB0_14 + 0x80, 0xfa, 0x20, //0x000001ea cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x000001ed je LBB0_14 + 0x80, 0xc2, 0xf7, //0x000001f3 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000001f6 cmpb $1, %dl + 0x0f, 0x87, 0xfe, 0x00, 0x00, 0x00, //0x000001f9 ja LBB0_31 + 0x90, //0x000001ff .p2align 4, 0x90 + //0x00000200 LBB0_14 + 0x4d, 0x8d, 0x7b, 0x02, //0x00000200 leaq $2(%r11), %r15 + 0x49, 0x39, 0xc7, //0x00000204 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000207 jae LBB0_18 + 0x43, 0x8a, 0x14, 0x3a, //0x0000020d movb (%r10,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000211 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000214 je LBB0_18 + 0x80, 0xfa, 0x20, //0x0000021a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000021d je LBB0_18 + 0x80, 0xc2, 0xf7, //0x00000223 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000226 cmpb $1, %dl + 0x0f, 0x87, 0xce, 0x00, 0x00, 0x00, //0x00000229 ja LBB0_31 + 0x90, //0x0000022f .p2align 4, 0x90 + //0x00000230 LBB0_18 + 0x4d, 0x8d, 0x7b, 0x03, //0x00000230 leaq $3(%r11), %r15 + 0x49, 0x39, 0xc7, //0x00000234 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000237 jae LBB0_22 + 0x43, 0x8a, 0x14, 0x3a, //0x0000023d movb (%r10,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000241 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000244 je LBB0_22 + 0x80, 0xfa, 0x20, //0x0000024a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000024d je LBB0_22 + 0x80, 0xc2, 0xf7, //0x00000253 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000256 cmpb $1, %dl + 0x0f, 0x87, 0x9e, 0x00, 0x00, 0x00, //0x00000259 ja LBB0_31 + 0x90, //0x0000025f .p2align 4, 0x90 + //0x00000260 LBB0_22 + 0x49, 0x8d, 0x53, 0x04, //0x00000260 leaq $4(%r11), %rdx + 0x48, 0x39, 0xd0, //0x00000264 cmpq %rdx, %rax + 0x0f, 0x86, 0xfb, 0x22, 0x00, 0x00, //0x00000267 jbe LBB0_425 + 0x48, 0x39, 0xd0, //0x0000026d cmpq %rdx, %rax + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x00000270 je LBB0_28 + 0x49, 0x8d, 0x14, 0x02, //0x00000276 leaq (%r10,%rax), %rdx + 0x48, 0x83, 0xc3, 0x04, //0x0000027a addq $4, %rbx + 0x4c, 0x03, 0x9d, 0x68, 0xff, 0xff, 0xff, //0x0000027e addq $-152(%rbp), %r11 + 0x4d, 0x89, 0xdf, //0x00000285 movq %r11, %r15 + 0x48, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000288 movabsq $4294977024, %rcx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000292 .p2align 4, 0x90 + //0x000002a0 LBB0_25 + 0x41, 0x0f, 0xbe, 0x7f, 0xff, //0x000002a0 movsbl $-1(%r15), %edi + 0x83, 0xff, 0x20, //0x000002a5 cmpl $32, %edi + 0x0f, 0x87, 0x42, 0x00, 0x00, 0x00, //0x000002a8 ja LBB0_30 + 0x48, 0x0f, 0xa3, 0xf9, //0x000002ae btq %rdi, %rcx + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x000002b2 jae LBB0_30 + 0x49, 0xff, 0xc7, //0x000002b8 incq %r15 + 0x48, 0xff, 0xc3, //0x000002bb incq %rbx + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000002be jne LBB0_25 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x000002c4 jmp LBB0_29 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002c9 .p2align 4, 0x90 + //0x000002d0 LBB0_28 + 0x4c, 0x01, 0xd2, //0x000002d0 addq %r10, %rdx + //0x000002d3 LBB0_29 + 0x4c, 0x29, 0xd2, //0x000002d3 subq %r10, %rdx + 0x49, 0x89, 0xd7, //0x000002d6 movq %rdx, %r15 + 0x49, 0x39, 0xc7, //0x000002d9 cmpq %rax, %r15 + 0x0f, 0x82, 0x1b, 0x00, 0x00, 0x00, //0x000002dc jb LBB0_31 + 0xe9, 0x84, 0x22, 0x00, 0x00, //0x000002e2 jmp LBB0_426 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002e7 .p2align 4, 0x90 + //0x000002f0 LBB0_30 + 0x4c, 0x03, 0x7d, 0xa8, //0x000002f0 addq $-88(%rbp), %r15 + 0x49, 0x39, 0xc7, //0x000002f4 cmpq %rax, %r15 + 0x0f, 0x83, 0x6e, 0x22, 0x00, 0x00, //0x000002f7 jae LBB0_426 + //0x000002fd LBB0_31 + 0x4d, 0x8d, 0x5f, 0x01, //0x000002fd leaq $1(%r15), %r11 + 0x4c, 0x89, 0x1e, //0x00000301 movq %r11, (%rsi) + 0x43, 0x0f, 0xbe, 0x1c, 0x3a, //0x00000304 movsbl (%r10,%r15), %ebx + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000309 movq $-1, %rax + 0x85, 0xdb, //0x00000310 testl %ebx, %ebx + 0x0f, 0x84, 0x48, 0x24, 0x00, 0x00, //0x00000312 je LBB0_150 + 0x49, 0x8d, 0x51, 0xff, //0x00000318 leaq $-1(%r9), %rdx + 0x43, 0x8b, 0x3c, 0xc8, //0x0000031c movl (%r8,%r9,8), %edi + 0x48, 0x8b, 0x8d, 0x70, 0xff, 0xff, 0xff, //0x00000320 movq $-144(%rbp), %rcx + 0x48, 0x83, 0xf9, 0xff, //0x00000327 cmpq $-1, %rcx + 0x49, 0x0f, 0x44, 0xcf, //0x0000032b cmoveq %r15, %rcx + 0x48, 0x89, 0x8d, 0x70, 0xff, 0xff, 0xff, //0x0000032f movq %rcx, $-144(%rbp) + 0xff, 0xcf, //0x00000336 decl %edi + 0x83, 0xff, 0x05, //0x00000338 cmpl $5, %edi + 0x0f, 0x87, 0x59, 0x02, 0x00, 0x00, //0x0000033b ja LBB0_64 + 0x48, 0x8d, 0x0d, 0x80, 0x24, 0x00, 0x00, //0x00000341 leaq $9344(%rip), %rcx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x3c, 0xb9, //0x00000348 movslq (%rcx,%rdi,4), %rdi + 0x48, 0x01, 0xcf, //0x0000034c addq %rcx, %rdi + 0xff, 0xe7, //0x0000034f jmpq *%rdi + //0x00000351 LBB0_34 + 0x83, 0xfb, 0x2c, //0x00000351 cmpl $44, %ebx + 0x0f, 0x84, 0x07, 0x07, 0x00, 0x00, //0x00000354 je LBB0_122 + 0x83, 0xfb, 0x5d, //0x0000035a cmpl $93, %ebx + 0x0f, 0x84, 0xc4, 0x04, 0x00, 0x00, //0x0000035d je LBB0_36 + 0xe9, 0xa0, 0x22, 0x00, 0x00, //0x00000363 jmp LBB0_440 + //0x00000368 LBB0_37 + 0x80, 0xfb, 0x5d, //0x00000368 cmpb $93, %bl + 0x0f, 0x84, 0xb6, 0x04, 0x00, 0x00, //0x0000036b je LBB0_36 + 0x4b, 0xc7, 0x04, 0xc8, 0x01, 0x00, 0x00, 0x00, //0x00000371 movq $1, (%r8,%r9,8) + 0x83, 0xfb, 0x7b, //0x00000379 cmpl $123, %ebx + 0x0f, 0x86, 0x24, 0x02, 0x00, 0x00, //0x0000037c jbe LBB0_39 + 0xe9, 0x81, 0x22, 0x00, 0x00, //0x00000382 jmp LBB0_440 + //0x00000387 LBB0_40 + 0x80, 0xfb, 0x22, //0x00000387 cmpb $34, %bl + 0x0f, 0x85, 0x78, 0x22, 0x00, 0x00, //0x0000038a jne LBB0_440 + 0x4b, 0xc7, 0x04, 0xc8, 0x04, 0x00, 0x00, 0x00, //0x00000390 movq $4, (%r8,%r9,8) + 0x48, 0x8b, 0x45, 0x90, //0x00000398 movq $-112(%rbp), %rax + 0x4c, 0x8b, 0x48, 0x08, //0x0000039c movq $8(%rax), %r9 + 0xf6, 0x85, 0x78, 0xff, 0xff, 0xff, 0x20, //0x000003a0 testb $32, $-136(%rbp) + 0x4c, 0x89, 0x5d, 0xb0, //0x000003a7 movq %r11, $-80(%rbp) + 0x0f, 0x85, 0x91, 0x04, 0x00, 0x00, //0x000003ab jne LBB0_101 + 0x4d, 0x89, 0xcd, //0x000003b1 movq %r9, %r13 + 0x4d, 0x29, 0xdd, //0x000003b4 subq %r11, %r13 + 0x0f, 0x84, 0x71, 0x23, 0x00, 0x00, //0x000003b7 je LBB0_456 + 0x4c, 0x89, 0xd8, //0x000003bd movq %r11, %rax + 0x4d, 0x01, 0xd3, //0x000003c0 addq %r10, %r11 + 0x49, 0x83, 0xfd, 0x40, //0x000003c3 cmpq $64, %r13 + 0x0f, 0x82, 0xc8, 0x1b, 0x00, 0x00, //0x000003c7 jb LBB0_362 + 0x44, 0x89, 0xe9, //0x000003cd movl %r13d, %ecx + 0x83, 0xe1, 0x3f, //0x000003d0 andl $63, %ecx + 0x48, 0x89, 0x4d, 0xb8, //0x000003d3 movq %rcx, $-72(%rbp) + 0x4c, 0x89, 0xc9, //0x000003d7 movq %r9, %rcx + 0x4c, 0x29, 0xf9, //0x000003da subq %r15, %rcx + 0x48, 0x83, 0xc1, 0xbf, //0x000003dd addq $-65, %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x000003e1 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x000003e5 addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x88, //0x000003e8 addq $-120(%rbp), %rcx + 0x48, 0x89, 0x4d, 0x80, //0x000003ec movq %rcx, $-128(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000003f0 movq $-1, %r8 + 0x45, 0x31, 0xd2, //0x000003f7 xorl %r10d, %r10d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000003fa .p2align 4, 0x90 + //0x00000400 LBB0_45 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00000400 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00000405 movdqu $16(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6b, 0x20, //0x0000040b movdqu $32(%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x30, //0x00000411 movdqu $48(%r11), %xmm6 + 0x66, 0x0f, 0x6f, 0xfb, //0x00000417 movdqa %xmm3, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x0000041b pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xff, //0x0000041f pmovmskb %xmm7, %edi + 0x66, 0x0f, 0x6f, 0xfc, //0x00000423 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000427 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x0000042b pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x6f, 0xfd, //0x0000042f movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000433 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00000437 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfe, //0x0000043b movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x0000043f pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xdf, //0x00000443 pmovmskb %xmm7, %ebx + 0x66, 0x0f, 0x74, 0xd9, //0x00000447 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x0000044b pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x74, 0xe1, //0x0000044f pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00000453 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x74, 0xe9, //0x00000457 pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xf5, //0x0000045b pmovmskb %xmm5, %r14d + 0x66, 0x0f, 0x74, 0xf1, //0x00000460 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xe6, //0x00000464 pmovmskb %xmm6, %r12d + 0x48, 0xc1, 0xe3, 0x30, //0x00000469 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x0000046d shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00000471 shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00000475 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00000478 orq %rsi, %rdi + 0x49, 0xc1, 0xe4, 0x30, //0x0000047b shlq $48, %r12 + 0x49, 0xc1, 0xe6, 0x20, //0x0000047f shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x00000483 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00000487 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x0000048a orq %r14, %rdx + 0x4c, 0x09, 0xe2, //0x0000048d orq %r12, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000490 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000494 jne LBB0_47 + 0x48, 0x85, 0xd2, //0x0000049a testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000049d jne LBB0_56 + //0x000004a3 LBB0_47 + 0x48, 0x09, 0xdf, //0x000004a3 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x000004a6 movq %rdx, %rax + 0x4c, 0x09, 0xd0, //0x000004a9 orq %r10, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x000004ac jne LBB0_57 + //0x000004b2 LBB0_48 + 0x48, 0x85, 0xff, //0x000004b2 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x000004b5 jne LBB0_58 + //0x000004bb LBB0_49 + 0x49, 0x83, 0xc5, 0xc0, //0x000004bb addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x000004bf addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x000004c3 cmpq $63, %r13 + 0x0f, 0x87, 0x33, 0xff, 0xff, 0xff, //0x000004c7 ja LBB0_45 + 0xe9, 0xaf, 0x13, 0x00, 0x00, //0x000004cd jmp LBB0_50 + //0x000004d2 LBB0_56 + 0x4c, 0x89, 0xd8, //0x000004d2 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000004d5 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc2, //0x000004d9 bsfq %rdx, %r8 + 0x49, 0x01, 0xc0, //0x000004dd addq %rax, %r8 + 0x48, 0x09, 0xdf, //0x000004e0 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x000004e3 movq %rdx, %rax + 0x4c, 0x09, 0xd0, //0x000004e6 orq %r10, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x000004e9 je LBB0_48 + //0x000004ef LBB0_57 + 0x4c, 0x89, 0xd0, //0x000004ef movq %r10, %rax + 0x48, 0xf7, 0xd0, //0x000004f2 notq %rax + 0x48, 0x21, 0xd0, //0x000004f5 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x000004f8 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xd1, //0x000004fc orq %r10, %rcx + 0x48, 0x89, 0xce, //0x000004ff movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000502 notq %rsi + 0x48, 0x21, 0xd6, //0x00000505 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000508 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000512 andq %rdx, %rsi + 0x45, 0x31, 0xd2, //0x00000515 xorl %r10d, %r10d + 0x48, 0x01, 0xc6, //0x00000518 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc2, //0x0000051b setb %r10b + 0x48, 0x01, 0xf6, //0x0000051f addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000522 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x0000052c xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x0000052f andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000532 notq %rsi + 0x48, 0x21, 0xf7, //0x00000535 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000538 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x0000053b je LBB0_49 + //0x00000541 LBB0_58 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000541 bsfq %rdi, %rax + //0x00000545 LBB0_59 + 0x4c, 0x03, 0x5d, 0x98, //0x00000545 addq $-104(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000549 addq %rax, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x0000054c movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00000550 movq $-48(%rbp), %r10 + 0xe9, 0x08, 0x0a, 0x00, 0x00, //0x00000554 jmp LBB0_189 + //0x00000559 LBB0_60 + 0x83, 0xfb, 0x2c, //0x00000559 cmpl $44, %ebx + 0x0f, 0x85, 0xbc, 0x02, 0x00, 0x00, //0x0000055c jne LBB0_61 + 0x49, 0x81, 0xf9, 0xff, 0x0f, 0x00, 0x00, //0x00000562 cmpq $4095, %r9 + 0x0f, 0x8f, 0x08, 0x20, 0x00, 0x00, //0x00000569 jg LBB0_442 + 0x49, 0x8d, 0x41, 0x01, //0x0000056f leaq $1(%r9), %rax + 0x49, 0x89, 0x00, //0x00000573 movq %rax, (%r8) + 0x4b, 0xc7, 0x44, 0xc8, 0x08, 0x03, 0x00, 0x00, 0x00, //0x00000576 movq $3, $8(%r8,%r9,8) + 0xe9, 0xec, 0xfb, 0xff, 0xff, //0x0000057f jmp LBB0_3 + //0x00000584 LBB0_62 + 0x80, 0xfb, 0x3a, //0x00000584 cmpb $58, %bl + 0x0f, 0x85, 0x7b, 0x20, 0x00, 0x00, //0x00000587 jne LBB0_440 + 0x4b, 0xc7, 0x04, 0xc8, 0x00, 0x00, 0x00, 0x00, //0x0000058d movq $0, (%r8,%r9,8) + 0xe9, 0xd6, 0xfb, 0xff, 0xff, //0x00000595 jmp LBB0_3 + //0x0000059a LBB0_64 + 0x49, 0x89, 0x10, //0x0000059a movq %rdx, (%r8) + 0x83, 0xfb, 0x7b, //0x0000059d cmpl $123, %ebx + 0x0f, 0x87, 0x62, 0x20, 0x00, 0x00, //0x000005a0 ja LBB0_440 + //0x000005a6 LBB0_39 + 0x4f, 0x8d, 0x0c, 0x3a, //0x000005a6 leaq (%r10,%r15), %r9 + 0x89, 0xd9, //0x000005aa movl %ebx, %ecx + 0x48, 0x8d, 0x15, 0x2d, 0x22, 0x00, 0x00, //0x000005ac leaq $8749(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8a, //0x000005b3 movslq (%rdx,%rcx,4), %rcx + 0x48, 0x01, 0xd1, //0x000005b7 addq %rdx, %rcx + 0xff, 0xe1, //0x000005ba jmpq *%rcx + //0x000005bc LBB0_67 + 0x48, 0x8b, 0x45, 0x90, //0x000005bc movq $-112(%rbp), %rax + 0x48, 0x8b, 0x78, 0x08, //0x000005c0 movq $8(%rax), %rdi + 0x4c, 0x29, 0xff, //0x000005c4 subq %r15, %rdi + 0x0f, 0x84, 0xcf, 0x1f, 0x00, 0x00, //0x000005c7 je LBB0_429 + 0x41, 0x80, 0x39, 0x30, //0x000005cd cmpb $48, (%r9) + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000005d1 jne LBB0_72 + 0x48, 0x83, 0xff, 0x01, //0x000005d7 cmpq $1, %rdi + 0x0f, 0x84, 0x7e, 0xfb, 0xff, 0xff, //0x000005db je LBB0_2 + 0x43, 0x8a, 0x04, 0x1a, //0x000005e1 movb (%r10,%r11), %al + 0x04, 0xd2, //0x000005e5 addb $-46, %al + 0x3c, 0x37, //0x000005e7 cmpb $55, %al + 0x0f, 0x87, 0x70, 0xfb, 0xff, 0xff, //0x000005e9 ja LBB0_2 + 0x0f, 0xb6, 0xc0, //0x000005ef movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000005f2 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x000005fc btq %rax, %rcx + 0x0f, 0x83, 0x59, 0xfb, 0xff, 0xff, //0x00000600 jae LBB0_2 + //0x00000606 LBB0_72 + 0x48, 0x83, 0xff, 0x10, //0x00000606 cmpq $16, %rdi + 0x0f, 0x82, 0xcb, 0x18, 0x00, 0x00, //0x0000060a jb LBB0_351 + 0x48, 0x8d, 0x77, 0xf0, //0x00000610 leaq $-16(%rdi), %rsi + 0x48, 0x89, 0xf0, //0x00000614 movq %rsi, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00000617 andq $-16, %rax + 0x4a, 0x8d, 0x44, 0x08, 0x10, //0x0000061b leaq $16(%rax,%r9), %rax + 0x48, 0x89, 0x45, 0xb0, //0x00000620 movq %rax, $-80(%rbp) + 0x83, 0xe6, 0x0f, //0x00000624 andl $15, %esi + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00000627 movq $-1, %r10 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x0000062e movq $-1, %r13 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000635 movq $-1, %r11 + 0x4d, 0x89, 0xce, //0x0000063c movq %r9, %r14 + 0x90, //0x0000063f .p2align 4, 0x90 + //0x00000640 LBB0_74 + 0xf3, 0x41, 0x0f, 0x6f, 0x1e, //0x00000640 movdqu (%r14), %xmm3 + 0x66, 0x0f, 0x6f, 0xe3, //0x00000645 movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x64, 0xe0, //0x00000649 pcmpgtb %xmm8, %xmm4 + 0x66, 0x41, 0x0f, 0x6f, 0xed, //0x0000064e movdqa %xmm13, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x00000653 pcmpgtb %xmm3, %xmm5 + 0x66, 0x0f, 0xdb, 0xec, //0x00000657 pand %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xe3, //0x0000065b movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xe1, //0x0000065f pcmpeqb %xmm9, %xmm4 + 0x66, 0x0f, 0x6f, 0xf3, //0x00000664 movdqa %xmm3, %xmm6 + 0x66, 0x41, 0x0f, 0x74, 0xf2, //0x00000668 pcmpeqb %xmm10, %xmm6 + 0x66, 0x0f, 0xeb, 0xf4, //0x0000066d por %xmm4, %xmm6 + 0x66, 0x0f, 0x6f, 0xe3, //0x00000671 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xe2, //0x00000675 por %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xdb, //0x00000679 pcmpeqb %xmm11, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xe4, //0x0000067e pcmpeqb %xmm12, %xmm4 + 0x66, 0x44, 0x0f, 0xd7, 0xe4, //0x00000683 pmovmskb %xmm4, %r12d + 0x66, 0x0f, 0xeb, 0xe3, //0x00000688 por %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xee, //0x0000068c por %xmm6, %xmm5 + 0x66, 0x0f, 0xeb, 0xec, //0x00000690 por %xmm4, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xc3, //0x00000694 pmovmskb %xmm3, %r8d + 0x66, 0x0f, 0xd7, 0xd6, //0x00000699 pmovmskb %xmm6, %edx + 0x66, 0x0f, 0xd7, 0xc5, //0x0000069d pmovmskb %xmm5, %eax + 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, //0x000006a1 movl $2863311530, %ecx + 0x48, 0x81, 0xc1, 0x55, 0x55, 0x55, 0x55, //0x000006a6 addq $1431655765, %rcx + 0x48, 0x31, 0xc1, //0x000006ad xorq %rax, %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x000006b0 bsfq %rcx, %rcx + 0x83, 0xf9, 0x10, //0x000006b4 cmpl $16, %ecx + 0x0f, 0x84, 0x13, 0x00, 0x00, 0x00, //0x000006b7 je LBB0_76 + 0xb8, 0xff, 0xff, 0xff, 0xff, //0x000006bd movl $-1, %eax + 0xd3, 0xe0, //0x000006c2 shll %cl, %eax + 0xf7, 0xd0, //0x000006c4 notl %eax + 0x41, 0x21, 0xc0, //0x000006c6 andl %eax, %r8d + 0x41, 0x21, 0xc4, //0x000006c9 andl %eax, %r12d + 0x21, 0xd0, //0x000006cc andl %edx, %eax + 0x89, 0xc2, //0x000006ce movl %eax, %edx + //0x000006d0 LBB0_76 + 0x41, 0x8d, 0x40, 0xff, //0x000006d0 leal $-1(%r8), %eax + 0x44, 0x21, 0xc0, //0x000006d4 andl %r8d, %eax + 0x0f, 0x85, 0x63, 0x11, 0x00, 0x00, //0x000006d7 jne LBB0_317 + 0x41, 0x8d, 0x44, 0x24, 0xff, //0x000006dd leal $-1(%r12), %eax + 0x44, 0x21, 0xe0, //0x000006e2 andl %r12d, %eax + 0x0f, 0x85, 0x55, 0x11, 0x00, 0x00, //0x000006e5 jne LBB0_317 + 0x8d, 0x42, 0xff, //0x000006eb leal $-1(%rdx), %eax + 0x21, 0xd0, //0x000006ee andl %edx, %eax + 0x0f, 0x85, 0x4a, 0x11, 0x00, 0x00, //0x000006f0 jne LBB0_317 + 0x45, 0x85, 0xc0, //0x000006f6 testl %r8d, %r8d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000006f9 je LBB0_82 + 0x4c, 0x89, 0xf3, //0x000006ff movq %r14, %rbx + 0x4c, 0x29, 0xcb, //0x00000702 subq %r9, %rbx + 0x41, 0x0f, 0xbc, 0xc0, //0x00000705 bsfl %r8d, %eax + 0x48, 0x01, 0xd8, //0x00000709 addq %rbx, %rax + 0x49, 0x83, 0xfb, 0xff, //0x0000070c cmpq $-1, %r11 + 0x0f, 0x85, 0x4a, 0x15, 0x00, 0x00, //0x00000710 jne LBB0_334 + 0x49, 0x89, 0xc3, //0x00000716 movq %rax, %r11 + //0x00000719 LBB0_82 + 0x4c, 0x8b, 0x45, 0xa0, //0x00000719 movq $-96(%rbp), %r8 + 0x45, 0x85, 0xe4, //0x0000071d testl %r12d, %r12d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000720 je LBB0_85 + 0x4c, 0x89, 0xf3, //0x00000726 movq %r14, %rbx + 0x4c, 0x29, 0xcb, //0x00000729 subq %r9, %rbx + 0x41, 0x0f, 0xbc, 0xc4, //0x0000072c bsfl %r12d, %eax + 0x48, 0x01, 0xd8, //0x00000730 addq %rbx, %rax + 0x49, 0x83, 0xfd, 0xff, //0x00000733 cmpq $-1, %r13 + 0x0f, 0x85, 0xe0, 0x12, 0x00, 0x00, //0x00000737 jne LBB0_323 + 0x49, 0x89, 0xc5, //0x0000073d movq %rax, %r13 + //0x00000740 LBB0_85 + 0x85, 0xd2, //0x00000740 testl %edx, %edx + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000742 je LBB0_88 + 0x4c, 0x89, 0xf3, //0x00000748 movq %r14, %rbx + 0x4c, 0x29, 0xcb, //0x0000074b subq %r9, %rbx + 0x0f, 0xbc, 0xc2, //0x0000074e bsfl %edx, %eax + 0x48, 0x01, 0xd8, //0x00000751 addq %rbx, %rax + 0x49, 0x83, 0xfa, 0xff, //0x00000754 cmpq $-1, %r10 + 0x0f, 0x85, 0xbf, 0x12, 0x00, 0x00, //0x00000758 jne LBB0_323 + 0x49, 0x89, 0xc2, //0x0000075e movq %rax, %r10 + //0x00000761 LBB0_88 + 0x83, 0xf9, 0x10, //0x00000761 cmpl $16, %ecx + 0x0f, 0x85, 0x05, 0x05, 0x00, 0x00, //0x00000764 jne LBB0_151 + 0x49, 0x83, 0xc6, 0x10, //0x0000076a addq $16, %r14 + 0x48, 0x83, 0xc7, 0xf0, //0x0000076e addq $-16, %rdi + 0x48, 0x83, 0xff, 0x0f, //0x00000772 cmpq $15, %rdi + 0x0f, 0x87, 0xc4, 0xfe, 0xff, 0xff, //0x00000776 ja LBB0_74 + 0x48, 0x85, 0xf6, //0x0000077c testq %rsi, %rsi + 0x0f, 0x84, 0x0a, 0x05, 0x00, 0x00, //0x0000077f je LBB0_153 + //0x00000785 LBB0_91 + 0x48, 0x8b, 0x5d, 0xb0, //0x00000785 movq $-80(%rbp), %rbx + 0x48, 0x8d, 0x0c, 0x33, //0x00000789 leaq (%rbx,%rsi), %rcx + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x0000078d jmp LBB0_95 + //0x00000792 LBB0_92 + 0x48, 0x89, 0xd0, //0x00000792 movq %rdx, %rax + 0x4c, 0x29, 0xc8, //0x00000795 subq %r9, %rax + 0x49, 0x83, 0xfd, 0xff, //0x00000798 cmpq $-1, %r13 + 0x0f, 0x85, 0x72, 0x15, 0x00, 0x00, //0x0000079c jne LBB0_345 + 0x48, 0xff, 0xc8, //0x000007a2 decq %rax + 0x49, 0x89, 0xc5, //0x000007a5 movq %rax, %r13 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000007a8 .p2align 4, 0x90 + //0x000007b0 LBB0_94 + 0x48, 0x89, 0xd3, //0x000007b0 movq %rdx, %rbx + 0x48, 0xff, 0xce, //0x000007b3 decq %rsi + 0x0f, 0x84, 0x6c, 0x12, 0x00, 0x00, //0x000007b6 je LBB0_324 + //0x000007bc LBB0_95 + 0x0f, 0xbe, 0x03, //0x000007bc movsbl (%rbx), %eax + 0x83, 0xc0, 0xd5, //0x000007bf addl $-43, %eax + 0x83, 0xf8, 0x3a, //0x000007c2 cmpl $58, %eax + 0x0f, 0x87, 0xc0, 0x04, 0x00, 0x00, //0x000007c5 ja LBB0_152 + 0x48, 0x8d, 0x53, 0x01, //0x000007cb leaq $1(%rbx), %rdx + 0x48, 0x8d, 0x3d, 0xe6, 0x22, 0x00, 0x00, //0x000007cf leaq $8934(%rip), %rdi /* LJTI0_3+0(%rip) */ + 0x48, 0x63, 0x04, 0x87, //0x000007d6 movslq (%rdi,%rax,4), %rax + 0x48, 0x01, 0xf8, //0x000007da addq %rdi, %rax + 0xff, 0xe0, //0x000007dd jmpq *%rax + //0x000007df LBB0_97 + 0x48, 0x89, 0xd0, //0x000007df movq %rdx, %rax + 0x4c, 0x29, 0xc8, //0x000007e2 subq %r9, %rax + 0x49, 0x83, 0xfa, 0xff, //0x000007e5 cmpq $-1, %r10 + 0x0f, 0x85, 0x25, 0x15, 0x00, 0x00, //0x000007e9 jne LBB0_345 + 0x48, 0xff, 0xc8, //0x000007ef decq %rax + 0x49, 0x89, 0xc2, //0x000007f2 movq %rax, %r10 + 0xe9, 0xb6, 0xff, 0xff, 0xff, //0x000007f5 jmp LBB0_94 + //0x000007fa LBB0_99 + 0x48, 0x89, 0xd0, //0x000007fa movq %rdx, %rax + 0x4c, 0x29, 0xc8, //0x000007fd subq %r9, %rax + 0x49, 0x83, 0xfb, 0xff, //0x00000800 cmpq $-1, %r11 + 0x0f, 0x85, 0x0a, 0x15, 0x00, 0x00, //0x00000804 jne LBB0_345 + 0x48, 0xff, 0xc8, //0x0000080a decq %rax + 0x49, 0x89, 0xc3, //0x0000080d movq %rax, %r11 + 0xe9, 0x9b, 0xff, 0xff, 0xff, //0x00000810 jmp LBB0_94 + //0x00000815 LBB0_65 + 0x83, 0xfb, 0x22, //0x00000815 cmpl $34, %ebx + 0x0f, 0x84, 0x65, 0x02, 0x00, 0x00, //0x00000818 je LBB0_126 + //0x0000081e LBB0_61 + 0x83, 0xfb, 0x7d, //0x0000081e cmpl $125, %ebx + 0x0f, 0x85, 0xe1, 0x1d, 0x00, 0x00, //0x00000821 jne LBB0_440 + //0x00000827 LBB0_36 + 0x49, 0x89, 0x10, //0x00000827 movq %rdx, (%r8) + 0x49, 0x89, 0xd1, //0x0000082a movq %rdx, %r9 + 0x48, 0x8b, 0x85, 0x70, 0xff, 0xff, 0xff, //0x0000082d movq $-144(%rbp), %rax + 0x48, 0x85, 0xd2, //0x00000834 testq %rdx, %rdx + 0x0f, 0x85, 0x49, 0xf9, 0xff, 0xff, //0x00000837 jne LBB0_5 + 0xe9, 0x1e, 0x1f, 0x00, 0x00, //0x0000083d jmp LBB0_150 + //0x00000842 LBB0_101 + 0x4c, 0x89, 0xc8, //0x00000842 movq %r9, %rax + 0x4c, 0x29, 0xd8, //0x00000845 subq %r11, %rax + 0x0f, 0x84, 0xe0, 0x1e, 0x00, 0x00, //0x00000848 je LBB0_456 + 0x4c, 0x89, 0xd9, //0x0000084e movq %r11, %rcx + 0x4d, 0x01, 0xd3, //0x00000851 addq %r10, %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00000854 cmpq $64, %rax + 0x4c, 0x89, 0x4d, 0xc0, //0x00000858 movq %r9, $-64(%rbp) + 0x0f, 0x82, 0x4c, 0x17, 0x00, 0x00, //0x0000085c jb LBB0_363 + 0x89, 0xc2, //0x00000862 movl %eax, %edx + 0x83, 0xe2, 0x3f, //0x00000864 andl $63, %edx + 0x48, 0x89, 0x55, 0xb8, //0x00000867 movq %rdx, $-72(%rbp) + 0x4d, 0x89, 0xcc, //0x0000086b movq %r9, %r12 + 0x4d, 0x29, 0xfc, //0x0000086e subq %r15, %r12 + 0x49, 0x83, 0xc4, 0xbf, //0x00000871 addq $-65, %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00000875 andq $-64, %r12 + 0x49, 0x01, 0xcc, //0x00000879 addq %rcx, %r12 + 0x4c, 0x03, 0x65, 0x88, //0x0000087c addq $-120(%rbp), %r12 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000880 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00000887 xorl %r9d, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000088a .p2align 4, 0x90 + //0x00000890 LBB0_104 + 0xf3, 0x41, 0x0f, 0x6f, 0x2b, //0x00000890 movdqu (%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x10, //0x00000895 movdqu $16(%r11), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x20, //0x0000089b movdqu $32(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x7b, 0x30, //0x000008a1 movdqu $48(%r11), %xmm7 + 0x66, 0x0f, 0x6f, 0xdd, //0x000008a7 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000008ab pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x000008af pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xde, //0x000008b3 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000008b7 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x000008bb pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdc, //0x000008bf movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000008c3 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x000008c7 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdf, //0x000008cb movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000008cf pcmpeqb %xmm0, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x000008d3 pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xdd, //0x000008d8 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000008dc pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x000008e0 pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xde, //0x000008e5 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000008e9 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x000008ed pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x6f, 0xdc, //0x000008f1 movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000008f5 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe7, 0x10, //0x000008f9 shlq $16, %rdi + 0x48, 0x09, 0xfb, //0x000008fd orq %rdi, %rbx + 0x66, 0x0f, 0xd7, 0xfb, //0x00000900 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdf, //0x00000904 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000908 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe1, 0x20, //0x0000090c shlq $32, %rcx + 0x48, 0x09, 0xcb, //0x00000910 orq %rcx, %rbx + 0x66, 0x0f, 0xd7, 0xcb, //0x00000913 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x00000917 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdd, //0x0000091b pcmpgtb %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xee, //0x0000091f pcmpgtb %xmm14, %xmm5 + 0x66, 0x0f, 0xdb, 0xeb, //0x00000924 pand %xmm3, %xmm5 + 0x48, 0xc1, 0xe2, 0x10, //0x00000928 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x0000092c orq %rdx, %r13 + 0x66, 0x0f, 0xd7, 0xd5, //0x0000092f pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xda, //0x00000933 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xde, //0x00000937 pcmpgtb %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xf6, //0x0000093b pcmpgtb %xmm14, %xmm6 + 0x66, 0x0f, 0xdb, 0xf3, //0x00000940 pand %xmm3, %xmm6 + 0x48, 0xc1, 0xe7, 0x20, //0x00000944 shlq $32, %rdi + 0x49, 0x09, 0xfd, //0x00000948 orq %rdi, %r13 + 0x66, 0x0f, 0xd7, 0xfe, //0x0000094b pmovmskb %xmm6, %edi + 0x66, 0x0f, 0x6f, 0xda, //0x0000094f movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00000953 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00000957 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x0000095c pand %xmm3, %xmm4 + 0x48, 0xc1, 0xe1, 0x30, //0x00000960 shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000964 orq %rcx, %r13 + 0x66, 0x0f, 0xd7, 0xcc, //0x00000967 pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x0000096b movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdf, //0x0000096f pcmpgtb %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xfe, //0x00000973 pcmpgtb %xmm14, %xmm7 + 0x66, 0x0f, 0xdb, 0xfb, //0x00000978 pand %xmm3, %xmm7 + 0x48, 0xc1, 0xe7, 0x10, //0x0000097c shlq $16, %rdi + 0x48, 0x09, 0xfa, //0x00000980 orq %rdi, %rdx + 0x66, 0x0f, 0xd7, 0xff, //0x00000983 pmovmskb %xmm7, %edi + 0x49, 0xc1, 0xe6, 0x30, //0x00000987 shlq $48, %r14 + 0x48, 0xc1, 0xe1, 0x20, //0x0000098b shlq $32, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x0000098f cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000993 jne LBB0_106 + 0x4d, 0x85, 0xed, //0x00000999 testq %r13, %r13 + 0x0f, 0x85, 0xa4, 0x00, 0x00, 0x00, //0x0000099c jne LBB0_121 + //0x000009a2 LBB0_106 + 0x48, 0xc1, 0xe7, 0x30, //0x000009a2 shlq $48, %rdi + 0x48, 0x09, 0xca, //0x000009a6 orq %rcx, %rdx + 0x4c, 0x09, 0xf3, //0x000009a9 orq %r14, %rbx + 0x4c, 0x89, 0xe9, //0x000009ac movq %r13, %rcx + 0x4c, 0x09, 0xc9, //0x000009af orq %r9, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000009b2 jne LBB0_145 + 0x48, 0x09, 0xfa, //0x000009b8 orq %rdi, %rdx + 0x48, 0x85, 0xdb, //0x000009bb testq %rbx, %rbx + 0x0f, 0x85, 0x85, 0x02, 0x00, 0x00, //0x000009be jne LBB0_146 + //0x000009c4 LBB0_108 + 0x48, 0x85, 0xd2, //0x000009c4 testq %rdx, %rdx + 0x0f, 0x85, 0xf7, 0x1b, 0x00, 0x00, //0x000009c7 jne LBB0_431 + 0x48, 0x83, 0xc0, 0xc0, //0x000009cd addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x000009d1 addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x000009d5 cmpq $63, %rax + 0x0f, 0x87, 0xb1, 0xfe, 0xff, 0xff, //0x000009d9 ja LBB0_104 + 0xe9, 0x21, 0x0f, 0x00, 0x00, //0x000009df jmp LBB0_110 + //0x000009e4 LBB0_145 + 0x4d, 0x89, 0xce, //0x000009e4 movq %r9, %r14 + 0x49, 0xf7, 0xd6, //0x000009e7 notq %r14 + 0x4d, 0x21, 0xee, //0x000009ea andq %r13, %r14 + 0x4f, 0x8d, 0x14, 0x36, //0x000009ed leaq (%r14,%r14), %r10 + 0x4d, 0x09, 0xca, //0x000009f1 orq %r9, %r10 + 0x4c, 0x89, 0xd1, //0x000009f4 movq %r10, %rcx + 0x48, 0xf7, 0xd1, //0x000009f7 notq %rcx + 0x4c, 0x21, 0xe9, //0x000009fa andq %r13, %rcx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000009fd movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf1, //0x00000a07 andq %rsi, %rcx + 0x45, 0x31, 0xc9, //0x00000a0a xorl %r9d, %r9d + 0x4c, 0x01, 0xf1, //0x00000a0d addq %r14, %rcx + 0x41, 0x0f, 0x92, 0xc1, //0x00000a10 setb %r9b + 0x48, 0x01, 0xc9, //0x00000a14 addq %rcx, %rcx + 0x48, 0xbe, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000a17 movabsq $6148914691236517205, %rsi + 0x48, 0x31, 0xf1, //0x00000a21 xorq %rsi, %rcx + 0x4c, 0x21, 0xd1, //0x00000a24 andq %r10, %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x00000a27 movq $-48(%rbp), %r10 + 0x48, 0x8b, 0x75, 0xc8, //0x00000a2b movq $-56(%rbp), %rsi + 0x48, 0xf7, 0xd1, //0x00000a2f notq %rcx + 0x48, 0x21, 0xcb, //0x00000a32 andq %rcx, %rbx + 0x48, 0x09, 0xfa, //0x00000a35 orq %rdi, %rdx + 0x48, 0x85, 0xdb, //0x00000a38 testq %rbx, %rbx + 0x0f, 0x84, 0x83, 0xff, 0xff, 0xff, //0x00000a3b je LBB0_108 + 0xe9, 0x03, 0x02, 0x00, 0x00, //0x00000a41 jmp LBB0_146 + //0x00000a46 LBB0_121 + 0x4d, 0x89, 0xda, //0x00000a46 movq %r11, %r10 + 0x4c, 0x2b, 0x55, 0xd0, //0x00000a49 subq $-48(%rbp), %r10 + 0x4d, 0x0f, 0xbc, 0xc5, //0x00000a4d bsfq %r13, %r8 + 0x4d, 0x01, 0xd0, //0x00000a51 addq %r10, %r8 + 0x4c, 0x8b, 0x55, 0xd0, //0x00000a54 movq $-48(%rbp), %r10 + 0x48, 0x8b, 0x75, 0xc8, //0x00000a58 movq $-56(%rbp), %rsi + 0xe9, 0x41, 0xff, 0xff, 0xff, //0x00000a5c jmp LBB0_106 + //0x00000a61 LBB0_122 + 0x49, 0x81, 0xf9, 0xff, 0x0f, 0x00, 0x00, //0x00000a61 cmpq $4095, %r9 + 0x0f, 0x8f, 0x09, 0x1b, 0x00, 0x00, //0x00000a68 jg LBB0_442 + 0x49, 0x8d, 0x41, 0x01, //0x00000a6e leaq $1(%r9), %rax + 0x49, 0x89, 0x00, //0x00000a72 movq %rax, (%r8) + 0x4b, 0xc7, 0x44, 0xc8, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00000a75 movq $0, $8(%r8,%r9,8) + 0xe9, 0xed, 0xf6, 0xff, 0xff, //0x00000a7e jmp LBB0_3 + //0x00000a83 LBB0_126 + 0x4b, 0xc7, 0x04, 0xc8, 0x02, 0x00, 0x00, 0x00, //0x00000a83 movq $2, (%r8,%r9,8) + 0x48, 0x8b, 0x45, 0x90, //0x00000a8b movq $-112(%rbp), %rax + 0x4c, 0x8b, 0x48, 0x08, //0x00000a8f movq $8(%rax), %r9 + 0xf6, 0x85, 0x78, 0xff, 0xff, 0xff, 0x20, //0x00000a93 testb $32, $-136(%rbp) + 0x4c, 0x89, 0x5d, 0xb0, //0x00000a9a movq %r11, $-80(%rbp) + 0x0f, 0x85, 0x61, 0x02, 0x00, 0x00, //0x00000a9e jne LBB0_163 + 0x4d, 0x89, 0xcd, //0x00000aa4 movq %r9, %r13 + 0x4d, 0x29, 0xdd, //0x00000aa7 subq %r11, %r13 + 0x0f, 0x84, 0x7e, 0x1c, 0x00, 0x00, //0x00000aaa je LBB0_456 + 0x4c, 0x89, 0xd8, //0x00000ab0 movq %r11, %rax + 0x4d, 0x01, 0xd3, //0x00000ab3 addq %r10, %r11 + 0x49, 0x83, 0xfd, 0x40, //0x00000ab6 cmpq $64, %r13 + 0x0f, 0x82, 0x60, 0x15, 0x00, 0x00, //0x00000aba jb LBB0_369 + 0x44, 0x89, 0xe9, //0x00000ac0 movl %r13d, %ecx + 0x83, 0xe1, 0x3f, //0x00000ac3 andl $63, %ecx + 0x48, 0x89, 0x4d, 0xb8, //0x00000ac6 movq %rcx, $-72(%rbp) + 0x4c, 0x89, 0xc9, //0x00000aca movq %r9, %rcx + 0x4c, 0x29, 0xf9, //0x00000acd subq %r15, %rcx + 0x48, 0x83, 0xc1, 0xbf, //0x00000ad0 addq $-65, %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000ad4 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000ad8 addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x88, //0x00000adb addq $-120(%rbp), %rcx + 0x48, 0x89, 0x4d, 0x80, //0x00000adf movq %rcx, $-128(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000ae3 movq $-1, %r8 + 0x45, 0x31, 0xd2, //0x00000aea xorl %r10d, %r10d + 0x90, 0x90, 0x90, //0x00000aed .p2align 4, 0x90 + //0x00000af0 LBB0_130 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00000af0 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00000af5 movdqu $16(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6b, 0x20, //0x00000afb movdqu $32(%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x30, //0x00000b01 movdqu $48(%r11), %xmm6 + 0x66, 0x0f, 0x6f, 0xfb, //0x00000b07 movdqa %xmm3, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b0b pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xff, //0x00000b0f pmovmskb %xmm7, %edi + 0x66, 0x0f, 0x6f, 0xfc, //0x00000b13 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b17 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x00000b1b pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x6f, 0xfd, //0x00000b1f movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b23 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00000b27 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfe, //0x00000b2b movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b2f pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xdf, //0x00000b33 pmovmskb %xmm7, %ebx + 0x66, 0x0f, 0x74, 0xd9, //0x00000b37 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x00000b3b pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x74, 0xe1, //0x00000b3f pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00000b43 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x74, 0xe9, //0x00000b47 pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xf5, //0x00000b4b pmovmskb %xmm5, %r14d + 0x66, 0x0f, 0x74, 0xf1, //0x00000b50 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xe6, //0x00000b54 pmovmskb %xmm6, %r12d + 0x48, 0xc1, 0xe3, 0x30, //0x00000b59 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x00000b5d shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00000b61 shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00000b65 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00000b68 orq %rsi, %rdi + 0x49, 0xc1, 0xe4, 0x30, //0x00000b6b shlq $48, %r12 + 0x49, 0xc1, 0xe6, 0x20, //0x00000b6f shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x00000b73 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00000b77 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x00000b7a orq %r14, %rdx + 0x4c, 0x09, 0xe2, //0x00000b7d orq %r12, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000b80 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000b84 jne LBB0_132 + 0x48, 0x85, 0xd2, //0x00000b8a testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000b8d jne LBB0_141 + //0x00000b93 LBB0_132 + 0x48, 0x09, 0xdf, //0x00000b93 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000b96 movq %rdx, %rax + 0x4c, 0x09, 0xd0, //0x00000b99 orq %r10, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x00000b9c jne LBB0_142 + //0x00000ba2 LBB0_133 + 0x48, 0x85, 0xff, //0x00000ba2 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00000ba5 jne LBB0_143 + //0x00000bab LBB0_134 + 0x49, 0x83, 0xc5, 0xc0, //0x00000bab addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x00000baf addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000bb3 cmpq $63, %r13 + 0x0f, 0x87, 0x33, 0xff, 0xff, 0xff, //0x00000bb7 ja LBB0_130 + 0xe9, 0x7f, 0x0e, 0x00, 0x00, //0x00000bbd jmp LBB0_135 + //0x00000bc2 LBB0_141 + 0x4c, 0x89, 0xd8, //0x00000bc2 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000bc5 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc2, //0x00000bc9 bsfq %rdx, %r8 + 0x49, 0x01, 0xc0, //0x00000bcd addq %rax, %r8 + 0x48, 0x09, 0xdf, //0x00000bd0 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000bd3 movq %rdx, %rax + 0x4c, 0x09, 0xd0, //0x00000bd6 orq %r10, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000bd9 je LBB0_133 + //0x00000bdf LBB0_142 + 0x4c, 0x89, 0xd0, //0x00000bdf movq %r10, %rax + 0x48, 0xf7, 0xd0, //0x00000be2 notq %rax + 0x48, 0x21, 0xd0, //0x00000be5 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000be8 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xd1, //0x00000bec orq %r10, %rcx + 0x48, 0x89, 0xce, //0x00000bef movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000bf2 notq %rsi + 0x48, 0x21, 0xd6, //0x00000bf5 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000bf8 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000c02 andq %rdx, %rsi + 0x45, 0x31, 0xd2, //0x00000c05 xorl %r10d, %r10d + 0x48, 0x01, 0xc6, //0x00000c08 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc2, //0x00000c0b setb %r10b + 0x48, 0x01, 0xf6, //0x00000c0f addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000c12 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x00000c1c xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x00000c1f andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000c22 notq %rsi + 0x48, 0x21, 0xf7, //0x00000c25 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000c28 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00000c2b je LBB0_134 + //0x00000c31 LBB0_143 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000c31 bsfq %rdi, %rax + //0x00000c35 LBB0_144 + 0x4c, 0x03, 0x5d, 0x98, //0x00000c35 addq $-104(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000c39 addq %rax, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x00000c3c movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00000c40 movq $-48(%rbp), %r10 + 0xe9, 0x75, 0x03, 0x00, 0x00, //0x00000c44 jmp LBB0_196 + //0x00000c49 LBB0_146 + 0x48, 0x0f, 0xbc, 0xc3, //0x00000c49 bsfq %rbx, %rax + 0x48, 0x85, 0xd2, //0x00000c4d testq %rdx, %rdx + 0x0f, 0x84, 0xf1, 0x02, 0x00, 0x00, //0x00000c50 je LBB0_187 + 0x48, 0x0f, 0xbc, 0xca, //0x00000c56 bsfq %rdx, %rcx + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000c5a movq $-64(%rbp), %r9 + 0x4d, 0x29, 0xd3, //0x00000c5e subq %r10, %r11 + 0x48, 0x39, 0xc1, //0x00000c61 cmpq %rax, %rcx + 0x0f, 0x83, 0xf2, 0x02, 0x00, 0x00, //0x00000c64 jae LBB0_188 + 0xe9, 0xde, 0x1a, 0x00, 0x00, //0x00000c6a jmp LBB0_148 + //0x00000c6f LBB0_151 + 0x49, 0x01, 0xce, //0x00000c6f addq %rcx, %r14 + 0x4c, 0x89, 0x75, 0xb0, //0x00000c72 movq %r14, $-80(%rbp) + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000c76 movq $-1, %rcx + 0x4d, 0x85, 0xed, //0x00000c7d testq %r13, %r13 + 0x0f, 0x85, 0x19, 0x00, 0x00, 0x00, //0x00000c80 jne LBB0_154 + 0xe9, 0x20, 0x19, 0x00, 0x00, //0x00000c86 jmp LBB0_430 + //0x00000c8b LBB0_152 + 0x48, 0x89, 0x5d, 0xb0, //0x00000c8b movq %rbx, $-80(%rbp) + //0x00000c8f LBB0_153 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000c8f movq $-1, %rcx + 0x4d, 0x85, 0xed, //0x00000c96 testq %r13, %r13 + 0x0f, 0x84, 0x0c, 0x19, 0x00, 0x00, //0x00000c99 je LBB0_430 + //0x00000c9f LBB0_154 + 0x4d, 0x85, 0xd2, //0x00000c9f testq %r10, %r10 + 0x0f, 0x84, 0x03, 0x19, 0x00, 0x00, //0x00000ca2 je LBB0_430 + 0x4d, 0x85, 0xdb, //0x00000ca8 testq %r11, %r11 + 0x0f, 0x84, 0xfa, 0x18, 0x00, 0x00, //0x00000cab je LBB0_430 + 0x48, 0x8b, 0x45, 0xb0, //0x00000cb1 movq $-80(%rbp), %rax + 0x4c, 0x29, 0xc8, //0x00000cb5 subq %r9, %rax + 0x48, 0x89, 0xc1, //0x00000cb8 movq %rax, %rcx + 0x48, 0xff, 0xc8, //0x00000cbb decq %rax + 0x49, 0x39, 0xc5, //0x00000cbe cmpq %rax, %r13 + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00000cc1 je LBB0_162 + 0x49, 0x39, 0xc3, //0x00000cc7 cmpq %rax, %r11 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x00000cca je LBB0_162 + 0x49, 0x39, 0xc2, //0x00000cd0 cmpq %rax, %r10 + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00000cd3 je LBB0_162 + 0x4d, 0x85, 0xd2, //0x00000cd9 testq %r10, %r10 + 0x0f, 0x8e, 0xa2, 0x02, 0x00, 0x00, //0x00000cdc jle LBB0_191 + 0x49, 0x8d, 0x42, 0xff, //0x00000ce2 leaq $-1(%r10), %rax + 0x49, 0x39, 0xc5, //0x00000ce6 cmpq %rax, %r13 + 0x0f, 0x84, 0x95, 0x02, 0x00, 0x00, //0x00000ce9 je LBB0_191 + 0x49, 0xf7, 0xd2, //0x00000cef notq %r10 + 0x4d, 0x89, 0xd3, //0x00000cf2 movq %r10, %r11 + 0xe9, 0x31, 0x08, 0x00, 0x00, //0x00000cf5 jmp LBB0_271 + //0x00000cfa LBB0_162 + 0x49, 0x89, 0xcb, //0x00000cfa movq %rcx, %r11 + 0x49, 0xf7, 0xdb, //0x00000cfd negq %r11 + 0xe9, 0x26, 0x08, 0x00, 0x00, //0x00000d00 jmp LBB0_271 + //0x00000d05 LBB0_163 + 0x4c, 0x89, 0xc8, //0x00000d05 movq %r9, %rax + 0x4c, 0x29, 0xd8, //0x00000d08 subq %r11, %rax + 0x0f, 0x84, 0x1d, 0x1a, 0x00, 0x00, //0x00000d0b je LBB0_456 + 0x4c, 0x89, 0xd9, //0x00000d11 movq %r11, %rcx + 0x4d, 0x01, 0xd3, //0x00000d14 addq %r10, %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00000d17 cmpq $64, %rax + 0x4c, 0x89, 0x4d, 0xc0, //0x00000d1b movq %r9, $-64(%rbp) + 0x0f, 0x82, 0x14, 0x13, 0x00, 0x00, //0x00000d1f jb LBB0_370 + 0x89, 0xc2, //0x00000d25 movl %eax, %edx + 0x83, 0xe2, 0x3f, //0x00000d27 andl $63, %edx + 0x48, 0x89, 0x55, 0xb8, //0x00000d2a movq %rdx, $-72(%rbp) + 0x4d, 0x89, 0xcc, //0x00000d2e movq %r9, %r12 + 0x4d, 0x29, 0xfc, //0x00000d31 subq %r15, %r12 + 0x49, 0x83, 0xc4, 0xbf, //0x00000d34 addq $-65, %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00000d38 andq $-64, %r12 + 0x49, 0x01, 0xcc, //0x00000d3c addq %rcx, %r12 + 0x4c, 0x03, 0x65, 0x88, //0x00000d3f addq $-120(%rbp), %r12 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000d43 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00000d4a xorl %r9d, %r9d + 0x90, 0x90, 0x90, //0x00000d4d .p2align 4, 0x90 + //0x00000d50 LBB0_166 + 0xf3, 0x41, 0x0f, 0x6f, 0x2b, //0x00000d50 movdqu (%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x10, //0x00000d55 movdqu $16(%r11), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x20, //0x00000d5b movdqu $32(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x7b, 0x30, //0x00000d61 movdqu $48(%r11), %xmm7 + 0x66, 0x0f, 0x6f, 0xdd, //0x00000d67 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000d6b pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x00000d6f pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xde, //0x00000d73 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000d77 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x00000d7b pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdc, //0x00000d7f movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000d83 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00000d87 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdf, //0x00000d8b movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000d8f pcmpeqb %xmm0, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00000d93 pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xdd, //0x00000d98 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000d9c pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x00000da0 pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xde, //0x00000da5 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000da9 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x00000dad pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x6f, 0xdc, //0x00000db1 movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000db5 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe7, 0x10, //0x00000db9 shlq $16, %rdi + 0x48, 0x09, 0xfb, //0x00000dbd orq %rdi, %rbx + 0x66, 0x0f, 0xd7, 0xfb, //0x00000dc0 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdf, //0x00000dc4 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000dc8 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe1, 0x20, //0x00000dcc shlq $32, %rcx + 0x48, 0x09, 0xcb, //0x00000dd0 orq %rcx, %rbx + 0x66, 0x0f, 0xd7, 0xcb, //0x00000dd3 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x00000dd7 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdd, //0x00000ddb pcmpgtb %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xee, //0x00000ddf pcmpgtb %xmm14, %xmm5 + 0x66, 0x0f, 0xdb, 0xeb, //0x00000de4 pand %xmm3, %xmm5 + 0x48, 0xc1, 0xe2, 0x10, //0x00000de8 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x00000dec orq %rdx, %r13 + 0x66, 0x0f, 0xd7, 0xd5, //0x00000def pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xda, //0x00000df3 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xde, //0x00000df7 pcmpgtb %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xf6, //0x00000dfb pcmpgtb %xmm14, %xmm6 + 0x66, 0x0f, 0xdb, 0xf3, //0x00000e00 pand %xmm3, %xmm6 + 0x48, 0xc1, 0xe7, 0x20, //0x00000e04 shlq $32, %rdi + 0x49, 0x09, 0xfd, //0x00000e08 orq %rdi, %r13 + 0x66, 0x0f, 0xd7, 0xfe, //0x00000e0b pmovmskb %xmm6, %edi + 0x66, 0x0f, 0x6f, 0xda, //0x00000e0f movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00000e13 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00000e17 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00000e1c pand %xmm3, %xmm4 + 0x48, 0xc1, 0xe1, 0x30, //0x00000e20 shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000e24 orq %rcx, %r13 + 0x66, 0x0f, 0xd7, 0xcc, //0x00000e27 pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x00000e2b movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdf, //0x00000e2f pcmpgtb %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xfe, //0x00000e33 pcmpgtb %xmm14, %xmm7 + 0x66, 0x0f, 0xdb, 0xfb, //0x00000e38 pand %xmm3, %xmm7 + 0x48, 0xc1, 0xe7, 0x10, //0x00000e3c shlq $16, %rdi + 0x48, 0x09, 0xfa, //0x00000e40 orq %rdi, %rdx + 0x66, 0x0f, 0xd7, 0xff, //0x00000e43 pmovmskb %xmm7, %edi + 0x49, 0xc1, 0xe6, 0x30, //0x00000e47 shlq $48, %r14 + 0x48, 0xc1, 0xe1, 0x20, //0x00000e4b shlq $32, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00000e4f cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000e53 jne LBB0_168 + 0x4d, 0x85, 0xed, //0x00000e59 testq %r13, %r13 + 0x0f, 0x85, 0xa4, 0x00, 0x00, 0x00, //0x00000e5c jne LBB0_183 + //0x00000e62 LBB0_168 + 0x48, 0xc1, 0xe7, 0x30, //0x00000e62 shlq $48, %rdi + 0x48, 0x09, 0xca, //0x00000e66 orq %rcx, %rdx + 0x4c, 0x09, 0xf3, //0x00000e69 orq %r14, %rbx + 0x4c, 0x89, 0xe9, //0x00000e6c movq %r13, %rcx + 0x4c, 0x09, 0xc9, //0x00000e6f orq %r9, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000e72 jne LBB0_184 + 0x48, 0x09, 0xfa, //0x00000e78 orq %rdi, %rdx + 0x48, 0x85, 0xdb, //0x00000e7b testq %rbx, %rbx + 0x0f, 0x85, 0x9d, 0x00, 0x00, 0x00, //0x00000e7e jne LBB0_185 + //0x00000e84 LBB0_170 + 0x48, 0x85, 0xd2, //0x00000e84 testq %rdx, %rdx + 0x0f, 0x85, 0x37, 0x17, 0x00, 0x00, //0x00000e87 jne LBB0_431 + 0x48, 0x83, 0xc0, 0xc0, //0x00000e8d addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x00000e91 addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x00000e95 cmpq $63, %rax + 0x0f, 0x87, 0xb1, 0xfe, 0xff, 0xff, //0x00000e99 ja LBB0_166 + 0xe9, 0x21, 0x0c, 0x00, 0x00, //0x00000e9f jmp LBB0_172 + //0x00000ea4 LBB0_184 + 0x4d, 0x89, 0xce, //0x00000ea4 movq %r9, %r14 + 0x49, 0xf7, 0xd6, //0x00000ea7 notq %r14 + 0x4d, 0x21, 0xee, //0x00000eaa andq %r13, %r14 + 0x4f, 0x8d, 0x14, 0x36, //0x00000ead leaq (%r14,%r14), %r10 + 0x4d, 0x09, 0xca, //0x00000eb1 orq %r9, %r10 + 0x4c, 0x89, 0xd1, //0x00000eb4 movq %r10, %rcx + 0x48, 0xf7, 0xd1, //0x00000eb7 notq %rcx + 0x4c, 0x21, 0xe9, //0x00000eba andq %r13, %rcx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000ebd movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf1, //0x00000ec7 andq %rsi, %rcx + 0x45, 0x31, 0xc9, //0x00000eca xorl %r9d, %r9d + 0x4c, 0x01, 0xf1, //0x00000ecd addq %r14, %rcx + 0x41, 0x0f, 0x92, 0xc1, //0x00000ed0 setb %r9b + 0x48, 0x01, 0xc9, //0x00000ed4 addq %rcx, %rcx + 0x48, 0xbe, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000ed7 movabsq $6148914691236517205, %rsi + 0x48, 0x31, 0xf1, //0x00000ee1 xorq %rsi, %rcx + 0x4c, 0x21, 0xd1, //0x00000ee4 andq %r10, %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x00000ee7 movq $-48(%rbp), %r10 + 0x48, 0x8b, 0x75, 0xc8, //0x00000eeb movq $-56(%rbp), %rsi + 0x48, 0xf7, 0xd1, //0x00000eef notq %rcx + 0x48, 0x21, 0xcb, //0x00000ef2 andq %rcx, %rbx + 0x48, 0x09, 0xfa, //0x00000ef5 orq %rdi, %rdx + 0x48, 0x85, 0xdb, //0x00000ef8 testq %rbx, %rbx + 0x0f, 0x84, 0x83, 0xff, 0xff, 0xff, //0x00000efb je LBB0_170 + 0xe9, 0x1b, 0x00, 0x00, 0x00, //0x00000f01 jmp LBB0_185 + //0x00000f06 LBB0_183 + 0x4d, 0x89, 0xda, //0x00000f06 movq %r11, %r10 + 0x4c, 0x2b, 0x55, 0xd0, //0x00000f09 subq $-48(%rbp), %r10 + 0x4d, 0x0f, 0xbc, 0xc5, //0x00000f0d bsfq %r13, %r8 + 0x4d, 0x01, 0xd0, //0x00000f11 addq %r10, %r8 + 0x4c, 0x8b, 0x55, 0xd0, //0x00000f14 movq $-48(%rbp), %r10 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f18 movq $-56(%rbp), %rsi + 0xe9, 0x41, 0xff, 0xff, 0xff, //0x00000f1c jmp LBB0_168 + //0x00000f21 LBB0_185 + 0x48, 0x0f, 0xbc, 0xc3, //0x00000f21 bsfq %rbx, %rax + 0x48, 0x85, 0xd2, //0x00000f25 testq %rdx, %rdx + 0x0f, 0x84, 0x76, 0x00, 0x00, 0x00, //0x00000f28 je LBB0_194 + 0x48, 0x0f, 0xbc, 0xca, //0x00000f2e bsfq %rdx, %rcx + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000f32 movq $-64(%rbp), %r9 + 0x4d, 0x29, 0xd3, //0x00000f36 subq %r10, %r11 + 0x48, 0x39, 0xc1, //0x00000f39 cmpq %rax, %rcx + 0x0f, 0x83, 0x77, 0x00, 0x00, 0x00, //0x00000f3c jae LBB0_195 + 0xe9, 0x06, 0x18, 0x00, 0x00, //0x00000f42 jmp LBB0_148 + //0x00000f47 LBB0_187 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000f47 movl $64, %ecx + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000f4c movq $-64(%rbp), %r9 + 0x4d, 0x29, 0xd3, //0x00000f50 subq %r10, %r11 + 0x48, 0x39, 0xc1, //0x00000f53 cmpq %rax, %rcx + 0x0f, 0x82, 0xf1, 0x17, 0x00, 0x00, //0x00000f56 jb LBB0_148 + //0x00000f5c LBB0_188 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000f5c leaq $1(%r11,%rax), %r11 + //0x00000f61 LBB0_189 + 0x4d, 0x85, 0xdb, //0x00000f61 testq %r11, %r11 + 0x0f, 0x88, 0x19, 0x16, 0x00, 0x00, //0x00000f64 js LBB0_427 + //0x00000f6a LBB0_190 + 0x4c, 0x89, 0x1e, //0x00000f6a movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000f6d movq %r15, %rax + 0x48, 0x83, 0x7d, 0xb0, 0x00, //0x00000f70 cmpq $0, $-80(%rbp) + 0x4c, 0x8b, 0x45, 0xa0, //0x00000f75 movq $-96(%rbp), %r8 + 0x0f, 0x8f, 0xf1, 0xf1, 0xff, 0xff, //0x00000f79 jg LBB0_3 + 0xe9, 0xdc, 0x17, 0x00, 0x00, //0x00000f7f jmp LBB0_150 + //0x00000f84 LBB0_191 + 0x4c, 0x89, 0xd8, //0x00000f84 movq %r11, %rax + 0x4c, 0x09, 0xe8, //0x00000f87 orq %r13, %rax + 0x4d, 0x39, 0xeb, //0x00000f8a cmpq %r13, %r11 + 0x0f, 0x8c, 0x80, 0x05, 0x00, 0x00, //0x00000f8d jl LBB0_270 + 0x48, 0x85, 0xc0, //0x00000f93 testq %rax, %rax + 0x0f, 0x88, 0x77, 0x05, 0x00, 0x00, //0x00000f96 js LBB0_270 + 0x49, 0xf7, 0xd3, //0x00000f9c notq %r11 + 0xe9, 0x87, 0x05, 0x00, 0x00, //0x00000f9f jmp LBB0_271 + //0x00000fa4 LBB0_194 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000fa4 movl $64, %ecx + 0x4c, 0x8b, 0x4d, 0xc0, //0x00000fa9 movq $-64(%rbp), %r9 + 0x4d, 0x29, 0xd3, //0x00000fad subq %r10, %r11 + 0x48, 0x39, 0xc1, //0x00000fb0 cmpq %rax, %rcx + 0x0f, 0x82, 0x94, 0x17, 0x00, 0x00, //0x00000fb3 jb LBB0_148 + //0x00000fb9 LBB0_195 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000fb9 leaq $1(%r11,%rax), %r11 + //0x00000fbe LBB0_196 + 0x4d, 0x85, 0xdb, //0x00000fbe testq %r11, %r11 + 0x0f, 0x88, 0xbc, 0x15, 0x00, 0x00, //0x00000fc1 js LBB0_427 + 0x4c, 0x89, 0x1e, //0x00000fc7 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000fca movq %r15, %rax + 0x48, 0x83, 0x7d, 0xb0, 0x00, //0x00000fcd cmpq $0, $-80(%rbp) + 0x4c, 0x8b, 0x45, 0xa0, //0x00000fd2 movq $-96(%rbp), %r8 + 0x0f, 0x8e, 0x84, 0x17, 0x00, 0x00, //0x00000fd6 jle LBB0_150 + 0x49, 0x8b, 0x00, //0x00000fdc movq (%r8), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00000fdf cmpq $4095, %rax + 0x0f, 0x8f, 0x8c, 0x15, 0x00, 0x00, //0x00000fe5 jg LBB0_442 + 0x48, 0x8d, 0x48, 0x01, //0x00000feb leaq $1(%rax), %rcx + 0x49, 0x89, 0x08, //0x00000fef movq %rcx, (%r8) + 0x49, 0xc7, 0x44, 0xc0, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00000ff2 movq $4, $8(%r8,%rax,8) + 0xe9, 0x70, 0xf1, 0xff, 0xff, //0x00000ffb jmp LBB0_3 + //0x00001000 LBB0_200 + 0x49, 0x8b, 0x00, //0x00001000 movq (%r8), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00001003 cmpq $4095, %rax + 0x0f, 0x8f, 0x68, 0x15, 0x00, 0x00, //0x00001009 jg LBB0_442 + 0x48, 0x8d, 0x48, 0x01, //0x0000100f leaq $1(%rax), %rcx + 0x49, 0x89, 0x08, //0x00001013 movq %rcx, (%r8) + 0x49, 0xc7, 0x44, 0xc0, 0x08, 0x05, 0x00, 0x00, 0x00, //0x00001016 movq $5, $8(%r8,%rax,8) + 0xe9, 0x4c, 0xf1, 0xff, 0xff, //0x0000101f jmp LBB0_3 + //0x00001024 LBB0_202 + 0x48, 0x8b, 0x45, 0x90, //0x00001024 movq $-112(%rbp), %rax + 0x4c, 0x8b, 0x60, 0x08, //0x00001028 movq $8(%rax), %r12 + 0xf6, 0x85, 0x78, 0xff, 0xff, 0xff, 0x20, //0x0000102c testb $32, $-136(%rbp) + 0x4c, 0x89, 0x5d, 0xb0, //0x00001033 movq %r11, $-80(%rbp) + 0x4c, 0x89, 0x65, 0xc0, //0x00001037 movq %r12, $-64(%rbp) + 0x4d, 0x89, 0xe2, //0x0000103b movq %r12, %r10 + 0x0f, 0x85, 0xfd, 0x04, 0x00, 0x00, //0x0000103e jne LBB0_274 + 0x4d, 0x29, 0xda, //0x00001044 subq %r11, %r10 + 0x0f, 0x84, 0x22, 0x17, 0x00, 0x00, //0x00001047 je LBB0_457 + 0x48, 0x8b, 0x45, 0xd0, //0x0000104d movq $-48(%rbp), %rax + 0x4c, 0x89, 0xd9, //0x00001051 movq %r11, %rcx + 0x49, 0x01, 0xc3, //0x00001054 addq %rax, %r11 + 0x49, 0x83, 0xfa, 0x40, //0x00001057 cmpq $64, %r10 + 0x0f, 0x82, 0x5c, 0x10, 0x00, 0x00, //0x0000105b jb LBB0_375 + 0x44, 0x89, 0xd0, //0x00001061 movl %r10d, %eax + 0x83, 0xe0, 0x3f, //0x00001064 andl $63, %eax + 0x48, 0x89, 0x45, 0xb8, //0x00001067 movq %rax, $-72(%rbp) + 0x4d, 0x29, 0xfc, //0x0000106b subq %r15, %r12 + 0x49, 0x83, 0xc4, 0xbf, //0x0000106e addq $-65, %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00001072 andq $-64, %r12 + 0x49, 0x01, 0xcc, //0x00001076 addq %rcx, %r12 + 0x4c, 0x03, 0x65, 0x88, //0x00001079 addq $-120(%rbp), %r12 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000107d movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00001084 xorl %r9d, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001087 .p2align 4, 0x90 + //0x00001090 LBB0_206 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001090 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001095 movdqu $16(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6b, 0x20, //0x0000109b movdqu $32(%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x30, //0x000010a1 movdqu $48(%r11), %xmm6 + 0x66, 0x0f, 0x6f, 0xfb, //0x000010a7 movdqa %xmm3, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010ab pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xff, //0x000010af pmovmskb %xmm7, %edi + 0x66, 0x0f, 0x6f, 0xfc, //0x000010b3 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010b7 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x000010bb pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x6f, 0xfd, //0x000010bf movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010c3 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x000010c7 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfe, //0x000010cb movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010cf pcmpeqb %xmm0, %xmm7 + 0x66, 0x44, 0x0f, 0xd7, 0xef, //0x000010d3 pmovmskb %xmm7, %r13d + 0x66, 0x0f, 0x74, 0xd9, //0x000010d8 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x000010dc pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x74, 0xe1, //0x000010e0 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x000010e4 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x74, 0xe9, //0x000010e8 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x000010ec pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x74, 0xf1, //0x000010f0 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xf6, //0x000010f4 pmovmskb %xmm6, %r14d + 0x49, 0xc1, 0xe5, 0x30, //0x000010f9 shlq $48, %r13 + 0x48, 0xc1, 0xe6, 0x20, //0x000010fd shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00001101 shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00001105 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00001108 orq %rsi, %rdi + 0x49, 0xc1, 0xe6, 0x30, //0x0000110b shlq $48, %r14 + 0x48, 0xc1, 0xe3, 0x20, //0x0000110f shlq $32, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x00001113 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00001117 orq %rax, %rdx + 0x48, 0x09, 0xda, //0x0000111a orq %rbx, %rdx + 0x4c, 0x09, 0xf2, //0x0000111d orq %r14, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001120 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001124 jne LBB0_208 + 0x48, 0x85, 0xd2, //0x0000112a testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000112d jne LBB0_217 + //0x00001133 LBB0_208 + 0x4c, 0x09, 0xef, //0x00001133 orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x00001136 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00001139 orq %r9, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000113c jne LBB0_218 + //0x00001142 LBB0_209 + 0x48, 0x85, 0xff, //0x00001142 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00001145 jne LBB0_219 + //0x0000114b LBB0_210 + 0x49, 0x83, 0xc2, 0xc0, //0x0000114b addq $-64, %r10 + 0x49, 0x83, 0xc3, 0x40, //0x0000114f addq $64, %r11 + 0x49, 0x83, 0xfa, 0x3f, //0x00001153 cmpq $63, %r10 + 0x0f, 0x87, 0x33, 0xff, 0xff, 0xff, //0x00001157 ja LBB0_206 + 0xe9, 0xe8, 0x0b, 0x00, 0x00, //0x0000115d jmp LBB0_211 + //0x00001162 LBB0_217 + 0x4c, 0x89, 0xd8, //0x00001162 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00001165 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc2, //0x00001169 bsfq %rdx, %r8 + 0x49, 0x01, 0xc0, //0x0000116d addq %rax, %r8 + 0x4c, 0x09, 0xef, //0x00001170 orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x00001173 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00001176 orq %r9, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00001179 je LBB0_209 + //0x0000117f LBB0_218 + 0x4c, 0x89, 0xc8, //0x0000117f movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00001182 notq %rax + 0x48, 0x21, 0xd0, //0x00001185 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00001188 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x0000118c orq %r9, %rcx + 0x48, 0x89, 0xce, //0x0000118f movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00001192 notq %rsi + 0x48, 0x21, 0xd6, //0x00001195 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001198 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x000011a2 andq %rdx, %rsi + 0x45, 0x31, 0xc9, //0x000011a5 xorl %r9d, %r9d + 0x48, 0x01, 0xc6, //0x000011a8 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc1, //0x000011ab setb %r9b + 0x48, 0x01, 0xf6, //0x000011af addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000011b2 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x000011bc xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x000011bf andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x000011c2 notq %rsi + 0x48, 0x21, 0xf7, //0x000011c5 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x000011c8 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x000011cb je LBB0_210 + //0x000011d1 LBB0_219 + 0x48, 0x0f, 0xbc, 0xc7, //0x000011d1 bsfq %rdi, %rax + //0x000011d5 LBB0_220 + 0x4c, 0x03, 0x5d, 0x98, //0x000011d5 addq $-104(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x000011d9 addq %rax, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x000011dc movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x000011e0 movq $-48(%rbp), %r10 + 0xe9, 0x49, 0x06, 0x00, 0x00, //0x000011e4 jmp LBB0_314 + //0x000011e9 LBB0_221 + 0x48, 0x8b, 0x45, 0x90, //0x000011e9 movq $-112(%rbp), %rax + 0x4c, 0x8b, 0x48, 0x08, //0x000011ed movq $8(%rax), %r9 + 0x4d, 0x29, 0xd9, //0x000011f1 subq %r11, %r9 + 0x0f, 0x84, 0x01, 0x14, 0x00, 0x00, //0x000011f4 je LBB0_438 + 0x4c, 0x89, 0x5d, 0xb0, //0x000011fa movq %r11, $-80(%rbp) + 0x4f, 0x8d, 0x24, 0x1a, //0x000011fe leaq (%r10,%r11), %r12 + 0x41, 0x80, 0x3c, 0x24, 0x30, //0x00001202 cmpb $48, (%r12) + 0x0f, 0x85, 0x36, 0x00, 0x00, 0x00, //0x00001207 jne LBB0_226 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000120d movl $1, %r11d + 0x49, 0x83, 0xf9, 0x01, //0x00001213 cmpq $1, %r9 + 0x0f, 0x84, 0xe0, 0x05, 0x00, 0x00, //0x00001217 je LBB0_310 + 0x41, 0x8a, 0x44, 0x24, 0x01, //0x0000121d movb $1(%r12), %al + 0x04, 0xd2, //0x00001222 addb $-46, %al + 0x3c, 0x37, //0x00001224 cmpb $55, %al + 0x0f, 0x87, 0xd1, 0x05, 0x00, 0x00, //0x00001226 ja LBB0_310 + 0x0f, 0xb6, 0xc0, //0x0000122c movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x0000122f movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00001239 btq %rax, %rcx + 0x0f, 0x83, 0xba, 0x05, 0x00, 0x00, //0x0000123d jae LBB0_310 + //0x00001243 LBB0_226 + 0x49, 0x83, 0xf9, 0x10, //0x00001243 cmpq $16, %r9 + 0x0f, 0x82, 0x49, 0x0e, 0x00, 0x00, //0x00001247 jb LBB0_374 + 0x4d, 0x8d, 0x51, 0xf0, //0x0000124d leaq $-16(%r9), %r10 + 0x4c, 0x89, 0xd0, //0x00001251 movq %r10, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00001254 andq $-16, %rax + 0x4e, 0x8d, 0x44, 0x20, 0x10, //0x00001258 leaq $16(%rax,%r12), %r8 + 0x41, 0x83, 0xe2, 0x0f, //0x0000125d andl $15, %r10d + 0x48, 0xc7, 0x45, 0xb8, 0xff, 0xff, 0xff, 0xff, //0x00001261 movq $-1, $-72(%rbp) + 0x48, 0xc7, 0x45, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001269 movq $-1, $-64(%rbp) + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001271 movq $-1, %r14 + 0x4d, 0x89, 0xe5, //0x00001278 movq %r12, %r13 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000127b .p2align 4, 0x90 + //0x00001280 LBB0_228 + 0xf3, 0x41, 0x0f, 0x6f, 0x5d, 0x00, //0x00001280 movdqu (%r13), %xmm3 + 0x66, 0x0f, 0x6f, 0xe3, //0x00001286 movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x64, 0xe0, //0x0000128a pcmpgtb %xmm8, %xmm4 + 0x66, 0x41, 0x0f, 0x6f, 0xed, //0x0000128f movdqa %xmm13, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x00001294 pcmpgtb %xmm3, %xmm5 + 0x66, 0x0f, 0xdb, 0xec, //0x00001298 pand %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xe3, //0x0000129c movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xe1, //0x000012a0 pcmpeqb %xmm9, %xmm4 + 0x66, 0x0f, 0x6f, 0xf3, //0x000012a5 movdqa %xmm3, %xmm6 + 0x66, 0x41, 0x0f, 0x74, 0xf2, //0x000012a9 pcmpeqb %xmm10, %xmm6 + 0x66, 0x0f, 0xeb, 0xf4, //0x000012ae por %xmm4, %xmm6 + 0x66, 0x0f, 0x6f, 0xe3, //0x000012b2 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xe2, //0x000012b6 por %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xdb, //0x000012ba pcmpeqb %xmm11, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xe4, //0x000012bf pcmpeqb %xmm12, %xmm4 + 0x66, 0x0f, 0xd7, 0xdc, //0x000012c4 pmovmskb %xmm4, %ebx + 0x66, 0x0f, 0xeb, 0xe3, //0x000012c8 por %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xee, //0x000012cc por %xmm6, %xmm5 + 0x66, 0x0f, 0xeb, 0xec, //0x000012d0 por %xmm4, %xmm5 + 0x66, 0x0f, 0xd7, 0xc3, //0x000012d4 pmovmskb %xmm3, %eax + 0x66, 0x0f, 0xd7, 0xd6, //0x000012d8 pmovmskb %xmm6, %edx + 0x66, 0x0f, 0xd7, 0xcd, //0x000012dc pmovmskb %xmm5, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x000012e0 movl $2863311530, %esi + 0x48, 0x8d, 0xbe, 0x55, 0x55, 0x55, 0x55, //0x000012e5 leaq $1431655765(%rsi), %rdi + 0x48, 0x31, 0xcf, //0x000012ec xorq %rcx, %rdi + 0x48, 0x0f, 0xbc, 0xcf, //0x000012ef bsfq %rdi, %rcx + 0x83, 0xf9, 0x10, //0x000012f3 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000012f6 je LBB0_230 + 0xbf, 0xff, 0xff, 0xff, 0xff, //0x000012fc movl $-1, %edi + 0xd3, 0xe7, //0x00001301 shll %cl, %edi + 0xf7, 0xd7, //0x00001303 notl %edi + 0x21, 0xf8, //0x00001305 andl %edi, %eax + 0x21, 0xfb, //0x00001307 andl %edi, %ebx + 0x21, 0xd7, //0x00001309 andl %edx, %edi + 0x89, 0xfa, //0x0000130b movl %edi, %edx + //0x0000130d LBB0_230 + 0x8d, 0x78, 0xff, //0x0000130d leal $-1(%rax), %edi + 0x21, 0xc7, //0x00001310 andl %eax, %edi + 0x0f, 0x85, 0x0f, 0x0a, 0x00, 0x00, //0x00001312 jne LBB0_346 + 0x8d, 0x7b, 0xff, //0x00001318 leal $-1(%rbx), %edi + 0x21, 0xdf, //0x0000131b andl %ebx, %edi + 0x0f, 0x85, 0x04, 0x0a, 0x00, 0x00, //0x0000131d jne LBB0_346 + 0x8d, 0x7a, 0xff, //0x00001323 leal $-1(%rdx), %edi + 0x21, 0xd7, //0x00001326 andl %edx, %edi + 0x0f, 0x85, 0xf9, 0x09, 0x00, 0x00, //0x00001328 jne LBB0_346 + 0x85, 0xc0, //0x0000132e testl %eax, %eax + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00001330 je LBB0_236 + 0x4c, 0x89, 0xef, //0x00001336 movq %r13, %rdi + 0x4c, 0x29, 0xe7, //0x00001339 subq %r12, %rdi + 0x44, 0x0f, 0xbc, 0xd8, //0x0000133c bsfl %eax, %r11d + 0x49, 0x01, 0xfb, //0x00001340 addq %rdi, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x00001343 cmpq $-1, %r14 + 0x0f, 0x85, 0xe4, 0x09, 0x00, 0x00, //0x00001347 jne LBB0_347 + 0x4d, 0x89, 0xde, //0x0000134d movq %r11, %r14 + //0x00001350 LBB0_236 + 0x85, 0xdb, //0x00001350 testl %ebx, %ebx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00001352 je LBB0_239 + 0x4c, 0x89, 0xe8, //0x00001358 movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x0000135b subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xdb, //0x0000135e bsfl %ebx, %r11d + 0x49, 0x01, 0xc3, //0x00001362 addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xc0, 0xff, //0x00001365 cmpq $-1, $-64(%rbp) + 0x0f, 0x85, 0xc1, 0x09, 0x00, 0x00, //0x0000136a jne LBB0_347 + 0x4c, 0x89, 0x5d, 0xc0, //0x00001370 movq %r11, $-64(%rbp) + //0x00001374 LBB0_239 + 0x85, 0xd2, //0x00001374 testl %edx, %edx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00001376 je LBB0_242 + 0x4c, 0x89, 0xe8, //0x0000137c movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x0000137f subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xda, //0x00001382 bsfl %edx, %r11d + 0x49, 0x01, 0xc3, //0x00001386 addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb8, 0xff, //0x00001389 cmpq $-1, $-72(%rbp) + 0x0f, 0x85, 0x9d, 0x09, 0x00, 0x00, //0x0000138e jne LBB0_347 + 0x4c, 0x89, 0x5d, 0xb8, //0x00001394 movq %r11, $-72(%rbp) + //0x00001398 LBB0_242 + 0x83, 0xf9, 0x10, //0x00001398 cmpl $16, %ecx + 0x0f, 0x85, 0xd2, 0x03, 0x00, 0x00, //0x0000139b jne LBB0_298 + 0x49, 0x83, 0xc5, 0x10, //0x000013a1 addq $16, %r13 + 0x49, 0x83, 0xc1, 0xf0, //0x000013a5 addq $-16, %r9 + 0x49, 0x83, 0xf9, 0x0f, //0x000013a9 cmpq $15, %r9 + 0x0f, 0x87, 0xcd, 0xfe, 0xff, 0xff, //0x000013ad ja LBB0_228 + 0x4d, 0x85, 0xd2, //0x000013b3 testq %r10, %r10 + 0x48, 0x8d, 0x35, 0x13, 0x16, 0x00, 0x00, //0x000013b6 leaq $5651(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0x48, 0x8b, 0x7d, 0xc0, //0x000013bd movq $-64(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb8, //0x000013c1 movq $-72(%rbp), %rbx + 0x0f, 0x84, 0xb6, 0x03, 0x00, 0x00, //0x000013c5 je LBB0_299 + //0x000013cb LBB0_245 + 0x4b, 0x8d, 0x0c, 0x10, //0x000013cb leaq (%r8,%r10), %rcx + 0xe9, 0x18, 0x00, 0x00, 0x00, //0x000013cf jmp LBB0_247 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000013d4 .p2align 4, 0x90 + //0x000013e0 LBB0_246 + 0x49, 0x89, 0xc0, //0x000013e0 movq %rax, %r8 + 0x49, 0xff, 0xca, //0x000013e3 decq %r10 + 0x0f, 0x84, 0xd3, 0x0a, 0x00, 0x00, //0x000013e6 je LBB0_350 + //0x000013ec LBB0_247 + 0x41, 0x0f, 0xbe, 0x10, //0x000013ec movsbl (%r8), %edx + 0x83, 0xc2, 0xd5, //0x000013f0 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x000013f3 cmpl $58, %edx + 0x0f, 0x87, 0x85, 0x03, 0x00, 0x00, //0x000013f6 ja LBB0_299 + 0x49, 0x8d, 0x40, 0x01, //0x000013fc leaq $1(%r8), %rax + 0x48, 0x63, 0x14, 0x96, //0x00001400 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00001404 addq %rsi, %rdx + 0xff, 0xe2, //0x00001407 jmpq *%rdx + //0x00001409 LBB0_249 + 0x49, 0x89, 0xc3, //0x00001409 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x0000140c subq %r12, %r11 + 0x48, 0x83, 0xfb, 0xff, //0x0000140f cmpq $-1, %rbx + 0x0f, 0x85, 0xff, 0x0b, 0x00, 0x00, //0x00001413 jne LBB0_368 + 0x49, 0xff, 0xcb, //0x00001419 decq %r11 + 0x4c, 0x89, 0xdb, //0x0000141c movq %r11, %rbx + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000141f jmp LBB0_246 + //0x00001424 LBB0_251 + 0x49, 0x89, 0xc3, //0x00001424 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x00001427 subq %r12, %r11 + 0x48, 0x83, 0xff, 0xff, //0x0000142a cmpq $-1, %rdi + 0x0f, 0x85, 0xe4, 0x0b, 0x00, 0x00, //0x0000142e jne LBB0_368 + 0x49, 0xff, 0xcb, //0x00001434 decq %r11 + 0x4c, 0x89, 0xdf, //0x00001437 movq %r11, %rdi + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000143a jmp LBB0_246 + //0x0000143f LBB0_253 + 0x49, 0x89, 0xc3, //0x0000143f movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x00001442 subq %r12, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x00001445 cmpq $-1, %r14 + 0x0f, 0x85, 0xc9, 0x0b, 0x00, 0x00, //0x00001449 jne LBB0_368 + 0x49, 0xff, 0xcb, //0x0000144f decq %r11 + 0x4d, 0x89, 0xde, //0x00001452 movq %r11, %r14 + 0xe9, 0x86, 0xff, 0xff, 0xff, //0x00001455 jmp LBB0_246 + //0x0000145a LBB0_255 + 0x48, 0x8b, 0x4d, 0x90, //0x0000145a movq $-112(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x0000145e movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfc, //0x00001462 leaq $-4(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001466 cmpq %rdx, %r15 + 0x0f, 0x83, 0x6b, 0x11, 0x00, 0x00, //0x00001469 jae LBB0_441 + 0x43, 0x8b, 0x0c, 0x1a, //0x0000146f movl (%r10,%r11), %ecx + 0x81, 0xf9, 0x61, 0x6c, 0x73, 0x65, //0x00001473 cmpl $1702063201, %ecx + 0x0f, 0x85, 0xaf, 0x11, 0x00, 0x00, //0x00001479 jne LBB0_443 + 0x4c, 0x89, 0xd9, //0x0000147f movq %r11, %rcx + 0x4d, 0x8d, 0x5f, 0x05, //0x00001482 leaq $5(%r15), %r11 + 0xe9, 0x50, 0x00, 0x00, 0x00, //0x00001486 jmp LBB0_267 + //0x0000148b LBB0_258 + 0x48, 0x8b, 0x4d, 0x90, //0x0000148b movq $-112(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x0000148f movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x00001493 leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001497 cmpq %rdx, %r15 + 0x0f, 0x83, 0x3a, 0x11, 0x00, 0x00, //0x0000149a jae LBB0_441 + 0x41, 0x81, 0x39, 0x6e, 0x75, 0x6c, 0x6c, //0x000014a0 cmpl $1819047278, (%r9) + 0x0f, 0x84, 0x27, 0x00, 0x00, 0x00, //0x000014a7 je LBB0_266 + 0xe9, 0xd1, 0x11, 0x00, 0x00, //0x000014ad jmp LBB0_260 + //0x000014b2 LBB0_264 + 0x48, 0x8b, 0x4d, 0x90, //0x000014b2 movq $-112(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x000014b6 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x000014ba leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x000014be cmpq %rdx, %r15 + 0x0f, 0x83, 0x13, 0x11, 0x00, 0x00, //0x000014c1 jae LBB0_441 + 0x41, 0x81, 0x39, 0x74, 0x72, 0x75, 0x65, //0x000014c7 cmpl $1702195828, (%r9) + 0x0f, 0x85, 0x01, 0x12, 0x00, 0x00, //0x000014ce jne LBB0_448 + //0x000014d4 LBB0_266 + 0x4c, 0x89, 0xd9, //0x000014d4 movq %r11, %rcx + 0x4d, 0x8d, 0x5f, 0x04, //0x000014d7 leaq $4(%r15), %r11 + //0x000014db LBB0_267 + 0x4c, 0x89, 0x1e, //0x000014db movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x000014de movq %r15, %rax + 0x48, 0x85, 0xc9, //0x000014e1 testq %rcx, %rcx + 0x0f, 0x8f, 0x86, 0xec, 0xff, 0xff, //0x000014e4 jg LBB0_3 + 0xe9, 0x71, 0x12, 0x00, 0x00, //0x000014ea jmp LBB0_150 + //0x000014ef LBB0_268 + 0x49, 0x8b, 0x00, //0x000014ef movq (%r8), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000014f2 cmpq $4095, %rax + 0x0f, 0x8f, 0x79, 0x10, 0x00, 0x00, //0x000014f8 jg LBB0_442 + 0x48, 0x8d, 0x48, 0x01, //0x000014fe leaq $1(%rax), %rcx + 0x49, 0x89, 0x08, //0x00001502 movq %rcx, (%r8) + 0x49, 0xc7, 0x44, 0xc0, 0x08, 0x06, 0x00, 0x00, 0x00, //0x00001505 movq $6, $8(%r8,%rax,8) + 0xe9, 0x5d, 0xec, 0xff, 0xff, //0x0000150e jmp LBB0_3 + //0x00001513 LBB0_270 + 0x48, 0x85, 0xc0, //0x00001513 testq %rax, %rax + 0x49, 0x8d, 0x45, 0xff, //0x00001516 leaq $-1(%r13), %rax + 0x49, 0xf7, 0xd5, //0x0000151a notq %r13 + 0x4c, 0x0f, 0x48, 0xe9, //0x0000151d cmovsq %rcx, %r13 + 0x49, 0x39, 0xc3, //0x00001521 cmpq %rax, %r11 + 0x49, 0x89, 0xcb, //0x00001524 movq %rcx, %r11 + 0x4d, 0x0f, 0x44, 0xdd, //0x00001527 cmoveq %r13, %r11 + //0x0000152b LBB0_271 + 0x48, 0x8b, 0x75, 0xc8, //0x0000152b movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x0000152f movq $-48(%rbp), %r10 + //0x00001533 LBB0_272 + 0x4d, 0x85, 0xdb, //0x00001533 testq %r11, %r11 + 0x0f, 0x89, 0x20, 0xec, 0xff, 0xff, //0x00001536 jns LBB0_1 + 0xe9, 0x67, 0x10, 0x00, 0x00, //0x0000153c jmp LBB0_273 + //0x00001541 LBB0_274 + 0x4d, 0x29, 0xda, //0x00001541 subq %r11, %r10 + 0x0f, 0x84, 0x32, 0x12, 0x00, 0x00, //0x00001544 je LBB0_458 + 0x48, 0x8b, 0x45, 0xd0, //0x0000154a movq $-48(%rbp), %rax + 0x4c, 0x89, 0xd9, //0x0000154e movq %r11, %rcx + 0x49, 0x01, 0xc3, //0x00001551 addq %rax, %r11 + 0x49, 0x83, 0xfa, 0x40, //0x00001554 cmpq $64, %r10 + 0x0f, 0x82, 0x78, 0x0b, 0x00, 0x00, //0x00001558 jb LBB0_376 + 0x45, 0x89, 0xd1, //0x0000155e movl %r10d, %r9d + 0x41, 0x83, 0xe1, 0x3f, //0x00001561 andl $63, %r9d + 0x4d, 0x29, 0xfc, //0x00001565 subq %r15, %r12 + 0x49, 0x83, 0xc4, 0xbf, //0x00001568 addq $-65, %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x0000156c andq $-64, %r12 + 0x49, 0x01, 0xcc, //0x00001570 addq %rcx, %r12 + 0x4c, 0x03, 0x65, 0x88, //0x00001573 addq $-120(%rbp), %r12 + 0x4c, 0x89, 0x65, 0xb8, //0x00001577 movq %r12, $-72(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000157b movq $-1, %r8 + 0x45, 0x31, 0xe4, //0x00001582 xorl %r12d, %r12d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001585 .p2align 4, 0x90 + //0x00001590 LBB0_277 + 0xf3, 0x41, 0x0f, 0x6f, 0x2b, //0x00001590 movdqu (%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x10, //0x00001595 movdqu $16(%r11), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x20, //0x0000159b movdqu $32(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x7b, 0x30, //0x000015a1 movdqu $48(%r11), %xmm7 + 0x66, 0x0f, 0x6f, 0xdd, //0x000015a7 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000015ab pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xc3, //0x000015af pmovmskb %xmm3, %eax + 0x66, 0x0f, 0x6f, 0xde, //0x000015b3 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000015b7 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x000015bb pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdc, //0x000015bf movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000015c3 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x000015c7 pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xdf, //0x000015cb movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000015cf pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x000015d3 pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x6f, 0xdd, //0x000015d7 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015db pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x000015df pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xde, //0x000015e4 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015e8 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x000015ec pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdc, //0x000015f0 movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015f4 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe1, 0x10, //0x000015f8 shlq $16, %rcx + 0x48, 0x09, 0xc8, //0x000015fc orq %rcx, %rax + 0x66, 0x0f, 0xd7, 0xcb, //0x000015ff pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdf, //0x00001603 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00001607 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe3, 0x20, //0x0000160b shlq $32, %rbx + 0x48, 0x09, 0xd8, //0x0000160f orq %rbx, %rax + 0x66, 0x0f, 0xd7, 0xdb, //0x00001612 pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xda, //0x00001616 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdd, //0x0000161a pcmpgtb %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xee, //0x0000161e pcmpgtb %xmm14, %xmm5 + 0x66, 0x0f, 0xdb, 0xeb, //0x00001623 pand %xmm3, %xmm5 + 0x48, 0xc1, 0xe7, 0x10, //0x00001627 shlq $16, %rdi + 0x49, 0x09, 0xfd, //0x0000162b orq %rdi, %r13 + 0x66, 0x44, 0x0f, 0xd7, 0xf5, //0x0000162e pmovmskb %xmm5, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x00001633 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xde, //0x00001637 pcmpgtb %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xf6, //0x0000163b pcmpgtb %xmm14, %xmm6 + 0x66, 0x0f, 0xdb, 0xf3, //0x00001640 pand %xmm3, %xmm6 + 0x48, 0xc1, 0xe1, 0x20, //0x00001644 shlq $32, %rcx + 0x49, 0x09, 0xcd, //0x00001648 orq %rcx, %r13 + 0x66, 0x0f, 0xd7, 0xfe, //0x0000164b pmovmskb %xmm6, %edi + 0x66, 0x0f, 0x6f, 0xda, //0x0000164f movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001653 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001657 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x0000165c pand %xmm3, %xmm4 + 0x48, 0xc1, 0xe3, 0x30, //0x00001660 shlq $48, %rbx + 0x49, 0x09, 0xdd, //0x00001664 orq %rbx, %r13 + 0x66, 0x0f, 0xd7, 0xcc, //0x00001667 pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x0000166b movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdf, //0x0000166f pcmpgtb %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xfe, //0x00001673 pcmpgtb %xmm14, %xmm7 + 0x66, 0x0f, 0xdb, 0xfb, //0x00001678 pand %xmm3, %xmm7 + 0x48, 0xc1, 0xe7, 0x10, //0x0000167c shlq $16, %rdi + 0x49, 0x09, 0xfe, //0x00001680 orq %rdi, %r14 + 0x66, 0x0f, 0xd7, 0xff, //0x00001683 pmovmskb %xmm7, %edi + 0x48, 0xc1, 0xe2, 0x30, //0x00001687 shlq $48, %rdx + 0x48, 0xc1, 0xe1, 0x20, //0x0000168b shlq $32, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x0000168f cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001693 jne LBB0_279 + 0x4d, 0x85, 0xed, //0x00001699 testq %r13, %r13 + 0x0f, 0x85, 0xa4, 0x00, 0x00, 0x00, //0x0000169c jne LBB0_294 + //0x000016a2 LBB0_279 + 0x48, 0xc1, 0xe7, 0x30, //0x000016a2 shlq $48, %rdi + 0x49, 0x09, 0xce, //0x000016a6 orq %rcx, %r14 + 0x48, 0x09, 0xd0, //0x000016a9 orq %rdx, %rax + 0x4c, 0x89, 0xe9, //0x000016ac movq %r13, %rcx + 0x4c, 0x09, 0xe1, //0x000016af orq %r12, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000016b2 jne LBB0_295 + 0x49, 0x09, 0xfe, //0x000016b8 orq %rdi, %r14 + 0x48, 0x85, 0xc0, //0x000016bb testq %rax, %rax + 0x0f, 0x85, 0x95, 0x00, 0x00, 0x00, //0x000016be jne LBB0_296 + //0x000016c4 LBB0_281 + 0x4d, 0x85, 0xf6, //0x000016c4 testq %r14, %r14 + 0x0f, 0x85, 0x69, 0x10, 0x00, 0x00, //0x000016c7 jne LBB0_453 + 0x49, 0x83, 0xc2, 0xc0, //0x000016cd addq $-64, %r10 + 0x49, 0x83, 0xc3, 0x40, //0x000016d1 addq $64, %r11 + 0x49, 0x83, 0xfa, 0x3f, //0x000016d5 cmpq $63, %r10 + 0x0f, 0x87, 0xb1, 0xfe, 0xff, 0xff, //0x000016d9 ja LBB0_277 + 0xe9, 0xe9, 0x06, 0x00, 0x00, //0x000016df jmp LBB0_283 + //0x000016e4 LBB0_295 + 0x4c, 0x89, 0xe1, //0x000016e4 movq %r12, %rcx + 0x48, 0xf7, 0xd1, //0x000016e7 notq %rcx + 0x4c, 0x21, 0xe9, //0x000016ea andq %r13, %rcx + 0x4c, 0x89, 0x4d, 0x80, //0x000016ed movq %r9, $-128(%rbp) + 0x4c, 0x8d, 0x0c, 0x09, //0x000016f1 leaq (%rcx,%rcx), %r9 + 0x4d, 0x09, 0xe1, //0x000016f5 orq %r12, %r9 + 0x4c, 0x89, 0xca, //0x000016f8 movq %r9, %rdx + 0x48, 0xf7, 0xd2, //0x000016fb notq %rdx + 0x4c, 0x21, 0xea, //0x000016fe andq %r13, %rdx + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001701 movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xda, //0x0000170b andq %rbx, %rdx + 0x45, 0x31, 0xe4, //0x0000170e xorl %r12d, %r12d + 0x48, 0x01, 0xca, //0x00001711 addq %rcx, %rdx + 0x41, 0x0f, 0x92, 0xc4, //0x00001714 setb %r12b + 0x48, 0x01, 0xd2, //0x00001718 addq %rdx, %rdx + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x0000171b movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xca, //0x00001725 xorq %rcx, %rdx + 0x4c, 0x21, 0xca, //0x00001728 andq %r9, %rdx + 0x4c, 0x8b, 0x4d, 0x80, //0x0000172b movq $-128(%rbp), %r9 + 0x48, 0xf7, 0xd2, //0x0000172f notq %rdx + 0x48, 0x21, 0xd0, //0x00001732 andq %rdx, %rax + 0x49, 0x09, 0xfe, //0x00001735 orq %rdi, %r14 + 0x48, 0x85, 0xc0, //0x00001738 testq %rax, %rax + 0x0f, 0x84, 0x83, 0xff, 0xff, 0xff, //0x0000173b je LBB0_281 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00001741 jmp LBB0_296 + //0x00001746 LBB0_294 + 0x4c, 0x89, 0xdb, //0x00001746 movq %r11, %rbx + 0x48, 0x2b, 0x5d, 0xd0, //0x00001749 subq $-48(%rbp), %rbx + 0x4d, 0x0f, 0xbc, 0xc5, //0x0000174d bsfq %r13, %r8 + 0x49, 0x01, 0xd8, //0x00001751 addq %rbx, %r8 + 0xe9, 0x49, 0xff, 0xff, 0xff, //0x00001754 jmp LBB0_279 + //0x00001759 LBB0_296 + 0x48, 0x0f, 0xbc, 0xc0, //0x00001759 bsfq %rax, %rax + 0x4d, 0x85, 0xf6, //0x0000175d testq %r14, %r14 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001760 movq $-48(%rbp), %r10 + 0x0f, 0x84, 0xb2, 0x00, 0x00, 0x00, //0x00001764 je LBB0_311 + 0x49, 0x0f, 0xbc, 0xce, //0x0000176a bsfq %r14, %rcx + 0xe9, 0xae, 0x00, 0x00, 0x00, //0x0000176e jmp LBB0_312 + //0x00001773 LBB0_298 + 0x49, 0x01, 0xcd, //0x00001773 addq %rcx, %r13 + 0x4d, 0x89, 0xe8, //0x00001776 movq %r13, %r8 + 0x48, 0x8b, 0x7d, 0xc0, //0x00001779 movq $-64(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb8, //0x0000177d movq $-72(%rbp), %rbx + //0x00001781 LBB0_299 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001781 movq $-1, %r11 + 0x48, 0x85, 0xff, //0x00001788 testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x0000178b movq $-56(%rbp), %rsi + 0x0f, 0x84, 0x6d, 0x0e, 0x00, 0x00, //0x0000178f je LBB0_439 + //0x00001795 LBB0_300 + 0x48, 0x85, 0xdb, //0x00001795 testq %rbx, %rbx + 0x0f, 0x84, 0x64, 0x0e, 0x00, 0x00, //0x00001798 je LBB0_439 + 0x4d, 0x85, 0xf6, //0x0000179e testq %r14, %r14 + 0x4c, 0x8b, 0x55, 0xd0, //0x000017a1 movq $-48(%rbp), %r10 + 0x0f, 0x84, 0x57, 0x0e, 0x00, 0x00, //0x000017a5 je LBB0_439 + 0x4d, 0x29, 0xe0, //0x000017ab subq %r12, %r8 + 0x49, 0x8d, 0x40, 0xff, //0x000017ae leaq $-1(%r8), %rax + 0x48, 0x39, 0xc7, //0x000017b2 cmpq %rax, %rdi + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x000017b5 je LBB0_308 + 0x49, 0x39, 0xc6, //0x000017bb cmpq %rax, %r14 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x000017be je LBB0_308 + 0x48, 0x39, 0xc3, //0x000017c4 cmpq %rax, %rbx + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x000017c7 je LBB0_308 + 0x48, 0x85, 0xdb, //0x000017cd testq %rbx, %rbx + 0x0f, 0x8e, 0x88, 0x00, 0x00, 0x00, //0x000017d0 jle LBB0_319 + 0x48, 0x8d, 0x43, 0xff, //0x000017d6 leaq $-1(%rbx), %rax + 0x48, 0x39, 0xc7, //0x000017da cmpq %rax, %rdi + 0x0f, 0x84, 0x7b, 0x00, 0x00, 0x00, //0x000017dd je LBB0_319 + 0x48, 0xf7, 0xd3, //0x000017e3 notq %rbx + 0x49, 0x89, 0xdb, //0x000017e6 movq %rbx, %r11 + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x000017e9 jmp LBB0_309 + //0x000017ee LBB0_308 + 0x49, 0xf7, 0xd8, //0x000017ee negq %r8 + 0x4d, 0x89, 0xc3, //0x000017f1 movq %r8, %r11 + //0x000017f4 LBB0_309 + 0x4d, 0x85, 0xdb, //0x000017f4 testq %r11, %r11 + 0x0f, 0x88, 0x05, 0x0e, 0x00, 0x00, //0x000017f7 js LBB0_439 + //0x000017fd LBB0_310 + 0x48, 0x8b, 0x4d, 0xb0, //0x000017fd movq $-80(%rbp), %rcx + 0x49, 0x01, 0xcb, //0x00001801 addq %rcx, %r11 + 0x4c, 0x89, 0x1e, //0x00001804 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00001807 movq %r15, %rax + 0x48, 0x85, 0xc9, //0x0000180a testq %rcx, %rcx + 0x4c, 0x8b, 0x45, 0xa0, //0x0000180d movq $-96(%rbp), %r8 + 0x0f, 0x8f, 0x59, 0xe9, 0xff, 0xff, //0x00001811 jg LBB0_3 + 0xe9, 0x44, 0x0f, 0x00, 0x00, //0x00001817 jmp LBB0_150 + //0x0000181c LBB0_311 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x0000181c movl $64, %ecx + //0x00001821 LBB0_312 + 0x4d, 0x29, 0xd3, //0x00001821 subq %r10, %r11 + 0x48, 0x39, 0xc1, //0x00001824 cmpq %rax, %rcx + 0x0f, 0x82, 0x20, 0x0f, 0x00, 0x00, //0x00001827 jb LBB0_148 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x0000182d leaq $1(%r11,%rax), %r11 + //0x00001832 LBB0_314 + 0x4d, 0x85, 0xdb, //0x00001832 testq %r11, %r11 + 0x0f, 0x89, 0x2f, 0xf7, 0xff, 0xff, //0x00001835 jns LBB0_190 + 0xe9, 0xd4, 0x0d, 0x00, 0x00, //0x0000183b jmp LBB0_315 + //0x00001840 LBB0_317 + 0x4d, 0x29, 0xce, //0x00001840 subq %r9, %r14 + 0x44, 0x0f, 0xbc, 0xd8, //0x00001843 bsfl %eax, %r11d + 0x4d, 0x01, 0xf3, //0x00001847 addq %r14, %r11 + 0x49, 0xf7, 0xd3, //0x0000184a notq %r11 + //0x0000184d LBB0_318 + 0x48, 0x8b, 0x75, 0xc8, //0x0000184d movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00001851 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x45, 0xa0, //0x00001855 movq $-96(%rbp), %r8 + 0xe9, 0xd5, 0xfc, 0xff, 0xff, //0x00001859 jmp LBB0_272 + //0x0000185e LBB0_319 + 0x4c, 0x89, 0xf0, //0x0000185e movq %r14, %rax + 0x48, 0x09, 0xf8, //0x00001861 orq %rdi, %rax + 0x49, 0x39, 0xfe, //0x00001864 cmpq %rdi, %r14 + 0x0f, 0x8c, 0x93, 0x01, 0x00, 0x00, //0x00001867 jl LBB0_322 + 0x48, 0x85, 0xc0, //0x0000186d testq %rax, %rax + 0x0f, 0x88, 0x8a, 0x01, 0x00, 0x00, //0x00001870 js LBB0_322 + 0x49, 0xf7, 0xd6, //0x00001876 notq %r14 + 0x4d, 0x89, 0xf3, //0x00001879 movq %r14, %r11 + 0xe9, 0x73, 0xff, 0xff, 0xff, //0x0000187c jmp LBB0_309 + //0x00001881 LBB0_50 + 0x4c, 0x8b, 0x5d, 0x80, //0x00001881 movq $-128(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xb8, //0x00001885 movq $-72(%rbp), %r13 + 0x49, 0x83, 0xfd, 0x20, //0x00001889 cmpq $32, %r13 + 0x0f, 0x82, 0xfb, 0x08, 0x00, 0x00, //0x0000188d jb LBB0_381 + //0x00001893 LBB0_51 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001893 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001898 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x0000189e movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x000018a2 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xfd, //0x000018a6 pmovmskb %xmm5, %edi + 0x66, 0x0f, 0x6f, 0xec, //0x000018aa movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x000018ae pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x000018b2 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x74, 0xd9, //0x000018b6 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x000018ba pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x000018be pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x000018c2 pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x000018c6 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x000018ca shlq $16, %rax + 0x48, 0x09, 0xc1, //0x000018ce orq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x000018d1 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000018d5 jne LBB0_53 + 0x48, 0x85, 0xc9, //0x000018db testq %rcx, %rcx + 0x0f, 0x85, 0x49, 0x08, 0x00, 0x00, //0x000018de jne LBB0_378 + //0x000018e4 LBB0_53 + 0x48, 0x09, 0xfa, //0x000018e4 orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x000018e7 movq %rcx, %rax + 0x4c, 0x09, 0xd0, //0x000018ea orq %r10, %rax + 0x0f, 0x85, 0x57, 0x08, 0x00, 0x00, //0x000018ed jne LBB0_379 + //0x000018f3 LBB0_54 + 0x48, 0x85, 0xd2, //0x000018f3 testq %rdx, %rdx + 0x0f, 0x84, 0x8a, 0x08, 0x00, 0x00, //0x000018f6 je LBB0_380 + //0x000018fc LBB0_55 + 0x48, 0x0f, 0xbc, 0xc2, //0x000018fc bsfq %rdx, %rax + 0xe9, 0x40, 0xec, 0xff, 0xff, //0x00001900 jmp LBB0_59 + //0x00001905 LBB0_110 + 0x4d, 0x89, 0xe3, //0x00001905 movq %r12, %r11 + 0x48, 0x8b, 0x45, 0xb8, //0x00001908 movq $-72(%rbp), %rax + 0x48, 0x83, 0xf8, 0x20, //0x0000190c cmpq $32, %rax + 0x0f, 0x82, 0xac, 0x06, 0x00, 0x00, //0x00001910 jb LBB0_364 + //0x00001916 LBB0_111 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001916 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x0000191b movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001921 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001925 pcmpeqb %xmm0, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xd5, //0x00001929 pmovmskb %xmm5, %r10d + 0x66, 0x0f, 0x6f, 0xec, //0x0000192e movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001932 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00001936 pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x6f, 0xeb, //0x0000193a movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x0000193e pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001942 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xec, //0x00001946 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x0000194a pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xcd, //0x0000194e pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xea, //0x00001952 movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x00001956 pcmpgtb %xmm3, %xmm5 + 0x66, 0x41, 0x0f, 0x64, 0xde, //0x0000195a pcmpgtb %xmm14, %xmm3 + 0x66, 0x0f, 0xdb, 0xdd, //0x0000195f pand %xmm5, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001963 pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x00001968 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x0000196c pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001970 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00001975 pand %xmm3, %xmm4 + 0x66, 0x0f, 0xd7, 0xfc, //0x00001979 pmovmskb %xmm4, %edi + 0x48, 0xc1, 0xe3, 0x10, //0x0000197d shlq $16, %rbx + 0x48, 0xc1, 0xe1, 0x10, //0x00001981 shlq $16, %rcx + 0x48, 0x09, 0xca, //0x00001985 orq %rcx, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001988 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000198c jne LBB0_113 + 0x48, 0x85, 0xd2, //0x00001992 testq %rdx, %rdx + 0x0f, 0x85, 0x80, 0x08, 0x00, 0x00, //0x00001995 jne LBB0_389 + //0x0000199b LBB0_113 + 0x48, 0xc1, 0xe7, 0x10, //0x0000199b shlq $16, %rdi + 0x4c, 0x09, 0xd3, //0x0000199f orq %r10, %rbx + 0x48, 0x89, 0xd1, //0x000019a2 movq %rdx, %rcx + 0x4c, 0x09, 0xc9, //0x000019a5 orq %r9, %rcx + 0x0f, 0x85, 0x41, 0x07, 0x00, 0x00, //0x000019a8 jne LBB0_377 + //0x000019ae LBB0_114 + 0x48, 0x8b, 0x75, 0xc8, //0x000019ae movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x000019b2 movq $-48(%rbp), %r10 + 0x4c, 0x09, 0xf7, //0x000019b6 orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000019b9 movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x000019be movl $64, %edx + 0x48, 0x85, 0xdb, //0x000019c3 testq %rbx, %rbx + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x000019c6 je LBB0_116 + 0x48, 0x0f, 0xbc, 0xd3, //0x000019cc bsfq %rbx, %rdx + //0x000019d0 LBB0_116 + 0x48, 0x85, 0xff, //0x000019d0 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x000019d3 je LBB0_118 + 0x48, 0x0f, 0xbc, 0xcf, //0x000019d9 bsfq %rdi, %rcx + //0x000019dd LBB0_118 + 0x48, 0x85, 0xdb, //0x000019dd testq %rbx, %rbx + 0x0f, 0x84, 0xda, 0x01, 0x00, 0x00, //0x000019e0 je LBB0_325 + 0x4d, 0x29, 0xd3, //0x000019e6 subq %r10, %r11 + 0x48, 0x39, 0xd1, //0x000019e9 cmpq %rdx, %rcx + 0x0f, 0x82, 0x5b, 0x0d, 0x00, 0x00, //0x000019ec jb LBB0_148 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x000019f2 leaq $1(%r11,%rdx), %r11 + 0x4c, 0x8b, 0x4d, 0xc0, //0x000019f7 movq $-64(%rbp), %r9 + 0xe9, 0x61, 0xf5, 0xff, 0xff, //0x000019fb jmp LBB0_189 + //0x00001a00 LBB0_322 + 0x48, 0x85, 0xc0, //0x00001a00 testq %rax, %rax + 0x48, 0x8d, 0x47, 0xff, //0x00001a03 leaq $-1(%rdi), %rax + 0x48, 0xf7, 0xd7, //0x00001a07 notq %rdi + 0x49, 0x0f, 0x48, 0xf8, //0x00001a0a cmovsq %r8, %rdi + 0x49, 0x39, 0xc6, //0x00001a0e cmpq %rax, %r14 + 0x49, 0x0f, 0x45, 0xf8, //0x00001a11 cmovneq %r8, %rdi + 0x49, 0x89, 0xfb, //0x00001a15 movq %rdi, %r11 + 0xe9, 0xd7, 0xfd, 0xff, 0xff, //0x00001a18 jmp LBB0_309 + //0x00001a1d LBB0_323 + 0x48, 0xf7, 0xd0, //0x00001a1d notq %rax + 0x49, 0x89, 0xc3, //0x00001a20 movq %rax, %r11 + 0xe9, 0x03, 0xfb, 0xff, 0xff, //0x00001a23 jmp LBB0_271 + //0x00001a28 LBB0_324 + 0x48, 0x89, 0x4d, 0xb0, //0x00001a28 movq %rcx, $-80(%rbp) + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001a2c movq $-1, %rcx + 0x4d, 0x85, 0xed, //0x00001a33 testq %r13, %r13 + 0x0f, 0x85, 0x63, 0xf2, 0xff, 0xff, //0x00001a36 jne LBB0_154 + 0xe9, 0x6a, 0x0b, 0x00, 0x00, //0x00001a3c jmp LBB0_430 + //0x00001a41 LBB0_135 + 0x4c, 0x8b, 0x5d, 0x80, //0x00001a41 movq $-128(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xb8, //0x00001a45 movq $-72(%rbp), %r13 + 0x49, 0x83, 0xfd, 0x20, //0x00001a49 cmpq $32, %r13 + 0x0f, 0x82, 0xae, 0x08, 0x00, 0x00, //0x00001a4d jb LBB0_396 + //0x00001a53 LBB0_136 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001a53 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001a58 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001a5e movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001a62 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xfd, //0x00001a66 pmovmskb %xmm5, %edi + 0x66, 0x0f, 0x6f, 0xec, //0x00001a6a movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001a6e pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001a72 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x74, 0xd9, //0x00001a76 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00001a7a pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x00001a7e pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00001a82 pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001a86 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001a8a shlq $16, %rax + 0x48, 0x09, 0xc1, //0x00001a8e orq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001a91 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001a95 jne LBB0_138 + 0x48, 0x85, 0xc9, //0x00001a9b testq %rcx, %rcx + 0x0f, 0x85, 0xfc, 0x07, 0x00, 0x00, //0x00001a9e jne LBB0_393 + //0x00001aa4 LBB0_138 + 0x48, 0x09, 0xfa, //0x00001aa4 orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x00001aa7 movq %rcx, %rax + 0x4c, 0x09, 0xd0, //0x00001aaa orq %r10, %rax + 0x0f, 0x85, 0x0a, 0x08, 0x00, 0x00, //0x00001aad jne LBB0_394 + //0x00001ab3 LBB0_139 + 0x48, 0x85, 0xd2, //0x00001ab3 testq %rdx, %rdx + 0x0f, 0x84, 0x3d, 0x08, 0x00, 0x00, //0x00001ab6 je LBB0_395 + //0x00001abc LBB0_140 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001abc bsfq %rdx, %rax + 0xe9, 0x70, 0xf1, 0xff, 0xff, //0x00001ac0 jmp LBB0_144 + //0x00001ac5 LBB0_172 + 0x4d, 0x89, 0xe3, //0x00001ac5 movq %r12, %r11 + 0x48, 0x8b, 0x45, 0xb8, //0x00001ac8 movq $-72(%rbp), %rax + 0x48, 0x83, 0xf8, 0x20, //0x00001acc cmpq $32, %rax + 0x0f, 0x82, 0x77, 0x05, 0x00, 0x00, //0x00001ad0 jb LBB0_371 + //0x00001ad6 LBB0_173 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001ad6 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001adb movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001ae1 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001ae5 pcmpeqb %xmm0, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xd5, //0x00001ae9 pmovmskb %xmm5, %r10d + 0x66, 0x0f, 0x6f, 0xec, //0x00001aee movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001af2 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00001af6 pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x6f, 0xeb, //0x00001afa movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001afe pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001b02 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xec, //0x00001b06 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001b0a pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xcd, //0x00001b0e pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xea, //0x00001b12 movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x00001b16 pcmpgtb %xmm3, %xmm5 + 0x66, 0x41, 0x0f, 0x64, 0xde, //0x00001b1a pcmpgtb %xmm14, %xmm3 + 0x66, 0x0f, 0xdb, 0xdd, //0x00001b1f pand %xmm5, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001b23 pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x00001b28 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001b2c pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001b30 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00001b35 pand %xmm3, %xmm4 + 0x66, 0x0f, 0xd7, 0xfc, //0x00001b39 pmovmskb %xmm4, %edi + 0x48, 0xc1, 0xe3, 0x10, //0x00001b3d shlq $16, %rbx + 0x48, 0xc1, 0xe1, 0x10, //0x00001b41 shlq $16, %rcx + 0x48, 0x09, 0xca, //0x00001b45 orq %rcx, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001b48 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001b4c jne LBB0_175 + 0x48, 0x85, 0xd2, //0x00001b52 testq %rdx, %rdx + 0x0f, 0x85, 0x33, 0x08, 0x00, 0x00, //0x00001b55 jne LBB0_404 + //0x00001b5b LBB0_175 + 0x48, 0xc1, 0xe7, 0x10, //0x00001b5b shlq $16, %rdi + 0x4c, 0x09, 0xd3, //0x00001b5f orq %r10, %rbx + 0x48, 0x89, 0xd1, //0x00001b62 movq %rdx, %rcx + 0x4c, 0x09, 0xc9, //0x00001b65 orq %r9, %rcx + 0x0f, 0x85, 0xc0, 0x06, 0x00, 0x00, //0x00001b68 jne LBB0_390 + //0x00001b6e LBB0_176 + 0x48, 0x8b, 0x75, 0xc8, //0x00001b6e movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00001b72 movq $-48(%rbp), %r10 + 0x4c, 0x09, 0xf7, //0x00001b76 orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001b79 movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001b7e movl $64, %edx + 0x48, 0x85, 0xdb, //0x00001b83 testq %rbx, %rbx + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001b86 je LBB0_178 + 0x48, 0x0f, 0xbc, 0xd3, //0x00001b8c bsfq %rbx, %rdx + //0x00001b90 LBB0_178 + 0x48, 0x85, 0xff, //0x00001b90 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001b93 je LBB0_180 + 0x48, 0x0f, 0xbc, 0xcf, //0x00001b99 bsfq %rdi, %rcx + //0x00001b9d LBB0_180 + 0x48, 0x85, 0xdb, //0x00001b9d testq %rbx, %rbx + 0x0f, 0x84, 0xce, 0x00, 0x00, 0x00, //0x00001ba0 je LBB0_336 + 0x4d, 0x29, 0xd3, //0x00001ba6 subq %r10, %r11 + 0x48, 0x39, 0xd1, //0x00001ba9 cmpq %rdx, %rcx + 0x0f, 0x82, 0x9b, 0x0b, 0x00, 0x00, //0x00001bac jb LBB0_148 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001bb2 leaq $1(%r11,%rdx), %r11 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001bb7 movq $-64(%rbp), %r9 + 0xe9, 0xfe, 0xf3, 0xff, 0xff, //0x00001bbb jmp LBB0_196 + //0x00001bc0 LBB0_325 + 0x48, 0x85, 0xff, //0x00001bc0 testq %rdi, %rdi + 0x0f, 0x85, 0xc5, 0x0b, 0x00, 0x00, //0x00001bc3 jne LBB0_460 + 0x49, 0x83, 0xc3, 0x20, //0x00001bc9 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001bcd addq $-32, %rax + 0x4d, 0x85, 0xc9, //0x00001bd1 testq %r9, %r9 + 0x0f, 0x85, 0xf9, 0x03, 0x00, 0x00, //0x00001bd4 jne LBB0_365 + //0x00001bda LBB0_327 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001bda movq $-64(%rbp), %r9 + 0x48, 0x85, 0xc0, //0x00001bde testq %rax, %rax + 0x0f, 0x84, 0xa6, 0x09, 0x00, 0x00, //0x00001be1 je LBB0_428 + //0x00001be7 LBB0_328 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001be7 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001beb cmpb $34, %cl + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x00001bee je LBB0_335 + 0x80, 0xf9, 0x5c, //0x00001bf4 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001bf7 je LBB0_332 + 0x80, 0xf9, 0x1f, //0x00001bfd cmpb $31, %cl + 0x0f, 0x86, 0x91, 0x0b, 0x00, 0x00, //0x00001c00 jbe LBB0_459 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001c06 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001c0d movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001c12 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001c15 addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001c18 jne LBB0_328 + 0xe9, 0x6a, 0x09, 0x00, 0x00, //0x00001c1e jmp LBB0_428 + //0x00001c23 LBB0_332 + 0x48, 0x83, 0xf8, 0x01, //0x00001c23 cmpq $1, %rax + 0x0f, 0x84, 0x72, 0x0b, 0x00, 0x00, //0x00001c27 je LBB0_464 + 0x4c, 0x89, 0xd9, //0x00001c2d movq %r11, %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x00001c30 movq $-48(%rbp), %r10 + 0x4c, 0x29, 0xd1, //0x00001c34 subq %r10, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001c37 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00001c3b cmoveq %rcx, %r8 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001c3f movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001c46 movl $2, %edx + 0x48, 0x8b, 0x75, 0xc8, //0x00001c4b movq $-56(%rbp), %rsi + 0x49, 0x01, 0xd3, //0x00001c4f addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001c52 addq %rcx, %rax + 0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x00001c55 jne LBB0_328 + 0xe9, 0x2d, 0x09, 0x00, 0x00, //0x00001c5b jmp LBB0_428 + //0x00001c60 LBB0_334 + 0x48, 0xf7, 0xd0, //0x00001c60 notq %rax + 0x49, 0x89, 0xc3, //0x00001c63 movq %rax, %r11 + 0xe9, 0xe2, 0xfb, 0xff, 0xff, //0x00001c66 jmp LBB0_318 + //0x00001c6b LBB0_335 + 0x4c, 0x03, 0x5d, 0x98, //0x00001c6b addq $-104(%rbp), %r11 + 0xe9, 0xed, 0xf2, 0xff, 0xff, //0x00001c6f jmp LBB0_189 + //0x00001c74 LBB0_336 + 0x48, 0x85, 0xff, //0x00001c74 testq %rdi, %rdi + 0x0f, 0x85, 0x11, 0x0b, 0x00, 0x00, //0x00001c77 jne LBB0_460 + 0x49, 0x83, 0xc3, 0x20, //0x00001c7d addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001c81 addq $-32, %rax + 0x4d, 0x85, 0xc9, //0x00001c85 testq %r9, %r9 + 0x0f, 0x85, 0xd0, 0x03, 0x00, 0x00, //0x00001c88 jne LBB0_372 + //0x00001c8e LBB0_338 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001c8e movq $-64(%rbp), %r9 + 0x48, 0x85, 0xc0, //0x00001c92 testq %rax, %rax + 0x0f, 0x84, 0xf2, 0x08, 0x00, 0x00, //0x00001c95 je LBB0_428 + //0x00001c9b LBB0_339 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001c9b movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001c9f cmpb $34, %cl + 0x0f, 0x84, 0x99, 0x00, 0x00, 0x00, //0x00001ca2 je LBB0_349 + 0x80, 0xf9, 0x5c, //0x00001ca8 cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001cab je LBB0_343 + 0x80, 0xf9, 0x1f, //0x00001cb1 cmpb $31, %cl + 0x0f, 0x86, 0xdd, 0x0a, 0x00, 0x00, //0x00001cb4 jbe LBB0_459 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001cba movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001cc1 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001cc6 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001cc9 addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001ccc jne LBB0_339 + 0xe9, 0xb6, 0x08, 0x00, 0x00, //0x00001cd2 jmp LBB0_428 + //0x00001cd7 LBB0_343 + 0x48, 0x83, 0xf8, 0x01, //0x00001cd7 cmpq $1, %rax + 0x0f, 0x84, 0xbe, 0x0a, 0x00, 0x00, //0x00001cdb je LBB0_464 + 0x4c, 0x89, 0xd9, //0x00001ce1 movq %r11, %rcx + 0x4c, 0x8b, 0x55, 0xd0, //0x00001ce4 movq $-48(%rbp), %r10 + 0x4c, 0x29, 0xd1, //0x00001ce8 subq %r10, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001ceb cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00001cef cmoveq %rcx, %r8 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001cf3 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001cfa movl $2, %edx + 0x48, 0x8b, 0x75, 0xc8, //0x00001cff movq $-56(%rbp), %rsi + 0x49, 0x01, 0xd3, //0x00001d03 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001d06 addq %rcx, %rax + 0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x00001d09 jne LBB0_339 + 0xe9, 0x79, 0x08, 0x00, 0x00, //0x00001d0f jmp LBB0_428 + //0x00001d14 LBB0_345 + 0x48, 0xf7, 0xd8, //0x00001d14 negq %rax + 0x48, 0x8b, 0x75, 0xc8, //0x00001d17 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00001d1b movq $-48(%rbp), %r10 + 0x49, 0x89, 0xc3, //0x00001d1f movq %rax, %r11 + 0xe9, 0x0c, 0xf8, 0xff, 0xff, //0x00001d22 jmp LBB0_272 + //0x00001d27 LBB0_346 + 0x4d, 0x29, 0xe5, //0x00001d27 subq %r12, %r13 + 0x44, 0x0f, 0xbc, 0xdf, //0x00001d2a bsfl %edi, %r11d + 0x4d, 0x01, 0xeb, //0x00001d2e addq %r13, %r11 + //0x00001d31 LBB0_347 + 0x49, 0xf7, 0xd3, //0x00001d31 notq %r11 + //0x00001d34 LBB0_348 + 0x48, 0x8b, 0x75, 0xc8, //0x00001d34 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00001d38 movq $-48(%rbp), %r10 + 0xe9, 0xb3, 0xfa, 0xff, 0xff, //0x00001d3c jmp LBB0_309 + //0x00001d41 LBB0_349 + 0x4c, 0x03, 0x5d, 0x98, //0x00001d41 addq $-104(%rbp), %r11 + 0xe9, 0x74, 0xf2, 0xff, 0xff, //0x00001d45 jmp LBB0_196 + //0x00001d4a LBB0_211 + 0x4d, 0x89, 0xe3, //0x00001d4a movq %r12, %r11 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001d4d movq $-72(%rbp), %r10 + 0x49, 0x83, 0xfa, 0x20, //0x00001d51 cmpq $32, %r10 + 0x0f, 0x82, 0x18, 0x07, 0x00, 0x00, //0x00001d55 jb LBB0_411 + //0x00001d5b LBB0_212 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001d5b movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001d60 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001d66 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001d6a pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xfd, //0x00001d6e pmovmskb %xmm5, %edi + 0x66, 0x0f, 0x6f, 0xec, //0x00001d72 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001d76 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001d7a pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x74, 0xd9, //0x00001d7e pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00001d82 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x00001d86 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00001d8a pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001d8e shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001d92 shlq $16, %rax + 0x48, 0x09, 0xc1, //0x00001d96 orq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001d99 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001d9d jne LBB0_214 + 0x48, 0x85, 0xc9, //0x00001da3 testq %rcx, %rcx + 0x0f, 0x85, 0x64, 0x06, 0x00, 0x00, //0x00001da6 jne LBB0_408 + //0x00001dac LBB0_214 + 0x48, 0x09, 0xfa, //0x00001dac orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x00001daf movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x00001db2 orq %r9, %rax + 0x0f, 0x85, 0x72, 0x06, 0x00, 0x00, //0x00001db5 jne LBB0_409 + //0x00001dbb LBB0_215 + 0x48, 0x85, 0xd2, //0x00001dbb testq %rdx, %rdx + 0x0f, 0x84, 0xa7, 0x06, 0x00, 0x00, //0x00001dbe je LBB0_410 + //0x00001dc4 LBB0_216 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001dc4 bsfq %rdx, %rax + 0xe9, 0x08, 0xf4, 0xff, 0xff, //0x00001dc8 jmp LBB0_220 + //0x00001dcd LBB0_283 + 0x4c, 0x8b, 0x5d, 0xb8, //0x00001dcd movq $-72(%rbp), %r11 + 0x4d, 0x89, 0xca, //0x00001dd1 movq %r9, %r10 + 0x49, 0x83, 0xfa, 0x20, //0x00001dd4 cmpq $32, %r10 + 0x0f, 0x82, 0x2f, 0x01, 0x00, 0x00, //0x00001dd8 jb LBB0_354 + //0x00001dde LBB0_284 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001dde movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001de3 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001de9 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001ded pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xcd, //0x00001df1 pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xec, //0x00001df5 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001df9 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xc5, //0x00001dfd pmovmskb %xmm5, %eax + 0x66, 0x0f, 0x6f, 0xeb, //0x00001e01 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001e05 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001e09 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xec, //0x00001e0d movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001e11 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00001e15 pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x6f, 0xea, //0x00001e19 movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x00001e1d pcmpgtb %xmm3, %xmm5 + 0x66, 0x41, 0x0f, 0x64, 0xde, //0x00001e21 pcmpgtb %xmm14, %xmm3 + 0x66, 0x0f, 0xdb, 0xdd, //0x00001e26 pand %xmm5, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001e2a pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x00001e2f movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001e33 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001e37 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00001e3c pand %xmm3, %xmm4 + 0x66, 0x0f, 0xd7, 0xfc, //0x00001e40 pmovmskb %xmm4, %edi + 0x48, 0xc1, 0xe0, 0x10, //0x00001e44 shlq $16, %rax + 0x48, 0xc1, 0xe3, 0x10, //0x00001e48 shlq $16, %rbx + 0x48, 0x09, 0xda, //0x00001e4c orq %rbx, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001e4f cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001e53 jne LBB0_286 + 0x48, 0x85, 0xd2, //0x00001e59 testq %rdx, %rdx + 0x0f, 0x85, 0x96, 0x06, 0x00, 0x00, //0x00001e5c jne LBB0_419 + //0x00001e62 LBB0_286 + 0x48, 0xc1, 0xe7, 0x10, //0x00001e62 shlq $16, %rdi + 0x48, 0x09, 0xc8, //0x00001e66 orq %rcx, %rax + 0x48, 0x89, 0xd1, //0x00001e69 movq %rdx, %rcx + 0x4c, 0x09, 0xe1, //0x00001e6c orq %r12, %rcx + 0x0f, 0x85, 0x60, 0x05, 0x00, 0x00, //0x00001e6f jne LBB0_407 + //0x00001e75 LBB0_287 + 0x4c, 0x09, 0xf7, //0x00001e75 orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001e78 movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001e7d movl $64, %edx + 0x48, 0x85, 0xc0, //0x00001e82 testq %rax, %rax + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001e85 je LBB0_289 + 0x48, 0x0f, 0xbc, 0xd0, //0x00001e8b bsfq %rax, %rdx + //0x00001e8f LBB0_289 + 0x48, 0x85, 0xff, //0x00001e8f testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001e92 je LBB0_291 + 0x48, 0x0f, 0xbc, 0xcf, //0x00001e98 bsfq %rdi, %rcx + //0x00001e9c LBB0_291 + 0x48, 0x85, 0xc0, //0x00001e9c testq %rax, %rax + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x00001e9f je LBB0_352 + 0x4c, 0x8b, 0x55, 0xd0, //0x00001ea5 movq $-48(%rbp), %r10 + 0x4d, 0x29, 0xd3, //0x00001ea9 subq %r10, %r11 + 0x48, 0x39, 0xd1, //0x00001eac cmpq %rdx, %rcx + 0x0f, 0x82, 0x98, 0x08, 0x00, 0x00, //0x00001eaf jb LBB0_148 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001eb5 leaq $1(%r11,%rdx), %r11 + 0xe9, 0x73, 0xf9, 0xff, 0xff, //0x00001eba jmp LBB0_314 + //0x00001ebf LBB0_350 + 0x49, 0x89, 0xc8, //0x00001ebf movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001ec2 movq $-1, %r11 + 0x48, 0x85, 0xff, //0x00001ec9 testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001ecc movq $-56(%rbp), %rsi + 0x0f, 0x85, 0xbf, 0xf8, 0xff, 0xff, //0x00001ed0 jne LBB0_300 + 0xe9, 0x27, 0x07, 0x00, 0x00, //0x00001ed6 jmp LBB0_439 + //0x00001edb LBB0_351 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001edb movq $-1, %r11 + 0x4c, 0x89, 0x4d, 0xb0, //0x00001ee2 movq %r9, $-80(%rbp) + 0x48, 0x89, 0xfe, //0x00001ee6 movq %rdi, %rsi + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00001ee9 movq $-1, %r13 + 0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00001ef0 movq $-1, %r10 + 0xe9, 0x89, 0xe8, 0xff, 0xff, //0x00001ef7 jmp LBB0_91 + //0x00001efc LBB0_352 + 0x48, 0x85, 0xff, //0x00001efc testq %rdi, %rdi + 0x0f, 0x85, 0xa3, 0x08, 0x00, 0x00, //0x00001eff jne LBB0_461 + 0x49, 0x83, 0xc3, 0x20, //0x00001f05 addq $32, %r11 + 0x49, 0x83, 0xc2, 0xe0, //0x00001f09 addq $-32, %r10 + //0x00001f0d LBB0_354 + 0x4d, 0x85, 0xe4, //0x00001f0d testq %r12, %r12 + 0x0f, 0x85, 0x21, 0x06, 0x00, 0x00, //0x00001f10 jne LBB0_423 + 0x4d, 0x85, 0xd2, //0x00001f16 testq %r10, %r10 + 0x0f, 0x84, 0xff, 0x06, 0x00, 0x00, //0x00001f19 je LBB0_316 + //0x00001f1f LBB0_356 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001f1f movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001f23 cmpb $34, %cl + 0x0f, 0x84, 0xdf, 0x00, 0x00, 0x00, //0x00001f26 je LBB0_367 + 0x80, 0xf9, 0x5c, //0x00001f2c cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001f2f je LBB0_360 + 0x80, 0xf9, 0x1f, //0x00001f35 cmpb $31, %cl + 0x0f, 0x86, 0x73, 0x08, 0x00, 0x00, //0x00001f38 jbe LBB0_462 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001f3e movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001f45 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001f4a addq %rdx, %r11 + 0x49, 0x01, 0xca, //0x00001f4d addq %rcx, %r10 + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001f50 jne LBB0_356 + 0xe9, 0xc3, 0x06, 0x00, 0x00, //0x00001f56 jmp LBB0_316 + //0x00001f5b LBB0_360 + 0x49, 0x83, 0xfa, 0x01, //0x00001f5b cmpq $1, %r10 + 0x0f, 0x84, 0x20, 0x08, 0x00, 0x00, //0x00001f5f je LBB0_422 + 0x4c, 0x89, 0xd9, //0x00001f65 movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x00001f68 subq $-48(%rbp), %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001f6c cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00001f70 cmoveq %rcx, %r8 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001f74 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001f7b movl $2, %edx + 0x48, 0x8b, 0x75, 0xc8, //0x00001f80 movq $-56(%rbp), %rsi + 0x49, 0x01, 0xd3, //0x00001f84 addq %rdx, %r11 + 0x49, 0x01, 0xca, //0x00001f87 addq %rcx, %r10 + 0x0f, 0x85, 0x8f, 0xff, 0xff, 0xff, //0x00001f8a jne LBB0_356 + 0xe9, 0x89, 0x06, 0x00, 0x00, //0x00001f90 jmp LBB0_316 + //0x00001f95 LBB0_362 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001f95 movq $-1, %r8 + 0x45, 0x31, 0xd2, //0x00001f9c xorl %r10d, %r10d + 0x49, 0x83, 0xfd, 0x20, //0x00001f9f cmpq $32, %r13 + 0x0f, 0x83, 0xea, 0xf8, 0xff, 0xff, //0x00001fa3 jae LBB0_51 + 0xe9, 0xe0, 0x01, 0x00, 0x00, //0x00001fa9 jmp LBB0_381 + //0x00001fae LBB0_363 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001fae movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00001fb5 xorl %r9d, %r9d + 0x48, 0x83, 0xf8, 0x20, //0x00001fb8 cmpq $32, %rax + 0x0f, 0x83, 0x54, 0xf9, 0xff, 0xff, //0x00001fbc jae LBB0_111 + //0x00001fc2 LBB0_364 + 0x48, 0x8b, 0x75, 0xc8, //0x00001fc2 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00001fc6 movq $-48(%rbp), %r10 + 0x4d, 0x85, 0xc9, //0x00001fca testq %r9, %r9 + 0x0f, 0x84, 0x07, 0xfc, 0xff, 0xff, //0x00001fcd je LBB0_327 + //0x00001fd3 LBB0_365 + 0x48, 0x85, 0xc0, //0x00001fd3 testq %rax, %rax + 0x0f, 0x84, 0xde, 0x07, 0x00, 0x00, //0x00001fd6 je LBB0_463 + 0x48, 0x8b, 0x4d, 0xa8, //0x00001fdc movq $-88(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x00001fe0 addq %r11, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001fe3 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00001fe7 cmoveq %rcx, %r8 + 0x49, 0xff, 0xc3, //0x00001feb incq %r11 + 0x48, 0xff, 0xc8, //0x00001fee decq %rax + 0x48, 0x8b, 0x75, 0xc8, //0x00001ff1 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00001ff5 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00001ff9 movq $-64(%rbp), %r9 + 0x48, 0x85, 0xc0, //0x00001ffd testq %rax, %rax + 0x0f, 0x85, 0xe1, 0xfb, 0xff, 0xff, //0x00002000 jne LBB0_328 + 0xe9, 0x82, 0x05, 0x00, 0x00, //0x00002006 jmp LBB0_428 + //0x0000200b LBB0_367 + 0x4c, 0x03, 0x5d, 0x98, //0x0000200b addq $-104(%rbp), %r11 + 0x4c, 0x8b, 0x55, 0xd0, //0x0000200f movq $-48(%rbp), %r10 + 0xe9, 0x1a, 0xf8, 0xff, 0xff, //0x00002013 jmp LBB0_314 + //0x00002018 LBB0_368 + 0x49, 0xf7, 0xdb, //0x00002018 negq %r11 + 0xe9, 0x14, 0xfd, 0xff, 0xff, //0x0000201b jmp LBB0_348 + //0x00002020 LBB0_369 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002020 movq $-1, %r8 + 0x45, 0x31, 0xd2, //0x00002027 xorl %r10d, %r10d + 0x49, 0x83, 0xfd, 0x20, //0x0000202a cmpq $32, %r13 + 0x0f, 0x83, 0x1f, 0xfa, 0xff, 0xff, //0x0000202e jae LBB0_136 + 0xe9, 0xc8, 0x02, 0x00, 0x00, //0x00002034 jmp LBB0_396 + //0x00002039 LBB0_370 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002039 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00002040 xorl %r9d, %r9d + 0x48, 0x83, 0xf8, 0x20, //0x00002043 cmpq $32, %rax + 0x0f, 0x83, 0x89, 0xfa, 0xff, 0xff, //0x00002047 jae LBB0_173 + //0x0000204d LBB0_371 + 0x48, 0x8b, 0x75, 0xc8, //0x0000204d movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002051 movq $-48(%rbp), %r10 + 0x4d, 0x85, 0xc9, //0x00002055 testq %r9, %r9 + 0x0f, 0x84, 0x30, 0xfc, 0xff, 0xff, //0x00002058 je LBB0_338 + //0x0000205e LBB0_372 + 0x48, 0x85, 0xc0, //0x0000205e testq %rax, %rax + 0x0f, 0x84, 0x53, 0x07, 0x00, 0x00, //0x00002061 je LBB0_463 + 0x48, 0x8b, 0x4d, 0xa8, //0x00002067 movq $-88(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x0000206b addq %r11, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x0000206e cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00002072 cmoveq %rcx, %r8 + 0x49, 0xff, 0xc3, //0x00002076 incq %r11 + 0x48, 0xff, 0xc8, //0x00002079 decq %rax + 0x48, 0x8b, 0x75, 0xc8, //0x0000207c movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002080 movq $-48(%rbp), %r10 + 0x4c, 0x8b, 0x4d, 0xc0, //0x00002084 movq $-64(%rbp), %r9 + 0x48, 0x85, 0xc0, //0x00002088 testq %rax, %rax + 0x0f, 0x85, 0x0a, 0xfc, 0xff, 0xff, //0x0000208b jne LBB0_339 + 0xe9, 0xf7, 0x04, 0x00, 0x00, //0x00002091 jmp LBB0_428 + //0x00002096 LBB0_374 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00002096 movq $-1, %r14 + 0x4d, 0x89, 0xe0, //0x0000209d movq %r12, %r8 + 0x4d, 0x89, 0xca, //0x000020a0 movq %r9, %r10 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000020a3 movq $-1, %rdi + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000020aa movq $-1, %rbx + 0x48, 0x8d, 0x35, 0x18, 0x09, 0x00, 0x00, //0x000020b1 leaq $2328(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0xe9, 0x0e, 0xf3, 0xff, 0xff, //0x000020b8 jmp LBB0_245 + //0x000020bd LBB0_375 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000020bd movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x000020c4 xorl %r9d, %r9d + 0x49, 0x83, 0xfa, 0x20, //0x000020c7 cmpq $32, %r10 + 0x0f, 0x83, 0x8a, 0xfc, 0xff, 0xff, //0x000020cb jae LBB0_212 + 0xe9, 0x9d, 0x03, 0x00, 0x00, //0x000020d1 jmp LBB0_411 + //0x000020d6 LBB0_376 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000020d6 movq $-1, %r8 + 0x45, 0x31, 0xe4, //0x000020dd xorl %r12d, %r12d + 0x49, 0x83, 0xfa, 0x20, //0x000020e0 cmpq $32, %r10 + 0x0f, 0x83, 0xf4, 0xfc, 0xff, 0xff, //0x000020e4 jae LBB0_284 + 0xe9, 0x1e, 0xfe, 0xff, 0xff, //0x000020ea jmp LBB0_354 + //0x000020ef LBB0_377 + 0x45, 0x89, 0xcc, //0x000020ef movl %r9d, %r12d + 0x41, 0xf7, 0xd4, //0x000020f2 notl %r12d + 0x41, 0x21, 0xd4, //0x000020f5 andl %edx, %r12d + 0x47, 0x8d, 0x14, 0x24, //0x000020f8 leal (%r12,%r12), %r10d + 0x45, 0x09, 0xca, //0x000020fc orl %r9d, %r10d + 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, //0x000020ff movl $2863311530, %ecx + 0x44, 0x31, 0xd1, //0x00002104 xorl %r10d, %ecx + 0x21, 0xd1, //0x00002107 andl %edx, %ecx + 0x81, 0xe1, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002109 andl $-1431655766, %ecx + 0x45, 0x31, 0xc9, //0x0000210f xorl %r9d, %r9d + 0x44, 0x01, 0xe1, //0x00002112 addl %r12d, %ecx + 0x41, 0x0f, 0x92, 0xc1, //0x00002115 setb %r9b + 0x01, 0xc9, //0x00002119 addl %ecx, %ecx + 0x81, 0xf1, 0x55, 0x55, 0x55, 0x55, //0x0000211b xorl $1431655765, %ecx + 0x44, 0x21, 0xd1, //0x00002121 andl %r10d, %ecx + 0xf7, 0xd1, //0x00002124 notl %ecx + 0x21, 0xcb, //0x00002126 andl %ecx, %ebx + 0xe9, 0x81, 0xf8, 0xff, 0xff, //0x00002128 jmp LBB0_114 + //0x0000212d LBB0_378 + 0x4c, 0x89, 0xd8, //0x0000212d movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00002130 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc1, //0x00002134 bsfq %rcx, %r8 + 0x49, 0x01, 0xc0, //0x00002138 addq %rax, %r8 + 0x48, 0x09, 0xfa, //0x0000213b orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x0000213e movq %rcx, %rax + 0x4c, 0x09, 0xd0, //0x00002141 orq %r10, %rax + 0x0f, 0x84, 0xa9, 0xf7, 0xff, 0xff, //0x00002144 je LBB0_54 + //0x0000214a LBB0_379 + 0x44, 0x89, 0xd0, //0x0000214a movl %r10d, %eax + 0xf7, 0xd0, //0x0000214d notl %eax + 0x21, 0xc8, //0x0000214f andl %ecx, %eax + 0x8d, 0x34, 0x00, //0x00002151 leal (%rax,%rax), %esi + 0x44, 0x09, 0xd6, //0x00002154 orl %r10d, %esi + 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002157 movl $2863311530, %edi + 0x31, 0xf7, //0x0000215c xorl %esi, %edi + 0x21, 0xcf, //0x0000215e andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002160 andl $-1431655766, %edi + 0x45, 0x31, 0xd2, //0x00002166 xorl %r10d, %r10d + 0x01, 0xc7, //0x00002169 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc2, //0x0000216b setb %r10b + 0x01, 0xff, //0x0000216f addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00002171 xorl $1431655765, %edi + 0x21, 0xf7, //0x00002177 andl %esi, %edi + 0xf7, 0xd7, //0x00002179 notl %edi + 0x21, 0xfa, //0x0000217b andl %edi, %edx + 0x48, 0x85, 0xd2, //0x0000217d testq %rdx, %rdx + 0x0f, 0x85, 0x76, 0xf7, 0xff, 0xff, //0x00002180 jne LBB0_55 + //0x00002186 LBB0_380 + 0x49, 0x83, 0xc3, 0x20, //0x00002186 addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x0000218a addq $-32, %r13 + //0x0000218e LBB0_381 + 0x4d, 0x85, 0xd2, //0x0000218e testq %r10, %r10 + 0x0f, 0x85, 0xd5, 0x00, 0x00, 0x00, //0x00002191 jne LBB0_391 + 0x48, 0x8b, 0x75, 0xc8, //0x00002197 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x0000219b movq $-48(%rbp), %r10 + 0x4d, 0x85, 0xed, //0x0000219f testq %r13, %r13 + 0x0f, 0x84, 0xe5, 0x03, 0x00, 0x00, //0x000021a2 je LBB0_428 + //0x000021a8 LBB0_383 + 0x49, 0x8d, 0x4b, 0x01, //0x000021a8 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x000021ac movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x000021b0 cmpb $34, %bl + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x000021b3 je LBB0_388 + 0x49, 0x8d, 0x55, 0xff, //0x000021b9 leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x000021bd cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000021c0 je LBB0_386 + 0x49, 0x89, 0xd5, //0x000021c6 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x000021c9 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x000021cc testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x000021cf jne LBB0_383 + 0xe9, 0xb3, 0x03, 0x00, 0x00, //0x000021d5 jmp LBB0_428 + //0x000021da LBB0_386 + 0x48, 0x85, 0xd2, //0x000021da testq %rdx, %rdx + 0x0f, 0x84, 0xbc, 0x05, 0x00, 0x00, //0x000021dd je LBB0_464 + 0x48, 0x03, 0x4d, 0xa8, //0x000021e3 addq $-88(%rbp), %rcx + 0x49, 0x83, 0xf8, 0xff, //0x000021e7 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x000021eb cmoveq %rcx, %r8 + 0x49, 0x83, 0xc3, 0x02, //0x000021ef addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x000021f3 addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x000021f7 movq %r13, %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x000021fa movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x000021fe movq $-48(%rbp), %r10 + 0x48, 0x85, 0xd2, //0x00002202 testq %rdx, %rdx + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x00002205 jne LBB0_383 + 0xe9, 0x7d, 0x03, 0x00, 0x00, //0x0000220b jmp LBB0_428 + //0x00002210 LBB0_388 + 0x4c, 0x29, 0xd1, //0x00002210 subq %r10, %rcx + 0x49, 0x89, 0xcb, //0x00002213 movq %rcx, %r11 + 0xe9, 0x46, 0xed, 0xff, 0xff, //0x00002216 jmp LBB0_189 + //0x0000221b LBB0_389 + 0x4c, 0x89, 0xd9, //0x0000221b movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x0000221e subq $-48(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xc2, //0x00002222 bsfq %rdx, %r8 + 0x49, 0x01, 0xc8, //0x00002226 addq %rcx, %r8 + 0xe9, 0x6d, 0xf7, 0xff, 0xff, //0x00002229 jmp LBB0_113 + //0x0000222e LBB0_390 + 0x45, 0x89, 0xcc, //0x0000222e movl %r9d, %r12d + 0x41, 0xf7, 0xd4, //0x00002231 notl %r12d + 0x41, 0x21, 0xd4, //0x00002234 andl %edx, %r12d + 0x47, 0x8d, 0x14, 0x24, //0x00002237 leal (%r12,%r12), %r10d + 0x45, 0x09, 0xca, //0x0000223b orl %r9d, %r10d + 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000223e movl $2863311530, %ecx + 0x44, 0x31, 0xd1, //0x00002243 xorl %r10d, %ecx + 0x21, 0xd1, //0x00002246 andl %edx, %ecx + 0x81, 0xe1, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002248 andl $-1431655766, %ecx + 0x45, 0x31, 0xc9, //0x0000224e xorl %r9d, %r9d + 0x44, 0x01, 0xe1, //0x00002251 addl %r12d, %ecx + 0x41, 0x0f, 0x92, 0xc1, //0x00002254 setb %r9b + 0x01, 0xc9, //0x00002258 addl %ecx, %ecx + 0x81, 0xf1, 0x55, 0x55, 0x55, 0x55, //0x0000225a xorl $1431655765, %ecx + 0x44, 0x21, 0xd1, //0x00002260 andl %r10d, %ecx + 0xf7, 0xd1, //0x00002263 notl %ecx + 0x21, 0xcb, //0x00002265 andl %ecx, %ebx + 0xe9, 0x02, 0xf9, 0xff, 0xff, //0x00002267 jmp LBB0_176 + //0x0000226c LBB0_391 + 0x4d, 0x85, 0xed, //0x0000226c testq %r13, %r13 + 0x0f, 0x84, 0x2a, 0x05, 0x00, 0x00, //0x0000226f je LBB0_464 + 0x48, 0x8b, 0x45, 0xa8, //0x00002275 movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x00002279 addq %r11, %rax + 0x49, 0x83, 0xf8, 0xff, //0x0000227c cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x00002280 cmoveq %rax, %r8 + 0x49, 0xff, 0xc3, //0x00002284 incq %r11 + 0x49, 0xff, 0xcd, //0x00002287 decq %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x0000228a movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x0000228e movq $-48(%rbp), %r10 + 0x4d, 0x85, 0xed, //0x00002292 testq %r13, %r13 + 0x0f, 0x85, 0x0d, 0xff, 0xff, 0xff, //0x00002295 jne LBB0_383 + 0xe9, 0xed, 0x02, 0x00, 0x00, //0x0000229b jmp LBB0_428 + //0x000022a0 LBB0_393 + 0x4c, 0x89, 0xd8, //0x000022a0 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000022a3 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc1, //0x000022a7 bsfq %rcx, %r8 + 0x49, 0x01, 0xc0, //0x000022ab addq %rax, %r8 + 0x48, 0x09, 0xfa, //0x000022ae orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x000022b1 movq %rcx, %rax + 0x4c, 0x09, 0xd0, //0x000022b4 orq %r10, %rax + 0x0f, 0x84, 0xf6, 0xf7, 0xff, 0xff, //0x000022b7 je LBB0_139 + //0x000022bd LBB0_394 + 0x44, 0x89, 0xd0, //0x000022bd movl %r10d, %eax + 0xf7, 0xd0, //0x000022c0 notl %eax + 0x21, 0xc8, //0x000022c2 andl %ecx, %eax + 0x8d, 0x34, 0x00, //0x000022c4 leal (%rax,%rax), %esi + 0x44, 0x09, 0xd6, //0x000022c7 orl %r10d, %esi + 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022ca movl $2863311530, %edi + 0x31, 0xf7, //0x000022cf xorl %esi, %edi + 0x21, 0xcf, //0x000022d1 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022d3 andl $-1431655766, %edi + 0x45, 0x31, 0xd2, //0x000022d9 xorl %r10d, %r10d + 0x01, 0xc7, //0x000022dc addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc2, //0x000022de setb %r10b + 0x01, 0xff, //0x000022e2 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000022e4 xorl $1431655765, %edi + 0x21, 0xf7, //0x000022ea andl %esi, %edi + 0xf7, 0xd7, //0x000022ec notl %edi + 0x21, 0xfa, //0x000022ee andl %edi, %edx + 0x48, 0x85, 0xd2, //0x000022f0 testq %rdx, %rdx + 0x0f, 0x85, 0xc3, 0xf7, 0xff, 0xff, //0x000022f3 jne LBB0_140 + //0x000022f9 LBB0_395 + 0x49, 0x83, 0xc3, 0x20, //0x000022f9 addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x000022fd addq $-32, %r13 + //0x00002301 LBB0_396 + 0x4d, 0x85, 0xd2, //0x00002301 testq %r10, %r10 + 0x0f, 0x85, 0x97, 0x00, 0x00, 0x00, //0x00002304 jne LBB0_405 + 0x48, 0x8b, 0x75, 0xc8, //0x0000230a movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x0000230e movq $-48(%rbp), %r10 + 0x4d, 0x85, 0xed, //0x00002312 testq %r13, %r13 + 0x0f, 0x84, 0x72, 0x02, 0x00, 0x00, //0x00002315 je LBB0_428 + //0x0000231b LBB0_398 + 0x49, 0x8d, 0x4b, 0x01, //0x0000231b leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x0000231f movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x00002323 cmpb $34, %bl + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x00002326 je LBB0_403 + 0x49, 0x8d, 0x55, 0xff, //0x0000232c leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x00002330 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00002333 je LBB0_401 + 0x49, 0x89, 0xd5, //0x00002339 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x0000233c movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x0000233f testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x00002342 jne LBB0_398 + 0xe9, 0x40, 0x02, 0x00, 0x00, //0x00002348 jmp LBB0_428 + //0x0000234d LBB0_401 + 0x48, 0x85, 0xd2, //0x0000234d testq %rdx, %rdx + 0x0f, 0x84, 0x49, 0x04, 0x00, 0x00, //0x00002350 je LBB0_464 + 0x48, 0x03, 0x4d, 0xa8, //0x00002356 addq $-88(%rbp), %rcx + 0x49, 0x83, 0xf8, 0xff, //0x0000235a cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x0000235e cmoveq %rcx, %r8 + 0x49, 0x83, 0xc3, 0x02, //0x00002362 addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x00002366 addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x0000236a movq %r13, %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x0000236d movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x00002371 movq $-48(%rbp), %r10 + 0x48, 0x85, 0xd2, //0x00002375 testq %rdx, %rdx + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x00002378 jne LBB0_398 + 0xe9, 0x0a, 0x02, 0x00, 0x00, //0x0000237e jmp LBB0_428 + //0x00002383 LBB0_403 + 0x4c, 0x29, 0xd1, //0x00002383 subq %r10, %rcx + 0x49, 0x89, 0xcb, //0x00002386 movq %rcx, %r11 + 0xe9, 0x30, 0xec, 0xff, 0xff, //0x00002389 jmp LBB0_196 + //0x0000238e LBB0_404 + 0x4c, 0x89, 0xd9, //0x0000238e movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x00002391 subq $-48(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xc2, //0x00002395 bsfq %rdx, %r8 + 0x49, 0x01, 0xc8, //0x00002399 addq %rcx, %r8 + 0xe9, 0xba, 0xf7, 0xff, 0xff, //0x0000239c jmp LBB0_175 + //0x000023a1 LBB0_405 + 0x4d, 0x85, 0xed, //0x000023a1 testq %r13, %r13 + 0x0f, 0x84, 0xf5, 0x03, 0x00, 0x00, //0x000023a4 je LBB0_464 + 0x48, 0x8b, 0x45, 0xa8, //0x000023aa movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000023ae addq %r11, %rax + 0x49, 0x83, 0xf8, 0xff, //0x000023b1 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x000023b5 cmoveq %rax, %r8 + 0x49, 0xff, 0xc3, //0x000023b9 incq %r11 + 0x49, 0xff, 0xcd, //0x000023bc decq %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x000023bf movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xd0, //0x000023c3 movq $-48(%rbp), %r10 + 0x4d, 0x85, 0xed, //0x000023c7 testq %r13, %r13 + 0x0f, 0x85, 0x4b, 0xff, 0xff, 0xff, //0x000023ca jne LBB0_398 + 0xe9, 0xb8, 0x01, 0x00, 0x00, //0x000023d0 jmp LBB0_428 + //0x000023d5 LBB0_407 + 0x44, 0x89, 0xe1, //0x000023d5 movl %r12d, %ecx + 0xf7, 0xd1, //0x000023d8 notl %ecx + 0x21, 0xd1, //0x000023da andl %edx, %ecx + 0x44, 0x8d, 0x0c, 0x09, //0x000023dc leal (%rcx,%rcx), %r9d + 0x45, 0x09, 0xe1, //0x000023e0 orl %r12d, %r9d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x000023e3 movl $2863311530, %ebx + 0x44, 0x31, 0xcb, //0x000023e8 xorl %r9d, %ebx + 0x21, 0xd3, //0x000023eb andl %edx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x000023ed andl $-1431655766, %ebx + 0x45, 0x31, 0xe4, //0x000023f3 xorl %r12d, %r12d + 0x01, 0xcb, //0x000023f6 addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc4, //0x000023f8 setb %r12b + 0x01, 0xdb, //0x000023fc addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x000023fe xorl $1431655765, %ebx + 0x44, 0x21, 0xcb, //0x00002404 andl %r9d, %ebx + 0xf7, 0xd3, //0x00002407 notl %ebx + 0x21, 0xd8, //0x00002409 andl %ebx, %eax + 0xe9, 0x65, 0xfa, 0xff, 0xff, //0x0000240b jmp LBB0_287 + //0x00002410 LBB0_408 + 0x4c, 0x89, 0xd8, //0x00002410 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00002413 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc1, //0x00002417 bsfq %rcx, %r8 + 0x49, 0x01, 0xc0, //0x0000241b addq %rax, %r8 + 0x48, 0x09, 0xfa, //0x0000241e orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x00002421 movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x00002424 orq %r9, %rax + 0x0f, 0x84, 0x8e, 0xf9, 0xff, 0xff, //0x00002427 je LBB0_215 + //0x0000242d LBB0_409 + 0x44, 0x89, 0xc8, //0x0000242d movl %r9d, %eax + 0xf7, 0xd0, //0x00002430 notl %eax + 0x21, 0xc8, //0x00002432 andl %ecx, %eax + 0x8d, 0x34, 0x00, //0x00002434 leal (%rax,%rax), %esi + 0x44, 0x09, 0xce, //0x00002437 orl %r9d, %esi + 0x89, 0xf7, //0x0000243a movl %esi, %edi + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000243c movl $2863311530, %ebx + 0x31, 0xdf, //0x00002441 xorl %ebx, %edi + 0x21, 0xcf, //0x00002443 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002445 andl $-1431655766, %edi + 0x45, 0x31, 0xc9, //0x0000244b xorl %r9d, %r9d + 0x01, 0xc7, //0x0000244e addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc1, //0x00002450 setb %r9b + 0x01, 0xff, //0x00002454 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00002456 xorl $1431655765, %edi + 0x21, 0xf7, //0x0000245c andl %esi, %edi + 0xf7, 0xd7, //0x0000245e notl %edi + 0x21, 0xfa, //0x00002460 andl %edi, %edx + 0x48, 0x85, 0xd2, //0x00002462 testq %rdx, %rdx + 0x0f, 0x85, 0x59, 0xf9, 0xff, 0xff, //0x00002465 jne LBB0_216 + //0x0000246b LBB0_410 + 0x49, 0x83, 0xc3, 0x20, //0x0000246b addq $32, %r11 + 0x49, 0x83, 0xc2, 0xe0, //0x0000246f addq $-32, %r10 + //0x00002473 LBB0_411 + 0x4d, 0x85, 0xc9, //0x00002473 testq %r9, %r9 + 0x0f, 0x85, 0x8f, 0x00, 0x00, 0x00, //0x00002476 jne LBB0_420 + 0x4d, 0x85, 0xd2, //0x0000247c testq %r10, %r10 + 0x0f, 0x84, 0x00, 0x03, 0x00, 0x00, //0x0000247f je LBB0_422 + //0x00002485 LBB0_413 + 0x49, 0x8d, 0x4b, 0x01, //0x00002485 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x00002489 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x0000248d cmpb $34, %bl + 0x0f, 0x84, 0x4f, 0x00, 0x00, 0x00, //0x00002490 je LBB0_418 + 0x49, 0x8d, 0x52, 0xff, //0x00002496 leaq $-1(%r10), %rdx + 0x80, 0xfb, 0x5c, //0x0000249a cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000249d je LBB0_416 + 0x49, 0x89, 0xd2, //0x000024a3 movq %rdx, %r10 + 0x49, 0x89, 0xcb, //0x000024a6 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x000024a9 testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x000024ac jne LBB0_413 + 0xe9, 0xce, 0x02, 0x00, 0x00, //0x000024b2 jmp LBB0_422 + //0x000024b7 LBB0_416 + 0x48, 0x85, 0xd2, //0x000024b7 testq %rdx, %rdx + 0x0f, 0x84, 0xc5, 0x02, 0x00, 0x00, //0x000024ba je LBB0_422 + 0x48, 0x03, 0x4d, 0xa8, //0x000024c0 addq $-88(%rbp), %rcx + 0x49, 0x83, 0xf8, 0xff, //0x000024c4 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x000024c8 cmoveq %rcx, %r8 + 0x49, 0x83, 0xc3, 0x02, //0x000024cc addq $2, %r11 + 0x49, 0x83, 0xc2, 0xfe, //0x000024d0 addq $-2, %r10 + 0x4c, 0x89, 0xd2, //0x000024d4 movq %r10, %rdx + 0x48, 0x85, 0xd2, //0x000024d7 testq %rdx, %rdx + 0x0f, 0x85, 0xa5, 0xff, 0xff, 0xff, //0x000024da jne LBB0_413 + 0xe9, 0xa0, 0x02, 0x00, 0x00, //0x000024e0 jmp LBB0_422 + //0x000024e5 LBB0_418 + 0x4c, 0x8b, 0x55, 0xd0, //0x000024e5 movq $-48(%rbp), %r10 + 0x4c, 0x29, 0xd1, //0x000024e9 subq %r10, %rcx + 0x49, 0x89, 0xcb, //0x000024ec movq %rcx, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x000024ef movq $-56(%rbp), %rsi + 0xe9, 0x3a, 0xf3, 0xff, 0xff, //0x000024f3 jmp LBB0_314 + //0x000024f8 LBB0_419 + 0x4c, 0x89, 0xdb, //0x000024f8 movq %r11, %rbx + 0x48, 0x2b, 0x5d, 0xd0, //0x000024fb subq $-48(%rbp), %rbx + 0x4c, 0x0f, 0xbc, 0xc2, //0x000024ff bsfq %rdx, %r8 + 0x49, 0x01, 0xd8, //0x00002503 addq %rbx, %r8 + 0xe9, 0x57, 0xf9, 0xff, 0xff, //0x00002506 jmp LBB0_286 + //0x0000250b LBB0_420 + 0x4d, 0x85, 0xd2, //0x0000250b testq %r10, %r10 + 0x0f, 0x84, 0x71, 0x02, 0x00, 0x00, //0x0000250e je LBB0_422 + 0x48, 0x8b, 0x45, 0xa8, //0x00002514 movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x00002518 addq %r11, %rax + 0x49, 0x83, 0xf8, 0xff, //0x0000251b cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x0000251f cmoveq %rax, %r8 + 0x49, 0xff, 0xc3, //0x00002523 incq %r11 + 0x49, 0xff, 0xca, //0x00002526 decq %r10 + 0x4d, 0x85, 0xd2, //0x00002529 testq %r10, %r10 + 0x0f, 0x85, 0x53, 0xff, 0xff, 0xff, //0x0000252c jne LBB0_413 + 0xe9, 0x4e, 0x02, 0x00, 0x00, //0x00002532 jmp LBB0_422 + //0x00002537 LBB0_423 + 0x4d, 0x85, 0xd2, //0x00002537 testq %r10, %r10 + 0x0f, 0x84, 0x45, 0x02, 0x00, 0x00, //0x0000253a je LBB0_422 + 0x48, 0x8b, 0x45, 0xa8, //0x00002540 movq $-88(%rbp), %rax + 0x49, 0x8d, 0x0c, 0x03, //0x00002544 leaq (%r11,%rax), %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00002548 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x0000254c cmoveq %rcx, %r8 + 0x49, 0xff, 0xc3, //0x00002550 incq %r11 + 0x49, 0xff, 0xca, //0x00002553 decq %r10 + 0x48, 0x8b, 0x75, 0xc8, //0x00002556 movq $-56(%rbp), %rsi + 0x4d, 0x85, 0xd2, //0x0000255a testq %r10, %r10 + 0x0f, 0x85, 0xbc, 0xf9, 0xff, 0xff, //0x0000255d jne LBB0_356 + 0xe9, 0xb6, 0x00, 0x00, 0x00, //0x00002563 jmp LBB0_316 + //0x00002568 LBB0_425 + 0x48, 0x89, 0x16, //0x00002568 movq %rdx, (%rsi) + //0x0000256b LBB0_426 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000256b movq $-1, %rax + 0xe9, 0xe9, 0x01, 0x00, 0x00, //0x00002572 jmp LBB0_150 + //0x00002577 LBB0_442 + 0x48, 0xc7, 0xc0, 0xf9, 0xff, 0xff, 0xff, //0x00002577 movq $-7, %rax + 0xe9, 0xdd, 0x01, 0x00, 0x00, //0x0000257e jmp LBB0_150 + //0x00002583 LBB0_427 + 0x49, 0x83, 0xfb, 0xff, //0x00002583 cmpq $-1, %r11 + 0x0f, 0x85, 0xcd, 0x01, 0x00, 0x00, //0x00002587 jne LBB0_149 + //0x0000258d LBB0_428 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000258d movq $-1, %r11 + 0x4d, 0x89, 0xc8, //0x00002594 movq %r9, %r8 + 0xe9, 0xbe, 0x01, 0x00, 0x00, //0x00002597 jmp LBB0_149 + //0x0000259c LBB0_429 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x0000259c movq $-1, %rcx + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x000025a3 jmp LBB0_430 + //0x000025a8 LBB0_273 + 0x4c, 0x89, 0xd9, //0x000025a8 movq %r11, %rcx + //0x000025ab LBB0_430 + 0x48, 0xf7, 0xd1, //0x000025ab notq %rcx + 0x49, 0x01, 0xcf, //0x000025ae addq %rcx, %r15 + 0x48, 0x8b, 0x45, 0xc8, //0x000025b1 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x38, //0x000025b5 movq %r15, (%rax) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000025b8 movq $-2, %rax + 0xe9, 0x9c, 0x01, 0x00, 0x00, //0x000025bf jmp LBB0_150 + //0x000025c4 LBB0_431 + 0x49, 0x83, 0xf8, 0xff, //0x000025c4 cmpq $-1, %r8 + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000025c8 je LBB0_434 + //0x000025ce LBB0_432 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000025ce movq $-2, %r11 + 0xe9, 0x80, 0x01, 0x00, 0x00, //0x000025d5 jmp LBB0_149 + //0x000025da LBB0_441 + 0x48, 0x89, 0x0e, //0x000025da movq %rcx, (%rsi) + 0xe9, 0x7e, 0x01, 0x00, 0x00, //0x000025dd jmp LBB0_150 + //0x000025e2 LBB0_434 + 0x48, 0x0f, 0xbc, 0xc2, //0x000025e2 bsfq %rdx, %rax + //0x000025e6 LBB0_435 + 0x4d, 0x29, 0xd3, //0x000025e6 subq %r10, %r11 + //0x000025e9 LBB0_436 + 0x49, 0x01, 0xc3, //0x000025e9 addq %rax, %r11 + //0x000025ec LBB0_437 + 0x4d, 0x89, 0xd8, //0x000025ec movq %r11, %r8 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000025ef movq $-2, %r11 + 0xe9, 0x5f, 0x01, 0x00, 0x00, //0x000025f6 jmp LBB0_149 + //0x000025fb LBB0_438 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000025fb movq $-1, %r11 + //0x00002602 LBB0_439 + 0x4d, 0x29, 0xdf, //0x00002602 subq %r11, %r15 + 0x4c, 0x89, 0x3e, //0x00002605 movq %r15, (%rsi) + //0x00002608 LBB0_440 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00002608 movq $-2, %rax + 0xe9, 0x4c, 0x01, 0x00, 0x00, //0x0000260f jmp LBB0_150 + //0x00002614 LBB0_315 + 0x49, 0x83, 0xfb, 0xff, //0x00002614 cmpq $-1, %r11 + 0x0f, 0x85, 0x3c, 0x01, 0x00, 0x00, //0x00002618 jne LBB0_149 + //0x0000261e LBB0_316 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000261e movq $-1, %r11 + 0x4c, 0x8b, 0x45, 0xc0, //0x00002625 movq $-64(%rbp), %r8 + 0xe9, 0x2c, 0x01, 0x00, 0x00, //0x00002629 jmp LBB0_149 + //0x0000262e LBB0_443 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000262e movq $-2, %rax + 0x80, 0xf9, 0x61, //0x00002635 cmpb $97, %cl + 0x0f, 0x85, 0x22, 0x01, 0x00, 0x00, //0x00002638 jne LBB0_150 + 0x49, 0x8d, 0x4f, 0x02, //0x0000263e leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002642 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3a, 0x02, 0x6c, //0x00002645 cmpb $108, $2(%r10,%r15) + 0x0f, 0x85, 0x0f, 0x01, 0x00, 0x00, //0x0000264b jne LBB0_150 + 0x49, 0x8d, 0x4f, 0x03, //0x00002651 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002655 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3a, 0x03, 0x73, //0x00002658 cmpb $115, $3(%r10,%r15) + 0x0f, 0x85, 0xfc, 0x00, 0x00, 0x00, //0x0000265e jne LBB0_150 + 0x49, 0x8d, 0x4f, 0x04, //0x00002664 leaq $4(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002668 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3a, 0x04, 0x65, //0x0000266b cmpb $101, $4(%r10,%r15) + 0x0f, 0x85, 0xe9, 0x00, 0x00, 0x00, //0x00002671 jne LBB0_150 + 0x49, 0x83, 0xc7, 0x05, //0x00002677 addq $5, %r15 + 0x4c, 0x89, 0x3e, //0x0000267b movq %r15, (%rsi) + 0xe9, 0xdd, 0x00, 0x00, 0x00, //0x0000267e jmp LBB0_150 + //0x00002683 LBB0_260 + 0x4c, 0x89, 0x3e, //0x00002683 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00002686 movq $-2, %rax + 0x41, 0x80, 0x39, 0x6e, //0x0000268d cmpb $110, (%r9) + 0x0f, 0x85, 0xc9, 0x00, 0x00, 0x00, //0x00002691 jne LBB0_150 + 0x49, 0x8d, 0x4f, 0x01, //0x00002697 leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x0000269b movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3a, 0x01, 0x75, //0x0000269e cmpb $117, $1(%r10,%r15) + 0x0f, 0x85, 0xb6, 0x00, 0x00, 0x00, //0x000026a4 jne LBB0_150 + 0x49, 0x8d, 0x4f, 0x02, //0x000026aa leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026ae movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3a, 0x02, 0x6c, //0x000026b1 cmpb $108, $2(%r10,%r15) + 0x0f, 0x85, 0xa3, 0x00, 0x00, 0x00, //0x000026b7 jne LBB0_150 + 0x49, 0x8d, 0x4f, 0x03, //0x000026bd leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026c1 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3a, 0x03, 0x6c, //0x000026c4 cmpb $108, $3(%r10,%r15) + 0x0f, 0x85, 0x90, 0x00, 0x00, 0x00, //0x000026ca jne LBB0_150 + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x000026d0 jmp LBB0_452 + //0x000026d5 LBB0_448 + 0x4c, 0x89, 0x3e, //0x000026d5 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000026d8 movq $-2, %rax + 0x41, 0x80, 0x39, 0x74, //0x000026df cmpb $116, (%r9) + 0x0f, 0x85, 0x77, 0x00, 0x00, 0x00, //0x000026e3 jne LBB0_150 + 0x49, 0x8d, 0x4f, 0x01, //0x000026e9 leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026ed movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3a, 0x01, 0x72, //0x000026f0 cmpb $114, $1(%r10,%r15) + 0x0f, 0x85, 0x64, 0x00, 0x00, 0x00, //0x000026f6 jne LBB0_150 + 0x49, 0x8d, 0x4f, 0x02, //0x000026fc leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002700 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3a, 0x02, 0x75, //0x00002703 cmpb $117, $2(%r10,%r15) + 0x0f, 0x85, 0x51, 0x00, 0x00, 0x00, //0x00002709 jne LBB0_150 + 0x49, 0x8d, 0x4f, 0x03, //0x0000270f leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002713 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x3a, 0x03, 0x65, //0x00002716 cmpb $101, $3(%r10,%r15) + 0x0f, 0x85, 0x3e, 0x00, 0x00, 0x00, //0x0000271c jne LBB0_150 + //0x00002722 LBB0_452 + 0x49, 0x83, 0xc7, 0x04, //0x00002722 addq $4, %r15 + 0x4c, 0x89, 0x3e, //0x00002726 movq %r15, (%rsi) + 0xe9, 0x32, 0x00, 0x00, 0x00, //0x00002729 jmp LBB0_150 + //0x0000272e LBB0_456 + 0x4d, 0x89, 0xd9, //0x0000272e movq %r11, %r9 + 0xe9, 0x57, 0xfe, 0xff, 0xff, //0x00002731 jmp LBB0_428 + //0x00002736 LBB0_453 + 0x49, 0x83, 0xf8, 0xff, //0x00002736 cmpq $-1, %r8 + 0x0f, 0x85, 0x8e, 0xfe, 0xff, 0xff, //0x0000273a jne LBB0_432 + 0x49, 0x0f, 0xbc, 0xc6, //0x00002740 bsfq %r14, %rax + //0x00002744 LBB0_455 + 0x4c, 0x2b, 0x5d, 0xd0, //0x00002744 subq $-48(%rbp), %r11 + 0xe9, 0x9c, 0xfe, 0xff, 0xff, //0x00002748 jmp LBB0_436 + //0x0000274d LBB0_148 + 0x4c, 0x01, 0xd9, //0x0000274d addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002750 movq $-2, %r11 + 0x49, 0x89, 0xc8, //0x00002757 movq %rcx, %r8 + //0x0000275a LBB0_149 + 0x4c, 0x89, 0x06, //0x0000275a movq %r8, (%rsi) + 0x4c, 0x89, 0xd8, //0x0000275d movq %r11, %rax + //0x00002760 LBB0_150 + 0x48, 0x83, 0xc4, 0x70, //0x00002760 addq $112, %rsp + 0x5b, //0x00002764 popq %rbx + 0x41, 0x5c, //0x00002765 popq %r12 + 0x41, 0x5d, //0x00002767 popq %r13 + 0x41, 0x5e, //0x00002769 popq %r14 + 0x41, 0x5f, //0x0000276b popq %r15 + 0x5d, //0x0000276d popq %rbp + 0xc3, //0x0000276e retq + //0x0000276f LBB0_457 + 0x4c, 0x89, 0x5d, 0xc0, //0x0000276f movq %r11, $-64(%rbp) + 0x48, 0x8b, 0x75, 0xc8, //0x00002773 movq $-56(%rbp), %rsi + 0xe9, 0xa2, 0xfe, 0xff, 0xff, //0x00002777 jmp LBB0_316 + //0x0000277c LBB0_458 + 0x4c, 0x89, 0x5d, 0xc0, //0x0000277c movq %r11, $-64(%rbp) + 0xe9, 0x99, 0xfe, 0xff, 0xff, //0x00002780 jmp LBB0_316 + //0x00002785 LBB0_422 + 0x48, 0x8b, 0x75, 0xc8, //0x00002785 movq $-56(%rbp), %rsi + 0xe9, 0x90, 0xfe, 0xff, 0xff, //0x00002789 jmp LBB0_316 + //0x0000278e LBB0_460 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000278e bsfq %rdi, %rax + 0xe9, 0x4f, 0xfe, 0xff, 0xff, //0x00002792 jmp LBB0_435 + //0x00002797 LBB0_459 + 0x4d, 0x29, 0xd3, //0x00002797 subq %r10, %r11 + 0xe9, 0x4d, 0xfe, 0xff, 0xff, //0x0000279a jmp LBB0_437 + //0x0000279f LBB0_464 + 0x48, 0x8b, 0x75, 0xc8, //0x0000279f movq $-56(%rbp), %rsi + 0xe9, 0xe5, 0xfd, 0xff, 0xff, //0x000027a3 jmp LBB0_428 + //0x000027a8 LBB0_461 + 0x48, 0x0f, 0xbc, 0xc7, //0x000027a8 bsfq %rdi, %rax + 0xe9, 0x93, 0xff, 0xff, 0xff, //0x000027ac jmp LBB0_455 + //0x000027b1 LBB0_462 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000027b1 subq $-48(%rbp), %r11 + 0xe9, 0x32, 0xfe, 0xff, 0xff, //0x000027b5 jmp LBB0_437 + //0x000027ba LBB0_463 + 0x48, 0x8b, 0x75, 0xc8, //0x000027ba movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xc0, //0x000027be movq $-64(%rbp), %r9 + 0xe9, 0xc6, 0xfd, 0xff, 0xff, //0x000027c2 jmp LBB0_428 + 0x90, //0x000027c7 .p2align 2, 0x90 + // // .set L0_0_set_34, LBB0_34-LJTI0_0 + // // .set L0_0_set_60, LBB0_60-LJTI0_0 + // // .set L0_0_set_40, LBB0_40-LJTI0_0 + // // .set L0_0_set_62, LBB0_62-LJTI0_0 + // // .set L0_0_set_37, LBB0_37-LJTI0_0 + // // .set L0_0_set_65, LBB0_65-LJTI0_0 + //0x000027c8 LJTI0_0 + 0x89, 0xdb, 0xff, 0xff, //0x000027c8 .long L0_0_set_34 + 0x91, 0xdd, 0xff, 0xff, //0x000027cc .long L0_0_set_60 + 0xbf, 0xdb, 0xff, 0xff, //0x000027d0 .long L0_0_set_40 + 0xbc, 0xdd, 0xff, 0xff, //0x000027d4 .long L0_0_set_62 + 0xa0, 0xdb, 0xff, 0xff, //0x000027d8 .long L0_0_set_37 + 0x4d, 0xe0, 0xff, 0xff, //0x000027dc .long L0_0_set_65 + // // .set L0_1_set_150, LBB0_150-LJTI0_1 + // // .set L0_1_set_440, LBB0_440-LJTI0_1 + // // .set L0_1_set_202, LBB0_202-LJTI0_1 + // // .set L0_1_set_221, LBB0_221-LJTI0_1 + // // .set L0_1_set_67, LBB0_67-LJTI0_1 + // // .set L0_1_set_200, LBB0_200-LJTI0_1 + // // .set L0_1_set_255, LBB0_255-LJTI0_1 + // // .set L0_1_set_258, LBB0_258-LJTI0_1 + // // .set L0_1_set_264, LBB0_264-LJTI0_1 + // // .set L0_1_set_268, LBB0_268-LJTI0_1 + //0x000027e0 LJTI0_1 + 0x80, 0xff, 0xff, 0xff, //0x000027e0 .long L0_1_set_150 + 0x28, 0xfe, 0xff, 0xff, //0x000027e4 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000027e8 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000027ec .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000027f0 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000027f4 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000027f8 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000027fc .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002800 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002804 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002808 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000280c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002810 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002814 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002818 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000281c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002820 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002824 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002828 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000282c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002830 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002834 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002838 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000283c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002840 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002844 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002848 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000284c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002850 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002854 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002858 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000285c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002860 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002864 .long L0_1_set_440 + 0x44, 0xe8, 0xff, 0xff, //0x00002868 .long L0_1_set_202 + 0x28, 0xfe, 0xff, 0xff, //0x0000286c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002870 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002874 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002878 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000287c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002880 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002884 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002888 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000288c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002890 .long L0_1_set_440 + 0x09, 0xea, 0xff, 0xff, //0x00002894 .long L0_1_set_221 + 0x28, 0xfe, 0xff, 0xff, //0x00002898 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000289c .long L0_1_set_440 + 0xdc, 0xdd, 0xff, 0xff, //0x000028a0 .long L0_1_set_67 + 0xdc, 0xdd, 0xff, 0xff, //0x000028a4 .long L0_1_set_67 + 0xdc, 0xdd, 0xff, 0xff, //0x000028a8 .long L0_1_set_67 + 0xdc, 0xdd, 0xff, 0xff, //0x000028ac .long L0_1_set_67 + 0xdc, 0xdd, 0xff, 0xff, //0x000028b0 .long L0_1_set_67 + 0xdc, 0xdd, 0xff, 0xff, //0x000028b4 .long L0_1_set_67 + 0xdc, 0xdd, 0xff, 0xff, //0x000028b8 .long L0_1_set_67 + 0xdc, 0xdd, 0xff, 0xff, //0x000028bc .long L0_1_set_67 + 0xdc, 0xdd, 0xff, 0xff, //0x000028c0 .long L0_1_set_67 + 0xdc, 0xdd, 0xff, 0xff, //0x000028c4 .long L0_1_set_67 + 0x28, 0xfe, 0xff, 0xff, //0x000028c8 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028cc .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028d0 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028d4 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028d8 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028dc .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028e0 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028e4 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028e8 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028ec .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028f0 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028f4 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028f8 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000028fc .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002900 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002904 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002908 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000290c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002910 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002914 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002918 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000291c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002920 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002924 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002928 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000292c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002930 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002934 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002938 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000293c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002940 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002944 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002948 .long L0_1_set_440 + 0x20, 0xe8, 0xff, 0xff, //0x0000294c .long L0_1_set_200 + 0x28, 0xfe, 0xff, 0xff, //0x00002950 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002954 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002958 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000295c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002960 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002964 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002968 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000296c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002970 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002974 .long L0_1_set_440 + 0x7a, 0xec, 0xff, 0xff, //0x00002978 .long L0_1_set_255 + 0x28, 0xfe, 0xff, 0xff, //0x0000297c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002980 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002984 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002988 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x0000298c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002990 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x00002994 .long L0_1_set_440 + 0xab, 0xec, 0xff, 0xff, //0x00002998 .long L0_1_set_258 + 0x28, 0xfe, 0xff, 0xff, //0x0000299c .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000029a0 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000029a4 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000029a8 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000029ac .long L0_1_set_440 + 0xd2, 0xec, 0xff, 0xff, //0x000029b0 .long L0_1_set_264 + 0x28, 0xfe, 0xff, 0xff, //0x000029b4 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000029b8 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000029bc .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000029c0 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000029c4 .long L0_1_set_440 + 0x28, 0xfe, 0xff, 0xff, //0x000029c8 .long L0_1_set_440 + 0x0f, 0xed, 0xff, 0xff, //0x000029cc .long L0_1_set_268 + // // .set L0_2_set_249, LBB0_249-LJTI0_2 + // // .set L0_2_set_299, LBB0_299-LJTI0_2 + // // .set L0_2_set_253, LBB0_253-LJTI0_2 + // // .set L0_2_set_246, LBB0_246-LJTI0_2 + // // .set L0_2_set_251, LBB0_251-LJTI0_2 + //0x000029d0 LJTI0_2 + 0x39, 0xea, 0xff, 0xff, //0x000029d0 .long L0_2_set_249 + 0xb1, 0xed, 0xff, 0xff, //0x000029d4 .long L0_2_set_299 + 0x39, 0xea, 0xff, 0xff, //0x000029d8 .long L0_2_set_249 + 0x6f, 0xea, 0xff, 0xff, //0x000029dc .long L0_2_set_253 + 0xb1, 0xed, 0xff, 0xff, //0x000029e0 .long L0_2_set_299 + 0x10, 0xea, 0xff, 0xff, //0x000029e4 .long L0_2_set_246 + 0x10, 0xea, 0xff, 0xff, //0x000029e8 .long L0_2_set_246 + 0x10, 0xea, 0xff, 0xff, //0x000029ec .long L0_2_set_246 + 0x10, 0xea, 0xff, 0xff, //0x000029f0 .long L0_2_set_246 + 0x10, 0xea, 0xff, 0xff, //0x000029f4 .long L0_2_set_246 + 0x10, 0xea, 0xff, 0xff, //0x000029f8 .long L0_2_set_246 + 0x10, 0xea, 0xff, 0xff, //0x000029fc .long L0_2_set_246 + 0x10, 0xea, 0xff, 0xff, //0x00002a00 .long L0_2_set_246 + 0x10, 0xea, 0xff, 0xff, //0x00002a04 .long L0_2_set_246 + 0x10, 0xea, 0xff, 0xff, //0x00002a08 .long L0_2_set_246 + 0xb1, 0xed, 0xff, 0xff, //0x00002a0c .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a10 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a14 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a18 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a1c .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a20 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a24 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a28 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a2c .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a30 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a34 .long L0_2_set_299 + 0x54, 0xea, 0xff, 0xff, //0x00002a38 .long L0_2_set_251 + 0xb1, 0xed, 0xff, 0xff, //0x00002a3c .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a40 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a44 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a48 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a4c .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a50 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a54 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a58 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a5c .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a60 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a64 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a68 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a6c .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a70 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a74 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a78 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a7c .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a80 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a84 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a88 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a8c .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a90 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a94 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a98 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002a9c .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002aa0 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002aa4 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002aa8 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002aac .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002ab0 .long L0_2_set_299 + 0xb1, 0xed, 0xff, 0xff, //0x00002ab4 .long L0_2_set_299 + 0x54, 0xea, 0xff, 0xff, //0x00002ab8 .long L0_2_set_251 + // // .set L0_3_set_97, LBB0_97-LJTI0_3 + // // .set L0_3_set_152, LBB0_152-LJTI0_3 + // // .set L0_3_set_99, LBB0_99-LJTI0_3 + // // .set L0_3_set_94, LBB0_94-LJTI0_3 + // // .set L0_3_set_92, LBB0_92-LJTI0_3 + //0x00002abc LJTI0_3 + 0x23, 0xdd, 0xff, 0xff, //0x00002abc .long L0_3_set_97 + 0xcf, 0xe1, 0xff, 0xff, //0x00002ac0 .long L0_3_set_152 + 0x23, 0xdd, 0xff, 0xff, //0x00002ac4 .long L0_3_set_97 + 0x3e, 0xdd, 0xff, 0xff, //0x00002ac8 .long L0_3_set_99 + 0xcf, 0xe1, 0xff, 0xff, //0x00002acc .long L0_3_set_152 + 0xf4, 0xdc, 0xff, 0xff, //0x00002ad0 .long L0_3_set_94 + 0xf4, 0xdc, 0xff, 0xff, //0x00002ad4 .long L0_3_set_94 + 0xf4, 0xdc, 0xff, 0xff, //0x00002ad8 .long L0_3_set_94 + 0xf4, 0xdc, 0xff, 0xff, //0x00002adc .long L0_3_set_94 + 0xf4, 0xdc, 0xff, 0xff, //0x00002ae0 .long L0_3_set_94 + 0xf4, 0xdc, 0xff, 0xff, //0x00002ae4 .long L0_3_set_94 + 0xf4, 0xdc, 0xff, 0xff, //0x00002ae8 .long L0_3_set_94 + 0xf4, 0xdc, 0xff, 0xff, //0x00002aec .long L0_3_set_94 + 0xf4, 0xdc, 0xff, 0xff, //0x00002af0 .long L0_3_set_94 + 0xf4, 0xdc, 0xff, 0xff, //0x00002af4 .long L0_3_set_94 + 0xcf, 0xe1, 0xff, 0xff, //0x00002af8 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002afc .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b00 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b04 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b08 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b0c .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b10 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b14 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b18 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b1c .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b20 .long L0_3_set_152 + 0xd6, 0xdc, 0xff, 0xff, //0x00002b24 .long L0_3_set_92 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b28 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b2c .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b30 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b34 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b38 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b3c .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b40 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b44 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b48 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b4c .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b50 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b54 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b58 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b5c .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b60 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b64 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b68 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b6c .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b70 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b74 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b78 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b7c .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b80 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b84 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b88 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b8c .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b90 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b94 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b98 .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002b9c .long L0_3_set_152 + 0xcf, 0xe1, 0xff, 0xff, //0x00002ba0 .long L0_3_set_152 + 0xd6, 0xdc, 0xff, 0xff, //0x00002ba4 .long L0_3_set_92 + //0x00002ba8 .p2align 2, 0x00 + //0x00002ba8 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00002ba8 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/u64toa.go b/vendor/github.com/bytedance/sonic/internal/native/sse/u64toa.go new file mode 100644 index 0000000..a61ee7b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/u64toa.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_u64toa func(out unsafe.Pointer, val uint64) (ret int) + +var S_u64toa uintptr + +//go:nosplit +func u64toa(out *byte, val uint64) (ret int) { + return F_u64toa(rt.NoEscape(unsafe.Pointer(out)), val) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/u64toa_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/u64toa_subr.go new file mode 100644 index 0000000..8e67f81 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/u64toa_subr.go @@ -0,0 +1,39 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__u64toa = 80 +) + +const ( + _stack__u64toa = 8 +) + +const ( + _size__u64toa = 1264 +) + +var ( + _pcsp__u64toa = [][2]uint32{ + {1, 0}, + {161, 8}, + {162, 0}, + {457, 8}, + {458, 0}, + {772, 8}, + {773, 0}, + {1249, 8}, + {1251, 0}, + } +) + +var _cfunc_u64toa = []loader.CFunc{ + {"_u64toa_entry", 0, _entry__u64toa, 0, nil}, + {"_u64toa", _entry__u64toa, _size__u64toa, _stack__u64toa, _pcsp__u64toa}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/u64toa_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/u64toa_text_amd64.go new file mode 100644 index 0000000..12fd7a4 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/u64toa_text_amd64.go @@ -0,0 +1,391 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_u64toa = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, // .quad 3518437209 + 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 3518437209 + //0x00000010 LCPI0_1 + 0xc5, 0x20, //0x00000010 .word 8389 + 0x7b, 0x14, //0x00000012 .word 5243 + 0x34, 0x33, //0x00000014 .word 13108 + 0x00, 0x80, //0x00000016 .word 32768 + 0xc5, 0x20, //0x00000018 .word 8389 + 0x7b, 0x14, //0x0000001a .word 5243 + 0x34, 0x33, //0x0000001c .word 13108 + 0x00, 0x80, //0x0000001e .word 32768 + //0x00000020 LCPI0_2 + 0x80, 0x00, //0x00000020 .word 128 + 0x00, 0x08, //0x00000022 .word 2048 + 0x00, 0x20, //0x00000024 .word 8192 + 0x00, 0x80, //0x00000026 .word 32768 + 0x80, 0x00, //0x00000028 .word 128 + 0x00, 0x08, //0x0000002a .word 2048 + 0x00, 0x20, //0x0000002c .word 8192 + 0x00, 0x80, //0x0000002e .word 32768 + //0x00000030 LCPI0_3 + 0x0a, 0x00, //0x00000030 .word 10 + 0x0a, 0x00, //0x00000032 .word 10 + 0x0a, 0x00, //0x00000034 .word 10 + 0x0a, 0x00, //0x00000036 .word 10 + 0x0a, 0x00, //0x00000038 .word 10 + 0x0a, 0x00, //0x0000003a .word 10 + 0x0a, 0x00, //0x0000003c .word 10 + 0x0a, 0x00, //0x0000003e .word 10 + //0x00000040 LCPI0_4 + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, //0x00000040 QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' + //0x00000050 .p2align 4, 0x90 + //0x00000050 _u64toa + 0x55, //0x00000050 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000051 movq %rsp, %rbp + 0x48, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x00000054 cmpq $9999, %rsi + 0x0f, 0x87, 0xa2, 0x00, 0x00, 0x00, //0x0000005b ja LBB0_8 + 0x0f, 0xb7, 0xc6, //0x00000061 movzwl %si, %eax + 0xc1, 0xe8, 0x02, //0x00000064 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000067 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x0000006d shrl $17, %eax + 0x48, 0x8d, 0x14, 0x00, //0x00000070 leaq (%rax,%rax), %rdx + 0x6b, 0xc0, 0x64, //0x00000074 imull $100, %eax, %eax + 0x89, 0xf1, //0x00000077 movl %esi, %ecx + 0x29, 0xc1, //0x00000079 subl %eax, %ecx + 0x0f, 0xb7, 0xc1, //0x0000007b movzwl %cx, %eax + 0x48, 0x01, 0xc0, //0x0000007e addq %rax, %rax + 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x00000081 cmpl $1000, %esi + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000087 jb LBB0_3 + 0x48, 0x8d, 0x0d, 0xac, 0x04, 0x00, 0x00, //0x0000008d leaq $1196(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x0c, 0x0a, //0x00000094 movb (%rdx,%rcx), %cl + 0x88, 0x0f, //0x00000097 movb %cl, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000099 movl $1, %ecx + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x0000009e jmp LBB0_4 + //0x000000a3 LBB0_3 + 0x31, 0xc9, //0x000000a3 xorl %ecx, %ecx + 0x83, 0xfe, 0x64, //0x000000a5 cmpl $100, %esi + 0x0f, 0x82, 0x45, 0x00, 0x00, 0x00, //0x000000a8 jb LBB0_5 + //0x000000ae LBB0_4 + 0x0f, 0xb7, 0xd2, //0x000000ae movzwl %dx, %edx + 0x48, 0x83, 0xca, 0x01, //0x000000b1 orq $1, %rdx + 0x48, 0x8d, 0x35, 0x84, 0x04, 0x00, 0x00, //0x000000b5 leaq $1156(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x32, //0x000000bc movb (%rdx,%rsi), %dl + 0x89, 0xce, //0x000000bf movl %ecx, %esi + 0xff, 0xc1, //0x000000c1 incl %ecx + 0x88, 0x14, 0x37, //0x000000c3 movb %dl, (%rdi,%rsi) + //0x000000c6 LBB0_6 + 0x48, 0x8d, 0x15, 0x73, 0x04, 0x00, 0x00, //0x000000c6 leaq $1139(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x10, //0x000000cd movb (%rax,%rdx), %dl + 0x89, 0xce, //0x000000d0 movl %ecx, %esi + 0xff, 0xc1, //0x000000d2 incl %ecx + 0x88, 0x14, 0x37, //0x000000d4 movb %dl, (%rdi,%rsi) + //0x000000d7 LBB0_7 + 0x0f, 0xb7, 0xc0, //0x000000d7 movzwl %ax, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000000da orq $1, %rax + 0x48, 0x8d, 0x15, 0x5b, 0x04, 0x00, 0x00, //0x000000de leaq $1115(%rip), %rdx /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x10, //0x000000e5 movb (%rax,%rdx), %al + 0x89, 0xca, //0x000000e8 movl %ecx, %edx + 0xff, 0xc1, //0x000000ea incl %ecx + 0x88, 0x04, 0x17, //0x000000ec movb %al, (%rdi,%rdx) + 0x89, 0xc8, //0x000000ef movl %ecx, %eax + 0x5d, //0x000000f1 popq %rbp + 0xc3, //0x000000f2 retq + //0x000000f3 LBB0_5 + 0x31, 0xc9, //0x000000f3 xorl %ecx, %ecx + 0x83, 0xfe, 0x0a, //0x000000f5 cmpl $10, %esi + 0x0f, 0x83, 0xc8, 0xff, 0xff, 0xff, //0x000000f8 jae LBB0_6 + 0xe9, 0xd4, 0xff, 0xff, 0xff, //0x000000fe jmp LBB0_7 + //0x00000103 LBB0_8 + 0x48, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x00000103 cmpq $99999999, %rsi + 0x0f, 0x87, 0x1e, 0x01, 0x00, 0x00, //0x0000010a ja LBB0_16 + 0x89, 0xf0, //0x00000110 movl %esi, %eax + 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x00000112 movl $3518437209, %edx + 0x48, 0x0f, 0xaf, 0xd0, //0x00000117 imulq %rax, %rdx + 0x48, 0xc1, 0xea, 0x2d, //0x0000011b shrq $45, %rdx + 0x44, 0x69, 0xc2, 0x10, 0x27, 0x00, 0x00, //0x0000011f imull $10000, %edx, %r8d + 0x89, 0xf1, //0x00000126 movl %esi, %ecx + 0x44, 0x29, 0xc1, //0x00000128 subl %r8d, %ecx + 0x4c, 0x69, 0xd0, 0x83, 0xde, 0x1b, 0x43, //0x0000012b imulq $1125899907, %rax, %r10 + 0x49, 0xc1, 0xea, 0x31, //0x00000132 shrq $49, %r10 + 0x41, 0x83, 0xe2, 0xfe, //0x00000136 andl $-2, %r10d + 0x0f, 0xb7, 0xc2, //0x0000013a movzwl %dx, %eax + 0xc1, 0xe8, 0x02, //0x0000013d shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000140 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000146 shrl $17, %eax + 0x6b, 0xc0, 0x64, //0x00000149 imull $100, %eax, %eax + 0x29, 0xc2, //0x0000014c subl %eax, %edx + 0x44, 0x0f, 0xb7, 0xca, //0x0000014e movzwl %dx, %r9d + 0x4d, 0x01, 0xc9, //0x00000152 addq %r9, %r9 + 0x0f, 0xb7, 0xc1, //0x00000155 movzwl %cx, %eax + 0xc1, 0xe8, 0x02, //0x00000158 shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000015b imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x00000161 shrl $17, %eax + 0x4c, 0x8d, 0x04, 0x00, //0x00000164 leaq (%rax,%rax), %r8 + 0x6b, 0xc0, 0x64, //0x00000168 imull $100, %eax, %eax + 0x29, 0xc1, //0x0000016b subl %eax, %ecx + 0x44, 0x0f, 0xb7, 0xd9, //0x0000016d movzwl %cx, %r11d + 0x4d, 0x01, 0xdb, //0x00000171 addq %r11, %r11 + 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x00000174 cmpl $10000000, %esi + 0x0f, 0x82, 0x17, 0x00, 0x00, 0x00, //0x0000017a jb LBB0_11 + 0x48, 0x8d, 0x05, 0xb9, 0x03, 0x00, 0x00, //0x00000180 leaq $953(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x02, //0x00000187 movb (%r10,%rax), %al + 0x88, 0x07, //0x0000018b movb %al, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000018d movl $1, %ecx + 0xe9, 0x0e, 0x00, 0x00, 0x00, //0x00000192 jmp LBB0_12 + //0x00000197 LBB0_11 + 0x31, 0xc9, //0x00000197 xorl %ecx, %ecx + 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x00000199 cmpl $1000000, %esi + 0x0f, 0x82, 0x76, 0x00, 0x00, 0x00, //0x0000019f jb LBB0_13 + //0x000001a5 LBB0_12 + 0x44, 0x89, 0xd0, //0x000001a5 movl %r10d, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000001a8 orq $1, %rax + 0x48, 0x8d, 0x35, 0x8d, 0x03, 0x00, 0x00, //0x000001ac leaq $909(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x000001b3 movb (%rax,%rsi), %al + 0x89, 0xce, //0x000001b6 movl %ecx, %esi + 0xff, 0xc1, //0x000001b8 incl %ecx + 0x88, 0x04, 0x37, //0x000001ba movb %al, (%rdi,%rsi) + //0x000001bd LBB0_14 + 0x48, 0x8d, 0x05, 0x7c, 0x03, 0x00, 0x00, //0x000001bd leaq $892(%rip), %rax /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x04, 0x01, //0x000001c4 movb (%r9,%rax), %al + 0x89, 0xce, //0x000001c8 movl %ecx, %esi + 0xff, 0xc1, //0x000001ca incl %ecx + 0x88, 0x04, 0x37, //0x000001cc movb %al, (%rdi,%rsi) + //0x000001cf LBB0_15 + 0x41, 0x0f, 0xb7, 0xc1, //0x000001cf movzwl %r9w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000001d3 orq $1, %rax + 0x48, 0x8d, 0x35, 0x62, 0x03, 0x00, 0x00, //0x000001d7 leaq $866(%rip), %rsi /* _Digits+0(%rip) */ + 0x8a, 0x04, 0x30, //0x000001de movb (%rax,%rsi), %al + 0x89, 0xca, //0x000001e1 movl %ecx, %edx + 0x88, 0x04, 0x3a, //0x000001e3 movb %al, (%rdx,%rdi) + 0x41, 0x8a, 0x04, 0x30, //0x000001e6 movb (%r8,%rsi), %al + 0x88, 0x44, 0x3a, 0x01, //0x000001ea movb %al, $1(%rdx,%rdi) + 0x41, 0x0f, 0xb7, 0xc0, //0x000001ee movzwl %r8w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x000001f2 orq $1, %rax + 0x8a, 0x04, 0x30, //0x000001f6 movb (%rax,%rsi), %al + 0x88, 0x44, 0x3a, 0x02, //0x000001f9 movb %al, $2(%rdx,%rdi) + 0x41, 0x8a, 0x04, 0x33, //0x000001fd movb (%r11,%rsi), %al + 0x88, 0x44, 0x3a, 0x03, //0x00000201 movb %al, $3(%rdx,%rdi) + 0x41, 0x0f, 0xb7, 0xc3, //0x00000205 movzwl %r11w, %eax + 0x48, 0x83, 0xc8, 0x01, //0x00000209 orq $1, %rax + 0x8a, 0x04, 0x30, //0x0000020d movb (%rax,%rsi), %al + 0x83, 0xc1, 0x05, //0x00000210 addl $5, %ecx + 0x88, 0x44, 0x3a, 0x04, //0x00000213 movb %al, $4(%rdx,%rdi) + 0x89, 0xc8, //0x00000217 movl %ecx, %eax + 0x5d, //0x00000219 popq %rbp + 0xc3, //0x0000021a retq + //0x0000021b LBB0_13 + 0x31, 0xc9, //0x0000021b xorl %ecx, %ecx + 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x0000021d cmpl $100000, %esi + 0x0f, 0x83, 0x94, 0xff, 0xff, 0xff, //0x00000223 jae LBB0_14 + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x00000229 jmp LBB0_15 + //0x0000022e LBB0_16 + 0x48, 0xb8, 0xff, 0xff, 0xc0, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x0000022e movabsq $9999999999999999, %rax + 0x48, 0x39, 0xc6, //0x00000238 cmpq %rax, %rsi + 0x0f, 0x87, 0x15, 0x01, 0x00, 0x00, //0x0000023b ja LBB0_18 + 0x48, 0xb9, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000241 movabsq $-6067343680855748867, %rcx + 0x48, 0x89, 0xf0, //0x0000024b movq %rsi, %rax + 0x48, 0xf7, 0xe1, //0x0000024e mulq %rcx + 0x48, 0xc1, 0xea, 0x1a, //0x00000251 shrq $26, %rdx + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x00000255 imull $100000000, %edx, %eax + 0x29, 0xc6, //0x0000025b subl %eax, %esi + 0x66, 0x0f, 0x6e, 0xc2, //0x0000025d movd %edx, %xmm0 + 0xf3, 0x0f, 0x6f, 0x0d, 0x97, 0xfd, 0xff, 0xff, //0x00000261 movdqu $-617(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xd0, //0x00000269 movdqa %xmm0, %xmm2 + 0x66, 0x0f, 0xf4, 0xd1, //0x0000026d pmuludq %xmm1, %xmm2 + 0x66, 0x0f, 0x73, 0xd2, 0x2d, //0x00000271 psrlq $45, %xmm2 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x00000276 movl $10000, %eax + 0x66, 0x48, 0x0f, 0x6e, 0xd8, //0x0000027b movq %rax, %xmm3 + 0x66, 0x0f, 0x6f, 0xe2, //0x00000280 movdqa %xmm2, %xmm4 + 0x66, 0x0f, 0xf4, 0xe3, //0x00000284 pmuludq %xmm3, %xmm4 + 0x66, 0x0f, 0xfa, 0xc4, //0x00000288 psubd %xmm4, %xmm0 + 0x66, 0x0f, 0x61, 0xd0, //0x0000028c punpcklwd %xmm0, %xmm2 + 0x66, 0x0f, 0x73, 0xf2, 0x02, //0x00000290 psllq $2, %xmm2 + 0xf2, 0x0f, 0x70, 0xc2, 0x50, //0x00000295 pshuflw $80, %xmm2, %xmm0 + 0x66, 0x0f, 0x70, 0xc0, 0x50, //0x0000029a pshufd $80, %xmm0, %xmm0 + 0xf3, 0x0f, 0x6f, 0x15, 0x69, 0xfd, 0xff, 0xff, //0x0000029f movdqu $-663(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0x66, 0x0f, 0xe4, 0xc2, //0x000002a7 pmulhuw %xmm2, %xmm0 + 0xf3, 0x0f, 0x6f, 0x25, 0x6d, 0xfd, 0xff, 0xff, //0x000002ab movdqu $-659(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0x66, 0x0f, 0xe4, 0xc4, //0x000002b3 pmulhuw %xmm4, %xmm0 + 0xf3, 0x0f, 0x6f, 0x2d, 0x71, 0xfd, 0xff, 0xff, //0x000002b7 movdqu $-655(%rip), %xmm5 /* LCPI0_3+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xf0, //0x000002bf movdqa %xmm0, %xmm6 + 0x66, 0x0f, 0xd5, 0xf5, //0x000002c3 pmullw %xmm5, %xmm6 + 0x66, 0x0f, 0x73, 0xf6, 0x10, //0x000002c7 psllq $16, %xmm6 + 0x66, 0x0f, 0xf9, 0xc6, //0x000002cc psubw %xmm6, %xmm0 + 0x66, 0x0f, 0x6e, 0xf6, //0x000002d0 movd %esi, %xmm6 + 0x66, 0x0f, 0xf4, 0xce, //0x000002d4 pmuludq %xmm6, %xmm1 + 0x66, 0x0f, 0x73, 0xd1, 0x2d, //0x000002d8 psrlq $45, %xmm1 + 0x66, 0x0f, 0xf4, 0xd9, //0x000002dd pmuludq %xmm1, %xmm3 + 0x66, 0x0f, 0xfa, 0xf3, //0x000002e1 psubd %xmm3, %xmm6 + 0x66, 0x0f, 0x61, 0xce, //0x000002e5 punpcklwd %xmm6, %xmm1 + 0x66, 0x0f, 0x73, 0xf1, 0x02, //0x000002e9 psllq $2, %xmm1 + 0xf2, 0x0f, 0x70, 0xc9, 0x50, //0x000002ee pshuflw $80, %xmm1, %xmm1 + 0x66, 0x0f, 0x70, 0xc9, 0x50, //0x000002f3 pshufd $80, %xmm1, %xmm1 + 0x66, 0x0f, 0xe4, 0xca, //0x000002f8 pmulhuw %xmm2, %xmm1 + 0x66, 0x0f, 0xe4, 0xcc, //0x000002fc pmulhuw %xmm4, %xmm1 + 0x66, 0x0f, 0xd5, 0xe9, //0x00000300 pmullw %xmm1, %xmm5 + 0x66, 0x0f, 0x73, 0xf5, 0x10, //0x00000304 psllq $16, %xmm5 + 0x66, 0x0f, 0xf9, 0xcd, //0x00000309 psubw %xmm5, %xmm1 + 0x66, 0x0f, 0x67, 0xc1, //0x0000030d packuswb %xmm1, %xmm0 + 0xf3, 0x0f, 0x6f, 0x0d, 0x27, 0xfd, 0xff, 0xff, //0x00000311 movdqu $-729(%rip), %xmm1 /* LCPI0_4+0(%rip) */ + 0x66, 0x0f, 0xfc, 0xc8, //0x00000319 paddb %xmm0, %xmm1 + 0x66, 0x0f, 0xef, 0xd2, //0x0000031d pxor %xmm2, %xmm2 + 0x66, 0x0f, 0x74, 0xd0, //0x00000321 pcmpeqb %xmm0, %xmm2 + 0x66, 0x0f, 0xd7, 0xc2, //0x00000325 pmovmskb %xmm2, %eax + 0x0d, 0x00, 0x80, 0x00, 0x00, //0x00000329 orl $32768, %eax + 0x35, 0xff, 0x7f, 0xff, 0xff, //0x0000032e xorl $-32769, %eax + 0x0f, 0xbc, 0xc0, //0x00000333 bsfl %eax, %eax + 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00000336 movl $16, %ecx + 0x29, 0xc1, //0x0000033b subl %eax, %ecx + 0x48, 0xc1, 0xe0, 0x04, //0x0000033d shlq $4, %rax + 0x48, 0x8d, 0x15, 0xc8, 0x02, 0x00, 0x00, //0x00000341 leaq $712(%rip), %rdx /* _VecShiftShuffles+0(%rip) */ + 0x66, 0x0f, 0x38, 0x00, 0x0c, 0x10, //0x00000348 pshufb (%rax,%rdx), %xmm1 + 0xf3, 0x0f, 0x7f, 0x0f, //0x0000034e movdqu %xmm1, (%rdi) + 0x89, 0xc8, //0x00000352 movl %ecx, %eax + 0x5d, //0x00000354 popq %rbp + 0xc3, //0x00000355 retq + //0x00000356 LBB0_18 + 0x48, 0xb9, 0x57, 0x78, 0x13, 0xb1, 0x2f, 0x65, 0xa5, 0x39, //0x00000356 movabsq $4153837486827862103, %rcx + 0x48, 0x89, 0xf0, //0x00000360 movq %rsi, %rax + 0x48, 0xf7, 0xe1, //0x00000363 mulq %rcx + 0x48, 0xc1, 0xea, 0x33, //0x00000366 shrq $51, %rdx + 0x48, 0xb8, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x0000036a movabsq $10000000000000000, %rax + 0x48, 0x0f, 0xaf, 0xc2, //0x00000374 imulq %rdx, %rax + 0x48, 0x29, 0xc6, //0x00000378 subq %rax, %rsi + 0x83, 0xfa, 0x09, //0x0000037b cmpl $9, %edx + 0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x0000037e ja LBB0_20 + 0x80, 0xc2, 0x30, //0x00000384 addb $48, %dl + 0x88, 0x17, //0x00000387 movb %dl, (%rdi) + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000389 movl $1, %ecx + 0xe9, 0xba, 0x00, 0x00, 0x00, //0x0000038e jmp LBB0_25 + //0x00000393 LBB0_20 + 0x83, 0xfa, 0x63, //0x00000393 cmpl $99, %edx + 0x0f, 0x87, 0x1f, 0x00, 0x00, 0x00, //0x00000396 ja LBB0_22 + 0x89, 0xd0, //0x0000039c movl %edx, %eax + 0x48, 0x8d, 0x0d, 0x9b, 0x01, 0x00, 0x00, //0x0000039e leaq $411(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x000003a5 movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x000003a8 movb $1(%rcx,%rax,2), %al + 0x88, 0x17, //0x000003ac movb %dl, (%rdi) + 0x88, 0x47, 0x01, //0x000003ae movb %al, $1(%rdi) + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x000003b1 movl $2, %ecx + 0xe9, 0x92, 0x00, 0x00, 0x00, //0x000003b6 jmp LBB0_25 + //0x000003bb LBB0_22 + 0x89, 0xd0, //0x000003bb movl %edx, %eax + 0xc1, 0xe8, 0x02, //0x000003bd shrl $2, %eax + 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000003c0 imull $5243, %eax, %eax + 0xc1, 0xe8, 0x11, //0x000003c6 shrl $17, %eax + 0x81, 0xfa, 0xe7, 0x03, 0x00, 0x00, //0x000003c9 cmpl $999, %edx + 0x0f, 0x87, 0x3c, 0x00, 0x00, 0x00, //0x000003cf ja LBB0_24 + 0x83, 0xc0, 0x30, //0x000003d5 addl $48, %eax + 0x88, 0x07, //0x000003d8 movb %al, (%rdi) + 0x0f, 0xb7, 0xc2, //0x000003da movzwl %dx, %eax + 0x89, 0xc1, //0x000003dd movl %eax, %ecx + 0xc1, 0xe9, 0x02, //0x000003df shrl $2, %ecx + 0x69, 0xc9, 0x7b, 0x14, 0x00, 0x00, //0x000003e2 imull $5243, %ecx, %ecx + 0xc1, 0xe9, 0x11, //0x000003e8 shrl $17, %ecx + 0x6b, 0xc9, 0x64, //0x000003eb imull $100, %ecx, %ecx + 0x29, 0xc8, //0x000003ee subl %ecx, %eax + 0x0f, 0xb7, 0xc0, //0x000003f0 movzwl %ax, %eax + 0x48, 0x8d, 0x0d, 0x46, 0x01, 0x00, 0x00, //0x000003f3 leaq $326(%rip), %rcx /* _Digits+0(%rip) */ + 0x8a, 0x14, 0x41, //0x000003fa movb (%rcx,%rax,2), %dl + 0x8a, 0x44, 0x41, 0x01, //0x000003fd movb $1(%rcx,%rax,2), %al + 0x88, 0x57, 0x01, //0x00000401 movb %dl, $1(%rdi) + 0x88, 0x47, 0x02, //0x00000404 movb %al, $2(%rdi) + 0xb9, 0x03, 0x00, 0x00, 0x00, //0x00000407 movl $3, %ecx + 0xe9, 0x3c, 0x00, 0x00, 0x00, //0x0000040c jmp LBB0_25 + //0x00000411 LBB0_24 + 0x6b, 0xc8, 0x64, //0x00000411 imull $100, %eax, %ecx + 0x29, 0xca, //0x00000414 subl %ecx, %edx + 0x0f, 0xb7, 0xc0, //0x00000416 movzwl %ax, %eax + 0x4c, 0x8d, 0x05, 0x20, 0x01, 0x00, 0x00, //0x00000419 leaq $288(%rip), %r8 /* _Digits+0(%rip) */ + 0x41, 0x8a, 0x0c, 0x40, //0x00000420 movb (%r8,%rax,2), %cl + 0x41, 0x8a, 0x44, 0x40, 0x01, //0x00000424 movb $1(%r8,%rax,2), %al + 0x88, 0x0f, //0x00000429 movb %cl, (%rdi) + 0x88, 0x47, 0x01, //0x0000042b movb %al, $1(%rdi) + 0x0f, 0xb7, 0xc2, //0x0000042e movzwl %dx, %eax + 0x41, 0x8a, 0x0c, 0x40, //0x00000431 movb (%r8,%rax,2), %cl + 0x48, 0x01, 0xc0, //0x00000435 addq %rax, %rax + 0x88, 0x4f, 0x02, //0x00000438 movb %cl, $2(%rdi) + 0x83, 0xc8, 0x01, //0x0000043b orl $1, %eax + 0x0f, 0xb7, 0xc0, //0x0000043e movzwl %ax, %eax + 0x42, 0x8a, 0x04, 0x00, //0x00000441 movb (%rax,%r8), %al + 0x88, 0x47, 0x03, //0x00000445 movb %al, $3(%rdi) + 0xb9, 0x04, 0x00, 0x00, 0x00, //0x00000448 movl $4, %ecx + //0x0000044d LBB0_25 + 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x0000044d movabsq $-6067343680855748867, %rdx + 0x48, 0x89, 0xf0, //0x00000457 movq %rsi, %rax + 0x48, 0xf7, 0xe2, //0x0000045a mulq %rdx + 0x48, 0xc1, 0xea, 0x1a, //0x0000045d shrq $26, %rdx + 0x66, 0x0f, 0x6e, 0xc2, //0x00000461 movd %edx, %xmm0 + 0xf3, 0x0f, 0x6f, 0x0d, 0x93, 0xfb, 0xff, 0xff, //0x00000465 movdqu $-1133(%rip), %xmm1 /* LCPI0_0+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xd8, //0x0000046d movdqa %xmm0, %xmm3 + 0x66, 0x0f, 0xf4, 0xd9, //0x00000471 pmuludq %xmm1, %xmm3 + 0x66, 0x0f, 0x73, 0xd3, 0x2d, //0x00000475 psrlq $45, %xmm3 + 0xb8, 0x10, 0x27, 0x00, 0x00, //0x0000047a movl $10000, %eax + 0x66, 0x48, 0x0f, 0x6e, 0xd0, //0x0000047f movq %rax, %xmm2 + 0x66, 0x0f, 0x6f, 0xe3, //0x00000484 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0xf4, 0xe2, //0x00000488 pmuludq %xmm2, %xmm4 + 0x66, 0x0f, 0xfa, 0xc4, //0x0000048c psubd %xmm4, %xmm0 + 0x66, 0x0f, 0x61, 0xd8, //0x00000490 punpcklwd %xmm0, %xmm3 + 0x66, 0x0f, 0x73, 0xf3, 0x02, //0x00000494 psllq $2, %xmm3 + 0xf2, 0x0f, 0x70, 0xc3, 0x50, //0x00000499 pshuflw $80, %xmm3, %xmm0 + 0x66, 0x0f, 0x70, 0xc0, 0x50, //0x0000049e pshufd $80, %xmm0, %xmm0 + 0xf3, 0x0f, 0x6f, 0x25, 0x65, 0xfb, 0xff, 0xff, //0x000004a3 movdqu $-1179(%rip), %xmm4 /* LCPI0_1+0(%rip) */ + 0x66, 0x0f, 0xe4, 0xc4, //0x000004ab pmulhuw %xmm4, %xmm0 + 0xf3, 0x0f, 0x6f, 0x2d, 0x69, 0xfb, 0xff, 0xff, //0x000004af movdqu $-1175(%rip), %xmm5 /* LCPI0_2+0(%rip) */ + 0x66, 0x0f, 0xe4, 0xc5, //0x000004b7 pmulhuw %xmm5, %xmm0 + 0xf3, 0x0f, 0x6f, 0x1d, 0x6d, 0xfb, 0xff, 0xff, //0x000004bb movdqu $-1171(%rip), %xmm3 /* LCPI0_3+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xf0, //0x000004c3 movdqa %xmm0, %xmm6 + 0x66, 0x0f, 0xd5, 0xf3, //0x000004c7 pmullw %xmm3, %xmm6 + 0x66, 0x0f, 0x73, 0xf6, 0x10, //0x000004cb psllq $16, %xmm6 + 0x66, 0x0f, 0xf9, 0xc6, //0x000004d0 psubw %xmm6, %xmm0 + 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x000004d4 imull $100000000, %edx, %eax + 0x29, 0xc6, //0x000004da subl %eax, %esi + 0x66, 0x0f, 0x6e, 0xf6, //0x000004dc movd %esi, %xmm6 + 0x66, 0x0f, 0xf4, 0xce, //0x000004e0 pmuludq %xmm6, %xmm1 + 0x66, 0x0f, 0x73, 0xd1, 0x2d, //0x000004e4 psrlq $45, %xmm1 + 0x66, 0x0f, 0xf4, 0xd1, //0x000004e9 pmuludq %xmm1, %xmm2 + 0x66, 0x0f, 0xfa, 0xf2, //0x000004ed psubd %xmm2, %xmm6 + 0x66, 0x0f, 0x61, 0xce, //0x000004f1 punpcklwd %xmm6, %xmm1 + 0x66, 0x0f, 0x73, 0xf1, 0x02, //0x000004f5 psllq $2, %xmm1 + 0xf2, 0x0f, 0x70, 0xc9, 0x50, //0x000004fa pshuflw $80, %xmm1, %xmm1 + 0x66, 0x0f, 0x70, 0xc9, 0x50, //0x000004ff pshufd $80, %xmm1, %xmm1 + 0x66, 0x0f, 0xe4, 0xcc, //0x00000504 pmulhuw %xmm4, %xmm1 + 0x66, 0x0f, 0xe4, 0xcd, //0x00000508 pmulhuw %xmm5, %xmm1 + 0x66, 0x0f, 0xd5, 0xd9, //0x0000050c pmullw %xmm1, %xmm3 + 0x66, 0x0f, 0x73, 0xf3, 0x10, //0x00000510 psllq $16, %xmm3 + 0x66, 0x0f, 0xf9, 0xcb, //0x00000515 psubw %xmm3, %xmm1 + 0x66, 0x0f, 0x67, 0xc1, //0x00000519 packuswb %xmm1, %xmm0 + 0x66, 0x0f, 0xfc, 0x05, 0x1b, 0xfb, 0xff, 0xff, //0x0000051d paddb $-1253(%rip), %xmm0 /* LCPI0_4+0(%rip) */ + 0x89, 0xc8, //0x00000525 movl %ecx, %eax + 0xf3, 0x0f, 0x7f, 0x04, 0x07, //0x00000527 movdqu %xmm0, (%rdi,%rax) + 0x83, 0xc9, 0x10, //0x0000052c orl $16, %ecx + 0x89, 0xc8, //0x0000052f movl %ecx, %eax + 0x5d, //0x00000531 popq %rbp + 0xc3, //0x00000532 retq + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000533 .p2align 4, 0x00 + //0x00000540 _Digits + 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00000540 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607' + 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00000550 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415' + 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x00000560 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223' + 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x00000570 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031' + 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x00000580 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839' + 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x00000590 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647' + 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x000005a0 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455' + 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x000005b0 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263' + 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x000005c0 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071' + 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x000005d0 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879' + 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x000005e0 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687' + 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x000005f0 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495' + 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x00000600 QUAD $0x3939383937393639 // .ascii 8, '96979899' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000608 .p2align 4, 0x00 + //0x00000610 _VecShiftShuffles + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, //0x00000610 QUAD $0x0706050403020100; QUAD $0x0f0e0d0c0b0a0908 // .ascii 16, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, //0x00000620 QUAD $0x0807060504030201; QUAD $0xff0f0e0d0c0b0a09 // .ascii 16, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff' + 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, //0x00000630 QUAD $0x0908070605040302; QUAD $0xffff0f0e0d0c0b0a // .ascii 16, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff' + 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, //0x00000640 QUAD $0x0a09080706050403; QUAD $0xffffff0f0e0d0c0b // .ascii 16, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff' + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, //0x00000650 QUAD $0x0b0a090807060504; QUAD $0xffffffff0f0e0d0c // .ascii 16, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff' + 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000660 QUAD $0x0c0b0a0908070605; QUAD $0xffffffffff0f0e0d // .ascii 16, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff' + 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000670 QUAD $0x0d0c0b0a09080706; QUAD $0xffffffffffff0f0e // .ascii 16, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff' + 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000680 QUAD $0x0e0d0c0b0a090807; QUAD $0xffffffffffffff0f // .ascii 16, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff' + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000690 QUAD $0x0f0e0d0c0b0a0908; QUAD $0xffffffffffffffff // .ascii 16, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/unquote.go b/vendor/github.com/bytedance/sonic/internal/native/sse/unquote.go new file mode 100644 index 0000000..31d4157 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/unquote.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_unquote func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep unsafe.Pointer, flags uint64) (ret int) + +var S_unquote uintptr + +//go:nosplit +func unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int) { + return F_unquote(rt.NoEscape(sp), nb, dp, rt.NoEscape(unsafe.Pointer(ep)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/unquote_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/unquote_subr.go new file mode 100644 index 0000000..fbcebc2 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/unquote_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__unquote = 16 +) + +const ( + _stack__unquote = 88 +) + +const ( + _size__unquote = 2272 +) + +var ( + _pcsp__unquote = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {1684, 88}, + {1688, 48}, + {1689, 40}, + {1691, 32}, + {1693, 24}, + {1695, 16}, + {1697, 8}, + {1698, 0}, + {2270, 88}, + } +) + +var _cfunc_unquote = []loader.CFunc{ + {"_unquote_entry", 0, _entry__unquote, 0, nil}, + {"_unquote", _entry__unquote, _size__unquote, _stack__unquote, _pcsp__unquote}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/unquote_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/unquote_text_amd64.go new file mode 100644 index 0000000..cf7bccf --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/unquote_text_amd64.go @@ -0,0 +1,639 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_unquote = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, // QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000010 .p2align 4, 0x90 + //0x00000010 _unquote + 0x55, //0x00000010 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000011 movq %rsp, %rbp + 0x41, 0x57, //0x00000014 pushq %r15 + 0x41, 0x56, //0x00000016 pushq %r14 + 0x41, 0x55, //0x00000018 pushq %r13 + 0x41, 0x54, //0x0000001a pushq %r12 + 0x53, //0x0000001c pushq %rbx + 0x48, 0x83, 0xec, 0x28, //0x0000001d subq $40, %rsp + 0x48, 0x85, 0xf6, //0x00000021 testq %rsi, %rsi + 0x0f, 0x84, 0x6e, 0x06, 0x00, 0x00, //0x00000024 je LBB0_82 + 0x49, 0x89, 0xf3, //0x0000002a movq %rsi, %r11 + 0x48, 0x89, 0x4d, 0xc8, //0x0000002d movq %rcx, $-56(%rbp) + 0x4c, 0x89, 0xc0, //0x00000031 movq %r8, %rax + 0x4c, 0x89, 0x45, 0xb8, //0x00000034 movq %r8, $-72(%rbp) + 0x45, 0x89, 0xc2, //0x00000038 movl %r8d, %r10d + 0x41, 0x83, 0xe2, 0x01, //0x0000003b andl $1, %r10d + 0x4c, 0x8d, 0x05, 0xaa, 0x08, 0x00, 0x00, //0x0000003f leaq $2218(%rip), %r8 /* __UnquoteTab+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x05, 0xb2, 0xff, 0xff, 0xff, //0x00000046 movdqu $-78(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0x49, 0x89, 0xf9, //0x0000004e movq %rdi, %r9 + 0x49, 0x89, 0xf5, //0x00000051 movq %rsi, %r13 + 0x48, 0x89, 0xd0, //0x00000054 movq %rdx, %rax + //0x00000057 LBB0_2 + 0x41, 0x80, 0x39, 0x5c, //0x00000057 cmpb $92, (%r9) + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x0000005b jne LBB0_4 + 0x31, 0xf6, //0x00000061 xorl %esi, %esi + 0xe9, 0xc8, 0x00, 0x00, 0x00, //0x00000063 jmp LBB0_13 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000068 .p2align 4, 0x90 + //0x00000070 LBB0_4 + 0x4d, 0x89, 0xef, //0x00000070 movq %r13, %r15 + 0x48, 0x89, 0xc6, //0x00000073 movq %rax, %rsi + 0x4d, 0x89, 0xce, //0x00000076 movq %r9, %r14 + 0x49, 0x83, 0xfd, 0x10, //0x00000079 cmpq $16, %r13 + 0x0f, 0x8c, 0x3d, 0x00, 0x00, 0x00, //0x0000007d jl LBB0_7 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000083 .p2align 4, 0x90 + //0x00000090 LBB0_5 + 0xf3, 0x41, 0x0f, 0x6f, 0x0e, //0x00000090 movdqu (%r14), %xmm1 + 0xf3, 0x0f, 0x7f, 0x0e, //0x00000095 movdqu %xmm1, (%rsi) + 0x66, 0x0f, 0x74, 0xc8, //0x00000099 pcmpeqb %xmm0, %xmm1 + 0x66, 0x0f, 0xd7, 0xd9, //0x0000009d pmovmskb %xmm1, %ebx + 0x66, 0x85, 0xdb, //0x000000a1 testw %bx, %bx + 0x0f, 0x85, 0x60, 0x00, 0x00, 0x00, //0x000000a4 jne LBB0_12 + 0x49, 0x83, 0xc6, 0x10, //0x000000aa addq $16, %r14 + 0x48, 0x83, 0xc6, 0x10, //0x000000ae addq $16, %rsi + 0x49, 0x83, 0xff, 0x1f, //0x000000b2 cmpq $31, %r15 + 0x4d, 0x8d, 0x7f, 0xf0, //0x000000b6 leaq $-16(%r15), %r15 + 0x0f, 0x8f, 0xd0, 0xff, 0xff, 0xff, //0x000000ba jg LBB0_5 + //0x000000c0 LBB0_7 + 0x4d, 0x85, 0xff, //0x000000c0 testq %r15, %r15 + 0x0f, 0x84, 0xd5, 0x05, 0x00, 0x00, //0x000000c3 je LBB0_83 + 0x31, 0xdb, //0x000000c9 xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000cb .p2align 4, 0x90 + //0x000000d0 LBB0_9 + 0x41, 0x0f, 0xb6, 0x0c, 0x1e, //0x000000d0 movzbl (%r14,%rbx), %ecx + 0x80, 0xf9, 0x5c, //0x000000d5 cmpb $92, %cl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000000d8 je LBB0_11 + 0x88, 0x0c, 0x1e, //0x000000de movb %cl, (%rsi,%rbx) + 0x48, 0xff, 0xc3, //0x000000e1 incq %rbx + 0x49, 0x39, 0xdf, //0x000000e4 cmpq %rbx, %r15 + 0x0f, 0x85, 0xe3, 0xff, 0xff, 0xff, //0x000000e7 jne LBB0_9 + 0xe9, 0xac, 0x05, 0x00, 0x00, //0x000000ed jmp LBB0_83 + //0x000000f2 LBB0_11 + 0x49, 0x01, 0xde, //0x000000f2 addq %rbx, %r14 + 0x4d, 0x29, 0xce, //0x000000f5 subq %r9, %r14 + 0x4c, 0x89, 0xf6, //0x000000f8 movq %r14, %rsi + 0x48, 0x83, 0xfe, 0xff, //0x000000fb cmpq $-1, %rsi + 0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x000000ff jne LBB0_13 + 0xe9, 0x94, 0x05, 0x00, 0x00, //0x00000105 jmp LBB0_83 + //0x0000010a LBB0_12 + 0x0f, 0xb7, 0xcb, //0x0000010a movzwl %bx, %ecx + 0x4d, 0x29, 0xce, //0x0000010d subq %r9, %r14 + 0x48, 0x0f, 0xbc, 0xf1, //0x00000110 bsfq %rcx, %rsi + 0x4c, 0x01, 0xf6, //0x00000114 addq %r14, %rsi + 0x48, 0x83, 0xfe, 0xff, //0x00000117 cmpq $-1, %rsi + 0x0f, 0x84, 0x7d, 0x05, 0x00, 0x00, //0x0000011b je LBB0_83 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000121 .p2align 4, 0x90 + //0x00000130 LBB0_13 + 0x48, 0x8d, 0x4e, 0x02, //0x00000130 leaq $2(%rsi), %rcx + 0x49, 0x29, 0xcd, //0x00000134 subq %rcx, %r13 + 0x0f, 0x88, 0x2a, 0x06, 0x00, 0x00, //0x00000137 js LBB0_94 + 0x4d, 0x8d, 0x4c, 0x31, 0x02, //0x0000013d leaq $2(%r9,%rsi), %r9 + 0x4d, 0x85, 0xd2, //0x00000142 testq %r10, %r10 + 0x0f, 0x85, 0xe5, 0x03, 0x00, 0x00, //0x00000145 jne LBB0_58 + //0x0000014b LBB0_15 + 0x48, 0x01, 0xf0, //0x0000014b addq %rsi, %rax + 0x41, 0x0f, 0xb6, 0x49, 0xff, //0x0000014e movzbl $-1(%r9), %ecx + 0x42, 0x8a, 0x0c, 0x01, //0x00000153 movb (%rcx,%r8), %cl + 0x80, 0xf9, 0xff, //0x00000157 cmpb $-1, %cl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x0000015a je LBB0_18 + 0x84, 0xc9, //0x00000160 testb %cl, %cl + 0x0f, 0x84, 0x12, 0x06, 0x00, 0x00, //0x00000162 je LBB0_95 + 0x88, 0x08, //0x00000168 movb %cl, (%rax) + 0x48, 0xff, 0xc0, //0x0000016a incq %rax + 0xe9, 0xb0, 0x03, 0x00, 0x00, //0x0000016d jmp LBB0_57 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000172 .p2align 4, 0x90 + //0x00000180 LBB0_18 + 0x49, 0x83, 0xfd, 0x03, //0x00000180 cmpq $3, %r13 + 0x0f, 0x8e, 0xdd, 0x05, 0x00, 0x00, //0x00000184 jle LBB0_94 + 0x41, 0x8b, 0x31, //0x0000018a movl (%r9), %esi + 0x89, 0xf1, //0x0000018d movl %esi, %ecx + 0xf7, 0xd1, //0x0000018f notl %ecx + 0x8d, 0x9e, 0xd0, 0xcf, 0xcf, 0xcf, //0x00000191 leal $-808464432(%rsi), %ebx + 0x81, 0xe1, 0x80, 0x80, 0x80, 0x80, //0x00000197 andl $-2139062144, %ecx + 0x85, 0xd9, //0x0000019d testl %ebx, %ecx + 0x0f, 0x85, 0x0e, 0x05, 0x00, 0x00, //0x0000019f jne LBB0_85 + 0x8d, 0x9e, 0x19, 0x19, 0x19, 0x19, //0x000001a5 leal $421075225(%rsi), %ebx + 0x09, 0xf3, //0x000001ab orl %esi, %ebx + 0xf7, 0xc3, 0x80, 0x80, 0x80, 0x80, //0x000001ad testl $-2139062144, %ebx + 0x0f, 0x85, 0xfa, 0x04, 0x00, 0x00, //0x000001b3 jne LBB0_85 + 0x89, 0xf3, //0x000001b9 movl %esi, %ebx + 0x81, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, //0x000001bb andl $2139062143, %ebx + 0x41, 0xbe, 0xc0, 0xc0, 0xc0, 0xc0, //0x000001c1 movl $-1061109568, %r14d + 0x41, 0x29, 0xde, //0x000001c7 subl %ebx, %r14d + 0x44, 0x8d, 0xbb, 0x46, 0x46, 0x46, 0x46, //0x000001ca leal $1179010630(%rbx), %r15d + 0x41, 0x21, 0xce, //0x000001d1 andl %ecx, %r14d + 0x45, 0x85, 0xfe, //0x000001d4 testl %r15d, %r14d + 0x0f, 0x85, 0xd6, 0x04, 0x00, 0x00, //0x000001d7 jne LBB0_85 + 0x41, 0xbe, 0xe0, 0xe0, 0xe0, 0xe0, //0x000001dd movl $-522133280, %r14d + 0x41, 0x29, 0xde, //0x000001e3 subl %ebx, %r14d + 0x81, 0xc3, 0x39, 0x39, 0x39, 0x39, //0x000001e6 addl $960051513, %ebx + 0x44, 0x21, 0xf1, //0x000001ec andl %r14d, %ecx + 0x85, 0xd9, //0x000001ef testl %ebx, %ecx + 0x0f, 0x85, 0xbc, 0x04, 0x00, 0x00, //0x000001f1 jne LBB0_85 + 0x0f, 0xce, //0x000001f7 bswapl %esi + 0x89, 0xf1, //0x000001f9 movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x000001fb shrl $4, %ecx + 0xf7, 0xd1, //0x000001fe notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00000200 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00000206 leal (%rcx,%rcx,8), %ecx + 0x81, 0xe6, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000209 andl $252645135, %esi + 0x01, 0xce, //0x0000020f addl %ecx, %esi + 0x89, 0xf1, //0x00000211 movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x00000213 shrl $4, %ecx + 0x09, 0xf1, //0x00000216 orl %esi, %ecx + 0x44, 0x0f, 0xb6, 0xf9, //0x00000218 movzbl %cl, %r15d + 0xc1, 0xe9, 0x08, //0x0000021c shrl $8, %ecx + 0x81, 0xe1, 0x00, 0xff, 0x00, 0x00, //0x0000021f andl $65280, %ecx + 0x41, 0x09, 0xcf, //0x00000225 orl %ecx, %r15d + 0x4d, 0x8d, 0x75, 0xfc, //0x00000228 leaq $-4(%r13), %r14 + 0x41, 0x81, 0xff, 0x80, 0x00, 0x00, 0x00, //0x0000022c cmpl $128, %r15d + 0x0f, 0x82, 0x46, 0x03, 0x00, 0x00, //0x00000233 jb LBB0_66 + 0x45, 0x31, 0xe4, //0x00000239 xorl %r12d, %r12d + 0x4d, 0x85, 0xd2, //0x0000023c testq %r10, %r10 + 0x0f, 0x84, 0x5b, 0x01, 0x00, 0x00, //0x0000023f je LBB0_40 + //0x00000245 LBB0_25 + 0x41, 0x81, 0xff, 0x00, 0x08, 0x00, 0x00, //0x00000245 cmpl $2048, %r15d + 0x0f, 0x82, 0x3c, 0x03, 0x00, 0x00, //0x0000024c jb LBB0_68 + 0x44, 0x89, 0xf9, //0x00000252 movl %r15d, %ecx + 0x81, 0xe1, 0x00, 0xf8, 0xff, 0xff, //0x00000255 andl $-2048, %ecx + 0x81, 0xf9, 0x00, 0xd8, 0x00, 0x00, //0x0000025b cmpl $55296, %ecx + 0x0f, 0x85, 0x89, 0x02, 0x00, 0x00, //0x00000261 jne LBB0_54 + 0x4d, 0x85, 0xf6, //0x00000267 testq %r14, %r14 + 0x0f, 0x8e, 0x6b, 0x03, 0x00, 0x00, //0x0000026a jle LBB0_72 + 0x43, 0x80, 0x7c, 0x21, 0x04, 0x5c, //0x00000270 cmpb $92, $4(%r9,%r12) + 0x0f, 0x85, 0x6e, 0x03, 0x00, 0x00, //0x00000276 jne LBB0_73 + 0x41, 0x81, 0xff, 0xff, 0xdb, 0x00, 0x00, //0x0000027c cmpl $56319, %r15d + 0x0f, 0x87, 0x34, 0x03, 0x00, 0x00, //0x00000283 ja LBB0_70 + 0x49, 0x83, 0xfe, 0x07, //0x00000289 cmpq $7, %r14 + 0x0f, 0x8c, 0x2a, 0x03, 0x00, 0x00, //0x0000028d jl LBB0_70 + 0x43, 0x80, 0x7c, 0x21, 0x05, 0x5c, //0x00000293 cmpb $92, $5(%r9,%r12) + 0x0f, 0x85, 0x1e, 0x03, 0x00, 0x00, //0x00000299 jne LBB0_70 + 0x43, 0x80, 0x7c, 0x21, 0x06, 0x75, //0x0000029f cmpb $117, $6(%r9,%r12) + 0x0f, 0x85, 0x12, 0x03, 0x00, 0x00, //0x000002a5 jne LBB0_70 + 0x43, 0x8b, 0x74, 0x21, 0x07, //0x000002ab movl $7(%r9,%r12), %esi + 0x89, 0xf1, //0x000002b0 movl %esi, %ecx + 0xf7, 0xd1, //0x000002b2 notl %ecx + 0x8d, 0x9e, 0xd0, 0xcf, 0xcf, 0xcf, //0x000002b4 leal $-808464432(%rsi), %ebx + 0x81, 0xe1, 0x80, 0x80, 0x80, 0x80, //0x000002ba andl $-2139062144, %ecx + 0x85, 0xd9, //0x000002c0 testl %ebx, %ecx + 0x0f, 0x85, 0xe8, 0x04, 0x00, 0x00, //0x000002c2 jne LBB0_99 + 0x8d, 0x9e, 0x19, 0x19, 0x19, 0x19, //0x000002c8 leal $421075225(%rsi), %ebx + 0x09, 0xf3, //0x000002ce orl %esi, %ebx + 0xf7, 0xc3, 0x80, 0x80, 0x80, 0x80, //0x000002d0 testl $-2139062144, %ebx + 0x0f, 0x85, 0xd4, 0x04, 0x00, 0x00, //0x000002d6 jne LBB0_99 + 0x89, 0xf3, //0x000002dc movl %esi, %ebx + 0x81, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, //0x000002de andl $2139062143, %ebx + 0xc7, 0x45, 0xd4, 0xc0, 0xc0, 0xc0, 0xc0, //0x000002e4 movl $-1061109568, $-44(%rbp) + 0x29, 0x5d, 0xd4, //0x000002eb subl %ebx, $-44(%rbp) + 0x48, 0x89, 0x75, 0xb0, //0x000002ee movq %rsi, $-80(%rbp) + 0x8d, 0xb3, 0x46, 0x46, 0x46, 0x46, //0x000002f2 leal $1179010630(%rbx), %esi + 0x89, 0x75, 0xc4, //0x000002f8 movl %esi, $-60(%rbp) + 0x21, 0x4d, 0xd4, //0x000002fb andl %ecx, $-44(%rbp) + 0x8b, 0x75, 0xc4, //0x000002fe movl $-60(%rbp), %esi + 0x85, 0x75, 0xd4, //0x00000301 testl %esi, $-44(%rbp) + 0x48, 0x8b, 0x75, 0xb0, //0x00000304 movq $-80(%rbp), %rsi + 0x0f, 0x85, 0xa2, 0x04, 0x00, 0x00, //0x00000308 jne LBB0_99 + 0xc7, 0x45, 0xd4, 0xe0, 0xe0, 0xe0, 0xe0, //0x0000030e movl $-522133280, $-44(%rbp) + 0x29, 0x5d, 0xd4, //0x00000315 subl %ebx, $-44(%rbp) + 0x81, 0xc3, 0x39, 0x39, 0x39, 0x39, //0x00000318 addl $960051513, %ebx + 0x23, 0x4d, 0xd4, //0x0000031e andl $-44(%rbp), %ecx + 0x85, 0xd9, //0x00000321 testl %ebx, %ecx + 0x0f, 0x85, 0x87, 0x04, 0x00, 0x00, //0x00000323 jne LBB0_99 + 0x0f, 0xce, //0x00000329 bswapl %esi + 0x89, 0xf1, //0x0000032b movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x0000032d shrl $4, %ecx + 0xf7, 0xd1, //0x00000330 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00000332 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00000338 leal (%rcx,%rcx,8), %ecx + 0x81, 0xe6, 0x0f, 0x0f, 0x0f, 0x0f, //0x0000033b andl $252645135, %esi + 0x01, 0xce, //0x00000341 addl %ecx, %esi + 0x89, 0xf1, //0x00000343 movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x00000345 shrl $4, %ecx + 0x09, 0xf1, //0x00000348 orl %esi, %ecx + 0x89, 0xce, //0x0000034a movl %ecx, %esi + 0xc1, 0xee, 0x08, //0x0000034c shrl $8, %esi + 0x81, 0xe6, 0x00, 0xff, 0x00, 0x00, //0x0000034f andl $65280, %esi + 0x0f, 0xb6, 0xd9, //0x00000355 movzbl %cl, %ebx + 0x09, 0xf3, //0x00000358 orl %esi, %ebx + 0x81, 0xe1, 0x00, 0x00, 0xfc, 0x00, //0x0000035a andl $16515072, %ecx + 0x81, 0xf9, 0x00, 0x00, 0xdc, 0x00, //0x00000360 cmpl $14417920, %ecx + 0x0f, 0x84, 0xac, 0x02, 0x00, 0x00, //0x00000366 je LBB0_77 + 0xf6, 0x45, 0xb8, 0x02, //0x0000036c testb $2, $-72(%rbp) + 0x0f, 0x84, 0x41, 0x05, 0x00, 0x00, //0x00000370 je LBB0_114 + 0x49, 0x83, 0xc6, 0xf9, //0x00000376 addq $-7, %r14 + 0x66, 0xc7, 0x00, 0xef, 0xbf, //0x0000037a movw $-16401, (%rax) + 0xc6, 0x40, 0x02, 0xbd, //0x0000037f movb $-67, $2(%rax) + 0x48, 0x83, 0xc0, 0x03, //0x00000383 addq $3, %rax + 0x49, 0x83, 0xc4, 0x07, //0x00000387 addq $7, %r12 + 0x41, 0x89, 0xdf, //0x0000038b movl %ebx, %r15d + 0x83, 0xfb, 0x7f, //0x0000038e cmpl $127, %ebx + 0x0f, 0x87, 0xae, 0xfe, 0xff, 0xff, //0x00000391 ja LBB0_25 + 0xe9, 0x44, 0x01, 0x00, 0x00, //0x00000397 jmp LBB0_53 + 0x90, 0x90, 0x90, 0x90, //0x0000039c .p2align 4, 0x90 + //0x000003a0 LBB0_40 + 0x41, 0x81, 0xff, 0x00, 0x08, 0x00, 0x00, //0x000003a0 cmpl $2048, %r15d + 0x0f, 0x82, 0xe1, 0x01, 0x00, 0x00, //0x000003a7 jb LBB0_68 + 0x44, 0x89, 0xf9, //0x000003ad movl %r15d, %ecx + 0x81, 0xe1, 0x00, 0xf8, 0xff, 0xff, //0x000003b0 andl $-2048, %ecx + 0x81, 0xf9, 0x00, 0xd8, 0x00, 0x00, //0x000003b6 cmpl $55296, %ecx + 0x0f, 0x85, 0x2e, 0x01, 0x00, 0x00, //0x000003bc jne LBB0_54 + 0x41, 0x81, 0xff, 0xff, 0xdb, 0x00, 0x00, //0x000003c2 cmpl $56319, %r15d + 0x0f, 0x87, 0xe4, 0x01, 0x00, 0x00, //0x000003c9 ja LBB0_69 + 0x49, 0x83, 0xfe, 0x06, //0x000003cf cmpq $6, %r14 + 0x0f, 0x8c, 0xda, 0x01, 0x00, 0x00, //0x000003d3 jl LBB0_69 + 0x43, 0x80, 0x7c, 0x21, 0x04, 0x5c, //0x000003d9 cmpb $92, $4(%r9,%r12) + 0x0f, 0x85, 0xce, 0x01, 0x00, 0x00, //0x000003df jne LBB0_69 + 0x43, 0x80, 0x7c, 0x21, 0x05, 0x75, //0x000003e5 cmpb $117, $5(%r9,%r12) + 0x0f, 0x85, 0xc2, 0x01, 0x00, 0x00, //0x000003eb jne LBB0_69 + 0x43, 0x8b, 0x74, 0x21, 0x06, //0x000003f1 movl $6(%r9,%r12), %esi + 0x89, 0xf1, //0x000003f6 movl %esi, %ecx + 0xf7, 0xd1, //0x000003f8 notl %ecx + 0x8d, 0x9e, 0xd0, 0xcf, 0xcf, 0xcf, //0x000003fa leal $-808464432(%rsi), %ebx + 0x81, 0xe1, 0x80, 0x80, 0x80, 0x80, //0x00000400 andl $-2139062144, %ecx + 0x85, 0xd9, //0x00000406 testl %ebx, %ecx + 0x0f, 0x85, 0x98, 0x03, 0x00, 0x00, //0x00000408 jne LBB0_98 + 0x8d, 0x9e, 0x19, 0x19, 0x19, 0x19, //0x0000040e leal $421075225(%rsi), %ebx + 0x09, 0xf3, //0x00000414 orl %esi, %ebx + 0xf7, 0xc3, 0x80, 0x80, 0x80, 0x80, //0x00000416 testl $-2139062144, %ebx + 0x0f, 0x85, 0x84, 0x03, 0x00, 0x00, //0x0000041c jne LBB0_98 + 0x89, 0xf3, //0x00000422 movl %esi, %ebx + 0x81, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, //0x00000424 andl $2139062143, %ebx + 0xc7, 0x45, 0xd4, 0xc0, 0xc0, 0xc0, 0xc0, //0x0000042a movl $-1061109568, $-44(%rbp) + 0x29, 0x5d, 0xd4, //0x00000431 subl %ebx, $-44(%rbp) + 0x48, 0x89, 0x75, 0xb0, //0x00000434 movq %rsi, $-80(%rbp) + 0x8d, 0xb3, 0x46, 0x46, 0x46, 0x46, //0x00000438 leal $1179010630(%rbx), %esi + 0x89, 0x75, 0xc4, //0x0000043e movl %esi, $-60(%rbp) + 0x21, 0x4d, 0xd4, //0x00000441 andl %ecx, $-44(%rbp) + 0x8b, 0x75, 0xc4, //0x00000444 movl $-60(%rbp), %esi + 0x85, 0x75, 0xd4, //0x00000447 testl %esi, $-44(%rbp) + 0x48, 0x8b, 0x75, 0xb0, //0x0000044a movq $-80(%rbp), %rsi + 0x0f, 0x85, 0x52, 0x03, 0x00, 0x00, //0x0000044e jne LBB0_98 + 0xc7, 0x45, 0xd4, 0xe0, 0xe0, 0xe0, 0xe0, //0x00000454 movl $-522133280, $-44(%rbp) + 0x29, 0x5d, 0xd4, //0x0000045b subl %ebx, $-44(%rbp) + 0x81, 0xc3, 0x39, 0x39, 0x39, 0x39, //0x0000045e addl $960051513, %ebx + 0x23, 0x4d, 0xd4, //0x00000464 andl $-44(%rbp), %ecx + 0x85, 0xd9, //0x00000467 testl %ebx, %ecx + 0x0f, 0x85, 0x37, 0x03, 0x00, 0x00, //0x00000469 jne LBB0_98 + 0x0f, 0xce, //0x0000046f bswapl %esi + 0x89, 0xf1, //0x00000471 movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x00000473 shrl $4, %ecx + 0xf7, 0xd1, //0x00000476 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00000478 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x0000047e leal (%rcx,%rcx,8), %ecx + 0x81, 0xe6, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000481 andl $252645135, %esi + 0x01, 0xce, //0x00000487 addl %ecx, %esi + 0x89, 0xf1, //0x00000489 movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x0000048b shrl $4, %ecx + 0x09, 0xf1, //0x0000048e orl %esi, %ecx + 0x89, 0xce, //0x00000490 movl %ecx, %esi + 0xc1, 0xee, 0x08, //0x00000492 shrl $8, %esi + 0x81, 0xe6, 0x00, 0xff, 0x00, 0x00, //0x00000495 andl $65280, %esi + 0x0f, 0xb6, 0xd9, //0x0000049b movzbl %cl, %ebx + 0x09, 0xf3, //0x0000049e orl %esi, %ebx + 0x81, 0xe1, 0x00, 0x00, 0xfc, 0x00, //0x000004a0 andl $16515072, %ecx + 0x81, 0xf9, 0x00, 0x00, 0xdc, 0x00, //0x000004a6 cmpl $14417920, %ecx + 0x0f, 0x84, 0x55, 0x01, 0x00, 0x00, //0x000004ac je LBB0_76 + 0xf6, 0x45, 0xb8, 0x02, //0x000004b2 testb $2, $-72(%rbp) + 0x0f, 0x84, 0xf1, 0x03, 0x00, 0x00, //0x000004b6 je LBB0_113 + 0x49, 0x83, 0xc6, 0xfa, //0x000004bc addq $-6, %r14 + 0x66, 0xc7, 0x00, 0xef, 0xbf, //0x000004c0 movw $-16401, (%rax) + 0xc6, 0x40, 0x02, 0xbd, //0x000004c5 movb $-67, $2(%rax) + 0x48, 0x83, 0xc0, 0x03, //0x000004c9 addq $3, %rax + 0x49, 0x83, 0xc4, 0x06, //0x000004cd addq $6, %r12 + 0x41, 0x89, 0xdf, //0x000004d1 movl %ebx, %r15d + 0x81, 0xfb, 0x80, 0x00, 0x00, 0x00, //0x000004d4 cmpl $128, %ebx + 0x0f, 0x83, 0xc0, 0xfe, 0xff, 0xff, //0x000004da jae LBB0_40 + //0x000004e0 LBB0_53 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x000004e0 leaq $4(%r9,%r12), %r9 + 0x41, 0x89, 0xdf, //0x000004e5 movl %ebx, %r15d + 0xe9, 0x96, 0x00, 0x00, 0x00, //0x000004e8 jmp LBB0_67 + 0x90, 0x90, 0x90, //0x000004ed .p2align 4, 0x90 + //0x000004f0 LBB0_54 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x000004f0 leaq $4(%r9,%r12), %r9 + 0x44, 0x89, 0xf9, //0x000004f5 movl %r15d, %ecx + 0xc1, 0xe9, 0x0c, //0x000004f8 shrl $12, %ecx + 0x80, 0xc9, 0xe0, //0x000004fb orb $-32, %cl + 0x88, 0x08, //0x000004fe movb %cl, (%rax) + 0x44, 0x89, 0xf9, //0x00000500 movl %r15d, %ecx + 0xc1, 0xe9, 0x06, //0x00000503 shrl $6, %ecx + 0x80, 0xe1, 0x3f, //0x00000506 andb $63, %cl + 0x80, 0xc9, 0x80, //0x00000509 orb $-128, %cl + 0x88, 0x48, 0x01, //0x0000050c movb %cl, $1(%rax) + 0x41, 0x80, 0xe7, 0x3f, //0x0000050f andb $63, %r15b + 0x41, 0x80, 0xcf, 0x80, //0x00000513 orb $-128, %r15b + 0x44, 0x88, 0x78, 0x02, //0x00000517 movb %r15b, $2(%rax) + //0x0000051b LBB0_55 + 0x48, 0x83, 0xc0, 0x03, //0x0000051b addq $3, %rax + //0x0000051f LBB0_56 + 0x4d, 0x89, 0xf5, //0x0000051f movq %r14, %r13 + //0x00000522 LBB0_57 + 0x4d, 0x85, 0xed, //0x00000522 testq %r13, %r13 + 0x0f, 0x85, 0x2c, 0xfb, 0xff, 0xff, //0x00000525 jne LBB0_2 + 0xe9, 0x63, 0x02, 0x00, 0x00, //0x0000052b jmp LBB0_96 + //0x00000530 LBB0_58 + 0x45, 0x85, 0xed, //0x00000530 testl %r13d, %r13d + 0x0f, 0x84, 0x2e, 0x02, 0x00, 0x00, //0x00000533 je LBB0_94 + 0x41, 0x80, 0x79, 0xff, 0x5c, //0x00000539 cmpb $92, $-1(%r9) + 0x0f, 0x85, 0x57, 0x02, 0x00, 0x00, //0x0000053e jne LBB0_97 + 0x41, 0x80, 0x39, 0x5c, //0x00000544 cmpb $92, (%r9) + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x00000548 jne LBB0_65 + 0x41, 0x83, 0xfd, 0x01, //0x0000054e cmpl $1, %r13d + 0x0f, 0x8e, 0x0f, 0x02, 0x00, 0x00, //0x00000552 jle LBB0_94 + 0x41, 0x8a, 0x49, 0x01, //0x00000558 movb $1(%r9), %cl + 0x80, 0xf9, 0x22, //0x0000055c cmpb $34, %cl + 0x0f, 0x84, 0x09, 0x00, 0x00, 0x00, //0x0000055f je LBB0_64 + 0x80, 0xf9, 0x5c, //0x00000565 cmpb $92, %cl + 0x0f, 0x85, 0x0c, 0x03, 0x00, 0x00, //0x00000568 jne LBB0_109 + //0x0000056e LBB0_64 + 0x49, 0xff, 0xc1, //0x0000056e incq %r9 + 0x49, 0xff, 0xcd, //0x00000571 decq %r13 + //0x00000574 LBB0_65 + 0x49, 0xff, 0xc1, //0x00000574 incq %r9 + 0x49, 0xff, 0xcd, //0x00000577 decq %r13 + 0xe9, 0xcc, 0xfb, 0xff, 0xff, //0x0000057a jmp LBB0_15 + //0x0000057f LBB0_66 + 0x49, 0x83, 0xc1, 0x04, //0x0000057f addq $4, %r9 + //0x00000583 LBB0_67 + 0x44, 0x88, 0x38, //0x00000583 movb %r15b, (%rax) + 0x48, 0xff, 0xc0, //0x00000586 incq %rax + 0xe9, 0x91, 0xff, 0xff, 0xff, //0x00000589 jmp LBB0_56 + //0x0000058e LBB0_68 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x0000058e leaq $4(%r9,%r12), %r9 + 0x44, 0x89, 0xf9, //0x00000593 movl %r15d, %ecx + 0xc1, 0xe9, 0x06, //0x00000596 shrl $6, %ecx + 0x80, 0xc9, 0xc0, //0x00000599 orb $-64, %cl + 0x88, 0x08, //0x0000059c movb %cl, (%rax) + 0x41, 0x80, 0xe7, 0x3f, //0x0000059e andb $63, %r15b + 0x41, 0x80, 0xcf, 0x80, //0x000005a2 orb $-128, %r15b + 0x44, 0x88, 0x78, 0x01, //0x000005a6 movb %r15b, $1(%rax) + 0x48, 0x83, 0xc0, 0x02, //0x000005aa addq $2, %rax + 0xe9, 0x6c, 0xff, 0xff, 0xff, //0x000005ae jmp LBB0_56 + //0x000005b3 LBB0_69 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x000005b3 leaq $4(%r9,%r12), %r9 + 0xe9, 0x0f, 0x00, 0x00, 0x00, //0x000005b8 jmp LBB0_71 + //0x000005bd LBB0_70 + 0x4f, 0x8d, 0x4c, 0x21, 0x05, //0x000005bd leaq $5(%r9,%r12), %r9 + 0x4d, 0x29, 0xe5, //0x000005c2 subq %r12, %r13 + 0x49, 0x83, 0xc5, 0xfb, //0x000005c5 addq $-5, %r13 + 0x4d, 0x89, 0xee, //0x000005c9 movq %r13, %r14 + //0x000005cc LBB0_71 + 0xf6, 0x45, 0xb8, 0x02, //0x000005cc testb $2, $-72(%rbp) + 0x0f, 0x85, 0x23, 0x00, 0x00, 0x00, //0x000005d0 jne LBB0_75 + 0xe9, 0xfb, 0x02, 0x00, 0x00, //0x000005d6 jmp LBB0_116 + //0x000005db LBB0_72 + 0xf6, 0x45, 0xb8, 0x02, //0x000005db testb $2, $-72(%rbp) + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x000005df jne LBB0_74 + 0xe9, 0x7d, 0x01, 0x00, 0x00, //0x000005e5 jmp LBB0_94 + //0x000005ea LBB0_73 + 0xf6, 0x45, 0xb8, 0x02, //0x000005ea testb $2, $-72(%rbp) + 0x0f, 0x84, 0xef, 0x02, 0x00, 0x00, //0x000005ee je LBB0_117 + //0x000005f4 LBB0_74 + 0x4f, 0x8d, 0x4c, 0x21, 0x04, //0x000005f4 leaq $4(%r9,%r12), %r9 + //0x000005f9 LBB0_75 + 0x66, 0xc7, 0x00, 0xef, 0xbf, //0x000005f9 movw $-16401, (%rax) + 0xc6, 0x40, 0x02, 0xbd, //0x000005fe movb $-67, $2(%rax) + 0xe9, 0x14, 0xff, 0xff, 0xff, //0x00000602 jmp LBB0_55 + //0x00000607 LBB0_76 + 0x4f, 0x8d, 0x4c, 0x21, 0x0a, //0x00000607 leaq $10(%r9,%r12), %r9 + 0x4d, 0x29, 0xe5, //0x0000060c subq %r12, %r13 + 0x49, 0x83, 0xc5, 0xf6, //0x0000060f addq $-10, %r13 + 0xe9, 0x0c, 0x00, 0x00, 0x00, //0x00000613 jmp LBB0_78 + //0x00000618 LBB0_77 + 0x4f, 0x8d, 0x4c, 0x21, 0x0b, //0x00000618 leaq $11(%r9,%r12), %r9 + 0x4d, 0x29, 0xe5, //0x0000061d subq %r12, %r13 + 0x49, 0x83, 0xc5, 0xf5, //0x00000620 addq $-11, %r13 + //0x00000624 LBB0_78 + 0x41, 0xc1, 0xe7, 0x0a, //0x00000624 shll $10, %r15d + 0x41, 0x8d, 0x8c, 0x1f, 0x00, 0x24, 0xa0, 0xfc, //0x00000628 leal $-56613888(%r15,%rbx), %ecx + 0x81, 0xf9, 0x00, 0x00, 0x11, 0x00, //0x00000630 cmpl $1114112, %ecx + 0x0f, 0x82, 0x1c, 0x00, 0x00, 0x00, //0x00000636 jb LBB0_81 + 0xf6, 0x45, 0xb8, 0x02, //0x0000063c testb $2, $-72(%rbp) + 0x0f, 0x84, 0x4d, 0x02, 0x00, 0x00, //0x00000640 je LBB0_111 + 0x66, 0xc7, 0x00, 0xef, 0xbf, //0x00000646 movw $-16401, (%rax) + 0xc6, 0x40, 0x02, 0xbd, //0x0000064b movb $-67, $2(%rax) + 0x48, 0x83, 0xc0, 0x03, //0x0000064f addq $3, %rax + 0xe9, 0xca, 0xfe, 0xff, 0xff, //0x00000653 jmp LBB0_57 + //0x00000658 LBB0_81 + 0x89, 0xce, //0x00000658 movl %ecx, %esi + 0xc1, 0xee, 0x12, //0x0000065a shrl $18, %esi + 0x40, 0x80, 0xce, 0xf0, //0x0000065d orb $-16, %sil + 0x40, 0x88, 0x30, //0x00000661 movb %sil, (%rax) + 0x89, 0xce, //0x00000664 movl %ecx, %esi + 0xc1, 0xee, 0x0c, //0x00000666 shrl $12, %esi + 0x40, 0x80, 0xe6, 0x3f, //0x00000669 andb $63, %sil + 0x40, 0x80, 0xce, 0x80, //0x0000066d orb $-128, %sil + 0x40, 0x88, 0x70, 0x01, //0x00000671 movb %sil, $1(%rax) + 0x89, 0xce, //0x00000675 movl %ecx, %esi + 0xc1, 0xee, 0x06, //0x00000677 shrl $6, %esi + 0x40, 0x80, 0xe6, 0x3f, //0x0000067a andb $63, %sil + 0x40, 0x80, 0xce, 0x80, //0x0000067e orb $-128, %sil + 0x40, 0x88, 0x70, 0x02, //0x00000682 movb %sil, $2(%rax) + 0x80, 0xe1, 0x3f, //0x00000686 andb $63, %cl + 0x80, 0xc9, 0x80, //0x00000689 orb $-128, %cl + 0x88, 0x48, 0x03, //0x0000068c movb %cl, $3(%rax) + 0x48, 0x83, 0xc0, 0x04, //0x0000068f addq $4, %rax + 0xe9, 0x8a, 0xfe, 0xff, 0xff, //0x00000693 jmp LBB0_57 + //0x00000698 LBB0_82 + 0x45, 0x31, 0xed, //0x00000698 xorl %r13d, %r13d + 0x48, 0x89, 0xd0, //0x0000069b movq %rdx, %rax + //0x0000069e LBB0_83 + 0x4c, 0x01, 0xe8, //0x0000069e addq %r13, %rax + 0x48, 0x29, 0xd0, //0x000006a1 subq %rdx, %rax + //0x000006a4 LBB0_84 + 0x48, 0x83, 0xc4, 0x28, //0x000006a4 addq $40, %rsp + 0x5b, //0x000006a8 popq %rbx + 0x41, 0x5c, //0x000006a9 popq %r12 + 0x41, 0x5d, //0x000006ab popq %r13 + 0x41, 0x5e, //0x000006ad popq %r14 + 0x41, 0x5f, //0x000006af popq %r15 + 0x5d, //0x000006b1 popq %rbp + 0xc3, //0x000006b2 retq + //0x000006b3 LBB0_85 + 0x4c, 0x89, 0xca, //0x000006b3 movq %r9, %rdx + 0x48, 0x29, 0xfa, //0x000006b6 subq %rdi, %rdx + 0x48, 0x8b, 0x7d, 0xc8, //0x000006b9 movq $-56(%rbp), %rdi + 0x48, 0x89, 0x17, //0x000006bd movq %rdx, (%rdi) + 0x41, 0x8a, 0x09, //0x000006c0 movb (%r9), %cl + 0x8d, 0x71, 0xd0, //0x000006c3 leal $-48(%rcx), %esi + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000006c6 movq $-2, %rax + 0x40, 0x80, 0xfe, 0x0a, //0x000006cd cmpb $10, %sil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x000006d1 jb LBB0_87 + 0x80, 0xe1, 0xdf, //0x000006d7 andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x000006da addb $-65, %cl + 0x80, 0xf9, 0x05, //0x000006dd cmpb $5, %cl + 0x0f, 0x87, 0xbe, 0xff, 0xff, 0xff, //0x000006e0 ja LBB0_84 + //0x000006e6 LBB0_87 + 0x48, 0x8d, 0x4a, 0x01, //0x000006e6 leaq $1(%rdx), %rcx + 0x48, 0x89, 0x0f, //0x000006ea movq %rcx, (%rdi) + 0x41, 0x8a, 0x49, 0x01, //0x000006ed movb $1(%r9), %cl + 0x8d, 0x71, 0xd0, //0x000006f1 leal $-48(%rcx), %esi + 0x40, 0x80, 0xfe, 0x0a, //0x000006f4 cmpb $10, %sil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x000006f8 jb LBB0_89 + 0x80, 0xe1, 0xdf, //0x000006fe andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x00000701 addb $-65, %cl + 0x80, 0xf9, 0x05, //0x00000704 cmpb $5, %cl + 0x0f, 0x87, 0x97, 0xff, 0xff, 0xff, //0x00000707 ja LBB0_84 + //0x0000070d LBB0_89 + 0x48, 0x8d, 0x4a, 0x02, //0x0000070d leaq $2(%rdx), %rcx + 0x48, 0x89, 0x0f, //0x00000711 movq %rcx, (%rdi) + 0x41, 0x8a, 0x49, 0x02, //0x00000714 movb $2(%r9), %cl + 0x8d, 0x71, 0xd0, //0x00000718 leal $-48(%rcx), %esi + 0x40, 0x80, 0xfe, 0x0a, //0x0000071b cmpb $10, %sil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x0000071f jb LBB0_91 + 0x80, 0xe1, 0xdf, //0x00000725 andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x00000728 addb $-65, %cl + 0x80, 0xf9, 0x05, //0x0000072b cmpb $5, %cl + 0x0f, 0x87, 0x70, 0xff, 0xff, 0xff, //0x0000072e ja LBB0_84 + //0x00000734 LBB0_91 + 0x48, 0x8d, 0x4a, 0x03, //0x00000734 leaq $3(%rdx), %rcx + 0x48, 0x89, 0x0f, //0x00000738 movq %rcx, (%rdi) + 0x41, 0x8a, 0x49, 0x03, //0x0000073b movb $3(%r9), %cl + 0x8d, 0x71, 0xd0, //0x0000073f leal $-48(%rcx), %esi + 0x40, 0x80, 0xfe, 0x0a, //0x00000742 cmpb $10, %sil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x00000746 jb LBB0_93 + 0x80, 0xe1, 0xdf, //0x0000074c andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x0000074f addb $-65, %cl + 0x80, 0xf9, 0x05, //0x00000752 cmpb $5, %cl + 0x0f, 0x87, 0x49, 0xff, 0xff, 0xff, //0x00000755 ja LBB0_84 + //0x0000075b LBB0_93 + 0x48, 0x83, 0xc2, 0x04, //0x0000075b addq $4, %rdx + 0x48, 0x89, 0x17, //0x0000075f movq %rdx, (%rdi) + 0xe9, 0x3d, 0xff, 0xff, 0xff, //0x00000762 jmp LBB0_84 + //0x00000767 LBB0_94 + 0x48, 0x8b, 0x45, 0xc8, //0x00000767 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x18, //0x0000076b movq %r11, (%rax) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000076e movq $-1, %rax + 0xe9, 0x2a, 0xff, 0xff, 0xff, //0x00000775 jmp LBB0_84 + //0x0000077a LBB0_95 + 0x48, 0xf7, 0xd7, //0x0000077a notq %rdi + 0x49, 0x01, 0xf9, //0x0000077d addq %rdi, %r9 + 0x48, 0x8b, 0x45, 0xc8, //0x00000780 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x00000784 movq %r9, (%rax) + 0x48, 0xc7, 0xc0, 0xfd, 0xff, 0xff, 0xff, //0x00000787 movq $-3, %rax + 0xe9, 0x11, 0xff, 0xff, 0xff, //0x0000078e jmp LBB0_84 + //0x00000793 LBB0_96 + 0x45, 0x31, 0xed, //0x00000793 xorl %r13d, %r13d + 0xe9, 0x03, 0xff, 0xff, 0xff, //0x00000796 jmp LBB0_83 + //0x0000079b LBB0_97 + 0x48, 0xf7, 0xd7, //0x0000079b notq %rdi + 0x49, 0x01, 0xf9, //0x0000079e addq %rdi, %r9 + 0xe9, 0xda, 0x00, 0x00, 0x00, //0x000007a1 jmp LBB0_110 + //0x000007a6 LBB0_98 + 0x4b, 0x8d, 0x74, 0x21, 0x04, //0x000007a6 leaq $4(%r9,%r12), %rsi + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x000007ab jmp LBB0_100 + //0x000007b0 LBB0_99 + 0x4b, 0x8d, 0x74, 0x21, 0x05, //0x000007b0 leaq $5(%r9,%r12), %rsi + //0x000007b5 LBB0_100 + 0x48, 0x89, 0xf2, //0x000007b5 movq %rsi, %rdx + 0x48, 0x29, 0xfa, //0x000007b8 subq %rdi, %rdx + 0x48, 0x83, 0xc2, 0x02, //0x000007bb addq $2, %rdx + 0x48, 0x8b, 0x45, 0xc8, //0x000007bf movq $-56(%rbp), %rax + 0x48, 0x89, 0x10, //0x000007c3 movq %rdx, (%rax) + 0x8a, 0x4e, 0x02, //0x000007c6 movb $2(%rsi), %cl + 0x8d, 0x79, 0xd0, //0x000007c9 leal $-48(%rcx), %edi + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000007cc movq $-2, %rax + 0x40, 0x80, 0xff, 0x0a, //0x000007d3 cmpb $10, %dil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x000007d7 jb LBB0_102 + 0x80, 0xe1, 0xdf, //0x000007dd andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x000007e0 addb $-65, %cl + 0x80, 0xf9, 0x05, //0x000007e3 cmpb $5, %cl + 0x0f, 0x87, 0xb8, 0xfe, 0xff, 0xff, //0x000007e6 ja LBB0_84 + //0x000007ec LBB0_102 + 0x48, 0x8d, 0x4a, 0x01, //0x000007ec leaq $1(%rdx), %rcx + 0x48, 0x8b, 0x7d, 0xc8, //0x000007f0 movq $-56(%rbp), %rdi + 0x48, 0x89, 0x0f, //0x000007f4 movq %rcx, (%rdi) + 0x8a, 0x4e, 0x03, //0x000007f7 movb $3(%rsi), %cl + 0x8d, 0x79, 0xd0, //0x000007fa leal $-48(%rcx), %edi + 0x40, 0x80, 0xff, 0x0a, //0x000007fd cmpb $10, %dil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x00000801 jb LBB0_104 + 0x80, 0xe1, 0xdf, //0x00000807 andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x0000080a addb $-65, %cl + 0x80, 0xf9, 0x05, //0x0000080d cmpb $5, %cl + 0x0f, 0x87, 0x8e, 0xfe, 0xff, 0xff, //0x00000810 ja LBB0_84 + //0x00000816 LBB0_104 + 0x48, 0x8d, 0x4a, 0x02, //0x00000816 leaq $2(%rdx), %rcx + 0x48, 0x8b, 0x7d, 0xc8, //0x0000081a movq $-56(%rbp), %rdi + 0x48, 0x89, 0x0f, //0x0000081e movq %rcx, (%rdi) + 0x8a, 0x4e, 0x04, //0x00000821 movb $4(%rsi), %cl + 0x8d, 0x79, 0xd0, //0x00000824 leal $-48(%rcx), %edi + 0x40, 0x80, 0xff, 0x0a, //0x00000827 cmpb $10, %dil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x0000082b jb LBB0_106 + 0x80, 0xe1, 0xdf, //0x00000831 andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x00000834 addb $-65, %cl + 0x80, 0xf9, 0x05, //0x00000837 cmpb $5, %cl + 0x0f, 0x87, 0x64, 0xfe, 0xff, 0xff, //0x0000083a ja LBB0_84 + //0x00000840 LBB0_106 + 0x48, 0x8d, 0x4a, 0x03, //0x00000840 leaq $3(%rdx), %rcx + 0x48, 0x8b, 0x7d, 0xc8, //0x00000844 movq $-56(%rbp), %rdi + 0x48, 0x89, 0x0f, //0x00000848 movq %rcx, (%rdi) + 0x8a, 0x4e, 0x05, //0x0000084b movb $5(%rsi), %cl + 0x8d, 0x71, 0xd0, //0x0000084e leal $-48(%rcx), %esi + 0x40, 0x80, 0xfe, 0x0a, //0x00000851 cmpb $10, %sil + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x00000855 jb LBB0_108 + 0x80, 0xe1, 0xdf, //0x0000085b andb $-33, %cl + 0x80, 0xc1, 0xbf, //0x0000085e addb $-65, %cl + 0x80, 0xf9, 0x05, //0x00000861 cmpb $5, %cl + 0x0f, 0x87, 0x3a, 0xfe, 0xff, 0xff, //0x00000864 ja LBB0_84 + //0x0000086a LBB0_108 + 0x48, 0x83, 0xc2, 0x04, //0x0000086a addq $4, %rdx + 0x48, 0x8b, 0x4d, 0xc8, //0x0000086e movq $-56(%rbp), %rcx + 0x48, 0x89, 0x11, //0x00000872 movq %rdx, (%rcx) + 0xe9, 0x2a, 0xfe, 0xff, 0xff, //0x00000875 jmp LBB0_84 + //0x0000087a LBB0_109 + 0x49, 0x29, 0xf9, //0x0000087a subq %rdi, %r9 + 0x49, 0xff, 0xc1, //0x0000087d incq %r9 + //0x00000880 LBB0_110 + 0x48, 0x8b, 0x45, 0xc8, //0x00000880 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x00000884 movq %r9, (%rax) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000887 movq $-2, %rax + 0xe9, 0x11, 0xfe, 0xff, 0xff, //0x0000088e jmp LBB0_84 + //0x00000893 LBB0_111 + 0x49, 0x29, 0xf9, //0x00000893 subq %rdi, %r9 + 0x49, 0x83, 0xc1, 0xfc, //0x00000896 addq $-4, %r9 + //0x0000089a LBB0_112 + 0x48, 0x8b, 0x45, 0xc8, //0x0000089a movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x0000089e movq %r9, (%rax) + 0x48, 0xc7, 0xc0, 0xfc, 0xff, 0xff, 0xff, //0x000008a1 movq $-4, %rax + 0xe9, 0xf7, 0xfd, 0xff, 0xff, //0x000008a8 jmp LBB0_84 + //0x000008ad LBB0_113 + 0x4b, 0x8d, 0x44, 0x21, 0x0a, //0x000008ad leaq $10(%r9,%r12), %rax + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x000008b2 jmp LBB0_115 + //0x000008b7 LBB0_114 + 0x4b, 0x8d, 0x44, 0x21, 0x0b, //0x000008b7 leaq $11(%r9,%r12), %rax + //0x000008bc LBB0_115 + 0x48, 0x29, 0xf8, //0x000008bc subq %rdi, %rax + 0x48, 0x83, 0xc0, 0xfc, //0x000008bf addq $-4, %rax + 0x48, 0x8b, 0x4d, 0xc8, //0x000008c3 movq $-56(%rbp), %rcx + 0x48, 0x89, 0x01, //0x000008c7 movq %rax, (%rcx) + 0x48, 0xc7, 0xc0, 0xfc, 0xff, 0xff, 0xff, //0x000008ca movq $-4, %rax + 0xe9, 0xce, 0xfd, 0xff, 0xff, //0x000008d1 jmp LBB0_84 + //0x000008d6 LBB0_116 + 0x49, 0x8d, 0x44, 0x3a, 0x04, //0x000008d6 leaq $4(%r10,%rdi), %rax + 0x49, 0x29, 0xc1, //0x000008db subq %rax, %r9 + 0xe9, 0xb7, 0xff, 0xff, 0xff, //0x000008de jmp LBB0_112 + //0x000008e3 LBB0_117 + 0x4d, 0x01, 0xe1, //0x000008e3 addq %r12, %r9 + 0x49, 0x29, 0xf9, //0x000008e6 subq %rdi, %r9 + 0xe9, 0xac, 0xff, 0xff, 0xff, //0x000008e9 jmp LBB0_112 + 0x00, 0x00, //0x000008ee .p2align 4, 0x00 + //0x000008f0 __UnquoteTab + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000008f0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000900 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, //0x00000910 QUAD $0x0000000000220000; QUAD $0x2f00000000000000 // .ascii 16, '\x00\x00"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000920 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000930 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, //0x00000940 QUAD $0x0000000000000000; QUAD $0x0000005c00000000 // .ascii 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00\x00\x00' + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, //0x00000950 QUAD $0x000c000000080000; QUAD $0x000a000000000000 // .ascii 16, '\x00\x00\x08\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\n\x00' + 0x00, 0x00, 0x0d, 0x00, 0x09, 0xff, //0x00000960 LONG $0x000d0000; WORD $0xff09 // .ascii 6, '\x00\x00\r\x00\t\xff' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000966 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000976 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000986 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00000996 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009a6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009b6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009c6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009d6 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000009e6 QUAD $0x0000000000000000; WORD $0x0000 // .space 10, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/validate_one.go b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_one.go new file mode 100644 index 0000000..44e93f5 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_one.go @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_validate_one func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_validate_one uintptr + +//go:nosplit +func validate_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_validate_one(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/validate_one_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_one_subr.go new file mode 100644 index 0000000..d43bb9d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_one_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__validate_one = 144 +) + +const ( + _stack__validate_one = 160 +) + +const ( + _size__validate_one = 10216 +) + +var ( + _pcsp__validate_one = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {9556, 160}, + {9560, 48}, + {9561, 40}, + {9563, 32}, + {9565, 24}, + {9567, 16}, + {9569, 8}, + {9570, 0}, + {10216, 160}, + } +) + +var _cfunc_validate_one = []loader.CFunc{ + {"_validate_one_entry", 0, _entry__validate_one, 0, nil}, + {"_validate_one", _entry__validate_one, _size__validate_one, _stack__validate_one, _pcsp__validate_one}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/validate_one_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_one_text_amd64.go new file mode 100644 index 0000000..ec4d91b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_one_text_amd64.go @@ -0,0 +1,3018 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_validate_one = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, // QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000010 LCPI0_1 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000010 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000020 LCPI0_2 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000020 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000030 LCPI0_3 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000030 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000040 LCPI0_4 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000040 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000050 LCPI0_5 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000050 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000060 LCPI0_6 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000060 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000070 LCPI0_7 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000070 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000080 LCPI0_8 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000080 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000090 .p2align 4, 0x90 + //0x00000090 _validate_one + 0x55, //0x00000090 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000091 movq %rsp, %rbp + 0x41, 0x57, //0x00000094 pushq %r15 + 0x41, 0x56, //0x00000096 pushq %r14 + 0x41, 0x55, //0x00000098 pushq %r13 + 0x41, 0x54, //0x0000009a pushq %r12 + 0x53, //0x0000009c pushq %rbx + 0x48, 0x83, 0xec, 0x70, //0x0000009d subq $112, %rsp + 0x48, 0x89, 0x4d, 0x80, //0x000000a1 movq %rcx, $-128(%rbp) + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000000a5 movl $1, %r11d + 0x66, 0x49, 0x0f, 0x6e, 0xc3, //0x000000ab movq %r11, %xmm0 + 0x48, 0x89, 0x55, 0x88, //0x000000b0 movq %rdx, $-120(%rbp) + 0xf3, 0x0f, 0x7f, 0x02, //0x000000b4 movdqu %xmm0, (%rdx) + 0x48, 0x89, 0x7d, 0x98, //0x000000b8 movq %rdi, $-104(%rbp) + 0x4c, 0x8b, 0x0f, //0x000000bc movq (%rdi), %r9 + 0x4c, 0x89, 0xc8, //0x000000bf movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000000c2 notq %rax + 0x48, 0x89, 0x45, 0xa8, //0x000000c5 movq %rax, $-88(%rbp) + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000000c9 movl $1, %eax + 0x4c, 0x29, 0xc8, //0x000000ce subq %r9, %rax + 0x48, 0x89, 0x45, 0xa0, //0x000000d1 movq %rax, $-96(%rbp) + 0x49, 0x8d, 0x41, 0x40, //0x000000d5 leaq $64(%r9), %rax + 0x48, 0x89, 0x45, 0x90, //0x000000d9 movq %rax, $-112(%rbp) + 0x48, 0x8b, 0x06, //0x000000dd movq (%rsi), %rax + 0x48, 0x89, 0x45, 0xc0, //0x000000e0 movq %rax, $-64(%rbp) + 0x49, 0x8d, 0x41, 0x05, //0x000000e4 leaq $5(%r9), %rax + 0x48, 0x89, 0x85, 0x68, 0xff, 0xff, 0xff, //0x000000e8 movq %rax, $-152(%rbp) + 0x48, 0xc7, 0x85, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x000000ef movq $-1, $-136(%rbp) + 0xf3, 0x0f, 0x6f, 0x05, 0xfe, 0xfe, 0xff, 0xff, //0x000000fa movdqu $-258(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x06, 0xff, 0xff, 0xff, //0x00000102 movdqu $-250(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x15, 0x0e, 0xff, 0xff, 0xff, //0x0000010a movdqu $-242(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0x66, 0x45, 0x0f, 0x76, 0xf6, //0x00000112 pcmpeqd %xmm14, %xmm14 + 0xf3, 0x44, 0x0f, 0x6f, 0x05, 0x10, 0xff, 0xff, 0xff, //0x00000117 movdqu $-240(%rip), %xmm8 /* LCPI0_3+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x2d, 0x17, 0xff, 0xff, 0xff, //0x00000120 movdqu $-233(%rip), %xmm13 /* LCPI0_4+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x0d, 0x1e, 0xff, 0xff, 0xff, //0x00000129 movdqu $-226(%rip), %xmm9 /* LCPI0_5+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x15, 0x25, 0xff, 0xff, 0xff, //0x00000132 movdqu $-219(%rip), %xmm10 /* LCPI0_6+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x1d, 0x2c, 0xff, 0xff, 0xff, //0x0000013b movdqu $-212(%rip), %xmm11 /* LCPI0_7+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x25, 0x33, 0xff, 0xff, 0xff, //0x00000144 movdqu $-205(%rip), %xmm12 /* LCPI0_8+0(%rip) */ + 0x48, 0x89, 0x75, 0xc8, //0x0000014d movq %rsi, $-56(%rbp) + 0x4c, 0x89, 0x4d, 0xd0, //0x00000151 movq %r9, $-48(%rbp) + 0xe9, 0x48, 0x00, 0x00, 0x00, //0x00000155 jmp LBB0_6 + //0x0000015a LBB0_1 + 0x48, 0x8b, 0x55, 0x88, //0x0000015a movq $-120(%rbp), %rdx + 0x48, 0x8b, 0x02, //0x0000015e movq (%rdx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x00000161 cmpq $4095, %rax + 0x0f, 0x8f, 0x33, 0x24, 0x00, 0x00, //0x00000167 jg LBB0_439 + 0x48, 0x8d, 0x48, 0x01, //0x0000016d leaq $1(%rax), %rcx + 0x48, 0x89, 0x0a, //0x00000171 movq %rcx, (%rdx) + 0x48, 0xc7, 0x44, 0xc2, 0x08, 0x06, 0x00, 0x00, 0x00, //0x00000174 movq $6, $8(%rdx,%rax,8) + 0x90, 0x90, 0x90, //0x0000017d .p2align 4, 0x90 + //0x00000180 LBB0_3 + 0x4c, 0x8b, 0x5d, 0xc0, //0x00000180 movq $-64(%rbp), %r11 + //0x00000184 LBB0_4 + 0x48, 0x8b, 0x45, 0x88, //0x00000184 movq $-120(%rbp), %rax + 0x48, 0x8b, 0x10, //0x00000188 movq (%rax), %rdx + 0x4c, 0x89, 0x5d, 0xc0, //0x0000018b movq %r11, $-64(%rbp) + 0x49, 0x89, 0xd3, //0x0000018f movq %rdx, %r11 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x00000192 movq $-136(%rbp), %rax + 0x48, 0x85, 0xd2, //0x00000199 testq %rdx, %rdx + 0x0f, 0x84, 0x42, 0x24, 0x00, 0x00, //0x0000019c je LBB0_427 + //0x000001a2 LBB0_6 + 0x48, 0x8b, 0x45, 0x98, //0x000001a2 movq $-104(%rbp), %rax + 0x48, 0x8b, 0x40, 0x08, //0x000001a6 movq $8(%rax), %rax + 0x48, 0x8b, 0x4d, 0xc0, //0x000001aa movq $-64(%rbp), %rcx + 0x48, 0x89, 0xcb, //0x000001ae movq %rcx, %rbx + 0x48, 0x29, 0xc3, //0x000001b1 subq %rax, %rbx + 0x0f, 0x83, 0x36, 0x00, 0x00, 0x00, //0x000001b4 jae LBB0_11 + 0x41, 0x8a, 0x14, 0x09, //0x000001ba movb (%r9,%rcx), %dl + 0x80, 0xfa, 0x0d, //0x000001be cmpb $13, %dl + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000001c1 je LBB0_11 + 0x80, 0xfa, 0x20, //0x000001c7 cmpb $32, %dl + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x000001ca je LBB0_11 + 0x80, 0xc2, 0xf7, //0x000001d0 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x000001d3 cmpb $1, %dl + 0x0f, 0x86, 0x14, 0x00, 0x00, 0x00, //0x000001d6 jbe LBB0_11 + 0x49, 0x89, 0xcf, //0x000001dc movq %rcx, %r15 + 0x4c, 0x8b, 0x55, 0x88, //0x000001df movq $-120(%rbp), %r10 + 0xe9, 0x45, 0x01, 0x00, 0x00, //0x000001e3 jmp LBB0_32 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001e8 .p2align 4, 0x90 + //0x000001f0 LBB0_11 + 0x4c, 0x8d, 0x79, 0x01, //0x000001f0 leaq $1(%rcx), %r15 + 0x49, 0x39, 0xc7, //0x000001f4 cmpq %rax, %r15 + 0x4c, 0x8b, 0x55, 0x88, //0x000001f7 movq $-120(%rbp), %r10 + 0x0f, 0x83, 0x2f, 0x00, 0x00, 0x00, //0x000001fb jae LBB0_15 + 0x43, 0x8a, 0x14, 0x39, //0x00000201 movb (%r9,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000205 cmpb $13, %dl + 0x0f, 0x84, 0x22, 0x00, 0x00, 0x00, //0x00000208 je LBB0_15 + 0x80, 0xfa, 0x20, //0x0000020e cmpb $32, %dl + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000211 je LBB0_15 + 0x80, 0xc2, 0xf7, //0x00000217 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x0000021a cmpb $1, %dl + 0x0f, 0x87, 0x0a, 0x01, 0x00, 0x00, //0x0000021d ja LBB0_32 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000223 .p2align 4, 0x90 + //0x00000230 LBB0_15 + 0x4c, 0x8d, 0x79, 0x02, //0x00000230 leaq $2(%rcx), %r15 + 0x49, 0x39, 0xc7, //0x00000234 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000237 jae LBB0_19 + 0x43, 0x8a, 0x14, 0x39, //0x0000023d movb (%r9,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000241 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000244 je LBB0_19 + 0x80, 0xfa, 0x20, //0x0000024a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000024d je LBB0_19 + 0x80, 0xc2, 0xf7, //0x00000253 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000256 cmpb $1, %dl + 0x0f, 0x87, 0xce, 0x00, 0x00, 0x00, //0x00000259 ja LBB0_32 + 0x90, //0x0000025f .p2align 4, 0x90 + //0x00000260 LBB0_19 + 0x4c, 0x8d, 0x79, 0x03, //0x00000260 leaq $3(%rcx), %r15 + 0x49, 0x39, 0xc7, //0x00000264 cmpq %rax, %r15 + 0x0f, 0x83, 0x23, 0x00, 0x00, 0x00, //0x00000267 jae LBB0_23 + 0x43, 0x8a, 0x14, 0x39, //0x0000026d movb (%r9,%r15), %dl + 0x80, 0xfa, 0x0d, //0x00000271 cmpb $13, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000274 je LBB0_23 + 0x80, 0xfa, 0x20, //0x0000027a cmpb $32, %dl + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000027d je LBB0_23 + 0x80, 0xc2, 0xf7, //0x00000283 addb $-9, %dl + 0x80, 0xfa, 0x01, //0x00000286 cmpb $1, %dl + 0x0f, 0x87, 0x9e, 0x00, 0x00, 0x00, //0x00000289 ja LBB0_32 + 0x90, //0x0000028f .p2align 4, 0x90 + //0x00000290 LBB0_23 + 0x48, 0x8d, 0x51, 0x04, //0x00000290 leaq $4(%rcx), %rdx + 0x48, 0x39, 0xd0, //0x00000294 cmpq %rdx, %rax + 0x0f, 0x86, 0xf4, 0x22, 0x00, 0x00, //0x00000297 jbe LBB0_417 + 0x48, 0x39, 0xd0, //0x0000029d cmpq %rdx, %rax + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x000002a0 je LBB0_29 + 0x49, 0x8d, 0x14, 0x01, //0x000002a6 leaq (%r9,%rax), %rdx + 0x48, 0x83, 0xc3, 0x04, //0x000002aa addq $4, %rbx + 0x48, 0x03, 0x8d, 0x68, 0xff, 0xff, 0xff, //0x000002ae addq $-152(%rbp), %rcx + 0x49, 0x89, 0xcf, //0x000002b5 movq %rcx, %r15 + 0x48, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000002b8 movabsq $4294977024, %rcx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002c2 .p2align 4, 0x90 + //0x000002d0 LBB0_26 + 0x41, 0x0f, 0xbe, 0x7f, 0xff, //0x000002d0 movsbl $-1(%r15), %edi + 0x83, 0xff, 0x20, //0x000002d5 cmpl $32, %edi + 0x0f, 0x87, 0x42, 0x00, 0x00, 0x00, //0x000002d8 ja LBB0_31 + 0x48, 0x0f, 0xa3, 0xf9, //0x000002de btq %rdi, %rcx + 0x0f, 0x83, 0x38, 0x00, 0x00, 0x00, //0x000002e2 jae LBB0_31 + 0x49, 0xff, 0xc7, //0x000002e8 incq %r15 + 0x48, 0xff, 0xc3, //0x000002eb incq %rbx + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000002ee jne LBB0_26 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x000002f4 jmp LBB0_30 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002f9 .p2align 4, 0x90 + //0x00000300 LBB0_29 + 0x4c, 0x01, 0xca, //0x00000300 addq %r9, %rdx + //0x00000303 LBB0_30 + 0x4c, 0x29, 0xca, //0x00000303 subq %r9, %rdx + 0x49, 0x89, 0xd7, //0x00000306 movq %rdx, %r15 + 0x49, 0x39, 0xc7, //0x00000309 cmpq %rax, %r15 + 0x0f, 0x82, 0x1b, 0x00, 0x00, 0x00, //0x0000030c jb LBB0_32 + 0xe9, 0x7d, 0x22, 0x00, 0x00, //0x00000312 jmp LBB0_418 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000317 .p2align 4, 0x90 + //0x00000320 LBB0_31 + 0x4c, 0x03, 0x7d, 0xa8, //0x00000320 addq $-88(%rbp), %r15 + 0x49, 0x39, 0xc7, //0x00000324 cmpq %rax, %r15 + 0x0f, 0x83, 0x67, 0x22, 0x00, 0x00, //0x00000327 jae LBB0_418 + //0x0000032d LBB0_32 + 0x49, 0x8d, 0x4f, 0x01, //0x0000032d leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00000331 movq %rcx, (%rsi) + 0x43, 0x0f, 0xbe, 0x3c, 0x39, //0x00000334 movsbl (%r9,%r15), %edi + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000339 movq $-1, %rax + 0x85, 0xff, //0x00000340 testl %edi, %edi + 0x0f, 0x84, 0x9c, 0x22, 0x00, 0x00, //0x00000342 je LBB0_427 + 0x48, 0x89, 0x4d, 0xc0, //0x00000348 movq %rcx, $-64(%rbp) + 0x4d, 0x89, 0xf8, //0x0000034c movq %r15, %r8 + 0x49, 0xf7, 0xd0, //0x0000034f notq %r8 + 0x49, 0x8d, 0x53, 0xff, //0x00000352 leaq $-1(%r11), %rdx + 0x43, 0x8b, 0x1c, 0xda, //0x00000356 movl (%r10,%r11,8), %ebx + 0x48, 0x8b, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x0000035a movq $-136(%rbp), %rcx + 0x48, 0x83, 0xf9, 0xff, //0x00000361 cmpq $-1, %rcx + 0x49, 0x0f, 0x44, 0xcf, //0x00000365 cmoveq %r15, %rcx + 0x48, 0x89, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x00000369 movq %rcx, $-136(%rbp) + 0xff, 0xcb, //0x00000370 decl %ebx + 0x83, 0xfb, 0x05, //0x00000372 cmpl $5, %ebx + 0x0f, 0x87, 0x79, 0x02, 0x00, 0x00, //0x00000375 ja LBB0_66 + 0x48, 0x8d, 0x0d, 0xf6, 0x24, 0x00, 0x00, //0x0000037b leaq $9462(%rip), %rcx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x1c, 0x99, //0x00000382 movslq (%rcx,%rbx,4), %rbx + 0x48, 0x01, 0xcb, //0x00000386 addq %rcx, %rbx + 0xff, 0xe3, //0x00000389 jmpq *%rbx + //0x0000038b LBB0_35 + 0x83, 0xff, 0x2c, //0x0000038b cmpl $44, %edi + 0x0f, 0x84, 0xdb, 0x04, 0x00, 0x00, //0x0000038e je LBB0_102 + 0x83, 0xff, 0x5d, //0x00000394 cmpl $93, %edi + 0x0f, 0x84, 0x3c, 0x02, 0x00, 0x00, //0x00000397 je LBB0_37 + 0xe9, 0x3b, 0x22, 0x00, 0x00, //0x0000039d jmp LBB0_426 + //0x000003a2 LBB0_38 + 0x40, 0x80, 0xff, 0x5d, //0x000003a2 cmpb $93, %dil + 0x0f, 0x84, 0x2d, 0x02, 0x00, 0x00, //0x000003a6 je LBB0_37 + 0x4b, 0xc7, 0x04, 0xda, 0x01, 0x00, 0x00, 0x00, //0x000003ac movq $1, (%r10,%r11,8) + 0x83, 0xff, 0x7b, //0x000003b4 cmpl $123, %edi + 0x0f, 0x86, 0x43, 0x02, 0x00, 0x00, //0x000003b7 jbe LBB0_67 + 0xe9, 0x1b, 0x22, 0x00, 0x00, //0x000003bd jmp LBB0_426 + //0x000003c2 LBB0_40 + 0x40, 0x80, 0xff, 0x22, //0x000003c2 cmpb $34, %dil + 0x0f, 0x85, 0x11, 0x22, 0x00, 0x00, //0x000003c6 jne LBB0_426 + 0x4b, 0xc7, 0x04, 0xda, 0x04, 0x00, 0x00, 0x00, //0x000003cc movq $4, (%r10,%r11,8) + 0x48, 0x8b, 0x45, 0x98, //0x000003d4 movq $-104(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x000003d8 movq $8(%rax), %r10 + 0xf6, 0x45, 0x80, 0x20, //0x000003dc testb $32, $-128(%rbp) + 0x0f, 0x85, 0xab, 0x04, 0x00, 0x00, //0x000003e0 jne LBB0_104 + 0x4d, 0x89, 0xd5, //0x000003e6 movq %r10, %r13 + 0x48, 0x8b, 0x45, 0xc0, //0x000003e9 movq $-64(%rbp), %rax + 0x49, 0x29, 0xc5, //0x000003ed subq %rax, %r13 + 0x0f, 0x84, 0xd1, 0x23, 0x00, 0x00, //0x000003f0 je LBB0_462 + 0x4d, 0x8d, 0x1c, 0x01, //0x000003f6 leaq (%r9,%rax), %r11 + 0x49, 0x83, 0xfd, 0x40, //0x000003fa cmpq $64, %r13 + 0x0f, 0x82, 0xb4, 0x1b, 0x00, 0x00, //0x000003fe jb LBB0_355 + 0x44, 0x89, 0xe9, //0x00000404 movl %r13d, %ecx + 0x83, 0xe1, 0x3f, //0x00000407 andl $63, %ecx + 0x48, 0x89, 0x4d, 0xb8, //0x0000040a movq %rcx, $-72(%rbp) + 0x4b, 0x8d, 0x4c, 0x02, 0xc0, //0x0000040e leaq $-64(%r10,%r8), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000413 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000417 addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x90, //0x0000041a addq $-112(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb0, //0x0000041e movq %rcx, $-80(%rbp) + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000422 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00000429 xorl %r8d, %r8d + 0x90, 0x90, 0x90, 0x90, //0x0000042c .p2align 4, 0x90 + //0x00000430 LBB0_45 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00000430 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00000435 movdqu $16(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6b, 0x20, //0x0000043b movdqu $32(%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x30, //0x00000441 movdqu $48(%r11), %xmm6 + 0x66, 0x0f, 0x6f, 0xfb, //0x00000447 movdqa %xmm3, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x0000044b pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xff, //0x0000044f pmovmskb %xmm7, %edi + 0x66, 0x0f, 0x6f, 0xfc, //0x00000453 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000457 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x0000045b pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x6f, 0xfd, //0x0000045f movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000463 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00000467 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfe, //0x0000046b movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x0000046f pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xdf, //0x00000473 pmovmskb %xmm7, %ebx + 0x66, 0x0f, 0x74, 0xd9, //0x00000477 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x0000047b pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x74, 0xe1, //0x0000047f pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00000483 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x74, 0xe9, //0x00000487 pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xf5, //0x0000048b pmovmskb %xmm5, %r14d + 0x66, 0x0f, 0x74, 0xf1, //0x00000490 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xe6, //0x00000494 pmovmskb %xmm6, %r12d + 0x48, 0xc1, 0xe3, 0x30, //0x00000499 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x0000049d shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x000004a1 shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x000004a5 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x000004a8 orq %rsi, %rdi + 0x49, 0xc1, 0xe4, 0x30, //0x000004ab shlq $48, %r12 + 0x49, 0xc1, 0xe6, 0x20, //0x000004af shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x000004b3 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x000004b7 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x000004ba orq %r14, %rdx + 0x4c, 0x09, 0xe2, //0x000004bd orq %r12, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x000004c0 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000004c4 jne LBB0_47 + 0x48, 0x85, 0xd2, //0x000004ca testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x000004cd jne LBB0_56 + //0x000004d3 LBB0_47 + 0x48, 0x09, 0xdf, //0x000004d3 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x000004d6 movq %rdx, %rax + 0x4c, 0x09, 0xc0, //0x000004d9 orq %r8, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x000004dc jne LBB0_57 + //0x000004e2 LBB0_48 + 0x48, 0x85, 0xff, //0x000004e2 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x000004e5 jne LBB0_58 + //0x000004eb LBB0_49 + 0x49, 0x83, 0xc5, 0xc0, //0x000004eb addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x000004ef addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x000004f3 cmpq $63, %r13 + 0x0f, 0x87, 0x33, 0xff, 0xff, 0xff, //0x000004f7 ja LBB0_45 + 0xe9, 0x41, 0x13, 0x00, 0x00, //0x000004fd jmp LBB0_50 + //0x00000502 LBB0_56 + 0x4c, 0x89, 0xd8, //0x00000502 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000505 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xca, //0x00000509 bsfq %rdx, %r9 + 0x49, 0x01, 0xc1, //0x0000050d addq %rax, %r9 + 0x48, 0x09, 0xdf, //0x00000510 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000513 movq %rdx, %rax + 0x4c, 0x09, 0xc0, //0x00000516 orq %r8, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000519 je LBB0_48 + //0x0000051f LBB0_57 + 0x4c, 0x89, 0xc0, //0x0000051f movq %r8, %rax + 0x48, 0xf7, 0xd0, //0x00000522 notq %rax + 0x48, 0x21, 0xd0, //0x00000525 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000528 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc1, //0x0000052c orq %r8, %rcx + 0x48, 0x89, 0xce, //0x0000052f movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000532 notq %rsi + 0x48, 0x21, 0xd6, //0x00000535 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000538 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000542 andq %rdx, %rsi + 0x45, 0x31, 0xc0, //0x00000545 xorl %r8d, %r8d + 0x48, 0x01, 0xc6, //0x00000548 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc0, //0x0000054b setb %r8b + 0x48, 0x01, 0xf6, //0x0000054f addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000552 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x0000055c xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x0000055f andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000562 notq %rsi + 0x48, 0x21, 0xf7, //0x00000565 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000568 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x0000056b je LBB0_49 + //0x00000571 LBB0_58 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000571 bsfq %rdi, %rax + //0x00000575 LBB0_59 + 0x4c, 0x03, 0x5d, 0xa0, //0x00000575 addq $-96(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000579 addq %rax, %r11 + 0x48, 0x8b, 0x7d, 0xc0, //0x0000057c movq $-64(%rbp), %rdi + 0xe9, 0xfd, 0x09, 0x00, 0x00, //0x00000580 jmp LBB0_188 + //0x00000585 LBB0_60 + 0x40, 0x80, 0xff, 0x3a, //0x00000585 cmpb $58, %dil + 0x0f, 0x85, 0x4e, 0x20, 0x00, 0x00, //0x00000589 jne LBB0_426 + 0x4b, 0xc7, 0x04, 0xda, 0x00, 0x00, 0x00, 0x00, //0x0000058f movq $0, (%r10,%r11,8) + 0xe9, 0xe4, 0xfb, 0xff, 0xff, //0x00000597 jmp LBB0_3 + //0x0000059c LBB0_62 + 0x83, 0xff, 0x2c, //0x0000059c cmpl $44, %edi + 0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x0000059f jne LBB0_63 + 0x49, 0x81, 0xfb, 0xff, 0x0f, 0x00, 0x00, //0x000005a5 cmpq $4095, %r11 + 0x0f, 0x8f, 0xee, 0x1f, 0x00, 0x00, //0x000005ac jg LBB0_439 + 0x49, 0x8d, 0x43, 0x01, //0x000005b2 leaq $1(%r11), %rax + 0x49, 0x89, 0x02, //0x000005b6 movq %rax, (%r10) + 0x4b, 0xc7, 0x44, 0xda, 0x08, 0x03, 0x00, 0x00, 0x00, //0x000005b9 movq $3, $8(%r10,%r11,8) + 0xe9, 0xb9, 0xfb, 0xff, 0xff, //0x000005c2 jmp LBB0_3 + //0x000005c7 LBB0_64 + 0x83, 0xff, 0x22, //0x000005c7 cmpl $34, %edi + 0x0f, 0x84, 0xd0, 0x04, 0x00, 0x00, //0x000005ca je LBB0_127 + //0x000005d0 LBB0_63 + 0x83, 0xff, 0x7d, //0x000005d0 cmpl $125, %edi + 0x0f, 0x85, 0x04, 0x20, 0x00, 0x00, //0x000005d3 jne LBB0_426 + //0x000005d9 LBB0_37 + 0x49, 0x89, 0x12, //0x000005d9 movq %rdx, (%r10) + 0x49, 0x89, 0xd3, //0x000005dc movq %rdx, %r11 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x000005df movq $-136(%rbp), %rax + 0x48, 0x85, 0xd2, //0x000005e6 testq %rdx, %rdx + 0x0f, 0x85, 0xb3, 0xfb, 0xff, 0xff, //0x000005e9 jne LBB0_6 + 0xe9, 0xf0, 0x1f, 0x00, 0x00, //0x000005ef jmp LBB0_427 + //0x000005f4 LBB0_66 + 0x49, 0x89, 0x12, //0x000005f4 movq %rdx, (%r10) + 0x83, 0xff, 0x7b, //0x000005f7 cmpl $123, %edi + 0x0f, 0x87, 0xdd, 0x1f, 0x00, 0x00, //0x000005fa ja LBB0_426 + //0x00000600 LBB0_67 + 0x4f, 0x8d, 0x14, 0x39, //0x00000600 leaq (%r9,%r15), %r10 + 0x89, 0xf9, //0x00000604 movl %edi, %ecx + 0x48, 0x8d, 0x15, 0x83, 0x22, 0x00, 0x00, //0x00000606 leaq $8835(%rip), %rdx /* LJTI0_1+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8a, //0x0000060d movslq (%rdx,%rcx,4), %rcx + 0x48, 0x01, 0xd1, //0x00000611 addq %rdx, %rcx + 0xff, 0xe1, //0x00000614 jmpq *%rcx + //0x00000616 LBB0_68 + 0x48, 0x8b, 0x45, 0x98, //0x00000616 movq $-104(%rbp), %rax + 0x48, 0x8b, 0x78, 0x08, //0x0000061a movq $8(%rax), %rdi + 0x4c, 0x29, 0xff, //0x0000061e subq %r15, %rdi + 0x0f, 0x84, 0x9e, 0x1f, 0x00, 0x00, //0x00000621 je LBB0_421 + 0x41, 0x80, 0x3a, 0x30, //0x00000627 cmpb $48, (%r10) + 0x4c, 0x8b, 0x5d, 0xc0, //0x0000062b movq $-64(%rbp), %r11 + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000062f jne LBB0_73 + 0x48, 0x83, 0xff, 0x01, //0x00000635 cmpq $1, %rdi + 0x0f, 0x84, 0xb3, 0x16, 0x00, 0x00, //0x00000639 je LBB0_336 + 0x43, 0x8a, 0x04, 0x19, //0x0000063f movb (%r9,%r11), %al + 0x04, 0xd2, //0x00000643 addb $-46, %al + 0x3c, 0x37, //0x00000645 cmpb $55, %al + 0x0f, 0x87, 0xa5, 0x16, 0x00, 0x00, //0x00000647 ja LBB0_336 + 0x0f, 0xb6, 0xc0, //0x0000064d movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00000650 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x0000065a btq %rax, %rcx + 0x0f, 0x83, 0x8e, 0x16, 0x00, 0x00, //0x0000065e jae LBB0_336 + //0x00000664 LBB0_73 + 0x48, 0x83, 0xff, 0x10, //0x00000664 cmpq $16, %rdi + 0x0f, 0x82, 0x86, 0x18, 0x00, 0x00, //0x00000668 jb LBB0_344 + 0x4c, 0x8d, 0x4f, 0xf0, //0x0000066e leaq $-16(%rdi), %r9 + 0x4c, 0x89, 0xc8, //0x00000672 movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00000675 andq $-16, %rax + 0x4e, 0x8d, 0x5c, 0x10, 0x10, //0x00000679 leaq $16(%rax,%r10), %r11 + 0x41, 0x83, 0xe1, 0x0f, //0x0000067e andl $15, %r9d + 0x48, 0xc7, 0x45, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000682 movq $-1, $-64(%rbp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x0000068a movq $-1, %r12 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00000691 movq $-1, %r13 + 0x4d, 0x89, 0xd6, //0x00000698 movq %r10, %r14 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x0000069b .p2align 4, 0x90 + //0x000006a0 LBB0_75 + 0xf3, 0x41, 0x0f, 0x6f, 0x1e, //0x000006a0 movdqu (%r14), %xmm3 + 0x66, 0x0f, 0x6f, 0xe3, //0x000006a5 movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x64, 0xe0, //0x000006a9 pcmpgtb %xmm8, %xmm4 + 0x66, 0x41, 0x0f, 0x6f, 0xed, //0x000006ae movdqa %xmm13, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x000006b3 pcmpgtb %xmm3, %xmm5 + 0x66, 0x0f, 0xdb, 0xec, //0x000006b7 pand %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xe3, //0x000006bb movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xe1, //0x000006bf pcmpeqb %xmm9, %xmm4 + 0x66, 0x0f, 0x6f, 0xf3, //0x000006c4 movdqa %xmm3, %xmm6 + 0x66, 0x41, 0x0f, 0x74, 0xf2, //0x000006c8 pcmpeqb %xmm10, %xmm6 + 0x66, 0x0f, 0xeb, 0xf4, //0x000006cd por %xmm4, %xmm6 + 0x66, 0x0f, 0x6f, 0xe3, //0x000006d1 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xe2, //0x000006d5 por %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xdb, //0x000006d9 pcmpeqb %xmm11, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xe4, //0x000006de pcmpeqb %xmm12, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x000006e3 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0xeb, 0xe3, //0x000006e7 por %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xee, //0x000006eb por %xmm6, %xmm5 + 0x66, 0x0f, 0xeb, 0xec, //0x000006ef por %xmm4, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xc3, //0x000006f3 pmovmskb %xmm3, %r8d + 0x66, 0x0f, 0xd7, 0xd6, //0x000006f8 pmovmskb %xmm6, %edx + 0x66, 0x0f, 0xd7, 0xcd, //0x000006fc pmovmskb %xmm5, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000700 movl $2863311530, %esi + 0x48, 0x81, 0xc6, 0x55, 0x55, 0x55, 0x55, //0x00000705 addq $1431655765, %rsi + 0x48, 0x31, 0xce, //0x0000070c xorq %rcx, %rsi + 0x48, 0x0f, 0xbc, 0xce, //0x0000070f bsfq %rsi, %rcx + 0x83, 0xf9, 0x10, //0x00000713 cmpl $16, %ecx + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00000716 je LBB0_77 + 0xbe, 0xff, 0xff, 0xff, 0xff, //0x0000071c movl $-1, %esi + 0xd3, 0xe6, //0x00000721 shll %cl, %esi + 0xf7, 0xd6, //0x00000723 notl %esi + 0x41, 0x21, 0xf0, //0x00000725 andl %esi, %r8d + 0x21, 0xf0, //0x00000728 andl %esi, %eax + 0x21, 0xd6, //0x0000072a andl %edx, %esi + 0x89, 0xf2, //0x0000072c movl %esi, %edx + //0x0000072e LBB0_77 + 0x41, 0x8d, 0x70, 0xff, //0x0000072e leal $-1(%r8), %esi + 0x44, 0x21, 0xc6, //0x00000732 andl %r8d, %esi + 0x0f, 0x85, 0xd3, 0x10, 0x00, 0x00, //0x00000735 jne LBB0_306 + 0x8d, 0x70, 0xff, //0x0000073b leal $-1(%rax), %esi + 0x21, 0xc6, //0x0000073e andl %eax, %esi + 0x0f, 0x85, 0xc8, 0x10, 0x00, 0x00, //0x00000740 jne LBB0_306 + 0x8d, 0x72, 0xff, //0x00000746 leal $-1(%rdx), %esi + 0x21, 0xd6, //0x00000749 andl %edx, %esi + 0x0f, 0x85, 0xbd, 0x10, 0x00, 0x00, //0x0000074b jne LBB0_306 + 0x45, 0x85, 0xc0, //0x00000751 testl %r8d, %r8d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000754 je LBB0_83 + 0x4c, 0x89, 0xf3, //0x0000075a movq %r14, %rbx + 0x4c, 0x29, 0xd3, //0x0000075d subq %r10, %rbx + 0x41, 0x0f, 0xbc, 0xf0, //0x00000760 bsfl %r8d, %esi + 0x48, 0x01, 0xde, //0x00000764 addq %rbx, %rsi + 0x49, 0x83, 0xfd, 0xff, //0x00000767 cmpq $-1, %r13 + 0x0f, 0x85, 0xb6, 0x14, 0x00, 0x00, //0x0000076b jne LBB0_322 + 0x49, 0x89, 0xf5, //0x00000771 movq %rsi, %r13 + //0x00000774 LBB0_83 + 0x85, 0xc0, //0x00000774 testl %eax, %eax + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00000776 je LBB0_86 + 0x4c, 0x89, 0xf6, //0x0000077c movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x0000077f subq %r10, %rsi + 0x0f, 0xbc, 0xc0, //0x00000782 bsfl %eax, %eax + 0x48, 0x01, 0xf0, //0x00000785 addq %rsi, %rax + 0x49, 0x83, 0xfc, 0xff, //0x00000788 cmpq $-1, %r12 + 0x0f, 0x85, 0x4d, 0x12, 0x00, 0x00, //0x0000078c jne LBB0_311 + 0x49, 0x89, 0xc4, //0x00000792 movq %rax, %r12 + //0x00000795 LBB0_86 + 0x85, 0xd2, //0x00000795 testl %edx, %edx + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x00000797 je LBB0_89 + 0x4c, 0x89, 0xf6, //0x0000079d movq %r14, %rsi + 0x4c, 0x29, 0xd6, //0x000007a0 subq %r10, %rsi + 0x0f, 0xbc, 0xc2, //0x000007a3 bsfl %edx, %eax + 0x48, 0x01, 0xf0, //0x000007a6 addq %rsi, %rax + 0x48, 0x83, 0x7d, 0xc0, 0xff, //0x000007a9 cmpq $-1, $-64(%rbp) + 0x0f, 0x85, 0x2b, 0x12, 0x00, 0x00, //0x000007ae jne LBB0_311 + 0x48, 0x89, 0x45, 0xc0, //0x000007b4 movq %rax, $-64(%rbp) + //0x000007b8 LBB0_89 + 0x83, 0xf9, 0x10, //0x000007b8 cmpl $16, %ecx + 0x0f, 0x85, 0xcf, 0x04, 0x00, 0x00, //0x000007bb jne LBB0_151 + 0x49, 0x83, 0xc6, 0x10, //0x000007c1 addq $16, %r14 + 0x48, 0x83, 0xc7, 0xf0, //0x000007c5 addq $-16, %rdi + 0x48, 0x83, 0xff, 0x0f, //0x000007c9 cmpq $15, %rdi + 0x0f, 0x87, 0xcd, 0xfe, 0xff, 0xff, //0x000007cd ja LBB0_75 + 0x4d, 0x85, 0xc9, //0x000007d3 testq %r9, %r9 + 0x48, 0x8b, 0x7d, 0xc0, //0x000007d6 movq $-64(%rbp), %rdi + 0x0f, 0x84, 0xba, 0x04, 0x00, 0x00, //0x000007da je LBB0_152 + //0x000007e0 LBB0_92 + 0x4b, 0x8d, 0x04, 0x0b, //0x000007e0 leaq (%r11,%r9), %rax + 0x48, 0x8d, 0x35, 0x81, 0x23, 0x00, 0x00, //0x000007e4 leaq $9089(%rip), %rsi /* LJTI0_3+0(%rip) */ + 0xe9, 0x2c, 0x00, 0x00, 0x00, //0x000007eb jmp LBB0_96 + //0x000007f0 LBB0_93 + 0x49, 0x89, 0xcb, //0x000007f0 movq %rcx, %r11 + 0x4d, 0x29, 0xd3, //0x000007f3 subq %r10, %r11 + 0x49, 0x83, 0xfc, 0xff, //0x000007f6 cmpq $-1, %r12 + 0x0f, 0x85, 0xdb, 0x14, 0x00, 0x00, //0x000007fa jne LBB0_333 + 0x49, 0xff, 0xcb, //0x00000800 decq %r11 + 0x4d, 0x89, 0xdc, //0x00000803 movq %r11, %r12 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000806 .p2align 4, 0x90 + //0x00000810 LBB0_95 + 0x49, 0x89, 0xcb, //0x00000810 movq %rcx, %r11 + 0x49, 0xff, 0xc9, //0x00000813 decq %r9 + 0x0f, 0x84, 0xce, 0x11, 0x00, 0x00, //0x00000816 je LBB0_312 + //0x0000081c LBB0_96 + 0x41, 0x0f, 0xbe, 0x13, //0x0000081c movsbl (%r11), %edx + 0x83, 0xc2, 0xd5, //0x00000820 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x00000823 cmpl $58, %edx + 0x0f, 0x87, 0x6e, 0x04, 0x00, 0x00, //0x00000826 ja LBB0_152 + 0x49, 0x8d, 0x4b, 0x01, //0x0000082c leaq $1(%r11), %rcx + 0x48, 0x63, 0x14, 0x96, //0x00000830 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00000834 addq %rsi, %rdx + 0xff, 0xe2, //0x00000837 jmpq *%rdx + //0x00000839 LBB0_98 + 0x49, 0x89, 0xcb, //0x00000839 movq %rcx, %r11 + 0x4d, 0x29, 0xd3, //0x0000083c subq %r10, %r11 + 0x48, 0x83, 0xff, 0xff, //0x0000083f cmpq $-1, %rdi + 0x0f, 0x85, 0x92, 0x14, 0x00, 0x00, //0x00000843 jne LBB0_333 + 0x49, 0xff, 0xcb, //0x00000849 decq %r11 + 0x4c, 0x89, 0xdf, //0x0000084c movq %r11, %rdi + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000084f jmp LBB0_95 + //0x00000854 LBB0_100 + 0x49, 0x89, 0xcb, //0x00000854 movq %rcx, %r11 + 0x4d, 0x29, 0xd3, //0x00000857 subq %r10, %r11 + 0x49, 0x83, 0xfd, 0xff, //0x0000085a cmpq $-1, %r13 + 0x0f, 0x85, 0x77, 0x14, 0x00, 0x00, //0x0000085e jne LBB0_333 + 0x49, 0xff, 0xcb, //0x00000864 decq %r11 + 0x4d, 0x89, 0xdd, //0x00000867 movq %r11, %r13 + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000086a jmp LBB0_95 + //0x0000086f LBB0_102 + 0x49, 0x81, 0xfb, 0xff, 0x0f, 0x00, 0x00, //0x0000086f cmpq $4095, %r11 + 0x0f, 0x8f, 0x24, 0x1d, 0x00, 0x00, //0x00000876 jg LBB0_439 + 0x49, 0x8d, 0x43, 0x01, //0x0000087c leaq $1(%r11), %rax + 0x49, 0x89, 0x02, //0x00000880 movq %rax, (%r10) + 0x4b, 0xc7, 0x44, 0xda, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00000883 movq $0, $8(%r10,%r11,8) + 0xe9, 0xef, 0xf8, 0xff, 0xff, //0x0000088c jmp LBB0_3 + //0x00000891 LBB0_104 + 0x4c, 0x89, 0xd0, //0x00000891 movq %r10, %rax + 0x48, 0x8b, 0x4d, 0xc0, //0x00000894 movq $-64(%rbp), %rcx + 0x48, 0x29, 0xc8, //0x00000898 subq %rcx, %rax + 0x0f, 0x84, 0x2e, 0x1f, 0x00, 0x00, //0x0000089b je LBB0_463 + 0x4d, 0x8d, 0x1c, 0x09, //0x000008a1 leaq (%r9,%rcx), %r11 + 0x48, 0x83, 0xf8, 0x40, //0x000008a5 cmpq $64, %rax + 0x0f, 0x82, 0x22, 0x17, 0x00, 0x00, //0x000008a9 jb LBB0_356 + 0x89, 0xc2, //0x000008af movl %eax, %edx + 0x83, 0xe2, 0x3f, //0x000008b1 andl $63, %edx + 0x48, 0x89, 0x55, 0xb8, //0x000008b4 movq %rdx, $-72(%rbp) + 0x4f, 0x8d, 0x44, 0x02, 0xc0, //0x000008b8 leaq $-64(%r10,%r8), %r8 + 0x49, 0x83, 0xe0, 0xc0, //0x000008bd andq $-64, %r8 + 0x49, 0x01, 0xc8, //0x000008c1 addq %rcx, %r8 + 0x4c, 0x03, 0x45, 0x90, //0x000008c4 addq $-112(%rbp), %r8 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000008c8 movq $-1, %r9 + 0x31, 0xdb, //0x000008cf xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008d1 .p2align 4, 0x90 + //0x000008e0 LBB0_107 + 0xf3, 0x41, 0x0f, 0x6f, 0x2b, //0x000008e0 movdqu (%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x10, //0x000008e5 movdqu $16(%r11), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x20, //0x000008eb movdqu $32(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x7b, 0x30, //0x000008f1 movdqu $48(%r11), %xmm7 + 0x66, 0x0f, 0x6f, 0xdd, //0x000008f7 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000008fb pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xf3, //0x000008ff pmovmskb %xmm3, %esi + 0x66, 0x0f, 0x6f, 0xde, //0x00000903 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000907 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x0000090b pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdc, //0x0000090f movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000913 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00000917 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdf, //0x0000091b movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x0000091f pcmpeqb %xmm0, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xe3, //0x00000923 pmovmskb %xmm3, %r12d + 0x66, 0x0f, 0x6f, 0xdd, //0x00000928 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x0000092c pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x00000930 pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xde, //0x00000935 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000939 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x0000093d pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x6f, 0xdc, //0x00000941 movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000945 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe7, 0x10, //0x00000949 shlq $16, %rdi + 0x48, 0x09, 0xfe, //0x0000094d orq %rdi, %rsi + 0x66, 0x0f, 0xd7, 0xfb, //0x00000950 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdf, //0x00000954 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000958 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe1, 0x20, //0x0000095c shlq $32, %rcx + 0x48, 0x09, 0xce, //0x00000960 orq %rcx, %rsi + 0x66, 0x0f, 0xd7, 0xcb, //0x00000963 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x00000967 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdd, //0x0000096b pcmpgtb %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xee, //0x0000096f pcmpgtb %xmm14, %xmm5 + 0x66, 0x0f, 0xdb, 0xeb, //0x00000974 pand %xmm3, %xmm5 + 0x48, 0xc1, 0xe2, 0x10, //0x00000978 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x0000097c orq %rdx, %r13 + 0x66, 0x0f, 0xd7, 0xd5, //0x0000097f pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xda, //0x00000983 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xde, //0x00000987 pcmpgtb %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xf6, //0x0000098b pcmpgtb %xmm14, %xmm6 + 0x66, 0x0f, 0xdb, 0xf3, //0x00000990 pand %xmm3, %xmm6 + 0x48, 0xc1, 0xe7, 0x20, //0x00000994 shlq $32, %rdi + 0x49, 0x09, 0xfd, //0x00000998 orq %rdi, %r13 + 0x66, 0x0f, 0xd7, 0xfe, //0x0000099b pmovmskb %xmm6, %edi + 0x66, 0x0f, 0x6f, 0xda, //0x0000099f movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x000009a3 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x000009a7 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x000009ac pand %xmm3, %xmm4 + 0x48, 0xc1, 0xe1, 0x30, //0x000009b0 shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x000009b4 orq %rcx, %r13 + 0x66, 0x0f, 0xd7, 0xcc, //0x000009b7 pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x000009bb movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdf, //0x000009bf pcmpgtb %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xfe, //0x000009c3 pcmpgtb %xmm14, %xmm7 + 0x66, 0x0f, 0xdb, 0xfb, //0x000009c8 pand %xmm3, %xmm7 + 0x48, 0xc1, 0xe7, 0x10, //0x000009cc shlq $16, %rdi + 0x48, 0x09, 0xfa, //0x000009d0 orq %rdi, %rdx + 0x66, 0x44, 0x0f, 0xd7, 0xf7, //0x000009d3 pmovmskb %xmm7, %r14d + 0x49, 0xc1, 0xe4, 0x30, //0x000009d8 shlq $48, %r12 + 0x48, 0xc1, 0xe1, 0x20, //0x000009dc shlq $32, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x000009e0 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000009e4 jne LBB0_109 + 0x4d, 0x85, 0xed, //0x000009ea testq %r13, %r13 + 0x0f, 0x85, 0x9a, 0x00, 0x00, 0x00, //0x000009ed jne LBB0_124 + //0x000009f3 LBB0_109 + 0x49, 0xc1, 0xe6, 0x30, //0x000009f3 shlq $48, %r14 + 0x48, 0x09, 0xca, //0x000009f7 orq %rcx, %rdx + 0x4c, 0x09, 0xe6, //0x000009fa orq %r12, %rsi + 0x4c, 0x89, 0xe9, //0x000009fd movq %r13, %rcx + 0x48, 0x09, 0xd9, //0x00000a00 orq %rbx, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000a03 jne LBB0_146 + 0x4c, 0x09, 0xf2, //0x00000a09 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000a0c testq %rsi, %rsi + 0x0f, 0x85, 0x54, 0x02, 0x00, 0x00, //0x00000a0f jne LBB0_147 + //0x00000a15 LBB0_111 + 0x48, 0x85, 0xd2, //0x00000a15 testq %rdx, %rdx + 0x0f, 0x85, 0xf6, 0x1b, 0x00, 0x00, //0x00000a18 jne LBB0_430 + 0x48, 0x83, 0xc0, 0xc0, //0x00000a1e addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x00000a22 addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x00000a26 cmpq $63, %rax + 0x0f, 0x87, 0xb0, 0xfe, 0xff, 0xff, //0x00000a2a ja LBB0_107 + 0xe9, 0x92, 0x0e, 0x00, 0x00, //0x00000a30 jmp LBB0_113 + //0x00000a35 LBB0_146 + 0x48, 0x89, 0xd9, //0x00000a35 movq %rbx, %rcx + 0x48, 0xf7, 0xd1, //0x00000a38 notq %rcx + 0x4c, 0x21, 0xe9, //0x00000a3b andq %r13, %rcx + 0x4c, 0x8d, 0x24, 0x09, //0x00000a3e leaq (%rcx,%rcx), %r12 + 0x49, 0x09, 0xdc, //0x00000a42 orq %rbx, %r12 + 0x4c, 0x89, 0xe7, //0x00000a45 movq %r12, %rdi + 0x48, 0xf7, 0xd7, //0x00000a48 notq %rdi + 0x4c, 0x21, 0xef, //0x00000a4b andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000a4e movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x00000a58 andq %rbx, %rdi + 0x31, 0xdb, //0x00000a5b xorl %ebx, %ebx + 0x48, 0x01, 0xcf, //0x00000a5d addq %rcx, %rdi + 0x0f, 0x92, 0xc3, //0x00000a60 setb %bl + 0x48, 0x01, 0xff, //0x00000a63 addq %rdi, %rdi + 0x48, 0xb9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000a66 movabsq $6148914691236517205, %rcx + 0x48, 0x31, 0xcf, //0x00000a70 xorq %rcx, %rdi + 0x4c, 0x21, 0xe7, //0x00000a73 andq %r12, %rdi + 0x48, 0xf7, 0xd7, //0x00000a76 notq %rdi + 0x48, 0x21, 0xfe, //0x00000a79 andq %rdi, %rsi + 0x4c, 0x09, 0xf2, //0x00000a7c orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00000a7f testq %rsi, %rsi + 0x0f, 0x84, 0x8d, 0xff, 0xff, 0xff, //0x00000a82 je LBB0_111 + 0xe9, 0xdc, 0x01, 0x00, 0x00, //0x00000a88 jmp LBB0_147 + //0x00000a8d LBB0_124 + 0x4c, 0x89, 0xdf, //0x00000a8d movq %r11, %rdi + 0x48, 0x2b, 0x7d, 0xd0, //0x00000a90 subq $-48(%rbp), %rdi + 0x4d, 0x0f, 0xbc, 0xcd, //0x00000a94 bsfq %r13, %r9 + 0x49, 0x01, 0xf9, //0x00000a98 addq %rdi, %r9 + 0xe9, 0x53, 0xff, 0xff, 0xff, //0x00000a9b jmp LBB0_109 + //0x00000aa0 LBB0_127 + 0x4b, 0xc7, 0x04, 0xda, 0x02, 0x00, 0x00, 0x00, //0x00000aa0 movq $2, (%r10,%r11,8) + 0x48, 0x8b, 0x45, 0x98, //0x00000aa8 movq $-104(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x00000aac movq $8(%rax), %r10 + 0xf6, 0x45, 0x80, 0x20, //0x00000ab0 testb $32, $-128(%rbp) + 0x0f, 0x85, 0x6b, 0x02, 0x00, 0x00, //0x00000ab4 jne LBB0_161 + 0x4d, 0x89, 0xd5, //0x00000aba movq %r10, %r13 + 0x48, 0x8b, 0x45, 0xc0, //0x00000abd movq $-64(%rbp), %rax + 0x49, 0x29, 0xc5, //0x00000ac1 subq %rax, %r13 + 0x0f, 0x84, 0x31, 0x1d, 0x00, 0x00, //0x00000ac4 je LBB0_464 + 0x4d, 0x8d, 0x1c, 0x01, //0x00000aca leaq (%r9,%rax), %r11 + 0x49, 0x83, 0xfd, 0x40, //0x00000ace cmpq $64, %r13 + 0x0f, 0x82, 0x60, 0x15, 0x00, 0x00, //0x00000ad2 jb LBB0_362 + 0x44, 0x89, 0xe9, //0x00000ad8 movl %r13d, %ecx + 0x83, 0xe1, 0x3f, //0x00000adb andl $63, %ecx + 0x48, 0x89, 0x4d, 0xb0, //0x00000ade movq %rcx, $-80(%rbp) + 0x4b, 0x8d, 0x4c, 0x02, 0xc0, //0x00000ae2 leaq $-64(%r10,%r8), %rcx + 0x48, 0x83, 0xe1, 0xc0, //0x00000ae7 andq $-64, %rcx + 0x48, 0x01, 0xc1, //0x00000aeb addq %rax, %rcx + 0x48, 0x03, 0x4d, 0x90, //0x00000aee addq $-112(%rbp), %rcx + 0x48, 0x89, 0x8d, 0x70, 0xff, 0xff, 0xff, //0x00000af2 movq %rcx, $-144(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000af9 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00000b00 xorl %r9d, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000b03 .p2align 4, 0x90 + //0x00000b10 LBB0_131 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00000b10 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00000b15 movdqu $16(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6b, 0x20, //0x00000b1b movdqu $32(%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x30, //0x00000b21 movdqu $48(%r11), %xmm6 + 0x66, 0x0f, 0x6f, 0xfb, //0x00000b27 movdqa %xmm3, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b2b pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xff, //0x00000b2f pmovmskb %xmm7, %edi + 0x66, 0x0f, 0x6f, 0xfc, //0x00000b33 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b37 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x00000b3b pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x6f, 0xfd, //0x00000b3f movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b43 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x00000b47 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfe, //0x00000b4b movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x00000b4f pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xdf, //0x00000b53 pmovmskb %xmm7, %ebx + 0x66, 0x0f, 0x74, 0xd9, //0x00000b57 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x00000b5b pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x74, 0xe1, //0x00000b5f pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00000b63 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x74, 0xe9, //0x00000b67 pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xf5, //0x00000b6b pmovmskb %xmm5, %r14d + 0x66, 0x0f, 0x74, 0xf1, //0x00000b70 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xe6, //0x00000b74 pmovmskb %xmm6, %r12d + 0x48, 0xc1, 0xe3, 0x30, //0x00000b79 shlq $48, %rbx + 0x48, 0xc1, 0xe6, 0x20, //0x00000b7d shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00000b81 shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00000b85 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00000b88 orq %rsi, %rdi + 0x49, 0xc1, 0xe4, 0x30, //0x00000b8b shlq $48, %r12 + 0x49, 0xc1, 0xe6, 0x20, //0x00000b8f shlq $32, %r14 + 0x48, 0xc1, 0xe0, 0x10, //0x00000b93 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00000b97 orq %rax, %rdx + 0x4c, 0x09, 0xf2, //0x00000b9a orq %r14, %rdx + 0x4c, 0x09, 0xe2, //0x00000b9d orq %r12, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00000ba0 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000ba4 jne LBB0_133 + 0x48, 0x85, 0xd2, //0x00000baa testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x00000bad jne LBB0_142 + //0x00000bb3 LBB0_133 + 0x48, 0x09, 0xdf, //0x00000bb3 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000bb6 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00000bb9 orq %r9, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x00000bbc jne LBB0_143 + //0x00000bc2 LBB0_134 + 0x48, 0x85, 0xff, //0x00000bc2 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00000bc5 jne LBB0_144 + //0x00000bcb LBB0_135 + 0x49, 0x83, 0xc5, 0xc0, //0x00000bcb addq $-64, %r13 + 0x49, 0x83, 0xc3, 0x40, //0x00000bcf addq $64, %r11 + 0x49, 0x83, 0xfd, 0x3f, //0x00000bd3 cmpq $63, %r13 + 0x0f, 0x87, 0x33, 0xff, 0xff, 0xff, //0x00000bd7 ja LBB0_131 + 0xe9, 0x24, 0x0e, 0x00, 0x00, //0x00000bdd jmp LBB0_136 + //0x00000be2 LBB0_142 + 0x4c, 0x89, 0xd8, //0x00000be2 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00000be5 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc2, //0x00000be9 bsfq %rdx, %r8 + 0x49, 0x01, 0xc0, //0x00000bed addq %rax, %r8 + 0x48, 0x09, 0xdf, //0x00000bf0 orq %rbx, %rdi + 0x48, 0x89, 0xd0, //0x00000bf3 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00000bf6 orq %r9, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00000bf9 je LBB0_134 + //0x00000bff LBB0_143 + 0x4c, 0x89, 0xc8, //0x00000bff movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00000c02 notq %rax + 0x48, 0x21, 0xd0, //0x00000c05 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00000c08 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x00000c0c orq %r9, %rcx + 0x48, 0x89, 0xce, //0x00000c0f movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000c12 notq %rsi + 0x48, 0x21, 0xd6, //0x00000c15 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000c18 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x00000c22 andq %rdx, %rsi + 0x45, 0x31, 0xc9, //0x00000c25 xorl %r9d, %r9d + 0x48, 0x01, 0xc6, //0x00000c28 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc1, //0x00000c2b setb %r9b + 0x48, 0x01, 0xf6, //0x00000c2f addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000c32 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x00000c3c xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x00000c3f andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00000c42 notq %rsi + 0x48, 0x21, 0xf7, //0x00000c45 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x00000c48 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x00000c4b je LBB0_135 + //0x00000c51 LBB0_144 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000c51 bsfq %rdi, %rax + //0x00000c55 LBB0_145 + 0x4c, 0x03, 0x5d, 0xa0, //0x00000c55 addq $-96(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00000c59 addq %rax, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x00000c5c movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000c60 movq $-48(%rbp), %r9 + 0xe9, 0x84, 0x03, 0x00, 0x00, //0x00000c64 jmp LBB0_195 + //0x00000c69 LBB0_147 + 0x48, 0x0f, 0xbc, 0xc6, //0x00000c69 bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00000c6d testq %rdx, %rdx + 0x0f, 0x84, 0xf1, 0x02, 0x00, 0x00, //0x00000c70 je LBB0_186 + 0x48, 0x0f, 0xbc, 0xca, //0x00000c76 bsfq %rdx, %rcx + 0x48, 0x8b, 0x7d, 0xc0, //0x00000c7a movq $-64(%rbp), %rdi + 0x4c, 0x2b, 0x5d, 0xd0, //0x00000c7e subq $-48(%rbp), %r11 + 0x48, 0x39, 0xc1, //0x00000c82 cmpq %rax, %rcx + 0x0f, 0x83, 0xf2, 0x02, 0x00, 0x00, //0x00000c85 jae LBB0_187 + 0xe9, 0x47, 0x1b, 0x00, 0x00, //0x00000c8b jmp LBB0_149 + //0x00000c90 LBB0_151 + 0x49, 0x01, 0xce, //0x00000c90 addq %rcx, %r14 + 0x4d, 0x89, 0xf3, //0x00000c93 movq %r14, %r11 + 0x48, 0x8b, 0x7d, 0xc0, //0x00000c96 movq $-64(%rbp), %rdi + //0x00000c9a LBB0_152 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000c9a movq $-1, %rax + 0x4d, 0x85, 0xe4, //0x00000ca1 testq %r12, %r12 + 0x48, 0x8b, 0x75, 0xc8, //0x00000ca4 movq $-56(%rbp), %rsi + 0x0f, 0x84, 0x26, 0x19, 0x00, 0x00, //0x00000ca8 je LBB0_424 + //0x00000cae LBB0_153 + 0x48, 0x85, 0xff, //0x00000cae testq %rdi, %rdi + 0x0f, 0x84, 0x1d, 0x19, 0x00, 0x00, //0x00000cb1 je LBB0_424 + 0x4d, 0x85, 0xed, //0x00000cb7 testq %r13, %r13 + 0x0f, 0x84, 0x14, 0x19, 0x00, 0x00, //0x00000cba je LBB0_424 + 0x4d, 0x29, 0xd3, //0x00000cc0 subq %r10, %r11 + 0x49, 0x8d, 0x43, 0xff, //0x00000cc3 leaq $-1(%r11), %rax + 0x49, 0x39, 0xc4, //0x00000cc7 cmpq %rax, %r12 + 0x0f, 0x84, 0x40, 0x00, 0x00, 0x00, //0x00000cca je LBB0_422 + 0x49, 0x39, 0xc5, //0x00000cd0 cmpq %rax, %r13 + 0x0f, 0x84, 0x37, 0x00, 0x00, 0x00, //0x00000cd3 je LBB0_422 + 0x48, 0x39, 0xc7, //0x00000cd9 cmpq %rax, %rdi + 0x0f, 0x84, 0x2e, 0x00, 0x00, 0x00, //0x00000cdc je LBB0_422 + 0x48, 0x85, 0xff, //0x00000ce2 testq %rdi, %rdi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000ce5 movq $-48(%rbp), %r9 + 0x0f, 0x8e, 0xb8, 0x02, 0x00, 0x00, //0x00000ce9 jle LBB0_190 + 0x48, 0x8d, 0x47, 0xff, //0x00000cef leaq $-1(%rdi), %rax + 0x49, 0x39, 0xc4, //0x00000cf3 cmpq %rax, %r12 + 0x0f, 0x84, 0xab, 0x02, 0x00, 0x00, //0x00000cf6 je LBB0_190 + 0x48, 0xf7, 0xd7, //0x00000cfc notq %rdi + 0x49, 0x89, 0xfb, //0x00000cff movq %rdi, %r11 + 0x4d, 0x85, 0xdb, //0x00000d02 testq %r11, %r11 + 0x0f, 0x89, 0xe4, 0x0f, 0x00, 0x00, //0x00000d05 jns LBB0_335 + 0xe9, 0xc1, 0x18, 0x00, 0x00, //0x00000d0b jmp LBB0_423 + //0x00000d10 LBB0_422 + 0x49, 0xf7, 0xdb, //0x00000d10 negq %r11 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000d13 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xdb, //0x00000d17 testq %r11, %r11 + 0x0f, 0x89, 0xcf, 0x0f, 0x00, 0x00, //0x00000d1a jns LBB0_335 + 0xe9, 0xac, 0x18, 0x00, 0x00, //0x00000d20 jmp LBB0_423 + //0x00000d25 LBB0_161 + 0x4c, 0x89, 0xd0, //0x00000d25 movq %r10, %rax + 0x48, 0x8b, 0x4d, 0xc0, //0x00000d28 movq $-64(%rbp), %rcx + 0x48, 0x29, 0xc8, //0x00000d2c subq %rcx, %rax + 0x0f, 0x84, 0xce, 0x1a, 0x00, 0x00, //0x00000d2f je LBB0_465 + 0x4d, 0x8d, 0x1c, 0x09, //0x00000d35 leaq (%r9,%rcx), %r11 + 0x48, 0x83, 0xf8, 0x40, //0x00000d39 cmpq $64, %rax + 0x4c, 0x89, 0x55, 0xb8, //0x00000d3d movq %r10, $-72(%rbp) + 0x0f, 0x82, 0x0a, 0x13, 0x00, 0x00, //0x00000d41 jb LBB0_363 + 0x89, 0xc2, //0x00000d47 movl %eax, %edx + 0x83, 0xe2, 0x3f, //0x00000d49 andl $63, %edx + 0x48, 0x89, 0x55, 0xb0, //0x00000d4c movq %rdx, $-80(%rbp) + 0x4f, 0x8d, 0x64, 0x02, 0xc0, //0x00000d50 leaq $-64(%r10,%r8), %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00000d55 andq $-64, %r12 + 0x49, 0x01, 0xcc, //0x00000d59 addq %rcx, %r12 + 0x4c, 0x03, 0x65, 0x90, //0x00000d5c addq $-112(%rbp), %r12 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000d60 movq $-1, %r8 + 0x45, 0x31, 0xd2, //0x00000d67 xorl %r10d, %r10d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d6a .p2align 4, 0x90 + //0x00000d70 LBB0_164 + 0xf3, 0x41, 0x0f, 0x6f, 0x2b, //0x00000d70 movdqu (%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x10, //0x00000d75 movdqu $16(%r11), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x20, //0x00000d7b movdqu $32(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x7b, 0x30, //0x00000d81 movdqu $48(%r11), %xmm7 + 0x66, 0x0f, 0x6f, 0xdd, //0x00000d87 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000d8b pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x00000d8f pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xde, //0x00000d93 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000d97 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x00000d9b pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdc, //0x00000d9f movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000da3 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00000da7 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdf, //0x00000dab movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00000daf pcmpeqb %xmm0, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00000db3 pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xdd, //0x00000db8 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000dbc pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x00000dc0 pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xde, //0x00000dc5 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000dc9 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x00000dcd pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x6f, 0xdc, //0x00000dd1 movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000dd5 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe7, 0x10, //0x00000dd9 shlq $16, %rdi + 0x48, 0x09, 0xfb, //0x00000ddd orq %rdi, %rbx + 0x66, 0x0f, 0xd7, 0xfb, //0x00000de0 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdf, //0x00000de4 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x00000de8 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe1, 0x20, //0x00000dec shlq $32, %rcx + 0x48, 0x09, 0xcb, //0x00000df0 orq %rcx, %rbx + 0x66, 0x0f, 0xd7, 0xcb, //0x00000df3 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x00000df7 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdd, //0x00000dfb pcmpgtb %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xee, //0x00000dff pcmpgtb %xmm14, %xmm5 + 0x66, 0x0f, 0xdb, 0xeb, //0x00000e04 pand %xmm3, %xmm5 + 0x48, 0xc1, 0xe2, 0x10, //0x00000e08 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x00000e0c orq %rdx, %r13 + 0x66, 0x0f, 0xd7, 0xd5, //0x00000e0f pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xda, //0x00000e13 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xde, //0x00000e17 pcmpgtb %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xf6, //0x00000e1b pcmpgtb %xmm14, %xmm6 + 0x66, 0x0f, 0xdb, 0xf3, //0x00000e20 pand %xmm3, %xmm6 + 0x48, 0xc1, 0xe7, 0x20, //0x00000e24 shlq $32, %rdi + 0x49, 0x09, 0xfd, //0x00000e28 orq %rdi, %r13 + 0x66, 0x0f, 0xd7, 0xfe, //0x00000e2b pmovmskb %xmm6, %edi + 0x66, 0x0f, 0x6f, 0xda, //0x00000e2f movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00000e33 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00000e37 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00000e3c pand %xmm3, %xmm4 + 0x48, 0xc1, 0xe1, 0x30, //0x00000e40 shlq $48, %rcx + 0x49, 0x09, 0xcd, //0x00000e44 orq %rcx, %r13 + 0x66, 0x0f, 0xd7, 0xcc, //0x00000e47 pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x00000e4b movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdf, //0x00000e4f pcmpgtb %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xfe, //0x00000e53 pcmpgtb %xmm14, %xmm7 + 0x66, 0x0f, 0xdb, 0xfb, //0x00000e58 pand %xmm3, %xmm7 + 0x48, 0xc1, 0xe7, 0x10, //0x00000e5c shlq $16, %rdi + 0x48, 0x09, 0xfa, //0x00000e60 orq %rdi, %rdx + 0x66, 0x0f, 0xd7, 0xff, //0x00000e63 pmovmskb %xmm7, %edi + 0x49, 0xc1, 0xe6, 0x30, //0x00000e67 shlq $48, %r14 + 0x48, 0xc1, 0xe1, 0x20, //0x00000e6b shlq $32, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00000e6f cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000e73 jne LBB0_166 + 0x4d, 0x85, 0xed, //0x00000e79 testq %r13, %r13 + 0x0f, 0x85, 0xa4, 0x00, 0x00, 0x00, //0x00000e7c jne LBB0_181 + //0x00000e82 LBB0_166 + 0x48, 0xc1, 0xe7, 0x30, //0x00000e82 shlq $48, %rdi + 0x48, 0x09, 0xca, //0x00000e86 orq %rcx, %rdx + 0x4c, 0x09, 0xf3, //0x00000e89 orq %r14, %rbx + 0x4c, 0x89, 0xe9, //0x00000e8c movq %r13, %rcx + 0x4c, 0x09, 0xd1, //0x00000e8f orq %r10, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000e92 jne LBB0_182 + 0x48, 0x09, 0xfa, //0x00000e98 orq %rdi, %rdx + 0x48, 0x85, 0xdb, //0x00000e9b testq %rbx, %rbx + 0x0f, 0x85, 0x9d, 0x00, 0x00, 0x00, //0x00000e9e jne LBB0_183 + //0x00000ea4 LBB0_168 + 0x48, 0x85, 0xd2, //0x00000ea4 testq %rdx, %rdx + 0x0f, 0x85, 0x95, 0x17, 0x00, 0x00, //0x00000ea7 jne LBB0_435 + 0x48, 0x83, 0xc0, 0xc0, //0x00000ead addq $-64, %rax + 0x49, 0x83, 0xc3, 0x40, //0x00000eb1 addq $64, %r11 + 0x48, 0x83, 0xf8, 0x3f, //0x00000eb5 cmpq $63, %rax + 0x0f, 0x87, 0xb1, 0xfe, 0xff, 0xff, //0x00000eb9 ja LBB0_164 + 0xe9, 0xc9, 0x0b, 0x00, 0x00, //0x00000ebf jmp LBB0_170 + //0x00000ec4 LBB0_182 + 0x4d, 0x89, 0xd6, //0x00000ec4 movq %r10, %r14 + 0x49, 0xf7, 0xd6, //0x00000ec7 notq %r14 + 0x4d, 0x21, 0xee, //0x00000eca andq %r13, %r14 + 0x4f, 0x8d, 0x0c, 0x36, //0x00000ecd leaq (%r14,%r14), %r9 + 0x4d, 0x09, 0xd1, //0x00000ed1 orq %r10, %r9 + 0x4c, 0x89, 0xc9, //0x00000ed4 movq %r9, %rcx + 0x48, 0xf7, 0xd1, //0x00000ed7 notq %rcx + 0x4c, 0x21, 0xe9, //0x00000eda andq %r13, %rcx + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000edd movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf1, //0x00000ee7 andq %rsi, %rcx + 0x45, 0x31, 0xd2, //0x00000eea xorl %r10d, %r10d + 0x4c, 0x01, 0xf1, //0x00000eed addq %r14, %rcx + 0x41, 0x0f, 0x92, 0xc2, //0x00000ef0 setb %r10b + 0x48, 0x01, 0xc9, //0x00000ef4 addq %rcx, %rcx + 0x48, 0xbe, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000ef7 movabsq $6148914691236517205, %rsi + 0x48, 0x31, 0xf1, //0x00000f01 xorq %rsi, %rcx + 0x4c, 0x21, 0xc9, //0x00000f04 andq %r9, %rcx + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000f07 movq $-48(%rbp), %r9 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f0b movq $-56(%rbp), %rsi + 0x48, 0xf7, 0xd1, //0x00000f0f notq %rcx + 0x48, 0x21, 0xcb, //0x00000f12 andq %rcx, %rbx + 0x48, 0x09, 0xfa, //0x00000f15 orq %rdi, %rdx + 0x48, 0x85, 0xdb, //0x00000f18 testq %rbx, %rbx + 0x0f, 0x84, 0x83, 0xff, 0xff, 0xff, //0x00000f1b je LBB0_168 + 0xe9, 0x1b, 0x00, 0x00, 0x00, //0x00000f21 jmp LBB0_183 + //0x00000f26 LBB0_181 + 0x4d, 0x89, 0xd9, //0x00000f26 movq %r11, %r9 + 0x4c, 0x2b, 0x4d, 0xd0, //0x00000f29 subq $-48(%rbp), %r9 + 0x4d, 0x0f, 0xbc, 0xc5, //0x00000f2d bsfq %r13, %r8 + 0x4d, 0x01, 0xc8, //0x00000f31 addq %r9, %r8 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000f34 movq $-48(%rbp), %r9 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f38 movq $-56(%rbp), %rsi + 0xe9, 0x41, 0xff, 0xff, 0xff, //0x00000f3c jmp LBB0_166 + //0x00000f41 LBB0_183 + 0x48, 0x0f, 0xbc, 0xc3, //0x00000f41 bsfq %rbx, %rax + 0x48, 0x85, 0xd2, //0x00000f45 testq %rdx, %rdx + 0x0f, 0x84, 0x85, 0x00, 0x00, 0x00, //0x00000f48 je LBB0_193 + 0x48, 0x0f, 0xbc, 0xca, //0x00000f4e bsfq %rdx, %rcx + 0x4c, 0x8b, 0x55, 0xb8, //0x00000f52 movq $-72(%rbp), %r10 + 0x4d, 0x29, 0xcb, //0x00000f56 subq %r9, %r11 + 0x48, 0x39, 0xc1, //0x00000f59 cmpq %rax, %rcx + 0x0f, 0x83, 0x86, 0x00, 0x00, 0x00, //0x00000f5c jae LBB0_194 + 0xe9, 0x82, 0x18, 0x00, 0x00, //0x00000f62 jmp LBB0_185 + //0x00000f67 LBB0_186 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000f67 movl $64, %ecx + 0x48, 0x8b, 0x7d, 0xc0, //0x00000f6c movq $-64(%rbp), %rdi + 0x4c, 0x2b, 0x5d, 0xd0, //0x00000f70 subq $-48(%rbp), %r11 + 0x48, 0x39, 0xc1, //0x00000f74 cmpq %rax, %rcx + 0x0f, 0x82, 0x5a, 0x18, 0x00, 0x00, //0x00000f77 jb LBB0_149 + //0x00000f7d LBB0_187 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000f7d leaq $1(%r11,%rax), %r11 + //0x00000f82 LBB0_188 + 0x4d, 0x85, 0xdb, //0x00000f82 testq %r11, %r11 + 0x0f, 0x88, 0x21, 0x16, 0x00, 0x00, //0x00000f85 js LBB0_419 + 0x48, 0x8b, 0x75, 0xc8, //0x00000f8b movq $-56(%rbp), %rsi + 0x4c, 0x89, 0x1e, //0x00000f8f movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000f92 movq %r15, %rax + 0x48, 0x85, 0xff, //0x00000f95 testq %rdi, %rdi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00000f98 movq $-48(%rbp), %r9 + 0x0f, 0x8f, 0xe2, 0xf1, 0xff, 0xff, //0x00000f9c jg LBB0_4 + 0xe9, 0x3d, 0x16, 0x00, 0x00, //0x00000fa2 jmp LBB0_427 + //0x00000fa7 LBB0_190 + 0x4c, 0x89, 0xe8, //0x00000fa7 movq %r13, %rax + 0x4c, 0x09, 0xe0, //0x00000faa orq %r12, %rax + 0x4d, 0x39, 0xe5, //0x00000fad cmpq %r12, %r13 + 0x0f, 0x8c, 0xd9, 0x04, 0x00, 0x00, //0x00000fb0 jl LBB0_256 + 0x48, 0x85, 0xc0, //0x00000fb6 testq %rax, %rax + 0x0f, 0x88, 0xd0, 0x04, 0x00, 0x00, //0x00000fb9 js LBB0_256 + 0x49, 0xf7, 0xd5, //0x00000fbf notq %r13 + 0x4d, 0x89, 0xeb, //0x00000fc2 movq %r13, %r11 + 0x4d, 0x85, 0xdb, //0x00000fc5 testq %r11, %r11 + 0x0f, 0x89, 0x21, 0x0d, 0x00, 0x00, //0x00000fc8 jns LBB0_335 + 0xe9, 0xfe, 0x15, 0x00, 0x00, //0x00000fce jmp LBB0_423 + //0x00000fd3 LBB0_193 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000fd3 movl $64, %ecx + 0x4c, 0x8b, 0x55, 0xb8, //0x00000fd8 movq $-72(%rbp), %r10 + 0x4d, 0x29, 0xcb, //0x00000fdc subq %r9, %r11 + 0x48, 0x39, 0xc1, //0x00000fdf cmpq %rax, %rcx + 0x0f, 0x82, 0x01, 0x18, 0x00, 0x00, //0x00000fe2 jb LBB0_185 + //0x00000fe8 LBB0_194 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x00000fe8 leaq $1(%r11,%rax), %r11 + //0x00000fed LBB0_195 + 0x4d, 0x85, 0xdb, //0x00000fed testq %r11, %r11 + 0x0f, 0x88, 0xfd, 0x15, 0x00, 0x00, //0x00000ff0 js LBB0_428 + 0x4c, 0x89, 0x1e, //0x00000ff6 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00000ff9 movq %r15, %rax + 0x48, 0x83, 0x7d, 0xc0, 0x00, //0x00000ffc cmpq $0, $-64(%rbp) + 0x0f, 0x8e, 0xdd, 0x15, 0x00, 0x00, //0x00001001 jle LBB0_427 + 0x48, 0x8b, 0x55, 0x88, //0x00001007 movq $-120(%rbp), %rdx + 0x48, 0x8b, 0x02, //0x0000100b movq (%rdx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x0000100e cmpq $4095, %rax + 0x0f, 0x8f, 0x86, 0x15, 0x00, 0x00, //0x00001014 jg LBB0_439 + 0x48, 0x8d, 0x48, 0x01, //0x0000101a leaq $1(%rax), %rcx + 0x48, 0x89, 0x0a, //0x0000101e movq %rcx, (%rdx) + 0x48, 0xc7, 0x44, 0xc2, 0x08, 0x04, 0x00, 0x00, 0x00, //0x00001021 movq $4, $8(%rdx,%rax,8) + 0xe9, 0x55, 0xf1, 0xff, 0xff, //0x0000102a jmp LBB0_4 + //0x0000102f LBB0_199 + 0x48, 0x8b, 0x45, 0x98, //0x0000102f movq $-104(%rbp), %rax + 0x48, 0x8b, 0x48, 0x08, //0x00001033 movq $8(%rax), %rcx + 0xf6, 0x45, 0x80, 0x20, //0x00001037 testb $32, $-128(%rbp) + 0x48, 0x89, 0x4d, 0xb8, //0x0000103b movq %rcx, $-72(%rbp) + 0x49, 0x89, 0xca, //0x0000103f movq %rcx, %r10 + 0x0f, 0x85, 0xe7, 0x04, 0x00, 0x00, //0x00001042 jne LBB0_266 + 0x48, 0x8b, 0x45, 0xc0, //0x00001048 movq $-64(%rbp), %rax + 0x49, 0x29, 0xc2, //0x0000104c subq %rax, %r10 + 0x0f, 0x84, 0xb6, 0x17, 0x00, 0x00, //0x0000104f je LBB0_466 + 0x4d, 0x8d, 0x1c, 0x01, //0x00001055 leaq (%r9,%rax), %r11 + 0x49, 0x83, 0xfa, 0x40, //0x00001059 cmpq $64, %r10 + 0x0f, 0x82, 0x72, 0x10, 0x00, 0x00, //0x0000105d jb LBB0_368 + 0x44, 0x89, 0xd2, //0x00001063 movl %r10d, %edx + 0x83, 0xe2, 0x3f, //0x00001066 andl $63, %edx + 0x48, 0x89, 0x55, 0xb0, //0x00001069 movq %rdx, $-80(%rbp) + 0x4e, 0x8d, 0x64, 0x01, 0xc0, //0x0000106d leaq $-64(%rcx,%r8), %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00001072 andq $-64, %r12 + 0x49, 0x01, 0xc4, //0x00001076 addq %rax, %r12 + 0x4c, 0x03, 0x65, 0x90, //0x00001079 addq $-112(%rbp), %r12 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000107d movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x00001084 xorl %r9d, %r9d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001087 .p2align 4, 0x90 + //0x00001090 LBB0_203 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001090 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001095 movdqu $16(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6b, 0x20, //0x0000109b movdqu $32(%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x30, //0x000010a1 movdqu $48(%r11), %xmm6 + 0x66, 0x0f, 0x6f, 0xfb, //0x000010a7 movdqa %xmm3, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010ab pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xff, //0x000010af pmovmskb %xmm7, %edi + 0x66, 0x0f, 0x6f, 0xfc, //0x000010b3 movdqa %xmm4, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010b7 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xcf, //0x000010bb pmovmskb %xmm7, %ecx + 0x66, 0x0f, 0x6f, 0xfd, //0x000010bf movdqa %xmm5, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010c3 pcmpeqb %xmm0, %xmm7 + 0x66, 0x0f, 0xd7, 0xf7, //0x000010c7 pmovmskb %xmm7, %esi + 0x66, 0x0f, 0x6f, 0xfe, //0x000010cb movdqa %xmm6, %xmm7 + 0x66, 0x0f, 0x74, 0xf8, //0x000010cf pcmpeqb %xmm0, %xmm7 + 0x66, 0x44, 0x0f, 0xd7, 0xef, //0x000010d3 pmovmskb %xmm7, %r13d + 0x66, 0x0f, 0x74, 0xd9, //0x000010d8 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x000010dc pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x74, 0xe1, //0x000010e0 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x000010e4 pmovmskb %xmm4, %eax + 0x66, 0x0f, 0x74, 0xe9, //0x000010e8 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x000010ec pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x74, 0xf1, //0x000010f0 pcmpeqb %xmm1, %xmm6 + 0x66, 0x44, 0x0f, 0xd7, 0xf6, //0x000010f4 pmovmskb %xmm6, %r14d + 0x49, 0xc1, 0xe5, 0x30, //0x000010f9 shlq $48, %r13 + 0x48, 0xc1, 0xe6, 0x20, //0x000010fd shlq $32, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00001101 shlq $16, %rcx + 0x48, 0x09, 0xcf, //0x00001105 orq %rcx, %rdi + 0x48, 0x09, 0xf7, //0x00001108 orq %rsi, %rdi + 0x49, 0xc1, 0xe6, 0x30, //0x0000110b shlq $48, %r14 + 0x48, 0xc1, 0xe3, 0x20, //0x0000110f shlq $32, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x00001113 shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00001117 orq %rax, %rdx + 0x48, 0x09, 0xda, //0x0000111a orq %rbx, %rdx + 0x4c, 0x09, 0xf2, //0x0000111d orq %r14, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001120 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001124 jne LBB0_205 + 0x48, 0x85, 0xd2, //0x0000112a testq %rdx, %rdx + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000112d jne LBB0_214 + //0x00001133 LBB0_205 + 0x4c, 0x09, 0xef, //0x00001133 orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x00001136 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00001139 orq %r9, %rax + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000113c jne LBB0_215 + //0x00001142 LBB0_206 + 0x48, 0x85, 0xff, //0x00001142 testq %rdi, %rdi + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00001145 jne LBB0_216 + //0x0000114b LBB0_207 + 0x49, 0x83, 0xc2, 0xc0, //0x0000114b addq $-64, %r10 + 0x49, 0x83, 0xc3, 0x40, //0x0000114f addq $64, %r11 + 0x49, 0x83, 0xfa, 0x3f, //0x00001153 cmpq $63, %r10 + 0x0f, 0x87, 0x33, 0xff, 0xff, 0xff, //0x00001157 ja LBB0_203 + 0xe9, 0xe6, 0x0b, 0x00, 0x00, //0x0000115d jmp LBB0_208 + //0x00001162 LBB0_214 + 0x4c, 0x89, 0xd8, //0x00001162 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00001165 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc2, //0x00001169 bsfq %rdx, %r8 + 0x49, 0x01, 0xc0, //0x0000116d addq %rax, %r8 + 0x4c, 0x09, 0xef, //0x00001170 orq %r13, %rdi + 0x48, 0x89, 0xd0, //0x00001173 movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00001176 orq %r9, %rax + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x00001179 je LBB0_206 + //0x0000117f LBB0_215 + 0x4c, 0x89, 0xc8, //0x0000117f movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x00001182 notq %rax + 0x48, 0x21, 0xd0, //0x00001185 andq %rdx, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x00001188 leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x0000118c orq %r9, %rcx + 0x48, 0x89, 0xce, //0x0000118f movq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x00001192 notq %rsi + 0x48, 0x21, 0xd6, //0x00001195 andq %rdx, %rsi + 0x48, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00001198 movabsq $-6148914691236517206, %rdx + 0x48, 0x21, 0xd6, //0x000011a2 andq %rdx, %rsi + 0x45, 0x31, 0xc9, //0x000011a5 xorl %r9d, %r9d + 0x48, 0x01, 0xc6, //0x000011a8 addq %rax, %rsi + 0x41, 0x0f, 0x92, 0xc1, //0x000011ab setb %r9b + 0x48, 0x01, 0xf6, //0x000011af addq %rsi, %rsi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000011b2 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc6, //0x000011bc xorq %rax, %rsi + 0x48, 0x21, 0xce, //0x000011bf andq %rcx, %rsi + 0x48, 0xf7, 0xd6, //0x000011c2 notq %rsi + 0x48, 0x21, 0xf7, //0x000011c5 andq %rsi, %rdi + 0x48, 0x85, 0xff, //0x000011c8 testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x000011cb je LBB0_207 + //0x000011d1 LBB0_216 + 0x48, 0x0f, 0xbc, 0xc7, //0x000011d1 bsfq %rdi, %rax + 0x4c, 0x03, 0x5d, 0xa0, //0x000011d5 addq $-96(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x000011d9 addq %rax, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x000011dc movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x000011e0 movq $-48(%rbp), %r9 + 0x48, 0x8b, 0x7d, 0xb8, //0x000011e4 movq $-72(%rbp), %rdi + 0xe9, 0x02, 0x06, 0x00, 0x00, //0x000011e8 jmp LBB0_304 + //0x000011ed LBB0_217 + 0x48, 0x8b, 0x45, 0x98, //0x000011ed movq $-104(%rbp), %rax + 0x4c, 0x8b, 0x50, 0x08, //0x000011f1 movq $8(%rax), %r10 + 0x48, 0x8b, 0x45, 0xc0, //0x000011f5 movq $-64(%rbp), %rax + 0x49, 0x29, 0xc2, //0x000011f9 subq %rax, %r10 + 0x0f, 0x84, 0x56, 0x14, 0x00, 0x00, //0x000011fc je LBB0_437 + 0x4d, 0x8d, 0x24, 0x01, //0x00001202 leaq (%r9,%rax), %r12 + 0x41, 0x80, 0x3c, 0x24, 0x30, //0x00001206 cmpb $48, (%r12) + 0x0f, 0x85, 0x36, 0x00, 0x00, 0x00, //0x0000120b jne LBB0_222 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001211 movl $1, %r11d + 0x49, 0x83, 0xfa, 0x01, //0x00001217 cmpq $1, %r10 + 0x0f, 0x84, 0x03, 0x0b, 0x00, 0x00, //0x0000121b je LBB0_341 + 0x41, 0x8a, 0x44, 0x24, 0x01, //0x00001221 movb $1(%r12), %al + 0x04, 0xd2, //0x00001226 addb $-46, %al + 0x3c, 0x37, //0x00001228 cmpb $55, %al + 0x0f, 0x87, 0xf4, 0x0a, 0x00, 0x00, //0x0000122a ja LBB0_341 + 0x0f, 0xb6, 0xc0, //0x00001230 movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00001233 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x0000123d btq %rax, %rcx + 0x0f, 0x83, 0xdd, 0x0a, 0x00, 0x00, //0x00001241 jae LBB0_341 + //0x00001247 LBB0_222 + 0x49, 0x83, 0xfa, 0x10, //0x00001247 cmpq $16, %r10 + 0x0f, 0x82, 0x5d, 0x0e, 0x00, 0x00, //0x0000124b jb LBB0_367 + 0x4d, 0x8d, 0x4a, 0xf0, //0x00001251 leaq $-16(%r10), %r9 + 0x4c, 0x89, 0xc8, //0x00001255 movq %r9, %rax + 0x48, 0x83, 0xe0, 0xf0, //0x00001258 andq $-16, %rax + 0x4e, 0x8d, 0x44, 0x20, 0x10, //0x0000125c leaq $16(%rax,%r12), %r8 + 0x41, 0x83, 0xe1, 0x0f, //0x00001261 andl $15, %r9d + 0x48, 0xc7, 0x45, 0xb0, 0xff, 0xff, 0xff, 0xff, //0x00001265 movq $-1, $-80(%rbp) + 0x48, 0xc7, 0x45, 0xb8, 0xff, 0xff, 0xff, 0xff, //0x0000126d movq $-1, $-72(%rbp) + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001275 movq $-1, %r14 + 0x4d, 0x89, 0xe5, //0x0000127c movq %r12, %r13 + 0x90, //0x0000127f .p2align 4, 0x90 + //0x00001280 LBB0_224 + 0xf3, 0x41, 0x0f, 0x6f, 0x5d, 0x00, //0x00001280 movdqu (%r13), %xmm3 + 0x66, 0x0f, 0x6f, 0xe3, //0x00001286 movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x64, 0xe0, //0x0000128a pcmpgtb %xmm8, %xmm4 + 0x66, 0x41, 0x0f, 0x6f, 0xed, //0x0000128f movdqa %xmm13, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x00001294 pcmpgtb %xmm3, %xmm5 + 0x66, 0x0f, 0xdb, 0xec, //0x00001298 pand %xmm4, %xmm5 + 0x66, 0x0f, 0x6f, 0xe3, //0x0000129c movdqa %xmm3, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xe1, //0x000012a0 pcmpeqb %xmm9, %xmm4 + 0x66, 0x0f, 0x6f, 0xf3, //0x000012a5 movdqa %xmm3, %xmm6 + 0x66, 0x41, 0x0f, 0x74, 0xf2, //0x000012a9 pcmpeqb %xmm10, %xmm6 + 0x66, 0x0f, 0xeb, 0xf4, //0x000012ae por %xmm4, %xmm6 + 0x66, 0x0f, 0x6f, 0xe3, //0x000012b2 movdqa %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xe2, //0x000012b6 por %xmm2, %xmm4 + 0x66, 0x41, 0x0f, 0x74, 0xdb, //0x000012ba pcmpeqb %xmm11, %xmm3 + 0x66, 0x41, 0x0f, 0x74, 0xe4, //0x000012bf pcmpeqb %xmm12, %xmm4 + 0x66, 0x0f, 0xd7, 0xdc, //0x000012c4 pmovmskb %xmm4, %ebx + 0x66, 0x0f, 0xeb, 0xe3, //0x000012c8 por %xmm3, %xmm4 + 0x66, 0x0f, 0xeb, 0xee, //0x000012cc por %xmm6, %xmm5 + 0x66, 0x0f, 0xeb, 0xec, //0x000012d0 por %xmm4, %xmm5 + 0x66, 0x0f, 0xd7, 0xc3, //0x000012d4 pmovmskb %xmm3, %eax + 0x66, 0x0f, 0xd7, 0xd6, //0x000012d8 pmovmskb %xmm6, %edx + 0x66, 0x0f, 0xd7, 0xcd, //0x000012dc pmovmskb %xmm5, %ecx + 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, //0x000012e0 movl $2863311530, %esi + 0x48, 0x8d, 0xbe, 0x55, 0x55, 0x55, 0x55, //0x000012e5 leaq $1431655765(%rsi), %rdi + 0x48, 0x31, 0xcf, //0x000012ec xorq %rcx, %rdi + 0x48, 0x0f, 0xbc, 0xcf, //0x000012ef bsfq %rdi, %rcx + 0x83, 0xf9, 0x10, //0x000012f3 cmpl $16, %ecx + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000012f6 je LBB0_226 + 0xbf, 0xff, 0xff, 0xff, 0xff, //0x000012fc movl $-1, %edi + 0xd3, 0xe7, //0x00001301 shll %cl, %edi + 0xf7, 0xd7, //0x00001303 notl %edi + 0x21, 0xf8, //0x00001305 andl %edi, %eax + 0x21, 0xfb, //0x00001307 andl %edi, %ebx + 0x21, 0xd7, //0x00001309 andl %edx, %edi + 0x89, 0xfa, //0x0000130b movl %edi, %edx + //0x0000130d LBB0_226 + 0x8d, 0x78, 0xff, //0x0000130d leal $-1(%rax), %edi + 0x21, 0xc7, //0x00001310 andl %eax, %edi + 0x0f, 0x85, 0xee, 0x09, 0x00, 0x00, //0x00001312 jne LBB0_337 + 0x8d, 0x7b, 0xff, //0x00001318 leal $-1(%rbx), %edi + 0x21, 0xdf, //0x0000131b andl %ebx, %edi + 0x0f, 0x85, 0xe3, 0x09, 0x00, 0x00, //0x0000131d jne LBB0_337 + 0x8d, 0x7a, 0xff, //0x00001323 leal $-1(%rdx), %edi + 0x21, 0xd7, //0x00001326 andl %edx, %edi + 0x0f, 0x85, 0xd8, 0x09, 0x00, 0x00, //0x00001328 jne LBB0_337 + 0x85, 0xc0, //0x0000132e testl %eax, %eax + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00001330 je LBB0_232 + 0x4c, 0x89, 0xef, //0x00001336 movq %r13, %rdi + 0x4c, 0x29, 0xe7, //0x00001339 subq %r12, %rdi + 0x44, 0x0f, 0xbc, 0xd8, //0x0000133c bsfl %eax, %r11d + 0x49, 0x01, 0xfb, //0x00001340 addq %rdi, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x00001343 cmpq $-1, %r14 + 0x0f, 0x85, 0xc3, 0x09, 0x00, 0x00, //0x00001347 jne LBB0_338 + 0x4d, 0x89, 0xde, //0x0000134d movq %r11, %r14 + //0x00001350 LBB0_232 + 0x85, 0xdb, //0x00001350 testl %ebx, %ebx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00001352 je LBB0_235 + 0x4c, 0x89, 0xe8, //0x00001358 movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x0000135b subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xdb, //0x0000135e bsfl %ebx, %r11d + 0x49, 0x01, 0xc3, //0x00001362 addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb8, 0xff, //0x00001365 cmpq $-1, $-72(%rbp) + 0x0f, 0x85, 0xa0, 0x09, 0x00, 0x00, //0x0000136a jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xb8, //0x00001370 movq %r11, $-72(%rbp) + //0x00001374 LBB0_235 + 0x85, 0xd2, //0x00001374 testl %edx, %edx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x00001376 je LBB0_238 + 0x4c, 0x89, 0xe8, //0x0000137c movq %r13, %rax + 0x4c, 0x29, 0xe0, //0x0000137f subq %r12, %rax + 0x44, 0x0f, 0xbc, 0xda, //0x00001382 bsfl %edx, %r11d + 0x49, 0x01, 0xc3, //0x00001386 addq %rax, %r11 + 0x48, 0x83, 0x7d, 0xb0, 0xff, //0x00001389 cmpq $-1, $-80(%rbp) + 0x0f, 0x85, 0x7c, 0x09, 0x00, 0x00, //0x0000138e jne LBB0_338 + 0x4c, 0x89, 0x5d, 0xb0, //0x00001394 movq %r11, $-80(%rbp) + //0x00001398 LBB0_238 + 0x83, 0xf9, 0x10, //0x00001398 cmpl $16, %ecx + 0x0f, 0x85, 0xaa, 0x03, 0x00, 0x00, //0x0000139b jne LBB0_290 + 0x49, 0x83, 0xc5, 0x10, //0x000013a1 addq $16, %r13 + 0x49, 0x83, 0xc2, 0xf0, //0x000013a5 addq $-16, %r10 + 0x49, 0x83, 0xfa, 0x0f, //0x000013a9 cmpq $15, %r10 + 0x0f, 0x87, 0xcd, 0xfe, 0xff, 0xff, //0x000013ad ja LBB0_224 + 0x4d, 0x85, 0xc9, //0x000013b3 testq %r9, %r9 + 0x48, 0x8d, 0x35, 0xc3, 0x16, 0x00, 0x00, //0x000013b6 leaq $5827(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0x48, 0x8b, 0x7d, 0xb8, //0x000013bd movq $-72(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb0, //0x000013c1 movq $-80(%rbp), %rbx + 0x0f, 0x84, 0x8e, 0x03, 0x00, 0x00, //0x000013c5 je LBB0_291 + //0x000013cb LBB0_241 + 0x4b, 0x8d, 0x0c, 0x08, //0x000013cb leaq (%r8,%r9), %rcx + 0xe9, 0x08, 0x01, 0x00, 0x00, //0x000013cf jmp LBB0_260 + //0x000013d4 LBB0_242 + 0x48, 0x8b, 0x55, 0x88, //0x000013d4 movq $-120(%rbp), %rdx + 0x48, 0x8b, 0x02, //0x000013d8 movq (%rdx), %rax + 0x48, 0x3d, 0xff, 0x0f, 0x00, 0x00, //0x000013db cmpq $4095, %rax + 0x0f, 0x8f, 0xb9, 0x11, 0x00, 0x00, //0x000013e1 jg LBB0_439 + 0x48, 0x8d, 0x48, 0x01, //0x000013e7 leaq $1(%rax), %rcx + 0x48, 0x89, 0x0a, //0x000013eb movq %rcx, (%rdx) + 0x48, 0xc7, 0x44, 0xc2, 0x08, 0x05, 0x00, 0x00, 0x00, //0x000013ee movq $5, $8(%rdx,%rax,8) + 0xe9, 0x84, 0xed, 0xff, 0xff, //0x000013f7 jmp LBB0_3 + //0x000013fc LBB0_244 + 0x48, 0x8b, 0x4d, 0x98, //0x000013fc movq $-104(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001400 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfc, //0x00001404 leaq $-4(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001408 cmpq %rdx, %r15 + 0x0f, 0x83, 0xfb, 0x11, 0x00, 0x00, //0x0000140b jae LBB0_440 + 0x48, 0x8b, 0x55, 0xc0, //0x00001411 movq $-64(%rbp), %rdx + 0x41, 0x8b, 0x0c, 0x11, //0x00001415 movl (%r9,%rdx), %ecx + 0x81, 0xf9, 0x61, 0x6c, 0x73, 0x65, //0x00001419 cmpl $1702063201, %ecx + 0x0f, 0x85, 0x5b, 0x12, 0x00, 0x00, //0x0000141f jne LBB0_443 + 0x4d, 0x8d, 0x5f, 0x05, //0x00001425 leaq $5(%r15), %r11 + 0x4c, 0x89, 0x1e, //0x00001429 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x0000142c movq %r15, %rax + 0x48, 0x85, 0xd2, //0x0000142f testq %rdx, %rdx + 0x0f, 0x8f, 0x4c, 0xed, 0xff, 0xff, //0x00001432 jg LBB0_4 + 0xe9, 0xa7, 0x11, 0x00, 0x00, //0x00001438 jmp LBB0_427 + //0x0000143d LBB0_247 + 0x48, 0x8b, 0x4d, 0x98, //0x0000143d movq $-104(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001441 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x00001445 leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001449 cmpq %rdx, %r15 + 0x0f, 0x83, 0xba, 0x11, 0x00, 0x00, //0x0000144c jae LBB0_440 + 0x41, 0x81, 0x3a, 0x6e, 0x75, 0x6c, 0x6c, //0x00001452 cmpl $1819047278, (%r10) + 0x0f, 0x84, 0x27, 0x00, 0x00, 0x00, //0x00001459 je LBB0_255 + 0xe9, 0x71, 0x12, 0x00, 0x00, //0x0000145f jmp LBB0_249 + //0x00001464 LBB0_253 + 0x48, 0x8b, 0x4d, 0x98, //0x00001464 movq $-104(%rbp), %rcx + 0x48, 0x8b, 0x49, 0x08, //0x00001468 movq $8(%rcx), %rcx + 0x48, 0x8d, 0x51, 0xfd, //0x0000146c leaq $-3(%rcx), %rdx + 0x49, 0x39, 0xd7, //0x00001470 cmpq %rdx, %r15 + 0x0f, 0x83, 0x93, 0x11, 0x00, 0x00, //0x00001473 jae LBB0_440 + 0x41, 0x81, 0x3a, 0x74, 0x72, 0x75, 0x65, //0x00001479 cmpl $1702195828, (%r10) + 0x0f, 0x85, 0xa1, 0x12, 0x00, 0x00, //0x00001480 jne LBB0_448 + //0x00001486 LBB0_255 + 0x4d, 0x8d, 0x5f, 0x04, //0x00001486 leaq $4(%r15), %r11 + 0xe9, 0x69, 0x03, 0x00, 0x00, //0x0000148a jmp LBB0_305 + //0x0000148f LBB0_256 + 0x48, 0x85, 0xc0, //0x0000148f testq %rax, %rax + 0x49, 0x8d, 0x44, 0x24, 0xff, //0x00001492 leaq $-1(%r12), %rax + 0x49, 0xf7, 0xd4, //0x00001497 notq %r12 + 0x4d, 0x0f, 0x48, 0xe3, //0x0000149a cmovsq %r11, %r12 + 0x49, 0x39, 0xc5, //0x0000149e cmpq %rax, %r13 + 0x4d, 0x0f, 0x44, 0xdc, //0x000014a1 cmoveq %r12, %r11 + 0x4d, 0x85, 0xdb, //0x000014a5 testq %r11, %r11 + 0x0f, 0x89, 0x41, 0x08, 0x00, 0x00, //0x000014a8 jns LBB0_335 + 0xe9, 0x1e, 0x11, 0x00, 0x00, //0x000014ae jmp LBB0_423 + //0x000014b3 LBB0_257 + 0x49, 0x89, 0xc3, //0x000014b3 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x000014b6 subq %r12, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x000014b9 cmpq $-1, %r14 + 0x0f, 0x85, 0x6d, 0x0b, 0x00, 0x00, //0x000014bd jne LBB0_361 + 0x49, 0xff, 0xcb, //0x000014c3 decq %r11 + 0x4d, 0x89, 0xde, //0x000014c6 movq %r11, %r14 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000014c9 .p2align 4, 0x90 + //0x000014d0 LBB0_259 + 0x49, 0x89, 0xc0, //0x000014d0 movq %rax, %r8 + 0x49, 0xff, 0xc9, //0x000014d3 decq %r9 + 0x0f, 0x84, 0xfc, 0x09, 0x00, 0x00, //0x000014d6 je LBB0_343 + //0x000014dc LBB0_260 + 0x41, 0x0f, 0xbe, 0x10, //0x000014dc movsbl (%r8), %edx + 0x83, 0xc2, 0xd5, //0x000014e0 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x000014e3 cmpl $58, %edx + 0x0f, 0x87, 0x6d, 0x02, 0x00, 0x00, //0x000014e6 ja LBB0_291 + 0x49, 0x8d, 0x40, 0x01, //0x000014ec leaq $1(%r8), %rax + 0x48, 0x63, 0x14, 0x96, //0x000014f0 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x000014f4 addq %rsi, %rdx + 0xff, 0xe2, //0x000014f7 jmpq *%rdx + //0x000014f9 LBB0_262 + 0x49, 0x89, 0xc3, //0x000014f9 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x000014fc subq %r12, %r11 + 0x48, 0x83, 0xfb, 0xff, //0x000014ff cmpq $-1, %rbx + 0x0f, 0x85, 0x27, 0x0b, 0x00, 0x00, //0x00001503 jne LBB0_361 + 0x49, 0xff, 0xcb, //0x00001509 decq %r11 + 0x4c, 0x89, 0xdb, //0x0000150c movq %r11, %rbx + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000150f jmp LBB0_259 + //0x00001514 LBB0_264 + 0x49, 0x89, 0xc3, //0x00001514 movq %rax, %r11 + 0x4d, 0x29, 0xe3, //0x00001517 subq %r12, %r11 + 0x48, 0x83, 0xff, 0xff, //0x0000151a cmpq $-1, %rdi + 0x0f, 0x85, 0x0c, 0x0b, 0x00, 0x00, //0x0000151e jne LBB0_361 + 0x49, 0xff, 0xcb, //0x00001524 decq %r11 + 0x4c, 0x89, 0xdf, //0x00001527 movq %r11, %rdi + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000152a jmp LBB0_259 + //0x0000152f LBB0_266 + 0x48, 0x8b, 0x45, 0xc0, //0x0000152f movq $-64(%rbp), %rax + 0x49, 0x29, 0xc2, //0x00001533 subq %rax, %r10 + 0x0f, 0x84, 0xcf, 0x12, 0x00, 0x00, //0x00001536 je LBB0_466 + 0x4d, 0x8d, 0x1c, 0x01, //0x0000153c leaq (%r9,%rax), %r11 + 0x49, 0x83, 0xfa, 0x40, //0x00001540 cmpq $64, %r10 + 0x0f, 0x82, 0xa8, 0x0b, 0x00, 0x00, //0x00001544 jb LBB0_369 + 0x44, 0x89, 0xd2, //0x0000154a movl %r10d, %edx + 0x83, 0xe2, 0x3f, //0x0000154d andl $63, %edx + 0x48, 0x89, 0x55, 0xb0, //0x00001550 movq %rdx, $-80(%rbp) + 0x4e, 0x8d, 0x64, 0x01, 0xc0, //0x00001554 leaq $-64(%rcx,%r8), %r12 + 0x49, 0x83, 0xe4, 0xc0, //0x00001559 andq $-64, %r12 + 0x49, 0x01, 0xc4, //0x0000155d addq %rax, %r12 + 0x4c, 0x03, 0x65, 0x90, //0x00001560 addq $-112(%rbp), %r12 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001564 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x0000156b xorl %r9d, %r9d + 0x90, 0x90, //0x0000156e .p2align 4, 0x90 + //0x00001570 LBB0_269 + 0xf3, 0x41, 0x0f, 0x6f, 0x2b, //0x00001570 movdqu (%r11), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x73, 0x10, //0x00001575 movdqu $16(%r11), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x20, //0x0000157b movdqu $32(%r11), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x7b, 0x30, //0x00001581 movdqu $48(%r11), %xmm7 + 0x66, 0x0f, 0x6f, 0xdd, //0x00001587 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x0000158b pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xf3, //0x0000158f pmovmskb %xmm3, %esi + 0x66, 0x0f, 0x6f, 0xde, //0x00001593 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x00001597 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x0000159b pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdc, //0x0000159f movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000015a3 pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x000015a7 pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xdf, //0x000015ab movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd8, //0x000015af pcmpeqb %xmm0, %xmm3 + 0x66, 0x0f, 0xd7, 0xfb, //0x000015b3 pmovmskb %xmm3, %edi + 0x66, 0x0f, 0x6f, 0xdd, //0x000015b7 movdqa %xmm5, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015bb pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xeb, //0x000015bf pmovmskb %xmm3, %r13d + 0x66, 0x0f, 0x6f, 0xde, //0x000015c4 movdqa %xmm6, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015c8 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xd3, //0x000015cc pmovmskb %xmm3, %edx + 0x66, 0x0f, 0x6f, 0xdc, //0x000015d0 movdqa %xmm4, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015d4 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe1, 0x10, //0x000015d8 shlq $16, %rcx + 0x48, 0x09, 0xce, //0x000015dc orq %rcx, %rsi + 0x66, 0x0f, 0xd7, 0xcb, //0x000015df pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x6f, 0xdf, //0x000015e3 movdqa %xmm7, %xmm3 + 0x66, 0x0f, 0x74, 0xd9, //0x000015e7 pcmpeqb %xmm1, %xmm3 + 0x48, 0xc1, 0xe3, 0x20, //0x000015eb shlq $32, %rbx + 0x48, 0x09, 0xde, //0x000015ef orq %rbx, %rsi + 0x66, 0x0f, 0xd7, 0xdb, //0x000015f2 pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x6f, 0xda, //0x000015f6 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdd, //0x000015fa pcmpgtb %xmm5, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xee, //0x000015fe pcmpgtb %xmm14, %xmm5 + 0x66, 0x0f, 0xdb, 0xeb, //0x00001603 pand %xmm3, %xmm5 + 0x48, 0xc1, 0xe2, 0x10, //0x00001607 shlq $16, %rdx + 0x49, 0x09, 0xd5, //0x0000160b orq %rdx, %r13 + 0x66, 0x0f, 0xd7, 0xd5, //0x0000160e pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xda, //0x00001612 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xde, //0x00001616 pcmpgtb %xmm6, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xf6, //0x0000161a pcmpgtb %xmm14, %xmm6 + 0x66, 0x0f, 0xdb, 0xf3, //0x0000161f pand %xmm3, %xmm6 + 0x48, 0xc1, 0xe1, 0x20, //0x00001623 shlq $32, %rcx + 0x49, 0x09, 0xcd, //0x00001627 orq %rcx, %r13 + 0x66, 0x0f, 0xd7, 0xc6, //0x0000162a pmovmskb %xmm6, %eax + 0x66, 0x0f, 0x6f, 0xda, //0x0000162e movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001632 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001636 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x0000163b pand %xmm3, %xmm4 + 0x48, 0xc1, 0xe3, 0x30, //0x0000163f shlq $48, %rbx + 0x49, 0x09, 0xdd, //0x00001643 orq %rbx, %r13 + 0x66, 0x0f, 0xd7, 0xcc, //0x00001646 pmovmskb %xmm4, %ecx + 0x66, 0x0f, 0x6f, 0xda, //0x0000164a movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdf, //0x0000164e pcmpgtb %xmm7, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xfe, //0x00001652 pcmpgtb %xmm14, %xmm7 + 0x66, 0x0f, 0xdb, 0xfb, //0x00001657 pand %xmm3, %xmm7 + 0x48, 0xc1, 0xe0, 0x10, //0x0000165b shlq $16, %rax + 0x48, 0x09, 0xc2, //0x0000165f orq %rax, %rdx + 0x66, 0x44, 0x0f, 0xd7, 0xf7, //0x00001662 pmovmskb %xmm7, %r14d + 0x48, 0xc1, 0xe7, 0x30, //0x00001667 shlq $48, %rdi + 0x48, 0xc1, 0xe1, 0x20, //0x0000166b shlq $32, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x0000166f cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001673 jne LBB0_271 + 0x4d, 0x85, 0xed, //0x00001679 testq %r13, %r13 + 0x0f, 0x85, 0x9c, 0x00, 0x00, 0x00, //0x0000167c jne LBB0_286 + //0x00001682 LBB0_271 + 0x49, 0xc1, 0xe6, 0x30, //0x00001682 shlq $48, %r14 + 0x48, 0x09, 0xca, //0x00001686 orq %rcx, %rdx + 0x48, 0x09, 0xfe, //0x00001689 orq %rdi, %rsi + 0x4c, 0x89, 0xe8, //0x0000168c movq %r13, %rax + 0x4c, 0x09, 0xc8, //0x0000168f orq %r9, %rax + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00001692 jne LBB0_287 + 0x4c, 0x09, 0xf2, //0x00001698 orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x0000169b testq %rsi, %rsi + 0x0f, 0x85, 0x8d, 0x00, 0x00, 0x00, //0x0000169e jne LBB0_288 + //0x000016a4 LBB0_273 + 0x48, 0x85, 0xd2, //0x000016a4 testq %rdx, %rdx + 0x0f, 0x85, 0xec, 0x10, 0x00, 0x00, //0x000016a7 jne LBB0_456 + 0x49, 0x83, 0xc2, 0xc0, //0x000016ad addq $-64, %r10 + 0x49, 0x83, 0xc3, 0x40, //0x000016b1 addq $64, %r11 + 0x49, 0x83, 0xfa, 0x3f, //0x000016b5 cmpq $63, %r10 + 0x0f, 0x87, 0xb1, 0xfe, 0xff, 0xff, //0x000016b9 ja LBB0_269 + 0xe9, 0x1a, 0x07, 0x00, 0x00, //0x000016bf jmp LBB0_275 + //0x000016c4 LBB0_287 + 0x4c, 0x89, 0xc8, //0x000016c4 movq %r9, %rax + 0x48, 0xf7, 0xd0, //0x000016c7 notq %rax + 0x4c, 0x21, 0xe8, //0x000016ca andq %r13, %rax + 0x48, 0x8d, 0x0c, 0x00, //0x000016cd leaq (%rax,%rax), %rcx + 0x4c, 0x09, 0xc9, //0x000016d1 orq %r9, %rcx + 0x48, 0x89, 0xcf, //0x000016d4 movq %rcx, %rdi + 0x48, 0xf7, 0xd7, //0x000016d7 notq %rdi + 0x4c, 0x21, 0xef, //0x000016da andq %r13, %rdi + 0x48, 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000016dd movabsq $-6148914691236517206, %rbx + 0x48, 0x21, 0xdf, //0x000016e7 andq %rbx, %rdi + 0x45, 0x31, 0xc9, //0x000016ea xorl %r9d, %r9d + 0x48, 0x01, 0xc7, //0x000016ed addq %rax, %rdi + 0x41, 0x0f, 0x92, 0xc1, //0x000016f0 setb %r9b + 0x48, 0x01, 0xff, //0x000016f4 addq %rdi, %rdi + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000016f7 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc7, //0x00001701 xorq %rax, %rdi + 0x48, 0x21, 0xcf, //0x00001704 andq %rcx, %rdi + 0x48, 0xf7, 0xd7, //0x00001707 notq %rdi + 0x48, 0x21, 0xfe, //0x0000170a andq %rdi, %rsi + 0x4c, 0x09, 0xf2, //0x0000170d orq %r14, %rdx + 0x48, 0x85, 0xf6, //0x00001710 testq %rsi, %rsi + 0x0f, 0x84, 0x8b, 0xff, 0xff, 0xff, //0x00001713 je LBB0_273 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00001719 jmp LBB0_288 + //0x0000171e LBB0_286 + 0x4c, 0x89, 0xd8, //0x0000171e movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00001721 subq $-48(%rbp), %rax + 0x4d, 0x0f, 0xbc, 0xc5, //0x00001725 bsfq %r13, %r8 + 0x49, 0x01, 0xc0, //0x00001729 addq %rax, %r8 + 0xe9, 0x51, 0xff, 0xff, 0xff, //0x0000172c jmp LBB0_271 + //0x00001731 LBB0_288 + 0x48, 0x0f, 0xbc, 0xc6, //0x00001731 bsfq %rsi, %rax + 0x48, 0x85, 0xd2, //0x00001735 testq %rdx, %rdx + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001738 movq $-48(%rbp), %r9 + 0x0f, 0x84, 0x8f, 0x00, 0x00, 0x00, //0x0000173c je LBB0_301 + 0x48, 0x0f, 0xbc, 0xca, //0x00001742 bsfq %rdx, %rcx + 0xe9, 0x8b, 0x00, 0x00, 0x00, //0x00001746 jmp LBB0_302 + //0x0000174b LBB0_290 + 0x49, 0x01, 0xcd, //0x0000174b addq %rcx, %r13 + 0x4d, 0x89, 0xe8, //0x0000174e movq %r13, %r8 + 0x48, 0x8b, 0x7d, 0xb8, //0x00001751 movq $-72(%rbp), %rdi + 0x48, 0x8b, 0x5d, 0xb0, //0x00001755 movq $-80(%rbp), %rbx + //0x00001759 LBB0_291 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001759 movq $-1, %r11 + 0x48, 0x85, 0xff, //0x00001760 testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001763 movq $-56(%rbp), %rsi + 0x0f, 0x84, 0xf2, 0x0e, 0x00, 0x00, //0x00001767 je LBB0_438 + //0x0000176d LBB0_292 + 0x48, 0x85, 0xdb, //0x0000176d testq %rbx, %rbx + 0x0f, 0x84, 0xe9, 0x0e, 0x00, 0x00, //0x00001770 je LBB0_438 + 0x4d, 0x85, 0xf6, //0x00001776 testq %r14, %r14 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001779 movq $-48(%rbp), %r9 + 0x0f, 0x84, 0xdc, 0x0e, 0x00, 0x00, //0x0000177d je LBB0_438 + 0x4d, 0x29, 0xe0, //0x00001783 subq %r12, %r8 + 0x49, 0x8d, 0x40, 0xff, //0x00001786 leaq $-1(%r8), %rax + 0x48, 0x39, 0xc7, //0x0000178a cmpq %rax, %rdi + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x0000178d je LBB0_300 + 0x49, 0x39, 0xc6, //0x00001793 cmpq %rax, %r14 + 0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x00001796 je LBB0_300 + 0x48, 0x39, 0xc3, //0x0000179c cmpq %rax, %rbx + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x0000179f je LBB0_300 + 0x48, 0x85, 0xdb, //0x000017a5 testq %rbx, %rbx + 0x0f, 0x8e, 0x72, 0x00, 0x00, 0x00, //0x000017a8 jle LBB0_307 + 0x48, 0x8d, 0x43, 0xff, //0x000017ae leaq $-1(%rbx), %rax + 0x48, 0x39, 0xc7, //0x000017b2 cmpq %rax, %rdi + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x000017b5 je LBB0_307 + 0x48, 0xf7, 0xd3, //0x000017bb notq %rbx + 0x49, 0x89, 0xdb, //0x000017be movq %rbx, %r11 + 0xe9, 0x55, 0x05, 0x00, 0x00, //0x000017c1 jmp LBB0_340 + //0x000017c6 LBB0_300 + 0x49, 0xf7, 0xd8, //0x000017c6 negq %r8 + 0x4d, 0x89, 0xc3, //0x000017c9 movq %r8, %r11 + 0xe9, 0x4a, 0x05, 0x00, 0x00, //0x000017cc jmp LBB0_340 + //0x000017d1 LBB0_301 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000017d1 movl $64, %ecx + //0x000017d6 LBB0_302 + 0x48, 0x8b, 0x75, 0xc8, //0x000017d6 movq $-56(%rbp), %rsi + 0x48, 0x8b, 0x7d, 0xb8, //0x000017da movq $-72(%rbp), %rdi + 0x4d, 0x29, 0xcb, //0x000017de subq %r9, %r11 + 0x48, 0x39, 0xc1, //0x000017e1 cmpq %rax, %rcx + 0x0f, 0x82, 0xff, 0x0f, 0x00, 0x00, //0x000017e4 jb LBB0_185 + 0x4d, 0x8d, 0x5c, 0x03, 0x01, //0x000017ea leaq $1(%r11,%rax), %r11 + //0x000017ef LBB0_304 + 0x4d, 0x85, 0xdb, //0x000017ef testq %r11, %r11 + 0x0f, 0x88, 0x6f, 0x0e, 0x00, 0x00, //0x000017f2 js LBB0_441 + //0x000017f8 LBB0_305 + 0x4c, 0x89, 0x1e, //0x000017f8 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x000017fb movq %r15, %rax + 0x48, 0x83, 0x7d, 0xc0, 0x00, //0x000017fe cmpq $0, $-64(%rbp) + 0x0f, 0x8f, 0x7b, 0xe9, 0xff, 0xff, //0x00001803 jg LBB0_4 + 0xe9, 0xd6, 0x0d, 0x00, 0x00, //0x00001809 jmp LBB0_427 + //0x0000180e LBB0_306 + 0x4d, 0x29, 0xd6, //0x0000180e subq %r10, %r14 + 0x44, 0x0f, 0xbc, 0xde, //0x00001811 bsfl %esi, %r11d + 0x4d, 0x01, 0xf3, //0x00001815 addq %r14, %r11 + 0x49, 0xf7, 0xd3, //0x00001818 notq %r11 + 0xe9, 0xbe, 0x04, 0x00, 0x00, //0x0000181b jmp LBB0_334 + //0x00001820 LBB0_307 + 0x4c, 0x89, 0xf0, //0x00001820 movq %r14, %rax + 0x48, 0x09, 0xf8, //0x00001823 orq %rdi, %rax + 0x49, 0x39, 0xfe, //0x00001826 cmpq %rdi, %r14 + 0x0f, 0x8c, 0x93, 0x01, 0x00, 0x00, //0x00001829 jl LBB0_310 + 0x48, 0x85, 0xc0, //0x0000182f testq %rax, %rax + 0x0f, 0x88, 0x8a, 0x01, 0x00, 0x00, //0x00001832 js LBB0_310 + 0x49, 0xf7, 0xd6, //0x00001838 notq %r14 + 0x4d, 0x89, 0xf3, //0x0000183b movq %r14, %r11 + 0xe9, 0xd8, 0x04, 0x00, 0x00, //0x0000183e jmp LBB0_340 + //0x00001843 LBB0_50 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00001843 movq $-80(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xb8, //0x00001847 movq $-72(%rbp), %r13 + 0x49, 0x83, 0xfd, 0x20, //0x0000184b cmpq $32, %r13 + 0x0f, 0x82, 0x57, 0x09, 0x00, 0x00, //0x0000184f jb LBB0_374 + //0x00001855 LBB0_51 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001855 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x0000185a movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001860 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001864 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xfd, //0x00001868 pmovmskb %xmm5, %edi + 0x66, 0x0f, 0x6f, 0xec, //0x0000186c movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001870 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001874 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x74, 0xd9, //0x00001878 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x0000187c pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x00001880 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00001884 pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001888 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x0000188c shlq $16, %rax + 0x48, 0x09, 0xc1, //0x00001890 orq %rax, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001893 cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001897 jne LBB0_53 + 0x48, 0x85, 0xc9, //0x0000189d testq %rcx, %rcx + 0x0f, 0x85, 0xa5, 0x08, 0x00, 0x00, //0x000018a0 jne LBB0_371 + //0x000018a6 LBB0_53 + 0x48, 0x09, 0xfa, //0x000018a6 orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x000018a9 movq %rcx, %rax + 0x4c, 0x09, 0xc0, //0x000018ac orq %r8, %rax + 0x0f, 0x85, 0xb3, 0x08, 0x00, 0x00, //0x000018af jne LBB0_372 + //0x000018b5 LBB0_54 + 0x48, 0x85, 0xd2, //0x000018b5 testq %rdx, %rdx + 0x0f, 0x84, 0xe6, 0x08, 0x00, 0x00, //0x000018b8 je LBB0_373 + //0x000018be LBB0_55 + 0x48, 0x0f, 0xbc, 0xc2, //0x000018be bsfq %rdx, %rax + 0xe9, 0xae, 0xec, 0xff, 0xff, //0x000018c2 jmp LBB0_59 + //0x000018c7 LBB0_113 + 0x4d, 0x89, 0xc3, //0x000018c7 movq %r8, %r11 + 0x48, 0x8b, 0x45, 0xb8, //0x000018ca movq $-72(%rbp), %rax + 0x4d, 0x89, 0xd5, //0x000018ce movq %r10, %r13 + 0x48, 0x83, 0xf8, 0x20, //0x000018d1 cmpq $32, %rax + 0x0f, 0x82, 0x0c, 0x07, 0x00, 0x00, //0x000018d5 jb LBB0_357 + //0x000018db LBB0_114 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x000018db movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x000018e0 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x000018e6 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x000018ea pcmpeqb %xmm0, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xc5, //0x000018ee pmovmskb %xmm5, %r8d + 0x66, 0x0f, 0x6f, 0xec, //0x000018f3 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x000018f7 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x000018fb pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x6f, 0xeb, //0x000018ff movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001903 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001907 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xec, //0x0000190b movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x0000190f pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xcd, //0x00001913 pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xea, //0x00001917 movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x0000191b pcmpgtb %xmm3, %xmm5 + 0x66, 0x41, 0x0f, 0x64, 0xde, //0x0000191f pcmpgtb %xmm14, %xmm3 + 0x66, 0x0f, 0xdb, 0xdd, //0x00001924 pand %xmm5, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001928 pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x0000192d movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001931 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001935 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x0000193a pand %xmm3, %xmm4 + 0x66, 0x44, 0x0f, 0xd7, 0xd4, //0x0000193e pmovmskb %xmm4, %r10d + 0x48, 0xc1, 0xe6, 0x10, //0x00001943 shlq $16, %rsi + 0x48, 0xc1, 0xe1, 0x10, //0x00001947 shlq $16, %rcx + 0x48, 0x09, 0xca, //0x0000194b orq %rcx, %rdx + 0x49, 0x83, 0xf9, 0xff, //0x0000194e cmpq $-1, %r9 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001952 jne LBB0_116 + 0x48, 0x85, 0xd2, //0x00001958 testq %rdx, %rdx + 0x0f, 0x85, 0xd1, 0x08, 0x00, 0x00, //0x0000195b jne LBB0_382 + //0x00001961 LBB0_116 + 0x49, 0xc1, 0xe2, 0x10, //0x00001961 shlq $16, %r10 + 0x4c, 0x09, 0xc6, //0x00001965 orq %r8, %rsi + 0x48, 0x89, 0xd1, //0x00001968 movq %rdx, %rcx + 0x48, 0x09, 0xd9, //0x0000196b orq %rbx, %rcx + 0x0f, 0x85, 0x9b, 0x07, 0x00, 0x00, //0x0000196e jne LBB0_370 + //0x00001974 LBB0_117 + 0x48, 0x8b, 0x7d, 0xc0, //0x00001974 movq $-64(%rbp), %rdi + 0x4d, 0x09, 0xf2, //0x00001978 orq %r14, %r10 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x0000197b movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001980 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001985 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001988 je LBB0_119 + 0x48, 0x0f, 0xbc, 0xd6, //0x0000198e bsfq %rsi, %rdx + //0x00001992 LBB0_119 + 0x4d, 0x85, 0xd2, //0x00001992 testq %r10, %r10 + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001995 je LBB0_121 + 0x49, 0x0f, 0xbc, 0xca, //0x0000199b bsfq %r10, %rcx + //0x0000199f LBB0_121 + 0x48, 0x85, 0xf6, //0x0000199f testq %rsi, %rsi + 0x0f, 0x84, 0xe0, 0x01, 0x00, 0x00, //0x000019a2 je LBB0_313 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000019a8 subq $-48(%rbp), %r11 + 0x48, 0x39, 0xd1, //0x000019ac cmpq %rdx, %rcx + 0x0f, 0x82, 0x22, 0x0e, 0x00, 0x00, //0x000019af jb LBB0_149 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x000019b5 leaq $1(%r11,%rdx), %r11 + 0x4d, 0x89, 0xea, //0x000019ba movq %r13, %r10 + 0xe9, 0xc0, 0xf5, 0xff, 0xff, //0x000019bd jmp LBB0_188 + //0x000019c2 LBB0_310 + 0x48, 0x85, 0xc0, //0x000019c2 testq %rax, %rax + 0x48, 0x8d, 0x47, 0xff, //0x000019c5 leaq $-1(%rdi), %rax + 0x48, 0xf7, 0xd7, //0x000019c9 notq %rdi + 0x49, 0x0f, 0x48, 0xf8, //0x000019cc cmovsq %r8, %rdi + 0x49, 0x39, 0xc6, //0x000019d0 cmpq %rax, %r14 + 0x49, 0x0f, 0x45, 0xf8, //0x000019d3 cmovneq %r8, %rdi + 0x49, 0x89, 0xfb, //0x000019d7 movq %rdi, %r11 + 0xe9, 0x3c, 0x03, 0x00, 0x00, //0x000019da jmp LBB0_340 + //0x000019df LBB0_311 + 0x48, 0xf7, 0xd0, //0x000019df notq %rax + 0x49, 0x89, 0xc3, //0x000019e2 movq %rax, %r11 + 0xe9, 0xf4, 0x02, 0x00, 0x00, //0x000019e5 jmp LBB0_334 + //0x000019ea LBB0_312 + 0x49, 0x89, 0xc3, //0x000019ea movq %rax, %r11 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000019ed movq $-1, %rax + 0x4d, 0x85, 0xe4, //0x000019f4 testq %r12, %r12 + 0x48, 0x8b, 0x75, 0xc8, //0x000019f7 movq $-56(%rbp), %rsi + 0x0f, 0x85, 0xad, 0xf2, 0xff, 0xff, //0x000019fb jne LBB0_153 + 0xe9, 0xce, 0x0b, 0x00, 0x00, //0x00001a01 jmp LBB0_424 + //0x00001a06 LBB0_136 + 0x4c, 0x8b, 0x9d, 0x70, 0xff, 0xff, 0xff, //0x00001a06 movq $-144(%rbp), %r11 + 0x4c, 0x8b, 0x6d, 0xb0, //0x00001a0d movq $-80(%rbp), %r13 + 0x49, 0x83, 0xfd, 0x20, //0x00001a11 cmpq $32, %r13 + 0x0f, 0x82, 0xf9, 0x08, 0x00, 0x00, //0x00001a15 jb LBB0_389 + //0x00001a1b LBB0_137 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001a1b movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001a20 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001a26 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001a2a pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xfd, //0x00001a2e pmovmskb %xmm5, %edi + 0x66, 0x0f, 0x6f, 0xec, //0x00001a32 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001a36 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001a3a pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x74, 0xd9, //0x00001a3e pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00001a42 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x00001a46 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00001a4a pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001a4e shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001a52 shlq $16, %rax + 0x48, 0x09, 0xc1, //0x00001a56 orq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001a59 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001a5d jne LBB0_139 + 0x48, 0x85, 0xc9, //0x00001a63 testq %rcx, %rcx + 0x0f, 0x85, 0x47, 0x08, 0x00, 0x00, //0x00001a66 jne LBB0_386 + //0x00001a6c LBB0_139 + 0x48, 0x09, 0xfa, //0x00001a6c orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x00001a6f movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x00001a72 orq %r9, %rax + 0x0f, 0x85, 0x55, 0x08, 0x00, 0x00, //0x00001a75 jne LBB0_387 + //0x00001a7b LBB0_140 + 0x48, 0x85, 0xd2, //0x00001a7b testq %rdx, %rdx + 0x0f, 0x84, 0x88, 0x08, 0x00, 0x00, //0x00001a7e je LBB0_388 + //0x00001a84 LBB0_141 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001a84 bsfq %rdx, %rax + 0xe9, 0xc8, 0xf1, 0xff, 0xff, //0x00001a88 jmp LBB0_145 + //0x00001a8d LBB0_170 + 0x4d, 0x89, 0xe3, //0x00001a8d movq %r12, %r11 + 0x48, 0x8b, 0x45, 0xb0, //0x00001a90 movq $-80(%rbp), %rax + 0x48, 0x83, 0xf8, 0x20, //0x00001a94 cmpq $32, %rax + 0x0f, 0x82, 0xc7, 0x05, 0x00, 0x00, //0x00001a98 jb LBB0_364 + //0x00001a9e LBB0_171 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001a9e movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001aa3 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001aa9 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001aad pcmpeqb %xmm0, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xcd, //0x00001ab1 pmovmskb %xmm5, %r9d + 0x66, 0x0f, 0x6f, 0xec, //0x00001ab6 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001aba pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xdd, //0x00001abe pmovmskb %xmm5, %ebx + 0x66, 0x0f, 0x6f, 0xeb, //0x00001ac2 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001ac6 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001aca pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xec, //0x00001ace movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001ad2 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xcd, //0x00001ad6 pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xea, //0x00001ada movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x00001ade pcmpgtb %xmm3, %xmm5 + 0x66, 0x41, 0x0f, 0x64, 0xde, //0x00001ae2 pcmpgtb %xmm14, %xmm3 + 0x66, 0x0f, 0xdb, 0xdd, //0x00001ae7 pand %xmm5, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001aeb pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x00001af0 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001af4 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001af8 pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00001afd pand %xmm3, %xmm4 + 0x66, 0x0f, 0xd7, 0xfc, //0x00001b01 pmovmskb %xmm4, %edi + 0x48, 0xc1, 0xe3, 0x10, //0x00001b05 shlq $16, %rbx + 0x48, 0xc1, 0xe1, 0x10, //0x00001b09 shlq $16, %rcx + 0x48, 0x09, 0xca, //0x00001b0d orq %rcx, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001b10 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001b14 jne LBB0_173 + 0x48, 0x85, 0xd2, //0x00001b1a testq %rdx, %rdx + 0x0f, 0x85, 0x7e, 0x08, 0x00, 0x00, //0x00001b1d jne LBB0_397 + //0x00001b23 LBB0_173 + 0x48, 0xc1, 0xe7, 0x10, //0x00001b23 shlq $16, %rdi + 0x4c, 0x09, 0xcb, //0x00001b27 orq %r9, %rbx + 0x48, 0x89, 0xd1, //0x00001b2a movq %rdx, %rcx + 0x4c, 0x09, 0xd1, //0x00001b2d orq %r10, %rcx + 0x0f, 0x85, 0x0f, 0x07, 0x00, 0x00, //0x00001b30 jne LBB0_383 + //0x00001b36 LBB0_174 + 0x48, 0x8b, 0x75, 0xc8, //0x00001b36 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001b3a movq $-48(%rbp), %r9 + 0x4c, 0x09, 0xf7, //0x00001b3e orq %r14, %rdi + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001b41 movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001b46 movl $64, %edx + 0x48, 0x85, 0xdb, //0x00001b4b testq %rbx, %rbx + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001b4e je LBB0_176 + 0x48, 0x0f, 0xbc, 0xd3, //0x00001b54 bsfq %rbx, %rdx + //0x00001b58 LBB0_176 + 0x48, 0x85, 0xff, //0x00001b58 testq %rdi, %rdi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001b5b je LBB0_178 + 0x48, 0x0f, 0xbc, 0xcf, //0x00001b61 bsfq %rdi, %rcx + //0x00001b65 LBB0_178 + 0x48, 0x85, 0xdb, //0x00001b65 testq %rbx, %rbx + 0x0f, 0x84, 0xcd, 0x00, 0x00, 0x00, //0x00001b68 je LBB0_324 + 0x4d, 0x29, 0xcb, //0x00001b6e subq %r9, %r11 + 0x48, 0x39, 0xd1, //0x00001b71 cmpq %rdx, %rcx + 0x0f, 0x82, 0x6f, 0x0c, 0x00, 0x00, //0x00001b74 jb LBB0_185 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001b7a leaq $1(%r11,%rdx), %r11 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001b7f movq $-72(%rbp), %r10 + 0xe9, 0x65, 0xf4, 0xff, 0xff, //0x00001b83 jmp LBB0_195 + //0x00001b88 LBB0_313 + 0x4d, 0x85, 0xd2, //0x00001b88 testq %r10, %r10 + 0x0f, 0x85, 0x82, 0x0c, 0x00, 0x00, //0x00001b8b jne LBB0_467 + 0x49, 0x83, 0xc3, 0x20, //0x00001b91 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001b95 addq $-32, %rax + 0x48, 0x85, 0xdb, //0x00001b99 testq %rbx, %rbx + 0x0f, 0x85, 0x52, 0x04, 0x00, 0x00, //0x00001b9c jne LBB0_358 + //0x00001ba2 LBB0_315 + 0x4d, 0x89, 0xea, //0x00001ba2 movq %r13, %r10 + 0x48, 0x85, 0xc0, //0x00001ba5 testq %rax, %rax + 0x0f, 0x84, 0x08, 0x0a, 0x00, 0x00, //0x00001ba8 je LBB0_420 + //0x00001bae LBB0_316 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001bae movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001bb2 cmpb $34, %cl + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x00001bb5 je LBB0_323 + 0x80, 0xf9, 0x5c, //0x00001bbb cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001bbe je LBB0_320 + 0x80, 0xf9, 0x1f, //0x00001bc4 cmpb $31, %cl + 0x0f, 0x86, 0x4f, 0x0c, 0x00, 0x00, //0x00001bc7 jbe LBB0_468 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001bcd movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001bd4 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001bd9 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001bdc addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001bdf jne LBB0_316 + 0xe9, 0xcc, 0x09, 0x00, 0x00, //0x00001be5 jmp LBB0_420 + //0x00001bea LBB0_320 + 0x48, 0x83, 0xf8, 0x01, //0x00001bea cmpq $1, %rax + 0x0f, 0x84, 0x5d, 0x0c, 0x00, 0x00, //0x00001bee je LBB0_473 + 0x4c, 0x89, 0xd9, //0x00001bf4 movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x00001bf7 subq $-48(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00001bfb cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00001bff cmoveq %rcx, %r9 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001c03 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001c0a movl $2, %edx + 0x48, 0x8b, 0x7d, 0xc0, //0x00001c0f movq $-64(%rbp), %rdi + 0x4d, 0x89, 0xea, //0x00001c13 movq %r13, %r10 + 0x49, 0x01, 0xd3, //0x00001c16 addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001c19 addq %rcx, %rax + 0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x00001c1c jne LBB0_316 + 0xe9, 0x8f, 0x09, 0x00, 0x00, //0x00001c22 jmp LBB0_420 + //0x00001c27 LBB0_322 + 0x48, 0xf7, 0xd6, //0x00001c27 notq %rsi + 0x49, 0x89, 0xf3, //0x00001c2a movq %rsi, %r11 + 0xe9, 0xac, 0x00, 0x00, 0x00, //0x00001c2d jmp LBB0_334 + //0x00001c32 LBB0_323 + 0x4c, 0x03, 0x5d, 0xa0, //0x00001c32 addq $-96(%rbp), %r11 + 0xe9, 0x47, 0xf3, 0xff, 0xff, //0x00001c36 jmp LBB0_188 + //0x00001c3b LBB0_324 + 0x48, 0x85, 0xff, //0x00001c3b testq %rdi, %rdi + 0x0f, 0x85, 0xe9, 0x0b, 0x00, 0x00, //0x00001c3e jne LBB0_470 + 0x49, 0x83, 0xc3, 0x20, //0x00001c44 addq $32, %r11 + 0x48, 0x83, 0xc0, 0xe0, //0x00001c48 addq $-32, %rax + 0x4d, 0x85, 0xd2, //0x00001c4c testq %r10, %r10 + 0x0f, 0x85, 0x21, 0x04, 0x00, 0x00, //0x00001c4f jne LBB0_365 + //0x00001c55 LBB0_326 + 0x4c, 0x8b, 0x55, 0xb8, //0x00001c55 movq $-72(%rbp), %r10 + 0x48, 0x85, 0xc0, //0x00001c59 testq %rax, %rax + 0x0f, 0x84, 0x9b, 0x09, 0x00, 0x00, //0x00001c5c je LBB0_429 + //0x00001c62 LBB0_327 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001c62 movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001c66 cmpb $34, %cl + 0x0f, 0x84, 0xd0, 0x00, 0x00, 0x00, //0x00001c69 je LBB0_342 + 0x80, 0xf9, 0x5c, //0x00001c6f cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001c72 je LBB0_331 + 0x80, 0xf9, 0x1f, //0x00001c78 cmpb $31, %cl + 0x0f, 0x86, 0xa4, 0x0b, 0x00, 0x00, //0x00001c7b jbe LBB0_469 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001c81 movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001c88 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001c8d addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001c90 addq %rcx, %rax + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001c93 jne LBB0_327 + 0xe9, 0x5f, 0x09, 0x00, 0x00, //0x00001c99 jmp LBB0_429 + //0x00001c9e LBB0_331 + 0x48, 0x83, 0xf8, 0x01, //0x00001c9e cmpq $1, %rax + 0x0f, 0x84, 0xb1, 0x0b, 0x00, 0x00, //0x00001ca2 je LBB0_475 + 0x4c, 0x89, 0xd9, //0x00001ca8 movq %r11, %rcx + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001cab movq $-48(%rbp), %r9 + 0x4c, 0x29, 0xc9, //0x00001caf subq %r9, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001cb2 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00001cb6 cmoveq %rcx, %r8 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001cba movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001cc1 movl $2, %edx + 0x48, 0x8b, 0x75, 0xc8, //0x00001cc6 movq $-56(%rbp), %rsi + 0x49, 0x01, 0xd3, //0x00001cca addq %rdx, %r11 + 0x48, 0x01, 0xc8, //0x00001ccd addq %rcx, %rax + 0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x00001cd0 jne LBB0_327 + 0xe9, 0x22, 0x09, 0x00, 0x00, //0x00001cd6 jmp LBB0_429 + //0x00001cdb LBB0_333 + 0x49, 0xf7, 0xdb, //0x00001cdb negq %r11 + //0x00001cde LBB0_334 + 0x48, 0x8b, 0x75, 0xc8, //0x00001cde movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001ce2 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xdb, //0x00001ce6 testq %r11, %r11 + 0x0f, 0x88, 0xe2, 0x08, 0x00, 0x00, //0x00001ce9 js LBB0_423 + //0x00001cef LBB0_335 + 0x4d, 0x01, 0xfb, //0x00001cef addq %r15, %r11 + //0x00001cf2 LBB0_336 + 0x4c, 0x89, 0x1e, //0x00001cf2 movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00001cf5 movq %r15, %rax + 0x4d, 0x85, 0xff, //0x00001cf8 testq %r15, %r15 + 0x0f, 0x89, 0x83, 0xe4, 0xff, 0xff, //0x00001cfb jns LBB0_4 + 0xe9, 0xde, 0x08, 0x00, 0x00, //0x00001d01 jmp LBB0_427 + //0x00001d06 LBB0_337 + 0x4d, 0x29, 0xe5, //0x00001d06 subq %r12, %r13 + 0x44, 0x0f, 0xbc, 0xdf, //0x00001d09 bsfl %edi, %r11d + 0x4d, 0x01, 0xeb, //0x00001d0d addq %r13, %r11 + //0x00001d10 LBB0_338 + 0x49, 0xf7, 0xd3, //0x00001d10 notq %r11 + //0x00001d13 LBB0_339 + 0x48, 0x8b, 0x75, 0xc8, //0x00001d13 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001d17 movq $-48(%rbp), %r9 + //0x00001d1b LBB0_340 + 0x4d, 0x85, 0xdb, //0x00001d1b testq %r11, %r11 + 0x0f, 0x88, 0x3b, 0x09, 0x00, 0x00, //0x00001d1e js LBB0_438 + //0x00001d24 LBB0_341 + 0x48, 0x8b, 0x4d, 0xc0, //0x00001d24 movq $-64(%rbp), %rcx + 0x49, 0x01, 0xcb, //0x00001d28 addq %rcx, %r11 + 0x4c, 0x89, 0x1e, //0x00001d2b movq %r11, (%rsi) + 0x4c, 0x89, 0xf8, //0x00001d2e movq %r15, %rax + 0x48, 0x85, 0xc9, //0x00001d31 testq %rcx, %rcx + 0x0f, 0x8f, 0x4a, 0xe4, 0xff, 0xff, //0x00001d34 jg LBB0_4 + 0xe9, 0xa5, 0x08, 0x00, 0x00, //0x00001d3a jmp LBB0_427 + //0x00001d3f LBB0_342 + 0x4c, 0x03, 0x5d, 0xa0, //0x00001d3f addq $-96(%rbp), %r11 + 0xe9, 0xa5, 0xf2, 0xff, 0xff, //0x00001d43 jmp LBB0_195 + //0x00001d48 LBB0_208 + 0x4d, 0x89, 0xe3, //0x00001d48 movq %r12, %r11 + 0x4c, 0x8b, 0x55, 0xb0, //0x00001d4b movq $-80(%rbp), %r10 + 0x49, 0x83, 0xfa, 0x20, //0x00001d4f cmpq $32, %r10 + 0x48, 0x8b, 0x7d, 0xb8, //0x00001d53 movq $-72(%rbp), %rdi + 0x0f, 0x82, 0x2c, 0x07, 0x00, 0x00, //0x00001d57 jb LBB0_404 + //0x00001d5d LBB0_209 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001d5d movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001d62 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001d68 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001d6c pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x00001d70 pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x6f, 0xec, //0x00001d74 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001d78 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001d7c pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x74, 0xd9, //0x00001d80 pcmpeqb %xmm1, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x00001d84 pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xe1, //0x00001d88 pcmpeqb %xmm1, %xmm4 + 0x66, 0x0f, 0xd7, 0xc4, //0x00001d8c pmovmskb %xmm4, %eax + 0x48, 0xc1, 0xe2, 0x10, //0x00001d90 shlq $16, %rdx + 0x48, 0xc1, 0xe0, 0x10, //0x00001d94 shlq $16, %rax + 0x48, 0x09, 0xc1, //0x00001d98 orq %rax, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001d9b cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001d9f jne LBB0_211 + 0x48, 0x85, 0xc9, //0x00001da5 testq %rcx, %rcx + 0x0f, 0x85, 0x75, 0x06, 0x00, 0x00, //0x00001da8 jne LBB0_401 + //0x00001dae LBB0_211 + 0x48, 0x09, 0xf2, //0x00001dae orq %rsi, %rdx + 0x48, 0x89, 0xc8, //0x00001db1 movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x00001db4 orq %r9, %rax + 0x0f, 0x85, 0x83, 0x06, 0x00, 0x00, //0x00001db7 jne LBB0_402 + //0x00001dbd LBB0_212 + 0x48, 0x85, 0xd2, //0x00001dbd testq %rdx, %rdx + 0x0f, 0x84, 0xbb, 0x06, 0x00, 0x00, //0x00001dc0 je LBB0_403 + //0x00001dc6 LBB0_213 + 0x48, 0x0f, 0xbc, 0xc2, //0x00001dc6 bsfq %rdx, %rax + 0x4c, 0x03, 0x5d, 0xa0, //0x00001dca addq $-96(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00001dce addq %rax, %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x00001dd1 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001dd5 movq $-48(%rbp), %r9 + 0xe9, 0x11, 0xfa, 0xff, 0xff, //0x00001dd9 jmp LBB0_304 + //0x00001dde LBB0_275 + 0x4d, 0x89, 0xe3, //0x00001dde movq %r12, %r11 + 0x4c, 0x8b, 0x55, 0xb0, //0x00001de1 movq $-80(%rbp), %r10 + 0x49, 0x83, 0xfa, 0x20, //0x00001de5 cmpq $32, %r10 + 0x48, 0x8b, 0x7d, 0xb8, //0x00001de9 movq $-72(%rbp), %rdi + 0x0f, 0x82, 0x32, 0x01, 0x00, 0x00, //0x00001ded jb LBB0_347 + //0x00001df3 LBB0_276 + 0xf3, 0x41, 0x0f, 0x6f, 0x1b, //0x00001df3 movdqu (%r11), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x63, 0x10, //0x00001df8 movdqu $16(%r11), %xmm4 + 0x66, 0x0f, 0x6f, 0xeb, //0x00001dfe movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001e02 pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xcd, //0x00001e06 pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xec, //0x00001e0a movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe8, //0x00001e0e pcmpeqb %xmm0, %xmm5 + 0x66, 0x0f, 0xd7, 0xf5, //0x00001e12 pmovmskb %xmm5, %esi + 0x66, 0x0f, 0x6f, 0xeb, //0x00001e16 movdqa %xmm3, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001e1a pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xd5, //0x00001e1e pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xec, //0x00001e22 movdqa %xmm4, %xmm5 + 0x66, 0x0f, 0x74, 0xe9, //0x00001e26 pcmpeqb %xmm1, %xmm5 + 0x66, 0x0f, 0xd7, 0xc5, //0x00001e2a pmovmskb %xmm5, %eax + 0x66, 0x0f, 0x6f, 0xea, //0x00001e2e movdqa %xmm2, %xmm5 + 0x66, 0x0f, 0x64, 0xeb, //0x00001e32 pcmpgtb %xmm3, %xmm5 + 0x66, 0x41, 0x0f, 0x64, 0xde, //0x00001e36 pcmpgtb %xmm14, %xmm3 + 0x66, 0x0f, 0xdb, 0xdd, //0x00001e3b pand %xmm5, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xf3, //0x00001e3f pmovmskb %xmm3, %r14d + 0x66, 0x0f, 0x6f, 0xda, //0x00001e44 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xdc, //0x00001e48 pcmpgtb %xmm4, %xmm3 + 0x66, 0x41, 0x0f, 0x64, 0xe6, //0x00001e4c pcmpgtb %xmm14, %xmm4 + 0x66, 0x0f, 0xdb, 0xe3, //0x00001e51 pand %xmm3, %xmm4 + 0x66, 0x0f, 0xd7, 0xdc, //0x00001e55 pmovmskb %xmm4, %ebx + 0x48, 0xc1, 0xe6, 0x10, //0x00001e59 shlq $16, %rsi + 0x48, 0xc1, 0xe0, 0x10, //0x00001e5d shlq $16, %rax + 0x48, 0x09, 0xc2, //0x00001e61 orq %rax, %rdx + 0x49, 0x83, 0xf8, 0xff, //0x00001e64 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001e68 jne LBB0_278 + 0x48, 0x85, 0xd2, //0x00001e6e testq %rdx, %rdx + 0x0f, 0x85, 0x9f, 0x06, 0x00, 0x00, //0x00001e71 jne LBB0_412 + //0x00001e77 LBB0_278 + 0x48, 0xc1, 0xe3, 0x10, //0x00001e77 shlq $16, %rbx + 0x48, 0x09, 0xce, //0x00001e7b orq %rcx, %rsi + 0x48, 0x89, 0xd0, //0x00001e7e movq %rdx, %rax + 0x4c, 0x09, 0xc8, //0x00001e81 orq %r9, %rax + 0x0f, 0x85, 0x5e, 0x05, 0x00, 0x00, //0x00001e84 jne LBB0_400 + //0x00001e8a LBB0_279 + 0x4c, 0x09, 0xf3, //0x00001e8a orq %r14, %rbx + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001e8d movl $64, %ecx + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00001e92 movl $64, %edx + 0x48, 0x85, 0xf6, //0x00001e97 testq %rsi, %rsi + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001e9a je LBB0_281 + 0x48, 0x0f, 0xbc, 0xd6, //0x00001ea0 bsfq %rsi, %rdx + //0x00001ea4 LBB0_281 + 0x48, 0x85, 0xdb, //0x00001ea4 testq %rbx, %rbx + 0x0f, 0x84, 0x04, 0x00, 0x00, 0x00, //0x00001ea7 je LBB0_283 + 0x48, 0x0f, 0xbc, 0xcb, //0x00001ead bsfq %rbx, %rcx + //0x00001eb1 LBB0_283 + 0x48, 0x85, 0xf6, //0x00001eb1 testq %rsi, %rsi + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x00001eb4 je LBB0_345 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001eba movq $-48(%rbp), %r9 + 0x4d, 0x29, 0xcb, //0x00001ebe subq %r9, %r11 + 0x48, 0x39, 0xd1, //0x00001ec1 cmpq %rdx, %rcx + 0x0f, 0x82, 0x6c, 0x09, 0x00, 0x00, //0x00001ec4 jb LBB0_471 + 0x4d, 0x8d, 0x5c, 0x13, 0x01, //0x00001eca leaq $1(%r11,%rdx), %r11 + 0x48, 0x8b, 0x75, 0xc8, //0x00001ecf movq $-56(%rbp), %rsi + 0xe9, 0x17, 0xf9, 0xff, 0xff, //0x00001ed3 jmp LBB0_304 + //0x00001ed8 LBB0_343 + 0x49, 0x89, 0xc8, //0x00001ed8 movq %rcx, %r8 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001edb movq $-1, %r11 + 0x48, 0x85, 0xff, //0x00001ee2 testq %rdi, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00001ee5 movq $-56(%rbp), %rsi + 0x0f, 0x85, 0x7e, 0xf8, 0xff, 0xff, //0x00001ee9 jne LBB0_292 + 0xe9, 0x6b, 0x07, 0x00, 0x00, //0x00001eef jmp LBB0_438 + //0x00001ef4 LBB0_344 + 0x49, 0xc7, 0xc5, 0xff, 0xff, 0xff, 0xff, //0x00001ef4 movq $-1, %r13 + 0x4d, 0x89, 0xd3, //0x00001efb movq %r10, %r11 + 0x49, 0x89, 0xf9, //0x00001efe movq %rdi, %r9 + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x00001f01 movq $-1, %r12 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00001f08 movq $-1, %rdi + 0xe9, 0xcc, 0xe8, 0xff, 0xff, //0x00001f0f jmp LBB0_92 + //0x00001f14 LBB0_345 + 0x48, 0x85, 0xdb, //0x00001f14 testq %rbx, %rbx + 0x0f, 0x85, 0x2b, 0x09, 0x00, 0x00, //0x00001f17 jne LBB0_472 + 0x49, 0x83, 0xc3, 0x20, //0x00001f1d addq $32, %r11 + 0x49, 0x83, 0xc2, 0xe0, //0x00001f21 addq $-32, %r10 + //0x00001f25 LBB0_347 + 0x4d, 0x85, 0xc9, //0x00001f25 testq %r9, %r9 + 0x0f, 0x85, 0x2f, 0x06, 0x00, 0x00, //0x00001f28 jne LBB0_415 + 0x48, 0x8b, 0x75, 0xc8, //0x00001f2e movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001f32 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x00001f36 testq %r10, %r10 + 0x0f, 0x84, 0x32, 0x07, 0x00, 0x00, //0x00001f39 je LBB0_442 + //0x00001f3f LBB0_349 + 0x41, 0x0f, 0xb6, 0x0b, //0x00001f3f movzbl (%r11), %ecx + 0x80, 0xf9, 0x22, //0x00001f43 cmpb $34, %cl + 0x0f, 0x84, 0xdb, 0x00, 0x00, 0x00, //0x00001f46 je LBB0_360 + 0x80, 0xf9, 0x5c, //0x00001f4c cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00001f4f je LBB0_353 + 0x80, 0xf9, 0x1f, //0x00001f55 cmpb $31, %cl + 0x0f, 0x86, 0xc7, 0x08, 0x00, 0x00, //0x00001f58 jbe LBB0_469 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001f5e movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001f65 movl $1, %edx + 0x49, 0x01, 0xd3, //0x00001f6a addq %rdx, %r11 + 0x49, 0x01, 0xca, //0x00001f6d addq %rcx, %r10 + 0x0f, 0x85, 0xc9, 0xff, 0xff, 0xff, //0x00001f70 jne LBB0_349 + 0xe9, 0xf6, 0x06, 0x00, 0x00, //0x00001f76 jmp LBB0_442 + //0x00001f7b LBB0_353 + 0x49, 0x83, 0xfa, 0x01, //0x00001f7b cmpq $1, %r10 + 0x0f, 0x84, 0xea, 0x08, 0x00, 0x00, //0x00001f7f je LBB0_476 + 0x4c, 0x89, 0xd8, //0x00001f85 movq %r11, %rax + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001f88 movq $-48(%rbp), %r9 + 0x4c, 0x29, 0xc8, //0x00001f8c subq %r9, %rax + 0x49, 0x83, 0xf8, 0xff, //0x00001f8f cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x00001f93 cmoveq %rax, %r8 + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x00001f97 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00001f9e movl $2, %edx + 0x48, 0x8b, 0x75, 0xc8, //0x00001fa3 movq $-56(%rbp), %rsi + 0x49, 0x01, 0xd3, //0x00001fa7 addq %rdx, %r11 + 0x49, 0x01, 0xca, //0x00001faa addq %rcx, %r10 + 0x0f, 0x85, 0x8c, 0xff, 0xff, 0xff, //0x00001fad jne LBB0_349 + 0xe9, 0xb9, 0x06, 0x00, 0x00, //0x00001fb3 jmp LBB0_442 + //0x00001fb8 LBB0_355 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001fb8 movq $-1, %r9 + 0x45, 0x31, 0xc0, //0x00001fbf xorl %r8d, %r8d + 0x49, 0x83, 0xfd, 0x20, //0x00001fc2 cmpq $32, %r13 + 0x0f, 0x83, 0x89, 0xf8, 0xff, 0xff, //0x00001fc6 jae LBB0_51 + 0xe9, 0xdb, 0x01, 0x00, 0x00, //0x00001fcc jmp LBB0_374 + //0x00001fd1 LBB0_356 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00001fd1 movq $-1, %r9 + 0x31, 0xdb, //0x00001fd8 xorl %ebx, %ebx + 0x4d, 0x89, 0xd5, //0x00001fda movq %r10, %r13 + 0x48, 0x83, 0xf8, 0x20, //0x00001fdd cmpq $32, %rax + 0x0f, 0x83, 0xf4, 0xf8, 0xff, 0xff, //0x00001fe1 jae LBB0_114 + //0x00001fe7 LBB0_357 + 0x48, 0x8b, 0x7d, 0xc0, //0x00001fe7 movq $-64(%rbp), %rdi + 0x48, 0x85, 0xdb, //0x00001feb testq %rbx, %rbx + 0x0f, 0x84, 0xae, 0xfb, 0xff, 0xff, //0x00001fee je LBB0_315 + //0x00001ff4 LBB0_358 + 0x48, 0x85, 0xc0, //0x00001ff4 testq %rax, %rax + 0x0f, 0x84, 0x54, 0x08, 0x00, 0x00, //0x00001ff7 je LBB0_473 + 0x48, 0x8b, 0x4d, 0xa8, //0x00001ffd movq $-88(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x00002001 addq %r11, %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00002004 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00002008 cmoveq %rcx, %r9 + 0x49, 0xff, 0xc3, //0x0000200c incq %r11 + 0x48, 0xff, 0xc8, //0x0000200f decq %rax + 0x48, 0x8b, 0x7d, 0xc0, //0x00002012 movq $-64(%rbp), %rdi + 0x4d, 0x89, 0xea, //0x00002016 movq %r13, %r10 + 0x48, 0x85, 0xc0, //0x00002019 testq %rax, %rax + 0x0f, 0x85, 0x8c, 0xfb, 0xff, 0xff, //0x0000201c jne LBB0_316 + 0xe9, 0x8f, 0x05, 0x00, 0x00, //0x00002022 jmp LBB0_420 + //0x00002027 LBB0_360 + 0x4c, 0x03, 0x5d, 0xa0, //0x00002027 addq $-96(%rbp), %r11 + 0xe9, 0xbf, 0xf7, 0xff, 0xff, //0x0000202b jmp LBB0_304 + //0x00002030 LBB0_361 + 0x49, 0xf7, 0xdb, //0x00002030 negq %r11 + 0xe9, 0xdb, 0xfc, 0xff, 0xff, //0x00002033 jmp LBB0_339 + //0x00002038 LBB0_362 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002038 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x0000203f xorl %r9d, %r9d + 0x49, 0x83, 0xfd, 0x20, //0x00002042 cmpq $32, %r13 + 0x0f, 0x83, 0xcf, 0xf9, 0xff, 0xff, //0x00002046 jae LBB0_137 + 0xe9, 0xc3, 0x02, 0x00, 0x00, //0x0000204c jmp LBB0_389 + //0x00002051 LBB0_363 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002051 movq $-1, %r8 + 0x45, 0x31, 0xd2, //0x00002058 xorl %r10d, %r10d + 0x48, 0x83, 0xf8, 0x20, //0x0000205b cmpq $32, %rax + 0x0f, 0x83, 0x39, 0xfa, 0xff, 0xff, //0x0000205f jae LBB0_171 + //0x00002065 LBB0_364 + 0x48, 0x8b, 0x75, 0xc8, //0x00002065 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002069 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x0000206d testq %r10, %r10 + 0x0f, 0x84, 0xdf, 0xfb, 0xff, 0xff, //0x00002070 je LBB0_326 + //0x00002076 LBB0_365 + 0x48, 0x85, 0xc0, //0x00002076 testq %rax, %rax + 0x0f, 0x84, 0xe3, 0x07, 0x00, 0x00, //0x00002079 je LBB0_474 + 0x48, 0x8b, 0x4d, 0xa8, //0x0000207f movq $-88(%rbp), %rcx + 0x4c, 0x01, 0xd9, //0x00002083 addq %r11, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00002086 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x0000208a cmoveq %rcx, %r8 + 0x49, 0xff, 0xc3, //0x0000208e incq %r11 + 0x48, 0xff, 0xc8, //0x00002091 decq %rax + 0x48, 0x8b, 0x75, 0xc8, //0x00002094 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002098 movq $-48(%rbp), %r9 + 0x4c, 0x8b, 0x55, 0xb8, //0x0000209c movq $-72(%rbp), %r10 + 0x48, 0x85, 0xc0, //0x000020a0 testq %rax, %rax + 0x0f, 0x85, 0xb9, 0xfb, 0xff, 0xff, //0x000020a3 jne LBB0_327 + 0xe9, 0x4f, 0x05, 0x00, 0x00, //0x000020a9 jmp LBB0_429 + //0x000020ae LBB0_367 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000020ae movq $-1, %r14 + 0x4d, 0x89, 0xe0, //0x000020b5 movq %r12, %r8 + 0x4d, 0x89, 0xd1, //0x000020b8 movq %r10, %r9 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000020bb movq $-1, %rdi + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000020c2 movq $-1, %rbx + 0x48, 0x8d, 0x35, 0xb0, 0x09, 0x00, 0x00, //0x000020c9 leaq $2480(%rip), %rsi /* LJTI0_2+0(%rip) */ + 0xe9, 0xf6, 0xf2, 0xff, 0xff, //0x000020d0 jmp LBB0_241 + //0x000020d5 LBB0_368 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000020d5 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x000020dc xorl %r9d, %r9d + 0x49, 0x83, 0xfa, 0x20, //0x000020df cmpq $32, %r10 + 0x48, 0x8b, 0x7d, 0xb8, //0x000020e3 movq $-72(%rbp), %rdi + 0x0f, 0x83, 0x70, 0xfc, 0xff, 0xff, //0x000020e7 jae LBB0_209 + 0xe9, 0x97, 0x03, 0x00, 0x00, //0x000020ed jmp LBB0_404 + //0x000020f2 LBB0_369 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000020f2 movq $-1, %r8 + 0x45, 0x31, 0xc9, //0x000020f9 xorl %r9d, %r9d + 0x49, 0x83, 0xfa, 0x20, //0x000020fc cmpq $32, %r10 + 0x48, 0x8b, 0x7d, 0xb8, //0x00002100 movq $-72(%rbp), %rdi + 0x0f, 0x83, 0xe9, 0xfc, 0xff, 0xff, //0x00002104 jae LBB0_276 + 0xe9, 0x16, 0xfe, 0xff, 0xff, //0x0000210a jmp LBB0_347 + //0x0000210f LBB0_370 + 0x41, 0x89, 0xdc, //0x0000210f movl %ebx, %r12d + 0x41, 0xf7, 0xd4, //0x00002112 notl %r12d + 0x41, 0x21, 0xd4, //0x00002115 andl %edx, %r12d + 0x47, 0x8d, 0x04, 0x24, //0x00002118 leal (%r12,%r12), %r8d + 0x41, 0x09, 0xd8, //0x0000211c orl %ebx, %r8d + 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000211f movl $2863311530, %ecx + 0x44, 0x31, 0xc1, //0x00002124 xorl %r8d, %ecx + 0x21, 0xd1, //0x00002127 andl %edx, %ecx + 0x81, 0xe1, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002129 andl $-1431655766, %ecx + 0x31, 0xdb, //0x0000212f xorl %ebx, %ebx + 0x44, 0x01, 0xe1, //0x00002131 addl %r12d, %ecx + 0x0f, 0x92, 0xc3, //0x00002134 setb %bl + 0x01, 0xc9, //0x00002137 addl %ecx, %ecx + 0x81, 0xf1, 0x55, 0x55, 0x55, 0x55, //0x00002139 xorl $1431655765, %ecx + 0x44, 0x21, 0xc1, //0x0000213f andl %r8d, %ecx + 0xf7, 0xd1, //0x00002142 notl %ecx + 0x21, 0xce, //0x00002144 andl %ecx, %esi + 0xe9, 0x29, 0xf8, 0xff, 0xff, //0x00002146 jmp LBB0_117 + //0x0000214b LBB0_371 + 0x4c, 0x89, 0xd8, //0x0000214b movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x0000214e subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc9, //0x00002152 bsfq %rcx, %r9 + 0x49, 0x01, 0xc1, //0x00002156 addq %rax, %r9 + 0x48, 0x09, 0xfa, //0x00002159 orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x0000215c movq %rcx, %rax + 0x4c, 0x09, 0xc0, //0x0000215f orq %r8, %rax + 0x0f, 0x84, 0x4d, 0xf7, 0xff, 0xff, //0x00002162 je LBB0_54 + //0x00002168 LBB0_372 + 0x44, 0x89, 0xc0, //0x00002168 movl %r8d, %eax + 0xf7, 0xd0, //0x0000216b notl %eax + 0x21, 0xc8, //0x0000216d andl %ecx, %eax + 0x8d, 0x34, 0x00, //0x0000216f leal (%rax,%rax), %esi + 0x44, 0x09, 0xc6, //0x00002172 orl %r8d, %esi + 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002175 movl $2863311530, %edi + 0x31, 0xf7, //0x0000217a xorl %esi, %edi + 0x21, 0xcf, //0x0000217c andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000217e andl $-1431655766, %edi + 0x45, 0x31, 0xc0, //0x00002184 xorl %r8d, %r8d + 0x01, 0xc7, //0x00002187 addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc0, //0x00002189 setb %r8b + 0x01, 0xff, //0x0000218d addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x0000218f xorl $1431655765, %edi + 0x21, 0xf7, //0x00002195 andl %esi, %edi + 0xf7, 0xd7, //0x00002197 notl %edi + 0x21, 0xfa, //0x00002199 andl %edi, %edx + 0x48, 0x85, 0xd2, //0x0000219b testq %rdx, %rdx + 0x0f, 0x85, 0x1a, 0xf7, 0xff, 0xff, //0x0000219e jne LBB0_55 + //0x000021a4 LBB0_373 + 0x49, 0x83, 0xc3, 0x20, //0x000021a4 addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x000021a8 addq $-32, %r13 + //0x000021ac LBB0_374 + 0x4d, 0x85, 0xc0, //0x000021ac testq %r8, %r8 + 0x0f, 0x85, 0xce, 0x00, 0x00, 0x00, //0x000021af jne LBB0_384 + 0x48, 0x8b, 0x7d, 0xc0, //0x000021b5 movq $-64(%rbp), %rdi + 0x4d, 0x85, 0xed, //0x000021b9 testq %r13, %r13 + 0x0f, 0x84, 0xf4, 0x03, 0x00, 0x00, //0x000021bc je LBB0_420 + //0x000021c2 LBB0_376 + 0x49, 0x8d, 0x4b, 0x01, //0x000021c2 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x000021c6 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x000021ca cmpb $34, %bl + 0x0f, 0x84, 0x53, 0x00, 0x00, 0x00, //0x000021cd je LBB0_381 + 0x49, 0x8d, 0x55, 0xff, //0x000021d3 leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x000021d7 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000021da je LBB0_379 + 0x49, 0x89, 0xd5, //0x000021e0 movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x000021e3 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x000021e6 testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x000021e9 jne LBB0_376 + 0xe9, 0xc2, 0x03, 0x00, 0x00, //0x000021ef jmp LBB0_420 + //0x000021f4 LBB0_379 + 0x48, 0x85, 0xd2, //0x000021f4 testq %rdx, %rdx + 0x0f, 0x84, 0xb9, 0x03, 0x00, 0x00, //0x000021f7 je LBB0_420 + 0x48, 0x03, 0x4d, 0xa8, //0x000021fd addq $-88(%rbp), %rcx + 0x49, 0x83, 0xf9, 0xff, //0x00002201 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc9, //0x00002205 cmoveq %rcx, %r9 + 0x49, 0x83, 0xc3, 0x02, //0x00002209 addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x0000220d addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x00002211 movq %r13, %rdx + 0x48, 0x8b, 0x7d, 0xc0, //0x00002214 movq $-64(%rbp), %rdi + 0x48, 0x85, 0xd2, //0x00002218 testq %rdx, %rdx + 0x0f, 0x85, 0xa1, 0xff, 0xff, 0xff, //0x0000221b jne LBB0_376 + 0xe9, 0x90, 0x03, 0x00, 0x00, //0x00002221 jmp LBB0_420 + //0x00002226 LBB0_381 + 0x48, 0x2b, 0x4d, 0xd0, //0x00002226 subq $-48(%rbp), %rcx + 0x49, 0x89, 0xcb, //0x0000222a movq %rcx, %r11 + 0xe9, 0x50, 0xed, 0xff, 0xff, //0x0000222d jmp LBB0_188 + //0x00002232 LBB0_382 + 0x4c, 0x89, 0xd9, //0x00002232 movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x00002235 subq $-48(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xca, //0x00002239 bsfq %rdx, %r9 + 0x49, 0x01, 0xc9, //0x0000223d addq %rcx, %r9 + 0xe9, 0x1c, 0xf7, 0xff, 0xff, //0x00002240 jmp LBB0_116 + //0x00002245 LBB0_383 + 0x45, 0x89, 0xd4, //0x00002245 movl %r10d, %r12d + 0x41, 0xf7, 0xd4, //0x00002248 notl %r12d + 0x41, 0x21, 0xd4, //0x0000224b andl %edx, %r12d + 0x47, 0x8d, 0x0c, 0x24, //0x0000224e leal (%r12,%r12), %r9d + 0x45, 0x09, 0xd1, //0x00002252 orl %r10d, %r9d + 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002255 movl $2863311530, %ecx + 0x44, 0x31, 0xc9, //0x0000225a xorl %r9d, %ecx + 0x21, 0xd1, //0x0000225d andl %edx, %ecx + 0x81, 0xe1, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000225f andl $-1431655766, %ecx + 0x45, 0x31, 0xd2, //0x00002265 xorl %r10d, %r10d + 0x44, 0x01, 0xe1, //0x00002268 addl %r12d, %ecx + 0x41, 0x0f, 0x92, 0xc2, //0x0000226b setb %r10b + 0x01, 0xc9, //0x0000226f addl %ecx, %ecx + 0x81, 0xf1, 0x55, 0x55, 0x55, 0x55, //0x00002271 xorl $1431655765, %ecx + 0x44, 0x21, 0xc9, //0x00002277 andl %r9d, %ecx + 0xf7, 0xd1, //0x0000227a notl %ecx + 0x21, 0xcb, //0x0000227c andl %ecx, %ebx + 0xe9, 0xb3, 0xf8, 0xff, 0xff, //0x0000227e jmp LBB0_174 + //0x00002283 LBB0_384 + 0x4d, 0x85, 0xed, //0x00002283 testq %r13, %r13 + 0x0f, 0x84, 0x2a, 0x03, 0x00, 0x00, //0x00002286 je LBB0_420 + 0x48, 0x8b, 0x45, 0xa8, //0x0000228c movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x00002290 addq %r11, %rax + 0x49, 0x83, 0xf9, 0xff, //0x00002293 cmpq $-1, %r9 + 0x4c, 0x0f, 0x44, 0xc8, //0x00002297 cmoveq %rax, %r9 + 0x49, 0xff, 0xc3, //0x0000229b incq %r11 + 0x49, 0xff, 0xcd, //0x0000229e decq %r13 + 0x48, 0x8b, 0x7d, 0xc0, //0x000022a1 movq $-64(%rbp), %rdi + 0x4d, 0x85, 0xed, //0x000022a5 testq %r13, %r13 + 0x0f, 0x85, 0x14, 0xff, 0xff, 0xff, //0x000022a8 jne LBB0_376 + 0xe9, 0x03, 0x03, 0x00, 0x00, //0x000022ae jmp LBB0_420 + //0x000022b3 LBB0_386 + 0x4c, 0x89, 0xd8, //0x000022b3 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x000022b6 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc1, //0x000022ba bsfq %rcx, %r8 + 0x49, 0x01, 0xc0, //0x000022be addq %rax, %r8 + 0x48, 0x09, 0xfa, //0x000022c1 orq %rdi, %rdx + 0x48, 0x89, 0xc8, //0x000022c4 movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x000022c7 orq %r9, %rax + 0x0f, 0x84, 0xab, 0xf7, 0xff, 0xff, //0x000022ca je LBB0_140 + //0x000022d0 LBB0_387 + 0x44, 0x89, 0xc8, //0x000022d0 movl %r9d, %eax + 0xf7, 0xd0, //0x000022d3 notl %eax + 0x21, 0xc8, //0x000022d5 andl %ecx, %eax + 0x8d, 0x34, 0x00, //0x000022d7 leal (%rax,%rax), %esi + 0x44, 0x09, 0xce, //0x000022da orl %r9d, %esi + 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022dd movl $2863311530, %edi + 0x31, 0xf7, //0x000022e2 xorl %esi, %edi + 0x21, 0xcf, //0x000022e4 andl %ecx, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x000022e6 andl $-1431655766, %edi + 0x45, 0x31, 0xc9, //0x000022ec xorl %r9d, %r9d + 0x01, 0xc7, //0x000022ef addl %eax, %edi + 0x41, 0x0f, 0x92, 0xc1, //0x000022f1 setb %r9b + 0x01, 0xff, //0x000022f5 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x000022f7 xorl $1431655765, %edi + 0x21, 0xf7, //0x000022fd andl %esi, %edi + 0xf7, 0xd7, //0x000022ff notl %edi + 0x21, 0xfa, //0x00002301 andl %edi, %edx + 0x48, 0x85, 0xd2, //0x00002303 testq %rdx, %rdx + 0x0f, 0x85, 0x78, 0xf7, 0xff, 0xff, //0x00002306 jne LBB0_141 + //0x0000230c LBB0_388 + 0x49, 0x83, 0xc3, 0x20, //0x0000230c addq $32, %r11 + 0x49, 0x83, 0xc5, 0xe0, //0x00002310 addq $-32, %r13 + //0x00002314 LBB0_389 + 0x4d, 0x85, 0xc9, //0x00002314 testq %r9, %r9 + 0x0f, 0x85, 0x97, 0x00, 0x00, 0x00, //0x00002317 jne LBB0_398 + 0x48, 0x8b, 0x75, 0xc8, //0x0000231d movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002321 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xed, //0x00002325 testq %r13, %r13 + 0x0f, 0x84, 0xcf, 0x02, 0x00, 0x00, //0x00002328 je LBB0_429 + //0x0000232e LBB0_391 + 0x49, 0x8d, 0x4b, 0x01, //0x0000232e leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x00002332 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x00002336 cmpb $34, %bl + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x00002339 je LBB0_396 + 0x49, 0x8d, 0x55, 0xff, //0x0000233f leaq $-1(%r13), %rdx + 0x80, 0xfb, 0x5c, //0x00002343 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x00002346 je LBB0_394 + 0x49, 0x89, 0xd5, //0x0000234c movq %rdx, %r13 + 0x49, 0x89, 0xcb, //0x0000234f movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x00002352 testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x00002355 jne LBB0_391 + 0xe9, 0x9d, 0x02, 0x00, 0x00, //0x0000235b jmp LBB0_429 + //0x00002360 LBB0_394 + 0x48, 0x85, 0xd2, //0x00002360 testq %rdx, %rdx + 0x0f, 0x84, 0xf0, 0x04, 0x00, 0x00, //0x00002363 je LBB0_475 + 0x48, 0x03, 0x4d, 0xa8, //0x00002369 addq $-88(%rbp), %rcx + 0x49, 0x83, 0xf8, 0xff, //0x0000236d cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x00002371 cmoveq %rcx, %r8 + 0x49, 0x83, 0xc3, 0x02, //0x00002375 addq $2, %r11 + 0x49, 0x83, 0xc5, 0xfe, //0x00002379 addq $-2, %r13 + 0x4c, 0x89, 0xea, //0x0000237d movq %r13, %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x00002380 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002384 movq $-48(%rbp), %r9 + 0x48, 0x85, 0xd2, //0x00002388 testq %rdx, %rdx + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x0000238b jne LBB0_391 + 0xe9, 0x67, 0x02, 0x00, 0x00, //0x00002391 jmp LBB0_429 + //0x00002396 LBB0_396 + 0x4c, 0x29, 0xc9, //0x00002396 subq %r9, %rcx + 0x49, 0x89, 0xcb, //0x00002399 movq %rcx, %r11 + 0xe9, 0x4c, 0xec, 0xff, 0xff, //0x0000239c jmp LBB0_195 + //0x000023a1 LBB0_397 + 0x4c, 0x89, 0xd9, //0x000023a1 movq %r11, %rcx + 0x48, 0x2b, 0x4d, 0xd0, //0x000023a4 subq $-48(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xc2, //0x000023a8 bsfq %rdx, %r8 + 0x49, 0x01, 0xc8, //0x000023ac addq %rcx, %r8 + 0xe9, 0x6f, 0xf7, 0xff, 0xff, //0x000023af jmp LBB0_173 + //0x000023b4 LBB0_398 + 0x4d, 0x85, 0xed, //0x000023b4 testq %r13, %r13 + 0x0f, 0x84, 0x9c, 0x04, 0x00, 0x00, //0x000023b7 je LBB0_475 + 0x48, 0x8b, 0x45, 0xa8, //0x000023bd movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x000023c1 addq %r11, %rax + 0x49, 0x83, 0xf8, 0xff, //0x000023c4 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x000023c8 cmoveq %rax, %r8 + 0x49, 0xff, 0xc3, //0x000023cc incq %r11 + 0x49, 0xff, 0xcd, //0x000023cf decq %r13 + 0x48, 0x8b, 0x75, 0xc8, //0x000023d2 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x000023d6 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xed, //0x000023da testq %r13, %r13 + 0x0f, 0x85, 0x4b, 0xff, 0xff, 0xff, //0x000023dd jne LBB0_391 + 0xe9, 0x15, 0x02, 0x00, 0x00, //0x000023e3 jmp LBB0_429 + //0x000023e8 LBB0_400 + 0x44, 0x89, 0xc8, //0x000023e8 movl %r9d, %eax + 0xf7, 0xd0, //0x000023eb notl %eax + 0x21, 0xd0, //0x000023ed andl %edx, %eax + 0x44, 0x8d, 0x24, 0x00, //0x000023ef leal (%rax,%rax), %r12d + 0x45, 0x09, 0xcc, //0x000023f3 orl %r9d, %r12d + 0xb9, 0xaa, 0xaa, 0xaa, 0xaa, //0x000023f6 movl $2863311530, %ecx + 0x44, 0x31, 0xe1, //0x000023fb xorl %r12d, %ecx + 0x21, 0xd1, //0x000023fe andl %edx, %ecx + 0x81, 0xe1, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002400 andl $-1431655766, %ecx + 0x45, 0x31, 0xc9, //0x00002406 xorl %r9d, %r9d + 0x01, 0xc1, //0x00002409 addl %eax, %ecx + 0x41, 0x0f, 0x92, 0xc1, //0x0000240b setb %r9b + 0x01, 0xc9, //0x0000240f addl %ecx, %ecx + 0x81, 0xf1, 0x55, 0x55, 0x55, 0x55, //0x00002411 xorl $1431655765, %ecx + 0x44, 0x21, 0xe1, //0x00002417 andl %r12d, %ecx + 0xf7, 0xd1, //0x0000241a notl %ecx + 0x21, 0xce, //0x0000241c andl %ecx, %esi + 0xe9, 0x67, 0xfa, 0xff, 0xff, //0x0000241e jmp LBB0_279 + //0x00002423 LBB0_401 + 0x4c, 0x89, 0xd8, //0x00002423 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00002426 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc1, //0x0000242a bsfq %rcx, %r8 + 0x49, 0x01, 0xc0, //0x0000242e addq %rax, %r8 + 0x48, 0x09, 0xf2, //0x00002431 orq %rsi, %rdx + 0x48, 0x89, 0xc8, //0x00002434 movq %rcx, %rax + 0x4c, 0x09, 0xc8, //0x00002437 orq %r9, %rax + 0x0f, 0x84, 0x7d, 0xf9, 0xff, 0xff, //0x0000243a je LBB0_212 + //0x00002440 LBB0_402 + 0x44, 0x89, 0xc8, //0x00002440 movl %r9d, %eax + 0xf7, 0xd0, //0x00002443 notl %eax + 0x21, 0xc8, //0x00002445 andl %ecx, %eax + 0x44, 0x8d, 0x34, 0x00, //0x00002447 leal (%rax,%rax), %r14d + 0x45, 0x09, 0xce, //0x0000244b orl %r9d, %r14d + 0x44, 0x89, 0xf6, //0x0000244e movl %r14d, %esi + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00002451 movl $2863311530, %ebx + 0x31, 0xde, //0x00002456 xorl %ebx, %esi + 0x21, 0xce, //0x00002458 andl %ecx, %esi + 0x81, 0xe6, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000245a andl $-1431655766, %esi + 0x45, 0x31, 0xc9, //0x00002460 xorl %r9d, %r9d + 0x01, 0xc6, //0x00002463 addl %eax, %esi + 0x41, 0x0f, 0x92, 0xc1, //0x00002465 setb %r9b + 0x01, 0xf6, //0x00002469 addl %esi, %esi + 0x81, 0xf6, 0x55, 0x55, 0x55, 0x55, //0x0000246b xorl $1431655765, %esi + 0x44, 0x21, 0xf6, //0x00002471 andl %r14d, %esi + 0xf7, 0xd6, //0x00002474 notl %esi + 0x21, 0xf2, //0x00002476 andl %esi, %edx + 0x48, 0x85, 0xd2, //0x00002478 testq %rdx, %rdx + 0x0f, 0x85, 0x45, 0xf9, 0xff, 0xff, //0x0000247b jne LBB0_213 + //0x00002481 LBB0_403 + 0x49, 0x83, 0xc3, 0x20, //0x00002481 addq $32, %r11 + 0x49, 0x83, 0xc2, 0xe0, //0x00002485 addq $-32, %r10 + //0x00002489 LBB0_404 + 0x4d, 0x85, 0xc9, //0x00002489 testq %r9, %r9 + 0x0f, 0x85, 0x97, 0x00, 0x00, 0x00, //0x0000248c jne LBB0_413 + 0x48, 0x8b, 0x75, 0xc8, //0x00002492 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x00002496 movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x0000249a testq %r10, %r10 + 0x0f, 0x84, 0xce, 0x01, 0x00, 0x00, //0x0000249d je LBB0_442 + //0x000024a3 LBB0_406 + 0x49, 0x8d, 0x4b, 0x01, //0x000024a3 leaq $1(%r11), %rcx + 0x41, 0x0f, 0xb6, 0x1b, //0x000024a7 movzbl (%r11), %ebx + 0x80, 0xfb, 0x22, //0x000024ab cmpb $34, %bl + 0x0f, 0x84, 0x57, 0x00, 0x00, 0x00, //0x000024ae je LBB0_411 + 0x49, 0x8d, 0x52, 0xff, //0x000024b4 leaq $-1(%r10), %rdx + 0x80, 0xfb, 0x5c, //0x000024b8 cmpb $92, %bl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000024bb je LBB0_409 + 0x49, 0x89, 0xd2, //0x000024c1 movq %rdx, %r10 + 0x49, 0x89, 0xcb, //0x000024c4 movq %rcx, %r11 + 0x48, 0x85, 0xd2, //0x000024c7 testq %rdx, %rdx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x000024ca jne LBB0_406 + 0xe9, 0x9c, 0x01, 0x00, 0x00, //0x000024d0 jmp LBB0_442 + //0x000024d5 LBB0_409 + 0x48, 0x85, 0xd2, //0x000024d5 testq %rdx, %rdx + 0x0f, 0x84, 0x91, 0x03, 0x00, 0x00, //0x000024d8 je LBB0_476 + 0x48, 0x03, 0x4d, 0xa8, //0x000024de addq $-88(%rbp), %rcx + 0x49, 0x83, 0xf8, 0xff, //0x000024e2 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc1, //0x000024e6 cmoveq %rcx, %r8 + 0x49, 0x83, 0xc3, 0x02, //0x000024ea addq $2, %r11 + 0x49, 0x83, 0xc2, 0xfe, //0x000024ee addq $-2, %r10 + 0x4c, 0x89, 0xd2, //0x000024f2 movq %r10, %rdx + 0x48, 0x8b, 0x75, 0xc8, //0x000024f5 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x000024f9 movq $-48(%rbp), %r9 + 0x48, 0x85, 0xd2, //0x000024fd testq %rdx, %rdx + 0x0f, 0x85, 0x9d, 0xff, 0xff, 0xff, //0x00002500 jne LBB0_406 + 0xe9, 0x66, 0x01, 0x00, 0x00, //0x00002506 jmp LBB0_442 + //0x0000250b LBB0_411 + 0x4c, 0x29, 0xc9, //0x0000250b subq %r9, %rcx + 0x49, 0x89, 0xcb, //0x0000250e movq %rcx, %r11 + 0xe9, 0xd9, 0xf2, 0xff, 0xff, //0x00002511 jmp LBB0_304 + //0x00002516 LBB0_412 + 0x4c, 0x89, 0xd8, //0x00002516 movq %r11, %rax + 0x48, 0x2b, 0x45, 0xd0, //0x00002519 subq $-48(%rbp), %rax + 0x4c, 0x0f, 0xbc, 0xc2, //0x0000251d bsfq %rdx, %r8 + 0x49, 0x01, 0xc0, //0x00002521 addq %rax, %r8 + 0xe9, 0x4e, 0xf9, 0xff, 0xff, //0x00002524 jmp LBB0_278 + //0x00002529 LBB0_413 + 0x4d, 0x85, 0xd2, //0x00002529 testq %r10, %r10 + 0x0f, 0x84, 0x3d, 0x03, 0x00, 0x00, //0x0000252c je LBB0_476 + 0x48, 0x8b, 0x45, 0xa8, //0x00002532 movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x00002536 addq %r11, %rax + 0x49, 0x83, 0xf8, 0xff, //0x00002539 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x0000253d cmoveq %rax, %r8 + 0x49, 0xff, 0xc3, //0x00002541 incq %r11 + 0x49, 0xff, 0xca, //0x00002544 decq %r10 + 0x48, 0x8b, 0x75, 0xc8, //0x00002547 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x0000254b movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x0000254f testq %r10, %r10 + 0x0f, 0x85, 0x4b, 0xff, 0xff, 0xff, //0x00002552 jne LBB0_406 + 0xe9, 0x14, 0x01, 0x00, 0x00, //0x00002558 jmp LBB0_442 + //0x0000255d LBB0_415 + 0x4d, 0x85, 0xd2, //0x0000255d testq %r10, %r10 + 0x0f, 0x84, 0x09, 0x03, 0x00, 0x00, //0x00002560 je LBB0_476 + 0x48, 0x8b, 0x45, 0xa8, //0x00002566 movq $-88(%rbp), %rax + 0x4c, 0x01, 0xd8, //0x0000256a addq %r11, %rax + 0x49, 0x83, 0xf8, 0xff, //0x0000256d cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xc0, //0x00002571 cmoveq %rax, %r8 + 0x49, 0xff, 0xc3, //0x00002575 incq %r11 + 0x49, 0xff, 0xca, //0x00002578 decq %r10 + 0x48, 0x8b, 0x75, 0xc8, //0x0000257b movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x4d, 0xd0, //0x0000257f movq $-48(%rbp), %r9 + 0x4d, 0x85, 0xd2, //0x00002583 testq %r10, %r10 + 0x0f, 0x85, 0xb3, 0xf9, 0xff, 0xff, //0x00002586 jne LBB0_349 + 0xe9, 0xe0, 0x00, 0x00, 0x00, //0x0000258c jmp LBB0_442 + //0x00002591 LBB0_417 + 0x48, 0x89, 0x16, //0x00002591 movq %rdx, (%rsi) + //0x00002594 LBB0_418 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002594 movq $-1, %rax + 0xe9, 0x44, 0x00, 0x00, 0x00, //0x0000259b jmp LBB0_427 + //0x000025a0 LBB0_439 + 0x48, 0xc7, 0xc0, 0xf9, 0xff, 0xff, 0xff, //0x000025a0 movq $-7, %rax + 0xe9, 0x38, 0x00, 0x00, 0x00, //0x000025a7 jmp LBB0_427 + //0x000025ac LBB0_419 + 0x49, 0x83, 0xfb, 0xff, //0x000025ac cmpq $-1, %r11 + 0x0f, 0x85, 0x7d, 0x00, 0x00, 0x00, //0x000025b0 jne LBB0_150 + //0x000025b6 LBB0_420 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000025b6 movq $-1, %r11 + 0x4d, 0x89, 0xd1, //0x000025bd movq %r10, %r9 + 0xe9, 0x6e, 0x00, 0x00, 0x00, //0x000025c0 jmp LBB0_150 + //0x000025c5 LBB0_421 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000025c5 movq $-1, %rax + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x000025cc jmp LBB0_424 + //0x000025d1 LBB0_423 + 0x4c, 0x89, 0xd8, //0x000025d1 movq %r11, %rax + //0x000025d4 LBB0_424 + 0x48, 0xf7, 0xd0, //0x000025d4 notq %rax + 0x49, 0x01, 0xc7, //0x000025d7 addq %rax, %r15 + //0x000025da LBB0_425 + 0x4c, 0x89, 0x3e, //0x000025da movq %r15, (%rsi) + //0x000025dd LBB0_426 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000025dd movq $-2, %rax + //0x000025e4 LBB0_427 + 0x48, 0x83, 0xc4, 0x70, //0x000025e4 addq $112, %rsp + 0x5b, //0x000025e8 popq %rbx + 0x41, 0x5c, //0x000025e9 popq %r12 + 0x41, 0x5d, //0x000025eb popq %r13 + 0x41, 0x5e, //0x000025ed popq %r14 + 0x41, 0x5f, //0x000025ef popq %r15 + 0x5d, //0x000025f1 popq %rbp + 0xc3, //0x000025f2 retq + //0x000025f3 LBB0_428 + 0x49, 0x83, 0xfb, 0xff, //0x000025f3 cmpq $-1, %r11 + 0x0f, 0x85, 0xbf, 0x01, 0x00, 0x00, //0x000025f7 jne LBB0_461 + //0x000025fd LBB0_429 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000025fd movq $-1, %r11 + 0x4d, 0x89, 0xd0, //0x00002604 movq %r10, %r8 + 0xe9, 0xb0, 0x01, 0x00, 0x00, //0x00002607 jmp LBB0_461 + //0x0000260c LBB0_440 + 0x48, 0x89, 0x0e, //0x0000260c movq %rcx, (%rsi) + 0xe9, 0xd0, 0xff, 0xff, 0xff, //0x0000260f jmp LBB0_427 + //0x00002614 LBB0_430 + 0x49, 0x83, 0xf9, 0xff, //0x00002614 cmpq $-1, %r9 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00002618 jne LBB0_434 + 0x48, 0x0f, 0xbc, 0xc2, //0x0000261e bsfq %rdx, %rax + //0x00002622 LBB0_432 + 0x4c, 0x2b, 0x5d, 0xd0, //0x00002622 subq $-48(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x00002626 addq %rax, %r11 + //0x00002629 LBB0_433 + 0x4d, 0x89, 0xd9, //0x00002629 movq %r11, %r9 + //0x0000262c LBB0_434 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000262c movq $-2, %r11 + //0x00002633 LBB0_150 + 0x48, 0x8b, 0x45, 0xc8, //0x00002633 movq $-56(%rbp), %rax + 0x4c, 0x89, 0x08, //0x00002637 movq %r9, (%rax) + 0x4c, 0x89, 0xd8, //0x0000263a movq %r11, %rax + 0xe9, 0xa2, 0xff, 0xff, 0xff, //0x0000263d jmp LBB0_427 + //0x00002642 LBB0_435 + 0x49, 0x83, 0xf8, 0xff, //0x00002642 cmpq $-1, %r8 + 0x0f, 0x84, 0x34, 0x01, 0x00, 0x00, //0x00002646 je LBB0_453 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000264c movq $-2, %r11 + 0xe9, 0x64, 0x01, 0x00, 0x00, //0x00002653 jmp LBB0_461 + //0x00002658 LBB0_437 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00002658 movq $-1, %r11 + //0x0000265f LBB0_438 + 0x4d, 0x29, 0xdf, //0x0000265f subq %r11, %r15 + 0xe9, 0x73, 0xff, 0xff, 0xff, //0x00002662 jmp LBB0_425 + //0x00002667 LBB0_441 + 0x49, 0x83, 0xfb, 0xff, //0x00002667 cmpq $-1, %r11 + 0x0f, 0x85, 0x4b, 0x01, 0x00, 0x00, //0x0000266b jne LBB0_461 + //0x00002671 LBB0_442 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00002671 movq $-1, %r11 + 0x49, 0x89, 0xf8, //0x00002678 movq %rdi, %r8 + 0xe9, 0x3c, 0x01, 0x00, 0x00, //0x0000267b jmp LBB0_461 + //0x00002680 LBB0_443 + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00002680 movq $-2, %rax + 0x80, 0xf9, 0x61, //0x00002687 cmpb $97, %cl + 0x0f, 0x85, 0x54, 0xff, 0xff, 0xff, //0x0000268a jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x02, //0x00002690 leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002694 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x02, 0x6c, //0x00002697 cmpb $108, $2(%r9,%r15) + 0x0f, 0x85, 0x41, 0xff, 0xff, 0xff, //0x0000269d jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x03, //0x000026a3 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026a7 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x03, 0x73, //0x000026aa cmpb $115, $3(%r9,%r15) + 0x0f, 0x85, 0x2e, 0xff, 0xff, 0xff, //0x000026b0 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x04, //0x000026b6 leaq $4(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026ba movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x04, 0x65, //0x000026bd cmpb $101, $4(%r9,%r15) + 0x0f, 0x85, 0x1b, 0xff, 0xff, 0xff, //0x000026c3 jne LBB0_427 + 0x49, 0x83, 0xc7, 0x05, //0x000026c9 addq $5, %r15 + 0x4c, 0x89, 0x3e, //0x000026cd movq %r15, (%rsi) + 0xe9, 0x0f, 0xff, 0xff, 0xff, //0x000026d0 jmp LBB0_427 + //0x000026d5 LBB0_249 + 0x4c, 0x89, 0x3e, //0x000026d5 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000026d8 movq $-2, %rax + 0x41, 0x80, 0x3a, 0x6e, //0x000026df cmpb $110, (%r10) + 0x0f, 0x85, 0xfb, 0xfe, 0xff, 0xff, //0x000026e3 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x01, //0x000026e9 leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x000026ed movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x01, 0x75, //0x000026f0 cmpb $117, $1(%r9,%r15) + 0x0f, 0x85, 0xe8, 0xfe, 0xff, 0xff, //0x000026f6 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x02, //0x000026fc leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002700 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x02, 0x6c, //0x00002703 cmpb $108, $2(%r9,%r15) + 0x0f, 0x85, 0xd5, 0xfe, 0xff, 0xff, //0x00002709 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x03, //0x0000270f leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002713 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x03, 0x6c, //0x00002716 cmpb $108, $3(%r9,%r15) + 0x0f, 0x85, 0xc2, 0xfe, 0xff, 0xff, //0x0000271c jne LBB0_427 + 0xe9, 0x4d, 0x00, 0x00, 0x00, //0x00002722 jmp LBB0_452 + //0x00002727 LBB0_448 + 0x4c, 0x89, 0x3e, //0x00002727 movq %r15, (%rsi) + 0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x0000272a movq $-2, %rax + 0x41, 0x80, 0x3a, 0x74, //0x00002731 cmpb $116, (%r10) + 0x0f, 0x85, 0xa9, 0xfe, 0xff, 0xff, //0x00002735 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x01, //0x0000273b leaq $1(%r15), %rcx + 0x48, 0x89, 0x0e, //0x0000273f movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x01, 0x72, //0x00002742 cmpb $114, $1(%r9,%r15) + 0x0f, 0x85, 0x96, 0xfe, 0xff, 0xff, //0x00002748 jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x02, //0x0000274e leaq $2(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002752 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x02, 0x75, //0x00002755 cmpb $117, $2(%r9,%r15) + 0x0f, 0x85, 0x83, 0xfe, 0xff, 0xff, //0x0000275b jne LBB0_427 + 0x49, 0x8d, 0x4f, 0x03, //0x00002761 leaq $3(%r15), %rcx + 0x48, 0x89, 0x0e, //0x00002765 movq %rcx, (%rsi) + 0x43, 0x80, 0x7c, 0x39, 0x03, 0x65, //0x00002768 cmpb $101, $3(%r9,%r15) + 0x0f, 0x85, 0x70, 0xfe, 0xff, 0xff, //0x0000276e jne LBB0_427 + //0x00002774 LBB0_452 + 0x49, 0x83, 0xc7, 0x04, //0x00002774 addq $4, %r15 + 0x4c, 0x89, 0x3e, //0x00002778 movq %r15, (%rsi) + 0xe9, 0x64, 0xfe, 0xff, 0xff, //0x0000277b jmp LBB0_427 + //0x00002780 LBB0_453 + 0x48, 0x0f, 0xbc, 0xc2, //0x00002780 bsfq %rdx, %rax + //0x00002784 LBB0_454 + 0x4d, 0x29, 0xcb, //0x00002784 subq %r9, %r11 + 0x49, 0x01, 0xc3, //0x00002787 addq %rax, %r11 + //0x0000278a LBB0_455 + 0x4d, 0x89, 0xd8, //0x0000278a movq %r11, %r8 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x0000278d movq $-2, %r11 + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00002794 jmp LBB0_461 + //0x00002799 LBB0_456 + 0x49, 0x83, 0xf8, 0xff, //0x00002799 cmpq $-1, %r8 + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000279d jne LBB0_459 + 0x48, 0x0f, 0xbc, 0xc2, //0x000027a3 bsfq %rdx, %rax + //0x000027a7 LBB0_458 + 0x4c, 0x2b, 0x5d, 0xd0, //0x000027a7 subq $-48(%rbp), %r11 + 0x49, 0x01, 0xc3, //0x000027ab addq %rax, %r11 + 0x4d, 0x89, 0xd8, //0x000027ae movq %r11, %r8 + //0x000027b1 LBB0_459 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000027b1 movq $-2, %r11 + //0x000027b8 LBB0_460 + 0x48, 0x8b, 0x75, 0xc8, //0x000027b8 movq $-56(%rbp), %rsi + //0x000027bc LBB0_461 + 0x4c, 0x89, 0x06, //0x000027bc movq %r8, (%rsi) + 0x4c, 0x89, 0xd8, //0x000027bf movq %r11, %rax + 0xe9, 0x1d, 0xfe, 0xff, 0xff, //0x000027c2 jmp LBB0_427 + //0x000027c7 LBB0_462 + 0x49, 0x89, 0xc2, //0x000027c7 movq %rax, %r10 + 0xe9, 0xe7, 0xfd, 0xff, 0xff, //0x000027ca jmp LBB0_420 + //0x000027cf LBB0_463 + 0x49, 0x89, 0xca, //0x000027cf movq %rcx, %r10 + 0xe9, 0xdf, 0xfd, 0xff, 0xff, //0x000027d2 jmp LBB0_420 + //0x000027d7 LBB0_149 + 0x4c, 0x01, 0xd9, //0x000027d7 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000027da movq $-2, %r11 + 0x49, 0x89, 0xc9, //0x000027e1 movq %rcx, %r9 + 0xe9, 0x4a, 0xfe, 0xff, 0xff, //0x000027e4 jmp LBB0_150 + //0x000027e9 LBB0_185 + 0x4c, 0x01, 0xd9, //0x000027e9 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x000027ec movq $-2, %r11 + 0x49, 0x89, 0xc8, //0x000027f3 movq %rcx, %r8 + 0xe9, 0xc1, 0xff, 0xff, 0xff, //0x000027f6 jmp LBB0_461 + //0x000027fb LBB0_464 + 0x49, 0x89, 0xc2, //0x000027fb movq %rax, %r10 + 0xe9, 0xfa, 0xfd, 0xff, 0xff, //0x000027fe jmp LBB0_429 + //0x00002803 LBB0_465 + 0x49, 0x89, 0xca, //0x00002803 movq %rcx, %r10 + 0xe9, 0xf2, 0xfd, 0xff, 0xff, //0x00002806 jmp LBB0_429 + //0x0000280b LBB0_466 + 0x48, 0x89, 0xc7, //0x0000280b movq %rax, %rdi + 0xe9, 0x5e, 0xfe, 0xff, 0xff, //0x0000280e jmp LBB0_442 + //0x00002813 LBB0_467 + 0x49, 0x0f, 0xbc, 0xc2, //0x00002813 bsfq %r10, %rax + 0xe9, 0x06, 0xfe, 0xff, 0xff, //0x00002817 jmp LBB0_432 + //0x0000281c LBB0_468 + 0x4c, 0x2b, 0x5d, 0xd0, //0x0000281c subq $-48(%rbp), %r11 + 0xe9, 0x04, 0xfe, 0xff, 0xff, //0x00002820 jmp LBB0_433 + //0x00002825 LBB0_469 + 0x4d, 0x29, 0xcb, //0x00002825 subq %r9, %r11 + 0xe9, 0x5d, 0xff, 0xff, 0xff, //0x00002828 jmp LBB0_455 + //0x0000282d LBB0_470 + 0x48, 0x0f, 0xbc, 0xc7, //0x0000282d bsfq %rdi, %rax + 0xe9, 0x4e, 0xff, 0xff, 0xff, //0x00002831 jmp LBB0_454 + //0x00002836 LBB0_471 + 0x4c, 0x01, 0xd9, //0x00002836 addq %r11, %rcx + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00002839 movq $-2, %r11 + 0x49, 0x89, 0xc8, //0x00002840 movq %rcx, %r8 + 0xe9, 0x70, 0xff, 0xff, 0xff, //0x00002843 jmp LBB0_460 + //0x00002848 LBB0_472 + 0x48, 0x0f, 0xbc, 0xc3, //0x00002848 bsfq %rbx, %rax + 0xe9, 0x56, 0xff, 0xff, 0xff, //0x0000284c jmp LBB0_458 + //0x00002851 LBB0_473 + 0x4d, 0x89, 0xea, //0x00002851 movq %r13, %r10 + 0xe9, 0x5d, 0xfd, 0xff, 0xff, //0x00002854 jmp LBB0_420 + //0x00002859 LBB0_475 + 0x48, 0x8b, 0x75, 0xc8, //0x00002859 movq $-56(%rbp), %rsi + 0xe9, 0x9b, 0xfd, 0xff, 0xff, //0x0000285d jmp LBB0_429 + //0x00002862 LBB0_474 + 0x48, 0x8b, 0x75, 0xc8, //0x00002862 movq $-56(%rbp), %rsi + 0x4c, 0x8b, 0x55, 0xb8, //0x00002866 movq $-72(%rbp), %r10 + 0xe9, 0x8e, 0xfd, 0xff, 0xff, //0x0000286a jmp LBB0_429 + //0x0000286f LBB0_476 + 0x48, 0x8b, 0x75, 0xc8, //0x0000286f movq $-56(%rbp), %rsi + 0xe9, 0xf9, 0xfd, 0xff, 0xff, //0x00002873 jmp LBB0_442 + //0x00002878 .p2align 2, 0x90 + // // .set L0_0_set_35, LBB0_35-LJTI0_0 + // // .set L0_0_set_62, LBB0_62-LJTI0_0 + // // .set L0_0_set_40, LBB0_40-LJTI0_0 + // // .set L0_0_set_60, LBB0_60-LJTI0_0 + // // .set L0_0_set_38, LBB0_38-LJTI0_0 + // // .set L0_0_set_64, LBB0_64-LJTI0_0 + //0x00002878 LJTI0_0 + 0x13, 0xdb, 0xff, 0xff, //0x00002878 .long L0_0_set_35 + 0x24, 0xdd, 0xff, 0xff, //0x0000287c .long L0_0_set_62 + 0x4a, 0xdb, 0xff, 0xff, //0x00002880 .long L0_0_set_40 + 0x0d, 0xdd, 0xff, 0xff, //0x00002884 .long L0_0_set_60 + 0x2a, 0xdb, 0xff, 0xff, //0x00002888 .long L0_0_set_38 + 0x4f, 0xdd, 0xff, 0xff, //0x0000288c .long L0_0_set_64 + // // .set L0_1_set_427, LBB0_427-LJTI0_1 + // // .set L0_1_set_426, LBB0_426-LJTI0_1 + // // .set L0_1_set_199, LBB0_199-LJTI0_1 + // // .set L0_1_set_217, LBB0_217-LJTI0_1 + // // .set L0_1_set_68, LBB0_68-LJTI0_1 + // // .set L0_1_set_242, LBB0_242-LJTI0_1 + // // .set L0_1_set_244, LBB0_244-LJTI0_1 + // // .set L0_1_set_247, LBB0_247-LJTI0_1 + // // .set L0_1_set_253, LBB0_253-LJTI0_1 + // // .set L0_1_set_1, LBB0_1-LJTI0_1 + //0x00002890 LJTI0_1 + 0x54, 0xfd, 0xff, 0xff, //0x00002890 .long L0_1_set_427 + 0x4d, 0xfd, 0xff, 0xff, //0x00002894 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002898 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000289c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028a0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028a4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028a8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028ac .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028b0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028b4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028b8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028bc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028c0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028c4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028c8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028cc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028d0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028d4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028d8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028dc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028e0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028e4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028e8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028ec .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028f0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028f4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028f8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000028fc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002900 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002904 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002908 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000290c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002910 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002914 .long L0_1_set_426 + 0x9f, 0xe7, 0xff, 0xff, //0x00002918 .long L0_1_set_199 + 0x4d, 0xfd, 0xff, 0xff, //0x0000291c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002920 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002924 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002928 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000292c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002930 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002934 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002938 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000293c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002940 .long L0_1_set_426 + 0x5d, 0xe9, 0xff, 0xff, //0x00002944 .long L0_1_set_217 + 0x4d, 0xfd, 0xff, 0xff, //0x00002948 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000294c .long L0_1_set_426 + 0x86, 0xdd, 0xff, 0xff, //0x00002950 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002954 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002958 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x0000295c .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002960 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002964 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002968 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x0000296c .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002970 .long L0_1_set_68 + 0x86, 0xdd, 0xff, 0xff, //0x00002974 .long L0_1_set_68 + 0x4d, 0xfd, 0xff, 0xff, //0x00002978 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000297c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002980 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002984 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002988 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000298c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002990 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002994 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002998 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x0000299c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029a0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029a4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029a8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029ac .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029b0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029b4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029b8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029bc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029c0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029c4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029c8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029cc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029d0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029d4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029d8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029dc .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029e0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029e4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029e8 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029ec .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029f0 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029f4 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x000029f8 .long L0_1_set_426 + 0x44, 0xeb, 0xff, 0xff, //0x000029fc .long L0_1_set_242 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a00 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a04 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a08 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a0c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a10 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a14 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a18 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a1c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a20 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a24 .long L0_1_set_426 + 0x6c, 0xeb, 0xff, 0xff, //0x00002a28 .long L0_1_set_244 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a2c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a30 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a34 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a38 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a3c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a40 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a44 .long L0_1_set_426 + 0xad, 0xeb, 0xff, 0xff, //0x00002a48 .long L0_1_set_247 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a4c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a50 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a54 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a58 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a5c .long L0_1_set_426 + 0xd4, 0xeb, 0xff, 0xff, //0x00002a60 .long L0_1_set_253 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a64 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a68 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a6c .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a70 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a74 .long L0_1_set_426 + 0x4d, 0xfd, 0xff, 0xff, //0x00002a78 .long L0_1_set_426 + 0xca, 0xd8, 0xff, 0xff, //0x00002a7c .long L0_1_set_1 + // // .set L0_2_set_262, LBB0_262-LJTI0_2 + // // .set L0_2_set_291, LBB0_291-LJTI0_2 + // // .set L0_2_set_257, LBB0_257-LJTI0_2 + // // .set L0_2_set_259, LBB0_259-LJTI0_2 + // // .set L0_2_set_264, LBB0_264-LJTI0_2 + //0x00002a80 LJTI0_2 + 0x79, 0xea, 0xff, 0xff, //0x00002a80 .long L0_2_set_262 + 0xd9, 0xec, 0xff, 0xff, //0x00002a84 .long L0_2_set_291 + 0x79, 0xea, 0xff, 0xff, //0x00002a88 .long L0_2_set_262 + 0x33, 0xea, 0xff, 0xff, //0x00002a8c .long L0_2_set_257 + 0xd9, 0xec, 0xff, 0xff, //0x00002a90 .long L0_2_set_291 + 0x50, 0xea, 0xff, 0xff, //0x00002a94 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002a98 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002a9c .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002aa0 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002aa4 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002aa8 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002aac .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ab0 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ab4 .long L0_2_set_259 + 0x50, 0xea, 0xff, 0xff, //0x00002ab8 .long L0_2_set_259 + 0xd9, 0xec, 0xff, 0xff, //0x00002abc .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ac0 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ac4 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ac8 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002acc .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ad0 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ad4 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ad8 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002adc .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ae0 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002ae4 .long L0_2_set_291 + 0x94, 0xea, 0xff, 0xff, //0x00002ae8 .long L0_2_set_264 + 0xd9, 0xec, 0xff, 0xff, //0x00002aec .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002af0 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002af4 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002af8 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002afc .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b00 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b04 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b08 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b0c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b10 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b14 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b18 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b1c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b20 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b24 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b28 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b2c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b30 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b34 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b38 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b3c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b40 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b44 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b48 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b4c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b50 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b54 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b58 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b5c .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b60 .long L0_2_set_291 + 0xd9, 0xec, 0xff, 0xff, //0x00002b64 .long L0_2_set_291 + 0x94, 0xea, 0xff, 0xff, //0x00002b68 .long L0_2_set_264 + // // .set L0_3_set_98, LBB0_98-LJTI0_3 + // // .set L0_3_set_152, LBB0_152-LJTI0_3 + // // .set L0_3_set_100, LBB0_100-LJTI0_3 + // // .set L0_3_set_95, LBB0_95-LJTI0_3 + // // .set L0_3_set_93, LBB0_93-LJTI0_3 + //0x00002b6c LJTI0_3 + 0xcd, 0xdc, 0xff, 0xff, //0x00002b6c .long L0_3_set_98 + 0x2e, 0xe1, 0xff, 0xff, //0x00002b70 .long L0_3_set_152 + 0xcd, 0xdc, 0xff, 0xff, //0x00002b74 .long L0_3_set_98 + 0xe8, 0xdc, 0xff, 0xff, //0x00002b78 .long L0_3_set_100 + 0x2e, 0xe1, 0xff, 0xff, //0x00002b7c .long L0_3_set_152 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b80 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b84 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b88 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b8c .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b90 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b94 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b98 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002b9c .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002ba0 .long L0_3_set_95 + 0xa4, 0xdc, 0xff, 0xff, //0x00002ba4 .long L0_3_set_95 + 0x2e, 0xe1, 0xff, 0xff, //0x00002ba8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bac .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bb0 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bb4 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bb8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bbc .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bc0 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bc4 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bc8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bcc .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bd0 .long L0_3_set_152 + 0x84, 0xdc, 0xff, 0xff, //0x00002bd4 .long L0_3_set_93 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bd8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bdc .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002be0 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002be4 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002be8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bec .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bf0 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bf4 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bf8 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002bfc .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c00 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c04 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c08 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c0c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c10 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c14 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c18 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c1c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c20 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c24 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c28 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c2c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c30 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c34 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c38 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c3c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c40 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c44 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c48 .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c4c .long L0_3_set_152 + 0x2e, 0xe1, 0xff, 0xff, //0x00002c50 .long L0_3_set_152 + 0x84, 0xdc, 0xff, 0xff, //0x00002c54 .long L0_3_set_93 + //0x00002c58 .p2align 2, 0x00 + //0x00002c58 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00002c58 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8.go b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8.go new file mode 100644 index 0000000..158a547 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8.go @@ -0,0 +1,39 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_validate_utf8 func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int) + +var S_validate_utf8 uintptr + +//go:nosplit +func validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) { + return F_validate_utf8(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m))) +} + + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_fast.go b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_fast.go new file mode 100644 index 0000000..f96875a --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_fast.go @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_validate_utf8_fast func(s unsafe.Pointer) (ret int) + +var S_validate_utf8_fast uintptr + +//go:nosplit +func validate_utf8_fast(s *string) (ret int) { + return F_validate_utf8_fast(rt.NoEscape(unsafe.Pointer(s))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_fast_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_fast_subr.go new file mode 100644 index 0000000..15b54a7 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_fast_subr.go @@ -0,0 +1,41 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__validate_utf8_fast = 0 +) + +const ( + _stack__validate_utf8_fast = 24 +) + +const ( + _size__validate_utf8_fast = 536 +) + +var ( + _pcsp__validate_utf8_fast = [][2]uint32{ + {1, 0}, + {4, 8}, + {5, 16}, + {247, 24}, + {251, 16}, + {252, 8}, + {253, 0}, + {527, 24}, + {531, 16}, + {532, 8}, + {534, 0}, + } +) + +var _cfunc_validate_utf8_fast = []loader.CFunc{ + {"_validate_utf8_fast_entry", 0, _entry__validate_utf8_fast, 0, nil}, + {"_validate_utf8_fast", _entry__validate_utf8_fast, _size__validate_utf8_fast, _stack__validate_utf8_fast, _pcsp__validate_utf8_fast}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_fast_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_fast_text_amd64.go new file mode 100644 index 0000000..332fa8f --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_fast_text_amd64.go @@ -0,0 +1,156 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_validate_utf8_fast = []byte{ + // .p2align 4, 0x90 + // _validate_utf8_fast + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x53, //0x00000004 pushq %rbx + 0x50, //0x00000005 pushq %rax + 0x4c, 0x8b, 0x17, //0x00000006 movq (%rdi), %r10 + 0x4c, 0x8b, 0x5f, 0x08, //0x00000009 movq $8(%rdi), %r11 + 0x4b, 0x8d, 0x74, 0x1a, 0xfd, //0x0000000d leaq $-3(%r10,%r11), %rsi + 0x4c, 0x89, 0xd0, //0x00000012 movq %r10, %rax + 0x49, 0x39, 0xf2, //0x00000015 cmpq %rsi, %r10 + 0x0f, 0x83, 0xe0, 0x00, 0x00, 0x00, //0x00000018 jae LBB0_14 + 0x4c, 0x89, 0xd0, //0x0000001e movq %r10, %rax + 0xe9, 0x16, 0x00, 0x00, 0x00, //0x00000021 jmp LBB0_3 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000026 .p2align 4, 0x90 + //0x00000030 LBB0_2 + 0x48, 0x01, 0xd0, //0x00000030 addq %rdx, %rax + 0x48, 0x39, 0xf0, //0x00000033 cmpq %rsi, %rax + 0x0f, 0x83, 0xc2, 0x00, 0x00, 0x00, //0x00000036 jae LBB0_14 + //0x0000003c LBB0_3 + 0xba, 0x01, 0x00, 0x00, 0x00, //0x0000003c movl $1, %edx + 0x80, 0x38, 0x00, //0x00000041 cmpb $0, (%rax) + 0x0f, 0x89, 0xe6, 0xff, 0xff, 0xff, //0x00000044 jns LBB0_2 + 0x8b, 0x38, //0x0000004a movl (%rax), %edi + 0x89, 0xf9, //0x0000004c movl %edi, %ecx + 0x81, 0xe1, 0xf0, 0xc0, 0xc0, 0x00, //0x0000004e andl $12632304, %ecx + 0x81, 0xf9, 0xe0, 0x80, 0x80, 0x00, //0x00000054 cmpl $8421600, %ecx + 0x0f, 0x85, 0x30, 0x00, 0x00, 0x00, //0x0000005a jne LBB0_7 + 0x89, 0xf9, //0x00000060 movl %edi, %ecx + 0x81, 0xe1, 0x0f, 0x20, 0x00, 0x00, //0x00000062 andl $8207, %ecx + 0x81, 0xf9, 0x0d, 0x20, 0x00, 0x00, //0x00000068 cmpl $8205, %ecx + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x0000006e je LBB0_7 + 0xba, 0x03, 0x00, 0x00, 0x00, //0x00000074 movl $3, %edx + 0x85, 0xc9, //0x00000079 testl %ecx, %ecx + 0x0f, 0x85, 0xaf, 0xff, 0xff, 0xff, //0x0000007b jne LBB0_2 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000081 .p2align 4, 0x90 + //0x00000090 LBB0_7 + 0x89, 0xf9, //0x00000090 movl %edi, %ecx + 0x81, 0xe1, 0xe0, 0xc0, 0x00, 0x00, //0x00000092 andl $49376, %ecx + 0x81, 0xf9, 0xc0, 0x80, 0x00, 0x00, //0x00000098 cmpl $32960, %ecx + 0x0f, 0x85, 0x10, 0x00, 0x00, 0x00, //0x0000009e jne LBB0_9 + 0x89, 0xf9, //0x000000a4 movl %edi, %ecx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x000000a6 movl $2, %edx + 0x83, 0xe1, 0x1e, //0x000000ab andl $30, %ecx + 0x0f, 0x85, 0x7c, 0xff, 0xff, 0xff, //0x000000ae jne LBB0_2 + //0x000000b4 LBB0_9 + 0x89, 0xf9, //0x000000b4 movl %edi, %ecx + 0x81, 0xe1, 0xf8, 0xc0, 0xc0, 0xc0, //0x000000b6 andl $-1061109512, %ecx + 0x81, 0xf9, 0xf0, 0x80, 0x80, 0x80, //0x000000bc cmpl $-2139062032, %ecx + 0x0f, 0x85, 0x29, 0x00, 0x00, 0x00, //0x000000c2 jne LBB0_13 + 0x89, 0xf9, //0x000000c8 movl %edi, %ecx + 0x81, 0xe1, 0x07, 0x30, 0x00, 0x00, //0x000000ca andl $12295, %ecx + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x000000d0 je LBB0_13 + 0xba, 0x04, 0x00, 0x00, 0x00, //0x000000d6 movl $4, %edx + 0x40, 0xf6, 0xc7, 0x04, //0x000000db testb $4, %dil + 0x0f, 0x84, 0x4b, 0xff, 0xff, 0xff, //0x000000df je LBB0_2 + 0x81, 0xe7, 0x03, 0x30, 0x00, 0x00, //0x000000e5 andl $12291, %edi + 0x0f, 0x84, 0x3f, 0xff, 0xff, 0xff, //0x000000eb je LBB0_2 + //0x000000f1 LBB0_13 + 0x48, 0xf7, 0xd0, //0x000000f1 notq %rax + 0x4c, 0x01, 0xd0, //0x000000f4 addq %r10, %rax + 0x48, 0x83, 0xc4, 0x08, //0x000000f7 addq $8, %rsp + 0x5b, //0x000000fb popq %rbx + 0x5d, //0x000000fc popq %rbp + 0xc3, //0x000000fd retq + //0x000000fe LBB0_14 + 0x4d, 0x01, 0xd3, //0x000000fe addq %r10, %r11 + 0x4c, 0x39, 0xd8, //0x00000101 cmpq %r11, %rax + 0x0f, 0x83, 0x03, 0x01, 0x00, 0x00, //0x00000104 jae LBB0_30 + 0x4c, 0x8d, 0x45, 0xf4, //0x0000010a leaq $-12(%rbp), %r8 + 0x4c, 0x8d, 0x4d, 0xf2, //0x0000010e leaq $-14(%rbp), %r9 + 0xe9, 0x15, 0x00, 0x00, 0x00, //0x00000112 jmp LBB0_17 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000117 .p2align 4, 0x90 + //0x00000120 LBB0_16 + 0x48, 0xff, 0xc0, //0x00000120 incq %rax + 0x4c, 0x39, 0xd8, //0x00000123 cmpq %r11, %rax + 0x0f, 0x83, 0xe1, 0x00, 0x00, 0x00, //0x00000126 jae LBB0_30 + //0x0000012c LBB0_17 + 0x80, 0x38, 0x00, //0x0000012c cmpb $0, (%rax) + 0x0f, 0x89, 0xeb, 0xff, 0xff, 0xff, //0x0000012f jns LBB0_16 + 0xc6, 0x45, 0xf4, 0x00, //0x00000135 movb $0, $-12(%rbp) + 0xc6, 0x45, 0xf2, 0x00, //0x00000139 movb $0, $-14(%rbp) + 0x4c, 0x89, 0xda, //0x0000013d movq %r11, %rdx + 0x48, 0x29, 0xc2, //0x00000140 subq %rax, %rdx + 0x48, 0x83, 0xfa, 0x02, //0x00000143 cmpq $2, %rdx + 0x0f, 0x82, 0x31, 0x00, 0x00, 0x00, //0x00000147 jb LBB0_21 + 0x0f, 0xb6, 0x30, //0x0000014d movzbl (%rax), %esi + 0x0f, 0xb6, 0x78, 0x01, //0x00000150 movzbl $1(%rax), %edi + 0x40, 0x88, 0x75, 0xf4, //0x00000154 movb %sil, $-12(%rbp) + 0x48, 0x8d, 0x48, 0x02, //0x00000158 leaq $2(%rax), %rcx + 0x48, 0x83, 0xc2, 0xfe, //0x0000015c addq $-2, %rdx + 0x4c, 0x89, 0xcb, //0x00000160 movq %r9, %rbx + 0x48, 0x85, 0xd2, //0x00000163 testq %rdx, %rdx + 0x0f, 0x84, 0x25, 0x00, 0x00, 0x00, //0x00000166 je LBB0_22 + //0x0000016c LBB0_20 + 0x0f, 0xb6, 0x09, //0x0000016c movzbl (%rcx), %ecx + 0x88, 0x0b, //0x0000016f movb %cl, (%rbx) + 0x0f, 0xb6, 0x75, 0xf4, //0x00000171 movzbl $-12(%rbp), %esi + 0x0f, 0xb6, 0x4d, 0xf2, //0x00000175 movzbl $-14(%rbp), %ecx + 0xe9, 0x15, 0x00, 0x00, 0x00, //0x00000179 jmp LBB0_23 + //0x0000017e LBB0_21 + 0x31, 0xf6, //0x0000017e xorl %esi, %esi + 0x31, 0xff, //0x00000180 xorl %edi, %edi + 0x4c, 0x89, 0xc3, //0x00000182 movq %r8, %rbx + 0x48, 0x89, 0xc1, //0x00000185 movq %rax, %rcx + 0x48, 0x85, 0xd2, //0x00000188 testq %rdx, %rdx + 0x0f, 0x85, 0xdb, 0xff, 0xff, 0xff, //0x0000018b jne LBB0_20 + //0x00000191 LBB0_22 + 0x31, 0xc9, //0x00000191 xorl %ecx, %ecx + //0x00000193 LBB0_23 + 0x0f, 0xb6, 0xc9, //0x00000193 movzbl %cl, %ecx + 0xc1, 0xe1, 0x10, //0x00000196 shll $16, %ecx + 0x40, 0x0f, 0xb6, 0xff, //0x00000199 movzbl %dil, %edi + 0xc1, 0xe7, 0x08, //0x0000019d shll $8, %edi + 0x40, 0x0f, 0xb6, 0xd6, //0x000001a0 movzbl %sil, %edx + 0x09, 0xfa, //0x000001a4 orl %edi, %edx + 0x09, 0xd1, //0x000001a6 orl %edx, %ecx + 0x81, 0xe1, 0xf0, 0xc0, 0xc0, 0x00, //0x000001a8 andl $12632304, %ecx + 0x81, 0xf9, 0xe0, 0x80, 0x80, 0x00, //0x000001ae cmpl $8421600, %ecx + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x000001b4 jne LBB0_26 + 0x89, 0xd7, //0x000001ba movl %edx, %edi + 0x81, 0xe7, 0x0f, 0x20, 0x00, 0x00, //0x000001bc andl $8207, %edi + 0x81, 0xff, 0x0d, 0x20, 0x00, 0x00, //0x000001c2 cmpl $8205, %edi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x000001c8 je LBB0_26 + 0xb9, 0x03, 0x00, 0x00, 0x00, //0x000001ce movl $3, %ecx + 0x85, 0xff, //0x000001d3 testl %edi, %edi + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x000001d5 jne LBB0_28 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001db .p2align 4, 0x90 + //0x000001e0 LBB0_26 + 0x40, 0xf6, 0xc6, 0x1e, //0x000001e0 testb $30, %sil + 0x0f, 0x84, 0x07, 0xff, 0xff, 0xff, //0x000001e4 je LBB0_13 + 0x81, 0xe2, 0xe0, 0xc0, 0x00, 0x00, //0x000001ea andl $49376, %edx + 0xb9, 0x02, 0x00, 0x00, 0x00, //0x000001f0 movl $2, %ecx + 0x81, 0xfa, 0xc0, 0x80, 0x00, 0x00, //0x000001f5 cmpl $32960, %edx + 0x0f, 0x85, 0xf0, 0xfe, 0xff, 0xff, //0x000001fb jne LBB0_13 + //0x00000201 LBB0_28 + 0x48, 0x01, 0xc8, //0x00000201 addq %rcx, %rax + 0x4c, 0x39, 0xd8, //0x00000204 cmpq %r11, %rax + 0x0f, 0x82, 0x1f, 0xff, 0xff, 0xff, //0x00000207 jb LBB0_17 + //0x0000020d LBB0_30 + 0x31, 0xc0, //0x0000020d xorl %eax, %eax + 0x48, 0x83, 0xc4, 0x08, //0x0000020f addq $8, %rsp + 0x5b, //0x00000213 popq %rbx + 0x5d, //0x00000214 popq %rbp + 0xc3, //0x00000215 retq + 0x00, 0x00, //0x00000216 .p2align 2, 0x00 + //0x00000218 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000218 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_subr.go new file mode 100644 index 0000000..100a086 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_subr.go @@ -0,0 +1,44 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__validate_utf8 = 0 +) + +const ( + _stack__validate_utf8 = 48 +) + +const ( + _size__validate_utf8 = 668 +) + +var ( + _pcsp__validate_utf8 = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {11, 40}, + {623, 48}, + {627, 40}, + {628, 32}, + {630, 24}, + {632, 16}, + {634, 8}, + {635, 0}, + {666, 48}, + } +) + +var _cfunc_validate_utf8 = []loader.CFunc{ + {"_validate_utf8_entry", 0, _entry__validate_utf8, 0, nil}, + {"_validate_utf8", _entry__validate_utf8, _size__validate_utf8, _stack__validate_utf8, _pcsp__validate_utf8}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_text_amd64.go new file mode 100644 index 0000000..96502af --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/validate_utf8_text_amd64.go @@ -0,0 +1,191 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_validate_utf8 = []byte{ + // .p2align 4, 0x90 + // _validate_utf8 + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x41, 0x57, //0x00000004 pushq %r15 + 0x41, 0x56, //0x00000006 pushq %r14 + 0x41, 0x54, //0x00000008 pushq %r12 + 0x53, //0x0000000a pushq %rbx + 0x50, //0x0000000b pushq %rax + 0x4c, 0x8b, 0x17, //0x0000000c movq (%rdi), %r10 + 0x4c, 0x8b, 0x5f, 0x08, //0x0000000f movq $8(%rdi), %r11 + 0x48, 0x8b, 0x0e, //0x00000013 movq (%rsi), %rcx + 0x4c, 0x01, 0xd1, //0x00000016 addq %r10, %rcx + 0x4f, 0x8d, 0x44, 0x1a, 0xfd, //0x00000019 leaq $-3(%r10,%r11), %r8 + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x0000001e jmp LBB0_1 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000023 .p2align 4, 0x90 + //0x00000030 LBB0_19 + 0x48, 0x01, 0xd9, //0x00000030 addq %rbx, %rcx + //0x00000033 LBB0_1 + 0x4c, 0x39, 0xc1, //0x00000033 cmpq %r8, %rcx + 0x0f, 0x83, 0xe1, 0x00, 0x00, 0x00, //0x00000036 jae LBB0_2 + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000003c movl $1, %ebx + 0x80, 0x39, 0x00, //0x00000041 cmpb $0, (%rcx) + 0x0f, 0x89, 0xe6, 0xff, 0xff, 0xff, //0x00000044 jns LBB0_19 + 0x8b, 0x01, //0x0000004a movl (%rcx), %eax + 0x89, 0xc7, //0x0000004c movl %eax, %edi + 0x81, 0xe7, 0xf0, 0xc0, 0xc0, 0x00, //0x0000004e andl $12632304, %edi + 0x81, 0xff, 0xe0, 0x80, 0x80, 0x00, //0x00000054 cmpl $8421600, %edi + 0x0f, 0x85, 0x30, 0x00, 0x00, 0x00, //0x0000005a jne LBB0_10 + 0x89, 0xc7, //0x00000060 movl %eax, %edi + 0x81, 0xe7, 0x0f, 0x20, 0x00, 0x00, //0x00000062 andl $8207, %edi + 0x81, 0xff, 0x0d, 0x20, 0x00, 0x00, //0x00000068 cmpl $8205, %edi + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x0000006e je LBB0_10 + 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00000074 movl $3, %ebx + 0x85, 0xff, //0x00000079 testl %edi, %edi + 0x0f, 0x85, 0xaf, 0xff, 0xff, 0xff, //0x0000007b jne LBB0_19 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000081 .p2align 4, 0x90 + //0x00000090 LBB0_10 + 0x89, 0xc7, //0x00000090 movl %eax, %edi + 0x81, 0xe7, 0xe0, 0xc0, 0x00, 0x00, //0x00000092 andl $49376, %edi + 0x81, 0xff, 0xc0, 0x80, 0x00, 0x00, //0x00000098 cmpl $32960, %edi + 0x0f, 0x85, 0x10, 0x00, 0x00, 0x00, //0x0000009e jne LBB0_12 + 0x89, 0xc7, //0x000000a4 movl %eax, %edi + 0xbb, 0x02, 0x00, 0x00, 0x00, //0x000000a6 movl $2, %ebx + 0x83, 0xe7, 0x1e, //0x000000ab andl $30, %edi + 0x0f, 0x85, 0x7c, 0xff, 0xff, 0xff, //0x000000ae jne LBB0_19 + //0x000000b4 LBB0_12 + 0x89, 0xc7, //0x000000b4 movl %eax, %edi + 0x81, 0xe7, 0xf8, 0xc0, 0xc0, 0xc0, //0x000000b6 andl $-1061109512, %edi + 0x81, 0xff, 0xf0, 0x80, 0x80, 0x80, //0x000000bc cmpl $-2139062032, %edi + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x000000c2 jne LBB0_16 + 0x89, 0xc7, //0x000000c8 movl %eax, %edi + 0x81, 0xe7, 0x07, 0x30, 0x00, 0x00, //0x000000ca andl $12295, %edi + 0x0f, 0x84, 0x18, 0x00, 0x00, 0x00, //0x000000d0 je LBB0_16 + 0xbb, 0x04, 0x00, 0x00, 0x00, //0x000000d6 movl $4, %ebx + 0xa8, 0x04, //0x000000db testb $4, %al + 0x0f, 0x84, 0x4d, 0xff, 0xff, 0xff, //0x000000dd je LBB0_19 + 0x25, 0x03, 0x30, 0x00, 0x00, //0x000000e3 andl $12291, %eax + 0x0f, 0x84, 0x42, 0xff, 0xff, 0xff, //0x000000e8 je LBB0_19 + //0x000000ee LBB0_16 + 0x48, 0x89, 0xcf, //0x000000ee movq %rcx, %rdi + 0x4c, 0x29, 0xd7, //0x000000f1 subq %r10, %rdi + 0x48, 0x8b, 0x1a, //0x000000f4 movq (%rdx), %rbx + 0x48, 0x81, 0xfb, 0x00, 0x10, 0x00, 0x00, //0x000000f7 cmpq $4096, %rbx + 0x0f, 0x83, 0x87, 0x01, 0x00, 0x00, //0x000000fe jae LBB0_17 + 0x48, 0x63, 0xc7, //0x00000104 movslq %edi, %rax + 0x48, 0x8d, 0x7b, 0x01, //0x00000107 leaq $1(%rbx), %rdi + 0x48, 0x89, 0x3a, //0x0000010b movq %rdi, (%rdx) + 0x48, 0x89, 0x44, 0xda, 0x08, //0x0000010e movq %rax, $8(%rdx,%rbx,8) + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000113 movl $1, %ebx + 0xe9, 0x13, 0xff, 0xff, 0xff, //0x00000118 jmp LBB0_19 + //0x0000011d LBB0_2 + 0x4d, 0x01, 0xd3, //0x0000011d addq %r10, %r11 + 0x4c, 0x39, 0xd9, //0x00000120 cmpq %r11, %rcx + 0x0f, 0x83, 0x3e, 0x01, 0x00, 0x00, //0x00000123 jae LBB0_36 + 0x4c, 0x8d, 0x45, 0xdc, //0x00000129 leaq $-36(%rbp), %r8 + 0x4c, 0x8d, 0x4d, 0xda, //0x0000012d leaq $-38(%rbp), %r9 + 0xe9, 0x16, 0x00, 0x00, 0x00, //0x00000131 jmp LBB0_4 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000136 .p2align 4, 0x90 + //0x00000140 LBB0_5 + 0x48, 0xff, 0xc1, //0x00000140 incq %rcx + 0x4c, 0x39, 0xd9, //0x00000143 cmpq %r11, %rcx + 0x0f, 0x83, 0x1b, 0x01, 0x00, 0x00, //0x00000146 jae LBB0_36 + //0x0000014c LBB0_4 + 0x80, 0x39, 0x00, //0x0000014c cmpb $0, (%rcx) + 0x0f, 0x89, 0xeb, 0xff, 0xff, 0xff, //0x0000014f jns LBB0_5 + 0xc6, 0x45, 0xdc, 0x00, //0x00000155 movb $0, $-36(%rbp) + 0xc6, 0x45, 0xda, 0x00, //0x00000159 movb $0, $-38(%rbp) + 0x4c, 0x89, 0xdb, //0x0000015d movq %r11, %rbx + 0x48, 0x29, 0xcb, //0x00000160 subq %rcx, %rbx + 0x48, 0x83, 0xfb, 0x02, //0x00000163 cmpq $2, %rbx + 0x0f, 0x82, 0x35, 0x00, 0x00, 0x00, //0x00000167 jb LBB0_21 + 0x44, 0x0f, 0xb6, 0x21, //0x0000016d movzbl (%rcx), %r12d + 0x44, 0x0f, 0xb6, 0x71, 0x01, //0x00000171 movzbl $1(%rcx), %r14d + 0x44, 0x88, 0x65, 0xdc, //0x00000176 movb %r12b, $-36(%rbp) + 0x4c, 0x8d, 0x79, 0x02, //0x0000017a leaq $2(%rcx), %r15 + 0x48, 0x83, 0xc3, 0xfe, //0x0000017e addq $-2, %rbx + 0x4c, 0x89, 0xcf, //0x00000182 movq %r9, %rdi + 0x48, 0x85, 0xdb, //0x00000185 testq %rbx, %rbx + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00000188 je LBB0_24 + //0x0000018e LBB0_25 + 0x41, 0x0f, 0xb6, 0x07, //0x0000018e movzbl (%r15), %eax + 0x88, 0x07, //0x00000192 movb %al, (%rdi) + 0x44, 0x0f, 0xb6, 0x65, 0xdc, //0x00000194 movzbl $-36(%rbp), %r12d + 0x0f, 0xb6, 0x7d, 0xda, //0x00000199 movzbl $-38(%rbp), %edi + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x0000019d jmp LBB0_26 + //0x000001a2 LBB0_21 + 0x45, 0x31, 0xe4, //0x000001a2 xorl %r12d, %r12d + 0x45, 0x31, 0xf6, //0x000001a5 xorl %r14d, %r14d + 0x4c, 0x89, 0xc7, //0x000001a8 movq %r8, %rdi + 0x49, 0x89, 0xcf, //0x000001ab movq %rcx, %r15 + 0x48, 0x85, 0xdb, //0x000001ae testq %rbx, %rbx + 0x0f, 0x85, 0xd7, 0xff, 0xff, 0xff, //0x000001b1 jne LBB0_25 + //0x000001b7 LBB0_24 + 0x31, 0xff, //0x000001b7 xorl %edi, %edi + //0x000001b9 LBB0_26 + 0x40, 0x0f, 0xb6, 0xc7, //0x000001b9 movzbl %dil, %eax + 0xc1, 0xe0, 0x10, //0x000001bd shll $16, %eax + 0x41, 0x0f, 0xb6, 0xde, //0x000001c0 movzbl %r14b, %ebx + 0xc1, 0xe3, 0x08, //0x000001c4 shll $8, %ebx + 0x41, 0x0f, 0xb6, 0xfc, //0x000001c7 movzbl %r12b, %edi + 0x09, 0xdf, //0x000001cb orl %ebx, %edi + 0x09, 0xf8, //0x000001cd orl %edi, %eax + 0x25, 0xf0, 0xc0, 0xc0, 0x00, //0x000001cf andl $12632304, %eax + 0x3d, 0xe0, 0x80, 0x80, 0x00, //0x000001d4 cmpl $8421600, %eax + 0x0f, 0x85, 0x21, 0x00, 0x00, 0x00, //0x000001d9 jne LBB0_29 + 0x89, 0xf8, //0x000001df movl %edi, %eax + 0x25, 0x0f, 0x20, 0x00, 0x00, //0x000001e1 andl $8207, %eax + 0x3d, 0x0d, 0x20, 0x00, 0x00, //0x000001e6 cmpl $8205, %eax + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x000001eb je LBB0_29 + 0xbb, 0x03, 0x00, 0x00, 0x00, //0x000001f1 movl $3, %ebx + 0x85, 0xc0, //0x000001f6 testl %eax, %eax + 0x0f, 0x85, 0x23, 0x00, 0x00, 0x00, //0x000001f8 jne LBB0_34 + 0x90, 0x90, //0x000001fe .p2align 4, 0x90 + //0x00000200 LBB0_29 + 0x41, 0xf6, 0xc4, 0x1e, //0x00000200 testb $30, %r12b + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x00000204 je LBB0_31 + 0x81, 0xe7, 0xe0, 0xc0, 0x00, 0x00, //0x0000020a andl $49376, %edi + 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00000210 movl $2, %ebx + 0x81, 0xff, 0xc0, 0x80, 0x00, 0x00, //0x00000215 cmpl $32960, %edi + 0x0f, 0x85, 0x11, 0x00, 0x00, 0x00, //0x0000021b jne LBB0_31 + //0x00000221 LBB0_34 + 0x48, 0x01, 0xd9, //0x00000221 addq %rbx, %rcx + 0x4c, 0x39, 0xd9, //0x00000224 cmpq %r11, %rcx + 0x0f, 0x82, 0x1f, 0xff, 0xff, 0xff, //0x00000227 jb LBB0_4 + 0xe9, 0x35, 0x00, 0x00, 0x00, //0x0000022d jmp LBB0_36 + //0x00000232 LBB0_31 + 0x48, 0x89, 0xc8, //0x00000232 movq %rcx, %rax + 0x4c, 0x29, 0xd0, //0x00000235 subq %r10, %rax + 0x48, 0x8b, 0x3a, //0x00000238 movq (%rdx), %rdi + 0x48, 0x81, 0xff, 0x00, 0x10, 0x00, 0x00, //0x0000023b cmpq $4096, %rdi + 0x0f, 0x83, 0x34, 0x00, 0x00, 0x00, //0x00000242 jae LBB0_32 + 0x48, 0x98, //0x00000248 cltq + 0x48, 0x8d, 0x5f, 0x01, //0x0000024a leaq $1(%rdi), %rbx + 0x48, 0x89, 0x1a, //0x0000024e movq %rbx, (%rdx) + 0x48, 0x89, 0x44, 0xfa, 0x08, //0x00000251 movq %rax, $8(%rdx,%rdi,8) + 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000256 movl $1, %ebx + 0x48, 0x01, 0xd9, //0x0000025b addq %rbx, %rcx + 0x4c, 0x39, 0xd9, //0x0000025e cmpq %r11, %rcx + 0x0f, 0x82, 0xe5, 0xfe, 0xff, 0xff, //0x00000261 jb LBB0_4 + //0x00000267 LBB0_36 + 0x4c, 0x29, 0xd1, //0x00000267 subq %r10, %rcx + 0x48, 0x89, 0x0e, //0x0000026a movq %rcx, (%rsi) + 0x31, 0xc0, //0x0000026d xorl %eax, %eax + //0x0000026f LBB0_37 + 0x48, 0x83, 0xc4, 0x08, //0x0000026f addq $8, %rsp + 0x5b, //0x00000273 popq %rbx + 0x41, 0x5c, //0x00000274 popq %r12 + 0x41, 0x5e, //0x00000276 popq %r14 + 0x41, 0x5f, //0x00000278 popq %r15 + 0x5d, //0x0000027a popq %rbp + 0xc3, //0x0000027b retq + //0x0000027c LBB0_32 + 0x48, 0x89, 0x06, //0x0000027c movq %rax, (%rsi) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000027f movq $-1, %rax + 0xe9, 0xe4, 0xff, 0xff, 0xff, //0x00000286 jmp LBB0_37 + //0x0000028b LBB0_17 + 0x48, 0x89, 0x3e, //0x0000028b movq %rdi, (%rsi) + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000028e movq $-1, %rax + 0xe9, 0xd5, 0xff, 0xff, 0xff, //0x00000295 jmp LBB0_37 + 0x00, 0x00, //0x0000029a .p2align 2, 0x00 + //0x0000029c _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x0000029c .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/value.go b/vendor/github.com/bytedance/sonic/internal/native/sse/value.go new file mode 100644 index 0000000..561868a --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/value.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_value func(s unsafe.Pointer, n int, p int, v unsafe.Pointer, flags uint64) (ret int) + +var S_value uintptr + +//go:nosplit +func value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int) { + return F_value(rt.NoEscape(unsafe.Pointer(s)), n, p, rt.NoEscape(unsafe.Pointer(v)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/value_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/value_subr.go new file mode 100644 index 0000000..65e8c88 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/value_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__value = 192 +) + +const ( + _stack__value = 112 +) + +const ( + _size__value = 12816 +) + +var ( + _pcsp__value = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {562, 112}, + {566, 48}, + {567, 40}, + {569, 32}, + {571, 24}, + {573, 16}, + {575, 8}, + {576, 0}, + {12816, 112}, + } +) + +var _cfunc_value = []loader.CFunc{ + {"_value_entry", 0, _entry__value, 0, nil}, + {"_value", _entry__value, _size__value, _stack__value, _pcsp__value}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/value_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/value_text_amd64.go new file mode 100644 index 0000000..d816d45 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/value_text_amd64.go @@ -0,0 +1,5655 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_value = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, // QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000010 LCPI0_1 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000010 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000020 LCPI0_2 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000020 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000030 LCPI0_3 + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00000030 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' + //0x00000040 LCPI0_4 + 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000040 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' + //0x00000050 LCPI0_5 + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000050 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' + //0x00000060 LCPI0_6 + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000060 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' + //0x00000070 LCPI0_7 + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000070 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' + //0x00000080 LCPI0_8 + 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000080 QUAD $0x6565656565656565; QUAD $0x6565656565656565 // .space 16, 'eeeeeeeeeeeeeeee' + //0x00000090 LCPI0_9 + 0x00, 0x00, 0x30, 0x43, //0x00000090 .long 1127219200 + 0x00, 0x00, 0x30, 0x45, //0x00000094 .long 1160773632 + 0x00, 0x00, 0x00, 0x00, //0x00000098 .long 0 + 0x00, 0x00, 0x00, 0x00, //0x0000009c .long 0 + //0x000000a0 LCPI0_10 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x43, //0x000000a0 .quad 4841369599423283200 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x45, //0x000000a8 .quad 4985484787499139072 + //0x000000b0 .p2align 3, 0x00 + //0x000000b0 LCPI0_11 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0x43, //0x000000b0 .quad 4831355200913801216 + //0x000000b8 LCPI0_12 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0xc3, //0x000000b8 .quad -4392016835940974592 + //0x000000c0 .p2align 4, 0x90 + //0x000000c0 _value + 0x55, //0x000000c0 pushq %rbp + 0x48, 0x89, 0xe5, //0x000000c1 movq %rsp, %rbp + 0x41, 0x57, //0x000000c4 pushq %r15 + 0x41, 0x56, //0x000000c6 pushq %r14 + 0x41, 0x55, //0x000000c8 pushq %r13 + 0x41, 0x54, //0x000000ca pushq %r12 + 0x53, //0x000000cc pushq %rbx + 0x48, 0x83, 0xec, 0x40, //0x000000cd subq $64, %rsp + 0x49, 0x89, 0xcd, //0x000000d1 movq %rcx, %r13 + 0x49, 0x89, 0xd3, //0x000000d4 movq %rdx, %r11 + 0x48, 0x89, 0xf8, //0x000000d7 movq %rdi, %rax + 0x48, 0x89, 0xd1, //0x000000da movq %rdx, %rcx + 0x48, 0x29, 0xf1, //0x000000dd subq %rsi, %rcx + 0x0f, 0x83, 0x2c, 0x00, 0x00, 0x00, //0x000000e0 jae LBB0_5 + 0x42, 0x8a, 0x3c, 0x18, //0x000000e6 movb (%rax,%r11), %dil + 0x40, 0x80, 0xff, 0x0d, //0x000000ea cmpb $13, %dil + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x000000ee je LBB0_5 + 0x40, 0x80, 0xff, 0x20, //0x000000f4 cmpb $32, %dil + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000000f8 je LBB0_5 + 0x8d, 0x57, 0xf7, //0x000000fe leal $-9(%rdi), %edx + 0x80, 0xfa, 0x01, //0x00000101 cmpb $1, %dl + 0x0f, 0x86, 0x08, 0x00, 0x00, 0x00, //0x00000104 jbe LBB0_5 + 0x4d, 0x89, 0xdf, //0x0000010a movq %r11, %r15 + 0xe9, 0x2c, 0x01, 0x00, 0x00, //0x0000010d jmp LBB0_28 + //0x00000112 LBB0_5 + 0x4d, 0x8d, 0x7b, 0x01, //0x00000112 leaq $1(%r11), %r15 + 0x49, 0x39, 0xf7, //0x00000116 cmpq %rsi, %r15 + 0x0f, 0x83, 0x24, 0x00, 0x00, 0x00, //0x00000119 jae LBB0_9 + 0x42, 0x8a, 0x3c, 0x38, //0x0000011f movb (%rax,%r15), %dil + 0x40, 0x80, 0xff, 0x0d, //0x00000123 cmpb $13, %dil + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000127 je LBB0_9 + 0x40, 0x80, 0xff, 0x20, //0x0000012d cmpb $32, %dil + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x00000131 je LBB0_9 + 0x8d, 0x57, 0xf7, //0x00000137 leal $-9(%rdi), %edx + 0x80, 0xfa, 0x01, //0x0000013a cmpb $1, %dl + 0x0f, 0x87, 0xfb, 0x00, 0x00, 0x00, //0x0000013d ja LBB0_28 + //0x00000143 LBB0_9 + 0x4d, 0x8d, 0x7b, 0x02, //0x00000143 leaq $2(%r11), %r15 + 0x49, 0x39, 0xf7, //0x00000147 cmpq %rsi, %r15 + 0x0f, 0x83, 0x24, 0x00, 0x00, 0x00, //0x0000014a jae LBB0_13 + 0x42, 0x8a, 0x3c, 0x38, //0x00000150 movb (%rax,%r15), %dil + 0x40, 0x80, 0xff, 0x0d, //0x00000154 cmpb $13, %dil + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000158 je LBB0_13 + 0x40, 0x80, 0xff, 0x20, //0x0000015e cmpb $32, %dil + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x00000162 je LBB0_13 + 0x8d, 0x57, 0xf7, //0x00000168 leal $-9(%rdi), %edx + 0x80, 0xfa, 0x01, //0x0000016b cmpb $1, %dl + 0x0f, 0x87, 0xca, 0x00, 0x00, 0x00, //0x0000016e ja LBB0_28 + //0x00000174 LBB0_13 + 0x4d, 0x8d, 0x7b, 0x03, //0x00000174 leaq $3(%r11), %r15 + 0x49, 0x39, 0xf7, //0x00000178 cmpq %rsi, %r15 + 0x0f, 0x83, 0x24, 0x00, 0x00, 0x00, //0x0000017b jae LBB0_17 + 0x42, 0x8a, 0x3c, 0x38, //0x00000181 movb (%rax,%r15), %dil + 0x40, 0x80, 0xff, 0x0d, //0x00000185 cmpb $13, %dil + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00000189 je LBB0_17 + 0x40, 0x80, 0xff, 0x20, //0x0000018f cmpb $32, %dil + 0x0f, 0x84, 0x0c, 0x00, 0x00, 0x00, //0x00000193 je LBB0_17 + 0x8d, 0x57, 0xf7, //0x00000199 leal $-9(%rdi), %edx + 0x80, 0xfa, 0x01, //0x0000019c cmpb $1, %dl + 0x0f, 0x87, 0x99, 0x00, 0x00, 0x00, //0x0000019f ja LBB0_28 + //0x000001a5 LBB0_17 + 0x49, 0x8d, 0x53, 0x04, //0x000001a5 leaq $4(%r11), %rdx + 0x48, 0x39, 0xf2, //0x000001a9 cmpq %rsi, %rdx + 0x0f, 0x83, 0x57, 0x00, 0x00, 0x00, //0x000001ac jae LBB0_23 + 0x48, 0x39, 0xd6, //0x000001b2 cmpq %rdx, %rsi + 0x0f, 0x84, 0x56, 0x00, 0x00, 0x00, //0x000001b5 je LBB0_24 + 0x48, 0x8d, 0x14, 0x30, //0x000001bb leaq (%rax,%rsi), %rdx + 0x48, 0x83, 0xc1, 0x04, //0x000001bf addq $4, %rcx + 0x4d, 0x8d, 0x7c, 0x03, 0x05, //0x000001c3 leaq $5(%r11,%rax), %r15 + 0x48, 0xbf, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000001c8 movabsq $4294977024, %rdi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001d2 .p2align 4, 0x90 + //0x000001e0 LBB0_20 + 0x41, 0x0f, 0xbe, 0x5f, 0xff, //0x000001e0 movsbl $-1(%r15), %ebx + 0x83, 0xfb, 0x20, //0x000001e5 cmpl $32, %ebx + 0x0f, 0x87, 0x3a, 0x00, 0x00, 0x00, //0x000001e8 ja LBB0_26 + 0x48, 0x0f, 0xa3, 0xdf, //0x000001ee btq %rbx, %rdi + 0x0f, 0x83, 0x30, 0x00, 0x00, 0x00, //0x000001f2 jae LBB0_26 + 0x49, 0xff, 0xc7, //0x000001f8 incq %r15 + 0x48, 0xff, 0xc1, //0x000001fb incq %rcx + 0x0f, 0x85, 0xdc, 0xff, 0xff, 0xff, //0x000001fe jne LBB0_20 + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00000204 jmp LBB0_25 + //0x00000209 LBB0_23 + 0x49, 0x89, 0xd3, //0x00000209 movq %rdx, %r11 + 0xe9, 0xd6, 0x00, 0x00, 0x00, //0x0000020c jmp LBB0_37 + //0x00000211 LBB0_24 + 0x48, 0x01, 0xc2, //0x00000211 addq %rax, %rdx + //0x00000214 LBB0_25 + 0x48, 0x29, 0xc2, //0x00000214 subq %rax, %rdx + 0x49, 0x89, 0xd7, //0x00000217 movq %rdx, %r15 + 0x49, 0x39, 0xf7, //0x0000021a cmpq %rsi, %r15 + 0x0f, 0x82, 0x17, 0x00, 0x00, 0x00, //0x0000021d jb LBB0_27 + 0xe9, 0xbf, 0x00, 0x00, 0x00, //0x00000223 jmp LBB0_37 + //0x00000228 LBB0_26 + 0x48, 0x89, 0xc1, //0x00000228 movq %rax, %rcx + 0x48, 0xf7, 0xd1, //0x0000022b notq %rcx + 0x49, 0x01, 0xcf, //0x0000022e addq %rcx, %r15 + 0x49, 0x39, 0xf7, //0x00000231 cmpq %rsi, %r15 + 0x0f, 0x83, 0xad, 0x00, 0x00, 0x00, //0x00000234 jae LBB0_37 + //0x0000023a LBB0_27 + 0x42, 0x8a, 0x3c, 0x38, //0x0000023a movb (%rax,%r15), %dil + //0x0000023e LBB0_28 + 0x40, 0x0f, 0xbe, 0xcf, //0x0000023e movsbl %dil, %ecx + 0x83, 0xf9, 0x7d, //0x00000242 cmpl $125, %ecx + 0x0f, 0x87, 0xb8, 0x04, 0x00, 0x00, //0x00000245 ja LBB0_99 + 0x4d, 0x8d, 0x5f, 0x01, //0x0000024b leaq $1(%r15), %r11 + 0x4a, 0x8d, 0x1c, 0x38, //0x0000024f leaq (%rax,%r15), %rbx + 0x48, 0x8d, 0x15, 0x76, 0x30, 0x00, 0x00, //0x00000253 leaq $12406(%rip), %rdx /* LJTI0_0+0(%rip) */ + 0x48, 0x63, 0x0c, 0x8a, //0x0000025a movslq (%rdx,%rcx,4), %rcx + 0x48, 0x01, 0xd1, //0x0000025e addq %rdx, %rcx + 0xff, 0xe1, //0x00000261 jmpq *%rcx + //0x00000263 LBB0_30 + 0x41, 0xf6, 0xc0, 0x02, //0x00000263 testb $2, %r8b + 0x0f, 0x85, 0x94, 0x00, 0x00, 0x00, //0x00000267 jne LBB0_39 + 0x4d, 0x8b, 0x65, 0x20, //0x0000026d movq $32(%r13), %r12 + 0x49, 0x8b, 0x4d, 0x28, //0x00000271 movq $40(%r13), %rcx + 0x48, 0x89, 0x4d, 0xa8, //0x00000275 movq %rcx, $-88(%rbp) + 0x49, 0xc7, 0x45, 0x00, 0x09, 0x00, 0x00, 0x00, //0x00000279 movq $9, (%r13) + 0x49, 0xc7, 0x45, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00000281 movq $0, $8(%r13) + 0x49, 0xc7, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, //0x00000289 movq $0, $16(%r13) + 0x4d, 0x89, 0x7d, 0x18, //0x00000291 movq %r15, $24(%r13) + 0x49, 0x39, 0xf7, //0x00000295 cmpq %rsi, %r15 + 0x0f, 0x83, 0x8e, 0x0c, 0x00, 0x00, //0x00000298 jae LBB0_198 + 0x49, 0x89, 0xd8, //0x0000029e movq %rbx, %r8 + 0x8a, 0x1b, //0x000002a1 movb (%rbx), %bl + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000002a3 movl $1, %r9d + 0x4c, 0x89, 0xff, //0x000002a9 movq %r15, %rdi + 0x80, 0xfb, 0x2d, //0x000002ac cmpb $45, %bl + 0x0f, 0x85, 0x16, 0x00, 0x00, 0x00, //0x000002af jne LBB0_35 + 0x49, 0x39, 0xf3, //0x000002b5 cmpq %rsi, %r11 + 0x0f, 0x83, 0x6e, 0x0c, 0x00, 0x00, //0x000002b8 jae LBB0_198 + 0x42, 0x8a, 0x1c, 0x18, //0x000002be movb (%rax,%r11), %bl + 0x41, 0xb9, 0xff, 0xff, 0xff, 0xff, //0x000002c2 movl $-1, %r9d + 0x4c, 0x89, 0xdf, //0x000002c8 movq %r11, %rdi + //0x000002cb LBB0_35 + 0x8d, 0x4b, 0xd0, //0x000002cb leal $-48(%rbx), %ecx + 0x80, 0xf9, 0x0a, //0x000002ce cmpb $10, %cl + 0x0f, 0x82, 0x5b, 0x03, 0x00, 0x00, //0x000002d1 jb LBB0_84 + 0x49, 0xc7, 0x45, 0x00, 0xfe, 0xff, 0xff, 0xff, //0x000002d7 movq $-2, (%r13) + 0x49, 0x89, 0xfb, //0x000002df movq %rdi, %r11 + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x000002e2 jmp LBB0_38 + //0x000002e7 LBB0_37 + 0x49, 0xc7, 0x45, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000002e7 movq $1, (%r13) + //0x000002ef LBB0_38 + 0x4c, 0x89, 0xd8, //0x000002ef movq %r11, %rax + 0x48, 0x83, 0xc4, 0x40, //0x000002f2 addq $64, %rsp + 0x5b, //0x000002f6 popq %rbx + 0x41, 0x5c, //0x000002f7 popq %r12 + 0x41, 0x5d, //0x000002f9 popq %r13 + 0x41, 0x5e, //0x000002fb popq %r14 + 0x41, 0x5f, //0x000002fd popq %r15 + 0x5d, //0x000002ff popq %rbp + 0xc3, //0x00000300 retq + //0x00000301 LBB0_39 + 0x48, 0x89, 0x45, 0xc0, //0x00000301 movq %rax, $-64(%rbp) + 0x4c, 0x29, 0xfe, //0x00000305 subq %r15, %rsi + 0x31, 0xc0, //0x00000308 xorl %eax, %eax + 0x40, 0x80, 0xff, 0x2d, //0x0000030a cmpb $45, %dil + 0x0f, 0x94, 0xc0, //0x0000030e sete %al + 0x48, 0x01, 0xc3, //0x00000311 addq %rax, %rbx + 0x48, 0x29, 0xc6, //0x00000314 subq %rax, %rsi + 0x0f, 0x84, 0xa1, 0x1d, 0x00, 0x00, //0x00000317 je LBB0_450 + 0x4c, 0x89, 0x5d, 0xb8, //0x0000031d movq %r11, $-72(%rbp) + 0x8a, 0x03, //0x00000321 movb (%rbx), %al + 0x8d, 0x48, 0xd0, //0x00000323 leal $-48(%rax), %ecx + 0x80, 0xf9, 0x09, //0x00000326 cmpb $9, %cl + 0x0f, 0x87, 0x0f, 0x0d, 0x00, 0x00, //0x00000329 ja LBB0_220 + 0x3c, 0x30, //0x0000032f cmpb $48, %al + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x00000331 jne LBB0_45 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000337 movl $1, %r11d + 0x48, 0x83, 0xfe, 0x01, //0x0000033d cmpq $1, %rsi + 0x0f, 0x84, 0xa6, 0x06, 0x00, 0x00, //0x00000341 je LBB0_129 + 0x8a, 0x43, 0x01, //0x00000347 movb $1(%rbx), %al + 0x04, 0xd2, //0x0000034a addb $-46, %al + 0x3c, 0x37, //0x0000034c cmpb $55, %al + 0x0f, 0x87, 0x99, 0x06, 0x00, 0x00, //0x0000034e ja LBB0_129 + 0x0f, 0xb6, 0xc0, //0x00000354 movzbl %al, %eax + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x00000357 movabsq $36028797027352577, %rcx + 0x48, 0x0f, 0xa3, 0xc1, //0x00000361 btq %rax, %rcx + 0x0f, 0x83, 0x82, 0x06, 0x00, 0x00, //0x00000365 jae LBB0_129 + //0x0000036b LBB0_45 + 0x4c, 0x89, 0x6d, 0xd0, //0x0000036b movq %r13, $-48(%rbp) + 0x48, 0x83, 0xfe, 0x10, //0x0000036f cmpq $16, %rsi + 0x0f, 0x82, 0x51, 0x1d, 0x00, 0x00, //0x00000373 jb LBB0_452 + 0xba, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000379 movl $2863311530, %edx + 0x48, 0x8d, 0x46, 0xf0, //0x0000037e leaq $-16(%rsi), %rax + 0x48, 0x89, 0xc1, //0x00000382 movq %rax, %rcx + 0x48, 0x83, 0xe1, 0xf0, //0x00000385 andq $-16, %rcx + 0x4c, 0x8d, 0x54, 0x19, 0x10, //0x00000389 leaq $16(%rcx,%rbx), %r10 + 0x83, 0xe0, 0x0f, //0x0000038e andl $15, %eax + 0x48, 0xc7, 0x45, 0xa8, 0xff, 0xff, 0xff, 0xff, //0x00000391 movq $-1, $-88(%rbp) + 0xf3, 0x44, 0x0f, 0x6f, 0x05, 0x8e, 0xfc, 0xff, 0xff, //0x00000399 movdqu $-882(%rip), %xmm8 /* LCPI0_3+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x15, 0x95, 0xfc, 0xff, 0xff, //0x000003a2 movdqu $-875(%rip), %xmm10 /* LCPI0_4+0(%rip) */ + 0xf3, 0x44, 0x0f, 0x6f, 0x0d, 0x9c, 0xfc, 0xff, 0xff, //0x000003ab movdqu $-868(%rip), %xmm9 /* LCPI0_5+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x1d, 0xa4, 0xfc, 0xff, 0xff, //0x000003b4 movdqu $-860(%rip), %xmm3 /* LCPI0_6+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x25, 0x5c, 0xfc, 0xff, 0xff, //0x000003bc movdqu $-932(%rip), %xmm4 /* LCPI0_2+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x2d, 0xa4, 0xfc, 0xff, 0xff, //0x000003c4 movdqu $-860(%rip), %xmm5 /* LCPI0_7+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x35, 0xac, 0xfc, 0xff, 0xff, //0x000003cc movdqu $-852(%rip), %xmm6 /* LCPI0_8+0(%rip) */ + 0x48, 0x81, 0xc2, 0x55, 0x55, 0x55, 0x55, //0x000003d4 addq $1431655765, %rdx + 0x48, 0x89, 0x55, 0xc8, //0x000003db movq %rdx, $-56(%rbp) + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000003df movq $-1, %r12 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000003e6 movq $-1, %r14 + 0x48, 0x89, 0xdf, //0x000003ed movq %rbx, %rdi + //0x000003f0 .p2align 4, 0x90 + //0x000003f0 LBB0_47 + 0x49, 0x89, 0xd8, //0x000003f0 movq %rbx, %r8 + 0xf3, 0x0f, 0x6f, 0x3f, //0x000003f3 movdqu (%rdi), %xmm7 + 0x66, 0x0f, 0x6f, 0xc7, //0x000003f7 movdqa %xmm7, %xmm0 + 0x66, 0x41, 0x0f, 0x64, 0xc0, //0x000003fb pcmpgtb %xmm8, %xmm0 + 0x66, 0x41, 0x0f, 0x6f, 0xca, //0x00000400 movdqa %xmm10, %xmm1 + 0x66, 0x0f, 0x64, 0xcf, //0x00000405 pcmpgtb %xmm7, %xmm1 + 0x66, 0x0f, 0xdb, 0xc8, //0x00000409 pand %xmm0, %xmm1 + 0x66, 0x0f, 0x6f, 0xc7, //0x0000040d movdqa %xmm7, %xmm0 + 0x66, 0x41, 0x0f, 0x74, 0xc1, //0x00000411 pcmpeqb %xmm9, %xmm0 + 0x66, 0x0f, 0x6f, 0xd7, //0x00000416 movdqa %xmm7, %xmm2 + 0x66, 0x0f, 0x74, 0xd3, //0x0000041a pcmpeqb %xmm3, %xmm2 + 0x66, 0x0f, 0xeb, 0xd0, //0x0000041e por %xmm0, %xmm2 + 0x66, 0x0f, 0x6f, 0xc7, //0x00000422 movdqa %xmm7, %xmm0 + 0x66, 0x0f, 0xeb, 0xc4, //0x00000426 por %xmm4, %xmm0 + 0x66, 0x0f, 0x74, 0xc6, //0x0000042a pcmpeqb %xmm6, %xmm0 + 0x66, 0x0f, 0x74, 0xfd, //0x0000042e pcmpeqb %xmm5, %xmm7 + 0x66, 0x44, 0x0f, 0xd7, 0xc8, //0x00000432 pmovmskb %xmm0, %r9d + 0x66, 0x0f, 0xeb, 0xc7, //0x00000437 por %xmm7, %xmm0 + 0x66, 0x0f, 0xeb, 0xca, //0x0000043b por %xmm2, %xmm1 + 0x66, 0x0f, 0xeb, 0xc8, //0x0000043f por %xmm0, %xmm1 + 0x66, 0x0f, 0xd7, 0xdf, //0x00000443 pmovmskb %xmm7, %ebx + 0x66, 0x44, 0x0f, 0xd7, 0xea, //0x00000447 pmovmskb %xmm2, %r13d + 0x66, 0x0f, 0xd7, 0xc9, //0x0000044c pmovmskb %xmm1, %ecx + 0x48, 0x33, 0x4d, 0xc8, //0x00000450 xorq $-56(%rbp), %rcx + 0x48, 0x0f, 0xbc, 0xc9, //0x00000454 bsfq %rcx, %rcx + 0x83, 0xf9, 0x10, //0x00000458 cmpl $16, %ecx + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x0000045b je LBB0_49 + 0xba, 0xff, 0xff, 0xff, 0xff, //0x00000461 movl $-1, %edx + 0xd3, 0xe2, //0x00000466 shll %cl, %edx + 0xf7, 0xd2, //0x00000468 notl %edx + 0x21, 0xd3, //0x0000046a andl %edx, %ebx + 0x41, 0x21, 0xd1, //0x0000046c andl %edx, %r9d + 0x44, 0x21, 0xea, //0x0000046f andl %r13d, %edx + 0x41, 0x89, 0xd5, //0x00000472 movl %edx, %r13d + //0x00000475 LBB0_49 + 0x8d, 0x53, 0xff, //0x00000475 leal $-1(%rbx), %edx + 0x21, 0xda, //0x00000478 andl %ebx, %edx + 0x0f, 0x85, 0x87, 0x09, 0x00, 0x00, //0x0000047a jne LBB0_177 + 0x41, 0x8d, 0x51, 0xff, //0x00000480 leal $-1(%r9), %edx + 0x44, 0x21, 0xca, //0x00000484 andl %r9d, %edx + 0x0f, 0x85, 0x7a, 0x09, 0x00, 0x00, //0x00000487 jne LBB0_177 + 0x41, 0x8d, 0x55, 0xff, //0x0000048d leal $-1(%r13), %edx + 0x44, 0x21, 0xea, //0x00000491 andl %r13d, %edx + 0x0f, 0x85, 0x6d, 0x09, 0x00, 0x00, //0x00000494 jne LBB0_177 + 0x85, 0xdb, //0x0000049a testl %ebx, %ebx + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x0000049c je LBB0_55 + 0x48, 0x89, 0xfa, //0x000004a2 movq %rdi, %rdx + 0x4c, 0x29, 0xc2, //0x000004a5 subq %r8, %rdx + 0x44, 0x0f, 0xbc, 0xdb, //0x000004a8 bsfl %ebx, %r11d + 0x49, 0x01, 0xd3, //0x000004ac addq %rdx, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x000004af cmpq $-1, %r14 + 0x0f, 0x85, 0x0f, 0x0c, 0x00, 0x00, //0x000004b3 jne LBB0_229 + 0x4d, 0x89, 0xde, //0x000004b9 movq %r11, %r14 + //0x000004bc LBB0_55 + 0x4c, 0x89, 0xc3, //0x000004bc movq %r8, %rbx + 0x45, 0x85, 0xc9, //0x000004bf testl %r9d, %r9d + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000004c2 je LBB0_58 + 0x48, 0x89, 0xfa, //0x000004c8 movq %rdi, %rdx + 0x48, 0x29, 0xda, //0x000004cb subq %rbx, %rdx + 0x45, 0x0f, 0xbc, 0xd9, //0x000004ce bsfl %r9d, %r11d + 0x49, 0x01, 0xd3, //0x000004d2 addq %rdx, %r11 + 0x49, 0x83, 0xfc, 0xff, //0x000004d5 cmpq $-1, %r12 + 0x0f, 0x85, 0x35, 0x09, 0x00, 0x00, //0x000004d9 jne LBB0_178 + 0x4d, 0x89, 0xdc, //0x000004df movq %r11, %r12 + //0x000004e2 LBB0_58 + 0x45, 0x85, 0xed, //0x000004e2 testl %r13d, %r13d + 0x0f, 0x84, 0x1c, 0x00, 0x00, 0x00, //0x000004e5 je LBB0_61 + 0x48, 0x89, 0xfa, //0x000004eb movq %rdi, %rdx + 0x48, 0x29, 0xda, //0x000004ee subq %rbx, %rdx + 0x45, 0x0f, 0xbc, 0xdd, //0x000004f1 bsfl %r13d, %r11d + 0x49, 0x01, 0xd3, //0x000004f5 addq %rdx, %r11 + 0x48, 0x83, 0x7d, 0xa8, 0xff, //0x000004f8 cmpq $-1, $-88(%rbp) + 0x0f, 0x85, 0x11, 0x09, 0x00, 0x00, //0x000004fd jne LBB0_178 + 0x4c, 0x89, 0x5d, 0xa8, //0x00000503 movq %r11, $-88(%rbp) + //0x00000507 LBB0_61 + 0x83, 0xf9, 0x10, //0x00000507 cmpl $16, %ecx + 0x0f, 0x85, 0xaf, 0x00, 0x00, 0x00, //0x0000050a jne LBB0_74 + 0x48, 0x83, 0xc7, 0x10, //0x00000510 addq $16, %rdi + 0x48, 0x83, 0xc6, 0xf0, //0x00000514 addq $-16, %rsi + 0x48, 0x83, 0xfe, 0x0f, //0x00000518 cmpq $15, %rsi + 0x0f, 0x87, 0xce, 0xfe, 0xff, 0xff, //0x0000051c ja LBB0_47 + 0x48, 0x85, 0xc0, //0x00000522 testq %rax, %rax + 0x4c, 0x8b, 0x6d, 0xd0, //0x00000525 movq $-48(%rbp), %r13 + 0x0f, 0x84, 0x9a, 0x00, 0x00, 0x00, //0x00000529 je LBB0_75 + //0x0000052f LBB0_64 + 0x49, 0x8d, 0x0c, 0x02, //0x0000052f leaq (%r10,%rax), %rcx + 0x48, 0x8d, 0x35, 0x8e, 0x2f, 0x00, 0x00, //0x00000533 leaq $12174(%rip), %rsi /* LJTI0_1+0(%rip) */ + 0xe9, 0x2d, 0x00, 0x00, 0x00, //0x0000053a jmp LBB0_68 + //0x0000053f LBB0_65 + 0x49, 0x89, 0xfb, //0x0000053f movq %rdi, %r11 + 0x49, 0x29, 0xdb, //0x00000542 subq %rbx, %r11 + 0x48, 0x83, 0x7d, 0xa8, 0xff, //0x00000545 cmpq $-1, $-88(%rbp) + 0x0f, 0x85, 0x87, 0x0b, 0x00, 0x00, //0x0000054a jne LBB0_453 + 0x49, 0xff, 0xcb, //0x00000550 decq %r11 + 0x4c, 0x89, 0x5d, 0xa8, //0x00000553 movq %r11, $-88(%rbp) + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000557 .p2align 4, 0x90 + //0x00000560 LBB0_67 + 0x49, 0x89, 0xfa, //0x00000560 movq %rdi, %r10 + 0x48, 0xff, 0xc8, //0x00000563 decq %rax + 0x0f, 0x84, 0xb9, 0x0a, 0x00, 0x00, //0x00000566 je LBB0_218 + //0x0000056c LBB0_68 + 0x41, 0x0f, 0xbe, 0x12, //0x0000056c movsbl (%r10), %edx + 0x83, 0xc2, 0xd5, //0x00000570 addl $-43, %edx + 0x83, 0xfa, 0x3a, //0x00000573 cmpl $58, %edx + 0x0f, 0x87, 0x4d, 0x00, 0x00, 0x00, //0x00000576 ja LBB0_75 + 0x49, 0x8d, 0x7a, 0x01, //0x0000057c leaq $1(%r10), %rdi + 0x48, 0x63, 0x14, 0x96, //0x00000580 movslq (%rsi,%rdx,4), %rdx + 0x48, 0x01, 0xf2, //0x00000584 addq %rsi, %rdx + 0xff, 0xe2, //0x00000587 jmpq *%rdx + //0x00000589 LBB0_70 + 0x49, 0x89, 0xfb, //0x00000589 movq %rdi, %r11 + 0x49, 0x29, 0xdb, //0x0000058c subq %rbx, %r11 + 0x49, 0x83, 0xfc, 0xff, //0x0000058f cmpq $-1, %r12 + 0x0f, 0x85, 0x3e, 0x0b, 0x00, 0x00, //0x00000593 jne LBB0_453 + 0x49, 0xff, 0xcb, //0x00000599 decq %r11 + 0x4d, 0x89, 0xdc, //0x0000059c movq %r11, %r12 + 0xe9, 0xbc, 0xff, 0xff, 0xff, //0x0000059f jmp LBB0_67 + //0x000005a4 LBB0_72 + 0x49, 0x89, 0xfb, //0x000005a4 movq %rdi, %r11 + 0x49, 0x29, 0xdb, //0x000005a7 subq %rbx, %r11 + 0x49, 0x83, 0xfe, 0xff, //0x000005aa cmpq $-1, %r14 + 0x0f, 0x85, 0x23, 0x0b, 0x00, 0x00, //0x000005ae jne LBB0_453 + 0x49, 0xff, 0xcb, //0x000005b4 decq %r11 + 0x4d, 0x89, 0xde, //0x000005b7 movq %r11, %r14 + 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x000005ba jmp LBB0_67 + //0x000005bf LBB0_74 + 0x48, 0x01, 0xcf, //0x000005bf addq %rcx, %rdi + 0x49, 0x89, 0xfa, //0x000005c2 movq %rdi, %r10 + 0x4c, 0x8b, 0x6d, 0xd0, //0x000005c5 movq $-48(%rbp), %r13 + //0x000005c9 LBB0_75 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000005c9 movq $-1, %r11 + 0x4d, 0x85, 0xe4, //0x000005d0 testq %r12, %r12 + 0x0f, 0x84, 0x5f, 0x0a, 0x00, 0x00, //0x000005d3 je LBB0_219 + //0x000005d9 LBB0_76 + 0x48, 0x8b, 0x4d, 0xa8, //0x000005d9 movq $-88(%rbp), %rcx + 0x48, 0x85, 0xc9, //0x000005dd testq %rcx, %rcx + 0x0f, 0x84, 0x52, 0x0a, 0x00, 0x00, //0x000005e0 je LBB0_219 + 0x4d, 0x85, 0xf6, //0x000005e6 testq %r14, %r14 + 0x0f, 0x84, 0x49, 0x0a, 0x00, 0x00, //0x000005e9 je LBB0_219 + 0x49, 0x29, 0xda, //0x000005ef subq %rbx, %r10 + 0x49, 0x8d, 0x42, 0xff, //0x000005f2 leaq $-1(%r10), %rax + 0x49, 0x39, 0xc4, //0x000005f6 cmpq %rax, %r12 + 0x0f, 0x84, 0xdf, 0x03, 0x00, 0x00, //0x000005f9 je LBB0_127 + 0x49, 0x39, 0xc6, //0x000005ff cmpq %rax, %r14 + 0x0f, 0x84, 0xd6, 0x03, 0x00, 0x00, //0x00000602 je LBB0_127 + 0x48, 0x39, 0xc1, //0x00000608 cmpq %rax, %rcx + 0x0f, 0x84, 0xcd, 0x03, 0x00, 0x00, //0x0000060b je LBB0_127 + 0x48, 0x85, 0xc9, //0x00000611 testq %rcx, %rcx + 0x0f, 0x8e, 0x3e, 0x06, 0x00, 0x00, //0x00000614 jle LBB0_145 + 0x48, 0x8d, 0x41, 0xff, //0x0000061a leaq $-1(%rcx), %rax + 0x49, 0x39, 0xc4, //0x0000061e cmpq %rax, %r12 + 0x0f, 0x84, 0x31, 0x06, 0x00, 0x00, //0x00000621 je LBB0_145 + 0x48, 0xf7, 0xd1, //0x00000627 notq %rcx + 0x49, 0x89, 0xcb, //0x0000062a movq %rcx, %r11 + 0xe9, 0xb2, 0x03, 0x00, 0x00, //0x0000062d jmp LBB0_128 + //0x00000632 LBB0_84 + 0x80, 0xfb, 0x30, //0x00000632 cmpb $48, %bl + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x00000635 jne LBB0_88 + 0x4c, 0x8d, 0x5f, 0x01, //0x0000063b leaq $1(%rdi), %r11 + 0x48, 0x39, 0xf7, //0x0000063f cmpq %rsi, %rdi + 0x0f, 0x83, 0xa7, 0xfc, 0xff, 0xff, //0x00000642 jae LBB0_38 + 0x42, 0x8a, 0x0c, 0x18, //0x00000648 movb (%rax,%r11), %cl + 0x80, 0xc1, 0xd2, //0x0000064c addb $-46, %cl + 0x80, 0xf9, 0x37, //0x0000064f cmpb $55, %cl + 0x0f, 0x87, 0x97, 0xfc, 0xff, 0xff, //0x00000652 ja LBB0_38 + 0x0f, 0xb6, 0xc9, //0x00000658 movzbl %cl, %ecx + 0x48, 0xba, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x0000065b movabsq $36028797027352577, %rdx + 0x48, 0x0f, 0xa3, 0xca, //0x00000665 btq %rcx, %rdx + 0x0f, 0x83, 0x80, 0xfc, 0xff, 0xff, //0x00000669 jae LBB0_38 + //0x0000066f LBB0_88 + 0x48, 0x39, 0xf7, //0x0000066f cmpq %rsi, %rdi + 0x44, 0x89, 0x4d, 0xc8, //0x00000672 movl %r9d, $-56(%rbp) + 0x0f, 0x83, 0xff, 0x05, 0x00, 0x00, //0x00000676 jae LBB0_148 + 0x48, 0xff, 0xc7, //0x0000067c incq %rdi + 0x31, 0xc9, //0x0000067f xorl %ecx, %ecx + 0x49, 0x89, 0xfb, //0x00000681 movq %rdi, %r11 + 0x31, 0xd2, //0x00000684 xorl %edx, %edx + 0x45, 0x31, 0xd2, //0x00000686 xorl %r10d, %r10d + //0x00000689 LBB0_90 + 0x83, 0xfa, 0x12, //0x00000689 cmpl $18, %edx + 0x0f, 0x8f, 0x13, 0x00, 0x00, 0x00, //0x0000068c jg LBB0_92 + 0x0f, 0xb6, 0xdb, //0x00000692 movzbl %bl, %ebx + 0x4b, 0x8d, 0x3c, 0x92, //0x00000695 leaq (%r10,%r10,4), %rdi + 0x4c, 0x8d, 0x54, 0x7b, 0xd0, //0x00000699 leaq $-48(%rbx,%rdi,2), %r10 + 0xff, 0xc2, //0x0000069e incl %edx + 0xe9, 0x02, 0x00, 0x00, 0x00, //0x000006a0 jmp LBB0_93 + //0x000006a5 LBB0_92 + 0xff, 0xc1, //0x000006a5 incl %ecx + //0x000006a7 LBB0_93 + 0x4c, 0x39, 0xde, //0x000006a7 cmpq %r11, %rsi + 0x0f, 0x84, 0xcc, 0x06, 0x00, 0x00, //0x000006aa je LBB0_165 + 0x42, 0x0f, 0xb6, 0x1c, 0x18, //0x000006b0 movzbl (%rax,%r11), %ebx + 0x8d, 0x7b, 0xd0, //0x000006b5 leal $-48(%rbx), %edi + 0x49, 0xff, 0xc3, //0x000006b8 incq %r11 + 0x40, 0x80, 0xff, 0x0a, //0x000006bb cmpb $10, %dil + 0x0f, 0x82, 0xc4, 0xff, 0xff, 0xff, //0x000006bf jb LBB0_90 + 0x45, 0x31, 0xf6, //0x000006c5 xorl %r14d, %r14d + 0x85, 0xc9, //0x000006c8 testl %ecx, %ecx + 0x41, 0x0f, 0x9f, 0xc6, //0x000006ca setg %r14b + 0x80, 0xfb, 0x2e, //0x000006ce cmpb $46, %bl + 0x0f, 0x85, 0x49, 0x07, 0x00, 0x00, //0x000006d1 jne LBB0_179 + 0x49, 0xc7, 0x45, 0x00, 0x08, 0x00, 0x00, 0x00, //0x000006d7 movq $8, (%r13) + 0x49, 0x39, 0xf3, //0x000006df cmpq %rsi, %r11 + 0x0f, 0x83, 0x44, 0x08, 0x00, 0x00, //0x000006e2 jae LBB0_198 + 0x42, 0x8a, 0x1c, 0x18, //0x000006e8 movb (%rax,%r11), %bl + 0x80, 0xc3, 0xd0, //0x000006ec addb $-48, %bl + 0x41, 0xb9, 0x08, 0x00, 0x00, 0x00, //0x000006ef movl $8, %r9d + 0x80, 0xfb, 0x0a, //0x000006f5 cmpb $10, %bl + 0x0f, 0x82, 0x93, 0x06, 0x00, 0x00, //0x000006f8 jb LBB0_167 + 0xe9, 0x62, 0x09, 0x00, 0x00, //0x000006fe jmp LBB0_98 + //0x00000703 LBB0_99 + 0x49, 0xc7, 0x45, 0x00, 0xfe, 0xff, 0xff, 0xff, //0x00000703 movq $-2, (%r13) + 0x4d, 0x89, 0xfb, //0x0000070b movq %r15, %r11 + 0xe9, 0xdc, 0xfb, 0xff, 0xff, //0x0000070e jmp LBB0_38 + //0x00000713 LBB0_100 + 0x4c, 0x89, 0xfa, //0x00000713 movq %r15, %rdx + 0x48, 0xf7, 0xd2, //0x00000716 notq %rdx + 0x41, 0xf6, 0xc0, 0x20, //0x00000719 testb $32, %r8b + 0x4c, 0x89, 0x6d, 0xd0, //0x0000071d movq %r13, $-48(%rbp) + 0x48, 0x89, 0x45, 0xc0, //0x00000721 movq %rax, $-64(%rbp) + 0x4c, 0x89, 0x5d, 0xb8, //0x00000725 movq %r11, $-72(%rbp) + 0x0f, 0x85, 0xed, 0x02, 0x00, 0x00, //0x00000729 jne LBB0_132 + 0x49, 0x39, 0xf3, //0x0000072f cmpq %rsi, %r11 + 0x0f, 0x84, 0x87, 0x2b, 0x00, 0x00, //0x00000732 je LBB0_733 + 0x49, 0x89, 0xf4, //0x00000738 movq %rsi, %r12 + 0x4d, 0x29, 0xdc, //0x0000073b subq %r11, %r12 + 0x4e, 0x8d, 0x2c, 0x18, //0x0000073e leaq (%rax,%r11), %r13 + 0x49, 0x83, 0xfc, 0x40, //0x00000742 cmpq $64, %r12 + 0x0f, 0x82, 0x84, 0x28, 0x00, 0x00, //0x00000746 jb LBB0_692 + 0x48, 0x89, 0xc1, //0x0000074c movq %rax, %rcx + 0x45, 0x89, 0xe6, //0x0000074f movl %r12d, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000752 andl $63, %r14d + 0x48, 0x8d, 0x44, 0x16, 0xc0, //0x00000756 leaq $-64(%rsi,%rdx), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x0000075b andq $-64, %rax + 0x49, 0x01, 0xc7, //0x0000075f addq %rax, %r15 + 0x4a, 0x8d, 0x44, 0x39, 0x41, //0x00000762 leaq $65(%rcx,%r15), %rax + 0x48, 0x89, 0x45, 0xa8, //0x00000767 movq %rax, $-88(%rbp) + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x0000076b movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00000772 xorl %r15d, %r15d + 0xf3, 0x0f, 0x6f, 0x05, 0x83, 0xf8, 0xff, 0xff, //0x00000775 movdqu $-1917(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x8b, 0xf8, 0xff, 0xff, //0x0000077d movdqu $-1909(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000785 .p2align 4, 0x90 + //0x00000790 LBB0_104 + 0xf3, 0x41, 0x0f, 0x6f, 0x55, 0x00, //0x00000790 movdqu (%r13), %xmm2 + 0xf3, 0x41, 0x0f, 0x6f, 0x5d, 0x10, //0x00000796 movdqu $16(%r13), %xmm3 + 0xf3, 0x41, 0x0f, 0x6f, 0x65, 0x20, //0x0000079c movdqu $32(%r13), %xmm4 + 0xf3, 0x41, 0x0f, 0x6f, 0x6d, 0x30, //0x000007a2 movdqu $48(%r13), %xmm5 + 0x66, 0x0f, 0x6f, 0xf2, //0x000007a8 movdqa %xmm2, %xmm6 + 0x66, 0x0f, 0x74, 0xf0, //0x000007ac pcmpeqb %xmm0, %xmm6 + 0x66, 0x0f, 0xd7, 0xfe, //0x000007b0 pmovmskb %xmm6, %edi + 0x66, 0x0f, 0x6f, 0xf3, //0x000007b4 movdqa %xmm3, %xmm6 + 0x66, 0x0f, 0x74, 0xf0, //0x000007b8 pcmpeqb %xmm0, %xmm6 + 0x66, 0x0f, 0xd7, 0xd6, //0x000007bc pmovmskb %xmm6, %edx + 0x66, 0x0f, 0x6f, 0xf4, //0x000007c0 movdqa %xmm4, %xmm6 + 0x66, 0x0f, 0x74, 0xf0, //0x000007c4 pcmpeqb %xmm0, %xmm6 + 0x66, 0x0f, 0xd7, 0xce, //0x000007c8 pmovmskb %xmm6, %ecx + 0x66, 0x0f, 0x6f, 0xf5, //0x000007cc movdqa %xmm5, %xmm6 + 0x66, 0x0f, 0x74, 0xf0, //0x000007d0 pcmpeqb %xmm0, %xmm6 + 0x66, 0x0f, 0xd7, 0xde, //0x000007d4 pmovmskb %xmm6, %ebx + 0x66, 0x0f, 0x74, 0xd1, //0x000007d8 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xc2, //0x000007dc pmovmskb %xmm2, %eax + 0x66, 0x0f, 0x74, 0xd9, //0x000007e0 pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xd3, //0x000007e4 pmovmskb %xmm3, %r10d + 0x66, 0x0f, 0x74, 0xe1, //0x000007e9 pcmpeqb %xmm1, %xmm4 + 0x66, 0x44, 0x0f, 0xd7, 0xdc, //0x000007ed pmovmskb %xmm4, %r11d + 0x66, 0x0f, 0x74, 0xe9, //0x000007f2 pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xcd, //0x000007f6 pmovmskb %xmm5, %r9d + 0x48, 0xc1, 0xe3, 0x30, //0x000007fb shlq $48, %rbx + 0x48, 0xc1, 0xe1, 0x20, //0x000007ff shlq $32, %rcx + 0x48, 0xc1, 0xe2, 0x10, //0x00000803 shlq $16, %rdx + 0x48, 0x09, 0xd7, //0x00000807 orq %rdx, %rdi + 0x48, 0x09, 0xcf, //0x0000080a orq %rcx, %rdi + 0x49, 0xc1, 0xe1, 0x30, //0x0000080d shlq $48, %r9 + 0x49, 0xc1, 0xe3, 0x20, //0x00000811 shlq $32, %r11 + 0x49, 0xc1, 0xe2, 0x10, //0x00000815 shlq $16, %r10 + 0x4c, 0x09, 0xd0, //0x00000819 orq %r10, %rax + 0x4c, 0x09, 0xd8, //0x0000081c orq %r11, %rax + 0x4c, 0x09, 0xc8, //0x0000081f orq %r9, %rax + 0x49, 0x83, 0xf8, 0xff, //0x00000822 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000826 jne LBB0_106 + 0x48, 0x85, 0xc0, //0x0000082c testq %rax, %rax + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000082f jne LBB0_109 + //0x00000835 LBB0_106 + 0x48, 0x09, 0xdf, //0x00000835 orq %rbx, %rdi + 0x48, 0x89, 0xc1, //0x00000838 movq %rax, %rcx + 0x4c, 0x09, 0xf9, //0x0000083b orq %r15, %rcx + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000083e jne LBB0_110 + //0x00000844 LBB0_107 + 0x48, 0x85, 0xff, //0x00000844 testq %rdi, %rdi + 0x0f, 0x85, 0x19, 0x09, 0x00, 0x00, //0x00000847 jne LBB0_235 + //0x0000084d LBB0_108 + 0x49, 0x83, 0xc4, 0xc0, //0x0000084d addq $-64, %r12 + 0x49, 0x83, 0xc5, 0x40, //0x00000851 addq $64, %r13 + 0x49, 0x83, 0xfc, 0x3f, //0x00000855 cmpq $63, %r12 + 0x0f, 0x87, 0x31, 0xff, 0xff, 0xff, //0x00000859 ja LBB0_104 + 0xe9, 0x7b, 0x08, 0x00, 0x00, //0x0000085f jmp LBB0_230 + //0x00000864 LBB0_109 + 0x4c, 0x89, 0xe9, //0x00000864 movq %r13, %rcx + 0x48, 0x2b, 0x4d, 0xc0, //0x00000867 subq $-64(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xc0, //0x0000086b bsfq %rax, %r8 + 0x49, 0x01, 0xc8, //0x0000086f addq %rcx, %r8 + 0x48, 0x09, 0xdf, //0x00000872 orq %rbx, %rdi + 0x48, 0x89, 0xc1, //0x00000875 movq %rax, %rcx + 0x4c, 0x09, 0xf9, //0x00000878 orq %r15, %rcx + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x0000087b je LBB0_107 + //0x00000881 LBB0_110 + 0x4c, 0x89, 0xf9, //0x00000881 movq %r15, %rcx + 0x48, 0xf7, 0xd1, //0x00000884 notq %rcx + 0x48, 0x21, 0xc1, //0x00000887 andq %rax, %rcx + 0x48, 0x8d, 0x1c, 0x09, //0x0000088a leaq (%rcx,%rcx), %rbx + 0x4c, 0x09, 0xfb, //0x0000088e orq %r15, %rbx + 0x48, 0x89, 0xda, //0x00000891 movq %rbx, %rdx + 0x48, 0xf7, 0xd2, //0x00000894 notq %rdx + 0x48, 0x21, 0xc2, //0x00000897 andq %rax, %rdx + 0x48, 0xb8, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000089a movabsq $-6148914691236517206, %rax + 0x48, 0x21, 0xc2, //0x000008a4 andq %rax, %rdx + 0x45, 0x31, 0xff, //0x000008a7 xorl %r15d, %r15d + 0x48, 0x01, 0xca, //0x000008aa addq %rcx, %rdx + 0x41, 0x0f, 0x92, 0xc7, //0x000008ad setb %r15b + 0x48, 0x01, 0xd2, //0x000008b1 addq %rdx, %rdx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000008b4 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc2, //0x000008be xorq %rax, %rdx + 0x48, 0x21, 0xda, //0x000008c1 andq %rbx, %rdx + 0x48, 0xf7, 0xd2, //0x000008c4 notq %rdx + 0x48, 0x21, 0xd7, //0x000008c7 andq %rdx, %rdi + 0x48, 0x85, 0xff, //0x000008ca testq %rdi, %rdi + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x000008cd je LBB0_108 + 0xe9, 0x8e, 0x08, 0x00, 0x00, //0x000008d3 jmp LBB0_235 + //0x000008d8 LBB0_111 + 0x31, 0xc9, //0x000008d8 xorl %ecx, %ecx + 0x45, 0x85, 0xc0, //0x000008da testl %r8d, %r8d + 0x0f, 0x99, 0xc1, //0x000008dd setns %cl + 0xb8, 0x0b, 0x00, 0x00, 0x00, //0x000008e0 movl $11, %eax + 0xe9, 0xdd, 0x00, 0x00, 0x00, //0x000008e5 jmp LBB0_126 + //0x000008ea LBB0_112 + 0x31, 0xc9, //0x000008ea xorl %ecx, %ecx + 0x45, 0x85, 0xc0, //0x000008ec testl %r8d, %r8d + 0x0f, 0x99, 0xc1, //0x000008ef setns %cl + 0xb8, 0x0a, 0x00, 0x00, 0x00, //0x000008f2 movl $10, %eax + 0xe9, 0xcb, 0x00, 0x00, 0x00, //0x000008f7 jmp LBB0_126 + //0x000008fc LBB0_113 + 0x49, 0xc7, 0x45, 0x00, 0x05, 0x00, 0x00, 0x00, //0x000008fc movq $5, (%r13) + 0xe9, 0xe6, 0xf9, 0xff, 0xff, //0x00000904 jmp LBB0_38 + //0x00000909 LBB0_114 + 0x31, 0xc9, //0x00000909 xorl %ecx, %ecx + 0x45, 0x85, 0xc0, //0x0000090b testl %r8d, %r8d + 0x0f, 0x99, 0xc1, //0x0000090e setns %cl + 0xb8, 0x0c, 0x00, 0x00, 0x00, //0x00000911 movl $12, %eax + 0xe9, 0xac, 0x00, 0x00, 0x00, //0x00000916 jmp LBB0_126 + //0x0000091b LBB0_115 + 0x48, 0x8d, 0x4e, 0xfc, //0x0000091b leaq $-4(%rsi), %rcx + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000091f movq $-1, %rdx + 0x49, 0x39, 0xcf, //0x00000926 cmpq %rcx, %r15 + 0x0f, 0x83, 0xea, 0x06, 0x00, 0x00, //0x00000929 jae LBB0_217 + 0x42, 0x8b, 0x0c, 0x18, //0x0000092f movl (%rax,%r11), %ecx + 0x81, 0xf9, 0x61, 0x6c, 0x73, 0x65, //0x00000933 cmpl $1702063201, %ecx + 0x0f, 0x85, 0x48, 0x03, 0x00, 0x00, //0x00000939 jne LBB0_149 + 0x49, 0x83, 0xc7, 0x05, //0x0000093f addq $5, %r15 + 0xba, 0x04, 0x00, 0x00, 0x00, //0x00000943 movl $4, %edx + 0xe9, 0xc9, 0x06, 0x00, 0x00, //0x00000948 jmp LBB0_216 + //0x0000094d LBB0_118 + 0x48, 0x8d, 0x4e, 0xfd, //0x0000094d leaq $-3(%rsi), %rcx + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00000951 movq $-1, %rdx + 0x49, 0x39, 0xcf, //0x00000958 cmpq %rcx, %r15 + 0x0f, 0x83, 0xb8, 0x06, 0x00, 0x00, //0x0000095b jae LBB0_217 + 0x8b, 0x0b, //0x00000961 movl (%rbx), %ecx + 0x81, 0xf9, 0x6e, 0x75, 0x6c, 0x6c, //0x00000963 cmpl $1819047278, %ecx + 0x0f, 0x85, 0x57, 0x03, 0x00, 0x00, //0x00000969 jne LBB0_153 + 0x49, 0x83, 0xc7, 0x04, //0x0000096f addq $4, %r15 + 0xba, 0x02, 0x00, 0x00, 0x00, //0x00000973 movl $2, %edx + 0xe9, 0x99, 0x06, 0x00, 0x00, //0x00000978 jmp LBB0_216 + //0x0000097d LBB0_121 + 0x48, 0x8d, 0x4e, 0xfd, //0x0000097d leaq $-3(%rsi), %rcx + 0x48, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x00000981 movq $-1, %rdx + 0x49, 0x39, 0xcf, //0x00000988 cmpq %rcx, %r15 + 0x0f, 0x83, 0x88, 0x06, 0x00, 0x00, //0x0000098b jae LBB0_217 + 0x8b, 0x0b, //0x00000991 movl (%rbx), %ecx + 0x81, 0xf9, 0x74, 0x72, 0x75, 0x65, //0x00000993 cmpl $1702195828, %ecx + 0x0f, 0x85, 0x66, 0x03, 0x00, 0x00, //0x00000999 jne LBB0_157 + 0x49, 0x83, 0xc7, 0x04, //0x0000099f addq $4, %r15 + 0xba, 0x03, 0x00, 0x00, 0x00, //0x000009a3 movl $3, %edx + 0xe9, 0x69, 0x06, 0x00, 0x00, //0x000009a8 jmp LBB0_216 + //0x000009ad LBB0_124 + 0x49, 0xc7, 0x45, 0x00, 0x06, 0x00, 0x00, 0x00, //0x000009ad movq $6, (%r13) + 0xe9, 0x35, 0xf9, 0xff, 0xff, //0x000009b5 jmp LBB0_38 + //0x000009ba LBB0_125 + 0x31, 0xc9, //0x000009ba xorl %ecx, %ecx + 0x45, 0x85, 0xc0, //0x000009bc testl %r8d, %r8d + 0x0f, 0x99, 0xc1, //0x000009bf setns %cl + 0xb8, 0x0d, 0x00, 0x00, 0x00, //0x000009c2 movl $13, %eax + //0x000009c7 LBB0_126 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x000009c7 movq $-2, %rdx + 0x48, 0x0f, 0x48, 0xd0, //0x000009ce cmovsq %rax, %rdx + 0x49, 0x89, 0x55, 0x00, //0x000009d2 movq %rdx, (%r13) + 0x49, 0x29, 0xcb, //0x000009d6 subq %rcx, %r11 + 0xe9, 0x11, 0xf9, 0xff, 0xff, //0x000009d9 jmp LBB0_38 + //0x000009de LBB0_127 + 0x49, 0xf7, 0xda, //0x000009de negq %r10 + 0x4d, 0x89, 0xd3, //0x000009e1 movq %r10, %r11 + //0x000009e4 LBB0_128 + 0x4d, 0x85, 0xdb, //0x000009e4 testq %r11, %r11 + 0x0f, 0x88, 0x4b, 0x06, 0x00, 0x00, //0x000009e7 js LBB0_219 + //0x000009ed LBB0_129 + 0x4c, 0x01, 0xdb, //0x000009ed addq %r11, %rbx + 0x49, 0x89, 0xdb, //0x000009f0 movq %rbx, %r11 + 0x4c, 0x2b, 0x5d, 0xc0, //0x000009f3 subq $-64(%rbp), %r11 + 0x48, 0x83, 0x7d, 0xb8, 0x00, //0x000009f7 cmpq $0, $-72(%rbp) + 0x0f, 0x8e, 0x11, 0x00, 0x00, 0x00, //0x000009fc jle LBB0_131 + 0x49, 0xc7, 0x45, 0x00, 0x08, 0x00, 0x00, 0x00, //0x00000a02 movq $8, (%r13) + 0x4d, 0x89, 0x7d, 0x18, //0x00000a0a movq %r15, $24(%r13) + 0xe9, 0xdc, 0xf8, 0xff, 0xff, //0x00000a0e jmp LBB0_38 + //0x00000a13 LBB0_131 + 0x4d, 0x89, 0x7d, 0x00, //0x00000a13 movq %r15, (%r13) + 0xe9, 0xd3, 0xf8, 0xff, 0xff, //0x00000a17 jmp LBB0_38 + //0x00000a1c LBB0_132 + 0x49, 0x39, 0xf3, //0x00000a1c cmpq %rsi, %r11 + 0x0f, 0x84, 0x9a, 0x28, 0x00, 0x00, //0x00000a1f je LBB0_733 + 0x49, 0x89, 0xf4, //0x00000a25 movq %rsi, %r12 + 0x4d, 0x29, 0xdc, //0x00000a28 subq %r11, %r12 + 0x4e, 0x8d, 0x2c, 0x18, //0x00000a2b leaq (%rax,%r11), %r13 + 0x49, 0x83, 0xfc, 0x40, //0x00000a2f cmpq $64, %r12 + 0x0f, 0x82, 0xb0, 0x25, 0x00, 0x00, //0x00000a33 jb LBB0_693 + 0x48, 0x89, 0xc1, //0x00000a39 movq %rax, %rcx + 0x45, 0x89, 0xe6, //0x00000a3c movl %r12d, %r14d + 0x41, 0x83, 0xe6, 0x3f, //0x00000a3f andl $63, %r14d + 0x48, 0x8d, 0x44, 0x16, 0xc0, //0x00000a43 leaq $-64(%rsi,%rdx), %rax + 0x48, 0x83, 0xe0, 0xc0, //0x00000a48 andq $-64, %rax + 0x49, 0x01, 0xc7, //0x00000a4c addq %rax, %r15 + 0x4e, 0x8d, 0x4c, 0x39, 0x41, //0x00000a4f leaq $65(%rcx,%r15), %r9 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000a54 movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00000a5b xorl %r15d, %r15d + 0xf3, 0x44, 0x0f, 0x6f, 0x05, 0x99, 0xf5, 0xff, 0xff, //0x00000a5e movdqu $-2663(%rip), %xmm8 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0xa1, 0xf5, 0xff, 0xff, //0x00000a67 movdqu $-2655(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x15, 0xa9, 0xf5, 0xff, 0xff, //0x00000a6f movdqu $-2647(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0x66, 0x0f, 0x76, 0xdb, //0x00000a77 pcmpeqd %xmm3, %xmm3 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a7b .p2align 4, 0x90 + //0x00000a80 LBB0_135 + 0xf3, 0x41, 0x0f, 0x6f, 0x7d, 0x00, //0x00000a80 movdqu (%r13), %xmm7 + 0xf3, 0x41, 0x0f, 0x6f, 0x75, 0x10, //0x00000a86 movdqu $16(%r13), %xmm6 + 0xf3, 0x41, 0x0f, 0x6f, 0x6d, 0x20, //0x00000a8c movdqu $32(%r13), %xmm5 + 0xf3, 0x41, 0x0f, 0x6f, 0x65, 0x30, //0x00000a92 movdqu $48(%r13), %xmm4 + 0x66, 0x0f, 0x6f, 0xc7, //0x00000a98 movdqa %xmm7, %xmm0 + 0x66, 0x41, 0x0f, 0x74, 0xc0, //0x00000a9c pcmpeqb %xmm8, %xmm0 + 0x66, 0x0f, 0xd7, 0xf8, //0x00000aa1 pmovmskb %xmm0, %edi + 0x66, 0x0f, 0x6f, 0xc6, //0x00000aa5 movdqa %xmm6, %xmm0 + 0x66, 0x41, 0x0f, 0x74, 0xc0, //0x00000aa9 pcmpeqb %xmm8, %xmm0 + 0x66, 0x0f, 0xd7, 0xd8, //0x00000aae pmovmskb %xmm0, %ebx + 0x66, 0x0f, 0x6f, 0xc5, //0x00000ab2 movdqa %xmm5, %xmm0 + 0x66, 0x41, 0x0f, 0x74, 0xc0, //0x00000ab6 pcmpeqb %xmm8, %xmm0 + 0x66, 0x0f, 0xd7, 0xc8, //0x00000abb pmovmskb %xmm0, %ecx + 0x66, 0x0f, 0x6f, 0xc4, //0x00000abf movdqa %xmm4, %xmm0 + 0x66, 0x41, 0x0f, 0x74, 0xc0, //0x00000ac3 pcmpeqb %xmm8, %xmm0 + 0x66, 0x44, 0x0f, 0xd7, 0xd8, //0x00000ac8 pmovmskb %xmm0, %r11d + 0x66, 0x0f, 0x6f, 0xc7, //0x00000acd movdqa %xmm7, %xmm0 + 0x66, 0x0f, 0x74, 0xc1, //0x00000ad1 pcmpeqb %xmm1, %xmm0 + 0x66, 0x0f, 0xd7, 0xc0, //0x00000ad5 pmovmskb %xmm0, %eax + 0x66, 0x0f, 0x6f, 0xc6, //0x00000ad9 movdqa %xmm6, %xmm0 + 0x66, 0x0f, 0x74, 0xc1, //0x00000add pcmpeqb %xmm1, %xmm0 + 0x66, 0x0f, 0xd7, 0xd0, //0x00000ae1 pmovmskb %xmm0, %edx + 0x66, 0x0f, 0x6f, 0xc5, //0x00000ae5 movdqa %xmm5, %xmm0 + 0x66, 0x0f, 0x74, 0xc1, //0x00000ae9 pcmpeqb %xmm1, %xmm0 + 0x48, 0xc1, 0xe3, 0x10, //0x00000aed shlq $16, %rbx + 0x48, 0x09, 0xdf, //0x00000af1 orq %rbx, %rdi + 0x66, 0x0f, 0xd7, 0xd8, //0x00000af4 pmovmskb %xmm0, %ebx + 0x66, 0x0f, 0x6f, 0xc4, //0x00000af8 movdqa %xmm4, %xmm0 + 0x66, 0x0f, 0x74, 0xc1, //0x00000afc pcmpeqb %xmm1, %xmm0 + 0x48, 0xc1, 0xe1, 0x20, //0x00000b00 shlq $32, %rcx + 0x48, 0x09, 0xcf, //0x00000b04 orq %rcx, %rdi + 0x66, 0x0f, 0xd7, 0xc8, //0x00000b07 pmovmskb %xmm0, %ecx + 0x66, 0x0f, 0x6f, 0xc2, //0x00000b0b movdqa %xmm2, %xmm0 + 0x66, 0x0f, 0x64, 0xc7, //0x00000b0f pcmpgtb %xmm7, %xmm0 + 0x66, 0x0f, 0x64, 0xfb, //0x00000b13 pcmpgtb %xmm3, %xmm7 + 0x66, 0x0f, 0xdb, 0xf8, //0x00000b17 pand %xmm0, %xmm7 + 0x48, 0xc1, 0xe2, 0x10, //0x00000b1b shlq $16, %rdx + 0x48, 0x09, 0xd0, //0x00000b1f orq %rdx, %rax + 0x66, 0x44, 0x0f, 0xd7, 0xd7, //0x00000b22 pmovmskb %xmm7, %r10d + 0x66, 0x0f, 0x6f, 0xc2, //0x00000b27 movdqa %xmm2, %xmm0 + 0x66, 0x0f, 0x64, 0xc6, //0x00000b2b pcmpgtb %xmm6, %xmm0 + 0x66, 0x0f, 0x64, 0xf3, //0x00000b2f pcmpgtb %xmm3, %xmm6 + 0x66, 0x0f, 0xdb, 0xf0, //0x00000b33 pand %xmm0, %xmm6 + 0x48, 0xc1, 0xe3, 0x20, //0x00000b37 shlq $32, %rbx + 0x48, 0x09, 0xd8, //0x00000b3b orq %rbx, %rax + 0x66, 0x0f, 0xd7, 0xd6, //0x00000b3e pmovmskb %xmm6, %edx + 0x66, 0x0f, 0x6f, 0xc2, //0x00000b42 movdqa %xmm2, %xmm0 + 0x66, 0x0f, 0x64, 0xc5, //0x00000b46 pcmpgtb %xmm5, %xmm0 + 0x66, 0x0f, 0x64, 0xeb, //0x00000b4a pcmpgtb %xmm3, %xmm5 + 0x66, 0x0f, 0xdb, 0xe8, //0x00000b4e pand %xmm0, %xmm5 + 0x48, 0xc1, 0xe1, 0x30, //0x00000b52 shlq $48, %rcx + 0x48, 0x09, 0xc8, //0x00000b56 orq %rcx, %rax + 0x66, 0x0f, 0xd7, 0xcd, //0x00000b59 pmovmskb %xmm5, %ecx + 0x66, 0x0f, 0x6f, 0xc2, //0x00000b5d movdqa %xmm2, %xmm0 + 0x66, 0x0f, 0x64, 0xc4, //0x00000b61 pcmpgtb %xmm4, %xmm0 + 0x66, 0x0f, 0x64, 0xe3, //0x00000b65 pcmpgtb %xmm3, %xmm4 + 0x66, 0x0f, 0xdb, 0xe0, //0x00000b69 pand %xmm0, %xmm4 + 0x48, 0xc1, 0xe2, 0x10, //0x00000b6d shlq $16, %rdx + 0x49, 0x09, 0xd2, //0x00000b71 orq %rdx, %r10 + 0x66, 0x0f, 0xd7, 0xdc, //0x00000b74 pmovmskb %xmm4, %ebx + 0x49, 0xc1, 0xe3, 0x30, //0x00000b78 shlq $48, %r11 + 0x48, 0xc1, 0xe1, 0x20, //0x00000b7c shlq $32, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00000b80 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000b84 jne LBB0_137 + 0x48, 0x85, 0xc0, //0x00000b8a testq %rax, %rax + 0x0f, 0x85, 0x9c, 0x00, 0x00, 0x00, //0x00000b8d jne LBB0_142 + //0x00000b93 LBB0_137 + 0x48, 0xc1, 0xe3, 0x30, //0x00000b93 shlq $48, %rbx + 0x49, 0x09, 0xca, //0x00000b97 orq %rcx, %r10 + 0x4c, 0x09, 0xdf, //0x00000b9a orq %r11, %rdi + 0x48, 0x89, 0xc1, //0x00000b9d movq %rax, %rcx + 0x4c, 0x09, 0xf9, //0x00000ba0 orq %r15, %rcx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x00000ba3 jne LBB0_141 + 0x49, 0x09, 0xda, //0x00000ba9 orq %rbx, %r10 + 0x48, 0x85, 0xff, //0x00000bac testq %rdi, %rdi + 0x0f, 0x85, 0x8d, 0x00, 0x00, 0x00, //0x00000baf jne LBB0_143 + //0x00000bb5 LBB0_139 + 0x4d, 0x85, 0xd2, //0x00000bb5 testq %r10, %r10 + 0x0f, 0x85, 0x63, 0x25, 0x00, 0x00, //0x00000bb8 jne LBB0_712 + 0x49, 0x83, 0xc4, 0xc0, //0x00000bbe addq $-64, %r12 + 0x49, 0x83, 0xc5, 0x40, //0x00000bc2 addq $64, %r13 + 0x49, 0x83, 0xfc, 0x3f, //0x00000bc6 cmpq $63, %r12 + 0x0f, 0x87, 0xb0, 0xfe, 0xff, 0xff, //0x00000bca ja LBB0_135 + 0xe9, 0xd1, 0x05, 0x00, 0x00, //0x00000bd0 jmp LBB0_239 + //0x00000bd5 LBB0_141 + 0x4c, 0x89, 0xf9, //0x00000bd5 movq %r15, %rcx + 0x48, 0xf7, 0xd1, //0x00000bd8 notq %rcx + 0x48, 0x21, 0xc1, //0x00000bdb andq %rax, %rcx + 0x4c, 0x8d, 0x1c, 0x09, //0x00000bde leaq (%rcx,%rcx), %r11 + 0x4d, 0x09, 0xfb, //0x00000be2 orq %r15, %r11 + 0x4c, 0x89, 0xda, //0x00000be5 movq %r11, %rdx + 0x48, 0xf7, 0xd2, //0x00000be8 notq %rdx + 0x48, 0x21, 0xc2, //0x00000beb andq %rax, %rdx + 0x48, 0xb8, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000bee movabsq $-6148914691236517206, %rax + 0x48, 0x21, 0xc2, //0x00000bf8 andq %rax, %rdx + 0x45, 0x31, 0xff, //0x00000bfb xorl %r15d, %r15d + 0x48, 0x01, 0xca, //0x00000bfe addq %rcx, %rdx + 0x41, 0x0f, 0x92, 0xc7, //0x00000c01 setb %r15b + 0x48, 0x01, 0xd2, //0x00000c05 addq %rdx, %rdx + 0x48, 0xb8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000c08 movabsq $6148914691236517205, %rax + 0x48, 0x31, 0xc2, //0x00000c12 xorq %rax, %rdx + 0x4c, 0x21, 0xda, //0x00000c15 andq %r11, %rdx + 0x48, 0xf7, 0xd2, //0x00000c18 notq %rdx + 0x48, 0x21, 0xd7, //0x00000c1b andq %rdx, %rdi + 0x49, 0x09, 0xda, //0x00000c1e orq %rbx, %r10 + 0x48, 0x85, 0xff, //0x00000c21 testq %rdi, %rdi + 0x0f, 0x84, 0x8b, 0xff, 0xff, 0xff, //0x00000c24 je LBB0_139 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00000c2a jmp LBB0_143 + //0x00000c2f LBB0_142 + 0x4c, 0x89, 0xea, //0x00000c2f movq %r13, %rdx + 0x48, 0x2b, 0x55, 0xc0, //0x00000c32 subq $-64(%rbp), %rdx + 0x4c, 0x0f, 0xbc, 0xc0, //0x00000c36 bsfq %rax, %r8 + 0x49, 0x01, 0xd0, //0x00000c3a addq %rdx, %r8 + 0xe9, 0x51, 0xff, 0xff, 0xff, //0x00000c3d jmp LBB0_137 + //0x00000c42 LBB0_143 + 0x48, 0x0f, 0xbc, 0xc7, //0x00000c42 bsfq %rdi, %rax + 0x4d, 0x85, 0xd2, //0x00000c46 testq %r10, %r10 + 0x0f, 0x84, 0x13, 0x01, 0x00, 0x00, //0x00000c49 je LBB0_162 + 0x49, 0x0f, 0xbc, 0xca, //0x00000c4f bsfq %r10, %rcx + 0xe9, 0x0f, 0x01, 0x00, 0x00, //0x00000c53 jmp LBB0_163 + //0x00000c58 LBB0_145 + 0x4c, 0x89, 0xf0, //0x00000c58 movq %r14, %rax + 0x4c, 0x09, 0xe0, //0x00000c5b orq %r12, %rax + 0x4d, 0x39, 0xe6, //0x00000c5e cmpq %r12, %r14 + 0x0f, 0x8c, 0xdd, 0x00, 0x00, 0x00, //0x00000c61 jl LBB0_161 + 0x48, 0x85, 0xc0, //0x00000c67 testq %rax, %rax + 0x0f, 0x88, 0xd4, 0x00, 0x00, 0x00, //0x00000c6a js LBB0_161 + 0x49, 0xf7, 0xd6, //0x00000c70 notq %r14 + 0x4d, 0x89, 0xf3, //0x00000c73 movq %r14, %r11 + 0xe9, 0x69, 0xfd, 0xff, 0xff, //0x00000c76 jmp LBB0_128 + //0x00000c7b LBB0_148 + 0x31, 0xc9, //0x00000c7b xorl %ecx, %ecx + 0x31, 0xd2, //0x00000c7d xorl %edx, %edx + 0x45, 0x31, 0xd2, //0x00000c7f xorl %r10d, %r10d + 0xe9, 0xf8, 0x00, 0x00, 0x00, //0x00000c82 jmp LBB0_166 + //0x00000c87 LBB0_149 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00000c87 movq $-2, %rdx + 0x80, 0xf9, 0x61, //0x00000c8e cmpb $97, %cl + 0x0f, 0x85, 0x57, 0x01, 0x00, 0x00, //0x00000c91 jne LBB0_175 + 0x42, 0x80, 0x7c, 0x38, 0x02, 0x6c, //0x00000c97 cmpb $108, $2(%rax,%r15) + 0x0f, 0x85, 0x5b, 0x01, 0x00, 0x00, //0x00000c9d jne LBB0_215 + 0x42, 0x80, 0x7c, 0x38, 0x03, 0x73, //0x00000ca3 cmpb $115, $3(%rax,%r15) + 0x0f, 0x85, 0x63, 0x03, 0x00, 0x00, //0x00000ca9 jne LBB0_213 + 0x49, 0x8d, 0x77, 0x04, //0x00000caf leaq $4(%r15), %rsi + 0x49, 0x8d, 0x4f, 0x05, //0x00000cb3 leaq $5(%r15), %rcx + 0x42, 0x80, 0x7c, 0x38, 0x04, 0x65, //0x00000cb7 cmpb $101, $4(%rax,%r15) + 0x48, 0x0f, 0x44, 0xf1, //0x00000cbd cmoveq %rcx, %rsi + 0xe9, 0x53, 0x03, 0x00, 0x00, //0x00000cc1 jmp LBB0_217 + //0x00000cc6 LBB0_153 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00000cc6 movq $-2, %rdx + 0x80, 0xf9, 0x6e, //0x00000ccd cmpb $110, %cl + 0x0f, 0x85, 0x40, 0x03, 0x00, 0x00, //0x00000cd0 jne LBB0_216 + 0x42, 0x80, 0x7c, 0x38, 0x01, 0x75, //0x00000cd6 cmpb $117, $1(%rax,%r15) + 0x0f, 0x85, 0x14, 0x01, 0x00, 0x00, //0x00000cdc jne LBB0_176 + 0x42, 0x80, 0x7c, 0x38, 0x02, 0x6c, //0x00000ce2 cmpb $108, $2(%rax,%r15) + 0x0f, 0x85, 0x10, 0x01, 0x00, 0x00, //0x00000ce8 jne LBB0_215 + 0x49, 0x8d, 0x77, 0x03, //0x00000cee leaq $3(%r15), %rsi + 0x49, 0x8d, 0x4f, 0x04, //0x00000cf2 leaq $4(%r15), %rcx + 0x42, 0x80, 0x7c, 0x38, 0x03, 0x6c, //0x00000cf6 cmpb $108, $3(%rax,%r15) + 0x48, 0x0f, 0x44, 0xf1, //0x00000cfc cmoveq %rcx, %rsi + 0xe9, 0x14, 0x03, 0x00, 0x00, //0x00000d00 jmp LBB0_217 + //0x00000d05 LBB0_157 + 0x48, 0xc7, 0xc2, 0xfe, 0xff, 0xff, 0xff, //0x00000d05 movq $-2, %rdx + 0x80, 0xf9, 0x74, //0x00000d0c cmpb $116, %cl + 0x0f, 0x85, 0x01, 0x03, 0x00, 0x00, //0x00000d0f jne LBB0_216 + 0x42, 0x80, 0x7c, 0x38, 0x01, 0x72, //0x00000d15 cmpb $114, $1(%rax,%r15) + 0x0f, 0x85, 0xd5, 0x00, 0x00, 0x00, //0x00000d1b jne LBB0_176 + 0x42, 0x80, 0x7c, 0x38, 0x02, 0x75, //0x00000d21 cmpb $117, $2(%rax,%r15) + 0x0f, 0x85, 0xd1, 0x00, 0x00, 0x00, //0x00000d27 jne LBB0_215 + 0x49, 0x8d, 0x77, 0x03, //0x00000d2d leaq $3(%r15), %rsi + 0x49, 0x8d, 0x4f, 0x04, //0x00000d31 leaq $4(%r15), %rcx + 0x42, 0x80, 0x7c, 0x38, 0x03, 0x65, //0x00000d35 cmpb $101, $3(%rax,%r15) + 0x48, 0x0f, 0x44, 0xf1, //0x00000d3b cmoveq %rcx, %rsi + 0xe9, 0xd5, 0x02, 0x00, 0x00, //0x00000d3f jmp LBB0_217 + //0x00000d44 LBB0_161 + 0x48, 0x85, 0xc0, //0x00000d44 testq %rax, %rax + 0x49, 0x8d, 0x44, 0x24, 0xff, //0x00000d47 leaq $-1(%r12), %rax + 0x49, 0xf7, 0xd4, //0x00000d4c notq %r12 + 0x4d, 0x0f, 0x48, 0xe2, //0x00000d4f cmovsq %r10, %r12 + 0x49, 0x39, 0xc6, //0x00000d53 cmpq %rax, %r14 + 0x4d, 0x0f, 0x45, 0xe2, //0x00000d56 cmovneq %r10, %r12 + 0x4d, 0x89, 0xe3, //0x00000d5a movq %r12, %r11 + 0xe9, 0x82, 0xfc, 0xff, 0xff, //0x00000d5d jmp LBB0_128 + //0x00000d62 LBB0_162 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00000d62 movl $64, %ecx + //0x00000d67 LBB0_163 + 0x48, 0x8b, 0x55, 0xc0, //0x00000d67 movq $-64(%rbp), %rdx + 0x48, 0x39, 0xc1, //0x00000d6b cmpq %rax, %rcx + 0x0f, 0x82, 0xad, 0x23, 0x00, 0x00, //0x00000d6e jb LBB0_712 + 0x49, 0x29, 0xd5, //0x00000d74 subq %rdx, %r13 + 0xe9, 0xf2, 0x03, 0x00, 0x00, //0x00000d77 jmp LBB0_236 + //0x00000d7c LBB0_165 + 0x48, 0x89, 0xf7, //0x00000d7c movq %rsi, %rdi + //0x00000d7f LBB0_166 + 0x45, 0x31, 0xf6, //0x00000d7f xorl %r14d, %r14d + 0x85, 0xc9, //0x00000d82 testl %ecx, %ecx + 0x41, 0x0f, 0x9f, 0xc6, //0x00000d84 setg %r14b + 0x41, 0xb9, 0x09, 0x00, 0x00, 0x00, //0x00000d88 movl $9, %r9d + 0x49, 0x89, 0xfb, //0x00000d8e movq %rdi, %r11 + //0x00000d91 LBB0_167 + 0x85, 0xc9, //0x00000d91 testl %ecx, %ecx + 0x48, 0x89, 0x45, 0xc0, //0x00000d93 movq %rax, $-64(%rbp) + 0x0f, 0x85, 0xa8, 0x00, 0x00, 0x00, //0x00000d97 jne LBB0_181 + //0x00000d9d LBB0_168 + 0x4d, 0x85, 0xd2, //0x00000d9d testq %r10, %r10 + 0x0f, 0x85, 0x9f, 0x00, 0x00, 0x00, //0x00000da0 jne LBB0_181 + 0x49, 0x39, 0xf3, //0x00000da6 cmpq %rsi, %r11 + 0x0f, 0x83, 0x33, 0x00, 0x00, 0x00, //0x00000da9 jae LBB0_174 + 0x44, 0x89, 0x75, 0xb8, //0x00000daf movl %r14d, $-72(%rbp) + 0x45, 0x89, 0xde, //0x00000db3 movl %r11d, %r14d + 0x41, 0x29, 0xf6, //0x00000db6 subl %esi, %r14d + 0x31, 0xd2, //0x00000db9 xorl %edx, %edx + 0x31, 0xc9, //0x00000dbb xorl %ecx, %ecx + 0x48, 0x8b, 0x45, 0xc0, //0x00000dbd movq $-64(%rbp), %rax + //0x00000dc1 LBB0_171 + 0x42, 0x80, 0x3c, 0x18, 0x30, //0x00000dc1 cmpb $48, (%rax,%r11) + 0x0f, 0x85, 0x6e, 0x00, 0x00, 0x00, //0x00000dc6 jne LBB0_180 + 0x49, 0xff, 0xc3, //0x00000dcc incq %r11 + 0xff, 0xc9, //0x00000dcf decl %ecx + 0x4c, 0x39, 0xde, //0x00000dd1 cmpq %r11, %rsi + 0x0f, 0x85, 0xe7, 0xff, 0xff, 0xff, //0x00000dd4 jne LBB0_171 + 0x45, 0x31, 0xd2, //0x00000dda xorl %r10d, %r10d + 0xe9, 0x70, 0x01, 0x00, 0x00, //0x00000ddd jmp LBB0_201 + //0x00000de2 LBB0_174 + 0x31, 0xc9, //0x00000de2 xorl %ecx, %ecx + 0x31, 0xd2, //0x00000de4 xorl %edx, %edx + 0x45, 0x31, 0xd2, //0x00000de6 xorl %r10d, %r10d + 0xe9, 0x57, 0x00, 0x00, 0x00, //0x00000de9 jmp LBB0_181 + //0x00000dee LBB0_175 + 0x4c, 0x89, 0xde, //0x00000dee movq %r11, %rsi + 0xe9, 0x23, 0x02, 0x00, 0x00, //0x00000df1 jmp LBB0_217 + //0x00000df6 LBB0_176 + 0x49, 0xff, 0xc7, //0x00000df6 incq %r15 + 0xe9, 0x18, 0x02, 0x00, 0x00, //0x00000df9 jmp LBB0_216 + //0x00000dfe LBB0_215 + 0x49, 0x83, 0xc7, 0x02, //0x00000dfe addq $2, %r15 + 0xe9, 0x0f, 0x02, 0x00, 0x00, //0x00000e02 jmp LBB0_216 + //0x00000e07 LBB0_177 + 0x4c, 0x89, 0xc3, //0x00000e07 movq %r8, %rbx + 0x4c, 0x29, 0xc7, //0x00000e0a subq %r8, %rdi + 0x44, 0x0f, 0xbc, 0xda, //0x00000e0d bsfl %edx, %r11d + 0x49, 0x01, 0xfb, //0x00000e11 addq %rdi, %r11 + //0x00000e14 LBB0_178 + 0x49, 0xf7, 0xd3, //0x00000e14 notq %r11 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00000e17 movq $-48(%rbp), %r13 + 0xe9, 0xc4, 0xfb, 0xff, 0xff, //0x00000e1b jmp LBB0_128 + //0x00000e20 LBB0_179 + 0x49, 0xff, 0xcb, //0x00000e20 decq %r11 + 0x41, 0xb9, 0x09, 0x00, 0x00, 0x00, //0x00000e23 movl $9, %r9d + 0x85, 0xc9, //0x00000e29 testl %ecx, %ecx + 0x48, 0x89, 0x45, 0xc0, //0x00000e2b movq %rax, $-64(%rbp) + 0x0f, 0x84, 0x68, 0xff, 0xff, 0xff, //0x00000e2f je LBB0_168 + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00000e35 jmp LBB0_181 + //0x00000e3a LBB0_180 + 0x45, 0x31, 0xd2, //0x00000e3a xorl %r10d, %r10d + 0x48, 0x8b, 0x45, 0xc0, //0x00000e3d movq $-64(%rbp), %rax + 0x44, 0x8b, 0x75, 0xb8, //0x00000e41 movl $-72(%rbp), %r14d + //0x00000e45 LBB0_181 + 0x49, 0x39, 0xf3, //0x00000e45 cmpq %rsi, %r11 + 0x0f, 0x83, 0x3c, 0x00, 0x00, 0x00, //0x00000e48 jae LBB0_186 + 0x83, 0xfa, 0x12, //0x00000e4e cmpl $18, %edx + 0x0f, 0x8f, 0x33, 0x00, 0x00, 0x00, //0x00000e51 jg LBB0_186 + //0x00000e57 LBB0_183 + 0x42, 0x0f, 0xb6, 0x3c, 0x18, //0x00000e57 movzbl (%rax,%r11), %edi + 0x8d, 0x5f, 0xd0, //0x00000e5c leal $-48(%rdi), %ebx + 0x80, 0xfb, 0x09, //0x00000e5f cmpb $9, %bl + 0x0f, 0x87, 0x22, 0x00, 0x00, 0x00, //0x00000e62 ja LBB0_186 + 0x4b, 0x8d, 0x1c, 0x92, //0x00000e68 leaq (%r10,%r10,4), %rbx + 0x4c, 0x8d, 0x54, 0x5f, 0xd0, //0x00000e6c leaq $-48(%rdi,%rbx,2), %r10 + 0xff, 0xc9, //0x00000e71 decl %ecx + 0x49, 0xff, 0xc3, //0x00000e73 incq %r11 + 0x83, 0xfa, 0x11, //0x00000e76 cmpl $17, %edx + 0x0f, 0x8f, 0x0b, 0x00, 0x00, 0x00, //0x00000e79 jg LBB0_186 + 0xff, 0xc2, //0x00000e7f incl %edx + 0x49, 0x39, 0xf3, //0x00000e81 cmpq %rsi, %r11 + 0x0f, 0x82, 0xcd, 0xff, 0xff, 0xff, //0x00000e84 jb LBB0_183 + //0x00000e8a LBB0_186 + 0x49, 0x39, 0xf3, //0x00000e8a cmpq %rsi, %r11 + 0x0f, 0x83, 0xa9, 0x00, 0x00, 0x00, //0x00000e8d jae LBB0_199 + 0x42, 0x8a, 0x14, 0x18, //0x00000e93 movb (%rax,%r11), %dl + 0x8d, 0x7a, 0xd0, //0x00000e97 leal $-48(%rdx), %edi + 0x40, 0x80, 0xff, 0x09, //0x00000e9a cmpb $9, %dil + 0x0f, 0x87, 0x28, 0x00, 0x00, 0x00, //0x00000e9e ja LBB0_192 + 0x48, 0x8d, 0x7e, 0xff, //0x00000ea4 leaq $-1(%rsi), %rdi + //0x00000ea8 LBB0_189 + 0x4c, 0x39, 0xdf, //0x00000ea8 cmpq %r11, %rdi + 0x0f, 0x84, 0x97, 0x00, 0x00, 0x00, //0x00000eab je LBB0_200 + 0x42, 0x0f, 0xb6, 0x54, 0x18, 0x01, //0x00000eb1 movzbl $1(%rax,%r11), %edx + 0x49, 0xff, 0xc3, //0x00000eb7 incq %r11 + 0x8d, 0x5a, 0xd0, //0x00000eba leal $-48(%rdx), %ebx + 0x80, 0xfb, 0x09, //0x00000ebd cmpb $9, %bl + 0x0f, 0x86, 0xe2, 0xff, 0xff, 0xff, //0x00000ec0 jbe LBB0_189 + 0x41, 0xbe, 0x01, 0x00, 0x00, 0x00, //0x00000ec6 movl $1, %r14d + //0x00000ecc LBB0_192 + 0x80, 0xca, 0x20, //0x00000ecc orb $32, %dl + 0x80, 0xfa, 0x65, //0x00000ecf cmpb $101, %dl + 0x0f, 0x85, 0x64, 0x00, 0x00, 0x00, //0x00000ed2 jne LBB0_199 + 0x49, 0x8d, 0x7b, 0x01, //0x00000ed8 leaq $1(%r11), %rdi + 0x49, 0xc7, 0x45, 0x00, 0x08, 0x00, 0x00, 0x00, //0x00000edc movq $8, (%r13) + 0x48, 0x39, 0xf7, //0x00000ee4 cmpq %rsi, %rdi + 0x0f, 0x83, 0x3f, 0x00, 0x00, 0x00, //0x00000ee7 jae LBB0_198 + 0x8a, 0x14, 0x38, //0x00000eed movb (%rax,%rdi), %dl + 0x80, 0xfa, 0x2d, //0x00000ef0 cmpb $45, %dl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x00000ef3 je LBB0_196 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000ef9 movl $1, %r9d + 0x80, 0xfa, 0x2b, //0x00000eff cmpb $43, %dl + 0x0f, 0x85, 0x4d, 0x01, 0x00, 0x00, //0x00000f02 jne LBB0_222 + //0x00000f08 LBB0_196 + 0x49, 0x83, 0xc3, 0x02, //0x00000f08 addq $2, %r11 + 0x49, 0x39, 0xf3, //0x00000f0c cmpq %rsi, %r11 + 0x0f, 0x83, 0x17, 0x00, 0x00, 0x00, //0x00000f0f jae LBB0_198 + 0x31, 0xff, //0x00000f15 xorl %edi, %edi + 0x80, 0xfa, 0x2b, //0x00000f17 cmpb $43, %dl + 0x40, 0x0f, 0x94, 0xc7, //0x00000f1a sete %dil + 0x44, 0x8d, 0x4c, 0x3f, 0xff, //0x00000f1e leal $-1(%rdi,%rdi), %r9d + 0x42, 0x8a, 0x14, 0x18, //0x00000f23 movb (%rax,%r11), %dl + 0xe9, 0x2c, 0x01, 0x00, 0x00, //0x00000f27 jmp LBB0_223 + //0x00000f2c LBB0_198 + 0x49, 0xc7, 0x45, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00000f2c movq $-1, (%r13) + 0x49, 0x89, 0xf3, //0x00000f34 movq %rsi, %r11 + 0xe9, 0xb3, 0xf3, 0xff, 0xff, //0x00000f37 jmp LBB0_38 + //0x00000f3c LBB0_199 + 0x44, 0x89, 0x75, 0xb8, //0x00000f3c movl %r14d, $-72(%rbp) + 0x41, 0x89, 0xce, //0x00000f40 movl %ecx, %r14d + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x00000f43 jmp LBB0_202 + //0x00000f48 LBB0_200 + 0xc7, 0x45, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000f48 movl $1, $-72(%rbp) + 0x41, 0x89, 0xce, //0x00000f4f movl %ecx, %r14d + //0x00000f52 LBB0_201 + 0x49, 0x89, 0xf3, //0x00000f52 movq %rsi, %r11 + //0x00000f55 LBB0_202 + 0x41, 0x83, 0xf9, 0x09, //0x00000f55 cmpl $9, %r9d + 0x0f, 0x85, 0x37, 0x00, 0x00, 0x00, //0x00000f59 jne LBB0_207 + 0x45, 0x85, 0xf6, //0x00000f5f testl %r14d, %r14d + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x00000f62 jne LBB0_206 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000f68 movabsq $-9223372036854775808, %rax + 0x48, 0x63, 0x4d, 0xc8, //0x00000f72 movslq $-56(%rbp), %rcx + 0x4d, 0x85, 0xd2, //0x00000f76 testq %r10, %r10 + 0x0f, 0x89, 0x56, 0x00, 0x00, 0x00, //0x00000f79 jns LBB0_212 + 0x4c, 0x89, 0xd2, //0x00000f7f movq %r10, %rdx + 0x48, 0x21, 0xca, //0x00000f82 andq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x00000f85 cmpq %rax, %rdx + 0x0f, 0x84, 0x47, 0x00, 0x00, 0x00, //0x00000f88 je LBB0_212 + //0x00000f8e LBB0_206 + 0x49, 0xc7, 0x45, 0x00, 0x08, 0x00, 0x00, 0x00, //0x00000f8e movq $8, (%r13) + //0x00000f96 LBB0_207 + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000f96 movabsq $-9223372036854775808, %r9 + 0x4c, 0x89, 0xd0, //0x00000fa0 movq %r10, %rax + 0x48, 0xc1, 0xe8, 0x34, //0x00000fa3 shrq $52, %rax + 0x0f, 0x84, 0xe2, 0x02, 0x00, 0x00, //0x00000fa7 je LBB0_247 + //0x00000fad LBB0_208 + 0x41, 0x8d, 0x86, 0x5c, 0x01, 0x00, 0x00, //0x00000fad leal $348(%r14), %eax + 0x3d, 0xb7, 0x02, 0x00, 0x00, //0x00000fb4 cmpl $695, %eax + 0x0f, 0x87, 0xca, 0x04, 0x00, 0x00, //0x00000fb9 ja LBB0_268 + 0x4d, 0x85, 0xd2, //0x00000fbf testq %r10, %r10 + 0x0f, 0x84, 0xb8, 0x03, 0x00, 0x00, //0x00000fc2 je LBB0_259 + //0x00000fc8 LBB0_210 + 0x49, 0x0f, 0xbd, 0xca, //0x00000fc8 bsrq %r10, %rcx + 0x48, 0x83, 0xf1, 0x3f, //0x00000fcc xorq $63, %rcx + 0xe9, 0xb0, 0x03, 0x00, 0x00, //0x00000fd0 jmp LBB0_260 + //0x00000fd5 LBB0_212 + 0x66, 0x49, 0x0f, 0x6e, 0xc2, //0x00000fd5 movq %r10, %xmm0 + 0x4c, 0x0f, 0xaf, 0xd1, //0x00000fda imulq %rcx, %r10 + 0x4d, 0x89, 0x55, 0x10, //0x00000fde movq %r10, $16(%r13) + 0x66, 0x0f, 0x62, 0x05, 0xa6, 0xf0, 0xff, 0xff, //0x00000fe2 punpckldq $-3930(%rip), %xmm0 /* LCPI0_9+0(%rip) */ + 0x66, 0x0f, 0x5c, 0x05, 0xae, 0xf0, 0xff, 0xff, //0x00000fea subpd $-3922(%rip), %xmm0 /* LCPI0_10+0(%rip) */ + 0x66, 0x0f, 0x28, 0xc8, //0x00000ff2 movapd %xmm0, %xmm1 + 0x66, 0x0f, 0x15, 0xc8, //0x00000ff6 unpckhpd %xmm0, %xmm1 + 0xf2, 0x0f, 0x58, 0xc8, //0x00000ffa addsd %xmm0, %xmm1 + 0x48, 0x21, 0xc8, //0x00000ffe andq %rcx, %rax + 0x66, 0x48, 0x0f, 0x7e, 0xc9, //0x00001001 movq %xmm1, %rcx + 0x48, 0x09, 0xc1, //0x00001006 orq %rax, %rcx + 0x49, 0x89, 0x4d, 0x08, //0x00001009 movq %rcx, $8(%r13) + 0xe9, 0xdd, 0xf2, 0xff, 0xff, //0x0000100d jmp LBB0_38 + //0x00001012 LBB0_213 + 0x49, 0x83, 0xc7, 0x03, //0x00001012 addq $3, %r15 + //0x00001016 LBB0_216 + 0x4c, 0x89, 0xfe, //0x00001016 movq %r15, %rsi + //0x00001019 LBB0_217 + 0x49, 0x89, 0x55, 0x00, //0x00001019 movq %rdx, (%r13) + 0x49, 0x89, 0xf3, //0x0000101d movq %rsi, %r11 + 0xe9, 0xca, 0xf2, 0xff, 0xff, //0x00001020 jmp LBB0_38 + //0x00001025 LBB0_218 + 0x49, 0x89, 0xca, //0x00001025 movq %rcx, %r10 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001028 movq $-1, %r11 + 0x4d, 0x85, 0xe4, //0x0000102f testq %r12, %r12 + 0x0f, 0x85, 0xa1, 0xf5, 0xff, 0xff, //0x00001032 jne LBB0_76 + //0x00001038 LBB0_219 + 0x49, 0xf7, 0xd3, //0x00001038 notq %r11 + 0x4c, 0x01, 0xdb, //0x0000103b addq %r11, %rbx + //0x0000103e LBB0_220 + 0x49, 0xc7, 0xc7, 0xfe, 0xff, 0xff, 0xff, //0x0000103e movq $-2, %r15 + //0x00001045 LBB0_221 + 0x48, 0x2b, 0x5d, 0xc0, //0x00001045 subq $-64(%rbp), %rbx + 0x49, 0x89, 0xdb, //0x00001049 movq %rbx, %r11 + 0x4d, 0x89, 0x7d, 0x00, //0x0000104c movq %r15, (%r13) + 0xe9, 0x9a, 0xf2, 0xff, 0xff, //0x00001050 jmp LBB0_38 + //0x00001055 LBB0_222 + 0x49, 0x89, 0xfb, //0x00001055 movq %rdi, %r11 + //0x00001058 LBB0_223 + 0x8d, 0x7a, 0xd0, //0x00001058 leal $-48(%rdx), %edi + 0x40, 0x80, 0xff, 0x09, //0x0000105b cmpb $9, %dil + 0x0f, 0x86, 0x0d, 0x00, 0x00, 0x00, //0x0000105f jbe LBB0_225 + //0x00001065 LBB0_98 + 0x49, 0xc7, 0x45, 0x00, 0xfe, 0xff, 0xff, 0xff, //0x00001065 movq $-2, (%r13) + 0xe9, 0x7d, 0xf2, 0xff, 0xff, //0x0000106d jmp LBB0_38 + //0x00001072 LBB0_225 + 0x44, 0x89, 0x75, 0xb8, //0x00001072 movl %r14d, $-72(%rbp) + 0x45, 0x31, 0xf6, //0x00001076 xorl %r14d, %r14d + 0x49, 0x39, 0xf3, //0x00001079 cmpq %rsi, %r11 + 0x0f, 0x83, 0xef, 0x01, 0x00, 0x00, //0x0000107c jae LBB0_246 + 0x48, 0x8d, 0x7e, 0xff, //0x00001082 leaq $-1(%rsi), %rdi + 0x45, 0x31, 0xf6, //0x00001086 xorl %r14d, %r14d + //0x00001089 LBB0_227 + 0x44, 0x89, 0xf3, //0x00001089 movl %r14d, %ebx + 0x41, 0x81, 0xfe, 0x10, 0x27, 0x00, 0x00, //0x0000108c cmpl $10000, %r14d + 0x8d, 0x04, 0x9b, //0x00001093 leal (%rbx,%rbx,4), %eax + 0x0f, 0xb6, 0xd2, //0x00001096 movzbl %dl, %edx + 0x44, 0x8d, 0x74, 0x42, 0xd0, //0x00001099 leal $-48(%rdx,%rax,2), %r14d + 0x44, 0x0f, 0x4d, 0xf3, //0x0000109e cmovgel %ebx, %r14d + 0x4c, 0x39, 0xdf, //0x000010a2 cmpq %r11, %rdi + 0x0f, 0x84, 0xc3, 0x01, 0x00, 0x00, //0x000010a5 je LBB0_245 + 0x48, 0x8b, 0x45, 0xc0, //0x000010ab movq $-64(%rbp), %rax + 0x42, 0x0f, 0xb6, 0x54, 0x18, 0x01, //0x000010af movzbl $1(%rax,%r11), %edx + 0x49, 0xff, 0xc3, //0x000010b5 incq %r11 + 0x8d, 0x42, 0xd0, //0x000010b8 leal $-48(%rdx), %eax + 0x3c, 0x0a, //0x000010bb cmpb $10, %al + 0x0f, 0x82, 0xc6, 0xff, 0xff, 0xff, //0x000010bd jb LBB0_227 + 0xe9, 0xa9, 0x01, 0x00, 0x00, //0x000010c3 jmp LBB0_246 + //0x000010c8 LBB0_229 + 0x49, 0xf7, 0xd3, //0x000010c8 notq %r11 + 0x4c, 0x8b, 0x6d, 0xd0, //0x000010cb movq $-48(%rbp), %r13 + 0x4c, 0x89, 0xc3, //0x000010cf movq %r8, %rbx + 0xe9, 0x0d, 0xf9, 0xff, 0xff, //0x000010d2 jmp LBB0_128 + //0x000010d7 LBB0_453 + 0x49, 0xf7, 0xdb, //0x000010d7 negq %r11 + 0xe9, 0x05, 0xf9, 0xff, 0xff, //0x000010da jmp LBB0_128 + //0x000010df LBB0_230 + 0x4c, 0x8b, 0x6d, 0xa8, //0x000010df movq $-88(%rbp), %r13 + 0x4d, 0x89, 0xf4, //0x000010e3 movq %r14, %r12 + 0x49, 0x83, 0xfc, 0x20, //0x000010e6 cmpq $32, %r12 + 0x0f, 0x82, 0xb1, 0x20, 0x00, 0x00, //0x000010ea jb LBB0_717 + //0x000010f0 LBB0_231 + 0xf3, 0x41, 0x0f, 0x6f, 0x45, 0x00, //0x000010f0 movdqu (%r13), %xmm0 + 0xf3, 0x41, 0x0f, 0x6f, 0x4d, 0x10, //0x000010f6 movdqu $16(%r13), %xmm1 + 0xf3, 0x0f, 0x6f, 0x15, 0xfc, 0xee, 0xff, 0xff, //0x000010fc movdqu $-4356(%rip), %xmm2 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x1d, 0x04, 0xef, 0xff, 0xff, //0x00001104 movdqu $-4348(%rip), %xmm3 /* LCPI0_1+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xe0, //0x0000110c movdqa %xmm0, %xmm4 + 0x66, 0x0f, 0x74, 0xe2, //0x00001110 pcmpeqb %xmm2, %xmm4 + 0x66, 0x0f, 0xd7, 0xd4, //0x00001114 pmovmskb %xmm4, %edx + 0x66, 0x0f, 0x74, 0xd1, //0x00001118 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x0000111c pmovmskb %xmm2, %edi + 0x66, 0x0f, 0x74, 0xc3, //0x00001120 pcmpeqb %xmm3, %xmm0 + 0x66, 0x0f, 0xd7, 0xc0, //0x00001124 pmovmskb %xmm0, %eax + 0x66, 0x0f, 0x74, 0xcb, //0x00001128 pcmpeqb %xmm3, %xmm1 + 0x66, 0x0f, 0xd7, 0xc9, //0x0000112c pmovmskb %xmm1, %ecx + 0x48, 0xc1, 0xe7, 0x10, //0x00001130 shlq $16, %rdi + 0x48, 0xc1, 0xe1, 0x10, //0x00001134 shlq $16, %rcx + 0x48, 0x09, 0xc8, //0x00001138 orq %rcx, %rax + 0x49, 0x83, 0xf8, 0xff, //0x0000113b cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000113f jne LBB0_233 + 0x48, 0x85, 0xc0, //0x00001145 testq %rax, %rax + 0x0f, 0x85, 0xf2, 0x1f, 0x00, 0x00, //0x00001148 jne LBB0_714 + //0x0000114e LBB0_233 + 0x48, 0x09, 0xd7, //0x0000114e orq %rdx, %rdi + 0x48, 0x89, 0xc1, //0x00001151 movq %rax, %rcx + 0x4c, 0x09, 0xf9, //0x00001154 orq %r15, %rcx + 0x0f, 0x85, 0x00, 0x20, 0x00, 0x00, //0x00001157 jne LBB0_715 + //0x0000115d LBB0_234 + 0x48, 0x85, 0xff, //0x0000115d testq %rdi, %rdi + 0x0f, 0x84, 0x33, 0x20, 0x00, 0x00, //0x00001160 je LBB0_716 + //0x00001166 LBB0_235 + 0x48, 0x0f, 0xbc, 0xc7, //0x00001166 bsfq %rdi, %rax + 0x4c, 0x2b, 0x6d, 0xc0, //0x0000116a subq $-64(%rbp), %r13 + //0x0000116e LBB0_236 + 0x4d, 0x8d, 0x5c, 0x05, 0x01, //0x0000116e leaq $1(%r13,%rax), %r11 + //0x00001173 LBB0_237 + 0x4d, 0x85, 0xdb, //0x00001173 testq %r11, %r11 + 0x48, 0x8b, 0x4d, 0xd0, //0x00001176 movq $-48(%rbp), %rcx + 0x0f, 0x88, 0x34, 0x21, 0x00, 0x00, //0x0000117a js LBB0_732 + 0x48, 0x8b, 0x45, 0xb8, //0x00001180 movq $-72(%rbp), %rax + 0x48, 0x89, 0x41, 0x10, //0x00001184 movq %rax, $16(%rcx) + 0x48, 0xc7, 0x01, 0x07, 0x00, 0x00, 0x00, //0x00001188 movq $7, (%rcx) + 0x4d, 0x39, 0xd8, //0x0000118f cmpq %r11, %r8 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00001192 movq $-1, %rax + 0x49, 0x0f, 0x4c, 0xc0, //0x00001199 cmovlq %r8, %rax + 0x48, 0x89, 0x41, 0x18, //0x0000119d movq %rax, $24(%rcx) + 0xe9, 0x49, 0xf1, 0xff, 0xff, //0x000011a1 jmp LBB0_38 + //0x000011a6 LBB0_239 + 0x4d, 0x89, 0xcd, //0x000011a6 movq %r9, %r13 + 0x4d, 0x89, 0xf4, //0x000011a9 movq %r14, %r12 + 0x49, 0x83, 0xfc, 0x20, //0x000011ac cmpq $32, %r12 + 0x0f, 0x82, 0xc3, 0x1e, 0x00, 0x00, //0x000011b0 jb LBB0_701 + //0x000011b6 LBB0_240 + 0xf3, 0x41, 0x0f, 0x6f, 0x45, 0x00, //0x000011b6 movdqu (%r13), %xmm0 + 0xf3, 0x41, 0x0f, 0x6f, 0x4d, 0x10, //0x000011bc movdqu $16(%r13), %xmm1 + 0xf3, 0x0f, 0x6f, 0x15, 0x36, 0xee, 0xff, 0xff, //0x000011c2 movdqu $-4554(%rip), %xmm2 /* LCPI0_0+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xd8, //0x000011ca movdqa %xmm0, %xmm3 + 0x66, 0x0f, 0x74, 0xda, //0x000011ce pcmpeqb %xmm2, %xmm3 + 0x66, 0x0f, 0xd7, 0xdb, //0x000011d2 pmovmskb %xmm3, %ebx + 0x66, 0x0f, 0x74, 0xd1, //0x000011d6 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x000011da pmovmskb %xmm2, %edi + 0xf3, 0x0f, 0x6f, 0x15, 0x2a, 0xee, 0xff, 0xff, //0x000011de movdqu $-4566(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xd8, //0x000011e6 movdqa %xmm0, %xmm3 + 0x66, 0x0f, 0x74, 0xda, //0x000011ea pcmpeqb %xmm2, %xmm3 + 0x66, 0x0f, 0xd7, 0xcb, //0x000011ee pmovmskb %xmm3, %ecx + 0x66, 0x0f, 0x74, 0xd1, //0x000011f2 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xd2, //0x000011f6 pmovmskb %xmm2, %edx + 0xf3, 0x0f, 0x6f, 0x15, 0x1e, 0xee, 0xff, 0xff, //0x000011fa movdqu $-4578(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xda, //0x00001202 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xd8, //0x00001206 pcmpgtb %xmm0, %xmm3 + 0x66, 0x0f, 0x76, 0xe4, //0x0000120a pcmpeqd %xmm4, %xmm4 + 0x66, 0x0f, 0x64, 0xc4, //0x0000120e pcmpgtb %xmm4, %xmm0 + 0x66, 0x0f, 0xdb, 0xc3, //0x00001212 pand %xmm3, %xmm0 + 0x66, 0x0f, 0x64, 0xd1, //0x00001216 pcmpgtb %xmm1, %xmm2 + 0x66, 0x0f, 0x64, 0xcc, //0x0000121a pcmpgtb %xmm4, %xmm1 + 0x66, 0x0f, 0xdb, 0xca, //0x0000121e pand %xmm2, %xmm1 + 0x66, 0x0f, 0xd7, 0xc1, //0x00001222 pmovmskb %xmm1, %eax + 0x48, 0xc1, 0xe7, 0x10, //0x00001226 shlq $16, %rdi + 0x48, 0xc1, 0xe2, 0x10, //0x0000122a shlq $16, %rdx + 0x48, 0x09, 0xd1, //0x0000122e orq %rdx, %rcx + 0x49, 0x83, 0xf8, 0xff, //0x00001231 cmpq $-1, %r8 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00001235 jne LBB0_242 + 0x48, 0x85, 0xc9, //0x0000123b testq %rcx, %rcx + 0x0f, 0x85, 0xe5, 0x1f, 0x00, 0x00, //0x0000123e jne LBB0_726 + //0x00001244 LBB0_242 + 0x66, 0x44, 0x0f, 0xd7, 0xc8, //0x00001244 pmovmskb %xmm0, %r9d + 0x48, 0x09, 0xdf, //0x00001249 orq %rbx, %rdi + 0x48, 0x89, 0xca, //0x0000124c movq %rcx, %rdx + 0x4c, 0x09, 0xfa, //0x0000124f orq %r15, %rdx + 0x0f, 0x85, 0xaa, 0x1d, 0x00, 0x00, //0x00001252 jne LBB0_694 + 0x48, 0xc1, 0xe0, 0x10, //0x00001258 shlq $16, %rax + 0x48, 0x85, 0xff, //0x0000125c testq %rdi, %rdi + 0x0f, 0x84, 0xe0, 0x1d, 0x00, 0x00, //0x0000125f je LBB0_695 + //0x00001265 LBB0_244 + 0x48, 0x0f, 0xbc, 0xcf, //0x00001265 bsfq %rdi, %rcx + 0xe9, 0xdc, 0x1d, 0x00, 0x00, //0x00001269 jmp LBB0_696 + //0x0000126e LBB0_245 + 0x49, 0x89, 0xf3, //0x0000126e movq %rsi, %r11 + //0x00001271 LBB0_246 + 0x45, 0x0f, 0xaf, 0xf1, //0x00001271 imull %r9d, %r14d + 0x41, 0x01, 0xce, //0x00001275 addl %ecx, %r14d + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001278 movabsq $-9223372036854775808, %r9 + 0x4c, 0x89, 0xd0, //0x00001282 movq %r10, %rax + 0x48, 0xc1, 0xe8, 0x34, //0x00001285 shrq $52, %rax + 0x0f, 0x85, 0x1e, 0xfd, 0xff, 0xff, //0x00001289 jne LBB0_208 + //0x0000128f LBB0_247 + 0x66, 0x49, 0x0f, 0x6e, 0xc2, //0x0000128f movq %r10, %xmm0 + 0x66, 0x0f, 0x62, 0x05, 0xf4, 0xed, 0xff, 0xff, //0x00001294 punpckldq $-4620(%rip), %xmm0 /* LCPI0_9+0(%rip) */ + 0x66, 0x0f, 0x5c, 0x05, 0xfc, 0xed, 0xff, 0xff, //0x0000129c subpd $-4612(%rip), %xmm0 /* LCPI0_10+0(%rip) */ + 0x66, 0x0f, 0x28, 0xc8, //0x000012a4 movapd %xmm0, %xmm1 + 0x66, 0x0f, 0x15, 0xc8, //0x000012a8 unpckhpd %xmm0, %xmm1 + 0xf2, 0x0f, 0x58, 0xc8, //0x000012ac addsd %xmm0, %xmm1 + 0x66, 0x48, 0x0f, 0x7e, 0xc8, //0x000012b0 movq %xmm1, %rax + 0x8b, 0x4d, 0xc8, //0x000012b5 movl $-56(%rbp), %ecx + 0x89, 0xce, //0x000012b8 movl %ecx, %esi + 0xc1, 0xee, 0x1f, //0x000012ba shrl $31, %esi + 0x48, 0xc1, 0xe6, 0x3f, //0x000012bd shlq $63, %rsi + 0x48, 0x09, 0xc6, //0x000012c1 orq %rax, %rsi + 0x4d, 0x85, 0xd2, //0x000012c4 testq %r10, %r10 + 0x0f, 0x84, 0x8f, 0x05, 0x00, 0x00, //0x000012c7 je LBB0_328 + 0x45, 0x85, 0xf6, //0x000012cd testl %r14d, %r14d + 0x0f, 0x84, 0x86, 0x05, 0x00, 0x00, //0x000012d0 je LBB0_328 + 0x66, 0x48, 0x0f, 0x6e, 0xc6, //0x000012d6 movq %rsi, %xmm0 + 0x41, 0x8d, 0x46, 0xff, //0x000012db leal $-1(%r14), %eax + 0x83, 0xf8, 0x24, //0x000012df cmpl $36, %eax + 0x0f, 0x87, 0x27, 0x00, 0x00, 0x00, //0x000012e2 ja LBB0_252 + 0x41, 0x83, 0xfe, 0x17, //0x000012e8 cmpl $23, %r14d + 0x0f, 0x8c, 0x43, 0x00, 0x00, 0x00, //0x000012ec jl LBB0_254 + 0x49, 0x63, 0xc6, //0x000012f2 movslq %r14d, %rax + 0x48, 0x8d, 0x0d, 0xc4, 0x22, 0x00, 0x00, //0x000012f5 leaq $8900(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xf2, 0x0f, 0x59, 0x84, 0xc1, 0x50, 0xff, 0xff, 0xff, //0x000012fc mulsd $-176(%rcx,%rax,8), %xmm0 + 0xb8, 0x16, 0x00, 0x00, 0x00, //0x00001305 movl $22, %eax + 0xe9, 0x29, 0x00, 0x00, 0x00, //0x0000130a jmp LBB0_255 + //0x0000130f LBB0_252 + 0x41, 0x83, 0xfe, 0xea, //0x0000130f cmpl $-22, %r14d + 0x0f, 0x82, 0x94, 0xfc, 0xff, 0xff, //0x00001313 jb LBB0_208 + 0x41, 0xf7, 0xde, //0x00001319 negl %r14d + 0x49, 0x63, 0xc6, //0x0000131c movslq %r14d, %rax + 0x48, 0x8d, 0x0d, 0x9a, 0x22, 0x00, 0x00, //0x0000131f leaq $8858(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xf2, 0x0f, 0x5e, 0x04, 0xc1, //0x00001326 divsd (%rcx,%rax,8), %xmm0 + 0x66, 0x48, 0x0f, 0x7e, 0xc6, //0x0000132b movq %xmm0, %rsi + 0xe9, 0x27, 0x05, 0x00, 0x00, //0x00001330 jmp LBB0_328 + //0x00001335 LBB0_254 + 0x44, 0x89, 0xf0, //0x00001335 movl %r14d, %eax + //0x00001338 LBB0_255 + 0x66, 0x0f, 0x2e, 0x05, 0x70, 0xed, 0xff, 0xff, //0x00001338 ucomisd $-4752(%rip), %xmm0 /* LCPI0_11+0(%rip) */ + 0x0f, 0x87, 0x2a, 0x00, 0x00, 0x00, //0x00001340 ja LBB0_258 + 0xf2, 0x0f, 0x10, 0x0d, 0x6a, 0xed, 0xff, 0xff, //0x00001346 movsd $-4758(%rip), %xmm1 /* LCPI0_12+0(%rip) */ + 0x66, 0x0f, 0x2e, 0xc8, //0x0000134e ucomisd %xmm0, %xmm1 + 0x0f, 0x87, 0x18, 0x00, 0x00, 0x00, //0x00001352 ja LBB0_258 + 0x89, 0xc0, //0x00001358 movl %eax, %eax + 0x48, 0x8d, 0x0d, 0x5f, 0x22, 0x00, 0x00, //0x0000135a leaq $8799(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xf2, 0x0f, 0x59, 0x04, 0xc1, //0x00001361 mulsd (%rcx,%rax,8), %xmm0 + 0x66, 0x48, 0x0f, 0x7e, 0xc6, //0x00001366 movq %xmm0, %rsi + 0xe9, 0xec, 0x04, 0x00, 0x00, //0x0000136b jmp LBB0_328 + //0x00001370 LBB0_258 + 0x41, 0x8d, 0x86, 0x5c, 0x01, 0x00, 0x00, //0x00001370 leal $348(%r14), %eax + 0x4d, 0x85, 0xd2, //0x00001377 testq %r10, %r10 + 0x0f, 0x85, 0x48, 0xfc, 0xff, 0xff, //0x0000137a jne LBB0_210 + //0x00001380 LBB0_259 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001380 movl $64, %ecx + //0x00001385 LBB0_260 + 0x4c, 0x89, 0xd6, //0x00001385 movq %r10, %rsi + 0x48, 0x89, 0x4d, 0xa0, //0x00001388 movq %rcx, $-96(%rbp) + 0x48, 0xd3, 0xe6, //0x0000138c shlq %cl, %rsi + 0x89, 0xc0, //0x0000138f movl %eax, %eax + 0x48, 0xc1, 0xe0, 0x04, //0x00001391 shlq $4, %rax + 0x48, 0x8d, 0x0d, 0xe4, 0x22, 0x00, 0x00, //0x00001395 leaq $8932(%rip), %rcx /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0x89, 0x45, 0xb0, //0x0000139c movq %rax, $-80(%rbp) + 0x48, 0x8b, 0x44, 0x08, 0x08, //0x000013a0 movq $8(%rax,%rcx), %rax + 0x48, 0x89, 0x45, 0x98, //0x000013a5 movq %rax, $-104(%rbp) + 0x48, 0xf7, 0xe6, //0x000013a9 mulq %rsi + 0x48, 0x89, 0xc7, //0x000013ac movq %rax, %rdi + 0x48, 0x89, 0xd3, //0x000013af movq %rdx, %rbx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x000013b2 andl $511, %edx + 0x48, 0x89, 0xf1, //0x000013b8 movq %rsi, %rcx + 0x48, 0xf7, 0xd1, //0x000013bb notq %rcx + 0x48, 0x39, 0xc8, //0x000013be cmpq %rcx, %rax + 0x0f, 0x86, 0x4c, 0x00, 0x00, 0x00, //0x000013c1 jbe LBB0_265 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x000013c7 cmpl $511, %edx + 0x0f, 0x85, 0x40, 0x00, 0x00, 0x00, //0x000013cd jne LBB0_265 + 0x48, 0x89, 0xf0, //0x000013d3 movq %rsi, %rax + 0x48, 0x8b, 0x55, 0xb0, //0x000013d6 movq $-80(%rbp), %rdx + 0x48, 0x8d, 0x35, 0x9f, 0x22, 0x00, 0x00, //0x000013da leaq $8863(%rip), %rsi /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0xf7, 0x24, 0x32, //0x000013e1 mulq (%rdx,%rsi) + 0x48, 0x01, 0xd7, //0x000013e5 addq %rdx, %rdi + 0x48, 0x83, 0xd3, 0x00, //0x000013e8 adcq $0, %rbx + 0x89, 0xda, //0x000013ec movl %ebx, %edx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x000013ee andl $511, %edx + 0x48, 0x39, 0xc8, //0x000013f4 cmpq %rcx, %rax + 0x0f, 0x86, 0x16, 0x00, 0x00, 0x00, //0x000013f7 jbe LBB0_265 + 0x48, 0x83, 0xff, 0xff, //0x000013fd cmpq $-1, %rdi + 0x0f, 0x85, 0x0c, 0x00, 0x00, 0x00, //0x00001401 jne LBB0_265 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x00001407 cmpl $511, %edx + 0x0f, 0x84, 0x76, 0x00, 0x00, 0x00, //0x0000140d je LBB0_268 + //0x00001413 LBB0_265 + 0x48, 0x89, 0xd8, //0x00001413 movq %rbx, %rax + 0x48, 0xc1, 0xe8, 0x3f, //0x00001416 shrq $63, %rax + 0x8d, 0x48, 0x09, //0x0000141a leal $9(%rax), %ecx + 0x48, 0xd3, 0xeb, //0x0000141d shrq %cl, %rbx + 0x48, 0x09, 0xfa, //0x00001420 orq %rdi, %rdx + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x00001423 jne LBB0_267 + 0x89, 0xd9, //0x00001429 movl %ebx, %ecx + 0x83, 0xe1, 0x03, //0x0000142b andl $3, %ecx + 0x83, 0xf9, 0x01, //0x0000142e cmpl $1, %ecx + 0x0f, 0x84, 0x52, 0x00, 0x00, 0x00, //0x00001431 je LBB0_268 + //0x00001437 LBB0_267 + 0x41, 0x69, 0xce, 0x6a, 0x52, 0x03, 0x00, //0x00001437 imull $217706, %r14d, %ecx + 0xc1, 0xf9, 0x10, //0x0000143e sarl $16, %ecx + 0x81, 0xc1, 0x3f, 0x04, 0x00, 0x00, //0x00001441 addl $1087, %ecx + 0x4c, 0x63, 0xf1, //0x00001447 movslq %ecx, %r14 + 0x4c, 0x89, 0xf2, //0x0000144a movq %r14, %rdx + 0x48, 0x2b, 0x55, 0xa0, //0x0000144d subq $-96(%rbp), %rdx + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, //0x00001451 movabsq $126100789566373888, %rdi + 0x48, 0x83, 0xf0, 0x01, //0x0000145b xorq $1, %rax + 0x48, 0x29, 0xc2, //0x0000145f subq %rax, %rdx + 0x89, 0xd8, //0x00001462 movl %ebx, %eax + 0x83, 0xe0, 0x01, //0x00001464 andl $1, %eax + 0x48, 0x01, 0xd8, //0x00001467 addq %rbx, %rax + 0x48, 0x89, 0xc1, //0x0000146a movq %rax, %rcx + 0x48, 0x21, 0xf9, //0x0000146d andq %rdi, %rcx + 0x48, 0x83, 0xf9, 0x01, //0x00001470 cmpq $1, %rcx + 0x48, 0x83, 0xda, 0xff, //0x00001474 sbbq $-1, %rdx + 0x48, 0x8d, 0x72, 0xff, //0x00001478 leaq $-1(%rdx), %rsi + 0x48, 0x81, 0xfe, 0xfd, 0x07, 0x00, 0x00, //0x0000147c cmpq $2045, %rsi + 0x0f, 0x86, 0x63, 0x00, 0x00, 0x00, //0x00001483 jbe LBB0_273 + //0x00001489 LBB0_268 + 0x4c, 0x89, 0xd8, //0x00001489 movq %r11, %rax + 0x4c, 0x29, 0xf8, //0x0000148c subq %r15, %rax + 0x48, 0x8b, 0x4d, 0xa8, //0x0000148f movq $-88(%rbp), %rcx + 0x48, 0x85, 0xc9, //0x00001493 testq %rcx, %rcx + 0x4c, 0x89, 0xc6, //0x00001496 movq %r8, %rsi + 0x0f, 0x84, 0xd0, 0x01, 0x00, 0x00, //0x00001499 je LBB0_290 + 0x41, 0xc6, 0x04, 0x24, 0x00, //0x0000149f movb $0, (%r12) + 0x48, 0x83, 0xf9, 0x01, //0x000014a4 cmpq $1, %rcx + 0x0f, 0x84, 0xc1, 0x01, 0x00, 0x00, //0x000014a8 je LBB0_290 + 0x48, 0x8d, 0x51, 0xff, //0x000014ae leaq $-1(%rcx), %rdx + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000014b2 movl $1, %ecx + 0x48, 0x83, 0xfa, 0x20, //0x000014b7 cmpq $32, %rdx + 0x0f, 0x82, 0x99, 0x01, 0x00, 0x00, //0x000014bb jb LBB0_288 + 0x48, 0x89, 0xd1, //0x000014c1 movq %rdx, %rcx + 0x48, 0x83, 0xe1, 0xe0, //0x000014c4 andq $-32, %rcx + 0x48, 0x8d, 0x71, 0xe0, //0x000014c8 leaq $-32(%rcx), %rsi + 0x48, 0x89, 0xf7, //0x000014cc movq %rsi, %rdi + 0x48, 0xc1, 0xef, 0x05, //0x000014cf shrq $5, %rdi + 0x48, 0xff, 0xc7, //0x000014d3 incq %rdi + 0x89, 0xfb, //0x000014d6 movl %edi, %ebx + 0x83, 0xe3, 0x03, //0x000014d8 andl $3, %ebx + 0x48, 0x83, 0xfe, 0x60, //0x000014db cmpq $96, %rsi + 0x0f, 0x83, 0xe2, 0x00, 0x00, 0x00, //0x000014df jae LBB0_281 + 0x31, 0xff, //0x000014e5 xorl %edi, %edi + 0xe9, 0x2d, 0x01, 0x00, 0x00, //0x000014e7 jmp LBB0_283 + //0x000014ec LBB0_273 + 0x48, 0x83, 0xf9, 0x01, //0x000014ec cmpq $1, %rcx + 0xb1, 0x02, //0x000014f0 movb $2, %cl + 0x80, 0xd9, 0x00, //0x000014f2 sbbb $0, %cl + 0x48, 0xd3, 0xe8, //0x000014f5 shrq %cl, %rax + 0x48, 0xc1, 0xe2, 0x34, //0x000014f8 shlq $52, %rdx + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000014fc movabsq $4503599627370495, %rcx + 0x48, 0x21, 0xc8, //0x00001506 andq %rcx, %rax + 0x48, 0x09, 0xd0, //0x00001509 orq %rdx, %rax + 0x48, 0x89, 0xc6, //0x0000150c movq %rax, %rsi + 0x4c, 0x09, 0xce, //0x0000150f orq %r9, %rsi + 0x83, 0x7d, 0xc8, 0xff, //0x00001512 cmpl $-1, $-56(%rbp) + 0x48, 0x0f, 0x45, 0xf0, //0x00001516 cmovneq %rax, %rsi + 0x83, 0x7d, 0xb8, 0x00, //0x0000151a cmpl $0, $-72(%rbp) + 0x0f, 0x84, 0x38, 0x03, 0x00, 0x00, //0x0000151e je LBB0_328 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00001524 movl $64, %ecx + 0x49, 0xff, 0xc2, //0x00001529 incq %r10 + 0x0f, 0x84, 0x08, 0x00, 0x00, 0x00, //0x0000152c je LBB0_276 + 0x49, 0x0f, 0xbd, 0xca, //0x00001532 bsrq %r10, %rcx + 0x48, 0x83, 0xf1, 0x3f, //0x00001536 xorq $63, %rcx + //0x0000153a LBB0_276 + 0x48, 0x89, 0x4d, 0xa0, //0x0000153a movq %rcx, $-96(%rbp) + 0x49, 0xd3, 0xe2, //0x0000153e shlq %cl, %r10 + 0x48, 0x8b, 0x45, 0x98, //0x00001541 movq $-104(%rbp), %rax + 0x49, 0xf7, 0xe2, //0x00001545 mulq %r10 + 0x48, 0x89, 0xd3, //0x00001548 movq %rdx, %rbx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x0000154b andl $511, %edx + 0x4c, 0x89, 0xd1, //0x00001551 movq %r10, %rcx + 0x48, 0xf7, 0xd1, //0x00001554 notq %rcx + 0x48, 0x89, 0x45, 0xb8, //0x00001557 movq %rax, $-72(%rbp) + 0x48, 0x39, 0xc8, //0x0000155b cmpq %rcx, %rax + 0x0f, 0x86, 0xb9, 0x0a, 0x00, 0x00, //0x0000155e jbe LBB0_629 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x00001564 cmpl $511, %edx + 0x0f, 0x85, 0xad, 0x0a, 0x00, 0x00, //0x0000156a jne LBB0_629 + 0x4c, 0x89, 0xd0, //0x00001570 movq %r10, %rax + 0x48, 0x8b, 0x55, 0xb0, //0x00001573 movq $-80(%rbp), %rdx + 0x48, 0x8d, 0x3d, 0x02, 0x21, 0x00, 0x00, //0x00001577 leaq $8450(%rip), %rdi /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0xf7, 0x24, 0x3a, //0x0000157e mulq (%rdx,%rdi) + 0x48, 0x8b, 0x7d, 0xb8, //0x00001582 movq $-72(%rbp), %rdi + 0x48, 0x01, 0xd7, //0x00001586 addq %rdx, %rdi + 0x48, 0x83, 0xd3, 0x00, //0x00001589 adcq $0, %rbx + 0x89, 0xda, //0x0000158d movl %ebx, %edx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x0000158f andl $511, %edx + 0x48, 0x39, 0xc8, //0x00001595 cmpq %rcx, %rax + 0x48, 0x89, 0x7d, 0xb8, //0x00001598 movq %rdi, $-72(%rbp) + 0x0f, 0x86, 0x71, 0x0a, 0x00, 0x00, //0x0000159c jbe LBB0_628 + 0x48, 0x83, 0xff, 0xff, //0x000015a2 cmpq $-1, %rdi + 0x0f, 0x85, 0x67, 0x0a, 0x00, 0x00, //0x000015a6 jne LBB0_628 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x000015ac cmpl $511, %edx + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, //0x000015b2 movabsq $126100789566373888, %rdi + 0x0f, 0x84, 0xc7, 0xfe, 0xff, 0xff, //0x000015bc je LBB0_268 + 0xe9, 0x56, 0x0a, 0x00, 0x00, //0x000015c2 jmp LBB0_629 + //0x000015c7 LBB0_281 + 0x48, 0x89, 0xde, //0x000015c7 movq %rbx, %rsi + 0x48, 0x29, 0xfe, //0x000015ca subq %rdi, %rsi + 0x31, 0xff, //0x000015cd xorl %edi, %edi + 0x66, 0x0f, 0x57, 0xc0, //0x000015cf xorpd %xmm0, %xmm0 + //0x000015d3 LBB0_282 + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x3c, 0x01, //0x000015d3 movupd %xmm0, $1(%r12,%rdi) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x3c, 0x11, //0x000015da movupd %xmm0, $17(%r12,%rdi) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x3c, 0x21, //0x000015e1 movupd %xmm0, $33(%r12,%rdi) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x3c, 0x31, //0x000015e8 movupd %xmm0, $49(%r12,%rdi) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x3c, 0x41, //0x000015ef movupd %xmm0, $65(%r12,%rdi) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x3c, 0x51, //0x000015f6 movupd %xmm0, $81(%r12,%rdi) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x3c, 0x61, //0x000015fd movupd %xmm0, $97(%r12,%rdi) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x3c, 0x71, //0x00001604 movupd %xmm0, $113(%r12,%rdi) + 0x48, 0x83, 0xef, 0x80, //0x0000160b subq $-128, %rdi + 0x48, 0x83, 0xc6, 0x04, //0x0000160f addq $4, %rsi + 0x0f, 0x85, 0xba, 0xff, 0xff, 0xff, //0x00001613 jne LBB0_282 + //0x00001619 LBB0_283 + 0x48, 0x85, 0xdb, //0x00001619 testq %rbx, %rbx + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x0000161c je LBB0_286 + 0x48, 0xf7, 0xdb, //0x00001622 negq %rbx + 0x66, 0x0f, 0x57, 0xc0, //0x00001625 xorpd %xmm0, %xmm0 + //0x00001629 LBB0_285 + 0x48, 0x89, 0xfe, //0x00001629 movq %rdi, %rsi + 0x48, 0x83, 0xce, 0x01, //0x0000162c orq $1, %rsi + 0x66, 0x41, 0x0f, 0x11, 0x04, 0x34, //0x00001630 movupd %xmm0, (%r12,%rsi) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x34, 0x10, //0x00001636 movupd %xmm0, $16(%r12,%rsi) + 0x48, 0x83, 0xc7, 0x20, //0x0000163d addq $32, %rdi + 0x48, 0xff, 0xc3, //0x00001641 incq %rbx + 0x0f, 0x85, 0xdf, 0xff, 0xff, 0xff, //0x00001644 jne LBB0_285 + //0x0000164a LBB0_286 + 0x48, 0x39, 0xca, //0x0000164a cmpq %rcx, %rdx + 0x4c, 0x89, 0xc6, //0x0000164d movq %r8, %rsi + 0x0f, 0x84, 0x19, 0x00, 0x00, 0x00, //0x00001650 je LBB0_290 + 0x48, 0x83, 0xc9, 0x01, //0x00001656 orq $1, %rcx + //0x0000165a LBB0_288 + 0x48, 0x8b, 0x55, 0xa8, //0x0000165a movq $-88(%rbp), %rdx + //0x0000165e LBB0_289 + 0x41, 0xc6, 0x04, 0x0c, 0x00, //0x0000165e movb $0, (%r12,%rcx) + 0x48, 0xff, 0xc1, //0x00001663 incq %rcx + 0x48, 0x39, 0xca, //0x00001666 cmpq %rcx, %rdx + 0x0f, 0x85, 0xef, 0xff, 0xff, 0xff, //0x00001669 jne LBB0_289 + //0x0000166f LBB0_290 + 0x8a, 0x16, //0x0000166f movb (%rsi), %dl + 0x31, 0xc9, //0x00001671 xorl %ecx, %ecx + 0x80, 0xfa, 0x2d, //0x00001673 cmpb $45, %dl + 0x0f, 0x94, 0xc1, //0x00001676 sete %cl + 0x45, 0x31, 0xc9, //0x00001679 xorl %r9d, %r9d + 0x48, 0x39, 0xc8, //0x0000167c cmpq %rcx, %rax + 0x0f, 0x8e, 0x9a, 0x00, 0x00, 0x00, //0x0000167f jle LBB0_303 + 0x88, 0x55, 0xa0, //0x00001685 movb %dl, $-96(%rbp) + 0x4c, 0x89, 0x5d, 0xb0, //0x00001688 movq %r11, $-80(%rbp) + 0xb2, 0x01, //0x0000168c movb $1, %dl + 0x45, 0x31, 0xdb, //0x0000168e xorl %r11d, %r11d + 0x45, 0x31, 0xf6, //0x00001691 xorl %r14d, %r14d + 0x31, 0xdb, //0x00001694 xorl %ebx, %ebx + 0x45, 0x31, 0xd2, //0x00001696 xorl %r10d, %r10d + 0xe9, 0x22, 0x00, 0x00, 0x00, //0x00001699 jmp LBB0_295 + //0x0000169e LBB0_292 + 0x40, 0x80, 0xff, 0x30, //0x0000169e cmpb $48, %dil + 0xba, 0x01, 0x00, 0x00, 0x00, //0x000016a2 movl $1, %edx + 0x44, 0x0f, 0x45, 0xf2, //0x000016a7 cmovnel %edx, %r14d + //0x000016ab LBB0_293 + 0x44, 0x89, 0xdb, //0x000016ab movl %r11d, %ebx + //0x000016ae LBB0_294 + 0x48, 0xff, 0xc1, //0x000016ae incq %rcx + 0x48, 0x39, 0xc1, //0x000016b1 cmpq %rax, %rcx + 0x0f, 0x9c, 0xc2, //0x000016b4 setl %dl + 0x48, 0x39, 0xc8, //0x000016b7 cmpq %rcx, %rax + 0x0f, 0x84, 0x70, 0x00, 0x00, 0x00, //0x000016ba je LBB0_304 + //0x000016c0 LBB0_295 + 0x41, 0x0f, 0xb6, 0x3c, 0x08, //0x000016c0 movzbl (%r8,%rcx), %edi + 0x8d, 0x77, 0xd0, //0x000016c5 leal $-48(%rdi), %esi + 0x40, 0x80, 0xfe, 0x09, //0x000016c8 cmpb $9, %sil + 0x0f, 0x87, 0x1c, 0x00, 0x00, 0x00, //0x000016cc ja LBB0_299 + 0x85, 0xdb, //0x000016d2 testl %ebx, %ebx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000016d4 jne LBB0_301 + 0x40, 0x80, 0xff, 0x30, //0x000016da cmpb $48, %dil + 0x0f, 0x85, 0x22, 0x00, 0x00, 0x00, //0x000016de jne LBB0_301 + 0x41, 0xff, 0xc9, //0x000016e4 decl %r9d + 0x31, 0xdb, //0x000016e7 xorl %ebx, %ebx + 0xe9, 0xc0, 0xff, 0xff, 0xff, //0x000016e9 jmp LBB0_294 + //0x000016ee LBB0_299 + 0x40, 0x80, 0xff, 0x2e, //0x000016ee cmpb $46, %dil + 0x0f, 0x85, 0x44, 0x00, 0x00, 0x00, //0x000016f2 jne LBB0_305 + 0x41, 0x89, 0xd9, //0x000016f8 movl %ebx, %r9d + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x000016fb movl $1, %r10d + 0xe9, 0xa8, 0xff, 0xff, 0xff, //0x00001701 jmp LBB0_294 + //0x00001706 LBB0_301 + 0x49, 0x63, 0xd3, //0x00001706 movslq %r11d, %rdx + 0x48, 0x39, 0x55, 0xa8, //0x00001709 cmpq %rdx, $-88(%rbp) + 0x0f, 0x86, 0x8b, 0xff, 0xff, 0xff, //0x0000170d jbe LBB0_292 + 0x41, 0x88, 0x3c, 0x14, //0x00001713 movb %dil, (%r12,%rdx) + 0x41, 0xff, 0xc3, //0x00001717 incl %r11d + 0xe9, 0x8c, 0xff, 0xff, 0xff, //0x0000171a jmp LBB0_293 + //0x0000171f LBB0_303 + 0x31, 0xff, //0x0000171f xorl %edi, %edi + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001721 movabsq $4503599627370495, %rcx + 0xe9, 0x0f, 0x01, 0x00, 0x00, //0x0000172b jmp LBB0_327 + //0x00001730 LBB0_304 + 0x45, 0x85, 0xd2, //0x00001730 testl %r10d, %r10d + 0x45, 0x0f, 0x44, 0xcb, //0x00001733 cmovel %r11d, %r9d + 0xe9, 0xad, 0x00, 0x00, 0x00, //0x00001737 jmp LBB0_319 + //0x0000173c LBB0_305 + 0x45, 0x85, 0xd2, //0x0000173c testl %r10d, %r10d + 0x45, 0x0f, 0x44, 0xcb, //0x0000173f cmovel %r11d, %r9d + 0xf6, 0xc2, 0x01, //0x00001743 testb $1, %dl + 0x0f, 0x84, 0x9d, 0x00, 0x00, 0x00, //0x00001746 je LBB0_319 + 0x40, 0x80, 0xcf, 0x20, //0x0000174c orb $32, %dil + 0x40, 0x80, 0xff, 0x65, //0x00001750 cmpb $101, %dil + 0x0f, 0x85, 0x8f, 0x00, 0x00, 0x00, //0x00001754 jne LBB0_319 + 0x48, 0x8d, 0x71, 0x01, //0x0000175a leaq $1(%rcx), %rsi + 0x89, 0xf2, //0x0000175e movl %esi, %edx + 0x41, 0x8a, 0x14, 0x10, //0x00001760 movb (%r8,%rdx), %dl + 0x80, 0xfa, 0x2b, //0x00001764 cmpb $43, %dl + 0x0f, 0x84, 0x16, 0x00, 0x00, 0x00, //0x00001767 je LBB0_310 + 0x80, 0xfa, 0x2d, //0x0000176d cmpb $45, %dl + 0x0f, 0x85, 0x1c, 0x00, 0x00, 0x00, //0x00001770 jne LBB0_312 + 0x83, 0xc1, 0x02, //0x00001776 addl $2, %ecx + 0xba, 0xff, 0xff, 0xff, 0xff, //0x00001779 movl $-1, %edx + 0xe9, 0x08, 0x00, 0x00, 0x00, //0x0000177e jmp LBB0_311 + //0x00001783 LBB0_310 + 0x83, 0xc1, 0x02, //0x00001783 addl $2, %ecx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001786 movl $1, %edx + //0x0000178b LBB0_311 + 0x89, 0xce, //0x0000178b movl %ecx, %esi + 0xe9, 0x05, 0x00, 0x00, 0x00, //0x0000178d jmp LBB0_313 + //0x00001792 LBB0_312 + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001792 movl $1, %edx + //0x00001797 LBB0_313 + 0x48, 0x63, 0xf6, //0x00001797 movslq %esi, %rsi + 0x31, 0xc9, //0x0000179a xorl %ecx, %ecx + 0x48, 0x39, 0xf0, //0x0000179c cmpq %rsi, %rax + 0x0f, 0x8e, 0x3b, 0x00, 0x00, 0x00, //0x0000179f jle LBB0_318 + 0x49, 0x01, 0xf7, //0x000017a5 addq %rsi, %r15 + 0x31, 0xc9, //0x000017a8 xorl %ecx, %ecx + //0x000017aa LBB0_315 + 0x81, 0xf9, 0x0f, 0x27, 0x00, 0x00, //0x000017aa cmpl $9999, %ecx + 0x0f, 0x8f, 0x2a, 0x00, 0x00, 0x00, //0x000017b0 jg LBB0_318 + 0x48, 0x8b, 0x45, 0xc0, //0x000017b6 movq $-64(%rbp), %rax + 0x42, 0x0f, 0xb6, 0x04, 0x38, //0x000017ba movzbl (%rax,%r15), %eax + 0x8d, 0x70, 0xd0, //0x000017bf leal $-48(%rax), %esi + 0x40, 0x80, 0xfe, 0x09, //0x000017c2 cmpb $9, %sil + 0x0f, 0x87, 0x14, 0x00, 0x00, 0x00, //0x000017c6 ja LBB0_318 + 0x8d, 0x0c, 0x89, //0x000017cc leal (%rcx,%rcx,4), %ecx + 0x8d, 0x4c, 0x48, 0xd0, //0x000017cf leal $-48(%rax,%rcx,2), %ecx + 0x49, 0xff, 0xc7, //0x000017d3 incq %r15 + 0x4c, 0x39, 0x7d, 0xb0, //0x000017d6 cmpq %r15, $-80(%rbp) + 0x0f, 0x85, 0xca, 0xff, 0xff, 0xff, //0x000017da jne LBB0_315 + //0x000017e0 LBB0_318 + 0x0f, 0xaf, 0xca, //0x000017e0 imull %edx, %ecx + 0x44, 0x01, 0xc9, //0x000017e3 addl %r9d, %ecx + 0x41, 0x89, 0xc9, //0x000017e6 movl %ecx, %r9d + //0x000017e9 LBB0_319 + 0x45, 0x85, 0xdb, //0x000017e9 testl %r11d, %r11d + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000017ec movabsq $4503599627370495, %rcx + 0x4c, 0x8b, 0x7d, 0xa8, //0x000017f6 movq $-88(%rbp), %r15 + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x000017fa je LBB0_322 + 0x31, 0xff, //0x00001800 xorl %edi, %edi + 0x41, 0x81, 0xf9, 0x36, 0x01, 0x00, 0x00, //0x00001802 cmpl $310, %r9d + 0x0f, 0x8e, 0x19, 0x00, 0x00, 0x00, //0x00001809 jle LBB0_323 + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x0000180f movabsq $9218868437227405312, %r9 + 0xe9, 0x1a, 0x00, 0x00, 0x00, //0x00001819 jmp LBB0_325 + //0x0000181e LBB0_322 + 0x45, 0x31, 0xc9, //0x0000181e xorl %r9d, %r9d + 0x31, 0xff, //0x00001821 xorl %edi, %edi + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00001823 jmp LBB0_325 + //0x00001828 LBB0_323 + 0x41, 0x81, 0xf9, 0xb6, 0xfe, 0xff, 0xff, //0x00001828 cmpl $-330, %r9d + 0x0f, 0x8d, 0x51, 0x00, 0x00, 0x00, //0x0000182f jge LBB0_331 + 0x45, 0x31, 0xc9, //0x00001835 xorl %r9d, %r9d + //0x00001838 LBB0_325 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00001838 movq $-80(%rbp), %r11 + //0x0000183c LBB0_326 + 0x8a, 0x55, 0xa0, //0x0000183c movb $-96(%rbp), %dl + //0x0000183f LBB0_327 + 0x48, 0x21, 0xcf, //0x0000183f andq %rcx, %rdi + 0x4c, 0x09, 0xcf, //0x00001842 orq %r9, %rdi + 0x48, 0x89, 0xfe, //0x00001845 movq %rdi, %rsi + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001848 movabsq $-9223372036854775808, %r9 + 0x4c, 0x09, 0xce, //0x00001852 orq %r9, %rsi + 0x80, 0xfa, 0x2d, //0x00001855 cmpb $45, %dl + 0x48, 0x0f, 0x45, 0xf7, //0x00001858 cmovneq %rdi, %rsi + //0x0000185c LBB0_328 + 0x49, 0xff, 0xc9, //0x0000185c decq %r9 + 0x49, 0x21, 0xf1, //0x0000185f andq %rsi, %r9 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00001862 movabsq $9218868437227405312, %rax + 0x49, 0x39, 0xc1, //0x0000186c cmpq %rax, %r9 + 0x0f, 0x85, 0x08, 0x00, 0x00, 0x00, //0x0000186f jne LBB0_330 + 0x49, 0xc7, 0x45, 0x00, 0xf8, 0xff, 0xff, 0xff, //0x00001875 movq $-8, (%r13) + //0x0000187d LBB0_330 + 0x49, 0x89, 0x75, 0x08, //0x0000187d movq %rsi, $8(%r13) + 0xe9, 0x69, 0xea, 0xff, 0xff, //0x00001881 jmp LBB0_38 + //0x00001886 LBB0_331 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, //0x00001886 movabsq $1152921504606846975, %r10 + 0x45, 0x85, 0xc9, //0x00001890 testl %r9d, %r9d + 0x4c, 0x89, 0x6d, 0xd0, //0x00001893 movq %r13, $-48(%rbp) + 0x0f, 0x8e, 0x6e, 0x07, 0x00, 0x00, //0x00001897 jle LBB0_447 + 0x31, 0xff, //0x0000189d xorl %edi, %edi + 0x44, 0x89, 0xd8, //0x0000189f movl %r11d, %eax + 0xe9, 0x14, 0x00, 0x00, 0x00, //0x000018a2 jmp LBB0_335 + //0x000018a7 LBB0_333 + 0x89, 0xc6, //0x000018a7 movl %eax, %esi + //0x000018a9 LBB0_334 + 0x48, 0x8b, 0x7d, 0xc0, //0x000018a9 movq $-64(%rbp), %rdi + 0x03, 0x7d, 0xb8, //0x000018ad addl $-72(%rbp), %edi + 0x89, 0xf0, //0x000018b0 movl %esi, %eax + 0x45, 0x85, 0xc9, //0x000018b2 testl %r9d, %r9d + 0x0f, 0x8e, 0x54, 0x08, 0x00, 0x00, //0x000018b5 jle LBB0_457 + //0x000018bb LBB0_335 + 0xb9, 0x1b, 0x00, 0x00, 0x00, //0x000018bb movl $27, %ecx + 0x41, 0x83, 0xf9, 0x08, //0x000018c0 cmpl $8, %r9d + 0x0f, 0x8f, 0x0d, 0x00, 0x00, 0x00, //0x000018c4 jg LBB0_337 + 0x44, 0x89, 0xc9, //0x000018ca movl %r9d, %ecx + 0x48, 0x8d, 0x15, 0x3c, 0x49, 0x00, 0x00, //0x000018cd leaq $18748(%rip), %rdx /* _POW_TAB+0(%rip) */ + 0x8b, 0x0c, 0x8a, //0x000018d4 movl (%rdx,%rcx,4), %ecx + //0x000018d7 LBB0_337 + 0x48, 0x89, 0x7d, 0xc0, //0x000018d7 movq %rdi, $-64(%rbp) + 0x85, 0xc0, //0x000018db testl %eax, %eax + 0x89, 0x4d, 0xb8, //0x000018dd movl %ecx, $-72(%rbp) + 0x0f, 0x84, 0xc1, 0xff, 0xff, 0xff, //0x000018e0 je LBB0_333 + 0x41, 0x89, 0xc8, //0x000018e6 movl %ecx, %r8d + 0x41, 0xf7, 0xd8, //0x000018e9 negl %r8d + 0x85, 0xc9, //0x000018ec testl %ecx, %ecx + 0x0f, 0x84, 0xb3, 0xff, 0xff, 0xff, //0x000018ee je LBB0_333 + 0x0f, 0x88, 0x88, 0x01, 0x00, 0x00, //0x000018f4 js LBB0_364 + //0x000018fa LBB0_340 + 0x41, 0x83, 0xf8, 0xc3, //0x000018fa cmpl $-61, %r8d + 0x0f, 0x8e, 0x21, 0x00, 0x00, 0x00, //0x000018fe jle LBB0_344 + 0xe9, 0x89, 0x03, 0x00, 0x00, //0x00001904 jmp LBB0_394 + //0x00001909 LBB0_341 + 0xff, 0xc8, //0x00001909 decl %eax + 0x41, 0x89, 0xc3, //0x0000190b movl %eax, %r11d + //0x0000190e LBB0_342 + 0x45, 0x85, 0xdb, //0x0000190e testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x00001911 cmovel %r11d, %r9d + //0x00001915 LBB0_343 + 0x44, 0x8d, 0x41, 0x3c, //0x00001915 leal $60(%rcx), %r8d + 0x44, 0x89, 0xd8, //0x00001919 movl %r11d, %eax + 0x83, 0xf9, 0x88, //0x0000191c cmpl $-120, %ecx + 0x0f, 0x8d, 0x5e, 0x03, 0x00, 0x00, //0x0000191f jge LBB0_393 + //0x00001925 LBB0_344 + 0x44, 0x89, 0xc1, //0x00001925 movl %r8d, %ecx + 0x48, 0x63, 0xf8, //0x00001928 movslq %eax, %rdi + 0x31, 0xf6, //0x0000192b xorl %esi, %esi + 0x31, 0xd2, //0x0000192d xorl %edx, %edx + 0x90, //0x0000192f .p2align 4, 0x90 + //0x00001930 LBB0_345 + 0x48, 0x39, 0xfe, //0x00001930 cmpq %rdi, %rsi + 0x0f, 0x8d, 0x23, 0x00, 0x00, 0x00, //0x00001933 jge LBB0_347 + 0x48, 0x8d, 0x14, 0x92, //0x00001939 leaq (%rdx,%rdx,4), %rdx + 0x49, 0x0f, 0xbe, 0x1c, 0x34, //0x0000193d movsbq (%r12,%rsi), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x00001942 leaq $-48(%rbx,%rdx,2), %rdx + 0x48, 0xff, 0xc6, //0x00001947 incq %rsi + 0x49, 0x8d, 0x5a, 0x01, //0x0000194a leaq $1(%r10), %rbx + 0x48, 0x39, 0xda, //0x0000194e cmpq %rbx, %rdx + 0x0f, 0x82, 0xd9, 0xff, 0xff, 0xff, //0x00001951 jb LBB0_345 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00001957 jmp LBB0_349 + //0x0000195c LBB0_347 + 0x48, 0x85, 0xd2, //0x0000195c testq %rdx, %rdx + 0x0f, 0x84, 0x15, 0x01, 0x00, 0x00, //0x0000195f je LBB0_362 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001965 .p2align 4, 0x90 + //0x00001970 LBB0_348 + 0x48, 0x01, 0xd2, //0x00001970 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001973 leaq (%rdx,%rdx,4), %rdx + 0xff, 0xc6, //0x00001977 incl %esi + 0x49, 0x8d, 0x7a, 0x01, //0x00001979 leaq $1(%r10), %rdi + 0x48, 0x39, 0xfa, //0x0000197d cmpq %rdi, %rdx + 0x0f, 0x82, 0xea, 0xff, 0xff, 0xff, //0x00001980 jb LBB0_348 + //0x00001986 LBB0_349 + 0x41, 0x29, 0xf1, //0x00001986 subl %esi, %r9d + 0x31, 0xff, //0x00001989 xorl %edi, %edi + 0x39, 0xc6, //0x0000198b cmpl %eax, %esi + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x0000198d jge LBB0_354 + 0x48, 0x63, 0xc6, //0x00001993 movslq %esi, %rax + 0x49, 0x63, 0xf3, //0x00001996 movslq %r11d, %rsi + 0x49, 0x8d, 0x3c, 0x04, //0x00001999 leaq (%r12,%rax), %rdi + 0x45, 0x31, 0xdb, //0x0000199d xorl %r11d, %r11d + //0x000019a0 .p2align 4, 0x90 + //0x000019a0 LBB0_351 + 0x48, 0x89, 0xd3, //0x000019a0 movq %rdx, %rbx + 0x48, 0xc1, 0xeb, 0x3c, //0x000019a3 shrq $60, %rbx + 0x4c, 0x21, 0xd2, //0x000019a7 andq %r10, %rdx + 0x80, 0xcb, 0x30, //0x000019aa orb $48, %bl + 0x43, 0x88, 0x1c, 0x1c, //0x000019ad movb %bl, (%r12,%r11) + 0x48, 0x8d, 0x14, 0x92, //0x000019b1 leaq (%rdx,%rdx,4), %rdx + 0x4a, 0x0f, 0xbe, 0x1c, 0x1f, //0x000019b5 movsbq (%rdi,%r11), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x000019ba leaq $-48(%rbx,%rdx,2), %rdx + 0x4a, 0x8d, 0x5c, 0x18, 0x01, //0x000019bf leaq $1(%rax,%r11), %rbx + 0x49, 0xff, 0xc3, //0x000019c4 incq %r11 + 0x48, 0x39, 0xf3, //0x000019c7 cmpq %rsi, %rbx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x000019ca jl LBB0_351 + 0x48, 0x85, 0xd2, //0x000019d0 testq %rdx, %rdx + 0x0f, 0x84, 0x64, 0x00, 0x00, 0x00, //0x000019d3 je LBB0_358 + 0x44, 0x89, 0xdf, //0x000019d9 movl %r11d, %edi + //0x000019dc LBB0_354 + 0x41, 0x89, 0xfb, //0x000019dc movl %edi, %r11d + 0xe9, 0x28, 0x00, 0x00, 0x00, //0x000019df jmp LBB0_356 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000019e4 .p2align 4, 0x90 + //0x000019f0 LBB0_355 + 0x48, 0x85, 0xc0, //0x000019f0 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000019f3 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000019f8 cmovnel %eax, %r14d + 0x48, 0x01, 0xd2, //0x000019fc addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x000019ff leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00001a03 testq %rdx, %rdx + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x00001a06 je LBB0_358 + //0x00001a0c LBB0_356 + 0x48, 0x89, 0xd0, //0x00001a0c movq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x3c, //0x00001a0f shrq $60, %rax + 0x4c, 0x21, 0xd2, //0x00001a13 andq %r10, %rdx + 0x49, 0x63, 0xf3, //0x00001a16 movslq %r11d, %rsi + 0x49, 0x39, 0xf7, //0x00001a19 cmpq %rsi, %r15 + 0x0f, 0x86, 0xce, 0xff, 0xff, 0xff, //0x00001a1c jbe LBB0_355 + 0x0c, 0x30, //0x00001a22 orb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00001a24 movb %al, (%r12,%rsi) + 0xff, 0xc6, //0x00001a28 incl %esi + 0x41, 0x89, 0xf3, //0x00001a2a movl %esi, %r11d + 0x48, 0x01, 0xd2, //0x00001a2d addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001a30 leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00001a34 testq %rdx, %rdx + 0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x00001a37 jne LBB0_356 + //0x00001a3d LBB0_358 + 0x41, 0xff, 0xc1, //0x00001a3d incl %r9d + 0x45, 0x85, 0xdb, //0x00001a40 testl %r11d, %r11d + 0x0f, 0x8e, 0xc5, 0xfe, 0xff, 0xff, //0x00001a43 jle LBB0_342 + 0x44, 0x89, 0xd8, //0x00001a49 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001a4c cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0xbd, 0xfe, 0xff, 0xff, //0x00001a52 jne LBB0_343 + //0x00001a58 LBB0_360 + 0x48, 0x83, 0xf8, 0x01, //0x00001a58 cmpq $1, %rax + 0x0f, 0x8e, 0xa7, 0xfe, 0xff, 0xff, //0x00001a5c jle LBB0_341 + 0x4c, 0x8d, 0x58, 0xff, //0x00001a62 leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001a66 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00001a6c movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001a6f je LBB0_360 + 0xe9, 0x9b, 0xfe, 0xff, 0xff, //0x00001a75 jmp LBB0_343 + //0x00001a7a LBB0_362 + 0x45, 0x31, 0xdb, //0x00001a7a xorl %r11d, %r11d + 0xe9, 0x93, 0xfe, 0xff, 0xff, //0x00001a7d jmp LBB0_343 + //0x00001a82 LBB0_364 + 0x83, 0x7d, 0xb8, 0xc3, //0x00001a82 cmpl $-61, $-72(%rbp) + 0x0f, 0x8f, 0x67, 0x03, 0x00, 0x00, //0x00001a86 jg LBB0_415 + 0x4c, 0x8d, 0x2d, 0xad, 0x47, 0x00, 0x00, //0x00001a8c leaq $18349(%rip), %r13 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x00001a93 jmp LBB0_369 + //0x00001a98 LBB0_366 + 0xff, 0xc8, //0x00001a98 decl %eax + 0x41, 0x89, 0xc3, //0x00001a9a movl %eax, %r11d + //0x00001a9d LBB0_367 + 0x45, 0x85, 0xdb, //0x00001a9d testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x00001aa0 cmovel %r11d, %r9d + //0x00001aa4 LBB0_368 + 0x48, 0x8b, 0x4d, 0xc8, //0x00001aa4 movq $-56(%rbp), %rcx + 0x44, 0x8d, 0x41, 0xc4, //0x00001aa8 leal $-60(%rcx), %r8d + 0x44, 0x89, 0xd8, //0x00001aac movl %r11d, %eax + 0x83, 0xf9, 0x78, //0x00001aaf cmpl $120, %ecx + 0x0f, 0x8e, 0x28, 0x03, 0x00, 0x00, //0x00001ab2 jle LBB0_414 + //0x00001ab8 LBB0_369 + 0x4c, 0x89, 0x45, 0xc8, //0x00001ab8 movq %r8, $-56(%rbp) + 0x48, 0x63, 0xd8, //0x00001abc movslq %eax, %rbx + 0x85, 0xdb, //0x00001abf testl %ebx, %ebx + 0x0f, 0x84, 0x3b, 0x00, 0x00, 0x00, //0x00001ac1 je LBB0_375 + 0xb2, 0x38, //0x00001ac7 movb $56, %dl + 0x31, 0xc9, //0x00001ac9 xorl %ecx, %ecx + //0x00001acb LBB0_371 + 0x41, 0xb8, 0x13, 0x00, 0x00, 0x00, //0x00001acb movl $19, %r8d + 0x48, 0x83, 0xf9, 0x2a, //0x00001ad1 cmpq $42, %rcx + 0x0f, 0x84, 0x2d, 0x00, 0x00, 0x00, //0x00001ad5 je LBB0_376 + 0x41, 0x38, 0x14, 0x0c, //0x00001adb cmpb %dl, (%r12,%rcx) + 0x0f, 0x85, 0x93, 0x01, 0x00, 0x00, //0x00001adf jne LBB0_392 + 0x42, 0x0f, 0xb6, 0x94, 0x29, 0x65, 0x18, 0x00, 0x00, //0x00001ae5 movzbl $6245(%rcx,%r13), %edx + 0x48, 0xff, 0xc1, //0x00001aee incq %rcx + 0x48, 0x39, 0xcb, //0x00001af1 cmpq %rcx, %rbx + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x00001af4 jne LBB0_371 + 0x84, 0xd2, //0x00001afa testb %dl, %dl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00001afc je LBB0_376 + //0x00001b02 LBB0_375 + 0x41, 0xb8, 0x12, 0x00, 0x00, 0x00, //0x00001b02 movl $18, %r8d + //0x00001b08 LBB0_376 + 0x85, 0xc0, //0x00001b08 testl %eax, %eax + 0x0f, 0x8e, 0x1e, 0x01, 0x00, 0x00, //0x00001b0a jle LBB0_388 + 0x4d, 0x89, 0xcd, //0x00001b10 movq %r9, %r13 + 0x44, 0x01, 0xc0, //0x00001b13 addl %r8d, %eax + 0x48, 0x98, //0x00001b16 cltq + 0x48, 0x89, 0xc7, //0x00001b18 movq %rax, %rdi + 0x48, 0xc1, 0xe7, 0x20, //0x00001b1b shlq $32, %rdi + 0x48, 0xff, 0xc8, //0x00001b1f decq %rax + 0x48, 0xff, 0xc3, //0x00001b22 incq %rbx + 0x31, 0xc9, //0x00001b25 xorl %ecx, %ecx + 0xe9, 0x2e, 0x00, 0x00, 0x00, //0x00001b27 jmp LBB0_380 + 0x90, 0x90, 0x90, 0x90, //0x00001b2c .p2align 4, 0x90 + //0x00001b30 LBB0_378 + 0x48, 0x85, 0xc0, //0x00001b30 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001b33 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001b38 cmovnel %eax, %r14d + //0x00001b3c LBB0_379 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00001b3c movabsq $-4294967296, %rax + 0x48, 0x01, 0xc7, //0x00001b46 addq %rax, %rdi + 0x49, 0x8d, 0x41, 0xff, //0x00001b49 leaq $-1(%r9), %rax + 0x48, 0xff, 0xcb, //0x00001b4d decq %rbx + 0x48, 0x83, 0xfb, 0x01, //0x00001b50 cmpq $1, %rbx + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00001b54 jle LBB0_382 + //0x00001b5a LBB0_380 + 0x49, 0x89, 0xc1, //0x00001b5a movq %rax, %r9 + 0x41, 0x0f, 0xb6, 0x74, 0x1c, 0xfe, //0x00001b5d movzbl $-2(%r12,%rbx), %esi + 0x48, 0xc1, 0xe6, 0x3c, //0x00001b63 shlq $60, %rsi + 0x48, 0x01, 0xce, //0x00001b67 addq %rcx, %rsi + 0x48, 0x89, 0xf0, //0x00001b6a movq %rsi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001b6d movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00001b77 mulq %rcx + 0x48, 0x89, 0xd1, //0x00001b7a movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x00001b7d shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00001b81 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00001b85 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf0, //0x00001b89 movq %rsi, %rax + 0x48, 0x29, 0xd0, //0x00001b8c subq %rdx, %rax + 0x4d, 0x39, 0xf9, //0x00001b8f cmpq %r15, %r9 + 0x0f, 0x83, 0x98, 0xff, 0xff, 0xff, //0x00001b92 jae LBB0_378 + 0x04, 0x30, //0x00001b98 addb $48, %al + 0x43, 0x88, 0x04, 0x0c, //0x00001b9a movb %al, (%r12,%r9) + 0xe9, 0x99, 0xff, 0xff, 0xff, //0x00001b9e jmp LBB0_379 + //0x00001ba3 LBB0_382 + 0x48, 0x83, 0xfe, 0x0a, //0x00001ba3 cmpq $10, %rsi + 0x0f, 0x83, 0x0f, 0x00, 0x00, 0x00, //0x00001ba7 jae LBB0_384 + 0x4d, 0x89, 0xe9, //0x00001bad movq %r13, %r9 + 0x4c, 0x8d, 0x2d, 0x89, 0x46, 0x00, 0x00, //0x00001bb0 leaq $18057(%rip), %r13 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x72, 0x00, 0x00, 0x00, //0x00001bb7 jmp LBB0_388 + //0x00001bbc LBB0_384 + 0x49, 0x63, 0xf1, //0x00001bbc movslq %r9d, %rsi + 0x48, 0xff, 0xce, //0x00001bbf decq %rsi + 0x4d, 0x89, 0xe9, //0x00001bc2 movq %r13, %r9 + 0x4c, 0x8d, 0x2d, 0x74, 0x46, 0x00, 0x00, //0x00001bc5 leaq $18036(%rip), %r13 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x1c, 0x00, 0x00, 0x00, //0x00001bcc jmp LBB0_386 + //0x00001bd1 LBB0_385 + 0x48, 0x85, 0xc0, //0x00001bd1 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001bd4 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001bd9 cmovnel %eax, %r14d + 0x48, 0xff, 0xce, //0x00001bdd decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00001be0 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00001be4 movq %rdx, %rcx + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x00001be7 jbe LBB0_388 + //0x00001bed LBB0_386 + 0x48, 0x89, 0xc8, //0x00001bed movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001bf0 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001bfa mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00001bfd shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00001c01 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00001c05 leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xc8, //0x00001c09 movq %rcx, %rax + 0x48, 0x29, 0xf8, //0x00001c0c subq %rdi, %rax + 0x4c, 0x39, 0xfe, //0x00001c0f cmpq %r15, %rsi + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x00001c12 jae LBB0_385 + 0x04, 0x30, //0x00001c18 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00001c1a movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x00001c1e decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00001c21 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00001c25 movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00001c28 ja LBB0_386 + //0x00001c2e LBB0_388 + 0x45, 0x01, 0xc3, //0x00001c2e addl %r8d, %r11d + 0x4d, 0x63, 0xdb, //0x00001c31 movslq %r11d, %r11 + 0x4d, 0x39, 0xdf, //0x00001c34 cmpq %r11, %r15 + 0x45, 0x0f, 0x46, 0xdf, //0x00001c37 cmovbel %r15d, %r11d + 0x45, 0x01, 0xc1, //0x00001c3b addl %r8d, %r9d + 0x45, 0x85, 0xdb, //0x00001c3e testl %r11d, %r11d + 0x0f, 0x8e, 0x56, 0xfe, 0xff, 0xff, //0x00001c41 jle LBB0_367 + 0x44, 0x89, 0xd8, //0x00001c47 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001c4a cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x4e, 0xfe, 0xff, 0xff, //0x00001c50 jne LBB0_368 + //0x00001c56 LBB0_390 + 0x48, 0x83, 0xf8, 0x01, //0x00001c56 cmpq $1, %rax + 0x0f, 0x8e, 0x38, 0xfe, 0xff, 0xff, //0x00001c5a jle LBB0_366 + 0x4c, 0x8d, 0x58, 0xff, //0x00001c60 leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001c64 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00001c6a movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001c6d je LBB0_390 + 0xe9, 0x2c, 0xfe, 0xff, 0xff, //0x00001c73 jmp LBB0_368 + //0x00001c78 LBB0_392 + 0x0f, 0x8c, 0x84, 0xfe, 0xff, 0xff, //0x00001c78 jl LBB0_375 + 0xe9, 0x85, 0xfe, 0xff, 0xff, //0x00001c7e jmp LBB0_376 + //0x00001c83 LBB0_393 + 0x44, 0x89, 0xd8, //0x00001c83 movl %r11d, %eax + 0x44, 0x89, 0xde, //0x00001c86 movl %r11d, %esi + 0x45, 0x85, 0xc0, //0x00001c89 testl %r8d, %r8d + 0x0f, 0x84, 0x17, 0xfc, 0xff, 0xff, //0x00001c8c je LBB0_334 + //0x00001c92 LBB0_394 + 0x41, 0xf7, 0xd8, //0x00001c92 negl %r8d + 0x48, 0x63, 0xf8, //0x00001c95 movslq %eax, %rdi + 0x31, 0xf6, //0x00001c98 xorl %esi, %esi + 0x31, 0xd2, //0x00001c9a xorl %edx, %edx + //0x00001c9c LBB0_395 + 0x48, 0x39, 0xfe, //0x00001c9c cmpq %rdi, %rsi + 0x0f, 0x8d, 0x12, 0x01, 0x00, 0x00, //0x00001c9f jge LBB0_411 + 0x48, 0x8d, 0x0c, 0x92, //0x00001ca5 leaq (%rdx,%rdx,4), %rcx + 0x49, 0x0f, 0xbe, 0x14, 0x34, //0x00001ca9 movsbq (%r12,%rsi), %rdx + 0x48, 0x8d, 0x54, 0x4a, 0xd0, //0x00001cae leaq $-48(%rdx,%rcx,2), %rdx + 0x48, 0xff, 0xc6, //0x00001cb3 incq %rsi + 0x48, 0x89, 0xd3, //0x00001cb6 movq %rdx, %rbx + 0x44, 0x89, 0xc1, //0x00001cb9 movl %r8d, %ecx + 0x48, 0xd3, 0xeb, //0x00001cbc shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00001cbf testq %rbx, %rbx + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x00001cc2 je LBB0_395 + //0x00001cc8 LBB0_397 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00001cc8 movq $-1, %rbx + 0x44, 0x89, 0xc1, //0x00001ccf movl %r8d, %ecx + 0x48, 0xd3, 0xe3, //0x00001cd2 shlq %cl, %rbx + 0x48, 0xf7, 0xd3, //0x00001cd5 notq %rbx + 0x31, 0xff, //0x00001cd8 xorl %edi, %edi + 0x39, 0xc6, //0x00001cda cmpl %eax, %esi + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x00001cdc jge LBB0_401 + 0x4c, 0x89, 0x4d, 0xc8, //0x00001ce2 movq %r9, $-56(%rbp) + 0x4c, 0x63, 0xee, //0x00001ce6 movslq %esi, %r13 + 0x4d, 0x63, 0xcb, //0x00001ce9 movslq %r11d, %r9 + 0x4f, 0x8d, 0x1c, 0x2c, //0x00001cec leaq (%r12,%r13), %r11 + 0x31, 0xff, //0x00001cf0 xorl %edi, %edi + //0x00001cf2 LBB0_399 + 0x48, 0x89, 0xd0, //0x00001cf2 movq %rdx, %rax + 0x44, 0x89, 0xc1, //0x00001cf5 movl %r8d, %ecx + 0x48, 0xd3, 0xe8, //0x00001cf8 shrq %cl, %rax + 0x48, 0x21, 0xda, //0x00001cfb andq %rbx, %rdx + 0x04, 0x30, //0x00001cfe addb $48, %al + 0x41, 0x88, 0x04, 0x3c, //0x00001d00 movb %al, (%r12,%rdi) + 0x48, 0x8d, 0x04, 0x92, //0x00001d04 leaq (%rdx,%rdx,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x3b, //0x00001d08 movsbq (%r11,%rdi), %rcx + 0x48, 0x8d, 0x54, 0x41, 0xd0, //0x00001d0d leaq $-48(%rcx,%rax,2), %rdx + 0x49, 0x8d, 0x44, 0x3d, 0x01, //0x00001d12 leaq $1(%r13,%rdi), %rax + 0x48, 0xff, 0xc7, //0x00001d17 incq %rdi + 0x4c, 0x39, 0xc8, //0x00001d1a cmpq %r9, %rax + 0x0f, 0x8c, 0xcf, 0xff, 0xff, 0xff, //0x00001d1d jl LBB0_399 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00001d23 movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xc8, //0x00001d27 movq $-56(%rbp), %r9 + //0x00001d2b LBB0_401 + 0x41, 0x29, 0xf1, //0x00001d2b subl %esi, %r9d + 0x41, 0x89, 0xfb, //0x00001d2e movl %edi, %r11d + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00001d31 jmp LBB0_404 + //0x00001d36 LBB0_402 + 0x48, 0x85, 0xc0, //0x00001d36 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001d39 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001d3e cmovnel %eax, %r14d + //0x00001d42 LBB0_403 + 0x48, 0x01, 0xd2, //0x00001d42 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001d45 leaq (%rdx,%rdx,4), %rdx + //0x00001d49 LBB0_404 + 0x48, 0x85, 0xd2, //0x00001d49 testq %rdx, %rdx + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x00001d4c je LBB0_407 + 0x48, 0x89, 0xd0, //0x00001d52 movq %rdx, %rax + 0x44, 0x89, 0xc1, //0x00001d55 movl %r8d, %ecx + 0x48, 0xd3, 0xe8, //0x00001d58 shrq %cl, %rax + 0x48, 0x21, 0xda, //0x00001d5b andq %rbx, %rdx + 0x49, 0x63, 0xcb, //0x00001d5e movslq %r11d, %rcx + 0x49, 0x39, 0xcf, //0x00001d61 cmpq %rcx, %r15 + 0x0f, 0x86, 0xcc, 0xff, 0xff, 0xff, //0x00001d64 jbe LBB0_402 + 0x04, 0x30, //0x00001d6a addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x00001d6c movb %al, (%r12,%rcx) + 0xff, 0xc1, //0x00001d70 incl %ecx + 0x41, 0x89, 0xcb, //0x00001d72 movl %ecx, %r11d + 0xe9, 0xc8, 0xff, 0xff, 0xff, //0x00001d75 jmp LBB0_403 + //0x00001d7a LBB0_407 + 0x41, 0xff, 0xc1, //0x00001d7a incl %r9d + 0x45, 0x85, 0xdb, //0x00001d7d testl %r11d, %r11d + 0x0f, 0x8e, 0x49, 0x02, 0x00, 0x00, //0x00001d80 jle LBB0_441 + 0x44, 0x89, 0xd8, //0x00001d86 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001d89 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x43, 0x02, 0x00, 0x00, //0x00001d8f jne LBB0_442 + //0x00001d95 LBB0_409 + 0x48, 0x83, 0xf8, 0x01, //0x00001d95 cmpq $1, %rax + 0x0f, 0x8e, 0x2b, 0x02, 0x00, 0x00, //0x00001d99 jle LBB0_440 + 0x4c, 0x8d, 0x58, 0xff, //0x00001d9f leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001da3 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00001da9 movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001dac je LBB0_409 + 0xe9, 0x21, 0x02, 0x00, 0x00, //0x00001db2 jmp LBB0_442 + //0x00001db7 LBB0_411 + 0x48, 0x85, 0xd2, //0x00001db7 testq %rdx, %rdx + 0x0f, 0x84, 0x3e, 0x01, 0x00, 0x00, //0x00001dba je LBB0_430 + //0x00001dc0 LBB0_412 + 0x48, 0x89, 0xd7, //0x00001dc0 movq %rdx, %rdi + 0x44, 0x89, 0xc1, //0x00001dc3 movl %r8d, %ecx + 0x48, 0xd3, 0xef, //0x00001dc6 shrq %cl, %rdi + 0x48, 0x85, 0xff, //0x00001dc9 testq %rdi, %rdi + 0x0f, 0x85, 0xf6, 0xfe, 0xff, 0xff, //0x00001dcc jne LBB0_397 + 0x48, 0x01, 0xd2, //0x00001dd2 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001dd5 leaq (%rdx,%rdx,4), %rdx + 0xff, 0xc6, //0x00001dd9 incl %esi + 0xe9, 0xe0, 0xff, 0xff, 0xff, //0x00001ddb jmp LBB0_412 + //0x00001de0 LBB0_414 + 0x44, 0x89, 0xd8, //0x00001de0 movl %r11d, %eax + 0x44, 0x89, 0xde, //0x00001de3 movl %r11d, %esi + 0x45, 0x85, 0xc0, //0x00001de6 testl %r8d, %r8d + 0x4c, 0x8b, 0x6d, 0xd0, //0x00001de9 movq $-48(%rbp), %r13 + 0x0f, 0x84, 0xb6, 0xfa, 0xff, 0xff, //0x00001ded je LBB0_334 + //0x00001df3 LBB0_415 + 0x44, 0x89, 0xc1, //0x00001df3 movl %r8d, %ecx + 0x48, 0x6b, 0xf1, 0x68, //0x00001df6 imulq $104, %rcx, %rsi + 0x48, 0x8d, 0x3d, 0x3f, 0x44, 0x00, 0x00, //0x00001dfa leaq $17471(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0x8b, 0x1c, 0x3e, //0x00001e01 movl (%rsi,%rdi), %ebx + 0x4c, 0x63, 0xe8, //0x00001e04 movslq %eax, %r13 + 0x8a, 0x54, 0x3e, 0x04, //0x00001e07 movb $4(%rsi,%rdi), %dl + 0x45, 0x85, 0xed, //0x00001e0b testl %r13d, %r13d + 0x4c, 0x89, 0x4d, 0xc8, //0x00001e0e movq %r9, $-56(%rbp) + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00001e12 je LBB0_420 + 0x48, 0x8d, 0x74, 0x3e, 0x05, //0x00001e18 leaq $5(%rsi,%rdi), %rsi + 0x31, 0xff, //0x00001e1d xorl %edi, %edi + //0x00001e1f LBB0_417 + 0x84, 0xd2, //0x00001e1f testb %dl, %dl + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x00001e21 je LBB0_422 + 0x41, 0x38, 0x14, 0x3c, //0x00001e27 cmpb %dl, (%r12,%rdi) + 0x0f, 0x85, 0xaf, 0x01, 0x00, 0x00, //0x00001e2b jne LBB0_443 + 0x0f, 0xb6, 0x14, 0x3e, //0x00001e31 movzbl (%rsi,%rdi), %edx + 0x48, 0xff, 0xc7, //0x00001e35 incq %rdi + 0x49, 0x39, 0xfd, //0x00001e38 cmpq %rdi, %r13 + 0x0f, 0x85, 0xde, 0xff, 0xff, 0xff, //0x00001e3b jne LBB0_417 + //0x00001e41 LBB0_420 + 0x84, 0xd2, //0x00001e41 testb %dl, %dl + 0x0f, 0x84, 0x02, 0x00, 0x00, 0x00, //0x00001e43 je LBB0_422 + //0x00001e49 LBB0_421 + 0xff, 0xcb, //0x00001e49 decl %ebx + //0x00001e4b LBB0_422 + 0x85, 0xc0, //0x00001e4b testl %eax, %eax + 0x0f, 0x8e, 0xb5, 0x00, 0x00, 0x00, //0x00001e4d jle LBB0_431 + 0x89, 0x5d, 0x98, //0x00001e53 movl %ebx, $-104(%rbp) + 0x01, 0xd8, //0x00001e56 addl %ebx, %eax + 0x48, 0x98, //0x00001e58 cltq + 0x49, 0x89, 0xc1, //0x00001e5a movq %rax, %r9 + 0x49, 0xc1, 0xe1, 0x20, //0x00001e5d shlq $32, %r9 + 0x48, 0xff, 0xc8, //0x00001e61 decq %rax + 0x49, 0xff, 0xc5, //0x00001e64 incq %r13 + 0x31, 0xf6, //0x00001e67 xorl %esi, %esi + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00001e69 jmp LBB0_426 + //0x00001e6e LBB0_424 + 0x48, 0x85, 0xc0, //0x00001e6e testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001e71 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001e76 cmovnel %eax, %r14d + //0x00001e7a LBB0_425 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00001e7a movabsq $-4294967296, %rax + 0x49, 0x01, 0xc1, //0x00001e84 addq %rax, %r9 + 0x48, 0x8d, 0x47, 0xff, //0x00001e87 leaq $-1(%rdi), %rax + 0x49, 0xff, 0xcd, //0x00001e8b decq %r13 + 0x49, 0x83, 0xfd, 0x01, //0x00001e8e cmpq $1, %r13 + 0x0f, 0x8e, 0x4c, 0x00, 0x00, 0x00, //0x00001e92 jle LBB0_428 + //0x00001e98 LBB0_426 + 0x48, 0x89, 0xc7, //0x00001e98 movq %rax, %rdi + 0x4b, 0x0f, 0xbe, 0x5c, 0x2c, 0xfe, //0x00001e9b movsbq $-2(%r12,%r13), %rbx + 0x48, 0x83, 0xc3, 0xd0, //0x00001ea1 addq $-48, %rbx + 0x48, 0xd3, 0xe3, //0x00001ea5 shlq %cl, %rbx + 0x48, 0x01, 0xf3, //0x00001ea8 addq %rsi, %rbx + 0x48, 0x89, 0xd8, //0x00001eab movq %rbx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001eae movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001eb8 mulq %rdx + 0x48, 0x89, 0xd6, //0x00001ebb movq %rdx, %rsi + 0x48, 0xc1, 0xee, 0x03, //0x00001ebe shrq $3, %rsi + 0x48, 0x8d, 0x04, 0x36, //0x00001ec2 leaq (%rsi,%rsi), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00001ec6 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x00001eca movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x00001ecd subq %rdx, %rax + 0x4c, 0x39, 0xff, //0x00001ed0 cmpq %r15, %rdi + 0x0f, 0x83, 0x95, 0xff, 0xff, 0xff, //0x00001ed3 jae LBB0_424 + 0x04, 0x30, //0x00001ed9 addb $48, %al + 0x41, 0x88, 0x04, 0x3c, //0x00001edb movb %al, (%r12,%rdi) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x00001edf jmp LBB0_425 + //0x00001ee4 LBB0_428 + 0x48, 0x83, 0xfb, 0x0a, //0x00001ee4 cmpq $10, %rbx + 0x4c, 0x8b, 0x6d, 0xd0, //0x00001ee8 movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xc8, //0x00001eec movq $-56(%rbp), %r9 + 0x0f, 0x83, 0x1f, 0x00, 0x00, 0x00, //0x00001ef0 jae LBB0_432 + 0x8b, 0x5d, 0x98, //0x00001ef6 movl $-104(%rbp), %ebx + 0xe9, 0x82, 0x00, 0x00, 0x00, //0x00001ef9 jmp LBB0_436 + //0x00001efe LBB0_430 + 0x45, 0x31, 0xdb, //0x00001efe xorl %r11d, %r11d + 0x31, 0xf6, //0x00001f01 xorl %esi, %esi + 0xe9, 0xa1, 0xf9, 0xff, 0xff, //0x00001f03 jmp LBB0_334 + //0x00001f08 LBB0_431 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00001f08 movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xc8, //0x00001f0c movq $-56(%rbp), %r9 + 0xe9, 0x6b, 0x00, 0x00, 0x00, //0x00001f10 jmp LBB0_436 + //0x00001f15 LBB0_432 + 0x48, 0x63, 0xcf, //0x00001f15 movslq %edi, %rcx + 0x48, 0xff, 0xc9, //0x00001f18 decq %rcx + 0x8b, 0x5d, 0x98, //0x00001f1b movl $-104(%rbp), %ebx + 0xe9, 0x1c, 0x00, 0x00, 0x00, //0x00001f1e jmp LBB0_434 + //0x00001f23 LBB0_433 + 0x48, 0x85, 0xc0, //0x00001f23 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001f26 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001f2b cmovnel %eax, %r14d + 0x48, 0xff, 0xc9, //0x00001f2f decq %rcx + 0x48, 0x83, 0xfe, 0x09, //0x00001f32 cmpq $9, %rsi + 0x48, 0x89, 0xd6, //0x00001f36 movq %rdx, %rsi + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x00001f39 jbe LBB0_436 + //0x00001f3f LBB0_434 + 0x48, 0x89, 0xf0, //0x00001f3f movq %rsi, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001f42 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001f4c mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00001f4f shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00001f53 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00001f57 leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xf0, //0x00001f5b movq %rsi, %rax + 0x48, 0x29, 0xf8, //0x00001f5e subq %rdi, %rax + 0x4c, 0x39, 0xf9, //0x00001f61 cmpq %r15, %rcx + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x00001f64 jae LBB0_433 + 0x04, 0x30, //0x00001f6a addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x00001f6c movb %al, (%r12,%rcx) + 0x48, 0xff, 0xc9, //0x00001f70 decq %rcx + 0x48, 0x83, 0xfe, 0x09, //0x00001f73 cmpq $9, %rsi + 0x48, 0x89, 0xd6, //0x00001f77 movq %rdx, %rsi + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00001f7a ja LBB0_434 + //0x00001f80 LBB0_436 + 0x41, 0x01, 0xdb, //0x00001f80 addl %ebx, %r11d + 0x4d, 0x63, 0xdb, //0x00001f83 movslq %r11d, %r11 + 0x4d, 0x39, 0xdf, //0x00001f86 cmpq %r11, %r15 + 0x45, 0x0f, 0x46, 0xdf, //0x00001f89 cmovbel %r15d, %r11d + 0x41, 0x01, 0xd9, //0x00001f8d addl %ebx, %r9d + 0x45, 0x85, 0xdb, //0x00001f90 testl %r11d, %r11d + 0x0f, 0x8e, 0x57, 0x00, 0x00, 0x00, //0x00001f93 jle LBB0_445 + 0x44, 0x89, 0xd8, //0x00001f99 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001f9c cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x4f, 0x00, 0x00, 0x00, //0x00001fa2 jne LBB0_446 + //0x00001fa8 LBB0_438 + 0x48, 0x83, 0xf8, 0x01, //0x00001fa8 cmpq $1, %rax + 0x0f, 0x8e, 0x39, 0x00, 0x00, 0x00, //0x00001fac jle LBB0_444 + 0x4c, 0x8d, 0x58, 0xff, //0x00001fb2 leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001fb6 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00001fbc movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001fbf je LBB0_438 + 0xe9, 0x2d, 0x00, 0x00, 0x00, //0x00001fc5 jmp LBB0_446 + //0x00001fca LBB0_440 + 0xff, 0xc8, //0x00001fca decl %eax + 0x41, 0x89, 0xc3, //0x00001fcc movl %eax, %r11d + //0x00001fcf LBB0_441 + 0x45, 0x85, 0xdb, //0x00001fcf testl %r11d, %r11d + 0x0f, 0x84, 0x17, 0x01, 0x00, 0x00, //0x00001fd2 je LBB0_454 + //0x00001fd8 LBB0_442 + 0x44, 0x89, 0xde, //0x00001fd8 movl %r11d, %esi + 0xe9, 0xc9, 0xf8, 0xff, 0xff, //0x00001fdb jmp LBB0_334 + //0x00001fe0 LBB0_443 + 0x0f, 0x8c, 0x63, 0xfe, 0xff, 0xff, //0x00001fe0 jl LBB0_421 + 0xe9, 0x60, 0xfe, 0xff, 0xff, //0x00001fe6 jmp LBB0_422 + //0x00001feb LBB0_444 + 0xff, 0xc8, //0x00001feb decl %eax + 0x41, 0x89, 0xc3, //0x00001fed movl %eax, %r11d + //0x00001ff0 LBB0_445 + 0x45, 0x85, 0xdb, //0x00001ff0 testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x00001ff3 cmovel %r11d, %r9d + //0x00001ff7 LBB0_446 + 0x44, 0x89, 0xd8, //0x00001ff7 movl %r11d, %eax + 0x44, 0x89, 0xde, //0x00001ffa movl %r11d, %esi + 0x45, 0x85, 0xc0, //0x00001ffd testl %r8d, %r8d + 0x0f, 0x89, 0xa3, 0xf8, 0xff, 0xff, //0x00002000 jns LBB0_334 + 0xe9, 0xef, 0xf8, 0xff, 0xff, //0x00002006 jmp LBB0_340 + //0x0000200b LBB0_447 + 0x44, 0x89, 0xde, //0x0000200b movl %r11d, %esi + 0xe9, 0xfc, 0x00, 0x00, 0x00, //0x0000200e jmp LBB0_457 + //0x00002013 LBB0_628 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, //0x00002013 movabsq $126100789566373888, %rdi + //0x0000201d LBB0_629 + 0x48, 0x89, 0xd8, //0x0000201d movq %rbx, %rax + 0x48, 0xc1, 0xe8, 0x3f, //0x00002020 shrq $63, %rax + 0x8d, 0x48, 0x09, //0x00002024 leal $9(%rax), %ecx + 0x48, 0xd3, 0xeb, //0x00002027 shrq %cl, %rbx + 0x48, 0x0b, 0x55, 0xb8, //0x0000202a orq $-72(%rbp), %rdx + 0x0f, 0x85, 0x0e, 0x00, 0x00, 0x00, //0x0000202e jne LBB0_631 + 0x89, 0xd9, //0x00002034 movl %ebx, %ecx + 0x83, 0xe1, 0x03, //0x00002036 andl $3, %ecx + 0x83, 0xf9, 0x01, //0x00002039 cmpl $1, %ecx + 0x0f, 0x84, 0x47, 0xf4, 0xff, 0xff, //0x0000203c je LBB0_268 + //0x00002042 LBB0_631 + 0x4c, 0x2b, 0x75, 0xa0, //0x00002042 subq $-96(%rbp), %r14 + 0x48, 0x83, 0xf0, 0x01, //0x00002046 xorq $1, %rax + 0x49, 0x29, 0xc6, //0x0000204a subq %rax, %r14 + 0x89, 0xd8, //0x0000204d movl %ebx, %eax + 0x83, 0xe0, 0x01, //0x0000204f andl $1, %eax + 0x48, 0x01, 0xd8, //0x00002052 addq %rbx, %rax + 0x48, 0x21, 0xc7, //0x00002055 andq %rax, %rdi + 0x48, 0x83, 0xff, 0x01, //0x00002058 cmpq $1, %rdi + 0x49, 0x83, 0xde, 0xff, //0x0000205c sbbq $-1, %r14 + 0x49, 0x8d, 0x4e, 0xff, //0x00002060 leaq $-1(%r14), %rcx + 0x48, 0x81, 0xf9, 0xfd, 0x07, 0x00, 0x00, //0x00002064 cmpq $2045, %rcx + 0x0f, 0x87, 0x18, 0xf4, 0xff, 0xff, //0x0000206b ja LBB0_268 + 0x48, 0x83, 0xff, 0x01, //0x00002071 cmpq $1, %rdi + 0xb1, 0x02, //0x00002075 movb $2, %cl + 0x80, 0xd9, 0x00, //0x00002077 sbbb $0, %cl + 0x48, 0xd3, 0xe8, //0x0000207a shrq %cl, %rax + 0x49, 0xc1, 0xe6, 0x34, //0x0000207d shlq $52, %r14 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002081 movabsq $4503599627370495, %rcx + 0x48, 0x21, 0xc8, //0x0000208b andq %rcx, %rax + 0x4c, 0x09, 0xf0, //0x0000208e orq %r14, %rax + 0x48, 0x89, 0xc1, //0x00002091 movq %rax, %rcx + 0x4c, 0x09, 0xc9, //0x00002094 orq %r9, %rcx + 0x83, 0x7d, 0xc8, 0xff, //0x00002097 cmpl $-1, $-56(%rbp) + 0x48, 0x0f, 0x45, 0xc8, //0x0000209b cmovneq %rax, %rcx + 0x66, 0x48, 0x0f, 0x6e, 0xc6, //0x0000209f movq %rsi, %xmm0 + 0x66, 0x48, 0x0f, 0x6e, 0xc9, //0x000020a4 movq %rcx, %xmm1 + 0x66, 0x0f, 0x2e, 0xc1, //0x000020a9 ucomisd %xmm1, %xmm0 + 0x0f, 0x85, 0xd6, 0xf3, 0xff, 0xff, //0x000020ad jne LBB0_268 + 0x0f, 0x8b, 0xa3, 0xf7, 0xff, 0xff, //0x000020b3 jnp LBB0_328 + 0xe9, 0xcb, 0xf3, 0xff, 0xff, //0x000020b9 jmp LBB0_268 + //0x000020be LBB0_450 + 0x49, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000020be movq $-1, %r15 + 0xe9, 0x7b, 0xef, 0xff, 0xff, //0x000020c5 jmp LBB0_221 + //0x000020ca LBB0_452 + 0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000020ca movq $-1, %r14 + 0x49, 0x89, 0xda, //0x000020d1 movq %rbx, %r10 + 0x48, 0x89, 0xf0, //0x000020d4 movq %rsi, %rax + 0x49, 0xc7, 0xc4, 0xff, 0xff, 0xff, 0xff, //0x000020d7 movq $-1, %r12 + 0x48, 0xc7, 0x45, 0xa8, 0xff, 0xff, 0xff, 0xff, //0x000020de movq $-1, $-88(%rbp) + 0x4c, 0x8b, 0x6d, 0xd0, //0x000020e6 movq $-48(%rbp), %r13 + 0xe9, 0x40, 0xe4, 0xff, 0xff, //0x000020ea jmp LBB0_64 + //0x000020ef LBB0_454 + 0x8b, 0x45, 0xb8, //0x000020ef movl $-72(%rbp), %eax + 0x03, 0x45, 0xc0, //0x000020f2 addl $-64(%rbp), %eax + 0x45, 0x31, 0xc9, //0x000020f5 xorl %r9d, %r9d + 0x45, 0x31, 0xdb, //0x000020f8 xorl %r11d, %r11d + 0x31, 0xf6, //0x000020fb xorl %esi, %esi + 0x89, 0xc7, //0x000020fd movl %eax, %edi + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x000020ff jmp LBB0_457 + //0x00002104 LBB0_455 + 0x89, 0xf0, //0x00002104 movl %esi, %eax + //0x00002106 LBB0_456 + 0x48, 0x8b, 0x7d, 0xc0, //0x00002106 movq $-64(%rbp), %rdi + 0x2b, 0x7d, 0xb8, //0x0000210a subl $-72(%rbp), %edi + 0x89, 0xc6, //0x0000210d movl %eax, %esi + //0x0000210f LBB0_457 + 0x45, 0x85, 0xc9, //0x0000210f testl %r9d, %r9d + 0x0f, 0x88, 0x16, 0x00, 0x00, 0x00, //0x00002112 js LBB0_460 + 0x0f, 0x85, 0xaa, 0x07, 0x00, 0x00, //0x00002118 jne LBB0_573 + 0x41, 0x80, 0x3c, 0x24, 0x35, //0x0000211e cmpb $53, (%r12) + 0x0f, 0x8c, 0x14, 0x00, 0x00, 0x00, //0x00002123 jl LBB0_461 + 0xe9, 0x9a, 0x07, 0x00, 0x00, //0x00002129 jmp LBB0_573 + //0x0000212e LBB0_460 + 0xb8, 0x1b, 0x00, 0x00, 0x00, //0x0000212e movl $27, %eax + 0x41, 0x83, 0xf9, 0xf8, //0x00002133 cmpl $-8, %r9d + 0x0f, 0x8c, 0x11, 0x00, 0x00, 0x00, //0x00002137 jl LBB0_462 + //0x0000213d LBB0_461 + 0x44, 0x89, 0xc8, //0x0000213d movl %r9d, %eax + 0xf7, 0xd8, //0x00002140 negl %eax + 0x48, 0x98, //0x00002142 cltq + 0x48, 0x8d, 0x0d, 0xc5, 0x40, 0x00, 0x00, //0x00002144 leaq $16581(%rip), %rcx /* _POW_TAB+0(%rip) */ + 0x8b, 0x04, 0x81, //0x0000214b movl (%rcx,%rax,4), %eax + //0x0000214e LBB0_462 + 0x85, 0xf6, //0x0000214e testl %esi, %esi + 0x48, 0x89, 0x7d, 0xc0, //0x00002150 movq %rdi, $-64(%rbp) + 0x89, 0x45, 0xb8, //0x00002154 movl %eax, $-72(%rbp) + 0x0f, 0x84, 0xa7, 0xff, 0xff, 0xff, //0x00002157 je LBB0_455 + 0x85, 0xc0, //0x0000215d testl %eax, %eax + 0x0f, 0x84, 0x9f, 0xff, 0xff, 0xff, //0x0000215f je LBB0_455 + 0x0f, 0x8e, 0x32, 0x02, 0x00, 0x00, //0x00002165 jle LBB0_495 + 0x41, 0x89, 0xc0, //0x0000216b movl %eax, %r8d + 0x83, 0xf8, 0x3d, //0x0000216e cmpl $61, %eax + 0x0f, 0x8c, 0x41, 0x02, 0x00, 0x00, //0x00002171 jl LBB0_497 + 0x4c, 0x8d, 0x2d, 0xc2, 0x40, 0x00, 0x00, //0x00002177 leaq $16578(%rip), %r13 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x0000217e jmp LBB0_470 + //0x00002183 LBB0_467 + 0xff, 0xc8, //0x00002183 decl %eax + 0x41, 0x89, 0xc3, //0x00002185 movl %eax, %r11d + //0x00002188 LBB0_468 + 0x45, 0x85, 0xdb, //0x00002188 testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x0000218b cmovel %r11d, %r9d + //0x0000218f LBB0_469 + 0x48, 0x8b, 0x45, 0xc8, //0x0000218f movq $-56(%rbp), %rax + 0x44, 0x8d, 0x40, 0xc4, //0x00002193 leal $-60(%rax), %r8d + 0x44, 0x89, 0xde, //0x00002197 movl %r11d, %esi + 0x83, 0xf8, 0x78, //0x0000219a cmpl $120, %eax + 0x0f, 0x8e, 0x02, 0x02, 0x00, 0x00, //0x0000219d jle LBB0_496 + //0x000021a3 LBB0_470 + 0x4c, 0x89, 0x45, 0xc8, //0x000021a3 movq %r8, $-56(%rbp) + 0x48, 0x63, 0xde, //0x000021a7 movslq %esi, %rbx + 0x85, 0xdb, //0x000021aa testl %ebx, %ebx + 0x0f, 0x84, 0x45, 0x00, 0x00, 0x00, //0x000021ac je LBB0_476 + 0xb1, 0x38, //0x000021b2 movb $56, %cl + 0x31, 0xc0, //0x000021b4 xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000021b6 .p2align 4, 0x90 + //0x000021c0 LBB0_472 + 0x41, 0xb8, 0x13, 0x00, 0x00, 0x00, //0x000021c0 movl $19, %r8d + 0x48, 0x83, 0xf8, 0x2a, //0x000021c6 cmpq $42, %rax + 0x0f, 0x84, 0x2d, 0x00, 0x00, 0x00, //0x000021ca je LBB0_477 + 0x41, 0x38, 0x0c, 0x04, //0x000021d0 cmpb %cl, (%r12,%rax) + 0x0f, 0x85, 0xb8, 0x01, 0x00, 0x00, //0x000021d4 jne LBB0_493 + 0x42, 0x0f, 0xb6, 0x8c, 0x28, 0x65, 0x18, 0x00, 0x00, //0x000021da movzbl $6245(%rax,%r13), %ecx + 0x48, 0xff, 0xc0, //0x000021e3 incq %rax + 0x48, 0x39, 0xc3, //0x000021e6 cmpq %rax, %rbx + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x000021e9 jne LBB0_472 + 0x84, 0xc9, //0x000021ef testb %cl, %cl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x000021f1 je LBB0_477 + //0x000021f7 LBB0_476 + 0x41, 0xb8, 0x12, 0x00, 0x00, 0x00, //0x000021f7 movl $18, %r8d + //0x000021fd LBB0_477 + 0x85, 0xf6, //0x000021fd testl %esi, %esi + 0x0f, 0x8e, 0x38, 0x01, 0x00, 0x00, //0x000021ff jle LBB0_489 + 0x4d, 0x89, 0xcd, //0x00002205 movq %r9, %r13 + 0x44, 0x01, 0xc6, //0x00002208 addl %r8d, %esi + 0x48, 0x63, 0xc6, //0x0000220b movslq %esi, %rax + 0x48, 0x89, 0xc7, //0x0000220e movq %rax, %rdi + 0x48, 0xc1, 0xe7, 0x20, //0x00002211 shlq $32, %rdi + 0x48, 0xff, 0xc8, //0x00002215 decq %rax + 0x48, 0xff, 0xc3, //0x00002218 incq %rbx + 0x31, 0xc9, //0x0000221b xorl %ecx, %ecx + 0xe9, 0x38, 0x00, 0x00, 0x00, //0x0000221d jmp LBB0_481 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002222 .p2align 4, 0x90 + //0x00002230 LBB0_479 + 0x48, 0x85, 0xc0, //0x00002230 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00002233 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00002238 cmovnel %eax, %r14d + //0x0000223c LBB0_480 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000223c movabsq $-4294967296, %rax + 0x48, 0x01, 0xc7, //0x00002246 addq %rax, %rdi + 0x49, 0x8d, 0x41, 0xff, //0x00002249 leaq $-1(%r9), %rax + 0x48, 0xff, 0xcb, //0x0000224d decq %rbx + 0x48, 0x83, 0xfb, 0x01, //0x00002250 cmpq $1, %rbx + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00002254 jle LBB0_483 + //0x0000225a LBB0_481 + 0x49, 0x89, 0xc1, //0x0000225a movq %rax, %r9 + 0x41, 0x0f, 0xb6, 0x74, 0x1c, 0xfe, //0x0000225d movzbl $-2(%r12,%rbx), %esi + 0x48, 0xc1, 0xe6, 0x3c, //0x00002263 shlq $60, %rsi + 0x48, 0x01, 0xce, //0x00002267 addq %rcx, %rsi + 0x48, 0x89, 0xf0, //0x0000226a movq %rsi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x0000226d movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00002277 mulq %rcx + 0x48, 0x89, 0xd1, //0x0000227a movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x0000227d shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00002281 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00002285 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf0, //0x00002289 movq %rsi, %rax + 0x48, 0x29, 0xd0, //0x0000228c subq %rdx, %rax + 0x4d, 0x39, 0xf9, //0x0000228f cmpq %r15, %r9 + 0x0f, 0x83, 0x98, 0xff, 0xff, 0xff, //0x00002292 jae LBB0_479 + 0x04, 0x30, //0x00002298 addb $48, %al + 0x43, 0x88, 0x04, 0x0c, //0x0000229a movb %al, (%r12,%r9) + 0xe9, 0x99, 0xff, 0xff, 0xff, //0x0000229e jmp LBB0_480 + //0x000022a3 LBB0_483 + 0x48, 0x83, 0xfe, 0x0a, //0x000022a3 cmpq $10, %rsi + 0x0f, 0x83, 0x0f, 0x00, 0x00, 0x00, //0x000022a7 jae LBB0_485 + 0x4d, 0x89, 0xe9, //0x000022ad movq %r13, %r9 + 0x4c, 0x8d, 0x2d, 0x89, 0x3f, 0x00, 0x00, //0x000022b0 leaq $16265(%rip), %r13 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x81, 0x00, 0x00, 0x00, //0x000022b7 jmp LBB0_489 + //0x000022bc LBB0_485 + 0x49, 0x63, 0xf1, //0x000022bc movslq %r9d, %rsi + 0x48, 0xff, 0xce, //0x000022bf decq %rsi + 0x4d, 0x89, 0xe9, //0x000022c2 movq %r13, %r9 + 0x4c, 0x8d, 0x2d, 0x74, 0x3f, 0x00, 0x00, //0x000022c5 leaq $16244(%rip), %r13 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x2b, 0x00, 0x00, 0x00, //0x000022cc jmp LBB0_487 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000022d1 .p2align 4, 0x90 + //0x000022e0 LBB0_486 + 0x48, 0x85, 0xc0, //0x000022e0 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000022e3 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000022e8 cmovnel %eax, %r14d + 0x48, 0xff, 0xce, //0x000022ec decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x000022ef cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x000022f3 movq %rdx, %rcx + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x000022f6 jbe LBB0_489 + //0x000022fc LBB0_487 + 0x48, 0x89, 0xc8, //0x000022fc movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000022ff movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00002309 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x0000230c shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00002310 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00002314 leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xc8, //0x00002318 movq %rcx, %rax + 0x48, 0x29, 0xf8, //0x0000231b subq %rdi, %rax + 0x4c, 0x39, 0xfe, //0x0000231e cmpq %r15, %rsi + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x00002321 jae LBB0_486 + 0x04, 0x30, //0x00002327 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00002329 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x0000232d decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00002330 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00002334 movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00002337 ja LBB0_487 + //0x0000233d LBB0_489 + 0x45, 0x01, 0xc3, //0x0000233d addl %r8d, %r11d + 0x4d, 0x63, 0xdb, //0x00002340 movslq %r11d, %r11 + 0x4d, 0x39, 0xdf, //0x00002343 cmpq %r11, %r15 + 0x45, 0x0f, 0x46, 0xdf, //0x00002346 cmovbel %r15d, %r11d + 0x45, 0x01, 0xc1, //0x0000234a addl %r8d, %r9d + 0x45, 0x85, 0xdb, //0x0000234d testl %r11d, %r11d + 0x0f, 0x8e, 0x32, 0xfe, 0xff, 0xff, //0x00002350 jle LBB0_468 + 0x44, 0x89, 0xd8, //0x00002356 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00002359 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x2a, 0xfe, 0xff, 0xff, //0x0000235f jne LBB0_469 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002365 .p2align 4, 0x90 + //0x00002370 LBB0_491 + 0x48, 0x83, 0xf8, 0x01, //0x00002370 cmpq $1, %rax + 0x0f, 0x8e, 0x09, 0xfe, 0xff, 0xff, //0x00002374 jle LBB0_467 + 0x4c, 0x8d, 0x58, 0xff, //0x0000237a leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x0000237e cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00002384 movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002387 je LBB0_491 + 0xe9, 0xfd, 0xfd, 0xff, 0xff, //0x0000238d jmp LBB0_469 + //0x00002392 LBB0_493 + 0x0f, 0x8c, 0x5f, 0xfe, 0xff, 0xff, //0x00002392 jl LBB0_476 + 0xe9, 0x60, 0xfe, 0xff, 0xff, //0x00002398 jmp LBB0_477 + //0x0000239d LBB0_495 + 0x41, 0x89, 0xc0, //0x0000239d movl %eax, %r8d + 0xe9, 0x07, 0x02, 0x00, 0x00, //0x000023a0 jmp LBB0_525 + //0x000023a5 LBB0_496 + 0x44, 0x89, 0xde, //0x000023a5 movl %r11d, %esi + 0x44, 0x89, 0xd8, //0x000023a8 movl %r11d, %eax + 0x45, 0x85, 0xc0, //0x000023ab testl %r8d, %r8d + 0x4c, 0x8b, 0x6d, 0xd0, //0x000023ae movq $-48(%rbp), %r13 + 0x0f, 0x84, 0x4e, 0xfd, 0xff, 0xff, //0x000023b2 je LBB0_456 + //0x000023b8 LBB0_497 + 0x44, 0x89, 0xc1, //0x000023b8 movl %r8d, %ecx + 0x48, 0x6b, 0xd1, 0x68, //0x000023bb imulq $104, %rcx, %rdx + 0x48, 0x8d, 0x3d, 0x7a, 0x3e, 0x00, 0x00, //0x000023bf leaq $15994(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0x8b, 0x1c, 0x3a, //0x000023c6 movl (%rdx,%rdi), %ebx + 0x4c, 0x63, 0xee, //0x000023c9 movslq %esi, %r13 + 0x8a, 0x44, 0x3a, 0x04, //0x000023cc movb $4(%rdx,%rdi), %al + 0x45, 0x85, 0xed, //0x000023d0 testl %r13d, %r13d + 0x4c, 0x89, 0x4d, 0xc8, //0x000023d3 movq %r9, $-56(%rbp) + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x000023d7 je LBB0_502 + 0x48, 0x8d, 0x54, 0x3a, 0x05, //0x000023dd leaq $5(%rdx,%rdi), %rdx + 0x31, 0xff, //0x000023e2 xorl %edi, %edi + //0x000023e4 LBB0_499 + 0x84, 0xc0, //0x000023e4 testb %al, %al + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x000023e6 je LBB0_504 + 0x41, 0x38, 0x04, 0x3c, //0x000023ec cmpb %al, (%r12,%rdi) + 0x0f, 0x85, 0x90, 0x01, 0x00, 0x00, //0x000023f0 jne LBB0_521 + 0x0f, 0xb6, 0x04, 0x3a, //0x000023f6 movzbl (%rdx,%rdi), %eax + 0x48, 0xff, 0xc7, //0x000023fa incq %rdi + 0x49, 0x39, 0xfd, //0x000023fd cmpq %rdi, %r13 + 0x0f, 0x85, 0xde, 0xff, 0xff, 0xff, //0x00002400 jne LBB0_499 + //0x00002406 LBB0_502 + 0x84, 0xc0, //0x00002406 testb %al, %al + 0x0f, 0x84, 0x02, 0x00, 0x00, 0x00, //0x00002408 je LBB0_504 + //0x0000240e LBB0_503 + 0xff, 0xcb, //0x0000240e decl %ebx + //0x00002410 LBB0_504 + 0x85, 0xf6, //0x00002410 testl %esi, %esi + 0x0f, 0x8e, 0xac, 0x00, 0x00, 0x00, //0x00002412 jle LBB0_512 + 0x89, 0x5d, 0x98, //0x00002418 movl %ebx, $-104(%rbp) + 0x01, 0xde, //0x0000241b addl %ebx, %esi + 0x48, 0x63, 0xc6, //0x0000241d movslq %esi, %rax + 0x49, 0x89, 0xc1, //0x00002420 movq %rax, %r9 + 0x49, 0xc1, 0xe1, 0x20, //0x00002423 shlq $32, %r9 + 0x48, 0xff, 0xc8, //0x00002427 decq %rax + 0x49, 0xff, 0xc5, //0x0000242a incq %r13 + 0x31, 0xf6, //0x0000242d xorl %esi, %esi + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x0000242f jmp LBB0_508 + //0x00002434 LBB0_506 + 0x48, 0x85, 0xc0, //0x00002434 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00002437 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x0000243c cmovnel %eax, %r14d + //0x00002440 LBB0_507 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00002440 movabsq $-4294967296, %rax + 0x49, 0x01, 0xc1, //0x0000244a addq %rax, %r9 + 0x48, 0x8d, 0x47, 0xff, //0x0000244d leaq $-1(%rdi), %rax + 0x49, 0xff, 0xcd, //0x00002451 decq %r13 + 0x49, 0x83, 0xfd, 0x01, //0x00002454 cmpq $1, %r13 + 0x0f, 0x8e, 0x4c, 0x00, 0x00, 0x00, //0x00002458 jle LBB0_510 + //0x0000245e LBB0_508 + 0x48, 0x89, 0xc7, //0x0000245e movq %rax, %rdi + 0x4b, 0x0f, 0xbe, 0x5c, 0x2c, 0xfe, //0x00002461 movsbq $-2(%r12,%r13), %rbx + 0x48, 0x83, 0xc3, 0xd0, //0x00002467 addq $-48, %rbx + 0x48, 0xd3, 0xe3, //0x0000246b shlq %cl, %rbx + 0x48, 0x01, 0xf3, //0x0000246e addq %rsi, %rbx + 0x48, 0x89, 0xd8, //0x00002471 movq %rbx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002474 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x0000247e mulq %rdx + 0x48, 0x89, 0xd6, //0x00002481 movq %rdx, %rsi + 0x48, 0xc1, 0xee, 0x03, //0x00002484 shrq $3, %rsi + 0x48, 0x8d, 0x04, 0x36, //0x00002488 leaq (%rsi,%rsi), %rax + 0x48, 0x8d, 0x14, 0x80, //0x0000248c leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x00002490 movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x00002493 subq %rdx, %rax + 0x4c, 0x39, 0xff, //0x00002496 cmpq %r15, %rdi + 0x0f, 0x83, 0x95, 0xff, 0xff, 0xff, //0x00002499 jae LBB0_506 + 0x04, 0x30, //0x0000249f addb $48, %al + 0x41, 0x88, 0x04, 0x3c, //0x000024a1 movb %al, (%r12,%rdi) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x000024a5 jmp LBB0_507 + //0x000024aa LBB0_510 + 0x48, 0x83, 0xfb, 0x0a, //0x000024aa cmpq $10, %rbx + 0x4c, 0x8b, 0x6d, 0xd0, //0x000024ae movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xc8, //0x000024b2 movq $-56(%rbp), %r9 + 0x0f, 0x83, 0x15, 0x00, 0x00, 0x00, //0x000024b6 jae LBB0_513 + 0x8b, 0x5d, 0x98, //0x000024bc movl $-104(%rbp), %ebx + 0xe9, 0x78, 0x00, 0x00, 0x00, //0x000024bf jmp LBB0_517 + //0x000024c4 LBB0_512 + 0x4c, 0x8b, 0x6d, 0xd0, //0x000024c4 movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xc8, //0x000024c8 movq $-56(%rbp), %r9 + 0xe9, 0x6b, 0x00, 0x00, 0x00, //0x000024cc jmp LBB0_517 + //0x000024d1 LBB0_513 + 0x48, 0x63, 0xcf, //0x000024d1 movslq %edi, %rcx + 0x48, 0xff, 0xc9, //0x000024d4 decq %rcx + 0x8b, 0x5d, 0x98, //0x000024d7 movl $-104(%rbp), %ebx + 0xe9, 0x1c, 0x00, 0x00, 0x00, //0x000024da jmp LBB0_515 + //0x000024df LBB0_514 + 0x48, 0x85, 0xc0, //0x000024df testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000024e2 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000024e7 cmovnel %eax, %r14d + 0x48, 0xff, 0xc9, //0x000024eb decq %rcx + 0x48, 0x83, 0xfe, 0x09, //0x000024ee cmpq $9, %rsi + 0x48, 0x89, 0xd6, //0x000024f2 movq %rdx, %rsi + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x000024f5 jbe LBB0_517 + //0x000024fb LBB0_515 + 0x48, 0x89, 0xf0, //0x000024fb movq %rsi, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000024fe movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00002508 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x0000250b shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x0000250f leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00002513 leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xf0, //0x00002517 movq %rsi, %rax + 0x48, 0x29, 0xf8, //0x0000251a subq %rdi, %rax + 0x4c, 0x39, 0xf9, //0x0000251d cmpq %r15, %rcx + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x00002520 jae LBB0_514 + 0x04, 0x30, //0x00002526 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x00002528 movb %al, (%r12,%rcx) + 0x48, 0xff, 0xc9, //0x0000252c decq %rcx + 0x48, 0x83, 0xfe, 0x09, //0x0000252f cmpq $9, %rsi + 0x48, 0x89, 0xd6, //0x00002533 movq %rdx, %rsi + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00002536 ja LBB0_515 + //0x0000253c LBB0_517 + 0x41, 0x01, 0xdb, //0x0000253c addl %ebx, %r11d + 0x4d, 0x63, 0xdb, //0x0000253f movslq %r11d, %r11 + 0x4d, 0x39, 0xdf, //0x00002542 cmpq %r11, %r15 + 0x45, 0x0f, 0x46, 0xdf, //0x00002545 cmovbel %r15d, %r11d + 0x41, 0x01, 0xd9, //0x00002549 addl %ebx, %r9d + 0x45, 0x85, 0xdb, //0x0000254c testl %r11d, %r11d + 0x0f, 0x8e, 0x41, 0x00, 0x00, 0x00, //0x0000254f jle LBB0_523 + 0x44, 0x89, 0xd8, //0x00002555 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00002558 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x39, 0x00, 0x00, 0x00, //0x0000255e jne LBB0_524 + //0x00002564 LBB0_519 + 0x48, 0x83, 0xf8, 0x01, //0x00002564 cmpq $1, %rax + 0x0f, 0x8e, 0x23, 0x00, 0x00, 0x00, //0x00002568 jle LBB0_522 + 0x4c, 0x8d, 0x58, 0xff, //0x0000256e leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00002572 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00002578 movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x0000257b je LBB0_519 + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002581 jmp LBB0_524 + //0x00002586 LBB0_521 + 0x0f, 0x8c, 0x82, 0xfe, 0xff, 0xff, //0x00002586 jl LBB0_503 + 0xe9, 0x7f, 0xfe, 0xff, 0xff, //0x0000258c jmp LBB0_504 + //0x00002591 LBB0_522 + 0xff, 0xc8, //0x00002591 decl %eax + 0x41, 0x89, 0xc3, //0x00002593 movl %eax, %r11d + //0x00002596 LBB0_523 + 0x45, 0x85, 0xdb, //0x00002596 testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x00002599 cmovel %r11d, %r9d + //0x0000259d LBB0_524 + 0x44, 0x89, 0xde, //0x0000259d movl %r11d, %esi + 0x44, 0x89, 0xd8, //0x000025a0 movl %r11d, %eax + 0x45, 0x85, 0xc0, //0x000025a3 testl %r8d, %r8d + 0x0f, 0x89, 0x5a, 0xfb, 0xff, 0xff, //0x000025a6 jns LBB0_456 + //0x000025ac LBB0_525 + 0x41, 0x83, 0xf8, 0xc3, //0x000025ac cmpl $-61, %r8d + 0x0f, 0x8e, 0x21, 0x00, 0x00, 0x00, //0x000025b0 jle LBB0_529 + 0xe9, 0x9e, 0x01, 0x00, 0x00, //0x000025b6 jmp LBB0_549 + //0x000025bb LBB0_526 + 0xff, 0xc9, //0x000025bb decl %ecx + 0x41, 0x89, 0xcb, //0x000025bd movl %ecx, %r11d + //0x000025c0 LBB0_527 + 0x45, 0x85, 0xdb, //0x000025c0 testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x000025c3 cmovel %r11d, %r9d + //0x000025c7 LBB0_528 + 0x44, 0x8d, 0x40, 0x3c, //0x000025c7 leal $60(%rax), %r8d + 0x44, 0x89, 0xde, //0x000025cb movl %r11d, %esi + 0x83, 0xf8, 0x88, //0x000025ce cmpl $-120, %eax + 0x0f, 0x8d, 0x73, 0x01, 0x00, 0x00, //0x000025d1 jge LBB0_548 + //0x000025d7 LBB0_529 + 0x44, 0x89, 0xc0, //0x000025d7 movl %r8d, %eax + 0x48, 0x63, 0xfe, //0x000025da movslq %esi, %rdi + 0x31, 0xd2, //0x000025dd xorl %edx, %edx + 0x31, 0xc9, //0x000025df xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000025e1 .p2align 4, 0x90 + //0x000025f0 LBB0_530 + 0x48, 0x39, 0xfa, //0x000025f0 cmpq %rdi, %rdx + 0x0f, 0x8d, 0x23, 0x00, 0x00, 0x00, //0x000025f3 jge LBB0_532 + 0x48, 0x8d, 0x0c, 0x89, //0x000025f9 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x1c, 0x14, //0x000025fd movsbq (%r12,%rdx), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x00002602 leaq $-48(%rbx,%rcx,2), %rcx + 0x48, 0xff, 0xc2, //0x00002607 incq %rdx + 0x49, 0x8d, 0x5a, 0x01, //0x0000260a leaq $1(%r10), %rbx + 0x48, 0x39, 0xd9, //0x0000260e cmpq %rbx, %rcx + 0x0f, 0x82, 0xd9, 0xff, 0xff, 0xff, //0x00002611 jb LBB0_530 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00002617 jmp LBB0_534 + //0x0000261c LBB0_532 + 0x48, 0x85, 0xc9, //0x0000261c testq %rcx, %rcx + 0x0f, 0x84, 0x1d, 0x01, 0x00, 0x00, //0x0000261f je LBB0_547 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002625 .p2align 4, 0x90 + //0x00002630 LBB0_533 + 0x48, 0x01, 0xc9, //0x00002630 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00002633 leaq (%rcx,%rcx,4), %rcx + 0xff, 0xc2, //0x00002637 incl %edx + 0x49, 0x8d, 0x7a, 0x01, //0x00002639 leaq $1(%r10), %rdi + 0x48, 0x39, 0xf9, //0x0000263d cmpq %rdi, %rcx + 0x0f, 0x82, 0xea, 0xff, 0xff, 0xff, //0x00002640 jb LBB0_533 + //0x00002646 LBB0_534 + 0x41, 0x29, 0xd1, //0x00002646 subl %edx, %r9d + 0x31, 0xff, //0x00002649 xorl %edi, %edi + 0x39, 0xf2, //0x0000264b cmpl %esi, %edx + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x0000264d jge LBB0_539 + 0x48, 0x63, 0xd2, //0x00002653 movslq %edx, %rdx + 0x49, 0x63, 0xf3, //0x00002656 movslq %r11d, %rsi + 0x49, 0x8d, 0x3c, 0x14, //0x00002659 leaq (%r12,%rdx), %rdi + 0x45, 0x31, 0xdb, //0x0000265d xorl %r11d, %r11d + //0x00002660 .p2align 4, 0x90 + //0x00002660 LBB0_536 + 0x48, 0x89, 0xcb, //0x00002660 movq %rcx, %rbx + 0x48, 0xc1, 0xeb, 0x3c, //0x00002663 shrq $60, %rbx + 0x4c, 0x21, 0xd1, //0x00002667 andq %r10, %rcx + 0x80, 0xcb, 0x30, //0x0000266a orb $48, %bl + 0x43, 0x88, 0x1c, 0x1c, //0x0000266d movb %bl, (%r12,%r11) + 0x48, 0x8d, 0x0c, 0x89, //0x00002671 leaq (%rcx,%rcx,4), %rcx + 0x4a, 0x0f, 0xbe, 0x1c, 0x1f, //0x00002675 movsbq (%rdi,%r11), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x0000267a leaq $-48(%rbx,%rcx,2), %rcx + 0x4a, 0x8d, 0x5c, 0x1a, 0x01, //0x0000267f leaq $1(%rdx,%r11), %rbx + 0x49, 0xff, 0xc3, //0x00002684 incq %r11 + 0x48, 0x39, 0xf3, //0x00002687 cmpq %rsi, %rbx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x0000268a jl LBB0_536 + 0x48, 0x85, 0xc9, //0x00002690 testq %rcx, %rcx + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x00002693 je LBB0_543 + 0x44, 0x89, 0xdf, //0x00002699 movl %r11d, %edi + //0x0000269c LBB0_539 + 0x41, 0x89, 0xfb, //0x0000269c movl %edi, %r11d + 0xe9, 0x28, 0x00, 0x00, 0x00, //0x0000269f jmp LBB0_541 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000026a4 .p2align 4, 0x90 + //0x000026b0 LBB0_540 + 0x48, 0x85, 0xd2, //0x000026b0 testq %rdx, %rdx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x000026b3 movl $1, %edx + 0x44, 0x0f, 0x45, 0xf2, //0x000026b8 cmovnel %edx, %r14d + 0x48, 0x01, 0xc9, //0x000026bc addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x000026bf leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x000026c3 testq %rcx, %rcx + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x000026c6 je LBB0_543 + //0x000026cc LBB0_541 + 0x48, 0x89, 0xca, //0x000026cc movq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x3c, //0x000026cf shrq $60, %rdx + 0x4c, 0x21, 0xd1, //0x000026d3 andq %r10, %rcx + 0x49, 0x63, 0xf3, //0x000026d6 movslq %r11d, %rsi + 0x49, 0x39, 0xf7, //0x000026d9 cmpq %rsi, %r15 + 0x0f, 0x86, 0xce, 0xff, 0xff, 0xff, //0x000026dc jbe LBB0_540 + 0x80, 0xca, 0x30, //0x000026e2 orb $48, %dl + 0x41, 0x88, 0x14, 0x34, //0x000026e5 movb %dl, (%r12,%rsi) + 0xff, 0xc6, //0x000026e9 incl %esi + 0x41, 0x89, 0xf3, //0x000026eb movl %esi, %r11d + 0x48, 0x01, 0xc9, //0x000026ee addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x000026f1 leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x000026f5 testq %rcx, %rcx + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x000026f8 jne LBB0_541 + //0x000026fe LBB0_543 + 0x41, 0xff, 0xc1, //0x000026fe incl %r9d + 0x45, 0x85, 0xdb, //0x00002701 testl %r11d, %r11d + 0x0f, 0x8e, 0xb6, 0xfe, 0xff, 0xff, //0x00002704 jle LBB0_527 + 0x44, 0x89, 0xd9, //0x0000270a movl %r11d, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x0000270d cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0xae, 0xfe, 0xff, 0xff, //0x00002713 jne LBB0_528 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002719 .p2align 4, 0x90 + //0x00002720 LBB0_545 + 0x48, 0x83, 0xf9, 0x01, //0x00002720 cmpq $1, %rcx + 0x0f, 0x8e, 0x91, 0xfe, 0xff, 0xff, //0x00002724 jle LBB0_526 + 0x4c, 0x8d, 0x59, 0xff, //0x0000272a leaq $-1(%rcx), %r11 + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x0000272e cmpb $48, $-2(%r12,%rcx) + 0x4c, 0x89, 0xd9, //0x00002734 movq %r11, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002737 je LBB0_545 + 0xe9, 0x85, 0xfe, 0xff, 0xff, //0x0000273d jmp LBB0_528 + //0x00002742 LBB0_547 + 0x45, 0x31, 0xdb, //0x00002742 xorl %r11d, %r11d + 0xe9, 0x7d, 0xfe, 0xff, 0xff, //0x00002745 jmp LBB0_528 + //0x0000274a LBB0_548 + 0x44, 0x89, 0xde, //0x0000274a movl %r11d, %esi + 0x44, 0x89, 0xd8, //0x0000274d movl %r11d, %eax + 0x45, 0x85, 0xc0, //0x00002750 testl %r8d, %r8d + 0x0f, 0x84, 0xad, 0xf9, 0xff, 0xff, //0x00002753 je LBB0_456 + //0x00002759 LBB0_549 + 0x41, 0xf7, 0xd8, //0x00002759 negl %r8d + 0x48, 0x63, 0xfe, //0x0000275c movslq %esi, %rdi + 0x31, 0xd2, //0x0000275f xorl %edx, %edx + 0x31, 0xc0, //0x00002761 xorl %eax, %eax + //0x00002763 LBB0_550 + 0x48, 0x39, 0xfa, //0x00002763 cmpq %rdi, %rdx + 0x0f, 0x8d, 0x28, 0x00, 0x00, 0x00, //0x00002766 jge LBB0_552 + 0x48, 0x8d, 0x04, 0x80, //0x0000276c leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x14, //0x00002770 movsbq (%r12,%rdx), %rcx + 0x48, 0x8d, 0x44, 0x41, 0xd0, //0x00002775 leaq $-48(%rcx,%rax,2), %rax + 0x48, 0xff, 0xc2, //0x0000277a incq %rdx + 0x48, 0x89, 0xc3, //0x0000277d movq %rax, %rbx + 0x44, 0x89, 0xc1, //0x00002780 movl %r8d, %ecx + 0x48, 0xd3, 0xeb, //0x00002783 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00002786 testq %rbx, %rbx + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x00002789 je LBB0_550 + 0xe9, 0x2e, 0x00, 0x00, 0x00, //0x0000278f jmp LBB0_556 + //0x00002794 LBB0_552 + 0x48, 0x85, 0xc0, //0x00002794 testq %rax, %rax + 0x0f, 0x85, 0x13, 0x00, 0x00, 0x00, //0x00002797 jne LBB0_555 + 0x45, 0x31, 0xdb, //0x0000279d xorl %r11d, %r11d + 0x31, 0xc0, //0x000027a0 xorl %eax, %eax + 0xe9, 0x5f, 0xf9, 0xff, 0xff, //0x000027a2 jmp LBB0_456 + //0x000027a7 LBB0_554 + 0x48, 0x01, 0xc0, //0x000027a7 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x000027aa leaq (%rax,%rax,4), %rax + 0xff, 0xc2, //0x000027ae incl %edx + //0x000027b0 LBB0_555 + 0x48, 0x89, 0xc7, //0x000027b0 movq %rax, %rdi + 0x44, 0x89, 0xc1, //0x000027b3 movl %r8d, %ecx + 0x48, 0xd3, 0xef, //0x000027b6 shrq %cl, %rdi + 0x48, 0x85, 0xff, //0x000027b9 testq %rdi, %rdi + 0x0f, 0x84, 0xe5, 0xff, 0xff, 0xff, //0x000027bc je LBB0_554 + //0x000027c2 LBB0_556 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000027c2 movq $-1, %rbx + 0x44, 0x89, 0xc1, //0x000027c9 movl %r8d, %ecx + 0x48, 0xd3, 0xe3, //0x000027cc shlq %cl, %rbx + 0x48, 0xf7, 0xd3, //0x000027cf notq %rbx + 0x31, 0xff, //0x000027d2 xorl %edi, %edi + 0x39, 0xf2, //0x000027d4 cmpl %esi, %edx + 0x0f, 0x8d, 0x4b, 0x00, 0x00, 0x00, //0x000027d6 jge LBB0_560 + 0x4c, 0x89, 0x4d, 0xc8, //0x000027dc movq %r9, $-56(%rbp) + 0x4c, 0x63, 0xea, //0x000027e0 movslq %edx, %r13 + 0x4d, 0x63, 0xcb, //0x000027e3 movslq %r11d, %r9 + 0x4f, 0x8d, 0x1c, 0x2c, //0x000027e6 leaq (%r12,%r13), %r11 + 0x31, 0xff, //0x000027ea xorl %edi, %edi + //0x000027ec LBB0_558 + 0x48, 0x89, 0xc6, //0x000027ec movq %rax, %rsi + 0x44, 0x89, 0xc1, //0x000027ef movl %r8d, %ecx + 0x48, 0xd3, 0xee, //0x000027f2 shrq %cl, %rsi + 0x48, 0x21, 0xd8, //0x000027f5 andq %rbx, %rax + 0x40, 0x80, 0xc6, 0x30, //0x000027f8 addb $48, %sil + 0x41, 0x88, 0x34, 0x3c, //0x000027fc movb %sil, (%r12,%rdi) + 0x48, 0x8d, 0x04, 0x80, //0x00002800 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x3b, //0x00002804 movsbq (%r11,%rdi), %rcx + 0x48, 0x8d, 0x44, 0x41, 0xd0, //0x00002809 leaq $-48(%rcx,%rax,2), %rax + 0x49, 0x8d, 0x4c, 0x3d, 0x01, //0x0000280e leaq $1(%r13,%rdi), %rcx + 0x48, 0xff, 0xc7, //0x00002813 incq %rdi + 0x4c, 0x39, 0xc9, //0x00002816 cmpq %r9, %rcx + 0x0f, 0x8c, 0xcd, 0xff, 0xff, 0xff, //0x00002819 jl LBB0_558 + 0x4c, 0x8b, 0x6d, 0xd0, //0x0000281f movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x4d, 0xc8, //0x00002823 movq $-56(%rbp), %r9 + //0x00002827 LBB0_560 + 0x41, 0x29, 0xd1, //0x00002827 subl %edx, %r9d + 0x41, 0x89, 0xfb, //0x0000282a movl %edi, %r11d + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x0000282d jmp LBB0_563 + //0x00002832 LBB0_561 + 0x48, 0x85, 0xd2, //0x00002832 testq %rdx, %rdx + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00002835 movl $1, %ecx + 0x44, 0x0f, 0x45, 0xf1, //0x0000283a cmovnel %ecx, %r14d + //0x0000283e LBB0_562 + 0x48, 0x01, 0xc0, //0x0000283e addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00002841 leaq (%rax,%rax,4), %rax + //0x00002845 LBB0_563 + 0x48, 0x85, 0xc0, //0x00002845 testq %rax, %rax + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00002848 je LBB0_566 + 0x48, 0x89, 0xc2, //0x0000284e movq %rax, %rdx + 0x44, 0x89, 0xc1, //0x00002851 movl %r8d, %ecx + 0x48, 0xd3, 0xea, //0x00002854 shrq %cl, %rdx + 0x48, 0x21, 0xd8, //0x00002857 andq %rbx, %rax + 0x49, 0x63, 0xcb, //0x0000285a movslq %r11d, %rcx + 0x49, 0x39, 0xcf, //0x0000285d cmpq %rcx, %r15 + 0x0f, 0x86, 0xcc, 0xff, 0xff, 0xff, //0x00002860 jbe LBB0_561 + 0x80, 0xc2, 0x30, //0x00002866 addb $48, %dl + 0x41, 0x88, 0x14, 0x0c, //0x00002869 movb %dl, (%r12,%rcx) + 0xff, 0xc1, //0x0000286d incl %ecx + 0x41, 0x89, 0xcb, //0x0000286f movl %ecx, %r11d + 0xe9, 0xc7, 0xff, 0xff, 0xff, //0x00002872 jmp LBB0_562 + //0x00002877 LBB0_566 + 0x41, 0xff, 0xc1, //0x00002877 incl %r9d + 0x45, 0x85, 0xdb, //0x0000287a testl %r11d, %r11d + 0x0f, 0x8e, 0x36, 0x00, 0x00, 0x00, //0x0000287d jle LBB0_571 + 0x44, 0x89, 0xd8, //0x00002883 movl %r11d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00002886 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x2e, 0x00, 0x00, 0x00, //0x0000288c jne LBB0_572 + //0x00002892 LBB0_568 + 0x48, 0x83, 0xf8, 0x01, //0x00002892 cmpq $1, %rax + 0x0f, 0x8e, 0x18, 0x00, 0x00, 0x00, //0x00002896 jle LBB0_570 + 0x4c, 0x8d, 0x58, 0xff, //0x0000289c leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x000028a0 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x000028a6 movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x000028a9 je LBB0_568 + 0xe9, 0x0c, 0x00, 0x00, 0x00, //0x000028af jmp LBB0_572 + //0x000028b4 LBB0_570 + 0xff, 0xc8, //0x000028b4 decl %eax + 0x41, 0x89, 0xc3, //0x000028b6 movl %eax, %r11d + //0x000028b9 LBB0_571 + 0x45, 0x85, 0xdb, //0x000028b9 testl %r11d, %r11d + 0x45, 0x0f, 0x44, 0xcb, //0x000028bc cmovel %r11d, %r9d + //0x000028c0 LBB0_572 + 0x44, 0x89, 0xd8, //0x000028c0 movl %r11d, %eax + 0xe9, 0x3e, 0xf8, 0xff, 0xff, //0x000028c3 jmp LBB0_456 + //0x000028c8 LBB0_573 + 0x81, 0xff, 0x02, 0xfc, 0xff, 0xff, //0x000028c8 cmpl $-1022, %edi + 0x4c, 0x89, 0x4d, 0xc8, //0x000028ce movq %r9, $-56(%rbp) + 0x0f, 0x8f, 0x9c, 0x01, 0x00, 0x00, //0x000028d2 jg LBB0_599 + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x000028d8 movl $-1022, %r9d + 0x85, 0xf6, //0x000028de testl %esi, %esi + 0x0f, 0x84, 0xb5, 0x01, 0x00, 0x00, //0x000028e0 je LBB0_602 + 0x8d, 0x8f, 0xfd, 0x03, 0x00, 0x00, //0x000028e6 leal $1021(%rdi), %ecx + 0x81, 0xff, 0xc6, 0xfb, 0xff, 0xff, //0x000028ec cmpl $-1082, %edi + 0x0f, 0x8f, 0xb5, 0x01, 0x00, 0x00, //0x000028f2 jg LBB0_605 + 0x49, 0x8d, 0x42, 0x01, //0x000028f8 leaq $1(%r10), %rax + 0x41, 0xbd, 0x01, 0x00, 0x00, 0x00, //0x000028fc movl $1, %r13d + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00002902 jmp LBB0_580 + //0x00002907 LBB0_577 + 0xff, 0xc9, //0x00002907 decl %ecx + 0x41, 0x89, 0xcb, //0x00002909 movl %ecx, %r11d + //0x0000290c LBB0_578 + 0x45, 0x85, 0xdb, //0x0000290c testl %r11d, %r11d + 0x48, 0x8b, 0x4d, 0xc8, //0x0000290f movq $-56(%rbp), %rcx + 0x41, 0x0f, 0x44, 0xcb, //0x00002913 cmovel %r11d, %ecx + 0x48, 0x89, 0x4d, 0xc8, //0x00002917 movq %rcx, $-56(%rbp) + //0x0000291b LBB0_579 + 0x41, 0x8d, 0x48, 0x3c, //0x0000291b leal $60(%r8), %ecx + 0x44, 0x89, 0xde, //0x0000291f movl %r11d, %esi + 0x41, 0x83, 0xf8, 0x88, //0x00002922 cmpl $-120, %r8d + 0x0f, 0x8d, 0x76, 0x01, 0x00, 0x00, //0x00002926 jge LBB0_603 + //0x0000292c LBB0_580 + 0x41, 0x89, 0xc8, //0x0000292c movl %ecx, %r8d + 0x48, 0x63, 0xde, //0x0000292f movslq %esi, %rbx + 0x31, 0xff, //0x00002932 xorl %edi, %edi + 0x31, 0xc9, //0x00002934 xorl %ecx, %ecx + //0x00002936 LBB0_581 + 0x48, 0x39, 0xdf, //0x00002936 cmpq %rbx, %rdi + 0x0f, 0x8d, 0x1f, 0x00, 0x00, 0x00, //0x00002939 jge LBB0_583 + 0x48, 0x8d, 0x0c, 0x89, //0x0000293f leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x14, 0x3c, //0x00002943 movsbq (%r12,%rdi), %rdx + 0x48, 0x8d, 0x4c, 0x4a, 0xd0, //0x00002948 leaq $-48(%rdx,%rcx,2), %rcx + 0x48, 0xff, 0xc7, //0x0000294d incq %rdi + 0x48, 0x39, 0xc1, //0x00002950 cmpq %rax, %rcx + 0x0f, 0x82, 0xdd, 0xff, 0xff, 0xff, //0x00002953 jb LBB0_581 + 0xe9, 0x1b, 0x00, 0x00, 0x00, //0x00002959 jmp LBB0_585 + //0x0000295e LBB0_583 + 0x48, 0x85, 0xc9, //0x0000295e testq %rcx, %rcx + 0x0f, 0x84, 0x05, 0x01, 0x00, 0x00, //0x00002961 je LBB0_598 + //0x00002967 LBB0_584 + 0x48, 0x01, 0xc9, //0x00002967 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x0000296a leaq (%rcx,%rcx,4), %rcx + 0xff, 0xc7, //0x0000296e incl %edi + 0x48, 0x39, 0xc1, //0x00002970 cmpq %rax, %rcx + 0x0f, 0x82, 0xee, 0xff, 0xff, 0xff, //0x00002973 jb LBB0_584 + //0x00002979 LBB0_585 + 0x48, 0x8b, 0x55, 0xc8, //0x00002979 movq $-56(%rbp), %rdx + 0x29, 0xfa, //0x0000297d subl %edi, %edx + 0x48, 0x89, 0x55, 0xc8, //0x0000297f movq %rdx, $-56(%rbp) + 0x31, 0xdb, //0x00002983 xorl %ebx, %ebx + 0x39, 0xf7, //0x00002985 cmpl %esi, %edi + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x00002987 jge LBB0_590 + 0x48, 0x63, 0xf7, //0x0000298d movslq %edi, %rsi + 0x49, 0x63, 0xfb, //0x00002990 movslq %r11d, %rdi + 0x49, 0x8d, 0x1c, 0x34, //0x00002993 leaq (%r12,%rsi), %rbx + 0x45, 0x31, 0xdb, //0x00002997 xorl %r11d, %r11d + //0x0000299a LBB0_587 + 0x48, 0x89, 0xca, //0x0000299a movq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x3c, //0x0000299d shrq $60, %rdx + 0x4c, 0x21, 0xd1, //0x000029a1 andq %r10, %rcx + 0x80, 0xca, 0x30, //0x000029a4 orb $48, %dl + 0x43, 0x88, 0x14, 0x1c, //0x000029a7 movb %dl, (%r12,%r11) + 0x48, 0x8d, 0x0c, 0x89, //0x000029ab leaq (%rcx,%rcx,4), %rcx + 0x4a, 0x0f, 0xbe, 0x14, 0x1b, //0x000029af movsbq (%rbx,%r11), %rdx + 0x48, 0x8d, 0x4c, 0x4a, 0xd0, //0x000029b4 leaq $-48(%rdx,%rcx,2), %rcx + 0x4a, 0x8d, 0x54, 0x1e, 0x01, //0x000029b9 leaq $1(%rsi,%r11), %rdx + 0x49, 0xff, 0xc3, //0x000029be incq %r11 + 0x48, 0x39, 0xfa, //0x000029c1 cmpq %rdi, %rdx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x000029c4 jl LBB0_587 + 0x48, 0x85, 0xc9, //0x000029ca testq %rcx, %rcx + 0x0f, 0x84, 0x55, 0x00, 0x00, 0x00, //0x000029cd je LBB0_594 + 0x44, 0x89, 0xdb, //0x000029d3 movl %r11d, %ebx + //0x000029d6 LBB0_590 + 0x41, 0x89, 0xdb, //0x000029d6 movl %ebx, %r11d + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x000029d9 jmp LBB0_592 + //0x000029de LBB0_591 + 0x48, 0x85, 0xf6, //0x000029de testq %rsi, %rsi + 0x45, 0x0f, 0x45, 0xf5, //0x000029e1 cmovnel %r13d, %r14d + 0x48, 0x01, 0xc9, //0x000029e5 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x000029e8 leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x000029ec testq %rcx, %rcx + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x000029ef je LBB0_594 + //0x000029f5 LBB0_592 + 0x48, 0x89, 0xce, //0x000029f5 movq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x3c, //0x000029f8 shrq $60, %rsi + 0x4c, 0x21, 0xd1, //0x000029fc andq %r10, %rcx + 0x49, 0x63, 0xfb, //0x000029ff movslq %r11d, %rdi + 0x49, 0x39, 0xff, //0x00002a02 cmpq %rdi, %r15 + 0x0f, 0x86, 0xd3, 0xff, 0xff, 0xff, //0x00002a05 jbe LBB0_591 + 0x40, 0x80, 0xce, 0x30, //0x00002a0b orb $48, %sil + 0x41, 0x88, 0x34, 0x3c, //0x00002a0f movb %sil, (%r12,%rdi) + 0xff, 0xc7, //0x00002a13 incl %edi + 0x41, 0x89, 0xfb, //0x00002a15 movl %edi, %r11d + 0x48, 0x01, 0xc9, //0x00002a18 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00002a1b leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00002a1f testq %rcx, %rcx + 0x0f, 0x85, 0xcd, 0xff, 0xff, 0xff, //0x00002a22 jne LBB0_592 + //0x00002a28 LBB0_594 + 0x48, 0x8b, 0x4d, 0xc8, //0x00002a28 movq $-56(%rbp), %rcx + 0xff, 0xc1, //0x00002a2c incl %ecx + 0x48, 0x89, 0x4d, 0xc8, //0x00002a2e movq %rcx, $-56(%rbp) + 0x45, 0x85, 0xdb, //0x00002a32 testl %r11d, %r11d + 0x0f, 0x8e, 0xd1, 0xfe, 0xff, 0xff, //0x00002a35 jle LBB0_578 + 0x44, 0x89, 0xd9, //0x00002a3b movl %r11d, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x00002a3e cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0xd1, 0xfe, 0xff, 0xff, //0x00002a44 jne LBB0_579 + //0x00002a4a LBB0_596 + 0x48, 0x83, 0xf9, 0x01, //0x00002a4a cmpq $1, %rcx + 0x0f, 0x8e, 0xb3, 0xfe, 0xff, 0xff, //0x00002a4e jle LBB0_577 + 0x4c, 0x8d, 0x59, 0xff, //0x00002a54 leaq $-1(%rcx), %r11 + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x00002a58 cmpb $48, $-2(%r12,%rcx) + 0x4c, 0x89, 0xd9, //0x00002a5e movq %r11, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002a61 je LBB0_596 + 0xe9, 0xaf, 0xfe, 0xff, 0xff, //0x00002a67 jmp LBB0_579 + //0x00002a6c LBB0_598 + 0x45, 0x31, 0xdb, //0x00002a6c xorl %r11d, %r11d + 0xe9, 0xa7, 0xfe, 0xff, 0xff, //0x00002a6f jmp LBB0_579 + //0x00002a74 LBB0_599 + 0x81, 0xff, 0x00, 0x04, 0x00, 0x00, //0x00002a74 cmpl $1024, %edi + 0x0f, 0x8e, 0x11, 0x00, 0x00, 0x00, //0x00002a7a jle LBB0_601 + 0x31, 0xff, //0x00002a80 xorl %edi, %edi + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00002a82 movabsq $9218868437227405312, %r9 + 0xe9, 0xd4, 0x04, 0x00, 0x00, //0x00002a8c jmp LBB0_688 + //0x00002a91 LBB0_601 + 0xff, 0xcf, //0x00002a91 decl %edi + 0x41, 0x89, 0xf9, //0x00002a93 movl %edi, %r9d + 0xe9, 0x87, 0x01, 0x00, 0x00, //0x00002a96 jmp LBB0_621 + //0x00002a9b LBB0_602 + 0x31, 0xc0, //0x00002a9b xorl %eax, %eax + 0xe9, 0x72, 0x03, 0x00, 0x00, //0x00002a9d jmp LBB0_662 + //0x00002aa2 LBB0_603 + 0x85, 0xc9, //0x00002aa2 testl %ecx, %ecx + 0x0f, 0x84, 0x6f, 0x01, 0x00, 0x00, //0x00002aa4 je LBB0_620 + 0x44, 0x89, 0xde, //0x00002aaa movl %r11d, %esi + //0x00002aad LBB0_605 + 0xf7, 0xd9, //0x00002aad negl %ecx + 0x48, 0x63, 0xfe, //0x00002aaf movslq %esi, %rdi + 0x31, 0xd2, //0x00002ab2 xorl %edx, %edx + 0x31, 0xc0, //0x00002ab4 xorl %eax, %eax + //0x00002ab6 LBB0_606 + 0x48, 0x39, 0xfa, //0x00002ab6 cmpq %rdi, %rdx + 0x0f, 0x8d, 0x25, 0x00, 0x00, 0x00, //0x00002ab9 jge LBB0_623 + 0x48, 0x8d, 0x04, 0x80, //0x00002abf leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x1c, 0x14, //0x00002ac3 movsbq (%r12,%rdx), %rbx + 0x48, 0x8d, 0x44, 0x43, 0xd0, //0x00002ac8 leaq $-48(%rbx,%rax,2), %rax + 0x48, 0xff, 0xc2, //0x00002acd incq %rdx + 0x48, 0x89, 0xc3, //0x00002ad0 movq %rax, %rbx + 0x48, 0xd3, 0xeb, //0x00002ad3 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00002ad6 testq %rbx, %rbx + 0x0f, 0x84, 0xd7, 0xff, 0xff, 0xff, //0x00002ad9 je LBB0_606 + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x00002adf jmp LBB0_608 + //0x00002ae4 LBB0_623 + 0x48, 0x85, 0xc0, //0x00002ae4 testq %rax, %rax + 0x0f, 0x84, 0x45, 0x01, 0x00, 0x00, //0x00002ae7 je LBB0_626 + 0x48, 0x89, 0xc7, //0x00002aed movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00002af0 shrq %cl, %rdi + 0x48, 0x85, 0xff, //0x00002af3 testq %rdi, %rdi + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x00002af6 jne LBB0_608 + //0x00002afc LBB0_625 + 0x48, 0x01, 0xc0, //0x00002afc addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00002aff leaq (%rax,%rax,4), %rax + 0xff, 0xc2, //0x00002b03 incl %edx + 0x48, 0x89, 0xc7, //0x00002b05 movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00002b08 shrq %cl, %rdi + 0x48, 0x85, 0xff, //0x00002b0b testq %rdi, %rdi + 0x0f, 0x84, 0xe8, 0xff, 0xff, 0xff, //0x00002b0e je LBB0_625 + //0x00002b14 LBB0_608 + 0x48, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00002b14 movq $-1, %rbx + 0x48, 0xd3, 0xe3, //0x00002b1b shlq %cl, %rbx + 0x48, 0xf7, 0xd3, //0x00002b1e notq %rbx + 0x45, 0x31, 0xc0, //0x00002b21 xorl %r8d, %r8d + 0x39, 0xf2, //0x00002b24 cmpl %esi, %edx + 0x0f, 0x8d, 0x3d, 0x00, 0x00, 0x00, //0x00002b26 jge LBB0_611 + 0x4c, 0x63, 0xd2, //0x00002b2c movslq %edx, %r10 + 0x4d, 0x63, 0xcb, //0x00002b2f movslq %r11d, %r9 + 0x4b, 0x8d, 0x3c, 0x14, //0x00002b32 leaq (%r12,%r10), %rdi + 0x45, 0x31, 0xc0, //0x00002b36 xorl %r8d, %r8d + //0x00002b39 LBB0_610 + 0x48, 0x89, 0xc6, //0x00002b39 movq %rax, %rsi + 0x48, 0xd3, 0xee, //0x00002b3c shrq %cl, %rsi + 0x48, 0x21, 0xd8, //0x00002b3f andq %rbx, %rax + 0x40, 0x80, 0xc6, 0x30, //0x00002b42 addb $48, %sil + 0x43, 0x88, 0x34, 0x04, //0x00002b46 movb %sil, (%r12,%r8) + 0x48, 0x8d, 0x04, 0x80, //0x00002b4a leaq (%rax,%rax,4), %rax + 0x4a, 0x0f, 0xbe, 0x34, 0x07, //0x00002b4e movsbq (%rdi,%r8), %rsi + 0x48, 0x8d, 0x44, 0x46, 0xd0, //0x00002b53 leaq $-48(%rsi,%rax,2), %rax + 0x4b, 0x8d, 0x74, 0x02, 0x01, //0x00002b58 leaq $1(%r10,%r8), %rsi + 0x49, 0xff, 0xc0, //0x00002b5d incq %r8 + 0x4c, 0x39, 0xce, //0x00002b60 cmpq %r9, %rsi + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00002b63 jl LBB0_610 + //0x00002b69 LBB0_611 + 0x48, 0x8b, 0x75, 0xc8, //0x00002b69 movq $-56(%rbp), %rsi + 0x29, 0xd6, //0x00002b6d subl %edx, %esi + 0x48, 0x89, 0x75, 0xc8, //0x00002b6f movq %rsi, $-56(%rbp) + 0x48, 0x85, 0xc0, //0x00002b73 testq %rax, %rax + 0x0f, 0x84, 0x58, 0x00, 0x00, 0x00, //0x00002b76 je LBB0_616 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00002b7c movl $1, %r9d + 0x48, 0x8b, 0x55, 0xa8, //0x00002b82 movq $-88(%rbp), %rdx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002b86 jmp LBB0_614 + //0x00002b8b LBB0_613 + 0x48, 0x85, 0xf6, //0x00002b8b testq %rsi, %rsi + 0x45, 0x0f, 0x45, 0xf1, //0x00002b8e cmovnel %r9d, %r14d + 0x48, 0x01, 0xc0, //0x00002b92 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00002b95 leaq (%rax,%rax,4), %rax + 0x48, 0x85, 0xc0, //0x00002b99 testq %rax, %rax + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x00002b9c je LBB0_616 + //0x00002ba2 LBB0_614 + 0x48, 0x89, 0xc6, //0x00002ba2 movq %rax, %rsi + 0x48, 0xd3, 0xee, //0x00002ba5 shrq %cl, %rsi + 0x48, 0x21, 0xd8, //0x00002ba8 andq %rbx, %rax + 0x49, 0x63, 0xf8, //0x00002bab movslq %r8d, %rdi + 0x48, 0x39, 0xfa, //0x00002bae cmpq %rdi, %rdx + 0x0f, 0x86, 0xd4, 0xff, 0xff, 0xff, //0x00002bb1 jbe LBB0_613 + 0x40, 0x80, 0xc6, 0x30, //0x00002bb7 addb $48, %sil + 0x41, 0x88, 0x34, 0x3c, //0x00002bbb movb %sil, (%r12,%rdi) + 0xff, 0xc7, //0x00002bbf incl %edi + 0x41, 0x89, 0xf8, //0x00002bc1 movl %edi, %r8d + 0x48, 0x01, 0xc0, //0x00002bc4 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00002bc7 leaq (%rax,%rax,4), %rax + 0x48, 0x85, 0xc0, //0x00002bcb testq %rax, %rax + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x00002bce jne LBB0_614 + //0x00002bd4 LBB0_616 + 0x48, 0x8b, 0x45, 0xc8, //0x00002bd4 movq $-56(%rbp), %rax + 0xff, 0xc0, //0x00002bd8 incl %eax + 0x48, 0x89, 0x45, 0xc8, //0x00002bda movq %rax, $-56(%rbp) + 0x45, 0x85, 0xc0, //0x00002bde testl %r8d, %r8d + 0x0f, 0x8e, 0x57, 0x00, 0x00, 0x00, //0x00002be1 jle LBB0_634 + 0x44, 0x89, 0xc0, //0x00002be7 movl %r8d, %eax + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x00002bea movl $-1022, %r9d + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00002bf0 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x51, 0x00, 0x00, 0x00, //0x00002bf6 jne LBB0_635 + //0x00002bfc LBB0_618 + 0x48, 0x83, 0xf8, 0x01, //0x00002bfc cmpq $1, %rax + 0x0f, 0x8e, 0x33, 0x00, 0x00, 0x00, //0x00002c00 jle LBB0_633 + 0x4c, 0x8d, 0x58, 0xff, //0x00002c06 leaq $-1(%rax), %r11 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00002c0a cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xd8, //0x00002c10 movq %r11, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002c13 je LBB0_618 + //0x00002c19 LBB0_620 + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x00002c19 movl $-1022, %r9d + 0x44, 0x89, 0xde, //0x00002c1f movl %r11d, %esi + //0x00002c22 LBB0_621 + 0x85, 0xf6, //0x00002c22 testl %esi, %esi + 0x0f, 0x84, 0x08, 0x00, 0x00, 0x00, //0x00002c24 je LBB0_626 + 0x45, 0x89, 0xd8, //0x00002c2a movl %r11d, %r8d + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00002c2d jmp LBB0_636 + //0x00002c32 LBB0_626 + 0x31, 0xc0, //0x00002c32 xorl %eax, %eax + 0xe9, 0xd7, 0x01, 0x00, 0x00, //0x00002c34 jmp LBB0_661 + //0x00002c39 LBB0_633 + 0xff, 0xc8, //0x00002c39 decl %eax + 0x41, 0x89, 0xc0, //0x00002c3b movl %eax, %r8d + //0x00002c3e LBB0_634 + 0x41, 0xb9, 0x02, 0xfc, 0xff, 0xff, //0x00002c3e movl $-1022, %r9d + 0x45, 0x85, 0xc0, //0x00002c44 testl %r8d, %r8d + 0x0f, 0x84, 0xd1, 0x02, 0x00, 0x00, //0x00002c47 je LBB0_683 + //0x00002c4d LBB0_635 + 0x44, 0x89, 0xc6, //0x00002c4d movl %r8d, %esi + //0x00002c50 LBB0_636 + 0x4c, 0x63, 0xee, //0x00002c50 movslq %esi, %r13 + 0xb1, 0x31, //0x00002c53 movb $49, %cl + 0x31, 0xc0, //0x00002c55 xorl %eax, %eax + 0x41, 0xba, 0x10, 0x00, 0x00, 0x00, //0x00002c57 movl $16, %r10d + //0x00002c5d LBB0_637 + 0x48, 0x83, 0xf8, 0x26, //0x00002c5d cmpq $38, %rax + 0x0f, 0x84, 0x36, 0x00, 0x00, 0x00, //0x00002c61 je LBB0_641 + 0x41, 0x38, 0x0c, 0x04, //0x00002c67 cmpb %cl, (%r12,%rax) + 0x0f, 0x85, 0x35, 0x00, 0x00, 0x00, //0x00002c6b jne LBB0_642 + 0x48, 0x8d, 0x0d, 0xc8, 0x35, 0x00, 0x00, //0x00002c71 leaq $13768(%rip), %rcx /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0xb6, 0x8c, 0x08, 0x8d, 0x15, 0x00, 0x00, //0x00002c78 movzbl $5517(%rax,%rcx), %ecx + 0x48, 0xff, 0xc0, //0x00002c80 incq %rax + 0x49, 0x39, 0xc5, //0x00002c83 cmpq %rax, %r13 + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x00002c86 jne LBB0_637 + 0x84, 0xc9, //0x00002c8c testb %cl, %cl + 0x4c, 0x8b, 0x7d, 0xa8, //0x00002c8e movq $-88(%rbp), %r15 + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x00002c92 jne LBB0_643 + 0xe9, 0x19, 0x00, 0x00, 0x00, //0x00002c98 jmp LBB0_644 + //0x00002c9d LBB0_641 + 0x4c, 0x8b, 0x7d, 0xa8, //0x00002c9d movq $-88(%rbp), %r15 + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00002ca1 jmp LBB0_644 + //0x00002ca6 LBB0_642 + 0x4c, 0x8b, 0x7d, 0xa8, //0x00002ca6 movq $-88(%rbp), %r15 + 0x0f, 0x8d, 0x06, 0x00, 0x00, 0x00, //0x00002caa jge LBB0_644 + //0x00002cb0 LBB0_643 + 0x41, 0xba, 0x0f, 0x00, 0x00, 0x00, //0x00002cb0 movl $15, %r10d + //0x00002cb6 LBB0_644 + 0x85, 0xf6, //0x00002cb6 testl %esi, %esi + 0x0f, 0x8e, 0xf6, 0x00, 0x00, 0x00, //0x00002cb8 jle LBB0_655 + 0x44, 0x01, 0xd6, //0x00002cbe addl %r10d, %esi + 0x48, 0x63, 0xfe, //0x00002cc1 movslq %esi, %rdi + 0x48, 0xff, 0xcf, //0x00002cc4 decq %rdi + 0x49, 0xff, 0xc5, //0x00002cc7 incq %r13 + 0x31, 0xc9, //0x00002cca xorl %ecx, %ecx + 0x49, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00002ccc movabsq $-432345564227567616, %r11 + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00002cd6 jmp LBB0_648 + //0x00002cdb LBB0_646 + 0x48, 0x85, 0xc0, //0x00002cdb testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00002cde movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00002ce3 cmovnel %eax, %r14d + //0x00002ce7 LBB0_647 + 0xff, 0xce, //0x00002ce7 decl %esi + 0x48, 0xff, 0xcf, //0x00002ce9 decq %rdi + 0x49, 0xff, 0xcd, //0x00002cec decq %r13 + 0x49, 0x83, 0xfd, 0x01, //0x00002cef cmpq $1, %r13 + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00002cf3 jle LBB0_650 + //0x00002cf9 LBB0_648 + 0x4b, 0x0f, 0xbe, 0x5c, 0x2c, 0xfe, //0x00002cf9 movsbq $-2(%r12,%r13), %rbx + 0x48, 0xc1, 0xe3, 0x35, //0x00002cff shlq $53, %rbx + 0x48, 0x01, 0xcb, //0x00002d03 addq %rcx, %rbx + 0x4c, 0x01, 0xdb, //0x00002d06 addq %r11, %rbx + 0x48, 0x89, 0xd8, //0x00002d09 movq %rbx, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002d0c movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00002d16 mulq %rcx + 0x48, 0x89, 0xd1, //0x00002d19 movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x00002d1c shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00002d20 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00002d24 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x00002d28 movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x00002d2b subq %rdx, %rax + 0x4c, 0x39, 0xff, //0x00002d2e cmpq %r15, %rdi + 0x0f, 0x83, 0xa4, 0xff, 0xff, 0xff, //0x00002d31 jae LBB0_646 + 0x04, 0x30, //0x00002d37 addb $48, %al + 0x41, 0x88, 0x04, 0x3c, //0x00002d39 movb %al, (%r12,%rdi) + 0xe9, 0xa5, 0xff, 0xff, 0xff, //0x00002d3d jmp LBB0_647 + //0x00002d42 LBB0_650 + 0x48, 0x83, 0xfb, 0x0a, //0x00002d42 cmpq $10, %rbx + 0x0f, 0x82, 0x68, 0x00, 0x00, 0x00, //0x00002d46 jb LBB0_655 + 0x48, 0x63, 0xf6, //0x00002d4c movslq %esi, %rsi + 0x48, 0xff, 0xce, //0x00002d4f decq %rsi + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x00002d52 movl $1, %edi + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002d57 jmp LBB0_653 + //0x00002d5c LBB0_652 + 0x48, 0x85, 0xc0, //0x00002d5c testq %rax, %rax + 0x44, 0x0f, 0x45, 0xf7, //0x00002d5f cmovnel %edi, %r14d + 0x48, 0xff, 0xce, //0x00002d63 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00002d66 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00002d6a movq %rdx, %rcx + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x00002d6d jbe LBB0_655 + //0x00002d73 LBB0_653 + 0x48, 0x89, 0xc8, //0x00002d73 movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002d76 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00002d80 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00002d83 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00002d87 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x1c, 0x80, //0x00002d8b leaq (%rax,%rax,4), %rbx + 0x48, 0x89, 0xc8, //0x00002d8f movq %rcx, %rax + 0x48, 0x29, 0xd8, //0x00002d92 subq %rbx, %rax + 0x4c, 0x39, 0xfe, //0x00002d95 cmpq %r15, %rsi + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x00002d98 jae LBB0_652 + 0x04, 0x30, //0x00002d9e addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00002da0 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x00002da4 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00002da7 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00002dab movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00002dae ja LBB0_653 + //0x00002db4 LBB0_655 + 0x45, 0x01, 0xd0, //0x00002db4 addl %r10d, %r8d + 0x49, 0x63, 0xc0, //0x00002db7 movslq %r8d, %rax + 0x49, 0x39, 0xc7, //0x00002dba cmpq %rax, %r15 + 0x41, 0x0f, 0x46, 0xc7, //0x00002dbd cmovbel %r15d, %eax + 0x48, 0x8b, 0x4d, 0xc8, //0x00002dc1 movq $-56(%rbp), %rcx + 0x44, 0x01, 0xd1, //0x00002dc5 addl %r10d, %ecx + 0x48, 0x89, 0x4d, 0xc8, //0x00002dc8 movq %rcx, $-56(%rbp) + 0x85, 0xc0, //0x00002dcc testl %eax, %eax + 0x0f, 0x8e, 0x34, 0x00, 0x00, 0x00, //0x00002dce jle LBB0_660 + 0x89, 0xc1, //0x00002dd4 movl %eax, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x00002dd6 cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0x2e, 0x00, 0x00, 0x00, //0x00002ddc jne LBB0_661 + //0x00002de2 LBB0_657 + 0x48, 0x83, 0xf9, 0x01, //0x00002de2 cmpq $1, %rcx + 0x0f, 0x8e, 0x18, 0x00, 0x00, 0x00, //0x00002de6 jle LBB0_659 + 0x48, 0x8d, 0x41, 0xff, //0x00002dec leaq $-1(%rcx), %rax + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x00002df0 cmpb $48, $-2(%r12,%rcx) + 0x48, 0x89, 0xc1, //0x00002df6 movq %rax, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002df9 je LBB0_657 + 0xe9, 0x0c, 0x00, 0x00, 0x00, //0x00002dff jmp LBB0_661 + //0x00002e04 LBB0_659 + 0xff, 0xc9, //0x00002e04 decl %ecx + 0x89, 0xc8, //0x00002e06 movl %ecx, %eax + //0x00002e08 LBB0_660 + 0x85, 0xc0, //0x00002e08 testl %eax, %eax + 0x0f, 0x84, 0x0e, 0x01, 0x00, 0x00, //0x00002e0a je LBB0_683 + //0x00002e10 LBB0_661 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00002e10 movq $-48(%rbp), %r13 + //0x00002e14 LBB0_662 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00002e14 movq $-80(%rbp), %r11 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002e18 movabsq $4503599627370495, %rcx + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00002e22 movq $-1, %rdi + 0x48, 0x8b, 0x75, 0xc8, //0x00002e29 movq $-56(%rbp), %rsi + 0x83, 0xfe, 0x14, //0x00002e2d cmpl $20, %esi + 0x0f, 0x8f, 0x72, 0x01, 0x00, 0x00, //0x00002e30 jg LBB0_691 + 0x89, 0xf2, //0x00002e36 movl %esi, %edx + 0x85, 0xf6, //0x00002e38 testl %esi, %esi + 0x0f, 0x8e, 0x32, 0x00, 0x00, 0x00, //0x00002e3a jle LBB0_668 + 0x48, 0x63, 0xf0, //0x00002e40 movslq %eax, %rsi + 0x31, 0xff, //0x00002e43 xorl %edi, %edi + 0x31, 0xc9, //0x00002e45 xorl %ecx, %ecx + //0x00002e47 LBB0_665 + 0x48, 0x39, 0xf7, //0x00002e47 cmpq %rsi, %rdi + 0x0f, 0x8d, 0x1a, 0x00, 0x00, 0x00, //0x00002e4a jge LBB0_667 + 0x48, 0x8d, 0x0c, 0x89, //0x00002e50 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x1c, 0x3c, //0x00002e54 movsbq (%r12,%rdi), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x00002e59 leaq $-48(%rbx,%rcx,2), %rcx + 0x48, 0xff, 0xc7, //0x00002e5e incq %rdi + 0x48, 0x39, 0xfa, //0x00002e61 cmpq %rdi, %rdx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x00002e64 jne LBB0_665 + //0x00002e6a LBB0_667 + 0x45, 0x31, 0xc0, //0x00002e6a xorl %r8d, %r8d + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00002e6d jmp LBB0_669 + //0x00002e72 LBB0_668 + 0x31, 0xff, //0x00002e72 xorl %edi, %edi + 0x41, 0xb0, 0x01, //0x00002e74 movb $1, %r8b + 0x31, 0xc9, //0x00002e77 xorl %ecx, %ecx + //0x00002e79 LBB0_669 + 0x48, 0x8b, 0x75, 0xc8, //0x00002e79 movq $-56(%rbp), %rsi + 0x29, 0xfe, //0x00002e7d subl %edi, %esi + 0x0f, 0x8e, 0x4a, 0x00, 0x00, 0x00, //0x00002e7f jle LBB0_677 + 0x41, 0x89, 0xfa, //0x00002e85 movl %edi, %r10d + 0x41, 0xf7, 0xd2, //0x00002e88 notl %r10d + 0x44, 0x03, 0x55, 0xc8, //0x00002e8b addl $-56(%rbp), %r10d + 0x83, 0xe6, 0x07, //0x00002e8f andl $7, %esi + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00002e92 je LBB0_674 + 0xf7, 0xde, //0x00002e98 negl %esi + 0x31, 0xdb, //0x00002e9a xorl %ebx, %ebx + //0x00002e9c LBB0_672 + 0x48, 0x01, 0xc9, //0x00002e9c addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00002e9f leaq (%rcx,%rcx,4), %rcx + 0xff, 0xcb, //0x00002ea3 decl %ebx + 0x39, 0xde, //0x00002ea5 cmpl %ebx, %esi + 0x0f, 0x85, 0xef, 0xff, 0xff, 0xff, //0x00002ea7 jne LBB0_672 + 0x29, 0xdf, //0x00002ead subl %ebx, %edi + //0x00002eaf LBB0_674 + 0x41, 0x83, 0xfa, 0x07, //0x00002eaf cmpl $7, %r10d + 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00002eb3 jb LBB0_677 + 0x48, 0x8b, 0x75, 0xc8, //0x00002eb9 movq $-56(%rbp), %rsi + 0x29, 0xfe, //0x00002ebd subl %edi, %esi + //0x00002ebf LBB0_676 + 0x48, 0x69, 0xc9, 0x00, 0xe1, 0xf5, 0x05, //0x00002ebf imulq $100000000, %rcx, %rcx + 0x83, 0xc6, 0xf8, //0x00002ec6 addl $-8, %esi + 0x0f, 0x85, 0xf0, 0xff, 0xff, 0xff, //0x00002ec9 jne LBB0_676 + //0x00002ecf LBB0_677 + 0x31, 0xff, //0x00002ecf xorl %edi, %edi + 0x48, 0x8b, 0x75, 0xc8, //0x00002ed1 movq $-56(%rbp), %rsi + 0x85, 0xf6, //0x00002ed5 testl %esi, %esi + 0x0f, 0x88, 0x51, 0x00, 0x00, 0x00, //0x00002ed7 js LBB0_685 + 0x39, 0xf0, //0x00002edd cmpl %esi, %eax + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00002edf jle LBB0_685 + 0x41, 0x8a, 0x14, 0x14, //0x00002ee5 movb (%r12,%rdx), %dl + 0xff, 0xc6, //0x00002ee9 incl %esi + 0x39, 0xc6, //0x00002eeb cmpl %eax, %esi + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x00002eed jne LBB0_684 + 0x80, 0xfa, 0x35, //0x00002ef3 cmpb $53, %dl + 0x0f, 0x85, 0x2b, 0x00, 0x00, 0x00, //0x00002ef6 jne LBB0_684 + 0x45, 0x85, 0xf6, //0x00002efc testl %r14d, %r14d + 0x40, 0x0f, 0x95, 0xc7, //0x00002eff setne %dil + 0x41, 0x08, 0xf8, //0x00002f03 orb %dil, %r8b + 0x0f, 0x85, 0x22, 0x00, 0x00, 0x00, //0x00002f06 jne LBB0_685 + 0x48, 0x63, 0x45, 0xc8, //0x00002f0c movslq $-56(%rbp), %rax + 0x42, 0x8a, 0x7c, 0x20, 0xff, //0x00002f10 movb $-1(%rax,%r12), %dil + 0x40, 0x80, 0xe7, 0x01, //0x00002f15 andb $1, %dil + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00002f19 jmp LBB0_685 + //0x00002f1e LBB0_683 + 0x31, 0xc9, //0x00002f1e xorl %ecx, %ecx + 0x31, 0xff, //0x00002f20 xorl %edi, %edi + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00002f22 jmp LBB0_685 + //0x00002f27 LBB0_684 + 0x80, 0xfa, 0x34, //0x00002f27 cmpb $52, %dl + 0x40, 0x0f, 0x9f, 0xc7, //0x00002f2a setg %dil + //0x00002f2e LBB0_685 + 0x40, 0x0f, 0xb6, 0xff, //0x00002f2e movzbl %dil, %edi + 0x48, 0x01, 0xcf, //0x00002f32 addq %rcx, %rdi + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, //0x00002f35 movabsq $9007199254740992, %rax + 0x48, 0x39, 0xc7, //0x00002f3f cmpq %rax, %rdi + 0x0f, 0x85, 0x30, 0x00, 0x00, 0x00, //0x00002f42 jne LBB0_689 + 0x41, 0x81, 0xf9, 0xfe, 0x03, 0x00, 0x00, //0x00002f48 cmpl $1022, %r9d + 0x0f, 0x8e, 0x3a, 0x00, 0x00, 0x00, //0x00002f4f jle LBB0_690 + 0x31, 0xff, //0x00002f55 xorl %edi, %edi + 0x49, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00002f57 movabsq $9218868437227405312, %r9 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00002f61 movq $-48(%rbp), %r13 + //0x00002f65 LBB0_688 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00002f65 movq $-80(%rbp), %r11 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002f69 movabsq $4503599627370495, %rcx + 0xe9, 0xc4, 0xe8, 0xff, 0xff, //0x00002f73 jmp LBB0_326 + //0x00002f78 LBB0_689 + 0x4c, 0x8b, 0x6d, 0xd0, //0x00002f78 movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00002f7c movq $-80(%rbp), %r11 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002f80 movabsq $4503599627370495, %rcx + 0xe9, 0x19, 0x00, 0x00, 0x00, //0x00002f8a jmp LBB0_691 + //0x00002f8f LBB0_690 + 0x41, 0xff, 0xc1, //0x00002f8f incl %r9d + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002f92 movabsq $4503599627370495, %rcx + 0x48, 0x8d, 0x79, 0x01, //0x00002f9c leaq $1(%rcx), %rdi + 0x4c, 0x8b, 0x6d, 0xd0, //0x00002fa0 movq $-48(%rbp), %r13 + 0x4c, 0x8b, 0x5d, 0xb0, //0x00002fa4 movq $-80(%rbp), %r11 + //0x00002fa8 LBB0_691 + 0x8a, 0x55, 0xa0, //0x00002fa8 movb $-96(%rbp), %dl + 0x48, 0x8d, 0x41, 0x01, //0x00002fab leaq $1(%rcx), %rax + 0x48, 0x21, 0xf8, //0x00002faf andq %rdi, %rax + 0x41, 0x81, 0xc1, 0xff, 0x03, 0x00, 0x00, //0x00002fb2 addl $1023, %r9d + 0x41, 0x81, 0xe1, 0xff, 0x07, 0x00, 0x00, //0x00002fb9 andl $2047, %r9d + 0x49, 0xc1, 0xe1, 0x34, //0x00002fc0 shlq $52, %r9 + 0x48, 0x85, 0xc0, //0x00002fc4 testq %rax, %rax + 0x4c, 0x0f, 0x44, 0xc8, //0x00002fc7 cmoveq %rax, %r9 + 0xe9, 0x6f, 0xe8, 0xff, 0xff, //0x00002fcb jmp LBB0_327 + //0x00002fd0 LBB0_692 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002fd0 movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00002fd7 xorl %r15d, %r15d + 0x49, 0x83, 0xfc, 0x20, //0x00002fda cmpq $32, %r12 + 0x0f, 0x83, 0x0c, 0xe1, 0xff, 0xff, //0x00002fde jae LBB0_231 + 0xe9, 0xb8, 0x01, 0x00, 0x00, //0x00002fe4 jmp LBB0_717 + //0x00002fe9 LBB0_693 + 0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00002fe9 movq $-1, %r8 + 0x45, 0x31, 0xff, //0x00002ff0 xorl %r15d, %r15d + 0x49, 0x83, 0xfc, 0x20, //0x00002ff3 cmpq $32, %r12 + 0x0f, 0x83, 0xb9, 0xe1, 0xff, 0xff, //0x00002ff7 jae LBB0_240 + 0xe9, 0x77, 0x00, 0x00, 0x00, //0x00002ffd jmp LBB0_701 + //0x00003002 LBB0_694 + 0x44, 0x89, 0xfa, //0x00003002 movl %r15d, %edx + 0xf7, 0xd2, //0x00003005 notl %edx + 0x21, 0xca, //0x00003007 andl %ecx, %edx + 0x44, 0x8d, 0x14, 0x12, //0x00003009 leal (%rdx,%rdx), %r10d + 0x45, 0x09, 0xfa, //0x0000300d orl %r15d, %r10d + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x00003010 movl $2863311530, %ebx + 0x44, 0x31, 0xd3, //0x00003015 xorl %r10d, %ebx + 0x21, 0xcb, //0x00003018 andl %ecx, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000301a andl $-1431655766, %ebx + 0x45, 0x31, 0xff, //0x00003020 xorl %r15d, %r15d + 0x01, 0xd3, //0x00003023 addl %edx, %ebx + 0x41, 0x0f, 0x92, 0xc7, //0x00003025 setb %r15b + 0x01, 0xdb, //0x00003029 addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x0000302b xorl $1431655765, %ebx + 0x44, 0x21, 0xd3, //0x00003031 andl %r10d, %ebx + 0xf7, 0xd3, //0x00003034 notl %ebx + 0x21, 0xdf, //0x00003036 andl %ebx, %edi + 0x48, 0xc1, 0xe0, 0x10, //0x00003038 shlq $16, %rax + 0x48, 0x85, 0xff, //0x0000303c testq %rdi, %rdi + 0x0f, 0x85, 0x20, 0xe2, 0xff, 0xff, //0x0000303f jne LBB0_244 + //0x00003045 LBB0_695 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x00003045 movl $64, %ecx + //0x0000304a LBB0_696 + 0x4c, 0x09, 0xc8, //0x0000304a orq %r9, %rax + 0x48, 0x85, 0xff, //0x0000304d testq %rdi, %rdi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00003050 je LBB0_699 + 0x48, 0x85, 0xc0, //0x00003056 testq %rax, %rax + 0x0f, 0x84, 0xa6, 0x00, 0x00, 0x00, //0x00003059 je LBB0_709 + 0x48, 0x0f, 0xbc, 0xc0, //0x0000305f bsfq %rax, %rax + 0xe9, 0xa2, 0x00, 0x00, 0x00, //0x00003063 jmp LBB0_710 + //0x00003068 LBB0_699 + 0x48, 0x85, 0xc0, //0x00003068 testq %rax, %rax + 0x0f, 0x85, 0xb0, 0x00, 0x00, 0x00, //0x0000306b jne LBB0_712 + 0x49, 0x83, 0xc5, 0x20, //0x00003071 addq $32, %r13 + 0x49, 0x83, 0xc4, 0xe0, //0x00003075 addq $-32, %r12 + //0x00003079 LBB0_701 + 0x4d, 0x85, 0xff, //0x00003079 testq %r15, %r15 + 0x0f, 0x85, 0xba, 0x01, 0x00, 0x00, //0x0000307c jne LBB0_727 + 0x4c, 0x89, 0xc0, //0x00003082 movq %r8, %rax + 0x4d, 0x85, 0xe4, //0x00003085 testq %r12, %r12 + 0x0f, 0x84, 0x1b, 0x02, 0x00, 0x00, //0x00003088 je LBB0_731 + //0x0000308e LBB0_703 + 0x41, 0x0f, 0xb6, 0x4d, 0x00, //0x0000308e movzbl (%r13), %ecx + 0x80, 0xf9, 0x22, //0x00003093 cmpb $34, %cl + 0x0f, 0x84, 0x95, 0x00, 0x00, 0x00, //0x00003096 je LBB0_713 + 0x80, 0xf9, 0x5c, //0x0000309c cmpb $92, %cl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x0000309f je LBB0_707 + 0x80, 0xf9, 0x20, //0x000030a5 cmpb $32, %cl + 0x0f, 0x82, 0x73, 0x00, 0x00, 0x00, //0x000030a8 jb LBB0_712 + 0x48, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x000030ae movq $-1, %rcx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x000030b5 movl $1, %edx + 0x49, 0x01, 0xd5, //0x000030ba addq %rdx, %r13 + 0x49, 0x01, 0xcc, //0x000030bd addq %rcx, %r12 + 0x0f, 0x85, 0xc8, 0xff, 0xff, 0xff, //0x000030c0 jne LBB0_703 + 0xe9, 0xde, 0x01, 0x00, 0x00, //0x000030c6 jmp LBB0_731 + //0x000030cb LBB0_707 + 0x49, 0x83, 0xfc, 0x01, //0x000030cb cmpq $1, %r12 + 0x0f, 0x84, 0xd4, 0x01, 0x00, 0x00, //0x000030cf je LBB0_731 + 0x4c, 0x89, 0xe9, //0x000030d5 movq %r13, %rcx + 0x48, 0x2b, 0x4d, 0xc0, //0x000030d8 subq $-64(%rbp), %rcx + 0x48, 0x83, 0xf8, 0xff, //0x000030dc cmpq $-1, %rax + 0x4c, 0x0f, 0x44, 0xc1, //0x000030e0 cmoveq %rcx, %r8 + 0x48, 0x0f, 0x44, 0xc1, //0x000030e4 cmoveq %rcx, %rax + 0x48, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000030e8 movq $-2, %rcx + 0xba, 0x02, 0x00, 0x00, 0x00, //0x000030ef movl $2, %edx + 0x49, 0x01, 0xd5, //0x000030f4 addq %rdx, %r13 + 0x49, 0x01, 0xcc, //0x000030f7 addq %rcx, %r12 + 0x0f, 0x85, 0x8e, 0xff, 0xff, 0xff, //0x000030fa jne LBB0_703 + 0xe9, 0xa4, 0x01, 0x00, 0x00, //0x00003100 jmp LBB0_731 + //0x00003105 LBB0_709 + 0xb8, 0x40, 0x00, 0x00, 0x00, //0x00003105 movl $64, %eax + //0x0000310a LBB0_710 + 0x48, 0x39, 0xc8, //0x0000310a cmpq %rcx, %rax + 0x0f, 0x82, 0x0e, 0x00, 0x00, 0x00, //0x0000310d jb LBB0_712 + 0x4c, 0x2b, 0x6d, 0xc0, //0x00003113 subq $-64(%rbp), %r13 + 0x4d, 0x8d, 0x5c, 0x0d, 0x01, //0x00003117 leaq $1(%r13,%rcx), %r11 + 0xe9, 0x52, 0xe0, 0xff, 0xff, //0x0000311c jmp LBB0_237 + //0x00003121 LBB0_712 + 0x49, 0xc7, 0xc3, 0xfe, 0xff, 0xff, 0xff, //0x00003121 movq $-2, %r11 + 0x48, 0x8b, 0x4d, 0xd0, //0x00003128 movq $-48(%rbp), %rcx + 0xe9, 0x83, 0x01, 0x00, 0x00, //0x0000312c jmp LBB0_732 + //0x00003131 LBB0_713 + 0x4c, 0x2b, 0x6d, 0xc0, //0x00003131 subq $-64(%rbp), %r13 + 0x49, 0xff, 0xc5, //0x00003135 incq %r13 + 0x4d, 0x89, 0xeb, //0x00003138 movq %r13, %r11 + 0xe9, 0x33, 0xe0, 0xff, 0xff, //0x0000313b jmp LBB0_237 + //0x00003140 LBB0_714 + 0x4c, 0x89, 0xe9, //0x00003140 movq %r13, %rcx + 0x48, 0x2b, 0x4d, 0xc0, //0x00003143 subq $-64(%rbp), %rcx + 0x4c, 0x0f, 0xbc, 0xc0, //0x00003147 bsfq %rax, %r8 + 0x49, 0x01, 0xc8, //0x0000314b addq %rcx, %r8 + 0x48, 0x09, 0xd7, //0x0000314e orq %rdx, %rdi + 0x48, 0x89, 0xc1, //0x00003151 movq %rax, %rcx + 0x4c, 0x09, 0xf9, //0x00003154 orq %r15, %rcx + 0x0f, 0x84, 0x00, 0xe0, 0xff, 0xff, //0x00003157 je LBB0_234 + //0x0000315d LBB0_715 + 0x44, 0x89, 0xf9, //0x0000315d movl %r15d, %ecx + 0xf7, 0xd1, //0x00003160 notl %ecx + 0x21, 0xc1, //0x00003162 andl %eax, %ecx + 0x8d, 0x14, 0x09, //0x00003164 leal (%rcx,%rcx), %edx + 0x44, 0x09, 0xfa, //0x00003167 orl %r15d, %edx + 0xbb, 0xaa, 0xaa, 0xaa, 0xaa, //0x0000316a movl $2863311530, %ebx + 0x31, 0xd3, //0x0000316f xorl %edx, %ebx + 0x21, 0xc3, //0x00003171 andl %eax, %ebx + 0x81, 0xe3, 0xaa, 0xaa, 0xaa, 0xaa, //0x00003173 andl $-1431655766, %ebx + 0x45, 0x31, 0xff, //0x00003179 xorl %r15d, %r15d + 0x01, 0xcb, //0x0000317c addl %ecx, %ebx + 0x41, 0x0f, 0x92, 0xc7, //0x0000317e setb %r15b + 0x01, 0xdb, //0x00003182 addl %ebx, %ebx + 0x81, 0xf3, 0x55, 0x55, 0x55, 0x55, //0x00003184 xorl $1431655765, %ebx + 0x21, 0xd3, //0x0000318a andl %edx, %ebx + 0xf7, 0xd3, //0x0000318c notl %ebx + 0x21, 0xdf, //0x0000318e andl %ebx, %edi + 0x48, 0x85, 0xff, //0x00003190 testq %rdi, %rdi + 0x0f, 0x85, 0xcd, 0xdf, 0xff, 0xff, //0x00003193 jne LBB0_235 + //0x00003199 LBB0_716 + 0x49, 0x83, 0xc5, 0x20, //0x00003199 addq $32, %r13 + 0x49, 0x83, 0xc4, 0xe0, //0x0000319d addq $-32, %r12 + //0x000031a1 LBB0_717 + 0x4d, 0x85, 0xff, //0x000031a1 testq %r15, %r15 + 0x0f, 0x85, 0xcb, 0x00, 0x00, 0x00, //0x000031a4 jne LBB0_729 + 0x4d, 0x89, 0xc1, //0x000031aa movq %r8, %r9 + 0x4d, 0x85, 0xe4, //0x000031ad testq %r12, %r12 + 0x0f, 0x84, 0xf3, 0x00, 0x00, 0x00, //0x000031b0 je LBB0_731 + //0x000031b6 LBB0_719 + 0x48, 0x8b, 0x55, 0xc0, //0x000031b6 movq $-64(%rbp), %rdx + 0x48, 0xf7, 0xd2, //0x000031ba notq %rdx + //0x000031bd LBB0_720 + 0x4d, 0x8d, 0x5d, 0x01, //0x000031bd leaq $1(%r13), %r11 + 0x41, 0x0f, 0xb6, 0x45, 0x00, //0x000031c1 movzbl (%r13), %eax + 0x3c, 0x22, //0x000031c6 cmpb $34, %al + 0x0f, 0x84, 0x52, 0x00, 0x00, 0x00, //0x000031c8 je LBB0_725 + 0x49, 0x8d, 0x5c, 0x24, 0xff, //0x000031ce leaq $-1(%r12), %rbx + 0x3c, 0x5c, //0x000031d3 cmpb $92, %al + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000031d5 je LBB0_723 + 0x49, 0x89, 0xdc, //0x000031db movq %rbx, %r12 + 0x4d, 0x89, 0xdd, //0x000031de movq %r11, %r13 + 0x48, 0x85, 0xdb, //0x000031e1 testq %rbx, %rbx + 0x0f, 0x85, 0xd3, 0xff, 0xff, 0xff, //0x000031e4 jne LBB0_720 + 0xe9, 0xba, 0x00, 0x00, 0x00, //0x000031ea jmp LBB0_731 + //0x000031ef LBB0_723 + 0x48, 0x85, 0xdb, //0x000031ef testq %rbx, %rbx + 0x0f, 0x84, 0xb1, 0x00, 0x00, 0x00, //0x000031f2 je LBB0_731 + 0x49, 0x01, 0xd3, //0x000031f8 addq %rdx, %r11 + 0x49, 0x83, 0xf9, 0xff, //0x000031fb cmpq $-1, %r9 + 0x4d, 0x0f, 0x44, 0xc3, //0x000031ff cmoveq %r11, %r8 + 0x4d, 0x0f, 0x44, 0xcb, //0x00003203 cmoveq %r11, %r9 + 0x49, 0x83, 0xc5, 0x02, //0x00003207 addq $2, %r13 + 0x49, 0x83, 0xc4, 0xfe, //0x0000320b addq $-2, %r12 + 0x4c, 0x89, 0xe3, //0x0000320f movq %r12, %rbx + 0x48, 0x85, 0xdb, //0x00003212 testq %rbx, %rbx + 0x0f, 0x85, 0xa2, 0xff, 0xff, 0xff, //0x00003215 jne LBB0_720 + 0xe9, 0x89, 0x00, 0x00, 0x00, //0x0000321b jmp LBB0_731 + //0x00003220 LBB0_725 + 0x4c, 0x2b, 0x5d, 0xc0, //0x00003220 subq $-64(%rbp), %r11 + 0xe9, 0x4a, 0xdf, 0xff, 0xff, //0x00003224 jmp LBB0_237 + //0x00003229 LBB0_726 + 0x4c, 0x89, 0xea, //0x00003229 movq %r13, %rdx + 0x48, 0x2b, 0x55, 0xc0, //0x0000322c subq $-64(%rbp), %rdx + 0x4c, 0x0f, 0xbc, 0xc1, //0x00003230 bsfq %rcx, %r8 + 0x49, 0x01, 0xd0, //0x00003234 addq %rdx, %r8 + 0xe9, 0x08, 0xe0, 0xff, 0xff, //0x00003237 jmp LBB0_242 + //0x0000323c LBB0_727 + 0x4d, 0x85, 0xe4, //0x0000323c testq %r12, %r12 + 0x0f, 0x84, 0x7a, 0x00, 0x00, 0x00, //0x0000323f je LBB0_733 + 0x48, 0x8b, 0x45, 0xc0, //0x00003245 movq $-64(%rbp), %rax + 0x48, 0xf7, 0xd0, //0x00003249 notq %rax + 0x4c, 0x01, 0xe8, //0x0000324c addq %r13, %rax + 0x49, 0x83, 0xf8, 0xff, //0x0000324f cmpq $-1, %r8 + 0x4c, 0x89, 0xc1, //0x00003253 movq %r8, %rcx + 0x48, 0x0f, 0x44, 0xc8, //0x00003256 cmoveq %rax, %rcx + 0x49, 0x0f, 0x45, 0xc0, //0x0000325a cmovneq %r8, %rax + 0x49, 0xff, 0xc5, //0x0000325e incq %r13 + 0x49, 0xff, 0xcc, //0x00003261 decq %r12 + 0x49, 0x89, 0xc8, //0x00003264 movq %rcx, %r8 + 0x4d, 0x85, 0xe4, //0x00003267 testq %r12, %r12 + 0x0f, 0x85, 0x1e, 0xfe, 0xff, 0xff, //0x0000326a jne LBB0_703 + 0xe9, 0x34, 0x00, 0x00, 0x00, //0x00003270 jmp LBB0_731 + //0x00003275 LBB0_729 + 0x4d, 0x85, 0xe4, //0x00003275 testq %r12, %r12 + 0x0f, 0x84, 0x41, 0x00, 0x00, 0x00, //0x00003278 je LBB0_733 + 0x4c, 0x8b, 0x4d, 0xc0, //0x0000327e movq $-64(%rbp), %r9 + 0x49, 0xf7, 0xd1, //0x00003282 notq %r9 + 0x4d, 0x01, 0xe9, //0x00003285 addq %r13, %r9 + 0x49, 0x83, 0xf8, 0xff, //0x00003288 cmpq $-1, %r8 + 0x4c, 0x89, 0xc0, //0x0000328c movq %r8, %rax + 0x49, 0x0f, 0x44, 0xc1, //0x0000328f cmoveq %r9, %rax + 0x4d, 0x0f, 0x45, 0xc8, //0x00003293 cmovneq %r8, %r9 + 0x49, 0xff, 0xc5, //0x00003297 incq %r13 + 0x49, 0xff, 0xcc, //0x0000329a decq %r12 + 0x49, 0x89, 0xc0, //0x0000329d movq %rax, %r8 + 0x4d, 0x85, 0xe4, //0x000032a0 testq %r12, %r12 + 0x0f, 0x85, 0x0d, 0xff, 0xff, 0xff, //0x000032a3 jne LBB0_719 + //0x000032a9 LBB0_731 + 0x48, 0x8b, 0x4d, 0xd0, //0x000032a9 movq $-48(%rbp), %rcx + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000032ad movq $-1, %r11 + //0x000032b4 LBB0_732 + 0x4c, 0x89, 0x19, //0x000032b4 movq %r11, (%rcx) + 0x49, 0x89, 0xf3, //0x000032b7 movq %rsi, %r11 + 0xe9, 0x30, 0xd0, 0xff, 0xff, //0x000032ba jmp LBB0_38 + //0x000032bf LBB0_733 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000032bf movq $-1, %r11 + 0x48, 0x8b, 0x4d, 0xd0, //0x000032c6 movq $-48(%rbp), %rcx + 0xe9, 0xe5, 0xff, 0xff, 0xff, //0x000032ca jmp LBB0_732 + 0x90, //0x000032cf .p2align 2, 0x90 + // // .set L0_0_set_37, LBB0_37-LJTI0_0 + // // .set L0_0_set_99, LBB0_99-LJTI0_0 + // // .set L0_0_set_100, LBB0_100-LJTI0_0 + // // .set L0_0_set_111, LBB0_111-LJTI0_0 + // // .set L0_0_set_30, LBB0_30-LJTI0_0 + // // .set L0_0_set_112, LBB0_112-LJTI0_0 + // // .set L0_0_set_113, LBB0_113-LJTI0_0 + // // .set L0_0_set_114, LBB0_114-LJTI0_0 + // // .set L0_0_set_115, LBB0_115-LJTI0_0 + // // .set L0_0_set_118, LBB0_118-LJTI0_0 + // // .set L0_0_set_121, LBB0_121-LJTI0_0 + // // .set L0_0_set_124, LBB0_124-LJTI0_0 + // // .set L0_0_set_125, LBB0_125-LJTI0_0 + //0x000032d0 LJTI0_0 + 0x17, 0xd0, 0xff, 0xff, //0x000032d0 .long L0_0_set_37 + 0x33, 0xd4, 0xff, 0xff, //0x000032d4 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000032d8 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000032dc .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000032e0 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000032e4 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000032e8 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000032ec .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000032f0 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000032f4 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000032f8 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000032fc .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003300 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003304 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003308 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000330c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003310 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003314 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003318 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000331c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003320 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003324 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003328 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000332c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003330 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003334 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003338 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000333c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003340 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003344 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003348 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000334c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003350 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003354 .long L0_0_set_99 + 0x43, 0xd4, 0xff, 0xff, //0x00003358 .long L0_0_set_100 + 0x33, 0xd4, 0xff, 0xff, //0x0000335c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003360 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003364 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003368 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000336c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003370 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003374 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003378 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000337c .long L0_0_set_99 + 0x08, 0xd6, 0xff, 0xff, //0x00003380 .long L0_0_set_111 + 0x93, 0xcf, 0xff, 0xff, //0x00003384 .long L0_0_set_30 + 0x33, 0xd4, 0xff, 0xff, //0x00003388 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000338c .long L0_0_set_99 + 0x93, 0xcf, 0xff, 0xff, //0x00003390 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x00003394 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x00003398 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x0000339c .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x000033a0 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x000033a4 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x000033a8 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x000033ac .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x000033b0 .long L0_0_set_30 + 0x93, 0xcf, 0xff, 0xff, //0x000033b4 .long L0_0_set_30 + 0x1a, 0xd6, 0xff, 0xff, //0x000033b8 .long L0_0_set_112 + 0x33, 0xd4, 0xff, 0xff, //0x000033bc .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033c0 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033c4 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033c8 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033cc .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033d0 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033d4 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033d8 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033dc .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033e0 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033e4 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033e8 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033ec .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033f0 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033f4 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033f8 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000033fc .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003400 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003404 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003408 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000340c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003410 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003414 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003418 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000341c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003420 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003424 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003428 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000342c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003430 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003434 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003438 .long L0_0_set_99 + 0x2c, 0xd6, 0xff, 0xff, //0x0000343c .long L0_0_set_113 + 0x33, 0xd4, 0xff, 0xff, //0x00003440 .long L0_0_set_99 + 0x39, 0xd6, 0xff, 0xff, //0x00003444 .long L0_0_set_114 + 0x33, 0xd4, 0xff, 0xff, //0x00003448 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000344c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003450 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003454 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003458 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000345c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003460 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003464 .long L0_0_set_99 + 0x4b, 0xd6, 0xff, 0xff, //0x00003468 .long L0_0_set_115 + 0x33, 0xd4, 0xff, 0xff, //0x0000346c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003470 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003474 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003478 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000347c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003480 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003484 .long L0_0_set_99 + 0x7d, 0xd6, 0xff, 0xff, //0x00003488 .long L0_0_set_118 + 0x33, 0xd4, 0xff, 0xff, //0x0000348c .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003490 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003494 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x00003498 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x0000349c .long L0_0_set_99 + 0xad, 0xd6, 0xff, 0xff, //0x000034a0 .long L0_0_set_121 + 0x33, 0xd4, 0xff, 0xff, //0x000034a4 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000034a8 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000034ac .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000034b0 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000034b4 .long L0_0_set_99 + 0x33, 0xd4, 0xff, 0xff, //0x000034b8 .long L0_0_set_99 + 0xdd, 0xd6, 0xff, 0xff, //0x000034bc .long L0_0_set_124 + 0x33, 0xd4, 0xff, 0xff, //0x000034c0 .long L0_0_set_99 + 0xea, 0xd6, 0xff, 0xff, //0x000034c4 .long L0_0_set_125 + // // .set L0_1_set_65, LBB0_65-LJTI0_1 + // // .set L0_1_set_75, LBB0_75-LJTI0_1 + // // .set L0_1_set_72, LBB0_72-LJTI0_1 + // // .set L0_1_set_67, LBB0_67-LJTI0_1 + // // .set L0_1_set_70, LBB0_70-LJTI0_1 + //0x000034c8 LJTI0_1 + 0x77, 0xd0, 0xff, 0xff, //0x000034c8 .long L0_1_set_65 + 0x01, 0xd1, 0xff, 0xff, //0x000034cc .long L0_1_set_75 + 0x77, 0xd0, 0xff, 0xff, //0x000034d0 .long L0_1_set_65 + 0xdc, 0xd0, 0xff, 0xff, //0x000034d4 .long L0_1_set_72 + 0x01, 0xd1, 0xff, 0xff, //0x000034d8 .long L0_1_set_75 + 0x98, 0xd0, 0xff, 0xff, //0x000034dc .long L0_1_set_67 + 0x98, 0xd0, 0xff, 0xff, //0x000034e0 .long L0_1_set_67 + 0x98, 0xd0, 0xff, 0xff, //0x000034e4 .long L0_1_set_67 + 0x98, 0xd0, 0xff, 0xff, //0x000034e8 .long L0_1_set_67 + 0x98, 0xd0, 0xff, 0xff, //0x000034ec .long L0_1_set_67 + 0x98, 0xd0, 0xff, 0xff, //0x000034f0 .long L0_1_set_67 + 0x98, 0xd0, 0xff, 0xff, //0x000034f4 .long L0_1_set_67 + 0x98, 0xd0, 0xff, 0xff, //0x000034f8 .long L0_1_set_67 + 0x98, 0xd0, 0xff, 0xff, //0x000034fc .long L0_1_set_67 + 0x98, 0xd0, 0xff, 0xff, //0x00003500 .long L0_1_set_67 + 0x01, 0xd1, 0xff, 0xff, //0x00003504 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003508 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x0000350c .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003510 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003514 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003518 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x0000351c .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003520 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003524 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003528 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x0000352c .long L0_1_set_75 + 0xc1, 0xd0, 0xff, 0xff, //0x00003530 .long L0_1_set_70 + 0x01, 0xd1, 0xff, 0xff, //0x00003534 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003538 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x0000353c .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003540 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003544 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003548 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x0000354c .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003550 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003554 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003558 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x0000355c .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003560 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003564 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003568 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x0000356c .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003570 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003574 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003578 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x0000357c .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003580 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003584 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003588 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x0000358c .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003590 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003594 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x00003598 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x0000359c .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x000035a0 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x000035a4 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x000035a8 .long L0_1_set_75 + 0x01, 0xd1, 0xff, 0xff, //0x000035ac .long L0_1_set_75 + 0xc1, 0xd0, 0xff, 0xff, //0x000035b0 .long L0_1_set_70 + //0x000035b4 .p2align 2, 0x00 + //0x000035b4 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x000035b4 .long 2 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000035b8 .p2align 4, 0x00 + //0x000035c0 _P10_TAB + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, //0x000035c0 .quad 4607182418800017408 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, //0x000035c8 .quad 4621819117588971520 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, //0x000035d0 .quad 4636737291354636288 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8f, 0x40, //0x000035d8 .quad 4652007308841189376 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xc3, 0x40, //0x000035e0 .quad 4666723172467343360 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0xf8, 0x40, //0x000035e8 .quad 4681608360884174848 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x84, 0x2e, 0x41, //0x000035f0 .quad 4696837146684686336 + 0x00, 0x00, 0x00, 0x00, 0xd0, 0x12, 0x63, 0x41, //0x000035f8 .quad 4711630319722168320 + 0x00, 0x00, 0x00, 0x00, 0x84, 0xd7, 0x97, 0x41, //0x00003600 .quad 4726483295884279808 + 0x00, 0x00, 0x00, 0x00, 0x65, 0xcd, 0xcd, 0x41, //0x00003608 .quad 4741671816366391296 + 0x00, 0x00, 0x00, 0x20, 0x5f, 0xa0, 0x02, 0x42, //0x00003610 .quad 4756540486875873280 + 0x00, 0x00, 0x00, 0xe8, 0x76, 0x48, 0x37, 0x42, //0x00003618 .quad 4771362005757984768 + 0x00, 0x00, 0x00, 0xa2, 0x94, 0x1a, 0x6d, 0x42, //0x00003620 .quad 4786511204640096256 + 0x00, 0x00, 0x40, 0xe5, 0x9c, 0x30, 0xa2, 0x42, //0x00003628 .quad 4801453603149578240 + 0x00, 0x00, 0x90, 0x1e, 0xc4, 0xbc, 0xd6, 0x42, //0x00003630 .quad 4816244402031689728 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0x43, //0x00003638 .quad 4831355200913801216 + 0x00, 0x80, 0xe0, 0x37, 0x79, 0xc3, 0x41, 0x43, //0x00003640 .quad 4846369599423283200 + 0x00, 0xa0, 0xd8, 0x85, 0x57, 0x34, 0x76, 0x43, //0x00003648 .quad 4861130398305394688 + 0x00, 0xc8, 0x4e, 0x67, 0x6d, 0xc1, 0xab, 0x43, //0x00003650 .quad 4876203697187506176 + 0x00, 0x3d, 0x91, 0x60, 0xe4, 0x58, 0xe1, 0x43, //0x00003658 .quad 4891288408196988160 + 0x40, 0x8c, 0xb5, 0x78, 0x1d, 0xaf, 0x15, 0x44, //0x00003660 .quad 4906019910204099648 + 0x50, 0xef, 0xe2, 0xd6, 0xe4, 0x1a, 0x4b, 0x44, //0x00003668 .quad 4921056587992461136 + 0x92, 0xd5, 0x4d, 0x06, 0xcf, 0xf0, 0x80, 0x44, //0x00003670 .quad 4936209963552724370 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003678 .p2align 4, 0x00 + //0x00003680 _POW10_M128_TAB + 0x53, 0xe4, 0x60, 0xcd, 0x69, 0xc8, 0x32, 0x17, //0x00003680 .quad 1671618768450675795 + 0x88, 0x02, 0x1c, 0x08, 0xa0, 0xd5, 0x8f, 0xfa, //0x00003688 .quad -391859759250406776 + 0xb4, 0x8e, 0x5c, 0x20, 0x42, 0xbd, 0x7f, 0x0e, //0x00003690 .quad 1044761730281672372 + 0x95, 0x81, 0x11, 0x05, 0x84, 0xe5, 0x99, 0x9c, //0x00003698 .quad -7162441377172586091 + 0x61, 0xb2, 0x73, 0xa8, 0x92, 0xac, 0x1f, 0x52, //0x000036a0 .quad 5917638181279478369 + 0xfa, 0xe1, 0x55, 0x06, 0xe5, 0x5e, 0xc0, 0xc3, //0x000036a8 .quad -4341365703038344710 + 0xf9, 0x9e, 0x90, 0x52, 0xb7, 0x97, 0xa7, 0xe6, //0x000036b0 .quad -1826324310255427847 + 0x78, 0x5a, 0xeb, 0x47, 0x9e, 0x76, 0xb0, 0xf4, //0x000036b8 .quad -815021110370542984 + 0x5c, 0x63, 0x9a, 0x93, 0xd2, 0xbe, 0x28, 0x90, //0x000036c0 .quad -8058981721550724260 + 0x8b, 0x18, 0xf3, 0xec, 0x22, 0x4a, 0xee, 0x98, //0x000036c8 .quad -7426917221622671221 + 0x33, 0xfc, 0x80, 0x38, 0x87, 0xee, 0x32, 0x74, //0x000036d0 .quad 8373016921771146291 + 0xae, 0xde, 0x2f, 0xa8, 0xab, 0xdc, 0x29, 0xbf, //0x000036d8 .quad -4671960508600951122 + 0x3f, 0x3b, 0xa1, 0x06, 0x29, 0xaa, 0x3f, 0x11, //0x000036e0 .quad 1242899115359157055 + 0x5a, 0xd6, 0x3b, 0x92, 0xd6, 0x53, 0xf4, 0xee, //0x000036e8 .quad -1228264617323800998 + 0x07, 0xc5, 0x24, 0xa4, 0x59, 0xca, 0xc7, 0x4a, //0x000036f0 .quad 5388497965526861063 + 0xf8, 0x65, 0x65, 0x1b, 0x66, 0xb4, 0x58, 0x95, //0x000036f8 .quad -7685194413468457480 + 0x49, 0xf6, 0x2d, 0x0d, 0xf0, 0xbc, 0x79, 0x5d, //0x00003700 .quad 6735622456908576329 + 0x76, 0xbf, 0x3e, 0xa2, 0x7f, 0xe1, 0xae, 0xba, //0x00003708 .quad -4994806998408183946 + 0xdc, 0x73, 0x79, 0x10, 0x2c, 0x2c, 0xd8, 0xf4, //0x00003710 .quad -803843965719055396 + 0x53, 0x6f, 0xce, 0x8a, 0xdf, 0x99, 0x5a, 0xe9, //0x00003718 .quad -1631822729582842029 + 0x69, 0xe8, 0x4b, 0x8a, 0x9b, 0x1b, 0x07, 0x79, //0x00003720 .quad 8720969558280366185 + 0x94, 0x05, 0xc1, 0xb6, 0x2b, 0xa0, 0xd8, 0x91, //0x00003728 .quad -7937418233630358124 + 0x84, 0xe2, 0xde, 0x6c, 0x82, 0xe2, 0x48, 0x97, //0x00003730 .quad -7545532125859093884 + 0xf9, 0x46, 0x71, 0xa4, 0x36, 0xc8, 0x4e, 0xb6, //0x00003738 .quad -5310086773610559751 + 0x25, 0x9b, 0x16, 0x08, 0x23, 0x1b, 0x1b, 0xfd, //0x00003740 .quad -208543120469091547 + 0xb7, 0x98, 0x8d, 0x4d, 0x44, 0x7a, 0xe2, 0xe3, //0x00003748 .quad -2025922448585811785 + 0xf7, 0x20, 0x0e, 0xe5, 0xf5, 0xf0, 0x30, 0xfe, //0x00003750 .quad -130339450293182217 + 0x72, 0x7f, 0x78, 0xb0, 0x6a, 0x8c, 0x6d, 0x8e, //0x00003758 .quad -8183730558007214222 + 0x35, 0xa9, 0x51, 0x5e, 0x33, 0x2d, 0xbd, 0xbd, //0x00003760 .quad -4774610331293865675 + 0x4f, 0x9f, 0x96, 0x5c, 0x85, 0xef, 0x08, 0xb2, //0x00003768 .quad -5617977179081629873 + 0x82, 0x13, 0xe6, 0x35, 0x80, 0x78, 0x2c, 0xad, //0x00003770 .quad -5968262914117332094 + 0x23, 0x47, 0xbc, 0xb3, 0x66, 0x2b, 0x8b, 0xde, //0x00003778 .quad -2410785455424649437 + 0x31, 0xcc, 0xaf, 0x21, 0x50, 0xcb, 0x3b, 0x4c, //0x00003780 .quad 5493207715531443249 + 0x76, 0xac, 0x55, 0x30, 0x20, 0xfb, 0x16, 0x8b, //0x00003788 .quad -8424269937281487754 + 0x3d, 0xbf, 0x1b, 0x2a, 0x24, 0xbe, 0x4a, 0xdf, //0x00003790 .quad -2356862392440471747 + 0x93, 0x17, 0x6b, 0x3c, 0xe8, 0xb9, 0xdc, 0xad, //0x00003798 .quad -5918651403174471789 + 0x0d, 0xaf, 0xa2, 0x34, 0xad, 0x6d, 0x1d, 0xd7, //0x000037a0 .quad -2946077990550589683 + 0x78, 0xdd, 0x85, 0x4b, 0x62, 0xe8, 0x53, 0xd9, //0x000037a8 .quad -2786628235540701832 + 0x68, 0xad, 0xe5, 0x40, 0x8c, 0x64, 0x72, 0x86, //0x000037b0 .quad -8758827771735200408 + 0x6b, 0xaa, 0x33, 0x6f, 0x3d, 0x71, 0xd4, 0x87, //0x000037b8 .quad -8659171674854020501 + 0xc2, 0x18, 0x1f, 0x51, 0xaf, 0xfd, 0x0e, 0x68, //0x000037c0 .quad 7498209359040551106 + 0x06, 0x95, 0x00, 0xcb, 0x8c, 0x8d, 0xc9, 0xa9, //0x000037c8 .quad -6212278575140137722 + 0xf2, 0xde, 0x66, 0x25, 0x1b, 0xbd, 0x12, 0x02, //0x000037d0 .quad 149389661945913074 + 0x48, 0xba, 0xc0, 0xfd, 0xef, 0xf0, 0x3b, 0xd4, //0x000037d8 .quad -3153662200497784248 + 0x57, 0x4b, 0x60, 0xf7, 0x30, 0xb6, 0x4b, 0x01, //0x000037e0 .quad 93368538716195671 + 0x6d, 0x74, 0x98, 0xfe, 0x95, 0x76, 0xa5, 0x84, //0x000037e8 .quad -8888567902952197011 + 0x2d, 0x5e, 0x38, 0x35, 0xbd, 0xa3, 0x9e, 0x41, //0x000037f0 .quad 4728396691822632493 + 0x88, 0x91, 0x3e, 0x7e, 0x3b, 0xd4, 0xce, 0xa5, //0x000037f8 .quad -6499023860262858360 + 0xb9, 0x75, 0x86, 0x82, 0xac, 0x4c, 0x06, 0x52, //0x00003800 .quad 5910495864778290617 + 0xea, 0x35, 0xce, 0x5d, 0x4a, 0x89, 0x42, 0xcf, //0x00003808 .quad -3512093806901185046 + 0x93, 0x09, 0x94, 0xd1, 0xeb, 0xef, 0x43, 0x73, //0x00003810 .quad 8305745933913819539 + 0xb2, 0xe1, 0xa0, 0x7a, 0xce, 0x95, 0x89, 0x81, //0x00003818 .quad -9112587656954322510 + 0xf8, 0x0b, 0xf9, 0xc5, 0xe6, 0xeb, 0x14, 0x10, //0x00003820 .quad 1158810380537498616 + 0x1f, 0x1a, 0x49, 0x19, 0x42, 0xfb, 0xeb, 0xa1, //0x00003828 .quad -6779048552765515233 + 0xf6, 0x4e, 0x77, 0x77, 0xe0, 0x26, 0x1a, 0xd4, //0x00003830 .quad -3163173042755514634 + 0xa6, 0x60, 0x9b, 0x9f, 0x12, 0xfa, 0x66, 0xca, //0x00003838 .quad -3862124672529506138 + 0xb4, 0x22, 0x55, 0x95, 0x98, 0xb0, 0x20, 0x89, //0x00003840 .quad -8565652321871781196 + 0xd0, 0x38, 0x82, 0x47, 0x97, 0xb8, 0x00, 0xfd, //0x00003848 .quad -215969822234494768 + 0xb0, 0x35, 0x55, 0x5d, 0x5f, 0x6e, 0xb4, 0x55, //0x00003850 .quad 6175682344898606512 + 0x82, 0x63, 0xb1, 0x8c, 0x5e, 0x73, 0x20, 0x9e, //0x00003858 .quad -7052510166537641086 + 0x1d, 0x83, 0xaa, 0x34, 0xf7, 0x89, 0x21, 0xeb, //0x00003860 .quad -1503769105731517667 + 0x62, 0xbc, 0xdd, 0x2f, 0x36, 0x90, 0xa8, 0xc5, //0x00003868 .quad -4203951689744663454 + 0xe4, 0x23, 0xd5, 0x01, 0x75, 0xec, 0xe9, 0xa5, //0x00003870 .quad -6491397400591784988 + 0x7b, 0x2b, 0xd5, 0xbb, 0x43, 0xb4, 0x12, 0xf7, //0x00003878 .quad -643253593753441413 + 0x6e, 0x36, 0x25, 0x21, 0xc9, 0x33, 0xb2, 0x47, //0x00003880 .quad 5166248661484910190 + 0x2d, 0x3b, 0x65, 0x55, 0xaa, 0xb0, 0x6b, 0x9a, //0x00003888 .quad -7319562523736982739 + 0x0a, 0x84, 0x6e, 0x69, 0xbb, 0xc0, 0x9e, 0x99, //0x00003890 .quad -7377247228426025974 + 0xf8, 0x89, 0xbe, 0xea, 0xd4, 0x9c, 0x06, 0xc1, //0x00003898 .quad -4537767136243840520 + 0x0d, 0x25, 0xca, 0x43, 0xea, 0x70, 0x06, 0xc0, //0x000038a0 .quad -4609873017105144563 + 0x76, 0x2c, 0x6e, 0x25, 0x0a, 0x44, 0x48, 0xf1, //0x000038a8 .quad -1060522901877412746 + 0x28, 0x57, 0x5e, 0x6a, 0x92, 0x06, 0x04, 0x38, //0x000038b0 .quad 4036358391950366504 + 0xca, 0xdb, 0x64, 0x57, 0x86, 0x2a, 0xcd, 0x96, //0x000038b8 .quad -7580355841314464822 + 0xf2, 0xec, 0xf5, 0x04, 0x37, 0x08, 0x05, 0xc6, //0x000038c0 .quad -4177924046916817678 + 0xbc, 0x12, 0x3e, 0xed, 0x27, 0x75, 0x80, 0xbc, //0x000038c8 .quad -4863758783215693124 + 0x2e, 0x68, 0x33, 0xc6, 0x44, 0x4a, 0x86, 0xf7, //0x000038d0 .quad -610719040218634194 + 0x6b, 0x97, 0x8d, 0xe8, 0x71, 0x92, 0xa0, 0xeb, //0x000038d8 .quad -1468012460592228501 + 0x1d, 0x21, 0xe0, 0xfb, 0x6a, 0xee, 0xb3, 0x7a, //0x000038e0 .quad 8841672636718129437 + 0xa3, 0x7e, 0x58, 0x31, 0x87, 0x5b, 0x44, 0x93, //0x000038e8 .quad -7835036815511224669 + 0x64, 0x29, 0xd8, 0xba, 0x05, 0xea, 0x60, 0x59, //0x000038f0 .quad 6440404777470273892 + 0x4c, 0x9e, 0xae, 0xfd, 0x68, 0x72, 0x15, 0xb8, //0x000038f8 .quad -5182110000961642932 + 0xbd, 0x33, 0x8e, 0x29, 0x87, 0x24, 0xb9, 0x6f, //0x00003900 .quad 8050505971837842365 + 0xdf, 0x45, 0x1a, 0x3d, 0x03, 0xcf, 0x1a, 0xe6, //0x00003908 .quad -1865951482774665761 + 0x56, 0xe0, 0xf8, 0x79, 0xd4, 0xb6, 0xd3, 0xa5, //0x00003910 .quad -6497648813669818282 + 0xab, 0x6b, 0x30, 0x06, 0x62, 0xc1, 0xd0, 0x8f, //0x00003918 .quad -8083748704375247957 + 0x6c, 0x18, 0x77, 0x98, 0x89, 0xa4, 0x48, 0x8f, //0x00003920 .quad -8122061017087272852 + 0x96, 0x86, 0xbc, 0x87, 0xba, 0xf1, 0xc4, 0xb3, //0x00003928 .quad -5492999862041672042 + 0x87, 0xde, 0x94, 0xfe, 0xab, 0xcd, 0x1a, 0x33, //0x00003930 .quad 3682481783923072647 + 0x3c, 0xa8, 0xab, 0x29, 0x29, 0x2e, 0xb6, 0xe0, //0x00003938 .quad -2254563809124702148 + 0x14, 0x0b, 0x1d, 0x7f, 0x8b, 0xc0, 0xf0, 0x9f, //0x00003940 .quad -6921820921902855404 + 0x25, 0x49, 0x0b, 0xba, 0xd9, 0xdc, 0x71, 0x8c, //0x00003948 .quad -8326631408344020699 + 0xd9, 0x4d, 0xe4, 0x5e, 0xae, 0xf0, 0xec, 0x07, //0x00003950 .quad 571095884476206553 + 0x6f, 0x1b, 0x8e, 0x28, 0x10, 0x54, 0x8e, 0xaf, //0x00003958 .quad -5796603242002637969 + 0x50, 0x61, 0x9d, 0xf6, 0xd9, 0x2c, 0xe8, 0xc9, //0x00003960 .quad -3897816162832129712 + 0x4a, 0xa2, 0xb1, 0x32, 0x14, 0xe9, 0x71, 0xdb, //0x00003968 .quad -2634068034075909558 + 0xd2, 0x5c, 0x22, 0x3a, 0x08, 0x1c, 0x31, 0xbe, //0x00003970 .quad -4741978110983775022 + 0x6e, 0x05, 0xaf, 0x9f, 0xac, 0x31, 0x27, 0x89, //0x00003978 .quad -8563821548938525330 + 0x06, 0xf4, 0xaa, 0x48, 0x0a, 0x63, 0xbd, 0x6d, //0x00003980 .quad 7907585416552444934 + 0xca, 0xc6, 0x9a, 0xc7, 0x17, 0xfe, 0x70, 0xab, //0x00003988 .quad -6093090917745768758 + 0x08, 0xb1, 0xd5, 0xda, 0xcc, 0xbb, 0x2c, 0x09, //0x00003990 .quad 661109733835780360 + 0x7d, 0x78, 0x81, 0xb9, 0x9d, 0x3d, 0x4d, 0xd6, //0x00003998 .quad -3004677628754823043 + 0xa5, 0x8e, 0xc5, 0x08, 0x60, 0xf5, 0xbb, 0x25, //0x000039a0 .quad 2719036592861056677 + 0x4e, 0xeb, 0xf0, 0x93, 0x82, 0x46, 0xf0, 0x85, //0x000039a8 .quad -8795452545612846258 + 0x4e, 0xf2, 0xf6, 0x0a, 0xb8, 0xf2, 0x2a, 0xaf, //0x000039b0 .quad -5824576295778454962 + 0x21, 0x26, 0xed, 0x38, 0x23, 0x58, 0x6c, 0xa7, //0x000039b8 .quad -6382629663588669919 + 0xe1, 0xae, 0xb4, 0x0d, 0x66, 0xaf, 0xf5, 0x1a, //0x000039c0 .quad 1942651667131707105 + 0xaa, 0x6f, 0x28, 0x07, 0x2c, 0x6e, 0x47, 0xd1, //0x000039c8 .quad -3366601061058449494 + 0x4d, 0xed, 0x90, 0xc8, 0x9f, 0x8d, 0xd9, 0x50, //0x000039d0 .quad 5825843310384704845 + 0xca, 0x45, 0x79, 0x84, 0xdb, 0xa4, 0xcc, 0x82, //0x000039d8 .quad -9021654690802612790 + 0xa0, 0x28, 0xb5, 0xba, 0x07, 0xf1, 0x0f, 0xe5, //0x000039e0 .quad -1941067898873894752 + 0x3c, 0x97, 0x97, 0x65, 0x12, 0xce, 0x7f, 0xa3, //0x000039e8 .quad -6665382345075878084 + 0xc8, 0x72, 0x62, 0xa9, 0x49, 0xed, 0x53, 0x1e, //0x000039f0 .quad 2185351144835019464 + 0x0c, 0x7d, 0xfd, 0xfe, 0x96, 0xc1, 0x5f, 0xcc, //0x000039f8 .quad -3720041912917459700 + 0x7a, 0x0f, 0xbb, 0x13, 0x9c, 0xe8, 0xe8, 0x25, //0x00003a00 .quad 2731688931043774330 + 0x4f, 0xdc, 0xbc, 0xbe, 0xfc, 0xb1, 0x77, 0xff, //0x00003a08 .quad -38366372719436721 + 0xac, 0xe9, 0x54, 0x8c, 0x61, 0x91, 0xb1, 0x77, //0x00003a10 .quad 8624834609543440812 + 0xb1, 0x09, 0x36, 0xf7, 0x3d, 0xcf, 0xaa, 0x9f, //0x00003a18 .quad -6941508010590729807 + 0x17, 0x24, 0x6a, 0xef, 0xb9, 0xf5, 0x9d, 0xd5, //0x00003a20 .quad -3054014793352862697 + 0x1d, 0x8c, 0x03, 0x75, 0x0d, 0x83, 0x95, 0xc7, //0x00003a28 .quad -4065198994811024355 + 0x1d, 0xad, 0x44, 0x6b, 0x28, 0x73, 0x05, 0x4b, //0x00003a30 .quad 5405853545163697437 + 0x25, 0x6f, 0x44, 0xd2, 0xd0, 0xe3, 0x7a, 0xf9, //0x00003a38 .quad -469812725086392539 + 0x32, 0xec, 0x0a, 0x43, 0xf9, 0x67, 0xe3, 0x4e, //0x00003a40 .quad 5684501474941004850 + 0x77, 0xc5, 0x6a, 0x83, 0x62, 0xce, 0xec, 0x9b, //0x00003a48 .quad -7211161980820077193 + 0x3f, 0xa7, 0xcd, 0x93, 0xf7, 0x41, 0x9c, 0x22, //0x00003a50 .quad 2493940825248868159 + 0xd5, 0x76, 0x45, 0x24, 0xfb, 0x01, 0xe8, 0xc2, //0x00003a58 .quad -4402266457597708587 + 0x0f, 0x11, 0xc1, 0x78, 0x75, 0x52, 0x43, 0x6b, //0x00003a60 .quad 7729112049988473103 + 0x8a, 0xd4, 0x56, 0xed, 0x79, 0x02, 0xa2, 0xf3, //0x00003a68 .quad -891147053569747830 + 0xa9, 0xaa, 0x78, 0x6b, 0x89, 0x13, 0x0a, 0x83, //0x00003a70 .quad -9004363024039368023 + 0xd6, 0x44, 0x56, 0x34, 0x8c, 0x41, 0x45, 0x98, //0x00003a78 .quad -7474495936122174250 + 0x53, 0xd5, 0x56, 0xc6, 0x6b, 0x98, 0xcc, 0x23, //0x00003a80 .quad 2579604275232953683 + 0x0c, 0xd6, 0x6b, 0x41, 0xef, 0x91, 0x56, 0xbe, //0x00003a88 .quad -4731433901725329908 + 0xa8, 0x8a, 0xec, 0xb7, 0x86, 0xbe, 0xbf, 0x2c, //0x00003a90 .quad 3224505344041192104 + 0x8f, 0xcb, 0xc6, 0x11, 0x6b, 0x36, 0xec, 0xed, //0x00003a98 .quad -1302606358729274481 + 0xa9, 0xd6, 0xf3, 0x32, 0x14, 0xd7, 0xf7, 0x7b, //0x00003aa0 .quad 8932844867666826921 + 0x39, 0x3f, 0x1c, 0xeb, 0x02, 0xa2, 0xb3, 0x94, //0x00003aa8 .quad -7731658001846878407 + 0x53, 0xcc, 0xb0, 0x3f, 0xd9, 0xcc, 0xf5, 0xda, //0x00003ab0 .quad -2669001970698630061 + 0x07, 0x4f, 0xe3, 0xa5, 0x83, 0x8a, 0xe0, 0xb9, //0x00003ab8 .quad -5052886483881210105 + 0x68, 0xff, 0x9c, 0x8f, 0x0f, 0x40, 0xb3, 0xd1, //0x00003ac0 .quad -3336252463373287576 + 0xc9, 0x22, 0x5c, 0x8f, 0x24, 0xad, 0x58, 0xe8, //0x00003ac8 .quad -1704422086424124727 + 0xa1, 0x1f, 0xc2, 0xb9, 0x09, 0x08, 0x10, 0x23, //0x00003ad0 .quad 2526528228819083169 + 0xbe, 0x95, 0x99, 0xd9, 0x36, 0x6c, 0x37, 0x91, //0x00003ad8 .quad -7982792831656159810 + 0x8a, 0xa7, 0x32, 0x28, 0x0c, 0x0a, 0xd4, 0xab, //0x00003ae0 .quad -6065211750830921846 + 0x2d, 0xfb, 0xff, 0x8f, 0x44, 0x47, 0x85, 0xb5, //0x00003ae8 .quad -5366805021142811859 + 0x6c, 0x51, 0x3f, 0x32, 0x8f, 0x0c, 0xc9, 0x16, //0x00003af0 .quad 1641857348316123500 + 0xf9, 0xf9, 0xff, 0xb3, 0x15, 0x99, 0xe6, 0xe2, //0x00003af8 .quad -2096820258001126919 + 0xe3, 0x92, 0x67, 0x7f, 0xd9, 0xa7, 0x3d, 0xae, //0x00003b00 .quad -5891368184943504669 + 0x3b, 0xfc, 0x7f, 0x90, 0xad, 0x1f, 0xd0, 0x8d, //0x00003b08 .quad -8228041688891786181 + 0x9c, 0x77, 0x41, 0xdf, 0xcf, 0x11, 0xcd, 0x99, //0x00003b10 .quad -7364210231179380836 + 0x4a, 0xfb, 0x9f, 0xf4, 0x98, 0x27, 0x44, 0xb1, //0x00003b18 .quad -5673366092687344822 + 0x83, 0xd5, 0x11, 0xd7, 0x43, 0x56, 0x40, 0x40, //0x00003b20 .quad 4629795266307937667 + 0x1d, 0xfa, 0xc7, 0x31, 0x7f, 0x31, 0x95, 0xdd, //0x00003b28 .quad -2480021597431793123 + 0x72, 0x25, 0x6b, 0x66, 0xea, 0x35, 0x28, 0x48, //0x00003b30 .quad 5199465050656154994 + 0x52, 0xfc, 0x1c, 0x7f, 0xef, 0x3e, 0x7d, 0x8a, //0x00003b38 .quad -8467542526035952558 + 0xcf, 0xee, 0x05, 0x00, 0x65, 0x43, 0x32, 0xda, //0x00003b40 .quad -2724040723534582065 + 0x66, 0x3b, 0xe4, 0x5e, 0xab, 0x8e, 0x1c, 0xad, //0x00003b48 .quad -5972742139117552794 + 0x82, 0x6a, 0x07, 0x40, 0x3e, 0xd4, 0xbe, 0x90, //0x00003b50 .quad -8016736922845615486 + 0x40, 0x4a, 0x9d, 0x36, 0x56, 0xb2, 0x63, 0xd8, //0x00003b58 .quad -2854241655469553088 + 0x91, 0xa2, 0x04, 0xe8, 0xa6, 0x44, 0x77, 0x5a, //0x00003b60 .quad 6518754469289960081 + 0x68, 0x4e, 0x22, 0xe2, 0x75, 0x4f, 0x3e, 0x87, //0x00003b68 .quad -8701430062309552536 + 0x36, 0xcb, 0x05, 0xa2, 0xd0, 0x15, 0x15, 0x71, //0x00003b70 .quad 8148443086612450102 + 0x02, 0xe2, 0xaa, 0x5a, 0x53, 0xe3, 0x0d, 0xa9, //0x00003b78 .quad -6265101559459552766 + 0x03, 0x3e, 0x87, 0xca, 0x44, 0x5b, 0x5a, 0x0d, //0x00003b80 .quad 962181821410786819 + 0x83, 0x9a, 0x55, 0x31, 0x28, 0x5c, 0x51, 0xd3, //0x00003b88 .quad -3219690930897053053 + 0xc2, 0x86, 0x94, 0xfe, 0x0a, 0x79, 0x58, 0xe8, //0x00003b90 .quad -1704479370831952190 + 0x91, 0x80, 0xd5, 0x1e, 0x99, 0xd9, 0x12, 0x84, //0x00003b98 .quad -8929835859451740015 + 0x72, 0xa8, 0x39, 0xbe, 0x4d, 0x97, 0x6e, 0x62, //0x00003ba0 .quad 7092772823314835570 + 0xb6, 0xe0, 0x8a, 0x66, 0xff, 0x8f, 0x17, 0xa5, //0x00003ba8 .quad -6550608805887287114 + 0x8f, 0x12, 0xc8, 0x2d, 0x21, 0x3d, 0x0a, 0xfb, //0x00003bb0 .quad -357406007711231345 + 0xe3, 0x98, 0x2d, 0x40, 0xff, 0x73, 0x5d, 0xce, //0x00003bb8 .quad -3576574988931720989 + 0x99, 0x0b, 0x9d, 0xbc, 0x34, 0x66, 0xe6, 0x7c, //0x00003bc0 .quad 8999993282035256217 + 0x8e, 0x7f, 0x1c, 0x88, 0x7f, 0x68, 0xfa, 0x80, //0x00003bc8 .quad -9152888395723407474 + 0x80, 0x4e, 0xc4, 0xeb, 0xc1, 0xff, 0x1f, 0x1c, //0x00003bd0 .quad 2026619565689294464 + 0x72, 0x9f, 0x23, 0x6a, 0x9f, 0x02, 0x39, 0xa1, //0x00003bd8 .quad -6829424476226871438 + 0x20, 0x62, 0xb5, 0x66, 0xb2, 0xff, 0x27, 0xa3, //0x00003be0 .quad -6690097579743157728 + 0x4e, 0x87, 0xac, 0x44, 0x47, 0x43, 0x87, 0xc9, //0x00003be8 .quad -3925094576856201394 + 0xa8, 0xba, 0x62, 0x00, 0x9f, 0xff, 0xf1, 0x4b, //0x00003bf0 .quad 5472436080603216552 + 0x22, 0xa9, 0xd7, 0x15, 0x19, 0x14, 0xe9, 0xfb, //0x00003bf8 .quad -294682202642863838 + 0xa9, 0xb4, 0x3d, 0x60, 0xc3, 0x3f, 0x77, 0x6f, //0x00003c00 .quad 8031958568804398249 + 0xb5, 0xc9, 0xa6, 0xad, 0x8f, 0xac, 0x71, 0x9d, //0x00003c08 .quad -7101705404292871755 + 0xd3, 0x21, 0x4d, 0x38, 0xb4, 0x0f, 0x55, 0xcb, //0x00003c10 .quad -3795109844276665901 + 0x22, 0x7c, 0x10, 0x99, 0xb3, 0x17, 0xce, 0xc4, //0x00003c18 .quad -4265445736938701790 + 0x48, 0x6a, 0x60, 0x46, 0xa1, 0x53, 0x2a, 0x7e, //0x00003c20 .quad 9091170749936331336 + 0x2b, 0x9b, 0x54, 0x7f, 0xa0, 0x9d, 0x01, 0xf6, //0x00003c28 .quad -720121152745989333 + 0x6d, 0x42, 0xfc, 0xcb, 0x44, 0x74, 0xda, 0x2e, //0x00003c30 .quad 3376138709496513133 + 0xfb, 0xe0, 0x94, 0x4f, 0x84, 0x02, 0xc1, 0x99, //0x00003c38 .quad -7367604748107325189 + 0x08, 0x53, 0xfb, 0xfe, 0x55, 0x11, 0x91, 0xfa, //0x00003c40 .quad -391512631556746488 + 0x39, 0x19, 0x7a, 0x63, 0x25, 0x43, 0x31, 0xc0, //0x00003c48 .quad -4597819916706768583 + 0xca, 0x27, 0xba, 0x7e, 0xab, 0x55, 0x35, 0x79, //0x00003c50 .quad 8733981247408842698 + 0x88, 0x9f, 0x58, 0xbc, 0xee, 0x93, 0x3d, 0xf0, //0x00003c58 .quad -1135588877456072824 + 0xde, 0x58, 0x34, 0x2f, 0x8b, 0x55, 0xc1, 0x4b, //0x00003c60 .quad 5458738279630526686 + 0xb5, 0x63, 0xb7, 0x35, 0x75, 0x7c, 0x26, 0x96, //0x00003c68 .quad -7627272076051127371 + 0x16, 0x6f, 0x01, 0xfb, 0xed, 0xaa, 0xb1, 0x9e, //0x00003c70 .quad -7011635205744005354 + 0xa2, 0x3c, 0x25, 0x83, 0x92, 0x1b, 0xb0, 0xbb, //0x00003c78 .quad -4922404076636521310 + 0xdc, 0xca, 0xc1, 0x79, 0xa9, 0x15, 0x5e, 0x46, //0x00003c80 .quad 5070514048102157020 + 0xcb, 0x8b, 0xee, 0x23, 0x77, 0x22, 0x9c, 0xea, //0x00003c88 .quad -1541319077368263733 + 0xc9, 0x1e, 0x19, 0xec, 0x89, 0xcd, 0xfa, 0x0b, //0x00003c90 .quad 863228270850154185 + 0x5f, 0x17, 0x75, 0x76, 0x8a, 0x95, 0xa1, 0x92, //0x00003c98 .quad -7880853450996246689 + 0x7b, 0x66, 0x1f, 0x67, 0xec, 0x80, 0xf9, 0xce, //0x00003ca0 .quad -3532650679864695173 + 0x36, 0x5d, 0x12, 0x14, 0xed, 0xfa, 0x49, 0xb7, //0x00003ca8 .quad -5239380795317920458 + 0x1a, 0x40, 0xe7, 0x80, 0x27, 0xe1, 0xb7, 0x82, //0x00003cb0 .quad -9027499368258256870 + 0x84, 0xf4, 0x16, 0x59, 0xa8, 0x79, 0x1c, 0xe5, //0x00003cb8 .quad -1937539975720012668 + 0x10, 0x88, 0x90, 0xb0, 0xb8, 0xec, 0xb2, 0xd1, //0x00003cc0 .quad -3336344095947716592 + 0xd2, 0x58, 0xae, 0x37, 0x09, 0xcc, 0x31, 0x8f, //0x00003cc8 .quad -8128491512466089774 + 0x15, 0xaa, 0xb4, 0xdc, 0xe6, 0xa7, 0x1f, 0x86, //0x00003cd0 .quad -8782116138362033643 + 0x07, 0xef, 0x99, 0x85, 0x0b, 0x3f, 0xfe, 0xb2, //0x00003cd8 .quad -5548928372155224313 + 0x9a, 0xd4, 0xe1, 0x93, 0xe0, 0x91, 0xa7, 0x67, //0x00003ce0 .quad 7469098900757009562 + 0xc9, 0x6a, 0x00, 0x67, 0xce, 0xce, 0xbd, 0xdf, //0x00003ce8 .quad -2324474446766642487 + 0xe0, 0x24, 0x6d, 0x5c, 0x2c, 0xbb, 0xc8, 0xe0, //0x00003cf0 .quad -2249342214667950880 + 0xbd, 0x42, 0x60, 0x00, 0x41, 0xa1, 0xd6, 0x8b, //0x00003cf8 .quad -8370325556870233411 + 0x18, 0x6e, 0x88, 0x73, 0xf7, 0xe9, 0xfa, 0x58, //0x00003d00 .quad 6411694268519837208 + 0x6d, 0x53, 0x78, 0x40, 0x91, 0x49, 0xcc, 0xae, //0x00003d08 .quad -5851220927660403859 + 0x9e, 0x89, 0x6a, 0x50, 0x75, 0xa4, 0x39, 0xaf, //0x00003d10 .quad -5820440219632367202 + 0x48, 0x68, 0x96, 0x90, 0xf5, 0x5b, 0x7f, 0xda, //0x00003d18 .quad -2702340141148116920 + 0x03, 0x96, 0x42, 0x52, 0xc9, 0x06, 0x84, 0x6d, //0x00003d20 .quad 7891439908798240259 + 0x2d, 0x01, 0x5e, 0x7a, 0x79, 0x99, 0x8f, 0x88, //0x00003d28 .quad -8606491615858654931 + 0x83, 0x3b, 0xd3, 0xa6, 0x7b, 0x08, 0xe5, 0xc8, //0x00003d30 .quad -3970758169284363389 + 0x78, 0x81, 0xf5, 0xd8, 0xd7, 0x7f, 0xb3, 0xaa, //0x00003d38 .quad -6146428501395930760 + 0x64, 0x0a, 0x88, 0x90, 0x9a, 0x4a, 0x1e, 0xfb, //0x00003d40 .quad -351761693178066332 + 0xd6, 0xe1, 0x32, 0xcf, 0xcd, 0x5f, 0x60, 0xd5, //0x00003d48 .quad -3071349608317525546 + 0x7f, 0x06, 0x55, 0x9a, 0xa0, 0xee, 0xf2, 0x5c, //0x00003d50 .quad 6697677969404790399 + 0x26, 0xcd, 0x7f, 0xa1, 0xe0, 0x3b, 0x5c, 0x85, //0x00003d58 .quad -8837122532839535322 + 0x1e, 0x48, 0xea, 0xc0, 0x48, 0xaa, 0x2f, 0xf4, //0x00003d60 .quad -851274575098787810 + 0x6f, 0xc0, 0xdf, 0xc9, 0xd8, 0x4a, 0xb3, 0xa6, //0x00003d68 .quad -6434717147622031249 + 0x26, 0xda, 0x24, 0xf1, 0xda, 0x94, 0x3b, 0xf1, //0x00003d70 .quad -1064093218873484762 + 0x8b, 0xb0, 0x57, 0xfc, 0x8e, 0x1d, 0x60, 0xd0, //0x00003d78 .quad -3431710416100151157 + 0x58, 0x08, 0xb7, 0xd6, 0x08, 0x3d, 0xc5, 0x76, //0x00003d80 .quad 8558313775058847832 + 0x57, 0xce, 0xb6, 0x5d, 0x79, 0x12, 0x3c, 0x82, //0x00003d88 .quad -9062348037703676329 + 0x6e, 0xca, 0x64, 0x0c, 0x4b, 0x8c, 0x76, 0x54, //0x00003d90 .quad 6086206200396171886 + 0xed, 0x81, 0x24, 0xb5, 0x17, 0x17, 0xcb, 0xa2, //0x00003d98 .quad -6716249028702207507 + 0x09, 0xfd, 0x7d, 0xcf, 0x5d, 0x2f, 0x94, 0xa9, //0x00003da0 .quad -6227300304786948855 + 0x68, 0xa2, 0x6d, 0xa2, 0xdd, 0xdc, 0x7d, 0xcb, //0x00003da8 .quad -3783625267450371480 + 0x4c, 0x7c, 0x5d, 0x43, 0x35, 0x3b, 0xf9, 0xd3, //0x00003db0 .quad -3172439362556298164 + 0x02, 0x0b, 0x09, 0x0b, 0x15, 0x54, 0x5d, 0xfe, //0x00003db8 .quad -117845565885576446 + 0xaf, 0x6d, 0x1a, 0x4a, 0x01, 0xc5, 0x7b, 0xc4, //0x00003dc0 .quad -4288617610811380305 + 0xe1, 0xa6, 0xe5, 0x26, 0x8d, 0x54, 0xfa, 0x9e, //0x00003dc8 .quad -6991182506319567135 + 0x1b, 0x09, 0xa1, 0x9c, 0x41, 0xb6, 0x9a, 0x35, //0x00003dd0 .quad 3862600023340550427 + 0x9a, 0x10, 0x9f, 0x70, 0xb0, 0xe9, 0xb8, 0xc6, //0x00003dd8 .quad -4127292114472071014 + 0x62, 0x4b, 0xc9, 0x03, 0xd2, 0x63, 0x01, 0xc3, //0x00003de0 .quad -4395122007679087774 + 0xc0, 0xd4, 0xc6, 0x8c, 0x1c, 0x24, 0x67, 0xf8, //0x00003de8 .quad -547429124662700864 + 0x1d, 0xcf, 0x5d, 0x42, 0x63, 0xde, 0xe0, 0x79, //0x00003df0 .quad 8782263791269039901 + 0xf8, 0x44, 0xfc, 0xd7, 0x91, 0x76, 0x40, 0x9b, //0x00003df8 .quad -7259672230555269896 + 0xe4, 0x42, 0xf5, 0x12, 0xfc, 0x15, 0x59, 0x98, //0x00003e00 .quad -7468914334623251740 + 0x36, 0x56, 0xfb, 0x4d, 0x36, 0x94, 0x10, 0xc2, //0x00003e08 .quad -4462904269766699466 + 0x9d, 0x93, 0xb2, 0x17, 0x7b, 0x5b, 0x6f, 0x3e, //0x00003e10 .quad 4498915137003099037 + 0xc4, 0x2b, 0x7a, 0xe1, 0x43, 0xb9, 0x94, 0xf2, //0x00003e18 .quad -966944318780986428 + 0x42, 0x9c, 0xcf, 0xee, 0x2c, 0x99, 0x05, 0xa7, //0x00003e20 .quad -6411550076227838910 + 0x5a, 0x5b, 0xec, 0x6c, 0xca, 0xf3, 0x9c, 0x97, //0x00003e28 .quad -7521869226879198374 + 0x53, 0x83, 0x83, 0x2a, 0x78, 0xff, 0xc6, 0x50, //0x00003e30 .quad 5820620459997365075 + 0x31, 0x72, 0x27, 0x08, 0xbd, 0x30, 0x84, 0xbd, //0x00003e38 .quad -4790650515171610063 + 0x28, 0x64, 0x24, 0x35, 0x56, 0xbf, 0xf8, 0xa4, //0x00003e40 .quad -6559282480285457368 + 0xbd, 0x4e, 0x31, 0x4a, 0xec, 0x3c, 0xe5, 0xec, //0x00003e48 .quad -1376627125537124675 + 0x99, 0xbe, 0x36, 0xe1, 0x95, 0x77, 0x1b, 0x87, //0x00003e50 .quad -8711237568605798759 + 0x36, 0xd1, 0x5e, 0xae, 0x13, 0x46, 0x0f, 0x94, //0x00003e58 .quad -7777920981101784778 + 0x3f, 0x6e, 0x84, 0x59, 0x7b, 0x55, 0xe2, 0x28, //0x00003e60 .quad 2946011094524915263 + 0x84, 0x85, 0xf6, 0x99, 0x98, 0x17, 0x13, 0xb9, //0x00003e68 .quad -5110715207949843068 + 0xcf, 0x89, 0xe5, 0x2f, 0xda, 0xea, 0x1a, 0x33, //0x00003e70 .quad 3682513868156144079 + 0xe5, 0x26, 0x74, 0xc0, 0x7e, 0xdd, 0x57, 0xe7, //0x00003e78 .quad -1776707991509915931 + 0x21, 0x76, 0xef, 0x5d, 0xc8, 0xd2, 0xf0, 0x3f, //0x00003e80 .quad 4607414176811284001 + 0x4f, 0x98, 0x48, 0x38, 0x6f, 0xea, 0x96, 0x90, //0x00003e88 .quad -8027971522334779313 + 0xa9, 0x53, 0x6b, 0x75, 0x7a, 0x07, 0xed, 0x0f, //0x00003e90 .quad 1147581702586717097 + 0x63, 0xbe, 0x5a, 0x06, 0x0b, 0xa5, 0xbc, 0xb4, //0x00003e98 .quad -5423278384491086237 + 0x94, 0x28, 0xc6, 0x12, 0x59, 0x49, 0xe8, 0xd3, //0x00003ea0 .quad -3177208890193991532 + 0xfb, 0x6d, 0xf1, 0xc7, 0x4d, 0xce, 0xeb, 0xe1, //0x00003ea8 .quad -2167411962186469893 + 0x5c, 0xd9, 0xbb, 0xab, 0xd7, 0x2d, 0x71, 0x64, //0x00003eb0 .quad 7237616480483531100 + 0xbd, 0xe4, 0xf6, 0x9c, 0xf0, 0x60, 0x33, 0x8d, //0x00003eb8 .quad -8272161504007625539 + 0xb3, 0xcf, 0xaa, 0x96, 0x4d, 0x79, 0x8d, 0xbd, //0x00003ec0 .quad -4788037454677749837 + 0xec, 0x9d, 0x34, 0xc4, 0x2c, 0x39, 0x80, 0xb0, //0x00003ec8 .quad -5728515861582144020 + 0xa0, 0x83, 0x55, 0xfc, 0xa0, 0xd7, 0xf0, 0xec, //0x00003ed0 .quad -1373360799919799392 + 0x67, 0xc5, 0x41, 0xf5, 0x77, 0x47, 0xa0, 0xdc, //0x00003ed8 .quad -2548958808550292121 + 0x44, 0x72, 0xb5, 0x9d, 0xc4, 0x86, 0x16, 0xf4, //0x00003ee0 .quad -858350499949874620 + 0x60, 0x1b, 0x49, 0xf9, 0xaa, 0x2c, 0xe4, 0x89, //0x00003ee8 .quad -8510628282985014432 + 0xd5, 0xce, 0x22, 0xc5, 0x75, 0x28, 0x1c, 0x31, //0x00003ef0 .quad 3538747893490044629 + 0x39, 0x62, 0x9b, 0xb7, 0xd5, 0x37, 0x5d, 0xac, //0x00003ef8 .quad -6026599335303880135 + 0x8b, 0x82, 0x6b, 0x36, 0x93, 0x32, 0x63, 0x7d, //0x00003f00 .quad 9035120885289943691 + 0xc7, 0x3a, 0x82, 0x25, 0xcb, 0x85, 0x74, 0xd7, //0x00003f08 .quad -2921563150702462265 + 0x97, 0x31, 0x03, 0x02, 0x9c, 0xff, 0x5d, 0xae, //0x00003f10 .quad -5882264492762254953 + 0xbc, 0x64, 0x71, 0xf7, 0x9e, 0xd3, 0xa8, 0x86, //0x00003f18 .quad -8743505996830120772 + 0xfc, 0xfd, 0x83, 0x02, 0x83, 0x7f, 0xf5, 0xd9, //0x00003f20 .quad -2741144597525430788 + 0xeb, 0xbd, 0x4d, 0xb5, 0x86, 0x08, 0x53, 0xa8, //0x00003f28 .quad -6317696477610263061 + 0x7b, 0xfd, 0x24, 0xc3, 0x63, 0xdf, 0x72, 0xd0, //0x00003f30 .quad -3426430746906788485 + 0x66, 0x2d, 0xa1, 0x62, 0xa8, 0xca, 0x67, 0xd2, //0x00003f38 .quad -3285434578585440922 + 0x6d, 0x1e, 0xf7, 0x59, 0x9e, 0xcb, 0x47, 0x42, //0x00003f40 .quad 4776009810824339053 + 0x60, 0xbc, 0xa4, 0x3d, 0xa9, 0xde, 0x80, 0x83, //0x00003f48 .quad -8970925639256982432 + 0x08, 0xe6, 0x74, 0xf0, 0x85, 0xbe, 0xd9, 0x52, //0x00003f50 .quad 5970012263530423816 + 0x78, 0xeb, 0x0d, 0x8d, 0x53, 0x16, 0x61, 0xa4, //0x00003f58 .quad -6601971030643840136 + 0x8b, 0x1f, 0x92, 0x6c, 0x27, 0x2e, 0x90, 0x67, //0x00003f60 .quad 7462515329413029771 + 0x56, 0x66, 0x51, 0x70, 0xe8, 0x5b, 0x79, 0xcd, //0x00003f68 .quad -3640777769877412266 + 0xb6, 0x53, 0xdb, 0xa3, 0xd8, 0x1c, 0xba, 0x00, //0x00003f70 .quad 52386062455755702 + 0xf6, 0xdf, 0x32, 0x46, 0x71, 0xd9, 0x6b, 0x80, //0x00003f78 .quad -9193015133814464522 + 0xa4, 0x28, 0xd2, 0xcc, 0x0e, 0xa4, 0xe8, 0x80, //0x00003f80 .quad -9157889458785081180 + 0xf3, 0x97, 0xbf, 0x97, 0xcd, 0xcf, 0x86, 0xa0, //0x00003f88 .quad -6879582898840692749 + 0xcd, 0xb2, 0x06, 0x80, 0x12, 0xcd, 0x22, 0x61, //0x00003f90 .quad 6999382250228200141 + 0xf0, 0x7d, 0xaf, 0xfd, 0xc0, 0x83, 0xa8, 0xc8, //0x00003f98 .quad -3987792605123478032 + 0x81, 0x5f, 0x08, 0x20, 0x57, 0x80, 0x6b, 0x79, //0x00003fa0 .quad 8749227812785250177 + 0x6c, 0x5d, 0x1b, 0x3d, 0xb1, 0xa4, 0xd2, 0xfa, //0x00003fa8 .quad -373054737976959636 + 0xb0, 0x3b, 0x05, 0x74, 0x36, 0x30, 0xe3, 0xcb, //0x00003fb0 .quad -3755104653863994448 + 0x63, 0x1a, 0x31, 0xc6, 0xee, 0xa6, 0xc3, 0x9c, //0x00003fb8 .quad -7150688238876681629 + 0x9c, 0x8a, 0x06, 0x11, 0x44, 0xfc, 0xdb, 0xbe, //0x00003fc0 .quad -4693880817329993060 + 0xfc, 0x60, 0xbd, 0x77, 0xaa, 0x90, 0xf4, 0xc3, //0x00003fc8 .quad -4326674280168464132 + 0x44, 0x2d, 0x48, 0x15, 0x55, 0xfb, 0x92, 0xee, //0x00003fd0 .quad -1255665003235103420 + 0x3b, 0xb9, 0xac, 0x15, 0xd5, 0xb4, 0xf1, 0xf4, //0x00003fd8 .quad -796656831783192261 + 0x4a, 0x1c, 0x4d, 0x2d, 0x15, 0xdd, 0x1b, 0x75, //0x00003fe0 .quad 8438581409832836170 + 0xc5, 0xf3, 0x8b, 0x2d, 0x05, 0x11, 0x17, 0x99, //0x00003fe8 .quad -7415439547505577019 + 0x5d, 0x63, 0xa0, 0x78, 0x5a, 0xd4, 0x62, 0xd2, //0x00003ff0 .quad -3286831292991118499 + 0xb6, 0xf0, 0xee, 0x78, 0x46, 0xd5, 0x5c, 0xbf, //0x00003ff8 .quad -4657613415954583370 + 0x34, 0x7c, 0xc8, 0x16, 0x71, 0x89, 0xfb, 0x86, //0x00004000 .quad -8720225134666286028 + 0xe4, 0xac, 0x2a, 0x17, 0x98, 0x0a, 0x34, 0xef, //0x00004008 .quad -1210330751515841308 + 0xa0, 0x4d, 0x3d, 0xae, 0xe6, 0x35, 0x5d, 0xd4, //0x00004010 .quad -3144297699952734816 + 0x0e, 0xac, 0x7a, 0x0e, 0x9f, 0x86, 0x80, 0x95, //0x00004018 .quad -7673985747338482674 + 0x09, 0xa1, 0xcc, 0x59, 0x60, 0x83, 0x74, 0x89, //0x00004020 .quad -8542058143368306423 + 0x12, 0x57, 0x19, 0xd2, 0x46, 0xa8, 0xe0, 0xba, //0x00004028 .quad -4980796165745715438 + 0x4b, 0xc9, 0x3f, 0x70, 0x38, 0xa4, 0xd1, 0x2b, //0x00004030 .quad 3157485376071780683 + 0xd7, 0xac, 0x9f, 0x86, 0x58, 0xd2, 0x98, 0xe9, //0x00004038 .quad -1614309188754756393 + 0xcf, 0xdd, 0x27, 0x46, 0xa3, 0x06, 0x63, 0x7b, //0x00004040 .quad 8890957387685944783 + 0x06, 0xcc, 0x23, 0x54, 0x77, 0x83, 0xff, 0x91, //0x00004048 .quad -7926472270612804602 + 0x42, 0xd5, 0xb1, 0x17, 0x4c, 0xc8, 0x3b, 0x1a, //0x00004050 .quad 1890324697752655170 + 0x08, 0xbf, 0x2c, 0x29, 0x55, 0x64, 0x7f, 0xb6, //0x00004058 .quad -5296404319838617848 + 0x93, 0x4a, 0x9e, 0x1d, 0x5f, 0xba, 0xca, 0x20, //0x00004060 .quad 2362905872190818963 + 0xca, 0xee, 0x77, 0x73, 0x6a, 0x3d, 0x1f, 0xe4, //0x00004068 .quad -2008819381370884406 + 0x9c, 0xee, 0x82, 0x72, 0x7b, 0xb4, 0x7e, 0x54, //0x00004070 .quad 6088502188546649756 + 0x3e, 0xf5, 0x2a, 0x88, 0x62, 0x86, 0x93, 0x8e, //0x00004078 .quad -8173041140997884610 + 0x43, 0xaa, 0x23, 0x4f, 0x9a, 0x61, 0x9e, 0xe9, //0x00004080 .quad -1612744301171463613 + 0x8d, 0xb2, 0x35, 0x2a, 0xfb, 0x67, 0x38, 0xb2, //0x00004088 .quad -5604615407819967859 + 0xd4, 0x94, 0xec, 0xe2, 0x00, 0xfa, 0x05, 0x64, //0x00004090 .quad 7207441660390446292 + 0x31, 0x1f, 0xc3, 0xf4, 0xf9, 0x81, 0xc6, 0xde, //0x00004098 .quad -2394083241347571919 + 0x04, 0xdd, 0xd3, 0x8d, 0x40, 0xbc, 0x83, 0xde, //0x000040a0 .quad -2412877989897052924 + 0x7e, 0xf3, 0xf9, 0x38, 0x3c, 0x11, 0x3c, 0x8b, //0x000040a8 .quad -8413831053483314306 + 0x45, 0xd4, 0x48, 0xb1, 0x50, 0xab, 0x24, 0x96, //0x000040b0 .quad -7627783505798704059 + 0x5e, 0x70, 0x38, 0x47, 0x8b, 0x15, 0x0b, 0xae, //0x000040b8 .quad -5905602798426754978 + 0x57, 0x09, 0x9b, 0xdd, 0x24, 0xd6, 0xad, 0x3b, //0x000040c0 .quad 4300328673033783639 + 0x76, 0x8c, 0x06, 0x19, 0xee, 0xda, 0x8d, 0xd9, //0x000040c8 .quad -2770317479606055818 + 0xd6, 0xe5, 0x80, 0x0a, 0xd7, 0xa5, 0x4c, 0xe5, //0x000040d0 .quad -1923980597781273130 + 0xc9, 0x17, 0xa4, 0xcf, 0xd4, 0xa8, 0xf8, 0x87, //0x000040d8 .quad -8648977452394866743 + 0x4c, 0x1f, 0x21, 0xcd, 0x4c, 0xcf, 0x9f, 0x5e, //0x000040e0 .quad 6818396289628184396 + 0xbc, 0x1d, 0x8d, 0x03, 0x0a, 0xd3, 0xf6, 0xa9, //0x000040e8 .quad -6199535797066195524 + 0x1f, 0x67, 0x69, 0x00, 0x20, 0xc3, 0x47, 0x76, //0x000040f0 .quad 8522995362035230495 + 0x2b, 0x65, 0x70, 0x84, 0xcc, 0x87, 0x74, 0xd4, //0x000040f8 .quad -3137733727905356501 + 0x73, 0xe0, 0x41, 0x00, 0xf4, 0xd9, 0xec, 0x29, //0x00004100 .quad 3021029092058325107 + 0x3b, 0x3f, 0xc6, 0xd2, 0xdf, 0xd4, 0xc8, 0x84, //0x00004108 .quad -8878612607581929669 + 0x90, 0x58, 0x52, 0x00, 0x71, 0x10, 0x68, 0xf4, //0x00004110 .quad -835399653354481520 + 0x09, 0xcf, 0x77, 0xc7, 0x17, 0x0a, 0xfb, 0xa5, //0x00004118 .quad -6486579741050024183 + 0xb4, 0xee, 0x66, 0x40, 0x8d, 0x14, 0x82, 0x71, //0x00004120 .quad 8179122470161673908 + 0xcc, 0xc2, 0x55, 0xb9, 0x9d, 0xcc, 0x79, 0xcf, //0x00004128 .quad -3496538657885142324 + 0x30, 0x55, 0x40, 0x48, 0xd8, 0x4c, 0xf1, 0xc6, //0x00004130 .quad -4111420493003729616 + 0xbf, 0x99, 0xd5, 0x93, 0xe2, 0x1f, 0xac, 0x81, //0x00004138 .quad -9102865688819295809 + 0x7c, 0x6a, 0x50, 0x5a, 0x0e, 0xa0, 0xad, 0xb8, //0x00004140 .quad -5139275616254662020 + 0x2f, 0x00, 0xcb, 0x38, 0xdb, 0x27, 0x17, 0xa2, //0x00004148 .quad -6766896092596731857 + 0x1c, 0x85, 0xe4, 0xf0, 0x11, 0x08, 0xd9, 0xa6, //0x00004150 .quad -6424094520318327524 + 0x3b, 0xc0, 0xfd, 0x06, 0xd2, 0xf1, 0x9c, 0xca, //0x00004158 .quad -3846934097318526917 + 0x63, 0xa6, 0x1d, 0x6d, 0x16, 0x4a, 0x8f, 0x90, //0x00004160 .quad -8030118150397909405 + 0x4a, 0x30, 0xbd, 0x88, 0x46, 0x2e, 0x44, 0xfd, //0x00004168 .quad -196981603220770742 + 0xfe, 0x87, 0x32, 0x04, 0x4e, 0x8e, 0x59, 0x9a, //0x00004170 .quad -7324666853212387330 + 0x2e, 0x3e, 0x76, 0x15, 0xec, 0x9c, 0x4a, 0x9e, //0x00004178 .quad -7040642529654063570 + 0xfd, 0x29, 0x3f, 0x85, 0xe1, 0xf1, 0xef, 0x40, //0x00004180 .quad 4679224488766679549 + 0xba, 0xcd, 0xd3, 0x1a, 0x27, 0x44, 0xdd, 0xc5, //0x00004188 .quad -4189117143640191558 + 0x7c, 0xf4, 0x8e, 0xe6, 0x59, 0xee, 0x2b, 0xd1, //0x00004190 .quad -3374341425896426372 + 0x28, 0xc1, 0x88, 0xe1, 0x30, 0x95, 0x54, 0xf7, //0x00004198 .quad -624710411122851544 + 0xce, 0x58, 0x19, 0x30, 0xf8, 0x74, 0xbb, 0x82, //0x000041a0 .quad -9026492418826348338 + 0xb9, 0x78, 0xf5, 0x8c, 0x3e, 0xdd, 0x94, 0x9a, //0x000041a8 .quad -7307973034592864071 + 0x01, 0xaf, 0x1f, 0x3c, 0x36, 0x52, 0x6a, 0xe3, //0x000041b0 .quad -2059743486678159615 + 0xe7, 0xd6, 0x32, 0x30, 0x8e, 0x14, 0x3a, 0xc1, //0x000041b8 .quad -4523280274813692185 + 0xc1, 0x9a, 0x27, 0xcb, 0xc3, 0xe6, 0x44, 0xdc, //0x000041c0 .quad -2574679358347699519 + 0xa1, 0x8c, 0x3f, 0xbc, 0xb1, 0x99, 0x88, 0xf1, //0x000041c8 .quad -1042414325089727327 + 0xb9, 0xc0, 0xf8, 0x5e, 0x3a, 0x10, 0xab, 0x29, //0x000041d0 .quad 3002511419460075705 + 0xe5, 0xb7, 0xa7, 0x15, 0x0f, 0x60, 0xf5, 0x96, //0x000041d8 .quad -7569037980822161435 + 0xe7, 0xf0, 0xb6, 0xf6, 0x48, 0xd4, 0x15, 0x74, //0x000041e0 .quad 8364825292752482535 + 0xde, 0xa5, 0x11, 0xdb, 0x12, 0xb8, 0xb2, 0xbc, //0x000041e8 .quad -4849611457600313890 + 0x21, 0xad, 0x64, 0x34, 0x5b, 0x49, 0x1b, 0x11, //0x000041f0 .quad 1232659579085827361 + 0x56, 0x0f, 0xd6, 0x91, 0x17, 0x66, 0xdf, 0xeb, //0x000041f8 .quad -1450328303573004458 + 0x34, 0xec, 0xbe, 0x00, 0xd9, 0x0d, 0xb1, 0xca, //0x00004200 .quad -3841273781498745804 + 0x95, 0xc9, 0x25, 0xbb, 0xce, 0x9f, 0x6b, 0x93, //0x00004208 .quad -7823984217374209643 + 0x42, 0xa7, 0xee, 0x40, 0x4f, 0x51, 0x5d, 0x3d, //0x00004210 .quad 4421779809981343554 + 0xfb, 0x3b, 0xef, 0x69, 0xc2, 0x87, 0x46, 0xb8, //0x00004218 .quad -5168294253290374149 + 0x12, 0x51, 0x2a, 0x11, 0xa3, 0xa5, 0xb4, 0x0c, //0x00004220 .quad 915538744049291538 + 0xfa, 0x0a, 0x6b, 0x04, 0xb3, 0x29, 0x58, 0xe6, //0x00004228 .quad -1848681798185579782 + 0xab, 0x72, 0xba, 0xea, 0x85, 0xe7, 0xf0, 0x47, //0x00004230 .quad 5183897733458195115 + 0xdc, 0xe6, 0xc2, 0xe2, 0x0f, 0x1a, 0xf7, 0x8f, //0x00004238 .quad -8072955151507069220 + 0x56, 0x0f, 0x69, 0x65, 0x67, 0x21, 0xed, 0x59, //0x00004240 .quad 6479872166822743894 + 0x93, 0xa0, 0x73, 0xdb, 0x93, 0xe0, 0xf4, 0xb3, //0x00004248 .quad -5479507920956448621 + 0x2c, 0x53, 0xc3, 0x3e, 0xc1, 0x69, 0x68, 0x30, //0x00004250 .quad 3488154190101041964 + 0xb8, 0x88, 0x50, 0xd2, 0xb8, 0x18, 0xf2, 0xe0, //0x00004258 .quad -2237698882768172872 + 0xfb, 0x13, 0x3a, 0xc7, 0x18, 0x42, 0x41, 0x1e, //0x00004260 .quad 2180096368813151227 + 0x73, 0x55, 0x72, 0x83, 0x73, 0x4f, 0x97, 0x8c, //0x00004268 .quad -8316090829371189901 + 0xfa, 0x98, 0x08, 0xf9, 0x9e, 0x92, 0xd1, 0xe5, //0x00004270 .quad -1886565557410948870 + 0xcf, 0xea, 0x4e, 0x64, 0x50, 0x23, 0xbd, 0xaf, //0x00004278 .quad -5783427518286599473 + 0x39, 0xbf, 0x4a, 0xb7, 0x46, 0xf7, 0x45, 0xdf, //0x00004280 .quad -2358206946763686087 + 0x83, 0xa5, 0x62, 0x7d, 0x24, 0x6c, 0xac, 0xdb, //0x00004288 .quad -2617598379430861437 + 0x83, 0xb7, 0x8e, 0x32, 0x8c, 0xba, 0x8b, 0x6b, //0x00004290 .quad 7749492695127472003 + 0x72, 0xa7, 0x5d, 0xce, 0x96, 0xc3, 0x4b, 0x89, //0x00004298 .quad -8553528014785370254 + 0x64, 0x65, 0x32, 0x3f, 0x2f, 0xa9, 0x6e, 0x06, //0x000042a0 .quad 463493832054564196 + 0x4f, 0x11, 0xf5, 0x81, 0x7c, 0xb4, 0x9e, 0xab, //0x000042a8 .quad -6080224000054324913 + 0xbd, 0xfe, 0xfe, 0x0e, 0x7b, 0x53, 0x0a, 0xc8, //0x000042b0 .quad -4032318728359182659 + 0xa2, 0x55, 0x72, 0xa2, 0x9b, 0x61, 0x86, 0xd6, //0x000042b8 .quad -2988593981640518238 + 0x36, 0x5f, 0x5f, 0xe9, 0x2c, 0x74, 0x06, 0xbd, //0x000042c0 .quad -4826042214438183114 + 0x85, 0x75, 0x87, 0x45, 0x01, 0xfd, 0x13, 0x86, //0x000042c8 .quad -8785400266166405755 + 0x04, 0x37, 0xb7, 0x23, 0x38, 0x11, 0x48, 0x2c, //0x000042d0 .quad 3190819268807046916 + 0xe7, 0x52, 0xe9, 0x96, 0x41, 0xfc, 0x98, 0xa7, //0x000042d8 .quad -6370064314280619289 + 0xc5, 0x04, 0xa5, 0x2c, 0x86, 0x15, 0x5a, 0xf7, //0x000042e0 .quad -623161932418579259 + 0xa0, 0xa7, 0xa3, 0xfc, 0x51, 0x3b, 0x7f, 0xd1, //0x000042e8 .quad -3350894374423386208 + 0xfb, 0x22, 0xe7, 0xdb, 0x73, 0x4d, 0x98, 0x9a, //0x000042f0 .quad -7307005235402693893 + 0xc4, 0x48, 0xe6, 0x3d, 0x13, 0x85, 0xef, 0x82, //0x000042f8 .quad -9011838011655698236 + 0xba, 0xeb, 0xe0, 0xd2, 0xd0, 0x60, 0x3e, 0xc1, //0x00004300 .quad -4522070525825979462 + 0xf5, 0xda, 0x5f, 0x0d, 0x58, 0x66, 0xab, 0xa3, //0x00004308 .quad -6653111496142234891 + 0xa8, 0x26, 0x99, 0x07, 0x05, 0xf9, 0x8d, 0x31, //0x00004310 .quad 3570783879572301480 + 0xb3, 0xd1, 0xb7, 0x10, 0xee, 0x3f, 0x96, 0xcc, //0x00004318 .quad -3704703351750405709 + 0x52, 0x70, 0x7f, 0x49, 0x46, 0x77, 0xf1, 0xfd, //0x00004320 .quad -148206168962011054 + 0x1f, 0xc6, 0xe5, 0x94, 0xe9, 0xcf, 0xbb, 0xff, //0x00004328 .quad -19193171260619233 + 0x33, 0xa6, 0xef, 0xed, 0x8b, 0xea, 0xb6, 0xfe, //0x00004330 .quad -92628855601256909 + 0xd3, 0x9b, 0x0f, 0xfd, 0xf1, 0x61, 0xd5, 0x9f, //0x00004338 .quad -6929524759678968877 + 0xc0, 0x8f, 0x6b, 0xe9, 0x2e, 0xa5, 0x64, 0xfe, //0x00004340 .quad -115786069501571136 + 0xc8, 0x82, 0x53, 0x7c, 0x6e, 0xba, 0xca, 0xc7, //0x00004348 .quad -4050219931171323192 + 0xb0, 0x73, 0xc6, 0xa3, 0x7a, 0xce, 0xfd, 0x3d, //0x00004350 .quad 4466953431550423984 + 0x7b, 0x63, 0x68, 0x1b, 0x0a, 0x69, 0xbd, 0xf9, //0x00004358 .quad -451088895536766085 + 0x4e, 0x08, 0x5c, 0xa6, 0x0c, 0xa1, 0xbe, 0x06, //0x00004360 .quad 486002885505321038 + 0x2d, 0x3e, 0x21, 0x51, 0xa6, 0x61, 0x16, 0x9c, //0x00004368 .quad -7199459587351560659 + 0x62, 0x0a, 0xf3, 0xcf, 0x4f, 0x49, 0x6e, 0x48, //0x00004370 .quad 5219189625309039202 + 0xb8, 0x8d, 0x69, 0xe5, 0x0f, 0xfa, 0x1b, 0xc3, //0x00004378 .quad -4387638465762062920 + 0xfa, 0xcc, 0xef, 0xc3, 0xa3, 0xdb, 0x89, 0x5a, //0x00004380 .quad 6523987031636299002 + 0x26, 0xf1, 0xc3, 0xde, 0x93, 0xf8, 0xe2, 0xf3, //0x00004388 .quad -872862063775190746 + 0x1c, 0xe0, 0x75, 0x5a, 0x46, 0x29, 0x96, 0xf8, //0x00004390 .quad -534194123654701028 + 0xb7, 0x76, 0x3a, 0x6b, 0x5c, 0xdb, 0x6d, 0x98, //0x00004398 .quad -7463067817500576073 + 0x23, 0x58, 0x13, 0xf1, 0x97, 0xb3, 0xbb, 0xf6, //0x000043a0 .quad -667742654568376285 + 0x65, 0x14, 0x09, 0x86, 0x33, 0x52, 0x89, 0xbe, //0x000043a8 .quad -4717148753448332187 + 0x2c, 0x2e, 0x58, 0xed, 0x7d, 0xa0, 0x6a, 0x74, //0x000043b0 .quad 8388693718644305452 + 0x7f, 0x59, 0x8b, 0x67, 0xc0, 0xa6, 0x2b, 0xee, //0x000043b8 .quad -1284749923383027329 + 0xdc, 0x1c, 0x57, 0xb4, 0x4e, 0xa4, 0xc2, 0xa8, //0x000043c0 .quad -6286281471915778852 + 0xef, 0x17, 0xb7, 0x40, 0x38, 0x48, 0xdb, 0x94, //0x000043c8 .quad -7720497729755473937 + 0x13, 0xe4, 0x6c, 0x61, 0x62, 0x4d, 0xf3, 0x92, //0x000043d0 .quad -7857851839894723565 + 0xeb, 0xdd, 0xe4, 0x50, 0x46, 0x1a, 0x12, 0xba, //0x000043d8 .quad -5038936143766954517 + 0x17, 0x1d, 0xc8, 0xf9, 0xba, 0x20, 0xb0, 0x77, //0x000043e0 .quad 8624429273841147159 + 0x66, 0x15, 0x1e, 0xe5, 0xd7, 0xa0, 0x96, 0xe8, //0x000043e8 .quad -1686984161281305242 + 0x2e, 0x12, 0x1d, 0xdc, 0x74, 0x14, 0xce, 0x0a, //0x000043f0 .quad 778582277723329070 + 0x60, 0xcd, 0x32, 0xef, 0x86, 0x24, 0x5e, 0x91, //0x000043f8 .quad -7971894128441897632 + 0xba, 0x56, 0x24, 0x13, 0x92, 0x99, 0x81, 0x0d, //0x00004400 .quad 973227847154161338 + 0xb8, 0x80, 0xff, 0xaa, 0xa8, 0xad, 0xb5, 0xb5, //0x00004408 .quad -5353181642124984136 + 0x69, 0x6c, 0xed, 0x97, 0xf6, 0xff, 0xe1, 0x10, //0x00004410 .quad 1216534808942701673 + 0xe6, 0x60, 0xbf, 0xd5, 0x12, 0x19, 0x23, 0xe3, //0x00004418 .quad -2079791034228842266 + 0xc1, 0x63, 0xf4, 0x1e, 0xfa, 0x3f, 0x8d, 0xca, //0x00004420 .quad -3851351762838199359 + 0x8f, 0x9c, 0x97, 0xc5, 0xab, 0xef, 0xf5, 0x8d, //0x00004428 .quad -8217398424034108273 + 0xb2, 0x7c, 0xb1, 0xa6, 0xf8, 0x8f, 0x30, 0xbd, //0x00004430 .quad -4814189703547749198 + 0xb3, 0x83, 0xfd, 0xb6, 0x96, 0x6b, 0x73, 0xb1, //0x00004438 .quad -5660062011615247437 + 0xde, 0xdb, 0x5d, 0xd0, 0xf6, 0xb3, 0x7c, 0xac, //0x00004440 .quad -6017737129434686498 + 0xa0, 0xe4, 0xbc, 0x64, 0x7c, 0x46, 0xd0, 0xdd, //0x00004448 .quad -2463391496091671392 + 0x6b, 0xa9, 0x3a, 0x42, 0x7a, 0xf0, 0xcd, 0x6b, //0x00004450 .quad 7768129340171790699 + 0xe4, 0x0e, 0xf6, 0xbe, 0x0d, 0x2c, 0xa2, 0x8a, //0x00004458 .quad -8457148712698376476 + 0xc6, 0x53, 0xc9, 0xd2, 0x98, 0x6c, 0xc1, 0x86, //0x00004460 .quad -8736582398494813242 + 0x9d, 0x92, 0xb3, 0x2e, 0x11, 0xb7, 0x4a, 0xad, //0x00004468 .quad -5959749872445582691 + 0xb7, 0xa8, 0x7b, 0x07, 0xbf, 0xc7, 0x71, 0xe8, //0x00004470 .quad -1697355961263740745 + 0x44, 0x77, 0x60, 0x7a, 0xd5, 0x64, 0x9d, 0xd8, //0x00004478 .quad -2838001322129590460 + 0x72, 0x49, 0xad, 0x64, 0xd7, 0x1c, 0x47, 0x11, //0x00004480 .quad 1244995533423855986 + 0x8b, 0x4a, 0x7c, 0x6c, 0x05, 0x5f, 0x62, 0x87, //0x00004488 .quad -8691279853972075893 + 0xcf, 0x9b, 0xd8, 0x3d, 0x0d, 0xe4, 0x98, 0xd5, //0x00004490 .quad -3055441601647567921 + 0x2d, 0x5d, 0x9b, 0xc7, 0xc6, 0xf6, 0x3a, 0xa9, //0x00004498 .quad -6252413799037706963 + 0xc3, 0xc2, 0x4e, 0x8d, 0x10, 0x1d, 0xff, 0x4a, //0x000044a0 .quad 5404070034795315907 + 0x79, 0x34, 0x82, 0x79, 0x78, 0xb4, 0x89, 0xd3, //0x000044a8 .quad -3203831230369745799 + 0xba, 0x39, 0x51, 0x58, 0x2a, 0x72, 0xdf, 0xce, //0x000044b0 .quad -3539985255894009414 + 0xcb, 0x60, 0xf1, 0x4b, 0xcb, 0x10, 0x36, 0x84, //0x000044b8 .quad -8919923546622172981 + 0x28, 0x88, 0x65, 0xee, 0xb4, 0x4e, 0x97, 0xc2, //0x000044c0 .quad -4424981569867511768 + 0xfe, 0xb8, 0xed, 0x1e, 0xfe, 0x94, 0x43, 0xa5, //0x000044c8 .quad -6538218414850328322 + 0x32, 0xea, 0xfe, 0x29, 0x62, 0x22, 0x3d, 0x73, //0x000044d0 .quad 8303831092947774002 + 0x3e, 0x27, 0xa9, 0xa6, 0x3d, 0x7a, 0x94, 0xce, //0x000044d8 .quad -3561087000135522498 + 0x5f, 0x52, 0x3f, 0x5a, 0x7d, 0x35, 0x06, 0x08, //0x000044e0 .quad 578208414664970847 + 0x87, 0xb8, 0x29, 0x88, 0x66, 0xcc, 0x1c, 0x81, //0x000044e8 .quad -9143208402725783417 + 0xf7, 0x26, 0xcf, 0xb0, 0xdc, 0xc2, 0x07, 0xca, //0x000044f0 .quad -3888925500096174345 + 0xa8, 0x26, 0x34, 0x2a, 0x80, 0xff, 0x63, 0xa1, //0x000044f8 .quad -6817324484979841368 + 0xb5, 0xf0, 0x02, 0xdd, 0x93, 0xb3, 0x89, 0xfc, //0x00004500 .quad -249470856692830027 + 0x52, 0x30, 0xc1, 0x34, 0x60, 0xff, 0xbc, 0xc9, //0x00004508 .quad -3909969587797413806 + 0xe2, 0xac, 0x43, 0xd4, 0x78, 0x20, 0xac, 0xbb, //0x00004510 .quad -4923524589293425438 + 0x67, 0x7c, 0xf1, 0x41, 0x38, 0x3f, 0x2c, 0xfc, //0x00004518 .quad -275775966319379353 + 0x0d, 0x4c, 0xaa, 0x84, 0x4b, 0x94, 0x4b, 0xd5, //0x00004520 .quad -3077202868308390899 + 0xc0, 0xed, 0x36, 0x29, 0x83, 0xa7, 0x9b, 0x9d, //0x00004528 .quad -7089889006590693952 + 0x11, 0xdf, 0xd4, 0x65, 0x5e, 0x79, 0x9e, 0x0a, //0x00004530 .quad 765182433041899281 + 0x31, 0xa9, 0x84, 0xf3, 0x63, 0x91, 0x02, 0xc5, //0x00004538 .quad -4250675239810979535 + 0xd5, 0x16, 0x4a, 0xff, 0xb5, 0x17, 0x46, 0x4d, //0x00004540 .quad 5568164059729762005 + 0x7d, 0xd3, 0x65, 0xf0, 0xbc, 0x35, 0x43, 0xf6, //0x00004548 .quad -701658031336336515 + 0x45, 0x4e, 0x8e, 0xbf, 0xd1, 0xce, 0x4b, 0x50, //0x00004550 .quad 5785945546544795205 + 0x2e, 0xa4, 0x3f, 0x16, 0x96, 0x01, 0xea, 0x99, //0x00004558 .quad -7356065297226292178 + 0xd6, 0xe1, 0x71, 0x2f, 0x86, 0xc2, 0x5e, 0xe4, //0x00004560 .quad -1990940103673781802 + 0x39, 0x8d, 0xcf, 0x9b, 0xfb, 0x81, 0x64, 0xc0, //0x00004568 .quad -4583395603105477319 + 0x4c, 0x5a, 0x4e, 0xbb, 0x27, 0x73, 0x76, 0x5d, //0x00004570 .quad 6734696907262548556 + 0x88, 0x70, 0xc3, 0x82, 0x7a, 0xa2, 0x7d, 0xf0, //0x00004578 .quad -1117558485454458744 + 0x6f, 0xf8, 0x10, 0xd5, 0xf8, 0x07, 0x6a, 0x3a, //0x00004580 .quad 4209185567039092847 + 0x55, 0x26, 0xba, 0x91, 0x8c, 0x85, 0x4e, 0x96, //0x00004588 .quad -7616003081050118571 + 0x8b, 0x36, 0x55, 0x0a, 0xf7, 0x89, 0x04, 0x89, //0x00004590 .quad -8573576096483297653 + 0xea, 0xaf, 0x28, 0xb6, 0xef, 0x26, 0xe2, 0xbb, //0x00004598 .quad -4908317832885260310 + 0x2e, 0x84, 0xea, 0xcc, 0x74, 0xac, 0x45, 0x2b, //0x000045a0 .quad 3118087934678041646 + 0xe5, 0xdb, 0xb2, 0xa3, 0xab, 0xb0, 0xda, 0xea, //0x000045a8 .quad -1523711272679187483 + 0x9d, 0x92, 0x12, 0x00, 0xc9, 0x8b, 0x0b, 0x3b, //0x000045b0 .quad 4254647968387469981 + 0x6f, 0xc9, 0x4f, 0x46, 0x6b, 0xae, 0xc8, 0x92, //0x000045b8 .quad -7869848573065574033 + 0x44, 0x37, 0x17, 0x40, 0xbb, 0x6e, 0xce, 0x09, //0x000045c0 .quad 706623942056949572 + 0xcb, 0xbb, 0xe3, 0x17, 0x06, 0xda, 0x7a, 0xb7, //0x000045c8 .quad -5225624697904579637 + 0x15, 0x05, 0x1d, 0x10, 0x6a, 0x0a, 0x42, 0xcc, //0x000045d0 .quad -3728406090856200939 + 0xbd, 0xaa, 0xdc, 0x9d, 0x87, 0x90, 0x59, 0xe5, //0x000045d8 .quad -1920344853953336643 + 0x2d, 0x23, 0x12, 0x4a, 0x82, 0x46, 0xa9, 0x9f, //0x000045e0 .quad -6941939825212513491 + 0xb6, 0xea, 0xa9, 0xc2, 0x54, 0xfa, 0x57, 0x8f, //0x000045e8 .quad -8117744561361917258 + 0xf9, 0xab, 0x96, 0xdc, 0x22, 0x98, 0x93, 0x47, //0x000045f0 .quad 5157633273766521849 + 0x64, 0x65, 0x54, 0xf3, 0xe9, 0xf8, 0x2d, 0xb3, //0x000045f8 .quad -5535494683275008668 + 0xf7, 0x56, 0xbc, 0x93, 0x2b, 0x7e, 0x78, 0x59, //0x00004600 .quad 6447041592208152311 + 0xbd, 0x7e, 0x29, 0x70, 0x24, 0x77, 0xf9, 0xdf, //0x00004608 .quad -2307682335666372931 + 0x5a, 0xb6, 0x55, 0x3c, 0xdb, 0x4e, 0xeb, 0x57, //0x00004610 .quad 6335244004343789146 + 0x36, 0xef, 0x19, 0xc6, 0x76, 0xea, 0xfb, 0x8b, //0x00004618 .quad -8359830487432564938 + 0xf1, 0x23, 0x6b, 0x0b, 0x92, 0x22, 0xe6, 0xed, //0x00004620 .quad -1304317031425039375 + 0x03, 0x6b, 0xa0, 0x77, 0x14, 0xe5, 0xfa, 0xae, //0x00004628 .quad -5838102090863318269 + 0xed, 0xec, 0x45, 0x8e, 0x36, 0xab, 0x5f, 0xe9, //0x00004630 .quad -1630396289281299219 + 0xc4, 0x85, 0x88, 0x95, 0x59, 0x9e, 0xb9, 0xda, //0x00004638 .quad -2685941595151759932 + 0x14, 0xb4, 0xeb, 0x18, 0x02, 0xcb, 0xdb, 0x11, //0x00004640 .quad 1286845328412881940 + 0x9b, 0x53, 0x75, 0xfd, 0xf7, 0x02, 0xb4, 0x88, //0x00004648 .quad -8596242524610931813 + 0x19, 0xa1, 0x26, 0x9f, 0xc2, 0xbd, 0x52, 0xd6, //0x00004650 .quad -3003129357911285479 + 0x81, 0xa8, 0xd2, 0xfc, 0xb5, 0x03, 0xe1, 0xaa, //0x00004658 .quad -6133617137336276863 + 0x5f, 0x49, 0xf0, 0x46, 0x33, 0x6d, 0xe7, 0x4b, //0x00004660 .quad 5469460339465668959 + 0xa2, 0x52, 0x07, 0x7c, 0xa3, 0x44, 0x99, 0xd5, //0x00004668 .quad -3055335403242958174 + 0xdb, 0x2d, 0x56, 0x0c, 0x40, 0xa4, 0x70, 0x6f, //0x00004670 .quad 8030098730593431003 + 0xa5, 0x93, 0x84, 0x2d, 0xe6, 0xca, 0x7f, 0x85, //0x00004678 .quad -8827113654667930715 + 0x52, 0xb9, 0x6b, 0x0f, 0x50, 0xcd, 0x4c, 0xcb, //0x00004680 .quad -3797434642040374958 + 0x8e, 0xb8, 0xe5, 0xb8, 0x9f, 0xbd, 0xdf, 0xa6, //0x00004688 .quad -6422206049907525490 + 0xa7, 0xa7, 0x46, 0x13, 0xa4, 0x00, 0x20, 0x7e, //0x00004690 .quad 9088264752731695015 + 0xb2, 0x26, 0x1f, 0xa7, 0x07, 0xad, 0x97, 0xd0, //0x00004698 .quad -3416071543957018958 + 0xc8, 0x28, 0x0c, 0x8c, 0x66, 0x00, 0xd4, 0x8e, //0x000046a0 .quad -8154892584824854328 + 0x2f, 0x78, 0x73, 0xc8, 0x24, 0xcc, 0x5e, 0x82, //0x000046a8 .quad -9052573742614218705 + 0xfa, 0x32, 0x0f, 0x2f, 0x80, 0x00, 0x89, 0x72, //0x000046b0 .quad 8253128342678483706 + 0x3b, 0x56, 0x90, 0xfa, 0x2d, 0x7f, 0xf6, 0xa2, //0x000046b8 .quad -6704031159840385477 + 0xb9, 0xff, 0xd2, 0x3a, 0xa0, 0x40, 0x2b, 0x4f, //0x000046c0 .quad 5704724409920716729 + 0xca, 0x6b, 0x34, 0x79, 0xf9, 0x1e, 0xb4, 0xcb, //0x000046c8 .quad -3768352931373093942 + 0xa8, 0xbf, 0x87, 0x49, 0xc8, 0x10, 0xf6, 0xe2, //0x000046d0 .quad -2092466524453879896 + 0xbc, 0x86, 0x81, 0xd7, 0xb7, 0x26, 0xa1, 0xfe, //0x000046d8 .quad -98755145788979524 + 0xc9, 0xd7, 0xf4, 0x2d, 0x7d, 0xca, 0xd9, 0x0d, //0x000046e0 .quad 998051431430019017 + 0x36, 0xf4, 0xb0, 0xe6, 0x32, 0xb8, 0x24, 0x9f, //0x000046e8 .quad -6979250993759194058 + 0xbb, 0x0d, 0x72, 0x79, 0x1c, 0x3d, 0x50, 0x91, //0x000046f0 .quad -7975807747567252037 + 0x43, 0x31, 0x5d, 0xa0, 0x3f, 0xe6, 0xed, 0xc6, //0x000046f8 .quad -4112377723771604669 + 0x2a, 0x91, 0xce, 0x97, 0x63, 0x4c, 0xa4, 0x75, //0x00004700 .quad 8476984389250486570 + 0x94, 0x7d, 0x74, 0x88, 0xcf, 0x5f, 0xa9, 0xf8, //0x00004708 .quad -528786136287117932 + 0xba, 0x1a, 0xe1, 0x3e, 0xbe, 0xaf, 0x86, 0xc9, //0x00004710 .quad -3925256793573221702 + 0x7c, 0xce, 0x48, 0xb5, 0xe1, 0xdb, 0x69, 0x9b, //0x00004718 .quad -7248020362820530564 + 0x68, 0x61, 0x99, 0xce, 0xad, 0x5b, 0xe8, 0xfb, //0x00004720 .quad -294884973539139224 + 0x1b, 0x02, 0x9b, 0x22, 0xda, 0x52, 0x44, 0xc2, //0x00004728 .quad -4448339435098275301 + 0xc3, 0xb9, 0x3f, 0x42, 0x99, 0x72, 0xe2, 0xfa, //0x00004730 .quad -368606216923924029 + 0xa2, 0xc2, 0x41, 0xab, 0x90, 0x67, 0xd5, 0xf2, //0x00004738 .quad -948738275445456222 + 0x1a, 0xd4, 0x67, 0xc9, 0x9f, 0x87, 0xcd, 0xdc, //0x00004740 .quad -2536221894791146470 + 0xa5, 0x19, 0x09, 0x6b, 0xba, 0x60, 0xc5, 0x97, //0x00004748 .quad -7510490449794491995 + 0x20, 0xc9, 0xc1, 0xbb, 0x87, 0xe9, 0x00, 0x54, //0x00004750 .quad 6053094668365842720 + 0x0f, 0x60, 0xcb, 0x05, 0xe9, 0xb8, 0xb6, 0xbd, //0x00004758 .quad -4776427043815727089 + 0x68, 0x3b, 0xb2, 0xaa, 0xe9, 0x23, 0x01, 0x29, //0x00004760 .quad 2954682317029915496 + 0x13, 0x38, 0x3e, 0x47, 0x23, 0x67, 0x24, 0xed, //0x00004768 .quad -1358847786342270957 + 0x21, 0x65, 0xaf, 0x0a, 0x72, 0xb6, 0xa0, 0xf9, //0x00004770 .quad -459166561069996767 + 0x0b, 0xe3, 0x86, 0x0c, 0x76, 0xc0, 0x36, 0x94, //0x00004778 .quad -7766808894105001205 + 0x69, 0x3e, 0x5b, 0x8d, 0x0e, 0xe4, 0x08, 0xf8, //0x00004780 .quad -573958201337495959 + 0xce, 0x9b, 0xa8, 0x8f, 0x93, 0x70, 0x44, 0xb9, //0x00004788 .quad -5096825099203863602 + 0x04, 0x0e, 0xb2, 0x30, 0x12, 0x1d, 0x0b, 0xb6, //0x00004790 .quad -5329133770099257852 + 0xc2, 0xc2, 0x92, 0x73, 0xb8, 0x8c, 0x95, 0xe7, //0x00004798 .quad -1759345355577441598 + 0xc2, 0x48, 0x6f, 0x5e, 0x2b, 0xf2, 0xc6, 0xb1, //0x000047a0 .quad -5636551615525730110 + 0xb9, 0xb9, 0x3b, 0x48, 0xf3, 0x77, 0xbd, 0x90, //0x000047a8 .quad -8017119874876982855 + 0xf3, 0x1a, 0x0b, 0x36, 0xb6, 0xae, 0x38, 0x1e, //0x000047b0 .quad 2177682517447613171 + 0x28, 0xa8, 0x4a, 0x1a, 0xf0, 0xd5, 0xec, 0xb4, //0x000047b8 .quad -5409713825168840664 + 0xb0, 0xe1, 0x8d, 0xc3, 0x63, 0xda, 0xc6, 0x25, //0x000047c0 .quad 2722103146809516464 + 0x32, 0x52, 0xdd, 0x20, 0x6c, 0x0b, 0x28, 0xe2, //0x000047c8 .quad -2150456263033662926 + 0x0e, 0xad, 0x38, 0x5a, 0x7e, 0x48, 0x9c, 0x57, //0x000047d0 .quad 6313000485183335694 + 0x5f, 0x53, 0x8a, 0x94, 0x23, 0x07, 0x59, 0x8d, //0x000047d8 .quad -8261564192037121185 + 0x51, 0xd8, 0xc6, 0xf0, 0x9d, 0x5a, 0x83, 0x2d, //0x000047e0 .quad 3279564588051781713 + 0x37, 0xe8, 0xac, 0x79, 0xec, 0x48, 0xaf, 0xb0, //0x000047e8 .quad -5715269221619013577 + 0x65, 0x8e, 0xf8, 0x6c, 0x45, 0x31, 0xe4, 0xf8, //0x000047f0 .quad -512230283362660763 + 0x44, 0x22, 0x18, 0x98, 0x27, 0x1b, 0xdb, 0xdc, //0x000047f8 .quad -2532400508596379068 + 0xff, 0x58, 0x1b, 0x64, 0xcb, 0x9e, 0x8e, 0x1b, //0x00004800 .quad 1985699082112030975 + 0x6b, 0x15, 0x0f, 0xbf, 0xf8, 0xf0, 0x08, 0x8a, //0x00004808 .quad -8500279345513818773 + 0x3f, 0x2f, 0x22, 0x3d, 0x7e, 0x46, 0x72, 0xe2, //0x00004810 .quad -2129562165787349185 + 0xc5, 0xda, 0xd2, 0xee, 0x36, 0x2d, 0x8b, 0xac, //0x00004818 .quad -6013663163464885563 + 0x0f, 0xbb, 0x6a, 0xcc, 0x1d, 0xd8, 0x0e, 0x5b, //0x00004820 .quad 6561419329620589327 + 0x77, 0x91, 0x87, 0xaa, 0x84, 0xf8, 0xad, 0xd7, //0x00004828 .quad -2905392935903719049 + 0xe9, 0xb4, 0xc2, 0x9f, 0x12, 0x47, 0xe9, 0x98, //0x00004830 .quad -7428327965055601431 + 0xea, 0xba, 0x94, 0xea, 0x52, 0xbb, 0xcc, 0x86, //0x00004838 .quad -8733399612580906262 + 0x24, 0x62, 0xb3, 0x47, 0xd7, 0x98, 0x23, 0x3f, //0x00004840 .quad 4549648098962661924 + 0xa5, 0xe9, 0x39, 0xa5, 0x27, 0xea, 0x7f, 0xa8, //0x00004848 .quad -6305063497298744923 + 0xad, 0x3a, 0xa0, 0x19, 0x0d, 0x7f, 0xec, 0x8e, //0x00004850 .quad -8147997931578836307 + 0x0e, 0x64, 0x88, 0x8e, 0xb1, 0xe4, 0x9f, 0xd2, //0x00004858 .quad -3269643353196043250 + 0xac, 0x24, 0x04, 0x30, 0x68, 0xcf, 0x53, 0x19, //0x00004860 .quad 1825030320404309164 + 0x89, 0x3e, 0x15, 0xf9, 0xee, 0xee, 0xa3, 0x83, //0x00004868 .quad -8961056123388608887 + 0xd7, 0x2d, 0x05, 0x3c, 0x42, 0xc3, 0xa8, 0x5f, //0x00004870 .quad 6892973918932774359 + 0x2b, 0x8e, 0x5a, 0xb7, 0xaa, 0xea, 0x8c, 0xa4, //0x00004878 .quad -6589634135808373205 + 0x4d, 0x79, 0x06, 0xcb, 0x12, 0xf4, 0x92, 0x37, //0x00004880 .quad 4004531380238580045 + 0xb6, 0x31, 0x31, 0x65, 0x55, 0x25, 0xb0, 0xcd, //0x00004888 .quad -3625356651333078602 + 0xd0, 0x0b, 0xe4, 0xbe, 0x8b, 0xd8, 0xbb, 0xe2, //0x00004890 .quad -2108853905778275376 + 0x11, 0xbf, 0x3e, 0x5f, 0x55, 0x17, 0x8e, 0x80, //0x00004898 .quad -9183376934724255983 + 0xc4, 0x0e, 0x9d, 0xae, 0xae, 0xce, 0x6a, 0x5b, //0x000048a0 .quad 6587304654631931588 + 0xd6, 0x6e, 0x0e, 0xb7, 0x2a, 0x9d, 0xb1, 0xa0, //0x000048a8 .quad -6867535149977932074 + 0x75, 0x52, 0x44, 0x5a, 0x5a, 0x82, 0x45, 0xf2, //0x000048b0 .quad -989241218564861323 + 0x8b, 0x0a, 0xd2, 0x64, 0x75, 0x04, 0xde, 0xc8, //0x000048b8 .quad -3972732919045027189 + 0x12, 0x67, 0xd5, 0xf0, 0xf0, 0xe2, 0xd6, 0xee, //0x000048c0 .quad -1236551523206076654 + 0x2e, 0x8d, 0x06, 0xbe, 0x92, 0x85, 0x15, 0xfb, //0x000048c8 .quad -354230130378896082 + 0x6b, 0x60, 0x85, 0x96, 0xd6, 0x4d, 0x46, 0x55, //0x000048d0 .quad 6144684325637283947 + 0x3d, 0x18, 0xc4, 0xb6, 0x7b, 0x73, 0xed, 0x9c, //0x000048d8 .quad -7138922859127891907 + 0x86, 0xb8, 0x26, 0x3c, 0x4c, 0xe1, 0x97, 0xaa, //0x000048e0 .quad -6154202648235558778 + 0x4c, 0x1e, 0x75, 0xa4, 0x5a, 0xd0, 0x28, 0xc4, //0x000048e8 .quad -4311967555482476980 + 0xa8, 0x66, 0x30, 0x4b, 0x9f, 0xd9, 0x3d, 0xd5, //0x000048f0 .quad -3081067291867060568 + 0xdf, 0x65, 0x92, 0x4d, 0x71, 0x04, 0x33, 0xf5, //0x000048f8 .quad -778273425925708321 + 0x29, 0x40, 0xfe, 0x8e, 0x03, 0xa8, 0x46, 0xe5, //0x00004900 .quad -1925667057416912855 + 0xab, 0x7f, 0x7b, 0xd0, 0xc6, 0xe2, 0x3f, 0x99, //0x00004908 .quad -7403949918844649557 + 0x33, 0xd0, 0xbd, 0x72, 0x04, 0x52, 0x98, 0xde, //0x00004910 .quad -2407083821771141069 + 0x96, 0x5f, 0x9a, 0x84, 0x78, 0xdb, 0x8f, 0xbf, //0x00004918 .quad -4643251380128424042 + 0x40, 0x44, 0x6d, 0x8f, 0x85, 0x66, 0x3e, 0x96, //0x00004920 .quad -7620540795641314240 + 0x7c, 0xf7, 0xc0, 0xa5, 0x56, 0xd2, 0x73, 0xef, //0x00004928 .quad -1192378206733142148 + 0xa8, 0x4a, 0xa4, 0x79, 0x13, 0x00, 0xe7, 0xdd, //0x00004930 .quad -2456994988062127448 + 0xad, 0x9a, 0x98, 0x27, 0x76, 0x63, 0xa8, 0x95, //0x00004938 .quad -7662765406849295699 + 0x52, 0x5d, 0x0d, 0x58, 0x18, 0xc0, 0x60, 0x55, //0x00004940 .quad 6152128301777116498 + 0x59, 0xc1, 0x7e, 0xb1, 0x53, 0x7c, 0x12, 0xbb, //0x00004948 .quad -4966770740134231719 + 0xa6, 0xb4, 0x10, 0x6e, 0x1e, 0xf0, 0xb8, 0xaa, //0x00004950 .quad -6144897678060768090 + 0xaf, 0x71, 0xde, 0x9d, 0x68, 0x1b, 0xd7, 0xe9, //0x00004958 .quad -1596777406740401745 + 0xe8, 0x70, 0xca, 0x04, 0x13, 0x96, 0xb3, 0xca, //0x00004960 .quad -3840561048787980056 + 0x0d, 0x07, 0xab, 0x62, 0x21, 0x71, 0x26, 0x92, //0x00004968 .quad -7915514906853832947 + 0x22, 0x0d, 0xfd, 0xc5, 0x97, 0x7b, 0x60, 0x3d, //0x00004970 .quad 4422670725869800738 + 0xd1, 0xc8, 0x55, 0xbb, 0x69, 0x0d, 0xb0, 0xb6, //0x00004978 .quad -5282707615139903279 + 0x6a, 0x50, 0x7c, 0xb7, 0x7d, 0x9a, 0xb8, 0x8c, //0x00004980 .quad -8306719647944912790 + 0x05, 0x3b, 0x2b, 0x2a, 0xc4, 0x10, 0x5c, 0xe4, //0x00004988 .quad -1991698500497491195 + 0x42, 0xb2, 0xad, 0x92, 0x8e, 0x60, 0xf3, 0x77, //0x00004990 .quad 8643358275316593218 + 0xe3, 0x04, 0x5b, 0x9a, 0x7a, 0x8a, 0xb9, 0x8e, //0x00004998 .quad -8162340590452013853 + 0xd3, 0x1e, 0x59, 0x37, 0xb2, 0x38, 0xf0, 0x55, //0x000049a0 .quad 6192511825718353619 + 0x1c, 0xc6, 0xf1, 0x40, 0x19, 0xed, 0x67, 0xb2, //0x000049a8 .quad -5591239719637629412 + 0x88, 0x66, 0x2f, 0xc5, 0xde, 0x46, 0x6c, 0x6b, //0x000049b0 .quad 7740639782147942024 + 0xa3, 0x37, 0x2e, 0x91, 0x5f, 0xe8, 0x01, 0xdf, //0x000049b8 .quad -2377363631119648861 + 0x15, 0xa0, 0x3d, 0x3b, 0x4b, 0xac, 0x23, 0x23, //0x000049c0 .quad 2532056854628769813 + 0xc6, 0xe2, 0xbc, 0xba, 0x3b, 0x31, 0x61, 0x8b, //0x000049c8 .quad -8403381297090862394 + 0x1a, 0x08, 0x0d, 0x0a, 0x5e, 0x97, 0xec, 0xab, //0x000049d0 .quad -6058300968568813542 + 0x77, 0x1b, 0x6c, 0xa9, 0x8a, 0x7d, 0x39, 0xae, //0x000049d8 .quad -5892540602936190089 + 0x21, 0x4a, 0x90, 0x8c, 0x35, 0xbd, 0xe7, 0x96, //0x000049e0 .quad -7572876210711016927 + 0x55, 0x22, 0xc7, 0x53, 0xed, 0xdc, 0xc7, 0xd9, //0x000049e8 .quad -2753989735242849707 + 0x54, 0x2e, 0xda, 0x77, 0x41, 0xd6, 0x50, 0x7e, //0x000049f0 .quad 9102010423587778132 + 0x75, 0x75, 0x5c, 0x54, 0x14, 0xea, 0x1c, 0x88, //0x000049f8 .quad -8638772612167862923 + 0xe9, 0xb9, 0xd0, 0xd5, 0xd1, 0x0b, 0xe5, 0xdd, //0x00004a00 .quad -2457545025797441047 + 0xd2, 0x92, 0x73, 0x69, 0x99, 0x24, 0x24, 0xaa, //0x00004a08 .quad -6186779746782440750 + 0x64, 0xe8, 0x44, 0x4b, 0xc6, 0x4e, 0x5e, 0x95, //0x00004a10 .quad -7683617300674189212 + 0x87, 0x77, 0xd0, 0xc3, 0xbf, 0x2d, 0xad, 0xd4, //0x00004a18 .quad -3121788665050663033 + 0x3e, 0x11, 0x0b, 0xef, 0x3b, 0xf1, 0x5a, 0xbd, //0x00004a20 .quad -4802260812921368258 + 0xb4, 0x4a, 0x62, 0xda, 0x97, 0x3c, 0xec, 0x84, //0x00004a28 .quad -8868646943297746252 + 0x8e, 0xd5, 0xcd, 0xea, 0x8a, 0xad, 0xb1, 0xec, //0x00004a30 .quad -1391139997724322418 + 0x61, 0xdd, 0xfa, 0xd0, 0xbd, 0x4b, 0x27, 0xa6, //0x00004a38 .quad -6474122660694794911 + 0xf2, 0x4a, 0x81, 0xa5, 0xed, 0x18, 0xde, 0x67, //0x00004a40 .quad 7484447039699372786 + 0xba, 0x94, 0x39, 0x45, 0xad, 0x1e, 0xb1, 0xcf, //0x00004a48 .quad -3480967307441105734 + 0xd7, 0xce, 0x70, 0x87, 0x94, 0xcf, 0xea, 0x80, //0x00004a50 .quad -9157278655470055721 + 0xf4, 0xfc, 0x43, 0x4b, 0x2c, 0xb3, 0xce, 0x81, //0x00004a58 .quad -9093133594791772940 + 0x8d, 0x02, 0x4d, 0xa9, 0x79, 0x83, 0x25, 0xa1, //0x00004a60 .quad -6834912300910181747 + 0x31, 0xfc, 0x14, 0x5e, 0xf7, 0x5f, 0x42, 0xa2, //0x00004a68 .quad -6754730975062328271 + 0x30, 0x43, 0xa0, 0x13, 0x58, 0xe4, 0x6e, 0x09, //0x00004a70 .quad 679731660717048624 + 0x3e, 0x3b, 0x9a, 0x35, 0xf5, 0xf7, 0xd2, 0xca, //0x00004a78 .quad -3831727700400522434 + 0xfc, 0x53, 0x88, 0x18, 0x6e, 0x9d, 0xca, 0x8b, //0x00004a80 .quad -8373707460958465028 + 0x0d, 0xca, 0x00, 0x83, 0xf2, 0xb5, 0x87, 0xfd, //0x00004a88 .quad -177973607073265139 + 0x7d, 0x34, 0x55, 0xcf, 0x64, 0xa2, 0x5e, 0x77, //0x00004a90 .quad 8601490892183123069 + 0x48, 0x7e, 0xe0, 0x91, 0xb7, 0xd1, 0x74, 0x9e, //0x00004a98 .quad -7028762532061872568 + 0x9d, 0x81, 0x2a, 0x03, 0xfe, 0x4a, 0x36, 0x95, //0x00004aa0 .quad -7694880458480647779 + 0xda, 0x9d, 0x58, 0x76, 0x25, 0x06, 0x12, 0xc6, //0x00004aa8 .quad -4174267146649952806 + 0x04, 0x22, 0xf5, 0x83, 0xbd, 0xdd, 0x83, 0x3a, //0x00004ab0 .quad 4216457482181353988 + 0x51, 0xc5, 0xee, 0xd3, 0xae, 0x87, 0x96, 0xf7, //0x00004ab8 .quad -606147914885053103 + 0x42, 0x35, 0x79, 0x72, 0x96, 0x6a, 0x92, 0xc4, //0x00004ac0 .quad -4282243101277735614 + 0x52, 0x3b, 0x75, 0x44, 0xcd, 0x14, 0xbe, 0x9a, //0x00004ac8 .quad -7296371474444240046 + 0x93, 0x82, 0x17, 0x0f, 0x3c, 0x05, 0xb7, 0x75, //0x00004ad0 .quad 8482254178684994195 + 0x27, 0x8a, 0x92, 0x95, 0x00, 0x9a, 0x6d, 0xc1, //0x00004ad8 .quad -4508778324627912153 + 0x38, 0x63, 0xdd, 0x12, 0x8b, 0xc6, 0x24, 0x53, //0x00004ae0 .quad 5991131704928854840 + 0xb1, 0x2c, 0xf7, 0xba, 0x80, 0x00, 0xc9, 0xf1, //0x00004ae8 .quad -1024286887357502287 + 0x03, 0x5e, 0xca, 0xeb, 0x16, 0xfc, 0xf6, 0xd3, //0x00004af0 .quad -3173071712060547581 + 0xee, 0x7b, 0xda, 0x74, 0x50, 0xa0, 0x1d, 0x97, //0x00004af8 .quad -7557708332239520786 + 0x84, 0xf5, 0xbc, 0xa6, 0x1c, 0xbb, 0xf4, 0x88, //0x00004b00 .quad -8578025658503072380 + 0xea, 0x1a, 0x11, 0x92, 0x64, 0x08, 0xe5, 0xbc, //0x00004b08 .quad -4835449396872013078 + 0xe5, 0x32, 0x6c, 0xd0, 0xe3, 0xe9, 0x31, 0x2b, //0x00004b10 .quad 3112525982153323237 + 0xa5, 0x61, 0x95, 0xb6, 0x7d, 0x4a, 0x1e, 0xec, //0x00004b18 .quad -1432625727662628443 + 0xcf, 0x9f, 0x43, 0x62, 0x2e, 0x32, 0xff, 0x3a, //0x00004b20 .quad 4251171748059520975 + 0x07, 0x5d, 0x1d, 0x92, 0x8e, 0xee, 0x92, 0x93, //0x00004b28 .quad -7812920107430224633 + 0xc2, 0x87, 0xd4, 0xfa, 0xb9, 0xfe, 0xbe, 0x09, //0x00004b30 .quad 702278666647013314 + 0x49, 0xb4, 0xa4, 0x36, 0x32, 0xaa, 0x77, 0xb8, //0x00004b38 .quad -5154464115860392887 + 0xb3, 0xa9, 0x89, 0x79, 0x68, 0xbe, 0x2e, 0x4c, //0x00004b40 .quad 5489534351736154547 + 0x5b, 0xe1, 0x4d, 0xc4, 0xbe, 0x94, 0x95, 0xe6, //0x00004b48 .quad -1831394126398103205 + 0x10, 0x0a, 0xf6, 0x4b, 0x01, 0x37, 0x9d, 0x0f, //0x00004b50 .quad 1125115960621402640 + 0xd9, 0xac, 0xb0, 0x3a, 0xf7, 0x7c, 0x1d, 0x90, //0x00004b58 .quad -8062150356639896359 + 0x94, 0x8c, 0xf3, 0x9e, 0xc1, 0x84, 0x84, 0x53, //0x00004b60 .quad 6018080969204141204 + 0x0f, 0xd8, 0x5c, 0x09, 0x35, 0xdc, 0x24, 0xb4, //0x00004b68 .quad -5466001927372482545 + 0xb9, 0x6f, 0xb0, 0x06, 0xf2, 0xa5, 0x65, 0x28, //0x00004b70 .quad 2910915193077788601 + 0x13, 0x0e, 0xb4, 0x4b, 0x42, 0x13, 0x2e, 0xe1, //0x00004b78 .quad -2220816390788215277 + 0xd3, 0x45, 0x2e, 0x44, 0xb7, 0x87, 0x3f, 0xf9, //0x00004b80 .quad -486521013540076077 + 0xcb, 0x88, 0x50, 0x6f, 0x09, 0xcc, 0xbc, 0x8c, //0x00004b88 .quad -8305539271883716405 + 0x48, 0xd7, 0x39, 0x15, 0xa5, 0x69, 0x8f, 0xf7, //0x00004b90 .quad -608151266925095096 + 0xfe, 0xaa, 0x24, 0xcb, 0x0b, 0xff, 0xeb, 0xaf, //0x00004b98 .quad -5770238071427257602 + 0x1b, 0x4d, 0x88, 0x5a, 0x0e, 0x44, 0x73, 0xb5, //0x00004ba0 .quad -5371875102083756773 + 0xbe, 0xd5, 0xed, 0xbd, 0xce, 0xfe, 0xe6, 0xdb, //0x00004ba8 .quad -2601111570856684098 + 0x30, 0x30, 0x95, 0xf8, 0x88, 0x0a, 0x68, 0x31, //0x00004bb0 .quad 3560107088838733872 + 0x97, 0xa5, 0xb4, 0x36, 0x41, 0x5f, 0x70, 0x89, //0x00004bb8 .quad -8543223759426509417 + 0x3d, 0x7c, 0xba, 0x36, 0x2b, 0x0d, 0xc2, 0xfd, //0x00004bc0 .quad -161552157378970563 + 0xfc, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00004bc8 .quad -6067343680855748868 + 0x4c, 0x1b, 0x69, 0x04, 0x76, 0x90, 0x32, 0x3d, //0x00004bd0 .quad 4409745821703674700 + 0xbc, 0x42, 0x7a, 0xe5, 0xd5, 0x94, 0xbf, 0xd6, //0x00004bd8 .quad -2972493582642298180 + 0x0f, 0xb1, 0xc1, 0xc2, 0x49, 0x9a, 0x3f, 0xa6, //0x00004be0 .quad -6467280898289979121 + 0xb5, 0x69, 0x6c, 0xaf, 0x05, 0xbd, 0x37, 0x86, //0x00004be8 .quad -8775337516792518219 + 0x53, 0x1d, 0x72, 0x33, 0xdc, 0x80, 0xcf, 0x0f, //0x00004bf0 .quad 1139270913992301907 + 0x23, 0x84, 0x47, 0x1b, 0x47, 0xac, 0xc5, 0xa7, //0x00004bf8 .quad -6357485877563259869 + 0xa8, 0xa4, 0x4e, 0x40, 0x13, 0x61, 0xc3, 0xd3, //0x00004c00 .quad -3187597375937010520 + 0x2b, 0x65, 0x19, 0xe2, 0x58, 0x17, 0xb7, 0xd1, //0x00004c08 .quad -3335171328526686933 + 0xe9, 0x26, 0x31, 0x08, 0xac, 0x1c, 0x5a, 0x64, //0x00004c10 .quad 7231123676894144233 + 0x3b, 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83, //0x00004c18 .quad -9002011107970261189 + 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, 0x70, 0x3d, //0x00004c20 .quad 4427218577690292387 + 0x0a, 0xd7, 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, //0x00004c28 .quad -6640827866535438582 + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00004c30 QUAD $0xcccccccccccccccc; QUAD $0xcccccccccccccccc // .space 16, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c40 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00004c48 .quad -9223372036854775808 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c50 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, //0x00004c58 .quad -6917529027641081856 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c60 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, //0x00004c68 .quad -4035225266123964416 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c70 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00004c78 .quad -432345564227567616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c80 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9c, //0x00004c88 .quad -7187745005283311616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c90 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, //0x00004c98 .quad -4372995238176751616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004ca0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, //0x00004ca8 .quad -854558029293551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004cb0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x96, 0x98, //0x00004cb8 .quad -7451627795949551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004cc0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbc, 0xbe, //0x00004cc8 .quad -4702848726509551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004cd0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6b, 0xee, //0x00004cd8 .quad -1266874889709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004ce0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x95, //0x00004ce8 .quad -7709325833709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004cf0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x40, 0xb7, 0x43, 0xba, //0x00004cf8 .quad -5024971273709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d00 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0xd4, 0xe8, //0x00004d08 .quad -1669528073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d10 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xe7, 0x84, 0x91, //0x00004d18 .quad -7960984073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d20 .quad 0 + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x20, 0xe6, 0xb5, //0x00004d28 .quad -5339544073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d30 .quad 0 + 0x00, 0x00, 0x00, 0xa0, 0x31, 0xa9, 0x5f, 0xe3, //0x00004d38 .quad -2062744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d40 .quad 0 + 0x00, 0x00, 0x00, 0x04, 0xbf, 0xc9, 0x1b, 0x8e, //0x00004d48 .quad -8206744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d50 .quad 0 + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0xbc, 0xa2, 0xb1, //0x00004d58 .quad -5646744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d60 .quad 0 + 0x00, 0x00, 0x40, 0x76, 0x3a, 0x6b, 0x0b, 0xde, //0x00004d68 .quad -2446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d70 .quad 0 + 0x00, 0x00, 0xe8, 0x89, 0x04, 0x23, 0xc7, 0x8a, //0x00004d78 .quad -8446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d80 .quad 0 + 0x00, 0x00, 0x62, 0xac, 0xc5, 0xeb, 0x78, 0xad, //0x00004d88 .quad -5946744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004d90 .quad 0 + 0x00, 0x80, 0x7a, 0x17, 0xb7, 0x26, 0xd7, 0xd8, //0x00004d98 .quad -2821744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004da0 .quad 0 + 0x00, 0x90, 0xac, 0x6e, 0x32, 0x78, 0x86, 0x87, //0x00004da8 .quad -8681119073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004db0 .quad 0 + 0x00, 0xb4, 0x57, 0x0a, 0x3f, 0x16, 0x68, 0xa9, //0x00004db8 .quad -6239712823709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004dc0 .quad 0 + 0x00, 0xa1, 0xed, 0xcc, 0xce, 0x1b, 0xc2, 0xd3, //0x00004dc8 .quad -3187955011209551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004dd0 .quad 0 + 0xa0, 0x84, 0x14, 0x40, 0x61, 0x51, 0x59, 0x84, //0x00004dd8 .quad -8910000909647051616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004de0 .quad 0 + 0xc8, 0xa5, 0x19, 0x90, 0xb9, 0xa5, 0x6f, 0xa5, //0x00004de8 .quad -6525815118631426616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004df0 .quad 0 + 0x3a, 0x0f, 0x20, 0xf4, 0x27, 0x8f, 0xcb, 0xce, //0x00004df8 .quad -3545582879861895366 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, //0x00004e00 .quad 4611686018427387904 + 0x84, 0x09, 0x94, 0xf8, 0x78, 0x39, 0x3f, 0x81, //0x00004e08 .quad -9133518327554766460 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, //0x00004e10 .quad 5764607523034234880 + 0xe5, 0x0b, 0xb9, 0x36, 0xd7, 0x07, 0x8f, 0xa1, //0x00004e18 .quad -6805211891016070171 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, //0x00004e20 .quad -6629298651489370112 + 0xde, 0x4e, 0x67, 0x04, 0xcd, 0xc9, 0xf2, 0xc9, //0x00004e28 .quad -3894828845342699810 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, //0x00004e30 .quad 5548434740920451072 + 0x96, 0x22, 0x81, 0x45, 0x40, 0x7c, 0x6f, 0xfc, //0x00004e38 .quad -256850038250986858 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, //0x00004e40 .quad -1143914305352105984 + 0x9d, 0xb5, 0x70, 0x2b, 0xa8, 0xad, 0xc5, 0x9d, //0x00004e48 .quad -7078060301547948643 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6c, //0x00004e50 .quad 7793479155164643328 + 0x05, 0xe3, 0x4c, 0x36, 0x12, 0x19, 0x37, 0xc5, //0x00004e58 .quad -4235889358507547899 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xc7, //0x00004e60 .quad -4093209111326359552 + 0xc6, 0x1b, 0xe0, 0xc3, 0x56, 0xdf, 0x84, 0xf6, //0x00004e68 .quad -683175679707046970 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7f, 0x3c, //0x00004e70 .quad 4359273333062107136 + 0x5c, 0x11, 0x6c, 0x3a, 0x96, 0x0b, 0x13, 0x9a, //0x00004e78 .quad -7344513827457986212 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x9f, 0x4b, //0x00004e80 .quad 5449091666327633920 + 0xb3, 0x15, 0x07, 0xc9, 0x7b, 0xce, 0x97, 0xc0, //0x00004e88 .quad -4568956265895094861 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x86, 0x1e, //0x00004e90 .quad 2199678564482154496 + 0x20, 0xdb, 0x48, 0xbb, 0x1a, 0xc2, 0xbd, 0xf0, //0x00004e98 .quad -1099509313941480672 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x14, 0x13, //0x00004ea0 .quad 1374799102801346560 + 0xf4, 0x88, 0x0d, 0xb5, 0x50, 0x99, 0x76, 0x96, //0x00004ea8 .quad -7604722348854507276 + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x55, 0xd9, 0x17, //0x00004eb0 .quad 1718498878501683200 + 0x31, 0xeb, 0x50, 0xe2, 0xa4, 0x3f, 0x14, 0xbc, //0x00004eb8 .quad -4894216917640746191 + 0x00, 0x00, 0x00, 0x00, 0x08, 0xab, 0xcf, 0x5d, //0x00004ec0 .quad 6759809616554491904 + 0xfd, 0x25, 0xe5, 0x1a, 0x8e, 0x4f, 0x19, 0xeb, //0x00004ec8 .quad -1506085128623544835 + 0x00, 0x00, 0x00, 0x00, 0xe5, 0xca, 0xa1, 0x5a, //0x00004ed0 .quad 6530724019560251392 + 0xbe, 0x37, 0xcf, 0xd0, 0xb8, 0xd1, 0xef, 0x92, //0x00004ed8 .quad -7858832233030797378 + 0x00, 0x00, 0x00, 0x40, 0x9e, 0x3d, 0x4a, 0xf1, //0x00004ee0 .quad -1059967012404461568 + 0xad, 0x05, 0x03, 0x05, 0x27, 0xc6, 0xab, 0xb7, //0x00004ee8 .quad -5211854272861108819 + 0x00, 0x00, 0x00, 0xd0, 0x05, 0xcd, 0x9c, 0x6d, //0x00004ef0 .quad 7898413271349198848 + 0x19, 0xc7, 0x43, 0xc6, 0xb0, 0xb7, 0x96, 0xe5, //0x00004ef8 .quad -1903131822648998119 + 0x00, 0x00, 0x00, 0xa2, 0x23, 0x00, 0x82, 0xe4, //0x00004f00 .quad -1981020733047832576 + 0x6f, 0x5c, 0xea, 0x7b, 0xce, 0x32, 0x7e, 0x8f, //0x00004f08 .quad -8106986416796705681 + 0x00, 0x00, 0x80, 0x8a, 0x2c, 0x80, 0xa2, 0xdd, //0x00004f10 .quad -2476275916309790720 + 0x8b, 0xf3, 0xe4, 0x1a, 0x82, 0xbf, 0x5d, 0xb3, //0x00004f18 .quad -5522047002568494197 + 0x00, 0x00, 0x20, 0xad, 0x37, 0x20, 0x0b, 0xd5, //0x00004f20 .quad -3095344895387238400 + 0x6e, 0x30, 0x9e, 0xa1, 0x62, 0x2f, 0x35, 0xe0, //0x00004f28 .quad -2290872734783229842 + 0x00, 0x00, 0x34, 0xcc, 0x22, 0xf4, 0x26, 0x45, //0x00004f30 .quad 4982938468024057856 + 0x45, 0xde, 0x02, 0xa5, 0x9d, 0x3d, 0x21, 0x8c, //0x00004f38 .quad -8349324486880600507 + 0x00, 0x00, 0x41, 0x7f, 0x2b, 0xb1, 0x70, 0x96, //0x00004f40 .quad -7606384970252091392 + 0xd6, 0x95, 0x43, 0x0e, 0x05, 0x8d, 0x29, 0xaf, //0x00004f48 .quad -5824969590173362730 + 0x00, 0x40, 0x11, 0x5f, 0x76, 0xdd, 0x0c, 0x3c, //0x00004f50 .quad 4327076842467049472 + 0x4c, 0x7b, 0xd4, 0x51, 0x46, 0xf0, 0xf3, 0xda, //0x00004f58 .quad -2669525969289315508 + 0x00, 0xc8, 0x6a, 0xfb, 0x69, 0x0a, 0x88, 0xa5, //0x00004f60 .quad -6518949010312869888 + 0x0f, 0xcd, 0x24, 0xf3, 0x2b, 0x76, 0xd8, 0x88, //0x00004f68 .quad -8585982758446904049 + 0x00, 0x7a, 0x45, 0x7a, 0x04, 0x0d, 0xea, 0x8e, //0x00004f70 .quad -8148686262891087360 + 0x53, 0x00, 0xee, 0xef, 0xb6, 0x93, 0x0e, 0xab, //0x00004f78 .quad -6120792429631242157 + 0x80, 0xd8, 0xd6, 0x98, 0x45, 0x90, 0xa4, 0x72, //0x00004f80 .quad 8260886245095692416 + 0x68, 0x80, 0xe9, 0xab, 0xa4, 0x38, 0xd2, 0xd5, //0x00004f88 .quad -3039304518611664792 + 0x50, 0x47, 0x86, 0x7f, 0x2b, 0xda, 0xa6, 0x47, //0x00004f90 .quad 5163053903184807760 + 0x41, 0xf0, 0x71, 0xeb, 0x66, 0x63, 0xa3, 0x85, //0x00004f98 .quad -8817094351773372351 + 0x24, 0xd9, 0x67, 0x5f, 0xb6, 0x90, 0x90, 0x99, //0x00004fa0 .quad -7381240676301154012 + 0x51, 0x6c, 0x4e, 0xa6, 0x40, 0x3c, 0x0c, 0xa7, //0x00004fa8 .quad -6409681921289327535 + 0x6d, 0xcf, 0x41, 0xf7, 0xe3, 0xb4, 0xf4, 0xff, //0x00004fb0 .quad -3178808521666707 + 0x65, 0x07, 0xe2, 0xcf, 0x50, 0x4b, 0xcf, 0xd0, //0x00004fb8 .quad -3400416383184271515 + 0xa4, 0x21, 0x89, 0x7a, 0x0e, 0xf1, 0xf8, 0xbf, //0x00004fc0 .quad -4613672773753429596 + 0x9f, 0x44, 0xed, 0x81, 0x12, 0x8f, 0x81, 0x82, //0x00004fc8 .quad -9042789267131251553 + 0x0d, 0x6a, 0x2b, 0x19, 0x52, 0x2d, 0xf7, 0xaf, //0x00004fd0 .quad -5767090967191786995 + 0xc7, 0x95, 0x68, 0x22, 0xd7, 0xf2, 0x21, 0xa3, //0x00004fd8 .quad -6691800565486676537 + 0x90, 0x44, 0x76, 0x9f, 0xa6, 0xf8, 0xf4, 0x9b, //0x00004fe0 .quad -7208863708989733744 + 0x39, 0xbb, 0x02, 0xeb, 0x8c, 0x6f, 0xea, 0xcb, //0x00004fe8 .quad -3753064688430957767 + 0xb4, 0xd5, 0x53, 0x47, 0xd0, 0x36, 0xf2, 0x02, //0x00004ff0 .quad 212292400617608628 + 0x08, 0x6a, 0xc3, 0x25, 0x70, 0x0b, 0xe5, 0xfe, //0x00004ff8 .quad -79644842111309304 + 0x90, 0x65, 0x94, 0x2c, 0x42, 0x62, 0xd7, 0x01, //0x00005000 .quad 132682750386005392 + 0x45, 0x22, 0x9a, 0x17, 0x26, 0x27, 0x4f, 0x9f, //0x00005008 .quad -6967307053960650171 + 0xf5, 0x7e, 0xb9, 0xb7, 0xd2, 0x3a, 0x4d, 0x42, //0x00005010 .quad 4777539456409894645 + 0xd6, 0xaa, 0x80, 0x9d, 0xef, 0xf0, 0x22, 0xc7, //0x00005018 .quad -4097447799023424810 + 0xb2, 0xde, 0xa7, 0x65, 0x87, 0x89, 0xe0, 0xd2, //0x00005020 .quad -3251447716342407502 + 0x8b, 0xd5, 0xe0, 0x84, 0x2b, 0xad, 0xeb, 0xf8, //0x00005028 .quad -510123730351893109 + 0x2f, 0xeb, 0x88, 0x9f, 0xf4, 0x55, 0xcc, 0x63, //0x00005030 .quad 7191217214140771119 + 0x77, 0x85, 0x0c, 0x33, 0x3b, 0x4c, 0x93, 0x9b, //0x00005038 .quad -7236356359111015049 + 0xfb, 0x25, 0x6b, 0xc7, 0x71, 0x6b, 0xbf, 0x3c, //0x00005040 .quad 4377335499248575995 + 0xd5, 0xa6, 0xcf, 0xff, 0x49, 0x1f, 0x78, 0xc2, //0x00005048 .quad -4433759430461380907 + 0x7a, 0xef, 0x45, 0x39, 0x4e, 0x46, 0xef, 0x8b, //0x00005050 .quad -8363388681221443718 + 0x8a, 0x90, 0xc3, 0x7f, 0x1c, 0x27, 0x16, 0xf3, //0x00005058 .quad -930513269649338230 + 0xac, 0xb5, 0xcb, 0xe3, 0xf0, 0x8b, 0x75, 0x97, //0x00005060 .quad -7532960934977096276 + 0x56, 0x3a, 0xda, 0xcf, 0x71, 0xd8, 0xed, 0x97, //0x00005068 .quad -7499099821171918250 + 0x17, 0xa3, 0xbe, 0x1c, 0xed, 0xee, 0x52, 0x3d, //0x00005070 .quad 4418856886560793367 + 0xec, 0xc8, 0xd0, 0x43, 0x8e, 0x4e, 0xe9, 0xbd, //0x00005078 .quad -4762188758037509908 + 0xdd, 0x4b, 0xee, 0x63, 0xa8, 0xaa, 0xa7, 0x4c, //0x00005080 .quad 5523571108200991709 + 0x27, 0xfb, 0xc4, 0xd4, 0x31, 0xa2, 0x63, 0xed, //0x00005088 .quad -1341049929119499481 + 0x6a, 0xef, 0x74, 0x3e, 0xa9, 0xca, 0xe8, 0x8f, //0x00005090 .quad -8076983103442849942 + 0xf8, 0x1c, 0xfb, 0x24, 0x5f, 0x45, 0x5e, 0x94, //0x00005098 .quad -7755685233340769032 + 0x44, 0x2b, 0x12, 0x8e, 0x53, 0xfd, 0xe2, 0xb3, //0x000050a0 .quad -5484542860876174524 + 0x36, 0xe4, 0x39, 0xee, 0xb6, 0xd6, 0x75, 0xb9, //0x000050a8 .quad -5082920523248573386 + 0x16, 0xb6, 0x96, 0x71, 0xa8, 0xbc, 0xdb, 0x60, //0x000050b0 .quad 6979379479186945558 + 0x44, 0x5d, 0xc8, 0xa9, 0x64, 0x4c, 0xd3, 0xe7, //0x000050b8 .quad -1741964635633328828 + 0xcd, 0x31, 0xfe, 0x46, 0xe9, 0x55, 0x89, 0xbc, //0x000050c0 .quad -4861259862362934835 + 0x4a, 0x3a, 0x1d, 0xea, 0xbe, 0x0f, 0xe4, 0x90, //0x000050c8 .quad -8006256924911912374 + 0x41, 0xbe, 0xbd, 0x98, 0x63, 0xab, 0xab, 0x6b, //0x000050d0 .quad 7758483227328495169 + 0xdd, 0x88, 0xa4, 0xa4, 0xae, 0x13, 0x1d, 0xb5, //0x000050d8 .quad -5396135137712502563 + 0xd1, 0x2d, 0xed, 0x7e, 0x3c, 0x96, 0x96, 0xc6, //0x000050e0 .quad -4136954021121544751 + 0x14, 0xab, 0xcd, 0x4d, 0x9a, 0x58, 0x64, 0xe2, //0x000050e8 .quad -2133482903713240300 + 0xa2, 0x3c, 0x54, 0xcf, 0xe5, 0x1d, 0x1e, 0xfc, //0x000050f0 .quad -279753253987271518 + 0xec, 0x8a, 0xa0, 0x70, 0x60, 0xb7, 0x7e, 0x8d, //0x000050f8 .quad -8250955842461857044 + 0xcb, 0x4b, 0x29, 0x43, 0x5f, 0xa5, 0x25, 0x3b, //0x00005100 .quad 4261994450943298507 + 0xa8, 0xad, 0xc8, 0x8c, 0x38, 0x65, 0xde, 0xb0, //0x00005108 .quad -5702008784649933400 + 0xbe, 0x9e, 0xf3, 0x13, 0xb7, 0x0e, 0xef, 0x49, //0x00005110 .quad 5327493063679123134 + 0x12, 0xd9, 0xfa, 0xaf, 0x86, 0xfe, 0x15, 0xdd, //0x00005118 .quad -2515824962385028846 + 0x37, 0x43, 0x78, 0x6c, 0x32, 0x69, 0x35, 0x6e, //0x00005120 .quad 7941369183226839863 + 0xab, 0xc7, 0xfc, 0x2d, 0x14, 0xbf, 0x2d, 0x8a, //0x00005128 .quad -8489919629131724885 + 0x04, 0x54, 0x96, 0x07, 0x7f, 0xc3, 0xc2, 0x49, //0x00005130 .quad 5315025460606161924 + 0x96, 0xf9, 0x7b, 0x39, 0xd9, 0x2e, 0xb9, 0xac, //0x00005138 .quad -6000713517987268202 + 0x06, 0xe9, 0x7b, 0xc9, 0x5e, 0x74, 0x33, 0xdc, //0x00005140 .quad -2579590211097073402 + 0xfb, 0xf7, 0xda, 0x87, 0x8f, 0x7a, 0xe7, 0xd7, //0x00005148 .quad -2889205879056697349 + 0xa3, 0x71, 0xed, 0x3d, 0xbb, 0x28, 0xa0, 0x69, //0x00005150 .quad 7611128154919104931 + 0xfd, 0xda, 0xe8, 0xb4, 0x99, 0xac, 0xf0, 0x86, //0x00005158 .quad -8723282702051517699 + 0x0c, 0xce, 0x68, 0x0d, 0xea, 0x32, 0x08, 0xc4, //0x00005160 .quad -4321147861633282548 + 0xbc, 0x11, 0x23, 0x22, 0xc0, 0xd7, 0xac, 0xa8, //0x00005168 .quad -6292417359137009220 + 0x90, 0x01, 0xc3, 0x90, 0xa4, 0x3f, 0x0a, 0xf5, //0x00005170 .quad -789748808614215280 + 0x2b, 0xd6, 0xab, 0x2a, 0xb0, 0x0d, 0xd8, 0xd2, //0x00005178 .quad -3253835680493873621 + 0xfa, 0xe0, 0x79, 0xda, 0xc6, 0x67, 0x26, 0x79, //0x00005180 .quad 8729779031470891258 + 0xdb, 0x65, 0xab, 0x1a, 0x8e, 0x08, 0xc7, 0x83, //0x00005188 .quad -8951176327949752869 + 0x38, 0x59, 0x18, 0x91, 0xb8, 0x01, 0x70, 0x57, //0x00005190 .quad 6300537770911226168 + 0x52, 0x3f, 0x56, 0xa1, 0xb1, 0xca, 0xb8, 0xa4, //0x00005198 .quad -6577284391509803182 + 0x86, 0x6f, 0x5e, 0xb5, 0x26, 0x02, 0x4c, 0xed, //0x000051a0 .quad -1347699823215743098 + 0x26, 0xcf, 0xab, 0x09, 0x5e, 0xfd, 0xe6, 0xcd, //0x000051a8 .quad -3609919470959866074 + 0xb4, 0x05, 0x5b, 0x31, 0x58, 0x81, 0x4f, 0x54, //0x000051b0 .quad 6075216638131242420 + 0x78, 0x61, 0x0b, 0xc6, 0x5a, 0x5e, 0xb0, 0x80, //0x000051b8 .quad -9173728696990998152 + 0x21, 0xc7, 0xb1, 0x3d, 0xae, 0x61, 0x63, 0x69, //0x000051c0 .quad 7594020797664053025 + 0xd6, 0x39, 0x8e, 0x77, 0xf1, 0x75, 0xdc, 0xa0, //0x000051c8 .quad -6855474852811359786 + 0xe9, 0x38, 0x1e, 0xcd, 0x19, 0x3a, 0xbc, 0x03, //0x000051d0 .quad 269153960225290473 + 0x4c, 0xc8, 0x71, 0xd5, 0x6d, 0x93, 0x13, 0xc9, //0x000051d8 .quad -3957657547586811828 + 0x23, 0xc7, 0x65, 0x40, 0xa0, 0x48, 0xab, 0x04, //0x000051e0 .quad 336442450281613091 + 0x5f, 0x3a, 0xce, 0x4a, 0x49, 0x78, 0x58, 0xfb, //0x000051e8 .quad -335385916056126881 + 0x76, 0x9c, 0x3f, 0x28, 0x64, 0x0d, 0xeb, 0x62, //0x000051f0 .quad 7127805559067090038 + 0x7b, 0xe4, 0xc0, 0xce, 0x2d, 0x4b, 0x17, 0x9d, //0x000051f8 .quad -7127145225176161157 + 0x94, 0x83, 0x4f, 0x32, 0xbd, 0xd0, 0xa5, 0x3b, //0x00005200 .quad 4298070930406474644 + 0x9a, 0x1d, 0x71, 0x42, 0xf9, 0x1d, 0x5d, 0xc4, //0x00005208 .quad -4297245513042813542 + 0x79, 0x64, 0xe3, 0x7e, 0xec, 0x44, 0x8f, 0xca, //0x00005210 .quad -3850783373846682503 + 0x00, 0x65, 0x0d, 0x93, 0x77, 0x65, 0x74, 0xf5, //0x00005218 .quad -759870872876129024 + 0xcb, 0x1e, 0x4e, 0xcf, 0x13, 0x8b, 0x99, 0x7e, //0x00005220 .quad 9122475437414293195 + 0x20, 0x5f, 0xe8, 0xbb, 0x6a, 0xbf, 0x68, 0x99, //0x00005228 .quad -7392448323188662496 + 0x7e, 0xa6, 0x21, 0xc3, 0xd8, 0xed, 0x3f, 0x9e, //0x00005230 .quad -7043649776941685122 + 0xe8, 0x76, 0xe2, 0x6a, 0x45, 0xef, 0xc2, 0xbf, //0x00005238 .quad -4628874385558440216 + 0x1e, 0x10, 0xea, 0xf3, 0x4e, 0xe9, 0xcf, 0xc5, //0x00005240 .quad -4192876202749718498 + 0xa2, 0x14, 0x9b, 0xc5, 0x16, 0xab, 0xb3, 0xef, //0x00005248 .quad -1174406963520662366 + 0x12, 0x4a, 0x72, 0x58, 0xd1, 0xf1, 0xa1, 0xbb, //0x00005250 .quad -4926390635932268014 + 0xe5, 0xec, 0x80, 0x3b, 0xee, 0x4a, 0xd0, 0x95, //0x00005258 .quad -7651533379841495835 + 0x97, 0xdc, 0x8e, 0xae, 0x45, 0x6e, 0x8a, 0x2a, //0x00005260 .quad 3065383741939440791 + 0x1f, 0x28, 0x61, 0xca, 0xa9, 0x5d, 0x44, 0xbb, //0x00005268 .quad -4952730706374481889 + 0xbd, 0x93, 0x32, 0x1a, 0xd7, 0x09, 0x2d, 0xf5, //0x00005270 .quad -779956341003086915 + 0x26, 0x72, 0xf9, 0x3c, 0x14, 0x75, 0x15, 0xea, //0x00005278 .quad -1579227364540714458 + 0x56, 0x9c, 0x5f, 0x70, 0x26, 0x26, 0x3c, 0x59, //0x00005280 .quad 6430056314514152534 + 0x58, 0xe7, 0x1b, 0xa6, 0x2c, 0x69, 0x4d, 0x92, //0x00005288 .quad -7904546130479028392 + 0x6c, 0x83, 0x77, 0x0c, 0xb0, 0x2f, 0x8b, 0x6f, //0x00005290 .quad 8037570393142690668 + 0x2e, 0xe1, 0xa2, 0xcf, 0x77, 0xc3, 0xe0, 0xb6, //0x00005298 .quad -5268996644671397586 + 0x47, 0x64, 0x95, 0x0f, 0x9c, 0xfb, 0x6d, 0x0b, //0x000052a0 .quad 823590954573587527 + 0x7a, 0x99, 0x8b, 0xc3, 0x55, 0xf4, 0x98, 0xe4, //0x000052a8 .quad -1974559787411859078 + 0xac, 0x5e, 0xbd, 0x89, 0x41, 0xbd, 0x24, 0x47, //0x000052b0 .quad 5126430365035880108 + 0xec, 0x3f, 0x37, 0x9a, 0xb5, 0x98, 0xdf, 0x8e, //0x000052b8 .quad -8151628894773493780 + 0x57, 0xb6, 0x2c, 0xec, 0x91, 0xec, 0xed, 0x58, //0x000052c0 .quad 6408037956294850135 + 0xe7, 0x0f, 0xc5, 0x00, 0xe3, 0x7e, 0x97, 0xb2, //0x000052c8 .quad -5577850100039479321 + 0xed, 0xe3, 0x37, 0x67, 0xb6, 0x67, 0x29, 0x2f, //0x000052d0 .quad 3398361426941174765 + 0xe1, 0x53, 0xf6, 0xc0, 0x9b, 0x5e, 0x3d, 0xdf, //0x000052d8 .quad -2360626606621961247 + 0x74, 0xee, 0x82, 0x00, 0xd2, 0xe0, 0x79, 0xbd, //0x000052e0 .quad -4793553135802847628 + 0x6c, 0xf4, 0x99, 0x58, 0x21, 0x5b, 0x86, 0x8b, //0x000052e8 .quad -8392920656779807636 + 0x11, 0xaa, 0xa3, 0x80, 0x06, 0x59, 0xd8, 0xec, //0x000052f0 .quad -1380255401326171631 + 0x87, 0x71, 0xc0, 0xae, 0xe9, 0xf1, 0x67, 0xae, //0x000052f8 .quad -5879464802547371641 + 0x95, 0x94, 0xcc, 0x20, 0x48, 0x6f, 0x0e, 0xe8, //0x00005300 .quad -1725319251657714539 + 0xe9, 0x8d, 0x70, 0x1a, 0x64, 0xee, 0x01, 0xda, //0x00005308 .quad -2737644984756826647 + 0xdd, 0xdc, 0x7f, 0x14, 0x8d, 0x05, 0x09, 0x31, //0x00005310 .quad 3533361486141316317 + 0xb2, 0x58, 0x86, 0x90, 0xfe, 0x34, 0x41, 0x88, //0x00005318 .quad -8628557143114098510 + 0x15, 0xd4, 0x9f, 0x59, 0xf0, 0x46, 0x4b, 0xbd, //0x00005320 .quad -4806670179178130411 + 0xde, 0xee, 0xa7, 0x34, 0x3e, 0x82, 0x51, 0xaa, //0x00005328 .quad -6174010410465235234 + 0x1a, 0xc9, 0x07, 0x70, 0xac, 0x18, 0x9e, 0x6c, //0x00005330 .quad 7826720331309500698 + 0x96, 0xea, 0xd1, 0xc1, 0xcd, 0xe2, 0xe5, 0xd4, //0x00005338 .quad -3105826994654156138 + 0xb0, 0xdd, 0x04, 0xc6, 0x6b, 0xcf, 0xe2, 0x03, //0x00005340 .quad 280014188641050032 + 0x9e, 0x32, 0x23, 0x99, 0xc0, 0xad, 0x0f, 0x85, //0x00005348 .quad -8858670899299929442 + 0x1c, 0x15, 0x86, 0xb7, 0x46, 0x83, 0xdb, 0x84, //0x00005350 .quad -8873354301053463268 + 0x45, 0xff, 0x6b, 0xbf, 0x30, 0x99, 0x53, 0xa6, //0x00005358 .quad -6461652605697523899 + 0x63, 0x9a, 0x67, 0x65, 0x18, 0x64, 0x12, 0xe6, //0x00005360 .quad -1868320839462053277 + 0x16, 0xff, 0x46, 0xef, 0x7c, 0x7f, 0xe8, 0xcf, //0x00005368 .quad -3465379738694516970 + 0x7e, 0xc0, 0x60, 0x3f, 0x8f, 0x7e, 0xcb, 0x4f, //0x00005370 .quad 5749828502977298558 + 0x6e, 0x5f, 0x8c, 0x15, 0xae, 0x4f, 0xf1, 0x81, //0x00005378 .quad -9083391364325154962 + 0x9d, 0xf0, 0x38, 0x0f, 0x33, 0x5e, 0xbe, 0xe3, //0x00005380 .quad -2036086408133152611 + 0x49, 0x77, 0xef, 0x9a, 0x99, 0xa3, 0x6d, 0xa2, //0x00005388 .quad -6742553186979055799 + 0xc5, 0x2c, 0x07, 0xd3, 0xbf, 0xf5, 0xad, 0x5c, //0x00005390 .quad 6678264026688335045 + 0x1c, 0x55, 0xab, 0x01, 0x80, 0x0c, 0x09, 0xcb, //0x00005398 .quad -3816505465296431844 + 0xf6, 0xf7, 0xc8, 0xc7, 0x2f, 0x73, 0xd9, 0x73, //0x000053a0 .quad 8347830033360418806 + 0x63, 0x2a, 0x16, 0x02, 0xa0, 0x4f, 0xcb, 0xfd, //0x000053a8 .quad -158945813193151901 + 0xfa, 0x9a, 0xdd, 0xdc, 0xfd, 0xe7, 0x67, 0x28, //0x000053b0 .quad 2911550761636567802 + 0x7e, 0xda, 0x4d, 0x01, 0xc4, 0x11, 0x9f, 0x9e, //0x000053b8 .quad -7016870160886801794 + 0xb8, 0x01, 0x15, 0x54, 0xfd, 0xe1, 0x81, 0xb2, //0x000053c0 .quad -5583933584809066056 + 0x1d, 0x51, 0xa1, 0x01, 0x35, 0xd6, 0x46, 0xc6, //0x000053c8 .quad -4159401682681114339 + 0x26, 0x42, 0x1a, 0xa9, 0x7c, 0x5a, 0x22, 0x1f, //0x000053d0 .quad 2243455055843443238 + 0x65, 0xa5, 0x09, 0x42, 0xc2, 0x8b, 0xd8, 0xf7, //0x000053d8 .quad -587566084924005019 + 0x58, 0x69, 0xb0, 0xe9, 0x8d, 0x78, 0x75, 0x33, //0x000053e0 .quad 3708002419115845976 + 0x5f, 0x07, 0x46, 0x69, 0x59, 0x57, 0xe7, 0x9a, //0x000053e8 .quad -7284757830718584993 + 0xae, 0x83, 0x1c, 0x64, 0xb1, 0xd6, 0x52, 0x00, //0x000053f0 .quad 23317005467419566 + 0x37, 0x89, 0x97, 0xc3, 0x2f, 0x2d, 0xa1, 0xc1, //0x000053f8 .quad -4494261269970843337 + 0x9a, 0xa4, 0x23, 0xbd, 0x5d, 0x8c, 0x67, 0xc0, //0x00005400 .quad -4582539761593113446 + 0x84, 0x6b, 0x7d, 0xb4, 0x7b, 0x78, 0x09, 0xf2, //0x00005408 .quad -1006140569036166268 + 0xe0, 0x46, 0x36, 0x96, 0xba, 0xb7, 0x40, 0xf8, //0x00005410 .quad -558244341782001952 + 0x32, 0x63, 0xce, 0x50, 0x4d, 0xeb, 0x45, 0x97, //0x00005418 .quad -7546366883288685774 + 0x98, 0xd8, 0xc3, 0x3b, 0xa9, 0xe5, 0x50, 0xb6, //0x00005420 .quad -5309491445654890344 + 0xff, 0xfb, 0x01, 0xa5, 0x20, 0x66, 0x17, 0xbd, //0x00005428 .quad -4821272585683469313 + 0xbe, 0xce, 0xb4, 0x8a, 0x13, 0x1f, 0xe5, 0xa3, //0x00005430 .quad -6636864307068612930 + 0xff, 0x7a, 0x42, 0xce, 0xa8, 0x3f, 0x5d, 0xec, //0x00005438 .quad -1414904713676948737 + 0x37, 0x01, 0xb1, 0x36, 0x6c, 0x33, 0x6f, 0xc6, //0x00005440 .quad -4148040191917883081 + 0xdf, 0x8c, 0xe9, 0x80, 0xc9, 0x47, 0xba, 0x93, //0x00005448 .quad -7801844473689174817 + 0x84, 0x41, 0x5d, 0x44, 0x47, 0x00, 0x0b, 0xb8, //0x00005450 .quad -5185050239897353852 + 0x17, 0xf0, 0x23, 0xe1, 0xbb, 0xd9, 0xa8, 0xb8, //0x00005458 .quad -5140619573684080617 + 0xe5, 0x91, 0x74, 0x15, 0x59, 0xc0, 0x0d, 0xa6, //0x00005460 .quad -6481312799871692315 + 0x1d, 0xec, 0x6c, 0xd9, 0x2a, 0x10, 0xd3, 0xe6, //0x00005468 .quad -1814088448677712867 + 0x2f, 0xdb, 0x68, 0xad, 0x37, 0x98, 0xc8, 0x87, //0x00005470 .quad -8662506518347195601 + 0x92, 0x13, 0xe4, 0xc7, 0x1a, 0xea, 0x43, 0x90, //0x00005478 .quad -8051334308064652398 + 0xfb, 0x11, 0xc3, 0x98, 0x45, 0xbe, 0xba, 0x29, //0x00005480 .quad 3006924907348169211 + 0x77, 0x18, 0xdd, 0x79, 0xa1, 0xe4, 0x54, 0xb4, //0x00005488 .quad -5452481866653427593 + 0x7a, 0xd6, 0xf3, 0xfe, 0xd6, 0x6d, 0x29, 0xf4, //0x00005490 .quad -853029884242176390 + 0x94, 0x5e, 0x54, 0xd8, 0xc9, 0x1d, 0x6a, 0xe1, //0x00005498 .quad -2203916314889396588 + 0x0c, 0x66, 0x58, 0x5f, 0xa6, 0xe4, 0x99, 0x18, //0x000054a0 .quad 1772699331562333708 + 0x1d, 0xbb, 0x34, 0x27, 0x9e, 0x52, 0xe2, 0x8c, //0x000054a8 .quad -8294976724446954723 + 0x8f, 0x7f, 0x2e, 0xf7, 0xcf, 0x5d, 0xc0, 0x5e, //0x000054b0 .quad 6827560182880305039 + 0xe4, 0xe9, 0x01, 0xb1, 0x45, 0xe7, 0x1a, 0xb0, //0x000054b8 .quad -5757034887131305500 + 0x73, 0x1f, 0xfa, 0xf4, 0x43, 0x75, 0x70, 0x76, //0x000054c0 .quad 8534450228600381299 + 0x5d, 0x64, 0x42, 0x1d, 0x17, 0xa1, 0x21, 0xdc, //0x000054c8 .quad -2584607590486743971 + 0xa8, 0x53, 0x1c, 0x79, 0x4a, 0x49, 0x06, 0x6a, //0x000054d0 .quad 7639874402088932264 + 0xba, 0x7e, 0x49, 0x72, 0xae, 0x04, 0x95, 0x89, //0x000054d8 .quad -8532908771695296838 + 0x92, 0x68, 0x63, 0x17, 0x9d, 0xdb, 0x87, 0x04, //0x000054e0 .quad 326470965756389522 + 0x69, 0xde, 0xdb, 0x0e, 0xda, 0x45, 0xfa, 0xab, //0x000054e8 .quad -6054449946191733143 + 0xb6, 0x42, 0x3c, 0x5d, 0x84, 0xd2, 0xa9, 0x45, //0x000054f0 .quad 5019774725622874806 + 0x03, 0xd6, 0x92, 0x92, 0x50, 0xd7, 0xf8, 0xd6, //0x000054f8 .quad -2956376414312278525 + 0xb2, 0xa9, 0x45, 0xba, 0x92, 0x23, 0x8a, 0x0b, //0x00005500 .quad 831516194300602802 + 0xc2, 0xc5, 0x9b, 0x5b, 0x92, 0x86, 0x5b, 0x86, //0x00005508 .quad -8765264286586255934 + 0x1e, 0x14, 0xd7, 0x68, 0x77, 0xac, 0x6c, 0x8e, //0x00005510 .quad -8183976793979022306 + 0x32, 0xb7, 0x82, 0xf2, 0x36, 0x68, 0xf2, 0xa7, //0x00005518 .quad -6344894339805432014 + 0x26, 0xd9, 0x0c, 0x43, 0x95, 0xd7, 0x07, 0x32, //0x00005520 .quad 3605087062808385830 + 0xff, 0x64, 0x23, 0xaf, 0x44, 0x02, 0xef, 0xd1, //0x00005528 .quad -3319431906329402113 + 0xb8, 0x07, 0xe8, 0x49, 0xbd, 0xe6, 0x44, 0x7f, //0x00005530 .quad 9170708441896323000 + 0x1f, 0x1f, 0x76, 0xed, 0x6a, 0x61, 0x35, 0x83, //0x00005538 .quad -8992173969096958177 + 0xa6, 0x09, 0x62, 0x9c, 0x6c, 0x20, 0x16, 0x5f, //0x00005540 .quad 6851699533943015846 + 0xe7, 0xa6, 0xd3, 0xa8, 0xc5, 0xb9, 0x02, 0xa4, //0x00005548 .quad -6628531442943809817 + 0x0f, 0x8c, 0x7a, 0xc3, 0x87, 0xa8, 0xdb, 0x36, //0x00005550 .quad 3952938399001381903 + 0xa1, 0x90, 0x08, 0x13, 0x37, 0x68, 0x03, 0xcd, //0x00005558 .quad -3673978285252374367 + 0x89, 0x97, 0x2c, 0xda, 0x54, 0x49, 0x49, 0xc2, //0x00005560 .quad -4446942528265218167 + 0x64, 0x5a, 0xe5, 0x6b, 0x22, 0x21, 0x22, 0x80, //0x00005568 .quad -9213765455923815836 + 0x6c, 0xbd, 0xb7, 0x10, 0xaa, 0x9b, 0xdb, 0xf2, //0x00005570 .quad -946992141904134804 + 0xfd, 0xb0, 0xde, 0x06, 0x6b, 0xa9, 0x2a, 0xa0, //0x00005578 .quad -6905520801477381891 + 0xc7, 0xac, 0xe5, 0x94, 0x94, 0x82, 0x92, 0x6f, //0x00005580 .quad 8039631859474607303 + 0x3d, 0x5d, 0x96, 0xc8, 0xc5, 0x53, 0x35, 0xc8, //0x00005588 .quad -4020214983419339459 + 0xf9, 0x17, 0x1f, 0xba, 0x39, 0x23, 0x77, 0xcb, //0x00005590 .quad -3785518230938904583 + 0x8c, 0xf4, 0xbb, 0x3a, 0xb7, 0xa8, 0x42, 0xfa, //0x00005598 .quad -413582710846786420 + 0xfb, 0x6e, 0x53, 0x14, 0x04, 0x76, 0x2a, 0xff, //0x000055a0 .quad -60105885123121413 + 0xd7, 0x78, 0xb5, 0x84, 0x72, 0xa9, 0x69, 0x9c, //0x000055a8 .quad -7176018221920323369 + 0xba, 0x4a, 0x68, 0x19, 0x85, 0x13, 0xf5, 0xfe, //0x000055b0 .quad -75132356403901766 + 0x0d, 0xd7, 0xe2, 0x25, 0xcf, 0x13, 0x84, 0xc3, //0x000055b8 .quad -4358336758973016307 + 0x69, 0x5d, 0xc2, 0x5f, 0x66, 0x58, 0xb2, 0x7e, //0x000055c0 .quad 9129456591349898601 + 0xd1, 0x8c, 0x5b, 0xef, 0xc2, 0x18, 0x65, 0xf4, //0x000055c8 .quad -836234930288882479 + 0x61, 0x7a, 0xd9, 0xfb, 0x3f, 0x77, 0x2f, 0xef, //0x000055d0 .quad -1211618658047395231 + 0x02, 0x38, 0x99, 0xd5, 0x79, 0x2f, 0xbf, 0x98, //0x000055d8 .quad -7440175859071633406 + 0xfa, 0xd8, 0xcf, 0xfa, 0x0f, 0x55, 0xfb, 0xaa, //0x000055e0 .quad -6126209340986631942 + 0x03, 0x86, 0xff, 0x4a, 0x58, 0xfb, 0xee, 0xbe, //0x000055e8 .quad -4688533805412153853 + 0x38, 0xcf, 0x83, 0xf9, 0x53, 0x2a, 0xba, 0x95, //0x000055f0 .quad -7657761676233289928 + 0x84, 0x67, 0xbf, 0x5d, 0x2e, 0xba, 0xaa, 0xee, //0x000055f8 .quad -1248981238337804412 + 0x83, 0x61, 0xf2, 0x7b, 0x74, 0x5a, 0x94, 0xdd, //0x00005600 .quad -2480258038432112253 + 0xb2, 0xa0, 0x97, 0xfa, 0x5c, 0xb4, 0x2a, 0x95, //0x00005608 .quad -7698142301602209614 + 0xe4, 0xf9, 0xee, 0x9a, 0x11, 0x71, 0xf9, 0x94, //0x00005610 .quad -7712008566467528220 + 0xdf, 0x88, 0x3d, 0x39, 0x74, 0x61, 0x75, 0xba, //0x00005618 .quad -5010991858575374113 + 0x5d, 0xb8, 0xaa, 0x01, 0x56, 0xcd, 0x37, 0x7a, //0x00005620 .quad 8806733365625141341 + 0x17, 0xeb, 0x8c, 0x47, 0xd1, 0xb9, 0x12, 0xe9, //0x00005628 .quad -1652053804791829737 + 0x3a, 0xb3, 0x0a, 0xc1, 0x55, 0xe0, 0x62, 0xac, //0x00005630 .quad -6025006692552756422 + 0xee, 0x12, 0xb8, 0xcc, 0x22, 0xb4, 0xab, 0x91, //0x00005638 .quad -7950062655635975442 + 0x09, 0x60, 0x4d, 0x31, 0x6b, 0x98, 0x7b, 0x57, //0x00005640 .quad 6303799689591218185 + 0xaa, 0x17, 0xe6, 0x7f, 0x2b, 0xa1, 0x16, 0xb6, //0x00005648 .quad -5325892301117581398 + 0x0b, 0xb8, 0xa0, 0xfd, 0x85, 0x7e, 0x5a, 0xed, //0x00005650 .quad -1343622424865753077 + 0x94, 0x9d, 0xdf, 0x5f, 0x76, 0x49, 0x9c, 0xe3, //0x00005658 .quad -2045679357969588844 + 0x07, 0x73, 0x84, 0xbe, 0x13, 0x8f, 0x58, 0x14, //0x00005660 .quad 1466078993672598279 + 0x7d, 0xc2, 0xeb, 0xfb, 0xe9, 0xad, 0x41, 0x8e, //0x00005668 .quad -8196078626372074883 + 0xc8, 0x8f, 0x25, 0xae, 0xd8, 0xb2, 0x6e, 0x59, //0x00005670 .quad 6444284760518135752 + 0x1c, 0xb3, 0xe6, 0x7a, 0x64, 0x19, 0xd2, 0xb1, //0x00005678 .quad -5633412264537705700 + 0xbb, 0xf3, 0xae, 0xd9, 0x8e, 0x5f, 0xca, 0x6f, //0x00005680 .quad 8055355950647669691 + 0xe3, 0x5f, 0xa0, 0x99, 0xbd, 0x9f, 0x46, 0xde, //0x00005688 .quad -2430079312244744221 + 0x54, 0x58, 0x0d, 0x48, 0xb9, 0x7b, 0xde, 0x25, //0x00005690 .quad 2728754459941099604 + 0xee, 0x3b, 0x04, 0x80, 0xd6, 0x23, 0xec, 0x8a, //0x00005698 .quad -8436328597794046994 + 0x6a, 0xae, 0x10, 0x9a, 0xa7, 0x1a, 0x56, 0xaf, //0x000056a0 .quad -5812428961928401302 + 0xe9, 0x4a, 0x05, 0x20, 0xcc, 0x2c, 0xa7, 0xad, //0x000056a8 .quad -5933724728815170839 + 0x04, 0xda, 0x94, 0x80, 0x51, 0xa1, 0x2b, 0x1b, //0x000056b0 .quad 1957835834444274180 + 0xa4, 0x9d, 0x06, 0x28, 0xff, 0xf7, 0x10, 0xd9, //0x000056b8 .quad -2805469892591575644 + 0x42, 0x08, 0x5d, 0xf0, 0xd2, 0x44, 0xfb, 0x90, //0x000056c0 .quad -7999724640327104446 + 0x86, 0x22, 0x04, 0x79, 0xff, 0x9a, 0xaa, 0x87, //0x000056c8 .quad -8670947710510816634 + 0x53, 0x4a, 0x74, 0xac, 0x07, 0x16, 0x3a, 0x35, //0x000056d0 .quad 3835402254873283155 + 0x28, 0x2b, 0x45, 0x57, 0xbf, 0x41, 0x95, 0xa9, //0x000056d8 .quad -6226998619711132888 + 0xe8, 0x5c, 0x91, 0x97, 0x89, 0x9b, 0x88, 0x42, //0x000056e0 .quad 4794252818591603944 + 0xf2, 0x75, 0x16, 0x2d, 0x2f, 0x92, 0xfa, 0xd3, //0x000056e8 .quad -3172062256211528206 + 0x11, 0xda, 0xba, 0xfe, 0x35, 0x61, 0x95, 0x69, //0x000056f0 .quad 7608094030047140369 + 0xb7, 0x09, 0x2e, 0x7c, 0x5d, 0x9b, 0x7c, 0x84, //0x000056f8 .quad -8900067937773286985 + 0x95, 0x90, 0x69, 0x7e, 0x83, 0xb9, 0xfa, 0x43, //0x00005700 .quad 4898431519131537557 + 0x25, 0x8c, 0x39, 0xdb, 0x34, 0xc2, 0x9b, 0xa5, //0x00005708 .quad -6513398903789220827 + 0xbb, 0xf4, 0x03, 0x5e, 0xe4, 0x67, 0xf9, 0x94, //0x00005710 .quad -7712018656367741765 + 0x2e, 0xef, 0x07, 0x12, 0xc2, 0xb2, 0x02, 0xcf, //0x00005718 .quad -3530062611309138130 + 0xf5, 0x78, 0xc2, 0xba, 0xee, 0xe0, 0x1b, 0x1d, //0x00005720 .quad 2097517367411243253 + 0x7d, 0xf5, 0x44, 0x4b, 0xb9, 0xaf, 0x61, 0x81, //0x00005728 .quad -9123818159709293187 + 0x32, 0x17, 0x73, 0x69, 0x2a, 0xd9, 0x62, 0x64, //0x00005730 .quad 7233582727691441970 + 0xdc, 0x32, 0x16, 0x9e, 0xa7, 0x1b, 0xba, 0xa1, //0x00005738 .quad -6793086681209228580 + 0xfe, 0xdc, 0xcf, 0x03, 0x75, 0x8f, 0x7b, 0x7d, //0x00005740 .quad 9041978409614302462 + 0x93, 0xbf, 0x9b, 0x85, 0x91, 0xa2, 0x28, 0xca, //0x00005748 .quad -3879672333084147821 + 0x3e, 0xd4, 0xc3, 0x44, 0x52, 0x73, 0xda, 0x5c, //0x00005750 .quad 6690786993590490174 + 0x78, 0xaf, 0x02, 0xe7, 0x35, 0xcb, 0xb2, 0xfc, //0x00005758 .quad -237904397927796872 + 0xa7, 0x64, 0xfa, 0x6a, 0x13, 0x88, 0x08, 0x3a, //0x00005760 .quad 4181741870994056359 + 0xab, 0xad, 0x61, 0xb0, 0x01, 0xbf, 0xef, 0x9d, //0x00005768 .quad -7066219276345954901 + 0xd0, 0xfd, 0xb8, 0x45, 0x18, 0xaa, 0x8a, 0x08, //0x00005770 .quad 615491320315182544 + 0x16, 0x19, 0x7a, 0x1c, 0xc2, 0xae, 0x6b, 0xc5, //0x00005778 .quad -4221088077005055722 + 0x45, 0x3d, 0x27, 0x57, 0x9e, 0x54, 0xad, 0x8a, //0x00005780 .quad -8454007886460797627 + 0x5b, 0x9f, 0x98, 0xa3, 0x72, 0x9a, 0xc6, 0xf6, //0x00005788 .quad -664674077828931749 + 0x4b, 0x86, 0x78, 0xf6, 0xe2, 0x54, 0xac, 0x36, //0x00005790 .quad 3939617107816777291 + 0x99, 0x63, 0x3f, 0xa6, 0x87, 0x20, 0x3c, 0x9a, //0x00005798 .quad -7332950326284164199 + 0xdd, 0xa7, 0x16, 0xb4, 0x1b, 0x6a, 0x57, 0x84, //0x000057a0 .quad -8910536670511192099 + 0x7f, 0x3c, 0xcf, 0x8f, 0xa9, 0x28, 0xcb, 0xc0, //0x000057a8 .quad -4554501889427817345 + 0xd5, 0x51, 0x1c, 0xa1, 0xa2, 0x44, 0x6d, 0x65, //0x000057b0 .quad 7308573235570561493 + 0x9f, 0x0b, 0xc3, 0xf3, 0xd3, 0xf2, 0xfd, 0xf0, //0x000057b8 .quad -1081441343357383777 + 0x25, 0xb3, 0xb1, 0xa4, 0xe5, 0x4a, 0x64, 0x9f, //0x000057c0 .quad -6961356773836868827 + 0x43, 0xe7, 0x59, 0x78, 0xc4, 0xb7, 0x9e, 0x96, //0x000057c8 .quad -7593429867239446717 + 0xee, 0x1f, 0xde, 0x0d, 0x9f, 0x5d, 0x3d, 0x87, //0x000057d0 .quad -8701695967296086034 + 0x14, 0x61, 0x70, 0x96, 0xb5, 0x65, 0x46, 0xbc, //0x000057d8 .quad -4880101315621920492 + 0xea, 0xa7, 0x55, 0xd1, 0x06, 0xb5, 0x0c, 0xa9, //0x000057e0 .quad -6265433940692719638 + 0x59, 0x79, 0x0c, 0xfc, 0x22, 0xff, 0x57, 0xeb, //0x000057e8 .quad -1488440626100012711 + 0xf2, 0x88, 0xd5, 0x42, 0x24, 0xf1, 0xa7, 0x09, //0x000057f0 .quad 695789805494438130 + 0xd8, 0xcb, 0x87, 0xdd, 0x75, 0xff, 0x16, 0x93, //0x000057f8 .quad -7847804418953589800 + 0x2f, 0xeb, 0x8a, 0x53, 0x6d, 0xed, 0x11, 0x0c, //0x00005800 .quad 869737256868047663 + 0xce, 0xbe, 0xe9, 0x54, 0x53, 0xbf, 0xdc, 0xb7, //0x00005808 .quad -5198069505264599346 + 0xfa, 0xa5, 0x6d, 0xa8, 0xc8, 0x68, 0x16, 0x8f, //0x00005810 .quad -8136200465769716230 + 0x81, 0x2e, 0x24, 0x2a, 0x28, 0xef, 0xd3, 0xe5, //0x00005818 .quad -1885900863153361279 + 0xbc, 0x87, 0x44, 0x69, 0x7d, 0x01, 0x6e, 0xf9, //0x00005820 .quad -473439272678684740 + 0x10, 0x9d, 0x56, 0x1a, 0x79, 0x75, 0xa4, 0x8f, //0x00005828 .quad -8096217067111932656 + 0xac, 0xa9, 0x95, 0xc3, 0xdc, 0x81, 0xc9, 0x37, //0x00005830 .quad 4019886927579031980 + 0x55, 0x44, 0xec, 0x60, 0xd7, 0x92, 0x8d, 0xb3, //0x00005838 .quad -5508585315462527915 + 0x17, 0x14, 0x7b, 0xf4, 0x53, 0xe2, 0xbb, 0x85, //0x00005840 .quad -8810199395808373737 + 0x6a, 0x55, 0x27, 0x39, 0x8d, 0xf7, 0x70, 0xe0, //0x00005848 .quad -2274045625900771990 + 0x8e, 0xec, 0xcc, 0x78, 0x74, 0x6d, 0x95, 0x93, //0x00005850 .quad -7812217631593927538 + 0x62, 0x95, 0xb8, 0x43, 0xb8, 0x9a, 0x46, 0x8c, //0x00005858 .quad -8338807543829064350 + 0xb2, 0x27, 0x00, 0x97, 0xd1, 0xc8, 0x7a, 0x38, //0x00005860 .quad 4069786015789754290 + 0xbb, 0xba, 0xa6, 0x54, 0x66, 0x41, 0x58, 0xaf, //0x00005868 .quad -5811823411358942533 + 0x9e, 0x31, 0xc0, 0xfc, 0x05, 0x7b, 0x99, 0x06, //0x00005870 .quad 475546501309804958 + 0x6a, 0x69, 0xd0, 0xe9, 0xbf, 0x51, 0x2e, 0xdb, //0x00005878 .quad -2653093245771290262 + 0x03, 0x1f, 0xf8, 0xbd, 0xe3, 0xec, 0x1f, 0x44, //0x00005880 .quad 4908902581746016003 + 0xe2, 0x41, 0x22, 0xf2, 0x17, 0xf3, 0xfc, 0x88, //0x00005888 .quad -8575712306248138270 + 0xc3, 0x26, 0x76, 0xad, 0x1c, 0xe8, 0x27, 0xd5, //0x00005890 .quad -3087243809672255805 + 0x5a, 0xd2, 0xaa, 0xee, 0xdd, 0x2f, 0x3c, 0xab, //0x00005898 .quad -6107954364382784934 + 0x74, 0xb0, 0xd3, 0xd8, 0x23, 0xe2, 0x71, 0x8a, //0x000058a0 .quad -8470740780517707660 + 0xf1, 0x86, 0x55, 0x6a, 0xd5, 0x3b, 0x0b, 0xd6, //0x000058a8 .quad -3023256937051093263 + 0x49, 0x4e, 0x84, 0x67, 0x56, 0x2d, 0x87, 0xf6, //0x000058b0 .quad -682526969396179383 + 0x56, 0x74, 0x75, 0x62, 0x65, 0x05, 0xc7, 0x85, //0x000058b8 .quad -8807064613298015146 + 0xdb, 0x61, 0x65, 0x01, 0xac, 0xf8, 0x28, 0xb4, //0x000058c0 .quad -5464844730172612133 + 0x6c, 0xd1, 0x12, 0xbb, 0xbe, 0xc6, 0x38, 0xa7, //0x000058c8 .quad -6397144748195131028 + 0x52, 0xba, 0xbe, 0x01, 0xd7, 0x36, 0x33, 0xe1, //0x000058d0 .quad -2219369894288377262 + 0xc7, 0x85, 0xd7, 0x69, 0x6e, 0xf8, 0x06, 0xd1, //0x000058d8 .quad -3384744916816525881 + 0x73, 0x34, 0x17, 0x61, 0x46, 0x02, 0xc0, 0xec, //0x000058e0 .quad -1387106183930235789 + 0x9c, 0xb3, 0x26, 0x02, 0x45, 0x5b, 0xa4, 0x82, //0x000058e8 .quad -9032994600651410532 + 0x90, 0x01, 0x5d, 0xf9, 0xd7, 0x02, 0xf0, 0x27, //0x000058f0 .quad 2877803288514593168 + 0x84, 0x60, 0xb0, 0x42, 0x16, 0x72, 0x4d, 0xa3, //0x000058f8 .quad -6679557232386875260 + 0xf4, 0x41, 0xb4, 0xf7, 0x8d, 0x03, 0xec, 0x31, //0x00005900 .quad 3597254110643241460 + 0xa5, 0x78, 0x5c, 0xd3, 0x9b, 0xce, 0x20, 0xcc, //0x00005908 .quad -3737760522056206171 + 0x71, 0x52, 0xa1, 0x75, 0x71, 0x04, 0x67, 0x7e, //0x00005910 .quad 9108253656731439729 + 0xce, 0x96, 0x33, 0xc8, 0x42, 0x02, 0x29, 0xff, //0x00005918 .quad -60514634142869810 + 0x86, 0xd3, 0x84, 0xe9, 0xc6, 0x62, 0x00, 0x0f, //0x00005920 .quad 1080972517029761926 + 0x41, 0x3e, 0x20, 0xbd, 0x69, 0xa1, 0x79, 0x9f, //0x00005928 .quad -6955350673980375487 + 0x68, 0x08, 0xe6, 0xa3, 0x78, 0x7b, 0xc0, 0x52, //0x00005930 .quad 5962901664714590312 + 0xd1, 0x4d, 0x68, 0x2c, 0xc4, 0x09, 0x58, 0xc7, //0x00005938 .quad -4082502324048081455 + 0x82, 0x8a, 0xdf, 0xcc, 0x56, 0x9a, 0x70, 0xa7, //0x00005940 .quad -6381430974388925822 + 0x45, 0x61, 0x82, 0x37, 0x35, 0x0c, 0x2e, 0xf9, //0x00005948 .quad -491441886632713915 + 0x91, 0xb6, 0x0b, 0x40, 0x76, 0x60, 0xa6, 0x88, //0x00005950 .quad -8600080377420466543 + 0xcb, 0x7c, 0xb1, 0x42, 0xa1, 0xc7, 0xbc, 0x9b, //0x00005958 .quad -7224680206786528053 + 0x35, 0xa4, 0x0e, 0xd0, 0x93, 0xf8, 0xcf, 0x6a, //0x00005960 .quad 7696643601933968437 + 0xfe, 0xdb, 0x5d, 0x93, 0x89, 0xf9, 0xab, 0xc2, //0x00005968 .quad -4419164240055772162 + 0x43, 0x4d, 0x12, 0xc4, 0xb8, 0xf6, 0x83, 0x05, //0x00005970 .quad 397432465562684739 + 0xfe, 0x52, 0x35, 0xf8, 0xeb, 0xf7, 0x56, 0xf3, //0x00005978 .quad -912269281642327298 + 0x4a, 0x70, 0x8b, 0x7a, 0x33, 0x7a, 0x72, 0xc3, //0x00005980 .quad -4363290727450709942 + 0xde, 0x53, 0x21, 0x7b, 0xf3, 0x5a, 0x16, 0x98, //0x00005988 .quad -7487697328667536418 + 0x5c, 0x4c, 0x2e, 0x59, 0xc0, 0x18, 0x4f, 0x74, //0x00005990 .quad 8380944645968776284 + 0xd6, 0xa8, 0xe9, 0x59, 0xb0, 0xf1, 0x1b, 0xbe, //0x00005998 .quad -4747935642407032618 + 0x73, 0xdf, 0x79, 0x6f, 0xf0, 0xde, 0x62, 0x11, //0x000059a0 .quad 1252808770606194547 + 0x0c, 0x13, 0x64, 0x70, 0x1c, 0xee, 0xa2, 0xed, //0x000059a8 .quad -1323233534581402868 + 0xa8, 0x2b, 0xac, 0x45, 0x56, 0xcb, 0xdd, 0x8a, //0x000059b0 .quad -8440366555225904216 + 0xe7, 0x8b, 0x3e, 0xc6, 0xd1, 0xd4, 0x85, 0x94, //0x000059b8 .quad -7744549986754458649 + 0x92, 0x36, 0x17, 0xd7, 0x2b, 0x3e, 0x95, 0x6d, //0x000059c0 .quad 7896285879677171346 + 0xe1, 0x2e, 0xce, 0x37, 0x06, 0x4a, 0xa7, 0xb9, //0x000059c8 .quad -5069001465015685407 + 0x37, 0x04, 0xdd, 0xcc, 0xb6, 0x8d, 0xfa, 0xc8, //0x000059d0 .quad -3964700705685699529 + 0x99, 0xba, 0xc1, 0xc5, 0x87, 0x1c, 0x11, 0xe8, //0x000059d8 .quad -1724565812842218855 + 0xa2, 0x22, 0x0a, 0x40, 0x92, 0x98, 0x9c, 0x1d, //0x000059e0 .quad 2133748077373825698 + 0xa0, 0x14, 0x99, 0xdb, 0xd4, 0xb1, 0x0a, 0x91, //0x000059e8 .quad -7995382660667468640 + 0x4b, 0xab, 0x0c, 0xd0, 0xb6, 0xbe, 0x03, 0x25, //0x000059f0 .quad 2667185096717282123 + 0xc8, 0x59, 0x7f, 0x12, 0x4a, 0x5e, 0x4d, 0xb5, //0x000059f8 .quad -5382542307406947896 + 0x1d, 0xd6, 0x0f, 0x84, 0x64, 0xae, 0x44, 0x2e, //0x00005a00 .quad 3333981370896602653 + 0x3a, 0x30, 0x1f, 0x97, 0xdc, 0xb5, 0xa0, 0xe2, //0x00005a08 .quad -2116491865831296966 + 0xd2, 0xe5, 0x89, 0xd2, 0xfe, 0xec, 0xea, 0x5c, //0x00005a10 .quad 6695424375237764562 + 0x24, 0x7e, 0x73, 0xde, 0xa9, 0x71, 0xa4, 0x8d, //0x00005a18 .quad -8240336443785642460 + 0x47, 0x5f, 0x2c, 0x87, 0x3e, 0xa8, 0x25, 0x74, //0x00005a20 .quad 8369280469047205703 + 0xad, 0x5d, 0x10, 0x56, 0x14, 0x8e, 0x0d, 0xb1, //0x00005a28 .quad -5688734536304665171 + 0x19, 0x77, 0xf7, 0x28, 0x4e, 0x12, 0x2f, 0xd1, //0x00005a30 .quad -3373457468973156583 + 0x18, 0x75, 0x94, 0x6b, 0x99, 0xf1, 0x50, 0xdd, //0x00005a38 .quad -2499232151953443560 + 0x6f, 0xaa, 0x9a, 0xd9, 0x70, 0x6b, 0xbd, 0x82, //0x00005a40 .quad -9025939945749304721 + 0x2f, 0xc9, 0x3c, 0xe3, 0xff, 0x96, 0x52, 0x8a, //0x00005a48 .quad -8479549122611984081 + 0x0b, 0x55, 0x01, 0x10, 0x4d, 0xc6, 0x6c, 0x63, //0x00005a50 .quad 7164319141522920715 + 0x7b, 0xfb, 0x0b, 0xdc, 0xbf, 0x3c, 0xe7, 0xac, //0x00005a58 .quad -5987750384837592197 + 0x4e, 0xaa, 0x01, 0x54, 0xe0, 0xf7, 0x47, 0x3c, //0x00005a60 .quad 4343712908476262990 + 0x5a, 0xfa, 0x0e, 0xd3, 0xef, 0x0b, 0x21, 0xd8, //0x00005a68 .quad -2873001962619602342 + 0x71, 0x0a, 0x81, 0x34, 0xec, 0xfa, 0xac, 0x65, //0x00005a70 .quad 7326506586225052273 + 0x78, 0x5c, 0xe9, 0xe3, 0x75, 0xa7, 0x14, 0x87, //0x00005a78 .quad -8713155254278333320 + 0x0d, 0x4d, 0xa1, 0x41, 0xa7, 0x39, 0x18, 0x7f, //0x00005a80 .quad 9158133232781315341 + 0x96, 0xb3, 0xe3, 0x5c, 0x53, 0xd1, 0xd9, 0xa8, //0x00005a88 .quad -6279758049420528746 + 0x50, 0xa0, 0x09, 0x12, 0x11, 0x48, 0xde, 0x1e, //0x00005a90 .quad 2224294504121868368 + 0x7c, 0xa0, 0x1c, 0x34, 0xa8, 0x45, 0x10, 0xd3, //0x00005a98 .quad -3238011543348273028 + 0x32, 0x04, 0x46, 0xab, 0x0a, 0xed, 0x4a, 0x93, //0x00005aa0 .quad -7833187971778608078 + 0x4d, 0xe4, 0x91, 0x20, 0x89, 0x2b, 0xea, 0x83, //0x00005aa8 .quad -8941286242233752499 + 0x3f, 0x85, 0x17, 0x56, 0x4d, 0xa8, 0x1d, 0xf8, //0x00005ab0 .quad -568112927868484289 + 0x60, 0x5d, 0xb6, 0x68, 0x6b, 0xb6, 0xe4, 0xa4, //0x00005ab8 .quad -6564921784364802720 + 0x8e, 0x66, 0x9d, 0xab, 0x60, 0x12, 0x25, 0x36, //0x00005ac0 .quad 3901544858591782542 + 0xb9, 0xf4, 0xe3, 0x42, 0x06, 0xe4, 0x1d, 0xce, //0x00005ac8 .quad -3594466212028615495 + 0x19, 0x60, 0x42, 0x6b, 0x7c, 0x2b, 0xd7, 0xc1, //0x00005ad0 .quad -4479063491021217767 + 0xf3, 0x78, 0xce, 0xe9, 0x83, 0xae, 0xd2, 0x80, //0x00005ad8 .quad -9164070410158966541 + 0x1f, 0xf8, 0x12, 0x86, 0x5b, 0xf6, 0x4c, 0xb2, //0x00005ae0 .quad -5598829363776522209 + 0x30, 0x17, 0x42, 0xe4, 0x24, 0x5a, 0x07, 0xa1, //0x00005ae8 .quad -6843401994271320272 + 0x27, 0xb6, 0x97, 0x67, 0xf2, 0x33, 0xe0, 0xde, //0x00005af0 .quad -2386850686293264857 + 0xfc, 0x9c, 0x52, 0x1d, 0xae, 0x30, 0x49, 0xc9, //0x00005af8 .quad -3942566474411762436 + 0xb1, 0xa3, 0x7d, 0x01, 0xef, 0x40, 0x98, 0x16, //0x00005b00 .quad 1628122660560806833 + 0x3c, 0x44, 0xa7, 0xa4, 0xd9, 0x7c, 0x9b, 0xfb, //0x00005b08 .quad -316522074587315140 + 0x4e, 0x86, 0xee, 0x60, 0x95, 0x28, 0x1f, 0x8e, //0x00005b10 .quad -8205795374004271538 + 0xa5, 0x8a, 0xe8, 0x06, 0x08, 0x2e, 0x41, 0x9d, //0x00005b18 .quad -7115355324258153819 + 0xe2, 0x27, 0x2a, 0xb9, 0xba, 0xf2, 0xa6, 0xf1, //0x00005b20 .quad -1033872180650563614 + 0x4e, 0xad, 0xa2, 0x08, 0x8a, 0x79, 0x91, 0xc4, //0x00005b28 .quad -4282508136895304370 + 0xdb, 0xb1, 0x74, 0x67, 0x69, 0xaf, 0x10, 0xae, //0x00005b30 .quad -5904026244240592421 + 0xa2, 0x58, 0xcb, 0x8a, 0xec, 0xd7, 0xb5, 0xf5, //0x00005b38 .quad -741449152691742558 + 0x29, 0xef, 0xa8, 0xe0, 0xa1, 0x6d, 0xca, 0xac, //0x00005b40 .quad -5995859411864064215 + 0x65, 0x17, 0xbf, 0xd6, 0xf3, 0xa6, 0x91, 0x99, //0x00005b48 .quad -7380934748073420955 + 0xf3, 0x2a, 0xd3, 0x58, 0x0a, 0x09, 0xfd, 0x17, //0x00005b50 .quad 1728547772024695539 + 0x3f, 0xdd, 0x6e, 0xcc, 0xb0, 0x10, 0xf6, 0xbf, //0x00005b58 .quad -4614482416664388289 + 0xb0, 0xf5, 0x07, 0xef, 0x4c, 0x4b, 0xfc, 0xdd, //0x00005b60 .quad -2451001303396518480 + 0x8e, 0x94, 0x8a, 0xff, 0xdc, 0x94, 0xf3, 0xef, //0x00005b68 .quad -1156417002403097458 + 0x8e, 0xf9, 0x64, 0x15, 0x10, 0xaf, 0xbd, 0x4a, //0x00005b70 .quad 5385653213018257806 + 0xd9, 0x9c, 0xb6, 0x1f, 0x0a, 0x3d, 0xf8, 0x95, //0x00005b78 .quad -7640289654143017767 + 0xf1, 0x37, 0xbe, 0x1a, 0xd4, 0x1a, 0x6d, 0x9d, //0x00005b80 .quad -7102991539009341455 + 0x0f, 0x44, 0xa4, 0xa7, 0x4c, 0x4c, 0x76, 0xbb, //0x00005b88 .quad -4938676049251384305 + 0xed, 0xc5, 0x6d, 0x21, 0x89, 0x61, 0xc8, 0x84, //0x00005b90 .quad -8878739423761676819 + 0x13, 0x55, 0x8d, 0xd1, 0x5f, 0xdf, 0x53, 0xea, //0x00005b98 .quad -1561659043136842477 + 0xb4, 0x9b, 0xe4, 0xb4, 0xf5, 0x3c, 0xfd, 0x32, //0x00005ba0 .quad 3674159897003727796 + 0x2c, 0x55, 0xf8, 0xe2, 0x9b, 0x6b, 0x74, 0x92, //0x00005ba8 .quad -7893565929601608404 + 0xa1, 0xc2, 0x1d, 0x22, 0x33, 0x8c, 0xbc, 0x3f, //0x00005bb0 .quad 4592699871254659745 + 0x77, 0x6a, 0xb6, 0xdb, 0x82, 0x86, 0x11, 0xb7, //0x00005bb8 .quad -5255271393574622601 + 0x4a, 0x33, 0xa5, 0xea, 0x3f, 0xaf, 0xab, 0x0f, //0x00005bc0 .quad 1129188820640936778 + 0x15, 0x05, 0xa4, 0x92, 0x23, 0xe8, 0xd5, 0xe4, //0x00005bc8 .quad -1957403223540890347 + 0x0e, 0x40, 0xa7, 0xf2, 0x87, 0x4d, 0xcb, 0x29, //0x00005bd0 .quad 3011586022114279438 + 0x2d, 0x83, 0xa6, 0x3b, 0x16, 0xb1, 0x05, 0x8f, //0x00005bd8 .quad -8140906042354138323 + 0x12, 0x10, 0x51, 0xef, 0xe9, 0x20, 0x3e, 0x74, //0x00005be0 .quad 8376168546070237202 + 0xf8, 0x23, 0x90, 0xca, 0x5b, 0x1d, 0xc7, 0xb2, //0x00005be8 .quad -5564446534515285000 + 0x16, 0x54, 0x25, 0x6b, 0x24, 0xa9, 0x4d, 0x91, //0x00005bf0 .quad -7976533391121755114 + 0xf6, 0x2c, 0x34, 0xbd, 0xb2, 0xe4, 0x78, 0xdf, //0x00005bf8 .quad -2343872149716718346 + 0x8e, 0x54, 0xf7, 0xc2, 0xb6, 0x89, 0xd0, 0x1a, //0x00005c00 .quad 1932195658189984910 + 0x1a, 0x9c, 0x40, 0xb6, 0xef, 0x8e, 0xab, 0x8b, //0x00005c08 .quad -8382449121214030822 + 0xb1, 0x29, 0xb5, 0x73, 0x24, 0xac, 0x84, 0xa1, //0x00005c10 .quad -6808127464117294671 + 0x20, 0xc3, 0xd0, 0xa3, 0xab, 0x72, 0x96, 0xae, //0x00005c18 .quad -5866375383090150624 + 0x1e, 0x74, 0xa2, 0x90, 0x2d, 0xd7, 0xe5, 0xc9, //0x00005c20 .quad -3898473311719230434 + 0xe8, 0xf3, 0xc4, 0x8c, 0x56, 0x0f, 0x3c, 0xda, //0x00005c28 .quad -2721283210435300376 + 0x92, 0x88, 0x65, 0x7a, 0x7c, 0xa6, 0x2f, 0x7e, //0x00005c30 .quad 9092669226243950738 + 0x71, 0x18, 0xfb, 0x17, 0x96, 0x89, 0x65, 0x88, //0x00005c38 .quad -8618331034163144591 + 0xb7, 0xea, 0xfe, 0x98, 0x1b, 0x90, 0xbb, 0xdd, //0x00005c40 .quad -2469221522477225289 + 0x8d, 0xde, 0xf9, 0x9d, 0xfb, 0xeb, 0x7e, 0xaa, //0x00005c48 .quad -6161227774276542835 + 0x65, 0xa5, 0x3e, 0x7f, 0x22, 0x74, 0x2a, 0x55, //0x00005c50 .quad 6136845133758244197 + 0x31, 0x56, 0x78, 0x85, 0xfa, 0xa6, 0x1e, 0xd5, //0x00005c58 .quad -3089848699418290639 + 0x5f, 0x27, 0x87, 0x8f, 0x95, 0x88, 0x3a, 0xd5, //0x00005c60 .quad -3082000819042179233 + 0xde, 0x35, 0x6b, 0x93, 0x5c, 0x28, 0x33, 0x85, //0x00005c68 .quad -8848684464777513506 + 0x37, 0xf1, 0x68, 0xf3, 0xba, 0x2a, 0x89, 0x8a, //0x00005c70 .quad -8464187042230111945 + 0x56, 0x03, 0x46, 0xb8, 0x73, 0xf2, 0x7f, 0xa6, //0x00005c78 .quad -6449169562544503978 + 0x85, 0x2d, 0x43, 0xb0, 0x69, 0x75, 0x2b, 0x2d, //0x00005c80 .quad 3254824252494523781 + 0x2c, 0x84, 0x57, 0xa6, 0x10, 0xef, 0x1f, 0xd0, //0x00005c88 .quad -3449775934753242068 + 0x73, 0xfc, 0x29, 0x0e, 0x62, 0x29, 0x3b, 0x9c, //0x00005c90 .quad -7189106879045698445 + 0x9b, 0xb2, 0xf6, 0x67, 0x6a, 0xf5, 0x13, 0x82, //0x00005c98 .quad -9073638986861858149 + 0x8f, 0x7b, 0xb4, 0x91, 0xba, 0xf3, 0x49, 0x83, //0x00005ca0 .quad -8986383598807123057 + 0x42, 0x5f, 0xf4, 0x01, 0xc5, 0xf2, 0x98, 0xa2, //0x00005ca8 .quad -6730362715149934782 + 0x73, 0x9a, 0x21, 0x36, 0xa9, 0x70, 0x1c, 0x24, //0x00005cb0 .quad 2602078556773259891 + 0x13, 0x77, 0x71, 0x42, 0x76, 0x2f, 0x3f, 0xcb, //0x00005cb8 .quad -3801267375510030573 + 0x10, 0x01, 0xaa, 0x83, 0xd3, 0x8c, 0x23, 0xed, //0x00005cc0 .quad -1359087822460813040 + 0xd7, 0xd4, 0x0d, 0xd3, 0x53, 0xfb, 0x0e, 0xfe, //0x00005cc8 .quad -139898200960150313 + 0xaa, 0x40, 0x4a, 0x32, 0x04, 0x38, 0x36, 0xf4, //0x00005cd0 .quad -849429889038008150 + 0x06, 0xa5, 0xe8, 0x63, 0x14, 0x5d, 0xc9, 0x9e, //0x00005cd8 .quad -7004965403241175802 + 0xd5, 0xd0, 0xdc, 0x3e, 0x05, 0xc6, 0x43, 0xb1, //0x00005ce0 .quad -5673473379724898091 + 0x48, 0xce, 0xe2, 0x7c, 0x59, 0xb4, 0x7b, 0xc6, //0x00005ce8 .quad -4144520735624081848 + 0x0a, 0x05, 0x94, 0x8e, 0x86, 0xb7, 0x94, 0xdd, //0x00005cf0 .quad -2480155706228734710 + 0xda, 0x81, 0x1b, 0xdc, 0x6f, 0xa1, 0x1a, 0xf8, //0x00005cf8 .quad -568964901102714406 + 0x26, 0x83, 0x1c, 0x19, 0xb4, 0xf2, 0x7c, 0xca, //0x00005d00 .quad -3855940325606653146 + 0x28, 0x31, 0x91, 0xe9, 0xe5, 0xa4, 0x10, 0x9b, //0x00005d08 .quad -7273132090830278360 + 0xf0, 0xa3, 0x63, 0x1f, 0x61, 0x2f, 0x1c, 0xfd, //0x00005d10 .quad -208239388580928528 + 0x72, 0x7d, 0xf5, 0x63, 0x1f, 0xce, 0xd4, 0xc1, //0x00005d18 .quad -4479729095110460046 + 0xec, 0x8c, 0x3c, 0x67, 0x39, 0x3b, 0x63, 0xbc, //0x00005d20 .quad -4871985254153548564 + 0xcf, 0xdc, 0xf2, 0x3c, 0xa7, 0x01, 0x4a, 0xf2, //0x00005d28 .quad -987975350460687153 + 0x13, 0xd8, 0x85, 0xe0, 0x03, 0x05, 0xbe, 0xd5, //0x00005d30 .quad -3044990783845967853 + 0x01, 0xca, 0x17, 0x86, 0x08, 0x41, 0x6e, 0x97, //0x00005d38 .quad -7535013621679011327 + 0x18, 0x4e, 0xa7, 0xd8, 0x44, 0x86, 0x2d, 0x4b, //0x00005d40 .quad 5417133557047315992 + 0x82, 0xbc, 0x9d, 0xa7, 0x4a, 0xd1, 0x49, 0xbd, //0x00005d48 .quad -4807081008671376254 + 0x9e, 0x21, 0xd1, 0x0e, 0xd6, 0xe7, 0xf8, 0xdd, //0x00005d50 .quad -2451955090545630818 + 0xa2, 0x2b, 0x85, 0x51, 0x9d, 0x45, 0x9c, 0xec, //0x00005d58 .quad -1397165242411832414 + 0x03, 0xb5, 0x42, 0xc9, 0xe5, 0x90, 0xbb, 0xca, //0x00005d60 .quad -3838314940804713213 + 0x45, 0x3b, 0xf3, 0x52, 0x82, 0xab, 0xe1, 0x93, //0x00005d68 .quad -7790757304148477115 + 0x43, 0x62, 0x93, 0x3b, 0x1f, 0x75, 0x6a, 0x3d, //0x00005d70 .quad 4425478360848884291 + 0x17, 0x0a, 0xb0, 0xe7, 0x62, 0x16, 0xda, 0xb8, //0x00005d78 .quad -5126760611758208489 + 0xd4, 0x3a, 0x78, 0x0a, 0x67, 0x12, 0xc5, 0x0c, //0x00005d80 .quad 920161932633717460 + 0x9d, 0x0c, 0x9c, 0xa1, 0xfb, 0x9b, 0x10, 0xe7, //0x00005d88 .quad -1796764746270372707 + 0xc5, 0x24, 0x8b, 0x66, 0x80, 0x2b, 0xfb, 0x27, //0x00005d90 .quad 2880944217109767365 + 0xe2, 0x87, 0x01, 0x45, 0x7d, 0x61, 0x6a, 0x90, //0x00005d98 .quad -8040506994060064798 + 0xf6, 0xed, 0x2d, 0x80, 0x60, 0xf6, 0xf9, 0xb1, //0x00005da0 .quad -5622191765467566602 + 0xda, 0xe9, 0x41, 0x96, 0xdc, 0xf9, 0x84, 0xb4, //0x00005da8 .quad -5438947724147693094 + 0x73, 0x69, 0x39, 0xa0, 0xf8, 0x73, 0x78, 0x5e, //0x00005db0 .quad 6807318348447705459 + 0x51, 0x64, 0xd2, 0xbb, 0x53, 0x38, 0xa6, 0xe1, //0x00005db8 .quad -2186998636757228463 + 0xe8, 0xe1, 0x23, 0x64, 0x7b, 0x48, 0x0b, 0xdb, //0x00005dc0 .quad -2662955059861265944 + 0xb2, 0x7e, 0x63, 0x55, 0x34, 0xe3, 0x07, 0x8d, //0x00005dc8 .quad -8284403175614349646 + 0x62, 0xda, 0x2c, 0x3d, 0x9a, 0x1a, 0xce, 0x91, //0x00005dd0 .quad -7940379843253970334 + 0x5f, 0x5e, 0xbc, 0x6a, 0x01, 0xdc, 0x49, 0xb0, //0x00005dd8 .quad -5743817951090549153 + 0xfb, 0x10, 0x78, 0xcc, 0x40, 0xa1, 0x41, 0x76, //0x00005de0 .quad 8521269269642088699 + 0xf7, 0x75, 0x6b, 0xc5, 0x01, 0x53, 0x5c, 0xdc, //0x00005de8 .quad -2568086420435798537 + 0x9d, 0x0a, 0xcb, 0x7f, 0xc8, 0x04, 0xe9, 0xa9, //0x00005df0 .quad -6203421752542164323 + 0xba, 0x29, 0x63, 0x1b, 0xe1, 0xb3, 0xb9, 0x89, //0x00005df8 .quad -8522583040413455942 + 0x44, 0xcd, 0xbd, 0x9f, 0xfa, 0x45, 0x63, 0x54, //0x00005e00 .quad 6080780864604458308 + 0x29, 0xf4, 0x3b, 0x62, 0xd9, 0x20, 0x28, 0xac, //0x00005e08 .quad -6041542782089432023 + 0x95, 0x40, 0xad, 0x47, 0x79, 0x17, 0x7c, 0xa9, //0x00005e10 .quad -6234081974526590827 + 0x33, 0xf1, 0xca, 0xba, 0x0f, 0x29, 0x32, 0xd7, //0x00005e18 .quad -2940242459184402125 + 0x5d, 0x48, 0xcc, 0xcc, 0xab, 0x8e, 0xed, 0x49, //0x00005e20 .quad 5327070802775656541 + 0xc0, 0xd6, 0xbe, 0xd4, 0xa9, 0x59, 0x7f, 0x86, //0x00005e28 .quad -8755180564631333184 + 0x74, 0x5a, 0xff, 0xbf, 0x56, 0xf2, 0x68, 0x5c, //0x00005e30 .quad 6658838503469570676 + 0x70, 0x8c, 0xee, 0x49, 0x14, 0x30, 0x1f, 0xa8, //0x00005e38 .quad -6332289687361778576 + 0x11, 0x31, 0xff, 0x6f, 0xec, 0x2e, 0x83, 0x73, //0x00005e40 .quad 8323548129336963345 + 0x8c, 0x2f, 0x6a, 0x5c, 0x19, 0xfc, 0x26, 0xd2, //0x00005e48 .quad -3303676090774835316 + 0xab, 0x7e, 0xff, 0xc5, 0x53, 0xfd, 0x31, 0xc8, //0x00005e50 .quad -4021154456019173717 + 0xb7, 0x5d, 0xc2, 0xd9, 0x8f, 0x5d, 0x58, 0x83, //0x00005e58 .quad -8982326584375353929 + 0x55, 0x5e, 0x7f, 0xb7, 0xa8, 0x7c, 0x3e, 0xba, //0x00005e60 .quad -5026443070023967147 + 0x25, 0xf5, 0x32, 0xd0, 0xf3, 0x74, 0x2e, 0xa4, //0x00005e68 .quad -6616222212041804507 + 0xeb, 0x35, 0x5f, 0xe5, 0xd2, 0x1b, 0xce, 0x28, //0x00005e70 .quad 2940318199324816875 + 0x6f, 0xb2, 0x3f, 0xc4, 0x30, 0x12, 0x3a, 0xcd, //0x00005e78 .quad -3658591746624867729 + 0xb3, 0x81, 0x5b, 0xcf, 0x63, 0xd1, 0x80, 0x79, //0x00005e80 .quad 8755227902219092403 + 0x85, 0xcf, 0xa7, 0x7a, 0x5e, 0x4b, 0x44, 0x80, //0x00005e88 .quad -9204148869281624187 + 0x1f, 0x62, 0x32, 0xc3, 0xbc, 0x05, 0xe1, 0xd7, //0x00005e90 .quad -2891023177508298209 + 0x66, 0xc3, 0x51, 0x19, 0x36, 0x5e, 0x55, 0xa0, //0x00005e98 .quad -6893500068174642330 + 0xa7, 0xfa, 0xfe, 0xf3, 0x2b, 0x47, 0xd9, 0x8d, //0x00005ea0 .quad -8225464990312760665 + 0x40, 0x34, 0xa6, 0x9f, 0xc3, 0xb5, 0x6a, 0xc8, //0x00005ea8 .quad -4005189066790915008 + 0x51, 0xb9, 0xfe, 0xf0, 0xf6, 0x98, 0x4f, 0xb1, //0x00005eb0 .quad -5670145219463562927 + 0x50, 0xc1, 0x8f, 0x87, 0x34, 0x63, 0x85, 0xfa, //0x00005eb8 .quad -394800315061255856 + 0xd3, 0x33, 0x9f, 0x56, 0x9a, 0xbf, 0xd1, 0x6e, //0x00005ec0 .quad 7985374283903742931 + 0xd2, 0xd8, 0xb9, 0xd4, 0x00, 0x5e, 0x93, 0x9c, //0x00005ec8 .quad -7164279224554366766 + 0xc8, 0x00, 0x47, 0xec, 0x80, 0x2f, 0x86, 0x0a, //0x00005ed0 .quad 758345818024902856 + 0x07, 0x4f, 0xe8, 0x09, 0x81, 0x35, 0xb8, 0xc3, //0x00005ed8 .quad -4343663012265570553 + 0xfa, 0xc0, 0x58, 0x27, 0x61, 0xbb, 0x27, 0xcd, //0x00005ee0 .quad -3663753745896259334 + 0xc8, 0x62, 0x62, 0x4c, 0xe1, 0x42, 0xa6, 0xf4, //0x00005ee8 .quad -817892746904575288 + 0x9c, 0x78, 0x97, 0xb8, 0x1c, 0xd5, 0x38, 0x80, //0x00005ef0 .quad -9207375118826243940 + 0xbd, 0x7d, 0xbd, 0xcf, 0xcc, 0xe9, 0xe7, 0x98, //0x00005ef8 .quad -7428711994456441411 + 0xc3, 0x56, 0xbd, 0xe6, 0x63, 0x0a, 0x47, 0xe0, //0x00005f00 .quad -2285846861678029117 + 0x2c, 0xdd, 0xac, 0x03, 0x40, 0xe4, 0x21, 0xbf, //0x00005f08 .quad -4674203974643163860 + 0x74, 0xac, 0x6c, 0xe0, 0xfc, 0xcc, 0x58, 0x18, //0x00005f10 .quad 1754377441329851508 + 0x78, 0x14, 0x98, 0x04, 0x50, 0x5d, 0xea, 0xee, //0x00005f18 .quad -1231068949876566920 + 0xc8, 0xeb, 0x43, 0x0c, 0x1e, 0x80, 0x37, 0x0f, //0x00005f20 .quad 1096485900831157192 + 0xcb, 0x0c, 0xdf, 0x02, 0x52, 0x7a, 0x52, 0x95, //0x00005f28 .quad -7686947121313936181 + 0xba, 0xe6, 0x54, 0x8f, 0x25, 0x60, 0x05, 0xd3, //0x00005f30 .quad -3241078642388441414 + 0xfd, 0xcf, 0x96, 0x83, 0xe6, 0x18, 0xa7, 0xba, //0x00005f38 .quad -4996997883215032323 + 0x69, 0x20, 0x2a, 0xf3, 0x2e, 0xb8, 0xc6, 0x47, //0x00005f40 .quad 5172023733869224041 + 0xfd, 0x83, 0x7c, 0x24, 0x20, 0xdf, 0x50, 0xe9, //0x00005f48 .quad -1634561335591402499 + 0x41, 0x54, 0xfa, 0x57, 0x1d, 0x33, 0xdc, 0x4c, //0x00005f50 .quad 5538357842881958977 + 0x7e, 0xd2, 0xcd, 0x16, 0x74, 0x8b, 0xd2, 0x91, //0x00005f58 .quad -7939129862385708418 + 0x52, 0xe9, 0xf8, 0xad, 0xe4, 0x3f, 0x13, 0xe0, //0x00005f60 .quad -2300424733252327086 + 0x1d, 0x47, 0x81, 0x1c, 0x51, 0x2e, 0x47, 0xb6, //0x00005f68 .quad -5312226309554747619 + 0xa6, 0x23, 0x77, 0xd9, 0xdd, 0x0f, 0x18, 0x58, //0x00005f70 .quad 6347841120289366950 + 0xe5, 0x98, 0xa1, 0x63, 0xe5, 0xf9, 0xd8, 0xe3, //0x00005f78 .quad -2028596868516046619 + 0x48, 0x76, 0xea, 0xa7, 0xea, 0x09, 0x0f, 0x57, //0x00005f80 .quad 6273243709394548296 + 0x8f, 0xff, 0x44, 0x5e, 0x2f, 0x9c, 0x67, 0x8e, //0x00005f88 .quad -8185402070463610993 + 0xda, 0x13, 0xe5, 0x51, 0x65, 0xcc, 0xd2, 0x2c, //0x00005f90 .quad 3229868618315797466 + 0x73, 0x3f, 0xd6, 0x35, 0x3b, 0x83, 0x01, 0xb2, //0x00005f98 .quad -5620066569652125837 + 0xd1, 0x58, 0x5e, 0xa6, 0x7e, 0x7f, 0x07, 0xf8, //0x00005fa0 .quad -574350245532641071 + 0x4f, 0xcf, 0x4b, 0x03, 0x0a, 0xe4, 0x81, 0xde, //0x00005fa8 .quad -2413397193637769393 + 0x82, 0xf7, 0xfa, 0x27, 0xaf, 0xaf, 0x04, 0xfb, //0x00005fb0 .quad -358968903457900670 + 0x91, 0x61, 0x0f, 0x42, 0x86, 0x2e, 0x11, 0x8b, //0x00005fb8 .quad -8425902273664687727 + 0x63, 0xb5, 0xf9, 0xf1, 0x9a, 0xdb, 0xc5, 0x79, //0x00005fc0 .quad 8774660907532399971 + 0xf6, 0x39, 0x93, 0xd2, 0x27, 0x7a, 0xd5, 0xad, //0x00005fc8 .quad -5920691823653471754 + 0xbc, 0x22, 0x78, 0xae, 0x81, 0x52, 0x37, 0x18, //0x00005fd0 .quad 1744954097560724156 + 0x74, 0x08, 0x38, 0xc7, 0xb1, 0xd8, 0x4a, 0xd9, //0x00005fd8 .quad -2789178761139451788 + 0xb5, 0x15, 0x0b, 0x0d, 0x91, 0x93, 0x22, 0x8f, //0x00005fe0 .quad -8132775725879323211 + 0x48, 0x05, 0x83, 0x1c, 0x6f, 0xc7, 0xce, 0x87, //0x00005fe8 .quad -8660765753353239224 + 0x22, 0xdb, 0x4d, 0x50, 0x75, 0x38, 0xeb, 0xb2, //0x00005ff0 .quad -5554283638921766110 + 0x9a, 0xc6, 0xa3, 0xe3, 0x4a, 0x79, 0xc2, 0xa9, //0x00005ff8 .quad -6214271173264161126 + 0xeb, 0x51, 0x61, 0xa4, 0x92, 0x06, 0xa6, 0x5f, //0x00006000 .quad 6892203506629956075 + 0x41, 0xb8, 0x8c, 0x9c, 0x9d, 0x17, 0x33, 0xd4, //0x00006008 .quad -3156152948152813503 + 0x33, 0xd3, 0xbc, 0xa6, 0x1b, 0xc4, 0xc7, 0xdb, //0x00006010 .quad -2609901835997359309 + 0x28, 0xf3, 0xd7, 0x81, 0xc2, 0xee, 0x9f, 0x84, //0x00006018 .quad -8890124620236590296 + 0x00, 0x08, 0x6c, 0x90, 0x22, 0xb5, 0xb9, 0x12, //0x00006020 .quad 1349308723430688768 + 0xf3, 0xef, 0x4d, 0x22, 0x73, 0xea, 0xc7, 0xa5, //0x00006028 .quad -6500969756868349965 + 0x00, 0x0a, 0x87, 0x34, 0x6b, 0x22, 0x68, 0xd7, //0x00006030 .quad -2925050114139026944 + 0xef, 0x6b, 0xe1, 0xea, 0x0f, 0xe5, 0x39, 0xcf, //0x00006038 .quad -3514526177658049553 + 0x40, 0x66, 0xd4, 0x00, 0x83, 0x15, 0xa1, 0xe6, //0x00006040 .quad -1828156321336891840 + 0x75, 0xe3, 0xcc, 0xf2, 0x29, 0x2f, 0x84, 0x81, //0x00006048 .quad -9114107888677362827 + 0xd0, 0x7f, 0x09, 0xc1, 0xe3, 0x5a, 0x49, 0x60, //0x00006050 .quad 6938176635183661008 + 0x53, 0x1c, 0x80, 0x6f, 0xf4, 0x3a, 0xe5, 0xa1, //0x00006058 .quad -6780948842419315629 + 0xc4, 0xdf, 0x4b, 0xb1, 0x9c, 0xb1, 0x5b, 0x38, //0x00006060 .quad 4061034775552188356 + 0x68, 0x23, 0x60, 0x8b, 0xb1, 0x89, 0x5e, 0xca, //0x00006068 .quad -3864500034596756632 + 0xb5, 0xd7, 0x9e, 0xdd, 0x03, 0x9e, 0x72, 0x46, //0x00006070 .quad 5076293469440235445 + 0x42, 0x2c, 0x38, 0xee, 0x1d, 0x2c, 0xf6, 0xfc, //0x00006078 .quad -218939024818557886 + 0xd1, 0x46, 0x83, 0x6a, 0xc2, 0xa2, 0x07, 0x6c, //0x00006080 .quad 7784369436827535057 + 0xa9, 0x1b, 0xe3, 0xb4, 0x92, 0xdb, 0x19, 0x9e, //0x00006088 .quad -7054365918152680535 + 0x85, 0x18, 0x24, 0x05, 0x73, 0x8b, 0x09, 0xc7, //0x00006090 .quad -4104596259247744891 + 0x93, 0xe2, 0x1b, 0x62, 0x77, 0x52, 0xa0, 0xc5, //0x00006098 .quad -4206271379263462765 + 0xa7, 0x1e, 0x6d, 0xc6, 0x4f, 0xee, 0xcb, 0xb8, //0x000060a0 .quad -5130745324059681113 + 0x38, 0xdb, 0xa2, 0x3a, 0x15, 0x67, 0x08, 0xf7, //0x000060a8 .quad -646153205651940552 + 0x28, 0x33, 0x04, 0xdc, 0xf1, 0x74, 0x7f, 0x73, //0x000060b0 .quad 8322499218531169064 + 0x03, 0xc9, 0xa5, 0x44, 0x6d, 0x40, 0x65, 0x9a, //0x000060b8 .quad -7321374781173544701 + 0xf2, 0x3f, 0x05, 0x53, 0x2e, 0x52, 0x5f, 0x50, //0x000060c0 .quad 5791438004736573426 + 0x44, 0x3b, 0xcf, 0x95, 0x88, 0x90, 0xfe, 0xc0, //0x000060c8 .quad -4540032458039542972 + 0xef, 0x8f, 0xc6, 0xe7, 0xb9, 0x26, 0x77, 0x64, //0x000060d0 .quad 7239297505920716783 + 0x15, 0x0a, 0x43, 0xbb, 0xaa, 0x34, 0x3e, 0xf1, //0x000060d8 .quad -1063354554122040811 + 0xf5, 0x19, 0xdc, 0x30, 0x34, 0x78, 0xca, 0x5e, //0x000060e0 .quad 6830403950414141941 + 0x4d, 0xe6, 0x09, 0xb5, 0xea, 0xe0, 0xc6, 0x96, //0x000060e8 .quad -7582125623967357363 + 0x72, 0x20, 0x13, 0x3d, 0x41, 0x16, 0x7d, 0xb6, //0x000060f0 .quad -5297053117264486286 + 0xe0, 0x5f, 0x4c, 0x62, 0x25, 0x99, 0x78, 0xbc, //0x000060f8 .quad -4865971011531808800 + 0x8f, 0xe8, 0x57, 0x8c, 0xd1, 0x5b, 0x1c, 0xe4, //0x00006100 .quad -2009630378153219953 + 0xd8, 0x77, 0xdf, 0xba, 0x6e, 0xbf, 0x96, 0xeb, //0x00006108 .quad -1470777745987373096 + 0x59, 0xf1, 0xb6, 0xf7, 0x62, 0xb9, 0x91, 0x8e, //0x00006110 .quad -8173548013986844327 + 0xe7, 0xaa, 0xcb, 0x34, 0xa5, 0x37, 0x3e, 0x93, //0x00006118 .quad -7836765118883190041 + 0xb0, 0xad, 0xa4, 0xb5, 0xbb, 0x27, 0x36, 0x72, //0x00006120 .quad 8229809056225996208 + 0xa1, 0x95, 0xfe, 0x81, 0x8e, 0xc5, 0x0d, 0xb8, //0x00006128 .quad -5184270380176599647 + 0x1c, 0xd9, 0x0d, 0xa3, 0xaa, 0xb1, 0xc3, 0xce, //0x00006130 .quad -3547796734999668452 + 0x09, 0x3b, 0x7e, 0x22, 0xf2, 0x36, 0x11, 0xe6, //0x00006138 .quad -1868651956793361655 + 0xb1, 0xa7, 0xe8, 0xa5, 0x0a, 0x4f, 0x3a, 0x21, //0x00006140 .quad 2394313059052595121 + 0xe6, 0xe4, 0x8e, 0x55, 0x57, 0xc2, 0xca, 0x8f, //0x00006148 .quad -8085436500636932890 + 0x9d, 0xd1, 0x62, 0x4f, 0xcd, 0xe2, 0x88, 0xa9, //0x00006150 .quad -6230480713039031907 + 0x1f, 0x9e, 0xf2, 0x2a, 0xed, 0x72, 0xbd, 0xb3, //0x00006158 .quad -5495109607368778209 + 0x05, 0x86, 0x3b, 0xa3, 0x80, 0x1b, 0xeb, 0x93, //0x00006160 .quad -7788100891298789883 + 0xa7, 0x45, 0xaf, 0x75, 0xa8, 0xcf, 0xac, 0xe0, //0x00006168 .quad -2257200990783584857 + 0xc3, 0x33, 0x05, 0x66, 0x30, 0xf1, 0x72, 0xbc, //0x00006170 .quad -4867563057061743677 + 0x88, 0x8b, 0x8d, 0x49, 0xc9, 0x01, 0x6c, 0x8c, //0x00006178 .quad -8328279646880822392 + 0xb4, 0x80, 0x86, 0x7f, 0x7c, 0xad, 0x8f, 0xeb, //0x00006180 .quad -1472767802899791692 + 0x6a, 0xee, 0xf0, 0x9b, 0x3b, 0x02, 0x87, 0xaf, //0x00006188 .quad -5798663540173640086 + 0xe1, 0x20, 0x68, 0x9f, 0xdb, 0x98, 0x73, 0xa6, //0x00006190 .quad -6452645772052127519 + 0x05, 0x2a, 0xed, 0x82, 0xca, 0xc2, 0x68, 0xdb, //0x00006198 .quad -2636643406789662203 + 0x8c, 0x14, 0xa1, 0x43, 0x89, 0x3f, 0x08, 0x88, //0x000061a0 .quad -8644589625959967604 + 0x43, 0x3a, 0xd4, 0x91, 0xbe, 0x79, 0x21, 0x89, //0x000061a8 .quad -8565431156884620733 + 0xb0, 0x59, 0x89, 0x94, 0x6b, 0x4f, 0x0a, 0x6a, //0x000061b0 .quad 7641007041259592112 + 0xd4, 0x48, 0x49, 0x36, 0x2e, 0xd8, 0x69, 0xab, //0x000061b8 .quad -6095102927678388012 + 0x1c, 0xb0, 0xab, 0x79, 0x46, 0xe3, 0x8c, 0x84, //0x000061c0 .quad -8895485272135061476 + 0x09, 0x9b, 0xdb, 0xc3, 0x39, 0x4e, 0x44, 0xd6, //0x000061c8 .quad -3007192641170597111 + 0x11, 0x4e, 0x0b, 0x0c, 0x0c, 0x0e, 0xd8, 0xf2, //0x000061d0 .quad -947992276657025519 + 0xe5, 0x40, 0x69, 0x1a, 0xe4, 0xb0, 0xea, 0x85, //0x000061d8 .quad -8797024428372705051 + 0x95, 0x21, 0x0e, 0x0f, 0x8f, 0x11, 0x8e, 0x6f, //0x000061e0 .quad 8038381691033493909 + 0x1f, 0x91, 0x03, 0x21, 0x1d, 0x5d, 0x65, 0xa7, //0x000061e8 .quad -6384594517038493409 + 0xfb, 0xa9, 0xd1, 0xd2, 0xf2, 0x95, 0x71, 0x4b, //0x000061f0 .quad 5436291095364479483 + 0x67, 0x75, 0x44, 0x69, 0x64, 0xb4, 0x3e, 0xd1, //0x000061f8 .quad -3369057127870728857 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006200 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x00006210 .p2align 4, 0x00 + //0x00006210 _POW_TAB + 0x01, 0x00, 0x00, 0x00, //0x00006210 .long 1 + 0x03, 0x00, 0x00, 0x00, //0x00006214 .long 3 + 0x06, 0x00, 0x00, 0x00, //0x00006218 .long 6 + 0x09, 0x00, 0x00, 0x00, //0x0000621c .long 9 + 0x0d, 0x00, 0x00, 0x00, //0x00006220 .long 13 + 0x10, 0x00, 0x00, 0x00, //0x00006224 .long 16 + 0x13, 0x00, 0x00, 0x00, //0x00006228 .long 19 + 0x17, 0x00, 0x00, 0x00, //0x0000622c .long 23 + 0x1a, 0x00, 0x00, 0x00, //0x00006230 .long 26 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006234 .p2align 4, 0x00 + //0x00006240 _LSHIFT_TAB + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006240 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006250 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006260 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006270 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006280 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006290 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062a0 QUAD $0x0000000000000000 // .space 8, '\x00\x00\x00\x00\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x000062a8 .long 1 + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062ac QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000630c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x00006310 .long 1 + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006314 QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006324 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006334 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006344 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006354 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006364 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006374 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x00006378 .long 1 + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000637c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000638c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000639c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000063dc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x000063e0 .long 2 + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063e4 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006404 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006414 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006424 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006434 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006444 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x00006448 .long 2 + 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000644c QUAD $0x0000000035323133; QUAD $0x0000000000000000 // .asciz 16, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000645c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000646c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000647c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000648c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000649c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000064ac LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x000064b0 .long 2 + 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064b4 QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006504 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006514 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x00006518 .long 3 + 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000651c QUAD $0x0000003532313837; QUAD $0x0000000000000000 // .asciz 16, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000652c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000653c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000654c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000655c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000656c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000657c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x00006580 .long 3 + 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006584 QUAD $0x0000353236303933; QUAD $0x0000000000000000 // .asciz 16, '390625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006594 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000065e4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x000065e8 .long 3 + 0x31, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065ec QUAD $0x0035323133353931; QUAD $0x0000000000000000 // .asciz 16, '1953125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000660c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000661c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000662c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000663c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000664c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00006650 .long 4 + 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006654 QUAD $0x0035323635363739; QUAD $0x0000000000000000 // .asciz 16, '9765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006664 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006674 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006684 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006694 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000066b4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x000066b8 .long 4 + 0x34, 0x38, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066bc QUAD $0x3532313832383834; QUAD $0x0000000000000000 // .asciz 16, '48828125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000670c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000671c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00006720 .long 4 + 0x32, 0x34, 0x34, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006724 QUAD $0x3236303431343432; QUAD $0x0000000000000035 // .asciz 16, '244140625\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006734 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006744 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006754 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006764 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006774 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006784 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00006788 .long 4 + 0x31, 0x32, 0x32, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000678c QUAD $0x3133303730323231; QUAD $0x0000000000003532 // .asciz 16, '1220703125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000679c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000067ec LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x000067f0 .long 5 + 0x36, 0x31, 0x30, 0x33, 0x35, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067f4 QUAD $0x3635313533303136; QUAD $0x0000000000003532 // .asciz 16, '6103515625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006804 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006814 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006824 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006834 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006844 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006854 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x00006858 .long 5 + 0x33, 0x30, 0x35, 0x31, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000685c QUAD $0x3837353731353033; QUAD $0x0000000000353231 // .asciz 16, '30517578125\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000686c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000687c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000688c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000689c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000068bc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x000068c0 .long 5 + 0x31, 0x35, 0x32, 0x35, 0x38, 0x37, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x000068c4 QUAD $0x3938373835323531; QUAD $0x0000000035323630 // .asciz 16, '152587890625\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000068f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006904 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006914 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006924 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00006928 .long 6 + 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x0000692c QUAD $0x3534393339323637; QUAD $0x0000000035323133 // .asciz 16, '762939453125\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000693c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000694c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000695c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000696c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000697c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000698c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00006990 .long 6 + 0x33, 0x38, 0x31, 0x34, 0x36, 0x39, 0x37, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, //0x00006994 QUAD $0x3237393634313833; QUAD $0x0000003532363536 // .asciz 16, '3814697265625\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000069e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000069f4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x000069f8 .long 6 + 0x31, 0x39, 0x30, 0x37, 0x33, 0x34, 0x38, 0x36, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, //0x000069fc QUAD $0x3638343337303931; QUAD $0x0000353231383233 // .asciz 16, '19073486328125\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a3c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006a5c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00006a60 .long 7 + 0x39, 0x35, 0x33, 0x36, 0x37, 0x34, 0x33, 0x31, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, //0x00006a64 QUAD $0x3133343736333539; QUAD $0x0000353236303436 // .asciz 16, '95367431640625\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006a94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006aa4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ab4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006ac4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00006ac8 .long 7 + 0x34, 0x37, 0x36, 0x38, 0x33, 0x37, 0x31, 0x35, 0x38, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, //0x00006acc QUAD $0x3531373338363734; QUAD $0x0035323133303238 // .asciz 16, '476837158203125\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006adc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006aec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006afc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006b2c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00006b30 .long 7 + 0x32, 0x33, 0x38, 0x34, 0x31, 0x38, 0x35, 0x37, 0x39, 0x31, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, //0x00006b34 QUAD $0x3735383134383332; QUAD $0x3532363531303139 // .asciz 16, '2384185791015625' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006b84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006b94 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00006b98 .long 7 + 0x31, 0x31, 0x39, 0x32, 0x30, 0x39, 0x32, 0x38, 0x39, 0x35, 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, //0x00006b9c QUAD $0x3832393032393131; QUAD $0x3231383730353539 // .asciz 16, '1192092895507812' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bac QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bbc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bcc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bdc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006bec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006bfc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00006c00 .long 8 + 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, //0x00006c04 QUAD $0x3434363430363935; QUAD $0x3236303933353737 // .asciz 16, '5960464477539062' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c14 QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c34 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006c64 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00006c68 .long 8 + 0x32, 0x39, 0x38, 0x30, 0x32, 0x33, 0x32, 0x32, 0x33, 0x38, 0x37, 0x36, 0x39, 0x35, 0x33, 0x31, //0x00006c6c QUAD $0x3232333230383932; QUAD $0x3133353936373833 // .asciz 16, '2980232238769531' + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c7c QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006c9c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006cac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006cbc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006ccc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00006cd0 .long 8 + 0x31, 0x34, 0x39, 0x30, 0x31, 0x31, 0x36, 0x31, 0x31, 0x39, 0x33, 0x38, 0x34, 0x37, 0x36, 0x35, //0x00006cd4 QUAD $0x3136313130393431; QUAD $0x3536373438333931 // .asciz 16, '1490116119384765' + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ce4 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006cf4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006d34 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00006d38 .long 9 + 0x37, 0x34, 0x35, 0x30, 0x35, 0x38, 0x30, 0x35, 0x39, 0x36, 0x39, 0x32, 0x33, 0x38, 0x32, 0x38, //0x00006d3c QUAD $0x3530383530353437; QUAD $0x3832383332393639 // .asciz 16, '7450580596923828' + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d4c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d7c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006d8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006d9c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00006da0 .long 9 + 0x33, 0x37, 0x32, 0x35, 0x32, 0x39, 0x30, 0x32, 0x39, 0x38, 0x34, 0x36, 0x31, 0x39, 0x31, 0x34, //0x00006da4 QUAD $0x3230393235323733; QUAD $0x3431393136343839 // .asciz 16, '3725290298461914' + 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006db4 QUAD $0x0000000035323630; QUAD $0x0000000000000000 // .asciz 16, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006dc4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006dd4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006de4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006df4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006e04 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00006e08 .long 9 + 0x31, 0x38, 0x36, 0x32, 0x36, 0x34, 0x35, 0x31, 0x34, 0x39, 0x32, 0x33, 0x30, 0x39, 0x35, 0x37, //0x00006e0c QUAD $0x3135343632363831; QUAD $0x3735393033323934 // .asciz 16, '1862645149230957' + 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e1c QUAD $0x0000003532313330; QUAD $0x0000000000000000 // .asciz 16, '03125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e3c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006e6c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00006e70 .long 10 + 0x39, 0x33, 0x31, 0x33, 0x32, 0x32, 0x35, 0x37, 0x34, 0x36, 0x31, 0x35, 0x34, 0x37, 0x38, 0x35, //0x00006e74 QUAD $0x3735323233313339; QUAD $0x3538373435313634 // .asciz 16, '9313225746154785' + 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e84 QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006e94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ea4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006eb4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ec4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006ed4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00006ed8 .long 10 + 0x34, 0x36, 0x35, 0x36, 0x36, 0x31, 0x32, 0x38, 0x37, 0x33, 0x30, 0x37, 0x37, 0x33, 0x39, 0x32, //0x00006edc QUAD $0x3832313636353634; QUAD $0x3239333737303337 // .asciz 16, '4656612873077392' + 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006eec QUAD $0x0000353231383735; QUAD $0x0000000000000000 // .asciz 16, '578125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006efc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006f3c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00006f40 .long 10 + 0x32, 0x33, 0x32, 0x38, 0x33, 0x30, 0x36, 0x34, 0x33, 0x36, 0x35, 0x33, 0x38, 0x36, 0x39, 0x36, //0x00006f44 QUAD $0x3436303338323332; QUAD $0x3639363833353633 // .asciz 16, '2328306436538696' + 0x32, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f54 QUAD $0x0035323630393832; QUAD $0x0000000000000000 // .asciz 16, '2890625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006f94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006fa4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00006fa8 .long 10 + 0x31, 0x31, 0x36, 0x34, 0x31, 0x35, 0x33, 0x32, 0x31, 0x38, 0x32, 0x36, 0x39, 0x33, 0x34, 0x38, //0x00006fac QUAD $0x3233353134363131; QUAD $0x3834333936323831 // .asciz 16, '1164153218269348' + 0x31, 0x34, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006fbc QUAD $0x3532313335343431; QUAD $0x0000000000000000 // .asciz 16, '14453125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006fcc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006fdc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006fec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006ffc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000700c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00007010 .long 11 + 0x35, 0x38, 0x32, 0x30, 0x37, 0x36, 0x36, 0x30, 0x39, 0x31, 0x33, 0x34, 0x36, 0x37, 0x34, 0x30, //0x00007014 QUAD $0x3036363730323835; QUAD $0x3034373634333139 // .asciz 16, '5820766091346740' + 0x37, 0x32, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007024 QUAD $0x3532363536323237; QUAD $0x0000000000000000 // .asciz 16, '72265625\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007034 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007044 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007054 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007064 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007074 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00007078 .long 11 + 0x32, 0x39, 0x31, 0x30, 0x33, 0x38, 0x33, 0x30, 0x34, 0x35, 0x36, 0x37, 0x33, 0x33, 0x37, 0x30, //0x0000707c QUAD $0x3033383330313932; QUAD $0x3037333337363534 // .asciz 16, '2910383045673370' + 0x33, 0x36, 0x31, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000708c QUAD $0x3231383233313633; QUAD $0x0000000000000035 // .asciz 16, '361328125\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000709c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000070ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000070bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000070cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000070dc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x000070e0 .long 11 + 0x31, 0x34, 0x35, 0x35, 0x31, 0x39, 0x31, 0x35, 0x32, 0x32, 0x38, 0x33, 0x36, 0x36, 0x38, 0x35, //0x000070e4 QUAD $0x3531393135353431; QUAD $0x3538363633383232 // .asciz 16, '1455191522836685' + 0x31, 0x38, 0x30, 0x36, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000070f4 QUAD $0x3630343636303831; QUAD $0x0000000000003532 // .asciz 16, '1806640625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007104 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007114 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007124 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007134 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007144 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00007148 .long 12 + 0x37, 0x32, 0x37, 0x35, 0x39, 0x35, 0x37, 0x36, 0x31, 0x34, 0x31, 0x38, 0x33, 0x34, 0x32, 0x35, //0x0000714c QUAD $0x3637353935373237; QUAD $0x3532343338313431 // .asciz 16, '7275957614183425' + 0x39, 0x30, 0x33, 0x33, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000715c QUAD $0x3133303233333039; QUAD $0x0000000000003532 // .asciz 16, '9033203125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000716c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000717c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000718c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000719c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000071ac LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x000071b0 .long 12 + 0x33, 0x36, 0x33, 0x37, 0x39, 0x37, 0x38, 0x38, 0x30, 0x37, 0x30, 0x39, 0x31, 0x37, 0x31, 0x32, //0x000071b4 QUAD $0x3838373937333633; QUAD $0x3231373139303730 // .asciz 16, '3637978807091712' + 0x39, 0x35, 0x31, 0x36, 0x36, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071c4 QUAD $0x3531303636313539; QUAD $0x0000000000353236 // .asciz 16, '95166015625\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000071f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007204 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007214 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00007218 .long 12 + 0x31, 0x38, 0x31, 0x38, 0x39, 0x38, 0x39, 0x34, 0x30, 0x33, 0x35, 0x34, 0x35, 0x38, 0x35, 0x36, //0x0000721c QUAD $0x3439383938313831; QUAD $0x3635383534353330 // .asciz 16, '1818989403545856' + 0x34, 0x37, 0x35, 0x38, 0x33, 0x30, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x0000722c QUAD $0x3730303338353734; QUAD $0x0000000035323138 // .asciz 16, '475830078125\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000723c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000724c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000725c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000726c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000727c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00007280 .long 13 + 0x39, 0x30, 0x39, 0x34, 0x39, 0x34, 0x37, 0x30, 0x31, 0x37, 0x37, 0x32, 0x39, 0x32, 0x38, 0x32, //0x00007284 QUAD $0x3037343934393039; QUAD $0x3238323932373731 // .asciz 16, '9094947017729282' + 0x33, 0x37, 0x39, 0x31, 0x35, 0x30, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x00007294 QUAD $0x3933303531393733; QUAD $0x0000000035323630 // .asciz 16, '379150390625\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000072d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000072e4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x000072e8 .long 13 + 0x34, 0x35, 0x34, 0x37, 0x34, 0x37, 0x33, 0x35, 0x30, 0x38, 0x38, 0x36, 0x34, 0x36, 0x34, 0x31, //0x000072ec QUAD $0x3533373437343534; QUAD $0x3134363436383830 // .asciz 16, '4547473508864641' + 0x31, 0x38, 0x39, 0x35, 0x37, 0x35, 0x31, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, //0x000072fc QUAD $0x3931353735393831; QUAD $0x0000003532313335 // .asciz 16, '1895751953125\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000730c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000731c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000732c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000733c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000734c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00007350 .long 13 + 0x32, 0x32, 0x37, 0x33, 0x37, 0x33, 0x36, 0x37, 0x35, 0x34, 0x34, 0x33, 0x32, 0x33, 0x32, 0x30, //0x00007354 QUAD $0x3736333733373232; QUAD $0x3032333233343435 // .asciz 16, '2273736754432320' + 0x35, 0x39, 0x34, 0x37, 0x38, 0x37, 0x35, 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, //0x00007364 QUAD $0x3935373837343935; QUAD $0x0000353236353637 // .asciz 16, '59478759765625\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007374 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007384 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007394 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000073a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000073b4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x000073b8 .long 13 + 0x31, 0x31, 0x33, 0x36, 0x38, 0x36, 0x38, 0x33, 0x37, 0x37, 0x32, 0x31, 0x36, 0x31, 0x36, 0x30, //0x000073bc QUAD $0x3338363836333131; QUAD $0x3036313631323737 // .asciz 16, '1136868377216160' + 0x32, 0x39, 0x37, 0x33, 0x39, 0x33, 0x37, 0x39, 0x38, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, //0x000073cc QUAD $0x3937333933373932; QUAD $0x0035323138323838 // .asciz 16, '297393798828125\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000073dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000073ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000073fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000740c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000741c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x00007420 .long 14 + 0x35, 0x36, 0x38, 0x34, 0x33, 0x34, 0x31, 0x38, 0x38, 0x36, 0x30, 0x38, 0x30, 0x38, 0x30, 0x31, //0x00007424 QUAD $0x3831343334383635; QUAD $0x3130383038303638 // .asciz 16, '5684341886080801' + 0x34, 0x38, 0x36, 0x39, 0x36, 0x38, 0x39, 0x39, 0x34, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, //0x00007434 QUAD $0x3939383639363834; QUAD $0x0035323630343134 // .asciz 16, '486968994140625\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007444 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007454 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007464 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007474 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007484 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x00007488 .long 14 + 0x32, 0x38, 0x34, 0x32, 0x31, 0x37, 0x30, 0x39, 0x34, 0x33, 0x30, 0x34, 0x30, 0x34, 0x30, 0x30, //0x0000748c QUAD $0x3930373132343832; QUAD $0x3030343034303334 // .asciz 16, '2842170943040400' + 0x37, 0x34, 0x33, 0x34, 0x38, 0x34, 0x34, 0x39, 0x37, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, //0x0000749c QUAD $0x3934343834333437; QUAD $0x3532313330373037 // .asciz 16, '7434844970703125' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000074ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000074bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000074cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000074dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000074ec LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x000074f0 .long 14 + 0x31, 0x34, 0x32, 0x31, 0x30, 0x38, 0x35, 0x34, 0x37, 0x31, 0x35, 0x32, 0x30, 0x32, 0x30, 0x30, //0x000074f4 QUAD $0x3435383031323431; QUAD $0x3030323032353137 // .asciz 16, '1421085471520200' + 0x33, 0x37, 0x31, 0x37, 0x34, 0x32, 0x32, 0x34, 0x38, 0x35, 0x33, 0x35, 0x31, 0x35, 0x36, 0x32, //0x00007504 QUAD $0x3432323437313733; QUAD $0x3236353135333538 // .asciz 16, '3717422485351562' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007514 QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007524 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007534 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007544 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007554 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00007558 .long 15 + 0x37, 0x31, 0x30, 0x35, 0x34, 0x32, 0x37, 0x33, 0x35, 0x37, 0x36, 0x30, 0x31, 0x30, 0x30, 0x31, //0x0000755c QUAD $0x3337323435303137; QUAD $0x3130303130363735 // .asciz 16, '7105427357601001' + 0x38, 0x35, 0x38, 0x37, 0x31, 0x31, 0x32, 0x34, 0x32, 0x36, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, //0x0000756c QUAD $0x3432313137383538; QUAD $0x3231383735373632 // .asciz 16, '8587112426757812' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000757c QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000758c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000759c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000075ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000075bc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x000075c0 .long 15 + 0x33, 0x35, 0x35, 0x32, 0x37, 0x31, 0x33, 0x36, 0x37, 0x38, 0x38, 0x30, 0x30, 0x35, 0x30, 0x30, //0x000075c4 QUAD $0x3633313732353533; QUAD $0x3030353030383837 // .asciz 16, '3552713678800500' + 0x39, 0x32, 0x39, 0x33, 0x35, 0x35, 0x36, 0x32, 0x31, 0x33, 0x33, 0x37, 0x38, 0x39, 0x30, 0x36, //0x000075d4 QUAD $0x3236353533393239; QUAD $0x3630393837333331 // .asciz 16, '9293556213378906' + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000075e4 QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000075f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007604 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007614 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007624 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00007628 .long 15 + 0x31, 0x37, 0x37, 0x36, 0x33, 0x35, 0x36, 0x38, 0x33, 0x39, 0x34, 0x30, 0x30, 0x32, 0x35, 0x30, //0x0000762c QUAD $0x3836353336373731; QUAD $0x3035323030343933 // .asciz 16, '1776356839400250' + 0x34, 0x36, 0x34, 0x36, 0x37, 0x37, 0x38, 0x31, 0x30, 0x36, 0x36, 0x38, 0x39, 0x34, 0x35, 0x33, //0x0000763c QUAD $0x3138373736343634; QUAD $0x3335343938363630 // .asciz 16, '4646778106689453' + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000764c QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000765c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000766c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000767c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000768c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00007690 .long 16 + 0x38, 0x38, 0x38, 0x31, 0x37, 0x38, 0x34, 0x31, 0x39, 0x37, 0x30, 0x30, 0x31, 0x32, 0x35, 0x32, //0x00007694 QUAD $0x3134383731383838; QUAD $0x3235323130303739 // .asciz 16, '8881784197001252' + 0x33, 0x32, 0x33, 0x33, 0x38, 0x39, 0x30, 0x35, 0x33, 0x33, 0x34, 0x34, 0x37, 0x32, 0x36, 0x35, //0x000076a4 QUAD $0x3530393833333233; QUAD $0x3536323734343333 // .asciz 16, '3233890533447265' + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000076b4 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000076c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000076d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000076e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000076f4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x000076f8 .long 16 + 0x34, 0x34, 0x34, 0x30, 0x38, 0x39, 0x32, 0x30, 0x39, 0x38, 0x35, 0x30, 0x30, 0x36, 0x32, 0x36, //0x000076fc QUAD $0x3032393830343434; QUAD $0x3632363030353839 // .asciz 16, '4440892098500626' + 0x31, 0x36, 0x31, 0x36, 0x39, 0x34, 0x35, 0x32, 0x36, 0x36, 0x37, 0x32, 0x33, 0x36, 0x33, 0x32, //0x0000770c QUAD $0x3235343936313631; QUAD $0x3233363332373636 // .asciz 16, '1616945266723632' + 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000771c QUAD $0x0000000035323138; QUAD $0x0000000000000000 // .asciz 16, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000772c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000773c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000774c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000775c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00007760 .long 16 + 0x32, 0x32, 0x32, 0x30, 0x34, 0x34, 0x36, 0x30, 0x34, 0x39, 0x32, 0x35, 0x30, 0x33, 0x31, 0x33, //0x00007764 QUAD $0x3036343430323232; QUAD $0x3331333035323934 // .asciz 16, '2220446049250313' + 0x30, 0x38, 0x30, 0x38, 0x34, 0x37, 0x32, 0x36, 0x33, 0x33, 0x33, 0x36, 0x31, 0x38, 0x31, 0x36, //0x00007774 QUAD $0x3632373438303830; QUAD $0x3631383136333333 // .asciz 16, '0808472633361816' + 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007784 QUAD $0x0000003532363034; QUAD $0x0000000000000000 // .asciz 16, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007794 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000077a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000077b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000077c4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x000077c8 .long 16 + 0x31, 0x31, 0x31, 0x30, 0x32, 0x32, 0x33, 0x30, 0x32, 0x34, 0x36, 0x32, 0x35, 0x31, 0x35, 0x36, //0x000077cc QUAD $0x3033323230313131; QUAD $0x3635313532363432 // .asciz 16, '1110223024625156' + 0x35, 0x34, 0x30, 0x34, 0x32, 0x33, 0x36, 0x33, 0x31, 0x36, 0x36, 0x38, 0x30, 0x39, 0x30, 0x38, //0x000077dc QUAD $0x3336333234303435; QUAD $0x3830393038363631 // .asciz 16, '5404236316680908' + 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000077ec QUAD $0x0000353231333032; QUAD $0x0000000000000000 // .asciz 16, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000077fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000780c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000781c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000782c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00007830 .long 17 + 0x35, 0x35, 0x35, 0x31, 0x31, 0x31, 0x35, 0x31, 0x32, 0x33, 0x31, 0x32, 0x35, 0x37, 0x38, 0x32, //0x00007834 QUAD $0x3135313131353535; QUAD $0x3238373532313332 // .asciz 16, '5551115123125782' + 0x37, 0x30, 0x32, 0x31, 0x31, 0x38, 0x31, 0x35, 0x38, 0x33, 0x34, 0x30, 0x34, 0x35, 0x34, 0x31, //0x00007844 QUAD $0x3531383131323037; QUAD $0x3134353430343338 // .asciz 16, '7021181583404541' + 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007854 QUAD $0x0000353236353130; QUAD $0x0000000000000000 // .asciz 16, '015625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007864 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007874 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007884 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007894 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00007898 .long 17 + 0x32, 0x37, 0x37, 0x35, 0x35, 0x35, 0x37, 0x35, 0x36, 0x31, 0x35, 0x36, 0x32, 0x38, 0x39, 0x31, //0x0000789c QUAD $0x3537353535373732; QUAD $0x3139383236353136 // .asciz 16, '2775557561562891' + 0x33, 0x35, 0x31, 0x30, 0x35, 0x39, 0x30, 0x37, 0x39, 0x31, 0x37, 0x30, 0x32, 0x32, 0x37, 0x30, //0x000078ac QUAD $0x3730393530313533; QUAD $0x3037323230373139 // .asciz 16, '3510590791702270' + 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000078bc QUAD $0x0035323138373035; QUAD $0x0000000000000000 // .asciz 16, '5078125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000078cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000078dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000078ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000078fc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00007900 .long 17 + 0x31, 0x33, 0x38, 0x37, 0x37, 0x37, 0x38, 0x37, 0x38, 0x30, 0x37, 0x38, 0x31, 0x34, 0x34, 0x35, //0x00007904 QUAD $0x3738373737383331; QUAD $0x3534343138373038 // .asciz 16, '1387778780781445' + 0x36, 0x37, 0x35, 0x35, 0x32, 0x39, 0x35, 0x33, 0x39, 0x35, 0x38, 0x35, 0x31, 0x31, 0x33, 0x35, //0x00007914 QUAD $0x3335393235353736; QUAD $0x3533313135383539 // .asciz 16, '6755295395851135' + 0x32, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007924 QUAD $0x3532363039333532; QUAD $0x0000000000000000 // .asciz 16, '25390625\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007934 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007944 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007954 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007964 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x00007968 .long 18 + 0x36, 0x39, 0x33, 0x38, 0x38, 0x39, 0x33, 0x39, 0x30, 0x33, 0x39, 0x30, 0x37, 0x32, 0x32, 0x38, //0x0000796c QUAD $0x3933393838333936; QUAD $0x3832323730393330 // .asciz 16, '6938893903907228' + 0x33, 0x37, 0x37, 0x36, 0x34, 0x37, 0x36, 0x39, 0x37, 0x39, 0x32, 0x35, 0x35, 0x36, 0x37, 0x36, //0x0000797c QUAD $0x3936373436373733; QUAD $0x3637363535323937 // .asciz 16, '3776476979255676' + 0x32, 0x36, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000798c QUAD $0x3532313335393632; QUAD $0x0000000000000000 // .asciz 16, '26953125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000799c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000079ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000079bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000079cc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x000079d0 .long 18 + 0x33, 0x34, 0x36, 0x39, 0x34, 0x34, 0x36, 0x39, 0x35, 0x31, 0x39, 0x35, 0x33, 0x36, 0x31, 0x34, //0x000079d4 QUAD $0x3936343439363433; QUAD $0x3431363335393135 // .asciz 16, '3469446951953614' + 0x31, 0x38, 0x38, 0x38, 0x32, 0x33, 0x38, 0x34, 0x38, 0x39, 0x36, 0x32, 0x37, 0x38, 0x33, 0x38, //0x000079e4 QUAD $0x3438333238383831; QUAD $0x3833383732363938 // .asciz 16, '1888238489627838' + 0x31, 0x33, 0x34, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000079f4 QUAD $0x3236353637343331; QUAD $0x0000000000000035 // .asciz 16, '134765625\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007a34 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x00007a38 .long 18 + 0x31, 0x37, 0x33, 0x34, 0x37, 0x32, 0x33, 0x34, 0x37, 0x35, 0x39, 0x37, 0x36, 0x38, 0x30, 0x37, //0x00007a3c QUAD $0x3433323734333731; QUAD $0x3730383637393537 // .asciz 16, '1734723475976807' + 0x30, 0x39, 0x34, 0x34, 0x31, 0x31, 0x39, 0x32, 0x34, 0x34, 0x38, 0x31, 0x33, 0x39, 0x31, 0x39, //0x00007a4c QUAD $0x3239313134343930; QUAD $0x3931393331383434 // .asciz 16, '0944119244813919' + 0x30, 0x36, 0x37, 0x33, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a5c QUAD $0x3138323833373630; QUAD $0x0000000000003532 // .asciz 16, '0673828125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a7c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007a8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007a9c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x13, 0x00, 0x00, 0x00, //0x00007aa0 .long 19 + 0x38, 0x36, 0x37, 0x33, 0x36, 0x31, 0x37, 0x33, 0x37, 0x39, 0x38, 0x38, 0x34, 0x30, 0x33, 0x35, //0x00007aa4 QUAD $0x3337313633373638; QUAD $0x3533303438383937 // .asciz 16, '8673617379884035' + 0x34, 0x37, 0x32, 0x30, 0x35, 0x39, 0x36, 0x32, 0x32, 0x34, 0x30, 0x36, 0x39, 0x35, 0x39, 0x35, //0x00007ab4 QUAD $0x3236393530323734; QUAD $0x3539353936303432 // .asciz 16, '4720596224069595' + 0x33, 0x33, 0x36, 0x39, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007ac4 QUAD $0x3630343139363333; QUAD $0x0000000000003532 // .asciz 16, '3369140625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007ad4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007ae4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00007af4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00007b04 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/vnumber.go b/vendor/github.com/bytedance/sonic/internal/native/sse/vnumber.go new file mode 100644 index 0000000..0e8045a --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/vnumber.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vnumber func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer) + +var S_vnumber uintptr + +//go:nosplit +func vnumber(s *string, p *int, v *types.JsonState) { + F_vnumber(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/vnumber_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/vnumber_subr.go new file mode 100644 index 0000000..0b75247 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/vnumber_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__vnumber = 48 +) + +const ( + _stack__vnumber = 112 +) + +const ( + _size__vnumber = 8952 +) + +var ( + _pcsp__vnumber = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {767, 112}, + {771, 48}, + {772, 40}, + {774, 32}, + {776, 24}, + {778, 16}, + {780, 8}, + {781, 0}, + {8949, 112}, + } +) + +var _cfunc_vnumber = []loader.CFunc{ + {"_vnumber_entry", 0, _entry__vnumber, 0, nil}, + {"_vnumber", _entry__vnumber, _size__vnumber, _stack__vnumber, _pcsp__vnumber}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/vnumber_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/vnumber_text_amd64.go new file mode 100644 index 0000000..b89b387 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/vnumber_text_amd64.go @@ -0,0 +1,4378 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_vnumber = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x00, 0x00, 0x30, 0x43, // .long 1127219200 + 0x00, 0x00, 0x30, 0x45, //0x00000004 .long 1160773632 + 0x00, 0x00, 0x00, 0x00, //0x00000008 .long 0 + 0x00, 0x00, 0x00, 0x00, //0x0000000c .long 0 + //0x00000010 LCPI0_1 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x43, //0x00000010 .quad 4841369599423283200 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x45, //0x00000018 .quad 4985484787499139072 + //0x00000020 .p2align 3, 0x00 + //0x00000020 LCPI0_2 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0x43, //0x00000020 .quad 4831355200913801216 + //0x00000028 LCPI0_3 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0xc3, //0x00000028 .quad -4392016835940974592 + //0x00000030 .p2align 4, 0x90 + //0x00000030 _vnumber + 0x55, //0x00000030 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000031 movq %rsp, %rbp + 0x41, 0x57, //0x00000034 pushq %r15 + 0x41, 0x56, //0x00000036 pushq %r14 + 0x41, 0x55, //0x00000038 pushq %r13 + 0x41, 0x54, //0x0000003a pushq %r12 + 0x53, //0x0000003c pushq %rbx + 0x48, 0x83, 0xec, 0x40, //0x0000003d subq $64, %rsp + 0x49, 0x89, 0xd6, //0x00000041 movq %rdx, %r14 + 0x4c, 0x8b, 0x07, //0x00000044 movq (%rdi), %r8 + 0x4c, 0x8b, 0x5f, 0x08, //0x00000047 movq $8(%rdi), %r11 + 0x48, 0x8b, 0x06, //0x0000004b movq (%rsi), %rax + 0x4c, 0x8b, 0x62, 0x20, //0x0000004e movq $32(%rdx), %r12 + 0x4c, 0x8b, 0x6a, 0x28, //0x00000052 movq $40(%rdx), %r13 + 0x48, 0xc7, 0x02, 0x09, 0x00, 0x00, 0x00, //0x00000056 movq $9, (%rdx) + 0x48, 0xc7, 0x42, 0x08, 0x00, 0x00, 0x00, 0x00, //0x0000005d movq $0, $8(%rdx) + 0x48, 0xc7, 0x42, 0x10, 0x00, 0x00, 0x00, 0x00, //0x00000065 movq $0, $16(%rdx) + 0x48, 0x8b, 0x0e, //0x0000006d movq (%rsi), %rcx + 0x48, 0x89, 0x4a, 0x18, //0x00000070 movq %rcx, $24(%rdx) + 0x4c, 0x39, 0xd8, //0x00000074 cmpq %r11, %rax + 0x0f, 0x83, 0xa8, 0x02, 0x00, 0x00, //0x00000077 jae LBB0_50 + 0x41, 0x8a, 0x14, 0x00, //0x0000007d movb (%r8,%rax), %dl + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000081 movl $1, %r9d + 0x80, 0xfa, 0x2d, //0x00000087 cmpb $45, %dl + 0x0f, 0x85, 0x16, 0x00, 0x00, 0x00, //0x0000008a jne LBB0_4 + 0x48, 0xff, 0xc0, //0x00000090 incq %rax + 0x4c, 0x39, 0xd8, //0x00000093 cmpq %r11, %rax + 0x0f, 0x83, 0x89, 0x02, 0x00, 0x00, //0x00000096 jae LBB0_50 + 0x41, 0x8a, 0x14, 0x00, //0x0000009c movb (%r8,%rax), %dl + 0x41, 0xb9, 0xff, 0xff, 0xff, 0xff, //0x000000a0 movl $-1, %r9d + //0x000000a6 LBB0_4 + 0x8d, 0x4a, 0xd0, //0x000000a6 leal $-48(%rdx), %ecx + 0x80, 0xf9, 0x0a, //0x000000a9 cmpb $10, %cl + 0x0f, 0x82, 0x0f, 0x00, 0x00, 0x00, //0x000000ac jb LBB0_6 + //0x000000b2 LBB0_5 + 0x48, 0x89, 0x06, //0x000000b2 movq %rax, (%rsi) + 0x49, 0xc7, 0x06, 0xfe, 0xff, 0xff, 0xff, //0x000000b5 movq $-2, (%r14) + 0xe9, 0x6e, 0x02, 0x00, 0x00, //0x000000bc jmp LBB0_51 + //0x000000c1 LBB0_6 + 0x80, 0xfa, 0x30, //0x000000c1 cmpb $48, %dl + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x000000c4 jne LBB0_10 + 0x48, 0x8d, 0x48, 0x01, //0x000000ca leaq $1(%rax), %rcx + 0x4c, 0x39, 0xd8, //0x000000ce cmpq %r11, %rax + 0x0f, 0x83, 0xd4, 0x00, 0x00, 0x00, //0x000000d1 jae LBB0_21 + 0x41, 0x8a, 0x1c, 0x08, //0x000000d7 movb (%r8,%rcx), %bl + 0x80, 0xc3, 0xd2, //0x000000db addb $-46, %bl + 0x80, 0xfb, 0x37, //0x000000de cmpb $55, %bl + 0x0f, 0x87, 0xc4, 0x00, 0x00, 0x00, //0x000000e1 ja LBB0_21 + 0x0f, 0xb6, 0xfb, //0x000000e7 movzbl %bl, %edi + 0x48, 0xbb, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000000ea movabsq $36028797027352577, %rbx + 0x48, 0x0f, 0xa3, 0xfb, //0x000000f4 btq %rdi, %rbx + 0x0f, 0x83, 0xad, 0x00, 0x00, 0x00, //0x000000f8 jae LBB0_21 + //0x000000fe LBB0_10 + 0x4c, 0x39, 0xd8, //0x000000fe cmpq %r11, %rax + 0x0f, 0x83, 0x98, 0x00, 0x00, 0x00, //0x00000101 jae LBB0_20 + 0x48, 0xff, 0xc0, //0x00000107 incq %rax + 0x31, 0xc9, //0x0000010a xorl %ecx, %ecx + 0x31, 0xdb, //0x0000010c xorl %ebx, %ebx + 0x45, 0x31, 0xff, //0x0000010e xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000111 .p2align 4, 0x90 + //0x00000120 LBB0_12 + 0x83, 0xfb, 0x12, //0x00000120 cmpl $18, %ebx + 0x0f, 0x8f, 0x17, 0x00, 0x00, 0x00, //0x00000123 jg LBB0_14 + 0x0f, 0xb6, 0xd2, //0x00000129 movzbl %dl, %edx + 0x4b, 0x8d, 0x3c, 0xbf, //0x0000012c leaq (%r15,%r15,4), %rdi + 0x4c, 0x8d, 0x7c, 0x7a, 0xd0, //0x00000130 leaq $-48(%rdx,%rdi,2), %r15 + 0xff, 0xc3, //0x00000135 incl %ebx + 0xe9, 0x06, 0x00, 0x00, 0x00, //0x00000137 jmp LBB0_15 + 0x90, 0x90, 0x90, 0x90, //0x0000013c .p2align 4, 0x90 + //0x00000140 LBB0_14 + 0xff, 0xc1, //0x00000140 incl %ecx + //0x00000142 LBB0_15 + 0x49, 0x39, 0xc3, //0x00000142 cmpq %rax, %r11 + 0x0f, 0x84, 0x68, 0x00, 0x00, 0x00, //0x00000145 je LBB0_22 + 0x41, 0x0f, 0xb6, 0x14, 0x00, //0x0000014b movzbl (%r8,%rax), %edx + 0x8d, 0x7a, 0xd0, //0x00000150 leal $-48(%rdx), %edi + 0x48, 0xff, 0xc0, //0x00000153 incq %rax + 0x40, 0x80, 0xff, 0x0a, //0x00000156 cmpb $10, %dil + 0x0f, 0x82, 0xc0, 0xff, 0xff, 0xff, //0x0000015a jb LBB0_12 + 0x31, 0xff, //0x00000160 xorl %edi, %edi + 0x85, 0xc9, //0x00000162 testl %ecx, %ecx + 0x40, 0x0f, 0x9f, 0xc7, //0x00000164 setg %dil + 0x80, 0xfa, 0x2e, //0x00000168 cmpb $46, %dl + 0x0f, 0x85, 0xde, 0x02, 0x00, 0x00, //0x0000016b jne LBB0_66 + 0x49, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, //0x00000171 movq $8, (%r14) + 0x4c, 0x39, 0xd8, //0x00000178 cmpq %r11, %rax + 0x0f, 0x83, 0xa4, 0x01, 0x00, 0x00, //0x0000017b jae LBB0_50 + 0x89, 0x7d, 0xc0, //0x00000181 movl %edi, $-64(%rbp) + 0x41, 0x8a, 0x14, 0x00, //0x00000184 movb (%r8,%rax), %dl + 0x80, 0xc2, 0xd0, //0x00000188 addb $-48, %dl + 0x41, 0xba, 0x08, 0x00, 0x00, 0x00, //0x0000018b movl $8, %r10d + 0x80, 0xfa, 0x0a, //0x00000191 cmpb $10, %dl + 0x0f, 0x83, 0x18, 0xff, 0xff, 0xff, //0x00000194 jae LBB0_5 + 0xe9, 0x27, 0x00, 0x00, 0x00, //0x0000019a jmp LBB0_24 + //0x0000019f LBB0_20 + 0x31, 0xc9, //0x0000019f xorl %ecx, %ecx + 0x31, 0xdb, //0x000001a1 xorl %ebx, %ebx + 0x45, 0x31, 0xff, //0x000001a3 xorl %r15d, %r15d + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x000001a6 jmp LBB0_23 + //0x000001ab LBB0_21 + 0x48, 0x89, 0x0e, //0x000001ab movq %rcx, (%rsi) + 0xe9, 0x7c, 0x01, 0x00, 0x00, //0x000001ae jmp LBB0_51 + //0x000001b3 LBB0_22 + 0x4c, 0x89, 0xd8, //0x000001b3 movq %r11, %rax + //0x000001b6 LBB0_23 + 0x31, 0xd2, //0x000001b6 xorl %edx, %edx + 0x85, 0xc9, //0x000001b8 testl %ecx, %ecx + 0x0f, 0x9f, 0xc2, //0x000001ba setg %dl + 0x89, 0x55, 0xc0, //0x000001bd movl %edx, $-64(%rbp) + 0x41, 0xba, 0x09, 0x00, 0x00, 0x00, //0x000001c0 movl $9, %r10d + //0x000001c6 LBB0_24 + 0x85, 0xc9, //0x000001c6 testl %ecx, %ecx + 0x44, 0x89, 0x4d, 0xc8, //0x000001c8 movl %r9d, $-56(%rbp) + 0x0f, 0x85, 0x58, 0x00, 0x00, 0x00, //0x000001cc jne LBB0_33 + //0x000001d2 LBB0_25 + 0x4d, 0x85, 0xff, //0x000001d2 testq %r15, %r15 + 0x0f, 0x85, 0x4f, 0x00, 0x00, 0x00, //0x000001d5 jne LBB0_33 + 0x4c, 0x39, 0xd8, //0x000001db cmpq %r11, %rax + 0x0f, 0x83, 0x3f, 0x00, 0x00, 0x00, //0x000001de jae LBB0_31 + 0x41, 0x89, 0xc1, //0x000001e4 movl %eax, %r9d + 0x45, 0x29, 0xd9, //0x000001e7 subl %r11d, %r9d + 0x31, 0xdb, //0x000001ea xorl %ebx, %ebx + 0x31, 0xc9, //0x000001ec xorl %ecx, %ecx + 0x90, 0x90, //0x000001ee .p2align 4, 0x90 + //0x000001f0 LBB0_28 + 0x41, 0x80, 0x3c, 0x00, 0x30, //0x000001f0 cmpb $48, (%r8,%rax) + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000001f5 jne LBB0_32 + 0x48, 0xff, 0xc0, //0x000001fb incq %rax + 0xff, 0xc9, //0x000001fe decl %ecx + 0x49, 0x39, 0xc3, //0x00000200 cmpq %rax, %r11 + 0x0f, 0x85, 0xe7, 0xff, 0xff, 0xff, //0x00000203 jne LBB0_28 + 0x45, 0x31, 0xff, //0x00000209 xorl %r15d, %r15d + 0x41, 0x83, 0xfa, 0x09, //0x0000020c cmpl $9, %r10d + 0x48, 0x89, 0x75, 0xa0, //0x00000210 movq %rsi, $-96(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x00000214 movq %r11, $-88(%rbp) + 0x0f, 0x84, 0x38, 0x01, 0x00, 0x00, //0x00000218 je LBB0_53 + 0xe9, 0x69, 0x01, 0x00, 0x00, //0x0000021e jmp LBB0_57 + //0x00000223 LBB0_31 + 0x31, 0xc9, //0x00000223 xorl %ecx, %ecx + 0x31, 0xdb, //0x00000225 xorl %ebx, %ebx + //0x00000227 LBB0_32 + 0x45, 0x31, 0xff, //0x00000227 xorl %r15d, %r15d + //0x0000022a LBB0_33 + 0x4c, 0x39, 0xd8, //0x0000022a cmpq %r11, %rax + 0x0f, 0x83, 0x41, 0x00, 0x00, 0x00, //0x0000022d jae LBB0_38 + 0x83, 0xfb, 0x12, //0x00000233 cmpl $18, %ebx + 0x0f, 0x8f, 0x38, 0x00, 0x00, 0x00, //0x00000236 jg LBB0_38 + 0x90, 0x90, 0x90, 0x90, //0x0000023c .p2align 4, 0x90 + //0x00000240 LBB0_35 + 0x41, 0x0f, 0xb6, 0x14, 0x00, //0x00000240 movzbl (%r8,%rax), %edx + 0x8d, 0x7a, 0xd0, //0x00000245 leal $-48(%rdx), %edi + 0x40, 0x80, 0xff, 0x09, //0x00000248 cmpb $9, %dil + 0x0f, 0x87, 0x22, 0x00, 0x00, 0x00, //0x0000024c ja LBB0_38 + 0x4b, 0x8d, 0x3c, 0xbf, //0x00000252 leaq (%r15,%r15,4), %rdi + 0x4c, 0x8d, 0x7c, 0x7a, 0xd0, //0x00000256 leaq $-48(%rdx,%rdi,2), %r15 + 0xff, 0xc9, //0x0000025b decl %ecx + 0x48, 0xff, 0xc0, //0x0000025d incq %rax + 0x83, 0xfb, 0x11, //0x00000260 cmpl $17, %ebx + 0x0f, 0x8f, 0x0b, 0x00, 0x00, 0x00, //0x00000263 jg LBB0_38 + 0xff, 0xc3, //0x00000269 incl %ebx + 0x4c, 0x39, 0xd8, //0x0000026b cmpq %r11, %rax + 0x0f, 0x82, 0xcc, 0xff, 0xff, 0xff, //0x0000026e jb LBB0_35 + //0x00000274 LBB0_38 + 0x4c, 0x39, 0xd8, //0x00000274 cmpq %r11, %rax + 0x0f, 0x83, 0xc1, 0x00, 0x00, 0x00, //0x00000277 jae LBB0_52 + 0x41, 0x8a, 0x1c, 0x00, //0x0000027d movb (%r8,%rax), %bl + 0x8d, 0x53, 0xd0, //0x00000281 leal $-48(%rbx), %edx + 0x80, 0xfa, 0x09, //0x00000284 cmpb $9, %dl + 0x0f, 0x87, 0x39, 0x00, 0x00, 0x00, //0x00000287 ja LBB0_44 + 0x49, 0x8d, 0x53, 0xff, //0x0000028d leaq $-1(%r11), %rdx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000291 .p2align 4, 0x90 + //0x000002a0 LBB0_41 + 0x48, 0x39, 0xc2, //0x000002a0 cmpq %rax, %rdx + 0x0f, 0x84, 0xc3, 0x01, 0x00, 0x00, //0x000002a3 je LBB0_67 + 0x41, 0x0f, 0xb6, 0x5c, 0x00, 0x01, //0x000002a9 movzbl $1(%r8,%rax), %ebx + 0x48, 0xff, 0xc0, //0x000002af incq %rax + 0x8d, 0x7b, 0xd0, //0x000002b2 leal $-48(%rbx), %edi + 0x40, 0x80, 0xff, 0x09, //0x000002b5 cmpb $9, %dil + 0x0f, 0x86, 0xe1, 0xff, 0xff, 0xff, //0x000002b9 jbe LBB0_41 + 0xc7, 0x45, 0xc0, 0x01, 0x00, 0x00, 0x00, //0x000002bf movl $1, $-64(%rbp) + //0x000002c6 LBB0_44 + 0x80, 0xcb, 0x20, //0x000002c6 orb $32, %bl + 0x80, 0xfb, 0x65, //0x000002c9 cmpb $101, %bl + 0x0f, 0x85, 0x6c, 0x00, 0x00, 0x00, //0x000002cc jne LBB0_52 + 0x48, 0x8d, 0x50, 0x01, //0x000002d2 leaq $1(%rax), %rdx + 0x49, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, //0x000002d6 movq $8, (%r14) + 0x4c, 0x39, 0xda, //0x000002dd cmpq %r11, %rdx + 0x0f, 0x83, 0x3f, 0x00, 0x00, 0x00, //0x000002e0 jae LBB0_50 + 0x41, 0x8a, 0x1c, 0x10, //0x000002e6 movb (%r8,%rdx), %bl + 0x80, 0xfb, 0x2d, //0x000002ea cmpb $45, %bl + 0x0f, 0x84, 0x0f, 0x00, 0x00, 0x00, //0x000002ed je LBB0_48 + 0x41, 0xba, 0x01, 0x00, 0x00, 0x00, //0x000002f3 movl $1, %r10d + 0x80, 0xfb, 0x2b, //0x000002f9 cmpb $43, %bl + 0x0f, 0x85, 0x0b, 0x05, 0x00, 0x00, //0x000002fc jne LBB0_102 + //0x00000302 LBB0_48 + 0x48, 0x83, 0xc0, 0x02, //0x00000302 addq $2, %rax + 0x4c, 0x39, 0xd8, //0x00000306 cmpq %r11, %rax + 0x0f, 0x83, 0x16, 0x00, 0x00, 0x00, //0x00000309 jae LBB0_50 + 0x31, 0xd2, //0x0000030f xorl %edx, %edx + 0x80, 0xfb, 0x2b, //0x00000311 cmpb $43, %bl + 0x0f, 0x94, 0xc2, //0x00000314 sete %dl + 0x44, 0x8d, 0x54, 0x12, 0xff, //0x00000317 leal $-1(%rdx,%rdx), %r10d + 0x41, 0x8a, 0x1c, 0x00, //0x0000031c movb (%r8,%rax), %bl + 0xe9, 0xeb, 0x04, 0x00, 0x00, //0x00000320 jmp LBB0_103 + //0x00000325 LBB0_50 + 0x4c, 0x89, 0x1e, //0x00000325 movq %r11, (%rsi) + 0x49, 0xc7, 0x06, 0xff, 0xff, 0xff, 0xff, //0x00000328 movq $-1, (%r14) + //0x0000032f LBB0_51 + 0x48, 0x83, 0xc4, 0x40, //0x0000032f addq $64, %rsp + 0x5b, //0x00000333 popq %rbx + 0x41, 0x5c, //0x00000334 popq %r12 + 0x41, 0x5d, //0x00000336 popq %r13 + 0x41, 0x5e, //0x00000338 popq %r14 + 0x41, 0x5f, //0x0000033a popq %r15 + 0x5d, //0x0000033c popq %rbp + 0xc3, //0x0000033d retq + //0x0000033e LBB0_52 + 0x41, 0x89, 0xc9, //0x0000033e movl %ecx, %r9d + 0x49, 0x89, 0xc3, //0x00000341 movq %rax, %r11 + 0x41, 0x83, 0xfa, 0x09, //0x00000344 cmpl $9, %r10d + 0x48, 0x89, 0x75, 0xa0, //0x00000348 movq %rsi, $-96(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x0000034c movq %r11, $-88(%rbp) + 0x0f, 0x85, 0x36, 0x00, 0x00, 0x00, //0x00000350 jne LBB0_57 + //0x00000356 LBB0_53 + 0x45, 0x85, 0xc9, //0x00000356 testl %r9d, %r9d + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x00000359 jne LBB0_56 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x0000035f movabsq $-9223372036854775808, %rax + 0x48, 0x63, 0x4d, 0xc8, //0x00000369 movslq $-56(%rbp), %rcx + 0x4d, 0x85, 0xff, //0x0000036d testq %r15, %r15 + 0x0f, 0x89, 0x3d, 0x01, 0x00, 0x00, //0x00000370 jns LBB0_70 + 0x4c, 0x89, 0xfa, //0x00000376 movq %r15, %rdx + 0x48, 0x21, 0xca, //0x00000379 andq %rcx, %rdx + 0x48, 0x39, 0xc2, //0x0000037c cmpq %rax, %rdx + 0x0f, 0x84, 0x2e, 0x01, 0x00, 0x00, //0x0000037f je LBB0_70 + //0x00000385 LBB0_56 + 0x49, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, //0x00000385 movq $8, (%r14) + //0x0000038c LBB0_57 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x0000038c movabsq $-9223372036854775808, %rdi + 0x4c, 0x89, 0xf8, //0x00000396 movq %r15, %rax + 0x48, 0xc1, 0xe8, 0x34, //0x00000399 shrq $52, %rax + 0x4c, 0x89, 0x75, 0x98, //0x0000039d movq %r14, $-104(%rbp) + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x000003a1 je LBB0_61 + //0x000003a7 LBB0_58 + 0x41, 0x8d, 0x81, 0x5c, 0x01, 0x00, 0x00, //0x000003a7 leal $348(%r9), %eax + 0x3d, 0xb7, 0x02, 0x00, 0x00, //0x000003ae cmpl $695, %eax + 0x0f, 0x87, 0x88, 0x02, 0x00, 0x00, //0x000003b3 ja LBB0_85 + 0x4d, 0x85, 0xff, //0x000003b9 testq %r15, %r15 + 0x0f, 0x84, 0x7c, 0x01, 0x00, 0x00, //0x000003bc je LBB0_76 + //0x000003c2 LBB0_60 + 0x4d, 0x0f, 0xbd, 0xd7, //0x000003c2 bsrq %r15, %r10 + 0x49, 0x83, 0xf2, 0x3f, //0x000003c6 xorq $63, %r10 + 0xe9, 0x75, 0x01, 0x00, 0x00, //0x000003ca jmp LBB0_77 + //0x000003cf LBB0_61 + 0x66, 0x49, 0x0f, 0x6e, 0xc7, //0x000003cf movq %r15, %xmm0 + 0x66, 0x0f, 0x62, 0x05, 0x24, 0xfc, 0xff, 0xff, //0x000003d4 punpckldq $-988(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0x66, 0x0f, 0x5c, 0x05, 0x2c, 0xfc, 0xff, 0xff, //0x000003dc subpd $-980(%rip), %xmm0 /* LCPI0_1+0(%rip) */ + 0x66, 0x0f, 0x28, 0xc8, //0x000003e4 movapd %xmm0, %xmm1 + 0x66, 0x0f, 0x15, 0xc8, //0x000003e8 unpckhpd %xmm0, %xmm1 + 0xf2, 0x0f, 0x58, 0xc8, //0x000003ec addsd %xmm0, %xmm1 + 0x66, 0x48, 0x0f, 0x7e, 0xc8, //0x000003f0 movq %xmm1, %rax + 0x8b, 0x4d, 0xc8, //0x000003f5 movl $-56(%rbp), %ecx + 0x89, 0xcb, //0x000003f8 movl %ecx, %ebx + 0xc1, 0xeb, 0x1f, //0x000003fa shrl $31, %ebx + 0x48, 0xc1, 0xe3, 0x3f, //0x000003fd shlq $63, %rbx + 0x48, 0x09, 0xc3, //0x00000401 orq %rax, %rbx + 0x4d, 0x85, 0xff, //0x00000404 testq %r15, %r15 + 0x0f, 0x84, 0xe0, 0x1e, 0x00, 0x00, //0x00000407 je LBB0_507 + 0x45, 0x85, 0xc9, //0x0000040d testl %r9d, %r9d + 0x0f, 0x84, 0xd7, 0x1e, 0x00, 0x00, //0x00000410 je LBB0_507 + 0x66, 0x48, 0x0f, 0x6e, 0xc3, //0x00000416 movq %rbx, %xmm0 + 0x41, 0x8d, 0x41, 0xff, //0x0000041b leal $-1(%r9), %eax + 0x83, 0xf8, 0x24, //0x0000041f cmpl $36, %eax + 0x0f, 0x87, 0x65, 0x00, 0x00, 0x00, //0x00000422 ja LBB0_68 + 0x41, 0x83, 0xf9, 0x17, //0x00000428 cmpl $23, %r9d + 0x0f, 0x8c, 0xc1, 0x00, 0x00, 0x00, //0x0000042c jl LBB0_71 + 0x49, 0x63, 0xc1, //0x00000432 movslq %r9d, %rax + 0x48, 0x8d, 0x0d, 0xf4, 0x1e, 0x00, 0x00, //0x00000435 leaq $7924(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xf2, 0x0f, 0x59, 0x84, 0xc1, 0x50, 0xff, 0xff, 0xff, //0x0000043c mulsd $-176(%rcx,%rax,8), %xmm0 + 0xb8, 0x16, 0x00, 0x00, 0x00, //0x00000445 movl $22, %eax + 0xe9, 0xa7, 0x00, 0x00, 0x00, //0x0000044a jmp LBB0_72 + //0x0000044f LBB0_66 + 0x89, 0x7d, 0xc0, //0x0000044f movl %edi, $-64(%rbp) + 0x48, 0xff, 0xc8, //0x00000452 decq %rax + 0x41, 0xba, 0x09, 0x00, 0x00, 0x00, //0x00000455 movl $9, %r10d + 0x85, 0xc9, //0x0000045b testl %ecx, %ecx + 0x44, 0x89, 0x4d, 0xc8, //0x0000045d movl %r9d, $-56(%rbp) + 0x0f, 0x84, 0x6b, 0xfd, 0xff, 0xff, //0x00000461 je LBB0_25 + 0xe9, 0xbe, 0xfd, 0xff, 0xff, //0x00000467 jmp LBB0_33 + //0x0000046c LBB0_67 + 0xc7, 0x45, 0xc0, 0x01, 0x00, 0x00, 0x00, //0x0000046c movl $1, $-64(%rbp) + 0x41, 0x89, 0xc9, //0x00000473 movl %ecx, %r9d + 0x41, 0x83, 0xfa, 0x09, //0x00000476 cmpl $9, %r10d + 0x48, 0x89, 0x75, 0xa0, //0x0000047a movq %rsi, $-96(%rbp) + 0x4c, 0x89, 0x5d, 0xa8, //0x0000047e movq %r11, $-88(%rbp) + 0x0f, 0x84, 0xce, 0xfe, 0xff, 0xff, //0x00000482 je LBB0_53 + 0xe9, 0xff, 0xfe, 0xff, 0xff, //0x00000488 jmp LBB0_57 + //0x0000048d LBB0_68 + 0x41, 0x83, 0xf9, 0xea, //0x0000048d cmpl $-22, %r9d + 0x0f, 0x82, 0x10, 0xff, 0xff, 0xff, //0x00000491 jb LBB0_58 + 0x41, 0xf7, 0xd9, //0x00000497 negl %r9d + 0x49, 0x63, 0xc1, //0x0000049a movslq %r9d, %rax + 0x48, 0x8d, 0x0d, 0x8c, 0x1e, 0x00, 0x00, //0x0000049d leaq $7820(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xf2, 0x0f, 0x5e, 0x04, 0xc1, //0x000004a4 divsd (%rcx,%rax,8), %xmm0 + 0x66, 0x48, 0x0f, 0x7e, 0xc3, //0x000004a9 movq %xmm0, %rbx + 0xe9, 0x3a, 0x1e, 0x00, 0x00, //0x000004ae jmp LBB0_507 + //0x000004b3 LBB0_70 + 0x66, 0x49, 0x0f, 0x6e, 0xc7, //0x000004b3 movq %r15, %xmm0 + 0x4c, 0x0f, 0xaf, 0xf9, //0x000004b8 imulq %rcx, %r15 + 0x66, 0x0f, 0x62, 0x05, 0x3c, 0xfb, 0xff, 0xff, //0x000004bc punpckldq $-1220(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0x66, 0x0f, 0x5c, 0x05, 0x44, 0xfb, 0xff, 0xff, //0x000004c4 subpd $-1212(%rip), %xmm0 /* LCPI0_1+0(%rip) */ + 0x4d, 0x89, 0x7e, 0x10, //0x000004cc movq %r15, $16(%r14) + 0x66, 0x0f, 0x28, 0xc8, //0x000004d0 movapd %xmm0, %xmm1 + 0x66, 0x0f, 0x15, 0xc8, //0x000004d4 unpckhpd %xmm0, %xmm1 + 0xf2, 0x0f, 0x58, 0xc8, //0x000004d8 addsd %xmm0, %xmm1 + 0x48, 0x21, 0xc8, //0x000004dc andq %rcx, %rax + 0x66, 0x48, 0x0f, 0x7e, 0xc9, //0x000004df movq %xmm1, %rcx + 0x48, 0x09, 0xc1, //0x000004e4 orq %rax, %rcx + 0x49, 0x89, 0x4e, 0x08, //0x000004e7 movq %rcx, $8(%r14) + 0x4c, 0x89, 0x1e, //0x000004eb movq %r11, (%rsi) + 0xe9, 0x3c, 0xfe, 0xff, 0xff, //0x000004ee jmp LBB0_51 + //0x000004f3 LBB0_71 + 0x44, 0x89, 0xc8, //0x000004f3 movl %r9d, %eax + //0x000004f6 LBB0_72 + 0x66, 0x0f, 0x2e, 0x05, 0x22, 0xfb, 0xff, 0xff, //0x000004f6 ucomisd $-1246(%rip), %xmm0 /* LCPI0_2+0(%rip) */ + 0x0f, 0x87, 0x2a, 0x00, 0x00, 0x00, //0x000004fe ja LBB0_75 + 0xf2, 0x0f, 0x10, 0x0d, 0x1c, 0xfb, 0xff, 0xff, //0x00000504 movsd $-1252(%rip), %xmm1 /* LCPI0_3+0(%rip) */ + 0x66, 0x0f, 0x2e, 0xc8, //0x0000050c ucomisd %xmm0, %xmm1 + 0x0f, 0x87, 0x18, 0x00, 0x00, 0x00, //0x00000510 ja LBB0_75 + 0x89, 0xc0, //0x00000516 movl %eax, %eax + 0x48, 0x8d, 0x0d, 0x11, 0x1e, 0x00, 0x00, //0x00000518 leaq $7697(%rip), %rcx /* _P10_TAB+0(%rip) */ + 0xf2, 0x0f, 0x59, 0x04, 0xc1, //0x0000051f mulsd (%rcx,%rax,8), %xmm0 + 0x66, 0x48, 0x0f, 0x7e, 0xc3, //0x00000524 movq %xmm0, %rbx + 0xe9, 0xbf, 0x1d, 0x00, 0x00, //0x00000529 jmp LBB0_507 + //0x0000052e LBB0_75 + 0x41, 0x8d, 0x81, 0x5c, 0x01, 0x00, 0x00, //0x0000052e leal $348(%r9), %eax + 0x4d, 0x85, 0xff, //0x00000535 testq %r15, %r15 + 0x0f, 0x85, 0x84, 0xfe, 0xff, 0xff, //0x00000538 jne LBB0_60 + //0x0000053e LBB0_76 + 0x41, 0xba, 0x40, 0x00, 0x00, 0x00, //0x0000053e movl $64, %r10d + //0x00000544 LBB0_77 + 0x4c, 0x89, 0xfb, //0x00000544 movq %r15, %rbx + 0x44, 0x89, 0xd1, //0x00000547 movl %r10d, %ecx + 0x48, 0xd3, 0xe3, //0x0000054a shlq %cl, %rbx + 0x89, 0xc6, //0x0000054d movl %eax, %esi + 0x48, 0xc1, 0xe6, 0x04, //0x0000054f shlq $4, %rsi + 0x48, 0x8d, 0x05, 0x96, 0x1e, 0x00, 0x00, //0x00000553 leaq $7830(%rip), %rax /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0x8b, 0x44, 0x06, 0x08, //0x0000055a movq $8(%rsi,%rax), %rax + 0x48, 0x89, 0x45, 0xb0, //0x0000055f movq %rax, $-80(%rbp) + 0x48, 0xf7, 0xe3, //0x00000563 mulq %rbx + 0x49, 0x89, 0xc6, //0x00000566 movq %rax, %r14 + 0x49, 0x89, 0xd3, //0x00000569 movq %rdx, %r11 + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x0000056c andl $511, %edx + 0x48, 0x89, 0xd9, //0x00000572 movq %rbx, %rcx + 0x48, 0xf7, 0xd1, //0x00000575 notq %rcx + 0x48, 0x39, 0xc8, //0x00000578 cmpq %rcx, %rax + 0x0f, 0x86, 0x49, 0x00, 0x00, 0x00, //0x0000057b jbe LBB0_82 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x00000581 cmpl $511, %edx + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x00000587 jne LBB0_82 + 0x48, 0x89, 0xd8, //0x0000058d movq %rbx, %rax + 0x48, 0x8d, 0x15, 0x59, 0x1e, 0x00, 0x00, //0x00000590 leaq $7769(%rip), %rdx /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0xf7, 0x24, 0x16, //0x00000597 mulq (%rsi,%rdx) + 0x49, 0x01, 0xd6, //0x0000059b addq %rdx, %r14 + 0x49, 0x83, 0xd3, 0x00, //0x0000059e adcq $0, %r11 + 0x44, 0x89, 0xda, //0x000005a2 movl %r11d, %edx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x000005a5 andl $511, %edx + 0x48, 0x39, 0xc8, //0x000005ab cmpq %rcx, %rax + 0x0f, 0x86, 0x16, 0x00, 0x00, 0x00, //0x000005ae jbe LBB0_82 + 0x49, 0x83, 0xfe, 0xff, //0x000005b4 cmpq $-1, %r14 + 0x0f, 0x85, 0x0c, 0x00, 0x00, 0x00, //0x000005b8 jne LBB0_82 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x000005be cmpl $511, %edx + 0x0f, 0x84, 0x77, 0x00, 0x00, 0x00, //0x000005c4 je LBB0_85 + //0x000005ca LBB0_82 + 0x4c, 0x89, 0xd8, //0x000005ca movq %r11, %rax + 0x48, 0xc1, 0xe8, 0x3f, //0x000005cd shrq $63, %rax + 0x8d, 0x48, 0x09, //0x000005d1 leal $9(%rax), %ecx + 0x49, 0xd3, 0xeb, //0x000005d4 shrq %cl, %r11 + 0x4c, 0x09, 0xf2, //0x000005d7 orq %r14, %rdx + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x000005da jne LBB0_84 + 0x44, 0x89, 0xd9, //0x000005e0 movl %r11d, %ecx + 0x83, 0xe1, 0x03, //0x000005e3 andl $3, %ecx + 0x83, 0xf9, 0x01, //0x000005e6 cmpl $1, %ecx + 0x0f, 0x84, 0x52, 0x00, 0x00, 0x00, //0x000005e9 je LBB0_85 + //0x000005ef LBB0_84 + 0x41, 0x69, 0xc9, 0x6a, 0x52, 0x03, 0x00, //0x000005ef imull $217706, %r9d, %ecx + 0xc1, 0xf9, 0x10, //0x000005f6 sarl $16, %ecx + 0x81, 0xc1, 0x3f, 0x04, 0x00, 0x00, //0x000005f9 addl $1087, %ecx + 0x4c, 0x63, 0xf1, //0x000005ff movslq %ecx, %r14 + 0x4c, 0x89, 0xf2, //0x00000602 movq %r14, %rdx + 0x4c, 0x29, 0xd2, //0x00000605 subq %r10, %rdx + 0x49, 0xba, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, //0x00000608 movabsq $126100789566373888, %r10 + 0x48, 0x83, 0xf0, 0x01, //0x00000612 xorq $1, %rax + 0x48, 0x29, 0xc2, //0x00000616 subq %rax, %rdx + 0x44, 0x89, 0xd8, //0x00000619 movl %r11d, %eax + 0x83, 0xe0, 0x01, //0x0000061c andl $1, %eax + 0x4c, 0x01, 0xd8, //0x0000061f addq %r11, %rax + 0x48, 0x89, 0xc1, //0x00000622 movq %rax, %rcx + 0x4c, 0x21, 0xd1, //0x00000625 andq %r10, %rcx + 0x48, 0x83, 0xf9, 0x01, //0x00000628 cmpq $1, %rcx + 0x48, 0x83, 0xda, 0xff, //0x0000062c sbbq $-1, %rdx + 0x48, 0x8d, 0x5a, 0xff, //0x00000630 leaq $-1(%rdx), %rbx + 0x48, 0x81, 0xfb, 0xfd, 0x07, 0x00, 0x00, //0x00000634 cmpq $2045, %rbx + 0x0f, 0x86, 0x68, 0x00, 0x00, 0x00, //0x0000063b jbe LBB0_90 + //0x00000641 LBB0_85 + 0x48, 0x8b, 0x45, 0xa0, //0x00000641 movq $-96(%rbp), %rax + 0x48, 0x8b, 0x30, //0x00000645 movq (%rax), %rsi + 0x4d, 0x8d, 0x14, 0x30, //0x00000648 leaq (%r8,%rsi), %r10 + 0x48, 0x8b, 0x4d, 0xa8, //0x0000064c movq $-88(%rbp), %rcx + 0x48, 0x29, 0xf1, //0x00000650 subq %rsi, %rcx + 0x4d, 0x85, 0xed, //0x00000653 testq %r13, %r13 + 0x0f, 0x84, 0xc5, 0x02, 0x00, 0x00, //0x00000656 je LBB0_116 + 0x41, 0xc6, 0x04, 0x24, 0x00, //0x0000065c movb $0, (%r12) + 0x49, 0x83, 0xfd, 0x01, //0x00000661 cmpq $1, %r13 + 0x0f, 0x84, 0xb6, 0x02, 0x00, 0x00, //0x00000665 je LBB0_116 + 0x4d, 0x8d, 0x4d, 0xff, //0x0000066b leaq $-1(%r13), %r9 + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x0000066f movl $1, %edi + 0x49, 0x83, 0xf9, 0x20, //0x00000674 cmpq $32, %r9 + 0x0f, 0x82, 0x92, 0x02, 0x00, 0x00, //0x00000678 jb LBB0_115 + 0x4c, 0x89, 0xcf, //0x0000067e movq %r9, %rdi + 0x48, 0x83, 0xe7, 0xe0, //0x00000681 andq $-32, %rdi + 0x48, 0x8d, 0x57, 0xe0, //0x00000685 leaq $-32(%rdi), %rdx + 0x48, 0x89, 0xd3, //0x00000689 movq %rdx, %rbx + 0x48, 0xc1, 0xeb, 0x05, //0x0000068c shrq $5, %rbx + 0x48, 0xff, 0xc3, //0x00000690 incq %rbx + 0x89, 0xd8, //0x00000693 movl %ebx, %eax + 0x83, 0xe0, 0x03, //0x00000695 andl $3, %eax + 0x48, 0x83, 0xfa, 0x60, //0x00000698 cmpq $96, %rdx + 0x0f, 0x83, 0xcf, 0x01, 0x00, 0x00, //0x0000069c jae LBB0_108 + 0x31, 0xdb, //0x000006a2 xorl %ebx, %ebx + 0xe9, 0x1a, 0x02, 0x00, 0x00, //0x000006a4 jmp LBB0_110 + //0x000006a9 LBB0_90 + 0x48, 0x83, 0xf9, 0x01, //0x000006a9 cmpq $1, %rcx + 0xb1, 0x02, //0x000006ad movb $2, %cl + 0x80, 0xd9, 0x00, //0x000006af sbbb $0, %cl + 0x48, 0xd3, 0xe8, //0x000006b2 shrq %cl, %rax + 0x48, 0xc1, 0xe2, 0x34, //0x000006b5 shlq $52, %rdx + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000006b9 movabsq $4503599627370495, %rcx + 0x48, 0x21, 0xc8, //0x000006c3 andq %rcx, %rax + 0x48, 0x09, 0xd0, //0x000006c6 orq %rdx, %rax + 0x48, 0x89, 0xc3, //0x000006c9 movq %rax, %rbx + 0x48, 0x09, 0xfb, //0x000006cc orq %rdi, %rbx + 0x8b, 0x4d, 0xc8, //0x000006cf movl $-56(%rbp), %ecx + 0x83, 0xf9, 0xff, //0x000006d2 cmpl $-1, %ecx + 0x48, 0x0f, 0x45, 0xd8, //0x000006d5 cmovneq %rax, %rbx + 0x83, 0x7d, 0xc0, 0x00, //0x000006d9 cmpl $0, $-64(%rbp) + 0x0f, 0x84, 0x0a, 0x1c, 0x00, 0x00, //0x000006dd je LBB0_507 + 0xb9, 0x40, 0x00, 0x00, 0x00, //0x000006e3 movl $64, %ecx + 0x49, 0xff, 0xc7, //0x000006e8 incq %r15 + 0x0f, 0x84, 0x08, 0x00, 0x00, 0x00, //0x000006eb je LBB0_93 + 0x49, 0x0f, 0xbd, 0xcf, //0x000006f1 bsrq %r15, %rcx + 0x48, 0x83, 0xf1, 0x3f, //0x000006f5 xorq $63, %rcx + //0x000006f9 LBB0_93 + 0x48, 0x89, 0x4d, 0xc0, //0x000006f9 movq %rcx, $-64(%rbp) + 0x49, 0xd3, 0xe7, //0x000006fd shlq %cl, %r15 + 0x48, 0x8b, 0x45, 0xb0, //0x00000700 movq $-80(%rbp), %rax + 0x49, 0xf7, 0xe7, //0x00000704 mulq %r15 + 0x49, 0x89, 0xc3, //0x00000707 movq %rax, %r11 + 0x49, 0x89, 0xd1, //0x0000070a movq %rdx, %r9 + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x0000070d andl $511, %edx + 0x4c, 0x89, 0xf9, //0x00000713 movq %r15, %rcx + 0x48, 0xf7, 0xd1, //0x00000716 notq %rcx + 0x48, 0x39, 0xc8, //0x00000719 cmpq %rcx, %rax + 0x0f, 0x86, 0x49, 0x00, 0x00, 0x00, //0x0000071c jbe LBB0_98 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x00000722 cmpl $511, %edx + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x00000728 jne LBB0_98 + 0x4c, 0x89, 0xf8, //0x0000072e movq %r15, %rax + 0x48, 0x8d, 0x15, 0xb8, 0x1c, 0x00, 0x00, //0x00000731 leaq $7352(%rip), %rdx /* _POW10_M128_TAB+0(%rip) */ + 0x48, 0xf7, 0x24, 0x16, //0x00000738 mulq (%rsi,%rdx) + 0x49, 0x01, 0xd3, //0x0000073c addq %rdx, %r11 + 0x49, 0x83, 0xd1, 0x00, //0x0000073f adcq $0, %r9 + 0x44, 0x89, 0xca, //0x00000743 movl %r9d, %edx + 0x81, 0xe2, 0xff, 0x01, 0x00, 0x00, //0x00000746 andl $511, %edx + 0x48, 0x39, 0xc8, //0x0000074c cmpq %rcx, %rax + 0x0f, 0x86, 0x16, 0x00, 0x00, 0x00, //0x0000074f jbe LBB0_98 + 0x49, 0x83, 0xfb, 0xff, //0x00000755 cmpq $-1, %r11 + 0x0f, 0x85, 0x0c, 0x00, 0x00, 0x00, //0x00000759 jne LBB0_98 + 0x81, 0xfa, 0xff, 0x01, 0x00, 0x00, //0x0000075f cmpl $511, %edx + 0x0f, 0x84, 0xd6, 0xfe, 0xff, 0xff, //0x00000765 je LBB0_85 + //0x0000076b LBB0_98 + 0x4c, 0x89, 0xc8, //0x0000076b movq %r9, %rax + 0x48, 0xc1, 0xe8, 0x3f, //0x0000076e shrq $63, %rax + 0x8d, 0x48, 0x09, //0x00000772 leal $9(%rax), %ecx + 0x49, 0xd3, 0xe9, //0x00000775 shrq %cl, %r9 + 0x4c, 0x09, 0xda, //0x00000778 orq %r11, %rdx + 0x0f, 0x85, 0x0f, 0x00, 0x00, 0x00, //0x0000077b jne LBB0_100 + 0x44, 0x89, 0xc9, //0x00000781 movl %r9d, %ecx + 0x83, 0xe1, 0x03, //0x00000784 andl $3, %ecx + 0x83, 0xf9, 0x01, //0x00000787 cmpl $1, %ecx + 0x0f, 0x84, 0xb1, 0xfe, 0xff, 0xff, //0x0000078a je LBB0_85 + //0x00000790 LBB0_100 + 0x4c, 0x2b, 0x75, 0xc0, //0x00000790 subq $-64(%rbp), %r14 + 0x48, 0x83, 0xf0, 0x01, //0x00000794 xorq $1, %rax + 0x49, 0x29, 0xc6, //0x00000798 subq %rax, %r14 + 0x44, 0x89, 0xc8, //0x0000079b movl %r9d, %eax + 0x83, 0xe0, 0x01, //0x0000079e andl $1, %eax + 0x4c, 0x01, 0xc8, //0x000007a1 addq %r9, %rax + 0x49, 0x21, 0xc2, //0x000007a4 andq %rax, %r10 + 0x49, 0x83, 0xfa, 0x01, //0x000007a7 cmpq $1, %r10 + 0x49, 0x83, 0xde, 0xff, //0x000007ab sbbq $-1, %r14 + 0x49, 0x8d, 0x4e, 0xff, //0x000007af leaq $-1(%r14), %rcx + 0x48, 0x81, 0xf9, 0xfd, 0x07, 0x00, 0x00, //0x000007b3 cmpq $2045, %rcx + 0x0f, 0x87, 0x81, 0xfe, 0xff, 0xff, //0x000007ba ja LBB0_85 + 0x49, 0x83, 0xfa, 0x01, //0x000007c0 cmpq $1, %r10 + 0xb1, 0x02, //0x000007c4 movb $2, %cl + 0x80, 0xd9, 0x00, //0x000007c6 sbbb $0, %cl + 0x48, 0xd3, 0xe8, //0x000007c9 shrq %cl, %rax + 0x49, 0xc1, 0xe6, 0x34, //0x000007cc shlq $52, %r14 + 0x48, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000007d0 movabsq $4503599627370495, %rcx + 0x48, 0x21, 0xc8, //0x000007da andq %rcx, %rax + 0x4c, 0x09, 0xf0, //0x000007dd orq %r14, %rax + 0x48, 0x89, 0xc1, //0x000007e0 movq %rax, %rcx + 0x48, 0x09, 0xf9, //0x000007e3 orq %rdi, %rcx + 0x83, 0x7d, 0xc8, 0xff, //0x000007e6 cmpl $-1, $-56(%rbp) + 0x48, 0x0f, 0x45, 0xc8, //0x000007ea cmovneq %rax, %rcx + 0x66, 0x48, 0x0f, 0x6e, 0xc3, //0x000007ee movq %rbx, %xmm0 + 0x66, 0x48, 0x0f, 0x6e, 0xc9, //0x000007f3 movq %rcx, %xmm1 + 0x66, 0x0f, 0x2e, 0xc1, //0x000007f8 ucomisd %xmm1, %xmm0 + 0x0f, 0x85, 0x3f, 0xfe, 0xff, 0xff, //0x000007fc jne LBB0_85 + 0x0f, 0x8b, 0xe5, 0x1a, 0x00, 0x00, //0x00000802 jnp LBB0_507 + 0xe9, 0x34, 0xfe, 0xff, 0xff, //0x00000808 jmp LBB0_85 + //0x0000080d LBB0_102 + 0x48, 0x89, 0xd0, //0x0000080d movq %rdx, %rax + //0x00000810 LBB0_103 + 0x8d, 0x53, 0xd0, //0x00000810 leal $-48(%rbx), %edx + 0x80, 0xfa, 0x09, //0x00000813 cmpb $9, %dl + 0x0f, 0x87, 0x96, 0xf8, 0xff, 0xff, //0x00000816 ja LBB0_5 + 0x45, 0x31, 0xc9, //0x0000081c xorl %r9d, %r9d + 0x4c, 0x39, 0xd8, //0x0000081f cmpq %r11, %rax + 0x48, 0x89, 0x75, 0xa0, //0x00000822 movq %rsi, $-96(%rbp) + 0x0f, 0x83, 0x43, 0x02, 0x00, 0x00, //0x00000826 jae LBB0_138 + 0x4c, 0x89, 0xdf, //0x0000082c movq %r11, %rdi + 0x49, 0xff, 0xcb, //0x0000082f decq %r11 + 0x45, 0x31, 0xc9, //0x00000832 xorl %r9d, %r9d + //0x00000835 LBB0_106 + 0x44, 0x89, 0xce, //0x00000835 movl %r9d, %esi + 0x41, 0x81, 0xf9, 0x10, 0x27, 0x00, 0x00, //0x00000838 cmpl $10000, %r9d + 0x8d, 0x14, 0xb6, //0x0000083f leal (%rsi,%rsi,4), %edx + 0x0f, 0xb6, 0xdb, //0x00000842 movzbl %bl, %ebx + 0x44, 0x8d, 0x4c, 0x53, 0xd0, //0x00000845 leal $-48(%rbx,%rdx,2), %r9d + 0x44, 0x0f, 0x4d, 0xce, //0x0000084a cmovgel %esi, %r9d + 0x49, 0x39, 0xc3, //0x0000084e cmpq %rax, %r11 + 0x0f, 0x84, 0x15, 0x02, 0x00, 0x00, //0x00000851 je LBB0_137 + 0x41, 0x0f, 0xb6, 0x5c, 0x00, 0x01, //0x00000857 movzbl $1(%r8,%rax), %ebx + 0x48, 0xff, 0xc0, //0x0000085d incq %rax + 0x8d, 0x53, 0xd0, //0x00000860 leal $-48(%rbx), %edx + 0x80, 0xfa, 0x0a, //0x00000863 cmpb $10, %dl + 0x0f, 0x82, 0xc9, 0xff, 0xff, 0xff, //0x00000866 jb LBB0_106 + 0xe9, 0xfe, 0x01, 0x00, 0x00, //0x0000086c jmp LBB0_138 + //0x00000871 LBB0_108 + 0x48, 0x89, 0xc2, //0x00000871 movq %rax, %rdx + 0x48, 0x29, 0xda, //0x00000874 subq %rbx, %rdx + 0x31, 0xdb, //0x00000877 xorl %ebx, %ebx + 0x66, 0x0f, 0x57, 0xc0, //0x00000879 xorpd %xmm0, %xmm0 + //0x0000087d LBB0_109 + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x1c, 0x01, //0x0000087d movupd %xmm0, $1(%r12,%rbx) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x1c, 0x11, //0x00000884 movupd %xmm0, $17(%r12,%rbx) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x1c, 0x21, //0x0000088b movupd %xmm0, $33(%r12,%rbx) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x1c, 0x31, //0x00000892 movupd %xmm0, $49(%r12,%rbx) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x1c, 0x41, //0x00000899 movupd %xmm0, $65(%r12,%rbx) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x1c, 0x51, //0x000008a0 movupd %xmm0, $81(%r12,%rbx) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x1c, 0x61, //0x000008a7 movupd %xmm0, $97(%r12,%rbx) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x1c, 0x71, //0x000008ae movupd %xmm0, $113(%r12,%rbx) + 0x48, 0x83, 0xeb, 0x80, //0x000008b5 subq $-128, %rbx + 0x48, 0x83, 0xc2, 0x04, //0x000008b9 addq $4, %rdx + 0x0f, 0x85, 0xba, 0xff, 0xff, 0xff, //0x000008bd jne LBB0_109 + //0x000008c3 LBB0_110 + 0x48, 0x85, 0xc0, //0x000008c3 testq %rax, %rax + 0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x000008c6 je LBB0_113 + 0x48, 0xf7, 0xd8, //0x000008cc negq %rax + 0x66, 0x0f, 0x57, 0xc0, //0x000008cf xorpd %xmm0, %xmm0 + //0x000008d3 LBB0_112 + 0x48, 0x89, 0xda, //0x000008d3 movq %rbx, %rdx + 0x48, 0x83, 0xca, 0x01, //0x000008d6 orq $1, %rdx + 0x66, 0x41, 0x0f, 0x11, 0x04, 0x14, //0x000008da movupd %xmm0, (%r12,%rdx) + 0x66, 0x41, 0x0f, 0x11, 0x44, 0x14, 0x10, //0x000008e0 movupd %xmm0, $16(%r12,%rdx) + 0x48, 0x83, 0xc3, 0x20, //0x000008e7 addq $32, %rbx + 0x48, 0xff, 0xc0, //0x000008eb incq %rax + 0x0f, 0x85, 0xdf, 0xff, 0xff, 0xff, //0x000008ee jne LBB0_112 + //0x000008f4 LBB0_113 + 0x49, 0x39, 0xf9, //0x000008f4 cmpq %rdi, %r9 + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x000008f7 je LBB0_116 + 0x48, 0x83, 0xcf, 0x01, //0x000008fd orq $1, %rdi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000901 .p2align 4, 0x90 + //0x00000910 LBB0_115 + 0x41, 0xc6, 0x04, 0x3c, 0x00, //0x00000910 movb $0, (%r12,%rdi) + 0x48, 0xff, 0xc7, //0x00000915 incq %rdi + 0x49, 0x39, 0xfd, //0x00000918 cmpq %rdi, %r13 + 0x0f, 0x85, 0xef, 0xff, 0xff, 0xff, //0x0000091b jne LBB0_115 + //0x00000921 LBB0_116 + 0x41, 0x8a, 0x12, //0x00000921 movb (%r10), %dl + 0x31, 0xff, //0x00000924 xorl %edi, %edi + 0x80, 0xfa, 0x2d, //0x00000926 cmpb $45, %dl + 0x40, 0x0f, 0x94, 0xc7, //0x00000929 sete %dil + 0x48, 0x39, 0xf9, //0x0000092d cmpq %rdi, %rcx + 0x0f, 0x8e, 0xa5, 0x00, 0x00, 0x00, //0x00000930 jle LBB0_128 + 0x48, 0x89, 0x75, 0xc8, //0x00000936 movq %rsi, $-56(%rbp) + 0x45, 0x31, 0xdb, //0x0000093a xorl %r11d, %r11d + 0x88, 0x55, 0xd7, //0x0000093d movb %dl, $-41(%rbp) + 0xb2, 0x01, //0x00000940 movb $1, %dl + 0x45, 0x31, 0xff, //0x00000942 xorl %r15d, %r15d + 0x45, 0x31, 0xf6, //0x00000945 xorl %r14d, %r14d + 0x31, 0xc0, //0x00000948 xorl %eax, %eax + 0x45, 0x31, 0xc9, //0x0000094a xorl %r9d, %r9d + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x0000094d jmp LBB0_120 + //0x00000952 LBB0_118 + 0x41, 0xff, 0xcb, //0x00000952 decl %r11d + 0x31, 0xc0, //0x00000955 xorl %eax, %eax + //0x00000957 LBB0_119 + 0x48, 0xff, 0xc7, //0x00000957 incq %rdi + 0x48, 0x39, 0xcf, //0x0000095a cmpq %rcx, %rdi + 0x0f, 0x9c, 0xc2, //0x0000095d setl %dl + 0x48, 0x39, 0xf9, //0x00000960 cmpq %rdi, %rcx + 0x0f, 0x84, 0x90, 0x00, 0x00, 0x00, //0x00000963 je LBB0_129 + //0x00000969 LBB0_120 + 0x41, 0x0f, 0xb6, 0x1c, 0x3a, //0x00000969 movzbl (%r10,%rdi), %ebx + 0x8d, 0x73, 0xd0, //0x0000096e leal $-48(%rbx), %esi + 0x40, 0x80, 0xfe, 0x09, //0x00000971 cmpb $9, %sil + 0x0f, 0x87, 0x35, 0x00, 0x00, 0x00, //0x00000975 ja LBB0_125 + 0x85, 0xc0, //0x0000097b testl %eax, %eax + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000097d jne LBB0_123 + 0x80, 0xfb, 0x30, //0x00000983 cmpb $48, %bl + 0x0f, 0x84, 0xc6, 0xff, 0xff, 0xff, //0x00000986 je LBB0_118 + //0x0000098c LBB0_123 + 0x49, 0x63, 0xc7, //0x0000098c movslq %r15d, %rax + 0x49, 0x39, 0xc5, //0x0000098f cmpq %rax, %r13 + 0x0f, 0x86, 0x2f, 0x00, 0x00, 0x00, //0x00000992 jbe LBB0_127 + 0x41, 0x88, 0x1c, 0x04, //0x00000998 movb %bl, (%r12,%rax) + 0x41, 0xff, 0xc7, //0x0000099c incl %r15d + 0x44, 0x89, 0xf8, //0x0000099f movl %r15d, %eax + 0xe9, 0xb0, 0xff, 0xff, 0xff, //0x000009a2 jmp LBB0_119 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000009a7 .p2align 4, 0x90 + //0x000009b0 LBB0_125 + 0x80, 0xfb, 0x2e, //0x000009b0 cmpb $46, %bl + 0x0f, 0x85, 0x56, 0x00, 0x00, 0x00, //0x000009b3 jne LBB0_130 + 0x41, 0x89, 0xc3, //0x000009b9 movl %eax, %r11d + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x000009bc movl $1, %r9d + 0xe9, 0x90, 0xff, 0xff, 0xff, //0x000009c2 jmp LBB0_119 + //0x000009c7 LBB0_127 + 0x80, 0xfb, 0x30, //0x000009c7 cmpb $48, %bl + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x000009ca movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000009cf cmovnel %eax, %r14d + 0x44, 0x89, 0xf8, //0x000009d3 movl %r15d, %eax + 0xe9, 0x7c, 0xff, 0xff, 0xff, //0x000009d6 jmp LBB0_119 + //0x000009db LBB0_128 + 0x45, 0x31, 0xc0, //0x000009db xorl %r8d, %r8d + 0x31, 0xf6, //0x000009de xorl %esi, %esi + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x000009e0 movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000009ea movabsq $4503599627370495, %r10 + 0xe9, 0xe1, 0x18, 0x00, 0x00, //0x000009f4 jmp LBB0_506 + //0x000009f9 LBB0_129 + 0x45, 0x85, 0xc9, //0x000009f9 testl %r9d, %r9d + 0x45, 0x0f, 0x44, 0xdf, //0x000009fc cmovel %r15d, %r11d + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000a00 movabsq $4503599627370495, %r10 + 0xe9, 0xec, 0x00, 0x00, 0x00, //0x00000a0a jmp LBB0_148 + //0x00000a0f LBB0_130 + 0x45, 0x85, 0xc9, //0x00000a0f testl %r9d, %r9d + 0x45, 0x0f, 0x44, 0xdf, //0x00000a12 cmovel %r15d, %r11d + 0xf6, 0xc2, 0x01, //0x00000a16 testb $1, %dl + 0x0f, 0x84, 0x3e, 0x00, 0x00, 0x00, //0x00000a19 je LBB0_136 + 0x80, 0xcb, 0x20, //0x00000a1f orb $32, %bl + 0x80, 0xfb, 0x65, //0x00000a22 cmpb $101, %bl + 0x48, 0x8b, 0x5d, 0xa8, //0x00000a25 movq $-88(%rbp), %rbx + 0x0f, 0x85, 0x2e, 0x00, 0x00, 0x00, //0x00000a29 jne LBB0_136 + 0x48, 0x8d, 0x57, 0x01, //0x00000a2f leaq $1(%rdi), %rdx + 0x89, 0xd0, //0x00000a33 movl %edx, %eax + 0x41, 0x8a, 0x04, 0x02, //0x00000a35 movb (%r10,%rax), %al + 0x3c, 0x2b, //0x00000a39 cmpb $43, %al + 0x0f, 0x84, 0x3e, 0x00, 0x00, 0x00, //0x00000a3b je LBB0_139 + 0x3c, 0x2d, //0x00000a41 cmpb $45, %al + 0x48, 0x8b, 0x45, 0xc8, //0x00000a43 movq $-56(%rbp), %rax + 0x0f, 0x85, 0x50, 0x00, 0x00, 0x00, //0x00000a47 jne LBB0_140 + 0x83, 0xc7, 0x02, //0x00000a4d addl $2, %edi + 0x41, 0xb9, 0xff, 0xff, 0xff, 0xff, //0x00000a50 movl $-1, %r9d + 0x89, 0xfa, //0x00000a56 movl %edi, %edx + 0xe9, 0x46, 0x00, 0x00, 0x00, //0x00000a58 jmp LBB0_141 + //0x00000a5d LBB0_136 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000a5d movabsq $4503599627370495, %r10 + 0xe9, 0x8f, 0x00, 0x00, 0x00, //0x00000a67 jmp LBB0_148 + //0x00000a6c LBB0_137 + 0x48, 0x89, 0xf8, //0x00000a6c movq %rdi, %rax + //0x00000a6f LBB0_138 + 0x45, 0x0f, 0xaf, 0xca, //0x00000a6f imull %r10d, %r9d + 0x41, 0x01, 0xc9, //0x00000a73 addl %ecx, %r9d + 0x48, 0x89, 0x45, 0xa8, //0x00000a76 movq %rax, $-88(%rbp) + 0xe9, 0x0d, 0xf9, 0xff, 0xff, //0x00000a7a jmp LBB0_57 + //0x00000a7f LBB0_139 + 0x83, 0xc7, 0x02, //0x00000a7f addl $2, %edi + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000a82 movl $1, %r9d + 0x89, 0xfa, //0x00000a88 movl %edi, %edx + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000a8a movabsq $4503599627370495, %r10 + 0x48, 0x8b, 0x45, 0xc8, //0x00000a94 movq $-56(%rbp), %rax + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00000a98 jmp LBB0_142 + //0x00000a9d LBB0_140 + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000a9d movl $1, %r9d + //0x00000aa3 LBB0_141 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00000aa3 movabsq $4503599627370495, %r10 + //0x00000aad LBB0_142 + 0x48, 0x63, 0xfa, //0x00000aad movslq %edx, %rdi + 0x31, 0xd2, //0x00000ab0 xorl %edx, %edx + 0x48, 0x39, 0xf9, //0x00000ab2 cmpq %rdi, %rcx + 0x0f, 0x8e, 0x36, 0x00, 0x00, 0x00, //0x00000ab5 jle LBB0_147 + 0x48, 0x01, 0xf8, //0x00000abb addq %rdi, %rax + 0x31, 0xd2, //0x00000abe xorl %edx, %edx + //0x00000ac0 LBB0_144 + 0x81, 0xfa, 0x0f, 0x27, 0x00, 0x00, //0x00000ac0 cmpl $9999, %edx + 0x0f, 0x8f, 0x25, 0x00, 0x00, 0x00, //0x00000ac6 jg LBB0_147 + 0x41, 0x0f, 0xb6, 0x0c, 0x00, //0x00000acc movzbl (%r8,%rax), %ecx + 0x8d, 0x71, 0xd0, //0x00000ad1 leal $-48(%rcx), %esi + 0x40, 0x80, 0xfe, 0x09, //0x00000ad4 cmpb $9, %sil + 0x0f, 0x87, 0x13, 0x00, 0x00, 0x00, //0x00000ad8 ja LBB0_147 + 0x8d, 0x14, 0x92, //0x00000ade leal (%rdx,%rdx,4), %edx + 0x8d, 0x54, 0x51, 0xd0, //0x00000ae1 leal $-48(%rcx,%rdx,2), %edx + 0x48, 0xff, 0xc0, //0x00000ae5 incq %rax + 0x48, 0x39, 0xc3, //0x00000ae8 cmpq %rax, %rbx + 0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x00000aeb jne LBB0_144 + //0x00000af1 LBB0_147 + 0x41, 0x0f, 0xaf, 0xd1, //0x00000af1 imull %r9d, %edx + 0x44, 0x01, 0xda, //0x00000af5 addl %r11d, %edx + 0x41, 0x89, 0xd3, //0x00000af8 movl %edx, %r11d + //0x00000afb LBB0_148 + 0x45, 0x85, 0xff, //0x00000afb testl %r15d, %r15d + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00000afe movabsq $-9223372036854775808, %rdi + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00000b08 je LBB0_151 + 0x31, 0xf6, //0x00000b0e xorl %esi, %esi + 0x41, 0x81, 0xfb, 0x36, 0x01, 0x00, 0x00, //0x00000b10 cmpl $310, %r11d + 0x0f, 0x8e, 0x1f, 0x00, 0x00, 0x00, //0x00000b17 jle LBB0_152 + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00000b1d movabsq $9218868437227405312, %r8 + 0x8a, 0x55, 0xd7, //0x00000b27 movb $-41(%rbp), %dl + 0xe9, 0xab, 0x17, 0x00, 0x00, //0x00000b2a jmp LBB0_506 + //0x00000b2f LBB0_151 + 0x45, 0x31, 0xc0, //0x00000b2f xorl %r8d, %r8d + 0x31, 0xf6, //0x00000b32 xorl %esi, %esi + 0x8a, 0x55, 0xd7, //0x00000b34 movb $-41(%rbp), %dl + 0xe9, 0x9e, 0x17, 0x00, 0x00, //0x00000b37 jmp LBB0_506 + //0x00000b3c LBB0_152 + 0x41, 0x81, 0xfb, 0xb6, 0xfe, 0xff, 0xff, //0x00000b3c cmpl $-330, %r11d + 0x0f, 0x8d, 0x0b, 0x00, 0x00, 0x00, //0x00000b43 jge LBB0_154 + 0x45, 0x31, 0xc0, //0x00000b49 xorl %r8d, %r8d + 0x8a, 0x55, 0xd7, //0x00000b4c movb $-41(%rbp), %dl + 0xe9, 0x86, 0x17, 0x00, 0x00, //0x00000b4f jmp LBB0_506 + //0x00000b54 LBB0_154 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, //0x00000b54 movabsq $1152921504606846975, %r10 + 0x45, 0x85, 0xdb, //0x00000b5e testl %r11d, %r11d + 0x0f, 0x8e, 0xd5, 0x07, 0x00, 0x00, //0x00000b61 jle LBB0_270 + 0x31, 0xf6, //0x00000b67 xorl %esi, %esi + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000b69 movl $1, %r8d + 0x44, 0x89, 0xf8, //0x00000b6f movl %r15d, %eax + 0xe9, 0x14, 0x00, 0x00, 0x00, //0x00000b72 jmp LBB0_158 + //0x00000b77 LBB0_156 + 0x89, 0xc7, //0x00000b77 movl %eax, %edi + //0x00000b79 LBB0_157 + 0x48, 0x8b, 0x75, 0xc0, //0x00000b79 movq $-64(%rbp), %rsi + 0x03, 0x75, 0xbc, //0x00000b7d addl $-68(%rbp), %esi + 0x89, 0xf8, //0x00000b80 movl %edi, %eax + 0x45, 0x85, 0xdb, //0x00000b82 testl %r11d, %r11d + 0x0f, 0x8e, 0xb4, 0x07, 0x00, 0x00, //0x00000b85 jle LBB0_271 + //0x00000b8b LBB0_158 + 0x48, 0x89, 0x75, 0xc0, //0x00000b8b movq %rsi, $-64(%rbp) + 0xb9, 0x1b, 0x00, 0x00, 0x00, //0x00000b8f movl $27, %ecx + 0x41, 0x83, 0xfb, 0x08, //0x00000b94 cmpl $8, %r11d + 0x0f, 0x8f, 0x0d, 0x00, 0x00, 0x00, //0x00000b98 jg LBB0_160 + 0x44, 0x89, 0xd9, //0x00000b9e movl %r11d, %ecx + 0x48, 0x8d, 0x15, 0xd8, 0x43, 0x00, 0x00, //0x00000ba1 leaq $17368(%rip), %rdx /* _POW_TAB+0(%rip) */ + 0x8b, 0x0c, 0x8a, //0x00000ba8 movl (%rdx,%rcx,4), %ecx + //0x00000bab LBB0_160 + 0x85, 0xc0, //0x00000bab testl %eax, %eax + 0x89, 0x4d, 0xbc, //0x00000bad movl %ecx, $-68(%rbp) + 0x0f, 0x84, 0xc1, 0xff, 0xff, 0xff, //0x00000bb0 je LBB0_156 + 0x41, 0x89, 0xc9, //0x00000bb6 movl %ecx, %r9d + 0x41, 0xf7, 0xd9, //0x00000bb9 negl %r9d + 0x85, 0xc9, //0x00000bbc testl %ecx, %ecx + 0x0f, 0x84, 0xb3, 0xff, 0xff, 0xff, //0x00000bbe je LBB0_156 + 0x0f, 0x88, 0x90, 0x01, 0x00, 0x00, //0x00000bc4 js LBB0_187 + //0x00000bca LBB0_163 + 0x41, 0x83, 0xf9, 0xc3, //0x00000bca cmpl $-61, %r9d + 0x0f, 0x8e, 0x21, 0x00, 0x00, 0x00, //0x00000bce jle LBB0_167 + 0xe9, 0xcd, 0x03, 0x00, 0x00, //0x00000bd4 jmp LBB0_219 + //0x00000bd9 LBB0_164 + 0xff, 0xc8, //0x00000bd9 decl %eax + 0x41, 0x89, 0xc7, //0x00000bdb movl %eax, %r15d + //0x00000bde LBB0_165 + 0x45, 0x85, 0xff, //0x00000bde testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00000be1 cmovel %r15d, %r11d + //0x00000be5 LBB0_166 + 0x44, 0x8d, 0x49, 0x3c, //0x00000be5 leal $60(%rcx), %r9d + 0x44, 0x89, 0xf8, //0x00000be9 movl %r15d, %eax + 0x83, 0xf9, 0x88, //0x00000bec cmpl $-120, %ecx + 0x0f, 0x8d, 0xa2, 0x03, 0x00, 0x00, //0x00000bef jge LBB0_218 + //0x00000bf5 LBB0_167 + 0x44, 0x89, 0xc9, //0x00000bf5 movl %r9d, %ecx + 0x48, 0x63, 0xf8, //0x00000bf8 movslq %eax, %rdi + 0x31, 0xf6, //0x00000bfb xorl %esi, %esi + 0x31, 0xd2, //0x00000bfd xorl %edx, %edx + 0x90, //0x00000bff .p2align 4, 0x90 + //0x00000c00 LBB0_168 + 0x48, 0x39, 0xfe, //0x00000c00 cmpq %rdi, %rsi + 0x0f, 0x8d, 0x27, 0x00, 0x00, 0x00, //0x00000c03 jge LBB0_170 + 0x48, 0x8d, 0x14, 0x92, //0x00000c09 leaq (%rdx,%rdx,4), %rdx + 0x49, 0x0f, 0xbe, 0x1c, 0x34, //0x00000c0d movsbq (%r12,%rsi), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x00000c12 leaq $-48(%rbx,%rdx,2), %rdx + 0x48, 0xff, 0xc6, //0x00000c17 incq %rsi + 0x49, 0x8d, 0x5a, 0x01, //0x00000c1a leaq $1(%r10), %rbx + 0x48, 0x39, 0xda, //0x00000c1e cmpq %rbx, %rdx + 0x0f, 0x82, 0xd9, 0xff, 0xff, 0xff, //0x00000c21 jb LBB0_168 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00000c27 jmp LBB0_172 + 0x90, 0x90, 0x90, 0x90, //0x00000c2c .p2align 4, 0x90 + //0x00000c30 LBB0_170 + 0x48, 0x85, 0xd2, //0x00000c30 testq %rdx, %rdx + 0x0f, 0x84, 0x19, 0x01, 0x00, 0x00, //0x00000c33 je LBB0_185 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000c39 .p2align 4, 0x90 + //0x00000c40 LBB0_171 + 0x48, 0x01, 0xd2, //0x00000c40 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00000c43 leaq (%rdx,%rdx,4), %rdx + 0xff, 0xc6, //0x00000c47 incl %esi + 0x49, 0x8d, 0x7a, 0x01, //0x00000c49 leaq $1(%r10), %rdi + 0x48, 0x39, 0xfa, //0x00000c4d cmpq %rdi, %rdx + 0x0f, 0x82, 0xea, 0xff, 0xff, 0xff, //0x00000c50 jb LBB0_171 + //0x00000c56 LBB0_172 + 0x41, 0x29, 0xf3, //0x00000c56 subl %esi, %r11d + 0x31, 0xff, //0x00000c59 xorl %edi, %edi + 0x39, 0xc6, //0x00000c5b cmpl %eax, %esi + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x00000c5d jge LBB0_177 + 0x48, 0x63, 0xc6, //0x00000c63 movslq %esi, %rax + 0x49, 0x63, 0xf7, //0x00000c66 movslq %r15d, %rsi + 0x49, 0x8d, 0x3c, 0x04, //0x00000c69 leaq (%r12,%rax), %rdi + 0x45, 0x31, 0xff, //0x00000c6d xorl %r15d, %r15d + //0x00000c70 .p2align 4, 0x90 + //0x00000c70 LBB0_174 + 0x48, 0x89, 0xd3, //0x00000c70 movq %rdx, %rbx + 0x48, 0xc1, 0xeb, 0x3c, //0x00000c73 shrq $60, %rbx + 0x4c, 0x21, 0xd2, //0x00000c77 andq %r10, %rdx + 0x80, 0xcb, 0x30, //0x00000c7a orb $48, %bl + 0x43, 0x88, 0x1c, 0x3c, //0x00000c7d movb %bl, (%r12,%r15) + 0x48, 0x8d, 0x14, 0x92, //0x00000c81 leaq (%rdx,%rdx,4), %rdx + 0x4a, 0x0f, 0xbe, 0x1c, 0x3f, //0x00000c85 movsbq (%rdi,%r15), %rbx + 0x48, 0x8d, 0x54, 0x53, 0xd0, //0x00000c8a leaq $-48(%rbx,%rdx,2), %rdx + 0x4a, 0x8d, 0x5c, 0x38, 0x01, //0x00000c8f leaq $1(%rax,%r15), %rbx + 0x49, 0xff, 0xc7, //0x00000c94 incq %r15 + 0x48, 0x39, 0xf3, //0x00000c97 cmpq %rsi, %rbx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00000c9a jl LBB0_174 + 0x48, 0x85, 0xd2, //0x00000ca0 testq %rdx, %rdx + 0x0f, 0x84, 0x5f, 0x00, 0x00, 0x00, //0x00000ca3 je LBB0_181 + 0x44, 0x89, 0xff, //0x00000ca9 movl %r15d, %edi + //0x00000cac LBB0_177 + 0x41, 0x89, 0xff, //0x00000cac movl %edi, %r15d + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00000caf jmp LBB0_179 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000cb4 .p2align 4, 0x90 + //0x00000cc0 LBB0_178 + 0x48, 0x85, 0xc0, //0x00000cc0 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00000cc3 cmovnel %r8d, %r14d + 0x48, 0x01, 0xd2, //0x00000cc7 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00000cca leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00000cce testq %rdx, %rdx + 0x0f, 0x84, 0x31, 0x00, 0x00, 0x00, //0x00000cd1 je LBB0_181 + //0x00000cd7 LBB0_179 + 0x48, 0x89, 0xd0, //0x00000cd7 movq %rdx, %rax + 0x48, 0xc1, 0xe8, 0x3c, //0x00000cda shrq $60, %rax + 0x4c, 0x21, 0xd2, //0x00000cde andq %r10, %rdx + 0x49, 0x63, 0xf7, //0x00000ce1 movslq %r15d, %rsi + 0x49, 0x39, 0xf5, //0x00000ce4 cmpq %rsi, %r13 + 0x0f, 0x86, 0xd3, 0xff, 0xff, 0xff, //0x00000ce7 jbe LBB0_178 + 0x0c, 0x30, //0x00000ced orb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00000cef movb %al, (%r12,%rsi) + 0xff, 0xc6, //0x00000cf3 incl %esi + 0x41, 0x89, 0xf7, //0x00000cf5 movl %esi, %r15d + 0x48, 0x01, 0xd2, //0x00000cf8 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00000cfb leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00000cff testq %rdx, %rdx + 0x0f, 0x85, 0xcf, 0xff, 0xff, 0xff, //0x00000d02 jne LBB0_179 + //0x00000d08 LBB0_181 + 0x41, 0xff, 0xc3, //0x00000d08 incl %r11d + 0x45, 0x85, 0xff, //0x00000d0b testl %r15d, %r15d + 0x0f, 0x8e, 0xca, 0xfe, 0xff, 0xff, //0x00000d0e jle LBB0_165 + 0x44, 0x89, 0xf8, //0x00000d14 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00000d17 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0xc2, 0xfe, 0xff, 0xff, //0x00000d1d jne LBB0_166 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000d23 .p2align 4, 0x90 + //0x00000d30 LBB0_183 + 0x48, 0x83, 0xf8, 0x01, //0x00000d30 cmpq $1, %rax + 0x0f, 0x8e, 0x9f, 0xfe, 0xff, 0xff, //0x00000d34 jle LBB0_164 + 0x4c, 0x8d, 0x78, 0xff, //0x00000d3a leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00000d3e cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00000d44 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00000d47 je LBB0_183 + 0xe9, 0x93, 0xfe, 0xff, 0xff, //0x00000d4d jmp LBB0_166 + //0x00000d52 LBB0_185 + 0x45, 0x31, 0xff, //0x00000d52 xorl %r15d, %r15d + 0xe9, 0x8b, 0xfe, 0xff, 0xff, //0x00000d55 jmp LBB0_166 + //0x00000d5a LBB0_187 + 0x83, 0xf9, 0xc3, //0x00000d5a cmpl $-61, %ecx + 0x0f, 0x8f, 0xbe, 0x03, 0x00, 0x00, //0x00000d5d jg LBB0_238 + 0x48, 0x8d, 0x3d, 0x46, 0x42, 0x00, 0x00, //0x00000d63 leaq $16966(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00000d6a jmp LBB0_192 + //0x00000d6f LBB0_189 + 0x48, 0x8d, 0x3d, 0x3a, 0x42, 0x00, 0x00, //0x00000d6f leaq $16954(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + //0x00000d76 LBB0_190 + 0x45, 0x85, 0xff, //0x00000d76 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00000d79 cmovel %r15d, %r11d + //0x00000d7d LBB0_191 + 0x44, 0x8d, 0x4b, 0xc4, //0x00000d7d leal $-60(%rbx), %r9d + 0x44, 0x89, 0xf8, //0x00000d81 movl %r15d, %eax + 0x83, 0xfb, 0x78, //0x00000d84 cmpl $120, %ebx + 0x0f, 0x8e, 0x85, 0x03, 0x00, 0x00, //0x00000d87 jle LBB0_237 + //0x00000d8d LBB0_192 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000d8d movl $1, %r8d + 0x44, 0x89, 0xcb, //0x00000d93 movl %r9d, %ebx + 0x48, 0x63, 0xf0, //0x00000d96 movslq %eax, %rsi + 0x85, 0xf6, //0x00000d99 testl %esi, %esi + 0x0f, 0x84, 0x45, 0x00, 0x00, 0x00, //0x00000d9b je LBB0_198 + 0xb2, 0x38, //0x00000da1 movb $56, %dl + 0x31, 0xc9, //0x00000da3 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000da5 .p2align 4, 0x90 + //0x00000db0 LBB0_194 + 0x41, 0xb9, 0x13, 0x00, 0x00, 0x00, //0x00000db0 movl $19, %r9d + 0x48, 0x83, 0xf9, 0x2a, //0x00000db6 cmpq $42, %rcx + 0x0f, 0x84, 0x2c, 0x00, 0x00, 0x00, //0x00000dba je LBB0_199 + 0x41, 0x38, 0x14, 0x0c, //0x00000dc0 cmpb %dl, (%r12,%rcx) + 0x0f, 0x85, 0xb8, 0x01, 0x00, 0x00, //0x00000dc4 jne LBB0_216 + 0x0f, 0xb6, 0x94, 0x39, 0x65, 0x18, 0x00, 0x00, //0x00000dca movzbl $6245(%rcx,%rdi), %edx + 0x48, 0xff, 0xc1, //0x00000dd2 incq %rcx + 0x48, 0x39, 0xce, //0x00000dd5 cmpq %rcx, %rsi + 0x0f, 0x85, 0xd2, 0xff, 0xff, 0xff, //0x00000dd8 jne LBB0_194 + 0x84, 0xd2, //0x00000dde testb %dl, %dl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00000de0 je LBB0_199 + //0x00000de6 LBB0_198 + 0x41, 0xb9, 0x12, 0x00, 0x00, 0x00, //0x00000de6 movl $18, %r9d + //0x00000dec LBB0_199 + 0x85, 0xc0, //0x00000dec testl %eax, %eax + 0x0f, 0x8e, 0xb7, 0x00, 0x00, 0x00, //0x00000dee jle LBB0_207 + 0x48, 0x89, 0x5d, 0xb0, //0x00000df4 movq %rbx, $-80(%rbp) + 0x4c, 0x89, 0x5d, 0xc8, //0x00000df8 movq %r11, $-56(%rbp) + 0x44, 0x01, 0xc8, //0x00000dfc addl %r9d, %eax + 0x48, 0x98, //0x00000dff cltq + 0x48, 0x89, 0xc3, //0x00000e01 movq %rax, %rbx + 0x48, 0xc1, 0xe3, 0x20, //0x00000e04 shlq $32, %rbx + 0x48, 0xff, 0xc8, //0x00000e08 decq %rax + 0x48, 0xff, 0xc6, //0x00000e0b incq %rsi + 0x31, 0xc9, //0x00000e0e xorl %ecx, %ecx + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x00000e10 jmp LBB0_203 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000e15 .p2align 4, 0x90 + //0x00000e20 LBB0_201 + 0x48, 0x85, 0xc0, //0x00000e20 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00000e23 cmovnel %r8d, %r14d + //0x00000e27 LBB0_202 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00000e27 movabsq $-4294967296, %rax + 0x48, 0x01, 0xc3, //0x00000e31 addq %rax, %rbx + 0x49, 0x8d, 0x43, 0xff, //0x00000e34 leaq $-1(%r11), %rax + 0x48, 0xff, 0xce, //0x00000e38 decq %rsi + 0x48, 0x83, 0xfe, 0x01, //0x00000e3b cmpq $1, %rsi + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00000e3f jle LBB0_205 + //0x00000e45 LBB0_203 + 0x49, 0x89, 0xc3, //0x00000e45 movq %rax, %r11 + 0x41, 0x0f, 0xb6, 0x7c, 0x34, 0xfe, //0x00000e48 movzbl $-2(%r12,%rsi), %edi + 0x48, 0xc1, 0xe7, 0x3c, //0x00000e4e shlq $60, %rdi + 0x48, 0x01, 0xcf, //0x00000e52 addq %rcx, %rdi + 0x48, 0x89, 0xf8, //0x00000e55 movq %rdi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00000e58 movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00000e62 mulq %rcx + 0x48, 0x89, 0xd1, //0x00000e65 movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x00000e68 shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00000e6c leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00000e70 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf8, //0x00000e74 movq %rdi, %rax + 0x48, 0x29, 0xd0, //0x00000e77 subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x00000e7a cmpq %r13, %r11 + 0x0f, 0x83, 0x9d, 0xff, 0xff, 0xff, //0x00000e7d jae LBB0_201 + 0x04, 0x30, //0x00000e83 addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x00000e85 movb %al, (%r12,%r11) + 0xe9, 0x99, 0xff, 0xff, 0xff, //0x00000e89 jmp LBB0_202 + //0x00000e8e LBB0_205 + 0x48, 0x83, 0xff, 0x0a, //0x00000e8e cmpq $10, %rdi + 0x0f, 0x83, 0x1e, 0x00, 0x00, 0x00, //0x00000e92 jae LBB0_208 + 0x4c, 0x8b, 0x5d, 0xc8, //0x00000e98 movq $-56(%rbp), %r11 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000e9c movl $1, %r8d + 0x48, 0x8b, 0x5d, 0xb0, //0x00000ea2 movq $-80(%rbp), %rbx + 0xe9, 0x85, 0x00, 0x00, 0x00, //0x00000ea6 jmp LBB0_212 + //0x00000eab LBB0_207 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000eab movl $1, %r8d + 0xe9, 0x7a, 0x00, 0x00, 0x00, //0x00000eb1 jmp LBB0_212 + //0x00000eb6 LBB0_208 + 0x49, 0x63, 0xf3, //0x00000eb6 movslq %r11d, %rsi + 0x48, 0xff, 0xce, //0x00000eb9 decq %rsi + 0x4c, 0x8b, 0x5d, 0xc8, //0x00000ebc movq $-56(%rbp), %r11 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00000ec0 movl $1, %r8d + 0x48, 0x8b, 0x5d, 0xb0, //0x00000ec6 movq $-80(%rbp), %rbx + 0xe9, 0x18, 0x00, 0x00, 0x00, //0x00000eca jmp LBB0_210 + 0x90, //0x00000ecf .p2align 4, 0x90 + //0x00000ed0 LBB0_209 + 0x48, 0x85, 0xc0, //0x00000ed0 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00000ed3 cmovnel %r8d, %r14d + 0x48, 0xff, 0xce, //0x00000ed7 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00000eda cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00000ede movq %rdx, %rcx + 0x0f, 0x86, 0x49, 0x00, 0x00, 0x00, //0x00000ee1 jbe LBB0_212 + //0x00000ee7 LBB0_210 + 0x48, 0x89, 0xc8, //0x00000ee7 movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00000eea movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00000ef4 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00000ef7 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00000efb leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00000eff leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xc8, //0x00000f03 movq %rcx, %rax + 0x48, 0x29, 0xf8, //0x00000f06 subq %rdi, %rax + 0x4c, 0x39, 0xee, //0x00000f09 cmpq %r13, %rsi + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x00000f0c jae LBB0_209 + 0x04, 0x30, //0x00000f12 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00000f14 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x00000f18 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00000f1b cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00000f1f movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00000f22 ja LBB0_210 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000f28 .p2align 4, 0x90 + //0x00000f30 LBB0_212 + 0x45, 0x01, 0xcf, //0x00000f30 addl %r9d, %r15d + 0x4d, 0x63, 0xff, //0x00000f33 movslq %r15d, %r15 + 0x4d, 0x39, 0xfd, //0x00000f36 cmpq %r15, %r13 + 0x45, 0x0f, 0x46, 0xfd, //0x00000f39 cmovbel %r13d, %r15d + 0x45, 0x01, 0xcb, //0x00000f3d addl %r9d, %r11d + 0x45, 0x85, 0xff, //0x00000f40 testl %r15d, %r15d + 0x0f, 0x8e, 0x26, 0xfe, 0xff, 0xff, //0x00000f43 jle LBB0_189 + 0x44, 0x89, 0xf8, //0x00000f49 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00000f4c cmpb $48, $-1(%rax,%r12) + 0x48, 0x8d, 0x3d, 0x57, 0x40, 0x00, 0x00, //0x00000f52 leaq $16471(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0x85, 0x1e, 0xfe, 0xff, 0xff, //0x00000f59 jne LBB0_191 + 0x90, //0x00000f5f .p2align 4, 0x90 + //0x00000f60 LBB0_214 + 0x48, 0x83, 0xf8, 0x01, //0x00000f60 cmpq $1, %rax + 0x0f, 0x8e, 0x23, 0x00, 0x00, 0x00, //0x00000f64 jle LBB0_217 + 0x4c, 0x8d, 0x78, 0xff, //0x00000f6a leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00000f6e cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00000f74 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00000f77 je LBB0_214 + 0xe9, 0xfb, 0xfd, 0xff, 0xff, //0x00000f7d jmp LBB0_191 + //0x00000f82 LBB0_216 + 0x0f, 0x8c, 0x5e, 0xfe, 0xff, 0xff, //0x00000f82 jl LBB0_198 + 0xe9, 0x5f, 0xfe, 0xff, 0xff, //0x00000f88 jmp LBB0_199 + //0x00000f8d LBB0_217 + 0xff, 0xc8, //0x00000f8d decl %eax + 0x41, 0x89, 0xc7, //0x00000f8f movl %eax, %r15d + 0xe9, 0xdf, 0xfd, 0xff, 0xff, //0x00000f92 jmp LBB0_190 + //0x00000f97 LBB0_218 + 0x44, 0x89, 0xf8, //0x00000f97 movl %r15d, %eax + 0x44, 0x89, 0xff, //0x00000f9a movl %r15d, %edi + 0x45, 0x85, 0xc9, //0x00000f9d testl %r9d, %r9d + 0x0f, 0x84, 0xd3, 0xfb, 0xff, 0xff, //0x00000fa0 je LBB0_157 + //0x00000fa6 LBB0_219 + 0x41, 0xf7, 0xd9, //0x00000fa6 negl %r9d + 0x48, 0x63, 0xf0, //0x00000fa9 movslq %eax, %rsi + 0x31, 0xff, //0x00000fac xorl %edi, %edi + 0x31, 0xd2, //0x00000fae xorl %edx, %edx + //0x00000fb0 .p2align 4, 0x90 + //0x00000fb0 LBB0_220 + 0x48, 0x39, 0xf7, //0x00000fb0 cmpq %rsi, %rdi + 0x0f, 0x8d, 0x30, 0x01, 0x00, 0x00, //0x00000fb3 jge LBB0_234 + 0x48, 0x8d, 0x0c, 0x92, //0x00000fb9 leaq (%rdx,%rdx,4), %rcx + 0x49, 0x0f, 0xbe, 0x14, 0x3c, //0x00000fbd movsbq (%r12,%rdi), %rdx + 0x48, 0x8d, 0x54, 0x4a, 0xd0, //0x00000fc2 leaq $-48(%rdx,%rcx,2), %rdx + 0x48, 0xff, 0xc7, //0x00000fc7 incq %rdi + 0x48, 0x89, 0xd3, //0x00000fca movq %rdx, %rbx + 0x44, 0x89, 0xc9, //0x00000fcd movl %r9d, %ecx + 0x48, 0xd3, 0xeb, //0x00000fd0 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00000fd3 testq %rbx, %rbx + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x00000fd6 je LBB0_220 + //0x00000fdc LBB0_222 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000fdc movq $-1, %rsi + 0x44, 0x89, 0xc9, //0x00000fe3 movl %r9d, %ecx + 0x48, 0xd3, 0xe6, //0x00000fe6 shlq %cl, %rsi + 0x48, 0xf7, 0xd6, //0x00000fe9 notq %rsi + 0x31, 0xdb, //0x00000fec xorl %ebx, %ebx + 0x39, 0xc7, //0x00000fee cmpl %eax, %edi + 0x0f, 0x8d, 0x55, 0x00, 0x00, 0x00, //0x00000ff0 jge LBB0_226 + 0x4c, 0x89, 0x5d, 0xc8, //0x00000ff6 movq %r11, $-56(%rbp) + 0x4c, 0x63, 0xdf, //0x00000ffa movslq %edi, %r11 + 0x4d, 0x63, 0xc7, //0x00000ffd movslq %r15d, %r8 + 0x4f, 0x8d, 0x3c, 0x1c, //0x00001000 leaq (%r12,%r11), %r15 + 0x31, 0xdb, //0x00001004 xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001006 .p2align 4, 0x90 + //0x00001010 LBB0_224 + 0x48, 0x89, 0xd0, //0x00001010 movq %rdx, %rax + 0x44, 0x89, 0xc9, //0x00001013 movl %r9d, %ecx + 0x48, 0xd3, 0xe8, //0x00001016 shrq %cl, %rax + 0x48, 0x21, 0xf2, //0x00001019 andq %rsi, %rdx + 0x04, 0x30, //0x0000101c addb $48, %al + 0x41, 0x88, 0x04, 0x1c, //0x0000101e movb %al, (%r12,%rbx) + 0x48, 0x8d, 0x04, 0x92, //0x00001022 leaq (%rdx,%rdx,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x1f, //0x00001026 movsbq (%r15,%rbx), %rcx + 0x48, 0x8d, 0x54, 0x41, 0xd0, //0x0000102b leaq $-48(%rcx,%rax,2), %rdx + 0x49, 0x8d, 0x44, 0x1b, 0x01, //0x00001030 leaq $1(%r11,%rbx), %rax + 0x48, 0xff, 0xc3, //0x00001035 incq %rbx + 0x4c, 0x39, 0xc0, //0x00001038 cmpq %r8, %rax + 0x0f, 0x8c, 0xcf, 0xff, 0xff, 0xff, //0x0000103b jl LBB0_224 + 0x4c, 0x8b, 0x5d, 0xc8, //0x00001041 movq $-56(%rbp), %r11 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001045 movl $1, %r8d + //0x0000104b LBB0_226 + 0x41, 0x29, 0xfb, //0x0000104b subl %edi, %r11d + 0x41, 0x89, 0xdf, //0x0000104e movl %ebx, %r15d + 0x48, 0x85, 0xd2, //0x00001051 testq %rdx, %rdx + 0x8b, 0x7d, 0xbc, //0x00001054 movl $-68(%rbp), %edi + 0x0f, 0x85, 0x1c, 0x00, 0x00, 0x00, //0x00001057 jne LBB0_228 + 0xe9, 0x4a, 0x00, 0x00, 0x00, //0x0000105d jmp LBB0_230 + //0x00001062 LBB0_227 + 0x48, 0x85, 0xc0, //0x00001062 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00001065 cmovnel %r8d, %r14d + 0x48, 0x01, 0xd2, //0x00001069 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x0000106c leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x00001070 testq %rdx, %rdx + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00001073 je LBB0_230 + //0x00001079 LBB0_228 + 0x48, 0x89, 0xd0, //0x00001079 movq %rdx, %rax + 0x44, 0x89, 0xc9, //0x0000107c movl %r9d, %ecx + 0x48, 0xd3, 0xe8, //0x0000107f shrq %cl, %rax + 0x48, 0x21, 0xf2, //0x00001082 andq %rsi, %rdx + 0x49, 0x63, 0xcf, //0x00001085 movslq %r15d, %rcx + 0x49, 0x39, 0xcd, //0x00001088 cmpq %rcx, %r13 + 0x0f, 0x86, 0xd1, 0xff, 0xff, 0xff, //0x0000108b jbe LBB0_227 + 0x04, 0x30, //0x00001091 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x00001093 movb %al, (%r12,%rcx) + 0xff, 0xc1, //0x00001097 incl %ecx + 0x41, 0x89, 0xcf, //0x00001099 movl %ecx, %r15d + 0x48, 0x01, 0xd2, //0x0000109c addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x0000109f leaq (%rdx,%rdx,4), %rdx + 0x48, 0x85, 0xd2, //0x000010a3 testq %rdx, %rdx + 0x0f, 0x85, 0xcd, 0xff, 0xff, 0xff, //0x000010a6 jne LBB0_228 + //0x000010ac LBB0_230 + 0x41, 0xff, 0xc3, //0x000010ac incl %r11d + 0x45, 0x85, 0xff, //0x000010af testl %r15d, %r15d + 0x0f, 0x8e, 0x44, 0x02, 0x00, 0x00, //0x000010b2 jle LBB0_264 + 0x44, 0x89, 0xf8, //0x000010b8 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x000010bb cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x42, 0x02, 0x00, 0x00, //0x000010c1 jne LBB0_265 + //0x000010c7 LBB0_232 + 0x48, 0x83, 0xf8, 0x01, //0x000010c7 cmpq $1, %rax + 0x0f, 0x8e, 0x26, 0x02, 0x00, 0x00, //0x000010cb jle LBB0_263 + 0x4c, 0x8d, 0x78, 0xff, //0x000010d1 leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x000010d5 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x000010db movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x000010de je LBB0_232 + 0xe9, 0x20, 0x02, 0x00, 0x00, //0x000010e4 jmp LBB0_265 + //0x000010e9 LBB0_234 + 0x48, 0x85, 0xd2, //0x000010e9 testq %rdx, %rdx + 0x0f, 0x84, 0x3c, 0x01, 0x00, 0x00, //0x000010ec je LBB0_253 + //0x000010f2 LBB0_235 + 0x48, 0x89, 0xd6, //0x000010f2 movq %rdx, %rsi + 0x44, 0x89, 0xc9, //0x000010f5 movl %r9d, %ecx + 0x48, 0xd3, 0xee, //0x000010f8 shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x000010fb testq %rsi, %rsi + 0x0f, 0x85, 0xd8, 0xfe, 0xff, 0xff, //0x000010fe jne LBB0_222 + 0x48, 0x01, 0xd2, //0x00001104 addq %rdx, %rdx + 0x48, 0x8d, 0x14, 0x92, //0x00001107 leaq (%rdx,%rdx,4), %rdx + 0xff, 0xc7, //0x0000110b incl %edi + 0xe9, 0xe0, 0xff, 0xff, 0xff, //0x0000110d jmp LBB0_235 + //0x00001112 LBB0_237 + 0x44, 0x89, 0xf8, //0x00001112 movl %r15d, %eax + 0x44, 0x89, 0xff, //0x00001115 movl %r15d, %edi + 0x45, 0x85, 0xc9, //0x00001118 testl %r9d, %r9d + 0x0f, 0x84, 0x58, 0xfa, 0xff, 0xff, //0x0000111b je LBB0_157 + //0x00001121 LBB0_238 + 0x44, 0x89, 0xc9, //0x00001121 movl %r9d, %ecx + 0x48, 0x6b, 0xf1, 0x68, //0x00001124 imulq $104, %rcx, %rsi + 0x48, 0x8d, 0x3d, 0x81, 0x3e, 0x00, 0x00, //0x00001128 leaq $16001(%rip), %rdi /* _LSHIFT_TAB+0(%rip) */ + 0x8b, 0x1c, 0x3e, //0x0000112f movl (%rsi,%rdi), %ebx + 0x4c, 0x63, 0xc0, //0x00001132 movslq %eax, %r8 + 0x8a, 0x54, 0x3e, 0x04, //0x00001135 movb $4(%rsi,%rdi), %dl + 0x45, 0x85, 0xc0, //0x00001139 testl %r8d, %r8d + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x0000113c je LBB0_243 + 0x48, 0x8d, 0x74, 0x3e, 0x05, //0x00001142 leaq $5(%rsi,%rdi), %rsi + 0x31, 0xff, //0x00001147 xorl %edi, %edi + //0x00001149 LBB0_240 + 0x84, 0xd2, //0x00001149 testb %dl, %dl + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x0000114b je LBB0_245 + 0x41, 0x38, 0x14, 0x3c, //0x00001151 cmpb %dl, (%r12,%rdi) + 0x0f, 0x85, 0xb6, 0x01, 0x00, 0x00, //0x00001155 jne LBB0_266 + 0x0f, 0xb6, 0x14, 0x3e, //0x0000115b movzbl (%rsi,%rdi), %edx + 0x48, 0xff, 0xc7, //0x0000115f incq %rdi + 0x49, 0x39, 0xf8, //0x00001162 cmpq %rdi, %r8 + 0x0f, 0x85, 0xde, 0xff, 0xff, 0xff, //0x00001165 jne LBB0_240 + //0x0000116b LBB0_243 + 0x84, 0xd2, //0x0000116b testb %dl, %dl + 0x0f, 0x84, 0x02, 0x00, 0x00, 0x00, //0x0000116d je LBB0_245 + //0x00001173 LBB0_244 + 0xff, 0xcb, //0x00001173 decl %ebx + //0x00001175 LBB0_245 + 0x85, 0xc0, //0x00001175 testl %eax, %eax + 0x0f, 0x8e, 0xbb, 0x00, 0x00, 0x00, //0x00001177 jle LBB0_254 + 0x4c, 0x89, 0x5d, 0xc8, //0x0000117d movq %r11, $-56(%rbp) + 0x89, 0x5d, 0xb0, //0x00001181 movl %ebx, $-80(%rbp) + 0x01, 0xd8, //0x00001184 addl %ebx, %eax + 0x48, 0x98, //0x00001186 cltq + 0x48, 0x89, 0xc6, //0x00001188 movq %rax, %rsi + 0x48, 0xc1, 0xe6, 0x20, //0x0000118b shlq $32, %rsi + 0x48, 0xff, 0xc8, //0x0000118f decq %rax + 0x49, 0xff, 0xc0, //0x00001192 incq %r8 + 0x31, 0xff, //0x00001195 xorl %edi, %edi + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00001197 jmp LBB0_249 + //0x0000119c LBB0_247 + 0x48, 0x85, 0xc0, //0x0000119c testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x0000119f movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x000011a4 cmovnel %eax, %r14d + //0x000011a8 LBB0_248 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x000011a8 movabsq $-4294967296, %rax + 0x48, 0x01, 0xc6, //0x000011b2 addq %rax, %rsi + 0x49, 0x8d, 0x43, 0xff, //0x000011b5 leaq $-1(%r11), %rax + 0x49, 0xff, 0xc8, //0x000011b9 decq %r8 + 0x49, 0x83, 0xf8, 0x01, //0x000011bc cmpq $1, %r8 + 0x0f, 0x8e, 0x4c, 0x00, 0x00, 0x00, //0x000011c0 jle LBB0_251 + //0x000011c6 LBB0_249 + 0x49, 0x89, 0xc3, //0x000011c6 movq %rax, %r11 + 0x4b, 0x0f, 0xbe, 0x5c, 0x04, 0xfe, //0x000011c9 movsbq $-2(%r12,%r8), %rbx + 0x48, 0x83, 0xc3, 0xd0, //0x000011cf addq $-48, %rbx + 0x48, 0xd3, 0xe3, //0x000011d3 shlq %cl, %rbx + 0x48, 0x01, 0xfb, //0x000011d6 addq %rdi, %rbx + 0x48, 0x89, 0xd8, //0x000011d9 movq %rbx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000011dc movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x000011e6 mulq %rdx + 0x48, 0x89, 0xd7, //0x000011e9 movq %rdx, %rdi + 0x48, 0xc1, 0xef, 0x03, //0x000011ec shrq $3, %rdi + 0x48, 0x8d, 0x04, 0x3f, //0x000011f0 leaq (%rdi,%rdi), %rax + 0x48, 0x8d, 0x14, 0x80, //0x000011f4 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x000011f8 movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x000011fb subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x000011fe cmpq %r13, %r11 + 0x0f, 0x83, 0x95, 0xff, 0xff, 0xff, //0x00001201 jae LBB0_247 + 0x04, 0x30, //0x00001207 addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x00001209 movb %al, (%r12,%r11) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x0000120d jmp LBB0_248 + //0x00001212 LBB0_251 + 0x48, 0x83, 0xfb, 0x0a, //0x00001212 cmpq $10, %rbx + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001216 movl $1, %r8d + 0x0f, 0x83, 0x21, 0x00, 0x00, 0x00, //0x0000121c jae LBB0_255 + 0x4c, 0x8b, 0x5d, 0xc8, //0x00001222 movq $-56(%rbp), %r11 + 0x8b, 0x5d, 0xb0, //0x00001226 movl $-80(%rbp), %ebx + 0xe9, 0x7f, 0x00, 0x00, 0x00, //0x00001229 jmp LBB0_259 + //0x0000122e LBB0_253 + 0x45, 0x31, 0xff, //0x0000122e xorl %r15d, %r15d + 0x31, 0xff, //0x00001231 xorl %edi, %edi + 0xe9, 0x41, 0xf9, 0xff, 0xff, //0x00001233 jmp LBB0_157 + //0x00001238 LBB0_254 + 0x41, 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001238 movl $1, %r8d + 0xe9, 0x6a, 0x00, 0x00, 0x00, //0x0000123e jmp LBB0_259 + //0x00001243 LBB0_255 + 0x49, 0x63, 0xcb, //0x00001243 movslq %r11d, %rcx + 0x48, 0xff, 0xc9, //0x00001246 decq %rcx + 0x4c, 0x8b, 0x5d, 0xc8, //0x00001249 movq $-56(%rbp), %r11 + 0x8b, 0x5d, 0xb0, //0x0000124d movl $-80(%rbp), %ebx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00001250 jmp LBB0_257 + //0x00001255 LBB0_256 + 0x48, 0x85, 0xc0, //0x00001255 testq %rax, %rax + 0x45, 0x0f, 0x45, 0xf0, //0x00001258 cmovnel %r8d, %r14d + 0x48, 0xff, 0xc9, //0x0000125c decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x0000125f cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x00001263 movq %rdx, %rdi + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x00001266 jbe LBB0_259 + //0x0000126c LBB0_257 + 0x48, 0x89, 0xf8, //0x0000126c movq %rdi, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x0000126f movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001279 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x0000127c shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00001280 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x34, 0x80, //0x00001284 leaq (%rax,%rax,4), %rsi + 0x48, 0x89, 0xf8, //0x00001288 movq %rdi, %rax + 0x48, 0x29, 0xf0, //0x0000128b subq %rsi, %rax + 0x4c, 0x39, 0xe9, //0x0000128e cmpq %r13, %rcx + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x00001291 jae LBB0_256 + 0x04, 0x30, //0x00001297 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x00001299 movb %al, (%r12,%rcx) + 0x48, 0xff, 0xc9, //0x0000129d decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x000012a0 cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x000012a4 movq %rdx, %rdi + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x000012a7 ja LBB0_257 + //0x000012ad LBB0_259 + 0x41, 0x01, 0xdf, //0x000012ad addl %ebx, %r15d + 0x4d, 0x63, 0xff, //0x000012b0 movslq %r15d, %r15 + 0x4d, 0x39, 0xfd, //0x000012b3 cmpq %r15, %r13 + 0x45, 0x0f, 0x46, 0xfd, //0x000012b6 cmovbel %r13d, %r15d + 0x41, 0x01, 0xdb, //0x000012ba addl %ebx, %r11d + 0x45, 0x85, 0xff, //0x000012bd testl %r15d, %r15d + 0x0f, 0x8e, 0x5b, 0x00, 0x00, 0x00, //0x000012c0 jle LBB0_268 + 0x44, 0x89, 0xf8, //0x000012c6 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x000012c9 cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x53, 0x00, 0x00, 0x00, //0x000012cf jne LBB0_269 + //0x000012d5 LBB0_261 + 0x48, 0x83, 0xf8, 0x01, //0x000012d5 cmpq $1, %rax + 0x0f, 0x8e, 0x3d, 0x00, 0x00, 0x00, //0x000012d9 jle LBB0_267 + 0x4c, 0x8d, 0x78, 0xff, //0x000012df leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x000012e3 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x000012e9 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x000012ec je LBB0_261 + 0xe9, 0x31, 0x00, 0x00, 0x00, //0x000012f2 jmp LBB0_269 + //0x000012f7 LBB0_263 + 0xff, 0xc8, //0x000012f7 decl %eax + 0x41, 0x89, 0xc7, //0x000012f9 movl %eax, %r15d + //0x000012fc LBB0_264 + 0x48, 0x8b, 0x45, 0xc0, //0x000012fc movq $-64(%rbp), %rax + 0x45, 0x85, 0xff, //0x00001300 testl %r15d, %r15d + 0x0f, 0x84, 0x04, 0x0c, 0x00, 0x00, //0x00001303 je LBB0_444 + //0x00001309 LBB0_265 + 0x44, 0x89, 0xff, //0x00001309 movl %r15d, %edi + 0xe9, 0x68, 0xf8, 0xff, 0xff, //0x0000130c jmp LBB0_157 + //0x00001311 LBB0_266 + 0x0f, 0x8c, 0x5c, 0xfe, 0xff, 0xff, //0x00001311 jl LBB0_244 + 0xe9, 0x59, 0xfe, 0xff, 0xff, //0x00001317 jmp LBB0_245 + //0x0000131c LBB0_267 + 0xff, 0xc8, //0x0000131c decl %eax + 0x41, 0x89, 0xc7, //0x0000131e movl %eax, %r15d + //0x00001321 LBB0_268 + 0x45, 0x85, 0xff, //0x00001321 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00001324 cmovel %r15d, %r11d + //0x00001328 LBB0_269 + 0x44, 0x89, 0xf8, //0x00001328 movl %r15d, %eax + 0x44, 0x89, 0xff, //0x0000132b movl %r15d, %edi + 0x45, 0x85, 0xc9, //0x0000132e testl %r9d, %r9d + 0x0f, 0x89, 0x42, 0xf8, 0xff, 0xff, //0x00001331 jns LBB0_157 + 0xe9, 0x8e, 0xf8, 0xff, 0xff, //0x00001337 jmp LBB0_163 + //0x0000133c LBB0_270 + 0x44, 0x89, 0xff, //0x0000133c movl %r15d, %edi + //0x0000133f LBB0_271 + 0x4c, 0x8d, 0x05, 0x6a, 0x3c, 0x00, 0x00, //0x0000133f leaq $15466(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00001346 jmp LBB0_274 + //0x0000134b LBB0_272 + 0x89, 0xf8, //0x0000134b movl %edi, %eax + //0x0000134d LBB0_273 + 0x48, 0x8b, 0x75, 0xc0, //0x0000134d movq $-64(%rbp), %rsi + 0x2b, 0x75, 0xb0, //0x00001351 subl $-80(%rbp), %esi + 0x89, 0xc7, //0x00001354 movl %eax, %edi + //0x00001356 LBB0_274 + 0x45, 0x85, 0xdb, //0x00001356 testl %r11d, %r11d + 0x0f, 0x88, 0x16, 0x00, 0x00, 0x00, //0x00001359 js LBB0_277 + 0x0f, 0x85, 0xcd, 0x07, 0x00, 0x00, //0x0000135f jne LBB0_389 + 0x41, 0x80, 0x3c, 0x24, 0x35, //0x00001365 cmpb $53, (%r12) + 0x0f, 0x8c, 0x14, 0x00, 0x00, 0x00, //0x0000136a jl LBB0_278 + 0xe9, 0xbd, 0x07, 0x00, 0x00, //0x00001370 jmp LBB0_389 + //0x00001375 LBB0_277 + 0xb8, 0x1b, 0x00, 0x00, 0x00, //0x00001375 movl $27, %eax + 0x41, 0x83, 0xfb, 0xf8, //0x0000137a cmpl $-8, %r11d + 0x0f, 0x8c, 0x11, 0x00, 0x00, 0x00, //0x0000137e jl LBB0_279 + //0x00001384 LBB0_278 + 0x44, 0x89, 0xd8, //0x00001384 movl %r11d, %eax + 0xf7, 0xd8, //0x00001387 negl %eax + 0x48, 0x98, //0x00001389 cltq + 0x48, 0x8d, 0x0d, 0xee, 0x3b, 0x00, 0x00, //0x0000138b leaq $15342(%rip), %rcx /* _POW_TAB+0(%rip) */ + 0x8b, 0x04, 0x81, //0x00001392 movl (%rcx,%rax,4), %eax + //0x00001395 LBB0_279 + 0x85, 0xff, //0x00001395 testl %edi, %edi + 0x48, 0x89, 0x75, 0xc0, //0x00001397 movq %rsi, $-64(%rbp) + 0x89, 0x45, 0xb0, //0x0000139b movl %eax, $-80(%rbp) + 0x0f, 0x84, 0xa7, 0xff, 0xff, 0xff, //0x0000139e je LBB0_272 + 0x85, 0xc0, //0x000013a4 testl %eax, %eax + 0x0f, 0x84, 0x9f, 0xff, 0xff, 0xff, //0x000013a6 je LBB0_272 + 0x0f, 0x8e, 0x3b, 0x02, 0x00, 0x00, //0x000013ac jle LBB0_311 + 0x41, 0x89, 0xc1, //0x000013b2 movl %eax, %r9d + 0x83, 0xf8, 0x3d, //0x000013b5 cmpl $61, %eax + 0x0f, 0x8d, 0x21, 0x00, 0x00, 0x00, //0x000013b8 jge LBB0_286 + 0xe9, 0x41, 0x02, 0x00, 0x00, //0x000013be jmp LBB0_313 + //0x000013c3 LBB0_283 + 0xff, 0xc8, //0x000013c3 decl %eax + 0x41, 0x89, 0xc7, //0x000013c5 movl %eax, %r15d + //0x000013c8 LBB0_284 + 0x45, 0x85, 0xff, //0x000013c8 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x000013cb cmovel %r15d, %r11d + //0x000013cf LBB0_285 + 0x44, 0x8d, 0x4b, 0xc4, //0x000013cf leal $-60(%rbx), %r9d + 0x44, 0x89, 0xff, //0x000013d3 movl %r15d, %edi + 0x83, 0xfb, 0x78, //0x000013d6 cmpl $120, %ebx + 0x0f, 0x8e, 0x16, 0x02, 0x00, 0x00, //0x000013d9 jle LBB0_312 + //0x000013df LBB0_286 + 0x44, 0x89, 0xcb, //0x000013df movl %r9d, %ebx + 0x48, 0x63, 0xf7, //0x000013e2 movslq %edi, %rsi + 0x85, 0xf6, //0x000013e5 testl %esi, %esi + 0x0f, 0x84, 0x4a, 0x00, 0x00, 0x00, //0x000013e7 je LBB0_292 + 0xb1, 0x38, //0x000013ed movb $56, %cl + 0x31, 0xc0, //0x000013ef xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000013f1 .p2align 4, 0x90 + //0x00001400 LBB0_288 + 0x41, 0xb9, 0x13, 0x00, 0x00, 0x00, //0x00001400 movl $19, %r9d + 0x48, 0x83, 0xf8, 0x2a, //0x00001406 cmpq $42, %rax + 0x0f, 0x84, 0x2d, 0x00, 0x00, 0x00, //0x0000140a je LBB0_293 + 0x41, 0x38, 0x0c, 0x04, //0x00001410 cmpb %cl, (%r12,%rax) + 0x0f, 0x85, 0xc8, 0x01, 0x00, 0x00, //0x00001414 jne LBB0_309 + 0x42, 0x0f, 0xb6, 0x8c, 0x00, 0x65, 0x18, 0x00, 0x00, //0x0000141a movzbl $6245(%rax,%r8), %ecx + 0x48, 0xff, 0xc0, //0x00001423 incq %rax + 0x48, 0x39, 0xc6, //0x00001426 cmpq %rax, %rsi + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x00001429 jne LBB0_288 + 0x84, 0xc9, //0x0000142f testb %cl, %cl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00001431 je LBB0_293 + //0x00001437 LBB0_292 + 0x41, 0xb9, 0x12, 0x00, 0x00, 0x00, //0x00001437 movl $18, %r9d + //0x0000143d LBB0_293 + 0x85, 0xff, //0x0000143d testl %edi, %edi + 0x0f, 0x8e, 0x4b, 0x01, 0x00, 0x00, //0x0000143f jle LBB0_305 + 0x48, 0x89, 0x5d, 0xc8, //0x00001445 movq %rbx, $-56(%rbp) + 0x4d, 0x89, 0xd8, //0x00001449 movq %r11, %r8 + 0x44, 0x01, 0xcf, //0x0000144c addl %r9d, %edi + 0x48, 0x63, 0xc7, //0x0000144f movslq %edi, %rax + 0x48, 0x89, 0xc3, //0x00001452 movq %rax, %rbx + 0x48, 0xc1, 0xe3, 0x20, //0x00001455 shlq $32, %rbx + 0x48, 0xff, 0xc8, //0x00001459 decq %rax + 0x48, 0xff, 0xc6, //0x0000145c incq %rsi + 0x31, 0xc9, //0x0000145f xorl %ecx, %ecx + 0xe9, 0x34, 0x00, 0x00, 0x00, //0x00001461 jmp LBB0_297 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001466 .p2align 4, 0x90 + //0x00001470 LBB0_295 + 0x48, 0x85, 0xc0, //0x00001470 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001473 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001478 cmovnel %eax, %r14d + //0x0000147c LBB0_296 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000147c movabsq $-4294967296, %rax + 0x48, 0x01, 0xc3, //0x00001486 addq %rax, %rbx + 0x49, 0x8d, 0x43, 0xff, //0x00001489 leaq $-1(%r11), %rax + 0x48, 0xff, 0xce, //0x0000148d decq %rsi + 0x48, 0x83, 0xfe, 0x01, //0x00001490 cmpq $1, %rsi + 0x0f, 0x8e, 0x56, 0x00, 0x00, 0x00, //0x00001494 jle LBB0_299 + //0x0000149a LBB0_297 + 0x49, 0x89, 0xc3, //0x0000149a movq %rax, %r11 + 0x41, 0x0f, 0xb6, 0x7c, 0x34, 0xfe, //0x0000149d movzbl $-2(%r12,%rsi), %edi + 0x48, 0xc1, 0xe7, 0x3c, //0x000014a3 shlq $60, %rdi + 0x48, 0x01, 0xcf, //0x000014a7 addq %rcx, %rdi + 0x48, 0x89, 0xf8, //0x000014aa movq %rdi, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000014ad movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x000014b7 mulq %rcx + 0x48, 0x89, 0xd1, //0x000014ba movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x000014bd shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x000014c1 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x000014c5 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xf8, //0x000014c9 movq %rdi, %rax + 0x48, 0x29, 0xd0, //0x000014cc subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x000014cf cmpq %r13, %r11 + 0x0f, 0x83, 0x98, 0xff, 0xff, 0xff, //0x000014d2 jae LBB0_295 + 0x04, 0x30, //0x000014d8 addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x000014da movb %al, (%r12,%r11) + 0xe9, 0x99, 0xff, 0xff, 0xff, //0x000014de jmp LBB0_296 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000014e3 .p2align 4, 0x90 + //0x000014f0 LBB0_299 + 0x48, 0x83, 0xff, 0x0a, //0x000014f0 cmpq $10, %rdi + 0x0f, 0x83, 0x13, 0x00, 0x00, 0x00, //0x000014f4 jae LBB0_301 + 0x4d, 0x89, 0xc3, //0x000014fa movq %r8, %r11 + 0x4c, 0x8d, 0x05, 0xac, 0x3a, 0x00, 0x00, //0x000014fd leaq $15020(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0x48, 0x8b, 0x5d, 0xc8, //0x00001504 movq $-56(%rbp), %rbx + 0xe9, 0x83, 0x00, 0x00, 0x00, //0x00001508 jmp LBB0_305 + //0x0000150d LBB0_301 + 0x49, 0x63, 0xf3, //0x0000150d movslq %r11d, %rsi + 0x48, 0xff, 0xce, //0x00001510 decq %rsi + 0x4d, 0x89, 0xc3, //0x00001513 movq %r8, %r11 + 0x4c, 0x8d, 0x05, 0x93, 0x3a, 0x00, 0x00, //0x00001516 leaq $14995(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0x48, 0x8b, 0x5d, 0xc8, //0x0000151d movq $-56(%rbp), %rbx + 0xe9, 0x26, 0x00, 0x00, 0x00, //0x00001521 jmp LBB0_303 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001526 .p2align 4, 0x90 + //0x00001530 LBB0_302 + 0x48, 0x85, 0xc0, //0x00001530 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001533 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001538 cmovnel %eax, %r14d + 0x48, 0xff, 0xce, //0x0000153c decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x0000153f cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00001543 movq %rdx, %rcx + 0x0f, 0x86, 0x44, 0x00, 0x00, 0x00, //0x00001546 jbe LBB0_305 + //0x0000154c LBB0_303 + 0x48, 0x89, 0xc8, //0x0000154c movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x0000154f movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x00001559 mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x0000155c shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00001560 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x3c, 0x80, //0x00001564 leaq (%rax,%rax,4), %rdi + 0x48, 0x89, 0xc8, //0x00001568 movq %rcx, %rax + 0x48, 0x29, 0xf8, //0x0000156b subq %rdi, %rax + 0x4c, 0x39, 0xee, //0x0000156e cmpq %r13, %rsi + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x00001571 jae LBB0_302 + 0x04, 0x30, //0x00001577 addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00001579 movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x0000157d decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00001580 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00001584 movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00001587 ja LBB0_303 + 0x90, 0x90, 0x90, //0x0000158d .p2align 4, 0x90 + //0x00001590 LBB0_305 + 0x45, 0x01, 0xcf, //0x00001590 addl %r9d, %r15d + 0x4d, 0x63, 0xff, //0x00001593 movslq %r15d, %r15 + 0x4d, 0x39, 0xfd, //0x00001596 cmpq %r15, %r13 + 0x45, 0x0f, 0x46, 0xfd, //0x00001599 cmovbel %r13d, %r15d + 0x45, 0x01, 0xcb, //0x0000159d addl %r9d, %r11d + 0x45, 0x85, 0xff, //0x000015a0 testl %r15d, %r15d + 0x0f, 0x8e, 0x1f, 0xfe, 0xff, 0xff, //0x000015a3 jle LBB0_284 + 0x44, 0x89, 0xf8, //0x000015a9 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x000015ac cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x17, 0xfe, 0xff, 0xff, //0x000015b2 jne LBB0_285 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000015b8 .p2align 4, 0x90 + //0x000015c0 LBB0_307 + 0x48, 0x83, 0xf8, 0x01, //0x000015c0 cmpq $1, %rax + 0x0f, 0x8e, 0xf9, 0xfd, 0xff, 0xff, //0x000015c4 jle LBB0_283 + 0x4c, 0x8d, 0x78, 0xff, //0x000015ca leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x000015ce cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x000015d4 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x000015d7 je LBB0_307 + 0xe9, 0xed, 0xfd, 0xff, 0xff, //0x000015dd jmp LBB0_285 + //0x000015e2 LBB0_309 + 0x0f, 0x8c, 0x4f, 0xfe, 0xff, 0xff, //0x000015e2 jl LBB0_292 + 0xe9, 0x50, 0xfe, 0xff, 0xff, //0x000015e8 jmp LBB0_293 + //0x000015ed LBB0_311 + 0x41, 0x89, 0xc1, //0x000015ed movl %eax, %r9d + 0xe9, 0x09, 0x02, 0x00, 0x00, //0x000015f0 jmp LBB0_341 + //0x000015f5 LBB0_312 + 0x44, 0x89, 0xff, //0x000015f5 movl %r15d, %edi + 0x44, 0x89, 0xf8, //0x000015f8 movl %r15d, %eax + 0x45, 0x85, 0xc9, //0x000015fb testl %r9d, %r9d + 0x0f, 0x84, 0x49, 0xfd, 0xff, 0xff, //0x000015fe je LBB0_273 + //0x00001604 LBB0_313 + 0x44, 0x89, 0xc9, //0x00001604 movl %r9d, %ecx + 0x48, 0x6b, 0xd1, 0x68, //0x00001607 imulq $104, %rcx, %rdx + 0x42, 0x8b, 0x1c, 0x02, //0x0000160b movl (%rdx,%r8), %ebx + 0x4c, 0x89, 0xc6, //0x0000160f movq %r8, %rsi + 0x4c, 0x63, 0xc7, //0x00001612 movslq %edi, %r8 + 0x8a, 0x44, 0x32, 0x04, //0x00001615 movb $4(%rdx,%rsi), %al + 0x45, 0x85, 0xc0, //0x00001619 testl %r8d, %r8d + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x0000161c je LBB0_318 + 0x48, 0x8d, 0x54, 0x32, 0x05, //0x00001622 leaq $5(%rdx,%rsi), %rdx + 0x31, 0xf6, //0x00001627 xorl %esi, %esi + //0x00001629 LBB0_315 + 0x84, 0xc0, //0x00001629 testb %al, %al + 0x0f, 0x84, 0x24, 0x00, 0x00, 0x00, //0x0000162b je LBB0_320 + 0x41, 0x38, 0x04, 0x34, //0x00001631 cmpb %al, (%r12,%rsi) + 0x0f, 0x85, 0x9d, 0x01, 0x00, 0x00, //0x00001635 jne LBB0_337 + 0x0f, 0xb6, 0x04, 0x32, //0x0000163b movzbl (%rdx,%rsi), %eax + 0x48, 0xff, 0xc6, //0x0000163f incq %rsi + 0x49, 0x39, 0xf0, //0x00001642 cmpq %rsi, %r8 + 0x0f, 0x85, 0xde, 0xff, 0xff, 0xff, //0x00001645 jne LBB0_315 + //0x0000164b LBB0_318 + 0x84, 0xc0, //0x0000164b testb %al, %al + 0x0f, 0x84, 0x02, 0x00, 0x00, 0x00, //0x0000164d je LBB0_320 + //0x00001653 LBB0_319 + 0xff, 0xcb, //0x00001653 decl %ebx + //0x00001655 LBB0_320 + 0x85, 0xff, //0x00001655 testl %edi, %edi + 0x0f, 0x8e, 0xb6, 0x00, 0x00, 0x00, //0x00001657 jle LBB0_328 + 0x4c, 0x89, 0x5d, 0xc8, //0x0000165d movq %r11, $-56(%rbp) + 0x89, 0x5d, 0xbc, //0x00001661 movl %ebx, $-68(%rbp) + 0x01, 0xdf, //0x00001664 addl %ebx, %edi + 0x48, 0x63, 0xc7, //0x00001666 movslq %edi, %rax + 0x48, 0x89, 0xc6, //0x00001669 movq %rax, %rsi + 0x48, 0xc1, 0xe6, 0x20, //0x0000166c shlq $32, %rsi + 0x48, 0xff, 0xc8, //0x00001670 decq %rax + 0x49, 0xff, 0xc0, //0x00001673 incq %r8 + 0x31, 0xff, //0x00001676 xorl %edi, %edi + 0xe9, 0x2d, 0x00, 0x00, 0x00, //0x00001678 jmp LBB0_324 + 0x90, 0x90, 0x90, //0x0000167d .p2align 4, 0x90 + //0x00001680 LBB0_322 + 0x48, 0x85, 0xc0, //0x00001680 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001683 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001688 cmovnel %eax, %r14d + //0x0000168c LBB0_323 + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000168c movabsq $-4294967296, %rax + 0x48, 0x01, 0xc6, //0x00001696 addq %rax, %rsi + 0x49, 0x8d, 0x43, 0xff, //0x00001699 leaq $-1(%r11), %rax + 0x49, 0xff, 0xc8, //0x0000169d decq %r8 + 0x49, 0x83, 0xf8, 0x01, //0x000016a0 cmpq $1, %r8 + 0x0f, 0x8e, 0x4c, 0x00, 0x00, 0x00, //0x000016a4 jle LBB0_326 + //0x000016aa LBB0_324 + 0x49, 0x89, 0xc3, //0x000016aa movq %rax, %r11 + 0x4b, 0x0f, 0xbe, 0x5c, 0x04, 0xfe, //0x000016ad movsbq $-2(%r12,%r8), %rbx + 0x48, 0x83, 0xc3, 0xd0, //0x000016b3 addq $-48, %rbx + 0x48, 0xd3, 0xe3, //0x000016b7 shlq %cl, %rbx + 0x48, 0x01, 0xfb, //0x000016ba addq %rdi, %rbx + 0x48, 0x89, 0xd8, //0x000016bd movq %rbx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000016c0 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x000016ca mulq %rdx + 0x48, 0x89, 0xd7, //0x000016cd movq %rdx, %rdi + 0x48, 0xc1, 0xef, 0x03, //0x000016d0 shrq $3, %rdi + 0x48, 0x8d, 0x04, 0x3f, //0x000016d4 leaq (%rdi,%rdi), %rax + 0x48, 0x8d, 0x14, 0x80, //0x000016d8 leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x000016dc movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x000016df subq %rdx, %rax + 0x4d, 0x39, 0xeb, //0x000016e2 cmpq %r13, %r11 + 0x0f, 0x83, 0x95, 0xff, 0xff, 0xff, //0x000016e5 jae LBB0_322 + 0x04, 0x30, //0x000016eb addb $48, %al + 0x43, 0x88, 0x04, 0x1c, //0x000016ed movb %al, (%r12,%r11) + 0xe9, 0x96, 0xff, 0xff, 0xff, //0x000016f1 jmp LBB0_323 + //0x000016f6 LBB0_326 + 0x48, 0x83, 0xfb, 0x0a, //0x000016f6 cmpq $10, %rbx + 0x4c, 0x8d, 0x05, 0xaf, 0x38, 0x00, 0x00, //0x000016fa leaq $14511(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0x83, 0x18, 0x00, 0x00, 0x00, //0x00001701 jae LBB0_329 + 0x4c, 0x8b, 0x5d, 0xc8, //0x00001707 movq $-56(%rbp), %r11 + 0x8b, 0x5d, 0xbc, //0x0000170b movl $-68(%rbp), %ebx + 0xe9, 0x7b, 0x00, 0x00, 0x00, //0x0000170e jmp LBB0_333 + //0x00001713 LBB0_328 + 0x4c, 0x8d, 0x05, 0x96, 0x38, 0x00, 0x00, //0x00001713 leaq $14486(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + 0xe9, 0x6f, 0x00, 0x00, 0x00, //0x0000171a jmp LBB0_333 + //0x0000171f LBB0_329 + 0x49, 0x63, 0xcb, //0x0000171f movslq %r11d, %rcx + 0x48, 0xff, 0xc9, //0x00001722 decq %rcx + 0x4c, 0x8b, 0x5d, 0xc8, //0x00001725 movq $-56(%rbp), %r11 + 0x8b, 0x5d, 0xbc, //0x00001729 movl $-68(%rbp), %ebx + 0xe9, 0x1c, 0x00, 0x00, 0x00, //0x0000172c jmp LBB0_331 + //0x00001731 LBB0_330 + 0x48, 0x85, 0xc0, //0x00001731 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001734 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001739 cmovnel %eax, %r14d + 0x48, 0xff, 0xc9, //0x0000173d decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x00001740 cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x00001744 movq %rdx, %rdi + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x00001747 jbe LBB0_333 + //0x0000174d LBB0_331 + 0x48, 0x89, 0xf8, //0x0000174d movq %rdi, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001750 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x0000175a mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x0000175d shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00001761 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x34, 0x80, //0x00001765 leaq (%rax,%rax,4), %rsi + 0x48, 0x89, 0xf8, //0x00001769 movq %rdi, %rax + 0x48, 0x29, 0xf0, //0x0000176c subq %rsi, %rax + 0x4c, 0x39, 0xe9, //0x0000176f cmpq %r13, %rcx + 0x0f, 0x83, 0xb9, 0xff, 0xff, 0xff, //0x00001772 jae LBB0_330 + 0x04, 0x30, //0x00001778 addb $48, %al + 0x41, 0x88, 0x04, 0x0c, //0x0000177a movb %al, (%r12,%rcx) + 0x48, 0xff, 0xc9, //0x0000177e decq %rcx + 0x48, 0x83, 0xff, 0x09, //0x00001781 cmpq $9, %rdi + 0x48, 0x89, 0xd7, //0x00001785 movq %rdx, %rdi + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x00001788 ja LBB0_331 + //0x0000178e LBB0_333 + 0x41, 0x01, 0xdf, //0x0000178e addl %ebx, %r15d + 0x4d, 0x63, 0xff, //0x00001791 movslq %r15d, %r15 + 0x4d, 0x39, 0xfd, //0x00001794 cmpq %r15, %r13 + 0x45, 0x0f, 0x46, 0xfd, //0x00001797 cmovbel %r13d, %r15d + 0x41, 0x01, 0xdb, //0x0000179b addl %ebx, %r11d + 0x45, 0x85, 0xff, //0x0000179e testl %r15d, %r15d + 0x0f, 0x8e, 0x41, 0x00, 0x00, 0x00, //0x000017a1 jle LBB0_339 + 0x44, 0x89, 0xf8, //0x000017a7 movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x000017aa cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x39, 0x00, 0x00, 0x00, //0x000017b0 jne LBB0_340 + //0x000017b6 LBB0_335 + 0x48, 0x83, 0xf8, 0x01, //0x000017b6 cmpq $1, %rax + 0x0f, 0x8e, 0x23, 0x00, 0x00, 0x00, //0x000017ba jle LBB0_338 + 0x4c, 0x8d, 0x78, 0xff, //0x000017c0 leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x000017c4 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x000017ca movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x000017cd je LBB0_335 + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x000017d3 jmp LBB0_340 + //0x000017d8 LBB0_337 + 0x0f, 0x8c, 0x75, 0xfe, 0xff, 0xff, //0x000017d8 jl LBB0_319 + 0xe9, 0x72, 0xfe, 0xff, 0xff, //0x000017de jmp LBB0_320 + //0x000017e3 LBB0_338 + 0xff, 0xc8, //0x000017e3 decl %eax + 0x41, 0x89, 0xc7, //0x000017e5 movl %eax, %r15d + //0x000017e8 LBB0_339 + 0x45, 0x85, 0xff, //0x000017e8 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x000017eb cmovel %r15d, %r11d + //0x000017ef LBB0_340 + 0x44, 0x89, 0xff, //0x000017ef movl %r15d, %edi + 0x44, 0x89, 0xf8, //0x000017f2 movl %r15d, %eax + 0x45, 0x85, 0xc9, //0x000017f5 testl %r9d, %r9d + 0x0f, 0x89, 0x4f, 0xfb, 0xff, 0xff, //0x000017f8 jns LBB0_273 + //0x000017fe LBB0_341 + 0x41, 0x83, 0xf9, 0xc3, //0x000017fe cmpl $-61, %r9d + 0x0f, 0x8e, 0x21, 0x00, 0x00, 0x00, //0x00001802 jle LBB0_345 + 0xe9, 0x9c, 0x01, 0x00, 0x00, //0x00001808 jmp LBB0_365 + //0x0000180d LBB0_342 + 0xff, 0xc9, //0x0000180d decl %ecx + 0x41, 0x89, 0xcf, //0x0000180f movl %ecx, %r15d + //0x00001812 LBB0_343 + 0x45, 0x85, 0xff, //0x00001812 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00001815 cmovel %r15d, %r11d + //0x00001819 LBB0_344 + 0x44, 0x8d, 0x48, 0x3c, //0x00001819 leal $60(%rax), %r9d + 0x44, 0x89, 0xff, //0x0000181d movl %r15d, %edi + 0x83, 0xf8, 0x88, //0x00001820 cmpl $-120, %eax + 0x0f, 0x8d, 0x71, 0x01, 0x00, 0x00, //0x00001823 jge LBB0_364 + //0x00001829 LBB0_345 + 0x44, 0x89, 0xc8, //0x00001829 movl %r9d, %eax + 0x48, 0x63, 0xf7, //0x0000182c movslq %edi, %rsi + 0x31, 0xd2, //0x0000182f xorl %edx, %edx + 0x31, 0xc9, //0x00001831 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001833 .p2align 4, 0x90 + //0x00001840 LBB0_346 + 0x48, 0x39, 0xf2, //0x00001840 cmpq %rsi, %rdx + 0x0f, 0x8d, 0x27, 0x00, 0x00, 0x00, //0x00001843 jge LBB0_348 + 0x48, 0x8d, 0x0c, 0x89, //0x00001849 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x1c, 0x14, //0x0000184d movsbq (%r12,%rdx), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x00001852 leaq $-48(%rbx,%rcx,2), %rcx + 0x48, 0xff, 0xc2, //0x00001857 incq %rdx + 0x49, 0x8d, 0x5a, 0x01, //0x0000185a leaq $1(%r10), %rbx + 0x48, 0x39, 0xd9, //0x0000185e cmpq %rbx, %rcx + 0x0f, 0x82, 0xd9, 0xff, 0xff, 0xff, //0x00001861 jb LBB0_346 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00001867 jmp LBB0_350 + 0x90, 0x90, 0x90, 0x90, //0x0000186c .p2align 4, 0x90 + //0x00001870 LBB0_348 + 0x48, 0x85, 0xc9, //0x00001870 testq %rcx, %rcx + 0x0f, 0x84, 0x19, 0x01, 0x00, 0x00, //0x00001873 je LBB0_363 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001879 .p2align 4, 0x90 + //0x00001880 LBB0_349 + 0x48, 0x01, 0xc9, //0x00001880 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00001883 leaq (%rcx,%rcx,4), %rcx + 0xff, 0xc2, //0x00001887 incl %edx + 0x49, 0x8d, 0x72, 0x01, //0x00001889 leaq $1(%r10), %rsi + 0x48, 0x39, 0xf1, //0x0000188d cmpq %rsi, %rcx + 0x0f, 0x82, 0xea, 0xff, 0xff, 0xff, //0x00001890 jb LBB0_349 + //0x00001896 LBB0_350 + 0x41, 0x29, 0xd3, //0x00001896 subl %edx, %r11d + 0x31, 0xf6, //0x00001899 xorl %esi, %esi + 0x39, 0xfa, //0x0000189b cmpl %edi, %edx + 0x0f, 0x8d, 0x49, 0x00, 0x00, 0x00, //0x0000189d jge LBB0_355 + 0x48, 0x63, 0xd2, //0x000018a3 movslq %edx, %rdx + 0x49, 0x63, 0xf7, //0x000018a6 movslq %r15d, %rsi + 0x49, 0x8d, 0x3c, 0x14, //0x000018a9 leaq (%r12,%rdx), %rdi + 0x45, 0x31, 0xff, //0x000018ad xorl %r15d, %r15d + //0x000018b0 .p2align 4, 0x90 + //0x000018b0 LBB0_352 + 0x48, 0x89, 0xcb, //0x000018b0 movq %rcx, %rbx + 0x48, 0xc1, 0xeb, 0x3c, //0x000018b3 shrq $60, %rbx + 0x4c, 0x21, 0xd1, //0x000018b7 andq %r10, %rcx + 0x80, 0xcb, 0x30, //0x000018ba orb $48, %bl + 0x43, 0x88, 0x1c, 0x3c, //0x000018bd movb %bl, (%r12,%r15) + 0x48, 0x8d, 0x0c, 0x89, //0x000018c1 leaq (%rcx,%rcx,4), %rcx + 0x4a, 0x0f, 0xbe, 0x1c, 0x3f, //0x000018c5 movsbq (%rdi,%r15), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x000018ca leaq $-48(%rbx,%rcx,2), %rcx + 0x4a, 0x8d, 0x5c, 0x3a, 0x01, //0x000018cf leaq $1(%rdx,%r15), %rbx + 0x49, 0xff, 0xc7, //0x000018d4 incq %r15 + 0x48, 0x39, 0xf3, //0x000018d7 cmpq %rsi, %rbx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x000018da jl LBB0_352 + 0x48, 0x85, 0xc9, //0x000018e0 testq %rcx, %rcx + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x000018e3 je LBB0_359 + 0x44, 0x89, 0xfe, //0x000018e9 movl %r15d, %esi + //0x000018ec LBB0_355 + 0x41, 0x89, 0xf7, //0x000018ec movl %esi, %r15d + 0xe9, 0x28, 0x00, 0x00, 0x00, //0x000018ef jmp LBB0_357 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000018f4 .p2align 4, 0x90 + //0x00001900 LBB0_356 + 0x48, 0x85, 0xd2, //0x00001900 testq %rdx, %rdx + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001903 movl $1, %edx + 0x44, 0x0f, 0x45, 0xf2, //0x00001908 cmovnel %edx, %r14d + 0x48, 0x01, 0xc9, //0x0000190c addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x0000190f leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00001913 testq %rcx, %rcx + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x00001916 je LBB0_359 + //0x0000191c LBB0_357 + 0x48, 0x89, 0xca, //0x0000191c movq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x3c, //0x0000191f shrq $60, %rdx + 0x4c, 0x21, 0xd1, //0x00001923 andq %r10, %rcx + 0x49, 0x63, 0xf7, //0x00001926 movslq %r15d, %rsi + 0x49, 0x39, 0xf5, //0x00001929 cmpq %rsi, %r13 + 0x0f, 0x86, 0xce, 0xff, 0xff, 0xff, //0x0000192c jbe LBB0_356 + 0x80, 0xca, 0x30, //0x00001932 orb $48, %dl + 0x41, 0x88, 0x14, 0x34, //0x00001935 movb %dl, (%r12,%rsi) + 0xff, 0xc6, //0x00001939 incl %esi + 0x41, 0x89, 0xf7, //0x0000193b movl %esi, %r15d + 0x48, 0x01, 0xc9, //0x0000193e addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00001941 leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00001945 testq %rcx, %rcx + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x00001948 jne LBB0_357 + //0x0000194e LBB0_359 + 0x41, 0xff, 0xc3, //0x0000194e incl %r11d + 0x45, 0x85, 0xff, //0x00001951 testl %r15d, %r15d + 0x0f, 0x8e, 0xb8, 0xfe, 0xff, 0xff, //0x00001954 jle LBB0_343 + 0x44, 0x89, 0xf9, //0x0000195a movl %r15d, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x0000195d cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0xb0, 0xfe, 0xff, 0xff, //0x00001963 jne LBB0_344 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001969 .p2align 4, 0x90 + //0x00001970 LBB0_361 + 0x48, 0x83, 0xf9, 0x01, //0x00001970 cmpq $1, %rcx + 0x0f, 0x8e, 0x93, 0xfe, 0xff, 0xff, //0x00001974 jle LBB0_342 + 0x4c, 0x8d, 0x79, 0xff, //0x0000197a leaq $-1(%rcx), %r15 + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x0000197e cmpb $48, $-2(%r12,%rcx) + 0x4c, 0x89, 0xf9, //0x00001984 movq %r15, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001987 je LBB0_361 + 0xe9, 0x87, 0xfe, 0xff, 0xff, //0x0000198d jmp LBB0_344 + //0x00001992 LBB0_363 + 0x45, 0x31, 0xff, //0x00001992 xorl %r15d, %r15d + 0xe9, 0x7f, 0xfe, 0xff, 0xff, //0x00001995 jmp LBB0_344 + //0x0000199a LBB0_364 + 0x44, 0x89, 0xff, //0x0000199a movl %r15d, %edi + 0x44, 0x89, 0xf8, //0x0000199d movl %r15d, %eax + 0x45, 0x85, 0xc9, //0x000019a0 testl %r9d, %r9d + 0x0f, 0x84, 0xa4, 0xf9, 0xff, 0xff, //0x000019a3 je LBB0_273 + //0x000019a9 LBB0_365 + 0x41, 0xf7, 0xd9, //0x000019a9 negl %r9d + 0x48, 0x63, 0xf7, //0x000019ac movslq %edi, %rsi + 0x31, 0xd2, //0x000019af xorl %edx, %edx + 0x31, 0xc0, //0x000019b1 xorl %eax, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000019b3 .p2align 4, 0x90 + //0x000019c0 LBB0_366 + 0x48, 0x39, 0xf2, //0x000019c0 cmpq %rsi, %rdx + 0x0f, 0x8d, 0x22, 0x01, 0x00, 0x00, //0x000019c3 jge LBB0_382 + 0x48, 0x8d, 0x04, 0x80, //0x000019c9 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x14, //0x000019cd movsbq (%r12,%rdx), %rcx + 0x48, 0x8d, 0x44, 0x41, 0xd0, //0x000019d2 leaq $-48(%rcx,%rax,2), %rax + 0x48, 0xff, 0xc2, //0x000019d7 incq %rdx + 0x48, 0x89, 0xc3, //0x000019da movq %rax, %rbx + 0x44, 0x89, 0xc9, //0x000019dd movl %r9d, %ecx + 0x48, 0xd3, 0xeb, //0x000019e0 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x000019e3 testq %rbx, %rbx + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x000019e6 je LBB0_366 + //0x000019ec LBB0_368 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000019ec movq $-1, %rsi + 0x44, 0x89, 0xc9, //0x000019f3 movl %r9d, %ecx + 0x48, 0xd3, 0xe6, //0x000019f6 shlq %cl, %rsi + 0x48, 0xf7, 0xd6, //0x000019f9 notq %rsi + 0x31, 0xdb, //0x000019fc xorl %ebx, %ebx + 0x39, 0xfa, //0x000019fe cmpl %edi, %edx + 0x0f, 0x8d, 0x58, 0x00, 0x00, 0x00, //0x00001a00 jge LBB0_372 + 0x4c, 0x89, 0x5d, 0xc8, //0x00001a06 movq %r11, $-56(%rbp) + 0x4c, 0x63, 0xda, //0x00001a0a movslq %edx, %r11 + 0x4d, 0x63, 0xc7, //0x00001a0d movslq %r15d, %r8 + 0x4f, 0x8d, 0x3c, 0x1c, //0x00001a10 leaq (%r12,%r11), %r15 + 0x31, 0xdb, //0x00001a14 xorl %ebx, %ebx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001a16 .p2align 4, 0x90 + //0x00001a20 LBB0_370 + 0x48, 0x89, 0xc7, //0x00001a20 movq %rax, %rdi + 0x44, 0x89, 0xc9, //0x00001a23 movl %r9d, %ecx + 0x48, 0xd3, 0xef, //0x00001a26 shrq %cl, %rdi + 0x48, 0x21, 0xf0, //0x00001a29 andq %rsi, %rax + 0x40, 0x80, 0xc7, 0x30, //0x00001a2c addb $48, %dil + 0x41, 0x88, 0x3c, 0x1c, //0x00001a30 movb %dil, (%r12,%rbx) + 0x48, 0x8d, 0x04, 0x80, //0x00001a34 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x0c, 0x1f, //0x00001a38 movsbq (%r15,%rbx), %rcx + 0x48, 0x8d, 0x44, 0x41, 0xd0, //0x00001a3d leaq $-48(%rcx,%rax,2), %rax + 0x49, 0x8d, 0x4c, 0x1b, 0x01, //0x00001a42 leaq $1(%r11,%rbx), %rcx + 0x48, 0xff, 0xc3, //0x00001a47 incq %rbx + 0x4c, 0x39, 0xc1, //0x00001a4a cmpq %r8, %rcx + 0x0f, 0x8c, 0xcd, 0xff, 0xff, 0xff, //0x00001a4d jl LBB0_370 + 0x4c, 0x8b, 0x5d, 0xc8, //0x00001a53 movq $-56(%rbp), %r11 + 0x4c, 0x8d, 0x05, 0x52, 0x35, 0x00, 0x00, //0x00001a57 leaq $13650(%rip), %r8 /* _LSHIFT_TAB+0(%rip) */ + //0x00001a5e LBB0_372 + 0x41, 0x29, 0xd3, //0x00001a5e subl %edx, %r11d + 0x41, 0x89, 0xdf, //0x00001a61 movl %ebx, %r15d + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00001a64 jmp LBB0_375 + //0x00001a69 LBB0_373 + 0x48, 0x85, 0xd2, //0x00001a69 testq %rdx, %rdx + 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00001a6c movl $1, %ecx + 0x44, 0x0f, 0x45, 0xf1, //0x00001a71 cmovnel %ecx, %r14d + //0x00001a75 LBB0_374 + 0x48, 0x01, 0xc0, //0x00001a75 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001a78 leaq (%rax,%rax,4), %rax + //0x00001a7c LBB0_375 + 0x48, 0x85, 0xc0, //0x00001a7c testq %rax, %rax + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00001a7f je LBB0_378 + 0x48, 0x89, 0xc2, //0x00001a85 movq %rax, %rdx + 0x44, 0x89, 0xc9, //0x00001a88 movl %r9d, %ecx + 0x48, 0xd3, 0xea, //0x00001a8b shrq %cl, %rdx + 0x48, 0x21, 0xf0, //0x00001a8e andq %rsi, %rax + 0x49, 0x63, 0xcf, //0x00001a91 movslq %r15d, %rcx + 0x49, 0x39, 0xcd, //0x00001a94 cmpq %rcx, %r13 + 0x0f, 0x86, 0xcc, 0xff, 0xff, 0xff, //0x00001a97 jbe LBB0_373 + 0x80, 0xc2, 0x30, //0x00001a9d addb $48, %dl + 0x41, 0x88, 0x14, 0x0c, //0x00001aa0 movb %dl, (%r12,%rcx) + 0xff, 0xc1, //0x00001aa4 incl %ecx + 0x41, 0x89, 0xcf, //0x00001aa6 movl %ecx, %r15d + 0xe9, 0xc7, 0xff, 0xff, 0xff, //0x00001aa9 jmp LBB0_374 + //0x00001aae LBB0_378 + 0x41, 0xff, 0xc3, //0x00001aae incl %r11d + 0x45, 0x85, 0xff, //0x00001ab1 testl %r15d, %r15d + 0x0f, 0x8e, 0x69, 0x00, 0x00, 0x00, //0x00001ab4 jle LBB0_387 + 0x44, 0x89, 0xf8, //0x00001aba movl %r15d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001abd cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x61, 0x00, 0x00, 0x00, //0x00001ac3 jne LBB0_388 + //0x00001ac9 LBB0_380 + 0x48, 0x83, 0xf8, 0x01, //0x00001ac9 cmpq $1, %rax + 0x0f, 0x8e, 0x4b, 0x00, 0x00, 0x00, //0x00001acd jle LBB0_386 + 0x4c, 0x8d, 0x78, 0xff, //0x00001ad3 leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001ad7 cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00001add movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001ae0 je LBB0_380 + 0xe9, 0x3f, 0x00, 0x00, 0x00, //0x00001ae6 jmp LBB0_388 + //0x00001aeb LBB0_382 + 0x48, 0x85, 0xc0, //0x00001aeb testq %rax, %rax + 0x0f, 0x84, 0x20, 0x00, 0x00, 0x00, //0x00001aee je LBB0_385 + //0x00001af4 LBB0_383 + 0x48, 0x89, 0xc6, //0x00001af4 movq %rax, %rsi + 0x44, 0x89, 0xc9, //0x00001af7 movl %r9d, %ecx + 0x48, 0xd3, 0xee, //0x00001afa shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x00001afd testq %rsi, %rsi + 0x0f, 0x85, 0xe6, 0xfe, 0xff, 0xff, //0x00001b00 jne LBB0_368 + 0x48, 0x01, 0xc0, //0x00001b06 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001b09 leaq (%rax,%rax,4), %rax + 0xff, 0xc2, //0x00001b0d incl %edx + 0xe9, 0xe0, 0xff, 0xff, 0xff, //0x00001b0f jmp LBB0_383 + //0x00001b14 LBB0_385 + 0x45, 0x31, 0xff, //0x00001b14 xorl %r15d, %r15d + 0x31, 0xc0, //0x00001b17 xorl %eax, %eax + 0xe9, 0x2f, 0xf8, 0xff, 0xff, //0x00001b19 jmp LBB0_273 + //0x00001b1e LBB0_386 + 0xff, 0xc8, //0x00001b1e decl %eax + 0x41, 0x89, 0xc7, //0x00001b20 movl %eax, %r15d + //0x00001b23 LBB0_387 + 0x45, 0x85, 0xff, //0x00001b23 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xdf, //0x00001b26 cmovel %r15d, %r11d + //0x00001b2a LBB0_388 + 0x44, 0x89, 0xf8, //0x00001b2a movl %r15d, %eax + 0xe9, 0x1b, 0xf8, 0xff, 0xff, //0x00001b2d jmp LBB0_273 + //0x00001b32 LBB0_389 + 0x81, 0xfe, 0x02, 0xfc, 0xff, 0xff, //0x00001b32 cmpl $-1022, %esi + 0x0f, 0x8f, 0xb1, 0x01, 0x00, 0x00, //0x00001b38 jg LBB0_415 + 0x41, 0xb8, 0x02, 0xfc, 0xff, 0xff, //0x00001b3e movl $-1022, %r8d + 0x85, 0xff, //0x00001b44 testl %edi, %edi + 0x0f, 0x84, 0xfd, 0x01, 0x00, 0x00, //0x00001b46 je LBB0_420 + 0x8d, 0x8e, 0xfd, 0x03, 0x00, 0x00, //0x00001b4c leal $1021(%rsi), %ecx + 0x81, 0xfe, 0xc6, 0xfb, 0xff, 0xff, //0x00001b52 cmpl $-1082, %esi + 0x0f, 0x8f, 0x06, 0x02, 0x00, 0x00, //0x00001b58 jg LBB0_421 + 0x4d, 0x89, 0xd8, //0x00001b5e movq %r11, %r8 + 0x49, 0x8d, 0x42, 0x01, //0x00001b61 leaq $1(%r10), %rax + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001b65 movl $1, %r11d + 0xe9, 0x1d, 0x00, 0x00, 0x00, //0x00001b6b jmp LBB0_396 + //0x00001b70 LBB0_393 + 0xff, 0xc9, //0x00001b70 decl %ecx + 0x41, 0x89, 0xcf, //0x00001b72 movl %ecx, %r15d + //0x00001b75 LBB0_394 + 0x45, 0x85, 0xff, //0x00001b75 testl %r15d, %r15d + 0x45, 0x0f, 0x44, 0xc7, //0x00001b78 cmovel %r15d, %r8d + //0x00001b7c LBB0_395 + 0x41, 0x8d, 0x49, 0x3c, //0x00001b7c leal $60(%r9), %ecx + 0x44, 0x89, 0xff, //0x00001b80 movl %r15d, %edi + 0x41, 0x83, 0xf9, 0x88, //0x00001b83 cmpl $-120, %r9d + 0x0f, 0x8d, 0xe6, 0x01, 0x00, 0x00, //0x00001b87 jge LBB0_422 + //0x00001b8d LBB0_396 + 0x41, 0x89, 0xc9, //0x00001b8d movl %ecx, %r9d + 0x48, 0x63, 0xdf, //0x00001b90 movslq %edi, %rbx + 0x31, 0xf6, //0x00001b93 xorl %esi, %esi + 0x31, 0xc9, //0x00001b95 xorl %ecx, %ecx + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001b97 .p2align 4, 0x90 + //0x00001ba0 LBB0_397 + 0x48, 0x39, 0xde, //0x00001ba0 cmpq %rbx, %rsi + 0x0f, 0x8d, 0x1f, 0x00, 0x00, 0x00, //0x00001ba3 jge LBB0_399 + 0x48, 0x8d, 0x0c, 0x89, //0x00001ba9 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x14, 0x34, //0x00001bad movsbq (%r12,%rsi), %rdx + 0x48, 0x8d, 0x4c, 0x4a, 0xd0, //0x00001bb2 leaq $-48(%rdx,%rcx,2), %rcx + 0x48, 0xff, 0xc6, //0x00001bb7 incq %rsi + 0x48, 0x39, 0xc1, //0x00001bba cmpq %rax, %rcx + 0x0f, 0x82, 0xdd, 0xff, 0xff, 0xff, //0x00001bbd jb LBB0_397 + 0xe9, 0x2a, 0x00, 0x00, 0x00, //0x00001bc3 jmp LBB0_401 + //0x00001bc8 LBB0_399 + 0x48, 0x85, 0xc9, //0x00001bc8 testq %rcx, %rcx + 0x0f, 0x84, 0x16, 0x01, 0x00, 0x00, //0x00001bcb je LBB0_414 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001bd1 .p2align 4, 0x90 + //0x00001be0 LBB0_400 + 0x48, 0x01, 0xc9, //0x00001be0 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00001be3 leaq (%rcx,%rcx,4), %rcx + 0xff, 0xc6, //0x00001be7 incl %esi + 0x48, 0x39, 0xc1, //0x00001be9 cmpq %rax, %rcx + 0x0f, 0x82, 0xee, 0xff, 0xff, 0xff, //0x00001bec jb LBB0_400 + //0x00001bf2 LBB0_401 + 0x41, 0x29, 0xf0, //0x00001bf2 subl %esi, %r8d + 0x31, 0xdb, //0x00001bf5 xorl %ebx, %ebx + 0x39, 0xfe, //0x00001bf7 cmpl %edi, %esi + 0x0f, 0x8d, 0x4d, 0x00, 0x00, 0x00, //0x00001bf9 jge LBB0_406 + 0x48, 0x63, 0xf6, //0x00001bff movslq %esi, %rsi + 0x49, 0x63, 0xff, //0x00001c02 movslq %r15d, %rdi + 0x49, 0x8d, 0x1c, 0x34, //0x00001c05 leaq (%r12,%rsi), %rbx + 0x45, 0x31, 0xff, //0x00001c09 xorl %r15d, %r15d + 0x90, 0x90, 0x90, 0x90, //0x00001c0c .p2align 4, 0x90 + //0x00001c10 LBB0_403 + 0x48, 0x89, 0xca, //0x00001c10 movq %rcx, %rdx + 0x48, 0xc1, 0xea, 0x3c, //0x00001c13 shrq $60, %rdx + 0x4c, 0x21, 0xd1, //0x00001c17 andq %r10, %rcx + 0x80, 0xca, 0x30, //0x00001c1a orb $48, %dl + 0x43, 0x88, 0x14, 0x3c, //0x00001c1d movb %dl, (%r12,%r15) + 0x48, 0x8d, 0x0c, 0x89, //0x00001c21 leaq (%rcx,%rcx,4), %rcx + 0x4a, 0x0f, 0xbe, 0x14, 0x3b, //0x00001c25 movsbq (%rbx,%r15), %rdx + 0x48, 0x8d, 0x4c, 0x4a, 0xd0, //0x00001c2a leaq $-48(%rdx,%rcx,2), %rcx + 0x4a, 0x8d, 0x54, 0x3e, 0x01, //0x00001c2f leaq $1(%rsi,%r15), %rdx + 0x49, 0xff, 0xc7, //0x00001c34 incq %r15 + 0x48, 0x39, 0xfa, //0x00001c37 cmpq %rdi, %rdx + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00001c3a jl LBB0_403 + 0x48, 0x85, 0xc9, //0x00001c40 testq %rcx, %rcx + 0x0f, 0x84, 0x61, 0x00, 0x00, 0x00, //0x00001c43 je LBB0_410 + 0x44, 0x89, 0xfb, //0x00001c49 movl %r15d, %ebx + //0x00001c4c LBB0_406 + 0x41, 0x89, 0xdf, //0x00001c4c movl %ebx, %r15d + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00001c4f jmp LBB0_408 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001c54 .p2align 4, 0x90 + //0x00001c60 LBB0_407 + 0x48, 0x85, 0xf6, //0x00001c60 testq %rsi, %rsi + 0x45, 0x0f, 0x45, 0xf3, //0x00001c63 cmovnel %r11d, %r14d + 0x48, 0x01, 0xc9, //0x00001c67 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00001c6a leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00001c6e testq %rcx, %rcx + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00001c71 je LBB0_410 + //0x00001c77 LBB0_408 + 0x48, 0x89, 0xce, //0x00001c77 movq %rcx, %rsi + 0x48, 0xc1, 0xee, 0x3c, //0x00001c7a shrq $60, %rsi + 0x4c, 0x21, 0xd1, //0x00001c7e andq %r10, %rcx + 0x49, 0x63, 0xff, //0x00001c81 movslq %r15d, %rdi + 0x49, 0x39, 0xfd, //0x00001c84 cmpq %rdi, %r13 + 0x0f, 0x86, 0xd3, 0xff, 0xff, 0xff, //0x00001c87 jbe LBB0_407 + 0x40, 0x80, 0xce, 0x30, //0x00001c8d orb $48, %sil + 0x41, 0x88, 0x34, 0x3c, //0x00001c91 movb %sil, (%r12,%rdi) + 0xff, 0xc7, //0x00001c95 incl %edi + 0x41, 0x89, 0xff, //0x00001c97 movl %edi, %r15d + 0x48, 0x01, 0xc9, //0x00001c9a addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x00001c9d leaq (%rcx,%rcx,4), %rcx + 0x48, 0x85, 0xc9, //0x00001ca1 testq %rcx, %rcx + 0x0f, 0x85, 0xcd, 0xff, 0xff, 0xff, //0x00001ca4 jne LBB0_408 + //0x00001caa LBB0_410 + 0x41, 0xff, 0xc0, //0x00001caa incl %r8d + 0x45, 0x85, 0xff, //0x00001cad testl %r15d, %r15d + 0x0f, 0x8e, 0xbf, 0xfe, 0xff, 0xff, //0x00001cb0 jle LBB0_394 + 0x44, 0x89, 0xf9, //0x00001cb6 movl %r15d, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x00001cb9 cmpb $48, $-1(%rcx,%r12) + 0x0f, 0x85, 0xb7, 0xfe, 0xff, 0xff, //0x00001cbf jne LBB0_395 + //0x00001cc5 LBB0_412 + 0x48, 0x83, 0xf9, 0x01, //0x00001cc5 cmpq $1, %rcx + 0x0f, 0x8e, 0xa1, 0xfe, 0xff, 0xff, //0x00001cc9 jle LBB0_393 + 0x4c, 0x8d, 0x79, 0xff, //0x00001ccf leaq $-1(%rcx), %r15 + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x00001cd3 cmpb $48, $-2(%r12,%rcx) + 0x4c, 0x89, 0xf9, //0x00001cd9 movq %r15, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001cdc je LBB0_412 + 0xe9, 0x95, 0xfe, 0xff, 0xff, //0x00001ce2 jmp LBB0_395 + //0x00001ce7 LBB0_414 + 0x45, 0x31, 0xff, //0x00001ce7 xorl %r15d, %r15d + 0xe9, 0x8d, 0xfe, 0xff, 0xff, //0x00001cea jmp LBB0_395 + //0x00001cef LBB0_415 + 0x81, 0xfe, 0x00, 0x04, 0x00, 0x00, //0x00001cef cmpl $1024, %esi + 0x0f, 0x8e, 0x28, 0x00, 0x00, 0x00, //0x00001cf5 jle LBB0_417 + 0x31, 0xf6, //0x00001cfb xorl %esi, %esi + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00001cfd movabsq $9218868437227405312, %r8 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001d07 movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001d11 movabsq $4503599627370495, %r10 + 0x8a, 0x55, 0xd7, //0x00001d1b movb $-41(%rbp), %dl + 0xe9, 0xb7, 0x05, 0x00, 0x00, //0x00001d1e jmp LBB0_506 + //0x00001d23 LBB0_417 + 0xff, 0xce, //0x00001d23 decl %esi + 0x41, 0x89, 0xf0, //0x00001d25 movl %esi, %r8d + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001d28 movabsq $4503599627370495, %r10 + //0x00001d32 LBB0_418 + 0x85, 0xff, //0x00001d32 testl %edi, %edi + 0x0f, 0x84, 0xc2, 0x01, 0x00, 0x00, //0x00001d34 je LBB0_443 + 0x4c, 0x89, 0x45, 0xc8, //0x00001d3a movq %r8, $-56(%rbp) + 0x4d, 0x89, 0xd8, //0x00001d3e movq %r11, %r8 + 0x45, 0x89, 0xfa, //0x00001d41 movl %r15d, %r10d + 0xe9, 0xfa, 0x01, 0x00, 0x00, //0x00001d44 jmp LBB0_448 + //0x00001d49 LBB0_420 + 0x31, 0xc0, //0x00001d49 xorl %eax, %eax + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001d4b movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001d55 movabsq $4503599627370495, %r10 + 0xe9, 0xcf, 0x03, 0x00, 0x00, //0x00001d5f jmp LBB0_475 + //0x00001d64 LBB0_421 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001d64 movabsq $4503599627370495, %r10 + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00001d6e jmp LBB0_423 + //0x00001d73 LBB0_422 + 0x44, 0x89, 0xff, //0x00001d73 movl %r15d, %edi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001d76 movabsq $4503599627370495, %r10 + 0x4d, 0x89, 0xc3, //0x00001d80 movq %r8, %r11 + 0x41, 0xb8, 0x02, 0xfc, 0xff, 0xff, //0x00001d83 movl $-1022, %r8d + 0x85, 0xc9, //0x00001d89 testl %ecx, %ecx + 0x0f, 0x84, 0xa1, 0xff, 0xff, 0xff, //0x00001d8b je LBB0_418 + //0x00001d91 LBB0_423 + 0xf7, 0xd9, //0x00001d91 negl %ecx + 0x48, 0x63, 0xf7, //0x00001d93 movslq %edi, %rsi + 0x31, 0xd2, //0x00001d96 xorl %edx, %edx + 0x31, 0xc0, //0x00001d98 xorl %eax, %eax + //0x00001d9a LBB0_424 + 0x48, 0x39, 0xf2, //0x00001d9a cmpq %rsi, %rdx + 0x0f, 0x8d, 0x25, 0x00, 0x00, 0x00, //0x00001d9d jge LBB0_440 + 0x48, 0x8d, 0x04, 0x80, //0x00001da3 leaq (%rax,%rax,4), %rax + 0x49, 0x0f, 0xbe, 0x1c, 0x14, //0x00001da7 movsbq (%r12,%rdx), %rbx + 0x48, 0x8d, 0x44, 0x43, 0xd0, //0x00001dac leaq $-48(%rbx,%rax,2), %rax + 0x48, 0xff, 0xc2, //0x00001db1 incq %rdx + 0x48, 0x89, 0xc3, //0x00001db4 movq %rax, %rbx + 0x48, 0xd3, 0xeb, //0x00001db7 shrq %cl, %rbx + 0x48, 0x85, 0xdb, //0x00001dba testq %rbx, %rbx + 0x0f, 0x84, 0xd7, 0xff, 0xff, 0xff, //0x00001dbd je LBB0_424 + 0xe9, 0x30, 0x00, 0x00, 0x00, //0x00001dc3 jmp LBB0_426 + //0x00001dc8 LBB0_440 + 0x48, 0x85, 0xc0, //0x00001dc8 testq %rax, %rax + 0x0f, 0x84, 0x2b, 0x01, 0x00, 0x00, //0x00001dcb je LBB0_443 + 0x48, 0x89, 0xc6, //0x00001dd1 movq %rax, %rsi + 0x48, 0xd3, 0xee, //0x00001dd4 shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x00001dd7 testq %rsi, %rsi + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x00001dda jne LBB0_426 + //0x00001de0 LBB0_442 + 0x48, 0x01, 0xc0, //0x00001de0 addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001de3 leaq (%rax,%rax,4), %rax + 0xff, 0xc2, //0x00001de7 incl %edx + 0x48, 0x89, 0xc6, //0x00001de9 movq %rax, %rsi + 0x48, 0xd3, 0xee, //0x00001dec shrq %cl, %rsi + 0x48, 0x85, 0xf6, //0x00001def testq %rsi, %rsi + 0x0f, 0x84, 0xe8, 0xff, 0xff, 0xff, //0x00001df2 je LBB0_442 + //0x00001df8 LBB0_426 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00001df8 movq $-1, %rsi + 0x48, 0xd3, 0xe6, //0x00001dff shlq %cl, %rsi + 0x48, 0xf7, 0xd6, //0x00001e02 notq %rsi + 0x45, 0x31, 0xd2, //0x00001e05 xorl %r10d, %r10d + 0x39, 0xfa, //0x00001e08 cmpl %edi, %edx + 0x0f, 0x8d, 0x3d, 0x00, 0x00, 0x00, //0x00001e0a jge LBB0_429 + 0x4c, 0x63, 0xca, //0x00001e10 movslq %edx, %r9 + 0x4d, 0x63, 0xc7, //0x00001e13 movslq %r15d, %r8 + 0x4b, 0x8d, 0x1c, 0x0c, //0x00001e16 leaq (%r12,%r9), %rbx + 0x45, 0x31, 0xd2, //0x00001e1a xorl %r10d, %r10d + //0x00001e1d LBB0_428 + 0x48, 0x89, 0xc7, //0x00001e1d movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00001e20 shrq %cl, %rdi + 0x48, 0x21, 0xf0, //0x00001e23 andq %rsi, %rax + 0x40, 0x80, 0xc7, 0x30, //0x00001e26 addb $48, %dil + 0x43, 0x88, 0x3c, 0x14, //0x00001e2a movb %dil, (%r12,%r10) + 0x48, 0x8d, 0x04, 0x80, //0x00001e2e leaq (%rax,%rax,4), %rax + 0x4a, 0x0f, 0xbe, 0x3c, 0x13, //0x00001e32 movsbq (%rbx,%r10), %rdi + 0x48, 0x8d, 0x44, 0x47, 0xd0, //0x00001e37 leaq $-48(%rdi,%rax,2), %rax + 0x4b, 0x8d, 0x7c, 0x11, 0x01, //0x00001e3c leaq $1(%r9,%r10), %rdi + 0x49, 0xff, 0xc2, //0x00001e41 incq %r10 + 0x4c, 0x39, 0xc7, //0x00001e44 cmpq %r8, %rdi + 0x0f, 0x8c, 0xd0, 0xff, 0xff, 0xff, //0x00001e47 jl LBB0_428 + //0x00001e4d LBB0_429 + 0x41, 0x29, 0xd3, //0x00001e4d subl %edx, %r11d + 0x48, 0x85, 0xc0, //0x00001e50 testq %rax, %rax + 0x0f, 0x84, 0x53, 0x00, 0x00, 0x00, //0x00001e53 je LBB0_434 + 0xba, 0x01, 0x00, 0x00, 0x00, //0x00001e59 movl $1, %edx + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00001e5e jmp LBB0_432 + //0x00001e63 LBB0_431 + 0x48, 0x85, 0xff, //0x00001e63 testq %rdi, %rdi + 0x44, 0x0f, 0x45, 0xf2, //0x00001e66 cmovnel %edx, %r14d + 0x48, 0x01, 0xc0, //0x00001e6a addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001e6d leaq (%rax,%rax,4), %rax + 0x48, 0x85, 0xc0, //0x00001e71 testq %rax, %rax + 0x0f, 0x84, 0x32, 0x00, 0x00, 0x00, //0x00001e74 je LBB0_434 + //0x00001e7a LBB0_432 + 0x48, 0x89, 0xc7, //0x00001e7a movq %rax, %rdi + 0x48, 0xd3, 0xef, //0x00001e7d shrq %cl, %rdi + 0x48, 0x21, 0xf0, //0x00001e80 andq %rsi, %rax + 0x49, 0x63, 0xda, //0x00001e83 movslq %r10d, %rbx + 0x49, 0x39, 0xdd, //0x00001e86 cmpq %rbx, %r13 + 0x0f, 0x86, 0xd4, 0xff, 0xff, 0xff, //0x00001e89 jbe LBB0_431 + 0x40, 0x80, 0xc7, 0x30, //0x00001e8f addb $48, %dil + 0x41, 0x88, 0x3c, 0x1c, //0x00001e93 movb %dil, (%r12,%rbx) + 0xff, 0xc3, //0x00001e97 incl %ebx + 0x41, 0x89, 0xda, //0x00001e99 movl %ebx, %r10d + 0x48, 0x01, 0xc0, //0x00001e9c addq %rax, %rax + 0x48, 0x8d, 0x04, 0x80, //0x00001e9f leaq (%rax,%rax,4), %rax + 0x48, 0x85, 0xc0, //0x00001ea3 testq %rax, %rax + 0x0f, 0x85, 0xce, 0xff, 0xff, 0xff, //0x00001ea6 jne LBB0_432 + //0x00001eac LBB0_434 + 0x41, 0xff, 0xc3, //0x00001eac incl %r11d + 0x45, 0x85, 0xd2, //0x00001eaf testl %r10d, %r10d + 0x0f, 0x8e, 0x6d, 0x00, 0x00, 0x00, //0x00001eb2 jle LBB0_446 + 0x44, 0x89, 0xd0, //0x00001eb8 movl %r10d, %eax + 0x42, 0x80, 0x7c, 0x20, 0xff, 0x30, //0x00001ebb cmpb $48, $-1(%rax,%r12) + 0x0f, 0x85, 0x6d, 0x00, 0x00, 0x00, //0x00001ec1 jne LBB0_447 + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00001ec7 movabsq $4503599627370495, %r10 + //0x00001ed1 LBB0_437 + 0x48, 0x83, 0xf8, 0x01, //0x00001ed1 cmpq $1, %rax + 0x0f, 0x8e, 0x45, 0x00, 0x00, 0x00, //0x00001ed5 jle LBB0_445 + 0x4c, 0x8d, 0x78, 0xff, //0x00001edb leaq $-1(%rax), %r15 + 0x41, 0x80, 0x7c, 0x04, 0xfe, 0x30, //0x00001edf cmpb $48, $-2(%r12,%rax) + 0x4c, 0x89, 0xf8, //0x00001ee5 movq %r15, %rax + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00001ee8 je LBB0_437 + 0x41, 0xb8, 0x02, 0xfc, 0xff, 0xff, //0x00001eee movl $-1022, %r8d + 0x44, 0x89, 0xff, //0x00001ef4 movl %r15d, %edi + 0xe9, 0x36, 0xfe, 0xff, 0xff, //0x00001ef7 jmp LBB0_418 + //0x00001efc LBB0_443 + 0x31, 0xc0, //0x00001efc xorl %eax, %eax + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00001efe movabsq $-9223372036854775808, %rdi + 0xe9, 0x26, 0x02, 0x00, 0x00, //0x00001f08 jmp LBB0_475 + //0x00001f0d LBB0_444 + 0x01, 0xc7, //0x00001f0d addl %eax, %edi + 0x45, 0x31, 0xdb, //0x00001f0f xorl %r11d, %r11d + 0x45, 0x31, 0xff, //0x00001f12 xorl %r15d, %r15d + 0x89, 0xf8, //0x00001f15 movl %edi, %eax + 0x31, 0xff, //0x00001f17 xorl %edi, %edi + 0x89, 0xc6, //0x00001f19 movl %eax, %esi + 0xe9, 0x1f, 0xf4, 0xff, 0xff, //0x00001f1b jmp LBB0_271 + //0x00001f20 LBB0_445 + 0xff, 0xc8, //0x00001f20 decl %eax + 0x41, 0x89, 0xc2, //0x00001f22 movl %eax, %r10d + //0x00001f25 LBB0_446 + 0x41, 0xb8, 0x02, 0xfc, 0xff, 0xff, //0x00001f25 movl $-1022, %r8d + 0x45, 0x85, 0xd2, //0x00001f2b testl %r10d, %r10d + 0x0f, 0x84, 0x1d, 0x03, 0x00, 0x00, //0x00001f2e je LBB0_499 + //0x00001f34 LBB0_447 + 0xb8, 0x02, 0xfc, 0xff, 0xff, //0x00001f34 movl $-1022, %eax + 0x48, 0x89, 0x45, 0xc8, //0x00001f39 movq %rax, $-56(%rbp) + 0x4d, 0x89, 0xd8, //0x00001f3d movq %r11, %r8 + 0x44, 0x89, 0xd7, //0x00001f40 movl %r10d, %edi + //0x00001f43 LBB0_448 + 0x4c, 0x63, 0xdf, //0x00001f43 movslq %edi, %r11 + 0xb1, 0x31, //0x00001f46 movb $49, %cl + 0x31, 0xc0, //0x00001f48 xorl %eax, %eax + 0x41, 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00001f4a movl $16, %r9d + //0x00001f50 LBB0_449 + 0x48, 0x83, 0xf8, 0x26, //0x00001f50 cmpq $38, %rax + 0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00001f54 je LBB0_454 + 0x41, 0x38, 0x0c, 0x04, //0x00001f5a cmpb %cl, (%r12,%rax) + 0x0f, 0x85, 0xd7, 0x00, 0x00, 0x00, //0x00001f5e jne LBB0_463 + 0x48, 0x8d, 0x0d, 0x45, 0x30, 0x00, 0x00, //0x00001f64 leaq $12357(%rip), %rcx /* _LSHIFT_TAB+0(%rip) */ + 0x0f, 0xb6, 0x8c, 0x08, 0x8d, 0x15, 0x00, 0x00, //0x00001f6b movzbl $5517(%rax,%rcx), %ecx + 0x48, 0xff, 0xc0, //0x00001f73 incq %rax + 0x49, 0x39, 0xc3, //0x00001f76 cmpq %rax, %r11 + 0x0f, 0x85, 0xd1, 0xff, 0xff, 0xff, //0x00001f79 jne LBB0_449 + 0x84, 0xc9, //0x00001f7f testb %cl, %cl + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00001f81 je LBB0_454 + //0x00001f87 LBB0_453 + 0x41, 0xb9, 0x0f, 0x00, 0x00, 0x00, //0x00001f87 movl $15, %r9d + //0x00001f8d LBB0_454 + 0x85, 0xff, //0x00001f8d testl %edi, %edi + 0x0f, 0x8e, 0x9a, 0x00, 0x00, 0x00, //0x00001f8f jle LBB0_462 + 0x44, 0x01, 0xcf, //0x00001f95 addl %r9d, %edi + 0x48, 0x63, 0xf7, //0x00001f98 movslq %edi, %rsi + 0x48, 0xff, 0xce, //0x00001f9b decq %rsi + 0x49, 0xff, 0xc3, //0x00001f9e incq %r11 + 0x31, 0xc9, //0x00001fa1 xorl %ecx, %ecx + 0x49, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x00001fa3 movabsq $-432345564227567616, %r15 + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x00001fad jmp LBB0_458 + //0x00001fb2 LBB0_456 + 0x48, 0x85, 0xc0, //0x00001fb2 testq %rax, %rax + 0xb8, 0x01, 0x00, 0x00, 0x00, //0x00001fb5 movl $1, %eax + 0x44, 0x0f, 0x45, 0xf0, //0x00001fba cmovnel %eax, %r14d + //0x00001fbe LBB0_457 + 0xff, 0xcf, //0x00001fbe decl %edi + 0x48, 0xff, 0xce, //0x00001fc0 decq %rsi + 0x49, 0xff, 0xcb, //0x00001fc3 decq %r11 + 0x49, 0x83, 0xfb, 0x01, //0x00001fc6 cmpq $1, %r11 + 0x0f, 0x8e, 0x49, 0x00, 0x00, 0x00, //0x00001fca jle LBB0_460 + //0x00001fd0 LBB0_458 + 0x4b, 0x0f, 0xbe, 0x5c, 0x1c, 0xfe, //0x00001fd0 movsbq $-2(%r12,%r11), %rbx + 0x48, 0xc1, 0xe3, 0x35, //0x00001fd6 shlq $53, %rbx + 0x48, 0x01, 0xcb, //0x00001fda addq %rcx, %rbx + 0x4c, 0x01, 0xfb, //0x00001fdd addq %r15, %rbx + 0x48, 0x89, 0xd8, //0x00001fe0 movq %rbx, %rax + 0x48, 0xb9, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00001fe3 movabsq $-3689348814741910323, %rcx + 0x48, 0xf7, 0xe1, //0x00001fed mulq %rcx + 0x48, 0x89, 0xd1, //0x00001ff0 movq %rdx, %rcx + 0x48, 0xc1, 0xe9, 0x03, //0x00001ff3 shrq $3, %rcx + 0x48, 0x8d, 0x04, 0x09, //0x00001ff7 leaq (%rcx,%rcx), %rax + 0x48, 0x8d, 0x14, 0x80, //0x00001ffb leaq (%rax,%rax,4), %rdx + 0x48, 0x89, 0xd8, //0x00001fff movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x00002002 subq %rdx, %rax + 0x4c, 0x39, 0xee, //0x00002005 cmpq %r13, %rsi + 0x0f, 0x83, 0xa4, 0xff, 0xff, 0xff, //0x00002008 jae LBB0_456 + 0x04, 0x30, //0x0000200e addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x00002010 movb %al, (%r12,%rsi) + 0xe9, 0xa5, 0xff, 0xff, 0xff, //0x00002014 jmp LBB0_457 + //0x00002019 LBB0_460 + 0x48, 0x83, 0xfb, 0x0a, //0x00002019 cmpq $10, %rbx + 0x4d, 0x89, 0xc3, //0x0000201d movq %r8, %r11 + 0x0f, 0x83, 0x20, 0x00, 0x00, 0x00, //0x00002020 jae LBB0_464 + 0x4c, 0x8b, 0x45, 0xc8, //0x00002026 movq $-56(%rbp), %r8 + 0xe9, 0x83, 0x00, 0x00, 0x00, //0x0000202a jmp LBB0_468 + //0x0000202f LBB0_462 + 0x4d, 0x89, 0xc3, //0x0000202f movq %r8, %r11 + 0x4c, 0x8b, 0x45, 0xc8, //0x00002032 movq $-56(%rbp), %r8 + 0xe9, 0x77, 0x00, 0x00, 0x00, //0x00002036 jmp LBB0_468 + //0x0000203b LBB0_463 + 0x0f, 0x8c, 0x46, 0xff, 0xff, 0xff, //0x0000203b jl LBB0_453 + 0xe9, 0x47, 0xff, 0xff, 0xff, //0x00002041 jmp LBB0_454 + //0x00002046 LBB0_464 + 0x48, 0x63, 0xf7, //0x00002046 movslq %edi, %rsi + 0x48, 0xff, 0xce, //0x00002049 decq %rsi + 0xbf, 0x01, 0x00, 0x00, 0x00, //0x0000204c movl $1, %edi + 0x4c, 0x8b, 0x45, 0xc8, //0x00002051 movq $-56(%rbp), %r8 + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002055 jmp LBB0_466 + //0x0000205a LBB0_465 + 0x48, 0x85, 0xc0, //0x0000205a testq %rax, %rax + 0x44, 0x0f, 0x45, 0xf7, //0x0000205d cmovnel %edi, %r14d + 0x48, 0xff, 0xce, //0x00002061 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x00002064 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x00002068 movq %rdx, %rcx + 0x0f, 0x86, 0x41, 0x00, 0x00, 0x00, //0x0000206b jbe LBB0_468 + //0x00002071 LBB0_466 + 0x48, 0x89, 0xc8, //0x00002071 movq %rcx, %rax + 0x48, 0xba, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x00002074 movabsq $-3689348814741910323, %rdx + 0x48, 0xf7, 0xe2, //0x0000207e mulq %rdx + 0x48, 0xc1, 0xea, 0x03, //0x00002081 shrq $3, %rdx + 0x48, 0x8d, 0x04, 0x12, //0x00002085 leaq (%rdx,%rdx), %rax + 0x48, 0x8d, 0x1c, 0x80, //0x00002089 leaq (%rax,%rax,4), %rbx + 0x48, 0x89, 0xc8, //0x0000208d movq %rcx, %rax + 0x48, 0x29, 0xd8, //0x00002090 subq %rbx, %rax + 0x4c, 0x39, 0xee, //0x00002093 cmpq %r13, %rsi + 0x0f, 0x83, 0xbe, 0xff, 0xff, 0xff, //0x00002096 jae LBB0_465 + 0x04, 0x30, //0x0000209c addb $48, %al + 0x41, 0x88, 0x04, 0x34, //0x0000209e movb %al, (%r12,%rsi) + 0x48, 0xff, 0xce, //0x000020a2 decq %rsi + 0x48, 0x83, 0xf9, 0x09, //0x000020a5 cmpq $9, %rcx + 0x48, 0x89, 0xd1, //0x000020a9 movq %rdx, %rcx + 0x0f, 0x87, 0xbf, 0xff, 0xff, 0xff, //0x000020ac ja LBB0_466 + //0x000020b2 LBB0_468 + 0x45, 0x01, 0xca, //0x000020b2 addl %r9d, %r10d + 0x49, 0x63, 0xc2, //0x000020b5 movslq %r10d, %rax + 0x49, 0x39, 0xc5, //0x000020b8 cmpq %rax, %r13 + 0x41, 0x0f, 0x46, 0xc5, //0x000020bb cmovbel %r13d, %eax + 0x45, 0x01, 0xcb, //0x000020bf addl %r9d, %r11d + 0x85, 0xc0, //0x000020c2 testl %eax, %eax + 0x0f, 0x8e, 0x44, 0x00, 0x00, 0x00, //0x000020c4 jle LBB0_472 + 0x89, 0xc1, //0x000020ca movl %eax, %ecx + 0x42, 0x80, 0x7c, 0x21, 0xff, 0x30, //0x000020cc cmpb $48, $-1(%rcx,%r12) + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x000020d2 movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000020dc movabsq $4503599627370495, %r10 + 0x0f, 0x85, 0x47, 0x00, 0x00, 0x00, //0x000020e6 jne LBB0_475 + //0x000020ec LBB0_470 + 0x48, 0x83, 0xf9, 0x01, //0x000020ec cmpq $1, %rcx + 0x0f, 0x8e, 0x31, 0x00, 0x00, 0x00, //0x000020f0 jle LBB0_473 + 0x48, 0x8d, 0x41, 0xff, //0x000020f6 leaq $-1(%rcx), %rax + 0x41, 0x80, 0x7c, 0x0c, 0xfe, 0x30, //0x000020fa cmpb $48, $-2(%r12,%rcx) + 0x48, 0x89, 0xc1, //0x00002100 movq %rax, %rcx + 0x0f, 0x84, 0xe3, 0xff, 0xff, 0xff, //0x00002103 je LBB0_470 + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00002109 jmp LBB0_475 + //0x0000210e LBB0_472 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x0000210e movabsq $-9223372036854775808, %rdi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002118 movabsq $4503599627370495, %r10 + 0xe9, 0x04, 0x00, 0x00, 0x00, //0x00002122 jmp LBB0_474 + //0x00002127 LBB0_473 + 0xff, 0xc9, //0x00002127 decl %ecx + 0x89, 0xc8, //0x00002129 movl %ecx, %eax + //0x0000212b LBB0_474 + 0x85, 0xc0, //0x0000212b testl %eax, %eax + 0x0f, 0x84, 0x15, 0x01, 0x00, 0x00, //0x0000212d je LBB0_498 + //0x00002133 LBB0_475 + 0x48, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00002133 movq $-1, %rsi + 0x41, 0x83, 0xfb, 0x14, //0x0000213a cmpl $20, %r11d + 0x0f, 0x8e, 0x08, 0x00, 0x00, 0x00, //0x0000213e jle LBB0_477 + 0x8a, 0x55, 0xd7, //0x00002144 movb $-41(%rbp), %dl + 0xe9, 0x6e, 0x01, 0x00, 0x00, //0x00002147 jmp LBB0_505 + //0x0000214c LBB0_477 + 0x44, 0x89, 0xda, //0x0000214c movl %r11d, %edx + 0x45, 0x85, 0xdb, //0x0000214f testl %r11d, %r11d + 0x0f, 0x8e, 0x32, 0x00, 0x00, 0x00, //0x00002152 jle LBB0_482 + 0x48, 0x63, 0xf0, //0x00002158 movslq %eax, %rsi + 0x31, 0xff, //0x0000215b xorl %edi, %edi + 0x31, 0xc9, //0x0000215d xorl %ecx, %ecx + //0x0000215f LBB0_479 + 0x48, 0x39, 0xf7, //0x0000215f cmpq %rsi, %rdi + 0x0f, 0x8d, 0x1a, 0x00, 0x00, 0x00, //0x00002162 jge LBB0_481 + 0x48, 0x8d, 0x0c, 0x89, //0x00002168 leaq (%rcx,%rcx,4), %rcx + 0x49, 0x0f, 0xbe, 0x1c, 0x3c, //0x0000216c movsbq (%r12,%rdi), %rbx + 0x48, 0x8d, 0x4c, 0x4b, 0xd0, //0x00002171 leaq $-48(%rbx,%rcx,2), %rcx + 0x48, 0xff, 0xc7, //0x00002176 incq %rdi + 0x48, 0x39, 0xfa, //0x00002179 cmpq %rdi, %rdx + 0x0f, 0x85, 0xdd, 0xff, 0xff, 0xff, //0x0000217c jne LBB0_479 + //0x00002182 LBB0_481 + 0x45, 0x31, 0xc9, //0x00002182 xorl %r9d, %r9d + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x00002185 jmp LBB0_483 + //0x0000218a LBB0_482 + 0x31, 0xff, //0x0000218a xorl %edi, %edi + 0x41, 0xb1, 0x01, //0x0000218c movb $1, %r9b + 0x31, 0xc9, //0x0000218f xorl %ecx, %ecx + //0x00002191 LBB0_483 + 0x44, 0x89, 0xde, //0x00002191 movl %r11d, %esi + 0x29, 0xfe, //0x00002194 subl %edi, %esi + 0x0f, 0x8e, 0x52, 0x00, 0x00, 0x00, //0x00002196 jle LBB0_491 + 0x41, 0x89, 0xfa, //0x0000219c movl %edi, %r10d + 0x41, 0xf7, 0xd2, //0x0000219f notl %r10d + 0x45, 0x01, 0xda, //0x000021a2 addl %r11d, %r10d + 0x83, 0xe6, 0x07, //0x000021a5 andl $7, %esi + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000021a8 je LBB0_488 + 0xf7, 0xde, //0x000021ae negl %esi + 0x31, 0xdb, //0x000021b0 xorl %ebx, %ebx + //0x000021b2 LBB0_486 + 0x48, 0x01, 0xc9, //0x000021b2 addq %rcx, %rcx + 0x48, 0x8d, 0x0c, 0x89, //0x000021b5 leaq (%rcx,%rcx,4), %rcx + 0xff, 0xcb, //0x000021b9 decl %ebx + 0x39, 0xde, //0x000021bb cmpl %ebx, %esi + 0x0f, 0x85, 0xef, 0xff, 0xff, 0xff, //0x000021bd jne LBB0_486 + 0x29, 0xdf, //0x000021c3 subl %ebx, %edi + //0x000021c5 LBB0_488 + 0x41, 0x83, 0xfa, 0x07, //0x000021c5 cmpl $7, %r10d + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x000021c9 movabsq $4503599627370495, %r10 + 0x0f, 0x82, 0x15, 0x00, 0x00, 0x00, //0x000021d3 jb LBB0_491 + 0x44, 0x89, 0xde, //0x000021d9 movl %r11d, %esi + 0x29, 0xfe, //0x000021dc subl %edi, %esi + //0x000021de LBB0_490 + 0x48, 0x69, 0xc9, 0x00, 0xe1, 0xf5, 0x05, //0x000021de imulq $100000000, %rcx, %rcx + 0x83, 0xc6, 0xf8, //0x000021e5 addl $-8, %esi + 0x0f, 0x85, 0xf0, 0xff, 0xff, 0xff, //0x000021e8 jne LBB0_490 + //0x000021ee LBB0_491 + 0x31, 0xff, //0x000021ee xorl %edi, %edi + 0x45, 0x85, 0xdb, //0x000021f0 testl %r11d, %r11d + 0x0f, 0x88, 0x66, 0x00, 0x00, 0x00, //0x000021f3 js LBB0_500 + 0x44, 0x39, 0xd8, //0x000021f9 cmpl %r11d, %eax + 0x0f, 0x8e, 0x5d, 0x00, 0x00, 0x00, //0x000021fc jle LBB0_500 + 0x41, 0x8a, 0x14, 0x14, //0x00002202 movb (%r12,%rdx), %dl + 0x41, 0x8d, 0x73, 0x01, //0x00002206 leal $1(%r11), %esi + 0x39, 0xc6, //0x0000220a cmpl %eax, %esi + 0x0f, 0x85, 0x2a, 0x00, 0x00, 0x00, //0x0000220c jne LBB0_497 + 0x80, 0xfa, 0x35, //0x00002212 cmpb $53, %dl + 0x0f, 0x85, 0x21, 0x00, 0x00, 0x00, //0x00002215 jne LBB0_497 + 0x45, 0x85, 0xf6, //0x0000221b testl %r14d, %r14d + 0x40, 0x0f, 0x95, 0xc7, //0x0000221e setne %dil + 0x41, 0x08, 0xf9, //0x00002222 orb %dil, %r9b + 0x0f, 0x85, 0x34, 0x00, 0x00, 0x00, //0x00002225 jne LBB0_500 + 0x49, 0x63, 0xc3, //0x0000222b movslq %r11d, %rax + 0x42, 0x8a, 0x7c, 0x20, 0xff, //0x0000222e movb $-1(%rax,%r12), %dil + 0x40, 0x80, 0xe7, 0x01, //0x00002233 andb $1, %dil + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00002237 jmp LBB0_500 + //0x0000223c LBB0_497 + 0x80, 0xfa, 0x34, //0x0000223c cmpb $52, %dl + 0x40, 0x0f, 0x9f, 0xc7, //0x0000223f setg %dil + 0xe9, 0x17, 0x00, 0x00, 0x00, //0x00002243 jmp LBB0_500 + //0x00002248 LBB0_498 + 0x31, 0xc9, //0x00002248 xorl %ecx, %ecx + 0x31, 0xff, //0x0000224a xorl %edi, %edi + 0xe9, 0x0e, 0x00, 0x00, 0x00, //0x0000224c jmp LBB0_500 + //0x00002251 LBB0_499 + 0x31, 0xc9, //0x00002251 xorl %ecx, %ecx + 0x31, 0xff, //0x00002253 xorl %edi, %edi + 0x49, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, //0x00002255 movabsq $4503599627370495, %r10 + //0x0000225f LBB0_500 + 0x8a, 0x55, 0xd7, //0x0000225f movb $-41(%rbp), %dl + 0x40, 0x0f, 0xb6, 0xf7, //0x00002262 movzbl %dil, %esi + 0x48, 0x01, 0xce, //0x00002266 addq %rcx, %rsi + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, //0x00002269 movabsq $9007199254740992, %rax + 0x48, 0x39, 0xc6, //0x00002273 cmpq %rax, %rsi + 0x0f, 0x85, 0x28, 0x00, 0x00, 0x00, //0x00002276 jne LBB0_503 + 0x41, 0x81, 0xf8, 0xfe, 0x03, 0x00, 0x00, //0x0000227c cmpl $1022, %r8d + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x00002283 movabsq $-9223372036854775808, %rdi + 0x0f, 0x8e, 0x20, 0x00, 0x00, 0x00, //0x0000228d jle LBB0_504 + 0x31, 0xf6, //0x00002293 xorl %esi, %esi + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x00002295 movabsq $9218868437227405312, %r8 + 0xe9, 0x36, 0x00, 0x00, 0x00, //0x0000229f jmp LBB0_506 + //0x000022a4 LBB0_503 + 0x48, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x000022a4 movabsq $-9223372036854775808, %rdi + 0xe9, 0x07, 0x00, 0x00, 0x00, //0x000022ae jmp LBB0_505 + //0x000022b3 LBB0_504 + 0x41, 0xff, 0xc0, //0x000022b3 incl %r8d + 0x49, 0x8d, 0x72, 0x01, //0x000022b6 leaq $1(%r10), %rsi + //0x000022ba LBB0_505 + 0x49, 0x8d, 0x42, 0x01, //0x000022ba leaq $1(%r10), %rax + 0x48, 0x21, 0xf0, //0x000022be andq %rsi, %rax + 0x41, 0x81, 0xc0, 0xff, 0x03, 0x00, 0x00, //0x000022c1 addl $1023, %r8d + 0x41, 0x81, 0xe0, 0xff, 0x07, 0x00, 0x00, //0x000022c8 andl $2047, %r8d + 0x49, 0xc1, 0xe0, 0x34, //0x000022cf shlq $52, %r8 + 0x48, 0x85, 0xc0, //0x000022d3 testq %rax, %rax + 0x4c, 0x0f, 0x44, 0xc0, //0x000022d6 cmoveq %rax, %r8 + //0x000022da LBB0_506 + 0x4c, 0x21, 0xd6, //0x000022da andq %r10, %rsi + 0x4c, 0x09, 0xc6, //0x000022dd orq %r8, %rsi + 0x48, 0x89, 0xf3, //0x000022e0 movq %rsi, %rbx + 0x48, 0x09, 0xfb, //0x000022e3 orq %rdi, %rbx + 0x80, 0xfa, 0x2d, //0x000022e6 cmpb $45, %dl + 0x48, 0x0f, 0x45, 0xde, //0x000022e9 cmovneq %rsi, %rbx + //0x000022ed LBB0_507 + 0x48, 0xff, 0xcf, //0x000022ed decq %rdi + 0x48, 0x21, 0xdf, //0x000022f0 andq %rbx, %rdi + 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, //0x000022f3 movabsq $9218868437227405312, %rax + 0x48, 0x39, 0xc7, //0x000022fd cmpq %rax, %rdi + 0x48, 0x8b, 0x45, 0x98, //0x00002300 movq $-104(%rbp), %rax + 0x0f, 0x85, 0x07, 0x00, 0x00, 0x00, //0x00002304 jne LBB0_509 + 0x48, 0xc7, 0x00, 0xf8, 0xff, 0xff, 0xff, //0x0000230a movq $-8, (%rax) + //0x00002311 LBB0_509 + 0x48, 0x89, 0x58, 0x08, //0x00002311 movq %rbx, $8(%rax) + 0x48, 0x8b, 0x45, 0xa0, //0x00002315 movq $-96(%rbp), %rax + 0x48, 0x8b, 0x4d, 0xa8, //0x00002319 movq $-88(%rbp), %rcx + 0x48, 0x89, 0x08, //0x0000231d movq %rcx, (%rax) + 0xe9, 0x0a, 0xe0, 0xff, 0xff, //0x00002320 jmp LBB0_51 + 0x00, 0x00, 0x00, //0x00002325 .p2align 2, 0x00 + //0x00002328 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00002328 .long 2 + 0x00, 0x00, 0x00, 0x00, //0x0000232c .p2align 4, 0x00 + //0x00002330 _P10_TAB + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, //0x00002330 .quad 4607182418800017408 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, //0x00002338 .quad 4621819117588971520 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, //0x00002340 .quad 4636737291354636288 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8f, 0x40, //0x00002348 .quad 4652007308841189376 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xc3, 0x40, //0x00002350 .quad 4666723172467343360 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0xf8, 0x40, //0x00002358 .quad 4681608360884174848 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x84, 0x2e, 0x41, //0x00002360 .quad 4696837146684686336 + 0x00, 0x00, 0x00, 0x00, 0xd0, 0x12, 0x63, 0x41, //0x00002368 .quad 4711630319722168320 + 0x00, 0x00, 0x00, 0x00, 0x84, 0xd7, 0x97, 0x41, //0x00002370 .quad 4726483295884279808 + 0x00, 0x00, 0x00, 0x00, 0x65, 0xcd, 0xcd, 0x41, //0x00002378 .quad 4741671816366391296 + 0x00, 0x00, 0x00, 0x20, 0x5f, 0xa0, 0x02, 0x42, //0x00002380 .quad 4756540486875873280 + 0x00, 0x00, 0x00, 0xe8, 0x76, 0x48, 0x37, 0x42, //0x00002388 .quad 4771362005757984768 + 0x00, 0x00, 0x00, 0xa2, 0x94, 0x1a, 0x6d, 0x42, //0x00002390 .quad 4786511204640096256 + 0x00, 0x00, 0x40, 0xe5, 0x9c, 0x30, 0xa2, 0x42, //0x00002398 .quad 4801453603149578240 + 0x00, 0x00, 0x90, 0x1e, 0xc4, 0xbc, 0xd6, 0x42, //0x000023a0 .quad 4816244402031689728 + 0x00, 0x00, 0x34, 0x26, 0xf5, 0x6b, 0x0c, 0x43, //0x000023a8 .quad 4831355200913801216 + 0x00, 0x80, 0xe0, 0x37, 0x79, 0xc3, 0x41, 0x43, //0x000023b0 .quad 4846369599423283200 + 0x00, 0xa0, 0xd8, 0x85, 0x57, 0x34, 0x76, 0x43, //0x000023b8 .quad 4861130398305394688 + 0x00, 0xc8, 0x4e, 0x67, 0x6d, 0xc1, 0xab, 0x43, //0x000023c0 .quad 4876203697187506176 + 0x00, 0x3d, 0x91, 0x60, 0xe4, 0x58, 0xe1, 0x43, //0x000023c8 .quad 4891288408196988160 + 0x40, 0x8c, 0xb5, 0x78, 0x1d, 0xaf, 0x15, 0x44, //0x000023d0 .quad 4906019910204099648 + 0x50, 0xef, 0xe2, 0xd6, 0xe4, 0x1a, 0x4b, 0x44, //0x000023d8 .quad 4921056587992461136 + 0x92, 0xd5, 0x4d, 0x06, 0xcf, 0xf0, 0x80, 0x44, //0x000023e0 .quad 4936209963552724370 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000023e8 .p2align 4, 0x00 + //0x000023f0 _POW10_M128_TAB + 0x53, 0xe4, 0x60, 0xcd, 0x69, 0xc8, 0x32, 0x17, //0x000023f0 .quad 1671618768450675795 + 0x88, 0x02, 0x1c, 0x08, 0xa0, 0xd5, 0x8f, 0xfa, //0x000023f8 .quad -391859759250406776 + 0xb4, 0x8e, 0x5c, 0x20, 0x42, 0xbd, 0x7f, 0x0e, //0x00002400 .quad 1044761730281672372 + 0x95, 0x81, 0x11, 0x05, 0x84, 0xe5, 0x99, 0x9c, //0x00002408 .quad -7162441377172586091 + 0x61, 0xb2, 0x73, 0xa8, 0x92, 0xac, 0x1f, 0x52, //0x00002410 .quad 5917638181279478369 + 0xfa, 0xe1, 0x55, 0x06, 0xe5, 0x5e, 0xc0, 0xc3, //0x00002418 .quad -4341365703038344710 + 0xf9, 0x9e, 0x90, 0x52, 0xb7, 0x97, 0xa7, 0xe6, //0x00002420 .quad -1826324310255427847 + 0x78, 0x5a, 0xeb, 0x47, 0x9e, 0x76, 0xb0, 0xf4, //0x00002428 .quad -815021110370542984 + 0x5c, 0x63, 0x9a, 0x93, 0xd2, 0xbe, 0x28, 0x90, //0x00002430 .quad -8058981721550724260 + 0x8b, 0x18, 0xf3, 0xec, 0x22, 0x4a, 0xee, 0x98, //0x00002438 .quad -7426917221622671221 + 0x33, 0xfc, 0x80, 0x38, 0x87, 0xee, 0x32, 0x74, //0x00002440 .quad 8373016921771146291 + 0xae, 0xde, 0x2f, 0xa8, 0xab, 0xdc, 0x29, 0xbf, //0x00002448 .quad -4671960508600951122 + 0x3f, 0x3b, 0xa1, 0x06, 0x29, 0xaa, 0x3f, 0x11, //0x00002450 .quad 1242899115359157055 + 0x5a, 0xd6, 0x3b, 0x92, 0xd6, 0x53, 0xf4, 0xee, //0x00002458 .quad -1228264617323800998 + 0x07, 0xc5, 0x24, 0xa4, 0x59, 0xca, 0xc7, 0x4a, //0x00002460 .quad 5388497965526861063 + 0xf8, 0x65, 0x65, 0x1b, 0x66, 0xb4, 0x58, 0x95, //0x00002468 .quad -7685194413468457480 + 0x49, 0xf6, 0x2d, 0x0d, 0xf0, 0xbc, 0x79, 0x5d, //0x00002470 .quad 6735622456908576329 + 0x76, 0xbf, 0x3e, 0xa2, 0x7f, 0xe1, 0xae, 0xba, //0x00002478 .quad -4994806998408183946 + 0xdc, 0x73, 0x79, 0x10, 0x2c, 0x2c, 0xd8, 0xf4, //0x00002480 .quad -803843965719055396 + 0x53, 0x6f, 0xce, 0x8a, 0xdf, 0x99, 0x5a, 0xe9, //0x00002488 .quad -1631822729582842029 + 0x69, 0xe8, 0x4b, 0x8a, 0x9b, 0x1b, 0x07, 0x79, //0x00002490 .quad 8720969558280366185 + 0x94, 0x05, 0xc1, 0xb6, 0x2b, 0xa0, 0xd8, 0x91, //0x00002498 .quad -7937418233630358124 + 0x84, 0xe2, 0xde, 0x6c, 0x82, 0xe2, 0x48, 0x97, //0x000024a0 .quad -7545532125859093884 + 0xf9, 0x46, 0x71, 0xa4, 0x36, 0xc8, 0x4e, 0xb6, //0x000024a8 .quad -5310086773610559751 + 0x25, 0x9b, 0x16, 0x08, 0x23, 0x1b, 0x1b, 0xfd, //0x000024b0 .quad -208543120469091547 + 0xb7, 0x98, 0x8d, 0x4d, 0x44, 0x7a, 0xe2, 0xe3, //0x000024b8 .quad -2025922448585811785 + 0xf7, 0x20, 0x0e, 0xe5, 0xf5, 0xf0, 0x30, 0xfe, //0x000024c0 .quad -130339450293182217 + 0x72, 0x7f, 0x78, 0xb0, 0x6a, 0x8c, 0x6d, 0x8e, //0x000024c8 .quad -8183730558007214222 + 0x35, 0xa9, 0x51, 0x5e, 0x33, 0x2d, 0xbd, 0xbd, //0x000024d0 .quad -4774610331293865675 + 0x4f, 0x9f, 0x96, 0x5c, 0x85, 0xef, 0x08, 0xb2, //0x000024d8 .quad -5617977179081629873 + 0x82, 0x13, 0xe6, 0x35, 0x80, 0x78, 0x2c, 0xad, //0x000024e0 .quad -5968262914117332094 + 0x23, 0x47, 0xbc, 0xb3, 0x66, 0x2b, 0x8b, 0xde, //0x000024e8 .quad -2410785455424649437 + 0x31, 0xcc, 0xaf, 0x21, 0x50, 0xcb, 0x3b, 0x4c, //0x000024f0 .quad 5493207715531443249 + 0x76, 0xac, 0x55, 0x30, 0x20, 0xfb, 0x16, 0x8b, //0x000024f8 .quad -8424269937281487754 + 0x3d, 0xbf, 0x1b, 0x2a, 0x24, 0xbe, 0x4a, 0xdf, //0x00002500 .quad -2356862392440471747 + 0x93, 0x17, 0x6b, 0x3c, 0xe8, 0xb9, 0xdc, 0xad, //0x00002508 .quad -5918651403174471789 + 0x0d, 0xaf, 0xa2, 0x34, 0xad, 0x6d, 0x1d, 0xd7, //0x00002510 .quad -2946077990550589683 + 0x78, 0xdd, 0x85, 0x4b, 0x62, 0xe8, 0x53, 0xd9, //0x00002518 .quad -2786628235540701832 + 0x68, 0xad, 0xe5, 0x40, 0x8c, 0x64, 0x72, 0x86, //0x00002520 .quad -8758827771735200408 + 0x6b, 0xaa, 0x33, 0x6f, 0x3d, 0x71, 0xd4, 0x87, //0x00002528 .quad -8659171674854020501 + 0xc2, 0x18, 0x1f, 0x51, 0xaf, 0xfd, 0x0e, 0x68, //0x00002530 .quad 7498209359040551106 + 0x06, 0x95, 0x00, 0xcb, 0x8c, 0x8d, 0xc9, 0xa9, //0x00002538 .quad -6212278575140137722 + 0xf2, 0xde, 0x66, 0x25, 0x1b, 0xbd, 0x12, 0x02, //0x00002540 .quad 149389661945913074 + 0x48, 0xba, 0xc0, 0xfd, 0xef, 0xf0, 0x3b, 0xd4, //0x00002548 .quad -3153662200497784248 + 0x57, 0x4b, 0x60, 0xf7, 0x30, 0xb6, 0x4b, 0x01, //0x00002550 .quad 93368538716195671 + 0x6d, 0x74, 0x98, 0xfe, 0x95, 0x76, 0xa5, 0x84, //0x00002558 .quad -8888567902952197011 + 0x2d, 0x5e, 0x38, 0x35, 0xbd, 0xa3, 0x9e, 0x41, //0x00002560 .quad 4728396691822632493 + 0x88, 0x91, 0x3e, 0x7e, 0x3b, 0xd4, 0xce, 0xa5, //0x00002568 .quad -6499023860262858360 + 0xb9, 0x75, 0x86, 0x82, 0xac, 0x4c, 0x06, 0x52, //0x00002570 .quad 5910495864778290617 + 0xea, 0x35, 0xce, 0x5d, 0x4a, 0x89, 0x42, 0xcf, //0x00002578 .quad -3512093806901185046 + 0x93, 0x09, 0x94, 0xd1, 0xeb, 0xef, 0x43, 0x73, //0x00002580 .quad 8305745933913819539 + 0xb2, 0xe1, 0xa0, 0x7a, 0xce, 0x95, 0x89, 0x81, //0x00002588 .quad -9112587656954322510 + 0xf8, 0x0b, 0xf9, 0xc5, 0xe6, 0xeb, 0x14, 0x10, //0x00002590 .quad 1158810380537498616 + 0x1f, 0x1a, 0x49, 0x19, 0x42, 0xfb, 0xeb, 0xa1, //0x00002598 .quad -6779048552765515233 + 0xf6, 0x4e, 0x77, 0x77, 0xe0, 0x26, 0x1a, 0xd4, //0x000025a0 .quad -3163173042755514634 + 0xa6, 0x60, 0x9b, 0x9f, 0x12, 0xfa, 0x66, 0xca, //0x000025a8 .quad -3862124672529506138 + 0xb4, 0x22, 0x55, 0x95, 0x98, 0xb0, 0x20, 0x89, //0x000025b0 .quad -8565652321871781196 + 0xd0, 0x38, 0x82, 0x47, 0x97, 0xb8, 0x00, 0xfd, //0x000025b8 .quad -215969822234494768 + 0xb0, 0x35, 0x55, 0x5d, 0x5f, 0x6e, 0xb4, 0x55, //0x000025c0 .quad 6175682344898606512 + 0x82, 0x63, 0xb1, 0x8c, 0x5e, 0x73, 0x20, 0x9e, //0x000025c8 .quad -7052510166537641086 + 0x1d, 0x83, 0xaa, 0x34, 0xf7, 0x89, 0x21, 0xeb, //0x000025d0 .quad -1503769105731517667 + 0x62, 0xbc, 0xdd, 0x2f, 0x36, 0x90, 0xa8, 0xc5, //0x000025d8 .quad -4203951689744663454 + 0xe4, 0x23, 0xd5, 0x01, 0x75, 0xec, 0xe9, 0xa5, //0x000025e0 .quad -6491397400591784988 + 0x7b, 0x2b, 0xd5, 0xbb, 0x43, 0xb4, 0x12, 0xf7, //0x000025e8 .quad -643253593753441413 + 0x6e, 0x36, 0x25, 0x21, 0xc9, 0x33, 0xb2, 0x47, //0x000025f0 .quad 5166248661484910190 + 0x2d, 0x3b, 0x65, 0x55, 0xaa, 0xb0, 0x6b, 0x9a, //0x000025f8 .quad -7319562523736982739 + 0x0a, 0x84, 0x6e, 0x69, 0xbb, 0xc0, 0x9e, 0x99, //0x00002600 .quad -7377247228426025974 + 0xf8, 0x89, 0xbe, 0xea, 0xd4, 0x9c, 0x06, 0xc1, //0x00002608 .quad -4537767136243840520 + 0x0d, 0x25, 0xca, 0x43, 0xea, 0x70, 0x06, 0xc0, //0x00002610 .quad -4609873017105144563 + 0x76, 0x2c, 0x6e, 0x25, 0x0a, 0x44, 0x48, 0xf1, //0x00002618 .quad -1060522901877412746 + 0x28, 0x57, 0x5e, 0x6a, 0x92, 0x06, 0x04, 0x38, //0x00002620 .quad 4036358391950366504 + 0xca, 0xdb, 0x64, 0x57, 0x86, 0x2a, 0xcd, 0x96, //0x00002628 .quad -7580355841314464822 + 0xf2, 0xec, 0xf5, 0x04, 0x37, 0x08, 0x05, 0xc6, //0x00002630 .quad -4177924046916817678 + 0xbc, 0x12, 0x3e, 0xed, 0x27, 0x75, 0x80, 0xbc, //0x00002638 .quad -4863758783215693124 + 0x2e, 0x68, 0x33, 0xc6, 0x44, 0x4a, 0x86, 0xf7, //0x00002640 .quad -610719040218634194 + 0x6b, 0x97, 0x8d, 0xe8, 0x71, 0x92, 0xa0, 0xeb, //0x00002648 .quad -1468012460592228501 + 0x1d, 0x21, 0xe0, 0xfb, 0x6a, 0xee, 0xb3, 0x7a, //0x00002650 .quad 8841672636718129437 + 0xa3, 0x7e, 0x58, 0x31, 0x87, 0x5b, 0x44, 0x93, //0x00002658 .quad -7835036815511224669 + 0x64, 0x29, 0xd8, 0xba, 0x05, 0xea, 0x60, 0x59, //0x00002660 .quad 6440404777470273892 + 0x4c, 0x9e, 0xae, 0xfd, 0x68, 0x72, 0x15, 0xb8, //0x00002668 .quad -5182110000961642932 + 0xbd, 0x33, 0x8e, 0x29, 0x87, 0x24, 0xb9, 0x6f, //0x00002670 .quad 8050505971837842365 + 0xdf, 0x45, 0x1a, 0x3d, 0x03, 0xcf, 0x1a, 0xe6, //0x00002678 .quad -1865951482774665761 + 0x56, 0xe0, 0xf8, 0x79, 0xd4, 0xb6, 0xd3, 0xa5, //0x00002680 .quad -6497648813669818282 + 0xab, 0x6b, 0x30, 0x06, 0x62, 0xc1, 0xd0, 0x8f, //0x00002688 .quad -8083748704375247957 + 0x6c, 0x18, 0x77, 0x98, 0x89, 0xa4, 0x48, 0x8f, //0x00002690 .quad -8122061017087272852 + 0x96, 0x86, 0xbc, 0x87, 0xba, 0xf1, 0xc4, 0xb3, //0x00002698 .quad -5492999862041672042 + 0x87, 0xde, 0x94, 0xfe, 0xab, 0xcd, 0x1a, 0x33, //0x000026a0 .quad 3682481783923072647 + 0x3c, 0xa8, 0xab, 0x29, 0x29, 0x2e, 0xb6, 0xe0, //0x000026a8 .quad -2254563809124702148 + 0x14, 0x0b, 0x1d, 0x7f, 0x8b, 0xc0, 0xf0, 0x9f, //0x000026b0 .quad -6921820921902855404 + 0x25, 0x49, 0x0b, 0xba, 0xd9, 0xdc, 0x71, 0x8c, //0x000026b8 .quad -8326631408344020699 + 0xd9, 0x4d, 0xe4, 0x5e, 0xae, 0xf0, 0xec, 0x07, //0x000026c0 .quad 571095884476206553 + 0x6f, 0x1b, 0x8e, 0x28, 0x10, 0x54, 0x8e, 0xaf, //0x000026c8 .quad -5796603242002637969 + 0x50, 0x61, 0x9d, 0xf6, 0xd9, 0x2c, 0xe8, 0xc9, //0x000026d0 .quad -3897816162832129712 + 0x4a, 0xa2, 0xb1, 0x32, 0x14, 0xe9, 0x71, 0xdb, //0x000026d8 .quad -2634068034075909558 + 0xd2, 0x5c, 0x22, 0x3a, 0x08, 0x1c, 0x31, 0xbe, //0x000026e0 .quad -4741978110983775022 + 0x6e, 0x05, 0xaf, 0x9f, 0xac, 0x31, 0x27, 0x89, //0x000026e8 .quad -8563821548938525330 + 0x06, 0xf4, 0xaa, 0x48, 0x0a, 0x63, 0xbd, 0x6d, //0x000026f0 .quad 7907585416552444934 + 0xca, 0xc6, 0x9a, 0xc7, 0x17, 0xfe, 0x70, 0xab, //0x000026f8 .quad -6093090917745768758 + 0x08, 0xb1, 0xd5, 0xda, 0xcc, 0xbb, 0x2c, 0x09, //0x00002700 .quad 661109733835780360 + 0x7d, 0x78, 0x81, 0xb9, 0x9d, 0x3d, 0x4d, 0xd6, //0x00002708 .quad -3004677628754823043 + 0xa5, 0x8e, 0xc5, 0x08, 0x60, 0xf5, 0xbb, 0x25, //0x00002710 .quad 2719036592861056677 + 0x4e, 0xeb, 0xf0, 0x93, 0x82, 0x46, 0xf0, 0x85, //0x00002718 .quad -8795452545612846258 + 0x4e, 0xf2, 0xf6, 0x0a, 0xb8, 0xf2, 0x2a, 0xaf, //0x00002720 .quad -5824576295778454962 + 0x21, 0x26, 0xed, 0x38, 0x23, 0x58, 0x6c, 0xa7, //0x00002728 .quad -6382629663588669919 + 0xe1, 0xae, 0xb4, 0x0d, 0x66, 0xaf, 0xf5, 0x1a, //0x00002730 .quad 1942651667131707105 + 0xaa, 0x6f, 0x28, 0x07, 0x2c, 0x6e, 0x47, 0xd1, //0x00002738 .quad -3366601061058449494 + 0x4d, 0xed, 0x90, 0xc8, 0x9f, 0x8d, 0xd9, 0x50, //0x00002740 .quad 5825843310384704845 + 0xca, 0x45, 0x79, 0x84, 0xdb, 0xa4, 0xcc, 0x82, //0x00002748 .quad -9021654690802612790 + 0xa0, 0x28, 0xb5, 0xba, 0x07, 0xf1, 0x0f, 0xe5, //0x00002750 .quad -1941067898873894752 + 0x3c, 0x97, 0x97, 0x65, 0x12, 0xce, 0x7f, 0xa3, //0x00002758 .quad -6665382345075878084 + 0xc8, 0x72, 0x62, 0xa9, 0x49, 0xed, 0x53, 0x1e, //0x00002760 .quad 2185351144835019464 + 0x0c, 0x7d, 0xfd, 0xfe, 0x96, 0xc1, 0x5f, 0xcc, //0x00002768 .quad -3720041912917459700 + 0x7a, 0x0f, 0xbb, 0x13, 0x9c, 0xe8, 0xe8, 0x25, //0x00002770 .quad 2731688931043774330 + 0x4f, 0xdc, 0xbc, 0xbe, 0xfc, 0xb1, 0x77, 0xff, //0x00002778 .quad -38366372719436721 + 0xac, 0xe9, 0x54, 0x8c, 0x61, 0x91, 0xb1, 0x77, //0x00002780 .quad 8624834609543440812 + 0xb1, 0x09, 0x36, 0xf7, 0x3d, 0xcf, 0xaa, 0x9f, //0x00002788 .quad -6941508010590729807 + 0x17, 0x24, 0x6a, 0xef, 0xb9, 0xf5, 0x9d, 0xd5, //0x00002790 .quad -3054014793352862697 + 0x1d, 0x8c, 0x03, 0x75, 0x0d, 0x83, 0x95, 0xc7, //0x00002798 .quad -4065198994811024355 + 0x1d, 0xad, 0x44, 0x6b, 0x28, 0x73, 0x05, 0x4b, //0x000027a0 .quad 5405853545163697437 + 0x25, 0x6f, 0x44, 0xd2, 0xd0, 0xe3, 0x7a, 0xf9, //0x000027a8 .quad -469812725086392539 + 0x32, 0xec, 0x0a, 0x43, 0xf9, 0x67, 0xe3, 0x4e, //0x000027b0 .quad 5684501474941004850 + 0x77, 0xc5, 0x6a, 0x83, 0x62, 0xce, 0xec, 0x9b, //0x000027b8 .quad -7211161980820077193 + 0x3f, 0xa7, 0xcd, 0x93, 0xf7, 0x41, 0x9c, 0x22, //0x000027c0 .quad 2493940825248868159 + 0xd5, 0x76, 0x45, 0x24, 0xfb, 0x01, 0xe8, 0xc2, //0x000027c8 .quad -4402266457597708587 + 0x0f, 0x11, 0xc1, 0x78, 0x75, 0x52, 0x43, 0x6b, //0x000027d0 .quad 7729112049988473103 + 0x8a, 0xd4, 0x56, 0xed, 0x79, 0x02, 0xa2, 0xf3, //0x000027d8 .quad -891147053569747830 + 0xa9, 0xaa, 0x78, 0x6b, 0x89, 0x13, 0x0a, 0x83, //0x000027e0 .quad -9004363024039368023 + 0xd6, 0x44, 0x56, 0x34, 0x8c, 0x41, 0x45, 0x98, //0x000027e8 .quad -7474495936122174250 + 0x53, 0xd5, 0x56, 0xc6, 0x6b, 0x98, 0xcc, 0x23, //0x000027f0 .quad 2579604275232953683 + 0x0c, 0xd6, 0x6b, 0x41, 0xef, 0x91, 0x56, 0xbe, //0x000027f8 .quad -4731433901725329908 + 0xa8, 0x8a, 0xec, 0xb7, 0x86, 0xbe, 0xbf, 0x2c, //0x00002800 .quad 3224505344041192104 + 0x8f, 0xcb, 0xc6, 0x11, 0x6b, 0x36, 0xec, 0xed, //0x00002808 .quad -1302606358729274481 + 0xa9, 0xd6, 0xf3, 0x32, 0x14, 0xd7, 0xf7, 0x7b, //0x00002810 .quad 8932844867666826921 + 0x39, 0x3f, 0x1c, 0xeb, 0x02, 0xa2, 0xb3, 0x94, //0x00002818 .quad -7731658001846878407 + 0x53, 0xcc, 0xb0, 0x3f, 0xd9, 0xcc, 0xf5, 0xda, //0x00002820 .quad -2669001970698630061 + 0x07, 0x4f, 0xe3, 0xa5, 0x83, 0x8a, 0xe0, 0xb9, //0x00002828 .quad -5052886483881210105 + 0x68, 0xff, 0x9c, 0x8f, 0x0f, 0x40, 0xb3, 0xd1, //0x00002830 .quad -3336252463373287576 + 0xc9, 0x22, 0x5c, 0x8f, 0x24, 0xad, 0x58, 0xe8, //0x00002838 .quad -1704422086424124727 + 0xa1, 0x1f, 0xc2, 0xb9, 0x09, 0x08, 0x10, 0x23, //0x00002840 .quad 2526528228819083169 + 0xbe, 0x95, 0x99, 0xd9, 0x36, 0x6c, 0x37, 0x91, //0x00002848 .quad -7982792831656159810 + 0x8a, 0xa7, 0x32, 0x28, 0x0c, 0x0a, 0xd4, 0xab, //0x00002850 .quad -6065211750830921846 + 0x2d, 0xfb, 0xff, 0x8f, 0x44, 0x47, 0x85, 0xb5, //0x00002858 .quad -5366805021142811859 + 0x6c, 0x51, 0x3f, 0x32, 0x8f, 0x0c, 0xc9, 0x16, //0x00002860 .quad 1641857348316123500 + 0xf9, 0xf9, 0xff, 0xb3, 0x15, 0x99, 0xe6, 0xe2, //0x00002868 .quad -2096820258001126919 + 0xe3, 0x92, 0x67, 0x7f, 0xd9, 0xa7, 0x3d, 0xae, //0x00002870 .quad -5891368184943504669 + 0x3b, 0xfc, 0x7f, 0x90, 0xad, 0x1f, 0xd0, 0x8d, //0x00002878 .quad -8228041688891786181 + 0x9c, 0x77, 0x41, 0xdf, 0xcf, 0x11, 0xcd, 0x99, //0x00002880 .quad -7364210231179380836 + 0x4a, 0xfb, 0x9f, 0xf4, 0x98, 0x27, 0x44, 0xb1, //0x00002888 .quad -5673366092687344822 + 0x83, 0xd5, 0x11, 0xd7, 0x43, 0x56, 0x40, 0x40, //0x00002890 .quad 4629795266307937667 + 0x1d, 0xfa, 0xc7, 0x31, 0x7f, 0x31, 0x95, 0xdd, //0x00002898 .quad -2480021597431793123 + 0x72, 0x25, 0x6b, 0x66, 0xea, 0x35, 0x28, 0x48, //0x000028a0 .quad 5199465050656154994 + 0x52, 0xfc, 0x1c, 0x7f, 0xef, 0x3e, 0x7d, 0x8a, //0x000028a8 .quad -8467542526035952558 + 0xcf, 0xee, 0x05, 0x00, 0x65, 0x43, 0x32, 0xda, //0x000028b0 .quad -2724040723534582065 + 0x66, 0x3b, 0xe4, 0x5e, 0xab, 0x8e, 0x1c, 0xad, //0x000028b8 .quad -5972742139117552794 + 0x82, 0x6a, 0x07, 0x40, 0x3e, 0xd4, 0xbe, 0x90, //0x000028c0 .quad -8016736922845615486 + 0x40, 0x4a, 0x9d, 0x36, 0x56, 0xb2, 0x63, 0xd8, //0x000028c8 .quad -2854241655469553088 + 0x91, 0xa2, 0x04, 0xe8, 0xa6, 0x44, 0x77, 0x5a, //0x000028d0 .quad 6518754469289960081 + 0x68, 0x4e, 0x22, 0xe2, 0x75, 0x4f, 0x3e, 0x87, //0x000028d8 .quad -8701430062309552536 + 0x36, 0xcb, 0x05, 0xa2, 0xd0, 0x15, 0x15, 0x71, //0x000028e0 .quad 8148443086612450102 + 0x02, 0xe2, 0xaa, 0x5a, 0x53, 0xe3, 0x0d, 0xa9, //0x000028e8 .quad -6265101559459552766 + 0x03, 0x3e, 0x87, 0xca, 0x44, 0x5b, 0x5a, 0x0d, //0x000028f0 .quad 962181821410786819 + 0x83, 0x9a, 0x55, 0x31, 0x28, 0x5c, 0x51, 0xd3, //0x000028f8 .quad -3219690930897053053 + 0xc2, 0x86, 0x94, 0xfe, 0x0a, 0x79, 0x58, 0xe8, //0x00002900 .quad -1704479370831952190 + 0x91, 0x80, 0xd5, 0x1e, 0x99, 0xd9, 0x12, 0x84, //0x00002908 .quad -8929835859451740015 + 0x72, 0xa8, 0x39, 0xbe, 0x4d, 0x97, 0x6e, 0x62, //0x00002910 .quad 7092772823314835570 + 0xb6, 0xe0, 0x8a, 0x66, 0xff, 0x8f, 0x17, 0xa5, //0x00002918 .quad -6550608805887287114 + 0x8f, 0x12, 0xc8, 0x2d, 0x21, 0x3d, 0x0a, 0xfb, //0x00002920 .quad -357406007711231345 + 0xe3, 0x98, 0x2d, 0x40, 0xff, 0x73, 0x5d, 0xce, //0x00002928 .quad -3576574988931720989 + 0x99, 0x0b, 0x9d, 0xbc, 0x34, 0x66, 0xe6, 0x7c, //0x00002930 .quad 8999993282035256217 + 0x8e, 0x7f, 0x1c, 0x88, 0x7f, 0x68, 0xfa, 0x80, //0x00002938 .quad -9152888395723407474 + 0x80, 0x4e, 0xc4, 0xeb, 0xc1, 0xff, 0x1f, 0x1c, //0x00002940 .quad 2026619565689294464 + 0x72, 0x9f, 0x23, 0x6a, 0x9f, 0x02, 0x39, 0xa1, //0x00002948 .quad -6829424476226871438 + 0x20, 0x62, 0xb5, 0x66, 0xb2, 0xff, 0x27, 0xa3, //0x00002950 .quad -6690097579743157728 + 0x4e, 0x87, 0xac, 0x44, 0x47, 0x43, 0x87, 0xc9, //0x00002958 .quad -3925094576856201394 + 0xa8, 0xba, 0x62, 0x00, 0x9f, 0xff, 0xf1, 0x4b, //0x00002960 .quad 5472436080603216552 + 0x22, 0xa9, 0xd7, 0x15, 0x19, 0x14, 0xe9, 0xfb, //0x00002968 .quad -294682202642863838 + 0xa9, 0xb4, 0x3d, 0x60, 0xc3, 0x3f, 0x77, 0x6f, //0x00002970 .quad 8031958568804398249 + 0xb5, 0xc9, 0xa6, 0xad, 0x8f, 0xac, 0x71, 0x9d, //0x00002978 .quad -7101705404292871755 + 0xd3, 0x21, 0x4d, 0x38, 0xb4, 0x0f, 0x55, 0xcb, //0x00002980 .quad -3795109844276665901 + 0x22, 0x7c, 0x10, 0x99, 0xb3, 0x17, 0xce, 0xc4, //0x00002988 .quad -4265445736938701790 + 0x48, 0x6a, 0x60, 0x46, 0xa1, 0x53, 0x2a, 0x7e, //0x00002990 .quad 9091170749936331336 + 0x2b, 0x9b, 0x54, 0x7f, 0xa0, 0x9d, 0x01, 0xf6, //0x00002998 .quad -720121152745989333 + 0x6d, 0x42, 0xfc, 0xcb, 0x44, 0x74, 0xda, 0x2e, //0x000029a0 .quad 3376138709496513133 + 0xfb, 0xe0, 0x94, 0x4f, 0x84, 0x02, 0xc1, 0x99, //0x000029a8 .quad -7367604748107325189 + 0x08, 0x53, 0xfb, 0xfe, 0x55, 0x11, 0x91, 0xfa, //0x000029b0 .quad -391512631556746488 + 0x39, 0x19, 0x7a, 0x63, 0x25, 0x43, 0x31, 0xc0, //0x000029b8 .quad -4597819916706768583 + 0xca, 0x27, 0xba, 0x7e, 0xab, 0x55, 0x35, 0x79, //0x000029c0 .quad 8733981247408842698 + 0x88, 0x9f, 0x58, 0xbc, 0xee, 0x93, 0x3d, 0xf0, //0x000029c8 .quad -1135588877456072824 + 0xde, 0x58, 0x34, 0x2f, 0x8b, 0x55, 0xc1, 0x4b, //0x000029d0 .quad 5458738279630526686 + 0xb5, 0x63, 0xb7, 0x35, 0x75, 0x7c, 0x26, 0x96, //0x000029d8 .quad -7627272076051127371 + 0x16, 0x6f, 0x01, 0xfb, 0xed, 0xaa, 0xb1, 0x9e, //0x000029e0 .quad -7011635205744005354 + 0xa2, 0x3c, 0x25, 0x83, 0x92, 0x1b, 0xb0, 0xbb, //0x000029e8 .quad -4922404076636521310 + 0xdc, 0xca, 0xc1, 0x79, 0xa9, 0x15, 0x5e, 0x46, //0x000029f0 .quad 5070514048102157020 + 0xcb, 0x8b, 0xee, 0x23, 0x77, 0x22, 0x9c, 0xea, //0x000029f8 .quad -1541319077368263733 + 0xc9, 0x1e, 0x19, 0xec, 0x89, 0xcd, 0xfa, 0x0b, //0x00002a00 .quad 863228270850154185 + 0x5f, 0x17, 0x75, 0x76, 0x8a, 0x95, 0xa1, 0x92, //0x00002a08 .quad -7880853450996246689 + 0x7b, 0x66, 0x1f, 0x67, 0xec, 0x80, 0xf9, 0xce, //0x00002a10 .quad -3532650679864695173 + 0x36, 0x5d, 0x12, 0x14, 0xed, 0xfa, 0x49, 0xb7, //0x00002a18 .quad -5239380795317920458 + 0x1a, 0x40, 0xe7, 0x80, 0x27, 0xe1, 0xb7, 0x82, //0x00002a20 .quad -9027499368258256870 + 0x84, 0xf4, 0x16, 0x59, 0xa8, 0x79, 0x1c, 0xe5, //0x00002a28 .quad -1937539975720012668 + 0x10, 0x88, 0x90, 0xb0, 0xb8, 0xec, 0xb2, 0xd1, //0x00002a30 .quad -3336344095947716592 + 0xd2, 0x58, 0xae, 0x37, 0x09, 0xcc, 0x31, 0x8f, //0x00002a38 .quad -8128491512466089774 + 0x15, 0xaa, 0xb4, 0xdc, 0xe6, 0xa7, 0x1f, 0x86, //0x00002a40 .quad -8782116138362033643 + 0x07, 0xef, 0x99, 0x85, 0x0b, 0x3f, 0xfe, 0xb2, //0x00002a48 .quad -5548928372155224313 + 0x9a, 0xd4, 0xe1, 0x93, 0xe0, 0x91, 0xa7, 0x67, //0x00002a50 .quad 7469098900757009562 + 0xc9, 0x6a, 0x00, 0x67, 0xce, 0xce, 0xbd, 0xdf, //0x00002a58 .quad -2324474446766642487 + 0xe0, 0x24, 0x6d, 0x5c, 0x2c, 0xbb, 0xc8, 0xe0, //0x00002a60 .quad -2249342214667950880 + 0xbd, 0x42, 0x60, 0x00, 0x41, 0xa1, 0xd6, 0x8b, //0x00002a68 .quad -8370325556870233411 + 0x18, 0x6e, 0x88, 0x73, 0xf7, 0xe9, 0xfa, 0x58, //0x00002a70 .quad 6411694268519837208 + 0x6d, 0x53, 0x78, 0x40, 0x91, 0x49, 0xcc, 0xae, //0x00002a78 .quad -5851220927660403859 + 0x9e, 0x89, 0x6a, 0x50, 0x75, 0xa4, 0x39, 0xaf, //0x00002a80 .quad -5820440219632367202 + 0x48, 0x68, 0x96, 0x90, 0xf5, 0x5b, 0x7f, 0xda, //0x00002a88 .quad -2702340141148116920 + 0x03, 0x96, 0x42, 0x52, 0xc9, 0x06, 0x84, 0x6d, //0x00002a90 .quad 7891439908798240259 + 0x2d, 0x01, 0x5e, 0x7a, 0x79, 0x99, 0x8f, 0x88, //0x00002a98 .quad -8606491615858654931 + 0x83, 0x3b, 0xd3, 0xa6, 0x7b, 0x08, 0xe5, 0xc8, //0x00002aa0 .quad -3970758169284363389 + 0x78, 0x81, 0xf5, 0xd8, 0xd7, 0x7f, 0xb3, 0xaa, //0x00002aa8 .quad -6146428501395930760 + 0x64, 0x0a, 0x88, 0x90, 0x9a, 0x4a, 0x1e, 0xfb, //0x00002ab0 .quad -351761693178066332 + 0xd6, 0xe1, 0x32, 0xcf, 0xcd, 0x5f, 0x60, 0xd5, //0x00002ab8 .quad -3071349608317525546 + 0x7f, 0x06, 0x55, 0x9a, 0xa0, 0xee, 0xf2, 0x5c, //0x00002ac0 .quad 6697677969404790399 + 0x26, 0xcd, 0x7f, 0xa1, 0xe0, 0x3b, 0x5c, 0x85, //0x00002ac8 .quad -8837122532839535322 + 0x1e, 0x48, 0xea, 0xc0, 0x48, 0xaa, 0x2f, 0xf4, //0x00002ad0 .quad -851274575098787810 + 0x6f, 0xc0, 0xdf, 0xc9, 0xd8, 0x4a, 0xb3, 0xa6, //0x00002ad8 .quad -6434717147622031249 + 0x26, 0xda, 0x24, 0xf1, 0xda, 0x94, 0x3b, 0xf1, //0x00002ae0 .quad -1064093218873484762 + 0x8b, 0xb0, 0x57, 0xfc, 0x8e, 0x1d, 0x60, 0xd0, //0x00002ae8 .quad -3431710416100151157 + 0x58, 0x08, 0xb7, 0xd6, 0x08, 0x3d, 0xc5, 0x76, //0x00002af0 .quad 8558313775058847832 + 0x57, 0xce, 0xb6, 0x5d, 0x79, 0x12, 0x3c, 0x82, //0x00002af8 .quad -9062348037703676329 + 0x6e, 0xca, 0x64, 0x0c, 0x4b, 0x8c, 0x76, 0x54, //0x00002b00 .quad 6086206200396171886 + 0xed, 0x81, 0x24, 0xb5, 0x17, 0x17, 0xcb, 0xa2, //0x00002b08 .quad -6716249028702207507 + 0x09, 0xfd, 0x7d, 0xcf, 0x5d, 0x2f, 0x94, 0xa9, //0x00002b10 .quad -6227300304786948855 + 0x68, 0xa2, 0x6d, 0xa2, 0xdd, 0xdc, 0x7d, 0xcb, //0x00002b18 .quad -3783625267450371480 + 0x4c, 0x7c, 0x5d, 0x43, 0x35, 0x3b, 0xf9, 0xd3, //0x00002b20 .quad -3172439362556298164 + 0x02, 0x0b, 0x09, 0x0b, 0x15, 0x54, 0x5d, 0xfe, //0x00002b28 .quad -117845565885576446 + 0xaf, 0x6d, 0x1a, 0x4a, 0x01, 0xc5, 0x7b, 0xc4, //0x00002b30 .quad -4288617610811380305 + 0xe1, 0xa6, 0xe5, 0x26, 0x8d, 0x54, 0xfa, 0x9e, //0x00002b38 .quad -6991182506319567135 + 0x1b, 0x09, 0xa1, 0x9c, 0x41, 0xb6, 0x9a, 0x35, //0x00002b40 .quad 3862600023340550427 + 0x9a, 0x10, 0x9f, 0x70, 0xb0, 0xe9, 0xb8, 0xc6, //0x00002b48 .quad -4127292114472071014 + 0x62, 0x4b, 0xc9, 0x03, 0xd2, 0x63, 0x01, 0xc3, //0x00002b50 .quad -4395122007679087774 + 0xc0, 0xd4, 0xc6, 0x8c, 0x1c, 0x24, 0x67, 0xf8, //0x00002b58 .quad -547429124662700864 + 0x1d, 0xcf, 0x5d, 0x42, 0x63, 0xde, 0xe0, 0x79, //0x00002b60 .quad 8782263791269039901 + 0xf8, 0x44, 0xfc, 0xd7, 0x91, 0x76, 0x40, 0x9b, //0x00002b68 .quad -7259672230555269896 + 0xe4, 0x42, 0xf5, 0x12, 0xfc, 0x15, 0x59, 0x98, //0x00002b70 .quad -7468914334623251740 + 0x36, 0x56, 0xfb, 0x4d, 0x36, 0x94, 0x10, 0xc2, //0x00002b78 .quad -4462904269766699466 + 0x9d, 0x93, 0xb2, 0x17, 0x7b, 0x5b, 0x6f, 0x3e, //0x00002b80 .quad 4498915137003099037 + 0xc4, 0x2b, 0x7a, 0xe1, 0x43, 0xb9, 0x94, 0xf2, //0x00002b88 .quad -966944318780986428 + 0x42, 0x9c, 0xcf, 0xee, 0x2c, 0x99, 0x05, 0xa7, //0x00002b90 .quad -6411550076227838910 + 0x5a, 0x5b, 0xec, 0x6c, 0xca, 0xf3, 0x9c, 0x97, //0x00002b98 .quad -7521869226879198374 + 0x53, 0x83, 0x83, 0x2a, 0x78, 0xff, 0xc6, 0x50, //0x00002ba0 .quad 5820620459997365075 + 0x31, 0x72, 0x27, 0x08, 0xbd, 0x30, 0x84, 0xbd, //0x00002ba8 .quad -4790650515171610063 + 0x28, 0x64, 0x24, 0x35, 0x56, 0xbf, 0xf8, 0xa4, //0x00002bb0 .quad -6559282480285457368 + 0xbd, 0x4e, 0x31, 0x4a, 0xec, 0x3c, 0xe5, 0xec, //0x00002bb8 .quad -1376627125537124675 + 0x99, 0xbe, 0x36, 0xe1, 0x95, 0x77, 0x1b, 0x87, //0x00002bc0 .quad -8711237568605798759 + 0x36, 0xd1, 0x5e, 0xae, 0x13, 0x46, 0x0f, 0x94, //0x00002bc8 .quad -7777920981101784778 + 0x3f, 0x6e, 0x84, 0x59, 0x7b, 0x55, 0xe2, 0x28, //0x00002bd0 .quad 2946011094524915263 + 0x84, 0x85, 0xf6, 0x99, 0x98, 0x17, 0x13, 0xb9, //0x00002bd8 .quad -5110715207949843068 + 0xcf, 0x89, 0xe5, 0x2f, 0xda, 0xea, 0x1a, 0x33, //0x00002be0 .quad 3682513868156144079 + 0xe5, 0x26, 0x74, 0xc0, 0x7e, 0xdd, 0x57, 0xe7, //0x00002be8 .quad -1776707991509915931 + 0x21, 0x76, 0xef, 0x5d, 0xc8, 0xd2, 0xf0, 0x3f, //0x00002bf0 .quad 4607414176811284001 + 0x4f, 0x98, 0x48, 0x38, 0x6f, 0xea, 0x96, 0x90, //0x00002bf8 .quad -8027971522334779313 + 0xa9, 0x53, 0x6b, 0x75, 0x7a, 0x07, 0xed, 0x0f, //0x00002c00 .quad 1147581702586717097 + 0x63, 0xbe, 0x5a, 0x06, 0x0b, 0xa5, 0xbc, 0xb4, //0x00002c08 .quad -5423278384491086237 + 0x94, 0x28, 0xc6, 0x12, 0x59, 0x49, 0xe8, 0xd3, //0x00002c10 .quad -3177208890193991532 + 0xfb, 0x6d, 0xf1, 0xc7, 0x4d, 0xce, 0xeb, 0xe1, //0x00002c18 .quad -2167411962186469893 + 0x5c, 0xd9, 0xbb, 0xab, 0xd7, 0x2d, 0x71, 0x64, //0x00002c20 .quad 7237616480483531100 + 0xbd, 0xe4, 0xf6, 0x9c, 0xf0, 0x60, 0x33, 0x8d, //0x00002c28 .quad -8272161504007625539 + 0xb3, 0xcf, 0xaa, 0x96, 0x4d, 0x79, 0x8d, 0xbd, //0x00002c30 .quad -4788037454677749837 + 0xec, 0x9d, 0x34, 0xc4, 0x2c, 0x39, 0x80, 0xb0, //0x00002c38 .quad -5728515861582144020 + 0xa0, 0x83, 0x55, 0xfc, 0xa0, 0xd7, 0xf0, 0xec, //0x00002c40 .quad -1373360799919799392 + 0x67, 0xc5, 0x41, 0xf5, 0x77, 0x47, 0xa0, 0xdc, //0x00002c48 .quad -2548958808550292121 + 0x44, 0x72, 0xb5, 0x9d, 0xc4, 0x86, 0x16, 0xf4, //0x00002c50 .quad -858350499949874620 + 0x60, 0x1b, 0x49, 0xf9, 0xaa, 0x2c, 0xe4, 0x89, //0x00002c58 .quad -8510628282985014432 + 0xd5, 0xce, 0x22, 0xc5, 0x75, 0x28, 0x1c, 0x31, //0x00002c60 .quad 3538747893490044629 + 0x39, 0x62, 0x9b, 0xb7, 0xd5, 0x37, 0x5d, 0xac, //0x00002c68 .quad -6026599335303880135 + 0x8b, 0x82, 0x6b, 0x36, 0x93, 0x32, 0x63, 0x7d, //0x00002c70 .quad 9035120885289943691 + 0xc7, 0x3a, 0x82, 0x25, 0xcb, 0x85, 0x74, 0xd7, //0x00002c78 .quad -2921563150702462265 + 0x97, 0x31, 0x03, 0x02, 0x9c, 0xff, 0x5d, 0xae, //0x00002c80 .quad -5882264492762254953 + 0xbc, 0x64, 0x71, 0xf7, 0x9e, 0xd3, 0xa8, 0x86, //0x00002c88 .quad -8743505996830120772 + 0xfc, 0xfd, 0x83, 0x02, 0x83, 0x7f, 0xf5, 0xd9, //0x00002c90 .quad -2741144597525430788 + 0xeb, 0xbd, 0x4d, 0xb5, 0x86, 0x08, 0x53, 0xa8, //0x00002c98 .quad -6317696477610263061 + 0x7b, 0xfd, 0x24, 0xc3, 0x63, 0xdf, 0x72, 0xd0, //0x00002ca0 .quad -3426430746906788485 + 0x66, 0x2d, 0xa1, 0x62, 0xa8, 0xca, 0x67, 0xd2, //0x00002ca8 .quad -3285434578585440922 + 0x6d, 0x1e, 0xf7, 0x59, 0x9e, 0xcb, 0x47, 0x42, //0x00002cb0 .quad 4776009810824339053 + 0x60, 0xbc, 0xa4, 0x3d, 0xa9, 0xde, 0x80, 0x83, //0x00002cb8 .quad -8970925639256982432 + 0x08, 0xe6, 0x74, 0xf0, 0x85, 0xbe, 0xd9, 0x52, //0x00002cc0 .quad 5970012263530423816 + 0x78, 0xeb, 0x0d, 0x8d, 0x53, 0x16, 0x61, 0xa4, //0x00002cc8 .quad -6601971030643840136 + 0x8b, 0x1f, 0x92, 0x6c, 0x27, 0x2e, 0x90, 0x67, //0x00002cd0 .quad 7462515329413029771 + 0x56, 0x66, 0x51, 0x70, 0xe8, 0x5b, 0x79, 0xcd, //0x00002cd8 .quad -3640777769877412266 + 0xb6, 0x53, 0xdb, 0xa3, 0xd8, 0x1c, 0xba, 0x00, //0x00002ce0 .quad 52386062455755702 + 0xf6, 0xdf, 0x32, 0x46, 0x71, 0xd9, 0x6b, 0x80, //0x00002ce8 .quad -9193015133814464522 + 0xa4, 0x28, 0xd2, 0xcc, 0x0e, 0xa4, 0xe8, 0x80, //0x00002cf0 .quad -9157889458785081180 + 0xf3, 0x97, 0xbf, 0x97, 0xcd, 0xcf, 0x86, 0xa0, //0x00002cf8 .quad -6879582898840692749 + 0xcd, 0xb2, 0x06, 0x80, 0x12, 0xcd, 0x22, 0x61, //0x00002d00 .quad 6999382250228200141 + 0xf0, 0x7d, 0xaf, 0xfd, 0xc0, 0x83, 0xa8, 0xc8, //0x00002d08 .quad -3987792605123478032 + 0x81, 0x5f, 0x08, 0x20, 0x57, 0x80, 0x6b, 0x79, //0x00002d10 .quad 8749227812785250177 + 0x6c, 0x5d, 0x1b, 0x3d, 0xb1, 0xa4, 0xd2, 0xfa, //0x00002d18 .quad -373054737976959636 + 0xb0, 0x3b, 0x05, 0x74, 0x36, 0x30, 0xe3, 0xcb, //0x00002d20 .quad -3755104653863994448 + 0x63, 0x1a, 0x31, 0xc6, 0xee, 0xa6, 0xc3, 0x9c, //0x00002d28 .quad -7150688238876681629 + 0x9c, 0x8a, 0x06, 0x11, 0x44, 0xfc, 0xdb, 0xbe, //0x00002d30 .quad -4693880817329993060 + 0xfc, 0x60, 0xbd, 0x77, 0xaa, 0x90, 0xf4, 0xc3, //0x00002d38 .quad -4326674280168464132 + 0x44, 0x2d, 0x48, 0x15, 0x55, 0xfb, 0x92, 0xee, //0x00002d40 .quad -1255665003235103420 + 0x3b, 0xb9, 0xac, 0x15, 0xd5, 0xb4, 0xf1, 0xf4, //0x00002d48 .quad -796656831783192261 + 0x4a, 0x1c, 0x4d, 0x2d, 0x15, 0xdd, 0x1b, 0x75, //0x00002d50 .quad 8438581409832836170 + 0xc5, 0xf3, 0x8b, 0x2d, 0x05, 0x11, 0x17, 0x99, //0x00002d58 .quad -7415439547505577019 + 0x5d, 0x63, 0xa0, 0x78, 0x5a, 0xd4, 0x62, 0xd2, //0x00002d60 .quad -3286831292991118499 + 0xb6, 0xf0, 0xee, 0x78, 0x46, 0xd5, 0x5c, 0xbf, //0x00002d68 .quad -4657613415954583370 + 0x34, 0x7c, 0xc8, 0x16, 0x71, 0x89, 0xfb, 0x86, //0x00002d70 .quad -8720225134666286028 + 0xe4, 0xac, 0x2a, 0x17, 0x98, 0x0a, 0x34, 0xef, //0x00002d78 .quad -1210330751515841308 + 0xa0, 0x4d, 0x3d, 0xae, 0xe6, 0x35, 0x5d, 0xd4, //0x00002d80 .quad -3144297699952734816 + 0x0e, 0xac, 0x7a, 0x0e, 0x9f, 0x86, 0x80, 0x95, //0x00002d88 .quad -7673985747338482674 + 0x09, 0xa1, 0xcc, 0x59, 0x60, 0x83, 0x74, 0x89, //0x00002d90 .quad -8542058143368306423 + 0x12, 0x57, 0x19, 0xd2, 0x46, 0xa8, 0xe0, 0xba, //0x00002d98 .quad -4980796165745715438 + 0x4b, 0xc9, 0x3f, 0x70, 0x38, 0xa4, 0xd1, 0x2b, //0x00002da0 .quad 3157485376071780683 + 0xd7, 0xac, 0x9f, 0x86, 0x58, 0xd2, 0x98, 0xe9, //0x00002da8 .quad -1614309188754756393 + 0xcf, 0xdd, 0x27, 0x46, 0xa3, 0x06, 0x63, 0x7b, //0x00002db0 .quad 8890957387685944783 + 0x06, 0xcc, 0x23, 0x54, 0x77, 0x83, 0xff, 0x91, //0x00002db8 .quad -7926472270612804602 + 0x42, 0xd5, 0xb1, 0x17, 0x4c, 0xc8, 0x3b, 0x1a, //0x00002dc0 .quad 1890324697752655170 + 0x08, 0xbf, 0x2c, 0x29, 0x55, 0x64, 0x7f, 0xb6, //0x00002dc8 .quad -5296404319838617848 + 0x93, 0x4a, 0x9e, 0x1d, 0x5f, 0xba, 0xca, 0x20, //0x00002dd0 .quad 2362905872190818963 + 0xca, 0xee, 0x77, 0x73, 0x6a, 0x3d, 0x1f, 0xe4, //0x00002dd8 .quad -2008819381370884406 + 0x9c, 0xee, 0x82, 0x72, 0x7b, 0xb4, 0x7e, 0x54, //0x00002de0 .quad 6088502188546649756 + 0x3e, 0xf5, 0x2a, 0x88, 0x62, 0x86, 0x93, 0x8e, //0x00002de8 .quad -8173041140997884610 + 0x43, 0xaa, 0x23, 0x4f, 0x9a, 0x61, 0x9e, 0xe9, //0x00002df0 .quad -1612744301171463613 + 0x8d, 0xb2, 0x35, 0x2a, 0xfb, 0x67, 0x38, 0xb2, //0x00002df8 .quad -5604615407819967859 + 0xd4, 0x94, 0xec, 0xe2, 0x00, 0xfa, 0x05, 0x64, //0x00002e00 .quad 7207441660390446292 + 0x31, 0x1f, 0xc3, 0xf4, 0xf9, 0x81, 0xc6, 0xde, //0x00002e08 .quad -2394083241347571919 + 0x04, 0xdd, 0xd3, 0x8d, 0x40, 0xbc, 0x83, 0xde, //0x00002e10 .quad -2412877989897052924 + 0x7e, 0xf3, 0xf9, 0x38, 0x3c, 0x11, 0x3c, 0x8b, //0x00002e18 .quad -8413831053483314306 + 0x45, 0xd4, 0x48, 0xb1, 0x50, 0xab, 0x24, 0x96, //0x00002e20 .quad -7627783505798704059 + 0x5e, 0x70, 0x38, 0x47, 0x8b, 0x15, 0x0b, 0xae, //0x00002e28 .quad -5905602798426754978 + 0x57, 0x09, 0x9b, 0xdd, 0x24, 0xd6, 0xad, 0x3b, //0x00002e30 .quad 4300328673033783639 + 0x76, 0x8c, 0x06, 0x19, 0xee, 0xda, 0x8d, 0xd9, //0x00002e38 .quad -2770317479606055818 + 0xd6, 0xe5, 0x80, 0x0a, 0xd7, 0xa5, 0x4c, 0xe5, //0x00002e40 .quad -1923980597781273130 + 0xc9, 0x17, 0xa4, 0xcf, 0xd4, 0xa8, 0xf8, 0x87, //0x00002e48 .quad -8648977452394866743 + 0x4c, 0x1f, 0x21, 0xcd, 0x4c, 0xcf, 0x9f, 0x5e, //0x00002e50 .quad 6818396289628184396 + 0xbc, 0x1d, 0x8d, 0x03, 0x0a, 0xd3, 0xf6, 0xa9, //0x00002e58 .quad -6199535797066195524 + 0x1f, 0x67, 0x69, 0x00, 0x20, 0xc3, 0x47, 0x76, //0x00002e60 .quad 8522995362035230495 + 0x2b, 0x65, 0x70, 0x84, 0xcc, 0x87, 0x74, 0xd4, //0x00002e68 .quad -3137733727905356501 + 0x73, 0xe0, 0x41, 0x00, 0xf4, 0xd9, 0xec, 0x29, //0x00002e70 .quad 3021029092058325107 + 0x3b, 0x3f, 0xc6, 0xd2, 0xdf, 0xd4, 0xc8, 0x84, //0x00002e78 .quad -8878612607581929669 + 0x90, 0x58, 0x52, 0x00, 0x71, 0x10, 0x68, 0xf4, //0x00002e80 .quad -835399653354481520 + 0x09, 0xcf, 0x77, 0xc7, 0x17, 0x0a, 0xfb, 0xa5, //0x00002e88 .quad -6486579741050024183 + 0xb4, 0xee, 0x66, 0x40, 0x8d, 0x14, 0x82, 0x71, //0x00002e90 .quad 8179122470161673908 + 0xcc, 0xc2, 0x55, 0xb9, 0x9d, 0xcc, 0x79, 0xcf, //0x00002e98 .quad -3496538657885142324 + 0x30, 0x55, 0x40, 0x48, 0xd8, 0x4c, 0xf1, 0xc6, //0x00002ea0 .quad -4111420493003729616 + 0xbf, 0x99, 0xd5, 0x93, 0xe2, 0x1f, 0xac, 0x81, //0x00002ea8 .quad -9102865688819295809 + 0x7c, 0x6a, 0x50, 0x5a, 0x0e, 0xa0, 0xad, 0xb8, //0x00002eb0 .quad -5139275616254662020 + 0x2f, 0x00, 0xcb, 0x38, 0xdb, 0x27, 0x17, 0xa2, //0x00002eb8 .quad -6766896092596731857 + 0x1c, 0x85, 0xe4, 0xf0, 0x11, 0x08, 0xd9, 0xa6, //0x00002ec0 .quad -6424094520318327524 + 0x3b, 0xc0, 0xfd, 0x06, 0xd2, 0xf1, 0x9c, 0xca, //0x00002ec8 .quad -3846934097318526917 + 0x63, 0xa6, 0x1d, 0x6d, 0x16, 0x4a, 0x8f, 0x90, //0x00002ed0 .quad -8030118150397909405 + 0x4a, 0x30, 0xbd, 0x88, 0x46, 0x2e, 0x44, 0xfd, //0x00002ed8 .quad -196981603220770742 + 0xfe, 0x87, 0x32, 0x04, 0x4e, 0x8e, 0x59, 0x9a, //0x00002ee0 .quad -7324666853212387330 + 0x2e, 0x3e, 0x76, 0x15, 0xec, 0x9c, 0x4a, 0x9e, //0x00002ee8 .quad -7040642529654063570 + 0xfd, 0x29, 0x3f, 0x85, 0xe1, 0xf1, 0xef, 0x40, //0x00002ef0 .quad 4679224488766679549 + 0xba, 0xcd, 0xd3, 0x1a, 0x27, 0x44, 0xdd, 0xc5, //0x00002ef8 .quad -4189117143640191558 + 0x7c, 0xf4, 0x8e, 0xe6, 0x59, 0xee, 0x2b, 0xd1, //0x00002f00 .quad -3374341425896426372 + 0x28, 0xc1, 0x88, 0xe1, 0x30, 0x95, 0x54, 0xf7, //0x00002f08 .quad -624710411122851544 + 0xce, 0x58, 0x19, 0x30, 0xf8, 0x74, 0xbb, 0x82, //0x00002f10 .quad -9026492418826348338 + 0xb9, 0x78, 0xf5, 0x8c, 0x3e, 0xdd, 0x94, 0x9a, //0x00002f18 .quad -7307973034592864071 + 0x01, 0xaf, 0x1f, 0x3c, 0x36, 0x52, 0x6a, 0xe3, //0x00002f20 .quad -2059743486678159615 + 0xe7, 0xd6, 0x32, 0x30, 0x8e, 0x14, 0x3a, 0xc1, //0x00002f28 .quad -4523280274813692185 + 0xc1, 0x9a, 0x27, 0xcb, 0xc3, 0xe6, 0x44, 0xdc, //0x00002f30 .quad -2574679358347699519 + 0xa1, 0x8c, 0x3f, 0xbc, 0xb1, 0x99, 0x88, 0xf1, //0x00002f38 .quad -1042414325089727327 + 0xb9, 0xc0, 0xf8, 0x5e, 0x3a, 0x10, 0xab, 0x29, //0x00002f40 .quad 3002511419460075705 + 0xe5, 0xb7, 0xa7, 0x15, 0x0f, 0x60, 0xf5, 0x96, //0x00002f48 .quad -7569037980822161435 + 0xe7, 0xf0, 0xb6, 0xf6, 0x48, 0xd4, 0x15, 0x74, //0x00002f50 .quad 8364825292752482535 + 0xde, 0xa5, 0x11, 0xdb, 0x12, 0xb8, 0xb2, 0xbc, //0x00002f58 .quad -4849611457600313890 + 0x21, 0xad, 0x64, 0x34, 0x5b, 0x49, 0x1b, 0x11, //0x00002f60 .quad 1232659579085827361 + 0x56, 0x0f, 0xd6, 0x91, 0x17, 0x66, 0xdf, 0xeb, //0x00002f68 .quad -1450328303573004458 + 0x34, 0xec, 0xbe, 0x00, 0xd9, 0x0d, 0xb1, 0xca, //0x00002f70 .quad -3841273781498745804 + 0x95, 0xc9, 0x25, 0xbb, 0xce, 0x9f, 0x6b, 0x93, //0x00002f78 .quad -7823984217374209643 + 0x42, 0xa7, 0xee, 0x40, 0x4f, 0x51, 0x5d, 0x3d, //0x00002f80 .quad 4421779809981343554 + 0xfb, 0x3b, 0xef, 0x69, 0xc2, 0x87, 0x46, 0xb8, //0x00002f88 .quad -5168294253290374149 + 0x12, 0x51, 0x2a, 0x11, 0xa3, 0xa5, 0xb4, 0x0c, //0x00002f90 .quad 915538744049291538 + 0xfa, 0x0a, 0x6b, 0x04, 0xb3, 0x29, 0x58, 0xe6, //0x00002f98 .quad -1848681798185579782 + 0xab, 0x72, 0xba, 0xea, 0x85, 0xe7, 0xf0, 0x47, //0x00002fa0 .quad 5183897733458195115 + 0xdc, 0xe6, 0xc2, 0xe2, 0x0f, 0x1a, 0xf7, 0x8f, //0x00002fa8 .quad -8072955151507069220 + 0x56, 0x0f, 0x69, 0x65, 0x67, 0x21, 0xed, 0x59, //0x00002fb0 .quad 6479872166822743894 + 0x93, 0xa0, 0x73, 0xdb, 0x93, 0xe0, 0xf4, 0xb3, //0x00002fb8 .quad -5479507920956448621 + 0x2c, 0x53, 0xc3, 0x3e, 0xc1, 0x69, 0x68, 0x30, //0x00002fc0 .quad 3488154190101041964 + 0xb8, 0x88, 0x50, 0xd2, 0xb8, 0x18, 0xf2, 0xe0, //0x00002fc8 .quad -2237698882768172872 + 0xfb, 0x13, 0x3a, 0xc7, 0x18, 0x42, 0x41, 0x1e, //0x00002fd0 .quad 2180096368813151227 + 0x73, 0x55, 0x72, 0x83, 0x73, 0x4f, 0x97, 0x8c, //0x00002fd8 .quad -8316090829371189901 + 0xfa, 0x98, 0x08, 0xf9, 0x9e, 0x92, 0xd1, 0xe5, //0x00002fe0 .quad -1886565557410948870 + 0xcf, 0xea, 0x4e, 0x64, 0x50, 0x23, 0xbd, 0xaf, //0x00002fe8 .quad -5783427518286599473 + 0x39, 0xbf, 0x4a, 0xb7, 0x46, 0xf7, 0x45, 0xdf, //0x00002ff0 .quad -2358206946763686087 + 0x83, 0xa5, 0x62, 0x7d, 0x24, 0x6c, 0xac, 0xdb, //0x00002ff8 .quad -2617598379430861437 + 0x83, 0xb7, 0x8e, 0x32, 0x8c, 0xba, 0x8b, 0x6b, //0x00003000 .quad 7749492695127472003 + 0x72, 0xa7, 0x5d, 0xce, 0x96, 0xc3, 0x4b, 0x89, //0x00003008 .quad -8553528014785370254 + 0x64, 0x65, 0x32, 0x3f, 0x2f, 0xa9, 0x6e, 0x06, //0x00003010 .quad 463493832054564196 + 0x4f, 0x11, 0xf5, 0x81, 0x7c, 0xb4, 0x9e, 0xab, //0x00003018 .quad -6080224000054324913 + 0xbd, 0xfe, 0xfe, 0x0e, 0x7b, 0x53, 0x0a, 0xc8, //0x00003020 .quad -4032318728359182659 + 0xa2, 0x55, 0x72, 0xa2, 0x9b, 0x61, 0x86, 0xd6, //0x00003028 .quad -2988593981640518238 + 0x36, 0x5f, 0x5f, 0xe9, 0x2c, 0x74, 0x06, 0xbd, //0x00003030 .quad -4826042214438183114 + 0x85, 0x75, 0x87, 0x45, 0x01, 0xfd, 0x13, 0x86, //0x00003038 .quad -8785400266166405755 + 0x04, 0x37, 0xb7, 0x23, 0x38, 0x11, 0x48, 0x2c, //0x00003040 .quad 3190819268807046916 + 0xe7, 0x52, 0xe9, 0x96, 0x41, 0xfc, 0x98, 0xa7, //0x00003048 .quad -6370064314280619289 + 0xc5, 0x04, 0xa5, 0x2c, 0x86, 0x15, 0x5a, 0xf7, //0x00003050 .quad -623161932418579259 + 0xa0, 0xa7, 0xa3, 0xfc, 0x51, 0x3b, 0x7f, 0xd1, //0x00003058 .quad -3350894374423386208 + 0xfb, 0x22, 0xe7, 0xdb, 0x73, 0x4d, 0x98, 0x9a, //0x00003060 .quad -7307005235402693893 + 0xc4, 0x48, 0xe6, 0x3d, 0x13, 0x85, 0xef, 0x82, //0x00003068 .quad -9011838011655698236 + 0xba, 0xeb, 0xe0, 0xd2, 0xd0, 0x60, 0x3e, 0xc1, //0x00003070 .quad -4522070525825979462 + 0xf5, 0xda, 0x5f, 0x0d, 0x58, 0x66, 0xab, 0xa3, //0x00003078 .quad -6653111496142234891 + 0xa8, 0x26, 0x99, 0x07, 0x05, 0xf9, 0x8d, 0x31, //0x00003080 .quad 3570783879572301480 + 0xb3, 0xd1, 0xb7, 0x10, 0xee, 0x3f, 0x96, 0xcc, //0x00003088 .quad -3704703351750405709 + 0x52, 0x70, 0x7f, 0x49, 0x46, 0x77, 0xf1, 0xfd, //0x00003090 .quad -148206168962011054 + 0x1f, 0xc6, 0xe5, 0x94, 0xe9, 0xcf, 0xbb, 0xff, //0x00003098 .quad -19193171260619233 + 0x33, 0xa6, 0xef, 0xed, 0x8b, 0xea, 0xb6, 0xfe, //0x000030a0 .quad -92628855601256909 + 0xd3, 0x9b, 0x0f, 0xfd, 0xf1, 0x61, 0xd5, 0x9f, //0x000030a8 .quad -6929524759678968877 + 0xc0, 0x8f, 0x6b, 0xe9, 0x2e, 0xa5, 0x64, 0xfe, //0x000030b0 .quad -115786069501571136 + 0xc8, 0x82, 0x53, 0x7c, 0x6e, 0xba, 0xca, 0xc7, //0x000030b8 .quad -4050219931171323192 + 0xb0, 0x73, 0xc6, 0xa3, 0x7a, 0xce, 0xfd, 0x3d, //0x000030c0 .quad 4466953431550423984 + 0x7b, 0x63, 0x68, 0x1b, 0x0a, 0x69, 0xbd, 0xf9, //0x000030c8 .quad -451088895536766085 + 0x4e, 0x08, 0x5c, 0xa6, 0x0c, 0xa1, 0xbe, 0x06, //0x000030d0 .quad 486002885505321038 + 0x2d, 0x3e, 0x21, 0x51, 0xa6, 0x61, 0x16, 0x9c, //0x000030d8 .quad -7199459587351560659 + 0x62, 0x0a, 0xf3, 0xcf, 0x4f, 0x49, 0x6e, 0x48, //0x000030e0 .quad 5219189625309039202 + 0xb8, 0x8d, 0x69, 0xe5, 0x0f, 0xfa, 0x1b, 0xc3, //0x000030e8 .quad -4387638465762062920 + 0xfa, 0xcc, 0xef, 0xc3, 0xa3, 0xdb, 0x89, 0x5a, //0x000030f0 .quad 6523987031636299002 + 0x26, 0xf1, 0xc3, 0xde, 0x93, 0xf8, 0xe2, 0xf3, //0x000030f8 .quad -872862063775190746 + 0x1c, 0xe0, 0x75, 0x5a, 0x46, 0x29, 0x96, 0xf8, //0x00003100 .quad -534194123654701028 + 0xb7, 0x76, 0x3a, 0x6b, 0x5c, 0xdb, 0x6d, 0x98, //0x00003108 .quad -7463067817500576073 + 0x23, 0x58, 0x13, 0xf1, 0x97, 0xb3, 0xbb, 0xf6, //0x00003110 .quad -667742654568376285 + 0x65, 0x14, 0x09, 0x86, 0x33, 0x52, 0x89, 0xbe, //0x00003118 .quad -4717148753448332187 + 0x2c, 0x2e, 0x58, 0xed, 0x7d, 0xa0, 0x6a, 0x74, //0x00003120 .quad 8388693718644305452 + 0x7f, 0x59, 0x8b, 0x67, 0xc0, 0xa6, 0x2b, 0xee, //0x00003128 .quad -1284749923383027329 + 0xdc, 0x1c, 0x57, 0xb4, 0x4e, 0xa4, 0xc2, 0xa8, //0x00003130 .quad -6286281471915778852 + 0xef, 0x17, 0xb7, 0x40, 0x38, 0x48, 0xdb, 0x94, //0x00003138 .quad -7720497729755473937 + 0x13, 0xe4, 0x6c, 0x61, 0x62, 0x4d, 0xf3, 0x92, //0x00003140 .quad -7857851839894723565 + 0xeb, 0xdd, 0xe4, 0x50, 0x46, 0x1a, 0x12, 0xba, //0x00003148 .quad -5038936143766954517 + 0x17, 0x1d, 0xc8, 0xf9, 0xba, 0x20, 0xb0, 0x77, //0x00003150 .quad 8624429273841147159 + 0x66, 0x15, 0x1e, 0xe5, 0xd7, 0xa0, 0x96, 0xe8, //0x00003158 .quad -1686984161281305242 + 0x2e, 0x12, 0x1d, 0xdc, 0x74, 0x14, 0xce, 0x0a, //0x00003160 .quad 778582277723329070 + 0x60, 0xcd, 0x32, 0xef, 0x86, 0x24, 0x5e, 0x91, //0x00003168 .quad -7971894128441897632 + 0xba, 0x56, 0x24, 0x13, 0x92, 0x99, 0x81, 0x0d, //0x00003170 .quad 973227847154161338 + 0xb8, 0x80, 0xff, 0xaa, 0xa8, 0xad, 0xb5, 0xb5, //0x00003178 .quad -5353181642124984136 + 0x69, 0x6c, 0xed, 0x97, 0xf6, 0xff, 0xe1, 0x10, //0x00003180 .quad 1216534808942701673 + 0xe6, 0x60, 0xbf, 0xd5, 0x12, 0x19, 0x23, 0xe3, //0x00003188 .quad -2079791034228842266 + 0xc1, 0x63, 0xf4, 0x1e, 0xfa, 0x3f, 0x8d, 0xca, //0x00003190 .quad -3851351762838199359 + 0x8f, 0x9c, 0x97, 0xc5, 0xab, 0xef, 0xf5, 0x8d, //0x00003198 .quad -8217398424034108273 + 0xb2, 0x7c, 0xb1, 0xa6, 0xf8, 0x8f, 0x30, 0xbd, //0x000031a0 .quad -4814189703547749198 + 0xb3, 0x83, 0xfd, 0xb6, 0x96, 0x6b, 0x73, 0xb1, //0x000031a8 .quad -5660062011615247437 + 0xde, 0xdb, 0x5d, 0xd0, 0xf6, 0xb3, 0x7c, 0xac, //0x000031b0 .quad -6017737129434686498 + 0xa0, 0xe4, 0xbc, 0x64, 0x7c, 0x46, 0xd0, 0xdd, //0x000031b8 .quad -2463391496091671392 + 0x6b, 0xa9, 0x3a, 0x42, 0x7a, 0xf0, 0xcd, 0x6b, //0x000031c0 .quad 7768129340171790699 + 0xe4, 0x0e, 0xf6, 0xbe, 0x0d, 0x2c, 0xa2, 0x8a, //0x000031c8 .quad -8457148712698376476 + 0xc6, 0x53, 0xc9, 0xd2, 0x98, 0x6c, 0xc1, 0x86, //0x000031d0 .quad -8736582398494813242 + 0x9d, 0x92, 0xb3, 0x2e, 0x11, 0xb7, 0x4a, 0xad, //0x000031d8 .quad -5959749872445582691 + 0xb7, 0xa8, 0x7b, 0x07, 0xbf, 0xc7, 0x71, 0xe8, //0x000031e0 .quad -1697355961263740745 + 0x44, 0x77, 0x60, 0x7a, 0xd5, 0x64, 0x9d, 0xd8, //0x000031e8 .quad -2838001322129590460 + 0x72, 0x49, 0xad, 0x64, 0xd7, 0x1c, 0x47, 0x11, //0x000031f0 .quad 1244995533423855986 + 0x8b, 0x4a, 0x7c, 0x6c, 0x05, 0x5f, 0x62, 0x87, //0x000031f8 .quad -8691279853972075893 + 0xcf, 0x9b, 0xd8, 0x3d, 0x0d, 0xe4, 0x98, 0xd5, //0x00003200 .quad -3055441601647567921 + 0x2d, 0x5d, 0x9b, 0xc7, 0xc6, 0xf6, 0x3a, 0xa9, //0x00003208 .quad -6252413799037706963 + 0xc3, 0xc2, 0x4e, 0x8d, 0x10, 0x1d, 0xff, 0x4a, //0x00003210 .quad 5404070034795315907 + 0x79, 0x34, 0x82, 0x79, 0x78, 0xb4, 0x89, 0xd3, //0x00003218 .quad -3203831230369745799 + 0xba, 0x39, 0x51, 0x58, 0x2a, 0x72, 0xdf, 0xce, //0x00003220 .quad -3539985255894009414 + 0xcb, 0x60, 0xf1, 0x4b, 0xcb, 0x10, 0x36, 0x84, //0x00003228 .quad -8919923546622172981 + 0x28, 0x88, 0x65, 0xee, 0xb4, 0x4e, 0x97, 0xc2, //0x00003230 .quad -4424981569867511768 + 0xfe, 0xb8, 0xed, 0x1e, 0xfe, 0x94, 0x43, 0xa5, //0x00003238 .quad -6538218414850328322 + 0x32, 0xea, 0xfe, 0x29, 0x62, 0x22, 0x3d, 0x73, //0x00003240 .quad 8303831092947774002 + 0x3e, 0x27, 0xa9, 0xa6, 0x3d, 0x7a, 0x94, 0xce, //0x00003248 .quad -3561087000135522498 + 0x5f, 0x52, 0x3f, 0x5a, 0x7d, 0x35, 0x06, 0x08, //0x00003250 .quad 578208414664970847 + 0x87, 0xb8, 0x29, 0x88, 0x66, 0xcc, 0x1c, 0x81, //0x00003258 .quad -9143208402725783417 + 0xf7, 0x26, 0xcf, 0xb0, 0xdc, 0xc2, 0x07, 0xca, //0x00003260 .quad -3888925500096174345 + 0xa8, 0x26, 0x34, 0x2a, 0x80, 0xff, 0x63, 0xa1, //0x00003268 .quad -6817324484979841368 + 0xb5, 0xf0, 0x02, 0xdd, 0x93, 0xb3, 0x89, 0xfc, //0x00003270 .quad -249470856692830027 + 0x52, 0x30, 0xc1, 0x34, 0x60, 0xff, 0xbc, 0xc9, //0x00003278 .quad -3909969587797413806 + 0xe2, 0xac, 0x43, 0xd4, 0x78, 0x20, 0xac, 0xbb, //0x00003280 .quad -4923524589293425438 + 0x67, 0x7c, 0xf1, 0x41, 0x38, 0x3f, 0x2c, 0xfc, //0x00003288 .quad -275775966319379353 + 0x0d, 0x4c, 0xaa, 0x84, 0x4b, 0x94, 0x4b, 0xd5, //0x00003290 .quad -3077202868308390899 + 0xc0, 0xed, 0x36, 0x29, 0x83, 0xa7, 0x9b, 0x9d, //0x00003298 .quad -7089889006590693952 + 0x11, 0xdf, 0xd4, 0x65, 0x5e, 0x79, 0x9e, 0x0a, //0x000032a0 .quad 765182433041899281 + 0x31, 0xa9, 0x84, 0xf3, 0x63, 0x91, 0x02, 0xc5, //0x000032a8 .quad -4250675239810979535 + 0xd5, 0x16, 0x4a, 0xff, 0xb5, 0x17, 0x46, 0x4d, //0x000032b0 .quad 5568164059729762005 + 0x7d, 0xd3, 0x65, 0xf0, 0xbc, 0x35, 0x43, 0xf6, //0x000032b8 .quad -701658031336336515 + 0x45, 0x4e, 0x8e, 0xbf, 0xd1, 0xce, 0x4b, 0x50, //0x000032c0 .quad 5785945546544795205 + 0x2e, 0xa4, 0x3f, 0x16, 0x96, 0x01, 0xea, 0x99, //0x000032c8 .quad -7356065297226292178 + 0xd6, 0xe1, 0x71, 0x2f, 0x86, 0xc2, 0x5e, 0xe4, //0x000032d0 .quad -1990940103673781802 + 0x39, 0x8d, 0xcf, 0x9b, 0xfb, 0x81, 0x64, 0xc0, //0x000032d8 .quad -4583395603105477319 + 0x4c, 0x5a, 0x4e, 0xbb, 0x27, 0x73, 0x76, 0x5d, //0x000032e0 .quad 6734696907262548556 + 0x88, 0x70, 0xc3, 0x82, 0x7a, 0xa2, 0x7d, 0xf0, //0x000032e8 .quad -1117558485454458744 + 0x6f, 0xf8, 0x10, 0xd5, 0xf8, 0x07, 0x6a, 0x3a, //0x000032f0 .quad 4209185567039092847 + 0x55, 0x26, 0xba, 0x91, 0x8c, 0x85, 0x4e, 0x96, //0x000032f8 .quad -7616003081050118571 + 0x8b, 0x36, 0x55, 0x0a, 0xf7, 0x89, 0x04, 0x89, //0x00003300 .quad -8573576096483297653 + 0xea, 0xaf, 0x28, 0xb6, 0xef, 0x26, 0xe2, 0xbb, //0x00003308 .quad -4908317832885260310 + 0x2e, 0x84, 0xea, 0xcc, 0x74, 0xac, 0x45, 0x2b, //0x00003310 .quad 3118087934678041646 + 0xe5, 0xdb, 0xb2, 0xa3, 0xab, 0xb0, 0xda, 0xea, //0x00003318 .quad -1523711272679187483 + 0x9d, 0x92, 0x12, 0x00, 0xc9, 0x8b, 0x0b, 0x3b, //0x00003320 .quad 4254647968387469981 + 0x6f, 0xc9, 0x4f, 0x46, 0x6b, 0xae, 0xc8, 0x92, //0x00003328 .quad -7869848573065574033 + 0x44, 0x37, 0x17, 0x40, 0xbb, 0x6e, 0xce, 0x09, //0x00003330 .quad 706623942056949572 + 0xcb, 0xbb, 0xe3, 0x17, 0x06, 0xda, 0x7a, 0xb7, //0x00003338 .quad -5225624697904579637 + 0x15, 0x05, 0x1d, 0x10, 0x6a, 0x0a, 0x42, 0xcc, //0x00003340 .quad -3728406090856200939 + 0xbd, 0xaa, 0xdc, 0x9d, 0x87, 0x90, 0x59, 0xe5, //0x00003348 .quad -1920344853953336643 + 0x2d, 0x23, 0x12, 0x4a, 0x82, 0x46, 0xa9, 0x9f, //0x00003350 .quad -6941939825212513491 + 0xb6, 0xea, 0xa9, 0xc2, 0x54, 0xfa, 0x57, 0x8f, //0x00003358 .quad -8117744561361917258 + 0xf9, 0xab, 0x96, 0xdc, 0x22, 0x98, 0x93, 0x47, //0x00003360 .quad 5157633273766521849 + 0x64, 0x65, 0x54, 0xf3, 0xe9, 0xf8, 0x2d, 0xb3, //0x00003368 .quad -5535494683275008668 + 0xf7, 0x56, 0xbc, 0x93, 0x2b, 0x7e, 0x78, 0x59, //0x00003370 .quad 6447041592208152311 + 0xbd, 0x7e, 0x29, 0x70, 0x24, 0x77, 0xf9, 0xdf, //0x00003378 .quad -2307682335666372931 + 0x5a, 0xb6, 0x55, 0x3c, 0xdb, 0x4e, 0xeb, 0x57, //0x00003380 .quad 6335244004343789146 + 0x36, 0xef, 0x19, 0xc6, 0x76, 0xea, 0xfb, 0x8b, //0x00003388 .quad -8359830487432564938 + 0xf1, 0x23, 0x6b, 0x0b, 0x92, 0x22, 0xe6, 0xed, //0x00003390 .quad -1304317031425039375 + 0x03, 0x6b, 0xa0, 0x77, 0x14, 0xe5, 0xfa, 0xae, //0x00003398 .quad -5838102090863318269 + 0xed, 0xec, 0x45, 0x8e, 0x36, 0xab, 0x5f, 0xe9, //0x000033a0 .quad -1630396289281299219 + 0xc4, 0x85, 0x88, 0x95, 0x59, 0x9e, 0xb9, 0xda, //0x000033a8 .quad -2685941595151759932 + 0x14, 0xb4, 0xeb, 0x18, 0x02, 0xcb, 0xdb, 0x11, //0x000033b0 .quad 1286845328412881940 + 0x9b, 0x53, 0x75, 0xfd, 0xf7, 0x02, 0xb4, 0x88, //0x000033b8 .quad -8596242524610931813 + 0x19, 0xa1, 0x26, 0x9f, 0xc2, 0xbd, 0x52, 0xd6, //0x000033c0 .quad -3003129357911285479 + 0x81, 0xa8, 0xd2, 0xfc, 0xb5, 0x03, 0xe1, 0xaa, //0x000033c8 .quad -6133617137336276863 + 0x5f, 0x49, 0xf0, 0x46, 0x33, 0x6d, 0xe7, 0x4b, //0x000033d0 .quad 5469460339465668959 + 0xa2, 0x52, 0x07, 0x7c, 0xa3, 0x44, 0x99, 0xd5, //0x000033d8 .quad -3055335403242958174 + 0xdb, 0x2d, 0x56, 0x0c, 0x40, 0xa4, 0x70, 0x6f, //0x000033e0 .quad 8030098730593431003 + 0xa5, 0x93, 0x84, 0x2d, 0xe6, 0xca, 0x7f, 0x85, //0x000033e8 .quad -8827113654667930715 + 0x52, 0xb9, 0x6b, 0x0f, 0x50, 0xcd, 0x4c, 0xcb, //0x000033f0 .quad -3797434642040374958 + 0x8e, 0xb8, 0xe5, 0xb8, 0x9f, 0xbd, 0xdf, 0xa6, //0x000033f8 .quad -6422206049907525490 + 0xa7, 0xa7, 0x46, 0x13, 0xa4, 0x00, 0x20, 0x7e, //0x00003400 .quad 9088264752731695015 + 0xb2, 0x26, 0x1f, 0xa7, 0x07, 0xad, 0x97, 0xd0, //0x00003408 .quad -3416071543957018958 + 0xc8, 0x28, 0x0c, 0x8c, 0x66, 0x00, 0xd4, 0x8e, //0x00003410 .quad -8154892584824854328 + 0x2f, 0x78, 0x73, 0xc8, 0x24, 0xcc, 0x5e, 0x82, //0x00003418 .quad -9052573742614218705 + 0xfa, 0x32, 0x0f, 0x2f, 0x80, 0x00, 0x89, 0x72, //0x00003420 .quad 8253128342678483706 + 0x3b, 0x56, 0x90, 0xfa, 0x2d, 0x7f, 0xf6, 0xa2, //0x00003428 .quad -6704031159840385477 + 0xb9, 0xff, 0xd2, 0x3a, 0xa0, 0x40, 0x2b, 0x4f, //0x00003430 .quad 5704724409920716729 + 0xca, 0x6b, 0x34, 0x79, 0xf9, 0x1e, 0xb4, 0xcb, //0x00003438 .quad -3768352931373093942 + 0xa8, 0xbf, 0x87, 0x49, 0xc8, 0x10, 0xf6, 0xe2, //0x00003440 .quad -2092466524453879896 + 0xbc, 0x86, 0x81, 0xd7, 0xb7, 0x26, 0xa1, 0xfe, //0x00003448 .quad -98755145788979524 + 0xc9, 0xd7, 0xf4, 0x2d, 0x7d, 0xca, 0xd9, 0x0d, //0x00003450 .quad 998051431430019017 + 0x36, 0xf4, 0xb0, 0xe6, 0x32, 0xb8, 0x24, 0x9f, //0x00003458 .quad -6979250993759194058 + 0xbb, 0x0d, 0x72, 0x79, 0x1c, 0x3d, 0x50, 0x91, //0x00003460 .quad -7975807747567252037 + 0x43, 0x31, 0x5d, 0xa0, 0x3f, 0xe6, 0xed, 0xc6, //0x00003468 .quad -4112377723771604669 + 0x2a, 0x91, 0xce, 0x97, 0x63, 0x4c, 0xa4, 0x75, //0x00003470 .quad 8476984389250486570 + 0x94, 0x7d, 0x74, 0x88, 0xcf, 0x5f, 0xa9, 0xf8, //0x00003478 .quad -528786136287117932 + 0xba, 0x1a, 0xe1, 0x3e, 0xbe, 0xaf, 0x86, 0xc9, //0x00003480 .quad -3925256793573221702 + 0x7c, 0xce, 0x48, 0xb5, 0xe1, 0xdb, 0x69, 0x9b, //0x00003488 .quad -7248020362820530564 + 0x68, 0x61, 0x99, 0xce, 0xad, 0x5b, 0xe8, 0xfb, //0x00003490 .quad -294884973539139224 + 0x1b, 0x02, 0x9b, 0x22, 0xda, 0x52, 0x44, 0xc2, //0x00003498 .quad -4448339435098275301 + 0xc3, 0xb9, 0x3f, 0x42, 0x99, 0x72, 0xe2, 0xfa, //0x000034a0 .quad -368606216923924029 + 0xa2, 0xc2, 0x41, 0xab, 0x90, 0x67, 0xd5, 0xf2, //0x000034a8 .quad -948738275445456222 + 0x1a, 0xd4, 0x67, 0xc9, 0x9f, 0x87, 0xcd, 0xdc, //0x000034b0 .quad -2536221894791146470 + 0xa5, 0x19, 0x09, 0x6b, 0xba, 0x60, 0xc5, 0x97, //0x000034b8 .quad -7510490449794491995 + 0x20, 0xc9, 0xc1, 0xbb, 0x87, 0xe9, 0x00, 0x54, //0x000034c0 .quad 6053094668365842720 + 0x0f, 0x60, 0xcb, 0x05, 0xe9, 0xb8, 0xb6, 0xbd, //0x000034c8 .quad -4776427043815727089 + 0x68, 0x3b, 0xb2, 0xaa, 0xe9, 0x23, 0x01, 0x29, //0x000034d0 .quad 2954682317029915496 + 0x13, 0x38, 0x3e, 0x47, 0x23, 0x67, 0x24, 0xed, //0x000034d8 .quad -1358847786342270957 + 0x21, 0x65, 0xaf, 0x0a, 0x72, 0xb6, 0xa0, 0xf9, //0x000034e0 .quad -459166561069996767 + 0x0b, 0xe3, 0x86, 0x0c, 0x76, 0xc0, 0x36, 0x94, //0x000034e8 .quad -7766808894105001205 + 0x69, 0x3e, 0x5b, 0x8d, 0x0e, 0xe4, 0x08, 0xf8, //0x000034f0 .quad -573958201337495959 + 0xce, 0x9b, 0xa8, 0x8f, 0x93, 0x70, 0x44, 0xb9, //0x000034f8 .quad -5096825099203863602 + 0x04, 0x0e, 0xb2, 0x30, 0x12, 0x1d, 0x0b, 0xb6, //0x00003500 .quad -5329133770099257852 + 0xc2, 0xc2, 0x92, 0x73, 0xb8, 0x8c, 0x95, 0xe7, //0x00003508 .quad -1759345355577441598 + 0xc2, 0x48, 0x6f, 0x5e, 0x2b, 0xf2, 0xc6, 0xb1, //0x00003510 .quad -5636551615525730110 + 0xb9, 0xb9, 0x3b, 0x48, 0xf3, 0x77, 0xbd, 0x90, //0x00003518 .quad -8017119874876982855 + 0xf3, 0x1a, 0x0b, 0x36, 0xb6, 0xae, 0x38, 0x1e, //0x00003520 .quad 2177682517447613171 + 0x28, 0xa8, 0x4a, 0x1a, 0xf0, 0xd5, 0xec, 0xb4, //0x00003528 .quad -5409713825168840664 + 0xb0, 0xe1, 0x8d, 0xc3, 0x63, 0xda, 0xc6, 0x25, //0x00003530 .quad 2722103146809516464 + 0x32, 0x52, 0xdd, 0x20, 0x6c, 0x0b, 0x28, 0xe2, //0x00003538 .quad -2150456263033662926 + 0x0e, 0xad, 0x38, 0x5a, 0x7e, 0x48, 0x9c, 0x57, //0x00003540 .quad 6313000485183335694 + 0x5f, 0x53, 0x8a, 0x94, 0x23, 0x07, 0x59, 0x8d, //0x00003548 .quad -8261564192037121185 + 0x51, 0xd8, 0xc6, 0xf0, 0x9d, 0x5a, 0x83, 0x2d, //0x00003550 .quad 3279564588051781713 + 0x37, 0xe8, 0xac, 0x79, 0xec, 0x48, 0xaf, 0xb0, //0x00003558 .quad -5715269221619013577 + 0x65, 0x8e, 0xf8, 0x6c, 0x45, 0x31, 0xe4, 0xf8, //0x00003560 .quad -512230283362660763 + 0x44, 0x22, 0x18, 0x98, 0x27, 0x1b, 0xdb, 0xdc, //0x00003568 .quad -2532400508596379068 + 0xff, 0x58, 0x1b, 0x64, 0xcb, 0x9e, 0x8e, 0x1b, //0x00003570 .quad 1985699082112030975 + 0x6b, 0x15, 0x0f, 0xbf, 0xf8, 0xf0, 0x08, 0x8a, //0x00003578 .quad -8500279345513818773 + 0x3f, 0x2f, 0x22, 0x3d, 0x7e, 0x46, 0x72, 0xe2, //0x00003580 .quad -2129562165787349185 + 0xc5, 0xda, 0xd2, 0xee, 0x36, 0x2d, 0x8b, 0xac, //0x00003588 .quad -6013663163464885563 + 0x0f, 0xbb, 0x6a, 0xcc, 0x1d, 0xd8, 0x0e, 0x5b, //0x00003590 .quad 6561419329620589327 + 0x77, 0x91, 0x87, 0xaa, 0x84, 0xf8, 0xad, 0xd7, //0x00003598 .quad -2905392935903719049 + 0xe9, 0xb4, 0xc2, 0x9f, 0x12, 0x47, 0xe9, 0x98, //0x000035a0 .quad -7428327965055601431 + 0xea, 0xba, 0x94, 0xea, 0x52, 0xbb, 0xcc, 0x86, //0x000035a8 .quad -8733399612580906262 + 0x24, 0x62, 0xb3, 0x47, 0xd7, 0x98, 0x23, 0x3f, //0x000035b0 .quad 4549648098962661924 + 0xa5, 0xe9, 0x39, 0xa5, 0x27, 0xea, 0x7f, 0xa8, //0x000035b8 .quad -6305063497298744923 + 0xad, 0x3a, 0xa0, 0x19, 0x0d, 0x7f, 0xec, 0x8e, //0x000035c0 .quad -8147997931578836307 + 0x0e, 0x64, 0x88, 0x8e, 0xb1, 0xe4, 0x9f, 0xd2, //0x000035c8 .quad -3269643353196043250 + 0xac, 0x24, 0x04, 0x30, 0x68, 0xcf, 0x53, 0x19, //0x000035d0 .quad 1825030320404309164 + 0x89, 0x3e, 0x15, 0xf9, 0xee, 0xee, 0xa3, 0x83, //0x000035d8 .quad -8961056123388608887 + 0xd7, 0x2d, 0x05, 0x3c, 0x42, 0xc3, 0xa8, 0x5f, //0x000035e0 .quad 6892973918932774359 + 0x2b, 0x8e, 0x5a, 0xb7, 0xaa, 0xea, 0x8c, 0xa4, //0x000035e8 .quad -6589634135808373205 + 0x4d, 0x79, 0x06, 0xcb, 0x12, 0xf4, 0x92, 0x37, //0x000035f0 .quad 4004531380238580045 + 0xb6, 0x31, 0x31, 0x65, 0x55, 0x25, 0xb0, 0xcd, //0x000035f8 .quad -3625356651333078602 + 0xd0, 0x0b, 0xe4, 0xbe, 0x8b, 0xd8, 0xbb, 0xe2, //0x00003600 .quad -2108853905778275376 + 0x11, 0xbf, 0x3e, 0x5f, 0x55, 0x17, 0x8e, 0x80, //0x00003608 .quad -9183376934724255983 + 0xc4, 0x0e, 0x9d, 0xae, 0xae, 0xce, 0x6a, 0x5b, //0x00003610 .quad 6587304654631931588 + 0xd6, 0x6e, 0x0e, 0xb7, 0x2a, 0x9d, 0xb1, 0xa0, //0x00003618 .quad -6867535149977932074 + 0x75, 0x52, 0x44, 0x5a, 0x5a, 0x82, 0x45, 0xf2, //0x00003620 .quad -989241218564861323 + 0x8b, 0x0a, 0xd2, 0x64, 0x75, 0x04, 0xde, 0xc8, //0x00003628 .quad -3972732919045027189 + 0x12, 0x67, 0xd5, 0xf0, 0xf0, 0xe2, 0xd6, 0xee, //0x00003630 .quad -1236551523206076654 + 0x2e, 0x8d, 0x06, 0xbe, 0x92, 0x85, 0x15, 0xfb, //0x00003638 .quad -354230130378896082 + 0x6b, 0x60, 0x85, 0x96, 0xd6, 0x4d, 0x46, 0x55, //0x00003640 .quad 6144684325637283947 + 0x3d, 0x18, 0xc4, 0xb6, 0x7b, 0x73, 0xed, 0x9c, //0x00003648 .quad -7138922859127891907 + 0x86, 0xb8, 0x26, 0x3c, 0x4c, 0xe1, 0x97, 0xaa, //0x00003650 .quad -6154202648235558778 + 0x4c, 0x1e, 0x75, 0xa4, 0x5a, 0xd0, 0x28, 0xc4, //0x00003658 .quad -4311967555482476980 + 0xa8, 0x66, 0x30, 0x4b, 0x9f, 0xd9, 0x3d, 0xd5, //0x00003660 .quad -3081067291867060568 + 0xdf, 0x65, 0x92, 0x4d, 0x71, 0x04, 0x33, 0xf5, //0x00003668 .quad -778273425925708321 + 0x29, 0x40, 0xfe, 0x8e, 0x03, 0xa8, 0x46, 0xe5, //0x00003670 .quad -1925667057416912855 + 0xab, 0x7f, 0x7b, 0xd0, 0xc6, 0xe2, 0x3f, 0x99, //0x00003678 .quad -7403949918844649557 + 0x33, 0xd0, 0xbd, 0x72, 0x04, 0x52, 0x98, 0xde, //0x00003680 .quad -2407083821771141069 + 0x96, 0x5f, 0x9a, 0x84, 0x78, 0xdb, 0x8f, 0xbf, //0x00003688 .quad -4643251380128424042 + 0x40, 0x44, 0x6d, 0x8f, 0x85, 0x66, 0x3e, 0x96, //0x00003690 .quad -7620540795641314240 + 0x7c, 0xf7, 0xc0, 0xa5, 0x56, 0xd2, 0x73, 0xef, //0x00003698 .quad -1192378206733142148 + 0xa8, 0x4a, 0xa4, 0x79, 0x13, 0x00, 0xe7, 0xdd, //0x000036a0 .quad -2456994988062127448 + 0xad, 0x9a, 0x98, 0x27, 0x76, 0x63, 0xa8, 0x95, //0x000036a8 .quad -7662765406849295699 + 0x52, 0x5d, 0x0d, 0x58, 0x18, 0xc0, 0x60, 0x55, //0x000036b0 .quad 6152128301777116498 + 0x59, 0xc1, 0x7e, 0xb1, 0x53, 0x7c, 0x12, 0xbb, //0x000036b8 .quad -4966770740134231719 + 0xa6, 0xb4, 0x10, 0x6e, 0x1e, 0xf0, 0xb8, 0xaa, //0x000036c0 .quad -6144897678060768090 + 0xaf, 0x71, 0xde, 0x9d, 0x68, 0x1b, 0xd7, 0xe9, //0x000036c8 .quad -1596777406740401745 + 0xe8, 0x70, 0xca, 0x04, 0x13, 0x96, 0xb3, 0xca, //0x000036d0 .quad -3840561048787980056 + 0x0d, 0x07, 0xab, 0x62, 0x21, 0x71, 0x26, 0x92, //0x000036d8 .quad -7915514906853832947 + 0x22, 0x0d, 0xfd, 0xc5, 0x97, 0x7b, 0x60, 0x3d, //0x000036e0 .quad 4422670725869800738 + 0xd1, 0xc8, 0x55, 0xbb, 0x69, 0x0d, 0xb0, 0xb6, //0x000036e8 .quad -5282707615139903279 + 0x6a, 0x50, 0x7c, 0xb7, 0x7d, 0x9a, 0xb8, 0x8c, //0x000036f0 .quad -8306719647944912790 + 0x05, 0x3b, 0x2b, 0x2a, 0xc4, 0x10, 0x5c, 0xe4, //0x000036f8 .quad -1991698500497491195 + 0x42, 0xb2, 0xad, 0x92, 0x8e, 0x60, 0xf3, 0x77, //0x00003700 .quad 8643358275316593218 + 0xe3, 0x04, 0x5b, 0x9a, 0x7a, 0x8a, 0xb9, 0x8e, //0x00003708 .quad -8162340590452013853 + 0xd3, 0x1e, 0x59, 0x37, 0xb2, 0x38, 0xf0, 0x55, //0x00003710 .quad 6192511825718353619 + 0x1c, 0xc6, 0xf1, 0x40, 0x19, 0xed, 0x67, 0xb2, //0x00003718 .quad -5591239719637629412 + 0x88, 0x66, 0x2f, 0xc5, 0xde, 0x46, 0x6c, 0x6b, //0x00003720 .quad 7740639782147942024 + 0xa3, 0x37, 0x2e, 0x91, 0x5f, 0xe8, 0x01, 0xdf, //0x00003728 .quad -2377363631119648861 + 0x15, 0xa0, 0x3d, 0x3b, 0x4b, 0xac, 0x23, 0x23, //0x00003730 .quad 2532056854628769813 + 0xc6, 0xe2, 0xbc, 0xba, 0x3b, 0x31, 0x61, 0x8b, //0x00003738 .quad -8403381297090862394 + 0x1a, 0x08, 0x0d, 0x0a, 0x5e, 0x97, 0xec, 0xab, //0x00003740 .quad -6058300968568813542 + 0x77, 0x1b, 0x6c, 0xa9, 0x8a, 0x7d, 0x39, 0xae, //0x00003748 .quad -5892540602936190089 + 0x21, 0x4a, 0x90, 0x8c, 0x35, 0xbd, 0xe7, 0x96, //0x00003750 .quad -7572876210711016927 + 0x55, 0x22, 0xc7, 0x53, 0xed, 0xdc, 0xc7, 0xd9, //0x00003758 .quad -2753989735242849707 + 0x54, 0x2e, 0xda, 0x77, 0x41, 0xd6, 0x50, 0x7e, //0x00003760 .quad 9102010423587778132 + 0x75, 0x75, 0x5c, 0x54, 0x14, 0xea, 0x1c, 0x88, //0x00003768 .quad -8638772612167862923 + 0xe9, 0xb9, 0xd0, 0xd5, 0xd1, 0x0b, 0xe5, 0xdd, //0x00003770 .quad -2457545025797441047 + 0xd2, 0x92, 0x73, 0x69, 0x99, 0x24, 0x24, 0xaa, //0x00003778 .quad -6186779746782440750 + 0x64, 0xe8, 0x44, 0x4b, 0xc6, 0x4e, 0x5e, 0x95, //0x00003780 .quad -7683617300674189212 + 0x87, 0x77, 0xd0, 0xc3, 0xbf, 0x2d, 0xad, 0xd4, //0x00003788 .quad -3121788665050663033 + 0x3e, 0x11, 0x0b, 0xef, 0x3b, 0xf1, 0x5a, 0xbd, //0x00003790 .quad -4802260812921368258 + 0xb4, 0x4a, 0x62, 0xda, 0x97, 0x3c, 0xec, 0x84, //0x00003798 .quad -8868646943297746252 + 0x8e, 0xd5, 0xcd, 0xea, 0x8a, 0xad, 0xb1, 0xec, //0x000037a0 .quad -1391139997724322418 + 0x61, 0xdd, 0xfa, 0xd0, 0xbd, 0x4b, 0x27, 0xa6, //0x000037a8 .quad -6474122660694794911 + 0xf2, 0x4a, 0x81, 0xa5, 0xed, 0x18, 0xde, 0x67, //0x000037b0 .quad 7484447039699372786 + 0xba, 0x94, 0x39, 0x45, 0xad, 0x1e, 0xb1, 0xcf, //0x000037b8 .quad -3480967307441105734 + 0xd7, 0xce, 0x70, 0x87, 0x94, 0xcf, 0xea, 0x80, //0x000037c0 .quad -9157278655470055721 + 0xf4, 0xfc, 0x43, 0x4b, 0x2c, 0xb3, 0xce, 0x81, //0x000037c8 .quad -9093133594791772940 + 0x8d, 0x02, 0x4d, 0xa9, 0x79, 0x83, 0x25, 0xa1, //0x000037d0 .quad -6834912300910181747 + 0x31, 0xfc, 0x14, 0x5e, 0xf7, 0x5f, 0x42, 0xa2, //0x000037d8 .quad -6754730975062328271 + 0x30, 0x43, 0xa0, 0x13, 0x58, 0xe4, 0x6e, 0x09, //0x000037e0 .quad 679731660717048624 + 0x3e, 0x3b, 0x9a, 0x35, 0xf5, 0xf7, 0xd2, 0xca, //0x000037e8 .quad -3831727700400522434 + 0xfc, 0x53, 0x88, 0x18, 0x6e, 0x9d, 0xca, 0x8b, //0x000037f0 .quad -8373707460958465028 + 0x0d, 0xca, 0x00, 0x83, 0xf2, 0xb5, 0x87, 0xfd, //0x000037f8 .quad -177973607073265139 + 0x7d, 0x34, 0x55, 0xcf, 0x64, 0xa2, 0x5e, 0x77, //0x00003800 .quad 8601490892183123069 + 0x48, 0x7e, 0xe0, 0x91, 0xb7, 0xd1, 0x74, 0x9e, //0x00003808 .quad -7028762532061872568 + 0x9d, 0x81, 0x2a, 0x03, 0xfe, 0x4a, 0x36, 0x95, //0x00003810 .quad -7694880458480647779 + 0xda, 0x9d, 0x58, 0x76, 0x25, 0x06, 0x12, 0xc6, //0x00003818 .quad -4174267146649952806 + 0x04, 0x22, 0xf5, 0x83, 0xbd, 0xdd, 0x83, 0x3a, //0x00003820 .quad 4216457482181353988 + 0x51, 0xc5, 0xee, 0xd3, 0xae, 0x87, 0x96, 0xf7, //0x00003828 .quad -606147914885053103 + 0x42, 0x35, 0x79, 0x72, 0x96, 0x6a, 0x92, 0xc4, //0x00003830 .quad -4282243101277735614 + 0x52, 0x3b, 0x75, 0x44, 0xcd, 0x14, 0xbe, 0x9a, //0x00003838 .quad -7296371474444240046 + 0x93, 0x82, 0x17, 0x0f, 0x3c, 0x05, 0xb7, 0x75, //0x00003840 .quad 8482254178684994195 + 0x27, 0x8a, 0x92, 0x95, 0x00, 0x9a, 0x6d, 0xc1, //0x00003848 .quad -4508778324627912153 + 0x38, 0x63, 0xdd, 0x12, 0x8b, 0xc6, 0x24, 0x53, //0x00003850 .quad 5991131704928854840 + 0xb1, 0x2c, 0xf7, 0xba, 0x80, 0x00, 0xc9, 0xf1, //0x00003858 .quad -1024286887357502287 + 0x03, 0x5e, 0xca, 0xeb, 0x16, 0xfc, 0xf6, 0xd3, //0x00003860 .quad -3173071712060547581 + 0xee, 0x7b, 0xda, 0x74, 0x50, 0xa0, 0x1d, 0x97, //0x00003868 .quad -7557708332239520786 + 0x84, 0xf5, 0xbc, 0xa6, 0x1c, 0xbb, 0xf4, 0x88, //0x00003870 .quad -8578025658503072380 + 0xea, 0x1a, 0x11, 0x92, 0x64, 0x08, 0xe5, 0xbc, //0x00003878 .quad -4835449396872013078 + 0xe5, 0x32, 0x6c, 0xd0, 0xe3, 0xe9, 0x31, 0x2b, //0x00003880 .quad 3112525982153323237 + 0xa5, 0x61, 0x95, 0xb6, 0x7d, 0x4a, 0x1e, 0xec, //0x00003888 .quad -1432625727662628443 + 0xcf, 0x9f, 0x43, 0x62, 0x2e, 0x32, 0xff, 0x3a, //0x00003890 .quad 4251171748059520975 + 0x07, 0x5d, 0x1d, 0x92, 0x8e, 0xee, 0x92, 0x93, //0x00003898 .quad -7812920107430224633 + 0xc2, 0x87, 0xd4, 0xfa, 0xb9, 0xfe, 0xbe, 0x09, //0x000038a0 .quad 702278666647013314 + 0x49, 0xb4, 0xa4, 0x36, 0x32, 0xaa, 0x77, 0xb8, //0x000038a8 .quad -5154464115860392887 + 0xb3, 0xa9, 0x89, 0x79, 0x68, 0xbe, 0x2e, 0x4c, //0x000038b0 .quad 5489534351736154547 + 0x5b, 0xe1, 0x4d, 0xc4, 0xbe, 0x94, 0x95, 0xe6, //0x000038b8 .quad -1831394126398103205 + 0x10, 0x0a, 0xf6, 0x4b, 0x01, 0x37, 0x9d, 0x0f, //0x000038c0 .quad 1125115960621402640 + 0xd9, 0xac, 0xb0, 0x3a, 0xf7, 0x7c, 0x1d, 0x90, //0x000038c8 .quad -8062150356639896359 + 0x94, 0x8c, 0xf3, 0x9e, 0xc1, 0x84, 0x84, 0x53, //0x000038d0 .quad 6018080969204141204 + 0x0f, 0xd8, 0x5c, 0x09, 0x35, 0xdc, 0x24, 0xb4, //0x000038d8 .quad -5466001927372482545 + 0xb9, 0x6f, 0xb0, 0x06, 0xf2, 0xa5, 0x65, 0x28, //0x000038e0 .quad 2910915193077788601 + 0x13, 0x0e, 0xb4, 0x4b, 0x42, 0x13, 0x2e, 0xe1, //0x000038e8 .quad -2220816390788215277 + 0xd3, 0x45, 0x2e, 0x44, 0xb7, 0x87, 0x3f, 0xf9, //0x000038f0 .quad -486521013540076077 + 0xcb, 0x88, 0x50, 0x6f, 0x09, 0xcc, 0xbc, 0x8c, //0x000038f8 .quad -8305539271883716405 + 0x48, 0xd7, 0x39, 0x15, 0xa5, 0x69, 0x8f, 0xf7, //0x00003900 .quad -608151266925095096 + 0xfe, 0xaa, 0x24, 0xcb, 0x0b, 0xff, 0xeb, 0xaf, //0x00003908 .quad -5770238071427257602 + 0x1b, 0x4d, 0x88, 0x5a, 0x0e, 0x44, 0x73, 0xb5, //0x00003910 .quad -5371875102083756773 + 0xbe, 0xd5, 0xed, 0xbd, 0xce, 0xfe, 0xe6, 0xdb, //0x00003918 .quad -2601111570856684098 + 0x30, 0x30, 0x95, 0xf8, 0x88, 0x0a, 0x68, 0x31, //0x00003920 .quad 3560107088838733872 + 0x97, 0xa5, 0xb4, 0x36, 0x41, 0x5f, 0x70, 0x89, //0x00003928 .quad -8543223759426509417 + 0x3d, 0x7c, 0xba, 0x36, 0x2b, 0x0d, 0xc2, 0xfd, //0x00003930 .quad -161552157378970563 + 0xfc, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00003938 .quad -6067343680855748868 + 0x4c, 0x1b, 0x69, 0x04, 0x76, 0x90, 0x32, 0x3d, //0x00003940 .quad 4409745821703674700 + 0xbc, 0x42, 0x7a, 0xe5, 0xd5, 0x94, 0xbf, 0xd6, //0x00003948 .quad -2972493582642298180 + 0x0f, 0xb1, 0xc1, 0xc2, 0x49, 0x9a, 0x3f, 0xa6, //0x00003950 .quad -6467280898289979121 + 0xb5, 0x69, 0x6c, 0xaf, 0x05, 0xbd, 0x37, 0x86, //0x00003958 .quad -8775337516792518219 + 0x53, 0x1d, 0x72, 0x33, 0xdc, 0x80, 0xcf, 0x0f, //0x00003960 .quad 1139270913992301907 + 0x23, 0x84, 0x47, 0x1b, 0x47, 0xac, 0xc5, 0xa7, //0x00003968 .quad -6357485877563259869 + 0xa8, 0xa4, 0x4e, 0x40, 0x13, 0x61, 0xc3, 0xd3, //0x00003970 .quad -3187597375937010520 + 0x2b, 0x65, 0x19, 0xe2, 0x58, 0x17, 0xb7, 0xd1, //0x00003978 .quad -3335171328526686933 + 0xe9, 0x26, 0x31, 0x08, 0xac, 0x1c, 0x5a, 0x64, //0x00003980 .quad 7231123676894144233 + 0x3b, 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83, //0x00003988 .quad -9002011107970261189 + 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, 0x70, 0x3d, //0x00003990 .quad 4427218577690292387 + 0x0a, 0xd7, 0xa3, 0x70, 0x3d, 0x0a, 0xd7, 0xa3, //0x00003998 .quad -6640827866535438582 + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, //0x000039a0 QUAD $0xcccccccccccccccc; QUAD $0xcccccccccccccccc // .space 16, '\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000039b0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, //0x000039b8 .quad -9223372036854775808 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000039c0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, //0x000039c8 .quad -6917529027641081856 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000039d0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, //0x000039d8 .quad -4035225266123964416 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000039e0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, //0x000039e8 .quad -432345564227567616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000039f0 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9c, //0x000039f8 .quad -7187745005283311616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a00 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, //0x00003a08 .quad -4372995238176751616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a10 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xf4, //0x00003a18 .quad -854558029293551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a20 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x96, 0x98, //0x00003a28 .quad -7451627795949551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a30 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbc, 0xbe, //0x00003a38 .quad -4702848726509551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a40 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6b, 0xee, //0x00003a48 .quad -1266874889709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a50 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x02, 0x95, //0x00003a58 .quad -7709325833709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a60 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x40, 0xb7, 0x43, 0xba, //0x00003a68 .quad -5024971273709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a70 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0xd4, 0xe8, //0x00003a78 .quad -1669528073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a80 .quad 0 + 0x00, 0x00, 0x00, 0x00, 0x2a, 0xe7, 0x84, 0x91, //0x00003a88 .quad -7960984073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003a90 .quad 0 + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x20, 0xe6, 0xb5, //0x00003a98 .quad -5339544073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003aa0 .quad 0 + 0x00, 0x00, 0x00, 0xa0, 0x31, 0xa9, 0x5f, 0xe3, //0x00003aa8 .quad -2062744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003ab0 .quad 0 + 0x00, 0x00, 0x00, 0x04, 0xbf, 0xc9, 0x1b, 0x8e, //0x00003ab8 .quad -8206744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003ac0 .quad 0 + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0xbc, 0xa2, 0xb1, //0x00003ac8 .quad -5646744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003ad0 .quad 0 + 0x00, 0x00, 0x40, 0x76, 0x3a, 0x6b, 0x0b, 0xde, //0x00003ad8 .quad -2446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003ae0 .quad 0 + 0x00, 0x00, 0xe8, 0x89, 0x04, 0x23, 0xc7, 0x8a, //0x00003ae8 .quad -8446744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003af0 .quad 0 + 0x00, 0x00, 0x62, 0xac, 0xc5, 0xeb, 0x78, 0xad, //0x00003af8 .quad -5946744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b00 .quad 0 + 0x00, 0x80, 0x7a, 0x17, 0xb7, 0x26, 0xd7, 0xd8, //0x00003b08 .quad -2821744073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b10 .quad 0 + 0x00, 0x90, 0xac, 0x6e, 0x32, 0x78, 0x86, 0x87, //0x00003b18 .quad -8681119073709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b20 .quad 0 + 0x00, 0xb4, 0x57, 0x0a, 0x3f, 0x16, 0x68, 0xa9, //0x00003b28 .quad -6239712823709551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b30 .quad 0 + 0x00, 0xa1, 0xed, 0xcc, 0xce, 0x1b, 0xc2, 0xd3, //0x00003b38 .quad -3187955011209551616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b40 .quad 0 + 0xa0, 0x84, 0x14, 0x40, 0x61, 0x51, 0x59, 0x84, //0x00003b48 .quad -8910000909647051616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b50 .quad 0 + 0xc8, 0xa5, 0x19, 0x90, 0xb9, 0xa5, 0x6f, 0xa5, //0x00003b58 .quad -6525815118631426616 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00003b60 .quad 0 + 0x3a, 0x0f, 0x20, 0xf4, 0x27, 0x8f, 0xcb, 0xce, //0x00003b68 .quad -3545582879861895366 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, //0x00003b70 .quad 4611686018427387904 + 0x84, 0x09, 0x94, 0xf8, 0x78, 0x39, 0x3f, 0x81, //0x00003b78 .quad -9133518327554766460 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, //0x00003b80 .quad 5764607523034234880 + 0xe5, 0x0b, 0xb9, 0x36, 0xd7, 0x07, 0x8f, 0xa1, //0x00003b88 .quad -6805211891016070171 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, //0x00003b90 .quad -6629298651489370112 + 0xde, 0x4e, 0x67, 0x04, 0xcd, 0xc9, 0xf2, 0xc9, //0x00003b98 .quad -3894828845342699810 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, //0x00003ba0 .quad 5548434740920451072 + 0x96, 0x22, 0x81, 0x45, 0x40, 0x7c, 0x6f, 0xfc, //0x00003ba8 .quad -256850038250986858 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, //0x00003bb0 .quad -1143914305352105984 + 0x9d, 0xb5, 0x70, 0x2b, 0xa8, 0xad, 0xc5, 0x9d, //0x00003bb8 .quad -7078060301547948643 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6c, //0x00003bc0 .quad 7793479155164643328 + 0x05, 0xe3, 0x4c, 0x36, 0x12, 0x19, 0x37, 0xc5, //0x00003bc8 .quad -4235889358507547899 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xc7, //0x00003bd0 .quad -4093209111326359552 + 0xc6, 0x1b, 0xe0, 0xc3, 0x56, 0xdf, 0x84, 0xf6, //0x00003bd8 .quad -683175679707046970 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7f, 0x3c, //0x00003be0 .quad 4359273333062107136 + 0x5c, 0x11, 0x6c, 0x3a, 0x96, 0x0b, 0x13, 0x9a, //0x00003be8 .quad -7344513827457986212 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x9f, 0x4b, //0x00003bf0 .quad 5449091666327633920 + 0xb3, 0x15, 0x07, 0xc9, 0x7b, 0xce, 0x97, 0xc0, //0x00003bf8 .quad -4568956265895094861 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x86, 0x1e, //0x00003c00 .quad 2199678564482154496 + 0x20, 0xdb, 0x48, 0xbb, 0x1a, 0xc2, 0xbd, 0xf0, //0x00003c08 .quad -1099509313941480672 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x14, 0x13, //0x00003c10 .quad 1374799102801346560 + 0xf4, 0x88, 0x0d, 0xb5, 0x50, 0x99, 0x76, 0x96, //0x00003c18 .quad -7604722348854507276 + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x55, 0xd9, 0x17, //0x00003c20 .quad 1718498878501683200 + 0x31, 0xeb, 0x50, 0xe2, 0xa4, 0x3f, 0x14, 0xbc, //0x00003c28 .quad -4894216917640746191 + 0x00, 0x00, 0x00, 0x00, 0x08, 0xab, 0xcf, 0x5d, //0x00003c30 .quad 6759809616554491904 + 0xfd, 0x25, 0xe5, 0x1a, 0x8e, 0x4f, 0x19, 0xeb, //0x00003c38 .quad -1506085128623544835 + 0x00, 0x00, 0x00, 0x00, 0xe5, 0xca, 0xa1, 0x5a, //0x00003c40 .quad 6530724019560251392 + 0xbe, 0x37, 0xcf, 0xd0, 0xb8, 0xd1, 0xef, 0x92, //0x00003c48 .quad -7858832233030797378 + 0x00, 0x00, 0x00, 0x40, 0x9e, 0x3d, 0x4a, 0xf1, //0x00003c50 .quad -1059967012404461568 + 0xad, 0x05, 0x03, 0x05, 0x27, 0xc6, 0xab, 0xb7, //0x00003c58 .quad -5211854272861108819 + 0x00, 0x00, 0x00, 0xd0, 0x05, 0xcd, 0x9c, 0x6d, //0x00003c60 .quad 7898413271349198848 + 0x19, 0xc7, 0x43, 0xc6, 0xb0, 0xb7, 0x96, 0xe5, //0x00003c68 .quad -1903131822648998119 + 0x00, 0x00, 0x00, 0xa2, 0x23, 0x00, 0x82, 0xe4, //0x00003c70 .quad -1981020733047832576 + 0x6f, 0x5c, 0xea, 0x7b, 0xce, 0x32, 0x7e, 0x8f, //0x00003c78 .quad -8106986416796705681 + 0x00, 0x00, 0x80, 0x8a, 0x2c, 0x80, 0xa2, 0xdd, //0x00003c80 .quad -2476275916309790720 + 0x8b, 0xf3, 0xe4, 0x1a, 0x82, 0xbf, 0x5d, 0xb3, //0x00003c88 .quad -5522047002568494197 + 0x00, 0x00, 0x20, 0xad, 0x37, 0x20, 0x0b, 0xd5, //0x00003c90 .quad -3095344895387238400 + 0x6e, 0x30, 0x9e, 0xa1, 0x62, 0x2f, 0x35, 0xe0, //0x00003c98 .quad -2290872734783229842 + 0x00, 0x00, 0x34, 0xcc, 0x22, 0xf4, 0x26, 0x45, //0x00003ca0 .quad 4982938468024057856 + 0x45, 0xde, 0x02, 0xa5, 0x9d, 0x3d, 0x21, 0x8c, //0x00003ca8 .quad -8349324486880600507 + 0x00, 0x00, 0x41, 0x7f, 0x2b, 0xb1, 0x70, 0x96, //0x00003cb0 .quad -7606384970252091392 + 0xd6, 0x95, 0x43, 0x0e, 0x05, 0x8d, 0x29, 0xaf, //0x00003cb8 .quad -5824969590173362730 + 0x00, 0x40, 0x11, 0x5f, 0x76, 0xdd, 0x0c, 0x3c, //0x00003cc0 .quad 4327076842467049472 + 0x4c, 0x7b, 0xd4, 0x51, 0x46, 0xf0, 0xf3, 0xda, //0x00003cc8 .quad -2669525969289315508 + 0x00, 0xc8, 0x6a, 0xfb, 0x69, 0x0a, 0x88, 0xa5, //0x00003cd0 .quad -6518949010312869888 + 0x0f, 0xcd, 0x24, 0xf3, 0x2b, 0x76, 0xd8, 0x88, //0x00003cd8 .quad -8585982758446904049 + 0x00, 0x7a, 0x45, 0x7a, 0x04, 0x0d, 0xea, 0x8e, //0x00003ce0 .quad -8148686262891087360 + 0x53, 0x00, 0xee, 0xef, 0xb6, 0x93, 0x0e, 0xab, //0x00003ce8 .quad -6120792429631242157 + 0x80, 0xd8, 0xd6, 0x98, 0x45, 0x90, 0xa4, 0x72, //0x00003cf0 .quad 8260886245095692416 + 0x68, 0x80, 0xe9, 0xab, 0xa4, 0x38, 0xd2, 0xd5, //0x00003cf8 .quad -3039304518611664792 + 0x50, 0x47, 0x86, 0x7f, 0x2b, 0xda, 0xa6, 0x47, //0x00003d00 .quad 5163053903184807760 + 0x41, 0xf0, 0x71, 0xeb, 0x66, 0x63, 0xa3, 0x85, //0x00003d08 .quad -8817094351773372351 + 0x24, 0xd9, 0x67, 0x5f, 0xb6, 0x90, 0x90, 0x99, //0x00003d10 .quad -7381240676301154012 + 0x51, 0x6c, 0x4e, 0xa6, 0x40, 0x3c, 0x0c, 0xa7, //0x00003d18 .quad -6409681921289327535 + 0x6d, 0xcf, 0x41, 0xf7, 0xe3, 0xb4, 0xf4, 0xff, //0x00003d20 .quad -3178808521666707 + 0x65, 0x07, 0xe2, 0xcf, 0x50, 0x4b, 0xcf, 0xd0, //0x00003d28 .quad -3400416383184271515 + 0xa4, 0x21, 0x89, 0x7a, 0x0e, 0xf1, 0xf8, 0xbf, //0x00003d30 .quad -4613672773753429596 + 0x9f, 0x44, 0xed, 0x81, 0x12, 0x8f, 0x81, 0x82, //0x00003d38 .quad -9042789267131251553 + 0x0d, 0x6a, 0x2b, 0x19, 0x52, 0x2d, 0xf7, 0xaf, //0x00003d40 .quad -5767090967191786995 + 0xc7, 0x95, 0x68, 0x22, 0xd7, 0xf2, 0x21, 0xa3, //0x00003d48 .quad -6691800565486676537 + 0x90, 0x44, 0x76, 0x9f, 0xa6, 0xf8, 0xf4, 0x9b, //0x00003d50 .quad -7208863708989733744 + 0x39, 0xbb, 0x02, 0xeb, 0x8c, 0x6f, 0xea, 0xcb, //0x00003d58 .quad -3753064688430957767 + 0xb4, 0xd5, 0x53, 0x47, 0xd0, 0x36, 0xf2, 0x02, //0x00003d60 .quad 212292400617608628 + 0x08, 0x6a, 0xc3, 0x25, 0x70, 0x0b, 0xe5, 0xfe, //0x00003d68 .quad -79644842111309304 + 0x90, 0x65, 0x94, 0x2c, 0x42, 0x62, 0xd7, 0x01, //0x00003d70 .quad 132682750386005392 + 0x45, 0x22, 0x9a, 0x17, 0x26, 0x27, 0x4f, 0x9f, //0x00003d78 .quad -6967307053960650171 + 0xf5, 0x7e, 0xb9, 0xb7, 0xd2, 0x3a, 0x4d, 0x42, //0x00003d80 .quad 4777539456409894645 + 0xd6, 0xaa, 0x80, 0x9d, 0xef, 0xf0, 0x22, 0xc7, //0x00003d88 .quad -4097447799023424810 + 0xb2, 0xde, 0xa7, 0x65, 0x87, 0x89, 0xe0, 0xd2, //0x00003d90 .quad -3251447716342407502 + 0x8b, 0xd5, 0xe0, 0x84, 0x2b, 0xad, 0xeb, 0xf8, //0x00003d98 .quad -510123730351893109 + 0x2f, 0xeb, 0x88, 0x9f, 0xf4, 0x55, 0xcc, 0x63, //0x00003da0 .quad 7191217214140771119 + 0x77, 0x85, 0x0c, 0x33, 0x3b, 0x4c, 0x93, 0x9b, //0x00003da8 .quad -7236356359111015049 + 0xfb, 0x25, 0x6b, 0xc7, 0x71, 0x6b, 0xbf, 0x3c, //0x00003db0 .quad 4377335499248575995 + 0xd5, 0xa6, 0xcf, 0xff, 0x49, 0x1f, 0x78, 0xc2, //0x00003db8 .quad -4433759430461380907 + 0x7a, 0xef, 0x45, 0x39, 0x4e, 0x46, 0xef, 0x8b, //0x00003dc0 .quad -8363388681221443718 + 0x8a, 0x90, 0xc3, 0x7f, 0x1c, 0x27, 0x16, 0xf3, //0x00003dc8 .quad -930513269649338230 + 0xac, 0xb5, 0xcb, 0xe3, 0xf0, 0x8b, 0x75, 0x97, //0x00003dd0 .quad -7532960934977096276 + 0x56, 0x3a, 0xda, 0xcf, 0x71, 0xd8, 0xed, 0x97, //0x00003dd8 .quad -7499099821171918250 + 0x17, 0xa3, 0xbe, 0x1c, 0xed, 0xee, 0x52, 0x3d, //0x00003de0 .quad 4418856886560793367 + 0xec, 0xc8, 0xd0, 0x43, 0x8e, 0x4e, 0xe9, 0xbd, //0x00003de8 .quad -4762188758037509908 + 0xdd, 0x4b, 0xee, 0x63, 0xa8, 0xaa, 0xa7, 0x4c, //0x00003df0 .quad 5523571108200991709 + 0x27, 0xfb, 0xc4, 0xd4, 0x31, 0xa2, 0x63, 0xed, //0x00003df8 .quad -1341049929119499481 + 0x6a, 0xef, 0x74, 0x3e, 0xa9, 0xca, 0xe8, 0x8f, //0x00003e00 .quad -8076983103442849942 + 0xf8, 0x1c, 0xfb, 0x24, 0x5f, 0x45, 0x5e, 0x94, //0x00003e08 .quad -7755685233340769032 + 0x44, 0x2b, 0x12, 0x8e, 0x53, 0xfd, 0xe2, 0xb3, //0x00003e10 .quad -5484542860876174524 + 0x36, 0xe4, 0x39, 0xee, 0xb6, 0xd6, 0x75, 0xb9, //0x00003e18 .quad -5082920523248573386 + 0x16, 0xb6, 0x96, 0x71, 0xa8, 0xbc, 0xdb, 0x60, //0x00003e20 .quad 6979379479186945558 + 0x44, 0x5d, 0xc8, 0xa9, 0x64, 0x4c, 0xd3, 0xe7, //0x00003e28 .quad -1741964635633328828 + 0xcd, 0x31, 0xfe, 0x46, 0xe9, 0x55, 0x89, 0xbc, //0x00003e30 .quad -4861259862362934835 + 0x4a, 0x3a, 0x1d, 0xea, 0xbe, 0x0f, 0xe4, 0x90, //0x00003e38 .quad -8006256924911912374 + 0x41, 0xbe, 0xbd, 0x98, 0x63, 0xab, 0xab, 0x6b, //0x00003e40 .quad 7758483227328495169 + 0xdd, 0x88, 0xa4, 0xa4, 0xae, 0x13, 0x1d, 0xb5, //0x00003e48 .quad -5396135137712502563 + 0xd1, 0x2d, 0xed, 0x7e, 0x3c, 0x96, 0x96, 0xc6, //0x00003e50 .quad -4136954021121544751 + 0x14, 0xab, 0xcd, 0x4d, 0x9a, 0x58, 0x64, 0xe2, //0x00003e58 .quad -2133482903713240300 + 0xa2, 0x3c, 0x54, 0xcf, 0xe5, 0x1d, 0x1e, 0xfc, //0x00003e60 .quad -279753253987271518 + 0xec, 0x8a, 0xa0, 0x70, 0x60, 0xb7, 0x7e, 0x8d, //0x00003e68 .quad -8250955842461857044 + 0xcb, 0x4b, 0x29, 0x43, 0x5f, 0xa5, 0x25, 0x3b, //0x00003e70 .quad 4261994450943298507 + 0xa8, 0xad, 0xc8, 0x8c, 0x38, 0x65, 0xde, 0xb0, //0x00003e78 .quad -5702008784649933400 + 0xbe, 0x9e, 0xf3, 0x13, 0xb7, 0x0e, 0xef, 0x49, //0x00003e80 .quad 5327493063679123134 + 0x12, 0xd9, 0xfa, 0xaf, 0x86, 0xfe, 0x15, 0xdd, //0x00003e88 .quad -2515824962385028846 + 0x37, 0x43, 0x78, 0x6c, 0x32, 0x69, 0x35, 0x6e, //0x00003e90 .quad 7941369183226839863 + 0xab, 0xc7, 0xfc, 0x2d, 0x14, 0xbf, 0x2d, 0x8a, //0x00003e98 .quad -8489919629131724885 + 0x04, 0x54, 0x96, 0x07, 0x7f, 0xc3, 0xc2, 0x49, //0x00003ea0 .quad 5315025460606161924 + 0x96, 0xf9, 0x7b, 0x39, 0xd9, 0x2e, 0xb9, 0xac, //0x00003ea8 .quad -6000713517987268202 + 0x06, 0xe9, 0x7b, 0xc9, 0x5e, 0x74, 0x33, 0xdc, //0x00003eb0 .quad -2579590211097073402 + 0xfb, 0xf7, 0xda, 0x87, 0x8f, 0x7a, 0xe7, 0xd7, //0x00003eb8 .quad -2889205879056697349 + 0xa3, 0x71, 0xed, 0x3d, 0xbb, 0x28, 0xa0, 0x69, //0x00003ec0 .quad 7611128154919104931 + 0xfd, 0xda, 0xe8, 0xb4, 0x99, 0xac, 0xf0, 0x86, //0x00003ec8 .quad -8723282702051517699 + 0x0c, 0xce, 0x68, 0x0d, 0xea, 0x32, 0x08, 0xc4, //0x00003ed0 .quad -4321147861633282548 + 0xbc, 0x11, 0x23, 0x22, 0xc0, 0xd7, 0xac, 0xa8, //0x00003ed8 .quad -6292417359137009220 + 0x90, 0x01, 0xc3, 0x90, 0xa4, 0x3f, 0x0a, 0xf5, //0x00003ee0 .quad -789748808614215280 + 0x2b, 0xd6, 0xab, 0x2a, 0xb0, 0x0d, 0xd8, 0xd2, //0x00003ee8 .quad -3253835680493873621 + 0xfa, 0xe0, 0x79, 0xda, 0xc6, 0x67, 0x26, 0x79, //0x00003ef0 .quad 8729779031470891258 + 0xdb, 0x65, 0xab, 0x1a, 0x8e, 0x08, 0xc7, 0x83, //0x00003ef8 .quad -8951176327949752869 + 0x38, 0x59, 0x18, 0x91, 0xb8, 0x01, 0x70, 0x57, //0x00003f00 .quad 6300537770911226168 + 0x52, 0x3f, 0x56, 0xa1, 0xb1, 0xca, 0xb8, 0xa4, //0x00003f08 .quad -6577284391509803182 + 0x86, 0x6f, 0x5e, 0xb5, 0x26, 0x02, 0x4c, 0xed, //0x00003f10 .quad -1347699823215743098 + 0x26, 0xcf, 0xab, 0x09, 0x5e, 0xfd, 0xe6, 0xcd, //0x00003f18 .quad -3609919470959866074 + 0xb4, 0x05, 0x5b, 0x31, 0x58, 0x81, 0x4f, 0x54, //0x00003f20 .quad 6075216638131242420 + 0x78, 0x61, 0x0b, 0xc6, 0x5a, 0x5e, 0xb0, 0x80, //0x00003f28 .quad -9173728696990998152 + 0x21, 0xc7, 0xb1, 0x3d, 0xae, 0x61, 0x63, 0x69, //0x00003f30 .quad 7594020797664053025 + 0xd6, 0x39, 0x8e, 0x77, 0xf1, 0x75, 0xdc, 0xa0, //0x00003f38 .quad -6855474852811359786 + 0xe9, 0x38, 0x1e, 0xcd, 0x19, 0x3a, 0xbc, 0x03, //0x00003f40 .quad 269153960225290473 + 0x4c, 0xc8, 0x71, 0xd5, 0x6d, 0x93, 0x13, 0xc9, //0x00003f48 .quad -3957657547586811828 + 0x23, 0xc7, 0x65, 0x40, 0xa0, 0x48, 0xab, 0x04, //0x00003f50 .quad 336442450281613091 + 0x5f, 0x3a, 0xce, 0x4a, 0x49, 0x78, 0x58, 0xfb, //0x00003f58 .quad -335385916056126881 + 0x76, 0x9c, 0x3f, 0x28, 0x64, 0x0d, 0xeb, 0x62, //0x00003f60 .quad 7127805559067090038 + 0x7b, 0xe4, 0xc0, 0xce, 0x2d, 0x4b, 0x17, 0x9d, //0x00003f68 .quad -7127145225176161157 + 0x94, 0x83, 0x4f, 0x32, 0xbd, 0xd0, 0xa5, 0x3b, //0x00003f70 .quad 4298070930406474644 + 0x9a, 0x1d, 0x71, 0x42, 0xf9, 0x1d, 0x5d, 0xc4, //0x00003f78 .quad -4297245513042813542 + 0x79, 0x64, 0xe3, 0x7e, 0xec, 0x44, 0x8f, 0xca, //0x00003f80 .quad -3850783373846682503 + 0x00, 0x65, 0x0d, 0x93, 0x77, 0x65, 0x74, 0xf5, //0x00003f88 .quad -759870872876129024 + 0xcb, 0x1e, 0x4e, 0xcf, 0x13, 0x8b, 0x99, 0x7e, //0x00003f90 .quad 9122475437414293195 + 0x20, 0x5f, 0xe8, 0xbb, 0x6a, 0xbf, 0x68, 0x99, //0x00003f98 .quad -7392448323188662496 + 0x7e, 0xa6, 0x21, 0xc3, 0xd8, 0xed, 0x3f, 0x9e, //0x00003fa0 .quad -7043649776941685122 + 0xe8, 0x76, 0xe2, 0x6a, 0x45, 0xef, 0xc2, 0xbf, //0x00003fa8 .quad -4628874385558440216 + 0x1e, 0x10, 0xea, 0xf3, 0x4e, 0xe9, 0xcf, 0xc5, //0x00003fb0 .quad -4192876202749718498 + 0xa2, 0x14, 0x9b, 0xc5, 0x16, 0xab, 0xb3, 0xef, //0x00003fb8 .quad -1174406963520662366 + 0x12, 0x4a, 0x72, 0x58, 0xd1, 0xf1, 0xa1, 0xbb, //0x00003fc0 .quad -4926390635932268014 + 0xe5, 0xec, 0x80, 0x3b, 0xee, 0x4a, 0xd0, 0x95, //0x00003fc8 .quad -7651533379841495835 + 0x97, 0xdc, 0x8e, 0xae, 0x45, 0x6e, 0x8a, 0x2a, //0x00003fd0 .quad 3065383741939440791 + 0x1f, 0x28, 0x61, 0xca, 0xa9, 0x5d, 0x44, 0xbb, //0x00003fd8 .quad -4952730706374481889 + 0xbd, 0x93, 0x32, 0x1a, 0xd7, 0x09, 0x2d, 0xf5, //0x00003fe0 .quad -779956341003086915 + 0x26, 0x72, 0xf9, 0x3c, 0x14, 0x75, 0x15, 0xea, //0x00003fe8 .quad -1579227364540714458 + 0x56, 0x9c, 0x5f, 0x70, 0x26, 0x26, 0x3c, 0x59, //0x00003ff0 .quad 6430056314514152534 + 0x58, 0xe7, 0x1b, 0xa6, 0x2c, 0x69, 0x4d, 0x92, //0x00003ff8 .quad -7904546130479028392 + 0x6c, 0x83, 0x77, 0x0c, 0xb0, 0x2f, 0x8b, 0x6f, //0x00004000 .quad 8037570393142690668 + 0x2e, 0xe1, 0xa2, 0xcf, 0x77, 0xc3, 0xe0, 0xb6, //0x00004008 .quad -5268996644671397586 + 0x47, 0x64, 0x95, 0x0f, 0x9c, 0xfb, 0x6d, 0x0b, //0x00004010 .quad 823590954573587527 + 0x7a, 0x99, 0x8b, 0xc3, 0x55, 0xf4, 0x98, 0xe4, //0x00004018 .quad -1974559787411859078 + 0xac, 0x5e, 0xbd, 0x89, 0x41, 0xbd, 0x24, 0x47, //0x00004020 .quad 5126430365035880108 + 0xec, 0x3f, 0x37, 0x9a, 0xb5, 0x98, 0xdf, 0x8e, //0x00004028 .quad -8151628894773493780 + 0x57, 0xb6, 0x2c, 0xec, 0x91, 0xec, 0xed, 0x58, //0x00004030 .quad 6408037956294850135 + 0xe7, 0x0f, 0xc5, 0x00, 0xe3, 0x7e, 0x97, 0xb2, //0x00004038 .quad -5577850100039479321 + 0xed, 0xe3, 0x37, 0x67, 0xb6, 0x67, 0x29, 0x2f, //0x00004040 .quad 3398361426941174765 + 0xe1, 0x53, 0xf6, 0xc0, 0x9b, 0x5e, 0x3d, 0xdf, //0x00004048 .quad -2360626606621961247 + 0x74, 0xee, 0x82, 0x00, 0xd2, 0xe0, 0x79, 0xbd, //0x00004050 .quad -4793553135802847628 + 0x6c, 0xf4, 0x99, 0x58, 0x21, 0x5b, 0x86, 0x8b, //0x00004058 .quad -8392920656779807636 + 0x11, 0xaa, 0xa3, 0x80, 0x06, 0x59, 0xd8, 0xec, //0x00004060 .quad -1380255401326171631 + 0x87, 0x71, 0xc0, 0xae, 0xe9, 0xf1, 0x67, 0xae, //0x00004068 .quad -5879464802547371641 + 0x95, 0x94, 0xcc, 0x20, 0x48, 0x6f, 0x0e, 0xe8, //0x00004070 .quad -1725319251657714539 + 0xe9, 0x8d, 0x70, 0x1a, 0x64, 0xee, 0x01, 0xda, //0x00004078 .quad -2737644984756826647 + 0xdd, 0xdc, 0x7f, 0x14, 0x8d, 0x05, 0x09, 0x31, //0x00004080 .quad 3533361486141316317 + 0xb2, 0x58, 0x86, 0x90, 0xfe, 0x34, 0x41, 0x88, //0x00004088 .quad -8628557143114098510 + 0x15, 0xd4, 0x9f, 0x59, 0xf0, 0x46, 0x4b, 0xbd, //0x00004090 .quad -4806670179178130411 + 0xde, 0xee, 0xa7, 0x34, 0x3e, 0x82, 0x51, 0xaa, //0x00004098 .quad -6174010410465235234 + 0x1a, 0xc9, 0x07, 0x70, 0xac, 0x18, 0x9e, 0x6c, //0x000040a0 .quad 7826720331309500698 + 0x96, 0xea, 0xd1, 0xc1, 0xcd, 0xe2, 0xe5, 0xd4, //0x000040a8 .quad -3105826994654156138 + 0xb0, 0xdd, 0x04, 0xc6, 0x6b, 0xcf, 0xe2, 0x03, //0x000040b0 .quad 280014188641050032 + 0x9e, 0x32, 0x23, 0x99, 0xc0, 0xad, 0x0f, 0x85, //0x000040b8 .quad -8858670899299929442 + 0x1c, 0x15, 0x86, 0xb7, 0x46, 0x83, 0xdb, 0x84, //0x000040c0 .quad -8873354301053463268 + 0x45, 0xff, 0x6b, 0xbf, 0x30, 0x99, 0x53, 0xa6, //0x000040c8 .quad -6461652605697523899 + 0x63, 0x9a, 0x67, 0x65, 0x18, 0x64, 0x12, 0xe6, //0x000040d0 .quad -1868320839462053277 + 0x16, 0xff, 0x46, 0xef, 0x7c, 0x7f, 0xe8, 0xcf, //0x000040d8 .quad -3465379738694516970 + 0x7e, 0xc0, 0x60, 0x3f, 0x8f, 0x7e, 0xcb, 0x4f, //0x000040e0 .quad 5749828502977298558 + 0x6e, 0x5f, 0x8c, 0x15, 0xae, 0x4f, 0xf1, 0x81, //0x000040e8 .quad -9083391364325154962 + 0x9d, 0xf0, 0x38, 0x0f, 0x33, 0x5e, 0xbe, 0xe3, //0x000040f0 .quad -2036086408133152611 + 0x49, 0x77, 0xef, 0x9a, 0x99, 0xa3, 0x6d, 0xa2, //0x000040f8 .quad -6742553186979055799 + 0xc5, 0x2c, 0x07, 0xd3, 0xbf, 0xf5, 0xad, 0x5c, //0x00004100 .quad 6678264026688335045 + 0x1c, 0x55, 0xab, 0x01, 0x80, 0x0c, 0x09, 0xcb, //0x00004108 .quad -3816505465296431844 + 0xf6, 0xf7, 0xc8, 0xc7, 0x2f, 0x73, 0xd9, 0x73, //0x00004110 .quad 8347830033360418806 + 0x63, 0x2a, 0x16, 0x02, 0xa0, 0x4f, 0xcb, 0xfd, //0x00004118 .quad -158945813193151901 + 0xfa, 0x9a, 0xdd, 0xdc, 0xfd, 0xe7, 0x67, 0x28, //0x00004120 .quad 2911550761636567802 + 0x7e, 0xda, 0x4d, 0x01, 0xc4, 0x11, 0x9f, 0x9e, //0x00004128 .quad -7016870160886801794 + 0xb8, 0x01, 0x15, 0x54, 0xfd, 0xe1, 0x81, 0xb2, //0x00004130 .quad -5583933584809066056 + 0x1d, 0x51, 0xa1, 0x01, 0x35, 0xd6, 0x46, 0xc6, //0x00004138 .quad -4159401682681114339 + 0x26, 0x42, 0x1a, 0xa9, 0x7c, 0x5a, 0x22, 0x1f, //0x00004140 .quad 2243455055843443238 + 0x65, 0xa5, 0x09, 0x42, 0xc2, 0x8b, 0xd8, 0xf7, //0x00004148 .quad -587566084924005019 + 0x58, 0x69, 0xb0, 0xe9, 0x8d, 0x78, 0x75, 0x33, //0x00004150 .quad 3708002419115845976 + 0x5f, 0x07, 0x46, 0x69, 0x59, 0x57, 0xe7, 0x9a, //0x00004158 .quad -7284757830718584993 + 0xae, 0x83, 0x1c, 0x64, 0xb1, 0xd6, 0x52, 0x00, //0x00004160 .quad 23317005467419566 + 0x37, 0x89, 0x97, 0xc3, 0x2f, 0x2d, 0xa1, 0xc1, //0x00004168 .quad -4494261269970843337 + 0x9a, 0xa4, 0x23, 0xbd, 0x5d, 0x8c, 0x67, 0xc0, //0x00004170 .quad -4582539761593113446 + 0x84, 0x6b, 0x7d, 0xb4, 0x7b, 0x78, 0x09, 0xf2, //0x00004178 .quad -1006140569036166268 + 0xe0, 0x46, 0x36, 0x96, 0xba, 0xb7, 0x40, 0xf8, //0x00004180 .quad -558244341782001952 + 0x32, 0x63, 0xce, 0x50, 0x4d, 0xeb, 0x45, 0x97, //0x00004188 .quad -7546366883288685774 + 0x98, 0xd8, 0xc3, 0x3b, 0xa9, 0xe5, 0x50, 0xb6, //0x00004190 .quad -5309491445654890344 + 0xff, 0xfb, 0x01, 0xa5, 0x20, 0x66, 0x17, 0xbd, //0x00004198 .quad -4821272585683469313 + 0xbe, 0xce, 0xb4, 0x8a, 0x13, 0x1f, 0xe5, 0xa3, //0x000041a0 .quad -6636864307068612930 + 0xff, 0x7a, 0x42, 0xce, 0xa8, 0x3f, 0x5d, 0xec, //0x000041a8 .quad -1414904713676948737 + 0x37, 0x01, 0xb1, 0x36, 0x6c, 0x33, 0x6f, 0xc6, //0x000041b0 .quad -4148040191917883081 + 0xdf, 0x8c, 0xe9, 0x80, 0xc9, 0x47, 0xba, 0x93, //0x000041b8 .quad -7801844473689174817 + 0x84, 0x41, 0x5d, 0x44, 0x47, 0x00, 0x0b, 0xb8, //0x000041c0 .quad -5185050239897353852 + 0x17, 0xf0, 0x23, 0xe1, 0xbb, 0xd9, 0xa8, 0xb8, //0x000041c8 .quad -5140619573684080617 + 0xe5, 0x91, 0x74, 0x15, 0x59, 0xc0, 0x0d, 0xa6, //0x000041d0 .quad -6481312799871692315 + 0x1d, 0xec, 0x6c, 0xd9, 0x2a, 0x10, 0xd3, 0xe6, //0x000041d8 .quad -1814088448677712867 + 0x2f, 0xdb, 0x68, 0xad, 0x37, 0x98, 0xc8, 0x87, //0x000041e0 .quad -8662506518347195601 + 0x92, 0x13, 0xe4, 0xc7, 0x1a, 0xea, 0x43, 0x90, //0x000041e8 .quad -8051334308064652398 + 0xfb, 0x11, 0xc3, 0x98, 0x45, 0xbe, 0xba, 0x29, //0x000041f0 .quad 3006924907348169211 + 0x77, 0x18, 0xdd, 0x79, 0xa1, 0xe4, 0x54, 0xb4, //0x000041f8 .quad -5452481866653427593 + 0x7a, 0xd6, 0xf3, 0xfe, 0xd6, 0x6d, 0x29, 0xf4, //0x00004200 .quad -853029884242176390 + 0x94, 0x5e, 0x54, 0xd8, 0xc9, 0x1d, 0x6a, 0xe1, //0x00004208 .quad -2203916314889396588 + 0x0c, 0x66, 0x58, 0x5f, 0xa6, 0xe4, 0x99, 0x18, //0x00004210 .quad 1772699331562333708 + 0x1d, 0xbb, 0x34, 0x27, 0x9e, 0x52, 0xe2, 0x8c, //0x00004218 .quad -8294976724446954723 + 0x8f, 0x7f, 0x2e, 0xf7, 0xcf, 0x5d, 0xc0, 0x5e, //0x00004220 .quad 6827560182880305039 + 0xe4, 0xe9, 0x01, 0xb1, 0x45, 0xe7, 0x1a, 0xb0, //0x00004228 .quad -5757034887131305500 + 0x73, 0x1f, 0xfa, 0xf4, 0x43, 0x75, 0x70, 0x76, //0x00004230 .quad 8534450228600381299 + 0x5d, 0x64, 0x42, 0x1d, 0x17, 0xa1, 0x21, 0xdc, //0x00004238 .quad -2584607590486743971 + 0xa8, 0x53, 0x1c, 0x79, 0x4a, 0x49, 0x06, 0x6a, //0x00004240 .quad 7639874402088932264 + 0xba, 0x7e, 0x49, 0x72, 0xae, 0x04, 0x95, 0x89, //0x00004248 .quad -8532908771695296838 + 0x92, 0x68, 0x63, 0x17, 0x9d, 0xdb, 0x87, 0x04, //0x00004250 .quad 326470965756389522 + 0x69, 0xde, 0xdb, 0x0e, 0xda, 0x45, 0xfa, 0xab, //0x00004258 .quad -6054449946191733143 + 0xb6, 0x42, 0x3c, 0x5d, 0x84, 0xd2, 0xa9, 0x45, //0x00004260 .quad 5019774725622874806 + 0x03, 0xd6, 0x92, 0x92, 0x50, 0xd7, 0xf8, 0xd6, //0x00004268 .quad -2956376414312278525 + 0xb2, 0xa9, 0x45, 0xba, 0x92, 0x23, 0x8a, 0x0b, //0x00004270 .quad 831516194300602802 + 0xc2, 0xc5, 0x9b, 0x5b, 0x92, 0x86, 0x5b, 0x86, //0x00004278 .quad -8765264286586255934 + 0x1e, 0x14, 0xd7, 0x68, 0x77, 0xac, 0x6c, 0x8e, //0x00004280 .quad -8183976793979022306 + 0x32, 0xb7, 0x82, 0xf2, 0x36, 0x68, 0xf2, 0xa7, //0x00004288 .quad -6344894339805432014 + 0x26, 0xd9, 0x0c, 0x43, 0x95, 0xd7, 0x07, 0x32, //0x00004290 .quad 3605087062808385830 + 0xff, 0x64, 0x23, 0xaf, 0x44, 0x02, 0xef, 0xd1, //0x00004298 .quad -3319431906329402113 + 0xb8, 0x07, 0xe8, 0x49, 0xbd, 0xe6, 0x44, 0x7f, //0x000042a0 .quad 9170708441896323000 + 0x1f, 0x1f, 0x76, 0xed, 0x6a, 0x61, 0x35, 0x83, //0x000042a8 .quad -8992173969096958177 + 0xa6, 0x09, 0x62, 0x9c, 0x6c, 0x20, 0x16, 0x5f, //0x000042b0 .quad 6851699533943015846 + 0xe7, 0xa6, 0xd3, 0xa8, 0xc5, 0xb9, 0x02, 0xa4, //0x000042b8 .quad -6628531442943809817 + 0x0f, 0x8c, 0x7a, 0xc3, 0x87, 0xa8, 0xdb, 0x36, //0x000042c0 .quad 3952938399001381903 + 0xa1, 0x90, 0x08, 0x13, 0x37, 0x68, 0x03, 0xcd, //0x000042c8 .quad -3673978285252374367 + 0x89, 0x97, 0x2c, 0xda, 0x54, 0x49, 0x49, 0xc2, //0x000042d0 .quad -4446942528265218167 + 0x64, 0x5a, 0xe5, 0x6b, 0x22, 0x21, 0x22, 0x80, //0x000042d8 .quad -9213765455923815836 + 0x6c, 0xbd, 0xb7, 0x10, 0xaa, 0x9b, 0xdb, 0xf2, //0x000042e0 .quad -946992141904134804 + 0xfd, 0xb0, 0xde, 0x06, 0x6b, 0xa9, 0x2a, 0xa0, //0x000042e8 .quad -6905520801477381891 + 0xc7, 0xac, 0xe5, 0x94, 0x94, 0x82, 0x92, 0x6f, //0x000042f0 .quad 8039631859474607303 + 0x3d, 0x5d, 0x96, 0xc8, 0xc5, 0x53, 0x35, 0xc8, //0x000042f8 .quad -4020214983419339459 + 0xf9, 0x17, 0x1f, 0xba, 0x39, 0x23, 0x77, 0xcb, //0x00004300 .quad -3785518230938904583 + 0x8c, 0xf4, 0xbb, 0x3a, 0xb7, 0xa8, 0x42, 0xfa, //0x00004308 .quad -413582710846786420 + 0xfb, 0x6e, 0x53, 0x14, 0x04, 0x76, 0x2a, 0xff, //0x00004310 .quad -60105885123121413 + 0xd7, 0x78, 0xb5, 0x84, 0x72, 0xa9, 0x69, 0x9c, //0x00004318 .quad -7176018221920323369 + 0xba, 0x4a, 0x68, 0x19, 0x85, 0x13, 0xf5, 0xfe, //0x00004320 .quad -75132356403901766 + 0x0d, 0xd7, 0xe2, 0x25, 0xcf, 0x13, 0x84, 0xc3, //0x00004328 .quad -4358336758973016307 + 0x69, 0x5d, 0xc2, 0x5f, 0x66, 0x58, 0xb2, 0x7e, //0x00004330 .quad 9129456591349898601 + 0xd1, 0x8c, 0x5b, 0xef, 0xc2, 0x18, 0x65, 0xf4, //0x00004338 .quad -836234930288882479 + 0x61, 0x7a, 0xd9, 0xfb, 0x3f, 0x77, 0x2f, 0xef, //0x00004340 .quad -1211618658047395231 + 0x02, 0x38, 0x99, 0xd5, 0x79, 0x2f, 0xbf, 0x98, //0x00004348 .quad -7440175859071633406 + 0xfa, 0xd8, 0xcf, 0xfa, 0x0f, 0x55, 0xfb, 0xaa, //0x00004350 .quad -6126209340986631942 + 0x03, 0x86, 0xff, 0x4a, 0x58, 0xfb, 0xee, 0xbe, //0x00004358 .quad -4688533805412153853 + 0x38, 0xcf, 0x83, 0xf9, 0x53, 0x2a, 0xba, 0x95, //0x00004360 .quad -7657761676233289928 + 0x84, 0x67, 0xbf, 0x5d, 0x2e, 0xba, 0xaa, 0xee, //0x00004368 .quad -1248981238337804412 + 0x83, 0x61, 0xf2, 0x7b, 0x74, 0x5a, 0x94, 0xdd, //0x00004370 .quad -2480258038432112253 + 0xb2, 0xa0, 0x97, 0xfa, 0x5c, 0xb4, 0x2a, 0x95, //0x00004378 .quad -7698142301602209614 + 0xe4, 0xf9, 0xee, 0x9a, 0x11, 0x71, 0xf9, 0x94, //0x00004380 .quad -7712008566467528220 + 0xdf, 0x88, 0x3d, 0x39, 0x74, 0x61, 0x75, 0xba, //0x00004388 .quad -5010991858575374113 + 0x5d, 0xb8, 0xaa, 0x01, 0x56, 0xcd, 0x37, 0x7a, //0x00004390 .quad 8806733365625141341 + 0x17, 0xeb, 0x8c, 0x47, 0xd1, 0xb9, 0x12, 0xe9, //0x00004398 .quad -1652053804791829737 + 0x3a, 0xb3, 0x0a, 0xc1, 0x55, 0xe0, 0x62, 0xac, //0x000043a0 .quad -6025006692552756422 + 0xee, 0x12, 0xb8, 0xcc, 0x22, 0xb4, 0xab, 0x91, //0x000043a8 .quad -7950062655635975442 + 0x09, 0x60, 0x4d, 0x31, 0x6b, 0x98, 0x7b, 0x57, //0x000043b0 .quad 6303799689591218185 + 0xaa, 0x17, 0xe6, 0x7f, 0x2b, 0xa1, 0x16, 0xb6, //0x000043b8 .quad -5325892301117581398 + 0x0b, 0xb8, 0xa0, 0xfd, 0x85, 0x7e, 0x5a, 0xed, //0x000043c0 .quad -1343622424865753077 + 0x94, 0x9d, 0xdf, 0x5f, 0x76, 0x49, 0x9c, 0xe3, //0x000043c8 .quad -2045679357969588844 + 0x07, 0x73, 0x84, 0xbe, 0x13, 0x8f, 0x58, 0x14, //0x000043d0 .quad 1466078993672598279 + 0x7d, 0xc2, 0xeb, 0xfb, 0xe9, 0xad, 0x41, 0x8e, //0x000043d8 .quad -8196078626372074883 + 0xc8, 0x8f, 0x25, 0xae, 0xd8, 0xb2, 0x6e, 0x59, //0x000043e0 .quad 6444284760518135752 + 0x1c, 0xb3, 0xe6, 0x7a, 0x64, 0x19, 0xd2, 0xb1, //0x000043e8 .quad -5633412264537705700 + 0xbb, 0xf3, 0xae, 0xd9, 0x8e, 0x5f, 0xca, 0x6f, //0x000043f0 .quad 8055355950647669691 + 0xe3, 0x5f, 0xa0, 0x99, 0xbd, 0x9f, 0x46, 0xde, //0x000043f8 .quad -2430079312244744221 + 0x54, 0x58, 0x0d, 0x48, 0xb9, 0x7b, 0xde, 0x25, //0x00004400 .quad 2728754459941099604 + 0xee, 0x3b, 0x04, 0x80, 0xd6, 0x23, 0xec, 0x8a, //0x00004408 .quad -8436328597794046994 + 0x6a, 0xae, 0x10, 0x9a, 0xa7, 0x1a, 0x56, 0xaf, //0x00004410 .quad -5812428961928401302 + 0xe9, 0x4a, 0x05, 0x20, 0xcc, 0x2c, 0xa7, 0xad, //0x00004418 .quad -5933724728815170839 + 0x04, 0xda, 0x94, 0x80, 0x51, 0xa1, 0x2b, 0x1b, //0x00004420 .quad 1957835834444274180 + 0xa4, 0x9d, 0x06, 0x28, 0xff, 0xf7, 0x10, 0xd9, //0x00004428 .quad -2805469892591575644 + 0x42, 0x08, 0x5d, 0xf0, 0xd2, 0x44, 0xfb, 0x90, //0x00004430 .quad -7999724640327104446 + 0x86, 0x22, 0x04, 0x79, 0xff, 0x9a, 0xaa, 0x87, //0x00004438 .quad -8670947710510816634 + 0x53, 0x4a, 0x74, 0xac, 0x07, 0x16, 0x3a, 0x35, //0x00004440 .quad 3835402254873283155 + 0x28, 0x2b, 0x45, 0x57, 0xbf, 0x41, 0x95, 0xa9, //0x00004448 .quad -6226998619711132888 + 0xe8, 0x5c, 0x91, 0x97, 0x89, 0x9b, 0x88, 0x42, //0x00004450 .quad 4794252818591603944 + 0xf2, 0x75, 0x16, 0x2d, 0x2f, 0x92, 0xfa, 0xd3, //0x00004458 .quad -3172062256211528206 + 0x11, 0xda, 0xba, 0xfe, 0x35, 0x61, 0x95, 0x69, //0x00004460 .quad 7608094030047140369 + 0xb7, 0x09, 0x2e, 0x7c, 0x5d, 0x9b, 0x7c, 0x84, //0x00004468 .quad -8900067937773286985 + 0x95, 0x90, 0x69, 0x7e, 0x83, 0xb9, 0xfa, 0x43, //0x00004470 .quad 4898431519131537557 + 0x25, 0x8c, 0x39, 0xdb, 0x34, 0xc2, 0x9b, 0xa5, //0x00004478 .quad -6513398903789220827 + 0xbb, 0xf4, 0x03, 0x5e, 0xe4, 0x67, 0xf9, 0x94, //0x00004480 .quad -7712018656367741765 + 0x2e, 0xef, 0x07, 0x12, 0xc2, 0xb2, 0x02, 0xcf, //0x00004488 .quad -3530062611309138130 + 0xf5, 0x78, 0xc2, 0xba, 0xee, 0xe0, 0x1b, 0x1d, //0x00004490 .quad 2097517367411243253 + 0x7d, 0xf5, 0x44, 0x4b, 0xb9, 0xaf, 0x61, 0x81, //0x00004498 .quad -9123818159709293187 + 0x32, 0x17, 0x73, 0x69, 0x2a, 0xd9, 0x62, 0x64, //0x000044a0 .quad 7233582727691441970 + 0xdc, 0x32, 0x16, 0x9e, 0xa7, 0x1b, 0xba, 0xa1, //0x000044a8 .quad -6793086681209228580 + 0xfe, 0xdc, 0xcf, 0x03, 0x75, 0x8f, 0x7b, 0x7d, //0x000044b0 .quad 9041978409614302462 + 0x93, 0xbf, 0x9b, 0x85, 0x91, 0xa2, 0x28, 0xca, //0x000044b8 .quad -3879672333084147821 + 0x3e, 0xd4, 0xc3, 0x44, 0x52, 0x73, 0xda, 0x5c, //0x000044c0 .quad 6690786993590490174 + 0x78, 0xaf, 0x02, 0xe7, 0x35, 0xcb, 0xb2, 0xfc, //0x000044c8 .quad -237904397927796872 + 0xa7, 0x64, 0xfa, 0x6a, 0x13, 0x88, 0x08, 0x3a, //0x000044d0 .quad 4181741870994056359 + 0xab, 0xad, 0x61, 0xb0, 0x01, 0xbf, 0xef, 0x9d, //0x000044d8 .quad -7066219276345954901 + 0xd0, 0xfd, 0xb8, 0x45, 0x18, 0xaa, 0x8a, 0x08, //0x000044e0 .quad 615491320315182544 + 0x16, 0x19, 0x7a, 0x1c, 0xc2, 0xae, 0x6b, 0xc5, //0x000044e8 .quad -4221088077005055722 + 0x45, 0x3d, 0x27, 0x57, 0x9e, 0x54, 0xad, 0x8a, //0x000044f0 .quad -8454007886460797627 + 0x5b, 0x9f, 0x98, 0xa3, 0x72, 0x9a, 0xc6, 0xf6, //0x000044f8 .quad -664674077828931749 + 0x4b, 0x86, 0x78, 0xf6, 0xe2, 0x54, 0xac, 0x36, //0x00004500 .quad 3939617107816777291 + 0x99, 0x63, 0x3f, 0xa6, 0x87, 0x20, 0x3c, 0x9a, //0x00004508 .quad -7332950326284164199 + 0xdd, 0xa7, 0x16, 0xb4, 0x1b, 0x6a, 0x57, 0x84, //0x00004510 .quad -8910536670511192099 + 0x7f, 0x3c, 0xcf, 0x8f, 0xa9, 0x28, 0xcb, 0xc0, //0x00004518 .quad -4554501889427817345 + 0xd5, 0x51, 0x1c, 0xa1, 0xa2, 0x44, 0x6d, 0x65, //0x00004520 .quad 7308573235570561493 + 0x9f, 0x0b, 0xc3, 0xf3, 0xd3, 0xf2, 0xfd, 0xf0, //0x00004528 .quad -1081441343357383777 + 0x25, 0xb3, 0xb1, 0xa4, 0xe5, 0x4a, 0x64, 0x9f, //0x00004530 .quad -6961356773836868827 + 0x43, 0xe7, 0x59, 0x78, 0xc4, 0xb7, 0x9e, 0x96, //0x00004538 .quad -7593429867239446717 + 0xee, 0x1f, 0xde, 0x0d, 0x9f, 0x5d, 0x3d, 0x87, //0x00004540 .quad -8701695967296086034 + 0x14, 0x61, 0x70, 0x96, 0xb5, 0x65, 0x46, 0xbc, //0x00004548 .quad -4880101315621920492 + 0xea, 0xa7, 0x55, 0xd1, 0x06, 0xb5, 0x0c, 0xa9, //0x00004550 .quad -6265433940692719638 + 0x59, 0x79, 0x0c, 0xfc, 0x22, 0xff, 0x57, 0xeb, //0x00004558 .quad -1488440626100012711 + 0xf2, 0x88, 0xd5, 0x42, 0x24, 0xf1, 0xa7, 0x09, //0x00004560 .quad 695789805494438130 + 0xd8, 0xcb, 0x87, 0xdd, 0x75, 0xff, 0x16, 0x93, //0x00004568 .quad -7847804418953589800 + 0x2f, 0xeb, 0x8a, 0x53, 0x6d, 0xed, 0x11, 0x0c, //0x00004570 .quad 869737256868047663 + 0xce, 0xbe, 0xe9, 0x54, 0x53, 0xbf, 0xdc, 0xb7, //0x00004578 .quad -5198069505264599346 + 0xfa, 0xa5, 0x6d, 0xa8, 0xc8, 0x68, 0x16, 0x8f, //0x00004580 .quad -8136200465769716230 + 0x81, 0x2e, 0x24, 0x2a, 0x28, 0xef, 0xd3, 0xe5, //0x00004588 .quad -1885900863153361279 + 0xbc, 0x87, 0x44, 0x69, 0x7d, 0x01, 0x6e, 0xf9, //0x00004590 .quad -473439272678684740 + 0x10, 0x9d, 0x56, 0x1a, 0x79, 0x75, 0xa4, 0x8f, //0x00004598 .quad -8096217067111932656 + 0xac, 0xa9, 0x95, 0xc3, 0xdc, 0x81, 0xc9, 0x37, //0x000045a0 .quad 4019886927579031980 + 0x55, 0x44, 0xec, 0x60, 0xd7, 0x92, 0x8d, 0xb3, //0x000045a8 .quad -5508585315462527915 + 0x17, 0x14, 0x7b, 0xf4, 0x53, 0xe2, 0xbb, 0x85, //0x000045b0 .quad -8810199395808373737 + 0x6a, 0x55, 0x27, 0x39, 0x8d, 0xf7, 0x70, 0xe0, //0x000045b8 .quad -2274045625900771990 + 0x8e, 0xec, 0xcc, 0x78, 0x74, 0x6d, 0x95, 0x93, //0x000045c0 .quad -7812217631593927538 + 0x62, 0x95, 0xb8, 0x43, 0xb8, 0x9a, 0x46, 0x8c, //0x000045c8 .quad -8338807543829064350 + 0xb2, 0x27, 0x00, 0x97, 0xd1, 0xc8, 0x7a, 0x38, //0x000045d0 .quad 4069786015789754290 + 0xbb, 0xba, 0xa6, 0x54, 0x66, 0x41, 0x58, 0xaf, //0x000045d8 .quad -5811823411358942533 + 0x9e, 0x31, 0xc0, 0xfc, 0x05, 0x7b, 0x99, 0x06, //0x000045e0 .quad 475546501309804958 + 0x6a, 0x69, 0xd0, 0xe9, 0xbf, 0x51, 0x2e, 0xdb, //0x000045e8 .quad -2653093245771290262 + 0x03, 0x1f, 0xf8, 0xbd, 0xe3, 0xec, 0x1f, 0x44, //0x000045f0 .quad 4908902581746016003 + 0xe2, 0x41, 0x22, 0xf2, 0x17, 0xf3, 0xfc, 0x88, //0x000045f8 .quad -8575712306248138270 + 0xc3, 0x26, 0x76, 0xad, 0x1c, 0xe8, 0x27, 0xd5, //0x00004600 .quad -3087243809672255805 + 0x5a, 0xd2, 0xaa, 0xee, 0xdd, 0x2f, 0x3c, 0xab, //0x00004608 .quad -6107954364382784934 + 0x74, 0xb0, 0xd3, 0xd8, 0x23, 0xe2, 0x71, 0x8a, //0x00004610 .quad -8470740780517707660 + 0xf1, 0x86, 0x55, 0x6a, 0xd5, 0x3b, 0x0b, 0xd6, //0x00004618 .quad -3023256937051093263 + 0x49, 0x4e, 0x84, 0x67, 0x56, 0x2d, 0x87, 0xf6, //0x00004620 .quad -682526969396179383 + 0x56, 0x74, 0x75, 0x62, 0x65, 0x05, 0xc7, 0x85, //0x00004628 .quad -8807064613298015146 + 0xdb, 0x61, 0x65, 0x01, 0xac, 0xf8, 0x28, 0xb4, //0x00004630 .quad -5464844730172612133 + 0x6c, 0xd1, 0x12, 0xbb, 0xbe, 0xc6, 0x38, 0xa7, //0x00004638 .quad -6397144748195131028 + 0x52, 0xba, 0xbe, 0x01, 0xd7, 0x36, 0x33, 0xe1, //0x00004640 .quad -2219369894288377262 + 0xc7, 0x85, 0xd7, 0x69, 0x6e, 0xf8, 0x06, 0xd1, //0x00004648 .quad -3384744916816525881 + 0x73, 0x34, 0x17, 0x61, 0x46, 0x02, 0xc0, 0xec, //0x00004650 .quad -1387106183930235789 + 0x9c, 0xb3, 0x26, 0x02, 0x45, 0x5b, 0xa4, 0x82, //0x00004658 .quad -9032994600651410532 + 0x90, 0x01, 0x5d, 0xf9, 0xd7, 0x02, 0xf0, 0x27, //0x00004660 .quad 2877803288514593168 + 0x84, 0x60, 0xb0, 0x42, 0x16, 0x72, 0x4d, 0xa3, //0x00004668 .quad -6679557232386875260 + 0xf4, 0x41, 0xb4, 0xf7, 0x8d, 0x03, 0xec, 0x31, //0x00004670 .quad 3597254110643241460 + 0xa5, 0x78, 0x5c, 0xd3, 0x9b, 0xce, 0x20, 0xcc, //0x00004678 .quad -3737760522056206171 + 0x71, 0x52, 0xa1, 0x75, 0x71, 0x04, 0x67, 0x7e, //0x00004680 .quad 9108253656731439729 + 0xce, 0x96, 0x33, 0xc8, 0x42, 0x02, 0x29, 0xff, //0x00004688 .quad -60514634142869810 + 0x86, 0xd3, 0x84, 0xe9, 0xc6, 0x62, 0x00, 0x0f, //0x00004690 .quad 1080972517029761926 + 0x41, 0x3e, 0x20, 0xbd, 0x69, 0xa1, 0x79, 0x9f, //0x00004698 .quad -6955350673980375487 + 0x68, 0x08, 0xe6, 0xa3, 0x78, 0x7b, 0xc0, 0x52, //0x000046a0 .quad 5962901664714590312 + 0xd1, 0x4d, 0x68, 0x2c, 0xc4, 0x09, 0x58, 0xc7, //0x000046a8 .quad -4082502324048081455 + 0x82, 0x8a, 0xdf, 0xcc, 0x56, 0x9a, 0x70, 0xa7, //0x000046b0 .quad -6381430974388925822 + 0x45, 0x61, 0x82, 0x37, 0x35, 0x0c, 0x2e, 0xf9, //0x000046b8 .quad -491441886632713915 + 0x91, 0xb6, 0x0b, 0x40, 0x76, 0x60, 0xa6, 0x88, //0x000046c0 .quad -8600080377420466543 + 0xcb, 0x7c, 0xb1, 0x42, 0xa1, 0xc7, 0xbc, 0x9b, //0x000046c8 .quad -7224680206786528053 + 0x35, 0xa4, 0x0e, 0xd0, 0x93, 0xf8, 0xcf, 0x6a, //0x000046d0 .quad 7696643601933968437 + 0xfe, 0xdb, 0x5d, 0x93, 0x89, 0xf9, 0xab, 0xc2, //0x000046d8 .quad -4419164240055772162 + 0x43, 0x4d, 0x12, 0xc4, 0xb8, 0xf6, 0x83, 0x05, //0x000046e0 .quad 397432465562684739 + 0xfe, 0x52, 0x35, 0xf8, 0xeb, 0xf7, 0x56, 0xf3, //0x000046e8 .quad -912269281642327298 + 0x4a, 0x70, 0x8b, 0x7a, 0x33, 0x7a, 0x72, 0xc3, //0x000046f0 .quad -4363290727450709942 + 0xde, 0x53, 0x21, 0x7b, 0xf3, 0x5a, 0x16, 0x98, //0x000046f8 .quad -7487697328667536418 + 0x5c, 0x4c, 0x2e, 0x59, 0xc0, 0x18, 0x4f, 0x74, //0x00004700 .quad 8380944645968776284 + 0xd6, 0xa8, 0xe9, 0x59, 0xb0, 0xf1, 0x1b, 0xbe, //0x00004708 .quad -4747935642407032618 + 0x73, 0xdf, 0x79, 0x6f, 0xf0, 0xde, 0x62, 0x11, //0x00004710 .quad 1252808770606194547 + 0x0c, 0x13, 0x64, 0x70, 0x1c, 0xee, 0xa2, 0xed, //0x00004718 .quad -1323233534581402868 + 0xa8, 0x2b, 0xac, 0x45, 0x56, 0xcb, 0xdd, 0x8a, //0x00004720 .quad -8440366555225904216 + 0xe7, 0x8b, 0x3e, 0xc6, 0xd1, 0xd4, 0x85, 0x94, //0x00004728 .quad -7744549986754458649 + 0x92, 0x36, 0x17, 0xd7, 0x2b, 0x3e, 0x95, 0x6d, //0x00004730 .quad 7896285879677171346 + 0xe1, 0x2e, 0xce, 0x37, 0x06, 0x4a, 0xa7, 0xb9, //0x00004738 .quad -5069001465015685407 + 0x37, 0x04, 0xdd, 0xcc, 0xb6, 0x8d, 0xfa, 0xc8, //0x00004740 .quad -3964700705685699529 + 0x99, 0xba, 0xc1, 0xc5, 0x87, 0x1c, 0x11, 0xe8, //0x00004748 .quad -1724565812842218855 + 0xa2, 0x22, 0x0a, 0x40, 0x92, 0x98, 0x9c, 0x1d, //0x00004750 .quad 2133748077373825698 + 0xa0, 0x14, 0x99, 0xdb, 0xd4, 0xb1, 0x0a, 0x91, //0x00004758 .quad -7995382660667468640 + 0x4b, 0xab, 0x0c, 0xd0, 0xb6, 0xbe, 0x03, 0x25, //0x00004760 .quad 2667185096717282123 + 0xc8, 0x59, 0x7f, 0x12, 0x4a, 0x5e, 0x4d, 0xb5, //0x00004768 .quad -5382542307406947896 + 0x1d, 0xd6, 0x0f, 0x84, 0x64, 0xae, 0x44, 0x2e, //0x00004770 .quad 3333981370896602653 + 0x3a, 0x30, 0x1f, 0x97, 0xdc, 0xb5, 0xa0, 0xe2, //0x00004778 .quad -2116491865831296966 + 0xd2, 0xe5, 0x89, 0xd2, 0xfe, 0xec, 0xea, 0x5c, //0x00004780 .quad 6695424375237764562 + 0x24, 0x7e, 0x73, 0xde, 0xa9, 0x71, 0xa4, 0x8d, //0x00004788 .quad -8240336443785642460 + 0x47, 0x5f, 0x2c, 0x87, 0x3e, 0xa8, 0x25, 0x74, //0x00004790 .quad 8369280469047205703 + 0xad, 0x5d, 0x10, 0x56, 0x14, 0x8e, 0x0d, 0xb1, //0x00004798 .quad -5688734536304665171 + 0x19, 0x77, 0xf7, 0x28, 0x4e, 0x12, 0x2f, 0xd1, //0x000047a0 .quad -3373457468973156583 + 0x18, 0x75, 0x94, 0x6b, 0x99, 0xf1, 0x50, 0xdd, //0x000047a8 .quad -2499232151953443560 + 0x6f, 0xaa, 0x9a, 0xd9, 0x70, 0x6b, 0xbd, 0x82, //0x000047b0 .quad -9025939945749304721 + 0x2f, 0xc9, 0x3c, 0xe3, 0xff, 0x96, 0x52, 0x8a, //0x000047b8 .quad -8479549122611984081 + 0x0b, 0x55, 0x01, 0x10, 0x4d, 0xc6, 0x6c, 0x63, //0x000047c0 .quad 7164319141522920715 + 0x7b, 0xfb, 0x0b, 0xdc, 0xbf, 0x3c, 0xe7, 0xac, //0x000047c8 .quad -5987750384837592197 + 0x4e, 0xaa, 0x01, 0x54, 0xe0, 0xf7, 0x47, 0x3c, //0x000047d0 .quad 4343712908476262990 + 0x5a, 0xfa, 0x0e, 0xd3, 0xef, 0x0b, 0x21, 0xd8, //0x000047d8 .quad -2873001962619602342 + 0x71, 0x0a, 0x81, 0x34, 0xec, 0xfa, 0xac, 0x65, //0x000047e0 .quad 7326506586225052273 + 0x78, 0x5c, 0xe9, 0xe3, 0x75, 0xa7, 0x14, 0x87, //0x000047e8 .quad -8713155254278333320 + 0x0d, 0x4d, 0xa1, 0x41, 0xa7, 0x39, 0x18, 0x7f, //0x000047f0 .quad 9158133232781315341 + 0x96, 0xb3, 0xe3, 0x5c, 0x53, 0xd1, 0xd9, 0xa8, //0x000047f8 .quad -6279758049420528746 + 0x50, 0xa0, 0x09, 0x12, 0x11, 0x48, 0xde, 0x1e, //0x00004800 .quad 2224294504121868368 + 0x7c, 0xa0, 0x1c, 0x34, 0xa8, 0x45, 0x10, 0xd3, //0x00004808 .quad -3238011543348273028 + 0x32, 0x04, 0x46, 0xab, 0x0a, 0xed, 0x4a, 0x93, //0x00004810 .quad -7833187971778608078 + 0x4d, 0xe4, 0x91, 0x20, 0x89, 0x2b, 0xea, 0x83, //0x00004818 .quad -8941286242233752499 + 0x3f, 0x85, 0x17, 0x56, 0x4d, 0xa8, 0x1d, 0xf8, //0x00004820 .quad -568112927868484289 + 0x60, 0x5d, 0xb6, 0x68, 0x6b, 0xb6, 0xe4, 0xa4, //0x00004828 .quad -6564921784364802720 + 0x8e, 0x66, 0x9d, 0xab, 0x60, 0x12, 0x25, 0x36, //0x00004830 .quad 3901544858591782542 + 0xb9, 0xf4, 0xe3, 0x42, 0x06, 0xe4, 0x1d, 0xce, //0x00004838 .quad -3594466212028615495 + 0x19, 0x60, 0x42, 0x6b, 0x7c, 0x2b, 0xd7, 0xc1, //0x00004840 .quad -4479063491021217767 + 0xf3, 0x78, 0xce, 0xe9, 0x83, 0xae, 0xd2, 0x80, //0x00004848 .quad -9164070410158966541 + 0x1f, 0xf8, 0x12, 0x86, 0x5b, 0xf6, 0x4c, 0xb2, //0x00004850 .quad -5598829363776522209 + 0x30, 0x17, 0x42, 0xe4, 0x24, 0x5a, 0x07, 0xa1, //0x00004858 .quad -6843401994271320272 + 0x27, 0xb6, 0x97, 0x67, 0xf2, 0x33, 0xe0, 0xde, //0x00004860 .quad -2386850686293264857 + 0xfc, 0x9c, 0x52, 0x1d, 0xae, 0x30, 0x49, 0xc9, //0x00004868 .quad -3942566474411762436 + 0xb1, 0xa3, 0x7d, 0x01, 0xef, 0x40, 0x98, 0x16, //0x00004870 .quad 1628122660560806833 + 0x3c, 0x44, 0xa7, 0xa4, 0xd9, 0x7c, 0x9b, 0xfb, //0x00004878 .quad -316522074587315140 + 0x4e, 0x86, 0xee, 0x60, 0x95, 0x28, 0x1f, 0x8e, //0x00004880 .quad -8205795374004271538 + 0xa5, 0x8a, 0xe8, 0x06, 0x08, 0x2e, 0x41, 0x9d, //0x00004888 .quad -7115355324258153819 + 0xe2, 0x27, 0x2a, 0xb9, 0xba, 0xf2, 0xa6, 0xf1, //0x00004890 .quad -1033872180650563614 + 0x4e, 0xad, 0xa2, 0x08, 0x8a, 0x79, 0x91, 0xc4, //0x00004898 .quad -4282508136895304370 + 0xdb, 0xb1, 0x74, 0x67, 0x69, 0xaf, 0x10, 0xae, //0x000048a0 .quad -5904026244240592421 + 0xa2, 0x58, 0xcb, 0x8a, 0xec, 0xd7, 0xb5, 0xf5, //0x000048a8 .quad -741449152691742558 + 0x29, 0xef, 0xa8, 0xe0, 0xa1, 0x6d, 0xca, 0xac, //0x000048b0 .quad -5995859411864064215 + 0x65, 0x17, 0xbf, 0xd6, 0xf3, 0xa6, 0x91, 0x99, //0x000048b8 .quad -7380934748073420955 + 0xf3, 0x2a, 0xd3, 0x58, 0x0a, 0x09, 0xfd, 0x17, //0x000048c0 .quad 1728547772024695539 + 0x3f, 0xdd, 0x6e, 0xcc, 0xb0, 0x10, 0xf6, 0xbf, //0x000048c8 .quad -4614482416664388289 + 0xb0, 0xf5, 0x07, 0xef, 0x4c, 0x4b, 0xfc, 0xdd, //0x000048d0 .quad -2451001303396518480 + 0x8e, 0x94, 0x8a, 0xff, 0xdc, 0x94, 0xf3, 0xef, //0x000048d8 .quad -1156417002403097458 + 0x8e, 0xf9, 0x64, 0x15, 0x10, 0xaf, 0xbd, 0x4a, //0x000048e0 .quad 5385653213018257806 + 0xd9, 0x9c, 0xb6, 0x1f, 0x0a, 0x3d, 0xf8, 0x95, //0x000048e8 .quad -7640289654143017767 + 0xf1, 0x37, 0xbe, 0x1a, 0xd4, 0x1a, 0x6d, 0x9d, //0x000048f0 .quad -7102991539009341455 + 0x0f, 0x44, 0xa4, 0xa7, 0x4c, 0x4c, 0x76, 0xbb, //0x000048f8 .quad -4938676049251384305 + 0xed, 0xc5, 0x6d, 0x21, 0x89, 0x61, 0xc8, 0x84, //0x00004900 .quad -8878739423761676819 + 0x13, 0x55, 0x8d, 0xd1, 0x5f, 0xdf, 0x53, 0xea, //0x00004908 .quad -1561659043136842477 + 0xb4, 0x9b, 0xe4, 0xb4, 0xf5, 0x3c, 0xfd, 0x32, //0x00004910 .quad 3674159897003727796 + 0x2c, 0x55, 0xf8, 0xe2, 0x9b, 0x6b, 0x74, 0x92, //0x00004918 .quad -7893565929601608404 + 0xa1, 0xc2, 0x1d, 0x22, 0x33, 0x8c, 0xbc, 0x3f, //0x00004920 .quad 4592699871254659745 + 0x77, 0x6a, 0xb6, 0xdb, 0x82, 0x86, 0x11, 0xb7, //0x00004928 .quad -5255271393574622601 + 0x4a, 0x33, 0xa5, 0xea, 0x3f, 0xaf, 0xab, 0x0f, //0x00004930 .quad 1129188820640936778 + 0x15, 0x05, 0xa4, 0x92, 0x23, 0xe8, 0xd5, 0xe4, //0x00004938 .quad -1957403223540890347 + 0x0e, 0x40, 0xa7, 0xf2, 0x87, 0x4d, 0xcb, 0x29, //0x00004940 .quad 3011586022114279438 + 0x2d, 0x83, 0xa6, 0x3b, 0x16, 0xb1, 0x05, 0x8f, //0x00004948 .quad -8140906042354138323 + 0x12, 0x10, 0x51, 0xef, 0xe9, 0x20, 0x3e, 0x74, //0x00004950 .quad 8376168546070237202 + 0xf8, 0x23, 0x90, 0xca, 0x5b, 0x1d, 0xc7, 0xb2, //0x00004958 .quad -5564446534515285000 + 0x16, 0x54, 0x25, 0x6b, 0x24, 0xa9, 0x4d, 0x91, //0x00004960 .quad -7976533391121755114 + 0xf6, 0x2c, 0x34, 0xbd, 0xb2, 0xe4, 0x78, 0xdf, //0x00004968 .quad -2343872149716718346 + 0x8e, 0x54, 0xf7, 0xc2, 0xb6, 0x89, 0xd0, 0x1a, //0x00004970 .quad 1932195658189984910 + 0x1a, 0x9c, 0x40, 0xb6, 0xef, 0x8e, 0xab, 0x8b, //0x00004978 .quad -8382449121214030822 + 0xb1, 0x29, 0xb5, 0x73, 0x24, 0xac, 0x84, 0xa1, //0x00004980 .quad -6808127464117294671 + 0x20, 0xc3, 0xd0, 0xa3, 0xab, 0x72, 0x96, 0xae, //0x00004988 .quad -5866375383090150624 + 0x1e, 0x74, 0xa2, 0x90, 0x2d, 0xd7, 0xe5, 0xc9, //0x00004990 .quad -3898473311719230434 + 0xe8, 0xf3, 0xc4, 0x8c, 0x56, 0x0f, 0x3c, 0xda, //0x00004998 .quad -2721283210435300376 + 0x92, 0x88, 0x65, 0x7a, 0x7c, 0xa6, 0x2f, 0x7e, //0x000049a0 .quad 9092669226243950738 + 0x71, 0x18, 0xfb, 0x17, 0x96, 0x89, 0x65, 0x88, //0x000049a8 .quad -8618331034163144591 + 0xb7, 0xea, 0xfe, 0x98, 0x1b, 0x90, 0xbb, 0xdd, //0x000049b0 .quad -2469221522477225289 + 0x8d, 0xde, 0xf9, 0x9d, 0xfb, 0xeb, 0x7e, 0xaa, //0x000049b8 .quad -6161227774276542835 + 0x65, 0xa5, 0x3e, 0x7f, 0x22, 0x74, 0x2a, 0x55, //0x000049c0 .quad 6136845133758244197 + 0x31, 0x56, 0x78, 0x85, 0xfa, 0xa6, 0x1e, 0xd5, //0x000049c8 .quad -3089848699418290639 + 0x5f, 0x27, 0x87, 0x8f, 0x95, 0x88, 0x3a, 0xd5, //0x000049d0 .quad -3082000819042179233 + 0xde, 0x35, 0x6b, 0x93, 0x5c, 0x28, 0x33, 0x85, //0x000049d8 .quad -8848684464777513506 + 0x37, 0xf1, 0x68, 0xf3, 0xba, 0x2a, 0x89, 0x8a, //0x000049e0 .quad -8464187042230111945 + 0x56, 0x03, 0x46, 0xb8, 0x73, 0xf2, 0x7f, 0xa6, //0x000049e8 .quad -6449169562544503978 + 0x85, 0x2d, 0x43, 0xb0, 0x69, 0x75, 0x2b, 0x2d, //0x000049f0 .quad 3254824252494523781 + 0x2c, 0x84, 0x57, 0xa6, 0x10, 0xef, 0x1f, 0xd0, //0x000049f8 .quad -3449775934753242068 + 0x73, 0xfc, 0x29, 0x0e, 0x62, 0x29, 0x3b, 0x9c, //0x00004a00 .quad -7189106879045698445 + 0x9b, 0xb2, 0xf6, 0x67, 0x6a, 0xf5, 0x13, 0x82, //0x00004a08 .quad -9073638986861858149 + 0x8f, 0x7b, 0xb4, 0x91, 0xba, 0xf3, 0x49, 0x83, //0x00004a10 .quad -8986383598807123057 + 0x42, 0x5f, 0xf4, 0x01, 0xc5, 0xf2, 0x98, 0xa2, //0x00004a18 .quad -6730362715149934782 + 0x73, 0x9a, 0x21, 0x36, 0xa9, 0x70, 0x1c, 0x24, //0x00004a20 .quad 2602078556773259891 + 0x13, 0x77, 0x71, 0x42, 0x76, 0x2f, 0x3f, 0xcb, //0x00004a28 .quad -3801267375510030573 + 0x10, 0x01, 0xaa, 0x83, 0xd3, 0x8c, 0x23, 0xed, //0x00004a30 .quad -1359087822460813040 + 0xd7, 0xd4, 0x0d, 0xd3, 0x53, 0xfb, 0x0e, 0xfe, //0x00004a38 .quad -139898200960150313 + 0xaa, 0x40, 0x4a, 0x32, 0x04, 0x38, 0x36, 0xf4, //0x00004a40 .quad -849429889038008150 + 0x06, 0xa5, 0xe8, 0x63, 0x14, 0x5d, 0xc9, 0x9e, //0x00004a48 .quad -7004965403241175802 + 0xd5, 0xd0, 0xdc, 0x3e, 0x05, 0xc6, 0x43, 0xb1, //0x00004a50 .quad -5673473379724898091 + 0x48, 0xce, 0xe2, 0x7c, 0x59, 0xb4, 0x7b, 0xc6, //0x00004a58 .quad -4144520735624081848 + 0x0a, 0x05, 0x94, 0x8e, 0x86, 0xb7, 0x94, 0xdd, //0x00004a60 .quad -2480155706228734710 + 0xda, 0x81, 0x1b, 0xdc, 0x6f, 0xa1, 0x1a, 0xf8, //0x00004a68 .quad -568964901102714406 + 0x26, 0x83, 0x1c, 0x19, 0xb4, 0xf2, 0x7c, 0xca, //0x00004a70 .quad -3855940325606653146 + 0x28, 0x31, 0x91, 0xe9, 0xe5, 0xa4, 0x10, 0x9b, //0x00004a78 .quad -7273132090830278360 + 0xf0, 0xa3, 0x63, 0x1f, 0x61, 0x2f, 0x1c, 0xfd, //0x00004a80 .quad -208239388580928528 + 0x72, 0x7d, 0xf5, 0x63, 0x1f, 0xce, 0xd4, 0xc1, //0x00004a88 .quad -4479729095110460046 + 0xec, 0x8c, 0x3c, 0x67, 0x39, 0x3b, 0x63, 0xbc, //0x00004a90 .quad -4871985254153548564 + 0xcf, 0xdc, 0xf2, 0x3c, 0xa7, 0x01, 0x4a, 0xf2, //0x00004a98 .quad -987975350460687153 + 0x13, 0xd8, 0x85, 0xe0, 0x03, 0x05, 0xbe, 0xd5, //0x00004aa0 .quad -3044990783845967853 + 0x01, 0xca, 0x17, 0x86, 0x08, 0x41, 0x6e, 0x97, //0x00004aa8 .quad -7535013621679011327 + 0x18, 0x4e, 0xa7, 0xd8, 0x44, 0x86, 0x2d, 0x4b, //0x00004ab0 .quad 5417133557047315992 + 0x82, 0xbc, 0x9d, 0xa7, 0x4a, 0xd1, 0x49, 0xbd, //0x00004ab8 .quad -4807081008671376254 + 0x9e, 0x21, 0xd1, 0x0e, 0xd6, 0xe7, 0xf8, 0xdd, //0x00004ac0 .quad -2451955090545630818 + 0xa2, 0x2b, 0x85, 0x51, 0x9d, 0x45, 0x9c, 0xec, //0x00004ac8 .quad -1397165242411832414 + 0x03, 0xb5, 0x42, 0xc9, 0xe5, 0x90, 0xbb, 0xca, //0x00004ad0 .quad -3838314940804713213 + 0x45, 0x3b, 0xf3, 0x52, 0x82, 0xab, 0xe1, 0x93, //0x00004ad8 .quad -7790757304148477115 + 0x43, 0x62, 0x93, 0x3b, 0x1f, 0x75, 0x6a, 0x3d, //0x00004ae0 .quad 4425478360848884291 + 0x17, 0x0a, 0xb0, 0xe7, 0x62, 0x16, 0xda, 0xb8, //0x00004ae8 .quad -5126760611758208489 + 0xd4, 0x3a, 0x78, 0x0a, 0x67, 0x12, 0xc5, 0x0c, //0x00004af0 .quad 920161932633717460 + 0x9d, 0x0c, 0x9c, 0xa1, 0xfb, 0x9b, 0x10, 0xe7, //0x00004af8 .quad -1796764746270372707 + 0xc5, 0x24, 0x8b, 0x66, 0x80, 0x2b, 0xfb, 0x27, //0x00004b00 .quad 2880944217109767365 + 0xe2, 0x87, 0x01, 0x45, 0x7d, 0x61, 0x6a, 0x90, //0x00004b08 .quad -8040506994060064798 + 0xf6, 0xed, 0x2d, 0x80, 0x60, 0xf6, 0xf9, 0xb1, //0x00004b10 .quad -5622191765467566602 + 0xda, 0xe9, 0x41, 0x96, 0xdc, 0xf9, 0x84, 0xb4, //0x00004b18 .quad -5438947724147693094 + 0x73, 0x69, 0x39, 0xa0, 0xf8, 0x73, 0x78, 0x5e, //0x00004b20 .quad 6807318348447705459 + 0x51, 0x64, 0xd2, 0xbb, 0x53, 0x38, 0xa6, 0xe1, //0x00004b28 .quad -2186998636757228463 + 0xe8, 0xe1, 0x23, 0x64, 0x7b, 0x48, 0x0b, 0xdb, //0x00004b30 .quad -2662955059861265944 + 0xb2, 0x7e, 0x63, 0x55, 0x34, 0xe3, 0x07, 0x8d, //0x00004b38 .quad -8284403175614349646 + 0x62, 0xda, 0x2c, 0x3d, 0x9a, 0x1a, 0xce, 0x91, //0x00004b40 .quad -7940379843253970334 + 0x5f, 0x5e, 0xbc, 0x6a, 0x01, 0xdc, 0x49, 0xb0, //0x00004b48 .quad -5743817951090549153 + 0xfb, 0x10, 0x78, 0xcc, 0x40, 0xa1, 0x41, 0x76, //0x00004b50 .quad 8521269269642088699 + 0xf7, 0x75, 0x6b, 0xc5, 0x01, 0x53, 0x5c, 0xdc, //0x00004b58 .quad -2568086420435798537 + 0x9d, 0x0a, 0xcb, 0x7f, 0xc8, 0x04, 0xe9, 0xa9, //0x00004b60 .quad -6203421752542164323 + 0xba, 0x29, 0x63, 0x1b, 0xe1, 0xb3, 0xb9, 0x89, //0x00004b68 .quad -8522583040413455942 + 0x44, 0xcd, 0xbd, 0x9f, 0xfa, 0x45, 0x63, 0x54, //0x00004b70 .quad 6080780864604458308 + 0x29, 0xf4, 0x3b, 0x62, 0xd9, 0x20, 0x28, 0xac, //0x00004b78 .quad -6041542782089432023 + 0x95, 0x40, 0xad, 0x47, 0x79, 0x17, 0x7c, 0xa9, //0x00004b80 .quad -6234081974526590827 + 0x33, 0xf1, 0xca, 0xba, 0x0f, 0x29, 0x32, 0xd7, //0x00004b88 .quad -2940242459184402125 + 0x5d, 0x48, 0xcc, 0xcc, 0xab, 0x8e, 0xed, 0x49, //0x00004b90 .quad 5327070802775656541 + 0xc0, 0xd6, 0xbe, 0xd4, 0xa9, 0x59, 0x7f, 0x86, //0x00004b98 .quad -8755180564631333184 + 0x74, 0x5a, 0xff, 0xbf, 0x56, 0xf2, 0x68, 0x5c, //0x00004ba0 .quad 6658838503469570676 + 0x70, 0x8c, 0xee, 0x49, 0x14, 0x30, 0x1f, 0xa8, //0x00004ba8 .quad -6332289687361778576 + 0x11, 0x31, 0xff, 0x6f, 0xec, 0x2e, 0x83, 0x73, //0x00004bb0 .quad 8323548129336963345 + 0x8c, 0x2f, 0x6a, 0x5c, 0x19, 0xfc, 0x26, 0xd2, //0x00004bb8 .quad -3303676090774835316 + 0xab, 0x7e, 0xff, 0xc5, 0x53, 0xfd, 0x31, 0xc8, //0x00004bc0 .quad -4021154456019173717 + 0xb7, 0x5d, 0xc2, 0xd9, 0x8f, 0x5d, 0x58, 0x83, //0x00004bc8 .quad -8982326584375353929 + 0x55, 0x5e, 0x7f, 0xb7, 0xa8, 0x7c, 0x3e, 0xba, //0x00004bd0 .quad -5026443070023967147 + 0x25, 0xf5, 0x32, 0xd0, 0xf3, 0x74, 0x2e, 0xa4, //0x00004bd8 .quad -6616222212041804507 + 0xeb, 0x35, 0x5f, 0xe5, 0xd2, 0x1b, 0xce, 0x28, //0x00004be0 .quad 2940318199324816875 + 0x6f, 0xb2, 0x3f, 0xc4, 0x30, 0x12, 0x3a, 0xcd, //0x00004be8 .quad -3658591746624867729 + 0xb3, 0x81, 0x5b, 0xcf, 0x63, 0xd1, 0x80, 0x79, //0x00004bf0 .quad 8755227902219092403 + 0x85, 0xcf, 0xa7, 0x7a, 0x5e, 0x4b, 0x44, 0x80, //0x00004bf8 .quad -9204148869281624187 + 0x1f, 0x62, 0x32, 0xc3, 0xbc, 0x05, 0xe1, 0xd7, //0x00004c00 .quad -2891023177508298209 + 0x66, 0xc3, 0x51, 0x19, 0x36, 0x5e, 0x55, 0xa0, //0x00004c08 .quad -6893500068174642330 + 0xa7, 0xfa, 0xfe, 0xf3, 0x2b, 0x47, 0xd9, 0x8d, //0x00004c10 .quad -8225464990312760665 + 0x40, 0x34, 0xa6, 0x9f, 0xc3, 0xb5, 0x6a, 0xc8, //0x00004c18 .quad -4005189066790915008 + 0x51, 0xb9, 0xfe, 0xf0, 0xf6, 0x98, 0x4f, 0xb1, //0x00004c20 .quad -5670145219463562927 + 0x50, 0xc1, 0x8f, 0x87, 0x34, 0x63, 0x85, 0xfa, //0x00004c28 .quad -394800315061255856 + 0xd3, 0x33, 0x9f, 0x56, 0x9a, 0xbf, 0xd1, 0x6e, //0x00004c30 .quad 7985374283903742931 + 0xd2, 0xd8, 0xb9, 0xd4, 0x00, 0x5e, 0x93, 0x9c, //0x00004c38 .quad -7164279224554366766 + 0xc8, 0x00, 0x47, 0xec, 0x80, 0x2f, 0x86, 0x0a, //0x00004c40 .quad 758345818024902856 + 0x07, 0x4f, 0xe8, 0x09, 0x81, 0x35, 0xb8, 0xc3, //0x00004c48 .quad -4343663012265570553 + 0xfa, 0xc0, 0x58, 0x27, 0x61, 0xbb, 0x27, 0xcd, //0x00004c50 .quad -3663753745896259334 + 0xc8, 0x62, 0x62, 0x4c, 0xe1, 0x42, 0xa6, 0xf4, //0x00004c58 .quad -817892746904575288 + 0x9c, 0x78, 0x97, 0xb8, 0x1c, 0xd5, 0x38, 0x80, //0x00004c60 .quad -9207375118826243940 + 0xbd, 0x7d, 0xbd, 0xcf, 0xcc, 0xe9, 0xe7, 0x98, //0x00004c68 .quad -7428711994456441411 + 0xc3, 0x56, 0xbd, 0xe6, 0x63, 0x0a, 0x47, 0xe0, //0x00004c70 .quad -2285846861678029117 + 0x2c, 0xdd, 0xac, 0x03, 0x40, 0xe4, 0x21, 0xbf, //0x00004c78 .quad -4674203974643163860 + 0x74, 0xac, 0x6c, 0xe0, 0xfc, 0xcc, 0x58, 0x18, //0x00004c80 .quad 1754377441329851508 + 0x78, 0x14, 0x98, 0x04, 0x50, 0x5d, 0xea, 0xee, //0x00004c88 .quad -1231068949876566920 + 0xc8, 0xeb, 0x43, 0x0c, 0x1e, 0x80, 0x37, 0x0f, //0x00004c90 .quad 1096485900831157192 + 0xcb, 0x0c, 0xdf, 0x02, 0x52, 0x7a, 0x52, 0x95, //0x00004c98 .quad -7686947121313936181 + 0xba, 0xe6, 0x54, 0x8f, 0x25, 0x60, 0x05, 0xd3, //0x00004ca0 .quad -3241078642388441414 + 0xfd, 0xcf, 0x96, 0x83, 0xe6, 0x18, 0xa7, 0xba, //0x00004ca8 .quad -4996997883215032323 + 0x69, 0x20, 0x2a, 0xf3, 0x2e, 0xb8, 0xc6, 0x47, //0x00004cb0 .quad 5172023733869224041 + 0xfd, 0x83, 0x7c, 0x24, 0x20, 0xdf, 0x50, 0xe9, //0x00004cb8 .quad -1634561335591402499 + 0x41, 0x54, 0xfa, 0x57, 0x1d, 0x33, 0xdc, 0x4c, //0x00004cc0 .quad 5538357842881958977 + 0x7e, 0xd2, 0xcd, 0x16, 0x74, 0x8b, 0xd2, 0x91, //0x00004cc8 .quad -7939129862385708418 + 0x52, 0xe9, 0xf8, 0xad, 0xe4, 0x3f, 0x13, 0xe0, //0x00004cd0 .quad -2300424733252327086 + 0x1d, 0x47, 0x81, 0x1c, 0x51, 0x2e, 0x47, 0xb6, //0x00004cd8 .quad -5312226309554747619 + 0xa6, 0x23, 0x77, 0xd9, 0xdd, 0x0f, 0x18, 0x58, //0x00004ce0 .quad 6347841120289366950 + 0xe5, 0x98, 0xa1, 0x63, 0xe5, 0xf9, 0xd8, 0xe3, //0x00004ce8 .quad -2028596868516046619 + 0x48, 0x76, 0xea, 0xa7, 0xea, 0x09, 0x0f, 0x57, //0x00004cf0 .quad 6273243709394548296 + 0x8f, 0xff, 0x44, 0x5e, 0x2f, 0x9c, 0x67, 0x8e, //0x00004cf8 .quad -8185402070463610993 + 0xda, 0x13, 0xe5, 0x51, 0x65, 0xcc, 0xd2, 0x2c, //0x00004d00 .quad 3229868618315797466 + 0x73, 0x3f, 0xd6, 0x35, 0x3b, 0x83, 0x01, 0xb2, //0x00004d08 .quad -5620066569652125837 + 0xd1, 0x58, 0x5e, 0xa6, 0x7e, 0x7f, 0x07, 0xf8, //0x00004d10 .quad -574350245532641071 + 0x4f, 0xcf, 0x4b, 0x03, 0x0a, 0xe4, 0x81, 0xde, //0x00004d18 .quad -2413397193637769393 + 0x82, 0xf7, 0xfa, 0x27, 0xaf, 0xaf, 0x04, 0xfb, //0x00004d20 .quad -358968903457900670 + 0x91, 0x61, 0x0f, 0x42, 0x86, 0x2e, 0x11, 0x8b, //0x00004d28 .quad -8425902273664687727 + 0x63, 0xb5, 0xf9, 0xf1, 0x9a, 0xdb, 0xc5, 0x79, //0x00004d30 .quad 8774660907532399971 + 0xf6, 0x39, 0x93, 0xd2, 0x27, 0x7a, 0xd5, 0xad, //0x00004d38 .quad -5920691823653471754 + 0xbc, 0x22, 0x78, 0xae, 0x81, 0x52, 0x37, 0x18, //0x00004d40 .quad 1744954097560724156 + 0x74, 0x08, 0x38, 0xc7, 0xb1, 0xd8, 0x4a, 0xd9, //0x00004d48 .quad -2789178761139451788 + 0xb5, 0x15, 0x0b, 0x0d, 0x91, 0x93, 0x22, 0x8f, //0x00004d50 .quad -8132775725879323211 + 0x48, 0x05, 0x83, 0x1c, 0x6f, 0xc7, 0xce, 0x87, //0x00004d58 .quad -8660765753353239224 + 0x22, 0xdb, 0x4d, 0x50, 0x75, 0x38, 0xeb, 0xb2, //0x00004d60 .quad -5554283638921766110 + 0x9a, 0xc6, 0xa3, 0xe3, 0x4a, 0x79, 0xc2, 0xa9, //0x00004d68 .quad -6214271173264161126 + 0xeb, 0x51, 0x61, 0xa4, 0x92, 0x06, 0xa6, 0x5f, //0x00004d70 .quad 6892203506629956075 + 0x41, 0xb8, 0x8c, 0x9c, 0x9d, 0x17, 0x33, 0xd4, //0x00004d78 .quad -3156152948152813503 + 0x33, 0xd3, 0xbc, 0xa6, 0x1b, 0xc4, 0xc7, 0xdb, //0x00004d80 .quad -2609901835997359309 + 0x28, 0xf3, 0xd7, 0x81, 0xc2, 0xee, 0x9f, 0x84, //0x00004d88 .quad -8890124620236590296 + 0x00, 0x08, 0x6c, 0x90, 0x22, 0xb5, 0xb9, 0x12, //0x00004d90 .quad 1349308723430688768 + 0xf3, 0xef, 0x4d, 0x22, 0x73, 0xea, 0xc7, 0xa5, //0x00004d98 .quad -6500969756868349965 + 0x00, 0x0a, 0x87, 0x34, 0x6b, 0x22, 0x68, 0xd7, //0x00004da0 .quad -2925050114139026944 + 0xef, 0x6b, 0xe1, 0xea, 0x0f, 0xe5, 0x39, 0xcf, //0x00004da8 .quad -3514526177658049553 + 0x40, 0x66, 0xd4, 0x00, 0x83, 0x15, 0xa1, 0xe6, //0x00004db0 .quad -1828156321336891840 + 0x75, 0xe3, 0xcc, 0xf2, 0x29, 0x2f, 0x84, 0x81, //0x00004db8 .quad -9114107888677362827 + 0xd0, 0x7f, 0x09, 0xc1, 0xe3, 0x5a, 0x49, 0x60, //0x00004dc0 .quad 6938176635183661008 + 0x53, 0x1c, 0x80, 0x6f, 0xf4, 0x3a, 0xe5, 0xa1, //0x00004dc8 .quad -6780948842419315629 + 0xc4, 0xdf, 0x4b, 0xb1, 0x9c, 0xb1, 0x5b, 0x38, //0x00004dd0 .quad 4061034775552188356 + 0x68, 0x23, 0x60, 0x8b, 0xb1, 0x89, 0x5e, 0xca, //0x00004dd8 .quad -3864500034596756632 + 0xb5, 0xd7, 0x9e, 0xdd, 0x03, 0x9e, 0x72, 0x46, //0x00004de0 .quad 5076293469440235445 + 0x42, 0x2c, 0x38, 0xee, 0x1d, 0x2c, 0xf6, 0xfc, //0x00004de8 .quad -218939024818557886 + 0xd1, 0x46, 0x83, 0x6a, 0xc2, 0xa2, 0x07, 0x6c, //0x00004df0 .quad 7784369436827535057 + 0xa9, 0x1b, 0xe3, 0xb4, 0x92, 0xdb, 0x19, 0x9e, //0x00004df8 .quad -7054365918152680535 + 0x85, 0x18, 0x24, 0x05, 0x73, 0x8b, 0x09, 0xc7, //0x00004e00 .quad -4104596259247744891 + 0x93, 0xe2, 0x1b, 0x62, 0x77, 0x52, 0xa0, 0xc5, //0x00004e08 .quad -4206271379263462765 + 0xa7, 0x1e, 0x6d, 0xc6, 0x4f, 0xee, 0xcb, 0xb8, //0x00004e10 .quad -5130745324059681113 + 0x38, 0xdb, 0xa2, 0x3a, 0x15, 0x67, 0x08, 0xf7, //0x00004e18 .quad -646153205651940552 + 0x28, 0x33, 0x04, 0xdc, 0xf1, 0x74, 0x7f, 0x73, //0x00004e20 .quad 8322499218531169064 + 0x03, 0xc9, 0xa5, 0x44, 0x6d, 0x40, 0x65, 0x9a, //0x00004e28 .quad -7321374781173544701 + 0xf2, 0x3f, 0x05, 0x53, 0x2e, 0x52, 0x5f, 0x50, //0x00004e30 .quad 5791438004736573426 + 0x44, 0x3b, 0xcf, 0x95, 0x88, 0x90, 0xfe, 0xc0, //0x00004e38 .quad -4540032458039542972 + 0xef, 0x8f, 0xc6, 0xe7, 0xb9, 0x26, 0x77, 0x64, //0x00004e40 .quad 7239297505920716783 + 0x15, 0x0a, 0x43, 0xbb, 0xaa, 0x34, 0x3e, 0xf1, //0x00004e48 .quad -1063354554122040811 + 0xf5, 0x19, 0xdc, 0x30, 0x34, 0x78, 0xca, 0x5e, //0x00004e50 .quad 6830403950414141941 + 0x4d, 0xe6, 0x09, 0xb5, 0xea, 0xe0, 0xc6, 0x96, //0x00004e58 .quad -7582125623967357363 + 0x72, 0x20, 0x13, 0x3d, 0x41, 0x16, 0x7d, 0xb6, //0x00004e60 .quad -5297053117264486286 + 0xe0, 0x5f, 0x4c, 0x62, 0x25, 0x99, 0x78, 0xbc, //0x00004e68 .quad -4865971011531808800 + 0x8f, 0xe8, 0x57, 0x8c, 0xd1, 0x5b, 0x1c, 0xe4, //0x00004e70 .quad -2009630378153219953 + 0xd8, 0x77, 0xdf, 0xba, 0x6e, 0xbf, 0x96, 0xeb, //0x00004e78 .quad -1470777745987373096 + 0x59, 0xf1, 0xb6, 0xf7, 0x62, 0xb9, 0x91, 0x8e, //0x00004e80 .quad -8173548013986844327 + 0xe7, 0xaa, 0xcb, 0x34, 0xa5, 0x37, 0x3e, 0x93, //0x00004e88 .quad -7836765118883190041 + 0xb0, 0xad, 0xa4, 0xb5, 0xbb, 0x27, 0x36, 0x72, //0x00004e90 .quad 8229809056225996208 + 0xa1, 0x95, 0xfe, 0x81, 0x8e, 0xc5, 0x0d, 0xb8, //0x00004e98 .quad -5184270380176599647 + 0x1c, 0xd9, 0x0d, 0xa3, 0xaa, 0xb1, 0xc3, 0xce, //0x00004ea0 .quad -3547796734999668452 + 0x09, 0x3b, 0x7e, 0x22, 0xf2, 0x36, 0x11, 0xe6, //0x00004ea8 .quad -1868651956793361655 + 0xb1, 0xa7, 0xe8, 0xa5, 0x0a, 0x4f, 0x3a, 0x21, //0x00004eb0 .quad 2394313059052595121 + 0xe6, 0xe4, 0x8e, 0x55, 0x57, 0xc2, 0xca, 0x8f, //0x00004eb8 .quad -8085436500636932890 + 0x9d, 0xd1, 0x62, 0x4f, 0xcd, 0xe2, 0x88, 0xa9, //0x00004ec0 .quad -6230480713039031907 + 0x1f, 0x9e, 0xf2, 0x2a, 0xed, 0x72, 0xbd, 0xb3, //0x00004ec8 .quad -5495109607368778209 + 0x05, 0x86, 0x3b, 0xa3, 0x80, 0x1b, 0xeb, 0x93, //0x00004ed0 .quad -7788100891298789883 + 0xa7, 0x45, 0xaf, 0x75, 0xa8, 0xcf, 0xac, 0xe0, //0x00004ed8 .quad -2257200990783584857 + 0xc3, 0x33, 0x05, 0x66, 0x30, 0xf1, 0x72, 0xbc, //0x00004ee0 .quad -4867563057061743677 + 0x88, 0x8b, 0x8d, 0x49, 0xc9, 0x01, 0x6c, 0x8c, //0x00004ee8 .quad -8328279646880822392 + 0xb4, 0x80, 0x86, 0x7f, 0x7c, 0xad, 0x8f, 0xeb, //0x00004ef0 .quad -1472767802899791692 + 0x6a, 0xee, 0xf0, 0x9b, 0x3b, 0x02, 0x87, 0xaf, //0x00004ef8 .quad -5798663540173640086 + 0xe1, 0x20, 0x68, 0x9f, 0xdb, 0x98, 0x73, 0xa6, //0x00004f00 .quad -6452645772052127519 + 0x05, 0x2a, 0xed, 0x82, 0xca, 0xc2, 0x68, 0xdb, //0x00004f08 .quad -2636643406789662203 + 0x8c, 0x14, 0xa1, 0x43, 0x89, 0x3f, 0x08, 0x88, //0x00004f10 .quad -8644589625959967604 + 0x43, 0x3a, 0xd4, 0x91, 0xbe, 0x79, 0x21, 0x89, //0x00004f18 .quad -8565431156884620733 + 0xb0, 0x59, 0x89, 0x94, 0x6b, 0x4f, 0x0a, 0x6a, //0x00004f20 .quad 7641007041259592112 + 0xd4, 0x48, 0x49, 0x36, 0x2e, 0xd8, 0x69, 0xab, //0x00004f28 .quad -6095102927678388012 + 0x1c, 0xb0, 0xab, 0x79, 0x46, 0xe3, 0x8c, 0x84, //0x00004f30 .quad -8895485272135061476 + 0x09, 0x9b, 0xdb, 0xc3, 0x39, 0x4e, 0x44, 0xd6, //0x00004f38 .quad -3007192641170597111 + 0x11, 0x4e, 0x0b, 0x0c, 0x0c, 0x0e, 0xd8, 0xf2, //0x00004f40 .quad -947992276657025519 + 0xe5, 0x40, 0x69, 0x1a, 0xe4, 0xb0, 0xea, 0x85, //0x00004f48 .quad -8797024428372705051 + 0x95, 0x21, 0x0e, 0x0f, 0x8f, 0x11, 0x8e, 0x6f, //0x00004f50 .quad 8038381691033493909 + 0x1f, 0x91, 0x03, 0x21, 0x1d, 0x5d, 0x65, 0xa7, //0x00004f58 .quad -6384594517038493409 + 0xfb, 0xa9, 0xd1, 0xd2, 0xf2, 0x95, 0x71, 0x4b, //0x00004f60 .quad 5436291095364479483 + 0x67, 0x75, 0x44, 0x69, 0x64, 0xb4, 0x3e, 0xd1, //0x00004f68 .quad -3369057127870728857 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004f70 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + //0x00004f80 .p2align 4, 0x00 + //0x00004f80 _POW_TAB + 0x01, 0x00, 0x00, 0x00, //0x00004f80 .long 1 + 0x03, 0x00, 0x00, 0x00, //0x00004f84 .long 3 + 0x06, 0x00, 0x00, 0x00, //0x00004f88 .long 6 + 0x09, 0x00, 0x00, 0x00, //0x00004f8c .long 9 + 0x0d, 0x00, 0x00, 0x00, //0x00004f90 .long 13 + 0x10, 0x00, 0x00, 0x00, //0x00004f94 .long 16 + 0x13, 0x00, 0x00, 0x00, //0x00004f98 .long 19 + 0x17, 0x00, 0x00, 0x00, //0x00004f9c .long 23 + 0x1a, 0x00, 0x00, 0x00, //0x00004fa0 .long 26 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004fa4 .p2align 4, 0x00 + //0x00004fb0 _LSHIFT_TAB + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004fb0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004fc0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004fd0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004fe0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004ff0 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005000 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .space 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005010 QUAD $0x0000000000000000 // .space 8, '\x00\x00\x00\x00\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x00005018 .long 1 + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000501c QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000502c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000503c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000504c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000505c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000506c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000507c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x00005080 .long 1 + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005084 QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005094 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000050e4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x01, 0x00, 0x00, 0x00, //0x000050e8 .long 1 + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050ec QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000050fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000510c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000511c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000512c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000513c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000514c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x00005150 .long 2 + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005154 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005164 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005174 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005184 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005194 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000051b4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x000051b8 .long 2 + 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051bc QUAD $0x0000000035323133; QUAD $0x0000000000000000 // .asciz 16, '3125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000051fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000520c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000521c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x02, 0x00, 0x00, 0x00, //0x00005220 .long 2 + 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005224 QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005234 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005244 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005254 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005264 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005274 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005284 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x00005288 .long 3 + 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000528c QUAD $0x0000003532313837; QUAD $0x0000000000000000 // .asciz 16, '78125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000529c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000052ec LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x000052f0 .long 3 + 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000052f4 QUAD $0x0000353236303933; QUAD $0x0000000000000000 // .asciz 16, '390625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005304 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005314 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005324 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005334 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005344 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005354 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x03, 0x00, 0x00, 0x00, //0x00005358 .long 3 + 0x31, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000535c QUAD $0x0035323133353931; QUAD $0x0000000000000000 // .asciz 16, '1953125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000536c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000537c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000538c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000539c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000053bc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x000053c0 .long 4 + 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053c4 QUAD $0x0035323635363739; QUAD $0x0000000000000000 // .asciz 16, '9765625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000053f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005404 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005414 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005424 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00005428 .long 4 + 0x34, 0x38, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000542c QUAD $0x3532313832383834; QUAD $0x0000000000000000 // .asciz 16, '48828125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000543c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000544c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000545c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000546c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000547c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000548c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x00005490 .long 4 + 0x32, 0x34, 0x34, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005494 QUAD $0x3236303431343432; QUAD $0x0000000000000035 // .asciz 16, '244140625\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000054f4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x04, 0x00, 0x00, 0x00, //0x000054f8 .long 4 + 0x31, 0x32, 0x32, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000054fc QUAD $0x3133303730323231; QUAD $0x0000000000003532 // .asciz 16, '1220703125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000550c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000551c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000552c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000553c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000554c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000555c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x00005560 .long 5 + 0x36, 0x31, 0x30, 0x33, 0x35, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005564 QUAD $0x3635313533303136; QUAD $0x0000000000003532 // .asciz 16, '6103515625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005574 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005584 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005594 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000055c4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x000055c8 .long 5 + 0x33, 0x30, 0x35, 0x31, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055cc QUAD $0x3837353731353033; QUAD $0x0000000000353231 // .asciz 16, '30517578125\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000055fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000560c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000561c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000562c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x05, 0x00, 0x00, 0x00, //0x00005630 .long 5 + 0x31, 0x35, 0x32, 0x35, 0x38, 0x37, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x00005634 QUAD $0x3938373835323531; QUAD $0x0000000035323630 // .asciz 16, '152587890625\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005644 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005654 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005664 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005674 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005684 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005694 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00005698 .long 6 + 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x0000569c QUAD $0x3534393339323637; QUAD $0x0000000035323133 // .asciz 16, '762939453125\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000056ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000056fc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00005700 .long 6 + 0x33, 0x38, 0x31, 0x34, 0x36, 0x39, 0x37, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, //0x00005704 QUAD $0x3237393634313833; QUAD $0x0000003532363536 // .asciz 16, '3814697265625\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005714 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005724 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005734 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005744 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005754 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005764 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x06, 0x00, 0x00, 0x00, //0x00005768 .long 6 + 0x31, 0x39, 0x30, 0x37, 0x33, 0x34, 0x38, 0x36, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, //0x0000576c QUAD $0x3638343337303931; QUAD $0x0000353231383233 // .asciz 16, '19073486328125\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000577c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000578c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000579c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000057cc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x000057d0 .long 7 + 0x39, 0x35, 0x33, 0x36, 0x37, 0x34, 0x33, 0x31, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, //0x000057d4 QUAD $0x3133343736333539; QUAD $0x0000353236303436 // .asciz 16, '95367431640625\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000057f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005804 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005814 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005824 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005834 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00005838 .long 7 + 0x34, 0x37, 0x36, 0x38, 0x33, 0x37, 0x31, 0x35, 0x38, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, //0x0000583c QUAD $0x3531373338363734; QUAD $0x0035323133303238 // .asciz 16, '476837158203125\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000584c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000585c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000586c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000587c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000588c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000589c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x000058a0 .long 7 + 0x32, 0x33, 0x38, 0x34, 0x31, 0x38, 0x35, 0x37, 0x39, 0x31, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, //0x000058a4 QUAD $0x3735383134383332; QUAD $0x3532363531303139 // .asciz 16, '2384185791015625' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000058f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005904 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x07, 0x00, 0x00, 0x00, //0x00005908 .long 7 + 0x31, 0x31, 0x39, 0x32, 0x30, 0x39, 0x32, 0x38, 0x39, 0x35, 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, //0x0000590c QUAD $0x3832393032393131; QUAD $0x3231383730353539 // .asciz 16, '1192092895507812' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000591c QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000592c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000593c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000594c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000595c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000596c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00005970 .long 8 + 0x35, 0x39, 0x36, 0x30, 0x34, 0x36, 0x34, 0x34, 0x37, 0x37, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, //0x00005974 QUAD $0x3434363430363935; QUAD $0x3236303933353737 // .asciz 16, '5960464477539062' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005984 QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005994 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000059d4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x000059d8 .long 8 + 0x32, 0x39, 0x38, 0x30, 0x32, 0x33, 0x32, 0x32, 0x33, 0x38, 0x37, 0x36, 0x39, 0x35, 0x33, 0x31, //0x000059dc QUAD $0x3232333230383932; QUAD $0x3133353936373833 // .asciz 16, '2980232238769531' + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059ec QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000059fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005a3c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x08, 0x00, 0x00, 0x00, //0x00005a40 .long 8 + 0x31, 0x34, 0x39, 0x30, 0x31, 0x31, 0x36, 0x31, 0x31, 0x39, 0x33, 0x38, 0x34, 0x37, 0x36, 0x35, //0x00005a44 QUAD $0x3136313130393431; QUAD $0x3536373438333931 // .asciz 16, '1490116119384765' + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a54 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005a94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005aa4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00005aa8 .long 9 + 0x37, 0x34, 0x35, 0x30, 0x35, 0x38, 0x30, 0x35, 0x39, 0x36, 0x39, 0x32, 0x33, 0x38, 0x32, 0x38, //0x00005aac QUAD $0x3530383530353437; QUAD $0x3832383332393639 // .asciz 16, '7450580596923828' + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005abc QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005acc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005adc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005aec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005afc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005b0c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00005b10 .long 9 + 0x33, 0x37, 0x32, 0x35, 0x32, 0x39, 0x30, 0x32, 0x39, 0x38, 0x34, 0x36, 0x31, 0x39, 0x31, 0x34, //0x00005b14 QUAD $0x3230393235323733; QUAD $0x3431393136343839 // .asciz 16, '3725290298461914' + 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b24 QUAD $0x0000000035323630; QUAD $0x0000000000000000 // .asciz 16, '0625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b34 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005b74 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x09, 0x00, 0x00, 0x00, //0x00005b78 .long 9 + 0x31, 0x38, 0x36, 0x32, 0x36, 0x34, 0x35, 0x31, 0x34, 0x39, 0x32, 0x33, 0x30, 0x39, 0x35, 0x37, //0x00005b7c QUAD $0x3135343632363831; QUAD $0x3735393033323934 // .asciz 16, '1862645149230957' + 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b8c QUAD $0x0000003532313330; QUAD $0x0000000000000000 // .asciz 16, '03125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005b9c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005bac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005bbc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005bcc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005bdc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00005be0 .long 10 + 0x39, 0x33, 0x31, 0x33, 0x32, 0x32, 0x35, 0x37, 0x34, 0x36, 0x31, 0x35, 0x34, 0x37, 0x38, 0x35, //0x00005be4 QUAD $0x3735323233313339; QUAD $0x3538373435313634 // .asciz 16, '9313225746154785' + 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005bf4 QUAD $0x0000003532363531; QUAD $0x0000000000000000 // .asciz 16, '15625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c14 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c24 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c34 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005c44 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00005c48 .long 10 + 0x34, 0x36, 0x35, 0x36, 0x36, 0x31, 0x32, 0x38, 0x37, 0x33, 0x30, 0x37, 0x37, 0x33, 0x39, 0x32, //0x00005c4c QUAD $0x3832313636353634; QUAD $0x3239333737303337 // .asciz 16, '4656612873077392' + 0x35, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c5c QUAD $0x0000353231383735; QUAD $0x0000000000000000 // .asciz 16, '578125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c7c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c8c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005c9c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005cac LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00005cb0 .long 10 + 0x32, 0x33, 0x32, 0x38, 0x33, 0x30, 0x36, 0x34, 0x33, 0x36, 0x35, 0x33, 0x38, 0x36, 0x39, 0x36, //0x00005cb4 QUAD $0x3436303338323332; QUAD $0x3639363833353633 // .asciz 16, '2328306436538696' + 0x32, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005cc4 QUAD $0x0035323630393832; QUAD $0x0000000000000000 // .asciz 16, '2890625\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005cd4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ce4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005cf4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d04 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005d14 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0a, 0x00, 0x00, 0x00, //0x00005d18 .long 10 + 0x31, 0x31, 0x36, 0x34, 0x31, 0x35, 0x33, 0x32, 0x31, 0x38, 0x32, 0x36, 0x39, 0x33, 0x34, 0x38, //0x00005d1c QUAD $0x3233353134363131; QUAD $0x3834333936323831 // .asciz 16, '1164153218269348' + 0x31, 0x34, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d2c QUAD $0x3532313335343431; QUAD $0x0000000000000000 // .asciz 16, '14453125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d3c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d4c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d5c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d6c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005d7c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00005d80 .long 11 + 0x35, 0x38, 0x32, 0x30, 0x37, 0x36, 0x36, 0x30, 0x39, 0x31, 0x33, 0x34, 0x36, 0x37, 0x34, 0x30, //0x00005d84 QUAD $0x3036363730323835; QUAD $0x3034373634333139 // .asciz 16, '5820766091346740' + 0x37, 0x32, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005d94 QUAD $0x3532363536323237; QUAD $0x0000000000000000 // .asciz 16, '72265625\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005da4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005db4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005dc4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005dd4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005de4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00005de8 .long 11 + 0x32, 0x39, 0x31, 0x30, 0x33, 0x38, 0x33, 0x30, 0x34, 0x35, 0x36, 0x37, 0x33, 0x33, 0x37, 0x30, //0x00005dec QUAD $0x3033383330313932; QUAD $0x3037333337363534 // .asciz 16, '2910383045673370' + 0x33, 0x36, 0x31, 0x33, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005dfc QUAD $0x3231383233313633; QUAD $0x0000000000000035 // .asciz 16, '361328125\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e1c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e2c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e3c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005e4c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0b, 0x00, 0x00, 0x00, //0x00005e50 .long 11 + 0x31, 0x34, 0x35, 0x35, 0x31, 0x39, 0x31, 0x35, 0x32, 0x32, 0x38, 0x33, 0x36, 0x36, 0x38, 0x35, //0x00005e54 QUAD $0x3531393135353431; QUAD $0x3538363633383232 // .asciz 16, '1455191522836685' + 0x31, 0x38, 0x30, 0x36, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e64 QUAD $0x3630343636303831; QUAD $0x0000000000003532 // .asciz 16, '1806640625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e84 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005e94 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ea4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005eb4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00005eb8 .long 12 + 0x37, 0x32, 0x37, 0x35, 0x39, 0x35, 0x37, 0x36, 0x31, 0x34, 0x31, 0x38, 0x33, 0x34, 0x32, 0x35, //0x00005ebc QUAD $0x3637353935373237; QUAD $0x3532343338313431 // .asciz 16, '7275957614183425' + 0x39, 0x30, 0x33, 0x33, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005ecc QUAD $0x3133303233333039; QUAD $0x0000000000003532 // .asciz 16, '9033203125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005edc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005eec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005efc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f0c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005f1c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00005f20 .long 12 + 0x33, 0x36, 0x33, 0x37, 0x39, 0x37, 0x38, 0x38, 0x30, 0x37, 0x30, 0x39, 0x31, 0x37, 0x31, 0x32, //0x00005f24 QUAD $0x3838373937333633; QUAD $0x3231373139303730 // .asciz 16, '3637978807091712' + 0x39, 0x35, 0x31, 0x36, 0x36, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f34 QUAD $0x3531303636313539; QUAD $0x0000000000353236 // .asciz 16, '95166015625\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f44 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f54 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f64 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005f74 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005f84 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0c, 0x00, 0x00, 0x00, //0x00005f88 .long 12 + 0x31, 0x38, 0x31, 0x38, 0x39, 0x38, 0x39, 0x34, 0x30, 0x33, 0x35, 0x34, 0x35, 0x38, 0x35, 0x36, //0x00005f8c QUAD $0x3439383938313831; QUAD $0x3635383534353330 // .asciz 16, '1818989403545856' + 0x34, 0x37, 0x35, 0x38, 0x33, 0x30, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x00005f9c QUAD $0x3730303338353734; QUAD $0x0000000035323138 // .asciz 16, '475830078125\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005fac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005fbc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005fcc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00005fdc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00005fec LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00005ff0 .long 13 + 0x39, 0x30, 0x39, 0x34, 0x39, 0x34, 0x37, 0x30, 0x31, 0x37, 0x37, 0x32, 0x39, 0x32, 0x38, 0x32, //0x00005ff4 QUAD $0x3037343934393039; QUAD $0x3238323932373731 // .asciz 16, '9094947017729282' + 0x33, 0x37, 0x39, 0x31, 0x35, 0x30, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, //0x00006004 QUAD $0x3933303531393733; QUAD $0x0000000035323630 // .asciz 16, '379150390625\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006014 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006024 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006034 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006044 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006054 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00006058 .long 13 + 0x34, 0x35, 0x34, 0x37, 0x34, 0x37, 0x33, 0x35, 0x30, 0x38, 0x38, 0x36, 0x34, 0x36, 0x34, 0x31, //0x0000605c QUAD $0x3533373437343534; QUAD $0x3134363436383830 // .asciz 16, '4547473508864641' + 0x31, 0x38, 0x39, 0x35, 0x37, 0x35, 0x31, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, //0x0000606c QUAD $0x3931353735393831; QUAD $0x0000003532313335 // .asciz 16, '1895751953125\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000607c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000608c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000609c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000060ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000060bc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x000060c0 .long 13 + 0x32, 0x32, 0x37, 0x33, 0x37, 0x33, 0x36, 0x37, 0x35, 0x34, 0x34, 0x33, 0x32, 0x33, 0x32, 0x30, //0x000060c4 QUAD $0x3736333733373232; QUAD $0x3032333233343435 // .asciz 16, '2273736754432320' + 0x35, 0x39, 0x34, 0x37, 0x38, 0x37, 0x35, 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, //0x000060d4 QUAD $0x3935373837343935; QUAD $0x0000353236353637 // .asciz 16, '59478759765625\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000060e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000060f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006104 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006114 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006124 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0d, 0x00, 0x00, 0x00, //0x00006128 .long 13 + 0x31, 0x31, 0x33, 0x36, 0x38, 0x36, 0x38, 0x33, 0x37, 0x37, 0x32, 0x31, 0x36, 0x31, 0x36, 0x30, //0x0000612c QUAD $0x3338363836333131; QUAD $0x3036313631323737 // .asciz 16, '1136868377216160' + 0x32, 0x39, 0x37, 0x33, 0x39, 0x33, 0x37, 0x39, 0x38, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, //0x0000613c QUAD $0x3937333933373932; QUAD $0x0035323138323838 // .asciz 16, '297393798828125\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000614c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000615c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000616c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000617c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000618c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x00006190 .long 14 + 0x35, 0x36, 0x38, 0x34, 0x33, 0x34, 0x31, 0x38, 0x38, 0x36, 0x30, 0x38, 0x30, 0x38, 0x30, 0x31, //0x00006194 QUAD $0x3831343334383635; QUAD $0x3130383038303638 // .asciz 16, '5684341886080801' + 0x34, 0x38, 0x36, 0x39, 0x36, 0x38, 0x39, 0x39, 0x34, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, //0x000061a4 QUAD $0x3939383639363834; QUAD $0x0035323630343134 // .asciz 16, '486968994140625\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000061e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000061f4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x000061f8 .long 14 + 0x32, 0x38, 0x34, 0x32, 0x31, 0x37, 0x30, 0x39, 0x34, 0x33, 0x30, 0x34, 0x30, 0x34, 0x30, 0x30, //0x000061fc QUAD $0x3930373132343832; QUAD $0x3030343034303334 // .asciz 16, '2842170943040400' + 0x37, 0x34, 0x33, 0x34, 0x38, 0x34, 0x34, 0x39, 0x37, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, //0x0000620c QUAD $0x3934343834333437; QUAD $0x3532313330373037 // .asciz 16, '7434844970703125' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000621c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000622c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000623c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000624c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000625c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0e, 0x00, 0x00, 0x00, //0x00006260 .long 14 + 0x31, 0x34, 0x32, 0x31, 0x30, 0x38, 0x35, 0x34, 0x37, 0x31, 0x35, 0x32, 0x30, 0x32, 0x30, 0x30, //0x00006264 QUAD $0x3435383031323431; QUAD $0x3030323032353137 // .asciz 16, '1421085471520200' + 0x33, 0x37, 0x31, 0x37, 0x34, 0x32, 0x32, 0x34, 0x38, 0x35, 0x33, 0x35, 0x31, 0x35, 0x36, 0x32, //0x00006274 QUAD $0x3432323437313733; QUAD $0x3236353135333538 // .asciz 16, '3717422485351562' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006284 QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006294 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000062c4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x000062c8 .long 15 + 0x37, 0x31, 0x30, 0x35, 0x34, 0x32, 0x37, 0x33, 0x35, 0x37, 0x36, 0x30, 0x31, 0x30, 0x30, 0x31, //0x000062cc QUAD $0x3337323435303137; QUAD $0x3130303130363735 // .asciz 16, '7105427357601001' + 0x38, 0x35, 0x38, 0x37, 0x31, 0x31, 0x32, 0x34, 0x32, 0x36, 0x37, 0x35, 0x37, 0x38, 0x31, 0x32, //0x000062dc QUAD $0x3432313137383538; QUAD $0x3231383735373632 // .asciz 16, '8587112426757812' + 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062ec QUAD $0x0000000000000035; QUAD $0x0000000000000000 // .asciz 16, '5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000062fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000630c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000631c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000632c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00006330 .long 15 + 0x33, 0x35, 0x35, 0x32, 0x37, 0x31, 0x33, 0x36, 0x37, 0x38, 0x38, 0x30, 0x30, 0x35, 0x30, 0x30, //0x00006334 QUAD $0x3633313732353533; QUAD $0x3030353030383837 // .asciz 16, '3552713678800500' + 0x39, 0x32, 0x39, 0x33, 0x35, 0x35, 0x36, 0x32, 0x31, 0x33, 0x33, 0x37, 0x38, 0x39, 0x30, 0x36, //0x00006344 QUAD $0x3236353533393239; QUAD $0x3630393837333331 // .asciz 16, '9293556213378906' + 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006354 QUAD $0x0000000000003532; QUAD $0x0000000000000000 // .asciz 16, '25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006364 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006374 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006384 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006394 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x0f, 0x00, 0x00, 0x00, //0x00006398 .long 15 + 0x31, 0x37, 0x37, 0x36, 0x33, 0x35, 0x36, 0x38, 0x33, 0x39, 0x34, 0x30, 0x30, 0x32, 0x35, 0x30, //0x0000639c QUAD $0x3836353336373731; QUAD $0x3035323030343933 // .asciz 16, '1776356839400250' + 0x34, 0x36, 0x34, 0x36, 0x37, 0x37, 0x38, 0x31, 0x30, 0x36, 0x36, 0x38, 0x39, 0x34, 0x35, 0x33, //0x000063ac QUAD $0x3138373736343634; QUAD $0x3335343938363630 // .asciz 16, '4646778106689453' + 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063bc QUAD $0x0000000000353231; QUAD $0x0000000000000000 // .asciz 16, '125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063cc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000063ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000063fc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00006400 .long 16 + 0x38, 0x38, 0x38, 0x31, 0x37, 0x38, 0x34, 0x31, 0x39, 0x37, 0x30, 0x30, 0x31, 0x32, 0x35, 0x32, //0x00006404 QUAD $0x3134383731383838; QUAD $0x3235323130303739 // .asciz 16, '8881784197001252' + 0x33, 0x32, 0x33, 0x33, 0x38, 0x39, 0x30, 0x35, 0x33, 0x33, 0x34, 0x34, 0x37, 0x32, 0x36, 0x35, //0x00006414 QUAD $0x3530393833333233; QUAD $0x3536323734343333 // .asciz 16, '3233890533447265' + 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006424 QUAD $0x0000000000353236; QUAD $0x0000000000000000 // .asciz 16, '625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006434 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006444 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006454 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006464 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00006468 .long 16 + 0x34, 0x34, 0x34, 0x30, 0x38, 0x39, 0x32, 0x30, 0x39, 0x38, 0x35, 0x30, 0x30, 0x36, 0x32, 0x36, //0x0000646c QUAD $0x3032393830343434; QUAD $0x3632363030353839 // .asciz 16, '4440892098500626' + 0x31, 0x36, 0x31, 0x36, 0x39, 0x34, 0x35, 0x32, 0x36, 0x36, 0x37, 0x32, 0x33, 0x36, 0x33, 0x32, //0x0000647c QUAD $0x3235343936313631; QUAD $0x3233363332373636 // .asciz 16, '1616945266723632' + 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000648c QUAD $0x0000000035323138; QUAD $0x0000000000000000 // .asciz 16, '8125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000649c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064ac QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064bc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000064cc LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x000064d0 .long 16 + 0x32, 0x32, 0x32, 0x30, 0x34, 0x34, 0x36, 0x30, 0x34, 0x39, 0x32, 0x35, 0x30, 0x33, 0x31, 0x33, //0x000064d4 QUAD $0x3036343430323232; QUAD $0x3331333035323934 // .asciz 16, '2220446049250313' + 0x30, 0x38, 0x30, 0x38, 0x34, 0x37, 0x32, 0x36, 0x33, 0x33, 0x33, 0x36, 0x31, 0x38, 0x31, 0x36, //0x000064e4 QUAD $0x3632373438303830; QUAD $0x3631383136333333 // .asciz 16, '0808472633361816' + 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000064f4 QUAD $0x0000003532363034; QUAD $0x0000000000000000 // .asciz 16, '40625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006504 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006514 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006524 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006534 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x10, 0x00, 0x00, 0x00, //0x00006538 .long 16 + 0x31, 0x31, 0x31, 0x30, 0x32, 0x32, 0x33, 0x30, 0x32, 0x34, 0x36, 0x32, 0x35, 0x31, 0x35, 0x36, //0x0000653c QUAD $0x3033323230313131; QUAD $0x3635313532363432 // .asciz 16, '1110223024625156' + 0x35, 0x34, 0x30, 0x34, 0x32, 0x33, 0x36, 0x33, 0x31, 0x36, 0x36, 0x38, 0x30, 0x39, 0x30, 0x38, //0x0000654c QUAD $0x3336333234303435; QUAD $0x3830393038363631 // .asciz 16, '5404236316680908' + 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000655c QUAD $0x0000353231333032; QUAD $0x0000000000000000 // .asciz 16, '203125\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000656c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000657c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000658c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000659c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x000065a0 .long 17 + 0x35, 0x35, 0x35, 0x31, 0x31, 0x31, 0x35, 0x31, 0x32, 0x33, 0x31, 0x32, 0x35, 0x37, 0x38, 0x32, //0x000065a4 QUAD $0x3135313131353535; QUAD $0x3238373532313332 // .asciz 16, '5551115123125782' + 0x37, 0x30, 0x32, 0x31, 0x31, 0x38, 0x31, 0x35, 0x38, 0x33, 0x34, 0x30, 0x34, 0x35, 0x34, 0x31, //0x000065b4 QUAD $0x3531383131323037; QUAD $0x3134353430343338 // .asciz 16, '7021181583404541' + 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065c4 QUAD $0x0000353236353130; QUAD $0x0000000000000000 // .asciz 16, '015625\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065d4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065e4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000065f4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006604 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00006608 .long 17 + 0x32, 0x37, 0x37, 0x35, 0x35, 0x35, 0x37, 0x35, 0x36, 0x31, 0x35, 0x36, 0x32, 0x38, 0x39, 0x31, //0x0000660c QUAD $0x3537353535373732; QUAD $0x3139383236353136 // .asciz 16, '2775557561562891' + 0x33, 0x35, 0x31, 0x30, 0x35, 0x39, 0x30, 0x37, 0x39, 0x31, 0x37, 0x30, 0x32, 0x32, 0x37, 0x30, //0x0000661c QUAD $0x3730393530313533; QUAD $0x3037323230373139 // .asciz 16, '3510590791702270' + 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000662c QUAD $0x0035323138373035; QUAD $0x0000000000000000 // .asciz 16, '5078125\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000663c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000664c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000665c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000666c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x11, 0x00, 0x00, 0x00, //0x00006670 .long 17 + 0x31, 0x33, 0x38, 0x37, 0x37, 0x37, 0x38, 0x37, 0x38, 0x30, 0x37, 0x38, 0x31, 0x34, 0x34, 0x35, //0x00006674 QUAD $0x3738373737383331; QUAD $0x3534343138373038 // .asciz 16, '1387778780781445' + 0x36, 0x37, 0x35, 0x35, 0x32, 0x39, 0x35, 0x33, 0x39, 0x35, 0x38, 0x35, 0x31, 0x31, 0x33, 0x35, //0x00006684 QUAD $0x3335393235353736; QUAD $0x3533313135383539 // .asciz 16, '6755295395851135' + 0x32, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006694 QUAD $0x3532363039333532; QUAD $0x0000000000000000 // .asciz 16, '25390625\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066a4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066b4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066c4 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000066d4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x000066d8 .long 18 + 0x36, 0x39, 0x33, 0x38, 0x38, 0x39, 0x33, 0x39, 0x30, 0x33, 0x39, 0x30, 0x37, 0x32, 0x32, 0x38, //0x000066dc QUAD $0x3933393838333936; QUAD $0x3832323730393330 // .asciz 16, '6938893903907228' + 0x33, 0x37, 0x37, 0x36, 0x34, 0x37, 0x36, 0x39, 0x37, 0x39, 0x32, 0x35, 0x35, 0x36, 0x37, 0x36, //0x000066ec QUAD $0x3936373436373733; QUAD $0x3637363535323937 // .asciz 16, '3776476979255676' + 0x32, 0x36, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000066fc QUAD $0x3532313335393632; QUAD $0x0000000000000000 // .asciz 16, '26953125\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000670c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000671c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000672c QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000673c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x00006740 .long 18 + 0x33, 0x34, 0x36, 0x39, 0x34, 0x34, 0x36, 0x39, 0x35, 0x31, 0x39, 0x35, 0x33, 0x36, 0x31, 0x34, //0x00006744 QUAD $0x3936343439363433; QUAD $0x3431363335393135 // .asciz 16, '3469446951953614' + 0x31, 0x38, 0x38, 0x38, 0x32, 0x33, 0x38, 0x34, 0x38, 0x39, 0x36, 0x32, 0x37, 0x38, 0x33, 0x38, //0x00006754 QUAD $0x3438333238383831; QUAD $0x3833383732363938 // .asciz 16, '1888238489627838' + 0x31, 0x33, 0x34, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006764 QUAD $0x3236353637343331; QUAD $0x0000000000000035 // .asciz 16, '134765625\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006774 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006784 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006794 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x000067a4 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x12, 0x00, 0x00, 0x00, //0x000067a8 .long 18 + 0x31, 0x37, 0x33, 0x34, 0x37, 0x32, 0x33, 0x34, 0x37, 0x35, 0x39, 0x37, 0x36, 0x38, 0x30, 0x37, //0x000067ac QUAD $0x3433323734333731; QUAD $0x3730383637393537 // .asciz 16, '1734723475976807' + 0x30, 0x39, 0x34, 0x34, 0x31, 0x31, 0x39, 0x32, 0x34, 0x34, 0x38, 0x31, 0x33, 0x39, 0x31, 0x39, //0x000067bc QUAD $0x3239313134343930; QUAD $0x3931393331383434 // .asciz 16, '0944119244813919' + 0x30, 0x36, 0x37, 0x33, 0x38, 0x32, 0x38, 0x31, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067cc QUAD $0x3138323833373630; QUAD $0x0000000000003532 // .asciz 16, '0673828125\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067dc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067ec QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000067fc QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x0000680c LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' + 0x13, 0x00, 0x00, 0x00, //0x00006810 .long 19 + 0x38, 0x36, 0x37, 0x33, 0x36, 0x31, 0x37, 0x33, 0x37, 0x39, 0x38, 0x38, 0x34, 0x30, 0x33, 0x35, //0x00006814 QUAD $0x3337313633373638; QUAD $0x3533303438383937 // .asciz 16, '8673617379884035' + 0x34, 0x37, 0x32, 0x30, 0x35, 0x39, 0x36, 0x32, 0x32, 0x34, 0x30, 0x36, 0x39, 0x35, 0x39, 0x35, //0x00006824 QUAD $0x3236393530323734; QUAD $0x3539353936303432 // .asciz 16, '4720596224069595' + 0x33, 0x33, 0x36, 0x39, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006834 QUAD $0x3630343139363333; QUAD $0x0000000000003532 // .asciz 16, '3369140625\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006844 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006854 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00006864 QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .asciz 16, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x00, 0x00, //0x00006874 LONG $0x00000000 // .asciz 4, '\x00\x00\x00\x00' +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/vsigned.go b/vendor/github.com/bytedance/sonic/internal/native/sse/vsigned.go new file mode 100644 index 0000000..a73ecd7 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/vsigned.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vsigned func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer) + +var S_vsigned uintptr + +//go:nosplit +func vsigned(s *string, p *int, v *types.JsonState) { + F_vsigned(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/vsigned_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/vsigned_subr.go new file mode 100644 index 0000000..df428ad --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/vsigned_subr.go @@ -0,0 +1,50 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__vsigned = 0 +) + +const ( + _stack__vsigned = 16 +) + +const ( + _size__vsigned = 336 +) + +var ( + _pcsp__vsigned = [][2]uint32{ + {1, 0}, + {4, 8}, + {119, 16}, + {120, 8}, + {121, 0}, + {132, 16}, + {133, 8}, + {134, 0}, + {276, 16}, + {277, 8}, + {278, 0}, + {282, 16}, + {283, 8}, + {284, 0}, + {322, 16}, + {323, 8}, + {324, 0}, + {332, 16}, + {333, 8}, + {335, 0}, + } +) + +var _cfunc_vsigned = []loader.CFunc{ + {"_vsigned_entry", 0, _entry__vsigned, 0, nil}, + {"_vsigned", _entry__vsigned, _size__vsigned, _stack__vsigned, _pcsp__vsigned}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/vsigned_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/vsigned_text_amd64.go new file mode 100644 index 0000000..af027c0 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/vsigned_text_amd64.go @@ -0,0 +1,112 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_vsigned = []byte{ + // .p2align 4, 0x90 + // _vsigned + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x53, //0x00000004 pushq %rbx + 0x48, 0x8b, 0x1e, //0x00000005 movq (%rsi), %rbx + 0x4c, 0x8b, 0x07, //0x00000008 movq (%rdi), %r8 + 0x4c, 0x8b, 0x57, 0x08, //0x0000000b movq $8(%rdi), %r10 + 0x48, 0xc7, 0x02, 0x09, 0x00, 0x00, 0x00, //0x0000000f movq $9, (%rdx) + 0x48, 0xc7, 0x42, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00000016 movq $0, $8(%rdx) + 0x48, 0xc7, 0x42, 0x10, 0x00, 0x00, 0x00, 0x00, //0x0000001e movq $0, $16(%rdx) + 0x48, 0x8b, 0x0e, //0x00000026 movq (%rsi), %rcx + 0x48, 0x89, 0x4a, 0x18, //0x00000029 movq %rcx, $24(%rdx) + 0x4c, 0x39, 0xd3, //0x0000002d cmpq %r10, %rbx + 0x0f, 0x83, 0x44, 0x00, 0x00, 0x00, //0x00000030 jae LBB0_1 + 0x41, 0x8a, 0x0c, 0x18, //0x00000036 movb (%r8,%rbx), %cl + 0x41, 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000003a movl $1, %r9d + 0x80, 0xf9, 0x2d, //0x00000040 cmpb $45, %cl + 0x0f, 0x85, 0x17, 0x00, 0x00, 0x00, //0x00000043 jne LBB0_5 + 0x48, 0xff, 0xc3, //0x00000049 incq %rbx + 0x4c, 0x39, 0xd3, //0x0000004c cmpq %r10, %rbx + 0x0f, 0x83, 0x25, 0x00, 0x00, 0x00, //0x0000004f jae LBB0_1 + 0x41, 0x8a, 0x0c, 0x18, //0x00000055 movb (%r8,%rbx), %cl + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000059 movq $-1, %r9 + //0x00000060 LBB0_5 + 0x8d, 0x79, 0xd0, //0x00000060 leal $-48(%rcx), %edi + 0x40, 0x80, 0xff, 0x0a, //0x00000063 cmpb $10, %dil + 0x0f, 0x82, 0x1a, 0x00, 0x00, 0x00, //0x00000067 jb LBB0_7 + 0x48, 0x89, 0x1e, //0x0000006d movq %rbx, (%rsi) + 0x48, 0xc7, 0x02, 0xfe, 0xff, 0xff, 0xff, //0x00000070 movq $-2, (%rdx) + 0x5b, //0x00000077 popq %rbx + 0x5d, //0x00000078 popq %rbp + 0xc3, //0x00000079 retq + //0x0000007a LBB0_1 + 0x4c, 0x89, 0x16, //0x0000007a movq %r10, (%rsi) + 0x48, 0xc7, 0x02, 0xff, 0xff, 0xff, 0xff, //0x0000007d movq $-1, (%rdx) + 0x5b, //0x00000084 popq %rbx + 0x5d, //0x00000085 popq %rbp + 0xc3, //0x00000086 retq + //0x00000087 LBB0_7 + 0x80, 0xf9, 0x30, //0x00000087 cmpb $48, %cl + 0x0f, 0x85, 0x35, 0x00, 0x00, 0x00, //0x0000008a jne LBB0_8 + 0x48, 0x8d, 0x7b, 0x01, //0x00000090 leaq $1(%rbx), %rdi + 0x4c, 0x39, 0xd3, //0x00000094 cmpq %r10, %rbx + 0x0f, 0x83, 0x7a, 0x00, 0x00, 0x00, //0x00000097 jae LBB0_17 + 0x41, 0x8a, 0x0c, 0x38, //0x0000009d movb (%r8,%rdi), %cl + 0x80, 0xc1, 0xd2, //0x000000a1 addb $-46, %cl + 0x80, 0xf9, 0x37, //0x000000a4 cmpb $55, %cl + 0x0f, 0x87, 0x6a, 0x00, 0x00, 0x00, //0x000000a7 ja LBB0_17 + 0x44, 0x0f, 0xb6, 0xd9, //0x000000ad movzbl %cl, %r11d + 0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000000b1 movabsq $36028797027352577, %rcx + 0x4c, 0x0f, 0xa3, 0xd9, //0x000000bb btq %r11, %rcx + 0x0f, 0x83, 0x52, 0x00, 0x00, 0x00, //0x000000bf jae LBB0_17 + //0x000000c5 LBB0_8 + 0x31, 0xff, //0x000000c5 xorl %edi, %edi + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000c7 .p2align 4, 0x90 + //0x000000d0 LBB0_9 + 0x4c, 0x39, 0xd3, //0x000000d0 cmpq %r10, %rbx + 0x0f, 0x83, 0x6c, 0x00, 0x00, 0x00, //0x000000d3 jae LBB0_22 + 0x49, 0x0f, 0xbe, 0x0c, 0x18, //0x000000d9 movsbq (%r8,%rbx), %rcx + 0x8d, 0x41, 0xd0, //0x000000de leal $-48(%rcx), %eax + 0x3c, 0x09, //0x000000e1 cmpb $9, %al + 0x0f, 0x87, 0x34, 0x00, 0x00, 0x00, //0x000000e3 ja LBB0_18 + 0x48, 0x6b, 0xff, 0x0a, //0x000000e9 imulq $10, %rdi, %rdi + 0x0f, 0x80, 0x14, 0x00, 0x00, 0x00, //0x000000ed jo LBB0_13 + 0x48, 0xff, 0xc3, //0x000000f3 incq %rbx + 0x48, 0x83, 0xc1, 0xd0, //0x000000f6 addq $-48, %rcx + 0x49, 0x0f, 0xaf, 0xc9, //0x000000fa imulq %r9, %rcx + 0x48, 0x01, 0xcf, //0x000000fe addq %rcx, %rdi + 0x0f, 0x81, 0xc9, 0xff, 0xff, 0xff, //0x00000101 jno LBB0_9 + //0x00000107 LBB0_13 + 0x48, 0xff, 0xcb, //0x00000107 decq %rbx + 0x48, 0x89, 0x1e, //0x0000010a movq %rbx, (%rsi) + 0x48, 0xc7, 0x02, 0xfb, 0xff, 0xff, 0xff, //0x0000010d movq $-5, (%rdx) + 0x5b, //0x00000114 popq %rbx + 0x5d, //0x00000115 popq %rbp + 0xc3, //0x00000116 retq + //0x00000117 LBB0_17 + 0x48, 0x89, 0x3e, //0x00000117 movq %rdi, (%rsi) + 0x5b, //0x0000011a popq %rbx + 0x5d, //0x0000011b popq %rbp + 0xc3, //0x0000011c retq + //0x0000011d LBB0_18 + 0x80, 0xf9, 0x65, //0x0000011d cmpb $101, %cl + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00000120 je LBB0_21 + 0x80, 0xf9, 0x45, //0x00000126 cmpb $69, %cl + 0x0f, 0x84, 0x09, 0x00, 0x00, 0x00, //0x00000129 je LBB0_21 + 0x80, 0xf9, 0x2e, //0x0000012f cmpb $46, %cl + 0x0f, 0x85, 0x0d, 0x00, 0x00, 0x00, //0x00000132 jne LBB0_22 + //0x00000138 LBB0_21 + 0x48, 0x89, 0x1e, //0x00000138 movq %rbx, (%rsi) + 0x48, 0xc7, 0x02, 0xfa, 0xff, 0xff, 0xff, //0x0000013b movq $-6, (%rdx) + 0x5b, //0x00000142 popq %rbx + 0x5d, //0x00000143 popq %rbp + 0xc3, //0x00000144 retq + //0x00000145 LBB0_22 + 0x48, 0x89, 0x1e, //0x00000145 movq %rbx, (%rsi) + 0x48, 0x89, 0x7a, 0x10, //0x00000148 movq %rdi, $16(%rdx) + 0x5b, //0x0000014c popq %rbx + 0x5d, //0x0000014d popq %rbp + 0xc3, //0x0000014e retq + 0x00, //0x0000014f .p2align 2, 0x00 + //0x00000150 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000150 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/vstring.go b/vendor/github.com/bytedance/sonic/internal/native/sse/vstring.go new file mode 100644 index 0000000..abc8b25 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/vstring.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vstring func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer, flags uint64) + +var S_vstring uintptr + +//go:nosplit +func vstring(s *string, p *int, v *types.JsonState, flags uint64) { + F_vstring(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/vstring_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/vstring_subr.go new file mode 100644 index 0000000..108a3a5 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/vstring_subr.go @@ -0,0 +1,46 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__vstring = 48 +) + +const ( + _stack__vstring = 88 +) + +const ( + _size__vstring = 2436 +) + +var ( + _pcsp__vstring = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {2280, 88}, + {2284, 48}, + {2285, 40}, + {2287, 32}, + {2289, 24}, + {2291, 16}, + {2293, 8}, + {2294, 0}, + {2436, 88}, + } +) + +var _cfunc_vstring = []loader.CFunc{ + {"_vstring_entry", 0, _entry__vstring, 0, nil}, + {"_vstring", _entry__vstring, _size__vstring, _stack__vstring, _pcsp__vstring}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/vstring_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/vstring_text_amd64.go new file mode 100644 index 0000000..fee5c1a --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/vstring_text_amd64.go @@ -0,0 +1,663 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_vstring = []byte{ + // .p2align 4, 0x00 + // LCPI0_0 + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, // QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' + //0x00000010 LCPI0_1 + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, //0x00000010 QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + //0x00000020 LCPI0_2 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000020 QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' + //0x00000030 .p2align 4, 0x90 + //0x00000030 _vstring + 0x55, //0x00000030 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000031 movq %rsp, %rbp + 0x41, 0x57, //0x00000034 pushq %r15 + 0x41, 0x56, //0x00000036 pushq %r14 + 0x41, 0x55, //0x00000038 pushq %r13 + 0x41, 0x54, //0x0000003a pushq %r12 + 0x53, //0x0000003c pushq %rbx + 0x48, 0x83, 0xec, 0x28, //0x0000003d subq $40, %rsp + 0x48, 0x89, 0xd3, //0x00000041 movq %rdx, %rbx + 0x4c, 0x8b, 0x16, //0x00000044 movq (%rsi), %r10 + 0xf6, 0xc1, 0x20, //0x00000047 testb $32, %cl + 0x48, 0x89, 0x55, 0xb8, //0x0000004a movq %rdx, $-72(%rbp) + 0x48, 0x89, 0x75, 0xc0, //0x0000004e movq %rsi, $-64(%rbp) + 0x0f, 0x85, 0xc1, 0x01, 0x00, 0x00, //0x00000052 jne LBB0_12 + 0x48, 0x8b, 0x4f, 0x08, //0x00000058 movq $8(%rdi), %rcx + 0x48, 0x89, 0xc8, //0x0000005c movq %rcx, %rax + 0x4c, 0x29, 0xd0, //0x0000005f subq %r10, %rax + 0x0f, 0x84, 0xd5, 0x06, 0x00, 0x00, //0x00000062 je LBB0_55 + 0x48, 0x89, 0x4d, 0xc8, //0x00000068 movq %rcx, $-56(%rbp) + 0x48, 0x8b, 0x37, //0x0000006c movq (%rdi), %rsi + 0x4a, 0x8d, 0x0c, 0x16, //0x0000006f leaq (%rsi,%r10), %rcx + 0x48, 0x83, 0xf8, 0x40, //0x00000073 cmpq $64, %rax + 0x48, 0x89, 0x75, 0xd0, //0x00000077 movq %rsi, $-48(%rbp) + 0x0f, 0x82, 0xc8, 0x06, 0x00, 0x00, //0x0000007b jb LBB0_56 + 0x41, 0x89, 0xc5, //0x00000081 movl %eax, %r13d + 0x41, 0x83, 0xe5, 0x3f, //0x00000084 andl $63, %r13d + 0x48, 0x8d, 0x50, 0xc0, //0x00000088 leaq $-64(%rax), %rdx + 0x48, 0x83, 0xe2, 0xc0, //0x0000008c andq $-64, %rdx + 0x4c, 0x01, 0xd2, //0x00000090 addq %r10, %rdx + 0x48, 0x8d, 0x54, 0x16, 0x40, //0x00000093 leaq $64(%rsi,%rdx), %rdx + 0x48, 0x89, 0x55, 0xb0, //0x00000098 movq %rdx, $-80(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000009c movq $-1, %r11 + 0x45, 0x31, 0xc0, //0x000000a3 xorl %r8d, %r8d + 0xf3, 0x0f, 0x6f, 0x05, 0x52, 0xff, 0xff, 0xff, //0x000000a6 movdqu $-174(%rip), %xmm0 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x5a, 0xff, 0xff, 0xff, //0x000000ae movdqu $-166(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000b6 .p2align 4, 0x90 + //0x000000c0 LBB0_4 + 0xf3, 0x0f, 0x6f, 0x11, //0x000000c0 movdqu (%rcx), %xmm2 + 0xf3, 0x0f, 0x6f, 0x59, 0x10, //0x000000c4 movdqu $16(%rcx), %xmm3 + 0xf3, 0x0f, 0x6f, 0x61, 0x20, //0x000000c9 movdqu $32(%rcx), %xmm4 + 0xf3, 0x0f, 0x6f, 0x69, 0x30, //0x000000ce movdqu $48(%rcx), %xmm5 + 0x66, 0x0f, 0x6f, 0xf2, //0x000000d3 movdqa %xmm2, %xmm6 + 0x66, 0x0f, 0x74, 0xf0, //0x000000d7 pcmpeqb %xmm0, %xmm6 + 0x66, 0x0f, 0xd7, 0xde, //0x000000db pmovmskb %xmm6, %ebx + 0x66, 0x0f, 0x6f, 0xf3, //0x000000df movdqa %xmm3, %xmm6 + 0x66, 0x0f, 0x74, 0xf0, //0x000000e3 pcmpeqb %xmm0, %xmm6 + 0x66, 0x0f, 0xd7, 0xd6, //0x000000e7 pmovmskb %xmm6, %edx + 0x66, 0x0f, 0x6f, 0xf4, //0x000000eb movdqa %xmm4, %xmm6 + 0x66, 0x0f, 0x74, 0xf0, //0x000000ef pcmpeqb %xmm0, %xmm6 + 0x66, 0x0f, 0xd7, 0xf6, //0x000000f3 pmovmskb %xmm6, %esi + 0x66, 0x0f, 0x6f, 0xf5, //0x000000f7 movdqa %xmm5, %xmm6 + 0x66, 0x0f, 0x74, 0xf0, //0x000000fb pcmpeqb %xmm0, %xmm6 + 0x66, 0x0f, 0xd7, 0xfe, //0x000000ff pmovmskb %xmm6, %edi + 0x66, 0x0f, 0x74, 0xd1, //0x00000103 pcmpeqb %xmm1, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xfa, //0x00000107 pmovmskb %xmm2, %r15d + 0x66, 0x0f, 0x74, 0xd9, //0x0000010c pcmpeqb %xmm1, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xe3, //0x00000110 pmovmskb %xmm3, %r12d + 0x66, 0x0f, 0x74, 0xe1, //0x00000115 pcmpeqb %xmm1, %xmm4 + 0x66, 0x44, 0x0f, 0xd7, 0xf4, //0x00000119 pmovmskb %xmm4, %r14d + 0x66, 0x0f, 0x74, 0xe9, //0x0000011e pcmpeqb %xmm1, %xmm5 + 0x66, 0x44, 0x0f, 0xd7, 0xcd, //0x00000122 pmovmskb %xmm5, %r9d + 0x48, 0xc1, 0xe7, 0x30, //0x00000127 shlq $48, %rdi + 0x48, 0xc1, 0xe6, 0x20, //0x0000012b shlq $32, %rsi + 0x48, 0xc1, 0xe2, 0x10, //0x0000012f shlq $16, %rdx + 0x48, 0x09, 0xd3, //0x00000133 orq %rdx, %rbx + 0x48, 0x09, 0xf3, //0x00000136 orq %rsi, %rbx + 0x49, 0xc1, 0xe1, 0x30, //0x00000139 shlq $48, %r9 + 0x49, 0xc1, 0xe6, 0x20, //0x0000013d shlq $32, %r14 + 0x49, 0xc1, 0xe4, 0x10, //0x00000141 shlq $16, %r12 + 0x4d, 0x09, 0xe7, //0x00000145 orq %r12, %r15 + 0x4d, 0x09, 0xf7, //0x00000148 orq %r14, %r15 + 0x4d, 0x09, 0xcf, //0x0000014b orq %r9, %r15 + 0x49, 0x83, 0xfb, 0xff, //0x0000014e cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000152 jne LBB0_6 + 0x4d, 0x85, 0xff, //0x00000158 testq %r15, %r15 + 0x0f, 0x85, 0x2f, 0x00, 0x00, 0x00, //0x0000015b jne LBB0_9 + //0x00000161 LBB0_6 + 0x48, 0x09, 0xfb, //0x00000161 orq %rdi, %rbx + 0x4c, 0x89, 0xfa, //0x00000164 movq %r15, %rdx + 0x4c, 0x09, 0xc2, //0x00000167 orq %r8, %rdx + 0x0f, 0x85, 0x3d, 0x00, 0x00, 0x00, //0x0000016a jne LBB0_10 + //0x00000170 LBB0_7 + 0x48, 0x85, 0xdb, //0x00000170 testq %rbx, %rbx + 0x0f, 0x85, 0x86, 0x00, 0x00, 0x00, //0x00000173 jne LBB0_11 + //0x00000179 LBB0_8 + 0x48, 0x83, 0xc0, 0xc0, //0x00000179 addq $-64, %rax + 0x48, 0x83, 0xc1, 0x40, //0x0000017d addq $64, %rcx + 0x48, 0x83, 0xf8, 0x3f, //0x00000181 cmpq $63, %rax + 0x0f, 0x87, 0x35, 0xff, 0xff, 0xff, //0x00000185 ja LBB0_4 + 0xe9, 0x33, 0x03, 0x00, 0x00, //0x0000018b jmp LBB0_29 + //0x00000190 LBB0_9 + 0x48, 0x89, 0xca, //0x00000190 movq %rcx, %rdx + 0x48, 0x2b, 0x55, 0xd0, //0x00000193 subq $-48(%rbp), %rdx + 0x4d, 0x0f, 0xbc, 0xdf, //0x00000197 bsfq %r15, %r11 + 0x49, 0x01, 0xd3, //0x0000019b addq %rdx, %r11 + 0x48, 0x09, 0xfb, //0x0000019e orq %rdi, %rbx + 0x4c, 0x89, 0xfa, //0x000001a1 movq %r15, %rdx + 0x4c, 0x09, 0xc2, //0x000001a4 orq %r8, %rdx + 0x0f, 0x84, 0xc3, 0xff, 0xff, 0xff, //0x000001a7 je LBB0_7 + //0x000001ad LBB0_10 + 0x4c, 0x89, 0xc2, //0x000001ad movq %r8, %rdx + 0x48, 0xf7, 0xd2, //0x000001b0 notq %rdx + 0x4c, 0x21, 0xfa, //0x000001b3 andq %r15, %rdx + 0x4c, 0x8d, 0x0c, 0x12, //0x000001b6 leaq (%rdx,%rdx), %r9 + 0x4d, 0x09, 0xc1, //0x000001ba orq %r8, %r9 + 0x4c, 0x89, 0xcf, //0x000001bd movq %r9, %rdi + 0x48, 0xf7, 0xd7, //0x000001c0 notq %rdi + 0x4c, 0x21, 0xff, //0x000001c3 andq %r15, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000001c6 movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf7, //0x000001d0 andq %rsi, %rdi + 0x45, 0x31, 0xc0, //0x000001d3 xorl %r8d, %r8d + 0x48, 0x01, 0xd7, //0x000001d6 addq %rdx, %rdi + 0x41, 0x0f, 0x92, 0xc0, //0x000001d9 setb %r8b + 0x48, 0x01, 0xff, //0x000001dd addq %rdi, %rdi + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x000001e0 movabsq $6148914691236517205, %rdx + 0x48, 0x31, 0xd7, //0x000001ea xorq %rdx, %rdi + 0x4c, 0x21, 0xcf, //0x000001ed andq %r9, %rdi + 0x48, 0xf7, 0xd7, //0x000001f0 notq %rdi + 0x48, 0x21, 0xfb, //0x000001f3 andq %rdi, %rbx + 0x48, 0x85, 0xdb, //0x000001f6 testq %rbx, %rbx + 0x0f, 0x84, 0x7a, 0xff, 0xff, 0xff, //0x000001f9 je LBB0_8 + //0x000001ff LBB0_11 + 0x48, 0x0f, 0xbc, 0xc3, //0x000001ff bsfq %rbx, %rax + 0x48, 0x2b, 0x4d, 0xd0, //0x00000203 subq $-48(%rbp), %rcx + 0x48, 0x8d, 0x7c, 0x01, 0x01, //0x00000207 leaq $1(%rcx,%rax), %rdi + 0x48, 0x8b, 0x5d, 0xb8, //0x0000020c movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x00000210 movq $-64(%rbp), %rsi + 0xe9, 0x7c, 0x02, 0x00, 0x00, //0x00000214 jmp LBB0_27 + //0x00000219 LBB0_12 + 0x48, 0x8b, 0x4f, 0x08, //0x00000219 movq $8(%rdi), %rcx + 0x48, 0x89, 0xc8, //0x0000021d movq %rcx, %rax + 0x4c, 0x29, 0xd0, //0x00000220 subq %r10, %rax + 0x0f, 0x84, 0x14, 0x05, 0x00, 0x00, //0x00000223 je LBB0_55 + 0x48, 0x89, 0x4d, 0xc8, //0x00000229 movq %rcx, $-56(%rbp) + 0x48, 0x8b, 0x3f, //0x0000022d movq (%rdi), %rdi + 0x4a, 0x8d, 0x0c, 0x17, //0x00000230 leaq (%rdi,%r10), %rcx + 0x48, 0x83, 0xf8, 0x40, //0x00000234 cmpq $64, %rax + 0x48, 0x89, 0x7d, 0xd0, //0x00000238 movq %rdi, $-48(%rbp) + 0x0f, 0x82, 0x74, 0x05, 0x00, 0x00, //0x0000023c jb LBB0_60 + 0x41, 0x89, 0xc5, //0x00000242 movl %eax, %r13d + 0x41, 0x83, 0xe5, 0x3f, //0x00000245 andl $63, %r13d + 0x48, 0x8d, 0x50, 0xc0, //0x00000249 leaq $-64(%rax), %rdx + 0x48, 0x83, 0xe2, 0xc0, //0x0000024d andq $-64, %rdx + 0x4c, 0x01, 0xd2, //0x00000251 addq %r10, %rdx + 0x48, 0x8d, 0x54, 0x17, 0x40, //0x00000254 leaq $64(%rdi,%rdx), %rdx + 0x48, 0x89, 0x55, 0xb0, //0x00000259 movq %rdx, $-80(%rbp) + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000025d movq $-1, %r11 + 0x45, 0x31, 0xc9, //0x00000264 xorl %r9d, %r9d + 0xf3, 0x44, 0x0f, 0x6f, 0x05, 0x90, 0xfd, 0xff, 0xff, //0x00000267 movdqu $-624(%rip), %xmm8 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x0d, 0x98, 0xfd, 0xff, 0xff, //0x00000270 movdqu $-616(%rip), %xmm1 /* LCPI0_1+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x15, 0xa0, 0xfd, 0xff, 0xff, //0x00000278 movdqu $-608(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0x66, 0x0f, 0x76, 0xdb, //0x00000280 pcmpeqd %xmm3, %xmm3 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000284 .p2align 4, 0x90 + //0x00000290 LBB0_15 + 0xf3, 0x0f, 0x6f, 0x39, //0x00000290 movdqu (%rcx), %xmm7 + 0xf3, 0x0f, 0x6f, 0x71, 0x10, //0x00000294 movdqu $16(%rcx), %xmm6 + 0xf3, 0x0f, 0x6f, 0x69, 0x20, //0x00000299 movdqu $32(%rcx), %xmm5 + 0xf3, 0x0f, 0x6f, 0x61, 0x30, //0x0000029e movdqu $48(%rcx), %xmm4 + 0x66, 0x0f, 0x6f, 0xc7, //0x000002a3 movdqa %xmm7, %xmm0 + 0x66, 0x41, 0x0f, 0x74, 0xc0, //0x000002a7 pcmpeqb %xmm8, %xmm0 + 0x66, 0x0f, 0xd7, 0xd8, //0x000002ac pmovmskb %xmm0, %ebx + 0x66, 0x0f, 0x6f, 0xc6, //0x000002b0 movdqa %xmm6, %xmm0 + 0x66, 0x41, 0x0f, 0x74, 0xc0, //0x000002b4 pcmpeqb %xmm8, %xmm0 + 0x66, 0x0f, 0xd7, 0xf0, //0x000002b9 pmovmskb %xmm0, %esi + 0x66, 0x0f, 0x6f, 0xc5, //0x000002bd movdqa %xmm5, %xmm0 + 0x66, 0x41, 0x0f, 0x74, 0xc0, //0x000002c1 pcmpeqb %xmm8, %xmm0 + 0x66, 0x0f, 0xd7, 0xd0, //0x000002c6 pmovmskb %xmm0, %edx + 0x66, 0x0f, 0x6f, 0xc4, //0x000002ca movdqa %xmm4, %xmm0 + 0x66, 0x41, 0x0f, 0x74, 0xc0, //0x000002ce pcmpeqb %xmm8, %xmm0 + 0x66, 0x44, 0x0f, 0xd7, 0xe0, //0x000002d3 pmovmskb %xmm0, %r12d + 0x66, 0x0f, 0x6f, 0xc7, //0x000002d8 movdqa %xmm7, %xmm0 + 0x66, 0x0f, 0x74, 0xc1, //0x000002dc pcmpeqb %xmm1, %xmm0 + 0x66, 0x44, 0x0f, 0xd7, 0xf8, //0x000002e0 pmovmskb %xmm0, %r15d + 0x66, 0x0f, 0x6f, 0xc6, //0x000002e5 movdqa %xmm6, %xmm0 + 0x66, 0x0f, 0x74, 0xc1, //0x000002e9 pcmpeqb %xmm1, %xmm0 + 0x66, 0x0f, 0xd7, 0xf8, //0x000002ed pmovmskb %xmm0, %edi + 0x66, 0x0f, 0x6f, 0xc5, //0x000002f1 movdqa %xmm5, %xmm0 + 0x66, 0x0f, 0x74, 0xc1, //0x000002f5 pcmpeqb %xmm1, %xmm0 + 0x48, 0xc1, 0xe6, 0x10, //0x000002f9 shlq $16, %rsi + 0x48, 0x09, 0xf3, //0x000002fd orq %rsi, %rbx + 0x66, 0x0f, 0xd7, 0xf0, //0x00000300 pmovmskb %xmm0, %esi + 0x66, 0x0f, 0x6f, 0xc4, //0x00000304 movdqa %xmm4, %xmm0 + 0x66, 0x0f, 0x74, 0xc1, //0x00000308 pcmpeqb %xmm1, %xmm0 + 0x48, 0xc1, 0xe2, 0x20, //0x0000030c shlq $32, %rdx + 0x48, 0x09, 0xd3, //0x00000310 orq %rdx, %rbx + 0x66, 0x0f, 0xd7, 0xd0, //0x00000313 pmovmskb %xmm0, %edx + 0x66, 0x0f, 0x6f, 0xc2, //0x00000317 movdqa %xmm2, %xmm0 + 0x66, 0x0f, 0x64, 0xc7, //0x0000031b pcmpgtb %xmm7, %xmm0 + 0x66, 0x0f, 0x64, 0xfb, //0x0000031f pcmpgtb %xmm3, %xmm7 + 0x66, 0x0f, 0xdb, 0xf8, //0x00000323 pand %xmm0, %xmm7 + 0x48, 0xc1, 0xe7, 0x10, //0x00000327 shlq $16, %rdi + 0x49, 0x09, 0xff, //0x0000032b orq %rdi, %r15 + 0x66, 0x44, 0x0f, 0xd7, 0xf7, //0x0000032e pmovmskb %xmm7, %r14d + 0x66, 0x0f, 0x6f, 0xc2, //0x00000333 movdqa %xmm2, %xmm0 + 0x66, 0x0f, 0x64, 0xc6, //0x00000337 pcmpgtb %xmm6, %xmm0 + 0x66, 0x0f, 0x64, 0xf3, //0x0000033b pcmpgtb %xmm3, %xmm6 + 0x66, 0x0f, 0xdb, 0xf0, //0x0000033f pand %xmm0, %xmm6 + 0x48, 0xc1, 0xe6, 0x20, //0x00000343 shlq $32, %rsi + 0x49, 0x09, 0xf7, //0x00000347 orq %rsi, %r15 + 0x66, 0x0f, 0xd7, 0xf6, //0x0000034a pmovmskb %xmm6, %esi + 0x66, 0x0f, 0x6f, 0xc2, //0x0000034e movdqa %xmm2, %xmm0 + 0x66, 0x0f, 0x64, 0xc5, //0x00000352 pcmpgtb %xmm5, %xmm0 + 0x66, 0x0f, 0x64, 0xeb, //0x00000356 pcmpgtb %xmm3, %xmm5 + 0x66, 0x0f, 0xdb, 0xe8, //0x0000035a pand %xmm0, %xmm5 + 0x48, 0xc1, 0xe2, 0x30, //0x0000035e shlq $48, %rdx + 0x49, 0x09, 0xd7, //0x00000362 orq %rdx, %r15 + 0x66, 0x0f, 0xd7, 0xd5, //0x00000365 pmovmskb %xmm5, %edx + 0x66, 0x0f, 0x6f, 0xc2, //0x00000369 movdqa %xmm2, %xmm0 + 0x66, 0x0f, 0x64, 0xc4, //0x0000036d pcmpgtb %xmm4, %xmm0 + 0x66, 0x0f, 0x64, 0xe3, //0x00000371 pcmpgtb %xmm3, %xmm4 + 0x66, 0x0f, 0xdb, 0xe0, //0x00000375 pand %xmm0, %xmm4 + 0x48, 0xc1, 0xe6, 0x10, //0x00000379 shlq $16, %rsi + 0x49, 0x09, 0xf6, //0x0000037d orq %rsi, %r14 + 0x66, 0x44, 0x0f, 0xd7, 0xc4, //0x00000380 pmovmskb %xmm4, %r8d + 0x49, 0xc1, 0xe4, 0x30, //0x00000385 shlq $48, %r12 + 0x48, 0xc1, 0xe2, 0x20, //0x00000389 shlq $32, %rdx + 0x49, 0x83, 0xfb, 0xff, //0x0000038d cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x00000391 jne LBB0_17 + 0x4d, 0x85, 0xff, //0x00000397 testq %r15, %r15 + 0x0f, 0x85, 0x9c, 0x00, 0x00, 0x00, //0x0000039a jne LBB0_22 + //0x000003a0 LBB0_17 + 0x49, 0xc1, 0xe0, 0x30, //0x000003a0 shlq $48, %r8 + 0x49, 0x09, 0xd6, //0x000003a4 orq %rdx, %r14 + 0x4c, 0x09, 0xe3, //0x000003a7 orq %r12, %rbx + 0x4c, 0x89, 0xfa, //0x000003aa movq %r15, %rdx + 0x4c, 0x09, 0xca, //0x000003ad orq %r9, %rdx + 0x0f, 0x85, 0x2c, 0x00, 0x00, 0x00, //0x000003b0 jne LBB0_21 + 0x4d, 0x09, 0xc6, //0x000003b6 orq %r8, %r14 + 0x48, 0x85, 0xdb, //0x000003b9 testq %rbx, %rbx + 0x0f, 0x85, 0x8d, 0x00, 0x00, 0x00, //0x000003bc jne LBB0_23 + //0x000003c2 LBB0_19 + 0x4d, 0x85, 0xf6, //0x000003c2 testq %r14, %r14 + 0x0f, 0x85, 0x8f, 0x01, 0x00, 0x00, //0x000003c5 jne LBB0_35 + 0x48, 0x83, 0xc0, 0xc0, //0x000003cb addq $-64, %rax + 0x48, 0x83, 0xc1, 0x40, //0x000003cf addq $64, %rcx + 0x48, 0x83, 0xf8, 0x3f, //0x000003d3 cmpq $63, %rax + 0x0f, 0x87, 0xb3, 0xfe, 0xff, 0xff, //0x000003d7 ja LBB0_15 + 0xe9, 0x90, 0x01, 0x00, 0x00, //0x000003dd jmp LBB0_37 + //0x000003e2 LBB0_21 + 0x4c, 0x89, 0xca, //0x000003e2 movq %r9, %rdx + 0x48, 0xf7, 0xd2, //0x000003e5 notq %rdx + 0x4c, 0x21, 0xfa, //0x000003e8 andq %r15, %rdx + 0x4c, 0x8d, 0x24, 0x12, //0x000003eb leaq (%rdx,%rdx), %r12 + 0x4d, 0x09, 0xcc, //0x000003ef orq %r9, %r12 + 0x4c, 0x89, 0xe7, //0x000003f2 movq %r12, %rdi + 0x48, 0xf7, 0xd7, //0x000003f5 notq %rdi + 0x4c, 0x21, 0xff, //0x000003f8 andq %r15, %rdi + 0x48, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, //0x000003fb movabsq $-6148914691236517206, %rsi + 0x48, 0x21, 0xf7, //0x00000405 andq %rsi, %rdi + 0x45, 0x31, 0xc9, //0x00000408 xorl %r9d, %r9d + 0x48, 0x01, 0xd7, //0x0000040b addq %rdx, %rdi + 0x41, 0x0f, 0x92, 0xc1, //0x0000040e setb %r9b + 0x48, 0x01, 0xff, //0x00000412 addq %rdi, %rdi + 0x48, 0xba, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, //0x00000415 movabsq $6148914691236517205, %rdx + 0x48, 0x31, 0xd7, //0x0000041f xorq %rdx, %rdi + 0x4c, 0x21, 0xe7, //0x00000422 andq %r12, %rdi + 0x48, 0xf7, 0xd7, //0x00000425 notq %rdi + 0x48, 0x21, 0xfb, //0x00000428 andq %rdi, %rbx + 0x4d, 0x09, 0xc6, //0x0000042b orq %r8, %r14 + 0x48, 0x85, 0xdb, //0x0000042e testq %rbx, %rbx + 0x0f, 0x84, 0x8b, 0xff, 0xff, 0xff, //0x00000431 je LBB0_19 + 0xe9, 0x13, 0x00, 0x00, 0x00, //0x00000437 jmp LBB0_23 + //0x0000043c LBB0_22 + 0x48, 0x89, 0xce, //0x0000043c movq %rcx, %rsi + 0x48, 0x2b, 0x75, 0xd0, //0x0000043f subq $-48(%rbp), %rsi + 0x4d, 0x0f, 0xbc, 0xdf, //0x00000443 bsfq %r15, %r11 + 0x49, 0x01, 0xf3, //0x00000447 addq %rsi, %r11 + 0xe9, 0x51, 0xff, 0xff, 0xff, //0x0000044a jmp LBB0_17 + //0x0000044f LBB0_23 + 0x48, 0x0f, 0xbc, 0xc3, //0x0000044f bsfq %rbx, %rax + 0x4d, 0x85, 0xf6, //0x00000453 testq %r14, %r14 + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000456 je LBB0_25 + 0x49, 0x0f, 0xbc, 0xd6, //0x0000045c bsfq %r14, %rdx + 0x48, 0x8b, 0x5d, 0xb8, //0x00000460 movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x00000464 movq $-64(%rbp), %rsi + 0x48, 0x39, 0xc2, //0x00000468 cmpq %rax, %rdx + 0x0f, 0x83, 0x1b, 0x00, 0x00, 0x00, //0x0000046b jae LBB0_26 + 0xe9, 0x91, 0x04, 0x00, 0x00, //0x00000471 jmp LBB0_80 + //0x00000476 LBB0_25 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00000476 movl $64, %edx + 0x48, 0x8b, 0x5d, 0xb8, //0x0000047b movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x0000047f movq $-64(%rbp), %rsi + 0x48, 0x39, 0xc2, //0x00000483 cmpq %rax, %rdx + 0x0f, 0x82, 0x7b, 0x04, 0x00, 0x00, //0x00000486 jb LBB0_80 + //0x0000048c LBB0_26 + 0x48, 0x2b, 0x4d, 0xd0, //0x0000048c subq $-48(%rbp), %rcx + 0x48, 0x8d, 0x7c, 0x01, 0x01, //0x00000490 leaq $1(%rcx,%rax), %rdi + //0x00000495 LBB0_27 + 0x48, 0x85, 0xff, //0x00000495 testq %rdi, %rdi + 0x0f, 0x88, 0x70, 0x04, 0x00, 0x00, //0x00000498 js LBB0_81 + 0x48, 0x89, 0x3e, //0x0000049e movq %rdi, (%rsi) + 0x4c, 0x89, 0x53, 0x10, //0x000004a1 movq %r10, $16(%rbx) + 0x48, 0xc7, 0x03, 0x07, 0x00, 0x00, 0x00, //0x000004a5 movq $7, (%rbx) + 0x49, 0x39, 0xfb, //0x000004ac cmpq %rdi, %r11 + 0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000004af movq $-1, %rax + 0x49, 0x0f, 0x4c, 0xc3, //0x000004b6 cmovlq %r11, %rax + 0x48, 0x89, 0x43, 0x18, //0x000004ba movq %rax, $24(%rbx) + 0xe9, 0x55, 0x04, 0x00, 0x00, //0x000004be jmp LBB0_83 + //0x000004c3 LBB0_29 + 0x48, 0x8b, 0x4d, 0xb0, //0x000004c3 movq $-80(%rbp), %rcx + 0x4c, 0x89, 0xe8, //0x000004c7 movq %r13, %rax + 0x48, 0x83, 0xf8, 0x20, //0x000004ca cmpq $32, %rax + 0x0f, 0x82, 0x89, 0x02, 0x00, 0x00, //0x000004ce jb LBB0_57 + //0x000004d4 LBB0_30 + 0xf3, 0x0f, 0x6f, 0x01, //0x000004d4 movdqu (%rcx), %xmm0 + 0xf3, 0x0f, 0x6f, 0x49, 0x10, //0x000004d8 movdqu $16(%rcx), %xmm1 + 0xf3, 0x0f, 0x6f, 0x15, 0x1b, 0xfb, 0xff, 0xff, //0x000004dd movdqu $-1253(%rip), %xmm2 /* LCPI0_0+0(%rip) */ + 0xf3, 0x0f, 0x6f, 0x1d, 0x23, 0xfb, 0xff, 0xff, //0x000004e5 movdqu $-1245(%rip), %xmm3 /* LCPI0_1+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xe0, //0x000004ed movdqa %xmm0, %xmm4 + 0x66, 0x0f, 0x74, 0xe2, //0x000004f1 pcmpeqb %xmm2, %xmm4 + 0x66, 0x0f, 0xd7, 0xd4, //0x000004f5 pmovmskb %xmm4, %edx + 0x66, 0x0f, 0x74, 0xd1, //0x000004f9 pcmpeqb %xmm1, %xmm2 + 0x66, 0x44, 0x0f, 0xd7, 0xfa, //0x000004fd pmovmskb %xmm2, %r15d + 0x66, 0x0f, 0x74, 0xc3, //0x00000502 pcmpeqb %xmm3, %xmm0 + 0x66, 0x44, 0x0f, 0xd7, 0xf0, //0x00000506 pmovmskb %xmm0, %r14d + 0x66, 0x0f, 0x74, 0xcb, //0x0000050b pcmpeqb %xmm3, %xmm1 + 0x66, 0x0f, 0xd7, 0xf9, //0x0000050f pmovmskb %xmm1, %edi + 0x49, 0xc1, 0xe7, 0x10, //0x00000513 shlq $16, %r15 + 0x48, 0xc1, 0xe7, 0x10, //0x00000517 shlq $16, %rdi + 0x49, 0x09, 0xfe, //0x0000051b orq %rdi, %r14 + 0x49, 0x83, 0xfb, 0xff, //0x0000051e cmpq $-1, %r11 + 0x0f, 0x85, 0x1b, 0x01, 0x00, 0x00, //0x00000522 jne LBB0_43 + 0x4d, 0x85, 0xf6, //0x00000528 testq %r14, %r14 + 0x48, 0x8b, 0x5d, 0xb8, //0x0000052b movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x0000052f movq $-64(%rbp), %rsi + 0x0f, 0x85, 0xee, 0x03, 0x00, 0x00, //0x00000533 jne LBB0_84 + 0x49, 0x09, 0xd7, //0x00000539 orq %rdx, %r15 + 0x4c, 0x89, 0xf2, //0x0000053c movq %r14, %rdx + 0x4c, 0x09, 0xc2, //0x0000053f orq %r8, %rdx + 0x0f, 0x85, 0x12, 0x01, 0x00, 0x00, //0x00000542 jne LBB0_44 + //0x00000548 LBB0_33 + 0x4d, 0x85, 0xff, //0x00000548 testq %r15, %r15 + 0x0f, 0x84, 0x4b, 0x01, 0x00, 0x00, //0x0000054b je LBB0_45 + //0x00000551 LBB0_34 + 0x49, 0x0f, 0xbc, 0xc7, //0x00000551 bsfq %r15, %rax + 0xe9, 0x32, 0xff, 0xff, 0xff, //0x00000555 jmp LBB0_26 + //0x0000055a LBB0_35 + 0x48, 0xc7, 0xc7, 0xfe, 0xff, 0xff, 0xff, //0x0000055a movq $-2, %rdi + //0x00000561 LBB0_36 + 0x4c, 0x8b, 0x55, 0xc8, //0x00000561 movq $-56(%rbp), %r10 + 0x48, 0x8b, 0x5d, 0xb8, //0x00000565 movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x00000569 movq $-64(%rbp), %rsi + 0xe9, 0xa0, 0x03, 0x00, 0x00, //0x0000056d jmp LBB0_82 + //0x00000572 LBB0_37 + 0x48, 0x8b, 0x4d, 0xb0, //0x00000572 movq $-80(%rbp), %rcx + 0x4c, 0x89, 0xe8, //0x00000576 movq %r13, %rax + 0x48, 0x8b, 0x5d, 0xb8, //0x00000579 movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x0000057d movq $-64(%rbp), %rsi + 0x48, 0x83, 0xf8, 0x20, //0x00000581 cmpq $32, %rax + 0x0f, 0x82, 0xc0, 0x02, 0x00, 0x00, //0x00000585 jb LBB0_68 + //0x0000058b LBB0_38 + 0xf3, 0x0f, 0x6f, 0x01, //0x0000058b movdqu (%rcx), %xmm0 + 0xf3, 0x0f, 0x6f, 0x49, 0x10, //0x0000058f movdqu $16(%rcx), %xmm1 + 0xf3, 0x0f, 0x6f, 0x15, 0x64, 0xfa, 0xff, 0xff, //0x00000594 movdqu $-1436(%rip), %xmm2 /* LCPI0_0+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xd8, //0x0000059c movdqa %xmm0, %xmm3 + 0x66, 0x0f, 0x74, 0xda, //0x000005a0 pcmpeqb %xmm2, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xe3, //0x000005a4 pmovmskb %xmm3, %r12d + 0x66, 0x0f, 0x74, 0xd1, //0x000005a9 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xfa, //0x000005ad pmovmskb %xmm2, %edi + 0xf3, 0x0f, 0x6f, 0x15, 0x57, 0xfa, 0xff, 0xff, //0x000005b1 movdqu $-1449(%rip), %xmm2 /* LCPI0_1+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xd8, //0x000005b9 movdqa %xmm0, %xmm3 + 0x66, 0x0f, 0x74, 0xda, //0x000005bd pcmpeqb %xmm2, %xmm3 + 0x66, 0x44, 0x0f, 0xd7, 0xfb, //0x000005c1 pmovmskb %xmm3, %r15d + 0x66, 0x0f, 0x74, 0xd1, //0x000005c6 pcmpeqb %xmm1, %xmm2 + 0x66, 0x0f, 0xd7, 0xd2, //0x000005ca pmovmskb %xmm2, %edx + 0xf3, 0x0f, 0x6f, 0x15, 0x4a, 0xfa, 0xff, 0xff, //0x000005ce movdqu $-1462(%rip), %xmm2 /* LCPI0_2+0(%rip) */ + 0x66, 0x0f, 0x6f, 0xda, //0x000005d6 movdqa %xmm2, %xmm3 + 0x66, 0x0f, 0x64, 0xd8, //0x000005da pcmpgtb %xmm0, %xmm3 + 0x66, 0x0f, 0x76, 0xe4, //0x000005de pcmpeqd %xmm4, %xmm4 + 0x66, 0x0f, 0x64, 0xc4, //0x000005e2 pcmpgtb %xmm4, %xmm0 + 0x66, 0x0f, 0xdb, 0xc3, //0x000005e6 pand %xmm3, %xmm0 + 0x66, 0x0f, 0x64, 0xd1, //0x000005ea pcmpgtb %xmm1, %xmm2 + 0x66, 0x0f, 0x64, 0xcc, //0x000005ee pcmpgtb %xmm4, %xmm1 + 0x66, 0x0f, 0xdb, 0xca, //0x000005f2 pand %xmm2, %xmm1 + 0x66, 0x44, 0x0f, 0xd7, 0xf1, //0x000005f6 pmovmskb %xmm1, %r14d + 0x48, 0xc1, 0xe7, 0x10, //0x000005fb shlq $16, %rdi + 0x48, 0xc1, 0xe2, 0x10, //0x000005ff shlq $16, %rdx + 0x49, 0x09, 0xd7, //0x00000603 orq %rdx, %r15 + 0x49, 0x83, 0xfb, 0xff, //0x00000606 cmpq $-1, %r11 + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x0000060a jne LBB0_40 + 0x4d, 0x85, 0xff, //0x00000610 testq %r15, %r15 + 0x0f, 0x85, 0x30, 0x03, 0x00, 0x00, //0x00000613 jne LBB0_85 + //0x00000619 LBB0_40 + 0x66, 0x44, 0x0f, 0xd7, 0xc0, //0x00000619 pmovmskb %xmm0, %r8d + 0x4c, 0x09, 0xe7, //0x0000061e orq %r12, %rdi + 0x4c, 0x89, 0xfa, //0x00000621 movq %r15, %rdx + 0x4c, 0x09, 0xca, //0x00000624 orq %r9, %rdx + 0x0f, 0x85, 0xa2, 0x01, 0x00, 0x00, //0x00000627 jne LBB0_61 + 0x49, 0xc1, 0xe6, 0x10, //0x0000062d shlq $16, %r14 + 0x48, 0x85, 0xff, //0x00000631 testq %rdi, %rdi + 0x0f, 0x84, 0xdd, 0x01, 0x00, 0x00, //0x00000634 je LBB0_62 + //0x0000063a LBB0_42 + 0x48, 0x0f, 0xbc, 0xd7, //0x0000063a bsfq %rdi, %rdx + 0xe9, 0xd9, 0x01, 0x00, 0x00, //0x0000063e jmp LBB0_63 + //0x00000643 LBB0_43 + 0x48, 0x8b, 0x5d, 0xb8, //0x00000643 movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x00000647 movq $-64(%rbp), %rsi + 0x49, 0x09, 0xd7, //0x0000064b orq %rdx, %r15 + 0x4c, 0x89, 0xf2, //0x0000064e movq %r14, %rdx + 0x4c, 0x09, 0xc2, //0x00000651 orq %r8, %rdx + 0x0f, 0x84, 0xee, 0xfe, 0xff, 0xff, //0x00000654 je LBB0_33 + //0x0000065a LBB0_44 + 0x44, 0x89, 0xc2, //0x0000065a movl %r8d, %edx + 0xf7, 0xd2, //0x0000065d notl %edx + 0x44, 0x21, 0xf2, //0x0000065f andl %r14d, %edx + 0x44, 0x8d, 0x0c, 0x12, //0x00000662 leal (%rdx,%rdx), %r9d + 0x45, 0x09, 0xc1, //0x00000666 orl %r8d, %r9d + 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000669 movl $2863311530, %edi + 0x44, 0x31, 0xcf, //0x0000066e xorl %r9d, %edi + 0x44, 0x21, 0xf7, //0x00000671 andl %r14d, %edi + 0x81, 0xe7, 0xaa, 0xaa, 0xaa, 0xaa, //0x00000674 andl $-1431655766, %edi + 0x45, 0x31, 0xc0, //0x0000067a xorl %r8d, %r8d + 0x01, 0xd7, //0x0000067d addl %edx, %edi + 0x41, 0x0f, 0x92, 0xc0, //0x0000067f setb %r8b + 0x01, 0xff, //0x00000683 addl %edi, %edi + 0x81, 0xf7, 0x55, 0x55, 0x55, 0x55, //0x00000685 xorl $1431655765, %edi + 0x44, 0x21, 0xcf, //0x0000068b andl %r9d, %edi + 0xf7, 0xd7, //0x0000068e notl %edi + 0x41, 0x21, 0xff, //0x00000690 andl %edi, %r15d + 0x4d, 0x85, 0xff, //0x00000693 testq %r15, %r15 + 0x0f, 0x85, 0xb5, 0xfe, 0xff, 0xff, //0x00000696 jne LBB0_34 + //0x0000069c LBB0_45 + 0x48, 0x83, 0xc1, 0x20, //0x0000069c addq $32, %rcx + 0x48, 0x83, 0xc0, 0xe0, //0x000006a0 addq $-32, %rax + 0x4d, 0x85, 0xc0, //0x000006a4 testq %r8, %r8 + 0x0f, 0x85, 0xc1, 0x00, 0x00, 0x00, //0x000006a7 jne LBB0_58 + //0x000006ad LBB0_46 + 0x4d, 0x89, 0xd8, //0x000006ad movq %r11, %r8 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000006b0 movq $-1, %rdi + 0x48, 0x85, 0xc0, //0x000006b7 testq %rax, %rax + 0x0f, 0x84, 0x4e, 0x02, 0x00, 0x00, //0x000006ba je LBB0_81 + //0x000006c0 LBB0_47 + 0x4c, 0x8b, 0x75, 0xd0, //0x000006c0 movq $-48(%rbp), %r14 + 0x49, 0xf7, 0xd6, //0x000006c4 notq %r14 + //0x000006c7 LBB0_48 + 0x4c, 0x8d, 0x79, 0x01, //0x000006c7 leaq $1(%rcx), %r15 + 0x0f, 0xb6, 0x11, //0x000006cb movzbl (%rcx), %edx + 0x80, 0xfa, 0x22, //0x000006ce cmpb $34, %dl + 0x0f, 0x84, 0x5a, 0x00, 0x00, 0x00, //0x000006d1 je LBB0_53 + 0x4c, 0x8d, 0x48, 0xff, //0x000006d7 leaq $-1(%rax), %r9 + 0x80, 0xfa, 0x5c, //0x000006db cmpb $92, %dl + 0x0f, 0x84, 0x14, 0x00, 0x00, 0x00, //0x000006de je LBB0_51 + 0x4c, 0x89, 0xc8, //0x000006e4 movq %r9, %rax + 0x4c, 0x89, 0xf9, //0x000006e7 movq %r15, %rcx + 0x4d, 0x85, 0xc9, //0x000006ea testq %r9, %r9 + 0x0f, 0x85, 0xd4, 0xff, 0xff, 0xff, //0x000006ed jne LBB0_48 + 0xe9, 0x16, 0x02, 0x00, 0x00, //0x000006f3 jmp LBB0_81 + //0x000006f8 LBB0_51 + 0x4d, 0x85, 0xc9, //0x000006f8 testq %r9, %r9 + 0x0f, 0x84, 0x60, 0xfe, 0xff, 0xff, //0x000006fb je LBB0_36 + 0x4d, 0x01, 0xf7, //0x00000701 addq %r14, %r15 + 0x49, 0x83, 0xf8, 0xff, //0x00000704 cmpq $-1, %r8 + 0x4d, 0x0f, 0x44, 0xdf, //0x00000708 cmoveq %r15, %r11 + 0x4d, 0x0f, 0x44, 0xc7, //0x0000070c cmoveq %r15, %r8 + 0x48, 0x83, 0xc1, 0x02, //0x00000710 addq $2, %rcx + 0x48, 0x83, 0xc0, 0xfe, //0x00000714 addq $-2, %rax + 0x49, 0x89, 0xc1, //0x00000718 movq %rax, %r9 + 0x48, 0x8b, 0x5d, 0xb8, //0x0000071b movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x0000071f movq $-64(%rbp), %rsi + 0x4d, 0x85, 0xc9, //0x00000723 testq %r9, %r9 + 0x0f, 0x85, 0x9b, 0xff, 0xff, 0xff, //0x00000726 jne LBB0_48 + 0xe9, 0xdd, 0x01, 0x00, 0x00, //0x0000072c jmp LBB0_81 + //0x00000731 LBB0_53 + 0x4c, 0x2b, 0x7d, 0xd0, //0x00000731 subq $-48(%rbp), %r15 + 0x4c, 0x89, 0xff, //0x00000735 movq %r15, %rdi + 0xe9, 0x58, 0xfd, 0xff, 0xff, //0x00000738 jmp LBB0_27 + //0x0000073d LBB0_55 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x0000073d movq $-1, %rdi + 0xe9, 0xc9, 0x01, 0x00, 0x00, //0x00000744 jmp LBB0_82 + //0x00000749 LBB0_56 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000749 movq $-1, %r11 + 0x45, 0x31, 0xc0, //0x00000750 xorl %r8d, %r8d + 0x48, 0x83, 0xf8, 0x20, //0x00000753 cmpq $32, %rax + 0x0f, 0x83, 0x77, 0xfd, 0xff, 0xff, //0x00000757 jae LBB0_30 + //0x0000075d LBB0_57 + 0x48, 0x8b, 0x5d, 0xb8, //0x0000075d movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x00000761 movq $-64(%rbp), %rsi + 0x4d, 0x85, 0xc0, //0x00000765 testq %r8, %r8 + 0x0f, 0x84, 0x3f, 0xff, 0xff, 0xff, //0x00000768 je LBB0_46 + //0x0000076e LBB0_58 + 0x48, 0x85, 0xc0, //0x0000076e testq %rax, %rax + 0x0f, 0x84, 0x25, 0x02, 0x00, 0x00, //0x00000771 je LBB0_88 + 0x4c, 0x8b, 0x45, 0xd0, //0x00000777 movq $-48(%rbp), %r8 + 0x49, 0xf7, 0xd0, //0x0000077b notq %r8 + 0x49, 0x01, 0xc8, //0x0000077e addq %rcx, %r8 + 0x49, 0x83, 0xfb, 0xff, //0x00000781 cmpq $-1, %r11 + 0x4c, 0x89, 0xda, //0x00000785 movq %r11, %rdx + 0x49, 0x0f, 0x44, 0xd0, //0x00000788 cmoveq %r8, %rdx + 0x4d, 0x0f, 0x45, 0xc3, //0x0000078c cmovneq %r11, %r8 + 0x48, 0xff, 0xc1, //0x00000790 incq %rcx + 0x48, 0xff, 0xc8, //0x00000793 decq %rax + 0x49, 0x89, 0xd3, //0x00000796 movq %rdx, %r11 + 0x48, 0x8b, 0x5d, 0xb8, //0x00000799 movq $-72(%rbp), %rbx + 0x48, 0x8b, 0x75, 0xc0, //0x0000079d movq $-64(%rbp), %rsi + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000007a1 movq $-1, %rdi + 0x48, 0x85, 0xc0, //0x000007a8 testq %rax, %rax + 0x0f, 0x85, 0x0f, 0xff, 0xff, 0xff, //0x000007ab jne LBB0_47 + 0xe9, 0x58, 0x01, 0x00, 0x00, //0x000007b1 jmp LBB0_81 + //0x000007b6 LBB0_60 + 0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x000007b6 movq $-1, %r11 + 0x45, 0x31, 0xc9, //0x000007bd xorl %r9d, %r9d + 0x48, 0x83, 0xf8, 0x20, //0x000007c0 cmpq $32, %rax + 0x0f, 0x83, 0xc1, 0xfd, 0xff, 0xff, //0x000007c4 jae LBB0_38 + 0xe9, 0x7c, 0x00, 0x00, 0x00, //0x000007ca jmp LBB0_68 + //0x000007cf LBB0_61 + 0x45, 0x89, 0xcd, //0x000007cf movl %r9d, %r13d + 0x41, 0xf7, 0xd5, //0x000007d2 notl %r13d + 0x45, 0x21, 0xfd, //0x000007d5 andl %r15d, %r13d + 0x47, 0x8d, 0x64, 0x2d, 0x00, //0x000007d8 leal (%r13,%r13), %r12d + 0x45, 0x09, 0xcc, //0x000007dd orl %r9d, %r12d + 0xba, 0xaa, 0xaa, 0xaa, 0xaa, //0x000007e0 movl $2863311530, %edx + 0x44, 0x31, 0xe2, //0x000007e5 xorl %r12d, %edx + 0x44, 0x21, 0xfa, //0x000007e8 andl %r15d, %edx + 0x81, 0xe2, 0xaa, 0xaa, 0xaa, 0xaa, //0x000007eb andl $-1431655766, %edx + 0x45, 0x31, 0xc9, //0x000007f1 xorl %r9d, %r9d + 0x44, 0x01, 0xea, //0x000007f4 addl %r13d, %edx + 0x41, 0x0f, 0x92, 0xc1, //0x000007f7 setb %r9b + 0x01, 0xd2, //0x000007fb addl %edx, %edx + 0x81, 0xf2, 0x55, 0x55, 0x55, 0x55, //0x000007fd xorl $1431655765, %edx + 0x44, 0x21, 0xe2, //0x00000803 andl %r12d, %edx + 0xf7, 0xd2, //0x00000806 notl %edx + 0x21, 0xd7, //0x00000808 andl %edx, %edi + 0x49, 0xc1, 0xe6, 0x10, //0x0000080a shlq $16, %r14 + 0x48, 0x85, 0xff, //0x0000080e testq %rdi, %rdi + 0x0f, 0x85, 0x23, 0xfe, 0xff, 0xff, //0x00000811 jne LBB0_42 + //0x00000817 LBB0_62 + 0xba, 0x40, 0x00, 0x00, 0x00, //0x00000817 movl $64, %edx + //0x0000081c LBB0_63 + 0x4d, 0x09, 0xc6, //0x0000081c orq %r8, %r14 + 0x48, 0x85, 0xff, //0x0000081f testq %rdi, %rdi + 0x0f, 0x84, 0x12, 0x00, 0x00, 0x00, //0x00000822 je LBB0_66 + 0x4d, 0x85, 0xf6, //0x00000828 testq %r14, %r14 + 0x0f, 0x84, 0xab, 0x00, 0x00, 0x00, //0x0000082b je LBB0_76 + 0x49, 0x0f, 0xbc, 0xc6, //0x00000831 bsfq %r14, %rax + 0xe9, 0xa7, 0x00, 0x00, 0x00, //0x00000835 jmp LBB0_77 + //0x0000083a LBB0_66 + 0x4d, 0x85, 0xf6, //0x0000083a testq %r14, %r14 + 0x0f, 0x85, 0xc4, 0x00, 0x00, 0x00, //0x0000083d jne LBB0_80 + 0x48, 0x83, 0xc1, 0x20, //0x00000843 addq $32, %rcx + 0x48, 0x83, 0xc0, 0xe0, //0x00000847 addq $-32, %rax + //0x0000084b LBB0_68 + 0x4d, 0x85, 0xc9, //0x0000084b testq %r9, %r9 + 0x0f, 0x85, 0x08, 0x01, 0x00, 0x00, //0x0000084e jne LBB0_86 + 0x4d, 0x89, 0xd8, //0x00000854 movq %r11, %r8 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00000857 movq $-1, %rdi + 0x48, 0x85, 0xc0, //0x0000085e testq %rax, %rax + 0x0f, 0x84, 0xa7, 0x00, 0x00, 0x00, //0x00000861 je LBB0_81 + //0x00000867 LBB0_70 + 0x0f, 0xb6, 0x11, //0x00000867 movzbl (%rcx), %edx + 0x80, 0xfa, 0x22, //0x0000086a cmpb $34, %dl + 0x0f, 0x84, 0x85, 0x00, 0x00, 0x00, //0x0000086d je LBB0_79 + 0x80, 0xfa, 0x5c, //0x00000873 cmpb $92, %dl + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x00000876 je LBB0_74 + 0x80, 0xfa, 0x20, //0x0000087c cmpb $32, %dl + 0x0f, 0x82, 0x82, 0x00, 0x00, 0x00, //0x0000087f jb LBB0_80 + 0x49, 0xc7, 0xc1, 0xff, 0xff, 0xff, 0xff, //0x00000885 movq $-1, %r9 + 0xba, 0x01, 0x00, 0x00, 0x00, //0x0000088c movl $1, %edx + 0x48, 0x01, 0xd1, //0x00000891 addq %rdx, %rcx + 0x4c, 0x01, 0xc8, //0x00000894 addq %r9, %rax + 0x0f, 0x85, 0xca, 0xff, 0xff, 0xff, //0x00000897 jne LBB0_70 + 0xe9, 0x6c, 0x00, 0x00, 0x00, //0x0000089d jmp LBB0_81 + //0x000008a2 LBB0_74 + 0x48, 0x83, 0xf8, 0x01, //0x000008a2 cmpq $1, %rax + 0x0f, 0x84, 0x62, 0x00, 0x00, 0x00, //0x000008a6 je LBB0_81 + 0x48, 0x89, 0xca, //0x000008ac movq %rcx, %rdx + 0x48, 0x2b, 0x55, 0xd0, //0x000008af subq $-48(%rbp), %rdx + 0x49, 0x83, 0xf8, 0xff, //0x000008b3 cmpq $-1, %r8 + 0x4c, 0x0f, 0x44, 0xda, //0x000008b7 cmoveq %rdx, %r11 + 0x4c, 0x0f, 0x44, 0xc2, //0x000008bb cmoveq %rdx, %r8 + 0x49, 0xc7, 0xc1, 0xfe, 0xff, 0xff, 0xff, //0x000008bf movq $-2, %r9 + 0xba, 0x02, 0x00, 0x00, 0x00, //0x000008c6 movl $2, %edx + 0x48, 0x01, 0xd1, //0x000008cb addq %rdx, %rcx + 0x4c, 0x01, 0xc8, //0x000008ce addq %r9, %rax + 0x0f, 0x85, 0x90, 0xff, 0xff, 0xff, //0x000008d1 jne LBB0_70 + 0xe9, 0x32, 0x00, 0x00, 0x00, //0x000008d7 jmp LBB0_81 + //0x000008dc LBB0_76 + 0xb8, 0x40, 0x00, 0x00, 0x00, //0x000008dc movl $64, %eax + //0x000008e1 LBB0_77 + 0x48, 0x39, 0xd0, //0x000008e1 cmpq %rdx, %rax + 0x0f, 0x82, 0x1d, 0x00, 0x00, 0x00, //0x000008e4 jb LBB0_80 + 0x48, 0x2b, 0x4d, 0xd0, //0x000008ea subq $-48(%rbp), %rcx + 0x48, 0x8d, 0x7c, 0x11, 0x01, //0x000008ee leaq $1(%rcx,%rdx), %rdi + 0xe9, 0x9d, 0xfb, 0xff, 0xff, //0x000008f3 jmp LBB0_27 + //0x000008f8 LBB0_79 + 0x48, 0x2b, 0x4d, 0xd0, //0x000008f8 subq $-48(%rbp), %rcx + 0x48, 0xff, 0xc1, //0x000008fc incq %rcx + 0x48, 0x89, 0xcf, //0x000008ff movq %rcx, %rdi + 0xe9, 0x8e, 0xfb, 0xff, 0xff, //0x00000902 jmp LBB0_27 + //0x00000907 LBB0_80 + 0x48, 0xc7, 0xc7, 0xfe, 0xff, 0xff, 0xff, //0x00000907 movq $-2, %rdi + //0x0000090e LBB0_81 + 0x4c, 0x8b, 0x55, 0xc8, //0x0000090e movq $-56(%rbp), %r10 + //0x00000912 LBB0_82 + 0x4c, 0x89, 0x16, //0x00000912 movq %r10, (%rsi) + 0x48, 0x89, 0x3b, //0x00000915 movq %rdi, (%rbx) + //0x00000918 LBB0_83 + 0x48, 0x83, 0xc4, 0x28, //0x00000918 addq $40, %rsp + 0x5b, //0x0000091c popq %rbx + 0x41, 0x5c, //0x0000091d popq %r12 + 0x41, 0x5d, //0x0000091f popq %r13 + 0x41, 0x5e, //0x00000921 popq %r14 + 0x41, 0x5f, //0x00000923 popq %r15 + 0x5d, //0x00000925 popq %rbp + 0xc3, //0x00000926 retq + //0x00000927 LBB0_84 + 0x48, 0x89, 0xcf, //0x00000927 movq %rcx, %rdi + 0x48, 0x2b, 0x7d, 0xd0, //0x0000092a subq $-48(%rbp), %rdi + 0x4d, 0x0f, 0xbc, 0xde, //0x0000092e bsfq %r14, %r11 + 0x49, 0x01, 0xfb, //0x00000932 addq %rdi, %r11 + 0x49, 0x09, 0xd7, //0x00000935 orq %rdx, %r15 + 0x4c, 0x89, 0xf2, //0x00000938 movq %r14, %rdx + 0x4c, 0x09, 0xc2, //0x0000093b orq %r8, %rdx + 0x0f, 0x84, 0x04, 0xfc, 0xff, 0xff, //0x0000093e je LBB0_33 + 0xe9, 0x11, 0xfd, 0xff, 0xff, //0x00000944 jmp LBB0_44 + //0x00000949 LBB0_85 + 0x48, 0x89, 0xca, //0x00000949 movq %rcx, %rdx + 0x48, 0x2b, 0x55, 0xd0, //0x0000094c subq $-48(%rbp), %rdx + 0x4d, 0x0f, 0xbc, 0xdf, //0x00000950 bsfq %r15, %r11 + 0x49, 0x01, 0xd3, //0x00000954 addq %rdx, %r11 + 0xe9, 0xbd, 0xfc, 0xff, 0xff, //0x00000957 jmp LBB0_40 + //0x0000095c LBB0_86 + 0x48, 0x85, 0xc0, //0x0000095c testq %rax, %rax + 0x0f, 0x84, 0x43, 0x00, 0x00, 0x00, //0x0000095f je LBB0_89 + 0x4c, 0x8b, 0x45, 0xd0, //0x00000965 movq $-48(%rbp), %r8 + 0x49, 0xf7, 0xd0, //0x00000969 notq %r8 + 0x49, 0x01, 0xc8, //0x0000096c addq %rcx, %r8 + 0x49, 0x83, 0xfb, 0xff, //0x0000096f cmpq $-1, %r11 + 0x4c, 0x89, 0xda, //0x00000973 movq %r11, %rdx + 0x49, 0x0f, 0x44, 0xd0, //0x00000976 cmoveq %r8, %rdx + 0x4d, 0x0f, 0x45, 0xc3, //0x0000097a cmovneq %r11, %r8 + 0x48, 0xff, 0xc1, //0x0000097e incq %rcx + 0x48, 0xff, 0xc8, //0x00000981 decq %rax + 0x49, 0x89, 0xd3, //0x00000984 movq %rdx, %r11 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x00000987 movq $-1, %rdi + 0x48, 0x85, 0xc0, //0x0000098e testq %rax, %rax + 0x0f, 0x85, 0xd0, 0xfe, 0xff, 0xff, //0x00000991 jne LBB0_70 + 0xe9, 0x72, 0xff, 0xff, 0xff, //0x00000997 jmp LBB0_81 + //0x0000099c LBB0_88 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x0000099c movq $-1, %rdi + 0xe9, 0xb9, 0xfb, 0xff, 0xff, //0x000009a3 jmp LBB0_36 + //0x000009a8 LBB0_89 + 0x48, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, //0x000009a8 movq $-1, %rdi + 0xe9, 0x5a, 0xff, 0xff, 0xff, //0x000009af jmp LBB0_81 + //0x000009b4 .p2align 2, 0x00 + //0x000009b4 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x000009b4 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/vunsigned.go b/vendor/github.com/bytedance/sonic/internal/native/sse/vunsigned.go new file mode 100644 index 0000000..4dc9dcd --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/vunsigned.go @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package sse + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vunsigned func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer) + +var S_vunsigned uintptr + +//go:nosplit +func vunsigned(s *string, p *int, v *types.JsonState) { + F_vunsigned(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/vunsigned_subr.go b/vendor/github.com/bytedance/sonic/internal/native/sse/vunsigned_subr.go new file mode 100644 index 0000000..99fe65b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/vunsigned_subr.go @@ -0,0 +1,43 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__vunsigned = 0 +) + +const ( + _stack__vunsigned = 8 +) + +const ( + _size__vunsigned = 324 +) + +var ( + _pcsp__vunsigned = [][2]uint32{ + {1, 0}, + {78, 8}, + {79, 0}, + {90, 8}, + {91, 0}, + {114, 8}, + {115, 0}, + {273, 8}, + {274, 0}, + {312, 8}, + {313, 0}, + {320, 8}, + {322, 0}, + } +) + +var _cfunc_vunsigned = []loader.CFunc{ + {"_vunsigned_entry", 0, _entry__vunsigned, 0, nil}, + {"_vunsigned", _entry__vunsigned, _size__vunsigned, _stack__vunsigned, _pcsp__vunsigned}, +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/sse/vunsigned_text_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/sse/vunsigned_text_amd64.go new file mode 100644 index 0000000..8f83aba --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/vunsigned_text_amd64.go @@ -0,0 +1,108 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package sse + +var _text_vunsigned = []byte{ + // .p2align 4, 0x90 + // _vunsigned + 0x55, // pushq %rbp + 0x48, 0x89, 0xe5, //0x00000001 movq %rsp, %rbp + 0x49, 0x89, 0xd0, //0x00000004 movq %rdx, %r8 + 0x48, 0x8b, 0x0e, //0x00000007 movq (%rsi), %rcx + 0x4c, 0x8b, 0x0f, //0x0000000a movq (%rdi), %r9 + 0x4c, 0x8b, 0x5f, 0x08, //0x0000000d movq $8(%rdi), %r11 + 0x48, 0xc7, 0x02, 0x09, 0x00, 0x00, 0x00, //0x00000011 movq $9, (%rdx) + 0x48, 0xc7, 0x42, 0x08, 0x00, 0x00, 0x00, 0x00, //0x00000018 movq $0, $8(%rdx) + 0x48, 0xc7, 0x42, 0x10, 0x00, 0x00, 0x00, 0x00, //0x00000020 movq $0, $16(%rdx) + 0x48, 0x8b, 0x06, //0x00000028 movq (%rsi), %rax + 0x48, 0x89, 0x42, 0x18, //0x0000002b movq %rax, $24(%rdx) + 0x4c, 0x39, 0xd9, //0x0000002f cmpq %r11, %rcx + 0x0f, 0x83, 0x18, 0x00, 0x00, 0x00, //0x00000032 jae LBB0_1 + 0x41, 0x8a, 0x04, 0x09, //0x00000038 movb (%r9,%rcx), %al + 0x3c, 0x2d, //0x0000003c cmpb $45, %al + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x0000003e jne LBB0_4 + //0x00000044 LBB0_3 + 0x48, 0x89, 0x0e, //0x00000044 movq %rcx, (%rsi) + 0x49, 0xc7, 0x00, 0xfa, 0xff, 0xff, 0xff, //0x00000047 movq $-6, (%r8) + 0x5d, //0x0000004e popq %rbp + 0xc3, //0x0000004f retq + //0x00000050 LBB0_1 + 0x4c, 0x89, 0x1e, //0x00000050 movq %r11, (%rsi) + 0x49, 0xc7, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00000053 movq $-1, (%r8) + 0x5d, //0x0000005a popq %rbp + 0xc3, //0x0000005b retq + //0x0000005c LBB0_4 + 0x8d, 0x50, 0xd0, //0x0000005c leal $-48(%rax), %edx + 0x80, 0xfa, 0x0a, //0x0000005f cmpb $10, %dl + 0x0f, 0x82, 0x0c, 0x00, 0x00, 0x00, //0x00000062 jb LBB0_6 + 0x48, 0x89, 0x0e, //0x00000068 movq %rcx, (%rsi) + 0x49, 0xc7, 0x00, 0xfe, 0xff, 0xff, 0xff, //0x0000006b movq $-2, (%r8) + 0x5d, //0x00000072 popq %rbp + 0xc3, //0x00000073 retq + //0x00000074 LBB0_6 + 0x3c, 0x30, //0x00000074 cmpb $48, %al + 0x0f, 0x85, 0x26, 0x00, 0x00, 0x00, //0x00000076 jne LBB0_7 + 0x41, 0x8a, 0x44, 0x09, 0x01, //0x0000007c movb $1(%r9,%rcx), %al + 0x04, 0xd2, //0x00000081 addb $-46, %al + 0x3c, 0x37, //0x00000083 cmpb $55, %al + 0x0f, 0x87, 0xaf, 0x00, 0x00, 0x00, //0x00000085 ja LBB0_16 + 0x0f, 0xb6, 0xc0, //0x0000008b movzbl %al, %eax + 0x48, 0xba, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x0000008e movabsq $36028797027352577, %rdx + 0x48, 0x0f, 0xa3, 0xc2, //0x00000098 btq %rax, %rdx + 0x0f, 0x83, 0x98, 0x00, 0x00, 0x00, //0x0000009c jae LBB0_16 + //0x000000a2 LBB0_7 + 0x31, 0xc0, //0x000000a2 xorl %eax, %eax + 0x41, 0xba, 0x0a, 0x00, 0x00, 0x00, //0x000000a4 movl $10, %r10d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000000aa .p2align 4, 0x90 + //0x000000b0 LBB0_8 + 0x4c, 0x39, 0xd9, //0x000000b0 cmpq %r11, %rcx + 0x0f, 0x83, 0x78, 0x00, 0x00, 0x00, //0x000000b3 jae LBB0_20 + 0x41, 0x0f, 0xbe, 0x3c, 0x09, //0x000000b9 movsbl (%r9,%rcx), %edi + 0x8d, 0x57, 0xd0, //0x000000be leal $-48(%rdi), %edx + 0x80, 0xfa, 0x09, //0x000000c1 cmpb $9, %dl + 0x0f, 0x87, 0x49, 0x00, 0x00, 0x00, //0x000000c4 ja LBB0_17 + 0x49, 0xf7, 0xe2, //0x000000ca mulq %r10 + 0x0f, 0x80, 0x31, 0x00, 0x00, 0x00, //0x000000cd jo LBB0_13 + 0x48, 0xff, 0xc1, //0x000000d3 incq %rcx + 0x83, 0xc7, 0xd0, //0x000000d6 addl $-48, %edi + 0x48, 0x63, 0xd7, //0x000000d9 movslq %edi, %rdx + 0x48, 0x89, 0xd7, //0x000000dc movq %rdx, %rdi + 0x48, 0xc1, 0xff, 0x3f, //0x000000df sarq $63, %rdi + 0x48, 0x01, 0xd0, //0x000000e3 addq %rdx, %rax + 0x48, 0x83, 0xd7, 0x00, //0x000000e6 adcq $0, %rdi + 0x89, 0xfa, //0x000000ea movl %edi, %edx + 0x83, 0xe2, 0x01, //0x000000ec andl $1, %edx + 0x48, 0xf7, 0xda, //0x000000ef negq %rdx + 0x48, 0x31, 0xd7, //0x000000f2 xorq %rdx, %rdi + 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00, //0x000000f5 jne LBB0_13 + 0x48, 0x85, 0xd2, //0x000000fb testq %rdx, %rdx + 0x0f, 0x89, 0xac, 0xff, 0xff, 0xff, //0x000000fe jns LBB0_8 + //0x00000104 LBB0_13 + 0x48, 0xff, 0xc9, //0x00000104 decq %rcx + 0x48, 0x89, 0x0e, //0x00000107 movq %rcx, (%rsi) + 0x49, 0xc7, 0x00, 0xfb, 0xff, 0xff, 0xff, //0x0000010a movq $-5, (%r8) + 0x5d, //0x00000111 popq %rbp + 0xc3, //0x00000112 retq + //0x00000113 LBB0_17 + 0x40, 0x80, 0xff, 0x65, //0x00000113 cmpb $101, %dil + 0x0f, 0x84, 0x27, 0xff, 0xff, 0xff, //0x00000117 je LBB0_3 + 0x40, 0x80, 0xff, 0x45, //0x0000011d cmpb $69, %dil + 0x0f, 0x84, 0x1d, 0xff, 0xff, 0xff, //0x00000121 je LBB0_3 + 0x40, 0x80, 0xff, 0x2e, //0x00000127 cmpb $46, %dil + 0x0f, 0x84, 0x13, 0xff, 0xff, 0xff, //0x0000012b je LBB0_3 + //0x00000131 LBB0_20 + 0x48, 0x89, 0x0e, //0x00000131 movq %rcx, (%rsi) + 0x49, 0x89, 0x40, 0x10, //0x00000134 movq %rax, $16(%r8) + 0x5d, //0x00000138 popq %rbp + 0xc3, //0x00000139 retq + //0x0000013a LBB0_16 + 0x48, 0xff, 0xc1, //0x0000013a incq %rcx + 0x48, 0x89, 0x0e, //0x0000013d movq %rcx, (%rsi) + 0x5d, //0x00000140 popq %rbp + 0xc3, //0x00000141 retq + 0x00, 0x00, //0x00000142 .p2align 2, 0x00 + //0x00000144 _MASK_USE_NUMBER + 0x02, 0x00, 0x00, 0x00, //0x00000144 .long 2 +} + diff --git a/vendor/github.com/bytedance/sonic/internal/native/types/types.go b/vendor/github.com/bytedance/sonic/internal/native/types/types.go index e4e7570..1dcae60 100644 --- a/vendor/github.com/bytedance/sonic/internal/native/types/types.go +++ b/vendor/github.com/bytedance/sonic/internal/native/types/types.go @@ -19,6 +19,7 @@ package types import ( `fmt` `sync` + `unsafe` ) type ValueType int @@ -28,6 +29,8 @@ type SearchingError uint // NOTE: !NOT MODIFIED ONLY. // This definitions are followed in native/types.h. +const BufPaddingSize int = 64 + const ( V_EOF ValueType = 1 V_NULL ValueType = 2 @@ -46,15 +49,23 @@ const ( ) const ( + // for native.Unquote() flags B_DOUBLE_UNQUOTE = 0 B_UNICODE_REPLACE = 1 + + // for native.Value() flags + B_USE_NUMBER = 1 B_VALIDATE_STRING = 5 + B_ALLOW_CONTROL = 31 ) const ( F_DOUBLE_UNQUOTE = 1 << B_DOUBLE_UNQUOTE F_UNICODE_REPLACE = 1 << B_UNICODE_REPLACE + + F_USE_NUMBER = 1 << B_USE_NUMBER F_VALIDATE_STRING = 1 << B_VALIDATE_STRING + F_ALLOW_CONTROL = 1 << B_ALLOW_CONTROL ) const ( @@ -136,3 +147,18 @@ func FreeStateMachine(fsm *StateMachine) { stackPool.Put(fsm) } +const MaxDigitNums = 800 + +var digitPool = sync.Pool{ + New: func() interface{} { + return (*byte)(unsafe.Pointer(&[MaxDigitNums]byte{})) + }, +} + +func NewDbuf() *byte { + return digitPool.Get().(*byte) +} + +func FreeDbuf(p *byte) { + digitPool.Put(p) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/u64toa.tmpl b/vendor/github.com/bytedance/sonic/internal/native/u64toa.tmpl new file mode 100644 index 0000000..1c15b6b --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/u64toa.tmpl @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_u64toa func(out unsafe.Pointer, val uint64) (ret int) + +var S_u64toa uintptr + +//go:nosplit +func u64toa(out *byte, val uint64) (ret int) { + return F_u64toa(rt.NoEscape(unsafe.Pointer(out)), val) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/unquote.tmpl b/vendor/github.com/bytedance/sonic/internal/native/unquote.tmpl new file mode 100644 index 0000000..a8a155d --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/unquote.tmpl @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_unquote func(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep unsafe.Pointer, flags uint64) (ret int) + +var S_unquote uintptr + +//go:nosplit +func unquote(sp unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) (ret int) { + return F_unquote(rt.NoEscape(sp), nb, dp, rt.NoEscape(unsafe.Pointer(ep)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/validate_one.tmpl b/vendor/github.com/bytedance/sonic/internal/native/validate_one.tmpl new file mode 100644 index 0000000..280d74f --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/validate_one.tmpl @@ -0,0 +1,37 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_validate_one func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) (ret int) + +var S_validate_one uintptr + +//go:nosplit +func validate_one(s *string, p *int, m *types.StateMachine, flags uint64) (ret int) { + return F_validate_one(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/validate_utf8.tmpl b/vendor/github.com/bytedance/sonic/internal/native/validate_utf8.tmpl new file mode 100644 index 0000000..b091beb --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/validate_utf8.tmpl @@ -0,0 +1,39 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_validate_utf8 func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int) + +var S_validate_utf8 uintptr + +//go:nosplit +func validate_utf8(s *string, p *int, m *types.StateMachine) (ret int) { + return F_validate_utf8(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m))) +} + + diff --git a/vendor/github.com/bytedance/sonic/internal/native/validate_utf8_fast.tmpl b/vendor/github.com/bytedance/sonic/internal/native/validate_utf8_fast.tmpl new file mode 100644 index 0000000..5d661c2 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/validate_utf8_fast.tmpl @@ -0,0 +1,36 @@ +// Code generated by Makefile, DO NOT EDIT. + +// Code generated by Makefile, DO NOT EDIT. + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/rt` +) + +var F_validate_utf8_fast func(s unsafe.Pointer) (ret int) + +var S_validate_utf8_fast uintptr + +//go:nosplit +func validate_utf8_fast(s *string) (ret int) { + return F_validate_utf8_fast(rt.NoEscape(unsafe.Pointer(s))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/value.tmpl b/vendor/github.com/bytedance/sonic/internal/native/value.tmpl new file mode 100644 index 0000000..3928488 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/value.tmpl @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_value func(s unsafe.Pointer, n int, p int, v unsafe.Pointer, flags uint64) (ret int) + +var S_value uintptr + +//go:nosplit +func value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) (ret int) { + return F_value(rt.NoEscape(unsafe.Pointer(s)), n, p, rt.NoEscape(unsafe.Pointer(v)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/vnumber.tmpl b/vendor/github.com/bytedance/sonic/internal/native/vnumber.tmpl new file mode 100644 index 0000000..af4fc6c --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/vnumber.tmpl @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vnumber func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer) + +var S_vnumber uintptr + +//go:nosplit +func vnumber(s *string, p *int, v *types.JsonState) { + F_vnumber(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/vsigned.tmpl b/vendor/github.com/bytedance/sonic/internal/native/vsigned.tmpl new file mode 100644 index 0000000..a64b8b2 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/vsigned.tmpl @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vsigned func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer) + +var S_vsigned uintptr + +//go:nosplit +func vsigned(s *string, p *int, v *types.JsonState) { + F_vsigned(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/vstring.tmpl b/vendor/github.com/bytedance/sonic/internal/native/vstring.tmpl new file mode 100644 index 0000000..f5e729e --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/vstring.tmpl @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vstring func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer, flags uint64) + +var S_vstring uintptr + +//go:nosplit +func vstring(s *string, p *int, v *types.JsonState, flags uint64) { + F_vstring(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v)), flags) +} diff --git a/vendor/github.com/bytedance/sonic/internal/native/vunsigned.tmpl b/vendor/github.com/bytedance/sonic/internal/native/vunsigned.tmpl new file mode 100644 index 0000000..f6a8cec --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/native/vunsigned.tmpl @@ -0,0 +1,33 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package {{PACKAGE}} + +import ( + `unsafe` + + `github.com/bytedance/sonic/internal/native/types` + `github.com/bytedance/sonic/internal/rt` +) + +var F_vunsigned func(s unsafe.Pointer, p unsafe.Pointer, v unsafe.Pointer) + +var S_vunsigned uintptr + +//go:nosplit +func vunsigned(s *string, p *int, v *types.JsonState) { + F_vunsigned(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(v))) +} diff --git a/vendor/github.com/bytedance/sonic/internal/resolver/stubs.go b/vendor/github.com/bytedance/sonic/internal/resolver/stubs_compat.go similarity index 98% rename from vendor/github.com/bytedance/sonic/internal/resolver/stubs.go rename to vendor/github.com/bytedance/sonic/internal/resolver/stubs_compat.go index ac27aa3..a347954 100644 --- a/vendor/github.com/bytedance/sonic/internal/resolver/stubs.go +++ b/vendor/github.com/bytedance/sonic/internal/resolver/stubs_compat.go @@ -1,3 +1,5 @@ +// +build !go1.21 + /* * Copyright 2021 ByteDance Inc. * diff --git a/vendor/github.com/bytedance/sonic/internal/resolver/stubs_latest.go b/vendor/github.com/bytedance/sonic/internal/resolver/stubs_latest.go new file mode 100644 index 0000000..f5a9bff --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/resolver/stubs_latest.go @@ -0,0 +1,48 @@ +// +build go1.21 + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package resolver + +import ( + _ `encoding/json` + `reflect` + _ `unsafe` +) + +type StdField struct { + name string + nameBytes []byte + nameNonEsc string + nameEscHTML string + tag bool + index []int + typ reflect.Type + omitEmpty bool + quoted bool + encoder func() +} + +type StdStructFields struct { + list []StdField + nameIndex map[string]*StdField + byFoldedName map[string]*StdField +} + +//go:noescape +//go:linkname typeFields encoding/json.typeFields +func typeFields(_ reflect.Type) StdStructFields diff --git a/vendor/github.com/bytedance/sonic/internal/rt/asm_amd64.s b/vendor/github.com/bytedance/sonic/internal/rt/asm_amd64.s index 8250e38..4998d5f 100644 --- a/vendor/github.com/bytedance/sonic/internal/rt/asm_amd64.s +++ b/vendor/github.com/bytedance/sonic/internal/rt/asm_amd64.s @@ -1,5 +1,4 @@ -// +build !noasm !appengine -// Code generated by asm2asm, DO NOT EDIT· +// +build !noasm,amd64 !appengine,amd64 #include "go_asm.h" #include "funcdata.h" diff --git a/vendor/github.com/bytedance/sonic/internal/rt/asm_arm64.s b/vendor/github.com/bytedance/sonic/internal/rt/asm_compat.s similarity index 65% rename from vendor/github.com/bytedance/sonic/internal/rt/asm_arm64.s rename to vendor/github.com/bytedance/sonic/internal/rt/asm_compat.s index a168a82..7d50b64 100644 --- a/vendor/github.com/bytedance/sonic/internal/rt/asm_arm64.s +++ b/vendor/github.com/bytedance/sonic/internal/rt/asm_compat.s @@ -1,5 +1,4 @@ -// +build !noasm !appengine -// Code generated by asm2asm, DO NOT EDIT. +// +build !noasm,!amd64 !appengine,!amd64 #include "go_asm.h" #include "funcdata.h" diff --git a/vendor/github.com/bytedance/sonic/internal/rt/fastmem.go b/vendor/github.com/bytedance/sonic/internal/rt/fastmem.go index 5bf80dd..a68d98a 100644 --- a/vendor/github.com/bytedance/sonic/internal/rt/fastmem.go +++ b/vendor/github.com/bytedance/sonic/internal/rt/fastmem.go @@ -66,15 +66,16 @@ func FuncAddr(f interface{}) unsafe.Pointer { } } +//go:nocheckptr func IndexChar(src string, index int) unsafe.Pointer { return unsafe.Pointer(uintptr((*GoString)(unsafe.Pointer(&src)).Ptr) + uintptr(index)) } +//go:nocheckptr func IndexByte(ptr []byte, index int) unsafe.Pointer { return unsafe.Pointer(uintptr((*GoSlice)(unsafe.Pointer(&ptr)).Ptr) + uintptr(index)) } -//go:nosplit func GuardSlice(buf *[]byte, n int) { c := cap(*buf) l := len(*buf) @@ -109,4 +110,16 @@ func StrFrom(p unsafe.Pointer, n int64) (s string) { (*GoString)(unsafe.Pointer(&s)).Ptr = p (*GoString)(unsafe.Pointer(&s)).Len = int(n) return +} + +// NoEscape hides a pointer from escape analysis. NoEscape is +// the identity function but escape analysis doesn't think the +// output depends on the input. NoEscape is inlined and currently +// compiles down to zero instructions. +// USE CAREFULLY! +//go:nosplit +//goland:noinspection GoVetUnsafePointer +func NoEscape(p unsafe.Pointer) unsafe.Pointer { + x := uintptr(p) + return unsafe.Pointer(x ^ 0) } \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/rt/fastvalue.go b/vendor/github.com/bytedance/sonic/internal/rt/fastvalue.go index 2b2757f..6657220 100644 --- a/vendor/github.com/bytedance/sonic/internal/rt/fastvalue.go +++ b/vendor/github.com/bytedance/sonic/internal/rt/fastvalue.go @@ -211,3 +211,33 @@ func findReflectRtypeItab() *GoItab { v := reflect.TypeOf(struct{}{}) return (*GoIface)(unsafe.Pointer(&v)).Itab } + +func AssertI2I2(t *GoType, i GoIface) (r GoIface) { + inter := IfaceType(t) + tab := i.Itab + if tab == nil { + return + } + if (*GoInterfaceType)(tab.it) != inter { + tab = Getitab(inter, tab.Vt, true) + if tab == nil { + return + } + } + r.Itab = tab + r.Value = i.Value + return +} + +//go:noescape +//go:linkname Getitab runtime.getitab +func Getitab(inter *GoInterfaceType, typ *GoType, canfail bool) *GoItab + + +func GetFuncPC(fn interface{}) uintptr { + ft := UnpackEface(fn) + if ft.Type.Kind() != reflect.Func { + panic("not a function") + } + return *(*uintptr)(ft.Value) +} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/internal/rt/int48.go b/vendor/github.com/bytedance/sonic/internal/rt/int48.go index e9f82d7..a0eb64a 100644 --- a/vendor/github.com/bytedance/sonic/internal/rt/int48.go +++ b/vendor/github.com/bytedance/sonic/internal/rt/int48.go @@ -17,12 +17,12 @@ package rt const ( - MinInt48 = -(1 << 47) - MaxInt48 = +(1 << 47) - 1 + MinInt48 int64 = -(1 << 47) + MaxInt48 int64 = +(1 << 47) - 1 ) func PackInt(v int) uint64 { - if u := uint64(v); v < MinInt48 || v > MaxInt48 { + if u := uint64(v); int64(v) < MinInt48 || int64(v) > MaxInt48 { panic("int48 out of range") } else { return ((u >> 63) << 47) | (u & 0x00007fffffffffff) diff --git a/vendor/github.com/chenzhuoyu/base64x/LICENSE b/vendor/github.com/bytedance/sonic/loader/LICENSE similarity index 100% rename from vendor/github.com/chenzhuoyu/base64x/LICENSE rename to vendor/github.com/bytedance/sonic/loader/LICENSE diff --git a/vendor/github.com/bytedance/sonic/loader/funcdata.go b/vendor/github.com/bytedance/sonic/loader/funcdata.go index 9b760f6..0e8594c 100644 --- a/vendor/github.com/bytedance/sonic/loader/funcdata.go +++ b/vendor/github.com/bytedance/sonic/loader/funcdata.go @@ -42,6 +42,13 @@ const ( _SUB_BUCKETSIZE = _BUCKETSIZE / _SUBBUCKETS ) +// Note: This list must match the list in runtime/symtab.go. +const ( + FuncFlag_TOPFRAME = 1 << iota + FuncFlag_SPWRITE + FuncFlag_ASM +) + // PCDATA and FUNCDATA table indexes. // // See funcdata.h and $GROOT/src/cmd/internal/objabi/funcdata.go. @@ -141,4 +148,98 @@ func funcNameParts(name string) (string, string, string) { return name, "", "" } return name[:i], "[...]", name[j+1:] -} \ No newline at end of file +} + + +// func name table format: +// nameOff[0] -> namePartA namePartB namePartC \x00 +// nameOff[1] -> namePartA namePartB namePartC \x00 +// ... +func makeFuncnameTab(funcs []Func) (tab []byte, offs []int32) { + offs = make([]int32, len(funcs)) + offset := 1 + tab = []byte{0} + + for i, f := range funcs { + offs[i] = int32(offset) + + a, b, c := funcNameParts(f.Name) + tab = append(tab, a...) + tab = append(tab, b...) + tab = append(tab, c...) + tab = append(tab, 0) + offset += len(a) + len(b) + len(c) + 1 + } + + return +} + +// CU table format: +// cuOffsets[0] -> filetabOffset[0] filetabOffset[1] ... filetabOffset[len(CUs[0].fileNames)-1] +// cuOffsets[1] -> filetabOffset[len(CUs[0].fileNames)] ... filetabOffset[len(CUs[0].fileNames) + len(CUs[1].fileNames)-1] +// ... +// +// file name table format: +// filetabOffset[0] -> CUs[0].fileNames[0] \x00 +// ... +// filetabOffset[len(CUs[0]-1)] -> CUs[0].fileNames[len(CUs[0].fileNames)-1] \x00 +// ... +// filetabOffset[SUM(CUs,fileNames)-1] -> CUs[len(CU)-1].fileNames[len(CUs[len(CU)-1].fileNames)-1] \x00 +func makeFilenametab(cus []compilationUnit) (cutab []uint32, filetab []byte, cuOffsets []uint32) { + cuOffsets = make([]uint32, len(cus)) + cuOffset := 0 + fileOffset := 0 + + for i, cu := range cus { + cuOffsets[i] = uint32(cuOffset) + + for _, name := range cu.fileNames { + cutab = append(cutab, uint32(fileOffset)) + + fileOffset += len(name) + 1 + filetab = append(filetab, name...) + filetab = append(filetab, 0) + } + + cuOffset += len(cu.fileNames) + } + + return +} + +func writeFuncdata(out *[]byte, funcs []Func) (fstart int, funcdataOffs [][]uint32) { + fstart = len(*out) + *out = append(*out, byte(0)) + offs := uint32(1) + + funcdataOffs = make([][]uint32, len(funcs)) + for i, f := range funcs { + + var writer = func(fd encoding.BinaryMarshaler) { + var ab []byte + var err error + if fd != nil { + ab, err = fd.MarshalBinary() + if err != nil { + panic(err) + } + funcdataOffs[i] = append(funcdataOffs[i], offs) + } else { + ab = []byte{0} + funcdataOffs[i] = append(funcdataOffs[i], _INVALID_FUNCDATA_OFFSET) + } + *out = append(*out, ab...) + offs += uint32(len(ab)) + } + + writer(f.ArgsPointerMaps) + writer(f.LocalsPointerMaps) + writer(f.StackObjects) + writer(f.InlTree) + writer(f.OpenCodedDeferInfo) + writer(f.ArgInfo) + writer(f.ArgLiveInfo) + writer(f.WrapInfo) + } + return +} diff --git a/vendor/github.com/bytedance/sonic/loader/funcdata_go115.go b/vendor/github.com/bytedance/sonic/loader/funcdata_compat.go similarity index 77% rename from vendor/github.com/bytedance/sonic/loader/funcdata_go115.go rename to vendor/github.com/bytedance/sonic/loader/funcdata_compat.go index a2e3e65..10a14e3 100644 --- a/vendor/github.com/bytedance/sonic/loader/funcdata_go115.go +++ b/vendor/github.com/bytedance/sonic/loader/funcdata_compat.go @@ -1,5 +1,5 @@ -//go:build go1.15 && !go1.16 -// +build go1.15,!go1.16 +//go:build !go1.16 +// +build !go1.16 /* * Copyright 2021 ByteDance Inc. @@ -20,11 +20,11 @@ package loader import ( - `encoding` - `os` - `unsafe` + `os` + `unsafe` + `sort` - `github.com/bytedance/sonic/internal/rt` + `github.com/bytedance/sonic/loader/internal/rt` ) const ( @@ -171,99 +171,7 @@ type compilationUnit struct { fileNames []string } -// func name table format: -// nameOff[0] -> namePartA namePartB namePartC \x00 -// nameOff[1] -> namePartA namePartB namePartC \x00 -// ... -func makeFuncnameTab(funcs []Func) (tab []byte, offs []int32) { - offs = make([]int32, len(funcs)) - offset := 0 - - for i, f := range funcs { - offs[i] = int32(offset) - - a, b, c := funcNameParts(f.Name) - tab = append(tab, a...) - tab = append(tab, b...) - tab = append(tab, c...) - tab = append(tab, 0) - offset += len(a) + len(b) + len(c) + 1 - } - - return -} - -// CU table format: -// cuOffsets[0] -> filetabOffset[0] filetabOffset[1] ... filetabOffset[len(CUs[0].fileNames)-1] -// cuOffsets[1] -> filetabOffset[len(CUs[0].fileNames)] ... filetabOffset[len(CUs[0].fileNames) + len(CUs[1].fileNames)-1] -// ... -// -// file name table format: -// filetabOffset[0] -> CUs[0].fileNames[0] \x00 -// ... -// filetabOffset[len(CUs[0]-1)] -> CUs[0].fileNames[len(CUs[0].fileNames)-1] \x00 -// ... -// filetabOffset[SUM(CUs,fileNames)-1] -> CUs[len(CU)-1].fileNames[len(CUs[len(CU)-1].fileNames)-1] \x00 -func makeFilenametab(cus []compilationUnit) (cutab []uint32, filetab []byte, cuOffsets []uint32) { - cuOffsets = make([]uint32, len(cus)) - cuOffset := 0 - fileOffset := 0 - - for i, cu := range cus { - cuOffsets[i] = uint32(cuOffset) - - for _, name := range cu.fileNames { - cutab = append(cutab, uint32(fileOffset)) - - fileOffset += len(name) + 1 - filetab = append(filetab, name...) - filetab = append(filetab, 0) - } - - cuOffset += len(cu.fileNames) - } - - return -} - -func writeFuncdata(out *[]byte, funcs []Func) (fstart int, funcdataOffs [][]uint32) { - fstart = len(*out) - *out = append(*out, byte(0)) - offs := uint32(1) - - funcdataOffs = make([][]uint32, len(funcs)) - for i, f := range funcs { - - var writer = func(fd encoding.BinaryMarshaler) { - var ab []byte - var err error - if fd != nil { - ab, err = fd.MarshalBinary() - if err != nil { - panic(err) - } - funcdataOffs[i] = append(funcdataOffs[i], offs) - } else { - ab = []byte{0} - funcdataOffs[i] = append(funcdataOffs[i], _INVALID_FUNCDATA_OFFSET) - } - *out = append(*out, ab...) - offs += uint32(len(ab)) - } - - writer(f.ArgsPointerMaps) - writer(f.LocalsPointerMaps) - writer(f.StackObjects) - writer(f.InlTree) - writer(f.OpenCodedDeferInfo) - writer(f.ArgInfo) - writer(f.ArgLiveInfo) - writer(f.WrapInfo) - } - return -} - -func makeFtab(funcs []_func, lastFuncSize uint32) (ftab []funcTab, pclntabSize int64, startLocations []uint32) { +func makeFtab(funcs []_func, maxpc uintptr) (ftab []funcTab, pclntabSize int64, startLocations []uint32) { // Allocate space for the pc->func table. This structure consists of a pc offset // and an offset to the func structure. After that, we have a single pc // value that marks the end of the last function in the binary. @@ -283,14 +191,12 @@ func makeFtab(funcs []_func, lastFuncSize uint32) (ftab []funcTab, pclntabSize i } // Final entry of table is just end pc offset. - lastFunc := funcs[len(funcs)-1] - ftab = append(ftab, funcTab{lastFunc.entry + uintptr(lastFuncSize), 0}) - + ftab = append(ftab, funcTab{maxpc, 0}) return } // Pcln table format: [...]funcTab + [...]_Func -func makePclntable(size int64, startLocations []uint32, funcs []_func, lastFuncSize uint32, pcdataOffs [][]uint32, funcdataAddr uintptr, funcdataOffs [][]uint32) (pclntab []byte) { +func makePclntable(size int64, startLocations []uint32, funcs []_func, maxpc uintptr, pcdataOffs [][]uint32, funcdataAddr uintptr, funcdataOffs [][]uint32) (pclntab []byte) { pclntab = make([]byte, size, size) // write a map of pc->func info offsets @@ -301,8 +207,7 @@ func makePclntable(size int64, startLocations []uint32, funcs []_func, lastFuncS offs += 16 } // Final entry of table is just end pc offset. - lastFunc := funcs[len(funcs)-1] - byteOrder.PutUint64(pclntab[offs:offs+8], uint64(lastFunc.entry)+uint64(lastFuncSize)) + byteOrder.PutUint64(pclntab[offs:offs+8], uint64(maxpc)) offs += 8 // write func info table @@ -374,21 +279,22 @@ func writeFindfunctab(out *[]byte, ftab []funcTab) (start int) { tab := make([]findfuncbucket, 0, nbuckets) var s, e = 0, 0 for i := 0; ifunc (binary search) func table - lastFuncsize := funcs[len(funcs)-1].TextSize - ftab, pclntSize, startLocations := makeFtab(_funcs, lastFuncsize) + ftab, pclntSize, startLocations := makeFtab(_funcs, mod.maxpc) mod.ftab = ftab // write pc->func (modmap) findfunc table @@ -455,15 +372,9 @@ func makeModuledata(name string, filenames []string, funcs []Func, text []byte) funcdataAddr := uintptr(rt.IndexByte(cache, fstart)) // make pclnt table - pclntab := makePclntable(pclntSize, startLocations, _funcs, lastFuncsize, pcdataOffs, funcdataAddr, funcdataOffs) + pclntab := makePclntable(pclntSize, startLocations, _funcs, mod.maxpc, pcdataOffs, funcdataAddr, funcdataOffs) mod.pclntable = pclntab - // assign addresses - mod.text = addr - mod.etext = addr + uintptr(size) - mod.minpc = addr - mod.maxpc = addr + uintptr(len(text)) - // make pc header mod.pcHeader = &pcHeader { magic : _Magic, @@ -487,7 +398,7 @@ func makeModuledata(name string, filenames []string, funcs []Func, text []byte) // makePctab generates pcdelta->valuedelta tables for functions, // and returns the table and the entry offset of every kind pcdata in the table. -func makePctab(funcs []Func, addr uintptr, cuOffset []uint32, nameOffset []int32) (pctab []byte, pcdataOffs [][]uint32, _funcs []_func) { +func makePctab(funcs []Func, addr uintptr, cuOffset uint32, nameOffset []int32) (pctab []byte, pcdataOffs [][]uint32, _funcs []_func) { _funcs = make([]_func, len(funcs)) // Pctab offsets of 0 are considered invalid in the runtime. We respect @@ -538,7 +449,7 @@ func makePctab(funcs []Func, addr uintptr, cuOffset []uint32, nameOffset []int32 _f.deferreturn = f.DeferReturn // NOTICE: _func.pcdata is always as [PCDATA_UnsafePoint(0) : PCDATA_ArgLiveIndex(3)] _f.npcdata = uint32(_N_PCDATA) - _f.cuOffset = cuOffset[i] + _f.cuOffset = cuOffset _f.funcID = f.ID _f.nfuncdata = uint8(_N_FUNCDATA) } @@ -546,4 +457,4 @@ func makePctab(funcs []Func, addr uintptr, cuOffset []uint32, nameOffset []int32 return } -func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argptrs uintptr, localptrs uintptr) {} \ No newline at end of file +func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argptrs uintptr, localptrs uintptr) {} diff --git a/vendor/github.com/bytedance/sonic/loader/funcdata_go116.go b/vendor/github.com/bytedance/sonic/loader/funcdata_go116.go index 508268e..c3195b4 100644 --- a/vendor/github.com/bytedance/sonic/loader/funcdata_go116.go +++ b/vendor/github.com/bytedance/sonic/loader/funcdata_go116.go @@ -20,11 +20,11 @@ package loader import ( - `encoding` `os` `unsafe` + `sort` - `github.com/bytedance/sonic/internal/rt` + `github.com/bytedance/sonic/loader/internal/rt` ) const ( @@ -171,99 +171,7 @@ type compilationUnit struct { fileNames []string } -// func name table format: -// nameOff[0] -> namePartA namePartB namePartC \x00 -// nameOff[1] -> namePartA namePartB namePartC \x00 -// ... -func makeFuncnameTab(funcs []Func) (tab []byte, offs []int32) { - offs = make([]int32, len(funcs)) - offset := 0 - - for i, f := range funcs { - offs[i] = int32(offset) - - a, b, c := funcNameParts(f.Name) - tab = append(tab, a...) - tab = append(tab, b...) - tab = append(tab, c...) - tab = append(tab, 0) - offset += len(a) + len(b) + len(c) + 1 - } - - return -} - -// CU table format: -// cuOffsets[0] -> filetabOffset[0] filetabOffset[1] ... filetabOffset[len(CUs[0].fileNames)-1] -// cuOffsets[1] -> filetabOffset[len(CUs[0].fileNames)] ... filetabOffset[len(CUs[0].fileNames) + len(CUs[1].fileNames)-1] -// ... -// -// file name table format: -// filetabOffset[0] -> CUs[0].fileNames[0] \x00 -// ... -// filetabOffset[len(CUs[0]-1)] -> CUs[0].fileNames[len(CUs[0].fileNames)-1] \x00 -// ... -// filetabOffset[SUM(CUs,fileNames)-1] -> CUs[len(CU)-1].fileNames[len(CUs[len(CU)-1].fileNames)-1] \x00 -func makeFilenametab(cus []compilationUnit) (cutab []uint32, filetab []byte, cuOffsets []uint32) { - cuOffsets = make([]uint32, len(cus)) - cuOffset := 0 - fileOffset := 0 - - for i, cu := range cus { - cuOffsets[i] = uint32(cuOffset) - - for _, name := range cu.fileNames { - cutab = append(cutab, uint32(fileOffset)) - - fileOffset += len(name) + 1 - filetab = append(filetab, name...) - filetab = append(filetab, 0) - } - - cuOffset += len(cu.fileNames) - } - - return -} - -func writeFuncdata(out *[]byte, funcs []Func) (fstart int, funcdataOffs [][]uint32) { - fstart = len(*out) - *out = append(*out, byte(0)) - offs := uint32(1) - - funcdataOffs = make([][]uint32, len(funcs)) - for i, f := range funcs { - - var writer = func(fd encoding.BinaryMarshaler) { - var ab []byte - var err error - if fd != nil { - ab, err = fd.MarshalBinary() - if err != nil { - panic(err) - } - funcdataOffs[i] = append(funcdataOffs[i], offs) - } else { - ab = []byte{0} - funcdataOffs[i] = append(funcdataOffs[i], _INVALID_FUNCDATA_OFFSET) - } - *out = append(*out, ab...) - offs += uint32(len(ab)) - } - - writer(f.ArgsPointerMaps) - writer(f.LocalsPointerMaps) - writer(f.StackObjects) - writer(f.InlTree) - writer(f.OpenCodedDeferInfo) - writer(f.ArgInfo) - writer(f.ArgLiveInfo) - writer(f.WrapInfo) - } - return -} - -func makeFtab(funcs []_func, lastFuncSize uint32) (ftab []funcTab, pclntabSize int64, startLocations []uint32) { +func makeFtab(funcs []_func, maxpc uintptr) (ftab []funcTab, pclntabSize int64, startLocations []uint32) { // Allocate space for the pc->func table. This structure consists of a pc offset // and an offset to the func structure. After that, we have a single pc // value that marks the end of the last function in the binary. @@ -283,14 +191,13 @@ func makeFtab(funcs []_func, lastFuncSize uint32) (ftab []funcTab, pclntabSize i } // Final entry of table is just end pc offset. - lastFunc := funcs[len(funcs)-1] - ftab = append(ftab, funcTab{lastFunc.entry + uintptr(lastFuncSize), 0}) + ftab = append(ftab, funcTab{maxpc, 0}) return } // Pcln table format: [...]funcTab + [...]_Func -func makePclntable(size int64, startLocations []uint32, funcs []_func, lastFuncSize uint32, pcdataOffs [][]uint32, funcdataAddr uintptr, funcdataOffs [][]uint32) (pclntab []byte) { +func makePclntable(size int64, startLocations []uint32, funcs []_func, maxpc uintptr, pcdataOffs [][]uint32, funcdataAddr uintptr, funcdataOffs [][]uint32) (pclntab []byte) { pclntab = make([]byte, size, size) // write a map of pc->func info offsets @@ -301,8 +208,7 @@ func makePclntable(size int64, startLocations []uint32, funcs []_func, lastFuncS offs += 16 } // Final entry of table is just end pc offset. - lastFunc := funcs[len(funcs)-1] - byteOrder.PutUint64(pclntab[offs:offs+8], uint64(lastFunc.entry)+uint64(lastFuncSize)) + byteOrder.PutUint64(pclntab[offs:offs+8], uint64(maxpc)) offs += 8 // write func info table @@ -374,21 +280,22 @@ func writeFindfunctab(out *[]byte, ftab []funcTab) (start int) { tab := make([]findfuncbucket, 0, nbuckets) var s, e = 0, 0 for i := 0; ifunc (binary search) func table - lastFuncsize := funcs[len(funcs)-1].TextSize - ftab, pclntSize, startLocations := makeFtab(_funcs, lastFuncsize) + ftab, pclntSize, startLocations := makeFtab(_funcs, mod.maxpc) mod.ftab = ftab // write pc->func (modmap) findfunc table @@ -455,15 +373,9 @@ func makeModuledata(name string, filenames []string, funcs []Func, text []byte) funcdataAddr := uintptr(rt.IndexByte(cache, fstart)) // make pclnt table - pclntab := makePclntable(pclntSize, startLocations, _funcs, lastFuncsize, pcdataOffs, funcdataAddr, funcdataOffs) + pclntab := makePclntable(pclntSize, startLocations, _funcs, mod.maxpc, pcdataOffs, funcdataAddr, funcdataOffs) mod.pclntable = pclntab - // assign addresses - mod.text = addr - mod.etext = addr + uintptr(size) - mod.minpc = addr - mod.maxpc = addr + uintptr(len(text)) - // make pc header mod.pcHeader = &pcHeader { magic : _Magic, @@ -487,7 +399,7 @@ func makeModuledata(name string, filenames []string, funcs []Func, text []byte) // makePctab generates pcdelta->valuedelta tables for functions, // and returns the table and the entry offset of every kind pcdata in the table. -func makePctab(funcs []Func, addr uintptr, cuOffset []uint32, nameOffset []int32) (pctab []byte, pcdataOffs [][]uint32, _funcs []_func) { +func makePctab(funcs []Func, addr uintptr, cuOffset uint32, nameOffset []int32) (pctab []byte, pcdataOffs [][]uint32, _funcs []_func) { _funcs = make([]_func, len(funcs)) // Pctab offsets of 0 are considered invalid in the runtime. We respect @@ -538,7 +450,7 @@ func makePctab(funcs []Func, addr uintptr, cuOffset []uint32, nameOffset []int32 _f.deferreturn = f.DeferReturn // NOTICE: _func.pcdata is always as [PCDATA_UnsafePoint(0) : PCDATA_ArgLiveIndex(3)] _f.npcdata = uint32(_N_PCDATA) - _f.cuOffset = cuOffset[i] + _f.cuOffset = cuOffset _f.funcID = f.ID _f.nfuncdata = uint8(_N_FUNCDATA) } @@ -546,4 +458,4 @@ func makePctab(funcs []Func, addr uintptr, cuOffset []uint32, nameOffset []int32 return } -func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argptrs uintptr, localptrs uintptr) {} \ No newline at end of file +func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argptrs uintptr, localptrs uintptr) {} diff --git a/vendor/github.com/bytedance/sonic/loader/funcdata_go118.go b/vendor/github.com/bytedance/sonic/loader/funcdata_go118.go index a2bac85..54ec4d6 100644 --- a/vendor/github.com/bytedance/sonic/loader/funcdata_go118.go +++ b/vendor/github.com/bytedance/sonic/loader/funcdata_go118.go @@ -1,4 +1,5 @@ // go:build go1.18 && !go1.20 +//go:build go1.18 && !go1.20 // +build go1.18,!go1.20 /* @@ -20,32 +21,13 @@ package loader import ( - `encoding` - `os` - `unsafe` - - `github.com/bytedance/sonic/internal/rt` + `github.com/bytedance/sonic/loader/internal/rt` ) const ( _Magic uint32 = 0xfffffff0 ) -type pcHeader struct { - magic uint32 // 0xFFFFFFF0 - pad1, pad2 uint8 // 0,0 - minLC uint8 // min instruction size - ptrSize uint8 // size of a ptr in bytes - nfunc int // number of functions in the module - nfiles uint // number of entries in the file tab - textStart uintptr // base for function entry PC offsets in this module, equal to moduledata.text - funcnameOffset uintptr // offset to the funcnametab variable from pcHeader - cuOffset uintptr // offset to the cutab variable from pcHeader - filetabOffset uintptr // offset to the filetab variable from pcHeader - pctabOffset uintptr // offset to the pctab variable from pcHeader - pclnOffset uintptr // offset to the pclntab variable from pcHeader -} - type moduledata struct { pcHeader *pcHeader funcnametab []byte @@ -129,413 +111,3 @@ type _func struct { // // funcdata [nfuncdata]uint32 } - -type funcTab struct { - entry uint32 - funcoff uint32 -} - -type bitVector struct { - n int32 // # of bits - bytedata *uint8 -} - -type ptabEntry struct { - name int32 - typ int32 -} - -type textSection struct { - vaddr uintptr // prelinked section vaddr - end uintptr // vaddr + section length - baseaddr uintptr // relocated section address -} - -type modulehash struct { - modulename string - linktimehash string - runtimehash *string -} - -// findfuncbucket is an array of these structures. -// Each bucket represents 4096 bytes of the text segment. -// Each subbucket represents 256 bytes of the text segment. -// To find a function given a pc, locate the bucket and subbucket for -// that pc. Add together the idx and subbucket value to obtain a -// function index. Then scan the functab array starting at that -// index to find the target function. -// This table uses 20 bytes for every 4096 bytes of code, or ~0.5% overhead. -type findfuncbucket struct { - idx uint32 - _SUBBUCKETS [16]byte -} - -// func name table format: -// nameOff[0] -> namePartA namePartB namePartC \x00 -// nameOff[1] -> namePartA namePartB namePartC \x00 -// ... -func makeFuncnameTab(funcs []Func) (tab []byte, offs []int32) { - offs = make([]int32, len(funcs)) - offset := 0 - - for i, f := range funcs { - offs[i] = int32(offset) - - a, b, c := funcNameParts(f.Name) - tab = append(tab, a...) - tab = append(tab, b...) - tab = append(tab, c...) - tab = append(tab, 0) - offset += len(a) + len(b) + len(c) + 1 - } - - return -} - -type compilationUnit struct { - fileNames []string -} - -// CU table format: -// cuOffsets[0] -> filetabOffset[0] filetabOffset[1] ... filetabOffset[len(CUs[0].fileNames)-1] -// cuOffsets[1] -> filetabOffset[len(CUs[0].fileNames)] ... filetabOffset[len(CUs[0].fileNames) + len(CUs[1].fileNames)-1] -// ... -// -// file name table format: -// filetabOffset[0] -> CUs[0].fileNames[0] \x00 -// ... -// filetabOffset[len(CUs[0]-1)] -> CUs[0].fileNames[len(CUs[0].fileNames)-1] \x00 -// ... -// filetabOffset[SUM(CUs,fileNames)-1] -> CUs[len(CU)-1].fileNames[len(CUs[len(CU)-1].fileNames)-1] \x00 -func makeFilenametab(cus []compilationUnit) (cutab []uint32, filetab []byte, cuOffsets []uint32) { - cuOffsets = make([]uint32, len(cus)) - cuOffset := 0 - fileOffset := 0 - - for i, cu := range cus { - cuOffsets[i] = uint32(cuOffset) - - for _, name := range cu.fileNames { - cutab = append(cutab, uint32(fileOffset)) - - fileOffset += len(name) + 1 - filetab = append(filetab, name...) - filetab = append(filetab, 0) - } - - cuOffset += len(cu.fileNames) - } - - return -} - -func writeFuncdata(out *[]byte, funcs []Func) (fstart int, funcdataOffs [][]uint32) { - fstart = len(*out) - *out = append(*out, byte(0)) - offs := uint32(1) - - funcdataOffs = make([][]uint32, len(funcs)) - for i, f := range funcs { - - var writer = func(fd encoding.BinaryMarshaler) { - var ab []byte - var err error - if fd != nil { - ab, err = fd.MarshalBinary() - if err != nil { - panic(err) - } - funcdataOffs[i] = append(funcdataOffs[i], offs) - } else { - ab = []byte{0} - funcdataOffs[i] = append(funcdataOffs[i], _INVALID_FUNCDATA_OFFSET) - } - *out = append(*out, ab...) - offs += uint32(len(ab)) - } - - writer(f.ArgsPointerMaps) - writer(f.LocalsPointerMaps) - writer(f.StackObjects) - writer(f.InlTree) - writer(f.OpenCodedDeferInfo) - writer(f.ArgInfo) - writer(f.ArgLiveInfo) - writer(f.WrapInfo) - } - return -} - -func makeFtab(funcs []_func, lastFuncSize uint32) (ftab []funcTab) { - // Allocate space for the pc->func table. This structure consists of a pc offset - // and an offset to the func structure. After that, we have a single pc - // value that marks the end of the last function in the binary. - var size int64 = int64(len(funcs)*2*4 + 4) - var startLocations = make([]uint32, len(funcs)) - for i, f := range funcs { - size = rnd(size, int64(_PtrSize)) - //writePCToFunc - startLocations[i] = uint32(size) - size += int64(uint8(_FUNC_SIZE)+f.nfuncdata*4+uint8(f.npcdata)*4) - } - - ftab = make([]funcTab, 0, len(funcs)+1) - - // write a map of pc->func info offsets - for i, f := range funcs { - ftab = append(ftab, funcTab{uint32(f.entryOff), uint32(startLocations[i])}) - } - - // Final entry of table is just end pc offset. - lastFunc := funcs[len(funcs)-1] - ftab = append(ftab, funcTab{uint32(lastFunc.entryOff + lastFuncSize), 0}) - - return -} - -// Pcln table format: [...]funcTab + [...]_Func -func makePclntable(funcs []_func, lastFuncSize uint32, pcdataOffs [][]uint32, funcdataOffs [][]uint32) (pclntab []byte) { - // Allocate space for the pc->func table. This structure consists of a pc offset - // and an offset to the func structure. After that, we have a single pc - // value that marks the end of the last function in the binary. - var size int64 = int64(len(funcs)*2*4 + 4) - var startLocations = make([]uint32, len(funcs)) - for i := range funcs { - size = rnd(size, int64(_PtrSize)) - //writePCToFunc - startLocations[i] = uint32(size) - size += int64(int(_FUNC_SIZE)+len(funcdataOffs[i])*4+len(pcdataOffs[i])*4) - } - - pclntab = make([]byte, size, size) - - // write a map of pc->func info offsets - offs := 0 - for i, f := range funcs { - byteOrder.PutUint32(pclntab[offs:offs+4], uint32(f.entryOff)) - byteOrder.PutUint32(pclntab[offs+4:offs+8], uint32(startLocations[i])) - offs += 8 - } - // Final entry of table is just end pc offset. - lastFunc := funcs[len(funcs)-1] - byteOrder.PutUint32(pclntab[offs:offs+4], uint32(lastFunc.entryOff+lastFuncSize)) - - // write func info table - for i, f := range funcs { - off := startLocations[i] - - // write _func structure to pclntab - fb := rt.BytesFrom(unsafe.Pointer(&f), int(_FUNC_SIZE), int(_FUNC_SIZE)) - copy(pclntab[off:off+uint32(_FUNC_SIZE)], fb) - off += uint32(_FUNC_SIZE) - - // NOTICE: _func.pcdata always starts from PcUnsafePoint, which is index 3 - for j := 3; j < len(pcdataOffs[i]); j++ { - byteOrder.PutUint32(pclntab[off:off+4], uint32(pcdataOffs[i][j])) - off += 4 - } - - // funcdata refs as offsets from gofunc - for _, funcdata := range funcdataOffs[i] { - byteOrder.PutUint32(pclntab[off:off+4], uint32(funcdata)) - off += 4 - } - - } - - return -} - -// findfunc table used to map pc to belonging func, -// returns the index in the func table. -// -// All text section are divided into buckets sized _BUCKETSIZE(4K): -// every bucket is divided into _SUBBUCKETS sized _SUB_BUCKETSIZE(64), -// and it has a base idx to plus the offset stored in jth subbucket. -// see findfunc() in runtime/symtab.go -func writeFindfunctab(out *[]byte, ftab []funcTab) (start int) { - start = len(*out) - - max := ftab[len(ftab)-1].entry - min := ftab[0].entry - nbuckets := (max - min + _BUCKETSIZE - 1) / _BUCKETSIZE - n := (max - min + _SUB_BUCKETSIZE - 1) / _SUB_BUCKETSIZE - - tab := make([]findfuncbucket, 0, nbuckets) - var s, e = 0, 0 - for i := 0; i 0 { - size := int(unsafe.Sizeof(findfuncbucket{}))*len(tab) - *out = append(*out, rt.BytesFrom(unsafe.Pointer(&tab[0]), size, size)...) - } - return -} - -func makeModuledata(name string, filenames []string, funcs []Func, text []byte) (mod *moduledata) { - mod = new(moduledata) - mod.modulename = name - - // make filename table - cu := make([]string, 0, len(filenames)) - for _, f := range filenames { - cu = append(cu, f) - } - cutab, filetab, cuOffs := makeFilenametab([]compilationUnit{{cu}}) - mod.cutab = cutab - mod.filetab = filetab - - // make funcname table - funcnametab, nameOffs := makeFuncnameTab(funcs) - mod.funcnametab = funcnametab - - // make pcdata table - // NOTICE: _func only use offset to index pcdata, thus no need mmap() pcdata - pctab, pcdataOffs, _funcs := makePctab(funcs, cuOffs, nameOffs) - mod.pctab = pctab - - // write func data - // NOTICE: _func use mod.gofunc+offset to directly point funcdata, thus need cache funcdata - // TODO: estimate accurate capacity - cache := make([]byte, 0, len(funcs)*int(_PtrSize)) - fstart, funcdataOffs := writeFuncdata(&cache, funcs) - - // make pc->func (binary search) func table - lastFuncsize := funcs[len(funcs)-1].TextSize - ftab := makeFtab(_funcs, lastFuncsize) - mod.ftab = ftab - - // write pc->func (modmap) findfunc table - ffstart := writeFindfunctab(&cache, ftab) - - // make pclnt table - pclntab := makePclntable(_funcs, lastFuncsize, pcdataOffs, funcdataOffs) - mod.pclntable = pclntab - - // mmap() text and funcdata segements - p := os.Getpagesize() - size := int(rnd(int64(len(text)), int64(p))) - addr := mmap(size) - // copy the machine code - s := rt.BytesFrom(unsafe.Pointer(addr), len(text), size) - copy(s, text) - // make it executable - mprotect(addr, size) - - // assign addresses - mod.text = addr - mod.etext = addr + uintptr(size) - mod.minpc = addr - mod.maxpc = addr + uintptr(len(text)) - - // cache funcdata and findfuncbucket - moduleCache.Lock() - moduleCache.m[mod] = cache - moduleCache.Unlock() - mod.gofunc = uintptr(unsafe.Pointer(&cache[fstart])) - mod.findfunctab = uintptr(unsafe.Pointer(&cache[ffstart])) - - // make pc header - mod.pcHeader = &pcHeader { - magic : _Magic, - minLC : _MinLC, - ptrSize : _PtrSize, - nfunc : len(funcs), - nfiles: uint(len(cu)), - textStart: mod.text, - funcnameOffset: getOffsetOf(moduledata{}, "funcnametab"), - cuOffset: getOffsetOf(moduledata{}, "cutab"), - filetabOffset: getOffsetOf(moduledata{}, "filetab"), - pctabOffset: getOffsetOf(moduledata{}, "pctab"), - pclnOffset: getOffsetOf(moduledata{}, "pclntable"), - } - - // sepecial case: gcdata and gcbss must by non-empty - mod.gcdata = uintptr(unsafe.Pointer(&emptyByte)) - mod.gcbss = uintptr(unsafe.Pointer(&emptyByte)) - - return -} - -// makePctab generates pcdelta->valuedelta tables for functions, -// and returns the table and the entry offset of every kind pcdata in the table. -func makePctab(funcs []Func, cuOffset []uint32, nameOffset []int32) (pctab []byte, pcdataOffs [][]uint32, _funcs []_func) { - _funcs = make([]_func, len(funcs)) - - // Pctab offsets of 0 are considered invalid in the runtime. We respect - // that by just padding a single byte at the beginning of runtime.pctab, - // that way no real offsets can be zero. - pctab = make([]byte, 1, 12*len(funcs)+1) - pcdataOffs = make([][]uint32, len(funcs)) - - for i, f := range funcs { - _f := &_funcs[i] - - var writer = func(pc *Pcdata) { - var ab []byte - var err error - if pc != nil { - ab, err = pc.MarshalBinary() - if err != nil { - panic(err) - } - pcdataOffs[i] = append(pcdataOffs[i], uint32(len(pctab))) - } else { - ab = []byte{0} - pcdataOffs[i] = append(pcdataOffs[i], _PCDATA_INVALID_OFFSET) - } - pctab = append(pctab, ab...) - } - - if f.Pcsp != nil { - _f.pcsp = uint32(len(pctab)) - } - writer(f.Pcsp) - if f.Pcfile != nil { - _f.pcfile = uint32(len(pctab)) - } - writer(f.Pcfile) - if f.Pcline != nil { - _f.pcln = uint32(len(pctab)) - } - writer(f.Pcline) - writer(f.PcUnsafePoint) - writer(f.PcStackMapIndex) - writer(f.PcInlTreeIndex) - writer(f.PcArgLiveIndex) - - _f.entryOff = f.EntryOff - _f.nameOff = nameOffset[i] - _f.args = f.ArgsSize - _f.deferreturn = f.DeferReturn - // NOTICE: _func.pcdata is always as [PCDATA_UnsafePoint(0) : PCDATA_ArgLiveIndex(3)] - _f.npcdata = uint32(_N_PCDATA) - _f.cuOffset = cuOffset[i] - _f.funcID = f.ID - _f.flag = f.Flag - _f.nfuncdata = uint8(_N_FUNCDATA) - } - - return -} - -func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argptrs uintptr, localptrs uintptr) {} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/loader/funcdata_go120.go b/vendor/github.com/bytedance/sonic/loader/funcdata_go120.go index 906fe37..803312f 100644 --- a/vendor/github.com/bytedance/sonic/loader/funcdata_go120.go +++ b/vendor/github.com/bytedance/sonic/loader/funcdata_go120.go @@ -20,11 +20,7 @@ package loader import ( - `encoding` - `os` - `unsafe` - - `github.com/bytedance/sonic/internal/rt` + `github.com/bytedance/sonic/loader/internal/rt` ) const ( @@ -51,8 +47,6 @@ type moduledata struct { end, gcdata, gcbss uintptr types, etypes uintptr rodata uintptr - - // TODO: generate funcinfo object to memory gofunc uintptr // go.func.* is actual funcinfo object in image textsectmap []textSection // see runtime/symtab.go: textAddr() @@ -118,428 +112,3 @@ type _func struct { // // funcdata [nfuncdata]uint32 } - -type funcTab struct { - entry uint32 - funcoff uint32 -} - -type pcHeader struct { - magic uint32 // 0xFFFFFFF0 - pad1, pad2 uint8 // 0,0 - minLC uint8 // min instruction size - ptrSize uint8 // size of a ptr in bytes - nfunc int // number of functions in the module - nfiles uint // number of entries in the file tab - textStart uintptr // base for function entry PC offsets in this module, equal to moduledata.text - funcnameOffset uintptr // offset to the funcnametab variable from pcHeader - cuOffset uintptr // offset to the cutab variable from pcHeader - filetabOffset uintptr // offset to the filetab variable from pcHeader - pctabOffset uintptr // offset to the pctab variable from pcHeader - pclnOffset uintptr // offset to the pclntab variable from pcHeader -} - -type bitVector struct { - n int32 // # of bits - bytedata *uint8 -} - -type ptabEntry struct { - name int32 - typ int32 -} - -type textSection struct { - vaddr uintptr // prelinked section vaddr - end uintptr // vaddr + section length - baseaddr uintptr // relocated section address -} - -type modulehash struct { - modulename string - linktimehash string - runtimehash *string -} - -// findfuncbucket is an array of these structures. -// Each bucket represents 4096 bytes of the text segment. -// Each subbucket represents 256 bytes of the text segment. -// To find a function given a pc, locate the bucket and subbucket for -// that pc. Add together the idx and subbucket value to obtain a -// function index. Then scan the functab array starting at that -// index to find the target function. -// This table uses 20 bytes for every 4096 bytes of code, or ~0.5% overhead. -type findfuncbucket struct { - idx uint32 - _SUBBUCKETS [16]byte -} - -// func name table format: -// nameOff[0] -> namePartA namePartB namePartC \x00 -// nameOff[1] -> namePartA namePartB namePartC \x00 -// ... -func makeFuncnameTab(funcs []Func) (tab []byte, offs []int32) { - offs = make([]int32, len(funcs)) - offset := 0 - - for i, f := range funcs { - offs[i] = int32(offset) - - a, b, c := funcNameParts(f.Name) - tab = append(tab, a...) - tab = append(tab, b...) - tab = append(tab, c...) - tab = append(tab, 0) - offset += len(a) + len(b) + len(c) + 1 - } - - return -} - -type compilationUnit struct { - fileNames []string -} - -// CU table format: -// cuOffsets[0] -> filetabOffset[0] filetabOffset[1] ... filetabOffset[len(CUs[0].fileNames)-1] -// cuOffsets[1] -> filetabOffset[len(CUs[0].fileNames)] ... filetabOffset[len(CUs[0].fileNames) + len(CUs[1].fileNames)-1] -// ... -// -// file name table format: -// filetabOffset[0] -> CUs[0].fileNames[0] \x00 -// ... -// filetabOffset[len(CUs[0]-1)] -> CUs[0].fileNames[len(CUs[0].fileNames)-1] \x00 -// ... -// filetabOffset[SUM(CUs,fileNames)-1] -> CUs[len(CU)-1].fileNames[len(CUs[len(CU)-1].fileNames)-1] \x00 -func makeFilenametab(cus []compilationUnit) (cutab []uint32, filetab []byte, cuOffsets []uint32) { - cuOffsets = make([]uint32, len(cus)) - cuOffset := 0 - fileOffset := 0 - - for i, cu := range cus { - cuOffsets[i] = uint32(cuOffset) - - for _, name := range cu.fileNames { - cutab = append(cutab, uint32(fileOffset)) - - fileOffset += len(name) + 1 - filetab = append(filetab, name...) - filetab = append(filetab, 0) - } - - cuOffset += len(cu.fileNames) - } - - return -} - -func writeFuncdata(out *[]byte, funcs []Func) (fstart int, funcdataOffs [][]uint32) { - fstart = len(*out) - *out = append(*out, byte(0)) - offs := uint32(1) - - funcdataOffs = make([][]uint32, len(funcs)) - for i, f := range funcs { - - var writer = func(fd encoding.BinaryMarshaler) { - var ab []byte - var err error - if fd != nil { - ab, err = fd.MarshalBinary() - if err != nil { - panic(err) - } - funcdataOffs[i] = append(funcdataOffs[i], offs) - } else { - ab = []byte{0} - funcdataOffs[i] = append(funcdataOffs[i], _INVALID_FUNCDATA_OFFSET) - } - *out = append(*out, ab...) - offs += uint32(len(ab)) - } - - writer(f.ArgsPointerMaps) - writer(f.LocalsPointerMaps) - writer(f.StackObjects) - writer(f.InlTree) - writer(f.OpenCodedDeferInfo) - writer(f.ArgInfo) - writer(f.ArgLiveInfo) - writer(f.WrapInfo) - } - return -} - -func makeFtab(funcs []_func, lastFuncSize uint32) (ftab []funcTab) { - // Allocate space for the pc->func table. This structure consists of a pc offset - // and an offset to the func structure. After that, we have a single pc - // value that marks the end of the last function in the binary. - var size int64 = int64(len(funcs)*2*4 + 4) - var startLocations = make([]uint32, len(funcs)) - for i, f := range funcs { - size = rnd(size, int64(_PtrSize)) - //writePCToFunc - startLocations[i] = uint32(size) - size += int64(uint8(_FUNC_SIZE)+f.nfuncdata*4+uint8(f.npcdata)*4) - } - - ftab = make([]funcTab, 0, len(funcs)+1) - - // write a map of pc->func info offsets - for i, f := range funcs { - ftab = append(ftab, funcTab{uint32(f.entryOff), uint32(startLocations[i])}) - } - - // Final entry of table is just end pc offset. - lastFunc := funcs[len(funcs)-1] - ftab = append(ftab, funcTab{uint32(lastFunc.entryOff + lastFuncSize), 0}) - - return -} - -// Pcln table format: [...]funcTab + [...]_Func -func makePclntable(funcs []_func, lastFuncSize uint32, pcdataOffs [][]uint32, funcdataOffs [][]uint32) (pclntab []byte) { - // Allocate space for the pc->func table. This structure consists of a pc offset - // and an offset to the func structure. After that, we have a single pc - // value that marks the end of the last function in the binary. - var size int64 = int64(len(funcs)*2*4 + 4) - var startLocations = make([]uint32, len(funcs)) - for i := range funcs { - size = rnd(size, int64(_PtrSize)) - //writePCToFunc - startLocations[i] = uint32(size) - size += int64(int(_FUNC_SIZE)+len(funcdataOffs[i])*4+len(pcdataOffs[i])*4) - } - - pclntab = make([]byte, size, size) - - // write a map of pc->func info offsets - offs := 0 - for i, f := range funcs { - byteOrder.PutUint32(pclntab[offs:offs+4], uint32(f.entryOff)) - byteOrder.PutUint32(pclntab[offs+4:offs+8], uint32(startLocations[i])) - offs += 8 - } - // Final entry of table is just end pc offset. - lastFunc := funcs[len(funcs)-1] - byteOrder.PutUint32(pclntab[offs:offs+4], uint32(lastFunc.entryOff+lastFuncSize)) - - // write func info table - for i, f := range funcs { - off := startLocations[i] - - // write _func structure to pclntab - fb := rt.BytesFrom(unsafe.Pointer(&f), int(_FUNC_SIZE), int(_FUNC_SIZE)) - copy(pclntab[off:off+uint32(_FUNC_SIZE)], fb) - off += uint32(_FUNC_SIZE) - - // NOTICE: _func.pcdata always starts from PcUnsafePoint, which is index 3 - for j := 3; j < len(pcdataOffs[i]); j++ { - byteOrder.PutUint32(pclntab[off:off+4], uint32(pcdataOffs[i][j])) - off += 4 - } - - // funcdata refs as offsets from gofunc - for _, funcdata := range funcdataOffs[i] { - byteOrder.PutUint32(pclntab[off:off+4], uint32(funcdata)) - off += 4 - } - - } - - return -} - -// findfunc table used to map pc to belonging func, -// returns the index in the func table. -// -// All text section are divided into buckets sized _BUCKETSIZE(4K): -// every bucket is divided into _SUBBUCKETS sized _SUB_BUCKETSIZE(64), -// and it has a base idx to plus the offset stored in jth subbucket. -// see findfunc() in runtime/symtab.go -func writeFindfunctab(out *[]byte, ftab []funcTab) (start int) { - start = len(*out) - - max := ftab[len(ftab)-1].entry - min := ftab[0].entry - nbuckets := (max - min + _BUCKETSIZE - 1) / _BUCKETSIZE - n := (max - min + _SUB_BUCKETSIZE - 1) / _SUB_BUCKETSIZE - - tab := make([]findfuncbucket, 0, nbuckets) - var s, e = 0, 0 - for i := 0; i 0 { - size := int(unsafe.Sizeof(findfuncbucket{}))*len(tab) - *out = append(*out, rt.BytesFrom(unsafe.Pointer(&tab[0]), size, size)...) - } - return -} - -func makeModuledata(name string, filenames []string, funcs []Func, text []byte) (mod *moduledata) { - mod = new(moduledata) - mod.modulename = name - - // make filename table - cu := make([]string, 0, len(filenames)) - for _, f := range filenames { - cu = append(cu, f) - } - cutab, filetab, cuOffs := makeFilenametab([]compilationUnit{{cu}}) - mod.cutab = cutab - mod.filetab = filetab - - // make funcname table - funcnametab, nameOffs := makeFuncnameTab(funcs) - mod.funcnametab = funcnametab - - // make pcdata table - // NOTICE: _func only use offset to index pcdata, thus no need mmap() pcdata - pctab, pcdataOffs, _funcs := makePctab(funcs, cuOffs, nameOffs) - mod.pctab = pctab - - // write func data - // NOTICE: _func use mod.gofunc+offset to directly point funcdata, thus need cache funcdata - // TODO: estimate accurate capacity - cache := make([]byte, 0, len(funcs)*int(_PtrSize)) - fstart, funcdataOffs := writeFuncdata(&cache, funcs) - - // make pc->func (binary search) func table - lastFuncsize := funcs[len(funcs)-1].TextSize - ftab := makeFtab(_funcs, lastFuncsize) - mod.ftab = ftab - - // write pc->func (modmap) findfunc table - ffstart := writeFindfunctab(&cache, ftab) - - // make pclnt table - pclntab := makePclntable(_funcs, lastFuncsize, pcdataOffs, funcdataOffs) - mod.pclntable = pclntab - - // mmap() text and funcdata segements - p := os.Getpagesize() - size := int(rnd(int64(len(text)), int64(p))) - addr := mmap(size) - // copy the machine code - s := rt.BytesFrom(unsafe.Pointer(addr), len(text), size) - copy(s, text) - // make it executable - mprotect(addr, size) - - // assign addresses - mod.text = addr - mod.etext = addr + uintptr(size) - mod.minpc = addr - mod.maxpc = addr + uintptr(len(text)) - - // cache funcdata and findfuncbucket - moduleCache.Lock() - moduleCache.m[mod] = cache - moduleCache.Unlock() - mod.gofunc = uintptr(unsafe.Pointer(&cache[fstart])) - mod.findfunctab = uintptr(unsafe.Pointer(&cache[ffstart])) - - // make pc header - mod.pcHeader = &pcHeader { - magic : _Magic, - minLC : _MinLC, - ptrSize : _PtrSize, - nfunc : len(funcs), - nfiles: uint(len(cu)), - textStart: mod.text, - funcnameOffset: getOffsetOf(moduledata{}, "funcnametab"), - cuOffset: getOffsetOf(moduledata{}, "cutab"), - filetabOffset: getOffsetOf(moduledata{}, "filetab"), - pctabOffset: getOffsetOf(moduledata{}, "pctab"), - pclnOffset: getOffsetOf(moduledata{}, "pclntable"), - } - - // sepecial case: gcdata and gcbss must by non-empty - mod.gcdata = uintptr(unsafe.Pointer(&emptyByte)) - mod.gcbss = uintptr(unsafe.Pointer(&emptyByte)) - - return -} - -// makePctab generates pcdelta->valuedelta tables for functions, -// and returns the table and the entry offset of every kind pcdata in the table. -func makePctab(funcs []Func, cuOffset []uint32, nameOffset []int32) (pctab []byte, pcdataOffs [][]uint32, _funcs []_func) { - _funcs = make([]_func, len(funcs)) - - // Pctab offsets of 0 are considered invalid in the runtime. We respect - // that by just padding a single byte at the beginning of runtime.pctab, - // that way no real offsets can be zero. - pctab = make([]byte, 1, 12*len(funcs)+1) - pcdataOffs = make([][]uint32, len(funcs)) - - for i, f := range funcs { - _f := &_funcs[i] - - var writer = func(pc *Pcdata) { - var ab []byte - var err error - if pc != nil { - ab, err = pc.MarshalBinary() - if err != nil { - panic(err) - } - pcdataOffs[i] = append(pcdataOffs[i], uint32(len(pctab))) - } else { - ab = []byte{0} - pcdataOffs[i] = append(pcdataOffs[i], _PCDATA_INVALID_OFFSET) - } - pctab = append(pctab, ab...) - } - - if f.Pcsp != nil { - _f.pcsp = uint32(len(pctab)) - } - writer(f.Pcsp) - if f.Pcfile != nil { - _f.pcfile = uint32(len(pctab)) - } - writer(f.Pcfile) - if f.Pcline != nil { - _f.pcln = uint32(len(pctab)) - } - writer(f.Pcline) - writer(f.PcUnsafePoint) - writer(f.PcStackMapIndex) - writer(f.PcInlTreeIndex) - writer(f.PcArgLiveIndex) - - _f.entryOff = f.EntryOff - _f.nameOff = nameOffset[i] - _f.args = f.ArgsSize - _f.deferreturn = f.DeferReturn - // NOTICE: _func.pcdata is always as [PCDATA_UnsafePoint(0) : PCDATA_ArgLiveIndex(3)] - _f.npcdata = uint32(_N_PCDATA) - _f.cuOffset = cuOffset[i] - _f.funcID = f.ID - _f.flag = f.Flag - _f.nfuncdata = uint8(_N_FUNCDATA) - } - - return -} - -func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argptrs uintptr, localptrs uintptr) {} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/loader/funcdata_go121.go b/vendor/github.com/bytedance/sonic/loader/funcdata_go121.go new file mode 100644 index 0000000..8130ffc --- /dev/null +++ b/vendor/github.com/bytedance/sonic/loader/funcdata_go121.go @@ -0,0 +1,119 @@ +//go:build go1.21 && !go1.23 +// +build go1.21,!go1.23 + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package loader + +import ( + `unsafe` + `github.com/bytedance/sonic/loader/internal/rt` +) + +const ( + _Magic uint32 = 0xFFFFFFF1 +) + +type moduledata struct { + pcHeader *pcHeader + funcnametab []byte + cutab []uint32 + filetab []byte + pctab []byte + pclntable []byte + ftab []funcTab + findfunctab uintptr + minpc, maxpc uintptr // first func address, last func address + last func size + + text, etext uintptr // start/end of text, (etext-text) must be greater than MIN_FUNC + noptrdata, enoptrdata uintptr + data, edata uintptr + bss, ebss uintptr + noptrbss, enoptrbss uintptr + covctrs, ecovctrs uintptr + end, gcdata, gcbss uintptr + types, etypes uintptr + rodata uintptr + gofunc uintptr // go.func.* is actual funcinfo object in image + + textsectmap []textSection // see runtime/symtab.go: textAddr() + typelinks []int32 // offsets from types + itablinks []*rt.GoItab + + ptab []ptabEntry + + pluginpath string + pkghashes []modulehash + + // This slice records the initializing tasks that need to be + // done to start up the program. It is built by the linker. + inittasks []unsafe.Pointer + + modulename string + modulehashes []modulehash + + hasmain uint8 // 1 if module contains the main function, 0 otherwise + + gcdatamask, gcbssmask bitVector + + typemap map[int32]*rt.GoType // offset to *_rtype in previous module + + bad bool // module failed to load and should be ignored + + next *moduledata +} + +type _func struct { + entryOff uint32 // start pc, as offset from moduledata.text/pcHeader.textStart + nameOff int32 // function name, as index into moduledata.funcnametab. + + args int32 // in/out args size + deferreturn uint32 // offset of start of a deferreturn call instruction from entry, if any. + + pcsp uint32 + pcfile uint32 + pcln uint32 + npcdata uint32 + cuOffset uint32 // runtime.cutab offset of this function's CU + startLine int32 // line number of start of function (func keyword/TEXT directive) + funcID uint8 // set for certain special runtime functions + flag uint8 + _ [1]byte // pad + nfuncdata uint8 // + + // The end of the struct is followed immediately by two variable-length + // arrays that reference the pcdata and funcdata locations for this + // function. + + // pcdata contains the offset into moduledata.pctab for the start of + // that index's table. e.g., + // &moduledata.pctab[_func.pcdata[_PCDATA_UnsafePoint]] is the start of + // the unsafe point table. + // + // An offset of 0 indicates that there is no table. + // + // pcdata [npcdata]uint32 + + // funcdata contains the offset past moduledata.gofunc which contains a + // pointer to that index's funcdata. e.g., + // *(moduledata.gofunc + _func.funcdata[_FUNCDATA_ArgsPointerMaps]) is + // the argument pointer map. + // + // An offset of ^uint32(0) indicates that there is no entry. + // + // funcdata [nfuncdata]uint32 +} diff --git a/vendor/github.com/bytedance/sonic/loader/funcdata_latest.go b/vendor/github.com/bytedance/sonic/loader/funcdata_latest.go new file mode 100644 index 0000000..6029f20 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/loader/funcdata_latest.go @@ -0,0 +1,355 @@ +// go:build go1.18 && !go1.23 +// +build go1.18,!go1.23 + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package loader + +import ( + `os` + `sort` + `unsafe` + + `github.com/bytedance/sonic/loader/internal/rt` +) + +type funcTab struct { + entry uint32 + funcoff uint32 +} + +type pcHeader struct { + magic uint32 // 0xFFFFFFF0 + pad1, pad2 uint8 // 0,0 + minLC uint8 // min instruction size + ptrSize uint8 // size of a ptr in bytes + nfunc int // number of functions in the module + nfiles uint // number of entries in the file tab + textStart uintptr // base for function entry PC offsets in this module, equal to moduledata.text + funcnameOffset uintptr // offset to the funcnametab variable from pcHeader + cuOffset uintptr // offset to the cutab variable from pcHeader + filetabOffset uintptr // offset to the filetab variable from pcHeader + pctabOffset uintptr // offset to the pctab variable from pcHeader + pclnOffset uintptr // offset to the pclntab variable from pcHeader +} + +type bitVector struct { + n int32 // # of bits + bytedata *uint8 +} + +type ptabEntry struct { + name int32 + typ int32 +} + +type textSection struct { + vaddr uintptr // prelinked section vaddr + end uintptr // vaddr + section length + baseaddr uintptr // relocated section address +} + +type modulehash struct { + modulename string + linktimehash string + runtimehash *string +} + +// findfuncbucket is an array of these structures. +// Each bucket represents 4096 bytes of the text segment. +// Each subbucket represents 256 bytes of the text segment. +// To find a function given a pc, locate the bucket and subbucket for +// that pc. Add together the idx and subbucket value to obtain a +// function index. Then scan the functab array starting at that +// index to find the target function. +// This table uses 20 bytes for every 4096 bytes of code, or ~0.5% overhead. +type findfuncbucket struct { + idx uint32 + _SUBBUCKETS [16]byte +} + +type compilationUnit struct { + fileNames []string +} + +func makeFtab(funcs []_func, maxpc uint32) (ftab []funcTab, pclntabSize int64, startLocations []uint32) { + // Allocate space for the pc->func table. This structure consists of a pc offset + // and an offset to the func structure. After that, we have a single pc + // value that marks the end of the last function in the binary. + pclntabSize = int64(len(funcs)*2*int(_PtrSize) + int(_PtrSize)) + startLocations = make([]uint32, len(funcs)) + for i, f := range funcs { + pclntabSize = rnd(pclntabSize, int64(_PtrSize)) + //writePCToFunc + startLocations[i] = uint32(pclntabSize) + pclntabSize += int64(uint8(_FUNC_SIZE)+f.nfuncdata*4+uint8(f.npcdata)*4) + } + + ftab = make([]funcTab, 0, len(funcs)+1) + + // write a map of pc->func info offsets + for i, f := range funcs { + ftab = append(ftab, funcTab{uint32(f.entryOff), uint32(startLocations[i])}) + } + + // Final entry of table is just end pc offset. + ftab = append(ftab, funcTab{maxpc, 0}) + return +} + +// Pcln table format: [...]funcTab + [...]_Func +func makePclntable(size int64, startLocations []uint32, funcs []_func, maxpc uint32, pcdataOffs [][]uint32, funcdataOffs [][]uint32) (pclntab []byte) { + // Allocate space for the pc->func table. This structure consists of a pc offset + // and an offset to the func structure. After that, we have a single pc + // value that marks the end of the last function in the binary. + pclntab = make([]byte, size, size) + + // write a map of pc->func info offsets + offs := 0 + for i, f := range funcs { + byteOrder.PutUint32(pclntab[offs:offs+4], uint32(f.entryOff)) + byteOrder.PutUint32(pclntab[offs+4:offs+8], uint32(startLocations[i])) + offs += 8 + } + // Final entry of table is just end pc offset. + byteOrder.PutUint32(pclntab[offs:offs+4], maxpc) + + // write func info table + for i := range funcs { + off := startLocations[i] + + // write _func structure to pclntab + fb := rt.BytesFrom(unsafe.Pointer(&funcs[i]), int(_FUNC_SIZE), int(_FUNC_SIZE)) + copy(pclntab[off:off+uint32(_FUNC_SIZE)], fb) + off += uint32(_FUNC_SIZE) + + // NOTICE: _func.pcdata always starts from PcUnsafePoint, which is index 3 + for j := 3; j < len(pcdataOffs[i]); j++ { + byteOrder.PutUint32(pclntab[off:off+4], uint32(pcdataOffs[i][j])) + off += 4 + } + + // funcdata refs as offsets from gofunc + for _, funcdata := range funcdataOffs[i] { + byteOrder.PutUint32(pclntab[off:off+4], uint32(funcdata)) + off += 4 + } + + } + + return +} + +// findfunc table used to map pc to belonging func, +// returns the index in the func table. +// +// All text section are divided into buckets sized _BUCKETSIZE(4K): +// every bucket is divided into _SUBBUCKETS sized _SUB_BUCKETSIZE(64), +// and it has a base idx to plus the offset stored in jth subbucket. +// see findfunc() in runtime/symtab.go +func writeFindfunctab(out *[]byte, ftab []funcTab) (start int) { + start = len(*out) + + max := ftab[len(ftab)-1].entry + min := ftab[0].entry + nbuckets := (max - min + _BUCKETSIZE - 1) / _BUCKETSIZE + n := (max - min + _SUB_BUCKETSIZE - 1) / _SUB_BUCKETSIZE + + tab := make([]findfuncbucket, 0, nbuckets) + var s, e = 0, 0 + for i := 0; i 0 { + size := int(unsafe.Sizeof(findfuncbucket{}))*len(tab) + *out = append(*out, rt.BytesFrom(unsafe.Pointer(&tab[0]), size, size)...) + } + return +} + +func makeModuledata(name string, filenames []string, funcsp *[]Func, text []byte) (mod *moduledata) { + mod = new(moduledata) + mod.modulename = name + + // sort funcs by entry + funcs := *funcsp + sort.Slice(funcs, func(i, j int) bool { + return funcs[i].EntryOff < funcs[j].EntryOff + }) + *funcsp = funcs + + // make filename table + cu := make([]string, 0, len(filenames)) + cu = append(cu, filenames...) + cutab, filetab, cuOffs := makeFilenametab([]compilationUnit{{cu}}) + mod.cutab = cutab + mod.filetab = filetab + + // make funcname table + funcnametab, nameOffs := makeFuncnameTab(funcs) + mod.funcnametab = funcnametab + + // mmap() text and funcdata segements + p := os.Getpagesize() + size := int(rnd(int64(len(text)), int64(p))) + addr := mmap(size) + // copy the machine code + s := rt.BytesFrom(unsafe.Pointer(addr), len(text), size) + copy(s, text) + // make it executable + mprotect(addr, size) + + // assign addresses + mod.text = addr + mod.etext = addr + uintptr(size) + mod.minpc = addr + mod.maxpc = addr + uintptr(len(text)) + + // make pcdata table + // NOTICE: _func only use offset to index pcdata, thus no need mmap() pcdata + cuOff := cuOffs[0] + pctab, pcdataOffs, _funcs := makePctab(funcs, cuOff, nameOffs) + mod.pctab = pctab + + // write func data + // NOTICE: _func use mod.gofunc+offset to directly point funcdata, thus need cache funcdata + // TODO: estimate accurate capacity + cache := make([]byte, 0, len(funcs)*int(_PtrSize)) + fstart, funcdataOffs := writeFuncdata(&cache, funcs) + + // make pc->func (binary search) func table + ftab, pclntSize, startLocations := makeFtab(_funcs, uint32(len(text))) + mod.ftab = ftab + + // write pc->func (modmap) findfunc table + ffstart := writeFindfunctab(&cache, ftab) + + // cache funcdata and findfuncbucket + moduleCache.Lock() + moduleCache.m[mod] = cache + moduleCache.Unlock() + mod.gofunc = uintptr(unsafe.Pointer(&cache[fstart])) + mod.findfunctab = uintptr(unsafe.Pointer(&cache[ffstart])) + + // make pclnt table + pclntab := makePclntable(pclntSize, startLocations, _funcs, uint32(len(text)), pcdataOffs, funcdataOffs) + mod.pclntable = pclntab + + // make pc header + mod.pcHeader = &pcHeader { + magic : _Magic, + minLC : _MinLC, + ptrSize : _PtrSize, + nfunc : len(funcs), + nfiles: uint(len(cu)), + textStart: mod.text, + funcnameOffset: getOffsetOf(moduledata{}, "funcnametab"), + cuOffset: getOffsetOf(moduledata{}, "cutab"), + filetabOffset: getOffsetOf(moduledata{}, "filetab"), + pctabOffset: getOffsetOf(moduledata{}, "pctab"), + pclnOffset: getOffsetOf(moduledata{}, "pclntable"), + } + + // sepecial case: gcdata and gcbss must by non-empty + mod.gcdata = uintptr(unsafe.Pointer(&emptyByte)) + mod.gcbss = uintptr(unsafe.Pointer(&emptyByte)) + + return +} + +// makePctab generates pcdelta->valuedelta tables for functions, +// and returns the table and the entry offset of every kind pcdata in the table. +func makePctab(funcs []Func, cuOffset uint32, nameOffset []int32) (pctab []byte, pcdataOffs [][]uint32, _funcs []_func) { + _funcs = make([]_func, len(funcs)) + + // Pctab offsets of 0 are considered invalid in the runtime. We respect + // that by just padding a single byte at the beginning of runtime.pctab, + // that way no real offsets can be zero. + pctab = make([]byte, 1, 12*len(funcs)+1) + pcdataOffs = make([][]uint32, len(funcs)) + + for i, f := range funcs { + _f := &_funcs[i] + + var writer = func(pc *Pcdata) { + var ab []byte + var err error + if pc != nil { + ab, err = pc.MarshalBinary() + if err != nil { + panic(err) + } + pcdataOffs[i] = append(pcdataOffs[i], uint32(len(pctab))) + } else { + ab = []byte{0} + pcdataOffs[i] = append(pcdataOffs[i], _PCDATA_INVALID_OFFSET) + } + pctab = append(pctab, ab...) + } + + if f.Pcsp != nil { + _f.pcsp = uint32(len(pctab)) + } + writer(f.Pcsp) + if f.Pcfile != nil { + _f.pcfile = uint32(len(pctab)) + } + writer(f.Pcfile) + if f.Pcline != nil { + _f.pcln = uint32(len(pctab)) + } + writer(f.Pcline) + writer(f.PcUnsafePoint) + writer(f.PcStackMapIndex) + writer(f.PcInlTreeIndex) + writer(f.PcArgLiveIndex) + + _f.entryOff = f.EntryOff + _f.nameOff = nameOffset[i] + _f.args = f.ArgsSize + _f.deferreturn = f.DeferReturn + // NOTICE: _func.pcdata is always as [PCDATA_UnsafePoint(0) : PCDATA_ArgLiveIndex(3)] + _f.npcdata = uint32(_N_PCDATA) + _f.cuOffset = cuOffset + _f.funcID = f.ID + _f.flag = f.Flag + _f.nfuncdata = uint8(_N_FUNCDATA) + } + + return +} + +func registerFunction(name string, pc uintptr, textSize uintptr, fp int, args int, size uintptr, argptrs uintptr, localptrs uintptr) {} diff --git a/vendor/github.com/bytedance/sonic/loader/internal/abi/abi.go b/vendor/github.com/bytedance/sonic/loader/internal/abi/abi.go new file mode 100644 index 0000000..524ab53 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/loader/internal/abi/abi.go @@ -0,0 +1,197 @@ +/* + * Copyright 2022 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package abi + +import ( + `fmt` + `reflect` + `sort` + `strings` + + `github.com/bytedance/sonic/loader/internal/rt` +) + +type FunctionLayout struct { + FP uint32 + Args []Parameter + Rets []Parameter +} + +func (self FunctionLayout) String() string { + return self.formatFn() +} + +func (self FunctionLayout) ArgSize() uint32 { + size := uintptr(0) + for _, arg := range self.Args { + size += arg.Type.Size() + } + return uint32(size) +} + +type slot struct { + p bool + m uint32 +} + +func (self FunctionLayout) StackMap() *rt.StackMap { + var st []slot + var mb rt.StackMapBuilder + + /* add arguments */ + for _, v := range self.Args { + st = append(st, slot { + m: v.Mem, + p: v.IsPointer, + }) + } + + /* add stack-passed return values */ + for _, v := range self.Rets { + if !v.InRegister { + st = append(st, slot { + m: v.Mem, + p: v.IsPointer, + }) + } + } + + /* sort by memory offset */ + sort.Slice(st, func(i int, j int) bool { + return st[i].m < st[j].m + }) + + /* add the bits */ + for _, v := range st { + mb.AddField(v.p) + } + + /* build the stack map */ + return mb.Build() +} + +func (self FunctionLayout) formatFn() string { + fp := self.FP + return fmt.Sprintf("\n%#04x\nRets:\n%s\nArgs:\n%s", fp, self.formatSeq(self.Rets, &fp), self.formatSeq(self.Args, &fp)) +} + +func (self FunctionLayout) formatSeq(v []Parameter, fp *uint32) string { + nb := len(v) + mm := make([]string, 0, len(v)) + + /* convert each part */ + for i := nb-1; i >=0; i-- { + *fp -= PtrSize + mm = append(mm, fmt.Sprintf("%#04x %s", *fp, v[i].String())) + } + + /* join them together */ + return strings.Join(mm, "\n") +} + +type Frame struct { + desc *FunctionLayout + locals []bool + ccall bool +} + +func NewFrame(desc *FunctionLayout, locals []bool, ccall bool) Frame { + fr := Frame{} + fr.desc = desc + fr.locals = locals + fr.ccall = ccall + return fr +} + +func (self *Frame) String() string { + out := self.desc.String() + + off := -8 + out += fmt.Sprintf("\n%#4x [Return PC]", off) + off -= 8 + out += fmt.Sprintf("\n%#4x [RBP]", off) + off -= 8 + + for _, v := range ReservedRegs(self.ccall) { + out += fmt.Sprintf("\n%#4x [%v]", off, v) + off -= PtrSize + } + + for _, b := range self.locals { + out += fmt.Sprintf("\n%#4x [%v]", off, b) + off -= PtrSize + } + + return out +} + +func (self *Frame) Prev() uint32 { + return self.Size() + PtrSize +} + +func (self *Frame) Size() uint32 { + return uint32(self.Offs() + PtrSize) +} + +func (self *Frame) Offs() uint32 { + return uint32(len(ReservedRegs(self.ccall)) * PtrSize + len(self.locals)*PtrSize) +} + +func (self *Frame) ArgPtrs() *rt.StackMap { + return self.desc.StackMap() +} + +func (self *Frame) LocalPtrs() *rt.StackMap { + var m rt.StackMapBuilder + for _, b := range self.locals { + m.AddFields(len(ReservedRegs(self.ccall)), b) + } + return m.Build() +} + +func alignUp(n uint32, a int) uint32 { + return (uint32(n) + uint32(a) - 1) &^ (uint32(a) - 1) +} + +func isPointer(vt reflect.Type) bool { + switch vt.Kind() { + case reflect.Bool : fallthrough + case reflect.Int : fallthrough + case reflect.Int8 : fallthrough + case reflect.Int16 : fallthrough + case reflect.Int32 : fallthrough + case reflect.Int64 : fallthrough + case reflect.Uint : fallthrough + case reflect.Uint8 : fallthrough + case reflect.Uint16 : fallthrough + case reflect.Uint32 : fallthrough + case reflect.Uint64 : fallthrough + case reflect.Float32 : fallthrough + case reflect.Float64 : fallthrough + case reflect.Uintptr : return false + case reflect.Chan : fallthrough + case reflect.Func : fallthrough + case reflect.Map : fallthrough + case reflect.Ptr : fallthrough + case reflect.UnsafePointer : return true + case reflect.Complex64 : fallthrough + case reflect.Complex128 : fallthrough + case reflect.Array : fallthrough + case reflect.Struct : panic("abi: unsupported types") + default : panic("abi: invalid value type") + } +} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/loader/internal/abi/abi_amd64.go b/vendor/github.com/bytedance/sonic/loader/internal/abi/abi_amd64.go new file mode 100644 index 0000000..c2b45a8 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/loader/internal/abi/abi_amd64.go @@ -0,0 +1,282 @@ +/* + * Copyright 2022 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package abi + +import ( + `fmt` + `reflect` + `unsafe` + + . `github.com/cloudwego/iasm/x86_64` +) + +const ( + PtrSize = 8 // pointer size + PtrAlign = 8 // pointer alignment +) + +var iregOrderC = []Register{ + RDI, + RSI, + RDX, + RCX, + R8, + R9, +} + +var xregOrderC = []Register{ + XMM0, + XMM1, + XMM2, + XMM3, + XMM4, + XMM5, + XMM6, + XMM7, +} + +var ( + intType = reflect.TypeOf(0) + ptrType = reflect.TypeOf(unsafe.Pointer(nil)) +) + +func (self *Frame) argv(i int) *MemoryOperand { + return Ptr(RSP, int32(self.Prev() + self.desc.Args[i].Mem)) +} + +// spillv is used for growstack spill registers +func (self *Frame) spillv(i int) *MemoryOperand { + // remain one slot for caller return pc + return Ptr(RSP, PtrSize + int32(self.desc.Args[i].Mem)) +} + +func (self *Frame) retv(i int) *MemoryOperand { + return Ptr(RSP, int32(self.Prev() + self.desc.Rets[i].Mem)) +} + +func (self *Frame) resv(i int) *MemoryOperand { + return Ptr(RSP, int32(self.Offs() - uint32((i+1) * PtrSize))) +} + +func (self *Frame) emitGrowStack(p *Program, entry *Label) { + // spill all register arguments + for i, v := range self.desc.Args { + if v.InRegister { + if v.IsFloat == floatKind64 { + p.MOVSD(v.Reg, self.spillv(i)) + } else if v.IsFloat == floatKind32 { + p.MOVSS(v.Reg, self.spillv(i)) + }else { + p.MOVQ(v.Reg, self.spillv(i)) + } + } + } + + // call runtime.morestack_noctxt + p.MOVQ(F_morestack_noctxt, R12) + p.CALLQ(R12) + // load all register arguments + for i, v := range self.desc.Args { + if v.InRegister { + if v.IsFloat == floatKind64 { + p.MOVSD(self.spillv(i), v.Reg) + } else if v.IsFloat == floatKind32 { + p.MOVSS(self.spillv(i), v.Reg) + }else { + p.MOVQ(self.spillv(i), v.Reg) + } + } + } + + // jump back to the function entry + p.JMP(entry) +} + +func (self *Frame) GrowStackTextSize() uint32 { + p := DefaultArch.CreateProgram() + // spill all register arguments + for i, v := range self.desc.Args { + if v.InRegister { + if v.IsFloat == floatKind64 { + p.MOVSD(v.Reg, self.spillv(i)) + } else if v.IsFloat == floatKind32 { + p.MOVSS(v.Reg, self.spillv(i)) + }else { + p.MOVQ(v.Reg, self.spillv(i)) + } + } + } + + // call runtime.morestack_noctxt + p.MOVQ(F_morestack_noctxt, R12) + p.CALLQ(R12) + // load all register arguments + for i, v := range self.desc.Args { + if v.InRegister { + if v.IsFloat == floatKind64 { + p.MOVSD(self.spillv(i), v.Reg) + } else if v.IsFloat == floatKind32 { + p.MOVSS(self.spillv(i), v.Reg) + } else { + p.MOVQ(self.spillv(i), v.Reg) + } + } + } + + // jump back to the function entry + l := CreateLabel("") + p.Link(l) + p.JMP(l) + + return uint32(len(p.Assemble(0))) +} + +func (self *Frame) emitPrologue(p *Program) { + p.SUBQ(self.Size(), RSP) + p.MOVQ(RBP, Ptr(RSP, int32(self.Offs()))) + p.LEAQ(Ptr(RSP, int32(self.Offs())), RBP) +} + +func (self *Frame) emitEpilogue(p *Program) { + p.MOVQ(Ptr(RSP, int32(self.Offs())), RBP) + p.ADDQ(self.Size(), RSP) + p.RET() +} + +func (self *Frame) emitReserveRegs(p *Program) { + // spill reserved registers + for i, r := range ReservedRegs(self.ccall) { + switch r.(type) { + case Register64: + p.MOVQ(r, self.resv(i)) + case XMMRegister: + p.MOVSD(r, self.resv(i)) + default: + panic(fmt.Sprintf("unsupported register type %t to reserve", r)) + } + } +} + +func (self *Frame) emitSpillPtrs(p *Program) { + // spill pointer argument registers + for i, r := range self.desc.Args { + if r.InRegister && r.IsPointer { + p.MOVQ(r.Reg, self.argv(i)) + } + } +} + +func (self *Frame) emitClearPtrs(p *Program) { + // spill pointer argument registers + for i, r := range self.desc.Args { + if r.InRegister && r.IsPointer { + p.MOVQ(int64(0), self.argv(i)) + } + } +} + +func (self *Frame) emitCallC(p *Program, addr uintptr) { + p.MOVQ(addr, RAX) + p.CALLQ(RAX) +} + +type floatKind uint8 + +const ( + notFloatKind floatKind = iota + floatKind32 + floatKind64 +) + +type Parameter struct { + InRegister bool + IsPointer bool + IsFloat floatKind + Reg Register + Mem uint32 + Type reflect.Type +} + +func mkIReg(vt reflect.Type, reg Register64) (p Parameter) { + p.Reg = reg + p.Type = vt + p.InRegister = true + p.IsPointer = isPointer(vt) + return +} + +func isFloat(vt reflect.Type) floatKind { + switch vt.Kind() { + case reflect.Float32: + return floatKind32 + case reflect.Float64: + return floatKind64 + default: + return notFloatKind + } +} + +func mkXReg(vt reflect.Type, reg XMMRegister) (p Parameter) { + p.Reg = reg + p.Type = vt + p.InRegister = true + p.IsFloat = isFloat(vt) + return +} + +func mkStack(vt reflect.Type, mem uint32) (p Parameter) { + p.Mem = mem + p.Type = vt + p.InRegister = false + p.IsPointer = isPointer(vt) + p.IsFloat = isFloat(vt) + return +} + +func (self Parameter) String() string { + if self.InRegister { + return fmt.Sprintf("[%%%s, Pointer(%v), Float(%v)]", self.Reg, self.IsPointer, self.IsFloat) + } else { + return fmt.Sprintf("[%d(FP), Pointer(%v), Float(%v)]", self.Mem, self.IsPointer, self.IsFloat) + } +} + +func CallC(addr uintptr, fr Frame, maxStack uintptr) []byte { + p := DefaultArch.CreateProgram() + + stack := CreateLabel("_stack_grow") + entry := CreateLabel("_entry") + p.Link(entry) + fr.emitStackCheck(p, stack, maxStack) + fr.emitPrologue(p) + fr.emitReserveRegs(p) + fr.emitSpillPtrs(p) + fr.emitExchangeArgs(p) + fr.emitCallC(p, addr) + fr.emitExchangeRets(p) + fr.emitRestoreRegs(p) + fr.emitEpilogue(p) + p.Link(stack) + fr.emitGrowStack(p, entry) + + return p.Assemble(0) +} + + +func (self *Frame) emitDebug(p *Program) { + p.INT(3) +} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/loader/internal/abi/abi_legacy_amd64.go b/vendor/github.com/bytedance/sonic/loader/internal/abi/abi_legacy_amd64.go new file mode 100644 index 0000000..298c481 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/loader/internal/abi/abi_legacy_amd64.go @@ -0,0 +1,182 @@ +//go:build !go1.17 +// +build !go1.17 + +/* + * Copyright 2022 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package abi + +import ( + `fmt` + `reflect` + `runtime` + + . `github.com/cloudwego/iasm/x86_64` +) + +func ReservedRegs(callc bool) []Register { + return nil +} + +func salloc(p []Parameter, sp uint32, vt reflect.Type) (uint32, []Parameter) { + switch vt.Kind() { + case reflect.Bool : return sp + 8, append(p, mkStack(reflect.TypeOf(false), sp)) + case reflect.Int : return sp + 8, append(p, mkStack(intType, sp)) + case reflect.Int8 : return sp + 8, append(p, mkStack(reflect.TypeOf(int8(0)), sp)) + case reflect.Int16 : return sp + 8, append(p, mkStack(reflect.TypeOf(int16(0)), sp)) + case reflect.Int32 : return sp + 8, append(p, mkStack(reflect.TypeOf(int32(0)), sp)) + case reflect.Int64 : return sp + 8, append(p, mkStack(reflect.TypeOf(int64(0)), sp)) + case reflect.Uint : return sp + 8, append(p, mkStack(reflect.TypeOf(uint(0)), sp)) + case reflect.Uint8 : return sp + 8, append(p, mkStack(reflect.TypeOf(uint8(0)), sp)) + case reflect.Uint16 : return sp + 8, append(p, mkStack(reflect.TypeOf(uint16(0)), sp)) + case reflect.Uint32 : return sp + 8, append(p, mkStack(reflect.TypeOf(uint32(0)), sp)) + case reflect.Uint64 : return sp + 8, append(p, mkStack(reflect.TypeOf(uint64(0)), sp)) + case reflect.Uintptr : return sp + 8, append(p, mkStack(reflect.TypeOf(uintptr(0)), sp)) + case reflect.Float32 : return sp + 8, append(p, mkStack(reflect.TypeOf(float32(0)), sp)) + case reflect.Float64 : return sp + 8, append(p, mkStack(reflect.TypeOf(float64(0)), sp)) + case reflect.Complex64 : panic("abi: go116: not implemented: complex64") + case reflect.Complex128 : panic("abi: go116: not implemented: complex128") + case reflect.Array : panic("abi: go116: not implemented: arrays") + case reflect.Chan : return sp + 8, append(p, mkStack(reflect.TypeOf((chan int)(nil)), sp)) + case reflect.Func : return sp + 8, append(p, mkStack(reflect.TypeOf((func())(nil)), sp)) + case reflect.Map : return sp + 8, append(p, mkStack(reflect.TypeOf((map[int]int)(nil)), sp)) + case reflect.Ptr : return sp + 8, append(p, mkStack(reflect.TypeOf((*int)(nil)), sp)) + case reflect.UnsafePointer : return sp + 8, append(p, mkStack(ptrType, sp)) + case reflect.Interface : return sp + 16, append(p, mkStack(ptrType, sp), mkStack(ptrType, sp + 8)) + case reflect.Slice : return sp + 24, append(p, mkStack(ptrType, sp), mkStack(intType, sp + 8), mkStack(intType, sp + 16)) + case reflect.String : return sp + 16, append(p, mkStack(ptrType, sp), mkStack(intType, sp + 8)) + case reflect.Struct : panic("abi: go116: not implemented: structs") + default : panic("abi: invalid value type") + } +} + +func NewFunctionLayout(ft reflect.Type) FunctionLayout { + var sp uint32 + var fn FunctionLayout + + /* assign every arguments */ + for i := 0; i < ft.NumIn(); i++ { + sp, fn.Args = salloc(fn.Args, sp, ft.In(i)) + } + + /* assign every return value */ + for i := 0; i < ft.NumOut(); i++ { + sp, fn.Rets = salloc(fn.Rets, sp, ft.Out(i)) + } + + /* update function ID and stack pointer */ + fn.FP = sp + return fn +} + +func (self *Frame) emitExchangeArgs(p *Program) { + iregArgs, xregArgs := 0, 0 + for _, v := range self.desc.Args { + if v.IsFloat != notFloatKind { + xregArgs += 1 + } else { + iregArgs += 1 + } + } + + if iregArgs > len(iregOrderC) { + panic("too many arguments, only support at most 6 integer arguments now") + } + if xregArgs > len(xregOrderC) { + panic("too many arguments, only support at most 8 float arguments now") + } + + ic, xc := iregArgs, xregArgs + for i := 0; i < len(self.desc.Args); i++ { + arg := self.desc.Args[i] + if arg.IsFloat == floatKind64 { + p.MOVSD(self.argv(i), xregOrderC[xregArgs - xc]) + xc -= 1 + } else if arg.IsFloat == floatKind32 { + p.MOVSS(self.argv(i), xregOrderC[xregArgs - xc]) + xc -= 1 + } else { + p.MOVQ(self.argv(i), iregOrderC[iregArgs - ic]) + ic -= 1 + } + } +} + +func (self *Frame) emitStackCheck(p *Program, to *Label, maxStack uintptr) { + // get the current goroutine + switch runtime.GOOS { + case "linux" : p.MOVQ(Abs(-8), R14).FS() + case "darwin" : p.MOVQ(Abs(0x30), R14).GS() + case "windows": break // windows always stores G pointer at R14 + default : panic("unsupported operating system") + } + + // check the stack guard + p.LEAQ(Ptr(RSP, -int32(self.Size() + uint32(maxStack))), RAX) + p.CMPQ(Ptr(R14, _G_stackguard0), RAX) + p.JBE(to) +} + +func (self *Frame) StackCheckTextSize() uint32 { + p := DefaultArch.CreateProgram() + + // get the current goroutine + switch runtime.GOOS { + case "linux" : p.MOVQ(Abs(-8), R14).FS() + case "darwin" : p.MOVQ(Abs(0x30), R14).GS() + case "windows": break // windows always stores G pointer at R14 + default : panic("unsupported operating system") + } + + // check the stack guard + p.LEAQ(Ptr(RSP, -int32(self.Size())), RAX) + p.CMPQ(Ptr(R14, _G_stackguard0), RAX) + l := CreateLabel("") + p.Link(l) + p.JBE(l) + + return uint32(len(p.Assemble(0))) +} + +func (self *Frame) emitExchangeRets(p *Program) { + if len(self.desc.Rets) > 1 { + panic("too many results, only support one result now") + } + // store result + if len(self.desc.Rets) ==1 { + if self.desc.Rets[0].IsFloat == floatKind64 { + p.MOVSD(xregOrderC[0], self.retv(0)) + } else if self.desc.Rets[0].IsFloat == floatKind32 { + p.MOVSS(xregOrderC[0], self.retv(0)) + } else { + p.MOVQ(RAX, self.retv(0)) + } + } +} + +func (self *Frame) emitRestoreRegs(p *Program) { + // load reserved registers + for i, r := range ReservedRegs(self.ccall) { + switch r.(type) { + case Register64: + p.MOVQ(self.resv(i), r) + case XMMRegister: + p.MOVSD(self.resv(i), r) + default: + panic(fmt.Sprintf("unsupported register type %t to reserve", r)) + } + } +} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/loader/internal/abi/abi_regabi_amd64.go b/vendor/github.com/bytedance/sonic/loader/internal/abi/abi_regabi_amd64.go new file mode 100644 index 0000000..5a31dea --- /dev/null +++ b/vendor/github.com/bytedance/sonic/loader/internal/abi/abi_regabi_amd64.go @@ -0,0 +1,316 @@ +//go:build go1.17 +// +build go1.17 + +/* + * Copyright 2022 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** Go Internal ABI implementation + * + * This module implements the function layout algorithm described by the Go internal ABI. + * See https://github.com/golang/go/blob/master/src/cmd/compile/abi-internal.md for more info. + */ + +package abi + +import ( + `fmt` + `reflect` + + . `github.com/cloudwego/iasm/x86_64` +) + +/** Frame Structure of the Generated Function + FP +------------------------------+ + | . . . | + | 2nd reg argument spill space | + + 1st reg argument spill space | + | | + | . . . | + | 2nd stack-assigned result | + + 1st stack-assigned result | + | | + | . . . | + | 2nd stack-assigned argument | + | 1st stack-assigned argument | + | stack-assigned receiver | +prev() +------------------------------+ (Previous Frame) + Return PC | +size() -------------------------------| + Saved RBP | +offs() -------------------------------| + 1th Reserved Registers | + -------------------------------| + 2th Reserved Registers | + -------------------------------| + Local Variables | + RSP -------------------------------|↓ lower addresses +*/ + +const zeroRegGo = XMM15 + +var iregOrderGo = [...]Register64 { + RAX,// RDI + RBX,// RSI + RCX,// RDX + RDI,// RCX + RSI,// R8 + R8, // R9 + R9, + R10, + R11, +} + +var xregOrderGo = [...]XMMRegister { + XMM0, + XMM1, + XMM2, + XMM3, + XMM4, + XMM5, + XMM6, + XMM7, + XMM8, + XMM9, + XMM10, + XMM11, + XMM12, + XMM13, + XMM14, +} + +func ReservedRegs(callc bool) []Register { + if callc { + return nil + } + return []Register { + R14, // current goroutine + R15, // GOT reference + } +} + +type stackAlloc struct { + s uint32 + i int + x int +} + +func (self *stackAlloc) reset() { + self.i, self.x = 0, 0 +} + +func (self *stackAlloc) ireg(vt reflect.Type) (p Parameter) { + p = mkIReg(vt, iregOrderGo[self.i]) + self.i++ + return +} + +func (self *stackAlloc) xreg(vt reflect.Type) (p Parameter) { + p = mkXReg(vt, xregOrderGo[self.x]) + self.x++ + return +} + +func (self *stackAlloc) stack(vt reflect.Type) (p Parameter) { + p = mkStack(vt, self.s) + self.s += uint32(vt.Size()) + return +} + +func (self *stackAlloc) spill(n uint32, a int) uint32 { + self.s = alignUp(self.s, a) + n + return self.s +} + +func (self *stackAlloc) alloc(p []Parameter, vt reflect.Type) []Parameter { + nb := vt.Size() + vk := vt.Kind() + + /* zero-sized objects are allocated on stack */ + if nb == 0 { + return append(p, mkStack(intType, self.s)) + } + + /* check for value type */ + switch vk { + case reflect.Bool : return self.valloc(p, reflect.TypeOf(false)) + case reflect.Int : return self.valloc(p, intType) + case reflect.Int8 : return self.valloc(p, reflect.TypeOf(int8(0))) + case reflect.Int16 : return self.valloc(p, reflect.TypeOf(int16(0))) + case reflect.Int32 : return self.valloc(p, reflect.TypeOf(uint32(0))) + case reflect.Int64 : return self.valloc(p, reflect.TypeOf(int64(0))) + case reflect.Uint : return self.valloc(p, reflect.TypeOf(uint(0))) + case reflect.Uint8 : return self.valloc(p, reflect.TypeOf(uint8(0))) + case reflect.Uint16 : return self.valloc(p, reflect.TypeOf(uint16(0))) + case reflect.Uint32 : return self.valloc(p, reflect.TypeOf(uint32(0))) + case reflect.Uint64 : return self.valloc(p, reflect.TypeOf(uint64(0))) + case reflect.Uintptr : return self.valloc(p, reflect.TypeOf(uintptr(0))) + case reflect.Float32 : return self.valloc(p, reflect.TypeOf(float32(0))) + case reflect.Float64 : return self.valloc(p, reflect.TypeOf(float64(0))) + case reflect.Complex64 : panic("abi: go117: not implemented: complex64") + case reflect.Complex128 : panic("abi: go117: not implemented: complex128") + case reflect.Array : panic("abi: go117: not implemented: arrays") + case reflect.Chan : return self.valloc(p, reflect.TypeOf((chan int)(nil))) + case reflect.Func : return self.valloc(p, reflect.TypeOf((func())(nil))) + case reflect.Map : return self.valloc(p, reflect.TypeOf((map[int]int)(nil))) + case reflect.Ptr : return self.valloc(p, reflect.TypeOf((*int)(nil))) + case reflect.UnsafePointer : return self.valloc(p, ptrType) + case reflect.Interface : return self.valloc(p, ptrType, ptrType) + case reflect.Slice : return self.valloc(p, ptrType, intType, intType) + case reflect.String : return self.valloc(p, ptrType, intType) + case reflect.Struct : panic("abi: go117: not implemented: structs") + default : panic("abi: invalid value type") + } +} + +func (self *stackAlloc) valloc(p []Parameter, vts ...reflect.Type) []Parameter { + for _, vt := range vts { + enum := isFloat(vt) + if enum != notFloatKind && self.x < len(xregOrderGo) { + p = append(p, self.xreg(vt)) + } else if enum == notFloatKind && self.i < len(iregOrderGo) { + p = append(p, self.ireg(vt)) + } else { + p = append(p, self.stack(vt)) + } + } + return p +} + +func NewFunctionLayout(ft reflect.Type) FunctionLayout { + var sa stackAlloc + var fn FunctionLayout + + /* assign every arguments */ + for i := 0; i < ft.NumIn(); i++ { + fn.Args = sa.alloc(fn.Args, ft.In(i)) + } + + /* reset the register counter, and add a pointer alignment field */ + sa.reset() + + /* assign every return value */ + for i := 0; i < ft.NumOut(); i++ { + fn.Rets = sa.alloc(fn.Rets, ft.Out(i)) + } + + sa.spill(0, PtrAlign) + + /* assign spill slots */ + for i := 0; i < len(fn.Args); i++ { + if fn.Args[i].InRegister { + fn.Args[i].Mem = sa.spill(PtrSize, PtrAlign) - PtrSize + } + } + + /* add the final pointer alignment field */ + fn.FP = sa.spill(0, PtrAlign) + return fn +} + +func (self *Frame) emitExchangeArgs(p *Program) { + iregArgs := make([]Parameter, 0, len(self.desc.Args)) + xregArgs := 0 + for _, v := range self.desc.Args { + if v.InRegister { + if v.IsFloat != notFloatKind { + xregArgs += 1 + } else { + iregArgs = append(iregArgs, v) + } + } else { + panic("not support stack-assgined arguments now") + } + } + if xregArgs > len(xregOrderC) { + panic("too many arguments, only support at most 8 integer register arguments now") + } + + switch len(iregArgs) { + case 0, 1, 2, 3: { + //Fast-Path: when arguments count are less than four, just exchange the registers + for i := 0; i < len(iregArgs); i++ { + p.MOVQ(iregOrderGo[i], iregOrderC[i]) + } + } + case 4, 5, 6: { + // need to spill 3th ~ regArgs registers before exchange + for i := 3; i < len(iregArgs); i++ { + arg := iregArgs[i] + // pointer args have already been spilled + if !arg.IsPointer { + p.MOVQ(iregOrderGo[i], Ptr(RSP, int32(self.Prev() + arg.Mem))) + } + } + p.MOVQ(iregOrderGo[0], iregOrderC[0]) + p.MOVQ(iregOrderGo[1], iregOrderC[1]) + p.MOVQ(iregOrderGo[2], iregOrderC[2]) + for i := 3; i < len(iregArgs); i++ { + arg := iregArgs[i] + p.MOVQ(Ptr(RSP, int32(self.Prev() + arg.Mem)), iregOrderC[i]) + } + } + default: + panic("too many arguments, only support at most 6 integer register arguments now") + } +} + +func (self *Frame) emitStackCheck(p *Program, to *Label, maxStack uintptr) { + p.LEAQ(Ptr(RSP, int32(-(self.Size() + uint32(maxStack)))), R12) + p.CMPQ(Ptr(R14, _G_stackguard0), R12) + p.JBE(to) +} + +func (self *Frame) StackCheckTextSize() uint32 { + p := DefaultArch.CreateProgram() + p.LEAQ(Ptr(RSP, int32(-(self.Size()))), R12) + p.CMPQ(Ptr(R14, _G_stackguard0), R12) + to := CreateLabel("") + p.Link(to) + p.JBE(to) + return uint32(len(p.Assemble(0))) +} + +func (self *Frame) emitExchangeRets(p *Program) { + if len(self.desc.Rets) > 1 { + panic("too many results, only support one result now") + } + // store result + if len(self.desc.Rets) == 1 && !self.desc.Rets[0].InRegister { + if self.desc.Rets[0].IsFloat == floatKind64 { + p.MOVSD(xregOrderC[0], self.retv(0)) + } else if self.desc.Rets[0].IsFloat == floatKind32 { + p.MOVSS(xregOrderC[0], self.retv(0)) + } else { + p.MOVQ(RAX, self.retv(0)) + } + } +} + +func (self *Frame) emitRestoreRegs(p *Program) { + // load reserved registers + for i, r := range ReservedRegs(self.ccall) { + switch r.(type) { + case Register64: + p.MOVQ(self.resv(i), r) + case XMMRegister: + p.MOVSD(self.resv(i), r) + default: + panic(fmt.Sprintf("unsupported register type %t to reserve", r)) + } + } + // zero xmm15 for go abi + p.XORPS(zeroRegGo, zeroRegGo) +} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/loader/internal/abi/stubs.go b/vendor/github.com/bytedance/sonic/loader/internal/abi/stubs.go new file mode 100644 index 0000000..af99301 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/loader/internal/abi/stubs.go @@ -0,0 +1,35 @@ +/** + * Copyright 2023 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package abi + +import ( + _ `unsafe` + + `github.com/bytedance/sonic/loader/internal/rt` +) + +const ( + _G_stackguard0 = 0x10 +) + +var ( + F_morestack_noctxt = uintptr(rt.FuncAddr(morestack_noctxt)) +) + +//go:linkname morestack_noctxt runtime.morestack_noctxt +func morestack_noctxt() + diff --git a/vendor/github.com/bytedance/sonic/loader/internal/rt/fastmem.go b/vendor/github.com/bytedance/sonic/loader/internal/rt/fastmem.go new file mode 100644 index 0000000..3bc24c4 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/loader/internal/rt/fastmem.go @@ -0,0 +1,62 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package rt + +import ( + `unsafe` + `reflect` +) + +//go:nosplit +func Mem2Str(v []byte) (s string) { + (*GoString)(unsafe.Pointer(&s)).Len = (*GoSlice)(unsafe.Pointer(&v)).Len + (*GoString)(unsafe.Pointer(&s)).Ptr = (*GoSlice)(unsafe.Pointer(&v)).Ptr + return +} + +//go:nosplit +func Str2Mem(s string) (v []byte) { + (*GoSlice)(unsafe.Pointer(&v)).Cap = (*GoString)(unsafe.Pointer(&s)).Len + (*GoSlice)(unsafe.Pointer(&v)).Len = (*GoString)(unsafe.Pointer(&s)).Len + (*GoSlice)(unsafe.Pointer(&v)).Ptr = (*GoString)(unsafe.Pointer(&s)).Ptr + return +} + +func BytesFrom(p unsafe.Pointer, n int, c int) (r []byte) { + (*GoSlice)(unsafe.Pointer(&r)).Ptr = p + (*GoSlice)(unsafe.Pointer(&r)).Len = n + (*GoSlice)(unsafe.Pointer(&r)).Cap = c + return +} + +func FuncAddr(f interface{}) unsafe.Pointer { + if vv := UnpackEface(f); vv.Type.Kind() != reflect.Func { + panic("f is not a function") + } else { + return *(*unsafe.Pointer)(vv.Value) + } +} + +//go:nocheckptr +func IndexChar(src string, index int) unsafe.Pointer { + return unsafe.Pointer(uintptr((*GoString)(unsafe.Pointer(&src)).Ptr) + uintptr(index)) +} + +//go:nocheckptr +func IndexByte(ptr []byte, index int) unsafe.Pointer { + return unsafe.Pointer(uintptr((*GoSlice)(unsafe.Pointer(&ptr)).Ptr) + uintptr(index)) +} diff --git a/vendor/github.com/bytedance/sonic/loader/internal/rt/fastvalue.go b/vendor/github.com/bytedance/sonic/loader/internal/rt/fastvalue.go new file mode 100644 index 0000000..e6c5bc8 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/loader/internal/rt/fastvalue.go @@ -0,0 +1,183 @@ +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package rt + +import ( + `reflect` + `unsafe` +) + +var ( + reflectRtypeItab = findReflectRtypeItab() +) + +// GoType.KindFlags const +const ( + F_direct = 1 << 5 + F_kind_mask = (1 << 5) - 1 +) + +// GoType.Flags const +const ( + tflagUncommon uint8 = 1 << 0 + tflagExtraStar uint8 = 1 << 1 + tflagNamed uint8 = 1 << 2 + tflagRegularMemory uint8 = 1 << 3 +) + +type GoType struct { + Size uintptr + PtrData uintptr + Hash uint32 + Flags uint8 + Align uint8 + FieldAlign uint8 + KindFlags uint8 + Traits unsafe.Pointer + GCData *byte + Str int32 + PtrToSelf int32 +} + +func (self *GoType) IsNamed() bool { + return (self.Flags & tflagNamed) != 0 +} + +func (self *GoType) Kind() reflect.Kind { + return reflect.Kind(self.KindFlags & F_kind_mask) +} + +func (self *GoType) Pack() (t reflect.Type) { + (*GoIface)(unsafe.Pointer(&t)).Itab = reflectRtypeItab + (*GoIface)(unsafe.Pointer(&t)).Value = unsafe.Pointer(self) + return +} + +func (self *GoType) String() string { + return self.Pack().String() +} + +func (self *GoType) Indirect() bool { + return self.KindFlags & F_direct == 0 +} + +type GoItab struct { + it unsafe.Pointer + Vt *GoType + hv uint32 + _ [4]byte + fn [1]uintptr +} + +type GoIface struct { + Itab *GoItab + Value unsafe.Pointer +} + +type GoEface struct { + Type *GoType + Value unsafe.Pointer +} + +func (self GoEface) Pack() (v interface{}) { + *(*GoEface)(unsafe.Pointer(&v)) = self + return +} + +type GoPtrType struct { + GoType + Elem *GoType +} + +type GoMapType struct { + GoType + Key *GoType + Elem *GoType + Bucket *GoType + Hasher func(unsafe.Pointer, uintptr) uintptr + KeySize uint8 + ElemSize uint8 + BucketSize uint16 + Flags uint32 +} + +func (self *GoMapType) IndirectElem() bool { + return self.Flags & 2 != 0 +} + +type GoStructType struct { + GoType + Pkg *byte + Fields []GoStructField +} + +type GoStructField struct { + Name *byte + Type *GoType + OffEmbed uintptr +} + +type GoInterfaceType struct { + GoType + PkgPath *byte + Methods []GoInterfaceMethod +} + +type GoInterfaceMethod struct { + Name int32 + Type int32 +} + +type GoSlice struct { + Ptr unsafe.Pointer + Len int + Cap int +} + +type GoString struct { + Ptr unsafe.Pointer + Len int +} + +func PtrElem(t *GoType) *GoType { + return (*GoPtrType)(unsafe.Pointer(t)).Elem +} + +func MapType(t *GoType) *GoMapType { + return (*GoMapType)(unsafe.Pointer(t)) +} + +func IfaceType(t *GoType) *GoInterfaceType { + return (*GoInterfaceType)(unsafe.Pointer(t)) +} + +func UnpackType(t reflect.Type) *GoType { + return (*GoType)((*GoIface)(unsafe.Pointer(&t)).Value) +} + +func UnpackEface(v interface{}) GoEface { + return *(*GoEface)(unsafe.Pointer(&v)) +} + +func UnpackIface(v interface{}) GoIface { + return *(*GoIface)(unsafe.Pointer(&v)) +} + +func findReflectRtypeItab() *GoItab { + v := reflect.TypeOf(struct{}{}) + return (*GoIface)(unsafe.Pointer(&v)).Itab +} diff --git a/vendor/github.com/bytedance/sonic/loader/internal/rt/stackmap.go b/vendor/github.com/bytedance/sonic/loader/internal/rt/stackmap.go new file mode 100644 index 0000000..84ed9a9 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/loader/internal/rt/stackmap.go @@ -0,0 +1,181 @@ +/** + * Copyright 2023 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package rt + +import ( + `fmt` + `strings` + `unsafe` + +) + +type Bitmap struct { + N int + B []byte +} + +func (self *Bitmap) grow() { + if self.N >= len(self.B) * 8 { + self.B = append(self.B, 0) + } +} + +func (self *Bitmap) mark(i int, bv int) { + if bv != 0 { + self.B[i / 8] |= 1 << (i % 8) + } else { + self.B[i / 8] &^= 1 << (i % 8) + } +} + +func (self *Bitmap) Set(i int, bv int) { + if i >= self.N { + panic("bitmap: invalid bit position") + } else { + self.mark(i, bv) + } +} + +func (self *Bitmap) Append(bv int) { + self.grow() + self.mark(self.N, bv) + self.N++ +} + +func (self *Bitmap) AppendMany(n int, bv int) { + for i := 0; i < n; i++ { + self.Append(bv) + } +} + +// var ( +// _stackMapLock = sync.Mutex{} +// _stackMapCache = make(map[*StackMap]struct{}) +// ) + +type BitVec struct { + N uintptr + B unsafe.Pointer +} + +func (self BitVec) Bit(i uintptr) byte { + return (*(*byte)(unsafe.Pointer(uintptr(self.B) + i / 8)) >> (i % 8)) & 1 +} + +func (self BitVec) String() string { + var i uintptr + var v []string + + /* add each bit */ + for i = 0; i < self.N; i++ { + v = append(v, fmt.Sprintf("%d", self.Bit(i))) + } + + /* join them together */ + return fmt.Sprintf( + "BitVec { %s }", + strings.Join(v, ", "), + ) +} + +type StackMap struct { + N int32 + L int32 + B [1]byte +} + +// func (self *StackMap) add() { +// _stackMapLock.Lock() +// _stackMapCache[self] = struct{}{} +// _stackMapLock.Unlock() +// } + +func (self *StackMap) Pin() uintptr { + // self.add() + return uintptr(unsafe.Pointer(self)) +} + +func (self *StackMap) Get(i int32) BitVec { + return BitVec { + N: uintptr(self.L), + B: unsafe.Pointer(uintptr(unsafe.Pointer(&self.B)) + uintptr(i * ((self.L + 7) >> 3))), + } +} + +func (self *StackMap) String() string { + sb := strings.Builder{} + sb.WriteString("StackMap {") + + /* dump every stack map */ + for i := int32(0); i < self.N; i++ { + sb.WriteRune('\n') + sb.WriteString(" " + self.Get(i).String()) + } + + /* close the stackmap */ + sb.WriteString("\n}") + return sb.String() +} + +func (self *StackMap) MarshalBinary() ([]byte, error) { + size := int(self.N) * int(self.L) + int(unsafe.Sizeof(self.L)) + int(unsafe.Sizeof(self.N)) + return BytesFrom(unsafe.Pointer(self), size, size), nil +} + +var ( + byteType = UnpackEface(byte(0)).Type +) + +const ( + _StackMapSize = unsafe.Sizeof(StackMap{}) +) + +//go:linkname mallocgc runtime.mallocgc +//goland:noinspection GoUnusedParameter +func mallocgc(nb uintptr, vt *GoType, zero bool) unsafe.Pointer + +type StackMapBuilder struct { + b Bitmap +} + +//go:nocheckptr +func (self *StackMapBuilder) Build() (p *StackMap) { + nb := len(self.b.B) + bm := mallocgc(_StackMapSize + uintptr(nb) - 1, byteType, false) + + /* initialize as 1 bitmap of N bits */ + p = (*StackMap)(bm) + p.N, p.L = 1, int32(self.b.N) + copy(BytesFrom(unsafe.Pointer(&p.B), nb, nb), self.b.B) + return +} + +func (self *StackMapBuilder) AddField(ptr bool) { + if ptr { + self.b.Append(1) + } else { + self.b.Append(0) + } +} + +func (self *StackMapBuilder) AddFields(n int, ptr bool) { + if ptr { + self.b.AppendMany(n, 1) + } else { + self.b.AppendMany(n, 0) + } +} \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/loader/loader.go b/vendor/github.com/bytedance/sonic/loader/loader.go index 929d8c2..43eaeb4 100644 --- a/vendor/github.com/bytedance/sonic/loader/loader.go +++ b/vendor/github.com/bytedance/sonic/loader/loader.go @@ -34,4 +34,4 @@ type Loader struct { Name string // module name File string // file name Options -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/loader/loader_go116.go b/vendor/github.com/bytedance/sonic/loader/loader_latest.go similarity index 87% rename from vendor/github.com/bytedance/sonic/loader/loader_go116.go rename to vendor/github.com/bytedance/sonic/loader/loader_latest.go index ea30ec9..0534541 100644 --- a/vendor/github.com/bytedance/sonic/loader/loader_go116.go +++ b/vendor/github.com/bytedance/sonic/loader/loader_latest.go @@ -1,5 +1,4 @@ -//go:build go1.16 && !go1.21 -// +build go1.16,!go1.21 +// +build go1.16,!go1.23 /* * Copyright 2021 ByteDance Inc. @@ -20,7 +19,7 @@ package loader import ( - `github.com/bytedance/sonic/internal/rt` + `github.com/bytedance/sonic/loader/internal/rt` ) // LoadFuncs loads only one function as module, and returns the function pointer @@ -87,18 +86,27 @@ func (self Loader) LoadOne(text []byte, funcName string, frameSize int, argSize // and returns runnable function pointer // WARN: this API is experimental, use it carefully func Load(text []byte, funcs []Func, modulename string, filenames []string) (out []Function) { + ids := make([]string, len(funcs)) + for i, f := range funcs { + ids[i] = f.Name + } // generate module data and allocate memory address - mod := makeModuledata(modulename, filenames, funcs, text) + mod := makeModuledata(modulename, filenames, &funcs, text) // verify and register the new module moduledataverify1(mod) registerModule(mod) + // // encapsulate function address out = make([]Function, len(funcs)) - for i, f := range funcs { - m := uintptr(mod.text + uintptr(f.EntryOff)) - out[i] = Function(&m) + for i, s := range ids { + for _, f := range funcs { + if f.Name == s { + m := uintptr(mod.text + uintptr(f.EntryOff)) + out[i] = Function(&m) + } + } } return -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/loader/mmap_unix.go b/vendor/github.com/bytedance/sonic/loader/mmap_unix.go index 50b80bf..26bdb65 100644 --- a/vendor/github.com/bytedance/sonic/loader/mmap_unix.go +++ b/vendor/github.com/bytedance/sonic/loader/mmap_unix.go @@ -1,5 +1,5 @@ -//go:build darwin || linux -// +build darwin linux +//go:build !windows +// +build !windows /** * Copyright 2023 ByteDance Inc. @@ -42,4 +42,4 @@ func mprotect(p uintptr, nb int) { if _, _, err := syscall.RawSyscall(syscall.SYS_MPROTECT, p, uintptr(nb), _RX); err != 0 { panic(err) } -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/loader/pcdata.go b/vendor/github.com/bytedance/sonic/loader/pcdata.go index b5c62d1..efab4da 100644 --- a/vendor/github.com/bytedance/sonic/loader/pcdata.go +++ b/vendor/github.com/bytedance/sonic/loader/pcdata.go @@ -16,6 +16,10 @@ package loader +import ( + `encoding/binary` +) + const ( _N_PCDATA = 4 @@ -49,40 +53,16 @@ const ( var emptyByte byte -func encodeValue(v int) []byte { - return encodeVariant(toZigzag(v)) -} - -func toZigzag(v int) int { - return (v << 1) ^ (v >> 31) -} - -func encodeVariant(v int) []byte { - var u int - var r []byte - - /* split every 7 bits */ - for v > 127 { - u = v & 0x7f - v = v >> 7 - r = append(r, byte(u) | 0x80) - } - - /* check for last one */ - if v == 0 { - return r - } - - /* add the last one */ - r = append(r, byte(v)) - return r -} - +// Pcvalue is the program count corresponding to the value Val +// WARN: we use relative value here (to function entry) type Pcvalue struct { - PC uint32 // PC offset from func entry - Val int32 + PC uint32 // program count relative to function entry + Val int32 // value relative to the value in function entry } +// Pcdata represents pc->value mapping table. +// WARN: we use ** [Pcdata[i].PC, Pcdata[i+1].PC) ** +// as the range where the Pcdata[i].Val is effective. type Pcdata []Pcvalue // see https://docs.google.com/document/d/1lyPIbmsYbXnpNj57a261hgOYVpNRcgydurVQIyZOz_o/pub @@ -90,11 +70,24 @@ func (self Pcdata) MarshalBinary() (data []byte, err error) { // delta value always starts from -1 sv := int32(_PCDATA_START_VAL) sp := uint32(0) + buf := make([]byte, binary.MaxVarintLen32) for _, v := range self { - data = append(data, encodeVariant(toZigzag(int(v.Val - sv)))...) - data = append(data, encodeVariant(int(v.PC - sp))...) + if v.PC < sp { + panic("PC must be in ascending order!") + } + dp := uint64(v.PC - sp) + dv := int64(v.Val - sv) + if dv == 0 || dp == 0 { + continue + } + n := binary.PutVarint(buf, dv) + data = append(data, buf[:n]...) + n2 := binary.PutUvarint(buf, dp) + data = append(data, buf[:n2]...) sp = v.PC sv = v.Val } + // put 0 to indicate ends + data = append(data, 0) return -} \ No newline at end of file +} diff --git a/vendor/github.com/bytedance/sonic/loader/stubs.go b/vendor/github.com/bytedance/sonic/loader/stubs.go index 8377649..80f8de8 100644 --- a/vendor/github.com/bytedance/sonic/loader/stubs.go +++ b/vendor/github.com/bytedance/sonic/loader/stubs.go @@ -17,7 +17,8 @@ package loader import ( - `sync` + "sync/atomic" + "unsafe" _ `unsafe` ) @@ -25,16 +26,35 @@ import ( //goland:noinspection GoUnusedGlobalVariable var lastmoduledatap *moduledata -var moduledataMux sync.Mutex - func registerModule(mod *moduledata) { - moduledataMux.Lock() - lastmoduledatap.next = mod - lastmoduledatap = mod - moduledataMux.Unlock() + registerModuleLockFree(&lastmoduledatap, mod) } //go:linkname moduledataverify1 runtime.moduledataverify1 func moduledataverify1(_ *moduledata) +func registerModuleLockFree(tail **moduledata, mod *moduledata) { + for { + oldTail := loadModule(tail) + if casModule(tail, oldTail, mod) { + storeModule(&oldTail.next, mod) + break + } + } +} + +func loadModule(p **moduledata) *moduledata { + return (*moduledata)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func storeModule(p **moduledata, value *moduledata) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(value)) +} + +func casModule(p **moduledata, oldValue *moduledata, newValue *moduledata) bool { + return atomic.CompareAndSwapPointer( + (*unsafe.Pointer)(unsafe.Pointer(p)), + unsafe.Pointer(oldValue), + unsafe.Pointer(newValue), + ) +} diff --git a/vendor/github.com/bytedance/sonic/loader/wrapper.go b/vendor/github.com/bytedance/sonic/loader/wrapper.go new file mode 100644 index 0000000..b581a46 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/loader/wrapper.go @@ -0,0 +1,185 @@ +/** +* Copyright 2023 ByteDance Inc. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package loader + +import ( + `reflect` + `unsafe` + + `github.com/bytedance/sonic/loader/internal/abi` + `github.com/bytedance/sonic/loader/internal/rt` +) + +var _C_Redzone = []bool{false, false, false, false} + +// CFunc is a function information for C func +type CFunc struct { + // C function name + Name string + + // entry pc relative to entire text segment + EntryOff uint32 + + // function text size in bytes + TextSize uint32 + + // maximum stack depth of the function + MaxStack uintptr + + // PC->SP delta lists of the function + Pcsp [][2]uint32 +} + +// GoC is the wrapper for Go calls to C +type GoC struct { + // CName is the name of corresponding C function + CName string + + // CEntry points out where to store the entry address of corresponding C function. + // It won't be set if nil + CEntry *uintptr + + // GoFunc is the POINTER of corresponding go stub function. + // It is used to generate Go-C ABI conversion wrapper and receive the wrapper's address + // eg. &func(a int, b int) int + // FOR + // int add(int a, int b) + // It won't be set if nil + GoFunc interface{} +} + +// WrapGoC wraps C functions and loader it into Go stubs +func WrapGoC(text []byte, natives []CFunc, stubs []GoC, modulename string, filename string) { + funcs := make([]Func, len(natives)) + + // register C funcs + for i, f := range natives { + fn := Func{ + Flag: FuncFlag_ASM, + EntryOff: f.EntryOff, + TextSize: f.TextSize, + Name: f.Name, + } + if len(f.Pcsp) != 0 { + fn.Pcsp = (*Pcdata)(unsafe.Pointer(&natives[i].Pcsp)) + } + // NOTICE: always forbid async preempt + fn.PcUnsafePoint = &Pcdata{ + {PC: f.TextSize, Val: PCDATA_UnsafePointUnsafe}, + } + // NOTICE: always refer to first file + fn.Pcfile = &Pcdata{ + {PC: f.TextSize, Val: 0}, + } + // NOTICE: always refer to first line + fn.Pcline = &Pcdata{ + {PC: f.TextSize, Val: 1}, + } + // NOTICE: copystack need locals stackmap + fn.PcStackMapIndex = &Pcdata{ + {PC: f.TextSize, Val: 0}, + } + sm := rt.StackMapBuilder{} + sm.AddField(false) + fn.ArgsPointerMaps = sm.Build() + fn.LocalsPointerMaps = sm.Build() + funcs[i] = fn + } + rets := Load(text, funcs, modulename, []string{filename}) + + // got absolute entry address + native_entry := **(**uintptr)(unsafe.Pointer(&rets[0])) + // println("native_entry: ", native_entry) + + wraps := make([]Func, 0, len(stubs)) + wrapIds := make([]int, 0, len(stubs)) + code := make([]byte, 0, len(wraps)) + entryOff := uint32(0) + + // register go wrappers + for i := range stubs { + for j := range natives { + if stubs[i].CName != natives[j].Name { + continue + } + + // calculate corresponding C entry + pc := uintptr(native_entry + uintptr(natives[j].EntryOff)) + if stubs[i].CEntry != nil { + *stubs[i].CEntry = pc + } + + // no need to generate wrapper, continue next + if stubs[i].GoFunc == nil { + continue + } + + // assemble wrapper codes + layout := abi.NewFunctionLayout(reflect.TypeOf(stubs[i].GoFunc).Elem()) + frame := abi.NewFrame(&layout, _C_Redzone, true) + tcode := abi.CallC(pc, frame, natives[j].MaxStack) + code = append(code, tcode...) + size := uint32(len(tcode)) + + fn := Func{ + Flag: FuncFlag_ASM, + ArgsSize: int32(layout.ArgSize()), + EntryOff: entryOff, + TextSize: size, + Name: stubs[i].CName + "_go", + } + + // add check-stack and grow-stack texts' pcsp + fn.Pcsp = &Pcdata{ + {PC: uint32(frame.StackCheckTextSize()), Val: 0}, + {PC: size - uint32(frame.GrowStackTextSize()), Val: int32(frame.Size())}, + {PC: size, Val: 0}, + } + // NOTICE: always refer to first file + fn.Pcfile = &Pcdata{ + {PC: size, Val: 0}, + } + // NOTICE: always refer to first line + fn.Pcline = &Pcdata{ + {PC: size, Val: 1}, + } + // NOTICE: always forbid async preempt + fn.PcUnsafePoint = &Pcdata{ + {PC: size, Val: PCDATA_UnsafePointUnsafe}, + } + + // register pointer stackmaps + fn.PcStackMapIndex = &Pcdata{ + {PC: size, Val: 0}, + } + fn.ArgsPointerMaps = frame.ArgPtrs() + fn.LocalsPointerMaps = frame.LocalPtrs() + + entryOff += size + wraps = append(wraps, fn) + wrapIds = append(wrapIds, i) + } + } + gofuncs := Load(code, wraps, modulename+"/go", []string{filename+".go"}) + + // set go func value + for i := range gofuncs { + idx := wrapIds[i] + w := rt.UnpackEface(stubs[idx].GoFunc) + *(*Function)(w.Value) = gofuncs[i] + } +} diff --git a/vendor/github.com/bytedance/sonic/sonic.go b/vendor/github.com/bytedance/sonic/sonic.go index 6cbb1ad..145527f 100644 --- a/vendor/github.com/bytedance/sonic/sonic.go +++ b/vendor/github.com/bytedance/sonic/sonic.go @@ -1,4 +1,4 @@ -// +build amd64,go1.15,!go1.21 +// +build amd64,go1.16,!go1.23 /* * Copyright 2021 ByteDance Inc. @@ -58,6 +58,12 @@ func (cfg Config) Froze() API { if cfg.ValidateString { api.encoderOpts |= encoder.ValidateString } + if cfg.NoValidateJSONMarshaler { + api.encoderOpts |= encoder.NoValidateJSONMarshaler + } + if cfg.NoEncoderNewline { + api.encoderOpts |= encoder.NoEncoderNewline + } // configure decoder options: if cfg.UseInt64 { @@ -139,23 +145,23 @@ func (cfg frozenConfig) Valid(data []byte) bool { // Opts are the compile options, for example, "option.WithCompileRecursiveDepth" is // a compile option to set the depth of recursive compile for the nested struct type. func Pretouch(vt reflect.Type, opts ...option.CompileOption) error { - if err := encoder.Pretouch(vt, opts...); err != nil { - return err - } - if err := decoder.Pretouch(vt, opts...); err != nil { - return err - } - // to pretouch the corresponding pointer type as well - if vt.Kind() == reflect.Ptr { - vt = vt.Elem() - } else { - vt = reflect.PtrTo(vt) - } - if err := encoder.Pretouch(vt, opts...); err != nil { - return err - } - if err := decoder.Pretouch(vt, opts...); err != nil { - return err - } - return nil + if err := encoder.Pretouch(vt, opts...); err != nil { + return err + } + if err := decoder.Pretouch(vt, opts...); err != nil { + return err + } + // to pretouch the corresponding pointer type as well + if vt.Kind() == reflect.Ptr { + vt = vt.Elem() + } else { + vt = reflect.PtrTo(vt) + } + if err := encoder.Pretouch(vt, opts...); err != nil { + return err + } + if err := decoder.Pretouch(vt, opts...); err != nil { + return err + } + return nil } diff --git a/vendor/github.com/bytedance/sonic/unquote/unquote.go b/vendor/github.com/bytedance/sonic/unquote/unquote.go index 23fca73..d81406b 100644 --- a/vendor/github.com/bytedance/sonic/unquote/unquote.go +++ b/vendor/github.com/bytedance/sonic/unquote/unquote.go @@ -25,27 +25,45 @@ import ( `github.com/bytedance/sonic/internal/rt` ) +// String unescapes a escaped string (not including `"` at begining and end) +// It validates invalid UTF8 and replace with `\ufffd` func String(s string) (ret string, err types.ParsingError) { mm := make([]byte, 0, len(s)) - err = intoBytesUnsafe(s, &mm) + err = intoBytesUnsafe(s, &mm, true) ret = rt.Mem2Str(mm) return } +// IntoBytes is same with String besides it output result into a buffer m func IntoBytes(s string, m *[]byte) types.ParsingError { if cap(*m) < len(s) { return types.ERR_EOF } else { - return intoBytesUnsafe(s, m) + return intoBytesUnsafe(s, m, true) } } -func intoBytesUnsafe(s string, m *[]byte) types.ParsingError { +// String unescapes a escaped string (not including `"` at begining and end) +// - replace enables replacing invalid utf8 escaped char with `\uffd` +func _String(s string, replace bool) (ret string, err error) { + mm := make([]byte, 0, len(s)) + err = intoBytesUnsafe(s, &mm, replace) + ret = rt.Mem2Str(mm) + return +} + +func intoBytesUnsafe(s string, m *[]byte, replace bool) types.ParsingError { pos := -1 slv := (*rt.GoSlice)(unsafe.Pointer(m)) str := (*rt.GoString)(unsafe.Pointer(&s)) - /* unquote as the default configuration, replace invalid unicode with \ufffd */ - ret := native.Unquote(str.Ptr, str.Len, slv.Ptr, &pos, types.F_UNICODE_REPLACE) + + flags := uint64(0) + if replace { + /* unquote as the default configuration, replace invalid unicode with \ufffd */ + flags |= types.F_UNICODE_REPLACE + } + + ret := native.Unquote(str.Ptr, str.Len, slv.Ptr, &pos, flags) /* check for errors */ if ret < 0 { @@ -57,3 +75,6 @@ func intoBytesUnsafe(s string, m *[]byte) types.ParsingError { runtime.KeepAlive(s) return 0 } + + + diff --git a/vendor/github.com/bytedance/sonic/utf8/utf8.go b/vendor/github.com/bytedance/sonic/utf8/utf8.go index 59d2cae..52c35fb 100644 --- a/vendor/github.com/bytedance/sonic/utf8/utf8.go +++ b/vendor/github.com/bytedance/sonic/utf8/utf8.go @@ -68,4 +68,4 @@ func Validate(src []byte) bool { // ValidateString as Validate, but for string. func ValidateString(src string) bool { return native.ValidateUTF8Fast(&src) == 0 -} \ No newline at end of file +} diff --git a/vendor/github.com/chenzhuoyu/base64x/.gitignore b/vendor/github.com/chenzhuoyu/base64x/.gitignore deleted file mode 100644 index a2fd30e..0000000 --- a/vendor/github.com/chenzhuoyu/base64x/.gitignore +++ /dev/null @@ -1,43 +0,0 @@ -*.o -*.swp -*.swm -*.swn -*.a -*.so -_obj -_test -*.[568vq] -[568vq].out -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* -_testmain.go -*.exe -*.exe~ -*.test -*.prof -*.rar -*.zip -*.gz -*.psd -*.bmd -*.cfg -*.pptx -*.log -*nohup.out -*settings.pyc -*.sublime-project -*.sublime-workspace -.DS_Store -/.idea/ -/.vscode/ -/output/ -/vendor/ -/Gopkg.lock -/Gopkg.toml -coverage.html -coverage.out -coverage.xml -junit.xml diff --git a/vendor/github.com/chenzhuoyu/base64x/.gitmodules b/vendor/github.com/chenzhuoyu/base64x/.gitmodules deleted file mode 100644 index b8d11c9..0000000 --- a/vendor/github.com/chenzhuoyu/base64x/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "tools/asm2asm"] - path = tools/asm2asm - url = https://github.com/chenzhuoyu/asm2asm diff --git a/vendor/github.com/chenzhuoyu/base64x/cpuid.go b/vendor/github.com/chenzhuoyu/base64x/cpuid.go deleted file mode 100644 index a768c76..0000000 --- a/vendor/github.com/chenzhuoyu/base64x/cpuid.go +++ /dev/null @@ -1,17 +0,0 @@ -package base64x - -import ( - `fmt` - `os` - - `github.com/klauspost/cpuid/v2` -) - -func hasAVX2() bool { - switch v := os.Getenv("B64X_MODE"); v { - case "" : fallthrough - case "auto" : return cpuid.CPU.Has(cpuid.AVX2) - case "noavx2" : return false - default : panic(fmt.Sprintf("invalid mode: '%s', should be one of 'auto', 'noavx2'", v)) - } -} \ No newline at end of file diff --git a/vendor/github.com/chenzhuoyu/base64x/faststr.go b/vendor/github.com/chenzhuoyu/base64x/faststr.go deleted file mode 100644 index 83b58ea..0000000 --- a/vendor/github.com/chenzhuoyu/base64x/faststr.go +++ /dev/null @@ -1,23 +0,0 @@ -package base64x - -import ( - `reflect` - `unsafe` -) - -func mem2str(v []byte) (s string) { - (*reflect.StringHeader)(unsafe.Pointer(&s)).Len = (*reflect.SliceHeader)(unsafe.Pointer(&v)).Len - (*reflect.StringHeader)(unsafe.Pointer(&s)).Data = (*reflect.SliceHeader)(unsafe.Pointer(&v)).Data - return -} - -func str2mem(s string) (v []byte) { - (*reflect.SliceHeader)(unsafe.Pointer(&v)).Cap = (*reflect.StringHeader)(unsafe.Pointer(&s)).Len - (*reflect.SliceHeader)(unsafe.Pointer(&v)).Len = (*reflect.StringHeader)(unsafe.Pointer(&s)).Len - (*reflect.SliceHeader)(unsafe.Pointer(&v)).Data = (*reflect.StringHeader)(unsafe.Pointer(&s)).Data - return -} - -func mem2addr(v []byte) unsafe.Pointer { - return *(*unsafe.Pointer)(unsafe.Pointer(&v)) -} diff --git a/vendor/github.com/chenzhuoyu/base64x/native_amd64.go b/vendor/github.com/chenzhuoyu/base64x/native_amd64.go deleted file mode 100644 index a6f9557..0000000 --- a/vendor/github.com/chenzhuoyu/base64x/native_amd64.go +++ /dev/null @@ -1,16 +0,0 @@ -//go:generate make -package base64x - -import ( - `unsafe` -) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __b64encode(out *[]byte, src *[]byte, mode int) - -//go:nosplit -//go:noescape -//goland:noinspection GoUnusedParameter -func __b64decode(out *[]byte, src unsafe.Pointer, len int, mode int) (ret int) diff --git a/vendor/github.com/chenzhuoyu/base64x/native_amd64.s b/vendor/github.com/chenzhuoyu/base64x/native_amd64.s deleted file mode 100644 index 7f7a587..0000000 --- a/vendor/github.com/chenzhuoyu/base64x/native_amd64.s +++ /dev/null @@ -1,4416 +0,0 @@ -// +build !noasm !appengine -// Code generated by asm2asm, DO NOT EDIT. - -#include "go_asm.h" -#include "funcdata.h" -#include "textflag.h" - -TEXT ·__native_entry__(SB), NOSPLIT, $0 - NO_LOCAL_POINTERS - LONG $0xf9058d48; WORD $0xffff; BYTE $0xff // leaq $-7(%rip), %rax - MOVQ AX, 8(SP) - RET - -LCPI0_0: - BYTE $0x47 // .byte 71 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xed // .byte 237 - BYTE $0xf0 // .byte 240 - BYTE $0x41 // .byte 65 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x47 // .byte 71 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xed // .byte 237 - BYTE $0xf0 // .byte 240 - BYTE $0x41 // .byte 65 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - -LCPI0_1: - BYTE $0x47 // .byte 71 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xef // .byte 239 - BYTE $0x20 // .byte 32 - BYTE $0x41 // .byte 65 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x47 // .byte 71 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xfc // .byte 252 - BYTE $0xef // .byte 239 - BYTE $0x20 // .byte 32 - BYTE $0x41 // .byte 65 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - -LCPI0_2: - BYTE $0x01 // .byte 1 - BYTE $0x00 // .byte 0 - BYTE $0x02 // .byte 2 - BYTE $0x01 // .byte 1 - BYTE $0x04 // .byte 4 - BYTE $0x03 // .byte 3 - BYTE $0x05 // .byte 5 - BYTE $0x04 // .byte 4 - BYTE $0x07 // .byte 7 - BYTE $0x06 // .byte 6 - BYTE $0x08 // .byte 8 - BYTE $0x07 // .byte 7 - BYTE $0x0a // .byte 10 - BYTE $0x09 // .byte 9 - BYTE $0x0b // .byte 11 - BYTE $0x0a // .byte 10 - BYTE $0x01 // .byte 1 - BYTE $0x00 // .byte 0 - BYTE $0x02 // .byte 2 - BYTE $0x01 // .byte 1 - BYTE $0x04 // .byte 4 - BYTE $0x03 // .byte 3 - BYTE $0x05 // .byte 5 - BYTE $0x04 // .byte 4 - BYTE $0x07 // .byte 7 - BYTE $0x06 // .byte 6 - BYTE $0x08 // .byte 8 - BYTE $0x07 // .byte 7 - BYTE $0x0a // .byte 10 - BYTE $0x09 // .byte 9 - BYTE $0x0b // .byte 11 - BYTE $0x0a // .byte 10 - -LCPI0_3: - WORD $0xfc00 // .word 64512 - WORD $0x0fc0 // .word 4032 - WORD $0xfc00 // .word 64512 - WORD $0x0fc0 // .word 4032 - WORD $0xfc00 // .word 64512 - WORD $0x0fc0 // .word 4032 - WORD $0xfc00 // .word 64512 - WORD $0x0fc0 // .word 4032 - WORD $0xfc00 // .word 64512 - WORD $0x0fc0 // .word 4032 - WORD $0xfc00 // .word 64512 - WORD $0x0fc0 // .word 4032 - WORD $0xfc00 // .word 64512 - WORD $0x0fc0 // .word 4032 - WORD $0xfc00 // .word 64512 - WORD $0x0fc0 // .word 4032 - -LCPI0_4: - WORD $0x0040 // .word 64 - WORD $0x0400 // .word 1024 - WORD $0x0040 // .word 64 - WORD $0x0400 // .word 1024 - WORD $0x0040 // .word 64 - WORD $0x0400 // .word 1024 - WORD $0x0040 // .word 64 - WORD $0x0400 // .word 1024 - WORD $0x0040 // .word 64 - WORD $0x0400 // .word 1024 - WORD $0x0040 // .word 64 - WORD $0x0400 // .word 1024 - WORD $0x0040 // .word 64 - WORD $0x0400 // .word 1024 - WORD $0x0040 // .word 64 - WORD $0x0400 // .word 1024 - -LCPI0_5: - WORD $0x03f0 // .word 1008 - WORD $0x003f // .word 63 - WORD $0x03f0 // .word 1008 - WORD $0x003f // .word 63 - WORD $0x03f0 // .word 1008 - WORD $0x003f // .word 63 - WORD $0x03f0 // .word 1008 - WORD $0x003f // .word 63 - WORD $0x03f0 // .word 1008 - WORD $0x003f // .word 63 - WORD $0x03f0 // .word 1008 - WORD $0x003f // .word 63 - WORD $0x03f0 // .word 1008 - WORD $0x003f // .word 63 - WORD $0x03f0 // .word 1008 - WORD $0x003f // .word 63 - -LCPI0_6: - QUAD $0x1a1a1a1a1a1a1a1a; QUAD $0x1a1a1a1a1a1a1a1a // .space 16, '\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a' - QUAD $0x1a1a1a1a1a1a1a1a; QUAD $0x1a1a1a1a1a1a1a1a // .space 16, '\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a' - -LCPI0_7: - QUAD $0x3333333333333333; QUAD $0x3333333333333333 // .space 16, '3333333333333333' - QUAD $0x3333333333333333; QUAD $0x3333333333333333 // .space 16, '3333333333333333' - -LCPI0_8: - QUAD $0x0d0d0d0d0d0d0d0d; QUAD $0x0d0d0d0d0d0d0d0d // .space 16, '\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r' - QUAD $0x0d0d0d0d0d0d0d0d; QUAD $0x0d0d0d0d0d0d0d0d // .space 16, '\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r' - -_b64encode: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - MOVQ 8(SI), R9 - TESTQ R9, R9 - JE LBB0_29 - MOVQ 0(DI), R8 - MOVQ 0(SI), R12 - ADDQ R12, R9 - LEAQ -28(R9), SI - LONG $0x610d8d48; WORD $0x002f; BYTE $0x00 // leaq $12129(%rip), %rcx /* _TabEncodeCharsetStd(%rip) */ - LONG $0x9a1d8d4c; WORD $0x002f; BYTE $0x00 // leaq $12186(%rip), %r11 /* _TabEncodeCharsetURL(%rip) */ - TESTB $1, DX - LONG $0xd9440f4c // cmoveq %rcx, %r11 - JE LBB0_2 - QUAD $0xfffffebc056ffec5 // vmovdqu $-324(%rip), %ymm0 /* LCPI0_1(%rip) */ - JMP LBB0_4 - -LBB0_2: - QUAD $0xfffffe92056ffec5 // vmovdqu $-366(%rip), %ymm0 /* LCPI0_0(%rip) */ - -LBB0_4: - ADDQ 8(DI), R8 - MOVL DX, R10 - ANDL $4, R10 - CMPQ R12, SI - JA LBB0_5 - TESTL R10, R10 - JE LBB0_7 - QUAD $0xfffffead0d6ffec5 // vmovdqu $-339(%rip), %ymm1 /* LCPI0_2(%rip) */ - QUAD $0xfffffec5156ffec5 // vmovdqu $-315(%rip), %ymm2 /* LCPI0_3(%rip) */ - QUAD $0xfffffedd1d6ffec5 // vmovdqu $-291(%rip), %ymm3 /* LCPI0_4(%rip) */ - QUAD $0xfffffef5256ffec5 // vmovdqu $-267(%rip), %ymm4 /* LCPI0_5(%rip) */ - QUAD $0xffffff0d2d6ffec5 // vmovdqu $-243(%rip), %ymm5 /* LCPI0_6(%rip) */ - QUAD $0xffffff25356ffec5 // vmovdqu $-219(%rip), %ymm6 /* LCPI0_7(%rip) */ - QUAD $0xffffff3d3d6ffec5 // vmovdqu $-195(%rip), %ymm7 /* LCPI0_8(%rip) */ - MOVQ R8, R14 - -LBB0_9: - LONG $0x6f7a41c4; WORD $0x2404 // vmovdqu (%r12), %xmm8 - QUAD $0x010c2444383d43c4 // vinserti128 $1, $12(%r12), %ymm8, %ymm8 - LONG $0x003d62c4; BYTE $0xc1 // vpshufb %ymm1, %ymm8, %ymm8 - LONG $0xcadb3dc5 // vpand %ymm2, %ymm8, %ymm9 - LONG $0xcbe435c5 // vpmulhuw %ymm3, %ymm9, %ymm9 - LONG $0xc4db3dc5 // vpand %ymm4, %ymm8, %ymm8 - LONG $0x712dc1c4; WORD $0x08f0 // vpsllw $8, %ymm8, %ymm10 - LONG $0x713dc1c4; WORD $0x04f0 // vpsllw $4, %ymm8, %ymm8 - LONG $0x0e3d43c4; WORD $0xaac2 // vpblendw $170, %ymm10, %ymm8, %ymm8 - LONG $0xeb3d41c4; BYTE $0xc1 // vpor %ymm9, %ymm8, %ymm8 - LONG $0x645541c4; BYTE $0xc8 // vpcmpgtb %ymm8, %ymm5, %ymm9 - LONG $0xcfdb35c5 // vpand %ymm7, %ymm9, %ymm9 - LONG $0xd6d83dc5 // vpsubusb %ymm6, %ymm8, %ymm10 - LONG $0xeb3541c4; BYTE $0xca // vpor %ymm10, %ymm9, %ymm9 - LONG $0x007d42c4; BYTE $0xc9 // vpshufb %ymm9, %ymm0, %ymm9 - LONG $0xfc3541c4; BYTE $0xc0 // vpaddb %ymm8, %ymm9, %ymm8 - LONG $0x7f7e41c4; BYTE $0x06 // vmovdqu %ymm8, (%r14) - ADDQ $32, R14 - ADDQ $24, R12 - CMPQ R12, SI - JBE LBB0_9 - JMP LBB0_10 - -LBB0_5: - MOVQ R8, R14 - -LBB0_10: - LEAQ -24(R9), SI - CMPQ R12, SI - JA LBB0_13 - -LBB0_11: - TESTL R10, R10 - JE LBB0_13 - LONG $0x6f7ac1c4; WORD $0x240c // vmovdqu (%r12), %xmm1 - LONG $0x6f7ac1c4; WORD $0x2454; BYTE $0x08 // vmovdqu $8(%r12), %xmm2 - LONG $0xda73e9c5; BYTE $0x04 // vpsrldq $4, %xmm2, %xmm2 - LONG $0x3875e3c4; WORD $0x01ca // vinserti128 $1, %xmm2, %ymm1, %ymm1 - QUAD $0xfffdda0d0075e2c4; BYTE $0xff // vpshufb $-550(%rip), %ymm1, %ymm1 /* LCPI0_2(%rip) */ - QUAD $0xfffffdf215dbf5c5 // vpand $-526(%rip), %ymm1, %ymm2 /* LCPI0_3(%rip) */ - QUAD $0xfffffe0a15e4edc5 // vpmulhuw $-502(%rip), %ymm2, %ymm2 /* LCPI0_4(%rip) */ - QUAD $0xfffffe220ddbf5c5 // vpand $-478(%rip), %ymm1, %ymm1 /* LCPI0_5(%rip) */ - LONG $0xf171e5c5; BYTE $0x08 // vpsllw $8, %ymm1, %ymm3 - LONG $0xf171f5c5; BYTE $0x04 // vpsllw $4, %ymm1, %ymm1 - LONG $0x0e75e3c4; WORD $0xaacb // vpblendw $170, %ymm3, %ymm1, %ymm1 - LONG $0xcaebf5c5 // vpor %ymm2, %ymm1, %ymm1 - QUAD $0xfffffe26156ffec5 // vmovdqu $-474(%rip), %ymm2 /* LCPI0_6(%rip) */ - LONG $0xd164edc5 // vpcmpgtb %ymm1, %ymm2, %ymm2 - QUAD $0xfffffe3a1dd8f5c5 // vpsubusb $-454(%rip), %ymm1, %ymm3 /* LCPI0_7(%rip) */ - QUAD $0xfffffe5215dbedc5 // vpand $-430(%rip), %ymm2, %ymm2 /* LCPI0_8(%rip) */ - LONG $0xd3ebedc5 // vpor %ymm3, %ymm2, %ymm2 - LONG $0x007de2c4; BYTE $0xc2 // vpshufb %ymm2, %ymm0, %ymm0 - LONG $0xc1fcfdc5 // vpaddb %ymm1, %ymm0, %ymm0 - LONG $0x7f7ec1c4; BYTE $0x06 // vmovdqu %ymm0, (%r14) - ADDQ $32, R14 - ADDQ $24, R12 - -LBB0_13: - CMPQ R12, R9 - JE LBB0_28 - LEAQ -4(R9), R10 - CMPQ R12, R10 - JA LBB0_17 - -LBB0_15: - MOVL 0(R12), SI - BSWAPL SI - MOVQ SI, R15 - SHRQ $26, R15 - MOVL SI, CX - SHRL $20, CX - ANDL $63, CX - MOVL SI, BX - SHRL $14, BX - ANDL $63, BX - SHRL $8, SI - ANDL $63, SI - ADDQ $3, R12 - MOVBLZX 0(R11)(R15*1), AX - MOVB AX, 0(R14) - MOVBLZX 0(R11)(CX*1), AX - MOVB AX, 1(R14) - MOVBLZX 0(R11)(BX*1), AX - MOVB AX, 2(R14) - MOVBLZX 0(R11)(SI*1), AX - MOVB AX, 3(R14) - ADDQ $4, R14 - CMPQ R12, R10 - JBE LBB0_15 - -LBB0_17: - SUBQ R12, R9 - MOVBLZX 0(R12), R10 - CMPQ R9, $1 - JE LBB0_24 - MOVQ R10, SI - SHLQ $16, SI - CMPQ R9, $2 - JE LBB0_21 - CMPQ R9, $3 - JNE LBB0_28 - MOVBLZX 2(R12), DX - ORL DX, SI - MOVBLZX 1(R12), AX - SHLL $8, AX - ORL SI, AX - SHRQ $2, R10 - MOVB 0(R11)(R10*1), CX - MOVB CX, 0(R14) - MOVL AX, CX - SHRL $12, CX - ANDL $63, CX - MOVB 0(R11)(CX*1), CX - MOVB CX, 1(R14) - SHRL $6, AX - ANDL $63, AX - MOVB 0(R11)(AX*1), AX - MOVB AX, 2(R14) - ANDL $63, DX - MOVB 0(R11)(DX*1), AX - MOVB AX, 3(R14) - JMP LBB0_27 - -LBB0_7: - MOVQ R8, R14 - LEAQ -24(R9), SI - CMPQ R12, SI - JBE LBB0_11 - JMP LBB0_13 - -LBB0_21: - MOVBLZX 1(R12), AX - MOVL AX, CX - SHLL $8, CX - ORL SI, CX - SHRQ $2, R10 - MOVB 0(R11)(R10*1), BX - MOVB BX, 0(R14) - SHRL $12, CX - ANDL $63, CX - MOVB 0(R11)(CX*1), CX - MOVB CX, 1(R14) - ANDL $15, AX - MOVB 0(R11)(AX*4), AX - MOVB AX, 2(R14) - TESTB $2, DX - JNE LBB0_22 - MOVB $61, 3(R14) - JMP LBB0_27 - -LBB0_24: - MOVQ R10, AX - SHRQ $2, AX - MOVB 0(R11)(AX*1), AX - MOVB AX, 0(R14) - SHLL $4, R10 - ANDL $48, R10 - MOVB 0(R11)(R10*1), AX - MOVB AX, 1(R14) - TESTB $2, DX - JNE LBB0_25 - MOVW $15677, 2(R14) - -LBB0_27: - ADDQ $4, R14 - JMP LBB0_28 - -LBB0_22: - ADDQ $3, R14 - JMP LBB0_28 - -LBB0_25: - ADDQ $2, R14 - -LBB0_28: - SUBQ R8, R14 - ADDQ R14, 8(DI) - -LBB0_29: - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - RET - -LCPI1_0: - BYTE $0xa8 // .byte 168 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf0 // .byte 240 - BYTE $0x54 // .byte 84 - BYTE $0x50 // .byte 80 - BYTE $0x50 // .byte 80 - BYTE $0x50 // .byte 80 - BYTE $0x54 // .byte 84 - BYTE $0xa8 // .byte 168 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf0 // .byte 240 - BYTE $0x54 // .byte 84 - BYTE $0x50 // .byte 80 - BYTE $0x50 // .byte 80 - BYTE $0x50 // .byte 80 - BYTE $0x54 // .byte 84 - -LCPI1_1: - BYTE $0xa8 // .byte 168 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf0 // .byte 240 - BYTE $0x50 // .byte 80 - BYTE $0x50 // .byte 80 - BYTE $0x54 // .byte 84 - BYTE $0x50 // .byte 80 - BYTE $0x70 // .byte 112 - BYTE $0xa8 // .byte 168 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf8 // .byte 248 - BYTE $0xf0 // .byte 240 - BYTE $0x50 // .byte 80 - BYTE $0x50 // .byte 80 - BYTE $0x54 // .byte 84 - BYTE $0x50 // .byte 80 - BYTE $0x70 // .byte 112 - -LCPI1_2: - QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' - QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' - -LCPI1_3: - QUAD $0x5f5f5f5f5f5f5f5f; QUAD $0x5f5f5f5f5f5f5f5f // .space 16, '________________' - QUAD $0x5f5f5f5f5f5f5f5f; QUAD $0x5f5f5f5f5f5f5f5f // .space 16, '________________' - -LCPI1_4: - QUAD $0x1010101010101010; QUAD $0x1010101010101010 // .space 16, '\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10' - QUAD $0x1010101010101010; QUAD $0x1010101010101010 // .space 16, '\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10' - -LCPI1_5: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI1_6: - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x13 // .byte 19 - BYTE $0x04 // .byte 4 - BYTE $0xbf // .byte 191 - BYTE $0xbf // .byte 191 - BYTE $0xb9 // .byte 185 - BYTE $0xb9 // .byte 185 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x13 // .byte 19 - BYTE $0x04 // .byte 4 - BYTE $0xbf // .byte 191 - BYTE $0xbf // .byte 191 - BYTE $0xb9 // .byte 185 - BYTE $0xb9 // .byte 185 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - -LCPI1_7: - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x11 // .byte 17 - BYTE $0x04 // .byte 4 - BYTE $0xbf // .byte 191 - BYTE $0xbf // .byte 191 - BYTE $0xb9 // .byte 185 - BYTE $0xb9 // .byte 185 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x11 // .byte 17 - BYTE $0x04 // .byte 4 - BYTE $0xbf // .byte 191 - BYTE $0xbf // .byte 191 - BYTE $0xb9 // .byte 185 - BYTE $0xb9 // .byte 185 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - -LCPI1_8: - QUAD $0x0f0f0f0f0f0f0f0f; QUAD $0x0f0f0f0f0f0f0f0f // .space 16, '\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f' - QUAD $0x0f0f0f0f0f0f0f0f; QUAD $0x0f0f0f0f0f0f0f0f // .space 16, '\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f' - -LCPI1_9: - BYTE $0x01 // .byte 1 - BYTE $0x02 // .byte 2 - BYTE $0x04 // .byte 4 - BYTE $0x08 // .byte 8 - BYTE $0x10 // .byte 16 - BYTE $0x20 // .byte 32 - BYTE $0x40 // .byte 64 - BYTE $0x80 // .byte 128 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x01 // .byte 1 - BYTE $0x02 // .byte 2 - BYTE $0x04 // .byte 4 - BYTE $0x08 // .byte 8 - BYTE $0x10 // .byte 16 - BYTE $0x20 // .byte 32 - BYTE $0x40 // .byte 64 - BYTE $0x80 // .byte 128 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - BYTE $0x00 // .byte 0 - -LCPI1_10: - QUAD $0x3f3f3f3f3f3f3f3f; QUAD $0x3f3f3f3f3f3f3f3f // .space 16, '????????????????' - QUAD $0x3f3f3f3f3f3f3f3f; QUAD $0x3f3f3f3f3f3f3f3f // .space 16, '????????????????' - -LCPI1_11: - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - BYTE $0x40 // .byte 64 - BYTE $0x01 // .byte 1 - -LCPI1_12: - WORD $0x1000 // .word 4096 - WORD $0x0001 // .word 1 - WORD $0x1000 // .word 4096 - WORD $0x0001 // .word 1 - WORD $0x1000 // .word 4096 - WORD $0x0001 // .word 1 - WORD $0x1000 // .word 4096 - WORD $0x0001 // .word 1 - WORD $0x1000 // .word 4096 - WORD $0x0001 // .word 1 - WORD $0x1000 // .word 4096 - WORD $0x0001 // .word 1 - WORD $0x1000 // .word 4096 - WORD $0x0001 // .word 1 - WORD $0x1000 // .word 4096 - WORD $0x0001 // .word 1 - -LCPI1_14: - BYTE $0x02 // .byte 2 - BYTE $0x01 // .byte 1 - BYTE $0x00 // .byte 0 - BYTE $0x06 // .byte 6 - BYTE $0x05 // .byte 5 - BYTE $0x04 // .byte 4 - BYTE $0x0a // .byte 10 - BYTE $0x09 // .byte 9 - BYTE $0x08 // .byte 8 - BYTE $0x0e // .byte 14 - BYTE $0x0d // .byte 13 - BYTE $0x0c // .byte 12 - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x05 // .byte 5 - BYTE $0x04 // .byte 4 - BYTE $0x0a // .byte 10 - BYTE $0x09 // .byte 9 - BYTE $0x08 // .byte 8 - BYTE $0x0e // .byte 14 - BYTE $0x0d // .byte 13 - BYTE $0x0c // .byte 12 - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - -LCPI1_13: - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x00 // .space 1, '\x00' - BYTE $0x02 // .byte 2 - BYTE $0x01 // .byte 1 - BYTE $0x00 // .byte 0 - BYTE $0x06 // .byte 6 - -_b64decode: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - WORD $0x5741 // pushq %r15 - WORD $0x5641 // pushq %r14 - WORD $0x5541 // pushq %r13 - WORD $0x5441 // pushq %r12 - BYTE $0x53 // pushq %rbx - SUBQ $80, SP - TESTQ DX, DX - JE LBB1_3 - MOVQ 0(DI), BX - MOVQ 8(DI), R15 - ADDQ BX, R15 - ADDQ 16(DI), BX - ADDQ SI, DX - TESTB $1, CX - LONG $0xee058d4c; WORD $0x002a; BYTE $0x00 // leaq $10990(%rip), %r8 /* _VecDecodeCharsetStd(%rip) */ - LONG $0xe7058d48; WORD $0x002b; BYTE $0x00 // leaq $11239(%rip), %rax /* _VecDecodeCharsetURL(%rip) */ - LONG $0xc0440f49 // cmoveq %r8, %rax - MOVQ AX, -56(BP) - TESTB $4, CX - MOVQ SI, -96(BP) - MOVQ DI, -120(BP) - MOVQ R15, -112(BP) - MOVQ BX, -88(BP) - JNE LBB1_4 - MOVL CX, R8 - ANDL $8, R8 - ANDL $2, CX - MOVL CX, -44(BP) - JMP LBB1_764 - -LBB1_3: - XORL AX, AX - JMP LBB1_763 - -LBB1_4: - LEAQ -32(DX), R14 - LEAQ -32(BX), R13 - TESTB $1, CX - JE LBB1_9 - QUAD $0xfffffdcd056ffec5 // vmovdqu $-563(%rip), %ymm0 /* LCPI1_1(%rip) */ - JNE LBB1_10 - -LBB1_6: - QUAD $0xfffffde30d6ffec5 // vmovdqu $-541(%rip), %ymm1 /* LCPI1_2(%rip) */ - JNE LBB1_11 - -LBB1_7: - QUAD $0xfffffe19156ffec5 // vmovdqu $-487(%rip), %ymm2 /* LCPI1_4(%rip) */ - JNE LBB1_12 - -LBB1_8: - QUAD $0xfffffe4f1d6ffec5 // vmovdqu $-433(%rip), %ymm3 /* LCPI1_6(%rip) */ - JMP LBB1_13 - -LBB1_9: - QUAD $0xfffffd85056ffec5 // vmovdqu $-635(%rip), %ymm0 /* LCPI1_0(%rip) */ - JE LBB1_6 - -LBB1_10: - QUAD $0xfffffddb0d6ffec5 // vmovdqu $-549(%rip), %ymm1 /* LCPI1_3(%rip) */ - JE LBB1_7 - -LBB1_11: - QUAD $0xfffffe11156ffec5 // vmovdqu $-495(%rip), %ymm2 /* LCPI1_5(%rip) */ - JE LBB1_8 - -LBB1_12: - QUAD $0xfffffe471d6ffec5 // vmovdqu $-441(%rip), %ymm3 /* LCPI1_7(%rip) */ - -LBB1_13: - MOVL CX, R8 - ANDL $8, R8 - ANDL $2, CX - CMPQ R14, SI - MOVL CX, -44(BP) - JB LBB1_205 - CMPQ R15, R13 - JA LBB1_764 - QUAD $0xfffffe40256ffec5 // vmovdqu $-448(%rip), %ymm4 /* LCPI1_8(%rip) */ - QUAD $0xfffffe582d6ffec5 // vmovdqu $-424(%rip), %ymm5 /* LCPI1_9(%rip) */ - LONG $0xf6efc9c5 // vpxor %xmm6, %xmm6, %xmm6 - MOVQ $-4294967296, DI - QUAD $0xfffffe82056f7ec5 // vmovdqu $-382(%rip), %ymm8 /* LCPI1_11(%rip) */ - QUAD $0xfffffe9a0d6f7ec5 // vmovdqu $-358(%rip), %ymm9 /* LCPI1_12(%rip) */ - QUAD $0xfffffed2156f7ac5 // vmovdqu $-302(%rip), %xmm10 /* LCPI1_13(%rip) */ - QUAD $0xfffffeaa1d6f7ec5 // vmovdqu $-342(%rip), %ymm11 /* LCPI1_14(%rip) */ - MOVQ SI, R10 - MOVQ R14, -72(BP) - MOVQ R13, -80(BP) - -LBB1_16: - LONG $0x6f7e41c4; BYTE $0x22 // vmovdqu (%r10), %ymm12 - LONG $0x7215c1c4; WORD $0x04d4 // vpsrld $4, %ymm12, %ymm13 - LONG $0xecdb15c5 // vpand %ymm4, %ymm13, %ymm13 - LONG $0xf4db1dc5 // vpand %ymm4, %ymm12, %ymm14 - LONG $0x007d42c4; BYTE $0xf6 // vpshufb %ymm14, %ymm0, %ymm14 - LONG $0x005542c4; BYTE $0xfd // vpshufb %ymm13, %ymm5, %ymm15 - LONG $0xdb0541c4; BYTE $0xf6 // vpand %ymm14, %ymm15, %ymm14 - LONG $0xf6740dc5 // vpcmpeqb %ymm6, %ymm14, %ymm14 - LONG $0xd77dc1c4; BYTE $0xc6 // vpmovmskb %ymm14, %eax - ORQ DI, AX - BSFQ AX, AX - CMPL AX, $31 - JA LBB1_19 - CMPQ R10, DX - JAE LBB1_110 - MOVQ R10, R12 - JMP LBB1_22 - -LBB1_19: - LONG $0xf1741dc5 // vpcmpeqb %ymm1, %ymm12, %ymm14 - LONG $0x006542c4; BYTE $0xed // vpshufb %ymm13, %ymm3, %ymm13 - LONG $0x4c1563c4; WORD $0xe0ea // vpblendvb %ymm14, %ymm2, %ymm13, %ymm13 - LONG $0xfc1541c4; BYTE $0xe4 // vpaddb %ymm12, %ymm13, %ymm12 - QUAD $0xfffffdde25db1dc5 // vpand $-546(%rip), %ymm12, %ymm12 /* LCPI1_10(%rip) */ - LONG $0x041d42c4; BYTE $0xe0 // vpmaddubsw %ymm8, %ymm12, %ymm12 - LONG $0xf51d41c4; BYTE $0xe1 // vpmaddwd %ymm9, %ymm12, %ymm12 - LONG $0x397d63c4; WORD $0x01e7 // vextracti128 $1, %ymm12, %xmm7 - LONG $0x0041c2c4; BYTE $0xfa // vpshufb %xmm10, %xmm7, %xmm7 - LONG $0x001d42c4; BYTE $0xe3 // vpshufb %ymm11, %ymm12, %ymm12 - LONG $0x021de3c4; WORD $0x08ff // vpblendd $8, %ymm7, %ymm12, %ymm7 - LONG $0x0245e3c4; WORD $0xc0fe // vpblendd $192, %ymm6, %ymm7, %ymm7 - LONG $0x7f7ec1c4; BYTE $0x3f // vmovdqu %ymm7, (%r15) - ADDQ $32, R10 - ADDQ $24, R15 - JMP LBB1_110 - -LBB1_38: - CMPB CX, $110 - JNE LBB1_43 - -LBB1_20: - MOVQ SI, R12 - -LBB1_21: - CMPQ R12, DX - JAE LBB1_40 - -LBB1_22: - LEAQ 1(R12), CX - MOVBLZX 0(R12), SI - CMPB SI, $92 - JNE LBB1_34 - TESTL R8, R8 - JE LBB1_36 - LEAQ 2(R12), SI - MOVB $-1, R9 - CMPQ SI, DX - JA LBB1_42 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_38 - CMPB CX, $114 - JE LBB1_20 - CMPB CX, $117 - JNE LBB1_45 - MOVQ DX, CX - SUBQ SI, CX - CMPQ CX, $4 - JL LBB1_45 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), CX - ANDL $-2139062144, DI - TESTL CX, DI - JNE LBB1_45 - LEAL 421075225(BX), CX - ORL BX, CX - TESTL $-2139062144, CX - JNE LBB1_45 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R11 - ANDL DI, AX - TESTL R11, AX - JNE LBB1_45 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_45 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R12 - ORL AX, CX - JNE LBB1_46 - CMPB SI, $13 - JNE LBB1_37 - JMP LBB1_21 - -LBB1_34: - MOVQ CX, R12 - CMPB SI, $13 - JNE LBB1_37 - JMP LBB1_21 - -LBB1_36: - MOVQ CX, R12 - CMPB SI, $13 - JE LBB1_21 - -LBB1_37: - MOVL SI, R9 - CMPB SI, $10 - JE LBB1_21 - JMP LBB1_46 - -LBB1_40: - MOVB $1, CX - XORL DI, DI - XORL R11, R11 - -LBB1_41: - TESTB CX, CX - JE LBB1_49 - JMP LBB1_109 - -LBB1_42: - MOVQ CX, R12 - JMP LBB1_46 - -LBB1_43: - CMPB CX, $47 - JNE LBB1_45 - MOVL CX, R9 - -LBB1_45: - MOVQ SI, R12 - -LBB1_46: - MOVBLZX R9, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), DI - MOVB $1, R13 - CMPL DI, $255 - JE LBB1_72 - MOVL $1, R11 - CMPQ R12, DX - JB LBB1_54 - -LBB1_48: - MOVQ -80(BP), R13 - -LBB1_49: - MOVL DI, -64(BP) - CMPL -44(BP), $0 - SETEQ CX - CMPL R11, $1 - SETEQ BX - CMPQ R12, DX - JB LBB1_102 - CMPL R11, $4 - JE LBB1_102 - ORB BX, CX - JNE LBB1_97 - JMP LBB1_102 - -LBB1_70: - CMPB CX, $110 - JNE LBB1_112 - -LBB1_52: - MOVQ SI, R12 - -LBB1_53: - CMPQ R12, DX - JAE LBB1_98 - -LBB1_54: - LEAQ 1(R12), CX - MOVBLZX 0(R12), SI - CMPB SI, $92 - JNE LBB1_66 - TESTL R8, R8 - JE LBB1_68 - LEAQ 2(R12), SI - MOVB $-1, R9 - CMPQ SI, DX - JA LBB1_100 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_70 - CMPB CX, $114 - JE LBB1_52 - CMPB CX, $117 - JNE LBB1_114 - MOVQ DX, AX - SUBQ SI, AX - CMPQ AX, $4 - JL LBB1_114 - MOVL DI, R14 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_99 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_99 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R11 - ANDL DI, AX - TESTL R11, AX - JNE LBB1_99 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_99 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R12 - ORL AX, CX - MOVL R14, DI - MOVQ -72(BP), R14 - JE LBB1_67 - JMP LBB1_115 - -LBB1_66: - MOVQ CX, R12 - -LBB1_67: - CMPB SI, $13 - JNE LBB1_69 - JMP LBB1_53 - -LBB1_68: - MOVQ CX, R12 - CMPB SI, $13 - JE LBB1_53 - -LBB1_69: - MOVL SI, R9 - CMPB SI, $10 - JE LBB1_53 - JMP LBB1_115 - -LBB1_72: - XORL DI, DI - XORL AX, AX - XORL R11, R11 - -LBB1_73: - CMPL -44(BP), $0 - JNE LBB1_96 - CMPB R9, $61 - JNE LBB1_96 - TESTB R13, R13 - JNE LBB1_96 - MOVL DI, -64(BP) - CMPQ R12, DX - MOVQ -80(BP), R13 - JAE LBB1_102 - MOVL AX, -100(BP) - MOVQ R12, SI - JMP LBB1_80 - -LBB1_95: - MOVQ BX, SI - CMPQ SI, DX - JB LBB1_80 - JMP LBB1_101 - -LBB1_78: - MOVQ R12, SI - CMPQ SI, DX - JAE LBB1_101 - -LBB1_80: - LEAQ 1(SI), BX - MOVBLZX 0(SI), DI - CMPB DI, $92 - JNE LBB1_92 - TESTL R8, R8 - JE LBB1_92 - LEAQ 2(SI), R12 - CMPQ R12, DX - JA LBB1_143 - MOVBLZX 0(BX), CX - CMPB CX, $110 - JE LBB1_78 - CMPB CX, $114 - JE LBB1_78 - CMPB CX, $117 - JNE LBB1_97 - MOVQ DX, AX - SUBQ R12, AX - CMPQ AX, $4 - JL LBB1_97 - MOVL 0(R12), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_97 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_97 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL DI, AX - TESTL R9, AX - JNE LBB1_97 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_97 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, DI - SHRL $4, DI - ORL BX, DI - MOVL DI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL DI, CX - ANDL $128, CX - ADDQ $6, SI - ORL AX, CX - MOVQ SI, BX - MOVQ SI, R12 - JNE LBB1_97 - -LBB1_92: - CMPB DI, $10 - JE LBB1_95 - CMPB DI, $13 - JE LBB1_95 - CMPB DI, $61 - JNE LBB1_143 - CMPB -100(BP), $0 - JE LBB1_147 - -LBB1_143: - MOVQ BX, R12 - JMP LBB1_97 - -LBB1_96: - MOVQ -80(BP), R13 - -LBB1_97: - XORL CX, CX - CMPQ R12, DX - SETEQ CX - ADDQ R12, CX - CMPQ CX, R10 - MOVQ $-4294967296, DI - JE LBB1_110 - JMP LBB1_762 - -LBB1_98: - MOVL $1, R11 - XORL CX, CX - MOVQ -80(BP), R13 - JMP LBB1_41 - -LBB1_99: - MOVQ SI, R12 - MOVL R14, DI - MOVQ -72(BP), R14 - JMP LBB1_115 - -LBB1_100: - MOVQ CX, R12 - JMP LBB1_115 - -LBB1_101: - MOVQ SI, R12 - -LBB1_102: - MOVB $4, AX - SUBB R11, AX - MOVBLZX AX, AX - ADDL AX, AX - LEAL 0(AX)(AX*2), CX - MOVL -64(BP), AX - SHLL CX, AX - CMPL R11, $2 - MOVQ R15, CX - JE LBB1_107 - CMPL R11, $3 - JE LBB1_106 - CMPL R11, $4 - JNE LBB1_108 - MOVB AX, 2(CX) - -LBB1_106: - MOVB AH, 1(CX) - -LBB1_107: - SHRL $16, AX - MOVB AX, 0(CX) - -LBB1_108: - MOVL R11, AX - LEAQ 0(AX)(CX*1), R15 - ADDQ $-1, R15 - -LBB1_109: - MOVQ R12, R10 - MOVQ $-4294967296, DI - -LBB1_110: - CMPQ R10, R14 - JA LBB1_206 - CMPQ R15, R13 - JBE LBB1_16 - JMP LBB1_206 - -LBB1_112: - CMPB CX, $47 - JNE LBB1_114 - MOVL CX, R9 - -LBB1_114: - MOVQ SI, R12 - -LBB1_115: - MOVBLZX R9, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), CX - CMPL CX, $255 - JE LBB1_138 - SHLL $6, DI - ORL CX, DI - MOVL $2, R11 - CMPQ R12, DX - JAE LBB1_48 - MOVQ -80(BP), R13 - JMP LBB1_120 - -LBB1_136: - CMPB CX, $110 - JNE LBB1_169 - -LBB1_118: - MOVQ SI, R12 - -LBB1_119: - CMPQ R12, DX - JAE LBB1_142 - -LBB1_120: - LEAQ 1(R12), CX - MOVBLZX 0(R12), SI - CMPB SI, $92 - JNE LBB1_132 - TESTL R8, R8 - JE LBB1_134 - LEAQ 2(R12), SI - MOVB $-1, R9 - CMPQ SI, DX - JA LBB1_146 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_136 - CMPB CX, $114 - JE LBB1_118 - CMPB CX, $117 - JNE LBB1_171 - MOVQ DX, AX - SUBQ SI, AX - CMPQ AX, $4 - JL LBB1_171 - MOVL DI, R14 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_144 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_144 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R11 - ANDL DI, AX - TESTL R11, AX - JNE LBB1_144 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_144 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R12 - ORL AX, CX - MOVL R14, DI - MOVQ -72(BP), R14 - JE LBB1_133 - JMP LBB1_172 - -LBB1_132: - MOVQ CX, R12 - -LBB1_133: - CMPB SI, $13 - JNE LBB1_135 - JMP LBB1_119 - -LBB1_134: - MOVQ CX, R12 - CMPB SI, $13 - JE LBB1_119 - -LBB1_135: - MOVL SI, R9 - CMPB SI, $10 - JE LBB1_119 - JMP LBB1_172 - -LBB1_138: - XORL AX, AX - MOVL $1, R11 - JMP LBB1_73 - -LBB1_142: - MOVL $2, R11 - XORL CX, CX - JMP LBB1_41 - -LBB1_144: - MOVQ SI, R12 - MOVL R14, DI - MOVQ -72(BP), R14 - JMP LBB1_172 - -LBB1_146: - MOVQ CX, R12 - JMP LBB1_172 - -LBB1_147: - CMPQ BX, DX - JB LBB1_151 - -LBB1_148: - MOVQ BX, R12 - JMP LBB1_102 - -LBB1_149: - MOVQ R12, BX - -LBB1_150: - CMPQ BX, DX - JAE LBB1_148 - -LBB1_151: - LEAQ 1(BX), CX - MOVBLZX 0(BX), SI - CMPB SI, $92 - JNE LBB1_164 - TESTL R8, R8 - JE LBB1_164 - LEAQ 2(BX), R12 - CMPQ R12, DX - JA LBB1_204 - MOVBLZX 0(CX), CX - CMPB CX, $110 - JE LBB1_149 - CMPB CX, $114 - JE LBB1_149 - CMPB CX, $117 - JNE LBB1_97 - MOVQ DX, AX - SUBQ R12, AX - CMPQ AX, $4 - JL LBB1_97 - MOVL 0(R12), CX - MOVL CX, SI - NOTL SI - LEAL -808464432(CX), AX - ANDL $-2139062144, SI - TESTL AX, SI - JNE LBB1_97 - LEAL 421075225(CX), AX - ORL CX, AX - TESTL $-2139062144, AX - JNE LBB1_97 - MOVL CX, DI - ANDL $2139062143, DI - MOVL $-1061109568, AX - SUBL DI, AX - LEAL 1179010630(DI), R9 - ANDL SI, AX - TESTL R9, AX - JNE LBB1_97 - MOVL $-522133280, AX - SUBL DI, AX - ADDL $960051513, DI - ANDL AX, SI - TESTL DI, SI - JNE LBB1_97 - BSWAPL CX - MOVL CX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, CX - ADDL AX, CX - MOVL CX, SI - SHRL $4, SI - ORL CX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, BX - ORL AX, CX - MOVQ BX, R12 - JE LBB1_165 - JMP LBB1_97 - -LBB1_164: - MOVQ CX, R12 - -LBB1_165: - CMPB SI, $13 - JE LBB1_149 - MOVQ R12, BX - CMPB SI, $10 - JE LBB1_150 - JMP LBB1_97 - -LBB1_169: - CMPB CX, $47 - JNE LBB1_171 - MOVL CX, R9 - -LBB1_171: - MOVQ SI, R12 - -LBB1_172: - MOVBLZX R9, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), CX - CMPL CX, $255 - JE LBB1_194 - SHLL $6, DI - ORL CX, DI - MOVL $3, R11 - CMPQ R12, DX - JB LBB1_176 - JMP LBB1_49 - -LBB1_192: - CMPB CX, $110 - JNE LBB1_197 - -LBB1_174: - MOVQ SI, R12 - -LBB1_175: - MOVL $3, R11 - XORL CX, CX - CMPQ R12, DX - JAE LBB1_41 - -LBB1_176: - LEAQ 1(R12), CX - MOVBLZX 0(R12), SI - CMPB SI, $92 - JNE LBB1_189 - TESTL R8, R8 - JE LBB1_189 - LEAQ 2(R12), SI - MOVB $-1, R9 - CMPQ SI, DX - JA LBB1_196 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_192 - CMPB CX, $114 - JE LBB1_174 - CMPB CX, $117 - JNE LBB1_199 - MOVQ DX, AX - SUBQ SI, AX - CMPQ AX, $4 - JL LBB1_199 - MOVL DI, R14 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_195 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_195 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R11 - ANDL DI, AX - TESTL R11, AX - JNE LBB1_195 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_195 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R12 - ORL AX, CX - MOVL R14, DI - MOVQ -72(BP), R14 - JE LBB1_190 - JMP LBB1_200 - -LBB1_189: - MOVQ CX, R12 - -LBB1_190: - CMPB SI, $13 - JE LBB1_175 - MOVL SI, R9 - CMPB SI, $10 - JE LBB1_175 - JMP LBB1_200 - -LBB1_194: - XORL R13, R13 - MOVL $2, R11 - XORL AX, AX - JMP LBB1_73 - -LBB1_195: - MOVQ SI, R12 - MOVL R14, DI - MOVQ -72(BP), R14 - JMP LBB1_200 - -LBB1_196: - MOVQ CX, R12 - JMP LBB1_200 - -LBB1_197: - CMPB CX, $47 - JNE LBB1_199 - MOVL CX, R9 - -LBB1_199: - MOVQ SI, R12 - -LBB1_200: - MOVBLZX R9, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), CX - CMPL CX, $255 - JE LBB1_202 - SHLL $6, DI - ORL CX, DI - MOVL $4, R11 - JMP LBB1_49 - -LBB1_202: - XORL R13, R13 - MOVL $3, R11 - MOVB $1, AX - JMP LBB1_73 - -LBB1_204: - MOVQ CX, R12 - JMP LBB1_97 - -LBB1_764: - MOVQ SI, R10 - LEAQ -8(DX), AX - MOVQ AX, -80(BP) - CMPQ R10, AX - JBE LBB1_207 - JMP LBB1_393 - -LBB1_205: - MOVQ SI, R10 - -LBB1_206: - LEAQ -8(DX), AX - MOVQ AX, -80(BP) - CMPQ R10, AX - JA LBB1_393 - -LBB1_207: - MOVQ -88(BP), AX - ADDQ $-8, AX - MOVQ AX, -72(BP) - CMPQ R15, AX - JA LBB1_393 - -LBB1_208: - MOVQ R15, -64(BP) - MOVBLZX 0(R10), AX - MOVQ -56(BP), DI - MOVBLZX 0(DI)(AX*1), R9 - MOVBLZX 1(R10), AX - MOVBLZX 0(DI)(AX*1), SI - MOVBLZX 2(R10), AX - MOVBLZX 0(DI)(AX*1), R12 - MOVBLZX 3(R10), AX - MOVBLZX 0(DI)(AX*1), AX - MOVBLZX 4(R10), CX - MOVBLZX 0(DI)(CX*1), R13 - MOVBLZX 5(R10), CX - MOVBLZX 0(DI)(CX*1), R11 - MOVBLZX 6(R10), CX - MOVBLZX 0(DI)(CX*1), BX - MOVBLZX 7(R10), CX - MOVBLZX 0(DI)(CX*1), CX - MOVL SI, DI - ORL R9, DI - MOVL AX, R15 - ORL R12, R15 - ORL DI, R15 - MOVL R11, DI - ORL R13, DI - MOVL BX, R14 - ORL DI, R14 - ORL R15, R14 - MOVL CX, DI - ORL R14, DI - CMPB DI, $-1 - JE LBB1_210 - SHLQ $58, R9 - SHLQ $52, SI - ORQ R9, SI - SHLQ $46, R12 - SHLQ $40, AX - ORQ R12, AX - ORQ SI, AX - SHLQ $34, R13 - SHLQ $28, R11 - ORQ R13, R11 - SHLQ $22, BX - ORQ R11, BX - ORQ AX, BX - SHLQ $16, CX - ORQ BX, CX - BSWAPQ CX - MOVQ -64(BP), AX - MOVQ CX, 0(AX) - ADDQ $8, R10 - ADDQ $6, AX - MOVQ AX, -64(BP) - CMPQ R10, -80(BP) - JBE LBB1_330 - JMP LBB1_392 - -LBB1_210: - CMPQ R10, DX - JAE LBB1_329 - MOVQ R10, R14 - JMP LBB1_214 - -LBB1_230: - CMPB CX, $110 - JNE LBB1_236 - -LBB1_212: - MOVQ SI, R14 - -LBB1_213: - CMPQ R14, DX - JAE LBB1_232 - -LBB1_214: - LEAQ 1(R14), CX - MOVBLZX 0(R14), SI - CMPB SI, $92 - JNE LBB1_226 - TESTL R8, R8 - JE LBB1_228 - LEAQ 2(R14), SI - MOVB $-1, R13 - CMPQ SI, DX - JA LBB1_235 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_230 - CMPB CX, $114 - JE LBB1_212 - CMPB CX, $117 - JNE LBB1_238 - MOVQ DX, CX - SUBQ SI, CX - CMPQ CX, $4 - JL LBB1_238 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), CX - ANDL $-2139062144, DI - TESTL CX, DI - JNE LBB1_238 - LEAL 421075225(BX), CX - ORL BX, CX - TESTL $-2139062144, CX - JNE LBB1_238 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL DI, AX - TESTL R9, AX - JNE LBB1_238 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_238 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R14 - ORL AX, CX - JNE LBB1_239 - CMPB SI, $13 - JNE LBB1_229 - JMP LBB1_213 - -LBB1_226: - MOVQ CX, R14 - CMPB SI, $13 - JNE LBB1_229 - JMP LBB1_213 - -LBB1_228: - MOVQ CX, R14 - CMPB SI, $13 - JE LBB1_213 - -LBB1_229: - MOVL SI, R13 - CMPB SI, $10 - JE LBB1_213 - JMP LBB1_239 - -LBB1_232: - MOVB $1, CX - XORL DI, DI - XORL R11, R11 - -LBB1_233: - TESTB CX, CX - JE LBB1_241 - MOVQ R14, R10 - CMPQ R10, -80(BP) - JBE LBB1_330 - JMP LBB1_392 - -LBB1_235: - MOVQ CX, R14 - JMP LBB1_239 - -LBB1_236: - CMPB CX, $47 - JNE LBB1_238 - MOVL CX, R13 - -LBB1_238: - MOVQ SI, R14 - -LBB1_239: - MOVBLZX R13, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), DI - MOVB $1, R9 - CMPL DI, $255 - JE LBB1_264 - MOVL $1, R11 - CMPQ R14, DX - JB LBB1_246 - -LBB1_241: - MOVL DI, R15 - CMPL -44(BP), $0 - SETEQ CX - CMPL R11, $1 - SETEQ BX - CMPQ R14, DX - JB LBB1_292 - CMPL R11, $4 - JE LBB1_292 - ORB BX, CX - JNE LBB1_328 - JMP LBB1_292 - -LBB1_262: - CMPB CX, $110 - JNE LBB1_299 - -LBB1_244: - MOVQ SI, R14 - -LBB1_245: - CMPQ R14, DX - JAE LBB1_288 - -LBB1_246: - LEAQ 1(R14), CX - MOVBLZX 0(R14), SI - CMPB SI, $92 - JNE LBB1_258 - TESTL R8, R8 - JE LBB1_260 - LEAQ 2(R14), SI - MOVB $-1, R13 - CMPQ SI, DX - JA LBB1_290 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_262 - CMPB CX, $114 - JE LBB1_244 - CMPB CX, $117 - JNE LBB1_301 - MOVQ DX, AX - SUBQ SI, AX - CMPQ AX, $4 - JL LBB1_301 - MOVL DI, R15 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_289 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_289 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R11 - ANDL DI, AX - TESTL R11, AX - JNE LBB1_289 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_289 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R14 - ORL AX, CX - MOVL R15, DI - JE LBB1_259 - JMP LBB1_302 - -LBB1_258: - MOVQ CX, R14 - -LBB1_259: - CMPB SI, $13 - JNE LBB1_261 - JMP LBB1_245 - -LBB1_260: - MOVQ CX, R14 - CMPB SI, $13 - JE LBB1_245 - -LBB1_261: - MOVL SI, R13 - CMPB SI, $10 - JE LBB1_245 - JMP LBB1_302 - -LBB1_264: - XORL DI, DI - XORL R12, R12 - XORL R11, R11 - -LBB1_265: - CMPL -44(BP), $0 - JNE LBB1_328 - CMPB R13, $61 - JNE LBB1_328 - TESTB R9, R9 - JNE LBB1_328 - MOVL DI, R15 - CMPQ R14, DX - JAE LBB1_292 - MOVQ R14, BX - JMP LBB1_272 - -LBB1_287: - MOVQ SI, BX - CMPQ BX, DX - JB LBB1_272 - JMP LBB1_291 - -LBB1_270: - MOVQ R14, BX - CMPQ BX, DX - JAE LBB1_291 - -LBB1_272: - LEAQ 1(BX), SI - MOVBLZX 0(BX), DI - CMPB DI, $92 - JNE LBB1_284 - TESTL R8, R8 - JE LBB1_284 - LEAQ 2(BX), R14 - CMPQ R14, DX - JA LBB1_327 - MOVBLZX 0(SI), CX - CMPB CX, $110 - JE LBB1_270 - CMPB CX, $114 - JE LBB1_270 - CMPB CX, $117 - JNE LBB1_328 - MOVQ DX, AX - SUBQ R14, AX - CMPQ AX, $4 - JL LBB1_328 - MOVL 0(R14), CX - MOVL CX, SI - NOTL SI - LEAL -808464432(CX), AX - ANDL $-2139062144, SI - TESTL AX, SI - JNE LBB1_328 - LEAL 421075225(CX), AX - ORL CX, AX - TESTL $-2139062144, AX - JNE LBB1_328 - MOVL CX, DI - ANDL $2139062143, DI - MOVL $-1061109568, AX - SUBL DI, AX - LEAL 1179010630(DI), R9 - ANDL SI, AX - TESTL R9, AX - JNE LBB1_328 - MOVL $-522133280, AX - SUBL DI, AX - ADDL $960051513, DI - ANDL AX, SI - TESTL DI, SI - JNE LBB1_328 - BSWAPL CX - MOVL CX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, CX - ADDL AX, CX - MOVL CX, DI - SHRL $4, DI - ORL CX, DI - MOVL DI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL DI, CX - ANDL $128, CX - ADDQ $6, BX - ORL AX, CX - MOVQ BX, SI - MOVQ BX, R14 - JNE LBB1_328 - -LBB1_284: - CMPB DI, $10 - JE LBB1_287 - CMPB DI, $13 - JE LBB1_287 - CMPB DI, $61 - JNE LBB1_327 - TESTB R12, R12 - JE LBB1_334 - -LBB1_327: - MOVQ SI, R14 - -LBB1_328: - XORL CX, CX - CMPQ R14, DX - SETEQ CX - ADDQ R14, CX - CMPQ CX, R10 - JNE LBB1_762 - -LBB1_329: - CMPQ R10, -80(BP) - JA LBB1_392 - -LBB1_330: - MOVQ -64(BP), R15 - CMPQ R15, -72(BP) - JBE LBB1_208 - JMP LBB1_393 - -LBB1_288: - MOVL $1, R11 - XORL CX, CX - JMP LBB1_233 - -LBB1_289: - MOVQ SI, R14 - MOVL R15, DI - JMP LBB1_302 - -LBB1_290: - MOVQ CX, R14 - JMP LBB1_302 - -LBB1_291: - MOVQ BX, R14 - -LBB1_292: - MOVB $4, AX - SUBB R11, AX - MOVBLZX AX, AX - ADDL AX, AX - LEAL 0(AX)(AX*2), CX - MOVL R15, AX - SHLL CX, AX - CMPL R11, $2 - MOVQ -64(BP), CX - JE LBB1_297 - CMPL R11, $3 - JE LBB1_296 - CMPL R11, $4 - JNE LBB1_298 - MOVB AX, 2(CX) - -LBB1_296: - MOVB AH, 1(CX) - -LBB1_297: - SHRL $16, AX - MOVB AX, 0(CX) - -LBB1_298: - MOVL R11, AX - ADDQ AX, CX - ADDQ $-1, CX - MOVQ CX, -64(BP) - MOVQ R14, R10 - CMPQ R10, -80(BP) - JBE LBB1_330 - JMP LBB1_392 - -LBB1_299: - CMPB CX, $47 - JNE LBB1_301 - MOVL CX, R13 - -LBB1_301: - MOVQ SI, R14 - -LBB1_302: - MOVBLZX R13, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), CX - CMPL CX, $255 - JE LBB1_324 - SHLL $6, DI - ORL CX, DI - MOVL $2, R11 - CMPQ R14, DX - JB LBB1_306 - JMP LBB1_241 - -LBB1_322: - CMPB CX, $110 - JNE LBB1_356 - -LBB1_304: - MOVQ SI, R14 - -LBB1_305: - CMPQ R14, DX - JAE LBB1_331 - -LBB1_306: - LEAQ 1(R14), CX - MOVBLZX 0(R14), SI - CMPB SI, $92 - JNE LBB1_318 - TESTL R8, R8 - JE LBB1_320 - LEAQ 2(R14), SI - MOVB $-1, R13 - CMPQ SI, DX - JA LBB1_333 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_322 - CMPB CX, $114 - JE LBB1_304 - CMPB CX, $117 - JNE LBB1_358 - MOVQ DX, AX - SUBQ SI, AX - CMPQ AX, $4 - JL LBB1_358 - MOVL DI, R11 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_332 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_332 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL DI, AX - TESTL R9, AX - JNE LBB1_332 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_332 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R14 - ORL AX, CX - MOVL R11, DI - JE LBB1_319 - JMP LBB1_359 - -LBB1_318: - MOVQ CX, R14 - -LBB1_319: - CMPB SI, $13 - JNE LBB1_321 - JMP LBB1_305 - -LBB1_320: - MOVQ CX, R14 - CMPB SI, $13 - JE LBB1_305 - -LBB1_321: - MOVL SI, R13 - CMPB SI, $10 - JE LBB1_305 - JMP LBB1_359 - -LBB1_324: - XORL R12, R12 - MOVL $1, R11 - JMP LBB1_265 - -LBB1_331: - MOVL $2, R11 - XORL CX, CX - JMP LBB1_233 - -LBB1_332: - MOVQ SI, R14 - MOVL R11, DI - JMP LBB1_359 - -LBB1_333: - MOVQ CX, R14 - JMP LBB1_359 - -LBB1_334: - CMPQ SI, DX - JB LBB1_338 - -LBB1_335: - MOVQ SI, R14 - JMP LBB1_292 - -LBB1_336: - MOVQ R14, SI - -LBB1_337: - CMPQ SI, DX - JAE LBB1_335 - -LBB1_338: - LEAQ 1(SI), CX - MOVBLZX 0(SI), DI - CMPB DI, $92 - JNE LBB1_351 - TESTL R8, R8 - JE LBB1_351 - LEAQ 2(SI), R14 - CMPQ R14, DX - JA LBB1_391 - MOVBLZX 0(CX), CX - CMPB CX, $110 - JE LBB1_336 - CMPB CX, $114 - JE LBB1_336 - CMPB CX, $117 - JNE LBB1_328 - MOVQ DX, AX - SUBQ R14, AX - CMPQ AX, $4 - JL LBB1_328 - MOVL 0(R14), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_328 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_328 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL DI, AX - TESTL R9, AX - JNE LBB1_328 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_328 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, DI - SHRL $4, DI - ORL BX, DI - MOVL DI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL DI, CX - ANDL $128, CX - ADDQ $6, SI - ORL AX, CX - MOVQ SI, R14 - JE LBB1_352 - JMP LBB1_328 - -LBB1_351: - MOVQ CX, R14 - -LBB1_352: - CMPB DI, $13 - JE LBB1_336 - MOVQ R14, SI - CMPB DI, $10 - JE LBB1_337 - JMP LBB1_328 - -LBB1_356: - CMPB CX, $47 - JNE LBB1_358 - MOVL CX, R13 - -LBB1_358: - MOVQ SI, R14 - -LBB1_359: - MOVBLZX R13, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), CX - CMPL CX, $255 - JE LBB1_381 - SHLL $6, DI - ORL CX, DI - MOVL $3, R11 - CMPQ R14, DX - JB LBB1_363 - JMP LBB1_241 - -LBB1_379: - CMPB CX, $110 - JNE LBB1_384 - -LBB1_361: - MOVQ SI, R14 - -LBB1_362: - MOVL $3, R11 - XORL CX, CX - CMPQ R14, DX - JAE LBB1_233 - -LBB1_363: - LEAQ 1(R14), CX - MOVBLZX 0(R14), SI - CMPB SI, $92 - JNE LBB1_375 - TESTL R8, R8 - JE LBB1_377 - LEAQ 2(R14), SI - MOVB $-1, R13 - CMPQ SI, DX - JA LBB1_383 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_379 - CMPB CX, $114 - JE LBB1_361 - CMPB CX, $117 - JNE LBB1_386 - MOVQ DX, AX - SUBQ SI, AX - CMPQ AX, $4 - JL LBB1_386 - MOVL DI, R11 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_382 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_382 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL DI, AX - TESTL R9, AX - JNE LBB1_382 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_382 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R14 - ORL AX, CX - MOVL R11, DI - JE LBB1_376 - JMP LBB1_387 - -LBB1_375: - MOVQ CX, R14 - -LBB1_376: - CMPB SI, $13 - JNE LBB1_378 - JMP LBB1_362 - -LBB1_377: - MOVQ CX, R14 - CMPB SI, $13 - JE LBB1_362 - -LBB1_378: - MOVL SI, R13 - CMPB SI, $10 - JE LBB1_362 - JMP LBB1_387 - -LBB1_381: - XORL R9, R9 - MOVL $2, R11 - XORL R12, R12 - JMP LBB1_265 - -LBB1_382: - MOVQ SI, R14 - MOVL R11, DI - JMP LBB1_387 - -LBB1_383: - MOVQ CX, R14 - JMP LBB1_387 - -LBB1_384: - CMPB CX, $47 - JNE LBB1_386 - MOVL CX, R13 - -LBB1_386: - MOVQ SI, R14 - -LBB1_387: - MOVBLZX R13, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), CX - CMPL CX, $255 - JE LBB1_389 - SHLL $6, DI - ORL CX, DI - MOVL $4, R11 - JMP LBB1_241 - -LBB1_389: - XORL R9, R9 - MOVL $3, R11 - MOVB $1, R12 - JMP LBB1_265 - -LBB1_391: - MOVQ CX, R14 - JMP LBB1_328 - -LBB1_392: - MOVQ -64(BP), R15 - -LBB1_393: - LEAQ -4(DX), R14 - CMPQ R10, R14 - MOVQ R15, -64(BP) - JA LBB1_581 - MOVQ -88(BP), AX - ADDQ $-4, AX - CMPQ R15, AX - JA LBB1_581 - MOVQ AX, R15 - MOVQ AX, -88(BP) - -LBB1_396: - MOVBLZX 0(R10), AX - MOVQ -56(BP), DI - MOVBLZX 0(DI)(AX*1), R9 - MOVBLZX 1(R10), AX - MOVBLZX 0(DI)(AX*1), BX - MOVBLZX 2(R10), CX - MOVBLZX 0(DI)(CX*1), SI - MOVBLZX 3(R10), CX - MOVBLZX 0(DI)(CX*1), CX - MOVL BX, AX - ORL R9, AX - MOVL SI, DI - ORL CX, DI - ORL AX, DI - CMPB DI, $-1 - JE LBB1_398 - SHLL $26, R9 - SHLL $20, BX - ORL R9, BX - SHLL $14, SI - SHLL $8, CX - ORL SI, CX - ORL BX, CX - BSWAPL CX - MOVQ -64(BP), AX - MOVL CX, 0(AX) - ADDQ $4, R10 - ADDQ $3, AX - MOVQ AX, -64(BP) - CMPQ R10, R14 - JBE LBB1_517 - JMP LBB1_581 - -LBB1_398: - CMPQ R10, DX - JAE LBB1_516 - MOVQ R10, R12 - JMP LBB1_402 - -LBB1_418: - CMPB CX, $110 - JNE LBB1_424 - -LBB1_400: - MOVQ SI, R12 - -LBB1_401: - CMPQ R12, DX - JAE LBB1_420 - -LBB1_402: - LEAQ 1(R12), CX - MOVBLZX 0(R12), SI - CMPB SI, $92 - JNE LBB1_414 - TESTL R8, R8 - JE LBB1_416 - LEAQ 2(R12), SI - MOVB $-1, R13 - CMPQ SI, DX - JA LBB1_423 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_418 - CMPB CX, $114 - JE LBB1_400 - CMPB CX, $117 - JNE LBB1_426 - MOVQ DX, CX - SUBQ SI, CX - CMPQ CX, $4 - JL LBB1_426 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), CX - ANDL $-2139062144, DI - TESTL CX, DI - JNE LBB1_426 - LEAL 421075225(BX), CX - ORL BX, CX - TESTL $-2139062144, CX - JNE LBB1_426 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL DI, AX - TESTL R9, AX - JNE LBB1_426 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_426 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R12 - ORL AX, CX - JNE LBB1_427 - CMPB SI, $13 - JNE LBB1_417 - JMP LBB1_401 - -LBB1_414: - MOVQ CX, R12 - CMPB SI, $13 - JNE LBB1_417 - JMP LBB1_401 - -LBB1_416: - MOVQ CX, R12 - CMPB SI, $13 - JE LBB1_401 - -LBB1_417: - MOVL SI, R13 - CMPB SI, $10 - JE LBB1_401 - JMP LBB1_427 - -LBB1_420: - MOVB $1, CX - XORL R9, R9 - XORL R11, R11 - -LBB1_421: - TESTB CX, CX - JE LBB1_429 - MOVQ R12, R10 - CMPQ R10, R14 - JBE LBB1_517 - JMP LBB1_581 - -LBB1_423: - MOVQ CX, R12 - JMP LBB1_427 - -LBB1_424: - CMPB CX, $47 - JNE LBB1_426 - MOVL CX, R13 - -LBB1_426: - MOVQ SI, R12 - -LBB1_427: - MOVBLZX R13, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), R9 - MOVB $1, AX - CMPL R9, $255 - JE LBB1_452 - MOVL $1, R11 - CMPQ R12, DX - JB LBB1_434 - -LBB1_429: - MOVL R9, R13 - CMPL -44(BP), $0 - SETEQ CX - CMPL R11, $1 - SETEQ BX - CMPQ R12, DX - JB LBB1_479 - CMPL R11, $4 - JE LBB1_479 - ORB BX, CX - JNE LBB1_515 - JMP LBB1_479 - -LBB1_450: - CMPB CX, $110 - JNE LBB1_486 - -LBB1_432: - MOVQ SI, R12 - -LBB1_433: - CMPQ R12, DX - JAE LBB1_476 - -LBB1_434: - LEAQ 1(R12), CX - MOVBLZX 0(R12), SI - CMPB SI, $92 - JNE LBB1_446 - TESTL R8, R8 - JE LBB1_448 - LEAQ 2(R12), SI - MOVB $-1, R13 - CMPQ SI, DX - JA LBB1_477 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_450 - CMPB CX, $114 - JE LBB1_432 - CMPB CX, $117 - JNE LBB1_488 - MOVQ DX, AX - SUBQ SI, AX - CMPQ AX, $4 - JL LBB1_488 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_488 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_488 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R11 - ANDL DI, AX - TESTL R11, AX - JNE LBB1_488 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_488 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R12 - ORL AX, CX - JE LBB1_447 - JMP LBB1_489 - -LBB1_446: - MOVQ CX, R12 - -LBB1_447: - CMPB SI, $13 - JNE LBB1_449 - JMP LBB1_433 - -LBB1_448: - MOVQ CX, R12 - CMPB SI, $13 - JE LBB1_433 - -LBB1_449: - MOVL SI, R13 - CMPB SI, $10 - JE LBB1_433 - JMP LBB1_489 - -LBB1_452: - XORL R9, R9 - XORL R15, R15 - XORL R11, R11 - -LBB1_453: - CMPL -44(BP), $0 - JNE LBB1_515 - CMPB R13, $61 - JNE LBB1_515 - TESTB AX, AX - JNE LBB1_515 - MOVL R9, R13 - CMPQ R12, DX - JAE LBB1_479 - MOVQ R12, BX - JMP LBB1_460 - -LBB1_475: - MOVQ SI, BX - CMPQ BX, DX - JB LBB1_460 - JMP LBB1_478 - -LBB1_458: - MOVQ R12, BX - CMPQ BX, DX - JAE LBB1_478 - -LBB1_460: - LEAQ 1(BX), SI - MOVBLZX 0(BX), DI - CMPB DI, $92 - JNE LBB1_472 - TESTL R8, R8 - JE LBB1_472 - LEAQ 2(BX), R12 - CMPQ R12, DX - JA LBB1_514 - MOVBLZX 0(SI), CX - CMPB CX, $110 - JE LBB1_458 - CMPB CX, $114 - JE LBB1_458 - CMPB CX, $117 - JNE LBB1_515 - MOVQ DX, AX - SUBQ R12, AX - CMPQ AX, $4 - JL LBB1_515 - MOVL 0(R12), CX - MOVL CX, SI - NOTL SI - LEAL -808464432(CX), AX - ANDL $-2139062144, SI - TESTL AX, SI - JNE LBB1_515 - LEAL 421075225(CX), AX - ORL CX, AX - TESTL $-2139062144, AX - JNE LBB1_515 - MOVL CX, DI - ANDL $2139062143, DI - MOVL $-1061109568, AX - SUBL DI, AX - LEAL 1179010630(DI), R9 - ANDL SI, AX - TESTL R9, AX - JNE LBB1_515 - MOVL $-522133280, AX - SUBL DI, AX - ADDL $960051513, DI - ANDL AX, SI - TESTL DI, SI - JNE LBB1_515 - BSWAPL CX - MOVL CX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, CX - ADDL AX, CX - MOVL CX, DI - SHRL $4, DI - ORL CX, DI - MOVL DI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL DI, CX - ANDL $128, CX - ADDQ $6, BX - ORL AX, CX - MOVQ BX, SI - MOVQ BX, R12 - JNE LBB1_515 - -LBB1_472: - CMPB DI, $10 - JE LBB1_475 - CMPB DI, $13 - JE LBB1_475 - CMPB DI, $61 - JNE LBB1_514 - TESTB R15, R15 - JE LBB1_521 - -LBB1_514: - MOVQ SI, R12 - -LBB1_515: - XORL CX, CX - CMPQ R12, DX - SETEQ CX - ADDQ R12, CX - CMPQ CX, R10 - MOVQ -88(BP), R15 - JNE LBB1_762 - -LBB1_516: - CMPQ R10, R14 - JA LBB1_581 - -LBB1_517: - CMPQ -64(BP), R15 - JBE LBB1_396 - JMP LBB1_581 - -LBB1_476: - MOVL $1, R11 - XORL CX, CX - JMP LBB1_421 - -LBB1_477: - MOVQ CX, R12 - JMP LBB1_489 - -LBB1_478: - MOVQ BX, R12 - -LBB1_479: - MOVB $4, AX - SUBB R11, AX - MOVBLZX AX, AX - ADDL AX, AX - LEAL 0(AX)(AX*2), CX - MOVL R13, AX - SHLL CX, AX - CMPL R11, $2 - MOVQ -64(BP), CX - JE LBB1_484 - CMPL R11, $3 - JE LBB1_483 - CMPL R11, $4 - JNE LBB1_485 - MOVB AX, 2(CX) - -LBB1_483: - MOVB AH, 1(CX) - -LBB1_484: - SHRL $16, AX - MOVB AX, 0(CX) - -LBB1_485: - MOVL R11, AX - ADDQ AX, CX - ADDQ $-1, CX - MOVQ CX, -64(BP) - MOVQ R12, R10 - MOVQ -88(BP), R15 - CMPQ R10, R14 - JBE LBB1_517 - JMP LBB1_581 - -LBB1_486: - CMPB CX, $47 - JNE LBB1_488 - MOVL CX, R13 - -LBB1_488: - MOVQ SI, R12 - -LBB1_489: - MOVBLZX R13, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), CX - CMPL CX, $255 - JE LBB1_511 - SHLL $6, R9 - ORL CX, R9 - MOVL $2, R11 - CMPQ R12, DX - JB LBB1_493 - JMP LBB1_429 - -LBB1_509: - CMPB CX, $110 - JNE LBB1_543 - -LBB1_491: - MOVQ SI, R12 - -LBB1_492: - CMPQ R12, DX - JAE LBB1_518 - -LBB1_493: - LEAQ 1(R12), CX - MOVBLZX 0(R12), SI - CMPB SI, $92 - JNE LBB1_505 - TESTL R8, R8 - JE LBB1_507 - LEAQ 2(R12), SI - MOVB $-1, R13 - CMPQ SI, DX - JA LBB1_520 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_509 - CMPB CX, $114 - JE LBB1_491 - CMPB CX, $117 - JNE LBB1_545 - MOVQ DX, AX - SUBQ SI, AX - CMPQ AX, $4 - JL LBB1_545 - MOVL R9, R11 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_519 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_519 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL DI, AX - TESTL R9, AX - JNE LBB1_519 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_519 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R12 - ORL AX, CX - MOVL R11, R9 - JE LBB1_506 - JMP LBB1_546 - -LBB1_505: - MOVQ CX, R12 - -LBB1_506: - CMPB SI, $13 - JNE LBB1_508 - JMP LBB1_492 - -LBB1_507: - MOVQ CX, R12 - CMPB SI, $13 - JE LBB1_492 - -LBB1_508: - MOVL SI, R13 - CMPB SI, $10 - JE LBB1_492 - JMP LBB1_546 - -LBB1_511: - XORL R15, R15 - MOVL $1, R11 - MOVB $1, AX - JMP LBB1_453 - -LBB1_518: - MOVL $2, R11 - XORL CX, CX - JMP LBB1_421 - -LBB1_519: - MOVQ SI, R12 - MOVL R11, R9 - JMP LBB1_546 - -LBB1_520: - MOVQ CX, R12 - JMP LBB1_546 - -LBB1_521: - CMPQ SI, DX - JB LBB1_525 - -LBB1_522: - MOVQ SI, R12 - JMP LBB1_479 - -LBB1_523: - MOVQ R12, SI - -LBB1_524: - CMPQ SI, DX - JAE LBB1_522 - -LBB1_525: - LEAQ 1(SI), CX - MOVBLZX 0(SI), DI - CMPB DI, $92 - JNE LBB1_538 - TESTL R8, R8 - JE LBB1_538 - LEAQ 2(SI), R12 - CMPQ R12, DX - JA LBB1_578 - MOVBLZX 0(CX), CX - CMPB CX, $110 - JE LBB1_523 - CMPB CX, $114 - JE LBB1_523 - CMPB CX, $117 - JNE LBB1_515 - MOVQ DX, AX - SUBQ R12, AX - CMPQ AX, $4 - JL LBB1_515 - MOVL 0(R12), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_515 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_515 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL DI, AX - TESTL R9, AX - JNE LBB1_515 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_515 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, DI - SHRL $4, DI - ORL BX, DI - MOVL DI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL DI, CX - ANDL $128, CX - ADDQ $6, SI - ORL AX, CX - MOVQ SI, R12 - JE LBB1_539 - JMP LBB1_515 - -LBB1_538: - MOVQ CX, R12 - -LBB1_539: - CMPB DI, $13 - JE LBB1_523 - MOVQ R12, SI - CMPB DI, $10 - JE LBB1_524 - JMP LBB1_515 - -LBB1_543: - CMPB CX, $47 - JNE LBB1_545 - MOVL CX, R13 - -LBB1_545: - MOVQ SI, R12 - -LBB1_546: - MOVBLZX R13, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), CX - CMPL CX, $255 - JE LBB1_568 - SHLL $6, R9 - ORL CX, R9 - MOVL $3, R11 - CMPQ R12, DX - JB LBB1_550 - JMP LBB1_429 - -LBB1_566: - CMPB CX, $110 - JNE LBB1_571 - -LBB1_548: - MOVQ SI, R12 - -LBB1_549: - MOVL $3, R11 - XORL CX, CX - CMPQ R12, DX - JAE LBB1_421 - -LBB1_550: - LEAQ 1(R12), CX - MOVBLZX 0(R12), SI - CMPB SI, $92 - JNE LBB1_562 - TESTL R8, R8 - JE LBB1_564 - LEAQ 2(R12), SI - MOVB $-1, R13 - CMPQ SI, DX - JA LBB1_570 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_566 - CMPB CX, $114 - JE LBB1_548 - CMPB CX, $117 - JNE LBB1_573 - MOVQ DX, AX - SUBQ SI, AX - CMPQ AX, $4 - JL LBB1_573 - MOVL R9, R11 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_569 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_569 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL DI, AX - TESTL R9, AX - JNE LBB1_569 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_569 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R12 - ORL AX, CX - MOVL R11, R9 - JE LBB1_563 - JMP LBB1_574 - -LBB1_562: - MOVQ CX, R12 - -LBB1_563: - CMPB SI, $13 - JNE LBB1_565 - JMP LBB1_549 - -LBB1_564: - MOVQ CX, R12 - CMPB SI, $13 - JE LBB1_549 - -LBB1_565: - MOVL SI, R13 - CMPB SI, $10 - JE LBB1_549 - JMP LBB1_574 - -LBB1_568: - XORL AX, AX - MOVL $2, R11 - XORL R15, R15 - JMP LBB1_453 - -LBB1_569: - MOVQ SI, R12 - MOVL R11, R9 - JMP LBB1_574 - -LBB1_570: - MOVQ CX, R12 - JMP LBB1_574 - -LBB1_571: - CMPB CX, $47 - JNE LBB1_573 - MOVL CX, R13 - -LBB1_573: - MOVQ SI, R12 - -LBB1_574: - MOVBLZX R13, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), CX - CMPL CX, $255 - JE LBB1_576 - SHLL $6, R9 - ORL CX, R9 - MOVL $4, R11 - JMP LBB1_429 - -LBB1_576: - XORL AX, AX - MOVL $3, R11 - MOVB $1, R15 - JMP LBB1_453 - -LBB1_578: - MOVQ CX, R12 - JMP LBB1_515 - -LBB1_579: - MOVQ BX, R12 - -LBB1_580: - XORL CX, CX - CMPQ R12, DX - SETEQ CX - ADDQ R12, CX - SUBQ R10, CX - TESTQ CX, CX - JNE LBB1_761 - -LBB1_581: - CMPQ R10, DX - JAE LBB1_760 - MOVQ R10, R12 - JMP LBB1_585 - -LBB1_601: - CMPB CX, $110 - JNE LBB1_606 - -LBB1_583: - MOVQ SI, R12 - -LBB1_584: - CMPQ R12, DX - JAE LBB1_603 - -LBB1_585: - LEAQ 1(R12), CX - MOVBLZX 0(R12), SI - CMPB SI, $92 - JNE LBB1_597 - TESTL R8, R8 - JE LBB1_599 - LEAQ 2(R12), SI - MOVB $-1, R15 - CMPQ SI, DX - JA LBB1_605 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_601 - CMPB CX, $114 - JE LBB1_583 - CMPB CX, $117 - JNE LBB1_608 - MOVQ DX, CX - SUBQ SI, CX - CMPQ CX, $4 - JL LBB1_608 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), CX - ANDL $-2139062144, DI - TESTL CX, DI - JNE LBB1_608 - LEAL 421075225(BX), CX - ORL BX, CX - TESTL $-2139062144, CX - JNE LBB1_608 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL DI, AX - TESTL R9, AX - JNE LBB1_608 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_608 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R12 - ORL AX, CX - JNE LBB1_609 - CMPB SI, $13 - JNE LBB1_600 - JMP LBB1_584 - -LBB1_597: - MOVQ CX, R12 - CMPB SI, $13 - JNE LBB1_600 - JMP LBB1_584 - -LBB1_599: - MOVQ CX, R12 - CMPB SI, $13 - JE LBB1_584 - -LBB1_600: - MOVL SI, R15 - CMPB SI, $10 - JE LBB1_584 - JMP LBB1_609 - -LBB1_603: - MOVB $1, CX - XORL BX, BX - XORL R11, R11 - -LBB1_604: - TESTB CX, CX - JE LBB1_611 - MOVQ R12, R10 - XORL CX, CX - TESTQ CX, CX - JE LBB1_581 - JMP LBB1_761 - -LBB1_605: - MOVQ CX, R12 - JMP LBB1_609 - -LBB1_606: - CMPB CX, $47 - JNE LBB1_608 - MOVL CX, R15 - -LBB1_608: - MOVQ SI, R12 - -LBB1_609: - MOVBLZX R15, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), BX - MOVB $1, R14 - CMPL BX, $255 - JE LBB1_635 - MOVL $1, R11 - CMPQ R12, DX - JB LBB1_617 - -LBB1_611: - MOVL BX, R15 - -LBB1_612: - CMPL -44(BP), $0 - SETEQ CX - CMPL R11, $1 - SETEQ BX - CMPQ R12, DX - JB LBB1_663 - CMPL R11, $4 - JE LBB1_663 - ORB BX, CX - JNE LBB1_580 - JMP LBB1_663 - -LBB1_633: - CMPB CX, $110 - JNE LBB1_671 - -LBB1_615: - MOVQ DI, R12 - -LBB1_616: - CMPQ R12, DX - JAE LBB1_659 - -LBB1_617: - LEAQ 1(R12), CX - MOVBLZX 0(R12), DI - CMPB DI, $92 - JNE LBB1_629 - TESTL R8, R8 - JE LBB1_631 - LEAQ 2(R12), DI - MOVB $-1, R15 - CMPQ DI, DX - JA LBB1_661 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_633 - CMPB CX, $114 - JE LBB1_615 - CMPB CX, $117 - JNE LBB1_673 - MOVQ DX, AX - SUBQ DI, AX - CMPQ AX, $4 - JL LBB1_673 - MOVL BX, R11 - MOVL 0(DI), BX - MOVL BX, SI - NOTL SI - LEAL -808464432(BX), AX - ANDL $-2139062144, SI - TESTL AX, SI - JNE LBB1_660 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_660 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL SI, AX - TESTL R9, AX - JNE LBB1_660 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, SI - TESTL CX, SI - JNE LBB1_660 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, DI - SHRL $4, DI - ORL BX, DI - MOVL DI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL DI, CX - ANDL $128, CX - ADDQ $6, R12 - ORL AX, CX - MOVL R11, BX - JNE LBB1_674 - CMPB DI, $13 - JNE LBB1_632 - JMP LBB1_616 - -LBB1_629: - MOVQ CX, R12 - CMPB DI, $13 - JNE LBB1_632 - JMP LBB1_616 - -LBB1_631: - MOVQ CX, R12 - CMPB DI, $13 - JE LBB1_616 - -LBB1_632: - MOVL DI, R15 - CMPB DI, $10 - JE LBB1_616 - JMP LBB1_674 - -LBB1_635: - XORL BX, BX - XORL R9, R9 - XORL R11, R11 - -LBB1_636: - CMPL -44(BP), $0 - JNE LBB1_580 - CMPB R15, $61 - JNE LBB1_580 - TESTB R14, R14 - JNE LBB1_580 - MOVL BX, R15 - CMPQ R12, DX - JAE LBB1_663 - MOVQ R12, SI - JMP LBB1_643 - -LBB1_658: - MOVQ BX, SI - CMPQ SI, DX - JB LBB1_643 - JMP LBB1_662 - -LBB1_641: - MOVQ R12, SI - CMPQ SI, DX - JAE LBB1_662 - -LBB1_643: - LEAQ 1(SI), BX - MOVBLZX 0(SI), DI - CMPB DI, $92 - JNE LBB1_655 - TESTL R8, R8 - JE LBB1_655 - LEAQ 2(SI), R12 - CMPQ R12, DX - JA LBB1_579 - MOVBLZX 0(BX), CX - CMPB CX, $110 - JE LBB1_641 - CMPB CX, $114 - JE LBB1_641 - CMPB CX, $117 - JNE LBB1_580 - MOVQ DX, AX - SUBQ R12, AX - CMPQ AX, $4 - JL LBB1_580 - MOVL 0(R12), CX - MOVL CX, DI - NOTL DI - LEAL -808464432(CX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_580 - LEAL 421075225(CX), AX - ORL CX, AX - TESTL $-2139062144, AX - JNE LBB1_580 - MOVL CX, BX - ANDL $2139062143, BX - MOVL $-1061109568, AX - SUBL BX, AX - LEAL 1179010630(BX), R14 - ANDL DI, AX - TESTL R14, AX - JNE LBB1_580 - MOVL $-522133280, AX - SUBL BX, AX - ADDL $960051513, BX - ANDL AX, DI - TESTL BX, DI - JNE LBB1_580 - BSWAPL CX - MOVL CX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, CX - ADDL AX, CX - MOVL CX, DI - SHRL $4, DI - ORL CX, DI - MOVL DI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL DI, CX - ANDL $128, CX - ADDQ $6, SI - ORL AX, CX - MOVQ SI, BX - MOVQ SI, R12 - JNE LBB1_580 - -LBB1_655: - CMPB DI, $10 - JE LBB1_658 - CMPB DI, $13 - JE LBB1_658 - CMPB DI, $61 - JNE LBB1_579 - TESTB R9, R9 - JNE LBB1_579 - CMPQ BX, DX - JB LBB1_706 - -LBB1_700: - MOVQ BX, R12 - JMP LBB1_663 - -LBB1_659: - MOVL $1, R11 - XORL CX, CX - JMP LBB1_604 - -LBB1_660: - MOVQ DI, R12 - MOVL R11, BX - JMP LBB1_674 - -LBB1_661: - MOVQ CX, R12 - JMP LBB1_674 - -LBB1_662: - MOVQ SI, R12 - -LBB1_663: - MOVB $4, AX - SUBB R11, AX - MOVBLZX AX, AX - ADDL AX, AX - LEAL 0(AX)(AX*2), CX - MOVL R15, AX - SHLL CX, AX - CMPL R11, $2 - MOVQ -64(BP), CX - JE LBB1_668 - CMPL R11, $3 - JE LBB1_667 - CMPL R11, $4 - JNE LBB1_669 - MOVB AX, 2(CX) - -LBB1_667: - MOVB AH, 1(CX) - -LBB1_668: - SHRL $16, AX - MOVB AX, 0(CX) - -LBB1_669: - MOVL R11, AX - ADDQ AX, CX - ADDQ $-1, CX - MOVQ CX, -64(BP) - MOVQ R12, R10 - XORL CX, CX - TESTQ CX, CX - JE LBB1_581 - JMP LBB1_761 - -LBB1_671: - CMPB CX, $47 - JNE LBB1_673 - MOVL CX, R15 - -LBB1_673: - MOVQ DI, R12 - -LBB1_674: - MOVBLZX R15, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), CX - CMPL CX, $255 - JE LBB1_696 - SHLL $6, BX - ORL CX, BX - MOVL $2, R11 - CMPQ R12, DX - JB LBB1_678 - JMP LBB1_611 - -LBB1_694: - CMPB CX, $110 - JNE LBB1_724 - -LBB1_676: - MOVQ SI, R12 - -LBB1_677: - CMPQ R12, DX - JAE LBB1_701 - -LBB1_678: - LEAQ 1(R12), CX - MOVBLZX 0(R12), SI - CMPB SI, $92 - JNE LBB1_690 - TESTL R8, R8 - JE LBB1_692 - LEAQ 2(R12), SI - MOVB $-1, R15 - CMPQ SI, DX - JA LBB1_703 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_694 - CMPB CX, $114 - JE LBB1_676 - CMPB CX, $117 - JNE LBB1_726 - MOVQ DX, AX - SUBQ SI, AX - CMPQ AX, $4 - JL LBB1_726 - MOVL BX, R11 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_702 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_702 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL DI, AX - TESTL R9, AX - JNE LBB1_702 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_702 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R12 - ORL AX, CX - MOVL R11, BX - JE LBB1_691 - JMP LBB1_727 - -LBB1_690: - MOVQ CX, R12 - -LBB1_691: - CMPB SI, $13 - JNE LBB1_693 - JMP LBB1_677 - -LBB1_692: - MOVQ CX, R12 - CMPB SI, $13 - JE LBB1_677 - -LBB1_693: - MOVL SI, R15 - CMPB SI, $10 - JE LBB1_677 - JMP LBB1_727 - -LBB1_696: - XORL R9, R9 - MOVL $1, R11 - JMP LBB1_636 - -LBB1_704: - MOVQ R12, BX - -LBB1_705: - CMPQ BX, DX - JAE LBB1_700 - -LBB1_706: - LEAQ 1(BX), CX - MOVBLZX 0(BX), SI - CMPB SI, $92 - JNE LBB1_718 - TESTL R8, R8 - JE LBB1_720 - LEAQ 2(BX), R12 - CMPQ R12, DX - JA LBB1_759 - MOVBLZX 0(CX), CX - CMPB CX, $110 - JE LBB1_704 - CMPB CX, $114 - JE LBB1_704 - CMPB CX, $117 - JNE LBB1_580 - MOVQ DX, AX - SUBQ R12, AX - CMPQ AX, $4 - JL LBB1_580 - MOVL 0(R12), CX - MOVL CX, SI - NOTL SI - LEAL -808464432(CX), AX - ANDL $-2139062144, SI - TESTL AX, SI - JNE LBB1_580 - LEAL 421075225(CX), AX - ORL CX, AX - TESTL $-2139062144, AX - JNE LBB1_580 - MOVL CX, DI - ANDL $2139062143, DI - MOVL $-1061109568, AX - SUBL DI, AX - LEAL 1179010630(DI), R9 - ANDL SI, AX - TESTL R9, AX - JNE LBB1_580 - MOVL $-522133280, AX - SUBL DI, AX - ADDL $960051513, DI - ANDL AX, SI - TESTL DI, SI - JNE LBB1_580 - BSWAPL CX - MOVL CX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, CX - ADDL AX, CX - MOVL CX, SI - SHRL $4, SI - ORL CX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, BX - ORL AX, CX - MOVQ BX, R12 - JE LBB1_719 - JMP LBB1_580 - -LBB1_718: - MOVQ CX, R12 - -LBB1_719: - CMPB SI, $13 - JNE LBB1_721 - JMP LBB1_704 - -LBB1_720: - MOVQ CX, R12 - CMPB SI, $13 - JE LBB1_704 - -LBB1_721: - MOVQ R12, BX - CMPB SI, $10 - JE LBB1_705 - JMP LBB1_580 - -LBB1_701: - MOVL $2, R11 - XORL CX, CX - JMP LBB1_604 - -LBB1_702: - MOVQ SI, R12 - MOVL R11, BX - JMP LBB1_727 - -LBB1_703: - MOVQ CX, R12 - JMP LBB1_727 - -LBB1_724: - CMPB CX, $47 - JNE LBB1_726 - MOVL CX, R15 - -LBB1_726: - MOVQ SI, R12 - -LBB1_727: - MOVBLZX R15, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), CX - CMPL CX, $255 - JE LBB1_749 - SHLL $6, BX - ORL CX, BX - MOVL $3, R11 - CMPQ R12, DX - JB LBB1_731 - JMP LBB1_611 - -LBB1_747: - CMPB CX, $110 - JNE LBB1_752 - -LBB1_729: - MOVQ SI, R12 - -LBB1_730: - MOVL $3, R11 - XORL CX, CX - CMPQ R12, DX - JAE LBB1_604 - -LBB1_731: - LEAQ 1(R12), CX - MOVBLZX 0(R12), SI - CMPB SI, $92 - JNE LBB1_743 - TESTL R8, R8 - JE LBB1_745 - LEAQ 2(R12), SI - MOVB $-1, R15 - CMPQ SI, DX - JA LBB1_751 - MOVBLZX 0(CX), CX - CMPB CX, $113 - JLE LBB1_747 - CMPB CX, $114 - JE LBB1_729 - CMPB CX, $117 - JNE LBB1_754 - MOVQ DX, AX - SUBQ SI, AX - CMPQ AX, $4 - JL LBB1_754 - MOVL BX, R11 - MOVL 0(SI), BX - MOVL BX, DI - NOTL DI - LEAL -808464432(BX), AX - ANDL $-2139062144, DI - TESTL AX, DI - JNE LBB1_750 - LEAL 421075225(BX), AX - ORL BX, AX - TESTL $-2139062144, AX - JNE LBB1_750 - MOVL BX, CX - ANDL $2139062143, CX - MOVL $-1061109568, AX - SUBL CX, AX - LEAL 1179010630(CX), R9 - ANDL DI, AX - TESTL R9, AX - JNE LBB1_750 - MOVL $-522133280, AX - SUBL CX, AX - ADDL $960051513, CX - ANDL AX, DI - TESTL CX, DI - JNE LBB1_750 - BSWAPL BX - MOVL BX, AX - SHRL $4, AX - NOTL AX - ANDL $16843009, AX - LEAL 0(AX)(AX*8), AX - ANDL $252645135, BX - ADDL AX, BX - MOVL BX, SI - SHRL $4, SI - ORL BX, SI - MOVL SI, AX - SHRL $8, AX - ANDL $65280, AX - MOVL SI, CX - ANDL $128, CX - ADDQ $6, R12 - ORL AX, CX - MOVL R11, BX - JE LBB1_744 - JMP LBB1_755 - -LBB1_743: - MOVQ CX, R12 - -LBB1_744: - CMPB SI, $13 - JNE LBB1_746 - JMP LBB1_730 - -LBB1_745: - MOVQ CX, R12 - CMPB SI, $13 - JE LBB1_730 - -LBB1_746: - MOVL SI, R15 - CMPB SI, $10 - JE LBB1_730 - JMP LBB1_755 - -LBB1_749: - XORL R14, R14 - MOVL $2, R11 - XORL R9, R9 - JMP LBB1_636 - -LBB1_750: - MOVQ SI, R12 - MOVL R11, BX - JMP LBB1_755 - -LBB1_751: - MOVQ CX, R12 - JMP LBB1_755 - -LBB1_752: - CMPB CX, $47 - JNE LBB1_754 - MOVL CX, R15 - -LBB1_754: - MOVQ SI, R12 - -LBB1_755: - MOVBLZX R15, AX - MOVQ -56(BP), CX - MOVBLZX 0(CX)(AX*1), CX - CMPL CX, $255 - JE LBB1_757 - SHLL $6, BX - ORL CX, BX - MOVL BX, R15 - MOVL $4, R11 - JMP LBB1_612 - -LBB1_757: - XORL R14, R14 - MOVL $3, R11 - MOVB $1, R9 - JMP LBB1_636 - -LBB1_759: - MOVQ CX, R12 - JMP LBB1_580 - -LBB1_760: - MOVQ -64(BP), CX - SUBQ -112(BP), CX - MOVQ -120(BP), AX - ADDQ CX, 8(AX) - MOVQ CX, AX - JMP LBB1_763 - -LBB1_761: - ADDQ R10, CX - -LBB1_762: - MOVQ -96(BP), AX - SUBQ CX, AX - -LBB1_763: - ADDQ $80, SP - BYTE $0x5b // popq %rbx - WORD $0x5c41 // popq %r12 - WORD $0x5d41 // popq %r13 - WORD $0x5e41 // popq %r14 - WORD $0x5f41 // popq %r15 - BYTE $0x5d // popq %rbp - WORD $0xf8c5; BYTE $0x77 // vzeroupper - RET - -_TabEncodeCharsetStd: - QUAD $0x4847464544434241; QUAD $0x504f4e4d4c4b4a49 // .ascii 16, 'ABCDEFGHIJKLMNOP' - QUAD $0x5857565554535251; QUAD $0x6665646362615a59 // .ascii 16, 'QRSTUVWXYZabcdef' - QUAD $0x6e6d6c6b6a696867; QUAD $0x767574737271706f // .ascii 16, 'ghijklmnopqrstuv' - QUAD $0x333231307a797877; QUAD $0x2f2b393837363534 // .ascii 16, 'wxyz0123456789+/' - -_TabEncodeCharsetURL: - QUAD $0x4847464544434241; QUAD $0x504f4e4d4c4b4a49 // .ascii 16, 'ABCDEFGHIJKLMNOP' - QUAD $0x5857565554535251; QUAD $0x6665646362615a59 // .ascii 16, 'QRSTUVWXYZabcdef' - QUAD $0x6e6d6c6b6a696867; QUAD $0x767574737271706f // .ascii 16, 'ghijklmnopqrstuv' - QUAD $0x333231307a797877; QUAD $0x5f2d393837363534 // .ascii 16, 'wxyz0123456789-_' - -_VecDecodeCharsetStd: - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0x3fffffff3effffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff>\xff\xff\xff?' - QUAD $0x3b3a393837363534; QUAD $0xffffffffffff3d3c // .ascii 16, '456789:;<=\xff\xff\xff\xff\xff\xff' - QUAD $0x06050403020100ff; QUAD $0x0e0d0c0b0a090807 // .ascii 16, '\xff\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e' - QUAD $0x161514131211100f; QUAD $0xffffffffff191817 // .ascii 16, '\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\xff\xff\xff\xff\xff' - QUAD $0x201f1e1d1c1b1aff; QUAD $0x2827262524232221 // .ascii 16, '\xff\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'(' - QUAD $0x302f2e2d2c2b2a29; QUAD $0xffffffffff333231 // .ascii 16, ')*+,-./0123\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - -_VecDecodeCharsetURL: - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffff3effffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff>\xff\xff' - QUAD $0x3b3a393837363534; QUAD $0xffffffffffff3d3c // .ascii 16, '456789:;<=\xff\xff\xff\xff\xff\xff' - QUAD $0x06050403020100ff; QUAD $0x0e0d0c0b0a090807 // .ascii 16, '\xff\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e' - QUAD $0x161514131211100f; QUAD $0x3fffffffff191817 // .ascii 16, '\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\xff\xff\xff\xff?' - QUAD $0x201f1e1d1c1b1aff; QUAD $0x2827262524232221 // .ascii 16, '\xff\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'(' - QUAD $0x302f2e2d2c2b2a29; QUAD $0xffffffffff333231 // .ascii 16, ')*+,-./0123\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' - -TEXT ·__b64decode(SB), NOSPLIT | NOFRAME, $0 - 40 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -128(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_b64decode: - MOVQ out+0(FP), DI - MOVQ src+8(FP), SI - MOVQ len+16(FP), DX - MOVQ mode+24(FP), CX - CALL ·__native_entry__+1563(SB) // _b64decode - MOVQ AX, ret+32(FP) - RET - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry - -TEXT ·__b64encode(SB), NOSPLIT | NOFRAME, $0 - 24 - NO_LOCAL_POINTERS - -_entry: - MOVQ (TLS), R14 - LEAQ -40(SP), R12 - CMPQ R12, 16(R14) - JBE _stack_grow - -_b64encode: - MOVQ out+0(FP), DI - MOVQ src+8(FP), SI - MOVQ mode+16(FP), DX - LEAQ ·__native_entry__+301(SB), AX // _b64encode - JMP AX - -_stack_grow: - CALL runtime·morestack_noctxt<>(SB) - JMP _entry diff --git a/vendor/github.com/chenzhuoyu/base64x/native_subr_amd64.go b/vendor/github.com/chenzhuoyu/base64x/native_subr_amd64.go deleted file mode 100644 index f18de54..0000000 --- a/vendor/github.com/chenzhuoyu/base64x/native_subr_amd64.go +++ /dev/null @@ -1,29 +0,0 @@ -// +build !noasm !appengine -// Code generated by asm2asm, DO NOT EDIT. - -package base64x - -//go:nosplit -//go:noescape -//goland:noinspection ALL -func __native_entry__() uintptr - -var ( - _subr__b64decode = __native_entry__() + 1563 - _subr__b64encode = __native_entry__() + 301 -) - -const ( - _stack__b64decode = 128 - _stack__b64encode = 40 -) - -var ( - _ = _subr__b64decode - _ = _subr__b64encode -) - -const ( - _ = _stack__b64decode - _ = _stack__b64encode -) diff --git a/vendor/github.com/cloudwego/base64x/.gitignore b/vendor/github.com/cloudwego/base64x/.gitignore new file mode 100644 index 0000000..644df37 --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/.gitignore @@ -0,0 +1,30 @@ +# Binaries for programs and plugins +*.exe +*.exe~ +*.dll +*.so +*.dylib + +# Test binary, built with `go test -c` +*.test + +# Output of the go coverage tool, specifically when used with LiteIDE +*.out + +# Dependency directories (remove the comment below to include it) +# vendor/ + +# the result of the go build +output* +output/* + +# Files generated by IDEs +.idea/ +*.iml + +# Vim swap files +*.swp + +# Vscode files +.vscode + diff --git a/vendor/github.com/cloudwego/base64x/.golangci.yaml b/vendor/github.com/cloudwego/base64x/.golangci.yaml new file mode 100644 index 0000000..71405b0 --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/.golangci.yaml @@ -0,0 +1,37 @@ +# Options for analysis running. +run: + # include `vendor` `third_party` `testdata` `examples` `Godeps` `builtin` + skip-dirs-use-default: true + skip-dirs: + - kitex_gen + skip-files: + - ".*\\.mock\\.go$" +# output configuration options +output: + # Format: colored-line-number|line-number|json|tab|checkstyle|code-climate|junit-xml|github-actions + format: colored-line-number +# All available settings of specific linters. +# Refer to https://golangci-lint.run/usage/linters +linters-settings: + gofumpt: + # Choose whether to use the extra rules. + # Default: false + extra-rules: true + govet: + # Disable analyzers by name. + # Run `go tool vet help` to see all analyzers. + disable: + - stdmethods +linters: + enable: + - gofumpt + - goimports + - gofmt + disable: + - errcheck + - typecheck + - deadcode + - varcheck + - staticcheck +issues: + exclude-use-default: true diff --git a/vendor/github.com/cloudwego/base64x/.licenserc.yaml b/vendor/github.com/cloudwego/base64x/.licenserc.yaml new file mode 100644 index 0000000..f969fec --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/.licenserc.yaml @@ -0,0 +1,14 @@ +header: + license: + spdx-id: Apache-2.0 + copyright-owner: CloudWeGo Authors + + paths: + - '**/*.go' + - '**/*.s' + + paths-ignore: + - 'native_subr_amd64.go' + - 'native_text_amd64.go' + + comment: on-failure diff --git a/vendor/github.com/cloudwego/base64x/CODE_OF_CONDUCT.md b/vendor/github.com/cloudwego/base64x/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..25ceb89 --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +conduct@cloudwego.io. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/vendor/github.com/cloudwego/base64x/CONTRIBUTING.md b/vendor/github.com/cloudwego/base64x/CONTRIBUTING.md new file mode 100644 index 0000000..e60a59e --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/CONTRIBUTING.md @@ -0,0 +1,55 @@ +# How to Contribute + +## Your First Pull Request +We use github for our codebase. You can start by reading [How To Pull Request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests). + +## Branch Organization +We use [git-flow](https://nvie.com/posts/a-successful-git-branching-model/) as our branch organization, as known as [FDD](https://en.wikipedia.org/wiki/Feature-driven_development) + +## Bugs +### 1. How to Find Known Issues +We are using [Github Issues](https://github.com/cloudwego/kitex/issues) for our public bugs. We keep a close eye on this and try to make it clear when we have an internal fix in progress. Before filing a new task, try to make sure your problem doesn’t already exist. + +### 2. Reporting New Issues +Providing a reduced test code is a recommended way for reporting issues. Then can placed in: +- Just in issues +- [Golang Playground](https://play.golang.org/) + +### 3. Security Bugs +Please do not report the safe disclosure of bugs to public issues. Contact us by [Support Email](mailto:conduct@cloudwego.io) + +## How to Get in Touch +- [Email](mailto:conduct@cloudwego.io) + +## Submit a Pull Request +Before you submit your Pull Request (PR) consider the following guidelines: +1. Search [GitHub](https://github.com/cloudwego/kitex/pulls) for an open or closed PR that relates to your submission. You don't want to duplicate existing efforts. +2. Be sure that an issue describes the problem you're fixing, or documents the design for the feature you'd like to add. Discussing the design upfront helps to ensure that we're ready to accept your work. +3. [Fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) the cloudwego/kitex repo. +4. In your forked repository, make your changes in a new git branch: + ``` + git checkout -b my-fix-branch develop + ``` +5. Create your patch, including appropriate test cases. +6. Follow our [Style Guides](#code-style-guides). +7. Commit your changes using a descriptive commit message that follows [AngularJS Git Commit Message Conventions](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit). + Adherence to these conventions is necessary because release notes are automatically generated from these messages. +8. Push your branch to GitHub: + ``` + git push origin my-fix-branch + ``` +9. In GitHub, send a pull request to `kitex:develop` + +## Contribution Prerequisites +- Our development environment keeps up with [Go Official](https://golang.org/project/). +- You need fully checking with lint tools before submit your pull request. [gofmt](https://golang.org/pkg/cmd/gofmt/) and [golangci-lint](https://github.com/golangci/golangci-lint) +- You are familiar with [Github](https://github.com) +- Maybe you need familiar with [Actions](https://github.com/features/actions)(our default workflow tool). + +## Code Style Guides +Also see [Pingcap General advice](https://pingcap.github.io/style-guide/general.html). + +Good resources: +- [Effective Go](https://golang.org/doc/effective_go) +- [Go Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments) +- [Uber Go Style Guide](https://github.com/uber-go/guide/blob/master/style.md) diff --git a/vendor/github.com/cloudwego/base64x/LICENSE b/vendor/github.com/cloudwego/base64x/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/cloudwego/base64x/LICENSE-APACHE b/vendor/github.com/cloudwego/base64x/LICENSE-APACHE new file mode 100644 index 0000000..66a27ec --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/LICENSE-APACHE @@ -0,0 +1,177 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/vendor/github.com/chenzhuoyu/base64x/Makefile b/vendor/github.com/cloudwego/base64x/Makefile similarity index 55% rename from vendor/github.com/chenzhuoyu/base64x/Makefile rename to vendor/github.com/cloudwego/base64x/Makefile index 436d8ba..a0793f4 100644 --- a/vendor/github.com/chenzhuoyu/base64x/Makefile +++ b/vendor/github.com/cloudwego/base64x/Makefile @@ -19,10 +19,11 @@ NATIVE_SRC += $(wildcard native/*.c) all: native_amd64.s clean: - rm -vf native_amd64.s output/*.s + rm -vf native_text_amd64.go native_subr_amd64.go output/*.s native_amd64.s: ${NATIVE_SRC} ${NATIVE_ASM} native_amd64.go mkdir -p output clang ${CFLAGS} -S -o output/native.s native/native.c - python3 tools/asm2asm/asm2asm.py native_amd64.s output/native.s ${NATIVE_ASM} - asmfmt -w native_amd64.s + python3 tools/asm2asm/asm2asm.py -r native_amd64.go output/native.s ${NATIVE_ASM} + awk '{gsub(/Text__native_entry__/, "text__native_entry__")}1' native_text_amd64.go > native_text_amd64.go.tmp && mv native_text_amd64.go.tmp native_text_amd64.go + awk '{gsub(/Funcs/, "funcs")}1' native_subr_amd64.go > native_subr_amd64.go.tmp && mv native_subr_amd64.go.tmp native_subr_amd64.go diff --git a/vendor/github.com/chenzhuoyu/base64x/README.md b/vendor/github.com/cloudwego/base64x/README.md similarity index 100% rename from vendor/github.com/chenzhuoyu/base64x/README.md rename to vendor/github.com/cloudwego/base64x/README.md diff --git a/vendor/github.com/cloudwego/base64x/_typos.toml b/vendor/github.com/cloudwego/base64x/_typos.toml new file mode 100644 index 0000000..47b5bea --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/_typos.toml @@ -0,0 +1,4 @@ +# Typo check: https://github.com/crate-ci/typos + +[files] +extend-exclude = ["go.mod", "go.sum", "check_branch_name.sh"] diff --git a/vendor/github.com/chenzhuoyu/base64x/base64x.go b/vendor/github.com/cloudwego/base64x/base64x.go similarity index 86% rename from vendor/github.com/chenzhuoyu/base64x/base64x.go rename to vendor/github.com/cloudwego/base64x/base64x.go index 3d45717..b9ded55 100644 --- a/vendor/github.com/chenzhuoyu/base64x/base64x.go +++ b/vendor/github.com/cloudwego/base64x/base64x.go @@ -1,3 +1,19 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package base64x import ( @@ -71,7 +87,7 @@ func (self Encoding) Encode(out []byte, src []byte) { // // It will also update the length of out. func (self Encoding) EncodeUnsafe(out *[]byte, src []byte) { - __b64encode(out, &src, int(self) | archFlags) + b64encode(out, &src, int(self) | archFlags) } // EncodeToString returns the base64 encoding of src. @@ -120,7 +136,7 @@ func (self Encoding) Decode(out []byte, src []byte) (int, error) { // // It will also update the length of out. func (self Encoding) DecodeUnsafe(out *[]byte, src []byte) (int, error) { - if n := __b64decode(out, mem2addr(src), len(src), int(self) | archFlags); n >= 0 { + if n := b64decode(out, mem2addr(src), len(src), int(self) | archFlags); n >= 0 { return n, nil } else { return 0, base64.CorruptInputError(-n - 1) @@ -149,9 +165,3 @@ func (self Encoding) DecodedLen(n int) int { return n * 6 / 8 } } - -func init() { - if hasAVX2() { - archFlags = _MODE_AVX2 - } -} diff --git a/vendor/github.com/cloudwego/base64x/check_branch_name.sh b/vendor/github.com/cloudwego/base64x/check_branch_name.sh new file mode 100644 index 0000000..1876fc0 --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/check_branch_name.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +current=$(git status | head -n1 | sed 's/On branch //') +name=${1:-$current} +if [[ ! $name =~ ^(((opt(imize)?|feat(ure)?|(bug|hot)?fix|test|refact(or)?|ci)/.+)|(main|develop)|(release-v[0-9]+\.[0-9]+)|(release/v[0-9]+\.[0-9]+\.[0-9]+(-[a-z0-9.]+(\+[a-z0-9.]+)?)?)|revert-[a-z0-9]+)$ ]]; then + echo "branch name '$name' is invalid" + exit 1 +else + echo "branch name '$name' is valid" +fi diff --git a/vendor/github.com/cloudwego/base64x/cpuid.go b/vendor/github.com/cloudwego/base64x/cpuid.go new file mode 100644 index 0000000..1947af0 --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/cpuid.go @@ -0,0 +1,33 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package base64x + +import ( + `fmt` + `os` + + `github.com/klauspost/cpuid/v2` +) + +func hasAVX2() bool { + switch v := os.Getenv("B64X_MODE"); v { + case "" : fallthrough + case "auto" : return cpuid.CPU.Has(cpuid.AVX2) + case "noavx2" : return false + default : panic(fmt.Sprintf("invalid mode: '%s', should be one of 'auto', 'noavx2'", v)) + } +} diff --git a/vendor/github.com/cloudwego/base64x/faststr.go b/vendor/github.com/cloudwego/base64x/faststr.go new file mode 100644 index 0000000..083d864 --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/faststr.go @@ -0,0 +1,51 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package base64x + +import ( + `reflect` + `unsafe` +) + +func mem2str(v []byte) (s string) { + (*reflect.StringHeader)(unsafe.Pointer(&s)).Len = (*reflect.SliceHeader)(unsafe.Pointer(&v)).Len + (*reflect.StringHeader)(unsafe.Pointer(&s)).Data = (*reflect.SliceHeader)(unsafe.Pointer(&v)).Data + return +} + +func str2mem(s string) (v []byte) { + (*reflect.SliceHeader)(unsafe.Pointer(&v)).Cap = (*reflect.StringHeader)(unsafe.Pointer(&s)).Len + (*reflect.SliceHeader)(unsafe.Pointer(&v)).Len = (*reflect.StringHeader)(unsafe.Pointer(&s)).Len + (*reflect.SliceHeader)(unsafe.Pointer(&v)).Data = (*reflect.StringHeader)(unsafe.Pointer(&s)).Data + return +} + +func mem2addr(v []byte) unsafe.Pointer { + return *(*unsafe.Pointer)(unsafe.Pointer(&v)) +} + +// NoEscape hides a pointer from escape analysis. NoEscape is +// the identity function but escape analysis doesn't think the +// output depends on the input. NoEscape is inlined and currently +// compiles down to zero instructions. +// USE CAREFULLY! +//go:nosplit +//goland:noinspection GoVetUnsafePointer +func noEscape(p unsafe.Pointer) unsafe.Pointer { + x := uintptr(p) + return unsafe.Pointer(x ^ 0) +} diff --git a/vendor/github.com/cloudwego/base64x/native_amd64.go b/vendor/github.com/cloudwego/base64x/native_amd64.go new file mode 100644 index 0000000..d988ea1 --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/native_amd64.go @@ -0,0 +1,58 @@ +/* + * Copyright 2024 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//go:generate make +package base64x + +import ( + `unsafe` + + `github.com/bytedance/sonic/loader` +) + +//go:nosplit +func b64encode(out *[]byte, src *[]byte, mode int) { + __b64encode(noEscape(unsafe.Pointer(out)), noEscape(unsafe.Pointer(src)), mode) +} + +//go:nosplit +func b64decode(out *[]byte, src unsafe.Pointer, len int, mode int) (ret int) { + return __b64decode(noEscape(unsafe.Pointer(out)), noEscape(unsafe.Pointer(src)), len, mode) +} + +// asm2asm templates +var ( + __b64encode func(out unsafe.Pointer, src unsafe.Pointer, mod int) + __b64decode func(out unsafe.Pointer, src unsafe.Pointer, len int, mod int) (ret int) +) + +// directly jump PCs +var ( + _subr__b64encode uintptr + _subr__b64decode uintptr +) + +var stubs = []loader.GoC{ + {"_b64encode", &_subr__b64encode, &__b64encode}, + {"_b64decode", &_subr__b64decode, &__b64decode}, +} + +func init() { + if hasAVX2() { + archFlags = _MODE_AVX2 + } + loader.WrapGoC(text__native_entry__, funcs, stubs, "base64x", "base64x/native.c") +} diff --git a/vendor/github.com/cloudwego/base64x/native_subr_amd64.go b/vendor/github.com/cloudwego/base64x/native_subr_amd64.go new file mode 100644 index 0000000..3bcb090 --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/native_subr_amd64.go @@ -0,0 +1,63 @@ +// +build !noasm !appengine +// Code generated by asm2asm, DO NOT EDIT. + +package base64x + +import ( + `github.com/bytedance/sonic/loader` +) + +const ( + _entry__b64decode = 1328 + _entry__b64encode = 256 +) + +const ( + _stack__b64decode = 152 + _stack__b64encode = 40 +) + +const ( + _size__b64decode = 17616 + _size__b64encode = 864 +) + +var ( + _pcsp__b64decode = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {12, 40}, + {13, 48}, + {17560, 152}, + {17564, 48}, + {17565, 40}, + {17567, 32}, + {17569, 24}, + {17571, 16}, + {17573, 8}, + {17577, 0}, + {17608, 152}, + } + _pcsp__b64encode = [][2]uint32{ + {1, 0}, + {4, 8}, + {6, 16}, + {8, 24}, + {10, 32}, + {852, 40}, + {853, 32}, + {855, 24}, + {857, 16}, + {859, 8}, + {864, 0}, + } +) + +var funcs = []loader.CFunc{ + {"__native_entry__", 0, 67, 0, nil}, + {"_b64decode", _entry__b64decode, _size__b64decode, _stack__b64decode, _pcsp__b64decode}, + {"_b64encode", _entry__b64encode, _size__b64encode, _stack__b64encode, _pcsp__b64encode}, +} diff --git a/vendor/github.com/cloudwego/base64x/native_text_amd64.go b/vendor/github.com/cloudwego/base64x/native_text_amd64.go new file mode 100644 index 0000000..fcfb219 --- /dev/null +++ b/vendor/github.com/cloudwego/base64x/native_text_amd64.go @@ -0,0 +1,5305 @@ +// +build amd64 +// Code generated by asm2asm, DO NOT EDIT. + +package base64x + +var text__native_entry__ = []byte{ + 0x48, 0x8d, 0x05, 0xf9, 0xff, 0xff, 0xff, // leaq $-7(%rip), %rax + 0x48, 0x89, 0x44, 0x24, 0x08, //0x00000007 movq %rax, $8(%rsp) + 0xc3, //0x0000000c retq + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000000d .p2align 5, 0x00 + //0x00000020 LCPI0_0 + 0x01, //0x00000020 .byte 1 + 0x00, //0x00000021 .byte 0 + 0x02, //0x00000022 .byte 2 + 0x01, //0x00000023 .byte 1 + 0x04, //0x00000024 .byte 4 + 0x03, //0x00000025 .byte 3 + 0x05, //0x00000026 .byte 5 + 0x04, //0x00000027 .byte 4 + 0x07, //0x00000028 .byte 7 + 0x06, //0x00000029 .byte 6 + 0x08, //0x0000002a .byte 8 + 0x07, //0x0000002b .byte 7 + 0x0a, //0x0000002c .byte 10 + 0x09, //0x0000002d .byte 9 + 0x0b, //0x0000002e .byte 11 + 0x0a, //0x0000002f .byte 10 + 0x01, //0x00000030 .byte 1 + 0x00, //0x00000031 .byte 0 + 0x02, //0x00000032 .byte 2 + 0x01, //0x00000033 .byte 1 + 0x04, //0x00000034 .byte 4 + 0x03, //0x00000035 .byte 3 + 0x05, //0x00000036 .byte 5 + 0x04, //0x00000037 .byte 4 + 0x07, //0x00000038 .byte 7 + 0x06, //0x00000039 .byte 6 + 0x08, //0x0000003a .byte 8 + 0x07, //0x0000003b .byte 7 + 0x0a, //0x0000003c .byte 10 + 0x09, //0x0000003d .byte 9 + 0x0b, //0x0000003e .byte 11 + 0x0a, //0x0000003f .byte 10 + //0x00000040 LCPI0_1 + 0x00, 0xfc, //0x00000040 .word 64512 + 0xc0, 0x0f, //0x00000042 .word 4032 + 0x00, 0xfc, //0x00000044 .word 64512 + 0xc0, 0x0f, //0x00000046 .word 4032 + 0x00, 0xfc, //0x00000048 .word 64512 + 0xc0, 0x0f, //0x0000004a .word 4032 + 0x00, 0xfc, //0x0000004c .word 64512 + 0xc0, 0x0f, //0x0000004e .word 4032 + 0x00, 0xfc, //0x00000050 .word 64512 + 0xc0, 0x0f, //0x00000052 .word 4032 + 0x00, 0xfc, //0x00000054 .word 64512 + 0xc0, 0x0f, //0x00000056 .word 4032 + 0x00, 0xfc, //0x00000058 .word 64512 + 0xc0, 0x0f, //0x0000005a .word 4032 + 0x00, 0xfc, //0x0000005c .word 64512 + 0xc0, 0x0f, //0x0000005e .word 4032 + //0x00000060 LCPI0_2 + 0x40, 0x00, //0x00000060 .word 64 + 0x00, 0x04, //0x00000062 .word 1024 + 0x40, 0x00, //0x00000064 .word 64 + 0x00, 0x04, //0x00000066 .word 1024 + 0x40, 0x00, //0x00000068 .word 64 + 0x00, 0x04, //0x0000006a .word 1024 + 0x40, 0x00, //0x0000006c .word 64 + 0x00, 0x04, //0x0000006e .word 1024 + 0x40, 0x00, //0x00000070 .word 64 + 0x00, 0x04, //0x00000072 .word 1024 + 0x40, 0x00, //0x00000074 .word 64 + 0x00, 0x04, //0x00000076 .word 1024 + 0x40, 0x00, //0x00000078 .word 64 + 0x00, 0x04, //0x0000007a .word 1024 + 0x40, 0x00, //0x0000007c .word 64 + 0x00, 0x04, //0x0000007e .word 1024 + //0x00000080 LCPI0_3 + 0xf0, 0x03, //0x00000080 .word 1008 + 0x3f, 0x00, //0x00000082 .word 63 + 0xf0, 0x03, //0x00000084 .word 1008 + 0x3f, 0x00, //0x00000086 .word 63 + 0xf0, 0x03, //0x00000088 .word 1008 + 0x3f, 0x00, //0x0000008a .word 63 + 0xf0, 0x03, //0x0000008c .word 1008 + 0x3f, 0x00, //0x0000008e .word 63 + 0xf0, 0x03, //0x00000090 .word 1008 + 0x3f, 0x00, //0x00000092 .word 63 + 0xf0, 0x03, //0x00000094 .word 1008 + 0x3f, 0x00, //0x00000096 .word 63 + 0xf0, 0x03, //0x00000098 .word 1008 + 0x3f, 0x00, //0x0000009a .word 63 + 0xf0, 0x03, //0x0000009c .word 1008 + 0x3f, 0x00, //0x0000009e .word 63 + //0x000000a0 LCPI0_4 + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, //0x000000a0 QUAD $0x1a1a1a1a1a1a1a1a; QUAD $0x1a1a1a1a1a1a1a1a // .space 16, '\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a' + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, //0x000000b0 QUAD $0x1a1a1a1a1a1a1a1a; QUAD $0x1a1a1a1a1a1a1a1a // .space 16, '\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a' + //0x000000c0 LCPI0_5 + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, //0x000000c0 QUAD $0x3333333333333333; QUAD $0x3333333333333333 // .space 16, '3333333333333333' + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, //0x000000d0 QUAD $0x3333333333333333; QUAD $0x3333333333333333 // .space 16, '3333333333333333' + //0x000000e0 LCPI0_6 + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, //0x000000e0 QUAD $0x0d0d0d0d0d0d0d0d; QUAD $0x0d0d0d0d0d0d0d0d // .space 16, '\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r' + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, //0x000000f0 QUAD $0x0d0d0d0d0d0d0d0d; QUAD $0x0d0d0d0d0d0d0d0d // .space 16, '\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r' + //0x00000100 .p2align 4, 0x90 + //0x00000100 _b64encode + 0x55, //0x00000100 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000101 movq %rsp, %rbp + 0x41, 0x57, //0x00000104 pushq %r15 + 0x41, 0x56, //0x00000106 pushq %r14 + 0x41, 0x54, //0x00000108 pushq %r12 + 0x53, //0x0000010a pushq %rbx + 0x4c, 0x8b, 0x4e, 0x08, //0x0000010b movq $8(%rsi), %r9 + 0x4d, 0x85, 0xc9, //0x0000010f testq %r9, %r9 + 0x0f, 0x84, 0x3c, 0x03, 0x00, 0x00, //0x00000112 je LBB0_26 + 0x4c, 0x8b, 0x07, //0x00000118 movq (%rdi), %r8 + 0x4c, 0x03, 0x47, 0x08, //0x0000011b addq $8(%rdi), %r8 + 0x4c, 0x8b, 0x26, //0x0000011f movq (%rsi), %r12 + 0x4d, 0x01, 0xe1, //0x00000122 addq %r12, %r9 + 0xf6, 0xc2, 0x01, //0x00000125 testb $1, %dl + 0x48, 0x8d, 0x0d, 0x11, 0x49, 0x00, 0x00, //0x00000128 leaq $18705(%rip), %rcx /* _VecEncodeCharsetStd+0(%rip) */ + 0x4c, 0x8d, 0x15, 0x6a, 0x49, 0x00, 0x00, //0x0000012f leaq $18794(%rip), %r10 /* _VecEncodeCharsetURL+0(%rip) */ + 0x4c, 0x0f, 0x44, 0xd1, //0x00000136 cmoveq %rcx, %r10 + 0x48, 0x8d, 0x0d, 0xbf, 0x48, 0x00, 0x00, //0x0000013a leaq $18623(%rip), %rcx /* _TabEncodeCharsetStd+0(%rip) */ + 0x4c, 0x8d, 0x1d, 0x18, 0x49, 0x00, 0x00, //0x00000141 leaq $18712(%rip), %r11 /* _TabEncodeCharsetURL+0(%rip) */ + 0x4c, 0x0f, 0x44, 0xd9, //0x00000148 cmoveq %rcx, %r11 + 0xf6, 0xc2, 0x04, //0x0000014c testb $4, %dl + 0x0f, 0x84, 0xc8, 0x00, 0x00, 0x00, //0x0000014f je LBB0_2 + 0x49, 0x8d, 0x71, 0xe4, //0x00000155 leaq $-28(%r9), %rsi + 0x49, 0x39, 0xf4, //0x00000159 cmpq %rsi, %r12 + 0x0f, 0x87, 0x4e, 0x02, 0x00, 0x00, //0x0000015c ja LBB0_4 + 0xc4, 0xc1, 0x7e, 0x6f, 0x02, //0x00000162 vmovdqu (%r10), %ymm0 + 0xc5, 0xfd, 0x6f, 0x0d, 0xb1, 0xfe, 0xff, 0xff, //0x00000167 vmovdqa $-335(%rip), %ymm1 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0x15, 0xc9, 0xfe, 0xff, 0xff, //0x0000016f vmovdqa $-311(%rip), %ymm2 /* LCPI0_1+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0x1d, 0xe1, 0xfe, 0xff, 0xff, //0x00000177 vmovdqa $-287(%rip), %ymm3 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0x25, 0xf9, 0xfe, 0xff, 0xff, //0x0000017f vmovdqa $-263(%rip), %ymm4 /* LCPI0_3+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0x2d, 0x11, 0xff, 0xff, 0xff, //0x00000187 vmovdqa $-239(%rip), %ymm5 /* LCPI0_4+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0x35, 0x29, 0xff, 0xff, 0xff, //0x0000018f vmovdqa $-215(%rip), %ymm6 /* LCPI0_5+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0x3d, 0x41, 0xff, 0xff, 0xff, //0x00000197 vmovdqa $-191(%rip), %ymm7 /* LCPI0_6+0(%rip) */ + 0x4d, 0x89, 0xc6, //0x0000019f movq %r8, %r14 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000001a2 .p2align 4, 0x90 + //0x000001b0 LBB0_6 + 0xc4, 0x41, 0x7a, 0x6f, 0x04, 0x24, //0x000001b0 vmovdqu (%r12), %xmm8 + 0xc4, 0x43, 0x3d, 0x38, 0x44, 0x24, 0x0c, 0x01, //0x000001b6 vinserti128 $1, $12(%r12), %ymm8, %ymm8 + 0xc4, 0x62, 0x3d, 0x00, 0xc1, //0x000001be vpshufb %ymm1, %ymm8, %ymm8 + 0xc5, 0x3d, 0xdb, 0xca, //0x000001c3 vpand %ymm2, %ymm8, %ymm9 + 0xc5, 0x35, 0xe4, 0xcb, //0x000001c7 vpmulhuw %ymm3, %ymm9, %ymm9 + 0xc5, 0x3d, 0xdb, 0xc4, //0x000001cb vpand %ymm4, %ymm8, %ymm8 + 0xc4, 0xc1, 0x2d, 0x71, 0xf0, 0x08, //0x000001cf vpsllw $8, %ymm8, %ymm10 + 0xc4, 0xc1, 0x3d, 0x71, 0xf0, 0x04, //0x000001d5 vpsllw $4, %ymm8, %ymm8 + 0xc4, 0x43, 0x3d, 0x0e, 0xc2, 0xaa, //0x000001db vpblendw $170, %ymm10, %ymm8, %ymm8 + 0xc4, 0x41, 0x3d, 0xeb, 0xc1, //0x000001e1 vpor %ymm9, %ymm8, %ymm8 + 0xc4, 0x41, 0x55, 0x64, 0xc8, //0x000001e6 vpcmpgtb %ymm8, %ymm5, %ymm9 + 0xc5, 0x35, 0xdb, 0xcf, //0x000001eb vpand %ymm7, %ymm9, %ymm9 + 0xc5, 0x3d, 0xd8, 0xd6, //0x000001ef vpsubusb %ymm6, %ymm8, %ymm10 + 0xc4, 0x41, 0x35, 0xeb, 0xca, //0x000001f3 vpor %ymm10, %ymm9, %ymm9 + 0xc4, 0x42, 0x7d, 0x00, 0xc9, //0x000001f8 vpshufb %ymm9, %ymm0, %ymm9 + 0xc4, 0x41, 0x35, 0xfc, 0xc0, //0x000001fd vpaddb %ymm8, %ymm9, %ymm8 + 0xc4, 0x41, 0x7e, 0x7f, 0x06, //0x00000202 vmovdqu %ymm8, (%r14) + 0x49, 0x83, 0xc6, 0x20, //0x00000207 addq $32, %r14 + 0x49, 0x83, 0xc4, 0x18, //0x0000020b addq $24, %r12 + 0x49, 0x39, 0xf4, //0x0000020f cmpq %rsi, %r12 + 0x0f, 0x86, 0x98, 0xff, 0xff, 0xff, //0x00000212 jbe LBB0_6 + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x00000218 jmp LBB0_7 + //0x0000021d LBB0_2 + 0x4d, 0x89, 0xc6, //0x0000021d movq %r8, %r14 + //0x00000220 LBB0_7 + 0x49, 0x8d, 0x71, 0xe8, //0x00000220 leaq $-24(%r9), %rsi + 0x49, 0x39, 0xf4, //0x00000224 cmpq %rsi, %r12 + 0x0f, 0x87, 0x93, 0x00, 0x00, 0x00, //0x00000227 ja LBB0_10 + //0x0000022d LBB0_8 + 0x89, 0xd6, //0x0000022d movl %edx, %esi + 0x83, 0xe6, 0x04, //0x0000022f andl $4, %esi + 0x0f, 0x84, 0x88, 0x00, 0x00, 0x00, //0x00000232 je LBB0_10 + 0xc4, 0xc1, 0x7a, 0x6f, 0x04, 0x24, //0x00000238 vmovdqu (%r12), %xmm0 + 0xc4, 0xc1, 0x7a, 0x6f, 0x4c, 0x24, 0x08, //0x0000023e vmovdqu $8(%r12), %xmm1 + 0xc5, 0xf1, 0x73, 0xd9, 0x04, //0x00000245 vpsrldq $4, %xmm1, %xmm1 + 0xc4, 0xe3, 0x7d, 0x38, 0xc1, 0x01, //0x0000024a vinserti128 $1, %xmm1, %ymm0, %ymm0 + 0xc4, 0xe2, 0x7d, 0x00, 0x05, 0xc7, 0xfd, 0xff, 0xff, //0x00000250 vpshufb $-569(%rip), %ymm0, %ymm0 /* LCPI0_0+0(%rip) */ + 0xc5, 0xfd, 0xdb, 0x0d, 0xdf, 0xfd, 0xff, 0xff, //0x00000259 vpand $-545(%rip), %ymm0, %ymm1 /* LCPI0_1+0(%rip) */ + 0xc5, 0xf5, 0xe4, 0x0d, 0xf7, 0xfd, 0xff, 0xff, //0x00000261 vpmulhuw $-521(%rip), %ymm1, %ymm1 /* LCPI0_2+0(%rip) */ + 0xc5, 0xfd, 0xdb, 0x05, 0x0f, 0xfe, 0xff, 0xff, //0x00000269 vpand $-497(%rip), %ymm0, %ymm0 /* LCPI0_3+0(%rip) */ + 0xc5, 0xed, 0x71, 0xf0, 0x08, //0x00000271 vpsllw $8, %ymm0, %ymm2 + 0xc5, 0xfd, 0x71, 0xf0, 0x04, //0x00000276 vpsllw $4, %ymm0, %ymm0 + 0xc4, 0xe3, 0x7d, 0x0e, 0xc2, 0xaa, //0x0000027b vpblendw $170, %ymm2, %ymm0, %ymm0 + 0xc5, 0xfd, 0xeb, 0xc1, //0x00000281 vpor %ymm1, %ymm0, %ymm0 + 0xc5, 0xfd, 0x6f, 0x0d, 0x13, 0xfe, 0xff, 0xff, //0x00000285 vmovdqa $-493(%rip), %ymm1 /* LCPI0_4+0(%rip) */ + 0xc5, 0xf5, 0x64, 0xc8, //0x0000028d vpcmpgtb %ymm0, %ymm1, %ymm1 + 0xc4, 0xc1, 0x7e, 0x6f, 0x12, //0x00000291 vmovdqu (%r10), %ymm2 + 0xc5, 0xfd, 0xd8, 0x1d, 0x22, 0xfe, 0xff, 0xff, //0x00000296 vpsubusb $-478(%rip), %ymm0, %ymm3 /* LCPI0_5+0(%rip) */ + 0xc5, 0xf5, 0xdb, 0x0d, 0x3a, 0xfe, 0xff, 0xff, //0x0000029e vpand $-454(%rip), %ymm1, %ymm1 /* LCPI0_6+0(%rip) */ + 0xc5, 0xf5, 0xeb, 0xcb, //0x000002a6 vpor %ymm3, %ymm1, %ymm1 + 0xc4, 0xe2, 0x6d, 0x00, 0xc9, //0x000002aa vpshufb %ymm1, %ymm2, %ymm1 + 0xc5, 0xf5, 0xfc, 0xc0, //0x000002af vpaddb %ymm0, %ymm1, %ymm0 + 0xc4, 0xc1, 0x7e, 0x7f, 0x06, //0x000002b3 vmovdqu %ymm0, (%r14) + 0x49, 0x83, 0xc6, 0x20, //0x000002b8 addq $32, %r14 + 0x49, 0x83, 0xc4, 0x18, //0x000002bc addq $24, %r12 + //0x000002c0 LBB0_10 + 0x4d, 0x39, 0xcc, //0x000002c0 cmpq %r9, %r12 + 0x0f, 0x84, 0x84, 0x01, 0x00, 0x00, //0x000002c3 je LBB0_25 + 0x4d, 0x8d, 0x51, 0xfc, //0x000002c9 leaq $-4(%r9), %r10 + 0x4d, 0x39, 0xd4, //0x000002cd cmpq %r10, %r12 + 0x0f, 0x87, 0x61, 0x00, 0x00, 0x00, //0x000002d0 ja LBB0_14 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002d6 .p2align 4, 0x90 + //0x000002e0 LBB0_12 + 0x41, 0x8b, 0x34, 0x24, //0x000002e0 movl (%r12), %esi + 0x0f, 0xce, //0x000002e4 bswapl %esi + 0x49, 0x89, 0xf7, //0x000002e6 movq %rsi, %r15 + 0x49, 0xc1, 0xef, 0x1a, //0x000002e9 shrq $26, %r15 + 0x89, 0xf1, //0x000002ed movl %esi, %ecx + 0xc1, 0xe9, 0x14, //0x000002ef shrl $20, %ecx + 0x83, 0xe1, 0x3f, //0x000002f2 andl $63, %ecx + 0x89, 0xf3, //0x000002f5 movl %esi, %ebx + 0xc1, 0xeb, 0x0e, //0x000002f7 shrl $14, %ebx + 0x83, 0xe3, 0x3f, //0x000002fa andl $63, %ebx + 0xc1, 0xee, 0x08, //0x000002fd shrl $8, %esi + 0x83, 0xe6, 0x3f, //0x00000300 andl $63, %esi + 0x49, 0x83, 0xc4, 0x03, //0x00000303 addq $3, %r12 + 0x43, 0x0f, 0xb6, 0x04, 0x3b, //0x00000307 movzbl (%r11,%r15), %eax + 0x41, 0x88, 0x06, //0x0000030c movb %al, (%r14) + 0x41, 0x0f, 0xb6, 0x04, 0x0b, //0x0000030f movzbl (%r11,%rcx), %eax + 0x41, 0x88, 0x46, 0x01, //0x00000314 movb %al, $1(%r14) + 0x41, 0x0f, 0xb6, 0x04, 0x1b, //0x00000318 movzbl (%r11,%rbx), %eax + 0x41, 0x88, 0x46, 0x02, //0x0000031d movb %al, $2(%r14) + 0x41, 0x0f, 0xb6, 0x04, 0x33, //0x00000321 movzbl (%r11,%rsi), %eax + 0x41, 0x88, 0x46, 0x03, //0x00000326 movb %al, $3(%r14) + 0x49, 0x83, 0xc6, 0x04, //0x0000032a addq $4, %r14 + 0x4d, 0x39, 0xd4, //0x0000032e cmpq %r10, %r12 + 0x0f, 0x86, 0xa9, 0xff, 0xff, 0xff, //0x00000331 jbe LBB0_12 + //0x00000337 LBB0_14 + 0x4d, 0x29, 0xe1, //0x00000337 subq %r12, %r9 + 0x45, 0x0f, 0xb6, 0x14, 0x24, //0x0000033a movzbl (%r12), %r10d + 0x49, 0x83, 0xf9, 0x01, //0x0000033f cmpq $1, %r9 + 0x0f, 0x84, 0xc0, 0x00, 0x00, 0x00, //0x00000343 je LBB0_21 + 0x4c, 0x89, 0xd6, //0x00000349 movq %r10, %rsi + 0x48, 0xc1, 0xe6, 0x10, //0x0000034c shlq $16, %rsi + 0x49, 0x83, 0xf9, 0x02, //0x00000350 cmpq $2, %r9 + 0x0f, 0x84, 0x6b, 0x00, 0x00, 0x00, //0x00000354 je LBB0_18 + 0x49, 0x83, 0xf9, 0x03, //0x0000035a cmpq $3, %r9 + 0x0f, 0x85, 0xe9, 0x00, 0x00, 0x00, //0x0000035e jne LBB0_25 + 0x41, 0x0f, 0xb6, 0x54, 0x24, 0x02, //0x00000364 movzbl $2(%r12), %edx + 0x09, 0xd6, //0x0000036a orl %edx, %esi + 0x41, 0x0f, 0xb6, 0x44, 0x24, 0x01, //0x0000036c movzbl $1(%r12), %eax + 0xc1, 0xe0, 0x08, //0x00000372 shll $8, %eax + 0x09, 0xf0, //0x00000375 orl %esi, %eax + 0x49, 0xc1, 0xea, 0x02, //0x00000377 shrq $2, %r10 + 0x43, 0x8a, 0x0c, 0x13, //0x0000037b movb (%r11,%r10), %cl + 0x41, 0x88, 0x0e, //0x0000037f movb %cl, (%r14) + 0x89, 0xc1, //0x00000382 movl %eax, %ecx + 0xc1, 0xe9, 0x0c, //0x00000384 shrl $12, %ecx + 0x83, 0xe1, 0x3f, //0x00000387 andl $63, %ecx + 0x41, 0x8a, 0x0c, 0x0b, //0x0000038a movb (%r11,%rcx), %cl + 0x41, 0x88, 0x4e, 0x01, //0x0000038e movb %cl, $1(%r14) + 0xc1, 0xe8, 0x06, //0x00000392 shrl $6, %eax + 0x83, 0xe0, 0x3f, //0x00000395 andl $63, %eax + 0x41, 0x8a, 0x04, 0x03, //0x00000398 movb (%r11,%rax), %al + 0x41, 0x88, 0x46, 0x02, //0x0000039c movb %al, $2(%r14) + 0x83, 0xe2, 0x3f, //0x000003a0 andl $63, %edx + 0x41, 0x8a, 0x04, 0x13, //0x000003a3 movb (%r11,%rdx), %al + 0x41, 0x88, 0x46, 0x03, //0x000003a7 movb %al, $3(%r14) + 0xe9, 0x87, 0x00, 0x00, 0x00, //0x000003ab jmp LBB0_24 + //0x000003b0 LBB0_4 + 0x4d, 0x89, 0xc6, //0x000003b0 movq %r8, %r14 + 0x49, 0x8d, 0x71, 0xe8, //0x000003b3 leaq $-24(%r9), %rsi + 0x49, 0x39, 0xf4, //0x000003b7 cmpq %rsi, %r12 + 0x0f, 0x86, 0x6d, 0xfe, 0xff, 0xff, //0x000003ba jbe LBB0_8 + 0xe9, 0xfb, 0xfe, 0xff, 0xff, //0x000003c0 jmp LBB0_10 + //0x000003c5 LBB0_18 + 0x41, 0x0f, 0xb6, 0x44, 0x24, 0x01, //0x000003c5 movzbl $1(%r12), %eax + 0x89, 0xc1, //0x000003cb movl %eax, %ecx + 0xc1, 0xe1, 0x08, //0x000003cd shll $8, %ecx + 0x09, 0xf1, //0x000003d0 orl %esi, %ecx + 0x49, 0xc1, 0xea, 0x02, //0x000003d2 shrq $2, %r10 + 0x43, 0x8a, 0x1c, 0x13, //0x000003d6 movb (%r11,%r10), %bl + 0x41, 0x88, 0x1e, //0x000003da movb %bl, (%r14) + 0xc1, 0xe9, 0x0c, //0x000003dd shrl $12, %ecx + 0x83, 0xe1, 0x3f, //0x000003e0 andl $63, %ecx + 0x41, 0x8a, 0x0c, 0x0b, //0x000003e3 movb (%r11,%rcx), %cl + 0x41, 0x88, 0x4e, 0x01, //0x000003e7 movb %cl, $1(%r14) + 0x83, 0xe0, 0x0f, //0x000003eb andl $15, %eax + 0x41, 0x8a, 0x04, 0x83, //0x000003ee movb (%r11,%rax,4), %al + 0x41, 0x88, 0x46, 0x02, //0x000003f2 movb %al, $2(%r14) + 0xf6, 0xc2, 0x02, //0x000003f6 testb $2, %dl + 0x0f, 0x85, 0x41, 0x00, 0x00, 0x00, //0x000003f9 jne LBB0_19 + 0x41, 0xc6, 0x46, 0x03, 0x3d, //0x000003ff movb $61, $3(%r14) + 0xe9, 0x2e, 0x00, 0x00, 0x00, //0x00000404 jmp LBB0_24 + //0x00000409 LBB0_21 + 0x4c, 0x89, 0xd0, //0x00000409 movq %r10, %rax + 0x48, 0xc1, 0xe8, 0x02, //0x0000040c shrq $2, %rax + 0x41, 0x8a, 0x04, 0x03, //0x00000410 movb (%r11,%rax), %al + 0x41, 0x88, 0x06, //0x00000414 movb %al, (%r14) + 0x41, 0xc1, 0xe2, 0x04, //0x00000417 shll $4, %r10d + 0x41, 0x83, 0xe2, 0x30, //0x0000041b andl $48, %r10d + 0x43, 0x8a, 0x04, 0x13, //0x0000041f movb (%r11,%r10), %al + 0x41, 0x88, 0x46, 0x01, //0x00000423 movb %al, $1(%r14) + 0xf6, 0xc2, 0x02, //0x00000427 testb $2, %dl + 0x0f, 0x85, 0x19, 0x00, 0x00, 0x00, //0x0000042a jne LBB0_22 + 0x66, 0x41, 0xc7, 0x46, 0x02, 0x3d, 0x3d, //0x00000430 movw $15677, $2(%r14) + //0x00000437 LBB0_24 + 0x49, 0x83, 0xc6, 0x04, //0x00000437 addq $4, %r14 + 0xe9, 0x0d, 0x00, 0x00, 0x00, //0x0000043b jmp LBB0_25 + //0x00000440 LBB0_19 + 0x49, 0x83, 0xc6, 0x03, //0x00000440 addq $3, %r14 + 0xe9, 0x04, 0x00, 0x00, 0x00, //0x00000444 jmp LBB0_25 + //0x00000449 LBB0_22 + 0x49, 0x83, 0xc6, 0x02, //0x00000449 addq $2, %r14 + //0x0000044d LBB0_25 + 0x4d, 0x29, 0xc6, //0x0000044d subq %r8, %r14 + 0x4c, 0x01, 0x77, 0x08, //0x00000450 addq %r14, $8(%rdi) + //0x00000454 LBB0_26 + 0x5b, //0x00000454 popq %rbx + 0x41, 0x5c, //0x00000455 popq %r12 + 0x41, 0x5e, //0x00000457 popq %r14 + 0x41, 0x5f, //0x00000459 popq %r15 + 0x5d, //0x0000045b popq %rbp + 0xc5, 0xf8, 0x77, //0x0000045c vzeroupper + 0xc3, //0x0000045f retq + //0x00000460 .p2align 5, 0x00 + //0x00000460 LCPI1_0 + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000460 QUAD $0x0f0f0f0f0f0f0f0f; QUAD $0x0f0f0f0f0f0f0f0f // .space 16, '\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f' + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000470 QUAD $0x0f0f0f0f0f0f0f0f; QUAD $0x0f0f0f0f0f0f0f0f // .space 16, '\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f' + //0x00000480 LCPI1_1 + 0x01, //0x00000480 .byte 1 + 0x02, //0x00000481 .byte 2 + 0x04, //0x00000482 .byte 4 + 0x08, //0x00000483 .byte 8 + 0x10, //0x00000484 .byte 16 + 0x20, //0x00000485 .byte 32 + 0x40, //0x00000486 .byte 64 + 0x80, //0x00000487 .byte 128 + 0x00, //0x00000488 .byte 0 + 0x00, //0x00000489 .byte 0 + 0x00, //0x0000048a .byte 0 + 0x00, //0x0000048b .byte 0 + 0x00, //0x0000048c .byte 0 + 0x00, //0x0000048d .byte 0 + 0x00, //0x0000048e .byte 0 + 0x00, //0x0000048f .byte 0 + 0x01, //0x00000490 .byte 1 + 0x02, //0x00000491 .byte 2 + 0x04, //0x00000492 .byte 4 + 0x08, //0x00000493 .byte 8 + 0x10, //0x00000494 .byte 16 + 0x20, //0x00000495 .byte 32 + 0x40, //0x00000496 .byte 64 + 0x80, //0x00000497 .byte 128 + 0x00, //0x00000498 .byte 0 + 0x00, //0x00000499 .byte 0 + 0x00, //0x0000049a .byte 0 + 0x00, //0x0000049b .byte 0 + 0x00, //0x0000049c .byte 0 + 0x00, //0x0000049d .byte 0 + 0x00, //0x0000049e .byte 0 + 0x00, //0x0000049f .byte 0 + //0x000004a0 LCPI1_2 + 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, //0x000004a0 QUAD $0x3f3f3f3f3f3f3f3f; QUAD $0x3f3f3f3f3f3f3f3f // .space 16, '????????????????' + 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, //0x000004b0 QUAD $0x3f3f3f3f3f3f3f3f; QUAD $0x3f3f3f3f3f3f3f3f // .space 16, '????????????????' + //0x000004c0 LCPI1_3 + 0x40, //0x000004c0 .byte 64 + 0x01, //0x000004c1 .byte 1 + 0x40, //0x000004c2 .byte 64 + 0x01, //0x000004c3 .byte 1 + 0x40, //0x000004c4 .byte 64 + 0x01, //0x000004c5 .byte 1 + 0x40, //0x000004c6 .byte 64 + 0x01, //0x000004c7 .byte 1 + 0x40, //0x000004c8 .byte 64 + 0x01, //0x000004c9 .byte 1 + 0x40, //0x000004ca .byte 64 + 0x01, //0x000004cb .byte 1 + 0x40, //0x000004cc .byte 64 + 0x01, //0x000004cd .byte 1 + 0x40, //0x000004ce .byte 64 + 0x01, //0x000004cf .byte 1 + 0x40, //0x000004d0 .byte 64 + 0x01, //0x000004d1 .byte 1 + 0x40, //0x000004d2 .byte 64 + 0x01, //0x000004d3 .byte 1 + 0x40, //0x000004d4 .byte 64 + 0x01, //0x000004d5 .byte 1 + 0x40, //0x000004d6 .byte 64 + 0x01, //0x000004d7 .byte 1 + 0x40, //0x000004d8 .byte 64 + 0x01, //0x000004d9 .byte 1 + 0x40, //0x000004da .byte 64 + 0x01, //0x000004db .byte 1 + 0x40, //0x000004dc .byte 64 + 0x01, //0x000004dd .byte 1 + 0x40, //0x000004de .byte 64 + 0x01, //0x000004df .byte 1 + //0x000004e0 LCPI1_4 + 0x00, 0x10, //0x000004e0 .word 4096 + 0x01, 0x00, //0x000004e2 .word 1 + 0x00, 0x10, //0x000004e4 .word 4096 + 0x01, 0x00, //0x000004e6 .word 1 + 0x00, 0x10, //0x000004e8 .word 4096 + 0x01, 0x00, //0x000004ea .word 1 + 0x00, 0x10, //0x000004ec .word 4096 + 0x01, 0x00, //0x000004ee .word 1 + 0x00, 0x10, //0x000004f0 .word 4096 + 0x01, 0x00, //0x000004f2 .word 1 + 0x00, 0x10, //0x000004f4 .word 4096 + 0x01, 0x00, //0x000004f6 .word 1 + 0x00, 0x10, //0x000004f8 .word 4096 + 0x01, 0x00, //0x000004fa .word 1 + 0x00, 0x10, //0x000004fc .word 4096 + 0x01, 0x00, //0x000004fe .word 1 + //0x00000500 LCPI1_6 + 0x02, //0x00000500 .byte 2 + 0x01, //0x00000501 .byte 1 + 0x00, //0x00000502 .byte 0 + 0x06, //0x00000503 .byte 6 + 0x05, //0x00000504 .byte 5 + 0x04, //0x00000505 .byte 4 + 0x0a, //0x00000506 .byte 10 + 0x09, //0x00000507 .byte 9 + 0x08, //0x00000508 .byte 8 + 0x0e, //0x00000509 .byte 14 + 0x0d, //0x0000050a .byte 13 + 0x0c, //0x0000050b .byte 12 + 0x00, //0x0000050c BYTE $0x00 // .space 1, '\x00' + 0x00, //0x0000050d BYTE $0x00 // .space 1, '\x00' + 0x00, //0x0000050e BYTE $0x00 // .space 1, '\x00' + 0x00, //0x0000050f BYTE $0x00 // .space 1, '\x00' + 0x05, //0x00000510 .byte 5 + 0x04, //0x00000511 .byte 4 + 0x0a, //0x00000512 .byte 10 + 0x09, //0x00000513 .byte 9 + 0x08, //0x00000514 .byte 8 + 0x0e, //0x00000515 .byte 14 + 0x0d, //0x00000516 .byte 13 + 0x0c, //0x00000517 .byte 12 + 0x00, //0x00000518 BYTE $0x00 // .space 1, '\x00' + 0x00, //0x00000519 BYTE $0x00 // .space 1, '\x00' + 0x00, //0x0000051a BYTE $0x00 // .space 1, '\x00' + 0x00, //0x0000051b BYTE $0x00 // .space 1, '\x00' + 0x00, //0x0000051c BYTE $0x00 // .space 1, '\x00' + 0x00, //0x0000051d BYTE $0x00 // .space 1, '\x00' + 0x00, //0x0000051e BYTE $0x00 // .space 1, '\x00' + 0x00, //0x0000051f BYTE $0x00 // .space 1, '\x00' + //0x00000520 .p2align 4, 0x00 + //0x00000520 LCPI1_5 + 0x00, //0x00000520 BYTE $0x00 // .space 1, '\x00' + 0x00, //0x00000521 BYTE $0x00 // .space 1, '\x00' + 0x00, //0x00000522 BYTE $0x00 // .space 1, '\x00' + 0x00, //0x00000523 BYTE $0x00 // .space 1, '\x00' + 0x00, //0x00000524 BYTE $0x00 // .space 1, '\x00' + 0x00, //0x00000525 BYTE $0x00 // .space 1, '\x00' + 0x00, //0x00000526 BYTE $0x00 // .space 1, '\x00' + 0x00, //0x00000527 BYTE $0x00 // .space 1, '\x00' + 0x00, //0x00000528 BYTE $0x00 // .space 1, '\x00' + 0x00, //0x00000529 BYTE $0x00 // .space 1, '\x00' + 0x00, //0x0000052a BYTE $0x00 // .space 1, '\x00' + 0x00, //0x0000052b BYTE $0x00 // .space 1, '\x00' + 0x02, //0x0000052c .byte 2 + 0x01, //0x0000052d .byte 1 + 0x00, //0x0000052e .byte 0 + 0x06, //0x0000052f .byte 6 + //0x00000530 .p2align 4, 0x90 + //0x00000530 _b64decode + 0x55, //0x00000530 pushq %rbp + 0x48, 0x89, 0xe5, //0x00000531 movq %rsp, %rbp + 0x41, 0x57, //0x00000534 pushq %r15 + 0x41, 0x56, //0x00000536 pushq %r14 + 0x41, 0x55, //0x00000538 pushq %r13 + 0x41, 0x54, //0x0000053a pushq %r12 + 0x53, //0x0000053c pushq %rbx + 0x48, 0x83, 0xec, 0x68, //0x0000053d subq $104, %rsp + 0x48, 0x85, 0xd2, //0x00000541 testq %rdx, %rdx + 0x0f, 0x84, 0x3e, 0x11, 0x00, 0x00, //0x00000544 je LBB1_282 + 0x48, 0x8b, 0x1f, //0x0000054a movq (%rdi), %rbx + 0x48, 0x8b, 0x47, 0x08, //0x0000054d movq $8(%rdi), %rax + 0x48, 0x01, 0xd8, //0x00000551 addq %rbx, %rax + 0x48, 0x89, 0xbd, 0x70, 0xff, 0xff, 0xff, //0x00000554 movq %rdi, $-144(%rbp) + 0x48, 0x03, 0x5f, 0x10, //0x0000055b addq $16(%rdi), %rbx + 0x48, 0x89, 0x5d, 0x90, //0x0000055f movq %rbx, $-112(%rbp) + 0x48, 0x89, 0x55, 0x88, //0x00000563 movq %rdx, $-120(%rbp) + 0x48, 0x8d, 0x1c, 0x16, //0x00000567 leaq (%rsi,%rdx), %rbx + 0xf6, 0xc1, 0x01, //0x0000056b testb $1, %cl + 0x48, 0x8d, 0x15, 0xcb, 0x45, 0x00, 0x00, //0x0000056e leaq $17867(%rip), %rdx /* _VecDecodeCharsetStd+0(%rip) */ + 0x48, 0x8d, 0x3d, 0x44, 0x47, 0x00, 0x00, //0x00000575 leaq $18244(%rip), %rdi /* _VecDecodeCharsetURL+0(%rip) */ + 0x48, 0x0f, 0x44, 0xfa, //0x0000057c cmoveq %rdx, %rdi + 0x48, 0x89, 0x7d, 0xc0, //0x00000580 movq %rdi, $-64(%rbp) + 0x48, 0x8d, 0x15, 0x35, 0x45, 0x00, 0x00, //0x00000584 leaq $17717(%rip), %rdx /* _VecDecodeTableStd+0(%rip) */ + 0x4c, 0x8d, 0x0d, 0xae, 0x46, 0x00, 0x00, //0x0000058b leaq $18094(%rip), %r9 /* _VecDecodeTableURL+0(%rip) */ + 0x4c, 0x0f, 0x44, 0xca, //0x00000592 cmoveq %rdx, %r9 + 0x48, 0x89, 0x85, 0x78, 0xff, 0xff, 0xff, //0x00000596 movq %rax, $-136(%rbp) + 0x48, 0x89, 0x45, 0xb0, //0x0000059d movq %rax, $-80(%rbp) + 0x48, 0x89, 0x75, 0xa8, //0x000005a1 movq %rsi, $-88(%rbp) + 0x49, 0x89, 0xf7, //0x000005a5 movq %rsi, %r15 + 0x89, 0x4d, 0xbc, //0x000005a8 movl %ecx, $-68(%rbp) + 0xf6, 0xc1, 0x04, //0x000005ab testb $4, %cl + 0x48, 0x89, 0x5d, 0xd0, //0x000005ae movq %rbx, $-48(%rbp) + 0x0f, 0x85, 0xd7, 0x10, 0x00, 0x00, //0x000005b2 jne LBB1_283 + //0x000005b8 LBB1_2 + 0x48, 0x8b, 0x45, 0x90, //0x000005b8 movq $-112(%rbp), %rax + 0x48, 0x83, 0xc0, 0xf8, //0x000005bc addq $-8, %rax + 0x48, 0x89, 0x45, 0xc8, //0x000005c0 movq %rax, $-56(%rbp) + 0x48, 0x3b, 0x45, 0xb0, //0x000005c4 cmpq $-80(%rbp), %rax + 0x0f, 0x82, 0xfe, 0x22, 0x00, 0x00, //0x000005c8 jb LBB1_574 + 0x48, 0x8d, 0x43, 0xf8, //0x000005ce leaq $-8(%rbx), %rax + 0x48, 0x89, 0x45, 0xa0, //0x000005d2 movq %rax, $-96(%rbp) + 0x4c, 0x39, 0xf8, //0x000005d6 cmpq %r15, %rax + 0x0f, 0x82, 0xed, 0x22, 0x00, 0x00, //0x000005d9 jb LBB1_574 + 0x48, 0x8b, 0x45, 0xa8, //0x000005df movq $-88(%rbp), %rax + 0x48, 0x8b, 0x4d, 0x88, //0x000005e3 movq $-120(%rbp), %rcx + 0x48, 0x8d, 0x54, 0x01, 0xfe, //0x000005e7 leaq $-2(%rcx,%rax), %rdx + 0x48, 0x89, 0x55, 0x80, //0x000005ec movq %rdx, $-128(%rbp) + 0x48, 0x8d, 0x44, 0x01, 0xfd, //0x000005f0 leaq $-3(%rcx,%rax), %rax + 0x48, 0x89, 0x45, 0x98, //0x000005f5 movq %rax, $-104(%rbp) + 0x4d, 0x89, 0xf9, //0x000005f9 movq %r15, %r9 + 0xe9, 0x71, 0x00, 0x00, 0x00, //0x000005fc jmp LBB1_5 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000601 .p2align 4, 0x90 + //0x00000610 LBB1_6 + 0x49, 0xc1, 0xe3, 0x3a, //0x00000610 shlq $58, %r11 + 0x49, 0xc1, 0xe0, 0x34, //0x00000614 shlq $52, %r8 + 0x4d, 0x09, 0xd8, //0x00000618 orq %r11, %r8 + 0x49, 0xc1, 0xe6, 0x2e, //0x0000061b shlq $46, %r14 + 0x48, 0xc1, 0xe1, 0x28, //0x0000061f shlq $40, %rcx + 0x4c, 0x09, 0xf1, //0x00000623 orq %r14, %rcx + 0x4c, 0x09, 0xc1, //0x00000626 orq %r8, %rcx + 0x49, 0xc1, 0xe2, 0x22, //0x00000629 shlq $34, %r10 + 0x48, 0xc1, 0xe6, 0x1c, //0x0000062d shlq $28, %rsi + 0x4c, 0x09, 0xd6, //0x00000631 orq %r10, %rsi + 0x48, 0xc1, 0xe3, 0x16, //0x00000634 shlq $22, %rbx + 0x48, 0x09, 0xf3, //0x00000638 orq %rsi, %rbx + 0x48, 0x09, 0xcb, //0x0000063b orq %rcx, %rbx + 0x48, 0xc1, 0xe0, 0x10, //0x0000063e shlq $16, %rax + 0x48, 0x09, 0xd8, //0x00000642 orq %rbx, %rax + 0x48, 0x0f, 0xc8, //0x00000645 bswapq %rax + 0x48, 0x8b, 0x4d, 0xb0, //0x00000648 movq $-80(%rbp), %rcx + 0x48, 0x89, 0x01, //0x0000064c movq %rax, (%rcx) + 0x49, 0x83, 0xc1, 0x08, //0x0000064f addq $8, %r9 + 0x48, 0x83, 0xc1, 0x06, //0x00000653 addq $6, %rcx + 0x48, 0x89, 0x4d, 0xb0, //0x00000657 movq %rcx, $-80(%rbp) + 0x48, 0x39, 0x4d, 0xc8, //0x0000065b cmpq %rcx, $-56(%rbp) + 0x0f, 0x82, 0x81, 0x22, 0x00, 0x00, //0x0000065f jb LBB1_572 + //0x00000665 LBB1_223 + 0x4d, 0x89, 0xcf, //0x00000665 movq %r9, %r15 + 0x4c, 0x39, 0x4d, 0xa0, //0x00000668 cmpq %r9, $-96(%rbp) + 0x0f, 0x82, 0x74, 0x22, 0x00, 0x00, //0x0000066c jb LBB1_572 + //0x00000672 LBB1_5 + 0x41, 0x0f, 0xb6, 0x01, //0x00000672 movzbl (%r9), %eax + 0x48, 0x8b, 0x55, 0xc0, //0x00000676 movq $-64(%rbp), %rdx + 0x44, 0x0f, 0xb6, 0x1c, 0x02, //0x0000067a movzbl (%rdx,%rax), %r11d + 0x41, 0x0f, 0xb6, 0x41, 0x01, //0x0000067f movzbl $1(%r9), %eax + 0x44, 0x0f, 0xb6, 0x04, 0x02, //0x00000684 movzbl (%rdx,%rax), %r8d + 0x41, 0x0f, 0xb6, 0x41, 0x02, //0x00000689 movzbl $2(%r9), %eax + 0x44, 0x0f, 0xb6, 0x34, 0x02, //0x0000068e movzbl (%rdx,%rax), %r14d + 0x41, 0x0f, 0xb6, 0x41, 0x03, //0x00000693 movzbl $3(%r9), %eax + 0x0f, 0xb6, 0x0c, 0x02, //0x00000698 movzbl (%rdx,%rax), %ecx + 0x41, 0x0f, 0xb6, 0x41, 0x04, //0x0000069c movzbl $4(%r9), %eax + 0x44, 0x0f, 0xb6, 0x14, 0x02, //0x000006a1 movzbl (%rdx,%rax), %r10d + 0x41, 0x0f, 0xb6, 0x41, 0x05, //0x000006a6 movzbl $5(%r9), %eax + 0x0f, 0xb6, 0x34, 0x02, //0x000006ab movzbl (%rdx,%rax), %esi + 0x41, 0x0f, 0xb6, 0x41, 0x06, //0x000006af movzbl $6(%r9), %eax + 0x0f, 0xb6, 0x1c, 0x02, //0x000006b4 movzbl (%rdx,%rax), %ebx + 0x41, 0x0f, 0xb6, 0x41, 0x07, //0x000006b8 movzbl $7(%r9), %eax + 0x0f, 0xb6, 0x04, 0x02, //0x000006bd movzbl (%rdx,%rax), %eax + 0x45, 0x89, 0xc5, //0x000006c1 movl %r8d, %r13d + 0x45, 0x09, 0xdd, //0x000006c4 orl %r11d, %r13d + 0x41, 0x89, 0xcc, //0x000006c7 movl %ecx, %r12d + 0x45, 0x09, 0xf4, //0x000006ca orl %r14d, %r12d + 0x45, 0x09, 0xec, //0x000006cd orl %r13d, %r12d + 0x89, 0xf7, //0x000006d0 movl %esi, %edi + 0x44, 0x09, 0xd7, //0x000006d2 orl %r10d, %edi + 0x89, 0xda, //0x000006d5 movl %ebx, %edx + 0x09, 0xfa, //0x000006d7 orl %edi, %edx + 0x44, 0x09, 0xe2, //0x000006d9 orl %r12d, %edx + 0x89, 0xc7, //0x000006dc movl %eax, %edi + 0x09, 0xd7, //0x000006de orl %edx, %edi + 0x40, 0x80, 0xff, 0xff, //0x000006e0 cmpb $-1, %dil + 0x0f, 0x85, 0x26, 0xff, 0xff, 0xff, //0x000006e4 jne LBB1_6 + 0x48, 0x8b, 0x5d, 0xd0, //0x000006ea movq $-48(%rbp), %rbx + 0x4c, 0x39, 0xcb, //0x000006ee cmpq %r9, %rbx + 0x44, 0x8b, 0x55, 0xbc, //0x000006f1 movl $-68(%rbp), %r10d + 0x0f, 0x86, 0x15, 0x02, 0x00, 0x00, //0x000006f5 jbe LBB1_39 + 0x41, 0xf6, 0xc2, 0x08, //0x000006fb testb $8, %r10b + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x000006ff je LBB1_11 + 0x4c, 0x89, 0xca, //0x00000705 movq %r9, %rdx + 0xe9, 0xbf, 0x00, 0x00, 0x00, //0x00000708 jmp LBB1_22 + 0x90, 0x90, 0x90, //0x0000070d .p2align 4, 0x90 + //0x00000710 LBB1_10 + 0x49, 0xff, 0xc1, //0x00000710 incq %r9 + 0x49, 0x39, 0xd9, //0x00000713 cmpq %rbx, %r9 + 0x0f, 0x83, 0xde, 0x01, 0x00, 0x00, //0x00000716 jae LBB1_37 + //0x0000071c LBB1_11 + 0x41, 0x0f, 0xb6, 0x09, //0x0000071c movzbl (%r9), %ecx + 0x48, 0x83, 0xf9, 0x0d, //0x00000720 cmpq $13, %rcx + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x00000724 je LBB1_10 + 0x80, 0xf9, 0x0a, //0x0000072a cmpb $10, %cl + 0x0f, 0x84, 0xdd, 0xff, 0xff, 0xff, //0x0000072d je LBB1_10 + 0x48, 0x8b, 0x45, 0xc0, //0x00000733 movq $-64(%rbp), %rax + 0x0f, 0xb6, 0x14, 0x08, //0x00000737 movzbl (%rax,%rcx), %edx + 0x49, 0xff, 0xc1, //0x0000073b incq %r9 + 0x81, 0xfa, 0xff, 0x00, 0x00, 0x00, //0x0000073e cmpl $255, %edx + 0x0f, 0x84, 0x81, 0x02, 0x00, 0x00, //0x00000744 je LBB1_51 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000074a movl $1, %r11d + 0x49, 0x39, 0xd9, //0x00000750 cmpq %rbx, %r9 + 0x0f, 0x82, 0x13, 0x00, 0x00, 0x00, //0x00000753 jb LBB1_16 + 0xe9, 0x8b, 0x0b, 0x00, 0x00, //0x00000759 jmp LBB1_209 + 0x90, 0x90, //0x0000075e .p2align 4, 0x90 + //0x00000760 LBB1_15 + 0x49, 0xff, 0xc1, //0x00000760 incq %r9 + 0x49, 0x39, 0xd9, //0x00000763 cmpq %rbx, %r9 + 0x0f, 0x83, 0x3d, 0x04, 0x00, 0x00, //0x00000766 jae LBB1_82 + //0x0000076c LBB1_16 + 0x41, 0x0f, 0xb6, 0x09, //0x0000076c movzbl (%r9), %ecx + 0x48, 0x83, 0xf9, 0x0d, //0x00000770 cmpq $13, %rcx + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x00000774 je LBB1_15 + 0x80, 0xf9, 0x0a, //0x0000077a cmpb $10, %cl + 0x0f, 0x84, 0xdd, 0xff, 0xff, 0xff, //0x0000077d je LBB1_15 + 0x48, 0x8b, 0x45, 0xc0, //0x00000783 movq $-64(%rbp), %rax + 0x0f, 0xb6, 0x04, 0x08, //0x00000787 movzbl (%rax,%rcx), %eax + 0x49, 0xff, 0xc1, //0x0000078b incq %r9 + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x0000078e cmpl $255, %eax + 0x0f, 0x84, 0x30, 0x06, 0x00, 0x00, //0x00000793 je LBB1_115 + 0xc1, 0xe2, 0x06, //0x00000799 shll $6, %edx + 0x09, 0xc2, //0x0000079c orl %eax, %edx + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x0000079e movl $2, %r11d + 0x49, 0x39, 0xd9, //0x000007a4 cmpq %rbx, %r9 + 0x0f, 0x82, 0x95, 0x01, 0x00, 0x00, //0x000007a7 jb LBB1_41 + 0xe9, 0x37, 0x0b, 0x00, 0x00, //0x000007ad jmp LBB1_209 + //0x000007b2 LBB1_20 + 0x3c, 0x6e, //0x000007b2 cmpb $110, %al + 0x0f, 0x85, 0xd6, 0x01, 0x00, 0x00, //0x000007b4 jne LBB1_46 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000007ba .p2align 4, 0x90 + //0x000007c0 LBB1_21 + 0x4c, 0x89, 0xca, //0x000007c0 movq %r9, %rdx + 0x49, 0x39, 0xd9, //0x000007c3 cmpq %rbx, %r9 + 0x0f, 0x83, 0x2e, 0x01, 0x00, 0x00, //0x000007c6 jae LBB1_37 + //0x000007cc LBB1_22 + 0x48, 0x8d, 0x42, 0x01, //0x000007cc leaq $1(%rdx), %rax + 0x0f, 0xb6, 0x0a, //0x000007d0 movzbl (%rdx), %ecx + 0x80, 0xf9, 0x5c, //0x000007d3 cmpb $92, %cl + 0x0f, 0x85, 0x04, 0x01, 0x00, 0x00, //0x000007d6 jne LBB1_35 + 0x4c, 0x8d, 0x4a, 0x02, //0x000007dc leaq $2(%rdx), %r9 + 0xb1, 0xff, //0x000007e0 movb $-1, %cl + 0x49, 0x39, 0xd9, //0x000007e2 cmpq %rbx, %r9 + 0x0f, 0x87, 0x9d, 0x01, 0x00, 0x00, //0x000007e5 ja LBB1_45 + 0x0f, 0xb6, 0x00, //0x000007eb movzbl (%rax), %eax + 0x3c, 0x71, //0x000007ee cmpb $113, %al + 0x0f, 0x8e, 0xbc, 0xff, 0xff, 0xff, //0x000007f0 jle LBB1_20 + 0x3c, 0x72, //0x000007f6 cmpb $114, %al + 0x0f, 0x84, 0xc2, 0xff, 0xff, 0xff, //0x000007f8 je LBB1_21 + 0x3c, 0x75, //0x000007fe cmpb $117, %al + 0x0f, 0x85, 0x94, 0x01, 0x00, 0x00, //0x00000800 jne LBB1_48 + 0x48, 0x89, 0xd8, //0x00000806 movq %rbx, %rax + 0x4c, 0x29, 0xc8, //0x00000809 subq %r9, %rax + 0x48, 0x83, 0xf8, 0x04, //0x0000080c cmpq $4, %rax + 0x0f, 0x8c, 0x84, 0x01, 0x00, 0x00, //0x00000810 jl LBB1_48 + 0x41, 0x8b, 0x01, //0x00000816 movl (%r9), %eax + 0x89, 0xc6, //0x00000819 movl %eax, %esi + 0xf7, 0xd6, //0x0000081b notl %esi + 0x8d, 0xb8, 0xd0, 0xcf, 0xcf, 0xcf, //0x0000081d leal $-808464432(%rax), %edi + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x00000823 andl $-2139062144, %esi + 0x85, 0xfe, //0x00000829 testl %edi, %esi + 0x0f, 0x85, 0x69, 0x01, 0x00, 0x00, //0x0000082b jne LBB1_48 + 0x8d, 0xb8, 0x19, 0x19, 0x19, 0x19, //0x00000831 leal $421075225(%rax), %edi + 0x09, 0xc7, //0x00000837 orl %eax, %edi + 0xf7, 0xc7, 0x80, 0x80, 0x80, 0x80, //0x00000839 testl $-2139062144, %edi + 0x0f, 0x85, 0x55, 0x01, 0x00, 0x00, //0x0000083f jne LBB1_48 + 0x89, 0xc7, //0x00000845 movl %eax, %edi + 0x81, 0xe7, 0x7f, 0x7f, 0x7f, 0x7f, //0x00000847 andl $2139062143, %edi + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x0000084d movl $-1061109568, %ebx + 0x29, 0xfb, //0x00000852 subl %edi, %ebx + 0x44, 0x8d, 0x87, 0x46, 0x46, 0x46, 0x46, //0x00000854 leal $1179010630(%rdi), %r8d + 0x21, 0xf3, //0x0000085b andl %esi, %ebx + 0x44, 0x85, 0xc3, //0x0000085d testl %r8d, %ebx + 0x48, 0x8b, 0x5d, 0xd0, //0x00000860 movq $-48(%rbp), %rbx + 0x0f, 0x85, 0x30, 0x01, 0x00, 0x00, //0x00000864 jne LBB1_48 + 0xbb, 0xe0, 0xe0, 0xe0, 0xe0, //0x0000086a movl $-522133280, %ebx + 0x29, 0xfb, //0x0000086f subl %edi, %ebx + 0x81, 0xc7, 0x39, 0x39, 0x39, 0x39, //0x00000871 addl $960051513, %edi + 0x21, 0xde, //0x00000877 andl %ebx, %esi + 0x48, 0x8b, 0x5d, 0xd0, //0x00000879 movq $-48(%rbp), %rbx + 0x85, 0xfe, //0x0000087d testl %edi, %esi + 0x0f, 0x85, 0x15, 0x01, 0x00, 0x00, //0x0000087f jne LBB1_48 + 0x0f, 0xc8, //0x00000885 bswapl %eax + 0x89, 0xc1, //0x00000887 movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00000889 shrl $4, %ecx + 0xf7, 0xd1, //0x0000088c notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x0000088e andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00000894 leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000897 andl $252645135, %eax + 0x01, 0xc8, //0x0000089c addl %ecx, %eax + 0x89, 0xc1, //0x0000089e movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x000008a0 shrl $4, %ecx + 0x09, 0xc1, //0x000008a3 orl %eax, %ecx + 0x89, 0xc8, //0x000008a5 movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x000008a7 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x000008aa andl $65280, %eax + 0x89, 0xce, //0x000008af movl %ecx, %esi + 0x81, 0xe6, 0x80, 0x00, 0x00, 0x00, //0x000008b1 andl $128, %esi + 0x09, 0xc6, //0x000008b7 orl %eax, %esi + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x000008b9 je LBB1_34 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x000008bf movl $255, %ecx + //0x000008c4 LBB1_34 + 0x48, 0x83, 0xc2, 0x06, //0x000008c4 addq $6, %rdx + 0x49, 0x89, 0xd1, //0x000008c8 movq %rdx, %r9 + 0x80, 0xf9, 0x0d, //0x000008cb cmpb $13, %cl + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x000008ce jne LBB1_36 + 0xe9, 0xe7, 0xfe, 0xff, 0xff, //0x000008d4 jmp LBB1_21 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000008d9 .p2align 4, 0x90 + //0x000008e0 LBB1_35 + 0x49, 0x89, 0xc1, //0x000008e0 movq %rax, %r9 + 0x80, 0xf9, 0x0d, //0x000008e3 cmpb $13, %cl + 0x0f, 0x84, 0xd4, 0xfe, 0xff, 0xff, //0x000008e6 je LBB1_21 + //0x000008ec LBB1_36 + 0x80, 0xf9, 0x0a, //0x000008ec cmpb $10, %cl + 0x0f, 0x84, 0xcb, 0xfe, 0xff, 0xff, //0x000008ef je LBB1_21 + 0xe9, 0xa0, 0x00, 0x00, 0x00, //0x000008f5 jmp LBB1_48 + //0x000008fa LBB1_37 + 0x31, 0xd2, //0x000008fa xorl %edx, %edx + 0x45, 0x31, 0xdb, //0x000008fc xorl %r11d, %r11d + //0x000008ff LBB1_38 + 0x45, 0x85, 0xdb, //0x000008ff testl %r11d, %r11d + 0x0f, 0x85, 0xe1, 0x09, 0x00, 0x00, //0x00000902 jne LBB1_209 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000908 .p2align 4, 0x90 + //0x00000910 LBB1_39 + 0x48, 0x8b, 0x4d, 0xb0, //0x00000910 movq $-80(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb0, //0x00000914 movq %rcx, $-80(%rbp) + 0x48, 0x39, 0x4d, 0xc8, //0x00000918 cmpq %rcx, $-56(%rbp) + 0x0f, 0x83, 0x43, 0xfd, 0xff, 0xff, //0x0000091c jae LBB1_223 + 0xe9, 0xbf, 0x1f, 0x00, 0x00, //0x00000922 jmp LBB1_572 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000927 .p2align 4, 0x90 + //0x00000930 LBB1_40 + 0x49, 0xff, 0xc1, //0x00000930 incq %r9 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00000933 movl $2, %r11d + 0x49, 0x39, 0xd9, //0x00000939 cmpq %rbx, %r9 + 0x0f, 0x83, 0xbd, 0xff, 0xff, 0xff, //0x0000093c jae LBB1_38 + //0x00000942 LBB1_41 + 0x41, 0x0f, 0xb6, 0x09, //0x00000942 movzbl (%r9), %ecx + 0x48, 0x83, 0xf9, 0x0d, //0x00000946 cmpq $13, %rcx + 0x0f, 0x84, 0xe0, 0xff, 0xff, 0xff, //0x0000094a je LBB1_40 + 0x80, 0xf9, 0x0a, //0x00000950 cmpb $10, %cl + 0x0f, 0x84, 0xd7, 0xff, 0xff, 0xff, //0x00000953 je LBB1_40 + 0x48, 0x8b, 0x45, 0xc0, //0x00000959 movq $-64(%rbp), %rax + 0x0f, 0xb6, 0x04, 0x08, //0x0000095d movzbl (%rax,%rcx), %eax + 0x49, 0xff, 0xc1, //0x00000961 incq %r9 + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00000964 cmpl $255, %eax + 0x0f, 0x84, 0xea, 0x08, 0x00, 0x00, //0x00000969 je LBB1_176 + 0xc1, 0xe2, 0x06, //0x0000096f shll $6, %edx + 0x09, 0xc2, //0x00000972 orl %eax, %edx + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00000974 movl $3, %r11d + 0x49, 0x39, 0xd9, //0x0000097a cmpq %rbx, %r9 + 0x0f, 0x82, 0xba, 0x03, 0x00, 0x00, //0x0000097d jb LBB1_105 + 0xe9, 0x61, 0x09, 0x00, 0x00, //0x00000983 jmp LBB1_209 + //0x00000988 LBB1_45 + 0x49, 0x89, 0xc1, //0x00000988 movq %rax, %r9 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x0000098b jmp LBB1_48 + //0x00000990 LBB1_46 + 0x3c, 0x2f, //0x00000990 cmpb $47, %al + 0x0f, 0x85, 0x02, 0x00, 0x00, 0x00, //0x00000992 jne LBB1_48 + 0x89, 0xc1, //0x00000998 movl %eax, %ecx + //0x0000099a LBB1_48 + 0x0f, 0xb6, 0xc1, //0x0000099a movzbl %cl, %eax + 0x48, 0x8b, 0x55, 0xc0, //0x0000099d movq $-64(%rbp), %rdx + 0x0f, 0xb6, 0x14, 0x02, //0x000009a1 movzbl (%rdx,%rax), %edx + 0x81, 0xfa, 0xff, 0x00, 0x00, 0x00, //0x000009a5 cmpl $255, %edx + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x000009ab je LBB1_51 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000009b1 movl $1, %r11d + 0x49, 0x39, 0xd9, //0x000009b7 cmpq %rbx, %r9 + 0x0f, 0x83, 0x29, 0x09, 0x00, 0x00, //0x000009ba jae LBB1_209 + 0x41, 0x89, 0xd4, //0x000009c0 movl %edx, %r12d + 0x4c, 0x89, 0xca, //0x000009c3 movq %r9, %rdx + 0xe9, 0xcd, 0x00, 0x00, 0x00, //0x000009c6 jmp LBB1_67 + //0x000009cb LBB1_51 + 0x45, 0x31, 0xe4, //0x000009cb xorl %r12d, %r12d + 0x45, 0x31, 0xdb, //0x000009ce xorl %r11d, %r11d + //0x000009d1 LBB1_52 + 0x41, 0xf6, 0xc2, 0x02, //0x000009d1 testb $2, %r10b + 0x0f, 0x85, 0x3a, 0x09, 0x00, 0x00, //0x000009d5 jne LBB1_212 + 0x41, 0x83, 0xfb, 0x02, //0x000009db cmpl $2, %r11d + 0x0f, 0x82, 0x30, 0x09, 0x00, 0x00, //0x000009df jb LBB1_212 + 0x80, 0xf9, 0x3d, //0x000009e5 cmpb $61, %cl + 0x0f, 0x85, 0x27, 0x09, 0x00, 0x00, //0x000009e8 jne LBB1_212 + 0x41, 0xbe, 0x05, 0x00, 0x00, 0x00, //0x000009ee movl $5, %r14d + 0x45, 0x29, 0xde, //0x000009f4 subl %r11d, %r14d + 0x41, 0xf6, 0xc2, 0x08, //0x000009f7 testb $8, %r10b + 0x0f, 0x85, 0xb3, 0x01, 0x00, 0x00, //0x000009fb jne LBB1_83 + 0x4c, 0x39, 0x4d, 0xd0, //0x00000a01 cmpq %r9, $-48(%rbp) + 0x0f, 0x86, 0x6f, 0x09, 0x00, 0x00, //0x00000a05 jbe LBB1_216 + 0x49, 0x8d, 0x49, 0x03, //0x00000a0b leaq $3(%r9), %rcx + 0x48, 0x8b, 0x5d, 0x80, //0x00000a0f movq $-128(%rbp), %rbx + 0x4c, 0x29, 0xcb, //0x00000a13 subq %r9, %rbx + 0x49, 0x8d, 0x51, 0x04, //0x00000a16 leaq $4(%r9), %rdx + 0x48, 0x8b, 0x7d, 0x98, //0x00000a1a movq $-104(%rbp), %rdi + 0x4c, 0x29, 0xcf, //0x00000a1e subq %r9, %rdi + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00000a21 jmp LBB1_59 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000a26 .p2align 4, 0x90 + //0x00000a30 LBB1_58 + 0x49, 0xff, 0xc1, //0x00000a30 incq %r9 + 0x48, 0xff, 0xc1, //0x00000a33 incq %rcx + 0x48, 0xff, 0xcb, //0x00000a36 decq %rbx + 0x48, 0xff, 0xc2, //0x00000a39 incq %rdx + 0x48, 0xff, 0xcf, //0x00000a3c decq %rdi + 0x4c, 0x39, 0x4d, 0xd0, //0x00000a3f cmpq %r9, $-48(%rbp) + 0x0f, 0x84, 0x2d, 0x09, 0x00, 0x00, //0x00000a43 je LBB1_215 + //0x00000a49 LBB1_59 + 0x41, 0x0f, 0xb6, 0x01, //0x00000a49 movzbl (%r9), %eax + 0x3c, 0x0a, //0x00000a4d cmpb $10, %al + 0x0f, 0x84, 0xdb, 0xff, 0xff, 0xff, //0x00000a4f je LBB1_58 + 0x3c, 0x0d, //0x00000a55 cmpb $13, %al + 0x0f, 0x84, 0xd3, 0xff, 0xff, 0xff, //0x00000a57 je LBB1_58 + 0x3c, 0x3d, //0x00000a5d cmpb $61, %al + 0x0f, 0x85, 0x04, 0x05, 0x00, 0x00, //0x00000a5f jne LBB1_144 + 0x49, 0xff, 0xc1, //0x00000a65 incq %r9 + 0x41, 0x83, 0xfe, 0x02, //0x00000a68 cmpl $2, %r14d + 0x0f, 0x84, 0xa3, 0x08, 0x00, 0x00, //0x00000a6c je LBB1_212 + 0x4c, 0x39, 0x4d, 0xd0, //0x00000a72 cmpq %r9, $-48(%rbp) + 0x0f, 0x87, 0x15, 0x03, 0x00, 0x00, //0x00000a76 ja LBB1_110 + 0xe9, 0xf9, 0x08, 0x00, 0x00, //0x00000a7c jmp LBB1_216 + //0x00000a81 LBB1_64 + 0x3c, 0x6e, //0x00000a81 cmpb $110, %al + 0x0f, 0x85, 0x4e, 0x03, 0x00, 0x00, //0x00000a83 jne LBB1_116 + //0x00000a89 LBB1_65 + 0x4d, 0x89, 0xc1, //0x00000a89 movq %r8, %r9 + //0x00000a8c LBB1_66 + 0x4c, 0x89, 0xca, //0x00000a8c movq %r9, %rdx + 0x49, 0x39, 0xd9, //0x00000a8f cmpq %rbx, %r9 + 0x0f, 0x83, 0x85, 0x02, 0x00, 0x00, //0x00000a92 jae LBB1_103 + //0x00000a98 LBB1_67 + 0x4c, 0x8d, 0x4a, 0x01, //0x00000a98 leaq $1(%rdx), %r9 + 0x0f, 0xb6, 0x0a, //0x00000a9c movzbl (%rdx), %ecx + 0x80, 0xf9, 0x5c, //0x00000a9f cmpb $92, %cl + 0x0f, 0x85, 0xea, 0x00, 0x00, 0x00, //0x00000aa2 jne LBB1_80 + 0x4c, 0x8d, 0x42, 0x02, //0x00000aa8 leaq $2(%rdx), %r8 + 0xb1, 0xff, //0x00000aac movb $-1, %cl + 0x49, 0x39, 0xd8, //0x00000aae cmpq %rbx, %r8 + 0x0f, 0x87, 0x31, 0x03, 0x00, 0x00, //0x00000ab1 ja LBB1_119 + 0x41, 0x0f, 0xb6, 0x01, //0x00000ab7 movzbl (%r9), %eax + 0x3c, 0x71, //0x00000abb cmpb $113, %al + 0x0f, 0x8e, 0xbe, 0xff, 0xff, 0xff, //0x00000abd jle LBB1_64 + 0x3c, 0x72, //0x00000ac3 cmpb $114, %al + 0x0f, 0x84, 0xbe, 0xff, 0xff, 0xff, //0x00000ac5 je LBB1_65 + 0x3c, 0x75, //0x00000acb cmpb $117, %al + 0x0f, 0x85, 0x0e, 0x03, 0x00, 0x00, //0x00000acd jne LBB1_118 + 0x48, 0x8b, 0x45, 0xd0, //0x00000ad3 movq $-48(%rbp), %rax + 0x4c, 0x29, 0xc0, //0x00000ad7 subq %r8, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00000ada cmpq $4, %rax + 0x0f, 0x8c, 0xfd, 0x02, 0x00, 0x00, //0x00000ade jl LBB1_118 + 0x41, 0x8b, 0x18, //0x00000ae4 movl (%r8), %ebx + 0x89, 0xde, //0x00000ae7 movl %ebx, %esi + 0xf7, 0xd6, //0x00000ae9 notl %esi + 0x8d, 0x83, 0xd0, 0xcf, 0xcf, 0xcf, //0x00000aeb leal $-808464432(%rbx), %eax + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x00000af1 andl $-2139062144, %esi + 0x85, 0xc6, //0x00000af7 testl %eax, %esi + 0x0f, 0x85, 0xe2, 0x02, 0x00, 0x00, //0x00000af9 jne LBB1_118 + 0x8d, 0x83, 0x19, 0x19, 0x19, 0x19, //0x00000aff leal $421075225(%rbx), %eax + 0x09, 0xd8, //0x00000b05 orl %ebx, %eax + 0xa9, 0x80, 0x80, 0x80, 0x80, //0x00000b07 testl $-2139062144, %eax + 0x0f, 0x85, 0xcf, 0x02, 0x00, 0x00, //0x00000b0c jne LBB1_118 + 0x89, 0xd8, //0x00000b12 movl %ebx, %eax + 0x25, 0x7f, 0x7f, 0x7f, 0x7f, //0x00000b14 andl $2139062143, %eax + 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, //0x00000b19 movl $-1061109568, %edi + 0x29, 0xc7, //0x00000b1e subl %eax, %edi + 0x44, 0x8d, 0x88, 0x46, 0x46, 0x46, 0x46, //0x00000b20 leal $1179010630(%rax), %r9d + 0x21, 0xf7, //0x00000b27 andl %esi, %edi + 0x44, 0x85, 0xcf, //0x00000b29 testl %r9d, %edi + 0x0f, 0x85, 0xaf, 0x02, 0x00, 0x00, //0x00000b2c jne LBB1_118 + 0xbf, 0xe0, 0xe0, 0xe0, 0xe0, //0x00000b32 movl $-522133280, %edi + 0x29, 0xc7, //0x00000b37 subl %eax, %edi + 0x05, 0x39, 0x39, 0x39, 0x39, //0x00000b39 addl $960051513, %eax + 0x21, 0xfe, //0x00000b3e andl %edi, %esi + 0x85, 0xc6, //0x00000b40 testl %eax, %esi + 0x0f, 0x85, 0x99, 0x02, 0x00, 0x00, //0x00000b42 jne LBB1_118 + 0x0f, 0xcb, //0x00000b48 bswapl %ebx + 0x89, 0xd8, //0x00000b4a movl %ebx, %eax + 0xc1, 0xe8, 0x04, //0x00000b4c shrl $4, %eax + 0xf7, 0xd0, //0x00000b4f notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x00000b51 andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00000b56 leal (%rax,%rax,8), %eax + 0x81, 0xe3, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000b59 andl $252645135, %ebx + 0x01, 0xc3, //0x00000b5f addl %eax, %ebx + 0x89, 0xd9, //0x00000b61 movl %ebx, %ecx + 0xc1, 0xe9, 0x04, //0x00000b63 shrl $4, %ecx + 0x09, 0xd9, //0x00000b66 orl %ebx, %ecx + 0x89, 0xc8, //0x00000b68 movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x00000b6a shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00000b6d andl $65280, %eax + 0x89, 0xce, //0x00000b72 movl %ecx, %esi + 0x81, 0xe6, 0x80, 0x00, 0x00, 0x00, //0x00000b74 andl $128, %esi + 0x09, 0xc6, //0x00000b7a orl %eax, %esi + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00000b7c je LBB1_79 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x00000b82 movl $255, %ecx + //0x00000b87 LBB1_79 + 0x48, 0x83, 0xc2, 0x06, //0x00000b87 addq $6, %rdx + 0x49, 0x89, 0xd1, //0x00000b8b movq %rdx, %r9 + 0x48, 0x8b, 0x5d, 0xd0, //0x00000b8e movq $-48(%rbp), %rbx + //0x00000b92 LBB1_80 + 0x80, 0xf9, 0x0a, //0x00000b92 cmpb $10, %cl + 0x0f, 0x84, 0xf1, 0xfe, 0xff, 0xff, //0x00000b95 je LBB1_66 + 0x80, 0xf9, 0x0d, //0x00000b9b cmpb $13, %cl + 0x0f, 0x84, 0xe8, 0xfe, 0xff, 0xff, //0x00000b9e je LBB1_66 + 0xe9, 0x3f, 0x02, 0x00, 0x00, //0x00000ba4 jmp LBB1_119 + //0x00000ba9 LBB1_82 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000ba9 movl $1, %r11d + 0xe9, 0x4b, 0xfd, 0xff, 0xff, //0x00000baf jmp LBB1_38 + //0x00000bb4 LBB1_83 + 0x48, 0x8b, 0x55, 0xd0, //0x00000bb4 movq $-48(%rbp), %rdx + 0x4c, 0x39, 0xca, //0x00000bb8 cmpq %r9, %rdx + 0x0f, 0x87, 0x28, 0x00, 0x00, 0x00, //0x00000bbb ja LBB1_86 + 0xe9, 0xb4, 0x07, 0x00, 0x00, //0x00000bc1 jmp LBB1_216 + //0x00000bc6 LBB1_102 + 0x48, 0x89, 0xc1, //0x00000bc6 movq %rax, %rcx + 0x49, 0x89, 0xc9, //0x00000bc9 movq %rcx, %r9 + 0x48, 0x39, 0xd1, //0x00000bcc cmpq %rdx, %rcx + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x00000bcf jb LBB1_86 + 0xe9, 0x3b, 0x01, 0x00, 0x00, //0x00000bd5 jmp LBB1_143 + //0x00000bda LBB1_84 + 0x48, 0x89, 0xc8, //0x00000bda movq %rcx, %rax + 0x49, 0x89, 0xc9, //0x00000bdd movq %rcx, %r9 + 0x48, 0x39, 0xd1, //0x00000be0 cmpq %rdx, %rcx + 0x0f, 0x83, 0x2c, 0x01, 0x00, 0x00, //0x00000be3 jae LBB1_143 + //0x00000be9 LBB1_86 + 0x49, 0x8d, 0x41, 0x01, //0x00000be9 leaq $1(%r9), %rax + 0x41, 0x0f, 0xb6, 0x09, //0x00000bed movzbl (%r9), %ecx + 0x80, 0xf9, 0x5c, //0x00000bf1 cmpb $92, %cl + 0x0f, 0x85, 0xe6, 0x00, 0x00, 0x00, //0x00000bf4 jne LBB1_99 + 0x49, 0x8d, 0x49, 0x02, //0x00000bfa leaq $2(%r9), %rcx + 0x48, 0x39, 0xd1, //0x00000bfe cmpq %rdx, %rcx + 0x0f, 0x87, 0x79, 0x0a, 0x00, 0x00, //0x00000c01 ja LBB1_258 + 0x0f, 0xb6, 0x00, //0x00000c07 movzbl (%rax), %eax + 0x3c, 0x6e, //0x00000c0a cmpb $110, %al + 0x0f, 0x84, 0xc8, 0xff, 0xff, 0xff, //0x00000c0c je LBB1_84 + 0x3c, 0x72, //0x00000c12 cmpb $114, %al + 0x0f, 0x84, 0xc0, 0xff, 0xff, 0xff, //0x00000c14 je LBB1_84 + 0x3c, 0x75, //0x00000c1a cmpb $117, %al + 0x0f, 0x85, 0x53, 0x0a, 0x00, 0x00, //0x00000c1c jne LBB1_278 + 0x48, 0x89, 0xd0, //0x00000c22 movq %rdx, %rax + 0x48, 0x29, 0xc8, //0x00000c25 subq %rcx, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00000c28 cmpq $4, %rax + 0x0f, 0x8c, 0x43, 0x0a, 0x00, 0x00, //0x00000c2c jl LBB1_278 + 0x8b, 0x01, //0x00000c32 movl (%rcx), %eax + 0x89, 0xc2, //0x00000c34 movl %eax, %edx + 0xf7, 0xd2, //0x00000c36 notl %edx + 0x8d, 0xb0, 0xd0, 0xcf, 0xcf, 0xcf, //0x00000c38 leal $-808464432(%rax), %esi + 0x81, 0xe2, 0x80, 0x80, 0x80, 0x80, //0x00000c3e andl $-2139062144, %edx + 0x85, 0xf2, //0x00000c44 testl %esi, %edx + 0x0f, 0x85, 0x29, 0x0a, 0x00, 0x00, //0x00000c46 jne LBB1_278 + 0x8d, 0xb0, 0x19, 0x19, 0x19, 0x19, //0x00000c4c leal $421075225(%rax), %esi + 0x09, 0xc6, //0x00000c52 orl %eax, %esi + 0xf7, 0xc6, 0x80, 0x80, 0x80, 0x80, //0x00000c54 testl $-2139062144, %esi + 0x0f, 0x85, 0x15, 0x0a, 0x00, 0x00, //0x00000c5a jne LBB1_278 + 0x89, 0xc6, //0x00000c60 movl %eax, %esi + 0x81, 0xe6, 0x7f, 0x7f, 0x7f, 0x7f, //0x00000c62 andl $2139062143, %esi + 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, //0x00000c68 movl $-1061109568, %edi + 0x29, 0xf7, //0x00000c6d subl %esi, %edi + 0x8d, 0x9e, 0x46, 0x46, 0x46, 0x46, //0x00000c6f leal $1179010630(%rsi), %ebx + 0x21, 0xd7, //0x00000c75 andl %edx, %edi + 0x85, 0xdf, //0x00000c77 testl %ebx, %edi + 0x0f, 0x85, 0xf6, 0x09, 0x00, 0x00, //0x00000c79 jne LBB1_278 + 0xbf, 0xe0, 0xe0, 0xe0, 0xe0, //0x00000c7f movl $-522133280, %edi + 0x29, 0xf7, //0x00000c84 subl %esi, %edi + 0x81, 0xc6, 0x39, 0x39, 0x39, 0x39, //0x00000c86 addl $960051513, %esi + 0x21, 0xfa, //0x00000c8c andl %edi, %edx + 0x85, 0xf2, //0x00000c8e testl %esi, %edx + 0x0f, 0x85, 0xdf, 0x09, 0x00, 0x00, //0x00000c90 jne LBB1_278 + 0x0f, 0xc8, //0x00000c96 bswapl %eax + 0x89, 0xc1, //0x00000c98 movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00000c9a shrl $4, %ecx + 0xf7, 0xd1, //0x00000c9d notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00000c9f andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00000ca5 leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000ca8 andl $252645135, %eax + 0x01, 0xc8, //0x00000cad addl %ecx, %eax + 0x89, 0xc1, //0x00000caf movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00000cb1 shrl $4, %ecx + 0x09, 0xc1, //0x00000cb4 orl %eax, %ecx + 0x89, 0xc8, //0x00000cb6 movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x00000cb8 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00000cbb andl $65280, %eax + 0x89, 0xca, //0x00000cc0 movl %ecx, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x00000cc2 andl $128, %edx + 0x09, 0xc2, //0x00000cc8 orl %eax, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00000cca je LBB1_98 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x00000cd0 movl $255, %ecx + //0x00000cd5 LBB1_98 + 0x49, 0x83, 0xc1, 0x06, //0x00000cd5 addq $6, %r9 + 0x4c, 0x89, 0xc8, //0x00000cd9 movq %r9, %rax + 0x48, 0x8b, 0x55, 0xd0, //0x00000cdc movq $-48(%rbp), %rdx + //0x00000ce0 LBB1_99 + 0x80, 0xf9, 0x0a, //0x00000ce0 cmpb $10, %cl + 0x0f, 0x84, 0xdd, 0xfe, 0xff, 0xff, //0x00000ce3 je LBB1_102 + 0x80, 0xf9, 0x0d, //0x00000ce9 cmpb $13, %cl + 0x0f, 0x84, 0xd4, 0xfe, 0xff, 0xff, //0x00000cec je LBB1_102 + 0x80, 0xf9, 0x3d, //0x00000cf2 cmpb $61, %cl + 0x0f, 0x85, 0x85, 0x09, 0x00, 0x00, //0x00000cf5 jne LBB1_258 + 0x49, 0x89, 0xc1, //0x00000cfb movq %rax, %r9 + 0x41, 0x83, 0xfe, 0x02, //0x00000cfe cmpl $2, %r14d + 0x0f, 0x84, 0x0d, 0x06, 0x00, 0x00, //0x00000d02 je LBB1_212 + 0x48, 0x8b, 0x75, 0xd0, //0x00000d08 movq $-48(%rbp), %rsi + 0x48, 0x39, 0xc6, //0x00000d0c cmpq %rax, %rsi + 0x0f, 0x87, 0x0e, 0x04, 0x00, 0x00, //0x00000d0f ja LBB1_179 + //0x00000d15 LBB1_143 + 0x49, 0x89, 0xc1, //0x00000d15 movq %rax, %r9 + 0xe9, 0x5d, 0x06, 0x00, 0x00, //0x00000d18 jmp LBB1_216 + //0x00000d1d LBB1_103 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000d1d movl $1, %r11d + 0x44, 0x89, 0xe2, //0x00000d23 movl %r12d, %edx + 0xe9, 0xd4, 0xfb, 0xff, 0xff, //0x00000d26 jmp LBB1_38 + //0x00000d2b LBB1_104 + 0x49, 0xff, 0xc1, //0x00000d2b incq %r9 + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00000d2e movl $3, %r11d + 0x49, 0x39, 0xd9, //0x00000d34 cmpq %rbx, %r9 + 0x0f, 0x83, 0xc2, 0xfb, 0xff, 0xff, //0x00000d37 jae LBB1_38 + //0x00000d3d LBB1_105 + 0x41, 0x0f, 0xb6, 0x09, //0x00000d3d movzbl (%r9), %ecx + 0x48, 0x83, 0xf9, 0x0d, //0x00000d41 cmpq $13, %rcx + 0x0f, 0x84, 0xe0, 0xff, 0xff, 0xff, //0x00000d45 je LBB1_104 + 0x80, 0xf9, 0x0a, //0x00000d4b cmpb $10, %cl + 0x0f, 0x84, 0xd7, 0xff, 0xff, 0xff, //0x00000d4e je LBB1_104 + 0x48, 0x8b, 0x45, 0xc0, //0x00000d54 movq $-64(%rbp), %rax + 0x0f, 0xb6, 0x04, 0x08, //0x00000d58 movzbl (%rax,%rcx), %eax + 0x49, 0xff, 0xc1, //0x00000d5c incq %r9 + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00000d5f cmpl $255, %eax + 0x0f, 0x85, 0x74, 0x05, 0x00, 0x00, //0x00000d64 jne LBB1_208 + 0x41, 0x89, 0xd4, //0x00000d6a movl %edx, %r12d + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00000d6d movl $3, %r11d + 0xe9, 0x59, 0xfc, 0xff, 0xff, //0x00000d73 jmp LBB1_52 + //0x00000d78 LBB1_109 + 0x49, 0xff, 0xc1, //0x00000d78 incq %r9 + 0x48, 0xff, 0xc1, //0x00000d7b incq %rcx + 0x48, 0xff, 0xcb, //0x00000d7e decq %rbx + 0x48, 0xff, 0xc2, //0x00000d81 incq %rdx + 0x48, 0xff, 0xcf, //0x00000d84 decq %rdi + 0x4c, 0x39, 0x4d, 0xd0, //0x00000d87 cmpq %r9, $-48(%rbp) + 0x0f, 0x84, 0xe5, 0x05, 0x00, 0x00, //0x00000d8b je LBB1_215 + //0x00000d91 LBB1_110 + 0x41, 0x0f, 0xb6, 0x01, //0x00000d91 movzbl (%r9), %eax + 0x3c, 0x0a, //0x00000d95 cmpb $10, %al + 0x0f, 0x84, 0xdb, 0xff, 0xff, 0xff, //0x00000d97 je LBB1_109 + 0x3c, 0x0d, //0x00000d9d cmpb $13, %al + 0x0f, 0x84, 0xd3, 0xff, 0xff, 0xff, //0x00000d9f je LBB1_109 + 0x3c, 0x3d, //0x00000da5 cmpb $61, %al + 0x0f, 0x85, 0xbc, 0x01, 0x00, 0x00, //0x00000da7 jne LBB1_144 + 0x49, 0xff, 0xc1, //0x00000dad incq %r9 + 0x41, 0x83, 0xfe, 0x03, //0x00000db0 cmpl $3, %r14d + 0x0f, 0x84, 0x5b, 0x05, 0x00, 0x00, //0x00000db4 je LBB1_212 + 0x4c, 0x39, 0x4d, 0xd0, //0x00000dba cmpq %r9, $-48(%rbp) + 0x0f, 0x87, 0xb5, 0x04, 0x00, 0x00, //0x00000dbe ja LBB1_197 + 0xe9, 0xb1, 0x05, 0x00, 0x00, //0x00000dc4 jmp LBB1_216 + //0x00000dc9 LBB1_115 + 0x41, 0x89, 0xd4, //0x00000dc9 movl %edx, %r12d + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000dcc movl $1, %r11d + 0xe9, 0xfa, 0xfb, 0xff, 0xff, //0x00000dd2 jmp LBB1_52 + //0x00000dd7 LBB1_116 + 0x3c, 0x2f, //0x00000dd7 cmpb $47, %al + 0x0f, 0x85, 0x02, 0x00, 0x00, 0x00, //0x00000dd9 jne LBB1_118 + 0x89, 0xc1, //0x00000ddf movl %eax, %ecx + //0x00000de1 LBB1_118 + 0x4d, 0x89, 0xc1, //0x00000de1 movq %r8, %r9 + 0x48, 0x8b, 0x5d, 0xd0, //0x00000de4 movq $-48(%rbp), %rbx + //0x00000de8 LBB1_119 + 0x0f, 0xb6, 0xc1, //0x00000de8 movzbl %cl, %eax + 0x48, 0x8b, 0x55, 0xc0, //0x00000deb movq $-64(%rbp), %rdx + 0x0f, 0xb6, 0x04, 0x02, //0x00000def movzbl (%rdx,%rax), %eax + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00000df3 cmpl $255, %eax + 0x0f, 0x84, 0x58, 0x01, 0x00, 0x00, //0x00000df8 je LBB1_140 + 0x44, 0x89, 0xe2, //0x00000dfe movl %r12d, %edx + 0xc1, 0xe2, 0x06, //0x00000e01 shll $6, %edx + 0x09, 0xc2, //0x00000e04 orl %eax, %edx + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00000e06 movl $2, %r11d + 0x49, 0x39, 0xd9, //0x00000e0c cmpq %rbx, %r9 + 0x0f, 0x83, 0xd4, 0x04, 0x00, 0x00, //0x00000e0f jae LBB1_209 + 0x41, 0x89, 0xd4, //0x00000e15 movl %edx, %r12d + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x00000e18 jmp LBB1_125 + //0x00000e1d LBB1_122 + 0x3c, 0x6e, //0x00000e1d cmpb $110, %al + 0x0f, 0x85, 0x52, 0x01, 0x00, 0x00, //0x00000e1f jne LBB1_150 + //0x00000e25 LBB1_123 + 0x48, 0x89, 0xd7, //0x00000e25 movq %rdx, %rdi + 0x44, 0x89, 0xe2, //0x00000e28 movl %r12d, %edx + //0x00000e2b LBB1_124 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00000e2b movl $2, %r11d + 0x49, 0x89, 0xf9, //0x00000e31 movq %rdi, %r9 + 0x48, 0x39, 0xdf, //0x00000e34 cmpq %rbx, %rdi + 0x0f, 0x83, 0x24, 0x01, 0x00, 0x00, //0x00000e37 jae LBB1_142 + //0x00000e3d LBB1_125 + 0x49, 0x8d, 0x79, 0x01, //0x00000e3d leaq $1(%r9), %rdi + 0x41, 0x0f, 0xb6, 0x09, //0x00000e41 movzbl (%r9), %ecx + 0x80, 0xf9, 0x5c, //0x00000e45 cmpb $92, %cl + 0x0f, 0x85, 0xf1, 0x00, 0x00, 0x00, //0x00000e48 jne LBB1_138 + 0x49, 0x8d, 0x51, 0x02, //0x00000e4e leaq $2(%r9), %rdx + 0xb1, 0xff, //0x00000e52 movb $-1, %cl + 0x48, 0x39, 0xda, //0x00000e54 cmpq %rbx, %rdx + 0x0f, 0x87, 0x27, 0x01, 0x00, 0x00, //0x00000e57 ja LBB1_153 + 0x0f, 0xb6, 0x07, //0x00000e5d movzbl (%rdi), %eax + 0x3c, 0x71, //0x00000e60 cmpb $113, %al + 0x0f, 0x8e, 0xb5, 0xff, 0xff, 0xff, //0x00000e62 jle LBB1_122 + 0x3c, 0x72, //0x00000e68 cmpb $114, %al + 0x0f, 0x84, 0xb5, 0xff, 0xff, 0xff, //0x00000e6a je LBB1_123 + 0x3c, 0x75, //0x00000e70 cmpb $117, %al + 0x0f, 0x85, 0x09, 0x01, 0x00, 0x00, //0x00000e72 jne LBB1_152 + 0x48, 0x89, 0xd8, //0x00000e78 movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x00000e7b subq %rdx, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00000e7e cmpq $4, %rax + 0x0f, 0x8c, 0xf9, 0x00, 0x00, 0x00, //0x00000e82 jl LBB1_152 + 0x8b, 0x02, //0x00000e88 movl (%rdx), %eax + 0x89, 0xc6, //0x00000e8a movl %eax, %esi + 0xf7, 0xd6, //0x00000e8c notl %esi + 0x8d, 0xb8, 0xd0, 0xcf, 0xcf, 0xcf, //0x00000e8e leal $-808464432(%rax), %edi + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x00000e94 andl $-2139062144, %esi + 0x85, 0xfe, //0x00000e9a testl %edi, %esi + 0x0f, 0x85, 0xdf, 0x00, 0x00, 0x00, //0x00000e9c jne LBB1_152 + 0x8d, 0xb8, 0x19, 0x19, 0x19, 0x19, //0x00000ea2 leal $421075225(%rax), %edi + 0x09, 0xc7, //0x00000ea8 orl %eax, %edi + 0xf7, 0xc7, 0x80, 0x80, 0x80, 0x80, //0x00000eaa testl $-2139062144, %edi + 0x0f, 0x85, 0xcb, 0x00, 0x00, 0x00, //0x00000eb0 jne LBB1_152 + 0x89, 0xc7, //0x00000eb6 movl %eax, %edi + 0x81, 0xe7, 0x7f, 0x7f, 0x7f, 0x7f, //0x00000eb8 andl $2139062143, %edi + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x00000ebe movl $-1061109568, %ebx + 0x29, 0xfb, //0x00000ec3 subl %edi, %ebx + 0x44, 0x8d, 0x87, 0x46, 0x46, 0x46, 0x46, //0x00000ec5 leal $1179010630(%rdi), %r8d + 0x21, 0xf3, //0x00000ecc andl %esi, %ebx + 0x44, 0x85, 0xc3, //0x00000ece testl %r8d, %ebx + 0x48, 0x8b, 0x5d, 0xd0, //0x00000ed1 movq $-48(%rbp), %rbx + 0x0f, 0x85, 0xa6, 0x00, 0x00, 0x00, //0x00000ed5 jne LBB1_152 + 0xbb, 0xe0, 0xe0, 0xe0, 0xe0, //0x00000edb movl $-522133280, %ebx + 0x29, 0xfb, //0x00000ee0 subl %edi, %ebx + 0x81, 0xc7, 0x39, 0x39, 0x39, 0x39, //0x00000ee2 addl $960051513, %edi + 0x21, 0xde, //0x00000ee8 andl %ebx, %esi + 0x48, 0x8b, 0x5d, 0xd0, //0x00000eea movq $-48(%rbp), %rbx + 0x85, 0xfe, //0x00000eee testl %edi, %esi + 0x0f, 0x85, 0x8b, 0x00, 0x00, 0x00, //0x00000ef0 jne LBB1_152 + 0x0f, 0xc8, //0x00000ef6 bswapl %eax + 0x89, 0xc1, //0x00000ef8 movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00000efa shrl $4, %ecx + 0xf7, 0xd1, //0x00000efd notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00000eff andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00000f05 leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x00000f08 andl $252645135, %eax + 0x01, 0xc8, //0x00000f0d addl %ecx, %eax + 0x89, 0xc1, //0x00000f0f movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00000f11 shrl $4, %ecx + 0x09, 0xc1, //0x00000f14 orl %eax, %ecx + 0x89, 0xc8, //0x00000f16 movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x00000f18 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00000f1b andl $65280, %eax + 0x89, 0xca, //0x00000f20 movl %ecx, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x00000f22 andl $128, %edx + 0x09, 0xc2, //0x00000f28 orl %eax, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00000f2a je LBB1_137 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x00000f30 movl $255, %ecx + //0x00000f35 LBB1_137 + 0x49, 0x83, 0xc1, 0x06, //0x00000f35 addq $6, %r9 + 0x4c, 0x89, 0xcf, //0x00000f39 movq %r9, %rdi + 0x44, 0x89, 0xe2, //0x00000f3c movl %r12d, %edx + //0x00000f3f LBB1_138 + 0x80, 0xf9, 0x0a, //0x00000f3f cmpb $10, %cl + 0x0f, 0x84, 0xe3, 0xfe, 0xff, 0xff, //0x00000f42 je LBB1_124 + 0x80, 0xf9, 0x0d, //0x00000f48 cmpb $13, %cl + 0x0f, 0x84, 0xda, 0xfe, 0xff, 0xff, //0x00000f4b je LBB1_124 + 0xe9, 0x2e, 0x00, 0x00, 0x00, //0x00000f51 jmp LBB1_153 + //0x00000f56 LBB1_140 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00000f56 movl $1, %r11d + 0xe9, 0x70, 0xfa, 0xff, 0xff, //0x00000f5c jmp LBB1_52 + //0x00000f61 LBB1_142 + 0x49, 0x89, 0xf9, //0x00000f61 movq %rdi, %r9 + 0xe9, 0x96, 0xf9, 0xff, 0xff, //0x00000f64 jmp LBB1_38 + //0x00000f69 LBB1_144 + 0x49, 0xff, 0xc1, //0x00000f69 incq %r9 + 0x4c, 0x89, 0xca, //0x00000f6c movq %r9, %rdx + //0x00000f6f LBB1_145 + 0x49, 0x89, 0xd1, //0x00000f6f movq %rdx, %r9 + 0xe9, 0x9e, 0x03, 0x00, 0x00, //0x00000f72 jmp LBB1_212 + //0x00000f77 LBB1_150 + 0x3c, 0x2f, //0x00000f77 cmpb $47, %al + 0x0f, 0x85, 0x02, 0x00, 0x00, 0x00, //0x00000f79 jne LBB1_152 + 0x89, 0xc1, //0x00000f7f movl %eax, %ecx + //0x00000f81 LBB1_152 + 0x48, 0x89, 0xd7, //0x00000f81 movq %rdx, %rdi + //0x00000f84 LBB1_153 + 0x0f, 0xb6, 0xc1, //0x00000f84 movzbl %cl, %eax + 0x48, 0x8b, 0x55, 0xc0, //0x00000f87 movq $-64(%rbp), %rdx + 0x0f, 0xb6, 0x04, 0x02, //0x00000f8b movzbl (%rdx,%rax), %eax + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00000f8f cmpl $255, %eax + 0x0f, 0x84, 0x50, 0x01, 0x00, 0x00, //0x00000f94 je LBB1_174 + 0x44, 0x89, 0xe2, //0x00000f9a movl %r12d, %edx + 0xc1, 0xe2, 0x06, //0x00000f9d shll $6, %edx + 0x09, 0xc2, //0x00000fa0 orl %eax, %edx + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00000fa2 movl $3, %r11d + 0x48, 0x39, 0xdf, //0x00000fa8 cmpq %rbx, %rdi + 0x0f, 0x83, 0x47, 0x01, 0x00, 0x00, //0x00000fab jae LBB1_175 + 0x41, 0x89, 0xd4, //0x00000fb1 movl %edx, %r12d + 0xe9, 0x1d, 0x00, 0x00, 0x00, //0x00000fb4 jmp LBB1_159 + //0x00000fb9 LBB1_156 + 0x3c, 0x6e, //0x00000fb9 cmpb $110, %al + 0x0f, 0x85, 0xf3, 0x02, 0x00, 0x00, //0x00000fbb jne LBB1_203 + //0x00000fc1 LBB1_157 + 0x4d, 0x89, 0xc1, //0x00000fc1 movq %r8, %r9 + //0x00000fc4 LBB1_158 + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00000fc4 movl $3, %r11d + 0x4c, 0x89, 0xcf, //0x00000fca movq %r9, %rdi + 0x49, 0x39, 0xd9, //0x00000fcd cmpq %rbx, %r9 + 0x0f, 0x83, 0x29, 0xf9, 0xff, 0xff, //0x00000fd0 jae LBB1_38 + //0x00000fd6 LBB1_159 + 0x4c, 0x8d, 0x4f, 0x01, //0x00000fd6 leaq $1(%rdi), %r9 + 0x0f, 0xb6, 0x0f, //0x00000fda movzbl (%rdi), %ecx + 0x80, 0xf9, 0x5c, //0x00000fdd cmpb $92, %cl + 0x0f, 0x85, 0xed, 0x00, 0x00, 0x00, //0x00000fe0 jne LBB1_172 + 0x4c, 0x8d, 0x47, 0x02, //0x00000fe6 leaq $2(%rdi), %r8 + 0xb1, 0xff, //0x00000fea movb $-1, %cl + 0x49, 0x39, 0xd8, //0x00000fec cmpq %rbx, %r8 + 0x0f, 0x87, 0xd0, 0x02, 0x00, 0x00, //0x00000fef ja LBB1_206 + 0x41, 0x0f, 0xb6, 0x01, //0x00000ff5 movzbl (%r9), %eax + 0x3c, 0x71, //0x00000ff9 cmpb $113, %al + 0x0f, 0x8e, 0xb8, 0xff, 0xff, 0xff, //0x00000ffb jle LBB1_156 + 0x3c, 0x72, //0x00001001 cmpb $114, %al + 0x0f, 0x84, 0xb8, 0xff, 0xff, 0xff, //0x00001003 je LBB1_157 + 0x3c, 0x75, //0x00001009 cmpb $117, %al + 0x0f, 0x85, 0xad, 0x02, 0x00, 0x00, //0x0000100b jne LBB1_205 + 0x48, 0x8b, 0x45, 0xd0, //0x00001011 movq $-48(%rbp), %rax + 0x4c, 0x29, 0xc0, //0x00001015 subq %r8, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00001018 cmpq $4, %rax + 0x0f, 0x8c, 0x9c, 0x02, 0x00, 0x00, //0x0000101c jl LBB1_205 + 0x41, 0x8b, 0x18, //0x00001022 movl (%r8), %ebx + 0x89, 0xde, //0x00001025 movl %ebx, %esi + 0xf7, 0xd6, //0x00001027 notl %esi + 0x8d, 0x83, 0xd0, 0xcf, 0xcf, 0xcf, //0x00001029 leal $-808464432(%rbx), %eax + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x0000102f andl $-2139062144, %esi + 0x85, 0xc6, //0x00001035 testl %eax, %esi + 0x0f, 0x85, 0x81, 0x02, 0x00, 0x00, //0x00001037 jne LBB1_205 + 0x8d, 0x83, 0x19, 0x19, 0x19, 0x19, //0x0000103d leal $421075225(%rbx), %eax + 0x09, 0xd8, //0x00001043 orl %ebx, %eax + 0xa9, 0x80, 0x80, 0x80, 0x80, //0x00001045 testl $-2139062144, %eax + 0x0f, 0x85, 0x6e, 0x02, 0x00, 0x00, //0x0000104a jne LBB1_205 + 0x89, 0xd8, //0x00001050 movl %ebx, %eax + 0x25, 0x7f, 0x7f, 0x7f, 0x7f, //0x00001052 andl $2139062143, %eax + 0xba, 0xc0, 0xc0, 0xc0, 0xc0, //0x00001057 movl $-1061109568, %edx + 0x29, 0xc2, //0x0000105c subl %eax, %edx + 0x44, 0x8d, 0x88, 0x46, 0x46, 0x46, 0x46, //0x0000105e leal $1179010630(%rax), %r9d + 0x21, 0xf2, //0x00001065 andl %esi, %edx + 0x44, 0x85, 0xca, //0x00001067 testl %r9d, %edx + 0x0f, 0x85, 0x4e, 0x02, 0x00, 0x00, //0x0000106a jne LBB1_205 + 0xba, 0xe0, 0xe0, 0xe0, 0xe0, //0x00001070 movl $-522133280, %edx + 0x29, 0xc2, //0x00001075 subl %eax, %edx + 0x05, 0x39, 0x39, 0x39, 0x39, //0x00001077 addl $960051513, %eax + 0x21, 0xd6, //0x0000107c andl %edx, %esi + 0x85, 0xc6, //0x0000107e testl %eax, %esi + 0x0f, 0x85, 0x38, 0x02, 0x00, 0x00, //0x00001080 jne LBB1_205 + 0x0f, 0xcb, //0x00001086 bswapl %ebx + 0x89, 0xd8, //0x00001088 movl %ebx, %eax + 0xc1, 0xe8, 0x04, //0x0000108a shrl $4, %eax + 0xf7, 0xd0, //0x0000108d notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x0000108f andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00001094 leal (%rax,%rax,8), %eax + 0x81, 0xe3, 0x0f, 0x0f, 0x0f, 0x0f, //0x00001097 andl $252645135, %ebx + 0x01, 0xc3, //0x0000109d addl %eax, %ebx + 0x89, 0xd9, //0x0000109f movl %ebx, %ecx + 0xc1, 0xe9, 0x04, //0x000010a1 shrl $4, %ecx + 0x09, 0xd9, //0x000010a4 orl %ebx, %ecx + 0x89, 0xc8, //0x000010a6 movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x000010a8 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x000010ab andl $65280, %eax + 0x89, 0xca, //0x000010b0 movl %ecx, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x000010b2 andl $128, %edx + 0x09, 0xc2, //0x000010b8 orl %eax, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x000010ba je LBB1_171 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x000010c0 movl $255, %ecx + //0x000010c5 LBB1_171 + 0x48, 0x83, 0xc7, 0x06, //0x000010c5 addq $6, %rdi + 0x49, 0x89, 0xf9, //0x000010c9 movq %rdi, %r9 + 0x48, 0x8b, 0x5d, 0xd0, //0x000010cc movq $-48(%rbp), %rbx + 0x44, 0x89, 0xe2, //0x000010d0 movl %r12d, %edx + //0x000010d3 LBB1_172 + 0x80, 0xf9, 0x0a, //0x000010d3 cmpb $10, %cl + 0x0f, 0x84, 0xe8, 0xfe, 0xff, 0xff, //0x000010d6 je LBB1_158 + 0x80, 0xf9, 0x0d, //0x000010dc cmpb $13, %cl + 0x0f, 0x84, 0xdf, 0xfe, 0xff, 0xff, //0x000010df je LBB1_158 + 0xe9, 0xdb, 0x01, 0x00, 0x00, //0x000010e5 jmp LBB1_206 + //0x000010ea LBB1_174 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x000010ea movl $2, %r11d + 0x49, 0x89, 0xf9, //0x000010f0 movq %rdi, %r9 + 0xe9, 0xd9, 0xf8, 0xff, 0xff, //0x000010f3 jmp LBB1_52 + //0x000010f8 LBB1_175 + 0x49, 0x89, 0xf9, //0x000010f8 movq %rdi, %r9 + 0xe9, 0xe9, 0x01, 0x00, 0x00, //0x000010fb jmp LBB1_209 + //0x00001100 LBB1_195 + 0x4c, 0x89, 0xc9, //0x00001100 movq %r9, %rcx + 0x48, 0x89, 0xc8, //0x00001103 movq %rcx, %rax + 0x48, 0x39, 0xf1, //0x00001106 cmpq %rsi, %rcx + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x00001109 jb LBB1_179 + 0xe9, 0x66, 0x02, 0x00, 0x00, //0x0000110f jmp LBB1_216 + //0x00001114 LBB1_177 + 0x49, 0x89, 0xc9, //0x00001114 movq %rcx, %r9 + 0x48, 0x89, 0xc8, //0x00001117 movq %rcx, %rax + 0x48, 0x39, 0xf1, //0x0000111a cmpq %rsi, %rcx + 0x0f, 0x83, 0x57, 0x02, 0x00, 0x00, //0x0000111d jae LBB1_216 + //0x00001123 LBB1_179 + 0x4c, 0x8d, 0x48, 0x01, //0x00001123 leaq $1(%rax), %r9 + 0x0f, 0xb6, 0x08, //0x00001127 movzbl (%rax), %ecx + 0x80, 0xf9, 0x5c, //0x0000112a cmpb $92, %cl + 0x0f, 0x85, 0xee, 0x00, 0x00, 0x00, //0x0000112d jne LBB1_192 + 0x48, 0x8d, 0x48, 0x02, //0x00001133 leaq $2(%rax), %rcx + 0x48, 0x39, 0xf1, //0x00001137 cmpq %rsi, %rcx + 0x0f, 0x87, 0x3d, 0x05, 0x00, 0x00, //0x0000113a ja LBB1_279 + 0x41, 0x0f, 0xb6, 0x11, //0x00001140 movzbl (%r9), %edx + 0x80, 0xfa, 0x6e, //0x00001144 cmpb $110, %dl + 0x0f, 0x84, 0xc7, 0xff, 0xff, 0xff, //0x00001147 je LBB1_177 + 0x80, 0xfa, 0x72, //0x0000114d cmpb $114, %dl + 0x0f, 0x84, 0xbe, 0xff, 0xff, 0xff, //0x00001150 je LBB1_177 + 0x80, 0xfa, 0x75, //0x00001156 cmpb $117, %dl + 0x0f, 0x85, 0x16, 0x05, 0x00, 0x00, //0x00001159 jne LBB1_278 + 0x48, 0x89, 0xf2, //0x0000115f movq %rsi, %rdx + 0x48, 0x29, 0xca, //0x00001162 subq %rcx, %rdx + 0x48, 0x83, 0xfa, 0x04, //0x00001165 cmpq $4, %rdx + 0x0f, 0x8c, 0x06, 0x05, 0x00, 0x00, //0x00001169 jl LBB1_278 + 0x8b, 0x11, //0x0000116f movl (%rcx), %edx + 0x89, 0xd6, //0x00001171 movl %edx, %esi + 0xf7, 0xd6, //0x00001173 notl %esi + 0x8d, 0xba, 0xd0, 0xcf, 0xcf, 0xcf, //0x00001175 leal $-808464432(%rdx), %edi + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x0000117b andl $-2139062144, %esi + 0x85, 0xfe, //0x00001181 testl %edi, %esi + 0x0f, 0x85, 0xec, 0x04, 0x00, 0x00, //0x00001183 jne LBB1_278 + 0x8d, 0xba, 0x19, 0x19, 0x19, 0x19, //0x00001189 leal $421075225(%rdx), %edi + 0x09, 0xd7, //0x0000118f orl %edx, %edi + 0xf7, 0xc7, 0x80, 0x80, 0x80, 0x80, //0x00001191 testl $-2139062144, %edi + 0x0f, 0x85, 0xd8, 0x04, 0x00, 0x00, //0x00001197 jne LBB1_278 + 0x89, 0xd7, //0x0000119d movl %edx, %edi + 0x81, 0xe7, 0x7f, 0x7f, 0x7f, 0x7f, //0x0000119f andl $2139062143, %edi + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x000011a5 movl $-1061109568, %ebx + 0x29, 0xfb, //0x000011aa subl %edi, %ebx + 0x44, 0x8d, 0x87, 0x46, 0x46, 0x46, 0x46, //0x000011ac leal $1179010630(%rdi), %r8d + 0x21, 0xf3, //0x000011b3 andl %esi, %ebx + 0x44, 0x85, 0xc3, //0x000011b5 testl %r8d, %ebx + 0x0f, 0x85, 0xb7, 0x04, 0x00, 0x00, //0x000011b8 jne LBB1_278 + 0xbb, 0xe0, 0xe0, 0xe0, 0xe0, //0x000011be movl $-522133280, %ebx + 0x29, 0xfb, //0x000011c3 subl %edi, %ebx + 0x81, 0xc7, 0x39, 0x39, 0x39, 0x39, //0x000011c5 addl $960051513, %edi + 0x21, 0xde, //0x000011cb andl %ebx, %esi + 0x85, 0xfe, //0x000011cd testl %edi, %esi + 0x0f, 0x85, 0xa0, 0x04, 0x00, 0x00, //0x000011cf jne LBB1_278 + 0x0f, 0xca, //0x000011d5 bswapl %edx + 0x89, 0xd1, //0x000011d7 movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x000011d9 shrl $4, %ecx + 0xf7, 0xd1, //0x000011dc notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x000011de andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x000011e4 leal (%rcx,%rcx,8), %ecx + 0x81, 0xe2, 0x0f, 0x0f, 0x0f, 0x0f, //0x000011e7 andl $252645135, %edx + 0x01, 0xca, //0x000011ed addl %ecx, %edx + 0x89, 0xd1, //0x000011ef movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x000011f1 shrl $4, %ecx + 0x09, 0xd1, //0x000011f4 orl %edx, %ecx + 0x89, 0xca, //0x000011f6 movl %ecx, %edx + 0xc1, 0xea, 0x08, //0x000011f8 shrl $8, %edx + 0x81, 0xe2, 0x00, 0xff, 0x00, 0x00, //0x000011fb andl $65280, %edx + 0x89, 0xce, //0x00001201 movl %ecx, %esi + 0x81, 0xe6, 0x80, 0x00, 0x00, 0x00, //0x00001203 andl $128, %esi + 0x09, 0xd6, //0x00001209 orl %edx, %esi + 0x48, 0x8b, 0x75, 0xd0, //0x0000120b movq $-48(%rbp), %rsi + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x0000120f je LBB1_191 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x00001215 movl $255, %ecx + //0x0000121a LBB1_191 + 0x48, 0x83, 0xc0, 0x06, //0x0000121a addq $6, %rax + 0x49, 0x89, 0xc1, //0x0000121e movq %rax, %r9 + //0x00001221 LBB1_192 + 0x80, 0xf9, 0x0a, //0x00001221 cmpb $10, %cl + 0x0f, 0x84, 0xd6, 0xfe, 0xff, 0xff, //0x00001224 je LBB1_195 + 0x80, 0xf9, 0x0d, //0x0000122a cmpb $13, %cl + 0x0f, 0x84, 0xcd, 0xfe, 0xff, 0xff, //0x0000122d je LBB1_195 + 0x80, 0xf9, 0x3d, //0x00001233 cmpb $61, %cl + 0x0f, 0x85, 0xd9, 0x00, 0x00, 0x00, //0x00001236 jne LBB1_212 + 0x41, 0x83, 0xfe, 0x03, //0x0000123c cmpl $3, %r14d + 0x0f, 0x84, 0xcf, 0x00, 0x00, 0x00, //0x00001240 je LBB1_212 + 0x4c, 0x39, 0x4d, 0xd0, //0x00001246 cmpq %r9, $-48(%rbp) + 0x0f, 0x86, 0x2a, 0x01, 0x00, 0x00, //0x0000124a jbe LBB1_216 + 0x48, 0x8b, 0x55, 0xd0, //0x00001250 movq $-48(%rbp), %rdx + 0xe9, 0x8e, 0x01, 0x00, 0x00, //0x00001254 jmp LBB1_234 + //0x00001259 LBB1_176 + 0x41, 0x89, 0xd4, //0x00001259 movl %edx, %r12d + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x0000125c movl $2, %r11d + 0xe9, 0x6a, 0xf7, 0xff, 0xff, //0x00001262 jmp LBB1_52 + //0x00001267 LBB1_196 + 0x48, 0xff, 0xc1, //0x00001267 incq %rcx + 0x48, 0xff, 0xc2, //0x0000126a incq %rdx + 0x48, 0xff, 0xcf, //0x0000126d decq %rdi + 0x48, 0xff, 0xcb, //0x00001270 decq %rbx + 0x0f, 0x84, 0xfd, 0x00, 0x00, 0x00, //0x00001273 je LBB1_215 + //0x00001279 LBB1_197 + 0x0f, 0xb6, 0x41, 0xff, //0x00001279 movzbl $-1(%rcx), %eax + 0x3c, 0x0a, //0x0000127d cmpb $10, %al + 0x0f, 0x84, 0xe2, 0xff, 0xff, 0xff, //0x0000127f je LBB1_196 + 0x3c, 0x0d, //0x00001285 cmpb $13, %al + 0x0f, 0x84, 0xda, 0xff, 0xff, 0xff, //0x00001287 je LBB1_196 + 0x3c, 0x3d, //0x0000128d cmpb $61, %al + 0x0f, 0x85, 0x75, 0x02, 0x00, 0x00, //0x0000128f jne LBB1_252 + 0x49, 0x89, 0xc9, //0x00001295 movq %rcx, %r9 + 0x41, 0x83, 0xfe, 0x04, //0x00001298 cmpl $4, %r14d + 0x0f, 0x84, 0x73, 0x00, 0x00, 0x00, //0x0000129c je LBB1_212 + 0x48, 0x39, 0x4d, 0xd0, //0x000012a2 cmpq %rcx, $-48(%rbp) + 0x0f, 0x87, 0xaf, 0x00, 0x00, 0x00, //0x000012a6 ja LBB1_229 + 0x49, 0x89, 0xc9, //0x000012ac movq %rcx, %r9 + 0xe9, 0xc6, 0x00, 0x00, 0x00, //0x000012af jmp LBB1_216 + //0x000012b4 LBB1_203 + 0x3c, 0x2f, //0x000012b4 cmpb $47, %al + 0x0f, 0x85, 0x02, 0x00, 0x00, 0x00, //0x000012b6 jne LBB1_205 + 0x89, 0xc1, //0x000012bc movl %eax, %ecx + //0x000012be LBB1_205 + 0x4d, 0x89, 0xc1, //0x000012be movq %r8, %r9 + 0x48, 0x8b, 0x5d, 0xd0, //0x000012c1 movq $-48(%rbp), %rbx + //0x000012c5 LBB1_206 + 0x0f, 0xb6, 0xc1, //0x000012c5 movzbl %cl, %eax + 0x48, 0x8b, 0x55, 0xc0, //0x000012c8 movq $-64(%rbp), %rdx + 0x0f, 0xb6, 0x04, 0x02, //0x000012cc movzbl (%rdx,%rax), %eax + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x000012d0 cmpl $255, %eax + 0x0f, 0x84, 0x69, 0x00, 0x00, 0x00, //0x000012d5 je LBB1_214 + 0x44, 0x89, 0xe2, //0x000012db movl %r12d, %edx + //0x000012de LBB1_208 + 0xc1, 0xe2, 0x06, //0x000012de shll $6, %edx + 0x09, 0xc2, //0x000012e1 orl %eax, %edx + 0x41, 0xbb, 0x04, 0x00, 0x00, 0x00, //0x000012e3 movl $4, %r11d + //0x000012e9 LBB1_209 + 0x41, 0x89, 0xd4, //0x000012e9 movl %edx, %r12d + 0x41, 0xf6, 0xc2, 0x02, //0x000012ec testb $2, %r10b + 0x0f, 0x94, 0xc0, //0x000012f0 sete %al + 0x41, 0x83, 0xfb, 0x01, //0x000012f3 cmpl $1, %r11d + 0x0f, 0x94, 0xc1, //0x000012f7 sete %cl + 0x49, 0x39, 0xd9, //0x000012fa cmpq %rbx, %r9 + 0x0f, 0x82, 0x77, 0x00, 0x00, 0x00, //0x000012fd jb LBB1_216 + 0x41, 0x83, 0xfb, 0x04, //0x00001303 cmpl $4, %r11d + 0x0f, 0x84, 0x6d, 0x00, 0x00, 0x00, //0x00001307 je LBB1_216 + 0x08, 0xc8, //0x0000130d orb %cl, %al + 0x0f, 0x84, 0x65, 0x00, 0x00, 0x00, //0x0000130f je LBB1_216 + //0x00001315 LBB1_212 + 0x49, 0x8d, 0x49, 0x01, //0x00001315 leaq $1(%r9), %rcx + 0x4c, 0x39, 0x4d, 0xd0, //0x00001319 cmpq %r9, $-48(%rbp) + 0x49, 0x0f, 0x45, 0xc9, //0x0000131d cmovneq %r9, %rcx + 0x4c, 0x29, 0xf9, //0x00001321 subq %r15, %rcx + 0x0f, 0x85, 0xb0, 0x36, 0x00, 0x00, //0x00001324 jne LBB1_1140 + 0x4d, 0x89, 0xf9, //0x0000132a movq %r15, %r9 + 0x48, 0x8b, 0x4d, 0xb0, //0x0000132d movq $-80(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb0, //0x00001331 movq %rcx, $-80(%rbp) + 0x48, 0x39, 0x4d, 0xc8, //0x00001335 cmpq %rcx, $-56(%rbp) + 0x0f, 0x83, 0x26, 0xf3, 0xff, 0xff, //0x00001339 jae LBB1_223 + 0xe9, 0xa2, 0x15, 0x00, 0x00, //0x0000133f jmp LBB1_572 + //0x00001344 LBB1_214 + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00001344 movl $3, %r11d + 0xe9, 0x82, 0xf6, 0xff, 0xff, //0x0000134a jmp LBB1_52 + //0x0000134f LBB1_228 + 0x48, 0xff, 0xc2, //0x0000134f incq %rdx + 0x48, 0xff, 0xcf, //0x00001352 decq %rdi + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x00001355 je LBB1_215 + //0x0000135b LBB1_229 + 0x0f, 0xb6, 0x42, 0xff, //0x0000135b movzbl $-1(%rdx), %eax + 0x3c, 0x0a, //0x0000135f cmpb $10, %al + 0x0f, 0x84, 0xe8, 0xff, 0xff, 0xff, //0x00001361 je LBB1_228 + 0x3c, 0x0d, //0x00001367 cmpb $13, %al + 0x0f, 0x84, 0xe0, 0xff, 0xff, 0xff, //0x00001369 je LBB1_228 + 0x3c, 0x3d, //0x0000136f cmpb $61, %al + 0xe9, 0xf9, 0xfb, 0xff, 0xff, //0x00001371 jmp LBB1_145 + //0x00001376 LBB1_215 + 0x4c, 0x8b, 0x4d, 0xd0, //0x00001376 movq $-48(%rbp), %r9 + //0x0000137a LBB1_216 + 0xb0, 0x04, //0x0000137a movb $4, %al + 0x44, 0x28, 0xd8, //0x0000137c subb %r11b, %al + 0x0f, 0xb6, 0xc0, //0x0000137f movzbl %al, %eax + 0x01, 0xc0, //0x00001382 addl %eax, %eax + 0x8d, 0x0c, 0x40, //0x00001384 leal (%rax,%rax,2), %ecx + 0x44, 0x89, 0xe0, //0x00001387 movl %r12d, %eax + 0xd3, 0xe0, //0x0000138a shll %cl, %eax + 0x41, 0x83, 0xfb, 0x02, //0x0000138c cmpl $2, %r11d + 0x48, 0x8b, 0x4d, 0xb0, //0x00001390 movq $-80(%rbp), %rcx + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00001394 je LBB1_221 + 0x41, 0x83, 0xfb, 0x03, //0x0000139a cmpl $3, %r11d + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x0000139e je LBB1_220 + 0x41, 0x83, 0xfb, 0x04, //0x000013a4 cmpl $4, %r11d + 0x0f, 0x85, 0x0b, 0x00, 0x00, 0x00, //0x000013a8 jne LBB1_222 + 0x88, 0x41, 0x02, //0x000013ae movb %al, $2(%rcx) + //0x000013b1 LBB1_220 + 0x88, 0x61, 0x01, //0x000013b1 movb %ah, $1(%rcx) + //0x000013b4 LBB1_221 + 0xc1, 0xe8, 0x10, //0x000013b4 shrl $16, %eax + 0x88, 0x01, //0x000013b7 movb %al, (%rcx) + //0x000013b9 LBB1_222 + 0x44, 0x89, 0xd8, //0x000013b9 movl %r11d, %eax + 0x48, 0x8d, 0x4c, 0x01, 0xff, //0x000013bc leaq $-1(%rcx,%rax), %rcx + 0x48, 0x89, 0x4d, 0xb0, //0x000013c1 movq %rcx, $-80(%rbp) + 0x48, 0x39, 0x4d, 0xc8, //0x000013c5 cmpq %rcx, $-56(%rbp) + 0x0f, 0x83, 0x96, 0xf2, 0xff, 0xff, //0x000013c9 jae LBB1_223 + 0xe9, 0x12, 0x15, 0x00, 0x00, //0x000013cf jmp LBB1_572 + //0x000013d4 LBB1_233 + 0x48, 0x89, 0xc1, //0x000013d4 movq %rax, %rcx + 0x48, 0x8b, 0x55, 0xd0, //0x000013d7 movq $-48(%rbp), %rdx + 0x49, 0x89, 0xc9, //0x000013db movq %rcx, %r9 + 0x48, 0x39, 0xd1, //0x000013de cmpq %rdx, %rcx + 0x0f, 0x83, 0x2e, 0xf9, 0xff, 0xff, //0x000013e1 jae LBB1_143 + //0x000013e7 LBB1_234 + 0x49, 0x8d, 0x41, 0x01, //0x000013e7 leaq $1(%r9), %rax + 0x41, 0x0f, 0xb6, 0x09, //0x000013eb movzbl (%r9), %ecx + 0x80, 0xf9, 0x5c, //0x000013ef cmpb $92, %cl + 0x0f, 0x85, 0xe3, 0x00, 0x00, 0x00, //0x000013f2 jne LBB1_247 + 0x49, 0x8d, 0x49, 0x02, //0x000013f8 leaq $2(%r9), %rcx + 0x48, 0x39, 0xd1, //0x000013fc cmpq %rdx, %rcx + 0x0f, 0x87, 0x7b, 0x02, 0x00, 0x00, //0x000013ff ja LBB1_258 + 0x0f, 0xb6, 0x00, //0x00001405 movzbl (%rax), %eax + 0x3c, 0x6e, //0x00001408 cmpb $110, %al + 0x0f, 0x84, 0xe2, 0x00, 0x00, 0x00, //0x0000140a je LBB1_249 + 0x3c, 0x72, //0x00001410 cmpb $114, %al + 0x0f, 0x84, 0xda, 0x00, 0x00, 0x00, //0x00001412 je LBB1_249 + 0x3c, 0x75, //0x00001418 cmpb $117, %al + 0x0f, 0x85, 0x55, 0x02, 0x00, 0x00, //0x0000141a jne LBB1_278 + 0x48, 0x8b, 0x45, 0xd0, //0x00001420 movq $-48(%rbp), %rax + 0x48, 0x29, 0xc8, //0x00001424 subq %rcx, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00001427 cmpq $4, %rax + 0x0f, 0x8c, 0x44, 0x02, 0x00, 0x00, //0x0000142b jl LBB1_278 + 0x8b, 0x01, //0x00001431 movl (%rcx), %eax + 0x89, 0xc2, //0x00001433 movl %eax, %edx + 0xf7, 0xd2, //0x00001435 notl %edx + 0x8d, 0xb0, 0xd0, 0xcf, 0xcf, 0xcf, //0x00001437 leal $-808464432(%rax), %esi + 0x81, 0xe2, 0x80, 0x80, 0x80, 0x80, //0x0000143d andl $-2139062144, %edx + 0x85, 0xf2, //0x00001443 testl %esi, %edx + 0x0f, 0x85, 0x2a, 0x02, 0x00, 0x00, //0x00001445 jne LBB1_278 + 0x8d, 0xb0, 0x19, 0x19, 0x19, 0x19, //0x0000144b leal $421075225(%rax), %esi + 0x09, 0xc6, //0x00001451 orl %eax, %esi + 0xf7, 0xc6, 0x80, 0x80, 0x80, 0x80, //0x00001453 testl $-2139062144, %esi + 0x0f, 0x85, 0x16, 0x02, 0x00, 0x00, //0x00001459 jne LBB1_278 + 0x89, 0xc6, //0x0000145f movl %eax, %esi + 0x81, 0xe6, 0x7f, 0x7f, 0x7f, 0x7f, //0x00001461 andl $2139062143, %esi + 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, //0x00001467 movl $-1061109568, %edi + 0x29, 0xf7, //0x0000146c subl %esi, %edi + 0x8d, 0x9e, 0x46, 0x46, 0x46, 0x46, //0x0000146e leal $1179010630(%rsi), %ebx + 0x21, 0xd7, //0x00001474 andl %edx, %edi + 0x85, 0xdf, //0x00001476 testl %ebx, %edi + 0x0f, 0x85, 0xf7, 0x01, 0x00, 0x00, //0x00001478 jne LBB1_278 + 0xbf, 0xe0, 0xe0, 0xe0, 0xe0, //0x0000147e movl $-522133280, %edi + 0x29, 0xf7, //0x00001483 subl %esi, %edi + 0x81, 0xc6, 0x39, 0x39, 0x39, 0x39, //0x00001485 addl $960051513, %esi + 0x21, 0xfa, //0x0000148b andl %edi, %edx + 0x85, 0xf2, //0x0000148d testl %esi, %edx + 0x0f, 0x85, 0xe0, 0x01, 0x00, 0x00, //0x0000148f jne LBB1_278 + 0x0f, 0xc8, //0x00001495 bswapl %eax + 0x89, 0xc1, //0x00001497 movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00001499 shrl $4, %ecx + 0xf7, 0xd1, //0x0000149c notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x0000149e andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x000014a4 leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x000014a7 andl $252645135, %eax + 0x01, 0xc8, //0x000014ac addl %ecx, %eax + 0x89, 0xc1, //0x000014ae movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x000014b0 shrl $4, %ecx + 0x09, 0xc1, //0x000014b3 orl %eax, %ecx + 0x89, 0xc8, //0x000014b5 movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x000014b7 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x000014ba andl $65280, %eax + 0x89, 0xca, //0x000014bf movl %ecx, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x000014c1 andl $128, %edx + 0x09, 0xc2, //0x000014c7 orl %eax, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x000014c9 je LBB1_246 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x000014cf movl $255, %ecx + //0x000014d4 LBB1_246 + 0x49, 0x83, 0xc1, 0x06, //0x000014d4 addq $6, %r9 + 0x4c, 0x89, 0xc8, //0x000014d8 movq %r9, %rax + //0x000014db LBB1_247 + 0x80, 0xf9, 0x0a, //0x000014db cmpb $10, %cl + 0x0f, 0x84, 0xf0, 0xfe, 0xff, 0xff, //0x000014de je LBB1_233 + 0x80, 0xf9, 0x0d, //0x000014e4 cmpb $13, %cl + 0x0f, 0x84, 0xe7, 0xfe, 0xff, 0xff, //0x000014e7 je LBB1_233 + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x000014ed jmp LBB1_254 + //0x000014f2 LBB1_249 + 0x48, 0x89, 0xc8, //0x000014f2 movq %rcx, %rax + 0x48, 0x8b, 0x55, 0xd0, //0x000014f5 movq $-48(%rbp), %rdx + 0x49, 0x89, 0xc9, //0x000014f9 movq %rcx, %r9 + 0x48, 0x39, 0xd1, //0x000014fc cmpq %rdx, %rcx + 0x0f, 0x82, 0xe2, 0xfe, 0xff, 0xff, //0x000014ff jb LBB1_234 + 0xe9, 0x0b, 0xf8, 0xff, 0xff, //0x00001505 jmp LBB1_143 + //0x0000150a LBB1_252 + 0x48, 0x89, 0xca, //0x0000150a movq %rcx, %rdx + 0x49, 0x89, 0xc9, //0x0000150d movq %rcx, %r9 + 0xe9, 0x00, 0xfe, 0xff, 0xff, //0x00001510 jmp LBB1_212 + //0x00001515 LBB1_254 + 0x80, 0xf9, 0x3d, //0x00001515 cmpb $61, %cl + 0x0f, 0x85, 0x62, 0x01, 0x00, 0x00, //0x00001518 jne LBB1_258 + 0x49, 0x89, 0xc1, //0x0000151e movq %rax, %r9 + 0x41, 0x83, 0xfe, 0x04, //0x00001521 cmpl $4, %r14d + 0x0f, 0x84, 0xea, 0xfd, 0xff, 0xff, //0x00001525 je LBB1_212 + 0x48, 0x39, 0x45, 0xd0, //0x0000152b cmpq %rax, $-48(%rbp) + 0x0f, 0x87, 0x2a, 0x00, 0x00, 0x00, //0x0000152f ja LBB1_261 + 0xe9, 0xdb, 0xf7, 0xff, 0xff, //0x00001535 jmp LBB1_143 + //0x0000153a LBB1_277 + 0x4c, 0x89, 0xc9, //0x0000153a movq %r9, %rcx + 0x48, 0x89, 0xc8, //0x0000153d movq %rcx, %rax + 0x48, 0x3b, 0x4d, 0xd0, //0x00001540 cmpq $-48(%rbp), %rcx + 0x0f, 0x82, 0x15, 0x00, 0x00, 0x00, //0x00001544 jb LBB1_261 + 0xe9, 0x2b, 0xfe, 0xff, 0xff, //0x0000154a jmp LBB1_216 + //0x0000154f LBB1_259 + 0x49, 0x89, 0xc9, //0x0000154f movq %rcx, %r9 + 0x48, 0x89, 0xc8, //0x00001552 movq %rcx, %rax + 0x48, 0x3b, 0x4d, 0xd0, //0x00001555 cmpq $-48(%rbp), %rcx + 0x0f, 0x83, 0x1b, 0xfe, 0xff, 0xff, //0x00001559 jae LBB1_216 + //0x0000155f LBB1_261 + 0x4c, 0x8d, 0x48, 0x01, //0x0000155f leaq $1(%rax), %r9 + 0x0f, 0xb6, 0x08, //0x00001563 movzbl (%rax), %ecx + 0x80, 0xf9, 0x5c, //0x00001566 cmpb $92, %cl + 0x0f, 0x85, 0xec, 0x00, 0x00, 0x00, //0x00001569 jne LBB1_274 + 0x48, 0x8d, 0x48, 0x02, //0x0000156f leaq $2(%rax), %rcx + 0x48, 0x3b, 0x4d, 0xd0, //0x00001573 cmpq $-48(%rbp), %rcx + 0x0f, 0x87, 0x00, 0x01, 0x00, 0x00, //0x00001577 ja LBB1_279 + 0x41, 0x0f, 0xb6, 0x11, //0x0000157d movzbl (%r9), %edx + 0x80, 0xfa, 0x6e, //0x00001581 cmpb $110, %dl + 0x0f, 0x84, 0xc5, 0xff, 0xff, 0xff, //0x00001584 je LBB1_259 + 0x80, 0xfa, 0x72, //0x0000158a cmpb $114, %dl + 0x0f, 0x84, 0xbc, 0xff, 0xff, 0xff, //0x0000158d je LBB1_259 + 0x80, 0xfa, 0x75, //0x00001593 cmpb $117, %dl + 0x0f, 0x85, 0xd9, 0x00, 0x00, 0x00, //0x00001596 jne LBB1_278 + 0x48, 0x8b, 0x55, 0xd0, //0x0000159c movq $-48(%rbp), %rdx + 0x48, 0x29, 0xca, //0x000015a0 subq %rcx, %rdx + 0x48, 0x83, 0xfa, 0x04, //0x000015a3 cmpq $4, %rdx + 0x0f, 0x8c, 0xc8, 0x00, 0x00, 0x00, //0x000015a7 jl LBB1_278 + 0x8b, 0x11, //0x000015ad movl (%rcx), %edx + 0x89, 0xd6, //0x000015af movl %edx, %esi + 0xf7, 0xd6, //0x000015b1 notl %esi + 0x8d, 0xba, 0xd0, 0xcf, 0xcf, 0xcf, //0x000015b3 leal $-808464432(%rdx), %edi + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x000015b9 andl $-2139062144, %esi + 0x85, 0xfe, //0x000015bf testl %edi, %esi + 0x0f, 0x85, 0xae, 0x00, 0x00, 0x00, //0x000015c1 jne LBB1_278 + 0x8d, 0xba, 0x19, 0x19, 0x19, 0x19, //0x000015c7 leal $421075225(%rdx), %edi + 0x09, 0xd7, //0x000015cd orl %edx, %edi + 0xf7, 0xc7, 0x80, 0x80, 0x80, 0x80, //0x000015cf testl $-2139062144, %edi + 0x0f, 0x85, 0x9a, 0x00, 0x00, 0x00, //0x000015d5 jne LBB1_278 + 0x89, 0xd7, //0x000015db movl %edx, %edi + 0x81, 0xe7, 0x7f, 0x7f, 0x7f, 0x7f, //0x000015dd andl $2139062143, %edi + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x000015e3 movl $-1061109568, %ebx + 0x29, 0xfb, //0x000015e8 subl %edi, %ebx + 0x44, 0x8d, 0x87, 0x46, 0x46, 0x46, 0x46, //0x000015ea leal $1179010630(%rdi), %r8d + 0x21, 0xf3, //0x000015f1 andl %esi, %ebx + 0x44, 0x85, 0xc3, //0x000015f3 testl %r8d, %ebx + 0x0f, 0x85, 0x79, 0x00, 0x00, 0x00, //0x000015f6 jne LBB1_278 + 0xbb, 0xe0, 0xe0, 0xe0, 0xe0, //0x000015fc movl $-522133280, %ebx + 0x29, 0xfb, //0x00001601 subl %edi, %ebx + 0x81, 0xc7, 0x39, 0x39, 0x39, 0x39, //0x00001603 addl $960051513, %edi + 0x21, 0xde, //0x00001609 andl %ebx, %esi + 0x85, 0xfe, //0x0000160b testl %edi, %esi + 0x0f, 0x85, 0x62, 0x00, 0x00, 0x00, //0x0000160d jne LBB1_278 + 0x0f, 0xca, //0x00001613 bswapl %edx + 0x89, 0xd1, //0x00001615 movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x00001617 shrl $4, %ecx + 0xf7, 0xd1, //0x0000161a notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x0000161c andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00001622 leal (%rcx,%rcx,8), %ecx + 0x81, 0xe2, 0x0f, 0x0f, 0x0f, 0x0f, //0x00001625 andl $252645135, %edx + 0x01, 0xca, //0x0000162b addl %ecx, %edx + 0x89, 0xd1, //0x0000162d movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x0000162f shrl $4, %ecx + 0x09, 0xd1, //0x00001632 orl %edx, %ecx + 0x89, 0xca, //0x00001634 movl %ecx, %edx + 0xc1, 0xea, 0x08, //0x00001636 shrl $8, %edx + 0x81, 0xe2, 0x00, 0xff, 0x00, 0x00, //0x00001639 andl $65280, %edx + 0x89, 0xce, //0x0000163f movl %ecx, %esi + 0x81, 0xe6, 0x80, 0x00, 0x00, 0x00, //0x00001641 andl $128, %esi + 0x09, 0xd6, //0x00001647 orl %edx, %esi + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00001649 je LBB1_273 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x0000164f movl $255, %ecx + //0x00001654 LBB1_273 + 0x48, 0x83, 0xc0, 0x06, //0x00001654 addq $6, %rax + 0x49, 0x89, 0xc1, //0x00001658 movq %rax, %r9 + //0x0000165b LBB1_274 + 0x80, 0xf9, 0x0a, //0x0000165b cmpb $10, %cl + 0x0f, 0x84, 0xd6, 0xfe, 0xff, 0xff, //0x0000165e je LBB1_277 + 0x80, 0xf9, 0x0d, //0x00001664 cmpb $13, %cl + 0x0f, 0x84, 0xcd, 0xfe, 0xff, 0xff, //0x00001667 je LBB1_277 + 0x80, 0xf9, 0x3d, //0x0000166d cmpb $61, %cl + 0xe9, 0xa0, 0xfc, 0xff, 0xff, //0x00001670 jmp LBB1_212 + //0x00001675 LBB1_278 + 0x49, 0x89, 0xc9, //0x00001675 movq %rcx, %r9 + 0xe9, 0x98, 0xfc, 0xff, 0xff, //0x00001678 jmp LBB1_212 + //0x0000167d LBB1_279 + 0x4c, 0x89, 0xc8, //0x0000167d movq %r9, %rax + //0x00001680 LBB1_258 + 0x49, 0x89, 0xc1, //0x00001680 movq %rax, %r9 + 0xe9, 0x8d, 0xfc, 0xff, 0xff, //0x00001683 jmp LBB1_212 + //0x00001688 LBB1_282 + 0x31, 0xc0, //0x00001688 xorl %eax, %eax + 0xe9, 0x39, 0x33, 0x00, 0x00, //0x0000168a jmp LBB1_1139 + //0x0000168f LBB1_283 + 0x48, 0x8b, 0x45, 0x90, //0x0000168f movq $-112(%rbp), %rax + 0x4c, 0x8d, 0x60, 0xe0, //0x00001693 leaq $-32(%rax), %r12 + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x00001697 movq $-136(%rbp), %rax + 0x49, 0x39, 0xc4, //0x0000169e cmpq %rax, %r12 + 0x0f, 0x82, 0xad, 0x22, 0x00, 0x00, //0x000016a1 jb LBB1_854 + 0x4c, 0x8d, 0x53, 0xe0, //0x000016a7 leaq $-32(%rbx), %r10 + 0x48, 0x89, 0x45, 0xb0, //0x000016ab movq %rax, $-80(%rbp) + 0x48, 0x8b, 0x45, 0xa8, //0x000016af movq $-88(%rbp), %rax + 0x49, 0x89, 0xc7, //0x000016b3 movq %rax, %r15 + 0x49, 0x39, 0xc2, //0x000016b6 cmpq %rax, %r10 + 0x0f, 0x82, 0xf9, 0xee, 0xff, 0xff, //0x000016b9 jb LBB1_2 + 0xc4, 0xc1, 0x7e, 0x6f, 0x41, 0x20, //0x000016bf vmovdqu $32(%r9), %ymm0 + 0x4c, 0x8b, 0x6d, 0xa8, //0x000016c5 movq $-88(%rbp), %r13 + 0x48, 0x8b, 0x45, 0x88, //0x000016c9 movq $-120(%rbp), %rax + 0x4a, 0x8d, 0x4c, 0x28, 0xfe, //0x000016cd leaq $-2(%rax,%r13), %rcx + 0x48, 0x89, 0x4d, 0xa0, //0x000016d2 movq %rcx, $-96(%rbp) + 0x4a, 0x8d, 0x44, 0x28, 0xfd, //0x000016d6 leaq $-3(%rax,%r13), %rax + 0x48, 0x89, 0x45, 0x80, //0x000016db movq %rax, $-128(%rbp) + 0xc5, 0xfd, 0x6f, 0x0d, 0x79, 0xed, 0xff, 0xff, //0x000016df vmovdqa $-4743(%rip), %ymm1 /* LCPI1_0+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0x15, 0x91, 0xed, 0xff, 0xff, //0x000016e7 vmovdqa $-4719(%rip), %ymm2 /* LCPI1_1+0(%rip) */ + 0xc5, 0xe1, 0xef, 0xdb, //0x000016ef vpxor %xmm3, %xmm3, %xmm3 + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x000016f3 movabsq $-4294967296, %r8 + 0xc5, 0x7d, 0x6f, 0x2d, 0x9b, 0xed, 0xff, 0xff, //0x000016fd vmovdqa $-4709(%rip), %ymm13 /* LCPI1_2+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0x2d, 0xb3, 0xed, 0xff, 0xff, //0x00001705 vmovdqa $-4685(%rip), %ymm5 /* LCPI1_3+0(%rip) */ + 0xc5, 0xfd, 0x6f, 0x35, 0xcb, 0xed, 0xff, 0xff, //0x0000170d vmovdqa $-4661(%rip), %ymm6 /* LCPI1_4+0(%rip) */ + 0xc5, 0xf9, 0x6f, 0x3d, 0x03, 0xee, 0xff, 0xff, //0x00001715 vmovdqa $-4605(%rip), %xmm7 /* LCPI1_5+0(%rip) */ + 0xc5, 0x7d, 0x6f, 0x05, 0xdb, 0xed, 0xff, 0xff, //0x0000171d vmovdqa $-4645(%rip), %ymm8 /* LCPI1_6+0(%rip) */ + 0x48, 0x8b, 0x85, 0x78, 0xff, 0xff, 0xff, //0x00001725 movq $-136(%rbp), %rax + 0x48, 0x89, 0x45, 0xb0, //0x0000172c movq %rax, $-80(%rbp) + 0x4d, 0x89, 0xef, //0x00001730 movq %r13, %r15 + 0xe9, 0x77, 0x00, 0x00, 0x00, //0x00001733 jmp LBB1_286 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001738 .p2align 4, 0x90 + //0x00001740 LBB1_295 + 0xc4, 0x41, 0x35, 0x74, 0x59, 0x40, //0x00001740 vpcmpeqb $64(%r9), %ymm9, %ymm11 + 0xc4, 0x41, 0x7e, 0x6f, 0x21, //0x00001746 vmovdqu (%r9), %ymm12 + 0xc4, 0x42, 0x1d, 0x00, 0xd2, //0x0000174b vpshufb %ymm10, %ymm12, %ymm10 + 0xc4, 0x43, 0x2d, 0x4c, 0x51, 0x60, 0xb0, //0x00001750 vpblendvb %ymm11, $96(%r9), %ymm10, %ymm10 + 0xc4, 0x41, 0x2d, 0xfc, 0xc9, //0x00001757 vpaddb %ymm9, %ymm10, %ymm9 + 0xc4, 0x41, 0x35, 0xdb, 0xcd, //0x0000175c vpand %ymm13, %ymm9, %ymm9 + 0xc4, 0x62, 0x35, 0x04, 0xcd, //0x00001761 vpmaddubsw %ymm5, %ymm9, %ymm9 + 0xc5, 0x35, 0xf5, 0xce, //0x00001766 vpmaddwd %ymm6, %ymm9, %ymm9 + 0xc4, 0x63, 0x7d, 0x39, 0xcc, 0x01, //0x0000176a vextracti128 $1, %ymm9, %xmm4 + 0xc4, 0xe2, 0x59, 0x00, 0xe7, //0x00001770 vpshufb %xmm7, %xmm4, %xmm4 + 0xc4, 0x42, 0x35, 0x00, 0xc8, //0x00001775 vpshufb %ymm8, %ymm9, %ymm9 + 0xc4, 0xe3, 0x35, 0x02, 0xe4, 0x08, //0x0000177a vpblendd $8, %ymm4, %ymm9, %ymm4 + 0xc4, 0xe3, 0x5d, 0x02, 0xe3, 0xc0, //0x00001780 vpblendd $192, %ymm3, %ymm4, %ymm4 + 0x48, 0x8b, 0x4d, 0xb0, //0x00001786 movq $-80(%rbp), %rcx + 0xc5, 0xfe, 0x7f, 0x21, //0x0000178a vmovdqu %ymm4, (%rcx) + 0x49, 0x83, 0xc7, 0x20, //0x0000178e addq $32, %r15 + 0x48, 0x83, 0xc1, 0x18, //0x00001792 addq $24, %rcx + 0x48, 0x89, 0x4d, 0xb0, //0x00001796 movq %rcx, $-80(%rbp) + 0x49, 0x39, 0xcc, //0x0000179a cmpq %rcx, %r12 + 0x0f, 0x82, 0x15, 0xee, 0xff, 0xff, //0x0000179d jb LBB1_2 + //0x000017a3 LBB1_506 + 0x4d, 0x89, 0xfd, //0x000017a3 movq %r15, %r13 + 0x4d, 0x39, 0xfa, //0x000017a6 cmpq %r15, %r10 + 0x0f, 0x82, 0x09, 0xee, 0xff, 0xff, //0x000017a9 jb LBB1_2 + //0x000017af LBB1_286 + 0xc4, 0x41, 0x7e, 0x6f, 0x4d, 0x00, //0x000017af vmovdqu (%r13), %ymm9 + 0xc4, 0xc1, 0x2d, 0x72, 0xd1, 0x04, //0x000017b5 vpsrld $4, %ymm9, %ymm10 + 0xc5, 0x2d, 0xdb, 0xd1, //0x000017bb vpand %ymm1, %ymm10, %ymm10 + 0xc5, 0x35, 0xdb, 0xd9, //0x000017bf vpand %ymm1, %ymm9, %ymm11 + 0xc4, 0x42, 0x7d, 0x00, 0xdb, //0x000017c3 vpshufb %ymm11, %ymm0, %ymm11 + 0xc4, 0x42, 0x6d, 0x00, 0xe2, //0x000017c8 vpshufb %ymm10, %ymm2, %ymm12 + 0xc4, 0x41, 0x1d, 0xdb, 0xdb, //0x000017cd vpand %ymm11, %ymm12, %ymm11 + 0xc5, 0x25, 0x74, 0xdb, //0x000017d2 vpcmpeqb %ymm3, %ymm11, %ymm11 + 0xc4, 0xc1, 0x7d, 0xd7, 0xc3, //0x000017d6 vpmovmskb %ymm11, %eax + 0x4c, 0x09, 0xc0, //0x000017db orq %r8, %rax + 0x48, 0x0f, 0xbc, 0xc0, //0x000017de bsfq %rax, %rax + 0x83, 0xf8, 0x1f, //0x000017e2 cmpl $31, %eax + 0x0f, 0x87, 0x55, 0xff, 0xff, 0xff, //0x000017e5 ja LBB1_295 + 0x4c, 0x39, 0xfb, //0x000017eb cmpq %r15, %rbx + 0x0f, 0x86, 0x3c, 0x02, 0x00, 0x00, //0x000017ee jbe LBB1_320 + 0xf6, 0x45, 0xbc, 0x08, //0x000017f4 testb $8, $-68(%rbp) + 0x0f, 0x84, 0x1e, 0x00, 0x00, 0x00, //0x000017f8 je LBB1_291 + 0x4c, 0x89, 0xf8, //0x000017fe movq %r15, %rax + 0xe9, 0xd6, 0x00, 0x00, 0x00, //0x00001801 jmp LBB1_303 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001806 .p2align 4, 0x90 + //0x00001810 LBB1_290 + 0x49, 0xff, 0xc7, //0x00001810 incq %r15 + 0x49, 0x39, 0xdf, //0x00001813 cmpq %rbx, %r15 + 0x0f, 0x83, 0x00, 0x02, 0x00, 0x00, //0x00001816 jae LBB1_318 + //0x0000181c LBB1_291 + 0x45, 0x0f, 0xb6, 0x37, //0x0000181c movzbl (%r15), %r14d + 0x49, 0x83, 0xfe, 0x0d, //0x00001820 cmpq $13, %r14 + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x00001824 je LBB1_290 + 0x41, 0x80, 0xfe, 0x0a, //0x0000182a cmpb $10, %r14b + 0x0f, 0x84, 0xdc, 0xff, 0xff, 0xff, //0x0000182e je LBB1_290 + 0x48, 0x8b, 0x45, 0xc0, //0x00001834 movq $-64(%rbp), %rax + 0x42, 0x0f, 0xb6, 0x04, 0x30, //0x00001838 movzbl (%rax,%r14), %eax + 0x49, 0xff, 0xc7, //0x0000183d incq %r15 + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00001840 cmpl $255, %eax + 0x0f, 0x84, 0xb0, 0x02, 0x00, 0x00, //0x00001845 je LBB1_333 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000184b movl $1, %r11d + 0x49, 0x39, 0xdf, //0x00001851 cmpq %rbx, %r15 + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x00001854 jb LBB1_297 + 0xe9, 0x4e, 0x0c, 0x00, 0x00, //0x0000185a jmp LBB1_492 + 0x90, //0x0000185f .p2align 4, 0x90 + //0x00001860 LBB1_296 + 0x49, 0xff, 0xc7, //0x00001860 incq %r15 + 0x49, 0x39, 0xdf, //0x00001863 cmpq %rbx, %r15 + 0x0f, 0x83, 0x90, 0x04, 0x00, 0x00, //0x00001866 jae LBB1_364 + //0x0000186c LBB1_297 + 0x45, 0x0f, 0xb6, 0x37, //0x0000186c movzbl (%r15), %r14d + 0x49, 0x83, 0xfe, 0x0d, //0x00001870 cmpq $13, %r14 + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x00001874 je LBB1_296 + 0x41, 0x80, 0xfe, 0x0a, //0x0000187a cmpb $10, %r14b + 0x0f, 0x84, 0xdc, 0xff, 0xff, 0xff, //0x0000187e je LBB1_296 + 0x89, 0x45, 0xc8, //0x00001884 movl %eax, $-56(%rbp) + 0x48, 0x8b, 0x45, 0xc0, //0x00001887 movq $-64(%rbp), %rax + 0x42, 0x0f, 0xb6, 0x04, 0x30, //0x0000188b movzbl (%rax,%r14), %eax + 0x49, 0xff, 0xc7, //0x00001890 incq %r15 + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00001893 cmpl $255, %eax + 0x0f, 0x84, 0xe0, 0x06, 0x00, 0x00, //0x00001898 je LBB1_422 + 0x8b, 0x4d, 0xc8, //0x0000189e movl $-56(%rbp), %ecx + 0xc1, 0xe1, 0x06, //0x000018a1 shll $6, %ecx + 0x09, 0xc1, //0x000018a4 orl %eax, %ecx + 0x89, 0xc8, //0x000018a6 movl %ecx, %eax + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x000018a8 movl $2, %r11d + 0x49, 0x39, 0xdf, //0x000018ae cmpq %rbx, %r15 + 0x0f, 0x82, 0xab, 0x01, 0x00, 0x00, //0x000018b1 jb LBB1_322 + 0xe9, 0xf1, 0x0b, 0x00, 0x00, //0x000018b7 jmp LBB1_492 + //0x000018bc LBB1_301 + 0x80, 0xfa, 0x6e, //0x000018bc cmpb $110, %dl + 0x0f, 0x85, 0xf5, 0x01, 0x00, 0x00, //0x000018bf jne LBB1_327 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000018c5 .p2align 4, 0x90 + //0x000018d0 LBB1_302 + 0x4c, 0x89, 0xf8, //0x000018d0 movq %r15, %rax + 0x49, 0x39, 0xdf, //0x000018d3 cmpq %rbx, %r15 + 0x0f, 0x83, 0x40, 0x01, 0x00, 0x00, //0x000018d6 jae LBB1_318 + //0x000018dc LBB1_303 + 0x48, 0x8d, 0x50, 0x01, //0x000018dc leaq $1(%rax), %rdx + 0x44, 0x0f, 0xb6, 0x30, //0x000018e0 movzbl (%rax), %r14d + 0x41, 0x80, 0xfe, 0x5c, //0x000018e4 cmpb $92, %r14b + 0x0f, 0x85, 0x12, 0x01, 0x00, 0x00, //0x000018e8 jne LBB1_316 + 0x4c, 0x8d, 0x78, 0x02, //0x000018ee leaq $2(%rax), %r15 + 0x41, 0xb6, 0xff, //0x000018f2 movb $-1, %r14b + 0x49, 0x39, 0xdf, //0x000018f5 cmpq %rbx, %r15 + 0x0f, 0x87, 0xb4, 0x01, 0x00, 0x00, //0x000018f8 ja LBB1_326 + 0x0f, 0xb6, 0x12, //0x000018fe movzbl (%rdx), %edx + 0x80, 0xfa, 0x71, //0x00001901 cmpb $113, %dl + 0x0f, 0x8e, 0xb2, 0xff, 0xff, 0xff, //0x00001904 jle LBB1_301 + 0x80, 0xfa, 0x72, //0x0000190a cmpb $114, %dl + 0x0f, 0x84, 0xbd, 0xff, 0xff, 0xff, //0x0000190d je LBB1_302 + 0x80, 0xfa, 0x75, //0x00001913 cmpb $117, %dl + 0x0f, 0x85, 0xaa, 0x01, 0x00, 0x00, //0x00001916 jne LBB1_329 + 0x48, 0x8b, 0x4d, 0xd0, //0x0000191c movq $-48(%rbp), %rcx + 0x4c, 0x29, 0xf9, //0x00001920 subq %r15, %rcx + 0x48, 0x83, 0xf9, 0x04, //0x00001923 cmpq $4, %rcx + 0x0f, 0x8c, 0x99, 0x01, 0x00, 0x00, //0x00001927 jl LBB1_329 + 0x41, 0x8b, 0x1f, //0x0000192d movl (%r15), %ebx + 0x89, 0xdf, //0x00001930 movl %ebx, %edi + 0xf7, 0xd7, //0x00001932 notl %edi + 0x8d, 0x8b, 0xd0, 0xcf, 0xcf, 0xcf, //0x00001934 leal $-808464432(%rbx), %ecx + 0x81, 0xe7, 0x80, 0x80, 0x80, 0x80, //0x0000193a andl $-2139062144, %edi + 0x85, 0xcf, //0x00001940 testl %ecx, %edi + 0x0f, 0x85, 0x7e, 0x01, 0x00, 0x00, //0x00001942 jne LBB1_329 + 0x8d, 0x8b, 0x19, 0x19, 0x19, 0x19, //0x00001948 leal $421075225(%rbx), %ecx + 0x09, 0xd9, //0x0000194e orl %ebx, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x00001950 testl $-2139062144, %ecx + 0x0f, 0x85, 0x6a, 0x01, 0x00, 0x00, //0x00001956 jne LBB1_329 + 0x89, 0xda, //0x0000195c movl %ebx, %edx + 0x81, 0xe2, 0x7f, 0x7f, 0x7f, 0x7f, //0x0000195e andl $2139062143, %edx + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x00001964 movl $-1061109568, %ecx + 0x29, 0xd1, //0x00001969 subl %edx, %ecx + 0x8d, 0xb2, 0x46, 0x46, 0x46, 0x46, //0x0000196b leal $1179010630(%rdx), %esi + 0x21, 0xf9, //0x00001971 andl %edi, %ecx + 0x85, 0xf1, //0x00001973 testl %esi, %ecx + 0x0f, 0x85, 0x4b, 0x01, 0x00, 0x00, //0x00001975 jne LBB1_329 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x0000197b movl $-522133280, %ecx + 0x29, 0xd1, //0x00001980 subl %edx, %ecx + 0x81, 0xc2, 0x39, 0x39, 0x39, 0x39, //0x00001982 addl $960051513, %edx + 0x21, 0xcf, //0x00001988 andl %ecx, %edi + 0x85, 0xd7, //0x0000198a testl %edx, %edi + 0x0f, 0x85, 0x34, 0x01, 0x00, 0x00, //0x0000198c jne LBB1_329 + 0x0f, 0xcb, //0x00001992 bswapl %ebx + 0x89, 0xd9, //0x00001994 movl %ebx, %ecx + 0xc1, 0xe9, 0x04, //0x00001996 shrl $4, %ecx + 0xf7, 0xd1, //0x00001999 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x0000199b andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x000019a1 leal (%rcx,%rcx,8), %ecx + 0x81, 0xe3, 0x0f, 0x0f, 0x0f, 0x0f, //0x000019a4 andl $252645135, %ebx + 0x01, 0xcb, //0x000019aa addl %ecx, %ebx + 0x41, 0x89, 0xde, //0x000019ac movl %ebx, %r14d + 0x41, 0xc1, 0xee, 0x04, //0x000019af shrl $4, %r14d + 0x41, 0x09, 0xde, //0x000019b3 orl %ebx, %r14d + 0x44, 0x89, 0xf1, //0x000019b6 movl %r14d, %ecx + 0xc1, 0xe9, 0x08, //0x000019b9 shrl $8, %ecx + 0x81, 0xe1, 0x00, 0xff, 0x00, 0x00, //0x000019bc andl $65280, %ecx + 0x44, 0x89, 0xf2, //0x000019c2 movl %r14d, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x000019c5 andl $128, %edx + 0x09, 0xca, //0x000019cb orl %ecx, %edx + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x000019cd je LBB1_315 + 0x41, 0xbe, 0xff, 0x00, 0x00, 0x00, //0x000019d3 movl $255, %r14d + //0x000019d9 LBB1_315 + 0x48, 0x83, 0xc0, 0x06, //0x000019d9 addq $6, %rax + 0x49, 0x89, 0xc7, //0x000019dd movq %rax, %r15 + 0x48, 0x8b, 0x5d, 0xd0, //0x000019e0 movq $-48(%rbp), %rbx + 0x41, 0x80, 0xfe, 0x0d, //0x000019e4 cmpb $13, %r14b + 0x0f, 0x85, 0x1f, 0x00, 0x00, 0x00, //0x000019e8 jne LBB1_317 + 0xe9, 0xdd, 0xfe, 0xff, 0xff, //0x000019ee jmp LBB1_302 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000019f3 .p2align 4, 0x90 + //0x00001a00 LBB1_316 + 0x49, 0x89, 0xd7, //0x00001a00 movq %rdx, %r15 + 0x41, 0x80, 0xfe, 0x0d, //0x00001a03 cmpb $13, %r14b + 0x0f, 0x84, 0xc3, 0xfe, 0xff, 0xff, //0x00001a07 je LBB1_302 + //0x00001a0d LBB1_317 + 0x41, 0x80, 0xfe, 0x0a, //0x00001a0d cmpb $10, %r14b + 0x0f, 0x84, 0xb9, 0xfe, 0xff, 0xff, //0x00001a11 je LBB1_302 + 0xe9, 0xae, 0x00, 0x00, 0x00, //0x00001a17 jmp LBB1_330 + //0x00001a1c LBB1_318 + 0x31, 0xc0, //0x00001a1c xorl %eax, %eax + 0x45, 0x31, 0xdb, //0x00001a1e xorl %r11d, %r11d + //0x00001a21 LBB1_319 + 0x45, 0x85, 0xdb, //0x00001a21 testl %r11d, %r11d + 0x0f, 0x85, 0x83, 0x0a, 0x00, 0x00, //0x00001a24 jne LBB1_492 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001a2a .p2align 4, 0x90 + //0x00001a30 LBB1_320 + 0x48, 0x8b, 0x4d, 0xb0, //0x00001a30 movq $-80(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb0, //0x00001a34 movq %rcx, $-80(%rbp) + 0x49, 0x39, 0xcc, //0x00001a38 cmpq %rcx, %r12 + 0x0f, 0x83, 0x62, 0xfd, 0xff, 0xff, //0x00001a3b jae LBB1_506 + 0xe9, 0x72, 0xeb, 0xff, 0xff, //0x00001a41 jmp LBB1_2 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001a46 .p2align 4, 0x90 + //0x00001a50 LBB1_321 + 0x49, 0xff, 0xc7, //0x00001a50 incq %r15 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00001a53 movl $2, %r11d + 0x49, 0x39, 0xdf, //0x00001a59 cmpq %rbx, %r15 + 0x0f, 0x83, 0xbf, 0xff, 0xff, 0xff, //0x00001a5c jae LBB1_319 + //0x00001a62 LBB1_322 + 0x45, 0x0f, 0xb6, 0x37, //0x00001a62 movzbl (%r15), %r14d + 0x49, 0x83, 0xfe, 0x0d, //0x00001a66 cmpq $13, %r14 + 0x0f, 0x84, 0xe0, 0xff, 0xff, 0xff, //0x00001a6a je LBB1_321 + 0x41, 0x80, 0xfe, 0x0a, //0x00001a70 cmpb $10, %r14b + 0x0f, 0x84, 0xd6, 0xff, 0xff, 0xff, //0x00001a74 je LBB1_321 + 0x89, 0x45, 0xc8, //0x00001a7a movl %eax, $-56(%rbp) + 0x48, 0x8b, 0x45, 0xc0, //0x00001a7d movq $-64(%rbp), %rax + 0x42, 0x0f, 0xb6, 0x04, 0x30, //0x00001a81 movzbl (%rax,%r14), %eax + 0x49, 0xff, 0xc7, //0x00001a86 incq %r15 + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00001a89 cmpl $255, %eax + 0x0f, 0x84, 0x67, 0x09, 0x00, 0x00, //0x00001a8e je LBB1_458 + 0x8b, 0x4d, 0xc8, //0x00001a94 movl $-56(%rbp), %ecx + 0xc1, 0xe1, 0x06, //0x00001a97 shll $6, %ecx + 0x09, 0xc1, //0x00001a9a orl %eax, %ecx + 0x89, 0xc8, //0x00001a9c movl %ecx, %eax + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00001a9e movl $3, %r11d + 0x49, 0x39, 0xdf, //0x00001aa4 cmpq %rbx, %r15 + 0x0f, 0x82, 0xec, 0x03, 0x00, 0x00, //0x00001aa7 jb LBB1_387 + 0xe9, 0xfb, 0x09, 0x00, 0x00, //0x00001aad jmp LBB1_492 + //0x00001ab2 LBB1_326 + 0x49, 0x89, 0xd7, //0x00001ab2 movq %rdx, %r15 + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00001ab5 jmp LBB1_330 + //0x00001aba LBB1_327 + 0x80, 0xfa, 0x2f, //0x00001aba cmpb $47, %dl + 0x0f, 0x85, 0x03, 0x00, 0x00, 0x00, //0x00001abd jne LBB1_329 + 0x41, 0x89, 0xd6, //0x00001ac3 movl %edx, %r14d + //0x00001ac6 LBB1_329 + 0x48, 0x8b, 0x5d, 0xd0, //0x00001ac6 movq $-48(%rbp), %rbx + //0x00001aca LBB1_330 + 0x41, 0x0f, 0xb6, 0xc6, //0x00001aca movzbl %r14b, %eax + 0x48, 0x8b, 0x4d, 0xc0, //0x00001ace movq $-64(%rbp), %rcx + 0x0f, 0xb6, 0x04, 0x01, //0x00001ad2 movzbl (%rcx,%rax), %eax + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00001ad6 cmpl $255, %eax + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00001adb je LBB1_333 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001ae1 movl $1, %r11d + 0x49, 0x39, 0xdf, //0x00001ae7 cmpq %rbx, %r15 + 0x0f, 0x83, 0xbd, 0x09, 0x00, 0x00, //0x00001aea jae LBB1_492 + 0x89, 0x45, 0xc8, //0x00001af0 movl %eax, $-56(%rbp) + 0x4c, 0x89, 0xf8, //0x00001af3 movq %r15, %rax + 0xe9, 0xd4, 0x00, 0x00, 0x00, //0x00001af6 jmp LBB1_349 + //0x00001afb LBB1_333 + 0xc7, 0x45, 0xc8, 0x00, 0x00, 0x00, 0x00, //0x00001afb movl $0, $-56(%rbp) + 0x45, 0x31, 0xdb, //0x00001b02 xorl %r11d, %r11d + //0x00001b05 LBB1_334 + 0xf6, 0x45, 0xbc, 0x02, //0x00001b05 testb $2, $-68(%rbp) + 0x0f, 0x85, 0xca, 0x09, 0x00, 0x00, //0x00001b09 jne LBB1_495 + 0x41, 0x83, 0xfb, 0x02, //0x00001b0f cmpl $2, %r11d + 0x0f, 0x82, 0xc0, 0x09, 0x00, 0x00, //0x00001b13 jb LBB1_495 + 0x41, 0x80, 0xfe, 0x3d, //0x00001b19 cmpb $61, %r14b + 0x0f, 0x85, 0xb6, 0x09, 0x00, 0x00, //0x00001b1d jne LBB1_495 + 0xbe, 0x05, 0x00, 0x00, 0x00, //0x00001b23 movl $5, %esi + 0x44, 0x29, 0xde, //0x00001b28 subl %r11d, %esi + 0xf6, 0x45, 0xbc, 0x08, //0x00001b2b testb $8, $-68(%rbp) + 0x0f, 0x85, 0xd2, 0x01, 0x00, 0x00, //0x00001b2f jne LBB1_365 + 0x4c, 0x39, 0x7d, 0xd0, //0x00001b35 cmpq %r15, $-48(%rbp) + 0x0f, 0x86, 0x74, 0x0b, 0x00, 0x00, //0x00001b39 jbe LBB1_499 + 0x49, 0x8d, 0x57, 0x03, //0x00001b3f leaq $3(%r15), %rdx + 0x48, 0x8b, 0x45, 0xa0, //0x00001b43 movq $-96(%rbp), %rax + 0x4c, 0x29, 0xf8, //0x00001b47 subq %r15, %rax + 0x49, 0x8d, 0x5f, 0x04, //0x00001b4a leaq $4(%r15), %rbx + 0x48, 0x8b, 0x7d, 0x80, //0x00001b4e movq $-128(%rbp), %rdi + 0x4c, 0x29, 0xff, //0x00001b52 subq %r15, %rdi + 0xe9, 0x1f, 0x00, 0x00, 0x00, //0x00001b55 jmp LBB1_341 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00001b5a .p2align 4, 0x90 + //0x00001b60 LBB1_340 + 0x49, 0xff, 0xc7, //0x00001b60 incq %r15 + 0x48, 0xff, 0xc2, //0x00001b63 incq %rdx + 0x48, 0xff, 0xc8, //0x00001b66 decq %rax + 0x48, 0xff, 0xc3, //0x00001b69 incq %rbx + 0x48, 0xff, 0xcf, //0x00001b6c decq %rdi + 0x4c, 0x39, 0x7d, 0xd0, //0x00001b6f cmpq %r15, $-48(%rbp) + 0x0f, 0x84, 0x51, 0x05, 0x00, 0x00, //0x00001b73 je LBB1_498 + //0x00001b79 LBB1_341 + 0x41, 0x0f, 0xb6, 0x0f, //0x00001b79 movzbl (%r15), %ecx + 0x80, 0xf9, 0x0a, //0x00001b7d cmpb $10, %cl + 0x0f, 0x84, 0xda, 0xff, 0xff, 0xff, //0x00001b80 je LBB1_340 + 0x80, 0xf9, 0x0d, //0x00001b86 cmpb $13, %cl + 0x0f, 0x84, 0xd1, 0xff, 0xff, 0xff, //0x00001b89 je LBB1_340 + 0x80, 0xf9, 0x3d, //0x00001b8f cmpb $61, %cl + 0x0f, 0x85, 0x43, 0x05, 0x00, 0x00, //0x00001b92 jne LBB1_426 + 0x49, 0xff, 0xc7, //0x00001b98 incq %r15 + 0x83, 0xfe, 0x02, //0x00001b9b cmpl $2, %esi + 0x0f, 0x84, 0x35, 0x09, 0x00, 0x00, //0x00001b9e je LBB1_495 + 0x4c, 0x39, 0x7d, 0xd0, //0x00001ba4 cmpq %r15, $-48(%rbp) + 0x0f, 0x87, 0x41, 0x03, 0x00, 0x00, //0x00001ba8 ja LBB1_392 + 0xe9, 0x00, 0x0b, 0x00, 0x00, //0x00001bae jmp LBB1_499 + //0x00001bb3 LBB1_346 + 0x80, 0xfb, 0x6e, //0x00001bb3 cmpb $110, %bl + 0x0f, 0x85, 0x6d, 0x03, 0x00, 0x00, //0x00001bb6 jne LBB1_398 + //0x00001bbc LBB1_347 + 0x49, 0x89, 0xd7, //0x00001bbc movq %rdx, %r15 + 0x48, 0x8b, 0x5d, 0xd0, //0x00001bbf movq $-48(%rbp), %rbx + //0x00001bc3 LBB1_348 + 0x4c, 0x89, 0xf8, //0x00001bc3 movq %r15, %rax + 0x49, 0x39, 0xdf, //0x00001bc6 cmpq %rbx, %r15 + 0x0f, 0x83, 0xaa, 0x02, 0x00, 0x00, //0x00001bc9 jae LBB1_385 + //0x00001bcf LBB1_349 + 0x4c, 0x8d, 0x78, 0x01, //0x00001bcf leaq $1(%rax), %r15 + 0x44, 0x0f, 0xb6, 0x30, //0x00001bd3 movzbl (%rax), %r14d + 0x41, 0x80, 0xfe, 0x5c, //0x00001bd7 cmpb $92, %r14b + 0x0f, 0x85, 0x02, 0x01, 0x00, 0x00, //0x00001bdb jne LBB1_362 + 0x48, 0x8d, 0x50, 0x02, //0x00001be1 leaq $2(%rax), %rdx + 0x41, 0xb6, 0xff, //0x00001be5 movb $-1, %r14b + 0x48, 0x39, 0xda, //0x00001be8 cmpq %rbx, %rdx + 0x0f, 0x87, 0x55, 0x03, 0x00, 0x00, //0x00001beb ja LBB1_401 + 0x41, 0x0f, 0xb6, 0x1f, //0x00001bf1 movzbl (%r15), %ebx + 0x80, 0xfb, 0x71, //0x00001bf5 cmpb $113, %bl + 0x0f, 0x8e, 0xb5, 0xff, 0xff, 0xff, //0x00001bf8 jle LBB1_346 + 0x80, 0xfb, 0x72, //0x00001bfe cmpb $114, %bl + 0x0f, 0x84, 0xb5, 0xff, 0xff, 0xff, //0x00001c01 je LBB1_347 + 0x80, 0xfb, 0x75, //0x00001c07 cmpb $117, %bl + 0x0f, 0x85, 0x25, 0x03, 0x00, 0x00, //0x00001c0a jne LBB1_400 + 0x48, 0x8b, 0x4d, 0xd0, //0x00001c10 movq $-48(%rbp), %rcx + 0x48, 0x29, 0xd1, //0x00001c14 subq %rdx, %rcx + 0x48, 0x83, 0xf9, 0x04, //0x00001c17 cmpq $4, %rcx + 0x0f, 0x8c, 0x14, 0x03, 0x00, 0x00, //0x00001c1b jl LBB1_400 + 0x8b, 0x32, //0x00001c21 movl (%rdx), %esi + 0x89, 0xf3, //0x00001c23 movl %esi, %ebx + 0xf7, 0xd3, //0x00001c25 notl %ebx + 0x8d, 0x8e, 0xd0, 0xcf, 0xcf, 0xcf, //0x00001c27 leal $-808464432(%rsi), %ecx + 0x81, 0xe3, 0x80, 0x80, 0x80, 0x80, //0x00001c2d andl $-2139062144, %ebx + 0x85, 0xcb, //0x00001c33 testl %ecx, %ebx + 0x0f, 0x85, 0xfa, 0x02, 0x00, 0x00, //0x00001c35 jne LBB1_400 + 0x8d, 0x8e, 0x19, 0x19, 0x19, 0x19, //0x00001c3b leal $421075225(%rsi), %ecx + 0x09, 0xf1, //0x00001c41 orl %esi, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x00001c43 testl $-2139062144, %ecx + 0x0f, 0x85, 0xe6, 0x02, 0x00, 0x00, //0x00001c49 jne LBB1_400 + 0x89, 0xf7, //0x00001c4f movl %esi, %edi + 0x81, 0xe7, 0x7f, 0x7f, 0x7f, 0x7f, //0x00001c51 andl $2139062143, %edi + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x00001c57 movl $-1061109568, %ecx + 0x29, 0xf9, //0x00001c5c subl %edi, %ecx + 0x44, 0x8d, 0x87, 0x46, 0x46, 0x46, 0x46, //0x00001c5e leal $1179010630(%rdi), %r8d + 0x21, 0xd9, //0x00001c65 andl %ebx, %ecx + 0x44, 0x85, 0xc1, //0x00001c67 testl %r8d, %ecx + 0x0f, 0x85, 0xc5, 0x02, 0x00, 0x00, //0x00001c6a jne LBB1_400 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x00001c70 movl $-522133280, %ecx + 0x29, 0xf9, //0x00001c75 subl %edi, %ecx + 0x81, 0xc7, 0x39, 0x39, 0x39, 0x39, //0x00001c77 addl $960051513, %edi + 0x21, 0xcb, //0x00001c7d andl %ecx, %ebx + 0x85, 0xfb, //0x00001c7f testl %edi, %ebx + 0x0f, 0x85, 0xae, 0x02, 0x00, 0x00, //0x00001c81 jne LBB1_400 + 0x0f, 0xce, //0x00001c87 bswapl %esi + 0x89, 0xf1, //0x00001c89 movl %esi, %ecx + 0xc1, 0xe9, 0x04, //0x00001c8b shrl $4, %ecx + 0xf7, 0xd1, //0x00001c8e notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00001c90 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00001c96 leal (%rcx,%rcx,8), %ecx + 0x81, 0xe6, 0x0f, 0x0f, 0x0f, 0x0f, //0x00001c99 andl $252645135, %esi + 0x01, 0xce, //0x00001c9f addl %ecx, %esi + 0x41, 0x89, 0xf6, //0x00001ca1 movl %esi, %r14d + 0x41, 0xc1, 0xee, 0x04, //0x00001ca4 shrl $4, %r14d + 0x41, 0x09, 0xf6, //0x00001ca8 orl %esi, %r14d + 0x44, 0x89, 0xf1, //0x00001cab movl %r14d, %ecx + 0xc1, 0xe9, 0x08, //0x00001cae shrl $8, %ecx + 0x81, 0xe1, 0x00, 0xff, 0x00, 0x00, //0x00001cb1 andl $65280, %ecx + 0x44, 0x89, 0xf2, //0x00001cb7 movl %r14d, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x00001cba andl $128, %edx + 0x09, 0xca, //0x00001cc0 orl %ecx, %edx + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00001cc2 je LBB1_361 + 0x41, 0xbe, 0xff, 0x00, 0x00, 0x00, //0x00001cc8 movl $255, %r14d + //0x00001cce LBB1_361 + 0x48, 0x83, 0xc0, 0x06, //0x00001cce addq $6, %rax + 0x49, 0x89, 0xc7, //0x00001cd2 movq %rax, %r15 + 0x48, 0x8b, 0x5d, 0xd0, //0x00001cd5 movq $-48(%rbp), %rbx + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00001cd9 movabsq $-4294967296, %r8 + //0x00001ce3 LBB1_362 + 0x41, 0x80, 0xfe, 0x0a, //0x00001ce3 cmpb $10, %r14b + 0x0f, 0x84, 0xd6, 0xfe, 0xff, 0xff, //0x00001ce7 je LBB1_348 + 0x41, 0x80, 0xfe, 0x0d, //0x00001ced cmpb $13, %r14b + 0x0f, 0x84, 0xcc, 0xfe, 0xff, 0xff, //0x00001cf1 je LBB1_348 + 0xe9, 0x4a, 0x02, 0x00, 0x00, //0x00001cf7 jmp LBB1_401 + //0x00001cfc LBB1_364 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001cfc movl $1, %r11d + 0xe9, 0x1a, 0xfd, 0xff, 0xff, //0x00001d02 jmp LBB1_319 + //0x00001d07 LBB1_365 + 0x48, 0x8b, 0x5d, 0xd0, //0x00001d07 movq $-48(%rbp), %rbx + 0x4c, 0x39, 0xfb, //0x00001d0b cmpq %r15, %rbx + 0x0f, 0x87, 0x28, 0x00, 0x00, 0x00, //0x00001d0e ja LBB1_368 + 0xe9, 0x9a, 0x09, 0x00, 0x00, //0x00001d14 jmp LBB1_499 + //0x00001d19 LBB1_384 + 0x49, 0x89, 0xd6, //0x00001d19 movq %rdx, %r14 + 0x4d, 0x89, 0xf7, //0x00001d1c movq %r14, %r15 + 0x49, 0x39, 0xde, //0x00001d1f cmpq %rbx, %r14 + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x00001d22 jb LBB1_368 + 0xe9, 0x44, 0x01, 0x00, 0x00, //0x00001d28 jmp LBB1_425 + //0x00001d2d LBB1_366 + 0x4c, 0x89, 0xf2, //0x00001d2d movq %r14, %rdx + 0x4d, 0x89, 0xf7, //0x00001d30 movq %r14, %r15 + 0x49, 0x39, 0xde, //0x00001d33 cmpq %rbx, %r14 + 0x0f, 0x83, 0x35, 0x01, 0x00, 0x00, //0x00001d36 jae LBB1_425 + //0x00001d3c LBB1_368 + 0x49, 0x8d, 0x57, 0x01, //0x00001d3c leaq $1(%r15), %rdx + 0x41, 0x0f, 0xb6, 0x3f, //0x00001d40 movzbl (%r15), %edi + 0x40, 0x80, 0xff, 0x5c, //0x00001d44 cmpb $92, %dil + 0x0f, 0x85, 0xe9, 0x00, 0x00, 0x00, //0x00001d48 jne LBB1_381 + 0x4d, 0x8d, 0x77, 0x02, //0x00001d4e leaq $2(%r15), %r14 + 0x49, 0x39, 0xde, //0x00001d52 cmpq %rbx, %r14 + 0x0f, 0x87, 0xe2, 0x07, 0x00, 0x00, //0x00001d55 ja LBB1_459 + 0x0f, 0xb6, 0x02, //0x00001d5b movzbl (%rdx), %eax + 0x3c, 0x6e, //0x00001d5e cmpb $110, %al + 0x0f, 0x84, 0xc7, 0xff, 0xff, 0xff, //0x00001d60 je LBB1_366 + 0x3c, 0x72, //0x00001d66 cmpb $114, %al + 0x0f, 0x84, 0xbf, 0xff, 0xff, 0xff, //0x00001d68 je LBB1_366 + 0x3c, 0x75, //0x00001d6e cmpb $117, %al + 0x0f, 0x85, 0x7d, 0x06, 0x00, 0x00, //0x00001d70 jne LBB1_479 + 0x48, 0x89, 0xd8, //0x00001d76 movq %rbx, %rax + 0x4c, 0x29, 0xf0, //0x00001d79 subq %r14, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00001d7c cmpq $4, %rax + 0x0f, 0x8c, 0x6d, 0x06, 0x00, 0x00, //0x00001d80 jl LBB1_479 + 0x41, 0x8b, 0x06, //0x00001d86 movl (%r14), %eax + 0x89, 0xc2, //0x00001d89 movl %eax, %edx + 0xf7, 0xd2, //0x00001d8b notl %edx + 0x8d, 0x88, 0xd0, 0xcf, 0xcf, 0xcf, //0x00001d8d leal $-808464432(%rax), %ecx + 0x81, 0xe2, 0x80, 0x80, 0x80, 0x80, //0x00001d93 andl $-2139062144, %edx + 0x85, 0xca, //0x00001d99 testl %ecx, %edx + 0x0f, 0x85, 0x52, 0x06, 0x00, 0x00, //0x00001d9b jne LBB1_479 + 0x8d, 0x88, 0x19, 0x19, 0x19, 0x19, //0x00001da1 leal $421075225(%rax), %ecx + 0x09, 0xc1, //0x00001da7 orl %eax, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x00001da9 testl $-2139062144, %ecx + 0x0f, 0x85, 0x3e, 0x06, 0x00, 0x00, //0x00001daf jne LBB1_479 + 0x89, 0x75, 0x98, //0x00001db5 movl %esi, $-104(%rbp) + 0x89, 0xc7, //0x00001db8 movl %eax, %edi + 0x81, 0xe7, 0x7f, 0x7f, 0x7f, 0x7f, //0x00001dba andl $2139062143, %edi + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x00001dc0 movl $-1061109568, %ecx + 0x29, 0xf9, //0x00001dc5 subl %edi, %ecx + 0x8d, 0xb7, 0x46, 0x46, 0x46, 0x46, //0x00001dc7 leal $1179010630(%rdi), %esi + 0x21, 0xd1, //0x00001dcd andl %edx, %ecx + 0x85, 0xf1, //0x00001dcf testl %esi, %ecx + 0x0f, 0x85, 0x1c, 0x06, 0x00, 0x00, //0x00001dd1 jne LBB1_479 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x00001dd7 movl $-522133280, %ecx + 0x29, 0xf9, //0x00001ddc subl %edi, %ecx + 0x81, 0xc7, 0x39, 0x39, 0x39, 0x39, //0x00001dde addl $960051513, %edi + 0x21, 0xca, //0x00001de4 andl %ecx, %edx + 0x85, 0xfa, //0x00001de6 testl %edi, %edx + 0x0f, 0x85, 0x05, 0x06, 0x00, 0x00, //0x00001de8 jne LBB1_479 + 0x0f, 0xc8, //0x00001dee bswapl %eax + 0x89, 0xc1, //0x00001df0 movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00001df2 shrl $4, %ecx + 0xf7, 0xd1, //0x00001df5 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00001df7 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00001dfd leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x00001e00 andl $252645135, %eax + 0x01, 0xc8, //0x00001e05 addl %ecx, %eax + 0x89, 0xc7, //0x00001e07 movl %eax, %edi + 0xc1, 0xef, 0x04, //0x00001e09 shrl $4, %edi + 0x09, 0xc7, //0x00001e0c orl %eax, %edi + 0x89, 0xf8, //0x00001e0e movl %edi, %eax + 0xc1, 0xe8, 0x08, //0x00001e10 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00001e13 andl $65280, %eax + 0x89, 0xf9, //0x00001e18 movl %edi, %ecx + 0x81, 0xe1, 0x80, 0x00, 0x00, 0x00, //0x00001e1a andl $128, %ecx + 0x09, 0xc1, //0x00001e20 orl %eax, %ecx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00001e22 je LBB1_380 + 0xbf, 0xff, 0x00, 0x00, 0x00, //0x00001e28 movl $255, %edi + //0x00001e2d LBB1_380 + 0x49, 0x83, 0xc7, 0x06, //0x00001e2d addq $6, %r15 + 0x4c, 0x89, 0xfa, //0x00001e31 movq %r15, %rdx + 0x8b, 0x75, 0x98, //0x00001e34 movl $-104(%rbp), %esi + //0x00001e37 LBB1_381 + 0x40, 0x80, 0xff, 0x0a, //0x00001e37 cmpb $10, %dil + 0x0f, 0x84, 0xd8, 0xfe, 0xff, 0xff, //0x00001e3b je LBB1_384 + 0x40, 0x80, 0xff, 0x0d, //0x00001e41 cmpb $13, %dil + 0x0f, 0x84, 0xce, 0xfe, 0xff, 0xff, //0x00001e45 je LBB1_384 + 0x40, 0x80, 0xff, 0x3d, //0x00001e4b cmpb $61, %dil + 0x0f, 0x85, 0xe8, 0x06, 0x00, 0x00, //0x00001e4f jne LBB1_459 + 0x49, 0x89, 0xd7, //0x00001e55 movq %rdx, %r15 + 0x83, 0xfe, 0x02, //0x00001e58 cmpl $2, %esi + 0x0f, 0x84, 0x78, 0x06, 0x00, 0x00, //0x00001e5b je LBB1_495 + 0x89, 0x75, 0x98, //0x00001e61 movl %esi, $-104(%rbp) + 0x48, 0x8b, 0x75, 0xd0, //0x00001e64 movq $-48(%rbp), %rsi + 0x48, 0x39, 0xd6, //0x00001e68 cmpq %rdx, %rsi + 0x0f, 0x87, 0x48, 0x04, 0x00, 0x00, //0x00001e6b ja LBB1_462 + //0x00001e71 LBB1_425 + 0x49, 0x89, 0xd7, //0x00001e71 movq %rdx, %r15 + 0xe9, 0x3a, 0x08, 0x00, 0x00, //0x00001e74 jmp LBB1_499 + //0x00001e79 LBB1_385 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001e79 movl $1, %r11d + 0x8b, 0x45, 0xc8, //0x00001e7f movl $-56(%rbp), %eax + 0xe9, 0x9a, 0xfb, 0xff, 0xff, //0x00001e82 jmp LBB1_319 + //0x00001e87 LBB1_386 + 0x49, 0xff, 0xc7, //0x00001e87 incq %r15 + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00001e8a movl $3, %r11d + 0x49, 0x39, 0xdf, //0x00001e90 cmpq %rbx, %r15 + 0x0f, 0x83, 0x88, 0xfb, 0xff, 0xff, //0x00001e93 jae LBB1_319 + //0x00001e99 LBB1_387 + 0x45, 0x0f, 0xb6, 0x37, //0x00001e99 movzbl (%r15), %r14d + 0x49, 0x83, 0xfe, 0x0d, //0x00001e9d cmpq $13, %r14 + 0x0f, 0x84, 0xe0, 0xff, 0xff, 0xff, //0x00001ea1 je LBB1_386 + 0x41, 0x80, 0xfe, 0x0a, //0x00001ea7 cmpb $10, %r14b + 0x0f, 0x84, 0xd6, 0xff, 0xff, 0xff, //0x00001eab je LBB1_386 + 0x89, 0x45, 0xc8, //0x00001eb1 movl %eax, $-56(%rbp) + 0x48, 0x8b, 0x45, 0xc0, //0x00001eb4 movq $-64(%rbp), %rax + 0x42, 0x0f, 0xb6, 0x04, 0x30, //0x00001eb8 movzbl (%rax,%r14), %eax + 0x49, 0xff, 0xc7, //0x00001ebd incq %r15 + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00001ec0 cmpl $255, %eax + 0x0f, 0x85, 0xd2, 0x05, 0x00, 0x00, //0x00001ec5 jne LBB1_491 + //0x00001ecb LBB1_497 + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00001ecb movl $3, %r11d + 0xe9, 0x2f, 0xfc, 0xff, 0xff, //0x00001ed1 jmp LBB1_334 + //0x00001ed6 LBB1_391 + 0x49, 0xff, 0xc7, //0x00001ed6 incq %r15 + 0x48, 0xff, 0xc2, //0x00001ed9 incq %rdx + 0x48, 0xff, 0xc8, //0x00001edc decq %rax + 0x48, 0xff, 0xc3, //0x00001edf incq %rbx + 0x48, 0xff, 0xcf, //0x00001ee2 decq %rdi + 0x4c, 0x39, 0x7d, 0xd0, //0x00001ee5 cmpq %r15, $-48(%rbp) + 0x0f, 0x84, 0xdb, 0x01, 0x00, 0x00, //0x00001ee9 je LBB1_498 + //0x00001eef LBB1_392 + 0x41, 0x0f, 0xb6, 0x0f, //0x00001eef movzbl (%r15), %ecx + 0x80, 0xf9, 0x0a, //0x00001ef3 cmpb $10, %cl + 0x0f, 0x84, 0xda, 0xff, 0xff, 0xff, //0x00001ef6 je LBB1_391 + 0x80, 0xf9, 0x0d, //0x00001efc cmpb $13, %cl + 0x0f, 0x84, 0xd1, 0xff, 0xff, 0xff, //0x00001eff je LBB1_391 + 0x80, 0xf9, 0x3d, //0x00001f05 cmpb $61, %cl + 0x0f, 0x85, 0xcd, 0x01, 0x00, 0x00, //0x00001f08 jne LBB1_426 + 0x49, 0xff, 0xc7, //0x00001f0e incq %r15 + 0x83, 0xfe, 0x03, //0x00001f11 cmpl $3, %esi + 0x0f, 0x84, 0xbf, 0x05, 0x00, 0x00, //0x00001f14 je LBB1_495 + 0x4c, 0x39, 0x7d, 0xd0, //0x00001f1a cmpq %r15, $-48(%rbp) + 0x0f, 0x87, 0xf4, 0x04, 0x00, 0x00, //0x00001f1e ja LBB1_481 + 0xe9, 0x8a, 0x07, 0x00, 0x00, //0x00001f24 jmp LBB1_499 + //0x00001f29 LBB1_398 + 0x80, 0xfb, 0x2f, //0x00001f29 cmpb $47, %bl + 0x0f, 0x85, 0x03, 0x00, 0x00, 0x00, //0x00001f2c jne LBB1_400 + 0x41, 0x89, 0xde, //0x00001f32 movl %ebx, %r14d + //0x00001f35 LBB1_400 + 0x49, 0x89, 0xd7, //0x00001f35 movq %rdx, %r15 + 0x48, 0x8b, 0x5d, 0xd0, //0x00001f38 movq $-48(%rbp), %rbx + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00001f3c movabsq $-4294967296, %r8 + //0x00001f46 LBB1_401 + 0x41, 0x0f, 0xb6, 0xc6, //0x00001f46 movzbl %r14b, %eax + 0x48, 0x8b, 0x4d, 0xc0, //0x00001f4a movq $-64(%rbp), %rcx + 0x0f, 0xb6, 0x04, 0x01, //0x00001f4e movzbl (%rcx,%rax), %eax + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00001f52 cmpl $255, %eax + 0x0f, 0x84, 0x21, 0x00, 0x00, 0x00, //0x00001f57 je LBB1_422 + 0x8b, 0x4d, 0xc8, //0x00001f5d movl $-56(%rbp), %ecx + 0xc1, 0xe1, 0x06, //0x00001f60 shll $6, %ecx + 0x09, 0xc1, //0x00001f63 orl %eax, %ecx + 0x89, 0xc8, //0x00001f65 movl %ecx, %eax + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00001f67 movl $2, %r11d + 0x49, 0x39, 0xdf, //0x00001f6d cmpq %rbx, %r15 + 0x0f, 0x83, 0x37, 0x05, 0x00, 0x00, //0x00001f70 jae LBB1_492 + 0x89, 0x45, 0xc8, //0x00001f76 movl %eax, $-56(%rbp) + 0xe9, 0x2c, 0x00, 0x00, 0x00, //0x00001f79 jmp LBB1_407 + //0x00001f7e LBB1_422 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00001f7e movl $1, %r11d + 0xe9, 0x7c, 0xfb, 0xff, 0xff, //0x00001f84 jmp LBB1_334 + //0x00001f89 LBB1_404 + 0x80, 0xfa, 0x6e, //0x00001f89 cmpb $110, %dl + 0x0f, 0x85, 0x54, 0x01, 0x00, 0x00, //0x00001f8c jne LBB1_432 + //0x00001f92 LBB1_405 + 0x48, 0x89, 0xc2, //0x00001f92 movq %rax, %rdx + 0x8b, 0x45, 0xc8, //0x00001f95 movl $-56(%rbp), %eax + //0x00001f98 LBB1_406 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00001f98 movl $2, %r11d + 0x49, 0x89, 0xd7, //0x00001f9e movq %rdx, %r15 + 0x48, 0x39, 0xda, //0x00001fa1 cmpq %rbx, %rdx + 0x0f, 0x83, 0x29, 0x01, 0x00, 0x00, //0x00001fa4 jae LBB1_424 + //0x00001faa LBB1_407 + 0x49, 0x8d, 0x57, 0x01, //0x00001faa leaq $1(%r15), %rdx + 0x45, 0x0f, 0xb6, 0x37, //0x00001fae movzbl (%r15), %r14d + 0x41, 0x80, 0xfe, 0x5c, //0x00001fb2 cmpb $92, %r14b + 0x0f, 0x85, 0xf5, 0x00, 0x00, 0x00, //0x00001fb6 jne LBB1_420 + 0x49, 0x8d, 0x47, 0x02, //0x00001fbc leaq $2(%r15), %rax + 0x41, 0xb6, 0xff, //0x00001fc0 movb $-1, %r14b + 0x48, 0x39, 0xd8, //0x00001fc3 cmpq %rbx, %rax + 0x0f, 0x87, 0x29, 0x01, 0x00, 0x00, //0x00001fc6 ja LBB1_435 + 0x0f, 0xb6, 0x12, //0x00001fcc movzbl (%rdx), %edx + 0x80, 0xfa, 0x71, //0x00001fcf cmpb $113, %dl + 0x0f, 0x8e, 0xb1, 0xff, 0xff, 0xff, //0x00001fd2 jle LBB1_404 + 0x80, 0xfa, 0x72, //0x00001fd8 cmpb $114, %dl + 0x0f, 0x84, 0xb1, 0xff, 0xff, 0xff, //0x00001fdb je LBB1_405 + 0x80, 0xfa, 0x75, //0x00001fe1 cmpb $117, %dl + 0x0f, 0x85, 0x08, 0x01, 0x00, 0x00, //0x00001fe4 jne LBB1_434 + 0x48, 0x89, 0xd9, //0x00001fea movq %rbx, %rcx + 0x48, 0x29, 0xc1, //0x00001fed subq %rax, %rcx + 0x48, 0x83, 0xf9, 0x04, //0x00001ff0 cmpq $4, %rcx + 0x0f, 0x8c, 0xf8, 0x00, 0x00, 0x00, //0x00001ff4 jl LBB1_434 + 0x8b, 0x10, //0x00001ffa movl (%rax), %edx + 0x89, 0xd7, //0x00001ffc movl %edx, %edi + 0xf7, 0xd7, //0x00001ffe notl %edi + 0x8d, 0x8a, 0xd0, 0xcf, 0xcf, 0xcf, //0x00002000 leal $-808464432(%rdx), %ecx + 0x81, 0xe7, 0x80, 0x80, 0x80, 0x80, //0x00002006 andl $-2139062144, %edi + 0x85, 0xcf, //0x0000200c testl %ecx, %edi + 0x0f, 0x85, 0xde, 0x00, 0x00, 0x00, //0x0000200e jne LBB1_434 + 0x8d, 0x8a, 0x19, 0x19, 0x19, 0x19, //0x00002014 leal $421075225(%rdx), %ecx + 0x09, 0xd1, //0x0000201a orl %edx, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x0000201c testl $-2139062144, %ecx + 0x0f, 0x85, 0xca, 0x00, 0x00, 0x00, //0x00002022 jne LBB1_434 + 0x89, 0xd6, //0x00002028 movl %edx, %esi + 0x81, 0xe6, 0x7f, 0x7f, 0x7f, 0x7f, //0x0000202a andl $2139062143, %esi + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x00002030 movl $-1061109568, %ecx + 0x29, 0xf1, //0x00002035 subl %esi, %ecx + 0x8d, 0x9e, 0x46, 0x46, 0x46, 0x46, //0x00002037 leal $1179010630(%rsi), %ebx + 0x21, 0xf9, //0x0000203d andl %edi, %ecx + 0x85, 0xd9, //0x0000203f testl %ebx, %ecx + 0x48, 0x8b, 0x5d, 0xd0, //0x00002041 movq $-48(%rbp), %rbx + 0x0f, 0x85, 0xa7, 0x00, 0x00, 0x00, //0x00002045 jne LBB1_434 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x0000204b movl $-522133280, %ecx + 0x29, 0xf1, //0x00002050 subl %esi, %ecx + 0x81, 0xc6, 0x39, 0x39, 0x39, 0x39, //0x00002052 addl $960051513, %esi + 0x21, 0xcf, //0x00002058 andl %ecx, %edi + 0x85, 0xf7, //0x0000205a testl %esi, %edi + 0x0f, 0x85, 0x90, 0x00, 0x00, 0x00, //0x0000205c jne LBB1_434 + 0x0f, 0xca, //0x00002062 bswapl %edx + 0x89, 0xd0, //0x00002064 movl %edx, %eax + 0xc1, 0xe8, 0x04, //0x00002066 shrl $4, %eax + 0xf7, 0xd0, //0x00002069 notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x0000206b andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00002070 leal (%rax,%rax,8), %eax + 0x81, 0xe2, 0x0f, 0x0f, 0x0f, 0x0f, //0x00002073 andl $252645135, %edx + 0x01, 0xc2, //0x00002079 addl %eax, %edx + 0x41, 0x89, 0xd6, //0x0000207b movl %edx, %r14d + 0x41, 0xc1, 0xee, 0x04, //0x0000207e shrl $4, %r14d + 0x41, 0x09, 0xd6, //0x00002082 orl %edx, %r14d + 0x44, 0x89, 0xf0, //0x00002085 movl %r14d, %eax + 0xc1, 0xe8, 0x08, //0x00002088 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x0000208b andl $65280, %eax + 0x44, 0x89, 0xf1, //0x00002090 movl %r14d, %ecx + 0x81, 0xe1, 0x80, 0x00, 0x00, 0x00, //0x00002093 andl $128, %ecx + 0x09, 0xc1, //0x00002099 orl %eax, %ecx + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x0000209b je LBB1_419 + 0x41, 0xbe, 0xff, 0x00, 0x00, 0x00, //0x000020a1 movl $255, %r14d + //0x000020a7 LBB1_419 + 0x49, 0x83, 0xc7, 0x06, //0x000020a7 addq $6, %r15 + 0x4c, 0x89, 0xfa, //0x000020ab movq %r15, %rdx + 0x8b, 0x45, 0xc8, //0x000020ae movl $-56(%rbp), %eax + //0x000020b1 LBB1_420 + 0x41, 0x80, 0xfe, 0x0a, //0x000020b1 cmpb $10, %r14b + 0x0f, 0x84, 0xdd, 0xfe, 0xff, 0xff, //0x000020b5 je LBB1_406 + 0x41, 0x80, 0xfe, 0x0d, //0x000020bb cmpb $13, %r14b + 0x0f, 0x84, 0xd3, 0xfe, 0xff, 0xff, //0x000020bf je LBB1_406 + 0xe9, 0x2b, 0x00, 0x00, 0x00, //0x000020c5 jmp LBB1_435 + //0x000020ca LBB1_498 + 0x4c, 0x8b, 0x7d, 0xd0, //0x000020ca movq $-48(%rbp), %r15 + 0xe9, 0xe0, 0x05, 0x00, 0x00, //0x000020ce jmp LBB1_499 + //0x000020d3 LBB1_424 + 0x49, 0x89, 0xd7, //0x000020d3 movq %rdx, %r15 + 0xe9, 0x46, 0xf9, 0xff, 0xff, //0x000020d6 jmp LBB1_319 + //0x000020db LBB1_426 + 0x49, 0xff, 0xc7, //0x000020db incq %r15 + 0x4c, 0x89, 0xfb, //0x000020de movq %r15, %rbx + 0xe9, 0xf3, 0x03, 0x00, 0x00, //0x000020e1 jmp LBB1_495 + //0x000020e6 LBB1_432 + 0x80, 0xfa, 0x2f, //0x000020e6 cmpb $47, %dl + 0x0f, 0x85, 0x03, 0x00, 0x00, 0x00, //0x000020e9 jne LBB1_434 + 0x41, 0x89, 0xd6, //0x000020ef movl %edx, %r14d + //0x000020f2 LBB1_434 + 0x48, 0x89, 0xc2, //0x000020f2 movq %rax, %rdx + //0x000020f5 LBB1_435 + 0x41, 0x0f, 0xb6, 0xc6, //0x000020f5 movzbl %r14b, %eax + 0x48, 0x8b, 0x4d, 0xc0, //0x000020f9 movq $-64(%rbp), %rcx + 0x0f, 0xb6, 0x04, 0x01, //0x000020fd movzbl (%rcx,%rax), %eax + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00002101 cmpl $255, %eax + 0x0f, 0x84, 0x74, 0x01, 0x00, 0x00, //0x00002106 je LBB1_456 + 0x8b, 0x4d, 0xc8, //0x0000210c movl $-56(%rbp), %ecx + 0xc1, 0xe1, 0x06, //0x0000210f shll $6, %ecx + 0x09, 0xc1, //0x00002112 orl %eax, %ecx + 0x89, 0xc8, //0x00002114 movl %ecx, %eax + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00002116 movl $3, %r11d + 0x48, 0x39, 0xda, //0x0000211c cmpq %rbx, %rdx + 0x0f, 0x83, 0x69, 0x01, 0x00, 0x00, //0x0000211f jae LBB1_457 + 0x89, 0x45, 0xc8, //0x00002125 movl %eax, $-56(%rbp) + 0xe9, 0x25, 0x00, 0x00, 0x00, //0x00002128 jmp LBB1_441 + //0x0000212d LBB1_438 + 0x80, 0xfb, 0x6e, //0x0000212d cmpb $110, %bl + 0x0f, 0x85, 0x33, 0x03, 0x00, 0x00, //0x00002130 jne LBB1_487 + //0x00002136 LBB1_439 + 0x49, 0x89, 0xc7, //0x00002136 movq %rax, %r15 + 0x48, 0x8b, 0x5d, 0xd0, //0x00002139 movq $-48(%rbp), %rbx + 0x8b, 0x45, 0xc8, //0x0000213d movl $-56(%rbp), %eax + //0x00002140 LBB1_440 + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00002140 movl $3, %r11d + 0x4c, 0x89, 0xfa, //0x00002146 movq %r15, %rdx + 0x49, 0x39, 0xdf, //0x00002149 cmpq %rbx, %r15 + 0x0f, 0x83, 0xcf, 0xf8, 0xff, 0xff, //0x0000214c jae LBB1_319 + //0x00002152 LBB1_441 + 0x4c, 0x8d, 0x7a, 0x01, //0x00002152 leaq $1(%rdx), %r15 + 0x44, 0x0f, 0xb6, 0x32, //0x00002156 movzbl (%rdx), %r14d + 0x41, 0x80, 0xfe, 0x5c, //0x0000215a cmpb $92, %r14b + 0x0f, 0x85, 0x03, 0x01, 0x00, 0x00, //0x0000215e jne LBB1_454 + 0x48, 0x8d, 0x42, 0x02, //0x00002164 leaq $2(%rdx), %rax + 0x41, 0xb6, 0xff, //0x00002168 movb $-1, %r14b + 0x48, 0x39, 0xd8, //0x0000216b cmpq %rbx, %rax + 0x0f, 0x87, 0x12, 0x03, 0x00, 0x00, //0x0000216e ja LBB1_490 + 0x41, 0x0f, 0xb6, 0x1f, //0x00002174 movzbl (%r15), %ebx + 0x80, 0xfb, 0x71, //0x00002178 cmpb $113, %bl + 0x0f, 0x8e, 0xac, 0xff, 0xff, 0xff, //0x0000217b jle LBB1_438 + 0x80, 0xfb, 0x72, //0x00002181 cmpb $114, %bl + 0x0f, 0x84, 0xac, 0xff, 0xff, 0xff, //0x00002184 je LBB1_439 + 0x80, 0xfb, 0x75, //0x0000218a cmpb $117, %bl + 0x0f, 0x85, 0xe2, 0x02, 0x00, 0x00, //0x0000218d jne LBB1_489 + 0x48, 0x8b, 0x4d, 0xd0, //0x00002193 movq $-48(%rbp), %rcx + 0x48, 0x29, 0xc1, //0x00002197 subq %rax, %rcx + 0x48, 0x83, 0xf9, 0x04, //0x0000219a cmpq $4, %rcx + 0x0f, 0x8c, 0xd1, 0x02, 0x00, 0x00, //0x0000219e jl LBB1_489 + 0x8b, 0x38, //0x000021a4 movl (%rax), %edi + 0x89, 0xfb, //0x000021a6 movl %edi, %ebx + 0xf7, 0xd3, //0x000021a8 notl %ebx + 0x8d, 0x8f, 0xd0, 0xcf, 0xcf, 0xcf, //0x000021aa leal $-808464432(%rdi), %ecx + 0x81, 0xe3, 0x80, 0x80, 0x80, 0x80, //0x000021b0 andl $-2139062144, %ebx + 0x85, 0xcb, //0x000021b6 testl %ecx, %ebx + 0x0f, 0x85, 0xb7, 0x02, 0x00, 0x00, //0x000021b8 jne LBB1_489 + 0x8d, 0x8f, 0x19, 0x19, 0x19, 0x19, //0x000021be leal $421075225(%rdi), %ecx + 0x09, 0xf9, //0x000021c4 orl %edi, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x000021c6 testl $-2139062144, %ecx + 0x0f, 0x85, 0xa3, 0x02, 0x00, 0x00, //0x000021cc jne LBB1_489 + 0x89, 0xfe, //0x000021d2 movl %edi, %esi + 0x81, 0xe6, 0x7f, 0x7f, 0x7f, 0x7f, //0x000021d4 andl $2139062143, %esi + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x000021da movl $-1061109568, %ecx + 0x29, 0xf1, //0x000021df subl %esi, %ecx + 0x44, 0x8d, 0x86, 0x46, 0x46, 0x46, 0x46, //0x000021e1 leal $1179010630(%rsi), %r8d + 0x21, 0xd9, //0x000021e8 andl %ebx, %ecx + 0x44, 0x85, 0xc1, //0x000021ea testl %r8d, %ecx + 0x0f, 0x85, 0x82, 0x02, 0x00, 0x00, //0x000021ed jne LBB1_489 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x000021f3 movl $-522133280, %ecx + 0x29, 0xf1, //0x000021f8 subl %esi, %ecx + 0x81, 0xc6, 0x39, 0x39, 0x39, 0x39, //0x000021fa addl $960051513, %esi + 0x21, 0xcb, //0x00002200 andl %ecx, %ebx + 0x85, 0xf3, //0x00002202 testl %esi, %ebx + 0x0f, 0x85, 0x6b, 0x02, 0x00, 0x00, //0x00002204 jne LBB1_489 + 0x0f, 0xcf, //0x0000220a bswapl %edi + 0x89, 0xf8, //0x0000220c movl %edi, %eax + 0xc1, 0xe8, 0x04, //0x0000220e shrl $4, %eax + 0xf7, 0xd0, //0x00002211 notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x00002213 andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00002218 leal (%rax,%rax,8), %eax + 0x81, 0xe7, 0x0f, 0x0f, 0x0f, 0x0f, //0x0000221b andl $252645135, %edi + 0x01, 0xc7, //0x00002221 addl %eax, %edi + 0x41, 0x89, 0xfe, //0x00002223 movl %edi, %r14d + 0x41, 0xc1, 0xee, 0x04, //0x00002226 shrl $4, %r14d + 0x41, 0x09, 0xfe, //0x0000222a orl %edi, %r14d + 0x44, 0x89, 0xf0, //0x0000222d movl %r14d, %eax + 0xc1, 0xe8, 0x08, //0x00002230 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00002233 andl $65280, %eax + 0x44, 0x89, 0xf1, //0x00002238 movl %r14d, %ecx + 0x81, 0xe1, 0x80, 0x00, 0x00, 0x00, //0x0000223b andl $128, %ecx + 0x09, 0xc1, //0x00002241 orl %eax, %ecx + 0x0f, 0x84, 0x06, 0x00, 0x00, 0x00, //0x00002243 je LBB1_453 + 0x41, 0xbe, 0xff, 0x00, 0x00, 0x00, //0x00002249 movl $255, %r14d + //0x0000224f LBB1_453 + 0x48, 0x83, 0xc2, 0x06, //0x0000224f addq $6, %rdx + 0x49, 0x89, 0xd7, //0x00002253 movq %rdx, %r15 + 0x48, 0x8b, 0x5d, 0xd0, //0x00002256 movq $-48(%rbp), %rbx + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000225a movabsq $-4294967296, %r8 + 0x8b, 0x45, 0xc8, //0x00002264 movl $-56(%rbp), %eax + //0x00002267 LBB1_454 + 0x41, 0x80, 0xfe, 0x0a, //0x00002267 cmpb $10, %r14b + 0x0f, 0x84, 0xcf, 0xfe, 0xff, 0xff, //0x0000226b je LBB1_440 + 0x41, 0x80, 0xfe, 0x0d, //0x00002271 cmpb $13, %r14b + 0x0f, 0x84, 0xc5, 0xfe, 0xff, 0xff, //0x00002275 je LBB1_440 + 0xe9, 0x06, 0x02, 0x00, 0x00, //0x0000227b jmp LBB1_490 + //0x00002280 LBB1_456 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00002280 movl $2, %r11d + 0x49, 0x89, 0xd7, //0x00002286 movq %rdx, %r15 + 0xe9, 0x77, 0xf8, 0xff, 0xff, //0x00002289 jmp LBB1_334 + //0x0000228e LBB1_457 + 0x49, 0x89, 0xd7, //0x0000228e movq %rdx, %r15 + 0xe9, 0x17, 0x02, 0x00, 0x00, //0x00002291 jmp LBB1_492 + //0x00002296 LBB1_478 + 0x4d, 0x89, 0xfe, //0x00002296 movq %r15, %r14 + 0x4c, 0x89, 0xf2, //0x00002299 movq %r14, %rdx + 0x49, 0x39, 0xf6, //0x0000229c cmpq %rsi, %r14 + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x0000229f jb LBB1_462 + 0xe9, 0x09, 0x04, 0x00, 0x00, //0x000022a5 jmp LBB1_499 + //0x000022aa LBB1_460 + 0x4d, 0x89, 0xf7, //0x000022aa movq %r14, %r15 + 0x4c, 0x89, 0xf2, //0x000022ad movq %r14, %rdx + 0x49, 0x39, 0xf6, //0x000022b0 cmpq %rsi, %r14 + 0x0f, 0x83, 0xfa, 0x03, 0x00, 0x00, //0x000022b3 jae LBB1_499 + //0x000022b9 LBB1_462 + 0x4c, 0x8d, 0x7a, 0x01, //0x000022b9 leaq $1(%rdx), %r15 + 0x0f, 0xb6, 0x3a, //0x000022bd movzbl (%rdx), %edi + 0x40, 0x80, 0xff, 0x5c, //0x000022c0 cmpb $92, %dil + 0x0f, 0x85, 0xe8, 0x00, 0x00, 0x00, //0x000022c4 jne LBB1_475 + 0x4c, 0x8d, 0x72, 0x02, //0x000022ca leaq $2(%rdx), %r14 + 0x49, 0x39, 0xf6, //0x000022ce cmpq %rsi, %r14 + 0x0f, 0x87, 0x63, 0x02, 0x00, 0x00, //0x000022d1 ja LBB1_517 + 0x41, 0x0f, 0xb6, 0x07, //0x000022d7 movzbl (%r15), %eax + 0x3c, 0x6e, //0x000022db cmpb $110, %al + 0x0f, 0x84, 0xc7, 0xff, 0xff, 0xff, //0x000022dd je LBB1_460 + 0x3c, 0x72, //0x000022e3 cmpb $114, %al + 0x0f, 0x84, 0xbf, 0xff, 0xff, 0xff, //0x000022e5 je LBB1_460 + 0x3c, 0x75, //0x000022eb cmpb $117, %al + 0x0f, 0x85, 0x00, 0x01, 0x00, 0x00, //0x000022ed jne LBB1_479 + 0x48, 0x89, 0xf0, //0x000022f3 movq %rsi, %rax + 0x4c, 0x29, 0xf0, //0x000022f6 subq %r14, %rax + 0x48, 0x83, 0xf8, 0x04, //0x000022f9 cmpq $4, %rax + 0x0f, 0x8c, 0xf0, 0x00, 0x00, 0x00, //0x000022fd jl LBB1_479 + 0x41, 0x8b, 0x06, //0x00002303 movl (%r14), %eax + 0x89, 0xc7, //0x00002306 movl %eax, %edi + 0xf7, 0xd7, //0x00002308 notl %edi + 0x8d, 0x88, 0xd0, 0xcf, 0xcf, 0xcf, //0x0000230a leal $-808464432(%rax), %ecx + 0x81, 0xe7, 0x80, 0x80, 0x80, 0x80, //0x00002310 andl $-2139062144, %edi + 0x85, 0xcf, //0x00002316 testl %ecx, %edi + 0x0f, 0x85, 0xd5, 0x00, 0x00, 0x00, //0x00002318 jne LBB1_479 + 0x8d, 0x88, 0x19, 0x19, 0x19, 0x19, //0x0000231e leal $421075225(%rax), %ecx + 0x09, 0xc1, //0x00002324 orl %eax, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x00002326 testl $-2139062144, %ecx + 0x0f, 0x85, 0xc1, 0x00, 0x00, 0x00, //0x0000232c jne LBB1_479 + 0x89, 0xc6, //0x00002332 movl %eax, %esi + 0x81, 0xe6, 0x7f, 0x7f, 0x7f, 0x7f, //0x00002334 andl $2139062143, %esi + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x0000233a movl $-1061109568, %ecx + 0x29, 0xf1, //0x0000233f subl %esi, %ecx + 0x8d, 0x9e, 0x46, 0x46, 0x46, 0x46, //0x00002341 leal $1179010630(%rsi), %ebx + 0x21, 0xf9, //0x00002347 andl %edi, %ecx + 0x85, 0xd9, //0x00002349 testl %ebx, %ecx + 0x0f, 0x85, 0xa2, 0x00, 0x00, 0x00, //0x0000234b jne LBB1_479 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x00002351 movl $-522133280, %ecx + 0x29, 0xf1, //0x00002356 subl %esi, %ecx + 0x81, 0xc6, 0x39, 0x39, 0x39, 0x39, //0x00002358 addl $960051513, %esi + 0x21, 0xcf, //0x0000235e andl %ecx, %edi + 0x85, 0xf7, //0x00002360 testl %esi, %edi + 0x48, 0x8b, 0x75, 0xd0, //0x00002362 movq $-48(%rbp), %rsi + 0x0f, 0x85, 0x87, 0x00, 0x00, 0x00, //0x00002366 jne LBB1_479 + 0x0f, 0xc8, //0x0000236c bswapl %eax + 0x89, 0xc1, //0x0000236e movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00002370 shrl $4, %ecx + 0xf7, 0xd1, //0x00002373 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00002375 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x0000237b leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x0000237e andl $252645135, %eax + 0x01, 0xc8, //0x00002383 addl %ecx, %eax + 0x89, 0xc7, //0x00002385 movl %eax, %edi + 0xc1, 0xef, 0x04, //0x00002387 shrl $4, %edi + 0x09, 0xc7, //0x0000238a orl %eax, %edi + 0x89, 0xf8, //0x0000238c movl %edi, %eax + 0xc1, 0xe8, 0x08, //0x0000238e shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00002391 andl $65280, %eax + 0x89, 0xf9, //0x00002396 movl %edi, %ecx + 0x81, 0xe1, 0x80, 0x00, 0x00, 0x00, //0x00002398 andl $128, %ecx + 0x09, 0xc1, //0x0000239e orl %eax, %ecx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x000023a0 je LBB1_474 + 0xbf, 0xff, 0x00, 0x00, 0x00, //0x000023a6 movl $255, %edi + //0x000023ab LBB1_474 + 0x48, 0x83, 0xc2, 0x06, //0x000023ab addq $6, %rdx + 0x49, 0x89, 0xd7, //0x000023af movq %rdx, %r15 + //0x000023b2 LBB1_475 + 0x40, 0x80, 0xff, 0x0a, //0x000023b2 cmpb $10, %dil + 0x0f, 0x84, 0xda, 0xfe, 0xff, 0xff, //0x000023b6 je LBB1_478 + 0x40, 0x80, 0xff, 0x0d, //0x000023bc cmpb $13, %dil + 0x0f, 0x84, 0xd0, 0xfe, 0xff, 0xff, //0x000023c0 je LBB1_478 + 0x40, 0x80, 0xff, 0x3d, //0x000023c6 cmpb $61, %dil + 0x0f, 0x85, 0x09, 0x01, 0x00, 0x00, //0x000023ca jne LBB1_495 + 0x83, 0x7d, 0x98, 0x03, //0x000023d0 cmpl $3, $-104(%rbp) + 0x0f, 0x84, 0xff, 0x00, 0x00, 0x00, //0x000023d4 je LBB1_495 + 0x4c, 0x39, 0x7d, 0xd0, //0x000023da cmpq %r15, $-48(%rbp) + 0x0f, 0x87, 0x86, 0x01, 0x00, 0x00, //0x000023de ja LBB1_522 + //0x000023e4 LBB1_511 + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x000023e4 movabsq $-4294967296, %r8 + 0xe9, 0xc0, 0x02, 0x00, 0x00, //0x000023ee jmp LBB1_499 + //0x000023f3 LBB1_479 + 0x4d, 0x89, 0xf7, //0x000023f3 movq %r14, %r15 + 0xe9, 0xde, 0x00, 0x00, 0x00, //0x000023f6 jmp LBB1_495 + //0x000023fb LBB1_458 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x000023fb movl $2, %r11d + 0xe9, 0xff, 0xf6, 0xff, 0xff, //0x00002401 jmp LBB1_334 + //0x00002406 LBB1_480 + 0x48, 0xff, 0xc2, //0x00002406 incq %rdx + 0x48, 0xff, 0xc3, //0x00002409 incq %rbx + 0x48, 0xff, 0xcf, //0x0000240c decq %rdi + 0x48, 0xff, 0xc8, //0x0000240f decq %rax + 0x0f, 0x84, 0x8d, 0x02, 0x00, 0x00, //0x00002412 je LBB1_519 + //0x00002418 LBB1_481 + 0x0f, 0xb6, 0x4a, 0xff, //0x00002418 movzbl $-1(%rdx), %ecx + 0x80, 0xf9, 0x0a, //0x0000241c cmpb $10, %cl + 0x0f, 0x84, 0xe1, 0xff, 0xff, 0xff, //0x0000241f je LBB1_480 + 0x80, 0xf9, 0x0d, //0x00002425 cmpb $13, %cl + 0x0f, 0x84, 0xd8, 0xff, 0xff, 0xff, //0x00002428 je LBB1_480 + 0x80, 0xf9, 0x3d, //0x0000242e cmpb $61, %cl + 0x0f, 0x85, 0xe5, 0x02, 0x00, 0x00, //0x00002431 jne LBB1_539 + 0x49, 0x89, 0xd7, //0x00002437 movq %rdx, %r15 + 0x83, 0xfe, 0x04, //0x0000243a cmpl $4, %esi + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000243d movabsq $-4294967296, %r8 + 0x0f, 0x84, 0x8c, 0x00, 0x00, 0x00, //0x00002447 je LBB1_495 + 0x48, 0x39, 0x55, 0xd0, //0x0000244d cmpq %rdx, $-48(%rbp) + 0x0f, 0x87, 0xbf, 0x00, 0x00, 0x00, //0x00002451 ja LBB1_513 + //0x00002457 LBB1_486 + 0x49, 0x89, 0xd7, //0x00002457 movq %rdx, %r15 + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000245a movabsq $-4294967296, %r8 + 0xe9, 0x4a, 0x02, 0x00, 0x00, //0x00002464 jmp LBB1_499 + //0x00002469 LBB1_487 + 0x80, 0xfb, 0x2f, //0x00002469 cmpb $47, %bl + 0x0f, 0x85, 0x03, 0x00, 0x00, 0x00, //0x0000246c jne LBB1_489 + 0x41, 0x89, 0xde, //0x00002472 movl %ebx, %r14d + //0x00002475 LBB1_489 + 0x49, 0x89, 0xc7, //0x00002475 movq %rax, %r15 + 0x48, 0x8b, 0x5d, 0xd0, //0x00002478 movq $-48(%rbp), %rbx + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000247c movabsq $-4294967296, %r8 + //0x00002486 LBB1_490 + 0x41, 0x0f, 0xb6, 0xc6, //0x00002486 movzbl %r14b, %eax + 0x48, 0x8b, 0x4d, 0xc0, //0x0000248a movq $-64(%rbp), %rcx + 0x0f, 0xb6, 0x04, 0x01, //0x0000248e movzbl (%rcx,%rax), %eax + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00002492 cmpl $255, %eax + 0x0f, 0x84, 0x2e, 0xfa, 0xff, 0xff, //0x00002497 je LBB1_497 + //0x0000249d LBB1_491 + 0x8b, 0x4d, 0xc8, //0x0000249d movl $-56(%rbp), %ecx + 0xc1, 0xe1, 0x06, //0x000024a0 shll $6, %ecx + 0x09, 0xc1, //0x000024a3 orl %eax, %ecx + 0x89, 0xc8, //0x000024a5 movl %ecx, %eax + 0x41, 0xbb, 0x04, 0x00, 0x00, 0x00, //0x000024a7 movl $4, %r11d + //0x000024ad LBB1_492 + 0x89, 0x45, 0xc8, //0x000024ad movl %eax, $-56(%rbp) + 0xf6, 0x45, 0xbc, 0x02, //0x000024b0 testb $2, $-68(%rbp) + 0x0f, 0x94, 0xc0, //0x000024b4 sete %al + 0x41, 0x83, 0xfb, 0x01, //0x000024b7 cmpl $1, %r11d + 0x0f, 0x94, 0xc1, //0x000024bb sete %cl + 0x49, 0x39, 0xdf, //0x000024be cmpq %rbx, %r15 + 0x0f, 0x82, 0xec, 0x01, 0x00, 0x00, //0x000024c1 jb LBB1_499 + 0x41, 0x83, 0xfb, 0x04, //0x000024c7 cmpl $4, %r11d + 0x0f, 0x84, 0xe2, 0x01, 0x00, 0x00, //0x000024cb je LBB1_499 + 0x08, 0xc8, //0x000024d1 orb %cl, %al + 0x0f, 0x84, 0xda, 0x01, 0x00, 0x00, //0x000024d3 je LBB1_499 + //0x000024d9 LBB1_495 + 0x49, 0x8d, 0x4f, 0x01, //0x000024d9 leaq $1(%r15), %rcx + 0x48, 0x8b, 0x5d, 0xd0, //0x000024dd movq $-48(%rbp), %rbx + 0x4c, 0x39, 0xfb, //0x000024e1 cmpq %r15, %rbx + 0x49, 0x0f, 0x45, 0xcf, //0x000024e4 cmovneq %r15, %rcx + 0x4c, 0x29, 0xe9, //0x000024e8 subq %r13, %rcx + 0x0f, 0x85, 0xf8, 0x24, 0x00, 0x00, //0x000024eb jne LBB1_1141 + 0x4d, 0x89, 0xef, //0x000024f1 movq %r13, %r15 + 0x48, 0x8b, 0x4d, 0xb0, //0x000024f4 movq $-80(%rbp), %rcx + 0x48, 0x89, 0x4d, 0xb0, //0x000024f8 movq %rcx, $-80(%rbp) + 0x49, 0x39, 0xcc, //0x000024fc cmpq %rcx, %r12 + 0x0f, 0x83, 0x9e, 0xf2, 0xff, 0xff, //0x000024ff jae LBB1_506 + 0xe9, 0xae, 0xe0, 0xff, 0xff, //0x00002505 jmp LBB1_2 + //0x0000250a LBB1_512 + 0x48, 0xff, 0xc3, //0x0000250a incq %rbx + 0x48, 0xff, 0xcf, //0x0000250d decq %rdi + 0x0f, 0x84, 0x8f, 0x01, 0x00, 0x00, //0x00002510 je LBB1_519 + //0x00002516 LBB1_513 + 0x0f, 0xb6, 0x43, 0xff, //0x00002516 movzbl $-1(%rbx), %eax + 0x3c, 0x0a, //0x0000251a cmpb $10, %al + 0x0f, 0x84, 0xe8, 0xff, 0xff, 0xff, //0x0000251c je LBB1_512 + 0x3c, 0x0d, //0x00002522 cmpb $13, %al + 0x0f, 0x84, 0xe0, 0xff, 0xff, 0xff, //0x00002524 je LBB1_512 + 0x3c, 0x3d, //0x0000252a cmpb $61, %al + 0x0f, 0x85, 0x64, 0x03, 0x00, 0x00, //0x0000252c jne LBB1_545 + 0x49, 0x89, 0xdf, //0x00002532 movq %rbx, %r15 + 0xe9, 0x71, 0x03, 0x00, 0x00, //0x00002535 jmp LBB1_567 + //0x0000253a LBB1_517 + 0x4c, 0x89, 0xfa, //0x0000253a movq %r15, %rdx + //0x0000253d LBB1_459 + 0x49, 0x89, 0xd7, //0x0000253d movq %rdx, %r15 + 0xe9, 0x94, 0xff, 0xff, 0xff, //0x00002540 jmp LBB1_495 + //0x00002545 LBB1_538 + 0x49, 0x89, 0xd6, //0x00002545 movq %rdx, %r14 + 0x4d, 0x89, 0xf7, //0x00002548 movq %r14, %r15 + 0x4c, 0x3b, 0x75, 0xd0, //0x0000254b cmpq $-48(%rbp), %r14 + 0x0f, 0x82, 0x15, 0x00, 0x00, 0x00, //0x0000254f jb LBB1_522 + 0xe9, 0xfd, 0xfe, 0xff, 0xff, //0x00002555 jmp LBB1_486 + //0x0000255a LBB1_520 + 0x4c, 0x89, 0xf2, //0x0000255a movq %r14, %rdx + 0x4d, 0x89, 0xf7, //0x0000255d movq %r14, %r15 + 0x4c, 0x3b, 0x75, 0xd0, //0x00002560 cmpq $-48(%rbp), %r14 + 0x0f, 0x83, 0xed, 0xfe, 0xff, 0xff, //0x00002564 jae LBB1_486 + //0x0000256a LBB1_522 + 0x49, 0x8d, 0x57, 0x01, //0x0000256a leaq $1(%r15), %rdx + 0x41, 0x0f, 0xb6, 0x3f, //0x0000256e movzbl (%r15), %edi + 0x40, 0x80, 0xff, 0x5c, //0x00002572 cmpb $92, %dil + 0x0f, 0x85, 0xe5, 0x00, 0x00, 0x00, //0x00002576 jne LBB1_535 + 0x4d, 0x8d, 0x77, 0x02, //0x0000257c leaq $2(%r15), %r14 + 0x4c, 0x3b, 0x75, 0xd0, //0x00002580 cmpq $-48(%rbp), %r14 + 0x0f, 0x87, 0xa7, 0x01, 0x00, 0x00, //0x00002584 ja LBB1_543 + 0x0f, 0xb6, 0x02, //0x0000258a movzbl (%rdx), %eax + 0x3c, 0x6e, //0x0000258d cmpb $110, %al + 0x0f, 0x84, 0xc5, 0xff, 0xff, 0xff, //0x0000258f je LBB1_520 + 0x3c, 0x72, //0x00002595 cmpb $114, %al + 0x0f, 0x84, 0xbd, 0xff, 0xff, 0xff, //0x00002597 je LBB1_520 + 0x3c, 0x75, //0x0000259d cmpb $117, %al + 0x0f, 0x85, 0xdf, 0x02, 0x00, 0x00, //0x0000259f jne LBB1_544 + 0x48, 0x8b, 0x45, 0xd0, //0x000025a5 movq $-48(%rbp), %rax + 0x4c, 0x29, 0xf0, //0x000025a9 subq %r14, %rax + 0x48, 0x83, 0xf8, 0x04, //0x000025ac cmpq $4, %rax + 0x0f, 0x8c, 0xc6, 0x02, 0x00, 0x00, //0x000025b0 jl LBB1_566 + 0x41, 0x8b, 0x06, //0x000025b6 movl (%r14), %eax + 0x89, 0xc2, //0x000025b9 movl %eax, %edx + 0xf7, 0xd2, //0x000025bb notl %edx + 0x8d, 0x88, 0xd0, 0xcf, 0xcf, 0xcf, //0x000025bd leal $-808464432(%rax), %ecx + 0x81, 0xe2, 0x80, 0x80, 0x80, 0x80, //0x000025c3 andl $-2139062144, %edx + 0x85, 0xca, //0x000025c9 testl %ecx, %edx + 0x0f, 0x85, 0xab, 0x02, 0x00, 0x00, //0x000025cb jne LBB1_566 + 0x8d, 0x88, 0x19, 0x19, 0x19, 0x19, //0x000025d1 leal $421075225(%rax), %ecx + 0x09, 0xc1, //0x000025d7 orl %eax, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x000025d9 testl $-2139062144, %ecx + 0x0f, 0x85, 0x97, 0x02, 0x00, 0x00, //0x000025df jne LBB1_566 + 0x89, 0xc6, //0x000025e5 movl %eax, %esi + 0x81, 0xe6, 0x7f, 0x7f, 0x7f, 0x7f, //0x000025e7 andl $2139062143, %esi + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x000025ed movl $-1061109568, %ecx + 0x29, 0xf1, //0x000025f2 subl %esi, %ecx + 0x8d, 0xbe, 0x46, 0x46, 0x46, 0x46, //0x000025f4 leal $1179010630(%rsi), %edi + 0x21, 0xd1, //0x000025fa andl %edx, %ecx + 0x85, 0xf9, //0x000025fc testl %edi, %ecx + 0x0f, 0x85, 0x78, 0x02, 0x00, 0x00, //0x000025fe jne LBB1_566 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x00002604 movl $-522133280, %ecx + 0x29, 0xf1, //0x00002609 subl %esi, %ecx + 0x81, 0xc6, 0x39, 0x39, 0x39, 0x39, //0x0000260b addl $960051513, %esi + 0x21, 0xca, //0x00002611 andl %ecx, %edx + 0x85, 0xf2, //0x00002613 testl %esi, %edx + 0x0f, 0x85, 0x61, 0x02, 0x00, 0x00, //0x00002615 jne LBB1_566 + 0x0f, 0xc8, //0x0000261b bswapl %eax + 0x89, 0xc1, //0x0000261d movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x0000261f shrl $4, %ecx + 0xf7, 0xd1, //0x00002622 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00002624 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x0000262a leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x0000262d andl $252645135, %eax + 0x01, 0xc8, //0x00002632 addl %ecx, %eax + 0x89, 0xc7, //0x00002634 movl %eax, %edi + 0xc1, 0xef, 0x04, //0x00002636 shrl $4, %edi + 0x09, 0xc7, //0x00002639 orl %eax, %edi + 0x89, 0xf8, //0x0000263b movl %edi, %eax + 0xc1, 0xe8, 0x08, //0x0000263d shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00002640 andl $65280, %eax + 0x89, 0xf9, //0x00002645 movl %edi, %ecx + 0x81, 0xe1, 0x80, 0x00, 0x00, 0x00, //0x00002647 andl $128, %ecx + 0x09, 0xc1, //0x0000264d orl %eax, %ecx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x0000264f je LBB1_534 + 0xbf, 0xff, 0x00, 0x00, 0x00, //0x00002655 movl $255, %edi + //0x0000265a LBB1_534 + 0x49, 0x83, 0xc7, 0x06, //0x0000265a addq $6, %r15 + 0x4c, 0x89, 0xfa, //0x0000265e movq %r15, %rdx + //0x00002661 LBB1_535 + 0x40, 0x80, 0xff, 0x0a, //0x00002661 cmpb $10, %dil + 0x0f, 0x84, 0xda, 0xfe, 0xff, 0xff, //0x00002665 je LBB1_538 + 0x40, 0x80, 0xff, 0x0d, //0x0000266b cmpb $13, %dil + 0x0f, 0x84, 0xd0, 0xfe, 0xff, 0xff, //0x0000266f je LBB1_538 + 0x40, 0x80, 0xff, 0x3d, //0x00002675 cmpb $61, %dil + 0x0f, 0x85, 0x29, 0x02, 0x00, 0x00, //0x00002679 jne LBB1_546 + 0x49, 0x89, 0xd7, //0x0000267f movq %rdx, %r15 + 0x83, 0x7d, 0x98, 0x04, //0x00002682 cmpl $4, $-104(%rbp) + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00002686 movabsq $-4294967296, %r8 + 0x0f, 0x84, 0x43, 0xfe, 0xff, 0xff, //0x00002690 je LBB1_495 + 0x48, 0x39, 0x55, 0xd0, //0x00002696 cmpq %rdx, $-48(%rbp) + 0x0f, 0x87, 0xc8, 0x00, 0x00, 0x00, //0x0000269a ja LBB1_549 + 0xe9, 0xb2, 0xfd, 0xff, 0xff, //0x000026a0 jmp LBB1_486 + //0x000026a5 LBB1_519 + 0x4c, 0x8b, 0x7d, 0xd0, //0x000026a5 movq $-48(%rbp), %r15 + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x000026a9 movabsq $-4294967296, %r8 + //0x000026b3 LBB1_499 + 0xb0, 0x04, //0x000026b3 movb $4, %al + 0x44, 0x28, 0xd8, //0x000026b5 subb %r11b, %al + 0x0f, 0xb6, 0xc0, //0x000026b8 movzbl %al, %eax + 0x01, 0xc0, //0x000026bb addl %eax, %eax + 0x8d, 0x0c, 0x40, //0x000026bd leal (%rax,%rax,2), %ecx + 0x8b, 0x45, 0xc8, //0x000026c0 movl $-56(%rbp), %eax + 0xd3, 0xe0, //0x000026c3 shll %cl, %eax + 0x41, 0x83, 0xfb, 0x02, //0x000026c5 cmpl $2, %r11d + 0x48, 0x8b, 0x5d, 0xd0, //0x000026c9 movq $-48(%rbp), %rbx + 0x0f, 0x84, 0x26, 0x00, 0x00, 0x00, //0x000026cd je LBB1_504 + 0x41, 0x83, 0xfb, 0x03, //0x000026d3 cmpl $3, %r11d + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000026d7 je LBB1_503 + 0x41, 0x83, 0xfb, 0x04, //0x000026dd cmpl $4, %r11d + 0x48, 0x8b, 0x4d, 0xb0, //0x000026e1 movq $-80(%rbp), %rcx + 0x0f, 0x85, 0x17, 0x00, 0x00, 0x00, //0x000026e5 jne LBB1_505 + 0x88, 0x41, 0x02, //0x000026eb movb %al, $2(%rcx) + //0x000026ee LBB1_503 + 0x89, 0xc1, //0x000026ee movl %eax, %ecx + 0x48, 0x8b, 0x45, 0xb0, //0x000026f0 movq $-80(%rbp), %rax + 0x88, 0x68, 0x01, //0x000026f4 movb %ch, $1(%rax) + 0x89, 0xc8, //0x000026f7 movl %ecx, %eax + //0x000026f9 LBB1_504 + 0xc1, 0xe8, 0x10, //0x000026f9 shrl $16, %eax + 0x48, 0x8b, 0x4d, 0xb0, //0x000026fc movq $-80(%rbp), %rcx + 0x88, 0x01, //0x00002700 movb %al, (%rcx) + //0x00002702 LBB1_505 + 0x44, 0x89, 0xd8, //0x00002702 movl %r11d, %eax + 0x48, 0x8d, 0x4c, 0x01, 0xff, //0x00002705 leaq $-1(%rcx,%rax), %rcx + 0x48, 0x89, 0x4d, 0xb0, //0x0000270a movq %rcx, $-80(%rbp) + 0x49, 0x39, 0xcc, //0x0000270e cmpq %rcx, %r12 + 0x0f, 0x83, 0x8c, 0xf0, 0xff, 0xff, //0x00002711 jae LBB1_506 + 0xe9, 0x9c, 0xde, 0xff, 0xff, //0x00002717 jmp LBB1_2 + //0x0000271c LBB1_539 + 0x48, 0x89, 0xd3, //0x0000271c movq %rdx, %rbx + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x0000271f movabsq $-4294967296, %r8 + 0x49, 0x89, 0xd7, //0x00002729 movq %rdx, %r15 + 0xe9, 0xa8, 0xfd, 0xff, 0xff, //0x0000272c jmp LBB1_495 + //0x00002731 LBB1_543 + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00002731 movabsq $-4294967296, %r8 + 0x49, 0x89, 0xd7, //0x0000273b movq %rdx, %r15 + 0xe9, 0x96, 0xfd, 0xff, 0xff, //0x0000273e jmp LBB1_495 + //0x00002743 LBB1_565 + 0x4d, 0x89, 0xfe, //0x00002743 movq %r15, %r14 + 0x4c, 0x89, 0xf2, //0x00002746 movq %r14, %rdx + 0x4c, 0x3b, 0x75, 0xd0, //0x00002749 cmpq $-48(%rbp), %r14 + 0x0f, 0x82, 0x15, 0x00, 0x00, 0x00, //0x0000274d jb LBB1_549 + 0xe9, 0x8c, 0xfc, 0xff, 0xff, //0x00002753 jmp LBB1_511 + //0x00002758 LBB1_547 + 0x4d, 0x89, 0xf7, //0x00002758 movq %r14, %r15 + 0x4c, 0x89, 0xf2, //0x0000275b movq %r14, %rdx + 0x4c, 0x3b, 0x75, 0xd0, //0x0000275e cmpq $-48(%rbp), %r14 + 0x0f, 0x83, 0x7c, 0xfc, 0xff, 0xff, //0x00002762 jae LBB1_511 + //0x00002768 LBB1_549 + 0x4c, 0x8d, 0x7a, 0x01, //0x00002768 leaq $1(%rdx), %r15 + 0x0f, 0xb6, 0x3a, //0x0000276c movzbl (%rdx), %edi + 0x40, 0x80, 0xff, 0x5c, //0x0000276f cmpb $92, %dil + 0x0f, 0x85, 0xe6, 0x00, 0x00, 0x00, //0x00002773 jne LBB1_562 + 0x4c, 0x8d, 0x72, 0x02, //0x00002779 leaq $2(%rdx), %r14 + 0x4c, 0x3b, 0x75, 0xd0, //0x0000277d cmpq $-48(%rbp), %r14 + 0x0f, 0x87, 0x33, 0x01, 0x00, 0x00, //0x00002781 ja LBB1_570 + 0x41, 0x0f, 0xb6, 0x07, //0x00002787 movzbl (%r15), %eax + 0x3c, 0x6e, //0x0000278b cmpb $110, %al + 0x0f, 0x84, 0xc5, 0xff, 0xff, 0xff, //0x0000278d je LBB1_547 + 0x3c, 0x72, //0x00002793 cmpb $114, %al + 0x0f, 0x84, 0xbd, 0xff, 0xff, 0xff, //0x00002795 je LBB1_547 + 0x3c, 0x75, //0x0000279b cmpb $117, %al + 0x0f, 0x85, 0xe1, 0x00, 0x00, 0x00, //0x0000279d jne LBB1_544 + 0x48, 0x8b, 0x45, 0xd0, //0x000027a3 movq $-48(%rbp), %rax + 0x4c, 0x29, 0xf0, //0x000027a7 subq %r14, %rax + 0x48, 0x83, 0xf8, 0x04, //0x000027aa cmpq $4, %rax + 0x0f, 0x8c, 0xc8, 0x00, 0x00, 0x00, //0x000027ae jl LBB1_566 + 0x41, 0x8b, 0x06, //0x000027b4 movl (%r14), %eax + 0x89, 0xc7, //0x000027b7 movl %eax, %edi + 0xf7, 0xd7, //0x000027b9 notl %edi + 0x8d, 0x88, 0xd0, 0xcf, 0xcf, 0xcf, //0x000027bb leal $-808464432(%rax), %ecx + 0x81, 0xe7, 0x80, 0x80, 0x80, 0x80, //0x000027c1 andl $-2139062144, %edi + 0x85, 0xcf, //0x000027c7 testl %ecx, %edi + 0x0f, 0x85, 0xad, 0x00, 0x00, 0x00, //0x000027c9 jne LBB1_566 + 0x8d, 0x88, 0x19, 0x19, 0x19, 0x19, //0x000027cf leal $421075225(%rax), %ecx + 0x09, 0xc1, //0x000027d5 orl %eax, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x000027d7 testl $-2139062144, %ecx + 0x0f, 0x85, 0x99, 0x00, 0x00, 0x00, //0x000027dd jne LBB1_566 + 0x89, 0xc6, //0x000027e3 movl %eax, %esi + 0x81, 0xe6, 0x7f, 0x7f, 0x7f, 0x7f, //0x000027e5 andl $2139062143, %esi + 0xb9, 0xc0, 0xc0, 0xc0, 0xc0, //0x000027eb movl $-1061109568, %ecx + 0x29, 0xf1, //0x000027f0 subl %esi, %ecx + 0x8d, 0x9e, 0x46, 0x46, 0x46, 0x46, //0x000027f2 leal $1179010630(%rsi), %ebx + 0x21, 0xf9, //0x000027f8 andl %edi, %ecx + 0x85, 0xd9, //0x000027fa testl %ebx, %ecx + 0x0f, 0x85, 0x7a, 0x00, 0x00, 0x00, //0x000027fc jne LBB1_566 + 0xb9, 0xe0, 0xe0, 0xe0, 0xe0, //0x00002802 movl $-522133280, %ecx + 0x29, 0xf1, //0x00002807 subl %esi, %ecx + 0x81, 0xc6, 0x39, 0x39, 0x39, 0x39, //0x00002809 addl $960051513, %esi + 0x21, 0xcf, //0x0000280f andl %ecx, %edi + 0x85, 0xf7, //0x00002811 testl %esi, %edi + 0x0f, 0x85, 0x63, 0x00, 0x00, 0x00, //0x00002813 jne LBB1_566 + 0x0f, 0xc8, //0x00002819 bswapl %eax + 0x89, 0xc1, //0x0000281b movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x0000281d shrl $4, %ecx + 0xf7, 0xd1, //0x00002820 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00002822 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00002828 leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x0000282b andl $252645135, %eax + 0x01, 0xc8, //0x00002830 addl %ecx, %eax + 0x89, 0xc7, //0x00002832 movl %eax, %edi + 0xc1, 0xef, 0x04, //0x00002834 shrl $4, %edi + 0x09, 0xc7, //0x00002837 orl %eax, %edi + 0x89, 0xf8, //0x00002839 movl %edi, %eax + 0xc1, 0xe8, 0x08, //0x0000283b shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x0000283e andl $65280, %eax + 0x89, 0xf9, //0x00002843 movl %edi, %ecx + 0x81, 0xe1, 0x80, 0x00, 0x00, 0x00, //0x00002845 andl $128, %ecx + 0x09, 0xc1, //0x0000284b orl %eax, %ecx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x0000284d je LBB1_561 + 0xbf, 0xff, 0x00, 0x00, 0x00, //0x00002853 movl $255, %edi + //0x00002858 LBB1_561 + 0x48, 0x83, 0xc2, 0x06, //0x00002858 addq $6, %rdx + 0x49, 0x89, 0xd7, //0x0000285c movq %rdx, %r15 + //0x0000285f LBB1_562 + 0x40, 0x80, 0xff, 0x0a, //0x0000285f cmpb $10, %dil + 0x0f, 0x84, 0xda, 0xfe, 0xff, 0xff, //0x00002863 je LBB1_565 + 0x40, 0x80, 0xff, 0x0d, //0x00002869 cmpb $13, %dil + 0x0f, 0x84, 0xd0, 0xfe, 0xff, 0xff, //0x0000286d je LBB1_565 + 0x40, 0x80, 0xff, 0x3d, //0x00002873 cmpb $61, %dil + 0xe9, 0x2f, 0x00, 0x00, 0x00, //0x00002877 jmp LBB1_567 + //0x0000287c LBB1_566 + 0x4d, 0x89, 0xf7, //0x0000287c movq %r14, %r15 + 0xe9, 0x27, 0x00, 0x00, 0x00, //0x0000287f jmp LBB1_567 + //0x00002884 LBB1_544 + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00002884 movabsq $-4294967296, %r8 + 0x4d, 0x89, 0xf7, //0x0000288e movq %r14, %r15 + 0xe9, 0x43, 0xfc, 0xff, 0xff, //0x00002891 jmp LBB1_495 + //0x00002896 LBB1_545 + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x00002896 movabsq $-4294967296, %r8 + 0x49, 0x89, 0xdf, //0x000028a0 movq %rbx, %r15 + 0xe9, 0x31, 0xfc, 0xff, 0xff, //0x000028a3 jmp LBB1_495 + //0x000028a8 LBB1_546 + 0x49, 0x89, 0xd7, //0x000028a8 movq %rdx, %r15 + //0x000028ab LBB1_567 + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x000028ab movabsq $-4294967296, %r8 + 0xe9, 0x1f, 0xfc, 0xff, 0xff, //0x000028b5 jmp LBB1_495 + //0x000028ba LBB1_570 + 0x4c, 0x89, 0xfa, //0x000028ba movq %r15, %rdx + 0x49, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, //0x000028bd movabsq $-4294967296, %r8 + 0xe9, 0x0d, 0xfc, 0xff, 0xff, //0x000028c7 jmp LBB1_495 + //0x000028cc LBB1_574 + 0x4d, 0x89, 0xf9, //0x000028cc movq %r15, %r9 + 0x48, 0x8b, 0x45, 0x90, //0x000028cf movq $-112(%rbp), %rax + 0x48, 0x83, 0xc0, 0xfc, //0x000028d3 addq $-4, %rax + 0x48, 0x3b, 0x45, 0xb0, //0x000028d7 cmpq $-80(%rbp), %rax + 0x0f, 0x83, 0x1e, 0x00, 0x00, 0x00, //0x000028db jae LBB1_575 + 0xe9, 0x34, 0x10, 0x00, 0x00, //0x000028e1 jmp LBB1_851 + //0x000028e6 LBB1_572 + 0x4d, 0x89, 0xcf, //0x000028e6 movq %r9, %r15 + 0x48, 0x8b, 0x5d, 0xd0, //0x000028e9 movq $-48(%rbp), %rbx + 0x48, 0x8b, 0x45, 0x90, //0x000028ed movq $-112(%rbp), %rax + 0x48, 0x83, 0xc0, 0xfc, //0x000028f1 addq $-4, %rax + 0x48, 0x3b, 0x45, 0xb0, //0x000028f5 cmpq $-80(%rbp), %rax + 0x0f, 0x82, 0x1b, 0x10, 0x00, 0x00, //0x000028f9 jb LBB1_851 + //0x000028ff LBB1_575 + 0x4c, 0x8d, 0x6b, 0xfc, //0x000028ff leaq $-4(%rbx), %r13 + 0x4d, 0x39, 0xfd, //0x00002903 cmpq %r15, %r13 + 0x0f, 0x82, 0x0e, 0x10, 0x00, 0x00, //0x00002906 jb LBB1_851 + 0x49, 0x89, 0xc6, //0x0000290c movq %rax, %r14 + 0x44, 0x8b, 0x65, 0xbc, //0x0000290f movl $-68(%rbp), %r12d + 0x41, 0x83, 0xe4, 0x02, //0x00002913 andl $2, %r12d + 0x48, 0x8b, 0x45, 0xa8, //0x00002917 movq $-88(%rbp), %rax + 0x48, 0x8b, 0x4d, 0x88, //0x0000291b movq $-120(%rbp), %rcx + 0x48, 0x8d, 0x54, 0x01, 0xfe, //0x0000291f leaq $-2(%rcx,%rax), %rdx + 0x48, 0x89, 0x55, 0xa0, //0x00002924 movq %rdx, $-96(%rbp) + 0x48, 0x8d, 0x44, 0x01, 0xfd, //0x00002928 leaq $-3(%rcx,%rax), %rax + 0x48, 0x89, 0x45, 0x90, //0x0000292d movq %rax, $-112(%rbp) + 0xe9, 0x45, 0x00, 0x00, 0x00, //0x00002931 jmp LBB1_577 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002936 .p2align 4, 0x90 + //0x00002940 LBB1_578 + 0xc1, 0xe2, 0x1a, //0x00002940 shll $26, %edx + 0xc1, 0xe0, 0x14, //0x00002943 shll $20, %eax + 0x09, 0xd0, //0x00002946 orl %edx, %eax + 0xc1, 0xe3, 0x0e, //0x00002948 shll $14, %ebx + 0xc1, 0xe1, 0x08, //0x0000294b shll $8, %ecx + 0x09, 0xd9, //0x0000294e orl %ebx, %ecx + 0x09, 0xc1, //0x00002950 orl %eax, %ecx + 0x0f, 0xc9, //0x00002952 bswapl %ecx + 0x48, 0x8b, 0x55, 0xb0, //0x00002954 movq $-80(%rbp), %rdx + 0x89, 0x0a, //0x00002958 movl %ecx, (%rdx) + 0x49, 0x83, 0xc7, 0x04, //0x0000295a addq $4, %r15 + 0x48, 0x83, 0xc2, 0x03, //0x0000295e addq $3, %rdx + 0x48, 0x89, 0x55, 0xb0, //0x00002962 movq %rdx, $-80(%rbp) + 0x49, 0x39, 0xd6, //0x00002966 cmpq %rdx, %r14 + 0x0f, 0x82, 0xbb, 0x0f, 0x00, 0x00, //0x00002969 jb LBB1_852 + //0x0000296f LBB1_727 + 0x4d, 0x89, 0xf9, //0x0000296f movq %r15, %r9 + 0x4d, 0x39, 0xfd, //0x00002972 cmpq %r15, %r13 + 0x0f, 0x82, 0xaf, 0x0f, 0x00, 0x00, //0x00002975 jb LBB1_852 + //0x0000297b LBB1_577 + 0x41, 0x0f, 0xb6, 0x07, //0x0000297b movzbl (%r15), %eax + 0x48, 0x8b, 0x75, 0xc0, //0x0000297f movq $-64(%rbp), %rsi + 0x0f, 0xb6, 0x14, 0x06, //0x00002983 movzbl (%rsi,%rax), %edx + 0x41, 0x0f, 0xb6, 0x47, 0x01, //0x00002987 movzbl $1(%r15), %eax + 0x0f, 0xb6, 0x04, 0x06, //0x0000298c movzbl (%rsi,%rax), %eax + 0x41, 0x0f, 0xb6, 0x4f, 0x02, //0x00002990 movzbl $2(%r15), %ecx + 0x0f, 0xb6, 0x1c, 0x0e, //0x00002995 movzbl (%rsi,%rcx), %ebx + 0x41, 0x0f, 0xb6, 0x4f, 0x03, //0x00002999 movzbl $3(%r15), %ecx + 0x0f, 0xb6, 0x0c, 0x0e, //0x0000299e movzbl (%rsi,%rcx), %ecx + 0x89, 0xc7, //0x000029a2 movl %eax, %edi + 0x09, 0xd7, //0x000029a4 orl %edx, %edi + 0x89, 0xde, //0x000029a6 movl %ebx, %esi + 0x09, 0xce, //0x000029a8 orl %ecx, %esi + 0x09, 0xfe, //0x000029aa orl %edi, %esi + 0x40, 0x80, 0xfe, 0xff, //0x000029ac cmpb $-1, %sil + 0x0f, 0x85, 0x8a, 0xff, 0xff, 0xff, //0x000029b0 jne LBB1_578 + 0x48, 0x8b, 0x5d, 0xd0, //0x000029b6 movq $-48(%rbp), %rbx + 0x4c, 0x39, 0xfb, //0x000029ba cmpq %r15, %rbx + 0x0f, 0x86, 0x1d, 0x02, 0x00, 0x00, //0x000029bd jbe LBB1_611 + 0xf6, 0x45, 0xbc, 0x08, //0x000029c3 testb $8, $-68(%rbp) + 0x0f, 0x84, 0x1f, 0x00, 0x00, 0x00, //0x000029c7 je LBB1_583 + 0x4c, 0x89, 0xfa, //0x000029cd movq %r15, %rdx + 0xe9, 0xc7, 0x00, 0x00, 0x00, //0x000029d0 jmp LBB1_594 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000029d5 .p2align 4, 0x90 + //0x000029e0 LBB1_582 + 0x49, 0xff, 0xc7, //0x000029e0 incq %r15 + 0x49, 0x39, 0xdf, //0x000029e3 cmpq %rbx, %r15 + 0x0f, 0x83, 0xde, 0x01, 0x00, 0x00, //0x000029e6 jae LBB1_609 + //0x000029ec LBB1_583 + 0x41, 0x0f, 0xb6, 0x0f, //0x000029ec movzbl (%r15), %ecx + 0x48, 0x83, 0xf9, 0x0d, //0x000029f0 cmpq $13, %rcx + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x000029f4 je LBB1_582 + 0x80, 0xf9, 0x0a, //0x000029fa cmpb $10, %cl + 0x0f, 0x84, 0xdd, 0xff, 0xff, 0xff, //0x000029fd je LBB1_582 + 0x48, 0x8b, 0x45, 0xc0, //0x00002a03 movq $-64(%rbp), %rax + 0x0f, 0xb6, 0x04, 0x08, //0x00002a07 movzbl (%rax,%rcx), %eax + 0x49, 0xff, 0xc7, //0x00002a0b incq %r15 + 0x89, 0x45, 0xc8, //0x00002a0e movl %eax, $-56(%rbp) + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00002a11 cmpl $255, %eax + 0x0f, 0x84, 0x84, 0x02, 0x00, 0x00, //0x00002a16 je LBB1_623 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00002a1c movl $1, %r11d + 0x49, 0x39, 0xdf, //0x00002a22 cmpq %rbx, %r15 + 0x0f, 0x82, 0x11, 0x00, 0x00, 0x00, //0x00002a25 jb LBB1_588 + 0xe9, 0x99, 0x06, 0x00, 0x00, //0x00002a2b jmp LBB1_693 + //0x00002a30 .p2align 4, 0x90 + //0x00002a30 LBB1_587 + 0x49, 0xff, 0xc7, //0x00002a30 incq %r15 + 0x49, 0x39, 0xdf, //0x00002a33 cmpq %rbx, %r15 + 0x0f, 0x83, 0x3d, 0x04, 0x00, 0x00, //0x00002a36 jae LBB1_675 + //0x00002a3c LBB1_588 + 0x41, 0x0f, 0xb6, 0x0f, //0x00002a3c movzbl (%r15), %ecx + 0x48, 0x83, 0xf9, 0x0d, //0x00002a40 cmpq $13, %rcx + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x00002a44 je LBB1_587 + 0x80, 0xf9, 0x0a, //0x00002a4a cmpb $10, %cl + 0x0f, 0x84, 0xdd, 0xff, 0xff, 0xff, //0x00002a4d je LBB1_587 + 0x48, 0x8b, 0x45, 0xc0, //0x00002a53 movq $-64(%rbp), %rax + 0x0f, 0xb6, 0x04, 0x08, //0x00002a57 movzbl (%rax,%rcx), %eax + 0x49, 0xff, 0xc7, //0x00002a5b incq %r15 + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00002a5e cmpl $255, %eax + 0x0f, 0x84, 0xb6, 0x06, 0x00, 0x00, //0x00002a63 je LBB1_716 + 0x8b, 0x4d, 0xc8, //0x00002a69 movl $-56(%rbp), %ecx + 0xc1, 0xe1, 0x06, //0x00002a6c shll $6, %ecx + 0x09, 0xc1, //0x00002a6f orl %eax, %ecx + 0x89, 0x4d, 0xc8, //0x00002a71 movl %ecx, $-56(%rbp) + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00002a74 movl $2, %r11d + 0x49, 0x39, 0xdf, //0x00002a7a cmpq %rbx, %r15 + 0x0f, 0x82, 0x8f, 0x01, 0x00, 0x00, //0x00002a7d jb LBB1_613 + 0xe9, 0x41, 0x06, 0x00, 0x00, //0x00002a83 jmp LBB1_693 + //0x00002a88 LBB1_592 + 0x3c, 0x6e, //0x00002a88 cmpb $110, %al + 0x0f, 0x85, 0xd6, 0x01, 0x00, 0x00, //0x00002a8a jne LBB1_618 + //0x00002a90 .p2align 4, 0x90 + //0x00002a90 LBB1_593 + 0x4c, 0x89, 0xfa, //0x00002a90 movq %r15, %rdx + 0x49, 0x39, 0xdf, //0x00002a93 cmpq %rbx, %r15 + 0x0f, 0x83, 0x2e, 0x01, 0x00, 0x00, //0x00002a96 jae LBB1_609 + //0x00002a9c LBB1_594 + 0x48, 0x8d, 0x42, 0x01, //0x00002a9c leaq $1(%rdx), %rax + 0x0f, 0xb6, 0x0a, //0x00002aa0 movzbl (%rdx), %ecx + 0x80, 0xf9, 0x5c, //0x00002aa3 cmpb $92, %cl + 0x0f, 0x85, 0x04, 0x01, 0x00, 0x00, //0x00002aa6 jne LBB1_607 + 0x4c, 0x8d, 0x7a, 0x02, //0x00002aac leaq $2(%rdx), %r15 + 0xb1, 0xff, //0x00002ab0 movb $-1, %cl + 0x49, 0x39, 0xdf, //0x00002ab2 cmpq %rbx, %r15 + 0x0f, 0x87, 0xa3, 0x01, 0x00, 0x00, //0x00002ab5 ja LBB1_617 + 0x0f, 0xb6, 0x00, //0x00002abb movzbl (%rax), %eax + 0x3c, 0x71, //0x00002abe cmpb $113, %al + 0x0f, 0x8e, 0xc2, 0xff, 0xff, 0xff, //0x00002ac0 jle LBB1_592 + 0x3c, 0x72, //0x00002ac6 cmpb $114, %al + 0x0f, 0x84, 0xc2, 0xff, 0xff, 0xff, //0x00002ac8 je LBB1_593 + 0x3c, 0x75, //0x00002ace cmpb $117, %al + 0x0f, 0x85, 0x9a, 0x01, 0x00, 0x00, //0x00002ad0 jne LBB1_620 + 0x48, 0x89, 0xd8, //0x00002ad6 movq %rbx, %rax + 0x4c, 0x29, 0xf8, //0x00002ad9 subq %r15, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00002adc cmpq $4, %rax + 0x0f, 0x8c, 0x8a, 0x01, 0x00, 0x00, //0x00002ae0 jl LBB1_620 + 0x41, 0x8b, 0x07, //0x00002ae6 movl (%r15), %eax + 0x89, 0xc6, //0x00002ae9 movl %eax, %esi + 0xf7, 0xd6, //0x00002aeb notl %esi + 0x8d, 0xb8, 0xd0, 0xcf, 0xcf, 0xcf, //0x00002aed leal $-808464432(%rax), %edi + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x00002af3 andl $-2139062144, %esi + 0x85, 0xfe, //0x00002af9 testl %edi, %esi + 0x0f, 0x85, 0x6f, 0x01, 0x00, 0x00, //0x00002afb jne LBB1_620 + 0x8d, 0xb8, 0x19, 0x19, 0x19, 0x19, //0x00002b01 leal $421075225(%rax), %edi + 0x09, 0xc7, //0x00002b07 orl %eax, %edi + 0xf7, 0xc7, 0x80, 0x80, 0x80, 0x80, //0x00002b09 testl $-2139062144, %edi + 0x0f, 0x85, 0x5b, 0x01, 0x00, 0x00, //0x00002b0f jne LBB1_620 + 0x89, 0xc7, //0x00002b15 movl %eax, %edi + 0x81, 0xe7, 0x7f, 0x7f, 0x7f, 0x7f, //0x00002b17 andl $2139062143, %edi + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x00002b1d movl $-1061109568, %ebx + 0x29, 0xfb, //0x00002b22 subl %edi, %ebx + 0x44, 0x8d, 0x87, 0x46, 0x46, 0x46, 0x46, //0x00002b24 leal $1179010630(%rdi), %r8d + 0x21, 0xf3, //0x00002b2b andl %esi, %ebx + 0x44, 0x85, 0xc3, //0x00002b2d testl %r8d, %ebx + 0x48, 0x8b, 0x5d, 0xd0, //0x00002b30 movq $-48(%rbp), %rbx + 0x0f, 0x85, 0x36, 0x01, 0x00, 0x00, //0x00002b34 jne LBB1_620 + 0xbb, 0xe0, 0xe0, 0xe0, 0xe0, //0x00002b3a movl $-522133280, %ebx + 0x29, 0xfb, //0x00002b3f subl %edi, %ebx + 0x81, 0xc7, 0x39, 0x39, 0x39, 0x39, //0x00002b41 addl $960051513, %edi + 0x21, 0xde, //0x00002b47 andl %ebx, %esi + 0x48, 0x8b, 0x5d, 0xd0, //0x00002b49 movq $-48(%rbp), %rbx + 0x85, 0xfe, //0x00002b4d testl %edi, %esi + 0x0f, 0x85, 0x1b, 0x01, 0x00, 0x00, //0x00002b4f jne LBB1_620 + 0x0f, 0xc8, //0x00002b55 bswapl %eax + 0x89, 0xc1, //0x00002b57 movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00002b59 shrl $4, %ecx + 0xf7, 0xd1, //0x00002b5c notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00002b5e andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00002b64 leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x00002b67 andl $252645135, %eax + 0x01, 0xc8, //0x00002b6c addl %ecx, %eax + 0x89, 0xc1, //0x00002b6e movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00002b70 shrl $4, %ecx + 0x09, 0xc1, //0x00002b73 orl %eax, %ecx + 0x89, 0xc8, //0x00002b75 movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x00002b77 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00002b7a andl $65280, %eax + 0x89, 0xce, //0x00002b7f movl %ecx, %esi + 0x81, 0xe6, 0x80, 0x00, 0x00, 0x00, //0x00002b81 andl $128, %esi + 0x09, 0xc6, //0x00002b87 orl %eax, %esi + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00002b89 je LBB1_606 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x00002b8f movl $255, %ecx + //0x00002b94 LBB1_606 + 0x48, 0x83, 0xc2, 0x06, //0x00002b94 addq $6, %rdx + 0x49, 0x89, 0xd7, //0x00002b98 movq %rdx, %r15 + 0x80, 0xf9, 0x0d, //0x00002b9b cmpb $13, %cl + 0x0f, 0x85, 0x18, 0x00, 0x00, 0x00, //0x00002b9e jne LBB1_608 + 0xe9, 0xe7, 0xfe, 0xff, 0xff, //0x00002ba4 jmp LBB1_593 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002ba9 .p2align 4, 0x90 + //0x00002bb0 LBB1_607 + 0x49, 0x89, 0xc7, //0x00002bb0 movq %rax, %r15 + 0x80, 0xf9, 0x0d, //0x00002bb3 cmpb $13, %cl + 0x0f, 0x84, 0xd4, 0xfe, 0xff, 0xff, //0x00002bb6 je LBB1_593 + //0x00002bbc LBB1_608 + 0x80, 0xf9, 0x0a, //0x00002bbc cmpb $10, %cl + 0x0f, 0x84, 0xcb, 0xfe, 0xff, 0xff, //0x00002bbf je LBB1_593 + 0xe9, 0xa6, 0x00, 0x00, 0x00, //0x00002bc5 jmp LBB1_620 + //0x00002bca LBB1_609 + 0xc7, 0x45, 0xc8, 0x00, 0x00, 0x00, 0x00, //0x00002bca movl $0, $-56(%rbp) + 0x45, 0x31, 0xdb, //0x00002bd1 xorl %r11d, %r11d + //0x00002bd4 LBB1_610 + 0x45, 0x85, 0xdb, //0x00002bd4 testl %r11d, %r11d + 0x0f, 0x85, 0xec, 0x04, 0x00, 0x00, //0x00002bd7 jne LBB1_693 + 0x90, 0x90, 0x90, //0x00002bdd .p2align 4, 0x90 + //0x00002be0 LBB1_611 + 0x48, 0x8b, 0x55, 0xb0, //0x00002be0 movq $-80(%rbp), %rdx + 0x48, 0x89, 0x55, 0xb0, //0x00002be4 movq %rdx, $-80(%rbp) + 0x49, 0x39, 0xd6, //0x00002be8 cmpq %rdx, %r14 + 0x0f, 0x83, 0x7e, 0xfd, 0xff, 0xff, //0x00002beb jae LBB1_727 + 0xe9, 0x34, 0x0d, 0x00, 0x00, //0x00002bf1 jmp LBB1_852 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00002bf6 .p2align 4, 0x90 + //0x00002c00 LBB1_612 + 0x49, 0xff, 0xc7, //0x00002c00 incq %r15 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00002c03 movl $2, %r11d + 0x49, 0x39, 0xdf, //0x00002c09 cmpq %rbx, %r15 + 0x0f, 0x83, 0xc2, 0xff, 0xff, 0xff, //0x00002c0c jae LBB1_610 + //0x00002c12 LBB1_613 + 0x41, 0x0f, 0xb6, 0x0f, //0x00002c12 movzbl (%r15), %ecx + 0x48, 0x83, 0xf9, 0x0d, //0x00002c16 cmpq $13, %rcx + 0x0f, 0x84, 0xe0, 0xff, 0xff, 0xff, //0x00002c1a je LBB1_612 + 0x80, 0xf9, 0x0a, //0x00002c20 cmpb $10, %cl + 0x0f, 0x84, 0xd7, 0xff, 0xff, 0xff, //0x00002c23 je LBB1_612 + 0x48, 0x8b, 0x45, 0xc0, //0x00002c29 movq $-64(%rbp), %rax + 0x0f, 0xb6, 0x04, 0x08, //0x00002c2d movzbl (%rax,%rcx), %eax + 0x49, 0xff, 0xc7, //0x00002c31 incq %r15 + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00002c34 cmpl $255, %eax + 0x0f, 0x84, 0x0e, 0x09, 0x00, 0x00, //0x00002c39 je LBB1_759 + 0x8b, 0x4d, 0xc8, //0x00002c3f movl $-56(%rbp), %ecx + 0xc1, 0xe1, 0x06, //0x00002c42 shll $6, %ecx + 0x09, 0xc1, //0x00002c45 orl %eax, %ecx + 0x89, 0x4d, 0xc8, //0x00002c47 movl %ecx, $-56(%rbp) + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00002c4a movl $3, %r11d + 0x49, 0x39, 0xdf, //0x00002c50 cmpq %rbx, %r15 + 0x0f, 0x82, 0xa6, 0x03, 0x00, 0x00, //0x00002c53 jb LBB1_677 + 0xe9, 0x6b, 0x04, 0x00, 0x00, //0x00002c59 jmp LBB1_693 + //0x00002c5e LBB1_617 + 0x49, 0x89, 0xc7, //0x00002c5e movq %rax, %r15 + 0xe9, 0x0a, 0x00, 0x00, 0x00, //0x00002c61 jmp LBB1_620 + //0x00002c66 LBB1_618 + 0x3c, 0x2f, //0x00002c66 cmpb $47, %al + 0x0f, 0x85, 0x02, 0x00, 0x00, 0x00, //0x00002c68 jne LBB1_620 + 0x89, 0xc1, //0x00002c6e movl %eax, %ecx + //0x00002c70 LBB1_620 + 0x0f, 0xb6, 0xc1, //0x00002c70 movzbl %cl, %eax + 0x48, 0x8b, 0x55, 0xc0, //0x00002c73 movq $-64(%rbp), %rdx + 0x0f, 0xb6, 0x04, 0x02, //0x00002c77 movzbl (%rdx,%rax), %eax + 0x89, 0x45, 0xc8, //0x00002c7b movl %eax, $-56(%rbp) + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00002c7e cmpl $255, %eax + 0x0f, 0x84, 0x17, 0x00, 0x00, 0x00, //0x00002c83 je LBB1_623 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00002c89 movl $1, %r11d + 0x49, 0x39, 0xdf, //0x00002c8f cmpq %rbx, %r15 + 0x0f, 0x83, 0x31, 0x04, 0x00, 0x00, //0x00002c92 jae LBB1_693 + 0x4c, 0x89, 0xfa, //0x00002c98 movq %r15, %rdx + 0xe9, 0xc8, 0x00, 0x00, 0x00, //0x00002c9b jmp LBB1_639 + //0x00002ca0 LBB1_623 + 0xc7, 0x45, 0xc8, 0x00, 0x00, 0x00, 0x00, //0x00002ca0 movl $0, $-56(%rbp) + 0x45, 0x31, 0xdb, //0x00002ca7 xorl %r11d, %r11d + //0x00002caa LBB1_624 + 0x45, 0x85, 0xe4, //0x00002caa testl %r12d, %r12d + 0x0f, 0x85, 0x3e, 0x04, 0x00, 0x00, //0x00002cad jne LBB1_696 + 0x41, 0x83, 0xfb, 0x02, //0x00002cb3 cmpl $2, %r11d + 0x0f, 0x82, 0x34, 0x04, 0x00, 0x00, //0x00002cb7 jb LBB1_696 + 0x80, 0xf9, 0x3d, //0x00002cbd cmpb $61, %cl + 0x0f, 0x85, 0x2b, 0x04, 0x00, 0x00, //0x00002cc0 jne LBB1_696 + 0x41, 0xba, 0x05, 0x00, 0x00, 0x00, //0x00002cc6 movl $5, %r10d + 0x45, 0x29, 0xda, //0x00002ccc subl %r11d, %r10d + 0xf6, 0x45, 0xbc, 0x08, //0x00002ccf testb $8, $-68(%rbp) + 0x0f, 0x85, 0xab, 0x01, 0x00, 0x00, //0x00002cd3 jne LBB1_655 + 0x4c, 0x39, 0x7d, 0xd0, //0x00002cd9 cmpq %r15, $-48(%rbp) + 0x0f, 0x86, 0x2a, 0x09, 0x00, 0x00, //0x00002cdd jbe LBB1_720 + 0x49, 0x8d, 0x4f, 0x03, //0x00002ce3 leaq $3(%r15), %rcx + 0x48, 0x8b, 0x5d, 0xa0, //0x00002ce7 movq $-96(%rbp), %rbx + 0x4c, 0x29, 0xfb, //0x00002ceb subq %r15, %rbx + 0x49, 0x8d, 0x57, 0x04, //0x00002cee leaq $4(%r15), %rdx + 0x48, 0x8b, 0x7d, 0x90, //0x00002cf2 movq $-112(%rbp), %rdi + 0x4c, 0x29, 0xff, //0x00002cf6 subq %r15, %rdi + 0xe9, 0x1b, 0x00, 0x00, 0x00, //0x00002cf9 jmp LBB1_631 + 0x90, 0x90, //0x00002cfe .p2align 4, 0x90 + //0x00002d00 LBB1_630 + 0x49, 0xff, 0xc7, //0x00002d00 incq %r15 + 0x48, 0xff, 0xc1, //0x00002d03 incq %rcx + 0x48, 0xff, 0xcb, //0x00002d06 decq %rbx + 0x48, 0xff, 0xc2, //0x00002d09 incq %rdx + 0x48, 0xff, 0xcf, //0x00002d0c decq %rdi + 0x4c, 0x39, 0x7d, 0xd0, //0x00002d0f cmpq %r15, $-48(%rbp) + 0x0f, 0x84, 0xf0, 0x08, 0x00, 0x00, //0x00002d13 je LBB1_717 + //0x00002d19 LBB1_631 + 0x41, 0x0f, 0xb6, 0x07, //0x00002d19 movzbl (%r15), %eax + 0x3c, 0x0a, //0x00002d1d cmpb $10, %al + 0x0f, 0x84, 0xdb, 0xff, 0xff, 0xff, //0x00002d1f je LBB1_630 + 0x3c, 0x0d, //0x00002d25 cmpb $13, %al + 0x0f, 0x84, 0xd3, 0xff, 0xff, 0xff, //0x00002d27 je LBB1_630 + 0x3c, 0x3d, //0x00002d2d cmpb $61, %al + 0x0f, 0x85, 0x30, 0x05, 0x00, 0x00, //0x00002d2f jne LBB1_728 + 0x49, 0xff, 0xc7, //0x00002d35 incq %r15 + 0x41, 0x83, 0xfa, 0x02, //0x00002d38 cmpl $2, %r10d + 0x0f, 0x84, 0xaf, 0x03, 0x00, 0x00, //0x00002d3c je LBB1_696 + 0x4c, 0x39, 0x7d, 0xd0, //0x00002d42 cmpq %r15, $-48(%rbp) + 0x0f, 0x87, 0x04, 0x03, 0x00, 0x00, //0x00002d46 ja LBB1_682 + 0xe9, 0xbc, 0x08, 0x00, 0x00, //0x00002d4c jmp LBB1_720 + //0x00002d51 LBB1_636 + 0x3c, 0x6e, //0x00002d51 cmpb $110, %al + 0x0f, 0x85, 0x2f, 0x03, 0x00, 0x00, //0x00002d53 jne LBB1_688 + //0x00002d59 LBB1_637 + 0x4d, 0x89, 0xc7, //0x00002d59 movq %r8, %r15 + //0x00002d5c LBB1_638 + 0x4c, 0x89, 0xfa, //0x00002d5c movq %r15, %rdx + 0x49, 0x39, 0xdf, //0x00002d5f cmpq %rbx, %r15 + 0x0f, 0x83, 0x11, 0x01, 0x00, 0x00, //0x00002d62 jae LBB1_675 + //0x00002d68 LBB1_639 + 0x4c, 0x8d, 0x7a, 0x01, //0x00002d68 leaq $1(%rdx), %r15 + 0x0f, 0xb6, 0x0a, //0x00002d6c movzbl (%rdx), %ecx + 0x80, 0xf9, 0x5c, //0x00002d6f cmpb $92, %cl + 0x0f, 0x85, 0xea, 0x00, 0x00, 0x00, //0x00002d72 jne LBB1_652 + 0x4c, 0x8d, 0x42, 0x02, //0x00002d78 leaq $2(%rdx), %r8 + 0xb1, 0xff, //0x00002d7c movb $-1, %cl + 0x49, 0x39, 0xd8, //0x00002d7e cmpq %rbx, %r8 + 0x0f, 0x87, 0x12, 0x03, 0x00, 0x00, //0x00002d81 ja LBB1_691 + 0x41, 0x0f, 0xb6, 0x07, //0x00002d87 movzbl (%r15), %eax + 0x3c, 0x71, //0x00002d8b cmpb $113, %al + 0x0f, 0x8e, 0xbe, 0xff, 0xff, 0xff, //0x00002d8d jle LBB1_636 + 0x3c, 0x72, //0x00002d93 cmpb $114, %al + 0x0f, 0x84, 0xbe, 0xff, 0xff, 0xff, //0x00002d95 je LBB1_637 + 0x3c, 0x75, //0x00002d9b cmpb $117, %al + 0x0f, 0x85, 0xef, 0x02, 0x00, 0x00, //0x00002d9d jne LBB1_690 + 0x48, 0x8b, 0x45, 0xd0, //0x00002da3 movq $-48(%rbp), %rax + 0x4c, 0x29, 0xc0, //0x00002da7 subq %r8, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00002daa cmpq $4, %rax + 0x0f, 0x8c, 0xde, 0x02, 0x00, 0x00, //0x00002dae jl LBB1_690 + 0x41, 0x8b, 0x18, //0x00002db4 movl (%r8), %ebx + 0x89, 0xde, //0x00002db7 movl %ebx, %esi + 0xf7, 0xd6, //0x00002db9 notl %esi + 0x8d, 0x83, 0xd0, 0xcf, 0xcf, 0xcf, //0x00002dbb leal $-808464432(%rbx), %eax + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x00002dc1 andl $-2139062144, %esi + 0x85, 0xc6, //0x00002dc7 testl %eax, %esi + 0x0f, 0x85, 0xc3, 0x02, 0x00, 0x00, //0x00002dc9 jne LBB1_690 + 0x8d, 0x83, 0x19, 0x19, 0x19, 0x19, //0x00002dcf leal $421075225(%rbx), %eax + 0x09, 0xd8, //0x00002dd5 orl %ebx, %eax + 0xa9, 0x80, 0x80, 0x80, 0x80, //0x00002dd7 testl $-2139062144, %eax + 0x0f, 0x85, 0xb0, 0x02, 0x00, 0x00, //0x00002ddc jne LBB1_690 + 0x89, 0xd8, //0x00002de2 movl %ebx, %eax + 0x25, 0x7f, 0x7f, 0x7f, 0x7f, //0x00002de4 andl $2139062143, %eax + 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, //0x00002de9 movl $-1061109568, %edi + 0x29, 0xc7, //0x00002dee subl %eax, %edi + 0x44, 0x8d, 0x90, 0x46, 0x46, 0x46, 0x46, //0x00002df0 leal $1179010630(%rax), %r10d + 0x21, 0xf7, //0x00002df7 andl %esi, %edi + 0x44, 0x85, 0xd7, //0x00002df9 testl %r10d, %edi + 0x0f, 0x85, 0x90, 0x02, 0x00, 0x00, //0x00002dfc jne LBB1_690 + 0xbf, 0xe0, 0xe0, 0xe0, 0xe0, //0x00002e02 movl $-522133280, %edi + 0x29, 0xc7, //0x00002e07 subl %eax, %edi + 0x05, 0x39, 0x39, 0x39, 0x39, //0x00002e09 addl $960051513, %eax + 0x21, 0xfe, //0x00002e0e andl %edi, %esi + 0x85, 0xc6, //0x00002e10 testl %eax, %esi + 0x0f, 0x85, 0x7a, 0x02, 0x00, 0x00, //0x00002e12 jne LBB1_690 + 0x0f, 0xcb, //0x00002e18 bswapl %ebx + 0x89, 0xd8, //0x00002e1a movl %ebx, %eax + 0xc1, 0xe8, 0x04, //0x00002e1c shrl $4, %eax + 0xf7, 0xd0, //0x00002e1f notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x00002e21 andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00002e26 leal (%rax,%rax,8), %eax + 0x81, 0xe3, 0x0f, 0x0f, 0x0f, 0x0f, //0x00002e29 andl $252645135, %ebx + 0x01, 0xc3, //0x00002e2f addl %eax, %ebx + 0x89, 0xd9, //0x00002e31 movl %ebx, %ecx + 0xc1, 0xe9, 0x04, //0x00002e33 shrl $4, %ecx + 0x09, 0xd9, //0x00002e36 orl %ebx, %ecx + 0x89, 0xc8, //0x00002e38 movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x00002e3a shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00002e3d andl $65280, %eax + 0x89, 0xce, //0x00002e42 movl %ecx, %esi + 0x81, 0xe6, 0x80, 0x00, 0x00, 0x00, //0x00002e44 andl $128, %esi + 0x09, 0xc6, //0x00002e4a orl %eax, %esi + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00002e4c je LBB1_651 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x00002e52 movl $255, %ecx + //0x00002e57 LBB1_651 + 0x48, 0x83, 0xc2, 0x06, //0x00002e57 addq $6, %rdx + 0x49, 0x89, 0xd7, //0x00002e5b movq %rdx, %r15 + 0x48, 0x8b, 0x5d, 0xd0, //0x00002e5e movq $-48(%rbp), %rbx + //0x00002e62 LBB1_652 + 0x80, 0xf9, 0x0a, //0x00002e62 cmpb $10, %cl + 0x0f, 0x84, 0xf1, 0xfe, 0xff, 0xff, //0x00002e65 je LBB1_638 + 0x80, 0xf9, 0x0d, //0x00002e6b cmpb $13, %cl + 0x0f, 0x84, 0xe8, 0xfe, 0xff, 0xff, //0x00002e6e je LBB1_638 + 0xe9, 0x20, 0x02, 0x00, 0x00, //0x00002e74 jmp LBB1_691 + //0x00002e79 LBB1_675 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00002e79 movl $1, %r11d + 0xe9, 0x50, 0xfd, 0xff, 0xff, //0x00002e7f jmp LBB1_610 + //0x00002e84 LBB1_655 + 0x48, 0x8b, 0x55, 0xd0, //0x00002e84 movq $-48(%rbp), %rdx + 0x4c, 0x39, 0xfa, //0x00002e88 cmpq %r15, %rdx + 0x0f, 0x87, 0x28, 0x00, 0x00, 0x00, //0x00002e8b ja LBB1_658 + 0xe9, 0x77, 0x07, 0x00, 0x00, //0x00002e91 jmp LBB1_720 + //0x00002e96 LBB1_674 + 0x48, 0x89, 0xc1, //0x00002e96 movq %rax, %rcx + 0x49, 0x89, 0xcf, //0x00002e99 movq %rcx, %r15 + 0x48, 0x39, 0xd1, //0x00002e9c cmpq %rdx, %rcx + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x00002e9f jb LBB1_658 + 0xe9, 0x3b, 0x01, 0x00, 0x00, //0x00002ea5 jmp LBB1_719 + //0x00002eaa LBB1_656 + 0x48, 0x89, 0xc8, //0x00002eaa movq %rcx, %rax + 0x49, 0x89, 0xcf, //0x00002ead movq %rcx, %r15 + 0x48, 0x39, 0xd1, //0x00002eb0 cmpq %rdx, %rcx + 0x0f, 0x83, 0x2c, 0x01, 0x00, 0x00, //0x00002eb3 jae LBB1_719 + //0x00002eb9 LBB1_658 + 0x49, 0x8d, 0x47, 0x01, //0x00002eb9 leaq $1(%r15), %rax + 0x41, 0x0f, 0xb6, 0x0f, //0x00002ebd movzbl (%r15), %ecx + 0x80, 0xf9, 0x5c, //0x00002ec1 cmpb $92, %cl + 0x0f, 0x85, 0xe6, 0x00, 0x00, 0x00, //0x00002ec4 jne LBB1_671 + 0x49, 0x8d, 0x4f, 0x02, //0x00002eca leaq $2(%r15), %rcx + 0x48, 0x39, 0xd1, //0x00002ece cmpq %rdx, %rcx + 0x0f, 0x87, 0x3b, 0x0a, 0x00, 0x00, //0x00002ed1 ja LBB1_827 + 0x0f, 0xb6, 0x00, //0x00002ed7 movzbl (%rax), %eax + 0x3c, 0x6e, //0x00002eda cmpb $110, %al + 0x0f, 0x84, 0xc8, 0xff, 0xff, 0xff, //0x00002edc je LBB1_656 + 0x3c, 0x72, //0x00002ee2 cmpb $114, %al + 0x0f, 0x84, 0xc0, 0xff, 0xff, 0xff, //0x00002ee4 je LBB1_656 + 0x3c, 0x75, //0x00002eea cmpb $117, %al + 0x0f, 0x85, 0x15, 0x0a, 0x00, 0x00, //0x00002eec jne LBB1_847 + 0x48, 0x89, 0xd0, //0x00002ef2 movq %rdx, %rax + 0x48, 0x29, 0xc8, //0x00002ef5 subq %rcx, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00002ef8 cmpq $4, %rax + 0x0f, 0x8c, 0x05, 0x0a, 0x00, 0x00, //0x00002efc jl LBB1_847 + 0x8b, 0x01, //0x00002f02 movl (%rcx), %eax + 0x89, 0xc2, //0x00002f04 movl %eax, %edx + 0xf7, 0xd2, //0x00002f06 notl %edx + 0x8d, 0xb0, 0xd0, 0xcf, 0xcf, 0xcf, //0x00002f08 leal $-808464432(%rax), %esi + 0x81, 0xe2, 0x80, 0x80, 0x80, 0x80, //0x00002f0e andl $-2139062144, %edx + 0x85, 0xf2, //0x00002f14 testl %esi, %edx + 0x0f, 0x85, 0xeb, 0x09, 0x00, 0x00, //0x00002f16 jne LBB1_847 + 0x8d, 0xb0, 0x19, 0x19, 0x19, 0x19, //0x00002f1c leal $421075225(%rax), %esi + 0x09, 0xc6, //0x00002f22 orl %eax, %esi + 0xf7, 0xc6, 0x80, 0x80, 0x80, 0x80, //0x00002f24 testl $-2139062144, %esi + 0x0f, 0x85, 0xd7, 0x09, 0x00, 0x00, //0x00002f2a jne LBB1_847 + 0x89, 0xc6, //0x00002f30 movl %eax, %esi + 0x81, 0xe6, 0x7f, 0x7f, 0x7f, 0x7f, //0x00002f32 andl $2139062143, %esi + 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, //0x00002f38 movl $-1061109568, %edi + 0x29, 0xf7, //0x00002f3d subl %esi, %edi + 0x8d, 0x9e, 0x46, 0x46, 0x46, 0x46, //0x00002f3f leal $1179010630(%rsi), %ebx + 0x21, 0xd7, //0x00002f45 andl %edx, %edi + 0x85, 0xdf, //0x00002f47 testl %ebx, %edi + 0x0f, 0x85, 0xb8, 0x09, 0x00, 0x00, //0x00002f49 jne LBB1_847 + 0xbf, 0xe0, 0xe0, 0xe0, 0xe0, //0x00002f4f movl $-522133280, %edi + 0x29, 0xf7, //0x00002f54 subl %esi, %edi + 0x81, 0xc6, 0x39, 0x39, 0x39, 0x39, //0x00002f56 addl $960051513, %esi + 0x21, 0xfa, //0x00002f5c andl %edi, %edx + 0x85, 0xf2, //0x00002f5e testl %esi, %edx + 0x0f, 0x85, 0xa1, 0x09, 0x00, 0x00, //0x00002f60 jne LBB1_847 + 0x0f, 0xc8, //0x00002f66 bswapl %eax + 0x89, 0xc1, //0x00002f68 movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00002f6a shrl $4, %ecx + 0xf7, 0xd1, //0x00002f6d notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00002f6f andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00002f75 leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x00002f78 andl $252645135, %eax + 0x01, 0xc8, //0x00002f7d addl %ecx, %eax + 0x89, 0xc1, //0x00002f7f movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00002f81 shrl $4, %ecx + 0x09, 0xc1, //0x00002f84 orl %eax, %ecx + 0x89, 0xc8, //0x00002f86 movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x00002f88 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00002f8b andl $65280, %eax + 0x89, 0xca, //0x00002f90 movl %ecx, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x00002f92 andl $128, %edx + 0x09, 0xc2, //0x00002f98 orl %eax, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00002f9a je LBB1_670 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x00002fa0 movl $255, %ecx + //0x00002fa5 LBB1_670 + 0x49, 0x83, 0xc7, 0x06, //0x00002fa5 addq $6, %r15 + 0x4c, 0x89, 0xf8, //0x00002fa9 movq %r15, %rax + 0x48, 0x8b, 0x55, 0xd0, //0x00002fac movq $-48(%rbp), %rdx + //0x00002fb0 LBB1_671 + 0x80, 0xf9, 0x0a, //0x00002fb0 cmpb $10, %cl + 0x0f, 0x84, 0xdd, 0xfe, 0xff, 0xff, //0x00002fb3 je LBB1_674 + 0x80, 0xf9, 0x0d, //0x00002fb9 cmpb $13, %cl + 0x0f, 0x84, 0xd4, 0xfe, 0xff, 0xff, //0x00002fbc je LBB1_674 + 0x80, 0xf9, 0x3d, //0x00002fc2 cmpb $61, %cl + 0x0f, 0x85, 0x47, 0x09, 0x00, 0x00, //0x00002fc5 jne LBB1_827 + 0x49, 0x89, 0xc7, //0x00002fcb movq %rax, %r15 + 0x41, 0x83, 0xfa, 0x02, //0x00002fce cmpl $2, %r10d + 0x0f, 0x84, 0x19, 0x01, 0x00, 0x00, //0x00002fd2 je LBB1_696 + 0x48, 0x8b, 0x75, 0xd0, //0x00002fd8 movq $-48(%rbp), %rsi + 0x48, 0x39, 0xc6, //0x00002fdc cmpq %rax, %rsi + 0x0f, 0x87, 0x32, 0x04, 0x00, 0x00, //0x00002fdf ja LBB1_762 + //0x00002fe5 LBB1_719 + 0x49, 0x89, 0xc7, //0x00002fe5 movq %rax, %r15 + 0xe9, 0x20, 0x06, 0x00, 0x00, //0x00002fe8 jmp LBB1_720 + //0x00002fed LBB1_676 + 0x49, 0xff, 0xc7, //0x00002fed incq %r15 + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00002ff0 movl $3, %r11d + 0x49, 0x39, 0xdf, //0x00002ff6 cmpq %rbx, %r15 + 0x0f, 0x83, 0xd5, 0xfb, 0xff, 0xff, //0x00002ff9 jae LBB1_610 + //0x00002fff LBB1_677 + 0x41, 0x0f, 0xb6, 0x0f, //0x00002fff movzbl (%r15), %ecx + 0x48, 0x83, 0xf9, 0x0d, //0x00003003 cmpq $13, %rcx + 0x0f, 0x84, 0xe0, 0xff, 0xff, 0xff, //0x00003007 je LBB1_676 + 0x80, 0xf9, 0x0a, //0x0000300d cmpb $10, %cl + 0x0f, 0x84, 0xd7, 0xff, 0xff, 0xff, //0x00003010 je LBB1_676 + 0x48, 0x8b, 0x45, 0xc0, //0x00003016 movq $-64(%rbp), %rax + 0x0f, 0xb6, 0x04, 0x08, //0x0000301a movzbl (%rax,%rcx), %eax + 0x49, 0xff, 0xc7, //0x0000301e incq %r15 + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x00003021 cmpl $255, %eax + 0x0f, 0x85, 0xa0, 0x05, 0x00, 0x00, //0x00003026 jne LBB1_790 + //0x0000302c LBB1_791 + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x0000302c movl $3, %r11d + 0xe9, 0x73, 0xfc, 0xff, 0xff, //0x00003032 jmp LBB1_624 + //0x00003037 LBB1_681 + 0x49, 0xff, 0xc7, //0x00003037 incq %r15 + 0x48, 0xff, 0xc1, //0x0000303a incq %rcx + 0x48, 0xff, 0xcb, //0x0000303d decq %rbx + 0x48, 0xff, 0xc2, //0x00003040 incq %rdx + 0x48, 0xff, 0xcf, //0x00003043 decq %rdi + 0x4c, 0x39, 0x7d, 0xd0, //0x00003046 cmpq %r15, $-48(%rbp) + 0x0f, 0x84, 0xb9, 0x05, 0x00, 0x00, //0x0000304a je LBB1_717 + //0x00003050 LBB1_682 + 0x41, 0x0f, 0xb6, 0x07, //0x00003050 movzbl (%r15), %eax + 0x3c, 0x0a, //0x00003054 cmpb $10, %al + 0x0f, 0x84, 0xdb, 0xff, 0xff, 0xff, //0x00003056 je LBB1_681 + 0x3c, 0x0d, //0x0000305c cmpb $13, %al + 0x0f, 0x84, 0xd3, 0xff, 0xff, 0xff, //0x0000305e je LBB1_681 + 0x3c, 0x3d, //0x00003064 cmpb $61, %al + 0x0f, 0x85, 0xf9, 0x01, 0x00, 0x00, //0x00003066 jne LBB1_728 + 0x49, 0xff, 0xc7, //0x0000306c incq %r15 + 0x41, 0x83, 0xfa, 0x03, //0x0000306f cmpl $3, %r10d + 0x0f, 0x84, 0x78, 0x00, 0x00, 0x00, //0x00003073 je LBB1_696 + 0x4c, 0x39, 0x7d, 0xd0, //0x00003079 cmpq %r15, $-48(%rbp) + 0x0f, 0x87, 0xe7, 0x04, 0x00, 0x00, //0x0000307d ja LBB1_780 + 0xe9, 0x85, 0x05, 0x00, 0x00, //0x00003083 jmp LBB1_720 + //0x00003088 LBB1_688 + 0x3c, 0x2f, //0x00003088 cmpb $47, %al + 0x0f, 0x85, 0x02, 0x00, 0x00, 0x00, //0x0000308a jne LBB1_690 + 0x89, 0xc1, //0x00003090 movl %eax, %ecx + //0x00003092 LBB1_690 + 0x4d, 0x89, 0xc7, //0x00003092 movq %r8, %r15 + 0x48, 0x8b, 0x5d, 0xd0, //0x00003095 movq $-48(%rbp), %rbx + //0x00003099 LBB1_691 + 0x0f, 0xb6, 0xc1, //0x00003099 movzbl %cl, %eax + 0x48, 0x8b, 0x55, 0xc0, //0x0000309c movq $-64(%rbp), %rdx + 0x0f, 0xb6, 0x04, 0x02, //0x000030a0 movzbl (%rdx,%rax), %eax + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x000030a4 cmpl $255, %eax + 0x0f, 0x84, 0x70, 0x00, 0x00, 0x00, //0x000030a9 je LBB1_716 + 0x8b, 0x4d, 0xc8, //0x000030af movl $-56(%rbp), %ecx + 0xc1, 0xe1, 0x06, //0x000030b2 shll $6, %ecx + 0x09, 0xc1, //0x000030b5 orl %eax, %ecx + 0x89, 0x4d, 0xc8, //0x000030b7 movl %ecx, $-56(%rbp) + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x000030ba movl $2, %r11d + 0x49, 0x39, 0xdf, //0x000030c0 cmpq %rbx, %r15 + 0x0f, 0x82, 0x7e, 0x00, 0x00, 0x00, //0x000030c3 jb LBB1_701 + //0x000030c9 LBB1_693 + 0x45, 0x85, 0xe4, //0x000030c9 testl %r12d, %r12d + 0x0f, 0x94, 0xc0, //0x000030cc sete %al + 0x41, 0x83, 0xfb, 0x01, //0x000030cf cmpl $1, %r11d + 0x0f, 0x94, 0xc1, //0x000030d3 sete %cl + 0x49, 0x39, 0xdf, //0x000030d6 cmpq %rbx, %r15 + 0x0f, 0x82, 0x2e, 0x05, 0x00, 0x00, //0x000030d9 jb LBB1_720 + 0x41, 0x83, 0xfb, 0x04, //0x000030df cmpl $4, %r11d + 0x0f, 0x84, 0x24, 0x05, 0x00, 0x00, //0x000030e3 je LBB1_720 + 0x08, 0xc8, //0x000030e9 orb %cl, %al + 0x0f, 0x84, 0x1c, 0x05, 0x00, 0x00, //0x000030eb je LBB1_720 + //0x000030f1 LBB1_696 + 0x49, 0x8d, 0x4f, 0x01, //0x000030f1 leaq $1(%r15), %rcx + 0x4c, 0x39, 0x7d, 0xd0, //0x000030f5 cmpq %r15, $-48(%rbp) + 0x49, 0x0f, 0x45, 0xcf, //0x000030f9 cmovneq %r15, %rcx + 0x4c, 0x29, 0xc9, //0x000030fd subq %r9, %rcx + 0x0f, 0x85, 0x9a, 0x18, 0x00, 0x00, //0x00003100 jne LBB1_1137 + 0x4d, 0x89, 0xcf, //0x00003106 movq %r9, %r15 + 0x48, 0x8b, 0x55, 0xb0, //0x00003109 movq $-80(%rbp), %rdx + 0x48, 0x89, 0x55, 0xb0, //0x0000310d movq %rdx, $-80(%rbp) + 0x49, 0x39, 0xd6, //0x00003111 cmpq %rdx, %r14 + 0x0f, 0x83, 0x55, 0xf8, 0xff, 0xff, //0x00003114 jae LBB1_727 + 0xe9, 0x0b, 0x08, 0x00, 0x00, //0x0000311a jmp LBB1_852 + //0x0000311f LBB1_716 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000311f movl $1, %r11d + 0xe9, 0x80, 0xfb, 0xff, 0xff, //0x00003125 jmp LBB1_624 + //0x0000312a LBB1_698 + 0x3c, 0x6e, //0x0000312a cmpb $110, %al + 0x0f, 0x85, 0x41, 0x01, 0x00, 0x00, //0x0000312c jne LBB1_734 + //0x00003132 LBB1_699 + 0x48, 0x89, 0xd7, //0x00003132 movq %rdx, %rdi + //0x00003135 LBB1_700 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00003135 movl $2, %r11d + 0x49, 0x89, 0xff, //0x0000313b movq %rdi, %r15 + 0x48, 0x39, 0xdf, //0x0000313e cmpq %rbx, %rdi + 0x0f, 0x83, 0x16, 0x01, 0x00, 0x00, //0x00003141 jae LBB1_718 + //0x00003147 LBB1_701 + 0x49, 0x8d, 0x7f, 0x01, //0x00003147 leaq $1(%r15), %rdi + 0x41, 0x0f, 0xb6, 0x0f, //0x0000314b movzbl (%r15), %ecx + 0x80, 0xf9, 0x5c, //0x0000314f cmpb $92, %cl + 0x0f, 0x85, 0xee, 0x00, 0x00, 0x00, //0x00003152 jne LBB1_714 + 0x49, 0x8d, 0x57, 0x02, //0x00003158 leaq $2(%r15), %rdx + 0xb1, 0xff, //0x0000315c movb $-1, %cl + 0x48, 0x39, 0xda, //0x0000315e cmpq %rbx, %rdx + 0x0f, 0x87, 0x19, 0x01, 0x00, 0x00, //0x00003161 ja LBB1_737 + 0x0f, 0xb6, 0x07, //0x00003167 movzbl (%rdi), %eax + 0x3c, 0x71, //0x0000316a cmpb $113, %al + 0x0f, 0x8e, 0xb8, 0xff, 0xff, 0xff, //0x0000316c jle LBB1_698 + 0x3c, 0x72, //0x00003172 cmpb $114, %al + 0x0f, 0x84, 0xb8, 0xff, 0xff, 0xff, //0x00003174 je LBB1_699 + 0x3c, 0x75, //0x0000317a cmpb $117, %al + 0x0f, 0x85, 0xfb, 0x00, 0x00, 0x00, //0x0000317c jne LBB1_736 + 0x48, 0x89, 0xd8, //0x00003182 movq %rbx, %rax + 0x48, 0x29, 0xd0, //0x00003185 subq %rdx, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00003188 cmpq $4, %rax + 0x0f, 0x8c, 0xeb, 0x00, 0x00, 0x00, //0x0000318c jl LBB1_736 + 0x8b, 0x02, //0x00003192 movl (%rdx), %eax + 0x89, 0xc6, //0x00003194 movl %eax, %esi + 0xf7, 0xd6, //0x00003196 notl %esi + 0x8d, 0xb8, 0xd0, 0xcf, 0xcf, 0xcf, //0x00003198 leal $-808464432(%rax), %edi + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x0000319e andl $-2139062144, %esi + 0x85, 0xfe, //0x000031a4 testl %edi, %esi + 0x0f, 0x85, 0xd1, 0x00, 0x00, 0x00, //0x000031a6 jne LBB1_736 + 0x8d, 0xb8, 0x19, 0x19, 0x19, 0x19, //0x000031ac leal $421075225(%rax), %edi + 0x09, 0xc7, //0x000031b2 orl %eax, %edi + 0xf7, 0xc7, 0x80, 0x80, 0x80, 0x80, //0x000031b4 testl $-2139062144, %edi + 0x0f, 0x85, 0xbd, 0x00, 0x00, 0x00, //0x000031ba jne LBB1_736 + 0x89, 0xc7, //0x000031c0 movl %eax, %edi + 0x81, 0xe7, 0x7f, 0x7f, 0x7f, 0x7f, //0x000031c2 andl $2139062143, %edi + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x000031c8 movl $-1061109568, %ebx + 0x29, 0xfb, //0x000031cd subl %edi, %ebx + 0x44, 0x8d, 0x87, 0x46, 0x46, 0x46, 0x46, //0x000031cf leal $1179010630(%rdi), %r8d + 0x21, 0xf3, //0x000031d6 andl %esi, %ebx + 0x44, 0x85, 0xc3, //0x000031d8 testl %r8d, %ebx + 0x48, 0x8b, 0x5d, 0xd0, //0x000031db movq $-48(%rbp), %rbx + 0x0f, 0x85, 0x98, 0x00, 0x00, 0x00, //0x000031df jne LBB1_736 + 0xbb, 0xe0, 0xe0, 0xe0, 0xe0, //0x000031e5 movl $-522133280, %ebx + 0x29, 0xfb, //0x000031ea subl %edi, %ebx + 0x81, 0xc7, 0x39, 0x39, 0x39, 0x39, //0x000031ec addl $960051513, %edi + 0x21, 0xde, //0x000031f2 andl %ebx, %esi + 0x48, 0x8b, 0x5d, 0xd0, //0x000031f4 movq $-48(%rbp), %rbx + 0x85, 0xfe, //0x000031f8 testl %edi, %esi + 0x0f, 0x85, 0x7d, 0x00, 0x00, 0x00, //0x000031fa jne LBB1_736 + 0x0f, 0xc8, //0x00003200 bswapl %eax + 0x89, 0xc1, //0x00003202 movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00003204 shrl $4, %ecx + 0xf7, 0xd1, //0x00003207 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00003209 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x0000320f leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x00003212 andl $252645135, %eax + 0x01, 0xc8, //0x00003217 addl %ecx, %eax + 0x89, 0xc1, //0x00003219 movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x0000321b shrl $4, %ecx + 0x09, 0xc1, //0x0000321e orl %eax, %ecx + 0x89, 0xc8, //0x00003220 movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x00003222 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00003225 andl $65280, %eax + 0x89, 0xca, //0x0000322a movl %ecx, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x0000322c andl $128, %edx + 0x09, 0xc2, //0x00003232 orl %eax, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00003234 je LBB1_713 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x0000323a movl $255, %ecx + //0x0000323f LBB1_713 + 0x49, 0x83, 0xc7, 0x06, //0x0000323f addq $6, %r15 + 0x4c, 0x89, 0xff, //0x00003243 movq %r15, %rdi + //0x00003246 LBB1_714 + 0x80, 0xf9, 0x0a, //0x00003246 cmpb $10, %cl + 0x0f, 0x84, 0xe6, 0xfe, 0xff, 0xff, //0x00003249 je LBB1_700 + 0x80, 0xf9, 0x0d, //0x0000324f cmpb $13, %cl + 0x0f, 0x84, 0xdd, 0xfe, 0xff, 0xff, //0x00003252 je LBB1_700 + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x00003258 jmp LBB1_737 + //0x0000325d LBB1_718 + 0x49, 0x89, 0xff, //0x0000325d movq %rdi, %r15 + 0xe9, 0x6f, 0xf9, 0xff, 0xff, //0x00003260 jmp LBB1_610 + //0x00003265 LBB1_728 + 0x49, 0xff, 0xc7, //0x00003265 incq %r15 + 0x4c, 0x89, 0xfa, //0x00003268 movq %r15, %rdx + //0x0000326b LBB1_729 + 0x49, 0x89, 0xd7, //0x0000326b movq %rdx, %r15 + 0xe9, 0x7e, 0xfe, 0xff, 0xff, //0x0000326e jmp LBB1_696 + //0x00003273 LBB1_734 + 0x3c, 0x2f, //0x00003273 cmpb $47, %al + 0x0f, 0x85, 0x02, 0x00, 0x00, 0x00, //0x00003275 jne LBB1_736 + 0x89, 0xc1, //0x0000327b movl %eax, %ecx + //0x0000327d LBB1_736 + 0x48, 0x89, 0xd7, //0x0000327d movq %rdx, %rdi + //0x00003280 LBB1_737 + 0x0f, 0xb6, 0xc1, //0x00003280 movzbl %cl, %eax + 0x48, 0x8b, 0x55, 0xc0, //0x00003283 movq $-64(%rbp), %rdx + 0x0f, 0xb6, 0x04, 0x02, //0x00003287 movzbl (%rdx,%rax), %eax + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x0000328b cmpl $255, %eax + 0x0f, 0x84, 0x50, 0x01, 0x00, 0x00, //0x00003290 je LBB1_758 + 0x8b, 0x4d, 0xc8, //0x00003296 movl $-56(%rbp), %ecx + 0xc1, 0xe1, 0x06, //0x00003299 shll $6, %ecx + 0x09, 0xc1, //0x0000329c orl %eax, %ecx + 0x89, 0x4d, 0xc8, //0x0000329e movl %ecx, $-56(%rbp) + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x000032a1 movl $3, %r11d + 0x48, 0x39, 0xdf, //0x000032a7 cmpq %rbx, %rdi + 0x0f, 0x82, 0x25, 0x00, 0x00, 0x00, //0x000032aa jb LBB1_743 + 0x49, 0x89, 0xff, //0x000032b0 movq %rdi, %r15 + 0xe9, 0x11, 0xfe, 0xff, 0xff, //0x000032b3 jmp LBB1_693 + //0x000032b8 LBB1_740 + 0x3c, 0x6e, //0x000032b8 cmpb $110, %al + 0x0f, 0x85, 0xe5, 0x02, 0x00, 0x00, //0x000032ba jne LBB1_786 + //0x000032c0 LBB1_741 + 0x4d, 0x89, 0xc7, //0x000032c0 movq %r8, %r15 + //0x000032c3 LBB1_742 + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x000032c3 movl $3, %r11d + 0x4c, 0x89, 0xff, //0x000032c9 movq %r15, %rdi + 0x49, 0x39, 0xdf, //0x000032cc cmpq %rbx, %r15 + 0x0f, 0x83, 0xff, 0xf8, 0xff, 0xff, //0x000032cf jae LBB1_610 + //0x000032d5 LBB1_743 + 0x4c, 0x8d, 0x7f, 0x01, //0x000032d5 leaq $1(%rdi), %r15 + 0x0f, 0xb6, 0x0f, //0x000032d9 movzbl (%rdi), %ecx + 0x80, 0xf9, 0x5c, //0x000032dc cmpb $92, %cl + 0x0f, 0x85, 0xea, 0x00, 0x00, 0x00, //0x000032df jne LBB1_756 + 0x4c, 0x8d, 0x47, 0x02, //0x000032e5 leaq $2(%rdi), %r8 + 0xb1, 0xff, //0x000032e9 movb $-1, %cl + 0x49, 0x39, 0xd8, //0x000032eb cmpq %rbx, %r8 + 0x0f, 0x87, 0xc2, 0x02, 0x00, 0x00, //0x000032ee ja LBB1_789 + 0x41, 0x0f, 0xb6, 0x07, //0x000032f4 movzbl (%r15), %eax + 0x3c, 0x71, //0x000032f8 cmpb $113, %al + 0x0f, 0x8e, 0xb8, 0xff, 0xff, 0xff, //0x000032fa jle LBB1_740 + 0x3c, 0x72, //0x00003300 cmpb $114, %al + 0x0f, 0x84, 0xb8, 0xff, 0xff, 0xff, //0x00003302 je LBB1_741 + 0x3c, 0x75, //0x00003308 cmpb $117, %al + 0x0f, 0x85, 0x9f, 0x02, 0x00, 0x00, //0x0000330a jne LBB1_788 + 0x48, 0x8b, 0x45, 0xd0, //0x00003310 movq $-48(%rbp), %rax + 0x4c, 0x29, 0xc0, //0x00003314 subq %r8, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00003317 cmpq $4, %rax + 0x0f, 0x8c, 0x8e, 0x02, 0x00, 0x00, //0x0000331b jl LBB1_788 + 0x41, 0x8b, 0x18, //0x00003321 movl (%r8), %ebx + 0x89, 0xde, //0x00003324 movl %ebx, %esi + 0xf7, 0xd6, //0x00003326 notl %esi + 0x8d, 0x83, 0xd0, 0xcf, 0xcf, 0xcf, //0x00003328 leal $-808464432(%rbx), %eax + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x0000332e andl $-2139062144, %esi + 0x85, 0xc6, //0x00003334 testl %eax, %esi + 0x0f, 0x85, 0x73, 0x02, 0x00, 0x00, //0x00003336 jne LBB1_788 + 0x8d, 0x83, 0x19, 0x19, 0x19, 0x19, //0x0000333c leal $421075225(%rbx), %eax + 0x09, 0xd8, //0x00003342 orl %ebx, %eax + 0xa9, 0x80, 0x80, 0x80, 0x80, //0x00003344 testl $-2139062144, %eax + 0x0f, 0x85, 0x60, 0x02, 0x00, 0x00, //0x00003349 jne LBB1_788 + 0x89, 0xd8, //0x0000334f movl %ebx, %eax + 0x25, 0x7f, 0x7f, 0x7f, 0x7f, //0x00003351 andl $2139062143, %eax + 0xba, 0xc0, 0xc0, 0xc0, 0xc0, //0x00003356 movl $-1061109568, %edx + 0x29, 0xc2, //0x0000335b subl %eax, %edx + 0x44, 0x8d, 0x90, 0x46, 0x46, 0x46, 0x46, //0x0000335d leal $1179010630(%rax), %r10d + 0x21, 0xf2, //0x00003364 andl %esi, %edx + 0x44, 0x85, 0xd2, //0x00003366 testl %r10d, %edx + 0x0f, 0x85, 0x40, 0x02, 0x00, 0x00, //0x00003369 jne LBB1_788 + 0xba, 0xe0, 0xe0, 0xe0, 0xe0, //0x0000336f movl $-522133280, %edx + 0x29, 0xc2, //0x00003374 subl %eax, %edx + 0x05, 0x39, 0x39, 0x39, 0x39, //0x00003376 addl $960051513, %eax + 0x21, 0xd6, //0x0000337b andl %edx, %esi + 0x85, 0xc6, //0x0000337d testl %eax, %esi + 0x0f, 0x85, 0x2a, 0x02, 0x00, 0x00, //0x0000337f jne LBB1_788 + 0x0f, 0xcb, //0x00003385 bswapl %ebx + 0x89, 0xd8, //0x00003387 movl %ebx, %eax + 0xc1, 0xe8, 0x04, //0x00003389 shrl $4, %eax + 0xf7, 0xd0, //0x0000338c notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x0000338e andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00003393 leal (%rax,%rax,8), %eax + 0x81, 0xe3, 0x0f, 0x0f, 0x0f, 0x0f, //0x00003396 andl $252645135, %ebx + 0x01, 0xc3, //0x0000339c addl %eax, %ebx + 0x89, 0xd9, //0x0000339e movl %ebx, %ecx + 0xc1, 0xe9, 0x04, //0x000033a0 shrl $4, %ecx + 0x09, 0xd9, //0x000033a3 orl %ebx, %ecx + 0x89, 0xc8, //0x000033a5 movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x000033a7 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x000033aa andl $65280, %eax + 0x89, 0xca, //0x000033af movl %ecx, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x000033b1 andl $128, %edx + 0x09, 0xc2, //0x000033b7 orl %eax, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x000033b9 je LBB1_755 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x000033bf movl $255, %ecx + //0x000033c4 LBB1_755 + 0x48, 0x83, 0xc7, 0x06, //0x000033c4 addq $6, %rdi + 0x49, 0x89, 0xff, //0x000033c8 movq %rdi, %r15 + 0x48, 0x8b, 0x5d, 0xd0, //0x000033cb movq $-48(%rbp), %rbx + //0x000033cf LBB1_756 + 0x80, 0xf9, 0x0a, //0x000033cf cmpb $10, %cl + 0x0f, 0x84, 0xeb, 0xfe, 0xff, 0xff, //0x000033d2 je LBB1_742 + 0x80, 0xf9, 0x0d, //0x000033d8 cmpb $13, %cl + 0x0f, 0x84, 0xe2, 0xfe, 0xff, 0xff, //0x000033db je LBB1_742 + 0xe9, 0xd0, 0x01, 0x00, 0x00, //0x000033e1 jmp LBB1_789 + //0x000033e6 LBB1_758 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x000033e6 movl $2, %r11d + 0x49, 0x89, 0xff, //0x000033ec movq %rdi, %r15 + 0xe9, 0xb6, 0xf8, 0xff, 0xff, //0x000033ef jmp LBB1_624 + //0x000033f4 LBB1_778 + 0x4c, 0x89, 0xf9, //0x000033f4 movq %r15, %rcx + 0x48, 0x89, 0xc8, //0x000033f7 movq %rcx, %rax + 0x48, 0x39, 0xf1, //0x000033fa cmpq %rsi, %rcx + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x000033fd jb LBB1_762 + 0xe9, 0x05, 0x02, 0x00, 0x00, //0x00003403 jmp LBB1_720 + //0x00003408 LBB1_760 + 0x49, 0x89, 0xcf, //0x00003408 movq %rcx, %r15 + 0x48, 0x89, 0xc8, //0x0000340b movq %rcx, %rax + 0x48, 0x39, 0xf1, //0x0000340e cmpq %rsi, %rcx + 0x0f, 0x83, 0xf6, 0x01, 0x00, 0x00, //0x00003411 jae LBB1_720 + //0x00003417 LBB1_762 + 0x4c, 0x8d, 0x78, 0x01, //0x00003417 leaq $1(%rax), %r15 + 0x0f, 0xb6, 0x08, //0x0000341b movzbl (%rax), %ecx + 0x80, 0xf9, 0x5c, //0x0000341e cmpb $92, %cl + 0x0f, 0x85, 0xee, 0x00, 0x00, 0x00, //0x00003421 jne LBB1_775 + 0x48, 0x8d, 0x48, 0x02, //0x00003427 leaq $2(%rax), %rcx + 0x48, 0x39, 0xf1, //0x0000342b cmpq %rsi, %rcx + 0x0f, 0x87, 0xdb, 0x04, 0x00, 0x00, //0x0000342e ja LBB1_848 + 0x41, 0x0f, 0xb6, 0x17, //0x00003434 movzbl (%r15), %edx + 0x80, 0xfa, 0x6e, //0x00003438 cmpb $110, %dl + 0x0f, 0x84, 0xc7, 0xff, 0xff, 0xff, //0x0000343b je LBB1_760 + 0x80, 0xfa, 0x72, //0x00003441 cmpb $114, %dl + 0x0f, 0x84, 0xbe, 0xff, 0xff, 0xff, //0x00003444 je LBB1_760 + 0x80, 0xfa, 0x75, //0x0000344a cmpb $117, %dl + 0x0f, 0x85, 0xb4, 0x04, 0x00, 0x00, //0x0000344d jne LBB1_847 + 0x48, 0x89, 0xf2, //0x00003453 movq %rsi, %rdx + 0x48, 0x29, 0xca, //0x00003456 subq %rcx, %rdx + 0x48, 0x83, 0xfa, 0x04, //0x00003459 cmpq $4, %rdx + 0x0f, 0x8c, 0xa4, 0x04, 0x00, 0x00, //0x0000345d jl LBB1_847 + 0x8b, 0x11, //0x00003463 movl (%rcx), %edx + 0x89, 0xd6, //0x00003465 movl %edx, %esi + 0xf7, 0xd6, //0x00003467 notl %esi + 0x8d, 0xba, 0xd0, 0xcf, 0xcf, 0xcf, //0x00003469 leal $-808464432(%rdx), %edi + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x0000346f andl $-2139062144, %esi + 0x85, 0xfe, //0x00003475 testl %edi, %esi + 0x0f, 0x85, 0x8a, 0x04, 0x00, 0x00, //0x00003477 jne LBB1_847 + 0x8d, 0xba, 0x19, 0x19, 0x19, 0x19, //0x0000347d leal $421075225(%rdx), %edi + 0x09, 0xd7, //0x00003483 orl %edx, %edi + 0xf7, 0xc7, 0x80, 0x80, 0x80, 0x80, //0x00003485 testl $-2139062144, %edi + 0x0f, 0x85, 0x76, 0x04, 0x00, 0x00, //0x0000348b jne LBB1_847 + 0x89, 0xd7, //0x00003491 movl %edx, %edi + 0x81, 0xe7, 0x7f, 0x7f, 0x7f, 0x7f, //0x00003493 andl $2139062143, %edi + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x00003499 movl $-1061109568, %ebx + 0x29, 0xfb, //0x0000349e subl %edi, %ebx + 0x44, 0x8d, 0x87, 0x46, 0x46, 0x46, 0x46, //0x000034a0 leal $1179010630(%rdi), %r8d + 0x21, 0xf3, //0x000034a7 andl %esi, %ebx + 0x44, 0x85, 0xc3, //0x000034a9 testl %r8d, %ebx + 0x0f, 0x85, 0x55, 0x04, 0x00, 0x00, //0x000034ac jne LBB1_847 + 0xbb, 0xe0, 0xe0, 0xe0, 0xe0, //0x000034b2 movl $-522133280, %ebx + 0x29, 0xfb, //0x000034b7 subl %edi, %ebx + 0x81, 0xc7, 0x39, 0x39, 0x39, 0x39, //0x000034b9 addl $960051513, %edi + 0x21, 0xde, //0x000034bf andl %ebx, %esi + 0x85, 0xfe, //0x000034c1 testl %edi, %esi + 0x0f, 0x85, 0x3e, 0x04, 0x00, 0x00, //0x000034c3 jne LBB1_847 + 0x0f, 0xca, //0x000034c9 bswapl %edx + 0x89, 0xd1, //0x000034cb movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x000034cd shrl $4, %ecx + 0xf7, 0xd1, //0x000034d0 notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x000034d2 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x000034d8 leal (%rcx,%rcx,8), %ecx + 0x81, 0xe2, 0x0f, 0x0f, 0x0f, 0x0f, //0x000034db andl $252645135, %edx + 0x01, 0xca, //0x000034e1 addl %ecx, %edx + 0x89, 0xd1, //0x000034e3 movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x000034e5 shrl $4, %ecx + 0x09, 0xd1, //0x000034e8 orl %edx, %ecx + 0x89, 0xca, //0x000034ea movl %ecx, %edx + 0xc1, 0xea, 0x08, //0x000034ec shrl $8, %edx + 0x81, 0xe2, 0x00, 0xff, 0x00, 0x00, //0x000034ef andl $65280, %edx + 0x89, 0xce, //0x000034f5 movl %ecx, %esi + 0x81, 0xe6, 0x80, 0x00, 0x00, 0x00, //0x000034f7 andl $128, %esi + 0x09, 0xd6, //0x000034fd orl %edx, %esi + 0x48, 0x8b, 0x75, 0xd0, //0x000034ff movq $-48(%rbp), %rsi + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00003503 je LBB1_774 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x00003509 movl $255, %ecx + //0x0000350e LBB1_774 + 0x48, 0x83, 0xc0, 0x06, //0x0000350e addq $6, %rax + 0x49, 0x89, 0xc7, //0x00003512 movq %rax, %r15 + //0x00003515 LBB1_775 + 0x80, 0xf9, 0x0a, //0x00003515 cmpb $10, %cl + 0x0f, 0x84, 0xd6, 0xfe, 0xff, 0xff, //0x00003518 je LBB1_778 + 0x80, 0xf9, 0x0d, //0x0000351e cmpb $13, %cl + 0x0f, 0x84, 0xcd, 0xfe, 0xff, 0xff, //0x00003521 je LBB1_778 + 0x80, 0xf9, 0x3d, //0x00003527 cmpb $61, %cl + 0x0f, 0x85, 0xc1, 0xfb, 0xff, 0xff, //0x0000352a jne LBB1_696 + 0x41, 0x83, 0xfa, 0x03, //0x00003530 cmpl $3, %r10d + 0x0f, 0x84, 0xb7, 0xfb, 0xff, 0xff, //0x00003534 je LBB1_696 + 0x4c, 0x39, 0x7d, 0xd0, //0x0000353a cmpq %r15, $-48(%rbp) + 0x0f, 0x86, 0xc9, 0x00, 0x00, 0x00, //0x0000353e jbe LBB1_720 + 0x48, 0x8b, 0x55, 0xd0, //0x00003544 movq $-48(%rbp), %rdx + 0xe9, 0x2c, 0x01, 0x00, 0x00, //0x00003548 jmp LBB1_803 + //0x0000354d LBB1_759 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x0000354d movl $2, %r11d + 0xe9, 0x52, 0xf7, 0xff, 0xff, //0x00003553 jmp LBB1_624 + //0x00003558 LBB1_779 + 0x48, 0xff, 0xc1, //0x00003558 incq %rcx + 0x48, 0xff, 0xc2, //0x0000355b incq %rdx + 0x48, 0xff, 0xcf, //0x0000355e decq %rdi + 0x48, 0xff, 0xcb, //0x00003561 decq %rbx + 0x0f, 0x84, 0x9f, 0x00, 0x00, 0x00, //0x00003564 je LBB1_717 + //0x0000356a LBB1_780 + 0x0f, 0xb6, 0x41, 0xff, //0x0000356a movzbl $-1(%rcx), %eax + 0x3c, 0x0a, //0x0000356e cmpb $10, %al + 0x0f, 0x84, 0xe2, 0xff, 0xff, 0xff, //0x00003570 je LBB1_779 + 0x3c, 0x0d, //0x00003576 cmpb $13, %al + 0x0f, 0x84, 0xda, 0xff, 0xff, 0xff, //0x00003578 je LBB1_779 + 0x3c, 0x3d, //0x0000357e cmpb $61, %al + 0x0f, 0x85, 0x16, 0x02, 0x00, 0x00, //0x00003580 jne LBB1_821 + 0x49, 0x89, 0xcf, //0x00003586 movq %rcx, %r15 + 0x41, 0x83, 0xfa, 0x04, //0x00003589 cmpl $4, %r10d + 0x0f, 0x84, 0x5e, 0xfb, 0xff, 0xff, //0x0000358d je LBB1_696 + 0x48, 0x39, 0x4d, 0xd0, //0x00003593 cmpq %rcx, $-48(%rbp) + 0x0f, 0x87, 0x51, 0x00, 0x00, 0x00, //0x00003597 ja LBB1_798 + 0x49, 0x89, 0xcf, //0x0000359d movq %rcx, %r15 + 0xe9, 0x68, 0x00, 0x00, 0x00, //0x000035a0 jmp LBB1_720 + //0x000035a5 LBB1_786 + 0x3c, 0x2f, //0x000035a5 cmpb $47, %al + 0x0f, 0x85, 0x02, 0x00, 0x00, 0x00, //0x000035a7 jne LBB1_788 + 0x89, 0xc1, //0x000035ad movl %eax, %ecx + //0x000035af LBB1_788 + 0x4d, 0x89, 0xc7, //0x000035af movq %r8, %r15 + 0x48, 0x8b, 0x5d, 0xd0, //0x000035b2 movq $-48(%rbp), %rbx + //0x000035b6 LBB1_789 + 0x0f, 0xb6, 0xc1, //0x000035b6 movzbl %cl, %eax + 0x48, 0x8b, 0x55, 0xc0, //0x000035b9 movq $-64(%rbp), %rdx + 0x0f, 0xb6, 0x04, 0x02, //0x000035bd movzbl (%rdx,%rax), %eax + 0x3d, 0xff, 0x00, 0x00, 0x00, //0x000035c1 cmpl $255, %eax + 0x0f, 0x84, 0x60, 0xfa, 0xff, 0xff, //0x000035c6 je LBB1_791 + //0x000035cc LBB1_790 + 0x8b, 0x4d, 0xc8, //0x000035cc movl $-56(%rbp), %ecx + 0xc1, 0xe1, 0x06, //0x000035cf shll $6, %ecx + 0x09, 0xc1, //0x000035d2 orl %eax, %ecx + 0x89, 0x4d, 0xc8, //0x000035d4 movl %ecx, $-56(%rbp) + 0x41, 0xbb, 0x04, 0x00, 0x00, 0x00, //0x000035d7 movl $4, %r11d + 0xe9, 0xe7, 0xfa, 0xff, 0xff, //0x000035dd jmp LBB1_693 + //0x000035e2 LBB1_797 + 0x48, 0xff, 0xc2, //0x000035e2 incq %rdx + 0x48, 0xff, 0xcf, //0x000035e5 decq %rdi + 0x0f, 0x84, 0x1b, 0x00, 0x00, 0x00, //0x000035e8 je LBB1_717 + //0x000035ee LBB1_798 + 0x0f, 0xb6, 0x42, 0xff, //0x000035ee movzbl $-1(%rdx), %eax + 0x3c, 0x0a, //0x000035f2 cmpb $10, %al + 0x0f, 0x84, 0xe8, 0xff, 0xff, 0xff, //0x000035f4 je LBB1_797 + 0x3c, 0x0d, //0x000035fa cmpb $13, %al + 0x0f, 0x84, 0xe0, 0xff, 0xff, 0xff, //0x000035fc je LBB1_797 + 0x3c, 0x3d, //0x00003602 cmpb $61, %al + 0xe9, 0x62, 0xfc, 0xff, 0xff, //0x00003604 jmp LBB1_729 + //0x00003609 LBB1_717 + 0x4c, 0x8b, 0x7d, 0xd0, //0x00003609 movq $-48(%rbp), %r15 + //0x0000360d LBB1_720 + 0xb0, 0x04, //0x0000360d movb $4, %al + 0x44, 0x28, 0xd8, //0x0000360f subb %r11b, %al + 0x0f, 0xb6, 0xc0, //0x00003612 movzbl %al, %eax + 0x01, 0xc0, //0x00003615 addl %eax, %eax + 0x8d, 0x0c, 0x40, //0x00003617 leal (%rax,%rax,2), %ecx + 0x8b, 0x45, 0xc8, //0x0000361a movl $-56(%rbp), %eax + 0xd3, 0xe0, //0x0000361d shll %cl, %eax + 0x41, 0x83, 0xfb, 0x02, //0x0000361f cmpl $2, %r11d + 0x48, 0x8b, 0x55, 0xb0, //0x00003623 movq $-80(%rbp), %rdx + 0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00003627 je LBB1_725 + 0x41, 0x83, 0xfb, 0x03, //0x0000362d cmpl $3, %r11d + 0x0f, 0x84, 0x0d, 0x00, 0x00, 0x00, //0x00003631 je LBB1_724 + 0x41, 0x83, 0xfb, 0x04, //0x00003637 cmpl $4, %r11d + 0x0f, 0x85, 0x0b, 0x00, 0x00, 0x00, //0x0000363b jne LBB1_726 + 0x88, 0x42, 0x02, //0x00003641 movb %al, $2(%rdx) + //0x00003644 LBB1_724 + 0x88, 0x62, 0x01, //0x00003644 movb %ah, $1(%rdx) + //0x00003647 LBB1_725 + 0xc1, 0xe8, 0x10, //0x00003647 shrl $16, %eax + 0x88, 0x02, //0x0000364a movb %al, (%rdx) + //0x0000364c LBB1_726 + 0x44, 0x89, 0xd8, //0x0000364c movl %r11d, %eax + 0x48, 0x8d, 0x54, 0x02, 0xff, //0x0000364f leaq $-1(%rdx,%rax), %rdx + 0x48, 0x89, 0x55, 0xb0, //0x00003654 movq %rdx, $-80(%rbp) + 0x49, 0x39, 0xd6, //0x00003658 cmpq %rdx, %r14 + 0x0f, 0x83, 0x0e, 0xf3, 0xff, 0xff, //0x0000365b jae LBB1_727 + 0xe9, 0xc4, 0x02, 0x00, 0x00, //0x00003661 jmp LBB1_852 + //0x00003666 LBB1_802 + 0x48, 0x89, 0xc1, //0x00003666 movq %rax, %rcx + 0x48, 0x8b, 0x55, 0xd0, //0x00003669 movq $-48(%rbp), %rdx + 0x49, 0x89, 0xcf, //0x0000366d movq %rcx, %r15 + 0x48, 0x39, 0xd1, //0x00003670 cmpq %rdx, %rcx + 0x0f, 0x83, 0x6c, 0xf9, 0xff, 0xff, //0x00003673 jae LBB1_719 + //0x00003679 LBB1_803 + 0x49, 0x8d, 0x47, 0x01, //0x00003679 leaq $1(%r15), %rax + 0x41, 0x0f, 0xb6, 0x0f, //0x0000367d movzbl (%r15), %ecx + 0x80, 0xf9, 0x5c, //0x00003681 cmpb $92, %cl + 0x0f, 0x85, 0xe3, 0x00, 0x00, 0x00, //0x00003684 jne LBB1_816 + 0x49, 0x8d, 0x4f, 0x02, //0x0000368a leaq $2(%r15), %rcx + 0x48, 0x39, 0xd1, //0x0000368e cmpq %rdx, %rcx + 0x0f, 0x87, 0x7b, 0x02, 0x00, 0x00, //0x00003691 ja LBB1_827 + 0x0f, 0xb6, 0x00, //0x00003697 movzbl (%rax), %eax + 0x3c, 0x6e, //0x0000369a cmpb $110, %al + 0x0f, 0x84, 0xe2, 0x00, 0x00, 0x00, //0x0000369c je LBB1_818 + 0x3c, 0x72, //0x000036a2 cmpb $114, %al + 0x0f, 0x84, 0xda, 0x00, 0x00, 0x00, //0x000036a4 je LBB1_818 + 0x3c, 0x75, //0x000036aa cmpb $117, %al + 0x0f, 0x85, 0x55, 0x02, 0x00, 0x00, //0x000036ac jne LBB1_847 + 0x48, 0x8b, 0x45, 0xd0, //0x000036b2 movq $-48(%rbp), %rax + 0x48, 0x29, 0xc8, //0x000036b6 subq %rcx, %rax + 0x48, 0x83, 0xf8, 0x04, //0x000036b9 cmpq $4, %rax + 0x0f, 0x8c, 0x44, 0x02, 0x00, 0x00, //0x000036bd jl LBB1_847 + 0x8b, 0x01, //0x000036c3 movl (%rcx), %eax + 0x89, 0xc2, //0x000036c5 movl %eax, %edx + 0xf7, 0xd2, //0x000036c7 notl %edx + 0x8d, 0xb0, 0xd0, 0xcf, 0xcf, 0xcf, //0x000036c9 leal $-808464432(%rax), %esi + 0x81, 0xe2, 0x80, 0x80, 0x80, 0x80, //0x000036cf andl $-2139062144, %edx + 0x85, 0xf2, //0x000036d5 testl %esi, %edx + 0x0f, 0x85, 0x2a, 0x02, 0x00, 0x00, //0x000036d7 jne LBB1_847 + 0x8d, 0xb0, 0x19, 0x19, 0x19, 0x19, //0x000036dd leal $421075225(%rax), %esi + 0x09, 0xc6, //0x000036e3 orl %eax, %esi + 0xf7, 0xc6, 0x80, 0x80, 0x80, 0x80, //0x000036e5 testl $-2139062144, %esi + 0x0f, 0x85, 0x16, 0x02, 0x00, 0x00, //0x000036eb jne LBB1_847 + 0x89, 0xc6, //0x000036f1 movl %eax, %esi + 0x81, 0xe6, 0x7f, 0x7f, 0x7f, 0x7f, //0x000036f3 andl $2139062143, %esi + 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, //0x000036f9 movl $-1061109568, %edi + 0x29, 0xf7, //0x000036fe subl %esi, %edi + 0x8d, 0x9e, 0x46, 0x46, 0x46, 0x46, //0x00003700 leal $1179010630(%rsi), %ebx + 0x21, 0xd7, //0x00003706 andl %edx, %edi + 0x85, 0xdf, //0x00003708 testl %ebx, %edi + 0x0f, 0x85, 0xf7, 0x01, 0x00, 0x00, //0x0000370a jne LBB1_847 + 0xbf, 0xe0, 0xe0, 0xe0, 0xe0, //0x00003710 movl $-522133280, %edi + 0x29, 0xf7, //0x00003715 subl %esi, %edi + 0x81, 0xc6, 0x39, 0x39, 0x39, 0x39, //0x00003717 addl $960051513, %esi + 0x21, 0xfa, //0x0000371d andl %edi, %edx + 0x85, 0xf2, //0x0000371f testl %esi, %edx + 0x0f, 0x85, 0xe0, 0x01, 0x00, 0x00, //0x00003721 jne LBB1_847 + 0x0f, 0xc8, //0x00003727 bswapl %eax + 0x89, 0xc1, //0x00003729 movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x0000372b shrl $4, %ecx + 0xf7, 0xd1, //0x0000372e notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x00003730 andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x00003736 leal (%rcx,%rcx,8), %ecx + 0x25, 0x0f, 0x0f, 0x0f, 0x0f, //0x00003739 andl $252645135, %eax + 0x01, 0xc8, //0x0000373e addl %ecx, %eax + 0x89, 0xc1, //0x00003740 movl %eax, %ecx + 0xc1, 0xe9, 0x04, //0x00003742 shrl $4, %ecx + 0x09, 0xc1, //0x00003745 orl %eax, %ecx + 0x89, 0xc8, //0x00003747 movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x00003749 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x0000374c andl $65280, %eax + 0x89, 0xca, //0x00003751 movl %ecx, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x00003753 andl $128, %edx + 0x09, 0xc2, //0x00003759 orl %eax, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x0000375b je LBB1_815 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x00003761 movl $255, %ecx + //0x00003766 LBB1_815 + 0x49, 0x83, 0xc7, 0x06, //0x00003766 addq $6, %r15 + 0x4c, 0x89, 0xf8, //0x0000376a movq %r15, %rax + //0x0000376d LBB1_816 + 0x80, 0xf9, 0x0a, //0x0000376d cmpb $10, %cl + 0x0f, 0x84, 0xf0, 0xfe, 0xff, 0xff, //0x00003770 je LBB1_802 + 0x80, 0xf9, 0x0d, //0x00003776 cmpb $13, %cl + 0x0f, 0x84, 0xe7, 0xfe, 0xff, 0xff, //0x00003779 je LBB1_802 + 0xe9, 0x23, 0x00, 0x00, 0x00, //0x0000377f jmp LBB1_823 + //0x00003784 LBB1_818 + 0x48, 0x89, 0xc8, //0x00003784 movq %rcx, %rax + 0x48, 0x8b, 0x55, 0xd0, //0x00003787 movq $-48(%rbp), %rdx + 0x49, 0x89, 0xcf, //0x0000378b movq %rcx, %r15 + 0x48, 0x39, 0xd1, //0x0000378e cmpq %rdx, %rcx + 0x0f, 0x82, 0xe2, 0xfe, 0xff, 0xff, //0x00003791 jb LBB1_803 + 0xe9, 0x49, 0xf8, 0xff, 0xff, //0x00003797 jmp LBB1_719 + //0x0000379c LBB1_821 + 0x48, 0x89, 0xca, //0x0000379c movq %rcx, %rdx + 0x49, 0x89, 0xcf, //0x0000379f movq %rcx, %r15 + 0xe9, 0x4a, 0xf9, 0xff, 0xff, //0x000037a2 jmp LBB1_696 + //0x000037a7 LBB1_823 + 0x80, 0xf9, 0x3d, //0x000037a7 cmpb $61, %cl + 0x0f, 0x85, 0x62, 0x01, 0x00, 0x00, //0x000037aa jne LBB1_827 + 0x49, 0x89, 0xc7, //0x000037b0 movq %rax, %r15 + 0x41, 0x83, 0xfa, 0x04, //0x000037b3 cmpl $4, %r10d + 0x0f, 0x84, 0x34, 0xf9, 0xff, 0xff, //0x000037b7 je LBB1_696 + 0x48, 0x39, 0x45, 0xd0, //0x000037bd cmpq %rax, $-48(%rbp) + 0x0f, 0x87, 0x2a, 0x00, 0x00, 0x00, //0x000037c1 ja LBB1_830 + 0xe9, 0x19, 0xf8, 0xff, 0xff, //0x000037c7 jmp LBB1_719 + //0x000037cc LBB1_846 + 0x4c, 0x89, 0xf9, //0x000037cc movq %r15, %rcx + 0x48, 0x89, 0xc8, //0x000037cf movq %rcx, %rax + 0x48, 0x3b, 0x4d, 0xd0, //0x000037d2 cmpq $-48(%rbp), %rcx + 0x0f, 0x82, 0x15, 0x00, 0x00, 0x00, //0x000037d6 jb LBB1_830 + 0xe9, 0x2c, 0xfe, 0xff, 0xff, //0x000037dc jmp LBB1_720 + //0x000037e1 LBB1_828 + 0x49, 0x89, 0xcf, //0x000037e1 movq %rcx, %r15 + 0x48, 0x89, 0xc8, //0x000037e4 movq %rcx, %rax + 0x48, 0x3b, 0x4d, 0xd0, //0x000037e7 cmpq $-48(%rbp), %rcx + 0x0f, 0x83, 0x1c, 0xfe, 0xff, 0xff, //0x000037eb jae LBB1_720 + //0x000037f1 LBB1_830 + 0x4c, 0x8d, 0x78, 0x01, //0x000037f1 leaq $1(%rax), %r15 + 0x0f, 0xb6, 0x08, //0x000037f5 movzbl (%rax), %ecx + 0x80, 0xf9, 0x5c, //0x000037f8 cmpb $92, %cl + 0x0f, 0x85, 0xec, 0x00, 0x00, 0x00, //0x000037fb jne LBB1_843 + 0x48, 0x8d, 0x48, 0x02, //0x00003801 leaq $2(%rax), %rcx + 0x48, 0x3b, 0x4d, 0xd0, //0x00003805 cmpq $-48(%rbp), %rcx + 0x0f, 0x87, 0x00, 0x01, 0x00, 0x00, //0x00003809 ja LBB1_848 + 0x41, 0x0f, 0xb6, 0x17, //0x0000380f movzbl (%r15), %edx + 0x80, 0xfa, 0x6e, //0x00003813 cmpb $110, %dl + 0x0f, 0x84, 0xc5, 0xff, 0xff, 0xff, //0x00003816 je LBB1_828 + 0x80, 0xfa, 0x72, //0x0000381c cmpb $114, %dl + 0x0f, 0x84, 0xbc, 0xff, 0xff, 0xff, //0x0000381f je LBB1_828 + 0x80, 0xfa, 0x75, //0x00003825 cmpb $117, %dl + 0x0f, 0x85, 0xd9, 0x00, 0x00, 0x00, //0x00003828 jne LBB1_847 + 0x48, 0x8b, 0x55, 0xd0, //0x0000382e movq $-48(%rbp), %rdx + 0x48, 0x29, 0xca, //0x00003832 subq %rcx, %rdx + 0x48, 0x83, 0xfa, 0x04, //0x00003835 cmpq $4, %rdx + 0x0f, 0x8c, 0xc8, 0x00, 0x00, 0x00, //0x00003839 jl LBB1_847 + 0x8b, 0x11, //0x0000383f movl (%rcx), %edx + 0x89, 0xd6, //0x00003841 movl %edx, %esi + 0xf7, 0xd6, //0x00003843 notl %esi + 0x8d, 0xba, 0xd0, 0xcf, 0xcf, 0xcf, //0x00003845 leal $-808464432(%rdx), %edi + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x0000384b andl $-2139062144, %esi + 0x85, 0xfe, //0x00003851 testl %edi, %esi + 0x0f, 0x85, 0xae, 0x00, 0x00, 0x00, //0x00003853 jne LBB1_847 + 0x8d, 0xba, 0x19, 0x19, 0x19, 0x19, //0x00003859 leal $421075225(%rdx), %edi + 0x09, 0xd7, //0x0000385f orl %edx, %edi + 0xf7, 0xc7, 0x80, 0x80, 0x80, 0x80, //0x00003861 testl $-2139062144, %edi + 0x0f, 0x85, 0x9a, 0x00, 0x00, 0x00, //0x00003867 jne LBB1_847 + 0x89, 0xd7, //0x0000386d movl %edx, %edi + 0x81, 0xe7, 0x7f, 0x7f, 0x7f, 0x7f, //0x0000386f andl $2139062143, %edi + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x00003875 movl $-1061109568, %ebx + 0x29, 0xfb, //0x0000387a subl %edi, %ebx + 0x44, 0x8d, 0x87, 0x46, 0x46, 0x46, 0x46, //0x0000387c leal $1179010630(%rdi), %r8d + 0x21, 0xf3, //0x00003883 andl %esi, %ebx + 0x44, 0x85, 0xc3, //0x00003885 testl %r8d, %ebx + 0x0f, 0x85, 0x79, 0x00, 0x00, 0x00, //0x00003888 jne LBB1_847 + 0xbb, 0xe0, 0xe0, 0xe0, 0xe0, //0x0000388e movl $-522133280, %ebx + 0x29, 0xfb, //0x00003893 subl %edi, %ebx + 0x81, 0xc7, 0x39, 0x39, 0x39, 0x39, //0x00003895 addl $960051513, %edi + 0x21, 0xde, //0x0000389b andl %ebx, %esi + 0x85, 0xfe, //0x0000389d testl %edi, %esi + 0x0f, 0x85, 0x62, 0x00, 0x00, 0x00, //0x0000389f jne LBB1_847 + 0x0f, 0xca, //0x000038a5 bswapl %edx + 0x89, 0xd1, //0x000038a7 movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x000038a9 shrl $4, %ecx + 0xf7, 0xd1, //0x000038ac notl %ecx + 0x81, 0xe1, 0x01, 0x01, 0x01, 0x01, //0x000038ae andl $16843009, %ecx + 0x8d, 0x0c, 0xc9, //0x000038b4 leal (%rcx,%rcx,8), %ecx + 0x81, 0xe2, 0x0f, 0x0f, 0x0f, 0x0f, //0x000038b7 andl $252645135, %edx + 0x01, 0xca, //0x000038bd addl %ecx, %edx + 0x89, 0xd1, //0x000038bf movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x000038c1 shrl $4, %ecx + 0x09, 0xd1, //0x000038c4 orl %edx, %ecx + 0x89, 0xca, //0x000038c6 movl %ecx, %edx + 0xc1, 0xea, 0x08, //0x000038c8 shrl $8, %edx + 0x81, 0xe2, 0x00, 0xff, 0x00, 0x00, //0x000038cb andl $65280, %edx + 0x89, 0xce, //0x000038d1 movl %ecx, %esi + 0x81, 0xe6, 0x80, 0x00, 0x00, 0x00, //0x000038d3 andl $128, %esi + 0x09, 0xd6, //0x000038d9 orl %edx, %esi + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x000038db je LBB1_842 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x000038e1 movl $255, %ecx + //0x000038e6 LBB1_842 + 0x48, 0x83, 0xc0, 0x06, //0x000038e6 addq $6, %rax + 0x49, 0x89, 0xc7, //0x000038ea movq %rax, %r15 + //0x000038ed LBB1_843 + 0x80, 0xf9, 0x0a, //0x000038ed cmpb $10, %cl + 0x0f, 0x84, 0xd6, 0xfe, 0xff, 0xff, //0x000038f0 je LBB1_846 + 0x80, 0xf9, 0x0d, //0x000038f6 cmpb $13, %cl + 0x0f, 0x84, 0xcd, 0xfe, 0xff, 0xff, //0x000038f9 je LBB1_846 + 0x80, 0xf9, 0x3d, //0x000038ff cmpb $61, %cl + 0xe9, 0xea, 0xf7, 0xff, 0xff, //0x00003902 jmp LBB1_696 + //0x00003907 LBB1_847 + 0x49, 0x89, 0xcf, //0x00003907 movq %rcx, %r15 + 0xe9, 0xe2, 0xf7, 0xff, 0xff, //0x0000390a jmp LBB1_696 + //0x0000390f LBB1_848 + 0x4c, 0x89, 0xf8, //0x0000390f movq %r15, %rax + //0x00003912 LBB1_827 + 0x49, 0x89, 0xc7, //0x00003912 movq %rax, %r15 + 0xe9, 0xd7, 0xf7, 0xff, 0xff, //0x00003915 jmp LBB1_696 + //0x0000391a LBB1_851 + 0x44, 0x8b, 0x75, 0xbc, //0x0000391a movl $-68(%rbp), %r14d + 0x45, 0x89, 0xf4, //0x0000391e movl %r14d, %r12d + 0x41, 0x83, 0xe4, 0x02, //0x00003921 andl $2, %r12d + 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x00003925 jmp LBB1_853 + //0x0000392a LBB1_852 + 0x4d, 0x89, 0xf9, //0x0000392a movq %r15, %r9 + 0x44, 0x8b, 0x75, 0xbc, //0x0000392d movl $-68(%rbp), %r14d + 0x48, 0x8b, 0x5d, 0xd0, //0x00003931 movq $-48(%rbp), %rbx + //0x00003935 LBB1_853 + 0x48, 0x8b, 0x45, 0xa8, //0x00003935 movq $-88(%rbp), %rax + 0x48, 0x8b, 0x4d, 0x88, //0x00003939 movq $-120(%rbp), %rcx + 0x48, 0x8d, 0x54, 0x01, 0xfe, //0x0000393d leaq $-2(%rcx,%rax), %rdx + 0x48, 0x89, 0x55, 0xc8, //0x00003942 movq %rdx, $-56(%rbp) + 0x48, 0x8d, 0x44, 0x01, 0xfd, //0x00003946 leaq $-3(%rcx,%rax), %rax + 0x48, 0x89, 0x45, 0xa0, //0x0000394b movq %rax, $-96(%rbp) + 0xe9, 0x37, 0x00, 0x00, 0x00, //0x0000394f jmp LBB1_857 + //0x00003954 LBB1_854 + 0x48, 0x89, 0x45, 0xb0, //0x00003954 movq %rax, $-80(%rbp) + 0x4c, 0x8b, 0x7d, 0xa8, //0x00003958 movq $-88(%rbp), %r15 + 0xe9, 0x57, 0xcc, 0xff, 0xff, //0x0000395c jmp LBB1_2 + //0x00003961 LBB1_1102 + 0x49, 0x89, 0xc8, //0x00003961 movq %rcx, %r8 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003964 .p2align 4, 0x90 + //0x00003970 LBB1_856 + 0x49, 0x8d, 0x48, 0x01, //0x00003970 leaq $1(%r8), %rcx + 0x4c, 0x39, 0xc3, //0x00003974 cmpq %r8, %rbx + 0x49, 0x0f, 0x45, 0xc8, //0x00003977 cmovneq %r8, %rcx + 0x4c, 0x29, 0xc9, //0x0000397b subq %r9, %rcx + 0x44, 0x8b, 0x75, 0xbc, //0x0000397e movl $-68(%rbp), %r14d + 0x48, 0x85, 0xc9, //0x00003982 testq %rcx, %rcx + 0x0f, 0x85, 0x15, 0x10, 0x00, 0x00, //0x00003985 jne LBB1_1137 + //0x0000398b LBB1_857 + 0x4c, 0x39, 0xcb, //0x0000398b cmpq %r9, %rbx + 0x0f, 0x86, 0x1b, 0x10, 0x00, 0x00, //0x0000398e jbe LBB1_1138 + 0x41, 0xf6, 0xc6, 0x08, //0x00003994 testb $8, %r14b + 0x0f, 0x85, 0xc2, 0x00, 0x00, 0x00, //0x00003998 jne LBB1_870 + 0x4d, 0x89, 0xc8, //0x0000399e movq %r9, %r8 + 0xe9, 0x16, 0x00, 0x00, 0x00, //0x000039a1 jmp LBB1_861 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000039a6 .p2align 4, 0x90 + //0x000039b0 LBB1_860 + 0x49, 0xff, 0xc0, //0x000039b0 incq %r8 + 0x49, 0x39, 0xd8, //0x000039b3 cmpq %rbx, %r8 + 0x0f, 0x83, 0x04, 0x02, 0x00, 0x00, //0x000039b6 jae LBB1_888 + //0x000039bc LBB1_861 + 0x41, 0x0f, 0xb6, 0x00, //0x000039bc movzbl (%r8), %eax + 0x48, 0x83, 0xf8, 0x0d, //0x000039c0 cmpq $13, %rax + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x000039c4 je LBB1_860 + 0x3c, 0x0a, //0x000039ca cmpb $10, %al + 0x0f, 0x84, 0xde, 0xff, 0xff, 0xff, //0x000039cc je LBB1_860 + 0x48, 0x8b, 0x4d, 0xc0, //0x000039d2 movq $-64(%rbp), %rcx + 0x0f, 0xb6, 0x14, 0x01, //0x000039d6 movzbl (%rcx,%rax), %edx + 0x49, 0xff, 0xc0, //0x000039da incq %r8 + 0x81, 0xfa, 0xff, 0x00, 0x00, 0x00, //0x000039dd cmpl $255, %edx + 0x0f, 0x84, 0xb7, 0x02, 0x00, 0x00, //0x000039e3 je LBB1_902 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000039e9 movl $1, %r11d + 0x49, 0x39, 0xd8, //0x000039ef cmpq %rbx, %r8 + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x000039f2 jb LBB1_866 + 0xe9, 0xe3, 0x0b, 0x00, 0x00, //0x000039f8 jmp LBB1_1060 + 0x90, 0x90, 0x90, //0x000039fd .p2align 4, 0x90 + //0x00003a00 LBB1_865 + 0x49, 0xff, 0xc0, //0x00003a00 incq %r8 + 0x49, 0x39, 0xd8, //0x00003a03 cmpq %rbx, %r8 + 0x0f, 0x83, 0x70, 0x04, 0x00, 0x00, //0x00003a06 jae LBB1_933 + //0x00003a0c LBB1_866 + 0x41, 0x0f, 0xb6, 0x00, //0x00003a0c movzbl (%r8), %eax + 0x48, 0x83, 0xf8, 0x0d, //0x00003a10 cmpq $13, %rax + 0x0f, 0x84, 0xe6, 0xff, 0xff, 0xff, //0x00003a14 je LBB1_865 + 0x3c, 0x0a, //0x00003a1a cmpb $10, %al + 0x0f, 0x84, 0xde, 0xff, 0xff, 0xff, //0x00003a1c je LBB1_865 + 0x48, 0x8b, 0x4d, 0xc0, //0x00003a22 movq $-64(%rbp), %rcx + 0x0f, 0xb6, 0x0c, 0x01, //0x00003a26 movzbl (%rcx,%rax), %ecx + 0x49, 0xff, 0xc0, //0x00003a2a incq %r8 + 0x81, 0xf9, 0xff, 0x00, 0x00, 0x00, //0x00003a2d cmpl $255, %ecx + 0x0f, 0x84, 0x25, 0x06, 0x00, 0x00, //0x00003a33 je LBB1_960 + 0xc1, 0xe2, 0x06, //0x00003a39 shll $6, %edx + 0x09, 0xca, //0x00003a3c orl %ecx, %edx + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00003a3e movl $2, %r11d + 0x49, 0x39, 0xd8, //0x00003a44 cmpq %rbx, %r8 + 0x0f, 0x82, 0xb5, 0x01, 0x00, 0x00, //0x00003a47 jb LBB1_892 + 0xe9, 0x8e, 0x0b, 0x00, 0x00, //0x00003a4d jmp LBB1_1060 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003a52 .p2align 4, 0x90 + //0x00003a60 LBB1_870 + 0x4c, 0x89, 0xca, //0x00003a60 movq %r9, %rdx + 0xe9, 0x24, 0x00, 0x00, 0x00, //0x00003a63 jmp LBB1_873 + //0x00003a68 LBB1_871 + 0x80, 0xf9, 0x6e, //0x00003a68 cmpb $110, %cl + 0x0f, 0x85, 0xdf, 0x01, 0x00, 0x00, //0x00003a6b jne LBB1_897 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003a71 .p2align 4, 0x90 + //0x00003a80 LBB1_872 + 0x4c, 0x89, 0xc2, //0x00003a80 movq %r8, %rdx + 0x49, 0x39, 0xd8, //0x00003a83 cmpq %rbx, %r8 + 0x0f, 0x83, 0x34, 0x01, 0x00, 0x00, //0x00003a86 jae LBB1_888 + //0x00003a8c LBB1_873 + 0x48, 0x8d, 0x4a, 0x01, //0x00003a8c leaq $1(%rdx), %rcx + 0x0f, 0xb6, 0x02, //0x00003a90 movzbl (%rdx), %eax + 0x3c, 0x5c, //0x00003a93 cmpb $92, %al + 0x0f, 0x85, 0x05, 0x01, 0x00, 0x00, //0x00003a95 jne LBB1_886 + 0x4c, 0x8d, 0x42, 0x02, //0x00003a9b leaq $2(%rdx), %r8 + 0xb0, 0xff, //0x00003a9f movb $-1, %al + 0x49, 0x39, 0xd8, //0x00003aa1 cmpq %rbx, %r8 + 0x0f, 0x87, 0x9e, 0x01, 0x00, 0x00, //0x00003aa4 ja LBB1_896 + 0x0f, 0xb6, 0x09, //0x00003aaa movzbl (%rcx), %ecx + 0x80, 0xf9, 0x71, //0x00003aad cmpb $113, %cl + 0x0f, 0x8e, 0xb2, 0xff, 0xff, 0xff, //0x00003ab0 jle LBB1_871 + 0x80, 0xf9, 0x72, //0x00003ab6 cmpb $114, %cl + 0x0f, 0x84, 0xc1, 0xff, 0xff, 0xff, //0x00003ab9 je LBB1_872 + 0x80, 0xf9, 0x75, //0x00003abf cmpb $117, %cl + 0x0f, 0x85, 0x98, 0x01, 0x00, 0x00, //0x00003ac2 jne LBB1_899 + 0x48, 0x89, 0xd9, //0x00003ac8 movq %rbx, %rcx + 0x4c, 0x29, 0xc1, //0x00003acb subq %r8, %rcx + 0x48, 0x83, 0xf9, 0x04, //0x00003ace cmpq $4, %rcx + 0x0f, 0x8c, 0x88, 0x01, 0x00, 0x00, //0x00003ad2 jl LBB1_899 + 0x41, 0x8b, 0x08, //0x00003ad8 movl (%r8), %ecx + 0x89, 0xcf, //0x00003adb movl %ecx, %edi + 0xf7, 0xd7, //0x00003add notl %edi + 0x8d, 0xb1, 0xd0, 0xcf, 0xcf, 0xcf, //0x00003adf leal $-808464432(%rcx), %esi + 0x81, 0xe7, 0x80, 0x80, 0x80, 0x80, //0x00003ae5 andl $-2139062144, %edi + 0x85, 0xf7, //0x00003aeb testl %esi, %edi + 0x0f, 0x85, 0x6d, 0x01, 0x00, 0x00, //0x00003aed jne LBB1_899 + 0x8d, 0xb1, 0x19, 0x19, 0x19, 0x19, //0x00003af3 leal $421075225(%rcx), %esi + 0x09, 0xce, //0x00003af9 orl %ecx, %esi + 0xf7, 0xc6, 0x80, 0x80, 0x80, 0x80, //0x00003afb testl $-2139062144, %esi + 0x0f, 0x85, 0x59, 0x01, 0x00, 0x00, //0x00003b01 jne LBB1_899 + 0x89, 0xce, //0x00003b07 movl %ecx, %esi + 0x81, 0xe6, 0x7f, 0x7f, 0x7f, 0x7f, //0x00003b09 andl $2139062143, %esi + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x00003b0f movl $-1061109568, %ebx + 0x29, 0xf3, //0x00003b14 subl %esi, %ebx + 0x44, 0x8d, 0x96, 0x46, 0x46, 0x46, 0x46, //0x00003b16 leal $1179010630(%rsi), %r10d + 0x21, 0xfb, //0x00003b1d andl %edi, %ebx + 0x44, 0x85, 0xd3, //0x00003b1f testl %r10d, %ebx + 0x48, 0x8b, 0x5d, 0xd0, //0x00003b22 movq $-48(%rbp), %rbx + 0x0f, 0x85, 0x34, 0x01, 0x00, 0x00, //0x00003b26 jne LBB1_899 + 0xbb, 0xe0, 0xe0, 0xe0, 0xe0, //0x00003b2c movl $-522133280, %ebx + 0x29, 0xf3, //0x00003b31 subl %esi, %ebx + 0x81, 0xc6, 0x39, 0x39, 0x39, 0x39, //0x00003b33 addl $960051513, %esi + 0x21, 0xdf, //0x00003b39 andl %ebx, %edi + 0x48, 0x8b, 0x5d, 0xd0, //0x00003b3b movq $-48(%rbp), %rbx + 0x85, 0xf7, //0x00003b3f testl %esi, %edi + 0x0f, 0x85, 0x19, 0x01, 0x00, 0x00, //0x00003b41 jne LBB1_899 + 0x0f, 0xc9, //0x00003b47 bswapl %ecx + 0x89, 0xc8, //0x00003b49 movl %ecx, %eax + 0xc1, 0xe8, 0x04, //0x00003b4b shrl $4, %eax + 0xf7, 0xd0, //0x00003b4e notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x00003b50 andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00003b55 leal (%rax,%rax,8), %eax + 0x81, 0xe1, 0x0f, 0x0f, 0x0f, 0x0f, //0x00003b58 andl $252645135, %ecx + 0x01, 0xc1, //0x00003b5e addl %eax, %ecx + 0x89, 0xc8, //0x00003b60 movl %ecx, %eax + 0xc1, 0xe8, 0x04, //0x00003b62 shrl $4, %eax + 0x09, 0xc8, //0x00003b65 orl %ecx, %eax + 0x89, 0xc1, //0x00003b67 movl %eax, %ecx + 0xc1, 0xe9, 0x08, //0x00003b69 shrl $8, %ecx + 0x81, 0xe1, 0x00, 0xff, 0x00, 0x00, //0x00003b6c andl $65280, %ecx + 0x89, 0xc6, //0x00003b72 movl %eax, %esi + 0x81, 0xe6, 0x80, 0x00, 0x00, 0x00, //0x00003b74 andl $128, %esi + 0x09, 0xce, //0x00003b7a orl %ecx, %esi + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00003b7c je LBB1_885 + 0xb8, 0xff, 0x00, 0x00, 0x00, //0x00003b82 movl $255, %eax + //0x00003b87 LBB1_885 + 0x48, 0x83, 0xc2, 0x06, //0x00003b87 addq $6, %rdx + 0x49, 0x89, 0xd0, //0x00003b8b movq %rdx, %r8 + 0x3c, 0x0d, //0x00003b8e cmpb $13, %al + 0x0f, 0x85, 0x15, 0x00, 0x00, 0x00, //0x00003b90 jne LBB1_887 + 0xe9, 0xe5, 0xfe, 0xff, 0xff, //0x00003b96 jmp LBB1_872 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003b9b .p2align 4, 0x90 + //0x00003ba0 LBB1_886 + 0x49, 0x89, 0xc8, //0x00003ba0 movq %rcx, %r8 + 0x3c, 0x0d, //0x00003ba3 cmpb $13, %al + 0x0f, 0x84, 0xd5, 0xfe, 0xff, 0xff, //0x00003ba5 je LBB1_872 + //0x00003bab LBB1_887 + 0x3c, 0x0a, //0x00003bab cmpb $10, %al + 0x0f, 0x84, 0xcd, 0xfe, 0xff, 0xff, //0x00003bad je LBB1_872 + 0xe9, 0xa8, 0x00, 0x00, 0x00, //0x00003bb3 jmp LBB1_899 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003bb8 .p2align 4, 0x90 + //0x00003bc0 LBB1_888 + 0x31, 0xd2, //0x00003bc0 xorl %edx, %edx + 0x45, 0x31, 0xdb, //0x00003bc2 xorl %r11d, %r11d + //0x00003bc5 LBB1_889 + 0x45, 0x85, 0xdb, //0x00003bc5 testl %r11d, %r11d + 0x0f, 0x85, 0x12, 0x0a, 0x00, 0x00, //0x00003bc8 jne LBB1_1060 + 0x4d, 0x89, 0xc1, //0x00003bce movq %r8, %r9 + 0x31, 0xc9, //0x00003bd1 xorl %ecx, %ecx + 0x48, 0x85, 0xc9, //0x00003bd3 testq %rcx, %rcx + 0x0f, 0x84, 0xaf, 0xfd, 0xff, 0xff, //0x00003bd6 je LBB1_857 + 0xe9, 0xbf, 0x0d, 0x00, 0x00, //0x00003bdc jmp LBB1_1137 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003be1 .p2align 4, 0x90 + //0x00003bf0 LBB1_891 + 0x49, 0xff, 0xc0, //0x00003bf0 incq %r8 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00003bf3 movl $2, %r11d + 0x49, 0x39, 0xd8, //0x00003bf9 cmpq %rbx, %r8 + 0x0f, 0x83, 0xc3, 0xff, 0xff, 0xff, //0x00003bfc jae LBB1_889 + //0x00003c02 LBB1_892 + 0x41, 0x0f, 0xb6, 0x00, //0x00003c02 movzbl (%r8), %eax + 0x48, 0x83, 0xf8, 0x0d, //0x00003c06 cmpq $13, %rax + 0x0f, 0x84, 0xe0, 0xff, 0xff, 0xff, //0x00003c0a je LBB1_891 + 0x3c, 0x0a, //0x00003c10 cmpb $10, %al + 0x0f, 0x84, 0xd8, 0xff, 0xff, 0xff, //0x00003c12 je LBB1_891 + 0x48, 0x8b, 0x4d, 0xc0, //0x00003c18 movq $-64(%rbp), %rcx + 0x0f, 0xb6, 0x0c, 0x01, //0x00003c1c movzbl (%rcx,%rax), %ecx + 0x49, 0xff, 0xc0, //0x00003c20 incq %r8 + 0x81, 0xf9, 0xff, 0x00, 0x00, 0x00, //0x00003c23 cmpl $255, %ecx + 0x0f, 0x84, 0xbd, 0x07, 0x00, 0x00, //0x00003c29 je LBB1_1025 + 0xc1, 0xe2, 0x06, //0x00003c2f shll $6, %edx + 0x09, 0xca, //0x00003c32 orl %ecx, %edx + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00003c34 movl $3, %r11d + 0x49, 0x39, 0xd8, //0x00003c3a cmpq %rbx, %r8 + 0x0f, 0x82, 0x6f, 0x02, 0x00, 0x00, //0x00003c3d jb LBB1_936 + 0xe9, 0x98, 0x09, 0x00, 0x00, //0x00003c43 jmp LBB1_1060 + //0x00003c48 LBB1_896 + 0x49, 0x89, 0xc8, //0x00003c48 movq %rcx, %r8 + 0xe9, 0x10, 0x00, 0x00, 0x00, //0x00003c4b jmp LBB1_899 + //0x00003c50 LBB1_897 + 0x80, 0xf9, 0x2f, //0x00003c50 cmpb $47, %cl + 0x0f, 0x85, 0x07, 0x00, 0x00, 0x00, //0x00003c53 jne LBB1_899 + 0x89, 0xc8, //0x00003c59 movl %ecx, %eax + 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003c5b .p2align 4, 0x90 + //0x00003c60 LBB1_899 + 0x0f, 0xb6, 0xc8, //0x00003c60 movzbl %al, %ecx + 0x48, 0x8b, 0x55, 0xc0, //0x00003c63 movq $-64(%rbp), %rdx + 0x0f, 0xb6, 0x14, 0x0a, //0x00003c67 movzbl (%rdx,%rcx), %edx + 0x81, 0xfa, 0xff, 0x00, 0x00, 0x00, //0x00003c6b cmpl $255, %edx + 0x0f, 0x84, 0x29, 0x00, 0x00, 0x00, //0x00003c71 je LBB1_902 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00003c77 movl $1, %r11d + 0x49, 0x39, 0xd8, //0x00003c7d cmpq %rbx, %r8 + 0x0f, 0x83, 0x5a, 0x09, 0x00, 0x00, //0x00003c80 jae LBB1_1060 + 0x41, 0x89, 0xd7, //0x00003c86 movl %edx, %r15d + 0x4c, 0x89, 0xc2, //0x00003c89 movq %r8, %rdx + 0xe9, 0xd6, 0x00, 0x00, 0x00, //0x00003c8c jmp LBB1_918 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003c91 .p2align 4, 0x90 + //0x00003ca0 LBB1_902 + 0x45, 0x31, 0xff, //0x00003ca0 xorl %r15d, %r15d + 0x45, 0x31, 0xdb, //0x00003ca3 xorl %r11d, %r11d + //0x00003ca6 LBB1_903 + 0x45, 0x85, 0xe4, //0x00003ca6 testl %r12d, %r12d + 0x0f, 0x85, 0xc1, 0xfc, 0xff, 0xff, //0x00003ca9 jne LBB1_856 + 0x41, 0x83, 0xfb, 0x02, //0x00003caf cmpl $2, %r11d + 0x0f, 0x82, 0xb7, 0xfc, 0xff, 0xff, //0x00003cb3 jb LBB1_856 + 0x3c, 0x3d, //0x00003cb9 cmpb $61, %al + 0x0f, 0x85, 0xaf, 0xfc, 0xff, 0xff, //0x00003cbb jne LBB1_856 + 0x41, 0xbe, 0x05, 0x00, 0x00, 0x00, //0x00003cc1 movl $5, %r14d + 0x45, 0x29, 0xde, //0x00003cc7 subl %r11d, %r14d + 0xf6, 0x45, 0xbc, 0x08, //0x00003cca testb $8, $-68(%rbp) + 0x0f, 0x85, 0x19, 0x02, 0x00, 0x00, //0x00003cce jne LBB1_940 + 0x4c, 0x39, 0xc3, //0x00003cd4 cmpq %r8, %rbx + 0x0f, 0x86, 0x2e, 0x09, 0x00, 0x00, //0x00003cd7 jbe LBB1_1063 + 0x49, 0x8d, 0x48, 0x03, //0x00003cdd leaq $3(%r8), %rcx + 0x48, 0x8b, 0x75, 0xc8, //0x00003ce1 movq $-56(%rbp), %rsi + 0x4c, 0x29, 0xc6, //0x00003ce5 subq %r8, %rsi + 0x49, 0x8d, 0x50, 0x04, //0x00003ce8 leaq $4(%r8), %rdx + 0x48, 0x8b, 0x7d, 0xa0, //0x00003cec movq $-96(%rbp), %rdi + 0x4c, 0x29, 0xc7, //0x00003cf0 subq %r8, %rdi + 0xe9, 0x20, 0x00, 0x00, 0x00, //0x00003cf3 jmp LBB1_910 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003cf8 .p2align 4, 0x90 + //0x00003d00 LBB1_909 + 0x49, 0xff, 0xc0, //0x00003d00 incq %r8 + 0x48, 0xff, 0xc1, //0x00003d03 incq %rcx + 0x48, 0xff, 0xce, //0x00003d06 decq %rsi + 0x48, 0xff, 0xc2, //0x00003d09 incq %rdx + 0x48, 0xff, 0xcf, //0x00003d0c decq %rdi + 0x4c, 0x39, 0xc3, //0x00003d0f cmpq %r8, %rbx + 0x0f, 0x84, 0x7e, 0x08, 0x00, 0x00, //0x00003d12 je LBB1_993 + //0x00003d18 LBB1_910 + 0x41, 0x0f, 0xb6, 0x00, //0x00003d18 movzbl (%r8), %eax + 0x3c, 0x0a, //0x00003d1c cmpb $10, %al + 0x0f, 0x84, 0xdc, 0xff, 0xff, 0xff, //0x00003d1e je LBB1_909 + 0x3c, 0x0d, //0x00003d24 cmpb $13, %al + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x00003d26 je LBB1_909 + 0x3c, 0x3d, //0x00003d2c cmpb $61, %al + 0x0f, 0x85, 0x1d, 0x05, 0x00, 0x00, //0x00003d2e jne LBB1_855 + 0x49, 0xff, 0xc0, //0x00003d34 incq %r8 + 0x41, 0x83, 0xfe, 0x02, //0x00003d37 cmpl $2, %r14d + 0x0f, 0x84, 0x2f, 0xfc, 0xff, 0xff, //0x00003d3b je LBB1_856 + 0x4c, 0x39, 0xc3, //0x00003d41 cmpq %r8, %rbx + 0x0f, 0x87, 0x3a, 0x03, 0x00, 0x00, //0x00003d44 ja LBB1_962 + 0xe9, 0xbc, 0x08, 0x00, 0x00, //0x00003d4a jmp LBB1_1063 + //0x00003d4f LBB1_915 + 0x80, 0xf9, 0x6e, //0x00003d4f cmpb $110, %cl + 0x0f, 0x85, 0x63, 0x03, 0x00, 0x00, //0x00003d52 jne LBB1_967 + //0x00003d58 LBB1_916 + 0x4d, 0x89, 0xd0, //0x00003d58 movq %r10, %r8 + //0x00003d5b LBB1_917 + 0x4c, 0x89, 0xc2, //0x00003d5b movq %r8, %rdx + 0x49, 0x39, 0xd8, //0x00003d5e cmpq %rbx, %r8 + 0x0f, 0x83, 0x20, 0x01, 0x00, 0x00, //0x00003d61 jae LBB1_934 + //0x00003d67 LBB1_918 + 0x4c, 0x8d, 0x42, 0x01, //0x00003d67 leaq $1(%rdx), %r8 + 0x0f, 0xb6, 0x02, //0x00003d6b movzbl (%rdx), %eax + 0x3c, 0x5c, //0x00003d6e cmpb $92, %al + 0x0f, 0x85, 0xf1, 0x00, 0x00, 0x00, //0x00003d70 jne LBB1_931 + 0x4c, 0x8d, 0x52, 0x02, //0x00003d76 leaq $2(%rdx), %r10 + 0xb0, 0xff, //0x00003d7a movb $-1, %al + 0x49, 0x39, 0xda, //0x00003d7c cmpq %rbx, %r10 + 0x0f, 0x87, 0x48, 0x03, 0x00, 0x00, //0x00003d7f ja LBB1_970 + 0x41, 0x0f, 0xb6, 0x08, //0x00003d85 movzbl (%r8), %ecx + 0x80, 0xf9, 0x71, //0x00003d89 cmpb $113, %cl + 0x0f, 0x8e, 0xbd, 0xff, 0xff, 0xff, //0x00003d8c jle LBB1_915 + 0x80, 0xf9, 0x72, //0x00003d92 cmpb $114, %cl + 0x0f, 0x84, 0xbd, 0xff, 0xff, 0xff, //0x00003d95 je LBB1_916 + 0x80, 0xf9, 0x75, //0x00003d9b cmpb $117, %cl + 0x0f, 0x85, 0x22, 0x03, 0x00, 0x00, //0x00003d9e jne LBB1_969 + 0x48, 0x8b, 0x4d, 0xd0, //0x00003da4 movq $-48(%rbp), %rcx + 0x4c, 0x29, 0xd1, //0x00003da8 subq %r10, %rcx + 0x48, 0x83, 0xf9, 0x04, //0x00003dab cmpq $4, %rcx + 0x0f, 0x8c, 0x11, 0x03, 0x00, 0x00, //0x00003daf jl LBB1_969 + 0x41, 0x8b, 0x3a, //0x00003db5 movl (%r10), %edi + 0x89, 0xfb, //0x00003db8 movl %edi, %ebx + 0xf7, 0xd3, //0x00003dba notl %ebx + 0x8d, 0x8f, 0xd0, 0xcf, 0xcf, 0xcf, //0x00003dbc leal $-808464432(%rdi), %ecx + 0x81, 0xe3, 0x80, 0x80, 0x80, 0x80, //0x00003dc2 andl $-2139062144, %ebx + 0x85, 0xcb, //0x00003dc8 testl %ecx, %ebx + 0x0f, 0x85, 0xf6, 0x02, 0x00, 0x00, //0x00003dca jne LBB1_969 + 0x8d, 0x8f, 0x19, 0x19, 0x19, 0x19, //0x00003dd0 leal $421075225(%rdi), %ecx + 0x09, 0xf9, //0x00003dd6 orl %edi, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x00003dd8 testl $-2139062144, %ecx + 0x0f, 0x85, 0xe2, 0x02, 0x00, 0x00, //0x00003dde jne LBB1_969 + 0x89, 0xf9, //0x00003de4 movl %edi, %ecx + 0x81, 0xe1, 0x7f, 0x7f, 0x7f, 0x7f, //0x00003de6 andl $2139062143, %ecx + 0xbe, 0xc0, 0xc0, 0xc0, 0xc0, //0x00003dec movl $-1061109568, %esi + 0x29, 0xce, //0x00003df1 subl %ecx, %esi + 0x44, 0x8d, 0x81, 0x46, 0x46, 0x46, 0x46, //0x00003df3 leal $1179010630(%rcx), %r8d + 0x21, 0xde, //0x00003dfa andl %ebx, %esi + 0x44, 0x85, 0xc6, //0x00003dfc testl %r8d, %esi + 0x0f, 0x85, 0xc1, 0x02, 0x00, 0x00, //0x00003dff jne LBB1_969 + 0xbe, 0xe0, 0xe0, 0xe0, 0xe0, //0x00003e05 movl $-522133280, %esi + 0x29, 0xce, //0x00003e0a subl %ecx, %esi + 0x81, 0xc1, 0x39, 0x39, 0x39, 0x39, //0x00003e0c addl $960051513, %ecx + 0x21, 0xf3, //0x00003e12 andl %esi, %ebx + 0x85, 0xcb, //0x00003e14 testl %ecx, %ebx + 0x0f, 0x85, 0xaa, 0x02, 0x00, 0x00, //0x00003e16 jne LBB1_969 + 0x0f, 0xcf, //0x00003e1c bswapl %edi + 0x89, 0xf8, //0x00003e1e movl %edi, %eax + 0xc1, 0xe8, 0x04, //0x00003e20 shrl $4, %eax + 0xf7, 0xd0, //0x00003e23 notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x00003e25 andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00003e2a leal (%rax,%rax,8), %eax + 0x81, 0xe7, 0x0f, 0x0f, 0x0f, 0x0f, //0x00003e2d andl $252645135, %edi + 0x01, 0xc7, //0x00003e33 addl %eax, %edi + 0x89, 0xf8, //0x00003e35 movl %edi, %eax + 0xc1, 0xe8, 0x04, //0x00003e37 shrl $4, %eax + 0x09, 0xf8, //0x00003e3a orl %edi, %eax + 0x89, 0xc1, //0x00003e3c movl %eax, %ecx + 0xc1, 0xe9, 0x08, //0x00003e3e shrl $8, %ecx + 0x81, 0xe1, 0x00, 0xff, 0x00, 0x00, //0x00003e41 andl $65280, %ecx + 0x89, 0xc6, //0x00003e47 movl %eax, %esi + 0x81, 0xe6, 0x80, 0x00, 0x00, 0x00, //0x00003e49 andl $128, %esi + 0x09, 0xce, //0x00003e4f orl %ecx, %esi + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00003e51 je LBB1_930 + 0xb8, 0xff, 0x00, 0x00, 0x00, //0x00003e57 movl $255, %eax + //0x00003e5c LBB1_930 + 0x48, 0x83, 0xc2, 0x06, //0x00003e5c addq $6, %rdx + 0x49, 0x89, 0xd0, //0x00003e60 movq %rdx, %r8 + 0x48, 0x8b, 0x5d, 0xd0, //0x00003e63 movq $-48(%rbp), %rbx + //0x00003e67 LBB1_931 + 0x3c, 0x0a, //0x00003e67 cmpb $10, %al + 0x0f, 0x84, 0xec, 0xfe, 0xff, 0xff, //0x00003e69 je LBB1_917 + 0x3c, 0x0d, //0x00003e6f cmpb $13, %al + 0x0f, 0x84, 0xe4, 0xfe, 0xff, 0xff, //0x00003e71 je LBB1_917 + 0xe9, 0x51, 0x02, 0x00, 0x00, //0x00003e77 jmp LBB1_970 + //0x00003e7c LBB1_933 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00003e7c movl $1, %r11d + 0xe9, 0x3e, 0xfd, 0xff, 0xff, //0x00003e82 jmp LBB1_889 + //0x00003e87 LBB1_934 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00003e87 movl $1, %r11d + 0x44, 0x89, 0xfa, //0x00003e8d movl %r15d, %edx + 0xe9, 0x30, 0xfd, 0xff, 0xff, //0x00003e90 jmp LBB1_889 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003e95 .p2align 4, 0x90 + //0x00003ea0 LBB1_935 + 0x49, 0xff, 0xc0, //0x00003ea0 incq %r8 + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00003ea3 movl $3, %r11d + 0x49, 0x39, 0xd8, //0x00003ea9 cmpq %rbx, %r8 + 0x0f, 0x83, 0x13, 0xfd, 0xff, 0xff, //0x00003eac jae LBB1_889 + //0x00003eb2 LBB1_936 + 0x41, 0x0f, 0xb6, 0x00, //0x00003eb2 movzbl (%r8), %eax + 0x48, 0x83, 0xf8, 0x0d, //0x00003eb6 cmpq $13, %rax + 0x0f, 0x84, 0xe0, 0xff, 0xff, 0xff, //0x00003eba je LBB1_935 + 0x3c, 0x0a, //0x00003ec0 cmpb $10, %al + 0x0f, 0x84, 0xd8, 0xff, 0xff, 0xff, //0x00003ec2 je LBB1_935 + 0x48, 0x8b, 0x4d, 0xc0, //0x00003ec8 movq $-64(%rbp), %rcx + 0x0f, 0xb6, 0x0c, 0x01, //0x00003ecc movzbl (%rcx,%rax), %ecx + 0x49, 0xff, 0xc0, //0x00003ed0 incq %r8 + 0x81, 0xf9, 0xff, 0x00, 0x00, 0x00, //0x00003ed3 cmpl $255, %ecx + 0x0f, 0x85, 0xeb, 0x06, 0x00, 0x00, //0x00003ed9 jne LBB1_1059 + 0x41, 0x89, 0xd7, //0x00003edf movl %edx, %r15d + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00003ee2 movl $3, %r11d + 0xe9, 0xb9, 0xfd, 0xff, 0xff, //0x00003ee8 jmp LBB1_903 + //0x00003eed LBB1_940 + 0x4c, 0x39, 0xc3, //0x00003eed cmpq %r8, %rbx + 0x0f, 0x87, 0x39, 0x00, 0x00, 0x00, //0x00003ef0 ja LBB1_943 + 0xe9, 0x10, 0x07, 0x00, 0x00, //0x00003ef6 jmp LBB1_1063 + 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003efb .p2align 4, 0x90 + //0x00003f00 LBB1_959 + 0x4c, 0x89, 0xe9, //0x00003f00 movq %r13, %rcx + 0x49, 0x89, 0xc8, //0x00003f03 movq %rcx, %r8 + 0x48, 0x39, 0xd9, //0x00003f06 cmpq %rbx, %rcx + 0x0f, 0x82, 0x20, 0x00, 0x00, 0x00, //0x00003f09 jb LBB1_943 + 0xe9, 0x42, 0x01, 0x00, 0x00, //0x00003f0f jmp LBB1_994 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00003f14 .p2align 4, 0x90 + //0x00003f20 LBB1_941 + 0x49, 0x89, 0xcd, //0x00003f20 movq %rcx, %r13 + 0x49, 0x89, 0xc8, //0x00003f23 movq %rcx, %r8 + 0x48, 0x39, 0xd9, //0x00003f26 cmpq %rbx, %rcx + 0x0f, 0x83, 0x27, 0x01, 0x00, 0x00, //0x00003f29 jae LBB1_994 + //0x00003f2f LBB1_943 + 0x4d, 0x8d, 0x68, 0x01, //0x00003f2f leaq $1(%r8), %r13 + 0x41, 0x0f, 0xb6, 0x08, //0x00003f33 movzbl (%r8), %ecx + 0x80, 0xf9, 0x5c, //0x00003f37 cmpb $92, %cl + 0x0f, 0x85, 0xe5, 0x00, 0x00, 0x00, //0x00003f3a jne LBB1_956 + 0x49, 0x8d, 0x48, 0x02, //0x00003f40 leaq $2(%r8), %rcx + 0x48, 0x39, 0xd9, //0x00003f44 cmpq %rbx, %rcx + 0x0f, 0x87, 0x66, 0x07, 0x00, 0x00, //0x00003f47 ja LBB1_1026 + 0x41, 0x0f, 0xb6, 0x45, 0x00, //0x00003f4d movzbl (%r13), %eax + 0x3c, 0x6e, //0x00003f52 cmpb $110, %al + 0x0f, 0x84, 0xc6, 0xff, 0xff, 0xff, //0x00003f54 je LBB1_941 + 0x3c, 0x72, //0x00003f5a cmpb $114, %al + 0x0f, 0x84, 0xbe, 0xff, 0xff, 0xff, //0x00003f5c je LBB1_941 + 0x3c, 0x75, //0x00003f62 cmpb $117, %al + 0x0f, 0x85, 0xf7, 0xf9, 0xff, 0xff, //0x00003f64 jne LBB1_1102 + 0x48, 0x89, 0xd8, //0x00003f6a movq %rbx, %rax + 0x48, 0x29, 0xc8, //0x00003f6d subq %rcx, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00003f70 cmpq $4, %rax + 0x0f, 0x8c, 0xe7, 0xf9, 0xff, 0xff, //0x00003f74 jl LBB1_1102 + 0x8b, 0x11, //0x00003f7a movl (%rcx), %edx + 0x89, 0xd6, //0x00003f7c movl %edx, %esi + 0xf7, 0xd6, //0x00003f7e notl %esi + 0x8d, 0x82, 0xd0, 0xcf, 0xcf, 0xcf, //0x00003f80 leal $-808464432(%rdx), %eax + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x00003f86 andl $-2139062144, %esi + 0x85, 0xc6, //0x00003f8c testl %eax, %esi + 0x0f, 0x85, 0xcd, 0xf9, 0xff, 0xff, //0x00003f8e jne LBB1_1102 + 0x8d, 0x82, 0x19, 0x19, 0x19, 0x19, //0x00003f94 leal $421075225(%rdx), %eax + 0x09, 0xd0, //0x00003f9a orl %edx, %eax + 0xa9, 0x80, 0x80, 0x80, 0x80, //0x00003f9c testl $-2139062144, %eax + 0x0f, 0x85, 0xba, 0xf9, 0xff, 0xff, //0x00003fa1 jne LBB1_1102 + 0x89, 0xd0, //0x00003fa7 movl %edx, %eax + 0x25, 0x7f, 0x7f, 0x7f, 0x7f, //0x00003fa9 andl $2139062143, %eax + 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, //0x00003fae movl $-1061109568, %edi + 0x29, 0xc7, //0x00003fb3 subl %eax, %edi + 0x8d, 0x98, 0x46, 0x46, 0x46, 0x46, //0x00003fb5 leal $1179010630(%rax), %ebx + 0x21, 0xf7, //0x00003fbb andl %esi, %edi + 0x85, 0xdf, //0x00003fbd testl %ebx, %edi + 0x0f, 0x85, 0x9a, 0x09, 0x00, 0x00, //0x00003fbf jne LBB1_1131 + 0xbf, 0xe0, 0xe0, 0xe0, 0xe0, //0x00003fc5 movl $-522133280, %edi + 0x29, 0xc7, //0x00003fca subl %eax, %edi + 0x05, 0x39, 0x39, 0x39, 0x39, //0x00003fcc addl $960051513, %eax + 0x21, 0xfe, //0x00003fd1 andl %edi, %esi + 0x85, 0xc6, //0x00003fd3 testl %eax, %esi + 0x48, 0x8b, 0x5d, 0xd0, //0x00003fd5 movq $-48(%rbp), %rbx + 0x0f, 0x85, 0x82, 0xf9, 0xff, 0xff, //0x00003fd9 jne LBB1_1102 + 0x0f, 0xca, //0x00003fdf bswapl %edx + 0x89, 0xd0, //0x00003fe1 movl %edx, %eax + 0xc1, 0xe8, 0x04, //0x00003fe3 shrl $4, %eax + 0xf7, 0xd0, //0x00003fe6 notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x00003fe8 andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00003fed leal (%rax,%rax,8), %eax + 0x81, 0xe2, 0x0f, 0x0f, 0x0f, 0x0f, //0x00003ff0 andl $252645135, %edx + 0x01, 0xc2, //0x00003ff6 addl %eax, %edx + 0x89, 0xd1, //0x00003ff8 movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x00003ffa shrl $4, %ecx + 0x09, 0xd1, //0x00003ffd orl %edx, %ecx + 0x89, 0xc8, //0x00003fff movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x00004001 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00004004 andl $65280, %eax + 0x89, 0xca, //0x00004009 movl %ecx, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x0000400b andl $128, %edx + 0x09, 0xc2, //0x00004011 orl %eax, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00004013 je LBB1_955 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x00004019 movl $255, %ecx + //0x0000401e LBB1_955 + 0x49, 0x83, 0xc0, 0x06, //0x0000401e addq $6, %r8 + 0x4d, 0x89, 0xc5, //0x00004022 movq %r8, %r13 + //0x00004025 LBB1_956 + 0x80, 0xf9, 0x0a, //0x00004025 cmpb $10, %cl + 0x0f, 0x84, 0xd2, 0xfe, 0xff, 0xff, //0x00004028 je LBB1_959 + 0x80, 0xf9, 0x0d, //0x0000402e cmpb $13, %cl + 0x0f, 0x84, 0xc9, 0xfe, 0xff, 0xff, //0x00004031 je LBB1_959 + 0x80, 0xf9, 0x3d, //0x00004037 cmpb $61, %cl + 0x0f, 0x85, 0x73, 0x06, 0x00, 0x00, //0x0000403a jne LBB1_1026 + 0x4d, 0x89, 0xe8, //0x00004040 movq %r13, %r8 + 0x41, 0x83, 0xfe, 0x02, //0x00004043 cmpl $2, %r14d + 0x0f, 0x84, 0x23, 0xf9, 0xff, 0xff, //0x00004047 je LBB1_856 + 0x4c, 0x39, 0xeb, //0x0000404d cmpq %r13, %rbx + 0x0f, 0x87, 0xc7, 0x03, 0x00, 0x00, //0x00004050 ja LBB1_1029 + //0x00004056 LBB1_994 + 0x4d, 0x89, 0xe8, //0x00004056 movq %r13, %r8 + 0xe9, 0xad, 0x05, 0x00, 0x00, //0x00004059 jmp LBB1_1063 + //0x0000405e LBB1_960 + 0x41, 0x89, 0xd7, //0x0000405e movl %edx, %r15d + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x00004061 movl $1, %r11d + 0xe9, 0x3a, 0xfc, 0xff, 0xff, //0x00004067 jmp LBB1_903 + //0x0000406c LBB1_961 + 0x49, 0xff, 0xc0, //0x0000406c incq %r8 + 0x48, 0xff, 0xc1, //0x0000406f incq %rcx + 0x48, 0xff, 0xce, //0x00004072 decq %rsi + 0x48, 0xff, 0xc2, //0x00004075 incq %rdx + 0x48, 0xff, 0xcf, //0x00004078 decq %rdi + 0x4c, 0x39, 0xc3, //0x0000407b cmpq %r8, %rbx + 0x0f, 0x84, 0x12, 0x05, 0x00, 0x00, //0x0000407e je LBB1_993 + //0x00004084 LBB1_962 + 0x41, 0x0f, 0xb6, 0x00, //0x00004084 movzbl (%r8), %eax + 0x3c, 0x0a, //0x00004088 cmpb $10, %al + 0x0f, 0x84, 0xdc, 0xff, 0xff, 0xff, //0x0000408a je LBB1_961 + 0x3c, 0x0d, //0x00004090 cmpb $13, %al + 0x0f, 0x84, 0xd4, 0xff, 0xff, 0xff, //0x00004092 je LBB1_961 + 0x3c, 0x3d, //0x00004098 cmpb $61, %al + 0x0f, 0x85, 0xb1, 0x01, 0x00, 0x00, //0x0000409a jne LBB1_855 + 0x49, 0xff, 0xc0, //0x000040a0 incq %r8 + 0x41, 0x83, 0xfe, 0x03, //0x000040a3 cmpl $3, %r14d + 0x0f, 0x84, 0xc3, 0xf8, 0xff, 0xff, //0x000040a7 je LBB1_856 + 0x4c, 0x39, 0xc3, //0x000040ad cmpq %r8, %rbx + 0x0f, 0x87, 0xa2, 0x04, 0x00, 0x00, //0x000040b0 ja LBB1_1048 + 0xe9, 0x50, 0x05, 0x00, 0x00, //0x000040b6 jmp LBB1_1063 + //0x000040bb LBB1_967 + 0x80, 0xf9, 0x2f, //0x000040bb cmpb $47, %cl + 0x0f, 0x85, 0x02, 0x00, 0x00, 0x00, //0x000040be jne LBB1_969 + 0x89, 0xc8, //0x000040c4 movl %ecx, %eax + //0x000040c6 LBB1_969 + 0x4d, 0x89, 0xd0, //0x000040c6 movq %r10, %r8 + 0x48, 0x8b, 0x5d, 0xd0, //0x000040c9 movq $-48(%rbp), %rbx + //0x000040cd LBB1_970 + 0x0f, 0xb6, 0xc8, //0x000040cd movzbl %al, %ecx + 0x48, 0x8b, 0x55, 0xc0, //0x000040d0 movq $-64(%rbp), %rdx + 0x0f, 0xb6, 0x0c, 0x0a, //0x000040d4 movzbl (%rdx,%rcx), %ecx + 0x81, 0xf9, 0xff, 0x00, 0x00, 0x00, //0x000040d8 cmpl $255, %ecx + 0x0f, 0x84, 0x5a, 0x01, 0x00, 0x00, //0x000040de je LBB1_991 + 0x44, 0x89, 0xfa, //0x000040e4 movl %r15d, %edx + 0xc1, 0xe2, 0x06, //0x000040e7 shll $6, %edx + 0x09, 0xca, //0x000040ea orl %ecx, %edx + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x000040ec movl $2, %r11d + 0x49, 0x39, 0xd8, //0x000040f2 cmpq %rbx, %r8 + 0x0f, 0x83, 0xe5, 0x04, 0x00, 0x00, //0x000040f5 jae LBB1_1060 + 0x41, 0x89, 0xd7, //0x000040fb movl %edx, %r15d + 0xe9, 0x21, 0x00, 0x00, 0x00, //0x000040fe jmp LBB1_976 + //0x00004103 LBB1_973 + 0x80, 0xf9, 0x6e, //0x00004103 cmpb $110, %cl + 0x0f, 0x85, 0x50, 0x01, 0x00, 0x00, //0x00004106 jne LBB1_995 + //0x0000410c LBB1_974 + 0x48, 0x89, 0xd7, //0x0000410c movq %rdx, %rdi + 0x44, 0x89, 0xfa, //0x0000410f movl %r15d, %edx + //0x00004112 LBB1_975 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x00004112 movl $2, %r11d + 0x49, 0x89, 0xf8, //0x00004118 movq %rdi, %r8 + 0x48, 0x39, 0xdf, //0x0000411b cmpq %rbx, %rdi + 0x0f, 0x83, 0x25, 0x01, 0x00, 0x00, //0x0000411e jae LBB1_992 + //0x00004124 LBB1_976 + 0x49, 0x8d, 0x78, 0x01, //0x00004124 leaq $1(%r8), %rdi + 0x41, 0x0f, 0xb6, 0x00, //0x00004128 movzbl (%r8), %eax + 0x3c, 0x5c, //0x0000412c cmpb $92, %al + 0x0f, 0x85, 0xf5, 0x00, 0x00, 0x00, //0x0000412e jne LBB1_989 + 0x49, 0x8d, 0x50, 0x02, //0x00004134 leaq $2(%r8), %rdx + 0xb0, 0xff, //0x00004138 movb $-1, %al + 0x48, 0x39, 0xda, //0x0000413a cmpq %rbx, %rdx + 0x0f, 0x87, 0x27, 0x01, 0x00, 0x00, //0x0000413d ja LBB1_998 + 0x0f, 0xb6, 0x0f, //0x00004143 movzbl (%rdi), %ecx + 0x80, 0xf9, 0x71, //0x00004146 cmpb $113, %cl + 0x0f, 0x8e, 0xb4, 0xff, 0xff, 0xff, //0x00004149 jle LBB1_973 + 0x80, 0xf9, 0x72, //0x0000414f cmpb $114, %cl + 0x0f, 0x84, 0xb4, 0xff, 0xff, 0xff, //0x00004152 je LBB1_974 + 0x80, 0xf9, 0x75, //0x00004158 cmpb $117, %cl + 0x0f, 0x85, 0x06, 0x01, 0x00, 0x00, //0x0000415b jne LBB1_997 + 0x48, 0x89, 0xd9, //0x00004161 movq %rbx, %rcx + 0x48, 0x29, 0xd1, //0x00004164 subq %rdx, %rcx + 0x48, 0x83, 0xf9, 0x04, //0x00004167 cmpq $4, %rcx + 0x0f, 0x8c, 0xf6, 0x00, 0x00, 0x00, //0x0000416b jl LBB1_997 + 0x8b, 0x32, //0x00004171 movl (%rdx), %esi + 0x89, 0xf7, //0x00004173 movl %esi, %edi + 0xf7, 0xd7, //0x00004175 notl %edi + 0x8d, 0x8e, 0xd0, 0xcf, 0xcf, 0xcf, //0x00004177 leal $-808464432(%rsi), %ecx + 0x81, 0xe7, 0x80, 0x80, 0x80, 0x80, //0x0000417d andl $-2139062144, %edi + 0x85, 0xcf, //0x00004183 testl %ecx, %edi + 0x0f, 0x85, 0xdc, 0x00, 0x00, 0x00, //0x00004185 jne LBB1_997 + 0x8d, 0x8e, 0x19, 0x19, 0x19, 0x19, //0x0000418b leal $421075225(%rsi), %ecx + 0x09, 0xf1, //0x00004191 orl %esi, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x00004193 testl $-2139062144, %ecx + 0x0f, 0x85, 0xc8, 0x00, 0x00, 0x00, //0x00004199 jne LBB1_997 + 0x89, 0xf1, //0x0000419f movl %esi, %ecx + 0x81, 0xe1, 0x7f, 0x7f, 0x7f, 0x7f, //0x000041a1 andl $2139062143, %ecx + 0xbb, 0xc0, 0xc0, 0xc0, 0xc0, //0x000041a7 movl $-1061109568, %ebx + 0x29, 0xcb, //0x000041ac subl %ecx, %ebx + 0x44, 0x8d, 0x91, 0x46, 0x46, 0x46, 0x46, //0x000041ae leal $1179010630(%rcx), %r10d + 0x21, 0xfb, //0x000041b5 andl %edi, %ebx + 0x44, 0x85, 0xd3, //0x000041b7 testl %r10d, %ebx + 0x48, 0x8b, 0x5d, 0xd0, //0x000041ba movq $-48(%rbp), %rbx + 0x0f, 0x85, 0xa3, 0x00, 0x00, 0x00, //0x000041be jne LBB1_997 + 0xbb, 0xe0, 0xe0, 0xe0, 0xe0, //0x000041c4 movl $-522133280, %ebx + 0x29, 0xcb, //0x000041c9 subl %ecx, %ebx + 0x81, 0xc1, 0x39, 0x39, 0x39, 0x39, //0x000041cb addl $960051513, %ecx + 0x21, 0xdf, //0x000041d1 andl %ebx, %edi + 0x48, 0x8b, 0x5d, 0xd0, //0x000041d3 movq $-48(%rbp), %rbx + 0x85, 0xcf, //0x000041d7 testl %ecx, %edi + 0x0f, 0x85, 0x88, 0x00, 0x00, 0x00, //0x000041d9 jne LBB1_997 + 0x0f, 0xce, //0x000041df bswapl %esi + 0x89, 0xf0, //0x000041e1 movl %esi, %eax + 0xc1, 0xe8, 0x04, //0x000041e3 shrl $4, %eax + 0xf7, 0xd0, //0x000041e6 notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x000041e8 andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x000041ed leal (%rax,%rax,8), %eax + 0x81, 0xe6, 0x0f, 0x0f, 0x0f, 0x0f, //0x000041f0 andl $252645135, %esi + 0x01, 0xc6, //0x000041f6 addl %eax, %esi + 0x89, 0xf0, //0x000041f8 movl %esi, %eax + 0xc1, 0xe8, 0x04, //0x000041fa shrl $4, %eax + 0x09, 0xf0, //0x000041fd orl %esi, %eax + 0x89, 0xc1, //0x000041ff movl %eax, %ecx + 0xc1, 0xe9, 0x08, //0x00004201 shrl $8, %ecx + 0x81, 0xe1, 0x00, 0xff, 0x00, 0x00, //0x00004204 andl $65280, %ecx + 0x89, 0xc2, //0x0000420a movl %eax, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x0000420c andl $128, %edx + 0x09, 0xca, //0x00004212 orl %ecx, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00004214 je LBB1_988 + 0xb8, 0xff, 0x00, 0x00, 0x00, //0x0000421a movl $255, %eax + //0x0000421f LBB1_988 + 0x49, 0x83, 0xc0, 0x06, //0x0000421f addq $6, %r8 + 0x4c, 0x89, 0xc7, //0x00004223 movq %r8, %rdi + 0x44, 0x89, 0xfa, //0x00004226 movl %r15d, %edx + //0x00004229 LBB1_989 + 0x3c, 0x0a, //0x00004229 cmpb $10, %al + 0x0f, 0x84, 0xe1, 0xfe, 0xff, 0xff, //0x0000422b je LBB1_975 + 0x3c, 0x0d, //0x00004231 cmpb $13, %al + 0x0f, 0x84, 0xd9, 0xfe, 0xff, 0xff, //0x00004233 je LBB1_975 + 0xe9, 0x2c, 0x00, 0x00, 0x00, //0x00004239 jmp LBB1_998 + //0x0000423e LBB1_991 + 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x0000423e movl $1, %r11d + 0xe9, 0x5d, 0xfa, 0xff, 0xff, //0x00004244 jmp LBB1_903 + //0x00004249 LBB1_992 + 0x49, 0x89, 0xf8, //0x00004249 movq %rdi, %r8 + 0xe9, 0x74, 0xf9, 0xff, 0xff, //0x0000424c jmp LBB1_889 + //0x00004251 LBB1_855 + 0x49, 0xff, 0xc0, //0x00004251 incq %r8 + 0x4c, 0x89, 0xc2, //0x00004254 movq %r8, %rdx + 0xe9, 0x14, 0xf7, 0xff, 0xff, //0x00004257 jmp LBB1_856 + //0x0000425c LBB1_995 + 0x80, 0xf9, 0x2f, //0x0000425c cmpb $47, %cl + 0x0f, 0x85, 0x02, 0x00, 0x00, 0x00, //0x0000425f jne LBB1_997 + 0x89, 0xc8, //0x00004265 movl %ecx, %eax + //0x00004267 LBB1_997 + 0x48, 0x89, 0xd7, //0x00004267 movq %rdx, %rdi + //0x0000426a LBB1_998 + 0x0f, 0xb6, 0xc8, //0x0000426a movzbl %al, %ecx + 0x48, 0x8b, 0x55, 0xc0, //0x0000426d movq $-64(%rbp), %rdx + 0x0f, 0xb6, 0x0c, 0x0a, //0x00004271 movzbl (%rdx,%rcx), %ecx + 0x81, 0xf9, 0xff, 0x00, 0x00, 0x00, //0x00004275 cmpl $255, %ecx + 0x0f, 0x84, 0x55, 0x01, 0x00, 0x00, //0x0000427b je LBB1_1019 + 0x44, 0x89, 0xfa, //0x00004281 movl %r15d, %edx + 0xc1, 0xe2, 0x06, //0x00004284 shll $6, %edx + 0x09, 0xca, //0x00004287 orl %ecx, %edx + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00004289 movl $3, %r11d + 0x48, 0x39, 0xdf, //0x0000428f cmpq %rbx, %rdi + 0x0f, 0x83, 0x4c, 0x01, 0x00, 0x00, //0x00004292 jae LBB1_1020 + 0x41, 0x89, 0xd7, //0x00004298 movl %edx, %r15d + 0xe9, 0x1e, 0x00, 0x00, 0x00, //0x0000429b jmp LBB1_1004 + //0x000042a0 LBB1_1001 + 0x80, 0xf9, 0x6e, //0x000042a0 cmpb $110, %cl + 0x0f, 0x85, 0xf5, 0x02, 0x00, 0x00, //0x000042a3 jne LBB1_1054 + //0x000042a9 LBB1_1002 + 0x4d, 0x89, 0xd0, //0x000042a9 movq %r10, %r8 + //0x000042ac LBB1_1003 + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x000042ac movl $3, %r11d + 0x4c, 0x89, 0xc7, //0x000042b2 movq %r8, %rdi + 0x49, 0x39, 0xd8, //0x000042b5 cmpq %rbx, %r8 + 0x0f, 0x83, 0x07, 0xf9, 0xff, 0xff, //0x000042b8 jae LBB1_889 + //0x000042be LBB1_1004 + 0x4c, 0x8d, 0x47, 0x01, //0x000042be leaq $1(%rdi), %r8 + 0x0f, 0xb6, 0x07, //0x000042c2 movzbl (%rdi), %eax + 0x3c, 0x5c, //0x000042c5 cmpb $92, %al + 0x0f, 0x85, 0xf4, 0x00, 0x00, 0x00, //0x000042c7 jne LBB1_1017 + 0x4c, 0x8d, 0x57, 0x02, //0x000042cd leaq $2(%rdi), %r10 + 0xb0, 0xff, //0x000042d1 movb $-1, %al + 0x49, 0x39, 0xda, //0x000042d3 cmpq %rbx, %r10 + 0x0f, 0x87, 0xd4, 0x02, 0x00, 0x00, //0x000042d6 ja LBB1_1057 + 0x41, 0x0f, 0xb6, 0x08, //0x000042dc movzbl (%r8), %ecx + 0x80, 0xf9, 0x71, //0x000042e0 cmpb $113, %cl + 0x0f, 0x8e, 0xb7, 0xff, 0xff, 0xff, //0x000042e3 jle LBB1_1001 + 0x80, 0xf9, 0x72, //0x000042e9 cmpb $114, %cl + 0x0f, 0x84, 0xb7, 0xff, 0xff, 0xff, //0x000042ec je LBB1_1002 + 0x80, 0xf9, 0x75, //0x000042f2 cmpb $117, %cl + 0x0f, 0x85, 0xae, 0x02, 0x00, 0x00, //0x000042f5 jne LBB1_1056 + 0x48, 0x8b, 0x4d, 0xd0, //0x000042fb movq $-48(%rbp), %rcx + 0x4c, 0x29, 0xd1, //0x000042ff subq %r10, %rcx + 0x48, 0x83, 0xf9, 0x04, //0x00004302 cmpq $4, %rcx + 0x0f, 0x8c, 0x9d, 0x02, 0x00, 0x00, //0x00004306 jl LBB1_1056 + 0x41, 0x8b, 0x32, //0x0000430c movl (%r10), %esi + 0x89, 0xf3, //0x0000430f movl %esi, %ebx + 0xf7, 0xd3, //0x00004311 notl %ebx + 0x8d, 0x8e, 0xd0, 0xcf, 0xcf, 0xcf, //0x00004313 leal $-808464432(%rsi), %ecx + 0x81, 0xe3, 0x80, 0x80, 0x80, 0x80, //0x00004319 andl $-2139062144, %ebx + 0x85, 0xcb, //0x0000431f testl %ecx, %ebx + 0x0f, 0x85, 0x82, 0x02, 0x00, 0x00, //0x00004321 jne LBB1_1056 + 0x8d, 0x8e, 0x19, 0x19, 0x19, 0x19, //0x00004327 leal $421075225(%rsi), %ecx + 0x09, 0xf1, //0x0000432d orl %esi, %ecx + 0xf7, 0xc1, 0x80, 0x80, 0x80, 0x80, //0x0000432f testl $-2139062144, %ecx + 0x0f, 0x85, 0x6e, 0x02, 0x00, 0x00, //0x00004335 jne LBB1_1056 + 0x89, 0xf1, //0x0000433b movl %esi, %ecx + 0x81, 0xe1, 0x7f, 0x7f, 0x7f, 0x7f, //0x0000433d andl $2139062143, %ecx + 0xba, 0xc0, 0xc0, 0xc0, 0xc0, //0x00004343 movl $-1061109568, %edx + 0x29, 0xca, //0x00004348 subl %ecx, %edx + 0x44, 0x8d, 0x81, 0x46, 0x46, 0x46, 0x46, //0x0000434a leal $1179010630(%rcx), %r8d + 0x21, 0xda, //0x00004351 andl %ebx, %edx + 0x44, 0x85, 0xc2, //0x00004353 testl %r8d, %edx + 0x0f, 0x85, 0x4d, 0x02, 0x00, 0x00, //0x00004356 jne LBB1_1056 + 0xba, 0xe0, 0xe0, 0xe0, 0xe0, //0x0000435c movl $-522133280, %edx + 0x29, 0xca, //0x00004361 subl %ecx, %edx + 0x81, 0xc1, 0x39, 0x39, 0x39, 0x39, //0x00004363 addl $960051513, %ecx + 0x21, 0xd3, //0x00004369 andl %edx, %ebx + 0x85, 0xcb, //0x0000436b testl %ecx, %ebx + 0x0f, 0x85, 0x36, 0x02, 0x00, 0x00, //0x0000436d jne LBB1_1056 + 0x0f, 0xce, //0x00004373 bswapl %esi + 0x89, 0xf0, //0x00004375 movl %esi, %eax + 0xc1, 0xe8, 0x04, //0x00004377 shrl $4, %eax + 0xf7, 0xd0, //0x0000437a notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x0000437c andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00004381 leal (%rax,%rax,8), %eax + 0x81, 0xe6, 0x0f, 0x0f, 0x0f, 0x0f, //0x00004384 andl $252645135, %esi + 0x01, 0xc6, //0x0000438a addl %eax, %esi + 0x89, 0xf0, //0x0000438c movl %esi, %eax + 0xc1, 0xe8, 0x04, //0x0000438e shrl $4, %eax + 0x09, 0xf0, //0x00004391 orl %esi, %eax + 0x89, 0xc1, //0x00004393 movl %eax, %ecx + 0xc1, 0xe9, 0x08, //0x00004395 shrl $8, %ecx + 0x81, 0xe1, 0x00, 0xff, 0x00, 0x00, //0x00004398 andl $65280, %ecx + 0x89, 0xc2, //0x0000439e movl %eax, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x000043a0 andl $128, %edx + 0x09, 0xca, //0x000043a6 orl %ecx, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x000043a8 je LBB1_1016 + 0xb8, 0xff, 0x00, 0x00, 0x00, //0x000043ae movl $255, %eax + //0x000043b3 LBB1_1016 + 0x48, 0x83, 0xc7, 0x06, //0x000043b3 addq $6, %rdi + 0x49, 0x89, 0xf8, //0x000043b7 movq %rdi, %r8 + 0x48, 0x8b, 0x5d, 0xd0, //0x000043ba movq $-48(%rbp), %rbx + 0x44, 0x89, 0xfa, //0x000043be movl %r15d, %edx + //0x000043c1 LBB1_1017 + 0x3c, 0x0a, //0x000043c1 cmpb $10, %al + 0x0f, 0x84, 0xe3, 0xfe, 0xff, 0xff, //0x000043c3 je LBB1_1003 + 0x3c, 0x0d, //0x000043c9 cmpb $13, %al + 0x0f, 0x84, 0xdb, 0xfe, 0xff, 0xff, //0x000043cb je LBB1_1003 + 0xe9, 0xda, 0x01, 0x00, 0x00, //0x000043d1 jmp LBB1_1057 + //0x000043d6 LBB1_1019 + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x000043d6 movl $2, %r11d + 0x49, 0x89, 0xf8, //0x000043dc movq %rdi, %r8 + 0xe9, 0xc2, 0xf8, 0xff, 0xff, //0x000043df jmp LBB1_903 + //0x000043e4 LBB1_1020 + 0x49, 0x89, 0xf8, //0x000043e4 movq %rdi, %r8 + 0xe9, 0xf4, 0x01, 0x00, 0x00, //0x000043e7 jmp LBB1_1060 + //0x000043ec LBB1_1025 + 0x41, 0x89, 0xd7, //0x000043ec movl %edx, %r15d + 0x41, 0xbb, 0x02, 0x00, 0x00, 0x00, //0x000043ef movl $2, %r11d + 0xe9, 0xac, 0xf8, 0xff, 0xff, //0x000043f5 jmp LBB1_903 + //0x000043fa LBB1_1045 + 0x4c, 0x89, 0xc1, //0x000043fa movq %r8, %rcx + 0x49, 0x89, 0xcd, //0x000043fd movq %rcx, %r13 + 0x48, 0x39, 0xd9, //0x00004400 cmpq %rbx, %rcx + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x00004403 jb LBB1_1029 + 0xe9, 0xfd, 0x01, 0x00, 0x00, //0x00004409 jmp LBB1_1063 + //0x0000440e LBB1_1027 + 0x49, 0x89, 0xc8, //0x0000440e movq %rcx, %r8 + 0x49, 0x89, 0xcd, //0x00004411 movq %rcx, %r13 + 0x48, 0x39, 0xd9, //0x00004414 cmpq %rbx, %rcx + 0x0f, 0x83, 0xee, 0x01, 0x00, 0x00, //0x00004417 jae LBB1_1063 + //0x0000441d LBB1_1029 + 0x4d, 0x8d, 0x45, 0x01, //0x0000441d leaq $1(%r13), %r8 + 0x41, 0x0f, 0xb6, 0x4d, 0x00, //0x00004421 movzbl (%r13), %ecx + 0x80, 0xf9, 0x5c, //0x00004426 cmpb $92, %cl + 0x0f, 0x85, 0xe4, 0x00, 0x00, 0x00, //0x00004429 jne LBB1_1042 + 0x49, 0x8d, 0x4d, 0x02, //0x0000442f leaq $2(%r13), %rcx + 0x48, 0x39, 0xd9, //0x00004433 cmpq %rbx, %rcx + 0x0f, 0x87, 0x74, 0x02, 0x00, 0x00, //0x00004436 ja LBB1_1080 + 0x41, 0x0f, 0xb6, 0x00, //0x0000443c movzbl (%r8), %eax + 0x3c, 0x6e, //0x00004440 cmpb $110, %al + 0x0f, 0x84, 0xc6, 0xff, 0xff, 0xff, //0x00004442 je LBB1_1027 + 0x3c, 0x72, //0x00004448 cmpb $114, %al + 0x0f, 0x84, 0xbe, 0xff, 0xff, 0xff, //0x0000444a je LBB1_1027 + 0x3c, 0x75, //0x00004450 cmpb $117, %al + 0x0f, 0x85, 0x09, 0xf5, 0xff, 0xff, //0x00004452 jne LBB1_1102 + 0x48, 0x89, 0xd8, //0x00004458 movq %rbx, %rax + 0x48, 0x29, 0xc8, //0x0000445b subq %rcx, %rax + 0x48, 0x83, 0xf8, 0x04, //0x0000445e cmpq $4, %rax + 0x0f, 0x8c, 0xf9, 0xf4, 0xff, 0xff, //0x00004462 jl LBB1_1102 + 0x8b, 0x11, //0x00004468 movl (%rcx), %edx + 0x89, 0xd6, //0x0000446a movl %edx, %esi + 0xf7, 0xd6, //0x0000446c notl %esi + 0x8d, 0x82, 0xd0, 0xcf, 0xcf, 0xcf, //0x0000446e leal $-808464432(%rdx), %eax + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x00004474 andl $-2139062144, %esi + 0x85, 0xc6, //0x0000447a testl %eax, %esi + 0x0f, 0x85, 0xdf, 0xf4, 0xff, 0xff, //0x0000447c jne LBB1_1102 + 0x8d, 0x82, 0x19, 0x19, 0x19, 0x19, //0x00004482 leal $421075225(%rdx), %eax + 0x09, 0xd0, //0x00004488 orl %edx, %eax + 0xa9, 0x80, 0x80, 0x80, 0x80, //0x0000448a testl $-2139062144, %eax + 0x0f, 0x85, 0xcc, 0xf4, 0xff, 0xff, //0x0000448f jne LBB1_1102 + 0x89, 0xd0, //0x00004495 movl %edx, %eax + 0x25, 0x7f, 0x7f, 0x7f, 0x7f, //0x00004497 andl $2139062143, %eax + 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, //0x0000449c movl $-1061109568, %edi + 0x29, 0xc7, //0x000044a1 subl %eax, %edi + 0x8d, 0x98, 0x46, 0x46, 0x46, 0x46, //0x000044a3 leal $1179010630(%rax), %ebx + 0x21, 0xf7, //0x000044a9 andl %esi, %edi + 0x85, 0xdf, //0x000044ab testl %ebx, %edi + 0x0f, 0x85, 0xac, 0x04, 0x00, 0x00, //0x000044ad jne LBB1_1131 + 0xbf, 0xe0, 0xe0, 0xe0, 0xe0, //0x000044b3 movl $-522133280, %edi + 0x29, 0xc7, //0x000044b8 subl %eax, %edi + 0x05, 0x39, 0x39, 0x39, 0x39, //0x000044ba addl $960051513, %eax + 0x21, 0xfe, //0x000044bf andl %edi, %esi + 0x85, 0xc6, //0x000044c1 testl %eax, %esi + 0x48, 0x8b, 0x5d, 0xd0, //0x000044c3 movq $-48(%rbp), %rbx + 0x0f, 0x85, 0x94, 0xf4, 0xff, 0xff, //0x000044c7 jne LBB1_1102 + 0x0f, 0xca, //0x000044cd bswapl %edx + 0x89, 0xd0, //0x000044cf movl %edx, %eax + 0xc1, 0xe8, 0x04, //0x000044d1 shrl $4, %eax + 0xf7, 0xd0, //0x000044d4 notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x000044d6 andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x000044db leal (%rax,%rax,8), %eax + 0x81, 0xe2, 0x0f, 0x0f, 0x0f, 0x0f, //0x000044de andl $252645135, %edx + 0x01, 0xc2, //0x000044e4 addl %eax, %edx + 0x89, 0xd1, //0x000044e6 movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x000044e8 shrl $4, %ecx + 0x09, 0xd1, //0x000044eb orl %edx, %ecx + 0x89, 0xc8, //0x000044ed movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x000044ef shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x000044f2 andl $65280, %eax + 0x89, 0xca, //0x000044f7 movl %ecx, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x000044f9 andl $128, %edx + 0x09, 0xc2, //0x000044ff orl %eax, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00004501 je LBB1_1041 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x00004507 movl $255, %ecx + //0x0000450c LBB1_1041 + 0x49, 0x83, 0xc5, 0x06, //0x0000450c addq $6, %r13 + 0x4d, 0x89, 0xe8, //0x00004510 movq %r13, %r8 + //0x00004513 LBB1_1042 + 0x80, 0xf9, 0x0a, //0x00004513 cmpb $10, %cl + 0x0f, 0x84, 0xde, 0xfe, 0xff, 0xff, //0x00004516 je LBB1_1045 + 0x80, 0xf9, 0x0d, //0x0000451c cmpb $13, %cl + 0x0f, 0x84, 0xd5, 0xfe, 0xff, 0xff, //0x0000451f je LBB1_1045 + 0x80, 0xf9, 0x3d, //0x00004525 cmpb $61, %cl + 0x0f, 0x85, 0x42, 0xf4, 0xff, 0xff, //0x00004528 jne LBB1_856 + 0x41, 0x83, 0xfe, 0x03, //0x0000452e cmpl $3, %r14d + 0x0f, 0x84, 0x38, 0xf4, 0xff, 0xff, //0x00004532 je LBB1_856 + 0x4c, 0x39, 0xc3, //0x00004538 cmpq %r8, %rbx + 0x0f, 0x87, 0x9d, 0x01, 0x00, 0x00, //0x0000453b ja LBB1_1085 + 0xe9, 0xc5, 0x00, 0x00, 0x00, //0x00004541 jmp LBB1_1063 + //0x00004546 LBB1_1047 + 0x48, 0xff, 0xc1, //0x00004546 incq %rcx + 0x48, 0xff, 0xc2, //0x00004549 incq %rdx + 0x48, 0xff, 0xcf, //0x0000454c decq %rdi + 0x48, 0xff, 0xce, //0x0000454f decq %rsi + 0x0f, 0x84, 0x3e, 0x00, 0x00, 0x00, //0x00004552 je LBB1_993 + //0x00004558 LBB1_1048 + 0x0f, 0xb6, 0x41, 0xff, //0x00004558 movzbl $-1(%rcx), %eax + 0x3c, 0x0a, //0x0000455c cmpb $10, %al + 0x0f, 0x84, 0xe2, 0xff, 0xff, 0xff, //0x0000455e je LBB1_1047 + 0x3c, 0x0d, //0x00004564 cmpb $13, %al + 0x0f, 0x84, 0xda, 0xff, 0xff, 0xff, //0x00004566 je LBB1_1047 + 0x3c, 0x3d, //0x0000456c cmpb $61, %al + 0x0f, 0x85, 0xa1, 0x02, 0x00, 0x00, //0x0000456e jne LBB1_1103 + 0x49, 0x89, 0xc8, //0x00004574 movq %rcx, %r8 + 0x41, 0x83, 0xfe, 0x04, //0x00004577 cmpl $4, %r14d + 0x0f, 0x84, 0xef, 0xf3, 0xff, 0xff, //0x0000457b je LBB1_856 + 0x48, 0x39, 0xcb, //0x00004581 cmpq %rcx, %rbx + 0x0f, 0x87, 0x02, 0x01, 0x00, 0x00, //0x00004584 ja LBB1_1076 + 0x49, 0x89, 0xc8, //0x0000458a movq %rcx, %r8 + 0x48, 0x8b, 0x5d, 0xd0, //0x0000458d movq $-48(%rbp), %rbx + 0xe9, 0x75, 0x00, 0x00, 0x00, //0x00004591 jmp LBB1_1063 + //0x00004596 LBB1_993 + 0x49, 0x89, 0xd8, //0x00004596 movq %rbx, %r8 + 0xe9, 0x6d, 0x00, 0x00, 0x00, //0x00004599 jmp LBB1_1063 + //0x0000459e LBB1_1054 + 0x80, 0xf9, 0x2f, //0x0000459e cmpb $47, %cl + 0x0f, 0x85, 0x02, 0x00, 0x00, 0x00, //0x000045a1 jne LBB1_1056 + 0x89, 0xc8, //0x000045a7 movl %ecx, %eax + //0x000045a9 LBB1_1056 + 0x4d, 0x89, 0xd0, //0x000045a9 movq %r10, %r8 + 0x48, 0x8b, 0x5d, 0xd0, //0x000045ac movq $-48(%rbp), %rbx + //0x000045b0 LBB1_1057 + 0x0f, 0xb6, 0xc8, //0x000045b0 movzbl %al, %ecx + 0x48, 0x8b, 0x55, 0xc0, //0x000045b3 movq $-64(%rbp), %rdx + 0x0f, 0xb6, 0x0c, 0x0a, //0x000045b7 movzbl (%rdx,%rcx), %ecx + 0x81, 0xf9, 0xff, 0x00, 0x00, 0x00, //0x000045bb cmpl $255, %ecx + 0x0f, 0x84, 0xae, 0x00, 0x00, 0x00, //0x000045c1 je LBB1_1070 + 0x44, 0x89, 0xfa, //0x000045c7 movl %r15d, %edx + //0x000045ca LBB1_1059 + 0xc1, 0xe2, 0x06, //0x000045ca shll $6, %edx + 0x09, 0xca, //0x000045cd orl %ecx, %edx + 0x41, 0xbb, 0x04, 0x00, 0x00, 0x00, //0x000045cf movl $4, %r11d + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000045d5 .p2align 4, 0x90 + //0x000045e0 LBB1_1060 + 0x41, 0x89, 0xd7, //0x000045e0 movl %edx, %r15d + 0x45, 0x85, 0xe4, //0x000045e3 testl %r12d, %r12d + 0x0f, 0x94, 0xc0, //0x000045e6 sete %al + 0x41, 0x83, 0xfb, 0x01, //0x000045e9 cmpl $1, %r11d + 0x0f, 0x94, 0xc1, //0x000045ed sete %cl + 0x49, 0x39, 0xd8, //0x000045f0 cmpq %rbx, %r8 + 0x0f, 0x82, 0x12, 0x00, 0x00, 0x00, //0x000045f3 jb LBB1_1063 + 0x41, 0x83, 0xfb, 0x04, //0x000045f9 cmpl $4, %r11d + 0x0f, 0x84, 0x08, 0x00, 0x00, 0x00, //0x000045fd je LBB1_1063 + 0x08, 0xc8, //0x00004603 orb %cl, %al + 0x0f, 0x85, 0x65, 0xf3, 0xff, 0xff, //0x00004605 jne LBB1_856 + //0x0000460b LBB1_1063 + 0xb0, 0x04, //0x0000460b movb $4, %al + 0x44, 0x28, 0xd8, //0x0000460d subb %r11b, %al + 0x0f, 0xb6, 0xc0, //0x00004610 movzbl %al, %eax + 0x01, 0xc0, //0x00004613 addl %eax, %eax + 0x8d, 0x0c, 0x40, //0x00004615 leal (%rax,%rax,2), %ecx + 0x44, 0x89, 0xfa, //0x00004618 movl %r15d, %edx + 0xd3, 0xe2, //0x0000461b shll %cl, %edx + 0x41, 0x83, 0xfb, 0x02, //0x0000461d cmpl $2, %r11d + 0x0f, 0x84, 0x22, 0x00, 0x00, 0x00, //0x00004621 je LBB1_1068 + 0x41, 0x83, 0xfb, 0x03, //0x00004627 cmpl $3, %r11d + 0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x0000462b je LBB1_1067 + 0x41, 0x83, 0xfb, 0x04, //0x00004631 cmpl $4, %r11d + 0x48, 0x8b, 0x4d, 0xb0, //0x00004635 movq $-80(%rbp), %rcx + 0x0f, 0x85, 0x13, 0x00, 0x00, 0x00, //0x00004639 jne LBB1_1069 + 0x88, 0x51, 0x02, //0x0000463f movb %dl, $2(%rcx) + //0x00004642 LBB1_1067 + 0x48, 0x8b, 0x45, 0xb0, //0x00004642 movq $-80(%rbp), %rax + 0x88, 0x70, 0x01, //0x00004646 movb %dh, $1(%rax) + //0x00004649 LBB1_1068 + 0xc1, 0xea, 0x10, //0x00004649 shrl $16, %edx + 0x48, 0x8b, 0x4d, 0xb0, //0x0000464c movq $-80(%rbp), %rcx + 0x88, 0x11, //0x00004650 movb %dl, (%rcx) + //0x00004652 LBB1_1069 + 0x44, 0x89, 0xd8, //0x00004652 movl %r11d, %eax + 0x48, 0x8d, 0x4c, 0x01, 0xff, //0x00004655 leaq $-1(%rcx,%rax), %rcx + 0x48, 0x89, 0x4d, 0xb0, //0x0000465a movq %rcx, $-80(%rbp) + 0x4d, 0x89, 0xc1, //0x0000465e movq %r8, %r9 + 0x31, 0xc9, //0x00004661 xorl %ecx, %ecx + 0x44, 0x8b, 0x75, 0xbc, //0x00004663 movl $-68(%rbp), %r14d + 0x48, 0x85, 0xc9, //0x00004667 testq %rcx, %rcx + 0x0f, 0x84, 0x1b, 0xf3, 0xff, 0xff, //0x0000466a je LBB1_857 + 0xe9, 0x2b, 0x03, 0x00, 0x00, //0x00004670 jmp LBB1_1137 + //0x00004675 LBB1_1070 + 0x41, 0xbb, 0x03, 0x00, 0x00, 0x00, //0x00004675 movl $3, %r11d + 0xe9, 0x26, 0xf6, 0xff, 0xff, //0x0000467b jmp LBB1_903 + //0x00004680 LBB1_1075 + 0x48, 0xff, 0xc2, //0x00004680 incq %rdx + 0x48, 0xff, 0xcf, //0x00004683 decq %rdi + 0x0f, 0x84, 0x94, 0x01, 0x00, 0x00, //0x00004686 je LBB1_1105 + //0x0000468c LBB1_1076 + 0x0f, 0xb6, 0x42, 0xff, //0x0000468c movzbl $-1(%rdx), %eax + 0x3c, 0x0a, //0x00004690 cmpb $10, %al + 0x0f, 0x84, 0xe8, 0xff, 0xff, 0xff, //0x00004692 je LBB1_1075 + 0x3c, 0x0d, //0x00004698 cmpb $13, %al + 0x0f, 0x84, 0xe0, 0xff, 0xff, 0xff, //0x0000469a je LBB1_1075 + 0x3c, 0x3d, //0x000046a0 cmpb $61, %al + 0x0f, 0x85, 0xc3, 0x02, 0x00, 0x00, //0x000046a2 jne LBB1_1110 + 0x49, 0x89, 0xd0, //0x000046a8 movq %rdx, %r8 + 0xe9, 0xb2, 0x02, 0x00, 0x00, //0x000046ab jmp LBB1_1132 + //0x000046b0 LBB1_1080 + 0x4d, 0x89, 0xc5, //0x000046b0 movq %r8, %r13 + //0x000046b3 LBB1_1026 + 0x4d, 0x89, 0xe8, //0x000046b3 movq %r13, %r8 + 0xe9, 0xb5, 0xf2, 0xff, 0xff, //0x000046b6 jmp LBB1_856 + //0x000046bb LBB1_1101 + 0x4c, 0x89, 0xe9, //0x000046bb movq %r13, %rcx + 0x49, 0x89, 0xc8, //0x000046be movq %rcx, %r8 + 0x48, 0x39, 0xd9, //0x000046c1 cmpq %rbx, %rcx + 0x0f, 0x82, 0x14, 0x00, 0x00, 0x00, //0x000046c4 jb LBB1_1085 + 0xe9, 0x87, 0xf9, 0xff, 0xff, //0x000046ca jmp LBB1_994 + //0x000046cf LBB1_1083 + 0x49, 0x89, 0xcd, //0x000046cf movq %rcx, %r13 + 0x49, 0x89, 0xc8, //0x000046d2 movq %rcx, %r8 + 0x48, 0x39, 0xd9, //0x000046d5 cmpq %rbx, %rcx + 0x0f, 0x83, 0x78, 0xf9, 0xff, 0xff, //0x000046d8 jae LBB1_994 + //0x000046de LBB1_1085 + 0x4d, 0x8d, 0x68, 0x01, //0x000046de leaq $1(%r8), %r13 + 0x41, 0x0f, 0xb6, 0x08, //0x000046e2 movzbl (%r8), %ecx + 0x80, 0xf9, 0x5c, //0x000046e6 cmpb $92, %cl + 0x0f, 0x85, 0xe5, 0x00, 0x00, 0x00, //0x000046e9 jne LBB1_1098 + 0x49, 0x8d, 0x48, 0x02, //0x000046ef leaq $2(%r8), %rcx + 0x48, 0x39, 0xd9, //0x000046f3 cmpq %rbx, %rcx + 0x0f, 0x87, 0xb7, 0xff, 0xff, 0xff, //0x000046f6 ja LBB1_1026 + 0x41, 0x0f, 0xb6, 0x45, 0x00, //0x000046fc movzbl (%r13), %eax + 0x3c, 0x6e, //0x00004701 cmpb $110, %al + 0x0f, 0x84, 0xc6, 0xff, 0xff, 0xff, //0x00004703 je LBB1_1083 + 0x3c, 0x72, //0x00004709 cmpb $114, %al + 0x0f, 0x84, 0xbe, 0xff, 0xff, 0xff, //0x0000470b je LBB1_1083 + 0x3c, 0x75, //0x00004711 cmpb $117, %al + 0x0f, 0x85, 0x48, 0xf2, 0xff, 0xff, //0x00004713 jne LBB1_1102 + 0x48, 0x89, 0xd8, //0x00004719 movq %rbx, %rax + 0x48, 0x29, 0xc8, //0x0000471c subq %rcx, %rax + 0x48, 0x83, 0xf8, 0x04, //0x0000471f cmpq $4, %rax + 0x0f, 0x8c, 0x36, 0x02, 0x00, 0x00, //0x00004723 jl LBB1_1131 + 0x8b, 0x11, //0x00004729 movl (%rcx), %edx + 0x89, 0xd6, //0x0000472b movl %edx, %esi + 0xf7, 0xd6, //0x0000472d notl %esi + 0x8d, 0x82, 0xd0, 0xcf, 0xcf, 0xcf, //0x0000472f leal $-808464432(%rdx), %eax + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x00004735 andl $-2139062144, %esi + 0x85, 0xc6, //0x0000473b testl %eax, %esi + 0x0f, 0x85, 0x1c, 0x02, 0x00, 0x00, //0x0000473d jne LBB1_1131 + 0x8d, 0x82, 0x19, 0x19, 0x19, 0x19, //0x00004743 leal $421075225(%rdx), %eax + 0x09, 0xd0, //0x00004749 orl %edx, %eax + 0xa9, 0x80, 0x80, 0x80, 0x80, //0x0000474b testl $-2139062144, %eax + 0x0f, 0x85, 0x09, 0x02, 0x00, 0x00, //0x00004750 jne LBB1_1131 + 0x89, 0xd0, //0x00004756 movl %edx, %eax + 0x25, 0x7f, 0x7f, 0x7f, 0x7f, //0x00004758 andl $2139062143, %eax + 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, //0x0000475d movl $-1061109568, %edi + 0x29, 0xc7, //0x00004762 subl %eax, %edi + 0x8d, 0x98, 0x46, 0x46, 0x46, 0x46, //0x00004764 leal $1179010630(%rax), %ebx + 0x21, 0xf7, //0x0000476a andl %esi, %edi + 0x85, 0xdf, //0x0000476c testl %ebx, %edi + 0x0f, 0x85, 0xeb, 0x01, 0x00, 0x00, //0x0000476e jne LBB1_1131 + 0xbf, 0xe0, 0xe0, 0xe0, 0xe0, //0x00004774 movl $-522133280, %edi + 0x29, 0xc7, //0x00004779 subl %eax, %edi + 0x05, 0x39, 0x39, 0x39, 0x39, //0x0000477b addl $960051513, %eax + 0x21, 0xfe, //0x00004780 andl %edi, %esi + 0x85, 0xc6, //0x00004782 testl %eax, %esi + 0x0f, 0x85, 0xd5, 0x01, 0x00, 0x00, //0x00004784 jne LBB1_1131 + 0x0f, 0xca, //0x0000478a bswapl %edx + 0x89, 0xd0, //0x0000478c movl %edx, %eax + 0xc1, 0xe8, 0x04, //0x0000478e shrl $4, %eax + 0xf7, 0xd0, //0x00004791 notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x00004793 andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x00004798 leal (%rax,%rax,8), %eax + 0x81, 0xe2, 0x0f, 0x0f, 0x0f, 0x0f, //0x0000479b andl $252645135, %edx + 0x01, 0xc2, //0x000047a1 addl %eax, %edx + 0x89, 0xd1, //0x000047a3 movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x000047a5 shrl $4, %ecx + 0x09, 0xd1, //0x000047a8 orl %edx, %ecx + 0x89, 0xc8, //0x000047aa movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x000047ac shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x000047af andl $65280, %eax + 0x89, 0xca, //0x000047b4 movl %ecx, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x000047b6 andl $128, %edx + 0x09, 0xc2, //0x000047bc orl %eax, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x000047be je LBB1_1097 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x000047c4 movl $255, %ecx + //0x000047c9 LBB1_1097 + 0x49, 0x83, 0xc0, 0x06, //0x000047c9 addq $6, %r8 + 0x4d, 0x89, 0xc5, //0x000047cd movq %r8, %r13 + 0x48, 0x8b, 0x5d, 0xd0, //0x000047d0 movq $-48(%rbp), %rbx + //0x000047d4 LBB1_1098 + 0x80, 0xf9, 0x0a, //0x000047d4 cmpb $10, %cl + 0x0f, 0x84, 0xde, 0xfe, 0xff, 0xff, //0x000047d7 je LBB1_1101 + 0x80, 0xf9, 0x0d, //0x000047dd cmpb $13, %cl + 0x0f, 0x84, 0xd5, 0xfe, 0xff, 0xff, //0x000047e0 je LBB1_1101 + 0x80, 0xf9, 0x3d, //0x000047e6 cmpb $61, %cl + 0x0f, 0x85, 0x88, 0x01, 0x00, 0x00, //0x000047e9 jne LBB1_1111 + 0x4d, 0x89, 0xe8, //0x000047ef movq %r13, %r8 + 0x41, 0x83, 0xfe, 0x04, //0x000047f2 cmpl $4, %r14d + 0x48, 0x8b, 0x5d, 0xd0, //0x000047f6 movq $-48(%rbp), %rbx + 0x0f, 0x84, 0x70, 0xf1, 0xff, 0xff, //0x000047fa je LBB1_856 + 0x4c, 0x39, 0xeb, //0x00004800 cmpq %r13, %rbx + 0x0f, 0x87, 0x48, 0x00, 0x00, 0x00, //0x00004803 ja LBB1_1114 + 0x4d, 0x89, 0xe8, //0x00004809 movq %r13, %r8 + 0x48, 0x8b, 0x5d, 0xd0, //0x0000480c movq $-48(%rbp), %rbx + 0xe9, 0xf6, 0xfd, 0xff, 0xff, //0x00004810 jmp LBB1_1063 + //0x00004815 LBB1_1103 + 0x48, 0x89, 0xca, //0x00004815 movq %rcx, %rdx + 0x49, 0x89, 0xc8, //0x00004818 movq %rcx, %r8 + 0xe9, 0x50, 0xf1, 0xff, 0xff, //0x0000481b jmp LBB1_856 + //0x00004820 LBB1_1105 + 0x48, 0x8b, 0x5d, 0xd0, //0x00004820 movq $-48(%rbp), %rbx + 0x49, 0x89, 0xd8, //0x00004824 movq %rbx, %r8 + 0xe9, 0xdf, 0xfd, 0xff, 0xff, //0x00004827 jmp LBB1_1063 + //0x0000482c LBB1_1130 + 0x4c, 0x89, 0xc1, //0x0000482c movq %r8, %rcx + 0x49, 0x89, 0xcd, //0x0000482f movq %rcx, %r13 + 0x48, 0x3b, 0x4d, 0xd0, //0x00004832 cmpq $-48(%rbp), %rcx + 0x0f, 0x82, 0x15, 0x00, 0x00, 0x00, //0x00004836 jb LBB1_1114 + 0xe9, 0x3e, 0x01, 0x00, 0x00, //0x0000483c jmp LBB1_1133 + //0x00004841 LBB1_1112 + 0x49, 0x89, 0xc8, //0x00004841 movq %rcx, %r8 + 0x49, 0x89, 0xcd, //0x00004844 movq %rcx, %r13 + 0x48, 0x3b, 0x4d, 0xd0, //0x00004847 cmpq $-48(%rbp), %rcx + 0x0f, 0x83, 0x2e, 0x01, 0x00, 0x00, //0x0000484b jae LBB1_1133 + //0x00004851 LBB1_1114 + 0x4d, 0x8d, 0x45, 0x01, //0x00004851 leaq $1(%r13), %r8 + 0x41, 0x0f, 0xb6, 0x4d, 0x00, //0x00004855 movzbl (%r13), %ecx + 0x80, 0xf9, 0x5c, //0x0000485a cmpb $92, %cl + 0x0f, 0x85, 0xe2, 0x00, 0x00, 0x00, //0x0000485d jne LBB1_1127 + 0x49, 0x8d, 0x4d, 0x02, //0x00004863 leaq $2(%r13), %rcx + 0x48, 0x3b, 0x4d, 0xd0, //0x00004867 cmpq $-48(%rbp), %rcx + 0x0f, 0x87, 0x17, 0x01, 0x00, 0x00, //0x0000486b ja LBB1_1135 + 0x41, 0x0f, 0xb6, 0x00, //0x00004871 movzbl (%r8), %eax + 0x3c, 0x6e, //0x00004875 cmpb $110, %al + 0x0f, 0x84, 0xc4, 0xff, 0xff, 0xff, //0x00004877 je LBB1_1112 + 0x3c, 0x72, //0x0000487d cmpb $114, %al + 0x0f, 0x84, 0xbc, 0xff, 0xff, 0xff, //0x0000487f je LBB1_1112 + 0x3c, 0x75, //0x00004885 cmpb $117, %al + 0x0f, 0x85, 0x07, 0x01, 0x00, 0x00, //0x00004887 jne LBB1_1136 + 0x48, 0x8b, 0x45, 0xd0, //0x0000488d movq $-48(%rbp), %rax + 0x48, 0x29, 0xc8, //0x00004891 subq %rcx, %rax + 0x48, 0x83, 0xf8, 0x04, //0x00004894 cmpq $4, %rax + 0x0f, 0x8c, 0xc1, 0x00, 0x00, 0x00, //0x00004898 jl LBB1_1131 + 0x8b, 0x11, //0x0000489e movl (%rcx), %edx + 0x89, 0xd6, //0x000048a0 movl %edx, %esi + 0xf7, 0xd6, //0x000048a2 notl %esi + 0x8d, 0x82, 0xd0, 0xcf, 0xcf, 0xcf, //0x000048a4 leal $-808464432(%rdx), %eax + 0x81, 0xe6, 0x80, 0x80, 0x80, 0x80, //0x000048aa andl $-2139062144, %esi + 0x85, 0xc6, //0x000048b0 testl %eax, %esi + 0x0f, 0x85, 0xa7, 0x00, 0x00, 0x00, //0x000048b2 jne LBB1_1131 + 0x8d, 0x82, 0x19, 0x19, 0x19, 0x19, //0x000048b8 leal $421075225(%rdx), %eax + 0x09, 0xd0, //0x000048be orl %edx, %eax + 0xa9, 0x80, 0x80, 0x80, 0x80, //0x000048c0 testl $-2139062144, %eax + 0x0f, 0x85, 0x94, 0x00, 0x00, 0x00, //0x000048c5 jne LBB1_1131 + 0x89, 0xd0, //0x000048cb movl %edx, %eax + 0x25, 0x7f, 0x7f, 0x7f, 0x7f, //0x000048cd andl $2139062143, %eax + 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, //0x000048d2 movl $-1061109568, %edi + 0x29, 0xc7, //0x000048d7 subl %eax, %edi + 0x8d, 0x98, 0x46, 0x46, 0x46, 0x46, //0x000048d9 leal $1179010630(%rax), %ebx + 0x21, 0xf7, //0x000048df andl %esi, %edi + 0x85, 0xdf, //0x000048e1 testl %ebx, %edi + 0x0f, 0x85, 0x76, 0x00, 0x00, 0x00, //0x000048e3 jne LBB1_1131 + 0xbf, 0xe0, 0xe0, 0xe0, 0xe0, //0x000048e9 movl $-522133280, %edi + 0x29, 0xc7, //0x000048ee subl %eax, %edi + 0x05, 0x39, 0x39, 0x39, 0x39, //0x000048f0 addl $960051513, %eax + 0x21, 0xfe, //0x000048f5 andl %edi, %esi + 0x85, 0xc6, //0x000048f7 testl %eax, %esi + 0x0f, 0x85, 0x60, 0x00, 0x00, 0x00, //0x000048f9 jne LBB1_1131 + 0x0f, 0xca, //0x000048ff bswapl %edx + 0x89, 0xd0, //0x00004901 movl %edx, %eax + 0xc1, 0xe8, 0x04, //0x00004903 shrl $4, %eax + 0xf7, 0xd0, //0x00004906 notl %eax + 0x25, 0x01, 0x01, 0x01, 0x01, //0x00004908 andl $16843009, %eax + 0x8d, 0x04, 0xc0, //0x0000490d leal (%rax,%rax,8), %eax + 0x81, 0xe2, 0x0f, 0x0f, 0x0f, 0x0f, //0x00004910 andl $252645135, %edx + 0x01, 0xc2, //0x00004916 addl %eax, %edx + 0x89, 0xd1, //0x00004918 movl %edx, %ecx + 0xc1, 0xe9, 0x04, //0x0000491a shrl $4, %ecx + 0x09, 0xd1, //0x0000491d orl %edx, %ecx + 0x89, 0xc8, //0x0000491f movl %ecx, %eax + 0xc1, 0xe8, 0x08, //0x00004921 shrl $8, %eax + 0x25, 0x00, 0xff, 0x00, 0x00, //0x00004924 andl $65280, %eax + 0x89, 0xca, //0x00004929 movl %ecx, %edx + 0x81, 0xe2, 0x80, 0x00, 0x00, 0x00, //0x0000492b andl $128, %edx + 0x09, 0xc2, //0x00004931 orl %eax, %edx + 0x0f, 0x84, 0x05, 0x00, 0x00, 0x00, //0x00004933 je LBB1_1126 + 0xb9, 0xff, 0x00, 0x00, 0x00, //0x00004939 movl $255, %ecx + //0x0000493e LBB1_1126 + 0x49, 0x83, 0xc5, 0x06, //0x0000493e addq $6, %r13 + 0x4d, 0x89, 0xe8, //0x00004942 movq %r13, %r8 + //0x00004945 LBB1_1127 + 0x80, 0xf9, 0x0a, //0x00004945 cmpb $10, %cl + 0x0f, 0x84, 0xde, 0xfe, 0xff, 0xff, //0x00004948 je LBB1_1130 + 0x80, 0xf9, 0x0d, //0x0000494e cmpb $13, %cl + 0x0f, 0x84, 0xd5, 0xfe, 0xff, 0xff, //0x00004951 je LBB1_1130 + 0x80, 0xf9, 0x3d, //0x00004957 cmpb $61, %cl + 0xe9, 0x03, 0x00, 0x00, 0x00, //0x0000495a jmp LBB1_1132 + //0x0000495f LBB1_1131 + 0x49, 0x89, 0xc8, //0x0000495f movq %rcx, %r8 + //0x00004962 LBB1_1132 + 0x48, 0x8b, 0x5d, 0xd0, //0x00004962 movq $-48(%rbp), %rbx + 0xe9, 0x05, 0xf0, 0xff, 0xff, //0x00004966 jmp LBB1_856 + //0x0000496b LBB1_1110 + 0x48, 0x8b, 0x5d, 0xd0, //0x0000496b movq $-48(%rbp), %rbx + 0x49, 0x89, 0xd0, //0x0000496f movq %rdx, %r8 + 0xe9, 0xf9, 0xef, 0xff, 0xff, //0x00004972 jmp LBB1_856 + //0x00004977 LBB1_1111 + 0x4d, 0x89, 0xe8, //0x00004977 movq %r13, %r8 + 0xe9, 0xe3, 0xff, 0xff, 0xff, //0x0000497a jmp LBB1_1132 + //0x0000497f LBB1_1133 + 0x48, 0x8b, 0x5d, 0xd0, //0x0000497f movq $-48(%rbp), %rbx + 0xe9, 0x83, 0xfc, 0xff, 0xff, //0x00004983 jmp LBB1_1063 + //0x00004988 LBB1_1135 + 0x4d, 0x89, 0xc5, //0x00004988 movq %r8, %r13 + 0x48, 0x8b, 0x5d, 0xd0, //0x0000498b movq $-48(%rbp), %rbx + 0xe9, 0xdc, 0xef, 0xff, 0xff, //0x0000498f jmp LBB1_856 + //0x00004994 LBB1_1136 + 0x48, 0x8b, 0x5d, 0xd0, //0x00004994 movq $-48(%rbp), %rbx + 0x49, 0x89, 0xc8, //0x00004998 movq %rcx, %r8 + 0xe9, 0xd0, 0xef, 0xff, 0xff, //0x0000499b jmp LBB1_856 + //0x000049a0 LBB1_1137 + 0x48, 0x8b, 0x45, 0xa8, //0x000049a0 movq $-88(%rbp), %rax + 0x4c, 0x29, 0xc8, //0x000049a4 subq %r9, %rax + 0x48, 0x29, 0xc8, //0x000049a7 subq %rcx, %rax + 0xe9, 0x19, 0x00, 0x00, 0x00, //0x000049aa jmp LBB1_1139 + //0x000049af LBB1_1138 + 0x48, 0x8b, 0x4d, 0xb0, //0x000049af movq $-80(%rbp), %rcx + 0x48, 0x2b, 0x8d, 0x78, 0xff, 0xff, 0xff, //0x000049b3 subq $-136(%rbp), %rcx + 0x48, 0x8b, 0x85, 0x70, 0xff, 0xff, 0xff, //0x000049ba movq $-144(%rbp), %rax + 0x48, 0x01, 0x48, 0x08, //0x000049c1 addq %rcx, $8(%rax) + 0x48, 0x89, 0xc8, //0x000049c5 movq %rcx, %rax + //0x000049c8 LBB1_1139 + 0x48, 0x83, 0xc4, 0x68, //0x000049c8 addq $104, %rsp + 0x5b, //0x000049cc popq %rbx + 0x41, 0x5c, //0x000049cd popq %r12 + 0x41, 0x5d, //0x000049cf popq %r13 + 0x41, 0x5e, //0x000049d1 popq %r14 + 0x41, 0x5f, //0x000049d3 popq %r15 + 0x5d, //0x000049d5 popq %rbp + 0xc5, 0xf8, 0x77, //0x000049d6 vzeroupper + 0xc3, //0x000049d9 retq + //0x000049da LBB1_1140 + 0x48, 0x8b, 0x45, 0xa8, //0x000049da movq $-88(%rbp), %rax + 0x4c, 0x29, 0xf8, //0x000049de subq %r15, %rax + 0x48, 0x29, 0xc8, //0x000049e1 subq %rcx, %rax + 0xe9, 0xdf, 0xff, 0xff, 0xff, //0x000049e4 jmp LBB1_1139 + //0x000049e9 LBB1_1141 + 0x48, 0x8b, 0x45, 0xa8, //0x000049e9 movq $-88(%rbp), %rax + 0x4c, 0x29, 0xe8, //0x000049ed subq %r13, %rax + 0x48, 0x29, 0xc8, //0x000049f0 subq %rcx, %rax + 0xe9, 0xd0, 0xff, 0xff, 0xff, //0x000049f3 jmp LBB1_1139 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000049f8 .p2align 4, 0x00 + //0x00004a00 _TabEncodeCharsetStd + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, //0x00004a00 QUAD $0x4847464544434241; QUAD $0x504f4e4d4c4b4a49 // .ascii 16, 'ABCDEFGHIJKLMNOP' + 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, //0x00004a10 QUAD $0x5857565554535251; QUAD $0x6665646362615a59 // .ascii 16, 'QRSTUVWXYZabcdef' + 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, //0x00004a20 QUAD $0x6e6d6c6b6a696867; QUAD $0x767574737271706f // .ascii 16, 'ghijklmnopqrstuv' + 0x77, 0x78, 0x79, 0x7a, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x2b, 0x2f, //0x00004a30 QUAD $0x333231307a797877; QUAD $0x2f2b393837363534 // .ascii 16, 'wxyz0123456789+/' + //0x00004a40 .p2align 4, 0x00 + //0x00004a40 _VecEncodeCharsetStd + 0x47, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xed, 0xf0, 0x41, 0x00, 0x00, //0x00004a40 QUAD $0xfcfcfcfcfcfcfc47; QUAD $0x000041f0edfcfcfc // .asciz 16, 'G\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xed\xf0A\x00\x00' + 0x47, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xed, 0xf0, 0x41, 0x00, 0x00, //0x00004a50 QUAD $0xfcfcfcfcfcfcfc47; QUAD $0x000041f0edfcfcfc // .asciz 16, 'G\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xed\xf0A\x00\x00' + //0x00004a60 .p2align 4, 0x00 + //0x00004a60 _TabEncodeCharsetURL + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, //0x00004a60 QUAD $0x4847464544434241; QUAD $0x504f4e4d4c4b4a49 // .ascii 16, 'ABCDEFGHIJKLMNOP' + 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, //0x00004a70 QUAD $0x5857565554535251; QUAD $0x6665646362615a59 // .ascii 16, 'QRSTUVWXYZabcdef' + 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, //0x00004a80 QUAD $0x6e6d6c6b6a696867; QUAD $0x767574737271706f // .ascii 16, 'ghijklmnopqrstuv' + 0x77, 0x78, 0x79, 0x7a, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x2d, 0x5f, //0x00004a90 QUAD $0x333231307a797877; QUAD $0x5f2d393837363534 // .ascii 16, 'wxyz0123456789-_' + //0x00004aa0 .p2align 4, 0x00 + //0x00004aa0 _VecEncodeCharsetURL + 0x47, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xef, 0x20, 0x41, 0x00, 0x00, //0x00004aa0 QUAD $0xfcfcfcfcfcfcfc47; QUAD $0x00004120effcfcfc // .asciz 16, 'G\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xef A\x00\x00' + 0x47, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xef, 0x20, 0x41, 0x00, 0x00, //0x00004ab0 QUAD $0xfcfcfcfcfcfcfc47; QUAD $0x00004120effcfcfc // .asciz 16, 'G\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xfc\xef A\x00\x00' + //0x00004ac0 .p2align 4, 0x00 + //0x00004ac0 _VecDecodeTableStd + 0x00, 0x00, 0x13, 0x04, 0xbf, 0xbf, 0xb9, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004ac0 QUAD $0xb9b9bfbf04130000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x13\x04\xbf\xbf\xb9\xb9\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x13, 0x04, 0xbf, 0xbf, 0xb9, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004ad0 QUAD $0xb9b9bfbf04130000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x13\x04\xbf\xbf\xb9\xb9\x00\x00\x00\x00\x00\x00\x00\x00' + 0xa8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0x54, 0x50, 0x50, 0x50, 0x54, //0x00004ae0 QUAD $0xf8f8f8f8f8f8f8a8; QUAD $0x5450505054f0f8f8 // .ascii 16, '\xa8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf0TPPPT' + 0xa8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0x54, 0x50, 0x50, 0x50, 0x54, //0x00004af0 QUAD $0xf8f8f8f8f8f8f8a8; QUAD $0x5450505054f0f8f8 // .ascii 16, '\xa8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf0TPPPT' + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00004b00 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .ascii 16, '////////////////' + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, //0x00004b10 QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .ascii 16, '////////////////' + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, //0x00004b20 QUAD $0x1010101010101010; QUAD $0x1010101010101010 // .ascii 16, '\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10' + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, //0x00004b30 QUAD $0x1010101010101010; QUAD $0x1010101010101010 // .ascii 16, '\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10' + //0x00004b40 .p2align 4, 0x00 + //0x00004b40 _VecDecodeCharsetStd + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004b40 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004b50 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3e, 0xff, 0xff, 0xff, 0x3f, //0x00004b60 QUAD $0xffffffffffffffff; QUAD $0x3fffffff3effffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff>\xff\xff\xff?' + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004b70 QUAD $0x3b3a393837363534; QUAD $0xffffffffffff3d3c // .ascii 16, '456789:;<=\xff\xff\xff\xff\xff\xff' + 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, //0x00004b80 QUAD $0x06050403020100ff; QUAD $0x0e0d0c0b0a090807 // .ascii 16, '\xff\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e' + 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004b90 QUAD $0x161514131211100f; QUAD $0xffffffffff191817 // .ascii 16, '\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\xff\xff\xff\xff\xff' + 0xff, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, //0x00004ba0 QUAD $0x201f1e1d1c1b1aff; QUAD $0x2827262524232221 // .ascii 16, '\xff\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'(' + 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004bb0 QUAD $0x302f2e2d2c2b2a29; QUAD $0xffffffffff333231 // .ascii 16, ')*+,-./0123\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004bc0 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004bd0 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004be0 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004bf0 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004c00 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004c10 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004c20 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004c30 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + //0x00004c40 .p2align 4, 0x00 + //0x00004c40 _VecDecodeTableURL + 0x00, 0x00, 0x11, 0x04, 0xbf, 0xbf, 0xb9, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c40 QUAD $0xb9b9bfbf04110000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x11\x04\xbf\xbf\xb9\xb9\x00\x00\x00\x00\x00\x00\x00\x00' + 0x00, 0x00, 0x11, 0x04, 0xbf, 0xbf, 0xb9, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00004c50 QUAD $0xb9b9bfbf04110000; QUAD $0x0000000000000000 // .ascii 16, '\x00\x00\x11\x04\xbf\xbf\xb9\xb9\x00\x00\x00\x00\x00\x00\x00\x00' + 0xa8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0x50, 0x50, 0x54, 0x50, 0x70, //0x00004c60 QUAD $0xf8f8f8f8f8f8f8a8; QUAD $0x7050545050f0f8f8 // .ascii 16, '\xa8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf0PPTPp' + 0xa8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0x50, 0x50, 0x54, 0x50, 0x70, //0x00004c70 QUAD $0xf8f8f8f8f8f8f8a8; QUAD $0x7050545050f0f8f8 // .ascii 16, '\xa8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf8\xf0PPTPp' + 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, //0x00004c80 QUAD $0x5f5f5f5f5f5f5f5f; QUAD $0x5f5f5f5f5f5f5f5f // .ascii 16, '________________' + 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, //0x00004c90 QUAD $0x5f5f5f5f5f5f5f5f; QUAD $0x5f5f5f5f5f5f5f5f // .ascii 16, '________________' + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, //0x00004ca0 QUAD $0xe0e0e0e0e0e0e0e0; QUAD $0xe0e0e0e0e0e0e0e0 // .ascii 16, '\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0' + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, //0x00004cb0 QUAD $0xe0e0e0e0e0e0e0e0; QUAD $0xe0e0e0e0e0e0e0e0 // .ascii 16, '\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0\xe0' + //0x00004cc0 .p2align 4, 0x00 + //0x00004cc0 _VecDecodeCharsetURL + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004cc0 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004cd0 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3e, 0xff, 0xff, //0x00004ce0 QUAD $0xffffffffffffffff; QUAD $0xffff3effffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff>\xff\xff' + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004cf0 QUAD $0x3b3a393837363534; QUAD $0xffffffffffff3d3c // .ascii 16, '456789:;<=\xff\xff\xff\xff\xff\xff' + 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, //0x00004d00 QUAD $0x06050403020100ff; QUAD $0x0e0d0c0b0a090807 // .ascii 16, '\xff\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e' + 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0x3f, //0x00004d10 QUAD $0x161514131211100f; QUAD $0x3fffffffff191817 // .ascii 16, '\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\xff\xff\xff\xff?' + 0xff, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, //0x00004d20 QUAD $0x201f1e1d1c1b1aff; QUAD $0x2827262524232221 // .ascii 16, '\xff\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'(' + 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004d30 QUAD $0x302f2e2d2c2b2a29; QUAD $0xffffffffff333231 // .ascii 16, ')*+,-./0123\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004d40 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004d50 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004d60 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004d70 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004d80 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004d90 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004da0 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00004db0 QUAD $0xffffffffffffffff; QUAD $0xffffffffffffffff // .ascii 16, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' +} diff --git a/vendor/github.com/cloudwego/iasm/LICENSE-APACHE b/vendor/github.com/cloudwego/iasm/LICENSE-APACHE new file mode 100644 index 0000000..66a27ec --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/LICENSE-APACHE @@ -0,0 +1,177 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/vendor/github.com/cloudwego/iasm/expr/ast.go b/vendor/github.com/cloudwego/iasm/expr/ast.go new file mode 100644 index 0000000..a91bb2e --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/expr/ast.go @@ -0,0 +1,261 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package expr + +import ( + `fmt` +) + +// Type is tyep expression type. +type Type int + +const ( + // CONST indicates that the expression is a constant. + CONST Type = iota + + // TERM indicates that the expression is a Term reference. + TERM + + // EXPR indicates that the expression is a unary or binary expression. + EXPR +) + +var typeNames = map[Type]string { + EXPR : "Expr", + TERM : "Term", + CONST : "Const", +} + +// String returns the string representation of a Type. +func (self Type) String() string { + if v, ok := typeNames[self]; ok { + return v + } else { + return fmt.Sprintf("expr.Type(%d)", self) + } +} + +// Operator represents an operation to perform when Type is EXPR. +type Operator uint8 + +const ( + // ADD performs "Add Expr.Left and Expr.Right". + ADD Operator = iota + + // SUB performs "Subtract Expr.Left by Expr.Right". + SUB + + // MUL performs "Multiply Expr.Left by Expr.Right". + MUL + + // DIV performs "Divide Expr.Left by Expr.Right". + DIV + + // MOD performs "Modulo Expr.Left by Expr.Right". + MOD + + // AND performs "Bitwise AND Expr.Left and Expr.Right". + AND + + // OR performs "Bitwise OR Expr.Left and Expr.Right". + OR + + // XOR performs "Bitwise XOR Expr.Left and Expr.Right". + XOR + + // SHL performs "Bitwise Shift Expr.Left to the Left by Expr.Right Bits". + SHL + + // SHR performs "Bitwise Shift Expr.Left to the Right by Expr.Right Bits". + SHR + + // POW performs "Raise Expr.Left to the power of Expr.Right" + POW + + // NOT performs "Bitwise Invert Expr.Left". + NOT + + // NEG performs "Negate Expr.Left". + NEG +) + +var operatorNames = map[Operator]string { + ADD : "Add", + SUB : "Subtract", + MUL : "Multiply", + DIV : "Divide", + MOD : "Modulo", + AND : "And", + OR : "Or", + XOR : "ExclusiveOr", + SHL : "ShiftLeft", + SHR : "ShiftRight", + POW : "Power", + NOT : "Invert", + NEG : "Negate", +} + +// String returns the string representation of a Type. +func (self Operator) String() string { + if v, ok := operatorNames[self]; ok { + return v + } else { + return fmt.Sprintf("expr.Operator(%d)", self) + } +} + +// Expr represents an expression node. +type Expr struct { + Type Type + Term Term + Op Operator + Left *Expr + Right *Expr + Const int64 +} + +// Ref creates an expression from a Term. +func Ref(t Term) (p *Expr) { + p = newExpression() + p.Term = t + p.Type = TERM + return +} + +// Int creates an expression from an integer. +func Int(v int64) (p *Expr) { + p = newExpression() + p.Type = CONST + p.Const = v + return +} + +func (self *Expr) clear() { + if self.Term != nil { self.Term.Free() } + if self.Left != nil { self.Left.Free() } + if self.Right != nil { self.Right.Free() } +} + +// Free returns the Expr into pool. +// Any operation performed after Free is undefined behavior. +func (self *Expr) Free() { + self.clear() + freeExpression(self) +} + +// Evaluate evaluates the expression into an integer. +// It also implements the Term interface. +func (self *Expr) Evaluate() (int64, error) { + switch self.Type { + case EXPR : return self.eval() + case TERM : return self.Term.Evaluate() + case CONST : return self.Const, nil + default : panic("invalid expression type: " + self.Type.String()) + } +} + +/** Expression Combinator **/ + +func combine(a *Expr, op Operator, b *Expr) (r *Expr) { + r = newExpression() + r.Op = op + r.Type = EXPR + r.Left = a + r.Right = b + return +} + +func (self *Expr) Add(v *Expr) *Expr { return combine(self, ADD, v) } +func (self *Expr) Sub(v *Expr) *Expr { return combine(self, SUB, v) } +func (self *Expr) Mul(v *Expr) *Expr { return combine(self, MUL, v) } +func (self *Expr) Div(v *Expr) *Expr { return combine(self, DIV, v) } +func (self *Expr) Mod(v *Expr) *Expr { return combine(self, MOD, v) } +func (self *Expr) And(v *Expr) *Expr { return combine(self, AND, v) } +func (self *Expr) Or (v *Expr) *Expr { return combine(self, OR , v) } +func (self *Expr) Xor(v *Expr) *Expr { return combine(self, XOR, v) } +func (self *Expr) Shl(v *Expr) *Expr { return combine(self, SHL, v) } +func (self *Expr) Shr(v *Expr) *Expr { return combine(self, SHR, v) } +func (self *Expr) Pow(v *Expr) *Expr { return combine(self, POW, v) } +func (self *Expr) Not() *Expr { return combine(self, NOT, nil) } +func (self *Expr) Neg() *Expr { return combine(self, NEG, nil) } + +/** Expression Evaluator **/ + +var binaryEvaluators = [256]func(int64, int64) (int64, error) { + ADD: func(a, b int64) (int64, error) { return a + b, nil }, + SUB: func(a, b int64) (int64, error) { return a - b, nil }, + MUL: func(a, b int64) (int64, error) { return a * b, nil }, + DIV: idiv, + MOD: imod, + AND: func(a, b int64) (int64, error) { return a & b, nil }, + OR: func(a, b int64) (int64, error) { return a | b, nil }, + XOR: func(a, b int64) (int64, error) { return a ^ b, nil }, + SHL: func(a, b int64) (int64, error) { return a << b, nil }, + SHR: func(a, b int64) (int64, error) { return a >> b, nil }, + POW: ipow, +} + +func (self *Expr) eval() (int64, error) { + var lhs int64 + var rhs int64 + var err error + var vfn func(int64, int64) (int64, error) + + /* evaluate LHS */ + if lhs, err = self.Left.Evaluate(); err != nil { + return 0, err + } + + /* check for unary operators */ + switch self.Op { + case NOT: return self.unaryNot(lhs) + case NEG: return self.unaryNeg(lhs) + } + + /* check for operators */ + if vfn = binaryEvaluators[self.Op]; vfn == nil { + panic("invalid operator: " + self.Op.String()) + } + + /* must be a binary expression */ + if self.Right == nil { + panic("operator " + self.Op.String() + " is a binary operator") + } + + /* evaluate RHS, and call the operator */ + if rhs, err = self.Right.Evaluate(); err != nil { + return 0, err + } else { + return vfn(lhs, rhs) + } +} + +func (self *Expr) unaryNot(v int64) (int64, error) { + if self.Right == nil { + return ^v, nil + } else { + panic("operator Invert is an unary operator") + } +} + +func (self *Expr) unaryNeg(v int64) (int64, error) { + if self.Right == nil { + return -v, nil + } else { + panic("operator Negate is an unary operator") + } +} diff --git a/vendor/github.com/cloudwego/iasm/expr/errors.go b/vendor/github.com/cloudwego/iasm/expr/errors.go new file mode 100644 index 0000000..ece4cb8 --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/expr/errors.go @@ -0,0 +1,53 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package expr + +import ( + `fmt` +) + +// SyntaxError represents a syntax error in the expression. +type SyntaxError struct { + Pos int + Reason string +} + +func newSyntaxError(pos int, reason string) *SyntaxError { + return &SyntaxError { + Pos : pos, + Reason : reason, + } +} + +func (self *SyntaxError) Error() string { + return fmt.Sprintf("Syntax error at position %d: %s", self.Pos, self.Reason) +} + +// RuntimeError is an error which would occure at run time. +type RuntimeError struct { + Reason string +} + +func newRuntimeError(reason string) *RuntimeError { + return &RuntimeError { + Reason: reason, + } +} + +func (self *RuntimeError) Error() string { + return "Runtime error: " + self.Reason +} diff --git a/vendor/github.com/cloudwego/iasm/expr/ops.go b/vendor/github.com/cloudwego/iasm/expr/ops.go new file mode 100644 index 0000000..7f168b9 --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/expr/ops.go @@ -0,0 +1,67 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package expr + +import ( + `fmt` +) + +func idiv(v int64, d int64) (int64, error) { + if d != 0 { + return v / d, nil + } else { + return 0, newRuntimeError("division by zero") + } +} + +func imod(v int64, d int64) (int64, error) { + if d != 0 { + return v % d, nil + } else { + return 0, newRuntimeError("division by zero") + } +} + +func ipow(v int64, e int64) (int64, error) { + mul := v + ret := int64(1) + + /* value must be 0 or positive */ + if v < 0 { + return 0, newRuntimeError(fmt.Sprintf("negative base value: %d", v)) + } + + /* exponent must be non-negative */ + if e < 0 { + return 0, newRuntimeError(fmt.Sprintf("negative exponent: %d", e)) + } + + /* fast power first round */ + if (e & 1) != 0 { + ret *= mul + } + + /* fast power remaining rounds */ + for e >>= 1; e != 0; e >>= 1 { + if mul *= mul; (e & 1) != 0 { + ret *= mul + } + } + + /* all done */ + return ret, nil +} diff --git a/vendor/github.com/cloudwego/iasm/expr/parser.go b/vendor/github.com/cloudwego/iasm/expr/parser.go new file mode 100644 index 0000000..1846a58 --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/expr/parser.go @@ -0,0 +1,329 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package expr + +import ( + `strconv` + `unicode` + `unsafe` +) + +type _TokenKind uint8 + +const ( + _T_end _TokenKind = iota + 1 + _T_int + _T_punc + _T_name +) + +const ( + _OP2 = 0x80 + _POW = _OP2 | '*' + _SHL = _OP2 | '<' + _SHR = _OP2 | '>' +) + +type _Slice struct { + p unsafe.Pointer + n int + c int +} + +type _Token struct { + pos int + ptr *rune + u64 uint64 + tag _TokenKind +} + +func (self _Token) str() (v string) { + return string(self.rbuf()) +} + +func (self _Token) rbuf() (v []rune) { + (*_Slice)(unsafe.Pointer(&v)).c = int(self.u64) + (*_Slice)(unsafe.Pointer(&v)).n = int(self.u64) + (*_Slice)(unsafe.Pointer(&v)).p = unsafe.Pointer(self.ptr) + return +} + +func tokenEnd(p int) _Token { + return _Token { + pos: p, + tag: _T_end, + } +} + +func tokenInt(p int, v uint64) _Token { + return _Token { + pos: p, + u64: v, + tag: _T_int, + } +} + +func tokenPunc(p int, v rune) _Token { + return _Token { + pos: p, + tag: _T_punc, + u64: uint64(v), + } +} + +func tokenName(p int, v []rune) _Token { + return _Token { + pos: p, + ptr: &v[0], + tag: _T_name, + u64: uint64(len(v)), + } +} + +// Repository represents a repository of Term's. +type Repository interface { + Get(name string) (Term, error) +} + +// Parser parses an expression string to it's AST representation. +type Parser struct { + pos int + src []rune +} + +var binaryOps = [...]func(*Expr, *Expr) *Expr { + '+' : (*Expr).Add, + '-' : (*Expr).Sub, + '*' : (*Expr).Mul, + '/' : (*Expr).Div, + '%' : (*Expr).Mod, + '&' : (*Expr).And, + '^' : (*Expr).Xor, + '|' : (*Expr).Or, + _SHL : (*Expr).Shl, + _SHR : (*Expr).Shr, + _POW : (*Expr).Pow, +} + +var precedence = [...]map[int]bool { + {_SHL: true, _SHR: true}, + {'|' : true}, + {'^' : true}, + {'&' : true}, + {'+' : true, '-': true}, + {'*' : true, '/': true, '%': true}, + {_POW: true}, +} + +func (self *Parser) ch() rune { + return self.src[self.pos] +} + +func (self *Parser) eof() bool { + return self.pos >= len(self.src) +} + +func (self *Parser) rch() (v rune) { + v, self.pos = self.src[self.pos], self.pos + 1 + return +} + +func (self *Parser) hex(ss []rune) bool { + if len(ss) == 1 && ss[0] == '0' { + return unicode.ToLower(self.ch()) == 'x' + } else if len(ss) <= 1 || unicode.ToLower(ss[1]) != 'x' { + return unicode.IsDigit(self.ch()) + } else { + return ishexdigit(self.ch()) + } +} + +func (self *Parser) int(p int, ss []rune) (_Token, error) { + var err error + var val uint64 + + /* find all the digits */ + for !self.eof() && self.hex(ss) { + ss = append(ss, self.rch()) + } + + /* parse the value */ + if val, err = strconv.ParseUint(string(ss), 0, 64); err != nil { + return _Token{}, err + } else { + return tokenInt(p, val), nil + } +} + +func (self *Parser) name(p int, ss []rune) _Token { + for !self.eof() && isident(self.ch()) { ss = append(ss, self.rch()) } + return tokenName(p, ss) +} + +func (self *Parser) read(p int, ch rune) (_Token, error) { + if isdigit(ch) { + return self.int(p, []rune { ch }) + } else if isident0(ch) { + return self.name(p, []rune { ch }), nil + } else if isop2ch(ch) && !self.eof() && self.ch() == ch { + return tokenPunc(p, _OP2 | self.rch()), nil + } else if isop1ch(ch) { + return tokenPunc(p, ch), nil + } else { + return _Token{}, newSyntaxError(self.pos, "invalid character " + strconv.QuoteRuneToASCII(ch)) + } +} + +func (self *Parser) next() (_Token, error) { + for { + var p int + var c rune + + /* check for EOF */ + if self.eof() { + return tokenEnd(self.pos), nil + } + + /* read the next char */ + p = self.pos + c = self.rch() + + /* parse the token if not a space */ + if !unicode.IsSpace(c) { + return self.read(p, c) + } + } +} + +func (self *Parser) grab(tk _Token, repo Repository) (*Expr, error) { + if repo == nil { + return nil, newSyntaxError(tk.pos, "unresolved symbol: " + tk.str()) + } else if term, err := repo.Get(tk.str()); err != nil { + return nil, err + } else { + return Ref(term), nil + } +} + +func (self *Parser) nest(nest int, repo Repository) (*Expr, error) { + var err error + var ret *Expr + var ntk _Token + + /* evaluate the nested expression */ + if ret, err = self.expr(0, nest + 1, repo); err != nil { + return nil, err + } + + /* must follows with a ')' */ + if ntk, err = self.next(); err != nil { + return nil, err + } else if ntk.tag != _T_punc || ntk.u64 != ')' { + return nil, newSyntaxError(ntk.pos, "')' expected") + } else { + return ret, nil + } +} + +func (self *Parser) unit(nest int, repo Repository) (*Expr, error) { + if tk, err := self.next(); err != nil { + return nil, err + } else if tk.tag == _T_int { + return Int(int64(tk.u64)), nil + } else if tk.tag == _T_name { + return self.grab(tk, repo) + } else if tk.tag == _T_punc && tk.u64 == '(' { + return self.nest(nest, repo) + } else if tk.tag == _T_punc && tk.u64 == '+' { + return self.unit(nest, repo) + } else if tk.tag == _T_punc && tk.u64 == '-' { + return neg2(self.unit(nest, repo)) + } else if tk.tag == _T_punc && tk.u64 == '~' { + return not2(self.unit(nest, repo)) + } else { + return nil, newSyntaxError(tk.pos, "integer, unary operator or nested expression expected") + } +} + +func (self *Parser) term(prec int, nest int, repo Repository) (*Expr, error) { + var err error + var val *Expr + + /* parse the LHS operand */ + if val, err = self.expr(prec + 1, nest, repo); err != nil { + return nil, err + } + + /* parse all the operators of the same precedence */ + for { + var op int + var rv *Expr + var tk _Token + + /* peek the next token */ + pp := self.pos + tk, err = self.next() + + /* check for errors */ + if err != nil { + return nil, err + } + + /* encountered EOF */ + if tk.tag == _T_end { + return val, nil + } + + /* must be an operator */ + if tk.tag != _T_punc { + return nil, newSyntaxError(tk.pos, "operators expected") + } + + /* check for the operator precedence */ + if op = int(tk.u64); !precedence[prec][op] { + self.pos = pp + return val, nil + } + + /* evaluate the RHS operand, and combine the value */ + if rv, err = self.expr(prec + 1, nest, repo); err != nil { + return nil, err + } else { + val = binaryOps[op](val, rv) + } + } +} + +func (self *Parser) expr(prec int, nest int, repo Repository) (*Expr, error) { + if prec >= len(precedence) { + return self.unit(nest, repo) + } else { + return self.term(prec, nest, repo) + } +} + +// Parse parses the expression, and returns it's AST tree. +func (self *Parser) Parse(repo Repository) (*Expr, error) { + return self.expr(0, 0, repo) +} + +// SetSource resets the expression parser and sets the expression source. +func (self *Parser) SetSource(src string) *Parser { + self.pos = 0 + self.src = []rune(src) + return self +} diff --git a/vendor/github.com/cloudwego/iasm/expr/pools.go b/vendor/github.com/cloudwego/iasm/expr/pools.go new file mode 100644 index 0000000..8692252 --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/expr/pools.go @@ -0,0 +1,42 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package expr + +import ( + `sync` +) + +var ( + expressionPool sync.Pool +) + +func newExpression() *Expr { + if v := expressionPool.Get(); v == nil { + return new(Expr) + } else { + return resetExpression(v.(*Expr)) + } +} + +func freeExpression(p *Expr) { + expressionPool.Put(p) +} + +func resetExpression(p *Expr) *Expr { + *p = Expr{} + return p +} diff --git a/vendor/github.com/cloudwego/iasm/expr/term.go b/vendor/github.com/cloudwego/iasm/expr/term.go new file mode 100644 index 0000000..4504233 --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/expr/term.go @@ -0,0 +1,23 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package expr + +// Term represents a value that can Evaluate() into an integer. +type Term interface { + Free() + Evaluate() (int64, error) +} diff --git a/vendor/github.com/cloudwego/iasm/expr/utils.go b/vendor/github.com/cloudwego/iasm/expr/utils.go new file mode 100644 index 0000000..780f406 --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/expr/utils.go @@ -0,0 +1,77 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package expr + +var op1ch = [...]bool { + '+': true, + '-': true, + '*': true, + '/': true, + '%': true, + '&': true, + '|': true, + '^': true, + '~': true, + '(': true, + ')': true, +} + +var op2ch = [...]bool { + '*': true, + '<': true, + '>': true, +} + +func neg2(v *Expr, err error) (*Expr, error) { + if err != nil { + return nil, err + } else { + return v.Neg(), nil + } +} + +func not2(v *Expr, err error) (*Expr, error) { + if err != nil { + return nil, err + } else { + return v.Not(), nil + } +} + +func isop1ch(ch rune) bool { + return ch >= 0 && int(ch) < len(op1ch) && op1ch[ch] +} + +func isop2ch(ch rune) bool { + return ch >= 0 && int(ch) < len(op2ch) && op2ch[ch] +} + +func isdigit(ch rune) bool { + return ch >= '0' && ch <= '9' +} + +func isident(ch rune) bool { + return isdigit(ch) || isident0(ch) +} + +func isident0(ch rune) bool { + return (ch == '_') || (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') +} + +func ishexdigit(ch rune) bool { + return isdigit(ch) || (ch >= 'a' && ch <= 'f') || (ch >= 'A' && ch <= 'F') +} diff --git a/vendor/github.com/cloudwego/iasm/x86_64/arch.go b/vendor/github.com/cloudwego/iasm/x86_64/arch.go new file mode 100644 index 0000000..26f1a53 --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/arch.go @@ -0,0 +1,251 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package x86_64 + +import ( + `fmt` +) + +// ISA represents an extension to x86-64 instruction set. +type ISA uint64 + +const ( + ISA_CPUID ISA = 1 << iota + ISA_RDTSC + ISA_RDTSCP + ISA_CMOV + ISA_MOVBE + ISA_POPCNT + ISA_LZCNT + ISA_TBM + ISA_BMI + ISA_BMI2 + ISA_ADX + ISA_MMX + ISA_MMX_PLUS + ISA_FEMMS + ISA_3DNOW + ISA_3DNOW_PLUS + ISA_SSE + ISA_SSE2 + ISA_SSE3 + ISA_SSSE3 + ISA_SSE4A + ISA_SSE4_1 + ISA_SSE4_2 + ISA_FMA3 + ISA_FMA4 + ISA_XOP + ISA_F16C + ISA_AVX + ISA_AVX2 + ISA_AVX512F + ISA_AVX512BW + ISA_AVX512DQ + ISA_AVX512VL + ISA_AVX512PF + ISA_AVX512ER + ISA_AVX512CD + ISA_AVX512VBMI + ISA_AVX512IFMA + ISA_AVX512VPOPCNTDQ + ISA_AVX512_4VNNIW + ISA_AVX512_4FMAPS + ISA_PREFETCH + ISA_PREFETCHW + ISA_PREFETCHWT1 + ISA_CLFLUSH + ISA_CLFLUSHOPT + ISA_CLWB + ISA_CLZERO + ISA_RDRAND + ISA_RDSEED + ISA_PCLMULQDQ + ISA_AES + ISA_SHA + ISA_MONITOR + ISA_MONITORX + ISA_ALL = ^ISA(0) +) + +var _ISA_NAMES = map[ISA]string { + ISA_CPUID : "CPUID", + ISA_RDTSC : "RDTSC", + ISA_RDTSCP : "RDTSCP", + ISA_CMOV : "CMOV", + ISA_MOVBE : "MOVBE", + ISA_POPCNT : "POPCNT", + ISA_LZCNT : "LZCNT", + ISA_TBM : "TBM", + ISA_BMI : "BMI", + ISA_BMI2 : "BMI2", + ISA_ADX : "ADX", + ISA_MMX : "MMX", + ISA_MMX_PLUS : "MMX+", + ISA_FEMMS : "FEMMS", + ISA_3DNOW : "3dnow!", + ISA_3DNOW_PLUS : "3dnow!+", + ISA_SSE : "SSE", + ISA_SSE2 : "SSE2", + ISA_SSE3 : "SSE3", + ISA_SSSE3 : "SSSE3", + ISA_SSE4A : "SSE4A", + ISA_SSE4_1 : "SSE4.1", + ISA_SSE4_2 : "SSE4.2", + ISA_FMA3 : "FMA3", + ISA_FMA4 : "FMA4", + ISA_XOP : "XOP", + ISA_F16C : "F16C", + ISA_AVX : "AVX", + ISA_AVX2 : "AVX2", + ISA_AVX512F : "AVX512F", + ISA_AVX512BW : "AVX512BW", + ISA_AVX512DQ : "AVX512DQ", + ISA_AVX512VL : "AVX512VL", + ISA_AVX512PF : "AVX512PF", + ISA_AVX512ER : "AVX512ER", + ISA_AVX512CD : "AVX512CD", + ISA_AVX512VBMI : "AVX512VBMI", + ISA_AVX512IFMA : "AVX512IFMA", + ISA_AVX512VPOPCNTDQ : "AVX512VPOPCNTDQ", + ISA_AVX512_4VNNIW : "AVX512_4VNNIW", + ISA_AVX512_4FMAPS : "AVX512_4FMAPS", + ISA_PREFETCH : "PREFETCH", + ISA_PREFETCHW : "PREFETCHW", + ISA_PREFETCHWT1 : "PREFETCHWT1", + ISA_CLFLUSH : "CLFLUSH", + ISA_CLFLUSHOPT : "CLFLUSHOPT", + ISA_CLWB : "CLWB", + ISA_CLZERO : "CLZERO", + ISA_RDRAND : "RDRAND", + ISA_RDSEED : "RDSEED", + ISA_PCLMULQDQ : "PCLMULQDQ", + ISA_AES : "AES", + ISA_SHA : "SHA", + ISA_MONITOR : "MONITOR", + ISA_MONITORX : "MONITORX", +} + +var _ISA_MAPPING = map[string]ISA { + "CPUID" : ISA_CPUID, + "RDTSC" : ISA_RDTSC, + "RDTSCP" : ISA_RDTSCP, + "CMOV" : ISA_CMOV, + "MOVBE" : ISA_MOVBE, + "POPCNT" : ISA_POPCNT, + "LZCNT" : ISA_LZCNT, + "TBM" : ISA_TBM, + "BMI" : ISA_BMI, + "BMI2" : ISA_BMI2, + "ADX" : ISA_ADX, + "MMX" : ISA_MMX, + "MMX+" : ISA_MMX_PLUS, + "FEMMS" : ISA_FEMMS, + "3dnow!" : ISA_3DNOW, + "3dnow!+" : ISA_3DNOW_PLUS, + "SSE" : ISA_SSE, + "SSE2" : ISA_SSE2, + "SSE3" : ISA_SSE3, + "SSSE3" : ISA_SSSE3, + "SSE4A" : ISA_SSE4A, + "SSE4.1" : ISA_SSE4_1, + "SSE4.2" : ISA_SSE4_2, + "FMA3" : ISA_FMA3, + "FMA4" : ISA_FMA4, + "XOP" : ISA_XOP, + "F16C" : ISA_F16C, + "AVX" : ISA_AVX, + "AVX2" : ISA_AVX2, + "AVX512F" : ISA_AVX512F, + "AVX512BW" : ISA_AVX512BW, + "AVX512DQ" : ISA_AVX512DQ, + "AVX512VL" : ISA_AVX512VL, + "AVX512PF" : ISA_AVX512PF, + "AVX512ER" : ISA_AVX512ER, + "AVX512CD" : ISA_AVX512CD, + "AVX512VBMI" : ISA_AVX512VBMI, + "AVX512IFMA" : ISA_AVX512IFMA, + "AVX512VPOPCNTDQ" : ISA_AVX512VPOPCNTDQ, + "AVX512_4VNNIW" : ISA_AVX512_4VNNIW, + "AVX512_4FMAPS" : ISA_AVX512_4FMAPS, + "PREFETCH" : ISA_PREFETCH, + "PREFETCHW" : ISA_PREFETCHW, + "PREFETCHWT1" : ISA_PREFETCHWT1, + "CLFLUSH" : ISA_CLFLUSH, + "CLFLUSHOPT" : ISA_CLFLUSHOPT, + "CLWB" : ISA_CLWB, + "CLZERO" : ISA_CLZERO, + "RDRAND" : ISA_RDRAND, + "RDSEED" : ISA_RDSEED, + "PCLMULQDQ" : ISA_PCLMULQDQ, + "AES" : ISA_AES, + "SHA" : ISA_SHA, + "MONITOR" : ISA_MONITOR, + "MONITORX" : ISA_MONITORX, +} + +func (self ISA) String() string { + if v, ok := _ISA_NAMES[self]; ok { + return v + } else { + return fmt.Sprintf("(invalid: %#x)", uint64(self)) + } +} + +// ParseISA parses name into ISA, it will panic if the name is invalid. +func ParseISA(name string) ISA { + if v, ok := _ISA_MAPPING[name]; ok { + return v + } else { + panic("invalid ISA name: " + name) + } +} + +// Arch represents the x86_64 architecture. +type Arch struct { + isa ISA +} + +// DefaultArch is the default architecture with all ISA enabled. +var DefaultArch = CreateArch() + +// CreateArch creates a new Arch with all ISA enabled. +func CreateArch() *Arch { + return new(Arch).EnableISA(ISA_ALL) +} + +// HasISA checks if a particular ISA was enabled. +func (self *Arch) HasISA(isa ISA) bool { + return (self.isa & isa) != 0 +} + +// EnableISA enables a particular ISA. +func (self *Arch) EnableISA(isa ISA) *Arch { + self.isa |= isa + return self +} + +// DisableISA disables a particular ISA. +func (self *Arch) DisableISA(isa ISA) *Arch { + self.isa &^= isa + return self +} + +// CreateProgram creates a new empty program. +func (self *Arch) CreateProgram() *Program { + return newProgram(self) +} diff --git a/vendor/github.com/cloudwego/iasm/x86_64/asm.s b/vendor/github.com/cloudwego/iasm/x86_64/asm.s new file mode 100644 index 0000000..a00c41d --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/asm.s @@ -0,0 +1,16 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + diff --git a/vendor/github.com/cloudwego/iasm/x86_64/assembler.go b/vendor/github.com/cloudwego/iasm/x86_64/assembler.go new file mode 100644 index 0000000..bbe1919 --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/assembler.go @@ -0,0 +1,1819 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package x86_64 + +import ( + `bytes` + `errors` + `fmt` + `math` + `strconv` + `strings` + `unicode` + + `github.com/cloudwego/iasm/expr` +) + +type ( + _TokenKind int + _Punctuation int +) + +const ( + _T_end _TokenKind = iota + 1 + _T_int + _T_name + _T_punc + _T_space +) + +const ( + _P_plus _Punctuation = iota + 1 + _P_minus + _P_star + _P_slash + _P_percent + _P_amp + _P_bar + _P_caret + _P_shl + _P_shr + _P_tilde + _P_lbrk + _P_rbrk + _P_dot + _P_comma + _P_colon + _P_dollar + _P_hash +) + +var _PUNC_NAME = map[_Punctuation]string { + _P_plus : "+", + _P_minus : "-", + _P_star : "*", + _P_slash : "/", + _P_percent : "%", + _P_amp : "&", + _P_bar : "|", + _P_caret : "^", + _P_shl : "<<", + _P_shr : ">>", + _P_tilde : "~", + _P_lbrk : "(", + _P_rbrk : ")", + _P_dot : ".", + _P_comma : ",", + _P_colon : ":", + _P_dollar : "$", + _P_hash : "#", +} + +func (self _Punctuation) String() string { + if v, ok := _PUNC_NAME[self]; ok { + return v + } else { + return fmt.Sprintf("_Punctuation(%d)", self) + } +} + +type _Token struct { + pos int + end int + u64 uint64 + str string + tag _TokenKind +} + +func (self *_Token) punc() _Punctuation { + return _Punctuation(self.u64) +} + +func (self *_Token) String() string { + switch self.tag { + case _T_end : return "" + case _T_int : return fmt.Sprintf("", self.u64) + case _T_punc : return fmt.Sprintf("", _Punctuation(self.u64)) + case _T_name : return fmt.Sprintf("", strconv.QuoteToASCII(self.str)) + case _T_space : return "" + default : return fmt.Sprintf("", self.tag, self.u64, strconv.QuoteToASCII(self.str)) + } +} + +func tokenEnd(p int, end int) _Token { + return _Token { + pos: p, + end: end, + tag: _T_end, + } +} + +func tokenInt(p int, val uint64) _Token { + return _Token { + pos: p, + u64: val, + tag: _T_int, + } +} + +func tokenName(p int, name string) _Token { + return _Token { + pos: p, + str: name, + tag: _T_name, + } +} + +func tokenPunc(p int, punc _Punctuation) _Token { + return _Token { + pos: p, + tag: _T_punc, + u64: uint64(punc), + } +} + +func tokenSpace(p int, end int) _Token { + return _Token { + pos: p, + end: end, + tag: _T_space, + } +} + +// SyntaxError represents an error in the assembly syntax. +type SyntaxError struct { + Pos int + Row int + Src []rune + Reason string +} + +// Error implements the error interface. +func (self *SyntaxError) Error() string { + if self.Pos < 0 { + return fmt.Sprintf("%s at line %d", self.Reason, self.Row) + } else { + return fmt.Sprintf("%s at %d:%d", self.Reason, self.Row, self.Pos + 1) + } +} + +type _Tokenizer struct { + pos int + row int + src []rune +} + +func (self *_Tokenizer) ch() rune { + return self.src[self.pos] +} + +func (self *_Tokenizer) eof() bool { + return self.pos >= len(self.src) +} + +func (self *_Tokenizer) rch() (ret rune) { + ret, self.pos = self.src[self.pos], self.pos + 1 + return +} + +func (self *_Tokenizer) err(pos int, msg string) *SyntaxError { + return &SyntaxError { + Pos : pos, + Row : self.row, + Src : self.src, + Reason : msg, + } +} + +type _TrimState int + +const ( + _TS_normal _TrimState = iota + _TS_slcomm + _TS_hscomm + _TS_string + _TS_escape + _TS_accept + _TS_nolast +) + +func (self *_Tokenizer) init(src string) { + var i int + var ch rune + var st _TrimState + + /* set the source */ + self.pos = 0 + self.src = []rune(src) + + /* remove commends, including "//" and "##" */ + loop: for i, ch = range self.src { + switch { + case st == _TS_normal && ch == '/' : st = _TS_slcomm + case st == _TS_normal && ch == '"' : st = _TS_string + case st == _TS_normal && ch == ';' : st = _TS_accept; break loop + case st == _TS_normal && ch == '#' : st = _TS_hscomm + case st == _TS_slcomm && ch == '/' : st = _TS_nolast; break loop + case st == _TS_slcomm : st = _TS_normal + case st == _TS_hscomm && ch == '#' : st = _TS_nolast; break loop + case st == _TS_hscomm : st = _TS_normal + case st == _TS_string && ch == '"' : st = _TS_normal + case st == _TS_string && ch == '\\' : st = _TS_escape + case st == _TS_escape : st = _TS_string + } + } + + /* check for errors */ + switch st { + case _TS_accept: self.src = self.src[:i] + case _TS_nolast: self.src = self.src[:i - 1] + case _TS_string: panic(self.err(i, "string is not terminated")) + case _TS_escape: panic(self.err(i, "escape sequence is not terminated")) + } +} + +func (self *_Tokenizer) skip(check func(v rune) bool) { + for !self.eof() && check(self.ch()) { + self.pos++ + } +} + +func (self *_Tokenizer) find(pos int, check func(v rune) bool) string { + self.skip(check) + return string(self.src[pos:self.pos]) +} + +func (self *_Tokenizer) chrv(p int) _Token { + var err error + var val uint64 + + /* starting and ending position */ + p0 := p + 1 + p1 := p0 + 1 + + /* find the end of the literal */ + for p1 < len(self.src) && self.src[p1] != '\'' { + if p1++; self.src[p1 - 1] == '\\' { + p1++ + } + } + + /* empty literal */ + if p1 == p0 { + panic(self.err(p1, "empty character constant")) + } + + /* check for EOF */ + if p1 == len(self.src) { + panic(self.err(p1, "unexpected EOF when scanning literals")) + } + + /* parse the literal */ + if val, err = literal64(string(self.src[p0:p1])); err != nil { + panic(self.err(p0, "cannot parse literal: " + err.Error())) + } + + /* skip the closing '\'' */ + self.pos = p1 + 1 + return tokenInt(p, val) +} + +func (self *_Tokenizer) numv(p int) _Token { + if val, err := strconv.ParseUint(self.find(p, isnumber), 0, 64); err != nil { + panic(self.err(p, "invalid immediate value: " + err.Error())) + } else { + return tokenInt(p, val) + } +} + +func (self *_Tokenizer) defv(p int, cc rune) _Token { + if isdigit(cc) { + return self.numv(p) + } else if isident0(cc) { + return tokenName(p, self.find(p, isident)) + } else { + panic(self.err(p, "invalid char: " + strconv.QuoteRune(cc))) + } +} + +func (self *_Tokenizer) rep2(p int, pp _Punctuation, cc rune) _Token { + if self.eof() { + panic(self.err(self.pos, "unexpected EOF when scanning operators")) + } else if c := self.rch(); c != cc { + panic(self.err(p + 1, strconv.QuoteRune(cc) + " expected, got " + strconv.QuoteRune(c))) + } else { + return tokenPunc(p, pp) + } +} + +func (self *_Tokenizer) read() _Token { + var p int + var c rune + var t _Token + + /* check for EOF */ + if self.eof() { + return tokenEnd(self.pos, self.pos) + } + + /* skip spaces as needed */ + if p = self.pos; unicode.IsSpace(self.src[p]) { + self.skip(unicode.IsSpace) + return tokenSpace(p, self.pos) + } + + /* check for line comments */ + if p = self.pos; p < len(self.src) - 1 && self.src[p] == '/' && self.src[p + 1] == '/' { + self.pos = len(self.src) + return tokenEnd(p, self.pos) + } + + /* read the next character */ + p = self.pos + c = self.rch() + + /* parse the next character */ + switch c { + case '+' : t = tokenPunc(p, _P_plus) + case '-' : t = tokenPunc(p, _P_minus) + case '*' : t = tokenPunc(p, _P_star) + case '/' : t = tokenPunc(p, _P_slash) + case '%' : t = tokenPunc(p, _P_percent) + case '&' : t = tokenPunc(p, _P_amp) + case '|' : t = tokenPunc(p, _P_bar) + case '^' : t = tokenPunc(p, _P_caret) + case '<' : t = self.rep2(p, _P_shl, '<') + case '>' : t = self.rep2(p, _P_shr, '>') + case '~' : t = tokenPunc(p, _P_tilde) + case '(' : t = tokenPunc(p, _P_lbrk) + case ')' : t = tokenPunc(p, _P_rbrk) + case '.' : t = tokenPunc(p, _P_dot) + case ',' : t = tokenPunc(p, _P_comma) + case ':' : t = tokenPunc(p, _P_colon) + case '$' : t = tokenPunc(p, _P_dollar) + case '#' : t = tokenPunc(p, _P_hash) + case '\'' : t = self.chrv(p) + default : t = self.defv(p, c) + } + + /* mark the end of token */ + t.end = self.pos + return t +} + +func (self *_Tokenizer) next() (tk _Token) { + for { + if tk = self.read(); tk.tag != _T_space { + return + } + } +} + +// LabelKind indicates the type of label reference. +type LabelKind int + +// OperandKind indicates the type of the operand. +type OperandKind int + +// InstructionPrefix indicates the prefix bytes prepended to the instruction. +type InstructionPrefix byte + +const ( + // OpImm means the operand is an immediate value. + OpImm OperandKind = 1 << iota + + // OpReg means the operand is a register. + OpReg + + // OpMem means the operand is a memory address. + OpMem + + // OpLabel means the operand is a label, specifically for + // branch instructions. + OpLabel +) + +const ( + // Declaration means the label is a declaration. + Declaration LabelKind = iota + 1 + + // BranchTarget means the label should be treated as a branch target. + BranchTarget + + // RelativeAddress means the label should be treated as a reference to + // the code section (e.g. RIP-relative addressing). + RelativeAddress +) + +const ( + // PrefixLock causes the processor's LOCK# signal to be asserted during execution of + // the accompanying instruction (turns the instruction into an atomic instruction). + // In a multiprocessor environment, the LOCK# signal insures that the processor + // has exclusive use of any shared memory while the signal is asserted. + PrefixLock InstructionPrefix = iota + + // PrefixSegmentCS overrides the memory operation of this instruction to CS (Code Segment). + PrefixSegmentCS + + // PrefixSegmentDS overrides the memory operation of this instruction to DS (Data Segment), + // this is the default section for most instructions if not specified. + PrefixSegmentDS + + // PrefixSegmentES overrides the memory operation of this instruction to ES (Extra Segment). + PrefixSegmentES + + // PrefixSegmentFS overrides the memory operation of this instruction to FS. + PrefixSegmentFS + + // PrefixSegmentGS overrides the memory operation of this instruction to GS. + PrefixSegmentGS + + // PrefixSegmentSS overrides the memory operation of this instruction to SS (Stack Segment). + PrefixSegmentSS +) + +// ParsedLabel represents a label in the source, either a jump target or +// an RIP-relative addressing. +type ParsedLabel struct { + Name string + Kind LabelKind +} + +// ParsedOperand represents an operand of an instruction in the source. +type ParsedOperand struct { + Op OperandKind + Imm int64 + Reg Register + Label ParsedLabel + Memory MemoryAddress +} + +// ParsedInstruction represents an instruction in the source. +type ParsedInstruction struct { + Mnemonic string + Operands []ParsedOperand + Prefixes []InstructionPrefix +} + +func (self *ParsedInstruction) imm(v int64) { + self.Operands = append(self.Operands, ParsedOperand { + Op : OpImm, + Imm : v, + }) +} + +func (self *ParsedInstruction) reg(v Register) { + self.Operands = append(self.Operands, ParsedOperand { + Op : OpReg, + Reg : v, + }) +} + +func (self *ParsedInstruction) mem(v MemoryAddress) { + self.Operands = append(self.Operands, ParsedOperand { + Op : OpMem, + Memory : v, + }) +} + +func (self *ParsedInstruction) target(v string) { + self.Operands = append(self.Operands, ParsedOperand { + Op : OpLabel, + Label : ParsedLabel { + Name: v, + Kind: BranchTarget, + }, + }) +} + +func (self *ParsedInstruction) reference(v string) { + self.Operands = append(self.Operands, ParsedOperand { + Op : OpLabel, + Label : ParsedLabel { + Name: v, + Kind: RelativeAddress, + }, + }) +} + +// LineKind indicates the type of ParsedLine. +type LineKind int + +const ( + // LineLabel means the ParsedLine is a label. + LineLabel LineKind = iota + 1 + + // LineInstr means the ParsedLine is an instruction. + LineInstr + + // LineCommand means the ParsedLine is a ParsedCommand. + LineCommand +) + +// ParsedLine represents a parsed source line. +type ParsedLine struct { + Row int + Src []rune + Kind LineKind + Label ParsedLabel + Command ParsedCommand + Instruction ParsedInstruction +} + +// ParsedCommand represents a parsed assembly directive command. +type ParsedCommand struct { + Cmd string + Args []ParsedCommandArg +} + +// ParsedCommandArg represents an argument of a ParsedCommand. +type ParsedCommandArg struct { + Value string + IsString bool +} + +// Parser parses the source, and generates a sequence of ParsedInstruction's. +type Parser struct { + lex _Tokenizer + exp expr.Parser +} + +const ( + rip Register64 = 0xff +) + +var _RegBranch = map[string]bool { + "jmp" : true, + "jmpq" : true, + "call" : true, + "callq" : true, +} + +var _SegPrefix = map[string]InstructionPrefix { + "cs": PrefixSegmentCS, + "ds": PrefixSegmentDS, + "es": PrefixSegmentES, + "fs": PrefixSegmentFS, + "gs": PrefixSegmentGS, + "ss": PrefixSegmentSS, +} + +func (self *Parser) i32(tk _Token, v int64) int32 { + if v >= math.MinInt32 && v <= math.MaxUint32 { + return int32(v) + } else { + panic(self.err(tk.pos, fmt.Sprintf("32-bit integer out ouf range: %d", v))) + } +} + +func (self *Parser) err(pos int, msg string) *SyntaxError { + return &SyntaxError { + Pos : pos, + Row : self.lex.row, + Src : self.lex.src, + Reason : msg, + } +} + +func (self *Parser) negv() int64 { + tk := self.lex.read() + tt := tk.tag + + /* must be an integer */ + if tt != _T_int { + panic(self.err(tk.pos, "integer expected after '-'")) + } else { + return -int64(tk.u64) + } +} + +func (self *Parser) eval(p int) (r int64) { + var e error + var v *expr.Expr + + /* searching start */ + n := 1 + q := p + 1 + + /* find the end of expression */ + for n > 0 && q < len(self.lex.src) { + switch self.lex.src[q] { + case '(' : q++; n++ + case ')' : q++; n-- + default : q++ + } + } + + /* check for EOF */ + if n != 0 { + panic(self.err(q, "unexpected EOF when parsing expressions")) + } + + /* evaluate the expression */ + if v, e = self.exp.SetSource(string(self.lex.src[p:q - 1])).Parse(nil); e != nil { + panic(self.err(p, "cannot evaluate expression: " + e.Error())) + } + + /* evaluate the expression */ + if r, e = v.Evaluate(); e != nil { + panic(self.err(p, "cannot evaluate expression: " + e.Error())) + } + + /* skip the last ')' */ + v.Free() + self.lex.pos = q + return +} + +func (self *Parser) relx(tk _Token) { + if tk.tag != _T_punc || tk.punc() != _P_lbrk { + panic(self.err(tk.pos, "'(' expected for RIP-relative addressing")) + } else if tk = self.lex.next(); self.regx(tk) != rip { + panic(self.err(tk.pos, "RIP-relative addressing expects %rip as the base register")) + } else if tk = self.lex.next(); tk.tag != _T_punc || tk.punc() != _P_rbrk { + panic(self.err(tk.pos, "RIP-relative addressing does not support indexing or scaling")) + } +} + +func (self *Parser) immx(tk _Token) int64 { + if tk.tag != _T_punc || tk.punc() != _P_dollar { + panic(self.err(tk.pos, "'$' expected for registers")) + } else if tk = self.lex.read(); tk.tag == _T_int { + return int64(tk.u64) + } else if tk.tag == _T_punc && tk.punc() == _P_lbrk { + return self.eval(self.lex.pos) + } else if tk.tag == _T_punc && tk.punc() == _P_minus { + return self.negv() + } else { + panic(self.err(tk.pos, "immediate value expected")) + } +} + +func (self *Parser) regx(tk _Token) Register { + if tk.tag != _T_punc || tk.punc() != _P_percent { + panic(self.err(tk.pos, "'%' expected for registers")) + } else if tk = self.lex.read(); tk.tag != _T_name { + panic(self.err(tk.pos, "register name expected")) + } else if tk.str == "rip" { + return rip + } else if reg, ok := Registers[tk.str]; ok { + return reg + } else { + panic(self.err(tk.pos, "invalid register name: " + strconv.Quote(tk.str))) + } +} + +func (self *Parser) regv(tk _Token) Register { + if reg := self.regx(tk); reg == rip { + panic(self.err(tk.pos, "%rip is not accessable as a dedicated register")) + } else { + return reg + } +} + +func (self *Parser) disp(vv int32) MemoryAddress { + switch tk := self.lex.next(); tk.tag { + case _T_end : return MemoryAddress { Displacement: vv } + case _T_punc : return self.relm(tk, vv) + default : panic(self.err(tk.pos, "',' or '(' expected")) + } +} + +func (self *Parser) relm(tv _Token, disp int32) MemoryAddress { + var tk _Token + var tt _TokenKind + + /* check for absolute addressing */ + if tv.punc() == _P_comma { + self.lex.pos-- + return MemoryAddress { Displacement: disp } + } + + /* must be '(' now */ + if tv.punc() != _P_lbrk { + panic(self.err(tv.pos, "',' or '(' expected")) + } + + /* read the next token */ + tk = self.lex.next() + tt = tk.tag + + /* must be a punctuation */ + if tt != _T_punc { + panic(self.err(tk.pos, "'%' or ',' expected")) + } + + /* check for base */ + switch tk.punc() { + case _P_percent : return self.base(tk, disp) + case _P_comma : return self.index(nil, disp) + default : panic(self.err(tk.pos, "'%' or ',' expected")) + } +} + +func (self *Parser) base(tk _Token, disp int32) MemoryAddress { + rr := self.regx(tk) + nk := self.lex.next() + + /* check for register indirection or base-index addressing */ + if !isReg64(rr) { + panic(self.err(tk.pos, "not a valid base register")) + } else if nk.tag != _T_punc { + panic(self.err(nk.pos, "',' or ')' expected")) + } else if nk.punc() == _P_comma { + return self.index(rr, disp) + } else if nk.punc() == _P_rbrk { + return MemoryAddress { Base: rr, Displacement: disp } + } else { + panic(self.err(nk.pos, "',' or ')' expected")) + } +} + +func (self *Parser) index(base Register, disp int32) MemoryAddress { + tk := self.lex.next() + rr := self.regx(tk) + nk := self.lex.next() + + /* check for scaled indexing */ + if base == rip { + panic(self.err(tk.pos, "RIP-relative addressing does not support indexing or scaling")) + } else if !isIndexable(rr) { + panic(self.err(tk.pos, "not a valid index register")) + } else if nk.tag != _T_punc { + panic(self.err(nk.pos, "',' or ')' expected")) + } else if nk.punc() == _P_comma { + return self.scale(base, rr, disp) + } else if nk.punc() == _P_rbrk { + return MemoryAddress { Base: base, Index: rr, Scale: 1, Displacement: disp } + } else { + panic(self.err(nk.pos, "',' or ')' expected")) + } +} + +func (self *Parser) scale(base Register, index Register, disp int32) MemoryAddress { + tk := self.lex.next() + tt := tk.tag + tv := tk.u64 + + /* must be an integer */ + if tt != _T_int { + panic(self.err(tk.pos, "integer expected")) + } + + /* scale can only be 1, 2, 4 or 8 */ + if tv == 0 || (_Scales & (1 << tv)) == 0 { + panic(self.err(tk.pos, "scale can only be 1, 2, 4 or 8")) + } + + /* read next token */ + tk = self.lex.next() + tt = tk.tag + + /* check for the closing ')' */ + if tt != _T_punc || tk.punc() != _P_rbrk { + panic(self.err(tk.pos, "')' expected")) + } + + /* construct the memory address */ + return MemoryAddress { + Base : base, + Index : index, + Scale : uint8(tv), + Displacement : disp, + } +} + +func (self *Parser) cmds() *ParsedLine { + cmd := "" + pos := self.lex.pos + buf := []ParsedCommandArg(nil) + + /* find the end of command */ + for p := pos; pos < len(self.lex.src); pos++ { + if unicode.IsSpace(self.lex.src[pos]) { + cmd = string(self.lex.src[p:pos]) + break + } + } + + /* parse the arguments */ + loop: for { + switch self.next(&pos) { + case 0 : break loop + case '#' : break loop + case '"' : pos = self.strings(&buf, pos) + default : pos = self.expressions(&buf, pos) + } + } + + /* construct the line */ + return &ParsedLine { + Row : self.lex.row, + Src : self.lex.src, + Kind : LineCommand, + Command : ParsedCommand { + Cmd : cmd, + Args : buf, + }, + } +} + +func (self *Parser) feed(line string) *ParsedLine { + ff := true + rr := false + lk := false + + /* reset the lexer */ + self.lex.row++ + self.lex.init(line) + + /* parse the first token */ + tk := self.lex.next() + tt := tk.tag + + /* it is a directive if it starts with a dot */ + if tk.tag == _T_punc && tk.punc() == _P_dot { + return self.cmds() + } + + /* otherwise it could be labels or instructions */ + if tt != _T_name { + panic(self.err(tk.pos, "identifier expected")) + } + + /* peek the next token */ + lex := self.lex + tkx := lex.next() + + /* check for labels */ + if tkx.tag == _T_punc && tkx.punc() == _P_colon { + tkx = lex.next() + ttx := tkx.tag + + /* the line must end here */ + if ttx != _T_end { + panic(self.err(tkx.pos, "garbage after label definition")) + } + + /* construct the label */ + return &ParsedLine { + Row : self.lex.row, + Src : self.lex.src, + Kind : LineLabel, + Label : ParsedLabel { + Kind: Declaration, + Name: tk.str, + }, + } + } + + /* special case for the "lock" prefix */ + if tk.tag == _T_name && strings.ToLower(tk.str) == "lock" { + lk = true + tk = self.lex.next() + + /* must be an instruction */ + if tk.tag != _T_name { + panic(self.err(tk.pos, "identifier expected")) + } + } + + /* set the line kind and mnemonic */ + ret := &ParsedLine { + Row : self.lex.row, + Src : self.lex.src, + Kind : LineInstr, + Instruction : ParsedInstruction { Mnemonic: strings.ToLower(tk.str) }, + } + + /* check for LOCK prefix */ + if lk { + ret.Instruction.Prefixes = append(ret.Instruction.Prefixes, PrefixLock) + } + + /* parse all the operands */ + for { + tk = self.lex.next() + tt = tk.tag + + /* check for end of line */ + if tt == _T_end { + break + } + + /* expect a comma if not the first operand */ + if !ff { + if tt == _T_punc && tk.punc() == _P_comma { + tk = self.lex.next() + } else { + panic(self.err(tk.pos, "',' expected")) + } + } + + /* not the first operand anymore */ + ff = false + tt = tk.tag + + /* encountered an integer, must be a SIB memory address */ + if tt == _T_int { + ret.Instruction.mem(self.disp(self.i32(tk, int64(tk.u64)))) + continue + } + + /* encountered an identifier, maybe an expression or a jump target, or a segment override prefix */ + if tt == _T_name { + ts := tk.str + tp := self.lex.pos + + /* if the next token is EOF or a comma, it's a jumpt target */ + if tk = self.lex.next(); tk.tag == _T_end || (tk.tag == _T_punc && tk.punc() == _P_comma) { + self.lex.pos = tp + ret.Instruction.target(ts) + continue + } + + /* if it is a colon, it's a segment override prefix, otherwise it must be an RIP-relative addressing operand */ + if tk.tag != _T_punc || tk.punc() != _P_colon { + self.relx(tk) + ret.Instruction.reference(ts) + continue + } + + /* lookup segment prefixes */ + if p, ok := _SegPrefix[strings.ToLower(ts)]; !ok { + panic(self.err(tk.pos, "invalid segment name")) + } else { + ret.Instruction.Prefixes = append(ret.Instruction.Prefixes, p) + } + + /* read the next token */ + tk = self.lex.next() + tt = tk.tag + + /* encountered an integer, must be a SIB memory address */ + if tt == _T_int { + ret.Instruction.mem(self.disp(self.i32(tk, int64(tk.u64)))) + continue + } + } + + /* certain instructions may have a "*" before operands */ + if tt == _T_punc && tk.punc() == _P_star { + tk = self.lex.next() + tt = tk.tag + rr = true + } + + /* ... otherwise it must be a punctuation */ + if tt != _T_punc { + panic(self.err(tk.pos, "'$', '%', '-' or '(' expected")) + } + + /* check the operator */ + switch tk.punc() { + case _P_lbrk : break + case _P_minus : ret.Instruction.mem(self.disp(self.i32(tk, self.negv()))) ; continue + case _P_dollar : ret.Instruction.imm(self.immx(tk)) ; continue + case _P_percent : ret.Instruction.reg(self.regv(tk)) ; continue + default : panic(self.err(tk.pos, "'$', '%', '-' or '(' expected")) + } + + /* special case of '(', might be either `(expr)(SIB)` or just `(SIB)` + * read one more token to confirm */ + tk = self.lex.next() + tt = tk.tag + + /* the next token is '%', it's a memory address, + * or ',' if it's a memory address without base, + * otherwise it must be in `(expr)(SIB)` form */ + if tk.tag == _T_punc && tk.punc() == _P_percent { + ret.Instruction.mem(self.base(tk, 0)) + } else if tk.tag == _T_punc && tk.punc() == _P_comma { + ret.Instruction.mem(self.index(nil, 0)) + } else { + ret.Instruction.mem(self.disp(self.i32(tk, self.eval(tk.pos)))) + } + } + + /* check "jmp" and "call" instructions */ + if !_RegBranch[ret.Instruction.Mnemonic] { + return ret + } else if len(ret.Instruction.Operands) != 1 { + panic(self.err(tk.pos, fmt.Sprintf(`"%s" requires exact 1 argument`, ret.Instruction.Mnemonic))) + } else if !rr && ret.Instruction.Operands[0].Op != OpReg && ret.Instruction.Operands[0].Op != OpLabel { + panic(self.err(tk.pos, fmt.Sprintf(`invalid operand for "%s" instruction`, ret.Instruction.Mnemonic))) + } else { + return ret + } +} + +func (self *Parser) next(p *int) rune { + for { + if *p >= len(self.lex.src) { + return 0 + } else if cc := self.lex.src[*p]; !unicode.IsSpace(cc) { + return cc + } else { + *p++ + } + } +} + +func (self *Parser) delim(p int) int { + if cc := self.next(&p); cc == 0 { + return p + } else if cc == ',' { + return p + 1 + } else { + panic(self.err(p, "',' expected")) + } +} + +func (self *Parser) strings(argv *[]ParsedCommandArg, p int) int { + var i int + var e error + var v string + + /* find the end of string */ + for i = p + 1; i < len(self.lex.src) && self.lex.src[i] != '"'; i++ { + if self.lex.src[i] == '\\' { + i++ + } + } + + /* check for EOF */ + if i == len(self.lex.src) { + panic(self.err(i, "unexpected EOF when scanning strings")) + } + + /* unquote the string */ + if v, e = strconv.Unquote(string(self.lex.src[p:i + 1])); e != nil { + panic(self.err(p, "invalid string: " + e.Error())) + } + + /* add the argument to buffer */ + *argv = append(*argv, ParsedCommandArg { Value: v, IsString: true }) + return self.delim(i + 1) +} + +func (self *Parser) directives(line string) { + self.lex.row++ + self.lex.init(line) + + /* parse the first token */ + tk := self.lex.next() + tt := tk.tag + + /* check for EOF */ + if tt == _T_end { + return + } + + /* must be a directive */ + if tt != _T_punc || tk.punc() != _P_hash { + panic(self.err(tk.pos, "'#' expected")) + } + + /* parse the line number */ + tk = self.lex.next() + tt = tk.tag + + /* must be a line number, if it is, set the row number, and ignore the rest of the line */ + if tt != _T_int { + panic(self.err(tk.pos, "line number expected")) + } else { + self.lex.row = int(tk.u64) - 1 + } +} + +func (self *Parser) expressions(argv *[]ParsedCommandArg, p int) int { + var i int + var n int + var s int + + /* scan until the first standalone ',' or EOF */ + loop: for i = p; i < len(self.lex.src); i++ { + switch self.lex.src[i] { + case ',' : if s == 0 { if n == 0 { break loop } } + case ']', '}', '>' : if s == 0 { if n == 0 { break loop } else { n-- } } + case '[', '{', '<' : if s == 0 { n++ } + case '\\' : if s != 0 { i++ } + case '\'' : if s != 2 { s ^= 1 } + case '"' : if s != 1 { s ^= 2 } + } + } + + /* check for EOF in strings */ + if s != 0 { + panic(self.err(i, "unexpected EOF when scanning strings")) + } + + /* check for bracket matching */ + if n != 0 { + panic(self.err(i, "unbalanced '{' or '[' or '<'")) + } + + /* add the argument to buffer */ + *argv = append(*argv, ParsedCommandArg { Value: string(self.lex.src[p:i]) }) + return self.delim(i) +} + +// Feed feeds the parser with one more line, and the parser +// parses it into a ParsedLine. +// +// NOTE: Feed does not handle empty lines or multiple lines, +// it panics when this happens. Use Parse to parse multiple +// lines of assembly source. +// +func (self *Parser) Feed(src string) (ret *ParsedLine, err error) { + var ok bool + var ss string + var vv interface{} + + /* check for multiple lines */ + if strings.ContainsRune(src, '\n') { + return nil, errors.New("passing multiple lines to Feed()") + } + + /* check for blank lines */ + if ss = strings.TrimSpace(src); ss == "" || ss[0] == '#' || strings.HasPrefix(ss, "//") { + return nil, errors.New("blank line or line with only comments or line-marks") + } + + /* setup error handler */ + defer func() { + if vv = recover(); vv != nil { + if err, ok = vv.(*SyntaxError); !ok { + panic(vv) + } + } + }() + + /* call the actual parser */ + ret = self.feed(src) + return +} + +// Parse parses the entire assembly source (possibly multiple lines) into +// a sequence of *ParsedLine. +func (self *Parser) Parse(src string) (ret []*ParsedLine, err error) { + var ok bool + var ss string + var vv interface{} + + /* setup error handler */ + defer func() { + if vv = recover(); vv != nil { + if err, ok = vv.(*SyntaxError); !ok { + panic(vv) + } + } + }() + + /* feed every line */ + for _, line := range strings.Split(src, "\n") { + if ss = strings.TrimSpace(line); ss == "" || strings.HasPrefix(ss, "//") { + self.lex.row++ + } else if ss[0] == '#' { + self.directives(line) + } else { + ret = append(ret, self.feed(line)) + } + } + + /* all done */ + err = nil + return +} + +// Directive handles the directive. +func (self *Parser) Directive(line string) (err error) { + var ok bool + var ss string + var vv interface{} + + /* check for directives */ + if ss = strings.TrimSpace(line); ss == "" || ss[0] != '#' { + return errors.New("not a directive") + } + + /* setup error handler */ + defer func() { + if vv = recover(); vv != nil { + if err, ok = vv.(*SyntaxError); !ok { + panic(vv) + } + } + }() + + /* call the directive parser */ + self.directives(line) + return +} + +type _TermRepo struct { + terms map[string]expr.Term +} + +func (self *_TermRepo) Get(name string) (expr.Term, error) { + if ret, ok := self.terms[name]; ok { + return ret, nil + } else { + return nil, errors.New("undefined name: " + name) + } +} + +func (self *_TermRepo) label(name string) (*Label, error) { + var ok bool + var lb *Label + var tr expr.Term + + /* check for existing terms */ + if tr, ok = self.terms[name]; ok { + if lb, ok = tr.(*Label); ok { + return lb, nil + } else { + return nil, errors.New("name is not a label: " + name) + } + } + + /* create a new one as needed */ + lb = new(Label) + lb.Name = name + + /* create the map if needed */ + if self.terms == nil { + self.terms = make(map[string]expr.Term, 1) + } + + /* register the label */ + self.terms[name] = lb + return lb, nil +} + +func (self *_TermRepo) define(name string, term expr.Term) { + var ok bool + var tr expr.Term + + /* create the map if needed */ + if self.terms == nil { + self.terms = make(map[string]expr.Term, 1) + } + + /* check for existing terms */ + if tr, ok = self.terms[name]; !ok { + self.terms[name] = term + } else if _, ok = tr.(*Label); !ok { + self.terms[name] = term + } else { + panic("conflicting term types: " + name) + } +} + +// _Command describes an assembler command. +// +// The _Command.args describes both the arity and argument type with characters, +// the length is the number of arguments, the character itself represents the +// argument type. +// +// Possible values are: +// +// s This argument should be a string +// e This argument should be an expression +// ? The next argument is optional, and must be the last argument. +// +type _Command struct { + args string + handler func(*Assembler, *Program, []ParsedCommandArg) error +} + +// Options controls the behavior of Assembler. +type Options struct { + // InstructionAliasing specifies whether to enable instruction aliasing. + // Set to true enables instruction aliasing, and the Assembler will try harder to find instructions. + InstructionAliasing bool + + // IgnoreUnknownDirectives specifies whether to report errors when encountered unknown directives. + // Set to true ignores all unknwon directives silently, useful for parsing generated assembly. + IgnoreUnknownDirectives bool +} + +// Assembler assembles the entire assembly program and generates the corresponding +// machine code representations. +type Assembler struct { + cc int + ps Parser + pc uintptr + buf []byte + main string + opts Options + repo _TermRepo + expr expr.Parser + line *ParsedLine +} + +var asmCommands = map[string]_Command { + "org" : { "e" , (*Assembler).assembleCommandOrg }, + "set" : { "ee" , (*Assembler).assembleCommandSet }, + "byte" : { "e" , (*Assembler).assembleCommandByte }, + "word" : { "e" , (*Assembler).assembleCommandWord }, + "long" : { "e" , (*Assembler).assembleCommandLong }, + "quad" : { "e" , (*Assembler).assembleCommandQuad }, + "fill" : { "e?e" , (*Assembler).assembleCommandFill }, + "space" : { "e?e" , (*Assembler).assembleCommandFill }, + "align" : { "e?e" , (*Assembler).assembleCommandAlign }, + "entry" : { "e" , (*Assembler).assembleCommandEntry }, + "ascii" : { "s" , (*Assembler).assembleCommandAscii }, + "asciz" : { "s" , (*Assembler).assembleCommandAsciz }, + "p2align" : { "e?e" , (*Assembler).assembleCommandP2Align }, +} + +func (self *Assembler) err(msg string) *SyntaxError { + return &SyntaxError { + Pos : -1, + Row : self.line.Row, + Src : self.line.Src, + Reason : msg, + } +} + +func (self *Assembler) eval(expr string) (int64, error) { + if exp, err := self.expr.SetSource(expr).Parse(nil); err != nil { + return 0, err + } else { + return exp.Evaluate() + } +} + +func (self *Assembler) checkArgs(i int, n int, v *ParsedCommand, isString bool) error { + if i >= len(v.Args) { + return self.err(fmt.Sprintf("command %s takes exact %d arguments", strconv.Quote(v.Cmd), n)) + } else if isString && !v.Args[i].IsString { + return self.err(fmt.Sprintf("argument %d of command %s must be a string", i + 1, strconv.Quote(v.Cmd))) + } else if !isString && v.Args[i].IsString { + return self.err(fmt.Sprintf("argument %d of command %s must be an expression", i + 1, strconv.Quote(v.Cmd))) + } else { + return nil + } +} + +func (self *Assembler) assembleLabel(p *Program, lb *ParsedLabel) error { + if v, err := self.repo.label(lb.Name); err != nil { + return err + } else { + p.Link(v) + return nil + } +} + +func (self *Assembler) assembleInstr(p *Program, line *ParsedInstruction) (err error) { + var ok bool + var pfx []byte + var ops []interface{} + var enc _InstructionEncoder + + /* convert to lower-case */ + opts := self.opts + name := strings.ToLower(line.Mnemonic) + + /* fix register-addressing branches if needed */ + if opts.InstructionAliasing && len(line.Operands) == 1 { + switch { + case name == "retq" : name = "ret" + case name == "movabsq" : name = "movq" + case name == "jmp" && line.Operands[0].Op != OpLabel : name = "jmpq" + case name == "jmpq" && line.Operands[0].Op == OpLabel : name = "jmp" + case name == "call" && line.Operands[0].Op != OpLabel : name = "callq" + case name == "callq" && line.Operands[0].Op == OpLabel : name = "call" + } + } + + /* lookup from the alias table if needed */ + if opts.InstructionAliasing { + enc, ok = _InstructionAliases[name] + } + + /* lookup from the instruction table */ + if !ok { + enc, ok = Instructions[name] + } + + /* remove size suffix if possible */ + if !ok && opts.InstructionAliasing { + switch i := len(name) - 1; name[i] { + case 'b', 'w', 'l', 'q': { + enc, ok = Instructions[name[:i]] + } + } + } + + /* check for instruction name */ + if !ok { + return self.err("no such instruction: " + strconv.Quote(name)) + } + + /* allocate memory for prefix if any */ + if len(line.Prefixes) != 0 { + pfx = make([]byte, len(line.Prefixes)) + } + + /* convert the prefixes */ + for i, v := range line.Prefixes { + switch v { + case PrefixLock : pfx[i] = _P_lock + case PrefixSegmentCS : pfx[i] = _P_cs + case PrefixSegmentDS : pfx[i] = _P_ds + case PrefixSegmentES : pfx[i] = _P_es + case PrefixSegmentFS : pfx[i] = _P_fs + case PrefixSegmentGS : pfx[i] = _P_gs + case PrefixSegmentSS : pfx[i] = _P_ss + default : panic("unreachable: invalid segment prefix") + } + } + + /* convert the operands */ + for _, op := range line.Operands { + switch op.Op { + case OpImm : ops = append(ops, op.Imm) + case OpReg : ops = append(ops, op.Reg) + case OpMem : self.assembleInstrMem(&ops, op.Memory) + case OpLabel : self.assembleInstrLabel(&ops, op.Label) + default : panic("parser yields an invalid operand kind") + } + } + + /* catch any exceptions in the encoder */ + defer func() { + if v := recover(); v != nil { + err = self.err(fmt.Sprint(v)) + } + }() + + /* encode the instruction */ + enc(p, ops...).prefix = pfx + return nil +} + +func (self *Assembler) assembleInstrMem(ops *[]interface{}, addr MemoryAddress) { + mem := new(MemoryOperand) + *ops = append(*ops, mem) + + /* check for RIP-relative addressing */ + if addr.Base != rip { + mem.Addr.Type = Memory + mem.Addr.Memory = addr + } else { + mem.Addr.Type = Offset + mem.Addr.Offset = RelativeOffset(addr.Displacement) + } +} + +func (self *Assembler) assembleInstrLabel(ops *[]interface{}, label ParsedLabel) { + vk := label.Kind + tr, err := self.repo.label(label.Name) + + /* check for errors */ + if err != nil { + panic(err) + } + + /* check for branch target */ + if vk == BranchTarget { + *ops = append(*ops, tr) + return + } + + /* add to ops */ + *ops = append(*ops, &MemoryOperand { + Addr: Addressable { + Type : Reference, + Reference : tr, + }, + }) +} + +func (self *Assembler) assembleCommand(p *Program, line *ParsedCommand) error { + var iv int + var cc rune + var ok bool + var va bool + var fn _Command + + /* find the command */ + if fn, ok = asmCommands[line.Cmd]; !ok { + if self.opts.IgnoreUnknownDirectives { + return nil + } else { + return self.err("no such command: " + strconv.Quote(line.Cmd)) + } + } + + /* expected & real argument count */ + argx := len(fn.args) + argc := len(line.Args) + + /* check the arguments */ + loop: for iv, cc = range fn.args { + switch cc { + case '?' : va = true; break loop + case 's' : if err := self.checkArgs(iv, argx, line, true) ; err != nil { return err } + case 'e' : if err := self.checkArgs(iv, argx, line, false) ; err != nil { return err } + default : panic("invalid argument descriptor: " + strconv.Quote(fn.args)) + } + } + + /* simple case: non-variadic command */ + if !va { + if argc == argx { + return fn.handler(self, p, line.Args) + } else { + return self.err(fmt.Sprintf("command %s takes exact %d arguments", strconv.Quote(line.Cmd), argx)) + } + } + + /* check for the descriptor */ + if iv != argx - 2 { + panic("invalid argument descriptor: " + strconv.Quote(fn.args)) + } + + /* variadic command and the final optional argument is set */ + if argc == argx - 1 { + switch fn.args[argx - 1] { + case 's' : if err := self.checkArgs(iv, -1, line, true) ; err != nil { return err } + case 'e' : if err := self.checkArgs(iv, -1, line, false) ; err != nil { return err } + default : panic("invalid argument descriptor: " + strconv.Quote(fn.args)) + } + } + + /* check argument count */ + if argc == argx - 1 || argc == argx - 2 { + return fn.handler(self, p, line.Args) + } else { + return self.err(fmt.Sprintf("command %s takes %d or %d arguments", strconv.Quote(line.Cmd), argx - 2, argx - 1)) + } +} + +func (self *Assembler) assembleCommandInt(p *Program, argv []ParsedCommandArg, addfn func(*Program, *expr.Expr) *Instruction) error { + var err error + var val *expr.Expr + + /* parse the expression */ + if val, err = self.expr.SetSource(argv[0].Value).Parse(&self.repo); err != nil { + return err + } + + /* add to the program */ + addfn(p, val) + return nil +} + +func (self *Assembler) assembleCommandOrg(_ *Program, argv []ParsedCommandArg) error { + var err error + var val int64 + + /* evaluate the expression */ + if val, err = self.eval(argv[0].Value); err != nil { + return err + } + + /* check for origin */ + if val < 0 { + return self.err(fmt.Sprintf("negative origin: %d", val)) + } + + /* ".org" must be the first command if any */ + if self.cc != 1 { + return self.err(".org must be the first command if present") + } + + /* set the initial program counter */ + self.pc = uintptr(val) + return nil +} + +func (self *Assembler) assembleCommandSet(_ *Program, argv []ParsedCommandArg) error { + var err error + var val *expr.Expr + + /* parse the expression */ + if val, err = self.expr.SetSource(argv[1].Value).Parse(&self.repo); err != nil { + return err + } + + /* define the new identifier */ + self.repo.define(argv[0].Value, val) + return nil +} + +func (self *Assembler) assembleCommandByte(p *Program, argv []ParsedCommandArg) error { + return self.assembleCommandInt(p, argv, (*Program).Byte) +} + +func (self *Assembler) assembleCommandWord(p *Program, argv []ParsedCommandArg) error { + return self.assembleCommandInt(p, argv, (*Program).Word) +} + +func (self *Assembler) assembleCommandLong(p *Program, argv []ParsedCommandArg) error { + return self.assembleCommandInt(p, argv, (*Program).Long) +} + +func (self *Assembler) assembleCommandQuad(p *Program, argv []ParsedCommandArg) error { + return self.assembleCommandInt(p, argv, (*Program).Quad) +} + +func (self *Assembler) assembleCommandFill(p *Program, argv []ParsedCommandArg) error { + var fv byte + var nb int64 + var ex error + + /* evaluate the size */ + if nb, ex = self.eval(argv[0].Value); ex != nil { + return ex + } + + /* check for filling size */ + if nb < 0 { + return self.err(fmt.Sprintf("negative filling size: %d", nb)) + } + + /* check for optional filling value */ + if len(argv) == 2 { + if val, err := self.eval(argv[1].Value); err != nil { + return err + } else if val < math.MinInt8 || val > math.MaxUint8 { + return self.err(fmt.Sprintf("value %d cannot be represented with a byte", val)) + } else { + fv = byte(val) + } + } + + /* fill with specified byte */ + p.Data(bytes.Repeat([]byte { fv }, int(nb))) + return nil +} + +func (self *Assembler) assembleCommandAlign(p *Program, argv []ParsedCommandArg) error { + var nb int64 + var ex error + var fv *expr.Expr + + /* evaluate the size */ + if nb, ex = self.eval(argv[0].Value); ex != nil { + return ex + } + + /* check for alignment value */ + if nb <= 0 { + return self.err(fmt.Sprintf("zero or negative alignment: %d", nb)) + } + + /* alignment must be a power of 2 */ + if (nb & (nb - 1)) != 0 { + return self.err(fmt.Sprintf("alignment must be a power of 2: %d", nb)) + } + + /* check for optional filling value */ + if len(argv) == 2 { + if v, err := self.expr.SetSource(argv[1].Value).Parse(&self.repo); err == nil { + fv = v + } else { + return err + } + } + + /* fill with specified byte, default to 0 if not specified */ + p.Align(uint64(nb), fv) + return nil +} + +func (self *Assembler) assembleCommandEntry(_ *Program, argv []ParsedCommandArg) error { + name := argv[0].Value + rbuf := []rune(name) + + /* check all the characters */ + for i, cc := range rbuf { + if !isident0(cc) && (i == 0 || !isident(cc)) { + return self.err("entry point must be a label name") + } + } + + /* set the main entry point */ + self.main = name + return nil +} + +func (self *Assembler) assembleCommandAscii(p *Program, argv []ParsedCommandArg) error { + p.Data([]byte(argv[0].Value)) + return nil +} + +func (self *Assembler) assembleCommandAsciz(p *Program, argv []ParsedCommandArg) error { + p.Data(append([]byte(argv[0].Value), 0)) + return nil +} + +func (self *Assembler) assembleCommandP2Align(p *Program, argv []ParsedCommandArg) error { + var nb int64 + var ex error + var fv *expr.Expr + + /* evaluate the size */ + if nb, ex = self.eval(argv[0].Value); ex != nil { + return ex + } + + /* check for alignment value */ + if nb <= 0 { + return self.err(fmt.Sprintf("zero or negative alignment: %d", nb)) + } + + /* check for optional filling value */ + if len(argv) == 2 { + if v, err := self.expr.SetSource(argv[1].Value).Parse(&self.repo); err == nil { + fv = v + } else { + return err + } + } + + /* fill with specified byte, default to 0 if not specified */ + p.Align(1 << nb, fv) + return nil +} + +// Base returns the origin. +func (self *Assembler) Base() uintptr { + return self.pc +} + +// Code returns the assembled machine code. +func (self *Assembler) Code() []byte { + return self.buf +} + +// Entry returns the address of the specified entry point, or the origin if not specified. +func (self *Assembler) Entry() uintptr { + if self.main == "" { + return self.pc + } else if tr, err := self.repo.Get(self.main); err != nil { + panic(err) + } else if val, err := tr.Evaluate(); err != nil { + panic(err) + } else { + return uintptr(val) + } +} + +// Options returns the internal options reference, changing it WILL affect this Assembler instance. +func (self *Assembler) Options() *Options { + return &self.opts +} + +// WithBase resets the origin to pc. +func (self *Assembler) WithBase(pc uintptr) *Assembler { + self.pc = pc + return self +} + +// Assemble assembles the assembly source and save the machine code to internal buffer. +func (self *Assembler) Assemble(src string) error { + var err error + var buf []*ParsedLine + + /* parse the source */ + if buf, err = self.ps.Parse(src); err != nil { + return err + } + + /* create a new program */ + p := DefaultArch.CreateProgram() + defer p.Free() + + /* process every line */ + for _, self.line = range buf { + switch self.cc++; self.line.Kind { + case LineLabel : if err = self.assembleLabel (p, &self.line.Label) ; err != nil { return err } + case LineInstr : if err = self.assembleInstr (p, &self.line.Instruction) ; err != nil { return err } + case LineCommand : if err = self.assembleCommand (p, &self.line.Command) ; err != nil { return err } + default : panic("parser yields an invalid line kind") + } + } + + /* assemble the program */ + self.buf = p.Assemble(self.pc) + return nil +} diff --git a/vendor/github.com/cloudwego/iasm/x86_64/assembler_alias.go b/vendor/github.com/cloudwego/iasm/x86_64/assembler_alias.go new file mode 100644 index 0000000..e8f1f72 --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/assembler_alias.go @@ -0,0 +1,49 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package x86_64 + +func alias_INT3(p *Program, vv ...interface{}) *Instruction { + if len(vv) == 0 { + return p.INT(3) + } else { + panic("instruction INT3 takes no operands") + } +} + +func alias_VCMPEQPS(p *Program, vv ...interface{}) *Instruction { + if len(vv) >= 3 { + return p.VCMPPS(0x00, vv[0], vv[1], vv[2], vv[3:]...) + } else { + panic("instruction VCMPEQPS takes 3 or 4 operands") + } +} + +func alias_VCMPTRUEPS(p *Program, vv ...interface{}) *Instruction { + if len(vv) >= 3 { + return p.VCMPPS(0x0f, vv[0], vv[1], vv[2], vv[3:]...) + } else { + panic("instruction VCMPTRUEPS takes 3 or 4 operands") + } +} + +var _InstructionAliases = map[string]_InstructionEncoder { + "int3" : alias_INT3, + "retq" : Instructions["ret"], + "movabsq" : Instructions["movq"], + "vcmpeqps" : alias_VCMPEQPS, + "vcmptrueps" : alias_VCMPTRUEPS, +} diff --git a/vendor/github.com/cloudwego/iasm/x86_64/eface.go b/vendor/github.com/cloudwego/iasm/x86_64/eface.go new file mode 100644 index 0000000..ad3967b --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/eface.go @@ -0,0 +1,79 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package x86_64 + +import ( + `reflect` + `unsafe` +) + +type _GoType struct { + size uintptr + pdata uintptr + hash uint32 + flags uint8 + align uint8 + falign uint8 + kflags uint8 + traits unsafe.Pointer + gcdata *byte + str int32 + ptrx int32 +} + +const ( + _KindMask = (1 << 5) - 1 +) + +func (self *_GoType) kind() reflect.Kind { + return reflect.Kind(self.kflags & _KindMask) +} + +type _GoSlice struct { + ptr unsafe.Pointer + len int + cap int +} + +type _GoEface struct { + vt *_GoType + ptr unsafe.Pointer +} + +func (self *_GoEface) kind() reflect.Kind { + if self.vt != nil { + return self.vt.kind() + } else { + return reflect.Invalid + } +} + +func (self *_GoEface) toInt64() int64 { + if self.vt.size == 8 { + return *(*int64)(self.ptr) + } else if self.vt.size == 4 { + return int64(*(*int32)(self.ptr)) + } else if self.vt.size == 2 { + return int64(*(*int16)(self.ptr)) + } else { + return int64(*(*int8)(self.ptr)) + } +} + +func efaceOf(v interface{}) _GoEface { + return *(*_GoEface)(unsafe.Pointer(&v)) +} diff --git a/vendor/github.com/cloudwego/iasm/x86_64/encodings.go b/vendor/github.com/cloudwego/iasm/x86_64/encodings.go new file mode 100644 index 0000000..a0d96db --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/encodings.go @@ -0,0 +1,691 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package x86_64 + +import ( + `encoding/binary` + `math` +) + +/** Operand Encoding Helpers **/ + +func imml(v interface{}) byte { + return byte(toImmAny(v) & 0x0f) +} + +func relv(v interface{}) int64 { + switch r := v.(type) { + case *Label : return 0 + case RelativeOffset : return int64(r) + default : panic("invalid relative offset") + } +} + +func addr(v interface{}) interface{} { + switch a := v.(*MemoryOperand).Addr; a.Type { + case Memory : return a.Memory + case Offset : return a.Offset + case Reference : return a.Reference + default : panic("invalid memory operand type") + } +} + +func bcode(v interface{}) byte { + if m, ok := v.(*MemoryOperand); !ok { + panic("v is not a memory operand") + } else if m.Broadcast == 0 { + return 0 + } else { + return 1 + } +} + +func vcode(v interface{}) byte { + switch r := v.(type) { + case XMMRegister : return byte(r) + case YMMRegister : return byte(r) + case ZMMRegister : return byte(r) + case MaskedRegister : return vcode(r.Reg) + default : panic("v is not a vector register") + } +} + +func kcode(v interface{}) byte { + switch r := v.(type) { + case KRegister : return byte(r) + case XMMRegister : return 0 + case YMMRegister : return 0 + case ZMMRegister : return 0 + case RegisterMask : return byte(r.K) + case MaskedRegister : return byte(r.Mask.K) + case *MemoryOperand : return toKcodeMem(r) + default : panic("v is not a maskable operand") + } +} + +func zcode(v interface{}) byte { + switch r := v.(type) { + case KRegister : return 0 + case XMMRegister : return 0 + case YMMRegister : return 0 + case ZMMRegister : return 0 + case RegisterMask : return toZcodeRegM(r) + case MaskedRegister : return toZcodeRegM(r.Mask) + case *MemoryOperand : return toZcodeMem(r) + default : panic("v is not a maskable operand") + } +} + +func lcode(v interface{}) byte { + switch r := v.(type) { + case Register8 : return byte(r & 0x07) + case Register16 : return byte(r & 0x07) + case Register32 : return byte(r & 0x07) + case Register64 : return byte(r & 0x07) + case KRegister : return byte(r & 0x07) + case MMRegister : return byte(r & 0x07) + case XMMRegister : return byte(r & 0x07) + case YMMRegister : return byte(r & 0x07) + case ZMMRegister : return byte(r & 0x07) + case MaskedRegister : return lcode(r.Reg) + default : panic("v is not a register") + } +} + +func hcode(v interface{}) byte { + switch r := v.(type) { + case Register8 : return byte(r >> 3) & 1 + case Register16 : return byte(r >> 3) & 1 + case Register32 : return byte(r >> 3) & 1 + case Register64 : return byte(r >> 3) & 1 + case KRegister : return byte(r >> 3) & 1 + case MMRegister : return byte(r >> 3) & 1 + case XMMRegister : return byte(r >> 3) & 1 + case YMMRegister : return byte(r >> 3) & 1 + case ZMMRegister : return byte(r >> 3) & 1 + case MaskedRegister : return hcode(r.Reg) + default : panic("v is not a register") + } +} + +func ecode(v interface{}) byte { + switch r := v.(type) { + case Register8 : return byte(r >> 4) & 1 + case Register16 : return byte(r >> 4) & 1 + case Register32 : return byte(r >> 4) & 1 + case Register64 : return byte(r >> 4) & 1 + case KRegister : return byte(r >> 4) & 1 + case MMRegister : return byte(r >> 4) & 1 + case XMMRegister : return byte(r >> 4) & 1 + case YMMRegister : return byte(r >> 4) & 1 + case ZMMRegister : return byte(r >> 4) & 1 + case MaskedRegister : return ecode(r.Reg) + default : panic("v is not a register") + } +} + +func hlcode(v interface{}) byte { + switch r := v.(type) { + case Register8 : return toHLcodeReg8(r) + case Register16 : return byte(r & 0x0f) + case Register32 : return byte(r & 0x0f) + case Register64 : return byte(r & 0x0f) + case KRegister : return byte(r & 0x0f) + case MMRegister : return byte(r & 0x0f) + case XMMRegister : return byte(r & 0x0f) + case YMMRegister : return byte(r & 0x0f) + case ZMMRegister : return byte(r & 0x0f) + case MaskedRegister : return hlcode(r.Reg) + default : panic("v is not a register") + } +} + +func ehcode(v interface{}) byte { + switch r := v.(type) { + case Register8 : return byte(r >> 3) & 0x03 + case Register16 : return byte(r >> 3) & 0x03 + case Register32 : return byte(r >> 3) & 0x03 + case Register64 : return byte(r >> 3) & 0x03 + case KRegister : return byte(r >> 3) & 0x03 + case MMRegister : return byte(r >> 3) & 0x03 + case XMMRegister : return byte(r >> 3) & 0x03 + case YMMRegister : return byte(r >> 3) & 0x03 + case ZMMRegister : return byte(r >> 3) & 0x03 + case MaskedRegister : return ehcode(r.Reg) + default : panic("v is not a register") + } +} + +func toImmAny(v interface{}) int64 { + if x, ok := asInt64(v); ok { + return x + } else { + panic("value is not an integer") + } +} + +func toHcodeOpt(v interface{}) byte { + if v == nil { + return 0 + } else { + return hcode(v) + } +} + +func toEcodeVMM(v interface{}, x byte) byte { + switch r := v.(type) { + case XMMRegister : return ecode(r) + case YMMRegister : return ecode(r) + case ZMMRegister : return ecode(r) + default : return x + } +} + +func toKcodeMem(v *MemoryOperand) byte { + if !v.Masked { + return 0 + } else { + return byte(v.Mask.K) + } +} + +func toZcodeMem(v *MemoryOperand) byte { + if !v.Masked || v.Mask.Z { + return 0 + } else { + return 1 + } +} + +func toZcodeRegM(v RegisterMask) byte { + if v.Z { + return 1 + } else { + return 0 + } +} + +func toHLcodeReg8(v Register8) byte { + switch v { + case AH: fallthrough + case BH: fallthrough + case CH: fallthrough + case DH: panic("ah/bh/ch/dh registers never use 4-bit encoding") + default: return byte(v & 0x0f) + } +} + +/** Instruction Encoding Helpers **/ + +const ( + _N_inst = 16 +) + +const ( + _F_rel1 = 1 << iota + _F_rel4 +) + +type _Encoding struct { + len int + flags int + bytes [_N_inst]byte + encoder func(m *_Encoding, v []interface{}) +} + +// buf ensures len + n <= len(bytes). +func (self *_Encoding) buf(n int) []byte { + if i := self.len; i + n > _N_inst { + panic("instruction too long") + } else { + return self.bytes[i:] + } +} + +// emit encodes a single byte. +func (self *_Encoding) emit(v byte) { + self.buf(1)[0] = v + self.len++ +} + +// imm1 encodes a single byte immediate value. +func (self *_Encoding) imm1(v int64) { + self.emit(byte(v)) +} + +// imm2 encodes a two-byte immediate value in little-endian. +func (self *_Encoding) imm2(v int64) { + binary.LittleEndian.PutUint16(self.buf(2), uint16(v)) + self.len += 2 +} + +// imm4 encodes a 4-byte immediate value in little-endian. +func (self *_Encoding) imm4(v int64) { + binary.LittleEndian.PutUint32(self.buf(4), uint32(v)) + self.len += 4 +} + +// imm8 encodes an 8-byte immediate value in little-endian. +func (self *_Encoding) imm8(v int64) { + binary.LittleEndian.PutUint64(self.buf(8), uint64(v)) + self.len += 8 +} + +// vex2 encodes a 2-byte or 3-byte VEX prefix. +// +// 2-byte VEX prefix: +// Requires: VEX.W = 0, VEX.mmmmm = 0b00001 and VEX.B = VEX.X = 0 +// +----------------+ +// Byte 0: | Bits 0-7: 0xc5 | +// +----------------+ +// +// +-----------+----------------+----------+--------------+ +// Byte 1: | Bit 7: ~R | Bits 3-6 ~vvvv | Bit 2: L | Bits 0-1: pp | +// +-----------+----------------+----------+--------------+ +// +// 3-byte VEX prefix: +// +----------------+ +// Byte 0: | Bits 0-7: 0xc4 | +// +----------------+ +// +// +-----------+-----------+-----------+-------------------+ +// Byte 1: | Bit 7: ~R | Bit 6: ~X | Bit 5: ~B | Bits 0-4: 0b00001 | +// +-----------+-----------+-----------+-------------------+ +// +// +----------+-----------------+----------+--------------+ +// Byte 2: | Bit 7: 0 | Bits 3-6: ~vvvv | Bit 2: L | Bits 0-1: pp | +// +----------+-----------------+----------+--------------+ +// +func (self *_Encoding) vex2(lpp byte, r byte, rm interface{}, vvvv byte) { + var b byte + var x byte + + /* VEX.R must be a single-bit mask */ + if r > 1 { + panic("VEX.R must be a 1-bit mask") + } + + /* VEX.Lpp must be a 3-bit mask */ + if lpp &^ 0b111 != 0 { + panic("VEX.Lpp must be a 3-bit mask") + } + + /* VEX.vvvv must be a 4-bit mask */ + if vvvv &^ 0b1111 != 0 { + panic("VEX.vvvv must be a 4-bit mask") + } + + /* encode the RM bits if any */ + if rm != nil { + switch v := rm.(type) { + case *Label : break + case Register : b = hcode(v) + case MemoryAddress : b, x = toHcodeOpt(v.Base), toHcodeOpt(v.Index) + case RelativeOffset : break + default : panic("rm is expected to be a register or a memory address") + } + } + + /* if VEX.B and VEX.X are zeroes, 2-byte VEX prefix can be used */ + if x == 0 && b == 0 { + self.emit(0xc5) + self.emit(0xf8 ^ (r << 7) ^ (vvvv << 3) ^ lpp) + } else { + self.emit(0xc4) + self.emit(0xe1 ^ (r << 7) ^ (x << 6) ^ (b << 5)) + self.emit(0x78 ^ (vvvv << 3) ^ lpp) + } +} + +// vex3 encodes a 3-byte VEX or XOP prefix. +// +// 3-byte VEX/XOP prefix +// +-----------------------------------+ +// Byte 0: | Bits 0-7: 0xc4 (VEX) / 0x8f (XOP) | +// +-----------------------------------+ +// +// +-----------+-----------+-----------+-----------------+ +// Byte 1: | Bit 7: ~R | Bit 6: ~X | Bit 5: ~B | Bits 0-4: mmmmm | +// +-----------+-----------+-----------+-----------------+ +// +// +----------+-----------------+----------+--------------+ +// Byte 2: | Bit 7: W | Bits 3-6: ~vvvv | Bit 2: L | Bits 0-1: pp | +// +----------+-----------------+----------+--------------+ +// +func (self *_Encoding) vex3(esc byte, mmmmm byte, wlpp byte, r byte, rm interface{}, vvvv byte) { + var b byte + var x byte + + /* VEX.R must be a single-bit mask */ + if r > 1 { + panic("VEX.R must be a 1-bit mask") + } + + /* VEX.vvvv must be a 4-bit mask */ + if vvvv &^ 0b1111 != 0 { + panic("VEX.vvvv must be a 4-bit mask") + } + + /* escape must be a 3-byte VEX (0xc4) or XOP (0x8f) prefix */ + if esc != 0xc4 && esc != 0x8f { + panic("escape must be a 3-byte VEX (0xc4) or XOP (0x8f) prefix") + } + + /* VEX.W____Lpp is expected to have no bits set except 0, 1, 2 and 7 */ + if wlpp &^ 0b10000111 != 0 { + panic("VEX.W____Lpp is expected to have no bits set except 0, 1, 2 and 7") + } + + /* VEX.m-mmmm is expected to be a 5-bit mask */ + if mmmmm &^ 0b11111 != 0 { + panic("VEX.m-mmmm is expected to be a 5-bit mask") + } + + /* encode the RM bits */ + switch v := rm.(type) { + case *Label : break + case MemoryAddress : b, x = toHcodeOpt(v.Base), toHcodeOpt(v.Index) + case RelativeOffset : break + default : panic("rm is expected to be a register or a memory address") + } + + /* encode the 3-byte VEX or XOP prefix */ + self.emit(esc) + self.emit(0xe0 ^ (r << 7) ^ (x << 6) ^ (b << 5) ^ mmmmm) + self.emit(0x78 ^ (vvvv << 3) ^ wlpp) +} + +// evex encodes a 4-byte EVEX prefix. +func (self *_Encoding) evex(mm byte, w1pp byte, ll byte, rr byte, rm interface{}, vvvvv byte, aaa byte, zz byte, bb byte) { + var b byte + var x byte + + /* EVEX.b must be a single-bit mask */ + if bb > 1 { + panic("EVEX.b must be a 1-bit mask") + } + + /* EVEX.z must be a single-bit mask */ + if zz > 1 { + panic("EVEX.z must be a 1-bit mask") + } + + /* EVEX.mm must be a 2-bit mask */ + if mm &^ 0b11 != 0 { + panic("EVEX.mm must be a 2-bit mask") + } + + /* EVEX.L'L must be a 2-bit mask */ + if ll &^ 0b11 != 0 { + panic("EVEX.L'L must be a 2-bit mask") + } + + /* EVEX.R'R must be a 2-bit mask */ + if rr &^ 0b11 != 0 { + panic("EVEX.R'R must be a 2-bit mask") + } + + /* EVEX.aaa must be a 3-bit mask */ + if aaa &^ 0b111 != 0 { + panic("EVEX.aaa must be a 3-bit mask") + } + + /* EVEX.v'vvvv must be a 5-bit mask */ + if vvvvv &^ 0b11111 != 0 { + panic("EVEX.v'vvvv must be a 5-bit mask") + } + + /* EVEX.W____1pp is expected to have no bits set except 0, 1, 2, and 7 */ + if w1pp &^ 0b10000011 != 0b100 { + panic("EVEX.W____1pp is expected to have no bits set except 0, 1, 2, and 7") + } + + /* extract bits from EVEX.R'R and EVEX.v'vvvv */ + r1, r0 := rr >> 1, rr & 1 + v1, v0 := vvvvv >> 4, vvvvv & 0b1111 + + /* encode the RM bits if any */ + if rm != nil { + switch m := rm.(type) { + case *Label : break + case Register : b, x = hcode(m), ecode(m) + case MemoryAddress : b, x, v1 = toHcodeOpt(m.Base), toHcodeOpt(m.Index), toEcodeVMM(m.Index, v1) + case RelativeOffset : break + default : panic("rm is expected to be a register or a memory address") + } + } + + /* EVEX prefix bytes */ + p0 := (r0 << 7) | (x << 6) | (b << 5) | (r1 << 4) | mm + p1 := (v0 << 3) | w1pp + p2 := (zz << 7) | (ll << 5) | (b << 4) | (v1 << 3) | aaa + + /* p0: invert RXBR' (bits 4-7) + * p1: invert vvvv (bits 3-6) + * p2: invert V' (bit 3) */ + self.emit(0x62) + self.emit(p0 ^ 0xf0) + self.emit(p1 ^ 0x78) + self.emit(p2 ^ 0x08) +} + +// rexm encodes a mandatory REX prefix. +func (self *_Encoding) rexm(w byte, r byte, rm interface{}) { + var b byte + var x byte + + /* REX.R must be 0 or 1 */ + if r != 0 && r != 1 { + panic("REX.R must be 0 or 1") + } + + /* REX.W must be 0 or 1 */ + if w != 0 && w != 1 { + panic("REX.W must be 0 or 1") + } + + /* encode the RM bits */ + switch v := rm.(type) { + case *Label : break + case MemoryAddress : b, x = toHcodeOpt(v.Base), toHcodeOpt(v.Index) + case RelativeOffset : break + default : panic("rm is expected to be a register or a memory address") + } + + /* encode the REX prefix */ + self.emit(0x40 | (w << 3) | (r << 2) | (x << 1) | b) +} + +// rexo encodes an optional REX prefix. +func (self *_Encoding) rexo(r byte, rm interface{}, force bool) { + var b byte + var x byte + + /* REX.R must be 0 or 1 */ + if r != 0 && r != 1 { + panic("REX.R must be 0 or 1") + } + + /* encode the RM bits */ + switch v := rm.(type) { + case *Label : break + case Register : b = hcode(v) + case MemoryAddress : b, x = toHcodeOpt(v.Base), toHcodeOpt(v.Index) + case RelativeOffset : break + default : panic("rm is expected to be a register or a memory address") + } + + /* if REX.R, REX.X, and REX.B are all zeroes, REX prefix can be omitted */ + if force || r != 0 || x != 0 || b != 0 { + self.emit(0x40 | (r << 2) | (x << 1) | b) + } +} + +// mrsd encodes ModR/M, SIB and Displacement. +// +// ModR/M byte +// +----------------+---------------+---------------+ +// | Bits 6-7: Mode | Bits 3-5: Reg | Bits 0-2: R/M | +// +----------------+---------------+---------------+ +// +// SIB byte +// +-----------------+-----------------+----------------+ +// | Bits 6-7: Scale | Bits 3-5: Index | Bits 0-2: Base | +// +-----------------+-----------------+----------------+ +// +func (self *_Encoding) mrsd(reg byte, rm interface{}, disp8v int32) { + var ok bool + var mm MemoryAddress + var ro RelativeOffset + + /* ModRM encodes the lower 3-bit of the register */ + if reg > 7 { + panic("invalid register bits") + } + + /* check the displacement scale */ + switch disp8v { + case 1: break + case 2: break + case 4: break + case 8: break + case 16: break + case 32: break + case 64: break + default: panic("invalid displacement size") + } + + /* special case: unresolved labels, assuming a zero offset */ + if _, ok = rm.(*Label); ok { + self.emit(0x05 | (reg << 3)) + self.imm4(0) + return + } + + /* special case: RIP-relative offset + * ModRM.Mode == 0 and ModeRM.R/M == 5 indicates (rip + disp32) addressing */ + if ro, ok = rm.(RelativeOffset); ok { + self.emit(0x05 | (reg << 3)) + self.imm4(int64(ro)) + return + } + + /* must be a generic memory address */ + if mm, ok = rm.(MemoryAddress); !ok { + panic("rm must be a memory address") + } + + /* absolute addressing, encoded as disp(%rbp,%rsp,1) */ + if mm.Base == nil && mm.Index == nil { + self.emit(0x04 | (reg << 3)) + self.emit(0x25) + self.imm4(int64(mm.Displacement)) + return + } + + /* no SIB byte */ + if mm.Index == nil && lcode(mm.Base) != 0b100 { + cc := lcode(mm.Base) + dv := mm.Displacement + + /* ModRM.Mode == 0 (no displacement) */ + if dv == 0 && mm.Base != RBP && mm.Base != R13 { + if cc == 0b101 { + panic("rbp/r13 is not encodable as a base register (interpreted as disp32 address)") + } else { + self.emit((reg << 3) | cc) + return + } + } + + /* ModRM.Mode == 1 (8-bit displacement) */ + if dq := dv / disp8v; dq >= math.MinInt8 && dq <= math.MaxInt8 && dv % disp8v == 0 { + self.emit(0x40 | (reg << 3) | cc) + self.imm1(int64(dq)) + return + } + + /* ModRM.Mode == 2 (32-bit displacement) */ + self.emit(0x80 | (reg << 3) | cc) + self.imm4(int64(mm.Displacement)) + return + } + + /* all encodings below use ModRM.R/M = 4 (0b100) to indicate the presence of SIB */ + if mm.Index == RSP { + panic("rsp is not encodable as an index register (interpreted as no index)") + } + + /* index = 4 (0b100) denotes no-index encoding */ + var scale byte + var index byte = 0x04 + + /* encode the scale byte */ + if mm.Scale != 0 { + switch mm.Scale { + case 1 : scale = 0 + case 2 : scale = 1 + case 4 : scale = 2 + case 8 : scale = 3 + default : panic("invalid scale value") + } + } + + /* encode the index byte */ + if mm.Index != nil { + index = lcode(mm.Index) + } + + /* SIB.Base = 5 (0b101) and ModRM.Mode = 0 indicates no-base encoding with disp32 */ + if mm.Base == nil { + self.emit((reg << 3) | 0b100) + self.emit((scale << 6) | (index << 3) | 0b101) + self.imm4(int64(mm.Displacement)) + return + } + + /* base L-code & displacement value */ + cc := lcode(mm.Base) + dv := mm.Displacement + + /* ModRM.Mode == 0 (no displacement) */ + if dv == 0 && cc != 0b101 { + self.emit((reg << 3) | 0b100) + self.emit((scale << 6) | (index << 3) | cc) + return + } + + /* ModRM.Mode == 1 (8-bit displacement) */ + if dq := dv / disp8v; dq >= math.MinInt8 && dq <= math.MaxInt8 && dv % disp8v == 0 { + self.emit(0x44 | (reg << 3)) + self.emit((scale << 6) | (index << 3) | cc) + self.imm1(int64(dq)) + return + } + + /* ModRM.Mode == 2 (32-bit displacement) */ + self.emit(0x84 | (reg << 3)) + self.emit((scale << 6) | (index << 3) | cc) + self.imm4(int64(mm.Displacement)) +} + +// encode invokes the encoder to encode this instruction. +func (self *_Encoding) encode(v []interface{}) int { + self.len = 0 + self.encoder(self, v) + return self.len +} diff --git a/vendor/github.com/cloudwego/iasm/x86_64/instructions.go b/vendor/github.com/cloudwego/iasm/x86_64/instructions.go new file mode 100644 index 0000000..d9c0690 --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/instructions.go @@ -0,0 +1,97210 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Code generated by "mkasm_amd64.py", DO NOT EDIT. + +package x86_64 + +// ADCB performs "Add with Carry". +// +// Mnemonic : ADC +// Supported forms : (6 forms) +// +// * ADCB imm8, al +// * ADCB imm8, r8 +// * ADCB r8, r8 +// * ADCB m8, r8 +// * ADCB imm8, m8 +// * ADCB r8, m8 +// +func (self *Program) ADCB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADCB", 2, Operands { v0, v1 }) + // ADCB imm8, al + if isImm8(v0) && v1 == AL { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x14) + m.imm1(toImmAny(v[0])) + }) + } + // ADCB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0x80) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ADCB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x10) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADCB m8, r8 + if isM8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), isReg8REX(v[1])) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ADCB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x80) + m.mrsd(2, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ADCB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x10) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADCB") + } + return p +} + +// ADCL performs "Add with Carry". +// +// Mnemonic : ADC +// Supported forms : (8 forms) +// +// * ADCL imm32, eax +// * ADCL imm8, r32 +// * ADCL imm32, r32 +// * ADCL r32, r32 +// * ADCL m32, r32 +// * ADCL imm8, m32 +// * ADCL imm32, m32 +// * ADCL r32, m32 +// +func (self *Program) ADCL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADCL", 2, Operands { v0, v1 }) + // ADCL imm32, eax + if isImm32(v0) && v1 == EAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x15) + m.imm4(toImmAny(v[0])) + }) + } + // ADCL imm8, r32 + if isImm8Ext(v0, 4) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ADCL imm32, r32 + if isImm32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xd0 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // ADCL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x13) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADCL m32, r32 + if isM32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x13) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ADCL imm8, m32 + if isImm8Ext(v0, 4) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(2, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ADCL imm32, m32 + if isImm32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(2, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // ADCL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADCL") + } + return p +} + +// ADCQ performs "Add with Carry". +// +// Mnemonic : ADC +// Supported forms : (8 forms) +// +// * ADCQ imm32, rax +// * ADCQ imm8, r64 +// * ADCQ imm32, r64 +// * ADCQ r64, r64 +// * ADCQ m64, r64 +// * ADCQ imm8, m64 +// * ADCQ imm32, m64 +// * ADCQ r64, m64 +// +func (self *Program) ADCQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADCQ", 2, Operands { v0, v1 }) + // ADCQ imm32, rax + if isImm32(v0) && v1 == RAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48) + m.emit(0x15) + m.imm4(toImmAny(v[0])) + }) + } + // ADCQ imm8, r64 + if isImm8Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x83) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ADCQ imm32, r64 + if isImm32Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x81) + m.emit(0xd0 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // ADCQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x13) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADCQ m64, r64 + if isM64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x13) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ADCQ imm8, m64 + if isImm8Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x83) + m.mrsd(2, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ADCQ imm32, m64 + if isImm32Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x81) + m.mrsd(2, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // ADCQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADCQ") + } + return p +} + +// ADCW performs "Add with Carry". +// +// Mnemonic : ADC +// Supported forms : (8 forms) +// +// * ADCW imm16, ax +// * ADCW imm8, r16 +// * ADCW imm16, r16 +// * ADCW r16, r16 +// * ADCW m16, r16 +// * ADCW imm8, m16 +// * ADCW imm16, m16 +// * ADCW r16, m16 +// +func (self *Program) ADCW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADCW", 2, Operands { v0, v1 }) + // ADCW imm16, ax + if isImm16(v0) && v1 == AX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x15) + m.imm2(toImmAny(v[0])) + }) + } + // ADCW imm8, r16 + if isImm8Ext(v0, 2) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ADCW imm16, r16 + if isImm16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xd0 | lcode(v[1])) + m.imm2(toImmAny(v[0])) + }) + } + // ADCW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x13) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADCW m16, r16 + if isM16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x13) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ADCW imm8, m16 + if isImm8Ext(v0, 2) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(2, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ADCW imm16, m16 + if isImm16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(2, addr(v[1]), 1) + m.imm2(toImmAny(v[0])) + }) + } + // ADCW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADCW") + } + return p +} + +// ADCXL performs "Unsigned Integer Addition of Two Operands with Carry Flag". +// +// Mnemonic : ADCX +// Supported forms : (2 forms) +// +// * ADCXL r32, r32 [ADX] +// * ADCXL m32, r32 [ADX] +// +func (self *Program) ADCXL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADCXL", 2, Operands { v0, v1 }) + // ADCXL r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_ADX) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADCXL m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_ADX) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADCXL") + } + return p +} + +// ADCXQ performs "Unsigned Integer Addition of Two Operands with Carry Flag". +// +// Mnemonic : ADCX +// Supported forms : (2 forms) +// +// * ADCXQ r64, r64 [ADX] +// * ADCXQ m64, r64 [ADX] +// +func (self *Program) ADCXQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADCXQ", 2, Operands { v0, v1 }) + // ADCXQ r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_ADX) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADCXQ m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_ADX) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADCXQ") + } + return p +} + +// ADDB performs "Add". +// +// Mnemonic : ADD +// Supported forms : (6 forms) +// +// * ADDB imm8, al +// * ADDB imm8, r8 +// * ADDB r8, r8 +// * ADDB m8, r8 +// * ADDB imm8, m8 +// * ADDB r8, m8 +// +func (self *Program) ADDB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADDB", 2, Operands { v0, v1 }) + // ADDB imm8, al + if isImm8(v0) && v1 == AL { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x04) + m.imm1(toImmAny(v[0])) + }) + } + // ADDB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0x80) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ADDB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x00) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x02) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADDB m8, r8 + if isM8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), isReg8REX(v[1])) + m.emit(0x02) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ADDB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x80) + m.mrsd(0, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ADDB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x00) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADDB") + } + return p +} + +// ADDL performs "Add". +// +// Mnemonic : ADD +// Supported forms : (8 forms) +// +// * ADDL imm32, eax +// * ADDL imm8, r32 +// * ADDL imm32, r32 +// * ADDL r32, r32 +// * ADDL m32, r32 +// * ADDL imm8, m32 +// * ADDL imm32, m32 +// * ADDL r32, m32 +// +func (self *Program) ADDL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADDL", 2, Operands { v0, v1 }) + // ADDL imm32, eax + if isImm32(v0) && v1 == EAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x05) + m.imm4(toImmAny(v[0])) + }) + } + // ADDL imm8, r32 + if isImm8Ext(v0, 4) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ADDL imm32, r32 + if isImm32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xc0 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // ADDL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x01) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x03) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADDL m32, r32 + if isM32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x03) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ADDL imm8, m32 + if isImm8Ext(v0, 4) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(0, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ADDL imm32, m32 + if isImm32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(0, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // ADDL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x01) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADDL") + } + return p +} + +// ADDPD performs "Add Packed Double-Precision Floating-Point Values". +// +// Mnemonic : ADDPD +// Supported forms : (2 forms) +// +// * ADDPD xmm, xmm [SSE2] +// * ADDPD m128, xmm [SSE2] +// +func (self *Program) ADDPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADDPD", 2, Operands { v0, v1 }) + // ADDPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x58) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADDPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x58) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADDPD") + } + return p +} + +// ADDPS performs "Add Packed Single-Precision Floating-Point Values". +// +// Mnemonic : ADDPS +// Supported forms : (2 forms) +// +// * ADDPS xmm, xmm [SSE] +// * ADDPS m128, xmm [SSE] +// +func (self *Program) ADDPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADDPS", 2, Operands { v0, v1 }) + // ADDPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x58) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADDPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x58) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADDPS") + } + return p +} + +// ADDQ performs "Add". +// +// Mnemonic : ADD +// Supported forms : (8 forms) +// +// * ADDQ imm32, rax +// * ADDQ imm8, r64 +// * ADDQ imm32, r64 +// * ADDQ r64, r64 +// * ADDQ m64, r64 +// * ADDQ imm8, m64 +// * ADDQ imm32, m64 +// * ADDQ r64, m64 +// +func (self *Program) ADDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADDQ", 2, Operands { v0, v1 }) + // ADDQ imm32, rax + if isImm32(v0) && v1 == RAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48) + m.emit(0x05) + m.imm4(toImmAny(v[0])) + }) + } + // ADDQ imm8, r64 + if isImm8Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x83) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ADDQ imm32, r64 + if isImm32Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x81) + m.emit(0xc0 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // ADDQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x01) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x03) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADDQ m64, r64 + if isM64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x03) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ADDQ imm8, m64 + if isImm8Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x83) + m.mrsd(0, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ADDQ imm32, m64 + if isImm32Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x81) + m.mrsd(0, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // ADDQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x01) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADDQ") + } + return p +} + +// ADDSD performs "Add Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : ADDSD +// Supported forms : (2 forms) +// +// * ADDSD xmm, xmm [SSE2] +// * ADDSD m64, xmm [SSE2] +// +func (self *Program) ADDSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADDSD", 2, Operands { v0, v1 }) + // ADDSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x58) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADDSD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x58) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADDSD") + } + return p +} + +// ADDSS performs "Add Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : ADDSS +// Supported forms : (2 forms) +// +// * ADDSS xmm, xmm [SSE] +// * ADDSS m32, xmm [SSE] +// +func (self *Program) ADDSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADDSS", 2, Operands { v0, v1 }) + // ADDSS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x58) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADDSS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x58) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADDSS") + } + return p +} + +// ADDSUBPD performs "Packed Double-FP Add/Subtract". +// +// Mnemonic : ADDSUBPD +// Supported forms : (2 forms) +// +// * ADDSUBPD xmm, xmm [SSE3] +// * ADDSUBPD m128, xmm [SSE3] +// +func (self *Program) ADDSUBPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADDSUBPD", 2, Operands { v0, v1 }) + // ADDSUBPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd0) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADDSUBPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd0) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADDSUBPD") + } + return p +} + +// ADDSUBPS performs "Packed Single-FP Add/Subtract". +// +// Mnemonic : ADDSUBPS +// Supported forms : (2 forms) +// +// * ADDSUBPS xmm, xmm [SSE3] +// * ADDSUBPS m128, xmm [SSE3] +// +func (self *Program) ADDSUBPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADDSUBPS", 2, Operands { v0, v1 }) + // ADDSUBPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd0) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADDSUBPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd0) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADDSUBPS") + } + return p +} + +// ADDW performs "Add". +// +// Mnemonic : ADD +// Supported forms : (8 forms) +// +// * ADDW imm16, ax +// * ADDW imm8, r16 +// * ADDW imm16, r16 +// * ADDW r16, r16 +// * ADDW m16, r16 +// * ADDW imm8, m16 +// * ADDW imm16, m16 +// * ADDW r16, m16 +// +func (self *Program) ADDW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADDW", 2, Operands { v0, v1 }) + // ADDW imm16, ax + if isImm16(v0) && v1 == AX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x05) + m.imm2(toImmAny(v[0])) + }) + } + // ADDW imm8, r16 + if isImm8Ext(v0, 2) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ADDW imm16, r16 + if isImm16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xc0 | lcode(v[1])) + m.imm2(toImmAny(v[0])) + }) + } + // ADDW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x01) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x03) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADDW m16, r16 + if isM16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x03) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ADDW imm8, m16 + if isImm8Ext(v0, 2) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(0, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ADDW imm16, m16 + if isImm16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(0, addr(v[1]), 1) + m.imm2(toImmAny(v[0])) + }) + } + // ADDW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x01) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADDW") + } + return p +} + +// ADOXL performs "Unsigned Integer Addition of Two Operands with Overflow Flag". +// +// Mnemonic : ADOX +// Supported forms : (2 forms) +// +// * ADOXL r32, r32 [ADX] +// * ADOXL m32, r32 [ADX] +// +func (self *Program) ADOXL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADOXL", 2, Operands { v0, v1 }) + // ADOXL r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_ADX) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADOXL m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_ADX) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADOXL") + } + return p +} + +// ADOXQ performs "Unsigned Integer Addition of Two Operands with Overflow Flag". +// +// Mnemonic : ADOX +// Supported forms : (2 forms) +// +// * ADOXQ r64, r64 [ADX] +// * ADOXQ m64, r64 [ADX] +// +func (self *Program) ADOXQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ADOXQ", 2, Operands { v0, v1 }) + // ADOXQ r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_ADX) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ADOXQ m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_ADX) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ADOXQ") + } + return p +} + +// AESDEC performs "Perform One Round of an AES Decryption Flow". +// +// Mnemonic : AESDEC +// Supported forms : (2 forms) +// +// * AESDEC xmm, xmm [AES] +// * AESDEC m128, xmm [AES] +// +func (self *Program) AESDEC(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("AESDEC", 2, Operands { v0, v1 }) + // AESDEC xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xde) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // AESDEC m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xde) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for AESDEC") + } + return p +} + +// AESDECLAST performs "Perform Last Round of an AES Decryption Flow". +// +// Mnemonic : AESDECLAST +// Supported forms : (2 forms) +// +// * AESDECLAST xmm, xmm [AES] +// * AESDECLAST m128, xmm [AES] +// +func (self *Program) AESDECLAST(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("AESDECLAST", 2, Operands { v0, v1 }) + // AESDECLAST xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // AESDECLAST m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xdf) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for AESDECLAST") + } + return p +} + +// AESENC performs "Perform One Round of an AES Encryption Flow". +// +// Mnemonic : AESENC +// Supported forms : (2 forms) +// +// * AESENC xmm, xmm [AES] +// * AESENC m128, xmm [AES] +// +func (self *Program) AESENC(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("AESENC", 2, Operands { v0, v1 }) + // AESENC xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xdc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // AESENC m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xdc) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for AESENC") + } + return p +} + +// AESENCLAST performs "Perform Last Round of an AES Encryption Flow". +// +// Mnemonic : AESENCLAST +// Supported forms : (2 forms) +// +// * AESENCLAST xmm, xmm [AES] +// * AESENCLAST m128, xmm [AES] +// +func (self *Program) AESENCLAST(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("AESENCLAST", 2, Operands { v0, v1 }) + // AESENCLAST xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xdd) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // AESENCLAST m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xdd) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for AESENCLAST") + } + return p +} + +// AESIMC performs "Perform the AES InvMixColumn Transformation". +// +// Mnemonic : AESIMC +// Supported forms : (2 forms) +// +// * AESIMC xmm, xmm [AES] +// * AESIMC m128, xmm [AES] +// +func (self *Program) AESIMC(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("AESIMC", 2, Operands { v0, v1 }) + // AESIMC xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // AESIMC m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xdb) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for AESIMC") + } + return p +} + +// AESKEYGENASSIST performs "AES Round Key Generation Assist". +// +// Mnemonic : AESKEYGENASSIST +// Supported forms : (2 forms) +// +// * AESKEYGENASSIST imm8, xmm, xmm [AES] +// * AESKEYGENASSIST imm8, m128, xmm [AES] +// +func (self *Program) AESKEYGENASSIST(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("AESKEYGENASSIST", 3, Operands { v0, v1, v2 }) + // AESKEYGENASSIST imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // AESKEYGENASSIST imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0xdf) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for AESKEYGENASSIST") + } + return p +} + +// ANDB performs "Logical AND". +// +// Mnemonic : AND +// Supported forms : (6 forms) +// +// * ANDB imm8, al +// * ANDB imm8, r8 +// * ANDB r8, r8 +// * ANDB m8, r8 +// * ANDB imm8, m8 +// * ANDB r8, m8 +// +func (self *Program) ANDB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ANDB", 2, Operands { v0, v1 }) + // ANDB imm8, al + if isImm8(v0) && v1 == AL { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x24) + m.imm1(toImmAny(v[0])) + }) + } + // ANDB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0x80) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ANDB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x20) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x22) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ANDB m8, r8 + if isM8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), isReg8REX(v[1])) + m.emit(0x22) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ANDB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x80) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ANDB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x20) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ANDB") + } + return p +} + +// ANDL performs "Logical AND". +// +// Mnemonic : AND +// Supported forms : (8 forms) +// +// * ANDL imm32, eax +// * ANDL imm8, r32 +// * ANDL imm32, r32 +// * ANDL r32, r32 +// * ANDL m32, r32 +// * ANDL imm8, m32 +// * ANDL imm32, m32 +// * ANDL r32, m32 +// +func (self *Program) ANDL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ANDL", 2, Operands { v0, v1 }) + // ANDL imm32, eax + if isImm32(v0) && v1 == EAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x25) + m.imm4(toImmAny(v[0])) + }) + } + // ANDL imm8, r32 + if isImm8Ext(v0, 4) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ANDL imm32, r32 + if isImm32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xe0 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // ANDL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x21) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x23) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ANDL m32, r32 + if isM32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x23) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ANDL imm8, m32 + if isImm8Ext(v0, 4) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ANDL imm32, m32 + if isImm32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(4, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // ANDL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x21) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ANDL") + } + return p +} + +// ANDNL performs "Logical AND NOT". +// +// Mnemonic : ANDN +// Supported forms : (2 forms) +// +// * ANDNL r32, r32, r32 [BMI] +// * ANDNL m32, r32, r32 [BMI] +// +func (self *Program) ANDNL(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("ANDNL", 3, Operands { v0, v1, v2 }) + // ANDNL r32, r32, r32 + if isReg32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0xf2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // ANDNL m32, r32, r32 + if isM32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x00, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf2) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ANDNL") + } + return p +} + +// ANDNPD performs "Bitwise Logical AND NOT of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : ANDNPD +// Supported forms : (2 forms) +// +// * ANDNPD xmm, xmm [SSE2] +// * ANDNPD m128, xmm [SSE2] +// +func (self *Program) ANDNPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ANDNPD", 2, Operands { v0, v1 }) + // ANDNPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x55) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ANDNPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x55) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ANDNPD") + } + return p +} + +// ANDNPS performs "Bitwise Logical AND NOT of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : ANDNPS +// Supported forms : (2 forms) +// +// * ANDNPS xmm, xmm [SSE] +// * ANDNPS m128, xmm [SSE] +// +func (self *Program) ANDNPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ANDNPS", 2, Operands { v0, v1 }) + // ANDNPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x55) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ANDNPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x55) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ANDNPS") + } + return p +} + +// ANDNQ performs "Logical AND NOT". +// +// Mnemonic : ANDN +// Supported forms : (2 forms) +// +// * ANDNQ r64, r64, r64 [BMI] +// * ANDNQ m64, r64, r64 [BMI] +// +func (self *Program) ANDNQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("ANDNQ", 3, Operands { v0, v1, v2 }) + // ANDNQ r64, r64, r64 + if isReg64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0xf2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // ANDNQ m64, r64, r64 + if isM64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf2) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ANDNQ") + } + return p +} + +// ANDPD performs "Bitwise Logical AND of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : ANDPD +// Supported forms : (2 forms) +// +// * ANDPD xmm, xmm [SSE2] +// * ANDPD m128, xmm [SSE2] +// +func (self *Program) ANDPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ANDPD", 2, Operands { v0, v1 }) + // ANDPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x54) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ANDPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x54) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ANDPD") + } + return p +} + +// ANDPS performs "Bitwise Logical AND of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : ANDPS +// Supported forms : (2 forms) +// +// * ANDPS xmm, xmm [SSE] +// * ANDPS m128, xmm [SSE] +// +func (self *Program) ANDPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ANDPS", 2, Operands { v0, v1 }) + // ANDPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x54) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ANDPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x54) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ANDPS") + } + return p +} + +// ANDQ performs "Logical AND". +// +// Mnemonic : AND +// Supported forms : (8 forms) +// +// * ANDQ imm32, rax +// * ANDQ imm8, r64 +// * ANDQ imm32, r64 +// * ANDQ r64, r64 +// * ANDQ m64, r64 +// * ANDQ imm8, m64 +// * ANDQ imm32, m64 +// * ANDQ r64, m64 +// +func (self *Program) ANDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ANDQ", 2, Operands { v0, v1 }) + // ANDQ imm32, rax + if isImm32(v0) && v1 == RAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48) + m.emit(0x25) + m.imm4(toImmAny(v[0])) + }) + } + // ANDQ imm8, r64 + if isImm8Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x83) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ANDQ imm32, r64 + if isImm32Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x81) + m.emit(0xe0 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // ANDQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x21) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x23) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ANDQ m64, r64 + if isM64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x23) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ANDQ imm8, m64 + if isImm8Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x83) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ANDQ imm32, m64 + if isImm32Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x81) + m.mrsd(4, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // ANDQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x21) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ANDQ") + } + return p +} + +// ANDW performs "Logical AND". +// +// Mnemonic : AND +// Supported forms : (8 forms) +// +// * ANDW imm16, ax +// * ANDW imm8, r16 +// * ANDW imm16, r16 +// * ANDW r16, r16 +// * ANDW m16, r16 +// * ANDW imm8, m16 +// * ANDW imm16, m16 +// * ANDW r16, m16 +// +func (self *Program) ANDW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ANDW", 2, Operands { v0, v1 }) + // ANDW imm16, ax + if isImm16(v0) && v1 == AX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x25) + m.imm2(toImmAny(v[0])) + }) + } + // ANDW imm8, r16 + if isImm8Ext(v0, 2) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ANDW imm16, r16 + if isImm16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xe0 | lcode(v[1])) + m.imm2(toImmAny(v[0])) + }) + } + // ANDW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x21) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x23) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ANDW m16, r16 + if isM16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x23) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ANDW imm8, m16 + if isImm8Ext(v0, 2) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ANDW imm16, m16 + if isImm16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(4, addr(v[1]), 1) + m.imm2(toImmAny(v[0])) + }) + } + // ANDW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x21) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ANDW") + } + return p +} + +// BEXTR performs "Bit Field Extract". +// +// Mnemonic : BEXTR +// Supported forms : (8 forms) +// +// * BEXTR imm32, r32, r32 [TBM] +// * BEXTR imm32, m32, r32 [TBM] +// * BEXTR imm32, r64, r64 [TBM] +// * BEXTR imm32, m64, r64 [TBM] +// * BEXTR r32, r32, r32 [BMI] +// * BEXTR r32, m32, r32 [BMI] +// * BEXTR r64, r64, r64 [BMI] +// * BEXTR r64, m64, r64 [BMI] +// +func (self *Program) BEXTR(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("BEXTR", 3, Operands { v0, v1, v2 }) + // BEXTR imm32, r32, r32 + if isImm32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xea ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78) + m.emit(0x10) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // BEXTR imm32, m32, r32 + if isImm32(v0) && isM32(v1) && isReg32(v2) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1010, 0x00, hcode(v[2]), addr(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // BEXTR imm32, r64, r64 + if isImm32(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xea ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xf8) + m.emit(0x10) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // BEXTR imm32, m64, r64 + if isImm32(v0) && isM64(v1) && isReg64(v2) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1010, 0x80, hcode(v[2]), addr(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // BEXTR r32, r32, r32 + if isReg32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // BEXTR r32, m32, r32 + if isReg32(v0) && isM32(v1) && isReg32(v2) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0xf7) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // BEXTR r64, r64, r64 + if isReg64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xf8 ^ (hlcode(v[0]) << 3)) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // BEXTR r64, m64, r64 + if isReg64(v0) && isM64(v1) && isReg64(v2) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x80, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0xf7) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BEXTR") + } + return p +} + +// BLCFILL performs "Fill From Lowest Clear Bit". +// +// Mnemonic : BLCFILL +// Supported forms : (4 forms) +// +// * BLCFILL r32, r32 [TBM] +// * BLCFILL m32, r32 [TBM] +// * BLCFILL r64, r64 [TBM] +// * BLCFILL m64, r64 [TBM] +// +func (self *Program) BLCFILL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BLCFILL", 2, Operands { v0, v1 }) + // BLCFILL r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xc8 | lcode(v[0])) + }) + } + // BLCFILL m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(1, addr(v[0]), 1) + }) + } + // BLCFILL r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xc8 | lcode(v[0])) + }) + } + // BLCFILL m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(1, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BLCFILL") + } + return p +} + +// BLCI performs "Isolate Lowest Clear Bit". +// +// Mnemonic : BLCI +// Supported forms : (4 forms) +// +// * BLCI r32, r32 [TBM] +// * BLCI m32, r32 [TBM] +// * BLCI r64, r64 [TBM] +// * BLCI m64, r64 [TBM] +// +func (self *Program) BLCI(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BLCI", 2, Operands { v0, v1 }) + // BLCI r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0x02) + m.emit(0xf0 | lcode(v[0])) + }) + } + // BLCI m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x02) + m.mrsd(6, addr(v[0]), 1) + }) + } + // BLCI r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x02) + m.emit(0xf0 | lcode(v[0])) + }) + } + // BLCI m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x02) + m.mrsd(6, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BLCI") + } + return p +} + +// BLCIC performs "Isolate Lowest Set Bit and Complement". +// +// Mnemonic : BLCIC +// Supported forms : (4 forms) +// +// * BLCIC r32, r32 [TBM] +// * BLCIC m32, r32 [TBM] +// * BLCIC r64, r64 [TBM] +// * BLCIC m64, r64 [TBM] +// +func (self *Program) BLCIC(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BLCIC", 2, Operands { v0, v1 }) + // BLCIC r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xe8 | lcode(v[0])) + }) + } + // BLCIC m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(5, addr(v[0]), 1) + }) + } + // BLCIC r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xe8 | lcode(v[0])) + }) + } + // BLCIC m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(5, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BLCIC") + } + return p +} + +// BLCMSK performs "Mask From Lowest Clear Bit". +// +// Mnemonic : BLCMSK +// Supported forms : (4 forms) +// +// * BLCMSK r32, r32 [TBM] +// * BLCMSK m32, r32 [TBM] +// * BLCMSK r64, r64 [TBM] +// * BLCMSK m64, r64 [TBM] +// +func (self *Program) BLCMSK(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BLCMSK", 2, Operands { v0, v1 }) + // BLCMSK r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0x02) + m.emit(0xc8 | lcode(v[0])) + }) + } + // BLCMSK m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x02) + m.mrsd(1, addr(v[0]), 1) + }) + } + // BLCMSK r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x02) + m.emit(0xc8 | lcode(v[0])) + }) + } + // BLCMSK m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x02) + m.mrsd(1, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BLCMSK") + } + return p +} + +// BLCS performs "Set Lowest Clear Bit". +// +// Mnemonic : BLCS +// Supported forms : (4 forms) +// +// * BLCS r32, r32 [TBM] +// * BLCS m32, r32 [TBM] +// * BLCS r64, r64 [TBM] +// * BLCS m64, r64 [TBM] +// +func (self *Program) BLCS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BLCS", 2, Operands { v0, v1 }) + // BLCS r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xd8 | lcode(v[0])) + }) + } + // BLCS m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(3, addr(v[0]), 1) + }) + } + // BLCS r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xd8 | lcode(v[0])) + }) + } + // BLCS m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(3, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BLCS") + } + return p +} + +// BLENDPD performs "Blend Packed Double Precision Floating-Point Values". +// +// Mnemonic : BLENDPD +// Supported forms : (2 forms) +// +// * BLENDPD imm8, xmm, xmm [SSE4.1] +// * BLENDPD imm8, m128, xmm [SSE4.1] +// +func (self *Program) BLENDPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("BLENDPD", 3, Operands { v0, v1, v2 }) + // BLENDPD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BLENDPD imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0d) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for BLENDPD") + } + return p +} + +// BLENDPS performs " Blend Packed Single Precision Floating-Point Values". +// +// Mnemonic : BLENDPS +// Supported forms : (2 forms) +// +// * BLENDPS imm8, xmm, xmm [SSE4.1] +// * BLENDPS imm8, m128, xmm [SSE4.1] +// +func (self *Program) BLENDPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("BLENDPS", 3, Operands { v0, v1, v2 }) + // BLENDPS imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BLENDPS imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0c) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for BLENDPS") + } + return p +} + +// BLENDVPD performs " Variable Blend Packed Double Precision Floating-Point Values". +// +// Mnemonic : BLENDVPD +// Supported forms : (2 forms) +// +// * BLENDVPD xmm0, xmm, xmm [SSE4.1] +// * BLENDVPD xmm0, m128, xmm [SSE4.1] +// +func (self *Program) BLENDVPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("BLENDVPD", 3, Operands { v0, v1, v2 }) + // BLENDVPD xmm0, xmm, xmm + if v0 == XMM0 && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // BLENDVPD xmm0, m128, xmm + if v0 == XMM0 && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BLENDVPD") + } + return p +} + +// BLENDVPS performs " Variable Blend Packed Single Precision Floating-Point Values". +// +// Mnemonic : BLENDVPS +// Supported forms : (2 forms) +// +// * BLENDVPS xmm0, xmm, xmm [SSE4.1] +// * BLENDVPS xmm0, m128, xmm [SSE4.1] +// +func (self *Program) BLENDVPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("BLENDVPS", 3, Operands { v0, v1, v2 }) + // BLENDVPS xmm0, xmm, xmm + if v0 == XMM0 && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // BLENDVPS xmm0, m128, xmm + if v0 == XMM0 && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BLENDVPS") + } + return p +} + +// BLSFILL performs "Fill From Lowest Set Bit". +// +// Mnemonic : BLSFILL +// Supported forms : (4 forms) +// +// * BLSFILL r32, r32 [TBM] +// * BLSFILL m32, r32 [TBM] +// * BLSFILL r64, r64 [TBM] +// * BLSFILL m64, r64 [TBM] +// +func (self *Program) BLSFILL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BLSFILL", 2, Operands { v0, v1 }) + // BLSFILL r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xd0 | lcode(v[0])) + }) + } + // BLSFILL m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(2, addr(v[0]), 1) + }) + } + // BLSFILL r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xd0 | lcode(v[0])) + }) + } + // BLSFILL m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(2, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BLSFILL") + } + return p +} + +// BLSI performs "Isolate Lowest Set Bit". +// +// Mnemonic : BLSI +// Supported forms : (4 forms) +// +// * BLSI r32, r32 [BMI] +// * BLSI m32, r32 [BMI] +// * BLSI r64, r64 [BMI] +// * BLSI m64, r64 [BMI] +// +func (self *Program) BLSI(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BLSI", 2, Operands { v0, v1 }) + // BLSI r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0xf3) + m.emit(0xd8 | lcode(v[0])) + }) + } + // BLSI m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x00, 0, addr(v[0]), hlcode(v[1])) + m.emit(0xf3) + m.mrsd(3, addr(v[0]), 1) + }) + } + // BLSI r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0xf3) + m.emit(0xd8 | lcode(v[0])) + }) + } + // BLSI m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x80, 0, addr(v[0]), hlcode(v[1])) + m.emit(0xf3) + m.mrsd(3, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BLSI") + } + return p +} + +// BLSIC performs "Isolate Lowest Set Bit and Complement". +// +// Mnemonic : BLSIC +// Supported forms : (4 forms) +// +// * BLSIC r32, r32 [TBM] +// * BLSIC m32, r32 [TBM] +// * BLSIC r64, r64 [TBM] +// * BLSIC m64, r64 [TBM] +// +func (self *Program) BLSIC(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BLSIC", 2, Operands { v0, v1 }) + // BLSIC r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xf0 | lcode(v[0])) + }) + } + // BLSIC m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(6, addr(v[0]), 1) + }) + } + // BLSIC r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xf0 | lcode(v[0])) + }) + } + // BLSIC m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(6, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BLSIC") + } + return p +} + +// BLSMSK performs "Mask From Lowest Set Bit". +// +// Mnemonic : BLSMSK +// Supported forms : (4 forms) +// +// * BLSMSK r32, r32 [BMI] +// * BLSMSK m32, r32 [BMI] +// * BLSMSK r64, r64 [BMI] +// * BLSMSK m64, r64 [BMI] +// +func (self *Program) BLSMSK(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BLSMSK", 2, Operands { v0, v1 }) + // BLSMSK r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0xf3) + m.emit(0xd0 | lcode(v[0])) + }) + } + // BLSMSK m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x00, 0, addr(v[0]), hlcode(v[1])) + m.emit(0xf3) + m.mrsd(2, addr(v[0]), 1) + }) + } + // BLSMSK r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0xf3) + m.emit(0xd0 | lcode(v[0])) + }) + } + // BLSMSK m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x80, 0, addr(v[0]), hlcode(v[1])) + m.emit(0xf3) + m.mrsd(2, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BLSMSK") + } + return p +} + +// BLSR performs "Reset Lowest Set Bit". +// +// Mnemonic : BLSR +// Supported forms : (4 forms) +// +// * BLSR r32, r32 [BMI] +// * BLSR m32, r32 [BMI] +// * BLSR r64, r64 [BMI] +// * BLSR m64, r64 [BMI] +// +func (self *Program) BLSR(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BLSR", 2, Operands { v0, v1 }) + // BLSR r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0xf3) + m.emit(0xc8 | lcode(v[0])) + }) + } + // BLSR m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x00, 0, addr(v[0]), hlcode(v[1])) + m.emit(0xf3) + m.mrsd(1, addr(v[0]), 1) + }) + } + // BLSR r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0xf3) + m.emit(0xc8 | lcode(v[0])) + }) + } + // BLSR m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x80, 0, addr(v[0]), hlcode(v[1])) + m.emit(0xf3) + m.mrsd(1, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BLSR") + } + return p +} + +// BSFL performs "Bit Scan Forward". +// +// Mnemonic : BSF +// Supported forms : (2 forms) +// +// * BSFL r32, r32 +// * BSFL m32, r32 +// +func (self *Program) BSFL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BSFL", 2, Operands { v0, v1 }) + // BSFL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // BSFL m32, r32 + if isM32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xbc) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BSFL") + } + return p +} + +// BSFQ performs "Bit Scan Forward". +// +// Mnemonic : BSF +// Supported forms : (2 forms) +// +// * BSFQ r64, r64 +// * BSFQ m64, r64 +// +func (self *Program) BSFQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BSFQ", 2, Operands { v0, v1 }) + // BSFQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // BSFQ m64, r64 + if isM64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0xbc) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BSFQ") + } + return p +} + +// BSFW performs "Bit Scan Forward". +// +// Mnemonic : BSF +// Supported forms : (2 forms) +// +// * BSFW r16, r16 +// * BSFW m16, r16 +// +func (self *Program) BSFW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BSFW", 2, Operands { v0, v1 }) + // BSFW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // BSFW m16, r16 + if isM16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xbc) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BSFW") + } + return p +} + +// BSRL performs "Bit Scan Reverse". +// +// Mnemonic : BSR +// Supported forms : (2 forms) +// +// * BSRL r32, r32 +// * BSRL m32, r32 +// +func (self *Program) BSRL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BSRL", 2, Operands { v0, v1 }) + // BSRL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xbd) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // BSRL m32, r32 + if isM32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xbd) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BSRL") + } + return p +} + +// BSRQ performs "Bit Scan Reverse". +// +// Mnemonic : BSR +// Supported forms : (2 forms) +// +// * BSRQ r64, r64 +// * BSRQ m64, r64 +// +func (self *Program) BSRQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BSRQ", 2, Operands { v0, v1 }) + // BSRQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xbd) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // BSRQ m64, r64 + if isM64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0xbd) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BSRQ") + } + return p +} + +// BSRW performs "Bit Scan Reverse". +// +// Mnemonic : BSR +// Supported forms : (2 forms) +// +// * BSRW r16, r16 +// * BSRW m16, r16 +// +func (self *Program) BSRW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BSRW", 2, Operands { v0, v1 }) + // BSRW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xbd) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // BSRW m16, r16 + if isM16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xbd) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BSRW") + } + return p +} + +// BSWAPL performs "Byte Swap". +// +// Mnemonic : BSWAP +// Supported forms : (1 form) +// +// * BSWAPL r32 +// +func (self *Program) BSWAPL(v0 interface{}) *Instruction { + p := self.alloc("BSWAPL", 1, Operands { v0 }) + // BSWAPL r32 + if isReg32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0x0f) + m.emit(0xc8 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for BSWAPL") + } + return p +} + +// BSWAPQ performs "Byte Swap". +// +// Mnemonic : BSWAP +// Supported forms : (1 form) +// +// * BSWAPQ r64 +// +func (self *Program) BSWAPQ(v0 interface{}) *Instruction { + p := self.alloc("BSWAPQ", 1, Operands { v0 }) + // BSWAPQ r64 + if isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xc8 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for BSWAPQ") + } + return p +} + +// BTCL performs "Bit Test and Complement". +// +// Mnemonic : BTC +// Supported forms : (4 forms) +// +// * BTCL imm8, r32 +// * BTCL r32, r32 +// * BTCL imm8, m32 +// * BTCL r32, m32 +// +func (self *Program) BTCL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BTCL", 2, Operands { v0, v1 }) + // BTCL imm8, r32 + if isImm8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0xba) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BTCL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xbb) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // BTCL imm8, m32 + if isImm8(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x0f) + m.emit(0xba) + m.mrsd(7, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // BTCL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xbb) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BTCL") + } + return p +} + +// BTCQ performs "Bit Test and Complement". +// +// Mnemonic : BTC +// Supported forms : (4 forms) +// +// * BTCQ imm8, r64 +// * BTCQ r64, r64 +// * BTCQ imm8, m64 +// * BTCQ r64, m64 +// +func (self *Program) BTCQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BTCQ", 2, Operands { v0, v1 }) + // BTCQ imm8, r64 + if isImm8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x0f) + m.emit(0xba) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BTCQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x0f) + m.emit(0xbb) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // BTCQ imm8, m64 + if isImm8(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x0f) + m.emit(0xba) + m.mrsd(7, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // BTCQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x0f) + m.emit(0xbb) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BTCQ") + } + return p +} + +// BTCW performs "Bit Test and Complement". +// +// Mnemonic : BTC +// Supported forms : (4 forms) +// +// * BTCW imm8, r16 +// * BTCW r16, r16 +// * BTCW imm8, m16 +// * BTCW r16, m16 +// +func (self *Program) BTCW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BTCW", 2, Operands { v0, v1 }) + // BTCW imm8, r16 + if isImm8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0xba) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BTCW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xbb) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // BTCW imm8, m16 + if isImm8(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x0f) + m.emit(0xba) + m.mrsd(7, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // BTCW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xbb) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BTCW") + } + return p +} + +// BTL performs "Bit Test". +// +// Mnemonic : BT +// Supported forms : (4 forms) +// +// * BTL imm8, r32 +// * BTL r32, r32 +// * BTL imm8, m32 +// * BTL r32, m32 +// +func (self *Program) BTL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BTL", 2, Operands { v0, v1 }) + // BTL imm8, r32 + if isImm8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0xba) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BTL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xa3) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // BTL imm8, m32 + if isImm8(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x0f) + m.emit(0xba) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // BTL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xa3) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BTL") + } + return p +} + +// BTQ performs "Bit Test". +// +// Mnemonic : BT +// Supported forms : (4 forms) +// +// * BTQ imm8, r64 +// * BTQ r64, r64 +// * BTQ imm8, m64 +// * BTQ r64, m64 +// +func (self *Program) BTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BTQ", 2, Operands { v0, v1 }) + // BTQ imm8, r64 + if isImm8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x0f) + m.emit(0xba) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BTQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x0f) + m.emit(0xa3) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // BTQ imm8, m64 + if isImm8(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x0f) + m.emit(0xba) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // BTQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x0f) + m.emit(0xa3) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BTQ") + } + return p +} + +// BTRL performs "Bit Test and Reset". +// +// Mnemonic : BTR +// Supported forms : (4 forms) +// +// * BTRL imm8, r32 +// * BTRL r32, r32 +// * BTRL imm8, m32 +// * BTRL r32, m32 +// +func (self *Program) BTRL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BTRL", 2, Operands { v0, v1 }) + // BTRL imm8, r32 + if isImm8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0xba) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BTRL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xb3) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // BTRL imm8, m32 + if isImm8(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x0f) + m.emit(0xba) + m.mrsd(6, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // BTRL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xb3) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BTRL") + } + return p +} + +// BTRQ performs "Bit Test and Reset". +// +// Mnemonic : BTR +// Supported forms : (4 forms) +// +// * BTRQ imm8, r64 +// * BTRQ r64, r64 +// * BTRQ imm8, m64 +// * BTRQ r64, m64 +// +func (self *Program) BTRQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BTRQ", 2, Operands { v0, v1 }) + // BTRQ imm8, r64 + if isImm8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x0f) + m.emit(0xba) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BTRQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x0f) + m.emit(0xb3) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // BTRQ imm8, m64 + if isImm8(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x0f) + m.emit(0xba) + m.mrsd(6, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // BTRQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x0f) + m.emit(0xb3) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BTRQ") + } + return p +} + +// BTRW performs "Bit Test and Reset". +// +// Mnemonic : BTR +// Supported forms : (4 forms) +// +// * BTRW imm8, r16 +// * BTRW r16, r16 +// * BTRW imm8, m16 +// * BTRW r16, m16 +// +func (self *Program) BTRW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BTRW", 2, Operands { v0, v1 }) + // BTRW imm8, r16 + if isImm8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0xba) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BTRW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xb3) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // BTRW imm8, m16 + if isImm8(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x0f) + m.emit(0xba) + m.mrsd(6, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // BTRW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xb3) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BTRW") + } + return p +} + +// BTSL performs "Bit Test and Set". +// +// Mnemonic : BTS +// Supported forms : (4 forms) +// +// * BTSL imm8, r32 +// * BTSL r32, r32 +// * BTSL imm8, m32 +// * BTSL r32, m32 +// +func (self *Program) BTSL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BTSL", 2, Operands { v0, v1 }) + // BTSL imm8, r32 + if isImm8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0xba) + m.emit(0xe8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BTSL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xab) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // BTSL imm8, m32 + if isImm8(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x0f) + m.emit(0xba) + m.mrsd(5, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // BTSL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xab) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BTSL") + } + return p +} + +// BTSQ performs "Bit Test and Set". +// +// Mnemonic : BTS +// Supported forms : (4 forms) +// +// * BTSQ imm8, r64 +// * BTSQ r64, r64 +// * BTSQ imm8, m64 +// * BTSQ r64, m64 +// +func (self *Program) BTSQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BTSQ", 2, Operands { v0, v1 }) + // BTSQ imm8, r64 + if isImm8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x0f) + m.emit(0xba) + m.emit(0xe8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BTSQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x0f) + m.emit(0xab) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // BTSQ imm8, m64 + if isImm8(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x0f) + m.emit(0xba) + m.mrsd(5, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // BTSQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x0f) + m.emit(0xab) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BTSQ") + } + return p +} + +// BTSW performs "Bit Test and Set". +// +// Mnemonic : BTS +// Supported forms : (4 forms) +// +// * BTSW imm8, r16 +// * BTSW r16, r16 +// * BTSW imm8, m16 +// * BTSW r16, m16 +// +func (self *Program) BTSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BTSW", 2, Operands { v0, v1 }) + // BTSW imm8, r16 + if isImm8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0xba) + m.emit(0xe8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BTSW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xab) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // BTSW imm8, m16 + if isImm8(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x0f) + m.emit(0xba) + m.mrsd(5, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // BTSW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xab) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BTSW") + } + return p +} + +// BTW performs "Bit Test". +// +// Mnemonic : BT +// Supported forms : (4 forms) +// +// * BTW imm8, r16 +// * BTW r16, r16 +// * BTW imm8, m16 +// * BTW r16, m16 +// +func (self *Program) BTW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("BTW", 2, Operands { v0, v1 }) + // BTW imm8, r16 + if isImm8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0xba) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // BTW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xa3) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // BTW imm8, m16 + if isImm8(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x0f) + m.emit(0xba) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // BTW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xa3) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BTW") + } + return p +} + +// BZHI performs "Zero High Bits Starting with Specified Bit Position". +// +// Mnemonic : BZHI +// Supported forms : (4 forms) +// +// * BZHI r32, r32, r32 [BMI2] +// * BZHI r32, m32, r32 [BMI2] +// * BZHI r64, r64, r64 [BMI2] +// * BZHI r64, m64, r64 [BMI2] +// +func (self *Program) BZHI(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("BZHI", 3, Operands { v0, v1, v2 }) + // BZHI r32, r32, r32 + if isReg32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // BZHI r32, m32, r32 + if isReg32(v0) && isM32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0xf5) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // BZHI r64, r64, r64 + if isReg64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xf8 ^ (hlcode(v[0]) << 3)) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // BZHI r64, m64, r64 + if isReg64(v0) && isM64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x80, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0xf5) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for BZHI") + } + return p +} + +// CALL performs "Call Procedure". +// +// Mnemonic : CALL +// Supported forms : (1 form) +// +// * CALL rel32 +// +func (self *Program) CALL(v0 interface{}) *Instruction { + p := self.alloc("CALL", 1, Operands { v0 }) + // CALL rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xe8) + m.imm4(relv(v[0])) + }) + } + // CALL label + if isLabel(v0) { + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0xe8) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for CALL") + } + return p +} + +// CALLQ performs "Call Procedure". +// +// Mnemonic : CALL +// Supported forms : (2 forms) +// +// * CALLQ r64 +// * CALLQ m64 +// +func (self *Program) CALLQ(v0 interface{}) *Instruction { + p := self.alloc("CALLQ", 1, Operands { v0 }) + // CALLQ r64 + if isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0xff) + m.emit(0xd0 | lcode(v[0])) + }) + } + // CALLQ m64 + if isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xff) + m.mrsd(2, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CALLQ") + } + return p +} + +// CBTW performs "Convert Byte to Word". +// +// Mnemonic : CBW +// Supported forms : (1 form) +// +// * CBTW +// +func (self *Program) CBTW() *Instruction { + p := self.alloc("CBTW", 0, Operands { }) + // CBTW + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x98) + }) + return p +} + +// CLC performs "Clear Carry Flag". +// +// Mnemonic : CLC +// Supported forms : (1 form) +// +// * CLC +// +func (self *Program) CLC() *Instruction { + p := self.alloc("CLC", 0, Operands { }) + // CLC + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf8) + }) + return p +} + +// CLD performs "Clear Direction Flag". +// +// Mnemonic : CLD +// Supported forms : (1 form) +// +// * CLD +// +func (self *Program) CLD() *Instruction { + p := self.alloc("CLD", 0, Operands { }) + // CLD + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xfc) + }) + return p +} + +// CLFLUSH performs "Flush Cache Line". +// +// Mnemonic : CLFLUSH +// Supported forms : (1 form) +// +// * CLFLUSH m8 [CLFLUSH] +// +func (self *Program) CLFLUSH(v0 interface{}) *Instruction { + p := self.alloc("CLFLUSH", 1, Operands { v0 }) + // CLFLUSH m8 + if isM8(v0) { + self.require(ISA_CLFLUSH) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0xae) + m.mrsd(7, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CLFLUSH") + } + return p +} + +// CLFLUSHOPT performs "Flush Cache Line Optimized". +// +// Mnemonic : CLFLUSHOPT +// Supported forms : (1 form) +// +// * CLFLUSHOPT m8 [CLFLUSHOPT] +// +func (self *Program) CLFLUSHOPT(v0 interface{}) *Instruction { + p := self.alloc("CLFLUSHOPT", 1, Operands { v0 }) + // CLFLUSHOPT m8 + if isM8(v0) { + self.require(ISA_CLFLUSHOPT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0xae) + m.mrsd(7, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CLFLUSHOPT") + } + return p +} + +// CLTD performs "Convert Doubleword to Quadword". +// +// Mnemonic : CDQ +// Supported forms : (1 form) +// +// * CLTD +// +func (self *Program) CLTD() *Instruction { + p := self.alloc("CLTD", 0, Operands { }) + // CLTD + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x99) + }) + return p +} + +// CLTQ performs "Convert Doubleword to Quadword". +// +// Mnemonic : CDQE +// Supported forms : (1 form) +// +// * CLTQ +// +func (self *Program) CLTQ() *Instruction { + p := self.alloc("CLTQ", 0, Operands { }) + // CLTQ + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48) + m.emit(0x98) + }) + return p +} + +// CLWB performs "Cache Line Write Back". +// +// Mnemonic : CLWB +// Supported forms : (1 form) +// +// * CLWB m8 [CLWB] +// +func (self *Program) CLWB(v0 interface{}) *Instruction { + p := self.alloc("CLWB", 1, Operands { v0 }) + // CLWB m8 + if isM8(v0) { + self.require(ISA_CLWB) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0xae) + m.mrsd(6, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CLWB") + } + return p +} + +// CLZERO performs "Zero-out 64-bit Cache Line". +// +// Mnemonic : CLZERO +// Supported forms : (1 form) +// +// * CLZERO [CLZERO] +// +func (self *Program) CLZERO() *Instruction { + p := self.alloc("CLZERO", 0, Operands { }) + // CLZERO + self.require(ISA_CLZERO) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x01) + m.emit(0xfc) + }) + return p +} + +// CMC performs "Complement Carry Flag". +// +// Mnemonic : CMC +// Supported forms : (1 form) +// +// * CMC +// +func (self *Program) CMC() *Instruction { + p := self.alloc("CMC", 0, Operands { }) + // CMC + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf5) + }) + return p +} + +// CMOVA performs "Move if above (CF == 0 and ZF == 0)". +// +// Mnemonic : CMOVA +// Supported forms : (6 forms) +// +// * CMOVA r16, r16 [CMOV] +// * CMOVA m16, r16 [CMOV] +// * CMOVA r32, r32 [CMOV] +// * CMOVA m32, r32 [CMOV] +// * CMOVA r64, r64 [CMOV] +// * CMOVA m64, r64 [CMOV] +// +func (self *Program) CMOVA(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVA", 2, Operands { v0, v1 }) + // CMOVA r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x47) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVA m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x47) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVA r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x47) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVA m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x47) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVA r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x47) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVA m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x47) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVA") + } + return p +} + +// CMOVAE performs "Move if above or equal (CF == 0)". +// +// Mnemonic : CMOVAE +// Supported forms : (6 forms) +// +// * CMOVAE r16, r16 [CMOV] +// * CMOVAE m16, r16 [CMOV] +// * CMOVAE r32, r32 [CMOV] +// * CMOVAE m32, r32 [CMOV] +// * CMOVAE r64, r64 [CMOV] +// * CMOVAE m64, r64 [CMOV] +// +func (self *Program) CMOVAE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVAE", 2, Operands { v0, v1 }) + // CMOVAE r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x43) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVAE m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x43) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVAE r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x43) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVAE m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x43) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVAE r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x43) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVAE m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x43) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVAE") + } + return p +} + +// CMOVB performs "Move if below (CF == 1)". +// +// Mnemonic : CMOVB +// Supported forms : (6 forms) +// +// * CMOVB r16, r16 [CMOV] +// * CMOVB m16, r16 [CMOV] +// * CMOVB r32, r32 [CMOV] +// * CMOVB m32, r32 [CMOV] +// * CMOVB r64, r64 [CMOV] +// * CMOVB m64, r64 [CMOV] +// +func (self *Program) CMOVB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVB", 2, Operands { v0, v1 }) + // CMOVB r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVB m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVB r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVB m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVB r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVB m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVB") + } + return p +} + +// CMOVBE performs "Move if below or equal (CF == 1 or ZF == 1)". +// +// Mnemonic : CMOVBE +// Supported forms : (6 forms) +// +// * CMOVBE r16, r16 [CMOV] +// * CMOVBE m16, r16 [CMOV] +// * CMOVBE r32, r32 [CMOV] +// * CMOVBE m32, r32 [CMOV] +// * CMOVBE r64, r64 [CMOV] +// * CMOVBE m64, r64 [CMOV] +// +func (self *Program) CMOVBE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVBE", 2, Operands { v0, v1 }) + // CMOVBE r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x46) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVBE m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x46) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVBE r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x46) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVBE m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x46) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVBE r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x46) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVBE m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x46) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVBE") + } + return p +} + +// CMOVC performs "Move if carry (CF == 1)". +// +// Mnemonic : CMOVC +// Supported forms : (6 forms) +// +// * CMOVC r16, r16 [CMOV] +// * CMOVC m16, r16 [CMOV] +// * CMOVC r32, r32 [CMOV] +// * CMOVC m32, r32 [CMOV] +// * CMOVC r64, r64 [CMOV] +// * CMOVC m64, r64 [CMOV] +// +func (self *Program) CMOVC(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVC", 2, Operands { v0, v1 }) + // CMOVC r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVC m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVC r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVC m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVC r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVC m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVC") + } + return p +} + +// CMOVE performs "Move if equal (ZF == 1)". +// +// Mnemonic : CMOVE +// Supported forms : (6 forms) +// +// * CMOVE r16, r16 [CMOV] +// * CMOVE m16, r16 [CMOV] +// * CMOVE r32, r32 [CMOV] +// * CMOVE m32, r32 [CMOV] +// * CMOVE r64, r64 [CMOV] +// * CMOVE m64, r64 [CMOV] +// +func (self *Program) CMOVE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVE", 2, Operands { v0, v1 }) + // CMOVE r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVE m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x44) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVE r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVE m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x44) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVE r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVE m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x44) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVE") + } + return p +} + +// CMOVG performs "Move if greater (ZF == 0 and SF == OF)". +// +// Mnemonic : CMOVG +// Supported forms : (6 forms) +// +// * CMOVG r16, r16 [CMOV] +// * CMOVG m16, r16 [CMOV] +// * CMOVG r32, r32 [CMOV] +// * CMOVG m32, r32 [CMOV] +// * CMOVG r64, r64 [CMOV] +// * CMOVG m64, r64 [CMOV] +// +func (self *Program) CMOVG(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVG", 2, Operands { v0, v1 }) + // CMOVG r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVG m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVG r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVG m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVG r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x4f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVG m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x4f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVG") + } + return p +} + +// CMOVGE performs "Move if greater or equal (SF == OF)". +// +// Mnemonic : CMOVGE +// Supported forms : (6 forms) +// +// * CMOVGE r16, r16 [CMOV] +// * CMOVGE m16, r16 [CMOV] +// * CMOVGE r32, r32 [CMOV] +// * CMOVGE m32, r32 [CMOV] +// * CMOVGE r64, r64 [CMOV] +// * CMOVGE m64, r64 [CMOV] +// +func (self *Program) CMOVGE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVGE", 2, Operands { v0, v1 }) + // CMOVGE r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVGE m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVGE r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVGE m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVGE r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x4d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVGE m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x4d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVGE") + } + return p +} + +// CMOVL performs "Move if less (SF != OF)". +// +// Mnemonic : CMOVL +// Supported forms : (6 forms) +// +// * CMOVL r16, r16 [CMOV] +// * CMOVL m16, r16 [CMOV] +// * CMOVL r32, r32 [CMOV] +// * CMOVL m32, r32 [CMOV] +// * CMOVL r64, r64 [CMOV] +// * CMOVL m64, r64 [CMOV] +// +func (self *Program) CMOVL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVL", 2, Operands { v0, v1 }) + // CMOVL r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVL m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVL r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVL m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVL r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVL m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x4c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVL") + } + return p +} + +// CMOVLE performs "Move if less or equal (ZF == 1 or SF != OF)". +// +// Mnemonic : CMOVLE +// Supported forms : (6 forms) +// +// * CMOVLE r16, r16 [CMOV] +// * CMOVLE m16, r16 [CMOV] +// * CMOVLE r32, r32 [CMOV] +// * CMOVLE m32, r32 [CMOV] +// * CMOVLE r64, r64 [CMOV] +// * CMOVLE m64, r64 [CMOV] +// +func (self *Program) CMOVLE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVLE", 2, Operands { v0, v1 }) + // CMOVLE r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVLE m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVLE r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVLE m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVLE r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x4e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVLE m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x4e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVLE") + } + return p +} + +// CMOVNA performs "Move if not above (CF == 1 or ZF == 1)". +// +// Mnemonic : CMOVNA +// Supported forms : (6 forms) +// +// * CMOVNA r16, r16 [CMOV] +// * CMOVNA m16, r16 [CMOV] +// * CMOVNA r32, r32 [CMOV] +// * CMOVNA m32, r32 [CMOV] +// * CMOVNA r64, r64 [CMOV] +// * CMOVNA m64, r64 [CMOV] +// +func (self *Program) CMOVNA(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNA", 2, Operands { v0, v1 }) + // CMOVNA r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x46) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNA m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x46) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNA r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x46) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNA m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x46) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNA r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x46) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNA m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x46) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNA") + } + return p +} + +// CMOVNAE performs "Move if not above or equal (CF == 1)". +// +// Mnemonic : CMOVNAE +// Supported forms : (6 forms) +// +// * CMOVNAE r16, r16 [CMOV] +// * CMOVNAE m16, r16 [CMOV] +// * CMOVNAE r32, r32 [CMOV] +// * CMOVNAE m32, r32 [CMOV] +// * CMOVNAE r64, r64 [CMOV] +// * CMOVNAE m64, r64 [CMOV] +// +func (self *Program) CMOVNAE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNAE", 2, Operands { v0, v1 }) + // CMOVNAE r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNAE m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNAE r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNAE m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNAE r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNAE m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNAE") + } + return p +} + +// CMOVNB performs "Move if not below (CF == 0)". +// +// Mnemonic : CMOVNB +// Supported forms : (6 forms) +// +// * CMOVNB r16, r16 [CMOV] +// * CMOVNB m16, r16 [CMOV] +// * CMOVNB r32, r32 [CMOV] +// * CMOVNB m32, r32 [CMOV] +// * CMOVNB r64, r64 [CMOV] +// * CMOVNB m64, r64 [CMOV] +// +func (self *Program) CMOVNB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNB", 2, Operands { v0, v1 }) + // CMOVNB r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x43) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNB m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x43) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNB r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x43) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNB m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x43) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNB r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x43) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNB m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x43) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNB") + } + return p +} + +// CMOVNBE performs "Move if not below or equal (CF == 0 and ZF == 0)". +// +// Mnemonic : CMOVNBE +// Supported forms : (6 forms) +// +// * CMOVNBE r16, r16 [CMOV] +// * CMOVNBE m16, r16 [CMOV] +// * CMOVNBE r32, r32 [CMOV] +// * CMOVNBE m32, r32 [CMOV] +// * CMOVNBE r64, r64 [CMOV] +// * CMOVNBE m64, r64 [CMOV] +// +func (self *Program) CMOVNBE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNBE", 2, Operands { v0, v1 }) + // CMOVNBE r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x47) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNBE m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x47) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNBE r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x47) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNBE m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x47) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNBE r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x47) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNBE m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x47) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNBE") + } + return p +} + +// CMOVNC performs "Move if not carry (CF == 0)". +// +// Mnemonic : CMOVNC +// Supported forms : (6 forms) +// +// * CMOVNC r16, r16 [CMOV] +// * CMOVNC m16, r16 [CMOV] +// * CMOVNC r32, r32 [CMOV] +// * CMOVNC m32, r32 [CMOV] +// * CMOVNC r64, r64 [CMOV] +// * CMOVNC m64, r64 [CMOV] +// +func (self *Program) CMOVNC(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNC", 2, Operands { v0, v1 }) + // CMOVNC r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x43) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNC m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x43) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNC r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x43) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNC m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x43) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNC r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x43) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNC m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x43) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNC") + } + return p +} + +// CMOVNE performs "Move if not equal (ZF == 0)". +// +// Mnemonic : CMOVNE +// Supported forms : (6 forms) +// +// * CMOVNE r16, r16 [CMOV] +// * CMOVNE m16, r16 [CMOV] +// * CMOVNE r32, r32 [CMOV] +// * CMOVNE m32, r32 [CMOV] +// * CMOVNE r64, r64 [CMOV] +// * CMOVNE m64, r64 [CMOV] +// +func (self *Program) CMOVNE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNE", 2, Operands { v0, v1 }) + // CMOVNE r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x45) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNE m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x45) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNE r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x45) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNE m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x45) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNE r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x45) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNE m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x45) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNE") + } + return p +} + +// CMOVNG performs "Move if not greater (ZF == 1 or SF != OF)". +// +// Mnemonic : CMOVNG +// Supported forms : (6 forms) +// +// * CMOVNG r16, r16 [CMOV] +// * CMOVNG m16, r16 [CMOV] +// * CMOVNG r32, r32 [CMOV] +// * CMOVNG m32, r32 [CMOV] +// * CMOVNG r64, r64 [CMOV] +// * CMOVNG m64, r64 [CMOV] +// +func (self *Program) CMOVNG(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNG", 2, Operands { v0, v1 }) + // CMOVNG r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNG m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNG r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNG m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNG r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x4e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNG m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x4e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNG") + } + return p +} + +// CMOVNGE performs "Move if not greater or equal (SF != OF)". +// +// Mnemonic : CMOVNGE +// Supported forms : (6 forms) +// +// * CMOVNGE r16, r16 [CMOV] +// * CMOVNGE m16, r16 [CMOV] +// * CMOVNGE r32, r32 [CMOV] +// * CMOVNGE m32, r32 [CMOV] +// * CMOVNGE r64, r64 [CMOV] +// * CMOVNGE m64, r64 [CMOV] +// +func (self *Program) CMOVNGE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNGE", 2, Operands { v0, v1 }) + // CMOVNGE r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNGE m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNGE r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNGE m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNGE r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNGE m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x4c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNGE") + } + return p +} + +// CMOVNL performs "Move if not less (SF == OF)". +// +// Mnemonic : CMOVNL +// Supported forms : (6 forms) +// +// * CMOVNL r16, r16 [CMOV] +// * CMOVNL m16, r16 [CMOV] +// * CMOVNL r32, r32 [CMOV] +// * CMOVNL m32, r32 [CMOV] +// * CMOVNL r64, r64 [CMOV] +// * CMOVNL m64, r64 [CMOV] +// +func (self *Program) CMOVNL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNL", 2, Operands { v0, v1 }) + // CMOVNL r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNL m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNL r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNL m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNL r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x4d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNL m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x4d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNL") + } + return p +} + +// CMOVNLE performs "Move if not less or equal (ZF == 0 and SF == OF)". +// +// Mnemonic : CMOVNLE +// Supported forms : (6 forms) +// +// * CMOVNLE r16, r16 [CMOV] +// * CMOVNLE m16, r16 [CMOV] +// * CMOVNLE r32, r32 [CMOV] +// * CMOVNLE m32, r32 [CMOV] +// * CMOVNLE r64, r64 [CMOV] +// * CMOVNLE m64, r64 [CMOV] +// +func (self *Program) CMOVNLE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNLE", 2, Operands { v0, v1 }) + // CMOVNLE r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNLE m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNLE r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNLE m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNLE r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x4f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNLE m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x4f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNLE") + } + return p +} + +// CMOVNO performs "Move if not overflow (OF == 0)". +// +// Mnemonic : CMOVNO +// Supported forms : (6 forms) +// +// * CMOVNO r16, r16 [CMOV] +// * CMOVNO m16, r16 [CMOV] +// * CMOVNO r32, r32 [CMOV] +// * CMOVNO m32, r32 [CMOV] +// * CMOVNO r64, r64 [CMOV] +// * CMOVNO m64, r64 [CMOV] +// +func (self *Program) CMOVNO(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNO", 2, Operands { v0, v1 }) + // CMOVNO r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x41) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNO m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x41) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNO r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x41) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNO m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x41) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNO r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x41) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNO m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x41) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNO") + } + return p +} + +// CMOVNP performs "Move if not parity (PF == 0)". +// +// Mnemonic : CMOVNP +// Supported forms : (6 forms) +// +// * CMOVNP r16, r16 [CMOV] +// * CMOVNP m16, r16 [CMOV] +// * CMOVNP r32, r32 [CMOV] +// * CMOVNP m32, r32 [CMOV] +// * CMOVNP r64, r64 [CMOV] +// * CMOVNP m64, r64 [CMOV] +// +func (self *Program) CMOVNP(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNP", 2, Operands { v0, v1 }) + // CMOVNP r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNP m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNP r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNP m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNP r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x4b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNP m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x4b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNP") + } + return p +} + +// CMOVNS performs "Move if not sign (SF == 0)". +// +// Mnemonic : CMOVNS +// Supported forms : (6 forms) +// +// * CMOVNS r16, r16 [CMOV] +// * CMOVNS m16, r16 [CMOV] +// * CMOVNS r32, r32 [CMOV] +// * CMOVNS m32, r32 [CMOV] +// * CMOVNS r64, r64 [CMOV] +// * CMOVNS m64, r64 [CMOV] +// +func (self *Program) CMOVNS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNS", 2, Operands { v0, v1 }) + // CMOVNS r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x49) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNS m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x49) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNS r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x49) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNS m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x49) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNS r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x49) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNS m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x49) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNS") + } + return p +} + +// CMOVNZ performs "Move if not zero (ZF == 0)". +// +// Mnemonic : CMOVNZ +// Supported forms : (6 forms) +// +// * CMOVNZ r16, r16 [CMOV] +// * CMOVNZ m16, r16 [CMOV] +// * CMOVNZ r32, r32 [CMOV] +// * CMOVNZ m32, r32 [CMOV] +// * CMOVNZ r64, r64 [CMOV] +// * CMOVNZ m64, r64 [CMOV] +// +func (self *Program) CMOVNZ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVNZ", 2, Operands { v0, v1 }) + // CMOVNZ r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x45) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNZ m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x45) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNZ r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x45) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNZ m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x45) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVNZ r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x45) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVNZ m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x45) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVNZ") + } + return p +} + +// CMOVO performs "Move if overflow (OF == 1)". +// +// Mnemonic : CMOVO +// Supported forms : (6 forms) +// +// * CMOVO r16, r16 [CMOV] +// * CMOVO m16, r16 [CMOV] +// * CMOVO r32, r32 [CMOV] +// * CMOVO m32, r32 [CMOV] +// * CMOVO r64, r64 [CMOV] +// * CMOVO m64, r64 [CMOV] +// +func (self *Program) CMOVO(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVO", 2, Operands { v0, v1 }) + // CMOVO r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x40) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVO m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x40) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVO r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x40) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVO m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x40) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVO r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x40) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVO m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x40) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVO") + } + return p +} + +// CMOVP performs "Move if parity (PF == 1)". +// +// Mnemonic : CMOVP +// Supported forms : (6 forms) +// +// * CMOVP r16, r16 [CMOV] +// * CMOVP m16, r16 [CMOV] +// * CMOVP r32, r32 [CMOV] +// * CMOVP m32, r32 [CMOV] +// * CMOVP r64, r64 [CMOV] +// * CMOVP m64, r64 [CMOV] +// +func (self *Program) CMOVP(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVP", 2, Operands { v0, v1 }) + // CMOVP r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVP m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVP r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVP m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVP r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x4a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVP m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x4a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVP") + } + return p +} + +// CMOVPE performs "Move if parity even (PF == 1)". +// +// Mnemonic : CMOVPE +// Supported forms : (6 forms) +// +// * CMOVPE r16, r16 [CMOV] +// * CMOVPE m16, r16 [CMOV] +// * CMOVPE r32, r32 [CMOV] +// * CMOVPE m32, r32 [CMOV] +// * CMOVPE r64, r64 [CMOV] +// * CMOVPE m64, r64 [CMOV] +// +func (self *Program) CMOVPE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVPE", 2, Operands { v0, v1 }) + // CMOVPE r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVPE m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVPE r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVPE m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVPE r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x4a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVPE m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x4a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVPE") + } + return p +} + +// CMOVPO performs "Move if parity odd (PF == 0)". +// +// Mnemonic : CMOVPO +// Supported forms : (6 forms) +// +// * CMOVPO r16, r16 [CMOV] +// * CMOVPO m16, r16 [CMOV] +// * CMOVPO r32, r32 [CMOV] +// * CMOVPO m32, r32 [CMOV] +// * CMOVPO r64, r64 [CMOV] +// * CMOVPO m64, r64 [CMOV] +// +func (self *Program) CMOVPO(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVPO", 2, Operands { v0, v1 }) + // CMOVPO r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVPO m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVPO r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x4b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVPO m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x4b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVPO r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x4b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVPO m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x4b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVPO") + } + return p +} + +// CMOVS performs "Move if sign (SF == 1)". +// +// Mnemonic : CMOVS +// Supported forms : (6 forms) +// +// * CMOVS r16, r16 [CMOV] +// * CMOVS m16, r16 [CMOV] +// * CMOVS r32, r32 [CMOV] +// * CMOVS m32, r32 [CMOV] +// * CMOVS r64, r64 [CMOV] +// * CMOVS m64, r64 [CMOV] +// +func (self *Program) CMOVS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVS", 2, Operands { v0, v1 }) + // CMOVS r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x48) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVS m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x48) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVS r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x48) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVS m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x48) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVS r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x48) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVS m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x48) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVS") + } + return p +} + +// CMOVZ performs "Move if zero (ZF == 1)". +// +// Mnemonic : CMOVZ +// Supported forms : (6 forms) +// +// * CMOVZ r16, r16 [CMOV] +// * CMOVZ m16, r16 [CMOV] +// * CMOVZ r32, r32 [CMOV] +// * CMOVZ m32, r32 [CMOV] +// * CMOVZ r64, r64 [CMOV] +// * CMOVZ m64, r64 [CMOV] +// +func (self *Program) CMOVZ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMOVZ", 2, Operands { v0, v1 }) + // CMOVZ r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVZ m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x44) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVZ r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVZ m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x44) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMOVZ r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMOVZ m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_CMOV) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x44) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMOVZ") + } + return p +} + +// CMPB performs "Compare Two Operands". +// +// Mnemonic : CMP +// Supported forms : (6 forms) +// +// * CMPB imm8, al +// * CMPB imm8, r8 +// * CMPB r8, r8 +// * CMPB m8, r8 +// * CMPB imm8, m8 +// * CMPB r8, m8 +// +func (self *Program) CMPB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMPB", 2, Operands { v0, v1 }) + // CMPB imm8, al + if isImm8(v0) && v1 == AL { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x3c) + m.imm1(toImmAny(v[0])) + }) + } + // CMPB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0x80) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // CMPB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x38) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x3a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMPB m8, r8 + if isM8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), isReg8REX(v[1])) + m.emit(0x3a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMPB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x80) + m.mrsd(7, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // CMPB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x38) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMPB") + } + return p +} + +// CMPL performs "Compare Two Operands". +// +// Mnemonic : CMP +// Supported forms : (8 forms) +// +// * CMPL imm32, eax +// * CMPL imm8, r32 +// * CMPL imm32, r32 +// * CMPL r32, r32 +// * CMPL m32, r32 +// * CMPL imm8, m32 +// * CMPL imm32, m32 +// * CMPL r32, m32 +// +func (self *Program) CMPL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMPL", 2, Operands { v0, v1 }) + // CMPL imm32, eax + if isImm32(v0) && v1 == EAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x3d) + m.imm4(toImmAny(v[0])) + }) + } + // CMPL imm8, r32 + if isImm8Ext(v0, 4) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // CMPL imm32, r32 + if isImm32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xf8 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // CMPL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x39) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMPL m32, r32 + if isM32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x3b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMPL imm8, m32 + if isImm8Ext(v0, 4) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(7, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // CMPL imm32, m32 + if isImm32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(7, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // CMPL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x39) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMPL") + } + return p +} + +// CMPPD performs "Compare Packed Double-Precision Floating-Point Values". +// +// Mnemonic : CMPPD +// Supported forms : (2 forms) +// +// * CMPPD imm8, xmm, xmm [SSE2] +// * CMPPD imm8, m128, xmm [SSE2] +// +func (self *Program) CMPPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("CMPPD", 3, Operands { v0, v1, v2 }) + // CMPPD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // CMPPD imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xc2) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for CMPPD") + } + return p +} + +// CMPPS performs "Compare Packed Single-Precision Floating-Point Values". +// +// Mnemonic : CMPPS +// Supported forms : (2 forms) +// +// * CMPPS imm8, xmm, xmm [SSE] +// * CMPPS imm8, m128, xmm [SSE] +// +func (self *Program) CMPPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("CMPPS", 3, Operands { v0, v1, v2 }) + // CMPPS imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // CMPPS imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xc2) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for CMPPS") + } + return p +} + +// CMPQ performs "Compare Two Operands". +// +// Mnemonic : CMP +// Supported forms : (8 forms) +// +// * CMPQ imm32, rax +// * CMPQ imm8, r64 +// * CMPQ imm32, r64 +// * CMPQ r64, r64 +// * CMPQ m64, r64 +// * CMPQ imm8, m64 +// * CMPQ imm32, m64 +// * CMPQ r64, m64 +// +func (self *Program) CMPQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMPQ", 2, Operands { v0, v1 }) + // CMPQ imm32, rax + if isImm32(v0) && v1 == RAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48) + m.emit(0x3d) + m.imm4(toImmAny(v[0])) + }) + } + // CMPQ imm8, r64 + if isImm8Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x83) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // CMPQ imm32, r64 + if isImm32Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x81) + m.emit(0xf8 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // CMPQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x39) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMPQ m64, r64 + if isM64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x3b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMPQ imm8, m64 + if isImm8Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x83) + m.mrsd(7, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // CMPQ imm32, m64 + if isImm32Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x81) + m.mrsd(7, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // CMPQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x39) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMPQ") + } + return p +} + +// CMPSD performs "Compare Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : CMPSD +// Supported forms : (2 forms) +// +// * CMPSD imm8, xmm, xmm [SSE2] +// * CMPSD imm8, m64, xmm [SSE2] +// +func (self *Program) CMPSD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("CMPSD", 3, Operands { v0, v1, v2 }) + // CMPSD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // CMPSD imm8, m64, xmm + if isImm8(v0) && isM64(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xc2) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for CMPSD") + } + return p +} + +// CMPSS performs "Compare Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : CMPSS +// Supported forms : (2 forms) +// +// * CMPSS imm8, xmm, xmm [SSE] +// * CMPSS imm8, m32, xmm [SSE] +// +func (self *Program) CMPSS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("CMPSS", 3, Operands { v0, v1, v2 }) + // CMPSS imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // CMPSS imm8, m32, xmm + if isImm8(v0) && isM32(v1) && isXMM(v2) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xc2) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for CMPSS") + } + return p +} + +// CMPW performs "Compare Two Operands". +// +// Mnemonic : CMP +// Supported forms : (8 forms) +// +// * CMPW imm16, ax +// * CMPW imm8, r16 +// * CMPW imm16, r16 +// * CMPW r16, r16 +// * CMPW m16, r16 +// * CMPW imm8, m16 +// * CMPW imm16, m16 +// * CMPW r16, m16 +// +func (self *Program) CMPW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMPW", 2, Operands { v0, v1 }) + // CMPW imm16, ax + if isImm16(v0) && v1 == AX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x3d) + m.imm2(toImmAny(v[0])) + }) + } + // CMPW imm8, r16 + if isImm8Ext(v0, 2) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // CMPW imm16, r16 + if isImm16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xf8 | lcode(v[1])) + m.imm2(toImmAny(v[0])) + }) + } + // CMPW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x39) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CMPW m16, r16 + if isM16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x3b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CMPW imm8, m16 + if isImm8Ext(v0, 2) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(7, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // CMPW imm16, m16 + if isImm16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(7, addr(v[1]), 1) + m.imm2(toImmAny(v[0])) + }) + } + // CMPW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x39) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMPW") + } + return p +} + +// CMPXCHG16B performs "Compare and Exchange 16 Bytes". +// +// Mnemonic : CMPXCHG16B +// Supported forms : (1 form) +// +// * CMPXCHG16B m128 +// +func (self *Program) CMPXCHG16B(v0 interface{}) *Instruction { + p := self.alloc("CMPXCHG16B", 1, Operands { v0 }) + // CMPXCHG16B m128 + if isM128(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[0])) + m.emit(0x0f) + m.emit(0xc7) + m.mrsd(1, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMPXCHG16B") + } + return p +} + +// CMPXCHG8B performs "Compare and Exchange 8 Bytes". +// +// Mnemonic : CMPXCHG8B +// Supported forms : (1 form) +// +// * CMPXCHG8B m64 +// +func (self *Program) CMPXCHG8B(v0 interface{}) *Instruction { + p := self.alloc("CMPXCHG8B", 1, Operands { v0 }) + // CMPXCHG8B m64 + if isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0xc7) + m.mrsd(1, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMPXCHG8B") + } + return p +} + +// CMPXCHGB performs "Compare and Exchange". +// +// Mnemonic : CMPXCHG +// Supported forms : (2 forms) +// +// * CMPXCHGB r8, r8 +// * CMPXCHGB r8, m8 +// +func (self *Program) CMPXCHGB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMPXCHGB", 2, Operands { v0, v1 }) + // CMPXCHGB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x0f) + m.emit(0xb0) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // CMPXCHGB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0xb0) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMPXCHGB") + } + return p +} + +// CMPXCHGL performs "Compare and Exchange". +// +// Mnemonic : CMPXCHG +// Supported forms : (2 forms) +// +// * CMPXCHGL r32, r32 +// * CMPXCHGL r32, m32 +// +func (self *Program) CMPXCHGL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMPXCHGL", 2, Operands { v0, v1 }) + // CMPXCHGL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xb1) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // CMPXCHGL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xb1) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMPXCHGL") + } + return p +} + +// CMPXCHGQ performs "Compare and Exchange". +// +// Mnemonic : CMPXCHG +// Supported forms : (2 forms) +// +// * CMPXCHGQ r64, r64 +// * CMPXCHGQ r64, m64 +// +func (self *Program) CMPXCHGQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMPXCHGQ", 2, Operands { v0, v1 }) + // CMPXCHGQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x0f) + m.emit(0xb1) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // CMPXCHGQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x0f) + m.emit(0xb1) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMPXCHGQ") + } + return p +} + +// CMPXCHGW performs "Compare and Exchange". +// +// Mnemonic : CMPXCHG +// Supported forms : (2 forms) +// +// * CMPXCHGW r16, r16 +// * CMPXCHGW r16, m16 +// +func (self *Program) CMPXCHGW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CMPXCHGW", 2, Operands { v0, v1 }) + // CMPXCHGW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xb1) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // CMPXCHGW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xb1) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CMPXCHGW") + } + return p +} + +// COMISD performs "Compare Scalar Ordered Double-Precision Floating-Point Values and Set EFLAGS". +// +// Mnemonic : COMISD +// Supported forms : (2 forms) +// +// * COMISD xmm, xmm [SSE2] +// * COMISD m64, xmm [SSE2] +// +func (self *Program) COMISD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("COMISD", 2, Operands { v0, v1 }) + // COMISD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // COMISD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for COMISD") + } + return p +} + +// COMISS performs "Compare Scalar Ordered Single-Precision Floating-Point Values and Set EFLAGS". +// +// Mnemonic : COMISS +// Supported forms : (2 forms) +// +// * COMISS xmm, xmm [SSE] +// * COMISS m32, xmm [SSE] +// +func (self *Program) COMISS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("COMISS", 2, Operands { v0, v1 }) + // COMISS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // COMISS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for COMISS") + } + return p +} + +// CPUID performs "CPU Identification". +// +// Mnemonic : CPUID +// Supported forms : (1 form) +// +// * CPUID [CPUID] +// +func (self *Program) CPUID() *Instruction { + p := self.alloc("CPUID", 0, Operands { }) + // CPUID + self.require(ISA_CPUID) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0xa2) + }) + return p +} + +// CQTO performs "Convert Quadword to Octaword". +// +// Mnemonic : CQO +// Supported forms : (1 form) +// +// * CQTO +// +func (self *Program) CQTO() *Instruction { + p := self.alloc("CQTO", 0, Operands { }) + // CQTO + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48) + m.emit(0x99) + }) + return p +} + +// CRC32B performs "Accumulate CRC32 Value". +// +// Mnemonic : CRC32 +// Supported forms : (4 forms) +// +// * CRC32B r8, r32 [SSE4.2] +// * CRC32B m8, r32 [SSE4.2] +// * CRC32B r8, r64 [SSE4.2] +// * CRC32B m8, r64 [SSE4.2] +// +func (self *Program) CRC32B(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CRC32B", 2, Operands { v0, v1 }) + // CRC32B r8, r32 + if isReg8(v0) && isReg32(v1) { + self.require(ISA_SSE4_2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf0) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CRC32B m8, r32 + if isM8(v0) && isReg32(v1) { + self.require(ISA_SSE4_2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf0) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CRC32B r8, r64 + if isReg8(v0) && isReg64(v1) { + self.require(ISA_SSE4_2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf0) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CRC32B m8, r64 + if isM8(v0) && isReg64(v1) { + self.require(ISA_SSE4_2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf0) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CRC32B") + } + return p +} + +// CRC32L performs "Accumulate CRC32 Value". +// +// Mnemonic : CRC32 +// Supported forms : (2 forms) +// +// * CRC32L r32, r32 [SSE4.2] +// * CRC32L m32, r32 [SSE4.2] +// +func (self *Program) CRC32L(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CRC32L", 2, Operands { v0, v1 }) + // CRC32L r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_SSE4_2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf1) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CRC32L m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_SSE4_2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf1) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CRC32L") + } + return p +} + +// CRC32Q performs "Accumulate CRC32 Value". +// +// Mnemonic : CRC32 +// Supported forms : (2 forms) +// +// * CRC32Q r64, r64 [SSE4.2] +// * CRC32Q m64, r64 [SSE4.2] +// +func (self *Program) CRC32Q(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CRC32Q", 2, Operands { v0, v1 }) + // CRC32Q r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_SSE4_2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf1) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CRC32Q m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_SSE4_2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf1) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CRC32Q") + } + return p +} + +// CRC32W performs "Accumulate CRC32 Value". +// +// Mnemonic : CRC32 +// Supported forms : (2 forms) +// +// * CRC32W r16, r32 [SSE4.2] +// * CRC32W m16, r32 [SSE4.2] +// +func (self *Program) CRC32W(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CRC32W", 2, Operands { v0, v1 }) + // CRC32W r16, r32 + if isReg16(v0) && isReg32(v1) { + self.require(ISA_SSE4_2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf1) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CRC32W m16, r32 + if isM16(v0) && isReg32(v1) { + self.require(ISA_SSE4_2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf1) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CRC32W") + } + return p +} + +// CVTDQ2PD performs "Convert Packed Dword Integers to Packed Double-Precision FP Values". +// +// Mnemonic : CVTDQ2PD +// Supported forms : (2 forms) +// +// * CVTDQ2PD xmm, xmm [SSE2] +// * CVTDQ2PD m64, xmm [SSE2] +// +func (self *Program) CVTDQ2PD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTDQ2PD", 2, Operands { v0, v1 }) + // CVTDQ2PD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTDQ2PD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTDQ2PD") + } + return p +} + +// CVTDQ2PS performs "Convert Packed Dword Integers to Packed Single-Precision FP Values". +// +// Mnemonic : CVTDQ2PS +// Supported forms : (2 forms) +// +// * CVTDQ2PS xmm, xmm [SSE2] +// * CVTDQ2PS m128, xmm [SSE2] +// +func (self *Program) CVTDQ2PS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTDQ2PS", 2, Operands { v0, v1 }) + // CVTDQ2PS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTDQ2PS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTDQ2PS") + } + return p +} + +// CVTPD2DQ performs "Convert Packed Double-Precision FP Values to Packed Dword Integers". +// +// Mnemonic : CVTPD2DQ +// Supported forms : (2 forms) +// +// * CVTPD2DQ xmm, xmm [SSE2] +// * CVTPD2DQ m128, xmm [SSE2] +// +func (self *Program) CVTPD2DQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTPD2DQ", 2, Operands { v0, v1 }) + // CVTPD2DQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTPD2DQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTPD2DQ") + } + return p +} + +// CVTPD2PI performs "Convert Packed Double-Precision FP Values to Packed Dword Integers". +// +// Mnemonic : CVTPD2PI +// Supported forms : (2 forms) +// +// * CVTPD2PI xmm, mm [SSE] +// * CVTPD2PI m128, mm [SSE] +// +func (self *Program) CVTPD2PI(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTPD2PI", 2, Operands { v0, v1 }) + // CVTPD2PI xmm, mm + if isXMM(v0) && isMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTPD2PI m128, mm + if isM128(v0) && isMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTPD2PI") + } + return p +} + +// CVTPD2PS performs "Convert Packed Double-Precision FP Values to Packed Single-Precision FP Values". +// +// Mnemonic : CVTPD2PS +// Supported forms : (2 forms) +// +// * CVTPD2PS xmm, xmm [SSE2] +// * CVTPD2PS m128, xmm [SSE2] +// +func (self *Program) CVTPD2PS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTPD2PS", 2, Operands { v0, v1 }) + // CVTPD2PS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTPD2PS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTPD2PS") + } + return p +} + +// CVTPI2PD performs "Convert Packed Dword Integers to Packed Double-Precision FP Values". +// +// Mnemonic : CVTPI2PD +// Supported forms : (2 forms) +// +// * CVTPI2PD mm, xmm [SSE2] +// * CVTPI2PD m64, xmm [SSE2] +// +func (self *Program) CVTPI2PD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTPI2PD", 2, Operands { v0, v1 }) + // CVTPI2PD mm, xmm + if isMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTPI2PD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTPI2PD") + } + return p +} + +// CVTPI2PS performs "Convert Packed Dword Integers to Packed Single-Precision FP Values". +// +// Mnemonic : CVTPI2PS +// Supported forms : (2 forms) +// +// * CVTPI2PS mm, xmm [SSE] +// * CVTPI2PS m64, xmm [SSE] +// +func (self *Program) CVTPI2PS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTPI2PS", 2, Operands { v0, v1 }) + // CVTPI2PS mm, xmm + if isMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTPI2PS m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTPI2PS") + } + return p +} + +// CVTPS2DQ performs "Convert Packed Single-Precision FP Values to Packed Dword Integers". +// +// Mnemonic : CVTPS2DQ +// Supported forms : (2 forms) +// +// * CVTPS2DQ xmm, xmm [SSE2] +// * CVTPS2DQ m128, xmm [SSE2] +// +func (self *Program) CVTPS2DQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTPS2DQ", 2, Operands { v0, v1 }) + // CVTPS2DQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTPS2DQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTPS2DQ") + } + return p +} + +// CVTPS2PD performs "Convert Packed Single-Precision FP Values to Packed Double-Precision FP Values". +// +// Mnemonic : CVTPS2PD +// Supported forms : (2 forms) +// +// * CVTPS2PD xmm, xmm [SSE2] +// * CVTPS2PD m64, xmm [SSE2] +// +func (self *Program) CVTPS2PD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTPS2PD", 2, Operands { v0, v1 }) + // CVTPS2PD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTPS2PD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTPS2PD") + } + return p +} + +// CVTPS2PI performs "Convert Packed Single-Precision FP Values to Packed Dword Integers". +// +// Mnemonic : CVTPS2PI +// Supported forms : (2 forms) +// +// * CVTPS2PI xmm, mm [SSE] +// * CVTPS2PI m64, mm [SSE] +// +func (self *Program) CVTPS2PI(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTPS2PI", 2, Operands { v0, v1 }) + // CVTPS2PI xmm, mm + if isXMM(v0) && isMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTPS2PI m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTPS2PI") + } + return p +} + +// CVTSD2SI performs "Convert Scalar Double-Precision FP Value to Integer". +// +// Mnemonic : CVTSD2SI +// Supported forms : (4 forms) +// +// * CVTSD2SI xmm, r32 [SSE2] +// * CVTSD2SI m64, r32 [SSE2] +// * CVTSD2SI xmm, r64 [SSE2] +// * CVTSD2SI m64, r64 [SSE2] +// +func (self *Program) CVTSD2SI(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTSD2SI", 2, Operands { v0, v1 }) + // CVTSD2SI xmm, r32 + if isXMM(v0) && isReg32(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTSD2SI m64, r32 + if isM64(v0) && isReg32(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CVTSD2SI xmm, r64 + if isXMM(v0) && isReg64(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTSD2SI m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTSD2SI") + } + return p +} + +// CVTSD2SS performs "Convert Scalar Double-Precision FP Value to Scalar Single-Precision FP Value". +// +// Mnemonic : CVTSD2SS +// Supported forms : (2 forms) +// +// * CVTSD2SS xmm, xmm [SSE2] +// * CVTSD2SS m64, xmm [SSE2] +// +func (self *Program) CVTSD2SS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTSD2SS", 2, Operands { v0, v1 }) + // CVTSD2SS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTSD2SS m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTSD2SS") + } + return p +} + +// CVTSI2SD performs "Convert Dword Integer to Scalar Double-Precision FP Value". +// +// Mnemonic : CVTSI2SD +// Supported forms : (4 forms) +// +// * CVTSI2SD r32, xmm [SSE2] +// * CVTSI2SD r64, xmm [SSE2] +// * CVTSI2SD m32, xmm [SSE2] +// * CVTSI2SD m64, xmm [SSE2] +// +func (self *Program) CVTSI2SD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTSI2SD", 2, Operands { v0, v1 }) + // CVTSI2SD r32, xmm + if isReg32(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTSI2SD r64, xmm + if isReg64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTSI2SD m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CVTSI2SD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTSI2SD") + } + return p +} + +// CVTSI2SS performs "Convert Dword Integer to Scalar Single-Precision FP Value". +// +// Mnemonic : CVTSI2SS +// Supported forms : (4 forms) +// +// * CVTSI2SS r32, xmm [SSE] +// * CVTSI2SS r64, xmm [SSE] +// * CVTSI2SS m32, xmm [SSE] +// * CVTSI2SS m64, xmm [SSE] +// +func (self *Program) CVTSI2SS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTSI2SS", 2, Operands { v0, v1 }) + // CVTSI2SS r32, xmm + if isReg32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTSI2SS r64, xmm + if isReg64(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTSI2SS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CVTSI2SS m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTSI2SS") + } + return p +} + +// CVTSS2SD performs "Convert Scalar Single-Precision FP Value to Scalar Double-Precision FP Value". +// +// Mnemonic : CVTSS2SD +// Supported forms : (2 forms) +// +// * CVTSS2SD xmm, xmm [SSE2] +// * CVTSS2SD m32, xmm [SSE2] +// +func (self *Program) CVTSS2SD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTSS2SD", 2, Operands { v0, v1 }) + // CVTSS2SD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTSS2SD m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTSS2SD") + } + return p +} + +// CVTSS2SI performs "Convert Scalar Single-Precision FP Value to Dword Integer". +// +// Mnemonic : CVTSS2SI +// Supported forms : (4 forms) +// +// * CVTSS2SI xmm, r32 [SSE] +// * CVTSS2SI m32, r32 [SSE] +// * CVTSS2SI xmm, r64 [SSE] +// * CVTSS2SI m32, r64 [SSE] +// +func (self *Program) CVTSS2SI(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTSS2SI", 2, Operands { v0, v1 }) + // CVTSS2SI xmm, r32 + if isXMM(v0) && isReg32(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTSS2SI m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CVTSS2SI xmm, r64 + if isXMM(v0) && isReg64(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTSS2SI m32, r64 + if isM32(v0) && isReg64(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTSS2SI") + } + return p +} + +// CVTTPD2DQ performs "Convert with Truncation Packed Double-Precision FP Values to Packed Dword Integers". +// +// Mnemonic : CVTTPD2DQ +// Supported forms : (2 forms) +// +// * CVTTPD2DQ xmm, xmm [SSE2] +// * CVTTPD2DQ m128, xmm [SSE2] +// +func (self *Program) CVTTPD2DQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTTPD2DQ", 2, Operands { v0, v1 }) + // CVTTPD2DQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTTPD2DQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTTPD2DQ") + } + return p +} + +// CVTTPD2PI performs "Convert with Truncation Packed Double-Precision FP Values to Packed Dword Integers". +// +// Mnemonic : CVTTPD2PI +// Supported forms : (2 forms) +// +// * CVTTPD2PI xmm, mm [SSE2] +// * CVTTPD2PI m128, mm [SSE2] +// +func (self *Program) CVTTPD2PI(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTTPD2PI", 2, Operands { v0, v1 }) + // CVTTPD2PI xmm, mm + if isXMM(v0) && isMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTTPD2PI m128, mm + if isM128(v0) && isMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTTPD2PI") + } + return p +} + +// CVTTPS2DQ performs "Convert with Truncation Packed Single-Precision FP Values to Packed Dword Integers". +// +// Mnemonic : CVTTPS2DQ +// Supported forms : (2 forms) +// +// * CVTTPS2DQ xmm, xmm [SSE2] +// * CVTTPS2DQ m128, xmm [SSE2] +// +func (self *Program) CVTTPS2DQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTTPS2DQ", 2, Operands { v0, v1 }) + // CVTTPS2DQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTTPS2DQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTTPS2DQ") + } + return p +} + +// CVTTPS2PI performs "Convert with Truncation Packed Single-Precision FP Values to Packed Dword Integers". +// +// Mnemonic : CVTTPS2PI +// Supported forms : (2 forms) +// +// * CVTTPS2PI xmm, mm [SSE] +// * CVTTPS2PI m64, mm [SSE] +// +func (self *Program) CVTTPS2PI(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTTPS2PI", 2, Operands { v0, v1 }) + // CVTTPS2PI xmm, mm + if isXMM(v0) && isMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTTPS2PI m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTTPS2PI") + } + return p +} + +// CVTTSD2SI performs "Convert with Truncation Scalar Double-Precision FP Value to Signed Integer". +// +// Mnemonic : CVTTSD2SI +// Supported forms : (4 forms) +// +// * CVTTSD2SI xmm, r32 [SSE2] +// * CVTTSD2SI m64, r32 [SSE2] +// * CVTTSD2SI xmm, r64 [SSE2] +// * CVTTSD2SI m64, r64 [SSE2] +// +func (self *Program) CVTTSD2SI(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTTSD2SI", 2, Operands { v0, v1 }) + // CVTTSD2SI xmm, r32 + if isXMM(v0) && isReg32(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTTSD2SI m64, r32 + if isM64(v0) && isReg32(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CVTTSD2SI xmm, r64 + if isXMM(v0) && isReg64(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTTSD2SI m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTTSD2SI") + } + return p +} + +// CVTTSS2SI performs "Convert with Truncation Scalar Single-Precision FP Value to Dword Integer". +// +// Mnemonic : CVTTSS2SI +// Supported forms : (4 forms) +// +// * CVTTSS2SI xmm, r32 [SSE] +// * CVTTSS2SI m32, r32 [SSE] +// * CVTTSS2SI xmm, r64 [SSE] +// * CVTTSS2SI m32, r64 [SSE] +// +func (self *Program) CVTTSS2SI(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("CVTTSS2SI", 2, Operands { v0, v1 }) + // CVTTSS2SI xmm, r32 + if isXMM(v0) && isReg32(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTTSS2SI m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // CVTTSS2SI xmm, r64 + if isXMM(v0) && isReg64(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // CVTTSS2SI m32, r64 + if isM32(v0) && isReg64(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for CVTTSS2SI") + } + return p +} + +// CWTD performs "Convert Word to Doubleword". +// +// Mnemonic : CWD +// Supported forms : (1 form) +// +// * CWTD +// +func (self *Program) CWTD() *Instruction { + p := self.alloc("CWTD", 0, Operands { }) + // CWTD + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x99) + }) + return p +} + +// CWTL performs "Convert Word to Doubleword". +// +// Mnemonic : CWDE +// Supported forms : (1 form) +// +// * CWTL +// +func (self *Program) CWTL() *Instruction { + p := self.alloc("CWTL", 0, Operands { }) + // CWTL + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x98) + }) + return p +} + +// DECB performs "Decrement by 1". +// +// Mnemonic : DEC +// Supported forms : (2 forms) +// +// * DECB r8 +// * DECB m8 +// +func (self *Program) DECB(v0 interface{}) *Instruction { + p := self.alloc("DECB", 1, Operands { v0 }) + // DECB r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0xfe) + m.emit(0xc8 | lcode(v[0])) + }) + } + // DECB m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xfe) + m.mrsd(1, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for DECB") + } + return p +} + +// DECL performs "Decrement by 1". +// +// Mnemonic : DEC +// Supported forms : (2 forms) +// +// * DECL r32 +// * DECL m32 +// +func (self *Program) DECL(v0 interface{}) *Instruction { + p := self.alloc("DECL", 1, Operands { v0 }) + // DECL r32 + if isReg32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0xff) + m.emit(0xc8 | lcode(v[0])) + }) + } + // DECL m32 + if isM32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xff) + m.mrsd(1, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for DECL") + } + return p +} + +// DECQ performs "Decrement by 1". +// +// Mnemonic : DEC +// Supported forms : (2 forms) +// +// * DECQ r64 +// * DECQ m64 +// +func (self *Program) DECQ(v0 interface{}) *Instruction { + p := self.alloc("DECQ", 1, Operands { v0 }) + // DECQ r64 + if isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0])) + m.emit(0xff) + m.emit(0xc8 | lcode(v[0])) + }) + } + // DECQ m64 + if isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[0])) + m.emit(0xff) + m.mrsd(1, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for DECQ") + } + return p +} + +// DECW performs "Decrement by 1". +// +// Mnemonic : DEC +// Supported forms : (2 forms) +// +// * DECW r16 +// * DECW m16 +// +func (self *Program) DECW(v0 interface{}) *Instruction { + p := self.alloc("DECW", 1, Operands { v0 }) + // DECW r16 + if isReg16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0xff) + m.emit(0xc8 | lcode(v[0])) + }) + } + // DECW m16 + if isM16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[0]), false) + m.emit(0xff) + m.mrsd(1, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for DECW") + } + return p +} + +// DIVB performs "Unsigned Divide". +// +// Mnemonic : DIV +// Supported forms : (2 forms) +// +// * DIVB r8 +// * DIVB m8 +// +func (self *Program) DIVB(v0 interface{}) *Instruction { + p := self.alloc("DIVB", 1, Operands { v0 }) + // DIVB r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0xf6) + m.emit(0xf0 | lcode(v[0])) + }) + } + // DIVB m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xf6) + m.mrsd(6, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for DIVB") + } + return p +} + +// DIVL performs "Unsigned Divide". +// +// Mnemonic : DIV +// Supported forms : (2 forms) +// +// * DIVL r32 +// * DIVL m32 +// +func (self *Program) DIVL(v0 interface{}) *Instruction { + p := self.alloc("DIVL", 1, Operands { v0 }) + // DIVL r32 + if isReg32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0xf7) + m.emit(0xf0 | lcode(v[0])) + }) + } + // DIVL m32 + if isM32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xf7) + m.mrsd(6, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for DIVL") + } + return p +} + +// DIVPD performs "Divide Packed Double-Precision Floating-Point Values". +// +// Mnemonic : DIVPD +// Supported forms : (2 forms) +// +// * DIVPD xmm, xmm [SSE2] +// * DIVPD m128, xmm [SSE2] +// +func (self *Program) DIVPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("DIVPD", 2, Operands { v0, v1 }) + // DIVPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // DIVPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for DIVPD") + } + return p +} + +// DIVPS performs "Divide Packed Single-Precision Floating-Point Values". +// +// Mnemonic : DIVPS +// Supported forms : (2 forms) +// +// * DIVPS xmm, xmm [SSE] +// * DIVPS m128, xmm [SSE] +// +func (self *Program) DIVPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("DIVPS", 2, Operands { v0, v1 }) + // DIVPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // DIVPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for DIVPS") + } + return p +} + +// DIVQ performs "Unsigned Divide". +// +// Mnemonic : DIV +// Supported forms : (2 forms) +// +// * DIVQ r64 +// * DIVQ m64 +// +func (self *Program) DIVQ(v0 interface{}) *Instruction { + p := self.alloc("DIVQ", 1, Operands { v0 }) + // DIVQ r64 + if isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0])) + m.emit(0xf7) + m.emit(0xf0 | lcode(v[0])) + }) + } + // DIVQ m64 + if isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[0])) + m.emit(0xf7) + m.mrsd(6, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for DIVQ") + } + return p +} + +// DIVSD performs "Divide Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : DIVSD +// Supported forms : (2 forms) +// +// * DIVSD xmm, xmm [SSE2] +// * DIVSD m64, xmm [SSE2] +// +func (self *Program) DIVSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("DIVSD", 2, Operands { v0, v1 }) + // DIVSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // DIVSD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for DIVSD") + } + return p +} + +// DIVSS performs "Divide Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : DIVSS +// Supported forms : (2 forms) +// +// * DIVSS xmm, xmm [SSE] +// * DIVSS m32, xmm [SSE] +// +func (self *Program) DIVSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("DIVSS", 2, Operands { v0, v1 }) + // DIVSS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // DIVSS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for DIVSS") + } + return p +} + +// DIVW performs "Unsigned Divide". +// +// Mnemonic : DIV +// Supported forms : (2 forms) +// +// * DIVW r16 +// * DIVW m16 +// +func (self *Program) DIVW(v0 interface{}) *Instruction { + p := self.alloc("DIVW", 1, Operands { v0 }) + // DIVW r16 + if isReg16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0xf7) + m.emit(0xf0 | lcode(v[0])) + }) + } + // DIVW m16 + if isM16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[0]), false) + m.emit(0xf7) + m.mrsd(6, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for DIVW") + } + return p +} + +// DPPD performs "Dot Product of Packed Double Precision Floating-Point Values". +// +// Mnemonic : DPPD +// Supported forms : (2 forms) +// +// * DPPD imm8, xmm, xmm [SSE4.1] +// * DPPD imm8, m128, xmm [SSE4.1] +// +func (self *Program) DPPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("DPPD", 3, Operands { v0, v1, v2 }) + // DPPD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x41) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // DPPD imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x41) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for DPPD") + } + return p +} + +// DPPS performs "Dot Product of Packed Single Precision Floating-Point Values". +// +// Mnemonic : DPPS +// Supported forms : (2 forms) +// +// * DPPS imm8, xmm, xmm [SSE4.1] +// * DPPS imm8, m128, xmm [SSE4.1] +// +func (self *Program) DPPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("DPPS", 3, Operands { v0, v1, v2 }) + // DPPS imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x40) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // DPPS imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x40) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for DPPS") + } + return p +} + +// EMMS performs "Exit MMX State". +// +// Mnemonic : EMMS +// Supported forms : (1 form) +// +// * EMMS [MMX] +// +func (self *Program) EMMS() *Instruction { + p := self.alloc("EMMS", 0, Operands { }) + // EMMS + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x77) + }) + return p +} + +// EXTRACTPS performs "Extract Packed Single Precision Floating-Point Value". +// +// Mnemonic : EXTRACTPS +// Supported forms : (2 forms) +// +// * EXTRACTPS imm8, xmm, r32 [SSE4.1] +// * EXTRACTPS imm8, xmm, m32 [SSE4.1] +// +func (self *Program) EXTRACTPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("EXTRACTPS", 3, Operands { v0, v1, v2 }) + // EXTRACTPS imm8, xmm, r32 + if isImm8(v0) && isXMM(v1) && isReg32(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[2], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x17) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // EXTRACTPS imm8, xmm, m32 + if isImm8(v0) && isXMM(v1) && isM32(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[2]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x17) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for EXTRACTPS") + } + return p +} + +// EXTRQ performs "Extract Field". +// +// Mnemonic : EXTRQ +// Supported forms : (2 forms) +// +// * EXTRQ xmm, xmm [SSE4A] +// * EXTRQ imm8, imm8, xmm [SSE4A] +// +func (self *Program) EXTRQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("EXTRQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("EXTRQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction EXTRQ takes 2 or 3 operands") + } + // EXTRQ xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4A) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // EXTRQ imm8, imm8, xmm + if len(vv) == 1 && isImm8(v0) && isImm8(v1) && isXMM(vv[0]) { + self.require(ISA_SSE4A) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[2], false) + m.emit(0x0f) + m.emit(0x78) + m.emit(0xc0 | lcode(v[2])) + m.imm1(toImmAny(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for EXTRQ") + } + return p +} + +// FEMMS performs "Fast Exit Multimedia State". +// +// Mnemonic : FEMMS +// Supported forms : (1 form) +// +// * FEMMS [FEMMS] +// +func (self *Program) FEMMS() *Instruction { + p := self.alloc("FEMMS", 0, Operands { }) + // FEMMS + self.require(ISA_FEMMS) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x0e) + }) + return p +} + +// HADDPD performs "Packed Double-FP Horizontal Add". +// +// Mnemonic : HADDPD +// Supported forms : (2 forms) +// +// * HADDPD xmm, xmm [SSE3] +// * HADDPD m128, xmm [SSE3] +// +func (self *Program) HADDPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("HADDPD", 2, Operands { v0, v1 }) + // HADDPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // HADDPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x7c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for HADDPD") + } + return p +} + +// HADDPS performs "Packed Single-FP Horizontal Add". +// +// Mnemonic : HADDPS +// Supported forms : (2 forms) +// +// * HADDPS xmm, xmm [SSE3] +// * HADDPS m128, xmm [SSE3] +// +func (self *Program) HADDPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("HADDPS", 2, Operands { v0, v1 }) + // HADDPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // HADDPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x7c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for HADDPS") + } + return p +} + +// HSUBPD performs "Packed Double-FP Horizontal Subtract". +// +// Mnemonic : HSUBPD +// Supported forms : (2 forms) +// +// * HSUBPD xmm, xmm [SSE3] +// * HSUBPD m128, xmm [SSE3] +// +func (self *Program) HSUBPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("HSUBPD", 2, Operands { v0, v1 }) + // HSUBPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // HSUBPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x7d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for HSUBPD") + } + return p +} + +// HSUBPS performs "Packed Single-FP Horizontal Subtract". +// +// Mnemonic : HSUBPS +// Supported forms : (2 forms) +// +// * HSUBPS xmm, xmm [SSE3] +// * HSUBPS m128, xmm [SSE3] +// +func (self *Program) HSUBPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("HSUBPS", 2, Operands { v0, v1 }) + // HSUBPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // HSUBPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x7d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for HSUBPS") + } + return p +} + +// IDIVB performs "Signed Divide". +// +// Mnemonic : IDIV +// Supported forms : (2 forms) +// +// * IDIVB r8 +// * IDIVB m8 +// +func (self *Program) IDIVB(v0 interface{}) *Instruction { + p := self.alloc("IDIVB", 1, Operands { v0 }) + // IDIVB r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0xf6) + m.emit(0xf8 | lcode(v[0])) + }) + } + // IDIVB m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xf6) + m.mrsd(7, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for IDIVB") + } + return p +} + +// IDIVL performs "Signed Divide". +// +// Mnemonic : IDIV +// Supported forms : (2 forms) +// +// * IDIVL r32 +// * IDIVL m32 +// +func (self *Program) IDIVL(v0 interface{}) *Instruction { + p := self.alloc("IDIVL", 1, Operands { v0 }) + // IDIVL r32 + if isReg32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0xf7) + m.emit(0xf8 | lcode(v[0])) + }) + } + // IDIVL m32 + if isM32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xf7) + m.mrsd(7, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for IDIVL") + } + return p +} + +// IDIVQ performs "Signed Divide". +// +// Mnemonic : IDIV +// Supported forms : (2 forms) +// +// * IDIVQ r64 +// * IDIVQ m64 +// +func (self *Program) IDIVQ(v0 interface{}) *Instruction { + p := self.alloc("IDIVQ", 1, Operands { v0 }) + // IDIVQ r64 + if isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0])) + m.emit(0xf7) + m.emit(0xf8 | lcode(v[0])) + }) + } + // IDIVQ m64 + if isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[0])) + m.emit(0xf7) + m.mrsd(7, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for IDIVQ") + } + return p +} + +// IDIVW performs "Signed Divide". +// +// Mnemonic : IDIV +// Supported forms : (2 forms) +// +// * IDIVW r16 +// * IDIVW m16 +// +func (self *Program) IDIVW(v0 interface{}) *Instruction { + p := self.alloc("IDIVW", 1, Operands { v0 }) + // IDIVW r16 + if isReg16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0xf7) + m.emit(0xf8 | lcode(v[0])) + }) + } + // IDIVW m16 + if isM16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[0]), false) + m.emit(0xf7) + m.mrsd(7, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for IDIVW") + } + return p +} + +// IMULB performs "Signed Multiply". +// +// Mnemonic : IMUL +// Supported forms : (2 forms) +// +// * IMULB r8 +// * IMULB m8 +// +func (self *Program) IMULB(v0 interface{}) *Instruction { + p := self.alloc("IMULB", 1, Operands { v0 }) + // IMULB r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0xf6) + m.emit(0xe8 | lcode(v[0])) + }) + } + // IMULB m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xf6) + m.mrsd(5, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for IMULB") + } + return p +} + +// IMULL performs "Signed Multiply". +// +// Mnemonic : IMUL +// Supported forms : (8 forms) +// +// * IMULL r32 +// * IMULL m32 +// * IMULL r32, r32 +// * IMULL m32, r32 +// * IMULL imm8, r32, r32 +// * IMULL imm32, r32, r32 +// * IMULL imm8, m32, r32 +// * IMULL imm32, m32, r32 +// +func (self *Program) IMULL(v0 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("IMULL", 1, Operands { v0 }) + case 1 : p = self.alloc("IMULL", 2, Operands { v0, vv[0] }) + case 2 : p = self.alloc("IMULL", 3, Operands { v0, vv[0], vv[1] }) + default : panic("instruction IMULL takes 1 or 2 or 3 operands") + } + // IMULL r32 + if len(vv) == 0 && isReg32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0xf7) + m.emit(0xe8 | lcode(v[0])) + }) + } + // IMULL m32 + if len(vv) == 0 && isM32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xf7) + m.mrsd(5, addr(v[0]), 1) + }) + } + // IMULL r32, r32 + if len(vv) == 1 && isReg32(v0) && isReg32(vv[0]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xaf) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // IMULL m32, r32 + if len(vv) == 1 && isM32(v0) && isReg32(vv[0]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xaf) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // IMULL imm8, r32, r32 + if len(vv) == 2 && isImm8(v0) && isReg32(vv[0]) && isReg32(vv[1]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x6b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // IMULL imm32, r32, r32 + if len(vv) == 2 && isImm32(v0) && isReg32(vv[0]) && isReg32(vv[1]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x69) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // IMULL imm8, m32, r32 + if len(vv) == 2 && isImm8(v0) && isM32(vv[0]) && isReg32(vv[1]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x6b) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // IMULL imm32, m32, r32 + if len(vv) == 2 && isImm32(v0) && isM32(vv[0]) && isReg32(vv[1]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x69) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for IMULL") + } + return p +} + +// IMULQ performs "Signed Multiply". +// +// Mnemonic : IMUL +// Supported forms : (8 forms) +// +// * IMULQ r64 +// * IMULQ m64 +// * IMULQ r64, r64 +// * IMULQ m64, r64 +// * IMULQ imm8, r64, r64 +// * IMULQ imm32, r64, r64 +// * IMULQ imm8, m64, r64 +// * IMULQ imm32, m64, r64 +// +func (self *Program) IMULQ(v0 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("IMULQ", 1, Operands { v0 }) + case 1 : p = self.alloc("IMULQ", 2, Operands { v0, vv[0] }) + case 2 : p = self.alloc("IMULQ", 3, Operands { v0, vv[0], vv[1] }) + default : panic("instruction IMULQ takes 1 or 2 or 3 operands") + } + // IMULQ r64 + if len(vv) == 0 && isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0])) + m.emit(0xf7) + m.emit(0xe8 | lcode(v[0])) + }) + } + // IMULQ m64 + if len(vv) == 0 && isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[0])) + m.emit(0xf7) + m.mrsd(5, addr(v[0]), 1) + }) + } + // IMULQ r64, r64 + if len(vv) == 1 && isReg64(v0) && isReg64(vv[0]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xaf) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // IMULQ m64, r64 + if len(vv) == 1 && isM64(v0) && isReg64(vv[0]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0xaf) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // IMULQ imm8, r64, r64 + if len(vv) == 2 && isImm8(v0) && isReg64(vv[0]) && isReg64(vv[1]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[2]) << 2 | hcode(v[1])) + m.emit(0x6b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // IMULQ imm32, r64, r64 + if len(vv) == 2 && isImm32(v0) && isReg64(vv[0]) && isReg64(vv[1]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[2]) << 2 | hcode(v[1])) + m.emit(0x69) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // IMULQ imm8, m64, r64 + if len(vv) == 2 && isImm8(v0) && isM64(vv[0]) && isReg64(vv[1]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[2]), addr(v[1])) + m.emit(0x6b) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // IMULQ imm32, m64, r64 + if len(vv) == 2 && isImm32(v0) && isM64(vv[0]) && isReg64(vv[1]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[2]), addr(v[1])) + m.emit(0x69) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for IMULQ") + } + return p +} + +// IMULW performs "Signed Multiply". +// +// Mnemonic : IMUL +// Supported forms : (8 forms) +// +// * IMULW r16 +// * IMULW m16 +// * IMULW r16, r16 +// * IMULW m16, r16 +// * IMULW imm8, r16, r16 +// * IMULW imm16, r16, r16 +// * IMULW imm8, m16, r16 +// * IMULW imm16, m16, r16 +// +func (self *Program) IMULW(v0 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("IMULW", 1, Operands { v0 }) + case 1 : p = self.alloc("IMULW", 2, Operands { v0, vv[0] }) + case 2 : p = self.alloc("IMULW", 3, Operands { v0, vv[0], vv[1] }) + default : panic("instruction IMULW takes 1 or 2 or 3 operands") + } + // IMULW r16 + if len(vv) == 0 && isReg16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0xf7) + m.emit(0xe8 | lcode(v[0])) + }) + } + // IMULW m16 + if len(vv) == 0 && isM16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[0]), false) + m.emit(0xf7) + m.mrsd(5, addr(v[0]), 1) + }) + } + // IMULW r16, r16 + if len(vv) == 1 && isReg16(v0) && isReg16(vv[0]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xaf) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // IMULW m16, r16 + if len(vv) == 1 && isM16(v0) && isReg16(vv[0]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xaf) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // IMULW imm8, r16, r16 + if len(vv) == 2 && isImm8(v0) && isReg16(vv[0]) && isReg16(vv[1]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x6b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // IMULW imm16, r16, r16 + if len(vv) == 2 && isImm16(v0) && isReg16(vv[0]) && isReg16(vv[1]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x69) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm2(toImmAny(v[0])) + }) + } + // IMULW imm8, m16, r16 + if len(vv) == 2 && isImm8(v0) && isM16(vv[0]) && isReg16(vv[1]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x6b) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // IMULW imm16, m16, r16 + if len(vv) == 2 && isImm16(v0) && isM16(vv[0]) && isReg16(vv[1]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x69) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm2(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for IMULW") + } + return p +} + +// INCB performs "Increment by 1". +// +// Mnemonic : INC +// Supported forms : (2 forms) +// +// * INCB r8 +// * INCB m8 +// +func (self *Program) INCB(v0 interface{}) *Instruction { + p := self.alloc("INCB", 1, Operands { v0 }) + // INCB r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0xfe) + m.emit(0xc0 | lcode(v[0])) + }) + } + // INCB m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xfe) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for INCB") + } + return p +} + +// INCL performs "Increment by 1". +// +// Mnemonic : INC +// Supported forms : (2 forms) +// +// * INCL r32 +// * INCL m32 +// +func (self *Program) INCL(v0 interface{}) *Instruction { + p := self.alloc("INCL", 1, Operands { v0 }) + // INCL r32 + if isReg32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0xff) + m.emit(0xc0 | lcode(v[0])) + }) + } + // INCL m32 + if isM32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xff) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for INCL") + } + return p +} + +// INCQ performs "Increment by 1". +// +// Mnemonic : INC +// Supported forms : (2 forms) +// +// * INCQ r64 +// * INCQ m64 +// +func (self *Program) INCQ(v0 interface{}) *Instruction { + p := self.alloc("INCQ", 1, Operands { v0 }) + // INCQ r64 + if isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0])) + m.emit(0xff) + m.emit(0xc0 | lcode(v[0])) + }) + } + // INCQ m64 + if isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[0])) + m.emit(0xff) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for INCQ") + } + return p +} + +// INCW performs "Increment by 1". +// +// Mnemonic : INC +// Supported forms : (2 forms) +// +// * INCW r16 +// * INCW m16 +// +func (self *Program) INCW(v0 interface{}) *Instruction { + p := self.alloc("INCW", 1, Operands { v0 }) + // INCW r16 + if isReg16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0xff) + m.emit(0xc0 | lcode(v[0])) + }) + } + // INCW m16 + if isM16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[0]), false) + m.emit(0xff) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for INCW") + } + return p +} + +// INSERTPS performs "Insert Packed Single Precision Floating-Point Value". +// +// Mnemonic : INSERTPS +// Supported forms : (2 forms) +// +// * INSERTPS imm8, xmm, xmm [SSE4.1] +// * INSERTPS imm8, m32, xmm [SSE4.1] +// +func (self *Program) INSERTPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("INSERTPS", 3, Operands { v0, v1, v2 }) + // INSERTPS imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x21) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // INSERTPS imm8, m32, xmm + if isImm8(v0) && isM32(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x21) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for INSERTPS") + } + return p +} + +// INSERTQ performs "Insert Field". +// +// Mnemonic : INSERTQ +// Supported forms : (2 forms) +// +// * INSERTQ xmm, xmm [SSE4A] +// * INSERTQ imm8, imm8, xmm, xmm [SSE4A] +// +func (self *Program) INSERTQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("INSERTQ", 2, Operands { v0, v1 }) + case 2 : p = self.alloc("INSERTQ", 4, Operands { v0, v1, vv[0], vv[1] }) + default : panic("instruction INSERTQ takes 2 or 4 operands") + } + // INSERTQ xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4A) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // INSERTQ imm8, imm8, xmm, xmm + if len(vv) == 2 && isImm8(v0) && isImm8(v1) && isXMM(vv[0]) && isXMM(vv[1]) { + self.require(ISA_SSE4A) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[3]), v[2], false) + m.emit(0x0f) + m.emit(0x78) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for INSERTQ") + } + return p +} + +// INT performs "Call to Interrupt Procedure". +// +// Mnemonic : INT +// Supported forms : (2 forms) +// +// * INT 3 +// * INT imm8 +// +func (self *Program) INT(v0 interface{}) *Instruction { + p := self.alloc("INT", 1, Operands { v0 }) + // INT 3 + if isConst3(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xcc) + }) + } + // INT imm8 + if isImm8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xcd) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for INT") + } + return p +} + +// JA performs "Jump if above (CF == 0 and ZF == 0)". +// +// Mnemonic : JA +// Supported forms : (2 forms) +// +// * JA rel8 +// * JA rel32 +// +func (self *Program) JA(v0 interface{}) *Instruction { + p := self.alloc("JA", 1, Operands { v0 }) + p.branch = _B_conditional + // JA rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x77) + m.imm1(relv(v[0])) + }) + } + // JA rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x87) + m.imm4(relv(v[0])) + }) + } + // JA label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x77) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x87) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JA") + } + return p +} + +// JAE performs "Jump if above or equal (CF == 0)". +// +// Mnemonic : JAE +// Supported forms : (2 forms) +// +// * JAE rel8 +// * JAE rel32 +// +func (self *Program) JAE(v0 interface{}) *Instruction { + p := self.alloc("JAE", 1, Operands { v0 }) + p.branch = _B_conditional + // JAE rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x73) + m.imm1(relv(v[0])) + }) + } + // JAE rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x83) + m.imm4(relv(v[0])) + }) + } + // JAE label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x73) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x83) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JAE") + } + return p +} + +// JB performs "Jump if below (CF == 1)". +// +// Mnemonic : JB +// Supported forms : (2 forms) +// +// * JB rel8 +// * JB rel32 +// +func (self *Program) JB(v0 interface{}) *Instruction { + p := self.alloc("JB", 1, Operands { v0 }) + p.branch = _B_conditional + // JB rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x72) + m.imm1(relv(v[0])) + }) + } + // JB rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x82) + m.imm4(relv(v[0])) + }) + } + // JB label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x72) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x82) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JB") + } + return p +} + +// JBE performs "Jump if below or equal (CF == 1 or ZF == 1)". +// +// Mnemonic : JBE +// Supported forms : (2 forms) +// +// * JBE rel8 +// * JBE rel32 +// +func (self *Program) JBE(v0 interface{}) *Instruction { + p := self.alloc("JBE", 1, Operands { v0 }) + p.branch = _B_conditional + // JBE rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x76) + m.imm1(relv(v[0])) + }) + } + // JBE rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x86) + m.imm4(relv(v[0])) + }) + } + // JBE label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x76) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x86) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JBE") + } + return p +} + +// JC performs "Jump if carry (CF == 1)". +// +// Mnemonic : JC +// Supported forms : (2 forms) +// +// * JC rel8 +// * JC rel32 +// +func (self *Program) JC(v0 interface{}) *Instruction { + p := self.alloc("JC", 1, Operands { v0 }) + p.branch = _B_conditional + // JC rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x72) + m.imm1(relv(v[0])) + }) + } + // JC rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x82) + m.imm4(relv(v[0])) + }) + } + // JC label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x72) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x82) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JC") + } + return p +} + +// JE performs "Jump if equal (ZF == 1)". +// +// Mnemonic : JE +// Supported forms : (2 forms) +// +// * JE rel8 +// * JE rel32 +// +func (self *Program) JE(v0 interface{}) *Instruction { + p := self.alloc("JE", 1, Operands { v0 }) + p.branch = _B_conditional + // JE rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x74) + m.imm1(relv(v[0])) + }) + } + // JE rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x84) + m.imm4(relv(v[0])) + }) + } + // JE label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x74) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x84) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JE") + } + return p +} + +// JECXZ performs "Jump if ECX register is 0". +// +// Mnemonic : JECXZ +// Supported forms : (1 form) +// +// * JECXZ rel8 +// +func (self *Program) JECXZ(v0 interface{}) *Instruction { + p := self.alloc("JECXZ", 1, Operands { v0 }) + p.branch = _B_conditional + // JECXZ rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xe3) + m.imm1(relv(v[0])) + }) + } + // JECXZ label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0xe3) + m.imm1(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JECXZ") + } + return p +} + +// JG performs "Jump if greater (ZF == 0 and SF == OF)". +// +// Mnemonic : JG +// Supported forms : (2 forms) +// +// * JG rel8 +// * JG rel32 +// +func (self *Program) JG(v0 interface{}) *Instruction { + p := self.alloc("JG", 1, Operands { v0 }) + p.branch = _B_conditional + // JG rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x7f) + m.imm1(relv(v[0])) + }) + } + // JG rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8f) + m.imm4(relv(v[0])) + }) + } + // JG label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x7f) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8f) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JG") + } + return p +} + +// JGE performs "Jump if greater or equal (SF == OF)". +// +// Mnemonic : JGE +// Supported forms : (2 forms) +// +// * JGE rel8 +// * JGE rel32 +// +func (self *Program) JGE(v0 interface{}) *Instruction { + p := self.alloc("JGE", 1, Operands { v0 }) + p.branch = _B_conditional + // JGE rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x7d) + m.imm1(relv(v[0])) + }) + } + // JGE rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8d) + m.imm4(relv(v[0])) + }) + } + // JGE label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x7d) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8d) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JGE") + } + return p +} + +// JL performs "Jump if less (SF != OF)". +// +// Mnemonic : JL +// Supported forms : (2 forms) +// +// * JL rel8 +// * JL rel32 +// +func (self *Program) JL(v0 interface{}) *Instruction { + p := self.alloc("JL", 1, Operands { v0 }) + p.branch = _B_conditional + // JL rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x7c) + m.imm1(relv(v[0])) + }) + } + // JL rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8c) + m.imm4(relv(v[0])) + }) + } + // JL label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x7c) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8c) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JL") + } + return p +} + +// JLE performs "Jump if less or equal (ZF == 1 or SF != OF)". +// +// Mnemonic : JLE +// Supported forms : (2 forms) +// +// * JLE rel8 +// * JLE rel32 +// +func (self *Program) JLE(v0 interface{}) *Instruction { + p := self.alloc("JLE", 1, Operands { v0 }) + p.branch = _B_conditional + // JLE rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x7e) + m.imm1(relv(v[0])) + }) + } + // JLE rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8e) + m.imm4(relv(v[0])) + }) + } + // JLE label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x7e) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8e) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JLE") + } + return p +} + +// JMP performs "Jump Unconditionally". +// +// Mnemonic : JMP +// Supported forms : (2 forms) +// +// * JMP rel8 +// * JMP rel32 +// +func (self *Program) JMP(v0 interface{}) *Instruction { + p := self.alloc("JMP", 1, Operands { v0 }) + p.branch = _B_unconditional + // JMP rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xeb) + m.imm1(relv(v[0])) + }) + } + // JMP rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xe9) + m.imm4(relv(v[0])) + }) + } + // JMP label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0xeb) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0xe9) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JMP") + } + return p +} + +// JMPQ performs "Jump Unconditionally". +// +// Mnemonic : JMP +// Supported forms : (2 forms) +// +// * JMPQ r64 +// * JMPQ m64 +// +func (self *Program) JMPQ(v0 interface{}) *Instruction { + p := self.alloc("JMPQ", 1, Operands { v0 }) + // JMPQ r64 + if isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0xff) + m.emit(0xe0 | lcode(v[0])) + }) + } + // JMPQ m64 + if isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xff) + m.mrsd(4, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for JMPQ") + } + return p +} + +// JNA performs "Jump if not above (CF == 1 or ZF == 1)". +// +// Mnemonic : JNA +// Supported forms : (2 forms) +// +// * JNA rel8 +// * JNA rel32 +// +func (self *Program) JNA(v0 interface{}) *Instruction { + p := self.alloc("JNA", 1, Operands { v0 }) + p.branch = _B_conditional + // JNA rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x76) + m.imm1(relv(v[0])) + }) + } + // JNA rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x86) + m.imm4(relv(v[0])) + }) + } + // JNA label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x76) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x86) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNA") + } + return p +} + +// JNAE performs "Jump if not above or equal (CF == 1)". +// +// Mnemonic : JNAE +// Supported forms : (2 forms) +// +// * JNAE rel8 +// * JNAE rel32 +// +func (self *Program) JNAE(v0 interface{}) *Instruction { + p := self.alloc("JNAE", 1, Operands { v0 }) + p.branch = _B_conditional + // JNAE rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x72) + m.imm1(relv(v[0])) + }) + } + // JNAE rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x82) + m.imm4(relv(v[0])) + }) + } + // JNAE label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x72) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x82) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNAE") + } + return p +} + +// JNB performs "Jump if not below (CF == 0)". +// +// Mnemonic : JNB +// Supported forms : (2 forms) +// +// * JNB rel8 +// * JNB rel32 +// +func (self *Program) JNB(v0 interface{}) *Instruction { + p := self.alloc("JNB", 1, Operands { v0 }) + p.branch = _B_conditional + // JNB rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x73) + m.imm1(relv(v[0])) + }) + } + // JNB rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x83) + m.imm4(relv(v[0])) + }) + } + // JNB label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x73) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x83) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNB") + } + return p +} + +// JNBE performs "Jump if not below or equal (CF == 0 and ZF == 0)". +// +// Mnemonic : JNBE +// Supported forms : (2 forms) +// +// * JNBE rel8 +// * JNBE rel32 +// +func (self *Program) JNBE(v0 interface{}) *Instruction { + p := self.alloc("JNBE", 1, Operands { v0 }) + p.branch = _B_conditional + // JNBE rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x77) + m.imm1(relv(v[0])) + }) + } + // JNBE rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x87) + m.imm4(relv(v[0])) + }) + } + // JNBE label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x77) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x87) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNBE") + } + return p +} + +// JNC performs "Jump if not carry (CF == 0)". +// +// Mnemonic : JNC +// Supported forms : (2 forms) +// +// * JNC rel8 +// * JNC rel32 +// +func (self *Program) JNC(v0 interface{}) *Instruction { + p := self.alloc("JNC", 1, Operands { v0 }) + p.branch = _B_conditional + // JNC rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x73) + m.imm1(relv(v[0])) + }) + } + // JNC rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x83) + m.imm4(relv(v[0])) + }) + } + // JNC label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x73) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x83) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNC") + } + return p +} + +// JNE performs "Jump if not equal (ZF == 0)". +// +// Mnemonic : JNE +// Supported forms : (2 forms) +// +// * JNE rel8 +// * JNE rel32 +// +func (self *Program) JNE(v0 interface{}) *Instruction { + p := self.alloc("JNE", 1, Operands { v0 }) + p.branch = _B_conditional + // JNE rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x75) + m.imm1(relv(v[0])) + }) + } + // JNE rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x85) + m.imm4(relv(v[0])) + }) + } + // JNE label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x75) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x85) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNE") + } + return p +} + +// JNG performs "Jump if not greater (ZF == 1 or SF != OF)". +// +// Mnemonic : JNG +// Supported forms : (2 forms) +// +// * JNG rel8 +// * JNG rel32 +// +func (self *Program) JNG(v0 interface{}) *Instruction { + p := self.alloc("JNG", 1, Operands { v0 }) + p.branch = _B_conditional + // JNG rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x7e) + m.imm1(relv(v[0])) + }) + } + // JNG rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8e) + m.imm4(relv(v[0])) + }) + } + // JNG label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x7e) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8e) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNG") + } + return p +} + +// JNGE performs "Jump if not greater or equal (SF != OF)". +// +// Mnemonic : JNGE +// Supported forms : (2 forms) +// +// * JNGE rel8 +// * JNGE rel32 +// +func (self *Program) JNGE(v0 interface{}) *Instruction { + p := self.alloc("JNGE", 1, Operands { v0 }) + p.branch = _B_conditional + // JNGE rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x7c) + m.imm1(relv(v[0])) + }) + } + // JNGE rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8c) + m.imm4(relv(v[0])) + }) + } + // JNGE label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x7c) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8c) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNGE") + } + return p +} + +// JNL performs "Jump if not less (SF == OF)". +// +// Mnemonic : JNL +// Supported forms : (2 forms) +// +// * JNL rel8 +// * JNL rel32 +// +func (self *Program) JNL(v0 interface{}) *Instruction { + p := self.alloc("JNL", 1, Operands { v0 }) + p.branch = _B_conditional + // JNL rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x7d) + m.imm1(relv(v[0])) + }) + } + // JNL rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8d) + m.imm4(relv(v[0])) + }) + } + // JNL label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x7d) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8d) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNL") + } + return p +} + +// JNLE performs "Jump if not less or equal (ZF == 0 and SF == OF)". +// +// Mnemonic : JNLE +// Supported forms : (2 forms) +// +// * JNLE rel8 +// * JNLE rel32 +// +func (self *Program) JNLE(v0 interface{}) *Instruction { + p := self.alloc("JNLE", 1, Operands { v0 }) + p.branch = _B_conditional + // JNLE rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x7f) + m.imm1(relv(v[0])) + }) + } + // JNLE rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8f) + m.imm4(relv(v[0])) + }) + } + // JNLE label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x7f) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8f) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNLE") + } + return p +} + +// JNO performs "Jump if not overflow (OF == 0)". +// +// Mnemonic : JNO +// Supported forms : (2 forms) +// +// * JNO rel8 +// * JNO rel32 +// +func (self *Program) JNO(v0 interface{}) *Instruction { + p := self.alloc("JNO", 1, Operands { v0 }) + p.branch = _B_conditional + // JNO rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x71) + m.imm1(relv(v[0])) + }) + } + // JNO rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x81) + m.imm4(relv(v[0])) + }) + } + // JNO label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x71) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x81) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNO") + } + return p +} + +// JNP performs "Jump if not parity (PF == 0)". +// +// Mnemonic : JNP +// Supported forms : (2 forms) +// +// * JNP rel8 +// * JNP rel32 +// +func (self *Program) JNP(v0 interface{}) *Instruction { + p := self.alloc("JNP", 1, Operands { v0 }) + p.branch = _B_conditional + // JNP rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x7b) + m.imm1(relv(v[0])) + }) + } + // JNP rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8b) + m.imm4(relv(v[0])) + }) + } + // JNP label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x7b) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8b) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNP") + } + return p +} + +// JNS performs "Jump if not sign (SF == 0)". +// +// Mnemonic : JNS +// Supported forms : (2 forms) +// +// * JNS rel8 +// * JNS rel32 +// +func (self *Program) JNS(v0 interface{}) *Instruction { + p := self.alloc("JNS", 1, Operands { v0 }) + p.branch = _B_conditional + // JNS rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x79) + m.imm1(relv(v[0])) + }) + } + // JNS rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x89) + m.imm4(relv(v[0])) + }) + } + // JNS label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x79) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x89) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNS") + } + return p +} + +// JNZ performs "Jump if not zero (ZF == 0)". +// +// Mnemonic : JNZ +// Supported forms : (2 forms) +// +// * JNZ rel8 +// * JNZ rel32 +// +func (self *Program) JNZ(v0 interface{}) *Instruction { + p := self.alloc("JNZ", 1, Operands { v0 }) + p.branch = _B_conditional + // JNZ rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x75) + m.imm1(relv(v[0])) + }) + } + // JNZ rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x85) + m.imm4(relv(v[0])) + }) + } + // JNZ label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x75) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x85) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JNZ") + } + return p +} + +// JO performs "Jump if overflow (OF == 1)". +// +// Mnemonic : JO +// Supported forms : (2 forms) +// +// * JO rel8 +// * JO rel32 +// +func (self *Program) JO(v0 interface{}) *Instruction { + p := self.alloc("JO", 1, Operands { v0 }) + p.branch = _B_conditional + // JO rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x70) + m.imm1(relv(v[0])) + }) + } + // JO rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x80) + m.imm4(relv(v[0])) + }) + } + // JO label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x70) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x80) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JO") + } + return p +} + +// JP performs "Jump if parity (PF == 1)". +// +// Mnemonic : JP +// Supported forms : (2 forms) +// +// * JP rel8 +// * JP rel32 +// +func (self *Program) JP(v0 interface{}) *Instruction { + p := self.alloc("JP", 1, Operands { v0 }) + p.branch = _B_conditional + // JP rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x7a) + m.imm1(relv(v[0])) + }) + } + // JP rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8a) + m.imm4(relv(v[0])) + }) + } + // JP label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x7a) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8a) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JP") + } + return p +} + +// JPE performs "Jump if parity even (PF == 1)". +// +// Mnemonic : JPE +// Supported forms : (2 forms) +// +// * JPE rel8 +// * JPE rel32 +// +func (self *Program) JPE(v0 interface{}) *Instruction { + p := self.alloc("JPE", 1, Operands { v0 }) + p.branch = _B_conditional + // JPE rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x7a) + m.imm1(relv(v[0])) + }) + } + // JPE rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8a) + m.imm4(relv(v[0])) + }) + } + // JPE label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x7a) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8a) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JPE") + } + return p +} + +// JPO performs "Jump if parity odd (PF == 0)". +// +// Mnemonic : JPO +// Supported forms : (2 forms) +// +// * JPO rel8 +// * JPO rel32 +// +func (self *Program) JPO(v0 interface{}) *Instruction { + p := self.alloc("JPO", 1, Operands { v0 }) + p.branch = _B_conditional + // JPO rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x7b) + m.imm1(relv(v[0])) + }) + } + // JPO rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8b) + m.imm4(relv(v[0])) + }) + } + // JPO label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x7b) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x8b) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JPO") + } + return p +} + +// JRCXZ performs "Jump if RCX register is 0". +// +// Mnemonic : JRCXZ +// Supported forms : (1 form) +// +// * JRCXZ rel8 +// +func (self *Program) JRCXZ(v0 interface{}) *Instruction { + p := self.alloc("JRCXZ", 1, Operands { v0 }) + p.branch = _B_conditional + // JRCXZ rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xe3) + m.imm1(relv(v[0])) + }) + } + // JRCXZ label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0xe3) + m.imm1(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JRCXZ") + } + return p +} + +// JS performs "Jump if sign (SF == 1)". +// +// Mnemonic : JS +// Supported forms : (2 forms) +// +// * JS rel8 +// * JS rel32 +// +func (self *Program) JS(v0 interface{}) *Instruction { + p := self.alloc("JS", 1, Operands { v0 }) + p.branch = _B_conditional + // JS rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x78) + m.imm1(relv(v[0])) + }) + } + // JS rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x88) + m.imm4(relv(v[0])) + }) + } + // JS label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x78) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x88) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JS") + } + return p +} + +// JZ performs "Jump if zero (ZF == 1)". +// +// Mnemonic : JZ +// Supported forms : (2 forms) +// +// * JZ rel8 +// * JZ rel32 +// +func (self *Program) JZ(v0 interface{}) *Instruction { + p := self.alloc("JZ", 1, Operands { v0 }) + p.branch = _B_conditional + // JZ rel8 + if isRel8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x74) + m.imm1(relv(v[0])) + }) + } + // JZ rel32 + if isRel32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x84) + m.imm4(relv(v[0])) + }) + } + // JZ label + if isLabel(v0) { + p.add(_F_rel1, func(m *_Encoding, v []interface{}) { + m.emit(0x74) + m.imm1(relv(v[0])) + }) + p.add(_F_rel4, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x84) + m.imm4(relv(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for JZ") + } + return p +} + +// KADDB performs "ADD Two 8-bit Masks". +// +// Mnemonic : KADDB +// Supported forms : (1 form) +// +// * KADDB k, k, k [AVX512DQ] +// +func (self *Program) KADDB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KADDB", 3, Operands { v0, v1, v2 }) + // KADDB k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, nil, hlcode(v[1])) + m.emit(0x4a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KADDB") + } + return p +} + +// KADDD performs "ADD Two 32-bit Masks". +// +// Mnemonic : KADDD +// Supported forms : (1 form) +// +// * KADDD k, k, k [AVX512BW] +// +func (self *Program) KADDD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KADDD", 3, Operands { v0, v1, v2 }) + // KADDD k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x4a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KADDD") + } + return p +} + +// KADDQ performs "ADD Two 64-bit Masks". +// +// Mnemonic : KADDQ +// Supported forms : (1 form) +// +// * KADDQ k, k, k [AVX512BW] +// +func (self *Program) KADDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KADDQ", 3, Operands { v0, v1, v2 }) + // KADDQ k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfc ^ (hlcode(v[1]) << 3)) + m.emit(0x4a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KADDQ") + } + return p +} + +// KADDW performs "ADD Two 16-bit Masks". +// +// Mnemonic : KADDW +// Supported forms : (1 form) +// +// * KADDW k, k, k [AVX512DQ] +// +func (self *Program) KADDW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KADDW", 3, Operands { v0, v1, v2 }) + // KADDW k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, 0, nil, hlcode(v[1])) + m.emit(0x4a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KADDW") + } + return p +} + +// KANDB performs "Bitwise Logical AND 8-bit Masks". +// +// Mnemonic : KANDB +// Supported forms : (1 form) +// +// * KANDB k, k, k [AVX512DQ] +// +func (self *Program) KANDB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KANDB", 3, Operands { v0, v1, v2 }) + // KANDB k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, nil, hlcode(v[1])) + m.emit(0x41) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KANDB") + } + return p +} + +// KANDD performs "Bitwise Logical AND 32-bit Masks". +// +// Mnemonic : KANDD +// Supported forms : (1 form) +// +// * KANDD k, k, k [AVX512BW] +// +func (self *Program) KANDD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KANDD", 3, Operands { v0, v1, v2 }) + // KANDD k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x41) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KANDD") + } + return p +} + +// KANDNB performs "Bitwise Logical AND NOT 8-bit Masks". +// +// Mnemonic : KANDNB +// Supported forms : (1 form) +// +// * KANDNB k, k, k [AVX512DQ] +// +func (self *Program) KANDNB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KANDNB", 3, Operands { v0, v1, v2 }) + // KANDNB k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, nil, hlcode(v[1])) + m.emit(0x42) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KANDNB") + } + return p +} + +// KANDND performs "Bitwise Logical AND NOT 32-bit Masks". +// +// Mnemonic : KANDND +// Supported forms : (1 form) +// +// * KANDND k, k, k [AVX512BW] +// +func (self *Program) KANDND(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KANDND", 3, Operands { v0, v1, v2 }) + // KANDND k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x42) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KANDND") + } + return p +} + +// KANDNQ performs "Bitwise Logical AND NOT 64-bit Masks". +// +// Mnemonic : KANDNQ +// Supported forms : (1 form) +// +// * KANDNQ k, k, k [AVX512BW] +// +func (self *Program) KANDNQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KANDNQ", 3, Operands { v0, v1, v2 }) + // KANDNQ k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfc ^ (hlcode(v[1]) << 3)) + m.emit(0x42) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KANDNQ") + } + return p +} + +// KANDNW performs "Bitwise Logical AND NOT 16-bit Masks". +// +// Mnemonic : KANDNW +// Supported forms : (1 form) +// +// * KANDNW k, k, k [AVX512F] +// +func (self *Program) KANDNW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KANDNW", 3, Operands { v0, v1, v2 }) + // KANDNW k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, 0, nil, hlcode(v[1])) + m.emit(0x42) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KANDNW") + } + return p +} + +// KANDQ performs "Bitwise Logical AND 64-bit Masks". +// +// Mnemonic : KANDQ +// Supported forms : (1 form) +// +// * KANDQ k, k, k [AVX512BW] +// +func (self *Program) KANDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KANDQ", 3, Operands { v0, v1, v2 }) + // KANDQ k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfc ^ (hlcode(v[1]) << 3)) + m.emit(0x41) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KANDQ") + } + return p +} + +// KANDW performs "Bitwise Logical AND 16-bit Masks". +// +// Mnemonic : KANDW +// Supported forms : (1 form) +// +// * KANDW k, k, k [AVX512F] +// +func (self *Program) KANDW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KANDW", 3, Operands { v0, v1, v2 }) + // KANDW k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, 0, nil, hlcode(v[1])) + m.emit(0x41) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KANDW") + } + return p +} + +// KMOVB performs "Move 8-bit Mask". +// +// Mnemonic : KMOVB +// Supported forms : (5 forms) +// +// * KMOVB k, k [AVX512DQ] +// * KMOVB r32, k [AVX512DQ] +// * KMOVB m8, k [AVX512DQ] +// * KMOVB k, r32 [AVX512DQ] +// * KMOVB k, m8 [AVX512DQ] +// +func (self *Program) KMOVB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KMOVB", 2, Operands { v0, v1 }) + // KMOVB k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, nil, 0) + m.emit(0x90) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // KMOVB r32, k + if isReg32(v0) && isK(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, v[0], 0) + m.emit(0x92) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // KMOVB m8, k + if isM8(v0) && isK(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, addr(v[0]), 0) + m.emit(0x90) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // KMOVB k, r32 + if isK(v0) && isReg32(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), nil, 0) + m.emit(0x93) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // KMOVB k, m8 + if isK(v0) && isM8(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, addr(v[1]), 0) + m.emit(0x91) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for KMOVB") + } + return p +} + +// KMOVD performs "Move 32-bit Mask". +// +// Mnemonic : KMOVD +// Supported forms : (5 forms) +// +// * KMOVD k, k [AVX512BW] +// * KMOVD r32, k [AVX512BW] +// * KMOVD m32, k [AVX512BW] +// * KMOVD k, r32 [AVX512BW] +// * KMOVD k, m32 [AVX512BW] +// +func (self *Program) KMOVD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KMOVD", 2, Operands { v0, v1 }) + // KMOVD k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xf9) + m.emit(0x90) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // KMOVD r32, k + if isReg32(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, 0, v[0], 0) + m.emit(0x92) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // KMOVD m32, k + if isM32(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b1, 0x81, 0, addr(v[0]), 0) + m.emit(0x90) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // KMOVD k, r32 + if isK(v0) && isReg32(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[1]), nil, 0) + m.emit(0x93) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // KMOVD k, m32 + if isK(v0) && isM32(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b1, 0x81, 0, addr(v[1]), 0) + m.emit(0x91) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for KMOVD") + } + return p +} + +// KMOVQ performs "Move 64-bit Mask". +// +// Mnemonic : KMOVQ +// Supported forms : (5 forms) +// +// * KMOVQ k, k [AVX512BW] +// * KMOVQ r64, k [AVX512BW] +// * KMOVQ m64, k [AVX512BW] +// * KMOVQ k, r64 [AVX512BW] +// * KMOVQ k, m64 [AVX512BW] +// +func (self *Program) KMOVQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KMOVQ", 2, Operands { v0, v1 }) + // KMOVQ k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xf8) + m.emit(0x90) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // KMOVQ r64, k + if isReg64(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1 ^ (hcode(v[0]) << 5)) + m.emit(0xfb) + m.emit(0x92) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // KMOVQ m64, k + if isM64(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b1, 0x80, 0, addr(v[0]), 0) + m.emit(0x90) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // KMOVQ k, r64 + if isK(v0) && isReg64(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1 ^ (hcode(v[1]) << 7)) + m.emit(0xfb) + m.emit(0x93) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // KMOVQ k, m64 + if isK(v0) && isM64(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b1, 0x80, 0, addr(v[1]), 0) + m.emit(0x91) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for KMOVQ") + } + return p +} + +// KMOVW performs "Move 16-bit Mask". +// +// Mnemonic : KMOVW +// Supported forms : (5 forms) +// +// * KMOVW k, k [AVX512F] +// * KMOVW r32, k [AVX512F] +// * KMOVW m16, k [AVX512F] +// * KMOVW k, r32 [AVX512F] +// * KMOVW k, m16 [AVX512F] +// +func (self *Program) KMOVW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KMOVW", 2, Operands { v0, v1 }) + // KMOVW k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, 0, nil, 0) + m.emit(0x90) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // KMOVW r32, k + if isReg32(v0) && isK(v1) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, 0, v[0], 0) + m.emit(0x92) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // KMOVW m16, k + if isM16(v0) && isK(v1) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, 0, addr(v[0]), 0) + m.emit(0x90) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // KMOVW k, r32 + if isK(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), nil, 0) + m.emit(0x93) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // KMOVW k, m16 + if isK(v0) && isM16(v1) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, 0, addr(v[1]), 0) + m.emit(0x91) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for KMOVW") + } + return p +} + +// KNOTB performs "NOT 8-bit Mask Register". +// +// Mnemonic : KNOTB +// Supported forms : (1 form) +// +// * KNOTB k, k [AVX512DQ] +// +func (self *Program) KNOTB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KNOTB", 2, Operands { v0, v1 }) + // KNOTB k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, nil, 0) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KNOTB") + } + return p +} + +// KNOTD performs "NOT 32-bit Mask Register". +// +// Mnemonic : KNOTD +// Supported forms : (1 form) +// +// * KNOTD k, k [AVX512BW] +// +func (self *Program) KNOTD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KNOTD", 2, Operands { v0, v1 }) + // KNOTD k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xf9) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KNOTD") + } + return p +} + +// KNOTQ performs "NOT 64-bit Mask Register". +// +// Mnemonic : KNOTQ +// Supported forms : (1 form) +// +// * KNOTQ k, k [AVX512BW] +// +func (self *Program) KNOTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KNOTQ", 2, Operands { v0, v1 }) + // KNOTQ k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xf8) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KNOTQ") + } + return p +} + +// KNOTW performs "NOT 16-bit Mask Register". +// +// Mnemonic : KNOTW +// Supported forms : (1 form) +// +// * KNOTW k, k [AVX512F] +// +func (self *Program) KNOTW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KNOTW", 2, Operands { v0, v1 }) + // KNOTW k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, 0, nil, 0) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KNOTW") + } + return p +} + +// KORB performs "Bitwise Logical OR 8-bit Masks". +// +// Mnemonic : KORB +// Supported forms : (1 form) +// +// * KORB k, k, k [AVX512DQ] +// +func (self *Program) KORB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KORB", 3, Operands { v0, v1, v2 }) + // KORB k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, nil, hlcode(v[1])) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KORB") + } + return p +} + +// KORD performs "Bitwise Logical OR 32-bit Masks". +// +// Mnemonic : KORD +// Supported forms : (1 form) +// +// * KORD k, k, k [AVX512BW] +// +func (self *Program) KORD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KORD", 3, Operands { v0, v1, v2 }) + // KORD k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KORD") + } + return p +} + +// KORQ performs "Bitwise Logical OR 64-bit Masks". +// +// Mnemonic : KORQ +// Supported forms : (1 form) +// +// * KORQ k, k, k [AVX512BW] +// +func (self *Program) KORQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KORQ", 3, Operands { v0, v1, v2 }) + // KORQ k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfc ^ (hlcode(v[1]) << 3)) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KORQ") + } + return p +} + +// KORTESTB performs "OR 8-bit Masks and Set Flags". +// +// Mnemonic : KORTESTB +// Supported forms : (1 form) +// +// * KORTESTB k, k [AVX512DQ] +// +func (self *Program) KORTESTB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KORTESTB", 2, Operands { v0, v1 }) + // KORTESTB k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, nil, 0) + m.emit(0x98) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KORTESTB") + } + return p +} + +// KORTESTD performs "OR 32-bit Masks and Set Flags". +// +// Mnemonic : KORTESTD +// Supported forms : (1 form) +// +// * KORTESTD k, k [AVX512BW] +// +func (self *Program) KORTESTD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KORTESTD", 2, Operands { v0, v1 }) + // KORTESTD k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xf9) + m.emit(0x98) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KORTESTD") + } + return p +} + +// KORTESTQ performs "OR 64-bit Masks and Set Flags". +// +// Mnemonic : KORTESTQ +// Supported forms : (1 form) +// +// * KORTESTQ k, k [AVX512BW] +// +func (self *Program) KORTESTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KORTESTQ", 2, Operands { v0, v1 }) + // KORTESTQ k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xf8) + m.emit(0x98) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KORTESTQ") + } + return p +} + +// KORTESTW performs "OR 16-bit Masks and Set Flags". +// +// Mnemonic : KORTESTW +// Supported forms : (1 form) +// +// * KORTESTW k, k [AVX512F] +// +func (self *Program) KORTESTW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KORTESTW", 2, Operands { v0, v1 }) + // KORTESTW k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, 0, nil, 0) + m.emit(0x98) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KORTESTW") + } + return p +} + +// KORW performs "Bitwise Logical OR 16-bit Masks". +// +// Mnemonic : KORW +// Supported forms : (1 form) +// +// * KORW k, k, k [AVX512F] +// +func (self *Program) KORW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KORW", 3, Operands { v0, v1, v2 }) + // KORW k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, 0, nil, hlcode(v[1])) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KORW") + } + return p +} + +// KSHIFTLB performs "Shift Left 8-bit Masks". +// +// Mnemonic : KSHIFTLB +// Supported forms : (1 form) +// +// * KSHIFTLB imm8, k, k [AVX512DQ] +// +func (self *Program) KSHIFTLB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KSHIFTLB", 3, Operands { v0, v1, v2 }) + // KSHIFTLB imm8, k, k + if isImm8(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3) + m.emit(0x79) + m.emit(0x32) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KSHIFTLB") + } + return p +} + +// KSHIFTLD performs "Shift Left 32-bit Masks". +// +// Mnemonic : KSHIFTLD +// Supported forms : (1 form) +// +// * KSHIFTLD imm8, k, k [AVX512BW] +// +func (self *Program) KSHIFTLD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KSHIFTLD", 3, Operands { v0, v1, v2 }) + // KSHIFTLD imm8, k, k + if isImm8(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3) + m.emit(0x79) + m.emit(0x33) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KSHIFTLD") + } + return p +} + +// KSHIFTLQ performs "Shift Left 64-bit Masks". +// +// Mnemonic : KSHIFTLQ +// Supported forms : (1 form) +// +// * KSHIFTLQ imm8, k, k [AVX512BW] +// +func (self *Program) KSHIFTLQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KSHIFTLQ", 3, Operands { v0, v1, v2 }) + // KSHIFTLQ imm8, k, k + if isImm8(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3) + m.emit(0xf9) + m.emit(0x33) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KSHIFTLQ") + } + return p +} + +// KSHIFTLW performs "Shift Left 16-bit Masks". +// +// Mnemonic : KSHIFTLW +// Supported forms : (1 form) +// +// * KSHIFTLW imm8, k, k [AVX512F] +// +func (self *Program) KSHIFTLW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KSHIFTLW", 3, Operands { v0, v1, v2 }) + // KSHIFTLW imm8, k, k + if isImm8(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3) + m.emit(0xf9) + m.emit(0x32) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KSHIFTLW") + } + return p +} + +// KSHIFTRB performs "Shift Right 8-bit Masks". +// +// Mnemonic : KSHIFTRB +// Supported forms : (1 form) +// +// * KSHIFTRB imm8, k, k [AVX512DQ] +// +func (self *Program) KSHIFTRB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KSHIFTRB", 3, Operands { v0, v1, v2 }) + // KSHIFTRB imm8, k, k + if isImm8(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3) + m.emit(0x79) + m.emit(0x30) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KSHIFTRB") + } + return p +} + +// KSHIFTRD performs "Shift Right 32-bit Masks". +// +// Mnemonic : KSHIFTRD +// Supported forms : (1 form) +// +// * KSHIFTRD imm8, k, k [AVX512BW] +// +func (self *Program) KSHIFTRD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KSHIFTRD", 3, Operands { v0, v1, v2 }) + // KSHIFTRD imm8, k, k + if isImm8(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3) + m.emit(0x79) + m.emit(0x31) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KSHIFTRD") + } + return p +} + +// KSHIFTRQ performs "Shift Right 64-bit Masks". +// +// Mnemonic : KSHIFTRQ +// Supported forms : (1 form) +// +// * KSHIFTRQ imm8, k, k [AVX512BW] +// +func (self *Program) KSHIFTRQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KSHIFTRQ", 3, Operands { v0, v1, v2 }) + // KSHIFTRQ imm8, k, k + if isImm8(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3) + m.emit(0xf9) + m.emit(0x31) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KSHIFTRQ") + } + return p +} + +// KSHIFTRW performs "Shift Right 16-bit Masks". +// +// Mnemonic : KSHIFTRW +// Supported forms : (1 form) +// +// * KSHIFTRW imm8, k, k [AVX512F] +// +func (self *Program) KSHIFTRW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KSHIFTRW", 3, Operands { v0, v1, v2 }) + // KSHIFTRW imm8, k, k + if isImm8(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3) + m.emit(0xf9) + m.emit(0x30) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KSHIFTRW") + } + return p +} + +// KTESTB performs "Bit Test 8-bit Masks and Set Flags". +// +// Mnemonic : KTESTB +// Supported forms : (1 form) +// +// * KTESTB k, k [AVX512DQ] +// +func (self *Program) KTESTB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KTESTB", 2, Operands { v0, v1 }) + // KTESTB k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, nil, 0) + m.emit(0x99) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KTESTB") + } + return p +} + +// KTESTD performs "Bit Test 32-bit Masks and Set Flags". +// +// Mnemonic : KTESTD +// Supported forms : (1 form) +// +// * KTESTD k, k [AVX512BW] +// +func (self *Program) KTESTD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KTESTD", 2, Operands { v0, v1 }) + // KTESTD k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xf9) + m.emit(0x99) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KTESTD") + } + return p +} + +// KTESTQ performs "Bit Test 64-bit Masks and Set Flags". +// +// Mnemonic : KTESTQ +// Supported forms : (1 form) +// +// * KTESTQ k, k [AVX512BW] +// +func (self *Program) KTESTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KTESTQ", 2, Operands { v0, v1 }) + // KTESTQ k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xf8) + m.emit(0x99) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KTESTQ") + } + return p +} + +// KTESTW performs "Bit Test 16-bit Masks and Set Flags". +// +// Mnemonic : KTESTW +// Supported forms : (1 form) +// +// * KTESTW k, k [AVX512DQ] +// +func (self *Program) KTESTW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("KTESTW", 2, Operands { v0, v1 }) + // KTESTW k, k + if isK(v0) && isK(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, 0, nil, 0) + m.emit(0x99) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KTESTW") + } + return p +} + +// KUNPCKBW performs "Unpack and Interleave 8-bit Masks". +// +// Mnemonic : KUNPCKBW +// Supported forms : (1 form) +// +// * KUNPCKBW k, k, k [AVX512F] +// +func (self *Program) KUNPCKBW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KUNPCKBW", 3, Operands { v0, v1, v2 }) + // KUNPCKBW k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, nil, hlcode(v[1])) + m.emit(0x4b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KUNPCKBW") + } + return p +} + +// KUNPCKDQ performs "Unpack and Interleave 32-bit Masks". +// +// Mnemonic : KUNPCKDQ +// Supported forms : (1 form) +// +// * KUNPCKDQ k, k, k [AVX512BW] +// +func (self *Program) KUNPCKDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KUNPCKDQ", 3, Operands { v0, v1, v2 }) + // KUNPCKDQ k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfc ^ (hlcode(v[1]) << 3)) + m.emit(0x4b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KUNPCKDQ") + } + return p +} + +// KUNPCKWD performs "Unpack and Interleave 16-bit Masks". +// +// Mnemonic : KUNPCKWD +// Supported forms : (1 form) +// +// * KUNPCKWD k, k, k [AVX512BW] +// +func (self *Program) KUNPCKWD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KUNPCKWD", 3, Operands { v0, v1, v2 }) + // KUNPCKWD k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, 0, nil, hlcode(v[1])) + m.emit(0x4b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KUNPCKWD") + } + return p +} + +// KXNORB performs "Bitwise Logical XNOR 8-bit Masks". +// +// Mnemonic : KXNORB +// Supported forms : (1 form) +// +// * KXNORB k, k, k [AVX512DQ] +// +func (self *Program) KXNORB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KXNORB", 3, Operands { v0, v1, v2 }) + // KXNORB k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, nil, hlcode(v[1])) + m.emit(0x46) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KXNORB") + } + return p +} + +// KXNORD performs "Bitwise Logical XNOR 32-bit Masks". +// +// Mnemonic : KXNORD +// Supported forms : (1 form) +// +// * KXNORD k, k, k [AVX512BW] +// +func (self *Program) KXNORD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KXNORD", 3, Operands { v0, v1, v2 }) + // KXNORD k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x46) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KXNORD") + } + return p +} + +// KXNORQ performs "Bitwise Logical XNOR 64-bit Masks". +// +// Mnemonic : KXNORQ +// Supported forms : (1 form) +// +// * KXNORQ k, k, k [AVX512BW] +// +func (self *Program) KXNORQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KXNORQ", 3, Operands { v0, v1, v2 }) + // KXNORQ k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfc ^ (hlcode(v[1]) << 3)) + m.emit(0x46) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KXNORQ") + } + return p +} + +// KXNORW performs "Bitwise Logical XNOR 16-bit Masks". +// +// Mnemonic : KXNORW +// Supported forms : (1 form) +// +// * KXNORW k, k, k [AVX512F] +// +func (self *Program) KXNORW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KXNORW", 3, Operands { v0, v1, v2 }) + // KXNORW k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, 0, nil, hlcode(v[1])) + m.emit(0x46) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KXNORW") + } + return p +} + +// KXORB performs "Bitwise Logical XOR 8-bit Masks". +// +// Mnemonic : KXORB +// Supported forms : (1 form) +// +// * KXORB k, k, k [AVX512DQ] +// +func (self *Program) KXORB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KXORB", 3, Operands { v0, v1, v2 }) + // KXORB k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, nil, hlcode(v[1])) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KXORB") + } + return p +} + +// KXORD performs "Bitwise Logical XOR 32-bit Masks". +// +// Mnemonic : KXORD +// Supported forms : (1 form) +// +// * KXORD k, k, k [AVX512BW] +// +func (self *Program) KXORD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KXORD", 3, Operands { v0, v1, v2 }) + // KXORD k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KXORD") + } + return p +} + +// KXORQ performs "Bitwise Logical XOR 64-bit Masks". +// +// Mnemonic : KXORQ +// Supported forms : (1 form) +// +// * KXORQ k, k, k [AVX512BW] +// +func (self *Program) KXORQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KXORQ", 3, Operands { v0, v1, v2 }) + // KXORQ k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1) + m.emit(0xfc ^ (hlcode(v[1]) << 3)) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KXORQ") + } + return p +} + +// KXORW performs "Bitwise Logical XOR 16-bit Masks". +// +// Mnemonic : KXORW +// Supported forms : (1 form) +// +// * KXORW k, k, k [AVX512F] +// +func (self *Program) KXORW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("KXORW", 3, Operands { v0, v1, v2 }) + // KXORW k, k, k + if isK(v0) && isK(v1) && isK(v2) { + self.require(ISA_AVX512F) + p.domain = DomainMask + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, 0, nil, hlcode(v[1])) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for KXORW") + } + return p +} + +// LDDQU performs "Load Unaligned Integer 128 Bits". +// +// Mnemonic : LDDQU +// Supported forms : (1 form) +// +// * LDDQU m128, xmm [SSE3] +// +func (self *Program) LDDQU(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("LDDQU", 2, Operands { v0, v1 }) + // LDDQU m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf0) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for LDDQU") + } + return p +} + +// LDMXCSR performs "Load MXCSR Register". +// +// Mnemonic : LDMXCSR +// Supported forms : (1 form) +// +// * LDMXCSR m32 [SSE] +// +func (self *Program) LDMXCSR(v0 interface{}) *Instruction { + p := self.alloc("LDMXCSR", 1, Operands { v0 }) + // LDMXCSR m32 + if isM32(v0) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0xae) + m.mrsd(2, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for LDMXCSR") + } + return p +} + +// LEAL performs "Load Effective Address". +// +// Mnemonic : LEA +// Supported forms : (1 form) +// +// * LEAL m, r32 +// +func (self *Program) LEAL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("LEAL", 2, Operands { v0, v1 }) + // LEAL m, r32 + if isM(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x8d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for LEAL") + } + return p +} + +// LEAQ performs "Load Effective Address". +// +// Mnemonic : LEA +// Supported forms : (1 form) +// +// * LEAQ m, r64 +// +func (self *Program) LEAQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("LEAQ", 2, Operands { v0, v1 }) + // LEAQ m, r64 + if isM(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x8d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for LEAQ") + } + return p +} + +// LEAW performs "Load Effective Address". +// +// Mnemonic : LEA +// Supported forms : (1 form) +// +// * LEAW m, r16 +// +func (self *Program) LEAW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("LEAW", 2, Operands { v0, v1 }) + // LEAW m, r16 + if isM(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x8d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for LEAW") + } + return p +} + +// LFENCE performs "Load Fence". +// +// Mnemonic : LFENCE +// Supported forms : (1 form) +// +// * LFENCE [SSE2] +// +func (self *Program) LFENCE() *Instruction { + p := self.alloc("LFENCE", 0, Operands { }) + // LFENCE + self.require(ISA_SSE2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0xae) + m.emit(0xe8) + }) + return p +} + +// LZCNTL performs "Count the Number of Leading Zero Bits". +// +// Mnemonic : LZCNT +// Supported forms : (2 forms) +// +// * LZCNTL r32, r32 [LZCNT] +// * LZCNTL m32, r32 [LZCNT] +// +func (self *Program) LZCNTL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("LZCNTL", 2, Operands { v0, v1 }) + // LZCNTL r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_LZCNT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xbd) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // LZCNTL m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_LZCNT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xbd) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for LZCNTL") + } + return p +} + +// LZCNTQ performs "Count the Number of Leading Zero Bits". +// +// Mnemonic : LZCNT +// Supported forms : (2 forms) +// +// * LZCNTQ r64, r64 [LZCNT] +// * LZCNTQ m64, r64 [LZCNT] +// +func (self *Program) LZCNTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("LZCNTQ", 2, Operands { v0, v1 }) + // LZCNTQ r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_LZCNT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xbd) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // LZCNTQ m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_LZCNT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0xbd) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for LZCNTQ") + } + return p +} + +// LZCNTW performs "Count the Number of Leading Zero Bits". +// +// Mnemonic : LZCNT +// Supported forms : (2 forms) +// +// * LZCNTW r16, r16 [LZCNT] +// * LZCNTW m16, r16 [LZCNT] +// +func (self *Program) LZCNTW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("LZCNTW", 2, Operands { v0, v1 }) + // LZCNTW r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_LZCNT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xbd) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // LZCNTW m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_LZCNT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xbd) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for LZCNTW") + } + return p +} + +// MASKMOVDQU performs "Store Selected Bytes of Double Quadword". +// +// Mnemonic : MASKMOVDQU +// Supported forms : (1 form) +// +// * MASKMOVDQU xmm, xmm [SSE2] +// +func (self *Program) MASKMOVDQU(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MASKMOVDQU", 2, Operands { v0, v1 }) + // MASKMOVDQU xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for MASKMOVDQU") + } + return p +} + +// MASKMOVQ performs "Store Selected Bytes of Quadword". +// +// Mnemonic : MASKMOVQ +// Supported forms : (1 form) +// +// * MASKMOVQ mm, mm [MMX+] +// +func (self *Program) MASKMOVQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MASKMOVQ", 2, Operands { v0, v1 }) + // MASKMOVQ mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for MASKMOVQ") + } + return p +} + +// MAXPD performs "Return Maximum Packed Double-Precision Floating-Point Values". +// +// Mnemonic : MAXPD +// Supported forms : (2 forms) +// +// * MAXPD xmm, xmm [SSE2] +// * MAXPD m128, xmm [SSE2] +// +func (self *Program) MAXPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MAXPD", 2, Operands { v0, v1 }) + // MAXPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MAXPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MAXPD") + } + return p +} + +// MAXPS performs "Return Maximum Packed Single-Precision Floating-Point Values". +// +// Mnemonic : MAXPS +// Supported forms : (2 forms) +// +// * MAXPS xmm, xmm [SSE] +// * MAXPS m128, xmm [SSE] +// +func (self *Program) MAXPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MAXPS", 2, Operands { v0, v1 }) + // MAXPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MAXPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MAXPS") + } + return p +} + +// MAXSD performs "Return Maximum Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : MAXSD +// Supported forms : (2 forms) +// +// * MAXSD xmm, xmm [SSE2] +// * MAXSD m64, xmm [SSE2] +// +func (self *Program) MAXSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MAXSD", 2, Operands { v0, v1 }) + // MAXSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MAXSD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MAXSD") + } + return p +} + +// MAXSS performs "Return Maximum Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : MAXSS +// Supported forms : (2 forms) +// +// * MAXSS xmm, xmm [SSE] +// * MAXSS m32, xmm [SSE] +// +func (self *Program) MAXSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MAXSS", 2, Operands { v0, v1 }) + // MAXSS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MAXSS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MAXSS") + } + return p +} + +// MFENCE performs "Memory Fence". +// +// Mnemonic : MFENCE +// Supported forms : (1 form) +// +// * MFENCE [SSE2] +// +func (self *Program) MFENCE() *Instruction { + p := self.alloc("MFENCE", 0, Operands { }) + // MFENCE + self.require(ISA_SSE2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0xae) + m.emit(0xf0) + }) + return p +} + +// MINPD performs "Return Minimum Packed Double-Precision Floating-Point Values". +// +// Mnemonic : MINPD +// Supported forms : (2 forms) +// +// * MINPD xmm, xmm [SSE2] +// * MINPD m128, xmm [SSE2] +// +func (self *Program) MINPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MINPD", 2, Operands { v0, v1 }) + // MINPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MINPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MINPD") + } + return p +} + +// MINPS performs "Return Minimum Packed Single-Precision Floating-Point Values". +// +// Mnemonic : MINPS +// Supported forms : (2 forms) +// +// * MINPS xmm, xmm [SSE] +// * MINPS m128, xmm [SSE] +// +func (self *Program) MINPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MINPS", 2, Operands { v0, v1 }) + // MINPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MINPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MINPS") + } + return p +} + +// MINSD performs "Return Minimum Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : MINSD +// Supported forms : (2 forms) +// +// * MINSD xmm, xmm [SSE2] +// * MINSD m64, xmm [SSE2] +// +func (self *Program) MINSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MINSD", 2, Operands { v0, v1 }) + // MINSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MINSD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MINSD") + } + return p +} + +// MINSS performs "Return Minimum Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : MINSS +// Supported forms : (2 forms) +// +// * MINSS xmm, xmm [SSE] +// * MINSS m32, xmm [SSE] +// +func (self *Program) MINSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MINSS", 2, Operands { v0, v1 }) + // MINSS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MINSS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MINSS") + } + return p +} + +// MONITOR performs "Monitor a Linear Address Range". +// +// Mnemonic : MONITOR +// Supported forms : (1 form) +// +// * MONITOR [MONITOR] +// +func (self *Program) MONITOR() *Instruction { + p := self.alloc("MONITOR", 0, Operands { }) + // MONITOR + self.require(ISA_MONITOR) + p.domain = DomainMisc + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x01) + m.emit(0xc8) + }) + return p +} + +// MONITORX performs "Monitor a Linear Address Range with Timeout". +// +// Mnemonic : MONITORX +// Supported forms : (1 form) +// +// * MONITORX [MONITORX] +// +func (self *Program) MONITORX() *Instruction { + p := self.alloc("MONITORX", 0, Operands { }) + // MONITORX + self.require(ISA_MONITORX) + p.domain = DomainMisc + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x01) + m.emit(0xfa) + }) + return p +} + +// MOVAPD performs "Move Aligned Packed Double-Precision Floating-Point Values". +// +// Mnemonic : MOVAPD +// Supported forms : (3 forms) +// +// * MOVAPD xmm, xmm [SSE2] +// * MOVAPD m128, xmm [SSE2] +// * MOVAPD xmm, m128 [SSE2] +// +func (self *Program) MOVAPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVAPD", 2, Operands { v0, v1 }) + // MOVAPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVAPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVAPD xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVAPD") + } + return p +} + +// MOVAPS performs "Move Aligned Packed Single-Precision Floating-Point Values". +// +// Mnemonic : MOVAPS +// Supported forms : (3 forms) +// +// * MOVAPS xmm, xmm [SSE] +// * MOVAPS m128, xmm [SSE] +// * MOVAPS xmm, m128 [SSE] +// +func (self *Program) MOVAPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVAPS", 2, Operands { v0, v1 }) + // MOVAPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVAPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVAPS xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVAPS") + } + return p +} + +// MOVB performs "Move". +// +// Mnemonic : MOV +// Supported forms : (5 forms) +// +// * MOVB imm8, r8 +// * MOVB r8, r8 +// * MOVB m8, r8 +// * MOVB imm8, m8 +// * MOVB r8, m8 +// +func (self *Program) MOVB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVB", 2, Operands { v0, v1 }) + // MOVB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xb0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // MOVB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x88) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x8a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVB m8, r8 + if isM8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), isReg8REX(v[1])) + m.emit(0x8a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc6) + m.mrsd(0, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // MOVB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x88) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVB") + } + return p +} + +// MOVBEL performs "Move Data After Swapping Bytes". +// +// Mnemonic : MOVBE +// Supported forms : (2 forms) +// +// * MOVBEL m32, r32 [MOVBE] +// * MOVBEL r32, m32 [MOVBE] +// +func (self *Program) MOVBEL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVBEL", 2, Operands { v0, v1 }) + // MOVBEL m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_MOVBE) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf0) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVBEL r32, m32 + if isReg32(v0) && isM32(v1) { + self.require(ISA_MOVBE) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf1) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVBEL") + } + return p +} + +// MOVBEQ performs "Move Data After Swapping Bytes". +// +// Mnemonic : MOVBE +// Supported forms : (2 forms) +// +// * MOVBEQ m64, r64 [MOVBE] +// * MOVBEQ r64, m64 [MOVBE] +// +func (self *Program) MOVBEQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVBEQ", 2, Operands { v0, v1 }) + // MOVBEQ m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_MOVBE) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf0) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVBEQ r64, m64 + if isReg64(v0) && isM64(v1) { + self.require(ISA_MOVBE) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf1) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVBEQ") + } + return p +} + +// MOVBEW performs "Move Data After Swapping Bytes". +// +// Mnemonic : MOVBE +// Supported forms : (2 forms) +// +// * MOVBEW m16, r16 [MOVBE] +// * MOVBEW r16, m16 [MOVBE] +// +func (self *Program) MOVBEW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVBEW", 2, Operands { v0, v1 }) + // MOVBEW m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_MOVBE) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf0) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVBEW r16, m16 + if isReg16(v0) && isM16(v1) { + self.require(ISA_MOVBE) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xf1) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVBEW") + } + return p +} + +// MOVD performs "Move Doubleword". +// +// Mnemonic : MOVD +// Supported forms : (8 forms) +// +// * MOVD mm, r32 [MMX] +// * MOVD r32, mm [MMX] +// * MOVD m32, mm [MMX] +// * MOVD mm, m32 [MMX] +// * MOVD xmm, r32 [SSE2] +// * MOVD r32, xmm [SSE2] +// * MOVD m32, xmm [SSE2] +// * MOVD xmm, m32 [SSE2] +// +func (self *Program) MOVD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVD", 2, Operands { v0, v1 }) + // MOVD mm, r32 + if isMM(v0) && isReg32(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVD r32, mm + if isReg32(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x6e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVD m32, mm + if isM32(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x6e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVD mm, m32 + if isMM(v0) && isM32(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x7e) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // MOVD xmm, r32 + if isXMM(v0) && isReg32(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVD r32, xmm + if isReg32(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x6e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVD m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x6e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVD xmm, m32 + if isXMM(v0) && isM32(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x7e) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVD") + } + return p +} + +// MOVDDUP performs "Move One Double-FP and Duplicate". +// +// Mnemonic : MOVDDUP +// Supported forms : (2 forms) +// +// * MOVDDUP xmm, xmm [SSE3] +// * MOVDDUP m64, xmm [SSE3] +// +func (self *Program) MOVDDUP(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVDDUP", 2, Operands { v0, v1 }) + // MOVDDUP xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVDDUP m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVDDUP") + } + return p +} + +// MOVDQ2Q performs "Move Quadword from XMM to MMX Technology Register". +// +// Mnemonic : MOVDQ2Q +// Supported forms : (1 form) +// +// * MOVDQ2Q xmm, mm [SSE2] +// +func (self *Program) MOVDQ2Q(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVDQ2Q", 2, Operands { v0, v1 }) + // MOVDQ2Q xmm, mm + if isXMM(v0) && isMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for MOVDQ2Q") + } + return p +} + +// MOVDQA performs "Move Aligned Double Quadword". +// +// Mnemonic : MOVDQA +// Supported forms : (3 forms) +// +// * MOVDQA xmm, xmm [SSE2] +// * MOVDQA m128, xmm [SSE2] +// * MOVDQA xmm, m128 [SSE2] +// +func (self *Program) MOVDQA(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVDQA", 2, Operands { v0, v1 }) + // MOVDQA xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVDQA m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVDQA xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVDQA") + } + return p +} + +// MOVDQU performs "Move Unaligned Double Quadword". +// +// Mnemonic : MOVDQU +// Supported forms : (3 forms) +// +// * MOVDQU xmm, xmm [SSE2] +// * MOVDQU m128, xmm [SSE2] +// * MOVDQU xmm, m128 [SSE2] +// +func (self *Program) MOVDQU(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVDQU", 2, Operands { v0, v1 }) + // MOVDQU xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVDQU m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVDQU xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVDQU") + } + return p +} + +// MOVHLPS performs "Move Packed Single-Precision Floating-Point Values High to Low". +// +// Mnemonic : MOVHLPS +// Supported forms : (1 form) +// +// * MOVHLPS xmm, xmm [SSE] +// +func (self *Program) MOVHLPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVHLPS", 2, Operands { v0, v1 }) + // MOVHLPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for MOVHLPS") + } + return p +} + +// MOVHPD performs "Move High Packed Double-Precision Floating-Point Value". +// +// Mnemonic : MOVHPD +// Supported forms : (2 forms) +// +// * MOVHPD m64, xmm [SSE2] +// * MOVHPD xmm, m64 [SSE2] +// +func (self *Program) MOVHPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVHPD", 2, Operands { v0, v1 }) + // MOVHPD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVHPD xmm, m64 + if isXMM(v0) && isM64(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x17) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVHPD") + } + return p +} + +// MOVHPS performs "Move High Packed Single-Precision Floating-Point Values". +// +// Mnemonic : MOVHPS +// Supported forms : (2 forms) +// +// * MOVHPS m64, xmm [SSE] +// * MOVHPS xmm, m64 [SSE] +// +func (self *Program) MOVHPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVHPS", 2, Operands { v0, v1 }) + // MOVHPS m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVHPS xmm, m64 + if isXMM(v0) && isM64(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x17) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVHPS") + } + return p +} + +// MOVL performs "Move". +// +// Mnemonic : MOV +// Supported forms : (5 forms) +// +// * MOVL imm32, r32 +// * MOVL r32, r32 +// * MOVL m32, r32 +// * MOVL imm32, m32 +// * MOVL r32, m32 +// +func (self *Program) MOVL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVL", 2, Operands { v0, v1 }) + // MOVL imm32, r32 + if isImm32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xc7) + m.emit(0xc0 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xb8 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // MOVL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x89) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x8b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVL m32, r32 + if isM32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x8b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVL imm32, m32 + if isImm32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc7) + m.mrsd(0, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // MOVL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x89) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVL") + } + return p +} + +// MOVLHPS performs "Move Packed Single-Precision Floating-Point Values Low to High". +// +// Mnemonic : MOVLHPS +// Supported forms : (1 form) +// +// * MOVLHPS xmm, xmm [SSE] +// +func (self *Program) MOVLHPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVLHPS", 2, Operands { v0, v1 }) + // MOVLHPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for MOVLHPS") + } + return p +} + +// MOVLPD performs "Move Low Packed Double-Precision Floating-Point Value". +// +// Mnemonic : MOVLPD +// Supported forms : (2 forms) +// +// * MOVLPD m64, xmm [SSE2] +// * MOVLPD xmm, m64 [SSE2] +// +func (self *Program) MOVLPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVLPD", 2, Operands { v0, v1 }) + // MOVLPD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVLPD xmm, m64 + if isXMM(v0) && isM64(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x13) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVLPD") + } + return p +} + +// MOVLPS performs "Move Low Packed Single-Precision Floating-Point Values". +// +// Mnemonic : MOVLPS +// Supported forms : (2 forms) +// +// * MOVLPS m64, xmm [SSE] +// * MOVLPS xmm, m64 [SSE] +// +func (self *Program) MOVLPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVLPS", 2, Operands { v0, v1 }) + // MOVLPS m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVLPS xmm, m64 + if isXMM(v0) && isM64(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x13) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVLPS") + } + return p +} + +// MOVMSKPD performs "Extract Packed Double-Precision Floating-Point Sign Mask". +// +// Mnemonic : MOVMSKPD +// Supported forms : (1 form) +// +// * MOVMSKPD xmm, r32 [SSE2] +// +func (self *Program) MOVMSKPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVMSKPD", 2, Operands { v0, v1 }) + // MOVMSKPD xmm, r32 + if isXMM(v0) && isReg32(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x50) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for MOVMSKPD") + } + return p +} + +// MOVMSKPS performs "Extract Packed Single-Precision Floating-Point Sign Mask". +// +// Mnemonic : MOVMSKPS +// Supported forms : (1 form) +// +// * MOVMSKPS xmm, r32 [SSE] +// +func (self *Program) MOVMSKPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVMSKPS", 2, Operands { v0, v1 }) + // MOVMSKPS xmm, r32 + if isXMM(v0) && isReg32(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x50) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for MOVMSKPS") + } + return p +} + +// MOVNTDQ performs "Store Double Quadword Using Non-Temporal Hint". +// +// Mnemonic : MOVNTDQ +// Supported forms : (1 form) +// +// * MOVNTDQ xmm, m128 [SSE2] +// +func (self *Program) MOVNTDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVNTDQ", 2, Operands { v0, v1 }) + // MOVNTDQ xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xe7) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVNTDQ") + } + return p +} + +// MOVNTDQA performs "Load Double Quadword Non-Temporal Aligned Hint". +// +// Mnemonic : MOVNTDQA +// Supported forms : (1 form) +// +// * MOVNTDQA m128, xmm [SSE4.1] +// +func (self *Program) MOVNTDQA(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVNTDQA", 2, Operands { v0, v1 }) + // MOVNTDQA m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVNTDQA") + } + return p +} + +// MOVNTIL performs "Store Doubleword Using Non-Temporal Hint". +// +// Mnemonic : MOVNTI +// Supported forms : (1 form) +// +// * MOVNTIL r32, m32 [SSE2] +// +func (self *Program) MOVNTIL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVNTIL", 2, Operands { v0, v1 }) + // MOVNTIL r32, m32 + if isReg32(v0) && isM32(v1) { + self.require(ISA_SSE2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xc3) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVNTIL") + } + return p +} + +// MOVNTIQ performs "Store Doubleword Using Non-Temporal Hint". +// +// Mnemonic : MOVNTI +// Supported forms : (1 form) +// +// * MOVNTIQ r64, m64 [SSE2] +// +func (self *Program) MOVNTIQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVNTIQ", 2, Operands { v0, v1 }) + // MOVNTIQ r64, m64 + if isReg64(v0) && isM64(v1) { + self.require(ISA_SSE2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x0f) + m.emit(0xc3) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVNTIQ") + } + return p +} + +// MOVNTPD performs "Store Packed Double-Precision Floating-Point Values Using Non-Temporal Hint". +// +// Mnemonic : MOVNTPD +// Supported forms : (1 form) +// +// * MOVNTPD xmm, m128 [SSE2] +// +func (self *Program) MOVNTPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVNTPD", 2, Operands { v0, v1 }) + // MOVNTPD xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVNTPD") + } + return p +} + +// MOVNTPS performs "Store Packed Single-Precision Floating-Point Values Using Non-Temporal Hint". +// +// Mnemonic : MOVNTPS +// Supported forms : (1 form) +// +// * MOVNTPS xmm, m128 [SSE] +// +func (self *Program) MOVNTPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVNTPS", 2, Operands { v0, v1 }) + // MOVNTPS xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVNTPS") + } + return p +} + +// MOVNTQ performs "Store of Quadword Using Non-Temporal Hint". +// +// Mnemonic : MOVNTQ +// Supported forms : (1 form) +// +// * MOVNTQ mm, m64 [MMX+] +// +func (self *Program) MOVNTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVNTQ", 2, Operands { v0, v1 }) + // MOVNTQ mm, m64 + if isMM(v0) && isM64(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xe7) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVNTQ") + } + return p +} + +// MOVNTSD performs "Store Scalar Double-Precision Floating-Point Values Using Non-Temporal Hint". +// +// Mnemonic : MOVNTSD +// Supported forms : (1 form) +// +// * MOVNTSD xmm, m64 [SSE4A] +// +func (self *Program) MOVNTSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVNTSD", 2, Operands { v0, v1 }) + // MOVNTSD xmm, m64 + if isXMM(v0) && isM64(v1) { + self.require(ISA_SSE4A) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVNTSD") + } + return p +} + +// MOVNTSS performs "Store Scalar Single-Precision Floating-Point Values Using Non-Temporal Hint". +// +// Mnemonic : MOVNTSS +// Supported forms : (1 form) +// +// * MOVNTSS xmm, m32 [SSE4A] +// +func (self *Program) MOVNTSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVNTSS", 2, Operands { v0, v1 }) + // MOVNTSS xmm, m32 + if isXMM(v0) && isM32(v1) { + self.require(ISA_SSE4A) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVNTSS") + } + return p +} + +// MOVQ performs "Move". +// +// Mnemonic : MOV +// Supported forms : (16 forms) +// +// * MOVQ imm32, r64 +// * MOVQ imm64, r64 +// * MOVQ r64, r64 +// * MOVQ m64, r64 +// * MOVQ imm32, m64 +// * MOVQ r64, m64 +// * MOVQ mm, r64 [MMX] +// * MOVQ r64, mm [MMX] +// * MOVQ mm, mm [MMX] +// * MOVQ m64, mm [MMX] +// * MOVQ mm, m64 [MMX] +// * MOVQ xmm, r64 [SSE2] +// * MOVQ r64, xmm [SSE2] +// * MOVQ xmm, xmm [SSE2] +// * MOVQ m64, xmm [SSE2] +// * MOVQ xmm, m64 [SSE2] +// +func (self *Program) MOVQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVQ", 2, Operands { v0, v1 }) + // MOVQ imm32, r64 + if isImm32Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xc7) + m.emit(0xc0 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // MOVQ imm64, r64 + if isImm64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xb8 | lcode(v[1])) + m.imm8(toImmAny(v[0])) + }) + } + // MOVQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x89) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x8b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVQ m64, r64 + if isM64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x8b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVQ imm32, m64 + if isImm32Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xc7) + m.mrsd(0, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // MOVQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x89) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // MOVQ mm, r64 + if isMM(v0) && isReg64(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x0f) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVQ r64, mm + if isReg64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x6e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVQ mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVQ m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x6e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVQ mm, m64 + if isMM(v0) && isM64(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x0f) + m.emit(0x7e) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // MOVQ xmm, r64 + if isXMM(v0) && isReg64(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x0f) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVQ r64, xmm + if isReg64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0x6e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xd6) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVQ m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x7e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0x6e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVQ xmm, m64 + if isXMM(v0) && isM64(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xd6) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x0f) + m.emit(0x7e) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVQ") + } + return p +} + +// MOVQ2DQ performs "Move Quadword from MMX Technology to XMM Register". +// +// Mnemonic : MOVQ2DQ +// Supported forms : (1 form) +// +// * MOVQ2DQ mm, xmm [SSE2] +// +func (self *Program) MOVQ2DQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVQ2DQ", 2, Operands { v0, v1 }) + // MOVQ2DQ mm, xmm + if isMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for MOVQ2DQ") + } + return p +} + +// MOVSBL performs "Move with Sign-Extension". +// +// Mnemonic : MOVSX +// Supported forms : (2 forms) +// +// * MOVSBL r8, r32 +// * MOVSBL m8, r32 +// +func (self *Program) MOVSBL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVSBL", 2, Operands { v0, v1 }) + // MOVSBL r8, r32 + if isReg8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVSBL m8, r32 + if isM8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xbe) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVSBL") + } + return p +} + +// MOVSBQ performs "Move with Sign-Extension". +// +// Mnemonic : MOVSX +// Supported forms : (2 forms) +// +// * MOVSBQ r8, r64 +// * MOVSBQ m8, r64 +// +func (self *Program) MOVSBQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVSBQ", 2, Operands { v0, v1 }) + // MOVSBQ r8, r64 + if isReg8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVSBQ m8, r64 + if isM8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0xbe) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVSBQ") + } + return p +} + +// MOVSBW performs "Move with Sign-Extension". +// +// Mnemonic : MOVSX +// Supported forms : (2 forms) +// +// * MOVSBW r8, r16 +// * MOVSBW m8, r16 +// +func (self *Program) MOVSBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVSBW", 2, Operands { v0, v1 }) + // MOVSBW r8, r16 + if isReg8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVSBW m8, r16 + if isM8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xbe) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVSBW") + } + return p +} + +// MOVSD performs "Move Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : MOVSD +// Supported forms : (3 forms) +// +// * MOVSD xmm, xmm [SSE2] +// * MOVSD m64, xmm [SSE2] +// * MOVSD xmm, m64 [SSE2] +// +func (self *Program) MOVSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVSD", 2, Operands { v0, v1 }) + // MOVSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVSD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVSD xmm, m64 + if isXMM(v0) && isM64(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVSD") + } + return p +} + +// MOVSHDUP performs "Move Packed Single-FP High and Duplicate". +// +// Mnemonic : MOVSHDUP +// Supported forms : (2 forms) +// +// * MOVSHDUP xmm, xmm [SSE3] +// * MOVSHDUP m128, xmm [SSE3] +// +func (self *Program) MOVSHDUP(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVSHDUP", 2, Operands { v0, v1 }) + // MOVSHDUP xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVSHDUP m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVSHDUP") + } + return p +} + +// MOVSLDUP performs "Move Packed Single-FP Low and Duplicate". +// +// Mnemonic : MOVSLDUP +// Supported forms : (2 forms) +// +// * MOVSLDUP xmm, xmm [SSE3] +// * MOVSLDUP m128, xmm [SSE3] +// +func (self *Program) MOVSLDUP(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVSLDUP", 2, Operands { v0, v1 }) + // MOVSLDUP xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVSLDUP m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVSLDUP") + } + return p +} + +// MOVSLQ performs "Move Doubleword to Quadword with Sign-Extension". +// +// Mnemonic : MOVSXD +// Supported forms : (2 forms) +// +// * MOVSLQ r32, r64 +// * MOVSLQ m32, r64 +// +func (self *Program) MOVSLQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVSLQ", 2, Operands { v0, v1 }) + // MOVSLQ r32, r64 + if isReg32(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x63) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVSLQ m32, r64 + if isM32(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x63) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVSLQ") + } + return p +} + +// MOVSS performs "Move Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : MOVSS +// Supported forms : (3 forms) +// +// * MOVSS xmm, xmm [SSE] +// * MOVSS m32, xmm [SSE] +// * MOVSS xmm, m32 [SSE] +// +func (self *Program) MOVSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVSS", 2, Operands { v0, v1 }) + // MOVSS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVSS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVSS xmm, m32 + if isXMM(v0) && isM32(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVSS") + } + return p +} + +// MOVSWL performs "Move with Sign-Extension". +// +// Mnemonic : MOVSX +// Supported forms : (2 forms) +// +// * MOVSWL r16, r32 +// * MOVSWL m16, r32 +// +func (self *Program) MOVSWL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVSWL", 2, Operands { v0, v1 }) + // MOVSWL r16, r32 + if isReg16(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xbf) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVSWL m16, r32 + if isM16(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xbf) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVSWL") + } + return p +} + +// MOVSWQ performs "Move with Sign-Extension". +// +// Mnemonic : MOVSX +// Supported forms : (2 forms) +// +// * MOVSWQ r16, r64 +// * MOVSWQ m16, r64 +// +func (self *Program) MOVSWQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVSWQ", 2, Operands { v0, v1 }) + // MOVSWQ r16, r64 + if isReg16(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xbf) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVSWQ m16, r64 + if isM16(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0xbf) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVSWQ") + } + return p +} + +// MOVUPD performs "Move Unaligned Packed Double-Precision Floating-Point Values". +// +// Mnemonic : MOVUPD +// Supported forms : (3 forms) +// +// * MOVUPD xmm, xmm [SSE2] +// * MOVUPD m128, xmm [SSE2] +// * MOVUPD xmm, m128 [SSE2] +// +func (self *Program) MOVUPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVUPD", 2, Operands { v0, v1 }) + // MOVUPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVUPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVUPD xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVUPD") + } + return p +} + +// MOVUPS performs "Move Unaligned Packed Single-Precision Floating-Point Values". +// +// Mnemonic : MOVUPS +// Supported forms : (3 forms) +// +// * MOVUPS xmm, xmm [SSE] +// * MOVUPS m128, xmm [SSE] +// * MOVUPS xmm, m128 [SSE] +// +func (self *Program) MOVUPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVUPS", 2, Operands { v0, v1 }) + // MOVUPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // MOVUPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVUPS xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVUPS") + } + return p +} + +// MOVW performs "Move". +// +// Mnemonic : MOV +// Supported forms : (5 forms) +// +// * MOVW imm16, r16 +// * MOVW r16, r16 +// * MOVW m16, r16 +// * MOVW imm16, m16 +// * MOVW r16, m16 +// +func (self *Program) MOVW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVW", 2, Operands { v0, v1 }) + // MOVW imm16, r16 + if isImm16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xc7) + m.emit(0xc0 | lcode(v[1])) + m.imm2(toImmAny(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xb8 | lcode(v[1])) + m.imm2(toImmAny(v[0])) + }) + } + // MOVW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x89) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x8b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVW m16, r16 + if isM16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x8b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // MOVW imm16, m16 + if isImm16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xc7) + m.mrsd(0, addr(v[1]), 1) + m.imm2(toImmAny(v[0])) + }) + } + // MOVW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x89) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVW") + } + return p +} + +// MOVZBL performs "Move with Zero-Extend". +// +// Mnemonic : MOVZX +// Supported forms : (2 forms) +// +// * MOVZBL r8, r32 +// * MOVZBL m8, r32 +// +func (self *Program) MOVZBL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVZBL", 2, Operands { v0, v1 }) + // MOVZBL r8, r32 + if isReg8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVZBL m8, r32 + if isM8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xb6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVZBL") + } + return p +} + +// MOVZBQ performs "Move with Zero-Extend". +// +// Mnemonic : MOVZX +// Supported forms : (2 forms) +// +// * MOVZBQ r8, r64 +// * MOVZBQ m8, r64 +// +func (self *Program) MOVZBQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVZBQ", 2, Operands { v0, v1 }) + // MOVZBQ r8, r64 + if isReg8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVZBQ m8, r64 + if isM8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0xb6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVZBQ") + } + return p +} + +// MOVZBW performs "Move with Zero-Extend". +// +// Mnemonic : MOVZX +// Supported forms : (2 forms) +// +// * MOVZBW r8, r16 +// * MOVZBW m8, r16 +// +func (self *Program) MOVZBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVZBW", 2, Operands { v0, v1 }) + // MOVZBW r8, r16 + if isReg8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVZBW m8, r16 + if isM8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xb6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVZBW") + } + return p +} + +// MOVZWL performs "Move with Zero-Extend". +// +// Mnemonic : MOVZX +// Supported forms : (2 forms) +// +// * MOVZWL r16, r32 +// * MOVZWL m16, r32 +// +func (self *Program) MOVZWL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVZWL", 2, Operands { v0, v1 }) + // MOVZWL r16, r32 + if isReg16(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVZWL m16, r32 + if isM16(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xb7) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVZWL") + } + return p +} + +// MOVZWQ performs "Move with Zero-Extend". +// +// Mnemonic : MOVZX +// Supported forms : (2 forms) +// +// * MOVZWQ r16, r64 +// * MOVZWQ m16, r64 +// +func (self *Program) MOVZWQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MOVZWQ", 2, Operands { v0, v1 }) + // MOVZWQ r16, r64 + if isReg16(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MOVZWQ m16, r64 + if isM16(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0xb7) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MOVZWQ") + } + return p +} + +// MPSADBW performs "Compute Multiple Packed Sums of Absolute Difference". +// +// Mnemonic : MPSADBW +// Supported forms : (2 forms) +// +// * MPSADBW imm8, xmm, xmm [SSE4.1] +// * MPSADBW imm8, m128, xmm [SSE4.1] +// +func (self *Program) MPSADBW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("MPSADBW", 3, Operands { v0, v1, v2 }) + // MPSADBW imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x42) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // MPSADBW imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x42) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for MPSADBW") + } + return p +} + +// MULB performs "Unsigned Multiply". +// +// Mnemonic : MUL +// Supported forms : (2 forms) +// +// * MULB r8 +// * MULB m8 +// +func (self *Program) MULB(v0 interface{}) *Instruction { + p := self.alloc("MULB", 1, Operands { v0 }) + // MULB r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0xf6) + m.emit(0xe0 | lcode(v[0])) + }) + } + // MULB m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xf6) + m.mrsd(4, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MULB") + } + return p +} + +// MULL performs "Unsigned Multiply". +// +// Mnemonic : MUL +// Supported forms : (2 forms) +// +// * MULL r32 +// * MULL m32 +// +func (self *Program) MULL(v0 interface{}) *Instruction { + p := self.alloc("MULL", 1, Operands { v0 }) + // MULL r32 + if isReg32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0xf7) + m.emit(0xe0 | lcode(v[0])) + }) + } + // MULL m32 + if isM32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xf7) + m.mrsd(4, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MULL") + } + return p +} + +// MULPD performs "Multiply Packed Double-Precision Floating-Point Values". +// +// Mnemonic : MULPD +// Supported forms : (2 forms) +// +// * MULPD xmm, xmm [SSE2] +// * MULPD m128, xmm [SSE2] +// +func (self *Program) MULPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MULPD", 2, Operands { v0, v1 }) + // MULPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x59) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MULPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x59) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MULPD") + } + return p +} + +// MULPS performs "Multiply Packed Single-Precision Floating-Point Values". +// +// Mnemonic : MULPS +// Supported forms : (2 forms) +// +// * MULPS xmm, xmm [SSE] +// * MULPS m128, xmm [SSE] +// +func (self *Program) MULPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MULPS", 2, Operands { v0, v1 }) + // MULPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x59) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MULPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x59) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MULPS") + } + return p +} + +// MULQ performs "Unsigned Multiply". +// +// Mnemonic : MUL +// Supported forms : (2 forms) +// +// * MULQ r64 +// * MULQ m64 +// +func (self *Program) MULQ(v0 interface{}) *Instruction { + p := self.alloc("MULQ", 1, Operands { v0 }) + // MULQ r64 + if isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0])) + m.emit(0xf7) + m.emit(0xe0 | lcode(v[0])) + }) + } + // MULQ m64 + if isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[0])) + m.emit(0xf7) + m.mrsd(4, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MULQ") + } + return p +} + +// MULSD performs "Multiply Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : MULSD +// Supported forms : (2 forms) +// +// * MULSD xmm, xmm [SSE2] +// * MULSD m64, xmm [SSE2] +// +func (self *Program) MULSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MULSD", 2, Operands { v0, v1 }) + // MULSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x59) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MULSD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x59) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MULSD") + } + return p +} + +// MULSS performs "Multiply Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : MULSS +// Supported forms : (2 forms) +// +// * MULSS xmm, xmm [SSE] +// * MULSS m32, xmm [SSE] +// +func (self *Program) MULSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("MULSS", 2, Operands { v0, v1 }) + // MULSS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x59) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // MULSS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x59) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MULSS") + } + return p +} + +// MULW performs "Unsigned Multiply". +// +// Mnemonic : MUL +// Supported forms : (2 forms) +// +// * MULW r16 +// * MULW m16 +// +func (self *Program) MULW(v0 interface{}) *Instruction { + p := self.alloc("MULW", 1, Operands { v0 }) + // MULW r16 + if isReg16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0xf7) + m.emit(0xe0 | lcode(v[0])) + }) + } + // MULW m16 + if isM16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[0]), false) + m.emit(0xf7) + m.mrsd(4, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MULW") + } + return p +} + +// MULXL performs "Unsigned Multiply Without Affecting Flags". +// +// Mnemonic : MULX +// Supported forms : (2 forms) +// +// * MULXL r32, r32, r32 [BMI2] +// * MULXL m32, r32, r32 [BMI2] +// +func (self *Program) MULXL(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("MULXL", 3, Operands { v0, v1, v2 }) + // MULXL r32, r32, r32 + if isReg32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7b ^ (hlcode(v[1]) << 3)) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // MULXL m32, r32, r32 + if isM32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x03, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf6) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MULXL") + } + return p +} + +// MULXQ performs "Unsigned Multiply Without Affecting Flags". +// +// Mnemonic : MULX +// Supported forms : (2 forms) +// +// * MULXQ r64, r64, r64 [BMI2] +// * MULXQ m64, r64, r64 [BMI2] +// +func (self *Program) MULXQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("MULXQ", 3, Operands { v0, v1, v2 }) + // MULXQ r64, r64, r64 + if isReg64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfb ^ (hlcode(v[1]) << 3)) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // MULXQ m64, r64, r64 + if isM64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x83, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf6) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for MULXQ") + } + return p +} + +// MWAIT performs "Monitor Wait". +// +// Mnemonic : MWAIT +// Supported forms : (1 form) +// +// * MWAIT [MONITOR] +// +func (self *Program) MWAIT() *Instruction { + p := self.alloc("MWAIT", 0, Operands { }) + // MWAIT + self.require(ISA_MONITOR) + p.domain = DomainMisc + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x01) + m.emit(0xc9) + }) + return p +} + +// MWAITX performs "Monitor Wait with Timeout". +// +// Mnemonic : MWAITX +// Supported forms : (1 form) +// +// * MWAITX [MONITORX] +// +func (self *Program) MWAITX() *Instruction { + p := self.alloc("MWAITX", 0, Operands { }) + // MWAITX + self.require(ISA_MONITORX) + p.domain = DomainMisc + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x01) + m.emit(0xfb) + }) + return p +} + +// NEGB performs "Two's Complement Negation". +// +// Mnemonic : NEG +// Supported forms : (2 forms) +// +// * NEGB r8 +// * NEGB m8 +// +func (self *Program) NEGB(v0 interface{}) *Instruction { + p := self.alloc("NEGB", 1, Operands { v0 }) + // NEGB r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0xf6) + m.emit(0xd8 | lcode(v[0])) + }) + } + // NEGB m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xf6) + m.mrsd(3, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for NEGB") + } + return p +} + +// NEGL performs "Two's Complement Negation". +// +// Mnemonic : NEG +// Supported forms : (2 forms) +// +// * NEGL r32 +// * NEGL m32 +// +func (self *Program) NEGL(v0 interface{}) *Instruction { + p := self.alloc("NEGL", 1, Operands { v0 }) + // NEGL r32 + if isReg32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0xf7) + m.emit(0xd8 | lcode(v[0])) + }) + } + // NEGL m32 + if isM32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xf7) + m.mrsd(3, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for NEGL") + } + return p +} + +// NEGQ performs "Two's Complement Negation". +// +// Mnemonic : NEG +// Supported forms : (2 forms) +// +// * NEGQ r64 +// * NEGQ m64 +// +func (self *Program) NEGQ(v0 interface{}) *Instruction { + p := self.alloc("NEGQ", 1, Operands { v0 }) + // NEGQ r64 + if isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0])) + m.emit(0xf7) + m.emit(0xd8 | lcode(v[0])) + }) + } + // NEGQ m64 + if isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[0])) + m.emit(0xf7) + m.mrsd(3, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for NEGQ") + } + return p +} + +// NEGW performs "Two's Complement Negation". +// +// Mnemonic : NEG +// Supported forms : (2 forms) +// +// * NEGW r16 +// * NEGW m16 +// +func (self *Program) NEGW(v0 interface{}) *Instruction { + p := self.alloc("NEGW", 1, Operands { v0 }) + // NEGW r16 + if isReg16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0xf7) + m.emit(0xd8 | lcode(v[0])) + }) + } + // NEGW m16 + if isM16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[0]), false) + m.emit(0xf7) + m.mrsd(3, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for NEGW") + } + return p +} + +// NOP performs "No Operation". +// +// Mnemonic : NOP +// Supported forms : (1 form) +// +// * NOP +// +func (self *Program) NOP() *Instruction { + p := self.alloc("NOP", 0, Operands { }) + // NOP + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x90) + }) + return p +} + +// NOTB performs "One's Complement Negation". +// +// Mnemonic : NOT +// Supported forms : (2 forms) +// +// * NOTB r8 +// * NOTB m8 +// +func (self *Program) NOTB(v0 interface{}) *Instruction { + p := self.alloc("NOTB", 1, Operands { v0 }) + // NOTB r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0xf6) + m.emit(0xd0 | lcode(v[0])) + }) + } + // NOTB m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xf6) + m.mrsd(2, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for NOTB") + } + return p +} + +// NOTL performs "One's Complement Negation". +// +// Mnemonic : NOT +// Supported forms : (2 forms) +// +// * NOTL r32 +// * NOTL m32 +// +func (self *Program) NOTL(v0 interface{}) *Instruction { + p := self.alloc("NOTL", 1, Operands { v0 }) + // NOTL r32 + if isReg32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0xf7) + m.emit(0xd0 | lcode(v[0])) + }) + } + // NOTL m32 + if isM32(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xf7) + m.mrsd(2, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for NOTL") + } + return p +} + +// NOTQ performs "One's Complement Negation". +// +// Mnemonic : NOT +// Supported forms : (2 forms) +// +// * NOTQ r64 +// * NOTQ m64 +// +func (self *Program) NOTQ(v0 interface{}) *Instruction { + p := self.alloc("NOTQ", 1, Operands { v0 }) + // NOTQ r64 + if isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0])) + m.emit(0xf7) + m.emit(0xd0 | lcode(v[0])) + }) + } + // NOTQ m64 + if isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[0])) + m.emit(0xf7) + m.mrsd(2, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for NOTQ") + } + return p +} + +// NOTW performs "One's Complement Negation". +// +// Mnemonic : NOT +// Supported forms : (2 forms) +// +// * NOTW r16 +// * NOTW m16 +// +func (self *Program) NOTW(v0 interface{}) *Instruction { + p := self.alloc("NOTW", 1, Operands { v0 }) + // NOTW r16 + if isReg16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0xf7) + m.emit(0xd0 | lcode(v[0])) + }) + } + // NOTW m16 + if isM16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[0]), false) + m.emit(0xf7) + m.mrsd(2, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for NOTW") + } + return p +} + +// ORB performs "Logical Inclusive OR". +// +// Mnemonic : OR +// Supported forms : (6 forms) +// +// * ORB imm8, al +// * ORB imm8, r8 +// * ORB r8, r8 +// * ORB m8, r8 +// * ORB imm8, m8 +// * ORB r8, m8 +// +func (self *Program) ORB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ORB", 2, Operands { v0, v1 }) + // ORB imm8, al + if isImm8(v0) && v1 == AL { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0c) + m.imm1(toImmAny(v[0])) + }) + } + // ORB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0x80) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ORB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x08) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x0a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ORB m8, r8 + if isM8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), isReg8REX(v[1])) + m.emit(0x0a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ORB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x80) + m.mrsd(1, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ORB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x08) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ORB") + } + return p +} + +// ORL performs "Logical Inclusive OR". +// +// Mnemonic : OR +// Supported forms : (8 forms) +// +// * ORL imm32, eax +// * ORL imm8, r32 +// * ORL imm32, r32 +// * ORL r32, r32 +// * ORL m32, r32 +// * ORL imm8, m32 +// * ORL imm32, m32 +// * ORL r32, m32 +// +func (self *Program) ORL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ORL", 2, Operands { v0, v1 }) + // ORL imm32, eax + if isImm32(v0) && v1 == EAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0d) + m.imm4(toImmAny(v[0])) + }) + } + // ORL imm8, r32 + if isImm8Ext(v0, 4) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ORL imm32, r32 + if isImm32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xc8 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // ORL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x09) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ORL m32, r32 + if isM32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ORL imm8, m32 + if isImm8Ext(v0, 4) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(1, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ORL imm32, m32 + if isImm32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(1, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // ORL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x09) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ORL") + } + return p +} + +// ORPD performs "Bitwise Logical OR of Double-Precision Floating-Point Values". +// +// Mnemonic : ORPD +// Supported forms : (2 forms) +// +// * ORPD xmm, xmm [SSE2] +// * ORPD m128, xmm [SSE2] +// +func (self *Program) ORPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ORPD", 2, Operands { v0, v1 }) + // ORPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x56) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ORPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x56) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ORPD") + } + return p +} + +// ORPS performs "Bitwise Logical OR of Single-Precision Floating-Point Values". +// +// Mnemonic : ORPS +// Supported forms : (2 forms) +// +// * ORPS xmm, xmm [SSE] +// * ORPS m128, xmm [SSE] +// +func (self *Program) ORPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ORPS", 2, Operands { v0, v1 }) + // ORPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x56) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ORPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x56) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ORPS") + } + return p +} + +// ORQ performs "Logical Inclusive OR". +// +// Mnemonic : OR +// Supported forms : (8 forms) +// +// * ORQ imm32, rax +// * ORQ imm8, r64 +// * ORQ imm32, r64 +// * ORQ r64, r64 +// * ORQ m64, r64 +// * ORQ imm8, m64 +// * ORQ imm32, m64 +// * ORQ r64, m64 +// +func (self *Program) ORQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ORQ", 2, Operands { v0, v1 }) + // ORQ imm32, rax + if isImm32(v0) && v1 == RAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48) + m.emit(0x0d) + m.imm4(toImmAny(v[0])) + }) + } + // ORQ imm8, r64 + if isImm8Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x83) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ORQ imm32, r64 + if isImm32Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x81) + m.emit(0xc8 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // ORQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x09) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ORQ m64, r64 + if isM64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ORQ imm8, m64 + if isImm8Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x83) + m.mrsd(1, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ORQ imm32, m64 + if isImm32Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x81) + m.mrsd(1, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // ORQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x09) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ORQ") + } + return p +} + +// ORW performs "Logical Inclusive OR". +// +// Mnemonic : OR +// Supported forms : (8 forms) +// +// * ORW imm16, ax +// * ORW imm8, r16 +// * ORW imm16, r16 +// * ORW r16, r16 +// * ORW m16, r16 +// * ORW imm8, m16 +// * ORW imm16, m16 +// * ORW r16, m16 +// +func (self *Program) ORW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ORW", 2, Operands { v0, v1 }) + // ORW imm16, ax + if isImm16(v0) && v1 == AX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x0d) + m.imm2(toImmAny(v[0])) + }) + } + // ORW imm8, r16 + if isImm8Ext(v0, 2) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ORW imm16, r16 + if isImm16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xc8 | lcode(v[1])) + m.imm2(toImmAny(v[0])) + }) + } + // ORW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x09) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // ORW m16, r16 + if isM16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // ORW imm8, m16 + if isImm8Ext(v0, 2) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(1, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ORW imm16, m16 + if isImm16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(1, addr(v[1]), 1) + m.imm2(toImmAny(v[0])) + }) + } + // ORW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x09) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ORW") + } + return p +} + +// PABSB performs "Packed Absolute Value of Byte Integers". +// +// Mnemonic : PABSB +// Supported forms : (4 forms) +// +// * PABSB mm, mm [SSSE3] +// * PABSB m64, mm [SSSE3] +// * PABSB xmm, xmm [SSSE3] +// * PABSB m128, xmm [SSSE3] +// +func (self *Program) PABSB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PABSB", 2, Operands { v0, v1 }) + // PABSB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x1c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PABSB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x1c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PABSB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x1c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PABSB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x1c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PABSB") + } + return p +} + +// PABSD performs "Packed Absolute Value of Doubleword Integers". +// +// Mnemonic : PABSD +// Supported forms : (4 forms) +// +// * PABSD mm, mm [SSSE3] +// * PABSD m64, mm [SSSE3] +// * PABSD xmm, xmm [SSSE3] +// * PABSD m128, xmm [SSSE3] +// +func (self *Program) PABSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PABSD", 2, Operands { v0, v1 }) + // PABSD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PABSD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x1e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PABSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PABSD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x1e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PABSD") + } + return p +} + +// PABSW performs "Packed Absolute Value of Word Integers". +// +// Mnemonic : PABSW +// Supported forms : (4 forms) +// +// * PABSW mm, mm [SSSE3] +// * PABSW m64, mm [SSSE3] +// * PABSW xmm, xmm [SSSE3] +// * PABSW m128, xmm [SSSE3] +// +func (self *Program) PABSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PABSW", 2, Operands { v0, v1 }) + // PABSW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PABSW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x1d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PABSW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PABSW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x1d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PABSW") + } + return p +} + +// PACKSSDW performs "Pack Doublewords into Words with Signed Saturation". +// +// Mnemonic : PACKSSDW +// Supported forms : (4 forms) +// +// * PACKSSDW mm, mm [MMX] +// * PACKSSDW m64, mm [MMX] +// * PACKSSDW xmm, xmm [SSE2] +// * PACKSSDW m128, xmm [SSE2] +// +func (self *Program) PACKSSDW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PACKSSDW", 2, Operands { v0, v1 }) + // PACKSSDW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x6b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PACKSSDW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x6b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PACKSSDW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x6b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PACKSSDW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x6b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PACKSSDW") + } + return p +} + +// PACKSSWB performs "Pack Words into Bytes with Signed Saturation". +// +// Mnemonic : PACKSSWB +// Supported forms : (4 forms) +// +// * PACKSSWB mm, mm [MMX] +// * PACKSSWB m64, mm [MMX] +// * PACKSSWB xmm, xmm [SSE2] +// * PACKSSWB m128, xmm [SSE2] +// +func (self *Program) PACKSSWB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PACKSSWB", 2, Operands { v0, v1 }) + // PACKSSWB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x63) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PACKSSWB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x63) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PACKSSWB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x63) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PACKSSWB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x63) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PACKSSWB") + } + return p +} + +// PACKUSDW performs "Pack Doublewords into Words with Unsigned Saturation". +// +// Mnemonic : PACKUSDW +// Supported forms : (2 forms) +// +// * PACKUSDW xmm, xmm [SSE4.1] +// * PACKUSDW m128, xmm [SSE4.1] +// +func (self *Program) PACKUSDW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PACKUSDW", 2, Operands { v0, v1 }) + // PACKUSDW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x2b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PACKUSDW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x2b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PACKUSDW") + } + return p +} + +// PACKUSWB performs "Pack Words into Bytes with Unsigned Saturation". +// +// Mnemonic : PACKUSWB +// Supported forms : (4 forms) +// +// * PACKUSWB mm, mm [MMX] +// * PACKUSWB m64, mm [MMX] +// * PACKUSWB xmm, xmm [SSE2] +// * PACKUSWB m128, xmm [SSE2] +// +func (self *Program) PACKUSWB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PACKUSWB", 2, Operands { v0, v1 }) + // PACKUSWB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x67) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PACKUSWB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x67) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PACKUSWB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x67) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PACKUSWB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x67) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PACKUSWB") + } + return p +} + +// PADDB performs "Add Packed Byte Integers". +// +// Mnemonic : PADDB +// Supported forms : (4 forms) +// +// * PADDB mm, mm [MMX] +// * PADDB m64, mm [MMX] +// * PADDB xmm, xmm [SSE2] +// * PADDB m128, xmm [SSE2] +// +func (self *Program) PADDB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PADDB", 2, Operands { v0, v1 }) + // PADDB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xfc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xfc) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PADDB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xfc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xfc) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PADDB") + } + return p +} + +// PADDD performs "Add Packed Doubleword Integers". +// +// Mnemonic : PADDD +// Supported forms : (4 forms) +// +// * PADDD mm, mm [MMX] +// * PADDD m64, mm [MMX] +// * PADDD xmm, xmm [SSE2] +// * PADDD m128, xmm [SSE2] +// +func (self *Program) PADDD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PADDD", 2, Operands { v0, v1 }) + // PADDD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xfe) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xfe) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PADDD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xfe) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xfe) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PADDD") + } + return p +} + +// PADDQ performs "Add Packed Quadword Integers". +// +// Mnemonic : PADDQ +// Supported forms : (4 forms) +// +// * PADDQ mm, mm [SSE2] +// * PADDQ m64, mm [SSE2] +// * PADDQ xmm, xmm [SSE2] +// * PADDQ m128, xmm [SSE2] +// +func (self *Program) PADDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PADDQ", 2, Operands { v0, v1 }) + // PADDQ mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDQ m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd4) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PADDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd4) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PADDQ") + } + return p +} + +// PADDSB performs "Add Packed Signed Byte Integers with Signed Saturation". +// +// Mnemonic : PADDSB +// Supported forms : (4 forms) +// +// * PADDSB mm, mm [MMX] +// * PADDSB m64, mm [MMX] +// * PADDSB xmm, xmm [SSE2] +// * PADDSB m128, xmm [SSE2] +// +func (self *Program) PADDSB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PADDSB", 2, Operands { v0, v1 }) + // PADDSB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xec) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDSB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xec) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PADDSB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xec) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDSB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xec) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PADDSB") + } + return p +} + +// PADDSW performs "Add Packed Signed Word Integers with Signed Saturation". +// +// Mnemonic : PADDSW +// Supported forms : (4 forms) +// +// * PADDSW mm, mm [MMX] +// * PADDSW m64, mm [MMX] +// * PADDSW xmm, xmm [SSE2] +// * PADDSW m128, xmm [SSE2] +// +func (self *Program) PADDSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PADDSW", 2, Operands { v0, v1 }) + // PADDSW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xed) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDSW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xed) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PADDSW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xed) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDSW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xed) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PADDSW") + } + return p +} + +// PADDUSB performs "Add Packed Unsigned Byte Integers with Unsigned Saturation". +// +// Mnemonic : PADDUSB +// Supported forms : (4 forms) +// +// * PADDUSB mm, mm [MMX] +// * PADDUSB m64, mm [MMX] +// * PADDUSB xmm, xmm [SSE2] +// * PADDUSB m128, xmm [SSE2] +// +func (self *Program) PADDUSB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PADDUSB", 2, Operands { v0, v1 }) + // PADDUSB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xdc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDUSB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xdc) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PADDUSB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xdc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDUSB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xdc) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PADDUSB") + } + return p +} + +// PADDUSW performs "Add Packed Unsigned Word Integers with Unsigned Saturation". +// +// Mnemonic : PADDUSW +// Supported forms : (4 forms) +// +// * PADDUSW mm, mm [MMX] +// * PADDUSW m64, mm [MMX] +// * PADDUSW xmm, xmm [SSE2] +// * PADDUSW m128, xmm [SSE2] +// +func (self *Program) PADDUSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PADDUSW", 2, Operands { v0, v1 }) + // PADDUSW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xdd) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDUSW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xdd) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PADDUSW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xdd) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDUSW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xdd) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PADDUSW") + } + return p +} + +// PADDW performs "Add Packed Word Integers". +// +// Mnemonic : PADDW +// Supported forms : (4 forms) +// +// * PADDW mm, mm [MMX] +// * PADDW m64, mm [MMX] +// * PADDW xmm, xmm [SSE2] +// * PADDW m128, xmm [SSE2] +// +func (self *Program) PADDW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PADDW", 2, Operands { v0, v1 }) + // PADDW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xfd) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xfd) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PADDW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xfd) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PADDW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xfd) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PADDW") + } + return p +} + +// PALIGNR performs "Packed Align Right". +// +// Mnemonic : PALIGNR +// Supported forms : (4 forms) +// +// * PALIGNR imm8, mm, mm [SSSE3] +// * PALIGNR imm8, m64, mm [SSSE3] +// * PALIGNR imm8, xmm, xmm [SSSE3] +// * PALIGNR imm8, m128, xmm [SSSE3] +// +func (self *Program) PALIGNR(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PALIGNR", 3, Operands { v0, v1, v2 }) + // PALIGNR imm8, mm, mm + if isImm8(v0) && isMM(v1) && isMM(v2) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PALIGNR imm8, m64, mm + if isImm8(v0) && isM64(v1) && isMM(v2) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0f) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // PALIGNR imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PALIGNR imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0f) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PALIGNR") + } + return p +} + +// PAND performs "Packed Bitwise Logical AND". +// +// Mnemonic : PAND +// Supported forms : (4 forms) +// +// * PAND mm, mm [MMX] +// * PAND m64, mm [MMX] +// * PAND xmm, xmm [SSE2] +// * PAND m128, xmm [SSE2] +// +func (self *Program) PAND(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PAND", 2, Operands { v0, v1 }) + // PAND mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PAND m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xdb) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PAND xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PAND m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xdb) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PAND") + } + return p +} + +// PANDN performs "Packed Bitwise Logical AND NOT". +// +// Mnemonic : PANDN +// Supported forms : (4 forms) +// +// * PANDN mm, mm [MMX] +// * PANDN m64, mm [MMX] +// * PANDN xmm, xmm [SSE2] +// * PANDN m128, xmm [SSE2] +// +func (self *Program) PANDN(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PANDN", 2, Operands { v0, v1 }) + // PANDN mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PANDN m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xdf) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PANDN xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PANDN m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xdf) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PANDN") + } + return p +} + +// PAUSE performs "Spin Loop Hint". +// +// Mnemonic : PAUSE +// Supported forms : (1 form) +// +// * PAUSE +// +func (self *Program) PAUSE() *Instruction { + p := self.alloc("PAUSE", 0, Operands { }) + // PAUSE + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.emit(0x90) + }) + return p +} + +// PAVGB performs "Average Packed Byte Integers". +// +// Mnemonic : PAVGB +// Supported forms : (4 forms) +// +// * PAVGB mm, mm [MMX+] +// * PAVGB m64, mm [MMX+] +// * PAVGB xmm, xmm [SSE2] +// * PAVGB m128, xmm [SSE2] +// +func (self *Program) PAVGB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PAVGB", 2, Operands { v0, v1 }) + // PAVGB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe0) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PAVGB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe0) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PAVGB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe0) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PAVGB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe0) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PAVGB") + } + return p +} + +// PAVGUSB performs "Average Packed Byte Integers". +// +// Mnemonic : PAVGUSB +// Supported forms : (2 forms) +// +// * PAVGUSB mm, mm [3dnow!] +// * PAVGUSB m64, mm [3dnow!] +// +func (self *Program) PAVGUSB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PAVGUSB", 2, Operands { v0, v1 }) + // PAVGUSB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0xbf) + }) + } + // PAVGUSB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0xbf) + }) + } + if p.len == 0 { + panic("invalid operands for PAVGUSB") + } + return p +} + +// PAVGW performs "Average Packed Word Integers". +// +// Mnemonic : PAVGW +// Supported forms : (4 forms) +// +// * PAVGW mm, mm [MMX+] +// * PAVGW m64, mm [MMX+] +// * PAVGW xmm, xmm [SSE2] +// * PAVGW m128, xmm [SSE2] +// +func (self *Program) PAVGW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PAVGW", 2, Operands { v0, v1 }) + // PAVGW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe3) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PAVGW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe3) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PAVGW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe3) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PAVGW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe3) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PAVGW") + } + return p +} + +// PBLENDVB performs "Variable Blend Packed Bytes". +// +// Mnemonic : PBLENDVB +// Supported forms : (2 forms) +// +// * PBLENDVB xmm0, xmm, xmm [SSE4.1] +// * PBLENDVB xmm0, m128, xmm [SSE4.1] +// +func (self *Program) PBLENDVB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PBLENDVB", 3, Operands { v0, v1, v2 }) + // PBLENDVB xmm0, xmm, xmm + if v0 == XMM0 && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x10) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // PBLENDVB xmm0, m128, xmm + if v0 == XMM0 && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x10) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PBLENDVB") + } + return p +} + +// PBLENDW performs "Blend Packed Words". +// +// Mnemonic : PBLENDW +// Supported forms : (2 forms) +// +// * PBLENDW imm8, xmm, xmm [SSE4.1] +// * PBLENDW imm8, m128, xmm [SSE4.1] +// +func (self *Program) PBLENDW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PBLENDW", 3, Operands { v0, v1, v2 }) + // PBLENDW imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PBLENDW imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0e) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PBLENDW") + } + return p +} + +// PCLMULQDQ performs "Carry-Less Quadword Multiplication". +// +// Mnemonic : PCLMULQDQ +// Supported forms : (2 forms) +// +// * PCLMULQDQ imm8, xmm, xmm [PCLMULQDQ] +// * PCLMULQDQ imm8, m128, xmm [PCLMULQDQ] +// +func (self *Program) PCLMULQDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PCLMULQDQ", 3, Operands { v0, v1, v2 }) + // PCLMULQDQ imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_PCLMULQDQ) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x44) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PCLMULQDQ imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_PCLMULQDQ) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x44) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PCLMULQDQ") + } + return p +} + +// PCMPEQB performs "Compare Packed Byte Data for Equality". +// +// Mnemonic : PCMPEQB +// Supported forms : (4 forms) +// +// * PCMPEQB mm, mm [MMX] +// * PCMPEQB m64, mm [MMX] +// * PCMPEQB xmm, xmm [SSE2] +// * PCMPEQB m128, xmm [SSE2] +// +func (self *Program) PCMPEQB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PCMPEQB", 2, Operands { v0, v1 }) + // PCMPEQB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x74) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPEQB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x74) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PCMPEQB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x74) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPEQB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x74) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PCMPEQB") + } + return p +} + +// PCMPEQD performs "Compare Packed Doubleword Data for Equality". +// +// Mnemonic : PCMPEQD +// Supported forms : (4 forms) +// +// * PCMPEQD mm, mm [MMX] +// * PCMPEQD m64, mm [MMX] +// * PCMPEQD xmm, xmm [SSE2] +// * PCMPEQD m128, xmm [SSE2] +// +func (self *Program) PCMPEQD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PCMPEQD", 2, Operands { v0, v1 }) + // PCMPEQD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x76) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPEQD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x76) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PCMPEQD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x76) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPEQD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x76) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PCMPEQD") + } + return p +} + +// PCMPEQQ performs "Compare Packed Quadword Data for Equality". +// +// Mnemonic : PCMPEQQ +// Supported forms : (2 forms) +// +// * PCMPEQQ xmm, xmm [SSE4.1] +// * PCMPEQQ m128, xmm [SSE4.1] +// +func (self *Program) PCMPEQQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PCMPEQQ", 2, Operands { v0, v1 }) + // PCMPEQQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x29) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPEQQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x29) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PCMPEQQ") + } + return p +} + +// PCMPEQW performs "Compare Packed Word Data for Equality". +// +// Mnemonic : PCMPEQW +// Supported forms : (4 forms) +// +// * PCMPEQW mm, mm [MMX] +// * PCMPEQW m64, mm [MMX] +// * PCMPEQW xmm, xmm [SSE2] +// * PCMPEQW m128, xmm [SSE2] +// +func (self *Program) PCMPEQW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PCMPEQW", 2, Operands { v0, v1 }) + // PCMPEQW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x75) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPEQW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x75) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PCMPEQW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x75) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPEQW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x75) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PCMPEQW") + } + return p +} + +// PCMPESTRI performs "Packed Compare Explicit Length Strings, Return Index". +// +// Mnemonic : PCMPESTRI +// Supported forms : (2 forms) +// +// * PCMPESTRI imm8, xmm, xmm [SSE4.2] +// * PCMPESTRI imm8, m128, xmm [SSE4.2] +// +func (self *Program) PCMPESTRI(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PCMPESTRI", 3, Operands { v0, v1, v2 }) + // PCMPESTRI imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x61) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PCMPESTRI imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x61) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PCMPESTRI") + } + return p +} + +// PCMPESTRM performs "Packed Compare Explicit Length Strings, Return Mask". +// +// Mnemonic : PCMPESTRM +// Supported forms : (2 forms) +// +// * PCMPESTRM imm8, xmm, xmm [SSE4.2] +// * PCMPESTRM imm8, m128, xmm [SSE4.2] +// +func (self *Program) PCMPESTRM(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PCMPESTRM", 3, Operands { v0, v1, v2 }) + // PCMPESTRM imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x60) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PCMPESTRM imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x60) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PCMPESTRM") + } + return p +} + +// PCMPGTB performs "Compare Packed Signed Byte Integers for Greater Than". +// +// Mnemonic : PCMPGTB +// Supported forms : (4 forms) +// +// * PCMPGTB mm, mm [MMX] +// * PCMPGTB m64, mm [MMX] +// * PCMPGTB xmm, xmm [SSE2] +// * PCMPGTB m128, xmm [SSE2] +// +func (self *Program) PCMPGTB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PCMPGTB", 2, Operands { v0, v1 }) + // PCMPGTB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x64) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPGTB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x64) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PCMPGTB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x64) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPGTB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x64) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PCMPGTB") + } + return p +} + +// PCMPGTD performs "Compare Packed Signed Doubleword Integers for Greater Than". +// +// Mnemonic : PCMPGTD +// Supported forms : (4 forms) +// +// * PCMPGTD mm, mm [MMX] +// * PCMPGTD m64, mm [MMX] +// * PCMPGTD xmm, xmm [SSE2] +// * PCMPGTD m128, xmm [SSE2] +// +func (self *Program) PCMPGTD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PCMPGTD", 2, Operands { v0, v1 }) + // PCMPGTD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x66) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPGTD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x66) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PCMPGTD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x66) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPGTD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x66) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PCMPGTD") + } + return p +} + +// PCMPGTQ performs "Compare Packed Data for Greater Than". +// +// Mnemonic : PCMPGTQ +// Supported forms : (2 forms) +// +// * PCMPGTQ xmm, xmm [SSE4.2] +// * PCMPGTQ m128, xmm [SSE4.2] +// +func (self *Program) PCMPGTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PCMPGTQ", 2, Operands { v0, v1 }) + // PCMPGTQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x37) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPGTQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x37) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PCMPGTQ") + } + return p +} + +// PCMPGTW performs "Compare Packed Signed Word Integers for Greater Than". +// +// Mnemonic : PCMPGTW +// Supported forms : (4 forms) +// +// * PCMPGTW mm, mm [MMX] +// * PCMPGTW m64, mm [MMX] +// * PCMPGTW xmm, xmm [SSE2] +// * PCMPGTW m128, xmm [SSE2] +// +func (self *Program) PCMPGTW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PCMPGTW", 2, Operands { v0, v1 }) + // PCMPGTW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x65) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPGTW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x65) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PCMPGTW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x65) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PCMPGTW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x65) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PCMPGTW") + } + return p +} + +// PCMPISTRI performs "Packed Compare Implicit Length Strings, Return Index". +// +// Mnemonic : PCMPISTRI +// Supported forms : (2 forms) +// +// * PCMPISTRI imm8, xmm, xmm [SSE4.2] +// * PCMPISTRI imm8, m128, xmm [SSE4.2] +// +func (self *Program) PCMPISTRI(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PCMPISTRI", 3, Operands { v0, v1, v2 }) + // PCMPISTRI imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x63) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PCMPISTRI imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x63) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PCMPISTRI") + } + return p +} + +// PCMPISTRM performs "Packed Compare Implicit Length Strings, Return Mask". +// +// Mnemonic : PCMPISTRM +// Supported forms : (2 forms) +// +// * PCMPISTRM imm8, xmm, xmm [SSE4.2] +// * PCMPISTRM imm8, m128, xmm [SSE4.2] +// +func (self *Program) PCMPISTRM(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PCMPISTRM", 3, Operands { v0, v1, v2 }) + // PCMPISTRM imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x62) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PCMPISTRM imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x62) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PCMPISTRM") + } + return p +} + +// PDEP performs "Parallel Bits Deposit". +// +// Mnemonic : PDEP +// Supported forms : (4 forms) +// +// * PDEP r32, r32, r32 [BMI2] +// * PDEP m32, r32, r32 [BMI2] +// * PDEP r64, r64, r64 [BMI2] +// * PDEP m64, r64, r64 [BMI2] +// +func (self *Program) PDEP(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PDEP", 3, Operands { v0, v1, v2 }) + // PDEP r32, r32, r32 + if isReg32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7b ^ (hlcode(v[1]) << 3)) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // PDEP m32, r32, r32 + if isM32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x03, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf5) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // PDEP r64, r64, r64 + if isReg64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfb ^ (hlcode(v[1]) << 3)) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // PDEP m64, r64, r64 + if isM64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x83, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf5) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PDEP") + } + return p +} + +// PEXT performs "Parallel Bits Extract". +// +// Mnemonic : PEXT +// Supported forms : (4 forms) +// +// * PEXT r32, r32, r32 [BMI2] +// * PEXT m32, r32, r32 [BMI2] +// * PEXT r64, r64, r64 [BMI2] +// * PEXT m64, r64, r64 [BMI2] +// +func (self *Program) PEXT(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PEXT", 3, Operands { v0, v1, v2 }) + // PEXT r32, r32, r32 + if isReg32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7a ^ (hlcode(v[1]) << 3)) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // PEXT m32, r32, r32 + if isM32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x02, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf5) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // PEXT r64, r64, r64 + if isReg64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfa ^ (hlcode(v[1]) << 3)) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // PEXT m64, r64, r64 + if isM64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x82, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf5) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PEXT") + } + return p +} + +// PEXTRB performs "Extract Byte". +// +// Mnemonic : PEXTRB +// Supported forms : (2 forms) +// +// * PEXTRB imm8, xmm, r32 [SSE4.1] +// * PEXTRB imm8, xmm, m8 [SSE4.1] +// +func (self *Program) PEXTRB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PEXTRB", 3, Operands { v0, v1, v2 }) + // PEXTRB imm8, xmm, r32 + if isImm8(v0) && isXMM(v1) && isReg32(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[2], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x14) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // PEXTRB imm8, xmm, m8 + if isImm8(v0) && isXMM(v1) && isM8(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[2]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x14) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PEXTRB") + } + return p +} + +// PEXTRD performs "Extract Doubleword". +// +// Mnemonic : PEXTRD +// Supported forms : (2 forms) +// +// * PEXTRD imm8, xmm, r32 [SSE4.1] +// * PEXTRD imm8, xmm, m32 [SSE4.1] +// +func (self *Program) PEXTRD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PEXTRD", 3, Operands { v0, v1, v2 }) + // PEXTRD imm8, xmm, r32 + if isImm8(v0) && isXMM(v1) && isReg32(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[2], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // PEXTRD imm8, xmm, m32 + if isImm8(v0) && isXMM(v1) && isM32(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[2]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PEXTRD") + } + return p +} + +// PEXTRQ performs "Extract Quadword". +// +// Mnemonic : PEXTRQ +// Supported forms : (2 forms) +// +// * PEXTRQ imm8, xmm, r64 [SSE4.1] +// * PEXTRQ imm8, xmm, m64 [SSE4.1] +// +func (self *Program) PEXTRQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PEXTRQ", 3, Operands { v0, v1, v2 }) + // PEXTRQ imm8, xmm, r64 + if isImm8(v0) && isXMM(v1) && isReg64(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[2])) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // PEXTRQ imm8, xmm, m64 + if isImm8(v0) && isXMM(v1) && isM64(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexm(1, hcode(v[1]), addr(v[2])) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PEXTRQ") + } + return p +} + +// PEXTRW performs "Extract Word". +// +// Mnemonic : PEXTRW +// Supported forms : (3 forms) +// +// * PEXTRW imm8, mm, r32 [MMX+] +// * PEXTRW imm8, xmm, r32 [SSE4.1] +// * PEXTRW imm8, xmm, m16 [SSE4.1] +// +func (self *Program) PEXTRW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PEXTRW", 3, Operands { v0, v1, v2 }) + // PEXTRW imm8, mm, r32 + if isImm8(v0) && isMM(v1) && isReg32(v2) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0xc5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PEXTRW imm8, xmm, r32 + if isImm8(v0) && isXMM(v1) && isReg32(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[2], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x15) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0xc5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PEXTRW imm8, xmm, m16 + if isImm8(v0) && isXMM(v1) && isM16(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[2]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x15) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PEXTRW") + } + return p +} + +// PF2ID performs "Packed Floating-Point to Integer Doubleword Converson". +// +// Mnemonic : PF2ID +// Supported forms : (2 forms) +// +// * PF2ID mm, mm [3dnow!] +// * PF2ID m64, mm [3dnow!] +// +func (self *Program) PF2ID(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PF2ID", 2, Operands { v0, v1 }) + // PF2ID mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0x1d) + }) + } + // PF2ID m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0x1d) + }) + } + if p.len == 0 { + panic("invalid operands for PF2ID") + } + return p +} + +// PF2IW performs "Packed Floating-Point to Integer Word Conversion". +// +// Mnemonic : PF2IW +// Supported forms : (2 forms) +// +// * PF2IW mm, mm [3dnow!+] +// * PF2IW m64, mm [3dnow!+] +// +func (self *Program) PF2IW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PF2IW", 2, Operands { v0, v1 }) + // PF2IW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW_PLUS) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0x1c) + }) + } + // PF2IW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW_PLUS) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0x1c) + }) + } + if p.len == 0 { + panic("invalid operands for PF2IW") + } + return p +} + +// PFACC performs "Packed Floating-Point Accumulate". +// +// Mnemonic : PFACC +// Supported forms : (2 forms) +// +// * PFACC mm, mm [3dnow!] +// * PFACC m64, mm [3dnow!] +// +func (self *Program) PFACC(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFACC", 2, Operands { v0, v1 }) + // PFACC mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0xae) + }) + } + // PFACC m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0xae) + }) + } + if p.len == 0 { + panic("invalid operands for PFACC") + } + return p +} + +// PFADD performs "Packed Floating-Point Add". +// +// Mnemonic : PFADD +// Supported forms : (2 forms) +// +// * PFADD mm, mm [3dnow!] +// * PFADD m64, mm [3dnow!] +// +func (self *Program) PFADD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFADD", 2, Operands { v0, v1 }) + // PFADD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0x9e) + }) + } + // PFADD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0x9e) + }) + } + if p.len == 0 { + panic("invalid operands for PFADD") + } + return p +} + +// PFCMPEQ performs "Packed Floating-Point Compare for Equal". +// +// Mnemonic : PFCMPEQ +// Supported forms : (2 forms) +// +// * PFCMPEQ mm, mm [3dnow!] +// * PFCMPEQ m64, mm [3dnow!] +// +func (self *Program) PFCMPEQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFCMPEQ", 2, Operands { v0, v1 }) + // PFCMPEQ mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0xb0) + }) + } + // PFCMPEQ m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0xb0) + }) + } + if p.len == 0 { + panic("invalid operands for PFCMPEQ") + } + return p +} + +// PFCMPGE performs "Packed Floating-Point Compare for Greater or Equal". +// +// Mnemonic : PFCMPGE +// Supported forms : (2 forms) +// +// * PFCMPGE mm, mm [3dnow!] +// * PFCMPGE m64, mm [3dnow!] +// +func (self *Program) PFCMPGE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFCMPGE", 2, Operands { v0, v1 }) + // PFCMPGE mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0x90) + }) + } + // PFCMPGE m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0x90) + }) + } + if p.len == 0 { + panic("invalid operands for PFCMPGE") + } + return p +} + +// PFCMPGT performs "Packed Floating-Point Compare for Greater Than". +// +// Mnemonic : PFCMPGT +// Supported forms : (2 forms) +// +// * PFCMPGT mm, mm [3dnow!] +// * PFCMPGT m64, mm [3dnow!] +// +func (self *Program) PFCMPGT(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFCMPGT", 2, Operands { v0, v1 }) + // PFCMPGT mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0xa0) + }) + } + // PFCMPGT m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0xa0) + }) + } + if p.len == 0 { + panic("invalid operands for PFCMPGT") + } + return p +} + +// PFMAX performs "Packed Floating-Point Maximum". +// +// Mnemonic : PFMAX +// Supported forms : (2 forms) +// +// * PFMAX mm, mm [3dnow!] +// * PFMAX m64, mm [3dnow!] +// +func (self *Program) PFMAX(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFMAX", 2, Operands { v0, v1 }) + // PFMAX mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0xa4) + }) + } + // PFMAX m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0xa4) + }) + } + if p.len == 0 { + panic("invalid operands for PFMAX") + } + return p +} + +// PFMIN performs "Packed Floating-Point Minimum". +// +// Mnemonic : PFMIN +// Supported forms : (2 forms) +// +// * PFMIN mm, mm [3dnow!] +// * PFMIN m64, mm [3dnow!] +// +func (self *Program) PFMIN(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFMIN", 2, Operands { v0, v1 }) + // PFMIN mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0x94) + }) + } + // PFMIN m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0x94) + }) + } + if p.len == 0 { + panic("invalid operands for PFMIN") + } + return p +} + +// PFMUL performs "Packed Floating-Point Multiply". +// +// Mnemonic : PFMUL +// Supported forms : (2 forms) +// +// * PFMUL mm, mm [3dnow!] +// * PFMUL m64, mm [3dnow!] +// +func (self *Program) PFMUL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFMUL", 2, Operands { v0, v1 }) + // PFMUL mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0xb4) + }) + } + // PFMUL m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0xb4) + }) + } + if p.len == 0 { + panic("invalid operands for PFMUL") + } + return p +} + +// PFNACC performs "Packed Floating-Point Negative Accumulate". +// +// Mnemonic : PFNACC +// Supported forms : (2 forms) +// +// * PFNACC mm, mm [3dnow!+] +// * PFNACC m64, mm [3dnow!+] +// +func (self *Program) PFNACC(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFNACC", 2, Operands { v0, v1 }) + // PFNACC mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW_PLUS) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0x8a) + }) + } + // PFNACC m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW_PLUS) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0x8a) + }) + } + if p.len == 0 { + panic("invalid operands for PFNACC") + } + return p +} + +// PFPNACC performs "Packed Floating-Point Positive-Negative Accumulate". +// +// Mnemonic : PFPNACC +// Supported forms : (2 forms) +// +// * PFPNACC mm, mm [3dnow!+] +// * PFPNACC m64, mm [3dnow!+] +// +func (self *Program) PFPNACC(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFPNACC", 2, Operands { v0, v1 }) + // PFPNACC mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW_PLUS) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0x8e) + }) + } + // PFPNACC m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW_PLUS) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0x8e) + }) + } + if p.len == 0 { + panic("invalid operands for PFPNACC") + } + return p +} + +// PFRCP performs "Packed Floating-Point Reciprocal Approximation". +// +// Mnemonic : PFRCP +// Supported forms : (2 forms) +// +// * PFRCP mm, mm [3dnow!] +// * PFRCP m64, mm [3dnow!] +// +func (self *Program) PFRCP(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFRCP", 2, Operands { v0, v1 }) + // PFRCP mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0x96) + }) + } + // PFRCP m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0x96) + }) + } + if p.len == 0 { + panic("invalid operands for PFRCP") + } + return p +} + +// PFRCPIT1 performs "Packed Floating-Point Reciprocal Iteration 1". +// +// Mnemonic : PFRCPIT1 +// Supported forms : (2 forms) +// +// * PFRCPIT1 mm, mm [3dnow!] +// * PFRCPIT1 m64, mm [3dnow!] +// +func (self *Program) PFRCPIT1(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFRCPIT1", 2, Operands { v0, v1 }) + // PFRCPIT1 mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0xa6) + }) + } + // PFRCPIT1 m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0xa6) + }) + } + if p.len == 0 { + panic("invalid operands for PFRCPIT1") + } + return p +} + +// PFRCPIT2 performs "Packed Floating-Point Reciprocal Iteration 2". +// +// Mnemonic : PFRCPIT2 +// Supported forms : (2 forms) +// +// * PFRCPIT2 mm, mm [3dnow!] +// * PFRCPIT2 m64, mm [3dnow!] +// +func (self *Program) PFRCPIT2(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFRCPIT2", 2, Operands { v0, v1 }) + // PFRCPIT2 mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0xb6) + }) + } + // PFRCPIT2 m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0xb6) + }) + } + if p.len == 0 { + panic("invalid operands for PFRCPIT2") + } + return p +} + +// PFRSQIT1 performs "Packed Floating-Point Reciprocal Square Root Iteration 1". +// +// Mnemonic : PFRSQIT1 +// Supported forms : (2 forms) +// +// * PFRSQIT1 mm, mm [3dnow!] +// * PFRSQIT1 m64, mm [3dnow!] +// +func (self *Program) PFRSQIT1(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFRSQIT1", 2, Operands { v0, v1 }) + // PFRSQIT1 mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0xa7) + }) + } + // PFRSQIT1 m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0xa7) + }) + } + if p.len == 0 { + panic("invalid operands for PFRSQIT1") + } + return p +} + +// PFRSQRT performs "Packed Floating-Point Reciprocal Square Root Approximation". +// +// Mnemonic : PFRSQRT +// Supported forms : (2 forms) +// +// * PFRSQRT mm, mm [3dnow!] +// * PFRSQRT m64, mm [3dnow!] +// +func (self *Program) PFRSQRT(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFRSQRT", 2, Operands { v0, v1 }) + // PFRSQRT mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0x97) + }) + } + // PFRSQRT m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0x97) + }) + } + if p.len == 0 { + panic("invalid operands for PFRSQRT") + } + return p +} + +// PFSUB performs "Packed Floating-Point Subtract". +// +// Mnemonic : PFSUB +// Supported forms : (2 forms) +// +// * PFSUB mm, mm [3dnow!] +// * PFSUB m64, mm [3dnow!] +// +func (self *Program) PFSUB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFSUB", 2, Operands { v0, v1 }) + // PFSUB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0x9a) + }) + } + // PFSUB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0x9a) + }) + } + if p.len == 0 { + panic("invalid operands for PFSUB") + } + return p +} + +// PFSUBR performs "Packed Floating-Point Subtract Reverse". +// +// Mnemonic : PFSUBR +// Supported forms : (2 forms) +// +// * PFSUBR mm, mm [3dnow!] +// * PFSUBR m64, mm [3dnow!] +// +func (self *Program) PFSUBR(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PFSUBR", 2, Operands { v0, v1 }) + // PFSUBR mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0xaa) + }) + } + // PFSUBR m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0xaa) + }) + } + if p.len == 0 { + panic("invalid operands for PFSUBR") + } + return p +} + +// PHADDD performs "Packed Horizontal Add Doubleword Integer". +// +// Mnemonic : PHADDD +// Supported forms : (4 forms) +// +// * PHADDD mm, mm [SSSE3] +// * PHADDD m64, mm [SSSE3] +// * PHADDD xmm, xmm [SSSE3] +// * PHADDD m128, xmm [SSSE3] +// +func (self *Program) PHADDD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PHADDD", 2, Operands { v0, v1 }) + // PHADDD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x02) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHADDD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x02) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PHADDD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x02) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHADDD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x02) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PHADDD") + } + return p +} + +// PHADDSW performs "Packed Horizontal Add Signed Word Integers with Signed Saturation". +// +// Mnemonic : PHADDSW +// Supported forms : (4 forms) +// +// * PHADDSW mm, mm [SSSE3] +// * PHADDSW m64, mm [SSSE3] +// * PHADDSW xmm, xmm [SSSE3] +// * PHADDSW m128, xmm [SSSE3] +// +func (self *Program) PHADDSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PHADDSW", 2, Operands { v0, v1 }) + // PHADDSW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x03) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHADDSW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x03) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PHADDSW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x03) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHADDSW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x03) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PHADDSW") + } + return p +} + +// PHADDW performs "Packed Horizontal Add Word Integers". +// +// Mnemonic : PHADDW +// Supported forms : (4 forms) +// +// * PHADDW mm, mm [SSSE3] +// * PHADDW m64, mm [SSSE3] +// * PHADDW xmm, xmm [SSSE3] +// * PHADDW m128, xmm [SSSE3] +// +func (self *Program) PHADDW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PHADDW", 2, Operands { v0, v1 }) + // PHADDW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x01) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHADDW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x01) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PHADDW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x01) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHADDW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x01) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PHADDW") + } + return p +} + +// PHMINPOSUW performs "Packed Horizontal Minimum of Unsigned Word Integers". +// +// Mnemonic : PHMINPOSUW +// Supported forms : (2 forms) +// +// * PHMINPOSUW xmm, xmm [SSE4.1] +// * PHMINPOSUW m128, xmm [SSE4.1] +// +func (self *Program) PHMINPOSUW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PHMINPOSUW", 2, Operands { v0, v1 }) + // PHMINPOSUW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x41) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHMINPOSUW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x41) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PHMINPOSUW") + } + return p +} + +// PHSUBD performs "Packed Horizontal Subtract Doubleword Integers". +// +// Mnemonic : PHSUBD +// Supported forms : (4 forms) +// +// * PHSUBD mm, mm [SSSE3] +// * PHSUBD m64, mm [SSSE3] +// * PHSUBD xmm, xmm [SSSE3] +// * PHSUBD m128, xmm [SSSE3] +// +func (self *Program) PHSUBD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PHSUBD", 2, Operands { v0, v1 }) + // PHSUBD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x06) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHSUBD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x06) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PHSUBD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x06) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHSUBD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x06) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PHSUBD") + } + return p +} + +// PHSUBSW performs "Packed Horizontal Subtract Signed Word Integers with Signed Saturation". +// +// Mnemonic : PHSUBSW +// Supported forms : (4 forms) +// +// * PHSUBSW mm, mm [SSSE3] +// * PHSUBSW m64, mm [SSSE3] +// * PHSUBSW xmm, xmm [SSSE3] +// * PHSUBSW m128, xmm [SSSE3] +// +func (self *Program) PHSUBSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PHSUBSW", 2, Operands { v0, v1 }) + // PHSUBSW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x07) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHSUBSW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x07) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PHSUBSW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x07) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHSUBSW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x07) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PHSUBSW") + } + return p +} + +// PHSUBW performs "Packed Horizontal Subtract Word Integers". +// +// Mnemonic : PHSUBW +// Supported forms : (4 forms) +// +// * PHSUBW mm, mm [SSSE3] +// * PHSUBW m64, mm [SSSE3] +// * PHSUBW xmm, xmm [SSSE3] +// * PHSUBW m128, xmm [SSSE3] +// +func (self *Program) PHSUBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PHSUBW", 2, Operands { v0, v1 }) + // PHSUBW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x05) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHSUBW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x05) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PHSUBW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x05) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PHSUBW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x05) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PHSUBW") + } + return p +} + +// PI2FD performs "Packed Integer to Floating-Point Doubleword Conversion". +// +// Mnemonic : PI2FD +// Supported forms : (2 forms) +// +// * PI2FD mm, mm [3dnow!] +// * PI2FD m64, mm [3dnow!] +// +func (self *Program) PI2FD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PI2FD", 2, Operands { v0, v1 }) + // PI2FD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0x0d) + }) + } + // PI2FD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0x0d) + }) + } + if p.len == 0 { + panic("invalid operands for PI2FD") + } + return p +} + +// PI2FW performs "Packed Integer to Floating-Point Word Conversion". +// +// Mnemonic : PI2FW +// Supported forms : (2 forms) +// +// * PI2FW mm, mm [3dnow!+] +// * PI2FW m64, mm [3dnow!+] +// +func (self *Program) PI2FW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PI2FW", 2, Operands { v0, v1 }) + // PI2FW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW_PLUS) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0x0c) + }) + } + // PI2FW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW_PLUS) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0x0c) + }) + } + if p.len == 0 { + panic("invalid operands for PI2FW") + } + return p +} + +// PINSRB performs "Insert Byte". +// +// Mnemonic : PINSRB +// Supported forms : (2 forms) +// +// * PINSRB imm8, r32, xmm [SSE4.1] +// * PINSRB imm8, m8, xmm [SSE4.1] +// +func (self *Program) PINSRB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PINSRB", 3, Operands { v0, v1, v2 }) + // PINSRB imm8, r32, xmm + if isImm8(v0) && isReg32(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x20) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PINSRB imm8, m8, xmm + if isImm8(v0) && isM8(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x20) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PINSRB") + } + return p +} + +// PINSRD performs "Insert Doubleword". +// +// Mnemonic : PINSRD +// Supported forms : (2 forms) +// +// * PINSRD imm8, r32, xmm [SSE4.1] +// * PINSRD imm8, m32, xmm [SSE4.1] +// +func (self *Program) PINSRD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PINSRD", 3, Operands { v0, v1, v2 }) + // PINSRD imm8, r32, xmm + if isImm8(v0) && isReg32(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x22) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PINSRD imm8, m32, xmm + if isImm8(v0) && isM32(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x22) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PINSRD") + } + return p +} + +// PINSRQ performs "Insert Quadword". +// +// Mnemonic : PINSRQ +// Supported forms : (2 forms) +// +// * PINSRQ imm8, r64, xmm [SSE4.1] +// * PINSRQ imm8, m64, xmm [SSE4.1] +// +func (self *Program) PINSRQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PINSRQ", 3, Operands { v0, v1, v2 }) + // PINSRQ imm8, r64, xmm + if isImm8(v0) && isReg64(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x48 | hcode(v[2]) << 2 | hcode(v[1])) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x22) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PINSRQ imm8, m64, xmm + if isImm8(v0) && isM64(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexm(1, hcode(v[2]), addr(v[1])) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x22) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PINSRQ") + } + return p +} + +// PINSRW performs "Insert Word". +// +// Mnemonic : PINSRW +// Supported forms : (4 forms) +// +// * PINSRW imm8, r32, mm [MMX+] +// * PINSRW imm8, m16, mm [MMX+] +// * PINSRW imm8, r32, xmm [SSE2] +// * PINSRW imm8, m16, xmm [SSE2] +// +func (self *Program) PINSRW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PINSRW", 3, Operands { v0, v1, v2 }) + // PINSRW imm8, r32, mm + if isImm8(v0) && isReg32(v1) && isMM(v2) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0xc4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PINSRW imm8, m16, mm + if isImm8(v0) && isM16(v1) && isMM(v2) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xc4) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // PINSRW imm8, r32, xmm + if isImm8(v0) && isReg32(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0xc4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PINSRW imm8, m16, xmm + if isImm8(v0) && isM16(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xc4) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PINSRW") + } + return p +} + +// PMADDUBSW performs "Multiply and Add Packed Signed and Unsigned Byte Integers". +// +// Mnemonic : PMADDUBSW +// Supported forms : (4 forms) +// +// * PMADDUBSW mm, mm [SSSE3] +// * PMADDUBSW m64, mm [SSSE3] +// * PMADDUBSW xmm, xmm [SSSE3] +// * PMADDUBSW m128, xmm [SSSE3] +// +func (self *Program) PMADDUBSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMADDUBSW", 2, Operands { v0, v1 }) + // PMADDUBSW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x04) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMADDUBSW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x04) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PMADDUBSW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x04) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMADDUBSW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x04) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMADDUBSW") + } + return p +} + +// PMADDWD performs "Multiply and Add Packed Signed Word Integers". +// +// Mnemonic : PMADDWD +// Supported forms : (4 forms) +// +// * PMADDWD mm, mm [MMX] +// * PMADDWD m64, mm [MMX] +// * PMADDWD xmm, xmm [SSE2] +// * PMADDWD m128, xmm [SSE2] +// +func (self *Program) PMADDWD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMADDWD", 2, Operands { v0, v1 }) + // PMADDWD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMADDWD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf5) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PMADDWD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMADDWD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf5) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMADDWD") + } + return p +} + +// PMAXSB performs "Maximum of Packed Signed Byte Integers". +// +// Mnemonic : PMAXSB +// Supported forms : (2 forms) +// +// * PMAXSB xmm, xmm [SSE4.1] +// * PMAXSB m128, xmm [SSE4.1] +// +func (self *Program) PMAXSB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMAXSB", 2, Operands { v0, v1 }) + // PMAXSB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x3c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMAXSB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x3c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMAXSB") + } + return p +} + +// PMAXSD performs "Maximum of Packed Signed Doubleword Integers". +// +// Mnemonic : PMAXSD +// Supported forms : (2 forms) +// +// * PMAXSD xmm, xmm [SSE4.1] +// * PMAXSD m128, xmm [SSE4.1] +// +func (self *Program) PMAXSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMAXSD", 2, Operands { v0, v1 }) + // PMAXSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x3d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMAXSD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x3d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMAXSD") + } + return p +} + +// PMAXSW performs "Maximum of Packed Signed Word Integers". +// +// Mnemonic : PMAXSW +// Supported forms : (4 forms) +// +// * PMAXSW mm, mm [MMX+] +// * PMAXSW m64, mm [MMX+] +// * PMAXSW xmm, xmm [SSE2] +// * PMAXSW m128, xmm [SSE2] +// +func (self *Program) PMAXSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMAXSW", 2, Operands { v0, v1 }) + // PMAXSW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xee) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMAXSW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xee) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PMAXSW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xee) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMAXSW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xee) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMAXSW") + } + return p +} + +// PMAXUB performs "Maximum of Packed Unsigned Byte Integers". +// +// Mnemonic : PMAXUB +// Supported forms : (4 forms) +// +// * PMAXUB mm, mm [MMX+] +// * PMAXUB m64, mm [MMX+] +// * PMAXUB xmm, xmm [SSE2] +// * PMAXUB m128, xmm [SSE2] +// +func (self *Program) PMAXUB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMAXUB", 2, Operands { v0, v1 }) + // PMAXUB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xde) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMAXUB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xde) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PMAXUB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xde) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMAXUB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xde) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMAXUB") + } + return p +} + +// PMAXUD performs "Maximum of Packed Unsigned Doubleword Integers". +// +// Mnemonic : PMAXUD +// Supported forms : (2 forms) +// +// * PMAXUD xmm, xmm [SSE4.1] +// * PMAXUD m128, xmm [SSE4.1] +// +func (self *Program) PMAXUD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMAXUD", 2, Operands { v0, v1 }) + // PMAXUD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMAXUD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x3f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMAXUD") + } + return p +} + +// PMAXUW performs "Maximum of Packed Unsigned Word Integers". +// +// Mnemonic : PMAXUW +// Supported forms : (2 forms) +// +// * PMAXUW xmm, xmm [SSE4.1] +// * PMAXUW m128, xmm [SSE4.1] +// +func (self *Program) PMAXUW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMAXUW", 2, Operands { v0, v1 }) + // PMAXUW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x3e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMAXUW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x3e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMAXUW") + } + return p +} + +// PMINSB performs "Minimum of Packed Signed Byte Integers". +// +// Mnemonic : PMINSB +// Supported forms : (2 forms) +// +// * PMINSB xmm, xmm [SSE4.1] +// * PMINSB m128, xmm [SSE4.1] +// +func (self *Program) PMINSB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMINSB", 2, Operands { v0, v1 }) + // PMINSB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x38) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMINSB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x38) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMINSB") + } + return p +} + +// PMINSD performs "Minimum of Packed Signed Doubleword Integers". +// +// Mnemonic : PMINSD +// Supported forms : (2 forms) +// +// * PMINSD xmm, xmm [SSE4.1] +// * PMINSD m128, xmm [SSE4.1] +// +func (self *Program) PMINSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMINSD", 2, Operands { v0, v1 }) + // PMINSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x39) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMINSD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x39) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMINSD") + } + return p +} + +// PMINSW performs "Minimum of Packed Signed Word Integers". +// +// Mnemonic : PMINSW +// Supported forms : (4 forms) +// +// * PMINSW mm, mm [MMX+] +// * PMINSW m64, mm [MMX+] +// * PMINSW xmm, xmm [SSE2] +// * PMINSW m128, xmm [SSE2] +// +func (self *Program) PMINSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMINSW", 2, Operands { v0, v1 }) + // PMINSW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xea) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMINSW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xea) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PMINSW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xea) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMINSW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xea) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMINSW") + } + return p +} + +// PMINUB performs "Minimum of Packed Unsigned Byte Integers". +// +// Mnemonic : PMINUB +// Supported forms : (4 forms) +// +// * PMINUB mm, mm [MMX+] +// * PMINUB m64, mm [MMX+] +// * PMINUB xmm, xmm [SSE2] +// * PMINUB m128, xmm [SSE2] +// +func (self *Program) PMINUB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMINUB", 2, Operands { v0, v1 }) + // PMINUB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xda) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMINUB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xda) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PMINUB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xda) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMINUB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xda) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMINUB") + } + return p +} + +// PMINUD performs "Minimum of Packed Unsigned Doubleword Integers". +// +// Mnemonic : PMINUD +// Supported forms : (2 forms) +// +// * PMINUD xmm, xmm [SSE4.1] +// * PMINUD m128, xmm [SSE4.1] +// +func (self *Program) PMINUD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMINUD", 2, Operands { v0, v1 }) + // PMINUD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMINUD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x3b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMINUD") + } + return p +} + +// PMINUW performs "Minimum of Packed Unsigned Word Integers". +// +// Mnemonic : PMINUW +// Supported forms : (2 forms) +// +// * PMINUW xmm, xmm [SSE4.1] +// * PMINUW m128, xmm [SSE4.1] +// +func (self *Program) PMINUW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMINUW", 2, Operands { v0, v1 }) + // PMINUW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x3a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMINUW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x3a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMINUW") + } + return p +} + +// PMOVMSKB performs "Move Byte Mask". +// +// Mnemonic : PMOVMSKB +// Supported forms : (2 forms) +// +// * PMOVMSKB mm, r32 [MMX+] +// * PMOVMSKB xmm, r32 [SSE2] +// +func (self *Program) PMOVMSKB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVMSKB", 2, Operands { v0, v1 }) + // PMOVMSKB mm, r32 + if isMM(v0) && isReg32(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd7) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVMSKB xmm, r32 + if isXMM(v0) && isReg32(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd7) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVMSKB") + } + return p +} + +// PMOVSXBD performs "Move Packed Byte Integers to Doubleword Integers with Sign Extension". +// +// Mnemonic : PMOVSXBD +// Supported forms : (2 forms) +// +// * PMOVSXBD xmm, xmm [SSE4.1] +// * PMOVSXBD m32, xmm [SSE4.1] +// +func (self *Program) PMOVSXBD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVSXBD", 2, Operands { v0, v1 }) + // PMOVSXBD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x21) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVSXBD m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x21) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVSXBD") + } + return p +} + +// PMOVSXBQ performs "Move Packed Byte Integers to Quadword Integers with Sign Extension". +// +// Mnemonic : PMOVSXBQ +// Supported forms : (2 forms) +// +// * PMOVSXBQ xmm, xmm [SSE4.1] +// * PMOVSXBQ m16, xmm [SSE4.1] +// +func (self *Program) PMOVSXBQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVSXBQ", 2, Operands { v0, v1 }) + // PMOVSXBQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x22) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVSXBQ m16, xmm + if isM16(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x22) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVSXBQ") + } + return p +} + +// PMOVSXBW performs "Move Packed Byte Integers to Word Integers with Sign Extension". +// +// Mnemonic : PMOVSXBW +// Supported forms : (2 forms) +// +// * PMOVSXBW xmm, xmm [SSE4.1] +// * PMOVSXBW m64, xmm [SSE4.1] +// +func (self *Program) PMOVSXBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVSXBW", 2, Operands { v0, v1 }) + // PMOVSXBW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x20) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVSXBW m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x20) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVSXBW") + } + return p +} + +// PMOVSXDQ performs "Move Packed Doubleword Integers to Quadword Integers with Sign Extension". +// +// Mnemonic : PMOVSXDQ +// Supported forms : (2 forms) +// +// * PMOVSXDQ xmm, xmm [SSE4.1] +// * PMOVSXDQ m64, xmm [SSE4.1] +// +func (self *Program) PMOVSXDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVSXDQ", 2, Operands { v0, v1 }) + // PMOVSXDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x25) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVSXDQ m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x25) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVSXDQ") + } + return p +} + +// PMOVSXWD performs "Move Packed Word Integers to Doubleword Integers with Sign Extension". +// +// Mnemonic : PMOVSXWD +// Supported forms : (2 forms) +// +// * PMOVSXWD xmm, xmm [SSE4.1] +// * PMOVSXWD m64, xmm [SSE4.1] +// +func (self *Program) PMOVSXWD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVSXWD", 2, Operands { v0, v1 }) + // PMOVSXWD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x23) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVSXWD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x23) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVSXWD") + } + return p +} + +// PMOVSXWQ performs "Move Packed Word Integers to Quadword Integers with Sign Extension". +// +// Mnemonic : PMOVSXWQ +// Supported forms : (2 forms) +// +// * PMOVSXWQ xmm, xmm [SSE4.1] +// * PMOVSXWQ m32, xmm [SSE4.1] +// +func (self *Program) PMOVSXWQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVSXWQ", 2, Operands { v0, v1 }) + // PMOVSXWQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x24) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVSXWQ m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x24) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVSXWQ") + } + return p +} + +// PMOVZXBD performs "Move Packed Byte Integers to Doubleword Integers with Zero Extension". +// +// Mnemonic : PMOVZXBD +// Supported forms : (2 forms) +// +// * PMOVZXBD xmm, xmm [SSE4.1] +// * PMOVZXBD m32, xmm [SSE4.1] +// +func (self *Program) PMOVZXBD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVZXBD", 2, Operands { v0, v1 }) + // PMOVZXBD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x31) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVZXBD m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x31) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVZXBD") + } + return p +} + +// PMOVZXBQ performs "Move Packed Byte Integers to Quadword Integers with Zero Extension". +// +// Mnemonic : PMOVZXBQ +// Supported forms : (2 forms) +// +// * PMOVZXBQ xmm, xmm [SSE4.1] +// * PMOVZXBQ m16, xmm [SSE4.1] +// +func (self *Program) PMOVZXBQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVZXBQ", 2, Operands { v0, v1 }) + // PMOVZXBQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x32) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVZXBQ m16, xmm + if isM16(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x32) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVZXBQ") + } + return p +} + +// PMOVZXBW performs "Move Packed Byte Integers to Word Integers with Zero Extension". +// +// Mnemonic : PMOVZXBW +// Supported forms : (2 forms) +// +// * PMOVZXBW xmm, xmm [SSE4.1] +// * PMOVZXBW m64, xmm [SSE4.1] +// +func (self *Program) PMOVZXBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVZXBW", 2, Operands { v0, v1 }) + // PMOVZXBW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x30) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVZXBW m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x30) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVZXBW") + } + return p +} + +// PMOVZXDQ performs "Move Packed Doubleword Integers to Quadword Integers with Zero Extension". +// +// Mnemonic : PMOVZXDQ +// Supported forms : (2 forms) +// +// * PMOVZXDQ xmm, xmm [SSE4.1] +// * PMOVZXDQ m64, xmm [SSE4.1] +// +func (self *Program) PMOVZXDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVZXDQ", 2, Operands { v0, v1 }) + // PMOVZXDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x35) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVZXDQ m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x35) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVZXDQ") + } + return p +} + +// PMOVZXWD performs "Move Packed Word Integers to Doubleword Integers with Zero Extension". +// +// Mnemonic : PMOVZXWD +// Supported forms : (2 forms) +// +// * PMOVZXWD xmm, xmm [SSE4.1] +// * PMOVZXWD m64, xmm [SSE4.1] +// +func (self *Program) PMOVZXWD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVZXWD", 2, Operands { v0, v1 }) + // PMOVZXWD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x33) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVZXWD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x33) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVZXWD") + } + return p +} + +// PMOVZXWQ performs "Move Packed Word Integers to Quadword Integers with Zero Extension". +// +// Mnemonic : PMOVZXWQ +// Supported forms : (2 forms) +// +// * PMOVZXWQ xmm, xmm [SSE4.1] +// * PMOVZXWQ m32, xmm [SSE4.1] +// +func (self *Program) PMOVZXWQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMOVZXWQ", 2, Operands { v0, v1 }) + // PMOVZXWQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x34) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMOVZXWQ m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x34) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMOVZXWQ") + } + return p +} + +// PMULDQ performs "Multiply Packed Signed Doubleword Integers and Store Quadword Result". +// +// Mnemonic : PMULDQ +// Supported forms : (2 forms) +// +// * PMULDQ xmm, xmm [SSE4.1] +// * PMULDQ m128, xmm [SSE4.1] +// +func (self *Program) PMULDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMULDQ", 2, Operands { v0, v1 }) + // PMULDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMULDQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMULDQ") + } + return p +} + +// PMULHRSW performs "Packed Multiply Signed Word Integers and Store High Result with Round and Scale". +// +// Mnemonic : PMULHRSW +// Supported forms : (4 forms) +// +// * PMULHRSW mm, mm [SSSE3] +// * PMULHRSW m64, mm [SSSE3] +// * PMULHRSW xmm, xmm [SSSE3] +// * PMULHRSW m128, xmm [SSSE3] +// +func (self *Program) PMULHRSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMULHRSW", 2, Operands { v0, v1 }) + // PMULHRSW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMULHRSW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x0b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PMULHRSW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMULHRSW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x0b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMULHRSW") + } + return p +} + +// PMULHRW performs "Packed Multiply High Rounded Word". +// +// Mnemonic : PMULHRW +// Supported forms : (2 forms) +// +// * PMULHRW mm, mm [3dnow!] +// * PMULHRW m64, mm [3dnow!] +// +func (self *Program) PMULHRW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMULHRW", 2, Operands { v0, v1 }) + // PMULHRW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0xb7) + }) + } + // PMULHRW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0xb7) + }) + } + if p.len == 0 { + panic("invalid operands for PMULHRW") + } + return p +} + +// PMULHUW performs "Multiply Packed Unsigned Word Integers and Store High Result". +// +// Mnemonic : PMULHUW +// Supported forms : (4 forms) +// +// * PMULHUW mm, mm [MMX+] +// * PMULHUW m64, mm [MMX+] +// * PMULHUW xmm, xmm [SSE2] +// * PMULHUW m128, xmm [SSE2] +// +func (self *Program) PMULHUW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMULHUW", 2, Operands { v0, v1 }) + // PMULHUW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMULHUW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe4) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PMULHUW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMULHUW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe4) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMULHUW") + } + return p +} + +// PMULHW performs "Multiply Packed Signed Word Integers and Store High Result". +// +// Mnemonic : PMULHW +// Supported forms : (4 forms) +// +// * PMULHW mm, mm [MMX] +// * PMULHW m64, mm [MMX] +// * PMULHW xmm, xmm [SSE2] +// * PMULHW m128, xmm [SSE2] +// +func (self *Program) PMULHW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMULHW", 2, Operands { v0, v1 }) + // PMULHW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe5) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMULHW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe5) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PMULHW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe5) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMULHW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe5) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMULHW") + } + return p +} + +// PMULLD performs "Multiply Packed Signed Doubleword Integers and Store Low Result". +// +// Mnemonic : PMULLD +// Supported forms : (2 forms) +// +// * PMULLD xmm, xmm [SSE4.1] +// * PMULLD m128, xmm [SSE4.1] +// +func (self *Program) PMULLD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMULLD", 2, Operands { v0, v1 }) + // PMULLD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x40) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMULLD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x40) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMULLD") + } + return p +} + +// PMULLW performs "Multiply Packed Signed Word Integers and Store Low Result". +// +// Mnemonic : PMULLW +// Supported forms : (4 forms) +// +// * PMULLW mm, mm [MMX] +// * PMULLW m64, mm [MMX] +// * PMULLW xmm, xmm [SSE2] +// * PMULLW m128, xmm [SSE2] +// +func (self *Program) PMULLW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMULLW", 2, Operands { v0, v1 }) + // PMULLW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd5) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMULLW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd5) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PMULLW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd5) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMULLW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd5) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMULLW") + } + return p +} + +// PMULUDQ performs "Multiply Packed Unsigned Doubleword Integers". +// +// Mnemonic : PMULUDQ +// Supported forms : (4 forms) +// +// * PMULUDQ mm, mm [SSE2] +// * PMULUDQ m64, mm [SSE2] +// * PMULUDQ xmm, xmm [SSE2] +// * PMULUDQ m128, xmm [SSE2] +// +func (self *Program) PMULUDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PMULUDQ", 2, Operands { v0, v1 }) + // PMULUDQ mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMULUDQ m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf4) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PMULUDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PMULUDQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf4) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PMULUDQ") + } + return p +} + +// POPCNTL performs "Count of Number of Bits Set to 1". +// +// Mnemonic : POPCNT +// Supported forms : (2 forms) +// +// * POPCNTL r32, r32 [POPCNT] +// * POPCNTL m32, r32 [POPCNT] +// +func (self *Program) POPCNTL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("POPCNTL", 2, Operands { v0, v1 }) + // POPCNTL r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_POPCNT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // POPCNTL m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_POPCNT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xb8) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for POPCNTL") + } + return p +} + +// POPCNTQ performs "Count of Number of Bits Set to 1". +// +// Mnemonic : POPCNT +// Supported forms : (2 forms) +// +// * POPCNTQ r64, r64 [POPCNT] +// * POPCNTQ m64, r64 [POPCNT] +// +func (self *Program) POPCNTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("POPCNTQ", 2, Operands { v0, v1 }) + // POPCNTQ r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_POPCNT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // POPCNTQ m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_POPCNT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0xb8) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for POPCNTQ") + } + return p +} + +// POPCNTW performs "Count of Number of Bits Set to 1". +// +// Mnemonic : POPCNT +// Supported forms : (2 forms) +// +// * POPCNTW r16, r16 [POPCNT] +// * POPCNTW m16, r16 [POPCNT] +// +func (self *Program) POPCNTW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("POPCNTW", 2, Operands { v0, v1 }) + // POPCNTW r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_POPCNT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // POPCNTW m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_POPCNT) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xb8) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for POPCNTW") + } + return p +} + +// POPQ performs "Pop a Value from the Stack". +// +// Mnemonic : POP +// Supported forms : (2 forms) +// +// * POPQ r64 +// * POPQ m64 +// +func (self *Program) POPQ(v0 interface{}) *Instruction { + p := self.alloc("POPQ", 1, Operands { v0 }) + // POPQ r64 + if isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0x58 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0x8f) + m.emit(0xc0 | lcode(v[0])) + }) + } + // POPQ m64 + if isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x8f) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for POPQ") + } + return p +} + +// POPW performs "Pop a Value from the Stack". +// +// Mnemonic : POP +// Supported forms : (2 forms) +// +// * POPW r16 +// * POPW m16 +// +func (self *Program) POPW(v0 interface{}) *Instruction { + p := self.alloc("POPW", 1, Operands { v0 }) + // POPW r16 + if isReg16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0x58 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0x8f) + m.emit(0xc0 | lcode(v[0])) + }) + } + // POPW m16 + if isM16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[0]), false) + m.emit(0x8f) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for POPW") + } + return p +} + +// POR performs "Packed Bitwise Logical OR". +// +// Mnemonic : POR +// Supported forms : (4 forms) +// +// * POR mm, mm [MMX] +// * POR m64, mm [MMX] +// * POR xmm, xmm [SSE2] +// * POR m128, xmm [SSE2] +// +func (self *Program) POR(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("POR", 2, Operands { v0, v1 }) + // POR mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xeb) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // POR m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xeb) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // POR xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xeb) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // POR m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xeb) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for POR") + } + return p +} + +// PREFETCH performs "Prefetch Data into Caches". +// +// Mnemonic : PREFETCH +// Supported forms : (1 form) +// +// * PREFETCH m8 [PREFETCH] +// +func (self *Program) PREFETCH(v0 interface{}) *Instruction { + p := self.alloc("PREFETCH", 1, Operands { v0 }) + // PREFETCH m8 + if isM8(v0) { + self.require(ISA_PREFETCH) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0d) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PREFETCH") + } + return p +} + +// PREFETCHNTA performs "Prefetch Data Into Caches using NTA Hint". +// +// Mnemonic : PREFETCHNTA +// Supported forms : (1 form) +// +// * PREFETCHNTA m8 [MMX+] +// +func (self *Program) PREFETCHNTA(v0 interface{}) *Instruction { + p := self.alloc("PREFETCHNTA", 1, Operands { v0 }) + // PREFETCHNTA m8 + if isM8(v0) { + self.require(ISA_MMX_PLUS) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x18) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PREFETCHNTA") + } + return p +} + +// PREFETCHT0 performs "Prefetch Data Into Caches using T0 Hint". +// +// Mnemonic : PREFETCHT0 +// Supported forms : (1 form) +// +// * PREFETCHT0 m8 [MMX+] +// +func (self *Program) PREFETCHT0(v0 interface{}) *Instruction { + p := self.alloc("PREFETCHT0", 1, Operands { v0 }) + // PREFETCHT0 m8 + if isM8(v0) { + self.require(ISA_MMX_PLUS) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x18) + m.mrsd(1, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PREFETCHT0") + } + return p +} + +// PREFETCHT1 performs "Prefetch Data Into Caches using T1 Hint". +// +// Mnemonic : PREFETCHT1 +// Supported forms : (1 form) +// +// * PREFETCHT1 m8 [MMX+] +// +func (self *Program) PREFETCHT1(v0 interface{}) *Instruction { + p := self.alloc("PREFETCHT1", 1, Operands { v0 }) + // PREFETCHT1 m8 + if isM8(v0) { + self.require(ISA_MMX_PLUS) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x18) + m.mrsd(2, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PREFETCHT1") + } + return p +} + +// PREFETCHT2 performs "Prefetch Data Into Caches using T2 Hint". +// +// Mnemonic : PREFETCHT2 +// Supported forms : (1 form) +// +// * PREFETCHT2 m8 [MMX+] +// +func (self *Program) PREFETCHT2(v0 interface{}) *Instruction { + p := self.alloc("PREFETCHT2", 1, Operands { v0 }) + // PREFETCHT2 m8 + if isM8(v0) { + self.require(ISA_MMX_PLUS) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x18) + m.mrsd(3, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PREFETCHT2") + } + return p +} + +// PREFETCHW performs "Prefetch Data into Caches in Anticipation of a Write". +// +// Mnemonic : PREFETCHW +// Supported forms : (1 form) +// +// * PREFETCHW m8 [PREFETCHW] +// +func (self *Program) PREFETCHW(v0 interface{}) *Instruction { + p := self.alloc("PREFETCHW", 1, Operands { v0 }) + // PREFETCHW m8 + if isM8(v0) { + self.require(ISA_PREFETCHW) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0d) + m.mrsd(1, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PREFETCHW") + } + return p +} + +// PREFETCHWT1 performs "Prefetch Vector Data Into Caches with Intent to Write and T1 Hint". +// +// Mnemonic : PREFETCHWT1 +// Supported forms : (1 form) +// +// * PREFETCHWT1 m8 [PREFETCHWT1] +// +func (self *Program) PREFETCHWT1(v0 interface{}) *Instruction { + p := self.alloc("PREFETCHWT1", 1, Operands { v0 }) + // PREFETCHWT1 m8 + if isM8(v0) { + self.require(ISA_PREFETCHWT1) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0d) + m.mrsd(2, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PREFETCHWT1") + } + return p +} + +// PSADBW performs "Compute Sum of Absolute Differences". +// +// Mnemonic : PSADBW +// Supported forms : (4 forms) +// +// * PSADBW mm, mm [MMX+] +// * PSADBW m64, mm [MMX+] +// * PSADBW xmm, xmm [SSE2] +// * PSADBW m128, xmm [SSE2] +// +func (self *Program) PSADBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSADBW", 2, Operands { v0, v1 }) + // PSADBW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSADBW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSADBW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSADBW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSADBW") + } + return p +} + +// PSHUFB performs "Packed Shuffle Bytes". +// +// Mnemonic : PSHUFB +// Supported forms : (4 forms) +// +// * PSHUFB mm, mm [SSSE3] +// * PSHUFB m64, mm [SSSE3] +// * PSHUFB xmm, xmm [SSSE3] +// * PSHUFB m128, xmm [SSSE3] +// +func (self *Program) PSHUFB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSHUFB", 2, Operands { v0, v1 }) + // PSHUFB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x00) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSHUFB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x00) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSHUFB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x00) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSHUFB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x00) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSHUFB") + } + return p +} + +// PSHUFD performs "Shuffle Packed Doublewords". +// +// Mnemonic : PSHUFD +// Supported forms : (2 forms) +// +// * PSHUFD imm8, xmm, xmm [SSE2] +// * PSHUFD imm8, m128, xmm [SSE2] +// +func (self *Program) PSHUFD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PSHUFD", 3, Operands { v0, v1, v2 }) + // PSHUFD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSHUFD imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PSHUFD") + } + return p +} + +// PSHUFHW performs "Shuffle Packed High Words". +// +// Mnemonic : PSHUFHW +// Supported forms : (2 forms) +// +// * PSHUFHW imm8, xmm, xmm [SSE2] +// * PSHUFHW imm8, m128, xmm [SSE2] +// +func (self *Program) PSHUFHW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PSHUFHW", 3, Operands { v0, v1, v2 }) + // PSHUFHW imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSHUFHW imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PSHUFHW") + } + return p +} + +// PSHUFLW performs "Shuffle Packed Low Words". +// +// Mnemonic : PSHUFLW +// Supported forms : (2 forms) +// +// * PSHUFLW imm8, xmm, xmm [SSE2] +// * PSHUFLW imm8, m128, xmm [SSE2] +// +func (self *Program) PSHUFLW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PSHUFLW", 3, Operands { v0, v1, v2 }) + // PSHUFLW imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSHUFLW imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PSHUFLW") + } + return p +} + +// PSHUFW performs "Shuffle Packed Words". +// +// Mnemonic : PSHUFW +// Supported forms : (2 forms) +// +// * PSHUFW imm8, mm, mm [MMX+] +// * PSHUFW imm8, m64, mm [MMX+] +// +func (self *Program) PSHUFW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("PSHUFW", 3, Operands { v0, v1, v2 }) + // PSHUFW imm8, mm, mm + if isImm8(v0) && isMM(v1) && isMM(v2) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSHUFW imm8, m64, mm + if isImm8(v0) && isM64(v1) && isMM(v2) { + self.require(ISA_MMX_PLUS) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PSHUFW") + } + return p +} + +// PSIGNB performs "Packed Sign of Byte Integers". +// +// Mnemonic : PSIGNB +// Supported forms : (4 forms) +// +// * PSIGNB mm, mm [SSSE3] +// * PSIGNB m64, mm [SSSE3] +// * PSIGNB xmm, xmm [SSSE3] +// * PSIGNB m128, xmm [SSSE3] +// +func (self *Program) PSIGNB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSIGNB", 2, Operands { v0, v1 }) + // PSIGNB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x08) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSIGNB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x08) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSIGNB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x08) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSIGNB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x08) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSIGNB") + } + return p +} + +// PSIGND performs "Packed Sign of Doubleword Integers". +// +// Mnemonic : PSIGND +// Supported forms : (4 forms) +// +// * PSIGND mm, mm [SSSE3] +// * PSIGND m64, mm [SSSE3] +// * PSIGND xmm, xmm [SSSE3] +// * PSIGND m128, xmm [SSSE3] +// +func (self *Program) PSIGND(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSIGND", 2, Operands { v0, v1 }) + // PSIGND mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x0a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSIGND m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x0a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSIGND xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x0a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSIGND m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x0a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSIGND") + } + return p +} + +// PSIGNW performs "Packed Sign of Word Integers". +// +// Mnemonic : PSIGNW +// Supported forms : (4 forms) +// +// * PSIGNW mm, mm [SSSE3] +// * PSIGNW m64, mm [SSSE3] +// * PSIGNW xmm, xmm [SSSE3] +// * PSIGNW m128, xmm [SSSE3] +// +func (self *Program) PSIGNW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSIGNW", 2, Operands { v0, v1 }) + // PSIGNW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x09) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSIGNW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x09) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSIGNW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x09) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSIGNW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSSE3) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x09) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSIGNW") + } + return p +} + +// PSLLD performs "Shift Packed Doubleword Data Left Logical". +// +// Mnemonic : PSLLD +// Supported forms : (6 forms) +// +// * PSLLD imm8, mm [MMX] +// * PSLLD mm, mm [MMX] +// * PSLLD m64, mm [MMX] +// * PSLLD imm8, xmm [SSE2] +// * PSLLD xmm, xmm [SSE2] +// * PSLLD m128, xmm [SSE2] +// +func (self *Program) PSLLD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSLLD", 2, Operands { v0, v1 }) + // PSLLD imm8, mm + if isImm8(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x72) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSLLD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf2) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSLLD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf2) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSLLD imm8, xmm + if isImm8(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x72) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSLLD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf2) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSLLD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf2) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSLLD") + } + return p +} + +// PSLLDQ performs "Shift Packed Double Quadword Left Logical". +// +// Mnemonic : PSLLDQ +// Supported forms : (1 form) +// +// * PSLLDQ imm8, xmm [SSE2] +// +func (self *Program) PSLLDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSLLDQ", 2, Operands { v0, v1 }) + // PSLLDQ imm8, xmm + if isImm8(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x73) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PSLLDQ") + } + return p +} + +// PSLLQ performs "Shift Packed Quadword Data Left Logical". +// +// Mnemonic : PSLLQ +// Supported forms : (6 forms) +// +// * PSLLQ imm8, mm [MMX] +// * PSLLQ mm, mm [MMX] +// * PSLLQ m64, mm [MMX] +// * PSLLQ imm8, xmm [SSE2] +// * PSLLQ xmm, xmm [SSE2] +// * PSLLQ m128, xmm [SSE2] +// +func (self *Program) PSLLQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSLLQ", 2, Operands { v0, v1 }) + // PSLLQ imm8, mm + if isImm8(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x73) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSLLQ mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf3) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSLLQ m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf3) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSLLQ imm8, xmm + if isImm8(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x73) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSLLQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf3) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSLLQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf3) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSLLQ") + } + return p +} + +// PSLLW performs "Shift Packed Word Data Left Logical". +// +// Mnemonic : PSLLW +// Supported forms : (6 forms) +// +// * PSLLW imm8, mm [MMX] +// * PSLLW mm, mm [MMX] +// * PSLLW m64, mm [MMX] +// * PSLLW imm8, xmm [SSE2] +// * PSLLW xmm, xmm [SSE2] +// * PSLLW m128, xmm [SSE2] +// +func (self *Program) PSLLW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSLLW", 2, Operands { v0, v1 }) + // PSLLW imm8, mm + if isImm8(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x71) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSLLW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf1) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSLLW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf1) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSLLW imm8, xmm + if isImm8(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x71) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSLLW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf1) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSLLW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf1) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSLLW") + } + return p +} + +// PSRAD performs "Shift Packed Doubleword Data Right Arithmetic". +// +// Mnemonic : PSRAD +// Supported forms : (6 forms) +// +// * PSRAD imm8, mm [MMX] +// * PSRAD mm, mm [MMX] +// * PSRAD m64, mm [MMX] +// * PSRAD imm8, xmm [SSE2] +// * PSRAD xmm, xmm [SSE2] +// * PSRAD m128, xmm [SSE2] +// +func (self *Program) PSRAD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSRAD", 2, Operands { v0, v1 }) + // PSRAD imm8, mm + if isImm8(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x72) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSRAD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe2) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSRAD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe2) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSRAD imm8, xmm + if isImm8(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x72) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSRAD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe2) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSRAD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe2) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSRAD") + } + return p +} + +// PSRAW performs "Shift Packed Word Data Right Arithmetic". +// +// Mnemonic : PSRAW +// Supported forms : (6 forms) +// +// * PSRAW imm8, mm [MMX] +// * PSRAW mm, mm [MMX] +// * PSRAW m64, mm [MMX] +// * PSRAW imm8, xmm [SSE2] +// * PSRAW xmm, xmm [SSE2] +// * PSRAW m128, xmm [SSE2] +// +func (self *Program) PSRAW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSRAW", 2, Operands { v0, v1 }) + // PSRAW imm8, mm + if isImm8(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x71) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSRAW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe1) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSRAW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe1) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSRAW imm8, xmm + if isImm8(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x71) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSRAW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe1) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSRAW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe1) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSRAW") + } + return p +} + +// PSRLD performs "Shift Packed Doubleword Data Right Logical". +// +// Mnemonic : PSRLD +// Supported forms : (6 forms) +// +// * PSRLD imm8, mm [MMX] +// * PSRLD mm, mm [MMX] +// * PSRLD m64, mm [MMX] +// * PSRLD imm8, xmm [SSE2] +// * PSRLD xmm, xmm [SSE2] +// * PSRLD m128, xmm [SSE2] +// +func (self *Program) PSRLD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSRLD", 2, Operands { v0, v1 }) + // PSRLD imm8, mm + if isImm8(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x72) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSRLD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd2) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSRLD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd2) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSRLD imm8, xmm + if isImm8(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x72) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSRLD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd2) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSRLD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd2) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSRLD") + } + return p +} + +// PSRLDQ performs "Shift Packed Double Quadword Right Logical". +// +// Mnemonic : PSRLDQ +// Supported forms : (1 form) +// +// * PSRLDQ imm8, xmm [SSE2] +// +func (self *Program) PSRLDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSRLDQ", 2, Operands { v0, v1 }) + // PSRLDQ imm8, xmm + if isImm8(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x73) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for PSRLDQ") + } + return p +} + +// PSRLQ performs "Shift Packed Quadword Data Right Logical". +// +// Mnemonic : PSRLQ +// Supported forms : (6 forms) +// +// * PSRLQ imm8, mm [MMX] +// * PSRLQ mm, mm [MMX] +// * PSRLQ m64, mm [MMX] +// * PSRLQ imm8, xmm [SSE2] +// * PSRLQ xmm, xmm [SSE2] +// * PSRLQ m128, xmm [SSE2] +// +func (self *Program) PSRLQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSRLQ", 2, Operands { v0, v1 }) + // PSRLQ imm8, mm + if isImm8(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x73) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSRLQ mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd3) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSRLQ m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd3) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSRLQ imm8, xmm + if isImm8(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x73) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSRLQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd3) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSRLQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd3) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSRLQ") + } + return p +} + +// PSRLW performs "Shift Packed Word Data Right Logical". +// +// Mnemonic : PSRLW +// Supported forms : (6 forms) +// +// * PSRLW imm8, mm [MMX] +// * PSRLW mm, mm [MMX] +// * PSRLW m64, mm [MMX] +// * PSRLW imm8, xmm [SSE2] +// * PSRLW xmm, xmm [SSE2] +// * PSRLW m128, xmm [SSE2] +// +func (self *Program) PSRLW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSRLW", 2, Operands { v0, v1 }) + // PSRLW imm8, mm + if isImm8(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x71) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSRLW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd1) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSRLW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd1) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSRLW imm8, xmm + if isImm8(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x0f) + m.emit(0x71) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // PSRLW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd1) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSRLW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd1) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSRLW") + } + return p +} + +// PSUBB performs "Subtract Packed Byte Integers". +// +// Mnemonic : PSUBB +// Supported forms : (4 forms) +// +// * PSUBB mm, mm [MMX] +// * PSUBB m64, mm [MMX] +// * PSUBB xmm, xmm [SSE2] +// * PSUBB m128, xmm [SSE2] +// +func (self *Program) PSUBB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSUBB", 2, Operands { v0, v1 }) + // PSUBB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf8) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf8) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSUBB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf8) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf8) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSUBB") + } + return p +} + +// PSUBD performs "Subtract Packed Doubleword Integers". +// +// Mnemonic : PSUBD +// Supported forms : (4 forms) +// +// * PSUBD mm, mm [MMX] +// * PSUBD m64, mm [MMX] +// * PSUBD xmm, xmm [SSE2] +// * PSUBD m128, xmm [SSE2] +// +func (self *Program) PSUBD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSUBD", 2, Operands { v0, v1 }) + // PSUBD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xfa) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xfa) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSUBD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xfa) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xfa) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSUBD") + } + return p +} + +// PSUBQ performs "Subtract Packed Quadword Integers". +// +// Mnemonic : PSUBQ +// Supported forms : (4 forms) +// +// * PSUBQ mm, mm [SSE2] +// * PSUBQ m64, mm [SSE2] +// * PSUBQ xmm, xmm [SSE2] +// * PSUBQ m128, xmm [SSE2] +// +func (self *Program) PSUBQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSUBQ", 2, Operands { v0, v1 }) + // PSUBQ mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xfb) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBQ m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xfb) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSUBQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xfb) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xfb) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSUBQ") + } + return p +} + +// PSUBSB performs "Subtract Packed Signed Byte Integers with Signed Saturation". +// +// Mnemonic : PSUBSB +// Supported forms : (4 forms) +// +// * PSUBSB mm, mm [MMX] +// * PSUBSB m64, mm [MMX] +// * PSUBSB xmm, xmm [SSE2] +// * PSUBSB m128, xmm [SSE2] +// +func (self *Program) PSUBSB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSUBSB", 2, Operands { v0, v1 }) + // PSUBSB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe8) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBSB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe8) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSUBSB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe8) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBSB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe8) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSUBSB") + } + return p +} + +// PSUBSW performs "Subtract Packed Signed Word Integers with Signed Saturation". +// +// Mnemonic : PSUBSW +// Supported forms : (4 forms) +// +// * PSUBSW mm, mm [MMX] +// * PSUBSW m64, mm [MMX] +// * PSUBSW xmm, xmm [SSE2] +// * PSUBSW m128, xmm [SSE2] +// +func (self *Program) PSUBSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSUBSW", 2, Operands { v0, v1 }) + // PSUBSW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe9) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBSW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe9) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSUBSW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xe9) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBSW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xe9) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSUBSW") + } + return p +} + +// PSUBUSB performs "Subtract Packed Unsigned Byte Integers with Unsigned Saturation". +// +// Mnemonic : PSUBUSB +// Supported forms : (4 forms) +// +// * PSUBUSB mm, mm [MMX] +// * PSUBUSB m64, mm [MMX] +// * PSUBUSB xmm, xmm [SSE2] +// * PSUBUSB m128, xmm [SSE2] +// +func (self *Program) PSUBUSB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSUBUSB", 2, Operands { v0, v1 }) + // PSUBUSB mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd8) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBUSB m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd8) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSUBUSB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd8) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBUSB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd8) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSUBUSB") + } + return p +} + +// PSUBUSW performs "Subtract Packed Unsigned Word Integers with Unsigned Saturation". +// +// Mnemonic : PSUBUSW +// Supported forms : (4 forms) +// +// * PSUBUSW mm, mm [MMX] +// * PSUBUSW m64, mm [MMX] +// * PSUBUSW xmm, xmm [SSE2] +// * PSUBUSW m128, xmm [SSE2] +// +func (self *Program) PSUBUSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSUBUSW", 2, Operands { v0, v1 }) + // PSUBUSW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd9) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBUSW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd9) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSUBUSW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xd9) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBUSW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xd9) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSUBUSW") + } + return p +} + +// PSUBW performs "Subtract Packed Word Integers". +// +// Mnemonic : PSUBW +// Supported forms : (4 forms) +// +// * PSUBW mm, mm [MMX] +// * PSUBW m64, mm [MMX] +// * PSUBW xmm, xmm [SSE2] +// * PSUBW m128, xmm [SSE2] +// +func (self *Program) PSUBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSUBW", 2, Operands { v0, v1 }) + // PSUBW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf9) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf9) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PSUBW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xf9) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PSUBW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xf9) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PSUBW") + } + return p +} + +// PSWAPD performs "Packed Swap Doubleword". +// +// Mnemonic : PSWAPD +// Supported forms : (2 forms) +// +// * PSWAPD mm, mm [3dnow!+] +// * PSWAPD m64, mm [3dnow!+] +// +func (self *Program) PSWAPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PSWAPD", 2, Operands { v0, v1 }) + // PSWAPD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_3DNOW_PLUS) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + m.emit(0xbb) + }) + } + // PSWAPD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_3DNOW_PLUS) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + m.emit(0xbb) + }) + } + if p.len == 0 { + panic("invalid operands for PSWAPD") + } + return p +} + +// PTEST performs "Packed Logical Compare". +// +// Mnemonic : PTEST +// Supported forms : (2 forms) +// +// * PTEST xmm, xmm [SSE4.1] +// * PTEST m128, xmm [SSE4.1] +// +func (self *Program) PTEST(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PTEST", 2, Operands { v0, v1 }) + // PTEST xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x17) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PTEST m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0x17) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PTEST") + } + return p +} + +// PUNPCKHBW performs "Unpack and Interleave High-Order Bytes into Words". +// +// Mnemonic : PUNPCKHBW +// Supported forms : (4 forms) +// +// * PUNPCKHBW mm, mm [MMX] +// * PUNPCKHBW m64, mm [MMX] +// * PUNPCKHBW xmm, xmm [SSE2] +// * PUNPCKHBW m128, xmm [SSE2] +// +func (self *Program) PUNPCKHBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PUNPCKHBW", 2, Operands { v0, v1 }) + // PUNPCKHBW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x68) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKHBW m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x68) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PUNPCKHBW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x68) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKHBW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x68) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PUNPCKHBW") + } + return p +} + +// PUNPCKHDQ performs "Unpack and Interleave High-Order Doublewords into Quadwords". +// +// Mnemonic : PUNPCKHDQ +// Supported forms : (4 forms) +// +// * PUNPCKHDQ mm, mm [MMX] +// * PUNPCKHDQ m64, mm [MMX] +// * PUNPCKHDQ xmm, xmm [SSE2] +// * PUNPCKHDQ m128, xmm [SSE2] +// +func (self *Program) PUNPCKHDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PUNPCKHDQ", 2, Operands { v0, v1 }) + // PUNPCKHDQ mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x6a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKHDQ m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x6a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PUNPCKHDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x6a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKHDQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x6a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PUNPCKHDQ") + } + return p +} + +// PUNPCKHQDQ performs "Unpack and Interleave High-Order Quadwords into Double Quadwords". +// +// Mnemonic : PUNPCKHQDQ +// Supported forms : (2 forms) +// +// * PUNPCKHQDQ xmm, xmm [SSE2] +// * PUNPCKHQDQ m128, xmm [SSE2] +// +func (self *Program) PUNPCKHQDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PUNPCKHQDQ", 2, Operands { v0, v1 }) + // PUNPCKHQDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x6d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKHQDQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x6d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PUNPCKHQDQ") + } + return p +} + +// PUNPCKHWD performs "Unpack and Interleave High-Order Words into Doublewords". +// +// Mnemonic : PUNPCKHWD +// Supported forms : (4 forms) +// +// * PUNPCKHWD mm, mm [MMX] +// * PUNPCKHWD m64, mm [MMX] +// * PUNPCKHWD xmm, xmm [SSE2] +// * PUNPCKHWD m128, xmm [SSE2] +// +func (self *Program) PUNPCKHWD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PUNPCKHWD", 2, Operands { v0, v1 }) + // PUNPCKHWD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x69) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKHWD m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x69) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PUNPCKHWD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x69) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKHWD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x69) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PUNPCKHWD") + } + return p +} + +// PUNPCKLBW performs "Unpack and Interleave Low-Order Bytes into Words". +// +// Mnemonic : PUNPCKLBW +// Supported forms : (4 forms) +// +// * PUNPCKLBW mm, mm [MMX] +// * PUNPCKLBW m32, mm [MMX] +// * PUNPCKLBW xmm, xmm [SSE2] +// * PUNPCKLBW m128, xmm [SSE2] +// +func (self *Program) PUNPCKLBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PUNPCKLBW", 2, Operands { v0, v1 }) + // PUNPCKLBW mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x60) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKLBW m32, mm + if isM32(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x60) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PUNPCKLBW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x60) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKLBW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x60) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PUNPCKLBW") + } + return p +} + +// PUNPCKLDQ performs "Unpack and Interleave Low-Order Doublewords into Quadwords". +// +// Mnemonic : PUNPCKLDQ +// Supported forms : (4 forms) +// +// * PUNPCKLDQ mm, mm [MMX] +// * PUNPCKLDQ m32, mm [MMX] +// * PUNPCKLDQ xmm, xmm [SSE2] +// * PUNPCKLDQ m128, xmm [SSE2] +// +func (self *Program) PUNPCKLDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PUNPCKLDQ", 2, Operands { v0, v1 }) + // PUNPCKLDQ mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x62) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKLDQ m32, mm + if isM32(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x62) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PUNPCKLDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x62) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKLDQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x62) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PUNPCKLDQ") + } + return p +} + +// PUNPCKLQDQ performs "Unpack and Interleave Low-Order Quadwords into Double Quadwords". +// +// Mnemonic : PUNPCKLQDQ +// Supported forms : (2 forms) +// +// * PUNPCKLQDQ xmm, xmm [SSE2] +// * PUNPCKLQDQ m128, xmm [SSE2] +// +func (self *Program) PUNPCKLQDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PUNPCKLQDQ", 2, Operands { v0, v1 }) + // PUNPCKLQDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x6c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKLQDQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x6c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PUNPCKLQDQ") + } + return p +} + +// PUNPCKLWD performs "Unpack and Interleave Low-Order Words into Doublewords". +// +// Mnemonic : PUNPCKLWD +// Supported forms : (4 forms) +// +// * PUNPCKLWD mm, mm [MMX] +// * PUNPCKLWD m32, mm [MMX] +// * PUNPCKLWD xmm, xmm [SSE2] +// * PUNPCKLWD m128, xmm [SSE2] +// +func (self *Program) PUNPCKLWD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PUNPCKLWD", 2, Operands { v0, v1 }) + // PUNPCKLWD mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x61) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKLWD m32, mm + if isM32(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x61) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PUNPCKLWD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x61) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PUNPCKLWD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x61) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PUNPCKLWD") + } + return p +} + +// PUSHQ performs "Push Value Onto the Stack". +// +// Mnemonic : PUSH +// Supported forms : (4 forms) +// +// * PUSHQ imm8 +// * PUSHQ imm32 +// * PUSHQ r64 +// * PUSHQ m64 +// +func (self *Program) PUSHQ(v0 interface{}) *Instruction { + p := self.alloc("PUSHQ", 1, Operands { v0 }) + // PUSHQ imm8 + if isImm8Ext(v0, 8) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x6a) + m.imm1(toImmAny(v[0])) + }) + } + // PUSHQ imm32 + if isImm32Ext(v0, 8) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x68) + m.imm4(toImmAny(v[0])) + }) + } + // PUSHQ r64 + if isReg64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0x50 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0xff) + m.emit(0xf0 | lcode(v[0])) + }) + } + // PUSHQ m64 + if isM64(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0xff) + m.mrsd(6, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PUSHQ") + } + return p +} + +// PUSHW performs "Push Value Onto the Stack". +// +// Mnemonic : PUSH +// Supported forms : (2 forms) +// +// * PUSHW r16 +// * PUSHW m16 +// +func (self *Program) PUSHW(v0 interface{}) *Instruction { + p := self.alloc("PUSHW", 1, Operands { v0 }) + // PUSHW r16 + if isReg16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0x50 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0xff) + m.emit(0xf0 | lcode(v[0])) + }) + } + // PUSHW m16 + if isM16(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[0]), false) + m.emit(0xff) + m.mrsd(6, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PUSHW") + } + return p +} + +// PXOR performs "Packed Bitwise Logical Exclusive OR". +// +// Mnemonic : PXOR +// Supported forms : (4 forms) +// +// * PXOR mm, mm [MMX] +// * PXOR m64, mm [MMX] +// * PXOR xmm, xmm [SSE2] +// * PXOR m128, xmm [SSE2] +// +func (self *Program) PXOR(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("PXOR", 2, Operands { v0, v1 }) + // PXOR mm, mm + if isMM(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xef) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PXOR m64, mm + if isM64(v0) && isMM(v1) { + self.require(ISA_MMX) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xef) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // PXOR xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xef) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // PXOR m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xef) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for PXOR") + } + return p +} + +// RCLB performs "Rotate Left through Carry Flag". +// +// Mnemonic : RCL +// Supported forms : (6 forms) +// +// * RCLB 1, r8 +// * RCLB imm8, r8 +// * RCLB cl, r8 +// * RCLB 1, m8 +// * RCLB imm8, m8 +// * RCLB cl, m8 +// +func (self *Program) RCLB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RCLB", 2, Operands { v0, v1 }) + // RCLB 1, r8 + if isConst1(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd0) + m.emit(0xd0 | lcode(v[1])) + }) + } + // RCLB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xc0) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RCLB cl, r8 + if v0 == CL && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd2) + m.emit(0xd0 | lcode(v[1])) + }) + } + // RCLB 1, m8 + if isConst1(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd0) + m.mrsd(2, addr(v[1]), 1) + }) + } + // RCLB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc0) + m.mrsd(2, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // RCLB cl, m8 + if v0 == CL && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd2) + m.mrsd(2, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RCLB") + } + return p +} + +// RCLL performs "Rotate Left through Carry Flag". +// +// Mnemonic : RCL +// Supported forms : (6 forms) +// +// * RCLL 1, r32 +// * RCLL imm8, r32 +// * RCLL cl, r32 +// * RCLL 1, m32 +// * RCLL imm8, m32 +// * RCLL cl, m32 +// +func (self *Program) RCLL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RCLL", 2, Operands { v0, v1 }) + // RCLL 1, r32 + if isConst1(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xd0 | lcode(v[1])) + }) + } + // RCLL imm8, r32 + if isImm8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RCLL cl, r32 + if v0 == CL && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xd0 | lcode(v[1])) + }) + } + // RCLL 1, m32 + if isConst1(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(2, addr(v[1]), 1) + }) + } + // RCLL imm8, m32 + if isImm8(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(2, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // RCLL cl, m32 + if v0 == CL && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(2, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RCLL") + } + return p +} + +// RCLQ performs "Rotate Left through Carry Flag". +// +// Mnemonic : RCL +// Supported forms : (6 forms) +// +// * RCLQ 1, r64 +// * RCLQ imm8, r64 +// * RCLQ cl, r64 +// * RCLQ 1, m64 +// * RCLQ imm8, m64 +// * RCLQ cl, m64 +// +func (self *Program) RCLQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RCLQ", 2, Operands { v0, v1 }) + // RCLQ 1, r64 + if isConst1(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd1) + m.emit(0xd0 | lcode(v[1])) + }) + } + // RCLQ imm8, r64 + if isImm8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xc1) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RCLQ cl, r64 + if v0 == CL && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd3) + m.emit(0xd0 | lcode(v[1])) + }) + } + // RCLQ 1, m64 + if isConst1(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd1) + m.mrsd(2, addr(v[1]), 1) + }) + } + // RCLQ imm8, m64 + if isImm8(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xc1) + m.mrsd(2, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // RCLQ cl, m64 + if v0 == CL && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd3) + m.mrsd(2, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RCLQ") + } + return p +} + +// RCLW performs "Rotate Left through Carry Flag". +// +// Mnemonic : RCL +// Supported forms : (6 forms) +// +// * RCLW 1, r16 +// * RCLW imm8, r16 +// * RCLW cl, r16 +// * RCLW 1, m16 +// * RCLW imm8, m16 +// * RCLW cl, m16 +// +func (self *Program) RCLW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RCLW", 2, Operands { v0, v1 }) + // RCLW 1, r16 + if isConst1(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xd0 | lcode(v[1])) + }) + } + // RCLW imm8, r16 + if isImm8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RCLW cl, r16 + if v0 == CL && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xd0 | lcode(v[1])) + }) + } + // RCLW 1, m16 + if isConst1(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(2, addr(v[1]), 1) + }) + } + // RCLW imm8, m16 + if isImm8(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(2, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // RCLW cl, m16 + if v0 == CL && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(2, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RCLW") + } + return p +} + +// RCPPS performs "Compute Approximate Reciprocals of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : RCPPS +// Supported forms : (2 forms) +// +// * RCPPS xmm, xmm [SSE] +// * RCPPS m128, xmm [SSE] +// +func (self *Program) RCPPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RCPPS", 2, Operands { v0, v1 }) + // RCPPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x53) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // RCPPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x53) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RCPPS") + } + return p +} + +// RCPSS performs "Compute Approximate Reciprocal of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : RCPSS +// Supported forms : (2 forms) +// +// * RCPSS xmm, xmm [SSE] +// * RCPSS m32, xmm [SSE] +// +func (self *Program) RCPSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RCPSS", 2, Operands { v0, v1 }) + // RCPSS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x53) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // RCPSS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x53) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RCPSS") + } + return p +} + +// RCRB performs "Rotate Right through Carry Flag". +// +// Mnemonic : RCR +// Supported forms : (6 forms) +// +// * RCRB 1, r8 +// * RCRB imm8, r8 +// * RCRB cl, r8 +// * RCRB 1, m8 +// * RCRB imm8, m8 +// * RCRB cl, m8 +// +func (self *Program) RCRB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RCRB", 2, Operands { v0, v1 }) + // RCRB 1, r8 + if isConst1(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd0) + m.emit(0xd8 | lcode(v[1])) + }) + } + // RCRB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xc0) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RCRB cl, r8 + if v0 == CL && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd2) + m.emit(0xd8 | lcode(v[1])) + }) + } + // RCRB 1, m8 + if isConst1(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd0) + m.mrsd(3, addr(v[1]), 1) + }) + } + // RCRB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc0) + m.mrsd(3, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // RCRB cl, m8 + if v0 == CL && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd2) + m.mrsd(3, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RCRB") + } + return p +} + +// RCRL performs "Rotate Right through Carry Flag". +// +// Mnemonic : RCR +// Supported forms : (6 forms) +// +// * RCRL 1, r32 +// * RCRL imm8, r32 +// * RCRL cl, r32 +// * RCRL 1, m32 +// * RCRL imm8, m32 +// * RCRL cl, m32 +// +func (self *Program) RCRL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RCRL", 2, Operands { v0, v1 }) + // RCRL 1, r32 + if isConst1(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xd8 | lcode(v[1])) + }) + } + // RCRL imm8, r32 + if isImm8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RCRL cl, r32 + if v0 == CL && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xd8 | lcode(v[1])) + }) + } + // RCRL 1, m32 + if isConst1(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(3, addr(v[1]), 1) + }) + } + // RCRL imm8, m32 + if isImm8(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(3, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // RCRL cl, m32 + if v0 == CL && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(3, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RCRL") + } + return p +} + +// RCRQ performs "Rotate Right through Carry Flag". +// +// Mnemonic : RCR +// Supported forms : (6 forms) +// +// * RCRQ 1, r64 +// * RCRQ imm8, r64 +// * RCRQ cl, r64 +// * RCRQ 1, m64 +// * RCRQ imm8, m64 +// * RCRQ cl, m64 +// +func (self *Program) RCRQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RCRQ", 2, Operands { v0, v1 }) + // RCRQ 1, r64 + if isConst1(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd1) + m.emit(0xd8 | lcode(v[1])) + }) + } + // RCRQ imm8, r64 + if isImm8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xc1) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RCRQ cl, r64 + if v0 == CL && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd3) + m.emit(0xd8 | lcode(v[1])) + }) + } + // RCRQ 1, m64 + if isConst1(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd1) + m.mrsd(3, addr(v[1]), 1) + }) + } + // RCRQ imm8, m64 + if isImm8(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xc1) + m.mrsd(3, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // RCRQ cl, m64 + if v0 == CL && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd3) + m.mrsd(3, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RCRQ") + } + return p +} + +// RCRW performs "Rotate Right through Carry Flag". +// +// Mnemonic : RCR +// Supported forms : (6 forms) +// +// * RCRW 1, r16 +// * RCRW imm8, r16 +// * RCRW cl, r16 +// * RCRW 1, m16 +// * RCRW imm8, m16 +// * RCRW cl, m16 +// +func (self *Program) RCRW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RCRW", 2, Operands { v0, v1 }) + // RCRW 1, r16 + if isConst1(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xd8 | lcode(v[1])) + }) + } + // RCRW imm8, r16 + if isImm8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RCRW cl, r16 + if v0 == CL && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xd8 | lcode(v[1])) + }) + } + // RCRW 1, m16 + if isConst1(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(3, addr(v[1]), 1) + }) + } + // RCRW imm8, m16 + if isImm8(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(3, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // RCRW cl, m16 + if v0 == CL && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(3, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RCRW") + } + return p +} + +// RDRAND performs "Read Random Number". +// +// Mnemonic : RDRAND +// Supported forms : (3 forms) +// +// * RDRAND r16 [RDRAND] +// * RDRAND r32 [RDRAND] +// * RDRAND r64 [RDRAND] +// +func (self *Program) RDRAND(v0 interface{}) *Instruction { + p := self.alloc("RDRAND", 1, Operands { v0 }) + // RDRAND r16 + if isReg16(v0) { + self.require(ISA_RDRAND) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0x0f) + m.emit(0xc7) + m.emit(0xf0 | lcode(v[0])) + }) + } + // RDRAND r32 + if isReg32(v0) { + self.require(ISA_RDRAND) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0x0f) + m.emit(0xc7) + m.emit(0xf0 | lcode(v[0])) + }) + } + // RDRAND r64 + if isReg64(v0) { + self.require(ISA_RDRAND) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xc7) + m.emit(0xf0 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for RDRAND") + } + return p +} + +// RDSEED performs "Read Random SEED". +// +// Mnemonic : RDSEED +// Supported forms : (3 forms) +// +// * RDSEED r16 [RDSEED] +// * RDSEED r32 [RDSEED] +// * RDSEED r64 [RDSEED] +// +func (self *Program) RDSEED(v0 interface{}) *Instruction { + p := self.alloc("RDSEED", 1, Operands { v0 }) + // RDSEED r16 + if isReg16(v0) { + self.require(ISA_RDSEED) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0x0f) + m.emit(0xc7) + m.emit(0xf8 | lcode(v[0])) + }) + } + // RDSEED r32 + if isReg32(v0) { + self.require(ISA_RDSEED) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0x0f) + m.emit(0xc7) + m.emit(0xf8 | lcode(v[0])) + }) + } + // RDSEED r64 + if isReg64(v0) { + self.require(ISA_RDSEED) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xc7) + m.emit(0xf8 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for RDSEED") + } + return p +} + +// RDTSC performs "Read Time-Stamp Counter". +// +// Mnemonic : RDTSC +// Supported forms : (1 form) +// +// * RDTSC [RDTSC] +// +func (self *Program) RDTSC() *Instruction { + p := self.alloc("RDTSC", 0, Operands { }) + // RDTSC + self.require(ISA_RDTSC) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x31) + }) + return p +} + +// RDTSCP performs "Read Time-Stamp Counter and Processor ID". +// +// Mnemonic : RDTSCP +// Supported forms : (1 form) +// +// * RDTSCP [RDTSCP] +// +func (self *Program) RDTSCP() *Instruction { + p := self.alloc("RDTSCP", 0, Operands { }) + // RDTSCP + self.require(ISA_RDTSCP) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x01) + m.emit(0xf9) + }) + return p +} + +// RET performs "Return from Procedure". +// +// Mnemonic : RET +// Supported forms : (2 forms) +// +// * RET +// * RET imm16 +// +func (self *Program) RET(vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("RET", 0, Operands { }) + case 1 : p = self.alloc("RET", 1, Operands { vv[0] }) + default : panic("instruction RET takes 0 or 1 operands") + } + // RET + if len(vv) == 0 { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc3) + }) + } + // RET imm16 + if len(vv) == 1 && isImm16(vv[0]) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc2) + m.imm2(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for RET") + } + return p +} + +// ROLB performs "Rotate Left". +// +// Mnemonic : ROL +// Supported forms : (6 forms) +// +// * ROLB 1, r8 +// * ROLB imm8, r8 +// * ROLB cl, r8 +// * ROLB 1, m8 +// * ROLB imm8, m8 +// * ROLB cl, m8 +// +func (self *Program) ROLB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ROLB", 2, Operands { v0, v1 }) + // ROLB 1, r8 + if isConst1(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd0) + m.emit(0xc0 | lcode(v[1])) + }) + } + // ROLB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xc0) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ROLB cl, r8 + if v0 == CL && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd2) + m.emit(0xc0 | lcode(v[1])) + }) + } + // ROLB 1, m8 + if isConst1(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd0) + m.mrsd(0, addr(v[1]), 1) + }) + } + // ROLB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc0) + m.mrsd(0, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ROLB cl, m8 + if v0 == CL && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd2) + m.mrsd(0, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ROLB") + } + return p +} + +// ROLL performs "Rotate Left". +// +// Mnemonic : ROL +// Supported forms : (6 forms) +// +// * ROLL 1, r32 +// * ROLL imm8, r32 +// * ROLL cl, r32 +// * ROLL 1, m32 +// * ROLL imm8, m32 +// * ROLL cl, m32 +// +func (self *Program) ROLL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ROLL", 2, Operands { v0, v1 }) + // ROLL 1, r32 + if isConst1(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xc0 | lcode(v[1])) + }) + } + // ROLL imm8, r32 + if isImm8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ROLL cl, r32 + if v0 == CL && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xc0 | lcode(v[1])) + }) + } + // ROLL 1, m32 + if isConst1(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(0, addr(v[1]), 1) + }) + } + // ROLL imm8, m32 + if isImm8(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(0, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ROLL cl, m32 + if v0 == CL && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(0, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ROLL") + } + return p +} + +// ROLQ performs "Rotate Left". +// +// Mnemonic : ROL +// Supported forms : (6 forms) +// +// * ROLQ 1, r64 +// * ROLQ imm8, r64 +// * ROLQ cl, r64 +// * ROLQ 1, m64 +// * ROLQ imm8, m64 +// * ROLQ cl, m64 +// +func (self *Program) ROLQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ROLQ", 2, Operands { v0, v1 }) + // ROLQ 1, r64 + if isConst1(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd1) + m.emit(0xc0 | lcode(v[1])) + }) + } + // ROLQ imm8, r64 + if isImm8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xc1) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ROLQ cl, r64 + if v0 == CL && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd3) + m.emit(0xc0 | lcode(v[1])) + }) + } + // ROLQ 1, m64 + if isConst1(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd1) + m.mrsd(0, addr(v[1]), 1) + }) + } + // ROLQ imm8, m64 + if isImm8(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xc1) + m.mrsd(0, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ROLQ cl, m64 + if v0 == CL && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd3) + m.mrsd(0, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ROLQ") + } + return p +} + +// ROLW performs "Rotate Left". +// +// Mnemonic : ROL +// Supported forms : (6 forms) +// +// * ROLW 1, r16 +// * ROLW imm8, r16 +// * ROLW cl, r16 +// * ROLW 1, m16 +// * ROLW imm8, m16 +// * ROLW cl, m16 +// +func (self *Program) ROLW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("ROLW", 2, Operands { v0, v1 }) + // ROLW 1, r16 + if isConst1(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xc0 | lcode(v[1])) + }) + } + // ROLW imm8, r16 + if isImm8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ROLW cl, r16 + if v0 == CL && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xc0 | lcode(v[1])) + }) + } + // ROLW 1, m16 + if isConst1(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(0, addr(v[1]), 1) + }) + } + // ROLW imm8, m16 + if isImm8(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(0, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // ROLW cl, m16 + if v0 == CL && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(0, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for ROLW") + } + return p +} + +// RORB performs "Rotate Right". +// +// Mnemonic : ROR +// Supported forms : (6 forms) +// +// * RORB 1, r8 +// * RORB imm8, r8 +// * RORB cl, r8 +// * RORB 1, m8 +// * RORB imm8, m8 +// * RORB cl, m8 +// +func (self *Program) RORB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RORB", 2, Operands { v0, v1 }) + // RORB 1, r8 + if isConst1(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd0) + m.emit(0xc8 | lcode(v[1])) + }) + } + // RORB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xc0) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RORB cl, r8 + if v0 == CL && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd2) + m.emit(0xc8 | lcode(v[1])) + }) + } + // RORB 1, m8 + if isConst1(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd0) + m.mrsd(1, addr(v[1]), 1) + }) + } + // RORB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc0) + m.mrsd(1, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // RORB cl, m8 + if v0 == CL && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd2) + m.mrsd(1, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RORB") + } + return p +} + +// RORL performs "Rotate Right". +// +// Mnemonic : ROR +// Supported forms : (6 forms) +// +// * RORL 1, r32 +// * RORL imm8, r32 +// * RORL cl, r32 +// * RORL 1, m32 +// * RORL imm8, m32 +// * RORL cl, m32 +// +func (self *Program) RORL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RORL", 2, Operands { v0, v1 }) + // RORL 1, r32 + if isConst1(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xc8 | lcode(v[1])) + }) + } + // RORL imm8, r32 + if isImm8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RORL cl, r32 + if v0 == CL && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xc8 | lcode(v[1])) + }) + } + // RORL 1, m32 + if isConst1(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(1, addr(v[1]), 1) + }) + } + // RORL imm8, m32 + if isImm8(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(1, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // RORL cl, m32 + if v0 == CL && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(1, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RORL") + } + return p +} + +// RORQ performs "Rotate Right". +// +// Mnemonic : ROR +// Supported forms : (6 forms) +// +// * RORQ 1, r64 +// * RORQ imm8, r64 +// * RORQ cl, r64 +// * RORQ 1, m64 +// * RORQ imm8, m64 +// * RORQ cl, m64 +// +func (self *Program) RORQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RORQ", 2, Operands { v0, v1 }) + // RORQ 1, r64 + if isConst1(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd1) + m.emit(0xc8 | lcode(v[1])) + }) + } + // RORQ imm8, r64 + if isImm8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xc1) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RORQ cl, r64 + if v0 == CL && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd3) + m.emit(0xc8 | lcode(v[1])) + }) + } + // RORQ 1, m64 + if isConst1(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd1) + m.mrsd(1, addr(v[1]), 1) + }) + } + // RORQ imm8, m64 + if isImm8(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xc1) + m.mrsd(1, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // RORQ cl, m64 + if v0 == CL && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd3) + m.mrsd(1, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RORQ") + } + return p +} + +// RORW performs "Rotate Right". +// +// Mnemonic : ROR +// Supported forms : (6 forms) +// +// * RORW 1, r16 +// * RORW imm8, r16 +// * RORW cl, r16 +// * RORW 1, m16 +// * RORW imm8, m16 +// * RORW cl, m16 +// +func (self *Program) RORW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RORW", 2, Operands { v0, v1 }) + // RORW 1, r16 + if isConst1(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xc8 | lcode(v[1])) + }) + } + // RORW imm8, r16 + if isImm8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RORW cl, r16 + if v0 == CL && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xc8 | lcode(v[1])) + }) + } + // RORW 1, m16 + if isConst1(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(1, addr(v[1]), 1) + }) + } + // RORW imm8, m16 + if isImm8(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(1, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // RORW cl, m16 + if v0 == CL && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(1, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RORW") + } + return p +} + +// RORXL performs "Rotate Right Logical Without Affecting Flags". +// +// Mnemonic : RORX +// Supported forms : (2 forms) +// +// * RORXL imm8, r32, r32 [BMI2] +// * RORXL imm8, m32, r32 [BMI2] +// +func (self *Program) RORXL(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("RORXL", 3, Operands { v0, v1, v2 }) + // RORXL imm8, r32, r32 + if isImm8(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7b) + m.emit(0xf0) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RORXL imm8, m32, r32 + if isImm8(v0) && isM32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x03, hcode(v[2]), addr(v[1]), 0) + m.emit(0xf0) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for RORXL") + } + return p +} + +// RORXQ performs "Rotate Right Logical Without Affecting Flags". +// +// Mnemonic : RORX +// Supported forms : (2 forms) +// +// * RORXQ imm8, r64, r64 [BMI2] +// * RORXQ imm8, m64, r64 [BMI2] +// +func (self *Program) RORXQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("RORXQ", 3, Operands { v0, v1, v2 }) + // RORXQ imm8, r64, r64 + if isImm8(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xfb) + m.emit(0xf0) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // RORXQ imm8, m64, r64 + if isImm8(v0) && isM64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x83, hcode(v[2]), addr(v[1]), 0) + m.emit(0xf0) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for RORXQ") + } + return p +} + +// ROUNDPD performs "Round Packed Double Precision Floating-Point Values". +// +// Mnemonic : ROUNDPD +// Supported forms : (2 forms) +// +// * ROUNDPD imm8, xmm, xmm [SSE4.1] +// * ROUNDPD imm8, m128, xmm [SSE4.1] +// +func (self *Program) ROUNDPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("ROUNDPD", 3, Operands { v0, v1, v2 }) + // ROUNDPD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x09) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ROUNDPD imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x09) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for ROUNDPD") + } + return p +} + +// ROUNDPS performs "Round Packed Single Precision Floating-Point Values". +// +// Mnemonic : ROUNDPS +// Supported forms : (2 forms) +// +// * ROUNDPS imm8, xmm, xmm [SSE4.1] +// * ROUNDPS imm8, m128, xmm [SSE4.1] +// +func (self *Program) ROUNDPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("ROUNDPS", 3, Operands { v0, v1, v2 }) + // ROUNDPS imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x08) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ROUNDPS imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x08) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for ROUNDPS") + } + return p +} + +// ROUNDSD performs "Round Scalar Double Precision Floating-Point Values". +// +// Mnemonic : ROUNDSD +// Supported forms : (2 forms) +// +// * ROUNDSD imm8, xmm, xmm [SSE4.1] +// * ROUNDSD imm8, m64, xmm [SSE4.1] +// +func (self *Program) ROUNDSD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("ROUNDSD", 3, Operands { v0, v1, v2 }) + // ROUNDSD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ROUNDSD imm8, m64, xmm + if isImm8(v0) && isM64(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0b) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for ROUNDSD") + } + return p +} + +// ROUNDSS performs "Round Scalar Single Precision Floating-Point Values". +// +// Mnemonic : ROUNDSS +// Supported forms : (2 forms) +// +// * ROUNDSS imm8, xmm, xmm [SSE4.1] +// * ROUNDSS imm8, m32, xmm [SSE4.1] +// +func (self *Program) ROUNDSS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("ROUNDSS", 3, Operands { v0, v1, v2 }) + // ROUNDSS imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // ROUNDSS imm8, m32, xmm + if isImm8(v0) && isM32(v1) && isXMM(v2) { + self.require(ISA_SSE4_1) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0x0a) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for ROUNDSS") + } + return p +} + +// RSQRTPS performs "Compute Reciprocals of Square Roots of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : RSQRTPS +// Supported forms : (2 forms) +// +// * RSQRTPS xmm, xmm [SSE] +// * RSQRTPS m128, xmm [SSE] +// +func (self *Program) RSQRTPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RSQRTPS", 2, Operands { v0, v1 }) + // RSQRTPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x52) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // RSQRTPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x52) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RSQRTPS") + } + return p +} + +// RSQRTSS performs "Compute Reciprocal of Square Root of Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : RSQRTSS +// Supported forms : (2 forms) +// +// * RSQRTSS xmm, xmm [SSE] +// * RSQRTSS m32, xmm [SSE] +// +func (self *Program) RSQRTSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("RSQRTSS", 2, Operands { v0, v1 }) + // RSQRTSS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x52) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // RSQRTSS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x52) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for RSQRTSS") + } + return p +} + +// SALB performs "Arithmetic Shift Left". +// +// Mnemonic : SAL +// Supported forms : (6 forms) +// +// * SALB 1, r8 +// * SALB imm8, r8 +// * SALB cl, r8 +// * SALB 1, m8 +// * SALB imm8, m8 +// * SALB cl, m8 +// +func (self *Program) SALB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SALB", 2, Operands { v0, v1 }) + // SALB 1, r8 + if isConst1(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd0) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SALB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xc0) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SALB cl, r8 + if v0 == CL && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd2) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SALB 1, m8 + if isConst1(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd0) + m.mrsd(4, addr(v[1]), 1) + }) + } + // SALB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc0) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SALB cl, m8 + if v0 == CL && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd2) + m.mrsd(4, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SALB") + } + return p +} + +// SALL performs "Arithmetic Shift Left". +// +// Mnemonic : SAL +// Supported forms : (6 forms) +// +// * SALL 1, r32 +// * SALL imm8, r32 +// * SALL cl, r32 +// * SALL 1, m32 +// * SALL imm8, m32 +// * SALL cl, m32 +// +func (self *Program) SALL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SALL", 2, Operands { v0, v1 }) + // SALL 1, r32 + if isConst1(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SALL imm8, r32 + if isImm8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SALL cl, r32 + if v0 == CL && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SALL 1, m32 + if isConst1(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(4, addr(v[1]), 1) + }) + } + // SALL imm8, m32 + if isImm8(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SALL cl, m32 + if v0 == CL && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(4, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SALL") + } + return p +} + +// SALQ performs "Arithmetic Shift Left". +// +// Mnemonic : SAL +// Supported forms : (6 forms) +// +// * SALQ 1, r64 +// * SALQ imm8, r64 +// * SALQ cl, r64 +// * SALQ 1, m64 +// * SALQ imm8, m64 +// * SALQ cl, m64 +// +func (self *Program) SALQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SALQ", 2, Operands { v0, v1 }) + // SALQ 1, r64 + if isConst1(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd1) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SALQ imm8, r64 + if isImm8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xc1) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SALQ cl, r64 + if v0 == CL && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd3) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SALQ 1, m64 + if isConst1(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd1) + m.mrsd(4, addr(v[1]), 1) + }) + } + // SALQ imm8, m64 + if isImm8(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xc1) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SALQ cl, m64 + if v0 == CL && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd3) + m.mrsd(4, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SALQ") + } + return p +} + +// SALW performs "Arithmetic Shift Left". +// +// Mnemonic : SAL +// Supported forms : (6 forms) +// +// * SALW 1, r16 +// * SALW imm8, r16 +// * SALW cl, r16 +// * SALW 1, m16 +// * SALW imm8, m16 +// * SALW cl, m16 +// +func (self *Program) SALW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SALW", 2, Operands { v0, v1 }) + // SALW 1, r16 + if isConst1(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SALW imm8, r16 + if isImm8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SALW cl, r16 + if v0 == CL && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SALW 1, m16 + if isConst1(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(4, addr(v[1]), 1) + }) + } + // SALW imm8, m16 + if isImm8(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SALW cl, m16 + if v0 == CL && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(4, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SALW") + } + return p +} + +// SARB performs "Arithmetic Shift Right". +// +// Mnemonic : SAR +// Supported forms : (6 forms) +// +// * SARB 1, r8 +// * SARB imm8, r8 +// * SARB cl, r8 +// * SARB 1, m8 +// * SARB imm8, m8 +// * SARB cl, m8 +// +func (self *Program) SARB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SARB", 2, Operands { v0, v1 }) + // SARB 1, r8 + if isConst1(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd0) + m.emit(0xf8 | lcode(v[1])) + }) + } + // SARB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xc0) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SARB cl, r8 + if v0 == CL && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd2) + m.emit(0xf8 | lcode(v[1])) + }) + } + // SARB 1, m8 + if isConst1(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd0) + m.mrsd(7, addr(v[1]), 1) + }) + } + // SARB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc0) + m.mrsd(7, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SARB cl, m8 + if v0 == CL && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd2) + m.mrsd(7, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SARB") + } + return p +} + +// SARL performs "Arithmetic Shift Right". +// +// Mnemonic : SAR +// Supported forms : (6 forms) +// +// * SARL 1, r32 +// * SARL imm8, r32 +// * SARL cl, r32 +// * SARL 1, m32 +// * SARL imm8, m32 +// * SARL cl, m32 +// +func (self *Program) SARL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SARL", 2, Operands { v0, v1 }) + // SARL 1, r32 + if isConst1(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xf8 | lcode(v[1])) + }) + } + // SARL imm8, r32 + if isImm8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SARL cl, r32 + if v0 == CL && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xf8 | lcode(v[1])) + }) + } + // SARL 1, m32 + if isConst1(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(7, addr(v[1]), 1) + }) + } + // SARL imm8, m32 + if isImm8(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(7, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SARL cl, m32 + if v0 == CL && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(7, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SARL") + } + return p +} + +// SARQ performs "Arithmetic Shift Right". +// +// Mnemonic : SAR +// Supported forms : (6 forms) +// +// * SARQ 1, r64 +// * SARQ imm8, r64 +// * SARQ cl, r64 +// * SARQ 1, m64 +// * SARQ imm8, m64 +// * SARQ cl, m64 +// +func (self *Program) SARQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SARQ", 2, Operands { v0, v1 }) + // SARQ 1, r64 + if isConst1(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd1) + m.emit(0xf8 | lcode(v[1])) + }) + } + // SARQ imm8, r64 + if isImm8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xc1) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SARQ cl, r64 + if v0 == CL && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd3) + m.emit(0xf8 | lcode(v[1])) + }) + } + // SARQ 1, m64 + if isConst1(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd1) + m.mrsd(7, addr(v[1]), 1) + }) + } + // SARQ imm8, m64 + if isImm8(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xc1) + m.mrsd(7, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SARQ cl, m64 + if v0 == CL && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd3) + m.mrsd(7, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SARQ") + } + return p +} + +// SARW performs "Arithmetic Shift Right". +// +// Mnemonic : SAR +// Supported forms : (6 forms) +// +// * SARW 1, r16 +// * SARW imm8, r16 +// * SARW cl, r16 +// * SARW 1, m16 +// * SARW imm8, m16 +// * SARW cl, m16 +// +func (self *Program) SARW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SARW", 2, Operands { v0, v1 }) + // SARW 1, r16 + if isConst1(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xf8 | lcode(v[1])) + }) + } + // SARW imm8, r16 + if isImm8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SARW cl, r16 + if v0 == CL && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xf8 | lcode(v[1])) + }) + } + // SARW 1, m16 + if isConst1(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(7, addr(v[1]), 1) + }) + } + // SARW imm8, m16 + if isImm8(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(7, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SARW cl, m16 + if v0 == CL && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(7, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SARW") + } + return p +} + +// SARXL performs "Arithmetic Shift Right Without Affecting Flags". +// +// Mnemonic : SARX +// Supported forms : (2 forms) +// +// * SARXL r32, r32, r32 [BMI2] +// * SARXL r32, m32, r32 [BMI2] +// +func (self *Program) SARXL(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SARXL", 3, Operands { v0, v1, v2 }) + // SARXL r32, r32, r32 + if isReg32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7a ^ (hlcode(v[0]) << 3)) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // SARXL r32, m32, r32 + if isReg32(v0) && isM32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x02, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0xf7) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SARXL") + } + return p +} + +// SARXQ performs "Arithmetic Shift Right Without Affecting Flags". +// +// Mnemonic : SARX +// Supported forms : (2 forms) +// +// * SARXQ r64, r64, r64 [BMI2] +// * SARXQ r64, m64, r64 [BMI2] +// +func (self *Program) SARXQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SARXQ", 3, Operands { v0, v1, v2 }) + // SARXQ r64, r64, r64 + if isReg64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xfa ^ (hlcode(v[0]) << 3)) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // SARXQ r64, m64, r64 + if isReg64(v0) && isM64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x82, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0xf7) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SARXQ") + } + return p +} + +// SBBB performs "Subtract with Borrow". +// +// Mnemonic : SBB +// Supported forms : (6 forms) +// +// * SBBB imm8, al +// * SBBB imm8, r8 +// * SBBB r8, r8 +// * SBBB m8, r8 +// * SBBB imm8, m8 +// * SBBB r8, m8 +// +func (self *Program) SBBB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SBBB", 2, Operands { v0, v1 }) + // SBBB imm8, al + if isImm8(v0) && v1 == AL { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x1c) + m.imm1(toImmAny(v[0])) + }) + } + // SBBB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0x80) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SBBB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x18) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x1a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SBBB m8, r8 + if isM8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), isReg8REX(v[1])) + m.emit(0x1a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // SBBB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x80) + m.mrsd(3, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SBBB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x18) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SBBB") + } + return p +} + +// SBBL performs "Subtract with Borrow". +// +// Mnemonic : SBB +// Supported forms : (8 forms) +// +// * SBBL imm32, eax +// * SBBL imm8, r32 +// * SBBL imm32, r32 +// * SBBL r32, r32 +// * SBBL m32, r32 +// * SBBL imm8, m32 +// * SBBL imm32, m32 +// * SBBL r32, m32 +// +func (self *Program) SBBL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SBBL", 2, Operands { v0, v1 }) + // SBBL imm32, eax + if isImm32(v0) && v1 == EAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x1d) + m.imm4(toImmAny(v[0])) + }) + } + // SBBL imm8, r32 + if isImm8Ext(v0, 4) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SBBL imm32, r32 + if isImm32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xd8 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // SBBL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x19) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x1b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SBBL m32, r32 + if isM32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x1b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // SBBL imm8, m32 + if isImm8Ext(v0, 4) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(3, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SBBL imm32, m32 + if isImm32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(3, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // SBBL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x19) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SBBL") + } + return p +} + +// SBBQ performs "Subtract with Borrow". +// +// Mnemonic : SBB +// Supported forms : (8 forms) +// +// * SBBQ imm32, rax +// * SBBQ imm8, r64 +// * SBBQ imm32, r64 +// * SBBQ r64, r64 +// * SBBQ m64, r64 +// * SBBQ imm8, m64 +// * SBBQ imm32, m64 +// * SBBQ r64, m64 +// +func (self *Program) SBBQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SBBQ", 2, Operands { v0, v1 }) + // SBBQ imm32, rax + if isImm32(v0) && v1 == RAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48) + m.emit(0x1d) + m.imm4(toImmAny(v[0])) + }) + } + // SBBQ imm8, r64 + if isImm8Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x83) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SBBQ imm32, r64 + if isImm32Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x81) + m.emit(0xd8 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // SBBQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x19) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x1b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SBBQ m64, r64 + if isM64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x1b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // SBBQ imm8, m64 + if isImm8Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x83) + m.mrsd(3, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SBBQ imm32, m64 + if isImm32Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x81) + m.mrsd(3, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // SBBQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x19) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SBBQ") + } + return p +} + +// SBBW performs "Subtract with Borrow". +// +// Mnemonic : SBB +// Supported forms : (8 forms) +// +// * SBBW imm16, ax +// * SBBW imm8, r16 +// * SBBW imm16, r16 +// * SBBW r16, r16 +// * SBBW m16, r16 +// * SBBW imm8, m16 +// * SBBW imm16, m16 +// * SBBW r16, m16 +// +func (self *Program) SBBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SBBW", 2, Operands { v0, v1 }) + // SBBW imm16, ax + if isImm16(v0) && v1 == AX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x1d) + m.imm2(toImmAny(v[0])) + }) + } + // SBBW imm8, r16 + if isImm8Ext(v0, 2) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SBBW imm16, r16 + if isImm16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xd8 | lcode(v[1])) + m.imm2(toImmAny(v[0])) + }) + } + // SBBW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x19) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x1b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SBBW m16, r16 + if isM16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x1b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // SBBW imm8, m16 + if isImm8Ext(v0, 2) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(3, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SBBW imm16, m16 + if isImm16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(3, addr(v[1]), 1) + m.imm2(toImmAny(v[0])) + }) + } + // SBBW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x19) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SBBW") + } + return p +} + +// SETA performs "Set byte if above (CF == 0 and ZF == 0)". +// +// Mnemonic : SETA +// Supported forms : (2 forms) +// +// * SETA r8 +// * SETA m8 +// +func (self *Program) SETA(v0 interface{}) *Instruction { + p := self.alloc("SETA", 1, Operands { v0 }) + // SETA r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x97) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETA m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x97) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETA") + } + return p +} + +// SETAE performs "Set byte if above or equal (CF == 0)". +// +// Mnemonic : SETAE +// Supported forms : (2 forms) +// +// * SETAE r8 +// * SETAE m8 +// +func (self *Program) SETAE(v0 interface{}) *Instruction { + p := self.alloc("SETAE", 1, Operands { v0 }) + // SETAE r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x93) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETAE m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x93) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETAE") + } + return p +} + +// SETB performs "Set byte if below (CF == 1)". +// +// Mnemonic : SETB +// Supported forms : (2 forms) +// +// * SETB r8 +// * SETB m8 +// +func (self *Program) SETB(v0 interface{}) *Instruction { + p := self.alloc("SETB", 1, Operands { v0 }) + // SETB r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x92) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETB m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x92) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETB") + } + return p +} + +// SETBE performs "Set byte if below or equal (CF == 1 or ZF == 1)". +// +// Mnemonic : SETBE +// Supported forms : (2 forms) +// +// * SETBE r8 +// * SETBE m8 +// +func (self *Program) SETBE(v0 interface{}) *Instruction { + p := self.alloc("SETBE", 1, Operands { v0 }) + // SETBE r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x96) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETBE m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x96) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETBE") + } + return p +} + +// SETC performs "Set byte if carry (CF == 1)". +// +// Mnemonic : SETC +// Supported forms : (2 forms) +// +// * SETC r8 +// * SETC m8 +// +func (self *Program) SETC(v0 interface{}) *Instruction { + p := self.alloc("SETC", 1, Operands { v0 }) + // SETC r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x92) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETC m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x92) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETC") + } + return p +} + +// SETE performs "Set byte if equal (ZF == 1)". +// +// Mnemonic : SETE +// Supported forms : (2 forms) +// +// * SETE r8 +// * SETE m8 +// +func (self *Program) SETE(v0 interface{}) *Instruction { + p := self.alloc("SETE", 1, Operands { v0 }) + // SETE r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x94) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETE m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x94) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETE") + } + return p +} + +// SETG performs "Set byte if greater (ZF == 0 and SF == OF)". +// +// Mnemonic : SETG +// Supported forms : (2 forms) +// +// * SETG r8 +// * SETG m8 +// +func (self *Program) SETG(v0 interface{}) *Instruction { + p := self.alloc("SETG", 1, Operands { v0 }) + // SETG r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x9f) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETG m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x9f) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETG") + } + return p +} + +// SETGE performs "Set byte if greater or equal (SF == OF)". +// +// Mnemonic : SETGE +// Supported forms : (2 forms) +// +// * SETGE r8 +// * SETGE m8 +// +func (self *Program) SETGE(v0 interface{}) *Instruction { + p := self.alloc("SETGE", 1, Operands { v0 }) + // SETGE r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x9d) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETGE m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x9d) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETGE") + } + return p +} + +// SETL performs "Set byte if less (SF != OF)". +// +// Mnemonic : SETL +// Supported forms : (2 forms) +// +// * SETL r8 +// * SETL m8 +// +func (self *Program) SETL(v0 interface{}) *Instruction { + p := self.alloc("SETL", 1, Operands { v0 }) + // SETL r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETL m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x9c) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETL") + } + return p +} + +// SETLE performs "Set byte if less or equal (ZF == 1 or SF != OF)". +// +// Mnemonic : SETLE +// Supported forms : (2 forms) +// +// * SETLE r8 +// * SETLE m8 +// +func (self *Program) SETLE(v0 interface{}) *Instruction { + p := self.alloc("SETLE", 1, Operands { v0 }) + // SETLE r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETLE m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x9e) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETLE") + } + return p +} + +// SETNA performs "Set byte if not above (CF == 1 or ZF == 1)". +// +// Mnemonic : SETNA +// Supported forms : (2 forms) +// +// * SETNA r8 +// * SETNA m8 +// +func (self *Program) SETNA(v0 interface{}) *Instruction { + p := self.alloc("SETNA", 1, Operands { v0 }) + // SETNA r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x96) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNA m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x96) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNA") + } + return p +} + +// SETNAE performs "Set byte if not above or equal (CF == 1)". +// +// Mnemonic : SETNAE +// Supported forms : (2 forms) +// +// * SETNAE r8 +// * SETNAE m8 +// +func (self *Program) SETNAE(v0 interface{}) *Instruction { + p := self.alloc("SETNAE", 1, Operands { v0 }) + // SETNAE r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x92) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNAE m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x92) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNAE") + } + return p +} + +// SETNB performs "Set byte if not below (CF == 0)". +// +// Mnemonic : SETNB +// Supported forms : (2 forms) +// +// * SETNB r8 +// * SETNB m8 +// +func (self *Program) SETNB(v0 interface{}) *Instruction { + p := self.alloc("SETNB", 1, Operands { v0 }) + // SETNB r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x93) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNB m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x93) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNB") + } + return p +} + +// SETNBE performs "Set byte if not below or equal (CF == 0 and ZF == 0)". +// +// Mnemonic : SETNBE +// Supported forms : (2 forms) +// +// * SETNBE r8 +// * SETNBE m8 +// +func (self *Program) SETNBE(v0 interface{}) *Instruction { + p := self.alloc("SETNBE", 1, Operands { v0 }) + // SETNBE r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x97) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNBE m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x97) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNBE") + } + return p +} + +// SETNC performs "Set byte if not carry (CF == 0)". +// +// Mnemonic : SETNC +// Supported forms : (2 forms) +// +// * SETNC r8 +// * SETNC m8 +// +func (self *Program) SETNC(v0 interface{}) *Instruction { + p := self.alloc("SETNC", 1, Operands { v0 }) + // SETNC r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x93) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNC m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x93) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNC") + } + return p +} + +// SETNE performs "Set byte if not equal (ZF == 0)". +// +// Mnemonic : SETNE +// Supported forms : (2 forms) +// +// * SETNE r8 +// * SETNE m8 +// +func (self *Program) SETNE(v0 interface{}) *Instruction { + p := self.alloc("SETNE", 1, Operands { v0 }) + // SETNE r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x95) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNE m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x95) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNE") + } + return p +} + +// SETNG performs "Set byte if not greater (ZF == 1 or SF != OF)". +// +// Mnemonic : SETNG +// Supported forms : (2 forms) +// +// * SETNG r8 +// * SETNG m8 +// +func (self *Program) SETNG(v0 interface{}) *Instruction { + p := self.alloc("SETNG", 1, Operands { v0 }) + // SETNG r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNG m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x9e) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNG") + } + return p +} + +// SETNGE performs "Set byte if not greater or equal (SF != OF)". +// +// Mnemonic : SETNGE +// Supported forms : (2 forms) +// +// * SETNGE r8 +// * SETNGE m8 +// +func (self *Program) SETNGE(v0 interface{}) *Instruction { + p := self.alloc("SETNGE", 1, Operands { v0 }) + // SETNGE r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNGE m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x9c) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNGE") + } + return p +} + +// SETNL performs "Set byte if not less (SF == OF)". +// +// Mnemonic : SETNL +// Supported forms : (2 forms) +// +// * SETNL r8 +// * SETNL m8 +// +func (self *Program) SETNL(v0 interface{}) *Instruction { + p := self.alloc("SETNL", 1, Operands { v0 }) + // SETNL r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x9d) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNL m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x9d) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNL") + } + return p +} + +// SETNLE performs "Set byte if not less or equal (ZF == 0 and SF == OF)". +// +// Mnemonic : SETNLE +// Supported forms : (2 forms) +// +// * SETNLE r8 +// * SETNLE m8 +// +func (self *Program) SETNLE(v0 interface{}) *Instruction { + p := self.alloc("SETNLE", 1, Operands { v0 }) + // SETNLE r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x9f) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNLE m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x9f) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNLE") + } + return p +} + +// SETNO performs "Set byte if not overflow (OF == 0)". +// +// Mnemonic : SETNO +// Supported forms : (2 forms) +// +// * SETNO r8 +// * SETNO m8 +// +func (self *Program) SETNO(v0 interface{}) *Instruction { + p := self.alloc("SETNO", 1, Operands { v0 }) + // SETNO r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x91) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNO m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x91) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNO") + } + return p +} + +// SETNP performs "Set byte if not parity (PF == 0)". +// +// Mnemonic : SETNP +// Supported forms : (2 forms) +// +// * SETNP r8 +// * SETNP m8 +// +func (self *Program) SETNP(v0 interface{}) *Instruction { + p := self.alloc("SETNP", 1, Operands { v0 }) + // SETNP r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x9b) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNP m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x9b) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNP") + } + return p +} + +// SETNS performs "Set byte if not sign (SF == 0)". +// +// Mnemonic : SETNS +// Supported forms : (2 forms) +// +// * SETNS r8 +// * SETNS m8 +// +func (self *Program) SETNS(v0 interface{}) *Instruction { + p := self.alloc("SETNS", 1, Operands { v0 }) + // SETNS r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x99) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNS m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x99) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNS") + } + return p +} + +// SETNZ performs "Set byte if not zero (ZF == 0)". +// +// Mnemonic : SETNZ +// Supported forms : (2 forms) +// +// * SETNZ r8 +// * SETNZ m8 +// +func (self *Program) SETNZ(v0 interface{}) *Instruction { + p := self.alloc("SETNZ", 1, Operands { v0 }) + // SETNZ r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x95) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETNZ m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x95) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETNZ") + } + return p +} + +// SETO performs "Set byte if overflow (OF == 1)". +// +// Mnemonic : SETO +// Supported forms : (2 forms) +// +// * SETO r8 +// * SETO m8 +// +func (self *Program) SETO(v0 interface{}) *Instruction { + p := self.alloc("SETO", 1, Operands { v0 }) + // SETO r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x90) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETO m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x90) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETO") + } + return p +} + +// SETP performs "Set byte if parity (PF == 1)". +// +// Mnemonic : SETP +// Supported forms : (2 forms) +// +// * SETP r8 +// * SETP m8 +// +func (self *Program) SETP(v0 interface{}) *Instruction { + p := self.alloc("SETP", 1, Operands { v0 }) + // SETP r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETP m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x9a) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETP") + } + return p +} + +// SETPE performs "Set byte if parity even (PF == 1)". +// +// Mnemonic : SETPE +// Supported forms : (2 forms) +// +// * SETPE r8 +// * SETPE m8 +// +func (self *Program) SETPE(v0 interface{}) *Instruction { + p := self.alloc("SETPE", 1, Operands { v0 }) + // SETPE r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETPE m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x9a) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETPE") + } + return p +} + +// SETPO performs "Set byte if parity odd (PF == 0)". +// +// Mnemonic : SETPO +// Supported forms : (2 forms) +// +// * SETPO r8 +// * SETPO m8 +// +func (self *Program) SETPO(v0 interface{}) *Instruction { + p := self.alloc("SETPO", 1, Operands { v0 }) + // SETPO r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x9b) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETPO m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x9b) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETPO") + } + return p +} + +// SETS performs "Set byte if sign (SF == 1)". +// +// Mnemonic : SETS +// Supported forms : (2 forms) +// +// * SETS r8 +// * SETS m8 +// +func (self *Program) SETS(v0 interface{}) *Instruction { + p := self.alloc("SETS", 1, Operands { v0 }) + // SETS r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x98) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETS m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x98) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETS") + } + return p +} + +// SETZ performs "Set byte if zero (ZF == 1)". +// +// Mnemonic : SETZ +// Supported forms : (2 forms) +// +// * SETZ r8 +// * SETZ m8 +// +func (self *Program) SETZ(v0 interface{}) *Instruction { + p := self.alloc("SETZ", 1, Operands { v0 }) + // SETZ r8 + if isReg8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0x94) + m.emit(0xc0 | lcode(v[0])) + }) + } + // SETZ m8 + if isM8(v0) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0x94) + m.mrsd(0, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SETZ") + } + return p +} + +// SFENCE performs "Store Fence". +// +// Mnemonic : SFENCE +// Supported forms : (1 form) +// +// * SFENCE [MMX+] +// +func (self *Program) SFENCE() *Instruction { + p := self.alloc("SFENCE", 0, Operands { }) + // SFENCE + self.require(ISA_MMX_PLUS) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0xae) + m.emit(0xf8) + }) + return p +} + +// SHA1MSG1 performs "Perform an Intermediate Calculation for the Next Four SHA1 Message Doublewords". +// +// Mnemonic : SHA1MSG1 +// Supported forms : (2 forms) +// +// * SHA1MSG1 xmm, xmm [SHA] +// * SHA1MSG1 m128, xmm [SHA] +// +func (self *Program) SHA1MSG1(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHA1MSG1", 2, Operands { v0, v1 }) + // SHA1MSG1 xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xc9) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SHA1MSG1 m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xc9) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHA1MSG1") + } + return p +} + +// SHA1MSG2 performs "Perform a Final Calculation for the Next Four SHA1 Message Doublewords". +// +// Mnemonic : SHA1MSG2 +// Supported forms : (2 forms) +// +// * SHA1MSG2 xmm, xmm [SHA] +// * SHA1MSG2 m128, xmm [SHA] +// +func (self *Program) SHA1MSG2(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHA1MSG2", 2, Operands { v0, v1 }) + // SHA1MSG2 xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xca) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SHA1MSG2 m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xca) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHA1MSG2") + } + return p +} + +// SHA1NEXTE performs "Calculate SHA1 State Variable E after Four Rounds". +// +// Mnemonic : SHA1NEXTE +// Supported forms : (2 forms) +// +// * SHA1NEXTE xmm, xmm [SHA] +// * SHA1NEXTE m128, xmm [SHA] +// +func (self *Program) SHA1NEXTE(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHA1NEXTE", 2, Operands { v0, v1 }) + // SHA1NEXTE xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xc8) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SHA1NEXTE m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xc8) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHA1NEXTE") + } + return p +} + +// SHA1RNDS4 performs "Perform Four Rounds of SHA1 Operation". +// +// Mnemonic : SHA1RNDS4 +// Supported forms : (2 forms) +// +// * SHA1RNDS4 imm8, xmm, xmm [SHA] +// * SHA1RNDS4 imm8, m128, xmm [SHA] +// +func (self *Program) SHA1RNDS4(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHA1RNDS4", 3, Operands { v0, v1, v2 }) + // SHA1RNDS4 imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0xcc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SHA1RNDS4 imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x3a) + m.emit(0xcc) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for SHA1RNDS4") + } + return p +} + +// SHA256MSG1 performs "Perform an Intermediate Calculation for the Next Four SHA256 Message Doublewords". +// +// Mnemonic : SHA256MSG1 +// Supported forms : (2 forms) +// +// * SHA256MSG1 xmm, xmm [SHA] +// * SHA256MSG1 m128, xmm [SHA] +// +func (self *Program) SHA256MSG1(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHA256MSG1", 2, Operands { v0, v1 }) + // SHA256MSG1 xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xcc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SHA256MSG1 m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xcc) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHA256MSG1") + } + return p +} + +// SHA256MSG2 performs "Perform a Final Calculation for the Next Four SHA256 Message Doublewords". +// +// Mnemonic : SHA256MSG2 +// Supported forms : (2 forms) +// +// * SHA256MSG2 xmm, xmm [SHA] +// * SHA256MSG2 m128, xmm [SHA] +// +func (self *Program) SHA256MSG2(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHA256MSG2", 2, Operands { v0, v1 }) + // SHA256MSG2 xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xcd) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SHA256MSG2 m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xcd) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHA256MSG2") + } + return p +} + +// SHA256RNDS2 performs "Perform Two Rounds of SHA256 Operation". +// +// Mnemonic : SHA256RNDS2 +// Supported forms : (2 forms) +// +// * SHA256RNDS2 xmm0, xmm, xmm [SHA] +// * SHA256RNDS2 xmm0, m128, xmm [SHA] +// +func (self *Program) SHA256RNDS2(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHA256RNDS2", 3, Operands { v0, v1, v2 }) + // SHA256RNDS2 xmm0, xmm, xmm + if v0 == XMM0 && isXMM(v1) && isXMM(v2) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xcb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // SHA256RNDS2 xmm0, m128, xmm + if v0 == XMM0 && isM128(v1) && isXMM(v2) { + self.require(ISA_SHA) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0x38) + m.emit(0xcb) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHA256RNDS2") + } + return p +} + +// SHLB performs "Logical Shift Left". +// +// Mnemonic : SHL +// Supported forms : (6 forms) +// +// * SHLB 1, r8 +// * SHLB imm8, r8 +// * SHLB cl, r8 +// * SHLB 1, m8 +// * SHLB imm8, m8 +// * SHLB cl, m8 +// +func (self *Program) SHLB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHLB", 2, Operands { v0, v1 }) + // SHLB 1, r8 + if isConst1(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd0) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SHLB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xc0) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SHLB cl, r8 + if v0 == CL && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd2) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SHLB 1, m8 + if isConst1(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd0) + m.mrsd(4, addr(v[1]), 1) + }) + } + // SHLB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc0) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHLB cl, m8 + if v0 == CL && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd2) + m.mrsd(4, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHLB") + } + return p +} + +// SHLDL performs "Integer Double Precision Shift Left". +// +// Mnemonic : SHLD +// Supported forms : (4 forms) +// +// * SHLDL imm8, r32, r32 +// * SHLDL cl, r32, r32 +// * SHLDL imm8, r32, m32 +// * SHLDL cl, r32, m32 +// +func (self *Program) SHLDL(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHLDL", 3, Operands { v0, v1, v2 }) + // SHLDL imm8, r32, r32 + if isImm8(v0) && isReg32(v1) && isReg32(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[2], false) + m.emit(0x0f) + m.emit(0xa4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // SHLDL cl, r32, r32 + if v0 == CL && isReg32(v1) && isReg32(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[2], false) + m.emit(0x0f) + m.emit(0xa5) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + }) + } + // SHLDL imm8, r32, m32 + if isImm8(v0) && isReg32(v1) && isM32(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[2]), false) + m.emit(0x0f) + m.emit(0xa4) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHLDL cl, r32, m32 + if v0 == CL && isReg32(v1) && isM32(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[2]), false) + m.emit(0x0f) + m.emit(0xa5) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHLDL") + } + return p +} + +// SHLDQ performs "Integer Double Precision Shift Left". +// +// Mnemonic : SHLD +// Supported forms : (4 forms) +// +// * SHLDQ imm8, r64, r64 +// * SHLDQ cl, r64, r64 +// * SHLDQ imm8, r64, m64 +// * SHLDQ cl, r64, m64 +// +func (self *Program) SHLDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHLDQ", 3, Operands { v0, v1, v2 }) + // SHLDQ imm8, r64, r64 + if isImm8(v0) && isReg64(v1) && isReg64(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[2])) + m.emit(0x0f) + m.emit(0xa4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // SHLDQ cl, r64, r64 + if v0 == CL && isReg64(v1) && isReg64(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[2])) + m.emit(0x0f) + m.emit(0xa5) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + }) + } + // SHLDQ imm8, r64, m64 + if isImm8(v0) && isReg64(v1) && isM64(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[2])) + m.emit(0x0f) + m.emit(0xa4) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHLDQ cl, r64, m64 + if v0 == CL && isReg64(v1) && isM64(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[2])) + m.emit(0x0f) + m.emit(0xa5) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHLDQ") + } + return p +} + +// SHLDW performs "Integer Double Precision Shift Left". +// +// Mnemonic : SHLD +// Supported forms : (4 forms) +// +// * SHLDW imm8, r16, r16 +// * SHLDW cl, r16, r16 +// * SHLDW imm8, r16, m16 +// * SHLDW cl, r16, m16 +// +func (self *Program) SHLDW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHLDW", 3, Operands { v0, v1, v2 }) + // SHLDW imm8, r16, r16 + if isImm8(v0) && isReg16(v1) && isReg16(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[2], false) + m.emit(0x0f) + m.emit(0xa4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // SHLDW cl, r16, r16 + if v0 == CL && isReg16(v1) && isReg16(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[2], false) + m.emit(0x0f) + m.emit(0xa5) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + }) + } + // SHLDW imm8, r16, m16 + if isImm8(v0) && isReg16(v1) && isM16(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[2]), false) + m.emit(0x0f) + m.emit(0xa4) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHLDW cl, r16, m16 + if v0 == CL && isReg16(v1) && isM16(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[2]), false) + m.emit(0x0f) + m.emit(0xa5) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHLDW") + } + return p +} + +// SHLL performs "Logical Shift Left". +// +// Mnemonic : SHL +// Supported forms : (6 forms) +// +// * SHLL 1, r32 +// * SHLL imm8, r32 +// * SHLL cl, r32 +// * SHLL 1, m32 +// * SHLL imm8, m32 +// * SHLL cl, m32 +// +func (self *Program) SHLL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHLL", 2, Operands { v0, v1 }) + // SHLL 1, r32 + if isConst1(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SHLL imm8, r32 + if isImm8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SHLL cl, r32 + if v0 == CL && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SHLL 1, m32 + if isConst1(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(4, addr(v[1]), 1) + }) + } + // SHLL imm8, m32 + if isImm8(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHLL cl, m32 + if v0 == CL && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(4, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHLL") + } + return p +} + +// SHLQ performs "Logical Shift Left". +// +// Mnemonic : SHL +// Supported forms : (6 forms) +// +// * SHLQ 1, r64 +// * SHLQ imm8, r64 +// * SHLQ cl, r64 +// * SHLQ 1, m64 +// * SHLQ imm8, m64 +// * SHLQ cl, m64 +// +func (self *Program) SHLQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHLQ", 2, Operands { v0, v1 }) + // SHLQ 1, r64 + if isConst1(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd1) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SHLQ imm8, r64 + if isImm8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xc1) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SHLQ cl, r64 + if v0 == CL && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd3) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SHLQ 1, m64 + if isConst1(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd1) + m.mrsd(4, addr(v[1]), 1) + }) + } + // SHLQ imm8, m64 + if isImm8(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xc1) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHLQ cl, m64 + if v0 == CL && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd3) + m.mrsd(4, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHLQ") + } + return p +} + +// SHLW performs "Logical Shift Left". +// +// Mnemonic : SHL +// Supported forms : (6 forms) +// +// * SHLW 1, r16 +// * SHLW imm8, r16 +// * SHLW cl, r16 +// * SHLW 1, m16 +// * SHLW imm8, m16 +// * SHLW cl, m16 +// +func (self *Program) SHLW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHLW", 2, Operands { v0, v1 }) + // SHLW 1, r16 + if isConst1(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SHLW imm8, r16 + if isImm8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SHLW cl, r16 + if v0 == CL && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xe0 | lcode(v[1])) + }) + } + // SHLW 1, m16 + if isConst1(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(4, addr(v[1]), 1) + }) + } + // SHLW imm8, m16 + if isImm8(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(4, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHLW cl, m16 + if v0 == CL && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(4, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHLW") + } + return p +} + +// SHLXL performs "Logical Shift Left Without Affecting Flags". +// +// Mnemonic : SHLX +// Supported forms : (2 forms) +// +// * SHLXL r32, r32, r32 [BMI2] +// * SHLXL r32, m32, r32 [BMI2] +// +func (self *Program) SHLXL(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHLXL", 3, Operands { v0, v1, v2 }) + // SHLXL r32, r32, r32 + if isReg32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[0]) << 3)) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // SHLXL r32, m32, r32 + if isReg32(v0) && isM32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0xf7) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHLXL") + } + return p +} + +// SHLXQ performs "Logical Shift Left Without Affecting Flags". +// +// Mnemonic : SHLX +// Supported forms : (2 forms) +// +// * SHLXQ r64, r64, r64 [BMI2] +// * SHLXQ r64, m64, r64 [BMI2] +// +func (self *Program) SHLXQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHLXQ", 3, Operands { v0, v1, v2 }) + // SHLXQ r64, r64, r64 + if isReg64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xf9 ^ (hlcode(v[0]) << 3)) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // SHLXQ r64, m64, r64 + if isReg64(v0) && isM64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0xf7) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHLXQ") + } + return p +} + +// SHRB performs "Logical Shift Right". +// +// Mnemonic : SHR +// Supported forms : (6 forms) +// +// * SHRB 1, r8 +// * SHRB imm8, r8 +// * SHRB cl, r8 +// * SHRB 1, m8 +// * SHRB imm8, m8 +// * SHRB cl, m8 +// +func (self *Program) SHRB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHRB", 2, Operands { v0, v1 }) + // SHRB 1, r8 + if isConst1(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd0) + m.emit(0xe8 | lcode(v[1])) + }) + } + // SHRB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xc0) + m.emit(0xe8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SHRB cl, r8 + if v0 == CL && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xd2) + m.emit(0xe8 | lcode(v[1])) + }) + } + // SHRB 1, m8 + if isConst1(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd0) + m.mrsd(5, addr(v[1]), 1) + }) + } + // SHRB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc0) + m.mrsd(5, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHRB cl, m8 + if v0 == CL && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd2) + m.mrsd(5, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHRB") + } + return p +} + +// SHRDL performs "Integer Double Precision Shift Right". +// +// Mnemonic : SHRD +// Supported forms : (4 forms) +// +// * SHRDL imm8, r32, r32 +// * SHRDL cl, r32, r32 +// * SHRDL imm8, r32, m32 +// * SHRDL cl, r32, m32 +// +func (self *Program) SHRDL(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHRDL", 3, Operands { v0, v1, v2 }) + // SHRDL imm8, r32, r32 + if isImm8(v0) && isReg32(v1) && isReg32(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[2], false) + m.emit(0x0f) + m.emit(0xac) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // SHRDL cl, r32, r32 + if v0 == CL && isReg32(v1) && isReg32(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[2], false) + m.emit(0x0f) + m.emit(0xad) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + }) + } + // SHRDL imm8, r32, m32 + if isImm8(v0) && isReg32(v1) && isM32(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[2]), false) + m.emit(0x0f) + m.emit(0xac) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHRDL cl, r32, m32 + if v0 == CL && isReg32(v1) && isM32(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[2]), false) + m.emit(0x0f) + m.emit(0xad) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHRDL") + } + return p +} + +// SHRDQ performs "Integer Double Precision Shift Right". +// +// Mnemonic : SHRD +// Supported forms : (4 forms) +// +// * SHRDQ imm8, r64, r64 +// * SHRDQ cl, r64, r64 +// * SHRDQ imm8, r64, m64 +// * SHRDQ cl, r64, m64 +// +func (self *Program) SHRDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHRDQ", 3, Operands { v0, v1, v2 }) + // SHRDQ imm8, r64, r64 + if isImm8(v0) && isReg64(v1) && isReg64(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[2])) + m.emit(0x0f) + m.emit(0xac) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // SHRDQ cl, r64, r64 + if v0 == CL && isReg64(v1) && isReg64(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[2])) + m.emit(0x0f) + m.emit(0xad) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + }) + } + // SHRDQ imm8, r64, m64 + if isImm8(v0) && isReg64(v1) && isM64(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[2])) + m.emit(0x0f) + m.emit(0xac) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHRDQ cl, r64, m64 + if v0 == CL && isReg64(v1) && isM64(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[2])) + m.emit(0x0f) + m.emit(0xad) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHRDQ") + } + return p +} + +// SHRDW performs "Integer Double Precision Shift Right". +// +// Mnemonic : SHRD +// Supported forms : (4 forms) +// +// * SHRDW imm8, r16, r16 +// * SHRDW cl, r16, r16 +// * SHRDW imm8, r16, m16 +// * SHRDW cl, r16, m16 +// +func (self *Program) SHRDW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHRDW", 3, Operands { v0, v1, v2 }) + // SHRDW imm8, r16, r16 + if isImm8(v0) && isReg16(v1) && isReg16(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[2], false) + m.emit(0x0f) + m.emit(0xac) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // SHRDW cl, r16, r16 + if v0 == CL && isReg16(v1) && isReg16(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[2], false) + m.emit(0x0f) + m.emit(0xad) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + }) + } + // SHRDW imm8, r16, m16 + if isImm8(v0) && isReg16(v1) && isM16(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[2]), false) + m.emit(0x0f) + m.emit(0xac) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHRDW cl, r16, m16 + if v0 == CL && isReg16(v1) && isM16(v2) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[2]), false) + m.emit(0x0f) + m.emit(0xad) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHRDW") + } + return p +} + +// SHRL performs "Logical Shift Right". +// +// Mnemonic : SHR +// Supported forms : (6 forms) +// +// * SHRL 1, r32 +// * SHRL imm8, r32 +// * SHRL cl, r32 +// * SHRL 1, m32 +// * SHRL imm8, m32 +// * SHRL cl, m32 +// +func (self *Program) SHRL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHRL", 2, Operands { v0, v1 }) + // SHRL 1, r32 + if isConst1(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xe8 | lcode(v[1])) + }) + } + // SHRL imm8, r32 + if isImm8(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xe8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SHRL cl, r32 + if v0 == CL && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xe8 | lcode(v[1])) + }) + } + // SHRL 1, m32 + if isConst1(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(5, addr(v[1]), 1) + }) + } + // SHRL imm8, m32 + if isImm8(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(5, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHRL cl, m32 + if v0 == CL && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(5, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHRL") + } + return p +} + +// SHRQ performs "Logical Shift Right". +// +// Mnemonic : SHR +// Supported forms : (6 forms) +// +// * SHRQ 1, r64 +// * SHRQ imm8, r64 +// * SHRQ cl, r64 +// * SHRQ 1, m64 +// * SHRQ imm8, m64 +// * SHRQ cl, m64 +// +func (self *Program) SHRQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHRQ", 2, Operands { v0, v1 }) + // SHRQ 1, r64 + if isConst1(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd1) + m.emit(0xe8 | lcode(v[1])) + }) + } + // SHRQ imm8, r64 + if isImm8(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xc1) + m.emit(0xe8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SHRQ cl, r64 + if v0 == CL && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xd3) + m.emit(0xe8 | lcode(v[1])) + }) + } + // SHRQ 1, m64 + if isConst1(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd1) + m.mrsd(5, addr(v[1]), 1) + }) + } + // SHRQ imm8, m64 + if isImm8(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xc1) + m.mrsd(5, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHRQ cl, m64 + if v0 == CL && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xd3) + m.mrsd(5, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHRQ") + } + return p +} + +// SHRW performs "Logical Shift Right". +// +// Mnemonic : SHR +// Supported forms : (6 forms) +// +// * SHRW 1, r16 +// * SHRW imm8, r16 +// * SHRW cl, r16 +// * SHRW 1, m16 +// * SHRW imm8, m16 +// * SHRW cl, m16 +// +func (self *Program) SHRW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SHRW", 2, Operands { v0, v1 }) + // SHRW 1, r16 + if isConst1(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd1) + m.emit(0xe8 | lcode(v[1])) + }) + } + // SHRW imm8, r16 + if isImm8(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xc1) + m.emit(0xe8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SHRW cl, r16 + if v0 == CL && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xd3) + m.emit(0xe8 | lcode(v[1])) + }) + } + // SHRW 1, m16 + if isConst1(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd1) + m.mrsd(5, addr(v[1]), 1) + }) + } + // SHRW imm8, m16 + if isImm8(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xc1) + m.mrsd(5, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SHRW cl, m16 + if v0 == CL && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xd3) + m.mrsd(5, addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHRW") + } + return p +} + +// SHRXL performs "Logical Shift Right Without Affecting Flags". +// +// Mnemonic : SHRX +// Supported forms : (2 forms) +// +// * SHRXL r32, r32, r32 [BMI2] +// * SHRXL r32, m32, r32 [BMI2] +// +func (self *Program) SHRXL(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHRXL", 3, Operands { v0, v1, v2 }) + // SHRXL r32, r32, r32 + if isReg32(v0) && isReg32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7b ^ (hlcode(v[0]) << 3)) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // SHRXL r32, m32, r32 + if isReg32(v0) && isM32(v1) && isReg32(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x03, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0xf7) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHRXL") + } + return p +} + +// SHRXQ performs "Logical Shift Right Without Affecting Flags". +// +// Mnemonic : SHRX +// Supported forms : (2 forms) +// +// * SHRXQ r64, r64, r64 [BMI2] +// * SHRXQ r64, m64, r64 [BMI2] +// +func (self *Program) SHRXQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHRXQ", 3, Operands { v0, v1, v2 }) + // SHRXQ r64, r64, r64 + if isReg64(v0) && isReg64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xfb ^ (hlcode(v[0]) << 3)) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // SHRXQ r64, m64, r64 + if isReg64(v0) && isM64(v1) && isReg64(v2) { + self.require(ISA_BMI2) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x83, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0xf7) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SHRXQ") + } + return p +} + +// SHUFPD performs "Shuffle Packed Double-Precision Floating-Point Values". +// +// Mnemonic : SHUFPD +// Supported forms : (2 forms) +// +// * SHUFPD imm8, xmm, xmm [SSE2] +// * SHUFPD imm8, m128, xmm [SSE2] +// +func (self *Program) SHUFPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHUFPD", 3, Operands { v0, v1, v2 }) + // SHUFPD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SHUFPD imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xc6) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for SHUFPD") + } + return p +} + +// SHUFPS performs "Shuffle Packed Single-Precision Floating-Point Values". +// +// Mnemonic : SHUFPS +// Supported forms : (2 forms) +// +// * SHUFPS imm8, xmm, xmm [SSE] +// * SHUFPS imm8, m128, xmm [SSE] +// +func (self *Program) SHUFPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("SHUFPS", 3, Operands { v0, v1, v2 }) + // SHUFPS imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), v[1], false) + m.emit(0x0f) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SHUFPS imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[2]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xc6) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for SHUFPS") + } + return p +} + +// SQRTPD performs "Compute Square Roots of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : SQRTPD +// Supported forms : (2 forms) +// +// * SQRTPD xmm, xmm [SSE2] +// * SQRTPD m128, xmm [SSE2] +// +func (self *Program) SQRTPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SQRTPD", 2, Operands { v0, v1 }) + // SQRTPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SQRTPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SQRTPD") + } + return p +} + +// SQRTPS performs "Compute Square Roots of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : SQRTPS +// Supported forms : (2 forms) +// +// * SQRTPS xmm, xmm [SSE] +// * SQRTPS m128, xmm [SSE] +// +func (self *Program) SQRTPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SQRTPS", 2, Operands { v0, v1 }) + // SQRTPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SQRTPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SQRTPS") + } + return p +} + +// SQRTSD performs "Compute Square Root of Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : SQRTSD +// Supported forms : (2 forms) +// +// * SQRTSD xmm, xmm [SSE2] +// * SQRTSD m64, xmm [SSE2] +// +func (self *Program) SQRTSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SQRTSD", 2, Operands { v0, v1 }) + // SQRTSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SQRTSD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SQRTSD") + } + return p +} + +// SQRTSS performs "Compute Square Root of Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : SQRTSS +// Supported forms : (2 forms) +// +// * SQRTSS xmm, xmm [SSE] +// * SQRTSS m32, xmm [SSE] +// +func (self *Program) SQRTSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SQRTSS", 2, Operands { v0, v1 }) + // SQRTSS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SQRTSS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SQRTSS") + } + return p +} + +// STC performs "Set Carry Flag". +// +// Mnemonic : STC +// Supported forms : (1 form) +// +// * STC +// +func (self *Program) STC() *Instruction { + p := self.alloc("STC", 0, Operands { }) + // STC + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf9) + }) + return p +} + +// STD performs "Set Direction Flag". +// +// Mnemonic : STD +// Supported forms : (1 form) +// +// * STD +// +func (self *Program) STD() *Instruction { + p := self.alloc("STD", 0, Operands { }) + // STD + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xfd) + }) + return p +} + +// STMXCSR performs "Store MXCSR Register State". +// +// Mnemonic : STMXCSR +// Supported forms : (1 form) +// +// * STMXCSR m32 [SSE] +// +func (self *Program) STMXCSR(v0 interface{}) *Instruction { + p := self.alloc("STMXCSR", 1, Operands { v0 }) + // STMXCSR m32 + if isM32(v0) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[0]), false) + m.emit(0x0f) + m.emit(0xae) + m.mrsd(3, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for STMXCSR") + } + return p +} + +// SUBB performs "Subtract". +// +// Mnemonic : SUB +// Supported forms : (6 forms) +// +// * SUBB imm8, al +// * SUBB imm8, r8 +// * SUBB r8, r8 +// * SUBB m8, r8 +// * SUBB imm8, m8 +// * SUBB r8, m8 +// +func (self *Program) SUBB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SUBB", 2, Operands { v0, v1 }) + // SUBB imm8, al + if isImm8(v0) && v1 == AL { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x2c) + m.imm1(toImmAny(v[0])) + }) + } + // SUBB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0x80) + m.emit(0xe8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SUBB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x28) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SUBB m8, r8 + if isM8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), isReg8REX(v[1])) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // SUBB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x80) + m.mrsd(5, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SUBB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x28) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SUBB") + } + return p +} + +// SUBL performs "Subtract". +// +// Mnemonic : SUB +// Supported forms : (8 forms) +// +// * SUBL imm32, eax +// * SUBL imm8, r32 +// * SUBL imm32, r32 +// * SUBL r32, r32 +// * SUBL m32, r32 +// * SUBL imm8, m32 +// * SUBL imm32, m32 +// * SUBL r32, m32 +// +func (self *Program) SUBL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SUBL", 2, Operands { v0, v1 }) + // SUBL imm32, eax + if isImm32(v0) && v1 == EAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x2d) + m.imm4(toImmAny(v[0])) + }) + } + // SUBL imm8, r32 + if isImm8Ext(v0, 4) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xe8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SUBL imm32, r32 + if isImm32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xe8 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // SUBL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x2b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SUBL m32, r32 + if isM32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x2b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // SUBL imm8, m32 + if isImm8Ext(v0, 4) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(5, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SUBL imm32, m32 + if isImm32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(5, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // SUBL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SUBL") + } + return p +} + +// SUBPD performs "Subtract Packed Double-Precision Floating-Point Values". +// +// Mnemonic : SUBPD +// Supported forms : (2 forms) +// +// * SUBPD xmm, xmm [SSE2] +// * SUBPD m128, xmm [SSE2] +// +func (self *Program) SUBPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SUBPD", 2, Operands { v0, v1 }) + // SUBPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SUBPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SUBPD") + } + return p +} + +// SUBPS performs "Subtract Packed Single-Precision Floating-Point Values". +// +// Mnemonic : SUBPS +// Supported forms : (2 forms) +// +// * SUBPS xmm, xmm [SSE] +// * SUBPS m128, xmm [SSE] +// +func (self *Program) SUBPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SUBPS", 2, Operands { v0, v1 }) + // SUBPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SUBPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SUBPS") + } + return p +} + +// SUBQ performs "Subtract". +// +// Mnemonic : SUB +// Supported forms : (8 forms) +// +// * SUBQ imm32, rax +// * SUBQ imm8, r64 +// * SUBQ imm32, r64 +// * SUBQ r64, r64 +// * SUBQ m64, r64 +// * SUBQ imm8, m64 +// * SUBQ imm32, m64 +// * SUBQ r64, m64 +// +func (self *Program) SUBQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SUBQ", 2, Operands { v0, v1 }) + // SUBQ imm32, rax + if isImm32(v0) && v1 == RAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48) + m.emit(0x2d) + m.imm4(toImmAny(v[0])) + }) + } + // SUBQ imm8, r64 + if isImm8Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x83) + m.emit(0xe8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SUBQ imm32, r64 + if isImm32Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x81) + m.emit(0xe8 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // SUBQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x2b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SUBQ m64, r64 + if isM64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x2b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // SUBQ imm8, m64 + if isImm8Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x83) + m.mrsd(5, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SUBQ imm32, m64 + if isImm32Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x81) + m.mrsd(5, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // SUBQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SUBQ") + } + return p +} + +// SUBSD performs "Subtract Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : SUBSD +// Supported forms : (2 forms) +// +// * SUBSD xmm, xmm [SSE2] +// * SUBSD m64, xmm [SSE2] +// +func (self *Program) SUBSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SUBSD", 2, Operands { v0, v1 }) + // SUBSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SUBSD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf2) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SUBSD") + } + return p +} + +// SUBSS performs "Subtract Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : SUBSS +// Supported forms : (2 forms) +// +// * SUBSS xmm, xmm [SSE] +// * SUBSS m32, xmm [SSE] +// +func (self *Program) SUBSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SUBSS", 2, Operands { v0, v1 }) + // SUBSS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SUBSS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x5c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SUBSS") + } + return p +} + +// SUBW performs "Subtract". +// +// Mnemonic : SUB +// Supported forms : (8 forms) +// +// * SUBW imm16, ax +// * SUBW imm8, r16 +// * SUBW imm16, r16 +// * SUBW r16, r16 +// * SUBW m16, r16 +// * SUBW imm8, m16 +// * SUBW imm16, m16 +// * SUBW r16, m16 +// +func (self *Program) SUBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("SUBW", 2, Operands { v0, v1 }) + // SUBW imm16, ax + if isImm16(v0) && v1 == AX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x2d) + m.imm2(toImmAny(v[0])) + }) + } + // SUBW imm8, r16 + if isImm8Ext(v0, 2) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xe8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // SUBW imm16, r16 + if isImm16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xe8 | lcode(v[1])) + m.imm2(toImmAny(v[0])) + }) + } + // SUBW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x2b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // SUBW m16, r16 + if isM16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x2b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // SUBW imm8, m16 + if isImm8Ext(v0, 2) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(5, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // SUBW imm16, m16 + if isImm16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(5, addr(v[1]), 1) + m.imm2(toImmAny(v[0])) + }) + } + // SUBW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for SUBW") + } + return p +} + +// SYSCALL performs "Fast System Call". +// +// Mnemonic : SYSCALL +// Supported forms : (1 form) +// +// * SYSCALL +// +func (self *Program) SYSCALL() *Instruction { + p := self.alloc("SYSCALL", 0, Operands { }) + // SYSCALL + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x05) + }) + return p +} + +// T1MSKC performs "Inverse Mask From Trailing Ones". +// +// Mnemonic : T1MSKC +// Supported forms : (4 forms) +// +// * T1MSKC r32, r32 [TBM] +// * T1MSKC m32, r32 [TBM] +// * T1MSKC r64, r64 [TBM] +// * T1MSKC m64, r64 [TBM] +// +func (self *Program) T1MSKC(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("T1MSKC", 2, Operands { v0, v1 }) + // T1MSKC r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xf8 | lcode(v[0])) + }) + } + // T1MSKC m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(7, addr(v[0]), 1) + }) + } + // T1MSKC r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xf8 | lcode(v[0])) + }) + } + // T1MSKC m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(7, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for T1MSKC") + } + return p +} + +// TESTB performs "Logical Compare". +// +// Mnemonic : TEST +// Supported forms : (5 forms) +// +// * TESTB imm8, al +// * TESTB imm8, r8 +// * TESTB r8, r8 +// * TESTB imm8, m8 +// * TESTB r8, m8 +// +func (self *Program) TESTB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("TESTB", 2, Operands { v0, v1 }) + // TESTB imm8, al + if isImm8(v0) && v1 == AL { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xa8) + m.imm1(toImmAny(v[0])) + }) + } + // TESTB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // TESTB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x84) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // TESTB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xf6) + m.mrsd(0, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // TESTB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x84) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for TESTB") + } + return p +} + +// TESTL performs "Logical Compare". +// +// Mnemonic : TEST +// Supported forms : (5 forms) +// +// * TESTL imm32, eax +// * TESTL imm32, r32 +// * TESTL r32, r32 +// * TESTL imm32, m32 +// * TESTL r32, m32 +// +func (self *Program) TESTL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("TESTL", 2, Operands { v0, v1 }) + // TESTL imm32, eax + if isImm32(v0) && v1 == EAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xa9) + m.imm4(toImmAny(v[0])) + }) + } + // TESTL imm32, r32 + if isImm32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // TESTL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x85) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // TESTL imm32, m32 + if isImm32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0xf7) + m.mrsd(0, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // TESTL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x85) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for TESTL") + } + return p +} + +// TESTQ performs "Logical Compare". +// +// Mnemonic : TEST +// Supported forms : (5 forms) +// +// * TESTQ imm32, rax +// * TESTQ imm32, r64 +// * TESTQ r64, r64 +// * TESTQ imm32, m64 +// * TESTQ r64, m64 +// +func (self *Program) TESTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("TESTQ", 2, Operands { v0, v1 }) + // TESTQ imm32, rax + if isImm32(v0) && v1 == RAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48) + m.emit(0xa9) + m.imm4(toImmAny(v[0])) + }) + } + // TESTQ imm32, r64 + if isImm32Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // TESTQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x85) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // TESTQ imm32, m64 + if isImm32Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0xf7) + m.mrsd(0, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // TESTQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x85) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for TESTQ") + } + return p +} + +// TESTW performs "Logical Compare". +// +// Mnemonic : TEST +// Supported forms : (5 forms) +// +// * TESTW imm16, ax +// * TESTW imm16, r16 +// * TESTW r16, r16 +// * TESTW imm16, m16 +// * TESTW r16, m16 +// +func (self *Program) TESTW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("TESTW", 2, Operands { v0, v1 }) + // TESTW imm16, ax + if isImm16(v0) && v1 == AX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0xa9) + m.imm2(toImmAny(v[0])) + }) + } + // TESTW imm16, r16 + if isImm16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[1])) + m.imm2(toImmAny(v[0])) + }) + } + // TESTW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x85) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // TESTW imm16, m16 + if isImm16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0xf7) + m.mrsd(0, addr(v[1]), 1) + m.imm2(toImmAny(v[0])) + }) + } + // TESTW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x85) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for TESTW") + } + return p +} + +// TZCNTL performs "Count the Number of Trailing Zero Bits". +// +// Mnemonic : TZCNT +// Supported forms : (2 forms) +// +// * TZCNTL r32, r32 [BMI] +// * TZCNTL m32, r32 [BMI] +// +func (self *Program) TZCNTL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("TZCNTL", 2, Operands { v0, v1 }) + // TZCNTL r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // TZCNTL m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xbc) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for TZCNTL") + } + return p +} + +// TZCNTQ performs "Count the Number of Trailing Zero Bits". +// +// Mnemonic : TZCNT +// Supported forms : (2 forms) +// +// * TZCNTQ r64, r64 [BMI] +// * TZCNTQ m64, r64 [BMI] +// +func (self *Program) TZCNTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("TZCNTQ", 2, Operands { v0, v1 }) + // TZCNTQ r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x0f) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // TZCNTQ m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xf3) + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x0f) + m.emit(0xbc) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for TZCNTQ") + } + return p +} + +// TZCNTW performs "Count the Number of Trailing Zero Bits". +// +// Mnemonic : TZCNT +// Supported forms : (2 forms) +// +// * TZCNTW r16, r16 [BMI] +// * TZCNTW m16, r16 [BMI] +// +func (self *Program) TZCNTW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("TZCNTW", 2, Operands { v0, v1 }) + // TZCNTW r16, r16 + if isReg16(v0) && isReg16(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0xf3) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // TZCNTW m16, r16 + if isM16(v0) && isReg16(v1) { + self.require(ISA_BMI) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0xf3) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0xbc) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for TZCNTW") + } + return p +} + +// TZMSK performs "Mask From Trailing Zeros". +// +// Mnemonic : TZMSK +// Supported forms : (4 forms) +// +// * TZMSK r32, r32 [TBM] +// * TZMSK m32, r32 [TBM] +// * TZMSK r64, r64 [TBM] +// * TZMSK m64, r64 [TBM] +// +func (self *Program) TZMSK(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("TZMSK", 2, Operands { v0, v1 }) + // TZMSK r32, r32 + if isReg32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0x78 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xe0 | lcode(v[0])) + }) + } + // TZMSK m32, r32 + if isM32(v0) && isReg32(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(4, addr(v[0]), 1) + }) + } + // TZMSK r64, r64 + if isReg64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xe0 | lcode(v[0])) + }) + } + // TZMSK m64, r64 + if isM64(v0) && isReg64(v1) { + self.require(ISA_TBM) + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, 0, addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(4, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for TZMSK") + } + return p +} + +// UCOMISD performs "Unordered Compare Scalar Double-Precision Floating-Point Values and Set EFLAGS". +// +// Mnemonic : UCOMISD +// Supported forms : (2 forms) +// +// * UCOMISD xmm, xmm [SSE2] +// * UCOMISD m64, xmm [SSE2] +// +func (self *Program) UCOMISD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("UCOMISD", 2, Operands { v0, v1 }) + // UCOMISD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // UCOMISD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for UCOMISD") + } + return p +} + +// UCOMISS performs "Unordered Compare Scalar Single-Precision Floating-Point Values and Set EFLAGS". +// +// Mnemonic : UCOMISS +// Supported forms : (2 forms) +// +// * UCOMISS xmm, xmm [SSE] +// * UCOMISS m32, xmm [SSE] +// +func (self *Program) UCOMISS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("UCOMISS", 2, Operands { v0, v1 }) + // UCOMISS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x2e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // UCOMISS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x2e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for UCOMISS") + } + return p +} + +// UD2 performs "Undefined Instruction". +// +// Mnemonic : UD2 +// Supported forms : (1 form) +// +// * UD2 +// +func (self *Program) UD2() *Instruction { + p := self.alloc("UD2", 0, Operands { }) + // UD2 + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x0b) + }) + return p +} + +// UNPCKHPD performs "Unpack and Interleave High Packed Double-Precision Floating-Point Values". +// +// Mnemonic : UNPCKHPD +// Supported forms : (2 forms) +// +// * UNPCKHPD xmm, xmm [SSE2] +// * UNPCKHPD m128, xmm [SSE2] +// +func (self *Program) UNPCKHPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("UNPCKHPD", 2, Operands { v0, v1 }) + // UNPCKHPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x15) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // UNPCKHPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x15) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for UNPCKHPD") + } + return p +} + +// UNPCKHPS performs "Unpack and Interleave High Packed Single-Precision Floating-Point Values". +// +// Mnemonic : UNPCKHPS +// Supported forms : (2 forms) +// +// * UNPCKHPS xmm, xmm [SSE] +// * UNPCKHPS m128, xmm [SSE] +// +func (self *Program) UNPCKHPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("UNPCKHPS", 2, Operands { v0, v1 }) + // UNPCKHPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x15) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // UNPCKHPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x15) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for UNPCKHPS") + } + return p +} + +// UNPCKLPD performs "Unpack and Interleave Low Packed Double-Precision Floating-Point Values". +// +// Mnemonic : UNPCKLPD +// Supported forms : (2 forms) +// +// * UNPCKLPD xmm, xmm [SSE2] +// * UNPCKLPD m128, xmm [SSE2] +// +func (self *Program) UNPCKLPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("UNPCKLPD", 2, Operands { v0, v1 }) + // UNPCKLPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x14) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // UNPCKLPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x14) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for UNPCKLPD") + } + return p +} + +// UNPCKLPS performs "Unpack and Interleave Low Packed Single-Precision Floating-Point Values". +// +// Mnemonic : UNPCKLPS +// Supported forms : (2 forms) +// +// * UNPCKLPS xmm, xmm [SSE] +// * UNPCKLPS m128, xmm [SSE] +// +func (self *Program) UNPCKLPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("UNPCKLPS", 2, Operands { v0, v1 }) + // UNPCKLPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x14) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // UNPCKLPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x14) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for UNPCKLPS") + } + return p +} + +// VADDPD performs "Add Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VADDPD +// Supported forms : (11 forms) +// +// * VADDPD xmm, xmm, xmm [AVX] +// * VADDPD m128, xmm, xmm [AVX] +// * VADDPD ymm, ymm, ymm [AVX] +// * VADDPD m256, ymm, ymm [AVX] +// * VADDPD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VADDPD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VADDPD zmm, zmm, zmm{k}{z} [AVX512F] +// * VADDPD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VADDPD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VADDPD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VADDPD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VADDPD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VADDPD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VADDPD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VADDPD takes 3 or 4 operands") + } + // VADDPD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDPD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VADDPD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDPD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VADDPD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VADDPD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x58) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VADDPD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDPD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VADDPD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDPD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VADDPD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VADDPD") + } + return p +} + +// VADDPS performs "Add Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VADDPS +// Supported forms : (11 forms) +// +// * VADDPS xmm, xmm, xmm [AVX] +// * VADDPS m128, xmm, xmm [AVX] +// * VADDPS ymm, ymm, ymm [AVX] +// * VADDPS m256, ymm, ymm [AVX] +// * VADDPS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VADDPS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VADDPS zmm, zmm, zmm{k}{z} [AVX512F] +// * VADDPS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VADDPS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VADDPS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VADDPS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VADDPS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VADDPS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VADDPS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VADDPS takes 3 or 4 operands") + } + // VADDPS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDPS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VADDPS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDPS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VADDPS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VADDPS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x58) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VADDPS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDPS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VADDPS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDPS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VADDPS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VADDPS") + } + return p +} + +// VADDSD performs "Add Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VADDSD +// Supported forms : (5 forms) +// +// * VADDSD xmm, xmm, xmm [AVX] +// * VADDSD m64, xmm, xmm [AVX] +// * VADDSD m64, xmm, xmm{k}{z} [AVX512F] +// * VADDSD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VADDSD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VADDSD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VADDSD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VADDSD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VADDSD takes 3 or 4 operands") + } + // VADDSD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDSD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VADDSD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VADDSD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xff ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x58) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VADDSD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VADDSD") + } + return p +} + +// VADDSS performs "Add Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VADDSS +// Supported forms : (5 forms) +// +// * VADDSS xmm, xmm, xmm [AVX] +// * VADDSS m32, xmm, xmm [AVX] +// * VADDSS m32, xmm, xmm{k}{z} [AVX512F] +// * VADDSS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VADDSS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VADDSS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VADDSS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VADDSS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VADDSS takes 3 or 4 operands") + } + // VADDSS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDSS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VADDSS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x58) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VADDSS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7e ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x58) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VADDSS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x58) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VADDSS") + } + return p +} + +// VADDSUBPD performs "Packed Double-FP Add/Subtract". +// +// Mnemonic : VADDSUBPD +// Supported forms : (4 forms) +// +// * VADDSUBPD xmm, xmm, xmm [AVX] +// * VADDSUBPD m128, xmm, xmm [AVX] +// * VADDSUBPD ymm, ymm, ymm [AVX] +// * VADDSUBPD m256, ymm, ymm [AVX] +// +func (self *Program) VADDSUBPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VADDSUBPD", 3, Operands { v0, v1, v2 }) + // VADDSUBPD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd0) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDSUBPD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd0) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VADDSUBPD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd0) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDSUBPD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd0) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VADDSUBPD") + } + return p +} + +// VADDSUBPS performs "Packed Single-FP Add/Subtract". +// +// Mnemonic : VADDSUBPS +// Supported forms : (4 forms) +// +// * VADDSUBPS xmm, xmm, xmm [AVX] +// * VADDSUBPS m128, xmm, xmm [AVX] +// * VADDSUBPS ymm, ymm, ymm [AVX] +// * VADDSUBPS m256, ymm, ymm [AVX] +// +func (self *Program) VADDSUBPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VADDSUBPS", 3, Operands { v0, v1, v2 }) + // VADDSUBPS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd0) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDSUBPS m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd0) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VADDSUBPS ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd0) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VADDSUBPS m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd0) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VADDSUBPS") + } + return p +} + +// VAESDEC performs "Perform One Round of an AES Decryption Flow". +// +// Mnemonic : VAESDEC +// Supported forms : (2 forms) +// +// * VAESDEC xmm, xmm, xmm [AES,AVX] +// * VAESDEC m128, xmm, xmm [AES,AVX] +// +func (self *Program) VAESDEC(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VAESDEC", 3, Operands { v0, v1, v2 }) + // VAESDEC xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX | ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xde) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VAESDEC m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX | ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xde) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VAESDEC") + } + return p +} + +// VAESDECLAST performs "Perform Last Round of an AES Decryption Flow". +// +// Mnemonic : VAESDECLAST +// Supported forms : (2 forms) +// +// * VAESDECLAST xmm, xmm, xmm [AES,AVX] +// * VAESDECLAST m128, xmm, xmm [AES,AVX] +// +func (self *Program) VAESDECLAST(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VAESDECLAST", 3, Operands { v0, v1, v2 }) + // VAESDECLAST xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX | ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VAESDECLAST m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX | ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xdf) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VAESDECLAST") + } + return p +} + +// VAESENC performs "Perform One Round of an AES Encryption Flow". +// +// Mnemonic : VAESENC +// Supported forms : (2 forms) +// +// * VAESENC xmm, xmm, xmm [AES,AVX] +// * VAESENC m128, xmm, xmm [AES,AVX] +// +func (self *Program) VAESENC(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VAESENC", 3, Operands { v0, v1, v2 }) + // VAESENC xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX | ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xdc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VAESENC m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX | ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xdc) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VAESENC") + } + return p +} + +// VAESENCLAST performs "Perform Last Round of an AES Encryption Flow". +// +// Mnemonic : VAESENCLAST +// Supported forms : (2 forms) +// +// * VAESENCLAST xmm, xmm, xmm [AES,AVX] +// * VAESENCLAST m128, xmm, xmm [AES,AVX] +// +func (self *Program) VAESENCLAST(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VAESENCLAST", 3, Operands { v0, v1, v2 }) + // VAESENCLAST xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX | ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xdd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VAESENCLAST m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX | ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xdd) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VAESENCLAST") + } + return p +} + +// VAESIMC performs "Perform the AES InvMixColumn Transformation". +// +// Mnemonic : VAESIMC +// Supported forms : (2 forms) +// +// * VAESIMC xmm, xmm [AES,AVX] +// * VAESIMC m128, xmm [AES,AVX] +// +func (self *Program) VAESIMC(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VAESIMC", 2, Operands { v0, v1 }) + // VAESIMC xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX | ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VAESIMC m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX | ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0xdb) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VAESIMC") + } + return p +} + +// VAESKEYGENASSIST performs "AES Round Key Generation Assist". +// +// Mnemonic : VAESKEYGENASSIST +// Supported forms : (2 forms) +// +// * VAESKEYGENASSIST imm8, xmm, xmm [AES,AVX] +// * VAESKEYGENASSIST imm8, m128, xmm [AES,AVX] +// +func (self *Program) VAESKEYGENASSIST(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VAESKEYGENASSIST", 3, Operands { v0, v1, v2 }) + // VAESKEYGENASSIST imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX | ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VAESKEYGENASSIST imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AVX | ISA_AES) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[2]), addr(v[1]), 0) + m.emit(0xdf) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VAESKEYGENASSIST") + } + return p +} + +// VALIGND performs "Align Doubleword Vectors". +// +// Mnemonic : VALIGND +// Supported forms : (6 forms) +// +// * VALIGND imm8, m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VALIGND imm8, zmm, zmm, zmm{k}{z} [AVX512F] +// * VALIGND imm8, m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VALIGND imm8, xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VALIGND imm8, m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VALIGND imm8, ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VALIGND(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VALIGND", 4, Operands { v0, v1, v2, v3 }) + // VALIGND imm8, m512/m32bcst, zmm, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x03) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VALIGND imm8, zmm, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x03) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VALIGND imm8, m128/m32bcst, xmm, xmm{k}{z} + if isImm8(v0) && isM128M32bcst(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x03) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VALIGND imm8, xmm, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x03) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VALIGND imm8, m256/m32bcst, ymm, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x03) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VALIGND imm8, ymm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x03) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VALIGND") + } + return p +} + +// VALIGNQ performs "Align Quadword Vectors". +// +// Mnemonic : VALIGNQ +// Supported forms : (6 forms) +// +// * VALIGNQ imm8, m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VALIGNQ imm8, zmm, zmm, zmm{k}{z} [AVX512F] +// * VALIGNQ imm8, m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VALIGNQ imm8, xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VALIGNQ imm8, m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VALIGNQ imm8, ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VALIGNQ(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VALIGNQ", 4, Operands { v0, v1, v2, v3 }) + // VALIGNQ imm8, m512/m64bcst, zmm, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x03) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VALIGNQ imm8, zmm, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x03) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VALIGNQ imm8, m128/m64bcst, xmm, xmm{k}{z} + if isImm8(v0) && isM128M64bcst(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x03) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VALIGNQ imm8, xmm, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x03) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VALIGNQ imm8, m256/m64bcst, ymm, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x03) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VALIGNQ imm8, ymm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x03) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VALIGNQ") + } + return p +} + +// VANDNPD performs "Bitwise Logical AND NOT of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VANDNPD +// Supported forms : (10 forms) +// +// * VANDNPD xmm, xmm, xmm [AVX] +// * VANDNPD m128, xmm, xmm [AVX] +// * VANDNPD ymm, ymm, ymm [AVX] +// * VANDNPD m256, ymm, ymm [AVX] +// * VANDNPD m512/m64bcst, zmm, zmm{k}{z} [AVX512DQ] +// * VANDNPD zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VANDNPD m128/m64bcst, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VANDNPD xmm, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VANDNPD m256/m64bcst, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VANDNPD ymm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VANDNPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VANDNPD", 3, Operands { v0, v1, v2 }) + // VANDNPD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x55) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDNPD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x55) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VANDNPD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x55) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDNPD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x55) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VANDNPD m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x55) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VANDNPD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x55) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDNPD m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x55) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VANDNPD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x55) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDNPD m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x55) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VANDNPD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x55) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VANDNPD") + } + return p +} + +// VANDNPS performs "Bitwise Logical AND NOT of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VANDNPS +// Supported forms : (10 forms) +// +// * VANDNPS xmm, xmm, xmm [AVX] +// * VANDNPS m128, xmm, xmm [AVX] +// * VANDNPS ymm, ymm, ymm [AVX] +// * VANDNPS m256, ymm, ymm [AVX] +// * VANDNPS m512/m32bcst, zmm, zmm{k}{z} [AVX512DQ] +// * VANDNPS zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VANDNPS m128/m32bcst, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VANDNPS xmm, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VANDNPS m256/m32bcst, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VANDNPS ymm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VANDNPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VANDNPS", 3, Operands { v0, v1, v2 }) + // VANDNPS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x55) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDNPS m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x55) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VANDNPS ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x55) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDNPS m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x55) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VANDNPS m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x55) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VANDNPS zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x55) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDNPS m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x55) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VANDNPS xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x55) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDNPS m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x55) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VANDNPS ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x55) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VANDNPS") + } + return p +} + +// VANDPD performs "Bitwise Logical AND of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VANDPD +// Supported forms : (10 forms) +// +// * VANDPD xmm, xmm, xmm [AVX] +// * VANDPD m128, xmm, xmm [AVX] +// * VANDPD ymm, ymm, ymm [AVX] +// * VANDPD m256, ymm, ymm [AVX] +// * VANDPD m512/m64bcst, zmm, zmm{k}{z} [AVX512DQ] +// * VANDPD zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VANDPD m128/m64bcst, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VANDPD xmm, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VANDPD m256/m64bcst, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VANDPD ymm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VANDPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VANDPD", 3, Operands { v0, v1, v2 }) + // VANDPD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x54) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDPD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x54) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VANDPD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x54) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDPD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x54) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VANDPD m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x54) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VANDPD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x54) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDPD m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x54) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VANDPD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x54) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDPD m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x54) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VANDPD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x54) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VANDPD") + } + return p +} + +// VANDPS performs "Bitwise Logical AND of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VANDPS +// Supported forms : (10 forms) +// +// * VANDPS xmm, xmm, xmm [AVX] +// * VANDPS m128, xmm, xmm [AVX] +// * VANDPS ymm, ymm, ymm [AVX] +// * VANDPS m256, ymm, ymm [AVX] +// * VANDPS m512/m32bcst, zmm, zmm{k}{z} [AVX512DQ] +// * VANDPS zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VANDPS m128/m32bcst, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VANDPS xmm, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VANDPS m256/m32bcst, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VANDPS ymm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VANDPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VANDPS", 3, Operands { v0, v1, v2 }) + // VANDPS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x54) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDPS m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x54) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VANDPS ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x54) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDPS m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x54) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VANDPS m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x54) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VANDPS zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x54) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDPS m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x54) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VANDPS xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x54) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VANDPS m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x54) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VANDPS ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x54) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VANDPS") + } + return p +} + +// VBLENDMPD performs "Blend Packed Double-Precision Floating-Point Vectors Using an OpMask Control". +// +// Mnemonic : VBLENDMPD +// Supported forms : (6 forms) +// +// * VBLENDMPD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VBLENDMPD zmm, zmm, zmm{k}{z} [AVX512F] +// * VBLENDMPD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VBLENDMPD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VBLENDMPD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VBLENDMPD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VBLENDMPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VBLENDMPD", 3, Operands { v0, v1, v2 }) + // VBLENDMPD m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x65) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VBLENDMPD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x65) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VBLENDMPD m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x65) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VBLENDMPD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x65) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VBLENDMPD m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x65) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VBLENDMPD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x65) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VBLENDMPD") + } + return p +} + +// VBLENDMPS performs "Blend Packed Single-Precision Floating-Point Vectors Using an OpMask Control". +// +// Mnemonic : VBLENDMPS +// Supported forms : (6 forms) +// +// * VBLENDMPS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VBLENDMPS zmm, zmm, zmm{k}{z} [AVX512F] +// * VBLENDMPS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VBLENDMPS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VBLENDMPS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VBLENDMPS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VBLENDMPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VBLENDMPS", 3, Operands { v0, v1, v2 }) + // VBLENDMPS m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x65) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VBLENDMPS zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x65) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VBLENDMPS m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x65) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VBLENDMPS xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x65) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VBLENDMPS m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x65) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VBLENDMPS ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x65) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VBLENDMPS") + } + return p +} + +// VBLENDPD performs "Blend Packed Double Precision Floating-Point Values". +// +// Mnemonic : VBLENDPD +// Supported forms : (4 forms) +// +// * VBLENDPD imm8, xmm, xmm, xmm [AVX] +// * VBLENDPD imm8, m128, xmm, xmm [AVX] +// * VBLENDPD imm8, ymm, ymm, ymm [AVX] +// * VBLENDPD imm8, m256, ymm, ymm [AVX] +// +func (self *Program) VBLENDPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VBLENDPD", 4, Operands { v0, v1, v2, v3 }) + // VBLENDPD imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x0d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VBLENDPD imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x0d) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VBLENDPD imm8, ymm, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x0d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VBLENDPD imm8, m256, ymm, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x0d) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VBLENDPD") + } + return p +} + +// VBLENDPS performs " Blend Packed Single Precision Floating-Point Values". +// +// Mnemonic : VBLENDPS +// Supported forms : (4 forms) +// +// * VBLENDPS imm8, xmm, xmm, xmm [AVX] +// * VBLENDPS imm8, m128, xmm, xmm [AVX] +// * VBLENDPS imm8, ymm, ymm, ymm [AVX] +// * VBLENDPS imm8, m256, ymm, ymm [AVX] +// +func (self *Program) VBLENDPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VBLENDPS", 4, Operands { v0, v1, v2, v3 }) + // VBLENDPS imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x0c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VBLENDPS imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x0c) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VBLENDPS imm8, ymm, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x0c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VBLENDPS imm8, m256, ymm, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x0c) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VBLENDPS") + } + return p +} + +// VBLENDVPD performs " Variable Blend Packed Double Precision Floating-Point Values". +// +// Mnemonic : VBLENDVPD +// Supported forms : (4 forms) +// +// * VBLENDVPD xmm, xmm, xmm, xmm [AVX] +// * VBLENDVPD xmm, m128, xmm, xmm [AVX] +// * VBLENDVPD ymm, ymm, ymm, ymm [AVX] +// * VBLENDVPD ymm, m256, ymm, ymm [AVX] +// +func (self *Program) VBLENDVPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VBLENDVPD", 4, Operands { v0, v1, v2, v3 }) + // VBLENDVPD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x4b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VBLENDVPD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x4b) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VBLENDVPD ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x4b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VBLENDVPD ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x4b) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VBLENDVPD") + } + return p +} + +// VBLENDVPS performs " Variable Blend Packed Single Precision Floating-Point Values". +// +// Mnemonic : VBLENDVPS +// Supported forms : (4 forms) +// +// * VBLENDVPS xmm, xmm, xmm, xmm [AVX] +// * VBLENDVPS xmm, m128, xmm, xmm [AVX] +// * VBLENDVPS ymm, ymm, ymm, ymm [AVX] +// * VBLENDVPS ymm, m256, ymm, ymm [AVX] +// +func (self *Program) VBLENDVPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VBLENDVPS", 4, Operands { v0, v1, v2, v3 }) + // VBLENDVPS xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x4a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VBLENDVPS xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x4a) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VBLENDVPS ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x4a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VBLENDVPS ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x4a) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VBLENDVPS") + } + return p +} + +// VBROADCASTF128 performs "Broadcast 128 Bit of Floating-Point Data". +// +// Mnemonic : VBROADCASTF128 +// Supported forms : (1 form) +// +// * VBROADCASTF128 m128, ymm [AVX] +// +func (self *Program) VBROADCASTF128(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTF128", 2, Operands { v0, v1 }) + // VBROADCASTF128 m128, ymm + if isM128(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x1a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTF128") + } + return p +} + +// VBROADCASTF32X2 performs "Broadcast Two Single-Precision Floating-Point Elements". +// +// Mnemonic : VBROADCASTF32X2 +// Supported forms : (4 forms) +// +// * VBROADCASTF32X2 xmm, zmm{k}{z} [AVX512DQ] +// * VBROADCASTF32X2 m64, zmm{k}{z} [AVX512DQ] +// * VBROADCASTF32X2 xmm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VBROADCASTF32X2 m64, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VBROADCASTF32X2(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTF32X2", 2, Operands { v0, v1 }) + // VBROADCASTF32X2 xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x19) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VBROADCASTF32X2 m64, zmm{k}{z} + if isM64(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x19) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VBROADCASTF32X2 xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x19) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VBROADCASTF32X2 m64, ymm{k}{z} + if isM64(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x19) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTF32X2") + } + return p +} + +// VBROADCASTF32X4 performs "Broadcast Four Single-Precision Floating-Point Elements". +// +// Mnemonic : VBROADCASTF32X4 +// Supported forms : (2 forms) +// +// * VBROADCASTF32X4 m128, zmm{k}{z} [AVX512F] +// * VBROADCASTF32X4 m128, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VBROADCASTF32X4(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTF32X4", 2, Operands { v0, v1 }) + // VBROADCASTF32X4 m128, zmm{k}{z} + if isM128(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x1a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VBROADCASTF32X4 m128, ymm{k}{z} + if isM128(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x1a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTF32X4") + } + return p +} + +// VBROADCASTF32X8 performs "Broadcast Eight Single-Precision Floating-Point Elements". +// +// Mnemonic : VBROADCASTF32X8 +// Supported forms : (1 form) +// +// * VBROADCASTF32X8 m256, zmm{k}{z} [AVX512DQ] +// +func (self *Program) VBROADCASTF32X8(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTF32X8", 2, Operands { v0, v1 }) + // VBROADCASTF32X8 m256, zmm{k}{z} + if isM256(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x1b) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTF32X8") + } + return p +} + +// VBROADCASTF64X2 performs "Broadcast Two Double-Precision Floating-Point Elements". +// +// Mnemonic : VBROADCASTF64X2 +// Supported forms : (2 forms) +// +// * VBROADCASTF64X2 m128, zmm{k}{z} [AVX512DQ] +// * VBROADCASTF64X2 m128, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VBROADCASTF64X2(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTF64X2", 2, Operands { v0, v1 }) + // VBROADCASTF64X2 m128, zmm{k}{z} + if isM128(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x1a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VBROADCASTF64X2 m128, ymm{k}{z} + if isM128(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x1a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTF64X2") + } + return p +} + +// VBROADCASTF64X4 performs "Broadcast Four Double-Precision Floating-Point Elements". +// +// Mnemonic : VBROADCASTF64X4 +// Supported forms : (1 form) +// +// * VBROADCASTF64X4 m256, zmm{k}{z} [AVX512F] +// +func (self *Program) VBROADCASTF64X4(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTF64X4", 2, Operands { v0, v1 }) + // VBROADCASTF64X4 m256, zmm{k}{z} + if isM256(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x1b) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTF64X4") + } + return p +} + +// VBROADCASTI128 performs "Broadcast 128 Bits of Integer Data". +// +// Mnemonic : VBROADCASTI128 +// Supported forms : (1 form) +// +// * VBROADCASTI128 m128, ymm [AVX2] +// +func (self *Program) VBROADCASTI128(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTI128", 2, Operands { v0, v1 }) + // VBROADCASTI128 m128, ymm + if isM128(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTI128") + } + return p +} + +// VBROADCASTI32X2 performs "Broadcast Two Doubleword Elements". +// +// Mnemonic : VBROADCASTI32X2 +// Supported forms : (6 forms) +// +// * VBROADCASTI32X2 xmm, zmm{k}{z} [AVX512DQ] +// * VBROADCASTI32X2 m64, zmm{k}{z} [AVX512DQ] +// * VBROADCASTI32X2 xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VBROADCASTI32X2 xmm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VBROADCASTI32X2 m64, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VBROADCASTI32X2 m64, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VBROADCASTI32X2(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTI32X2", 2, Operands { v0, v1 }) + // VBROADCASTI32X2 xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x59) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VBROADCASTI32X2 m64, zmm{k}{z} + if isM64(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x59) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VBROADCASTI32X2 xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x59) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VBROADCASTI32X2 xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x59) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VBROADCASTI32X2 m64, xmm{k}{z} + if isM64(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x59) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VBROADCASTI32X2 m64, ymm{k}{z} + if isM64(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x59) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTI32X2") + } + return p +} + +// VBROADCASTI32X4 performs "Broadcast Four Doubleword Elements". +// +// Mnemonic : VBROADCASTI32X4 +// Supported forms : (2 forms) +// +// * VBROADCASTI32X4 m128, zmm{k}{z} [AVX512F] +// * VBROADCASTI32X4 m128, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VBROADCASTI32X4(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTI32X4", 2, Operands { v0, v1 }) + // VBROADCASTI32X4 m128, zmm{k}{z} + if isM128(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VBROADCASTI32X4 m128, ymm{k}{z} + if isM128(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTI32X4") + } + return p +} + +// VBROADCASTI32X8 performs "Broadcast Eight Doubleword Elements". +// +// Mnemonic : VBROADCASTI32X8 +// Supported forms : (1 form) +// +// * VBROADCASTI32X8 m256, zmm{k}{z} [AVX512DQ] +// +func (self *Program) VBROADCASTI32X8(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTI32X8", 2, Operands { v0, v1 }) + // VBROADCASTI32X8 m256, zmm{k}{z} + if isM256(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTI32X8") + } + return p +} + +// VBROADCASTI64X2 performs "Broadcast Two Quadword Elements". +// +// Mnemonic : VBROADCASTI64X2 +// Supported forms : (2 forms) +// +// * VBROADCASTI64X2 m128, zmm{k}{z} [AVX512DQ] +// * VBROADCASTI64X2 m128, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VBROADCASTI64X2(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTI64X2", 2, Operands { v0, v1 }) + // VBROADCASTI64X2 m128, zmm{k}{z} + if isM128(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VBROADCASTI64X2 m128, ymm{k}{z} + if isM128(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTI64X2") + } + return p +} + +// VBROADCASTI64X4 performs "Broadcast Four Quadword Elements". +// +// Mnemonic : VBROADCASTI64X4 +// Supported forms : (1 form) +// +// * VBROADCASTI64X4 m256, zmm{k}{z} [AVX512F] +// +func (self *Program) VBROADCASTI64X4(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTI64X4", 2, Operands { v0, v1 }) + // VBROADCASTI64X4 m256, zmm{k}{z} + if isM256(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTI64X4") + } + return p +} + +// VBROADCASTSD performs "Broadcast Double-Precision Floating-Point Element". +// +// Mnemonic : VBROADCASTSD +// Supported forms : (6 forms) +// +// * VBROADCASTSD m64, ymm [AVX] +// * VBROADCASTSD xmm, ymm [AVX2] +// * VBROADCASTSD xmm, zmm{k}{z} [AVX512F] +// * VBROADCASTSD m64, zmm{k}{z} [AVX512F] +// * VBROADCASTSD xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VBROADCASTSD m64, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VBROADCASTSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTSD", 2, Operands { v0, v1 }) + // VBROADCASTSD m64, ymm + if isM64(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x19) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VBROADCASTSD xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x19) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VBROADCASTSD xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x19) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VBROADCASTSD m64, zmm{k}{z} + if isM64(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x19) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VBROADCASTSD xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x19) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VBROADCASTSD m64, ymm{k}{z} + if isM64(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x19) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTSD") + } + return p +} + +// VBROADCASTSS performs "Broadcast Single-Precision Floating-Point Element". +// +// Mnemonic : VBROADCASTSS +// Supported forms : (8 forms) +// +// * VBROADCASTSS m32, xmm [AVX] +// * VBROADCASTSS m32, ymm [AVX] +// * VBROADCASTSS xmm, xmm [AVX2] +// * VBROADCASTSS xmm, ymm [AVX2] +// * VBROADCASTSS xmm, zmm{k}{z} [AVX512F] +// * VBROADCASTSS m32, zmm{k}{z} [AVX512F] +// * VBROADCASTSS xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VBROADCASTSS m32, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VBROADCASTSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VBROADCASTSS", 2, Operands { v0, v1 }) + // VBROADCASTSS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x18) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VBROADCASTSS m32, ymm + if isM32(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x18) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VBROADCASTSS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x18) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VBROADCASTSS xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x18) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VBROADCASTSS xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x18) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VBROADCASTSS m32, zmm{k}{z} + if isM32(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x18) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VBROADCASTSS xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x18) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VBROADCASTSS m32, ymm{k}{z} + if isM32(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x18) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VBROADCASTSS") + } + return p +} + +// VCMPPD performs "Compare Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VCMPPD +// Supported forms : (11 forms) +// +// * VCMPPD imm8, xmm, xmm, xmm [AVX] +// * VCMPPD imm8, m128, xmm, xmm [AVX] +// * VCMPPD imm8, ymm, ymm, ymm [AVX] +// * VCMPPD imm8, m256, ymm, ymm [AVX] +// * VCMPPD imm8, m512/m64bcst, zmm, k{k} [AVX512F] +// * VCMPPD imm8, {sae}, zmm, zmm, k{k} [AVX512F] +// * VCMPPD imm8, zmm, zmm, k{k} [AVX512F] +// * VCMPPD imm8, m128/m64bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VCMPPD imm8, xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VCMPPD imm8, m256/m64bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VCMPPD imm8, ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VCMPPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCMPPD", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VCMPPD", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VCMPPD takes 4 or 5 operands") + } + // VCMPPD imm8, xmm, xmm, xmm + if len(vv) == 0 && isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[3]), v[1], hlcode(v[2])) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPD imm8, m128, xmm, xmm + if len(vv) == 0 && isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPD imm8, ymm, ymm, ymm + if len(vv) == 0 && isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[3]), v[1], hlcode(v[2])) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPD imm8, m256, ymm, ymm + if len(vv) == 0 && isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPD imm8, m512/m64bcst, zmm, k{k} + if len(vv) == 0 && isImm8(v0) && isM512M64bcst(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPD imm8, {sae}, zmm, zmm, k{k} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isZMM(v2) && isZMM(v3) && isKk(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0xfd ^ (hlcode(v[3]) << 3)) + m.emit((0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPD imm8, zmm, zmm, k{k} + if len(vv) == 0 && isImm8(v0) && isZMM(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPD imm8, m128/m64bcst, xmm, k{k} + if len(vv) == 0 && isImm8(v0) && isM128M64bcst(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPD imm8, xmm, xmm, k{k} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPD imm8, m256/m64bcst, ymm, k{k} + if len(vv) == 0 && isImm8(v0) && isM256M64bcst(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPD imm8, ymm, ymm, k{k} + if len(vv) == 0 && isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCMPPD") + } + return p +} + +// VCMPPS performs "Compare Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VCMPPS +// Supported forms : (11 forms) +// +// * VCMPPS imm8, xmm, xmm, xmm [AVX] +// * VCMPPS imm8, m128, xmm, xmm [AVX] +// * VCMPPS imm8, ymm, ymm, ymm [AVX] +// * VCMPPS imm8, m256, ymm, ymm [AVX] +// * VCMPPS imm8, m512/m32bcst, zmm, k{k} [AVX512F] +// * VCMPPS imm8, {sae}, zmm, zmm, k{k} [AVX512F] +// * VCMPPS imm8, zmm, zmm, k{k} [AVX512F] +// * VCMPPS imm8, m128/m32bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VCMPPS imm8, xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VCMPPS imm8, m256/m32bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VCMPPS imm8, ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VCMPPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCMPPS", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VCMPPS", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VCMPPS takes 4 or 5 operands") + } + // VCMPPS imm8, xmm, xmm, xmm + if len(vv) == 0 && isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[3]), v[1], hlcode(v[2])) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPS imm8, m128, xmm, xmm + if len(vv) == 0 && isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPS imm8, ymm, ymm, ymm + if len(vv) == 0 && isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[3]), v[1], hlcode(v[2])) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPS imm8, m256, ymm, ymm + if len(vv) == 0 && isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPS imm8, m512/m32bcst, zmm, k{k} + if len(vv) == 0 && isImm8(v0) && isM512M32bcst(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPS imm8, {sae}, zmm, zmm, k{k} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isZMM(v2) && isZMM(v3) && isKk(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0x7c ^ (hlcode(v[3]) << 3)) + m.emit((0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPS imm8, zmm, zmm, k{k} + if len(vv) == 0 && isImm8(v0) && isZMM(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPS imm8, m128/m32bcst, xmm, k{k} + if len(vv) == 0 && isImm8(v0) && isM128M32bcst(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPS imm8, xmm, xmm, k{k} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPS imm8, m256/m32bcst, ymm, k{k} + if len(vv) == 0 && isImm8(v0) && isM256M32bcst(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPPS imm8, ymm, ymm, k{k} + if len(vv) == 0 && isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCMPPS") + } + return p +} + +// VCMPSD performs "Compare Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VCMPSD +// Supported forms : (5 forms) +// +// * VCMPSD imm8, xmm, xmm, xmm [AVX] +// * VCMPSD imm8, m64, xmm, xmm [AVX] +// * VCMPSD imm8, m64, xmm, k{k} [AVX512F] +// * VCMPSD imm8, {sae}, xmm, xmm, k{k} [AVX512F] +// * VCMPSD imm8, xmm, xmm, k{k} [AVX512F] +// +func (self *Program) VCMPSD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCMPSD", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VCMPSD", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VCMPSD takes 4 or 5 operands") + } + // VCMPSD imm8, xmm, xmm, xmm + if len(vv) == 0 && isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[3]), v[1], hlcode(v[2])) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPSD imm8, m64, xmm, xmm + if len(vv) == 0 && isImm8(v0) && isM64(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPSD imm8, m64, xmm, k{k} + if len(vv) == 0 && isImm8(v0) && isM64(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 8) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPSD imm8, {sae}, xmm, xmm, k{k} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) && isKk(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0xff ^ (hlcode(v[3]) << 3)) + m.emit((0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPSD imm8, xmm, xmm, k{k} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xff ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCMPSD") + } + return p +} + +// VCMPSS performs "Compare Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VCMPSS +// Supported forms : (5 forms) +// +// * VCMPSS imm8, xmm, xmm, xmm [AVX] +// * VCMPSS imm8, m32, xmm, xmm [AVX] +// * VCMPSS imm8, m32, xmm, k{k} [AVX512F] +// * VCMPSS imm8, {sae}, xmm, xmm, k{k} [AVX512F] +// * VCMPSS imm8, xmm, xmm, k{k} [AVX512F] +// +func (self *Program) VCMPSS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCMPSS", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VCMPSS", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VCMPSS takes 4 or 5 operands") + } + // VCMPSS imm8, xmm, xmm, xmm + if len(vv) == 0 && isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[3]), v[1], hlcode(v[2])) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPSS imm8, m32, xmm, xmm + if len(vv) == 0 && isImm8(v0) && isM32(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPSS imm8, m32, xmm, k{k} + if len(vv) == 0 && isImm8(v0) && isM32(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0xc2) + m.mrsd(lcode(v[3]), addr(v[1]), 4) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPSS imm8, {sae}, xmm, xmm, k{k} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) && isKk(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0x7e ^ (hlcode(v[3]) << 3)) + m.emit((0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VCMPSS imm8, xmm, xmm, k{k} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7e ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCMPSS") + } + return p +} + +// VCOMISD performs "Compare Scalar Ordered Double-Precision Floating-Point Values and Set EFLAGS". +// +// Mnemonic : VCOMISD +// Supported forms : (5 forms) +// +// * VCOMISD xmm, xmm [AVX] +// * VCOMISD m64, xmm [AVX] +// * VCOMISD m64, xmm [AVX512F] +// * VCOMISD {sae}, xmm, xmm [AVX512F] +// * VCOMISD xmm, xmm [AVX512F] +// +func (self *Program) VCOMISD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCOMISD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCOMISD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCOMISD takes 2 or 3 operands") + } + // VCOMISD xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0x2f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCOMISD m64, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCOMISD m64, xmm + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2f) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCOMISD {sae}, xmm, xmm + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit(0x18) + m.emit(0x2f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCOMISD xmm, xmm + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit(0x48) + m.emit(0x2f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCOMISD") + } + return p +} + +// VCOMISS performs "Compare Scalar Ordered Single-Precision Floating-Point Values and Set EFLAGS". +// +// Mnemonic : VCOMISS +// Supported forms : (5 forms) +// +// * VCOMISS xmm, xmm [AVX] +// * VCOMISS m32, xmm [AVX] +// * VCOMISS m32, xmm [AVX512F] +// * VCOMISS {sae}, xmm, xmm [AVX512F] +// * VCOMISS xmm, xmm [AVX512F] +// +func (self *Program) VCOMISS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCOMISS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCOMISS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCOMISS takes 2 or 3 operands") + } + // VCOMISS xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), v[0], 0) + m.emit(0x2f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCOMISS m32, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCOMISS m32, xmm + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2f) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VCOMISS {sae}, xmm, xmm + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c) + m.emit(0x18) + m.emit(0x2f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCOMISS xmm, xmm + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit(0x48) + m.emit(0x2f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCOMISS") + } + return p +} + +// VCOMPRESSPD performs "Store Sparse Packed Double-Precision Floating-Point Values into Dense Memory/Register". +// +// Mnemonic : VCOMPRESSPD +// Supported forms : (6 forms) +// +// * VCOMPRESSPD zmm, zmm{k}{z} [AVX512F] +// * VCOMPRESSPD zmm, m512{k}{z} [AVX512F] +// * VCOMPRESSPD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCOMPRESSPD xmm, m128{k}{z} [AVX512F,AVX512VL] +// * VCOMPRESSPD ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VCOMPRESSPD ymm, m256{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCOMPRESSPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VCOMPRESSPD", 2, Operands { v0, v1 }) + // VCOMPRESSPD zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x8a) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VCOMPRESSPD zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x8a) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VCOMPRESSPD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x8a) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VCOMPRESSPD xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x8a) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VCOMPRESSPD ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x8a) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VCOMPRESSPD ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x8a) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VCOMPRESSPD") + } + return p +} + +// VCOMPRESSPS performs "Store Sparse Packed Single-Precision Floating-Point Values into Dense Memory/Register". +// +// Mnemonic : VCOMPRESSPS +// Supported forms : (6 forms) +// +// * VCOMPRESSPS zmm, zmm{k}{z} [AVX512F] +// * VCOMPRESSPS zmm, m512{k}{z} [AVX512F] +// * VCOMPRESSPS xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCOMPRESSPS xmm, m128{k}{z} [AVX512F,AVX512VL] +// * VCOMPRESSPS ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VCOMPRESSPS ymm, m256{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCOMPRESSPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VCOMPRESSPS", 2, Operands { v0, v1 }) + // VCOMPRESSPS zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x8a) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VCOMPRESSPS zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x8a) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VCOMPRESSPS xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x8a) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VCOMPRESSPS xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x8a) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VCOMPRESSPS ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x8a) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VCOMPRESSPS ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x8a) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VCOMPRESSPS") + } + return p +} + +// VCVTDQ2PD performs "Convert Packed Dword Integers to Packed Double-Precision FP Values". +// +// Mnemonic : VCVTDQ2PD +// Supported forms : (10 forms) +// +// * VCVTDQ2PD xmm, xmm [AVX] +// * VCVTDQ2PD m64, xmm [AVX] +// * VCVTDQ2PD xmm, ymm [AVX] +// * VCVTDQ2PD m128, ymm [AVX] +// * VCVTDQ2PD m256/m32bcst, zmm{k}{z} [AVX512F] +// * VCVTDQ2PD ymm, zmm{k}{z} [AVX512F] +// * VCVTDQ2PD m64/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTDQ2PD m128/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VCVTDQ2PD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTDQ2PD xmm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTDQ2PD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VCVTDQ2PD", 2, Operands { v0, v1 }) + // VCVTDQ2PD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), v[0], 0) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTDQ2PD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), addr(v[0]), 0) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTDQ2PD xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[1]), v[0], 0) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTDQ2PD m128, ymm + if isM128(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[1]), addr(v[0]), 0) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTDQ2PD m256/m32bcst, zmm{k}{z} + if isM256M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTDQ2PD ymm, zmm{k}{z} + if isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTDQ2PD m64/m32bcst, xmm{k}{z} + if isM64M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTDQ2PD m128/m32bcst, ymm{k}{z} + if isM128M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTDQ2PD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTDQ2PD xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTDQ2PD") + } + return p +} + +// VCVTDQ2PS performs "Convert Packed Dword Integers to Packed Single-Precision FP Values". +// +// Mnemonic : VCVTDQ2PS +// Supported forms : (11 forms) +// +// * VCVTDQ2PS xmm, xmm [AVX] +// * VCVTDQ2PS m128, xmm [AVX] +// * VCVTDQ2PS ymm, ymm [AVX] +// * VCVTDQ2PS m256, ymm [AVX] +// * VCVTDQ2PS m512/m32bcst, zmm{k}{z} [AVX512F] +// * VCVTDQ2PS {er}, zmm, zmm{k}{z} [AVX512F] +// * VCVTDQ2PS zmm, zmm{k}{z} [AVX512F] +// * VCVTDQ2PS m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTDQ2PS m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VCVTDQ2PS xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTDQ2PS ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTDQ2PS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTDQ2PS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTDQ2PS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTDQ2PS takes 2 or 3 operands") + } + // VCVTDQ2PS xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), v[0], 0) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTDQ2PS m128, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), addr(v[0]), 0) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTDQ2PS ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), v[0], 0) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTDQ2PS m256, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), addr(v[0]), 0) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTDQ2PS m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTDQ2PS {er}, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTDQ2PS zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTDQ2PS m128/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTDQ2PS m256/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTDQ2PS xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTDQ2PS ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTDQ2PS") + } + return p +} + +// VCVTPD2DQ performs "Convert Packed Double-Precision FP Values to Packed Dword Integers". +// +// Mnemonic : VCVTPD2DQ +// Supported forms : (11 forms) +// +// * VCVTPD2DQ xmm, xmm [AVX] +// * VCVTPD2DQ ymm, xmm [AVX] +// * VCVTPD2DQ m128, xmm [AVX] +// * VCVTPD2DQ m256, xmm [AVX] +// * VCVTPD2DQ m512/m64bcst, ymm{k}{z} [AVX512F] +// * VCVTPD2DQ {er}, zmm, ymm{k}{z} [AVX512F] +// * VCVTPD2DQ zmm, ymm{k}{z} [AVX512F] +// * VCVTPD2DQ m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPD2DQ m256/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPD2DQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPD2DQ ymm, xmm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTPD2DQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTPD2DQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTPD2DQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTPD2DQ takes 2 or 3 operands") + } + // VCVTPD2DQ xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[1]), v[0], 0) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2DQ ymm, xmm + if len(vv) == 0 && isYMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[1]), v[0], 0) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2DQ m128, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[1]), addr(v[0]), 0) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTPD2DQ m256, xmm + if len(vv) == 0 && isM256(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[1]), addr(v[0]), 0) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTPD2DQ m512/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTPD2DQ {er}, zmm, ymm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isYMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTPD2DQ zmm, ymm{k}{z} + if len(vv) == 0 && isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2DQ m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTPD2DQ m256/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTPD2DQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2DQ ymm, xmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTPD2DQ") + } + return p +} + +// VCVTPD2PS performs "Convert Packed Double-Precision FP Values to Packed Single-Precision FP Values". +// +// Mnemonic : VCVTPD2PS +// Supported forms : (11 forms) +// +// * VCVTPD2PS xmm, xmm [AVX] +// * VCVTPD2PS ymm, xmm [AVX] +// * VCVTPD2PS m128, xmm [AVX] +// * VCVTPD2PS m256, xmm [AVX] +// * VCVTPD2PS m512/m64bcst, ymm{k}{z} [AVX512F] +// * VCVTPD2PS {er}, zmm, ymm{k}{z} [AVX512F] +// * VCVTPD2PS zmm, ymm{k}{z} [AVX512F] +// * VCVTPD2PS m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPD2PS m256/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPD2PS xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPD2PS ymm, xmm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTPD2PS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTPD2PS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTPD2PS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTPD2PS takes 2 or 3 operands") + } + // VCVTPD2PS xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2PS ymm, xmm + if len(vv) == 0 && isYMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), v[0], 0) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2PS m128, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), addr(v[0]), 0) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTPD2PS m256, xmm + if len(vv) == 0 && isM256(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), addr(v[0]), 0) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTPD2PS m512/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTPD2PS {er}, zmm, ymm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isYMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTPD2PS zmm, ymm{k}{z} + if len(vv) == 0 && isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2PS m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTPD2PS m256/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTPD2PS xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2PS ymm, xmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTPD2PS") + } + return p +} + +// VCVTPD2QQ performs "Convert Packed Double-Precision Floating-Point Values to Packed Quadword Integers". +// +// Mnemonic : VCVTPD2QQ +// Supported forms : (7 forms) +// +// * VCVTPD2QQ m512/m64bcst, zmm{k}{z} [AVX512DQ] +// * VCVTPD2QQ {er}, zmm, zmm{k}{z} [AVX512DQ] +// * VCVTPD2QQ zmm, zmm{k}{z} [AVX512DQ] +// * VCVTPD2QQ m128/m64bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTPD2QQ m256/m64bcst, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTPD2QQ xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTPD2QQ ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VCVTPD2QQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTPD2QQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTPD2QQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTPD2QQ takes 2 or 3 operands") + } + // VCVTPD2QQ m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7b) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTPD2QQ {er}, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTPD2QQ zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2QQ m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7b) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTPD2QQ m256/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7b) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTPD2QQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2QQ ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTPD2QQ") + } + return p +} + +// VCVTPD2UDQ performs "Convert Packed Double-Precision Floating-Point Values to Packed Unsigned Doubleword Integers". +// +// Mnemonic : VCVTPD2UDQ +// Supported forms : (7 forms) +// +// * VCVTPD2UDQ m512/m64bcst, ymm{k}{z} [AVX512F] +// * VCVTPD2UDQ {er}, zmm, ymm{k}{z} [AVX512F] +// * VCVTPD2UDQ zmm, ymm{k}{z} [AVX512F] +// * VCVTPD2UDQ m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPD2UDQ m256/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPD2UDQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPD2UDQ ymm, xmm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTPD2UDQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTPD2UDQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTPD2UDQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTPD2UDQ takes 2 or 3 operands") + } + // VCVTPD2UDQ m512/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x84, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTPD2UDQ {er}, zmm, ymm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isYMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfc) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x79) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTPD2UDQ zmm, ymm{k}{z} + if len(vv) == 0 && isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfc) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2UDQ m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x84, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTPD2UDQ m256/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x84, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTPD2UDQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfc) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2UDQ ymm, xmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfc) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTPD2UDQ") + } + return p +} + +// VCVTPD2UQQ performs "Convert Packed Double-Precision Floating-Point Values to Packed Unsigned Quadword Integers". +// +// Mnemonic : VCVTPD2UQQ +// Supported forms : (7 forms) +// +// * VCVTPD2UQQ m512/m64bcst, zmm{k}{z} [AVX512DQ] +// * VCVTPD2UQQ {er}, zmm, zmm{k}{z} [AVX512DQ] +// * VCVTPD2UQQ zmm, zmm{k}{z} [AVX512DQ] +// * VCVTPD2UQQ m128/m64bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTPD2UQQ m256/m64bcst, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTPD2UQQ xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTPD2UQQ ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VCVTPD2UQQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTPD2UQQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTPD2UQQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTPD2UQQ takes 2 or 3 operands") + } + // VCVTPD2UQQ m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTPD2UQQ {er}, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x79) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTPD2UQQ zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2UQQ m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTPD2UQQ m256/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTPD2UQQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPD2UQQ ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTPD2UQQ") + } + return p +} + +// VCVTPH2PS performs "Convert Half-Precision FP Values to Single-Precision FP Values". +// +// Mnemonic : VCVTPH2PS +// Supported forms : (11 forms) +// +// * VCVTPH2PS xmm, xmm [F16C] +// * VCVTPH2PS m64, xmm [F16C] +// * VCVTPH2PS xmm, ymm [F16C] +// * VCVTPH2PS m128, ymm [F16C] +// * VCVTPH2PS m256, zmm{k}{z} [AVX512F] +// * VCVTPH2PS {sae}, ymm, zmm{k}{z} [AVX512F] +// * VCVTPH2PS ymm, zmm{k}{z} [AVX512F] +// * VCVTPH2PS xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPH2PS xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VCVTPH2PS m64, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPH2PS m128, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTPH2PS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTPH2PS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTPH2PS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTPH2PS takes 2 or 3 operands") + } + // VCVTPH2PS xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_F16C) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x13) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPH2PS m64, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) { + self.require(ISA_F16C) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x13) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTPH2PS xmm, ymm + if len(vv) == 0 && isXMM(v0) && isYMM(v1) { + self.require(ISA_F16C) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x13) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPH2PS m128, ymm + if len(vv) == 0 && isM128(v0) && isYMM(v1) { + self.require(ISA_F16C) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x13) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTPH2PS m256, zmm{k}{z} + if len(vv) == 0 && isM256(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x13) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTPH2PS {sae}, ymm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXYMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0x13) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTPH2PS ymm, zmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x13) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPH2PS xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x13) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPH2PS xmm, ymm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x13) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPH2PS m64, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x13) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTPH2PS m128, ymm{k}{z} + if len(vv) == 0 && isM128(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x13) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTPH2PS") + } + return p +} + +// VCVTPS2DQ performs "Convert Packed Single-Precision FP Values to Packed Dword Integers". +// +// Mnemonic : VCVTPS2DQ +// Supported forms : (11 forms) +// +// * VCVTPS2DQ xmm, xmm [AVX] +// * VCVTPS2DQ m128, xmm [AVX] +// * VCVTPS2DQ ymm, ymm [AVX] +// * VCVTPS2DQ m256, ymm [AVX] +// * VCVTPS2DQ m512/m32bcst, zmm{k}{z} [AVX512F] +// * VCVTPS2DQ {er}, zmm, zmm{k}{z} [AVX512F] +// * VCVTPS2DQ zmm, zmm{k}{z} [AVX512F] +// * VCVTPS2DQ m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPS2DQ m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VCVTPS2DQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPS2DQ ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTPS2DQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTPS2DQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTPS2DQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTPS2DQ takes 2 or 3 operands") + } + // VCVTPS2DQ xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2DQ m128, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), addr(v[0]), 0) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTPS2DQ ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), v[0], 0) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2DQ m256, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), addr(v[0]), 0) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTPS2DQ m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTPS2DQ {er}, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTPS2DQ zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2DQ m128/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTPS2DQ m256/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTPS2DQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2DQ ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTPS2DQ") + } + return p +} + +// VCVTPS2PD performs "Convert Packed Single-Precision FP Values to Packed Double-Precision FP Values". +// +// Mnemonic : VCVTPS2PD +// Supported forms : (11 forms) +// +// * VCVTPS2PD xmm, xmm [AVX] +// * VCVTPS2PD m64, xmm [AVX] +// * VCVTPS2PD xmm, ymm [AVX] +// * VCVTPS2PD m128, ymm [AVX] +// * VCVTPS2PD m256/m32bcst, zmm{k}{z} [AVX512F] +// * VCVTPS2PD {sae}, ymm, zmm{k}{z} [AVX512F] +// * VCVTPS2PD ymm, zmm{k}{z} [AVX512F] +// * VCVTPS2PD m64/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPS2PD m128/m32bcst, ymm{k}{z} [AVX512VL] +// * VCVTPS2PD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPS2PD xmm, ymm{k}{z} [AVX512VL] +// +func (self *Program) VCVTPS2PD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTPS2PD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTPS2PD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTPS2PD takes 2 or 3 operands") + } + // VCVTPS2PD xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), v[0], 0) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2PD m64, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), addr(v[0]), 0) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTPS2PD xmm, ymm + if len(vv) == 0 && isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), v[0], 0) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2PD m128, ymm + if len(vv) == 0 && isM128(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), addr(v[0]), 0) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTPS2PD m256/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTPS2PD {sae}, ymm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXYMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTPS2PD ymm, zmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2PD m64/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM64M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTPS2PD m128/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTPS2PD xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2PD xmm, ymm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTPS2PD") + } + return p +} + +// VCVTPS2PH performs "Convert Single-Precision FP value to Half-Precision FP value". +// +// Mnemonic : VCVTPS2PH +// Supported forms : (11 forms) +// +// * VCVTPS2PH imm8, xmm, xmm [F16C] +// * VCVTPS2PH imm8, ymm, xmm [F16C] +// * VCVTPS2PH imm8, xmm, m64 [F16C] +// * VCVTPS2PH imm8, ymm, m128 [F16C] +// * VCVTPS2PH imm8, zmm, m256{k}{z} [AVX512F] +// * VCVTPS2PH imm8, {sae}, zmm, ymm{k}{z} [AVX512F] +// * VCVTPS2PH imm8, zmm, ymm{k}{z} [AVX512F] +// * VCVTPS2PH imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPS2PH imm8, xmm, m64{k}{z} [AVX512F,AVX512VL] +// * VCVTPS2PH imm8, ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPS2PH imm8, ymm, m128{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTPS2PH(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTPS2PH", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VCVTPS2PH", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VCVTPS2PH takes 3 or 4 operands") + } + // VCVTPS2PH imm8, xmm, xmm + if len(vv) == 0 && isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_F16C) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[1]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0x79) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VCVTPS2PH imm8, ymm, xmm + if len(vv) == 0 && isImm8(v0) && isYMM(v1) && isXMM(v2) { + self.require(ISA_F16C) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[1]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0x7d) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VCVTPS2PH imm8, xmm, m64 + if len(vv) == 0 && isImm8(v0) && isXMM(v1) && isM64(v2) { + self.require(ISA_F16C) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[1]), addr(v[2]), 0) + m.emit(0x1d) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VCVTPS2PH imm8, ymm, m128 + if len(vv) == 0 && isImm8(v0) && isYMM(v1) && isM128(v2) { + self.require(ISA_F16C) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[1]), addr(v[2]), 0) + m.emit(0x1d) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VCVTPS2PH imm8, zmm, m256{k}{z} + if len(vv) == 0 && isImm8(v0) && isZMM(v1) && isM256kz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x1d) + m.mrsd(lcode(v[1]), addr(v[2]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VCVTPS2PH imm8, {sae}, zmm, ymm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isZMM(v2) && isYMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[3]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[3]) << 7) | kcode(v[3]) | 0x18) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[3])) + m.imm1(toImmAny(v[0])) + }) + } + // VCVTPS2PH imm8, zmm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isZMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VCVTPS2PH imm8, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x08) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VCVTPS2PH imm8, xmm, m64{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isM64kz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x1d) + m.mrsd(lcode(v[1]), addr(v[2]), 8) + m.imm1(toImmAny(v[0])) + }) + } + // VCVTPS2PH imm8, ymm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXYMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VCVTPS2PH imm8, ymm, m128{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXYMM(v1) && isM128kz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x1d) + m.mrsd(lcode(v[1]), addr(v[2]), 16) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTPS2PH") + } + return p +} + +// VCVTPS2QQ performs "Convert Packed Single Precision Floating-Point Values to Packed Singed Quadword Integer Values". +// +// Mnemonic : VCVTPS2QQ +// Supported forms : (7 forms) +// +// * VCVTPS2QQ m256/m32bcst, zmm{k}{z} [AVX512DQ] +// * VCVTPS2QQ {er}, ymm, zmm{k}{z} [AVX512DQ] +// * VCVTPS2QQ ymm, zmm{k}{z} [AVX512DQ] +// * VCVTPS2QQ m64/m32bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTPS2QQ m128/m32bcst, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTPS2QQ xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTPS2QQ xmm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VCVTPS2QQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTPS2QQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTPS2QQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTPS2QQ takes 2 or 3 operands") + } + // VCVTPS2QQ m256/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7b) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTPS2QQ {er}, ymm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXYMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTPS2QQ ymm, zmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2QQ m64/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM64M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7b) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTPS2QQ m128/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7b) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTPS2QQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2QQ xmm, ymm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTPS2QQ") + } + return p +} + +// VCVTPS2UDQ performs "Convert Packed Single-Precision Floating-Point Values to Packed Unsigned Doubleword Integer Values". +// +// Mnemonic : VCVTPS2UDQ +// Supported forms : (7 forms) +// +// * VCVTPS2UDQ m512/m32bcst, zmm{k}{z} [AVX512F] +// * VCVTPS2UDQ {er}, zmm, zmm{k}{z} [AVX512F] +// * VCVTPS2UDQ zmm, zmm{k}{z} [AVX512F] +// * VCVTPS2UDQ m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPS2UDQ m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VCVTPS2UDQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTPS2UDQ ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTPS2UDQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTPS2UDQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTPS2UDQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTPS2UDQ takes 2 or 3 operands") + } + // VCVTPS2UDQ m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTPS2UDQ {er}, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x79) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTPS2UDQ zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2UDQ m128/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTPS2UDQ m256/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTPS2UDQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2UDQ ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTPS2UDQ") + } + return p +} + +// VCVTPS2UQQ performs "Convert Packed Single Precision Floating-Point Values to Packed Unsigned Quadword Integer Values". +// +// Mnemonic : VCVTPS2UQQ +// Supported forms : (7 forms) +// +// * VCVTPS2UQQ m256/m32bcst, zmm{k}{z} [AVX512DQ] +// * VCVTPS2UQQ {er}, ymm, zmm{k}{z} [AVX512DQ] +// * VCVTPS2UQQ ymm, zmm{k}{z} [AVX512DQ] +// * VCVTPS2UQQ m64/m32bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTPS2UQQ m128/m32bcst, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTPS2UQQ xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTPS2UQQ xmm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VCVTPS2UQQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTPS2UQQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTPS2UQQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTPS2UQQ takes 2 or 3 operands") + } + // VCVTPS2UQQ m256/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTPS2UQQ {er}, ymm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXYMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x79) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTPS2UQQ ymm, zmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2UQQ m64/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM64M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTPS2UQQ m128/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTPS2UQQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTPS2UQQ xmm, ymm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTPS2UQQ") + } + return p +} + +// VCVTQQ2PD performs "Convert Packed Quadword Integers to Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VCVTQQ2PD +// Supported forms : (7 forms) +// +// * VCVTQQ2PD m512/m64bcst, zmm{k}{z} [AVX512DQ] +// * VCVTQQ2PD {er}, zmm, zmm{k}{z} [AVX512DQ] +// * VCVTQQ2PD zmm, zmm{k}{z} [AVX512DQ] +// * VCVTQQ2PD m128/m64bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTQQ2PD m256/m64bcst, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTQQ2PD xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTQQ2PD ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VCVTQQ2PD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTQQ2PD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTQQ2PD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTQQ2PD takes 2 or 3 operands") + } + // VCVTQQ2PD m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTQQ2PD {er}, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTQQ2PD zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTQQ2PD m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTQQ2PD m256/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTQQ2PD xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTQQ2PD ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTQQ2PD") + } + return p +} + +// VCVTQQ2PS performs "Convert Packed Quadword Integers to Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VCVTQQ2PS +// Supported forms : (7 forms) +// +// * VCVTQQ2PS m512/m64bcst, ymm{k}{z} [AVX512DQ] +// * VCVTQQ2PS {er}, zmm, ymm{k}{z} [AVX512DQ] +// * VCVTQQ2PS zmm, ymm{k}{z} [AVX512DQ] +// * VCVTQQ2PS m128/m64bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTQQ2PS m256/m64bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTQQ2PS xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTQQ2PS ymm, xmm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VCVTQQ2PS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTQQ2PS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTQQ2PS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTQQ2PS takes 2 or 3 operands") + } + // VCVTQQ2PS m512/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x84, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTQQ2PS {er}, zmm, ymm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isYMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfc) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTQQ2PS zmm, ymm{k}{z} + if len(vv) == 0 && isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfc) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTQQ2PS m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x84, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTQQ2PS m256/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x84, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTQQ2PS xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfc) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTQQ2PS ymm, xmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfc) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTQQ2PS") + } + return p +} + +// VCVTSD2SI performs "Convert Scalar Double-Precision FP Value to Integer". +// +// Mnemonic : VCVTSD2SI +// Supported forms : (10 forms) +// +// * VCVTSD2SI xmm, r32 [AVX] +// * VCVTSD2SI m64, r32 [AVX] +// * VCVTSD2SI xmm, r64 [AVX] +// * VCVTSD2SI m64, r64 [AVX] +// * VCVTSD2SI m64, r32 [AVX512F] +// * VCVTSD2SI m64, r64 [AVX512F] +// * VCVTSD2SI {er}, xmm, r32 [AVX512F] +// * VCVTSD2SI {er}, xmm, r64 [AVX512F] +// * VCVTSD2SI xmm, r32 [AVX512F] +// * VCVTSD2SI xmm, r64 [AVX512F] +// +func (self *Program) VCVTSD2SI(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTSD2SI", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTSD2SI", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTSD2SI takes 2 or 3 operands") + } + // VCVTSD2SI xmm, r32 + if len(vv) == 0 && isXMM(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[1]), v[0], 0) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTSD2SI m64, r32 + if len(vv) == 0 && isM64(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTSD2SI xmm, r64 + if len(vv) == 0 && isXMM(v0) && isReg64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfb) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTSD2SI m64, r64 + if len(vv) == 0 && isM64(v0) && isReg64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b1, 0x83, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTSD2SI m64, r32 + if len(vv) == 0 && isM64(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTSD2SI m64, r64 + if len(vv) == 0 && isM64(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTSD2SI {er}, xmm, r32 + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isReg32(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7f) + m.emit((vcode(v[0]) << 5) | 0x18) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTSD2SI {er}, xmm, r64 + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isReg64(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff) + m.emit((vcode(v[0]) << 5) | 0x18) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTSD2SI xmm, r32 + if len(vv) == 0 && isEVEXXMM(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7f) + m.emit(0x48) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTSD2SI xmm, r64 + if len(vv) == 0 && isEVEXXMM(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit(0x48) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTSD2SI") + } + return p +} + +// VCVTSD2SS performs "Convert Scalar Double-Precision FP Value to Scalar Single-Precision FP Value". +// +// Mnemonic : VCVTSD2SS +// Supported forms : (5 forms) +// +// * VCVTSD2SS xmm, xmm, xmm [AVX] +// * VCVTSD2SS m64, xmm, xmm [AVX] +// * VCVTSD2SS m64, xmm, xmm{k}{z} [AVX512F] +// * VCVTSD2SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VCVTSD2SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VCVTSD2SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTSD2SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VCVTSD2SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VCVTSD2SS takes 3 or 4 operands") + } + // VCVTSD2SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VCVTSD2SS m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VCVTSD2SS m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x5a) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VCVTSD2SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xff ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VCVTSD2SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTSD2SS") + } + return p +} + +// VCVTSD2USI performs "Convert Scalar Double-Precision Floating-Point Value to Unsigned Doubleword Integer". +// +// Mnemonic : VCVTSD2USI +// Supported forms : (6 forms) +// +// * VCVTSD2USI m64, r32 [AVX512F] +// * VCVTSD2USI m64, r64 [AVX512F] +// * VCVTSD2USI {er}, xmm, r32 [AVX512F] +// * VCVTSD2USI {er}, xmm, r64 [AVX512F] +// * VCVTSD2USI xmm, r32 [AVX512F] +// * VCVTSD2USI xmm, r64 [AVX512F] +// +func (self *Program) VCVTSD2USI(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTSD2USI", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTSD2USI", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTSD2USI takes 2 or 3 operands") + } + // VCVTSD2USI m64, r32 + if len(vv) == 0 && isM64(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTSD2USI m64, r64 + if len(vv) == 0 && isM64(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTSD2USI {er}, xmm, r32 + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isReg32(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7f) + m.emit((vcode(v[0]) << 5) | 0x18) + m.emit(0x79) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTSD2USI {er}, xmm, r64 + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isReg64(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff) + m.emit((vcode(v[0]) << 5) | 0x18) + m.emit(0x79) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTSD2USI xmm, r32 + if len(vv) == 0 && isEVEXXMM(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7f) + m.emit(0x48) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTSD2USI xmm, r64 + if len(vv) == 0 && isEVEXXMM(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit(0x48) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTSD2USI") + } + return p +} + +// VCVTSI2SD performs "Convert Dword Integer to Scalar Double-Precision FP Value". +// +// Mnemonic : VCVTSI2SD +// Supported forms : (9 forms) +// +// * VCVTSI2SD r32, xmm, xmm [AVX] +// * VCVTSI2SD r64, xmm, xmm [AVX] +// * VCVTSI2SD m32, xmm, xmm [AVX] +// * VCVTSI2SD m64, xmm, xmm [AVX] +// * VCVTSI2SD r32, xmm, xmm [AVX512F] +// * VCVTSI2SD m32, xmm, xmm [AVX512F] +// * VCVTSI2SD m64, xmm, xmm [AVX512F] +// * VCVTSI2SD {er}, r64, xmm, xmm [AVX512F] +// * VCVTSI2SD r64, xmm, xmm [AVX512F] +// +func (self *Program) VCVTSI2SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTSI2SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VCVTSI2SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VCVTSI2SD takes 3 or 4 operands") + } + // VCVTSI2SD r32, xmm, xmm + if len(vv) == 0 && isReg32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VCVTSI2SD r64, xmm, xmm + if len(vv) == 0 && isReg64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfb ^ (hlcode(v[1]) << 3)) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VCVTSI2SD m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x2a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VCVTSI2SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b1, 0x83, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x2a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VCVTSI2SD r32, xmm, xmm + if len(vv) == 0 && isReg32(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7f ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x00) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VCVTSI2SD m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0x2a) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VCVTSI2SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0x2a) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VCVTSI2SD {er}, r64, xmm, xmm + if len(vv) == 1 && isER(v0) && isReg64(v1) && isEVEXXMM(v2) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xff ^ (hlcode(v[2]) << 3)) + m.emit((vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | 0x10) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VCVTSI2SD r64, xmm, xmm + if len(vv) == 0 && isReg64(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x40) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTSI2SD") + } + return p +} + +// VCVTSI2SS performs "Convert Dword Integer to Scalar Single-Precision FP Value". +// +// Mnemonic : VCVTSI2SS +// Supported forms : (10 forms) +// +// * VCVTSI2SS r32, xmm, xmm [AVX] +// * VCVTSI2SS r64, xmm, xmm [AVX] +// * VCVTSI2SS m32, xmm, xmm [AVX] +// * VCVTSI2SS m64, xmm, xmm [AVX] +// * VCVTSI2SS m32, xmm, xmm [AVX512F] +// * VCVTSI2SS m64, xmm, xmm [AVX512F] +// * VCVTSI2SS {er}, r32, xmm, xmm [AVX512F] +// * VCVTSI2SS {er}, r64, xmm, xmm [AVX512F] +// * VCVTSI2SS r32, xmm, xmm [AVX512F] +// * VCVTSI2SS r64, xmm, xmm [AVX512F] +// +func (self *Program) VCVTSI2SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTSI2SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VCVTSI2SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VCVTSI2SS takes 3 or 4 operands") + } + // VCVTSI2SS r32, xmm, xmm + if len(vv) == 0 && isReg32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VCVTSI2SS r64, xmm, xmm + if len(vv) == 0 && isReg64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfa ^ (hlcode(v[1]) << 3)) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VCVTSI2SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x2a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VCVTSI2SS m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b1, 0x82, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x2a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VCVTSI2SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0x2a) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VCVTSI2SS m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0x2a) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VCVTSI2SS {er}, r32, xmm, xmm + if len(vv) == 1 && isER(v0) && isReg32(v1) && isEVEXXMM(v2) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7e ^ (hlcode(v[2]) << 3)) + m.emit((vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | 0x10) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VCVTSI2SS {er}, r64, xmm, xmm + if len(vv) == 1 && isER(v0) && isReg64(v1) && isEVEXXMM(v2) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfe ^ (hlcode(v[2]) << 3)) + m.emit((vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | 0x10) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VCVTSI2SS r32, xmm, xmm + if len(vv) == 0 && isReg32(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x40) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VCVTSI2SS r64, xmm, xmm + if len(vv) == 0 && isReg64(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x40) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTSI2SS") + } + return p +} + +// VCVTSS2SD performs "Convert Scalar Single-Precision FP Value to Scalar Double-Precision FP Value". +// +// Mnemonic : VCVTSS2SD +// Supported forms : (5 forms) +// +// * VCVTSS2SD xmm, xmm, xmm [AVX] +// * VCVTSS2SD m32, xmm, xmm [AVX] +// * VCVTSS2SD m32, xmm, xmm{k}{z} [AVX512F] +// * VCVTSS2SD {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VCVTSS2SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VCVTSS2SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTSS2SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VCVTSS2SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VCVTSS2SD takes 3 or 4 operands") + } + // VCVTSS2SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VCVTSS2SD m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VCVTSS2SD m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x5a) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VCVTSS2SD {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7e ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VCVTSS2SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTSS2SD") + } + return p +} + +// VCVTSS2SI performs "Convert Scalar Single-Precision FP Value to Dword Integer". +// +// Mnemonic : VCVTSS2SI +// Supported forms : (10 forms) +// +// * VCVTSS2SI xmm, r32 [AVX] +// * VCVTSS2SI m32, r32 [AVX] +// * VCVTSS2SI xmm, r64 [AVX] +// * VCVTSS2SI m32, r64 [AVX] +// * VCVTSS2SI m32, r32 [AVX512F] +// * VCVTSS2SI m32, r64 [AVX512F] +// * VCVTSS2SI {er}, xmm, r32 [AVX512F] +// * VCVTSS2SI {er}, xmm, r64 [AVX512F] +// * VCVTSS2SI xmm, r32 [AVX512F] +// * VCVTSS2SI xmm, r64 [AVX512F] +// +func (self *Program) VCVTSS2SI(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTSS2SI", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTSS2SI", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTSS2SI takes 2 or 3 operands") + } + // VCVTSS2SI xmm, r32 + if len(vv) == 0 && isXMM(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), v[0], 0) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTSS2SI m32, r32 + if len(vv) == 0 && isM32(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTSS2SI xmm, r64 + if len(vv) == 0 && isXMM(v0) && isReg64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfa) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTSS2SI m32, r64 + if len(vv) == 0 && isM32(v0) && isReg64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b1, 0x82, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTSS2SI m32, r32 + if len(vv) == 0 && isM32(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VCVTSS2SI m32, r64 + if len(vv) == 0 && isM32(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2d) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VCVTSS2SI {er}, xmm, r32 + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isReg32(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e) + m.emit((vcode(v[0]) << 5) | 0x18) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTSS2SI {er}, xmm, r64 + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isReg64(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe) + m.emit((vcode(v[0]) << 5) | 0x18) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTSS2SI xmm, r32 + if len(vv) == 0 && isEVEXXMM(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x48) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTSS2SI xmm, r64 + if len(vv) == 0 && isEVEXXMM(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x48) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTSS2SI") + } + return p +} + +// VCVTSS2USI performs "Convert Scalar Single-Precision Floating-Point Value to Unsigned Doubleword Integer". +// +// Mnemonic : VCVTSS2USI +// Supported forms : (6 forms) +// +// * VCVTSS2USI m32, r32 [AVX512F] +// * VCVTSS2USI m32, r64 [AVX512F] +// * VCVTSS2USI {er}, xmm, r32 [AVX512F] +// * VCVTSS2USI {er}, xmm, r64 [AVX512F] +// * VCVTSS2USI xmm, r32 [AVX512F] +// * VCVTSS2USI xmm, r64 [AVX512F] +// +func (self *Program) VCVTSS2USI(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTSS2USI", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTSS2USI", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTSS2USI takes 2 or 3 operands") + } + // VCVTSS2USI m32, r32 + if len(vv) == 0 && isM32(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VCVTSS2USI m32, r64 + if len(vv) == 0 && isM32(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VCVTSS2USI {er}, xmm, r32 + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isReg32(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e) + m.emit((vcode(v[0]) << 5) | 0x18) + m.emit(0x79) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTSS2USI {er}, xmm, r64 + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isReg64(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe) + m.emit((vcode(v[0]) << 5) | 0x18) + m.emit(0x79) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTSS2USI xmm, r32 + if len(vv) == 0 && isEVEXXMM(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x48) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTSS2USI xmm, r64 + if len(vv) == 0 && isEVEXXMM(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x48) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTSS2USI") + } + return p +} + +// VCVTTPD2DQ performs "Convert with Truncation Packed Double-Precision FP Values to Packed Dword Integers". +// +// Mnemonic : VCVTTPD2DQ +// Supported forms : (11 forms) +// +// * VCVTTPD2DQ xmm, xmm [AVX] +// * VCVTTPD2DQ ymm, xmm [AVX] +// * VCVTTPD2DQ m128, xmm [AVX] +// * VCVTTPD2DQ m256, xmm [AVX] +// * VCVTTPD2DQ m512/m64bcst, ymm{k}{z} [AVX512F] +// * VCVTTPD2DQ {sae}, zmm, ymm{k}{z} [AVX512F] +// * VCVTTPD2DQ zmm, ymm{k}{z} [AVX512F] +// * VCVTTPD2DQ m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTTPD2DQ m256/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTTPD2DQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTTPD2DQ ymm, xmm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTTPD2DQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTTPD2DQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTTPD2DQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTTPD2DQ takes 2 or 3 operands") + } + // VCVTTPD2DQ xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPD2DQ ymm, xmm + if len(vv) == 0 && isYMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), v[0], 0) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPD2DQ m128, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), addr(v[0]), 0) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTTPD2DQ m256, xmm + if len(vv) == 0 && isM256(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), addr(v[0]), 0) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTTPD2DQ m512/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTTPD2DQ {sae}, zmm, ymm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isYMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTPD2DQ zmm, ymm{k}{z} + if len(vv) == 0 && isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPD2DQ m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTTPD2DQ m256/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xe6) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTTPD2DQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPD2DQ ymm, xmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0xe6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTTPD2DQ") + } + return p +} + +// VCVTTPD2QQ performs "Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Quadword Integers". +// +// Mnemonic : VCVTTPD2QQ +// Supported forms : (7 forms) +// +// * VCVTTPD2QQ m512/m64bcst, zmm{k}{z} [AVX512DQ] +// * VCVTTPD2QQ {sae}, zmm, zmm{k}{z} [AVX512DQ] +// * VCVTTPD2QQ zmm, zmm{k}{z} [AVX512DQ] +// * VCVTTPD2QQ m128/m64bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTTPD2QQ m256/m64bcst, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTTPD2QQ xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTTPD2QQ ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VCVTTPD2QQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTTPD2QQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTTPD2QQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTTPD2QQ takes 2 or 3 operands") + } + // VCVTTPD2QQ m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTTPD2QQ {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTPD2QQ zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPD2QQ m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTTPD2QQ m256/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTTPD2QQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPD2QQ ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTTPD2QQ") + } + return p +} + +// VCVTTPD2UDQ performs "Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Unsigned Doubleword Integers". +// +// Mnemonic : VCVTTPD2UDQ +// Supported forms : (7 forms) +// +// * VCVTTPD2UDQ m512/m64bcst, ymm{k}{z} [AVX512F] +// * VCVTTPD2UDQ {sae}, zmm, ymm{k}{z} [AVX512F] +// * VCVTTPD2UDQ zmm, ymm{k}{z} [AVX512F] +// * VCVTTPD2UDQ m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTTPD2UDQ m256/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTTPD2UDQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTTPD2UDQ ymm, xmm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTTPD2UDQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTTPD2UDQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTTPD2UDQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTTPD2UDQ takes 2 or 3 operands") + } + // VCVTTPD2UDQ m512/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x84, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTTPD2UDQ {sae}, zmm, ymm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isYMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfc) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0x78) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTPD2UDQ zmm, ymm{k}{z} + if len(vv) == 0 && isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfc) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPD2UDQ m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x84, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTTPD2UDQ m256/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x84, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTTPD2UDQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfc) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPD2UDQ ymm, xmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfc) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTTPD2UDQ") + } + return p +} + +// VCVTTPD2UQQ performs "Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Unsigned Quadword Integers". +// +// Mnemonic : VCVTTPD2UQQ +// Supported forms : (7 forms) +// +// * VCVTTPD2UQQ m512/m64bcst, zmm{k}{z} [AVX512DQ] +// * VCVTTPD2UQQ {sae}, zmm, zmm{k}{z} [AVX512DQ] +// * VCVTTPD2UQQ zmm, zmm{k}{z} [AVX512DQ] +// * VCVTTPD2UQQ m128/m64bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTTPD2UQQ m256/m64bcst, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTTPD2UQQ xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTTPD2UQQ ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VCVTTPD2UQQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTTPD2UQQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTTPD2UQQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTTPD2UQQ takes 2 or 3 operands") + } + // VCVTTPD2UQQ m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTTPD2UQQ {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0x78) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTPD2UQQ zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPD2UQQ m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTTPD2UQQ m256/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTTPD2UQQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPD2UQQ ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTTPD2UQQ") + } + return p +} + +// VCVTTPS2DQ performs "Convert with Truncation Packed Single-Precision FP Values to Packed Dword Integers". +// +// Mnemonic : VCVTTPS2DQ +// Supported forms : (11 forms) +// +// * VCVTTPS2DQ xmm, xmm [AVX] +// * VCVTTPS2DQ m128, xmm [AVX] +// * VCVTTPS2DQ ymm, ymm [AVX] +// * VCVTTPS2DQ m256, ymm [AVX] +// * VCVTTPS2DQ m512/m32bcst, zmm{k}{z} [AVX512F] +// * VCVTTPS2DQ {sae}, zmm, zmm{k}{z} [AVX512F] +// * VCVTTPS2DQ zmm, zmm{k}{z} [AVX512F] +// * VCVTTPS2DQ m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTTPS2DQ m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VCVTTPS2DQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTTPS2DQ ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTTPS2DQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTTPS2DQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTTPS2DQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTTPS2DQ takes 2 or 3 operands") + } + // VCVTTPS2DQ xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), v[0], 0) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPS2DQ m128, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), addr(v[0]), 0) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTTPS2DQ ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[1]), v[0], 0) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPS2DQ m256, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[1]), addr(v[0]), 0) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTTPS2DQ m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTTPS2DQ {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTPS2DQ zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPS2DQ m128/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTTPS2DQ m256/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x5b) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTTPS2DQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPS2DQ ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x5b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTTPS2DQ") + } + return p +} + +// VCVTTPS2QQ performs "Convert with Truncation Packed Single Precision Floating-Point Values to Packed Singed Quadword Integer Values". +// +// Mnemonic : VCVTTPS2QQ +// Supported forms : (7 forms) +// +// * VCVTTPS2QQ m256/m32bcst, zmm{k}{z} [AVX512DQ] +// * VCVTTPS2QQ {sae}, ymm, zmm{k}{z} [AVX512DQ] +// * VCVTTPS2QQ ymm, zmm{k}{z} [AVX512DQ] +// * VCVTTPS2QQ m64/m32bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTTPS2QQ m128/m32bcst, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTTPS2QQ xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTTPS2QQ xmm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VCVTTPS2QQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTTPS2QQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTTPS2QQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTTPS2QQ takes 2 or 3 operands") + } + // VCVTTPS2QQ m256/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTTPS2QQ {sae}, ymm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXYMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTPS2QQ ymm, zmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPS2QQ m64/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM64M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTTPS2QQ m128/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTTPS2QQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPS2QQ xmm, ymm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTTPS2QQ") + } + return p +} + +// VCVTTPS2UDQ performs "Convert with Truncation Packed Single-Precision Floating-Point Values to Packed Unsigned Doubleword Integer Values". +// +// Mnemonic : VCVTTPS2UDQ +// Supported forms : (7 forms) +// +// * VCVTTPS2UDQ m512/m32bcst, zmm{k}{z} [AVX512F] +// * VCVTTPS2UDQ {sae}, zmm, zmm{k}{z} [AVX512F] +// * VCVTTPS2UDQ zmm, zmm{k}{z} [AVX512F] +// * VCVTTPS2UDQ m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTTPS2UDQ m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VCVTTPS2UDQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTTPS2UDQ ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTTPS2UDQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTTPS2UDQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTTPS2UDQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTTPS2UDQ takes 2 or 3 operands") + } + // VCVTTPS2UDQ m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTTPS2UDQ {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0x78) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTPS2UDQ zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPS2UDQ m128/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTTPS2UDQ m256/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTTPS2UDQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPS2UDQ ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTTPS2UDQ") + } + return p +} + +// VCVTTPS2UQQ performs "Convert with Truncation Packed Single Precision Floating-Point Values to Packed Unsigned Quadword Integer Values". +// +// Mnemonic : VCVTTPS2UQQ +// Supported forms : (7 forms) +// +// * VCVTTPS2UQQ m256/m32bcst, zmm{k}{z} [AVX512DQ] +// * VCVTTPS2UQQ {sae}, ymm, zmm{k}{z} [AVX512DQ] +// * VCVTTPS2UQQ ymm, zmm{k}{z} [AVX512DQ] +// * VCVTTPS2UQQ m64/m32bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTTPS2UQQ m128/m32bcst, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTTPS2UQQ xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTTPS2UQQ xmm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VCVTTPS2UQQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTTPS2UQQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTTPS2UQQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTTPS2UQQ takes 2 or 3 operands") + } + // VCVTTPS2UQQ m256/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTTPS2UQQ {sae}, ymm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXYMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0x78) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTPS2UQQ ymm, zmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPS2UQQ m64/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM64M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTTPS2UQQ m128/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTTPS2UQQ xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTPS2UQQ xmm, ymm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTTPS2UQQ") + } + return p +} + +// VCVTTSD2SI performs "Convert with Truncation Scalar Double-Precision FP Value to Signed Integer". +// +// Mnemonic : VCVTTSD2SI +// Supported forms : (10 forms) +// +// * VCVTTSD2SI xmm, r32 [AVX] +// * VCVTTSD2SI m64, r32 [AVX] +// * VCVTTSD2SI xmm, r64 [AVX] +// * VCVTTSD2SI m64, r64 [AVX] +// * VCVTTSD2SI m64, r32 [AVX512F] +// * VCVTTSD2SI m64, r64 [AVX512F] +// * VCVTTSD2SI {sae}, xmm, r32 [AVX512F] +// * VCVTTSD2SI {sae}, xmm, r64 [AVX512F] +// * VCVTTSD2SI xmm, r32 [AVX512F] +// * VCVTTSD2SI xmm, r64 [AVX512F] +// +func (self *Program) VCVTTSD2SI(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTTSD2SI", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTTSD2SI", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTTSD2SI takes 2 or 3 operands") + } + // VCVTTSD2SI xmm, r32 + if len(vv) == 0 && isXMM(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[1]), v[0], 0) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTSD2SI m64, r32 + if len(vv) == 0 && isM64(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTTSD2SI xmm, r64 + if len(vv) == 0 && isXMM(v0) && isReg64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfb) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTSD2SI m64, r64 + if len(vv) == 0 && isM64(v0) && isReg64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b1, 0x83, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTTSD2SI m64, r32 + if len(vv) == 0 && isM64(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTTSD2SI m64, r64 + if len(vv) == 0 && isM64(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTTSD2SI {sae}, xmm, r32 + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isReg32(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7f) + m.emit(0x18) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTSD2SI {sae}, xmm, r64 + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isReg64(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff) + m.emit(0x18) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTSD2SI xmm, r32 + if len(vv) == 0 && isEVEXXMM(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7f) + m.emit(0x48) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTSD2SI xmm, r64 + if len(vv) == 0 && isEVEXXMM(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit(0x48) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTTSD2SI") + } + return p +} + +// VCVTTSD2USI performs "Convert with Truncation Scalar Double-Precision Floating-Point Value to Unsigned Integer". +// +// Mnemonic : VCVTTSD2USI +// Supported forms : (6 forms) +// +// * VCVTTSD2USI m64, r32 [AVX512F] +// * VCVTTSD2USI m64, r64 [AVX512F] +// * VCVTTSD2USI {sae}, xmm, r32 [AVX512F] +// * VCVTTSD2USI {sae}, xmm, r64 [AVX512F] +// * VCVTTSD2USI xmm, r32 [AVX512F] +// * VCVTTSD2USI xmm, r64 [AVX512F] +// +func (self *Program) VCVTTSD2USI(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTTSD2USI", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTTSD2USI", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTTSD2USI takes 2 or 3 operands") + } + // VCVTTSD2USI m64, r32 + if len(vv) == 0 && isM64(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTTSD2USI m64, r64 + if len(vv) == 0 && isM64(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTTSD2USI {sae}, xmm, r32 + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isReg32(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7f) + m.emit(0x18) + m.emit(0x78) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTSD2USI {sae}, xmm, r64 + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isReg64(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff) + m.emit(0x18) + m.emit(0x78) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTSD2USI xmm, r32 + if len(vv) == 0 && isEVEXXMM(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7f) + m.emit(0x48) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTSD2USI xmm, r64 + if len(vv) == 0 && isEVEXXMM(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit(0x48) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTTSD2USI") + } + return p +} + +// VCVTTSS2SI performs "Convert with Truncation Scalar Single-Precision FP Value to Dword Integer". +// +// Mnemonic : VCVTTSS2SI +// Supported forms : (10 forms) +// +// * VCVTTSS2SI xmm, r32 [AVX] +// * VCVTTSS2SI m32, r32 [AVX] +// * VCVTTSS2SI xmm, r64 [AVX] +// * VCVTTSS2SI m32, r64 [AVX] +// * VCVTTSS2SI m32, r32 [AVX512F] +// * VCVTTSS2SI m32, r64 [AVX512F] +// * VCVTTSS2SI {sae}, xmm, r32 [AVX512F] +// * VCVTTSS2SI {sae}, xmm, r64 [AVX512F] +// * VCVTTSS2SI xmm, r32 [AVX512F] +// * VCVTTSS2SI xmm, r64 [AVX512F] +// +func (self *Program) VCVTTSS2SI(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTTSS2SI", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTTSS2SI", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTTSS2SI takes 2 or 3 operands") + } + // VCVTTSS2SI xmm, r32 + if len(vv) == 0 && isXMM(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), v[0], 0) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTSS2SI m32, r32 + if len(vv) == 0 && isM32(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTTSS2SI xmm, r64 + if len(vv) == 0 && isXMM(v0) && isReg64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfa) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTSS2SI m32, r64 + if len(vv) == 0 && isM32(v0) && isReg64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b1, 0x82, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VCVTTSS2SI m32, r32 + if len(vv) == 0 && isM32(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VCVTTSS2SI m32, r64 + if len(vv) == 0 && isM32(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2c) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VCVTTSS2SI {sae}, xmm, r32 + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isReg32(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e) + m.emit(0x18) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTSS2SI {sae}, xmm, r64 + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isReg64(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe) + m.emit(0x18) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTSS2SI xmm, r32 + if len(vv) == 0 && isEVEXXMM(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x48) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTSS2SI xmm, r64 + if len(vv) == 0 && isEVEXXMM(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x48) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTTSS2SI") + } + return p +} + +// VCVTTSS2USI performs "Convert with Truncation Scalar Single-Precision Floating-Point Value to Unsigned Integer". +// +// Mnemonic : VCVTTSS2USI +// Supported forms : (6 forms) +// +// * VCVTTSS2USI m32, r32 [AVX512F] +// * VCVTTSS2USI m32, r64 [AVX512F] +// * VCVTTSS2USI {sae}, xmm, r32 [AVX512F] +// * VCVTTSS2USI {sae}, xmm, r64 [AVX512F] +// * VCVTTSS2USI xmm, r32 [AVX512F] +// * VCVTTSS2USI xmm, r64 [AVX512F] +// +func (self *Program) VCVTTSS2USI(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTTSS2USI", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTTSS2USI", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTTSS2USI takes 2 or 3 operands") + } + // VCVTTSS2USI m32, r32 + if len(vv) == 0 && isM32(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VCVTTSS2USI m32, r64 + if len(vv) == 0 && isM32(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VCVTTSS2USI {sae}, xmm, r32 + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isReg32(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e) + m.emit(0x18) + m.emit(0x78) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTSS2USI {sae}, xmm, r64 + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isReg64(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe) + m.emit(0x18) + m.emit(0x78) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTTSS2USI xmm, r32 + if len(vv) == 0 && isEVEXXMM(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x48) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTTSS2USI xmm, r64 + if len(vv) == 0 && isEVEXXMM(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x48) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTTSS2USI") + } + return p +} + +// VCVTUDQ2PD performs "Convert Packed Unsigned Doubleword Integers to Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VCVTUDQ2PD +// Supported forms : (6 forms) +// +// * VCVTUDQ2PD m256/m32bcst, zmm{k}{z} [AVX512F] +// * VCVTUDQ2PD ymm, zmm{k}{z} [AVX512F] +// * VCVTUDQ2PD m64/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTUDQ2PD m128/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VCVTUDQ2PD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTUDQ2PD xmm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTUDQ2PD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VCVTUDQ2PD", 2, Operands { v0, v1 }) + // VCVTUDQ2PD m256/m32bcst, zmm{k}{z} + if isM256M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTUDQ2PD ymm, zmm{k}{z} + if isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTUDQ2PD m64/m32bcst, xmm{k}{z} + if isM64M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VCVTUDQ2PD m128/m32bcst, ymm{k}{z} + if isM128M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTUDQ2PD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTUDQ2PD xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTUDQ2PD") + } + return p +} + +// VCVTUDQ2PS performs "Convert Packed Unsigned Doubleword Integers to Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VCVTUDQ2PS +// Supported forms : (7 forms) +// +// * VCVTUDQ2PS m512/m32bcst, zmm{k}{z} [AVX512F] +// * VCVTUDQ2PS {er}, zmm, zmm{k}{z} [AVX512F] +// * VCVTUDQ2PS zmm, zmm{k}{z} [AVX512F] +// * VCVTUDQ2PS m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTUDQ2PS m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VCVTUDQ2PS xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VCVTUDQ2PS ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VCVTUDQ2PS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTUDQ2PS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTUDQ2PS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTUDQ2PS takes 2 or 3 operands") + } + // VCVTUDQ2PS m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTUDQ2PS {er}, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTUDQ2PS zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTUDQ2PS m128/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTUDQ2PS m256/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTUDQ2PS xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTUDQ2PS ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTUDQ2PS") + } + return p +} + +// VCVTUQQ2PD performs "Convert Packed Unsigned Quadword Integers to Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VCVTUQQ2PD +// Supported forms : (7 forms) +// +// * VCVTUQQ2PD m512/m64bcst, zmm{k}{z} [AVX512DQ] +// * VCVTUQQ2PD {er}, zmm, zmm{k}{z} [AVX512DQ] +// * VCVTUQQ2PD zmm, zmm{k}{z} [AVX512DQ] +// * VCVTUQQ2PD m128/m64bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTUQQ2PD m256/m64bcst, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTUQQ2PD xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTUQQ2PD ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VCVTUQQ2PD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTUQQ2PD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTUQQ2PD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTUQQ2PD takes 2 or 3 operands") + } + // VCVTUQQ2PD m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTUQQ2PD {er}, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTUQQ2PD zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTUQQ2PD m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTUQQ2PD m256/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTUQQ2PD xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTUQQ2PD ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTUQQ2PD") + } + return p +} + +// VCVTUQQ2PS performs "Convert Packed Unsigned Quadword Integers to Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VCVTUQQ2PS +// Supported forms : (7 forms) +// +// * VCVTUQQ2PS m512/m64bcst, ymm{k}{z} [AVX512DQ] +// * VCVTUQQ2PS {er}, zmm, ymm{k}{z} [AVX512DQ] +// * VCVTUQQ2PS zmm, ymm{k}{z} [AVX512DQ] +// * VCVTUQQ2PS m128/m64bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTUQQ2PS m256/m64bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTUQQ2PS xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VCVTUQQ2PS ymm, xmm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VCVTUQQ2PS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTUQQ2PS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VCVTUQQ2PS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VCVTUQQ2PS takes 2 or 3 operands") + } + // VCVTUQQ2PS m512/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VCVTUQQ2PS {er}, zmm, ymm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isYMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VCVTUQQ2PS zmm, ymm{k}{z} + if len(vv) == 0 && isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTUQQ2PS m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VCVTUQQ2PS m256/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x7a) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VCVTUQQ2PS xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VCVTUQQ2PS ymm, xmm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTUQQ2PS") + } + return p +} + +// VCVTUSI2SD performs "Convert Unsigned Integer to Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : VCVTUSI2SD +// Supported forms : (5 forms) +// +// * VCVTUSI2SD r32, xmm, xmm [AVX512F] +// * VCVTUSI2SD m32, xmm, xmm [AVX512F] +// * VCVTUSI2SD m64, xmm, xmm [AVX512F] +// * VCVTUSI2SD {er}, r64, xmm, xmm [AVX512F] +// * VCVTUSI2SD r64, xmm, xmm [AVX512F] +// +func (self *Program) VCVTUSI2SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTUSI2SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VCVTUSI2SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VCVTUSI2SD takes 3 or 4 operands") + } + // VCVTUSI2SD r32, xmm, xmm + if len(vv) == 0 && isReg32(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7f ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x00) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VCVTUSI2SD m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0x7b) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VCVTUSI2SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0x7b) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VCVTUSI2SD {er}, r64, xmm, xmm + if len(vv) == 1 && isER(v0) && isReg64(v1) && isEVEXXMM(v2) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xff ^ (hlcode(v[2]) << 3)) + m.emit((vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | 0x10) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VCVTUSI2SD r64, xmm, xmm + if len(vv) == 0 && isReg64(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x40) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTUSI2SD") + } + return p +} + +// VCVTUSI2SS performs "Convert Unsigned Integer to Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : VCVTUSI2SS +// Supported forms : (6 forms) +// +// * VCVTUSI2SS m32, xmm, xmm [AVX512F] +// * VCVTUSI2SS m64, xmm, xmm [AVX512F] +// * VCVTUSI2SS {er}, r32, xmm, xmm [AVX512F] +// * VCVTUSI2SS {er}, r64, xmm, xmm [AVX512F] +// * VCVTUSI2SS r32, xmm, xmm [AVX512F] +// * VCVTUSI2SS r64, xmm, xmm [AVX512F] +// +func (self *Program) VCVTUSI2SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VCVTUSI2SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VCVTUSI2SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VCVTUSI2SS takes 3 or 4 operands") + } + // VCVTUSI2SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0x7b) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VCVTUSI2SS m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0x7b) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VCVTUSI2SS {er}, r32, xmm, xmm + if len(vv) == 1 && isER(v0) && isReg32(v1) && isEVEXXMM(v2) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7e ^ (hlcode(v[2]) << 3)) + m.emit((vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | 0x10) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VCVTUSI2SS {er}, r64, xmm, xmm + if len(vv) == 1 && isER(v0) && isReg64(v1) && isEVEXXMM(v2) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfe ^ (hlcode(v[2]) << 3)) + m.emit((vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | 0x10) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VCVTUSI2SS r32, xmm, xmm + if len(vv) == 0 && isReg32(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x40) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VCVTUSI2SS r64, xmm, xmm + if len(vv) == 0 && isReg64(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x40) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VCVTUSI2SS") + } + return p +} + +// VDBPSADBW performs "Double Block Packed Sum-Absolute-Differences on Unsigned Bytes". +// +// Mnemonic : VDBPSADBW +// Supported forms : (6 forms) +// +// * VDBPSADBW imm8, zmm, zmm, zmm{k}{z} [AVX512BW] +// * VDBPSADBW imm8, m512, zmm, zmm{k}{z} [AVX512BW] +// * VDBPSADBW imm8, xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VDBPSADBW imm8, m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VDBPSADBW imm8, ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VDBPSADBW imm8, m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VDBPSADBW(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VDBPSADBW", 4, Operands { v0, v1, v2, v3 }) + // VDBPSADBW imm8, zmm, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x42) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VDBPSADBW imm8, m512, zmm, zmm{k}{z} + if isImm8(v0) && isM512(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x42) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VDBPSADBW imm8, xmm, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x42) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VDBPSADBW imm8, m128, xmm, xmm{k}{z} + if isImm8(v0) && isM128(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x42) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VDBPSADBW imm8, ymm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x42) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VDBPSADBW imm8, m256, ymm, ymm{k}{z} + if isImm8(v0) && isM256(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x42) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VDBPSADBW") + } + return p +} + +// VDIVPD performs "Divide Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VDIVPD +// Supported forms : (11 forms) +// +// * VDIVPD xmm, xmm, xmm [AVX] +// * VDIVPD m128, xmm, xmm [AVX] +// * VDIVPD ymm, ymm, ymm [AVX] +// * VDIVPD m256, ymm, ymm [AVX] +// * VDIVPD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VDIVPD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VDIVPD zmm, zmm, zmm{k}{z} [AVX512F] +// * VDIVPD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VDIVPD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VDIVPD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VDIVPD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VDIVPD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VDIVPD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VDIVPD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VDIVPD takes 3 or 4 operands") + } + // VDIVPD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VDIVPD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VDIVPD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VDIVPD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VDIVPD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VDIVPD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VDIVPD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VDIVPD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VDIVPD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VDIVPD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VDIVPD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VDIVPD") + } + return p +} + +// VDIVPS performs "Divide Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VDIVPS +// Supported forms : (11 forms) +// +// * VDIVPS xmm, xmm, xmm [AVX] +// * VDIVPS m128, xmm, xmm [AVX] +// * VDIVPS ymm, ymm, ymm [AVX] +// * VDIVPS m256, ymm, ymm [AVX] +// * VDIVPS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VDIVPS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VDIVPS zmm, zmm, zmm{k}{z} [AVX512F] +// * VDIVPS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VDIVPS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VDIVPS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VDIVPS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VDIVPS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VDIVPS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VDIVPS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VDIVPS takes 3 or 4 operands") + } + // VDIVPS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VDIVPS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VDIVPS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VDIVPS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VDIVPS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VDIVPS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VDIVPS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VDIVPS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VDIVPS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VDIVPS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VDIVPS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VDIVPS") + } + return p +} + +// VDIVSD performs "Divide Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VDIVSD +// Supported forms : (5 forms) +// +// * VDIVSD xmm, xmm, xmm [AVX] +// * VDIVSD m64, xmm, xmm [AVX] +// * VDIVSD m64, xmm, xmm{k}{z} [AVX512F] +// * VDIVSD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VDIVSD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VDIVSD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VDIVSD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VDIVSD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VDIVSD takes 3 or 4 operands") + } + // VDIVSD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VDIVSD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VDIVSD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VDIVSD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xff ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VDIVSD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VDIVSD") + } + return p +} + +// VDIVSS performs "Divide Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VDIVSS +// Supported forms : (5 forms) +// +// * VDIVSS xmm, xmm, xmm [AVX] +// * VDIVSS m32, xmm, xmm [AVX] +// * VDIVSS m32, xmm, xmm{k}{z} [AVX512F] +// * VDIVSS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VDIVSS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VDIVSS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VDIVSS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VDIVSS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VDIVSS takes 3 or 4 operands") + } + // VDIVSS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VDIVSS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VDIVSS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x5e) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VDIVSS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7e ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VDIVSS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VDIVSS") + } + return p +} + +// VDPPD performs "Dot Product of Packed Double Precision Floating-Point Values". +// +// Mnemonic : VDPPD +// Supported forms : (2 forms) +// +// * VDPPD imm8, xmm, xmm, xmm [AVX] +// * VDPPD imm8, m128, xmm, xmm [AVX] +// +func (self *Program) VDPPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VDPPD", 4, Operands { v0, v1, v2, v3 }) + // VDPPD imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x41) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VDPPD imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x41) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VDPPD") + } + return p +} + +// VDPPS performs "Dot Product of Packed Single Precision Floating-Point Values". +// +// Mnemonic : VDPPS +// Supported forms : (4 forms) +// +// * VDPPS imm8, xmm, xmm, xmm [AVX] +// * VDPPS imm8, m128, xmm, xmm [AVX] +// * VDPPS imm8, ymm, ymm, ymm [AVX] +// * VDPPS imm8, m256, ymm, ymm [AVX] +// +func (self *Program) VDPPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VDPPS", 4, Operands { v0, v1, v2, v3 }) + // VDPPS imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x40) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VDPPS imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x40) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VDPPS imm8, ymm, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x40) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VDPPS imm8, m256, ymm, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x40) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VDPPS") + } + return p +} + +// VEXP2PD performs "Approximation to the Exponential 2^x of Packed Double-Precision Floating-Point Values with Less Than 2^-23 Relative Error". +// +// Mnemonic : VEXP2PD +// Supported forms : (3 forms) +// +// * VEXP2PD m512/m64bcst, zmm{k}{z} [AVX512ER] +// * VEXP2PD {sae}, zmm, zmm{k}{z} [AVX512ER] +// * VEXP2PD zmm, zmm{k}{z} [AVX512ER] +// +func (self *Program) VEXP2PD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VEXP2PD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VEXP2PD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VEXP2PD takes 2 or 3 operands") + } + // VEXP2PD m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xc8) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VEXP2PD {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0xc8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VEXP2PD zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0xc8) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXP2PD") + } + return p +} + +// VEXP2PS performs "Approximation to the Exponential 2^x of Packed Single-Precision Floating-Point Values with Less Than 2^-23 Relative Error". +// +// Mnemonic : VEXP2PS +// Supported forms : (3 forms) +// +// * VEXP2PS m512/m32bcst, zmm{k}{z} [AVX512ER] +// * VEXP2PS {sae}, zmm, zmm{k}{z} [AVX512ER] +// * VEXP2PS zmm, zmm{k}{z} [AVX512ER] +// +func (self *Program) VEXP2PS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VEXP2PS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VEXP2PS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VEXP2PS takes 2 or 3 operands") + } + // VEXP2PS m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xc8) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VEXP2PS {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0xc8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VEXP2PS zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0xc8) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXP2PS") + } + return p +} + +// VEXPANDPD performs "Load Sparse Packed Double-Precision Floating-Point Values from Dense Memory". +// +// Mnemonic : VEXPANDPD +// Supported forms : (6 forms) +// +// * VEXPANDPD zmm, zmm{k}{z} [AVX512F] +// * VEXPANDPD m512, zmm{k}{z} [AVX512F] +// * VEXPANDPD xmm, xmm{k}{z} [AVX512VL] +// * VEXPANDPD ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VEXPANDPD m128, xmm{k}{z} [AVX512VL] +// * VEXPANDPD m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VEXPANDPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VEXPANDPD", 2, Operands { v0, v1 }) + // VEXPANDPD zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x88) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VEXPANDPD m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x88) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VEXPANDPD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x88) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VEXPANDPD ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x88) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VEXPANDPD m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x88) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VEXPANDPD m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x88) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VEXPANDPD") + } + return p +} + +// VEXPANDPS performs "Load Sparse Packed Single-Precision Floating-Point Values from Dense Memory". +// +// Mnemonic : VEXPANDPS +// Supported forms : (6 forms) +// +// * VEXPANDPS zmm, zmm{k}{z} [AVX512F] +// * VEXPANDPS m512, zmm{k}{z} [AVX512F] +// * VEXPANDPS xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VEXPANDPS ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VEXPANDPS m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VEXPANDPS m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VEXPANDPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VEXPANDPS", 2, Operands { v0, v1 }) + // VEXPANDPS zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x88) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VEXPANDPS m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x88) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VEXPANDPS xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x88) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VEXPANDPS ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x88) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VEXPANDPS m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x88) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VEXPANDPS m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x88) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VEXPANDPS") + } + return p +} + +// VEXTRACTF128 performs "Extract Packed Floating-Point Values". +// +// Mnemonic : VEXTRACTF128 +// Supported forms : (2 forms) +// +// * VEXTRACTF128 imm8, ymm, xmm [AVX] +// * VEXTRACTF128 imm8, ymm, m128 [AVX] +// +func (self *Program) VEXTRACTF128(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VEXTRACTF128", 3, Operands { v0, v1, v2 }) + // VEXTRACTF128 imm8, ymm, xmm + if isImm8(v0) && isYMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[1]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0x7d) + m.emit(0x19) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTF128 imm8, ymm, m128 + if isImm8(v0) && isYMM(v1) && isM128(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[1]), addr(v[2]), 0) + m.emit(0x19) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXTRACTF128") + } + return p +} + +// VEXTRACTF32X4 performs "Extract 128 Bits of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VEXTRACTF32X4 +// Supported forms : (4 forms) +// +// * VEXTRACTF32X4 imm8, zmm, xmm{k}{z} [AVX512F] +// * VEXTRACTF32X4 imm8, zmm, m128{k}{z} [AVX512F] +// * VEXTRACTF32X4 imm8, ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VEXTRACTF32X4 imm8, ymm, m128{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VEXTRACTF32X4(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VEXTRACTF32X4", 3, Operands { v0, v1, v2 }) + // VEXTRACTF32X4 imm8, zmm, xmm{k}{z} + if isImm8(v0) && isZMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x19) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTF32X4 imm8, zmm, m128{k}{z} + if isImm8(v0) && isZMM(v1) && isM128kz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x19) + m.mrsd(lcode(v[1]), addr(v[2]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTF32X4 imm8, ymm, xmm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x19) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTF32X4 imm8, ymm, m128{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isM128kz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x19) + m.mrsd(lcode(v[1]), addr(v[2]), 16) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXTRACTF32X4") + } + return p +} + +// VEXTRACTF32X8 performs "Extract 256 Bits of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VEXTRACTF32X8 +// Supported forms : (2 forms) +// +// * VEXTRACTF32X8 imm8, zmm, ymm{k}{z} [AVX512DQ] +// * VEXTRACTF32X8 imm8, zmm, m256{k}{z} [AVX512DQ] +// +func (self *Program) VEXTRACTF32X8(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VEXTRACTF32X8", 3, Operands { v0, v1, v2 }) + // VEXTRACTF32X8 imm8, zmm, ymm{k}{z} + if isImm8(v0) && isZMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x1b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTF32X8 imm8, zmm, m256{k}{z} + if isImm8(v0) && isZMM(v1) && isM256kz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x1b) + m.mrsd(lcode(v[1]), addr(v[2]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXTRACTF32X8") + } + return p +} + +// VEXTRACTF64X2 performs "Extract 128 Bits of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VEXTRACTF64X2 +// Supported forms : (4 forms) +// +// * VEXTRACTF64X2 imm8, zmm, xmm{k}{z} [AVX512DQ] +// * VEXTRACTF64X2 imm8, zmm, m128{k}{z} [AVX512DQ] +// * VEXTRACTF64X2 imm8, ymm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VEXTRACTF64X2 imm8, ymm, m128{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VEXTRACTF64X2(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VEXTRACTF64X2", 3, Operands { v0, v1, v2 }) + // VEXTRACTF64X2 imm8, zmm, xmm{k}{z} + if isImm8(v0) && isZMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x19) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTF64X2 imm8, zmm, m128{k}{z} + if isImm8(v0) && isZMM(v1) && isM128kz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x19) + m.mrsd(lcode(v[1]), addr(v[2]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTF64X2 imm8, ymm, xmm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x19) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTF64X2 imm8, ymm, m128{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isM128kz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x19) + m.mrsd(lcode(v[1]), addr(v[2]), 16) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXTRACTF64X2") + } + return p +} + +// VEXTRACTF64X4 performs "Extract 256 Bits of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VEXTRACTF64X4 +// Supported forms : (2 forms) +// +// * VEXTRACTF64X4 imm8, zmm, ymm{k}{z} [AVX512F] +// * VEXTRACTF64X4 imm8, zmm, m256{k}{z} [AVX512F] +// +func (self *Program) VEXTRACTF64X4(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VEXTRACTF64X4", 3, Operands { v0, v1, v2 }) + // VEXTRACTF64X4 imm8, zmm, ymm{k}{z} + if isImm8(v0) && isZMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x1b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTF64X4 imm8, zmm, m256{k}{z} + if isImm8(v0) && isZMM(v1) && isM256kz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x1b) + m.mrsd(lcode(v[1]), addr(v[2]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXTRACTF64X4") + } + return p +} + +// VEXTRACTI128 performs "Extract Packed Integer Values". +// +// Mnemonic : VEXTRACTI128 +// Supported forms : (2 forms) +// +// * VEXTRACTI128 imm8, ymm, xmm [AVX2] +// * VEXTRACTI128 imm8, ymm, m128 [AVX2] +// +func (self *Program) VEXTRACTI128(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VEXTRACTI128", 3, Operands { v0, v1, v2 }) + // VEXTRACTI128 imm8, ymm, xmm + if isImm8(v0) && isYMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[1]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0x7d) + m.emit(0x39) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTI128 imm8, ymm, m128 + if isImm8(v0) && isYMM(v1) && isM128(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[1]), addr(v[2]), 0) + m.emit(0x39) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXTRACTI128") + } + return p +} + +// VEXTRACTI32X4 performs "Extract 128 Bits of Packed Doubleword Integer Values". +// +// Mnemonic : VEXTRACTI32X4 +// Supported forms : (4 forms) +// +// * VEXTRACTI32X4 imm8, zmm, xmm{k}{z} [AVX512F] +// * VEXTRACTI32X4 imm8, zmm, m128{k}{z} [AVX512F] +// * VEXTRACTI32X4 imm8, ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VEXTRACTI32X4 imm8, ymm, m128{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VEXTRACTI32X4(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VEXTRACTI32X4", 3, Operands { v0, v1, v2 }) + // VEXTRACTI32X4 imm8, zmm, xmm{k}{z} + if isImm8(v0) && isZMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x39) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTI32X4 imm8, zmm, m128{k}{z} + if isImm8(v0) && isZMM(v1) && isM128kz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x39) + m.mrsd(lcode(v[1]), addr(v[2]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTI32X4 imm8, ymm, xmm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x39) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTI32X4 imm8, ymm, m128{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isM128kz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x39) + m.mrsd(lcode(v[1]), addr(v[2]), 16) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXTRACTI32X4") + } + return p +} + +// VEXTRACTI32X8 performs "Extract 256 Bits of Packed Doubleword Integer Values". +// +// Mnemonic : VEXTRACTI32X8 +// Supported forms : (2 forms) +// +// * VEXTRACTI32X8 imm8, zmm, ymm{k}{z} [AVX512DQ] +// * VEXTRACTI32X8 imm8, zmm, m256{k}{z} [AVX512DQ] +// +func (self *Program) VEXTRACTI32X8(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VEXTRACTI32X8", 3, Operands { v0, v1, v2 }) + // VEXTRACTI32X8 imm8, zmm, ymm{k}{z} + if isImm8(v0) && isZMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTI32X8 imm8, zmm, m256{k}{z} + if isImm8(v0) && isZMM(v1) && isM256kz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x3b) + m.mrsd(lcode(v[1]), addr(v[2]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXTRACTI32X8") + } + return p +} + +// VEXTRACTI64X2 performs "Extract 128 Bits of Packed Quadword Integer Values". +// +// Mnemonic : VEXTRACTI64X2 +// Supported forms : (4 forms) +// +// * VEXTRACTI64X2 imm8, zmm, xmm{k}{z} [AVX512DQ] +// * VEXTRACTI64X2 imm8, zmm, m128{k}{z} [AVX512DQ] +// * VEXTRACTI64X2 imm8, ymm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VEXTRACTI64X2 imm8, ymm, m128{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VEXTRACTI64X2(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VEXTRACTI64X2", 3, Operands { v0, v1, v2 }) + // VEXTRACTI64X2 imm8, zmm, xmm{k}{z} + if isImm8(v0) && isZMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x39) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTI64X2 imm8, zmm, m128{k}{z} + if isImm8(v0) && isZMM(v1) && isM128kz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x39) + m.mrsd(lcode(v[1]), addr(v[2]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTI64X2 imm8, ymm, xmm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x39) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTI64X2 imm8, ymm, m128{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isM128kz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x39) + m.mrsd(lcode(v[1]), addr(v[2]), 16) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXTRACTI64X2") + } + return p +} + +// VEXTRACTI64X4 performs "Extract 256 Bits of Packed Quadword Integer Values". +// +// Mnemonic : VEXTRACTI64X4 +// Supported forms : (2 forms) +// +// * VEXTRACTI64X4 imm8, zmm, ymm{k}{z} [AVX512F] +// * VEXTRACTI64X4 imm8, zmm, m256{k}{z} [AVX512F] +// +func (self *Program) VEXTRACTI64X4(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VEXTRACTI64X4", 3, Operands { v0, v1, v2 }) + // VEXTRACTI64X4 imm8, zmm, ymm{k}{z} + if isImm8(v0) && isZMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTI64X4 imm8, zmm, m256{k}{z} + if isImm8(v0) && isZMM(v1) && isM256kz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[1]), addr(v[2]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x3b) + m.mrsd(lcode(v[1]), addr(v[2]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXTRACTI64X4") + } + return p +} + +// VEXTRACTPS performs "Extract Packed Single Precision Floating-Point Value". +// +// Mnemonic : VEXTRACTPS +// Supported forms : (4 forms) +// +// * VEXTRACTPS imm8, xmm, r32 [AVX] +// * VEXTRACTPS imm8, xmm, m32 [AVX] +// * VEXTRACTPS imm8, xmm, r32 [AVX512F] +// * VEXTRACTPS imm8, xmm, m32 [AVX512F] +// +func (self *Program) VEXTRACTPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VEXTRACTPS", 3, Operands { v0, v1, v2 }) + // VEXTRACTPS imm8, xmm, r32 + if isImm8(v0) && isXMM(v1) && isReg32(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[1]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0x79) + m.emit(0x17) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTPS imm8, xmm, m32 + if isImm8(v0) && isXMM(v1) && isM32(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[1]), addr(v[2]), 0) + m.emit(0x17) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTPS imm8, xmm, r32 + if isImm8(v0) && isEVEXXMM(v1) && isReg32(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit(0x08) + m.emit(0x17) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VEXTRACTPS imm8, xmm, m32 + if isImm8(v0) && isEVEXXMM(v1) && isM32(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[1]), addr(v[2]), 0, 0, 0, 0) + m.emit(0x17) + m.mrsd(lcode(v[1]), addr(v[2]), 4) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VEXTRACTPS") + } + return p +} + +// VFIXUPIMMPD performs "Fix Up Special Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFIXUPIMMPD +// Supported forms : (7 forms) +// +// * VFIXUPIMMPD imm8, m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFIXUPIMMPD imm8, {sae}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFIXUPIMMPD imm8, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFIXUPIMMPD imm8, m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFIXUPIMMPD imm8, xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFIXUPIMMPD imm8, m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFIXUPIMMPD imm8, ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFIXUPIMMPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFIXUPIMMPD", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VFIXUPIMMPD", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VFIXUPIMMPD takes 4 or 5 operands") + } + // VFIXUPIMMPD imm8, m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM512M64bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x54) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMPD imm8, {sae}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isZMM(v2) && isZMM(v3) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0xfd ^ (hlcode(v[3]) << 3)) + m.emit((zcode(v[4]) << 7) | (0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0x54) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMPD imm8, zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x54) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMPD imm8, m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM128M64bcst(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x54) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMPD imm8, xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x54) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMPD imm8, m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM256M64bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x54) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMPD imm8, ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x54) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFIXUPIMMPD") + } + return p +} + +// VFIXUPIMMPS performs "Fix Up Special Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFIXUPIMMPS +// Supported forms : (7 forms) +// +// * VFIXUPIMMPS imm8, m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFIXUPIMMPS imm8, {sae}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFIXUPIMMPS imm8, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFIXUPIMMPS imm8, m128/m32bcst, xmm, xmm{k}{z} [AVX512VL] +// * VFIXUPIMMPS imm8, xmm, xmm, xmm{k}{z} [AVX512VL] +// * VFIXUPIMMPS imm8, m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFIXUPIMMPS imm8, ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFIXUPIMMPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFIXUPIMMPS", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VFIXUPIMMPS", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VFIXUPIMMPS takes 4 or 5 operands") + } + // VFIXUPIMMPS imm8, m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM512M32bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x54) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMPS imm8, {sae}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isZMM(v2) && isZMM(v3) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0x7d ^ (hlcode(v[3]) << 3)) + m.emit((zcode(v[4]) << 7) | (0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0x54) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMPS imm8, zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x54) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMPS imm8, m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM128M32bcst(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x54) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMPS imm8, xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x54) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMPS imm8, m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM256M32bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x54) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMPS imm8, ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x54) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFIXUPIMMPS") + } + return p +} + +// VFIXUPIMMSD performs "Fix Up Special Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : VFIXUPIMMSD +// Supported forms : (3 forms) +// +// * VFIXUPIMMSD imm8, m64, xmm, xmm{k}{z} [AVX512F] +// * VFIXUPIMMSD imm8, {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFIXUPIMMSD imm8, xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFIXUPIMMSD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFIXUPIMMSD", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VFIXUPIMMSD", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VFIXUPIMMSD takes 4 or 5 operands") + } + // VFIXUPIMMSD imm8, m64, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM64(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x55) + m.mrsd(lcode(v[3]), addr(v[1]), 8) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMSD imm8, {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0xfd ^ (hlcode(v[3]) << 3)) + m.emit((zcode(v[4]) << 7) | (0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0x55) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMSD imm8, xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x55) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFIXUPIMMSD") + } + return p +} + +// VFIXUPIMMSS performs "Fix Up Special Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : VFIXUPIMMSS +// Supported forms : (3 forms) +// +// * VFIXUPIMMSS imm8, m32, xmm, xmm{k}{z} [AVX512F] +// * VFIXUPIMMSS imm8, {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFIXUPIMMSS imm8, xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFIXUPIMMSS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFIXUPIMMSS", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VFIXUPIMMSS", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VFIXUPIMMSS takes 4 or 5 operands") + } + // VFIXUPIMMSS imm8, m32, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM32(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x55) + m.mrsd(lcode(v[3]), addr(v[1]), 4) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMSS imm8, {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0x7d ^ (hlcode(v[3]) << 3)) + m.emit((zcode(v[4]) << 7) | (0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0x55) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VFIXUPIMMSS imm8, xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x55) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFIXUPIMMSS") + } + return p +} + +// VFMADD132PD performs "Fused Multiply-Add of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMADD132PD +// Supported forms : (11 forms) +// +// * VFMADD132PD xmm, xmm, xmm [FMA3] +// * VFMADD132PD m128, xmm, xmm [FMA3] +// * VFMADD132PD ymm, ymm, ymm [FMA3] +// * VFMADD132PD m256, ymm, ymm [FMA3] +// * VFMADD132PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMADD132PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADD132PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADD132PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADD132PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADD132PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMADD132PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMADD132PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADD132PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADD132PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADD132PD takes 3 or 4 operands") + } + // VFMADD132PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0x98) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD132PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x98) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD132PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x98) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD132PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x98) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD132PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x98) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMADD132PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x98) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADD132PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x98) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD132PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x98) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMADD132PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x98) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD132PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x98) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMADD132PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x98) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADD132PD") + } + return p +} + +// VFMADD132PS performs "Fused Multiply-Add of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMADD132PS +// Supported forms : (11 forms) +// +// * VFMADD132PS xmm, xmm, xmm [FMA3] +// * VFMADD132PS m128, xmm, xmm [FMA3] +// * VFMADD132PS ymm, ymm, ymm [FMA3] +// * VFMADD132PS m256, ymm, ymm [FMA3] +// * VFMADD132PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMADD132PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADD132PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADD132PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADD132PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADD132PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMADD132PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMADD132PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADD132PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADD132PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADD132PS takes 3 or 4 operands") + } + // VFMADD132PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x98) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD132PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x98) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD132PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x98) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD132PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x98) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD132PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x98) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMADD132PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x98) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADD132PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x98) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD132PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x98) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMADD132PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x98) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD132PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x98) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMADD132PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x98) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADD132PS") + } + return p +} + +// VFMADD132SD performs "Fused Multiply-Add of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFMADD132SD +// Supported forms : (5 forms) +// +// * VFMADD132SD xmm, xmm, xmm [FMA3] +// * VFMADD132SD m64, xmm, xmm [FMA3] +// * VFMADD132SD m64, xmm, xmm{k}{z} [AVX512F] +// * VFMADD132SD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFMADD132SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFMADD132SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADD132SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADD132SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADD132SD takes 3 or 4 operands") + } + // VFMADD132SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0x99) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD132SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x99) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD132SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x99) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VFMADD132SD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x99) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADD132SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x99) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADD132SD") + } + return p +} + +// VFMADD132SS performs "Fused Multiply-Add of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFMADD132SS +// Supported forms : (5 forms) +// +// * VFMADD132SS xmm, xmm, xmm [FMA3] +// * VFMADD132SS m32, xmm, xmm [FMA3] +// * VFMADD132SS m32, xmm, xmm{k}{z} [AVX512F] +// * VFMADD132SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFMADD132SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFMADD132SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADD132SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADD132SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADD132SS takes 3 or 4 operands") + } + // VFMADD132SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x99) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD132SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x99) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD132SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x99) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VFMADD132SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x99) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADD132SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x99) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADD132SS") + } + return p +} + +// VFMADD213PD performs "Fused Multiply-Add of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMADD213PD +// Supported forms : (11 forms) +// +// * VFMADD213PD xmm, xmm, xmm [FMA3] +// * VFMADD213PD m128, xmm, xmm [FMA3] +// * VFMADD213PD ymm, ymm, ymm [FMA3] +// * VFMADD213PD m256, ymm, ymm [FMA3] +// * VFMADD213PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMADD213PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADD213PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADD213PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADD213PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADD213PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMADD213PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMADD213PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADD213PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADD213PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADD213PD takes 3 or 4 operands") + } + // VFMADD213PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xa8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD213PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD213PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0xa8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD213PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD213PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa8) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMADD213PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xa8) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADD213PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xa8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD213PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa8) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMADD213PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xa8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD213PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa8) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMADD213PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xa8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADD213PD") + } + return p +} + +// VFMADD213PS performs "Fused Multiply-Add of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMADD213PS +// Supported forms : (11 forms) +// +// * VFMADD213PS xmm, xmm, xmm [FMA3] +// * VFMADD213PS m128, xmm, xmm [FMA3] +// * VFMADD213PS ymm, ymm, ymm [FMA3] +// * VFMADD213PS m256, ymm, ymm [FMA3] +// * VFMADD213PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMADD213PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADD213PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADD213PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADD213PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADD213PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMADD213PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMADD213PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADD213PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADD213PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADD213PS takes 3 or 4 operands") + } + // VFMADD213PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xa8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD213PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD213PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0xa8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD213PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD213PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa8) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMADD213PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xa8) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADD213PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xa8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD213PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa8) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMADD213PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xa8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD213PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa8) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMADD213PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xa8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADD213PS") + } + return p +} + +// VFMADD213SD performs "Fused Multiply-Add of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFMADD213SD +// Supported forms : (5 forms) +// +// * VFMADD213SD xmm, xmm, xmm [FMA3] +// * VFMADD213SD m64, xmm, xmm [FMA3] +// * VFMADD213SD m64, xmm, xmm{k}{z} [AVX512F] +// * VFMADD213SD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFMADD213SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFMADD213SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADD213SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADD213SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADD213SD takes 3 or 4 operands") + } + // VFMADD213SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xa9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD213SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa9) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD213SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xa9) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VFMADD213SD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xa9) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADD213SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xa9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADD213SD") + } + return p +} + +// VFMADD213SS performs "Fused Multiply-Add of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFMADD213SS +// Supported forms : (5 forms) +// +// * VFMADD213SS xmm, xmm, xmm [FMA3] +// * VFMADD213SS m32, xmm, xmm [FMA3] +// * VFMADD213SS m32, xmm, xmm{k}{z} [AVX512F] +// * VFMADD213SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFMADD213SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFMADD213SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADD213SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADD213SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADD213SS takes 3 or 4 operands") + } + // VFMADD213SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xa9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD213SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa9) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD213SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xa9) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VFMADD213SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xa9) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADD213SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xa9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADD213SS") + } + return p +} + +// VFMADD231PD performs "Fused Multiply-Add of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMADD231PD +// Supported forms : (11 forms) +// +// * VFMADD231PD xmm, xmm, xmm [FMA3] +// * VFMADD231PD m128, xmm, xmm [FMA3] +// * VFMADD231PD ymm, ymm, ymm [FMA3] +// * VFMADD231PD m256, ymm, ymm [FMA3] +// * VFMADD231PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMADD231PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADD231PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADD231PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADD231PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADD231PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMADD231PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMADD231PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADD231PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADD231PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADD231PD takes 3 or 4 operands") + } + // VFMADD231PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD231PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD231PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD231PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD231PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb8) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMADD231PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADD231PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD231PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb8) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMADD231PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD231PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb8) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMADD231PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADD231PD") + } + return p +} + +// VFMADD231PS performs "Fused Multiply-Add of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMADD231PS +// Supported forms : (11 forms) +// +// * VFMADD231PS xmm, xmm, xmm [FMA3] +// * VFMADD231PS m128, xmm, xmm [FMA3] +// * VFMADD231PS ymm, ymm, ymm [FMA3] +// * VFMADD231PS m256, ymm, ymm [FMA3] +// * VFMADD231PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMADD231PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADD231PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADD231PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADD231PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADD231PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMADD231PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMADD231PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADD231PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADD231PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADD231PS takes 3 or 4 operands") + } + // VFMADD231PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD231PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD231PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD231PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD231PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb8) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMADD231PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADD231PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD231PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb8) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMADD231PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD231PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb8) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMADD231PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xb8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADD231PS") + } + return p +} + +// VFMADD231SD performs "Fused Multiply-Add of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFMADD231SD +// Supported forms : (5 forms) +// +// * VFMADD231SD xmm, xmm, xmm [FMA3] +// * VFMADD231SD m64, xmm, xmm [FMA3] +// * VFMADD231SD m64, xmm, xmm{k}{z} [AVX512F] +// * VFMADD231SD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFMADD231SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFMADD231SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADD231SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADD231SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADD231SD takes 3 or 4 operands") + } + // VFMADD231SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xb9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD231SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb9) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD231SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xb9) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VFMADD231SD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xb9) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADD231SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xb9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADD231SD") + } + return p +} + +// VFMADD231SS performs "Fused Multiply-Add of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFMADD231SS +// Supported forms : (5 forms) +// +// * VFMADD231SS xmm, xmm, xmm [FMA3] +// * VFMADD231SS m32, xmm, xmm [FMA3] +// * VFMADD231SS m32, xmm, xmm{k}{z} [AVX512F] +// * VFMADD231SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFMADD231SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFMADD231SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADD231SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADD231SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADD231SS takes 3 or 4 operands") + } + // VFMADD231SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xb9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADD231SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb9) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADD231SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xb9) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VFMADD231SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xb9) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADD231SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xb9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADD231SS") + } + return p +} + +// VFMADDPD performs "Fused Multiply-Add of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMADDPD +// Supported forms : (6 forms) +// +// * VFMADDPD xmm, xmm, xmm, xmm [FMA4] +// * VFMADDPD m128, xmm, xmm, xmm [FMA4] +// * VFMADDPD xmm, m128, xmm, xmm [FMA4] +// * VFMADDPD ymm, ymm, ymm, ymm [FMA4] +// * VFMADDPD m256, ymm, ymm, ymm [FMA4] +// * VFMADDPD ymm, m256, ymm, ymm [FMA4] +// +func (self *Program) VFMADDPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFMADDPD", 4, Operands { v0, v1, v2, v3 }) + // VFMADDPD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x69) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x69) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDPD m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x69) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMADDPD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x69) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDPD ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit(0x69) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x69) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDPD m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x69) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMADDPD ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x69) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADDPD") + } + return p +} + +// VFMADDPS performs "Fused Multiply-Add of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMADDPS +// Supported forms : (6 forms) +// +// * VFMADDPS xmm, xmm, xmm, xmm [FMA4] +// * VFMADDPS m128, xmm, xmm, xmm [FMA4] +// * VFMADDPS xmm, m128, xmm, xmm [FMA4] +// * VFMADDPS ymm, ymm, ymm, ymm [FMA4] +// * VFMADDPS m256, ymm, ymm, ymm [FMA4] +// * VFMADDPS ymm, m256, ymm, ymm [FMA4] +// +func (self *Program) VFMADDPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFMADDPS", 4, Operands { v0, v1, v2, v3 }) + // VFMADDPS xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x68) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x68) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDPS m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x68) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMADDPS xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x68) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDPS ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit(0x68) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x68) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDPS m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x68) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMADDPS ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x68) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADDPS") + } + return p +} + +// VFMADDSD performs "Fused Multiply-Add of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFMADDSD +// Supported forms : (3 forms) +// +// * VFMADDSD xmm, xmm, xmm, xmm [FMA4] +// * VFMADDSD m64, xmm, xmm, xmm [FMA4] +// * VFMADDSD xmm, m64, xmm, xmm [FMA4] +// +func (self *Program) VFMADDSD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFMADDSD", 4, Operands { v0, v1, v2, v3 }) + // VFMADDSD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x6b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x6b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDSD m64, xmm, xmm, xmm + if isM64(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x6b) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMADDSD xmm, m64, xmm, xmm + if isXMM(v0) && isM64(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x6b) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADDSD") + } + return p +} + +// VFMADDSS performs "Fused Multiply-Add of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFMADDSS +// Supported forms : (3 forms) +// +// * VFMADDSS xmm, xmm, xmm, xmm [FMA4] +// * VFMADDSS m32, xmm, xmm, xmm [FMA4] +// * VFMADDSS xmm, m32, xmm, xmm [FMA4] +// +func (self *Program) VFMADDSS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFMADDSS", 4, Operands { v0, v1, v2, v3 }) + // VFMADDSS xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x6a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x6a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDSS m32, xmm, xmm, xmm + if isM32(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x6a) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMADDSS xmm, m32, xmm, xmm + if isXMM(v0) && isM32(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x6a) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADDSS") + } + return p +} + +// VFMADDSUB132PD performs "Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMADDSUB132PD +// Supported forms : (11 forms) +// +// * VFMADDSUB132PD xmm, xmm, xmm [FMA3] +// * VFMADDSUB132PD m128, xmm, xmm [FMA3] +// * VFMADDSUB132PD ymm, ymm, ymm [FMA3] +// * VFMADDSUB132PD m256, ymm, ymm [FMA3] +// * VFMADDSUB132PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB132PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB132PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB132PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB132PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB132PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB132PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMADDSUB132PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADDSUB132PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADDSUB132PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADDSUB132PD takes 3 or 4 operands") + } + // VFMADDSUB132PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0x96) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB132PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x96) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADDSUB132PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x96) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB132PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x96) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADDSUB132PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x96) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMADDSUB132PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x96) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADDSUB132PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x96) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB132PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x96) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMADDSUB132PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x96) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB132PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x96) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMADDSUB132PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x96) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADDSUB132PD") + } + return p +} + +// VFMADDSUB132PS performs "Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMADDSUB132PS +// Supported forms : (11 forms) +// +// * VFMADDSUB132PS xmm, xmm, xmm [FMA3] +// * VFMADDSUB132PS m128, xmm, xmm [FMA3] +// * VFMADDSUB132PS ymm, ymm, ymm [FMA3] +// * VFMADDSUB132PS m256, ymm, ymm [FMA3] +// * VFMADDSUB132PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB132PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB132PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB132PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB132PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB132PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB132PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMADDSUB132PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADDSUB132PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADDSUB132PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADDSUB132PS takes 3 or 4 operands") + } + // VFMADDSUB132PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x96) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB132PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x96) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADDSUB132PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x96) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB132PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x96) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADDSUB132PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x96) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMADDSUB132PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x96) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADDSUB132PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x96) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB132PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x96) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMADDSUB132PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x96) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB132PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x96) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMADDSUB132PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x96) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADDSUB132PS") + } + return p +} + +// VFMADDSUB213PD performs "Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMADDSUB213PD +// Supported forms : (11 forms) +// +// * VFMADDSUB213PD xmm, xmm, xmm [FMA3] +// * VFMADDSUB213PD m128, xmm, xmm [FMA3] +// * VFMADDSUB213PD ymm, ymm, ymm [FMA3] +// * VFMADDSUB213PD m256, ymm, ymm [FMA3] +// * VFMADDSUB213PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB213PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB213PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB213PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB213PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB213PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB213PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMADDSUB213PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADDSUB213PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADDSUB213PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADDSUB213PD takes 3 or 4 operands") + } + // VFMADDSUB213PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB213PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa6) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADDSUB213PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB213PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa6) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADDSUB213PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa6) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMADDSUB213PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADDSUB213PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB213PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa6) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMADDSUB213PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB213PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa6) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMADDSUB213PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADDSUB213PD") + } + return p +} + +// VFMADDSUB213PS performs "Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMADDSUB213PS +// Supported forms : (11 forms) +// +// * VFMADDSUB213PS xmm, xmm, xmm [FMA3] +// * VFMADDSUB213PS m128, xmm, xmm [FMA3] +// * VFMADDSUB213PS ymm, ymm, ymm [FMA3] +// * VFMADDSUB213PS m256, ymm, ymm [FMA3] +// * VFMADDSUB213PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB213PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB213PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB213PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB213PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB213PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB213PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMADDSUB213PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADDSUB213PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADDSUB213PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADDSUB213PS takes 3 or 4 operands") + } + // VFMADDSUB213PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB213PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa6) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADDSUB213PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB213PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa6) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADDSUB213PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa6) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMADDSUB213PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADDSUB213PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB213PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa6) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMADDSUB213PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB213PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa6) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMADDSUB213PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADDSUB213PS") + } + return p +} + +// VFMADDSUB231PD performs "Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMADDSUB231PD +// Supported forms : (11 forms) +// +// * VFMADDSUB231PD xmm, xmm, xmm [FMA3] +// * VFMADDSUB231PD m128, xmm, xmm [FMA3] +// * VFMADDSUB231PD ymm, ymm, ymm [FMA3] +// * VFMADDSUB231PD m256, ymm, ymm [FMA3] +// * VFMADDSUB231PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB231PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB231PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB231PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB231PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB231PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB231PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMADDSUB231PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADDSUB231PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADDSUB231PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADDSUB231PD takes 3 or 4 operands") + } + // VFMADDSUB231PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB231PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb6) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADDSUB231PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB231PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb6) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADDSUB231PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb6) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMADDSUB231PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADDSUB231PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB231PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb6) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMADDSUB231PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB231PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb6) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMADDSUB231PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADDSUB231PD") + } + return p +} + +// VFMADDSUB231PS performs "Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMADDSUB231PS +// Supported forms : (11 forms) +// +// * VFMADDSUB231PS xmm, xmm, xmm [FMA3] +// * VFMADDSUB231PS m128, xmm, xmm [FMA3] +// * VFMADDSUB231PS ymm, ymm, ymm [FMA3] +// * VFMADDSUB231PS m256, ymm, ymm [FMA3] +// * VFMADDSUB231PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB231PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB231PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMADDSUB231PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB231PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB231PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMADDSUB231PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMADDSUB231PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMADDSUB231PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMADDSUB231PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMADDSUB231PS takes 3 or 4 operands") + } + // VFMADDSUB231PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB231PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb6) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADDSUB231PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB231PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb6) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMADDSUB231PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb6) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMADDSUB231PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMADDSUB231PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB231PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb6) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMADDSUB231PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMADDSUB231PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb6) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMADDSUB231PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADDSUB231PS") + } + return p +} + +// VFMADDSUBPD performs "Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMADDSUBPD +// Supported forms : (6 forms) +// +// * VFMADDSUBPD xmm, xmm, xmm, xmm [FMA4] +// * VFMADDSUBPD m128, xmm, xmm, xmm [FMA4] +// * VFMADDSUBPD xmm, m128, xmm, xmm [FMA4] +// * VFMADDSUBPD ymm, ymm, ymm, ymm [FMA4] +// * VFMADDSUBPD m256, ymm, ymm, ymm [FMA4] +// * VFMADDSUBPD ymm, m256, ymm, ymm [FMA4] +// +func (self *Program) VFMADDSUBPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFMADDSUBPD", 4, Operands { v0, v1, v2, v3 }) + // VFMADDSUBPD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDSUBPD m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x5d) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMADDSUBPD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x5d) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDSUBPD ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDSUBPD m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x5d) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMADDSUBPD ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x5d) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADDSUBPD") + } + return p +} + +// VFMADDSUBPS performs "Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMADDSUBPS +// Supported forms : (6 forms) +// +// * VFMADDSUBPS xmm, xmm, xmm, xmm [FMA4] +// * VFMADDSUBPS m128, xmm, xmm, xmm [FMA4] +// * VFMADDSUBPS xmm, m128, xmm, xmm [FMA4] +// * VFMADDSUBPS ymm, ymm, ymm, ymm [FMA4] +// * VFMADDSUBPS m256, ymm, ymm, ymm [FMA4] +// * VFMADDSUBPS ymm, m256, ymm, ymm [FMA4] +// +func (self *Program) VFMADDSUBPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFMADDSUBPS", 4, Operands { v0, v1, v2, v3 }) + // VFMADDSUBPS xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDSUBPS m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x5c) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMADDSUBPS xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x5c) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDSUBPS ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMADDSUBPS m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x5c) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMADDSUBPS ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x5c) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFMADDSUBPS") + } + return p +} + +// VFMSUB132PD performs "Fused Multiply-Subtract of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMSUB132PD +// Supported forms : (11 forms) +// +// * VFMSUB132PD xmm, xmm, xmm [FMA3] +// * VFMSUB132PD m128, xmm, xmm [FMA3] +// * VFMSUB132PD ymm, ymm, ymm [FMA3] +// * VFMSUB132PD m256, ymm, ymm [FMA3] +// * VFMSUB132PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB132PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB132PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB132PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB132PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB132PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB132PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMSUB132PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUB132PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUB132PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUB132PD takes 3 or 4 operands") + } + // VFMSUB132PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB132PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB132PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB132PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB132PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9a) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMSUB132PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUB132PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB132PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9a) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMSUB132PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB132PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9a) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMSUB132PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUB132PD") + } + return p +} + +// VFMSUB132PS performs "Fused Multiply-Subtract of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMSUB132PS +// Supported forms : (11 forms) +// +// * VFMSUB132PS xmm, xmm, xmm [FMA3] +// * VFMSUB132PS m128, xmm, xmm [FMA3] +// * VFMSUB132PS ymm, ymm, ymm [FMA3] +// * VFMSUB132PS m256, ymm, ymm [FMA3] +// * VFMSUB132PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB132PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB132PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB132PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB132PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB132PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB132PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMSUB132PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUB132PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUB132PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUB132PS takes 3 or 4 operands") + } + // VFMSUB132PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB132PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB132PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB132PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB132PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9a) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMSUB132PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUB132PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB132PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9a) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMSUB132PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB132PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9a) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMSUB132PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUB132PS") + } + return p +} + +// VFMSUB132SD performs "Fused Multiply-Subtract of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFMSUB132SD +// Supported forms : (5 forms) +// +// * VFMSUB132SD xmm, xmm, xmm [FMA3] +// * VFMSUB132SD m64, xmm, xmm [FMA3] +// * VFMSUB132SD m64, xmm, xmm{k}{z} [AVX512F] +// * VFMSUB132SD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFMSUB132SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFMSUB132SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUB132SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUB132SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUB132SD takes 3 or 4 operands") + } + // VFMSUB132SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0x9b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB132SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9b) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB132SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x9b) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VFMSUB132SD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x9b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUB132SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x9b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUB132SD") + } + return p +} + +// VFMSUB132SS performs "Fused Multiply-Subtract of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFMSUB132SS +// Supported forms : (5 forms) +// +// * VFMSUB132SS xmm, xmm, xmm [FMA3] +// * VFMSUB132SS m32, xmm, xmm [FMA3] +// * VFMSUB132SS m32, xmm, xmm{k}{z} [AVX512F] +// * VFMSUB132SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFMSUB132SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFMSUB132SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUB132SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUB132SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUB132SS takes 3 or 4 operands") + } + // VFMSUB132SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x9b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB132SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9b) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB132SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x9b) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VFMSUB132SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x9b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUB132SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x9b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUB132SS") + } + return p +} + +// VFMSUB213PD performs "Fused Multiply-Subtract of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMSUB213PD +// Supported forms : (11 forms) +// +// * VFMSUB213PD xmm, xmm, xmm [FMA3] +// * VFMSUB213PD m128, xmm, xmm [FMA3] +// * VFMSUB213PD ymm, ymm, ymm [FMA3] +// * VFMSUB213PD m256, ymm, ymm [FMA3] +// * VFMSUB213PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB213PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB213PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB213PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB213PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB213PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB213PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMSUB213PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUB213PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUB213PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUB213PD takes 3 or 4 operands") + } + // VFMSUB213PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xaa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB213PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xaa) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB213PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0xaa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB213PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xaa) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB213PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xaa) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMSUB213PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xaa) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUB213PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xaa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB213PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xaa) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMSUB213PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xaa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB213PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xaa) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMSUB213PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xaa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUB213PD") + } + return p +} + +// VFMSUB213PS performs "Fused Multiply-Subtract of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMSUB213PS +// Supported forms : (11 forms) +// +// * VFMSUB213PS xmm, xmm, xmm [FMA3] +// * VFMSUB213PS m128, xmm, xmm [FMA3] +// * VFMSUB213PS ymm, ymm, ymm [FMA3] +// * VFMSUB213PS m256, ymm, ymm [FMA3] +// * VFMSUB213PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB213PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB213PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB213PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB213PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB213PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB213PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMSUB213PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUB213PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUB213PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUB213PS takes 3 or 4 operands") + } + // VFMSUB213PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xaa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB213PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xaa) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB213PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0xaa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB213PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xaa) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB213PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xaa) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMSUB213PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xaa) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUB213PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xaa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB213PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xaa) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMSUB213PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xaa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB213PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xaa) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMSUB213PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xaa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUB213PS") + } + return p +} + +// VFMSUB213SD performs "Fused Multiply-Subtract of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFMSUB213SD +// Supported forms : (5 forms) +// +// * VFMSUB213SD xmm, xmm, xmm [FMA3] +// * VFMSUB213SD m64, xmm, xmm [FMA3] +// * VFMSUB213SD m64, xmm, xmm{k}{z} [AVX512F] +// * VFMSUB213SD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFMSUB213SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFMSUB213SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUB213SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUB213SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUB213SD takes 3 or 4 operands") + } + // VFMSUB213SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xab) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB213SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xab) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB213SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xab) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VFMSUB213SD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xab) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUB213SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xab) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUB213SD") + } + return p +} + +// VFMSUB213SS performs "Fused Multiply-Subtract of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFMSUB213SS +// Supported forms : (5 forms) +// +// * VFMSUB213SS xmm, xmm, xmm [FMA3] +// * VFMSUB213SS m32, xmm, xmm [FMA3] +// * VFMSUB213SS m32, xmm, xmm{k}{z} [AVX512F] +// * VFMSUB213SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFMSUB213SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFMSUB213SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUB213SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUB213SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUB213SS takes 3 or 4 operands") + } + // VFMSUB213SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xab) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB213SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xab) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB213SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xab) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VFMSUB213SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xab) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUB213SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xab) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUB213SS") + } + return p +} + +// VFMSUB231PD performs "Fused Multiply-Subtract of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMSUB231PD +// Supported forms : (11 forms) +// +// * VFMSUB231PD xmm, xmm, xmm [FMA3] +// * VFMSUB231PD m128, xmm, xmm [FMA3] +// * VFMSUB231PD ymm, ymm, ymm [FMA3] +// * VFMSUB231PD m256, ymm, ymm [FMA3] +// * VFMSUB231PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB231PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB231PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB231PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB231PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB231PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB231PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMSUB231PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUB231PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUB231PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUB231PD takes 3 or 4 operands") + } + // VFMSUB231PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xba) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB231PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xba) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB231PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0xba) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB231PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xba) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB231PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xba) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMSUB231PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xba) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUB231PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xba) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB231PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xba) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMSUB231PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xba) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB231PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xba) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMSUB231PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xba) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUB231PD") + } + return p +} + +// VFMSUB231PS performs "Fused Multiply-Subtract of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMSUB231PS +// Supported forms : (11 forms) +// +// * VFMSUB231PS xmm, xmm, xmm [FMA3] +// * VFMSUB231PS m128, xmm, xmm [FMA3] +// * VFMSUB231PS ymm, ymm, ymm [FMA3] +// * VFMSUB231PS m256, ymm, ymm [FMA3] +// * VFMSUB231PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB231PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB231PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUB231PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB231PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB231PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMSUB231PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMSUB231PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUB231PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUB231PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUB231PS takes 3 or 4 operands") + } + // VFMSUB231PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xba) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB231PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xba) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB231PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0xba) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB231PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xba) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB231PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xba) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMSUB231PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xba) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUB231PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xba) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB231PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xba) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMSUB231PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xba) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB231PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xba) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMSUB231PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xba) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUB231PS") + } + return p +} + +// VFMSUB231SD performs "Fused Multiply-Subtract of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFMSUB231SD +// Supported forms : (5 forms) +// +// * VFMSUB231SD xmm, xmm, xmm [FMA3] +// * VFMSUB231SD m64, xmm, xmm [FMA3] +// * VFMSUB231SD m64, xmm, xmm{k}{z} [AVX512F] +// * VFMSUB231SD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFMSUB231SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFMSUB231SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUB231SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUB231SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUB231SD takes 3 or 4 operands") + } + // VFMSUB231SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xbb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB231SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbb) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB231SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xbb) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VFMSUB231SD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xbb) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUB231SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xbb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUB231SD") + } + return p +} + +// VFMSUB231SS performs "Fused Multiply-Subtract of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFMSUB231SS +// Supported forms : (5 forms) +// +// * VFMSUB231SS xmm, xmm, xmm [FMA3] +// * VFMSUB231SS m32, xmm, xmm [FMA3] +// * VFMSUB231SS m32, xmm, xmm{k}{z} [AVX512F] +// * VFMSUB231SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFMSUB231SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFMSUB231SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUB231SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUB231SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUB231SS takes 3 or 4 operands") + } + // VFMSUB231SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xbb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUB231SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbb) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUB231SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xbb) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VFMSUB231SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xbb) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUB231SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xbb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUB231SS") + } + return p +} + +// VFMSUBADD132PD performs "Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMSUBADD132PD +// Supported forms : (11 forms) +// +// * VFMSUBADD132PD xmm, xmm, xmm [FMA3] +// * VFMSUBADD132PD m128, xmm, xmm [FMA3] +// * VFMSUBADD132PD ymm, ymm, ymm [FMA3] +// * VFMSUBADD132PD m256, ymm, ymm [FMA3] +// * VFMSUBADD132PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD132PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD132PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD132PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD132PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD132PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD132PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMSUBADD132PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUBADD132PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUBADD132PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUBADD132PD takes 3 or 4 operands") + } + // VFMSUBADD132PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0x97) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD132PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x97) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUBADD132PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x97) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD132PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x97) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUBADD132PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x97) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMSUBADD132PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x97) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUBADD132PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x97) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD132PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x97) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMSUBADD132PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x97) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD132PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x97) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMSUBADD132PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x97) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUBADD132PD") + } + return p +} + +// VFMSUBADD132PS performs "Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMSUBADD132PS +// Supported forms : (11 forms) +// +// * VFMSUBADD132PS xmm, xmm, xmm [FMA3] +// * VFMSUBADD132PS m128, xmm, xmm [FMA3] +// * VFMSUBADD132PS ymm, ymm, ymm [FMA3] +// * VFMSUBADD132PS m256, ymm, ymm [FMA3] +// * VFMSUBADD132PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD132PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD132PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD132PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD132PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD132PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD132PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMSUBADD132PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUBADD132PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUBADD132PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUBADD132PS takes 3 or 4 operands") + } + // VFMSUBADD132PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x97) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD132PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x97) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUBADD132PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x97) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD132PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x97) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUBADD132PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x97) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMSUBADD132PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x97) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUBADD132PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x97) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD132PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x97) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMSUBADD132PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x97) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD132PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x97) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMSUBADD132PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x97) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUBADD132PS") + } + return p +} + +// VFMSUBADD213PD performs "Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMSUBADD213PD +// Supported forms : (11 forms) +// +// * VFMSUBADD213PD xmm, xmm, xmm [FMA3] +// * VFMSUBADD213PD m128, xmm, xmm [FMA3] +// * VFMSUBADD213PD ymm, ymm, ymm [FMA3] +// * VFMSUBADD213PD m256, ymm, ymm [FMA3] +// * VFMSUBADD213PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD213PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD213PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD213PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD213PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD213PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD213PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMSUBADD213PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUBADD213PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUBADD213PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUBADD213PD takes 3 or 4 operands") + } + // VFMSUBADD213PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xa7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD213PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa7) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUBADD213PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0xa7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD213PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa7) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUBADD213PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa7) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMSUBADD213PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xa7) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUBADD213PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xa7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD213PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa7) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMSUBADD213PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xa7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD213PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa7) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMSUBADD213PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xa7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUBADD213PD") + } + return p +} + +// VFMSUBADD213PS performs "Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMSUBADD213PS +// Supported forms : (11 forms) +// +// * VFMSUBADD213PS xmm, xmm, xmm [FMA3] +// * VFMSUBADD213PS m128, xmm, xmm [FMA3] +// * VFMSUBADD213PS ymm, ymm, ymm [FMA3] +// * VFMSUBADD213PS m256, ymm, ymm [FMA3] +// * VFMSUBADD213PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD213PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD213PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD213PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD213PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD213PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD213PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMSUBADD213PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUBADD213PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUBADD213PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUBADD213PS takes 3 or 4 operands") + } + // VFMSUBADD213PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xa7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD213PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa7) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUBADD213PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0xa7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD213PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xa7) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUBADD213PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa7) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMSUBADD213PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xa7) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUBADD213PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xa7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD213PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa7) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMSUBADD213PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xa7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD213PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xa7) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMSUBADD213PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xa7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUBADD213PS") + } + return p +} + +// VFMSUBADD231PD performs "Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMSUBADD231PD +// Supported forms : (11 forms) +// +// * VFMSUBADD231PD xmm, xmm, xmm [FMA3] +// * VFMSUBADD231PD m128, xmm, xmm [FMA3] +// * VFMSUBADD231PD ymm, ymm, ymm [FMA3] +// * VFMSUBADD231PD m256, ymm, ymm [FMA3] +// * VFMSUBADD231PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD231PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD231PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD231PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD231PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD231PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD231PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMSUBADD231PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUBADD231PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUBADD231PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUBADD231PD takes 3 or 4 operands") + } + // VFMSUBADD231PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD231PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb7) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUBADD231PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD231PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb7) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUBADD231PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb7) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMSUBADD231PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUBADD231PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD231PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb7) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMSUBADD231PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD231PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb7) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMSUBADD231PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUBADD231PD") + } + return p +} + +// VFMSUBADD231PS performs "Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMSUBADD231PS +// Supported forms : (11 forms) +// +// * VFMSUBADD231PS xmm, xmm, xmm [FMA3] +// * VFMSUBADD231PS m128, xmm, xmm [FMA3] +// * VFMSUBADD231PS ymm, ymm, ymm [FMA3] +// * VFMSUBADD231PS m256, ymm, ymm [FMA3] +// * VFMSUBADD231PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD231PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD231PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFMSUBADD231PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD231PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD231PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFMSUBADD231PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFMSUBADD231PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFMSUBADD231PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFMSUBADD231PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFMSUBADD231PS takes 3 or 4 operands") + } + // VFMSUBADD231PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD231PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb7) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUBADD231PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD231PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xb7) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFMSUBADD231PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb7) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFMSUBADD231PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFMSUBADD231PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD231PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb7) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFMSUBADD231PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFMSUBADD231PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb7) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFMSUBADD231PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xb7) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUBADD231PS") + } + return p +} + +// VFMSUBADDPD performs "Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMSUBADDPD +// Supported forms : (6 forms) +// +// * VFMSUBADDPD xmm, xmm, xmm, xmm [FMA4] +// * VFMSUBADDPD m128, xmm, xmm, xmm [FMA4] +// * VFMSUBADDPD xmm, m128, xmm, xmm [FMA4] +// * VFMSUBADDPD ymm, ymm, ymm, ymm [FMA4] +// * VFMSUBADDPD m256, ymm, ymm, ymm [FMA4] +// * VFMSUBADDPD ymm, m256, ymm, ymm [FMA4] +// +func (self *Program) VFMSUBADDPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFMSUBADDPD", 4, Operands { v0, v1, v2, v3 }) + // VFMSUBADDPD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBADDPD m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x5f) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMSUBADDPD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x5f) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBADDPD ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBADDPD m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x5f) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMSUBADDPD ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x5f) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUBADDPD") + } + return p +} + +// VFMSUBADDPS performs "Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMSUBADDPS +// Supported forms : (6 forms) +// +// * VFMSUBADDPS xmm, xmm, xmm, xmm [FMA4] +// * VFMSUBADDPS m128, xmm, xmm, xmm [FMA4] +// * VFMSUBADDPS xmm, m128, xmm, xmm [FMA4] +// * VFMSUBADDPS ymm, ymm, ymm, ymm [FMA4] +// * VFMSUBADDPS m256, ymm, ymm, ymm [FMA4] +// * VFMSUBADDPS ymm, m256, ymm, ymm [FMA4] +// +func (self *Program) VFMSUBADDPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFMSUBADDPS", 4, Operands { v0, v1, v2, v3 }) + // VFMSUBADDPS xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBADDPS m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x5e) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMSUBADDPS xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x5e) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBADDPS ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x5e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBADDPS m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x5e) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMSUBADDPS ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x5e) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUBADDPS") + } + return p +} + +// VFMSUBPD performs "Fused Multiply-Subtract of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFMSUBPD +// Supported forms : (6 forms) +// +// * VFMSUBPD xmm, xmm, xmm, xmm [FMA4] +// * VFMSUBPD m128, xmm, xmm, xmm [FMA4] +// * VFMSUBPD xmm, m128, xmm, xmm [FMA4] +// * VFMSUBPD ymm, ymm, ymm, ymm [FMA4] +// * VFMSUBPD m256, ymm, ymm, ymm [FMA4] +// * VFMSUBPD ymm, m256, ymm, ymm [FMA4] +// +func (self *Program) VFMSUBPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFMSUBPD", 4, Operands { v0, v1, v2, v3 }) + // VFMSUBPD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x6d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x6d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBPD m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x6d) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMSUBPD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x6d) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBPD ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit(0x6d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x6d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBPD m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x6d) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMSUBPD ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x6d) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUBPD") + } + return p +} + +// VFMSUBPS performs "Fused Multiply-Subtract of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFMSUBPS +// Supported forms : (6 forms) +// +// * VFMSUBPS xmm, xmm, xmm, xmm [FMA4] +// * VFMSUBPS m128, xmm, xmm, xmm [FMA4] +// * VFMSUBPS xmm, m128, xmm, xmm [FMA4] +// * VFMSUBPS ymm, ymm, ymm, ymm [FMA4] +// * VFMSUBPS m256, ymm, ymm, ymm [FMA4] +// * VFMSUBPS ymm, m256, ymm, ymm [FMA4] +// +func (self *Program) VFMSUBPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFMSUBPS", 4, Operands { v0, v1, v2, v3 }) + // VFMSUBPS xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x6c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x6c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBPS m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x6c) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMSUBPS xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x6c) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBPS ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit(0x6c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x6c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBPS m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x6c) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMSUBPS ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x6c) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUBPS") + } + return p +} + +// VFMSUBSD performs "Fused Multiply-Subtract of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFMSUBSD +// Supported forms : (3 forms) +// +// * VFMSUBSD xmm, xmm, xmm, xmm [FMA4] +// * VFMSUBSD m64, xmm, xmm, xmm [FMA4] +// * VFMSUBSD xmm, m64, xmm, xmm [FMA4] +// +func (self *Program) VFMSUBSD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFMSUBSD", 4, Operands { v0, v1, v2, v3 }) + // VFMSUBSD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBSD m64, xmm, xmm, xmm + if isM64(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x6f) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMSUBSD xmm, m64, xmm, xmm + if isXMM(v0) && isM64(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x6f) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUBSD") + } + return p +} + +// VFMSUBSS performs "Fused Multiply-Subtract of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFMSUBSS +// Supported forms : (3 forms) +// +// * VFMSUBSS xmm, xmm, xmm, xmm [FMA4] +// * VFMSUBSS m32, xmm, xmm, xmm [FMA4] +// * VFMSUBSS xmm, m32, xmm, xmm [FMA4] +// +func (self *Program) VFMSUBSS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFMSUBSS", 4, Operands { v0, v1, v2, v3 }) + // VFMSUBSS xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x6e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x6e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFMSUBSS m32, xmm, xmm, xmm + if isM32(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x6e) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFMSUBSS xmm, m32, xmm, xmm + if isXMM(v0) && isM32(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x6e) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFMSUBSS") + } + return p +} + +// VFNMADD132PD performs "Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMADD132PD +// Supported forms : (11 forms) +// +// * VFNMADD132PD xmm, xmm, xmm [FMA3] +// * VFNMADD132PD m128, xmm, xmm [FMA3] +// * VFNMADD132PD ymm, ymm, ymm [FMA3] +// * VFNMADD132PD m256, ymm, ymm [FMA3] +// * VFNMADD132PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD132PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD132PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD132PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD132PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD132PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD132PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFNMADD132PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMADD132PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMADD132PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMADD132PD takes 3 or 4 operands") + } + // VFNMADD132PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD132PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD132PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD132PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD132PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9c) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFNMADD132PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMADD132PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD132PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9c) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFNMADD132PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD132PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9c) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFNMADD132PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADD132PD") + } + return p +} + +// VFNMADD132PS performs "Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMADD132PS +// Supported forms : (11 forms) +// +// * VFNMADD132PS xmm, xmm, xmm [FMA3] +// * VFNMADD132PS m128, xmm, xmm [FMA3] +// * VFNMADD132PS ymm, ymm, ymm [FMA3] +// * VFNMADD132PS m256, ymm, ymm [FMA3] +// * VFNMADD132PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD132PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD132PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD132PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD132PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD132PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD132PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFNMADD132PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMADD132PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMADD132PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMADD132PS takes 3 or 4 operands") + } + // VFNMADD132PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD132PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD132PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD132PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD132PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9c) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFNMADD132PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMADD132PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD132PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9c) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFNMADD132PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD132PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9c) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFNMADD132PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x9c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADD132PS") + } + return p +} + +// VFNMADD132SD performs "Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMADD132SD +// Supported forms : (5 forms) +// +// * VFNMADD132SD xmm, xmm, xmm [FMA3] +// * VFNMADD132SD m64, xmm, xmm [FMA3] +// * VFNMADD132SD m64, xmm, xmm{k}{z} [AVX512F] +// * VFNMADD132SD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFNMADD132SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFNMADD132SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMADD132SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMADD132SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMADD132SD takes 3 or 4 operands") + } + // VFNMADD132SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0x9d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD132SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD132SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x9d) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VFNMADD132SD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x9d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMADD132SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x9d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADD132SD") + } + return p +} + +// VFNMADD132SS performs "Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMADD132SS +// Supported forms : (5 forms) +// +// * VFNMADD132SS xmm, xmm, xmm [FMA3] +// * VFNMADD132SS m32, xmm, xmm [FMA3] +// * VFNMADD132SS m32, xmm, xmm{k}{z} [AVX512F] +// * VFNMADD132SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFNMADD132SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFNMADD132SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMADD132SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMADD132SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMADD132SS takes 3 or 4 operands") + } + // VFNMADD132SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x9d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD132SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD132SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x9d) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VFNMADD132SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x9d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMADD132SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x9d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADD132SS") + } + return p +} + +// VFNMADD213PD performs "Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMADD213PD +// Supported forms : (11 forms) +// +// * VFNMADD213PD xmm, xmm, xmm [FMA3] +// * VFNMADD213PD m128, xmm, xmm [FMA3] +// * VFNMADD213PD ymm, ymm, ymm [FMA3] +// * VFNMADD213PD m256, ymm, ymm [FMA3] +// * VFNMADD213PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD213PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD213PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD213PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD213PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD213PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD213PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFNMADD213PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMADD213PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMADD213PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMADD213PD takes 3 or 4 operands") + } + // VFNMADD213PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xac) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD213PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xac) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD213PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0xac) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD213PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xac) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD213PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xac) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFNMADD213PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xac) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMADD213PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xac) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD213PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xac) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFNMADD213PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xac) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD213PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xac) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFNMADD213PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xac) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADD213PD") + } + return p +} + +// VFNMADD213PS performs "Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMADD213PS +// Supported forms : (11 forms) +// +// * VFNMADD213PS xmm, xmm, xmm [FMA3] +// * VFNMADD213PS m128, xmm, xmm [FMA3] +// * VFNMADD213PS ymm, ymm, ymm [FMA3] +// * VFNMADD213PS m256, ymm, ymm [FMA3] +// * VFNMADD213PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD213PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD213PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD213PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD213PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD213PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD213PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFNMADD213PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMADD213PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMADD213PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMADD213PS takes 3 or 4 operands") + } + // VFNMADD213PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xac) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD213PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xac) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD213PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0xac) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD213PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xac) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD213PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xac) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFNMADD213PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xac) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMADD213PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xac) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD213PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xac) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFNMADD213PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xac) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD213PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xac) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFNMADD213PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xac) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADD213PS") + } + return p +} + +// VFNMADD213SD performs "Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMADD213SD +// Supported forms : (5 forms) +// +// * VFNMADD213SD xmm, xmm, xmm [FMA3] +// * VFNMADD213SD m64, xmm, xmm [FMA3] +// * VFNMADD213SD m64, xmm, xmm{k}{z} [AVX512F] +// * VFNMADD213SD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFNMADD213SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFNMADD213SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMADD213SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMADD213SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMADD213SD takes 3 or 4 operands") + } + // VFNMADD213SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xad) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD213SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xad) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD213SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xad) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VFNMADD213SD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xad) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMADD213SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xad) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADD213SD") + } + return p +} + +// VFNMADD213SS performs "Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMADD213SS +// Supported forms : (5 forms) +// +// * VFNMADD213SS xmm, xmm, xmm [FMA3] +// * VFNMADD213SS m32, xmm, xmm [FMA3] +// * VFNMADD213SS m32, xmm, xmm{k}{z} [AVX512F] +// * VFNMADD213SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFNMADD213SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFNMADD213SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMADD213SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMADD213SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMADD213SS takes 3 or 4 operands") + } + // VFNMADD213SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xad) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD213SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xad) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD213SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xad) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VFNMADD213SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xad) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMADD213SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xad) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADD213SS") + } + return p +} + +// VFNMADD231PD performs "Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMADD231PD +// Supported forms : (11 forms) +// +// * VFNMADD231PD xmm, xmm, xmm [FMA3] +// * VFNMADD231PD m128, xmm, xmm [FMA3] +// * VFNMADD231PD ymm, ymm, ymm [FMA3] +// * VFNMADD231PD m256, ymm, ymm [FMA3] +// * VFNMADD231PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD231PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD231PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD231PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD231PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD231PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD231PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFNMADD231PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMADD231PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMADD231PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMADD231PD takes 3 or 4 operands") + } + // VFNMADD231PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD231PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbc) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD231PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD231PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbc) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD231PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xbc) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFNMADD231PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMADD231PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD231PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xbc) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFNMADD231PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD231PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xbc) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFNMADD231PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADD231PD") + } + return p +} + +// VFNMADD231PS performs "Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMADD231PS +// Supported forms : (11 forms) +// +// * VFNMADD231PS xmm, xmm, xmm [FMA3] +// * VFNMADD231PS m128, xmm, xmm [FMA3] +// * VFNMADD231PS ymm, ymm, ymm [FMA3] +// * VFNMADD231PS m256, ymm, ymm [FMA3] +// * VFNMADD231PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD231PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD231PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMADD231PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD231PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD231PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFNMADD231PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFNMADD231PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMADD231PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMADD231PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMADD231PS takes 3 or 4 operands") + } + // VFNMADD231PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD231PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbc) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD231PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD231PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbc) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD231PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xbc) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFNMADD231PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMADD231PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD231PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xbc) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFNMADD231PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD231PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xbc) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFNMADD231PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xbc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADD231PS") + } + return p +} + +// VFNMADD231SD performs "Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMADD231SD +// Supported forms : (5 forms) +// +// * VFNMADD231SD xmm, xmm, xmm [FMA3] +// * VFNMADD231SD m64, xmm, xmm [FMA3] +// * VFNMADD231SD m64, xmm, xmm{k}{z} [AVX512F] +// * VFNMADD231SD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFNMADD231SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFNMADD231SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMADD231SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMADD231SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMADD231SD takes 3 or 4 operands") + } + // VFNMADD231SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xbd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD231SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbd) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD231SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xbd) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VFNMADD231SD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xbd) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMADD231SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xbd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADD231SD") + } + return p +} + +// VFNMADD231SS performs "Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMADD231SS +// Supported forms : (5 forms) +// +// * VFNMADD231SS xmm, xmm, xmm [FMA3] +// * VFNMADD231SS m32, xmm, xmm [FMA3] +// * VFNMADD231SS m32, xmm, xmm{k}{z} [AVX512F] +// * VFNMADD231SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFNMADD231SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFNMADD231SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMADD231SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMADD231SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMADD231SS takes 3 or 4 operands") + } + // VFNMADD231SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xbd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMADD231SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbd) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMADD231SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xbd) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VFNMADD231SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xbd) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMADD231SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xbd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADD231SS") + } + return p +} + +// VFNMADDPD performs "Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMADDPD +// Supported forms : (6 forms) +// +// * VFNMADDPD xmm, xmm, xmm, xmm [FMA4] +// * VFNMADDPD m128, xmm, xmm, xmm [FMA4] +// * VFNMADDPD xmm, m128, xmm, xmm [FMA4] +// * VFNMADDPD ymm, ymm, ymm, ymm [FMA4] +// * VFNMADDPD m256, ymm, ymm, ymm [FMA4] +// * VFNMADDPD ymm, m256, ymm, ymm [FMA4] +// +func (self *Program) VFNMADDPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFNMADDPD", 4, Operands { v0, v1, v2, v3 }) + // VFNMADDPD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x79) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x79) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMADDPD m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x79) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFNMADDPD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x79) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMADDPD ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit(0x79) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x79) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMADDPD m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x79) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFNMADDPD ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x79) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADDPD") + } + return p +} + +// VFNMADDPS performs "Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMADDPS +// Supported forms : (6 forms) +// +// * VFNMADDPS xmm, xmm, xmm, xmm [FMA4] +// * VFNMADDPS m128, xmm, xmm, xmm [FMA4] +// * VFNMADDPS xmm, m128, xmm, xmm [FMA4] +// * VFNMADDPS ymm, ymm, ymm, ymm [FMA4] +// * VFNMADDPS m256, ymm, ymm, ymm [FMA4] +// * VFNMADDPS ymm, m256, ymm, ymm [FMA4] +// +func (self *Program) VFNMADDPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFNMADDPS", 4, Operands { v0, v1, v2, v3 }) + // VFNMADDPS xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x78) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x78) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMADDPS m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x78) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFNMADDPS xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x78) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMADDPS ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit(0x78) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x78) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMADDPS m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x78) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFNMADDPS ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x78) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADDPS") + } + return p +} + +// VFNMADDSD performs "Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMADDSD +// Supported forms : (3 forms) +// +// * VFNMADDSD xmm, xmm, xmm, xmm [FMA4] +// * VFNMADDSD m64, xmm, xmm, xmm [FMA4] +// * VFNMADDSD xmm, m64, xmm, xmm [FMA4] +// +func (self *Program) VFNMADDSD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFNMADDSD", 4, Operands { v0, v1, v2, v3 }) + // VFNMADDSD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMADDSD m64, xmm, xmm, xmm + if isM64(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x7b) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFNMADDSD xmm, m64, xmm, xmm + if isXMM(v0) && isM64(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x7b) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADDSD") + } + return p +} + +// VFNMADDSS performs "Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMADDSS +// Supported forms : (3 forms) +// +// * VFNMADDSS xmm, xmm, xmm, xmm [FMA4] +// * VFNMADDSS m32, xmm, xmm, xmm [FMA4] +// * VFNMADDSS xmm, m32, xmm, xmm [FMA4] +// +func (self *Program) VFNMADDSS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFNMADDSS", 4, Operands { v0, v1, v2, v3 }) + // VFNMADDSS xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMADDSS m32, xmm, xmm, xmm + if isM32(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x7a) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFNMADDSS xmm, m32, xmm, xmm + if isXMM(v0) && isM32(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x7a) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMADDSS") + } + return p +} + +// VFNMSUB132PD performs "Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUB132PD +// Supported forms : (11 forms) +// +// * VFNMSUB132PD xmm, xmm, xmm [FMA3] +// * VFNMSUB132PD m128, xmm, xmm [FMA3] +// * VFNMSUB132PD ymm, ymm, ymm [FMA3] +// * VFNMSUB132PD m256, ymm, ymm [FMA3] +// * VFNMSUB132PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB132PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB132PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB132PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB132PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB132PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB132PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFNMSUB132PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMSUB132PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMSUB132PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMSUB132PD takes 3 or 4 operands") + } + // VFNMSUB132PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB132PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9e) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB132PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB132PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9e) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB132PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9e) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFNMSUB132PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMSUB132PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB132PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9e) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFNMSUB132PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB132PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9e) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFNMSUB132PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUB132PD") + } + return p +} + +// VFNMSUB132PS performs "Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUB132PS +// Supported forms : (11 forms) +// +// * VFNMSUB132PS xmm, xmm, xmm [FMA3] +// * VFNMSUB132PS m128, xmm, xmm [FMA3] +// * VFNMSUB132PS ymm, ymm, ymm [FMA3] +// * VFNMSUB132PS m256, ymm, ymm [FMA3] +// * VFNMSUB132PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB132PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB132PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB132PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB132PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB132PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB132PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFNMSUB132PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMSUB132PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMSUB132PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMSUB132PS takes 3 or 4 operands") + } + // VFNMSUB132PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB132PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9e) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB132PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB132PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9e) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB132PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9e) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFNMSUB132PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMSUB132PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB132PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9e) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFNMSUB132PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB132PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x9e) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFNMSUB132PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUB132PS") + } + return p +} + +// VFNMSUB132SD performs "Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUB132SD +// Supported forms : (5 forms) +// +// * VFNMSUB132SD xmm, xmm, xmm [FMA3] +// * VFNMSUB132SD m64, xmm, xmm [FMA3] +// * VFNMSUB132SD m64, xmm, xmm{k}{z} [AVX512F] +// * VFNMSUB132SD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFNMSUB132SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFNMSUB132SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMSUB132SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMSUB132SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMSUB132SD takes 3 or 4 operands") + } + // VFNMSUB132SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0x9f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB132SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9f) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB132SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x9f) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VFNMSUB132SD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x9f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMSUB132SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x9f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUB132SD") + } + return p +} + +// VFNMSUB132SS performs "Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUB132SS +// Supported forms : (5 forms) +// +// * VFNMSUB132SS xmm, xmm, xmm [FMA3] +// * VFNMSUB132SS m32, xmm, xmm [FMA3] +// * VFNMSUB132SS m32, xmm, xmm{k}{z} [AVX512F] +// * VFNMSUB132SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFNMSUB132SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFNMSUB132SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMSUB132SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMSUB132SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMSUB132SS takes 3 or 4 operands") + } + // VFNMSUB132SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x9f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB132SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9f) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB132SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x9f) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VFNMSUB132SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x9f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMSUB132SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x9f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUB132SS") + } + return p +} + +// VFNMSUB213PD performs "Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUB213PD +// Supported forms : (11 forms) +// +// * VFNMSUB213PD xmm, xmm, xmm [FMA3] +// * VFNMSUB213PD m128, xmm, xmm [FMA3] +// * VFNMSUB213PD ymm, ymm, ymm [FMA3] +// * VFNMSUB213PD m256, ymm, ymm [FMA3] +// * VFNMSUB213PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB213PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB213PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB213PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB213PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB213PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB213PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFNMSUB213PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMSUB213PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMSUB213PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMSUB213PD takes 3 or 4 operands") + } + // VFNMSUB213PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xae) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB213PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xae) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB213PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0xae) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB213PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xae) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB213PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xae) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFNMSUB213PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xae) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMSUB213PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xae) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB213PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xae) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFNMSUB213PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xae) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB213PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xae) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFNMSUB213PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xae) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUB213PD") + } + return p +} + +// VFNMSUB213PS performs "Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUB213PS +// Supported forms : (11 forms) +// +// * VFNMSUB213PS xmm, xmm, xmm [FMA3] +// * VFNMSUB213PS m128, xmm, xmm [FMA3] +// * VFNMSUB213PS ymm, ymm, ymm [FMA3] +// * VFNMSUB213PS m256, ymm, ymm [FMA3] +// * VFNMSUB213PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB213PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB213PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB213PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB213PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB213PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB213PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFNMSUB213PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMSUB213PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMSUB213PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMSUB213PS takes 3 or 4 operands") + } + // VFNMSUB213PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xae) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB213PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xae) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB213PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0xae) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB213PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xae) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB213PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xae) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFNMSUB213PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xae) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMSUB213PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xae) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB213PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xae) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFNMSUB213PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xae) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB213PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xae) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFNMSUB213PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xae) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUB213PS") + } + return p +} + +// VFNMSUB213SD performs "Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUB213SD +// Supported forms : (5 forms) +// +// * VFNMSUB213SD xmm, xmm, xmm [FMA3] +// * VFNMSUB213SD m64, xmm, xmm [FMA3] +// * VFNMSUB213SD m64, xmm, xmm{k}{z} [AVX512F] +// * VFNMSUB213SD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFNMSUB213SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFNMSUB213SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMSUB213SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMSUB213SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMSUB213SD takes 3 or 4 operands") + } + // VFNMSUB213SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xaf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB213SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xaf) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB213SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xaf) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VFNMSUB213SD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xaf) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMSUB213SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xaf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUB213SD") + } + return p +} + +// VFNMSUB213SS performs "Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUB213SS +// Supported forms : (5 forms) +// +// * VFNMSUB213SS xmm, xmm, xmm [FMA3] +// * VFNMSUB213SS m32, xmm, xmm [FMA3] +// * VFNMSUB213SS m32, xmm, xmm{k}{z} [AVX512F] +// * VFNMSUB213SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFNMSUB213SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFNMSUB213SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMSUB213SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMSUB213SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMSUB213SS takes 3 or 4 operands") + } + // VFNMSUB213SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xaf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB213SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xaf) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB213SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xaf) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VFNMSUB213SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xaf) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMSUB213SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xaf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUB213SS") + } + return p +} + +// VFNMSUB231PD performs "Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUB231PD +// Supported forms : (11 forms) +// +// * VFNMSUB231PD xmm, xmm, xmm [FMA3] +// * VFNMSUB231PD m128, xmm, xmm [FMA3] +// * VFNMSUB231PD ymm, ymm, ymm [FMA3] +// * VFNMSUB231PD m256, ymm, ymm [FMA3] +// * VFNMSUB231PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB231PD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB231PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB231PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB231PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB231PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB231PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFNMSUB231PD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMSUB231PD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMSUB231PD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMSUB231PD takes 3 or 4 operands") + } + // VFNMSUB231PD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB231PD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbe) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB231PD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB231PD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbe) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB231PD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xbe) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFNMSUB231PD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMSUB231PD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB231PD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xbe) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFNMSUB231PD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB231PD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xbe) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFNMSUB231PD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUB231PD") + } + return p +} + +// VFNMSUB231PS performs "Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUB231PS +// Supported forms : (11 forms) +// +// * VFNMSUB231PS xmm, xmm, xmm [FMA3] +// * VFNMSUB231PS m128, xmm, xmm [FMA3] +// * VFNMSUB231PS ymm, ymm, ymm [FMA3] +// * VFNMSUB231PS m256, ymm, ymm [FMA3] +// * VFNMSUB231PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB231PS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB231PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VFNMSUB231PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB231PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB231PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VFNMSUB231PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VFNMSUB231PS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMSUB231PS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMSUB231PS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMSUB231PS takes 3 or 4 operands") + } + // VFNMSUB231PS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB231PS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbe) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB231PS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB231PS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbe) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB231PS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xbe) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VFNMSUB231PS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMSUB231PS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB231PS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xbe) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VFNMSUB231PS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB231PS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xbe) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VFNMSUB231PS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xbe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUB231PS") + } + return p +} + +// VFNMSUB231SD performs "Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUB231SD +// Supported forms : (5 forms) +// +// * VFNMSUB231SD xmm, xmm, xmm [FMA3] +// * VFNMSUB231SD m64, xmm, xmm [FMA3] +// * VFNMSUB231SD m64, xmm, xmm{k}{z} [AVX512F] +// * VFNMSUB231SD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFNMSUB231SD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFNMSUB231SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMSUB231SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMSUB231SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMSUB231SD takes 3 or 4 operands") + } + // VFNMSUB231SD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0xbf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB231SD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbf) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB231SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xbf) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VFNMSUB231SD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xbf) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMSUB231SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xbf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUB231SD") + } + return p +} + +// VFNMSUB231SS performs "Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUB231SS +// Supported forms : (5 forms) +// +// * VFNMSUB231SS xmm, xmm, xmm [FMA3] +// * VFNMSUB231SS m32, xmm, xmm [FMA3] +// * VFNMSUB231SS m32, xmm, xmm{k}{z} [AVX512F] +// * VFNMSUB231SS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VFNMSUB231SS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VFNMSUB231SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VFNMSUB231SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VFNMSUB231SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VFNMSUB231SS takes 3 or 4 operands") + } + // VFNMSUB231SS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0xbf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VFNMSUB231SS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_FMA3) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xbf) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VFNMSUB231SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xbf) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VFNMSUB231SS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xbf) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VFNMSUB231SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xbf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUB231SS") + } + return p +} + +// VFNMSUBPD performs "Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUBPD +// Supported forms : (6 forms) +// +// * VFNMSUBPD xmm, xmm, xmm, xmm [FMA4] +// * VFNMSUBPD m128, xmm, xmm, xmm [FMA4] +// * VFNMSUBPD xmm, m128, xmm, xmm [FMA4] +// * VFNMSUBPD ymm, ymm, ymm, ymm [FMA4] +// * VFNMSUBPD m256, ymm, ymm, ymm [FMA4] +// * VFNMSUBPD ymm, m256, ymm, ymm [FMA4] +// +func (self *Program) VFNMSUBPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFNMSUBPD", 4, Operands { v0, v1, v2, v3 }) + // VFNMSUBPD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMSUBPD m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x7d) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFNMSUBPD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x7d) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMSUBPD ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMSUBPD m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x7d) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFNMSUBPD ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x7d) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUBPD") + } + return p +} + +// VFNMSUBPS performs "Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUBPS +// Supported forms : (6 forms) +// +// * VFNMSUBPS xmm, xmm, xmm, xmm [FMA4] +// * VFNMSUBPS m128, xmm, xmm, xmm [FMA4] +// * VFNMSUBPS xmm, m128, xmm, xmm [FMA4] +// * VFNMSUBPS ymm, ymm, ymm, ymm [FMA4] +// * VFNMSUBPS m256, ymm, ymm, ymm [FMA4] +// * VFNMSUBPS ymm, m256, ymm, ymm [FMA4] +// +func (self *Program) VFNMSUBPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFNMSUBPS", 4, Operands { v0, v1, v2, v3 }) + // VFNMSUBPS xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMSUBPS m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x7c) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFNMSUBPS xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x7c) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMSUBPS ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMSUBPS m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x7c) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFNMSUBPS ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x7c) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUBPS") + } + return p +} + +// VFNMSUBSD performs "Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUBSD +// Supported forms : (3 forms) +// +// * VFNMSUBSD xmm, xmm, xmm, xmm [FMA4] +// * VFNMSUBSD m64, xmm, xmm, xmm [FMA4] +// * VFNMSUBSD xmm, m64, xmm, xmm [FMA4] +// +func (self *Program) VFNMSUBSD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFNMSUBSD", 4, Operands { v0, v1, v2, v3 }) + // VFNMSUBSD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMSUBSD m64, xmm, xmm, xmm + if isM64(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x7f) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFNMSUBSD xmm, m64, xmm, xmm + if isXMM(v0) && isM64(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x7f) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUBSD") + } + return p +} + +// VFNMSUBSS performs "Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VFNMSUBSS +// Supported forms : (3 forms) +// +// * VFNMSUBSS xmm, xmm, xmm, xmm [FMA4] +// * VFNMSUBSS m32, xmm, xmm, xmm [FMA4] +// * VFNMSUBSS xmm, m32, xmm, xmm [FMA4] +// +func (self *Program) VFNMSUBSS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VFNMSUBSS", 4, Operands { v0, v1, v2, v3 }) + // VFNMSUBSS xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VFNMSUBSS m32, xmm, xmm, xmm + if isM32(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0x7e) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VFNMSUBSS xmm, m32, xmm, xmm + if isXMM(v0) && isM32(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_FMA4) + p.domain = DomainFMA + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x7e) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VFNMSUBSS") + } + return p +} + +// VFPCLASSPD performs "Test Class of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VFPCLASSPD +// Supported forms : (6 forms) +// +// * VFPCLASSPD imm8, m512/m64bcst, k{k} [AVX512DQ] +// * VFPCLASSPD imm8, zmm, k{k} [AVX512DQ] +// * VFPCLASSPD imm8, m128/m64bcst, k{k} [AVX512DQ,AVX512VL] +// * VFPCLASSPD imm8, m256/m64bcst, k{k} [AVX512DQ,AVX512VL] +// * VFPCLASSPD imm8, xmm, k{k} [AVX512DQ,AVX512VL] +// * VFPCLASSPD imm8, ymm, k{k} [AVX512DQ,AVX512VL] +// +func (self *Program) VFPCLASSPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VFPCLASSPD", 3, Operands { v0, v1, v2 }) + // VFPCLASSPD imm8, m512/m64bcst, k{k} + if isImm8(v0) && isM512M64bcst(v1) && isKk(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), 0, bcode(v[1])) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VFPCLASSPD imm8, zmm, k{k} + if isImm8(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit(kcode(v[2]) | 0x48) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VFPCLASSPD imm8, m128/m64bcst, k{k} + if isImm8(v0) && isM128M64bcst(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), 0, bcode(v[1])) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VFPCLASSPD imm8, m256/m64bcst, k{k} + if isImm8(v0) && isM256M64bcst(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), 0, bcode(v[1])) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VFPCLASSPD imm8, xmm, k{k} + if isImm8(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit(kcode(v[2]) | 0x08) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VFPCLASSPD imm8, ymm, k{k} + if isImm8(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit(kcode(v[2]) | 0x28) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFPCLASSPD") + } + return p +} + +// VFPCLASSPS performs "Test Class of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VFPCLASSPS +// Supported forms : (6 forms) +// +// * VFPCLASSPS imm8, m512/m32bcst, k{k} [AVX512DQ] +// * VFPCLASSPS imm8, zmm, k{k} [AVX512DQ] +// * VFPCLASSPS imm8, m128/m32bcst, k{k} [AVX512DQ,AVX512VL] +// * VFPCLASSPS imm8, m256/m32bcst, k{k} [AVX512DQ,AVX512VL] +// * VFPCLASSPS imm8, xmm, k{k} [AVX512DQ,AVX512VL] +// * VFPCLASSPS imm8, ymm, k{k} [AVX512DQ,AVX512VL] +// +func (self *Program) VFPCLASSPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VFPCLASSPS", 3, Operands { v0, v1, v2 }) + // VFPCLASSPS imm8, m512/m32bcst, k{k} + if isImm8(v0) && isM512M32bcst(v1) && isKk(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), 0, bcode(v[1])) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VFPCLASSPS imm8, zmm, k{k} + if isImm8(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit(kcode(v[2]) | 0x48) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VFPCLASSPS imm8, m128/m32bcst, k{k} + if isImm8(v0) && isM128M32bcst(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), 0, bcode(v[1])) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VFPCLASSPS imm8, m256/m32bcst, k{k} + if isImm8(v0) && isM256M32bcst(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), 0, bcode(v[1])) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VFPCLASSPS imm8, xmm, k{k} + if isImm8(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit(kcode(v[2]) | 0x08) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VFPCLASSPS imm8, ymm, k{k} + if isImm8(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit(kcode(v[2]) | 0x28) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFPCLASSPS") + } + return p +} + +// VFPCLASSSD performs "Test Class of Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : VFPCLASSSD +// Supported forms : (2 forms) +// +// * VFPCLASSSD imm8, xmm, k{k} [AVX512DQ] +// * VFPCLASSSD imm8, m64, k{k} [AVX512DQ] +// +func (self *Program) VFPCLASSSD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VFPCLASSSD", 3, Operands { v0, v1, v2 }) + // VFPCLASSSD imm8, xmm, k{k} + if isImm8(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit(kcode(v[2]) | 0x08) + m.emit(0x67) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VFPCLASSSD imm8, m64, k{k} + if isImm8(v0) && isM64(v1) && isKk(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), 0, 0) + m.emit(0x67) + m.mrsd(lcode(v[2]), addr(v[1]), 8) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFPCLASSSD") + } + return p +} + +// VFPCLASSSS performs "Test Class of Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : VFPCLASSSS +// Supported forms : (2 forms) +// +// * VFPCLASSSS imm8, xmm, k{k} [AVX512DQ] +// * VFPCLASSSS imm8, m32, k{k} [AVX512DQ] +// +func (self *Program) VFPCLASSSS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VFPCLASSSS", 3, Operands { v0, v1, v2 }) + // VFPCLASSSS imm8, xmm, k{k} + if isImm8(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit(kcode(v[2]) | 0x08) + m.emit(0x67) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VFPCLASSSS imm8, m32, k{k} + if isImm8(v0) && isM32(v1) && isKk(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), 0, 0) + m.emit(0x67) + m.mrsd(lcode(v[2]), addr(v[1]), 4) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VFPCLASSSS") + } + return p +} + +// VFRCZPD performs "Extract Fraction Packed Double-Precision Floating-Point". +// +// Mnemonic : VFRCZPD +// Supported forms : (4 forms) +// +// * VFRCZPD xmm, xmm [XOP] +// * VFRCZPD m128, xmm [XOP] +// * VFRCZPD ymm, ymm [XOP] +// * VFRCZPD m256, ymm [XOP] +// +func (self *Program) VFRCZPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VFRCZPD", 2, Operands { v0, v1 }) + // VFRCZPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0x81) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VFRCZPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0x81) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VFRCZPD ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7c) + m.emit(0x81) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VFRCZPD m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x04, hcode(v[1]), addr(v[0]), 0) + m.emit(0x81) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VFRCZPD") + } + return p +} + +// VFRCZPS performs "Extract Fraction Packed Single-Precision Floating-Point". +// +// Mnemonic : VFRCZPS +// Supported forms : (4 forms) +// +// * VFRCZPS xmm, xmm [XOP] +// * VFRCZPS m128, xmm [XOP] +// * VFRCZPS ymm, ymm [XOP] +// * VFRCZPS m256, ymm [XOP] +// +func (self *Program) VFRCZPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VFRCZPS", 2, Operands { v0, v1 }) + // VFRCZPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0x80) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VFRCZPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0x80) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VFRCZPS ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7c) + m.emit(0x80) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VFRCZPS m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x04, hcode(v[1]), addr(v[0]), 0) + m.emit(0x80) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VFRCZPS") + } + return p +} + +// VFRCZSD performs "Extract Fraction Scalar Double-Precision Floating-Point". +// +// Mnemonic : VFRCZSD +// Supported forms : (2 forms) +// +// * VFRCZSD xmm, xmm [XOP] +// * VFRCZSD m64, xmm [XOP] +// +func (self *Program) VFRCZSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VFRCZSD", 2, Operands { v0, v1 }) + // VFRCZSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0x83) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VFRCZSD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0x83) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VFRCZSD") + } + return p +} + +// VFRCZSS performs "Extract Fraction Scalar Single-Precision Floating Point". +// +// Mnemonic : VFRCZSS +// Supported forms : (2 forms) +// +// * VFRCZSS xmm, xmm [XOP] +// * VFRCZSS m32, xmm [XOP] +// +func (self *Program) VFRCZSS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VFRCZSS", 2, Operands { v0, v1 }) + // VFRCZSS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0x82) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VFRCZSS m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0x82) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VFRCZSS") + } + return p +} + +// VGATHERDPD performs "Gather Packed Double-Precision Floating-Point Values Using Signed Doubleword Indices". +// +// Mnemonic : VGATHERDPD +// Supported forms : (5 forms) +// +// * VGATHERDPD xmm, vm32x, xmm [AVX2] +// * VGATHERDPD ymm, vm32x, ymm [AVX2] +// * VGATHERDPD vm32y, zmm{k} [AVX512F] +// * VGATHERDPD vm32x, xmm{k} [AVX512F,AVX512VL] +// * VGATHERDPD vm32x, ymm{k} [AVX512F,AVX512VL] +// +func (self *Program) VGATHERDPD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VGATHERDPD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VGATHERDPD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VGATHERDPD takes 2 or 3 operands") + } + // VGATHERDPD xmm, vm32x, xmm + if len(vv) == 1 && isXMM(v0) && isVMX(v1) && isXMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x92) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VGATHERDPD ymm, vm32x, ymm + if len(vv) == 1 && isYMM(v0) && isVMX(v1) && isYMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x92) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VGATHERDPD vm32y, zmm{k} + if len(vv) == 0 && isEVEXVMY(v0) && isZMMk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x92) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VGATHERDPD vm32x, xmm{k} + if len(vv) == 0 && isEVEXVMX(v0) && isXMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x92) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VGATHERDPD vm32x, ymm{k} + if len(vv) == 0 && isEVEXVMX(v0) && isYMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x92) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VGATHERDPD") + } + return p +} + +// VGATHERDPS performs "Gather Packed Single-Precision Floating-Point Values Using Signed Doubleword Indices". +// +// Mnemonic : VGATHERDPS +// Supported forms : (5 forms) +// +// * VGATHERDPS xmm, vm32x, xmm [AVX2] +// * VGATHERDPS ymm, vm32y, ymm [AVX2] +// * VGATHERDPS vm32z, zmm{k} [AVX512F] +// * VGATHERDPS vm32x, xmm{k} [AVX512F,AVX512VL] +// * VGATHERDPS vm32y, ymm{k} [AVX512F,AVX512VL] +// +func (self *Program) VGATHERDPS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VGATHERDPS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VGATHERDPS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VGATHERDPS takes 2 or 3 operands") + } + // VGATHERDPS xmm, vm32x, xmm + if len(vv) == 1 && isXMM(v0) && isVMX(v1) && isXMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x92) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VGATHERDPS ymm, vm32y, ymm + if len(vv) == 1 && isYMM(v0) && isVMY(v1) && isYMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x92) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VGATHERDPS vm32z, zmm{k} + if len(vv) == 0 && isVMZ(v0) && isZMMk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x92) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VGATHERDPS vm32x, xmm{k} + if len(vv) == 0 && isEVEXVMX(v0) && isXMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x92) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VGATHERDPS vm32y, ymm{k} + if len(vv) == 0 && isEVEXVMY(v0) && isYMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x92) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VGATHERDPS") + } + return p +} + +// VGATHERPF0DPD performs "Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Doubleword Indices Using T0 Hint". +// +// Mnemonic : VGATHERPF0DPD +// Supported forms : (1 form) +// +// * VGATHERPF0DPD vm32y{k} [AVX512PF] +// +func (self *Program) VGATHERPF0DPD(v0 interface{}) *Instruction { + p := self.alloc("VGATHERPF0DPD", 1, Operands { v0 }) + // VGATHERPF0DPD vm32y{k} + if isVMYk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc6) + m.mrsd(1, addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VGATHERPF0DPD") + } + return p +} + +// VGATHERPF0DPS performs "Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Doubleword Indices Using T0 Hint". +// +// Mnemonic : VGATHERPF0DPS +// Supported forms : (1 form) +// +// * VGATHERPF0DPS vm32z{k} [AVX512PF] +// +func (self *Program) VGATHERPF0DPS(v0 interface{}) *Instruction { + p := self.alloc("VGATHERPF0DPS", 1, Operands { v0 }) + // VGATHERPF0DPS vm32z{k} + if isVMZk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc6) + m.mrsd(1, addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VGATHERPF0DPS") + } + return p +} + +// VGATHERPF0QPD performs "Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Quadword Indices Using T0 Hint". +// +// Mnemonic : VGATHERPF0QPD +// Supported forms : (1 form) +// +// * VGATHERPF0QPD vm64z{k} [AVX512PF] +// +func (self *Program) VGATHERPF0QPD(v0 interface{}) *Instruction { + p := self.alloc("VGATHERPF0QPD", 1, Operands { v0 }) + // VGATHERPF0QPD vm64z{k} + if isVMZk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc7) + m.mrsd(1, addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VGATHERPF0QPD") + } + return p +} + +// VGATHERPF0QPS performs "Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Quadword Indices Using T0 Hint". +// +// Mnemonic : VGATHERPF0QPS +// Supported forms : (1 form) +// +// * VGATHERPF0QPS vm64z{k} [AVX512PF] +// +func (self *Program) VGATHERPF0QPS(v0 interface{}) *Instruction { + p := self.alloc("VGATHERPF0QPS", 1, Operands { v0 }) + // VGATHERPF0QPS vm64z{k} + if isVMZk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc7) + m.mrsd(1, addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VGATHERPF0QPS") + } + return p +} + +// VGATHERPF1DPD performs "Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Doubleword Indices Using T1 Hint". +// +// Mnemonic : VGATHERPF1DPD +// Supported forms : (1 form) +// +// * VGATHERPF1DPD vm32y{k} [AVX512PF] +// +func (self *Program) VGATHERPF1DPD(v0 interface{}) *Instruction { + p := self.alloc("VGATHERPF1DPD", 1, Operands { v0 }) + // VGATHERPF1DPD vm32y{k} + if isVMYk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc6) + m.mrsd(2, addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VGATHERPF1DPD") + } + return p +} + +// VGATHERPF1DPS performs "Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Doubleword Indices Using T1 Hint". +// +// Mnemonic : VGATHERPF1DPS +// Supported forms : (1 form) +// +// * VGATHERPF1DPS vm32z{k} [AVX512PF] +// +func (self *Program) VGATHERPF1DPS(v0 interface{}) *Instruction { + p := self.alloc("VGATHERPF1DPS", 1, Operands { v0 }) + // VGATHERPF1DPS vm32z{k} + if isVMZk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc6) + m.mrsd(2, addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VGATHERPF1DPS") + } + return p +} + +// VGATHERPF1QPD performs "Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Quadword Indices Using T1 Hint". +// +// Mnemonic : VGATHERPF1QPD +// Supported forms : (1 form) +// +// * VGATHERPF1QPD vm64z{k} [AVX512PF] +// +func (self *Program) VGATHERPF1QPD(v0 interface{}) *Instruction { + p := self.alloc("VGATHERPF1QPD", 1, Operands { v0 }) + // VGATHERPF1QPD vm64z{k} + if isVMZk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc7) + m.mrsd(2, addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VGATHERPF1QPD") + } + return p +} + +// VGATHERPF1QPS performs "Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Quadword Indices Using T1 Hint". +// +// Mnemonic : VGATHERPF1QPS +// Supported forms : (1 form) +// +// * VGATHERPF1QPS vm64z{k} [AVX512PF] +// +func (self *Program) VGATHERPF1QPS(v0 interface{}) *Instruction { + p := self.alloc("VGATHERPF1QPS", 1, Operands { v0 }) + // VGATHERPF1QPS vm64z{k} + if isVMZk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc7) + m.mrsd(2, addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VGATHERPF1QPS") + } + return p +} + +// VGATHERQPD performs "Gather Packed Double-Precision Floating-Point Values Using Signed Quadword Indices". +// +// Mnemonic : VGATHERQPD +// Supported forms : (5 forms) +// +// * VGATHERQPD xmm, vm64x, xmm [AVX2] +// * VGATHERQPD ymm, vm64y, ymm [AVX2] +// * VGATHERQPD vm64z, zmm{k} [AVX512F] +// * VGATHERQPD vm64x, xmm{k} [AVX512F,AVX512VL] +// * VGATHERQPD vm64y, ymm{k} [AVX512F,AVX512VL] +// +func (self *Program) VGATHERQPD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VGATHERQPD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VGATHERQPD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VGATHERQPD takes 2 or 3 operands") + } + // VGATHERQPD xmm, vm64x, xmm + if len(vv) == 1 && isXMM(v0) && isVMX(v1) && isXMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x93) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VGATHERQPD ymm, vm64y, ymm + if len(vv) == 1 && isYMM(v0) && isVMY(v1) && isYMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x93) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VGATHERQPD vm64z, zmm{k} + if len(vv) == 0 && isVMZ(v0) && isZMMk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x93) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VGATHERQPD vm64x, xmm{k} + if len(vv) == 0 && isEVEXVMX(v0) && isXMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x93) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VGATHERQPD vm64y, ymm{k} + if len(vv) == 0 && isEVEXVMY(v0) && isYMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x93) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VGATHERQPD") + } + return p +} + +// VGATHERQPS performs "Gather Packed Single-Precision Floating-Point Values Using Signed Quadword Indices". +// +// Mnemonic : VGATHERQPS +// Supported forms : (5 forms) +// +// * VGATHERQPS xmm, vm64x, xmm [AVX2] +// * VGATHERQPS xmm, vm64y, xmm [AVX2] +// * VGATHERQPS vm64z, ymm{k} [AVX512F] +// * VGATHERQPS vm64x, xmm{k} [AVX512F,AVX512VL] +// * VGATHERQPS vm64y, xmm{k} [AVX512F,AVX512VL] +// +func (self *Program) VGATHERQPS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VGATHERQPS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VGATHERQPS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VGATHERQPS takes 2 or 3 operands") + } + // VGATHERQPS xmm, vm64x, xmm + if len(vv) == 1 && isXMM(v0) && isVMX(v1) && isXMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x93) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VGATHERQPS xmm, vm64y, xmm + if len(vv) == 1 && isXMM(v0) && isVMY(v1) && isXMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x93) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VGATHERQPS vm64z, ymm{k} + if len(vv) == 0 && isVMZ(v0) && isYMMk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x93) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VGATHERQPS vm64x, xmm{k} + if len(vv) == 0 && isEVEXVMX(v0) && isXMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x93) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VGATHERQPS vm64y, xmm{k} + if len(vv) == 0 && isEVEXVMY(v0) && isXMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x93) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VGATHERQPS") + } + return p +} + +// VGETEXPPD performs "Extract Exponents of Packed Double-Precision Floating-Point Values as Double-Precision Floating-Point Values". +// +// Mnemonic : VGETEXPPD +// Supported forms : (7 forms) +// +// * VGETEXPPD m512/m64bcst, zmm{k}{z} [AVX512F] +// * VGETEXPPD {sae}, zmm, zmm{k}{z} [AVX512F] +// * VGETEXPPD zmm, zmm{k}{z} [AVX512F] +// * VGETEXPPD m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VGETEXPPD m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VGETEXPPD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VGETEXPPD ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VGETEXPPD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VGETEXPPD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VGETEXPPD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VGETEXPPD takes 2 or 3 operands") + } + // VGETEXPPD m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VGETEXPPD {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0x42) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VGETEXPPD zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VGETEXPPD m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VGETEXPPD m256/m64bcst, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VGETEXPPD xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VGETEXPPD ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VGETEXPPD") + } + return p +} + +// VGETEXPPS performs "Extract Exponents of Packed Single-Precision Floating-Point Values as Single-Precision Floating-Point Values". +// +// Mnemonic : VGETEXPPS +// Supported forms : (7 forms) +// +// * VGETEXPPS m512/m32bcst, zmm{k}{z} [AVX512F] +// * VGETEXPPS {sae}, zmm, zmm{k}{z} [AVX512F] +// * VGETEXPPS zmm, zmm{k}{z} [AVX512F] +// * VGETEXPPS m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VGETEXPPS m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VGETEXPPS xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VGETEXPPS ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VGETEXPPS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VGETEXPPS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VGETEXPPS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VGETEXPPS takes 2 or 3 operands") + } + // VGETEXPPS m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VGETEXPPS {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0x42) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VGETEXPPS zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VGETEXPPS m128/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VGETEXPPS m256/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x42) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VGETEXPPS xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VGETEXPPS ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x42) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VGETEXPPS") + } + return p +} + +// VGETEXPSD performs "Extract Exponent of Scalar Double-Precision Floating-Point Value as Double-Precision Floating-Point Value". +// +// Mnemonic : VGETEXPSD +// Supported forms : (3 forms) +// +// * VGETEXPSD m64, xmm, xmm{k}{z} [AVX512F] +// * VGETEXPSD {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VGETEXPSD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VGETEXPSD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VGETEXPSD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VGETEXPSD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VGETEXPSD takes 3 or 4 operands") + } + // VGETEXPSD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x43) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VGETEXPSD {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x43) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VGETEXPSD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x43) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VGETEXPSD") + } + return p +} + +// VGETEXPSS performs "Extract Exponent of Scalar Single-Precision Floating-Point Value as Single-Precision Floating-Point Value". +// +// Mnemonic : VGETEXPSS +// Supported forms : (3 forms) +// +// * VGETEXPSS m32, xmm, xmm{k}{z} [AVX512F] +// * VGETEXPSS {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VGETEXPSS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VGETEXPSS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VGETEXPSS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VGETEXPSS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VGETEXPSS takes 3 or 4 operands") + } + // VGETEXPSS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x43) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VGETEXPSS {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x43) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VGETEXPSS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x43) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VGETEXPSS") + } + return p +} + +// VGETMANTPD performs "Extract Normalized Mantissas from Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VGETMANTPD +// Supported forms : (7 forms) +// +// * VGETMANTPD imm8, m512/m64bcst, zmm{k}{z} [AVX512F] +// * VGETMANTPD imm8, {sae}, zmm, zmm{k}{z} [AVX512F] +// * VGETMANTPD imm8, zmm, zmm{k}{z} [AVX512F] +// * VGETMANTPD imm8, m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VGETMANTPD imm8, m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VGETMANTPD imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VGETMANTPD imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VGETMANTPD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VGETMANTPD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VGETMANTPD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VGETMANTPD takes 3 or 4 operands") + } + // VGETMANTPD imm8, m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM512M64bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTPD imm8, {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[3]) << 7) | kcode(v[3]) | 0x18) + m.emit(0x26) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTPD imm8, zmm, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTPD imm8, m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM128M64bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTPD imm8, m256/m64bcst, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM256M64bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTPD imm8, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x08) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTPD imm8, ymm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VGETMANTPD") + } + return p +} + +// VGETMANTPS performs "Extract Normalized Mantissas from Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VGETMANTPS +// Supported forms : (7 forms) +// +// * VGETMANTPS imm8, m512/m32bcst, zmm{k}{z} [AVX512F] +// * VGETMANTPS imm8, {sae}, zmm, zmm{k}{z} [AVX512F] +// * VGETMANTPS imm8, zmm, zmm{k}{z} [AVX512F] +// * VGETMANTPS imm8, m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VGETMANTPS imm8, m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VGETMANTPS imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VGETMANTPS imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VGETMANTPS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VGETMANTPS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VGETMANTPS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VGETMANTPS takes 3 or 4 operands") + } + // VGETMANTPS imm8, m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM512M32bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTPS imm8, {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[3]) << 7) | kcode(v[3]) | 0x18) + m.emit(0x26) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTPS imm8, zmm, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTPS imm8, m128/m32bcst, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM128M32bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTPS imm8, m256/m32bcst, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM256M32bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTPS imm8, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x08) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTPS imm8, ymm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VGETMANTPS") + } + return p +} + +// VGETMANTSD performs "Extract Normalized Mantissa from Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : VGETMANTSD +// Supported forms : (3 forms) +// +// * VGETMANTSD imm8, m64, xmm, xmm{k}{z} [AVX512F] +// * VGETMANTSD imm8, {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VGETMANTSD imm8, xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VGETMANTSD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VGETMANTSD", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VGETMANTSD", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VGETMANTSD takes 4 or 5 operands") + } + // VGETMANTSD imm8, m64, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM64(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x27) + m.mrsd(lcode(v[3]), addr(v[1]), 8) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTSD imm8, {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0xfd ^ (hlcode(v[3]) << 3)) + m.emit((zcode(v[4]) << 7) | (0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0x27) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTSD imm8, xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x27) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VGETMANTSD") + } + return p +} + +// VGETMANTSS performs "Extract Normalized Mantissa from Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : VGETMANTSS +// Supported forms : (3 forms) +// +// * VGETMANTSS imm8, m32, xmm, xmm{k}{z} [AVX512F] +// * VGETMANTSS imm8, {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VGETMANTSS imm8, xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VGETMANTSS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VGETMANTSS", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VGETMANTSS", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VGETMANTSS takes 4 or 5 operands") + } + // VGETMANTSS imm8, m32, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM32(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x27) + m.mrsd(lcode(v[3]), addr(v[1]), 4) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTSS imm8, {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0x7d ^ (hlcode(v[3]) << 3)) + m.emit((zcode(v[4]) << 7) | (0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0x27) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VGETMANTSS imm8, xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x27) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VGETMANTSS") + } + return p +} + +// VHADDPD performs "Packed Double-FP Horizontal Add". +// +// Mnemonic : VHADDPD +// Supported forms : (4 forms) +// +// * VHADDPD xmm, xmm, xmm [AVX] +// * VHADDPD m128, xmm, xmm [AVX] +// * VHADDPD ymm, ymm, ymm [AVX] +// * VHADDPD m256, ymm, ymm [AVX] +// +func (self *Program) VHADDPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VHADDPD", 3, Operands { v0, v1, v2 }) + // VHADDPD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VHADDPD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x7c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VHADDPD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VHADDPD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x7c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VHADDPD") + } + return p +} + +// VHADDPS performs "Packed Single-FP Horizontal Add". +// +// Mnemonic : VHADDPS +// Supported forms : (4 forms) +// +// * VHADDPS xmm, xmm, xmm [AVX] +// * VHADDPS m128, xmm, xmm [AVX] +// * VHADDPS ymm, ymm, ymm [AVX] +// * VHADDPS m256, ymm, ymm [AVX] +// +func (self *Program) VHADDPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VHADDPS", 3, Operands { v0, v1, v2 }) + // VHADDPS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VHADDPS m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x7c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VHADDPS ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VHADDPS m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x7c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VHADDPS") + } + return p +} + +// VHSUBPD performs "Packed Double-FP Horizontal Subtract". +// +// Mnemonic : VHSUBPD +// Supported forms : (4 forms) +// +// * VHSUBPD xmm, xmm, xmm [AVX] +// * VHSUBPD m128, xmm, xmm [AVX] +// * VHSUBPD ymm, ymm, ymm [AVX] +// * VHSUBPD m256, ymm, ymm [AVX] +// +func (self *Program) VHSUBPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VHSUBPD", 3, Operands { v0, v1, v2 }) + // VHSUBPD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VHSUBPD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x7d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VHSUBPD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VHSUBPD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x7d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VHSUBPD") + } + return p +} + +// VHSUBPS performs "Packed Single-FP Horizontal Subtract". +// +// Mnemonic : VHSUBPS +// Supported forms : (4 forms) +// +// * VHSUBPS xmm, xmm, xmm [AVX] +// * VHSUBPS m128, xmm, xmm [AVX] +// * VHSUBPS ymm, ymm, ymm [AVX] +// * VHSUBPS m256, ymm, ymm [AVX] +// +func (self *Program) VHSUBPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VHSUBPS", 3, Operands { v0, v1, v2 }) + // VHSUBPS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VHSUBPS m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x7d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VHSUBPS ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VHSUBPS m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x7d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VHSUBPS") + } + return p +} + +// VINSERTF128 performs "Insert Packed Floating-Point Values". +// +// Mnemonic : VINSERTF128 +// Supported forms : (2 forms) +// +// * VINSERTF128 imm8, xmm, ymm, ymm [AVX] +// * VINSERTF128 imm8, m128, ymm, ymm [AVX] +// +func (self *Program) VINSERTF128(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VINSERTF128", 4, Operands { v0, v1, v2, v3 }) + // VINSERTF128 imm8, xmm, ymm, ymm + if isImm8(v0) && isXMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x18) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTF128 imm8, m128, ymm, ymm + if isImm8(v0) && isM128(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x18) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VINSERTF128") + } + return p +} + +// VINSERTF32X4 performs "Insert 128 Bits of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VINSERTF32X4 +// Supported forms : (4 forms) +// +// * VINSERTF32X4 imm8, xmm, zmm, zmm{k}{z} [AVX512F] +// * VINSERTF32X4 imm8, m128, zmm, zmm{k}{z} [AVX512F] +// * VINSERTF32X4 imm8, xmm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VINSERTF32X4 imm8, m128, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VINSERTF32X4(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VINSERTF32X4", 4, Operands { v0, v1, v2, v3 }) + // VINSERTF32X4 imm8, xmm, zmm, zmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x18) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTF32X4 imm8, m128, zmm, zmm{k}{z} + if isImm8(v0) && isM128(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x18) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTF32X4 imm8, xmm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x18) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTF32X4 imm8, m128, ymm, ymm{k}{z} + if isImm8(v0) && isM128(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x18) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VINSERTF32X4") + } + return p +} + +// VINSERTF32X8 performs "Insert 256 Bits of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VINSERTF32X8 +// Supported forms : (2 forms) +// +// * VINSERTF32X8 imm8, ymm, zmm, zmm{k}{z} [AVX512DQ] +// * VINSERTF32X8 imm8, m256, zmm, zmm{k}{z} [AVX512DQ] +// +func (self *Program) VINSERTF32X8(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VINSERTF32X8", 4, Operands { v0, v1, v2, v3 }) + // VINSERTF32X8 imm8, ymm, zmm, zmm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x1a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTF32X8 imm8, m256, zmm, zmm{k}{z} + if isImm8(v0) && isM256(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x1a) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VINSERTF32X8") + } + return p +} + +// VINSERTF64X2 performs "Insert 128 Bits of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VINSERTF64X2 +// Supported forms : (4 forms) +// +// * VINSERTF64X2 imm8, xmm, zmm, zmm{k}{z} [AVX512DQ] +// * VINSERTF64X2 imm8, m128, zmm, zmm{k}{z} [AVX512DQ] +// * VINSERTF64X2 imm8, xmm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VINSERTF64X2 imm8, m128, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VINSERTF64X2(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VINSERTF64X2", 4, Operands { v0, v1, v2, v3 }) + // VINSERTF64X2 imm8, xmm, zmm, zmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x18) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTF64X2 imm8, m128, zmm, zmm{k}{z} + if isImm8(v0) && isM128(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x18) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTF64X2 imm8, xmm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x18) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTF64X2 imm8, m128, ymm, ymm{k}{z} + if isImm8(v0) && isM128(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x18) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VINSERTF64X2") + } + return p +} + +// VINSERTF64X4 performs "Insert 256 Bits of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VINSERTF64X4 +// Supported forms : (2 forms) +// +// * VINSERTF64X4 imm8, ymm, zmm, zmm{k}{z} [AVX512F] +// * VINSERTF64X4 imm8, m256, zmm, zmm{k}{z} [AVX512F] +// +func (self *Program) VINSERTF64X4(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VINSERTF64X4", 4, Operands { v0, v1, v2, v3 }) + // VINSERTF64X4 imm8, ymm, zmm, zmm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x1a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTF64X4 imm8, m256, zmm, zmm{k}{z} + if isImm8(v0) && isM256(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x1a) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VINSERTF64X4") + } + return p +} + +// VINSERTI128 performs "Insert Packed Integer Values". +// +// Mnemonic : VINSERTI128 +// Supported forms : (2 forms) +// +// * VINSERTI128 imm8, xmm, ymm, ymm [AVX2] +// * VINSERTI128 imm8, m128, ymm, ymm [AVX2] +// +func (self *Program) VINSERTI128(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VINSERTI128", 4, Operands { v0, v1, v2, v3 }) + // VINSERTI128 imm8, xmm, ymm, ymm + if isImm8(v0) && isXMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x38) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTI128 imm8, m128, ymm, ymm + if isImm8(v0) && isM128(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x38) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VINSERTI128") + } + return p +} + +// VINSERTI32X4 performs "Insert 128 Bits of Packed Doubleword Integer Values". +// +// Mnemonic : VINSERTI32X4 +// Supported forms : (4 forms) +// +// * VINSERTI32X4 imm8, xmm, zmm, zmm{k}{z} [AVX512F] +// * VINSERTI32X4 imm8, m128, zmm, zmm{k}{z} [AVX512F] +// * VINSERTI32X4 imm8, xmm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VINSERTI32X4 imm8, m128, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VINSERTI32X4(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VINSERTI32X4", 4, Operands { v0, v1, v2, v3 }) + // VINSERTI32X4 imm8, xmm, zmm, zmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x38) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTI32X4 imm8, m128, zmm, zmm{k}{z} + if isImm8(v0) && isM128(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x38) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTI32X4 imm8, xmm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x38) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTI32X4 imm8, m128, ymm, ymm{k}{z} + if isImm8(v0) && isM128(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x38) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VINSERTI32X4") + } + return p +} + +// VINSERTI32X8 performs "Insert 256 Bits of Packed Doubleword Integer Values". +// +// Mnemonic : VINSERTI32X8 +// Supported forms : (2 forms) +// +// * VINSERTI32X8 imm8, ymm, zmm, zmm{k}{z} [AVX512DQ] +// * VINSERTI32X8 imm8, m256, zmm, zmm{k}{z} [AVX512DQ] +// +func (self *Program) VINSERTI32X8(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VINSERTI32X8", 4, Operands { v0, v1, v2, v3 }) + // VINSERTI32X8 imm8, ymm, zmm, zmm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x3a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTI32X8 imm8, m256, zmm, zmm{k}{z} + if isImm8(v0) && isM256(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x3a) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VINSERTI32X8") + } + return p +} + +// VINSERTI64X2 performs "Insert 128 Bits of Packed Quadword Integer Values". +// +// Mnemonic : VINSERTI64X2 +// Supported forms : (4 forms) +// +// * VINSERTI64X2 imm8, xmm, zmm, zmm{k}{z} [AVX512DQ] +// * VINSERTI64X2 imm8, m128, zmm, zmm{k}{z} [AVX512DQ] +// * VINSERTI64X2 imm8, xmm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VINSERTI64X2 imm8, m128, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VINSERTI64X2(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VINSERTI64X2", 4, Operands { v0, v1, v2, v3 }) + // VINSERTI64X2 imm8, xmm, zmm, zmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x38) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTI64X2 imm8, m128, zmm, zmm{k}{z} + if isImm8(v0) && isM128(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x38) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTI64X2 imm8, xmm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x38) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTI64X2 imm8, m128, ymm, ymm{k}{z} + if isImm8(v0) && isM128(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x38) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VINSERTI64X2") + } + return p +} + +// VINSERTI64X4 performs "Insert 256 Bits of Packed Quadword Integer Values". +// +// Mnemonic : VINSERTI64X4 +// Supported forms : (2 forms) +// +// * VINSERTI64X4 imm8, ymm, zmm, zmm{k}{z} [AVX512F] +// * VINSERTI64X4 imm8, m256, zmm, zmm{k}{z} [AVX512F] +// +func (self *Program) VINSERTI64X4(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VINSERTI64X4", 4, Operands { v0, v1, v2, v3 }) + // VINSERTI64X4 imm8, ymm, zmm, zmm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x3a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTI64X4 imm8, m256, zmm, zmm{k}{z} + if isImm8(v0) && isM256(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x3a) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VINSERTI64X4") + } + return p +} + +// VINSERTPS performs "Insert Packed Single Precision Floating-Point Value". +// +// Mnemonic : VINSERTPS +// Supported forms : (4 forms) +// +// * VINSERTPS imm8, xmm, xmm, xmm [AVX] +// * VINSERTPS imm8, m32, xmm, xmm [AVX] +// * VINSERTPS imm8, xmm, xmm, xmm [AVX512F] +// * VINSERTPS imm8, m32, xmm, xmm [AVX512F] +// +func (self *Program) VINSERTPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VINSERTPS", 4, Operands { v0, v1, v2, v3 }) + // VINSERTPS imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x21) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTPS imm8, m32, xmm, xmm + if isImm8(v0) && isM32(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x21) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTPS imm8, xmm, xmm, xmm + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | 0x00) + m.emit(0x21) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VINSERTPS imm8, m32, xmm, xmm + if isImm8(v0) && isM32(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), 0, 0, 0) + m.emit(0x21) + m.mrsd(lcode(v[3]), addr(v[1]), 4) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VINSERTPS") + } + return p +} + +// VLDDQU performs "Load Unaligned Integer 128 Bits". +// +// Mnemonic : VLDDQU +// Supported forms : (2 forms) +// +// * VLDDQU m128, xmm [AVX] +// * VLDDQU m256, ymm [AVX] +// +func (self *Program) VLDDQU(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VLDDQU", 2, Operands { v0, v1 }) + // VLDDQU m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[1]), addr(v[0]), 0) + m.emit(0xf0) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VLDDQU m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[1]), addr(v[0]), 0) + m.emit(0xf0) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VLDDQU") + } + return p +} + +// VLDMXCSR performs "Load MXCSR Register". +// +// Mnemonic : VLDMXCSR +// Supported forms : (1 form) +// +// * VLDMXCSR m32 [AVX] +// +func (self *Program) VLDMXCSR(v0 interface{}) *Instruction { + p := self.alloc("VLDMXCSR", 1, Operands { v0 }) + // VLDMXCSR m32 + if isM32(v0) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, 0, addr(v[0]), 0) + m.emit(0xae) + m.mrsd(2, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VLDMXCSR") + } + return p +} + +// VMASKMOVDQU performs "Store Selected Bytes of Double Quadword". +// +// Mnemonic : VMASKMOVDQU +// Supported forms : (1 form) +// +// * VMASKMOVDQU xmm, xmm [AVX] +// +func (self *Program) VMASKMOVDQU(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMASKMOVDQU", 2, Operands { v0, v1 }) + // VMASKMOVDQU xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0xf7) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMASKMOVDQU") + } + return p +} + +// VMASKMOVPD performs "Conditional Move Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VMASKMOVPD +// Supported forms : (4 forms) +// +// * VMASKMOVPD m128, xmm, xmm [AVX] +// * VMASKMOVPD m256, ymm, ymm [AVX] +// * VMASKMOVPD xmm, xmm, m128 [AVX] +// * VMASKMOVPD ymm, ymm, m256 [AVX] +// +func (self *Program) VMASKMOVPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VMASKMOVPD", 3, Operands { v0, v1, v2 }) + // VMASKMOVPD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x2d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMASKMOVPD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x2d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMASKMOVPD xmm, xmm, m128 + if isXMM(v0) && isXMM(v1) && isM128(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[0]), addr(v[2]), hlcode(v[1])) + m.emit(0x2f) + m.mrsd(lcode(v[0]), addr(v[2]), 1) + }) + } + // VMASKMOVPD ymm, ymm, m256 + if isYMM(v0) && isYMM(v1) && isM256(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[0]), addr(v[2]), hlcode(v[1])) + m.emit(0x2f) + m.mrsd(lcode(v[0]), addr(v[2]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VMASKMOVPD") + } + return p +} + +// VMASKMOVPS performs "Conditional Move Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VMASKMOVPS +// Supported forms : (4 forms) +// +// * VMASKMOVPS m128, xmm, xmm [AVX] +// * VMASKMOVPS m256, ymm, ymm [AVX] +// * VMASKMOVPS xmm, xmm, m128 [AVX] +// * VMASKMOVPS ymm, ymm, m256 [AVX] +// +func (self *Program) VMASKMOVPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VMASKMOVPS", 3, Operands { v0, v1, v2 }) + // VMASKMOVPS m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x2c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMASKMOVPS m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x2c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMASKMOVPS xmm, xmm, m128 + if isXMM(v0) && isXMM(v1) && isM128(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[0]), addr(v[2]), hlcode(v[1])) + m.emit(0x2e) + m.mrsd(lcode(v[0]), addr(v[2]), 1) + }) + } + // VMASKMOVPS ymm, ymm, m256 + if isYMM(v0) && isYMM(v1) && isM256(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[0]), addr(v[2]), hlcode(v[1])) + m.emit(0x2e) + m.mrsd(lcode(v[0]), addr(v[2]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VMASKMOVPS") + } + return p +} + +// VMAXPD performs "Return Maximum Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VMAXPD +// Supported forms : (11 forms) +// +// * VMAXPD xmm, xmm, xmm [AVX] +// * VMAXPD m128, xmm, xmm [AVX] +// * VMAXPD ymm, ymm, ymm [AVX] +// * VMAXPD m256, ymm, ymm [AVX] +// * VMAXPD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VMAXPD {sae}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VMAXPD zmm, zmm, zmm{k}{z} [AVX512F] +// * VMAXPD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMAXPD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMAXPD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMAXPD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMAXPD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMAXPD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VMAXPD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VMAXPD takes 3 or 4 operands") + } + // VMAXPD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMAXPD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMAXPD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMAXPD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMAXPD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VMAXPD {sae}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VMAXPD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMAXPD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VMAXPD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMAXPD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VMAXPD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMAXPD") + } + return p +} + +// VMAXPS performs "Return Maximum Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VMAXPS +// Supported forms : (11 forms) +// +// * VMAXPS xmm, xmm, xmm [AVX] +// * VMAXPS m128, xmm, xmm [AVX] +// * VMAXPS ymm, ymm, ymm [AVX] +// * VMAXPS m256, ymm, ymm [AVX] +// * VMAXPS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VMAXPS {sae}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VMAXPS zmm, zmm, zmm{k}{z} [AVX512F] +// * VMAXPS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMAXPS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMAXPS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMAXPS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMAXPS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMAXPS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VMAXPS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VMAXPS takes 3 or 4 operands") + } + // VMAXPS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMAXPS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMAXPS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMAXPS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMAXPS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VMAXPS {sae}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VMAXPS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMAXPS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VMAXPS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMAXPS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VMAXPS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMAXPS") + } + return p +} + +// VMAXSD performs "Return Maximum Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : VMAXSD +// Supported forms : (5 forms) +// +// * VMAXSD xmm, xmm, xmm [AVX] +// * VMAXSD m64, xmm, xmm [AVX] +// * VMAXSD m64, xmm, xmm{k}{z} [AVX512F] +// * VMAXSD {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VMAXSD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VMAXSD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMAXSD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VMAXSD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VMAXSD takes 3 or 4 operands") + } + // VMAXSD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMAXSD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMAXSD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VMAXSD {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xff ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VMAXSD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMAXSD") + } + return p +} + +// VMAXSS performs "Return Maximum Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : VMAXSS +// Supported forms : (5 forms) +// +// * VMAXSS xmm, xmm, xmm [AVX] +// * VMAXSS m32, xmm, xmm [AVX] +// * VMAXSS m32, xmm, xmm{k}{z} [AVX512F] +// * VMAXSS {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VMAXSS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VMAXSS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMAXSS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VMAXSS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VMAXSS takes 3 or 4 operands") + } + // VMAXSS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMAXSS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMAXSS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x5f) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VMAXSS {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7e ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VMAXSS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMAXSS") + } + return p +} + +// VMINPD performs "Return Minimum Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VMINPD +// Supported forms : (11 forms) +// +// * VMINPD xmm, xmm, xmm [AVX] +// * VMINPD m128, xmm, xmm [AVX] +// * VMINPD ymm, ymm, ymm [AVX] +// * VMINPD m256, ymm, ymm [AVX] +// * VMINPD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VMINPD {sae}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VMINPD zmm, zmm, zmm{k}{z} [AVX512F] +// * VMINPD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMINPD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMINPD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMINPD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMINPD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMINPD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VMINPD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VMINPD takes 3 or 4 operands") + } + // VMINPD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMINPD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMINPD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMINPD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMINPD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VMINPD {sae}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VMINPD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMINPD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VMINPD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMINPD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VMINPD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMINPD") + } + return p +} + +// VMINPS performs "Return Minimum Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VMINPS +// Supported forms : (11 forms) +// +// * VMINPS xmm, xmm, xmm [AVX] +// * VMINPS m128, xmm, xmm [AVX] +// * VMINPS ymm, ymm, ymm [AVX] +// * VMINPS m256, ymm, ymm [AVX] +// * VMINPS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VMINPS {sae}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VMINPS zmm, zmm, zmm{k}{z} [AVX512F] +// * VMINPS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMINPS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMINPS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMINPS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMINPS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMINPS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VMINPS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VMINPS takes 3 or 4 operands") + } + // VMINPS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMINPS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMINPS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMINPS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMINPS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VMINPS {sae}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VMINPS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMINPS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VMINPS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMINPS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VMINPS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMINPS") + } + return p +} + +// VMINSD performs "Return Minimum Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : VMINSD +// Supported forms : (5 forms) +// +// * VMINSD xmm, xmm, xmm [AVX] +// * VMINSD m64, xmm, xmm [AVX] +// * VMINSD m64, xmm, xmm{k}{z} [AVX512F] +// * VMINSD {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VMINSD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VMINSD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMINSD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VMINSD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VMINSD takes 3 or 4 operands") + } + // VMINSD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMINSD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMINSD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VMINSD {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xff ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VMINSD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMINSD") + } + return p +} + +// VMINSS performs "Return Minimum Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : VMINSS +// Supported forms : (5 forms) +// +// * VMINSS xmm, xmm, xmm [AVX] +// * VMINSS m32, xmm, xmm [AVX] +// * VMINSS m32, xmm, xmm{k}{z} [AVX512F] +// * VMINSS {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VMINSS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VMINSS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMINSS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VMINSS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VMINSS takes 3 or 4 operands") + } + // VMINSS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMINSS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMINSS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x5d) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VMINSS {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7e ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VMINSS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMINSS") + } + return p +} + +// VMOVAPD performs "Move Aligned Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VMOVAPD +// Supported forms : (15 forms) +// +// * VMOVAPD xmm, xmm [AVX] +// * VMOVAPD m128, xmm [AVX] +// * VMOVAPD ymm, ymm [AVX] +// * VMOVAPD m256, ymm [AVX] +// * VMOVAPD xmm, m128 [AVX] +// * VMOVAPD ymm, m256 [AVX] +// * VMOVAPD zmm, m512{k}{z} [AVX512F] +// * VMOVAPD zmm, zmm{k}{z} [AVX512F] +// * VMOVAPD m512, zmm{k}{z} [AVX512F] +// * VMOVAPD xmm, m128{k}{z} [AVX512F,AVX512VL] +// * VMOVAPD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVAPD ymm, m256{k}{z} [AVX512F,AVX512VL] +// * VMOVAPD ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMOVAPD m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVAPD m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMOVAPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVAPD", 2, Operands { v0, v1 }) + // VMOVAPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), v[1], 0) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVAPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), addr(v[0]), 0) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVAPD ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), v[0], 0) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[0]), v[1], 0) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVAPD m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), addr(v[0]), 0) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVAPD xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), addr(v[1]), 0) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVAPD ymm, m256 + if isYMM(v0) && isM256(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[0]), addr(v[1]), 0) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVAPD zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVAPD zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVAPD m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVAPD xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVAPD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVAPD ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VMOVAPD ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVAPD m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVAPD m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVAPD") + } + return p +} + +// VMOVAPS performs "Move Aligned Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VMOVAPS +// Supported forms : (15 forms) +// +// * VMOVAPS xmm, xmm [AVX] +// * VMOVAPS m128, xmm [AVX] +// * VMOVAPS ymm, ymm [AVX] +// * VMOVAPS m256, ymm [AVX] +// * VMOVAPS xmm, m128 [AVX] +// * VMOVAPS ymm, m256 [AVX] +// * VMOVAPS zmm, m512{k}{z} [AVX512F] +// * VMOVAPS zmm, zmm{k}{z} [AVX512F] +// * VMOVAPS m512, zmm{k}{z} [AVX512F] +// * VMOVAPS xmm, m128{k}{z} [AVX512F,AVX512VL] +// * VMOVAPS xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVAPS ymm, m256{k}{z} [AVX512F,AVX512VL] +// * VMOVAPS ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMOVAPS m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVAPS m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMOVAPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVAPS", 2, Operands { v0, v1 }) + // VMOVAPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), v[0], 0) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[0]), v[1], 0) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVAPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), addr(v[0]), 0) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVAPS ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), v[0], 0) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[0]), v[1], 0) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVAPS m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), addr(v[0]), 0) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVAPS xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[0]), addr(v[1]), 0) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVAPS ymm, m256 + if isYMM(v0) && isM256(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[0]), addr(v[1]), 0) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVAPS zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVAPS zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVAPS m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVAPS xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVAPS xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVAPS ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x29) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VMOVAPS ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x29) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVAPS m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVAPS m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x28) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVAPS") + } + return p +} + +// VMOVD performs "Move Doubleword". +// +// Mnemonic : VMOVD +// Supported forms : (8 forms) +// +// * VMOVD xmm, r32 [AVX] +// * VMOVD r32, xmm [AVX] +// * VMOVD m32, xmm [AVX] +// * VMOVD xmm, m32 [AVX] +// * VMOVD xmm, r32 [AVX512F] +// * VMOVD r32, xmm [AVX512F] +// * VMOVD m32, xmm [AVX512F] +// * VMOVD xmm, m32 [AVX512F] +// +func (self *Program) VMOVD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVD", 2, Operands { v0, v1 }) + // VMOVD xmm, r32 + if isXMM(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), v[1], 0) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVD r32, xmm + if isReg32(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0x6e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVD m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), addr(v[0]), 0) + m.emit(0x6e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVD xmm, m32 + if isXMM(v0) && isM32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), addr(v[1]), 0) + m.emit(0x7e) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVD xmm, r32 + if isEVEXXMM(v0) && isReg32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7d) + m.emit(0x08) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVD r32, xmm + if isReg32(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit(0x08) + m.emit(0x6e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVD m32, xmm + if isM32(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x6e) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VMOVD xmm, m32 + if isEVEXXMM(v0) && isM32(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0x7e) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVD") + } + return p +} + +// VMOVDDUP performs "Move One Double-FP and Duplicate". +// +// Mnemonic : VMOVDDUP +// Supported forms : (10 forms) +// +// * VMOVDDUP xmm, xmm [AVX] +// * VMOVDDUP m64, xmm [AVX] +// * VMOVDDUP ymm, ymm [AVX] +// * VMOVDDUP m256, ymm [AVX] +// * VMOVDDUP zmm, zmm{k}{z} [AVX512F] +// * VMOVDDUP m512, zmm{k}{z} [AVX512F] +// * VMOVDDUP xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVDDUP ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMOVDDUP m64, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVDDUP m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMOVDDUP(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVDDUP", 2, Operands { v0, v1 }) + // VMOVDDUP xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[1]), v[0], 0) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVDDUP m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[1]), addr(v[0]), 0) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVDDUP ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[1]), v[0], 0) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVDDUP m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[1]), addr(v[0]), 0) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVDDUP zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVDDUP m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVDDUP xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVDDUP ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVDDUP m64, xmm{k}{z} + if isM64(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VMOVDDUP m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVDDUP") + } + return p +} + +// VMOVDQA performs "Move Aligned Double Quadword". +// +// Mnemonic : VMOVDQA +// Supported forms : (6 forms) +// +// * VMOVDQA xmm, xmm [AVX] +// * VMOVDQA m128, xmm [AVX] +// * VMOVDQA ymm, ymm [AVX] +// * VMOVDQA m256, ymm [AVX] +// * VMOVDQA xmm, m128 [AVX] +// * VMOVDQA ymm, m256 [AVX] +// +func (self *Program) VMOVDQA(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVDQA", 2, Operands { v0, v1 }) + // VMOVDQA xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), v[1], 0) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQA m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), addr(v[0]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVDQA ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), v[0], 0) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[0]), v[1], 0) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQA m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), addr(v[0]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVDQA xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), addr(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVDQA ymm, m256 + if isYMM(v0) && isM256(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[0]), addr(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVDQA") + } + return p +} + +// VMOVDQA32 performs "Move Aligned Doubleword Values". +// +// Mnemonic : VMOVDQA32 +// Supported forms : (9 forms) +// +// * VMOVDQA32 zmm, m512{k}{z} [AVX512F] +// * VMOVDQA32 zmm, zmm{k}{z} [AVX512F] +// * VMOVDQA32 m512, zmm{k}{z} [AVX512F] +// * VMOVDQA32 xmm, m128{k}{z} [AVX512F,AVX512VL] +// * VMOVDQA32 xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVDQA32 ymm, m256{k}{z} [AVX512F,AVX512VL] +// * VMOVDQA32 ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMOVDQA32 m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVDQA32 m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMOVDQA32(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVDQA32", 2, Operands { v0, v1 }) + // VMOVDQA32 zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVDQA32 zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQA32 m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVDQA32 xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVDQA32 xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQA32 ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VMOVDQA32 ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQA32 m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVDQA32 m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVDQA32") + } + return p +} + +// VMOVDQA64 performs "Move Aligned Quadword Values". +// +// Mnemonic : VMOVDQA64 +// Supported forms : (9 forms) +// +// * VMOVDQA64 zmm, m512{k}{z} [AVX512F] +// * VMOVDQA64 zmm, zmm{k}{z} [AVX512F] +// * VMOVDQA64 m512, zmm{k}{z} [AVX512F] +// * VMOVDQA64 xmm, m128{k}{z} [AVX512F,AVX512VL] +// * VMOVDQA64 xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVDQA64 ymm, m256{k}{z} [AVX512F,AVX512VL] +// * VMOVDQA64 ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMOVDQA64 m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVDQA64 m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMOVDQA64(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVDQA64", 2, Operands { v0, v1 }) + // VMOVDQA64 zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVDQA64 zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQA64 m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVDQA64 xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVDQA64 xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQA64 ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VMOVDQA64 ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQA64 m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVDQA64 m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVDQA64") + } + return p +} + +// VMOVDQU performs "Move Unaligned Double Quadword". +// +// Mnemonic : VMOVDQU +// Supported forms : (6 forms) +// +// * VMOVDQU xmm, xmm [AVX] +// * VMOVDQU m128, xmm [AVX] +// * VMOVDQU ymm, ymm [AVX] +// * VMOVDQU m256, ymm [AVX] +// * VMOVDQU xmm, m128 [AVX] +// * VMOVDQU ymm, m256 [AVX] +// +func (self *Program) VMOVDQU(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVDQU", 2, Operands { v0, v1 }) + // VMOVDQU xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), v[0], 0) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[0]), v[1], 0) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), addr(v[0]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVDQU ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[1]), v[0], 0) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[0]), v[1], 0) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[1]), addr(v[0]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVDQU xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[0]), addr(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVDQU ymm, m256 + if isYMM(v0) && isM256(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[0]), addr(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVDQU") + } + return p +} + +// VMOVDQU16 performs "Move Unaligned Word Values". +// +// Mnemonic : VMOVDQU16 +// Supported forms : (9 forms) +// +// * VMOVDQU16 zmm, m512{k}{z} [AVX512BW] +// * VMOVDQU16 zmm, zmm{k}{z} [AVX512BW] +// * VMOVDQU16 m512, zmm{k}{z} [AVX512BW] +// * VMOVDQU16 xmm, m128{k}{z} [AVX512BW,AVX512VL] +// * VMOVDQU16 xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VMOVDQU16 ymm, m256{k}{z} [AVX512BW,AVX512VL] +// * VMOVDQU16 ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VMOVDQU16 m128, xmm{k}{z} [AVX512BW,AVX512VL] +// * VMOVDQU16 m256, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VMOVDQU16(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVDQU16", 2, Operands { v0, v1 }) + // VMOVDQU16 zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVDQU16 zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU16 m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVDQU16 xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVDQU16 xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU16 ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VMOVDQU16 ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xff) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU16 m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVDQU16 m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVDQU16") + } + return p +} + +// VMOVDQU32 performs "Move Unaligned Doubleword Values". +// +// Mnemonic : VMOVDQU32 +// Supported forms : (9 forms) +// +// * VMOVDQU32 zmm, m512{k}{z} [AVX512F] +// * VMOVDQU32 zmm, zmm{k}{z} [AVX512F] +// * VMOVDQU32 m512, zmm{k}{z} [AVX512F] +// * VMOVDQU32 xmm, m128{k}{z} [AVX512F,AVX512VL] +// * VMOVDQU32 xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVDQU32 ymm, m256{k}{z} [AVX512F,AVX512VL] +// * VMOVDQU32 ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMOVDQU32 m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVDQU32 m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMOVDQU32(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVDQU32", 2, Operands { v0, v1 }) + // VMOVDQU32 zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVDQU32 zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU32 m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVDQU32 xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVDQU32 xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU32 ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VMOVDQU32 ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU32 m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVDQU32 m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVDQU32") + } + return p +} + +// VMOVDQU64 performs "Move Unaligned Quadword Values". +// +// Mnemonic : VMOVDQU64 +// Supported forms : (9 forms) +// +// * VMOVDQU64 zmm, m512{k}{z} [AVX512F] +// * VMOVDQU64 zmm, zmm{k}{z} [AVX512F] +// * VMOVDQU64 m512, zmm{k}{z} [AVX512F] +// * VMOVDQU64 xmm, m128{k}{z} [AVX512F,AVX512VL] +// * VMOVDQU64 xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVDQU64 ymm, m256{k}{z} [AVX512F,AVX512VL] +// * VMOVDQU64 ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMOVDQU64 m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVDQU64 m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMOVDQU64(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVDQU64", 2, Operands { v0, v1 }) + // VMOVDQU64 zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVDQU64 zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU64 m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVDQU64 xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVDQU64 xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU64 ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VMOVDQU64 ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfe) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU64 m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVDQU64 m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVDQU64") + } + return p +} + +// VMOVDQU8 performs "Move Unaligned Byte Values". +// +// Mnemonic : VMOVDQU8 +// Supported forms : (9 forms) +// +// * VMOVDQU8 zmm, m512{k}{z} [AVX512BW] +// * VMOVDQU8 zmm, zmm{k}{z} [AVX512BW] +// * VMOVDQU8 m512, zmm{k}{z} [AVX512BW] +// * VMOVDQU8 xmm, m128{k}{z} [AVX512BW,AVX512VL] +// * VMOVDQU8 xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VMOVDQU8 ymm, m256{k}{z} [AVX512BW,AVX512VL] +// * VMOVDQU8 ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VMOVDQU8 m128, xmm{k}{z} [AVX512BW,AVX512VL] +// * VMOVDQU8 m256, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VMOVDQU8(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVDQU8", 2, Operands { v0, v1 }) + // VMOVDQU8 zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVDQU8 zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU8 m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVDQU8 xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVDQU8 xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU8 ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x7f) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VMOVDQU8 ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x6f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVDQU8 m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVDQU8 m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x6f) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVDQU8") + } + return p +} + +// VMOVHLPS performs "Move Packed Single-Precision Floating-Point Values High to Low". +// +// Mnemonic : VMOVHLPS +// Supported forms : (2 forms) +// +// * VMOVHLPS xmm, xmm, xmm [AVX] +// * VMOVHLPS xmm, xmm, xmm [AVX512F] +// +func (self *Program) VMOVHLPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VMOVHLPS", 3, Operands { v0, v1, v2 }) + // VMOVHLPS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x12) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMOVHLPS xmm, xmm, xmm + if isEVEXXMM(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x00) + m.emit(0x12) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVHLPS") + } + return p +} + +// VMOVHPD performs "Move High Packed Double-Precision Floating-Point Value". +// +// Mnemonic : VMOVHPD +// Supported forms : (4 forms) +// +// * VMOVHPD xmm, m64 [AVX] +// * VMOVHPD m64, xmm, xmm [AVX] +// * VMOVHPD xmm, m64 [AVX512F] +// * VMOVHPD m64, xmm, xmm [AVX512F] +// +func (self *Program) VMOVHPD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMOVHPD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VMOVHPD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VMOVHPD takes 2 or 3 operands") + } + // VMOVHPD xmm, m64 + if len(vv) == 0 && isXMM(v0) && isM64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), addr(v[1]), 0) + m.emit(0x17) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVHPD m64, xmm, xmm + if len(vv) == 1 && isM64(v0) && isXMM(v1) && isXMM(vv[0]) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x16) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMOVHPD xmm, m64 + if len(vv) == 0 && isEVEXXMM(v0) && isM64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0x17) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VMOVHPD m64, xmm, xmm + if len(vv) == 1 && isM64(v0) && isEVEXXMM(v1) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0x16) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVHPD") + } + return p +} + +// VMOVHPS performs "Move High Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VMOVHPS +// Supported forms : (4 forms) +// +// * VMOVHPS xmm, m64 [AVX] +// * VMOVHPS m64, xmm, xmm [AVX] +// * VMOVHPS xmm, m64 [AVX512F] +// * VMOVHPS m64, xmm, xmm [AVX512F] +// +func (self *Program) VMOVHPS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMOVHPS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VMOVHPS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VMOVHPS takes 2 or 3 operands") + } + // VMOVHPS xmm, m64 + if len(vv) == 0 && isXMM(v0) && isM64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[0]), addr(v[1]), 0) + m.emit(0x17) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVHPS m64, xmm, xmm + if len(vv) == 1 && isM64(v0) && isXMM(v1) && isXMM(vv[0]) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x16) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMOVHPS xmm, m64 + if len(vv) == 0 && isEVEXXMM(v0) && isM64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0x17) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VMOVHPS m64, xmm, xmm + if len(vv) == 1 && isM64(v0) && isEVEXXMM(v1) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0x16) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVHPS") + } + return p +} + +// VMOVLHPS performs "Move Packed Single-Precision Floating-Point Values Low to High". +// +// Mnemonic : VMOVLHPS +// Supported forms : (2 forms) +// +// * VMOVLHPS xmm, xmm, xmm [AVX] +// * VMOVLHPS xmm, xmm, xmm [AVX512F] +// +func (self *Program) VMOVLHPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VMOVLHPS", 3, Operands { v0, v1, v2 }) + // VMOVLHPS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x16) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMOVLHPS xmm, xmm, xmm + if isEVEXXMM(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x00) + m.emit(0x16) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVLHPS") + } + return p +} + +// VMOVLPD performs "Move Low Packed Double-Precision Floating-Point Value". +// +// Mnemonic : VMOVLPD +// Supported forms : (4 forms) +// +// * VMOVLPD xmm, m64 [AVX] +// * VMOVLPD m64, xmm, xmm [AVX] +// * VMOVLPD xmm, m64 [AVX512F] +// * VMOVLPD m64, xmm, xmm [AVX512F] +// +func (self *Program) VMOVLPD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMOVLPD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VMOVLPD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VMOVLPD takes 2 or 3 operands") + } + // VMOVLPD xmm, m64 + if len(vv) == 0 && isXMM(v0) && isM64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), addr(v[1]), 0) + m.emit(0x13) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVLPD m64, xmm, xmm + if len(vv) == 1 && isM64(v0) && isXMM(v1) && isXMM(vv[0]) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x12) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMOVLPD xmm, m64 + if len(vv) == 0 && isEVEXXMM(v0) && isM64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0x13) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VMOVLPD m64, xmm, xmm + if len(vv) == 1 && isM64(v0) && isEVEXXMM(v1) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0x12) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVLPD") + } + return p +} + +// VMOVLPS performs "Move Low Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VMOVLPS +// Supported forms : (4 forms) +// +// * VMOVLPS xmm, m64 [AVX] +// * VMOVLPS m64, xmm, xmm [AVX] +// * VMOVLPS xmm, m64 [AVX512F] +// * VMOVLPS m64, xmm, xmm [AVX512F] +// +func (self *Program) VMOVLPS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMOVLPS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VMOVLPS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VMOVLPS takes 2 or 3 operands") + } + // VMOVLPS xmm, m64 + if len(vv) == 0 && isXMM(v0) && isM64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[0]), addr(v[1]), 0) + m.emit(0x13) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVLPS m64, xmm, xmm + if len(vv) == 1 && isM64(v0) && isXMM(v1) && isXMM(vv[0]) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x12) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMOVLPS xmm, m64 + if len(vv) == 0 && isEVEXXMM(v0) && isM64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0x13) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VMOVLPS m64, xmm, xmm + if len(vv) == 1 && isM64(v0) && isEVEXXMM(v1) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0x12) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVLPS") + } + return p +} + +// VMOVMSKPD performs "Extract Packed Double-Precision Floating-Point Sign Mask". +// +// Mnemonic : VMOVMSKPD +// Supported forms : (2 forms) +// +// * VMOVMSKPD xmm, r32 [AVX] +// * VMOVMSKPD ymm, r32 [AVX] +// +func (self *Program) VMOVMSKPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVMSKPD", 2, Operands { v0, v1 }) + // VMOVMSKPD xmm, r32 + if isXMM(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0x50) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVMSKPD ymm, r32 + if isYMM(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), v[0], 0) + m.emit(0x50) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVMSKPD") + } + return p +} + +// VMOVMSKPS performs "Extract Packed Single-Precision Floating-Point Sign Mask". +// +// Mnemonic : VMOVMSKPS +// Supported forms : (2 forms) +// +// * VMOVMSKPS xmm, r32 [AVX] +// * VMOVMSKPS ymm, r32 [AVX] +// +func (self *Program) VMOVMSKPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVMSKPS", 2, Operands { v0, v1 }) + // VMOVMSKPS xmm, r32 + if isXMM(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), v[0], 0) + m.emit(0x50) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVMSKPS ymm, r32 + if isYMM(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), v[0], 0) + m.emit(0x50) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVMSKPS") + } + return p +} + +// VMOVNTDQ performs "Store Double Quadword Using Non-Temporal Hint". +// +// Mnemonic : VMOVNTDQ +// Supported forms : (5 forms) +// +// * VMOVNTDQ xmm, m128 [AVX] +// * VMOVNTDQ ymm, m256 [AVX] +// * VMOVNTDQ zmm, m512 [AVX512F] +// * VMOVNTDQ xmm, m128 [AVX512F,AVX512VL] +// * VMOVNTDQ ymm, m256 [AVX512F,AVX512VL] +// +func (self *Program) VMOVNTDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVNTDQ", 2, Operands { v0, v1 }) + // VMOVNTDQ xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), addr(v[1]), 0) + m.emit(0xe7) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVNTDQ ymm, m256 + if isYMM(v0) && isM256(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[0]), addr(v[1]), 0) + m.emit(0xe7) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVNTDQ zmm, m512 + if isZMM(v0) && isM512(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0xe7) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVNTDQ xmm, m128 + if isEVEXXMM(v0) && isM128(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0xe7) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVNTDQ ymm, m256 + if isEVEXYMM(v0) && isM256(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0xe7) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVNTDQ") + } + return p +} + +// VMOVNTDQA performs "Load Double Quadword Non-Temporal Aligned Hint". +// +// Mnemonic : VMOVNTDQA +// Supported forms : (5 forms) +// +// * VMOVNTDQA m128, xmm [AVX] +// * VMOVNTDQA m256, ymm [AVX2] +// * VMOVNTDQA m512, zmm [AVX512F] +// * VMOVNTDQA m128, xmm [AVX512F,AVX512VL] +// * VMOVNTDQA m256, ymm [AVX512F,AVX512VL] +// +func (self *Program) VMOVNTDQA(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVNTDQA", 2, Operands { v0, v1 }) + // VMOVNTDQA m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVNTDQA m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVNTDQA m512, zmm + if isM512(v0) && isZMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVNTDQA m128, xmm + if isM128(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVNTDQA m256, ymm + if isM256(v0) && isEVEXYMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2a) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVNTDQA") + } + return p +} + +// VMOVNTPD performs "Store Packed Double-Precision Floating-Point Values Using Non-Temporal Hint". +// +// Mnemonic : VMOVNTPD +// Supported forms : (5 forms) +// +// * VMOVNTPD xmm, m128 [AVX] +// * VMOVNTPD ymm, m256 [AVX] +// * VMOVNTPD zmm, m512 [AVX512F] +// * VMOVNTPD xmm, m128 [AVX512F,AVX512VL] +// * VMOVNTPD ymm, m256 [AVX512F,AVX512VL] +// +func (self *Program) VMOVNTPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVNTPD", 2, Operands { v0, v1 }) + // VMOVNTPD xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), addr(v[1]), 0) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVNTPD ymm, m256 + if isYMM(v0) && isM256(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[0]), addr(v[1]), 0) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVNTPD zmm, m512 + if isZMM(v0) && isM512(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVNTPD xmm, m128 + if isEVEXXMM(v0) && isM128(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVNTPD ymm, m256 + if isEVEXYMM(v0) && isM256(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVNTPD") + } + return p +} + +// VMOVNTPS performs "Store Packed Single-Precision Floating-Point Values Using Non-Temporal Hint". +// +// Mnemonic : VMOVNTPS +// Supported forms : (5 forms) +// +// * VMOVNTPS xmm, m128 [AVX] +// * VMOVNTPS ymm, m256 [AVX] +// * VMOVNTPS zmm, m512 [AVX512F] +// * VMOVNTPS xmm, m128 [AVX512F,AVX512VL] +// * VMOVNTPS ymm, m256 [AVX512F,AVX512VL] +// +func (self *Program) VMOVNTPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVNTPS", 2, Operands { v0, v1 }) + // VMOVNTPS xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[0]), addr(v[1]), 0) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVNTPS ymm, m256 + if isYMM(v0) && isM256(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[0]), addr(v[1]), 0) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVNTPS zmm, m512 + if isZMM(v0) && isM512(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVNTPS xmm, m128 + if isEVEXXMM(v0) && isM128(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVNTPS ymm, m256 + if isEVEXYMM(v0) && isM256(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0x2b) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVNTPS") + } + return p +} + +// VMOVQ performs "Move Quadword". +// +// Mnemonic : VMOVQ +// Supported forms : (10 forms) +// +// * VMOVQ xmm, r64 [AVX] +// * VMOVQ r64, xmm [AVX] +// * VMOVQ xmm, xmm [AVX] +// * VMOVQ m64, xmm [AVX] +// * VMOVQ xmm, m64 [AVX] +// * VMOVQ xmm, r64 [AVX512F] +// * VMOVQ r64, xmm [AVX512F] +// * VMOVQ xmm, xmm [AVX512F] +// * VMOVQ m64, xmm [AVX512F] +// * VMOVQ xmm, m64 [AVX512F] +// +func (self *Program) VMOVQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVQ", 2, Operands { v0, v1 }) + // VMOVQ xmm, r64 + if isXMM(v0) && isReg64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1 ^ (hcode(v[0]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xf9) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVQ r64, xmm + if isReg64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe1 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9) + m.emit(0x6e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), v[0], 0) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), v[1], 0) + m.emit(0xd6) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVQ m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), addr(v[0]), 0) + m.emit(0x7e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b1, 0x81, hcode(v[1]), addr(v[0]), 0) + m.emit(0x6e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVQ xmm, m64 + if isXMM(v0) && isM64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), addr(v[1]), 0) + m.emit(0xd6) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b1, 0x81, hcode(v[0]), addr(v[1]), 0) + m.emit(0x7e) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVQ xmm, r64 + if isEVEXXMM(v0) && isReg64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit(0x08) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVQ r64, xmm + if isReg64(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit(0x08) + m.emit(0x6e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVQ xmm, xmm + if isEVEXXMM(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x08) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit(0x08) + m.emit(0xd6) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVQ m64, xmm + if isM64(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x6e) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x86, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x7e) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VMOVQ xmm, m64 + if isEVEXXMM(v0) && isM64(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0x7e) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, 0, 0, 0) + m.emit(0xd6) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVQ") + } + return p +} + +// VMOVSD performs "Move Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : VMOVSD +// Supported forms : (6 forms) +// +// * VMOVSD m64, xmm [AVX] +// * VMOVSD xmm, m64 [AVX] +// * VMOVSD xmm, xmm, xmm [AVX] +// * VMOVSD xmm, m64{k} [AVX512F] +// * VMOVSD m64, xmm{k}{z} [AVX512F] +// * VMOVSD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VMOVSD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMOVSD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VMOVSD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VMOVSD takes 2 or 3 operands") + } + // VMOVSD m64, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[1]), addr(v[0]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVSD xmm, m64 + if len(vv) == 0 && isXMM(v0) && isM64(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[0]), addr(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVSD xmm, xmm, xmm + if len(vv) == 1 && isXMM(v0) && isXMM(v1) && isXMM(vv[0]) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x10) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[0]), v[2], hlcode(v[1])) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[2])) + }) + } + // VMOVSD xmm, m64{k} + if len(vv) == 0 && isEVEXXMM(v0) && isM64k(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VMOVSD m64, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isXMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VMOVSD xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x10) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xff ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[2])) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVSD") + } + return p +} + +// VMOVSHDUP performs "Move Packed Single-FP High and Duplicate". +// +// Mnemonic : VMOVSHDUP +// Supported forms : (10 forms) +// +// * VMOVSHDUP xmm, xmm [AVX] +// * VMOVSHDUP m128, xmm [AVX] +// * VMOVSHDUP ymm, ymm [AVX] +// * VMOVSHDUP m256, ymm [AVX] +// * VMOVSHDUP zmm, zmm{k}{z} [AVX512F] +// * VMOVSHDUP m512, zmm{k}{z} [AVX512F] +// * VMOVSHDUP xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVSHDUP ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMOVSHDUP m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVSHDUP m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMOVSHDUP(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVSHDUP", 2, Operands { v0, v1 }) + // VMOVSHDUP xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), v[0], 0) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVSHDUP m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), addr(v[0]), 0) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVSHDUP ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[1]), v[0], 0) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVSHDUP m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[1]), addr(v[0]), 0) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVSHDUP zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVSHDUP m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVSHDUP xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVSHDUP ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVSHDUP m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVSHDUP m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVSHDUP") + } + return p +} + +// VMOVSLDUP performs "Move Packed Single-FP Low and Duplicate". +// +// Mnemonic : VMOVSLDUP +// Supported forms : (10 forms) +// +// * VMOVSLDUP xmm, xmm [AVX] +// * VMOVSLDUP m128, xmm [AVX] +// * VMOVSLDUP ymm, ymm [AVX] +// * VMOVSLDUP m256, ymm [AVX] +// * VMOVSLDUP zmm, zmm{k}{z} [AVX512F] +// * VMOVSLDUP m512, zmm{k}{z} [AVX512F] +// * VMOVSLDUP xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVSLDUP ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMOVSLDUP m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVSLDUP m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMOVSLDUP(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVSLDUP", 2, Operands { v0, v1 }) + // VMOVSLDUP xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), v[0], 0) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVSLDUP m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), addr(v[0]), 0) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVSLDUP ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[1]), v[0], 0) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVSLDUP m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[1]), addr(v[0]), 0) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVSLDUP zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVSLDUP m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVSLDUP xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVSLDUP ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x12) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VMOVSLDUP m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVSLDUP m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x12) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVSLDUP") + } + return p +} + +// VMOVSS performs "Move Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VMOVSS +// Supported forms : (6 forms) +// +// * VMOVSS m32, xmm [AVX] +// * VMOVSS xmm, m32 [AVX] +// * VMOVSS xmm, xmm, xmm [AVX] +// * VMOVSS xmm, m32{k} [AVX512F] +// * VMOVSS m32, xmm{k}{z} [AVX512F] +// * VMOVSS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VMOVSS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMOVSS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VMOVSS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VMOVSS takes 2 or 3 operands") + } + // VMOVSS m32, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[1]), addr(v[0]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVSS xmm, m32 + if len(vv) == 0 && isXMM(v0) && isM32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[0]), addr(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVSS xmm, xmm, xmm + if len(vv) == 1 && isXMM(v0) && isXMM(v1) && isXMM(vv[0]) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x10) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[0]), v[2], hlcode(v[1])) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[2])) + }) + } + // VMOVSS xmm, m32{k} + if len(vv) == 0 && isEVEXXMM(v0) && isM32k(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VMOVSS m32, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isXMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VMOVSS xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x10) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[2])) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVSS") + } + return p +} + +// VMOVUPD performs "Move Unaligned Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VMOVUPD +// Supported forms : (15 forms) +// +// * VMOVUPD xmm, xmm [AVX] +// * VMOVUPD m128, xmm [AVX] +// * VMOVUPD ymm, ymm [AVX] +// * VMOVUPD m256, ymm [AVX] +// * VMOVUPD xmm, m128 [AVX] +// * VMOVUPD ymm, m256 [AVX] +// * VMOVUPD zmm, m512{k}{z} [AVX512F] +// * VMOVUPD zmm, zmm{k}{z} [AVX512F] +// * VMOVUPD m512, zmm{k}{z} [AVX512F] +// * VMOVUPD xmm, m128{k}{z} [AVX512F,AVX512VL] +// * VMOVUPD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVUPD ymm, m256{k}{z} [AVX512F,AVX512VL] +// * VMOVUPD ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMOVUPD m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVUPD m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMOVUPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVUPD", 2, Operands { v0, v1 }) + // VMOVUPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), v[1], 0) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVUPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), addr(v[0]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVUPD ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), v[0], 0) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[0]), v[1], 0) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVUPD m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), addr(v[0]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVUPD xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[0]), addr(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVUPD ymm, m256 + if isYMM(v0) && isM256(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[0]), addr(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVUPD zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVUPD zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVUPD m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVUPD xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVUPD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVUPD ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VMOVUPD ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVUPD m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVUPD m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVUPD") + } + return p +} + +// VMOVUPS performs "Move Unaligned Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VMOVUPS +// Supported forms : (15 forms) +// +// * VMOVUPS xmm, xmm [AVX] +// * VMOVUPS m128, xmm [AVX] +// * VMOVUPS ymm, ymm [AVX] +// * VMOVUPS m256, ymm [AVX] +// * VMOVUPS xmm, m128 [AVX] +// * VMOVUPS ymm, m256 [AVX] +// * VMOVUPS zmm, m512{k}{z} [AVX512F] +// * VMOVUPS zmm, zmm{k}{z} [AVX512F] +// * VMOVUPS m512, zmm{k}{z} [AVX512F] +// * VMOVUPS xmm, m128{k}{z} [AVX512F,AVX512VL] +// * VMOVUPS xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVUPS ymm, m256{k}{z} [AVX512F,AVX512VL] +// * VMOVUPS ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMOVUPS m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VMOVUPS m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMOVUPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VMOVUPS", 2, Operands { v0, v1 }) + // VMOVUPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), v[0], 0) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[0]), v[1], 0) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVUPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), addr(v[0]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVUPS ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), v[0], 0) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[0]), v[1], 0) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVUPS m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), addr(v[0]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VMOVUPS xmm, m128 + if isXMM(v0) && isM128(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[0]), addr(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVUPS ymm, m256 + if isYMM(v0) && isM256(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[0]), addr(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + // VMOVUPS zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 64) + }) + } + // VMOVUPS zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVUPS m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VMOVUPS xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VMOVUPS xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVUPS ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VMOVUPS ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x10) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VMOVUPS m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VMOVUPS m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VMOVUPS") + } + return p +} + +// VMPSADBW performs "Compute Multiple Packed Sums of Absolute Difference". +// +// Mnemonic : VMPSADBW +// Supported forms : (4 forms) +// +// * VMPSADBW imm8, xmm, xmm, xmm [AVX] +// * VMPSADBW imm8, m128, xmm, xmm [AVX] +// * VMPSADBW imm8, ymm, ymm, ymm [AVX2] +// * VMPSADBW imm8, m256, ymm, ymm [AVX2] +// +func (self *Program) VMPSADBW(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VMPSADBW", 4, Operands { v0, v1, v2, v3 }) + // VMPSADBW imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x42) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VMPSADBW imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x42) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VMPSADBW imm8, ymm, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x42) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VMPSADBW imm8, m256, ymm, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x42) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMPSADBW") + } + return p +} + +// VMULPD performs "Multiply Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VMULPD +// Supported forms : (11 forms) +// +// * VMULPD xmm, xmm, xmm [AVX] +// * VMULPD m128, xmm, xmm [AVX] +// * VMULPD ymm, ymm, ymm [AVX] +// * VMULPD m256, ymm, ymm [AVX] +// * VMULPD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VMULPD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VMULPD zmm, zmm, zmm{k}{z} [AVX512F] +// * VMULPD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMULPD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMULPD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMULPD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMULPD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMULPD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VMULPD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VMULPD takes 3 or 4 operands") + } + // VMULPD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMULPD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMULPD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMULPD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMULPD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VMULPD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x59) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VMULPD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMULPD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VMULPD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMULPD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VMULPD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMULPD") + } + return p +} + +// VMULPS performs "Multiply Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VMULPS +// Supported forms : (11 forms) +// +// * VMULPS xmm, xmm, xmm [AVX] +// * VMULPS m128, xmm, xmm [AVX] +// * VMULPS ymm, ymm, ymm [AVX] +// * VMULPS m256, ymm, ymm [AVX] +// * VMULPS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VMULPS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VMULPS zmm, zmm, zmm{k}{z} [AVX512F] +// * VMULPS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMULPS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VMULPS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VMULPS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VMULPS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMULPS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VMULPS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VMULPS takes 3 or 4 operands") + } + // VMULPS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMULPS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMULPS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMULPS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMULPS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VMULPS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x59) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VMULPS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMULPS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VMULPS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMULPS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VMULPS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMULPS") + } + return p +} + +// VMULSD performs "Multiply Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VMULSD +// Supported forms : (5 forms) +// +// * VMULSD xmm, xmm, xmm [AVX] +// * VMULSD m64, xmm, xmm [AVX] +// * VMULSD m64, xmm, xmm{k}{z} [AVX512F] +// * VMULSD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VMULSD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VMULSD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMULSD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VMULSD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VMULSD takes 3 or 4 operands") + } + // VMULSD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMULSD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMULSD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VMULSD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xff ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x59) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VMULSD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMULSD") + } + return p +} + +// VMULSS performs "Multiply Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VMULSS +// Supported forms : (5 forms) +// +// * VMULSS xmm, xmm, xmm [AVX] +// * VMULSS m32, xmm, xmm [AVX] +// * VMULSS m32, xmm, xmm{k}{z} [AVX512F] +// * VMULSS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VMULSS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VMULSS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VMULSS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VMULSS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VMULSS takes 3 or 4 operands") + } + // VMULSS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VMULSS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VMULSS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x59) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VMULSS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7e ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x59) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VMULSS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x59) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VMULSS") + } + return p +} + +// VORPD performs "Bitwise Logical OR of Double-Precision Floating-Point Values". +// +// Mnemonic : VORPD +// Supported forms : (10 forms) +// +// * VORPD xmm, xmm, xmm [AVX] +// * VORPD m128, xmm, xmm [AVX] +// * VORPD ymm, ymm, ymm [AVX] +// * VORPD m256, ymm, ymm [AVX] +// * VORPD m512/m64bcst, zmm, zmm{k}{z} [AVX512DQ] +// * VORPD zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VORPD m128/m64bcst, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VORPD xmm, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VORPD m256/m64bcst, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VORPD ymm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VORPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VORPD", 3, Operands { v0, v1, v2 }) + // VORPD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VORPD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VORPD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VORPD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VORPD m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VORPD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VORPD m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VORPD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VORPD m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VORPD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VORPD") + } + return p +} + +// VORPS performs "Bitwise Logical OR of Single-Precision Floating-Point Values". +// +// Mnemonic : VORPS +// Supported forms : (10 forms) +// +// * VORPS xmm, xmm, xmm [AVX] +// * VORPS m128, xmm, xmm [AVX] +// * VORPS ymm, ymm, ymm [AVX] +// * VORPS m256, ymm, ymm [AVX] +// * VORPS m512/m32bcst, zmm, zmm{k}{z} [AVX512DQ] +// * VORPS zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VORPS m128/m32bcst, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VORPS xmm, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VORPS m256/m32bcst, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VORPS ymm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VORPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VORPS", 3, Operands { v0, v1, v2 }) + // VORPS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VORPS m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VORPS ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VORPS m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VORPS m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VORPS zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VORPS m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VORPS xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VORPS m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VORPS ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VORPS") + } + return p +} + +// VPABSB performs "Packed Absolute Value of Byte Integers". +// +// Mnemonic : VPABSB +// Supported forms : (10 forms) +// +// * VPABSB xmm, xmm [AVX] +// * VPABSB m128, xmm [AVX] +// * VPABSB ymm, ymm [AVX2] +// * VPABSB m256, ymm [AVX2] +// * VPABSB zmm, zmm{k}{z} [AVX512BW] +// * VPABSB m512, zmm{k}{z} [AVX512BW] +// * VPABSB xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPABSB ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPABSB m128, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPABSB m256, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPABSB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPABSB", 2, Operands { v0, v1 }) + // VPABSB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x1c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSB m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x1c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPABSB ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x1c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSB m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x1c) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPABSB zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x1c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSB m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x1c) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VPABSB xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x1c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSB ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x1c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSB m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x1c) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VPABSB m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x1c) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPABSB") + } + return p +} + +// VPABSD performs "Packed Absolute Value of Doubleword Integers". +// +// Mnemonic : VPABSD +// Supported forms : (10 forms) +// +// * VPABSD xmm, xmm [AVX] +// * VPABSD m128, xmm [AVX] +// * VPABSD ymm, ymm [AVX2] +// * VPABSD m256, ymm [AVX2] +// * VPABSD m512/m32bcst, zmm{k}{z} [AVX512F] +// * VPABSD zmm, zmm{k}{z} [AVX512F] +// * VPABSD m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPABSD m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPABSD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPABSD ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPABSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPABSD", 2, Operands { v0, v1 }) + // VPABSD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x1e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPABSD ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSD m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x1e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPABSD m512/m32bcst, zmm{k}{z} + if isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x1e) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VPABSD zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSD m128/m32bcst, xmm{k}{z} + if isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x1e) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VPABSD m256/m32bcst, ymm{k}{z} + if isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x1e) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VPABSD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSD ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPABSD") + } + return p +} + +// VPABSQ performs "Packed Absolute Value of Quadword Integers". +// +// Mnemonic : VPABSQ +// Supported forms : (6 forms) +// +// * VPABSQ m512/m64bcst, zmm{k}{z} [AVX512F] +// * VPABSQ zmm, zmm{k}{z} [AVX512F] +// * VPABSQ m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPABSQ m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPABSQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPABSQ ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPABSQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPABSQ", 2, Operands { v0, v1 }) + // VPABSQ m512/m64bcst, zmm{k}{z} + if isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x1f) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VPABSQ zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x1f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSQ m128/m64bcst, xmm{k}{z} + if isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x1f) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VPABSQ m256/m64bcst, ymm{k}{z} + if isM256M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x1f) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VPABSQ xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x1f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSQ ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x1f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPABSQ") + } + return p +} + +// VPABSW performs "Packed Absolute Value of Word Integers". +// +// Mnemonic : VPABSW +// Supported forms : (10 forms) +// +// * VPABSW xmm, xmm [AVX] +// * VPABSW m128, xmm [AVX] +// * VPABSW ymm, ymm [AVX2] +// * VPABSW m256, ymm [AVX2] +// * VPABSW zmm, zmm{k}{z} [AVX512BW] +// * VPABSW m512, zmm{k}{z} [AVX512BW] +// * VPABSW xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPABSW ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPABSW m128, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPABSW m256, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPABSW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPABSW", 2, Operands { v0, v1 }) + // VPABSW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x1d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPABSW ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSW m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x1d) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPABSW zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSW m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x1d) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VPABSW xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSW ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x1d) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPABSW m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x1d) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VPABSW m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x1d) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPABSW") + } + return p +} + +// VPACKSSDW performs "Pack Doublewords into Words with Signed Saturation". +// +// Mnemonic : VPACKSSDW +// Supported forms : (10 forms) +// +// * VPACKSSDW xmm, xmm, xmm [AVX] +// * VPACKSSDW m128, xmm, xmm [AVX] +// * VPACKSSDW ymm, ymm, ymm [AVX2] +// * VPACKSSDW m256, ymm, ymm [AVX2] +// * VPACKSSDW m512/m32bcst, zmm, zmm{k}{z} [AVX512BW] +// * VPACKSSDW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPACKSSDW m128/m32bcst, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPACKSSDW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPACKSSDW m256/m32bcst, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPACKSSDW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPACKSSDW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPACKSSDW", 3, Operands { v0, v1, v2 }) + // VPACKSSDW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x6b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKSSDW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x6b) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPACKSSDW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x6b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKSSDW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x6b) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPACKSSDW m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x6b) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPACKSSDW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x6b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKSSDW m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x6b) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPACKSSDW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x6b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKSSDW m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x6b) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPACKSSDW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x6b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPACKSSDW") + } + return p +} + +// VPACKSSWB performs "Pack Words into Bytes with Signed Saturation". +// +// Mnemonic : VPACKSSWB +// Supported forms : (10 forms) +// +// * VPACKSSWB xmm, xmm, xmm [AVX] +// * VPACKSSWB m128, xmm, xmm [AVX] +// * VPACKSSWB ymm, ymm, ymm [AVX2] +// * VPACKSSWB m256, ymm, ymm [AVX2] +// * VPACKSSWB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPACKSSWB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPACKSSWB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPACKSSWB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPACKSSWB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPACKSSWB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPACKSSWB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPACKSSWB", 3, Operands { v0, v1, v2 }) + // VPACKSSWB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x63) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKSSWB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x63) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPACKSSWB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x63) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKSSWB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x63) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPACKSSWB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x63) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKSSWB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x63) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPACKSSWB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x63) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKSSWB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x63) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPACKSSWB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x63) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKSSWB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x63) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPACKSSWB") + } + return p +} + +// VPACKUSDW performs "Pack Doublewords into Words with Unsigned Saturation". +// +// Mnemonic : VPACKUSDW +// Supported forms : (10 forms) +// +// * VPACKUSDW xmm, xmm, xmm [AVX] +// * VPACKUSDW m128, xmm, xmm [AVX] +// * VPACKUSDW ymm, ymm, ymm [AVX2] +// * VPACKUSDW m256, ymm, ymm [AVX2] +// * VPACKUSDW m512/m32bcst, zmm, zmm{k}{z} [AVX512BW] +// * VPACKUSDW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPACKUSDW m128/m32bcst, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPACKUSDW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPACKUSDW m256/m32bcst, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPACKUSDW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPACKUSDW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPACKUSDW", 3, Operands { v0, v1, v2 }) + // VPACKUSDW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x2b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKUSDW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x2b) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPACKUSDW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x2b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKUSDW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x2b) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPACKUSDW m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x2b) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPACKUSDW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x2b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKUSDW m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x2b) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPACKUSDW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x2b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKUSDW m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x2b) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPACKUSDW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x2b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPACKUSDW") + } + return p +} + +// VPACKUSWB performs "Pack Words into Bytes with Unsigned Saturation". +// +// Mnemonic : VPACKUSWB +// Supported forms : (10 forms) +// +// * VPACKUSWB xmm, xmm, xmm [AVX] +// * VPACKUSWB m128, xmm, xmm [AVX] +// * VPACKUSWB ymm, ymm, ymm [AVX2] +// * VPACKUSWB m256, ymm, ymm [AVX2] +// * VPACKUSWB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPACKUSWB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPACKUSWB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPACKUSWB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPACKUSWB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPACKUSWB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPACKUSWB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPACKUSWB", 3, Operands { v0, v1, v2 }) + // VPACKUSWB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x67) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKUSWB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x67) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPACKUSWB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x67) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKUSWB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x67) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPACKUSWB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x67) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKUSWB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x67) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPACKUSWB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x67) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKUSWB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x67) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPACKUSWB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x67) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPACKUSWB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x67) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPACKUSWB") + } + return p +} + +// VPADDB performs "Add Packed Byte Integers". +// +// Mnemonic : VPADDB +// Supported forms : (10 forms) +// +// * VPADDB xmm, xmm, xmm [AVX] +// * VPADDB m128, xmm, xmm [AVX] +// * VPADDB ymm, ymm, ymm [AVX2] +// * VPADDB m256, ymm, ymm [AVX2] +// * VPADDB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPADDB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPADDB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPADDB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPADDB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPADDB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPADDB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPADDB", 3, Operands { v0, v1, v2 }) + // VPADDB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xfc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xfc) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xfc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xfc) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xfc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xfc) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPADDB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xfc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xfc) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPADDB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xfc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xfc) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPADDB") + } + return p +} + +// VPADDD performs "Add Packed Doubleword Integers". +// +// Mnemonic : VPADDD +// Supported forms : (10 forms) +// +// * VPADDD xmm, xmm, xmm [AVX] +// * VPADDD m128, xmm, xmm [AVX] +// * VPADDD ymm, ymm, ymm [AVX2] +// * VPADDD m256, ymm, ymm [AVX2] +// * VPADDD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPADDD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPADDD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPADDD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPADDD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPADDD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPADDD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPADDD", 3, Operands { v0, v1, v2 }) + // VPADDD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xfe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xfe) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xfe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xfe) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xfe) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPADDD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xfe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xfe) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPADDD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xfe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xfe) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPADDD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xfe) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPADDD") + } + return p +} + +// VPADDQ performs "Add Packed Quadword Integers". +// +// Mnemonic : VPADDQ +// Supported forms : (10 forms) +// +// * VPADDQ xmm, xmm, xmm [AVX] +// * VPADDQ m128, xmm, xmm [AVX] +// * VPADDQ ymm, ymm, ymm [AVX2] +// * VPADDQ m256, ymm, ymm [AVX2] +// * VPADDQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPADDQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPADDQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPADDQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPADDQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPADDQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPADDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPADDQ", 3, Operands { v0, v1, v2 }) + // VPADDQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd4) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDQ ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd4) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xd4) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPADDQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xd4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xd4) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPADDQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xd4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xd4) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPADDQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xd4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPADDQ") + } + return p +} + +// VPADDSB performs "Add Packed Signed Byte Integers with Signed Saturation". +// +// Mnemonic : VPADDSB +// Supported forms : (10 forms) +// +// * VPADDSB xmm, xmm, xmm [AVX] +// * VPADDSB m128, xmm, xmm [AVX] +// * VPADDSB ymm, ymm, ymm [AVX2] +// * VPADDSB m256, ymm, ymm [AVX2] +// * VPADDSB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPADDSB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPADDSB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPADDSB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPADDSB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPADDSB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPADDSB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPADDSB", 3, Operands { v0, v1, v2 }) + // VPADDSB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xec) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDSB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xec) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDSB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xec) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDSB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xec) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDSB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xec) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDSB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xec) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPADDSB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xec) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDSB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xec) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPADDSB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xec) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDSB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xec) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPADDSB") + } + return p +} + +// VPADDSW performs "Add Packed Signed Word Integers with Signed Saturation". +// +// Mnemonic : VPADDSW +// Supported forms : (10 forms) +// +// * VPADDSW xmm, xmm, xmm [AVX] +// * VPADDSW m128, xmm, xmm [AVX] +// * VPADDSW ymm, ymm, ymm [AVX2] +// * VPADDSW m256, ymm, ymm [AVX2] +// * VPADDSW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPADDSW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPADDSW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPADDSW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPADDSW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPADDSW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPADDSW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPADDSW", 3, Operands { v0, v1, v2 }) + // VPADDSW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xed) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDSW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xed) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDSW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xed) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDSW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xed) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDSW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xed) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDSW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xed) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPADDSW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xed) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDSW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xed) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPADDSW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xed) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDSW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xed) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPADDSW") + } + return p +} + +// VPADDUSB performs "Add Packed Unsigned Byte Integers with Unsigned Saturation". +// +// Mnemonic : VPADDUSB +// Supported forms : (10 forms) +// +// * VPADDUSB xmm, xmm, xmm [AVX] +// * VPADDUSB m128, xmm, xmm [AVX] +// * VPADDUSB ymm, ymm, ymm [AVX2] +// * VPADDUSB m256, ymm, ymm [AVX2] +// * VPADDUSB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPADDUSB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPADDUSB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPADDUSB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPADDUSB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPADDUSB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPADDUSB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPADDUSB", 3, Operands { v0, v1, v2 }) + // VPADDUSB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xdc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDUSB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xdc) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDUSB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xdc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDUSB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xdc) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDUSB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xdc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDUSB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xdc) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPADDUSB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xdc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDUSB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xdc) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPADDUSB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xdc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDUSB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xdc) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPADDUSB") + } + return p +} + +// VPADDUSW performs "Add Packed Unsigned Word Integers with Unsigned Saturation". +// +// Mnemonic : VPADDUSW +// Supported forms : (10 forms) +// +// * VPADDUSW xmm, xmm, xmm [AVX] +// * VPADDUSW m128, xmm, xmm [AVX] +// * VPADDUSW ymm, ymm, ymm [AVX2] +// * VPADDUSW m256, ymm, ymm [AVX2] +// * VPADDUSW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPADDUSW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPADDUSW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPADDUSW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPADDUSW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPADDUSW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPADDUSW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPADDUSW", 3, Operands { v0, v1, v2 }) + // VPADDUSW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xdd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDUSW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xdd) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDUSW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xdd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDUSW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xdd) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDUSW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xdd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDUSW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xdd) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPADDUSW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xdd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDUSW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xdd) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPADDUSW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xdd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDUSW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xdd) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPADDUSW") + } + return p +} + +// VPADDW performs "Add Packed Word Integers". +// +// Mnemonic : VPADDW +// Supported forms : (10 forms) +// +// * VPADDW xmm, xmm, xmm [AVX] +// * VPADDW m128, xmm, xmm [AVX] +// * VPADDW ymm, ymm, ymm [AVX2] +// * VPADDW m256, ymm, ymm [AVX2] +// * VPADDW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPADDW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPADDW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPADDW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPADDW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPADDW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPADDW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPADDW", 3, Operands { v0, v1, v2 }) + // VPADDW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xfd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xfd) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xfd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xfd) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPADDW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xfd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xfd) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPADDW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xfd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xfd) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPADDW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xfd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPADDW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xfd) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPADDW") + } + return p +} + +// VPALIGNR performs "Packed Align Right". +// +// Mnemonic : VPALIGNR +// Supported forms : (10 forms) +// +// * VPALIGNR imm8, xmm, xmm, xmm [AVX] +// * VPALIGNR imm8, m128, xmm, xmm [AVX] +// * VPALIGNR imm8, ymm, ymm, ymm [AVX2] +// * VPALIGNR imm8, m256, ymm, ymm [AVX2] +// * VPALIGNR imm8, zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPALIGNR imm8, m512, zmm, zmm{k}{z} [AVX512BW] +// * VPALIGNR imm8, xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPALIGNR imm8, m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPALIGNR imm8, ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPALIGNR imm8, m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPALIGNR(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPALIGNR", 4, Operands { v0, v1, v2, v3 }) + // VPALIGNR imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPALIGNR imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x0f) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPALIGNR imm8, ymm, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPALIGNR imm8, m256, ymm, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x0f) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPALIGNR imm8, zmm, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPALIGNR imm8, m512, zmm, zmm{k}{z} + if isImm8(v0) && isM512(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x0f) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPALIGNR imm8, xmm, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPALIGNR imm8, m128, xmm, xmm{k}{z} + if isImm8(v0) && isM128(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x0f) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPALIGNR imm8, ymm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPALIGNR imm8, m256, ymm, ymm{k}{z} + if isImm8(v0) && isM256(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x0f) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPALIGNR") + } + return p +} + +// VPAND performs "Packed Bitwise Logical AND". +// +// Mnemonic : VPAND +// Supported forms : (4 forms) +// +// * VPAND xmm, xmm, xmm [AVX] +// * VPAND m128, xmm, xmm [AVX] +// * VPAND ymm, ymm, ymm [AVX2] +// * VPAND m256, ymm, ymm [AVX2] +// +func (self *Program) VPAND(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPAND", 3, Operands { v0, v1, v2 }) + // VPAND xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPAND m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xdb) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPAND ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPAND m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xdb) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPAND") + } + return p +} + +// VPANDD performs "Bitwise Logical AND of Packed Doubleword Integers". +// +// Mnemonic : VPANDD +// Supported forms : (6 forms) +// +// * VPANDD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPANDD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPANDD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPANDD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPANDD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPANDD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPANDD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPANDD", 3, Operands { v0, v1, v2 }) + // VPANDD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xdb) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPANDD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPANDD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xdb) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPANDD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPANDD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xdb) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPANDD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPANDD") + } + return p +} + +// VPANDN performs "Packed Bitwise Logical AND NOT". +// +// Mnemonic : VPANDN +// Supported forms : (4 forms) +// +// * VPANDN xmm, xmm, xmm [AVX] +// * VPANDN m128, xmm, xmm [AVX] +// * VPANDN ymm, ymm, ymm [AVX2] +// * VPANDN m256, ymm, ymm [AVX2] +// +func (self *Program) VPANDN(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPANDN", 3, Operands { v0, v1, v2 }) + // VPANDN xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPANDN m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xdf) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPANDN ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPANDN m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xdf) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPANDN") + } + return p +} + +// VPANDND performs "Bitwise Logical AND NOT of Packed Doubleword Integers". +// +// Mnemonic : VPANDND +// Supported forms : (6 forms) +// +// * VPANDND m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPANDND zmm, zmm, zmm{k}{z} [AVX512F] +// * VPANDND m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPANDND xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPANDND m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPANDND ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPANDND(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPANDND", 3, Operands { v0, v1, v2 }) + // VPANDND m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xdf) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPANDND zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPANDND m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xdf) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPANDND xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPANDND m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xdf) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPANDND ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPANDND") + } + return p +} + +// VPANDNQ performs "Bitwise Logical AND NOT of Packed Quadword Integers". +// +// Mnemonic : VPANDNQ +// Supported forms : (6 forms) +// +// * VPANDNQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPANDNQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPANDNQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPANDNQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPANDNQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPANDNQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPANDNQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPANDNQ", 3, Operands { v0, v1, v2 }) + // VPANDNQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xdf) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPANDNQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPANDNQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xdf) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPANDNQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPANDNQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xdf) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPANDNQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xdf) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPANDNQ") + } + return p +} + +// VPANDQ performs "Bitwise Logical AND of Packed Quadword Integers". +// +// Mnemonic : VPANDQ +// Supported forms : (6 forms) +// +// * VPANDQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPANDQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPANDQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPANDQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPANDQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPANDQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPANDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPANDQ", 3, Operands { v0, v1, v2 }) + // VPANDQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xdb) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPANDQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPANDQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xdb) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPANDQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPANDQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xdb) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPANDQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPANDQ") + } + return p +} + +// VPAVGB performs "Average Packed Byte Integers". +// +// Mnemonic : VPAVGB +// Supported forms : (10 forms) +// +// * VPAVGB xmm, xmm, xmm [AVX] +// * VPAVGB m128, xmm, xmm [AVX] +// * VPAVGB ymm, ymm, ymm [AVX2] +// * VPAVGB m256, ymm, ymm [AVX2] +// * VPAVGB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPAVGB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPAVGB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPAVGB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPAVGB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPAVGB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPAVGB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPAVGB", 3, Operands { v0, v1, v2 }) + // VPAVGB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe0) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPAVGB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe0) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPAVGB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe0) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPAVGB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe0) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPAVGB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xe0) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPAVGB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe0) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPAVGB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xe0) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPAVGB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe0) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPAVGB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xe0) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPAVGB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe0) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPAVGB") + } + return p +} + +// VPAVGW performs "Average Packed Word Integers". +// +// Mnemonic : VPAVGW +// Supported forms : (10 forms) +// +// * VPAVGW xmm, xmm, xmm [AVX] +// * VPAVGW m128, xmm, xmm [AVX] +// * VPAVGW ymm, ymm, ymm [AVX2] +// * VPAVGW m256, ymm, ymm [AVX2] +// * VPAVGW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPAVGW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPAVGW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPAVGW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPAVGW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPAVGW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPAVGW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPAVGW", 3, Operands { v0, v1, v2 }) + // VPAVGW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPAVGW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe3) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPAVGW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPAVGW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe3) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPAVGW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xe3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPAVGW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe3) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPAVGW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xe3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPAVGW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe3) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPAVGW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xe3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPAVGW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe3) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPAVGW") + } + return p +} + +// VPBLENDD performs "Blend Packed Doublewords". +// +// Mnemonic : VPBLENDD +// Supported forms : (4 forms) +// +// * VPBLENDD imm8, xmm, xmm, xmm [AVX2] +// * VPBLENDD imm8, m128, xmm, xmm [AVX2] +// * VPBLENDD imm8, ymm, ymm, ymm [AVX2] +// * VPBLENDD imm8, m256, ymm, ymm [AVX2] +// +func (self *Program) VPBLENDD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPBLENDD", 4, Operands { v0, v1, v2, v3 }) + // VPBLENDD imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x02) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPBLENDD imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x02) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPBLENDD imm8, ymm, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x02) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPBLENDD imm8, m256, ymm, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x02) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPBLENDD") + } + return p +} + +// VPBLENDMB performs "Blend Byte Vectors Using an OpMask Control". +// +// Mnemonic : VPBLENDMB +// Supported forms : (6 forms) +// +// * VPBLENDMB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPBLENDMB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPBLENDMB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPBLENDMB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPBLENDMB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPBLENDMB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPBLENDMB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPBLENDMB", 3, Operands { v0, v1, v2 }) + // VPBLENDMB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPBLENDMB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPBLENDMB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPBLENDMB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPBLENDMB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPBLENDMB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPBLENDMB") + } + return p +} + +// VPBLENDMD performs "Blend Doubleword Vectors Using an OpMask Control". +// +// Mnemonic : VPBLENDMD +// Supported forms : (6 forms) +// +// * VPBLENDMD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPBLENDMD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPBLENDMD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPBLENDMD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPBLENDMD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPBLENDMD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPBLENDMD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPBLENDMD", 3, Operands { v0, v1, v2 }) + // VPBLENDMD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x64) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPBLENDMD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x64) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPBLENDMD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x64) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPBLENDMD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x64) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPBLENDMD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x64) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPBLENDMD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x64) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPBLENDMD") + } + return p +} + +// VPBLENDMQ performs "Blend Quadword Vectors Using an OpMask Control". +// +// Mnemonic : VPBLENDMQ +// Supported forms : (6 forms) +// +// * VPBLENDMQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPBLENDMQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPBLENDMQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPBLENDMQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPBLENDMQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPBLENDMQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPBLENDMQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPBLENDMQ", 3, Operands { v0, v1, v2 }) + // VPBLENDMQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x64) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPBLENDMQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x64) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPBLENDMQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x64) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPBLENDMQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x64) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPBLENDMQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x64) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPBLENDMQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x64) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPBLENDMQ") + } + return p +} + +// VPBLENDMW performs "Blend Word Vectors Using an OpMask Control". +// +// Mnemonic : VPBLENDMW +// Supported forms : (6 forms) +// +// * VPBLENDMW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPBLENDMW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPBLENDMW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPBLENDMW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPBLENDMW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPBLENDMW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPBLENDMW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPBLENDMW", 3, Operands { v0, v1, v2 }) + // VPBLENDMW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPBLENDMW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPBLENDMW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPBLENDMW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPBLENDMW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPBLENDMW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPBLENDMW") + } + return p +} + +// VPBLENDVB performs "Variable Blend Packed Bytes". +// +// Mnemonic : VPBLENDVB +// Supported forms : (4 forms) +// +// * VPBLENDVB xmm, xmm, xmm, xmm [AVX] +// * VPBLENDVB xmm, m128, xmm, xmm [AVX] +// * VPBLENDVB ymm, ymm, ymm, ymm [AVX2] +// * VPBLENDVB ymm, m256, ymm, ymm [AVX2] +// +func (self *Program) VPBLENDVB(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPBLENDVB", 4, Operands { v0, v1, v2, v3 }) + // VPBLENDVB xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPBLENDVB xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x4c) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPBLENDVB ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPBLENDVB ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x4c) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPBLENDVB") + } + return p +} + +// VPBLENDW performs "Blend Packed Words". +// +// Mnemonic : VPBLENDW +// Supported forms : (4 forms) +// +// * VPBLENDW imm8, xmm, xmm, xmm [AVX] +// * VPBLENDW imm8, m128, xmm, xmm [AVX] +// * VPBLENDW imm8, ymm, ymm, ymm [AVX2] +// * VPBLENDW imm8, m256, ymm, ymm [AVX2] +// +func (self *Program) VPBLENDW(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPBLENDW", 4, Operands { v0, v1, v2, v3 }) + // VPBLENDW imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x0e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPBLENDW imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x0e) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPBLENDW imm8, ymm, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x0e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPBLENDW imm8, m256, ymm, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x0e) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPBLENDW") + } + return p +} + +// VPBROADCASTB performs "Broadcast Byte Integer". +// +// Mnemonic : VPBROADCASTB +// Supported forms : (13 forms) +// +// * VPBROADCASTB xmm, xmm [AVX2] +// * VPBROADCASTB m8, xmm [AVX2] +// * VPBROADCASTB xmm, ymm [AVX2] +// * VPBROADCASTB m8, ymm [AVX2] +// * VPBROADCASTB r32, zmm{k}{z} [AVX512BW] +// * VPBROADCASTB xmm, zmm{k}{z} [AVX512BW] +// * VPBROADCASTB m8, zmm{k}{z} [AVX512BW] +// * VPBROADCASTB r32, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPBROADCASTB r32, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPBROADCASTB xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPBROADCASTB xmm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPBROADCASTB m8, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPBROADCASTB m8, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPBROADCASTB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPBROADCASTB", 2, Operands { v0, v1 }) + // VPBROADCASTB xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTB m8, xmm + if isM8(v0) && isXMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPBROADCASTB xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTB m8, ymm + if isM8(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPBROADCASTB r32, zmm{k}{z} + if isReg32(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTB xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTB m8, zmm{k}{z} + if isM8(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPBROADCASTB r32, xmm{k}{z} + if isReg32(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTB r32, ymm{k}{z} + if isReg32(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTB xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTB xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x78) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTB m8, xmm{k}{z} + if isM8(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPBROADCASTB m8, ymm{k}{z} + if isM8(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x78) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPBROADCASTB") + } + return p +} + +// VPBROADCASTD performs "Broadcast Doubleword Integer". +// +// Mnemonic : VPBROADCASTD +// Supported forms : (13 forms) +// +// * VPBROADCASTD xmm, xmm [AVX2] +// * VPBROADCASTD m32, xmm [AVX2] +// * VPBROADCASTD xmm, ymm [AVX2] +// * VPBROADCASTD m32, ymm [AVX2] +// * VPBROADCASTD r32, zmm{k}{z} [AVX512F] +// * VPBROADCASTD xmm, zmm{k}{z} [AVX512F] +// * VPBROADCASTD m32, zmm{k}{z} [AVX512F] +// * VPBROADCASTD r32, xmm{k}{z} [AVX512F,AVX512VL] +// * VPBROADCASTD r32, ymm{k}{z} [AVX512F,AVX512VL] +// * VPBROADCASTD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPBROADCASTD xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPBROADCASTD m32, xmm{k}{z} [AVX512F,AVX512VL] +// * VPBROADCASTD m32, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPBROADCASTD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPBROADCASTD", 2, Operands { v0, v1 }) + // VPBROADCASTD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x58) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTD m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x58) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPBROADCASTD xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x58) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTD m32, ymm + if isM32(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x58) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPBROADCASTD r32, zmm{k}{z} + if isReg32(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTD xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x58) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTD m32, zmm{k}{z} + if isM32(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x58) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VPBROADCASTD r32, xmm{k}{z} + if isReg32(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTD r32, ymm{k}{z} + if isReg32(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x58) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTD xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x58) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTD m32, xmm{k}{z} + if isM32(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x58) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VPBROADCASTD m32, ymm{k}{z} + if isM32(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x58) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPBROADCASTD") + } + return p +} + +// VPBROADCASTMB2Q performs "Broadcast Low Byte of Mask Register to Packed Quadword Values". +// +// Mnemonic : VPBROADCASTMB2Q +// Supported forms : (3 forms) +// +// * VPBROADCASTMB2Q k, xmm [AVX512CD,AVX512VL] +// * VPBROADCASTMB2Q k, ymm [AVX512CD,AVX512VL] +// * VPBROADCASTMB2Q k, zmm [AVX512CD] +// +func (self *Program) VPBROADCASTMB2Q(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPBROADCASTMB2Q", 2, Operands { v0, v1 }) + // VPBROADCASTMB2Q k, xmm + if isK(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x08) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTMB2Q k, ymm + if isK(v0) && isEVEXYMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x28) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTMB2Q k, zmm + if isK(v0) && isZMM(v1) { + self.require(ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x48) + m.emit(0x2a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPBROADCASTMB2Q") + } + return p +} + +// VPBROADCASTMW2D performs "Broadcast Low Word of Mask Register to Packed Doubleword Values". +// +// Mnemonic : VPBROADCASTMW2D +// Supported forms : (3 forms) +// +// * VPBROADCASTMW2D k, xmm [AVX512CD,AVX512VL] +// * VPBROADCASTMW2D k, ymm [AVX512CD,AVX512VL] +// * VPBROADCASTMW2D k, zmm [AVX512CD] +// +func (self *Program) VPBROADCASTMW2D(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPBROADCASTMW2D", 2, Operands { v0, v1 }) + // VPBROADCASTMW2D k, xmm + if isK(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x08) + m.emit(0x3a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTMW2D k, ymm + if isK(v0) && isEVEXYMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x28) + m.emit(0x3a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTMW2D k, zmm + if isK(v0) && isZMM(v1) { + self.require(ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x48) + m.emit(0x3a) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPBROADCASTMW2D") + } + return p +} + +// VPBROADCASTQ performs "Broadcast Quadword Integer". +// +// Mnemonic : VPBROADCASTQ +// Supported forms : (13 forms) +// +// * VPBROADCASTQ xmm, xmm [AVX2] +// * VPBROADCASTQ m64, xmm [AVX2] +// * VPBROADCASTQ xmm, ymm [AVX2] +// * VPBROADCASTQ m64, ymm [AVX2] +// * VPBROADCASTQ r64, zmm{k}{z} [AVX512F] +// * VPBROADCASTQ xmm, zmm{k}{z} [AVX512F] +// * VPBROADCASTQ m64, zmm{k}{z} [AVX512F] +// * VPBROADCASTQ r64, xmm{k}{z} [AVX512F,AVX512VL] +// * VPBROADCASTQ r64, ymm{k}{z} [AVX512F,AVX512VL] +// * VPBROADCASTQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPBROADCASTQ xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPBROADCASTQ m64, xmm{k}{z} [AVX512F,AVX512VL] +// * VPBROADCASTQ m64, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPBROADCASTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPBROADCASTQ", 2, Operands { v0, v1 }) + // VPBROADCASTQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x59) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTQ m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x59) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPBROADCASTQ xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x59) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTQ m64, ymm + if isM64(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x59) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPBROADCASTQ r64, zmm{k}{z} + if isReg64(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTQ xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x59) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTQ m64, zmm{k}{z} + if isM64(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x59) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPBROADCASTQ r64, xmm{k}{z} + if isReg64(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTQ r64, ymm{k}{z} + if isReg64(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTQ xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x59) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTQ xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x59) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTQ m64, xmm{k}{z} + if isM64(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x59) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPBROADCASTQ m64, ymm{k}{z} + if isM64(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x59) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPBROADCASTQ") + } + return p +} + +// VPBROADCASTW performs "Broadcast Word Integer". +// +// Mnemonic : VPBROADCASTW +// Supported forms : (13 forms) +// +// * VPBROADCASTW xmm, xmm [AVX2] +// * VPBROADCASTW m16, xmm [AVX2] +// * VPBROADCASTW xmm, ymm [AVX2] +// * VPBROADCASTW m16, ymm [AVX2] +// * VPBROADCASTW r32, zmm{k}{z} [AVX512BW] +// * VPBROADCASTW xmm, zmm{k}{z} [AVX512BW] +// * VPBROADCASTW m16, zmm{k}{z} [AVX512BW] +// * VPBROADCASTW r32, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPBROADCASTW r32, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPBROADCASTW xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPBROADCASTW xmm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPBROADCASTW m16, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPBROADCASTW m16, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPBROADCASTW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPBROADCASTW", 2, Operands { v0, v1 }) + // VPBROADCASTW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTW m16, xmm + if isM16(v0) && isXMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPBROADCASTW xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTW m16, ymm + if isM16(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPBROADCASTW r32, zmm{k}{z} + if isReg32(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTW xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTW m16, zmm{k}{z} + if isM16(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 2) + }) + } + // VPBROADCASTW r32, xmm{k}{z} + if isReg32(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTW r32, ymm{k}{z} + if isReg32(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x7b) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTW xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTW xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x79) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPBROADCASTW m16, xmm{k}{z} + if isM16(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 2) + }) + } + // VPBROADCASTW m16, ymm{k}{z} + if isM16(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x79) + m.mrsd(lcode(v[1]), addr(v[0]), 2) + }) + } + if p.len == 0 { + panic("invalid operands for VPBROADCASTW") + } + return p +} + +// VPCLMULQDQ performs "Carry-Less Quadword Multiplication". +// +// Mnemonic : VPCLMULQDQ +// Supported forms : (2 forms) +// +// * VPCLMULQDQ imm8, xmm, xmm, xmm [AVX,PCLMULQDQ] +// * VPCLMULQDQ imm8, m128, xmm, xmm [AVX,PCLMULQDQ] +// +func (self *Program) VPCLMULQDQ(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCLMULQDQ", 4, Operands { v0, v1, v2, v3 }) + // VPCLMULQDQ imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX | ISA_PCLMULQDQ) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x44) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCLMULQDQ imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX | ISA_PCLMULQDQ) + p.domain = DomainCrypto + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x44) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCLMULQDQ") + } + return p +} + +// VPCMOV performs "Packed Conditional Move". +// +// Mnemonic : VPCMOV +// Supported forms : (6 forms) +// +// * VPCMOV xmm, xmm, xmm, xmm [XOP] +// * VPCMOV m128, xmm, xmm, xmm [XOP] +// * VPCMOV xmm, m128, xmm, xmm [XOP] +// * VPCMOV ymm, ymm, ymm, ymm [XOP] +// * VPCMOV m256, ymm, ymm, ymm [XOP] +// * VPCMOV ymm, m256, ymm, ymm [XOP] +// +func (self *Program) VPCMOV(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCMOV", 4, Operands { v0, v1, v2, v3 }) + // VPCMOV xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0xa2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[2]) << 3)) + m.emit(0xa2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + } + // VPCMOV m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x80, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0xa2) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VPCMOV xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xa2) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPCMOV ymm, ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit(0xa2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfc ^ (hlcode(v[2]) << 3)) + m.emit(0xa2) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + } + // VPCMOV m256, ymm, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x84, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0xa2) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VPCMOV ymm, m256, ymm, ymm + if isYMM(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x04, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xa2) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMOV") + } + return p +} + +// VPCMPB performs "Compare Packed Signed Byte Values". +// +// Mnemonic : VPCMPB +// Supported forms : (6 forms) +// +// * VPCMPB imm8, zmm, zmm, k{k} [AVX512BW] +// * VPCMPB imm8, m512, zmm, k{k} [AVX512BW] +// * VPCMPB imm8, xmm, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPB imm8, m128, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPB imm8, ymm, ymm, k{k} [AVX512BW,AVX512VL] +// * VPCMPB imm8, m256, ymm, k{k} [AVX512BW,AVX512VL] +// +func (self *Program) VPCMPB(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCMPB", 4, Operands { v0, v1, v2, v3 }) + // VPCMPB imm8, zmm, zmm, k{k} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPB imm8, m512, zmm, k{k} + if isImm8(v0) && isM512(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0x3f) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPB imm8, xmm, xmm, k{k} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPB imm8, m128, xmm, k{k} + if isImm8(v0) && isM128(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0x3f) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPB imm8, ymm, ymm, k{k} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPB imm8, m256, ymm, k{k} + if isImm8(v0) && isM256(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0x3f) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPB") + } + return p +} + +// VPCMPD performs "Compare Packed Signed Doubleword Values". +// +// Mnemonic : VPCMPD +// Supported forms : (6 forms) +// +// * VPCMPD imm8, m512/m32bcst, zmm, k{k} [AVX512F] +// * VPCMPD imm8, zmm, zmm, k{k} [AVX512F] +// * VPCMPD imm8, m128/m32bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPD imm8, xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPD imm8, m256/m32bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VPCMPD imm8, ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VPCMPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCMPD", 4, Operands { v0, v1, v2, v3 }) + // VPCMPD imm8, m512/m32bcst, zmm, k{k} + if isImm8(v0) && isM512M32bcst(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0x1f) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPD imm8, zmm, zmm, k{k} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x1f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPD imm8, m128/m32bcst, xmm, k{k} + if isImm8(v0) && isM128M32bcst(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0x1f) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPD imm8, xmm, xmm, k{k} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x1f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPD imm8, m256/m32bcst, ymm, k{k} + if isImm8(v0) && isM256M32bcst(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0x1f) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPD imm8, ymm, ymm, k{k} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x1f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPD") + } + return p +} + +// VPCMPEQB performs "Compare Packed Byte Data for Equality". +// +// Mnemonic : VPCMPEQB +// Supported forms : (10 forms) +// +// * VPCMPEQB xmm, xmm, xmm [AVX] +// * VPCMPEQB m128, xmm, xmm [AVX] +// * VPCMPEQB ymm, ymm, ymm [AVX2] +// * VPCMPEQB m256, ymm, ymm [AVX2] +// * VPCMPEQB zmm, zmm, k{k} [AVX512BW] +// * VPCMPEQB m512, zmm, k{k} [AVX512BW] +// * VPCMPEQB xmm, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPEQB m128, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPEQB ymm, ymm, k{k} [AVX512BW,AVX512VL] +// * VPCMPEQB m256, ymm, k{k} [AVX512BW,AVX512VL] +// +func (self *Program) VPCMPEQB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPCMPEQB", 3, Operands { v0, v1, v2 }) + // VPCMPEQB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x74) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x74) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPEQB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x74) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x74) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPEQB zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x74) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQB m512, zmm, k{k} + if isM512(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x74) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPCMPEQB xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x74) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQB m128, xmm, k{k} + if isM128(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x74) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPCMPEQB ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x74) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQB m256, ymm, k{k} + if isM256(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x74) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPEQB") + } + return p +} + +// VPCMPEQD performs "Compare Packed Doubleword Data for Equality". +// +// Mnemonic : VPCMPEQD +// Supported forms : (10 forms) +// +// * VPCMPEQD xmm, xmm, xmm [AVX] +// * VPCMPEQD m128, xmm, xmm [AVX] +// * VPCMPEQD ymm, ymm, ymm [AVX2] +// * VPCMPEQD m256, ymm, ymm [AVX2] +// * VPCMPEQD m512/m32bcst, zmm, k{k} [AVX512F] +// * VPCMPEQD zmm, zmm, k{k} [AVX512F] +// * VPCMPEQD m128/m32bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPEQD xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPEQD m256/m32bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VPCMPEQD ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VPCMPEQD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPCMPEQD", 3, Operands { v0, v1, v2 }) + // VPCMPEQD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x76) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x76) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPEQD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x76) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x76) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPEQD m512/m32bcst, zmm, k{k} + if isM512M32bcst(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x76) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPCMPEQD zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x76) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQD m128/m32bcst, xmm, k{k} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x76) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPCMPEQD xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x76) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQD m256/m32bcst, ymm, k{k} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x76) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPCMPEQD ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x76) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPEQD") + } + return p +} + +// VPCMPEQQ performs "Compare Packed Quadword Data for Equality". +// +// Mnemonic : VPCMPEQQ +// Supported forms : (10 forms) +// +// * VPCMPEQQ xmm, xmm, xmm [AVX] +// * VPCMPEQQ m128, xmm, xmm [AVX] +// * VPCMPEQQ ymm, ymm, ymm [AVX2] +// * VPCMPEQQ m256, ymm, ymm [AVX2] +// * VPCMPEQQ m512/m64bcst, zmm, k{k} [AVX512F] +// * VPCMPEQQ zmm, zmm, k{k} [AVX512F] +// * VPCMPEQQ m128/m64bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPEQQ xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPEQQ m256/m64bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VPCMPEQQ ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VPCMPEQQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPCMPEQQ", 3, Operands { v0, v1, v2 }) + // VPCMPEQQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x29) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x29) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPEQQ ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x29) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x29) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPEQQ m512/m64bcst, zmm, k{k} + if isM512M64bcst(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x29) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPCMPEQQ zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x29) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQQ m128/m64bcst, xmm, k{k} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x29) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPCMPEQQ xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x29) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQQ m256/m64bcst, ymm, k{k} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x29) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPCMPEQQ ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x29) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPEQQ") + } + return p +} + +// VPCMPEQW performs "Compare Packed Word Data for Equality". +// +// Mnemonic : VPCMPEQW +// Supported forms : (10 forms) +// +// * VPCMPEQW xmm, xmm, xmm [AVX] +// * VPCMPEQW m128, xmm, xmm [AVX] +// * VPCMPEQW ymm, ymm, ymm [AVX2] +// * VPCMPEQW m256, ymm, ymm [AVX2] +// * VPCMPEQW zmm, zmm, k{k} [AVX512BW] +// * VPCMPEQW m512, zmm, k{k} [AVX512BW] +// * VPCMPEQW xmm, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPEQW m128, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPEQW ymm, ymm, k{k} [AVX512BW,AVX512VL] +// * VPCMPEQW m256, ymm, k{k} [AVX512BW,AVX512VL] +// +func (self *Program) VPCMPEQW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPCMPEQW", 3, Operands { v0, v1, v2 }) + // VPCMPEQW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x75) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x75) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPEQW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x75) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x75) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPEQW zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x75) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQW m512, zmm, k{k} + if isM512(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x75) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPCMPEQW xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x75) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQW m128, xmm, k{k} + if isM128(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x75) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPCMPEQW ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x75) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPEQW m256, ymm, k{k} + if isM256(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x75) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPEQW") + } + return p +} + +// VPCMPESTRI performs "Packed Compare Explicit Length Strings, Return Index". +// +// Mnemonic : VPCMPESTRI +// Supported forms : (2 forms) +// +// * VPCMPESTRI imm8, xmm, xmm [AVX] +// * VPCMPESTRI imm8, m128, xmm [AVX] +// +func (self *Program) VPCMPESTRI(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPCMPESTRI", 3, Operands { v0, v1, v2 }) + // VPCMPESTRI imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79) + m.emit(0x61) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPESTRI imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[2]), addr(v[1]), 0) + m.emit(0x61) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPESTRI") + } + return p +} + +// VPCMPESTRM performs "Packed Compare Explicit Length Strings, Return Mask". +// +// Mnemonic : VPCMPESTRM +// Supported forms : (2 forms) +// +// * VPCMPESTRM imm8, xmm, xmm [AVX] +// * VPCMPESTRM imm8, m128, xmm [AVX] +// +func (self *Program) VPCMPESTRM(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPCMPESTRM", 3, Operands { v0, v1, v2 }) + // VPCMPESTRM imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79) + m.emit(0x60) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPESTRM imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[2]), addr(v[1]), 0) + m.emit(0x60) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPESTRM") + } + return p +} + +// VPCMPGTB performs "Compare Packed Signed Byte Integers for Greater Than". +// +// Mnemonic : VPCMPGTB +// Supported forms : (10 forms) +// +// * VPCMPGTB xmm, xmm, xmm [AVX] +// * VPCMPGTB m128, xmm, xmm [AVX] +// * VPCMPGTB ymm, ymm, ymm [AVX2] +// * VPCMPGTB m256, ymm, ymm [AVX2] +// * VPCMPGTB zmm, zmm, k{k} [AVX512BW] +// * VPCMPGTB m512, zmm, k{k} [AVX512BW] +// * VPCMPGTB xmm, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPGTB m128, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPGTB ymm, ymm, k{k} [AVX512BW,AVX512VL] +// * VPCMPGTB m256, ymm, k{k} [AVX512BW,AVX512VL] +// +func (self *Program) VPCMPGTB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPCMPGTB", 3, Operands { v0, v1, v2 }) + // VPCMPGTB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x64) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x64) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPGTB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x64) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x64) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPGTB zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x64) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTB m512, zmm, k{k} + if isM512(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x64) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPCMPGTB xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x64) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTB m128, xmm, k{k} + if isM128(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x64) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPCMPGTB ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x64) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTB m256, ymm, k{k} + if isM256(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x64) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPGTB") + } + return p +} + +// VPCMPGTD performs "Compare Packed Signed Doubleword Integers for Greater Than". +// +// Mnemonic : VPCMPGTD +// Supported forms : (10 forms) +// +// * VPCMPGTD xmm, xmm, xmm [AVX] +// * VPCMPGTD m128, xmm, xmm [AVX] +// * VPCMPGTD ymm, ymm, ymm [AVX2] +// * VPCMPGTD m256, ymm, ymm [AVX2] +// * VPCMPGTD m512/m32bcst, zmm, k{k} [AVX512F] +// * VPCMPGTD zmm, zmm, k{k} [AVX512F] +// * VPCMPGTD m128/m32bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPGTD xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPGTD m256/m32bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VPCMPGTD ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VPCMPGTD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPCMPGTD", 3, Operands { v0, v1, v2 }) + // VPCMPGTD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPGTD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPGTD m512/m32bcst, zmm, k{k} + if isM512M32bcst(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPCMPGTD zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTD m128/m32bcst, xmm, k{k} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPCMPGTD xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTD m256/m32bcst, ymm, k{k} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x66) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPCMPGTD ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x66) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPGTD") + } + return p +} + +// VPCMPGTQ performs "Compare Packed Data for Greater Than". +// +// Mnemonic : VPCMPGTQ +// Supported forms : (10 forms) +// +// * VPCMPGTQ xmm, xmm, xmm [AVX] +// * VPCMPGTQ m128, xmm, xmm [AVX] +// * VPCMPGTQ ymm, ymm, ymm [AVX2] +// * VPCMPGTQ m256, ymm, ymm [AVX2] +// * VPCMPGTQ m512/m64bcst, zmm, k{k} [AVX512F] +// * VPCMPGTQ zmm, zmm, k{k} [AVX512F] +// * VPCMPGTQ m128/m64bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPGTQ xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPGTQ m256/m64bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VPCMPGTQ ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VPCMPGTQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPCMPGTQ", 3, Operands { v0, v1, v2 }) + // VPCMPGTQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x37) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x37) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPGTQ ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x37) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x37) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPGTQ m512/m64bcst, zmm, k{k} + if isM512M64bcst(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x37) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPCMPGTQ zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x37) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTQ m128/m64bcst, xmm, k{k} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x37) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPCMPGTQ xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x37) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTQ m256/m64bcst, ymm, k{k} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x37) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPCMPGTQ ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x37) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPGTQ") + } + return p +} + +// VPCMPGTW performs "Compare Packed Signed Word Integers for Greater Than". +// +// Mnemonic : VPCMPGTW +// Supported forms : (10 forms) +// +// * VPCMPGTW xmm, xmm, xmm [AVX] +// * VPCMPGTW m128, xmm, xmm [AVX] +// * VPCMPGTW ymm, ymm, ymm [AVX2] +// * VPCMPGTW m256, ymm, ymm [AVX2] +// * VPCMPGTW zmm, zmm, k{k} [AVX512BW] +// * VPCMPGTW m512, zmm, k{k} [AVX512BW] +// * VPCMPGTW xmm, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPGTW m128, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPGTW ymm, ymm, k{k} [AVX512BW,AVX512VL] +// * VPCMPGTW m256, ymm, k{k} [AVX512BW,AVX512VL] +// +func (self *Program) VPCMPGTW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPCMPGTW", 3, Operands { v0, v1, v2 }) + // VPCMPGTW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x65) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x65) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPGTW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x65) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x65) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPCMPGTW zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x65) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTW m512, zmm, k{k} + if isM512(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x65) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPCMPGTW xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x65) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTW m128, xmm, k{k} + if isM128(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x65) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPCMPGTW ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x65) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPCMPGTW m256, ymm, k{k} + if isM256(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x65) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPGTW") + } + return p +} + +// VPCMPISTRI performs "Packed Compare Implicit Length Strings, Return Index". +// +// Mnemonic : VPCMPISTRI +// Supported forms : (2 forms) +// +// * VPCMPISTRI imm8, xmm, xmm [AVX] +// * VPCMPISTRI imm8, m128, xmm [AVX] +// +func (self *Program) VPCMPISTRI(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPCMPISTRI", 3, Operands { v0, v1, v2 }) + // VPCMPISTRI imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79) + m.emit(0x63) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPISTRI imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[2]), addr(v[1]), 0) + m.emit(0x63) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPISTRI") + } + return p +} + +// VPCMPISTRM performs "Packed Compare Implicit Length Strings, Return Mask". +// +// Mnemonic : VPCMPISTRM +// Supported forms : (2 forms) +// +// * VPCMPISTRM imm8, xmm, xmm [AVX] +// * VPCMPISTRM imm8, m128, xmm [AVX] +// +func (self *Program) VPCMPISTRM(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPCMPISTRM", 3, Operands { v0, v1, v2 }) + // VPCMPISTRM imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79) + m.emit(0x62) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPISTRM imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[2]), addr(v[1]), 0) + m.emit(0x62) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPISTRM") + } + return p +} + +// VPCMPQ performs "Compare Packed Signed Quadword Values". +// +// Mnemonic : VPCMPQ +// Supported forms : (6 forms) +// +// * VPCMPQ imm8, m512/m64bcst, zmm, k{k} [AVX512F] +// * VPCMPQ imm8, zmm, zmm, k{k} [AVX512F] +// * VPCMPQ imm8, m128/m64bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPQ imm8, xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPQ imm8, m256/m64bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VPCMPQ imm8, ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VPCMPQ(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCMPQ", 4, Operands { v0, v1, v2, v3 }) + // VPCMPQ imm8, m512/m64bcst, zmm, k{k} + if isImm8(v0) && isM512M64bcst(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0x1f) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPQ imm8, zmm, zmm, k{k} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x1f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPQ imm8, m128/m64bcst, xmm, k{k} + if isImm8(v0) && isM128M64bcst(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0x1f) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPQ imm8, xmm, xmm, k{k} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x1f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPQ imm8, m256/m64bcst, ymm, k{k} + if isImm8(v0) && isM256M64bcst(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0x1f) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPQ imm8, ymm, ymm, k{k} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x1f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPQ") + } + return p +} + +// VPCMPUB performs "Compare Packed Unsigned Byte Values". +// +// Mnemonic : VPCMPUB +// Supported forms : (6 forms) +// +// * VPCMPUB imm8, zmm, zmm, k{k} [AVX512BW] +// * VPCMPUB imm8, m512, zmm, k{k} [AVX512BW] +// * VPCMPUB imm8, xmm, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPUB imm8, m128, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPUB imm8, ymm, ymm, k{k} [AVX512BW,AVX512VL] +// * VPCMPUB imm8, m256, ymm, k{k} [AVX512BW,AVX512VL] +// +func (self *Program) VPCMPUB(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCMPUB", 4, Operands { v0, v1, v2, v3 }) + // VPCMPUB imm8, zmm, zmm, k{k} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x3e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUB imm8, m512, zmm, k{k} + if isImm8(v0) && isM512(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0x3e) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUB imm8, xmm, xmm, k{k} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x3e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUB imm8, m128, xmm, k{k} + if isImm8(v0) && isM128(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0x3e) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUB imm8, ymm, ymm, k{k} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x3e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUB imm8, m256, ymm, k{k} + if isImm8(v0) && isM256(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0x3e) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPUB") + } + return p +} + +// VPCMPUD performs "Compare Packed Unsigned Doubleword Values". +// +// Mnemonic : VPCMPUD +// Supported forms : (6 forms) +// +// * VPCMPUD imm8, m512/m32bcst, zmm, k{k} [AVX512F] +// * VPCMPUD imm8, zmm, zmm, k{k} [AVX512F] +// * VPCMPUD imm8, m128/m32bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPUD imm8, xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPUD imm8, m256/m32bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VPCMPUD imm8, ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VPCMPUD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCMPUD", 4, Operands { v0, v1, v2, v3 }) + // VPCMPUD imm8, m512/m32bcst, zmm, k{k} + if isImm8(v0) && isM512M32bcst(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0x1e) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUD imm8, zmm, zmm, k{k} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUD imm8, m128/m32bcst, xmm, k{k} + if isImm8(v0) && isM128M32bcst(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0x1e) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUD imm8, xmm, xmm, k{k} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUD imm8, m256/m32bcst, ymm, k{k} + if isImm8(v0) && isM256M32bcst(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0x1e) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUD imm8, ymm, ymm, k{k} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPUD") + } + return p +} + +// VPCMPUQ performs "Compare Packed Unsigned Quadword Values". +// +// Mnemonic : VPCMPUQ +// Supported forms : (6 forms) +// +// * VPCMPUQ imm8, m512/m64bcst, zmm, k{k} [AVX512F] +// * VPCMPUQ imm8, zmm, zmm, k{k} [AVX512F] +// * VPCMPUQ imm8, m128/m64bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPUQ imm8, xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VPCMPUQ imm8, m256/m64bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VPCMPUQ imm8, ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VPCMPUQ(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCMPUQ", 4, Operands { v0, v1, v2, v3 }) + // VPCMPUQ imm8, m512/m64bcst, zmm, k{k} + if isImm8(v0) && isM512M64bcst(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0x1e) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUQ imm8, zmm, zmm, k{k} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUQ imm8, m128/m64bcst, xmm, k{k} + if isImm8(v0) && isM128M64bcst(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0x1e) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUQ imm8, xmm, xmm, k{k} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUQ imm8, m256/m64bcst, ymm, k{k} + if isImm8(v0) && isM256M64bcst(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, bcode(v[1])) + m.emit(0x1e) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUQ imm8, ymm, ymm, k{k} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x1e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPUQ") + } + return p +} + +// VPCMPUW performs "Compare Packed Unsigned Word Values". +// +// Mnemonic : VPCMPUW +// Supported forms : (6 forms) +// +// * VPCMPUW imm8, zmm, zmm, k{k} [AVX512BW] +// * VPCMPUW imm8, m512, zmm, k{k} [AVX512BW] +// * VPCMPUW imm8, xmm, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPUW imm8, m128, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPUW imm8, ymm, ymm, k{k} [AVX512BW,AVX512VL] +// * VPCMPUW imm8, m256, ymm, k{k} [AVX512BW,AVX512VL] +// +func (self *Program) VPCMPUW(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCMPUW", 4, Operands { v0, v1, v2, v3 }) + // VPCMPUW imm8, zmm, zmm, k{k} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x3e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUW imm8, m512, zmm, k{k} + if isImm8(v0) && isM512(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0x3e) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUW imm8, xmm, xmm, k{k} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x3e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUW imm8, m128, xmm, k{k} + if isImm8(v0) && isM128(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0x3e) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUW imm8, ymm, ymm, k{k} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x3e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPUW imm8, m256, ymm, k{k} + if isImm8(v0) && isM256(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0x3e) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPUW") + } + return p +} + +// VPCMPW performs "Compare Packed Signed Word Values". +// +// Mnemonic : VPCMPW +// Supported forms : (6 forms) +// +// * VPCMPW imm8, zmm, zmm, k{k} [AVX512BW] +// * VPCMPW imm8, m512, zmm, k{k} [AVX512BW] +// * VPCMPW imm8, xmm, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPW imm8, m128, xmm, k{k} [AVX512BW,AVX512VL] +// * VPCMPW imm8, ymm, ymm, k{k} [AVX512BW,AVX512VL] +// * VPCMPW imm8, m256, ymm, k{k} [AVX512BW,AVX512VL] +// +func (self *Program) VPCMPW(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCMPW", 4, Operands { v0, v1, v2, v3 }) + // VPCMPW imm8, zmm, zmm, k{k} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPW imm8, m512, zmm, k{k} + if isImm8(v0) && isM512(v1) && isZMM(v2) && isKk(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0x3f) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPW imm8, xmm, xmm, k{k} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPW imm8, m128, xmm, k{k} + if isImm8(v0) && isM128(v1) && isEVEXXMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0x3f) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPW imm8, ymm, ymm, k{k} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCMPW imm8, m256, ymm, k{k} + if isImm8(v0) && isM256(v1) && isEVEXYMM(v2) && isKk(v3) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), 0, 0) + m.emit(0x3f) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCMPW") + } + return p +} + +// VPCOMB performs "Compare Packed Signed Byte Integers". +// +// Mnemonic : VPCOMB +// Supported forms : (2 forms) +// +// * VPCOMB imm8, xmm, xmm, xmm [XOP] +// * VPCOMB imm8, m128, xmm, xmm [XOP] +// +func (self *Program) VPCOMB(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCOMB", 4, Operands { v0, v1, v2, v3 }) + // VPCOMB imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0xcc) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCOMB imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xcc) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCOMB") + } + return p +} + +// VPCOMD performs "Compare Packed Signed Doubleword Integers". +// +// Mnemonic : VPCOMD +// Supported forms : (2 forms) +// +// * VPCOMD imm8, xmm, xmm, xmm [XOP] +// * VPCOMD imm8, m128, xmm, xmm [XOP] +// +func (self *Program) VPCOMD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCOMD", 4, Operands { v0, v1, v2, v3 }) + // VPCOMD imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0xce) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCOMD imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xce) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCOMD") + } + return p +} + +// VPCOMPRESSD performs "Store Sparse Packed Doubleword Integer Values into Dense Memory/Register". +// +// Mnemonic : VPCOMPRESSD +// Supported forms : (6 forms) +// +// * VPCOMPRESSD zmm, zmm{k}{z} [AVX512F] +// * VPCOMPRESSD zmm, m512{k}{z} [AVX512F] +// * VPCOMPRESSD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPCOMPRESSD xmm, m128{k}{z} [AVX512F,AVX512VL] +// * VPCOMPRESSD ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPCOMPRESSD ymm, m256{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPCOMPRESSD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPCOMPRESSD", 2, Operands { v0, v1 }) + // VPCOMPRESSD zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x8b) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPCOMPRESSD zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x8b) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VPCOMPRESSD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x8b) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPCOMPRESSD xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x8b) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VPCOMPRESSD ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x8b) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPCOMPRESSD ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x8b) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPCOMPRESSD") + } + return p +} + +// VPCOMPRESSQ performs "Store Sparse Packed Quadword Integer Values into Dense Memory/Register". +// +// Mnemonic : VPCOMPRESSQ +// Supported forms : (6 forms) +// +// * VPCOMPRESSQ zmm, zmm{k}{z} [AVX512F] +// * VPCOMPRESSQ zmm, m512{k}{z} [AVX512F] +// * VPCOMPRESSQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPCOMPRESSQ xmm, m128{k}{z} [AVX512F,AVX512VL] +// * VPCOMPRESSQ ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPCOMPRESSQ ymm, m256{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPCOMPRESSQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPCOMPRESSQ", 2, Operands { v0, v1 }) + // VPCOMPRESSQ zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x8b) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPCOMPRESSQ zmm, m512{k}{z} + if isZMM(v0) && isM512kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x8b) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPCOMPRESSQ xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x8b) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPCOMPRESSQ xmm, m128{k}{z} + if isEVEXXMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x8b) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPCOMPRESSQ ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x8b) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPCOMPRESSQ ymm, m256{k}{z} + if isEVEXYMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x8b) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPCOMPRESSQ") + } + return p +} + +// VPCOMQ performs "Compare Packed Signed Quadword Integers". +// +// Mnemonic : VPCOMQ +// Supported forms : (2 forms) +// +// * VPCOMQ imm8, xmm, xmm, xmm [XOP] +// * VPCOMQ imm8, m128, xmm, xmm [XOP] +// +func (self *Program) VPCOMQ(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCOMQ", 4, Operands { v0, v1, v2, v3 }) + // VPCOMQ imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0xcf) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCOMQ imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xcf) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCOMQ") + } + return p +} + +// VPCOMUB performs "Compare Packed Unsigned Byte Integers". +// +// Mnemonic : VPCOMUB +// Supported forms : (2 forms) +// +// * VPCOMUB imm8, xmm, xmm, xmm [XOP] +// * VPCOMUB imm8, m128, xmm, xmm [XOP] +// +func (self *Program) VPCOMUB(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCOMUB", 4, Operands { v0, v1, v2, v3 }) + // VPCOMUB imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0xec) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCOMUB imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xec) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCOMUB") + } + return p +} + +// VPCOMUD performs "Compare Packed Unsigned Doubleword Integers". +// +// Mnemonic : VPCOMUD +// Supported forms : (2 forms) +// +// * VPCOMUD imm8, xmm, xmm, xmm [XOP] +// * VPCOMUD imm8, m128, xmm, xmm [XOP] +// +func (self *Program) VPCOMUD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCOMUD", 4, Operands { v0, v1, v2, v3 }) + // VPCOMUD imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0xee) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCOMUD imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xee) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCOMUD") + } + return p +} + +// VPCOMUQ performs "Compare Packed Unsigned Quadword Integers". +// +// Mnemonic : VPCOMUQ +// Supported forms : (2 forms) +// +// * VPCOMUQ imm8, xmm, xmm, xmm [XOP] +// * VPCOMUQ imm8, m128, xmm, xmm [XOP] +// +func (self *Program) VPCOMUQ(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCOMUQ", 4, Operands { v0, v1, v2, v3 }) + // VPCOMUQ imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0xef) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCOMUQ imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xef) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCOMUQ") + } + return p +} + +// VPCOMUW performs "Compare Packed Unsigned Word Integers". +// +// Mnemonic : VPCOMUW +// Supported forms : (2 forms) +// +// * VPCOMUW imm8, xmm, xmm, xmm [XOP] +// * VPCOMUW imm8, m128, xmm, xmm [XOP] +// +func (self *Program) VPCOMUW(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCOMUW", 4, Operands { v0, v1, v2, v3 }) + // VPCOMUW imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0xed) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCOMUW imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xed) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCOMUW") + } + return p +} + +// VPCOMW performs "Compare Packed Signed Word Integers". +// +// Mnemonic : VPCOMW +// Supported forms : (2 forms) +// +// * VPCOMW imm8, xmm, xmm, xmm [XOP] +// * VPCOMW imm8, m128, xmm, xmm [XOP] +// +func (self *Program) VPCOMW(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPCOMW", 4, Operands { v0, v1, v2, v3 }) + // VPCOMW imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0xcd) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPCOMW imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xcd) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCOMW") + } + return p +} + +// VPCONFLICTD performs "Detect Conflicts Within a Vector of Packed Doubleword Values into Dense Memory/Register". +// +// Mnemonic : VPCONFLICTD +// Supported forms : (6 forms) +// +// * VPCONFLICTD m128/m32bcst, xmm{k}{z} [AVX512CD,AVX512VL] +// * VPCONFLICTD m256/m32bcst, ymm{k}{z} [AVX512CD,AVX512VL] +// * VPCONFLICTD m512/m32bcst, zmm{k}{z} [AVX512CD] +// * VPCONFLICTD xmm, xmm{k}{z} [AVX512CD,AVX512VL] +// * VPCONFLICTD ymm, ymm{k}{z} [AVX512CD,AVX512VL] +// * VPCONFLICTD zmm, zmm{k}{z} [AVX512CD] +// +func (self *Program) VPCONFLICTD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPCONFLICTD", 2, Operands { v0, v1 }) + // VPCONFLICTD m128/m32bcst, xmm{k}{z} + if isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xc4) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VPCONFLICTD m256/m32bcst, ymm{k}{z} + if isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xc4) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VPCONFLICTD m512/m32bcst, zmm{k}{z} + if isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xc4) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VPCONFLICTD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0xc4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPCONFLICTD ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0xc4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPCONFLICTD zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0xc4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCONFLICTD") + } + return p +} + +// VPCONFLICTQ performs "Detect Conflicts Within a Vector of Packed Quadword Values into Dense Memory/Register". +// +// Mnemonic : VPCONFLICTQ +// Supported forms : (6 forms) +// +// * VPCONFLICTQ m128/m64bcst, xmm{k}{z} [AVX512CD,AVX512VL] +// * VPCONFLICTQ m256/m64bcst, ymm{k}{z} [AVX512CD,AVX512VL] +// * VPCONFLICTQ m512/m64bcst, zmm{k}{z} [AVX512CD] +// * VPCONFLICTQ xmm, xmm{k}{z} [AVX512CD,AVX512VL] +// * VPCONFLICTQ ymm, ymm{k}{z} [AVX512CD,AVX512VL] +// * VPCONFLICTQ zmm, zmm{k}{z} [AVX512CD] +// +func (self *Program) VPCONFLICTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPCONFLICTQ", 2, Operands { v0, v1 }) + // VPCONFLICTQ m128/m64bcst, xmm{k}{z} + if isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xc4) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VPCONFLICTQ m256/m64bcst, ymm{k}{z} + if isM256M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xc4) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VPCONFLICTQ m512/m64bcst, zmm{k}{z} + if isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xc4) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VPCONFLICTQ xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0xc4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPCONFLICTQ ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0xc4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPCONFLICTQ zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0xc4) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPCONFLICTQ") + } + return p +} + +// VPERM2F128 performs "Permute Floating-Point Values". +// +// Mnemonic : VPERM2F128 +// Supported forms : (2 forms) +// +// * VPERM2F128 imm8, ymm, ymm, ymm [AVX] +// * VPERM2F128 imm8, m256, ymm, ymm [AVX] +// +func (self *Program) VPERM2F128(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPERM2F128", 4, Operands { v0, v1, v2, v3 }) + // VPERM2F128 imm8, ymm, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x06) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERM2F128 imm8, m256, ymm, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x06) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERM2F128") + } + return p +} + +// VPERM2I128 performs "Permute 128-Bit Integer Values". +// +// Mnemonic : VPERM2I128 +// Supported forms : (2 forms) +// +// * VPERM2I128 imm8, ymm, ymm, ymm [AVX2] +// * VPERM2I128 imm8, m256, ymm, ymm [AVX2] +// +func (self *Program) VPERM2I128(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPERM2I128", 4, Operands { v0, v1, v2, v3 }) + // VPERM2I128 imm8, ymm, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit(0x46) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERM2I128 imm8, m256, ymm, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x46) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERM2I128") + } + return p +} + +// VPERMB performs "Permute Byte Integers". +// +// Mnemonic : VPERMB +// Supported forms : (6 forms) +// +// * VPERMB xmm, xmm, xmm{k}{z} [AVX512VBMI,AVX512VL] +// * VPERMB m128, xmm, xmm{k}{z} [AVX512VBMI,AVX512VL] +// * VPERMB ymm, ymm, ymm{k}{z} [AVX512VBMI,AVX512VL] +// * VPERMB m256, ymm, ymm{k}{z} [AVX512VBMI,AVX512VL] +// * VPERMB zmm, zmm, zmm{k}{z} [AVX512VBMI] +// * VPERMB m512, zmm, zmm{k}{z} [AVX512VBMI] +// +func (self *Program) VPERMB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMB", 3, Operands { v0, v1, v2 }) + // VPERMB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x8d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x8d) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x8d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x8d) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x8d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x8d) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMB") + } + return p +} + +// VPERMD performs "Permute Doubleword Integers". +// +// Mnemonic : VPERMD +// Supported forms : (6 forms) +// +// * VPERMD ymm, ymm, ymm [AVX2] +// * VPERMD m256, ymm, ymm [AVX2] +// * VPERMD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMD", 3, Operands { v0, v1, v2 }) + // VPERMD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x36) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x36) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPERMD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x36) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x36) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x36) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x36) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMD") + } + return p +} + +// VPERMI2B performs "Full Permute of Bytes From Two Tables Overwriting the Index". +// +// Mnemonic : VPERMI2B +// Supported forms : (6 forms) +// +// * VPERMI2B xmm, xmm, xmm{k}{z} [AVX512VBMI,AVX512VL] +// * VPERMI2B m128, xmm, xmm{k}{z} [AVX512VBMI,AVX512VL] +// * VPERMI2B ymm, ymm, ymm{k}{z} [AVX512VBMI,AVX512VL] +// * VPERMI2B m256, ymm, ymm{k}{z} [AVX512VBMI,AVX512VL] +// * VPERMI2B zmm, zmm, zmm{k}{z} [AVX512VBMI] +// * VPERMI2B m512, zmm, zmm{k}{z} [AVX512VBMI] +// +func (self *Program) VPERMI2B(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMI2B", 3, Operands { v0, v1, v2 }) + // VPERMI2B xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x75) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2B m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x75) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMI2B ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x75) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2B m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x75) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMI2B zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x75) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2B m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x75) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMI2B") + } + return p +} + +// VPERMI2D performs "Full Permute of Doublewords From Two Tables Overwriting the Index". +// +// Mnemonic : VPERMI2D +// Supported forms : (6 forms) +// +// * VPERMI2D m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMI2D zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMI2D m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMI2D xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMI2D m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMI2D ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMI2D(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMI2D", 3, Operands { v0, v1, v2 }) + // VPERMI2D m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x76) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMI2D zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x76) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2D m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x76) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMI2D xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x76) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2D m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x76) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMI2D ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x76) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMI2D") + } + return p +} + +// VPERMI2PD performs "Full Permute of Double-Precision Floating-Point Values From Two Tables Overwriting the Index". +// +// Mnemonic : VPERMI2PD +// Supported forms : (6 forms) +// +// * VPERMI2PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMI2PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMI2PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMI2PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMI2PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMI2PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMI2PD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMI2PD", 3, Operands { v0, v1, v2 }) + // VPERMI2PD m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x77) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMI2PD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x77) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2PD m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x77) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMI2PD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x77) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2PD m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x77) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMI2PD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x77) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMI2PD") + } + return p +} + +// VPERMI2PS performs "Full Permute of Single-Precision Floating-Point Values From Two Tables Overwriting the Index". +// +// Mnemonic : VPERMI2PS +// Supported forms : (6 forms) +// +// * VPERMI2PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMI2PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMI2PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMI2PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMI2PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMI2PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMI2PS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMI2PS", 3, Operands { v0, v1, v2 }) + // VPERMI2PS m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x77) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMI2PS zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x77) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2PS m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x77) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMI2PS xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x77) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2PS m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x77) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMI2PS ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x77) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMI2PS") + } + return p +} + +// VPERMI2Q performs "Full Permute of Quadwords From Two Tables Overwriting the Index". +// +// Mnemonic : VPERMI2Q +// Supported forms : (6 forms) +// +// * VPERMI2Q m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMI2Q zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMI2Q m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMI2Q xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMI2Q m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMI2Q ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMI2Q(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMI2Q", 3, Operands { v0, v1, v2 }) + // VPERMI2Q m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x76) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMI2Q zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x76) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2Q m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x76) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMI2Q xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x76) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2Q m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x76) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMI2Q ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x76) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMI2Q") + } + return p +} + +// VPERMI2W performs "Full Permute of Words From Two Tables Overwriting the Index". +// +// Mnemonic : VPERMI2W +// Supported forms : (6 forms) +// +// * VPERMI2W zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPERMI2W m512, zmm, zmm{k}{z} [AVX512BW] +// * VPERMI2W xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPERMI2W m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPERMI2W ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPERMI2W m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPERMI2W(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMI2W", 3, Operands { v0, v1, v2 }) + // VPERMI2W zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x75) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2W m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x75) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMI2W xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x75) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2W m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x75) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMI2W ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x75) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMI2W m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x75) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMI2W") + } + return p +} + +// VPERMIL2PD performs "Permute Two-Source Double-Precision Floating-Point Vectors". +// +// Mnemonic : VPERMIL2PD +// Supported forms : (6 forms) +// +// * VPERMIL2PD imm4, xmm, xmm, xmm, xmm [XOP] +// * VPERMIL2PD imm4, m128, xmm, xmm, xmm [XOP] +// * VPERMIL2PD imm4, xmm, m128, xmm, xmm [XOP] +// * VPERMIL2PD imm4, ymm, ymm, ymm, ymm [XOP] +// * VPERMIL2PD imm4, m256, ymm, ymm, ymm [XOP] +// * VPERMIL2PD imm4, ymm, m256, ymm, ymm [XOP] +// +func (self *Program) VPERMIL2PD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, v4 interface{}) *Instruction { + p := self.alloc("VPERMIL2PD", 5, Operands { v0, v1, v2, v3, v4 }) + // VPERMIL2PD imm4, xmm, xmm, xmm, xmm + if isImm4(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) && isXMM(v4) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[4]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0x79 ^ (hlcode(v[3]) << 3)) + m.emit(0x49) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.emit((hlcode(v[1]) << 4) | imml(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[4]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xf9 ^ (hlcode(v[3]) << 3)) + m.emit(0x49) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[1])) + m.emit((hlcode(v[2]) << 4) | imml(v[0])) + }) + } + // VPERMIL2PD imm4, m128, xmm, xmm, xmm + if isImm4(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) && isXMM(v4) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[4]), addr(v[1]), hlcode(v[3])) + m.emit(0x49) + m.mrsd(lcode(v[4]), addr(v[1]), 1) + m.emit((hlcode(v[2]) << 4) | imml(v[0])) + }) + } + // VPERMIL2PD imm4, xmm, m128, xmm, xmm + if isImm4(v0) && isXMM(v1) && isM128(v2) && isXMM(v3) && isXMM(v4) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[4]), addr(v[2]), hlcode(v[3])) + m.emit(0x49) + m.mrsd(lcode(v[4]), addr(v[2]), 1) + m.emit((hlcode(v[1]) << 4) | imml(v[0])) + }) + } + // VPERMIL2PD imm4, ymm, ymm, ymm, ymm + if isImm4(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) && isYMM(v4) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[4]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0x7d ^ (hlcode(v[3]) << 3)) + m.emit(0x49) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.emit((hlcode(v[1]) << 4) | imml(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[4]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[3]) << 3)) + m.emit(0x49) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[1])) + m.emit((hlcode(v[2]) << 4) | imml(v[0])) + }) + } + // VPERMIL2PD imm4, m256, ymm, ymm, ymm + if isImm4(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) && isYMM(v4) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[4]), addr(v[1]), hlcode(v[3])) + m.emit(0x49) + m.mrsd(lcode(v[4]), addr(v[1]), 1) + m.emit((hlcode(v[2]) << 4) | imml(v[0])) + }) + } + // VPERMIL2PD imm4, ymm, m256, ymm, ymm + if isImm4(v0) && isYMM(v1) && isM256(v2) && isYMM(v3) && isYMM(v4) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[4]), addr(v[2]), hlcode(v[3])) + m.emit(0x49) + m.mrsd(lcode(v[4]), addr(v[2]), 1) + m.emit((hlcode(v[1]) << 4) | imml(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMIL2PD") + } + return p +} + +// VPERMIL2PS performs "Permute Two-Source Single-Precision Floating-Point Vectors". +// +// Mnemonic : VPERMIL2PS +// Supported forms : (6 forms) +// +// * VPERMIL2PS imm4, xmm, xmm, xmm, xmm [XOP] +// * VPERMIL2PS imm4, m128, xmm, xmm, xmm [XOP] +// * VPERMIL2PS imm4, xmm, m128, xmm, xmm [XOP] +// * VPERMIL2PS imm4, ymm, ymm, ymm, ymm [XOP] +// * VPERMIL2PS imm4, m256, ymm, ymm, ymm [XOP] +// * VPERMIL2PS imm4, ymm, m256, ymm, ymm [XOP] +// +func (self *Program) VPERMIL2PS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, v4 interface{}) *Instruction { + p := self.alloc("VPERMIL2PS", 5, Operands { v0, v1, v2, v3, v4 }) + // VPERMIL2PS imm4, xmm, xmm, xmm, xmm + if isImm4(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) && isXMM(v4) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[4]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0x79 ^ (hlcode(v[3]) << 3)) + m.emit(0x48) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.emit((hlcode(v[1]) << 4) | imml(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[4]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xf9 ^ (hlcode(v[3]) << 3)) + m.emit(0x48) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[1])) + m.emit((hlcode(v[2]) << 4) | imml(v[0])) + }) + } + // VPERMIL2PS imm4, m128, xmm, xmm, xmm + if isImm4(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) && isXMM(v4) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[4]), addr(v[1]), hlcode(v[3])) + m.emit(0x48) + m.mrsd(lcode(v[4]), addr(v[1]), 1) + m.emit((hlcode(v[2]) << 4) | imml(v[0])) + }) + } + // VPERMIL2PS imm4, xmm, m128, xmm, xmm + if isImm4(v0) && isXMM(v1) && isM128(v2) && isXMM(v3) && isXMM(v4) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[4]), addr(v[2]), hlcode(v[3])) + m.emit(0x48) + m.mrsd(lcode(v[4]), addr(v[2]), 1) + m.emit((hlcode(v[1]) << 4) | imml(v[0])) + }) + } + // VPERMIL2PS imm4, ymm, ymm, ymm, ymm + if isImm4(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) && isYMM(v4) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[4]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0x7d ^ (hlcode(v[3]) << 3)) + m.emit(0x48) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.emit((hlcode(v[1]) << 4) | imml(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[4]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[3]) << 3)) + m.emit(0x48) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[1])) + m.emit((hlcode(v[2]) << 4) | imml(v[0])) + }) + } + // VPERMIL2PS imm4, m256, ymm, ymm, ymm + if isImm4(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) && isYMM(v4) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[4]), addr(v[1]), hlcode(v[3])) + m.emit(0x48) + m.mrsd(lcode(v[4]), addr(v[1]), 1) + m.emit((hlcode(v[2]) << 4) | imml(v[0])) + }) + } + // VPERMIL2PS imm4, ymm, m256, ymm, ymm + if isImm4(v0) && isYMM(v1) && isM256(v2) && isYMM(v3) && isYMM(v4) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[4]), addr(v[2]), hlcode(v[3])) + m.emit(0x48) + m.mrsd(lcode(v[4]), addr(v[2]), 1) + m.emit((hlcode(v[1]) << 4) | imml(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMIL2PS") + } + return p +} + +// VPERMILPD performs "Permute Double-Precision Floating-Point Values". +// +// Mnemonic : VPERMILPD +// Supported forms : (20 forms) +// +// * VPERMILPD imm8, xmm, xmm [AVX] +// * VPERMILPD xmm, xmm, xmm [AVX] +// * VPERMILPD m128, xmm, xmm [AVX] +// * VPERMILPD imm8, m128, xmm [AVX] +// * VPERMILPD imm8, ymm, ymm [AVX] +// * VPERMILPD ymm, ymm, ymm [AVX] +// * VPERMILPD m256, ymm, ymm [AVX] +// * VPERMILPD imm8, m256, ymm [AVX] +// * VPERMILPD imm8, m512/m64bcst, zmm{k}{z} [AVX512F] +// * VPERMILPD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMILPD imm8, zmm, zmm{k}{z} [AVX512F] +// * VPERMILPD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMILPD imm8, m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPD imm8, m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPD imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPD imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMILPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMILPD", 3, Operands { v0, v1, v2 }) + // VPERMILPD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79) + m.emit(0x05) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x0d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMILPD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x0d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPERMILPD imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[2]), addr(v[1]), 0) + m.emit(0x05) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPD imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d) + m.emit(0x05) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x0d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMILPD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x0d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPERMILPD imm8, m256, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[2]), addr(v[1]), 0) + m.emit(0x05) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPD imm8, m512/m64bcst, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x05) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPD m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x0d) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMILPD imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x05) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x0d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMILPD imm8, m128/m64bcst, xmm{k}{z} + if isImm8(v0) && isM128M64bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x05) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPD imm8, m256/m64bcst, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x05) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPD m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x0d) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMILPD imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x08) + m.emit(0x05) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x0d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMILPD m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x0d) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMILPD imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x05) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x0d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMILPD") + } + return p +} + +// VPERMILPS performs "Permute Single-Precision Floating-Point Values". +// +// Mnemonic : VPERMILPS +// Supported forms : (20 forms) +// +// * VPERMILPS imm8, xmm, xmm [AVX] +// * VPERMILPS xmm, xmm, xmm [AVX] +// * VPERMILPS m128, xmm, xmm [AVX] +// * VPERMILPS imm8, m128, xmm [AVX] +// * VPERMILPS imm8, ymm, ymm [AVX] +// * VPERMILPS ymm, ymm, ymm [AVX] +// * VPERMILPS m256, ymm, ymm [AVX] +// * VPERMILPS imm8, m256, ymm [AVX] +// * VPERMILPS imm8, m512/m32bcst, zmm{k}{z} [AVX512F] +// * VPERMILPS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMILPS imm8, zmm, zmm{k}{z} [AVX512F] +// * VPERMILPS zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMILPS imm8, m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPS imm8, m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPS imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPS imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMILPS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMILPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMILPS", 3, Operands { v0, v1, v2 }) + // VPERMILPS imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79) + m.emit(0x04) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x0c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMILPS m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x0c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPERMILPS imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[2]), addr(v[1]), 0) + m.emit(0x04) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPS imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d) + m.emit(0x04) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPS ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x0c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMILPS m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x0c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPERMILPS imm8, m256, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[2]), addr(v[1]), 0) + m.emit(0x04) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPS imm8, m512/m32bcst, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x04) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPS m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x0c) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMILPS imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x04) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPS zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x0c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMILPS imm8, m128/m32bcst, xmm{k}{z} + if isImm8(v0) && isM128M32bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x04) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPS imm8, m256/m32bcst, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x04) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPS m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x0c) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMILPS imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x08) + m.emit(0x04) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPS xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x0c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMILPS m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x0c) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMILPS imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x04) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMILPS ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x0c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMILPS") + } + return p +} + +// VPERMPD performs "Permute Double-Precision Floating-Point Elements". +// +// Mnemonic : VPERMPD +// Supported forms : (10 forms) +// +// * VPERMPD imm8, ymm, ymm [AVX2] +// * VPERMPD imm8, m256, ymm [AVX2] +// * VPERMPD imm8, m512/m64bcst, zmm{k}{z} [AVX512F] +// * VPERMPD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMPD imm8, zmm, zmm{k}{z} [AVX512F] +// * VPERMPD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMPD imm8, m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMPD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMPD imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMPD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMPD", 3, Operands { v0, v1, v2 }) + // VPERMPD imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xfd) + m.emit(0x01) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMPD imm8, m256, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[2]), addr(v[1]), 0) + m.emit(0x01) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMPD imm8, m512/m64bcst, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x01) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMPD m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x16) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMPD imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x01) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMPD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x16) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMPD imm8, m256/m64bcst, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x01) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMPD m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x16) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMPD imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x01) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMPD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x16) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMPD") + } + return p +} + +// VPERMPS performs "Permute Single-Precision Floating-Point Elements". +// +// Mnemonic : VPERMPS +// Supported forms : (6 forms) +// +// * VPERMPS ymm, ymm, ymm [AVX2] +// * VPERMPS m256, ymm, ymm [AVX2] +// * VPERMPS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMPS zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMPS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMPS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMPS", 3, Operands { v0, v1, v2 }) + // VPERMPS ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x16) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMPS m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x16) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPERMPS m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x16) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMPS zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x16) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMPS m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x16) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMPS ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x16) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMPS") + } + return p +} + +// VPERMQ performs "Permute Quadword Integers". +// +// Mnemonic : VPERMQ +// Supported forms : (10 forms) +// +// * VPERMQ imm8, ymm, ymm [AVX2] +// * VPERMQ imm8, m256, ymm [AVX2] +// * VPERMQ imm8, m512/m64bcst, zmm{k}{z} [AVX512F] +// * VPERMQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMQ imm8, zmm, zmm{k}{z} [AVX512F] +// * VPERMQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMQ imm8, m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMQ imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMQ", 3, Operands { v0, v1, v2 }) + // VPERMQ imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xfd) + m.emit(0x00) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMQ imm8, m256, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x85, hcode(v[2]), addr(v[1]), 0) + m.emit(0x00) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMQ imm8, m512/m64bcst, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x00) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x36) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMQ imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x00) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x36) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMQ imm8, m256/m64bcst, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x00) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x36) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMQ imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x00) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPERMQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x36) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMQ") + } + return p +} + +// VPERMT2B performs "Full Permute of Bytes From Two Tables Overwriting a Table". +// +// Mnemonic : VPERMT2B +// Supported forms : (6 forms) +// +// * VPERMT2B xmm, xmm, xmm{k}{z} [AVX512VBMI,AVX512VL] +// * VPERMT2B m128, xmm, xmm{k}{z} [AVX512VBMI,AVX512VL] +// * VPERMT2B ymm, ymm, ymm{k}{z} [AVX512VBMI,AVX512VL] +// * VPERMT2B m256, ymm, ymm{k}{z} [AVX512VBMI,AVX512VL] +// * VPERMT2B zmm, zmm, zmm{k}{z} [AVX512VBMI] +// * VPERMT2B m512, zmm, zmm{k}{z} [AVX512VBMI] +// +func (self *Program) VPERMT2B(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMT2B", 3, Operands { v0, v1, v2 }) + // VPERMT2B xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2B m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x7d) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMT2B ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2B m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x7d) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMT2B zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2B m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x7d) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMT2B") + } + return p +} + +// VPERMT2D performs "Full Permute of Doublewords From Two Tables Overwriting a Table". +// +// Mnemonic : VPERMT2D +// Supported forms : (6 forms) +// +// * VPERMT2D m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMT2D zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMT2D m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMT2D xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMT2D m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMT2D ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMT2D(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMT2D", 3, Operands { v0, v1, v2 }) + // VPERMT2D m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x7e) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMT2D zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2D m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x7e) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMT2D xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2D m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x7e) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMT2D ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMT2D") + } + return p +} + +// VPERMT2PD performs "Full Permute of Double-Precision Floating-Point Values From Two Tables Overwriting a Table". +// +// Mnemonic : VPERMT2PD +// Supported forms : (6 forms) +// +// * VPERMT2PD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMT2PD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMT2PD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMT2PD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMT2PD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMT2PD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMT2PD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMT2PD", 3, Operands { v0, v1, v2 }) + // VPERMT2PD m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x7f) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMT2PD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2PD m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x7f) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMT2PD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2PD m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x7f) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMT2PD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMT2PD") + } + return p +} + +// VPERMT2PS performs "Full Permute of Single-Precision Floating-Point Values From Two Tables Overwriting a Table". +// +// Mnemonic : VPERMT2PS +// Supported forms : (6 forms) +// +// * VPERMT2PS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMT2PS zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMT2PS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMT2PS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMT2PS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMT2PS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMT2PS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMT2PS", 3, Operands { v0, v1, v2 }) + // VPERMT2PS m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x7f) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMT2PS zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2PS m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x7f) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMT2PS xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2PS m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x7f) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMT2PS ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x7f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMT2PS") + } + return p +} + +// VPERMT2Q performs "Full Permute of Quadwords From Two Tables Overwriting a Table". +// +// Mnemonic : VPERMT2Q +// Supported forms : (6 forms) +// +// * VPERMT2Q m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPERMT2Q zmm, zmm, zmm{k}{z} [AVX512F] +// * VPERMT2Q m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMT2Q xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPERMT2Q m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPERMT2Q ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPERMT2Q(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMT2Q", 3, Operands { v0, v1, v2 }) + // VPERMT2Q m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x7e) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMT2Q zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2Q m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x7e) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMT2Q xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2Q m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x7e) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPERMT2Q ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x7e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMT2Q") + } + return p +} + +// VPERMT2W performs "Full Permute of Words From Two Tables Overwriting a Table". +// +// Mnemonic : VPERMT2W +// Supported forms : (6 forms) +// +// * VPERMT2W zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPERMT2W m512, zmm, zmm{k}{z} [AVX512BW] +// * VPERMT2W xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPERMT2W m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPERMT2W ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPERMT2W m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPERMT2W(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMT2W", 3, Operands { v0, v1, v2 }) + // VPERMT2W zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2W m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x7d) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMT2W xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2W m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x7d) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMT2W ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x7d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMT2W m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x7d) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMT2W") + } + return p +} + +// VPERMW performs "Permute Word Integers". +// +// Mnemonic : VPERMW +// Supported forms : (6 forms) +// +// * VPERMW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPERMW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPERMW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPERMW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPERMW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPERMW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPERMW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPERMW", 3, Operands { v0, v1, v2 }) + // VPERMW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x8d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x8d) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPERMW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x8d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x8d) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPERMW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x8d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPERMW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x8d) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPERMW") + } + return p +} + +// VPEXPANDD performs "Load Sparse Packed Doubleword Integer Values from Dense Memory/Register". +// +// Mnemonic : VPEXPANDD +// Supported forms : (6 forms) +// +// * VPEXPANDD zmm, zmm{k}{z} [AVX512F] +// * VPEXPANDD m512, zmm{k}{z} [AVX512F] +// * VPEXPANDD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPEXPANDD ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPEXPANDD m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VPEXPANDD m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPEXPANDD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPEXPANDD", 2, Operands { v0, v1 }) + // VPEXPANDD zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x89) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPEXPANDD m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x89) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VPEXPANDD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x89) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPEXPANDD ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x89) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPEXPANDD m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x89) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VPEXPANDD m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x89) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPEXPANDD") + } + return p +} + +// VPEXPANDQ performs "Load Sparse Packed Quadword Integer Values from Dense Memory/Register". +// +// Mnemonic : VPEXPANDQ +// Supported forms : (6 forms) +// +// * VPEXPANDQ zmm, zmm{k}{z} [AVX512F] +// * VPEXPANDQ m512, zmm{k}{z} [AVX512F] +// * VPEXPANDQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPEXPANDQ ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPEXPANDQ m128, xmm{k}{z} [AVX512F,AVX512VL] +// * VPEXPANDQ m256, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPEXPANDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPEXPANDQ", 2, Operands { v0, v1 }) + // VPEXPANDQ zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x89) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPEXPANDQ m512, zmm{k}{z} + if isM512(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x89) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPEXPANDQ xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x89) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPEXPANDQ ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x89) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPEXPANDQ m128, xmm{k}{z} + if isM128(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x89) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPEXPANDQ m256, ymm{k}{z} + if isM256(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x89) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPEXPANDQ") + } + return p +} + +// VPEXTRB performs "Extract Byte". +// +// Mnemonic : VPEXTRB +// Supported forms : (4 forms) +// +// * VPEXTRB imm8, xmm, r32 [AVX] +// * VPEXTRB imm8, xmm, m8 [AVX] +// * VPEXTRB imm8, xmm, r32 [AVX512BW] +// * VPEXTRB imm8, xmm, m8 [AVX512BW] +// +func (self *Program) VPEXTRB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPEXTRB", 3, Operands { v0, v1, v2 }) + // VPEXTRB imm8, xmm, r32 + if isImm8(v0) && isXMM(v1) && isReg32(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[1]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0x79) + m.emit(0x14) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VPEXTRB imm8, xmm, m8 + if isImm8(v0) && isXMM(v1) && isM8(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[1]), addr(v[2]), 0) + m.emit(0x14) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPEXTRB imm8, xmm, r32 + if isImm8(v0) && isEVEXXMM(v1) && isReg32(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit(0x08) + m.emit(0x14) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VPEXTRB imm8, xmm, m8 + if isImm8(v0) && isEVEXXMM(v1) && isM8(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[1]), addr(v[2]), 0, 0, 0, 0) + m.emit(0x14) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPEXTRB") + } + return p +} + +// VPEXTRD performs "Extract Doubleword". +// +// Mnemonic : VPEXTRD +// Supported forms : (4 forms) +// +// * VPEXTRD imm8, xmm, r32 [AVX] +// * VPEXTRD imm8, xmm, m32 [AVX] +// * VPEXTRD imm8, xmm, r32 [AVX512DQ] +// * VPEXTRD imm8, xmm, m32 [AVX512DQ] +// +func (self *Program) VPEXTRD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPEXTRD", 3, Operands { v0, v1, v2 }) + // VPEXTRD imm8, xmm, r32 + if isImm8(v0) && isXMM(v1) && isReg32(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[1]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0x79) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VPEXTRD imm8, xmm, m32 + if isImm8(v0) && isXMM(v1) && isM32(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[1]), addr(v[2]), 0) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPEXTRD imm8, xmm, r32 + if isImm8(v0) && isEVEXXMM(v1) && isReg32(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit(0x08) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VPEXTRD imm8, xmm, m32 + if isImm8(v0) && isEVEXXMM(v1) && isM32(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[1]), addr(v[2]), 0, 0, 0, 0) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[2]), 4) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPEXTRD") + } + return p +} + +// VPEXTRQ performs "Extract Quadword". +// +// Mnemonic : VPEXTRQ +// Supported forms : (4 forms) +// +// * VPEXTRQ imm8, xmm, r64 [AVX] +// * VPEXTRQ imm8, xmm, m64 [AVX] +// * VPEXTRQ imm8, xmm, r64 [AVX512DQ] +// * VPEXTRQ imm8, xmm, m64 [AVX512DQ] +// +func (self *Program) VPEXTRQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPEXTRQ", 3, Operands { v0, v1, v2 }) + // VPEXTRQ imm8, xmm, r64 + if isImm8(v0) && isXMM(v1) && isReg64(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[1]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0xf9) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VPEXTRQ imm8, xmm, m64 + if isImm8(v0) && isXMM(v1) && isM64(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[1]), addr(v[2]), 0) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPEXTRQ imm8, xmm, r64 + if isImm8(v0) && isEVEXXMM(v1) && isReg64(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit(0x08) + m.emit(0x16) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VPEXTRQ imm8, xmm, m64 + if isImm8(v0) && isEVEXXMM(v1) && isM64(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[1]), addr(v[2]), 0, 0, 0, 0) + m.emit(0x16) + m.mrsd(lcode(v[1]), addr(v[2]), 8) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPEXTRQ") + } + return p +} + +// VPEXTRW performs "Extract Word". +// +// Mnemonic : VPEXTRW +// Supported forms : (4 forms) +// +// * VPEXTRW imm8, xmm, r32 [AVX] +// * VPEXTRW imm8, xmm, m16 [AVX] +// * VPEXTRW imm8, xmm, r32 [AVX512BW] +// * VPEXTRW imm8, xmm, m16 [AVX512BW] +// +func (self *Program) VPEXTRW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPEXTRW", 3, Operands { v0, v1, v2 }) + // VPEXTRW imm8, xmm, r32 + if isImm8(v0) && isXMM(v1) && isReg32(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[1], 0) + m.emit(0xc5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[1]) << 7) ^ (hcode(v[2]) << 5)) + m.emit(0x79) + m.emit(0x15) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VPEXTRW imm8, xmm, m16 + if isImm8(v0) && isXMM(v1) && isM16(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[1]), addr(v[2]), 0) + m.emit(0x15) + m.mrsd(lcode(v[1]), addr(v[2]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPEXTRW imm8, xmm, r32 + if isImm8(v0) && isEVEXXMM(v1) && isReg32(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[1]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit(0x08) + m.emit(0x15) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit(0x08) + m.emit(0xc5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPEXTRW imm8, xmm, m16 + if isImm8(v0) && isEVEXXMM(v1) && isM16(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[1]), addr(v[2]), 0, 0, 0, 0) + m.emit(0x15) + m.mrsd(lcode(v[1]), addr(v[2]), 2) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPEXTRW") + } + return p +} + +// VPGATHERDD performs "Gather Packed Doubleword Values Using Signed Doubleword Indices". +// +// Mnemonic : VPGATHERDD +// Supported forms : (5 forms) +// +// * VPGATHERDD xmm, vm32x, xmm [AVX2] +// * VPGATHERDD ymm, vm32y, ymm [AVX2] +// * VPGATHERDD vm32z, zmm{k} [AVX512F] +// * VPGATHERDD vm32x, xmm{k} [AVX512F,AVX512VL] +// * VPGATHERDD vm32y, ymm{k} [AVX512F,AVX512VL] +// +func (self *Program) VPGATHERDD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VPGATHERDD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VPGATHERDD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VPGATHERDD takes 2 or 3 operands") + } + // VPGATHERDD xmm, vm32x, xmm + if len(vv) == 1 && isXMM(v0) && isVMX(v1) && isXMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x90) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VPGATHERDD ymm, vm32y, ymm + if len(vv) == 1 && isYMM(v0) && isVMY(v1) && isYMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x90) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VPGATHERDD vm32z, zmm{k} + if len(vv) == 0 && isVMZ(v0) && isZMMk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x90) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VPGATHERDD vm32x, xmm{k} + if len(vv) == 0 && isEVEXVMX(v0) && isXMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x90) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VPGATHERDD vm32y, ymm{k} + if len(vv) == 0 && isEVEXVMY(v0) && isYMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x90) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPGATHERDD") + } + return p +} + +// VPGATHERDQ performs "Gather Packed Quadword Values Using Signed Doubleword Indices". +// +// Mnemonic : VPGATHERDQ +// Supported forms : (5 forms) +// +// * VPGATHERDQ xmm, vm32x, xmm [AVX2] +// * VPGATHERDQ ymm, vm32x, ymm [AVX2] +// * VPGATHERDQ vm32y, zmm{k} [AVX512F] +// * VPGATHERDQ vm32x, xmm{k} [AVX512F,AVX512VL] +// * VPGATHERDQ vm32x, ymm{k} [AVX512F,AVX512VL] +// +func (self *Program) VPGATHERDQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VPGATHERDQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VPGATHERDQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VPGATHERDQ takes 2 or 3 operands") + } + // VPGATHERDQ xmm, vm32x, xmm + if len(vv) == 1 && isXMM(v0) && isVMX(v1) && isXMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x90) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VPGATHERDQ ymm, vm32x, ymm + if len(vv) == 1 && isYMM(v0) && isVMX(v1) && isYMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x90) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VPGATHERDQ vm32y, zmm{k} + if len(vv) == 0 && isEVEXVMY(v0) && isZMMk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x90) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPGATHERDQ vm32x, xmm{k} + if len(vv) == 0 && isEVEXVMX(v0) && isXMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x90) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPGATHERDQ vm32x, ymm{k} + if len(vv) == 0 && isEVEXVMX(v0) && isYMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x90) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPGATHERDQ") + } + return p +} + +// VPGATHERQD performs "Gather Packed Doubleword Values Using Signed Quadword Indices". +// +// Mnemonic : VPGATHERQD +// Supported forms : (5 forms) +// +// * VPGATHERQD xmm, vm64x, xmm [AVX2] +// * VPGATHERQD xmm, vm64y, xmm [AVX2] +// * VPGATHERQD vm64z, ymm{k} [AVX512F] +// * VPGATHERQD vm64x, xmm{k} [AVX512F,AVX512VL] +// * VPGATHERQD vm64y, xmm{k} [AVX512F,AVX512VL] +// +func (self *Program) VPGATHERQD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VPGATHERQD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VPGATHERQD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VPGATHERQD takes 2 or 3 operands") + } + // VPGATHERQD xmm, vm64x, xmm + if len(vv) == 1 && isXMM(v0) && isVMX(v1) && isXMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x91) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VPGATHERQD xmm, vm64y, xmm + if len(vv) == 1 && isXMM(v0) && isVMY(v1) && isXMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x91) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VPGATHERQD vm64z, ymm{k} + if len(vv) == 0 && isVMZ(v0) && isYMMk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x91) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VPGATHERQD vm64x, xmm{k} + if len(vv) == 0 && isEVEXVMX(v0) && isXMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x91) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VPGATHERQD vm64y, xmm{k} + if len(vv) == 0 && isEVEXVMY(v0) && isXMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x91) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPGATHERQD") + } + return p +} + +// VPGATHERQQ performs "Gather Packed Quadword Values Using Signed Quadword Indices". +// +// Mnemonic : VPGATHERQQ +// Supported forms : (5 forms) +// +// * VPGATHERQQ xmm, vm64x, xmm [AVX2] +// * VPGATHERQQ ymm, vm64y, ymm [AVX2] +// * VPGATHERQQ vm64z, zmm{k} [AVX512F] +// * VPGATHERQQ vm64x, xmm{k} [AVX512F,AVX512VL] +// * VPGATHERQQ vm64y, ymm{k} [AVX512F,AVX512VL] +// +func (self *Program) VPGATHERQQ(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VPGATHERQQ", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VPGATHERQQ", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VPGATHERQQ takes 2 or 3 operands") + } + // VPGATHERQQ xmm, vm64x, xmm + if len(vv) == 1 && isXMM(v0) && isVMX(v1) && isXMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x91) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VPGATHERQQ ymm, vm64y, ymm + if len(vv) == 1 && isYMM(v0) && isVMY(v1) && isYMM(vv[0]) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x91) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + // VPGATHERQQ vm64z, zmm{k} + if len(vv) == 0 && isVMZ(v0) && isZMMk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x91) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPGATHERQQ vm64x, xmm{k} + if len(vv) == 0 && isEVEXVMX(v0) && isXMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x91) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPGATHERQQ vm64y, ymm{k} + if len(vv) == 0 && isEVEXVMY(v0) && isYMMk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), 0, 0) + m.emit(0x91) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPGATHERQQ") + } + return p +} + +// VPHADDBD performs "Packed Horizontal Add Signed Byte to Signed Doubleword". +// +// Mnemonic : VPHADDBD +// Supported forms : (2 forms) +// +// * VPHADDBD xmm, xmm [XOP] +// * VPHADDBD m128, xmm [XOP] +// +func (self *Program) VPHADDBD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHADDBD", 2, Operands { v0, v1 }) + // VPHADDBD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHADDBD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xc2) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDBD") + } + return p +} + +// VPHADDBQ performs "Packed Horizontal Add Signed Byte to Signed Quadword". +// +// Mnemonic : VPHADDBQ +// Supported forms : (2 forms) +// +// * VPHADDBQ xmm, xmm [XOP] +// * VPHADDBQ m128, xmm [XOP] +// +func (self *Program) VPHADDBQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHADDBQ", 2, Operands { v0, v1 }) + // VPHADDBQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xc3) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHADDBQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xc3) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDBQ") + } + return p +} + +// VPHADDBW performs "Packed Horizontal Add Signed Byte to Signed Word". +// +// Mnemonic : VPHADDBW +// Supported forms : (2 forms) +// +// * VPHADDBW xmm, xmm [XOP] +// * VPHADDBW m128, xmm [XOP] +// +func (self *Program) VPHADDBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHADDBW", 2, Operands { v0, v1 }) + // VPHADDBW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xc1) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHADDBW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xc1) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDBW") + } + return p +} + +// VPHADDD performs "Packed Horizontal Add Doubleword Integer". +// +// Mnemonic : VPHADDD +// Supported forms : (4 forms) +// +// * VPHADDD xmm, xmm, xmm [AVX] +// * VPHADDD m128, xmm, xmm [AVX] +// * VPHADDD ymm, ymm, ymm [AVX2] +// * VPHADDD m256, ymm, ymm [AVX2] +// +func (self *Program) VPHADDD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPHADDD", 3, Operands { v0, v1, v2 }) + // VPHADDD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x02) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPHADDD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x02) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPHADDD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x02) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPHADDD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x02) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDD") + } + return p +} + +// VPHADDDQ performs "Packed Horizontal Add Signed Doubleword to Signed Quadword". +// +// Mnemonic : VPHADDDQ +// Supported forms : (2 forms) +// +// * VPHADDDQ xmm, xmm [XOP] +// * VPHADDDQ m128, xmm [XOP] +// +func (self *Program) VPHADDDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHADDDQ", 2, Operands { v0, v1 }) + // VPHADDDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xcb) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHADDDQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xcb) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDDQ") + } + return p +} + +// VPHADDSW performs "Packed Horizontal Add Signed Word Integers with Signed Saturation". +// +// Mnemonic : VPHADDSW +// Supported forms : (4 forms) +// +// * VPHADDSW xmm, xmm, xmm [AVX] +// * VPHADDSW m128, xmm, xmm [AVX] +// * VPHADDSW ymm, ymm, ymm [AVX2] +// * VPHADDSW m256, ymm, ymm [AVX2] +// +func (self *Program) VPHADDSW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPHADDSW", 3, Operands { v0, v1, v2 }) + // VPHADDSW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x03) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPHADDSW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x03) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPHADDSW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x03) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPHADDSW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x03) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDSW") + } + return p +} + +// VPHADDUBD performs "Packed Horizontal Add Unsigned Byte to Doubleword". +// +// Mnemonic : VPHADDUBD +// Supported forms : (2 forms) +// +// * VPHADDUBD xmm, xmm [XOP] +// * VPHADDUBD m128, xmm [XOP] +// +func (self *Program) VPHADDUBD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHADDUBD", 2, Operands { v0, v1 }) + // VPHADDUBD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xd2) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHADDUBD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xd2) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDUBD") + } + return p +} + +// VPHADDUBQ performs "Packed Horizontal Add Unsigned Byte to Quadword". +// +// Mnemonic : VPHADDUBQ +// Supported forms : (2 forms) +// +// * VPHADDUBQ xmm, xmm [XOP] +// * VPHADDUBQ m128, xmm [XOP] +// +func (self *Program) VPHADDUBQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHADDUBQ", 2, Operands { v0, v1 }) + // VPHADDUBQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xd3) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHADDUBQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xd3) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDUBQ") + } + return p +} + +// VPHADDUBW performs "Packed Horizontal Add Unsigned Byte to Word". +// +// Mnemonic : VPHADDUBW +// Supported forms : (2 forms) +// +// * VPHADDUBW xmm, xmm [XOP] +// * VPHADDUBW m128, xmm [XOP] +// +func (self *Program) VPHADDUBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHADDUBW", 2, Operands { v0, v1 }) + // VPHADDUBW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xd1) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHADDUBW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xd1) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDUBW") + } + return p +} + +// VPHADDUDQ performs "Packed Horizontal Add Unsigned Doubleword to Quadword". +// +// Mnemonic : VPHADDUDQ +// Supported forms : (2 forms) +// +// * VPHADDUDQ xmm, xmm [XOP] +// * VPHADDUDQ m128, xmm [XOP] +// +func (self *Program) VPHADDUDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHADDUDQ", 2, Operands { v0, v1 }) + // VPHADDUDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xdb) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHADDUDQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xdb) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDUDQ") + } + return p +} + +// VPHADDUWD performs "Packed Horizontal Add Unsigned Word to Doubleword". +// +// Mnemonic : VPHADDUWD +// Supported forms : (2 forms) +// +// * VPHADDUWD xmm, xmm [XOP] +// * VPHADDUWD m128, xmm [XOP] +// +func (self *Program) VPHADDUWD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHADDUWD", 2, Operands { v0, v1 }) + // VPHADDUWD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xd6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHADDUWD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xd6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDUWD") + } + return p +} + +// VPHADDUWQ performs "Packed Horizontal Add Unsigned Word to Quadword". +// +// Mnemonic : VPHADDUWQ +// Supported forms : (2 forms) +// +// * VPHADDUWQ xmm, xmm [XOP] +// * VPHADDUWQ m128, xmm [XOP] +// +func (self *Program) VPHADDUWQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHADDUWQ", 2, Operands { v0, v1 }) + // VPHADDUWQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xd7) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHADDUWQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xd7) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDUWQ") + } + return p +} + +// VPHADDW performs "Packed Horizontal Add Word Integers". +// +// Mnemonic : VPHADDW +// Supported forms : (4 forms) +// +// * VPHADDW xmm, xmm, xmm [AVX] +// * VPHADDW m128, xmm, xmm [AVX] +// * VPHADDW ymm, ymm, ymm [AVX2] +// * VPHADDW m256, ymm, ymm [AVX2] +// +func (self *Program) VPHADDW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPHADDW", 3, Operands { v0, v1, v2 }) + // VPHADDW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPHADDW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPHADDW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x01) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPHADDW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x01) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDW") + } + return p +} + +// VPHADDWD performs "Packed Horizontal Add Signed Word to Signed Doubleword". +// +// Mnemonic : VPHADDWD +// Supported forms : (2 forms) +// +// * VPHADDWD xmm, xmm [XOP] +// * VPHADDWD m128, xmm [XOP] +// +func (self *Program) VPHADDWD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHADDWD", 2, Operands { v0, v1 }) + // VPHADDWD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHADDWD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xc6) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDWD") + } + return p +} + +// VPHADDWQ performs "Packed Horizontal Add Signed Word to Signed Quadword". +// +// Mnemonic : VPHADDWQ +// Supported forms : (2 forms) +// +// * VPHADDWQ xmm, xmm [XOP] +// * VPHADDWQ m128, xmm [XOP] +// +func (self *Program) VPHADDWQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHADDWQ", 2, Operands { v0, v1 }) + // VPHADDWQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xc7) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHADDWQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xc7) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHADDWQ") + } + return p +} + +// VPHMINPOSUW performs "Packed Horizontal Minimum of Unsigned Word Integers". +// +// Mnemonic : VPHMINPOSUW +// Supported forms : (2 forms) +// +// * VPHMINPOSUW xmm, xmm [AVX] +// * VPHMINPOSUW m128, xmm [AVX] +// +func (self *Program) VPHMINPOSUW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHMINPOSUW", 2, Operands { v0, v1 }) + // VPHMINPOSUW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x41) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHMINPOSUW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x41) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHMINPOSUW") + } + return p +} + +// VPHSUBBW performs "Packed Horizontal Subtract Signed Byte to Signed Word". +// +// Mnemonic : VPHSUBBW +// Supported forms : (2 forms) +// +// * VPHSUBBW xmm, xmm [XOP] +// * VPHSUBBW m128, xmm [XOP] +// +func (self *Program) VPHSUBBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHSUBBW", 2, Operands { v0, v1 }) + // VPHSUBBW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xe1) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHSUBBW m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xe1) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHSUBBW") + } + return p +} + +// VPHSUBD performs "Packed Horizontal Subtract Doubleword Integers". +// +// Mnemonic : VPHSUBD +// Supported forms : (4 forms) +// +// * VPHSUBD xmm, xmm, xmm [AVX] +// * VPHSUBD m128, xmm, xmm [AVX] +// * VPHSUBD ymm, ymm, ymm [AVX2] +// * VPHSUBD m256, ymm, ymm [AVX2] +// +func (self *Program) VPHSUBD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPHSUBD", 3, Operands { v0, v1, v2 }) + // VPHSUBD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x06) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPHSUBD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x06) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPHSUBD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x06) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPHSUBD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x06) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHSUBD") + } + return p +} + +// VPHSUBDQ performs "Packed Horizontal Subtract Signed Doubleword to Signed Quadword". +// +// Mnemonic : VPHSUBDQ +// Supported forms : (2 forms) +// +// * VPHSUBDQ xmm, xmm [XOP] +// * VPHSUBDQ m128, xmm [XOP] +// +func (self *Program) VPHSUBDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHSUBDQ", 2, Operands { v0, v1 }) + // VPHSUBDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xe3) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHSUBDQ m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xe3) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHSUBDQ") + } + return p +} + +// VPHSUBSW performs "Packed Horizontal Subtract Signed Word Integers with Signed Saturation". +// +// Mnemonic : VPHSUBSW +// Supported forms : (4 forms) +// +// * VPHSUBSW xmm, xmm, xmm [AVX] +// * VPHSUBSW m128, xmm, xmm [AVX] +// * VPHSUBSW ymm, ymm, ymm [AVX2] +// * VPHSUBSW m256, ymm, ymm [AVX2] +// +func (self *Program) VPHSUBSW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPHSUBSW", 3, Operands { v0, v1, v2 }) + // VPHSUBSW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x07) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPHSUBSW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x07) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPHSUBSW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x07) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPHSUBSW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x07) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHSUBSW") + } + return p +} + +// VPHSUBW performs "Packed Horizontal Subtract Word Integers". +// +// Mnemonic : VPHSUBW +// Supported forms : (4 forms) +// +// * VPHSUBW xmm, xmm, xmm [AVX] +// * VPHSUBW m128, xmm, xmm [AVX] +// * VPHSUBW ymm, ymm, ymm [AVX2] +// * VPHSUBW m256, ymm, ymm [AVX2] +// +func (self *Program) VPHSUBW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPHSUBW", 3, Operands { v0, v1, v2 }) + // VPHSUBW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x05) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPHSUBW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x05) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPHSUBW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x05) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPHSUBW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x05) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHSUBW") + } + return p +} + +// VPHSUBWD performs "Packed Horizontal Subtract Signed Word to Signed Doubleword". +// +// Mnemonic : VPHSUBWD +// Supported forms : (2 forms) +// +// * VPHSUBWD xmm, xmm [XOP] +// * VPHSUBWD m128, xmm [XOP] +// +func (self *Program) VPHSUBWD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPHSUBWD", 2, Operands { v0, v1 }) + // VPHSUBWD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x78) + m.emit(0xe2) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPHSUBWD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[1]), addr(v[0]), 0) + m.emit(0xe2) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPHSUBWD") + } + return p +} + +// VPINSRB performs "Insert Byte". +// +// Mnemonic : VPINSRB +// Supported forms : (4 forms) +// +// * VPINSRB imm8, r32, xmm, xmm [AVX] +// * VPINSRB imm8, m8, xmm, xmm [AVX] +// * VPINSRB imm8, r32, xmm, xmm [AVX512BW] +// * VPINSRB imm8, m8, xmm, xmm [AVX512BW] +// +func (self *Program) VPINSRB(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPINSRB", 4, Operands { v0, v1, v2, v3 }) + // VPINSRB imm8, r32, xmm, xmm + if isImm8(v0) && isReg32(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x20) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPINSRB imm8, m8, xmm, xmm + if isImm8(v0) && isM8(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x20) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPINSRB imm8, r32, xmm, xmm + if isImm8(v0) && isReg32(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | 0x00) + m.emit(0x20) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPINSRB imm8, m8, xmm, xmm + if isImm8(v0) && isM8(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), 0, 0, 0) + m.emit(0x20) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPINSRB") + } + return p +} + +// VPINSRD performs "Insert Doubleword". +// +// Mnemonic : VPINSRD +// Supported forms : (4 forms) +// +// * VPINSRD imm8, r32, xmm, xmm [AVX] +// * VPINSRD imm8, m32, xmm, xmm [AVX] +// * VPINSRD imm8, r32, xmm, xmm [AVX512DQ] +// * VPINSRD imm8, m32, xmm, xmm [AVX512DQ] +// +func (self *Program) VPINSRD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPINSRD", 4, Operands { v0, v1, v2, v3 }) + // VPINSRD imm8, r32, xmm, xmm + if isImm8(v0) && isReg32(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x22) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPINSRD imm8, m32, xmm, xmm + if isImm8(v0) && isM32(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x22) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPINSRD imm8, r32, xmm, xmm + if isImm8(v0) && isReg32(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | 0x00) + m.emit(0x22) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPINSRD imm8, m32, xmm, xmm + if isImm8(v0) && isM32(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), 0, 0, 0) + m.emit(0x22) + m.mrsd(lcode(v[3]), addr(v[1]), 4) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPINSRD") + } + return p +} + +// VPINSRQ performs "Insert Quadword". +// +// Mnemonic : VPINSRQ +// Supported forms : (4 forms) +// +// * VPINSRQ imm8, r64, xmm, xmm [AVX] +// * VPINSRQ imm8, m64, xmm, xmm [AVX] +// * VPINSRQ imm8, r64, xmm, xmm [AVX512DQ] +// * VPINSRQ imm8, m64, xmm, xmm [AVX512DQ] +// +func (self *Program) VPINSRQ(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPINSRQ", 4, Operands { v0, v1, v2, v3 }) + // VPINSRQ imm8, r64, xmm, xmm + if isImm8(v0) && isReg64(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0xf9 ^ (hlcode(v[2]) << 3)) + m.emit(0x22) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPINSRQ imm8, m64, xmm, xmm + if isImm8(v0) && isM64(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x81, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x22) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPINSRQ imm8, r64, xmm, xmm + if isImm8(v0) && isReg64(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | 0x00) + m.emit(0x22) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPINSRQ imm8, m64, xmm, xmm + if isImm8(v0) && isM64(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), 0, 0, 0) + m.emit(0x22) + m.mrsd(lcode(v[3]), addr(v[1]), 8) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPINSRQ") + } + return p +} + +// VPINSRW performs "Insert Word". +// +// Mnemonic : VPINSRW +// Supported forms : (4 forms) +// +// * VPINSRW imm8, r32, xmm, xmm [AVX] +// * VPINSRW imm8, m16, xmm, xmm [AVX] +// * VPINSRW imm8, r32, xmm, xmm [AVX512BW] +// * VPINSRW imm8, m16, xmm, xmm [AVX512BW] +// +func (self *Program) VPINSRW(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPINSRW", 4, Operands { v0, v1, v2, v3 }) + // VPINSRW imm8, r32, xmm, xmm + if isImm8(v0) && isReg32(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[3]), v[1], hlcode(v[2])) + m.emit(0xc4) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPINSRW imm8, m16, xmm, xmm + if isImm8(v0) && isM16(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xc4) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPINSRW imm8, r32, xmm, xmm + if isImm8(v0) && isReg32(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | 0x00) + m.emit(0xc4) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPINSRW imm8, m16, xmm, xmm + if isImm8(v0) && isM16(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), 0, 0, 0) + m.emit(0xc4) + m.mrsd(lcode(v[3]), addr(v[1]), 2) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPINSRW") + } + return p +} + +// VPLZCNTD performs "Count the Number of Leading Zero Bits for Packed Doubleword Values". +// +// Mnemonic : VPLZCNTD +// Supported forms : (6 forms) +// +// * VPLZCNTD m128/m32bcst, xmm{k}{z} [AVX512CD,AVX512VL] +// * VPLZCNTD m256/m32bcst, ymm{k}{z} [AVX512CD,AVX512VL] +// * VPLZCNTD m512/m32bcst, zmm{k}{z} [AVX512CD] +// * VPLZCNTD xmm, xmm{k}{z} [AVX512CD,AVX512VL] +// * VPLZCNTD ymm, ymm{k}{z} [AVX512CD,AVX512VL] +// * VPLZCNTD zmm, zmm{k}{z} [AVX512CD] +// +func (self *Program) VPLZCNTD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPLZCNTD", 2, Operands { v0, v1 }) + // VPLZCNTD m128/m32bcst, xmm{k}{z} + if isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x44) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VPLZCNTD m256/m32bcst, ymm{k}{z} + if isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x44) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VPLZCNTD m512/m32bcst, zmm{k}{z} + if isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x44) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VPLZCNTD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPLZCNTD ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPLZCNTD zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPLZCNTD") + } + return p +} + +// VPLZCNTQ performs "Count the Number of Leading Zero Bits for Packed Quadword Values". +// +// Mnemonic : VPLZCNTQ +// Supported forms : (6 forms) +// +// * VPLZCNTQ m128/m64bcst, xmm{k}{z} [AVX512CD,AVX512VL] +// * VPLZCNTQ m256/m64bcst, ymm{k}{z} [AVX512CD,AVX512VL] +// * VPLZCNTQ m512/m64bcst, zmm{k}{z} [AVX512CD] +// * VPLZCNTQ xmm, xmm{k}{z} [AVX512CD,AVX512VL] +// * VPLZCNTQ ymm, ymm{k}{z} [AVX512CD,AVX512VL] +// * VPLZCNTQ zmm, zmm{k}{z} [AVX512CD] +// +func (self *Program) VPLZCNTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPLZCNTQ", 2, Operands { v0, v1 }) + // VPLZCNTQ m128/m64bcst, xmm{k}{z} + if isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x44) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VPLZCNTQ m256/m64bcst, ymm{k}{z} + if isM256M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x44) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VPLZCNTQ m512/m64bcst, zmm{k}{z} + if isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x44) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VPLZCNTQ xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPLZCNTQ ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPLZCNTQ zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512CD) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x44) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPLZCNTQ") + } + return p +} + +// VPMACSDD performs "Packed Multiply Accumulate Signed Doubleword to Signed Doubleword". +// +// Mnemonic : VPMACSDD +// Supported forms : (2 forms) +// +// * VPMACSDD xmm, xmm, xmm, xmm [XOP] +// * VPMACSDD xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPMACSDD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPMACSDD", 4, Operands { v0, v1, v2, v3 }) + // VPMACSDD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0x9e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPMACSDD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x9e) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMACSDD") + } + return p +} + +// VPMACSDQH performs "Packed Multiply Accumulate Signed High Doubleword to Signed Quadword". +// +// Mnemonic : VPMACSDQH +// Supported forms : (2 forms) +// +// * VPMACSDQH xmm, xmm, xmm, xmm [XOP] +// * VPMACSDQH xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPMACSDQH(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPMACSDQH", 4, Operands { v0, v1, v2, v3 }) + // VPMACSDQH xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0x9f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPMACSDQH xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x9f) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMACSDQH") + } + return p +} + +// VPMACSDQL performs "Packed Multiply Accumulate Signed Low Doubleword to Signed Quadword". +// +// Mnemonic : VPMACSDQL +// Supported forms : (2 forms) +// +// * VPMACSDQL xmm, xmm, xmm, xmm [XOP] +// * VPMACSDQL xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPMACSDQL(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPMACSDQL", 4, Operands { v0, v1, v2, v3 }) + // VPMACSDQL xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0x97) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPMACSDQL xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x97) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMACSDQL") + } + return p +} + +// VPMACSSDD performs "Packed Multiply Accumulate with Saturation Signed Doubleword to Signed Doubleword". +// +// Mnemonic : VPMACSSDD +// Supported forms : (2 forms) +// +// * VPMACSSDD xmm, xmm, xmm, xmm [XOP] +// * VPMACSSDD xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPMACSSDD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPMACSSDD", 4, Operands { v0, v1, v2, v3 }) + // VPMACSSDD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0x8e) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPMACSSDD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x8e) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMACSSDD") + } + return p +} + +// VPMACSSDQH performs "Packed Multiply Accumulate with Saturation Signed High Doubleword to Signed Quadword". +// +// Mnemonic : VPMACSSDQH +// Supported forms : (2 forms) +// +// * VPMACSSDQH xmm, xmm, xmm, xmm [XOP] +// * VPMACSSDQH xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPMACSSDQH(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPMACSSDQH", 4, Operands { v0, v1, v2, v3 }) + // VPMACSSDQH xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0x8f) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPMACSSDQH xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x8f) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMACSSDQH") + } + return p +} + +// VPMACSSDQL performs "Packed Multiply Accumulate with Saturation Signed Low Doubleword to Signed Quadword". +// +// Mnemonic : VPMACSSDQL +// Supported forms : (2 forms) +// +// * VPMACSSDQL xmm, xmm, xmm, xmm [XOP] +// * VPMACSSDQL xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPMACSSDQL(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPMACSSDQL", 4, Operands { v0, v1, v2, v3 }) + // VPMACSSDQL xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0x87) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPMACSSDQL xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x87) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMACSSDQL") + } + return p +} + +// VPMACSSWD performs "Packed Multiply Accumulate with Saturation Signed Word to Signed Doubleword". +// +// Mnemonic : VPMACSSWD +// Supported forms : (2 forms) +// +// * VPMACSSWD xmm, xmm, xmm, xmm [XOP] +// * VPMACSSWD xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPMACSSWD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPMACSSWD", 4, Operands { v0, v1, v2, v3 }) + // VPMACSSWD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0x86) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPMACSSWD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x86) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMACSSWD") + } + return p +} + +// VPMACSSWW performs "Packed Multiply Accumulate with Saturation Signed Word to Signed Word". +// +// Mnemonic : VPMACSSWW +// Supported forms : (2 forms) +// +// * VPMACSSWW xmm, xmm, xmm, xmm [XOP] +// * VPMACSSWW xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPMACSSWW(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPMACSSWW", 4, Operands { v0, v1, v2, v3 }) + // VPMACSSWW xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0x85) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPMACSSWW xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x85) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMACSSWW") + } + return p +} + +// VPMACSWD performs "Packed Multiply Accumulate Signed Word to Signed Doubleword". +// +// Mnemonic : VPMACSWD +// Supported forms : (2 forms) +// +// * VPMACSWD xmm, xmm, xmm, xmm [XOP] +// * VPMACSWD xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPMACSWD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPMACSWD", 4, Operands { v0, v1, v2, v3 }) + // VPMACSWD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0x96) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPMACSWD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x96) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMACSWD") + } + return p +} + +// VPMACSWW performs "Packed Multiply Accumulate Signed Word to Signed Word". +// +// Mnemonic : VPMACSWW +// Supported forms : (2 forms) +// +// * VPMACSWW xmm, xmm, xmm, xmm [XOP] +// * VPMACSWW xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPMACSWW(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPMACSWW", 4, Operands { v0, v1, v2, v3 }) + // VPMACSWW xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0x95) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPMACSWW xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x95) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMACSWW") + } + return p +} + +// VPMADCSSWD performs "Packed Multiply Add Accumulate with Saturation Signed Word to Signed Doubleword". +// +// Mnemonic : VPMADCSSWD +// Supported forms : (2 forms) +// +// * VPMADCSSWD xmm, xmm, xmm, xmm [XOP] +// * VPMADCSSWD xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPMADCSSWD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPMADCSSWD", 4, Operands { v0, v1, v2, v3 }) + // VPMADCSSWD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0xa6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPMADCSSWD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xa6) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMADCSSWD") + } + return p +} + +// VPMADCSWD performs "Packed Multiply Add Accumulate Signed Word to Signed Doubleword". +// +// Mnemonic : VPMADCSWD +// Supported forms : (2 forms) +// +// * VPMADCSWD xmm, xmm, xmm, xmm [XOP] +// * VPMADCSWD xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPMADCSWD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPMADCSWD", 4, Operands { v0, v1, v2, v3 }) + // VPMADCSWD xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0xb6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + } + // VPMADCSWD xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xb6) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMADCSWD") + } + return p +} + +// VPMADD52HUQ performs "Packed Multiply of Unsigned 52-bit Unsigned Integers and Add High 52-bit Products to Quadword Accumulators". +// +// Mnemonic : VPMADD52HUQ +// Supported forms : (6 forms) +// +// * VPMADD52HUQ m128/m64bcst, xmm, xmm{k}{z} [AVX512IFMA,AVX512VL] +// * VPMADD52HUQ xmm, xmm, xmm{k}{z} [AVX512IFMA,AVX512VL] +// * VPMADD52HUQ m256/m64bcst, ymm, ymm{k}{z} [AVX512IFMA,AVX512VL] +// * VPMADD52HUQ ymm, ymm, ymm{k}{z} [AVX512IFMA,AVX512VL] +// * VPMADD52HUQ m512/m64bcst, zmm, zmm{k}{z} [AVX512IFMA] +// * VPMADD52HUQ zmm, zmm, zmm{k}{z} [AVX512IFMA] +// +func (self *Program) VPMADD52HUQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMADD52HUQ", 3, Operands { v0, v1, v2 }) + // VPMADD52HUQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512IFMA | ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb5) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMADD52HUQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512IFMA | ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xb5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADD52HUQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512IFMA | ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb5) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMADD52HUQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512IFMA | ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xb5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADD52HUQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512IFMA) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb5) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMADD52HUQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512IFMA) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xb5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMADD52HUQ") + } + return p +} + +// VPMADD52LUQ performs "Packed Multiply of Unsigned 52-bit Integers and Add the Low 52-bit Products to Quadword Accumulators". +// +// Mnemonic : VPMADD52LUQ +// Supported forms : (6 forms) +// +// * VPMADD52LUQ m128/m64bcst, xmm, xmm{k}{z} [AVX512IFMA,AVX512VL] +// * VPMADD52LUQ xmm, xmm, xmm{k}{z} [AVX512IFMA,AVX512VL] +// * VPMADD52LUQ m256/m64bcst, ymm, ymm{k}{z} [AVX512IFMA,AVX512VL] +// * VPMADD52LUQ ymm, ymm, ymm{k}{z} [AVX512IFMA,AVX512VL] +// * VPMADD52LUQ m512/m64bcst, zmm, zmm{k}{z} [AVX512IFMA] +// * VPMADD52LUQ zmm, zmm, zmm{k}{z} [AVX512IFMA] +// +func (self *Program) VPMADD52LUQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMADD52LUQ", 3, Operands { v0, v1, v2 }) + // VPMADD52LUQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512IFMA | ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb4) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMADD52LUQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512IFMA | ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xb4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADD52LUQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512IFMA | ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb4) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMADD52LUQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512IFMA | ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xb4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADD52LUQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512IFMA) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xb4) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMADD52LUQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512IFMA) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xb4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMADD52LUQ") + } + return p +} + +// VPMADDUBSW performs "Multiply and Add Packed Signed and Unsigned Byte Integers". +// +// Mnemonic : VPMADDUBSW +// Supported forms : (10 forms) +// +// * VPMADDUBSW xmm, xmm, xmm [AVX] +// * VPMADDUBSW m128, xmm, xmm [AVX] +// * VPMADDUBSW ymm, ymm, ymm [AVX2] +// * VPMADDUBSW m256, ymm, ymm [AVX2] +// * VPMADDUBSW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMADDUBSW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMADDUBSW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMADDUBSW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMADDUBSW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMADDUBSW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMADDUBSW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMADDUBSW", 3, Operands { v0, v1, v2 }) + // VPMADDUBSW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x04) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADDUBSW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x04) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMADDUBSW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x04) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADDUBSW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x04) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMADDUBSW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x04) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADDUBSW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x04) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMADDUBSW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x04) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADDUBSW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x04) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMADDUBSW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x04) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADDUBSW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x04) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMADDUBSW") + } + return p +} + +// VPMADDWD performs "Multiply and Add Packed Signed Word Integers". +// +// Mnemonic : VPMADDWD +// Supported forms : (10 forms) +// +// * VPMADDWD xmm, xmm, xmm [AVX] +// * VPMADDWD m128, xmm, xmm [AVX] +// * VPMADDWD ymm, ymm, ymm [AVX2] +// * VPMADDWD m256, ymm, ymm [AVX2] +// * VPMADDWD zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMADDWD m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMADDWD xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMADDWD m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMADDWD ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMADDWD m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMADDWD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMADDWD", 3, Operands { v0, v1, v2 }) + // VPMADDWD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADDWD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf5) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMADDWD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADDWD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf5) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMADDWD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADDWD m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf5) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMADDWD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADDWD m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf5) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMADDWD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xf5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMADDWD m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf5) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMADDWD") + } + return p +} + +// VPMASKMOVD performs "Conditional Move Packed Doubleword Integers". +// +// Mnemonic : VPMASKMOVD +// Supported forms : (4 forms) +// +// * VPMASKMOVD m128, xmm, xmm [AVX2] +// * VPMASKMOVD m256, ymm, ymm [AVX2] +// * VPMASKMOVD xmm, xmm, m128 [AVX2] +// * VPMASKMOVD ymm, ymm, m256 [AVX2] +// +func (self *Program) VPMASKMOVD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMASKMOVD", 3, Operands { v0, v1, v2 }) + // VPMASKMOVD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x8c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMASKMOVD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x8c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMASKMOVD xmm, xmm, m128 + if isXMM(v0) && isXMM(v1) && isM128(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[0]), addr(v[2]), hlcode(v[1])) + m.emit(0x8e) + m.mrsd(lcode(v[0]), addr(v[2]), 1) + }) + } + // VPMASKMOVD ymm, ymm, m256 + if isYMM(v0) && isYMM(v1) && isM256(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[0]), addr(v[2]), hlcode(v[1])) + m.emit(0x8e) + m.mrsd(lcode(v[0]), addr(v[2]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPMASKMOVD") + } + return p +} + +// VPMASKMOVQ performs "Conditional Move Packed Quadword Integers". +// +// Mnemonic : VPMASKMOVQ +// Supported forms : (4 forms) +// +// * VPMASKMOVQ m128, xmm, xmm [AVX2] +// * VPMASKMOVQ m256, ymm, ymm [AVX2] +// * VPMASKMOVQ xmm, xmm, m128 [AVX2] +// * VPMASKMOVQ ymm, ymm, m256 [AVX2] +// +func (self *Program) VPMASKMOVQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMASKMOVQ", 3, Operands { v0, v1, v2 }) + // VPMASKMOVQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x8c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMASKMOVQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x8c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMASKMOVQ xmm, xmm, m128 + if isXMM(v0) && isXMM(v1) && isM128(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[0]), addr(v[2]), hlcode(v[1])) + m.emit(0x8e) + m.mrsd(lcode(v[0]), addr(v[2]), 1) + }) + } + // VPMASKMOVQ ymm, ymm, m256 + if isYMM(v0) && isYMM(v1) && isM256(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[0]), addr(v[2]), hlcode(v[1])) + m.emit(0x8e) + m.mrsd(lcode(v[0]), addr(v[2]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPMASKMOVQ") + } + return p +} + +// VPMAXSB performs "Maximum of Packed Signed Byte Integers". +// +// Mnemonic : VPMAXSB +// Supported forms : (10 forms) +// +// * VPMAXSB xmm, xmm, xmm [AVX] +// * VPMAXSB m128, xmm, xmm [AVX] +// * VPMAXSB ymm, ymm, ymm [AVX2] +// * VPMAXSB m256, ymm, ymm [AVX2] +// * VPMAXSB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMAXSB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMAXSB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMAXSB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMAXSB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMAXSB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMAXSB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMAXSB", 3, Operands { v0, v1, v2 }) + // VPMAXSB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x3c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x3c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMAXSB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x3c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x3c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMAXSB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x3c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x3c) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMAXSB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x3c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x3c) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMAXSB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x3c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x3c) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMAXSB") + } + return p +} + +// VPMAXSD performs "Maximum of Packed Signed Doubleword Integers". +// +// Mnemonic : VPMAXSD +// Supported forms : (10 forms) +// +// * VPMAXSD xmm, xmm, xmm [AVX] +// * VPMAXSD m128, xmm, xmm [AVX] +// * VPMAXSD ymm, ymm, ymm [AVX2] +// * VPMAXSD m256, ymm, ymm [AVX2] +// * VPMAXSD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPMAXSD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPMAXSD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMAXSD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMAXSD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMAXSD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMAXSD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMAXSD", 3, Operands { v0, v1, v2 }) + // VPMAXSD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x3d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x3d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMAXSD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x3d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x3d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMAXSD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3d) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMAXSD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x3d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3d) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMAXSD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x3d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3d) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMAXSD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x3d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMAXSD") + } + return p +} + +// VPMAXSQ performs "Maximum of Packed Signed Quadword Integers". +// +// Mnemonic : VPMAXSQ +// Supported forms : (6 forms) +// +// * VPMAXSQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPMAXSQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPMAXSQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMAXSQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMAXSQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMAXSQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMAXSQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMAXSQ", 3, Operands { v0, v1, v2 }) + // VPMAXSQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3d) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMAXSQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x3d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3d) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMAXSQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x3d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3d) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMAXSQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x3d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMAXSQ") + } + return p +} + +// VPMAXSW performs "Maximum of Packed Signed Word Integers". +// +// Mnemonic : VPMAXSW +// Supported forms : (10 forms) +// +// * VPMAXSW xmm, xmm, xmm [AVX] +// * VPMAXSW m128, xmm, xmm [AVX] +// * VPMAXSW ymm, ymm, ymm [AVX2] +// * VPMAXSW m256, ymm, ymm [AVX2] +// * VPMAXSW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMAXSW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMAXSW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMAXSW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMAXSW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMAXSW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMAXSW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMAXSW", 3, Operands { v0, v1, v2 }) + // VPMAXSW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xee) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xee) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMAXSW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xee) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xee) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMAXSW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xee) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xee) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMAXSW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xee) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xee) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMAXSW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xee) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXSW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xee) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMAXSW") + } + return p +} + +// VPMAXUB performs "Maximum of Packed Unsigned Byte Integers". +// +// Mnemonic : VPMAXUB +// Supported forms : (10 forms) +// +// * VPMAXUB xmm, xmm, xmm [AVX] +// * VPMAXUB m128, xmm, xmm [AVX] +// * VPMAXUB ymm, ymm, ymm [AVX2] +// * VPMAXUB m256, ymm, ymm [AVX2] +// * VPMAXUB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMAXUB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMAXUB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMAXUB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMAXUB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMAXUB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMAXUB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMAXUB", 3, Operands { v0, v1, v2 }) + // VPMAXUB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xde) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xde) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMAXUB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xde) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xde) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMAXUB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xde) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xde) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMAXUB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xde) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xde) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMAXUB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xde) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xde) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMAXUB") + } + return p +} + +// VPMAXUD performs "Maximum of Packed Unsigned Doubleword Integers". +// +// Mnemonic : VPMAXUD +// Supported forms : (10 forms) +// +// * VPMAXUD xmm, xmm, xmm [AVX] +// * VPMAXUD m128, xmm, xmm [AVX] +// * VPMAXUD ymm, ymm, ymm [AVX2] +// * VPMAXUD m256, ymm, ymm [AVX2] +// * VPMAXUD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPMAXUD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPMAXUD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMAXUD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMAXUD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMAXUD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMAXUD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMAXUD", 3, Operands { v0, v1, v2 }) + // VPMAXUD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x3f) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMAXUD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x3f) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMAXUD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3f) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMAXUD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3f) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMAXUD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3f) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMAXUD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMAXUD") + } + return p +} + +// VPMAXUQ performs "Maximum of Packed Unsigned Quadword Integers". +// +// Mnemonic : VPMAXUQ +// Supported forms : (6 forms) +// +// * VPMAXUQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPMAXUQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPMAXUQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMAXUQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMAXUQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMAXUQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMAXUQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMAXUQ", 3, Operands { v0, v1, v2 }) + // VPMAXUQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3f) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMAXUQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3f) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMAXUQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3f) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMAXUQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x3f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMAXUQ") + } + return p +} + +// VPMAXUW performs "Maximum of Packed Unsigned Word Integers". +// +// Mnemonic : VPMAXUW +// Supported forms : (10 forms) +// +// * VPMAXUW xmm, xmm, xmm [AVX] +// * VPMAXUW m128, xmm, xmm [AVX] +// * VPMAXUW ymm, ymm, ymm [AVX2] +// * VPMAXUW m256, ymm, ymm [AVX2] +// * VPMAXUW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMAXUW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMAXUW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMAXUW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMAXUW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMAXUW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMAXUW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMAXUW", 3, Operands { v0, v1, v2 }) + // VPMAXUW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x3e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x3e) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMAXUW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x3e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x3e) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMAXUW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x3e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x3e) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMAXUW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x3e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x3e) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMAXUW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x3e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMAXUW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x3e) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMAXUW") + } + return p +} + +// VPMINSB performs "Minimum of Packed Signed Byte Integers". +// +// Mnemonic : VPMINSB +// Supported forms : (10 forms) +// +// * VPMINSB xmm, xmm, xmm [AVX] +// * VPMINSB m128, xmm, xmm [AVX] +// * VPMINSB ymm, ymm, ymm [AVX2] +// * VPMINSB m256, ymm, ymm [AVX2] +// * VPMINSB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMINSB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMINSB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMINSB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMINSB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMINSB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMINSB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMINSB", 3, Operands { v0, v1, v2 }) + // VPMINSB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x38) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x38) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMINSB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x38) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x38) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMINSB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x38) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x38) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMINSB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x38) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x38) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMINSB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x38) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x38) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMINSB") + } + return p +} + +// VPMINSD performs "Minimum of Packed Signed Doubleword Integers". +// +// Mnemonic : VPMINSD +// Supported forms : (10 forms) +// +// * VPMINSD xmm, xmm, xmm [AVX] +// * VPMINSD m128, xmm, xmm [AVX] +// * VPMINSD ymm, ymm, ymm [AVX2] +// * VPMINSD m256, ymm, ymm [AVX2] +// * VPMINSD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPMINSD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPMINSD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMINSD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMINSD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMINSD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMINSD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMINSD", 3, Operands { v0, v1, v2 }) + // VPMINSD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x39) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x39) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMINSD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x39) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x39) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMINSD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x39) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMINSD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x39) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x39) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMINSD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x39) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x39) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMINSD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x39) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMINSD") + } + return p +} + +// VPMINSQ performs "Minimum of Packed Signed Quadword Integers". +// +// Mnemonic : VPMINSQ +// Supported forms : (6 forms) +// +// * VPMINSQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPMINSQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPMINSQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMINSQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMINSQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMINSQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMINSQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMINSQ", 3, Operands { v0, v1, v2 }) + // VPMINSQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x39) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMINSQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x39) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x39) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMINSQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x39) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x39) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMINSQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x39) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMINSQ") + } + return p +} + +// VPMINSW performs "Minimum of Packed Signed Word Integers". +// +// Mnemonic : VPMINSW +// Supported forms : (10 forms) +// +// * VPMINSW xmm, xmm, xmm [AVX] +// * VPMINSW m128, xmm, xmm [AVX] +// * VPMINSW ymm, ymm, ymm [AVX2] +// * VPMINSW m256, ymm, ymm [AVX2] +// * VPMINSW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMINSW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMINSW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMINSW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMINSW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMINSW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMINSW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMINSW", 3, Operands { v0, v1, v2 }) + // VPMINSW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xea) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xea) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMINSW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xea) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xea) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMINSW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xea) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xea) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMINSW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xea) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xea) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMINSW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xea) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINSW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xea) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMINSW") + } + return p +} + +// VPMINUB performs "Minimum of Packed Unsigned Byte Integers". +// +// Mnemonic : VPMINUB +// Supported forms : (10 forms) +// +// * VPMINUB xmm, xmm, xmm [AVX] +// * VPMINUB m128, xmm, xmm [AVX] +// * VPMINUB ymm, ymm, ymm [AVX2] +// * VPMINUB m256, ymm, ymm [AVX2] +// * VPMINUB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMINUB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMINUB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMINUB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMINUB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMINUB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMINUB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMINUB", 3, Operands { v0, v1, v2 }) + // VPMINUB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xda) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xda) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMINUB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xda) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xda) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMINUB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xda) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xda) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMINUB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xda) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xda) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMINUB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xda) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xda) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMINUB") + } + return p +} + +// VPMINUD performs "Minimum of Packed Unsigned Doubleword Integers". +// +// Mnemonic : VPMINUD +// Supported forms : (10 forms) +// +// * VPMINUD xmm, xmm, xmm [AVX] +// * VPMINUD m128, xmm, xmm [AVX] +// * VPMINUD ymm, ymm, ymm [AVX2] +// * VPMINUD m256, ymm, ymm [AVX2] +// * VPMINUD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPMINUD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPMINUD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMINUD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMINUD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMINUD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMINUD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMINUD", 3, Operands { v0, v1, v2 }) + // VPMINUD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x3b) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMINUD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x3b) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMINUD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3b) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMINUD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3b) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMINUD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3b) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMINUD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMINUD") + } + return p +} + +// VPMINUQ performs "Minimum of Packed Unsigned Quadword Integers". +// +// Mnemonic : VPMINUQ +// Supported forms : (6 forms) +// +// * VPMINUQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPMINUQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPMINUQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMINUQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMINUQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMINUQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMINUQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMINUQ", 3, Operands { v0, v1, v2 }) + // VPMINUQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3b) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMINUQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3b) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMINUQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x3b) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMINUQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x3b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMINUQ") + } + return p +} + +// VPMINUW performs "Minimum of Packed Unsigned Word Integers". +// +// Mnemonic : VPMINUW +// Supported forms : (10 forms) +// +// * VPMINUW xmm, xmm, xmm [AVX] +// * VPMINUW m128, xmm, xmm [AVX] +// * VPMINUW ymm, ymm, ymm [AVX2] +// * VPMINUW m256, ymm, ymm [AVX2] +// * VPMINUW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMINUW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMINUW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMINUW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMINUW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMINUW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMINUW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMINUW", 3, Operands { v0, v1, v2 }) + // VPMINUW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x3a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x3a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMINUW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x3a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x3a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMINUW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x3a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x3a) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMINUW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x3a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x3a) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMINUW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x3a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMINUW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x3a) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMINUW") + } + return p +} + +// VPMOVB2M performs "Move Signs of Packed Byte Integers to Mask Register". +// +// Mnemonic : VPMOVB2M +// Supported forms : (3 forms) +// +// * VPMOVB2M zmm, k [AVX512BW] +// * VPMOVB2M xmm, k [AVX512BW,AVX512VL] +// * VPMOVB2M ymm, k [AVX512BW,AVX512VL] +// +func (self *Program) VPMOVB2M(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVB2M", 2, Operands { v0, v1 }) + // VPMOVB2M zmm, k + if isZMM(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x48) + m.emit(0x29) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVB2M xmm, k + if isEVEXXMM(v0) && isK(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x08) + m.emit(0x29) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVB2M ymm, k + if isEVEXYMM(v0) && isK(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x28) + m.emit(0x29) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVB2M") + } + return p +} + +// VPMOVD2M performs "Move Signs of Packed Doubleword Integers to Mask Register". +// +// Mnemonic : VPMOVD2M +// Supported forms : (3 forms) +// +// * VPMOVD2M zmm, k [AVX512DQ] +// * VPMOVD2M xmm, k [AVX512DQ,AVX512VL] +// * VPMOVD2M ymm, k [AVX512DQ,AVX512VL] +// +func (self *Program) VPMOVD2M(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVD2M", 2, Operands { v0, v1 }) + // VPMOVD2M zmm, k + if isZMM(v0) && isK(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x48) + m.emit(0x39) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVD2M xmm, k + if isEVEXXMM(v0) && isK(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x08) + m.emit(0x39) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVD2M ymm, k + if isEVEXYMM(v0) && isK(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x28) + m.emit(0x39) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVD2M") + } + return p +} + +// VPMOVDB performs "Down Convert Packed Doubleword Values to Byte Values with Truncation". +// +// Mnemonic : VPMOVDB +// Supported forms : (6 forms) +// +// * VPMOVDB zmm, xmm{k}{z} [AVX512F] +// * VPMOVDB zmm, m128{k}{z} [AVX512F] +// * VPMOVDB xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVDB xmm, m32{k}{z} [AVX512F,AVX512VL] +// * VPMOVDB ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVDB ymm, m64{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVDB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVDB", 2, Operands { v0, v1 }) + // VPMOVDB zmm, xmm{k}{z} + if isZMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x31) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVDB zmm, m128{k}{z} + if isZMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x31) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VPMOVDB xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x31) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVDB xmm, m32{k}{z} + if isEVEXXMM(v0) && isM32kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x31) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VPMOVDB ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x31) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVDB ymm, m64{k}{z} + if isEVEXYMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x31) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVDB") + } + return p +} + +// VPMOVDW performs "Down Convert Packed Doubleword Values to Word Values with Truncation". +// +// Mnemonic : VPMOVDW +// Supported forms : (6 forms) +// +// * VPMOVDW zmm, ymm{k}{z} [AVX512F] +// * VPMOVDW zmm, m256{k}{z} [AVX512F] +// * VPMOVDW xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVDW xmm, m64{k}{z} [AVX512F,AVX512VL] +// * VPMOVDW ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVDW ymm, m128{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVDW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVDW", 2, Operands { v0, v1 }) + // VPMOVDW zmm, ymm{k}{z} + if isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x33) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVDW zmm, m256{k}{z} + if isZMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x33) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VPMOVDW xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x33) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVDW xmm, m64{k}{z} + if isEVEXXMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x33) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPMOVDW ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x33) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVDW ymm, m128{k}{z} + if isEVEXYMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x33) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVDW") + } + return p +} + +// VPMOVM2B performs "Expand Bits of Mask Register to Packed Byte Integers". +// +// Mnemonic : VPMOVM2B +// Supported forms : (3 forms) +// +// * VPMOVM2B k, zmm [AVX512BW] +// * VPMOVM2B k, xmm [AVX512BW,AVX512VL] +// * VPMOVM2B k, ymm [AVX512BW,AVX512VL] +// +func (self *Program) VPMOVM2B(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVM2B", 2, Operands { v0, v1 }) + // VPMOVM2B k, zmm + if isK(v0) && isZMM(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x48) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVM2B k, xmm + if isK(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x08) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVM2B k, ymm + if isK(v0) && isEVEXYMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x28) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVM2B") + } + return p +} + +// VPMOVM2D performs "Expand Bits of Mask Register to Packed Doubleword Integers". +// +// Mnemonic : VPMOVM2D +// Supported forms : (3 forms) +// +// * VPMOVM2D k, zmm [AVX512DQ] +// * VPMOVM2D k, xmm [AVX512DQ,AVX512VL] +// * VPMOVM2D k, ymm [AVX512DQ,AVX512VL] +// +func (self *Program) VPMOVM2D(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVM2D", 2, Operands { v0, v1 }) + // VPMOVM2D k, zmm + if isK(v0) && isZMM(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x48) + m.emit(0x38) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVM2D k, xmm + if isK(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x08) + m.emit(0x38) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVM2D k, ymm + if isK(v0) && isEVEXYMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7e) + m.emit(0x28) + m.emit(0x38) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVM2D") + } + return p +} + +// VPMOVM2Q performs "Expand Bits of Mask Register to Packed Quadword Integers". +// +// Mnemonic : VPMOVM2Q +// Supported forms : (3 forms) +// +// * VPMOVM2Q k, zmm [AVX512DQ] +// * VPMOVM2Q k, xmm [AVX512DQ,AVX512VL] +// * VPMOVM2Q k, ymm [AVX512DQ,AVX512VL] +// +func (self *Program) VPMOVM2Q(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVM2Q", 2, Operands { v0, v1 }) + // VPMOVM2Q k, zmm + if isK(v0) && isZMM(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x48) + m.emit(0x38) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVM2Q k, xmm + if isK(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x08) + m.emit(0x38) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVM2Q k, ymm + if isK(v0) && isEVEXYMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x28) + m.emit(0x38) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVM2Q") + } + return p +} + +// VPMOVM2W performs "Expand Bits of Mask Register to Packed Word Integers". +// +// Mnemonic : VPMOVM2W +// Supported forms : (3 forms) +// +// * VPMOVM2W k, zmm [AVX512BW] +// * VPMOVM2W k, xmm [AVX512BW,AVX512VL] +// * VPMOVM2W k, ymm [AVX512BW,AVX512VL] +// +func (self *Program) VPMOVM2W(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVM2W", 2, Operands { v0, v1 }) + // VPMOVM2W k, zmm + if isK(v0) && isZMM(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x48) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVM2W k, xmm + if isK(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x08) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVM2W k, ymm + if isK(v0) && isEVEXYMM(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x28) + m.emit(0x28) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVM2W") + } + return p +} + +// VPMOVMSKB performs "Move Byte Mask". +// +// Mnemonic : VPMOVMSKB +// Supported forms : (2 forms) +// +// * VPMOVMSKB xmm, r32 [AVX] +// * VPMOVMSKB ymm, r32 [AVX2] +// +func (self *Program) VPMOVMSKB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVMSKB", 2, Operands { v0, v1 }) + // VPMOVMSKB xmm, r32 + if isXMM(v0) && isReg32(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0xd7) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVMSKB ymm, r32 + if isYMM(v0) && isReg32(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), v[0], 0) + m.emit(0xd7) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVMSKB") + } + return p +} + +// VPMOVQ2M performs "Move Signs of Packed Quadword Integers to Mask Register". +// +// Mnemonic : VPMOVQ2M +// Supported forms : (3 forms) +// +// * VPMOVQ2M zmm, k [AVX512DQ] +// * VPMOVQ2M xmm, k [AVX512DQ,AVX512VL] +// * VPMOVQ2M ymm, k [AVX512DQ,AVX512VL] +// +func (self *Program) VPMOVQ2M(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVQ2M", 2, Operands { v0, v1 }) + // VPMOVQ2M zmm, k + if isZMM(v0) && isK(v1) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x48) + m.emit(0x39) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVQ2M xmm, k + if isEVEXXMM(v0) && isK(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x08) + m.emit(0x39) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVQ2M ymm, k + if isEVEXYMM(v0) && isK(v1) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x28) + m.emit(0x39) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVQ2M") + } + return p +} + +// VPMOVQB performs "Down Convert Packed Quadword Values to Byte Values with Truncation". +// +// Mnemonic : VPMOVQB +// Supported forms : (6 forms) +// +// * VPMOVQB zmm, xmm{k}{z} [AVX512F] +// * VPMOVQB zmm, m64{k}{z} [AVX512F] +// * VPMOVQB xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVQB xmm, m16{k}{z} [AVX512F,AVX512VL] +// * VPMOVQB ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVQB ymm, m32{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVQB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVQB", 2, Operands { v0, v1 }) + // VPMOVQB zmm, xmm{k}{z} + if isZMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x32) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVQB zmm, m64{k}{z} + if isZMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x32) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPMOVQB xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x32) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVQB xmm, m16{k}{z} + if isEVEXXMM(v0) && isM16kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x32) + m.mrsd(lcode(v[0]), addr(v[1]), 2) + }) + } + // VPMOVQB ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x32) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVQB ymm, m32{k}{z} + if isEVEXYMM(v0) && isM32kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x32) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVQB") + } + return p +} + +// VPMOVQD performs "Down Convert Packed Quadword Values to Doubleword Values with Truncation". +// +// Mnemonic : VPMOVQD +// Supported forms : (6 forms) +// +// * VPMOVQD zmm, ymm{k}{z} [AVX512F] +// * VPMOVQD zmm, m256{k}{z} [AVX512F] +// * VPMOVQD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVQD xmm, m64{k}{z} [AVX512F,AVX512VL] +// * VPMOVQD ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVQD ymm, m128{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVQD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVQD", 2, Operands { v0, v1 }) + // VPMOVQD zmm, ymm{k}{z} + if isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x35) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVQD zmm, m256{k}{z} + if isZMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x35) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VPMOVQD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x35) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVQD xmm, m64{k}{z} + if isEVEXXMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x35) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPMOVQD ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x35) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVQD ymm, m128{k}{z} + if isEVEXYMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x35) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVQD") + } + return p +} + +// VPMOVQW performs "Down Convert Packed Quadword Values to Word Values with Truncation". +// +// Mnemonic : VPMOVQW +// Supported forms : (6 forms) +// +// * VPMOVQW zmm, xmm{k}{z} [AVX512F] +// * VPMOVQW zmm, m128{k}{z} [AVX512F] +// * VPMOVQW xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVQW xmm, m32{k}{z} [AVX512F,AVX512VL] +// * VPMOVQW ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVQW ymm, m64{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVQW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVQW", 2, Operands { v0, v1 }) + // VPMOVQW zmm, xmm{k}{z} + if isZMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x34) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVQW zmm, m128{k}{z} + if isZMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x34) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VPMOVQW xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x34) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVQW xmm, m32{k}{z} + if isEVEXXMM(v0) && isM32kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x34) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VPMOVQW ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x34) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVQW ymm, m64{k}{z} + if isEVEXYMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x34) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVQW") + } + return p +} + +// VPMOVSDB performs "Down Convert Packed Doubleword Values to Byte Values with Signed Saturation". +// +// Mnemonic : VPMOVSDB +// Supported forms : (6 forms) +// +// * VPMOVSDB zmm, xmm{k}{z} [AVX512F] +// * VPMOVSDB zmm, m128{k}{z} [AVX512F] +// * VPMOVSDB xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSDB xmm, m32{k}{z} [AVX512F,AVX512VL] +// * VPMOVSDB ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSDB ymm, m64{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVSDB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVSDB", 2, Operands { v0, v1 }) + // VPMOVSDB zmm, xmm{k}{z} + if isZMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x21) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSDB zmm, m128{k}{z} + if isZMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x21) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VPMOVSDB xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x21) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSDB xmm, m32{k}{z} + if isEVEXXMM(v0) && isM32kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x21) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VPMOVSDB ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x21) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSDB ymm, m64{k}{z} + if isEVEXYMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x21) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVSDB") + } + return p +} + +// VPMOVSDW performs "Down Convert Packed Doubleword Values to Word Values with Signed Saturation". +// +// Mnemonic : VPMOVSDW +// Supported forms : (6 forms) +// +// * VPMOVSDW zmm, ymm{k}{z} [AVX512F] +// * VPMOVSDW zmm, m256{k}{z} [AVX512F] +// * VPMOVSDW xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSDW xmm, m64{k}{z} [AVX512F,AVX512VL] +// * VPMOVSDW ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSDW ymm, m128{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVSDW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVSDW", 2, Operands { v0, v1 }) + // VPMOVSDW zmm, ymm{k}{z} + if isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x23) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSDW zmm, m256{k}{z} + if isZMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x23) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VPMOVSDW xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x23) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSDW xmm, m64{k}{z} + if isEVEXXMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x23) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPMOVSDW ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x23) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSDW ymm, m128{k}{z} + if isEVEXYMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x23) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVSDW") + } + return p +} + +// VPMOVSQB performs "Down Convert Packed Quadword Values to Byte Values with Signed Saturation". +// +// Mnemonic : VPMOVSQB +// Supported forms : (6 forms) +// +// * VPMOVSQB zmm, xmm{k}{z} [AVX512F] +// * VPMOVSQB zmm, m64{k}{z} [AVX512F] +// * VPMOVSQB xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSQB xmm, m16{k}{z} [AVX512F,AVX512VL] +// * VPMOVSQB ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSQB ymm, m32{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVSQB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVSQB", 2, Operands { v0, v1 }) + // VPMOVSQB zmm, xmm{k}{z} + if isZMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x22) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSQB zmm, m64{k}{z} + if isZMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x22) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPMOVSQB xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x22) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSQB xmm, m16{k}{z} + if isEVEXXMM(v0) && isM16kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x22) + m.mrsd(lcode(v[0]), addr(v[1]), 2) + }) + } + // VPMOVSQB ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x22) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSQB ymm, m32{k}{z} + if isEVEXYMM(v0) && isM32kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x22) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVSQB") + } + return p +} + +// VPMOVSQD performs "Down Convert Packed Quadword Values to Doubleword Values with Signed Saturation". +// +// Mnemonic : VPMOVSQD +// Supported forms : (6 forms) +// +// * VPMOVSQD zmm, ymm{k}{z} [AVX512F] +// * VPMOVSQD zmm, m256{k}{z} [AVX512F] +// * VPMOVSQD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSQD xmm, m64{k}{z} [AVX512F,AVX512VL] +// * VPMOVSQD ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSQD ymm, m128{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVSQD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVSQD", 2, Operands { v0, v1 }) + // VPMOVSQD zmm, ymm{k}{z} + if isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x25) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSQD zmm, m256{k}{z} + if isZMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x25) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VPMOVSQD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x25) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSQD xmm, m64{k}{z} + if isEVEXXMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x25) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPMOVSQD ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x25) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSQD ymm, m128{k}{z} + if isEVEXYMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x25) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVSQD") + } + return p +} + +// VPMOVSQW performs "Down Convert Packed Quadword Values to Word Values with Signed Saturation". +// +// Mnemonic : VPMOVSQW +// Supported forms : (6 forms) +// +// * VPMOVSQW zmm, xmm{k}{z} [AVX512F] +// * VPMOVSQW zmm, m128{k}{z} [AVX512F] +// * VPMOVSQW xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSQW xmm, m32{k}{z} [AVX512F,AVX512VL] +// * VPMOVSQW ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSQW ymm, m64{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVSQW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVSQW", 2, Operands { v0, v1 }) + // VPMOVSQW zmm, xmm{k}{z} + if isZMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x24) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSQW zmm, m128{k}{z} + if isZMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x24) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VPMOVSQW xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x24) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSQW xmm, m32{k}{z} + if isEVEXXMM(v0) && isM32kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x24) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VPMOVSQW ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x24) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSQW ymm, m64{k}{z} + if isEVEXYMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x24) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVSQW") + } + return p +} + +// VPMOVSWB performs "Down Convert Packed Word Values to Byte Values with Signed Saturation". +// +// Mnemonic : VPMOVSWB +// Supported forms : (6 forms) +// +// * VPMOVSWB zmm, ymm{k}{z} [AVX512BW] +// * VPMOVSWB zmm, m256{k}{z} [AVX512BW] +// * VPMOVSWB xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMOVSWB xmm, m64{k}{z} [AVX512BW,AVX512VL] +// * VPMOVSWB ymm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMOVSWB ymm, m128{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMOVSWB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVSWB", 2, Operands { v0, v1 }) + // VPMOVSWB zmm, ymm{k}{z} + if isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x20) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSWB zmm, m256{k}{z} + if isZMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x20) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VPMOVSWB xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x20) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSWB xmm, m64{k}{z} + if isEVEXXMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x20) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPMOVSWB ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x20) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVSWB ymm, m128{k}{z} + if isEVEXYMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x20) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVSWB") + } + return p +} + +// VPMOVSXBD performs "Move Packed Byte Integers to Doubleword Integers with Sign Extension". +// +// Mnemonic : VPMOVSXBD +// Supported forms : (10 forms) +// +// * VPMOVSXBD xmm, xmm [AVX] +// * VPMOVSXBD m32, xmm [AVX] +// * VPMOVSXBD xmm, ymm [AVX2] +// * VPMOVSXBD m64, ymm [AVX2] +// * VPMOVSXBD xmm, zmm{k}{z} [AVX512F] +// * VPMOVSXBD m128, zmm{k}{z} [AVX512F] +// * VPMOVSXBD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXBD xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXBD m32, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXBD m64, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVSXBD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVSXBD", 2, Operands { v0, v1 }) + // VPMOVSXBD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x21) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBD m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x21) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVSXBD xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x21) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBD m64, ymm + if isM64(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x21) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVSXBD xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x21) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBD m128, zmm{k}{z} + if isM128(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x21) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VPMOVSXBD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x21) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBD xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x21) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBD m32, xmm{k}{z} + if isM32(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x21) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VPMOVSXBD m64, ymm{k}{z} + if isM64(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x21) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVSXBD") + } + return p +} + +// VPMOVSXBQ performs "Move Packed Byte Integers to Quadword Integers with Sign Extension". +// +// Mnemonic : VPMOVSXBQ +// Supported forms : (10 forms) +// +// * VPMOVSXBQ xmm, xmm [AVX] +// * VPMOVSXBQ m16, xmm [AVX] +// * VPMOVSXBQ xmm, ymm [AVX2] +// * VPMOVSXBQ m32, ymm [AVX2] +// * VPMOVSXBQ xmm, zmm{k}{z} [AVX512F] +// * VPMOVSXBQ m64, zmm{k}{z} [AVX512F] +// * VPMOVSXBQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXBQ xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXBQ m16, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXBQ m32, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVSXBQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVSXBQ", 2, Operands { v0, v1 }) + // VPMOVSXBQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x22) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBQ m16, xmm + if isM16(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x22) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVSXBQ xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x22) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBQ m32, ymm + if isM32(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x22) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVSXBQ xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x22) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBQ m64, zmm{k}{z} + if isM64(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x22) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPMOVSXBQ xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x22) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBQ xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x22) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBQ m16, xmm{k}{z} + if isM16(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x22) + m.mrsd(lcode(v[1]), addr(v[0]), 2) + }) + } + // VPMOVSXBQ m32, ymm{k}{z} + if isM32(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x22) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVSXBQ") + } + return p +} + +// VPMOVSXBW performs "Move Packed Byte Integers to Word Integers with Sign Extension". +// +// Mnemonic : VPMOVSXBW +// Supported forms : (10 forms) +// +// * VPMOVSXBW xmm, xmm [AVX] +// * VPMOVSXBW m64, xmm [AVX] +// * VPMOVSXBW xmm, ymm [AVX2] +// * VPMOVSXBW m128, ymm [AVX2] +// * VPMOVSXBW ymm, zmm{k}{z} [AVX512BW] +// * VPMOVSXBW m256, zmm{k}{z} [AVX512BW] +// * VPMOVSXBW xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMOVSXBW xmm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMOVSXBW m64, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMOVSXBW m128, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMOVSXBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVSXBW", 2, Operands { v0, v1 }) + // VPMOVSXBW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x20) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBW m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x20) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVSXBW xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x20) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBW m128, ymm + if isM128(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x20) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVSXBW ymm, zmm{k}{z} + if isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x20) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBW m256, zmm{k}{z} + if isM256(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x20) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VPMOVSXBW xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x20) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBW xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x20) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXBW m64, xmm{k}{z} + if isM64(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x20) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPMOVSXBW m128, ymm{k}{z} + if isM128(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x20) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVSXBW") + } + return p +} + +// VPMOVSXDQ performs "Move Packed Doubleword Integers to Quadword Integers with Sign Extension". +// +// Mnemonic : VPMOVSXDQ +// Supported forms : (10 forms) +// +// * VPMOVSXDQ xmm, xmm [AVX] +// * VPMOVSXDQ m64, xmm [AVX] +// * VPMOVSXDQ xmm, ymm [AVX2] +// * VPMOVSXDQ m128, ymm [AVX2] +// * VPMOVSXDQ ymm, zmm{k}{z} [AVX512F] +// * VPMOVSXDQ m256, zmm{k}{z} [AVX512F] +// * VPMOVSXDQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXDQ xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXDQ m64, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXDQ m128, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVSXDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVSXDQ", 2, Operands { v0, v1 }) + // VPMOVSXDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x25) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXDQ m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x25) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVSXDQ xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x25) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXDQ m128, ymm + if isM128(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x25) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVSXDQ ymm, zmm{k}{z} + if isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x25) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXDQ m256, zmm{k}{z} + if isM256(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x25) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VPMOVSXDQ xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x25) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXDQ xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x25) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXDQ m64, xmm{k}{z} + if isM64(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x25) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPMOVSXDQ m128, ymm{k}{z} + if isM128(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x25) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVSXDQ") + } + return p +} + +// VPMOVSXWD performs "Move Packed Word Integers to Doubleword Integers with Sign Extension". +// +// Mnemonic : VPMOVSXWD +// Supported forms : (10 forms) +// +// * VPMOVSXWD xmm, xmm [AVX] +// * VPMOVSXWD m64, xmm [AVX] +// * VPMOVSXWD xmm, ymm [AVX2] +// * VPMOVSXWD m128, ymm [AVX2] +// * VPMOVSXWD ymm, zmm{k}{z} [AVX512F] +// * VPMOVSXWD m256, zmm{k}{z} [AVX512F] +// * VPMOVSXWD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXWD xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXWD m64, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXWD m128, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVSXWD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVSXWD", 2, Operands { v0, v1 }) + // VPMOVSXWD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x23) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXWD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x23) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVSXWD xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x23) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXWD m128, ymm + if isM128(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x23) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVSXWD ymm, zmm{k}{z} + if isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x23) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXWD m256, zmm{k}{z} + if isM256(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x23) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VPMOVSXWD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x23) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXWD xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x23) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXWD m64, xmm{k}{z} + if isM64(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x23) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPMOVSXWD m128, ymm{k}{z} + if isM128(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x23) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVSXWD") + } + return p +} + +// VPMOVSXWQ performs "Move Packed Word Integers to Quadword Integers with Sign Extension". +// +// Mnemonic : VPMOVSXWQ +// Supported forms : (10 forms) +// +// * VPMOVSXWQ xmm, xmm [AVX] +// * VPMOVSXWQ m32, xmm [AVX] +// * VPMOVSXWQ xmm, ymm [AVX2] +// * VPMOVSXWQ m64, ymm [AVX2] +// * VPMOVSXWQ xmm, zmm{k}{z} [AVX512F] +// * VPMOVSXWQ m128, zmm{k}{z} [AVX512F] +// * VPMOVSXWQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXWQ xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXWQ m32, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVSXWQ m64, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVSXWQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVSXWQ", 2, Operands { v0, v1 }) + // VPMOVSXWQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x24) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXWQ m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x24) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVSXWQ xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x24) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXWQ m64, ymm + if isM64(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x24) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVSXWQ xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x24) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXWQ m128, zmm{k}{z} + if isM128(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x24) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VPMOVSXWQ xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x24) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXWQ xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x24) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVSXWQ m32, xmm{k}{z} + if isM32(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x24) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VPMOVSXWQ m64, ymm{k}{z} + if isM64(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x24) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVSXWQ") + } + return p +} + +// VPMOVUSDB performs "Down Convert Packed Doubleword Values to Byte Values with Unsigned Saturation". +// +// Mnemonic : VPMOVUSDB +// Supported forms : (6 forms) +// +// * VPMOVUSDB zmm, xmm{k}{z} [AVX512F] +// * VPMOVUSDB zmm, m128{k}{z} [AVX512F] +// * VPMOVUSDB xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSDB xmm, m32{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSDB ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSDB ymm, m64{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVUSDB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVUSDB", 2, Operands { v0, v1 }) + // VPMOVUSDB zmm, xmm{k}{z} + if isZMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSDB zmm, m128{k}{z} + if isZMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VPMOVUSDB xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSDB xmm, m32{k}{z} + if isEVEXXMM(v0) && isM32kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VPMOVUSDB ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x11) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSDB ymm, m64{k}{z} + if isEVEXYMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x11) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVUSDB") + } + return p +} + +// VPMOVUSDW performs "Down Convert Packed Doubleword Values to Word Values with Unsigned Saturation". +// +// Mnemonic : VPMOVUSDW +// Supported forms : (6 forms) +// +// * VPMOVUSDW zmm, ymm{k}{z} [AVX512F] +// * VPMOVUSDW zmm, m256{k}{z} [AVX512F] +// * VPMOVUSDW xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSDW xmm, m64{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSDW ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSDW ymm, m128{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVUSDW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVUSDW", 2, Operands { v0, v1 }) + // VPMOVUSDW zmm, ymm{k}{z} + if isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x13) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSDW zmm, m256{k}{z} + if isZMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x13) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VPMOVUSDW xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x13) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSDW xmm, m64{k}{z} + if isEVEXXMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x13) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPMOVUSDW ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x13) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSDW ymm, m128{k}{z} + if isEVEXYMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x13) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVUSDW") + } + return p +} + +// VPMOVUSQB performs "Down Convert Packed Quadword Values to Byte Values with Unsigned Saturation". +// +// Mnemonic : VPMOVUSQB +// Supported forms : (6 forms) +// +// * VPMOVUSQB zmm, xmm{k}{z} [AVX512F] +// * VPMOVUSQB zmm, m64{k}{z} [AVX512F] +// * VPMOVUSQB xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSQB xmm, m16{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSQB ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSQB ymm, m32{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVUSQB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVUSQB", 2, Operands { v0, v1 }) + // VPMOVUSQB zmm, xmm{k}{z} + if isZMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x12) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSQB zmm, m64{k}{z} + if isZMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x12) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPMOVUSQB xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x12) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSQB xmm, m16{k}{z} + if isEVEXXMM(v0) && isM16kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x12) + m.mrsd(lcode(v[0]), addr(v[1]), 2) + }) + } + // VPMOVUSQB ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x12) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSQB ymm, m32{k}{z} + if isEVEXYMM(v0) && isM32kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x12) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVUSQB") + } + return p +} + +// VPMOVUSQD performs "Down Convert Packed Quadword Values to Doubleword Values with Unsigned Saturation". +// +// Mnemonic : VPMOVUSQD +// Supported forms : (6 forms) +// +// * VPMOVUSQD zmm, ymm{k}{z} [AVX512F] +// * VPMOVUSQD zmm, m256{k}{z} [AVX512F] +// * VPMOVUSQD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSQD xmm, m64{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSQD ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSQD ymm, m128{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVUSQD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVUSQD", 2, Operands { v0, v1 }) + // VPMOVUSQD zmm, ymm{k}{z} + if isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x15) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSQD zmm, m256{k}{z} + if isZMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x15) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VPMOVUSQD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x15) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSQD xmm, m64{k}{z} + if isEVEXXMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x15) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPMOVUSQD ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x15) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSQD ymm, m128{k}{z} + if isEVEXYMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x15) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVUSQD") + } + return p +} + +// VPMOVUSQW performs "Down Convert Packed Quadword Values to Word Values with Unsigned Saturation". +// +// Mnemonic : VPMOVUSQW +// Supported forms : (6 forms) +// +// * VPMOVUSQW zmm, xmm{k}{z} [AVX512F] +// * VPMOVUSQW zmm, m128{k}{z} [AVX512F] +// * VPMOVUSQW xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSQW xmm, m32{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSQW ymm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVUSQW ymm, m64{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVUSQW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVUSQW", 2, Operands { v0, v1 }) + // VPMOVUSQW zmm, xmm{k}{z} + if isZMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x14) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSQW zmm, m128{k}{z} + if isZMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x14) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + // VPMOVUSQW xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x14) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSQW xmm, m32{k}{z} + if isEVEXXMM(v0) && isM32kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x14) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VPMOVUSQW ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x14) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSQW ymm, m64{k}{z} + if isEVEXYMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x14) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVUSQW") + } + return p +} + +// VPMOVUSWB performs "Down Convert Packed Word Values to Byte Values with Unsigned Saturation". +// +// Mnemonic : VPMOVUSWB +// Supported forms : (6 forms) +// +// * VPMOVUSWB zmm, ymm{k}{z} [AVX512BW] +// * VPMOVUSWB zmm, m256{k}{z} [AVX512BW] +// * VPMOVUSWB xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMOVUSWB xmm, m64{k}{z} [AVX512BW,AVX512VL] +// * VPMOVUSWB ymm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMOVUSWB ymm, m128{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMOVUSWB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVUSWB", 2, Operands { v0, v1 }) + // VPMOVUSWB zmm, ymm{k}{z} + if isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x10) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSWB zmm, m256{k}{z} + if isZMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VPMOVUSWB xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x10) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSWB xmm, m64{k}{z} + if isEVEXXMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPMOVUSWB ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x10) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVUSWB ymm, m128{k}{z} + if isEVEXYMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x10) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVUSWB") + } + return p +} + +// VPMOVW2M performs "Move Signs of Packed Word Integers to Mask Register". +// +// Mnemonic : VPMOVW2M +// Supported forms : (3 forms) +// +// * VPMOVW2M zmm, k [AVX512BW] +// * VPMOVW2M xmm, k [AVX512BW,AVX512VL] +// * VPMOVW2M ymm, k [AVX512BW,AVX512VL] +// +func (self *Program) VPMOVW2M(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVW2M", 2, Operands { v0, v1 }) + // VPMOVW2M zmm, k + if isZMM(v0) && isK(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x48) + m.emit(0x29) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVW2M xmm, k + if isEVEXXMM(v0) && isK(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x08) + m.emit(0x29) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVW2M ymm, k + if isEVEXYMM(v0) && isK(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfe) + m.emit(0x28) + m.emit(0x29) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVW2M") + } + return p +} + +// VPMOVWB performs "Down Convert Packed Word Values to Byte Values with Truncation". +// +// Mnemonic : VPMOVWB +// Supported forms : (6 forms) +// +// * VPMOVWB zmm, ymm{k}{z} [AVX512BW] +// * VPMOVWB zmm, m256{k}{z} [AVX512BW] +// * VPMOVWB xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMOVWB xmm, m64{k}{z} [AVX512BW,AVX512VL] +// * VPMOVWB ymm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMOVWB ymm, m128{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMOVWB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVWB", 2, Operands { v0, v1 }) + // VPMOVWB zmm, ymm{k}{z} + if isZMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x30) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVWB zmm, m256{k}{z} + if isZMM(v0) && isM256kz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x30) + m.mrsd(lcode(v[0]), addr(v[1]), 32) + }) + } + // VPMOVWB xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x30) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVWB xmm, m64{k}{z} + if isEVEXXMM(v0) && isM64kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x30) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPMOVWB ymm, xmm{k}{z} + if isEVEXYMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[0]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[0]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x30) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // VPMOVWB ymm, m128{k}{z} + if isEVEXYMM(v0) && isM128kz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x30) + m.mrsd(lcode(v[0]), addr(v[1]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVWB") + } + return p +} + +// VPMOVZXBD performs "Move Packed Byte Integers to Doubleword Integers with Zero Extension". +// +// Mnemonic : VPMOVZXBD +// Supported forms : (10 forms) +// +// * VPMOVZXBD xmm, xmm [AVX] +// * VPMOVZXBD m32, xmm [AVX] +// * VPMOVZXBD xmm, ymm [AVX2] +// * VPMOVZXBD m64, ymm [AVX2] +// * VPMOVZXBD xmm, zmm{k}{z} [AVX512F] +// * VPMOVZXBD m128, zmm{k}{z} [AVX512F] +// * VPMOVZXBD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXBD xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXBD m32, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXBD m64, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVZXBD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVZXBD", 2, Operands { v0, v1 }) + // VPMOVZXBD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x31) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBD m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x31) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVZXBD xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x31) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBD m64, ymm + if isM64(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x31) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVZXBD xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x31) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBD m128, zmm{k}{z} + if isM128(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x31) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VPMOVZXBD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x31) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBD xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x31) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBD m32, xmm{k}{z} + if isM32(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x31) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VPMOVZXBD m64, ymm{k}{z} + if isM64(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x31) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVZXBD") + } + return p +} + +// VPMOVZXBQ performs "Move Packed Byte Integers to Quadword Integers with Zero Extension". +// +// Mnemonic : VPMOVZXBQ +// Supported forms : (10 forms) +// +// * VPMOVZXBQ xmm, xmm [AVX] +// * VPMOVZXBQ m16, xmm [AVX] +// * VPMOVZXBQ xmm, ymm [AVX2] +// * VPMOVZXBQ m32, ymm [AVX2] +// * VPMOVZXBQ xmm, zmm{k}{z} [AVX512F] +// * VPMOVZXBQ m64, zmm{k}{z} [AVX512F] +// * VPMOVZXBQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXBQ xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXBQ m16, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXBQ m32, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVZXBQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVZXBQ", 2, Operands { v0, v1 }) + // VPMOVZXBQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x32) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBQ m16, xmm + if isM16(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x32) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVZXBQ xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x32) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBQ m32, ymm + if isM32(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x32) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVZXBQ xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x32) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBQ m64, zmm{k}{z} + if isM64(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x32) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPMOVZXBQ xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x32) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBQ xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x32) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBQ m16, xmm{k}{z} + if isM16(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x32) + m.mrsd(lcode(v[1]), addr(v[0]), 2) + }) + } + // VPMOVZXBQ m32, ymm{k}{z} + if isM32(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x32) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVZXBQ") + } + return p +} + +// VPMOVZXBW performs "Move Packed Byte Integers to Word Integers with Zero Extension". +// +// Mnemonic : VPMOVZXBW +// Supported forms : (10 forms) +// +// * VPMOVZXBW xmm, xmm [AVX] +// * VPMOVZXBW m64, xmm [AVX] +// * VPMOVZXBW xmm, ymm [AVX2] +// * VPMOVZXBW m128, ymm [AVX2] +// * VPMOVZXBW ymm, zmm{k}{z} [AVX512BW] +// * VPMOVZXBW m256, zmm{k}{z} [AVX512BW] +// * VPMOVZXBW xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMOVZXBW xmm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMOVZXBW m64, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMOVZXBW m128, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMOVZXBW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVZXBW", 2, Operands { v0, v1 }) + // VPMOVZXBW xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x30) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBW m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x30) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVZXBW xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x30) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBW m128, ymm + if isM128(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x30) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVZXBW ymm, zmm{k}{z} + if isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x30) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBW m256, zmm{k}{z} + if isM256(v0) && isZMMkz(v1) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x30) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VPMOVZXBW xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x30) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBW xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x30) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXBW m64, xmm{k}{z} + if isM64(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x30) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPMOVZXBW m128, ymm{k}{z} + if isM128(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x30) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVZXBW") + } + return p +} + +// VPMOVZXDQ performs "Move Packed Doubleword Integers to Quadword Integers with Zero Extension". +// +// Mnemonic : VPMOVZXDQ +// Supported forms : (10 forms) +// +// * VPMOVZXDQ xmm, xmm [AVX] +// * VPMOVZXDQ m64, xmm [AVX] +// * VPMOVZXDQ xmm, ymm [AVX2] +// * VPMOVZXDQ m128, ymm [AVX2] +// * VPMOVZXDQ ymm, zmm{k}{z} [AVX512F] +// * VPMOVZXDQ m256, zmm{k}{z} [AVX512F] +// * VPMOVZXDQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXDQ xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXDQ m64, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXDQ m128, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVZXDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVZXDQ", 2, Operands { v0, v1 }) + // VPMOVZXDQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x35) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXDQ m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x35) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVZXDQ xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x35) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXDQ m128, ymm + if isM128(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x35) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVZXDQ ymm, zmm{k}{z} + if isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x35) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXDQ m256, zmm{k}{z} + if isM256(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x35) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VPMOVZXDQ xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x35) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXDQ xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x35) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXDQ m64, xmm{k}{z} + if isM64(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x35) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPMOVZXDQ m128, ymm{k}{z} + if isM128(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x35) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVZXDQ") + } + return p +} + +// VPMOVZXWD performs "Move Packed Word Integers to Doubleword Integers with Zero Extension". +// +// Mnemonic : VPMOVZXWD +// Supported forms : (10 forms) +// +// * VPMOVZXWD xmm, xmm [AVX] +// * VPMOVZXWD m64, xmm [AVX] +// * VPMOVZXWD xmm, ymm [AVX2] +// * VPMOVZXWD m128, ymm [AVX2] +// * VPMOVZXWD ymm, zmm{k}{z} [AVX512F] +// * VPMOVZXWD m256, zmm{k}{z} [AVX512F] +// * VPMOVZXWD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXWD xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXWD m64, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXWD m128, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVZXWD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVZXWD", 2, Operands { v0, v1 }) + // VPMOVZXWD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x33) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXWD m64, xmm + if isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x33) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVZXWD xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x33) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXWD m128, ymm + if isM128(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x33) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVZXWD ymm, zmm{k}{z} + if isEVEXYMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x33) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXWD m256, zmm{k}{z} + if isM256(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x33) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VPMOVZXWD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x33) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXWD xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x33) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXWD m64, xmm{k}{z} + if isM64(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x33) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VPMOVZXWD m128, ymm{k}{z} + if isM128(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x33) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVZXWD") + } + return p +} + +// VPMOVZXWQ performs "Move Packed Word Integers to Quadword Integers with Zero Extension". +// +// Mnemonic : VPMOVZXWQ +// Supported forms : (10 forms) +// +// * VPMOVZXWQ xmm, xmm [AVX] +// * VPMOVZXWQ m32, xmm [AVX] +// * VPMOVZXWQ xmm, ymm [AVX2] +// * VPMOVZXWQ m64, ymm [AVX2] +// * VPMOVZXWQ xmm, zmm{k}{z} [AVX512F] +// * VPMOVZXWQ m128, zmm{k}{z} [AVX512F] +// * VPMOVZXWQ xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXWQ xmm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXWQ m32, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMOVZXWQ m64, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMOVZXWQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPMOVZXWQ", 2, Operands { v0, v1 }) + // VPMOVZXWQ xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x34) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXWQ m32, xmm + if isM32(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x34) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVZXWQ xmm, ymm + if isXMM(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x34) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXWQ m64, ymm + if isM64(v0) && isYMM(v1) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x34) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPMOVZXWQ xmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x34) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXWQ m128, zmm{k}{z} + if isM128(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x34) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VPMOVZXWQ xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x34) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXWQ xmm, ymm{k}{z} + if isEVEXXMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x34) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPMOVZXWQ m32, xmm{k}{z} + if isM32(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x34) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VPMOVZXWQ m64, ymm{k}{z} + if isM64(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), 0) + m.emit(0x34) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPMOVZXWQ") + } + return p +} + +// VPMULDQ performs "Multiply Packed Signed Doubleword Integers and Store Quadword Result". +// +// Mnemonic : VPMULDQ +// Supported forms : (10 forms) +// +// * VPMULDQ xmm, xmm, xmm [AVX] +// * VPMULDQ m128, xmm, xmm [AVX] +// * VPMULDQ ymm, ymm, ymm [AVX2] +// * VPMULDQ m256, ymm, ymm [AVX2] +// * VPMULDQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPMULDQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPMULDQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMULDQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMULDQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMULDQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMULDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMULDQ", 3, Operands { v0, v1, v2 }) + // VPMULDQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x28) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULDQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x28) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULDQ ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x28) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULDQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x28) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULDQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x28) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMULDQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x28) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULDQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x28) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMULDQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x28) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULDQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x28) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMULDQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x28) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMULDQ") + } + return p +} + +// VPMULHRSW performs "Packed Multiply Signed Word Integers and Store High Result with Round and Scale". +// +// Mnemonic : VPMULHRSW +// Supported forms : (10 forms) +// +// * VPMULHRSW xmm, xmm, xmm [AVX] +// * VPMULHRSW m128, xmm, xmm [AVX] +// * VPMULHRSW ymm, ymm, ymm [AVX2] +// * VPMULHRSW m256, ymm, ymm [AVX2] +// * VPMULHRSW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMULHRSW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMULHRSW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMULHRSW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMULHRSW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMULHRSW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMULHRSW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMULHRSW", 3, Operands { v0, v1, v2 }) + // VPMULHRSW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHRSW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x0b) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULHRSW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHRSW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x0b) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULHRSW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHRSW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x0b) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMULHRSW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHRSW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x0b) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMULHRSW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHRSW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x0b) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMULHRSW") + } + return p +} + +// VPMULHUW performs "Multiply Packed Unsigned Word Integers and Store High Result". +// +// Mnemonic : VPMULHUW +// Supported forms : (10 forms) +// +// * VPMULHUW xmm, xmm, xmm [AVX] +// * VPMULHUW m128, xmm, xmm [AVX] +// * VPMULHUW ymm, ymm, ymm [AVX2] +// * VPMULHUW m256, ymm, ymm [AVX2] +// * VPMULHUW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMULHUW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMULHUW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMULHUW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMULHUW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMULHUW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMULHUW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMULHUW", 3, Operands { v0, v1, v2 }) + // VPMULHUW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHUW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe4) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULHUW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHUW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe4) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULHUW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xe4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHUW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe4) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMULHUW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xe4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHUW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe4) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMULHUW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xe4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHUW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe4) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMULHUW") + } + return p +} + +// VPMULHW performs "Multiply Packed Signed Word Integers and Store High Result". +// +// Mnemonic : VPMULHW +// Supported forms : (10 forms) +// +// * VPMULHW xmm, xmm, xmm [AVX] +// * VPMULHW m128, xmm, xmm [AVX] +// * VPMULHW ymm, ymm, ymm [AVX2] +// * VPMULHW m256, ymm, ymm [AVX2] +// * VPMULHW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMULHW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMULHW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMULHW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMULHW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMULHW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMULHW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMULHW", 3, Operands { v0, v1, v2 }) + // VPMULHW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe5) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULHW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe5) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULHW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xe5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe5) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMULHW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xe5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe5) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMULHW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xe5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULHW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe5) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMULHW") + } + return p +} + +// VPMULLD performs "Multiply Packed Signed Doubleword Integers and Store Low Result". +// +// Mnemonic : VPMULLD +// Supported forms : (10 forms) +// +// * VPMULLD xmm, xmm, xmm [AVX] +// * VPMULLD m128, xmm, xmm [AVX] +// * VPMULLD ymm, ymm, ymm [AVX2] +// * VPMULLD m256, ymm, ymm [AVX2] +// * VPMULLD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPMULLD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPMULLD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMULLD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMULLD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMULLD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMULLD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMULLD", 3, Operands { v0, v1, v2 }) + // VPMULLD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x40) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULLD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x40) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULLD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x40) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULLD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x40) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULLD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x40) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMULLD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x40) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULLD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x40) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMULLD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x40) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULLD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x40) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMULLD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x40) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMULLD") + } + return p +} + +// VPMULLQ performs "Multiply Packed Signed Quadword Integers and Store Low Result". +// +// Mnemonic : VPMULLQ +// Supported forms : (6 forms) +// +// * VPMULLQ m512/m64bcst, zmm, zmm{k}{z} [AVX512DQ] +// * VPMULLQ zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VPMULLQ m128/m64bcst, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VPMULLQ xmm, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VPMULLQ m256/m64bcst, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VPMULLQ ymm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VPMULLQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMULLQ", 3, Operands { v0, v1, v2 }) + // VPMULLQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x40) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMULLQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x40) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULLQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x40) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMULLQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x40) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULLQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x40) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMULLQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x40) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMULLQ") + } + return p +} + +// VPMULLW performs "Multiply Packed Signed Word Integers and Store Low Result". +// +// Mnemonic : VPMULLW +// Supported forms : (10 forms) +// +// * VPMULLW xmm, xmm, xmm [AVX] +// * VPMULLW m128, xmm, xmm [AVX] +// * VPMULLW ymm, ymm, ymm [AVX2] +// * VPMULLW m256, ymm, ymm [AVX2] +// * VPMULLW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPMULLW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPMULLW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMULLW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPMULLW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPMULLW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPMULLW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMULLW", 3, Operands { v0, v1, v2 }) + // VPMULLW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULLW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd5) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULLW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULLW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd5) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULLW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xd5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULLW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd5) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMULLW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xd5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULLW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd5) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMULLW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xd5) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULLW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd5) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPMULLW") + } + return p +} + +// VPMULTISHIFTQB performs "Select Packed Unaligned Bytes from Quadword Sources". +// +// Mnemonic : VPMULTISHIFTQB +// Supported forms : (6 forms) +// +// * VPMULTISHIFTQB m128/m64bcst, xmm, xmm{k}{z} [AVX512VBMI,AVX512VL] +// * VPMULTISHIFTQB xmm, xmm, xmm{k}{z} [AVX512VBMI,AVX512VL] +// * VPMULTISHIFTQB m256/m64bcst, ymm, ymm{k}{z} [AVX512VBMI,AVX512VL] +// * VPMULTISHIFTQB ymm, ymm, ymm{k}{z} [AVX512VBMI,AVX512VL] +// * VPMULTISHIFTQB m512/m64bcst, zmm, zmm{k}{z} [AVX512VBMI] +// * VPMULTISHIFTQB zmm, zmm, zmm{k}{z} [AVX512VBMI] +// +func (self *Program) VPMULTISHIFTQB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMULTISHIFTQB", 3, Operands { v0, v1, v2 }) + // VPMULTISHIFTQB m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VBMI | ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x83) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMULTISHIFTQB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VBMI | ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x83) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULTISHIFTQB m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VBMI | ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x83) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMULTISHIFTQB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VBMI | ISA_AVX512VL) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x83) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULTISHIFTQB m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x83) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMULTISHIFTQB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512VBMI) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x83) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMULTISHIFTQB") + } + return p +} + +// VPMULUDQ performs "Multiply Packed Unsigned Doubleword Integers". +// +// Mnemonic : VPMULUDQ +// Supported forms : (10 forms) +// +// * VPMULUDQ xmm, xmm, xmm [AVX] +// * VPMULUDQ m128, xmm, xmm [AVX] +// * VPMULUDQ ymm, ymm, ymm [AVX2] +// * VPMULUDQ m256, ymm, ymm [AVX2] +// * VPMULUDQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPMULUDQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPMULUDQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMULUDQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPMULUDQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPMULUDQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPMULUDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPMULUDQ", 3, Operands { v0, v1, v2 }) + // VPMULUDQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULUDQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf4) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULUDQ ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULUDQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf4) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPMULUDQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xf4) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPMULUDQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xf4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULUDQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xf4) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPMULUDQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xf4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPMULUDQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xf4) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPMULUDQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xf4) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPMULUDQ") + } + return p +} + +// VPOPCNTD performs "Packed Population Count for Doubleword Integers". +// +// Mnemonic : VPOPCNTD +// Supported forms : (2 forms) +// +// * VPOPCNTD m512/m32bcst, zmm{k}{z} [AVX512VPOPCNTDQ] +// * VPOPCNTD zmm, zmm{k}{z} [AVX512VPOPCNTDQ] +// +func (self *Program) VPOPCNTD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPOPCNTD", 2, Operands { v0, v1 }) + // VPOPCNTD m512/m32bcst, zmm{k}{z} + if isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512VPOPCNTDQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x55) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VPOPCNTD zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512VPOPCNTDQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x55) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPOPCNTD") + } + return p +} + +// VPOPCNTQ performs "Packed Population Count for Quadword Integers". +// +// Mnemonic : VPOPCNTQ +// Supported forms : (2 forms) +// +// * VPOPCNTQ m512/m64bcst, zmm{k}{z} [AVX512VPOPCNTDQ] +// * VPOPCNTQ zmm, zmm{k}{z} [AVX512VPOPCNTDQ] +// +func (self *Program) VPOPCNTQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPOPCNTQ", 2, Operands { v0, v1 }) + // VPOPCNTQ m512/m64bcst, zmm{k}{z} + if isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512VPOPCNTDQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x55) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VPOPCNTQ zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512VPOPCNTDQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x55) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPOPCNTQ") + } + return p +} + +// VPOR performs "Packed Bitwise Logical OR". +// +// Mnemonic : VPOR +// Supported forms : (4 forms) +// +// * VPOR xmm, xmm, xmm [AVX] +// * VPOR m128, xmm, xmm [AVX] +// * VPOR ymm, ymm, ymm [AVX2] +// * VPOR m256, ymm, ymm [AVX2] +// +func (self *Program) VPOR(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPOR", 3, Operands { v0, v1, v2 }) + // VPOR xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xeb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPOR m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xeb) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPOR ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xeb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPOR m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xeb) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPOR") + } + return p +} + +// VPORD performs "Bitwise Logical OR of Packed Doubleword Integers". +// +// Mnemonic : VPORD +// Supported forms : (6 forms) +// +// * VPORD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPORD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPORD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPORD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPORD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPORD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPORD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPORD", 3, Operands { v0, v1, v2 }) + // VPORD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xeb) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPORD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xeb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPORD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xeb) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPORD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xeb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPORD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xeb) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPORD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xeb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPORD") + } + return p +} + +// VPORQ performs "Bitwise Logical OR of Packed Quadword Integers". +// +// Mnemonic : VPORQ +// Supported forms : (6 forms) +// +// * VPORQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPORQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPORQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPORQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPORQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPORQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPORQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPORQ", 3, Operands { v0, v1, v2 }) + // VPORQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xeb) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPORQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xeb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPORQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xeb) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPORQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xeb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPORQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xeb) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPORQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xeb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPORQ") + } + return p +} + +// VPPERM performs "Packed Permute Bytes". +// +// Mnemonic : VPPERM +// Supported forms : (3 forms) +// +// * VPPERM xmm, xmm, xmm, xmm [XOP] +// * VPPERM m128, xmm, xmm, xmm [XOP] +// * VPPERM xmm, m128, xmm, xmm [XOP] +// +func (self *Program) VPPERM(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPPERM", 4, Operands { v0, v1, v2, v3 }) + // VPPERM xmm, xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[2]) << 3)) + m.emit(0xa3) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.emit(hlcode(v[0]) << 4) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[3]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[2]) << 3)) + m.emit(0xa3) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[0])) + m.emit(hlcode(v[1]) << 4) + }) + } + // VPPERM m128, xmm, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x80, hcode(v[3]), addr(v[0]), hlcode(v[2])) + m.emit(0xa3) + m.mrsd(lcode(v[3]), addr(v[0]), 1) + m.emit(hlcode(v[1]) << 4) + }) + } + // VPPERM xmm, m128, xmm, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xa3) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.emit(hlcode(v[0]) << 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPPERM") + } + return p +} + +// VPROLD performs "Rotate Packed Doubleword Left". +// +// Mnemonic : VPROLD +// Supported forms : (6 forms) +// +// * VPROLD imm8, m512/m32bcst, zmm{k}{z} [AVX512F] +// * VPROLD imm8, zmm, zmm{k}{z} [AVX512F] +// * VPROLD imm8, m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPROLD imm8, m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPROLD imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPROLD imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPROLD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPROLD", 3, Operands { v0, v1, v2 }) + // VPROLD imm8, m512/m32bcst, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(1, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPROLD imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x72) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPROLD imm8, m128/m32bcst, xmm{k}{z} + if isImm8(v0) && isM128M32bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(1, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPROLD imm8, m256/m32bcst, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(1, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPROLD imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x72) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPROLD imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x72) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPROLD") + } + return p +} + +// VPROLQ performs "Rotate Packed Quadword Left". +// +// Mnemonic : VPROLQ +// Supported forms : (6 forms) +// +// * VPROLQ imm8, m512/m64bcst, zmm{k}{z} [AVX512F] +// * VPROLQ imm8, zmm, zmm{k}{z} [AVX512F] +// * VPROLQ imm8, m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPROLQ imm8, m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPROLQ imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPROLQ imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPROLQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPROLQ", 3, Operands { v0, v1, v2 }) + // VPROLQ imm8, m512/m64bcst, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(1, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPROLQ imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x72) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPROLQ imm8, m128/m64bcst, xmm{k}{z} + if isImm8(v0) && isM128M64bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(1, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPROLQ imm8, m256/m64bcst, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(1, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPROLQ imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x72) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPROLQ imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x72) + m.emit(0xc8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPROLQ") + } + return p +} + +// VPROLVD performs "Variable Rotate Packed Doubleword Left". +// +// Mnemonic : VPROLVD +// Supported forms : (6 forms) +// +// * VPROLVD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPROLVD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPROLVD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPROLVD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPROLVD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPROLVD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPROLVD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPROLVD", 3, Operands { v0, v1, v2 }) + // VPROLVD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPROLVD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPROLVD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPROLVD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPROLVD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPROLVD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPROLVD") + } + return p +} + +// VPROLVQ performs "Variable Rotate Packed Quadword Left". +// +// Mnemonic : VPROLVQ +// Supported forms : (6 forms) +// +// * VPROLVQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPROLVQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPROLVQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPROLVQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPROLVQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPROLVQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPROLVQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPROLVQ", 3, Operands { v0, v1, v2 }) + // VPROLVQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPROLVQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPROLVQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPROLVQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPROLVQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPROLVQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPROLVQ") + } + return p +} + +// VPRORD performs "Rotate Packed Doubleword Right". +// +// Mnemonic : VPRORD +// Supported forms : (6 forms) +// +// * VPRORD imm8, m512/m32bcst, zmm{k}{z} [AVX512F] +// * VPRORD imm8, zmm, zmm{k}{z} [AVX512F] +// * VPRORD imm8, m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPRORD imm8, m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPRORD imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPRORD imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPRORD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPRORD", 3, Operands { v0, v1, v2 }) + // VPRORD imm8, m512/m32bcst, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(0, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPRORD imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x72) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPRORD imm8, m128/m32bcst, xmm{k}{z} + if isImm8(v0) && isM128M32bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(0, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPRORD imm8, m256/m32bcst, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(0, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPRORD imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x72) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPRORD imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x72) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPRORD") + } + return p +} + +// VPRORQ performs "Rotate Packed Quadword Right". +// +// Mnemonic : VPRORQ +// Supported forms : (6 forms) +// +// * VPRORQ imm8, m512/m64bcst, zmm{k}{z} [AVX512F] +// * VPRORQ imm8, zmm, zmm{k}{z} [AVX512F] +// * VPRORQ imm8, m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPRORQ imm8, m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPRORQ imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPRORQ imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPRORQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPRORQ", 3, Operands { v0, v1, v2 }) + // VPRORQ imm8, m512/m64bcst, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(0, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPRORQ imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x72) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPRORQ imm8, m128/m64bcst, xmm{k}{z} + if isImm8(v0) && isM128M64bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(0, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPRORQ imm8, m256/m64bcst, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(0, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPRORQ imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x72) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPRORQ imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x72) + m.emit(0xc0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPRORQ") + } + return p +} + +// VPRORVD performs "Variable Rotate Packed Doubleword Right". +// +// Mnemonic : VPRORVD +// Supported forms : (6 forms) +// +// * VPRORVD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPRORVD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPRORVD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPRORVD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPRORVD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPRORVD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPRORVD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPRORVD", 3, Operands { v0, v1, v2 }) + // VPRORVD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPRORVD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPRORVD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPRORVD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPRORVD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPRORVD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPRORVD") + } + return p +} + +// VPRORVQ performs "Variable Rotate Packed Quadword Right". +// +// Mnemonic : VPRORVQ +// Supported forms : (6 forms) +// +// * VPRORVQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPRORVQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPRORVQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPRORVQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPRORVQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPRORVQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPRORVQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPRORVQ", 3, Operands { v0, v1, v2 }) + // VPRORVQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPRORVQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPRORVQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPRORVQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPRORVQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPRORVQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPRORVQ") + } + return p +} + +// VPROTB performs "Packed Rotate Bytes". +// +// Mnemonic : VPROTB +// Supported forms : (5 forms) +// +// * VPROTB imm8, xmm, xmm [XOP] +// * VPROTB xmm, xmm, xmm [XOP] +// * VPROTB m128, xmm, xmm [XOP] +// * VPROTB imm8, m128, xmm [XOP] +// * VPROTB xmm, m128, xmm [XOP] +// +func (self *Program) VPROTB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPROTB", 3, Operands { v0, v1, v2 }) + // VPROTB imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78) + m.emit(0xc0) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPROTB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0x90) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x90) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPROTB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x90) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPROTB imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[2]), addr(v[1]), 0) + m.emit(0xc0) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPROTB xmm, m128, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x90) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPROTB") + } + return p +} + +// VPROTD performs "Packed Rotate Doublewords". +// +// Mnemonic : VPROTD +// Supported forms : (5 forms) +// +// * VPROTD imm8, xmm, xmm [XOP] +// * VPROTD xmm, xmm, xmm [XOP] +// * VPROTD m128, xmm, xmm [XOP] +// * VPROTD imm8, m128, xmm [XOP] +// * VPROTD xmm, m128, xmm [XOP] +// +func (self *Program) VPROTD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPROTD", 3, Operands { v0, v1, v2 }) + // VPROTD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78) + m.emit(0xc2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPROTD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0x92) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x92) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPROTD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x92) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPROTD imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[2]), addr(v[1]), 0) + m.emit(0xc2) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPROTD xmm, m128, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x92) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPROTD") + } + return p +} + +// VPROTQ performs "Packed Rotate Quadwords". +// +// Mnemonic : VPROTQ +// Supported forms : (5 forms) +// +// * VPROTQ imm8, xmm, xmm [XOP] +// * VPROTQ xmm, xmm, xmm [XOP] +// * VPROTQ m128, xmm, xmm [XOP] +// * VPROTQ imm8, m128, xmm [XOP] +// * VPROTQ xmm, m128, xmm [XOP] +// +func (self *Program) VPROTQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPROTQ", 3, Operands { v0, v1, v2 }) + // VPROTQ imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78) + m.emit(0xc3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPROTQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0x93) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x93) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPROTQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x93) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPROTQ imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[2]), addr(v[1]), 0) + m.emit(0xc3) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPROTQ xmm, m128, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x93) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPROTQ") + } + return p +} + +// VPROTW performs "Packed Rotate Words". +// +// Mnemonic : VPROTW +// Supported forms : (5 forms) +// +// * VPROTW imm8, xmm, xmm [XOP] +// * VPROTW xmm, xmm, xmm [XOP] +// * VPROTW m128, xmm, xmm [XOP] +// * VPROTW imm8, m128, xmm [XOP] +// * VPROTW xmm, m128, xmm [XOP] +// +func (self *Program) VPROTW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPROTW", 3, Operands { v0, v1, v2 }) + // VPROTW imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe8 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78) + m.emit(0xc1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPROTW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0x91) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x91) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPROTW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x91) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPROTW imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1000, 0x00, hcode(v[2]), addr(v[1]), 0) + m.emit(0xc1) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPROTW xmm, m128, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x91) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPROTW") + } + return p +} + +// VPSADBW performs "Compute Sum of Absolute Differences". +// +// Mnemonic : VPSADBW +// Supported forms : (10 forms) +// +// * VPSADBW xmm, xmm, xmm [AVX] +// * VPSADBW m128, xmm, xmm [AVX] +// * VPSADBW ymm, ymm, ymm [AVX2] +// * VPSADBW m256, ymm, ymm [AVX2] +// * VPSADBW zmm, zmm, zmm [AVX512BW] +// * VPSADBW m512, zmm, zmm [AVX512BW] +// * VPSADBW xmm, xmm, xmm [AVX512BW,AVX512VL] +// * VPSADBW m128, xmm, xmm [AVX512BW,AVX512VL] +// * VPSADBW ymm, ymm, ymm [AVX512BW,AVX512VL] +// * VPSADBW m256, ymm, ymm [AVX512BW,AVX512VL] +// +func (self *Program) VPSADBW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSADBW", 3, Operands { v0, v1, v2 }) + // VPSADBW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSADBW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf6) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSADBW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSADBW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf6) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSADBW zmm, zmm, zmm + if isZMM(v0) && isZMM(v1) && isZMM(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x40) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSADBW m512, zmm, zmm + if isM512(v0) && isZMM(v1) && isZMM(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0xf6) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSADBW xmm, xmm, xmm + if isEVEXXMM(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x00) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSADBW m128, xmm, xmm + if isM128(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0xf6) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSADBW ymm, ymm, ymm + if isEVEXYMM(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | 0x20) + m.emit(0xf6) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSADBW m256, ymm, ymm + if isM256(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), 0, 0, 0) + m.emit(0xf6) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPSADBW") + } + return p +} + +// VPSCATTERDD performs "Scatter Packed Doubleword Values with Signed Doubleword Indices". +// +// Mnemonic : VPSCATTERDD +// Supported forms : (3 forms) +// +// * VPSCATTERDD zmm, vm32z{k} [AVX512F] +// * VPSCATTERDD xmm, vm32x{k} [AVX512F,AVX512VL] +// * VPSCATTERDD ymm, vm32y{k} [AVX512F,AVX512VL] +// +func (self *Program) VPSCATTERDD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPSCATTERDD", 2, Operands { v0, v1 }) + // VPSCATTERDD zmm, vm32z{k} + if isZMM(v0) && isVMZk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa0) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VPSCATTERDD xmm, vm32x{k} + if isEVEXXMM(v0) && isVMXk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa0) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VPSCATTERDD ymm, vm32y{k} + if isEVEXYMM(v0) && isVMYk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa0) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPSCATTERDD") + } + return p +} + +// VPSCATTERDQ performs "Scatter Packed Quadword Values with Signed Doubleword Indices". +// +// Mnemonic : VPSCATTERDQ +// Supported forms : (3 forms) +// +// * VPSCATTERDQ zmm, vm32y{k} [AVX512F] +// * VPSCATTERDQ xmm, vm32x{k} [AVX512F,AVX512VL] +// * VPSCATTERDQ ymm, vm32x{k} [AVX512F,AVX512VL] +// +func (self *Program) VPSCATTERDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPSCATTERDQ", 2, Operands { v0, v1 }) + // VPSCATTERDQ zmm, vm32y{k} + if isZMM(v0) && isVMYk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa0) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPSCATTERDQ xmm, vm32x{k} + if isEVEXXMM(v0) && isVMXk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa0) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPSCATTERDQ ymm, vm32x{k} + if isEVEXYMM(v0) && isVMXk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa0) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPSCATTERDQ") + } + return p +} + +// VPSCATTERQD performs "Scatter Packed Doubleword Values with Signed Quadword Indices". +// +// Mnemonic : VPSCATTERQD +// Supported forms : (3 forms) +// +// * VPSCATTERQD ymm, vm64z{k} [AVX512F] +// * VPSCATTERQD xmm, vm64x{k} [AVX512F,AVX512VL] +// * VPSCATTERQD xmm, vm64y{k} [AVX512F,AVX512VL] +// +func (self *Program) VPSCATTERQD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPSCATTERQD", 2, Operands { v0, v1 }) + // VPSCATTERQD ymm, vm64z{k} + if isEVEXYMM(v0) && isVMZk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa1) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VPSCATTERQD xmm, vm64x{k} + if isEVEXXMM(v0) && isVMXk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa1) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VPSCATTERQD xmm, vm64y{k} + if isEVEXXMM(v0) && isVMYk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa1) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VPSCATTERQD") + } + return p +} + +// VPSCATTERQQ performs "Scatter Packed Quadword Values with Signed Quadword Indices". +// +// Mnemonic : VPSCATTERQQ +// Supported forms : (3 forms) +// +// * VPSCATTERQQ zmm, vm64z{k} [AVX512F] +// * VPSCATTERQQ xmm, vm64x{k} [AVX512F,AVX512VL] +// * VPSCATTERQQ ymm, vm64y{k} [AVX512F,AVX512VL] +// +func (self *Program) VPSCATTERQQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPSCATTERQQ", 2, Operands { v0, v1 }) + // VPSCATTERQQ zmm, vm64z{k} + if isZMM(v0) && isVMZk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa1) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPSCATTERQQ xmm, vm64x{k} + if isEVEXXMM(v0) && isVMXk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa1) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VPSCATTERQQ ymm, vm64y{k} + if isEVEXYMM(v0) && isVMYk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa1) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VPSCATTERQQ") + } + return p +} + +// VPSHAB performs "Packed Shift Arithmetic Bytes". +// +// Mnemonic : VPSHAB +// Supported forms : (3 forms) +// +// * VPSHAB xmm, xmm, xmm [XOP] +// * VPSHAB m128, xmm, xmm [XOP] +// * VPSHAB xmm, m128, xmm [XOP] +// +func (self *Program) VPSHAB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSHAB", 3, Operands { v0, v1, v2 }) + // VPSHAB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0x98) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x98) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHAB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x98) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSHAB xmm, m128, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x98) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPSHAB") + } + return p +} + +// VPSHAD performs "Packed Shift Arithmetic Doublewords". +// +// Mnemonic : VPSHAD +// Supported forms : (3 forms) +// +// * VPSHAD xmm, xmm, xmm [XOP] +// * VPSHAD m128, xmm, xmm [XOP] +// * VPSHAD xmm, m128, xmm [XOP] +// +func (self *Program) VPSHAD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSHAD", 3, Operands { v0, v1, v2 }) + // VPSHAD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x9a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHAD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSHAD xmm, m128, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x9a) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPSHAD") + } + return p +} + +// VPSHAQ performs "Packed Shift Arithmetic Quadwords". +// +// Mnemonic : VPSHAQ +// Supported forms : (3 forms) +// +// * VPSHAQ xmm, xmm, xmm [XOP] +// * VPSHAQ m128, xmm, xmm [XOP] +// * VPSHAQ xmm, m128, xmm [XOP] +// +func (self *Program) VPSHAQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSHAQ", 3, Operands { v0, v1, v2 }) + // VPSHAQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0x9b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x9b) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHAQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x9b) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSHAQ xmm, m128, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x9b) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPSHAQ") + } + return p +} + +// VPSHAW performs "Packed Shift Arithmetic Words". +// +// Mnemonic : VPSHAW +// Supported forms : (3 forms) +// +// * VPSHAW xmm, xmm, xmm [XOP] +// * VPSHAW m128, xmm, xmm [XOP] +// * VPSHAW xmm, m128, xmm [XOP] +// +func (self *Program) VPSHAW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSHAW", 3, Operands { v0, v1, v2 }) + // VPSHAW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0x99) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x99) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHAW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x99) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSHAW xmm, m128, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x99) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPSHAW") + } + return p +} + +// VPSHLB performs "Packed Shift Logical Bytes". +// +// Mnemonic : VPSHLB +// Supported forms : (3 forms) +// +// * VPSHLB xmm, xmm, xmm [XOP] +// * VPSHLB m128, xmm, xmm [XOP] +// * VPSHLB xmm, m128, xmm [XOP] +// +func (self *Program) VPSHLB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSHLB", 3, Operands { v0, v1, v2 }) + // VPSHLB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0x94) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x94) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHLB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x94) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSHLB xmm, m128, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x94) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPSHLB") + } + return p +} + +// VPSHLD performs "Packed Shift Logical Doublewords". +// +// Mnemonic : VPSHLD +// Supported forms : (3 forms) +// +// * VPSHLD xmm, xmm, xmm [XOP] +// * VPSHLD m128, xmm, xmm [XOP] +// * VPSHLD xmm, m128, xmm [XOP] +// +func (self *Program) VPSHLD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSHLD", 3, Operands { v0, v1, v2 }) + // VPSHLD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0x96) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x96) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHLD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x96) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSHLD xmm, m128, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x96) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPSHLD") + } + return p +} + +// VPSHLQ performs "Packed Shift Logical Quadwords". +// +// Mnemonic : VPSHLQ +// Supported forms : (3 forms) +// +// * VPSHLQ xmm, xmm, xmm [XOP] +// * VPSHLQ m128, xmm, xmm [XOP] +// * VPSHLQ xmm, m128, xmm [XOP] +// +func (self *Program) VPSHLQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSHLQ", 3, Operands { v0, v1, v2 }) + // VPSHLQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0x97) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x97) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHLQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x97) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSHLQ xmm, m128, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x97) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPSHLQ") + } + return p +} + +// VPSHLW performs "Packed Shift Logical Words". +// +// Mnemonic : VPSHLW +// Supported forms : (3 forms) +// +// * VPSHLW xmm, xmm, xmm [XOP] +// * VPSHLW m128, xmm, xmm [XOP] +// * VPSHLW xmm, m128, xmm [XOP] +// +func (self *Program) VPSHLW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSHLW", 3, Operands { v0, v1, v2 }) + // VPSHLW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x78 ^ (hlcode(v[0]) << 3)) + m.emit(0x95) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x8f) + m.emit(0xe9 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf8 ^ (hlcode(v[1]) << 3)) + m.emit(0x95) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHLW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x80, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x95) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSHLW xmm, m128, xmm + if isXMM(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_XOP) + p.domain = DomainAMDSpecific + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0x8f, 0b1001, 0x00, hcode(v[2]), addr(v[1]), hlcode(v[0])) + m.emit(0x95) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPSHLW") + } + return p +} + +// VPSHUFB performs "Packed Shuffle Bytes". +// +// Mnemonic : VPSHUFB +// Supported forms : (10 forms) +// +// * VPSHUFB xmm, xmm, xmm [AVX] +// * VPSHUFB m128, xmm, xmm [AVX] +// * VPSHUFB ymm, ymm, ymm [AVX2] +// * VPSHUFB m256, ymm, ymm [AVX2] +// * VPSHUFB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSHUFB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPSHUFB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSHUFB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSHUFB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSHUFB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSHUFB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSHUFB", 3, Operands { v0, v1, v2 }) + // VPSHUFB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x00) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHUFB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x00) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSHUFB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x00) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHUFB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x00) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSHUFB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x00) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHUFB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x00) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSHUFB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x00) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHUFB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x00) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSHUFB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x00) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSHUFB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x00) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPSHUFB") + } + return p +} + +// VPSHUFD performs "Shuffle Packed Doublewords". +// +// Mnemonic : VPSHUFD +// Supported forms : (10 forms) +// +// * VPSHUFD imm8, xmm, xmm [AVX] +// * VPSHUFD imm8, m128, xmm [AVX] +// * VPSHUFD imm8, ymm, ymm [AVX2] +// * VPSHUFD imm8, m256, ymm [AVX2] +// * VPSHUFD imm8, m512/m32bcst, zmm{k}{z} [AVX512F] +// * VPSHUFD imm8, zmm, zmm{k}{z} [AVX512F] +// * VPSHUFD imm8, m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSHUFD imm8, m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSHUFD imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSHUFD imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSHUFD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSHUFD", 3, Operands { v0, v1, v2 }) + // VPSHUFD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[1], 0) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFD imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[1]), 0) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFD imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[1], 0) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFD imm8, m256, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[1]), 0) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFD imm8, m512/m32bcst, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFD imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFD imm8, m128/m32bcst, xmm{k}{z} + if isImm8(v0) && isM128M32bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFD imm8, m256/m32bcst, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFD imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x08) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFD imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSHUFD") + } + return p +} + +// VPSHUFHW performs "Shuffle Packed High Words". +// +// Mnemonic : VPSHUFHW +// Supported forms : (10 forms) +// +// * VPSHUFHW imm8, xmm, xmm [AVX] +// * VPSHUFHW imm8, m128, xmm [AVX] +// * VPSHUFHW imm8, ymm, ymm [AVX2] +// * VPSHUFHW imm8, m256, ymm [AVX2] +// * VPSHUFHW imm8, zmm, zmm{k}{z} [AVX512BW] +// * VPSHUFHW imm8, m512, zmm{k}{z} [AVX512BW] +// * VPSHUFHW imm8, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSHUFHW imm8, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSHUFHW imm8, m128, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSHUFHW imm8, m256, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSHUFHW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSHUFHW", 3, Operands { v0, v1, v2 }) + // VPSHUFHW imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[1], 0) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFHW imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), addr(v[1]), 0) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFHW imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[2]), v[1], 0) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFHW imm8, m256, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(6, hcode(v[2]), addr(v[1]), 0) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFHW imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFHW imm8, m512, zmm{k}{z} + if isImm8(v0) && isM512(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFHW imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x08) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFHW imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFHW imm8, m128, xmm{k}{z} + if isImm8(v0) && isM128(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFHW imm8, m256, ymm{k}{z} + if isImm8(v0) && isM256(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSHUFHW") + } + return p +} + +// VPSHUFLW performs "Shuffle Packed Low Words". +// +// Mnemonic : VPSHUFLW +// Supported forms : (10 forms) +// +// * VPSHUFLW imm8, xmm, xmm [AVX] +// * VPSHUFLW imm8, m128, xmm [AVX] +// * VPSHUFLW imm8, ymm, ymm [AVX2] +// * VPSHUFLW imm8, m256, ymm [AVX2] +// * VPSHUFLW imm8, zmm, zmm{k}{z} [AVX512BW] +// * VPSHUFLW imm8, m512, zmm{k}{z} [AVX512BW] +// * VPSHUFLW imm8, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSHUFLW imm8, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSHUFLW imm8, m128, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSHUFLW imm8, m256, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSHUFLW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSHUFLW", 3, Operands { v0, v1, v2 }) + // VPSHUFLW imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[1], 0) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFLW imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[1]), 0) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFLW imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[2]), v[1], 0) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFLW imm8, m256, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(7, hcode(v[2]), addr(v[1]), 0) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFLW imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFLW imm8, m512, zmm{k}{z} + if isImm8(v0) && isM512(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFLW imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x08) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFLW imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7f) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x70) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFLW imm8, m128, xmm{k}{z} + if isImm8(v0) && isM128(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSHUFLW imm8, m256, ymm{k}{z} + if isImm8(v0) && isM256(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x07, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), 0) + m.emit(0x70) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSHUFLW") + } + return p +} + +// VPSIGNB performs "Packed Sign of Byte Integers". +// +// Mnemonic : VPSIGNB +// Supported forms : (4 forms) +// +// * VPSIGNB xmm, xmm, xmm [AVX] +// * VPSIGNB m128, xmm, xmm [AVX] +// * VPSIGNB ymm, ymm, ymm [AVX2] +// * VPSIGNB m256, ymm, ymm [AVX2] +// +func (self *Program) VPSIGNB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSIGNB", 3, Operands { v0, v1, v2 }) + // VPSIGNB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x08) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSIGNB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x08) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSIGNB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x08) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSIGNB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x08) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPSIGNB") + } + return p +} + +// VPSIGND performs "Packed Sign of Doubleword Integers". +// +// Mnemonic : VPSIGND +// Supported forms : (4 forms) +// +// * VPSIGND xmm, xmm, xmm [AVX] +// * VPSIGND m128, xmm, xmm [AVX] +// * VPSIGND ymm, ymm, ymm [AVX2] +// * VPSIGND m256, ymm, ymm [AVX2] +// +func (self *Program) VPSIGND(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSIGND", 3, Operands { v0, v1, v2 }) + // VPSIGND xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x0a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSIGND m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x0a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSIGND ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x0a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSIGND m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x0a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPSIGND") + } + return p +} + +// VPSIGNW performs "Packed Sign of Word Integers". +// +// Mnemonic : VPSIGNW +// Supported forms : (4 forms) +// +// * VPSIGNW xmm, xmm, xmm [AVX] +// * VPSIGNW m128, xmm, xmm [AVX] +// * VPSIGNW ymm, ymm, ymm [AVX2] +// * VPSIGNW m256, ymm, ymm [AVX2] +// +func (self *Program) VPSIGNW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSIGNW", 3, Operands { v0, v1, v2 }) + // VPSIGNW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x09) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSIGNW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x09) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSIGNW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x09) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSIGNW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x09) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPSIGNW") + } + return p +} + +// VPSLLD performs "Shift Packed Doubleword Data Left Logical". +// +// Mnemonic : VPSLLD +// Supported forms : (18 forms) +// +// * VPSLLD imm8, xmm, xmm [AVX] +// * VPSLLD xmm, xmm, xmm [AVX] +// * VPSLLD m128, xmm, xmm [AVX] +// * VPSLLD imm8, ymm, ymm [AVX2] +// * VPSLLD xmm, ymm, ymm [AVX2] +// * VPSLLD m128, ymm, ymm [AVX2] +// * VPSLLD imm8, m512/m32bcst, zmm{k}{z} [AVX512F] +// * VPSLLD imm8, zmm, zmm{k}{z} [AVX512F] +// * VPSLLD xmm, zmm, zmm{k}{z} [AVX512F] +// * VPSLLD m128, zmm, zmm{k}{z} [AVX512F] +// * VPSLLD imm8, m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSLLD imm8, m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSLLD imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSLLD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSLLD m128, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSLLD imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSLLD xmm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSLLD m128, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSLLD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSLLD", 3, Operands { v0, v1, v2 }) + // VPSLLD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, v[1], hlcode(v[2])) + m.emit(0x72) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf2) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSLLD imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, v[1], hlcode(v[2])) + m.emit(0x72) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLD xmm, ymm, ymm + if isXMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLD m128, ymm, ymm + if isM128(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf2) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSLLD imm8, m512/m32bcst, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(6, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLD imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x72) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLD xmm, zmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xf2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLD m128, zmm, zmm{k}{z} + if isM128(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf2) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSLLD imm8, m128/m32bcst, xmm{k}{z} + if isImm8(v0) && isM128M32bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(6, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLD imm8, m256/m32bcst, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(6, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLD imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x72) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xf2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLD m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf2) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSLLD imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x72) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLD xmm, ymm, ymm{k}{z} + if isEVEXXMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xf2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLD m128, ymm, ymm{k}{z} + if isM128(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf2) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPSLLD") + } + return p +} + +// VPSLLDQ performs "Shift Packed Double Quadword Left Logical". +// +// Mnemonic : VPSLLDQ +// Supported forms : (8 forms) +// +// * VPSLLDQ imm8, xmm, xmm [AVX] +// * VPSLLDQ imm8, ymm, ymm [AVX2] +// * VPSLLDQ imm8, zmm, zmm [AVX512BW] +// * VPSLLDQ imm8, m512, zmm [AVX512BW] +// * VPSLLDQ imm8, xmm, xmm [AVX512BW,AVX512VL] +// * VPSLLDQ imm8, m128, xmm [AVX512BW,AVX512VL] +// * VPSLLDQ imm8, ymm, ymm [AVX512BW,AVX512VL] +// * VPSLLDQ imm8, m256, ymm [AVX512BW,AVX512VL] +// +func (self *Program) VPSLLDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSLLDQ", 3, Operands { v0, v1, v2 }) + // VPSLLDQ imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, v[1], hlcode(v[2])) + m.emit(0x73) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLDQ imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, v[1], hlcode(v[2])) + m.emit(0x73) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLDQ imm8, zmm, zmm + if isImm8(v0) && isZMM(v1) && isZMM(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | 0x40) + m.emit(0x73) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLDQ imm8, m512, zmm + if isImm8(v0) && isM512(v1) && isZMM(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, 0, addr(v[1]), vcode(v[2]), 0, 0, 0) + m.emit(0x73) + m.mrsd(7, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLDQ imm8, xmm, xmm + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | 0x00) + m.emit(0x73) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLDQ imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, 0, addr(v[1]), vcode(v[2]), 0, 0, 0) + m.emit(0x73) + m.mrsd(7, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLDQ imm8, ymm, ymm + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | 0x20) + m.emit(0x73) + m.emit(0xf8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLDQ imm8, m256, ymm + if isImm8(v0) && isM256(v1) && isEVEXYMM(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, 0, addr(v[1]), vcode(v[2]), 0, 0, 0) + m.emit(0x73) + m.mrsd(7, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSLLDQ") + } + return p +} + +// VPSLLQ performs "Shift Packed Quadword Data Left Logical". +// +// Mnemonic : VPSLLQ +// Supported forms : (18 forms) +// +// * VPSLLQ imm8, xmm, xmm [AVX] +// * VPSLLQ xmm, xmm, xmm [AVX] +// * VPSLLQ m128, xmm, xmm [AVX] +// * VPSLLQ imm8, ymm, ymm [AVX2] +// * VPSLLQ xmm, ymm, ymm [AVX2] +// * VPSLLQ m128, ymm, ymm [AVX2] +// * VPSLLQ imm8, m512/m64bcst, zmm{k}{z} [AVX512F] +// * VPSLLQ imm8, zmm, zmm{k}{z} [AVX512F] +// * VPSLLQ xmm, zmm, zmm{k}{z} [AVX512F] +// * VPSLLQ m128, zmm, zmm{k}{z} [AVX512F] +// * VPSLLQ imm8, m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSLLQ imm8, m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSLLQ imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSLLQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSLLQ m128, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSLLQ imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSLLQ xmm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSLLQ m128, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSLLQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSLLQ", 3, Operands { v0, v1, v2 }) + // VPSLLQ imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, v[1], hlcode(v[2])) + m.emit(0x73) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf3) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSLLQ imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, v[1], hlcode(v[2])) + m.emit(0x73) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLQ xmm, ymm, ymm + if isXMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLQ m128, ymm, ymm + if isM128(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf3) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSLLQ imm8, m512/m64bcst, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x73) + m.mrsd(6, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLQ imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x73) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLQ xmm, zmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xf3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLQ m128, zmm, zmm{k}{z} + if isM128(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf3) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSLLQ imm8, m128/m64bcst, xmm{k}{z} + if isImm8(v0) && isM128M64bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x73) + m.mrsd(6, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLQ imm8, m256/m64bcst, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x73) + m.mrsd(6, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLQ imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x73) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xf3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLQ m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf3) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSLLQ imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x73) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLQ xmm, ymm, ymm{k}{z} + if isEVEXXMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xf3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLQ m128, ymm, ymm{k}{z} + if isM128(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf3) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPSLLQ") + } + return p +} + +// VPSLLVD performs "Variable Shift Packed Doubleword Data Left Logical". +// +// Mnemonic : VPSLLVD +// Supported forms : (10 forms) +// +// * VPSLLVD xmm, xmm, xmm [AVX2] +// * VPSLLVD m128, xmm, xmm [AVX2] +// * VPSLLVD ymm, ymm, ymm [AVX2] +// * VPSLLVD m256, ymm, ymm [AVX2] +// * VPSLLVD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPSLLVD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPSLLVD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSLLVD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSLLVD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSLLVD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSLLVD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSLLVD", 3, Operands { v0, v1, v2 }) + // VPSLLVD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLVD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x47) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSLLVD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLVD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x47) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSLLVD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x47) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSLLVD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLVD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x47) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSLLVD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLVD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x47) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPSLLVD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSLLVD") + } + return p +} + +// VPSLLVQ performs "Variable Shift Packed Quadword Data Left Logical". +// +// Mnemonic : VPSLLVQ +// Supported forms : (10 forms) +// +// * VPSLLVQ xmm, xmm, xmm [AVX2] +// * VPSLLVQ m128, xmm, xmm [AVX2] +// * VPSLLVQ ymm, ymm, ymm [AVX2] +// * VPSLLVQ m256, ymm, ymm [AVX2] +// * VPSLLVQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPSLLVQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPSLLVQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSLLVQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSLLVQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSLLVQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSLLVQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSLLVQ", 3, Operands { v0, v1, v2 }) + // VPSLLVQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLVQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x47) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSLLVQ ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLVQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x47) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSLLVQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x47) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSLLVQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLVQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x47) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSLLVQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLVQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x47) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPSLLVQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x47) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSLLVQ") + } + return p +} + +// VPSLLVW performs "Variable Shift Packed Word Data Left Logical". +// +// Mnemonic : VPSLLVW +// Supported forms : (6 forms) +// +// * VPSLLVW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSLLVW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPSLLVW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSLLVW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSLLVW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSLLVW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSLLVW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSLLVW", 3, Operands { v0, v1, v2 }) + // VPSLLVW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x12) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLVW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x12) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSLLVW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x12) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLVW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x12) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSLLVW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x12) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLVW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x12) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPSLLVW") + } + return p +} + +// VPSLLW performs "Shift Packed Word Data Left Logical". +// +// Mnemonic : VPSLLW +// Supported forms : (18 forms) +// +// * VPSLLW imm8, xmm, xmm [AVX] +// * VPSLLW xmm, xmm, xmm [AVX] +// * VPSLLW m128, xmm, xmm [AVX] +// * VPSLLW imm8, ymm, ymm [AVX2] +// * VPSLLW xmm, ymm, ymm [AVX2] +// * VPSLLW m128, ymm, ymm [AVX2] +// * VPSLLW imm8, zmm, zmm{k}{z} [AVX512BW] +// * VPSLLW xmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSLLW m128, zmm, zmm{k}{z} [AVX512BW] +// * VPSLLW imm8, m512, zmm{k}{z} [AVX512BW] +// * VPSLLW imm8, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSLLW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSLLW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSLLW imm8, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSLLW xmm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSLLW m128, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSLLW imm8, m128, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSLLW imm8, m256, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSLLW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSLLW", 3, Operands { v0, v1, v2 }) + // VPSLLW imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, v[1], hlcode(v[2])) + m.emit(0x71) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf1) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSLLW imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, v[1], hlcode(v[2])) + m.emit(0x71) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLW xmm, ymm, ymm + if isXMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLW m128, ymm, ymm + if isM128(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf1) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSLLW imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x71) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLW xmm, zmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xf1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLW m128, zmm, zmm{k}{z} + if isM128(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf1) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSLLW imm8, m512, zmm{k}{z} + if isImm8(v0) && isM512(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x71) + m.mrsd(6, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLW imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x71) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xf1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf1) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSLLW imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x71) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLW xmm, ymm, ymm{k}{z} + if isEVEXXMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xf1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSLLW m128, ymm, ymm{k}{z} + if isM128(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf1) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSLLW imm8, m128, xmm{k}{z} + if isImm8(v0) && isM128(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x71) + m.mrsd(6, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSLLW imm8, m256, ymm{k}{z} + if isImm8(v0) && isM256(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x71) + m.mrsd(6, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSLLW") + } + return p +} + +// VPSRAD performs "Shift Packed Doubleword Data Right Arithmetic". +// +// Mnemonic : VPSRAD +// Supported forms : (18 forms) +// +// * VPSRAD imm8, xmm, xmm [AVX] +// * VPSRAD xmm, xmm, xmm [AVX] +// * VPSRAD m128, xmm, xmm [AVX] +// * VPSRAD imm8, ymm, ymm [AVX2] +// * VPSRAD xmm, ymm, ymm [AVX2] +// * VPSRAD m128, ymm, ymm [AVX2] +// * VPSRAD imm8, m512/m32bcst, zmm{k}{z} [AVX512F] +// * VPSRAD imm8, zmm, zmm{k}{z} [AVX512F] +// * VPSRAD xmm, zmm, zmm{k}{z} [AVX512F] +// * VPSRAD m128, zmm, zmm{k}{z} [AVX512F] +// * VPSRAD imm8, m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRAD imm8, m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRAD imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRAD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRAD m128, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRAD imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRAD xmm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRAD m128, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSRAD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRAD", 3, Operands { v0, v1, v2 }) + // VPSRAD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, v[1], hlcode(v[2])) + m.emit(0x72) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe2) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRAD imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, v[1], hlcode(v[2])) + m.emit(0x72) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAD xmm, ymm, ymm + if isXMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAD m128, ymm, ymm + if isM128(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe2) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRAD imm8, m512/m32bcst, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(4, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAD imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x72) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAD xmm, zmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xe2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAD m128, zmm, zmm{k}{z} + if isM128(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe2) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRAD imm8, m128/m32bcst, xmm{k}{z} + if isImm8(v0) && isM128M32bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(4, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAD imm8, m256/m32bcst, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(4, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAD imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x72) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xe2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAD m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe2) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRAD imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x72) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAD xmm, ymm, ymm{k}{z} + if isEVEXXMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xe2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAD m128, ymm, ymm{k}{z} + if isM128(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe2) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRAD") + } + return p +} + +// VPSRAQ performs "Shift Packed Quadword Data Right Arithmetic". +// +// Mnemonic : VPSRAQ +// Supported forms : (12 forms) +// +// * VPSRAQ imm8, m512/m64bcst, zmm{k}{z} [AVX512F] +// * VPSRAQ imm8, zmm, zmm{k}{z} [AVX512F] +// * VPSRAQ xmm, zmm, zmm{k}{z} [AVX512F] +// * VPSRAQ m128, zmm, zmm{k}{z} [AVX512F] +// * VPSRAQ imm8, m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRAQ imm8, m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRAQ imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRAQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRAQ m128, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRAQ imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRAQ xmm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRAQ m128, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSRAQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRAQ", 3, Operands { v0, v1, v2 }) + // VPSRAQ imm8, m512/m64bcst, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(4, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAQ imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x72) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAQ xmm, zmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xe2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAQ m128, zmm, zmm{k}{z} + if isM128(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe2) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRAQ imm8, m128/m64bcst, xmm{k}{z} + if isImm8(v0) && isM128M64bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(4, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAQ imm8, m256/m64bcst, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(4, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAQ imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x72) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xe2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAQ m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe2) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRAQ imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x72) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAQ xmm, ymm, ymm{k}{z} + if isEVEXXMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xe2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAQ m128, ymm, ymm{k}{z} + if isM128(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe2) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRAQ") + } + return p +} + +// VPSRAVD performs "Variable Shift Packed Doubleword Data Right Arithmetic". +// +// Mnemonic : VPSRAVD +// Supported forms : (10 forms) +// +// * VPSRAVD xmm, xmm, xmm [AVX2] +// * VPSRAVD m128, xmm, xmm [AVX2] +// * VPSRAVD ymm, ymm, ymm [AVX2] +// * VPSRAVD m256, ymm, ymm [AVX2] +// * VPSRAVD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPSRAVD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPSRAVD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRAVD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRAVD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRAVD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSRAVD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRAVD", 3, Operands { v0, v1, v2 }) + // VPSRAVD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x46) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAVD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x46) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRAVD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x46) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAVD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x46) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRAVD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x46) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSRAVD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x46) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAVD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x46) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRAVD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x46) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAVD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x46) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPSRAVD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x46) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRAVD") + } + return p +} + +// VPSRAVQ performs "Variable Shift Packed Quadword Data Right Arithmetic". +// +// Mnemonic : VPSRAVQ +// Supported forms : (6 forms) +// +// * VPSRAVQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPSRAVQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPSRAVQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRAVQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRAVQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRAVQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSRAVQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRAVQ", 3, Operands { v0, v1, v2 }) + // VPSRAVQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x46) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSRAVQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x46) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAVQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x46) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRAVQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x46) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAVQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x46) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPSRAVQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x46) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRAVQ") + } + return p +} + +// VPSRAVW performs "Variable Shift Packed Word Data Right Arithmetic". +// +// Mnemonic : VPSRAVW +// Supported forms : (6 forms) +// +// * VPSRAVW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSRAVW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPSRAVW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSRAVW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSRAVW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSRAVW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSRAVW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRAVW", 3, Operands { v0, v1, v2 }) + // VPSRAVW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x11) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAVW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x11) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSRAVW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x11) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAVW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x11) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRAVW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x11) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAVW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x11) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRAVW") + } + return p +} + +// VPSRAW performs "Shift Packed Word Data Right Arithmetic". +// +// Mnemonic : VPSRAW +// Supported forms : (18 forms) +// +// * VPSRAW imm8, xmm, xmm [AVX] +// * VPSRAW xmm, xmm, xmm [AVX] +// * VPSRAW m128, xmm, xmm [AVX] +// * VPSRAW imm8, ymm, ymm [AVX2] +// * VPSRAW xmm, ymm, ymm [AVX2] +// * VPSRAW m128, ymm, ymm [AVX2] +// * VPSRAW imm8, zmm, zmm{k}{z} [AVX512BW] +// * VPSRAW xmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSRAW m128, zmm, zmm{k}{z} [AVX512BW] +// * VPSRAW imm8, m512, zmm{k}{z} [AVX512BW] +// * VPSRAW imm8, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSRAW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSRAW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSRAW imm8, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSRAW xmm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSRAW m128, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSRAW imm8, m128, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSRAW imm8, m256, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSRAW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRAW", 3, Operands { v0, v1, v2 }) + // VPSRAW imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, v[1], hlcode(v[2])) + m.emit(0x71) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe1) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRAW imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, v[1], hlcode(v[2])) + m.emit(0x71) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAW xmm, ymm, ymm + if isXMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAW m128, ymm, ymm + if isM128(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe1) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRAW imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x71) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAW xmm, zmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xe1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAW m128, zmm, zmm{k}{z} + if isM128(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe1) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRAW imm8, m512, zmm{k}{z} + if isImm8(v0) && isM512(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x71) + m.mrsd(4, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAW imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x71) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xe1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe1) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRAW imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x71) + m.emit(0xe0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAW xmm, ymm, ymm{k}{z} + if isEVEXXMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xe1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRAW m128, ymm, ymm{k}{z} + if isM128(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe1) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRAW imm8, m128, xmm{k}{z} + if isImm8(v0) && isM128(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x71) + m.mrsd(4, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRAW imm8, m256, ymm{k}{z} + if isImm8(v0) && isM256(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x71) + m.mrsd(4, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRAW") + } + return p +} + +// VPSRLD performs "Shift Packed Doubleword Data Right Logical". +// +// Mnemonic : VPSRLD +// Supported forms : (18 forms) +// +// * VPSRLD imm8, xmm, xmm [AVX] +// * VPSRLD xmm, xmm, xmm [AVX] +// * VPSRLD m128, xmm, xmm [AVX] +// * VPSRLD imm8, ymm, ymm [AVX2] +// * VPSRLD xmm, ymm, ymm [AVX2] +// * VPSRLD m128, ymm, ymm [AVX2] +// * VPSRLD imm8, m512/m32bcst, zmm{k}{z} [AVX512F] +// * VPSRLD imm8, zmm, zmm{k}{z} [AVX512F] +// * VPSRLD xmm, zmm, zmm{k}{z} [AVX512F] +// * VPSRLD m128, zmm, zmm{k}{z} [AVX512F] +// * VPSRLD imm8, m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRLD imm8, m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRLD imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRLD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRLD m128, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRLD imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRLD xmm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRLD m128, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSRLD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRLD", 3, Operands { v0, v1, v2 }) + // VPSRLD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, v[1], hlcode(v[2])) + m.emit(0x72) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd2) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRLD imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, v[1], hlcode(v[2])) + m.emit(0x72) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLD xmm, ymm, ymm + if isXMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLD m128, ymm, ymm + if isM128(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd2) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRLD imm8, m512/m32bcst, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(2, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLD imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x72) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLD xmm, zmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xd2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLD m128, zmm, zmm{k}{z} + if isM128(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd2) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRLD imm8, m128/m32bcst, xmm{k}{z} + if isImm8(v0) && isM128M32bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(2, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLD imm8, m256/m32bcst, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x72) + m.mrsd(2, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLD imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x72) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xd2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLD m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd2) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRLD imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x72) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLD xmm, ymm, ymm{k}{z} + if isEVEXXMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xd2) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLD m128, ymm, ymm{k}{z} + if isM128(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd2) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRLD") + } + return p +} + +// VPSRLDQ performs "Shift Packed Double Quadword Right Logical". +// +// Mnemonic : VPSRLDQ +// Supported forms : (8 forms) +// +// * VPSRLDQ imm8, xmm, xmm [AVX] +// * VPSRLDQ imm8, ymm, ymm [AVX2] +// * VPSRLDQ imm8, zmm, zmm [AVX512BW] +// * VPSRLDQ imm8, m512, zmm [AVX512BW] +// * VPSRLDQ imm8, xmm, xmm [AVX512BW,AVX512VL] +// * VPSRLDQ imm8, m128, xmm [AVX512BW,AVX512VL] +// * VPSRLDQ imm8, ymm, ymm [AVX512BW,AVX512VL] +// * VPSRLDQ imm8, m256, ymm [AVX512BW,AVX512VL] +// +func (self *Program) VPSRLDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRLDQ", 3, Operands { v0, v1, v2 }) + // VPSRLDQ imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, v[1], hlcode(v[2])) + m.emit(0x73) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLDQ imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, v[1], hlcode(v[2])) + m.emit(0x73) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLDQ imm8, zmm, zmm + if isImm8(v0) && isZMM(v1) && isZMM(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | 0x40) + m.emit(0x73) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLDQ imm8, m512, zmm + if isImm8(v0) && isM512(v1) && isZMM(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, 0, addr(v[1]), vcode(v[2]), 0, 0, 0) + m.emit(0x73) + m.mrsd(3, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLDQ imm8, xmm, xmm + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | 0x00) + m.emit(0x73) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLDQ imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isEVEXXMM(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, 0, addr(v[1]), vcode(v[2]), 0, 0, 0) + m.emit(0x73) + m.mrsd(3, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLDQ imm8, ymm, ymm + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((0x08 ^ (ecode(v[2]) << 3)) | 0x20) + m.emit(0x73) + m.emit(0xd8 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLDQ imm8, m256, ymm + if isImm8(v0) && isM256(v1) && isEVEXYMM(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, 0, addr(v[1]), vcode(v[2]), 0, 0, 0) + m.emit(0x73) + m.mrsd(3, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRLDQ") + } + return p +} + +// VPSRLQ performs "Shift Packed Quadword Data Right Logical". +// +// Mnemonic : VPSRLQ +// Supported forms : (18 forms) +// +// * VPSRLQ imm8, xmm, xmm [AVX] +// * VPSRLQ xmm, xmm, xmm [AVX] +// * VPSRLQ m128, xmm, xmm [AVX] +// * VPSRLQ imm8, ymm, ymm [AVX2] +// * VPSRLQ xmm, ymm, ymm [AVX2] +// * VPSRLQ m128, ymm, ymm [AVX2] +// * VPSRLQ imm8, m512/m64bcst, zmm{k}{z} [AVX512F] +// * VPSRLQ imm8, zmm, zmm{k}{z} [AVX512F] +// * VPSRLQ xmm, zmm, zmm{k}{z} [AVX512F] +// * VPSRLQ m128, zmm, zmm{k}{z} [AVX512F] +// * VPSRLQ imm8, m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRLQ imm8, m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRLQ imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRLQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRLQ m128, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRLQ imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRLQ xmm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRLQ m128, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSRLQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRLQ", 3, Operands { v0, v1, v2 }) + // VPSRLQ imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, v[1], hlcode(v[2])) + m.emit(0x73) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd3) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRLQ imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, v[1], hlcode(v[2])) + m.emit(0x73) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLQ xmm, ymm, ymm + if isXMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLQ m128, ymm, ymm + if isM128(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd3) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRLQ imm8, m512/m64bcst, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x73) + m.mrsd(2, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLQ imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x73) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLQ xmm, zmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xd3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLQ m128, zmm, zmm{k}{z} + if isM128(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd3) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRLQ imm8, m128/m64bcst, xmm{k}{z} + if isImm8(v0) && isM128M64bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x73) + m.mrsd(2, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLQ imm8, m256/m64bcst, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x73) + m.mrsd(2, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLQ imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x73) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xd3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLQ m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd3) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRLQ imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x73) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLQ xmm, ymm, ymm{k}{z} + if isEVEXXMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xd3) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLQ m128, ymm, ymm{k}{z} + if isM128(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd3) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRLQ") + } + return p +} + +// VPSRLVD performs "Variable Shift Packed Doubleword Data Right Logical". +// +// Mnemonic : VPSRLVD +// Supported forms : (10 forms) +// +// * VPSRLVD xmm, xmm, xmm [AVX2] +// * VPSRLVD m128, xmm, xmm [AVX2] +// * VPSRLVD ymm, ymm, ymm [AVX2] +// * VPSRLVD m256, ymm, ymm [AVX2] +// * VPSRLVD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPSRLVD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPSRLVD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRLVD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRLVD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRLVD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSRLVD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRLVD", 3, Operands { v0, v1, v2 }) + // VPSRLVD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79 ^ (hlcode(v[1]) << 3)) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLVD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x45) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRLVD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLVD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x45) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRLVD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x45) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSRLVD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLVD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x45) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRLVD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLVD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x45) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPSRLVD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRLVD") + } + return p +} + +// VPSRLVQ performs "Variable Shift Packed Quadword Data Right Logical". +// +// Mnemonic : VPSRLVQ +// Supported forms : (10 forms) +// +// * VPSRLVQ xmm, xmm, xmm [AVX2] +// * VPSRLVQ m128, xmm, xmm [AVX2] +// * VPSRLVQ ymm, ymm, ymm [AVX2] +// * VPSRLVQ m256, ymm, ymm [AVX2] +// * VPSRLVQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPSRLVQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPSRLVQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRLVQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSRLVQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSRLVQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSRLVQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRLVQ", 3, Operands { v0, v1, v2 }) + // VPSRLVQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xf9 ^ (hlcode(v[1]) << 3)) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLVQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x81, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x45) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRLVQ ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[2]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLVQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x85, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x45) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRLVQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x45) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSRLVQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLVQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x45) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRLVQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLVQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x45) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPSRLVQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x45) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRLVQ") + } + return p +} + +// VPSRLVW performs "Variable Shift Packed Word Data Right Logical". +// +// Mnemonic : VPSRLVW +// Supported forms : (6 forms) +// +// * VPSRLVW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSRLVW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPSRLVW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSRLVW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSRLVW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSRLVW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSRLVW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRLVW", 3, Operands { v0, v1, v2 }) + // VPSRLVW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x10) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLVW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x10) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSRLVW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x10) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLVW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x10) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRLVW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x10) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLVW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x10) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRLVW") + } + return p +} + +// VPSRLW performs "Shift Packed Word Data Right Logical". +// +// Mnemonic : VPSRLW +// Supported forms : (18 forms) +// +// * VPSRLW imm8, xmm, xmm [AVX] +// * VPSRLW xmm, xmm, xmm [AVX] +// * VPSRLW m128, xmm, xmm [AVX] +// * VPSRLW imm8, ymm, ymm [AVX2] +// * VPSRLW xmm, ymm, ymm [AVX2] +// * VPSRLW m128, ymm, ymm [AVX2] +// * VPSRLW imm8, zmm, zmm{k}{z} [AVX512BW] +// * VPSRLW xmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSRLW m128, zmm, zmm{k}{z} [AVX512BW] +// * VPSRLW imm8, m512, zmm{k}{z} [AVX512BW] +// * VPSRLW imm8, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSRLW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSRLW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSRLW imm8, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSRLW xmm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSRLW m128, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSRLW imm8, m128, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSRLW imm8, m256, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSRLW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSRLW", 3, Operands { v0, v1, v2 }) + // VPSRLW imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, 0, v[1], hlcode(v[2])) + m.emit(0x71) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd1) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRLW imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, 0, v[1], hlcode(v[2])) + m.emit(0x71) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLW xmm, ymm, ymm + if isXMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLW m128, ymm, ymm + if isM128(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd1) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSRLW imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x71) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLW xmm, zmm, zmm{k}{z} + if isEVEXXMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xd1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLW m128, zmm, zmm{k}{z} + if isM128(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd1) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRLW imm8, m512, zmm{k}{z} + if isImm8(v0) && isM512(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x71) + m.mrsd(2, addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLW imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x71) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xd1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd1) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRLW imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ (ehcode(v[1]) << 5)) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x71) + m.emit(0xd0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLW xmm, ymm, ymm{k}{z} + if isEVEXXMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xd1) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSRLW m128, ymm, ymm{k}{z} + if isM128(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd1) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSRLW imm8, m128, xmm{k}{z} + if isImm8(v0) && isM128(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x71) + m.mrsd(2, addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPSRLW imm8, m256, ymm{k}{z} + if isImm8(v0) && isM256(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, 0, addr(v[1]), vcode(v[2]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x71) + m.mrsd(2, addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSRLW") + } + return p +} + +// VPSUBB performs "Subtract Packed Byte Integers". +// +// Mnemonic : VPSUBB +// Supported forms : (10 forms) +// +// * VPSUBB xmm, xmm, xmm [AVX] +// * VPSUBB m128, xmm, xmm [AVX] +// * VPSUBB ymm, ymm, ymm [AVX2] +// * VPSUBB m256, ymm, ymm [AVX2] +// * VPSUBB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSUBB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPSUBB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSUBB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSUBB", 3, Operands { v0, v1, v2 }) + // VPSUBB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xf8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf8) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSUBB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xf8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf8) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSUBB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xf8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf8) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPSUBB") + } + return p +} + +// VPSUBD performs "Subtract Packed Doubleword Integers". +// +// Mnemonic : VPSUBD +// Supported forms : (10 forms) +// +// * VPSUBD xmm, xmm, xmm [AVX] +// * VPSUBD m128, xmm, xmm [AVX] +// * VPSUBD ymm, ymm, ymm [AVX2] +// * VPSUBD m256, ymm, ymm [AVX2] +// * VPSUBD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPSUBD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPSUBD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSUBD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSUBD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSUBD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSUBD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSUBD", 3, Operands { v0, v1, v2 }) + // VPSUBD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xfa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xfa) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xfa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xfa) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xfa) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSUBD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xfa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xfa) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSUBD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xfa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xfa) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPSUBD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xfa) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSUBD") + } + return p +} + +// VPSUBQ performs "Subtract Packed Quadword Integers". +// +// Mnemonic : VPSUBQ +// Supported forms : (10 forms) +// +// * VPSUBQ xmm, xmm, xmm [AVX] +// * VPSUBQ m128, xmm, xmm [AVX] +// * VPSUBQ ymm, ymm, ymm [AVX2] +// * VPSUBQ m256, ymm, ymm [AVX2] +// * VPSUBQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPSUBQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPSUBQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSUBQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPSUBQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPSUBQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPSUBQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSUBQ", 3, Operands { v0, v1, v2 }) + // VPSUBQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xfb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xfb) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBQ ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xfb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xfb) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xfb) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSUBQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xfb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xfb) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSUBQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xfb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xfb) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPSUBQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xfb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPSUBQ") + } + return p +} + +// VPSUBSB performs "Subtract Packed Signed Byte Integers with Signed Saturation". +// +// Mnemonic : VPSUBSB +// Supported forms : (10 forms) +// +// * VPSUBSB xmm, xmm, xmm [AVX] +// * VPSUBSB m128, xmm, xmm [AVX] +// * VPSUBSB ymm, ymm, ymm [AVX2] +// * VPSUBSB m256, ymm, ymm [AVX2] +// * VPSUBSB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSUBSB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPSUBSB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBSB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBSB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBSB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSUBSB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSUBSB", 3, Operands { v0, v1, v2 }) + // VPSUBSB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBSB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBSB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBSB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBSB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xe8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBSB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe8) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSUBSB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xe8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBSB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe8) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSUBSB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xe8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBSB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe8) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPSUBSB") + } + return p +} + +// VPSUBSW performs "Subtract Packed Signed Word Integers with Signed Saturation". +// +// Mnemonic : VPSUBSW +// Supported forms : (10 forms) +// +// * VPSUBSW xmm, xmm, xmm [AVX] +// * VPSUBSW m128, xmm, xmm [AVX] +// * VPSUBSW ymm, ymm, ymm [AVX2] +// * VPSUBSW m256, ymm, ymm [AVX2] +// * VPSUBSW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSUBSW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPSUBSW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBSW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBSW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBSW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSUBSW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSUBSW", 3, Operands { v0, v1, v2 }) + // VPSUBSW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBSW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe9) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBSW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xe9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBSW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xe9) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBSW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xe9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBSW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe9) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSUBSW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xe9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBSW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe9) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSUBSW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xe9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBSW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xe9) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPSUBSW") + } + return p +} + +// VPSUBUSB performs "Subtract Packed Unsigned Byte Integers with Unsigned Saturation". +// +// Mnemonic : VPSUBUSB +// Supported forms : (10 forms) +// +// * VPSUBUSB xmm, xmm, xmm [AVX] +// * VPSUBUSB m128, xmm, xmm [AVX] +// * VPSUBUSB ymm, ymm, ymm [AVX2] +// * VPSUBUSB m256, ymm, ymm [AVX2] +// * VPSUBUSB zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSUBUSB m512, zmm, zmm{k}{z} [AVX512BW] +// * VPSUBUSB xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBUSB m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBUSB ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBUSB m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSUBUSB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSUBUSB", 3, Operands { v0, v1, v2 }) + // VPSUBUSB xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBUSB m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBUSB ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBUSB m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd8) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBUSB zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xd8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBUSB m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd8) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSUBUSB xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xd8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBUSB m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd8) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSUBUSB ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xd8) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBUSB m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd8) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPSUBUSB") + } + return p +} + +// VPSUBUSW performs "Subtract Packed Unsigned Word Integers with Unsigned Saturation". +// +// Mnemonic : VPSUBUSW +// Supported forms : (10 forms) +// +// * VPSUBUSW xmm, xmm, xmm [AVX] +// * VPSUBUSW m128, xmm, xmm [AVX] +// * VPSUBUSW ymm, ymm, ymm [AVX2] +// * VPSUBUSW m256, ymm, ymm [AVX2] +// * VPSUBUSW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSUBUSW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPSUBUSW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBUSW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBUSW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBUSW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSUBUSW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSUBUSW", 3, Operands { v0, v1, v2 }) + // VPSUBUSW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBUSW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd9) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBUSW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xd9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBUSW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xd9) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBUSW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xd9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBUSW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd9) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSUBUSW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xd9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBUSW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd9) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSUBUSW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xd9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBUSW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xd9) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPSUBUSW") + } + return p +} + +// VPSUBW performs "Subtract Packed Word Integers". +// +// Mnemonic : VPSUBW +// Supported forms : (10 forms) +// +// * VPSUBW xmm, xmm, xmm [AVX] +// * VPSUBW m128, xmm, xmm [AVX] +// * VPSUBW ymm, ymm, ymm [AVX2] +// * VPSUBW m256, ymm, ymm [AVX2] +// * VPSUBW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPSUBW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPSUBW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPSUBW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPSUBW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPSUBW", 3, Operands { v0, v1, v2 }) + // VPSUBW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf9) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xf9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xf9) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPSUBW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xf9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf9) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPSUBW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xf9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf9) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPSUBW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xf9) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPSUBW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xf9) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPSUBW") + } + return p +} + +// VPTERNLOGD performs "Bitwise Ternary Logical Operation on Doubleword Values". +// +// Mnemonic : VPTERNLOGD +// Supported forms : (6 forms) +// +// * VPTERNLOGD imm8, m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPTERNLOGD imm8, zmm, zmm, zmm{k}{z} [AVX512F] +// * VPTERNLOGD imm8, m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPTERNLOGD imm8, xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPTERNLOGD imm8, m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPTERNLOGD imm8, ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPTERNLOGD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPTERNLOGD", 4, Operands { v0, v1, v2, v3 }) + // VPTERNLOGD imm8, m512/m32bcst, zmm, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x25) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPTERNLOGD imm8, zmm, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x25) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPTERNLOGD imm8, m128/m32bcst, xmm, xmm{k}{z} + if isImm8(v0) && isM128M32bcst(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x25) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPTERNLOGD imm8, xmm, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x25) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPTERNLOGD imm8, m256/m32bcst, ymm, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x25) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPTERNLOGD imm8, ymm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x25) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPTERNLOGD") + } + return p +} + +// VPTERNLOGQ performs "Bitwise Ternary Logical Operation on Quadword Values". +// +// Mnemonic : VPTERNLOGQ +// Supported forms : (6 forms) +// +// * VPTERNLOGQ imm8, m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPTERNLOGQ imm8, zmm, zmm, zmm{k}{z} [AVX512F] +// * VPTERNLOGQ imm8, m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPTERNLOGQ imm8, xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPTERNLOGQ imm8, m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPTERNLOGQ imm8, ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPTERNLOGQ(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VPTERNLOGQ", 4, Operands { v0, v1, v2, v3 }) + // VPTERNLOGQ imm8, m512/m64bcst, zmm, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x25) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VPTERNLOGQ imm8, zmm, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x25) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPTERNLOGQ imm8, m128/m64bcst, xmm, xmm{k}{z} + if isImm8(v0) && isM128M64bcst(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x25) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VPTERNLOGQ imm8, xmm, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x25) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VPTERNLOGQ imm8, m256/m64bcst, ymm, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x25) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VPTERNLOGQ imm8, ymm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x25) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPTERNLOGQ") + } + return p +} + +// VPTEST performs "Packed Logical Compare". +// +// Mnemonic : VPTEST +// Supported forms : (4 forms) +// +// * VPTEST xmm, xmm [AVX] +// * VPTEST m128, xmm [AVX] +// * VPTEST ymm, ymm [AVX] +// * VPTEST m256, ymm [AVX] +// +func (self *Program) VPTEST(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VPTEST", 2, Operands { v0, v1 }) + // VPTEST xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x17) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPTEST m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x17) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VPTEST ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x17) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VPTEST m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x17) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPTEST") + } + return p +} + +// VPTESTMB performs "Logical AND of Packed Byte Integer Values and Set Mask". +// +// Mnemonic : VPTESTMB +// Supported forms : (6 forms) +// +// * VPTESTMB zmm, zmm, k{k} [AVX512BW] +// * VPTESTMB m512, zmm, k{k} [AVX512BW] +// * VPTESTMB xmm, xmm, k{k} [AVX512BW,AVX512VL] +// * VPTESTMB m128, xmm, k{k} [AVX512BW,AVX512VL] +// * VPTESTMB ymm, ymm, k{k} [AVX512BW,AVX512VL] +// * VPTESTMB m256, ymm, k{k} [AVX512BW,AVX512VL] +// +func (self *Program) VPTESTMB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPTESTMB", 3, Operands { v0, v1, v2 }) + // VPTESTMB zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTMB m512, zmm, k{k} + if isM512(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPTESTMB xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTMB m128, xmm, k{k} + if isM128(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPTESTMB ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTMB m256, ymm, k{k} + if isM256(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPTESTMB") + } + return p +} + +// VPTESTMD performs "Logical AND of Packed Doubleword Integer Values and Set Mask". +// +// Mnemonic : VPTESTMD +// Supported forms : (6 forms) +// +// * VPTESTMD m512/m32bcst, zmm, k{k} [AVX512F] +// * VPTESTMD zmm, zmm, k{k} [AVX512F] +// * VPTESTMD m128/m32bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VPTESTMD xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VPTESTMD m256/m32bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VPTESTMD ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VPTESTMD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPTESTMD", 3, Operands { v0, v1, v2 }) + // VPTESTMD m512/m32bcst, zmm, k{k} + if isM512M32bcst(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x27) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPTESTMD zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x27) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTMD m128/m32bcst, xmm, k{k} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x27) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPTESTMD xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x27) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTMD m256/m32bcst, ymm, k{k} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x27) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPTESTMD ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x27) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPTESTMD") + } + return p +} + +// VPTESTMQ performs "Logical AND of Packed Quadword Integer Values and Set Mask". +// +// Mnemonic : VPTESTMQ +// Supported forms : (6 forms) +// +// * VPTESTMQ m512/m64bcst, zmm, k{k} [AVX512F] +// * VPTESTMQ zmm, zmm, k{k} [AVX512F] +// * VPTESTMQ m128/m64bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VPTESTMQ xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VPTESTMQ m256/m64bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VPTESTMQ ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VPTESTMQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPTESTMQ", 3, Operands { v0, v1, v2 }) + // VPTESTMQ m512/m64bcst, zmm, k{k} + if isM512M64bcst(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x27) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPTESTMQ zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x27) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTMQ m128/m64bcst, xmm, k{k} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x27) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPTESTMQ xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x27) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTMQ m256/m64bcst, ymm, k{k} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x27) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPTESTMQ ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x27) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPTESTMQ") + } + return p +} + +// VPTESTMW performs "Logical AND of Packed Word Integer Values and Set Mask". +// +// Mnemonic : VPTESTMW +// Supported forms : (6 forms) +// +// * VPTESTMW zmm, zmm, k{k} [AVX512BW] +// * VPTESTMW m512, zmm, k{k} [AVX512BW] +// * VPTESTMW xmm, xmm, k{k} [AVX512BW,AVX512VL] +// * VPTESTMW m128, xmm, k{k} [AVX512BW,AVX512VL] +// * VPTESTMW ymm, ymm, k{k} [AVX512BW,AVX512VL] +// * VPTESTMW m256, ymm, k{k} [AVX512BW,AVX512VL] +// +func (self *Program) VPTESTMW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPTESTMW", 3, Operands { v0, v1, v2 }) + // VPTESTMW zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTMW m512, zmm, k{k} + if isM512(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPTESTMW xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTMW m128, xmm, k{k} + if isM128(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPTESTMW ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTMW m256, ymm, k{k} + if isM256(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPTESTMW") + } + return p +} + +// VPTESTNMB performs "Logical NAND of Packed Byte Integer Values and Set Mask". +// +// Mnemonic : VPTESTNMB +// Supported forms : (6 forms) +// +// * VPTESTNMB zmm, zmm, k{k} [AVX512BW,AVX512F] +// * VPTESTNMB m512, zmm, k{k} [AVX512BW,AVX512F] +// * VPTESTNMB xmm, xmm, k{k} [AVX512BW,AVX512VL] +// * VPTESTNMB m128, xmm, k{k} [AVX512BW,AVX512VL] +// * VPTESTNMB ymm, ymm, k{k} [AVX512BW,AVX512VL] +// * VPTESTNMB m256, ymm, k{k} [AVX512BW,AVX512VL] +// +func (self *Program) VPTESTNMB(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPTESTNMB", 3, Operands { v0, v1, v2 }) + // VPTESTNMB zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTNMB m512, zmm, k{k} + if isM512(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPTESTNMB xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTNMB m128, xmm, k{k} + if isM128(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPTESTNMB ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTNMB m256, ymm, k{k} + if isM256(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPTESTNMB") + } + return p +} + +// VPTESTNMD performs "Logical NAND of Packed Doubleword Integer Values and Set Mask". +// +// Mnemonic : VPTESTNMD +// Supported forms : (6 forms) +// +// * VPTESTNMD m512/m32bcst, zmm, k{k} [AVX512F] +// * VPTESTNMD zmm, zmm, k{k} [AVX512F] +// * VPTESTNMD m128/m32bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VPTESTNMD xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VPTESTNMD m256/m32bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VPTESTNMD ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VPTESTNMD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPTESTNMD", 3, Operands { v0, v1, v2 }) + // VPTESTNMD m512/m32bcst, zmm, k{k} + if isM512M32bcst(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x27) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPTESTNMD zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x27) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTNMD m128/m32bcst, xmm, k{k} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x27) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPTESTNMD xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x27) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTNMD m256/m32bcst, ymm, k{k} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x06, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x27) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPTESTNMD ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x27) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPTESTNMD") + } + return p +} + +// VPTESTNMQ performs "Logical NAND of Packed Quadword Integer Values and Set Mask". +// +// Mnemonic : VPTESTNMQ +// Supported forms : (6 forms) +// +// * VPTESTNMQ m512/m64bcst, zmm, k{k} [AVX512F] +// * VPTESTNMQ zmm, zmm, k{k} [AVX512F] +// * VPTESTNMQ m128/m64bcst, xmm, k{k} [AVX512F,AVX512VL] +// * VPTESTNMQ xmm, xmm, k{k} [AVX512F,AVX512VL] +// * VPTESTNMQ m256/m64bcst, ymm, k{k} [AVX512F,AVX512VL] +// * VPTESTNMQ ymm, ymm, k{k} [AVX512F,AVX512VL] +// +func (self *Program) VPTESTNMQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPTESTNMQ", 3, Operands { v0, v1, v2 }) + // VPTESTNMQ m512/m64bcst, zmm, k{k} + if isM512M64bcst(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x86, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x27) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPTESTNMQ zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x27) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTNMQ m128/m64bcst, xmm, k{k} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x86, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x27) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPTESTNMQ xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x27) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTNMQ m256/m64bcst, ymm, k{k} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x86, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, bcode(v[0])) + m.emit(0x27) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPTESTNMQ ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x27) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPTESTNMQ") + } + return p +} + +// VPTESTNMW performs "Logical NAND of Packed Word Integer Values and Set Mask". +// +// Mnemonic : VPTESTNMW +// Supported forms : (6 forms) +// +// * VPTESTNMW zmm, zmm, k{k} [AVX512BW,AVX512F] +// * VPTESTNMW m512, zmm, k{k} [AVX512BW,AVX512F] +// * VPTESTNMW xmm, xmm, k{k} [AVX512BW,AVX512VL] +// * VPTESTNMW m128, xmm, k{k} [AVX512BW,AVX512VL] +// * VPTESTNMW ymm, ymm, k{k} [AVX512BW,AVX512VL] +// * VPTESTNMW m256, ymm, k{k} [AVX512BW,AVX512VL] +// +func (self *Program) VPTESTNMW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPTESTNMW", 3, Operands { v0, v1, v2 }) + // VPTESTNMW zmm, zmm, k{k} + if isZMM(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTNMW m512, zmm, k{k} + if isM512(v0) && isZMM(v1) && isKk(v2) { + self.require(ISA_AVX512F | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x86, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPTESTNMW xmm, xmm, k{k} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTNMW m128, xmm, k{k} + if isM128(v0) && isEVEXXMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x86, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPTESTNMW ymm, ymm, k{k} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfe ^ (hlcode(v[1]) << 3)) + m.emit((0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x26) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPTESTNMW m256, ymm, k{k} + if isM256(v0) && isEVEXYMM(v1) && isKk(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x86, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), 0, 0) + m.emit(0x26) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPTESTNMW") + } + return p +} + +// VPUNPCKHBW performs "Unpack and Interleave High-Order Bytes into Words". +// +// Mnemonic : VPUNPCKHBW +// Supported forms : (10 forms) +// +// * VPUNPCKHBW xmm, xmm, xmm [AVX] +// * VPUNPCKHBW m128, xmm, xmm [AVX] +// * VPUNPCKHBW ymm, ymm, ymm [AVX2] +// * VPUNPCKHBW m256, ymm, ymm [AVX2] +// * VPUNPCKHBW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPUNPCKHBW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPUNPCKHBW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPUNPCKHBW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPUNPCKHBW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPUNPCKHBW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPUNPCKHBW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPUNPCKHBW", 3, Operands { v0, v1, v2 }) + // VPUNPCKHBW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x68) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHBW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x68) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKHBW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x68) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHBW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x68) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKHBW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x68) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHBW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x68) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPUNPCKHBW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x68) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHBW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x68) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPUNPCKHBW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x68) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHBW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x68) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPUNPCKHBW") + } + return p +} + +// VPUNPCKHDQ performs "Unpack and Interleave High-Order Doublewords into Quadwords". +// +// Mnemonic : VPUNPCKHDQ +// Supported forms : (10 forms) +// +// * VPUNPCKHDQ xmm, xmm, xmm [AVX] +// * VPUNPCKHDQ m128, xmm, xmm [AVX] +// * VPUNPCKHDQ ymm, ymm, ymm [AVX2] +// * VPUNPCKHDQ m256, ymm, ymm [AVX2] +// * VPUNPCKHDQ m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPUNPCKHDQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPUNPCKHDQ m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPUNPCKHDQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPUNPCKHDQ m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPUNPCKHDQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPUNPCKHDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPUNPCKHDQ", 3, Operands { v0, v1, v2 }) + // VPUNPCKHDQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x6a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHDQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x6a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKHDQ ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x6a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHDQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x6a) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKHDQ m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x6a) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPUNPCKHDQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x6a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHDQ m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x6a) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPUNPCKHDQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x6a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHDQ m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x6a) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPUNPCKHDQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x6a) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPUNPCKHDQ") + } + return p +} + +// VPUNPCKHQDQ performs "Unpack and Interleave High-Order Quadwords into Double Quadwords". +// +// Mnemonic : VPUNPCKHQDQ +// Supported forms : (10 forms) +// +// * VPUNPCKHQDQ xmm, xmm, xmm [AVX] +// * VPUNPCKHQDQ m128, xmm, xmm [AVX] +// * VPUNPCKHQDQ ymm, ymm, ymm [AVX2] +// * VPUNPCKHQDQ m256, ymm, ymm [AVX2] +// * VPUNPCKHQDQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPUNPCKHQDQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPUNPCKHQDQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPUNPCKHQDQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPUNPCKHQDQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPUNPCKHQDQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPUNPCKHQDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPUNPCKHQDQ", 3, Operands { v0, v1, v2 }) + // VPUNPCKHQDQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x6d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHQDQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x6d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKHQDQ ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x6d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHQDQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x6d) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKHQDQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x6d) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPUNPCKHQDQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x6d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHQDQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x6d) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPUNPCKHQDQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x6d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHQDQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x6d) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPUNPCKHQDQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x6d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPUNPCKHQDQ") + } + return p +} + +// VPUNPCKHWD performs "Unpack and Interleave High-Order Words into Doublewords". +// +// Mnemonic : VPUNPCKHWD +// Supported forms : (10 forms) +// +// * VPUNPCKHWD xmm, xmm, xmm [AVX] +// * VPUNPCKHWD m128, xmm, xmm [AVX] +// * VPUNPCKHWD ymm, ymm, ymm [AVX2] +// * VPUNPCKHWD m256, ymm, ymm [AVX2] +// * VPUNPCKHWD zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPUNPCKHWD m512, zmm, zmm{k}{z} [AVX512BW] +// * VPUNPCKHWD xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPUNPCKHWD m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPUNPCKHWD ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPUNPCKHWD m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPUNPCKHWD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPUNPCKHWD", 3, Operands { v0, v1, v2 }) + // VPUNPCKHWD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x69) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHWD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x69) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKHWD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x69) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHWD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x69) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKHWD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x69) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHWD m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x69) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPUNPCKHWD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x69) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHWD m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x69) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPUNPCKHWD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x69) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKHWD m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x69) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPUNPCKHWD") + } + return p +} + +// VPUNPCKLBW performs "Unpack and Interleave Low-Order Bytes into Words". +// +// Mnemonic : VPUNPCKLBW +// Supported forms : (10 forms) +// +// * VPUNPCKLBW xmm, xmm, xmm [AVX] +// * VPUNPCKLBW m128, xmm, xmm [AVX] +// * VPUNPCKLBW ymm, ymm, ymm [AVX2] +// * VPUNPCKLBW m256, ymm, ymm [AVX2] +// * VPUNPCKLBW zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPUNPCKLBW m512, zmm, zmm{k}{z} [AVX512BW] +// * VPUNPCKLBW xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPUNPCKLBW m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPUNPCKLBW ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPUNPCKLBW m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPUNPCKLBW(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPUNPCKLBW", 3, Operands { v0, v1, v2 }) + // VPUNPCKLBW xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x60) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLBW m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x60) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKLBW ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x60) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLBW m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x60) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKLBW zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x60) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLBW m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x60) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPUNPCKLBW xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x60) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLBW m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x60) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPUNPCKLBW ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x60) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLBW m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x60) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPUNPCKLBW") + } + return p +} + +// VPUNPCKLDQ performs "Unpack and Interleave Low-Order Doublewords into Quadwords". +// +// Mnemonic : VPUNPCKLDQ +// Supported forms : (10 forms) +// +// * VPUNPCKLDQ xmm, xmm, xmm [AVX] +// * VPUNPCKLDQ m128, xmm, xmm [AVX] +// * VPUNPCKLDQ ymm, ymm, ymm [AVX2] +// * VPUNPCKLDQ m256, ymm, ymm [AVX2] +// * VPUNPCKLDQ m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPUNPCKLDQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPUNPCKLDQ m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPUNPCKLDQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPUNPCKLDQ m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPUNPCKLDQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPUNPCKLDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPUNPCKLDQ", 3, Operands { v0, v1, v2 }) + // VPUNPCKLDQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x62) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLDQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x62) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKLDQ ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x62) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLDQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x62) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKLDQ m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x62) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPUNPCKLDQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x62) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLDQ m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x62) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPUNPCKLDQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x62) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLDQ m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x62) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPUNPCKLDQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x62) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPUNPCKLDQ") + } + return p +} + +// VPUNPCKLQDQ performs "Unpack and Interleave Low-Order Quadwords into Double Quadwords". +// +// Mnemonic : VPUNPCKLQDQ +// Supported forms : (10 forms) +// +// * VPUNPCKLQDQ xmm, xmm, xmm [AVX] +// * VPUNPCKLQDQ m128, xmm, xmm [AVX] +// * VPUNPCKLQDQ ymm, ymm, ymm [AVX2] +// * VPUNPCKLQDQ m256, ymm, ymm [AVX2] +// * VPUNPCKLQDQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPUNPCKLQDQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPUNPCKLQDQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPUNPCKLQDQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPUNPCKLQDQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPUNPCKLQDQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPUNPCKLQDQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPUNPCKLQDQ", 3, Operands { v0, v1, v2 }) + // VPUNPCKLQDQ xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x6c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLQDQ m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x6c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKLQDQ ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x6c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLQDQ m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x6c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKLQDQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x6c) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPUNPCKLQDQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x6c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLQDQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x6c) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPUNPCKLQDQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x6c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLQDQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x6c) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPUNPCKLQDQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x6c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPUNPCKLQDQ") + } + return p +} + +// VPUNPCKLWD performs "Unpack and Interleave Low-Order Words into Doublewords". +// +// Mnemonic : VPUNPCKLWD +// Supported forms : (10 forms) +// +// * VPUNPCKLWD xmm, xmm, xmm [AVX] +// * VPUNPCKLWD m128, xmm, xmm [AVX] +// * VPUNPCKLWD ymm, ymm, ymm [AVX2] +// * VPUNPCKLWD m256, ymm, ymm [AVX2] +// * VPUNPCKLWD zmm, zmm, zmm{k}{z} [AVX512BW] +// * VPUNPCKLWD m512, zmm, zmm{k}{z} [AVX512BW] +// * VPUNPCKLWD xmm, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPUNPCKLWD m128, xmm, xmm{k}{z} [AVX512BW,AVX512VL] +// * VPUNPCKLWD ymm, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// * VPUNPCKLWD m256, ymm, ymm{k}{z} [AVX512BW,AVX512VL] +// +func (self *Program) VPUNPCKLWD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPUNPCKLWD", 3, Operands { v0, v1, v2 }) + // VPUNPCKLWD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x61) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLWD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x61) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKLWD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x61) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLWD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x61) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPUNPCKLWD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x61) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLWD m512, zmm, zmm{k}{z} + if isM512(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x61) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPUNPCKLWD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x61) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLWD m128, xmm, xmm{k}{z} + if isM128(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x61) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPUNPCKLWD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x61) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPUNPCKLWD m256, ymm, ymm{k}{z} + if isM256(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512BW) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x61) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + if p.len == 0 { + panic("invalid operands for VPUNPCKLWD") + } + return p +} + +// VPXOR performs "Packed Bitwise Logical Exclusive OR". +// +// Mnemonic : VPXOR +// Supported forms : (4 forms) +// +// * VPXOR xmm, xmm, xmm [AVX] +// * VPXOR m128, xmm, xmm [AVX] +// * VPXOR ymm, ymm, ymm [AVX2] +// * VPXOR m256, ymm, ymm [AVX2] +// +func (self *Program) VPXOR(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPXOR", 3, Operands { v0, v1, v2 }) + // VPXOR xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xef) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPXOR m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xef) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VPXOR ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0xef) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPXOR m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX2) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0xef) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VPXOR") + } + return p +} + +// VPXORD performs "Bitwise Logical Exclusive OR of Packed Doubleword Integers". +// +// Mnemonic : VPXORD +// Supported forms : (6 forms) +// +// * VPXORD m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VPXORD zmm, zmm, zmm{k}{z} [AVX512F] +// * VPXORD m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPXORD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPXORD m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPXORD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPXORD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPXORD", 3, Operands { v0, v1, v2 }) + // VPXORD m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xef) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPXORD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xef) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPXORD m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xef) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPXORD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xef) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPXORD m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xef) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPXORD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xef) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPXORD") + } + return p +} + +// VPXORQ performs "Bitwise Logical Exclusive OR of Packed Quadword Integers". +// +// Mnemonic : VPXORQ +// Supported forms : (6 forms) +// +// * VPXORQ m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VPXORQ zmm, zmm, zmm{k}{z} [AVX512F] +// * VPXORQ m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPXORQ xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VPXORQ m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VPXORQ ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VPXORQ(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VPXORQ", 3, Operands { v0, v1, v2 }) + // VPXORQ m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xef) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VPXORQ zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xef) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPXORQ m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xef) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VPXORQ xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0xef) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VPXORQ m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0xef) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VPXORQ ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0xef) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VPXORQ") + } + return p +} + +// VRANGEPD performs "Range Restriction Calculation For Packed Pairs of Double-Precision Floating-Point Values". +// +// Mnemonic : VRANGEPD +// Supported forms : (7 forms) +// +// * VRANGEPD imm8, m512/m64bcst, zmm, zmm{k}{z} [AVX512DQ] +// * VRANGEPD imm8, {sae}, zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VRANGEPD imm8, zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VRANGEPD imm8, m128/m64bcst, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VRANGEPD imm8, xmm, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VRANGEPD imm8, m256/m64bcst, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VRANGEPD imm8, ymm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VRANGEPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRANGEPD", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VRANGEPD", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VRANGEPD takes 4 or 5 operands") + } + // VRANGEPD imm8, m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM512M64bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x50) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGEPD imm8, {sae}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isZMM(v2) && isZMM(v3) && isZMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0xfd ^ (hlcode(v[3]) << 3)) + m.emit((zcode(v[4]) << 7) | (0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0x50) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGEPD imm8, zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x50) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGEPD imm8, m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM128M64bcst(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x50) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGEPD imm8, xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x50) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGEPD imm8, m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM256M64bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x50) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGEPD imm8, ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x50) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRANGEPD") + } + return p +} + +// VRANGEPS performs "Range Restriction Calculation For Packed Pairs of Single-Precision Floating-Point Values". +// +// Mnemonic : VRANGEPS +// Supported forms : (7 forms) +// +// * VRANGEPS imm8, m512/m32bcst, zmm, zmm{k}{z} [AVX512DQ] +// * VRANGEPS imm8, {sae}, zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VRANGEPS imm8, zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VRANGEPS imm8, m128/m32bcst, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VRANGEPS imm8, xmm, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VRANGEPS imm8, m256/m32bcst, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VRANGEPS imm8, ymm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VRANGEPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRANGEPS", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VRANGEPS", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VRANGEPS takes 4 or 5 operands") + } + // VRANGEPS imm8, m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM512M32bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x50) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGEPS imm8, {sae}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isZMM(v2) && isZMM(v3) && isZMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0x7d ^ (hlcode(v[3]) << 3)) + m.emit((zcode(v[4]) << 7) | (0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0x50) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGEPS imm8, zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x50) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGEPS imm8, m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM128M32bcst(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x50) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGEPS imm8, xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x50) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGEPS imm8, m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM256M32bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x50) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGEPS imm8, ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x50) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRANGEPS") + } + return p +} + +// VRANGESD performs "Range Restriction Calculation For a pair of Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VRANGESD +// Supported forms : (3 forms) +// +// * VRANGESD imm8, m64, xmm, xmm{k}{z} [AVX512DQ] +// * VRANGESD imm8, {sae}, xmm, xmm, xmm{k}{z} [AVX512DQ] +// * VRANGESD imm8, xmm, xmm, xmm{k}{z} [AVX512DQ] +// +func (self *Program) VRANGESD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRANGESD", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VRANGESD", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VRANGESD takes 4 or 5 operands") + } + // VRANGESD imm8, m64, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM64(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x51) + m.mrsd(lcode(v[3]), addr(v[1]), 8) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGESD imm8, {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) && isXMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0xfd ^ (hlcode(v[3]) << 3)) + m.emit((zcode(v[4]) << 7) | (0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0x51) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGESD imm8, xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x51) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRANGESD") + } + return p +} + +// VRANGESS performs "Range Restriction Calculation For a pair of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VRANGESS +// Supported forms : (3 forms) +// +// * VRANGESS imm8, m32, xmm, xmm{k}{z} [AVX512DQ] +// * VRANGESS imm8, {sae}, xmm, xmm, xmm{k}{z} [AVX512DQ] +// * VRANGESS imm8, xmm, xmm, xmm{k}{z} [AVX512DQ] +// +func (self *Program) VRANGESS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRANGESS", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VRANGESS", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VRANGESS takes 4 or 5 operands") + } + // VRANGESS imm8, m32, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM32(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x51) + m.mrsd(lcode(v[3]), addr(v[1]), 4) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGESS imm8, {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) && isXMMkz(vv[0]) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0x7d ^ (hlcode(v[3]) << 3)) + m.emit((zcode(v[4]) << 7) | (0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0x51) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VRANGESS imm8, xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x51) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRANGESS") + } + return p +} + +// VRCP14PD performs "Compute Approximate Reciprocals of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VRCP14PD +// Supported forms : (6 forms) +// +// * VRCP14PD m512/m64bcst, zmm{k}{z} [AVX512F] +// * VRCP14PD zmm, zmm{k}{z} [AVX512F] +// * VRCP14PD m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VRCP14PD m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VRCP14PD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VRCP14PD ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VRCP14PD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VRCP14PD", 2, Operands { v0, v1 }) + // VRCP14PD m512/m64bcst, zmm{k}{z} + if isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x4c) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VRCP14PD zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VRCP14PD m128/m64bcst, xmm{k}{z} + if isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x4c) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VRCP14PD m256/m64bcst, ymm{k}{z} + if isM256M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x4c) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VRCP14PD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VRCP14PD ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRCP14PD") + } + return p +} + +// VRCP14PS performs "Compute Approximate Reciprocals of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VRCP14PS +// Supported forms : (6 forms) +// +// * VRCP14PS m512/m32bcst, zmm{k}{z} [AVX512F] +// * VRCP14PS zmm, zmm{k}{z} [AVX512F] +// * VRCP14PS m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VRCP14PS m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VRCP14PS xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VRCP14PS ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VRCP14PS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VRCP14PS", 2, Operands { v0, v1 }) + // VRCP14PS m512/m32bcst, zmm{k}{z} + if isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x4c) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VRCP14PS zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VRCP14PS m128/m32bcst, xmm{k}{z} + if isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x4c) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VRCP14PS m256/m32bcst, ymm{k}{z} + if isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x4c) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VRCP14PS xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VRCP14PS ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x4c) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRCP14PS") + } + return p +} + +// VRCP14SD performs "Compute Approximate Reciprocal of a Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : VRCP14SD +// Supported forms : (2 forms) +// +// * VRCP14SD xmm, xmm, xmm{k}{z} [AVX512F] +// * VRCP14SD m64, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VRCP14SD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VRCP14SD", 3, Operands { v0, v1, v2 }) + // VRCP14SD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x4d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VRCP14SD m64, xmm, xmm{k}{z} + if isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x4d) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VRCP14SD") + } + return p +} + +// VRCP14SS performs "Compute Approximate Reciprocal of a Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : VRCP14SS +// Supported forms : (2 forms) +// +// * VRCP14SS xmm, xmm, xmm{k}{z} [AVX512F] +// * VRCP14SS m32, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VRCP14SS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VRCP14SS", 3, Operands { v0, v1, v2 }) + // VRCP14SS xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x4d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VRCP14SS m32, xmm, xmm{k}{z} + if isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x4d) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VRCP14SS") + } + return p +} + +// VRCP28PD performs "Approximation to the Reciprocal of Packed Double-Precision Floating-Point Values with Less Than 2^-28 Relative Error". +// +// Mnemonic : VRCP28PD +// Supported forms : (3 forms) +// +// * VRCP28PD m512/m64bcst, zmm{k}{z} [AVX512ER] +// * VRCP28PD {sae}, zmm, zmm{k}{z} [AVX512ER] +// * VRCP28PD zmm, zmm{k}{z} [AVX512ER] +// +func (self *Program) VRCP28PD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRCP28PD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VRCP28PD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VRCP28PD takes 2 or 3 operands") + } + // VRCP28PD m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xca) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VRCP28PD {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0xca) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VRCP28PD zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0xca) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRCP28PD") + } + return p +} + +// VRCP28PS performs "Approximation to the Reciprocal of Packed Single-Precision Floating-Point Values with Less Than 2^-28 Relative Error". +// +// Mnemonic : VRCP28PS +// Supported forms : (3 forms) +// +// * VRCP28PS m512/m32bcst, zmm{k}{z} [AVX512ER] +// * VRCP28PS {sae}, zmm, zmm{k}{z} [AVX512ER] +// * VRCP28PS zmm, zmm{k}{z} [AVX512ER] +// +func (self *Program) VRCP28PS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRCP28PS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VRCP28PS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VRCP28PS takes 2 or 3 operands") + } + // VRCP28PS m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xca) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VRCP28PS {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0xca) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VRCP28PS zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0xca) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRCP28PS") + } + return p +} + +// VRCP28SD performs "Approximation to the Reciprocal of a Scalar Double-Precision Floating-Point Value with Less Than 2^-28 Relative Error". +// +// Mnemonic : VRCP28SD +// Supported forms : (3 forms) +// +// * VRCP28SD m64, xmm, xmm{k}{z} [AVX512ER] +// * VRCP28SD {sae}, xmm, xmm, xmm{k}{z} [AVX512ER] +// * VRCP28SD xmm, xmm, xmm{k}{z} [AVX512ER] +// +func (self *Program) VRCP28SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRCP28SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VRCP28SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VRCP28SD takes 3 or 4 operands") + } + // VRCP28SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xcb) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VRCP28SD {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xcb) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VRCP28SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xcb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRCP28SD") + } + return p +} + +// VRCP28SS performs "Approximation to the Reciprocal of a Scalar Single-Precision Floating-Point Value with Less Than 2^-28 Relative Error". +// +// Mnemonic : VRCP28SS +// Supported forms : (3 forms) +// +// * VRCP28SS m32, xmm, xmm{k}{z} [AVX512ER] +// * VRCP28SS {sae}, xmm, xmm, xmm{k}{z} [AVX512ER] +// * VRCP28SS xmm, xmm, xmm{k}{z} [AVX512ER] +// +func (self *Program) VRCP28SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRCP28SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VRCP28SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VRCP28SS takes 3 or 4 operands") + } + // VRCP28SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xcb) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VRCP28SS {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xcb) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VRCP28SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xcb) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRCP28SS") + } + return p +} + +// VRCPPS performs "Compute Approximate Reciprocals of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VRCPPS +// Supported forms : (4 forms) +// +// * VRCPPS xmm, xmm [AVX] +// * VRCPPS m128, xmm [AVX] +// * VRCPPS ymm, ymm [AVX] +// * VRCPPS m256, ymm [AVX] +// +func (self *Program) VRCPPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VRCPPS", 2, Operands { v0, v1 }) + // VRCPPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), v[0], 0) + m.emit(0x53) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VRCPPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), addr(v[0]), 0) + m.emit(0x53) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VRCPPS ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), v[0], 0) + m.emit(0x53) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VRCPPS m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), addr(v[0]), 0) + m.emit(0x53) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VRCPPS") + } + return p +} + +// VRCPSS performs "Compute Approximate Reciprocal of Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VRCPSS +// Supported forms : (2 forms) +// +// * VRCPSS xmm, xmm, xmm [AVX] +// * VRCPSS m32, xmm, xmm [AVX] +// +func (self *Program) VRCPSS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VRCPSS", 3, Operands { v0, v1, v2 }) + // VRCPSS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x53) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VRCPSS m32, xmm, xmm + if isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x53) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VRCPSS") + } + return p +} + +// VREDUCEPD performs "Perform Reduction Transformation on Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VREDUCEPD +// Supported forms : (6 forms) +// +// * VREDUCEPD imm8, m512/m64bcst, zmm{k}{z} [AVX512DQ] +// * VREDUCEPD imm8, zmm, zmm{k}{z} [AVX512DQ] +// * VREDUCEPD imm8, m128/m64bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VREDUCEPD imm8, m256/m64bcst, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VREDUCEPD imm8, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VREDUCEPD imm8, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VREDUCEPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VREDUCEPD", 3, Operands { v0, v1, v2 }) + // VREDUCEPD imm8, m512/m64bcst, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VREDUCEPD imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VREDUCEPD imm8, m128/m64bcst, xmm{k}{z} + if isImm8(v0) && isM128M64bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VREDUCEPD imm8, m256/m64bcst, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VREDUCEPD imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x08) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VREDUCEPD imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VREDUCEPD") + } + return p +} + +// VREDUCEPS performs "Perform Reduction Transformation on Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VREDUCEPS +// Supported forms : (6 forms) +// +// * VREDUCEPS imm8, m512/m32bcst, zmm{k}{z} [AVX512DQ] +// * VREDUCEPS imm8, zmm, zmm{k}{z} [AVX512DQ] +// * VREDUCEPS imm8, m128/m32bcst, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VREDUCEPS imm8, m256/m32bcst, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VREDUCEPS imm8, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VREDUCEPS imm8, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VREDUCEPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VREDUCEPS", 3, Operands { v0, v1, v2 }) + // VREDUCEPS imm8, m512/m32bcst, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VREDUCEPS imm8, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VREDUCEPS imm8, m128/m32bcst, xmm{k}{z} + if isImm8(v0) && isM128M32bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VREDUCEPS imm8, m256/m32bcst, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x56) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VREDUCEPS imm8, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x08) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VREDUCEPS imm8, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x56) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VREDUCEPS") + } + return p +} + +// VREDUCESD performs "Perform Reduction Transformation on a Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : VREDUCESD +// Supported forms : (2 forms) +// +// * VREDUCESD imm8, xmm, xmm, xmm{k}{z} [AVX512DQ] +// * VREDUCESD imm8, m64, xmm, xmm{k}{z} [AVX512DQ] +// +func (self *Program) VREDUCESD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VREDUCESD", 4, Operands { v0, v1, v2, v3 }) + // VREDUCESD imm8, xmm, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x57) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VREDUCESD imm8, m64, xmm, xmm{k}{z} + if isImm8(v0) && isM64(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x57) + m.mrsd(lcode(v[3]), addr(v[1]), 8) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VREDUCESD") + } + return p +} + +// VREDUCESS performs "Perform Reduction Transformation on a Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : VREDUCESS +// Supported forms : (2 forms) +// +// * VREDUCESS imm8, xmm, xmm, xmm{k}{z} [AVX512DQ] +// * VREDUCESS imm8, m32, xmm, xmm{k}{z} [AVX512DQ] +// +func (self *Program) VREDUCESS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VREDUCESS", 4, Operands { v0, v1, v2, v3 }) + // VREDUCESS imm8, xmm, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0x57) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VREDUCESS imm8, m32, xmm, xmm{k}{z} + if isImm8(v0) && isM32(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x57) + m.mrsd(lcode(v[3]), addr(v[1]), 4) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VREDUCESS") + } + return p +} + +// VRNDSCALEPD performs "Round Packed Double-Precision Floating-Point Values To Include A Given Number Of Fraction Bits". +// +// Mnemonic : VRNDSCALEPD +// Supported forms : (7 forms) +// +// * VRNDSCALEPD imm8, m512/m64bcst, zmm{k}{z} [AVX512F] +// * VRNDSCALEPD imm8, {sae}, zmm, zmm{k}{z} [AVX512F] +// * VRNDSCALEPD imm8, zmm, zmm{k}{z} [AVX512F] +// * VRNDSCALEPD imm8, m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VRNDSCALEPD imm8, m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VRNDSCALEPD imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VRNDSCALEPD imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VRNDSCALEPD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRNDSCALEPD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VRNDSCALEPD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VRNDSCALEPD takes 3 or 4 operands") + } + // VRNDSCALEPD imm8, m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM512M64bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x09) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALEPD imm8, {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[3]) << 7) | kcode(v[3]) | 0x18) + m.emit(0x09) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALEPD imm8, zmm, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x09) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALEPD imm8, m128/m64bcst, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM128M64bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x09) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALEPD imm8, m256/m64bcst, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM256M64bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x09) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALEPD imm8, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x08) + m.emit(0x09) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALEPD imm8, ymm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x09) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRNDSCALEPD") + } + return p +} + +// VRNDSCALEPS performs "Round Packed Single-Precision Floating-Point Values To Include A Given Number Of Fraction Bits". +// +// Mnemonic : VRNDSCALEPS +// Supported forms : (7 forms) +// +// * VRNDSCALEPS imm8, m512/m32bcst, zmm{k}{z} [AVX512F] +// * VRNDSCALEPS imm8, {sae}, zmm, zmm{k}{z} [AVX512F] +// * VRNDSCALEPS imm8, zmm, zmm{k}{z} [AVX512F] +// * VRNDSCALEPS imm8, m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VRNDSCALEPS imm8, m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VRNDSCALEPS imm8, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VRNDSCALEPS imm8, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VRNDSCALEPS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRNDSCALEPS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VRNDSCALEPS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VRNDSCALEPS takes 3 or 4 operands") + } + // VRNDSCALEPS imm8, m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM512M32bcst(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x08) + m.mrsd(lcode(v[2]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALEPS imm8, {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[3]) << 7) | kcode(v[3]) | 0x18) + m.emit(0x08) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALEPS imm8, zmm, zmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x48) + m.emit(0x08) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALEPS imm8, m128/m32bcst, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM128M32bcst(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x08) + m.mrsd(lcode(v[2]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALEPS imm8, m256/m32bcst, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM256M32bcst(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[2]), addr(v[1]), 0, kcode(v[2]), zcode(v[2]), bcode(v[1])) + m.emit(0x08) + m.mrsd(lcode(v[2]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALEPS imm8, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x08) + m.emit(0x08) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALEPS imm8, ymm, ymm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x28) + m.emit(0x08) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRNDSCALEPS") + } + return p +} + +// VRNDSCALESD performs "Round Scalar Double-Precision Floating-Point Value To Include A Given Number Of Fraction Bits". +// +// Mnemonic : VRNDSCALESD +// Supported forms : (3 forms) +// +// * VRNDSCALESD imm8, m64, xmm, xmm{k}{z} [AVX512F] +// * VRNDSCALESD imm8, {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VRNDSCALESD imm8, xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VRNDSCALESD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRNDSCALESD", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VRNDSCALESD", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VRNDSCALESD takes 4 or 5 operands") + } + // VRNDSCALESD imm8, m64, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM64(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x0b) + m.mrsd(lcode(v[3]), addr(v[1]), 8) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALESD imm8, {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0xfd ^ (hlcode(v[3]) << 3)) + m.emit((zcode(v[4]) << 7) | (0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALESD imm8, xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRNDSCALESD") + } + return p +} + +// VRNDSCALESS performs "Round Scalar Single-Precision Floating-Point Value To Include A Given Number Of Fraction Bits". +// +// Mnemonic : VRNDSCALESS +// Supported forms : (3 forms) +// +// * VRNDSCALESS imm8, m32, xmm, xmm{k}{z} [AVX512F] +// * VRNDSCALESS imm8, {sae}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VRNDSCALESS imm8, xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VRNDSCALESS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRNDSCALESS", 4, Operands { v0, v1, v2, v3 }) + case 1 : p = self.alloc("VRNDSCALESS", 5, Operands { v0, v1, v2, v3, vv[0] }) + default : panic("instruction VRNDSCALESS takes 4 or 5 operands") + } + // VRNDSCALESS imm8, m32, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isM32(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), 0) + m.emit(0x0a) + m.mrsd(lcode(v[3]), addr(v[1]), 4) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALESS imm8, {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isImm8(v0) && isSAE(v1) && isEVEXXMM(v2) && isEVEXXMM(v3) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[4]) << 7) | (ehcode(v[2]) << 5) | (ecode(v[4]) << 4))) + m.emit(0x7d ^ (hlcode(v[3]) << 3)) + m.emit((zcode(v[4]) << 7) | (0x08 ^ (ecode(v[3]) << 3)) | kcode(v[4]) | 0x10) + m.emit(0x0a) + m.emit(0xc0 | lcode(v[4]) << 3 | lcode(v[2])) + m.imm1(toImmAny(v[0])) + }) + } + // VRNDSCALESS imm8, xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x0a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRNDSCALESS") + } + return p +} + +// VROUNDPD performs "Round Packed Double Precision Floating-Point Values". +// +// Mnemonic : VROUNDPD +// Supported forms : (4 forms) +// +// * VROUNDPD imm8, xmm, xmm [AVX] +// * VROUNDPD imm8, m128, xmm [AVX] +// * VROUNDPD imm8, ymm, ymm [AVX] +// * VROUNDPD imm8, m256, ymm [AVX] +// +func (self *Program) VROUNDPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VROUNDPD", 3, Operands { v0, v1, v2 }) + // VROUNDPD imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79) + m.emit(0x09) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VROUNDPD imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[2]), addr(v[1]), 0) + m.emit(0x09) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VROUNDPD imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d) + m.emit(0x09) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VROUNDPD imm8, m256, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[2]), addr(v[1]), 0) + m.emit(0x09) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VROUNDPD") + } + return p +} + +// VROUNDPS performs "Round Packed Single Precision Floating-Point Values". +// +// Mnemonic : VROUNDPS +// Supported forms : (4 forms) +// +// * VROUNDPS imm8, xmm, xmm [AVX] +// * VROUNDPS imm8, m128, xmm [AVX] +// * VROUNDPS imm8, ymm, ymm [AVX] +// * VROUNDPS imm8, m256, ymm [AVX] +// +func (self *Program) VROUNDPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VROUNDPS", 3, Operands { v0, v1, v2 }) + // VROUNDPS imm8, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79) + m.emit(0x08) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VROUNDPS imm8, m128, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[2]), addr(v[1]), 0) + m.emit(0x08) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VROUNDPS imm8, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[2]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x7d) + m.emit(0x08) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VROUNDPS imm8, m256, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x05, hcode(v[2]), addr(v[1]), 0) + m.emit(0x08) + m.mrsd(lcode(v[2]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VROUNDPS") + } + return p +} + +// VROUNDSD performs "Round Scalar Double Precision Floating-Point Values". +// +// Mnemonic : VROUNDSD +// Supported forms : (2 forms) +// +// * VROUNDSD imm8, xmm, xmm, xmm [AVX] +// * VROUNDSD imm8, m64, xmm, xmm [AVX] +// +func (self *Program) VROUNDSD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VROUNDSD", 4, Operands { v0, v1, v2, v3 }) + // VROUNDSD imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x0b) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VROUNDSD imm8, m64, xmm, xmm + if isImm8(v0) && isM64(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x0b) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VROUNDSD") + } + return p +} + +// VROUNDSS performs "Round Scalar Single Precision Floating-Point Values". +// +// Mnemonic : VROUNDSS +// Supported forms : (2 forms) +// +// * VROUNDSS imm8, xmm, xmm, xmm [AVX] +// * VROUNDSS imm8, m32, xmm, xmm [AVX] +// +func (self *Program) VROUNDSS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VROUNDSS", 4, Operands { v0, v1, v2, v3 }) + // VROUNDSS imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe3 ^ (hcode(v[3]) << 7) ^ (hcode(v[1]) << 5)) + m.emit(0x79 ^ (hlcode(v[2]) << 3)) + m.emit(0x0a) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VROUNDSS imm8, m32, xmm, xmm + if isImm8(v0) && isM32(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b11, 0x01, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0x0a) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VROUNDSS") + } + return p +} + +// VRSQRT14PD performs "Compute Approximate Reciprocals of Square Roots of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VRSQRT14PD +// Supported forms : (6 forms) +// +// * VRSQRT14PD m512/m64bcst, zmm{k}{z} [AVX512F] +// * VRSQRT14PD zmm, zmm{k}{z} [AVX512F] +// * VRSQRT14PD m128/m64bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VRSQRT14PD m256/m64bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VRSQRT14PD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VRSQRT14PD ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VRSQRT14PD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VRSQRT14PD", 2, Operands { v0, v1 }) + // VRSQRT14PD m512/m64bcst, zmm{k}{z} + if isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x4e) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VRSQRT14PD zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x4e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VRSQRT14PD m128/m64bcst, xmm{k}{z} + if isM128M64bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x4e) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VRSQRT14PD m256/m64bcst, ymm{k}{z} + if isM256M64bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x4e) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VRSQRT14PD xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x4e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VRSQRT14PD ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x4e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRSQRT14PD") + } + return p +} + +// VRSQRT14PS performs "Compute Approximate Reciprocals of Square Roots of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VRSQRT14PS +// Supported forms : (6 forms) +// +// * VRSQRT14PS m512/m32bcst, zmm{k}{z} [AVX512F] +// * VRSQRT14PS zmm, zmm{k}{z} [AVX512F] +// * VRSQRT14PS m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VRSQRT14PS m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VRSQRT14PS xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VRSQRT14PS ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VRSQRT14PS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VRSQRT14PS", 2, Operands { v0, v1 }) + // VRSQRT14PS m512/m32bcst, zmm{k}{z} + if isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x4e) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VRSQRT14PS zmm, zmm{k}{z} + if isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x4e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VRSQRT14PS m128/m32bcst, xmm{k}{z} + if isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x4e) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VRSQRT14PS m256/m32bcst, ymm{k}{z} + if isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x4e) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VRSQRT14PS xmm, xmm{k}{z} + if isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x4e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VRSQRT14PS ymm, ymm{k}{z} + if isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x4e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRSQRT14PS") + } + return p +} + +// VRSQRT14SD performs "Compute Approximate Reciprocal of a Square Root of a Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : VRSQRT14SD +// Supported forms : (2 forms) +// +// * VRSQRT14SD xmm, xmm, xmm{k}{z} [AVX512F] +// * VRSQRT14SD m64, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VRSQRT14SD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VRSQRT14SD", 3, Operands { v0, v1, v2 }) + // VRSQRT14SD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x4f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VRSQRT14SD m64, xmm, xmm{k}{z} + if isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x4f) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VRSQRT14SD") + } + return p +} + +// VRSQRT14SS performs "Compute Approximate Reciprocal of a Square Root of a Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : VRSQRT14SS +// Supported forms : (2 forms) +// +// * VRSQRT14SS xmm, xmm, xmm{k}{z} [AVX512F] +// * VRSQRT14SS m32, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VRSQRT14SS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VRSQRT14SS", 3, Operands { v0, v1, v2 }) + // VRSQRT14SS xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x4f) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VRSQRT14SS m32, xmm, xmm{k}{z} + if isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x4f) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VRSQRT14SS") + } + return p +} + +// VRSQRT28PD performs "Approximation to the Reciprocal Square Root of Packed Double-Precision Floating-Point Values with Less Than 2^-28 Relative Error". +// +// Mnemonic : VRSQRT28PD +// Supported forms : (3 forms) +// +// * VRSQRT28PD m512/m64bcst, zmm{k}{z} [AVX512ER] +// * VRSQRT28PD {sae}, zmm, zmm{k}{z} [AVX512ER] +// * VRSQRT28PD zmm, zmm{k}{z} [AVX512ER] +// +func (self *Program) VRSQRT28PD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRSQRT28PD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VRSQRT28PD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VRSQRT28PD takes 2 or 3 operands") + } + // VRSQRT28PD m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xcc) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VRSQRT28PD {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0xcc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VRSQRT28PD zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0xcc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRSQRT28PD") + } + return p +} + +// VRSQRT28PS performs "Approximation to the Reciprocal Square Root of Packed Single-Precision Floating-Point Values with Less Than 2^-28 Relative Error". +// +// Mnemonic : VRSQRT28PS +// Supported forms : (3 forms) +// +// * VRSQRT28PS m512/m32bcst, zmm{k}{z} [AVX512ER] +// * VRSQRT28PS {sae}, zmm, zmm{k}{z} [AVX512ER] +// * VRSQRT28PS zmm, zmm{k}{z} [AVX512ER] +// +func (self *Program) VRSQRT28PS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRSQRT28PS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VRSQRT28PS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VRSQRT28PS takes 2 or 3 operands") + } + // VRSQRT28PS m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0xcc) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VRSQRT28PS {sae}, zmm, zmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[2]) << 7) | kcode(v[2]) | 0x18) + m.emit(0xcc) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VRSQRT28PS zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7d) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0xcc) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRSQRT28PS") + } + return p +} + +// VRSQRT28SD performs "Approximation to the Reciprocal Square Root of a Scalar Double-Precision Floating-Point Value with Less Than 2^-28 Relative Error". +// +// Mnemonic : VRSQRT28SD +// Supported forms : (3 forms) +// +// * VRSQRT28SD m64, xmm, xmm{k}{z} [AVX512ER] +// * VRSQRT28SD {sae}, xmm, xmm, xmm{k}{z} [AVX512ER] +// * VRSQRT28SD xmm, xmm, xmm{k}{z} [AVX512ER] +// +func (self *Program) VRSQRT28SD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRSQRT28SD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VRSQRT28SD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VRSQRT28SD takes 3 or 4 operands") + } + // VRSQRT28SD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xcd) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VRSQRT28SD {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xcd) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VRSQRT28SD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xcd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRSQRT28SD") + } + return p +} + +// VRSQRT28SS performs "Approximation to the Reciprocal Square Root of a Scalar Single-Precision Floating-Point Value with Less Than 2^-28 Relative Error". +// +// Mnemonic : VRSQRT28SS +// Supported forms : (3 forms) +// +// * VRSQRT28SS m32, xmm, xmm{k}{z} [AVX512ER] +// * VRSQRT28SS {sae}, xmm, xmm, xmm{k}{z} [AVX512ER] +// * VRSQRT28SS xmm, xmm, xmm{k}{z} [AVX512ER] +// +func (self *Program) VRSQRT28SS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VRSQRT28SS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VRSQRT28SS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VRSQRT28SS takes 3 or 4 operands") + } + // VRSQRT28SS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0xcd) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VRSQRT28SS {sae}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0xcd) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VRSQRT28SS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512ER) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0xcd) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VRSQRT28SS") + } + return p +} + +// VRSQRTPS performs "Compute Reciprocals of Square Roots of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VRSQRTPS +// Supported forms : (4 forms) +// +// * VRSQRTPS xmm, xmm [AVX] +// * VRSQRTPS m128, xmm [AVX] +// * VRSQRTPS ymm, ymm [AVX] +// * VRSQRTPS m256, ymm [AVX] +// +func (self *Program) VRSQRTPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VRSQRTPS", 2, Operands { v0, v1 }) + // VRSQRTPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), v[0], 0) + m.emit(0x52) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VRSQRTPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), addr(v[0]), 0) + m.emit(0x52) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VRSQRTPS ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), v[0], 0) + m.emit(0x52) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VRSQRTPS m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), addr(v[0]), 0) + m.emit(0x52) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VRSQRTPS") + } + return p +} + +// VRSQRTSS performs "Compute Reciprocal of Square Root of Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : VRSQRTSS +// Supported forms : (2 forms) +// +// * VRSQRTSS xmm, xmm, xmm [AVX] +// * VRSQRTSS m32, xmm, xmm [AVX] +// +func (self *Program) VRSQRTSS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VRSQRTSS", 3, Operands { v0, v1, v2 }) + // VRSQRTSS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x52) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VRSQRTSS m32, xmm, xmm + if isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x52) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VRSQRTSS") + } + return p +} + +// VSCALEFPD performs "Scale Packed Double-Precision Floating-Point Values With Double-Precision Floating-Point Values". +// +// Mnemonic : VSCALEFPD +// Supported forms : (7 forms) +// +// * VSCALEFPD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VSCALEFPD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VSCALEFPD zmm, zmm, zmm{k}{z} [AVX512F] +// * VSCALEFPD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSCALEFPD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSCALEFPD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VSCALEFPD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VSCALEFPD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VSCALEFPD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VSCALEFPD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VSCALEFPD takes 3 or 4 operands") + } + // VSCALEFPD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x2c) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VSCALEFPD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VSCALEFPD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSCALEFPD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x2c) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VSCALEFPD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSCALEFPD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x2c) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VSCALEFPD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSCALEFPD") + } + return p +} + +// VSCALEFPS performs "Scale Packed Single-Precision Floating-Point Values With Single-Precision Floating-Point Values". +// +// Mnemonic : VSCALEFPS +// Supported forms : (7 forms) +// +// * VSCALEFPS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VSCALEFPS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VSCALEFPS zmm, zmm, zmm{k}{z} [AVX512F] +// * VSCALEFPS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSCALEFPS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSCALEFPS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VSCALEFPS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VSCALEFPS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VSCALEFPS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VSCALEFPS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VSCALEFPS takes 3 or 4 operands") + } + // VSCALEFPS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x2c) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VSCALEFPS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VSCALEFPS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSCALEFPS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x2c) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VSCALEFPS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSCALEFPS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x2c) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VSCALEFPS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x2c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSCALEFPS") + } + return p +} + +// VSCALEFSD performs "Scale Scalar Double-Precision Floating-Point Value With a Double-Precision Floating-Point Value". +// +// Mnemonic : VSCALEFSD +// Supported forms : (3 forms) +// +// * VSCALEFSD m64, xmm, xmm{k}{z} [AVX512F] +// * VSCALEFSD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VSCALEFSD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VSCALEFSD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VSCALEFSD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VSCALEFSD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VSCALEFSD takes 3 or 4 operands") + } + // VSCALEFSD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x2d) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VSCALEFSD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VSCALEFSD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSCALEFSD") + } + return p +} + +// VSCALEFSS performs "Scale Scalar Single-Precision Floating-Point Value With a Single-Precision Floating-Point Value". +// +// Mnemonic : VSCALEFSS +// Supported forms : (3 forms) +// +// * VSCALEFSS m32, xmm, xmm{k}{z} [AVX512F] +// * VSCALEFSS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VSCALEFSS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VSCALEFSS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VSCALEFSS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VSCALEFSS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VSCALEFSS takes 3 or 4 operands") + } + // VSCALEFSS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x2d) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VSCALEFSS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VSCALEFSS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf2 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7d ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x2d) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSCALEFSS") + } + return p +} + +// VSCATTERDPD performs "Scatter Packed Double-Precision Floating-Point Values with Signed Doubleword Indices". +// +// Mnemonic : VSCATTERDPD +// Supported forms : (3 forms) +// +// * VSCATTERDPD zmm, vm32y{k} [AVX512F] +// * VSCATTERDPD xmm, vm32x{k} [AVX512F,AVX512VL] +// * VSCATTERDPD ymm, vm32x{k} [AVX512F,AVX512VL] +// +func (self *Program) VSCATTERDPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VSCATTERDPD", 2, Operands { v0, v1 }) + // VSCATTERDPD zmm, vm32y{k} + if isZMM(v0) && isVMYk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa2) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VSCATTERDPD xmm, vm32x{k} + if isEVEXXMM(v0) && isVMXk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa2) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VSCATTERDPD ymm, vm32x{k} + if isEVEXYMM(v0) && isVMXk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa2) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VSCATTERDPD") + } + return p +} + +// VSCATTERDPS performs "Scatter Packed Single-Precision Floating-Point Values with Signed Doubleword Indices". +// +// Mnemonic : VSCATTERDPS +// Supported forms : (3 forms) +// +// * VSCATTERDPS zmm, vm32z{k} [AVX512F] +// * VSCATTERDPS xmm, vm32x{k} [AVX512F,AVX512VL] +// * VSCATTERDPS ymm, vm32y{k} [AVX512F,AVX512VL] +// +func (self *Program) VSCATTERDPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VSCATTERDPS", 2, Operands { v0, v1 }) + // VSCATTERDPS zmm, vm32z{k} + if isZMM(v0) && isVMZk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa2) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VSCATTERDPS xmm, vm32x{k} + if isEVEXXMM(v0) && isVMXk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa2) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VSCATTERDPS ymm, vm32y{k} + if isEVEXYMM(v0) && isVMYk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa2) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VSCATTERDPS") + } + return p +} + +// VSCATTERPF0DPD performs "Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Doubleword Indices Using T0 Hint with Intent to Write". +// +// Mnemonic : VSCATTERPF0DPD +// Supported forms : (1 form) +// +// * VSCATTERPF0DPD vm32y{k} [AVX512PF] +// +func (self *Program) VSCATTERPF0DPD(v0 interface{}) *Instruction { + p := self.alloc("VSCATTERPF0DPD", 1, Operands { v0 }) + // VSCATTERPF0DPD vm32y{k} + if isVMYk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc6) + m.mrsd(5, addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VSCATTERPF0DPD") + } + return p +} + +// VSCATTERPF0DPS performs "Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Doubleword Indices Using T0 Hint with Intent to Write". +// +// Mnemonic : VSCATTERPF0DPS +// Supported forms : (1 form) +// +// * VSCATTERPF0DPS vm32z{k} [AVX512PF] +// +func (self *Program) VSCATTERPF0DPS(v0 interface{}) *Instruction { + p := self.alloc("VSCATTERPF0DPS", 1, Operands { v0 }) + // VSCATTERPF0DPS vm32z{k} + if isVMZk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc6) + m.mrsd(5, addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VSCATTERPF0DPS") + } + return p +} + +// VSCATTERPF0QPD performs "Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Quadword Indices Using T0 Hint with Intent to Write". +// +// Mnemonic : VSCATTERPF0QPD +// Supported forms : (1 form) +// +// * VSCATTERPF0QPD vm64z{k} [AVX512PF] +// +func (self *Program) VSCATTERPF0QPD(v0 interface{}) *Instruction { + p := self.alloc("VSCATTERPF0QPD", 1, Operands { v0 }) + // VSCATTERPF0QPD vm64z{k} + if isVMZk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc7) + m.mrsd(5, addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VSCATTERPF0QPD") + } + return p +} + +// VSCATTERPF0QPS performs "Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Quadword Indices Using T0 Hint with Intent to Write". +// +// Mnemonic : VSCATTERPF0QPS +// Supported forms : (1 form) +// +// * VSCATTERPF0QPS vm64z{k} [AVX512PF] +// +func (self *Program) VSCATTERPF0QPS(v0 interface{}) *Instruction { + p := self.alloc("VSCATTERPF0QPS", 1, Operands { v0 }) + // VSCATTERPF0QPS vm64z{k} + if isVMZk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc7) + m.mrsd(5, addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VSCATTERPF0QPS") + } + return p +} + +// VSCATTERPF1DPD performs "Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Doubleword Indices Using T1 Hint with Intent to Write". +// +// Mnemonic : VSCATTERPF1DPD +// Supported forms : (1 form) +// +// * VSCATTERPF1DPD vm32y{k} [AVX512PF] +// +func (self *Program) VSCATTERPF1DPD(v0 interface{}) *Instruction { + p := self.alloc("VSCATTERPF1DPD", 1, Operands { v0 }) + // VSCATTERPF1DPD vm32y{k} + if isVMYk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc6) + m.mrsd(6, addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VSCATTERPF1DPD") + } + return p +} + +// VSCATTERPF1DPS performs "Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Doubleword Indices Using T1 Hint with Intent to Write". +// +// Mnemonic : VSCATTERPF1DPS +// Supported forms : (1 form) +// +// * VSCATTERPF1DPS vm32z{k} [AVX512PF] +// +func (self *Program) VSCATTERPF1DPS(v0 interface{}) *Instruction { + p := self.alloc("VSCATTERPF1DPS", 1, Operands { v0 }) + // VSCATTERPF1DPS vm32z{k} + if isVMZk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc6) + m.mrsd(6, addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VSCATTERPF1DPS") + } + return p +} + +// VSCATTERPF1QPD performs "Sparse Prefetch Packed Double-Precision Floating-Point Data Values with Signed Quadword Indices Using T1 Hint with Intent to Write". +// +// Mnemonic : VSCATTERPF1QPD +// Supported forms : (1 form) +// +// * VSCATTERPF1QPD vm64z{k} [AVX512PF] +// +func (self *Program) VSCATTERPF1QPD(v0 interface{}) *Instruction { + p := self.alloc("VSCATTERPF1QPD", 1, Operands { v0 }) + // VSCATTERPF1QPD vm64z{k} + if isVMZk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc7) + m.mrsd(6, addr(v[0]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VSCATTERPF1QPD") + } + return p +} + +// VSCATTERPF1QPS performs "Sparse Prefetch Packed Single-Precision Floating-Point Data Values with Signed Quadword Indices Using T1 Hint with Intent to Write". +// +// Mnemonic : VSCATTERPF1QPS +// Supported forms : (1 form) +// +// * VSCATTERPF1QPS vm64z{k} [AVX512PF] +// +func (self *Program) VSCATTERPF1QPS(v0 interface{}) *Instruction { + p := self.alloc("VSCATTERPF1QPS", 1, Operands { v0 }) + // VSCATTERPF1QPS vm64z{k} + if isVMZk(v0) { + self.require(ISA_AVX512PF) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, 0, addr(v[0]), 0, kcode(v[0]), 0, 0) + m.emit(0xc7) + m.mrsd(6, addr(v[0]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VSCATTERPF1QPS") + } + return p +} + +// VSCATTERQPD performs "Scatter Packed Double-Precision Floating-Point Values with Signed Quadword Indices". +// +// Mnemonic : VSCATTERQPD +// Supported forms : (3 forms) +// +// * VSCATTERQPD zmm, vm64z{k} [AVX512F] +// * VSCATTERQPD xmm, vm64x{k} [AVX512F,AVX512VL] +// * VSCATTERQPD ymm, vm64y{k} [AVX512F,AVX512VL] +// +func (self *Program) VSCATTERQPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VSCATTERQPD", 2, Operands { v0, v1 }) + // VSCATTERQPD zmm, vm64z{k} + if isZMM(v0) && isVMZk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa3) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VSCATTERQPD xmm, vm64x{k} + if isEVEXXMM(v0) && isVMXk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa3) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + // VSCATTERQPD ymm, vm64y{k} + if isEVEXYMM(v0) && isVMYk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x85, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa3) + m.mrsd(lcode(v[0]), addr(v[1]), 8) + }) + } + if p.len == 0 { + panic("invalid operands for VSCATTERQPD") + } + return p +} + +// VSCATTERQPS performs "Scatter Packed Single-Precision Floating-Point Values with Signed Quadword Indices". +// +// Mnemonic : VSCATTERQPS +// Supported forms : (3 forms) +// +// * VSCATTERQPS ymm, vm64z{k} [AVX512F] +// * VSCATTERQPS xmm, vm64x{k} [AVX512F,AVX512VL] +// * VSCATTERQPS xmm, vm64y{k} [AVX512F,AVX512VL] +// +func (self *Program) VSCATTERQPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VSCATTERQPS", 2, Operands { v0, v1 }) + // VSCATTERQPS ymm, vm64z{k} + if isEVEXYMM(v0) && isVMZk(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b10, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa3) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VSCATTERQPS xmm, vm64x{k} + if isEVEXXMM(v0) && isVMXk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b00, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa3) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + // VSCATTERQPS xmm, vm64y{k} + if isEVEXXMM(v0) && isVMYk(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b10, 0x05, 0b01, ehcode(v[0]), addr(v[1]), 0, kcode(v[1]), 0, 0) + m.emit(0xa3) + m.mrsd(lcode(v[0]), addr(v[1]), 4) + }) + } + if p.len == 0 { + panic("invalid operands for VSCATTERQPS") + } + return p +} + +// VSHUFF32X4 performs "Shuffle 128-Bit Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VSHUFF32X4 +// Supported forms : (4 forms) +// +// * VSHUFF32X4 imm8, m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VSHUFF32X4 imm8, zmm, zmm, zmm{k}{z} [AVX512F] +// * VSHUFF32X4 imm8, m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VSHUFF32X4 imm8, ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VSHUFF32X4(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VSHUFF32X4", 4, Operands { v0, v1, v2, v3 }) + // VSHUFF32X4 imm8, m512/m32bcst, zmm, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x23) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFF32X4 imm8, zmm, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x23) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFF32X4 imm8, m256/m32bcst, ymm, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x23) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFF32X4 imm8, ymm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x23) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSHUFF32X4") + } + return p +} + +// VSHUFF64X2 performs "Shuffle 128-Bit Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VSHUFF64X2 +// Supported forms : (4 forms) +// +// * VSHUFF64X2 imm8, m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VSHUFF64X2 imm8, zmm, zmm, zmm{k}{z} [AVX512F] +// * VSHUFF64X2 imm8, m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VSHUFF64X2 imm8, ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VSHUFF64X2(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VSHUFF64X2", 4, Operands { v0, v1, v2, v3 }) + // VSHUFF64X2 imm8, m512/m64bcst, zmm, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x23) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFF64X2 imm8, zmm, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x23) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFF64X2 imm8, m256/m64bcst, ymm, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x23) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFF64X2 imm8, ymm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x23) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSHUFF64X2") + } + return p +} + +// VSHUFI32X4 performs "Shuffle 128-Bit Packed Doubleword Integer Values". +// +// Mnemonic : VSHUFI32X4 +// Supported forms : (4 forms) +// +// * VSHUFI32X4 imm8, m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VSHUFI32X4 imm8, zmm, zmm, zmm{k}{z} [AVX512F] +// * VSHUFI32X4 imm8, m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VSHUFI32X4 imm8, ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VSHUFI32X4(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VSHUFI32X4", 4, Operands { v0, v1, v2, v3 }) + // VSHUFI32X4 imm8, m512/m32bcst, zmm, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x43) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFI32X4 imm8, zmm, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x43) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFI32X4 imm8, m256/m32bcst, ymm, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x05, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x43) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFI32X4 imm8, ymm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7d ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x43) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSHUFI32X4") + } + return p +} + +// VSHUFI64X2 performs "Shuffle 128-Bit Packed Quadword Integer Values". +// +// Mnemonic : VSHUFI64X2 +// Supported forms : (4 forms) +// +// * VSHUFI64X2 imm8, m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VSHUFI64X2 imm8, zmm, zmm, zmm{k}{z} [AVX512F] +// * VSHUFI64X2 imm8, m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VSHUFI64X2 imm8, ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VSHUFI64X2(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VSHUFI64X2", 4, Operands { v0, v1, v2, v3 }) + // VSHUFI64X2 imm8, m512/m64bcst, zmm, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x43) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFI64X2 imm8, zmm, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0x43) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFI64X2 imm8, m256/m64bcst, ymm, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b11, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0x43) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFI64X2 imm8, ymm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf3 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0x43) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSHUFI64X2") + } + return p +} + +// VSHUFPD performs "Shuffle Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VSHUFPD +// Supported forms : (10 forms) +// +// * VSHUFPD imm8, xmm, xmm, xmm [AVX] +// * VSHUFPD imm8, m128, xmm, xmm [AVX] +// * VSHUFPD imm8, ymm, ymm, ymm [AVX] +// * VSHUFPD imm8, m256, ymm, ymm [AVX] +// * VSHUFPD imm8, m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VSHUFPD imm8, zmm, zmm, zmm{k}{z} [AVX512F] +// * VSHUFPD imm8, m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSHUFPD imm8, xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSHUFPD imm8, m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VSHUFPD imm8, ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VSHUFPD(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VSHUFPD", 4, Operands { v0, v1, v2, v3 }) + // VSHUFPD imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[3]), v[1], hlcode(v[2])) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPD imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xc6) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPD imm8, ymm, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[3]), v[1], hlcode(v[2])) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPD imm8, m256, ymm, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xc6) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPD imm8, m512/m64bcst, zmm, zmm{k}{z} + if isImm8(v0) && isM512M64bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0xc6) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPD imm8, zmm, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPD imm8, m128/m64bcst, xmm, xmm{k}{z} + if isImm8(v0) && isM128M64bcst(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0xc6) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPD imm8, xmm, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPD imm8, m256/m64bcst, ymm, ymm{k}{z} + if isImm8(v0) && isM256M64bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0xc6) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPD imm8, ymm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSHUFPD") + } + return p +} + +// VSHUFPS performs "Shuffle Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VSHUFPS +// Supported forms : (10 forms) +// +// * VSHUFPS imm8, xmm, xmm, xmm [AVX] +// * VSHUFPS imm8, m128, xmm, xmm [AVX] +// * VSHUFPS imm8, ymm, ymm, ymm [AVX] +// * VSHUFPS imm8, m256, ymm, ymm [AVX] +// * VSHUFPS imm8, m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VSHUFPS imm8, zmm, zmm, zmm{k}{z} [AVX512F] +// * VSHUFPS imm8, m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSHUFPS imm8, xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSHUFPS imm8, m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VSHUFPS imm8, ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VSHUFPS(v0 interface{}, v1 interface{}, v2 interface{}, v3 interface{}) *Instruction { + p := self.alloc("VSHUFPS", 4, Operands { v0, v1, v2, v3 }) + // VSHUFPS imm8, xmm, xmm, xmm + if isImm8(v0) && isXMM(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[3]), v[1], hlcode(v[2])) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPS imm8, m128, xmm, xmm + if isImm8(v0) && isM128(v1) && isXMM(v2) && isXMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xc6) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPS imm8, ymm, ymm, ymm + if isImm8(v0) && isYMM(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[3]), v[1], hlcode(v[2])) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPS imm8, m256, ymm, ymm + if isImm8(v0) && isM256(v1) && isYMM(v2) && isYMM(v3) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[3]), addr(v[1]), hlcode(v[2])) + m.emit(0xc6) + m.mrsd(lcode(v[3]), addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPS imm8, m512/m32bcst, zmm, zmm{k}{z} + if isImm8(v0) && isM512M32bcst(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0xc6) + m.mrsd(lcode(v[3]), addr(v[1]), 64) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPS imm8, zmm, zmm, zmm{k}{z} + if isImm8(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(v3) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x40) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPS imm8, m128/m32bcst, xmm, xmm{k}{z} + if isImm8(v0) && isM128M32bcst(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0xc6) + m.mrsd(lcode(v[3]), addr(v[1]), 16) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPS imm8, xmm, xmm, xmm{k}{z} + if isImm8(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x00) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPS imm8, m256/m32bcst, ymm, ymm{k}{z} + if isImm8(v0) && isM256M32bcst(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[3]), addr(v[1]), vcode(v[2]), kcode(v[3]), zcode(v[3]), bcode(v[1])) + m.emit(0xc6) + m.mrsd(lcode(v[3]), addr(v[1]), 32) + m.imm1(toImmAny(v[0])) + }) + } + // VSHUFPS imm8, ymm, ymm, ymm{k}{z} + if isImm8(v0) && isEVEXYMM(v1) && isEVEXYMM(v2) && isYMMkz(v3) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x20) + m.emit(0xc6) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSHUFPS") + } + return p +} + +// VSQRTPD performs "Compute Square Roots of Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VSQRTPD +// Supported forms : (11 forms) +// +// * VSQRTPD xmm, xmm [AVX] +// * VSQRTPD m128, xmm [AVX] +// * VSQRTPD ymm, ymm [AVX] +// * VSQRTPD m256, ymm [AVX] +// * VSQRTPD m512/m64bcst, zmm{k}{z} [AVX512F] +// * VSQRTPD {er}, zmm, zmm{k}{z} [AVX512F] +// * VSQRTPD zmm, zmm{k}{z} [AVX512F] +// * VSQRTPD m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VSQRTPD m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VSQRTPD xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSQRTPD ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VSQRTPD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VSQRTPD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VSQRTPD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VSQRTPD takes 2 or 3 operands") + } + // VSQRTPD xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VSQRTPD m128, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), addr(v[0]), 0) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VSQRTPD ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), v[0], 0) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VSQRTPD m256, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[1]), addr(v[0]), 0) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VSQRTPD m512/m64bcst, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VSQRTPD {er}, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x51) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VSQRTPD zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VSQRTPD m128/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VSQRTPD m256/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VSQRTPD xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VSQRTPD ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSQRTPD") + } + return p +} + +// VSQRTPS performs "Compute Square Roots of Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VSQRTPS +// Supported forms : (11 forms) +// +// * VSQRTPS xmm, xmm [AVX] +// * VSQRTPS m128, xmm [AVX] +// * VSQRTPS ymm, ymm [AVX] +// * VSQRTPS m256, ymm [AVX] +// * VSQRTPS m512/m32bcst, zmm{k}{z} [AVX512F] +// * VSQRTPS {er}, zmm, zmm{k}{z} [AVX512F] +// * VSQRTPS zmm, zmm{k}{z} [AVX512F] +// * VSQRTPS m128/m32bcst, xmm{k}{z} [AVX512F,AVX512VL] +// * VSQRTPS m256/m32bcst, ymm{k}{z} [AVX512F,AVX512VL] +// * VSQRTPS xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSQRTPS ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VSQRTPS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VSQRTPS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VSQRTPS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VSQRTPS takes 2 or 3 operands") + } + // VSQRTPS xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), v[0], 0) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VSQRTPS m128, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), addr(v[0]), 0) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VSQRTPS ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), v[0], 0) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VSQRTPS m256, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[1]), addr(v[0]), 0) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VSQRTPS m512/m32bcst, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 64) + }) + } + // VSQRTPS {er}, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[2]) << 7) | (vcode(v[0]) << 5) | kcode(v[2]) | 0x18) + m.emit(0x51) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VSQRTPS zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMMkz(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x48) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VSQRTPS m128/m32bcst, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 16) + }) + } + // VSQRTPS m256/m32bcst, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[1]), addr(v[0]), 0, kcode(v[1]), zcode(v[1]), bcode(v[0])) + m.emit(0x51) + m.mrsd(lcode(v[1]), addr(v[0]), 32) + }) + } + // VSQRTPS xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isXMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x08) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VSQRTPS ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isYMMkz(v1) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit((zcode(v[1]) << 7) | kcode(v[1]) | 0x28) + m.emit(0x51) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSQRTPS") + } + return p +} + +// VSQRTSD performs "Compute Square Root of Scalar Double-Precision Floating-Point Value". +// +// Mnemonic : VSQRTSD +// Supported forms : (5 forms) +// +// * VSQRTSD xmm, xmm, xmm [AVX] +// * VSQRTSD m64, xmm, xmm [AVX] +// * VSQRTSD m64, xmm, xmm{k}{z} [AVX512F] +// * VSQRTSD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VSQRTSD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VSQRTSD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VSQRTSD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VSQRTSD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VSQRTSD takes 3 or 4 operands") + } + // VSQRTSD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x51) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSQRTSD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x51) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VSQRTSD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x51) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VSQRTSD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xff ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x51) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VSQRTSD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x51) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSQRTSD") + } + return p +} + +// VSQRTSS performs "Compute Square Root of Scalar Single-Precision Floating-Point Value". +// +// Mnemonic : VSQRTSS +// Supported forms : (5 forms) +// +// * VSQRTSS xmm, xmm, xmm [AVX] +// * VSQRTSS m32, xmm, xmm [AVX] +// * VSQRTSS m32, xmm, xmm{k}{z} [AVX512F] +// * VSQRTSS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VSQRTSS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VSQRTSS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VSQRTSS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VSQRTSS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VSQRTSS takes 3 or 4 operands") + } + // VSQRTSS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x51) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSQRTSS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x51) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VSQRTSS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x51) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VSQRTSS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7e ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x51) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VSQRTSS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x51) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSQRTSS") + } + return p +} + +// VSTMXCSR performs "Store MXCSR Register State". +// +// Mnemonic : VSTMXCSR +// Supported forms : (1 form) +// +// * VSTMXCSR m32 [AVX] +// +func (self *Program) VSTMXCSR(v0 interface{}) *Instruction { + p := self.alloc("VSTMXCSR", 1, Operands { v0 }) + // VSTMXCSR m32 + if isM32(v0) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, 0, addr(v[0]), 0) + m.emit(0xae) + m.mrsd(3, addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VSTMXCSR") + } + return p +} + +// VSUBPD performs "Subtract Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VSUBPD +// Supported forms : (11 forms) +// +// * VSUBPD xmm, xmm, xmm [AVX] +// * VSUBPD m128, xmm, xmm [AVX] +// * VSUBPD ymm, ymm, ymm [AVX] +// * VSUBPD m256, ymm, ymm [AVX] +// * VSUBPD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VSUBPD {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VSUBPD zmm, zmm, zmm{k}{z} [AVX512F] +// * VSUBPD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSUBPD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSUBPD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VSUBPD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VSUBPD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VSUBPD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VSUBPD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VSUBPD takes 3 or 4 operands") + } + // VSUBPD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSUBPD m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VSUBPD ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSUBPD m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VSUBPD m512/m64bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VSUBPD {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xfd ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VSUBPD zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSUBPD m128/m64bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VSUBPD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSUBPD m256/m64bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VSUBPD ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSUBPD") + } + return p +} + +// VSUBPS performs "Subtract Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VSUBPS +// Supported forms : (11 forms) +// +// * VSUBPS xmm, xmm, xmm [AVX] +// * VSUBPS m128, xmm, xmm [AVX] +// * VSUBPS ymm, ymm, ymm [AVX] +// * VSUBPS m256, ymm, ymm [AVX] +// * VSUBPS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VSUBPS {er}, zmm, zmm, zmm{k}{z} [AVX512F] +// * VSUBPS zmm, zmm, zmm{k}{z} [AVX512F] +// * VSUBPS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSUBPS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VSUBPS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VSUBPS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VSUBPS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VSUBPS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VSUBPS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VSUBPS takes 3 or 4 operands") + } + // VSUBPS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSUBPS m128, xmm, xmm + if len(vv) == 0 && isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VSUBPS ymm, ymm, ymm + if len(vv) == 0 && isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSUBPS m256, ymm, ymm + if len(vv) == 0 && isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VSUBPS m512/m32bcst, zmm, zmm{k}{z} + if len(vv) == 0 && isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VSUBPS {er}, zmm, zmm, zmm{k}{z} + if len(vv) == 1 && isER(v0) && isZMM(v1) && isZMM(v2) && isZMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7c ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VSUBPS zmm, zmm, zmm{k}{z} + if len(vv) == 0 && isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSUBPS m128/m32bcst, xmm, xmm{k}{z} + if len(vv) == 0 && isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VSUBPS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSUBPS m256/m32bcst, ymm, ymm{k}{z} + if len(vv) == 0 && isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VSUBPS ymm, ymm, ymm{k}{z} + if len(vv) == 0 && isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSUBPS") + } + return p +} + +// VSUBSD performs "Subtract Scalar Double-Precision Floating-Point Values". +// +// Mnemonic : VSUBSD +// Supported forms : (5 forms) +// +// * VSUBSD xmm, xmm, xmm [AVX] +// * VSUBSD m64, xmm, xmm [AVX] +// * VSUBSD m64, xmm, xmm{k}{z} [AVX512F] +// * VSUBSD {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VSUBSD xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VSUBSD(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VSUBSD", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VSUBSD", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VSUBSD takes 3 or 4 operands") + } + // VSUBSD xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSUBSD m64, xmm, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(3, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VSUBSD m64, xmm, xmm{k}{z} + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x87, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 8) + }) + } + // VSUBSD {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0xff ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VSUBSD xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xff ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSUBSD") + } + return p +} + +// VSUBSS performs "Subtract Scalar Single-Precision Floating-Point Values". +// +// Mnemonic : VSUBSS +// Supported forms : (5 forms) +// +// * VSUBSS xmm, xmm, xmm [AVX] +// * VSUBSS m32, xmm, xmm [AVX] +// * VSUBSS m32, xmm, xmm{k}{z} [AVX512F] +// * VSUBSS {er}, xmm, xmm, xmm{k}{z} [AVX512F] +// * VSUBSS xmm, xmm, xmm{k}{z} [AVX512F] +// +func (self *Program) VSUBSS(v0 interface{}, v1 interface{}, v2 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VSUBSS", 3, Operands { v0, v1, v2 }) + case 1 : p = self.alloc("VSUBSS", 4, Operands { v0, v1, v2, vv[0] }) + default : panic("instruction VSUBSS takes 3 or 4 operands") + } + // VSUBSS xmm, xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VSUBSS m32, xmm, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(2, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VSUBSS m32, xmm, xmm{k}{z} + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x06, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), 0) + m.emit(0x5c) + m.mrsd(lcode(v[2]), addr(v[0]), 4) + }) + } + // VSUBSS {er}, xmm, xmm, xmm{k}{z} + if len(vv) == 1 && isER(v0) && isEVEXXMM(v1) && isEVEXXMM(v2) && isXMMkz(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[3]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[3]) << 4))) + m.emit(0x7e ^ (hlcode(v[2]) << 3)) + m.emit((zcode(v[3]) << 7) | (vcode(v[0]) << 5) | (0x08 ^ (ecode(v[2]) << 3)) | kcode(v[3]) | 0x10) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[3]) << 3 | lcode(v[1])) + }) + } + // VSUBSS xmm, xmm, xmm{k}{z} + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7e ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x5c) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VSUBSS") + } + return p +} + +// VTESTPD performs "Packed Double-Precision Floating-Point Bit Test". +// +// Mnemonic : VTESTPD +// Supported forms : (4 forms) +// +// * VTESTPD xmm, xmm [AVX] +// * VTESTPD m128, xmm [AVX] +// * VTESTPD ymm, ymm [AVX] +// * VTESTPD m256, ymm [AVX] +// +func (self *Program) VTESTPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VTESTPD", 2, Operands { v0, v1 }) + // VTESTPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VTESTPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VTESTPD ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x0f) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VTESTPD m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x0f) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VTESTPD") + } + return p +} + +// VTESTPS performs "Packed Single-Precision Floating-Point Bit Test". +// +// Mnemonic : VTESTPS +// Supported forms : (4 forms) +// +// * VTESTPS xmm, xmm [AVX] +// * VTESTPS m128, xmm [AVX] +// * VTESTPS ymm, ymm [AVX] +// * VTESTPS m256, ymm [AVX] +// +func (self *Program) VTESTPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("VTESTPS", 2, Operands { v0, v1 }) + // VTESTPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x79) + m.emit(0x0e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VTESTPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x01, hcode(v[1]), addr(v[0]), 0) + m.emit(0x0e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VTESTPS ymm, ymm + if isYMM(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xc4) + m.emit(0xe2 ^ (hcode(v[1]) << 7) ^ (hcode(v[0]) << 5)) + m.emit(0x7d) + m.emit(0x0e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VTESTPS m256, ymm + if isM256(v0) && isYMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex3(0xc4, 0b10, 0x05, hcode(v[1]), addr(v[0]), 0) + m.emit(0x0e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for VTESTPS") + } + return p +} + +// VUCOMISD performs "Unordered Compare Scalar Double-Precision Floating-Point Values and Set EFLAGS". +// +// Mnemonic : VUCOMISD +// Supported forms : (5 forms) +// +// * VUCOMISD xmm, xmm [AVX] +// * VUCOMISD m64, xmm [AVX] +// * VUCOMISD m64, xmm [AVX512F] +// * VUCOMISD {sae}, xmm, xmm [AVX512F] +// * VUCOMISD xmm, xmm [AVX512F] +// +func (self *Program) VUCOMISD(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VUCOMISD", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VUCOMISD", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VUCOMISD takes 2 or 3 operands") + } + // VUCOMISD xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), v[0], 0) + m.emit(0x2e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VUCOMISD m64, xmm + if len(vv) == 0 && isM64(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VUCOMISD m64, xmm + if len(vv) == 0 && isM64(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2e) + m.mrsd(lcode(v[1]), addr(v[0]), 8) + }) + } + // VUCOMISD {sae}, xmm, xmm + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd) + m.emit(0x18) + m.emit(0x2e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VUCOMISD xmm, xmm + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0xfd) + m.emit(0x48) + m.emit(0x2e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VUCOMISD") + } + return p +} + +// VUCOMISS performs "Unordered Compare Scalar Single-Precision Floating-Point Values and Set EFLAGS". +// +// Mnemonic : VUCOMISS +// Supported forms : (5 forms) +// +// * VUCOMISS xmm, xmm [AVX] +// * VUCOMISS m32, xmm [AVX] +// * VUCOMISS m32, xmm [AVX512F] +// * VUCOMISS {sae}, xmm, xmm [AVX512F] +// * VUCOMISS xmm, xmm [AVX512F] +// +func (self *Program) VUCOMISS(v0 interface{}, v1 interface{}, vv ...interface{}) *Instruction { + var p *Instruction + switch len(vv) { + case 0 : p = self.alloc("VUCOMISS", 2, Operands { v0, v1 }) + case 1 : p = self.alloc("VUCOMISS", 3, Operands { v0, v1, vv[0] }) + default : panic("instruction VUCOMISS takes 2 or 3 operands") + } + // VUCOMISS xmm, xmm + if len(vv) == 0 && isXMM(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), v[0], 0) + m.emit(0x2e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // VUCOMISS m32, xmm + if len(vv) == 0 && isM32(v0) && isXMM(v1) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[1]), addr(v[0]), 0) + m.emit(0x2e) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // VUCOMISS m32, xmm + if len(vv) == 0 && isM32(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[1]), addr(v[0]), 0, 0, 0, 0) + m.emit(0x2e) + m.mrsd(lcode(v[1]), addr(v[0]), 4) + }) + } + // VUCOMISS {sae}, xmm, xmm + if len(vv) == 1 && isSAE(v0) && isEVEXXMM(v1) && isEVEXXMM(vv[0]) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[1]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c) + m.emit(0x18) + m.emit(0x2e) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[1])) + }) + } + // VUCOMISS xmm, xmm + if len(vv) == 0 && isEVEXXMM(v0) && isEVEXXMM(v1) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[1]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[1]) << 4))) + m.emit(0x7c) + m.emit(0x48) + m.emit(0x2e) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VUCOMISS") + } + return p +} + +// VUNPCKHPD performs "Unpack and Interleave High Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VUNPCKHPD +// Supported forms : (10 forms) +// +// * VUNPCKHPD xmm, xmm, xmm [AVX] +// * VUNPCKHPD m128, xmm, xmm [AVX] +// * VUNPCKHPD ymm, ymm, ymm [AVX] +// * VUNPCKHPD m256, ymm, ymm [AVX] +// * VUNPCKHPD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VUNPCKHPD zmm, zmm, zmm{k}{z} [AVX512F] +// * VUNPCKHPD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VUNPCKHPD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VUNPCKHPD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VUNPCKHPD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VUNPCKHPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VUNPCKHPD", 3, Operands { v0, v1, v2 }) + // VUNPCKHPD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKHPD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VUNPCKHPD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKHPD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VUNPCKHPD m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VUNPCKHPD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKHPD m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VUNPCKHPD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKHPD m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VUNPCKHPD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VUNPCKHPD") + } + return p +} + +// VUNPCKHPS performs "Unpack and Interleave High Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VUNPCKHPS +// Supported forms : (10 forms) +// +// * VUNPCKHPS xmm, xmm, xmm [AVX] +// * VUNPCKHPS m128, xmm, xmm [AVX] +// * VUNPCKHPS ymm, ymm, ymm [AVX] +// * VUNPCKHPS m256, ymm, ymm [AVX] +// * VUNPCKHPS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VUNPCKHPS zmm, zmm, zmm{k}{z} [AVX512F] +// * VUNPCKHPS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VUNPCKHPS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VUNPCKHPS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VUNPCKHPS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VUNPCKHPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VUNPCKHPS", 3, Operands { v0, v1, v2 }) + // VUNPCKHPS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKHPS m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VUNPCKHPS ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKHPS m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VUNPCKHPS m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VUNPCKHPS zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKHPS m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VUNPCKHPS xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKHPS m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x15) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VUNPCKHPS ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x15) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VUNPCKHPS") + } + return p +} + +// VUNPCKLPD performs "Unpack and Interleave Low Packed Double-Precision Floating-Point Values". +// +// Mnemonic : VUNPCKLPD +// Supported forms : (10 forms) +// +// * VUNPCKLPD xmm, xmm, xmm [AVX] +// * VUNPCKLPD m128, xmm, xmm [AVX] +// * VUNPCKLPD ymm, ymm, ymm [AVX] +// * VUNPCKLPD m256, ymm, ymm [AVX] +// * VUNPCKLPD m512/m64bcst, zmm, zmm{k}{z} [AVX512F] +// * VUNPCKLPD zmm, zmm, zmm{k}{z} [AVX512F] +// * VUNPCKLPD m128/m64bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VUNPCKLPD xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VUNPCKLPD m256/m64bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VUNPCKLPD ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VUNPCKLPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VUNPCKLPD", 3, Operands { v0, v1, v2 }) + // VUNPCKLPD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKLPD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VUNPCKLPD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKLPD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VUNPCKLPD m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VUNPCKLPD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKLPD m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VUNPCKLPD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKLPD m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VUNPCKLPD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VUNPCKLPD") + } + return p +} + +// VUNPCKLPS performs "Unpack and Interleave Low Packed Single-Precision Floating-Point Values". +// +// Mnemonic : VUNPCKLPS +// Supported forms : (10 forms) +// +// * VUNPCKLPS xmm, xmm, xmm [AVX] +// * VUNPCKLPS m128, xmm, xmm [AVX] +// * VUNPCKLPS ymm, ymm, ymm [AVX] +// * VUNPCKLPS m256, ymm, ymm [AVX] +// * VUNPCKLPS m512/m32bcst, zmm, zmm{k}{z} [AVX512F] +// * VUNPCKLPS zmm, zmm, zmm{k}{z} [AVX512F] +// * VUNPCKLPS m128/m32bcst, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VUNPCKLPS xmm, xmm, xmm{k}{z} [AVX512F,AVX512VL] +// * VUNPCKLPS m256/m32bcst, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// * VUNPCKLPS ymm, ymm, ymm{k}{z} [AVX512F,AVX512VL] +// +func (self *Program) VUNPCKLPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VUNPCKLPS", 3, Operands { v0, v1, v2 }) + // VUNPCKLPS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKLPS m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VUNPCKLPS ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKLPS m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VUNPCKLPS m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VUNPCKLPS zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKLPS m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VUNPCKLPS xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VUNPCKLPS m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x14) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VUNPCKLPS ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512F) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x14) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VUNPCKLPS") + } + return p +} + +// VXORPD performs "Bitwise Logical XOR for Double-Precision Floating-Point Values". +// +// Mnemonic : VXORPD +// Supported forms : (10 forms) +// +// * VXORPD xmm, xmm, xmm [AVX] +// * VXORPD m128, xmm, xmm [AVX] +// * VXORPD ymm, ymm, ymm [AVX] +// * VXORPD m256, ymm, ymm [AVX] +// * VXORPD m512/m64bcst, zmm, zmm{k}{z} [AVX512DQ] +// * VXORPD zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VXORPD m128/m64bcst, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VXORPD xmm, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VXORPD m256/m64bcst, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VXORPD ymm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VXORPD(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VXORPD", 3, Operands { v0, v1, v2 }) + // VXORPD xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x57) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VXORPD m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(1, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x57) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VXORPD ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x57) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VXORPD m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(5, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x57) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VXORPD m512/m64bcst, zmm, zmm{k}{z} + if isM512M64bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x57) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VXORPD zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x57) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VXORPD m128/m64bcst, xmm, xmm{k}{z} + if isM128M64bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x57) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VXORPD xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x57) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VXORPD m256/m64bcst, ymm, ymm{k}{z} + if isM256M64bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x85, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x57) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VXORPD ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0xfd ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x57) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VXORPD") + } + return p +} + +// VXORPS performs "Bitwise Logical XOR for Single-Precision Floating-Point Values". +// +// Mnemonic : VXORPS +// Supported forms : (10 forms) +// +// * VXORPS xmm, xmm, xmm [AVX] +// * VXORPS m128, xmm, xmm [AVX] +// * VXORPS ymm, ymm, ymm [AVX] +// * VXORPS m256, ymm, ymm [AVX] +// * VXORPS m512/m32bcst, zmm, zmm{k}{z} [AVX512DQ] +// * VXORPS zmm, zmm, zmm{k}{z} [AVX512DQ] +// * VXORPS m128/m32bcst, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VXORPS xmm, xmm, xmm{k}{z} [AVX512DQ,AVX512VL] +// * VXORPS m256/m32bcst, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// * VXORPS ymm, ymm, ymm{k}{z} [AVX512DQ,AVX512VL] +// +func (self *Program) VXORPS(v0 interface{}, v1 interface{}, v2 interface{}) *Instruction { + p := self.alloc("VXORPS", 3, Operands { v0, v1, v2 }) + // VXORPS xmm, xmm, xmm + if isXMM(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x57) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VXORPS m128, xmm, xmm + if isM128(v0) && isXMM(v1) && isXMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x57) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VXORPS ymm, ymm, ymm + if isYMM(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), v[0], hlcode(v[1])) + m.emit(0x57) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VXORPS m256, ymm, ymm + if isM256(v0) && isYMM(v1) && isYMM(v2) { + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, hcode(v[2]), addr(v[0]), hlcode(v[1])) + m.emit(0x57) + m.mrsd(lcode(v[2]), addr(v[0]), 1) + }) + } + // VXORPS m512/m32bcst, zmm, zmm{k}{z} + if isM512M32bcst(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b10, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x57) + m.mrsd(lcode(v[2]), addr(v[0]), 64) + }) + } + // VXORPS zmm, zmm, zmm{k}{z} + if isZMM(v0) && isZMM(v1) && isZMMkz(v2) { + self.require(ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x40) + m.emit(0x57) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VXORPS m128/m32bcst, xmm, xmm{k}{z} + if isM128M32bcst(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b00, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x57) + m.mrsd(lcode(v[2]), addr(v[0]), 16) + }) + } + // VXORPS xmm, xmm, xmm{k}{z} + if isEVEXXMM(v0) && isEVEXXMM(v1) && isXMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x00) + m.emit(0x57) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + // VXORPS m256/m32bcst, ymm, ymm{k}{z} + if isM256M32bcst(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.evex(0b01, 0x04, 0b01, ehcode(v[2]), addr(v[0]), vcode(v[1]), kcode(v[2]), zcode(v[2]), bcode(v[0])) + m.emit(0x57) + m.mrsd(lcode(v[2]), addr(v[0]), 32) + }) + } + // VXORPS ymm, ymm, ymm{k}{z} + if isEVEXYMM(v0) && isEVEXYMM(v1) && isYMMkz(v2) { + self.require(ISA_AVX512VL | ISA_AVX512DQ) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x62) + m.emit(0xf1 ^ ((hcode(v[2]) << 7) | (ehcode(v[0]) << 5) | (ecode(v[2]) << 4))) + m.emit(0x7c ^ (hlcode(v[1]) << 3)) + m.emit((zcode(v[2]) << 7) | (0x08 ^ (ecode(v[1]) << 3)) | kcode(v[2]) | 0x20) + m.emit(0x57) + m.emit(0xc0 | lcode(v[2]) << 3 | lcode(v[0])) + }) + } + if p.len == 0 { + panic("invalid operands for VXORPS") + } + return p +} + +// VZEROALL performs "Zero All YMM Registers". +// +// Mnemonic : VZEROALL +// Supported forms : (1 form) +// +// * VZEROALL [AVX] +// +func (self *Program) VZEROALL() *Instruction { + p := self.alloc("VZEROALL", 0, Operands { }) + // VZEROALL + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(4, 0, nil, 0) + m.emit(0x77) + }) + return p +} + +// VZEROUPPER performs "Zero Upper Bits of YMM Registers". +// +// Mnemonic : VZEROUPPER +// Supported forms : (1 form) +// +// * VZEROUPPER [AVX] +// +func (self *Program) VZEROUPPER() *Instruction { + p := self.alloc("VZEROUPPER", 0, Operands { }) + // VZEROUPPER + self.require(ISA_AVX) + p.domain = DomainAVX + p.add(0, func(m *_Encoding, v []interface{}) { + m.vex2(0, 0, nil, 0) + m.emit(0x77) + }) + return p +} + +// XADDB performs "Exchange and Add". +// +// Mnemonic : XADD +// Supported forms : (2 forms) +// +// * XADDB r8, r8 +// * XADDB r8, m8 +// +func (self *Program) XADDB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XADDB", 2, Operands { v0, v1 }) + // XADDB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x0f) + m.emit(0xc0) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // XADDB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x0f) + m.emit(0xc0) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XADDB") + } + return p +} + +// XADDL performs "Exchange and Add". +// +// Mnemonic : XADD +// Supported forms : (2 forms) +// +// * XADDL r32, r32 +// * XADDL r32, m32 +// +func (self *Program) XADDL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XADDL", 2, Operands { v0, v1 }) + // XADDL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xc1) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // XADDL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xc1) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XADDL") + } + return p +} + +// XADDQ performs "Exchange and Add". +// +// Mnemonic : XADD +// Supported forms : (2 forms) +// +// * XADDQ r64, r64 +// * XADDQ r64, m64 +// +func (self *Program) XADDQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XADDQ", 2, Operands { v0, v1 }) + // XADDQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x0f) + m.emit(0xc1) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // XADDQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x0f) + m.emit(0xc1) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XADDQ") + } + return p +} + +// XADDW performs "Exchange and Add". +// +// Mnemonic : XADD +// Supported forms : (2 forms) +// +// * XADDW r16, r16 +// * XADDW r16, m16 +// +func (self *Program) XADDW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XADDW", 2, Operands { v0, v1 }) + // XADDW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x0f) + m.emit(0xc1) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + } + // XADDW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x0f) + m.emit(0xc1) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XADDW") + } + return p +} + +// XCHGB performs "Exchange Register/Memory with Register". +// +// Mnemonic : XCHG +// Supported forms : (3 forms) +// +// * XCHGB r8, r8 +// * XCHGB m8, r8 +// * XCHGB r8, m8 +// +func (self *Program) XCHGB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XCHGB", 2, Operands { v0, v1 }) + // XCHGB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x86) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x86) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // XCHGB m8, r8 + if isM8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), isReg8REX(v[1])) + m.emit(0x86) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // XCHGB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x86) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XCHGB") + } + return p +} + +// XCHGL performs "Exchange Register/Memory with Register". +// +// Mnemonic : XCHG +// Supported forms : (5 forms) +// +// * XCHGL r32, eax +// * XCHGL eax, r32 +// * XCHGL r32, r32 +// * XCHGL m32, r32 +// * XCHGL r32, m32 +// +func (self *Program) XCHGL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XCHGL", 2, Operands { v0, v1 }) + // XCHGL r32, eax + if isReg32(v0) && v1 == EAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[0], false) + m.emit(0x90 | lcode(v[0])) + }) + } + // XCHGL eax, r32 + if v0 == EAX && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x90 | lcode(v[1])) + }) + } + // XCHGL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x87) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x87) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // XCHGL m32, r32 + if isM32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x87) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // XCHGL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x87) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XCHGL") + } + return p +} + +// XCHGQ performs "Exchange Register/Memory with Register". +// +// Mnemonic : XCHG +// Supported forms : (5 forms) +// +// * XCHGQ r64, rax +// * XCHGQ rax, r64 +// * XCHGQ r64, r64 +// * XCHGQ m64, r64 +// * XCHGQ r64, m64 +// +func (self *Program) XCHGQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XCHGQ", 2, Operands { v0, v1 }) + // XCHGQ r64, rax + if isReg64(v0) && v1 == RAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0])) + m.emit(0x90 | lcode(v[0])) + }) + } + // XCHGQ rax, r64 + if v0 == RAX && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x90 | lcode(v[1])) + }) + } + // XCHGQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x87) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x87) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // XCHGQ m64, r64 + if isM64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x87) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // XCHGQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x87) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XCHGQ") + } + return p +} + +// XCHGW performs "Exchange Register/Memory with Register". +// +// Mnemonic : XCHG +// Supported forms : (5 forms) +// +// * XCHGW r16, ax +// * XCHGW ax, r16 +// * XCHGW r16, r16 +// * XCHGW m16, r16 +// * XCHGW r16, m16 +// +func (self *Program) XCHGW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XCHGW", 2, Operands { v0, v1 }) + // XCHGW r16, ax + if isReg16(v0) && v1 == AX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[0], false) + m.emit(0x90 | lcode(v[0])) + }) + } + // XCHGW ax, r16 + if v0 == AX && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x90 | lcode(v[1])) + }) + } + // XCHGW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x87) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x87) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // XCHGW m16, r16 + if isM16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x87) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // XCHGW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x87) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XCHGW") + } + return p +} + +// XGETBV performs "Get Value of Extended Control Register". +// +// Mnemonic : XGETBV +// Supported forms : (1 form) +// +// * XGETBV +// +func (self *Program) XGETBV() *Instruction { + p := self.alloc("XGETBV", 0, Operands { }) + // XGETBV + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x0f) + m.emit(0x01) + m.emit(0xd0) + }) + return p +} + +// XLATB performs "Table Look-up Translation". +// +// Mnemonic : XLATB +// Supported forms : (2 forms) +// +// * XLATB +// * XLATB +// +func (self *Program) XLATB() *Instruction { + p := self.alloc("XLATB", 0, Operands { }) + // XLATB + p.domain = DomainMisc + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0xd7) + }) + // XLATB + p.domain = DomainMisc + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48) + m.emit(0xd7) + }) + return p +} + +// XORB performs "Logical Exclusive OR". +// +// Mnemonic : XOR +// Supported forms : (6 forms) +// +// * XORB imm8, al +// * XORB imm8, r8 +// * XORB r8, r8 +// * XORB m8, r8 +// * XORB imm8, m8 +// * XORB r8, m8 +// +func (self *Program) XORB(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XORB", 2, Operands { v0, v1 }) + // XORB imm8, al + if isImm8(v0) && v1 == AL { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x34) + m.imm1(toImmAny(v[0])) + }) + } + // XORB imm8, r8 + if isImm8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], isReg8REX(v[1])) + m.emit(0x80) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // XORB r8, r8 + if isReg8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x30) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], isReg8REX(v[0]) || isReg8REX(v[1])) + m.emit(0x32) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // XORB m8, r8 + if isM8(v0) && isReg8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), isReg8REX(v[1])) + m.emit(0x32) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // XORB imm8, m8 + if isImm8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x80) + m.mrsd(6, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // XORB r8, m8 + if isReg8(v0) && isM8(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), isReg8REX(v[0])) + m.emit(0x30) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XORB") + } + return p +} + +// XORL performs "Logical Exclusive OR". +// +// Mnemonic : XOR +// Supported forms : (8 forms) +// +// * XORL imm32, eax +// * XORL imm8, r32 +// * XORL imm32, r32 +// * XORL r32, r32 +// * XORL m32, r32 +// * XORL imm8, m32 +// * XORL imm32, m32 +// * XORL r32, m32 +// +func (self *Program) XORL(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XORL", 2, Operands { v0, v1 }) + // XORL imm32, eax + if isImm32(v0) && v1 == EAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x35) + m.imm4(toImmAny(v[0])) + }) + } + // XORL imm8, r32 + if isImm8Ext(v0, 4) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // XORL imm32, r32 + if isImm32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xf0 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // XORL r32, r32 + if isReg32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x31) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x33) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // XORL m32, r32 + if isM32(v0) && isReg32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x33) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // XORL imm8, m32 + if isImm8Ext(v0, 4) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(6, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // XORL imm32, m32 + if isImm32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(6, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // XORL r32, m32 + if isReg32(v0) && isM32(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x31) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XORL") + } + return p +} + +// XORPD performs "Bitwise Logical XOR for Double-Precision Floating-Point Values". +// +// Mnemonic : XORPD +// Supported forms : (2 forms) +// +// * XORPD xmm, xmm [SSE2] +// * XORPD m128, xmm [SSE2] +// +func (self *Program) XORPD(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XORPD", 2, Operands { v0, v1 }) + // XORPD xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x57) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // XORPD m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE2) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x57) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XORPD") + } + return p +} + +// XORPS performs "Bitwise Logical XOR for Single-Precision Floating-Point Values". +// +// Mnemonic : XORPS +// Supported forms : (2 forms) +// +// * XORPS xmm, xmm [SSE] +// * XORPS m128, xmm [SSE] +// +func (self *Program) XORPS(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XORPS", 2, Operands { v0, v1 }) + // XORPS xmm, xmm + if isXMM(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x0f) + m.emit(0x57) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // XORPS m128, xmm + if isM128(v0) && isXMM(v1) { + self.require(ISA_SSE) + p.domain = DomainMMXSSE + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x0f) + m.emit(0x57) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XORPS") + } + return p +} + +// XORQ performs "Logical Exclusive OR". +// +// Mnemonic : XOR +// Supported forms : (8 forms) +// +// * XORQ imm32, rax +// * XORQ imm8, r64 +// * XORQ imm32, r64 +// * XORQ r64, r64 +// * XORQ m64, r64 +// * XORQ imm8, m64 +// * XORQ imm32, m64 +// * XORQ r64, m64 +// +func (self *Program) XORQ(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XORQ", 2, Operands { v0, v1 }) + // XORQ imm32, rax + if isImm32(v0) && v1 == RAX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48) + m.emit(0x35) + m.imm4(toImmAny(v[0])) + }) + } + // XORQ imm8, r64 + if isImm8Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x83) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // XORQ imm32, r64 + if isImm32Ext(v0, 8) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1])) + m.emit(0x81) + m.emit(0xf0 | lcode(v[1])) + m.imm4(toImmAny(v[0])) + }) + } + // XORQ r64, r64 + if isReg64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[0]) << 2 | hcode(v[1])) + m.emit(0x31) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x48 | hcode(v[1]) << 2 | hcode(v[0])) + m.emit(0x33) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // XORQ m64, r64 + if isM64(v0) && isReg64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[1]), addr(v[0])) + m.emit(0x33) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // XORQ imm8, m64 + if isImm8Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x83) + m.mrsd(6, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // XORQ imm32, m64 + if isImm32Ext(v0, 8) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, 0, addr(v[1])) + m.emit(0x81) + m.mrsd(6, addr(v[1]), 1) + m.imm4(toImmAny(v[0])) + }) + } + // XORQ r64, m64 + if isReg64(v0) && isM64(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.rexm(1, hcode(v[0]), addr(v[1])) + m.emit(0x31) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XORQ") + } + return p +} + +// XORW performs "Logical Exclusive OR". +// +// Mnemonic : XOR +// Supported forms : (8 forms) +// +// * XORW imm16, ax +// * XORW imm8, r16 +// * XORW imm16, r16 +// * XORW r16, r16 +// * XORW m16, r16 +// * XORW imm8, m16 +// * XORW imm16, m16 +// * XORW r16, m16 +// +func (self *Program) XORW(v0 interface{}, v1 interface{}) *Instruction { + p := self.alloc("XORW", 2, Operands { v0, v1 }) + // XORW imm16, ax + if isImm16(v0) && v1 == AX { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.emit(0x35) + m.imm2(toImmAny(v[0])) + }) + } + // XORW imm8, r16 + if isImm8Ext(v0, 2) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x83) + m.emit(0xf0 | lcode(v[1])) + m.imm1(toImmAny(v[0])) + }) + } + // XORW imm16, r16 + if isImm16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, v[1], false) + m.emit(0x81) + m.emit(0xf0 | lcode(v[1])) + m.imm2(toImmAny(v[0])) + }) + } + // XORW r16, r16 + if isReg16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), v[1], false) + m.emit(0x31) + m.emit(0xc0 | lcode(v[0]) << 3 | lcode(v[1])) + }) + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), v[0], false) + m.emit(0x33) + m.emit(0xc0 | lcode(v[1]) << 3 | lcode(v[0])) + }) + } + // XORW m16, r16 + if isM16(v0) && isReg16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[1]), addr(v[0]), false) + m.emit(0x33) + m.mrsd(lcode(v[1]), addr(v[0]), 1) + }) + } + // XORW imm8, m16 + if isImm8Ext(v0, 2) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x83) + m.mrsd(6, addr(v[1]), 1) + m.imm1(toImmAny(v[0])) + }) + } + // XORW imm16, m16 + if isImm16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(0, addr(v[1]), false) + m.emit(0x81) + m.mrsd(6, addr(v[1]), 1) + m.imm2(toImmAny(v[0])) + }) + } + // XORW r16, m16 + if isReg16(v0) && isM16(v1) { + p.domain = DomainGeneric + p.add(0, func(m *_Encoding, v []interface{}) { + m.emit(0x66) + m.rexo(hcode(v[0]), addr(v[1]), false) + m.emit(0x31) + m.mrsd(lcode(v[0]), addr(v[1]), 1) + }) + } + if p.len == 0 { + panic("invalid operands for XORW") + } + return p +} diff --git a/vendor/github.com/cloudwego/iasm/x86_64/instructions_table.go b/vendor/github.com/cloudwego/iasm/x86_64/instructions_table.go new file mode 100644 index 0000000..dfb652a --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/instructions_table.go @@ -0,0 +1,12307 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Code generated by "mkasm_amd64.py", DO NOT EDIT. + +package x86_64 + +const ( + _N_args = 5 + _N_forms = 23 +) + +// Instructions maps all the instruction name to it's encoder function. +var Instructions = map[string]_InstructionEncoder { + "adcb" : __asm_proxy_ADCB__, + "adcl" : __asm_proxy_ADCL__, + "adcq" : __asm_proxy_ADCQ__, + "adcw" : __asm_proxy_ADCW__, + "adcxl" : __asm_proxy_ADCXL__, + "adcxq" : __asm_proxy_ADCXQ__, + "addb" : __asm_proxy_ADDB__, + "addl" : __asm_proxy_ADDL__, + "addpd" : __asm_proxy_ADDPD__, + "addps" : __asm_proxy_ADDPS__, + "addq" : __asm_proxy_ADDQ__, + "addsd" : __asm_proxy_ADDSD__, + "addss" : __asm_proxy_ADDSS__, + "addsubpd" : __asm_proxy_ADDSUBPD__, + "addsubps" : __asm_proxy_ADDSUBPS__, + "addw" : __asm_proxy_ADDW__, + "adoxl" : __asm_proxy_ADOXL__, + "adoxq" : __asm_proxy_ADOXQ__, + "aesdec" : __asm_proxy_AESDEC__, + "aesdeclast" : __asm_proxy_AESDECLAST__, + "aesenc" : __asm_proxy_AESENC__, + "aesenclast" : __asm_proxy_AESENCLAST__, + "aesimc" : __asm_proxy_AESIMC__, + "aeskeygenassist" : __asm_proxy_AESKEYGENASSIST__, + "andb" : __asm_proxy_ANDB__, + "andl" : __asm_proxy_ANDL__, + "andnl" : __asm_proxy_ANDNL__, + "andnpd" : __asm_proxy_ANDNPD__, + "andnps" : __asm_proxy_ANDNPS__, + "andnq" : __asm_proxy_ANDNQ__, + "andpd" : __asm_proxy_ANDPD__, + "andps" : __asm_proxy_ANDPS__, + "andq" : __asm_proxy_ANDQ__, + "andw" : __asm_proxy_ANDW__, + "bextr" : __asm_proxy_BEXTR__, + "blcfill" : __asm_proxy_BLCFILL__, + "blci" : __asm_proxy_BLCI__, + "blcic" : __asm_proxy_BLCIC__, + "blcmsk" : __asm_proxy_BLCMSK__, + "blcs" : __asm_proxy_BLCS__, + "blendpd" : __asm_proxy_BLENDPD__, + "blendps" : __asm_proxy_BLENDPS__, + "blendvpd" : __asm_proxy_BLENDVPD__, + "blendvps" : __asm_proxy_BLENDVPS__, + "blsfill" : __asm_proxy_BLSFILL__, + "blsi" : __asm_proxy_BLSI__, + "blsic" : __asm_proxy_BLSIC__, + "blsmsk" : __asm_proxy_BLSMSK__, + "blsr" : __asm_proxy_BLSR__, + "bsfl" : __asm_proxy_BSFL__, + "bsfq" : __asm_proxy_BSFQ__, + "bsfw" : __asm_proxy_BSFW__, + "bsrl" : __asm_proxy_BSRL__, + "bsrq" : __asm_proxy_BSRQ__, + "bsrw" : __asm_proxy_BSRW__, + "bswapl" : __asm_proxy_BSWAPL__, + "bswapq" : __asm_proxy_BSWAPQ__, + "btcl" : __asm_proxy_BTCL__, + "btcq" : __asm_proxy_BTCQ__, + "btcw" : __asm_proxy_BTCW__, + "btl" : __asm_proxy_BTL__, + "btq" : __asm_proxy_BTQ__, + "btrl" : __asm_proxy_BTRL__, + "btrq" : __asm_proxy_BTRQ__, + "btrw" : __asm_proxy_BTRW__, + "btsl" : __asm_proxy_BTSL__, + "btsq" : __asm_proxy_BTSQ__, + "btsw" : __asm_proxy_BTSW__, + "btw" : __asm_proxy_BTW__, + "bzhi" : __asm_proxy_BZHI__, + "call" : __asm_proxy_CALL__, + "callq" : __asm_proxy_CALLQ__, + "cbtw" : __asm_proxy_CBTW__, + "clc" : __asm_proxy_CLC__, + "cld" : __asm_proxy_CLD__, + "clflush" : __asm_proxy_CLFLUSH__, + "clflushopt" : __asm_proxy_CLFLUSHOPT__, + "cltd" : __asm_proxy_CLTD__, + "cltq" : __asm_proxy_CLTQ__, + "clwb" : __asm_proxy_CLWB__, + "clzero" : __asm_proxy_CLZERO__, + "cmc" : __asm_proxy_CMC__, + "cmova" : __asm_proxy_CMOVA__, + "cmovae" : __asm_proxy_CMOVAE__, + "cmovb" : __asm_proxy_CMOVB__, + "cmovbe" : __asm_proxy_CMOVBE__, + "cmovc" : __asm_proxy_CMOVC__, + "cmove" : __asm_proxy_CMOVE__, + "cmovg" : __asm_proxy_CMOVG__, + "cmovge" : __asm_proxy_CMOVGE__, + "cmovl" : __asm_proxy_CMOVL__, + "cmovle" : __asm_proxy_CMOVLE__, + "cmovna" : __asm_proxy_CMOVNA__, + "cmovnae" : __asm_proxy_CMOVNAE__, + "cmovnb" : __asm_proxy_CMOVNB__, + "cmovnbe" : __asm_proxy_CMOVNBE__, + "cmovnc" : __asm_proxy_CMOVNC__, + "cmovne" : __asm_proxy_CMOVNE__, + "cmovng" : __asm_proxy_CMOVNG__, + "cmovnge" : __asm_proxy_CMOVNGE__, + "cmovnl" : __asm_proxy_CMOVNL__, + "cmovnle" : __asm_proxy_CMOVNLE__, + "cmovno" : __asm_proxy_CMOVNO__, + "cmovnp" : __asm_proxy_CMOVNP__, + "cmovns" : __asm_proxy_CMOVNS__, + "cmovnz" : __asm_proxy_CMOVNZ__, + "cmovo" : __asm_proxy_CMOVO__, + "cmovp" : __asm_proxy_CMOVP__, + "cmovpe" : __asm_proxy_CMOVPE__, + "cmovpo" : __asm_proxy_CMOVPO__, + "cmovs" : __asm_proxy_CMOVS__, + "cmovz" : __asm_proxy_CMOVZ__, + "cmpb" : __asm_proxy_CMPB__, + "cmpl" : __asm_proxy_CMPL__, + "cmppd" : __asm_proxy_CMPPD__, + "cmpps" : __asm_proxy_CMPPS__, + "cmpq" : __asm_proxy_CMPQ__, + "cmpsd" : __asm_proxy_CMPSD__, + "cmpss" : __asm_proxy_CMPSS__, + "cmpw" : __asm_proxy_CMPW__, + "cmpxchg16b" : __asm_proxy_CMPXCHG16B__, + "cmpxchg8b" : __asm_proxy_CMPXCHG8B__, + "cmpxchgb" : __asm_proxy_CMPXCHGB__, + "cmpxchgl" : __asm_proxy_CMPXCHGL__, + "cmpxchgq" : __asm_proxy_CMPXCHGQ__, + "cmpxchgw" : __asm_proxy_CMPXCHGW__, + "comisd" : __asm_proxy_COMISD__, + "comiss" : __asm_proxy_COMISS__, + "cpuid" : __asm_proxy_CPUID__, + "cqto" : __asm_proxy_CQTO__, + "crc32b" : __asm_proxy_CRC32B__, + "crc32l" : __asm_proxy_CRC32L__, + "crc32q" : __asm_proxy_CRC32Q__, + "crc32w" : __asm_proxy_CRC32W__, + "cvtdq2pd" : __asm_proxy_CVTDQ2PD__, + "cvtdq2ps" : __asm_proxy_CVTDQ2PS__, + "cvtpd2dq" : __asm_proxy_CVTPD2DQ__, + "cvtpd2pi" : __asm_proxy_CVTPD2PI__, + "cvtpd2ps" : __asm_proxy_CVTPD2PS__, + "cvtpi2pd" : __asm_proxy_CVTPI2PD__, + "cvtpi2ps" : __asm_proxy_CVTPI2PS__, + "cvtps2dq" : __asm_proxy_CVTPS2DQ__, + "cvtps2pd" : __asm_proxy_CVTPS2PD__, + "cvtps2pi" : __asm_proxy_CVTPS2PI__, + "cvtsd2si" : __asm_proxy_CVTSD2SI__, + "cvtsd2ss" : __asm_proxy_CVTSD2SS__, + "cvtsi2sd" : __asm_proxy_CVTSI2SD__, + "cvtsi2ss" : __asm_proxy_CVTSI2SS__, + "cvtss2sd" : __asm_proxy_CVTSS2SD__, + "cvtss2si" : __asm_proxy_CVTSS2SI__, + "cvttpd2dq" : __asm_proxy_CVTTPD2DQ__, + "cvttpd2pi" : __asm_proxy_CVTTPD2PI__, + "cvttps2dq" : __asm_proxy_CVTTPS2DQ__, + "cvttps2pi" : __asm_proxy_CVTTPS2PI__, + "cvttsd2si" : __asm_proxy_CVTTSD2SI__, + "cvttss2si" : __asm_proxy_CVTTSS2SI__, + "cwtd" : __asm_proxy_CWTD__, + "cwtl" : __asm_proxy_CWTL__, + "decb" : __asm_proxy_DECB__, + "decl" : __asm_proxy_DECL__, + "decq" : __asm_proxy_DECQ__, + "decw" : __asm_proxy_DECW__, + "divb" : __asm_proxy_DIVB__, + "divl" : __asm_proxy_DIVL__, + "divpd" : __asm_proxy_DIVPD__, + "divps" : __asm_proxy_DIVPS__, + "divq" : __asm_proxy_DIVQ__, + "divsd" : __asm_proxy_DIVSD__, + "divss" : __asm_proxy_DIVSS__, + "divw" : __asm_proxy_DIVW__, + "dppd" : __asm_proxy_DPPD__, + "dpps" : __asm_proxy_DPPS__, + "emms" : __asm_proxy_EMMS__, + "extractps" : __asm_proxy_EXTRACTPS__, + "extrq" : __asm_proxy_EXTRQ__, + "femms" : __asm_proxy_FEMMS__, + "haddpd" : __asm_proxy_HADDPD__, + "haddps" : __asm_proxy_HADDPS__, + "hsubpd" : __asm_proxy_HSUBPD__, + "hsubps" : __asm_proxy_HSUBPS__, + "idivb" : __asm_proxy_IDIVB__, + "idivl" : __asm_proxy_IDIVL__, + "idivq" : __asm_proxy_IDIVQ__, + "idivw" : __asm_proxy_IDIVW__, + "imulb" : __asm_proxy_IMULB__, + "imull" : __asm_proxy_IMULL__, + "imulq" : __asm_proxy_IMULQ__, + "imulw" : __asm_proxy_IMULW__, + "incb" : __asm_proxy_INCB__, + "incl" : __asm_proxy_INCL__, + "incq" : __asm_proxy_INCQ__, + "incw" : __asm_proxy_INCW__, + "insertps" : __asm_proxy_INSERTPS__, + "insertq" : __asm_proxy_INSERTQ__, + "int" : __asm_proxy_INT__, + "ja" : __asm_proxy_JA__, + "jae" : __asm_proxy_JAE__, + "jb" : __asm_proxy_JB__, + "jbe" : __asm_proxy_JBE__, + "jc" : __asm_proxy_JC__, + "je" : __asm_proxy_JE__, + "jecxz" : __asm_proxy_JECXZ__, + "jg" : __asm_proxy_JG__, + "jge" : __asm_proxy_JGE__, + "jl" : __asm_proxy_JL__, + "jle" : __asm_proxy_JLE__, + "jmp" : __asm_proxy_JMP__, + "jmpq" : __asm_proxy_JMPQ__, + "jna" : __asm_proxy_JNA__, + "jnae" : __asm_proxy_JNAE__, + "jnb" : __asm_proxy_JNB__, + "jnbe" : __asm_proxy_JNBE__, + "jnc" : __asm_proxy_JNC__, + "jne" : __asm_proxy_JNE__, + "jng" : __asm_proxy_JNG__, + "jnge" : __asm_proxy_JNGE__, + "jnl" : __asm_proxy_JNL__, + "jnle" : __asm_proxy_JNLE__, + "jno" : __asm_proxy_JNO__, + "jnp" : __asm_proxy_JNP__, + "jns" : __asm_proxy_JNS__, + "jnz" : __asm_proxy_JNZ__, + "jo" : __asm_proxy_JO__, + "jp" : __asm_proxy_JP__, + "jpe" : __asm_proxy_JPE__, + "jpo" : __asm_proxy_JPO__, + "jrcxz" : __asm_proxy_JRCXZ__, + "js" : __asm_proxy_JS__, + "jz" : __asm_proxy_JZ__, + "kaddb" : __asm_proxy_KADDB__, + "kaddd" : __asm_proxy_KADDD__, + "kaddq" : __asm_proxy_KADDQ__, + "kaddw" : __asm_proxy_KADDW__, + "kandb" : __asm_proxy_KANDB__, + "kandd" : __asm_proxy_KANDD__, + "kandnb" : __asm_proxy_KANDNB__, + "kandnd" : __asm_proxy_KANDND__, + "kandnq" : __asm_proxy_KANDNQ__, + "kandnw" : __asm_proxy_KANDNW__, + "kandq" : __asm_proxy_KANDQ__, + "kandw" : __asm_proxy_KANDW__, + "kmovb" : __asm_proxy_KMOVB__, + "kmovd" : __asm_proxy_KMOVD__, + "kmovq" : __asm_proxy_KMOVQ__, + "kmovw" : __asm_proxy_KMOVW__, + "knotb" : __asm_proxy_KNOTB__, + "knotd" : __asm_proxy_KNOTD__, + "knotq" : __asm_proxy_KNOTQ__, + "knotw" : __asm_proxy_KNOTW__, + "korb" : __asm_proxy_KORB__, + "kord" : __asm_proxy_KORD__, + "korq" : __asm_proxy_KORQ__, + "kortestb" : __asm_proxy_KORTESTB__, + "kortestd" : __asm_proxy_KORTESTD__, + "kortestq" : __asm_proxy_KORTESTQ__, + "kortestw" : __asm_proxy_KORTESTW__, + "korw" : __asm_proxy_KORW__, + "kshiftlb" : __asm_proxy_KSHIFTLB__, + "kshiftld" : __asm_proxy_KSHIFTLD__, + "kshiftlq" : __asm_proxy_KSHIFTLQ__, + "kshiftlw" : __asm_proxy_KSHIFTLW__, + "kshiftrb" : __asm_proxy_KSHIFTRB__, + "kshiftrd" : __asm_proxy_KSHIFTRD__, + "kshiftrq" : __asm_proxy_KSHIFTRQ__, + "kshiftrw" : __asm_proxy_KSHIFTRW__, + "ktestb" : __asm_proxy_KTESTB__, + "ktestd" : __asm_proxy_KTESTD__, + "ktestq" : __asm_proxy_KTESTQ__, + "ktestw" : __asm_proxy_KTESTW__, + "kunpckbw" : __asm_proxy_KUNPCKBW__, + "kunpckdq" : __asm_proxy_KUNPCKDQ__, + "kunpckwd" : __asm_proxy_KUNPCKWD__, + "kxnorb" : __asm_proxy_KXNORB__, + "kxnord" : __asm_proxy_KXNORD__, + "kxnorq" : __asm_proxy_KXNORQ__, + "kxnorw" : __asm_proxy_KXNORW__, + "kxorb" : __asm_proxy_KXORB__, + "kxord" : __asm_proxy_KXORD__, + "kxorq" : __asm_proxy_KXORQ__, + "kxorw" : __asm_proxy_KXORW__, + "lddqu" : __asm_proxy_LDDQU__, + "ldmxcsr" : __asm_proxy_LDMXCSR__, + "leal" : __asm_proxy_LEAL__, + "leaq" : __asm_proxy_LEAQ__, + "leaw" : __asm_proxy_LEAW__, + "lfence" : __asm_proxy_LFENCE__, + "lzcntl" : __asm_proxy_LZCNTL__, + "lzcntq" : __asm_proxy_LZCNTQ__, + "lzcntw" : __asm_proxy_LZCNTW__, + "maskmovdqu" : __asm_proxy_MASKMOVDQU__, + "maskmovq" : __asm_proxy_MASKMOVQ__, + "maxpd" : __asm_proxy_MAXPD__, + "maxps" : __asm_proxy_MAXPS__, + "maxsd" : __asm_proxy_MAXSD__, + "maxss" : __asm_proxy_MAXSS__, + "mfence" : __asm_proxy_MFENCE__, + "minpd" : __asm_proxy_MINPD__, + "minps" : __asm_proxy_MINPS__, + "minsd" : __asm_proxy_MINSD__, + "minss" : __asm_proxy_MINSS__, + "monitor" : __asm_proxy_MONITOR__, + "monitorx" : __asm_proxy_MONITORX__, + "movapd" : __asm_proxy_MOVAPD__, + "movaps" : __asm_proxy_MOVAPS__, + "movb" : __asm_proxy_MOVB__, + "movbel" : __asm_proxy_MOVBEL__, + "movbeq" : __asm_proxy_MOVBEQ__, + "movbew" : __asm_proxy_MOVBEW__, + "movd" : __asm_proxy_MOVD__, + "movddup" : __asm_proxy_MOVDDUP__, + "movdq2q" : __asm_proxy_MOVDQ2Q__, + "movdqa" : __asm_proxy_MOVDQA__, + "movdqu" : __asm_proxy_MOVDQU__, + "movhlps" : __asm_proxy_MOVHLPS__, + "movhpd" : __asm_proxy_MOVHPD__, + "movhps" : __asm_proxy_MOVHPS__, + "movl" : __asm_proxy_MOVL__, + "movlhps" : __asm_proxy_MOVLHPS__, + "movlpd" : __asm_proxy_MOVLPD__, + "movlps" : __asm_proxy_MOVLPS__, + "movmskpd" : __asm_proxy_MOVMSKPD__, + "movmskps" : __asm_proxy_MOVMSKPS__, + "movntdq" : __asm_proxy_MOVNTDQ__, + "movntdqa" : __asm_proxy_MOVNTDQA__, + "movntil" : __asm_proxy_MOVNTIL__, + "movntiq" : __asm_proxy_MOVNTIQ__, + "movntpd" : __asm_proxy_MOVNTPD__, + "movntps" : __asm_proxy_MOVNTPS__, + "movntq" : __asm_proxy_MOVNTQ__, + "movntsd" : __asm_proxy_MOVNTSD__, + "movntss" : __asm_proxy_MOVNTSS__, + "movq" : __asm_proxy_MOVQ__, + "movq2dq" : __asm_proxy_MOVQ2DQ__, + "movsbl" : __asm_proxy_MOVSBL__, + "movsbq" : __asm_proxy_MOVSBQ__, + "movsbw" : __asm_proxy_MOVSBW__, + "movsd" : __asm_proxy_MOVSD__, + "movshdup" : __asm_proxy_MOVSHDUP__, + "movsldup" : __asm_proxy_MOVSLDUP__, + "movslq" : __asm_proxy_MOVSLQ__, + "movss" : __asm_proxy_MOVSS__, + "movswl" : __asm_proxy_MOVSWL__, + "movswq" : __asm_proxy_MOVSWQ__, + "movupd" : __asm_proxy_MOVUPD__, + "movups" : __asm_proxy_MOVUPS__, + "movw" : __asm_proxy_MOVW__, + "movzbl" : __asm_proxy_MOVZBL__, + "movzbq" : __asm_proxy_MOVZBQ__, + "movzbw" : __asm_proxy_MOVZBW__, + "movzwl" : __asm_proxy_MOVZWL__, + "movzwq" : __asm_proxy_MOVZWQ__, + "mpsadbw" : __asm_proxy_MPSADBW__, + "mulb" : __asm_proxy_MULB__, + "mull" : __asm_proxy_MULL__, + "mulpd" : __asm_proxy_MULPD__, + "mulps" : __asm_proxy_MULPS__, + "mulq" : __asm_proxy_MULQ__, + "mulsd" : __asm_proxy_MULSD__, + "mulss" : __asm_proxy_MULSS__, + "mulw" : __asm_proxy_MULW__, + "mulxl" : __asm_proxy_MULXL__, + "mulxq" : __asm_proxy_MULXQ__, + "mwait" : __asm_proxy_MWAIT__, + "mwaitx" : __asm_proxy_MWAITX__, + "negb" : __asm_proxy_NEGB__, + "negl" : __asm_proxy_NEGL__, + "negq" : __asm_proxy_NEGQ__, + "negw" : __asm_proxy_NEGW__, + "nop" : __asm_proxy_NOP__, + "notb" : __asm_proxy_NOTB__, + "notl" : __asm_proxy_NOTL__, + "notq" : __asm_proxy_NOTQ__, + "notw" : __asm_proxy_NOTW__, + "orb" : __asm_proxy_ORB__, + "orl" : __asm_proxy_ORL__, + "orpd" : __asm_proxy_ORPD__, + "orps" : __asm_proxy_ORPS__, + "orq" : __asm_proxy_ORQ__, + "orw" : __asm_proxy_ORW__, + "pabsb" : __asm_proxy_PABSB__, + "pabsd" : __asm_proxy_PABSD__, + "pabsw" : __asm_proxy_PABSW__, + "packssdw" : __asm_proxy_PACKSSDW__, + "packsswb" : __asm_proxy_PACKSSWB__, + "packusdw" : __asm_proxy_PACKUSDW__, + "packuswb" : __asm_proxy_PACKUSWB__, + "paddb" : __asm_proxy_PADDB__, + "paddd" : __asm_proxy_PADDD__, + "paddq" : __asm_proxy_PADDQ__, + "paddsb" : __asm_proxy_PADDSB__, + "paddsw" : __asm_proxy_PADDSW__, + "paddusb" : __asm_proxy_PADDUSB__, + "paddusw" : __asm_proxy_PADDUSW__, + "paddw" : __asm_proxy_PADDW__, + "palignr" : __asm_proxy_PALIGNR__, + "pand" : __asm_proxy_PAND__, + "pandn" : __asm_proxy_PANDN__, + "pause" : __asm_proxy_PAUSE__, + "pavgb" : __asm_proxy_PAVGB__, + "pavgusb" : __asm_proxy_PAVGUSB__, + "pavgw" : __asm_proxy_PAVGW__, + "pblendvb" : __asm_proxy_PBLENDVB__, + "pblendw" : __asm_proxy_PBLENDW__, + "pclmulqdq" : __asm_proxy_PCLMULQDQ__, + "pcmpeqb" : __asm_proxy_PCMPEQB__, + "pcmpeqd" : __asm_proxy_PCMPEQD__, + "pcmpeqq" : __asm_proxy_PCMPEQQ__, + "pcmpeqw" : __asm_proxy_PCMPEQW__, + "pcmpestri" : __asm_proxy_PCMPESTRI__, + "pcmpestrm" : __asm_proxy_PCMPESTRM__, + "pcmpgtb" : __asm_proxy_PCMPGTB__, + "pcmpgtd" : __asm_proxy_PCMPGTD__, + "pcmpgtq" : __asm_proxy_PCMPGTQ__, + "pcmpgtw" : __asm_proxy_PCMPGTW__, + "pcmpistri" : __asm_proxy_PCMPISTRI__, + "pcmpistrm" : __asm_proxy_PCMPISTRM__, + "pdep" : __asm_proxy_PDEP__, + "pext" : __asm_proxy_PEXT__, + "pextrb" : __asm_proxy_PEXTRB__, + "pextrd" : __asm_proxy_PEXTRD__, + "pextrq" : __asm_proxy_PEXTRQ__, + "pextrw" : __asm_proxy_PEXTRW__, + "pf2id" : __asm_proxy_PF2ID__, + "pf2iw" : __asm_proxy_PF2IW__, + "pfacc" : __asm_proxy_PFACC__, + "pfadd" : __asm_proxy_PFADD__, + "pfcmpeq" : __asm_proxy_PFCMPEQ__, + "pfcmpge" : __asm_proxy_PFCMPGE__, + "pfcmpgt" : __asm_proxy_PFCMPGT__, + "pfmax" : __asm_proxy_PFMAX__, + "pfmin" : __asm_proxy_PFMIN__, + "pfmul" : __asm_proxy_PFMUL__, + "pfnacc" : __asm_proxy_PFNACC__, + "pfpnacc" : __asm_proxy_PFPNACC__, + "pfrcp" : __asm_proxy_PFRCP__, + "pfrcpit1" : __asm_proxy_PFRCPIT1__, + "pfrcpit2" : __asm_proxy_PFRCPIT2__, + "pfrsqit1" : __asm_proxy_PFRSQIT1__, + "pfrsqrt" : __asm_proxy_PFRSQRT__, + "pfsub" : __asm_proxy_PFSUB__, + "pfsubr" : __asm_proxy_PFSUBR__, + "phaddd" : __asm_proxy_PHADDD__, + "phaddsw" : __asm_proxy_PHADDSW__, + "phaddw" : __asm_proxy_PHADDW__, + "phminposuw" : __asm_proxy_PHMINPOSUW__, + "phsubd" : __asm_proxy_PHSUBD__, + "phsubsw" : __asm_proxy_PHSUBSW__, + "phsubw" : __asm_proxy_PHSUBW__, + "pi2fd" : __asm_proxy_PI2FD__, + "pi2fw" : __asm_proxy_PI2FW__, + "pinsrb" : __asm_proxy_PINSRB__, + "pinsrd" : __asm_proxy_PINSRD__, + "pinsrq" : __asm_proxy_PINSRQ__, + "pinsrw" : __asm_proxy_PINSRW__, + "pmaddubsw" : __asm_proxy_PMADDUBSW__, + "pmaddwd" : __asm_proxy_PMADDWD__, + "pmaxsb" : __asm_proxy_PMAXSB__, + "pmaxsd" : __asm_proxy_PMAXSD__, + "pmaxsw" : __asm_proxy_PMAXSW__, + "pmaxub" : __asm_proxy_PMAXUB__, + "pmaxud" : __asm_proxy_PMAXUD__, + "pmaxuw" : __asm_proxy_PMAXUW__, + "pminsb" : __asm_proxy_PMINSB__, + "pminsd" : __asm_proxy_PMINSD__, + "pminsw" : __asm_proxy_PMINSW__, + "pminub" : __asm_proxy_PMINUB__, + "pminud" : __asm_proxy_PMINUD__, + "pminuw" : __asm_proxy_PMINUW__, + "pmovmskb" : __asm_proxy_PMOVMSKB__, + "pmovsxbd" : __asm_proxy_PMOVSXBD__, + "pmovsxbq" : __asm_proxy_PMOVSXBQ__, + "pmovsxbw" : __asm_proxy_PMOVSXBW__, + "pmovsxdq" : __asm_proxy_PMOVSXDQ__, + "pmovsxwd" : __asm_proxy_PMOVSXWD__, + "pmovsxwq" : __asm_proxy_PMOVSXWQ__, + "pmovzxbd" : __asm_proxy_PMOVZXBD__, + "pmovzxbq" : __asm_proxy_PMOVZXBQ__, + "pmovzxbw" : __asm_proxy_PMOVZXBW__, + "pmovzxdq" : __asm_proxy_PMOVZXDQ__, + "pmovzxwd" : __asm_proxy_PMOVZXWD__, + "pmovzxwq" : __asm_proxy_PMOVZXWQ__, + "pmuldq" : __asm_proxy_PMULDQ__, + "pmulhrsw" : __asm_proxy_PMULHRSW__, + "pmulhrw" : __asm_proxy_PMULHRW__, + "pmulhuw" : __asm_proxy_PMULHUW__, + "pmulhw" : __asm_proxy_PMULHW__, + "pmulld" : __asm_proxy_PMULLD__, + "pmullw" : __asm_proxy_PMULLW__, + "pmuludq" : __asm_proxy_PMULUDQ__, + "popcntl" : __asm_proxy_POPCNTL__, + "popcntq" : __asm_proxy_POPCNTQ__, + "popcntw" : __asm_proxy_POPCNTW__, + "popq" : __asm_proxy_POPQ__, + "popw" : __asm_proxy_POPW__, + "por" : __asm_proxy_POR__, + "prefetch" : __asm_proxy_PREFETCH__, + "prefetchnta" : __asm_proxy_PREFETCHNTA__, + "prefetcht0" : __asm_proxy_PREFETCHT0__, + "prefetcht1" : __asm_proxy_PREFETCHT1__, + "prefetcht2" : __asm_proxy_PREFETCHT2__, + "prefetchw" : __asm_proxy_PREFETCHW__, + "prefetchwt1" : __asm_proxy_PREFETCHWT1__, + "psadbw" : __asm_proxy_PSADBW__, + "pshufb" : __asm_proxy_PSHUFB__, + "pshufd" : __asm_proxy_PSHUFD__, + "pshufhw" : __asm_proxy_PSHUFHW__, + "pshuflw" : __asm_proxy_PSHUFLW__, + "pshufw" : __asm_proxy_PSHUFW__, + "psignb" : __asm_proxy_PSIGNB__, + "psignd" : __asm_proxy_PSIGND__, + "psignw" : __asm_proxy_PSIGNW__, + "pslld" : __asm_proxy_PSLLD__, + "pslldq" : __asm_proxy_PSLLDQ__, + "psllq" : __asm_proxy_PSLLQ__, + "psllw" : __asm_proxy_PSLLW__, + "psrad" : __asm_proxy_PSRAD__, + "psraw" : __asm_proxy_PSRAW__, + "psrld" : __asm_proxy_PSRLD__, + "psrldq" : __asm_proxy_PSRLDQ__, + "psrlq" : __asm_proxy_PSRLQ__, + "psrlw" : __asm_proxy_PSRLW__, + "psubb" : __asm_proxy_PSUBB__, + "psubd" : __asm_proxy_PSUBD__, + "psubq" : __asm_proxy_PSUBQ__, + "psubsb" : __asm_proxy_PSUBSB__, + "psubsw" : __asm_proxy_PSUBSW__, + "psubusb" : __asm_proxy_PSUBUSB__, + "psubusw" : __asm_proxy_PSUBUSW__, + "psubw" : __asm_proxy_PSUBW__, + "pswapd" : __asm_proxy_PSWAPD__, + "ptest" : __asm_proxy_PTEST__, + "punpckhbw" : __asm_proxy_PUNPCKHBW__, + "punpckhdq" : __asm_proxy_PUNPCKHDQ__, + "punpckhqdq" : __asm_proxy_PUNPCKHQDQ__, + "punpckhwd" : __asm_proxy_PUNPCKHWD__, + "punpcklbw" : __asm_proxy_PUNPCKLBW__, + "punpckldq" : __asm_proxy_PUNPCKLDQ__, + "punpcklqdq" : __asm_proxy_PUNPCKLQDQ__, + "punpcklwd" : __asm_proxy_PUNPCKLWD__, + "pushq" : __asm_proxy_PUSHQ__, + "pushw" : __asm_proxy_PUSHW__, + "pxor" : __asm_proxy_PXOR__, + "rclb" : __asm_proxy_RCLB__, + "rcll" : __asm_proxy_RCLL__, + "rclq" : __asm_proxy_RCLQ__, + "rclw" : __asm_proxy_RCLW__, + "rcpps" : __asm_proxy_RCPPS__, + "rcpss" : __asm_proxy_RCPSS__, + "rcrb" : __asm_proxy_RCRB__, + "rcrl" : __asm_proxy_RCRL__, + "rcrq" : __asm_proxy_RCRQ__, + "rcrw" : __asm_proxy_RCRW__, + "rdrand" : __asm_proxy_RDRAND__, + "rdseed" : __asm_proxy_RDSEED__, + "rdtsc" : __asm_proxy_RDTSC__, + "rdtscp" : __asm_proxy_RDTSCP__, + "ret" : __asm_proxy_RET__, + "rolb" : __asm_proxy_ROLB__, + "roll" : __asm_proxy_ROLL__, + "rolq" : __asm_proxy_ROLQ__, + "rolw" : __asm_proxy_ROLW__, + "rorb" : __asm_proxy_RORB__, + "rorl" : __asm_proxy_RORL__, + "rorq" : __asm_proxy_RORQ__, + "rorw" : __asm_proxy_RORW__, + "rorxl" : __asm_proxy_RORXL__, + "rorxq" : __asm_proxy_RORXQ__, + "roundpd" : __asm_proxy_ROUNDPD__, + "roundps" : __asm_proxy_ROUNDPS__, + "roundsd" : __asm_proxy_ROUNDSD__, + "roundss" : __asm_proxy_ROUNDSS__, + "rsqrtps" : __asm_proxy_RSQRTPS__, + "rsqrtss" : __asm_proxy_RSQRTSS__, + "salb" : __asm_proxy_SALB__, + "sall" : __asm_proxy_SALL__, + "salq" : __asm_proxy_SALQ__, + "salw" : __asm_proxy_SALW__, + "sarb" : __asm_proxy_SARB__, + "sarl" : __asm_proxy_SARL__, + "sarq" : __asm_proxy_SARQ__, + "sarw" : __asm_proxy_SARW__, + "sarxl" : __asm_proxy_SARXL__, + "sarxq" : __asm_proxy_SARXQ__, + "sbbb" : __asm_proxy_SBBB__, + "sbbl" : __asm_proxy_SBBL__, + "sbbq" : __asm_proxy_SBBQ__, + "sbbw" : __asm_proxy_SBBW__, + "seta" : __asm_proxy_SETA__, + "setae" : __asm_proxy_SETAE__, + "setb" : __asm_proxy_SETB__, + "setbe" : __asm_proxy_SETBE__, + "setc" : __asm_proxy_SETC__, + "sete" : __asm_proxy_SETE__, + "setg" : __asm_proxy_SETG__, + "setge" : __asm_proxy_SETGE__, + "setl" : __asm_proxy_SETL__, + "setle" : __asm_proxy_SETLE__, + "setna" : __asm_proxy_SETNA__, + "setnae" : __asm_proxy_SETNAE__, + "setnb" : __asm_proxy_SETNB__, + "setnbe" : __asm_proxy_SETNBE__, + "setnc" : __asm_proxy_SETNC__, + "setne" : __asm_proxy_SETNE__, + "setng" : __asm_proxy_SETNG__, + "setnge" : __asm_proxy_SETNGE__, + "setnl" : __asm_proxy_SETNL__, + "setnle" : __asm_proxy_SETNLE__, + "setno" : __asm_proxy_SETNO__, + "setnp" : __asm_proxy_SETNP__, + "setns" : __asm_proxy_SETNS__, + "setnz" : __asm_proxy_SETNZ__, + "seto" : __asm_proxy_SETO__, + "setp" : __asm_proxy_SETP__, + "setpe" : __asm_proxy_SETPE__, + "setpo" : __asm_proxy_SETPO__, + "sets" : __asm_proxy_SETS__, + "setz" : __asm_proxy_SETZ__, + "sfence" : __asm_proxy_SFENCE__, + "sha1msg1" : __asm_proxy_SHA1MSG1__, + "sha1msg2" : __asm_proxy_SHA1MSG2__, + "sha1nexte" : __asm_proxy_SHA1NEXTE__, + "sha1rnds4" : __asm_proxy_SHA1RNDS4__, + "sha256msg1" : __asm_proxy_SHA256MSG1__, + "sha256msg2" : __asm_proxy_SHA256MSG2__, + "sha256rnds2" : __asm_proxy_SHA256RNDS2__, + "shlb" : __asm_proxy_SHLB__, + "shldl" : __asm_proxy_SHLDL__, + "shldq" : __asm_proxy_SHLDQ__, + "shldw" : __asm_proxy_SHLDW__, + "shll" : __asm_proxy_SHLL__, + "shlq" : __asm_proxy_SHLQ__, + "shlw" : __asm_proxy_SHLW__, + "shlxl" : __asm_proxy_SHLXL__, + "shlxq" : __asm_proxy_SHLXQ__, + "shrb" : __asm_proxy_SHRB__, + "shrdl" : __asm_proxy_SHRDL__, + "shrdq" : __asm_proxy_SHRDQ__, + "shrdw" : __asm_proxy_SHRDW__, + "shrl" : __asm_proxy_SHRL__, + "shrq" : __asm_proxy_SHRQ__, + "shrw" : __asm_proxy_SHRW__, + "shrxl" : __asm_proxy_SHRXL__, + "shrxq" : __asm_proxy_SHRXQ__, + "shufpd" : __asm_proxy_SHUFPD__, + "shufps" : __asm_proxy_SHUFPS__, + "sqrtpd" : __asm_proxy_SQRTPD__, + "sqrtps" : __asm_proxy_SQRTPS__, + "sqrtsd" : __asm_proxy_SQRTSD__, + "sqrtss" : __asm_proxy_SQRTSS__, + "stc" : __asm_proxy_STC__, + "std" : __asm_proxy_STD__, + "stmxcsr" : __asm_proxy_STMXCSR__, + "subb" : __asm_proxy_SUBB__, + "subl" : __asm_proxy_SUBL__, + "subpd" : __asm_proxy_SUBPD__, + "subps" : __asm_proxy_SUBPS__, + "subq" : __asm_proxy_SUBQ__, + "subsd" : __asm_proxy_SUBSD__, + "subss" : __asm_proxy_SUBSS__, + "subw" : __asm_proxy_SUBW__, + "syscall" : __asm_proxy_SYSCALL__, + "t1mskc" : __asm_proxy_T1MSKC__, + "testb" : __asm_proxy_TESTB__, + "testl" : __asm_proxy_TESTL__, + "testq" : __asm_proxy_TESTQ__, + "testw" : __asm_proxy_TESTW__, + "tzcntl" : __asm_proxy_TZCNTL__, + "tzcntq" : __asm_proxy_TZCNTQ__, + "tzcntw" : __asm_proxy_TZCNTW__, + "tzmsk" : __asm_proxy_TZMSK__, + "ucomisd" : __asm_proxy_UCOMISD__, + "ucomiss" : __asm_proxy_UCOMISS__, + "ud2" : __asm_proxy_UD2__, + "unpckhpd" : __asm_proxy_UNPCKHPD__, + "unpckhps" : __asm_proxy_UNPCKHPS__, + "unpcklpd" : __asm_proxy_UNPCKLPD__, + "unpcklps" : __asm_proxy_UNPCKLPS__, + "vaddpd" : __asm_proxy_VADDPD__, + "vaddps" : __asm_proxy_VADDPS__, + "vaddsd" : __asm_proxy_VADDSD__, + "vaddss" : __asm_proxy_VADDSS__, + "vaddsubpd" : __asm_proxy_VADDSUBPD__, + "vaddsubps" : __asm_proxy_VADDSUBPS__, + "vaesdec" : __asm_proxy_VAESDEC__, + "vaesdeclast" : __asm_proxy_VAESDECLAST__, + "vaesenc" : __asm_proxy_VAESENC__, + "vaesenclast" : __asm_proxy_VAESENCLAST__, + "vaesimc" : __asm_proxy_VAESIMC__, + "vaeskeygenassist" : __asm_proxy_VAESKEYGENASSIST__, + "valignd" : __asm_proxy_VALIGND__, + "valignq" : __asm_proxy_VALIGNQ__, + "vandnpd" : __asm_proxy_VANDNPD__, + "vandnps" : __asm_proxy_VANDNPS__, + "vandpd" : __asm_proxy_VANDPD__, + "vandps" : __asm_proxy_VANDPS__, + "vblendmpd" : __asm_proxy_VBLENDMPD__, + "vblendmps" : __asm_proxy_VBLENDMPS__, + "vblendpd" : __asm_proxy_VBLENDPD__, + "vblendps" : __asm_proxy_VBLENDPS__, + "vblendvpd" : __asm_proxy_VBLENDVPD__, + "vblendvps" : __asm_proxy_VBLENDVPS__, + "vbroadcastf128" : __asm_proxy_VBROADCASTF128__, + "vbroadcastf32x2" : __asm_proxy_VBROADCASTF32X2__, + "vbroadcastf32x4" : __asm_proxy_VBROADCASTF32X4__, + "vbroadcastf32x8" : __asm_proxy_VBROADCASTF32X8__, + "vbroadcastf64x2" : __asm_proxy_VBROADCASTF64X2__, + "vbroadcastf64x4" : __asm_proxy_VBROADCASTF64X4__, + "vbroadcasti128" : __asm_proxy_VBROADCASTI128__, + "vbroadcasti32x2" : __asm_proxy_VBROADCASTI32X2__, + "vbroadcasti32x4" : __asm_proxy_VBROADCASTI32X4__, + "vbroadcasti32x8" : __asm_proxy_VBROADCASTI32X8__, + "vbroadcasti64x2" : __asm_proxy_VBROADCASTI64X2__, + "vbroadcasti64x4" : __asm_proxy_VBROADCASTI64X4__, + "vbroadcastsd" : __asm_proxy_VBROADCASTSD__, + "vbroadcastss" : __asm_proxy_VBROADCASTSS__, + "vcmppd" : __asm_proxy_VCMPPD__, + "vcmpps" : __asm_proxy_VCMPPS__, + "vcmpsd" : __asm_proxy_VCMPSD__, + "vcmpss" : __asm_proxy_VCMPSS__, + "vcomisd" : __asm_proxy_VCOMISD__, + "vcomiss" : __asm_proxy_VCOMISS__, + "vcompresspd" : __asm_proxy_VCOMPRESSPD__, + "vcompressps" : __asm_proxy_VCOMPRESSPS__, + "vcvtdq2pd" : __asm_proxy_VCVTDQ2PD__, + "vcvtdq2ps" : __asm_proxy_VCVTDQ2PS__, + "vcvtpd2dq" : __asm_proxy_VCVTPD2DQ__, + "vcvtpd2ps" : __asm_proxy_VCVTPD2PS__, + "vcvtpd2qq" : __asm_proxy_VCVTPD2QQ__, + "vcvtpd2udq" : __asm_proxy_VCVTPD2UDQ__, + "vcvtpd2uqq" : __asm_proxy_VCVTPD2UQQ__, + "vcvtph2ps" : __asm_proxy_VCVTPH2PS__, + "vcvtps2dq" : __asm_proxy_VCVTPS2DQ__, + "vcvtps2pd" : __asm_proxy_VCVTPS2PD__, + "vcvtps2ph" : __asm_proxy_VCVTPS2PH__, + "vcvtps2qq" : __asm_proxy_VCVTPS2QQ__, + "vcvtps2udq" : __asm_proxy_VCVTPS2UDQ__, + "vcvtps2uqq" : __asm_proxy_VCVTPS2UQQ__, + "vcvtqq2pd" : __asm_proxy_VCVTQQ2PD__, + "vcvtqq2ps" : __asm_proxy_VCVTQQ2PS__, + "vcvtsd2si" : __asm_proxy_VCVTSD2SI__, + "vcvtsd2ss" : __asm_proxy_VCVTSD2SS__, + "vcvtsd2usi" : __asm_proxy_VCVTSD2USI__, + "vcvtsi2sd" : __asm_proxy_VCVTSI2SD__, + "vcvtsi2ss" : __asm_proxy_VCVTSI2SS__, + "vcvtss2sd" : __asm_proxy_VCVTSS2SD__, + "vcvtss2si" : __asm_proxy_VCVTSS2SI__, + "vcvtss2usi" : __asm_proxy_VCVTSS2USI__, + "vcvttpd2dq" : __asm_proxy_VCVTTPD2DQ__, + "vcvttpd2qq" : __asm_proxy_VCVTTPD2QQ__, + "vcvttpd2udq" : __asm_proxy_VCVTTPD2UDQ__, + "vcvttpd2uqq" : __asm_proxy_VCVTTPD2UQQ__, + "vcvttps2dq" : __asm_proxy_VCVTTPS2DQ__, + "vcvttps2qq" : __asm_proxy_VCVTTPS2QQ__, + "vcvttps2udq" : __asm_proxy_VCVTTPS2UDQ__, + "vcvttps2uqq" : __asm_proxy_VCVTTPS2UQQ__, + "vcvttsd2si" : __asm_proxy_VCVTTSD2SI__, + "vcvttsd2usi" : __asm_proxy_VCVTTSD2USI__, + "vcvttss2si" : __asm_proxy_VCVTTSS2SI__, + "vcvttss2usi" : __asm_proxy_VCVTTSS2USI__, + "vcvtudq2pd" : __asm_proxy_VCVTUDQ2PD__, + "vcvtudq2ps" : __asm_proxy_VCVTUDQ2PS__, + "vcvtuqq2pd" : __asm_proxy_VCVTUQQ2PD__, + "vcvtuqq2ps" : __asm_proxy_VCVTUQQ2PS__, + "vcvtusi2sd" : __asm_proxy_VCVTUSI2SD__, + "vcvtusi2ss" : __asm_proxy_VCVTUSI2SS__, + "vdbpsadbw" : __asm_proxy_VDBPSADBW__, + "vdivpd" : __asm_proxy_VDIVPD__, + "vdivps" : __asm_proxy_VDIVPS__, + "vdivsd" : __asm_proxy_VDIVSD__, + "vdivss" : __asm_proxy_VDIVSS__, + "vdppd" : __asm_proxy_VDPPD__, + "vdpps" : __asm_proxy_VDPPS__, + "vexp2pd" : __asm_proxy_VEXP2PD__, + "vexp2ps" : __asm_proxy_VEXP2PS__, + "vexpandpd" : __asm_proxy_VEXPANDPD__, + "vexpandps" : __asm_proxy_VEXPANDPS__, + "vextractf128" : __asm_proxy_VEXTRACTF128__, + "vextractf32x4" : __asm_proxy_VEXTRACTF32X4__, + "vextractf32x8" : __asm_proxy_VEXTRACTF32X8__, + "vextractf64x2" : __asm_proxy_VEXTRACTF64X2__, + "vextractf64x4" : __asm_proxy_VEXTRACTF64X4__, + "vextracti128" : __asm_proxy_VEXTRACTI128__, + "vextracti32x4" : __asm_proxy_VEXTRACTI32X4__, + "vextracti32x8" : __asm_proxy_VEXTRACTI32X8__, + "vextracti64x2" : __asm_proxy_VEXTRACTI64X2__, + "vextracti64x4" : __asm_proxy_VEXTRACTI64X4__, + "vextractps" : __asm_proxy_VEXTRACTPS__, + "vfixupimmpd" : __asm_proxy_VFIXUPIMMPD__, + "vfixupimmps" : __asm_proxy_VFIXUPIMMPS__, + "vfixupimmsd" : __asm_proxy_VFIXUPIMMSD__, + "vfixupimmss" : __asm_proxy_VFIXUPIMMSS__, + "vfmadd132pd" : __asm_proxy_VFMADD132PD__, + "vfmadd132ps" : __asm_proxy_VFMADD132PS__, + "vfmadd132sd" : __asm_proxy_VFMADD132SD__, + "vfmadd132ss" : __asm_proxy_VFMADD132SS__, + "vfmadd213pd" : __asm_proxy_VFMADD213PD__, + "vfmadd213ps" : __asm_proxy_VFMADD213PS__, + "vfmadd213sd" : __asm_proxy_VFMADD213SD__, + "vfmadd213ss" : __asm_proxy_VFMADD213SS__, + "vfmadd231pd" : __asm_proxy_VFMADD231PD__, + "vfmadd231ps" : __asm_proxy_VFMADD231PS__, + "vfmadd231sd" : __asm_proxy_VFMADD231SD__, + "vfmadd231ss" : __asm_proxy_VFMADD231SS__, + "vfmaddpd" : __asm_proxy_VFMADDPD__, + "vfmaddps" : __asm_proxy_VFMADDPS__, + "vfmaddsd" : __asm_proxy_VFMADDSD__, + "vfmaddss" : __asm_proxy_VFMADDSS__, + "vfmaddsub132pd" : __asm_proxy_VFMADDSUB132PD__, + "vfmaddsub132ps" : __asm_proxy_VFMADDSUB132PS__, + "vfmaddsub213pd" : __asm_proxy_VFMADDSUB213PD__, + "vfmaddsub213ps" : __asm_proxy_VFMADDSUB213PS__, + "vfmaddsub231pd" : __asm_proxy_VFMADDSUB231PD__, + "vfmaddsub231ps" : __asm_proxy_VFMADDSUB231PS__, + "vfmaddsubpd" : __asm_proxy_VFMADDSUBPD__, + "vfmaddsubps" : __asm_proxy_VFMADDSUBPS__, + "vfmsub132pd" : __asm_proxy_VFMSUB132PD__, + "vfmsub132ps" : __asm_proxy_VFMSUB132PS__, + "vfmsub132sd" : __asm_proxy_VFMSUB132SD__, + "vfmsub132ss" : __asm_proxy_VFMSUB132SS__, + "vfmsub213pd" : __asm_proxy_VFMSUB213PD__, + "vfmsub213ps" : __asm_proxy_VFMSUB213PS__, + "vfmsub213sd" : __asm_proxy_VFMSUB213SD__, + "vfmsub213ss" : __asm_proxy_VFMSUB213SS__, + "vfmsub231pd" : __asm_proxy_VFMSUB231PD__, + "vfmsub231ps" : __asm_proxy_VFMSUB231PS__, + "vfmsub231sd" : __asm_proxy_VFMSUB231SD__, + "vfmsub231ss" : __asm_proxy_VFMSUB231SS__, + "vfmsubadd132pd" : __asm_proxy_VFMSUBADD132PD__, + "vfmsubadd132ps" : __asm_proxy_VFMSUBADD132PS__, + "vfmsubadd213pd" : __asm_proxy_VFMSUBADD213PD__, + "vfmsubadd213ps" : __asm_proxy_VFMSUBADD213PS__, + "vfmsubadd231pd" : __asm_proxy_VFMSUBADD231PD__, + "vfmsubadd231ps" : __asm_proxy_VFMSUBADD231PS__, + "vfmsubaddpd" : __asm_proxy_VFMSUBADDPD__, + "vfmsubaddps" : __asm_proxy_VFMSUBADDPS__, + "vfmsubpd" : __asm_proxy_VFMSUBPD__, + "vfmsubps" : __asm_proxy_VFMSUBPS__, + "vfmsubsd" : __asm_proxy_VFMSUBSD__, + "vfmsubss" : __asm_proxy_VFMSUBSS__, + "vfnmadd132pd" : __asm_proxy_VFNMADD132PD__, + "vfnmadd132ps" : __asm_proxy_VFNMADD132PS__, + "vfnmadd132sd" : __asm_proxy_VFNMADD132SD__, + "vfnmadd132ss" : __asm_proxy_VFNMADD132SS__, + "vfnmadd213pd" : __asm_proxy_VFNMADD213PD__, + "vfnmadd213ps" : __asm_proxy_VFNMADD213PS__, + "vfnmadd213sd" : __asm_proxy_VFNMADD213SD__, + "vfnmadd213ss" : __asm_proxy_VFNMADD213SS__, + "vfnmadd231pd" : __asm_proxy_VFNMADD231PD__, + "vfnmadd231ps" : __asm_proxy_VFNMADD231PS__, + "vfnmadd231sd" : __asm_proxy_VFNMADD231SD__, + "vfnmadd231ss" : __asm_proxy_VFNMADD231SS__, + "vfnmaddpd" : __asm_proxy_VFNMADDPD__, + "vfnmaddps" : __asm_proxy_VFNMADDPS__, + "vfnmaddsd" : __asm_proxy_VFNMADDSD__, + "vfnmaddss" : __asm_proxy_VFNMADDSS__, + "vfnmsub132pd" : __asm_proxy_VFNMSUB132PD__, + "vfnmsub132ps" : __asm_proxy_VFNMSUB132PS__, + "vfnmsub132sd" : __asm_proxy_VFNMSUB132SD__, + "vfnmsub132ss" : __asm_proxy_VFNMSUB132SS__, + "vfnmsub213pd" : __asm_proxy_VFNMSUB213PD__, + "vfnmsub213ps" : __asm_proxy_VFNMSUB213PS__, + "vfnmsub213sd" : __asm_proxy_VFNMSUB213SD__, + "vfnmsub213ss" : __asm_proxy_VFNMSUB213SS__, + "vfnmsub231pd" : __asm_proxy_VFNMSUB231PD__, + "vfnmsub231ps" : __asm_proxy_VFNMSUB231PS__, + "vfnmsub231sd" : __asm_proxy_VFNMSUB231SD__, + "vfnmsub231ss" : __asm_proxy_VFNMSUB231SS__, + "vfnmsubpd" : __asm_proxy_VFNMSUBPD__, + "vfnmsubps" : __asm_proxy_VFNMSUBPS__, + "vfnmsubsd" : __asm_proxy_VFNMSUBSD__, + "vfnmsubss" : __asm_proxy_VFNMSUBSS__, + "vfpclasspd" : __asm_proxy_VFPCLASSPD__, + "vfpclassps" : __asm_proxy_VFPCLASSPS__, + "vfpclasssd" : __asm_proxy_VFPCLASSSD__, + "vfpclassss" : __asm_proxy_VFPCLASSSS__, + "vfrczpd" : __asm_proxy_VFRCZPD__, + "vfrczps" : __asm_proxy_VFRCZPS__, + "vfrczsd" : __asm_proxy_VFRCZSD__, + "vfrczss" : __asm_proxy_VFRCZSS__, + "vgatherdpd" : __asm_proxy_VGATHERDPD__, + "vgatherdps" : __asm_proxy_VGATHERDPS__, + "vgatherpf0dpd" : __asm_proxy_VGATHERPF0DPD__, + "vgatherpf0dps" : __asm_proxy_VGATHERPF0DPS__, + "vgatherpf0qpd" : __asm_proxy_VGATHERPF0QPD__, + "vgatherpf0qps" : __asm_proxy_VGATHERPF0QPS__, + "vgatherpf1dpd" : __asm_proxy_VGATHERPF1DPD__, + "vgatherpf1dps" : __asm_proxy_VGATHERPF1DPS__, + "vgatherpf1qpd" : __asm_proxy_VGATHERPF1QPD__, + "vgatherpf1qps" : __asm_proxy_VGATHERPF1QPS__, + "vgatherqpd" : __asm_proxy_VGATHERQPD__, + "vgatherqps" : __asm_proxy_VGATHERQPS__, + "vgetexppd" : __asm_proxy_VGETEXPPD__, + "vgetexpps" : __asm_proxy_VGETEXPPS__, + "vgetexpsd" : __asm_proxy_VGETEXPSD__, + "vgetexpss" : __asm_proxy_VGETEXPSS__, + "vgetmantpd" : __asm_proxy_VGETMANTPD__, + "vgetmantps" : __asm_proxy_VGETMANTPS__, + "vgetmantsd" : __asm_proxy_VGETMANTSD__, + "vgetmantss" : __asm_proxy_VGETMANTSS__, + "vhaddpd" : __asm_proxy_VHADDPD__, + "vhaddps" : __asm_proxy_VHADDPS__, + "vhsubpd" : __asm_proxy_VHSUBPD__, + "vhsubps" : __asm_proxy_VHSUBPS__, + "vinsertf128" : __asm_proxy_VINSERTF128__, + "vinsertf32x4" : __asm_proxy_VINSERTF32X4__, + "vinsertf32x8" : __asm_proxy_VINSERTF32X8__, + "vinsertf64x2" : __asm_proxy_VINSERTF64X2__, + "vinsertf64x4" : __asm_proxy_VINSERTF64X4__, + "vinserti128" : __asm_proxy_VINSERTI128__, + "vinserti32x4" : __asm_proxy_VINSERTI32X4__, + "vinserti32x8" : __asm_proxy_VINSERTI32X8__, + "vinserti64x2" : __asm_proxy_VINSERTI64X2__, + "vinserti64x4" : __asm_proxy_VINSERTI64X4__, + "vinsertps" : __asm_proxy_VINSERTPS__, + "vlddqu" : __asm_proxy_VLDDQU__, + "vldmxcsr" : __asm_proxy_VLDMXCSR__, + "vmaskmovdqu" : __asm_proxy_VMASKMOVDQU__, + "vmaskmovpd" : __asm_proxy_VMASKMOVPD__, + "vmaskmovps" : __asm_proxy_VMASKMOVPS__, + "vmaxpd" : __asm_proxy_VMAXPD__, + "vmaxps" : __asm_proxy_VMAXPS__, + "vmaxsd" : __asm_proxy_VMAXSD__, + "vmaxss" : __asm_proxy_VMAXSS__, + "vminpd" : __asm_proxy_VMINPD__, + "vminps" : __asm_proxy_VMINPS__, + "vminsd" : __asm_proxy_VMINSD__, + "vminss" : __asm_proxy_VMINSS__, + "vmovapd" : __asm_proxy_VMOVAPD__, + "vmovaps" : __asm_proxy_VMOVAPS__, + "vmovd" : __asm_proxy_VMOVD__, + "vmovddup" : __asm_proxy_VMOVDDUP__, + "vmovdqa" : __asm_proxy_VMOVDQA__, + "vmovdqa32" : __asm_proxy_VMOVDQA32__, + "vmovdqa64" : __asm_proxy_VMOVDQA64__, + "vmovdqu" : __asm_proxy_VMOVDQU__, + "vmovdqu16" : __asm_proxy_VMOVDQU16__, + "vmovdqu32" : __asm_proxy_VMOVDQU32__, + "vmovdqu64" : __asm_proxy_VMOVDQU64__, + "vmovdqu8" : __asm_proxy_VMOVDQU8__, + "vmovhlps" : __asm_proxy_VMOVHLPS__, + "vmovhpd" : __asm_proxy_VMOVHPD__, + "vmovhps" : __asm_proxy_VMOVHPS__, + "vmovlhps" : __asm_proxy_VMOVLHPS__, + "vmovlpd" : __asm_proxy_VMOVLPD__, + "vmovlps" : __asm_proxy_VMOVLPS__, + "vmovmskpd" : __asm_proxy_VMOVMSKPD__, + "vmovmskps" : __asm_proxy_VMOVMSKPS__, + "vmovntdq" : __asm_proxy_VMOVNTDQ__, + "vmovntdqa" : __asm_proxy_VMOVNTDQA__, + "vmovntpd" : __asm_proxy_VMOVNTPD__, + "vmovntps" : __asm_proxy_VMOVNTPS__, + "vmovq" : __asm_proxy_VMOVQ__, + "vmovsd" : __asm_proxy_VMOVSD__, + "vmovshdup" : __asm_proxy_VMOVSHDUP__, + "vmovsldup" : __asm_proxy_VMOVSLDUP__, + "vmovss" : __asm_proxy_VMOVSS__, + "vmovupd" : __asm_proxy_VMOVUPD__, + "vmovups" : __asm_proxy_VMOVUPS__, + "vmpsadbw" : __asm_proxy_VMPSADBW__, + "vmulpd" : __asm_proxy_VMULPD__, + "vmulps" : __asm_proxy_VMULPS__, + "vmulsd" : __asm_proxy_VMULSD__, + "vmulss" : __asm_proxy_VMULSS__, + "vorpd" : __asm_proxy_VORPD__, + "vorps" : __asm_proxy_VORPS__, + "vpabsb" : __asm_proxy_VPABSB__, + "vpabsd" : __asm_proxy_VPABSD__, + "vpabsq" : __asm_proxy_VPABSQ__, + "vpabsw" : __asm_proxy_VPABSW__, + "vpackssdw" : __asm_proxy_VPACKSSDW__, + "vpacksswb" : __asm_proxy_VPACKSSWB__, + "vpackusdw" : __asm_proxy_VPACKUSDW__, + "vpackuswb" : __asm_proxy_VPACKUSWB__, + "vpaddb" : __asm_proxy_VPADDB__, + "vpaddd" : __asm_proxy_VPADDD__, + "vpaddq" : __asm_proxy_VPADDQ__, + "vpaddsb" : __asm_proxy_VPADDSB__, + "vpaddsw" : __asm_proxy_VPADDSW__, + "vpaddusb" : __asm_proxy_VPADDUSB__, + "vpaddusw" : __asm_proxy_VPADDUSW__, + "vpaddw" : __asm_proxy_VPADDW__, + "vpalignr" : __asm_proxy_VPALIGNR__, + "vpand" : __asm_proxy_VPAND__, + "vpandd" : __asm_proxy_VPANDD__, + "vpandn" : __asm_proxy_VPANDN__, + "vpandnd" : __asm_proxy_VPANDND__, + "vpandnq" : __asm_proxy_VPANDNQ__, + "vpandq" : __asm_proxy_VPANDQ__, + "vpavgb" : __asm_proxy_VPAVGB__, + "vpavgw" : __asm_proxy_VPAVGW__, + "vpblendd" : __asm_proxy_VPBLENDD__, + "vpblendmb" : __asm_proxy_VPBLENDMB__, + "vpblendmd" : __asm_proxy_VPBLENDMD__, + "vpblendmq" : __asm_proxy_VPBLENDMQ__, + "vpblendmw" : __asm_proxy_VPBLENDMW__, + "vpblendvb" : __asm_proxy_VPBLENDVB__, + "vpblendw" : __asm_proxy_VPBLENDW__, + "vpbroadcastb" : __asm_proxy_VPBROADCASTB__, + "vpbroadcastd" : __asm_proxy_VPBROADCASTD__, + "vpbroadcastmb2q" : __asm_proxy_VPBROADCASTMB2Q__, + "vpbroadcastmw2d" : __asm_proxy_VPBROADCASTMW2D__, + "vpbroadcastq" : __asm_proxy_VPBROADCASTQ__, + "vpbroadcastw" : __asm_proxy_VPBROADCASTW__, + "vpclmulqdq" : __asm_proxy_VPCLMULQDQ__, + "vpcmov" : __asm_proxy_VPCMOV__, + "vpcmpb" : __asm_proxy_VPCMPB__, + "vpcmpd" : __asm_proxy_VPCMPD__, + "vpcmpeqb" : __asm_proxy_VPCMPEQB__, + "vpcmpeqd" : __asm_proxy_VPCMPEQD__, + "vpcmpeqq" : __asm_proxy_VPCMPEQQ__, + "vpcmpeqw" : __asm_proxy_VPCMPEQW__, + "vpcmpestri" : __asm_proxy_VPCMPESTRI__, + "vpcmpestrm" : __asm_proxy_VPCMPESTRM__, + "vpcmpgtb" : __asm_proxy_VPCMPGTB__, + "vpcmpgtd" : __asm_proxy_VPCMPGTD__, + "vpcmpgtq" : __asm_proxy_VPCMPGTQ__, + "vpcmpgtw" : __asm_proxy_VPCMPGTW__, + "vpcmpistri" : __asm_proxy_VPCMPISTRI__, + "vpcmpistrm" : __asm_proxy_VPCMPISTRM__, + "vpcmpq" : __asm_proxy_VPCMPQ__, + "vpcmpub" : __asm_proxy_VPCMPUB__, + "vpcmpud" : __asm_proxy_VPCMPUD__, + "vpcmpuq" : __asm_proxy_VPCMPUQ__, + "vpcmpuw" : __asm_proxy_VPCMPUW__, + "vpcmpw" : __asm_proxy_VPCMPW__, + "vpcomb" : __asm_proxy_VPCOMB__, + "vpcomd" : __asm_proxy_VPCOMD__, + "vpcompressd" : __asm_proxy_VPCOMPRESSD__, + "vpcompressq" : __asm_proxy_VPCOMPRESSQ__, + "vpcomq" : __asm_proxy_VPCOMQ__, + "vpcomub" : __asm_proxy_VPCOMUB__, + "vpcomud" : __asm_proxy_VPCOMUD__, + "vpcomuq" : __asm_proxy_VPCOMUQ__, + "vpcomuw" : __asm_proxy_VPCOMUW__, + "vpcomw" : __asm_proxy_VPCOMW__, + "vpconflictd" : __asm_proxy_VPCONFLICTD__, + "vpconflictq" : __asm_proxy_VPCONFLICTQ__, + "vperm2f128" : __asm_proxy_VPERM2F128__, + "vperm2i128" : __asm_proxy_VPERM2I128__, + "vpermb" : __asm_proxy_VPERMB__, + "vpermd" : __asm_proxy_VPERMD__, + "vpermi2b" : __asm_proxy_VPERMI2B__, + "vpermi2d" : __asm_proxy_VPERMI2D__, + "vpermi2pd" : __asm_proxy_VPERMI2PD__, + "vpermi2ps" : __asm_proxy_VPERMI2PS__, + "vpermi2q" : __asm_proxy_VPERMI2Q__, + "vpermi2w" : __asm_proxy_VPERMI2W__, + "vpermil2pd" : __asm_proxy_VPERMIL2PD__, + "vpermil2ps" : __asm_proxy_VPERMIL2PS__, + "vpermilpd" : __asm_proxy_VPERMILPD__, + "vpermilps" : __asm_proxy_VPERMILPS__, + "vpermpd" : __asm_proxy_VPERMPD__, + "vpermps" : __asm_proxy_VPERMPS__, + "vpermq" : __asm_proxy_VPERMQ__, + "vpermt2b" : __asm_proxy_VPERMT2B__, + "vpermt2d" : __asm_proxy_VPERMT2D__, + "vpermt2pd" : __asm_proxy_VPERMT2PD__, + "vpermt2ps" : __asm_proxy_VPERMT2PS__, + "vpermt2q" : __asm_proxy_VPERMT2Q__, + "vpermt2w" : __asm_proxy_VPERMT2W__, + "vpermw" : __asm_proxy_VPERMW__, + "vpexpandd" : __asm_proxy_VPEXPANDD__, + "vpexpandq" : __asm_proxy_VPEXPANDQ__, + "vpextrb" : __asm_proxy_VPEXTRB__, + "vpextrd" : __asm_proxy_VPEXTRD__, + "vpextrq" : __asm_proxy_VPEXTRQ__, + "vpextrw" : __asm_proxy_VPEXTRW__, + "vpgatherdd" : __asm_proxy_VPGATHERDD__, + "vpgatherdq" : __asm_proxy_VPGATHERDQ__, + "vpgatherqd" : __asm_proxy_VPGATHERQD__, + "vpgatherqq" : __asm_proxy_VPGATHERQQ__, + "vphaddbd" : __asm_proxy_VPHADDBD__, + "vphaddbq" : __asm_proxy_VPHADDBQ__, + "vphaddbw" : __asm_proxy_VPHADDBW__, + "vphaddd" : __asm_proxy_VPHADDD__, + "vphadddq" : __asm_proxy_VPHADDDQ__, + "vphaddsw" : __asm_proxy_VPHADDSW__, + "vphaddubd" : __asm_proxy_VPHADDUBD__, + "vphaddubq" : __asm_proxy_VPHADDUBQ__, + "vphaddubw" : __asm_proxy_VPHADDUBW__, + "vphaddudq" : __asm_proxy_VPHADDUDQ__, + "vphadduwd" : __asm_proxy_VPHADDUWD__, + "vphadduwq" : __asm_proxy_VPHADDUWQ__, + "vphaddw" : __asm_proxy_VPHADDW__, + "vphaddwd" : __asm_proxy_VPHADDWD__, + "vphaddwq" : __asm_proxy_VPHADDWQ__, + "vphminposuw" : __asm_proxy_VPHMINPOSUW__, + "vphsubbw" : __asm_proxy_VPHSUBBW__, + "vphsubd" : __asm_proxy_VPHSUBD__, + "vphsubdq" : __asm_proxy_VPHSUBDQ__, + "vphsubsw" : __asm_proxy_VPHSUBSW__, + "vphsubw" : __asm_proxy_VPHSUBW__, + "vphsubwd" : __asm_proxy_VPHSUBWD__, + "vpinsrb" : __asm_proxy_VPINSRB__, + "vpinsrd" : __asm_proxy_VPINSRD__, + "vpinsrq" : __asm_proxy_VPINSRQ__, + "vpinsrw" : __asm_proxy_VPINSRW__, + "vplzcntd" : __asm_proxy_VPLZCNTD__, + "vplzcntq" : __asm_proxy_VPLZCNTQ__, + "vpmacsdd" : __asm_proxy_VPMACSDD__, + "vpmacsdqh" : __asm_proxy_VPMACSDQH__, + "vpmacsdql" : __asm_proxy_VPMACSDQL__, + "vpmacssdd" : __asm_proxy_VPMACSSDD__, + "vpmacssdqh" : __asm_proxy_VPMACSSDQH__, + "vpmacssdql" : __asm_proxy_VPMACSSDQL__, + "vpmacsswd" : __asm_proxy_VPMACSSWD__, + "vpmacssww" : __asm_proxy_VPMACSSWW__, + "vpmacswd" : __asm_proxy_VPMACSWD__, + "vpmacsww" : __asm_proxy_VPMACSWW__, + "vpmadcsswd" : __asm_proxy_VPMADCSSWD__, + "vpmadcswd" : __asm_proxy_VPMADCSWD__, + "vpmadd52huq" : __asm_proxy_VPMADD52HUQ__, + "vpmadd52luq" : __asm_proxy_VPMADD52LUQ__, + "vpmaddubsw" : __asm_proxy_VPMADDUBSW__, + "vpmaddwd" : __asm_proxy_VPMADDWD__, + "vpmaskmovd" : __asm_proxy_VPMASKMOVD__, + "vpmaskmovq" : __asm_proxy_VPMASKMOVQ__, + "vpmaxsb" : __asm_proxy_VPMAXSB__, + "vpmaxsd" : __asm_proxy_VPMAXSD__, + "vpmaxsq" : __asm_proxy_VPMAXSQ__, + "vpmaxsw" : __asm_proxy_VPMAXSW__, + "vpmaxub" : __asm_proxy_VPMAXUB__, + "vpmaxud" : __asm_proxy_VPMAXUD__, + "vpmaxuq" : __asm_proxy_VPMAXUQ__, + "vpmaxuw" : __asm_proxy_VPMAXUW__, + "vpminsb" : __asm_proxy_VPMINSB__, + "vpminsd" : __asm_proxy_VPMINSD__, + "vpminsq" : __asm_proxy_VPMINSQ__, + "vpminsw" : __asm_proxy_VPMINSW__, + "vpminub" : __asm_proxy_VPMINUB__, + "vpminud" : __asm_proxy_VPMINUD__, + "vpminuq" : __asm_proxy_VPMINUQ__, + "vpminuw" : __asm_proxy_VPMINUW__, + "vpmovb2m" : __asm_proxy_VPMOVB2M__, + "vpmovd2m" : __asm_proxy_VPMOVD2M__, + "vpmovdb" : __asm_proxy_VPMOVDB__, + "vpmovdw" : __asm_proxy_VPMOVDW__, + "vpmovm2b" : __asm_proxy_VPMOVM2B__, + "vpmovm2d" : __asm_proxy_VPMOVM2D__, + "vpmovm2q" : __asm_proxy_VPMOVM2Q__, + "vpmovm2w" : __asm_proxy_VPMOVM2W__, + "vpmovmskb" : __asm_proxy_VPMOVMSKB__, + "vpmovq2m" : __asm_proxy_VPMOVQ2M__, + "vpmovqb" : __asm_proxy_VPMOVQB__, + "vpmovqd" : __asm_proxy_VPMOVQD__, + "vpmovqw" : __asm_proxy_VPMOVQW__, + "vpmovsdb" : __asm_proxy_VPMOVSDB__, + "vpmovsdw" : __asm_proxy_VPMOVSDW__, + "vpmovsqb" : __asm_proxy_VPMOVSQB__, + "vpmovsqd" : __asm_proxy_VPMOVSQD__, + "vpmovsqw" : __asm_proxy_VPMOVSQW__, + "vpmovswb" : __asm_proxy_VPMOVSWB__, + "vpmovsxbd" : __asm_proxy_VPMOVSXBD__, + "vpmovsxbq" : __asm_proxy_VPMOVSXBQ__, + "vpmovsxbw" : __asm_proxy_VPMOVSXBW__, + "vpmovsxdq" : __asm_proxy_VPMOVSXDQ__, + "vpmovsxwd" : __asm_proxy_VPMOVSXWD__, + "vpmovsxwq" : __asm_proxy_VPMOVSXWQ__, + "vpmovusdb" : __asm_proxy_VPMOVUSDB__, + "vpmovusdw" : __asm_proxy_VPMOVUSDW__, + "vpmovusqb" : __asm_proxy_VPMOVUSQB__, + "vpmovusqd" : __asm_proxy_VPMOVUSQD__, + "vpmovusqw" : __asm_proxy_VPMOVUSQW__, + "vpmovuswb" : __asm_proxy_VPMOVUSWB__, + "vpmovw2m" : __asm_proxy_VPMOVW2M__, + "vpmovwb" : __asm_proxy_VPMOVWB__, + "vpmovzxbd" : __asm_proxy_VPMOVZXBD__, + "vpmovzxbq" : __asm_proxy_VPMOVZXBQ__, + "vpmovzxbw" : __asm_proxy_VPMOVZXBW__, + "vpmovzxdq" : __asm_proxy_VPMOVZXDQ__, + "vpmovzxwd" : __asm_proxy_VPMOVZXWD__, + "vpmovzxwq" : __asm_proxy_VPMOVZXWQ__, + "vpmuldq" : __asm_proxy_VPMULDQ__, + "vpmulhrsw" : __asm_proxy_VPMULHRSW__, + "vpmulhuw" : __asm_proxy_VPMULHUW__, + "vpmulhw" : __asm_proxy_VPMULHW__, + "vpmulld" : __asm_proxy_VPMULLD__, + "vpmullq" : __asm_proxy_VPMULLQ__, + "vpmullw" : __asm_proxy_VPMULLW__, + "vpmultishiftqb" : __asm_proxy_VPMULTISHIFTQB__, + "vpmuludq" : __asm_proxy_VPMULUDQ__, + "vpopcntd" : __asm_proxy_VPOPCNTD__, + "vpopcntq" : __asm_proxy_VPOPCNTQ__, + "vpor" : __asm_proxy_VPOR__, + "vpord" : __asm_proxy_VPORD__, + "vporq" : __asm_proxy_VPORQ__, + "vpperm" : __asm_proxy_VPPERM__, + "vprold" : __asm_proxy_VPROLD__, + "vprolq" : __asm_proxy_VPROLQ__, + "vprolvd" : __asm_proxy_VPROLVD__, + "vprolvq" : __asm_proxy_VPROLVQ__, + "vprord" : __asm_proxy_VPRORD__, + "vprorq" : __asm_proxy_VPRORQ__, + "vprorvd" : __asm_proxy_VPRORVD__, + "vprorvq" : __asm_proxy_VPRORVQ__, + "vprotb" : __asm_proxy_VPROTB__, + "vprotd" : __asm_proxy_VPROTD__, + "vprotq" : __asm_proxy_VPROTQ__, + "vprotw" : __asm_proxy_VPROTW__, + "vpsadbw" : __asm_proxy_VPSADBW__, + "vpscatterdd" : __asm_proxy_VPSCATTERDD__, + "vpscatterdq" : __asm_proxy_VPSCATTERDQ__, + "vpscatterqd" : __asm_proxy_VPSCATTERQD__, + "vpscatterqq" : __asm_proxy_VPSCATTERQQ__, + "vpshab" : __asm_proxy_VPSHAB__, + "vpshad" : __asm_proxy_VPSHAD__, + "vpshaq" : __asm_proxy_VPSHAQ__, + "vpshaw" : __asm_proxy_VPSHAW__, + "vpshlb" : __asm_proxy_VPSHLB__, + "vpshld" : __asm_proxy_VPSHLD__, + "vpshlq" : __asm_proxy_VPSHLQ__, + "vpshlw" : __asm_proxy_VPSHLW__, + "vpshufb" : __asm_proxy_VPSHUFB__, + "vpshufd" : __asm_proxy_VPSHUFD__, + "vpshufhw" : __asm_proxy_VPSHUFHW__, + "vpshuflw" : __asm_proxy_VPSHUFLW__, + "vpsignb" : __asm_proxy_VPSIGNB__, + "vpsignd" : __asm_proxy_VPSIGND__, + "vpsignw" : __asm_proxy_VPSIGNW__, + "vpslld" : __asm_proxy_VPSLLD__, + "vpslldq" : __asm_proxy_VPSLLDQ__, + "vpsllq" : __asm_proxy_VPSLLQ__, + "vpsllvd" : __asm_proxy_VPSLLVD__, + "vpsllvq" : __asm_proxy_VPSLLVQ__, + "vpsllvw" : __asm_proxy_VPSLLVW__, + "vpsllw" : __asm_proxy_VPSLLW__, + "vpsrad" : __asm_proxy_VPSRAD__, + "vpsraq" : __asm_proxy_VPSRAQ__, + "vpsravd" : __asm_proxy_VPSRAVD__, + "vpsravq" : __asm_proxy_VPSRAVQ__, + "vpsravw" : __asm_proxy_VPSRAVW__, + "vpsraw" : __asm_proxy_VPSRAW__, + "vpsrld" : __asm_proxy_VPSRLD__, + "vpsrldq" : __asm_proxy_VPSRLDQ__, + "vpsrlq" : __asm_proxy_VPSRLQ__, + "vpsrlvd" : __asm_proxy_VPSRLVD__, + "vpsrlvq" : __asm_proxy_VPSRLVQ__, + "vpsrlvw" : __asm_proxy_VPSRLVW__, + "vpsrlw" : __asm_proxy_VPSRLW__, + "vpsubb" : __asm_proxy_VPSUBB__, + "vpsubd" : __asm_proxy_VPSUBD__, + "vpsubq" : __asm_proxy_VPSUBQ__, + "vpsubsb" : __asm_proxy_VPSUBSB__, + "vpsubsw" : __asm_proxy_VPSUBSW__, + "vpsubusb" : __asm_proxy_VPSUBUSB__, + "vpsubusw" : __asm_proxy_VPSUBUSW__, + "vpsubw" : __asm_proxy_VPSUBW__, + "vpternlogd" : __asm_proxy_VPTERNLOGD__, + "vpternlogq" : __asm_proxy_VPTERNLOGQ__, + "vptest" : __asm_proxy_VPTEST__, + "vptestmb" : __asm_proxy_VPTESTMB__, + "vptestmd" : __asm_proxy_VPTESTMD__, + "vptestmq" : __asm_proxy_VPTESTMQ__, + "vptestmw" : __asm_proxy_VPTESTMW__, + "vptestnmb" : __asm_proxy_VPTESTNMB__, + "vptestnmd" : __asm_proxy_VPTESTNMD__, + "vptestnmq" : __asm_proxy_VPTESTNMQ__, + "vptestnmw" : __asm_proxy_VPTESTNMW__, + "vpunpckhbw" : __asm_proxy_VPUNPCKHBW__, + "vpunpckhdq" : __asm_proxy_VPUNPCKHDQ__, + "vpunpckhqdq" : __asm_proxy_VPUNPCKHQDQ__, + "vpunpckhwd" : __asm_proxy_VPUNPCKHWD__, + "vpunpcklbw" : __asm_proxy_VPUNPCKLBW__, + "vpunpckldq" : __asm_proxy_VPUNPCKLDQ__, + "vpunpcklqdq" : __asm_proxy_VPUNPCKLQDQ__, + "vpunpcklwd" : __asm_proxy_VPUNPCKLWD__, + "vpxor" : __asm_proxy_VPXOR__, + "vpxord" : __asm_proxy_VPXORD__, + "vpxorq" : __asm_proxy_VPXORQ__, + "vrangepd" : __asm_proxy_VRANGEPD__, + "vrangeps" : __asm_proxy_VRANGEPS__, + "vrangesd" : __asm_proxy_VRANGESD__, + "vrangess" : __asm_proxy_VRANGESS__, + "vrcp14pd" : __asm_proxy_VRCP14PD__, + "vrcp14ps" : __asm_proxy_VRCP14PS__, + "vrcp14sd" : __asm_proxy_VRCP14SD__, + "vrcp14ss" : __asm_proxy_VRCP14SS__, + "vrcp28pd" : __asm_proxy_VRCP28PD__, + "vrcp28ps" : __asm_proxy_VRCP28PS__, + "vrcp28sd" : __asm_proxy_VRCP28SD__, + "vrcp28ss" : __asm_proxy_VRCP28SS__, + "vrcpps" : __asm_proxy_VRCPPS__, + "vrcpss" : __asm_proxy_VRCPSS__, + "vreducepd" : __asm_proxy_VREDUCEPD__, + "vreduceps" : __asm_proxy_VREDUCEPS__, + "vreducesd" : __asm_proxy_VREDUCESD__, + "vreducess" : __asm_proxy_VREDUCESS__, + "vrndscalepd" : __asm_proxy_VRNDSCALEPD__, + "vrndscaleps" : __asm_proxy_VRNDSCALEPS__, + "vrndscalesd" : __asm_proxy_VRNDSCALESD__, + "vrndscaless" : __asm_proxy_VRNDSCALESS__, + "vroundpd" : __asm_proxy_VROUNDPD__, + "vroundps" : __asm_proxy_VROUNDPS__, + "vroundsd" : __asm_proxy_VROUNDSD__, + "vroundss" : __asm_proxy_VROUNDSS__, + "vrsqrt14pd" : __asm_proxy_VRSQRT14PD__, + "vrsqrt14ps" : __asm_proxy_VRSQRT14PS__, + "vrsqrt14sd" : __asm_proxy_VRSQRT14SD__, + "vrsqrt14ss" : __asm_proxy_VRSQRT14SS__, + "vrsqrt28pd" : __asm_proxy_VRSQRT28PD__, + "vrsqrt28ps" : __asm_proxy_VRSQRT28PS__, + "vrsqrt28sd" : __asm_proxy_VRSQRT28SD__, + "vrsqrt28ss" : __asm_proxy_VRSQRT28SS__, + "vrsqrtps" : __asm_proxy_VRSQRTPS__, + "vrsqrtss" : __asm_proxy_VRSQRTSS__, + "vscalefpd" : __asm_proxy_VSCALEFPD__, + "vscalefps" : __asm_proxy_VSCALEFPS__, + "vscalefsd" : __asm_proxy_VSCALEFSD__, + "vscalefss" : __asm_proxy_VSCALEFSS__, + "vscatterdpd" : __asm_proxy_VSCATTERDPD__, + "vscatterdps" : __asm_proxy_VSCATTERDPS__, + "vscatterpf0dpd" : __asm_proxy_VSCATTERPF0DPD__, + "vscatterpf0dps" : __asm_proxy_VSCATTERPF0DPS__, + "vscatterpf0qpd" : __asm_proxy_VSCATTERPF0QPD__, + "vscatterpf0qps" : __asm_proxy_VSCATTERPF0QPS__, + "vscatterpf1dpd" : __asm_proxy_VSCATTERPF1DPD__, + "vscatterpf1dps" : __asm_proxy_VSCATTERPF1DPS__, + "vscatterpf1qpd" : __asm_proxy_VSCATTERPF1QPD__, + "vscatterpf1qps" : __asm_proxy_VSCATTERPF1QPS__, + "vscatterqpd" : __asm_proxy_VSCATTERQPD__, + "vscatterqps" : __asm_proxy_VSCATTERQPS__, + "vshuff32x4" : __asm_proxy_VSHUFF32X4__, + "vshuff64x2" : __asm_proxy_VSHUFF64X2__, + "vshufi32x4" : __asm_proxy_VSHUFI32X4__, + "vshufi64x2" : __asm_proxy_VSHUFI64X2__, + "vshufpd" : __asm_proxy_VSHUFPD__, + "vshufps" : __asm_proxy_VSHUFPS__, + "vsqrtpd" : __asm_proxy_VSQRTPD__, + "vsqrtps" : __asm_proxy_VSQRTPS__, + "vsqrtsd" : __asm_proxy_VSQRTSD__, + "vsqrtss" : __asm_proxy_VSQRTSS__, + "vstmxcsr" : __asm_proxy_VSTMXCSR__, + "vsubpd" : __asm_proxy_VSUBPD__, + "vsubps" : __asm_proxy_VSUBPS__, + "vsubsd" : __asm_proxy_VSUBSD__, + "vsubss" : __asm_proxy_VSUBSS__, + "vtestpd" : __asm_proxy_VTESTPD__, + "vtestps" : __asm_proxy_VTESTPS__, + "vucomisd" : __asm_proxy_VUCOMISD__, + "vucomiss" : __asm_proxy_VUCOMISS__, + "vunpckhpd" : __asm_proxy_VUNPCKHPD__, + "vunpckhps" : __asm_proxy_VUNPCKHPS__, + "vunpcklpd" : __asm_proxy_VUNPCKLPD__, + "vunpcklps" : __asm_proxy_VUNPCKLPS__, + "vxorpd" : __asm_proxy_VXORPD__, + "vxorps" : __asm_proxy_VXORPS__, + "vzeroall" : __asm_proxy_VZEROALL__, + "vzeroupper" : __asm_proxy_VZEROUPPER__, + "xaddb" : __asm_proxy_XADDB__, + "xaddl" : __asm_proxy_XADDL__, + "xaddq" : __asm_proxy_XADDQ__, + "xaddw" : __asm_proxy_XADDW__, + "xchgb" : __asm_proxy_XCHGB__, + "xchgl" : __asm_proxy_XCHGL__, + "xchgq" : __asm_proxy_XCHGQ__, + "xchgw" : __asm_proxy_XCHGW__, + "xgetbv" : __asm_proxy_XGETBV__, + "xlatb" : __asm_proxy_XLATB__, + "xorb" : __asm_proxy_XORB__, + "xorl" : __asm_proxy_XORL__, + "xorpd" : __asm_proxy_XORPD__, + "xorps" : __asm_proxy_XORPS__, + "xorq" : __asm_proxy_XORQ__, + "xorw" : __asm_proxy_XORW__, +} + +func __asm_proxy_ADCB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADCB(v[0], v[1]) + } else { + panic("instruction ADCB takes exactly 2 operands") + } +} + +func __asm_proxy_ADCL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADCL(v[0], v[1]) + } else { + panic("instruction ADCL takes exactly 2 operands") + } +} + +func __asm_proxy_ADCQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADCQ(v[0], v[1]) + } else { + panic("instruction ADCQ takes exactly 2 operands") + } +} + +func __asm_proxy_ADCW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADCW(v[0], v[1]) + } else { + panic("instruction ADCW takes exactly 2 operands") + } +} + +func __asm_proxy_ADCXL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADCXL(v[0], v[1]) + } else { + panic("instruction ADCXL takes exactly 2 operands") + } +} + +func __asm_proxy_ADCXQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADCXQ(v[0], v[1]) + } else { + panic("instruction ADCXQ takes exactly 2 operands") + } +} + +func __asm_proxy_ADDB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADDB(v[0], v[1]) + } else { + panic("instruction ADDB takes exactly 2 operands") + } +} + +func __asm_proxy_ADDL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADDL(v[0], v[1]) + } else { + panic("instruction ADDL takes exactly 2 operands") + } +} + +func __asm_proxy_ADDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADDPD(v[0], v[1]) + } else { + panic("instruction ADDPD takes exactly 2 operands") + } +} + +func __asm_proxy_ADDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADDPS(v[0], v[1]) + } else { + panic("instruction ADDPS takes exactly 2 operands") + } +} + +func __asm_proxy_ADDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADDQ(v[0], v[1]) + } else { + panic("instruction ADDQ takes exactly 2 operands") + } +} + +func __asm_proxy_ADDSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADDSD(v[0], v[1]) + } else { + panic("instruction ADDSD takes exactly 2 operands") + } +} + +func __asm_proxy_ADDSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADDSS(v[0], v[1]) + } else { + panic("instruction ADDSS takes exactly 2 operands") + } +} + +func __asm_proxy_ADDSUBPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADDSUBPD(v[0], v[1]) + } else { + panic("instruction ADDSUBPD takes exactly 2 operands") + } +} + +func __asm_proxy_ADDSUBPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADDSUBPS(v[0], v[1]) + } else { + panic("instruction ADDSUBPS takes exactly 2 operands") + } +} + +func __asm_proxy_ADDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADDW(v[0], v[1]) + } else { + panic("instruction ADDW takes exactly 2 operands") + } +} + +func __asm_proxy_ADOXL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADOXL(v[0], v[1]) + } else { + panic("instruction ADOXL takes exactly 2 operands") + } +} + +func __asm_proxy_ADOXQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ADOXQ(v[0], v[1]) + } else { + panic("instruction ADOXQ takes exactly 2 operands") + } +} + +func __asm_proxy_AESDEC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.AESDEC(v[0], v[1]) + } else { + panic("instruction AESDEC takes exactly 2 operands") + } +} + +func __asm_proxy_AESDECLAST__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.AESDECLAST(v[0], v[1]) + } else { + panic("instruction AESDECLAST takes exactly 2 operands") + } +} + +func __asm_proxy_AESENC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.AESENC(v[0], v[1]) + } else { + panic("instruction AESENC takes exactly 2 operands") + } +} + +func __asm_proxy_AESENCLAST__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.AESENCLAST(v[0], v[1]) + } else { + panic("instruction AESENCLAST takes exactly 2 operands") + } +} + +func __asm_proxy_AESIMC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.AESIMC(v[0], v[1]) + } else { + panic("instruction AESIMC takes exactly 2 operands") + } +} + +func __asm_proxy_AESKEYGENASSIST__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.AESKEYGENASSIST(v[0], v[1], v[2]) + } else { + panic("instruction AESKEYGENASSIST takes exactly 3 operands") + } +} + +func __asm_proxy_ANDB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ANDB(v[0], v[1]) + } else { + panic("instruction ANDB takes exactly 2 operands") + } +} + +func __asm_proxy_ANDL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ANDL(v[0], v[1]) + } else { + panic("instruction ANDL takes exactly 2 operands") + } +} + +func __asm_proxy_ANDNL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.ANDNL(v[0], v[1], v[2]) + } else { + panic("instruction ANDNL takes exactly 3 operands") + } +} + +func __asm_proxy_ANDNPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ANDNPD(v[0], v[1]) + } else { + panic("instruction ANDNPD takes exactly 2 operands") + } +} + +func __asm_proxy_ANDNPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ANDNPS(v[0], v[1]) + } else { + panic("instruction ANDNPS takes exactly 2 operands") + } +} + +func __asm_proxy_ANDNQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.ANDNQ(v[0], v[1], v[2]) + } else { + panic("instruction ANDNQ takes exactly 3 operands") + } +} + +func __asm_proxy_ANDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ANDPD(v[0], v[1]) + } else { + panic("instruction ANDPD takes exactly 2 operands") + } +} + +func __asm_proxy_ANDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ANDPS(v[0], v[1]) + } else { + panic("instruction ANDPS takes exactly 2 operands") + } +} + +func __asm_proxy_ANDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ANDQ(v[0], v[1]) + } else { + panic("instruction ANDQ takes exactly 2 operands") + } +} + +func __asm_proxy_ANDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ANDW(v[0], v[1]) + } else { + panic("instruction ANDW takes exactly 2 operands") + } +} + +func __asm_proxy_BEXTR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.BEXTR(v[0], v[1], v[2]) + } else { + panic("instruction BEXTR takes exactly 3 operands") + } +} + +func __asm_proxy_BLCFILL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BLCFILL(v[0], v[1]) + } else { + panic("instruction BLCFILL takes exactly 2 operands") + } +} + +func __asm_proxy_BLCI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BLCI(v[0], v[1]) + } else { + panic("instruction BLCI takes exactly 2 operands") + } +} + +func __asm_proxy_BLCIC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BLCIC(v[0], v[1]) + } else { + panic("instruction BLCIC takes exactly 2 operands") + } +} + +func __asm_proxy_BLCMSK__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BLCMSK(v[0], v[1]) + } else { + panic("instruction BLCMSK takes exactly 2 operands") + } +} + +func __asm_proxy_BLCS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BLCS(v[0], v[1]) + } else { + panic("instruction BLCS takes exactly 2 operands") + } +} + +func __asm_proxy_BLENDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.BLENDPD(v[0], v[1], v[2]) + } else { + panic("instruction BLENDPD takes exactly 3 operands") + } +} + +func __asm_proxy_BLENDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.BLENDPS(v[0], v[1], v[2]) + } else { + panic("instruction BLENDPS takes exactly 3 operands") + } +} + +func __asm_proxy_BLENDVPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.BLENDVPD(v[0], v[1], v[2]) + } else { + panic("instruction BLENDVPD takes exactly 3 operands") + } +} + +func __asm_proxy_BLENDVPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.BLENDVPS(v[0], v[1], v[2]) + } else { + panic("instruction BLENDVPS takes exactly 3 operands") + } +} + +func __asm_proxy_BLSFILL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BLSFILL(v[0], v[1]) + } else { + panic("instruction BLSFILL takes exactly 2 operands") + } +} + +func __asm_proxy_BLSI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BLSI(v[0], v[1]) + } else { + panic("instruction BLSI takes exactly 2 operands") + } +} + +func __asm_proxy_BLSIC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BLSIC(v[0], v[1]) + } else { + panic("instruction BLSIC takes exactly 2 operands") + } +} + +func __asm_proxy_BLSMSK__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BLSMSK(v[0], v[1]) + } else { + panic("instruction BLSMSK takes exactly 2 operands") + } +} + +func __asm_proxy_BLSR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BLSR(v[0], v[1]) + } else { + panic("instruction BLSR takes exactly 2 operands") + } +} + +func __asm_proxy_BSFL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BSFL(v[0], v[1]) + } else { + panic("instruction BSFL takes exactly 2 operands") + } +} + +func __asm_proxy_BSFQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BSFQ(v[0], v[1]) + } else { + panic("instruction BSFQ takes exactly 2 operands") + } +} + +func __asm_proxy_BSFW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BSFW(v[0], v[1]) + } else { + panic("instruction BSFW takes exactly 2 operands") + } +} + +func __asm_proxy_BSRL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BSRL(v[0], v[1]) + } else { + panic("instruction BSRL takes exactly 2 operands") + } +} + +func __asm_proxy_BSRQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BSRQ(v[0], v[1]) + } else { + panic("instruction BSRQ takes exactly 2 operands") + } +} + +func __asm_proxy_BSRW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BSRW(v[0], v[1]) + } else { + panic("instruction BSRW takes exactly 2 operands") + } +} + +func __asm_proxy_BSWAPL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.BSWAPL(v[0]) + } else { + panic("instruction BSWAPL takes exactly 1 operand") + } +} + +func __asm_proxy_BSWAPQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.BSWAPQ(v[0]) + } else { + panic("instruction BSWAPQ takes exactly 1 operand") + } +} + +func __asm_proxy_BTCL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BTCL(v[0], v[1]) + } else { + panic("instruction BTCL takes exactly 2 operands") + } +} + +func __asm_proxy_BTCQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BTCQ(v[0], v[1]) + } else { + panic("instruction BTCQ takes exactly 2 operands") + } +} + +func __asm_proxy_BTCW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BTCW(v[0], v[1]) + } else { + panic("instruction BTCW takes exactly 2 operands") + } +} + +func __asm_proxy_BTL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BTL(v[0], v[1]) + } else { + panic("instruction BTL takes exactly 2 operands") + } +} + +func __asm_proxy_BTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BTQ(v[0], v[1]) + } else { + panic("instruction BTQ takes exactly 2 operands") + } +} + +func __asm_proxy_BTRL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BTRL(v[0], v[1]) + } else { + panic("instruction BTRL takes exactly 2 operands") + } +} + +func __asm_proxy_BTRQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BTRQ(v[0], v[1]) + } else { + panic("instruction BTRQ takes exactly 2 operands") + } +} + +func __asm_proxy_BTRW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BTRW(v[0], v[1]) + } else { + panic("instruction BTRW takes exactly 2 operands") + } +} + +func __asm_proxy_BTSL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BTSL(v[0], v[1]) + } else { + panic("instruction BTSL takes exactly 2 operands") + } +} + +func __asm_proxy_BTSQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BTSQ(v[0], v[1]) + } else { + panic("instruction BTSQ takes exactly 2 operands") + } +} + +func __asm_proxy_BTSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BTSW(v[0], v[1]) + } else { + panic("instruction BTSW takes exactly 2 operands") + } +} + +func __asm_proxy_BTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.BTW(v[0], v[1]) + } else { + panic("instruction BTW takes exactly 2 operands") + } +} + +func __asm_proxy_BZHI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.BZHI(v[0], v[1], v[2]) + } else { + panic("instruction BZHI takes exactly 3 operands") + } +} + +func __asm_proxy_CALL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.CALL(v[0]) + } else { + panic("instruction CALL takes exactly 1 operand") + } +} + +func __asm_proxy_CALLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.CALLQ(v[0]) + } else { + panic("instruction CALLQ takes exactly 1 operand") + } +} + +func __asm_proxy_CBTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.CBTW() + } else { + panic("instruction CBTW takes no operands") + } +} + +func __asm_proxy_CLC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.CLC() + } else { + panic("instruction CLC takes no operands") + } +} + +func __asm_proxy_CLD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.CLD() + } else { + panic("instruction CLD takes no operands") + } +} + +func __asm_proxy_CLFLUSH__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.CLFLUSH(v[0]) + } else { + panic("instruction CLFLUSH takes exactly 1 operand") + } +} + +func __asm_proxy_CLFLUSHOPT__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.CLFLUSHOPT(v[0]) + } else { + panic("instruction CLFLUSHOPT takes exactly 1 operand") + } +} + +func __asm_proxy_CLTD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.CLTD() + } else { + panic("instruction CLTD takes no operands") + } +} + +func __asm_proxy_CLTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.CLTQ() + } else { + panic("instruction CLTQ takes no operands") + } +} + +func __asm_proxy_CLWB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.CLWB(v[0]) + } else { + panic("instruction CLWB takes exactly 1 operand") + } +} + +func __asm_proxy_CLZERO__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.CLZERO() + } else { + panic("instruction CLZERO takes no operands") + } +} + +func __asm_proxy_CMC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.CMC() + } else { + panic("instruction CMC takes no operands") + } +} + +func __asm_proxy_CMOVA__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVA(v[0], v[1]) + } else { + panic("instruction CMOVA takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVAE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVAE(v[0], v[1]) + } else { + panic("instruction CMOVAE takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVB(v[0], v[1]) + } else { + panic("instruction CMOVB takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVBE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVBE(v[0], v[1]) + } else { + panic("instruction CMOVBE takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVC(v[0], v[1]) + } else { + panic("instruction CMOVC takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVE(v[0], v[1]) + } else { + panic("instruction CMOVE takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVG__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVG(v[0], v[1]) + } else { + panic("instruction CMOVG takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVGE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVGE(v[0], v[1]) + } else { + panic("instruction CMOVGE takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVL(v[0], v[1]) + } else { + panic("instruction CMOVL takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVLE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVLE(v[0], v[1]) + } else { + panic("instruction CMOVLE takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNA__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNA(v[0], v[1]) + } else { + panic("instruction CMOVNA takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNAE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNAE(v[0], v[1]) + } else { + panic("instruction CMOVNAE takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNB(v[0], v[1]) + } else { + panic("instruction CMOVNB takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNBE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNBE(v[0], v[1]) + } else { + panic("instruction CMOVNBE takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNC(v[0], v[1]) + } else { + panic("instruction CMOVNC takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNE(v[0], v[1]) + } else { + panic("instruction CMOVNE takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNG__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNG(v[0], v[1]) + } else { + panic("instruction CMOVNG takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNGE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNGE(v[0], v[1]) + } else { + panic("instruction CMOVNGE takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNL(v[0], v[1]) + } else { + panic("instruction CMOVNL takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNLE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNLE(v[0], v[1]) + } else { + panic("instruction CMOVNLE takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNO__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNO(v[0], v[1]) + } else { + panic("instruction CMOVNO takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNP(v[0], v[1]) + } else { + panic("instruction CMOVNP takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNS(v[0], v[1]) + } else { + panic("instruction CMOVNS takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVNZ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVNZ(v[0], v[1]) + } else { + panic("instruction CMOVNZ takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVO__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVO(v[0], v[1]) + } else { + panic("instruction CMOVO takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVP(v[0], v[1]) + } else { + panic("instruction CMOVP takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVPE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVPE(v[0], v[1]) + } else { + panic("instruction CMOVPE takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVPO__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVPO(v[0], v[1]) + } else { + panic("instruction CMOVPO takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVS(v[0], v[1]) + } else { + panic("instruction CMOVS takes exactly 2 operands") + } +} + +func __asm_proxy_CMOVZ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMOVZ(v[0], v[1]) + } else { + panic("instruction CMOVZ takes exactly 2 operands") + } +} + +func __asm_proxy_CMPB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMPB(v[0], v[1]) + } else { + panic("instruction CMPB takes exactly 2 operands") + } +} + +func __asm_proxy_CMPL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMPL(v[0], v[1]) + } else { + panic("instruction CMPL takes exactly 2 operands") + } +} + +func __asm_proxy_CMPPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.CMPPD(v[0], v[1], v[2]) + } else { + panic("instruction CMPPD takes exactly 3 operands") + } +} + +func __asm_proxy_CMPPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.CMPPS(v[0], v[1], v[2]) + } else { + panic("instruction CMPPS takes exactly 3 operands") + } +} + +func __asm_proxy_CMPQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMPQ(v[0], v[1]) + } else { + panic("instruction CMPQ takes exactly 2 operands") + } +} + +func __asm_proxy_CMPSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.CMPSD(v[0], v[1], v[2]) + } else { + panic("instruction CMPSD takes exactly 3 operands") + } +} + +func __asm_proxy_CMPSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.CMPSS(v[0], v[1], v[2]) + } else { + panic("instruction CMPSS takes exactly 3 operands") + } +} + +func __asm_proxy_CMPW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMPW(v[0], v[1]) + } else { + panic("instruction CMPW takes exactly 2 operands") + } +} + +func __asm_proxy_CMPXCHG16B__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.CMPXCHG16B(v[0]) + } else { + panic("instruction CMPXCHG16B takes exactly 1 operand") + } +} + +func __asm_proxy_CMPXCHG8B__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.CMPXCHG8B(v[0]) + } else { + panic("instruction CMPXCHG8B takes exactly 1 operand") + } +} + +func __asm_proxy_CMPXCHGB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMPXCHGB(v[0], v[1]) + } else { + panic("instruction CMPXCHGB takes exactly 2 operands") + } +} + +func __asm_proxy_CMPXCHGL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMPXCHGL(v[0], v[1]) + } else { + panic("instruction CMPXCHGL takes exactly 2 operands") + } +} + +func __asm_proxy_CMPXCHGQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMPXCHGQ(v[0], v[1]) + } else { + panic("instruction CMPXCHGQ takes exactly 2 operands") + } +} + +func __asm_proxy_CMPXCHGW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CMPXCHGW(v[0], v[1]) + } else { + panic("instruction CMPXCHGW takes exactly 2 operands") + } +} + +func __asm_proxy_COMISD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.COMISD(v[0], v[1]) + } else { + panic("instruction COMISD takes exactly 2 operands") + } +} + +func __asm_proxy_COMISS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.COMISS(v[0], v[1]) + } else { + panic("instruction COMISS takes exactly 2 operands") + } +} + +func __asm_proxy_CPUID__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.CPUID() + } else { + panic("instruction CPUID takes no operands") + } +} + +func __asm_proxy_CQTO__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.CQTO() + } else { + panic("instruction CQTO takes no operands") + } +} + +func __asm_proxy_CRC32B__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CRC32B(v[0], v[1]) + } else { + panic("instruction CRC32B takes exactly 2 operands") + } +} + +func __asm_proxy_CRC32L__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CRC32L(v[0], v[1]) + } else { + panic("instruction CRC32L takes exactly 2 operands") + } +} + +func __asm_proxy_CRC32Q__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CRC32Q(v[0], v[1]) + } else { + panic("instruction CRC32Q takes exactly 2 operands") + } +} + +func __asm_proxy_CRC32W__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CRC32W(v[0], v[1]) + } else { + panic("instruction CRC32W takes exactly 2 operands") + } +} + +func __asm_proxy_CVTDQ2PD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTDQ2PD(v[0], v[1]) + } else { + panic("instruction CVTDQ2PD takes exactly 2 operands") + } +} + +func __asm_proxy_CVTDQ2PS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTDQ2PS(v[0], v[1]) + } else { + panic("instruction CVTDQ2PS takes exactly 2 operands") + } +} + +func __asm_proxy_CVTPD2DQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTPD2DQ(v[0], v[1]) + } else { + panic("instruction CVTPD2DQ takes exactly 2 operands") + } +} + +func __asm_proxy_CVTPD2PI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTPD2PI(v[0], v[1]) + } else { + panic("instruction CVTPD2PI takes exactly 2 operands") + } +} + +func __asm_proxy_CVTPD2PS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTPD2PS(v[0], v[1]) + } else { + panic("instruction CVTPD2PS takes exactly 2 operands") + } +} + +func __asm_proxy_CVTPI2PD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTPI2PD(v[0], v[1]) + } else { + panic("instruction CVTPI2PD takes exactly 2 operands") + } +} + +func __asm_proxy_CVTPI2PS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTPI2PS(v[0], v[1]) + } else { + panic("instruction CVTPI2PS takes exactly 2 operands") + } +} + +func __asm_proxy_CVTPS2DQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTPS2DQ(v[0], v[1]) + } else { + panic("instruction CVTPS2DQ takes exactly 2 operands") + } +} + +func __asm_proxy_CVTPS2PD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTPS2PD(v[0], v[1]) + } else { + panic("instruction CVTPS2PD takes exactly 2 operands") + } +} + +func __asm_proxy_CVTPS2PI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTPS2PI(v[0], v[1]) + } else { + panic("instruction CVTPS2PI takes exactly 2 operands") + } +} + +func __asm_proxy_CVTSD2SI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTSD2SI(v[0], v[1]) + } else { + panic("instruction CVTSD2SI takes exactly 2 operands") + } +} + +func __asm_proxy_CVTSD2SS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTSD2SS(v[0], v[1]) + } else { + panic("instruction CVTSD2SS takes exactly 2 operands") + } +} + +func __asm_proxy_CVTSI2SD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTSI2SD(v[0], v[1]) + } else { + panic("instruction CVTSI2SD takes exactly 2 operands") + } +} + +func __asm_proxy_CVTSI2SS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTSI2SS(v[0], v[1]) + } else { + panic("instruction CVTSI2SS takes exactly 2 operands") + } +} + +func __asm_proxy_CVTSS2SD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTSS2SD(v[0], v[1]) + } else { + panic("instruction CVTSS2SD takes exactly 2 operands") + } +} + +func __asm_proxy_CVTSS2SI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTSS2SI(v[0], v[1]) + } else { + panic("instruction CVTSS2SI takes exactly 2 operands") + } +} + +func __asm_proxy_CVTTPD2DQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTTPD2DQ(v[0], v[1]) + } else { + panic("instruction CVTTPD2DQ takes exactly 2 operands") + } +} + +func __asm_proxy_CVTTPD2PI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTTPD2PI(v[0], v[1]) + } else { + panic("instruction CVTTPD2PI takes exactly 2 operands") + } +} + +func __asm_proxy_CVTTPS2DQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTTPS2DQ(v[0], v[1]) + } else { + panic("instruction CVTTPS2DQ takes exactly 2 operands") + } +} + +func __asm_proxy_CVTTPS2PI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTTPS2PI(v[0], v[1]) + } else { + panic("instruction CVTTPS2PI takes exactly 2 operands") + } +} + +func __asm_proxy_CVTTSD2SI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTTSD2SI(v[0], v[1]) + } else { + panic("instruction CVTTSD2SI takes exactly 2 operands") + } +} + +func __asm_proxy_CVTTSS2SI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.CVTTSS2SI(v[0], v[1]) + } else { + panic("instruction CVTTSS2SI takes exactly 2 operands") + } +} + +func __asm_proxy_CWTD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.CWTD() + } else { + panic("instruction CWTD takes no operands") + } +} + +func __asm_proxy_CWTL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.CWTL() + } else { + panic("instruction CWTL takes no operands") + } +} + +func __asm_proxy_DECB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.DECB(v[0]) + } else { + panic("instruction DECB takes exactly 1 operand") + } +} + +func __asm_proxy_DECL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.DECL(v[0]) + } else { + panic("instruction DECL takes exactly 1 operand") + } +} + +func __asm_proxy_DECQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.DECQ(v[0]) + } else { + panic("instruction DECQ takes exactly 1 operand") + } +} + +func __asm_proxy_DECW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.DECW(v[0]) + } else { + panic("instruction DECW takes exactly 1 operand") + } +} + +func __asm_proxy_DIVB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.DIVB(v[0]) + } else { + panic("instruction DIVB takes exactly 1 operand") + } +} + +func __asm_proxy_DIVL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.DIVL(v[0]) + } else { + panic("instruction DIVL takes exactly 1 operand") + } +} + +func __asm_proxy_DIVPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.DIVPD(v[0], v[1]) + } else { + panic("instruction DIVPD takes exactly 2 operands") + } +} + +func __asm_proxy_DIVPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.DIVPS(v[0], v[1]) + } else { + panic("instruction DIVPS takes exactly 2 operands") + } +} + +func __asm_proxy_DIVQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.DIVQ(v[0]) + } else { + panic("instruction DIVQ takes exactly 1 operand") + } +} + +func __asm_proxy_DIVSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.DIVSD(v[0], v[1]) + } else { + panic("instruction DIVSD takes exactly 2 operands") + } +} + +func __asm_proxy_DIVSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.DIVSS(v[0], v[1]) + } else { + panic("instruction DIVSS takes exactly 2 operands") + } +} + +func __asm_proxy_DIVW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.DIVW(v[0]) + } else { + panic("instruction DIVW takes exactly 1 operand") + } +} + +func __asm_proxy_DPPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.DPPD(v[0], v[1], v[2]) + } else { + panic("instruction DPPD takes exactly 3 operands") + } +} + +func __asm_proxy_DPPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.DPPS(v[0], v[1], v[2]) + } else { + panic("instruction DPPS takes exactly 3 operands") + } +} + +func __asm_proxy_EMMS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.EMMS() + } else { + panic("instruction EMMS takes no operands") + } +} + +func __asm_proxy_EXTRACTPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.EXTRACTPS(v[0], v[1], v[2]) + } else { + panic("instruction EXTRACTPS takes exactly 3 operands") + } +} + +func __asm_proxy_EXTRQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.EXTRQ(v[0], v[1]) + case 3 : return p.EXTRQ(v[0], v[1], v[2]) + default : panic("instruction EXTRQ takes 2 or 3 operands") + } +} + +func __asm_proxy_FEMMS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.FEMMS() + } else { + panic("instruction FEMMS takes no operands") + } +} + +func __asm_proxy_HADDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.HADDPD(v[0], v[1]) + } else { + panic("instruction HADDPD takes exactly 2 operands") + } +} + +func __asm_proxy_HADDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.HADDPS(v[0], v[1]) + } else { + panic("instruction HADDPS takes exactly 2 operands") + } +} + +func __asm_proxy_HSUBPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.HSUBPD(v[0], v[1]) + } else { + panic("instruction HSUBPD takes exactly 2 operands") + } +} + +func __asm_proxy_HSUBPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.HSUBPS(v[0], v[1]) + } else { + panic("instruction HSUBPS takes exactly 2 operands") + } +} + +func __asm_proxy_IDIVB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.IDIVB(v[0]) + } else { + panic("instruction IDIVB takes exactly 1 operand") + } +} + +func __asm_proxy_IDIVL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.IDIVL(v[0]) + } else { + panic("instruction IDIVL takes exactly 1 operand") + } +} + +func __asm_proxy_IDIVQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.IDIVQ(v[0]) + } else { + panic("instruction IDIVQ takes exactly 1 operand") + } +} + +func __asm_proxy_IDIVW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.IDIVW(v[0]) + } else { + panic("instruction IDIVW takes exactly 1 operand") + } +} + +func __asm_proxy_IMULB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.IMULB(v[0]) + } else { + panic("instruction IMULB takes exactly 1 operand") + } +} + +func __asm_proxy_IMULL__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 1 : return p.IMULL(v[0]) + case 2 : return p.IMULL(v[0], v[1]) + case 3 : return p.IMULL(v[0], v[1], v[2]) + default : panic("instruction IMULL takes 1 or 2 or 3 operands") + } +} + +func __asm_proxy_IMULQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 1 : return p.IMULQ(v[0]) + case 2 : return p.IMULQ(v[0], v[1]) + case 3 : return p.IMULQ(v[0], v[1], v[2]) + default : panic("instruction IMULQ takes 1 or 2 or 3 operands") + } +} + +func __asm_proxy_IMULW__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 1 : return p.IMULW(v[0]) + case 2 : return p.IMULW(v[0], v[1]) + case 3 : return p.IMULW(v[0], v[1], v[2]) + default : panic("instruction IMULW takes 1 or 2 or 3 operands") + } +} + +func __asm_proxy_INCB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.INCB(v[0]) + } else { + panic("instruction INCB takes exactly 1 operand") + } +} + +func __asm_proxy_INCL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.INCL(v[0]) + } else { + panic("instruction INCL takes exactly 1 operand") + } +} + +func __asm_proxy_INCQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.INCQ(v[0]) + } else { + panic("instruction INCQ takes exactly 1 operand") + } +} + +func __asm_proxy_INCW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.INCW(v[0]) + } else { + panic("instruction INCW takes exactly 1 operand") + } +} + +func __asm_proxy_INSERTPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.INSERTPS(v[0], v[1], v[2]) + } else { + panic("instruction INSERTPS takes exactly 3 operands") + } +} + +func __asm_proxy_INSERTQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.INSERTQ(v[0], v[1]) + case 4 : return p.INSERTQ(v[0], v[1], v[2], v[3]) + default : panic("instruction INSERTQ takes 2 or 4 operands") + } +} + +func __asm_proxy_INT__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.INT(v[0]) + } else { + panic("instruction INT takes exactly 1 operand") + } +} + +func __asm_proxy_JA__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JA(v[0]) + } else { + panic("instruction JA takes exactly 1 operand") + } +} + +func __asm_proxy_JAE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JAE(v[0]) + } else { + panic("instruction JAE takes exactly 1 operand") + } +} + +func __asm_proxy_JB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JB(v[0]) + } else { + panic("instruction JB takes exactly 1 operand") + } +} + +func __asm_proxy_JBE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JBE(v[0]) + } else { + panic("instruction JBE takes exactly 1 operand") + } +} + +func __asm_proxy_JC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JC(v[0]) + } else { + panic("instruction JC takes exactly 1 operand") + } +} + +func __asm_proxy_JE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JE(v[0]) + } else { + panic("instruction JE takes exactly 1 operand") + } +} + +func __asm_proxy_JECXZ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JECXZ(v[0]) + } else { + panic("instruction JECXZ takes exactly 1 operand") + } +} + +func __asm_proxy_JG__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JG(v[0]) + } else { + panic("instruction JG takes exactly 1 operand") + } +} + +func __asm_proxy_JGE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JGE(v[0]) + } else { + panic("instruction JGE takes exactly 1 operand") + } +} + +func __asm_proxy_JL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JL(v[0]) + } else { + panic("instruction JL takes exactly 1 operand") + } +} + +func __asm_proxy_JLE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JLE(v[0]) + } else { + panic("instruction JLE takes exactly 1 operand") + } +} + +func __asm_proxy_JMP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JMP(v[0]) + } else { + panic("instruction JMP takes exactly 1 operand") + } +} + +func __asm_proxy_JMPQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JMPQ(v[0]) + } else { + panic("instruction JMPQ takes exactly 1 operand") + } +} + +func __asm_proxy_JNA__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNA(v[0]) + } else { + panic("instruction JNA takes exactly 1 operand") + } +} + +func __asm_proxy_JNAE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNAE(v[0]) + } else { + panic("instruction JNAE takes exactly 1 operand") + } +} + +func __asm_proxy_JNB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNB(v[0]) + } else { + panic("instruction JNB takes exactly 1 operand") + } +} + +func __asm_proxy_JNBE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNBE(v[0]) + } else { + panic("instruction JNBE takes exactly 1 operand") + } +} + +func __asm_proxy_JNC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNC(v[0]) + } else { + panic("instruction JNC takes exactly 1 operand") + } +} + +func __asm_proxy_JNE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNE(v[0]) + } else { + panic("instruction JNE takes exactly 1 operand") + } +} + +func __asm_proxy_JNG__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNG(v[0]) + } else { + panic("instruction JNG takes exactly 1 operand") + } +} + +func __asm_proxy_JNGE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNGE(v[0]) + } else { + panic("instruction JNGE takes exactly 1 operand") + } +} + +func __asm_proxy_JNL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNL(v[0]) + } else { + panic("instruction JNL takes exactly 1 operand") + } +} + +func __asm_proxy_JNLE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNLE(v[0]) + } else { + panic("instruction JNLE takes exactly 1 operand") + } +} + +func __asm_proxy_JNO__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNO(v[0]) + } else { + panic("instruction JNO takes exactly 1 operand") + } +} + +func __asm_proxy_JNP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNP(v[0]) + } else { + panic("instruction JNP takes exactly 1 operand") + } +} + +func __asm_proxy_JNS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNS(v[0]) + } else { + panic("instruction JNS takes exactly 1 operand") + } +} + +func __asm_proxy_JNZ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JNZ(v[0]) + } else { + panic("instruction JNZ takes exactly 1 operand") + } +} + +func __asm_proxy_JO__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JO(v[0]) + } else { + panic("instruction JO takes exactly 1 operand") + } +} + +func __asm_proxy_JP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JP(v[0]) + } else { + panic("instruction JP takes exactly 1 operand") + } +} + +func __asm_proxy_JPE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JPE(v[0]) + } else { + panic("instruction JPE takes exactly 1 operand") + } +} + +func __asm_proxy_JPO__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JPO(v[0]) + } else { + panic("instruction JPO takes exactly 1 operand") + } +} + +func __asm_proxy_JRCXZ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JRCXZ(v[0]) + } else { + panic("instruction JRCXZ takes exactly 1 operand") + } +} + +func __asm_proxy_JS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JS(v[0]) + } else { + panic("instruction JS takes exactly 1 operand") + } +} + +func __asm_proxy_JZ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.JZ(v[0]) + } else { + panic("instruction JZ takes exactly 1 operand") + } +} + +func __asm_proxy_KADDB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KADDB(v[0], v[1], v[2]) + } else { + panic("instruction KADDB takes exactly 3 operands") + } +} + +func __asm_proxy_KADDD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KADDD(v[0], v[1], v[2]) + } else { + panic("instruction KADDD takes exactly 3 operands") + } +} + +func __asm_proxy_KADDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KADDQ(v[0], v[1], v[2]) + } else { + panic("instruction KADDQ takes exactly 3 operands") + } +} + +func __asm_proxy_KADDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KADDW(v[0], v[1], v[2]) + } else { + panic("instruction KADDW takes exactly 3 operands") + } +} + +func __asm_proxy_KANDB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KANDB(v[0], v[1], v[2]) + } else { + panic("instruction KANDB takes exactly 3 operands") + } +} + +func __asm_proxy_KANDD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KANDD(v[0], v[1], v[2]) + } else { + panic("instruction KANDD takes exactly 3 operands") + } +} + +func __asm_proxy_KANDNB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KANDNB(v[0], v[1], v[2]) + } else { + panic("instruction KANDNB takes exactly 3 operands") + } +} + +func __asm_proxy_KANDND__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KANDND(v[0], v[1], v[2]) + } else { + panic("instruction KANDND takes exactly 3 operands") + } +} + +func __asm_proxy_KANDNQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KANDNQ(v[0], v[1], v[2]) + } else { + panic("instruction KANDNQ takes exactly 3 operands") + } +} + +func __asm_proxy_KANDNW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KANDNW(v[0], v[1], v[2]) + } else { + panic("instruction KANDNW takes exactly 3 operands") + } +} + +func __asm_proxy_KANDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KANDQ(v[0], v[1], v[2]) + } else { + panic("instruction KANDQ takes exactly 3 operands") + } +} + +func __asm_proxy_KANDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KANDW(v[0], v[1], v[2]) + } else { + panic("instruction KANDW takes exactly 3 operands") + } +} + +func __asm_proxy_KMOVB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KMOVB(v[0], v[1]) + } else { + panic("instruction KMOVB takes exactly 2 operands") + } +} + +func __asm_proxy_KMOVD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KMOVD(v[0], v[1]) + } else { + panic("instruction KMOVD takes exactly 2 operands") + } +} + +func __asm_proxy_KMOVQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KMOVQ(v[0], v[1]) + } else { + panic("instruction KMOVQ takes exactly 2 operands") + } +} + +func __asm_proxy_KMOVW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KMOVW(v[0], v[1]) + } else { + panic("instruction KMOVW takes exactly 2 operands") + } +} + +func __asm_proxy_KNOTB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KNOTB(v[0], v[1]) + } else { + panic("instruction KNOTB takes exactly 2 operands") + } +} + +func __asm_proxy_KNOTD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KNOTD(v[0], v[1]) + } else { + panic("instruction KNOTD takes exactly 2 operands") + } +} + +func __asm_proxy_KNOTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KNOTQ(v[0], v[1]) + } else { + panic("instruction KNOTQ takes exactly 2 operands") + } +} + +func __asm_proxy_KNOTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KNOTW(v[0], v[1]) + } else { + panic("instruction KNOTW takes exactly 2 operands") + } +} + +func __asm_proxy_KORB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KORB(v[0], v[1], v[2]) + } else { + panic("instruction KORB takes exactly 3 operands") + } +} + +func __asm_proxy_KORD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KORD(v[0], v[1], v[2]) + } else { + panic("instruction KORD takes exactly 3 operands") + } +} + +func __asm_proxy_KORQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KORQ(v[0], v[1], v[2]) + } else { + panic("instruction KORQ takes exactly 3 operands") + } +} + +func __asm_proxy_KORTESTB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KORTESTB(v[0], v[1]) + } else { + panic("instruction KORTESTB takes exactly 2 operands") + } +} + +func __asm_proxy_KORTESTD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KORTESTD(v[0], v[1]) + } else { + panic("instruction KORTESTD takes exactly 2 operands") + } +} + +func __asm_proxy_KORTESTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KORTESTQ(v[0], v[1]) + } else { + panic("instruction KORTESTQ takes exactly 2 operands") + } +} + +func __asm_proxy_KORTESTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KORTESTW(v[0], v[1]) + } else { + panic("instruction KORTESTW takes exactly 2 operands") + } +} + +func __asm_proxy_KORW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KORW(v[0], v[1], v[2]) + } else { + panic("instruction KORW takes exactly 3 operands") + } +} + +func __asm_proxy_KSHIFTLB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KSHIFTLB(v[0], v[1], v[2]) + } else { + panic("instruction KSHIFTLB takes exactly 3 operands") + } +} + +func __asm_proxy_KSHIFTLD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KSHIFTLD(v[0], v[1], v[2]) + } else { + panic("instruction KSHIFTLD takes exactly 3 operands") + } +} + +func __asm_proxy_KSHIFTLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KSHIFTLQ(v[0], v[1], v[2]) + } else { + panic("instruction KSHIFTLQ takes exactly 3 operands") + } +} + +func __asm_proxy_KSHIFTLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KSHIFTLW(v[0], v[1], v[2]) + } else { + panic("instruction KSHIFTLW takes exactly 3 operands") + } +} + +func __asm_proxy_KSHIFTRB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KSHIFTRB(v[0], v[1], v[2]) + } else { + panic("instruction KSHIFTRB takes exactly 3 operands") + } +} + +func __asm_proxy_KSHIFTRD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KSHIFTRD(v[0], v[1], v[2]) + } else { + panic("instruction KSHIFTRD takes exactly 3 operands") + } +} + +func __asm_proxy_KSHIFTRQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KSHIFTRQ(v[0], v[1], v[2]) + } else { + panic("instruction KSHIFTRQ takes exactly 3 operands") + } +} + +func __asm_proxy_KSHIFTRW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KSHIFTRW(v[0], v[1], v[2]) + } else { + panic("instruction KSHIFTRW takes exactly 3 operands") + } +} + +func __asm_proxy_KTESTB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KTESTB(v[0], v[1]) + } else { + panic("instruction KTESTB takes exactly 2 operands") + } +} + +func __asm_proxy_KTESTD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KTESTD(v[0], v[1]) + } else { + panic("instruction KTESTD takes exactly 2 operands") + } +} + +func __asm_proxy_KTESTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KTESTQ(v[0], v[1]) + } else { + panic("instruction KTESTQ takes exactly 2 operands") + } +} + +func __asm_proxy_KTESTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.KTESTW(v[0], v[1]) + } else { + panic("instruction KTESTW takes exactly 2 operands") + } +} + +func __asm_proxy_KUNPCKBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KUNPCKBW(v[0], v[1], v[2]) + } else { + panic("instruction KUNPCKBW takes exactly 3 operands") + } +} + +func __asm_proxy_KUNPCKDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KUNPCKDQ(v[0], v[1], v[2]) + } else { + panic("instruction KUNPCKDQ takes exactly 3 operands") + } +} + +func __asm_proxy_KUNPCKWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KUNPCKWD(v[0], v[1], v[2]) + } else { + panic("instruction KUNPCKWD takes exactly 3 operands") + } +} + +func __asm_proxy_KXNORB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KXNORB(v[0], v[1], v[2]) + } else { + panic("instruction KXNORB takes exactly 3 operands") + } +} + +func __asm_proxy_KXNORD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KXNORD(v[0], v[1], v[2]) + } else { + panic("instruction KXNORD takes exactly 3 operands") + } +} + +func __asm_proxy_KXNORQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KXNORQ(v[0], v[1], v[2]) + } else { + panic("instruction KXNORQ takes exactly 3 operands") + } +} + +func __asm_proxy_KXNORW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KXNORW(v[0], v[1], v[2]) + } else { + panic("instruction KXNORW takes exactly 3 operands") + } +} + +func __asm_proxy_KXORB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KXORB(v[0], v[1], v[2]) + } else { + panic("instruction KXORB takes exactly 3 operands") + } +} + +func __asm_proxy_KXORD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KXORD(v[0], v[1], v[2]) + } else { + panic("instruction KXORD takes exactly 3 operands") + } +} + +func __asm_proxy_KXORQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KXORQ(v[0], v[1], v[2]) + } else { + panic("instruction KXORQ takes exactly 3 operands") + } +} + +func __asm_proxy_KXORW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.KXORW(v[0], v[1], v[2]) + } else { + panic("instruction KXORW takes exactly 3 operands") + } +} + +func __asm_proxy_LDDQU__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.LDDQU(v[0], v[1]) + } else { + panic("instruction LDDQU takes exactly 2 operands") + } +} + +func __asm_proxy_LDMXCSR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.LDMXCSR(v[0]) + } else { + panic("instruction LDMXCSR takes exactly 1 operand") + } +} + +func __asm_proxy_LEAL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.LEAL(v[0], v[1]) + } else { + panic("instruction LEAL takes exactly 2 operands") + } +} + +func __asm_proxy_LEAQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.LEAQ(v[0], v[1]) + } else { + panic("instruction LEAQ takes exactly 2 operands") + } +} + +func __asm_proxy_LEAW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.LEAW(v[0], v[1]) + } else { + panic("instruction LEAW takes exactly 2 operands") + } +} + +func __asm_proxy_LFENCE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.LFENCE() + } else { + panic("instruction LFENCE takes no operands") + } +} + +func __asm_proxy_LZCNTL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.LZCNTL(v[0], v[1]) + } else { + panic("instruction LZCNTL takes exactly 2 operands") + } +} + +func __asm_proxy_LZCNTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.LZCNTQ(v[0], v[1]) + } else { + panic("instruction LZCNTQ takes exactly 2 operands") + } +} + +func __asm_proxy_LZCNTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.LZCNTW(v[0], v[1]) + } else { + panic("instruction LZCNTW takes exactly 2 operands") + } +} + +func __asm_proxy_MASKMOVDQU__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MASKMOVDQU(v[0], v[1]) + } else { + panic("instruction MASKMOVDQU takes exactly 2 operands") + } +} + +func __asm_proxy_MASKMOVQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MASKMOVQ(v[0], v[1]) + } else { + panic("instruction MASKMOVQ takes exactly 2 operands") + } +} + +func __asm_proxy_MAXPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MAXPD(v[0], v[1]) + } else { + panic("instruction MAXPD takes exactly 2 operands") + } +} + +func __asm_proxy_MAXPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MAXPS(v[0], v[1]) + } else { + panic("instruction MAXPS takes exactly 2 operands") + } +} + +func __asm_proxy_MAXSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MAXSD(v[0], v[1]) + } else { + panic("instruction MAXSD takes exactly 2 operands") + } +} + +func __asm_proxy_MAXSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MAXSS(v[0], v[1]) + } else { + panic("instruction MAXSS takes exactly 2 operands") + } +} + +func __asm_proxy_MFENCE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.MFENCE() + } else { + panic("instruction MFENCE takes no operands") + } +} + +func __asm_proxy_MINPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MINPD(v[0], v[1]) + } else { + panic("instruction MINPD takes exactly 2 operands") + } +} + +func __asm_proxy_MINPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MINPS(v[0], v[1]) + } else { + panic("instruction MINPS takes exactly 2 operands") + } +} + +func __asm_proxy_MINSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MINSD(v[0], v[1]) + } else { + panic("instruction MINSD takes exactly 2 operands") + } +} + +func __asm_proxy_MINSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MINSS(v[0], v[1]) + } else { + panic("instruction MINSS takes exactly 2 operands") + } +} + +func __asm_proxy_MONITOR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.MONITOR() + } else { + panic("instruction MONITOR takes no operands") + } +} + +func __asm_proxy_MONITORX__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.MONITORX() + } else { + panic("instruction MONITORX takes no operands") + } +} + +func __asm_proxy_MOVAPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVAPD(v[0], v[1]) + } else { + panic("instruction MOVAPD takes exactly 2 operands") + } +} + +func __asm_proxy_MOVAPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVAPS(v[0], v[1]) + } else { + panic("instruction MOVAPS takes exactly 2 operands") + } +} + +func __asm_proxy_MOVB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVB(v[0], v[1]) + } else { + panic("instruction MOVB takes exactly 2 operands") + } +} + +func __asm_proxy_MOVBEL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVBEL(v[0], v[1]) + } else { + panic("instruction MOVBEL takes exactly 2 operands") + } +} + +func __asm_proxy_MOVBEQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVBEQ(v[0], v[1]) + } else { + panic("instruction MOVBEQ takes exactly 2 operands") + } +} + +func __asm_proxy_MOVBEW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVBEW(v[0], v[1]) + } else { + panic("instruction MOVBEW takes exactly 2 operands") + } +} + +func __asm_proxy_MOVD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVD(v[0], v[1]) + } else { + panic("instruction MOVD takes exactly 2 operands") + } +} + +func __asm_proxy_MOVDDUP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVDDUP(v[0], v[1]) + } else { + panic("instruction MOVDDUP takes exactly 2 operands") + } +} + +func __asm_proxy_MOVDQ2Q__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVDQ2Q(v[0], v[1]) + } else { + panic("instruction MOVDQ2Q takes exactly 2 operands") + } +} + +func __asm_proxy_MOVDQA__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVDQA(v[0], v[1]) + } else { + panic("instruction MOVDQA takes exactly 2 operands") + } +} + +func __asm_proxy_MOVDQU__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVDQU(v[0], v[1]) + } else { + panic("instruction MOVDQU takes exactly 2 operands") + } +} + +func __asm_proxy_MOVHLPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVHLPS(v[0], v[1]) + } else { + panic("instruction MOVHLPS takes exactly 2 operands") + } +} + +func __asm_proxy_MOVHPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVHPD(v[0], v[1]) + } else { + panic("instruction MOVHPD takes exactly 2 operands") + } +} + +func __asm_proxy_MOVHPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVHPS(v[0], v[1]) + } else { + panic("instruction MOVHPS takes exactly 2 operands") + } +} + +func __asm_proxy_MOVL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVL(v[0], v[1]) + } else { + panic("instruction MOVL takes exactly 2 operands") + } +} + +func __asm_proxy_MOVLHPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVLHPS(v[0], v[1]) + } else { + panic("instruction MOVLHPS takes exactly 2 operands") + } +} + +func __asm_proxy_MOVLPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVLPD(v[0], v[1]) + } else { + panic("instruction MOVLPD takes exactly 2 operands") + } +} + +func __asm_proxy_MOVLPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVLPS(v[0], v[1]) + } else { + panic("instruction MOVLPS takes exactly 2 operands") + } +} + +func __asm_proxy_MOVMSKPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVMSKPD(v[0], v[1]) + } else { + panic("instruction MOVMSKPD takes exactly 2 operands") + } +} + +func __asm_proxy_MOVMSKPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVMSKPS(v[0], v[1]) + } else { + panic("instruction MOVMSKPS takes exactly 2 operands") + } +} + +func __asm_proxy_MOVNTDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVNTDQ(v[0], v[1]) + } else { + panic("instruction MOVNTDQ takes exactly 2 operands") + } +} + +func __asm_proxy_MOVNTDQA__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVNTDQA(v[0], v[1]) + } else { + panic("instruction MOVNTDQA takes exactly 2 operands") + } +} + +func __asm_proxy_MOVNTIL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVNTIL(v[0], v[1]) + } else { + panic("instruction MOVNTIL takes exactly 2 operands") + } +} + +func __asm_proxy_MOVNTIQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVNTIQ(v[0], v[1]) + } else { + panic("instruction MOVNTIQ takes exactly 2 operands") + } +} + +func __asm_proxy_MOVNTPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVNTPD(v[0], v[1]) + } else { + panic("instruction MOVNTPD takes exactly 2 operands") + } +} + +func __asm_proxy_MOVNTPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVNTPS(v[0], v[1]) + } else { + panic("instruction MOVNTPS takes exactly 2 operands") + } +} + +func __asm_proxy_MOVNTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVNTQ(v[0], v[1]) + } else { + panic("instruction MOVNTQ takes exactly 2 operands") + } +} + +func __asm_proxy_MOVNTSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVNTSD(v[0], v[1]) + } else { + panic("instruction MOVNTSD takes exactly 2 operands") + } +} + +func __asm_proxy_MOVNTSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVNTSS(v[0], v[1]) + } else { + panic("instruction MOVNTSS takes exactly 2 operands") + } +} + +func __asm_proxy_MOVQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVQ(v[0], v[1]) + } else { + panic("instruction MOVQ takes exactly 2 operands") + } +} + +func __asm_proxy_MOVQ2DQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVQ2DQ(v[0], v[1]) + } else { + panic("instruction MOVQ2DQ takes exactly 2 operands") + } +} + +func __asm_proxy_MOVSBL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVSBL(v[0], v[1]) + } else { + panic("instruction MOVSBL takes exactly 2 operands") + } +} + +func __asm_proxy_MOVSBQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVSBQ(v[0], v[1]) + } else { + panic("instruction MOVSBQ takes exactly 2 operands") + } +} + +func __asm_proxy_MOVSBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVSBW(v[0], v[1]) + } else { + panic("instruction MOVSBW takes exactly 2 operands") + } +} + +func __asm_proxy_MOVSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVSD(v[0], v[1]) + } else { + panic("instruction MOVSD takes exactly 2 operands") + } +} + +func __asm_proxy_MOVSHDUP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVSHDUP(v[0], v[1]) + } else { + panic("instruction MOVSHDUP takes exactly 2 operands") + } +} + +func __asm_proxy_MOVSLDUP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVSLDUP(v[0], v[1]) + } else { + panic("instruction MOVSLDUP takes exactly 2 operands") + } +} + +func __asm_proxy_MOVSLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVSLQ(v[0], v[1]) + } else { + panic("instruction MOVSLQ takes exactly 2 operands") + } +} + +func __asm_proxy_MOVSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVSS(v[0], v[1]) + } else { + panic("instruction MOVSS takes exactly 2 operands") + } +} + +func __asm_proxy_MOVSWL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVSWL(v[0], v[1]) + } else { + panic("instruction MOVSWL takes exactly 2 operands") + } +} + +func __asm_proxy_MOVSWQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVSWQ(v[0], v[1]) + } else { + panic("instruction MOVSWQ takes exactly 2 operands") + } +} + +func __asm_proxy_MOVUPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVUPD(v[0], v[1]) + } else { + panic("instruction MOVUPD takes exactly 2 operands") + } +} + +func __asm_proxy_MOVUPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVUPS(v[0], v[1]) + } else { + panic("instruction MOVUPS takes exactly 2 operands") + } +} + +func __asm_proxy_MOVW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVW(v[0], v[1]) + } else { + panic("instruction MOVW takes exactly 2 operands") + } +} + +func __asm_proxy_MOVZBL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVZBL(v[0], v[1]) + } else { + panic("instruction MOVZBL takes exactly 2 operands") + } +} + +func __asm_proxy_MOVZBQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVZBQ(v[0], v[1]) + } else { + panic("instruction MOVZBQ takes exactly 2 operands") + } +} + +func __asm_proxy_MOVZBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVZBW(v[0], v[1]) + } else { + panic("instruction MOVZBW takes exactly 2 operands") + } +} + +func __asm_proxy_MOVZWL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVZWL(v[0], v[1]) + } else { + panic("instruction MOVZWL takes exactly 2 operands") + } +} + +func __asm_proxy_MOVZWQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MOVZWQ(v[0], v[1]) + } else { + panic("instruction MOVZWQ takes exactly 2 operands") + } +} + +func __asm_proxy_MPSADBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.MPSADBW(v[0], v[1], v[2]) + } else { + panic("instruction MPSADBW takes exactly 3 operands") + } +} + +func __asm_proxy_MULB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.MULB(v[0]) + } else { + panic("instruction MULB takes exactly 1 operand") + } +} + +func __asm_proxy_MULL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.MULL(v[0]) + } else { + panic("instruction MULL takes exactly 1 operand") + } +} + +func __asm_proxy_MULPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MULPD(v[0], v[1]) + } else { + panic("instruction MULPD takes exactly 2 operands") + } +} + +func __asm_proxy_MULPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MULPS(v[0], v[1]) + } else { + panic("instruction MULPS takes exactly 2 operands") + } +} + +func __asm_proxy_MULQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.MULQ(v[0]) + } else { + panic("instruction MULQ takes exactly 1 operand") + } +} + +func __asm_proxy_MULSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MULSD(v[0], v[1]) + } else { + panic("instruction MULSD takes exactly 2 operands") + } +} + +func __asm_proxy_MULSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.MULSS(v[0], v[1]) + } else { + panic("instruction MULSS takes exactly 2 operands") + } +} + +func __asm_proxy_MULW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.MULW(v[0]) + } else { + panic("instruction MULW takes exactly 1 operand") + } +} + +func __asm_proxy_MULXL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.MULXL(v[0], v[1], v[2]) + } else { + panic("instruction MULXL takes exactly 3 operands") + } +} + +func __asm_proxy_MULXQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.MULXQ(v[0], v[1], v[2]) + } else { + panic("instruction MULXQ takes exactly 3 operands") + } +} + +func __asm_proxy_MWAIT__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.MWAIT() + } else { + panic("instruction MWAIT takes no operands") + } +} + +func __asm_proxy_MWAITX__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.MWAITX() + } else { + panic("instruction MWAITX takes no operands") + } +} + +func __asm_proxy_NEGB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.NEGB(v[0]) + } else { + panic("instruction NEGB takes exactly 1 operand") + } +} + +func __asm_proxy_NEGL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.NEGL(v[0]) + } else { + panic("instruction NEGL takes exactly 1 operand") + } +} + +func __asm_proxy_NEGQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.NEGQ(v[0]) + } else { + panic("instruction NEGQ takes exactly 1 operand") + } +} + +func __asm_proxy_NEGW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.NEGW(v[0]) + } else { + panic("instruction NEGW takes exactly 1 operand") + } +} + +func __asm_proxy_NOP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.NOP() + } else { + panic("instruction NOP takes no operands") + } +} + +func __asm_proxy_NOTB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.NOTB(v[0]) + } else { + panic("instruction NOTB takes exactly 1 operand") + } +} + +func __asm_proxy_NOTL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.NOTL(v[0]) + } else { + panic("instruction NOTL takes exactly 1 operand") + } +} + +func __asm_proxy_NOTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.NOTQ(v[0]) + } else { + panic("instruction NOTQ takes exactly 1 operand") + } +} + +func __asm_proxy_NOTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.NOTW(v[0]) + } else { + panic("instruction NOTW takes exactly 1 operand") + } +} + +func __asm_proxy_ORB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ORB(v[0], v[1]) + } else { + panic("instruction ORB takes exactly 2 operands") + } +} + +func __asm_proxy_ORL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ORL(v[0], v[1]) + } else { + panic("instruction ORL takes exactly 2 operands") + } +} + +func __asm_proxy_ORPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ORPD(v[0], v[1]) + } else { + panic("instruction ORPD takes exactly 2 operands") + } +} + +func __asm_proxy_ORPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ORPS(v[0], v[1]) + } else { + panic("instruction ORPS takes exactly 2 operands") + } +} + +func __asm_proxy_ORQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ORQ(v[0], v[1]) + } else { + panic("instruction ORQ takes exactly 2 operands") + } +} + +func __asm_proxy_ORW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ORW(v[0], v[1]) + } else { + panic("instruction ORW takes exactly 2 operands") + } +} + +func __asm_proxy_PABSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PABSB(v[0], v[1]) + } else { + panic("instruction PABSB takes exactly 2 operands") + } +} + +func __asm_proxy_PABSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PABSD(v[0], v[1]) + } else { + panic("instruction PABSD takes exactly 2 operands") + } +} + +func __asm_proxy_PABSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PABSW(v[0], v[1]) + } else { + panic("instruction PABSW takes exactly 2 operands") + } +} + +func __asm_proxy_PACKSSDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PACKSSDW(v[0], v[1]) + } else { + panic("instruction PACKSSDW takes exactly 2 operands") + } +} + +func __asm_proxy_PACKSSWB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PACKSSWB(v[0], v[1]) + } else { + panic("instruction PACKSSWB takes exactly 2 operands") + } +} + +func __asm_proxy_PACKUSDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PACKUSDW(v[0], v[1]) + } else { + panic("instruction PACKUSDW takes exactly 2 operands") + } +} + +func __asm_proxy_PACKUSWB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PACKUSWB(v[0], v[1]) + } else { + panic("instruction PACKUSWB takes exactly 2 operands") + } +} + +func __asm_proxy_PADDB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PADDB(v[0], v[1]) + } else { + panic("instruction PADDB takes exactly 2 operands") + } +} + +func __asm_proxy_PADDD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PADDD(v[0], v[1]) + } else { + panic("instruction PADDD takes exactly 2 operands") + } +} + +func __asm_proxy_PADDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PADDQ(v[0], v[1]) + } else { + panic("instruction PADDQ takes exactly 2 operands") + } +} + +func __asm_proxy_PADDSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PADDSB(v[0], v[1]) + } else { + panic("instruction PADDSB takes exactly 2 operands") + } +} + +func __asm_proxy_PADDSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PADDSW(v[0], v[1]) + } else { + panic("instruction PADDSW takes exactly 2 operands") + } +} + +func __asm_proxy_PADDUSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PADDUSB(v[0], v[1]) + } else { + panic("instruction PADDUSB takes exactly 2 operands") + } +} + +func __asm_proxy_PADDUSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PADDUSW(v[0], v[1]) + } else { + panic("instruction PADDUSW takes exactly 2 operands") + } +} + +func __asm_proxy_PADDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PADDW(v[0], v[1]) + } else { + panic("instruction PADDW takes exactly 2 operands") + } +} + +func __asm_proxy_PALIGNR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PALIGNR(v[0], v[1], v[2]) + } else { + panic("instruction PALIGNR takes exactly 3 operands") + } +} + +func __asm_proxy_PAND__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PAND(v[0], v[1]) + } else { + panic("instruction PAND takes exactly 2 operands") + } +} + +func __asm_proxy_PANDN__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PANDN(v[0], v[1]) + } else { + panic("instruction PANDN takes exactly 2 operands") + } +} + +func __asm_proxy_PAUSE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.PAUSE() + } else { + panic("instruction PAUSE takes no operands") + } +} + +func __asm_proxy_PAVGB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PAVGB(v[0], v[1]) + } else { + panic("instruction PAVGB takes exactly 2 operands") + } +} + +func __asm_proxy_PAVGUSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PAVGUSB(v[0], v[1]) + } else { + panic("instruction PAVGUSB takes exactly 2 operands") + } +} + +func __asm_proxy_PAVGW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PAVGW(v[0], v[1]) + } else { + panic("instruction PAVGW takes exactly 2 operands") + } +} + +func __asm_proxy_PBLENDVB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PBLENDVB(v[0], v[1], v[2]) + } else { + panic("instruction PBLENDVB takes exactly 3 operands") + } +} + +func __asm_proxy_PBLENDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PBLENDW(v[0], v[1], v[2]) + } else { + panic("instruction PBLENDW takes exactly 3 operands") + } +} + +func __asm_proxy_PCLMULQDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PCLMULQDQ(v[0], v[1], v[2]) + } else { + panic("instruction PCLMULQDQ takes exactly 3 operands") + } +} + +func __asm_proxy_PCMPEQB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PCMPEQB(v[0], v[1]) + } else { + panic("instruction PCMPEQB takes exactly 2 operands") + } +} + +func __asm_proxy_PCMPEQD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PCMPEQD(v[0], v[1]) + } else { + panic("instruction PCMPEQD takes exactly 2 operands") + } +} + +func __asm_proxy_PCMPEQQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PCMPEQQ(v[0], v[1]) + } else { + panic("instruction PCMPEQQ takes exactly 2 operands") + } +} + +func __asm_proxy_PCMPEQW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PCMPEQW(v[0], v[1]) + } else { + panic("instruction PCMPEQW takes exactly 2 operands") + } +} + +func __asm_proxy_PCMPESTRI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PCMPESTRI(v[0], v[1], v[2]) + } else { + panic("instruction PCMPESTRI takes exactly 3 operands") + } +} + +func __asm_proxy_PCMPESTRM__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PCMPESTRM(v[0], v[1], v[2]) + } else { + panic("instruction PCMPESTRM takes exactly 3 operands") + } +} + +func __asm_proxy_PCMPGTB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PCMPGTB(v[0], v[1]) + } else { + panic("instruction PCMPGTB takes exactly 2 operands") + } +} + +func __asm_proxy_PCMPGTD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PCMPGTD(v[0], v[1]) + } else { + panic("instruction PCMPGTD takes exactly 2 operands") + } +} + +func __asm_proxy_PCMPGTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PCMPGTQ(v[0], v[1]) + } else { + panic("instruction PCMPGTQ takes exactly 2 operands") + } +} + +func __asm_proxy_PCMPGTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PCMPGTW(v[0], v[1]) + } else { + panic("instruction PCMPGTW takes exactly 2 operands") + } +} + +func __asm_proxy_PCMPISTRI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PCMPISTRI(v[0], v[1], v[2]) + } else { + panic("instruction PCMPISTRI takes exactly 3 operands") + } +} + +func __asm_proxy_PCMPISTRM__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PCMPISTRM(v[0], v[1], v[2]) + } else { + panic("instruction PCMPISTRM takes exactly 3 operands") + } +} + +func __asm_proxy_PDEP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PDEP(v[0], v[1], v[2]) + } else { + panic("instruction PDEP takes exactly 3 operands") + } +} + +func __asm_proxy_PEXT__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PEXT(v[0], v[1], v[2]) + } else { + panic("instruction PEXT takes exactly 3 operands") + } +} + +func __asm_proxy_PEXTRB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PEXTRB(v[0], v[1], v[2]) + } else { + panic("instruction PEXTRB takes exactly 3 operands") + } +} + +func __asm_proxy_PEXTRD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PEXTRD(v[0], v[1], v[2]) + } else { + panic("instruction PEXTRD takes exactly 3 operands") + } +} + +func __asm_proxy_PEXTRQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PEXTRQ(v[0], v[1], v[2]) + } else { + panic("instruction PEXTRQ takes exactly 3 operands") + } +} + +func __asm_proxy_PEXTRW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PEXTRW(v[0], v[1], v[2]) + } else { + panic("instruction PEXTRW takes exactly 3 operands") + } +} + +func __asm_proxy_PF2ID__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PF2ID(v[0], v[1]) + } else { + panic("instruction PF2ID takes exactly 2 operands") + } +} + +func __asm_proxy_PF2IW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PF2IW(v[0], v[1]) + } else { + panic("instruction PF2IW takes exactly 2 operands") + } +} + +func __asm_proxy_PFACC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFACC(v[0], v[1]) + } else { + panic("instruction PFACC takes exactly 2 operands") + } +} + +func __asm_proxy_PFADD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFADD(v[0], v[1]) + } else { + panic("instruction PFADD takes exactly 2 operands") + } +} + +func __asm_proxy_PFCMPEQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFCMPEQ(v[0], v[1]) + } else { + panic("instruction PFCMPEQ takes exactly 2 operands") + } +} + +func __asm_proxy_PFCMPGE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFCMPGE(v[0], v[1]) + } else { + panic("instruction PFCMPGE takes exactly 2 operands") + } +} + +func __asm_proxy_PFCMPGT__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFCMPGT(v[0], v[1]) + } else { + panic("instruction PFCMPGT takes exactly 2 operands") + } +} + +func __asm_proxy_PFMAX__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFMAX(v[0], v[1]) + } else { + panic("instruction PFMAX takes exactly 2 operands") + } +} + +func __asm_proxy_PFMIN__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFMIN(v[0], v[1]) + } else { + panic("instruction PFMIN takes exactly 2 operands") + } +} + +func __asm_proxy_PFMUL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFMUL(v[0], v[1]) + } else { + panic("instruction PFMUL takes exactly 2 operands") + } +} + +func __asm_proxy_PFNACC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFNACC(v[0], v[1]) + } else { + panic("instruction PFNACC takes exactly 2 operands") + } +} + +func __asm_proxy_PFPNACC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFPNACC(v[0], v[1]) + } else { + panic("instruction PFPNACC takes exactly 2 operands") + } +} + +func __asm_proxy_PFRCP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFRCP(v[0], v[1]) + } else { + panic("instruction PFRCP takes exactly 2 operands") + } +} + +func __asm_proxy_PFRCPIT1__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFRCPIT1(v[0], v[1]) + } else { + panic("instruction PFRCPIT1 takes exactly 2 operands") + } +} + +func __asm_proxy_PFRCPIT2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFRCPIT2(v[0], v[1]) + } else { + panic("instruction PFRCPIT2 takes exactly 2 operands") + } +} + +func __asm_proxy_PFRSQIT1__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFRSQIT1(v[0], v[1]) + } else { + panic("instruction PFRSQIT1 takes exactly 2 operands") + } +} + +func __asm_proxy_PFRSQRT__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFRSQRT(v[0], v[1]) + } else { + panic("instruction PFRSQRT takes exactly 2 operands") + } +} + +func __asm_proxy_PFSUB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFSUB(v[0], v[1]) + } else { + panic("instruction PFSUB takes exactly 2 operands") + } +} + +func __asm_proxy_PFSUBR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PFSUBR(v[0], v[1]) + } else { + panic("instruction PFSUBR takes exactly 2 operands") + } +} + +func __asm_proxy_PHADDD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PHADDD(v[0], v[1]) + } else { + panic("instruction PHADDD takes exactly 2 operands") + } +} + +func __asm_proxy_PHADDSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PHADDSW(v[0], v[1]) + } else { + panic("instruction PHADDSW takes exactly 2 operands") + } +} + +func __asm_proxy_PHADDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PHADDW(v[0], v[1]) + } else { + panic("instruction PHADDW takes exactly 2 operands") + } +} + +func __asm_proxy_PHMINPOSUW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PHMINPOSUW(v[0], v[1]) + } else { + panic("instruction PHMINPOSUW takes exactly 2 operands") + } +} + +func __asm_proxy_PHSUBD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PHSUBD(v[0], v[1]) + } else { + panic("instruction PHSUBD takes exactly 2 operands") + } +} + +func __asm_proxy_PHSUBSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PHSUBSW(v[0], v[1]) + } else { + panic("instruction PHSUBSW takes exactly 2 operands") + } +} + +func __asm_proxy_PHSUBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PHSUBW(v[0], v[1]) + } else { + panic("instruction PHSUBW takes exactly 2 operands") + } +} + +func __asm_proxy_PI2FD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PI2FD(v[0], v[1]) + } else { + panic("instruction PI2FD takes exactly 2 operands") + } +} + +func __asm_proxy_PI2FW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PI2FW(v[0], v[1]) + } else { + panic("instruction PI2FW takes exactly 2 operands") + } +} + +func __asm_proxy_PINSRB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PINSRB(v[0], v[1], v[2]) + } else { + panic("instruction PINSRB takes exactly 3 operands") + } +} + +func __asm_proxy_PINSRD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PINSRD(v[0], v[1], v[2]) + } else { + panic("instruction PINSRD takes exactly 3 operands") + } +} + +func __asm_proxy_PINSRQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PINSRQ(v[0], v[1], v[2]) + } else { + panic("instruction PINSRQ takes exactly 3 operands") + } +} + +func __asm_proxy_PINSRW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PINSRW(v[0], v[1], v[2]) + } else { + panic("instruction PINSRW takes exactly 3 operands") + } +} + +func __asm_proxy_PMADDUBSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMADDUBSW(v[0], v[1]) + } else { + panic("instruction PMADDUBSW takes exactly 2 operands") + } +} + +func __asm_proxy_PMADDWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMADDWD(v[0], v[1]) + } else { + panic("instruction PMADDWD takes exactly 2 operands") + } +} + +func __asm_proxy_PMAXSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMAXSB(v[0], v[1]) + } else { + panic("instruction PMAXSB takes exactly 2 operands") + } +} + +func __asm_proxy_PMAXSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMAXSD(v[0], v[1]) + } else { + panic("instruction PMAXSD takes exactly 2 operands") + } +} + +func __asm_proxy_PMAXSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMAXSW(v[0], v[1]) + } else { + panic("instruction PMAXSW takes exactly 2 operands") + } +} + +func __asm_proxy_PMAXUB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMAXUB(v[0], v[1]) + } else { + panic("instruction PMAXUB takes exactly 2 operands") + } +} + +func __asm_proxy_PMAXUD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMAXUD(v[0], v[1]) + } else { + panic("instruction PMAXUD takes exactly 2 operands") + } +} + +func __asm_proxy_PMAXUW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMAXUW(v[0], v[1]) + } else { + panic("instruction PMAXUW takes exactly 2 operands") + } +} + +func __asm_proxy_PMINSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMINSB(v[0], v[1]) + } else { + panic("instruction PMINSB takes exactly 2 operands") + } +} + +func __asm_proxy_PMINSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMINSD(v[0], v[1]) + } else { + panic("instruction PMINSD takes exactly 2 operands") + } +} + +func __asm_proxy_PMINSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMINSW(v[0], v[1]) + } else { + panic("instruction PMINSW takes exactly 2 operands") + } +} + +func __asm_proxy_PMINUB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMINUB(v[0], v[1]) + } else { + panic("instruction PMINUB takes exactly 2 operands") + } +} + +func __asm_proxy_PMINUD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMINUD(v[0], v[1]) + } else { + panic("instruction PMINUD takes exactly 2 operands") + } +} + +func __asm_proxy_PMINUW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMINUW(v[0], v[1]) + } else { + panic("instruction PMINUW takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVMSKB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVMSKB(v[0], v[1]) + } else { + panic("instruction PMOVMSKB takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVSXBD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVSXBD(v[0], v[1]) + } else { + panic("instruction PMOVSXBD takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVSXBQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVSXBQ(v[0], v[1]) + } else { + panic("instruction PMOVSXBQ takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVSXBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVSXBW(v[0], v[1]) + } else { + panic("instruction PMOVSXBW takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVSXDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVSXDQ(v[0], v[1]) + } else { + panic("instruction PMOVSXDQ takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVSXWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVSXWD(v[0], v[1]) + } else { + panic("instruction PMOVSXWD takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVSXWQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVSXWQ(v[0], v[1]) + } else { + panic("instruction PMOVSXWQ takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVZXBD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVZXBD(v[0], v[1]) + } else { + panic("instruction PMOVZXBD takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVZXBQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVZXBQ(v[0], v[1]) + } else { + panic("instruction PMOVZXBQ takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVZXBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVZXBW(v[0], v[1]) + } else { + panic("instruction PMOVZXBW takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVZXDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVZXDQ(v[0], v[1]) + } else { + panic("instruction PMOVZXDQ takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVZXWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVZXWD(v[0], v[1]) + } else { + panic("instruction PMOVZXWD takes exactly 2 operands") + } +} + +func __asm_proxy_PMOVZXWQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMOVZXWQ(v[0], v[1]) + } else { + panic("instruction PMOVZXWQ takes exactly 2 operands") + } +} + +func __asm_proxy_PMULDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMULDQ(v[0], v[1]) + } else { + panic("instruction PMULDQ takes exactly 2 operands") + } +} + +func __asm_proxy_PMULHRSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMULHRSW(v[0], v[1]) + } else { + panic("instruction PMULHRSW takes exactly 2 operands") + } +} + +func __asm_proxy_PMULHRW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMULHRW(v[0], v[1]) + } else { + panic("instruction PMULHRW takes exactly 2 operands") + } +} + +func __asm_proxy_PMULHUW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMULHUW(v[0], v[1]) + } else { + panic("instruction PMULHUW takes exactly 2 operands") + } +} + +func __asm_proxy_PMULHW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMULHW(v[0], v[1]) + } else { + panic("instruction PMULHW takes exactly 2 operands") + } +} + +func __asm_proxy_PMULLD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMULLD(v[0], v[1]) + } else { + panic("instruction PMULLD takes exactly 2 operands") + } +} + +func __asm_proxy_PMULLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMULLW(v[0], v[1]) + } else { + panic("instruction PMULLW takes exactly 2 operands") + } +} + +func __asm_proxy_PMULUDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PMULUDQ(v[0], v[1]) + } else { + panic("instruction PMULUDQ takes exactly 2 operands") + } +} + +func __asm_proxy_POPCNTL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.POPCNTL(v[0], v[1]) + } else { + panic("instruction POPCNTL takes exactly 2 operands") + } +} + +func __asm_proxy_POPCNTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.POPCNTQ(v[0], v[1]) + } else { + panic("instruction POPCNTQ takes exactly 2 operands") + } +} + +func __asm_proxy_POPCNTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.POPCNTW(v[0], v[1]) + } else { + panic("instruction POPCNTW takes exactly 2 operands") + } +} + +func __asm_proxy_POPQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.POPQ(v[0]) + } else { + panic("instruction POPQ takes exactly 1 operand") + } +} + +func __asm_proxy_POPW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.POPW(v[0]) + } else { + panic("instruction POPW takes exactly 1 operand") + } +} + +func __asm_proxy_POR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.POR(v[0], v[1]) + } else { + panic("instruction POR takes exactly 2 operands") + } +} + +func __asm_proxy_PREFETCH__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.PREFETCH(v[0]) + } else { + panic("instruction PREFETCH takes exactly 1 operand") + } +} + +func __asm_proxy_PREFETCHNTA__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.PREFETCHNTA(v[0]) + } else { + panic("instruction PREFETCHNTA takes exactly 1 operand") + } +} + +func __asm_proxy_PREFETCHT0__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.PREFETCHT0(v[0]) + } else { + panic("instruction PREFETCHT0 takes exactly 1 operand") + } +} + +func __asm_proxy_PREFETCHT1__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.PREFETCHT1(v[0]) + } else { + panic("instruction PREFETCHT1 takes exactly 1 operand") + } +} + +func __asm_proxy_PREFETCHT2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.PREFETCHT2(v[0]) + } else { + panic("instruction PREFETCHT2 takes exactly 1 operand") + } +} + +func __asm_proxy_PREFETCHW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.PREFETCHW(v[0]) + } else { + panic("instruction PREFETCHW takes exactly 1 operand") + } +} + +func __asm_proxy_PREFETCHWT1__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.PREFETCHWT1(v[0]) + } else { + panic("instruction PREFETCHWT1 takes exactly 1 operand") + } +} + +func __asm_proxy_PSADBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSADBW(v[0], v[1]) + } else { + panic("instruction PSADBW takes exactly 2 operands") + } +} + +func __asm_proxy_PSHUFB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSHUFB(v[0], v[1]) + } else { + panic("instruction PSHUFB takes exactly 2 operands") + } +} + +func __asm_proxy_PSHUFD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PSHUFD(v[0], v[1], v[2]) + } else { + panic("instruction PSHUFD takes exactly 3 operands") + } +} + +func __asm_proxy_PSHUFHW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PSHUFHW(v[0], v[1], v[2]) + } else { + panic("instruction PSHUFHW takes exactly 3 operands") + } +} + +func __asm_proxy_PSHUFLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PSHUFLW(v[0], v[1], v[2]) + } else { + panic("instruction PSHUFLW takes exactly 3 operands") + } +} + +func __asm_proxy_PSHUFW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.PSHUFW(v[0], v[1], v[2]) + } else { + panic("instruction PSHUFW takes exactly 3 operands") + } +} + +func __asm_proxy_PSIGNB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSIGNB(v[0], v[1]) + } else { + panic("instruction PSIGNB takes exactly 2 operands") + } +} + +func __asm_proxy_PSIGND__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSIGND(v[0], v[1]) + } else { + panic("instruction PSIGND takes exactly 2 operands") + } +} + +func __asm_proxy_PSIGNW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSIGNW(v[0], v[1]) + } else { + panic("instruction PSIGNW takes exactly 2 operands") + } +} + +func __asm_proxy_PSLLD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSLLD(v[0], v[1]) + } else { + panic("instruction PSLLD takes exactly 2 operands") + } +} + +func __asm_proxy_PSLLDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSLLDQ(v[0], v[1]) + } else { + panic("instruction PSLLDQ takes exactly 2 operands") + } +} + +func __asm_proxy_PSLLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSLLQ(v[0], v[1]) + } else { + panic("instruction PSLLQ takes exactly 2 operands") + } +} + +func __asm_proxy_PSLLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSLLW(v[0], v[1]) + } else { + panic("instruction PSLLW takes exactly 2 operands") + } +} + +func __asm_proxy_PSRAD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSRAD(v[0], v[1]) + } else { + panic("instruction PSRAD takes exactly 2 operands") + } +} + +func __asm_proxy_PSRAW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSRAW(v[0], v[1]) + } else { + panic("instruction PSRAW takes exactly 2 operands") + } +} + +func __asm_proxy_PSRLD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSRLD(v[0], v[1]) + } else { + panic("instruction PSRLD takes exactly 2 operands") + } +} + +func __asm_proxy_PSRLDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSRLDQ(v[0], v[1]) + } else { + panic("instruction PSRLDQ takes exactly 2 operands") + } +} + +func __asm_proxy_PSRLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSRLQ(v[0], v[1]) + } else { + panic("instruction PSRLQ takes exactly 2 operands") + } +} + +func __asm_proxy_PSRLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSRLW(v[0], v[1]) + } else { + panic("instruction PSRLW takes exactly 2 operands") + } +} + +func __asm_proxy_PSUBB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSUBB(v[0], v[1]) + } else { + panic("instruction PSUBB takes exactly 2 operands") + } +} + +func __asm_proxy_PSUBD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSUBD(v[0], v[1]) + } else { + panic("instruction PSUBD takes exactly 2 operands") + } +} + +func __asm_proxy_PSUBQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSUBQ(v[0], v[1]) + } else { + panic("instruction PSUBQ takes exactly 2 operands") + } +} + +func __asm_proxy_PSUBSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSUBSB(v[0], v[1]) + } else { + panic("instruction PSUBSB takes exactly 2 operands") + } +} + +func __asm_proxy_PSUBSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSUBSW(v[0], v[1]) + } else { + panic("instruction PSUBSW takes exactly 2 operands") + } +} + +func __asm_proxy_PSUBUSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSUBUSB(v[0], v[1]) + } else { + panic("instruction PSUBUSB takes exactly 2 operands") + } +} + +func __asm_proxy_PSUBUSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSUBUSW(v[0], v[1]) + } else { + panic("instruction PSUBUSW takes exactly 2 operands") + } +} + +func __asm_proxy_PSUBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSUBW(v[0], v[1]) + } else { + panic("instruction PSUBW takes exactly 2 operands") + } +} + +func __asm_proxy_PSWAPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PSWAPD(v[0], v[1]) + } else { + panic("instruction PSWAPD takes exactly 2 operands") + } +} + +func __asm_proxy_PTEST__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PTEST(v[0], v[1]) + } else { + panic("instruction PTEST takes exactly 2 operands") + } +} + +func __asm_proxy_PUNPCKHBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PUNPCKHBW(v[0], v[1]) + } else { + panic("instruction PUNPCKHBW takes exactly 2 operands") + } +} + +func __asm_proxy_PUNPCKHDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PUNPCKHDQ(v[0], v[1]) + } else { + panic("instruction PUNPCKHDQ takes exactly 2 operands") + } +} + +func __asm_proxy_PUNPCKHQDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PUNPCKHQDQ(v[0], v[1]) + } else { + panic("instruction PUNPCKHQDQ takes exactly 2 operands") + } +} + +func __asm_proxy_PUNPCKHWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PUNPCKHWD(v[0], v[1]) + } else { + panic("instruction PUNPCKHWD takes exactly 2 operands") + } +} + +func __asm_proxy_PUNPCKLBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PUNPCKLBW(v[0], v[1]) + } else { + panic("instruction PUNPCKLBW takes exactly 2 operands") + } +} + +func __asm_proxy_PUNPCKLDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PUNPCKLDQ(v[0], v[1]) + } else { + panic("instruction PUNPCKLDQ takes exactly 2 operands") + } +} + +func __asm_proxy_PUNPCKLQDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PUNPCKLQDQ(v[0], v[1]) + } else { + panic("instruction PUNPCKLQDQ takes exactly 2 operands") + } +} + +func __asm_proxy_PUNPCKLWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PUNPCKLWD(v[0], v[1]) + } else { + panic("instruction PUNPCKLWD takes exactly 2 operands") + } +} + +func __asm_proxy_PUSHQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.PUSHQ(v[0]) + } else { + panic("instruction PUSHQ takes exactly 1 operand") + } +} + +func __asm_proxy_PUSHW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.PUSHW(v[0]) + } else { + panic("instruction PUSHW takes exactly 1 operand") + } +} + +func __asm_proxy_PXOR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.PXOR(v[0], v[1]) + } else { + panic("instruction PXOR takes exactly 2 operands") + } +} + +func __asm_proxy_RCLB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RCLB(v[0], v[1]) + } else { + panic("instruction RCLB takes exactly 2 operands") + } +} + +func __asm_proxy_RCLL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RCLL(v[0], v[1]) + } else { + panic("instruction RCLL takes exactly 2 operands") + } +} + +func __asm_proxy_RCLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RCLQ(v[0], v[1]) + } else { + panic("instruction RCLQ takes exactly 2 operands") + } +} + +func __asm_proxy_RCLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RCLW(v[0], v[1]) + } else { + panic("instruction RCLW takes exactly 2 operands") + } +} + +func __asm_proxy_RCPPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RCPPS(v[0], v[1]) + } else { + panic("instruction RCPPS takes exactly 2 operands") + } +} + +func __asm_proxy_RCPSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RCPSS(v[0], v[1]) + } else { + panic("instruction RCPSS takes exactly 2 operands") + } +} + +func __asm_proxy_RCRB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RCRB(v[0], v[1]) + } else { + panic("instruction RCRB takes exactly 2 operands") + } +} + +func __asm_proxy_RCRL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RCRL(v[0], v[1]) + } else { + panic("instruction RCRL takes exactly 2 operands") + } +} + +func __asm_proxy_RCRQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RCRQ(v[0], v[1]) + } else { + panic("instruction RCRQ takes exactly 2 operands") + } +} + +func __asm_proxy_RCRW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RCRW(v[0], v[1]) + } else { + panic("instruction RCRW takes exactly 2 operands") + } +} + +func __asm_proxy_RDRAND__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.RDRAND(v[0]) + } else { + panic("instruction RDRAND takes exactly 1 operand") + } +} + +func __asm_proxy_RDSEED__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.RDSEED(v[0]) + } else { + panic("instruction RDSEED takes exactly 1 operand") + } +} + +func __asm_proxy_RDTSC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.RDTSC() + } else { + panic("instruction RDTSC takes no operands") + } +} + +func __asm_proxy_RDTSCP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.RDTSCP() + } else { + panic("instruction RDTSCP takes no operands") + } +} + +func __asm_proxy_RET__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 0 : return p.RET() + case 1 : return p.RET(v[0]) + default : panic("instruction RET takes 0 or 1 operands") + } +} + +func __asm_proxy_ROLB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ROLB(v[0], v[1]) + } else { + panic("instruction ROLB takes exactly 2 operands") + } +} + +func __asm_proxy_ROLL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ROLL(v[0], v[1]) + } else { + panic("instruction ROLL takes exactly 2 operands") + } +} + +func __asm_proxy_ROLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ROLQ(v[0], v[1]) + } else { + panic("instruction ROLQ takes exactly 2 operands") + } +} + +func __asm_proxy_ROLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.ROLW(v[0], v[1]) + } else { + panic("instruction ROLW takes exactly 2 operands") + } +} + +func __asm_proxy_RORB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RORB(v[0], v[1]) + } else { + panic("instruction RORB takes exactly 2 operands") + } +} + +func __asm_proxy_RORL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RORL(v[0], v[1]) + } else { + panic("instruction RORL takes exactly 2 operands") + } +} + +func __asm_proxy_RORQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RORQ(v[0], v[1]) + } else { + panic("instruction RORQ takes exactly 2 operands") + } +} + +func __asm_proxy_RORW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RORW(v[0], v[1]) + } else { + panic("instruction RORW takes exactly 2 operands") + } +} + +func __asm_proxy_RORXL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.RORXL(v[0], v[1], v[2]) + } else { + panic("instruction RORXL takes exactly 3 operands") + } +} + +func __asm_proxy_RORXQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.RORXQ(v[0], v[1], v[2]) + } else { + panic("instruction RORXQ takes exactly 3 operands") + } +} + +func __asm_proxy_ROUNDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.ROUNDPD(v[0], v[1], v[2]) + } else { + panic("instruction ROUNDPD takes exactly 3 operands") + } +} + +func __asm_proxy_ROUNDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.ROUNDPS(v[0], v[1], v[2]) + } else { + panic("instruction ROUNDPS takes exactly 3 operands") + } +} + +func __asm_proxy_ROUNDSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.ROUNDSD(v[0], v[1], v[2]) + } else { + panic("instruction ROUNDSD takes exactly 3 operands") + } +} + +func __asm_proxy_ROUNDSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.ROUNDSS(v[0], v[1], v[2]) + } else { + panic("instruction ROUNDSS takes exactly 3 operands") + } +} + +func __asm_proxy_RSQRTPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RSQRTPS(v[0], v[1]) + } else { + panic("instruction RSQRTPS takes exactly 2 operands") + } +} + +func __asm_proxy_RSQRTSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.RSQRTSS(v[0], v[1]) + } else { + panic("instruction RSQRTSS takes exactly 2 operands") + } +} + +func __asm_proxy_SALB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SALB(v[0], v[1]) + } else { + panic("instruction SALB takes exactly 2 operands") + } +} + +func __asm_proxy_SALL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SALL(v[0], v[1]) + } else { + panic("instruction SALL takes exactly 2 operands") + } +} + +func __asm_proxy_SALQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SALQ(v[0], v[1]) + } else { + panic("instruction SALQ takes exactly 2 operands") + } +} + +func __asm_proxy_SALW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SALW(v[0], v[1]) + } else { + panic("instruction SALW takes exactly 2 operands") + } +} + +func __asm_proxy_SARB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SARB(v[0], v[1]) + } else { + panic("instruction SARB takes exactly 2 operands") + } +} + +func __asm_proxy_SARL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SARL(v[0], v[1]) + } else { + panic("instruction SARL takes exactly 2 operands") + } +} + +func __asm_proxy_SARQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SARQ(v[0], v[1]) + } else { + panic("instruction SARQ takes exactly 2 operands") + } +} + +func __asm_proxy_SARW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SARW(v[0], v[1]) + } else { + panic("instruction SARW takes exactly 2 operands") + } +} + +func __asm_proxy_SARXL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SARXL(v[0], v[1], v[2]) + } else { + panic("instruction SARXL takes exactly 3 operands") + } +} + +func __asm_proxy_SARXQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SARXQ(v[0], v[1], v[2]) + } else { + panic("instruction SARXQ takes exactly 3 operands") + } +} + +func __asm_proxy_SBBB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SBBB(v[0], v[1]) + } else { + panic("instruction SBBB takes exactly 2 operands") + } +} + +func __asm_proxy_SBBL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SBBL(v[0], v[1]) + } else { + panic("instruction SBBL takes exactly 2 operands") + } +} + +func __asm_proxy_SBBQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SBBQ(v[0], v[1]) + } else { + panic("instruction SBBQ takes exactly 2 operands") + } +} + +func __asm_proxy_SBBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SBBW(v[0], v[1]) + } else { + panic("instruction SBBW takes exactly 2 operands") + } +} + +func __asm_proxy_SETA__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETA(v[0]) + } else { + panic("instruction SETA takes exactly 1 operand") + } +} + +func __asm_proxy_SETAE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETAE(v[0]) + } else { + panic("instruction SETAE takes exactly 1 operand") + } +} + +func __asm_proxy_SETB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETB(v[0]) + } else { + panic("instruction SETB takes exactly 1 operand") + } +} + +func __asm_proxy_SETBE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETBE(v[0]) + } else { + panic("instruction SETBE takes exactly 1 operand") + } +} + +func __asm_proxy_SETC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETC(v[0]) + } else { + panic("instruction SETC takes exactly 1 operand") + } +} + +func __asm_proxy_SETE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETE(v[0]) + } else { + panic("instruction SETE takes exactly 1 operand") + } +} + +func __asm_proxy_SETG__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETG(v[0]) + } else { + panic("instruction SETG takes exactly 1 operand") + } +} + +func __asm_proxy_SETGE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETGE(v[0]) + } else { + panic("instruction SETGE takes exactly 1 operand") + } +} + +func __asm_proxy_SETL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETL(v[0]) + } else { + panic("instruction SETL takes exactly 1 operand") + } +} + +func __asm_proxy_SETLE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETLE(v[0]) + } else { + panic("instruction SETLE takes exactly 1 operand") + } +} + +func __asm_proxy_SETNA__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNA(v[0]) + } else { + panic("instruction SETNA takes exactly 1 operand") + } +} + +func __asm_proxy_SETNAE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNAE(v[0]) + } else { + panic("instruction SETNAE takes exactly 1 operand") + } +} + +func __asm_proxy_SETNB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNB(v[0]) + } else { + panic("instruction SETNB takes exactly 1 operand") + } +} + +func __asm_proxy_SETNBE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNBE(v[0]) + } else { + panic("instruction SETNBE takes exactly 1 operand") + } +} + +func __asm_proxy_SETNC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNC(v[0]) + } else { + panic("instruction SETNC takes exactly 1 operand") + } +} + +func __asm_proxy_SETNE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNE(v[0]) + } else { + panic("instruction SETNE takes exactly 1 operand") + } +} + +func __asm_proxy_SETNG__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNG(v[0]) + } else { + panic("instruction SETNG takes exactly 1 operand") + } +} + +func __asm_proxy_SETNGE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNGE(v[0]) + } else { + panic("instruction SETNGE takes exactly 1 operand") + } +} + +func __asm_proxy_SETNL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNL(v[0]) + } else { + panic("instruction SETNL takes exactly 1 operand") + } +} + +func __asm_proxy_SETNLE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNLE(v[0]) + } else { + panic("instruction SETNLE takes exactly 1 operand") + } +} + +func __asm_proxy_SETNO__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNO(v[0]) + } else { + panic("instruction SETNO takes exactly 1 operand") + } +} + +func __asm_proxy_SETNP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNP(v[0]) + } else { + panic("instruction SETNP takes exactly 1 operand") + } +} + +func __asm_proxy_SETNS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNS(v[0]) + } else { + panic("instruction SETNS takes exactly 1 operand") + } +} + +func __asm_proxy_SETNZ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETNZ(v[0]) + } else { + panic("instruction SETNZ takes exactly 1 operand") + } +} + +func __asm_proxy_SETO__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETO(v[0]) + } else { + panic("instruction SETO takes exactly 1 operand") + } +} + +func __asm_proxy_SETP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETP(v[0]) + } else { + panic("instruction SETP takes exactly 1 operand") + } +} + +func __asm_proxy_SETPE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETPE(v[0]) + } else { + panic("instruction SETPE takes exactly 1 operand") + } +} + +func __asm_proxy_SETPO__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETPO(v[0]) + } else { + panic("instruction SETPO takes exactly 1 operand") + } +} + +func __asm_proxy_SETS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETS(v[0]) + } else { + panic("instruction SETS takes exactly 1 operand") + } +} + +func __asm_proxy_SETZ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.SETZ(v[0]) + } else { + panic("instruction SETZ takes exactly 1 operand") + } +} + +func __asm_proxy_SFENCE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.SFENCE() + } else { + panic("instruction SFENCE takes no operands") + } +} + +func __asm_proxy_SHA1MSG1__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHA1MSG1(v[0], v[1]) + } else { + panic("instruction SHA1MSG1 takes exactly 2 operands") + } +} + +func __asm_proxy_SHA1MSG2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHA1MSG2(v[0], v[1]) + } else { + panic("instruction SHA1MSG2 takes exactly 2 operands") + } +} + +func __asm_proxy_SHA1NEXTE__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHA1NEXTE(v[0], v[1]) + } else { + panic("instruction SHA1NEXTE takes exactly 2 operands") + } +} + +func __asm_proxy_SHA1RNDS4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHA1RNDS4(v[0], v[1], v[2]) + } else { + panic("instruction SHA1RNDS4 takes exactly 3 operands") + } +} + +func __asm_proxy_SHA256MSG1__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHA256MSG1(v[0], v[1]) + } else { + panic("instruction SHA256MSG1 takes exactly 2 operands") + } +} + +func __asm_proxy_SHA256MSG2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHA256MSG2(v[0], v[1]) + } else { + panic("instruction SHA256MSG2 takes exactly 2 operands") + } +} + +func __asm_proxy_SHA256RNDS2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHA256RNDS2(v[0], v[1], v[2]) + } else { + panic("instruction SHA256RNDS2 takes exactly 3 operands") + } +} + +func __asm_proxy_SHLB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHLB(v[0], v[1]) + } else { + panic("instruction SHLB takes exactly 2 operands") + } +} + +func __asm_proxy_SHLDL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHLDL(v[0], v[1], v[2]) + } else { + panic("instruction SHLDL takes exactly 3 operands") + } +} + +func __asm_proxy_SHLDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHLDQ(v[0], v[1], v[2]) + } else { + panic("instruction SHLDQ takes exactly 3 operands") + } +} + +func __asm_proxy_SHLDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHLDW(v[0], v[1], v[2]) + } else { + panic("instruction SHLDW takes exactly 3 operands") + } +} + +func __asm_proxy_SHLL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHLL(v[0], v[1]) + } else { + panic("instruction SHLL takes exactly 2 operands") + } +} + +func __asm_proxy_SHLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHLQ(v[0], v[1]) + } else { + panic("instruction SHLQ takes exactly 2 operands") + } +} + +func __asm_proxy_SHLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHLW(v[0], v[1]) + } else { + panic("instruction SHLW takes exactly 2 operands") + } +} + +func __asm_proxy_SHLXL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHLXL(v[0], v[1], v[2]) + } else { + panic("instruction SHLXL takes exactly 3 operands") + } +} + +func __asm_proxy_SHLXQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHLXQ(v[0], v[1], v[2]) + } else { + panic("instruction SHLXQ takes exactly 3 operands") + } +} + +func __asm_proxy_SHRB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHRB(v[0], v[1]) + } else { + panic("instruction SHRB takes exactly 2 operands") + } +} + +func __asm_proxy_SHRDL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHRDL(v[0], v[1], v[2]) + } else { + panic("instruction SHRDL takes exactly 3 operands") + } +} + +func __asm_proxy_SHRDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHRDQ(v[0], v[1], v[2]) + } else { + panic("instruction SHRDQ takes exactly 3 operands") + } +} + +func __asm_proxy_SHRDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHRDW(v[0], v[1], v[2]) + } else { + panic("instruction SHRDW takes exactly 3 operands") + } +} + +func __asm_proxy_SHRL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHRL(v[0], v[1]) + } else { + panic("instruction SHRL takes exactly 2 operands") + } +} + +func __asm_proxy_SHRQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHRQ(v[0], v[1]) + } else { + panic("instruction SHRQ takes exactly 2 operands") + } +} + +func __asm_proxy_SHRW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SHRW(v[0], v[1]) + } else { + panic("instruction SHRW takes exactly 2 operands") + } +} + +func __asm_proxy_SHRXL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHRXL(v[0], v[1], v[2]) + } else { + panic("instruction SHRXL takes exactly 3 operands") + } +} + +func __asm_proxy_SHRXQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHRXQ(v[0], v[1], v[2]) + } else { + panic("instruction SHRXQ takes exactly 3 operands") + } +} + +func __asm_proxy_SHUFPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHUFPD(v[0], v[1], v[2]) + } else { + panic("instruction SHUFPD takes exactly 3 operands") + } +} + +func __asm_proxy_SHUFPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.SHUFPS(v[0], v[1], v[2]) + } else { + panic("instruction SHUFPS takes exactly 3 operands") + } +} + +func __asm_proxy_SQRTPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SQRTPD(v[0], v[1]) + } else { + panic("instruction SQRTPD takes exactly 2 operands") + } +} + +func __asm_proxy_SQRTPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SQRTPS(v[0], v[1]) + } else { + panic("instruction SQRTPS takes exactly 2 operands") + } +} + +func __asm_proxy_SQRTSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SQRTSD(v[0], v[1]) + } else { + panic("instruction SQRTSD takes exactly 2 operands") + } +} + +func __asm_proxy_SQRTSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SQRTSS(v[0], v[1]) + } else { + panic("instruction SQRTSS takes exactly 2 operands") + } +} + +func __asm_proxy_STC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.STC() + } else { + panic("instruction STC takes no operands") + } +} + +func __asm_proxy_STD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.STD() + } else { + panic("instruction STD takes no operands") + } +} + +func __asm_proxy_STMXCSR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.STMXCSR(v[0]) + } else { + panic("instruction STMXCSR takes exactly 1 operand") + } +} + +func __asm_proxy_SUBB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SUBB(v[0], v[1]) + } else { + panic("instruction SUBB takes exactly 2 operands") + } +} + +func __asm_proxy_SUBL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SUBL(v[0], v[1]) + } else { + panic("instruction SUBL takes exactly 2 operands") + } +} + +func __asm_proxy_SUBPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SUBPD(v[0], v[1]) + } else { + panic("instruction SUBPD takes exactly 2 operands") + } +} + +func __asm_proxy_SUBPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SUBPS(v[0], v[1]) + } else { + panic("instruction SUBPS takes exactly 2 operands") + } +} + +func __asm_proxy_SUBQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SUBQ(v[0], v[1]) + } else { + panic("instruction SUBQ takes exactly 2 operands") + } +} + +func __asm_proxy_SUBSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SUBSD(v[0], v[1]) + } else { + panic("instruction SUBSD takes exactly 2 operands") + } +} + +func __asm_proxy_SUBSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SUBSS(v[0], v[1]) + } else { + panic("instruction SUBSS takes exactly 2 operands") + } +} + +func __asm_proxy_SUBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.SUBW(v[0], v[1]) + } else { + panic("instruction SUBW takes exactly 2 operands") + } +} + +func __asm_proxy_SYSCALL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.SYSCALL() + } else { + panic("instruction SYSCALL takes no operands") + } +} + +func __asm_proxy_T1MSKC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.T1MSKC(v[0], v[1]) + } else { + panic("instruction T1MSKC takes exactly 2 operands") + } +} + +func __asm_proxy_TESTB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.TESTB(v[0], v[1]) + } else { + panic("instruction TESTB takes exactly 2 operands") + } +} + +func __asm_proxy_TESTL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.TESTL(v[0], v[1]) + } else { + panic("instruction TESTL takes exactly 2 operands") + } +} + +func __asm_proxy_TESTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.TESTQ(v[0], v[1]) + } else { + panic("instruction TESTQ takes exactly 2 operands") + } +} + +func __asm_proxy_TESTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.TESTW(v[0], v[1]) + } else { + panic("instruction TESTW takes exactly 2 operands") + } +} + +func __asm_proxy_TZCNTL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.TZCNTL(v[0], v[1]) + } else { + panic("instruction TZCNTL takes exactly 2 operands") + } +} + +func __asm_proxy_TZCNTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.TZCNTQ(v[0], v[1]) + } else { + panic("instruction TZCNTQ takes exactly 2 operands") + } +} + +func __asm_proxy_TZCNTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.TZCNTW(v[0], v[1]) + } else { + panic("instruction TZCNTW takes exactly 2 operands") + } +} + +func __asm_proxy_TZMSK__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.TZMSK(v[0], v[1]) + } else { + panic("instruction TZMSK takes exactly 2 operands") + } +} + +func __asm_proxy_UCOMISD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.UCOMISD(v[0], v[1]) + } else { + panic("instruction UCOMISD takes exactly 2 operands") + } +} + +func __asm_proxy_UCOMISS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.UCOMISS(v[0], v[1]) + } else { + panic("instruction UCOMISS takes exactly 2 operands") + } +} + +func __asm_proxy_UD2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.UD2() + } else { + panic("instruction UD2 takes no operands") + } +} + +func __asm_proxy_UNPCKHPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.UNPCKHPD(v[0], v[1]) + } else { + panic("instruction UNPCKHPD takes exactly 2 operands") + } +} + +func __asm_proxy_UNPCKHPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.UNPCKHPS(v[0], v[1]) + } else { + panic("instruction UNPCKHPS takes exactly 2 operands") + } +} + +func __asm_proxy_UNPCKLPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.UNPCKLPD(v[0], v[1]) + } else { + panic("instruction UNPCKLPD takes exactly 2 operands") + } +} + +func __asm_proxy_UNPCKLPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.UNPCKLPS(v[0], v[1]) + } else { + panic("instruction UNPCKLPS takes exactly 2 operands") + } +} + +func __asm_proxy_VADDPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VADDPD(v[0], v[1], v[2]) + case 4 : return p.VADDPD(v[0], v[1], v[2], v[3]) + default : panic("instruction VADDPD takes 3 or 4 operands") + } +} + +func __asm_proxy_VADDPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VADDPS(v[0], v[1], v[2]) + case 4 : return p.VADDPS(v[0], v[1], v[2], v[3]) + default : panic("instruction VADDPS takes 3 or 4 operands") + } +} + +func __asm_proxy_VADDSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VADDSD(v[0], v[1], v[2]) + case 4 : return p.VADDSD(v[0], v[1], v[2], v[3]) + default : panic("instruction VADDSD takes 3 or 4 operands") + } +} + +func __asm_proxy_VADDSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VADDSS(v[0], v[1], v[2]) + case 4 : return p.VADDSS(v[0], v[1], v[2], v[3]) + default : panic("instruction VADDSS takes 3 or 4 operands") + } +} + +func __asm_proxy_VADDSUBPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VADDSUBPD(v[0], v[1], v[2]) + } else { + panic("instruction VADDSUBPD takes exactly 3 operands") + } +} + +func __asm_proxy_VADDSUBPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VADDSUBPS(v[0], v[1], v[2]) + } else { + panic("instruction VADDSUBPS takes exactly 3 operands") + } +} + +func __asm_proxy_VAESDEC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VAESDEC(v[0], v[1], v[2]) + } else { + panic("instruction VAESDEC takes exactly 3 operands") + } +} + +func __asm_proxy_VAESDECLAST__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VAESDECLAST(v[0], v[1], v[2]) + } else { + panic("instruction VAESDECLAST takes exactly 3 operands") + } +} + +func __asm_proxy_VAESENC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VAESENC(v[0], v[1], v[2]) + } else { + panic("instruction VAESENC takes exactly 3 operands") + } +} + +func __asm_proxy_VAESENCLAST__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VAESENCLAST(v[0], v[1], v[2]) + } else { + panic("instruction VAESENCLAST takes exactly 3 operands") + } +} + +func __asm_proxy_VAESIMC__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VAESIMC(v[0], v[1]) + } else { + panic("instruction VAESIMC takes exactly 2 operands") + } +} + +func __asm_proxy_VAESKEYGENASSIST__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VAESKEYGENASSIST(v[0], v[1], v[2]) + } else { + panic("instruction VAESKEYGENASSIST takes exactly 3 operands") + } +} + +func __asm_proxy_VALIGND__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VALIGND(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VALIGND takes exactly 4 operands") + } +} + +func __asm_proxy_VALIGNQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VALIGNQ(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VALIGNQ takes exactly 4 operands") + } +} + +func __asm_proxy_VANDNPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VANDNPD(v[0], v[1], v[2]) + } else { + panic("instruction VANDNPD takes exactly 3 operands") + } +} + +func __asm_proxy_VANDNPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VANDNPS(v[0], v[1], v[2]) + } else { + panic("instruction VANDNPS takes exactly 3 operands") + } +} + +func __asm_proxy_VANDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VANDPD(v[0], v[1], v[2]) + } else { + panic("instruction VANDPD takes exactly 3 operands") + } +} + +func __asm_proxy_VANDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VANDPS(v[0], v[1], v[2]) + } else { + panic("instruction VANDPS takes exactly 3 operands") + } +} + +func __asm_proxy_VBLENDMPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VBLENDMPD(v[0], v[1], v[2]) + } else { + panic("instruction VBLENDMPD takes exactly 3 operands") + } +} + +func __asm_proxy_VBLENDMPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VBLENDMPS(v[0], v[1], v[2]) + } else { + panic("instruction VBLENDMPS takes exactly 3 operands") + } +} + +func __asm_proxy_VBLENDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VBLENDPD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VBLENDPD takes exactly 4 operands") + } +} + +func __asm_proxy_VBLENDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VBLENDPS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VBLENDPS takes exactly 4 operands") + } +} + +func __asm_proxy_VBLENDVPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VBLENDVPD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VBLENDVPD takes exactly 4 operands") + } +} + +func __asm_proxy_VBLENDVPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VBLENDVPS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VBLENDVPS takes exactly 4 operands") + } +} + +func __asm_proxy_VBROADCASTF128__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTF128(v[0], v[1]) + } else { + panic("instruction VBROADCASTF128 takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTF32X2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTF32X2(v[0], v[1]) + } else { + panic("instruction VBROADCASTF32X2 takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTF32X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTF32X4(v[0], v[1]) + } else { + panic("instruction VBROADCASTF32X4 takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTF32X8__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTF32X8(v[0], v[1]) + } else { + panic("instruction VBROADCASTF32X8 takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTF64X2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTF64X2(v[0], v[1]) + } else { + panic("instruction VBROADCASTF64X2 takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTF64X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTF64X4(v[0], v[1]) + } else { + panic("instruction VBROADCASTF64X4 takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTI128__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTI128(v[0], v[1]) + } else { + panic("instruction VBROADCASTI128 takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTI32X2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTI32X2(v[0], v[1]) + } else { + panic("instruction VBROADCASTI32X2 takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTI32X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTI32X4(v[0], v[1]) + } else { + panic("instruction VBROADCASTI32X4 takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTI32X8__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTI32X8(v[0], v[1]) + } else { + panic("instruction VBROADCASTI32X8 takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTI64X2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTI64X2(v[0], v[1]) + } else { + panic("instruction VBROADCASTI64X2 takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTI64X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTI64X4(v[0], v[1]) + } else { + panic("instruction VBROADCASTI64X4 takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTSD(v[0], v[1]) + } else { + panic("instruction VBROADCASTSD takes exactly 2 operands") + } +} + +func __asm_proxy_VBROADCASTSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VBROADCASTSS(v[0], v[1]) + } else { + panic("instruction VBROADCASTSS takes exactly 2 operands") + } +} + +func __asm_proxy_VCMPPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VCMPPD(v[0], v[1], v[2], v[3]) + case 5 : return p.VCMPPD(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VCMPPD takes 4 or 5 operands") + } +} + +func __asm_proxy_VCMPPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VCMPPS(v[0], v[1], v[2], v[3]) + case 5 : return p.VCMPPS(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VCMPPS takes 4 or 5 operands") + } +} + +func __asm_proxy_VCMPSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VCMPSD(v[0], v[1], v[2], v[3]) + case 5 : return p.VCMPSD(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VCMPSD takes 4 or 5 operands") + } +} + +func __asm_proxy_VCMPSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VCMPSS(v[0], v[1], v[2], v[3]) + case 5 : return p.VCMPSS(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VCMPSS takes 4 or 5 operands") + } +} + +func __asm_proxy_VCOMISD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCOMISD(v[0], v[1]) + case 3 : return p.VCOMISD(v[0], v[1], v[2]) + default : panic("instruction VCOMISD takes 2 or 3 operands") + } +} + +func __asm_proxy_VCOMISS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCOMISS(v[0], v[1]) + case 3 : return p.VCOMISS(v[0], v[1], v[2]) + default : panic("instruction VCOMISS takes 2 or 3 operands") + } +} + +func __asm_proxy_VCOMPRESSPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VCOMPRESSPD(v[0], v[1]) + } else { + panic("instruction VCOMPRESSPD takes exactly 2 operands") + } +} + +func __asm_proxy_VCOMPRESSPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VCOMPRESSPS(v[0], v[1]) + } else { + panic("instruction VCOMPRESSPS takes exactly 2 operands") + } +} + +func __asm_proxy_VCVTDQ2PD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VCVTDQ2PD(v[0], v[1]) + } else { + panic("instruction VCVTDQ2PD takes exactly 2 operands") + } +} + +func __asm_proxy_VCVTDQ2PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTDQ2PS(v[0], v[1]) + case 3 : return p.VCVTDQ2PS(v[0], v[1], v[2]) + default : panic("instruction VCVTDQ2PS takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTPD2DQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTPD2DQ(v[0], v[1]) + case 3 : return p.VCVTPD2DQ(v[0], v[1], v[2]) + default : panic("instruction VCVTPD2DQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTPD2PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTPD2PS(v[0], v[1]) + case 3 : return p.VCVTPD2PS(v[0], v[1], v[2]) + default : panic("instruction VCVTPD2PS takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTPD2QQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTPD2QQ(v[0], v[1]) + case 3 : return p.VCVTPD2QQ(v[0], v[1], v[2]) + default : panic("instruction VCVTPD2QQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTPD2UDQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTPD2UDQ(v[0], v[1]) + case 3 : return p.VCVTPD2UDQ(v[0], v[1], v[2]) + default : panic("instruction VCVTPD2UDQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTPD2UQQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTPD2UQQ(v[0], v[1]) + case 3 : return p.VCVTPD2UQQ(v[0], v[1], v[2]) + default : panic("instruction VCVTPD2UQQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTPH2PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTPH2PS(v[0], v[1]) + case 3 : return p.VCVTPH2PS(v[0], v[1], v[2]) + default : panic("instruction VCVTPH2PS takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTPS2DQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTPS2DQ(v[0], v[1]) + case 3 : return p.VCVTPS2DQ(v[0], v[1], v[2]) + default : panic("instruction VCVTPS2DQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTPS2PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTPS2PD(v[0], v[1]) + case 3 : return p.VCVTPS2PD(v[0], v[1], v[2]) + default : panic("instruction VCVTPS2PD takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTPS2PH__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VCVTPS2PH(v[0], v[1], v[2]) + case 4 : return p.VCVTPS2PH(v[0], v[1], v[2], v[3]) + default : panic("instruction VCVTPS2PH takes 3 or 4 operands") + } +} + +func __asm_proxy_VCVTPS2QQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTPS2QQ(v[0], v[1]) + case 3 : return p.VCVTPS2QQ(v[0], v[1], v[2]) + default : panic("instruction VCVTPS2QQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTPS2UDQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTPS2UDQ(v[0], v[1]) + case 3 : return p.VCVTPS2UDQ(v[0], v[1], v[2]) + default : panic("instruction VCVTPS2UDQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTPS2UQQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTPS2UQQ(v[0], v[1]) + case 3 : return p.VCVTPS2UQQ(v[0], v[1], v[2]) + default : panic("instruction VCVTPS2UQQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTQQ2PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTQQ2PD(v[0], v[1]) + case 3 : return p.VCVTQQ2PD(v[0], v[1], v[2]) + default : panic("instruction VCVTQQ2PD takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTQQ2PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTQQ2PS(v[0], v[1]) + case 3 : return p.VCVTQQ2PS(v[0], v[1], v[2]) + default : panic("instruction VCVTQQ2PS takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTSD2SI__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTSD2SI(v[0], v[1]) + case 3 : return p.VCVTSD2SI(v[0], v[1], v[2]) + default : panic("instruction VCVTSD2SI takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTSD2SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VCVTSD2SS(v[0], v[1], v[2]) + case 4 : return p.VCVTSD2SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VCVTSD2SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VCVTSD2USI__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTSD2USI(v[0], v[1]) + case 3 : return p.VCVTSD2USI(v[0], v[1], v[2]) + default : panic("instruction VCVTSD2USI takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTSI2SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VCVTSI2SD(v[0], v[1], v[2]) + case 4 : return p.VCVTSI2SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VCVTSI2SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VCVTSI2SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VCVTSI2SS(v[0], v[1], v[2]) + case 4 : return p.VCVTSI2SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VCVTSI2SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VCVTSS2SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VCVTSS2SD(v[0], v[1], v[2]) + case 4 : return p.VCVTSS2SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VCVTSS2SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VCVTSS2SI__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTSS2SI(v[0], v[1]) + case 3 : return p.VCVTSS2SI(v[0], v[1], v[2]) + default : panic("instruction VCVTSS2SI takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTSS2USI__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTSS2USI(v[0], v[1]) + case 3 : return p.VCVTSS2USI(v[0], v[1], v[2]) + default : panic("instruction VCVTSS2USI takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTTPD2DQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTTPD2DQ(v[0], v[1]) + case 3 : return p.VCVTTPD2DQ(v[0], v[1], v[2]) + default : panic("instruction VCVTTPD2DQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTTPD2QQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTTPD2QQ(v[0], v[1]) + case 3 : return p.VCVTTPD2QQ(v[0], v[1], v[2]) + default : panic("instruction VCVTTPD2QQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTTPD2UDQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTTPD2UDQ(v[0], v[1]) + case 3 : return p.VCVTTPD2UDQ(v[0], v[1], v[2]) + default : panic("instruction VCVTTPD2UDQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTTPD2UQQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTTPD2UQQ(v[0], v[1]) + case 3 : return p.VCVTTPD2UQQ(v[0], v[1], v[2]) + default : panic("instruction VCVTTPD2UQQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTTPS2DQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTTPS2DQ(v[0], v[1]) + case 3 : return p.VCVTTPS2DQ(v[0], v[1], v[2]) + default : panic("instruction VCVTTPS2DQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTTPS2QQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTTPS2QQ(v[0], v[1]) + case 3 : return p.VCVTTPS2QQ(v[0], v[1], v[2]) + default : panic("instruction VCVTTPS2QQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTTPS2UDQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTTPS2UDQ(v[0], v[1]) + case 3 : return p.VCVTTPS2UDQ(v[0], v[1], v[2]) + default : panic("instruction VCVTTPS2UDQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTTPS2UQQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTTPS2UQQ(v[0], v[1]) + case 3 : return p.VCVTTPS2UQQ(v[0], v[1], v[2]) + default : panic("instruction VCVTTPS2UQQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTTSD2SI__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTTSD2SI(v[0], v[1]) + case 3 : return p.VCVTTSD2SI(v[0], v[1], v[2]) + default : panic("instruction VCVTTSD2SI takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTTSD2USI__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTTSD2USI(v[0], v[1]) + case 3 : return p.VCVTTSD2USI(v[0], v[1], v[2]) + default : panic("instruction VCVTTSD2USI takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTTSS2SI__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTTSS2SI(v[0], v[1]) + case 3 : return p.VCVTTSS2SI(v[0], v[1], v[2]) + default : panic("instruction VCVTTSS2SI takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTTSS2USI__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTTSS2USI(v[0], v[1]) + case 3 : return p.VCVTTSS2USI(v[0], v[1], v[2]) + default : panic("instruction VCVTTSS2USI takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTUDQ2PD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VCVTUDQ2PD(v[0], v[1]) + } else { + panic("instruction VCVTUDQ2PD takes exactly 2 operands") + } +} + +func __asm_proxy_VCVTUDQ2PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTUDQ2PS(v[0], v[1]) + case 3 : return p.VCVTUDQ2PS(v[0], v[1], v[2]) + default : panic("instruction VCVTUDQ2PS takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTUQQ2PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTUQQ2PD(v[0], v[1]) + case 3 : return p.VCVTUQQ2PD(v[0], v[1], v[2]) + default : panic("instruction VCVTUQQ2PD takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTUQQ2PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VCVTUQQ2PS(v[0], v[1]) + case 3 : return p.VCVTUQQ2PS(v[0], v[1], v[2]) + default : panic("instruction VCVTUQQ2PS takes 2 or 3 operands") + } +} + +func __asm_proxy_VCVTUSI2SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VCVTUSI2SD(v[0], v[1], v[2]) + case 4 : return p.VCVTUSI2SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VCVTUSI2SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VCVTUSI2SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VCVTUSI2SS(v[0], v[1], v[2]) + case 4 : return p.VCVTUSI2SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VCVTUSI2SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VDBPSADBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VDBPSADBW(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VDBPSADBW takes exactly 4 operands") + } +} + +func __asm_proxy_VDIVPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VDIVPD(v[0], v[1], v[2]) + case 4 : return p.VDIVPD(v[0], v[1], v[2], v[3]) + default : panic("instruction VDIVPD takes 3 or 4 operands") + } +} + +func __asm_proxy_VDIVPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VDIVPS(v[0], v[1], v[2]) + case 4 : return p.VDIVPS(v[0], v[1], v[2], v[3]) + default : panic("instruction VDIVPS takes 3 or 4 operands") + } +} + +func __asm_proxy_VDIVSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VDIVSD(v[0], v[1], v[2]) + case 4 : return p.VDIVSD(v[0], v[1], v[2], v[3]) + default : panic("instruction VDIVSD takes 3 or 4 operands") + } +} + +func __asm_proxy_VDIVSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VDIVSS(v[0], v[1], v[2]) + case 4 : return p.VDIVSS(v[0], v[1], v[2], v[3]) + default : panic("instruction VDIVSS takes 3 or 4 operands") + } +} + +func __asm_proxy_VDPPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VDPPD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VDPPD takes exactly 4 operands") + } +} + +func __asm_proxy_VDPPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VDPPS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VDPPS takes exactly 4 operands") + } +} + +func __asm_proxy_VEXP2PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VEXP2PD(v[0], v[1]) + case 3 : return p.VEXP2PD(v[0], v[1], v[2]) + default : panic("instruction VEXP2PD takes 2 or 3 operands") + } +} + +func __asm_proxy_VEXP2PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VEXP2PS(v[0], v[1]) + case 3 : return p.VEXP2PS(v[0], v[1], v[2]) + default : panic("instruction VEXP2PS takes 2 or 3 operands") + } +} + +func __asm_proxy_VEXPANDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VEXPANDPD(v[0], v[1]) + } else { + panic("instruction VEXPANDPD takes exactly 2 operands") + } +} + +func __asm_proxy_VEXPANDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VEXPANDPS(v[0], v[1]) + } else { + panic("instruction VEXPANDPS takes exactly 2 operands") + } +} + +func __asm_proxy_VEXTRACTF128__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VEXTRACTF128(v[0], v[1], v[2]) + } else { + panic("instruction VEXTRACTF128 takes exactly 3 operands") + } +} + +func __asm_proxy_VEXTRACTF32X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VEXTRACTF32X4(v[0], v[1], v[2]) + } else { + panic("instruction VEXTRACTF32X4 takes exactly 3 operands") + } +} + +func __asm_proxy_VEXTRACTF32X8__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VEXTRACTF32X8(v[0], v[1], v[2]) + } else { + panic("instruction VEXTRACTF32X8 takes exactly 3 operands") + } +} + +func __asm_proxy_VEXTRACTF64X2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VEXTRACTF64X2(v[0], v[1], v[2]) + } else { + panic("instruction VEXTRACTF64X2 takes exactly 3 operands") + } +} + +func __asm_proxy_VEXTRACTF64X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VEXTRACTF64X4(v[0], v[1], v[2]) + } else { + panic("instruction VEXTRACTF64X4 takes exactly 3 operands") + } +} + +func __asm_proxy_VEXTRACTI128__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VEXTRACTI128(v[0], v[1], v[2]) + } else { + panic("instruction VEXTRACTI128 takes exactly 3 operands") + } +} + +func __asm_proxy_VEXTRACTI32X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VEXTRACTI32X4(v[0], v[1], v[2]) + } else { + panic("instruction VEXTRACTI32X4 takes exactly 3 operands") + } +} + +func __asm_proxy_VEXTRACTI32X8__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VEXTRACTI32X8(v[0], v[1], v[2]) + } else { + panic("instruction VEXTRACTI32X8 takes exactly 3 operands") + } +} + +func __asm_proxy_VEXTRACTI64X2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VEXTRACTI64X2(v[0], v[1], v[2]) + } else { + panic("instruction VEXTRACTI64X2 takes exactly 3 operands") + } +} + +func __asm_proxy_VEXTRACTI64X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VEXTRACTI64X4(v[0], v[1], v[2]) + } else { + panic("instruction VEXTRACTI64X4 takes exactly 3 operands") + } +} + +func __asm_proxy_VEXTRACTPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VEXTRACTPS(v[0], v[1], v[2]) + } else { + panic("instruction VEXTRACTPS takes exactly 3 operands") + } +} + +func __asm_proxy_VFIXUPIMMPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VFIXUPIMMPD(v[0], v[1], v[2], v[3]) + case 5 : return p.VFIXUPIMMPD(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VFIXUPIMMPD takes 4 or 5 operands") + } +} + +func __asm_proxy_VFIXUPIMMPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VFIXUPIMMPS(v[0], v[1], v[2], v[3]) + case 5 : return p.VFIXUPIMMPS(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VFIXUPIMMPS takes 4 or 5 operands") + } +} + +func __asm_proxy_VFIXUPIMMSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VFIXUPIMMSD(v[0], v[1], v[2], v[3]) + case 5 : return p.VFIXUPIMMSD(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VFIXUPIMMSD takes 4 or 5 operands") + } +} + +func __asm_proxy_VFIXUPIMMSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VFIXUPIMMSS(v[0], v[1], v[2], v[3]) + case 5 : return p.VFIXUPIMMSS(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VFIXUPIMMSS takes 4 or 5 operands") + } +} + +func __asm_proxy_VFMADD132PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADD132PD(v[0], v[1], v[2]) + case 4 : return p.VFMADD132PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADD132PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADD132PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADD132PS(v[0], v[1], v[2]) + case 4 : return p.VFMADD132PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADD132PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADD132SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADD132SD(v[0], v[1], v[2]) + case 4 : return p.VFMADD132SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADD132SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADD132SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADD132SS(v[0], v[1], v[2]) + case 4 : return p.VFMADD132SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADD132SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADD213PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADD213PD(v[0], v[1], v[2]) + case 4 : return p.VFMADD213PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADD213PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADD213PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADD213PS(v[0], v[1], v[2]) + case 4 : return p.VFMADD213PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADD213PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADD213SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADD213SD(v[0], v[1], v[2]) + case 4 : return p.VFMADD213SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADD213SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADD213SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADD213SS(v[0], v[1], v[2]) + case 4 : return p.VFMADD213SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADD213SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADD231PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADD231PD(v[0], v[1], v[2]) + case 4 : return p.VFMADD231PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADD231PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADD231PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADD231PS(v[0], v[1], v[2]) + case 4 : return p.VFMADD231PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADD231PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADD231SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADD231SD(v[0], v[1], v[2]) + case 4 : return p.VFMADD231SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADD231SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADD231SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADD231SS(v[0], v[1], v[2]) + case 4 : return p.VFMADD231SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADD231SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFMADDPD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFMADDPD takes exactly 4 operands") + } +} + +func __asm_proxy_VFMADDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFMADDPS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFMADDPS takes exactly 4 operands") + } +} + +func __asm_proxy_VFMADDSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFMADDSD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFMADDSD takes exactly 4 operands") + } +} + +func __asm_proxy_VFMADDSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFMADDSS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFMADDSS takes exactly 4 operands") + } +} + +func __asm_proxy_VFMADDSUB132PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADDSUB132PD(v[0], v[1], v[2]) + case 4 : return p.VFMADDSUB132PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADDSUB132PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADDSUB132PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADDSUB132PS(v[0], v[1], v[2]) + case 4 : return p.VFMADDSUB132PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADDSUB132PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADDSUB213PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADDSUB213PD(v[0], v[1], v[2]) + case 4 : return p.VFMADDSUB213PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADDSUB213PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADDSUB213PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADDSUB213PS(v[0], v[1], v[2]) + case 4 : return p.VFMADDSUB213PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADDSUB213PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADDSUB231PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADDSUB231PD(v[0], v[1], v[2]) + case 4 : return p.VFMADDSUB231PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADDSUB231PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADDSUB231PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMADDSUB231PS(v[0], v[1], v[2]) + case 4 : return p.VFMADDSUB231PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMADDSUB231PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMADDSUBPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFMADDSUBPD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFMADDSUBPD takes exactly 4 operands") + } +} + +func __asm_proxy_VFMADDSUBPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFMADDSUBPS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFMADDSUBPS takes exactly 4 operands") + } +} + +func __asm_proxy_VFMSUB132PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUB132PD(v[0], v[1], v[2]) + case 4 : return p.VFMSUB132PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUB132PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUB132PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUB132PS(v[0], v[1], v[2]) + case 4 : return p.VFMSUB132PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUB132PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUB132SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUB132SD(v[0], v[1], v[2]) + case 4 : return p.VFMSUB132SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUB132SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUB132SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUB132SS(v[0], v[1], v[2]) + case 4 : return p.VFMSUB132SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUB132SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUB213PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUB213PD(v[0], v[1], v[2]) + case 4 : return p.VFMSUB213PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUB213PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUB213PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUB213PS(v[0], v[1], v[2]) + case 4 : return p.VFMSUB213PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUB213PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUB213SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUB213SD(v[0], v[1], v[2]) + case 4 : return p.VFMSUB213SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUB213SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUB213SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUB213SS(v[0], v[1], v[2]) + case 4 : return p.VFMSUB213SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUB213SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUB231PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUB231PD(v[0], v[1], v[2]) + case 4 : return p.VFMSUB231PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUB231PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUB231PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUB231PS(v[0], v[1], v[2]) + case 4 : return p.VFMSUB231PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUB231PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUB231SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUB231SD(v[0], v[1], v[2]) + case 4 : return p.VFMSUB231SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUB231SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUB231SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUB231SS(v[0], v[1], v[2]) + case 4 : return p.VFMSUB231SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUB231SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUBADD132PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUBADD132PD(v[0], v[1], v[2]) + case 4 : return p.VFMSUBADD132PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUBADD132PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUBADD132PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUBADD132PS(v[0], v[1], v[2]) + case 4 : return p.VFMSUBADD132PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUBADD132PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUBADD213PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUBADD213PD(v[0], v[1], v[2]) + case 4 : return p.VFMSUBADD213PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUBADD213PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUBADD213PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUBADD213PS(v[0], v[1], v[2]) + case 4 : return p.VFMSUBADD213PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUBADD213PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUBADD231PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUBADD231PD(v[0], v[1], v[2]) + case 4 : return p.VFMSUBADD231PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUBADD231PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUBADD231PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFMSUBADD231PS(v[0], v[1], v[2]) + case 4 : return p.VFMSUBADD231PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFMSUBADD231PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFMSUBADDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFMSUBADDPD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFMSUBADDPD takes exactly 4 operands") + } +} + +func __asm_proxy_VFMSUBADDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFMSUBADDPS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFMSUBADDPS takes exactly 4 operands") + } +} + +func __asm_proxy_VFMSUBPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFMSUBPD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFMSUBPD takes exactly 4 operands") + } +} + +func __asm_proxy_VFMSUBPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFMSUBPS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFMSUBPS takes exactly 4 operands") + } +} + +func __asm_proxy_VFMSUBSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFMSUBSD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFMSUBSD takes exactly 4 operands") + } +} + +func __asm_proxy_VFMSUBSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFMSUBSS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFMSUBSS takes exactly 4 operands") + } +} + +func __asm_proxy_VFNMADD132PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMADD132PD(v[0], v[1], v[2]) + case 4 : return p.VFNMADD132PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMADD132PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMADD132PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMADD132PS(v[0], v[1], v[2]) + case 4 : return p.VFNMADD132PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMADD132PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMADD132SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMADD132SD(v[0], v[1], v[2]) + case 4 : return p.VFNMADD132SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMADD132SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMADD132SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMADD132SS(v[0], v[1], v[2]) + case 4 : return p.VFNMADD132SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMADD132SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMADD213PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMADD213PD(v[0], v[1], v[2]) + case 4 : return p.VFNMADD213PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMADD213PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMADD213PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMADD213PS(v[0], v[1], v[2]) + case 4 : return p.VFNMADD213PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMADD213PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMADD213SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMADD213SD(v[0], v[1], v[2]) + case 4 : return p.VFNMADD213SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMADD213SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMADD213SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMADD213SS(v[0], v[1], v[2]) + case 4 : return p.VFNMADD213SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMADD213SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMADD231PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMADD231PD(v[0], v[1], v[2]) + case 4 : return p.VFNMADD231PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMADD231PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMADD231PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMADD231PS(v[0], v[1], v[2]) + case 4 : return p.VFNMADD231PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMADD231PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMADD231SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMADD231SD(v[0], v[1], v[2]) + case 4 : return p.VFNMADD231SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMADD231SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMADD231SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMADD231SS(v[0], v[1], v[2]) + case 4 : return p.VFNMADD231SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMADD231SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMADDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFNMADDPD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFNMADDPD takes exactly 4 operands") + } +} + +func __asm_proxy_VFNMADDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFNMADDPS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFNMADDPS takes exactly 4 operands") + } +} + +func __asm_proxy_VFNMADDSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFNMADDSD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFNMADDSD takes exactly 4 operands") + } +} + +func __asm_proxy_VFNMADDSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFNMADDSS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFNMADDSS takes exactly 4 operands") + } +} + +func __asm_proxy_VFNMSUB132PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMSUB132PD(v[0], v[1], v[2]) + case 4 : return p.VFNMSUB132PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMSUB132PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMSUB132PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMSUB132PS(v[0], v[1], v[2]) + case 4 : return p.VFNMSUB132PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMSUB132PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMSUB132SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMSUB132SD(v[0], v[1], v[2]) + case 4 : return p.VFNMSUB132SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMSUB132SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMSUB132SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMSUB132SS(v[0], v[1], v[2]) + case 4 : return p.VFNMSUB132SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMSUB132SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMSUB213PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMSUB213PD(v[0], v[1], v[2]) + case 4 : return p.VFNMSUB213PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMSUB213PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMSUB213PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMSUB213PS(v[0], v[1], v[2]) + case 4 : return p.VFNMSUB213PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMSUB213PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMSUB213SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMSUB213SD(v[0], v[1], v[2]) + case 4 : return p.VFNMSUB213SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMSUB213SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMSUB213SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMSUB213SS(v[0], v[1], v[2]) + case 4 : return p.VFNMSUB213SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMSUB213SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMSUB231PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMSUB231PD(v[0], v[1], v[2]) + case 4 : return p.VFNMSUB231PD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMSUB231PD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMSUB231PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMSUB231PS(v[0], v[1], v[2]) + case 4 : return p.VFNMSUB231PS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMSUB231PS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMSUB231SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMSUB231SD(v[0], v[1], v[2]) + case 4 : return p.VFNMSUB231SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMSUB231SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMSUB231SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VFNMSUB231SS(v[0], v[1], v[2]) + case 4 : return p.VFNMSUB231SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VFNMSUB231SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VFNMSUBPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFNMSUBPD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFNMSUBPD takes exactly 4 operands") + } +} + +func __asm_proxy_VFNMSUBPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFNMSUBPS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFNMSUBPS takes exactly 4 operands") + } +} + +func __asm_proxy_VFNMSUBSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFNMSUBSD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFNMSUBSD takes exactly 4 operands") + } +} + +func __asm_proxy_VFNMSUBSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VFNMSUBSS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VFNMSUBSS takes exactly 4 operands") + } +} + +func __asm_proxy_VFPCLASSPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VFPCLASSPD(v[0], v[1], v[2]) + } else { + panic("instruction VFPCLASSPD takes exactly 3 operands") + } +} + +func __asm_proxy_VFPCLASSPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VFPCLASSPS(v[0], v[1], v[2]) + } else { + panic("instruction VFPCLASSPS takes exactly 3 operands") + } +} + +func __asm_proxy_VFPCLASSSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VFPCLASSSD(v[0], v[1], v[2]) + } else { + panic("instruction VFPCLASSSD takes exactly 3 operands") + } +} + +func __asm_proxy_VFPCLASSSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VFPCLASSSS(v[0], v[1], v[2]) + } else { + panic("instruction VFPCLASSSS takes exactly 3 operands") + } +} + +func __asm_proxy_VFRCZPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VFRCZPD(v[0], v[1]) + } else { + panic("instruction VFRCZPD takes exactly 2 operands") + } +} + +func __asm_proxy_VFRCZPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VFRCZPS(v[0], v[1]) + } else { + panic("instruction VFRCZPS takes exactly 2 operands") + } +} + +func __asm_proxy_VFRCZSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VFRCZSD(v[0], v[1]) + } else { + panic("instruction VFRCZSD takes exactly 2 operands") + } +} + +func __asm_proxy_VFRCZSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VFRCZSS(v[0], v[1]) + } else { + panic("instruction VFRCZSS takes exactly 2 operands") + } +} + +func __asm_proxy_VGATHERDPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VGATHERDPD(v[0], v[1]) + case 3 : return p.VGATHERDPD(v[0], v[1], v[2]) + default : panic("instruction VGATHERDPD takes 2 or 3 operands") + } +} + +func __asm_proxy_VGATHERDPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VGATHERDPS(v[0], v[1]) + case 3 : return p.VGATHERDPS(v[0], v[1], v[2]) + default : panic("instruction VGATHERDPS takes 2 or 3 operands") + } +} + +func __asm_proxy_VGATHERPF0DPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VGATHERPF0DPD(v[0]) + } else { + panic("instruction VGATHERPF0DPD takes exactly 1 operand") + } +} + +func __asm_proxy_VGATHERPF0DPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VGATHERPF0DPS(v[0]) + } else { + panic("instruction VGATHERPF0DPS takes exactly 1 operand") + } +} + +func __asm_proxy_VGATHERPF0QPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VGATHERPF0QPD(v[0]) + } else { + panic("instruction VGATHERPF0QPD takes exactly 1 operand") + } +} + +func __asm_proxy_VGATHERPF0QPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VGATHERPF0QPS(v[0]) + } else { + panic("instruction VGATHERPF0QPS takes exactly 1 operand") + } +} + +func __asm_proxy_VGATHERPF1DPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VGATHERPF1DPD(v[0]) + } else { + panic("instruction VGATHERPF1DPD takes exactly 1 operand") + } +} + +func __asm_proxy_VGATHERPF1DPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VGATHERPF1DPS(v[0]) + } else { + panic("instruction VGATHERPF1DPS takes exactly 1 operand") + } +} + +func __asm_proxy_VGATHERPF1QPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VGATHERPF1QPD(v[0]) + } else { + panic("instruction VGATHERPF1QPD takes exactly 1 operand") + } +} + +func __asm_proxy_VGATHERPF1QPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VGATHERPF1QPS(v[0]) + } else { + panic("instruction VGATHERPF1QPS takes exactly 1 operand") + } +} + +func __asm_proxy_VGATHERQPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VGATHERQPD(v[0], v[1]) + case 3 : return p.VGATHERQPD(v[0], v[1], v[2]) + default : panic("instruction VGATHERQPD takes 2 or 3 operands") + } +} + +func __asm_proxy_VGATHERQPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VGATHERQPS(v[0], v[1]) + case 3 : return p.VGATHERQPS(v[0], v[1], v[2]) + default : panic("instruction VGATHERQPS takes 2 or 3 operands") + } +} + +func __asm_proxy_VGETEXPPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VGETEXPPD(v[0], v[1]) + case 3 : return p.VGETEXPPD(v[0], v[1], v[2]) + default : panic("instruction VGETEXPPD takes 2 or 3 operands") + } +} + +func __asm_proxy_VGETEXPPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VGETEXPPS(v[0], v[1]) + case 3 : return p.VGETEXPPS(v[0], v[1], v[2]) + default : panic("instruction VGETEXPPS takes 2 or 3 operands") + } +} + +func __asm_proxy_VGETEXPSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VGETEXPSD(v[0], v[1], v[2]) + case 4 : return p.VGETEXPSD(v[0], v[1], v[2], v[3]) + default : panic("instruction VGETEXPSD takes 3 or 4 operands") + } +} + +func __asm_proxy_VGETEXPSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VGETEXPSS(v[0], v[1], v[2]) + case 4 : return p.VGETEXPSS(v[0], v[1], v[2], v[3]) + default : panic("instruction VGETEXPSS takes 3 or 4 operands") + } +} + +func __asm_proxy_VGETMANTPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VGETMANTPD(v[0], v[1], v[2]) + case 4 : return p.VGETMANTPD(v[0], v[1], v[2], v[3]) + default : panic("instruction VGETMANTPD takes 3 or 4 operands") + } +} + +func __asm_proxy_VGETMANTPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VGETMANTPS(v[0], v[1], v[2]) + case 4 : return p.VGETMANTPS(v[0], v[1], v[2], v[3]) + default : panic("instruction VGETMANTPS takes 3 or 4 operands") + } +} + +func __asm_proxy_VGETMANTSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VGETMANTSD(v[0], v[1], v[2], v[3]) + case 5 : return p.VGETMANTSD(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VGETMANTSD takes 4 or 5 operands") + } +} + +func __asm_proxy_VGETMANTSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VGETMANTSS(v[0], v[1], v[2], v[3]) + case 5 : return p.VGETMANTSS(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VGETMANTSS takes 4 or 5 operands") + } +} + +func __asm_proxy_VHADDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VHADDPD(v[0], v[1], v[2]) + } else { + panic("instruction VHADDPD takes exactly 3 operands") + } +} + +func __asm_proxy_VHADDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VHADDPS(v[0], v[1], v[2]) + } else { + panic("instruction VHADDPS takes exactly 3 operands") + } +} + +func __asm_proxy_VHSUBPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VHSUBPD(v[0], v[1], v[2]) + } else { + panic("instruction VHSUBPD takes exactly 3 operands") + } +} + +func __asm_proxy_VHSUBPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VHSUBPS(v[0], v[1], v[2]) + } else { + panic("instruction VHSUBPS takes exactly 3 operands") + } +} + +func __asm_proxy_VINSERTF128__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VINSERTF128(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VINSERTF128 takes exactly 4 operands") + } +} + +func __asm_proxy_VINSERTF32X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VINSERTF32X4(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VINSERTF32X4 takes exactly 4 operands") + } +} + +func __asm_proxy_VINSERTF32X8__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VINSERTF32X8(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VINSERTF32X8 takes exactly 4 operands") + } +} + +func __asm_proxy_VINSERTF64X2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VINSERTF64X2(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VINSERTF64X2 takes exactly 4 operands") + } +} + +func __asm_proxy_VINSERTF64X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VINSERTF64X4(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VINSERTF64X4 takes exactly 4 operands") + } +} + +func __asm_proxy_VINSERTI128__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VINSERTI128(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VINSERTI128 takes exactly 4 operands") + } +} + +func __asm_proxy_VINSERTI32X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VINSERTI32X4(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VINSERTI32X4 takes exactly 4 operands") + } +} + +func __asm_proxy_VINSERTI32X8__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VINSERTI32X8(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VINSERTI32X8 takes exactly 4 operands") + } +} + +func __asm_proxy_VINSERTI64X2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VINSERTI64X2(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VINSERTI64X2 takes exactly 4 operands") + } +} + +func __asm_proxy_VINSERTI64X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VINSERTI64X4(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VINSERTI64X4 takes exactly 4 operands") + } +} + +func __asm_proxy_VINSERTPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VINSERTPS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VINSERTPS takes exactly 4 operands") + } +} + +func __asm_proxy_VLDDQU__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VLDDQU(v[0], v[1]) + } else { + panic("instruction VLDDQU takes exactly 2 operands") + } +} + +func __asm_proxy_VLDMXCSR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VLDMXCSR(v[0]) + } else { + panic("instruction VLDMXCSR takes exactly 1 operand") + } +} + +func __asm_proxy_VMASKMOVDQU__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMASKMOVDQU(v[0], v[1]) + } else { + panic("instruction VMASKMOVDQU takes exactly 2 operands") + } +} + +func __asm_proxy_VMASKMOVPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VMASKMOVPD(v[0], v[1], v[2]) + } else { + panic("instruction VMASKMOVPD takes exactly 3 operands") + } +} + +func __asm_proxy_VMASKMOVPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VMASKMOVPS(v[0], v[1], v[2]) + } else { + panic("instruction VMASKMOVPS takes exactly 3 operands") + } +} + +func __asm_proxy_VMAXPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VMAXPD(v[0], v[1], v[2]) + case 4 : return p.VMAXPD(v[0], v[1], v[2], v[3]) + default : panic("instruction VMAXPD takes 3 or 4 operands") + } +} + +func __asm_proxy_VMAXPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VMAXPS(v[0], v[1], v[2]) + case 4 : return p.VMAXPS(v[0], v[1], v[2], v[3]) + default : panic("instruction VMAXPS takes 3 or 4 operands") + } +} + +func __asm_proxy_VMAXSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VMAXSD(v[0], v[1], v[2]) + case 4 : return p.VMAXSD(v[0], v[1], v[2], v[3]) + default : panic("instruction VMAXSD takes 3 or 4 operands") + } +} + +func __asm_proxy_VMAXSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VMAXSS(v[0], v[1], v[2]) + case 4 : return p.VMAXSS(v[0], v[1], v[2], v[3]) + default : panic("instruction VMAXSS takes 3 or 4 operands") + } +} + +func __asm_proxy_VMINPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VMINPD(v[0], v[1], v[2]) + case 4 : return p.VMINPD(v[0], v[1], v[2], v[3]) + default : panic("instruction VMINPD takes 3 or 4 operands") + } +} + +func __asm_proxy_VMINPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VMINPS(v[0], v[1], v[2]) + case 4 : return p.VMINPS(v[0], v[1], v[2], v[3]) + default : panic("instruction VMINPS takes 3 or 4 operands") + } +} + +func __asm_proxy_VMINSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VMINSD(v[0], v[1], v[2]) + case 4 : return p.VMINSD(v[0], v[1], v[2], v[3]) + default : panic("instruction VMINSD takes 3 or 4 operands") + } +} + +func __asm_proxy_VMINSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VMINSS(v[0], v[1], v[2]) + case 4 : return p.VMINSS(v[0], v[1], v[2], v[3]) + default : panic("instruction VMINSS takes 3 or 4 operands") + } +} + +func __asm_proxy_VMOVAPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVAPD(v[0], v[1]) + } else { + panic("instruction VMOVAPD takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVAPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVAPS(v[0], v[1]) + } else { + panic("instruction VMOVAPS takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVD(v[0], v[1]) + } else { + panic("instruction VMOVD takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVDDUP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVDDUP(v[0], v[1]) + } else { + panic("instruction VMOVDDUP takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVDQA__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVDQA(v[0], v[1]) + } else { + panic("instruction VMOVDQA takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVDQA32__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVDQA32(v[0], v[1]) + } else { + panic("instruction VMOVDQA32 takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVDQA64__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVDQA64(v[0], v[1]) + } else { + panic("instruction VMOVDQA64 takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVDQU__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVDQU(v[0], v[1]) + } else { + panic("instruction VMOVDQU takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVDQU16__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVDQU16(v[0], v[1]) + } else { + panic("instruction VMOVDQU16 takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVDQU32__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVDQU32(v[0], v[1]) + } else { + panic("instruction VMOVDQU32 takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVDQU64__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVDQU64(v[0], v[1]) + } else { + panic("instruction VMOVDQU64 takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVDQU8__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVDQU8(v[0], v[1]) + } else { + panic("instruction VMOVDQU8 takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVHLPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VMOVHLPS(v[0], v[1], v[2]) + } else { + panic("instruction VMOVHLPS takes exactly 3 operands") + } +} + +func __asm_proxy_VMOVHPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VMOVHPD(v[0], v[1]) + case 3 : return p.VMOVHPD(v[0], v[1], v[2]) + default : panic("instruction VMOVHPD takes 2 or 3 operands") + } +} + +func __asm_proxy_VMOVHPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VMOVHPS(v[0], v[1]) + case 3 : return p.VMOVHPS(v[0], v[1], v[2]) + default : panic("instruction VMOVHPS takes 2 or 3 operands") + } +} + +func __asm_proxy_VMOVLHPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VMOVLHPS(v[0], v[1], v[2]) + } else { + panic("instruction VMOVLHPS takes exactly 3 operands") + } +} + +func __asm_proxy_VMOVLPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VMOVLPD(v[0], v[1]) + case 3 : return p.VMOVLPD(v[0], v[1], v[2]) + default : panic("instruction VMOVLPD takes 2 or 3 operands") + } +} + +func __asm_proxy_VMOVLPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VMOVLPS(v[0], v[1]) + case 3 : return p.VMOVLPS(v[0], v[1], v[2]) + default : panic("instruction VMOVLPS takes 2 or 3 operands") + } +} + +func __asm_proxy_VMOVMSKPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVMSKPD(v[0], v[1]) + } else { + panic("instruction VMOVMSKPD takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVMSKPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVMSKPS(v[0], v[1]) + } else { + panic("instruction VMOVMSKPS takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVNTDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVNTDQ(v[0], v[1]) + } else { + panic("instruction VMOVNTDQ takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVNTDQA__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVNTDQA(v[0], v[1]) + } else { + panic("instruction VMOVNTDQA takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVNTPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVNTPD(v[0], v[1]) + } else { + panic("instruction VMOVNTPD takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVNTPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVNTPS(v[0], v[1]) + } else { + panic("instruction VMOVNTPS takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVQ(v[0], v[1]) + } else { + panic("instruction VMOVQ takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VMOVSD(v[0], v[1]) + case 3 : return p.VMOVSD(v[0], v[1], v[2]) + default : panic("instruction VMOVSD takes 2 or 3 operands") + } +} + +func __asm_proxy_VMOVSHDUP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVSHDUP(v[0], v[1]) + } else { + panic("instruction VMOVSHDUP takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVSLDUP__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVSLDUP(v[0], v[1]) + } else { + panic("instruction VMOVSLDUP takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VMOVSS(v[0], v[1]) + case 3 : return p.VMOVSS(v[0], v[1], v[2]) + default : panic("instruction VMOVSS takes 2 or 3 operands") + } +} + +func __asm_proxy_VMOVUPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVUPD(v[0], v[1]) + } else { + panic("instruction VMOVUPD takes exactly 2 operands") + } +} + +func __asm_proxy_VMOVUPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VMOVUPS(v[0], v[1]) + } else { + panic("instruction VMOVUPS takes exactly 2 operands") + } +} + +func __asm_proxy_VMPSADBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VMPSADBW(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VMPSADBW takes exactly 4 operands") + } +} + +func __asm_proxy_VMULPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VMULPD(v[0], v[1], v[2]) + case 4 : return p.VMULPD(v[0], v[1], v[2], v[3]) + default : panic("instruction VMULPD takes 3 or 4 operands") + } +} + +func __asm_proxy_VMULPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VMULPS(v[0], v[1], v[2]) + case 4 : return p.VMULPS(v[0], v[1], v[2], v[3]) + default : panic("instruction VMULPS takes 3 or 4 operands") + } +} + +func __asm_proxy_VMULSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VMULSD(v[0], v[1], v[2]) + case 4 : return p.VMULSD(v[0], v[1], v[2], v[3]) + default : panic("instruction VMULSD takes 3 or 4 operands") + } +} + +func __asm_proxy_VMULSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VMULSS(v[0], v[1], v[2]) + case 4 : return p.VMULSS(v[0], v[1], v[2], v[3]) + default : panic("instruction VMULSS takes 3 or 4 operands") + } +} + +func __asm_proxy_VORPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VORPD(v[0], v[1], v[2]) + } else { + panic("instruction VORPD takes exactly 3 operands") + } +} + +func __asm_proxy_VORPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VORPS(v[0], v[1], v[2]) + } else { + panic("instruction VORPS takes exactly 3 operands") + } +} + +func __asm_proxy_VPABSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPABSB(v[0], v[1]) + } else { + panic("instruction VPABSB takes exactly 2 operands") + } +} + +func __asm_proxy_VPABSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPABSD(v[0], v[1]) + } else { + panic("instruction VPABSD takes exactly 2 operands") + } +} + +func __asm_proxy_VPABSQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPABSQ(v[0], v[1]) + } else { + panic("instruction VPABSQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPABSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPABSW(v[0], v[1]) + } else { + panic("instruction VPABSW takes exactly 2 operands") + } +} + +func __asm_proxy_VPACKSSDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPACKSSDW(v[0], v[1], v[2]) + } else { + panic("instruction VPACKSSDW takes exactly 3 operands") + } +} + +func __asm_proxy_VPACKSSWB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPACKSSWB(v[0], v[1], v[2]) + } else { + panic("instruction VPACKSSWB takes exactly 3 operands") + } +} + +func __asm_proxy_VPACKUSDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPACKUSDW(v[0], v[1], v[2]) + } else { + panic("instruction VPACKUSDW takes exactly 3 operands") + } +} + +func __asm_proxy_VPACKUSWB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPACKUSWB(v[0], v[1], v[2]) + } else { + panic("instruction VPACKUSWB takes exactly 3 operands") + } +} + +func __asm_proxy_VPADDB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPADDB(v[0], v[1], v[2]) + } else { + panic("instruction VPADDB takes exactly 3 operands") + } +} + +func __asm_proxy_VPADDD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPADDD(v[0], v[1], v[2]) + } else { + panic("instruction VPADDD takes exactly 3 operands") + } +} + +func __asm_proxy_VPADDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPADDQ(v[0], v[1], v[2]) + } else { + panic("instruction VPADDQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPADDSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPADDSB(v[0], v[1], v[2]) + } else { + panic("instruction VPADDSB takes exactly 3 operands") + } +} + +func __asm_proxy_VPADDSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPADDSW(v[0], v[1], v[2]) + } else { + panic("instruction VPADDSW takes exactly 3 operands") + } +} + +func __asm_proxy_VPADDUSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPADDUSB(v[0], v[1], v[2]) + } else { + panic("instruction VPADDUSB takes exactly 3 operands") + } +} + +func __asm_proxy_VPADDUSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPADDUSW(v[0], v[1], v[2]) + } else { + panic("instruction VPADDUSW takes exactly 3 operands") + } +} + +func __asm_proxy_VPADDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPADDW(v[0], v[1], v[2]) + } else { + panic("instruction VPADDW takes exactly 3 operands") + } +} + +func __asm_proxy_VPALIGNR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPALIGNR(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPALIGNR takes exactly 4 operands") + } +} + +func __asm_proxy_VPAND__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPAND(v[0], v[1], v[2]) + } else { + panic("instruction VPAND takes exactly 3 operands") + } +} + +func __asm_proxy_VPANDD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPANDD(v[0], v[1], v[2]) + } else { + panic("instruction VPANDD takes exactly 3 operands") + } +} + +func __asm_proxy_VPANDN__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPANDN(v[0], v[1], v[2]) + } else { + panic("instruction VPANDN takes exactly 3 operands") + } +} + +func __asm_proxy_VPANDND__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPANDND(v[0], v[1], v[2]) + } else { + panic("instruction VPANDND takes exactly 3 operands") + } +} + +func __asm_proxy_VPANDNQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPANDNQ(v[0], v[1], v[2]) + } else { + panic("instruction VPANDNQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPANDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPANDQ(v[0], v[1], v[2]) + } else { + panic("instruction VPANDQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPAVGB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPAVGB(v[0], v[1], v[2]) + } else { + panic("instruction VPAVGB takes exactly 3 operands") + } +} + +func __asm_proxy_VPAVGW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPAVGW(v[0], v[1], v[2]) + } else { + panic("instruction VPAVGW takes exactly 3 operands") + } +} + +func __asm_proxy_VPBLENDD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPBLENDD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPBLENDD takes exactly 4 operands") + } +} + +func __asm_proxy_VPBLENDMB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPBLENDMB(v[0], v[1], v[2]) + } else { + panic("instruction VPBLENDMB takes exactly 3 operands") + } +} + +func __asm_proxy_VPBLENDMD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPBLENDMD(v[0], v[1], v[2]) + } else { + panic("instruction VPBLENDMD takes exactly 3 operands") + } +} + +func __asm_proxy_VPBLENDMQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPBLENDMQ(v[0], v[1], v[2]) + } else { + panic("instruction VPBLENDMQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPBLENDMW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPBLENDMW(v[0], v[1], v[2]) + } else { + panic("instruction VPBLENDMW takes exactly 3 operands") + } +} + +func __asm_proxy_VPBLENDVB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPBLENDVB(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPBLENDVB takes exactly 4 operands") + } +} + +func __asm_proxy_VPBLENDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPBLENDW(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPBLENDW takes exactly 4 operands") + } +} + +func __asm_proxy_VPBROADCASTB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPBROADCASTB(v[0], v[1]) + } else { + panic("instruction VPBROADCASTB takes exactly 2 operands") + } +} + +func __asm_proxy_VPBROADCASTD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPBROADCASTD(v[0], v[1]) + } else { + panic("instruction VPBROADCASTD takes exactly 2 operands") + } +} + +func __asm_proxy_VPBROADCASTMB2Q__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPBROADCASTMB2Q(v[0], v[1]) + } else { + panic("instruction VPBROADCASTMB2Q takes exactly 2 operands") + } +} + +func __asm_proxy_VPBROADCASTMW2D__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPBROADCASTMW2D(v[0], v[1]) + } else { + panic("instruction VPBROADCASTMW2D takes exactly 2 operands") + } +} + +func __asm_proxy_VPBROADCASTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPBROADCASTQ(v[0], v[1]) + } else { + panic("instruction VPBROADCASTQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPBROADCASTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPBROADCASTW(v[0], v[1]) + } else { + panic("instruction VPBROADCASTW takes exactly 2 operands") + } +} + +func __asm_proxy_VPCLMULQDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCLMULQDQ(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCLMULQDQ takes exactly 4 operands") + } +} + +func __asm_proxy_VPCMOV__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCMOV(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCMOV takes exactly 4 operands") + } +} + +func __asm_proxy_VPCMPB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCMPB(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCMPB takes exactly 4 operands") + } +} + +func __asm_proxy_VPCMPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCMPD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCMPD takes exactly 4 operands") + } +} + +func __asm_proxy_VPCMPEQB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPCMPEQB(v[0], v[1], v[2]) + } else { + panic("instruction VPCMPEQB takes exactly 3 operands") + } +} + +func __asm_proxy_VPCMPEQD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPCMPEQD(v[0], v[1], v[2]) + } else { + panic("instruction VPCMPEQD takes exactly 3 operands") + } +} + +func __asm_proxy_VPCMPEQQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPCMPEQQ(v[0], v[1], v[2]) + } else { + panic("instruction VPCMPEQQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPCMPEQW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPCMPEQW(v[0], v[1], v[2]) + } else { + panic("instruction VPCMPEQW takes exactly 3 operands") + } +} + +func __asm_proxy_VPCMPESTRI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPCMPESTRI(v[0], v[1], v[2]) + } else { + panic("instruction VPCMPESTRI takes exactly 3 operands") + } +} + +func __asm_proxy_VPCMPESTRM__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPCMPESTRM(v[0], v[1], v[2]) + } else { + panic("instruction VPCMPESTRM takes exactly 3 operands") + } +} + +func __asm_proxy_VPCMPGTB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPCMPGTB(v[0], v[1], v[2]) + } else { + panic("instruction VPCMPGTB takes exactly 3 operands") + } +} + +func __asm_proxy_VPCMPGTD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPCMPGTD(v[0], v[1], v[2]) + } else { + panic("instruction VPCMPGTD takes exactly 3 operands") + } +} + +func __asm_proxy_VPCMPGTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPCMPGTQ(v[0], v[1], v[2]) + } else { + panic("instruction VPCMPGTQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPCMPGTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPCMPGTW(v[0], v[1], v[2]) + } else { + panic("instruction VPCMPGTW takes exactly 3 operands") + } +} + +func __asm_proxy_VPCMPISTRI__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPCMPISTRI(v[0], v[1], v[2]) + } else { + panic("instruction VPCMPISTRI takes exactly 3 operands") + } +} + +func __asm_proxy_VPCMPISTRM__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPCMPISTRM(v[0], v[1], v[2]) + } else { + panic("instruction VPCMPISTRM takes exactly 3 operands") + } +} + +func __asm_proxy_VPCMPQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCMPQ(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCMPQ takes exactly 4 operands") + } +} + +func __asm_proxy_VPCMPUB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCMPUB(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCMPUB takes exactly 4 operands") + } +} + +func __asm_proxy_VPCMPUD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCMPUD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCMPUD takes exactly 4 operands") + } +} + +func __asm_proxy_VPCMPUQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCMPUQ(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCMPUQ takes exactly 4 operands") + } +} + +func __asm_proxy_VPCMPUW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCMPUW(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCMPUW takes exactly 4 operands") + } +} + +func __asm_proxy_VPCMPW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCMPW(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCMPW takes exactly 4 operands") + } +} + +func __asm_proxy_VPCOMB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCOMB(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCOMB takes exactly 4 operands") + } +} + +func __asm_proxy_VPCOMD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCOMD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCOMD takes exactly 4 operands") + } +} + +func __asm_proxy_VPCOMPRESSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPCOMPRESSD(v[0], v[1]) + } else { + panic("instruction VPCOMPRESSD takes exactly 2 operands") + } +} + +func __asm_proxy_VPCOMPRESSQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPCOMPRESSQ(v[0], v[1]) + } else { + panic("instruction VPCOMPRESSQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPCOMQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCOMQ(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCOMQ takes exactly 4 operands") + } +} + +func __asm_proxy_VPCOMUB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCOMUB(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCOMUB takes exactly 4 operands") + } +} + +func __asm_proxy_VPCOMUD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCOMUD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCOMUD takes exactly 4 operands") + } +} + +func __asm_proxy_VPCOMUQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCOMUQ(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCOMUQ takes exactly 4 operands") + } +} + +func __asm_proxy_VPCOMUW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCOMUW(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCOMUW takes exactly 4 operands") + } +} + +func __asm_proxy_VPCOMW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPCOMW(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPCOMW takes exactly 4 operands") + } +} + +func __asm_proxy_VPCONFLICTD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPCONFLICTD(v[0], v[1]) + } else { + panic("instruction VPCONFLICTD takes exactly 2 operands") + } +} + +func __asm_proxy_VPCONFLICTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPCONFLICTQ(v[0], v[1]) + } else { + panic("instruction VPCONFLICTQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPERM2F128__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPERM2F128(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPERM2F128 takes exactly 4 operands") + } +} + +func __asm_proxy_VPERM2I128__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPERM2I128(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPERM2I128 takes exactly 4 operands") + } +} + +func __asm_proxy_VPERMB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMB(v[0], v[1], v[2]) + } else { + panic("instruction VPERMB takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMD(v[0], v[1], v[2]) + } else { + panic("instruction VPERMD takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMI2B__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMI2B(v[0], v[1], v[2]) + } else { + panic("instruction VPERMI2B takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMI2D__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMI2D(v[0], v[1], v[2]) + } else { + panic("instruction VPERMI2D takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMI2PD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMI2PD(v[0], v[1], v[2]) + } else { + panic("instruction VPERMI2PD takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMI2PS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMI2PS(v[0], v[1], v[2]) + } else { + panic("instruction VPERMI2PS takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMI2Q__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMI2Q(v[0], v[1], v[2]) + } else { + panic("instruction VPERMI2Q takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMI2W__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMI2W(v[0], v[1], v[2]) + } else { + panic("instruction VPERMI2W takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMIL2PD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 5 { + return p.VPERMIL2PD(v[0], v[1], v[2], v[3], v[4]) + } else { + panic("instruction VPERMIL2PD takes exactly 5 operands") + } +} + +func __asm_proxy_VPERMIL2PS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 5 { + return p.VPERMIL2PS(v[0], v[1], v[2], v[3], v[4]) + } else { + panic("instruction VPERMIL2PS takes exactly 5 operands") + } +} + +func __asm_proxy_VPERMILPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMILPD(v[0], v[1], v[2]) + } else { + panic("instruction VPERMILPD takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMILPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMILPS(v[0], v[1], v[2]) + } else { + panic("instruction VPERMILPS takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMPD(v[0], v[1], v[2]) + } else { + panic("instruction VPERMPD takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMPS(v[0], v[1], v[2]) + } else { + panic("instruction VPERMPS takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMQ(v[0], v[1], v[2]) + } else { + panic("instruction VPERMQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMT2B__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMT2B(v[0], v[1], v[2]) + } else { + panic("instruction VPERMT2B takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMT2D__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMT2D(v[0], v[1], v[2]) + } else { + panic("instruction VPERMT2D takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMT2PD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMT2PD(v[0], v[1], v[2]) + } else { + panic("instruction VPERMT2PD takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMT2PS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMT2PS(v[0], v[1], v[2]) + } else { + panic("instruction VPERMT2PS takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMT2Q__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMT2Q(v[0], v[1], v[2]) + } else { + panic("instruction VPERMT2Q takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMT2W__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMT2W(v[0], v[1], v[2]) + } else { + panic("instruction VPERMT2W takes exactly 3 operands") + } +} + +func __asm_proxy_VPERMW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPERMW(v[0], v[1], v[2]) + } else { + panic("instruction VPERMW takes exactly 3 operands") + } +} + +func __asm_proxy_VPEXPANDD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPEXPANDD(v[0], v[1]) + } else { + panic("instruction VPEXPANDD takes exactly 2 operands") + } +} + +func __asm_proxy_VPEXPANDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPEXPANDQ(v[0], v[1]) + } else { + panic("instruction VPEXPANDQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPEXTRB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPEXTRB(v[0], v[1], v[2]) + } else { + panic("instruction VPEXTRB takes exactly 3 operands") + } +} + +func __asm_proxy_VPEXTRD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPEXTRD(v[0], v[1], v[2]) + } else { + panic("instruction VPEXTRD takes exactly 3 operands") + } +} + +func __asm_proxy_VPEXTRQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPEXTRQ(v[0], v[1], v[2]) + } else { + panic("instruction VPEXTRQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPEXTRW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPEXTRW(v[0], v[1], v[2]) + } else { + panic("instruction VPEXTRW takes exactly 3 operands") + } +} + +func __asm_proxy_VPGATHERDD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VPGATHERDD(v[0], v[1]) + case 3 : return p.VPGATHERDD(v[0], v[1], v[2]) + default : panic("instruction VPGATHERDD takes 2 or 3 operands") + } +} + +func __asm_proxy_VPGATHERDQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VPGATHERDQ(v[0], v[1]) + case 3 : return p.VPGATHERDQ(v[0], v[1], v[2]) + default : panic("instruction VPGATHERDQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VPGATHERQD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VPGATHERQD(v[0], v[1]) + case 3 : return p.VPGATHERQD(v[0], v[1], v[2]) + default : panic("instruction VPGATHERQD takes 2 or 3 operands") + } +} + +func __asm_proxy_VPGATHERQQ__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VPGATHERQQ(v[0], v[1]) + case 3 : return p.VPGATHERQQ(v[0], v[1], v[2]) + default : panic("instruction VPGATHERQQ takes 2 or 3 operands") + } +} + +func __asm_proxy_VPHADDBD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHADDBD(v[0], v[1]) + } else { + panic("instruction VPHADDBD takes exactly 2 operands") + } +} + +func __asm_proxy_VPHADDBQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHADDBQ(v[0], v[1]) + } else { + panic("instruction VPHADDBQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPHADDBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHADDBW(v[0], v[1]) + } else { + panic("instruction VPHADDBW takes exactly 2 operands") + } +} + +func __asm_proxy_VPHADDD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPHADDD(v[0], v[1], v[2]) + } else { + panic("instruction VPHADDD takes exactly 3 operands") + } +} + +func __asm_proxy_VPHADDDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHADDDQ(v[0], v[1]) + } else { + panic("instruction VPHADDDQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPHADDSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPHADDSW(v[0], v[1], v[2]) + } else { + panic("instruction VPHADDSW takes exactly 3 operands") + } +} + +func __asm_proxy_VPHADDUBD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHADDUBD(v[0], v[1]) + } else { + panic("instruction VPHADDUBD takes exactly 2 operands") + } +} + +func __asm_proxy_VPHADDUBQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHADDUBQ(v[0], v[1]) + } else { + panic("instruction VPHADDUBQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPHADDUBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHADDUBW(v[0], v[1]) + } else { + panic("instruction VPHADDUBW takes exactly 2 operands") + } +} + +func __asm_proxy_VPHADDUDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHADDUDQ(v[0], v[1]) + } else { + panic("instruction VPHADDUDQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPHADDUWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHADDUWD(v[0], v[1]) + } else { + panic("instruction VPHADDUWD takes exactly 2 operands") + } +} + +func __asm_proxy_VPHADDUWQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHADDUWQ(v[0], v[1]) + } else { + panic("instruction VPHADDUWQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPHADDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPHADDW(v[0], v[1], v[2]) + } else { + panic("instruction VPHADDW takes exactly 3 operands") + } +} + +func __asm_proxy_VPHADDWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHADDWD(v[0], v[1]) + } else { + panic("instruction VPHADDWD takes exactly 2 operands") + } +} + +func __asm_proxy_VPHADDWQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHADDWQ(v[0], v[1]) + } else { + panic("instruction VPHADDWQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPHMINPOSUW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHMINPOSUW(v[0], v[1]) + } else { + panic("instruction VPHMINPOSUW takes exactly 2 operands") + } +} + +func __asm_proxy_VPHSUBBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHSUBBW(v[0], v[1]) + } else { + panic("instruction VPHSUBBW takes exactly 2 operands") + } +} + +func __asm_proxy_VPHSUBD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPHSUBD(v[0], v[1], v[2]) + } else { + panic("instruction VPHSUBD takes exactly 3 operands") + } +} + +func __asm_proxy_VPHSUBDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHSUBDQ(v[0], v[1]) + } else { + panic("instruction VPHSUBDQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPHSUBSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPHSUBSW(v[0], v[1], v[2]) + } else { + panic("instruction VPHSUBSW takes exactly 3 operands") + } +} + +func __asm_proxy_VPHSUBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPHSUBW(v[0], v[1], v[2]) + } else { + panic("instruction VPHSUBW takes exactly 3 operands") + } +} + +func __asm_proxy_VPHSUBWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPHSUBWD(v[0], v[1]) + } else { + panic("instruction VPHSUBWD takes exactly 2 operands") + } +} + +func __asm_proxy_VPINSRB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPINSRB(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPINSRB takes exactly 4 operands") + } +} + +func __asm_proxy_VPINSRD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPINSRD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPINSRD takes exactly 4 operands") + } +} + +func __asm_proxy_VPINSRQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPINSRQ(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPINSRQ takes exactly 4 operands") + } +} + +func __asm_proxy_VPINSRW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPINSRW(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPINSRW takes exactly 4 operands") + } +} + +func __asm_proxy_VPLZCNTD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPLZCNTD(v[0], v[1]) + } else { + panic("instruction VPLZCNTD takes exactly 2 operands") + } +} + +func __asm_proxy_VPLZCNTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPLZCNTQ(v[0], v[1]) + } else { + panic("instruction VPLZCNTQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPMACSDD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPMACSDD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPMACSDD takes exactly 4 operands") + } +} + +func __asm_proxy_VPMACSDQH__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPMACSDQH(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPMACSDQH takes exactly 4 operands") + } +} + +func __asm_proxy_VPMACSDQL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPMACSDQL(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPMACSDQL takes exactly 4 operands") + } +} + +func __asm_proxy_VPMACSSDD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPMACSSDD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPMACSSDD takes exactly 4 operands") + } +} + +func __asm_proxy_VPMACSSDQH__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPMACSSDQH(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPMACSSDQH takes exactly 4 operands") + } +} + +func __asm_proxy_VPMACSSDQL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPMACSSDQL(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPMACSSDQL takes exactly 4 operands") + } +} + +func __asm_proxy_VPMACSSWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPMACSSWD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPMACSSWD takes exactly 4 operands") + } +} + +func __asm_proxy_VPMACSSWW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPMACSSWW(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPMACSSWW takes exactly 4 operands") + } +} + +func __asm_proxy_VPMACSWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPMACSWD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPMACSWD takes exactly 4 operands") + } +} + +func __asm_proxy_VPMACSWW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPMACSWW(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPMACSWW takes exactly 4 operands") + } +} + +func __asm_proxy_VPMADCSSWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPMADCSSWD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPMADCSSWD takes exactly 4 operands") + } +} + +func __asm_proxy_VPMADCSWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPMADCSWD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPMADCSWD takes exactly 4 operands") + } +} + +func __asm_proxy_VPMADD52HUQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMADD52HUQ(v[0], v[1], v[2]) + } else { + panic("instruction VPMADD52HUQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPMADD52LUQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMADD52LUQ(v[0], v[1], v[2]) + } else { + panic("instruction VPMADD52LUQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPMADDUBSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMADDUBSW(v[0], v[1], v[2]) + } else { + panic("instruction VPMADDUBSW takes exactly 3 operands") + } +} + +func __asm_proxy_VPMADDWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMADDWD(v[0], v[1], v[2]) + } else { + panic("instruction VPMADDWD takes exactly 3 operands") + } +} + +func __asm_proxy_VPMASKMOVD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMASKMOVD(v[0], v[1], v[2]) + } else { + panic("instruction VPMASKMOVD takes exactly 3 operands") + } +} + +func __asm_proxy_VPMASKMOVQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMASKMOVQ(v[0], v[1], v[2]) + } else { + panic("instruction VPMASKMOVQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPMAXSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMAXSB(v[0], v[1], v[2]) + } else { + panic("instruction VPMAXSB takes exactly 3 operands") + } +} + +func __asm_proxy_VPMAXSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMAXSD(v[0], v[1], v[2]) + } else { + panic("instruction VPMAXSD takes exactly 3 operands") + } +} + +func __asm_proxy_VPMAXSQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMAXSQ(v[0], v[1], v[2]) + } else { + panic("instruction VPMAXSQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPMAXSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMAXSW(v[0], v[1], v[2]) + } else { + panic("instruction VPMAXSW takes exactly 3 operands") + } +} + +func __asm_proxy_VPMAXUB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMAXUB(v[0], v[1], v[2]) + } else { + panic("instruction VPMAXUB takes exactly 3 operands") + } +} + +func __asm_proxy_VPMAXUD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMAXUD(v[0], v[1], v[2]) + } else { + panic("instruction VPMAXUD takes exactly 3 operands") + } +} + +func __asm_proxy_VPMAXUQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMAXUQ(v[0], v[1], v[2]) + } else { + panic("instruction VPMAXUQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPMAXUW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMAXUW(v[0], v[1], v[2]) + } else { + panic("instruction VPMAXUW takes exactly 3 operands") + } +} + +func __asm_proxy_VPMINSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMINSB(v[0], v[1], v[2]) + } else { + panic("instruction VPMINSB takes exactly 3 operands") + } +} + +func __asm_proxy_VPMINSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMINSD(v[0], v[1], v[2]) + } else { + panic("instruction VPMINSD takes exactly 3 operands") + } +} + +func __asm_proxy_VPMINSQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMINSQ(v[0], v[1], v[2]) + } else { + panic("instruction VPMINSQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPMINSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMINSW(v[0], v[1], v[2]) + } else { + panic("instruction VPMINSW takes exactly 3 operands") + } +} + +func __asm_proxy_VPMINUB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMINUB(v[0], v[1], v[2]) + } else { + panic("instruction VPMINUB takes exactly 3 operands") + } +} + +func __asm_proxy_VPMINUD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMINUD(v[0], v[1], v[2]) + } else { + panic("instruction VPMINUD takes exactly 3 operands") + } +} + +func __asm_proxy_VPMINUQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMINUQ(v[0], v[1], v[2]) + } else { + panic("instruction VPMINUQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPMINUW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMINUW(v[0], v[1], v[2]) + } else { + panic("instruction VPMINUW takes exactly 3 operands") + } +} + +func __asm_proxy_VPMOVB2M__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVB2M(v[0], v[1]) + } else { + panic("instruction VPMOVB2M takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVD2M__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVD2M(v[0], v[1]) + } else { + panic("instruction VPMOVD2M takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVDB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVDB(v[0], v[1]) + } else { + panic("instruction VPMOVDB takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVDW(v[0], v[1]) + } else { + panic("instruction VPMOVDW takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVM2B__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVM2B(v[0], v[1]) + } else { + panic("instruction VPMOVM2B takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVM2D__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVM2D(v[0], v[1]) + } else { + panic("instruction VPMOVM2D takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVM2Q__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVM2Q(v[0], v[1]) + } else { + panic("instruction VPMOVM2Q takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVM2W__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVM2W(v[0], v[1]) + } else { + panic("instruction VPMOVM2W takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVMSKB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVMSKB(v[0], v[1]) + } else { + panic("instruction VPMOVMSKB takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVQ2M__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVQ2M(v[0], v[1]) + } else { + panic("instruction VPMOVQ2M takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVQB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVQB(v[0], v[1]) + } else { + panic("instruction VPMOVQB takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVQD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVQD(v[0], v[1]) + } else { + panic("instruction VPMOVQD takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVQW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVQW(v[0], v[1]) + } else { + panic("instruction VPMOVQW takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVSDB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVSDB(v[0], v[1]) + } else { + panic("instruction VPMOVSDB takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVSDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVSDW(v[0], v[1]) + } else { + panic("instruction VPMOVSDW takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVSQB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVSQB(v[0], v[1]) + } else { + panic("instruction VPMOVSQB takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVSQD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVSQD(v[0], v[1]) + } else { + panic("instruction VPMOVSQD takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVSQW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVSQW(v[0], v[1]) + } else { + panic("instruction VPMOVSQW takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVSWB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVSWB(v[0], v[1]) + } else { + panic("instruction VPMOVSWB takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVSXBD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVSXBD(v[0], v[1]) + } else { + panic("instruction VPMOVSXBD takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVSXBQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVSXBQ(v[0], v[1]) + } else { + panic("instruction VPMOVSXBQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVSXBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVSXBW(v[0], v[1]) + } else { + panic("instruction VPMOVSXBW takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVSXDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVSXDQ(v[0], v[1]) + } else { + panic("instruction VPMOVSXDQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVSXWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVSXWD(v[0], v[1]) + } else { + panic("instruction VPMOVSXWD takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVSXWQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVSXWQ(v[0], v[1]) + } else { + panic("instruction VPMOVSXWQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVUSDB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVUSDB(v[0], v[1]) + } else { + panic("instruction VPMOVUSDB takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVUSDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVUSDW(v[0], v[1]) + } else { + panic("instruction VPMOVUSDW takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVUSQB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVUSQB(v[0], v[1]) + } else { + panic("instruction VPMOVUSQB takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVUSQD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVUSQD(v[0], v[1]) + } else { + panic("instruction VPMOVUSQD takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVUSQW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVUSQW(v[0], v[1]) + } else { + panic("instruction VPMOVUSQW takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVUSWB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVUSWB(v[0], v[1]) + } else { + panic("instruction VPMOVUSWB takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVW2M__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVW2M(v[0], v[1]) + } else { + panic("instruction VPMOVW2M takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVWB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVWB(v[0], v[1]) + } else { + panic("instruction VPMOVWB takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVZXBD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVZXBD(v[0], v[1]) + } else { + panic("instruction VPMOVZXBD takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVZXBQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVZXBQ(v[0], v[1]) + } else { + panic("instruction VPMOVZXBQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVZXBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVZXBW(v[0], v[1]) + } else { + panic("instruction VPMOVZXBW takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVZXDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVZXDQ(v[0], v[1]) + } else { + panic("instruction VPMOVZXDQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVZXWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVZXWD(v[0], v[1]) + } else { + panic("instruction VPMOVZXWD takes exactly 2 operands") + } +} + +func __asm_proxy_VPMOVZXWQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPMOVZXWQ(v[0], v[1]) + } else { + panic("instruction VPMOVZXWQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPMULDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMULDQ(v[0], v[1], v[2]) + } else { + panic("instruction VPMULDQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPMULHRSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMULHRSW(v[0], v[1], v[2]) + } else { + panic("instruction VPMULHRSW takes exactly 3 operands") + } +} + +func __asm_proxy_VPMULHUW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMULHUW(v[0], v[1], v[2]) + } else { + panic("instruction VPMULHUW takes exactly 3 operands") + } +} + +func __asm_proxy_VPMULHW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMULHW(v[0], v[1], v[2]) + } else { + panic("instruction VPMULHW takes exactly 3 operands") + } +} + +func __asm_proxy_VPMULLD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMULLD(v[0], v[1], v[2]) + } else { + panic("instruction VPMULLD takes exactly 3 operands") + } +} + +func __asm_proxy_VPMULLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMULLQ(v[0], v[1], v[2]) + } else { + panic("instruction VPMULLQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPMULLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMULLW(v[0], v[1], v[2]) + } else { + panic("instruction VPMULLW takes exactly 3 operands") + } +} + +func __asm_proxy_VPMULTISHIFTQB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMULTISHIFTQB(v[0], v[1], v[2]) + } else { + panic("instruction VPMULTISHIFTQB takes exactly 3 operands") + } +} + +func __asm_proxy_VPMULUDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPMULUDQ(v[0], v[1], v[2]) + } else { + panic("instruction VPMULUDQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPOPCNTD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPOPCNTD(v[0], v[1]) + } else { + panic("instruction VPOPCNTD takes exactly 2 operands") + } +} + +func __asm_proxy_VPOPCNTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPOPCNTQ(v[0], v[1]) + } else { + panic("instruction VPOPCNTQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPOR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPOR(v[0], v[1], v[2]) + } else { + panic("instruction VPOR takes exactly 3 operands") + } +} + +func __asm_proxy_VPORD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPORD(v[0], v[1], v[2]) + } else { + panic("instruction VPORD takes exactly 3 operands") + } +} + +func __asm_proxy_VPORQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPORQ(v[0], v[1], v[2]) + } else { + panic("instruction VPORQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPPERM__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPPERM(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPPERM takes exactly 4 operands") + } +} + +func __asm_proxy_VPROLD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPROLD(v[0], v[1], v[2]) + } else { + panic("instruction VPROLD takes exactly 3 operands") + } +} + +func __asm_proxy_VPROLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPROLQ(v[0], v[1], v[2]) + } else { + panic("instruction VPROLQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPROLVD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPROLVD(v[0], v[1], v[2]) + } else { + panic("instruction VPROLVD takes exactly 3 operands") + } +} + +func __asm_proxy_VPROLVQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPROLVQ(v[0], v[1], v[2]) + } else { + panic("instruction VPROLVQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPRORD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPRORD(v[0], v[1], v[2]) + } else { + panic("instruction VPRORD takes exactly 3 operands") + } +} + +func __asm_proxy_VPRORQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPRORQ(v[0], v[1], v[2]) + } else { + panic("instruction VPRORQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPRORVD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPRORVD(v[0], v[1], v[2]) + } else { + panic("instruction VPRORVD takes exactly 3 operands") + } +} + +func __asm_proxy_VPRORVQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPRORVQ(v[0], v[1], v[2]) + } else { + panic("instruction VPRORVQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPROTB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPROTB(v[0], v[1], v[2]) + } else { + panic("instruction VPROTB takes exactly 3 operands") + } +} + +func __asm_proxy_VPROTD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPROTD(v[0], v[1], v[2]) + } else { + panic("instruction VPROTD takes exactly 3 operands") + } +} + +func __asm_proxy_VPROTQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPROTQ(v[0], v[1], v[2]) + } else { + panic("instruction VPROTQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPROTW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPROTW(v[0], v[1], v[2]) + } else { + panic("instruction VPROTW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSADBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSADBW(v[0], v[1], v[2]) + } else { + panic("instruction VPSADBW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSCATTERDD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPSCATTERDD(v[0], v[1]) + } else { + panic("instruction VPSCATTERDD takes exactly 2 operands") + } +} + +func __asm_proxy_VPSCATTERDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPSCATTERDQ(v[0], v[1]) + } else { + panic("instruction VPSCATTERDQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPSCATTERQD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPSCATTERQD(v[0], v[1]) + } else { + panic("instruction VPSCATTERQD takes exactly 2 operands") + } +} + +func __asm_proxy_VPSCATTERQQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPSCATTERQQ(v[0], v[1]) + } else { + panic("instruction VPSCATTERQQ takes exactly 2 operands") + } +} + +func __asm_proxy_VPSHAB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSHAB(v[0], v[1], v[2]) + } else { + panic("instruction VPSHAB takes exactly 3 operands") + } +} + +func __asm_proxy_VPSHAD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSHAD(v[0], v[1], v[2]) + } else { + panic("instruction VPSHAD takes exactly 3 operands") + } +} + +func __asm_proxy_VPSHAQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSHAQ(v[0], v[1], v[2]) + } else { + panic("instruction VPSHAQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPSHAW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSHAW(v[0], v[1], v[2]) + } else { + panic("instruction VPSHAW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSHLB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSHLB(v[0], v[1], v[2]) + } else { + panic("instruction VPSHLB takes exactly 3 operands") + } +} + +func __asm_proxy_VPSHLD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSHLD(v[0], v[1], v[2]) + } else { + panic("instruction VPSHLD takes exactly 3 operands") + } +} + +func __asm_proxy_VPSHLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSHLQ(v[0], v[1], v[2]) + } else { + panic("instruction VPSHLQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPSHLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSHLW(v[0], v[1], v[2]) + } else { + panic("instruction VPSHLW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSHUFB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSHUFB(v[0], v[1], v[2]) + } else { + panic("instruction VPSHUFB takes exactly 3 operands") + } +} + +func __asm_proxy_VPSHUFD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSHUFD(v[0], v[1], v[2]) + } else { + panic("instruction VPSHUFD takes exactly 3 operands") + } +} + +func __asm_proxy_VPSHUFHW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSHUFHW(v[0], v[1], v[2]) + } else { + panic("instruction VPSHUFHW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSHUFLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSHUFLW(v[0], v[1], v[2]) + } else { + panic("instruction VPSHUFLW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSIGNB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSIGNB(v[0], v[1], v[2]) + } else { + panic("instruction VPSIGNB takes exactly 3 operands") + } +} + +func __asm_proxy_VPSIGND__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSIGND(v[0], v[1], v[2]) + } else { + panic("instruction VPSIGND takes exactly 3 operands") + } +} + +func __asm_proxy_VPSIGNW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSIGNW(v[0], v[1], v[2]) + } else { + panic("instruction VPSIGNW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSLLD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSLLD(v[0], v[1], v[2]) + } else { + panic("instruction VPSLLD takes exactly 3 operands") + } +} + +func __asm_proxy_VPSLLDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSLLDQ(v[0], v[1], v[2]) + } else { + panic("instruction VPSLLDQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPSLLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSLLQ(v[0], v[1], v[2]) + } else { + panic("instruction VPSLLQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPSLLVD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSLLVD(v[0], v[1], v[2]) + } else { + panic("instruction VPSLLVD takes exactly 3 operands") + } +} + +func __asm_proxy_VPSLLVQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSLLVQ(v[0], v[1], v[2]) + } else { + panic("instruction VPSLLVQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPSLLVW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSLLVW(v[0], v[1], v[2]) + } else { + panic("instruction VPSLLVW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSLLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSLLW(v[0], v[1], v[2]) + } else { + panic("instruction VPSLLW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRAD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRAD(v[0], v[1], v[2]) + } else { + panic("instruction VPSRAD takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRAQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRAQ(v[0], v[1], v[2]) + } else { + panic("instruction VPSRAQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRAVD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRAVD(v[0], v[1], v[2]) + } else { + panic("instruction VPSRAVD takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRAVQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRAVQ(v[0], v[1], v[2]) + } else { + panic("instruction VPSRAVQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRAVW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRAVW(v[0], v[1], v[2]) + } else { + panic("instruction VPSRAVW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRAW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRAW(v[0], v[1], v[2]) + } else { + panic("instruction VPSRAW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRLD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRLD(v[0], v[1], v[2]) + } else { + panic("instruction VPSRLD takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRLDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRLDQ(v[0], v[1], v[2]) + } else { + panic("instruction VPSRLDQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRLQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRLQ(v[0], v[1], v[2]) + } else { + panic("instruction VPSRLQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRLVD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRLVD(v[0], v[1], v[2]) + } else { + panic("instruction VPSRLVD takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRLVQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRLVQ(v[0], v[1], v[2]) + } else { + panic("instruction VPSRLVQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRLVW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRLVW(v[0], v[1], v[2]) + } else { + panic("instruction VPSRLVW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSRLW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSRLW(v[0], v[1], v[2]) + } else { + panic("instruction VPSRLW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSUBB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSUBB(v[0], v[1], v[2]) + } else { + panic("instruction VPSUBB takes exactly 3 operands") + } +} + +func __asm_proxy_VPSUBD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSUBD(v[0], v[1], v[2]) + } else { + panic("instruction VPSUBD takes exactly 3 operands") + } +} + +func __asm_proxy_VPSUBQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSUBQ(v[0], v[1], v[2]) + } else { + panic("instruction VPSUBQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPSUBSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSUBSB(v[0], v[1], v[2]) + } else { + panic("instruction VPSUBSB takes exactly 3 operands") + } +} + +func __asm_proxy_VPSUBSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSUBSW(v[0], v[1], v[2]) + } else { + panic("instruction VPSUBSW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSUBUSB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSUBUSB(v[0], v[1], v[2]) + } else { + panic("instruction VPSUBUSB takes exactly 3 operands") + } +} + +func __asm_proxy_VPSUBUSW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSUBUSW(v[0], v[1], v[2]) + } else { + panic("instruction VPSUBUSW takes exactly 3 operands") + } +} + +func __asm_proxy_VPSUBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPSUBW(v[0], v[1], v[2]) + } else { + panic("instruction VPSUBW takes exactly 3 operands") + } +} + +func __asm_proxy_VPTERNLOGD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPTERNLOGD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPTERNLOGD takes exactly 4 operands") + } +} + +func __asm_proxy_VPTERNLOGQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VPTERNLOGQ(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VPTERNLOGQ takes exactly 4 operands") + } +} + +func __asm_proxy_VPTEST__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VPTEST(v[0], v[1]) + } else { + panic("instruction VPTEST takes exactly 2 operands") + } +} + +func __asm_proxy_VPTESTMB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPTESTMB(v[0], v[1], v[2]) + } else { + panic("instruction VPTESTMB takes exactly 3 operands") + } +} + +func __asm_proxy_VPTESTMD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPTESTMD(v[0], v[1], v[2]) + } else { + panic("instruction VPTESTMD takes exactly 3 operands") + } +} + +func __asm_proxy_VPTESTMQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPTESTMQ(v[0], v[1], v[2]) + } else { + panic("instruction VPTESTMQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPTESTMW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPTESTMW(v[0], v[1], v[2]) + } else { + panic("instruction VPTESTMW takes exactly 3 operands") + } +} + +func __asm_proxy_VPTESTNMB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPTESTNMB(v[0], v[1], v[2]) + } else { + panic("instruction VPTESTNMB takes exactly 3 operands") + } +} + +func __asm_proxy_VPTESTNMD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPTESTNMD(v[0], v[1], v[2]) + } else { + panic("instruction VPTESTNMD takes exactly 3 operands") + } +} + +func __asm_proxy_VPTESTNMQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPTESTNMQ(v[0], v[1], v[2]) + } else { + panic("instruction VPTESTNMQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPTESTNMW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPTESTNMW(v[0], v[1], v[2]) + } else { + panic("instruction VPTESTNMW takes exactly 3 operands") + } +} + +func __asm_proxy_VPUNPCKHBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPUNPCKHBW(v[0], v[1], v[2]) + } else { + panic("instruction VPUNPCKHBW takes exactly 3 operands") + } +} + +func __asm_proxy_VPUNPCKHDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPUNPCKHDQ(v[0], v[1], v[2]) + } else { + panic("instruction VPUNPCKHDQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPUNPCKHQDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPUNPCKHQDQ(v[0], v[1], v[2]) + } else { + panic("instruction VPUNPCKHQDQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPUNPCKHWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPUNPCKHWD(v[0], v[1], v[2]) + } else { + panic("instruction VPUNPCKHWD takes exactly 3 operands") + } +} + +func __asm_proxy_VPUNPCKLBW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPUNPCKLBW(v[0], v[1], v[2]) + } else { + panic("instruction VPUNPCKLBW takes exactly 3 operands") + } +} + +func __asm_proxy_VPUNPCKLDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPUNPCKLDQ(v[0], v[1], v[2]) + } else { + panic("instruction VPUNPCKLDQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPUNPCKLQDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPUNPCKLQDQ(v[0], v[1], v[2]) + } else { + panic("instruction VPUNPCKLQDQ takes exactly 3 operands") + } +} + +func __asm_proxy_VPUNPCKLWD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPUNPCKLWD(v[0], v[1], v[2]) + } else { + panic("instruction VPUNPCKLWD takes exactly 3 operands") + } +} + +func __asm_proxy_VPXOR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPXOR(v[0], v[1], v[2]) + } else { + panic("instruction VPXOR takes exactly 3 operands") + } +} + +func __asm_proxy_VPXORD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPXORD(v[0], v[1], v[2]) + } else { + panic("instruction VPXORD takes exactly 3 operands") + } +} + +func __asm_proxy_VPXORQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VPXORQ(v[0], v[1], v[2]) + } else { + panic("instruction VPXORQ takes exactly 3 operands") + } +} + +func __asm_proxy_VRANGEPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VRANGEPD(v[0], v[1], v[2], v[3]) + case 5 : return p.VRANGEPD(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VRANGEPD takes 4 or 5 operands") + } +} + +func __asm_proxy_VRANGEPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VRANGEPS(v[0], v[1], v[2], v[3]) + case 5 : return p.VRANGEPS(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VRANGEPS takes 4 or 5 operands") + } +} + +func __asm_proxy_VRANGESD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VRANGESD(v[0], v[1], v[2], v[3]) + case 5 : return p.VRANGESD(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VRANGESD takes 4 or 5 operands") + } +} + +func __asm_proxy_VRANGESS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VRANGESS(v[0], v[1], v[2], v[3]) + case 5 : return p.VRANGESS(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VRANGESS takes 4 or 5 operands") + } +} + +func __asm_proxy_VRCP14PD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VRCP14PD(v[0], v[1]) + } else { + panic("instruction VRCP14PD takes exactly 2 operands") + } +} + +func __asm_proxy_VRCP14PS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VRCP14PS(v[0], v[1]) + } else { + panic("instruction VRCP14PS takes exactly 2 operands") + } +} + +func __asm_proxy_VRCP14SD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VRCP14SD(v[0], v[1], v[2]) + } else { + panic("instruction VRCP14SD takes exactly 3 operands") + } +} + +func __asm_proxy_VRCP14SS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VRCP14SS(v[0], v[1], v[2]) + } else { + panic("instruction VRCP14SS takes exactly 3 operands") + } +} + +func __asm_proxy_VRCP28PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VRCP28PD(v[0], v[1]) + case 3 : return p.VRCP28PD(v[0], v[1], v[2]) + default : panic("instruction VRCP28PD takes 2 or 3 operands") + } +} + +func __asm_proxy_VRCP28PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VRCP28PS(v[0], v[1]) + case 3 : return p.VRCP28PS(v[0], v[1], v[2]) + default : panic("instruction VRCP28PS takes 2 or 3 operands") + } +} + +func __asm_proxy_VRCP28SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VRCP28SD(v[0], v[1], v[2]) + case 4 : return p.VRCP28SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VRCP28SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VRCP28SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VRCP28SS(v[0], v[1], v[2]) + case 4 : return p.VRCP28SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VRCP28SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VRCPPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VRCPPS(v[0], v[1]) + } else { + panic("instruction VRCPPS takes exactly 2 operands") + } +} + +func __asm_proxy_VRCPSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VRCPSS(v[0], v[1], v[2]) + } else { + panic("instruction VRCPSS takes exactly 3 operands") + } +} + +func __asm_proxy_VREDUCEPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VREDUCEPD(v[0], v[1], v[2]) + } else { + panic("instruction VREDUCEPD takes exactly 3 operands") + } +} + +func __asm_proxy_VREDUCEPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VREDUCEPS(v[0], v[1], v[2]) + } else { + panic("instruction VREDUCEPS takes exactly 3 operands") + } +} + +func __asm_proxy_VREDUCESD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VREDUCESD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VREDUCESD takes exactly 4 operands") + } +} + +func __asm_proxy_VREDUCESS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VREDUCESS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VREDUCESS takes exactly 4 operands") + } +} + +func __asm_proxy_VRNDSCALEPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VRNDSCALEPD(v[0], v[1], v[2]) + case 4 : return p.VRNDSCALEPD(v[0], v[1], v[2], v[3]) + default : panic("instruction VRNDSCALEPD takes 3 or 4 operands") + } +} + +func __asm_proxy_VRNDSCALEPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VRNDSCALEPS(v[0], v[1], v[2]) + case 4 : return p.VRNDSCALEPS(v[0], v[1], v[2], v[3]) + default : panic("instruction VRNDSCALEPS takes 3 or 4 operands") + } +} + +func __asm_proxy_VRNDSCALESD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VRNDSCALESD(v[0], v[1], v[2], v[3]) + case 5 : return p.VRNDSCALESD(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VRNDSCALESD takes 4 or 5 operands") + } +} + +func __asm_proxy_VRNDSCALESS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 4 : return p.VRNDSCALESS(v[0], v[1], v[2], v[3]) + case 5 : return p.VRNDSCALESS(v[0], v[1], v[2], v[3], v[4]) + default : panic("instruction VRNDSCALESS takes 4 or 5 operands") + } +} + +func __asm_proxy_VROUNDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VROUNDPD(v[0], v[1], v[2]) + } else { + panic("instruction VROUNDPD takes exactly 3 operands") + } +} + +func __asm_proxy_VROUNDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VROUNDPS(v[0], v[1], v[2]) + } else { + panic("instruction VROUNDPS takes exactly 3 operands") + } +} + +func __asm_proxy_VROUNDSD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VROUNDSD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VROUNDSD takes exactly 4 operands") + } +} + +func __asm_proxy_VROUNDSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VROUNDSS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VROUNDSS takes exactly 4 operands") + } +} + +func __asm_proxy_VRSQRT14PD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VRSQRT14PD(v[0], v[1]) + } else { + panic("instruction VRSQRT14PD takes exactly 2 operands") + } +} + +func __asm_proxy_VRSQRT14PS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VRSQRT14PS(v[0], v[1]) + } else { + panic("instruction VRSQRT14PS takes exactly 2 operands") + } +} + +func __asm_proxy_VRSQRT14SD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VRSQRT14SD(v[0], v[1], v[2]) + } else { + panic("instruction VRSQRT14SD takes exactly 3 operands") + } +} + +func __asm_proxy_VRSQRT14SS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VRSQRT14SS(v[0], v[1], v[2]) + } else { + panic("instruction VRSQRT14SS takes exactly 3 operands") + } +} + +func __asm_proxy_VRSQRT28PD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VRSQRT28PD(v[0], v[1]) + case 3 : return p.VRSQRT28PD(v[0], v[1], v[2]) + default : panic("instruction VRSQRT28PD takes 2 or 3 operands") + } +} + +func __asm_proxy_VRSQRT28PS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VRSQRT28PS(v[0], v[1]) + case 3 : return p.VRSQRT28PS(v[0], v[1], v[2]) + default : panic("instruction VRSQRT28PS takes 2 or 3 operands") + } +} + +func __asm_proxy_VRSQRT28SD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VRSQRT28SD(v[0], v[1], v[2]) + case 4 : return p.VRSQRT28SD(v[0], v[1], v[2], v[3]) + default : panic("instruction VRSQRT28SD takes 3 or 4 operands") + } +} + +func __asm_proxy_VRSQRT28SS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VRSQRT28SS(v[0], v[1], v[2]) + case 4 : return p.VRSQRT28SS(v[0], v[1], v[2], v[3]) + default : panic("instruction VRSQRT28SS takes 3 or 4 operands") + } +} + +func __asm_proxy_VRSQRTPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VRSQRTPS(v[0], v[1]) + } else { + panic("instruction VRSQRTPS takes exactly 2 operands") + } +} + +func __asm_proxy_VRSQRTSS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VRSQRTSS(v[0], v[1], v[2]) + } else { + panic("instruction VRSQRTSS takes exactly 3 operands") + } +} + +func __asm_proxy_VSCALEFPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VSCALEFPD(v[0], v[1], v[2]) + case 4 : return p.VSCALEFPD(v[0], v[1], v[2], v[3]) + default : panic("instruction VSCALEFPD takes 3 or 4 operands") + } +} + +func __asm_proxy_VSCALEFPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VSCALEFPS(v[0], v[1], v[2]) + case 4 : return p.VSCALEFPS(v[0], v[1], v[2], v[3]) + default : panic("instruction VSCALEFPS takes 3 or 4 operands") + } +} + +func __asm_proxy_VSCALEFSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VSCALEFSD(v[0], v[1], v[2]) + case 4 : return p.VSCALEFSD(v[0], v[1], v[2], v[3]) + default : panic("instruction VSCALEFSD takes 3 or 4 operands") + } +} + +func __asm_proxy_VSCALEFSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VSCALEFSS(v[0], v[1], v[2]) + case 4 : return p.VSCALEFSS(v[0], v[1], v[2], v[3]) + default : panic("instruction VSCALEFSS takes 3 or 4 operands") + } +} + +func __asm_proxy_VSCATTERDPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VSCATTERDPD(v[0], v[1]) + } else { + panic("instruction VSCATTERDPD takes exactly 2 operands") + } +} + +func __asm_proxy_VSCATTERDPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VSCATTERDPS(v[0], v[1]) + } else { + panic("instruction VSCATTERDPS takes exactly 2 operands") + } +} + +func __asm_proxy_VSCATTERPF0DPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VSCATTERPF0DPD(v[0]) + } else { + panic("instruction VSCATTERPF0DPD takes exactly 1 operand") + } +} + +func __asm_proxy_VSCATTERPF0DPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VSCATTERPF0DPS(v[0]) + } else { + panic("instruction VSCATTERPF0DPS takes exactly 1 operand") + } +} + +func __asm_proxy_VSCATTERPF0QPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VSCATTERPF0QPD(v[0]) + } else { + panic("instruction VSCATTERPF0QPD takes exactly 1 operand") + } +} + +func __asm_proxy_VSCATTERPF0QPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VSCATTERPF0QPS(v[0]) + } else { + panic("instruction VSCATTERPF0QPS takes exactly 1 operand") + } +} + +func __asm_proxy_VSCATTERPF1DPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VSCATTERPF1DPD(v[0]) + } else { + panic("instruction VSCATTERPF1DPD takes exactly 1 operand") + } +} + +func __asm_proxy_VSCATTERPF1DPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VSCATTERPF1DPS(v[0]) + } else { + panic("instruction VSCATTERPF1DPS takes exactly 1 operand") + } +} + +func __asm_proxy_VSCATTERPF1QPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VSCATTERPF1QPD(v[0]) + } else { + panic("instruction VSCATTERPF1QPD takes exactly 1 operand") + } +} + +func __asm_proxy_VSCATTERPF1QPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VSCATTERPF1QPS(v[0]) + } else { + panic("instruction VSCATTERPF1QPS takes exactly 1 operand") + } +} + +func __asm_proxy_VSCATTERQPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VSCATTERQPD(v[0], v[1]) + } else { + panic("instruction VSCATTERQPD takes exactly 2 operands") + } +} + +func __asm_proxy_VSCATTERQPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VSCATTERQPS(v[0], v[1]) + } else { + panic("instruction VSCATTERQPS takes exactly 2 operands") + } +} + +func __asm_proxy_VSHUFF32X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VSHUFF32X4(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VSHUFF32X4 takes exactly 4 operands") + } +} + +func __asm_proxy_VSHUFF64X2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VSHUFF64X2(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VSHUFF64X2 takes exactly 4 operands") + } +} + +func __asm_proxy_VSHUFI32X4__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VSHUFI32X4(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VSHUFI32X4 takes exactly 4 operands") + } +} + +func __asm_proxy_VSHUFI64X2__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VSHUFI64X2(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VSHUFI64X2 takes exactly 4 operands") + } +} + +func __asm_proxy_VSHUFPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VSHUFPD(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VSHUFPD takes exactly 4 operands") + } +} + +func __asm_proxy_VSHUFPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 4 { + return p.VSHUFPS(v[0], v[1], v[2], v[3]) + } else { + panic("instruction VSHUFPS takes exactly 4 operands") + } +} + +func __asm_proxy_VSQRTPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VSQRTPD(v[0], v[1]) + case 3 : return p.VSQRTPD(v[0], v[1], v[2]) + default : panic("instruction VSQRTPD takes 2 or 3 operands") + } +} + +func __asm_proxy_VSQRTPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VSQRTPS(v[0], v[1]) + case 3 : return p.VSQRTPS(v[0], v[1], v[2]) + default : panic("instruction VSQRTPS takes 2 or 3 operands") + } +} + +func __asm_proxy_VSQRTSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VSQRTSD(v[0], v[1], v[2]) + case 4 : return p.VSQRTSD(v[0], v[1], v[2], v[3]) + default : panic("instruction VSQRTSD takes 3 or 4 operands") + } +} + +func __asm_proxy_VSQRTSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VSQRTSS(v[0], v[1], v[2]) + case 4 : return p.VSQRTSS(v[0], v[1], v[2], v[3]) + default : panic("instruction VSQRTSS takes 3 or 4 operands") + } +} + +func __asm_proxy_VSTMXCSR__(p *Program, v ...interface{}) *Instruction { + if len(v) == 1 { + return p.VSTMXCSR(v[0]) + } else { + panic("instruction VSTMXCSR takes exactly 1 operand") + } +} + +func __asm_proxy_VSUBPD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VSUBPD(v[0], v[1], v[2]) + case 4 : return p.VSUBPD(v[0], v[1], v[2], v[3]) + default : panic("instruction VSUBPD takes 3 or 4 operands") + } +} + +func __asm_proxy_VSUBPS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VSUBPS(v[0], v[1], v[2]) + case 4 : return p.VSUBPS(v[0], v[1], v[2], v[3]) + default : panic("instruction VSUBPS takes 3 or 4 operands") + } +} + +func __asm_proxy_VSUBSD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VSUBSD(v[0], v[1], v[2]) + case 4 : return p.VSUBSD(v[0], v[1], v[2], v[3]) + default : panic("instruction VSUBSD takes 3 or 4 operands") + } +} + +func __asm_proxy_VSUBSS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 3 : return p.VSUBSS(v[0], v[1], v[2]) + case 4 : return p.VSUBSS(v[0], v[1], v[2], v[3]) + default : panic("instruction VSUBSS takes 3 or 4 operands") + } +} + +func __asm_proxy_VTESTPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VTESTPD(v[0], v[1]) + } else { + panic("instruction VTESTPD takes exactly 2 operands") + } +} + +func __asm_proxy_VTESTPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.VTESTPS(v[0], v[1]) + } else { + panic("instruction VTESTPS takes exactly 2 operands") + } +} + +func __asm_proxy_VUCOMISD__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VUCOMISD(v[0], v[1]) + case 3 : return p.VUCOMISD(v[0], v[1], v[2]) + default : panic("instruction VUCOMISD takes 2 or 3 operands") + } +} + +func __asm_proxy_VUCOMISS__(p *Program, v ...interface{}) *Instruction { + switch len(v) { + case 2 : return p.VUCOMISS(v[0], v[1]) + case 3 : return p.VUCOMISS(v[0], v[1], v[2]) + default : panic("instruction VUCOMISS takes 2 or 3 operands") + } +} + +func __asm_proxy_VUNPCKHPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VUNPCKHPD(v[0], v[1], v[2]) + } else { + panic("instruction VUNPCKHPD takes exactly 3 operands") + } +} + +func __asm_proxy_VUNPCKHPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VUNPCKHPS(v[0], v[1], v[2]) + } else { + panic("instruction VUNPCKHPS takes exactly 3 operands") + } +} + +func __asm_proxy_VUNPCKLPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VUNPCKLPD(v[0], v[1], v[2]) + } else { + panic("instruction VUNPCKLPD takes exactly 3 operands") + } +} + +func __asm_proxy_VUNPCKLPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VUNPCKLPS(v[0], v[1], v[2]) + } else { + panic("instruction VUNPCKLPS takes exactly 3 operands") + } +} + +func __asm_proxy_VXORPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VXORPD(v[0], v[1], v[2]) + } else { + panic("instruction VXORPD takes exactly 3 operands") + } +} + +func __asm_proxy_VXORPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 3 { + return p.VXORPS(v[0], v[1], v[2]) + } else { + panic("instruction VXORPS takes exactly 3 operands") + } +} + +func __asm_proxy_VZEROALL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.VZEROALL() + } else { + panic("instruction VZEROALL takes no operands") + } +} + +func __asm_proxy_VZEROUPPER__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.VZEROUPPER() + } else { + panic("instruction VZEROUPPER takes no operands") + } +} + +func __asm_proxy_XADDB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XADDB(v[0], v[1]) + } else { + panic("instruction XADDB takes exactly 2 operands") + } +} + +func __asm_proxy_XADDL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XADDL(v[0], v[1]) + } else { + panic("instruction XADDL takes exactly 2 operands") + } +} + +func __asm_proxy_XADDQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XADDQ(v[0], v[1]) + } else { + panic("instruction XADDQ takes exactly 2 operands") + } +} + +func __asm_proxy_XADDW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XADDW(v[0], v[1]) + } else { + panic("instruction XADDW takes exactly 2 operands") + } +} + +func __asm_proxy_XCHGB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XCHGB(v[0], v[1]) + } else { + panic("instruction XCHGB takes exactly 2 operands") + } +} + +func __asm_proxy_XCHGL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XCHGL(v[0], v[1]) + } else { + panic("instruction XCHGL takes exactly 2 operands") + } +} + +func __asm_proxy_XCHGQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XCHGQ(v[0], v[1]) + } else { + panic("instruction XCHGQ takes exactly 2 operands") + } +} + +func __asm_proxy_XCHGW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XCHGW(v[0], v[1]) + } else { + panic("instruction XCHGW takes exactly 2 operands") + } +} + +func __asm_proxy_XGETBV__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.XGETBV() + } else { + panic("instruction XGETBV takes no operands") + } +} + +func __asm_proxy_XLATB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 0 { + return p.XLATB() + } else { + panic("instruction XLATB takes no operands") + } +} + +func __asm_proxy_XORB__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XORB(v[0], v[1]) + } else { + panic("instruction XORB takes exactly 2 operands") + } +} + +func __asm_proxy_XORL__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XORL(v[0], v[1]) + } else { + panic("instruction XORL takes exactly 2 operands") + } +} + +func __asm_proxy_XORPD__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XORPD(v[0], v[1]) + } else { + panic("instruction XORPD takes exactly 2 operands") + } +} + +func __asm_proxy_XORPS__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XORPS(v[0], v[1]) + } else { + panic("instruction XORPS takes exactly 2 operands") + } +} + +func __asm_proxy_XORQ__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XORQ(v[0], v[1]) + } else { + panic("instruction XORQ takes exactly 2 operands") + } +} + +func __asm_proxy_XORW__(p *Program, v ...interface{}) *Instruction { + if len(v) == 2 { + return p.XORW(v[0], v[1]) + } else { + panic("instruction XORW takes exactly 2 operands") + } +} diff --git a/vendor/github.com/cloudwego/iasm/x86_64/operands.go b/vendor/github.com/cloudwego/iasm/x86_64/operands.go new file mode 100644 index 0000000..61adbf8 --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/operands.go @@ -0,0 +1,665 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package x86_64 + +import ( + "errors" + "fmt" + "math" + "reflect" + "strconv" + "strings" + "sync/atomic" +) + +// RelativeOffset represents an RIP-relative offset. +type RelativeOffset int32 + +// String implements the fmt.Stringer interface. +func (self RelativeOffset) String() string { + if self == 0 { + return "(%rip)" + } else { + return fmt.Sprintf("%d(%%rip)", self) + } +} + +// RoundingControl represents a floating-point rounding option. +type RoundingControl uint8 + +const ( + // RN_SAE represents "Round Nearest", which is the default rounding option. + RN_SAE RoundingControl = iota + + // RD_SAE represents "Round Down". + RD_SAE + + // RU_SAE represents "Round Up". + RU_SAE + + // RZ_SAE represents "Round towards Zero". + RZ_SAE +) + +var _RC_NAMES = map[RoundingControl]string{ + RN_SAE: "rn-sae", + RD_SAE: "rd-sae", + RU_SAE: "ru-sae", + RZ_SAE: "rz-sae", +} + +func (self RoundingControl) String() string { + if v, ok := _RC_NAMES[self]; ok { + return v + } else { + panic("invalid RoundingControl value") + } +} + +// ExceptionControl represents the "Suppress All Exceptions" flag. +type ExceptionControl uint8 + +const ( + // SAE represents the flag "Suppress All Exceptions" for floating point operations. + SAE ExceptionControl = iota +) + +func (ExceptionControl) String() string { + return "sae" +} + +// AddressType indicates which kind of value that an Addressable object contains. +type AddressType uint + +const ( + // None indicates the Addressable does not contain any addressable value. + None AddressType = iota + + // Memory indicates the Addressable contains a memory address. + Memory + + // Offset indicates the Addressable contains an RIP-relative offset. + Offset + + // Reference indicates the Addressable contains a label reference. + Reference +) + +// Disposable is a type of object that can be Free'd manually. +type Disposable interface { + Free() +} + +// Label represents a location within the program. +type Label struct { + refs int64 + Name string + Dest *Instruction +} + +func (self *Label) offset(p uintptr, n int) RelativeOffset { + if self.Dest == nil { + panic("unresolved label: " + self.Name) + } else { + return RelativeOffset(self.Dest.pc - p - uintptr(n)) + } +} + +// Free decreases the reference count of a Label, if the +// refcount drops to 0, the Label will be recycled. +func (self *Label) Free() { + if atomic.AddInt64(&self.refs, -1) == 0 { + //freeLabel(self) + } +} + +// String implements the fmt.Stringer interface. +func (self *Label) String() string { + if self.Dest == nil { + return fmt.Sprintf("%s(%%rip)", self.Name) + } else { + return fmt.Sprintf("%s(%%rip)@%#x", self.Name, self.Dest.pc) + } +} + +// Retain increases the reference count of a Label. +func (self *Label) Retain() *Label { + atomic.AddInt64(&self.refs, 1) + return self +} + +// Evaluate implements the interface expr.Term. +func (self *Label) Evaluate() (int64, error) { + if self.Dest != nil { + return int64(self.Dest.pc), nil + } else { + return 0, errors.New("unresolved label: " + self.Name) + } +} + +// Addressable is a union to represent an addressable operand. +type Addressable struct { + Type AddressType + Memory MemoryAddress + Offset RelativeOffset + Reference *Label +} + +// String implements the fmt.Stringer interface. +func (self *Addressable) String() string { + switch self.Type { + case None: + return "(not addressable)" + case Memory: + return self.Memory.String() + case Offset: + return self.Offset.String() + case Reference: + return self.Reference.String() + default: + return "(invalid addressable)" + } +} + +// MemoryOperand represents a memory operand for an instruction. +type MemoryOperand struct { + refs int64 + Size int + Addr Addressable + Mask RegisterMask + Masked bool + Broadcast uint8 +} + +const ( + _Sizes = 0b10000000100010111 // bit-mask for valid sizes (0, 1, 2, 4, 8, 16) +) + +func (self *MemoryOperand) isVMX(evex bool) bool { + return self.Addr.Type == Memory && self.Addr.Memory.isVMX(evex) +} + +func (self *MemoryOperand) isVMY(evex bool) bool { + return self.Addr.Type == Memory && self.Addr.Memory.isVMY(evex) +} + +func (self *MemoryOperand) isVMZ() bool { + return self.Addr.Type == Memory && self.Addr.Memory.isVMZ() +} + +func (self *MemoryOperand) isMem() bool { + if (_Sizes & (1 << self.Broadcast)) == 0 { + return false + } else if self.Addr.Type == Memory { + return self.Addr.Memory.isMem() + } else if self.Addr.Type == Offset { + return true + } else if self.Addr.Type == Reference { + return true + } else { + return false + } +} + +func (self *MemoryOperand) isSize(n int) bool { + return self.Size == 0 || self.Size == n +} + +func (self *MemoryOperand) isBroadcast(n int, b uint8) bool { + return self.Size == n && self.Broadcast == b +} + +func (self *MemoryOperand) formatMask() string { + if !self.Masked { + return "" + } else { + return self.Mask.String() + } +} + +func (self *MemoryOperand) formatBroadcast() string { + if self.Broadcast == 0 { + return "" + } else { + return fmt.Sprintf("{1to%d}", self.Broadcast) + } +} + +func (self *MemoryOperand) ensureAddrValid() { + switch self.Addr.Type { + case None: + break + case Memory: + self.Addr.Memory.EnsureValid() + case Offset: + break + case Reference: + break + default: + panic("invalid address type") + } +} + +func (self *MemoryOperand) ensureSizeValid() { + if (_Sizes & (1 << self.Size)) == 0 { + panic("invalid memory operand size") + } +} + +func (self *MemoryOperand) ensureBroadcastValid() { + if (_Sizes & (1 << self.Broadcast)) == 0 { + panic("invalid memory operand broadcast") + } +} + +// Free decreases the reference count of a MemoryOperand, if the +// refcount drops to 0, the Label will be recycled. +func (self *MemoryOperand) Free() { + if atomic.AddInt64(&self.refs, -1) == 0 { + //freeMemoryOperand(self) + } +} + +// String implements the fmt.Stringer interface. +func (self *MemoryOperand) String() string { + return self.Addr.String() + self.formatMask() + self.formatBroadcast() +} + +// Retain increases the reference count of a MemoryOperand. +func (self *MemoryOperand) Retain() *MemoryOperand { + atomic.AddInt64(&self.refs, 1) + return self +} + +// EnsureValid checks if the memory operand is valid, if not, it panics. +func (self *MemoryOperand) EnsureValid() { + self.ensureAddrValid() + self.ensureSizeValid() + self.ensureBroadcastValid() +} + +// MemoryAddress represents a memory address. +type MemoryAddress struct { + Base Register + Index Register + Scale uint8 + Displacement int32 +} + +const ( + _Scales = 0b100010111 // bit-mask for valid scales (0, 1, 2, 4, 8) +) + +func (self *MemoryAddress) isVMX(evex bool) bool { + return self.isMemBase() && (self.Index == nil || isXMM(self.Index) || (evex && isEVEXXMM(self.Index))) +} + +func (self *MemoryAddress) isVMY(evex bool) bool { + return self.isMemBase() && (self.Index == nil || isYMM(self.Index) || (evex && isEVEXYMM(self.Index))) +} + +func (self *MemoryAddress) isVMZ() bool { + return self.isMemBase() && (self.Index == nil || isZMM(self.Index)) +} + +func (self *MemoryAddress) isMem() bool { + return self.isMemBase() && (self.Index == nil || isReg64(self.Index)) +} + +func (self *MemoryAddress) isMemBase() bool { + return (self.Base == nil || isReg64(self.Base)) && // `Base` must be 64-bit if present + (self.Scale == 0) == (self.Index == nil) && // `Scale` and `Index` depends on each other + (_Scales&(1<= 2 { + sb.WriteByte(',') + sb.WriteString(strconv.Itoa(int(self.Scale))) + } + } + + /* close the bracket */ + sb.WriteByte(')') + return sb.String() +} + +// EnsureValid checks if the memory address is valid, if not, it panics. +func (self *MemoryAddress) EnsureValid() { + if !self.isMemBase() || (self.Index != nil && !isIndexable(self.Index)) { + panic("not a valid memory address") + } +} + +// Ref constructs a memory reference to a label. +func Ref(ref *Label) (v *MemoryOperand) { + v = CreateMemoryOperand() + v.Addr.Type = Reference + v.Addr.Reference = ref + return +} + +// Abs construct a simple memory address that represents absolute addressing. +func Abs(disp int32) *MemoryOperand { + return Sib(nil, nil, 0, disp) +} + +// Ptr constructs a simple memory operand with base and displacement. +func Ptr(base Register, disp int32) *MemoryOperand { + return Sib(base, nil, 0, disp) +} + +// Sib constructs a simple memory operand that represents a complete memory address. +func Sib(base Register, index Register, scale uint8, disp int32) (v *MemoryOperand) { + v = CreateMemoryOperand() + v.Addr.Type = Memory + v.Addr.Memory.Base = base + v.Addr.Memory.Index = index + v.Addr.Memory.Scale = scale + v.Addr.Memory.Displacement = disp + v.EnsureValid() + return +} + +/** Operand Matching Helpers **/ + +const _IntMask = (1 << reflect.Int) | + (1 << reflect.Int8) | + (1 << reflect.Int16) | + (1 << reflect.Int32) | + (1 << reflect.Int64) | + (1 << reflect.Uint) | + (1 << reflect.Uint8) | + (1 << reflect.Uint16) | + (1 << reflect.Uint32) | + (1 << reflect.Uint64) | + (1 << reflect.Uintptr) + +func isInt(k reflect.Kind) bool { + return (_IntMask & (1 << k)) != 0 +} + +func asInt64(v interface{}) (int64, bool) { + if isSpecial(v) { + return 0, false + } else if x := efaceOf(v); isInt(x.kind()) { + return x.toInt64(), true + } else { + return 0, false + } +} + +func inRange(v interface{}, low int64, high int64) bool { + x, ok := asInt64(v) + return ok && x >= low && x <= high +} + +func isSpecial(v interface{}) bool { + switch v.(type) { + case Register8: + return true + case Register16: + return true + case Register32: + return true + case Register64: + return true + case KRegister: + return true + case MMRegister: + return true + case XMMRegister: + return true + case YMMRegister: + return true + case ZMMRegister: + return true + case RelativeOffset: + return true + case RoundingControl: + return true + case ExceptionControl: + return true + default: + return false + } +} + +func isIndexable(v interface{}) bool { + return isZMM(v) || isReg64(v) || isEVEXXMM(v) || isEVEXYMM(v) +} + +func isImm4(v interface{}) bool { return inRange(v, 0, 15) } +func isImm8(v interface{}) bool { return inRange(v, math.MinInt8, math.MaxUint8) } +func isImm16(v interface{}) bool { return inRange(v, math.MinInt16, math.MaxUint16) } +func isImm32(v interface{}) bool { return inRange(v, math.MinInt32, math.MaxUint32) } +func isImm64(v interface{}) bool { _, r := asInt64(v); return r } +func isConst1(v interface{}) bool { x, r := asInt64(v); return r && x == 1 } +func isConst3(v interface{}) bool { x, r := asInt64(v); return r && x == 3 } +func isRel8(v interface{}) bool { + x, r := v.(RelativeOffset) + return r && x >= math.MinInt8 && x <= math.MaxInt8 +} +func isRel32(v interface{}) bool { _, r := v.(RelativeOffset); return r } +func isLabel(v interface{}) bool { _, r := v.(*Label); return r } +func isReg8(v interface{}) bool { _, r := v.(Register8); return r } +func isReg8REX(v interface{}) bool { + x, r := v.(Register8) + return r && (x&0x80) == 0 && x >= SPL +} +func isReg16(v interface{}) bool { _, r := v.(Register16); return r } +func isReg32(v interface{}) bool { _, r := v.(Register32); return r } +func isReg64(v interface{}) bool { _, r := v.(Register64); return r } +func isMM(v interface{}) bool { _, r := v.(MMRegister); return r } +func isXMM(v interface{}) bool { x, r := v.(XMMRegister); return r && x <= XMM15 } +func isEVEXXMM(v interface{}) bool { _, r := v.(XMMRegister); return r } +func isXMMk(v interface{}) bool { + x, r := v.(MaskedRegister) + return isXMM(v) || (r && isXMM(x.Reg) && !x.Mask.Z) +} +func isXMMkz(v interface{}) bool { + x, r := v.(MaskedRegister) + return isXMM(v) || (r && isXMM(x.Reg)) +} +func isYMM(v interface{}) bool { x, r := v.(YMMRegister); return r && x <= YMM15 } +func isEVEXYMM(v interface{}) bool { _, r := v.(YMMRegister); return r } +func isYMMk(v interface{}) bool { + x, r := v.(MaskedRegister) + return isYMM(v) || (r && isYMM(x.Reg) && !x.Mask.Z) +} +func isYMMkz(v interface{}) bool { + x, r := v.(MaskedRegister) + return isYMM(v) || (r && isYMM(x.Reg)) +} +func isZMM(v interface{}) bool { _, r := v.(ZMMRegister); return r } +func isZMMk(v interface{}) bool { + x, r := v.(MaskedRegister) + return isZMM(v) || (r && isZMM(x.Reg) && !x.Mask.Z) +} +func isZMMkz(v interface{}) bool { + x, r := v.(MaskedRegister) + return isZMM(v) || (r && isZMM(x.Reg)) +} +func isK(v interface{}) bool { _, r := v.(KRegister); return r } +func isKk(v interface{}) bool { + x, r := v.(MaskedRegister) + return isK(v) || (r && isK(x.Reg) && !x.Mask.Z) +} +func isM(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && x.isMem() && x.Broadcast == 0 && !x.Masked +} +func isMk(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && x.isMem() && x.Broadcast == 0 && !(x.Masked && x.Mask.Z) +} +func isMkz(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && x.isMem() && x.Broadcast == 0 +} +func isM8(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isM(v) && x.isSize(1) +} +func isM16(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isM(v) && x.isSize(2) +} +func isM16kz(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isMkz(v) && x.isSize(2) +} +func isM32(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isM(v) && x.isSize(4) +} +func isM32k(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isMk(v) && x.isSize(4) +} +func isM32kz(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isMkz(v) && x.isSize(4) +} +func isM64(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isM(v) && x.isSize(8) +} +func isM64k(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isMk(v) && x.isSize(8) +} +func isM64kz(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isMkz(v) && x.isSize(8) +} +func isM128(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isM(v) && x.isSize(16) +} +func isM128kz(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isMkz(v) && x.isSize(16) +} +func isM256(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isM(v) && x.isSize(32) +} +func isM256kz(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isMkz(v) && x.isSize(32) +} +func isM512(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isM(v) && x.isSize(64) +} +func isM512kz(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && isMkz(v) && x.isSize(64) +} +func isM64M32bcst(v interface{}) bool { + x, r := v.(*MemoryOperand) + return isM64(v) || (r && x.isBroadcast(4, 2)) +} +func isM128M32bcst(v interface{}) bool { + x, r := v.(*MemoryOperand) + return isM128(v) || (r && x.isBroadcast(4, 4)) +} +func isM256M32bcst(v interface{}) bool { + x, r := v.(*MemoryOperand) + return isM256(v) || (r && x.isBroadcast(4, 8)) +} +func isM512M32bcst(v interface{}) bool { + x, r := v.(*MemoryOperand) + return isM512(v) || (r && x.isBroadcast(4, 16)) +} +func isM128M64bcst(v interface{}) bool { + x, r := v.(*MemoryOperand) + return isM128(v) || (r && x.isBroadcast(8, 2)) +} +func isM256M64bcst(v interface{}) bool { + x, r := v.(*MemoryOperand) + return isM256(v) || (r && x.isBroadcast(8, 4)) +} +func isM512M64bcst(v interface{}) bool { + x, r := v.(*MemoryOperand) + return isM512(v) || (r && x.isBroadcast(8, 8)) +} +func isVMX(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && x.isVMX(false) && !x.Masked +} +func isEVEXVMX(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && x.isVMX(true) && !x.Masked +} +func isVMXk(v interface{}) bool { x, r := v.(*MemoryOperand); return r && x.isVMX(true) } +func isVMY(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && x.isVMY(false) && !x.Masked +} +func isEVEXVMY(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && x.isVMY(true) && !x.Masked +} +func isVMYk(v interface{}) bool { x, r := v.(*MemoryOperand); return r && x.isVMY(true) } +func isVMZ(v interface{}) bool { + x, r := v.(*MemoryOperand) + return r && x.isVMZ() && !x.Masked +} +func isVMZk(v interface{}) bool { x, r := v.(*MemoryOperand); return r && x.isVMZ() } +func isSAE(v interface{}) bool { _, r := v.(ExceptionControl); return r } +func isER(v interface{}) bool { _, r := v.(RoundingControl); return r } + +func isImmExt(v interface{}, ext int, min int64, max int64) bool { + if x, ok := asInt64(v); !ok { + return false + } else if m := int64(1) << (8 * ext); x < m && x >= m+min { + return true + } else { + return x <= max && x >= min + } +} + +func isImm8Ext(v interface{}, ext int) bool { + return isImmExt(v, ext, math.MinInt8, math.MaxInt8) +} + +func isImm32Ext(v interface{}, ext int) bool { + return isImmExt(v, ext, math.MinInt32, math.MaxInt32) +} diff --git a/vendor/github.com/cloudwego/iasm/x86_64/pools.go b/vendor/github.com/cloudwego/iasm/x86_64/pools.go new file mode 100644 index 0000000..690db5b --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/pools.go @@ -0,0 +1,54 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package x86_64 + +// CreateLabel creates a new Label, it may allocate a new one or grab one from a pool. +func CreateLabel(name string) *Label { + p := new(Label) + + /* initialize the label */ + p.refs = 1 + p.Name = name + return p +} + +func newProgram(arch *Arch) *Program { + p := new(Program) + + /* initialize the program */ + p.arch = arch + return p +} + +func newInstruction(name string, argc int, argv Operands) *Instruction { + p := new(Instruction) + + /* initialize the instruction */ + p.name = name + p.argc = argc + p.argv = argv + return p +} + +// CreateMemoryOperand creates a new MemoryOperand, it may allocate a new one or grab one from a pool. +func CreateMemoryOperand() *MemoryOperand { + p := new(MemoryOperand) + + /* initialize the memory operand */ + p.refs = 1 + return p +} diff --git a/vendor/github.com/cloudwego/iasm/x86_64/program.go b/vendor/github.com/cloudwego/iasm/x86_64/program.go new file mode 100644 index 0000000..f0c9b18 --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/program.go @@ -0,0 +1,584 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package x86_64 + +import ( + "fmt" + "math" + "math/bits" + + "github.com/cloudwego/iasm/expr" +) + +type ( + _PseudoType int + _InstructionEncoder func(*Program, ...interface{}) *Instruction +) + +const ( + _PseudoNop _PseudoType = iota + 1 + _PseudoByte + _PseudoWord + _PseudoLong + _PseudoQuad + _PseudoData + _PseudoAlign +) + +func (self _PseudoType) String() string { + switch self { + case _PseudoNop: + return ".nop" + case _PseudoByte: + return ".byte" + case _PseudoWord: + return ".word" + case _PseudoLong: + return ".long" + case _PseudoQuad: + return ".quad" + case _PseudoData: + return ".data" + case _PseudoAlign: + return ".align" + default: + panic("unreachable") + } +} + +type _Pseudo struct { + kind _PseudoType + data []byte + uint uint64 + expr *expr.Expr +} + +func (self *_Pseudo) free() { + if self.expr != nil { + self.expr.Free() + } +} + +func (self *_Pseudo) encode(m *[]byte, pc uintptr) int { + switch self.kind { + case _PseudoNop: + return 0 + case _PseudoByte: + self.encodeByte(m) + return 1 + case _PseudoWord: + self.encodeWord(m) + return 2 + case _PseudoLong: + self.encodeLong(m) + return 4 + case _PseudoQuad: + self.encodeQuad(m) + return 8 + case _PseudoData: + self.encodeData(m) + return len(self.data) + case _PseudoAlign: + self.encodeAlign(m, pc) + return self.alignSize(pc) + default: + panic("invalid pseudo instruction") + } +} + +func (self *_Pseudo) evalExpr(low int64, high int64) int64 { + if v, err := self.expr.Evaluate(); err != nil { + panic(err) + } else if v < low || v > high { + panic(fmt.Sprintf("expression out of range [%d, %d]: %d", low, high, v)) + } else { + return v + } +} + +func (self *_Pseudo) alignSize(pc uintptr) int { + if !ispow2(self.uint) { + panic(fmt.Sprintf("aligment should be a power of 2, not %d", self.uint)) + } else { + return align(int(pc), bits.TrailingZeros64(self.uint)) - int(pc) + } +} + +func (self *_Pseudo) encodeData(m *[]byte) { + if m != nil { + *m = append(*m, self.data...) + } +} + +func (self *_Pseudo) encodeByte(m *[]byte) { + if m != nil { + append8(m, byte(self.evalExpr(math.MinInt8, math.MaxUint8))) + } +} + +func (self *_Pseudo) encodeWord(m *[]byte) { + if m != nil { + append16(m, uint16(self.evalExpr(math.MinInt16, math.MaxUint16))) + } +} + +func (self *_Pseudo) encodeLong(m *[]byte) { + if m != nil { + append32(m, uint32(self.evalExpr(math.MinInt32, math.MaxUint32))) + } +} + +func (self *_Pseudo) encodeQuad(m *[]byte) { + if m != nil { + if v, err := self.expr.Evaluate(); err != nil { + panic(err) + } else { + append64(m, uint64(v)) + } + } +} + +func (self *_Pseudo) encodeAlign(m *[]byte, pc uintptr) { + if m != nil { + if self.expr == nil { + expandmm(m, self.alignSize(pc), 0) + } else { + expandmm(m, self.alignSize(pc), byte(self.evalExpr(math.MinInt8, math.MaxUint8))) + } + } +} + +// Operands represents a sequence of operand required by an instruction. +type Operands [_N_args]interface{} + +// InstructionDomain represents the domain of an instruction. +type InstructionDomain uint8 + +const ( + DomainGeneric InstructionDomain = iota + DomainMMXSSE + DomainAVX + DomainFMA + DomainCrypto + DomainMask + DomainAMDSpecific + DomainMisc + DomainPseudo +) + +type ( + _BranchType uint8 +) + +const ( + _B_none _BranchType = iota + _B_conditional + _B_unconditional +) + +// Instruction represents an unencoded instruction. +type Instruction struct { + next *Instruction + pc uintptr + nb int + len int + argc int + name string + argv Operands + forms [_N_forms]_Encoding + pseudo _Pseudo + branch _BranchType + domain InstructionDomain + prefix []byte +} + +func (self *Instruction) add(flags int, encoder func(m *_Encoding, v []interface{})) { + self.forms[self.len].flags = flags + self.forms[self.len].encoder = encoder + self.len++ +} + +func (self *Instruction) free() { + self.clear() + self.pseudo.free() + //freeInstruction(self) +} + +func (self *Instruction) clear() { + for i := 0; i < self.argc; i++ { + if v, ok := self.argv[i].(Disposable); ok { + v.Free() + } + } +} + +func (self *Instruction) check(e *_Encoding) bool { + if (e.flags & _F_rel1) != 0 { + return isRel8(self.argv[0]) + } else if (e.flags & _F_rel4) != 0 { + return isRel32(self.argv[0]) || isLabel(self.argv[0]) + } else { + return true + } +} + +func (self *Instruction) encode(m *[]byte) int { + n := math.MaxInt64 + p := (*_Encoding)(nil) + + /* encode prefixes if any */ + if self.nb = len(self.prefix); m != nil { + *m = append(*m, self.prefix...) + } + + /* check for pseudo-instructions */ + if self.pseudo.kind != 0 { + self.nb += self.pseudo.encode(m, self.pc) + return self.nb + } + + /* find the shortest encoding */ + for i := 0; i < self.len; i++ { + if e := &self.forms[i]; self.check(e) { + if v := e.encode(self.argv[:self.argc]); v < n { + n = v + p = e + } + } + } + + /* add to buffer if needed */ + if m != nil { + *m = append(*m, p.bytes[:n]...) + } + + /* update the instruction length */ + self.nb += n + return self.nb +} + +/** Instruction Prefixes **/ + +const ( + _P_cs = 0x2e + _P_ds = 0x3e + _P_es = 0x26 + _P_fs = 0x64 + _P_gs = 0x65 + _P_ss = 0x36 + _P_lock = 0xf0 +) + +// CS overrides the memory operation of this instruction to CS. +func (self *Instruction) CS() *Instruction { + self.prefix = append(self.prefix, _P_cs) + return self +} + +// DS overrides the memory operation of this instruction to DS, +// this is the default section for most instructions if not specified. +func (self *Instruction) DS() *Instruction { + self.prefix = append(self.prefix, _P_ds) + return self +} + +// ES overrides the memory operation of this instruction to ES. +func (self *Instruction) ES() *Instruction { + self.prefix = append(self.prefix, _P_es) + return self +} + +// FS overrides the memory operation of this instruction to FS. +func (self *Instruction) FS() *Instruction { + self.prefix = append(self.prefix, _P_fs) + return self +} + +// GS overrides the memory operation of this instruction to GS. +func (self *Instruction) GS() *Instruction { + self.prefix = append(self.prefix, _P_gs) + return self +} + +// SS overrides the memory operation of this instruction to SS. +func (self *Instruction) SS() *Instruction { + self.prefix = append(self.prefix, _P_ss) + return self +} + +// LOCK causes the processor's LOCK# signal to be asserted during execution of +// the accompanying instruction (turns the instruction into an atomic instruction). +// In a multiprocessor environment, the LOCK# signal insures that the processor +// has exclusive use of any shared memory while the signal is asserted. +func (self *Instruction) LOCK() *Instruction { + self.prefix = append(self.prefix, _P_lock) + return self +} + +/** Basic Instruction Properties **/ + +// Name returns the instruction name. +func (self *Instruction) Name() string { + return self.name +} + +// Domain returns the domain of this instruction. +func (self *Instruction) Domain() InstructionDomain { + return self.domain +} + +// Operands returns the operands of this instruction. +func (self *Instruction) Operands() []interface{} { + return self.argv[:self.argc] +} + +// Program represents a sequence of instructions. +type Program struct { + arch *Arch + head *Instruction + tail *Instruction +} + +const ( + _N_near = 2 // near-branch (-128 ~ +127) takes 2 bytes to encode + _N_far_cond = 6 // conditional far-branch takes 6 bytes to encode + _N_far_uncond = 5 // unconditional far-branch takes 5 bytes to encode +) + +func (self *Program) clear() { + for p, q := self.head, self.head; p != nil; p = q { + q = p.next + p.free() + } +} + +func (self *Program) alloc(name string, argc int, argv Operands) *Instruction { + p := self.tail + q := newInstruction(name, argc, argv) + + /* attach to tail if any */ + if p != nil { + p.next = q + } else { + self.head = q + } + + /* set the new tail */ + self.tail = q + return q +} + +func (self *Program) pseudo(kind _PseudoType) (p *Instruction) { + p = self.alloc(kind.String(), 0, Operands{}) + p.domain = DomainPseudo + p.pseudo.kind = kind + return +} + +func (self *Program) require(isa ISA) { + if !self.arch.HasISA(isa) { + panic("ISA '" + isa.String() + "' was not enabled") + } +} + +func (self *Program) branchSize(p *Instruction) int { + switch p.branch { + case _B_none: + panic("p is not a branch") + case _B_conditional: + return _N_far_cond + case _B_unconditional: + return _N_far_uncond + default: + panic("invalid instruction") + } +} + +/** Pseudo-Instructions **/ + +// Byte is a pseudo-instruction to add raw byte to the assembled code. +func (self *Program) Byte(v *expr.Expr) (p *Instruction) { + p = self.pseudo(_PseudoByte) + p.pseudo.expr = v + return +} + +// Word is a pseudo-instruction to add raw uint16 as little-endian to the assembled code. +func (self *Program) Word(v *expr.Expr) (p *Instruction) { + p = self.pseudo(_PseudoWord) + p.pseudo.expr = v + return +} + +// Long is a pseudo-instruction to add raw uint32 as little-endian to the assembled code. +func (self *Program) Long(v *expr.Expr) (p *Instruction) { + p = self.pseudo(_PseudoLong) + p.pseudo.expr = v + return +} + +// Quad is a pseudo-instruction to add raw uint64 as little-endian to the assembled code. +func (self *Program) Quad(v *expr.Expr) (p *Instruction) { + p = self.pseudo(_PseudoQuad) + p.pseudo.expr = v + return +} + +// Data is a pseudo-instruction to add raw bytes to the assembled code. +func (self *Program) Data(v []byte) (p *Instruction) { + p = self.pseudo(_PseudoData) + p.pseudo.data = v + return +} + +// Align is a pseudo-instruction to ensure the PC is aligned to a certain value. +func (self *Program) Align(align uint64, padding *expr.Expr) (p *Instruction) { + p = self.pseudo(_PseudoAlign) + p.pseudo.uint = align + p.pseudo.expr = padding + return +} + +/** Program Assembler **/ + +// Free returns the Program object into pool. +// Any operation performed after Free is undefined behavior. +// +// NOTE: This also frees all the instructions, labels, memory +// +// operands and expressions associated with this program. +func (self *Program) Free() { + self.clear() + //freeProgram(self) +} + +// Link pins a label at the current position. +func (self *Program) Link(p *Label) { + if p.Dest != nil { + panic("lable was alreay linked") + } else { + p.Dest = self.pseudo(_PseudoNop) + } +} + +// Assemble assembles and links the entire program into machine code. +func (self *Program) Assemble(pc uintptr) (ret []byte) { + orig := pc + next := true + offs := uintptr(0) + + /* Pass 0: PC-precompute, assume all labeled branches are far-branches. */ + for p := self.head; p != nil; p = p.next { + if p.pc = pc; !isLabel(p.argv[0]) || p.branch == _B_none { + pc += uintptr(p.encode(nil)) + } else { + pc += uintptr(self.branchSize(p)) + } + } + + /* allocate space for the machine code */ + nb := int(pc - orig) + ret = make([]byte, 0, nb) + + /* Pass 1: adjust all the jumps */ + for next { + next = false + offs = uintptr(0) + + /* scan all the branches */ + for p := self.head; p != nil; p = p.next { + var ok bool + var lb *Label + + /* re-calculate the alignment here */ + if nb = p.nb; p.pseudo.kind == _PseudoAlign { + p.pc -= offs + offs += uintptr(nb - p.encode(nil)) + continue + } + + /* adjust the program counter */ + p.pc -= offs + lb, ok = p.argv[0].(*Label) + + /* only care about labeled far-branches */ + if !ok || p.nb == _N_near || p.branch == _B_none { + continue + } + + /* calculate the jump offset */ + size := self.branchSize(p) + diff := lb.offset(p.pc, size) + + /* too far to be a near jump */ + if diff > 127 || diff < -128 { + p.nb = size + continue + } + + /* a far jump becomes a near jump, calculate + * the PC adjustment value and assemble again */ + next = true + p.nb = _N_near + offs += uintptr(size - _N_near) + } + } + + /* Pass 3: link all the cross-references */ + for p := self.head; p != nil; p = p.next { + for i := 0; i < p.argc; i++ { + var ok bool + var lb *Label + var op *MemoryOperand + + /* resolve labels */ + if lb, ok = p.argv[i].(*Label); ok { + p.argv[i] = lb.offset(p.pc, p.nb) + continue + } + + /* check for memory operands */ + if op, ok = p.argv[i].(*MemoryOperand); !ok { + continue + } + + /* check for label references */ + if op.Addr.Type != Reference { + continue + } + + /* replace the label with the real offset */ + op.Addr.Type = Offset + op.Addr.Offset = op.Addr.Reference.offset(p.pc, p.nb) + } + } + + /* Pass 4: actually encode all the instructions */ + for p := self.head; p != nil; p = p.next { + p.encode(&ret) + } + + /* all done */ + return ret +} + +// AssembleAndFree is like Assemble, but it frees the Program after assembling. +func (self *Program) AssembleAndFree(pc uintptr) (ret []byte) { + ret = self.Assemble(pc) + self.Free() + return +} diff --git a/vendor/github.com/cloudwego/iasm/x86_64/registers.go b/vendor/github.com/cloudwego/iasm/x86_64/registers.go new file mode 100644 index 0000000..574c2ee --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/registers.go @@ -0,0 +1,693 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package x86_64 + +import ( + `fmt` +) + +// Register represents a hardware register. +type Register interface { + fmt.Stringer + implRegister() +} + +type ( + Register8 byte + Register16 byte + Register32 byte + Register64 byte +) + +type ( + KRegister byte + MMRegister byte + XMMRegister byte + YMMRegister byte + ZMMRegister byte +) + +// RegisterMask is a KRegister used to mask another register. +type RegisterMask struct { + Z bool + K KRegister +} + +// String implements the fmt.Stringer interface. +func (self RegisterMask) String() string { + if !self.Z { + return fmt.Sprintf("{%%%s}", self.K) + } else { + return fmt.Sprintf("{%%%s}{z}", self.K) + } +} + +// MaskedRegister is a Register masked by a RegisterMask. +type MaskedRegister struct { + Reg Register + Mask RegisterMask +} + +// String implements the fmt.Stringer interface. +func (self MaskedRegister) String() string { + return self.Reg.String() + self.Mask.String() +} + +const ( + AL Register8 = iota + CL + DL + BL + SPL + BPL + SIL + DIL + R8b + R9b + R10b + R11b + R12b + R13b + R14b + R15b +) + +const ( + AH = SPL | 0x80 + CH = BPL | 0x80 + DH = SIL | 0x80 + BH = DIL | 0x80 +) + +const ( + AX Register16 = iota + CX + DX + BX + SP + BP + SI + DI + R8w + R9w + R10w + R11w + R12w + R13w + R14w + R15w +) + +const ( + EAX Register32 = iota + ECX + EDX + EBX + ESP + EBP + ESI + EDI + R8d + R9d + R10d + R11d + R12d + R13d + R14d + R15d +) + +const ( + RAX Register64 = iota + RCX + RDX + RBX + RSP + RBP + RSI + RDI + R8 + R9 + R10 + R11 + R12 + R13 + R14 + R15 +) + +const ( + K0 KRegister = iota + K1 + K2 + K3 + K4 + K5 + K6 + K7 +) + +const ( + MM0 MMRegister = iota + MM1 + MM2 + MM3 + MM4 + MM5 + MM6 + MM7 +) + +const ( + XMM0 XMMRegister = iota + XMM1 + XMM2 + XMM3 + XMM4 + XMM5 + XMM6 + XMM7 + XMM8 + XMM9 + XMM10 + XMM11 + XMM12 + XMM13 + XMM14 + XMM15 + XMM16 + XMM17 + XMM18 + XMM19 + XMM20 + XMM21 + XMM22 + XMM23 + XMM24 + XMM25 + XMM26 + XMM27 + XMM28 + XMM29 + XMM30 + XMM31 +) + +const ( + YMM0 YMMRegister = iota + YMM1 + YMM2 + YMM3 + YMM4 + YMM5 + YMM6 + YMM7 + YMM8 + YMM9 + YMM10 + YMM11 + YMM12 + YMM13 + YMM14 + YMM15 + YMM16 + YMM17 + YMM18 + YMM19 + YMM20 + YMM21 + YMM22 + YMM23 + YMM24 + YMM25 + YMM26 + YMM27 + YMM28 + YMM29 + YMM30 + YMM31 +) + +const ( + ZMM0 ZMMRegister = iota + ZMM1 + ZMM2 + ZMM3 + ZMM4 + ZMM5 + ZMM6 + ZMM7 + ZMM8 + ZMM9 + ZMM10 + ZMM11 + ZMM12 + ZMM13 + ZMM14 + ZMM15 + ZMM16 + ZMM17 + ZMM18 + ZMM19 + ZMM20 + ZMM21 + ZMM22 + ZMM23 + ZMM24 + ZMM25 + ZMM26 + ZMM27 + ZMM28 + ZMM29 + ZMM30 + ZMM31 +) + +func (self Register8) implRegister() {} +func (self Register16) implRegister() {} +func (self Register32) implRegister() {} +func (self Register64) implRegister() {} + +func (self KRegister) implRegister() {} +func (self MMRegister) implRegister() {} +func (self XMMRegister) implRegister() {} +func (self YMMRegister) implRegister() {} +func (self ZMMRegister) implRegister() {} + +func (self Register8) String() string { if int(self) >= len(r8names) { return "???" } else { return r8names[self] } } +func (self Register16) String() string { if int(self) >= len(r16names) { return "???" } else { return r16names[self] } } +func (self Register32) String() string { if int(self) >= len(r32names) { return "???" } else { return r32names[self] } } +func (self Register64) String() string { if int(self) >= len(r64names) { return "???" } else { return r64names[self] } } + +func (self KRegister) String() string { if int(self) >= len(knames) { return "???" } else { return knames[self] } } +func (self MMRegister) String() string { if int(self) >= len(mmnames) { return "???" } else { return mmnames[self] } } +func (self XMMRegister) String() string { if int(self) >= len(xmmnames) { return "???" } else { return xmmnames[self] } } +func (self YMMRegister) String() string { if int(self) >= len(ymmnames) { return "???" } else { return ymmnames[self] } } +func (self ZMMRegister) String() string { if int(self) >= len(zmmnames) { return "???" } else { return zmmnames[self] } } + +// Registers maps register name into Register instances. +var Registers = map[string]Register { + "al" : AL, + "cl" : CL, + "dl" : DL, + "bl" : BL, + "spl" : SPL, + "bpl" : BPL, + "sil" : SIL, + "dil" : DIL, + "r8b" : R8b, + "r9b" : R9b, + "r10b" : R10b, + "r11b" : R11b, + "r12b" : R12b, + "r13b" : R13b, + "r14b" : R14b, + "r15b" : R15b, + "ah" : AH, + "ch" : CH, + "dh" : DH, + "bh" : BH, + "ax" : AX, + "cx" : CX, + "dx" : DX, + "bx" : BX, + "sp" : SP, + "bp" : BP, + "si" : SI, + "di" : DI, + "r8w" : R8w, + "r9w" : R9w, + "r10w" : R10w, + "r11w" : R11w, + "r12w" : R12w, + "r13w" : R13w, + "r14w" : R14w, + "r15w" : R15w, + "eax" : EAX, + "ecx" : ECX, + "edx" : EDX, + "ebx" : EBX, + "esp" : ESP, + "ebp" : EBP, + "esi" : ESI, + "edi" : EDI, + "r8d" : R8d, + "r9d" : R9d, + "r10d" : R10d, + "r11d" : R11d, + "r12d" : R12d, + "r13d" : R13d, + "r14d" : R14d, + "r15d" : R15d, + "rax" : RAX, + "rcx" : RCX, + "rdx" : RDX, + "rbx" : RBX, + "rsp" : RSP, + "rbp" : RBP, + "rsi" : RSI, + "rdi" : RDI, + "r8" : R8, + "r9" : R9, + "r10" : R10, + "r11" : R11, + "r12" : R12, + "r13" : R13, + "r14" : R14, + "r15" : R15, + "k0" : K0, + "k1" : K1, + "k2" : K2, + "k3" : K3, + "k4" : K4, + "k5" : K5, + "k6" : K6, + "k7" : K7, + "mm0" : MM0, + "mm1" : MM1, + "mm2" : MM2, + "mm3" : MM3, + "mm4" : MM4, + "mm5" : MM5, + "mm6" : MM6, + "mm7" : MM7, + "xmm0" : XMM0, + "xmm1" : XMM1, + "xmm2" : XMM2, + "xmm3" : XMM3, + "xmm4" : XMM4, + "xmm5" : XMM5, + "xmm6" : XMM6, + "xmm7" : XMM7, + "xmm8" : XMM8, + "xmm9" : XMM9, + "xmm10" : XMM10, + "xmm11" : XMM11, + "xmm12" : XMM12, + "xmm13" : XMM13, + "xmm14" : XMM14, + "xmm15" : XMM15, + "xmm16" : XMM16, + "xmm17" : XMM17, + "xmm18" : XMM18, + "xmm19" : XMM19, + "xmm20" : XMM20, + "xmm21" : XMM21, + "xmm22" : XMM22, + "xmm23" : XMM23, + "xmm24" : XMM24, + "xmm25" : XMM25, + "xmm26" : XMM26, + "xmm27" : XMM27, + "xmm28" : XMM28, + "xmm29" : XMM29, + "xmm30" : XMM30, + "xmm31" : XMM31, + "ymm0" : YMM0, + "ymm1" : YMM1, + "ymm2" : YMM2, + "ymm3" : YMM3, + "ymm4" : YMM4, + "ymm5" : YMM5, + "ymm6" : YMM6, + "ymm7" : YMM7, + "ymm8" : YMM8, + "ymm9" : YMM9, + "ymm10" : YMM10, + "ymm11" : YMM11, + "ymm12" : YMM12, + "ymm13" : YMM13, + "ymm14" : YMM14, + "ymm15" : YMM15, + "ymm16" : YMM16, + "ymm17" : YMM17, + "ymm18" : YMM18, + "ymm19" : YMM19, + "ymm20" : YMM20, + "ymm21" : YMM21, + "ymm22" : YMM22, + "ymm23" : YMM23, + "ymm24" : YMM24, + "ymm25" : YMM25, + "ymm26" : YMM26, + "ymm27" : YMM27, + "ymm28" : YMM28, + "ymm29" : YMM29, + "ymm30" : YMM30, + "ymm31" : YMM31, + "zmm0" : ZMM0, + "zmm1" : ZMM1, + "zmm2" : ZMM2, + "zmm3" : ZMM3, + "zmm4" : ZMM4, + "zmm5" : ZMM5, + "zmm6" : ZMM6, + "zmm7" : ZMM7, + "zmm8" : ZMM8, + "zmm9" : ZMM9, + "zmm10" : ZMM10, + "zmm11" : ZMM11, + "zmm12" : ZMM12, + "zmm13" : ZMM13, + "zmm14" : ZMM14, + "zmm15" : ZMM15, + "zmm16" : ZMM16, + "zmm17" : ZMM17, + "zmm18" : ZMM18, + "zmm19" : ZMM19, + "zmm20" : ZMM20, + "zmm21" : ZMM21, + "zmm22" : ZMM22, + "zmm23" : ZMM23, + "zmm24" : ZMM24, + "zmm25" : ZMM25, + "zmm26" : ZMM26, + "zmm27" : ZMM27, + "zmm28" : ZMM28, + "zmm29" : ZMM29, + "zmm30" : ZMM30, + "zmm31" : ZMM31, +} + +/** Register Name Tables **/ + +var r8names = [...]string { + AL : "al", + CL : "cl", + DL : "dl", + BL : "bl", + SPL : "spl", + BPL : "bpl", + SIL : "sil", + DIL : "dil", + R8b : "r8b", + R9b : "r9b", + R10b : "r10b", + R11b : "r11b", + R12b : "r12b", + R13b : "r13b", + R14b : "r14b", + R15b : "r15b", + AH : "ah", + CH : "ch", + DH : "dh", + BH : "bh", +} + +var r16names = [...]string { + AX : "ax", + CX : "cx", + DX : "dx", + BX : "bx", + SP : "sp", + BP : "bp", + SI : "si", + DI : "di", + R8w : "r8w", + R9w : "r9w", + R10w : "r10w", + R11w : "r11w", + R12w : "r12w", + R13w : "r13w", + R14w : "r14w", + R15w : "r15w", +} + +var r32names = [...]string { + EAX : "eax", + ECX : "ecx", + EDX : "edx", + EBX : "ebx", + ESP : "esp", + EBP : "ebp", + ESI : "esi", + EDI : "edi", + R8d : "r8d", + R9d : "r9d", + R10d : "r10d", + R11d : "r11d", + R12d : "r12d", + R13d : "r13d", + R14d : "r14d", + R15d : "r15d", +} + +var r64names = [...]string { + RAX : "rax", + RCX : "rcx", + RDX : "rdx", + RBX : "rbx", + RSP : "rsp", + RBP : "rbp", + RSI : "rsi", + RDI : "rdi", + R8 : "r8", + R9 : "r9", + R10 : "r10", + R11 : "r11", + R12 : "r12", + R13 : "r13", + R14 : "r14", + R15 : "r15", +} + +var knames = [...]string { + K0: "k0", + K1: "k1", + K2: "k2", + K3: "k3", + K4: "k4", + K5: "k5", + K6: "k6", + K7: "k7", +} + +var mmnames = [...]string { + MM0: "mm0", + MM1: "mm1", + MM2: "mm2", + MM3: "mm3", + MM4: "mm4", + MM5: "mm5", + MM6: "mm6", + MM7: "mm7", +} + +var xmmnames = [...]string { + XMM0 : "xmm0", + XMM1 : "xmm1", + XMM2 : "xmm2", + XMM3 : "xmm3", + XMM4 : "xmm4", + XMM5 : "xmm5", + XMM6 : "xmm6", + XMM7 : "xmm7", + XMM8 : "xmm8", + XMM9 : "xmm9", + XMM10 : "xmm10", + XMM11 : "xmm11", + XMM12 : "xmm12", + XMM13 : "xmm13", + XMM14 : "xmm14", + XMM15 : "xmm15", + XMM16 : "xmm16", + XMM17 : "xmm17", + XMM18 : "xmm18", + XMM19 : "xmm19", + XMM20 : "xmm20", + XMM21 : "xmm21", + XMM22 : "xmm22", + XMM23 : "xmm23", + XMM24 : "xmm24", + XMM25 : "xmm25", + XMM26 : "xmm26", + XMM27 : "xmm27", + XMM28 : "xmm28", + XMM29 : "xmm29", + XMM30 : "xmm30", + XMM31 : "xmm31", +} + +var ymmnames = [...]string { + YMM0 : "ymm0", + YMM1 : "ymm1", + YMM2 : "ymm2", + YMM3 : "ymm3", + YMM4 : "ymm4", + YMM5 : "ymm5", + YMM6 : "ymm6", + YMM7 : "ymm7", + YMM8 : "ymm8", + YMM9 : "ymm9", + YMM10 : "ymm10", + YMM11 : "ymm11", + YMM12 : "ymm12", + YMM13 : "ymm13", + YMM14 : "ymm14", + YMM15 : "ymm15", + YMM16 : "ymm16", + YMM17 : "ymm17", + YMM18 : "ymm18", + YMM19 : "ymm19", + YMM20 : "ymm20", + YMM21 : "ymm21", + YMM22 : "ymm22", + YMM23 : "ymm23", + YMM24 : "ymm24", + YMM25 : "ymm25", + YMM26 : "ymm26", + YMM27 : "ymm27", + YMM28 : "ymm28", + YMM29 : "ymm29", + YMM30 : "ymm30", + YMM31 : "ymm31", +} + +var zmmnames = [...]string { + ZMM0 : "zmm0", + ZMM1 : "zmm1", + ZMM2 : "zmm2", + ZMM3 : "zmm3", + ZMM4 : "zmm4", + ZMM5 : "zmm5", + ZMM6 : "zmm6", + ZMM7 : "zmm7", + ZMM8 : "zmm8", + ZMM9 : "zmm9", + ZMM10 : "zmm10", + ZMM11 : "zmm11", + ZMM12 : "zmm12", + ZMM13 : "zmm13", + ZMM14 : "zmm14", + ZMM15 : "zmm15", + ZMM16 : "zmm16", + ZMM17 : "zmm17", + ZMM18 : "zmm18", + ZMM19 : "zmm19", + ZMM20 : "zmm20", + ZMM21 : "zmm21", + ZMM22 : "zmm22", + ZMM23 : "zmm23", + ZMM24 : "zmm24", + ZMM25 : "zmm25", + ZMM26 : "zmm26", + ZMM27 : "zmm27", + ZMM28 : "zmm28", + ZMM29 : "zmm29", + ZMM30 : "zmm30", + ZMM31 : "zmm31", +} diff --git a/vendor/github.com/cloudwego/iasm/x86_64/utils.go b/vendor/github.com/cloudwego/iasm/x86_64/utils.go new file mode 100644 index 0000000..56c107f --- /dev/null +++ b/vendor/github.com/cloudwego/iasm/x86_64/utils.go @@ -0,0 +1,147 @@ +// +// Copyright 2024 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +package x86_64 + +import ( + `encoding/binary` + `errors` + `reflect` + `strconv` + `unicode/utf8` + `unsafe` +) + +const ( + _CC_digit = 1 << iota + _CC_ident + _CC_ident0 + _CC_number +) + +func ispow2(v uint64) bool { + return (v & (v - 1)) == 0 +} + +func isdigit(cc rune) bool { + return '0' <= cc && cc <= '9' +} + +func isalpha(cc rune) bool { + return (cc >= 'a' && cc <= 'z') || (cc >= 'A' && cc <= 'Z') +} + +func isident(cc rune) bool { + return cc == '_' || isalpha(cc) || isdigit(cc) +} + +func isident0(cc rune) bool { + return cc == '_' || isalpha(cc) +} + +func isnumber(cc rune) bool { + return (cc == 'b' || cc == 'B') || + (cc == 'o' || cc == 'O') || + (cc == 'x' || cc == 'X') || + (cc >= '0' && cc <= '9') || + (cc >= 'a' && cc <= 'f') || + (cc >= 'A' && cc <= 'F') +} + +func align(v int, n int) int { + return (((v - 1) >> n) + 1) << n +} + +func append8(m *[]byte, v byte) { + *m = append(*m, v) +} + +func append16(m *[]byte, v uint16) { + p := len(*m) + *m = append(*m, 0, 0) + binary.LittleEndian.PutUint16((*m)[p:], v) +} + +func append32(m *[]byte, v uint32) { + p := len(*m) + *m = append(*m, 0, 0, 0, 0) + binary.LittleEndian.PutUint32((*m)[p:], v) +} + +func append64(m *[]byte, v uint64) { + p := len(*m) + *m = append(*m, 0, 0, 0, 0, 0, 0, 0, 0) + binary.LittleEndian.PutUint64((*m)[p:], v) +} + +func expandmm(m *[]byte, n int, v byte) { + sl := (*_GoSlice)(unsafe.Pointer(m)) + nb := sl.len + n + + /* grow as needed */ + if nb > cap(*m) { + *m = growslice(byteType, *m, nb) + } + + /* fill the new area */ + memset(unsafe.Pointer(uintptr(sl.ptr) + uintptr(sl.len)), v, uintptr(n)) + sl.len = nb +} + +func memset(p unsafe.Pointer, c byte, n uintptr) { + if c != 0 { + memsetv(p, c, n) + } else { + memclrNoHeapPointers(p, n) + } +} + +func memsetv(p unsafe.Pointer, c byte, n uintptr) { + for i := uintptr(0); i < n; i++ { + *(*byte)(unsafe.Pointer(uintptr(p) + i)) = c + } +} + +func literal64(v string) (uint64, error) { + var nb int + var ch rune + var ex error + var mm [12]byte + + /* unquote the runes */ + for v != "" { + if ch, _, v, ex = strconv.UnquoteChar(v, '\''); ex != nil { + return 0, ex + } else if nb += utf8.EncodeRune(mm[nb:], ch); nb > 8 { + return 0, errors.New("multi-char constant too large") + } + } + + /* convert to uint64 */ + return *(*uint64)(unsafe.Pointer(&mm)), nil +} + +var ( + byteWrap = reflect.TypeOf(byte(0)) + byteType = (*_GoType)(efaceOf(byteWrap).ptr) +) + +//go:linkname growslice runtime.growslice +func growslice(_ *_GoType, _ []byte, _ int) []byte + +//go:noescape +//go:linkname memclrNoHeapPointers runtime.memclrNoHeapPointers +func memclrNoHeapPointers(_ unsafe.Pointer, _ uintptr) diff --git a/vendor/github.com/gabriel-vasile/mimetype/README.md b/vendor/github.com/gabriel-vasile/mimetype/README.md index d310928..231b291 100644 --- a/vendor/github.com/gabriel-vasile/mimetype/README.md +++ b/vendor/github.com/gabriel-vasile/mimetype/README.md @@ -10,9 +10,6 @@

- - Build Status - Go Reference diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/binary.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/binary.go index 29bdded..f1e9449 100644 --- a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/binary.go +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/binary.go @@ -150,32 +150,34 @@ func Marc(raw []byte, limit uint32) bool { } // Glb matches a glTF model format file. -// GLB is the binary file format representation of 3D models save in +// GLB is the binary file format representation of 3D models saved in // the GL transmission Format (glTF). -// see more: https://docs.fileformat.com/3d/glb/ -// https://www.iana.org/assignments/media-types/model/gltf-binary -// GLB file format is based on little endian and its header structure -// show below: +// GLB uses little endian and its header structure is as follows: // -// <-- 12-byte header --> -// | magic | version | length | -// | (uint32) | (uint32) | (uint32) | -// | \x67\x6C\x54\x46 | \x01\x00\x00\x00 | ... | -// | g l T F | 1 | ... | +// <-- 12-byte header --> +// | magic | version | length | +// | (uint32) | (uint32) | (uint32) | +// | \x67\x6C\x54\x46 | \x01\x00\x00\x00 | ... | +// | g l T F | 1 | ... | +// +// Visit [glTF specification] and [IANA glTF entry] for more details. +// +// [glTF specification]: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html +// [IANA glTF entry]: https://www.iana.org/assignments/media-types/model/gltf-binary var Glb = prefix([]byte("\x67\x6C\x54\x46\x02\x00\x00\x00"), []byte("\x67\x6C\x54\x46\x01\x00\x00\x00")) // TzIf matches a Time Zone Information Format (TZif) file. // See more: https://tools.ietf.org/id/draft-murchison-tzdist-tzif-00.html#rfc.section.3 // Its header structure is shown below: -// +---------------+---+ -// | magic (4) | <-+-- version (1) -// +---------------+---+---------------------------------------+ -// | [unused - reserved for future use] (15) | -// +---------------+---------------+---------------+-----------+ -// | isutccnt (4) | isstdcnt (4) | leapcnt (4) | -// +---------------+---------------+---------------+ -// | timecnt (4) | typecnt (4) | charcnt (4) | +// +---------------+---+ +// | magic (4) | <-+-- version (1) +// +---------------+---+---------------------------------------+ +// | [unused - reserved for future use] (15) | +// +---------------+---------------+---------------+-----------+ +// | isutccnt (4) | isstdcnt (4) | leapcnt (4) | +// +---------------+---------------+---------------+ +// | timecnt (4) | typecnt (4) | charcnt (4) | func TzIf(raw []byte, limit uint32) bool { // File is at least 44 bytes (header size). if len(raw) < 44 { diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/magic.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/magic.go index 466058f..34b84f4 100644 --- a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/magic.go +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/magic.go @@ -177,7 +177,9 @@ func newXMLSig(localName, xmlns string) xmlSig { // and, optionally, followed by the arguments for the interpreter. // // Ex: -// #! /usr/bin/env php +// +// #! /usr/bin/env php +// // /usr/bin/env is the interpreter, php is the first and only argument. func shebang(sigs ...[]byte) Detector { return func(raw []byte, limit uint32) bool { diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text_csv.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text_csv.go index 6a15619..84ed649 100644 --- a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text_csv.go +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text_csv.go @@ -3,6 +3,7 @@ package magic import ( "bytes" "encoding/csv" + "errors" "io" ) @@ -19,12 +20,23 @@ func Tsv(raw []byte, limit uint32) bool { func sv(in []byte, comma rune, limit uint32) bool { r := csv.NewReader(dropLastLine(in, limit)) r.Comma = comma - r.TrimLeadingSpace = true + r.ReuseRecord = true r.LazyQuotes = true r.Comment = '#' - lines, err := r.ReadAll() - return err == nil && r.FieldsPerRecord > 1 && len(lines) > 1 + lines := 0 + for { + _, err := r.Read() + if errors.Is(err, io.EOF) { + break + } + if err != nil { + return false + } + lines++ + } + + return r.FieldsPerRecord > 1 && lines > 1 } // dropLastLine drops the last incomplete line from b. diff --git a/vendor/github.com/gabriel-vasile/mimetype/mimetype.go b/vendor/github.com/gabriel-vasile/mimetype/mimetype.go index 08e68e3..1b5909b 100644 --- a/vendor/github.com/gabriel-vasile/mimetype/mimetype.go +++ b/vendor/github.com/gabriel-vasile/mimetype/mimetype.go @@ -39,7 +39,8 @@ func Detect(in []byte) *MIME { // // DetectReader assumes the reader offset is at the start. If the input is an // io.ReadSeeker you previously read from, it should be rewinded before detection: -// reader.Seek(0, io.SeekStart) +// +// reader.Seek(0, io.SeekStart) func DetectReader(r io.Reader) (*MIME, error) { var in []byte var err error diff --git a/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md b/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md index cdec4e6..5ec6f6b 100644 --- a/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md +++ b/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md @@ -1,4 +1,4 @@ -## 172 Supported MIME types +## 173 Supported MIME types This file is automatically generated when running tests. Do not edit manually. Extension | MIME type | Aliases diff --git a/vendor/github.com/gin-gonic/gin/.gitignore b/vendor/github.com/gin-gonic/gin/.gitignore index bdd50c9..1ea0e2b 100644 --- a/vendor/github.com/gin-gonic/gin/.gitignore +++ b/vendor/github.com/gin-gonic/gin/.gitignore @@ -5,3 +5,7 @@ count.out test profile.out tmp.out + +# Develop tools +.idea/ +.vscode/ diff --git a/vendor/github.com/gin-gonic/gin/.golangci.yml b/vendor/github.com/gin-gonic/gin/.golangci.yml index 91dae02..4a72f73 100644 --- a/vendor/github.com/gin-gonic/gin/.golangci.yml +++ b/vendor/github.com/gin-gonic/gin/.golangci.yml @@ -3,7 +3,6 @@ run: linters: enable: - asciicheck - - depguard - dogsled - durationcheck - errcheck diff --git a/vendor/github.com/gin-gonic/gin/.goreleaser.yaml b/vendor/github.com/gin-gonic/gin/.goreleaser.yaml index e435e56..99b66fe 100644 --- a/vendor/github.com/gin-gonic/gin/.goreleaser.yaml +++ b/vendor/github.com/gin-gonic/gin/.goreleaser.yaml @@ -1,8 +1,7 @@ project_name: gin builds: - - - # If true, skip the build. + - # If true, skip the build. # Useful for library projects. # Default is false skip: true @@ -10,7 +9,7 @@ builds: changelog: # Set it to true if you wish to skip the changelog generation. # This may result in an empty release notes on GitHub/GitLab/Gitea. - skip: false + disable: false # Changelog generation implementation to use. # @@ -21,7 +20,7 @@ changelog: # - `github-native`: uses the GitHub release notes generation API, disables the groups feature. # # Defaults to `git`. - use: git + use: github # Sorts the changelog by the commit's messages. # Could either be asc, desc or empty @@ -38,20 +37,20 @@ changelog: - title: Features regexp: "^.*feat[(\\w)]*:+.*$" order: 0 - - title: 'Bug fixes' + - title: "Bug fixes" regexp: "^.*fix[(\\w)]*:+.*$" order: 1 - - title: 'Enhancements' + - title: "Enhancements" regexp: "^.*chore[(\\w)]*:+.*$" order: 2 + - title: "Refactor" + regexp: "^.*refactor[(\\w)]*:+.*$" + order: 3 + - title: "Build process updates" + regexp: ^.*?(build|ci)(\(.+\))??!?:.+$ + order: 4 + - title: "Documentation updates" + regexp: ^.*?docs?(\(.+\))??!?:.+$ + order: 4 - title: Others order: 999 - - filters: - # Commit messages matching the regexp listed here will be removed from - # the changelog - # Default is empty - exclude: - - '^docs' - - 'CICD' - - typo diff --git a/vendor/github.com/gin-gonic/gin/Makefile b/vendor/github.com/gin-gonic/gin/Makefile index ebde4ee..b58f24f 100644 --- a/vendor/github.com/gin-gonic/gin/Makefile +++ b/vendor/github.com/gin-gonic/gin/Makefile @@ -42,6 +42,7 @@ fmt-check: exit 1; \ fi; +.PHONY: vet vet: $(GO) vet $(VETPACKAGES) diff --git a/vendor/github.com/gin-gonic/gin/auth.go b/vendor/github.com/gin-gonic/gin/auth.go index 2503c51..5d3222d 100644 --- a/vendor/github.com/gin-gonic/gin/auth.go +++ b/vendor/github.com/gin-gonic/gin/auth.go @@ -16,6 +16,9 @@ import ( // AuthUserKey is the cookie name for user credential in basic auth. const AuthUserKey = "user" +// AuthProxyUserKey is the cookie name for proxy_user credential in basic auth for proxy. +const AuthProxyUserKey = "proxy_user" + // Accounts defines a key/value for user/pass list of authorized logins. type Accounts map[string]string @@ -89,3 +92,25 @@ func authorizationHeader(user, password string) string { base := user + ":" + password return "Basic " + base64.StdEncoding.EncodeToString(bytesconv.StringToBytes(base)) } + +// BasicAuthForProxy returns a Basic HTTP Proxy-Authorization middleware. +// If the realm is empty, "Proxy Authorization Required" will be used by default. +func BasicAuthForProxy(accounts Accounts, realm string) HandlerFunc { + if realm == "" { + realm = "Proxy Authorization Required" + } + realm = "Basic realm=" + strconv.Quote(realm) + pairs := processAccounts(accounts) + return func(c *Context) { + proxyUser, found := pairs.searchCredential(c.requestHeader("Proxy-Authorization")) + if !found { + // Credentials doesn't match, we return 407 and abort handlers chain. + c.Header("Proxy-Authenticate", realm) + c.AbortWithStatus(http.StatusProxyAuthRequired) + return + } + // The proxy_user credentials was found, set proxy_user's id to key AuthProxyUserKey in this context, the proxy_user's id can be read later using + // c.MustGet(gin.AuthProxyUserKey). + c.Set(AuthProxyUserKey, proxyUser) + } +} diff --git a/vendor/github.com/gin-gonic/gin/binding/binding.go b/vendor/github.com/gin-gonic/gin/binding/binding.go index 4094852..9472387 100644 --- a/vendor/github.com/gin-gonic/gin/binding/binding.go +++ b/vendor/github.com/gin-gonic/gin/binding/binding.go @@ -21,6 +21,7 @@ const ( MIMEMSGPACK = "application/x-msgpack" MIMEMSGPACK2 = "application/msgpack" MIMEYAML = "application/x-yaml" + MIMEYAML2 = "application/yaml" MIMETOML = "application/toml" ) @@ -72,18 +73,18 @@ var Validator StructValidator = &defaultValidator{} // These implement the Binding interface and can be used to bind the data // present in the request to struct instances. var ( - JSON = jsonBinding{} - XML = xmlBinding{} - Form = formBinding{} - Query = queryBinding{} - FormPost = formPostBinding{} - FormMultipart = formMultipartBinding{} - ProtoBuf = protobufBinding{} - MsgPack = msgpackBinding{} - YAML = yamlBinding{} - Uri = uriBinding{} - Header = headerBinding{} - TOML = tomlBinding{} + JSON BindingBody = jsonBinding{} + XML BindingBody = xmlBinding{} + Form Binding = formBinding{} + Query Binding = queryBinding{} + FormPost Binding = formPostBinding{} + FormMultipart Binding = formMultipartBinding{} + ProtoBuf BindingBody = protobufBinding{} + MsgPack BindingBody = msgpackBinding{} + YAML BindingBody = yamlBinding{} + Uri BindingUri = uriBinding{} + Header Binding = headerBinding{} + TOML BindingBody = tomlBinding{} ) // Default returns the appropriate Binding instance based on the HTTP method @@ -102,7 +103,7 @@ func Default(method, contentType string) Binding { return ProtoBuf case MIMEMSGPACK, MIMEMSGPACK2: return MsgPack - case MIMEYAML: + case MIMEYAML, MIMEYAML2: return YAML case MIMETOML: return TOML diff --git a/vendor/github.com/gin-gonic/gin/binding/binding_nomsgpack.go b/vendor/github.com/gin-gonic/gin/binding/binding_nomsgpack.go index 93ad8ba..552a86b 100644 --- a/vendor/github.com/gin-gonic/gin/binding/binding_nomsgpack.go +++ b/vendor/github.com/gin-gonic/gin/binding/binding_nomsgpack.go @@ -19,6 +19,7 @@ const ( MIMEMultipartPOSTForm = "multipart/form-data" MIMEPROTOBUF = "application/x-protobuf" MIMEYAML = "application/x-yaml" + MIMEYAML2 = "application/yaml" MIMETOML = "application/toml" ) @@ -96,7 +97,7 @@ func Default(method, contentType string) Binding { return XML case MIMEPROTOBUF: return ProtoBuf - case MIMEYAML: + case MIMEYAML, MIMEYAML2: return YAML case MIMEMultipartPOSTForm: return FormMultipart diff --git a/vendor/github.com/gin-gonic/gin/binding/default_validator.go b/vendor/github.com/gin-gonic/gin/binding/default_validator.go index e216b85..ac43d7c 100644 --- a/vendor/github.com/gin-gonic/gin/binding/default_validator.go +++ b/vendor/github.com/gin-gonic/gin/binding/default_validator.go @@ -54,7 +54,10 @@ func (v *defaultValidator) ValidateStruct(obj any) error { value := reflect.ValueOf(obj) switch value.Kind() { case reflect.Ptr: - return v.ValidateStruct(value.Elem().Interface()) + if value.Elem().Kind() != reflect.Struct { + return v.ValidateStruct(value.Elem().Interface()) + } + return v.validateStruct(obj) case reflect.Struct: return v.validateStruct(obj) case reflect.Slice, reflect.Array: diff --git a/vendor/github.com/gin-gonic/gin/binding/form_mapping.go b/vendor/github.com/gin-gonic/gin/binding/form_mapping.go index 540bbbb..db235e5 100644 --- a/vendor/github.com/gin-gonic/gin/binding/form_mapping.go +++ b/vendor/github.com/gin-gonic/gin/binding/form_mapping.go @@ -7,6 +7,7 @@ package binding import ( "errors" "fmt" + "mime/multipart" "reflect" "strconv" "strings" @@ -164,6 +165,23 @@ func tryToSetValue(value reflect.Value, field reflect.StructField, setter setter return setter.TrySet(value, field, tagValue, setOpt) } +// BindUnmarshaler is the interface used to wrap the UnmarshalParam method. +type BindUnmarshaler interface { + // UnmarshalParam decodes and assigns a value from an form or query param. + UnmarshalParam(param string) error +} + +// trySetCustom tries to set a custom type value +// If the value implements the BindUnmarshaler interface, it will be used to set the value, we will return `true` +// to skip the default value setting. +func trySetCustom(val string, value reflect.Value) (isSet bool, err error) { + switch v := value.Addr().Interface().(type) { + case BindUnmarshaler: + return true, v.UnmarshalParam(val) + } + return false, nil +} + func setByForm(value reflect.Value, field reflect.StructField, form map[string][]string, tagValue string, opt setOptions) (isSet bool, err error) { vs, ok := form[tagValue] if !ok && !opt.isDefaultExists { @@ -193,6 +211,9 @@ func setByForm(value reflect.Value, field reflect.StructField, form map[string][ if len(vs) > 0 { val = vs[0] } + if ok, err := trySetCustom(val, value); ok { + return ok, err + } return true, setWithProperType(val, value, field) } } @@ -235,10 +256,17 @@ func setWithProperType(val string, value reflect.Value, field reflect.StructFiel switch value.Interface().(type) { case time.Time: return setTimeField(val, field, value) + case multipart.FileHeader: + return nil } return json.Unmarshal(bytesconv.StringToBytes(val), value.Addr().Interface()) case reflect.Map: return json.Unmarshal(bytesconv.StringToBytes(val), value.Addr().Interface()) + case reflect.Ptr: + if !value.Elem().IsValid() { + value.Set(reflect.New(value.Type().Elem())) + } + return setWithProperType(val, value.Elem(), field) default: return errUnknownType } diff --git a/vendor/github.com/gin-gonic/gin/codecov.yml b/vendor/github.com/gin-gonic/gin/codecov.yml new file mode 100644 index 0000000..47782e5 --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/codecov.yml @@ -0,0 +1,13 @@ +coverage: + require_ci_to_pass: true + + status: + project: + default: + target: 99% + threshold: 99% + + patch: + default: + target: 99% + threshold: 95% \ No newline at end of file diff --git a/vendor/github.com/gin-gonic/gin/context.go b/vendor/github.com/gin-gonic/gin/context.go index 420ff16..391adaf 100644 --- a/vendor/github.com/gin-gonic/gin/context.go +++ b/vendor/github.com/gin-gonic/gin/context.go @@ -43,6 +43,10 @@ const BodyBytesKey = "_gin-gonic/gin/bodybyteskey" // ContextKey is the key that a Context returns itself for. const ContextKey = "_gin-gonic/gin/contextkey" +type ContextKeyType int + +const ContextRequestKey ContextKeyType = 0 + // abortIndex represents a typical value used in abort functions. const abortIndex int8 = math.MaxInt8 >> 1 @@ -113,20 +117,27 @@ func (c *Context) Copy() *Context { cp := Context{ writermem: c.writermem, Request: c.Request, - Params: c.Params, engine: c.engine, } + cp.writermem.ResponseWriter = nil cp.Writer = &cp.writermem cp.index = abortIndex cp.handlers = nil - cp.Keys = map[string]any{} - for k, v := range c.Keys { + cp.fullPath = c.fullPath + + cKeys := c.Keys + cp.Keys = make(map[string]any, len(cKeys)) + c.mu.RLock() + for k, v := range cKeys { cp.Keys[k] = v } - paramCopy := make([]Param, len(cp.Params)) - copy(paramCopy, cp.Params) - cp.Params = paramCopy + c.mu.RUnlock() + + cParams := c.Params + cp.Params = make([]Param, len(cParams)) + copy(cp.Params, cParams) + return &cp } @@ -386,7 +397,7 @@ func (c *Context) GetStringMapStringSlice(key string) (smss map[string][]string) // // router.GET("/user/:id", func(c *gin.Context) { // // a GET request to /user/john -// id := c.Param("id") // id == "/john" +// id := c.Param("id") // id == "john" // // a GET request to /user/john/ // id := c.Param("id") // id == "/john/" // }) @@ -728,7 +739,7 @@ func (c *Context) ShouldBindHeader(obj any) error { // ShouldBindUri binds the passed struct pointer using the specified binding engine. func (c *Context) ShouldBindUri(obj any) error { - m := make(map[string][]string) + m := make(map[string][]string, len(c.Params)) for _, v := range c.Params { m[v.Key] = []string{v.Value} } @@ -763,6 +774,26 @@ func (c *Context) ShouldBindBodyWith(obj any, bb binding.BindingBody) (err error return bb.BindBody(body, obj) } +// ShouldBindBodyWithJSON is a shortcut for c.ShouldBindBodyWith(obj, binding.JSON). +func (c *Context) ShouldBindBodyWithJSON(obj any) error { + return c.ShouldBindBodyWith(obj, binding.JSON) +} + +// ShouldBindBodyWithXML is a shortcut for c.ShouldBindBodyWith(obj, binding.XML). +func (c *Context) ShouldBindBodyWithXML(obj any) error { + return c.ShouldBindBodyWith(obj, binding.XML) +} + +// ShouldBindBodyWithYAML is a shortcut for c.ShouldBindBodyWith(obj, binding.YAML). +func (c *Context) ShouldBindBodyWithYAML(obj any) error { + return c.ShouldBindBodyWith(obj, binding.YAML) +} + +// ShouldBindBodyWithTOML is a shortcut for c.ShouldBindBodyWith(obj, binding.TOML). +func (c *Context) ShouldBindBodyWithTOML(obj any) error { + return c.ShouldBindBodyWith(obj, binding.TOML) +} + // ClientIP implements one best effort algorithm to return the real client IP. // It calls c.RemoteIP() under the hood, to check if the remote IP is a trusted proxy or not. // If it is it will then try to parse the headers defined in Engine.RemoteIPHeaders (defaulting to [X-Forwarded-For, X-Real-Ip]). @@ -873,6 +904,9 @@ func (c *Context) GetHeader(key string) string { // GetRawData returns stream data. func (c *Context) GetRawData() ([]byte, error) { + if c.Request.Body == nil { + return nil, errors.New("cannot read nil body") + } return io.ReadAll(c.Request.Body) } @@ -1215,7 +1249,7 @@ func (c *Context) Err() error { // if no value is associated with key. Successive calls to Value with // the same key returns the same result. func (c *Context) Value(key any) any { - if key == 0 { + if key == ContextRequestKey { return c.Request } if key == ContextKey { diff --git a/vendor/github.com/gin-gonic/gin/debug.go b/vendor/github.com/gin-gonic/gin/debug.go index 1fc0caf..1761fe3 100644 --- a/vendor/github.com/gin-gonic/gin/debug.go +++ b/vendor/github.com/gin-gonic/gin/debug.go @@ -23,6 +23,9 @@ func IsDebugging() bool { // DebugPrintRouteFunc indicates debug log output format. var DebugPrintRouteFunc func(httpMethod, absolutePath, handlerName string, nuHandlers int) +// DebugPrintFunc indicates debug log output format. +var DebugPrintFunc func(format string, values ...interface{}) + func debugPrintRoute(httpMethod, absolutePath string, handlers HandlersChain) { if IsDebugging() { nuHandlers := len(handlers) @@ -48,12 +51,19 @@ func debugPrintLoadTemplate(tmpl *template.Template) { } func debugPrint(format string, values ...any) { - if IsDebugging() { - if !strings.HasSuffix(format, "\n") { - format += "\n" - } - fmt.Fprintf(DefaultWriter, "[GIN-debug] "+format, values...) + if !IsDebugging() { + return + } + + if DebugPrintFunc != nil { + DebugPrintFunc(format, values...) + return + } + + if !strings.HasSuffix(format, "\n") { + format += "\n" } + fmt.Fprintf(DefaultWriter, "[GIN-debug] "+format, values...) } func getMinVer(v string) (uint64, error) { diff --git a/vendor/github.com/gin-gonic/gin/deprecated.go b/vendor/github.com/gin-gonic/gin/deprecated.go index 9521308..b4c6cd8 100644 --- a/vendor/github.com/gin-gonic/gin/deprecated.go +++ b/vendor/github.com/gin-gonic/gin/deprecated.go @@ -12,6 +12,8 @@ import ( // BindWith binds the passed struct pointer using the specified binding engine. // See the binding package. +// +// Deprecated: Use MustBindWith or ShouldBindWith. func (c *Context) BindWith(obj any, b binding.Binding) error { log.Println(`BindWith(\"any, binding.Binding\") error is going to be deprecated, please check issue #662 and either use MustBindWith() if you diff --git a/vendor/github.com/gin-gonic/gin/gin.go b/vendor/github.com/gin-gonic/gin/gin.go index ed8b6da..1633fe1 100644 --- a/vendor/github.com/gin-gonic/gin/gin.go +++ b/vendor/github.com/gin-gonic/gin/gin.go @@ -47,6 +47,9 @@ var regRemoveRepeatedChar = regexp.MustCompile("/{2,}") // HandlerFunc defines the handler used by gin middleware as return value. type HandlerFunc func(*Context) +// OptionFunc defines the function to change the default configuration +type OptionFunc func(*Engine) + // HandlersChain defines a HandlerFunc slice. type HandlersChain []HandlerFunc @@ -77,6 +80,8 @@ const ( // PlatformCloudflare when using Cloudflare's CDN. Trust CF-Connecting-IP for determining // the client's IP PlatformCloudflare = "CF-Connecting-IP" + // PlatformFlyIO when running on Fly.io. Trust Fly-Client-IP for determining the client's IP + PlatformFlyIO = "Fly-Client-IP" ) // Engine is the framework's instance, it contains the muxer, middleware and configuration settings. @@ -180,7 +185,7 @@ var _ IRouter = (*Engine)(nil) // - ForwardedByClientIP: true // - UseRawPath: false // - UnescapePathValues: true -func New() *Engine { +func New(opts ...OptionFunc) *Engine { debugPrintWARNINGNew() engine := &Engine{ RouterGroup: RouterGroup{ @@ -209,15 +214,15 @@ func New() *Engine { engine.pool.New = func() any { return engine.allocateContext(engine.maxParams) } - return engine + return engine.With(opts...) } // Default returns an Engine instance with the Logger and Recovery middleware already attached. -func Default() *Engine { +func Default(opts ...OptionFunc) *Engine { debugPrintWARNINGDefault() engine := New() engine.Use(Logger(), Recovery()) - return engine + return engine.With(opts...) } func (engine *Engine) Handler() http.Handler { @@ -311,6 +316,15 @@ func (engine *Engine) Use(middleware ...HandlerFunc) IRoutes { return engine } +// With returns a new Engine instance with the provided options. +func (engine *Engine) With(opts ...OptionFunc) *Engine { + for _, opt := range opts { + opt(engine) + } + + return engine +} + func (engine *Engine) rebuild404Handlers() { engine.allNoRoute = engine.combineHandlers(engine.noRoute) } @@ -334,7 +348,6 @@ func (engine *Engine) addRoute(method, path string, handlers HandlersChain) { } root.addRoute(path, handlers) - // Update maxParams if paramsCount := countParams(path); paramsCount > engine.maxParams { engine.maxParams = paramsCount } @@ -634,17 +647,25 @@ func (engine *Engine) handleHTTPRequest(c *Context) { } if engine.HandleMethodNotAllowed { + // According to RFC 7231 section 6.5.5, MUST generate an Allow header field in response + // containing a list of the target resource's currently supported methods. + allowed := make([]string, 0, len(t)-1) for _, tree := range engine.trees { if tree.method == httpMethod { continue } if value := tree.root.getValue(rPath, nil, c.skippedNodes, unescape); value.handlers != nil { - c.handlers = engine.allNoMethod - serveError(c, http.StatusMethodNotAllowed, default405Body) - return + allowed = append(allowed, tree.method) } } + if len(allowed) > 0 { + c.handlers = engine.allNoMethod + c.writermem.Header().Set("Allow", strings.Join(allowed, ", ")) + serveError(c, http.StatusMethodNotAllowed, default405Body) + return + } } + c.handlers = engine.allNoRoute serveError(c, http.StatusNotFound, default404Body) } diff --git a/vendor/github.com/gin-gonic/gin/logger.go b/vendor/github.com/gin-gonic/gin/logger.go index cd1e7fa..db2c683 100644 --- a/vendor/github.com/gin-gonic/gin/logger.go +++ b/vendor/github.com/gin-gonic/gin/logger.go @@ -47,8 +47,15 @@ type LoggerConfig struct { // SkipPaths is an url path array which logs are not written. // Optional. SkipPaths []string + + // Skip is a Skipper that indicates which logs should not be written. + // Optional. + Skip Skipper } +// Skipper is a function to skip logs based on provided Context +type Skipper func(c *Context) bool + // LogFormatter gives the signature of the formatter function passed to LoggerWithFormatter type LogFormatter func(params LogFormatterParams) string @@ -83,6 +90,8 @@ func (p *LogFormatterParams) StatusCodeColor() string { code := p.StatusCode switch { + case code >= http.StatusContinue && code < http.StatusOK: + return white case code >= http.StatusOK && code < http.StatusMultipleChoices: return green case code >= http.StatusMultipleChoices && code < http.StatusBadRequest: @@ -239,32 +248,34 @@ func LoggerWithConfig(conf LoggerConfig) HandlerFunc { // Process request c.Next() - // Log only when path is not being skipped - if _, ok := skip[path]; !ok { - param := LogFormatterParams{ - Request: c.Request, - isTerm: isTerm, - Keys: c.Keys, - } - - // Stop timer - param.TimeStamp = time.Now() - param.Latency = param.TimeStamp.Sub(start) + // Log only when it is not being skipped + if _, ok := skip[path]; ok || (conf.Skip != nil && conf.Skip(c)) { + return + } - param.ClientIP = c.ClientIP() - param.Method = c.Request.Method - param.StatusCode = c.Writer.Status() - param.ErrorMessage = c.Errors.ByType(ErrorTypePrivate).String() + param := LogFormatterParams{ + Request: c.Request, + isTerm: isTerm, + Keys: c.Keys, + } - param.BodySize = c.Writer.Size() + // Stop timer + param.TimeStamp = time.Now() + param.Latency = param.TimeStamp.Sub(start) - if raw != "" { - path = path + "?" + raw - } + param.ClientIP = c.ClientIP() + param.Method = c.Request.Method + param.StatusCode = c.Writer.Status() + param.ErrorMessage = c.Errors.ByType(ErrorTypePrivate).String() - param.Path = path + param.BodySize = c.Writer.Size() - fmt.Fprint(out, formatter(param)) + if raw != "" { + path = path + "?" + raw } + + param.Path = path + + fmt.Fprint(out, formatter(param)) } } diff --git a/vendor/github.com/gin-gonic/gin/render/render.go b/vendor/github.com/gin-gonic/gin/render/render.go index 7955000..4bdcfa2 100644 --- a/vendor/github.com/gin-gonic/gin/render/render.go +++ b/vendor/github.com/gin-gonic/gin/render/render.go @@ -15,22 +15,22 @@ type Render interface { } var ( - _ Render = JSON{} - _ Render = IndentedJSON{} - _ Render = SecureJSON{} - _ Render = JsonpJSON{} - _ Render = XML{} - _ Render = String{} - _ Render = Redirect{} - _ Render = Data{} - _ Render = HTML{} - _ HTMLRender = HTMLDebug{} - _ HTMLRender = HTMLProduction{} - _ Render = YAML{} - _ Render = Reader{} - _ Render = AsciiJSON{} - _ Render = ProtoBuf{} - _ Render = TOML{} + _ Render = (*JSON)(nil) + _ Render = (*IndentedJSON)(nil) + _ Render = (*SecureJSON)(nil) + _ Render = (*JsonpJSON)(nil) + _ Render = (*XML)(nil) + _ Render = (*String)(nil) + _ Render = (*Redirect)(nil) + _ Render = (*Data)(nil) + _ Render = (*HTML)(nil) + _ HTMLRender = (*HTMLDebug)(nil) + _ HTMLRender = (*HTMLProduction)(nil) + _ Render = (*YAML)(nil) + _ Render = (*Reader)(nil) + _ Render = (*AsciiJSON)(nil) + _ Render = (*ProtoBuf)(nil) + _ Render = (*TOML)(nil) ) func writeContentType(w http.ResponseWriter, value []string) { diff --git a/vendor/github.com/gin-gonic/gin/render/yaml.go b/vendor/github.com/gin-gonic/gin/render/yaml.go index fc927c1..042bb82 100644 --- a/vendor/github.com/gin-gonic/gin/render/yaml.go +++ b/vendor/github.com/gin-gonic/gin/render/yaml.go @@ -15,7 +15,7 @@ type YAML struct { Data any } -var yamlContentType = []string{"application/x-yaml; charset=utf-8"} +var yamlContentType = []string{"application/yaml; charset=utf-8"} // Render (YAML) marshals the given interface object and writes data with custom ContentType. func (r YAML) Render(w http.ResponseWriter) error { diff --git a/vendor/github.com/gin-gonic/gin/tree.go b/vendor/github.com/gin-gonic/gin/tree.go index dda8f4f..878023d 100644 --- a/vendor/github.com/gin-gonic/gin/tree.go +++ b/vendor/github.com/gin-gonic/gin/tree.go @@ -351,7 +351,10 @@ func (n *node) insertChild(path string, fullPath string, handlers HandlersChain) } if len(n.path) > 0 && n.path[len(n.path)-1] == '/' { - pathSeg := strings.SplitN(n.children[0].path, "/", 2)[0] + pathSeg := "" + if len(n.children) != 0 { + pathSeg = strings.SplitN(n.children[0].path, "/", 2)[0] + } panic("catch-all wildcard '" + path + "' in new path '" + fullPath + "' conflicts with existing path segment '" + pathSeg + @@ -478,7 +481,7 @@ walk: // Outer loop for walking the tree // We can recommend to redirect to the same URL without a // trailing slash if a leaf exists for that path. value.tsr = path == "/" && n.handlers != nil - return + return value } // Handle wildcard child, which is always at the end of the array @@ -497,7 +500,14 @@ walk: // Outer loop for walking the tree } // Save param value - if params != nil && cap(*params) > 0 { + if params != nil { + // Preallocate capacity if necessary + if cap(*params) < int(globalParamsCount) { + newParams := make(Params, len(*params), globalParamsCount) + copy(newParams, *params) + *params = newParams + } + if value.params == nil { value.params = params } @@ -526,12 +536,12 @@ walk: // Outer loop for walking the tree // ... but we can't value.tsr = len(path) == end+1 - return + return value } if value.handlers = n.handlers; value.handlers != nil { value.fullPath = n.fullPath - return + return value } if len(n.children) == 1 { // No handle found. Check if a handle for this path + a @@ -539,11 +549,18 @@ walk: // Outer loop for walking the tree n = n.children[0] value.tsr = (n.path == "/" && n.handlers != nil) || (n.path == "" && n.indices == "/") } - return + return value case catchAll: // Save param value if params != nil { + // Preallocate capacity if necessary + if cap(*params) < int(globalParamsCount) { + newParams := make(Params, len(*params), globalParamsCount) + copy(newParams, *params) + *params = newParams + } + if value.params == nil { value.params = params } @@ -564,7 +581,7 @@ walk: // Outer loop for walking the tree value.handlers = n.handlers value.fullPath = n.fullPath - return + return value default: panic("invalid node type") @@ -595,7 +612,7 @@ walk: // Outer loop for walking the tree // Check if this node has a handle registered. if value.handlers = n.handlers; value.handlers != nil { value.fullPath = n.fullPath - return + return value } // If there is no handle for this route, but this route has a @@ -603,12 +620,12 @@ walk: // Outer loop for walking the tree // additional trailing slash if path == "/" && n.wildChild && n.nType != root { value.tsr = true - return + return value } if path == "/" && n.nType == static { value.tsr = true - return + return value } // No handle found. Check if a handle for this path + a @@ -618,11 +635,11 @@ walk: // Outer loop for walking the tree n = n.children[i] value.tsr = (len(n.path) == 1 && n.handlers != nil) || (n.nType == catchAll && n.children[0].handlers != nil) - return + return value } } - return + return value } // Nothing found. We can recommend to redirect to the same URL with an @@ -648,7 +665,7 @@ walk: // Outer loop for walking the tree } } - return + return value } } diff --git a/vendor/github.com/gin-gonic/gin/version.go b/vendor/github.com/gin-gonic/gin/version.go index 85462e5..93ad965 100644 --- a/vendor/github.com/gin-gonic/gin/version.go +++ b/vendor/github.com/gin-gonic/gin/version.go @@ -5,4 +5,4 @@ package gin // Version is the current gin framework's version. -const Version = "v1.9.1" +const Version = "v1.10.0" diff --git a/vendor/github.com/go-playground/validator/v10/Makefile b/vendor/github.com/go-playground/validator/v10/Makefile index ec3455b..e097dfa 100644 --- a/vendor/github.com/go-playground/validator/v10/Makefile +++ b/vendor/github.com/go-playground/validator/v10/Makefile @@ -1,4 +1,4 @@ -GOCMD=GO111MODULE=on go +GOCMD=go linters-install: @golangci-lint --version >/dev/null 2>&1 || { \ @@ -13,6 +13,6 @@ test: $(GOCMD) test -cover -race ./... bench: - $(GOCMD) test -bench=. -benchmem ./... + $(GOCMD) test -run=NONE -bench=. -benchmem ./... -.PHONY: test lint linters-install \ No newline at end of file +.PHONY: test lint linters-install diff --git a/vendor/github.com/go-playground/validator/v10/README.md b/vendor/github.com/go-playground/validator/v10/README.md index 931b341..e9b2b37 100644 --- a/vendor/github.com/go-playground/validator/v10/README.md +++ b/vendor/github.com/go-playground/validator/v10/README.md @@ -1,7 +1,7 @@ Package validator ================= -[![Join the chat at https://gitter.im/go-playground/validator](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/go-playground/validator?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -![Project status](https://img.shields.io/badge/version-10.14.0-green.svg) +[![Join the chat at https://gitter.im/go-playground/validator](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/go-playground/validator?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +![Project status](https://img.shields.io/badge/version-10.20.0-green.svg) [![Build Status](https://travis-ci.org/go-playground/validator.svg?branch=master)](https://travis-ci.org/go-playground/validator) [![Coverage Status](https://coveralls.io/repos/go-playground/validator/badge.svg?branch=master&service=github)](https://coveralls.io/github/go-playground/validator?branch=master) [![Go Report Card](https://goreportcard.com/badge/github.com/go-playground/validator)](https://goreportcard.com/report/github.com/go-playground/validator) @@ -67,6 +67,12 @@ Please see https://pkg.go.dev/github.com/go-playground/validator/v10 for detaile Baked-in Validations ------ +### Special Notes: +- If new to using validator it is highly recommended to initialize it using the `WithRequiredStructEnabled` option which is opt-in to new behaviour that will become the default behaviour in v11+. See documentation for more details. +```go +validate := validator.New(validator.WithRequiredStructEnabled()) +``` + ### Fields: | Tag | Description | @@ -158,6 +164,7 @@ Baked-in Validations | credit_card | Credit Card Number | | mongodb | MongoDB ObjectID | | cron | Cron | +| spicedb | SpiceDb ObjectID/Permission/Type | | datetime | Datetime | | e164 | e164 formatted phone number | | email | E-mail String @@ -171,6 +178,7 @@ Baked-in Validations | isbn | International Standard Book Number | | isbn10 | International Standard Book Number 10 | | isbn13 | International Standard Book Number 13 | +| issn | International Standard Serial Number | | iso3166_1_alpha2 | Two-letter country code (ISO 3166-1 alpha-2) | | iso3166_1_alpha3 | Three-letter country code (ISO 3166-1 alpha-3) | | iso3166_1_alpha_numeric | Numeric country code (ISO 3166-1 numeric) | @@ -259,71 +267,72 @@ Benchmarks ------ ###### Run on MacBook Pro (15-inch, 2017) go version go1.10.2 darwin/amd64 ```go +go version go1.21.0 darwin/arm64 goos: darwin -goarch: amd64 -pkg: github.com/go-playground/validator -BenchmarkFieldSuccess-8 20000000 83.6 ns/op 0 B/op 0 allocs/op -BenchmarkFieldSuccessParallel-8 50000000 26.8 ns/op 0 B/op 0 allocs/op -BenchmarkFieldFailure-8 5000000 291 ns/op 208 B/op 4 allocs/op -BenchmarkFieldFailureParallel-8 20000000 107 ns/op 208 B/op 4 allocs/op -BenchmarkFieldArrayDiveSuccess-8 2000000 623 ns/op 201 B/op 11 allocs/op -BenchmarkFieldArrayDiveSuccessParallel-8 10000000 237 ns/op 201 B/op 11 allocs/op -BenchmarkFieldArrayDiveFailure-8 2000000 859 ns/op 412 B/op 16 allocs/op -BenchmarkFieldArrayDiveFailureParallel-8 5000000 335 ns/op 413 B/op 16 allocs/op -BenchmarkFieldMapDiveSuccess-8 1000000 1292 ns/op 432 B/op 18 allocs/op -BenchmarkFieldMapDiveSuccessParallel-8 3000000 467 ns/op 432 B/op 18 allocs/op -BenchmarkFieldMapDiveFailure-8 1000000 1082 ns/op 512 B/op 16 allocs/op -BenchmarkFieldMapDiveFailureParallel-8 5000000 425 ns/op 512 B/op 16 allocs/op -BenchmarkFieldMapDiveWithKeysSuccess-8 1000000 1539 ns/op 480 B/op 21 allocs/op -BenchmarkFieldMapDiveWithKeysSuccessParallel-8 3000000 613 ns/op 480 B/op 21 allocs/op -BenchmarkFieldMapDiveWithKeysFailure-8 1000000 1413 ns/op 721 B/op 21 allocs/op -BenchmarkFieldMapDiveWithKeysFailureParallel-8 3000000 575 ns/op 721 B/op 21 allocs/op -BenchmarkFieldCustomTypeSuccess-8 10000000 216 ns/op 32 B/op 2 allocs/op -BenchmarkFieldCustomTypeSuccessParallel-8 20000000 82.2 ns/op 32 B/op 2 allocs/op -BenchmarkFieldCustomTypeFailure-8 5000000 274 ns/op 208 B/op 4 allocs/op -BenchmarkFieldCustomTypeFailureParallel-8 20000000 116 ns/op 208 B/op 4 allocs/op -BenchmarkFieldOrTagSuccess-8 2000000 740 ns/op 16 B/op 1 allocs/op -BenchmarkFieldOrTagSuccessParallel-8 3000000 474 ns/op 16 B/op 1 allocs/op -BenchmarkFieldOrTagFailure-8 3000000 471 ns/op 224 B/op 5 allocs/op -BenchmarkFieldOrTagFailureParallel-8 3000000 414 ns/op 224 B/op 5 allocs/op -BenchmarkStructLevelValidationSuccess-8 10000000 213 ns/op 32 B/op 2 allocs/op -BenchmarkStructLevelValidationSuccessParallel-8 20000000 91.8 ns/op 32 B/op 2 allocs/op -BenchmarkStructLevelValidationFailure-8 3000000 473 ns/op 304 B/op 8 allocs/op -BenchmarkStructLevelValidationFailureParallel-8 10000000 234 ns/op 304 B/op 8 allocs/op -BenchmarkStructSimpleCustomTypeSuccess-8 5000000 385 ns/op 32 B/op 2 allocs/op -BenchmarkStructSimpleCustomTypeSuccessParallel-8 10000000 161 ns/op 32 B/op 2 allocs/op -BenchmarkStructSimpleCustomTypeFailure-8 2000000 640 ns/op 424 B/op 9 allocs/op -BenchmarkStructSimpleCustomTypeFailureParallel-8 5000000 318 ns/op 440 B/op 10 allocs/op -BenchmarkStructFilteredSuccess-8 2000000 597 ns/op 288 B/op 9 allocs/op -BenchmarkStructFilteredSuccessParallel-8 10000000 266 ns/op 288 B/op 9 allocs/op -BenchmarkStructFilteredFailure-8 3000000 454 ns/op 256 B/op 7 allocs/op -BenchmarkStructFilteredFailureParallel-8 10000000 214 ns/op 256 B/op 7 allocs/op -BenchmarkStructPartialSuccess-8 3000000 502 ns/op 256 B/op 6 allocs/op -BenchmarkStructPartialSuccessParallel-8 10000000 225 ns/op 256 B/op 6 allocs/op -BenchmarkStructPartialFailure-8 2000000 702 ns/op 480 B/op 11 allocs/op -BenchmarkStructPartialFailureParallel-8 5000000 329 ns/op 480 B/op 11 allocs/op -BenchmarkStructExceptSuccess-8 2000000 793 ns/op 496 B/op 12 allocs/op -BenchmarkStructExceptSuccessParallel-8 10000000 193 ns/op 240 B/op 5 allocs/op -BenchmarkStructExceptFailure-8 2000000 639 ns/op 464 B/op 10 allocs/op -BenchmarkStructExceptFailureParallel-8 5000000 300 ns/op 464 B/op 10 allocs/op -BenchmarkStructSimpleCrossFieldSuccess-8 3000000 417 ns/op 72 B/op 3 allocs/op -BenchmarkStructSimpleCrossFieldSuccessParallel-8 10000000 163 ns/op 72 B/op 3 allocs/op -BenchmarkStructSimpleCrossFieldFailure-8 2000000 645 ns/op 304 B/op 8 allocs/op -BenchmarkStructSimpleCrossFieldFailureParallel-8 5000000 285 ns/op 304 B/op 8 allocs/op -BenchmarkStructSimpleCrossStructCrossFieldSuccess-8 3000000 588 ns/op 80 B/op 4 allocs/op -BenchmarkStructSimpleCrossStructCrossFieldSuccessParallel-8 10000000 221 ns/op 80 B/op 4 allocs/op -BenchmarkStructSimpleCrossStructCrossFieldFailure-8 2000000 868 ns/op 320 B/op 9 allocs/op -BenchmarkStructSimpleCrossStructCrossFieldFailureParallel-8 5000000 337 ns/op 320 B/op 9 allocs/op -BenchmarkStructSimpleSuccess-8 5000000 260 ns/op 0 B/op 0 allocs/op -BenchmarkStructSimpleSuccessParallel-8 20000000 90.6 ns/op 0 B/op 0 allocs/op -BenchmarkStructSimpleFailure-8 2000000 619 ns/op 424 B/op 9 allocs/op -BenchmarkStructSimpleFailureParallel-8 5000000 296 ns/op 424 B/op 9 allocs/op -BenchmarkStructComplexSuccess-8 1000000 1454 ns/op 128 B/op 8 allocs/op -BenchmarkStructComplexSuccessParallel-8 3000000 579 ns/op 128 B/op 8 allocs/op -BenchmarkStructComplexFailure-8 300000 4140 ns/op 3041 B/op 53 allocs/op -BenchmarkStructComplexFailureParallel-8 1000000 2127 ns/op 3041 B/op 53 allocs/op -BenchmarkOneof-8 10000000 140 ns/op 0 B/op 0 allocs/op -BenchmarkOneofParallel-8 20000000 70.1 ns/op 0 B/op 0 allocs/op +goarch: arm64 +pkg: github.com/go-playground/validator/v10 +BenchmarkFieldSuccess-8 33142266 35.94 ns/op 0 B/op 0 allocs/op +BenchmarkFieldSuccessParallel-8 200816191 6.568 ns/op 0 B/op 0 allocs/op +BenchmarkFieldFailure-8 6779707 175.1 ns/op 200 B/op 4 allocs/op +BenchmarkFieldFailureParallel-8 11044147 108.4 ns/op 200 B/op 4 allocs/op +BenchmarkFieldArrayDiveSuccess-8 6054232 194.4 ns/op 97 B/op 5 allocs/op +BenchmarkFieldArrayDiveSuccessParallel-8 12523388 94.07 ns/op 97 B/op 5 allocs/op +BenchmarkFieldArrayDiveFailure-8 3587043 334.3 ns/op 300 B/op 10 allocs/op +BenchmarkFieldArrayDiveFailureParallel-8 5816665 200.8 ns/op 300 B/op 10 allocs/op +BenchmarkFieldMapDiveSuccess-8 2217910 540.1 ns/op 288 B/op 14 allocs/op +BenchmarkFieldMapDiveSuccessParallel-8 4446698 258.7 ns/op 288 B/op 14 allocs/op +BenchmarkFieldMapDiveFailure-8 2392759 504.6 ns/op 376 B/op 13 allocs/op +BenchmarkFieldMapDiveFailureParallel-8 4244199 286.9 ns/op 376 B/op 13 allocs/op +BenchmarkFieldMapDiveWithKeysSuccess-8 2005857 592.1 ns/op 288 B/op 14 allocs/op +BenchmarkFieldMapDiveWithKeysSuccessParallel-8 4400850 296.9 ns/op 288 B/op 14 allocs/op +BenchmarkFieldMapDiveWithKeysFailure-8 1850227 643.8 ns/op 553 B/op 16 allocs/op +BenchmarkFieldMapDiveWithKeysFailureParallel-8 3293233 375.1 ns/op 553 B/op 16 allocs/op +BenchmarkFieldCustomTypeSuccess-8 12174412 98.25 ns/op 32 B/op 2 allocs/op +BenchmarkFieldCustomTypeSuccessParallel-8 34389907 35.49 ns/op 32 B/op 2 allocs/op +BenchmarkFieldCustomTypeFailure-8 7582524 156.6 ns/op 184 B/op 3 allocs/op +BenchmarkFieldCustomTypeFailureParallel-8 13019902 92.79 ns/op 184 B/op 3 allocs/op +BenchmarkFieldOrTagSuccess-8 3427260 349.4 ns/op 16 B/op 1 allocs/op +BenchmarkFieldOrTagSuccessParallel-8 15144128 81.25 ns/op 16 B/op 1 allocs/op +BenchmarkFieldOrTagFailure-8 5913546 201.9 ns/op 216 B/op 5 allocs/op +BenchmarkFieldOrTagFailureParallel-8 9810212 113.7 ns/op 216 B/op 5 allocs/op +BenchmarkStructLevelValidationSuccess-8 13456327 87.66 ns/op 16 B/op 1 allocs/op +BenchmarkStructLevelValidationSuccessParallel-8 41818888 27.77 ns/op 16 B/op 1 allocs/op +BenchmarkStructLevelValidationFailure-8 4166284 272.6 ns/op 264 B/op 7 allocs/op +BenchmarkStructLevelValidationFailureParallel-8 7594581 152.1 ns/op 264 B/op 7 allocs/op +BenchmarkStructSimpleCustomTypeSuccess-8 6508082 182.6 ns/op 32 B/op 2 allocs/op +BenchmarkStructSimpleCustomTypeSuccessParallel-8 23078605 54.78 ns/op 32 B/op 2 allocs/op +BenchmarkStructSimpleCustomTypeFailure-8 3118352 381.0 ns/op 416 B/op 9 allocs/op +BenchmarkStructSimpleCustomTypeFailureParallel-8 5300738 224.1 ns/op 432 B/op 10 allocs/op +BenchmarkStructFilteredSuccess-8 4761807 251.1 ns/op 216 B/op 5 allocs/op +BenchmarkStructFilteredSuccessParallel-8 8792598 128.6 ns/op 216 B/op 5 allocs/op +BenchmarkStructFilteredFailure-8 5202573 232.1 ns/op 216 B/op 5 allocs/op +BenchmarkStructFilteredFailureParallel-8 9591267 121.4 ns/op 216 B/op 5 allocs/op +BenchmarkStructPartialSuccess-8 5188512 231.6 ns/op 224 B/op 4 allocs/op +BenchmarkStructPartialSuccessParallel-8 9179776 123.1 ns/op 224 B/op 4 allocs/op +BenchmarkStructPartialFailure-8 3071212 392.5 ns/op 440 B/op 9 allocs/op +BenchmarkStructPartialFailureParallel-8 5344261 223.7 ns/op 440 B/op 9 allocs/op +BenchmarkStructExceptSuccess-8 3184230 375.0 ns/op 424 B/op 8 allocs/op +BenchmarkStructExceptSuccessParallel-8 10090130 108.9 ns/op 208 B/op 3 allocs/op +BenchmarkStructExceptFailure-8 3347226 357.7 ns/op 424 B/op 8 allocs/op +BenchmarkStructExceptFailureParallel-8 5654923 209.5 ns/op 424 B/op 8 allocs/op +BenchmarkStructSimpleCrossFieldSuccess-8 5232265 229.1 ns/op 56 B/op 3 allocs/op +BenchmarkStructSimpleCrossFieldSuccessParallel-8 17436674 64.75 ns/op 56 B/op 3 allocs/op +BenchmarkStructSimpleCrossFieldFailure-8 3128613 383.6 ns/op 272 B/op 8 allocs/op +BenchmarkStructSimpleCrossFieldFailureParallel-8 6994113 168.8 ns/op 272 B/op 8 allocs/op +BenchmarkStructSimpleCrossStructCrossFieldSuccess-8 3506487 340.9 ns/op 64 B/op 4 allocs/op +BenchmarkStructSimpleCrossStructCrossFieldSuccessParallel-8 13431300 91.77 ns/op 64 B/op 4 allocs/op +BenchmarkStructSimpleCrossStructCrossFieldFailure-8 2410566 500.9 ns/op 288 B/op 9 allocs/op +BenchmarkStructSimpleCrossStructCrossFieldFailureParallel-8 6344510 188.2 ns/op 288 B/op 9 allocs/op +BenchmarkStructSimpleSuccess-8 8922726 133.8 ns/op 0 B/op 0 allocs/op +BenchmarkStructSimpleSuccessParallel-8 55291153 23.63 ns/op 0 B/op 0 allocs/op +BenchmarkStructSimpleFailure-8 3171553 378.4 ns/op 416 B/op 9 allocs/op +BenchmarkStructSimpleFailureParallel-8 5571692 212.0 ns/op 416 B/op 9 allocs/op +BenchmarkStructComplexSuccess-8 1683750 714.5 ns/op 224 B/op 5 allocs/op +BenchmarkStructComplexSuccessParallel-8 4578046 257.0 ns/op 224 B/op 5 allocs/op +BenchmarkStructComplexFailure-8 481585 2547 ns/op 3041 B/op 48 allocs/op +BenchmarkStructComplexFailureParallel-8 965764 1577 ns/op 3040 B/op 48 allocs/op +BenchmarkOneof-8 17380881 68.50 ns/op 0 B/op 0 allocs/op +BenchmarkOneofParallel-8 8084733 153.5 ns/op 0 B/op 0 allocs/op ``` Complementary Software diff --git a/vendor/github.com/go-playground/validator/v10/baked_in.go b/vendor/github.com/go-playground/validator/v10/baked_in.go index 8e6b169..f622c62 100644 --- a/vendor/github.com/go-playground/validator/v10/baked_in.go +++ b/vendor/github.com/go-playground/validator/v10/baked_in.go @@ -23,7 +23,7 @@ import ( "golang.org/x/text/language" "github.com/gabriel-vasile/mimetype" - "github.com/leodido/go-urn" + urn "github.com/leodido/go-urn" ) // Func accepts a FieldLevel interface for all validation needs. The return @@ -51,6 +51,7 @@ var ( endKeysTag: {}, structOnlyTag: {}, omitempty: {}, + omitnil: {}, skipValidationTag: {}, utf8HexComma: {}, utf8Pipe: {}, @@ -63,8 +64,9 @@ var ( // defines a common or complex set of validation(s) to simplify // adding validation to structs. bakedInAliases = map[string]string{ - "iscolor": "hexcolor|rgb|rgba|hsl|hsla", - "country_code": "iso3166_1_alpha2|iso3166_1_alpha3|iso3166_1_alpha_numeric", + "iscolor": "hexcolor|rgb|rgba|hsl|hsla", + "country_code": "iso3166_1_alpha2|iso3166_1_alpha3|iso3166_1_alpha_numeric", + "eu_country_code": "iso3166_1_alpha2_eu|iso3166_1_alpha3_eu|iso3166_1_alpha_numeric_eu", } // bakedInValidators is the default map of ValidationFunc @@ -132,6 +134,7 @@ var ( "urn_rfc2141": isUrnRFC2141, // RFC 2141 "file": isFile, "filepath": isFilePath, + "base32": isBase32, "base64": isBase64, "base64url": isBase64URL, "base64rawurl": isBase64RawURL, @@ -149,6 +152,7 @@ var ( "isbn": isISBN, "isbn10": isISBN10, "isbn13": isISBN13, + "issn": isISSN, "eth_addr": isEthereumAddress, "eth_addr_checksum": isEthereumAddressChecksum, "btc_addr": isBitcoinAddress, @@ -214,8 +218,11 @@ var ( "datetime": isDatetime, "timezone": isTimeZone, "iso3166_1_alpha2": isIso3166Alpha2, + "iso3166_1_alpha2_eu": isIso3166Alpha2EU, "iso3166_1_alpha3": isIso3166Alpha3, + "iso3166_1_alpha3_eu": isIso3166Alpha3EU, "iso3166_1_alpha_numeric": isIso3166AlphaNumeric, + "iso3166_1_alpha_numeric_eu": isIso3166AlphaNumericEU, "iso3166_2": isIso31662, "iso4217": isIso4217, "iso4217_numeric": isIso4217Numeric, @@ -230,6 +237,7 @@ var ( "luhn_checksum": hasLuhnChecksum, "mongodb": isMongoDB, "cron": isCron, + "spicedb": isSpiceDB, } ) @@ -372,9 +380,9 @@ func isMAC(fl FieldLevel) bool { // isCIDRv4 is the validation function for validating if the field's value is a valid v4 CIDR address. func isCIDRv4(fl FieldLevel) bool { - ip, _, err := net.ParseCIDR(fl.Field().String()) + ip, net, err := net.ParseCIDR(fl.Field().String()) - return err == nil && ip.To4() != nil + return err == nil && ip.To4() != nil && net.IP.Equal(ip) } // isCIDRv6 is the validation function for validating if the field's value is a valid v6 CIDR address. @@ -507,47 +515,47 @@ func isASCII(fl FieldLevel) bool { // isUUID5 is the validation function for validating if the field's value is a valid v5 UUID. func isUUID5(fl FieldLevel) bool { - return uUID5Regex.MatchString(fl.Field().String()) + return fieldMatchesRegexByStringerValOrString(uUID5Regex, fl) } // isUUID4 is the validation function for validating if the field's value is a valid v4 UUID. func isUUID4(fl FieldLevel) bool { - return uUID4Regex.MatchString(fl.Field().String()) + return fieldMatchesRegexByStringerValOrString(uUID4Regex, fl) } // isUUID3 is the validation function for validating if the field's value is a valid v3 UUID. func isUUID3(fl FieldLevel) bool { - return uUID3Regex.MatchString(fl.Field().String()) + return fieldMatchesRegexByStringerValOrString(uUID3Regex, fl) } // isUUID is the validation function for validating if the field's value is a valid UUID of any version. func isUUID(fl FieldLevel) bool { - return uUIDRegex.MatchString(fl.Field().String()) + return fieldMatchesRegexByStringerValOrString(uUIDRegex, fl) } // isUUID5RFC4122 is the validation function for validating if the field's value is a valid RFC4122 v5 UUID. func isUUID5RFC4122(fl FieldLevel) bool { - return uUID5RFC4122Regex.MatchString(fl.Field().String()) + return fieldMatchesRegexByStringerValOrString(uUID5RFC4122Regex, fl) } // isUUID4RFC4122 is the validation function for validating if the field's value is a valid RFC4122 v4 UUID. func isUUID4RFC4122(fl FieldLevel) bool { - return uUID4RFC4122Regex.MatchString(fl.Field().String()) + return fieldMatchesRegexByStringerValOrString(uUID4RFC4122Regex, fl) } // isUUID3RFC4122 is the validation function for validating if the field's value is a valid RFC4122 v3 UUID. func isUUID3RFC4122(fl FieldLevel) bool { - return uUID3RFC4122Regex.MatchString(fl.Field().String()) + return fieldMatchesRegexByStringerValOrString(uUID3RFC4122Regex, fl) } // isUUIDRFC4122 is the validation function for validating if the field's value is a valid RFC4122 UUID of any version. func isUUIDRFC4122(fl FieldLevel) bool { - return uUIDRFC4122Regex.MatchString(fl.Field().String()) + return fieldMatchesRegexByStringerValOrString(uUIDRFC4122Regex, fl) } // isULID is the validation function for validating if the field's value is a valid ULID. func isULID(fl FieldLevel) bool { - return uLIDRegex.MatchString(fl.Field().String()) + return fieldMatchesRegexByStringerValOrString(uLIDRegex, fl) } // isMD4 is the validation function for validating if the field's value is a valid MD4. @@ -649,6 +657,32 @@ func isISBN10(fl FieldLevel) bool { return checksum%11 == 0 } +// isISSN is the validation function for validating if the field's value is a valid ISSN. +func isISSN(fl FieldLevel) bool { + s := fl.Field().String() + + if !iSSNRegex.MatchString(s) { + return false + } + s = strings.ReplaceAll(s, "-", "") + + pos := 8 + checksum := 0 + + for i := 0; i < 7; i++ { + checksum += pos * int(s[i]-'0') + pos-- + } + + if s[7] == 'X' { + checksum += 10 + } else { + checksum += int(s[7] - '0') + } + + return checksum%11 == 0 +} + // isEthereumAddress is the validation function for validating if the field's value is a valid Ethereum address. func isEthereumAddress(fl FieldLevel) bool { address := fl.Field().String() @@ -1294,8 +1328,13 @@ func isEq(fl FieldLevel) bool { return field.Uint() == p - case reflect.Float32, reflect.Float64: - p := asFloat(param) + case reflect.Float32: + p := asFloat32(param) + + return field.Float() == p + + case reflect.Float64: + p := asFloat64(param) return field.Float() == p @@ -1365,6 +1404,11 @@ func isPostcodeByIso3166Alpha2Field(fl FieldLevel) bool { return reg.MatchString(field.String()) } +// isBase32 is the validation function for validating if the current field's value is a valid base 32. +func isBase32(fl FieldLevel) bool { + return base32Regex.MatchString(fl.Field().String()) +} + // isBase64 is the validation function for validating if the current field's value is a valid base 64. func isBase64(fl FieldLevel) bool { return base64Regex.MatchString(fl.Field().String()) @@ -1407,6 +1451,15 @@ func isURI(fl FieldLevel) bool { panic(fmt.Sprintf("Bad field type %T", field.Interface())) } +// isFileURL is the helper function for validating if the `path` valid file URL as per RFC8089 +func isFileURL(path string) bool { + if !strings.HasPrefix(path, "file:/") { + return false + } + _, err := url.ParseRequestURI(path) + return err == nil +} + // isURL is the validation function for validating if the current field's value is a valid URL. func isURL(fl FieldLevel) bool { field := fl.Field() @@ -1414,25 +1467,25 @@ func isURL(fl FieldLevel) bool { switch field.Kind() { case reflect.String: - var i int - s := field.String() - - // checks needed as of Go 1.6 because of change https://github.com/golang/go/commit/617c93ce740c3c3cc28cdd1a0d712be183d0b328#diff-6c2d018290e298803c0c9419d8739885L195 - // emulate browser and strip the '#' suffix prior to validation. see issue-#237 - if i = strings.Index(s, "#"); i > -1 { - s = s[:i] - } + s := strings.ToLower(field.String()) if len(s) == 0 { return false } - url, err := url.ParseRequestURI(s) + if isFileURL(s) { + return true + } + url, err := url.Parse(s) if err != nil || url.Scheme == "" { return false } + if url.Host == "" && url.Fragment == "" && url.Opaque == "" { + return false + } + return true } @@ -1450,7 +1503,13 @@ func isHttpURL(fl FieldLevel) bool { case reflect.String: s := strings.ToLower(field.String()) - return strings.HasPrefix(s, "http://") || strings.HasPrefix(s, "https://") + + url, err := url.Parse(s) + if err != nil || url.Host == "" { + return false + } + + return url.Scheme == "http" || url.Scheme == "https" } panic(fmt.Sprintf("Bad field type %T", field.Interface())) @@ -1559,6 +1618,10 @@ func isFilePath(fl FieldLevel) bool { field := fl.Field() + // Not valid if it is a directory. + if isDir(fl) { + return false + } // If it exists, it obviously is valid. // This is done first to avoid code duplication and unnecessary additional logic. if exists = isFile(fl); exists { @@ -1708,7 +1771,7 @@ func hasValue(fl FieldLevel) bool { if fl.(*validate).fldIsPointer && field.Interface() != nil { return true } - return field.IsValid() && field.Interface() != reflect.Zero(field.Type()).Interface() + return field.IsValid() && !field.IsZero() } } @@ -1732,7 +1795,7 @@ func requireCheckFieldKind(fl FieldLevel, param string, defaultNotFoundValue boo if nullable && field.Interface() != nil { return false } - return field.IsValid() && field.Interface() == reflect.Zero(field.Type()).Interface() + return field.IsValid() && field.IsZero() } } @@ -1753,8 +1816,11 @@ func requireCheckFieldValue( case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: return field.Uint() == asUint(value) - case reflect.Float32, reflect.Float64: - return field.Float() == asFloat(value) + case reflect.Float32: + return field.Float() == asFloat32(value) + + case reflect.Float64: + return field.Float() == asFloat64(value) case reflect.Slice, reflect.Map, reflect.Array: return int64(field.Len()) == asInt(value) @@ -2053,8 +2119,13 @@ func isGte(fl FieldLevel) bool { return field.Uint() >= p - case reflect.Float32, reflect.Float64: - p := asFloat(param) + case reflect.Float32: + p := asFloat32(param) + + return field.Float() >= p + + case reflect.Float64: + p := asFloat64(param) return field.Float() >= p @@ -2099,10 +2170,16 @@ func isGt(fl FieldLevel) bool { return field.Uint() > p - case reflect.Float32, reflect.Float64: - p := asFloat(param) + case reflect.Float32: + p := asFloat32(param) + + return field.Float() > p + + case reflect.Float64: + p := asFloat64(param) return field.Float() > p + case reflect.Struct: if field.Type().ConvertibleTo(timeType) { @@ -2141,8 +2218,13 @@ func hasLengthOf(fl FieldLevel) bool { return field.Uint() == p - case reflect.Float32, reflect.Float64: - p := asFloat(param) + case reflect.Float32: + p := asFloat32(param) + + return field.Float() == p + + case reflect.Float64: + p := asFloat64(param) return field.Float() == p } @@ -2274,8 +2356,13 @@ func isLte(fl FieldLevel) bool { return field.Uint() <= p - case reflect.Float32, reflect.Float64: - p := asFloat(param) + case reflect.Float32: + p := asFloat32(param) + + return field.Float() <= p + + case reflect.Float64: + p := asFloat64(param) return field.Float() <= p @@ -2320,8 +2407,13 @@ func isLt(fl FieldLevel) bool { return field.Uint() < p - case reflect.Float32, reflect.Float64: - p := asFloat(param) + case reflect.Float32: + p := asFloat32(param) + + return field.Float() < p + + case reflect.Float64: + p := asFloat64(param) return field.Float() < p @@ -2568,9 +2660,17 @@ func isDirPath(fl FieldLevel) bool { func isJSON(fl FieldLevel) bool { field := fl.Field() - if field.Kind() == reflect.String { + switch field.Kind() { + case reflect.String: val := field.String() return json.Valid([]byte(val)) + case reflect.Slice: + fieldType := field.Type() + + if fieldType.ConvertibleTo(byteSliceType) { + b := field.Convert(byteSliceType).Interface().([]byte) + return json.Valid(b) + } } panic(fmt.Sprintf("Bad field type %T", field.Interface())) @@ -2672,12 +2772,24 @@ func isIso3166Alpha2(fl FieldLevel) bool { return iso3166_1_alpha2[val] } +// isIso3166Alpha2EU is the validation function for validating if the current field's value is a valid iso3166-1 alpha-2 European Union country code. +func isIso3166Alpha2EU(fl FieldLevel) bool { + val := fl.Field().String() + return iso3166_1_alpha2_eu[val] +} + // isIso3166Alpha3 is the validation function for validating if the current field's value is a valid iso3166-1 alpha-3 country code. func isIso3166Alpha3(fl FieldLevel) bool { val := fl.Field().String() return iso3166_1_alpha3[val] } +// isIso3166Alpha3EU is the validation function for validating if the current field's value is a valid iso3166-1 alpha-3 European Union country code. +func isIso3166Alpha3EU(fl FieldLevel) bool { + val := fl.Field().String() + return iso3166_1_alpha3_eu[val] +} + // isIso3166AlphaNumeric is the validation function for validating if the current field's value is a valid iso3166-1 alpha-numeric country code. func isIso3166AlphaNumeric(fl FieldLevel) bool { field := fl.Field() @@ -2700,6 +2812,28 @@ func isIso3166AlphaNumeric(fl FieldLevel) bool { return iso3166_1_alpha_numeric[code] } +// isIso3166AlphaNumericEU is the validation function for validating if the current field's value is a valid iso3166-1 alpha-numeric European Union country code. +func isIso3166AlphaNumericEU(fl FieldLevel) bool { + field := fl.Field() + + var code int + switch field.Kind() { + case reflect.String: + i, err := strconv.Atoi(field.String()) + if err != nil { + return false + } + code = i % 1000 + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + code = int(field.Int() % 1000) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + code = int(field.Uint() % 1000) + default: + panic(fmt.Sprintf("Bad field type %T", field.Interface())) + } + return iso3166_1_alpha_numeric_eu[code] +} + // isIso31662 is the validation function for validating if the current field's value is a valid iso3166-2 code. func isIso31662(fl FieldLevel) bool { val := fl.Field().String() @@ -2798,6 +2932,23 @@ func isMongoDB(fl FieldLevel) bool { return mongodbRegex.MatchString(val) } +// isSpiceDB is the validation function for validating if the current field's value is valid for use with Authzed SpiceDB in the indicated way +func isSpiceDB(fl FieldLevel) bool { + val := fl.Field().String() + param := fl.Param() + + switch param { + case "permission": + return spicedbPermissionRegex.MatchString(val) + case "type": + return spicedbTypeRegex.MatchString(val) + case "id", "": + return spicedbIDRegex.MatchString(val) + } + + panic("Unrecognized parameter: " + param) +} + // isCreditCard is the validation function for validating if the current field's value is a valid credit card number func isCreditCard(fl FieldLevel) bool { val := fl.Field().String() diff --git a/vendor/github.com/go-playground/validator/v10/cache.go b/vendor/github.com/go-playground/validator/v10/cache.go index bbfd2a4..b6bdd11 100644 --- a/vendor/github.com/go-playground/validator/v10/cache.go +++ b/vendor/github.com/go-playground/validator/v10/cache.go @@ -20,6 +20,7 @@ const ( typeOr typeKeys typeEndKeys + typeOmitNil ) const ( @@ -125,7 +126,7 @@ func (v *Validate) extractStructCache(current reflect.Value, sName string) *cStr fld = typ.Field(i) - if !fld.Anonymous && len(fld.PkgPath) > 0 { + if !v.privateFieldValidation && !fld.Anonymous && len(fld.PkgPath) > 0 { continue } @@ -252,6 +253,10 @@ func (v *Validate) parseFieldTagsRecursive(tag string, fieldName string, alias s current.typeof = typeOmitEmpty continue + case omitnil: + current.typeof = typeOmitNil + continue + case structOnlyTag: current.typeof = typeStructOnly continue diff --git a/vendor/github.com/go-playground/validator/v10/country_codes.go b/vendor/github.com/go-playground/validator/v10/country_codes.go index 0119f05..e507149 100644 --- a/vendor/github.com/go-playground/validator/v10/country_codes.go +++ b/vendor/github.com/go-playground/validator/v10/country_codes.go @@ -54,6 +54,15 @@ var iso3166_1_alpha2 = map[string]bool{ "EH": true, "YE": true, "ZM": true, "ZW": true, "XK": true, } +var iso3166_1_alpha2_eu = map[string]bool{ + "AT": true, "BE": true, "BG": true, "HR": true, "CY": true, + "CZ": true, "DK": true, "EE": true, "FI": true, "FR": true, + "DE": true, "GR": true, "HU": true, "IE": true, "IT": true, + "LV": true, "LT": true, "LU": true, "MT": true, "NL": true, + "PL": true, "PT": true, "RO": true, "SK": true, "SI": true, + "ES": true, "SE": true, +} + var iso3166_1_alpha3 = map[string]bool{ // see: https://www.iso.org/iso-3166-country-codes.html "AFG": true, "ALB": true, "DZA": true, "ASM": true, "AND": true, @@ -107,6 +116,15 @@ var iso3166_1_alpha3 = map[string]bool{ "VNM": true, "VGB": true, "VIR": true, "WLF": true, "ESH": true, "YEM": true, "ZMB": true, "ZWE": true, "ALA": true, "UNK": true, } + +var iso3166_1_alpha3_eu = map[string]bool{ + "AUT": true, "BEL": true, "BGR": true, "HRV": true, "CYP": true, + "CZE": true, "DNK": true, "EST": true, "FIN": true, "FRA": true, + "DEU": true, "GRC": true, "HUN": true, "IRL": true, "ITA": true, + "LVA": true, "LTU": true, "LUX": true, "MLT": true, "NLD": true, + "POL": true, "PRT": true, "ROU": true, "SVK": true, "SVN": true, + "ESP": true, "SWE": true, +} var iso3166_1_alpha_numeric = map[int]bool{ // see: https://www.iso.org/iso-3166-country-codes.html 4: true, 8: true, 12: true, 16: true, 20: true, @@ -161,6 +179,15 @@ var iso3166_1_alpha_numeric = map[int]bool{ 887: true, 894: true, 716: true, 248: true, 153: true, } +var iso3166_1_alpha_numeric_eu = map[int]bool{ + 40: true, 56: true, 100: true, 191: true, 196: true, + 200: true, 208: true, 233: true, 246: true, 250: true, + 276: true, 300: true, 348: true, 372: true, 380: true, + 428: true, 440: true, 442: true, 470: true, 528: true, + 616: true, 620: true, 642: true, 703: true, 705: true, + 724: true, 752: true, +} + var iso3166_2 = map[string]bool{ "AD-02": true, "AD-03": true, "AD-04": true, "AD-05": true, "AD-06": true, "AD-07": true, "AD-08": true, "AE-AJ": true, "AE-AZ": true, "AE-DU": true, diff --git a/vendor/github.com/go-playground/validator/v10/doc.go b/vendor/github.com/go-playground/validator/v10/doc.go index f5aa9e5..2e8092a 100644 --- a/vendor/github.com/go-playground/validator/v10/doc.go +++ b/vendor/github.com/go-playground/validator/v10/doc.go @@ -194,6 +194,13 @@ such as min or max won't run, but if a value is set validation will run. Usage: omitempty +# Omit Nil + +Allows to skip the validation if the value is nil (same as omitempty, but +only for the nil-values). + + Usage: omitnil + # Dive This tells the validator to dive into a slice, array or map and validate that @@ -247,7 +254,7 @@ Example #2 This validates that the value is not the data types default zero value. For numbers ensures value is not zero. For strings ensures value is not "". For slices, maps, pointers, interfaces, channels and functions -ensures the value is not nil. +ensures the value is not nil. For structs ensures value is not the zero value when using WithRequiredStructEnabled. Usage: required @@ -256,7 +263,7 @@ ensures the value is not nil. The field under validation must be present and not empty only if all the other specified fields are equal to the value following the specified field. For strings ensures value is not "". For slices, maps, pointers, -interfaces, channels and functions ensures the value is not nil. +interfaces, channels and functions ensures the value is not nil. For structs ensures value is not the zero value. Usage: required_if @@ -273,7 +280,7 @@ Examples: The field under validation must be present and not empty unless all the other specified fields are equal to the value following the specified field. For strings ensures value is not "". For slices, maps, pointers, -interfaces, channels and functions ensures the value is not nil. +interfaces, channels and functions ensures the value is not nil. For structs ensures value is not the zero value. Usage: required_unless @@ -290,7 +297,7 @@ Examples: The field under validation must be present and not empty only if any of the other specified fields are present. For strings ensures value is not "". For slices, maps, pointers, interfaces, channels and functions -ensures the value is not nil. +ensures the value is not nil. For structs ensures value is not the zero value. Usage: required_with @@ -307,7 +314,7 @@ Examples: The field under validation must be present and not empty only if all of the other specified fields are present. For strings ensures value is not "". For slices, maps, pointers, interfaces, channels and functions -ensures the value is not nil. +ensures the value is not nil. For structs ensures value is not the zero value. Usage: required_with_all @@ -321,7 +328,7 @@ Example: The field under validation must be present and not empty only when any of the other specified fields are not present. For strings ensures value is not "". For slices, maps, pointers, interfaces, channels and functions -ensures the value is not nil. +ensures the value is not nil. For structs ensures value is not the zero value. Usage: required_without @@ -338,7 +345,7 @@ Examples: The field under validation must be present and not empty only when all of the other specified fields are not present. For strings ensures value is not "". For slices, maps, pointers, interfaces, channels and functions -ensures the value is not nil. +ensures the value is not nil. For structs ensures value is not the zero value. Usage: required_without_all @@ -352,7 +359,7 @@ Example: The field under validation must not be present or not empty only if all the other specified fields are equal to the value following the specified field. For strings ensures value is not "". For slices, maps, pointers, -interfaces, channels and functions ensures the value is not nil. +interfaces, channels and functions ensures the value is not nil. For structs ensures value is not the zero value. Usage: excluded_if @@ -369,7 +376,7 @@ Examples: The field under validation must not be present or empty unless all the other specified fields are equal to the value following the specified field. For strings ensures value is not "". For slices, maps, pointers, -interfaces, channels and functions ensures the value is not nil. +interfaces, channels and functions ensures the value is not nil. For structs ensures value is not the zero value. Usage: excluded_unless @@ -879,8 +886,6 @@ This is done using os.Stat and github.com/gabriel-vasile/mimetype Usage: image -# URL String - # File Path This validates that a string value contains a valid file path but does not @@ -911,6 +916,15 @@ according to the RFC 2141 spec. Usage: urn_rfc2141 +# Base32 String + +This validates that a string value contains a valid bas324 value. +Although an empty string is valid base32 this will report an empty string +as an error, if you wish to accept an empty string as valid you can use +this with the omitempty tag. + + Usage: base32 + # Base64 String This validates that a string value contains a valid base64 value. @@ -1384,6 +1398,12 @@ This validates that a string value contains a valid cron expression. Usage: cron +# SpiceDb ObjectID/Permission/Object Type + +This validates that a string is valid for use with SpiceDb for the indicated purpose. If no purpose is given, a purpose of 'id' is assumed. + + Usage: spicedb=id|permission|type + # Alias Validators and Tags Alias Validators and Tags diff --git a/vendor/github.com/go-playground/validator/v10/errors.go b/vendor/github.com/go-playground/validator/v10/errors.go index 5856d57..be2676e 100644 --- a/vendor/github.com/go-playground/validator/v10/errors.go +++ b/vendor/github.com/go-playground/validator/v10/errors.go @@ -257,15 +257,19 @@ func (fe *fieldError) Error() string { // NOTE: if no registered translation can be found, it returns the original // untranslated error message. func (fe *fieldError) Translate(ut ut.Translator) string { + var fn TranslationFunc m, ok := fe.v.transTagFunc[ut] if !ok { return fe.Error() } - fn, ok := m[fe.tag] + fn, ok = m[fe.tag] if !ok { - return fe.Error() + fn, ok = m[fe.actualTag] + if !ok { + return fe.Error() + } } return fn(ut, fe) diff --git a/vendor/github.com/go-playground/validator/v10/options.go b/vendor/github.com/go-playground/validator/v10/options.go new file mode 100644 index 0000000..86a0db2 --- /dev/null +++ b/vendor/github.com/go-playground/validator/v10/options.go @@ -0,0 +1,26 @@ +package validator + +// Option represents a configurations option to be applied to validator during initialization. +type Option func(*Validate) + +// WithRequiredStructEnabled enables required tag on non-pointer structs to be applied instead of ignored. +// +// This was made opt-in behaviour in order to maintain backward compatibility with the behaviour previous +// to being able to apply struct level validations on struct fields directly. +// +// It is recommended you enabled this as it will be the default behaviour in v11+ +func WithRequiredStructEnabled() Option { + return func(v *Validate) { + v.requiredStructEnabled = true + } +} + +// WithPrivateFieldValidation activates validation for unexported fields via the use of the `unsafe` package. +// +// By opting into this feature you are acknowledging that you are aware of the risks and accept any current or future +// consequences of using this feature. +func WithPrivateFieldValidation() Option { + return func(v *Validate) { + v.privateFieldValidation = true + } +} diff --git a/vendor/github.com/go-playground/validator/v10/regexes.go b/vendor/github.com/go-playground/validator/v10/regexes.go index ba450b3..f39a466 100644 --- a/vendor/github.com/go-playground/validator/v10/regexes.go +++ b/vendor/github.com/go-playground/validator/v10/regexes.go @@ -17,11 +17,13 @@ const ( hslaRegexString = "^hsla\\(\\s*(?:0|[1-9]\\d?|[12]\\d\\d|3[0-5]\\d|360)\\s*,\\s*(?:(?:0|[1-9]\\d?|100)%)\\s*,\\s*(?:(?:0|[1-9]\\d?|100)%)\\s*,\\s*(?:(?:0.[1-9]*)|[01])\\s*\\)$" emailRegexString = "^(?:(?:(?:(?:[a-zA-Z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])+(?:\\.([a-zA-Z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])+)*)|(?:(?:\\x22)(?:(?:(?:(?:\\x20|\\x09)*(?:\\x0d\\x0a))?(?:\\x20|\\x09)+)?(?:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])|(?:(?:[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}]))))*(?:(?:(?:\\x20|\\x09)*(?:\\x0d\\x0a))?(\\x20|\\x09)+)?(?:\\x22))))@(?:(?:(?:[a-zA-Z]|\\d|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])|(?:(?:[a-zA-Z]|\\d|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])(?:[a-zA-Z]|\\d|-|\\.|~|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])*(?:[a-zA-Z]|\\d|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])))\\.)+(?:(?:[a-zA-Z]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])|(?:(?:[a-zA-Z]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])(?:[a-zA-Z]|\\d|-|\\.|~|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])*(?:[a-zA-Z]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])))\\.?$" e164RegexString = "^\\+[1-9]?[0-9]{7,14}$" + base32RegexString = "^(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}={6}|[A-Z2-7]{4}={4}|[A-Z2-7]{5}={3}|[A-Z2-7]{7}=|[A-Z2-7]{8})$" base64RegexString = "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=|[A-Za-z0-9+\\/]{4})$" base64URLRegexString = "^(?:[A-Za-z0-9-_]{4})*(?:[A-Za-z0-9-_]{2}==|[A-Za-z0-9-_]{3}=|[A-Za-z0-9-_]{4})$" base64RawURLRegexString = "^(?:[A-Za-z0-9-_]{4})*(?:[A-Za-z0-9-_]{2,4})$" iSBN10RegexString = "^(?:[0-9]{9}X|[0-9]{10})$" iSBN13RegexString = "^(?:(?:97(?:8|9))[0-9]{10})$" + iSSNRegexString = "^(?:[0-9]{4}-[0-9]{3}[0-9X])$" uUID3RegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-3[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$" uUID4RegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" uUID5RegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-5[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" @@ -30,7 +32,7 @@ const ( uUID4RFC4122RegexString = "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$" uUID5RFC4122RegexString = "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-5[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$" uUIDRFC4122RegexString = "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - uLIDRegexString = "^[A-HJKMNP-TV-Z0-9]{26}$" + uLIDRegexString = "^(?i)[A-HJKMNP-TV-Z0-9]{26}$" md4RegexString = "^[0-9a-f]{32}$" md5RegexString = "^[0-9a-f]{32}$" sha256RegexString = "^[0-9a-f]{64}$" @@ -68,6 +70,9 @@ const ( cveRegexString = `^CVE-(1999|2\d{3})-(0[^0]\d{2}|0\d[^0]\d{1}|0\d{2}[^0]|[1-9]{1}\d{3,})$` // CVE Format Id https://cve.mitre.org/cve/identifiers/syntaxchange.html mongodbRegexString = "^[a-f\\d]{24}$" cronRegexString = `(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\d+(ns|us|µs|ms|s|m|h))+)|((((\d+,)+\d+|(\d+(\/|-)\d+)|\d+|\*) ?){5,7})` + spicedbIDRegexString = `^(([a-zA-Z0-9/_|\-=+]{1,})|\*)$` + spicedbPermissionRegexString = "^([a-z][a-z0-9_]{1,62}[a-z0-9])?$" + spicedbTypeRegexString = "^([a-z][a-z0-9_]{1,61}[a-z0-9]/)?[a-z][a-z0-9_]{1,62}[a-z0-9]$" ) var ( @@ -85,11 +90,13 @@ var ( hslaRegex = regexp.MustCompile(hslaRegexString) e164Regex = regexp.MustCompile(e164RegexString) emailRegex = regexp.MustCompile(emailRegexString) + base32Regex = regexp.MustCompile(base32RegexString) base64Regex = regexp.MustCompile(base64RegexString) base64URLRegex = regexp.MustCompile(base64URLRegexString) base64RawURLRegex = regexp.MustCompile(base64RawURLRegexString) iSBN10Regex = regexp.MustCompile(iSBN10RegexString) iSBN13Regex = regexp.MustCompile(iSBN13RegexString) + iSSNRegex = regexp.MustCompile(iSSNRegexString) uUID3Regex = regexp.MustCompile(uUID3RegexString) uUID4Regex = regexp.MustCompile(uUID4RegexString) uUID5Regex = regexp.MustCompile(uUID5RegexString) @@ -134,4 +141,7 @@ var ( cveRegex = regexp.MustCompile(cveRegexString) mongodbRegex = regexp.MustCompile(mongodbRegexString) cronRegex = regexp.MustCompile(cronRegexString) + spicedbIDRegex = regexp.MustCompile(spicedbIDRegexString) + spicedbPermissionRegex = regexp.MustCompile(spicedbPermissionRegexString) + spicedbTypeRegex = regexp.MustCompile(spicedbTypeRegexString) ) diff --git a/vendor/github.com/go-playground/validator/v10/util.go b/vendor/github.com/go-playground/validator/v10/util.go index 3925cfe..1685159 100644 --- a/vendor/github.com/go-playground/validator/v10/util.go +++ b/vendor/github.com/go-playground/validator/v10/util.go @@ -1,7 +1,9 @@ package validator import ( + "fmt" "reflect" + "regexp" "strconv" "strings" "time" @@ -261,13 +263,19 @@ func asUint(param string) uint64 { return i } -// asFloat returns the parameter as a float64 +// asFloat64 returns the parameter as a float64 // or panics if it can't convert -func asFloat(param string) float64 { - +func asFloat64(param string) float64 { i, err := strconv.ParseFloat(param, 64) panicIf(err) + return i +} +// asFloat64 returns the parameter as a float64 +// or panics if it can't convert +func asFloat32(param string) float64 { + i, err := strconv.ParseFloat(param, 32) + panicIf(err) return i } @@ -286,3 +294,18 @@ func panicIf(err error) { panic(err.Error()) } } + +// Checks if field value matches regex. If fl.Field can be cast to Stringer, it uses the Stringer interfaces +// String() return value. Otherwise, it uses fl.Field's String() value. +func fieldMatchesRegexByStringerValOrString(regex *regexp.Regexp, fl FieldLevel) bool { + switch fl.Field().Kind() { + case reflect.String: + return regex.MatchString(fl.Field().String()) + default: + if stringer, ok := fl.Field().Interface().(fmt.Stringer); ok { + return regex.MatchString(stringer.String()) + } else { + return regex.MatchString(fl.Field().String()) + } + } +} diff --git a/vendor/github.com/go-playground/validator/v10/validator.go b/vendor/github.com/go-playground/validator/v10/validator.go index 6f6d53a..901e7b5 100644 --- a/vendor/github.com/go-playground/validator/v10/validator.go +++ b/vendor/github.com/go-playground/validator/v10/validator.go @@ -5,6 +5,7 @@ import ( "fmt" "reflect" "strconv" + "unsafe" ) // per validate construct @@ -99,6 +100,8 @@ func (v *validate) traverseField(ctx context.Context, parent reflect.Value, curr current, kind, v.fldIsPointer = v.extractTypeInternal(current, false) + var isNestedStruct bool + switch kind { case reflect.Ptr, reflect.Interface, reflect.Invalid: @@ -110,6 +113,10 @@ func (v *validate) traverseField(ctx context.Context, parent reflect.Value, curr return } + if ct.typeof == typeOmitNil && (kind != reflect.Invalid && current.IsNil()) { + return + } + if ct.hasTag { if kind == reflect.Invalid { v.str1 = string(append(ns, cf.altName...)) @@ -150,7 +157,7 @@ func (v *validate) traverseField(ctx context.Context, parent reflect.Value, curr structNs: v.str2, fieldLen: uint8(len(cf.altName)), structfieldLen: uint8(len(cf.name)), - value: current.Interface(), + value: getValue(current), param: ct.param, kind: kind, typ: current.Type(), @@ -160,86 +167,61 @@ func (v *validate) traverseField(ctx context.Context, parent reflect.Value, curr } } - case reflect.Struct: - - typ = current.Type() - - if !typ.ConvertibleTo(timeType) { - - if ct != nil { - - if ct.typeof == typeStructOnly { - goto CONTINUE - } else if ct.typeof == typeIsDefault { - // set Field Level fields - v.slflParent = parent - v.flField = current - v.cf = cf - v.ct = ct - - if !ct.fn(ctx, v) { - v.str1 = string(append(ns, cf.altName...)) - - if v.v.hasTagNameFunc { - v.str2 = string(append(structNs, cf.name...)) - } else { - v.str2 = v.str1 - } - - v.errs = append(v.errs, - &fieldError{ - v: v.v, - tag: ct.aliasTag, - actualTag: ct.tag, - ns: v.str1, - structNs: v.str2, - fieldLen: uint8(len(cf.altName)), - structfieldLen: uint8(len(cf.name)), - value: current.Interface(), - param: ct.param, - kind: kind, - typ: typ, - }, - ) - return - } - } - - ct = ct.next - } - - if ct != nil && ct.typeof == typeNoStructLevel { - return - } - - CONTINUE: - // if len == 0 then validating using 'Var' or 'VarWithValue' - // Var - doesn't make much sense to do it that way, should call 'Struct', but no harm... - // VarWithField - this allows for validating against each field within the struct against a specific value - // pretty handy in certain situations - if len(cf.name) > 0 { - ns = append(append(ns, cf.altName...), '.') - structNs = append(append(structNs, cf.name...), '.') - } - - v.validateStruct(ctx, parent, current, typ, ns, structNs, ct) + if kind == reflect.Invalid { return } - } - if ct == nil || !ct.hasTag { - return + case reflect.Struct: + isNestedStruct = !current.Type().ConvertibleTo(timeType) + // For backward compatibility before struct level validation tags were supported + // as there were a number of projects relying on `required` not failing on non-pointer + // structs. Since it's basically nonsensical to use `required` with a non-pointer struct + // are explicitly skipping the required validation for it. This WILL be removed in the + // next major version. + if isNestedStruct && !v.v.requiredStructEnabled && ct != nil && ct.tag == requiredTag { + ct = ct.next + } } typ = current.Type() OUTER: for { - if ct == nil { + if ct == nil || !ct.hasTag || (isNestedStruct && len(cf.name) == 0) { + // isNestedStruct check here + if isNestedStruct { + // if len == 0 then validating using 'Var' or 'VarWithValue' + // Var - doesn't make much sense to do it that way, should call 'Struct', but no harm... + // VarWithField - this allows for validating against each field within the struct against a specific value + // pretty handy in certain situations + if len(cf.name) > 0 { + ns = append(append(ns, cf.altName...), '.') + structNs = append(append(structNs, cf.name...), '.') + } + + v.validateStruct(ctx, parent, current, typ, ns, structNs, ct) + } return } switch ct.typeof { + case typeNoStructLevel: + return + + case typeStructOnly: + if isNestedStruct { + // if len == 0 then validating using 'Var' or 'VarWithValue' + // Var - doesn't make much sense to do it that way, should call 'Struct', but no harm... + // VarWithField - this allows for validating against each field within the struct against a specific value + // pretty handy in certain situations + if len(cf.name) > 0 { + ns = append(append(ns, cf.altName...), '.') + structNs = append(append(structNs, cf.name...), '.') + } + + v.validateStruct(ctx, parent, current, typ, ns, structNs, ct) + } + return case typeOmitEmpty: @@ -256,6 +238,26 @@ OUTER: ct = ct.next continue + case typeOmitNil: + v.slflParent = parent + v.flField = current + v.cf = cf + v.ct = ct + + switch field := v.Field(); field.Kind() { + case reflect.Slice, reflect.Map, reflect.Ptr, reflect.Interface, reflect.Chan, reflect.Func: + if field.IsNil() { + return + } + default: + if v.fldIsPointer && field.Interface() == nil { + return + } + } + + ct = ct.next + continue + case typeEndKeys: return @@ -366,7 +368,7 @@ OUTER: ct = ct.next if ct == nil { - return + continue OUTER } if ct.typeof != typeOr { @@ -409,7 +411,7 @@ OUTER: structNs: v.str2, fieldLen: uint8(len(cf.altName)), structfieldLen: uint8(len(cf.name)), - value: current.Interface(), + value: getValue(current), param: ct.param, kind: kind, typ: typ, @@ -429,7 +431,7 @@ OUTER: structNs: v.str2, fieldLen: uint8(len(cf.altName)), structfieldLen: uint8(len(cf.name)), - value: current.Interface(), + value: getValue(current), param: ct.param, kind: kind, typ: typ, @@ -469,7 +471,7 @@ OUTER: structNs: v.str2, fieldLen: uint8(len(cf.altName)), structfieldLen: uint8(len(cf.name)), - value: current.Interface(), + value: getValue(current), param: ct.param, kind: kind, typ: typ, @@ -483,3 +485,26 @@ OUTER: } } + +func getValue(val reflect.Value) interface{} { + if val.CanInterface() { + return val.Interface() + } + + if val.CanAddr() { + return reflect.NewAt(val.Type(), unsafe.Pointer(val.UnsafeAddr())).Elem().Interface() + } + + switch val.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return val.Int() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return val.Uint() + case reflect.Complex64, reflect.Complex128: + return val.Complex() + case reflect.Float32, reflect.Float64: + return val.Float() + default: + return val.String() + } +} diff --git a/vendor/github.com/go-playground/validator/v10/validator_instance.go b/vendor/github.com/go-playground/validator/v10/validator_instance.go index d2ee8fe..1a34513 100644 --- a/vendor/github.com/go-playground/validator/v10/validator_instance.go +++ b/vendor/github.com/go-playground/validator/v10/validator_instance.go @@ -22,6 +22,7 @@ const ( structOnlyTag = "structonly" noStructLevelTag = "nostructlevel" omitempty = "omitempty" + omitnil = "omitnil" isdefault = "isdefault" requiredWithoutAllTag = "required_without_all" requiredWithoutTag = "required_without" @@ -53,6 +54,8 @@ var ( timeDurationType = reflect.TypeOf(time.Duration(0)) timeType = reflect.TypeOf(time.Time{}) + byteSliceType = reflect.TypeOf([]byte{}) + defaultCField = &cField{namesEqual: true} ) @@ -77,19 +80,21 @@ type internalValidationFuncWrapper struct { // Validate contains the validator settings and cache type Validate struct { - tagName string - pool *sync.Pool - hasCustomFuncs bool - hasTagNameFunc bool - tagNameFunc TagNameFunc - structLevelFuncs map[reflect.Type]StructLevelFuncCtx - customFuncs map[reflect.Type]CustomTypeFunc - aliases map[string]string - validations map[string]internalValidationFuncWrapper - transTagFunc map[ut.Translator]map[string]TranslationFunc // map[]map[]TranslationFunc - rules map[reflect.Type]map[string]string - tagCache *tagCache - structCache *structCache + tagName string + pool *sync.Pool + tagNameFunc TagNameFunc + structLevelFuncs map[reflect.Type]StructLevelFuncCtx + customFuncs map[reflect.Type]CustomTypeFunc + aliases map[string]string + validations map[string]internalValidationFuncWrapper + transTagFunc map[ut.Translator]map[string]TranslationFunc // map[]map[]TranslationFunc + rules map[reflect.Type]map[string]string + tagCache *tagCache + structCache *structCache + hasCustomFuncs bool + hasTagNameFunc bool + requiredStructEnabled bool + privateFieldValidation bool } // New returns a new instance of 'validate' with sane defaults. @@ -97,7 +102,7 @@ type Validate struct { // It caches information about your struct and validations, // in essence only parsing your validation tags once per struct type. // Using multiple instances neglects the benefit of caching. -func New() *Validate { +func New(options ...Option) *Validate { tc := new(tagCache) tc.m.Store(make(map[string]*cTag)) @@ -144,6 +149,9 @@ func New() *Validate { }, } + for _, o := range options { + o(v) + } return v } diff --git a/vendor/github.com/klauspost/cpuid/v2/README.md b/vendor/github.com/klauspost/cpuid/v2/README.md index 37b5167..30f8d29 100644 --- a/vendor/github.com/klauspost/cpuid/v2/README.md +++ b/vendor/github.com/klauspost/cpuid/v2/README.md @@ -9,10 +9,7 @@ You can access the CPU information by accessing the shared CPU variable of the c Package home: https://github.com/klauspost/cpuid [![PkgGoDev](https://pkg.go.dev/badge/github.com/klauspost/cpuid)](https://pkg.go.dev/github.com/klauspost/cpuid/v2) -[![Build Status][3]][4] - -[3]: https://travis-ci.org/klauspost/cpuid.svg?branch=master -[4]: https://travis-ci.org/klauspost/cpuid +[![Go](https://github.com/klauspost/cpuid/actions/workflows/go.yml/badge.svg)](https://github.com/klauspost/cpuid/actions/workflows/go.yml) ## installing @@ -285,7 +282,12 @@ Exit Code 1 | AMXINT8 | Tile computational operations on 8-bit integers | | AMXFP16 | Tile computational operations on FP16 numbers | | AMXTILE | Tile architecture | +| APX_F | Intel APX | | AVX | AVX functions | +| AVX10 | If set the Intel AVX10 Converged Vector ISA is supported | +| AVX10_128 | If set indicates that AVX10 128-bit vector support is present | +| AVX10_256 | If set indicates that AVX10 256-bit vector support is present | +| AVX10_512 | If set indicates that AVX10 512-bit vector support is present | | AVX2 | AVX2 functions | | AVX512BF16 | AVX-512 BFLOAT16 Instructions | | AVX512BITALG | AVX-512 Bit Algorithms | @@ -365,6 +367,8 @@ Exit Code 1 | IDPRED_CTRL | IPRED_DIS | | INT_WBINVD | WBINVD/WBNOINVD are interruptible. | | INVLPGB | NVLPGB and TLBSYNC instruction supported | +| KEYLOCKER | Key locker | +| KEYLOCKERW | Key locker wide | | LAHF | LAHF/SAHF in long mode | | LAM | If set, CPU supports Linear Address Masking | | LBRVIRT | LBR virtualization | @@ -380,7 +384,7 @@ Exit Code 1 | MOVDIRI | Move Doubleword as Direct Store | | MOVSB_ZL | Fast Zero-Length MOVSB | | MPX | Intel MPX (Memory Protection Extensions) | -| MOVU | MOVU SSE instructions are more efficient and should be preferred to SSE MOVL/MOVH. MOVUPS is more efficient than MOVLPS/MOVHPS. MOVUPD is more efficient than MOVLPD/MOVHPD | +| MOVU | MOVU SSE instructions are more efficient and should be preferred to SSE MOVL/MOVH. MOVUPS is more efficient than MOVLPS/MOVHPS. MOVUPD is more efficient than MOVLPD/MOVHPD | | MSRIRC | Instruction Retired Counter MSR available | | MSRLIST | Read/Write List of Model Specific Registers | | MSR_PAGEFLUSH | Page Flush MSR available | @@ -435,6 +439,7 @@ Exit Code 1 | SYSCALL | System-Call Extension (SCE): SYSCALL and SYSRET instructions. | | SYSEE | SYSENTER and SYSEXIT instructions | | TBM | AMD Trailing Bit Manipulation | +| TDX_GUEST | Intel Trust Domain Extensions Guest | | TLB_FLUSH_NESTED | AMD: Flushing includes all the nested translations for guest translations | | TME | Intel Total Memory Encryption. The following MSRs are supported: IA32_TME_CAPABILITY, IA32_TME_ACTIVATE, IA32_TME_EXCLUDE_MASK, and IA32_TME_EXCLUDE_BASE. | | TOPEXT | TopologyExtensions: topology extensions support. Indicates support for CPUID Fn8000_001D_EAX_x[N:0]-CPUID Fn8000_001E_EDX. | diff --git a/vendor/github.com/klauspost/cpuid/v2/cpuid.go b/vendor/github.com/klauspost/cpuid/v2/cpuid.go index 89a861d..805f5e7 100644 --- a/vendor/github.com/klauspost/cpuid/v2/cpuid.go +++ b/vendor/github.com/klauspost/cpuid/v2/cpuid.go @@ -67,187 +67,200 @@ const ( // Keep index -1 as unknown UNKNOWN = -1 - // Add features - ADX FeatureID = iota // Intel ADX (Multi-Precision Add-Carry Instruction Extensions) - AESNI // Advanced Encryption Standard New Instructions - AMD3DNOW // AMD 3DNOW - AMD3DNOWEXT // AMD 3DNowExt - AMXBF16 // Tile computational operations on BFLOAT16 numbers - AMXFP16 // Tile computational operations on FP16 numbers - AMXINT8 // Tile computational operations on 8-bit integers - AMXTILE // Tile architecture - AVX // AVX functions - AVX2 // AVX2 functions - AVX512BF16 // AVX-512 BFLOAT16 Instructions - AVX512BITALG // AVX-512 Bit Algorithms - AVX512BW // AVX-512 Byte and Word Instructions - AVX512CD // AVX-512 Conflict Detection Instructions - AVX512DQ // AVX-512 Doubleword and Quadword Instructions - AVX512ER // AVX-512 Exponential and Reciprocal Instructions - AVX512F // AVX-512 Foundation - AVX512FP16 // AVX-512 FP16 Instructions - AVX512IFMA // AVX-512 Integer Fused Multiply-Add Instructions - AVX512PF // AVX-512 Prefetch Instructions - AVX512VBMI // AVX-512 Vector Bit Manipulation Instructions - AVX512VBMI2 // AVX-512 Vector Bit Manipulation Instructions, Version 2 - AVX512VL // AVX-512 Vector Length Extensions - AVX512VNNI // AVX-512 Vector Neural Network Instructions - AVX512VP2INTERSECT // AVX-512 Intersect for D/Q - AVX512VPOPCNTDQ // AVX-512 Vector Population Count Doubleword and Quadword - AVXIFMA // AVX-IFMA instructions - AVXNECONVERT // AVX-NE-CONVERT instructions - AVXSLOW // Indicates the CPU performs 2 128 bit operations instead of one - AVXVNNI // AVX (VEX encoded) VNNI neural network instructions - AVXVNNIINT8 // AVX-VNNI-INT8 instructions - BHI_CTRL // Branch History Injection and Intra-mode Branch Target Injection / CVE-2022-0001, CVE-2022-0002 / INTEL-SA-00598 - BMI1 // Bit Manipulation Instruction Set 1 - BMI2 // Bit Manipulation Instruction Set 2 - CETIBT // Intel CET Indirect Branch Tracking - CETSS // Intel CET Shadow Stack - CLDEMOTE // Cache Line Demote - CLMUL // Carry-less Multiplication - CLZERO // CLZERO instruction supported - CMOV // i686 CMOV - CMPCCXADD // CMPCCXADD instructions - CMPSB_SCADBS_SHORT // Fast short CMPSB and SCASB - CMPXCHG8 // CMPXCHG8 instruction - CPBOOST // Core Performance Boost - CPPC // AMD: Collaborative Processor Performance Control - CX16 // CMPXCHG16B Instruction - EFER_LMSLE_UNS // AMD: =Core::X86::Msr::EFER[LMSLE] is not supported, and MBZ - ENQCMD // Enqueue Command - ERMS // Enhanced REP MOVSB/STOSB - F16C // Half-precision floating-point conversion - FLUSH_L1D // Flush L1D cache - FMA3 // Intel FMA 3. Does not imply AVX. - FMA4 // Bulldozer FMA4 functions - FP128 // AMD: When set, the internal FP/SIMD execution datapath is no more than 128-bits wide - FP256 // AMD: When set, the internal FP/SIMD execution datapath is no more than 256-bits wide - FSRM // Fast Short Rep Mov - FXSR // FXSAVE, FXRESTOR instructions, CR4 bit 9 - FXSROPT // FXSAVE/FXRSTOR optimizations - GFNI // Galois Field New Instructions. May require other features (AVX, AVX512VL,AVX512F) based on usage. - HLE // Hardware Lock Elision - HRESET // If set CPU supports history reset and the IA32_HRESET_ENABLE MSR - HTT // Hyperthreading (enabled) - HWA // Hardware assert supported. Indicates support for MSRC001_10 - HYBRID_CPU // This part has CPUs of more than one type. - HYPERVISOR // This bit has been reserved by Intel & AMD for use by hypervisors - IA32_ARCH_CAP // IA32_ARCH_CAPABILITIES MSR (Intel) - IA32_CORE_CAP // IA32_CORE_CAPABILITIES MSR - IBPB // Indirect Branch Restricted Speculation (IBRS) and Indirect Branch Predictor Barrier (IBPB) - IBRS // AMD: Indirect Branch Restricted Speculation - IBRS_PREFERRED // AMD: IBRS is preferred over software solution - IBRS_PROVIDES_SMP // AMD: IBRS provides Same Mode Protection - IBS // Instruction Based Sampling (AMD) - IBSBRNTRGT // Instruction Based Sampling Feature (AMD) - IBSFETCHSAM // Instruction Based Sampling Feature (AMD) - IBSFFV // Instruction Based Sampling Feature (AMD) - IBSOPCNT // Instruction Based Sampling Feature (AMD) - IBSOPCNTEXT // Instruction Based Sampling Feature (AMD) - IBSOPSAM // Instruction Based Sampling Feature (AMD) - IBSRDWROPCNT // Instruction Based Sampling Feature (AMD) - IBSRIPINVALIDCHK // Instruction Based Sampling Feature (AMD) - IBS_FETCH_CTLX // AMD: IBS fetch control extended MSR supported - IBS_OPDATA4 // AMD: IBS op data 4 MSR supported - IBS_OPFUSE // AMD: Indicates support for IbsOpFuse - IBS_PREVENTHOST // Disallowing IBS use by the host supported - IBS_ZEN4 // AMD: Fetch and Op IBS support IBS extensions added with Zen4 - IDPRED_CTRL // IPRED_DIS - INT_WBINVD // WBINVD/WBNOINVD are interruptible. - INVLPGB // NVLPGB and TLBSYNC instruction supported - LAHF // LAHF/SAHF in long mode - LAM // If set, CPU supports Linear Address Masking - LBRVIRT // LBR virtualization - LZCNT // LZCNT instruction - MCAOVERFLOW // MCA overflow recovery support. - MCDT_NO // Processor do not exhibit MXCSR Configuration Dependent Timing behavior and do not need to mitigate it. - MCOMMIT // MCOMMIT instruction supported - MD_CLEAR // VERW clears CPU buffers - MMX // standard MMX - MMXEXT // SSE integer functions or AMD MMX ext - MOVBE // MOVBE instruction (big-endian) - MOVDIR64B // Move 64 Bytes as Direct Store - MOVDIRI // Move Doubleword as Direct Store - MOVSB_ZL // Fast Zero-Length MOVSB - MOVU // AMD: MOVU SSE instructions are more efficient and should be preferred to SSE MOVL/MOVH. MOVUPS is more efficient than MOVLPS/MOVHPS. MOVUPD is more efficient than MOVLPD/MOVHPD - MPX // Intel MPX (Memory Protection Extensions) - MSRIRC // Instruction Retired Counter MSR available - MSRLIST // Read/Write List of Model Specific Registers - MSR_PAGEFLUSH // Page Flush MSR available - NRIPS // Indicates support for NRIP save on VMEXIT - NX // NX (No-Execute) bit - OSXSAVE // XSAVE enabled by OS - PCONFIG // PCONFIG for Intel Multi-Key Total Memory Encryption - POPCNT // POPCNT instruction - PPIN // AMD: Protected Processor Inventory Number support. Indicates that Protected Processor Inventory Number (PPIN) capability can be enabled - PREFETCHI // PREFETCHIT0/1 instructions - PSFD // Predictive Store Forward Disable - RDPRU // RDPRU instruction supported - RDRAND // RDRAND instruction is available - RDSEED // RDSEED instruction is available - RDTSCP // RDTSCP Instruction - RRSBA_CTRL // Restricted RSB Alternate - RTM // Restricted Transactional Memory - RTM_ALWAYS_ABORT // Indicates that the loaded microcode is forcing RTM abort. - SERIALIZE // Serialize Instruction Execution - SEV // AMD Secure Encrypted Virtualization supported - SEV_64BIT // AMD SEV guest execution only allowed from a 64-bit host - SEV_ALTERNATIVE // AMD SEV Alternate Injection supported - SEV_DEBUGSWAP // Full debug state swap supported for SEV-ES guests - SEV_ES // AMD SEV Encrypted State supported - SEV_RESTRICTED // AMD SEV Restricted Injection supported - SEV_SNP // AMD SEV Secure Nested Paging supported - SGX // Software Guard Extensions - SGXLC // Software Guard Extensions Launch Control - SHA // Intel SHA Extensions - SME // AMD Secure Memory Encryption supported - SME_COHERENT // AMD Hardware cache coherency across encryption domains enforced - SPEC_CTRL_SSBD // Speculative Store Bypass Disable - SRBDS_CTRL // SRBDS mitigation MSR available - SSE // SSE functions - SSE2 // P4 SSE functions - SSE3 // Prescott SSE3 functions - SSE4 // Penryn SSE4.1 functions - SSE42 // Nehalem SSE4.2 functions - SSE4A // AMD Barcelona microarchitecture SSE4a instructions - SSSE3 // Conroe SSSE3 functions - STIBP // Single Thread Indirect Branch Predictors - STIBP_ALWAYSON // AMD: Single Thread Indirect Branch Prediction Mode has Enhanced Performance and may be left Always On - STOSB_SHORT // Fast short STOSB - SUCCOR // Software uncorrectable error containment and recovery capability. - SVM // AMD Secure Virtual Machine - SVMDA // Indicates support for the SVM decode assists. - SVMFBASID // SVM, Indicates that TLB flush events, including CR3 writes and CR4.PGE toggles, flush only the current ASID's TLB entries. Also indicates support for the extended VMCBTLB_Control - SVML // AMD SVM lock. Indicates support for SVM-Lock. - SVMNP // AMD SVM nested paging - SVMPF // SVM pause intercept filter. Indicates support for the pause intercept filter - SVMPFT // SVM PAUSE filter threshold. Indicates support for the PAUSE filter cycle count threshold - SYSCALL // System-Call Extension (SCE): SYSCALL and SYSRET instructions. - SYSEE // SYSENTER and SYSEXIT instructions - TBM // AMD Trailing Bit Manipulation - TLB_FLUSH_NESTED // AMD: Flushing includes all the nested translations for guest translations - TME // Intel Total Memory Encryption. The following MSRs are supported: IA32_TME_CAPABILITY, IA32_TME_ACTIVATE, IA32_TME_EXCLUDE_MASK, and IA32_TME_EXCLUDE_BASE. - TOPEXT // TopologyExtensions: topology extensions support. Indicates support for CPUID Fn8000_001D_EAX_x[N:0]-CPUID Fn8000_001E_EDX. - TSCRATEMSR // MSR based TSC rate control. Indicates support for MSR TSC ratio MSRC000_0104 - TSXLDTRK // Intel TSX Suspend Load Address Tracking - VAES // Vector AES. AVX(512) versions requires additional checks. - VMCBCLEAN // VMCB clean bits. Indicates support for VMCB clean bits. - VMPL // AMD VM Permission Levels supported - VMSA_REGPROT // AMD VMSA Register Protection supported - VMX // Virtual Machine Extensions - VPCLMULQDQ // Carry-Less Multiplication Quadword. Requires AVX for 3 register versions. - VTE // AMD Virtual Transparent Encryption supported - WAITPKG // TPAUSE, UMONITOR, UMWAIT - WBNOINVD // Write Back and Do Not Invalidate Cache - WRMSRNS // Non-Serializing Write to Model Specific Register - X87 // FPU - XGETBV1 // Supports XGETBV with ECX = 1 - XOP // Bulldozer XOP functions - XSAVE // XSAVE, XRESTOR, XSETBV, XGETBV - XSAVEC // Supports XSAVEC and the compacted form of XRSTOR. - XSAVEOPT // XSAVEOPT available - XSAVES // Supports XSAVES/XRSTORS and IA32_XSS + // x86 features + ADX FeatureID = iota // Intel ADX (Multi-Precision Add-Carry Instruction Extensions) + AESNI // Advanced Encryption Standard New Instructions + AMD3DNOW // AMD 3DNOW + AMD3DNOWEXT // AMD 3DNowExt + AMXBF16 // Tile computational operations on BFLOAT16 numbers + AMXFP16 // Tile computational operations on FP16 numbers + AMXINT8 // Tile computational operations on 8-bit integers + AMXTILE // Tile architecture + APX_F // Intel APX + AVX // AVX functions + AVX10 // If set the Intel AVX10 Converged Vector ISA is supported + AVX10_128 // If set indicates that AVX10 128-bit vector support is present + AVX10_256 // If set indicates that AVX10 256-bit vector support is present + AVX10_512 // If set indicates that AVX10 512-bit vector support is present + AVX2 // AVX2 functions + AVX512BF16 // AVX-512 BFLOAT16 Instructions + AVX512BITALG // AVX-512 Bit Algorithms + AVX512BW // AVX-512 Byte and Word Instructions + AVX512CD // AVX-512 Conflict Detection Instructions + AVX512DQ // AVX-512 Doubleword and Quadword Instructions + AVX512ER // AVX-512 Exponential and Reciprocal Instructions + AVX512F // AVX-512 Foundation + AVX512FP16 // AVX-512 FP16 Instructions + AVX512IFMA // AVX-512 Integer Fused Multiply-Add Instructions + AVX512PF // AVX-512 Prefetch Instructions + AVX512VBMI // AVX-512 Vector Bit Manipulation Instructions + AVX512VBMI2 // AVX-512 Vector Bit Manipulation Instructions, Version 2 + AVX512VL // AVX-512 Vector Length Extensions + AVX512VNNI // AVX-512 Vector Neural Network Instructions + AVX512VP2INTERSECT // AVX-512 Intersect for D/Q + AVX512VPOPCNTDQ // AVX-512 Vector Population Count Doubleword and Quadword + AVXIFMA // AVX-IFMA instructions + AVXNECONVERT // AVX-NE-CONVERT instructions + AVXSLOW // Indicates the CPU performs 2 128 bit operations instead of one + AVXVNNI // AVX (VEX encoded) VNNI neural network instructions + AVXVNNIINT8 // AVX-VNNI-INT8 instructions + BHI_CTRL // Branch History Injection and Intra-mode Branch Target Injection / CVE-2022-0001, CVE-2022-0002 / INTEL-SA-00598 + BMI1 // Bit Manipulation Instruction Set 1 + BMI2 // Bit Manipulation Instruction Set 2 + CETIBT // Intel CET Indirect Branch Tracking + CETSS // Intel CET Shadow Stack + CLDEMOTE // Cache Line Demote + CLMUL // Carry-less Multiplication + CLZERO // CLZERO instruction supported + CMOV // i686 CMOV + CMPCCXADD // CMPCCXADD instructions + CMPSB_SCADBS_SHORT // Fast short CMPSB and SCASB + CMPXCHG8 // CMPXCHG8 instruction + CPBOOST // Core Performance Boost + CPPC // AMD: Collaborative Processor Performance Control + CX16 // CMPXCHG16B Instruction + EFER_LMSLE_UNS // AMD: =Core::X86::Msr::EFER[LMSLE] is not supported, and MBZ + ENQCMD // Enqueue Command + ERMS // Enhanced REP MOVSB/STOSB + F16C // Half-precision floating-point conversion + FLUSH_L1D // Flush L1D cache + FMA3 // Intel FMA 3. Does not imply AVX. + FMA4 // Bulldozer FMA4 functions + FP128 // AMD: When set, the internal FP/SIMD execution datapath is no more than 128-bits wide + FP256 // AMD: When set, the internal FP/SIMD execution datapath is no more than 256-bits wide + FSRM // Fast Short Rep Mov + FXSR // FXSAVE, FXRESTOR instructions, CR4 bit 9 + FXSROPT // FXSAVE/FXRSTOR optimizations + GFNI // Galois Field New Instructions. May require other features (AVX, AVX512VL,AVX512F) based on usage. + HLE // Hardware Lock Elision + HRESET // If set CPU supports history reset and the IA32_HRESET_ENABLE MSR + HTT // Hyperthreading (enabled) + HWA // Hardware assert supported. Indicates support for MSRC001_10 + HYBRID_CPU // This part has CPUs of more than one type. + HYPERVISOR // This bit has been reserved by Intel & AMD for use by hypervisors + IA32_ARCH_CAP // IA32_ARCH_CAPABILITIES MSR (Intel) + IA32_CORE_CAP // IA32_CORE_CAPABILITIES MSR + IBPB // Indirect Branch Restricted Speculation (IBRS) and Indirect Branch Predictor Barrier (IBPB) + IBPB_BRTYPE // Indicates that MSR 49h (PRED_CMD) bit 0 (IBPB) flushes all branch type predictions from the CPU branch predictor + IBRS // AMD: Indirect Branch Restricted Speculation + IBRS_PREFERRED // AMD: IBRS is preferred over software solution + IBRS_PROVIDES_SMP // AMD: IBRS provides Same Mode Protection + IBS // Instruction Based Sampling (AMD) + IBSBRNTRGT // Instruction Based Sampling Feature (AMD) + IBSFETCHSAM // Instruction Based Sampling Feature (AMD) + IBSFFV // Instruction Based Sampling Feature (AMD) + IBSOPCNT // Instruction Based Sampling Feature (AMD) + IBSOPCNTEXT // Instruction Based Sampling Feature (AMD) + IBSOPSAM // Instruction Based Sampling Feature (AMD) + IBSRDWROPCNT // Instruction Based Sampling Feature (AMD) + IBSRIPINVALIDCHK // Instruction Based Sampling Feature (AMD) + IBS_FETCH_CTLX // AMD: IBS fetch control extended MSR supported + IBS_OPDATA4 // AMD: IBS op data 4 MSR supported + IBS_OPFUSE // AMD: Indicates support for IbsOpFuse + IBS_PREVENTHOST // Disallowing IBS use by the host supported + IBS_ZEN4 // AMD: Fetch and Op IBS support IBS extensions added with Zen4 + IDPRED_CTRL // IPRED_DIS + INT_WBINVD // WBINVD/WBNOINVD are interruptible. + INVLPGB // NVLPGB and TLBSYNC instruction supported + KEYLOCKER // Key locker + KEYLOCKERW // Key locker wide + LAHF // LAHF/SAHF in long mode + LAM // If set, CPU supports Linear Address Masking + LBRVIRT // LBR virtualization + LZCNT // LZCNT instruction + MCAOVERFLOW // MCA overflow recovery support. + MCDT_NO // Processor do not exhibit MXCSR Configuration Dependent Timing behavior and do not need to mitigate it. + MCOMMIT // MCOMMIT instruction supported + MD_CLEAR // VERW clears CPU buffers + MMX // standard MMX + MMXEXT // SSE integer functions or AMD MMX ext + MOVBE // MOVBE instruction (big-endian) + MOVDIR64B // Move 64 Bytes as Direct Store + MOVDIRI // Move Doubleword as Direct Store + MOVSB_ZL // Fast Zero-Length MOVSB + MOVU // AMD: MOVU SSE instructions are more efficient and should be preferred to SSE MOVL/MOVH. MOVUPS is more efficient than MOVLPS/MOVHPS. MOVUPD is more efficient than MOVLPD/MOVHPD + MPX // Intel MPX (Memory Protection Extensions) + MSRIRC // Instruction Retired Counter MSR available + MSRLIST // Read/Write List of Model Specific Registers + MSR_PAGEFLUSH // Page Flush MSR available + NRIPS // Indicates support for NRIP save on VMEXIT + NX // NX (No-Execute) bit + OSXSAVE // XSAVE enabled by OS + PCONFIG // PCONFIG for Intel Multi-Key Total Memory Encryption + POPCNT // POPCNT instruction + PPIN // AMD: Protected Processor Inventory Number support. Indicates that Protected Processor Inventory Number (PPIN) capability can be enabled + PREFETCHI // PREFETCHIT0/1 instructions + PSFD // Predictive Store Forward Disable + RDPRU // RDPRU instruction supported + RDRAND // RDRAND instruction is available + RDSEED // RDSEED instruction is available + RDTSCP // RDTSCP Instruction + RRSBA_CTRL // Restricted RSB Alternate + RTM // Restricted Transactional Memory + RTM_ALWAYS_ABORT // Indicates that the loaded microcode is forcing RTM abort. + SBPB // Indicates support for the Selective Branch Predictor Barrier + SERIALIZE // Serialize Instruction Execution + SEV // AMD Secure Encrypted Virtualization supported + SEV_64BIT // AMD SEV guest execution only allowed from a 64-bit host + SEV_ALTERNATIVE // AMD SEV Alternate Injection supported + SEV_DEBUGSWAP // Full debug state swap supported for SEV-ES guests + SEV_ES // AMD SEV Encrypted State supported + SEV_RESTRICTED // AMD SEV Restricted Injection supported + SEV_SNP // AMD SEV Secure Nested Paging supported + SGX // Software Guard Extensions + SGXLC // Software Guard Extensions Launch Control + SHA // Intel SHA Extensions + SME // AMD Secure Memory Encryption supported + SME_COHERENT // AMD Hardware cache coherency across encryption domains enforced + SPEC_CTRL_SSBD // Speculative Store Bypass Disable + SRBDS_CTRL // SRBDS mitigation MSR available + SRSO_MSR_FIX // Indicates that software may use MSR BP_CFG[BpSpecReduce] to mitigate SRSO. + SRSO_NO // Indicates the CPU is not subject to the SRSO vulnerability + SRSO_USER_KERNEL_NO // Indicates the CPU is not subject to the SRSO vulnerability across user/kernel boundaries + SSE // SSE functions + SSE2 // P4 SSE functions + SSE3 // Prescott SSE3 functions + SSE4 // Penryn SSE4.1 functions + SSE42 // Nehalem SSE4.2 functions + SSE4A // AMD Barcelona microarchitecture SSE4a instructions + SSSE3 // Conroe SSSE3 functions + STIBP // Single Thread Indirect Branch Predictors + STIBP_ALWAYSON // AMD: Single Thread Indirect Branch Prediction Mode has Enhanced Performance and may be left Always On + STOSB_SHORT // Fast short STOSB + SUCCOR // Software uncorrectable error containment and recovery capability. + SVM // AMD Secure Virtual Machine + SVMDA // Indicates support for the SVM decode assists. + SVMFBASID // SVM, Indicates that TLB flush events, including CR3 writes and CR4.PGE toggles, flush only the current ASID's TLB entries. Also indicates support for the extended VMCBTLB_Control + SVML // AMD SVM lock. Indicates support for SVM-Lock. + SVMNP // AMD SVM nested paging + SVMPF // SVM pause intercept filter. Indicates support for the pause intercept filter + SVMPFT // SVM PAUSE filter threshold. Indicates support for the PAUSE filter cycle count threshold + SYSCALL // System-Call Extension (SCE): SYSCALL and SYSRET instructions. + SYSEE // SYSENTER and SYSEXIT instructions + TBM // AMD Trailing Bit Manipulation + TDX_GUEST // Intel Trust Domain Extensions Guest + TLB_FLUSH_NESTED // AMD: Flushing includes all the nested translations for guest translations + TME // Intel Total Memory Encryption. The following MSRs are supported: IA32_TME_CAPABILITY, IA32_TME_ACTIVATE, IA32_TME_EXCLUDE_MASK, and IA32_TME_EXCLUDE_BASE. + TOPEXT // TopologyExtensions: topology extensions support. Indicates support for CPUID Fn8000_001D_EAX_x[N:0]-CPUID Fn8000_001E_EDX. + TSCRATEMSR // MSR based TSC rate control. Indicates support for MSR TSC ratio MSRC000_0104 + TSXLDTRK // Intel TSX Suspend Load Address Tracking + VAES // Vector AES. AVX(512) versions requires additional checks. + VMCBCLEAN // VMCB clean bits. Indicates support for VMCB clean bits. + VMPL // AMD VM Permission Levels supported + VMSA_REGPROT // AMD VMSA Register Protection supported + VMX // Virtual Machine Extensions + VPCLMULQDQ // Carry-Less Multiplication Quadword. Requires AVX for 3 register versions. + VTE // AMD Virtual Transparent Encryption supported + WAITPKG // TPAUSE, UMONITOR, UMWAIT + WBNOINVD // Write Back and Do Not Invalidate Cache + WRMSRNS // Non-Serializing Write to Model Specific Register + X87 // FPU + XGETBV1 // Supports XGETBV with ECX = 1 + XOP // Bulldozer XOP functions + XSAVE // XSAVE, XRESTOR, XSETBV, XGETBV + XSAVEC // Supports XSAVEC and the compacted form of XRSTOR. + XSAVEOPT // XSAVEOPT available + XSAVES // Supports XSAVES/XRSTORS and IA32_XSS // ARM features: AESARM // AES instructions @@ -301,9 +314,11 @@ type CPUInfo struct { L2 int // L2 Cache (per core or shared). Will be -1 if undetected L3 int // L3 Cache (per core, per ccx or shared). Will be -1 if undetected } - SGX SGXSupport - maxFunc uint32 - maxExFunc uint32 + SGX SGXSupport + AMDMemEncryption AMDMemEncryptionSupport + AVX10Level uint8 + maxFunc uint32 + maxExFunc uint32 } var cpuid func(op uint32) (eax, ebx, ecx, edx uint32) @@ -1070,6 +1085,32 @@ func hasSGX(available, lc bool) (rval SGXSupport) { return } +type AMDMemEncryptionSupport struct { + Available bool + CBitPossition uint32 + NumVMPL uint32 + PhysAddrReduction uint32 + NumEntryptedGuests uint32 + MinSevNoEsAsid uint32 +} + +func hasAMDMemEncryption(available bool) (rval AMDMemEncryptionSupport) { + rval.Available = available + if !available { + return + } + + _, b, c, d := cpuidex(0x8000001f, 0) + + rval.CBitPossition = b & 0x3f + rval.PhysAddrReduction = (b >> 6) & 0x3F + rval.NumVMPL = (b >> 12) & 0xf + rval.NumEntryptedGuests = c + rval.MinSevNoEsAsid = d + + return +} + func support() flagSet { var fs flagSet mfi := maxFunctionID() @@ -1164,6 +1205,7 @@ func support() flagSet { fs.setIf(ecx&(1<<10) != 0, VPCLMULQDQ) fs.setIf(ecx&(1<<13) != 0, TME) fs.setIf(ecx&(1<<25) != 0, CLDEMOTE) + fs.setIf(ecx&(1<<23) != 0, KEYLOCKER) fs.setIf(ecx&(1<<27) != 0, MOVDIRI) fs.setIf(ecx&(1<<28) != 0, MOVDIR64B) fs.setIf(ecx&(1<<29) != 0, ENQCMD) @@ -1186,13 +1228,8 @@ func support() flagSet { fs.setIf(edx&(1<<30) != 0, IA32_CORE_CAP) fs.setIf(edx&(1<<31) != 0, SPEC_CTRL_SSBD) - // CPUID.(EAX=7, ECX=1).EDX - fs.setIf(edx&(1<<4) != 0, AVXVNNIINT8) - fs.setIf(edx&(1<<5) != 0, AVXNECONVERT) - fs.setIf(edx&(1<<14) != 0, PREFETCHI) - // CPUID.(EAX=7, ECX=1).EAX - eax1, _, _, _ := cpuidex(7, 1) + eax1, _, _, edx1 := cpuidex(7, 1) fs.setIf(fs.inSet(AVX) && eax1&(1<<4) != 0, AVXVNNI) fs.setIf(eax1&(1<<7) != 0, CMPCCXADD) fs.setIf(eax1&(1<<10) != 0, MOVSB_ZL) @@ -1202,6 +1239,13 @@ func support() flagSet { fs.setIf(eax1&(1<<23) != 0, AVXIFMA) fs.setIf(eax1&(1<<26) != 0, LAM) + // CPUID.(EAX=7, ECX=1).EDX + fs.setIf(edx1&(1<<4) != 0, AVXVNNIINT8) + fs.setIf(edx1&(1<<5) != 0, AVXNECONVERT) + fs.setIf(edx1&(1<<14) != 0, PREFETCHI) + fs.setIf(edx1&(1<<19) != 0, AVX10) + fs.setIf(edx1&(1<<21) != 0, APX_F) + // Only detect AVX-512 features if XGETBV is supported if c&((1<<26)|(1<<27)) == (1<<26)|(1<<27) { // Check for OS support @@ -1251,6 +1295,19 @@ func support() flagSet { fs.setIf(edx&(1<<4) != 0, BHI_CTRL) fs.setIf(edx&(1<<5) != 0, MCDT_NO) + // Add keylocker features. + if fs.inSet(KEYLOCKER) && mfi >= 0x19 { + _, ebx, _, _ := cpuidex(0x19, 0) + fs.setIf(ebx&5 == 5, KEYLOCKERW) // Bit 0 and 2 (1+4) + } + + // Add AVX10 features. + if fs.inSet(AVX10) && mfi >= 0x24 { + _, ebx, _, _ := cpuidex(0x24, 0) + fs.setIf(ebx&(1<<16) != 0, AVX10_128) + fs.setIf(ebx&(1<<17) != 0, AVX10_256) + fs.setIf(ebx&(1<<18) != 0, AVX10_512) + } } // Processor Extended State Enumeration Sub-leaf (EAX = 0DH, ECX = 1) @@ -1393,9 +1450,47 @@ func support() flagSet { fs.setIf((a>>24)&1 == 1, VMSA_REGPROT) } + if maxExtendedFunction() >= 0x80000021 && vend == AMD { + a, _, _, _ := cpuid(0x80000021) + fs.setIf((a>>31)&1 == 1, SRSO_MSR_FIX) + fs.setIf((a>>30)&1 == 1, SRSO_USER_KERNEL_NO) + fs.setIf((a>>29)&1 == 1, SRSO_NO) + fs.setIf((a>>28)&1 == 1, IBPB_BRTYPE) + fs.setIf((a>>27)&1 == 1, SBPB) + } + + if mfi >= 0x20 { + // Microsoft has decided to purposefully hide the information + // of the guest TEE when VMs are being created using Hyper-V. + // + // This leads us to check for the Hyper-V cpuid features + // (0x4000000C), and then for the `ebx` value set. + // + // For Intel TDX, `ebx` is set as `0xbe3`, being 3 the part + // we're mostly interested about,according to: + // https://github.com/torvalds/linux/blob/d2f51b3516dade79269ff45eae2a7668ae711b25/arch/x86/include/asm/hyperv-tlfs.h#L169-L174 + _, ebx, _, _ := cpuid(0x4000000C) + fs.setIf(ebx == 0xbe3, TDX_GUEST) + } + + if mfi >= 0x21 { + // Intel Trusted Domain Extensions Guests have their own cpuid leaf (0x21). + _, ebx, ecx, edx := cpuid(0x21) + identity := string(valAsString(ebx, edx, ecx)) + fs.setIf(identity == "IntelTDX ", TDX_GUEST) + } + return fs } +func (c *CPUInfo) supportAVX10() uint8 { + if c.maxFunc >= 0x24 && c.featureSet.inSet(AVX10) { + _, ebx, _, _ := cpuidex(0x24, 0) + return uint8(ebx) + } + return 0 +} + func valAsString(values ...uint32) []byte { r := make([]byte, 4*len(values)) for i, v := range values { diff --git a/vendor/github.com/klauspost/cpuid/v2/detect_x86.go b/vendor/github.com/klauspost/cpuid/v2/detect_x86.go index c946824..799b400 100644 --- a/vendor/github.com/klauspost/cpuid/v2/detect_x86.go +++ b/vendor/github.com/klauspost/cpuid/v2/detect_x86.go @@ -27,10 +27,12 @@ func addInfo(c *CPUInfo, safe bool) { c.Family, c.Model, c.Stepping = familyModel() c.featureSet = support() c.SGX = hasSGX(c.featureSet.inSet(SGX), c.featureSet.inSet(SGXLC)) + c.AMDMemEncryption = hasAMDMemEncryption(c.featureSet.inSet(SME) || c.featureSet.inSet(SEV)) c.ThreadsPerCore = threadsPerCore() c.LogicalCores = logicalCores() c.PhysicalCores = physicalCores() c.VendorID, c.VendorString = vendorID() + c.AVX10Level = c.supportAVX10() c.cacheSize() c.frequencies() } diff --git a/vendor/github.com/klauspost/cpuid/v2/featureid_string.go b/vendor/github.com/klauspost/cpuid/v2/featureid_string.go index 2a27f44..57a085a 100644 --- a/vendor/github.com/klauspost/cpuid/v2/featureid_string.go +++ b/vendor/github.com/klauspost/cpuid/v2/featureid_string.go @@ -16,209 +16,222 @@ func _() { _ = x[AMXFP16-6] _ = x[AMXINT8-7] _ = x[AMXTILE-8] - _ = x[AVX-9] - _ = x[AVX2-10] - _ = x[AVX512BF16-11] - _ = x[AVX512BITALG-12] - _ = x[AVX512BW-13] - _ = x[AVX512CD-14] - _ = x[AVX512DQ-15] - _ = x[AVX512ER-16] - _ = x[AVX512F-17] - _ = x[AVX512FP16-18] - _ = x[AVX512IFMA-19] - _ = x[AVX512PF-20] - _ = x[AVX512VBMI-21] - _ = x[AVX512VBMI2-22] - _ = x[AVX512VL-23] - _ = x[AVX512VNNI-24] - _ = x[AVX512VP2INTERSECT-25] - _ = x[AVX512VPOPCNTDQ-26] - _ = x[AVXIFMA-27] - _ = x[AVXNECONVERT-28] - _ = x[AVXSLOW-29] - _ = x[AVXVNNI-30] - _ = x[AVXVNNIINT8-31] - _ = x[BHI_CTRL-32] - _ = x[BMI1-33] - _ = x[BMI2-34] - _ = x[CETIBT-35] - _ = x[CETSS-36] - _ = x[CLDEMOTE-37] - _ = x[CLMUL-38] - _ = x[CLZERO-39] - _ = x[CMOV-40] - _ = x[CMPCCXADD-41] - _ = x[CMPSB_SCADBS_SHORT-42] - _ = x[CMPXCHG8-43] - _ = x[CPBOOST-44] - _ = x[CPPC-45] - _ = x[CX16-46] - _ = x[EFER_LMSLE_UNS-47] - _ = x[ENQCMD-48] - _ = x[ERMS-49] - _ = x[F16C-50] - _ = x[FLUSH_L1D-51] - _ = x[FMA3-52] - _ = x[FMA4-53] - _ = x[FP128-54] - _ = x[FP256-55] - _ = x[FSRM-56] - _ = x[FXSR-57] - _ = x[FXSROPT-58] - _ = x[GFNI-59] - _ = x[HLE-60] - _ = x[HRESET-61] - _ = x[HTT-62] - _ = x[HWA-63] - _ = x[HYBRID_CPU-64] - _ = x[HYPERVISOR-65] - _ = x[IA32_ARCH_CAP-66] - _ = x[IA32_CORE_CAP-67] - _ = x[IBPB-68] - _ = x[IBRS-69] - _ = x[IBRS_PREFERRED-70] - _ = x[IBRS_PROVIDES_SMP-71] - _ = x[IBS-72] - _ = x[IBSBRNTRGT-73] - _ = x[IBSFETCHSAM-74] - _ = x[IBSFFV-75] - _ = x[IBSOPCNT-76] - _ = x[IBSOPCNTEXT-77] - _ = x[IBSOPSAM-78] - _ = x[IBSRDWROPCNT-79] - _ = x[IBSRIPINVALIDCHK-80] - _ = x[IBS_FETCH_CTLX-81] - _ = x[IBS_OPDATA4-82] - _ = x[IBS_OPFUSE-83] - _ = x[IBS_PREVENTHOST-84] - _ = x[IBS_ZEN4-85] - _ = x[IDPRED_CTRL-86] - _ = x[INT_WBINVD-87] - _ = x[INVLPGB-88] - _ = x[LAHF-89] - _ = x[LAM-90] - _ = x[LBRVIRT-91] - _ = x[LZCNT-92] - _ = x[MCAOVERFLOW-93] - _ = x[MCDT_NO-94] - _ = x[MCOMMIT-95] - _ = x[MD_CLEAR-96] - _ = x[MMX-97] - _ = x[MMXEXT-98] - _ = x[MOVBE-99] - _ = x[MOVDIR64B-100] - _ = x[MOVDIRI-101] - _ = x[MOVSB_ZL-102] - _ = x[MOVU-103] - _ = x[MPX-104] - _ = x[MSRIRC-105] - _ = x[MSRLIST-106] - _ = x[MSR_PAGEFLUSH-107] - _ = x[NRIPS-108] - _ = x[NX-109] - _ = x[OSXSAVE-110] - _ = x[PCONFIG-111] - _ = x[POPCNT-112] - _ = x[PPIN-113] - _ = x[PREFETCHI-114] - _ = x[PSFD-115] - _ = x[RDPRU-116] - _ = x[RDRAND-117] - _ = x[RDSEED-118] - _ = x[RDTSCP-119] - _ = x[RRSBA_CTRL-120] - _ = x[RTM-121] - _ = x[RTM_ALWAYS_ABORT-122] - _ = x[SERIALIZE-123] - _ = x[SEV-124] - _ = x[SEV_64BIT-125] - _ = x[SEV_ALTERNATIVE-126] - _ = x[SEV_DEBUGSWAP-127] - _ = x[SEV_ES-128] - _ = x[SEV_RESTRICTED-129] - _ = x[SEV_SNP-130] - _ = x[SGX-131] - _ = x[SGXLC-132] - _ = x[SHA-133] - _ = x[SME-134] - _ = x[SME_COHERENT-135] - _ = x[SPEC_CTRL_SSBD-136] - _ = x[SRBDS_CTRL-137] - _ = x[SSE-138] - _ = x[SSE2-139] - _ = x[SSE3-140] - _ = x[SSE4-141] - _ = x[SSE42-142] - _ = x[SSE4A-143] - _ = x[SSSE3-144] - _ = x[STIBP-145] - _ = x[STIBP_ALWAYSON-146] - _ = x[STOSB_SHORT-147] - _ = x[SUCCOR-148] - _ = x[SVM-149] - _ = x[SVMDA-150] - _ = x[SVMFBASID-151] - _ = x[SVML-152] - _ = x[SVMNP-153] - _ = x[SVMPF-154] - _ = x[SVMPFT-155] - _ = x[SYSCALL-156] - _ = x[SYSEE-157] - _ = x[TBM-158] - _ = x[TLB_FLUSH_NESTED-159] - _ = x[TME-160] - _ = x[TOPEXT-161] - _ = x[TSCRATEMSR-162] - _ = x[TSXLDTRK-163] - _ = x[VAES-164] - _ = x[VMCBCLEAN-165] - _ = x[VMPL-166] - _ = x[VMSA_REGPROT-167] - _ = x[VMX-168] - _ = x[VPCLMULQDQ-169] - _ = x[VTE-170] - _ = x[WAITPKG-171] - _ = x[WBNOINVD-172] - _ = x[WRMSRNS-173] - _ = x[X87-174] - _ = x[XGETBV1-175] - _ = x[XOP-176] - _ = x[XSAVE-177] - _ = x[XSAVEC-178] - _ = x[XSAVEOPT-179] - _ = x[XSAVES-180] - _ = x[AESARM-181] - _ = x[ARMCPUID-182] - _ = x[ASIMD-183] - _ = x[ASIMDDP-184] - _ = x[ASIMDHP-185] - _ = x[ASIMDRDM-186] - _ = x[ATOMICS-187] - _ = x[CRC32-188] - _ = x[DCPOP-189] - _ = x[EVTSTRM-190] - _ = x[FCMA-191] - _ = x[FP-192] - _ = x[FPHP-193] - _ = x[GPA-194] - _ = x[JSCVT-195] - _ = x[LRCPC-196] - _ = x[PMULL-197] - _ = x[SHA1-198] - _ = x[SHA2-199] - _ = x[SHA3-200] - _ = x[SHA512-201] - _ = x[SM3-202] - _ = x[SM4-203] - _ = x[SVE-204] - _ = x[lastID-205] + _ = x[APX_F-9] + _ = x[AVX-10] + _ = x[AVX10-11] + _ = x[AVX10_128-12] + _ = x[AVX10_256-13] + _ = x[AVX10_512-14] + _ = x[AVX2-15] + _ = x[AVX512BF16-16] + _ = x[AVX512BITALG-17] + _ = x[AVX512BW-18] + _ = x[AVX512CD-19] + _ = x[AVX512DQ-20] + _ = x[AVX512ER-21] + _ = x[AVX512F-22] + _ = x[AVX512FP16-23] + _ = x[AVX512IFMA-24] + _ = x[AVX512PF-25] + _ = x[AVX512VBMI-26] + _ = x[AVX512VBMI2-27] + _ = x[AVX512VL-28] + _ = x[AVX512VNNI-29] + _ = x[AVX512VP2INTERSECT-30] + _ = x[AVX512VPOPCNTDQ-31] + _ = x[AVXIFMA-32] + _ = x[AVXNECONVERT-33] + _ = x[AVXSLOW-34] + _ = x[AVXVNNI-35] + _ = x[AVXVNNIINT8-36] + _ = x[BHI_CTRL-37] + _ = x[BMI1-38] + _ = x[BMI2-39] + _ = x[CETIBT-40] + _ = x[CETSS-41] + _ = x[CLDEMOTE-42] + _ = x[CLMUL-43] + _ = x[CLZERO-44] + _ = x[CMOV-45] + _ = x[CMPCCXADD-46] + _ = x[CMPSB_SCADBS_SHORT-47] + _ = x[CMPXCHG8-48] + _ = x[CPBOOST-49] + _ = x[CPPC-50] + _ = x[CX16-51] + _ = x[EFER_LMSLE_UNS-52] + _ = x[ENQCMD-53] + _ = x[ERMS-54] + _ = x[F16C-55] + _ = x[FLUSH_L1D-56] + _ = x[FMA3-57] + _ = x[FMA4-58] + _ = x[FP128-59] + _ = x[FP256-60] + _ = x[FSRM-61] + _ = x[FXSR-62] + _ = x[FXSROPT-63] + _ = x[GFNI-64] + _ = x[HLE-65] + _ = x[HRESET-66] + _ = x[HTT-67] + _ = x[HWA-68] + _ = x[HYBRID_CPU-69] + _ = x[HYPERVISOR-70] + _ = x[IA32_ARCH_CAP-71] + _ = x[IA32_CORE_CAP-72] + _ = x[IBPB-73] + _ = x[IBPB_BRTYPE-74] + _ = x[IBRS-75] + _ = x[IBRS_PREFERRED-76] + _ = x[IBRS_PROVIDES_SMP-77] + _ = x[IBS-78] + _ = x[IBSBRNTRGT-79] + _ = x[IBSFETCHSAM-80] + _ = x[IBSFFV-81] + _ = x[IBSOPCNT-82] + _ = x[IBSOPCNTEXT-83] + _ = x[IBSOPSAM-84] + _ = x[IBSRDWROPCNT-85] + _ = x[IBSRIPINVALIDCHK-86] + _ = x[IBS_FETCH_CTLX-87] + _ = x[IBS_OPDATA4-88] + _ = x[IBS_OPFUSE-89] + _ = x[IBS_PREVENTHOST-90] + _ = x[IBS_ZEN4-91] + _ = x[IDPRED_CTRL-92] + _ = x[INT_WBINVD-93] + _ = x[INVLPGB-94] + _ = x[KEYLOCKER-95] + _ = x[KEYLOCKERW-96] + _ = x[LAHF-97] + _ = x[LAM-98] + _ = x[LBRVIRT-99] + _ = x[LZCNT-100] + _ = x[MCAOVERFLOW-101] + _ = x[MCDT_NO-102] + _ = x[MCOMMIT-103] + _ = x[MD_CLEAR-104] + _ = x[MMX-105] + _ = x[MMXEXT-106] + _ = x[MOVBE-107] + _ = x[MOVDIR64B-108] + _ = x[MOVDIRI-109] + _ = x[MOVSB_ZL-110] + _ = x[MOVU-111] + _ = x[MPX-112] + _ = x[MSRIRC-113] + _ = x[MSRLIST-114] + _ = x[MSR_PAGEFLUSH-115] + _ = x[NRIPS-116] + _ = x[NX-117] + _ = x[OSXSAVE-118] + _ = x[PCONFIG-119] + _ = x[POPCNT-120] + _ = x[PPIN-121] + _ = x[PREFETCHI-122] + _ = x[PSFD-123] + _ = x[RDPRU-124] + _ = x[RDRAND-125] + _ = x[RDSEED-126] + _ = x[RDTSCP-127] + _ = x[RRSBA_CTRL-128] + _ = x[RTM-129] + _ = x[RTM_ALWAYS_ABORT-130] + _ = x[SBPB-131] + _ = x[SERIALIZE-132] + _ = x[SEV-133] + _ = x[SEV_64BIT-134] + _ = x[SEV_ALTERNATIVE-135] + _ = x[SEV_DEBUGSWAP-136] + _ = x[SEV_ES-137] + _ = x[SEV_RESTRICTED-138] + _ = x[SEV_SNP-139] + _ = x[SGX-140] + _ = x[SGXLC-141] + _ = x[SHA-142] + _ = x[SME-143] + _ = x[SME_COHERENT-144] + _ = x[SPEC_CTRL_SSBD-145] + _ = x[SRBDS_CTRL-146] + _ = x[SRSO_MSR_FIX-147] + _ = x[SRSO_NO-148] + _ = x[SRSO_USER_KERNEL_NO-149] + _ = x[SSE-150] + _ = x[SSE2-151] + _ = x[SSE3-152] + _ = x[SSE4-153] + _ = x[SSE42-154] + _ = x[SSE4A-155] + _ = x[SSSE3-156] + _ = x[STIBP-157] + _ = x[STIBP_ALWAYSON-158] + _ = x[STOSB_SHORT-159] + _ = x[SUCCOR-160] + _ = x[SVM-161] + _ = x[SVMDA-162] + _ = x[SVMFBASID-163] + _ = x[SVML-164] + _ = x[SVMNP-165] + _ = x[SVMPF-166] + _ = x[SVMPFT-167] + _ = x[SYSCALL-168] + _ = x[SYSEE-169] + _ = x[TBM-170] + _ = x[TDX_GUEST-171] + _ = x[TLB_FLUSH_NESTED-172] + _ = x[TME-173] + _ = x[TOPEXT-174] + _ = x[TSCRATEMSR-175] + _ = x[TSXLDTRK-176] + _ = x[VAES-177] + _ = x[VMCBCLEAN-178] + _ = x[VMPL-179] + _ = x[VMSA_REGPROT-180] + _ = x[VMX-181] + _ = x[VPCLMULQDQ-182] + _ = x[VTE-183] + _ = x[WAITPKG-184] + _ = x[WBNOINVD-185] + _ = x[WRMSRNS-186] + _ = x[X87-187] + _ = x[XGETBV1-188] + _ = x[XOP-189] + _ = x[XSAVE-190] + _ = x[XSAVEC-191] + _ = x[XSAVEOPT-192] + _ = x[XSAVES-193] + _ = x[AESARM-194] + _ = x[ARMCPUID-195] + _ = x[ASIMD-196] + _ = x[ASIMDDP-197] + _ = x[ASIMDHP-198] + _ = x[ASIMDRDM-199] + _ = x[ATOMICS-200] + _ = x[CRC32-201] + _ = x[DCPOP-202] + _ = x[EVTSTRM-203] + _ = x[FCMA-204] + _ = x[FP-205] + _ = x[FPHP-206] + _ = x[GPA-207] + _ = x[JSCVT-208] + _ = x[LRCPC-209] + _ = x[PMULL-210] + _ = x[SHA1-211] + _ = x[SHA2-212] + _ = x[SHA3-213] + _ = x[SHA512-214] + _ = x[SM3-215] + _ = x[SM4-216] + _ = x[SVE-217] + _ = x[lastID-218] _ = x[firstID-0] } -const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXFP16AMXINT8AMXTILEAVXAVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXIFMAAVXNECONVERTAVXSLOWAVXVNNIAVXVNNIINT8BHI_CTRLBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPCCXADDCMPSB_SCADBS_SHORTCMPXCHG8CPBOOSTCPPCCX16EFER_LMSLE_UNSENQCMDERMSF16CFLUSH_L1DFMA3FMA4FP128FP256FSRMFXSRFXSROPTGFNIHLEHRESETHTTHWAHYBRID_CPUHYPERVISORIA32_ARCH_CAPIA32_CORE_CAPIBPBIBRSIBRS_PREFERREDIBRS_PROVIDES_SMPIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKIBS_FETCH_CTLXIBS_OPDATA4IBS_OPFUSEIBS_PREVENTHOSTIBS_ZEN4IDPRED_CTRLINT_WBINVDINVLPGBLAHFLAMLBRVIRTLZCNTMCAOVERFLOWMCDT_NOMCOMMITMD_CLEARMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMOVSB_ZLMOVUMPXMSRIRCMSRLISTMSR_PAGEFLUSHNRIPSNXOSXSAVEPCONFIGPOPCNTPPINPREFETCHIPSFDRDPRURDRANDRDSEEDRDTSCPRRSBA_CTRLRTMRTM_ALWAYS_ABORTSERIALIZESEVSEV_64BITSEV_ALTERNATIVESEV_DEBUGSWAPSEV_ESSEV_RESTRICTEDSEV_SNPSGXSGXLCSHASMESME_COHERENTSPEC_CTRL_SSBDSRBDS_CTRLSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSTIBP_ALWAYSONSTOSB_SHORTSUCCORSVMSVMDASVMFBASIDSVMLSVMNPSVMPFSVMPFTSYSCALLSYSEETBMTLB_FLUSH_NESTEDTMETOPEXTTSCRATEMSRTSXLDTRKVAESVMCBCLEANVMPLVMSA_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDWRMSRNSX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFPFPHPGPAJSCVTLRCPCPMULLSHA1SHA2SHA3SHA512SM3SM4SVElastID" +const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXFP16AMXINT8AMXTILEAPX_FAVXAVX10AVX10_128AVX10_256AVX10_512AVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXIFMAAVXNECONVERTAVXSLOWAVXVNNIAVXVNNIINT8BHI_CTRLBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPCCXADDCMPSB_SCADBS_SHORTCMPXCHG8CPBOOSTCPPCCX16EFER_LMSLE_UNSENQCMDERMSF16CFLUSH_L1DFMA3FMA4FP128FP256FSRMFXSRFXSROPTGFNIHLEHRESETHTTHWAHYBRID_CPUHYPERVISORIA32_ARCH_CAPIA32_CORE_CAPIBPBIBPB_BRTYPEIBRSIBRS_PREFERREDIBRS_PROVIDES_SMPIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKIBS_FETCH_CTLXIBS_OPDATA4IBS_OPFUSEIBS_PREVENTHOSTIBS_ZEN4IDPRED_CTRLINT_WBINVDINVLPGBKEYLOCKERKEYLOCKERWLAHFLAMLBRVIRTLZCNTMCAOVERFLOWMCDT_NOMCOMMITMD_CLEARMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMOVSB_ZLMOVUMPXMSRIRCMSRLISTMSR_PAGEFLUSHNRIPSNXOSXSAVEPCONFIGPOPCNTPPINPREFETCHIPSFDRDPRURDRANDRDSEEDRDTSCPRRSBA_CTRLRTMRTM_ALWAYS_ABORTSBPBSERIALIZESEVSEV_64BITSEV_ALTERNATIVESEV_DEBUGSWAPSEV_ESSEV_RESTRICTEDSEV_SNPSGXSGXLCSHASMESME_COHERENTSPEC_CTRL_SSBDSRBDS_CTRLSRSO_MSR_FIXSRSO_NOSRSO_USER_KERNEL_NOSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSTIBP_ALWAYSONSTOSB_SHORTSUCCORSVMSVMDASVMFBASIDSVMLSVMNPSVMPFSVMPFTSYSCALLSYSEETBMTDX_GUESTTLB_FLUSH_NESTEDTMETOPEXTTSCRATEMSRTSXLDTRKVAESVMCBCLEANVMPLVMSA_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDWRMSRNSX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFPFPHPGPAJSCVTLRCPCPMULLSHA1SHA2SHA3SHA512SM3SM4SVElastID" -var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 62, 65, 69, 79, 91, 99, 107, 115, 123, 130, 140, 150, 158, 168, 179, 187, 197, 215, 230, 237, 249, 256, 263, 274, 282, 286, 290, 296, 301, 309, 314, 320, 324, 333, 351, 359, 366, 370, 374, 388, 394, 398, 402, 411, 415, 419, 424, 429, 433, 437, 444, 448, 451, 457, 460, 463, 473, 483, 496, 509, 513, 517, 531, 548, 551, 561, 572, 578, 586, 597, 605, 617, 633, 647, 658, 668, 683, 691, 702, 712, 719, 723, 726, 733, 738, 749, 756, 763, 771, 774, 780, 785, 794, 801, 809, 813, 816, 822, 829, 842, 847, 849, 856, 863, 869, 873, 882, 886, 891, 897, 903, 909, 919, 922, 938, 947, 950, 959, 974, 987, 993, 1007, 1014, 1017, 1022, 1025, 1028, 1040, 1054, 1064, 1067, 1071, 1075, 1079, 1084, 1089, 1094, 1099, 1113, 1124, 1130, 1133, 1138, 1147, 1151, 1156, 1161, 1167, 1174, 1179, 1182, 1198, 1201, 1207, 1217, 1225, 1229, 1238, 1242, 1254, 1257, 1267, 1270, 1277, 1285, 1292, 1295, 1302, 1305, 1310, 1316, 1324, 1330, 1336, 1344, 1349, 1356, 1363, 1371, 1378, 1383, 1388, 1395, 1399, 1401, 1405, 1408, 1413, 1418, 1423, 1427, 1431, 1435, 1441, 1444, 1447, 1450, 1456} +var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 62, 67, 70, 75, 84, 93, 102, 106, 116, 128, 136, 144, 152, 160, 167, 177, 187, 195, 205, 216, 224, 234, 252, 267, 274, 286, 293, 300, 311, 319, 323, 327, 333, 338, 346, 351, 357, 361, 370, 388, 396, 403, 407, 411, 425, 431, 435, 439, 448, 452, 456, 461, 466, 470, 474, 481, 485, 488, 494, 497, 500, 510, 520, 533, 546, 550, 561, 565, 579, 596, 599, 609, 620, 626, 634, 645, 653, 665, 681, 695, 706, 716, 731, 739, 750, 760, 767, 776, 786, 790, 793, 800, 805, 816, 823, 830, 838, 841, 847, 852, 861, 868, 876, 880, 883, 889, 896, 909, 914, 916, 923, 930, 936, 940, 949, 953, 958, 964, 970, 976, 986, 989, 1005, 1009, 1018, 1021, 1030, 1045, 1058, 1064, 1078, 1085, 1088, 1093, 1096, 1099, 1111, 1125, 1135, 1147, 1154, 1173, 1176, 1180, 1184, 1188, 1193, 1198, 1203, 1208, 1222, 1233, 1239, 1242, 1247, 1256, 1260, 1265, 1270, 1276, 1283, 1288, 1291, 1300, 1316, 1319, 1325, 1335, 1343, 1347, 1356, 1360, 1372, 1375, 1385, 1388, 1395, 1403, 1410, 1413, 1420, 1423, 1428, 1434, 1442, 1448, 1454, 1462, 1467, 1474, 1481, 1489, 1496, 1501, 1506, 1513, 1517, 1519, 1523, 1526, 1531, 1536, 1541, 1545, 1549, 1553, 1559, 1562, 1565, 1568, 1574} func (i FeatureID) String() string { if i < 0 || i >= FeatureID(len(_FeatureID_index)-1) { diff --git a/vendor/github.com/leodido/go-urn/.gitignore b/vendor/github.com/leodido/go-urn/.gitignore index 89d4bc5..427454f 100644 --- a/vendor/github.com/leodido/go-urn/.gitignore +++ b/vendor/github.com/leodido/go-urn/.gitignore @@ -9,4 +9,5 @@ *.txt vendor/ -/removecomments \ No newline at end of file +/removecomments +/snake2camel \ No newline at end of file diff --git a/vendor/github.com/leodido/go-urn/README.md b/vendor/github.com/leodido/go-urn/README.md index 731eecb..619475b 100644 --- a/vendor/github.com/leodido/go-urn/README.md +++ b/vendor/github.com/leodido/go-urn/README.md @@ -2,21 +2,34 @@ **A parser for URNs**. -> As seen on [RFC 2141](https://tools.ietf.org/html/rfc2141#ref-1). +> As seen on [RFC 2141](https://datatracker.ietf.org/doc/html/rfc2141), [RFC 7643](https://datatracker.ietf.org/doc/html/rfc7643#section-10), and on [RFC 8141](https://datatracker.ietf.org/doc/html/rfc8141). [API documentation](https://godoc.org/github.com/leodido/go-urn). +Starting with version 1.3 this library also supports [RFC 7643 SCIM URNs](https://datatracker.ietf.org/doc/html/rfc7643#section-10). + +Starting with version 1.4 this library also supports [RFC 8141 URNs (2017)](https://datatracker.ietf.org/doc/html/rfc8141). + ## Installation ``` go get github.com/leodido/go-urn ``` +## Features + +1. RFC 2141 URNs parsing (default) +2. RFC 8141 URNs parsing (supersedes RFC 2141) +3. RFC 7643 SCIM URNs parsing +4. Normalization as per RFCs +5. Lexical equivalence as per RFCs +6. Precise, fine-grained errors + ## Performances This implementation results to be really fast. -Usually below ½ microsecond on my machine[1](#mymachine). +Usually below 400 ns on my machine[1](#mymachine). Notice it also performs, while parsing: @@ -24,35 +37,64 @@ Notice it also performs, while parsing: 2. specific-string normalization ``` -ok/00/urn:a:b______________________________________/-4 20000000 265 ns/op 182 B/op 6 allocs/op -ok/01/URN:foo:a123,456_____________________________/-4 30000000 296 ns/op 200 B/op 6 allocs/op -ok/02/urn:foo:a123%2c456___________________________/-4 20000000 331 ns/op 208 B/op 6 allocs/op -ok/03/urn:ietf:params:scim:schemas:core:2.0:User___/-4 20000000 430 ns/op 280 B/op 6 allocs/op -ok/04/urn:ietf:params:scim:schemas:extension:enterp/-4 20000000 411 ns/op 312 B/op 6 allocs/op -ok/05/urn:ietf:params:scim:schemas:extension:enterp/-4 20000000 472 ns/op 344 B/op 6 allocs/op -ok/06/urn:burnout:nss______________________________/-4 30000000 257 ns/op 192 B/op 6 allocs/op -ok/07/urn:abcdefghilmnopqrstuvzabcdefghilm:x_______/-4 20000000 375 ns/op 213 B/op 6 allocs/op -ok/08/urn:urnurnurn:urn____________________________/-4 30000000 265 ns/op 197 B/op 6 allocs/op -ok/09/urn:ciao:@!=%2c(xyz)+a,b.*@g=$_'_____________/-4 20000000 307 ns/op 248 B/op 6 allocs/op -ok/10/URN:x:abc%1dz%2f%3az_________________________/-4 30000000 259 ns/op 212 B/op 6 allocs/op -no/11/URN:-xxx:x___________________________________/-4 20000000 445 ns/op 320 B/op 6 allocs/op -no/12/urn::colon:nss_______________________________/-4 20000000 461 ns/op 320 B/op 6 allocs/op -no/13/urn:abcdefghilmnopqrstuvzabcdefghilmn:specifi/-4 10000000 660 ns/op 320 B/op 6 allocs/op -no/14/URN:a!?:x____________________________________/-4 20000000 507 ns/op 320 B/op 6 allocs/op -no/15/urn:urn:NSS__________________________________/-4 20000000 429 ns/op 288 B/op 6 allocs/op -no/16/urn:white_space:NSS__________________________/-4 20000000 482 ns/op 320 B/op 6 allocs/op -no/17/urn:concat:no_spaces_________________________/-4 20000000 539 ns/op 328 B/op 7 allocs/op -no/18/urn:a:/______________________________________/-4 20000000 470 ns/op 320 B/op 7 allocs/op -no/19/urn:UrN:NSS__________________________________/-4 20000000 399 ns/op 288 B/op 6 allocs/op +ok/00/urn:a:b______________________________________/-10 51372006 109.0 ns/op 275 B/op 3 allocs/op +ok/01/URN:foo:a123,456_____________________________/-10 36024072 160.8 ns/op 296 B/op 6 allocs/op +ok/02/urn:foo:a123%2C456___________________________/-10 31901007 188.4 ns/op 320 B/op 7 allocs/op +ok/03/urn:ietf:params:scim:schemas:core:2.0:User___/-10 22736756 266.6 ns/op 376 B/op 6 allocs/op +ok/04/urn:ietf:params:scim:schemas:extension:enterp/-10 18291859 335.2 ns/op 408 B/op 6 allocs/op +ok/05/urn:ietf:params:scim:schemas:extension:enterp/-10 15283087 379.4 ns/op 440 B/op 6 allocs/op +ok/06/urn:burnout:nss______________________________/-10 39407593 155.1 ns/op 288 B/op 6 allocs/op +ok/07/urn:abcdefghilmnopqrstuvzabcdefghilm:x_______/-10 27832718 211.4 ns/op 307 B/op 4 allocs/op +ok/08/urn:urnurnurn:urn____________________________/-10 33269596 168.1 ns/op 293 B/op 6 allocs/op +ok/09/urn:ciao:!!*_________________________________/-10 41100675 148.8 ns/op 288 B/op 6 allocs/op +ok/10/urn:ciao:=@__________________________________/-10 37214253 149.7 ns/op 284 B/op 6 allocs/op +ok/11/urn:ciao:@!=%2C(xyz)+a,b.*@g=$_'_____________/-10 26534240 229.8 ns/op 336 B/op 7 allocs/op +ok/12/URN:x:abc%1Dz%2F%3az_________________________/-10 28166396 211.8 ns/op 336 B/op 7 allocs/op +no/13/URN:---xxx:x_________________________________/-10 23635159 255.6 ns/op 419 B/op 5 allocs/op +no/14/urn::colon:nss_______________________________/-10 23594779 258.4 ns/op 419 B/op 5 allocs/op +no/15/URN:@,:x_____________________________________/-10 23742535 261.5 ns/op 419 B/op 5 allocs/op +no/16/URN:URN:NSS__________________________________/-10 27432714 223.3 ns/op 371 B/op 5 allocs/op +no/17/urn:UrN:NSS__________________________________/-10 26922117 224.9 ns/op 371 B/op 5 allocs/op +no/18/urn:a:%______________________________________/-10 24926733 224.6 ns/op 371 B/op 5 allocs/op +no/19/urn:urn:NSS__________________________________/-10 27652641 220.7 ns/op 371 B/op 5 allocs/op ``` ---- - -* [1]: Intel Core i7-7600U CPU @ 2.80GHz +* [1]: Apple M1 Pro ---- ## Example + +For more examples take a look at the [examples file](examples_test.go). + + +```go +package main + +import ( + "fmt" + "github.com/leodido/go-urn" +) + +func main() { + var uid = "URN:foo:a123,456" + + // Parse the input string as a RFC 2141 URN only + u, e := urn.NewMachine().Parse(uid) + if e != nil { + fmt.Errorf(err) + + return + } + + fmt.Println(u.ID) + fmt.Println(u.SS) + + // Output: + // foo + // a123,456 +} +``` + ```go package main @@ -64,6 +106,7 @@ import ( func main() { var uid = "URN:foo:a123,456" + // Parse the input string as a RFC 2141 URN only u, ok := urn.Parse([]byte(uid)) if !ok { panic("error parsing urn") @@ -78,4 +121,33 @@ func main() { } ``` -[![Analytics](https://ga-beacon.appspot.com/UA-49657176-1/go-urn?flat)](https://github.com/igrigorik/ga-beacon) \ No newline at end of file +```go +package main + +import ( + "fmt" + "github.com/leodido/go-urn" +) + +func main() { + input := "urn:ietf:params:scim:api:messages:2.0:ListResponse" + + // Parsing the input string as a RFC 7643 SCIM URN + u, ok := urn.Parse([]byte(input), urn.WithParsingMode(urn.RFC7643Only)) + if !ok { + panic("error parsing urn") + } + + fmt.Println(u.IsSCIM()) + scim := u.SCIM() + fmt.Println(scim.Type.String()) + fmt.Println(scim.Name) + fmt.Println(scim.Other) + + // Output: + // true + // api + // messages + // 2.0:ListResponse +} +``` \ No newline at end of file diff --git a/vendor/github.com/leodido/go-urn/kind.go b/vendor/github.com/leodido/go-urn/kind.go new file mode 100644 index 0000000..f5e140f --- /dev/null +++ b/vendor/github.com/leodido/go-urn/kind.go @@ -0,0 +1,10 @@ +package urn + +type Kind int + +const ( + NONE Kind = iota + RFC2141 + RFC7643 + RFC8141 +) diff --git a/vendor/github.com/leodido/go-urn/machine.go b/vendor/github.com/leodido/go-urn/machine.go index f8d57b4..aec1ba6 100644 --- a/vendor/github.com/leodido/go-urn/machine.go +++ b/vendor/github.com/leodido/go-urn/machine.go @@ -2,27 +2,98 @@ package urn import ( "fmt" + + scimschema "github.com/leodido/go-urn/scim/schema" ) var ( - errPrefix = "expecting the prefix to be the \"urn\" string (whatever case) [col %d]" - errIdentifier = "expecting the identifier to be string (1..31 alnum chars, also containing dashes but not at its start) [col %d]" - errSpecificString = "expecting the specific string to be a string containing alnum, hex, or others ([()+,-.:=@;$_!*']) chars [col %d]" - errNoUrnWithinID = "expecting the identifier to not contain the \"urn\" reserved string [col %d]" - errHex = "expecting the specific string hex chars to be well-formed (%%alnum{2}) [col %d]" - errParse = "parsing error [col %d]" + errPrefix = "expecting the prefix to be the \"urn\" string (whatever case) [col %d]" + errIdentifier = "expecting the identifier to be string (1..31 alnum chars, also containing dashes but not at its beginning) [col %d]" + errSpecificString = "expecting the specific string to be a string containing alnum, hex, or others ([()+,-.:=@;$_!*']) chars [col %d]" + errNoUrnWithinID = "expecting the identifier to not contain the \"urn\" reserved string [col %d]" + errHex = "expecting the percent encoded chars to be well-formed (%%alnum{2}) [col %d]" + errSCIMNamespace = "expecing the SCIM namespace identifier (ietf:params:scim) [col %d]" + errSCIMType = "expecting a correct SCIM type (schemas, api, param) [col %d]" + errSCIMName = "expecting one or more alnum char in the SCIM name part [col %d]" + errSCIMOther = "expecting a well-formed other SCIM part [col %d]" + errSCIMOtherIncomplete = "expecting a not empty SCIM other part after colon [col %d]" + err8141InformalID = "informal URN namespace must be in the form urn-[1-9][0-9] [col %d]" + err8141SpecificString = "expecting the specific string to contain alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] not in first position) chars [col %d]" + err8141Identifier = "expecting the indentifier to be a string with (length 2 to 32 chars) containing alnum (or dashes) not starting or ending with a dash [col %d]" + err8141RComponentStart = "expecting only one r-component (starting with the ?+ sequence) [col %d]" + err8141QComponentStart = "expecting only one q-component (starting with the ?= sequence) [col %d]" + err8141MalformedRComp = "expecting a non-empty r-component containing alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] but not at its beginning) [col %d]" + err8141MalformedQComp = "expecting a non-empty q-component containing alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] but not at its beginning) [col %d]" ) +var _toStateActions []byte = []byte{ + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 33, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, +} + +var _eofActions []byte = []byte{ + 0, 1, 1, 1, 1, 4, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 8, 9, + 9, 4, 4, 11, 1, 1, 1, 1, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 14, 14, 14, 14, 16, 18, 20, + 20, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 1, 1, 1, 1, 21, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 23, 24, 24, 25, 25, 0, 26, 28, + 28, 29, 29, 30, 30, 26, 26, 31, + 31, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 21, + 21, 22, 22, 22, 34, 34, 35, 37, + 37, 38, 40, 41, 41, 38, 42, 42, + 42, 44, 42, 48, 48, 48, 50, 44, + 50, 0, +} const start int = 1 -const firstFinal int = 44 +const firstFinal int = 172 -const enFail int = 46 +const enScimOnly int = 44 +const enRfc8141Only int = 83 +const enFail int = 193 const enMain int = 1 // Machine is the interface representing the FSM type Machine interface { Error() error Parse(input []byte) (*URN, error) + WithParsingMode(ParsingMode) } type machine struct { @@ -30,12 +101,24 @@ type machine struct { cs int p, pe, eof, pb int err error - tolower []int + startParsingAt int + parsingMode ParsingMode + parsingModeSet bool } // NewMachine creates a new FSM able to parse RFC 2141 strings. -func NewMachine() Machine { - m := &machine{} +func NewMachine(options ...Option) Machine { + m := &machine{ + parsingModeSet: false, + } + + for _, o := range options { + o(m) + } + // Set default parsing mode + if !m.parsingModeSet { + m.WithParsingMode(DefaultParsingMode) + } return m } @@ -51,7 +134,7 @@ func (m *machine) text() []byte { return m.data[m.pb:m.p] } -// Parse parses the input byte array as a RFC 2141 string. +// Parse parses the input byte array as a RFC 2141 or RFC7643 string. func (m *machine) Parse(input []byte) (*URN, error) { m.data = input m.p = 0 @@ -59,1619 +142,4881 @@ func (m *machine) Parse(input []byte) (*URN, error) { m.pe = len(input) m.eof = len(input) m.err = nil - m.tolower = []int{} - output := &URN{} - { - m.cs = start + m.cs = m.startParsingAt + output := &URN{ + tolower: []int{}, } { if (m.p) == (m.pe) { goto _testEof } + if m.cs == 0 { + goto _out + } + _resume: switch m.cs { case 1: - goto stCase1 + switch (m.data)[(m.p)] { + case 85: + goto tr1 + case 117: + goto tr1 + } + goto tr0 case 0: - goto stCase0 + goto _out case 2: - goto stCase2 + switch (m.data)[(m.p)] { + case 82: + goto tr2 + case 114: + goto tr2 + } + goto tr0 case 3: - goto stCase3 + switch (m.data)[(m.p)] { + case 78: + goto tr3 + case 110: + goto tr3 + } + goto tr0 case 4: - goto stCase4 + if (m.data)[(m.p)] == 58 { + goto tr4 + } + goto tr0 case 5: - goto stCase5 + switch (m.data)[(m.p)] { + case 85: + goto tr7 + case 117: + goto tr7 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr6 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr6 + } + default: + goto tr6 + } + goto tr5 case 6: - goto stCase6 + switch (m.data)[(m.p)] { + case 45: + goto tr9 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr9 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr9 + } + default: + goto tr9 + } + goto tr8 case 7: - goto stCase7 + switch (m.data)[(m.p)] { + case 45: + goto tr11 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr11 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr11 + } + default: + goto tr11 + } + goto tr8 case 8: - goto stCase8 + switch (m.data)[(m.p)] { + case 45: + goto tr12 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr12 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr12 + } + default: + goto tr12 + } + goto tr8 case 9: - goto stCase9 + switch (m.data)[(m.p)] { + case 45: + goto tr13 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr13 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr13 + } + default: + goto tr13 + } + goto tr8 case 10: - goto stCase10 + switch (m.data)[(m.p)] { + case 45: + goto tr14 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr14 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr14 + } + default: + goto tr14 + } + goto tr8 case 11: - goto stCase11 + switch (m.data)[(m.p)] { + case 45: + goto tr15 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr15 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr15 + } + default: + goto tr15 + } + goto tr8 case 12: - goto stCase12 + switch (m.data)[(m.p)] { + case 45: + goto tr16 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr16 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr16 + } + default: + goto tr16 + } + goto tr8 case 13: - goto stCase13 + switch (m.data)[(m.p)] { + case 45: + goto tr17 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr17 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr17 + } + default: + goto tr17 + } + goto tr8 case 14: - goto stCase14 + switch (m.data)[(m.p)] { + case 45: + goto tr18 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr18 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr18 + } + default: + goto tr18 + } + goto tr8 case 15: - goto stCase15 + switch (m.data)[(m.p)] { + case 45: + goto tr19 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr19 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr19 + } + default: + goto tr19 + } + goto tr8 case 16: - goto stCase16 + switch (m.data)[(m.p)] { + case 45: + goto tr20 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr20 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr20 + } + default: + goto tr20 + } + goto tr8 case 17: - goto stCase17 + switch (m.data)[(m.p)] { + case 45: + goto tr21 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr21 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr21 + } + default: + goto tr21 + } + goto tr8 case 18: - goto stCase18 + switch (m.data)[(m.p)] { + case 45: + goto tr22 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr22 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr22 + } + default: + goto tr22 + } + goto tr8 case 19: - goto stCase19 + switch (m.data)[(m.p)] { + case 45: + goto tr23 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr23 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr23 + } + default: + goto tr23 + } + goto tr8 case 20: - goto stCase20 + switch (m.data)[(m.p)] { + case 45: + goto tr24 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr24 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr24 + } + default: + goto tr24 + } + goto tr8 case 21: - goto stCase21 + switch (m.data)[(m.p)] { + case 45: + goto tr25 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr25 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr25 + } + default: + goto tr25 + } + goto tr8 case 22: - goto stCase22 + switch (m.data)[(m.p)] { + case 45: + goto tr26 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr26 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr26 + } + default: + goto tr26 + } + goto tr8 case 23: - goto stCase23 + switch (m.data)[(m.p)] { + case 45: + goto tr27 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr27 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr27 + } + default: + goto tr27 + } + goto tr8 case 24: - goto stCase24 + switch (m.data)[(m.p)] { + case 45: + goto tr28 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr28 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr28 + } + default: + goto tr28 + } + goto tr8 case 25: - goto stCase25 + switch (m.data)[(m.p)] { + case 45: + goto tr29 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr29 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr29 + } + default: + goto tr29 + } + goto tr8 case 26: - goto stCase26 + switch (m.data)[(m.p)] { + case 45: + goto tr30 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr30 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr30 + } + default: + goto tr30 + } + goto tr8 case 27: - goto stCase27 + switch (m.data)[(m.p)] { + case 45: + goto tr31 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr31 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr31 + } + default: + goto tr31 + } + goto tr8 case 28: - goto stCase28 + switch (m.data)[(m.p)] { + case 45: + goto tr32 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr32 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr32 + } + default: + goto tr32 + } + goto tr8 case 29: - goto stCase29 + switch (m.data)[(m.p)] { + case 45: + goto tr33 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr33 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr33 + } + default: + goto tr33 + } + goto tr8 case 30: - goto stCase30 + switch (m.data)[(m.p)] { + case 45: + goto tr34 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr34 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr34 + } + default: + goto tr34 + } + goto tr8 case 31: - goto stCase31 + switch (m.data)[(m.p)] { + case 45: + goto tr35 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr35 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr35 + } + default: + goto tr35 + } + goto tr8 case 32: - goto stCase32 + switch (m.data)[(m.p)] { + case 45: + goto tr36 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr36 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr36 + } + default: + goto tr36 + } + goto tr8 case 33: - goto stCase33 + switch (m.data)[(m.p)] { + case 45: + goto tr37 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr37 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr37 + } + default: + goto tr37 + } + goto tr8 case 34: - goto stCase34 + switch (m.data)[(m.p)] { + case 45: + goto tr38 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr38 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr38 + } + default: + goto tr38 + } + goto tr8 case 35: - goto stCase35 + switch (m.data)[(m.p)] { + case 45: + goto tr39 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr39 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr39 + } + default: + goto tr39 + } + goto tr8 case 36: - goto stCase36 + switch (m.data)[(m.p)] { + case 45: + goto tr40 + case 58: + goto tr10 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr40 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr40 + } + default: + goto tr40 + } + goto tr8 case 37: - goto stCase37 + if (m.data)[(m.p)] == 58 { + goto tr10 + } + goto tr8 case 38: - goto stCase38 - case 44: - goto stCase44 + switch (m.data)[(m.p)] { + case 33: + goto tr42 + case 36: + goto tr42 + case 37: + goto tr43 + case 61: + goto tr42 + case 95: + goto tr42 + } + switch { + case (m.data)[(m.p)] < 48: + if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { + goto tr42 + } + case (m.data)[(m.p)] > 59: + switch { + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr42 + } + case (m.data)[(m.p)] >= 64: + goto tr42 + } + default: + goto tr42 + } + goto tr41 + case 172: + switch (m.data)[(m.p)] { + case 33: + goto tr212 + case 36: + goto tr212 + case 37: + goto tr213 + case 61: + goto tr212 + case 95: + goto tr212 + } + switch { + case (m.data)[(m.p)] < 48: + if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { + goto tr212 + } + case (m.data)[(m.p)] > 59: + switch { + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr212 + } + case (m.data)[(m.p)] >= 64: + goto tr212 + } + default: + goto tr212 + } + goto tr41 case 39: - goto stCase39 + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr45 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr45 + } + default: + goto tr46 + } + goto tr44 case 40: - goto stCase40 - case 45: - goto stCase45 + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr47 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr47 + } + default: + goto tr48 + } + goto tr44 + case 173: + switch (m.data)[(m.p)] { + case 33: + goto tr212 + case 36: + goto tr212 + case 37: + goto tr213 + case 61: + goto tr212 + case 95: + goto tr212 + } + switch { + case (m.data)[(m.p)] < 48: + if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { + goto tr212 + } + case (m.data)[(m.p)] > 59: + switch { + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr212 + } + case (m.data)[(m.p)] >= 64: + goto tr212 + } + default: + goto tr212 + } + goto tr44 case 41: - goto stCase41 - case 42: - goto stCase42 - case 43: - goto stCase43 - case 46: - goto stCase46 - } - goto stOut - stCase1: - switch (m.data)[(m.p)] { - case 85: - goto tr1 - case 117: - goto tr1 - } - goto tr0 - tr0: - - m.err = fmt.Errorf(errParse, m.p) - (m.p)-- - - { - goto st46 - } - - goto st0 - tr3: - - m.err = fmt.Errorf(errPrefix, m.p) - (m.p)-- - - { - goto st46 - } - - m.err = fmt.Errorf(errParse, m.p) - (m.p)-- - - { - goto st46 - } - - goto st0 - tr6: - - m.err = fmt.Errorf(errIdentifier, m.p) - (m.p)-- - - { - goto st46 - } - - m.err = fmt.Errorf(errParse, m.p) - (m.p)-- - - { - goto st46 - } - - goto st0 - tr41: - - m.err = fmt.Errorf(errSpecificString, m.p) - (m.p)-- - - { - goto st46 - } - - m.err = fmt.Errorf(errParse, m.p) - (m.p)-- - - { - goto st46 - } - - goto st0 - tr44: - - m.err = fmt.Errorf(errHex, m.p) - (m.p)-- - - { - goto st46 - } - - m.err = fmt.Errorf(errSpecificString, m.p) - (m.p)-- - - { - goto st46 - } - - m.err = fmt.Errorf(errParse, m.p) - (m.p)-- - - { - goto st46 - } - - goto st0 - tr50: - - m.err = fmt.Errorf(errPrefix, m.p) - (m.p)-- - - { - goto st46 - } - - m.err = fmt.Errorf(errIdentifier, m.p) - (m.p)-- - - { - goto st46 - } - - m.err = fmt.Errorf(errParse, m.p) - (m.p)-- - - { - goto st46 - } - - goto st0 - tr52: - - m.err = fmt.Errorf(errNoUrnWithinID, m.p) - (m.p)-- - - { - goto st46 - } - - m.err = fmt.Errorf(errIdentifier, m.p) - (m.p)-- - - { - goto st46 - } - - m.err = fmt.Errorf(errParse, m.p) - (m.p)-- - - { - goto st46 - } - - goto st0 - stCase0: - st0: - m.cs = 0 - goto _out - tr1: - - m.pb = m.p - - goto st2 - st2: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof2 - } - stCase2: - switch (m.data)[(m.p)] { - case 82: - goto st3 - case 114: - goto st3 - } - goto tr0 - st3: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof3 - } - stCase3: - switch (m.data)[(m.p)] { - case 78: - goto st4 - case 110: - goto st4 - } - goto tr3 - st4: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof4 - } - stCase4: - if (m.data)[(m.p)] == 58 { + switch (m.data)[(m.p)] { + case 45: + goto tr9 + case 58: + goto tr10 + case 82: + goto tr49 + case 114: + goto tr49 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr9 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr9 + } + default: + goto tr9 + } goto tr5 - } - goto tr0 - tr5: - - output.prefix = string(m.text()) - - goto st5 - st5: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof5 - } - stCase5: - switch (m.data)[(m.p)] { - case 85: - goto tr8 - case 117: - goto tr8 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto tr7 + case 42: + switch (m.data)[(m.p)] { + case 45: + goto tr11 + case 58: + goto tr10 + case 78: + goto tr50 + case 110: + goto tr50 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto tr7 + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr11 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr11 + } + default: + goto tr11 } - default: - goto tr7 - } - goto tr6 - tr7: - - m.pb = m.p - - goto st6 - st6: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof6 - } - stCase6: - switch (m.data)[(m.p)] { - case 45: - goto st7 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st7 + goto tr5 + case 43: + if (m.data)[(m.p)] == 45 { + goto tr12 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr12 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr12 + } + default: + goto tr12 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st7 + goto tr51 + case 44: + switch (m.data)[(m.p)] { + case 85: + goto tr52 + case 117: + goto tr52 } - default: - goto st7 - } - goto tr6 - st7: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof7 - } - stCase7: - switch (m.data)[(m.p)] { + goto tr0 case 45: - goto st8 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st8 + switch (m.data)[(m.p)] { + case 82: + goto tr53 + case 114: + goto tr53 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st8 + goto tr0 + case 46: + switch (m.data)[(m.p)] { + case 78: + goto tr54 + case 110: + goto tr54 } - default: - goto st8 - } - goto tr6 - st8: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof8 - } - stCase8: - switch (m.data)[(m.p)] { - case 45: - goto st9 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st9 + goto tr0 + case 47: + if (m.data)[(m.p)] == 58 { + goto tr55 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st9 + goto tr0 + case 48: + if (m.data)[(m.p)] == 105 { + goto tr57 } - default: - goto st9 - } - goto tr6 - st9: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof9 - } - stCase9: - switch (m.data)[(m.p)] { - case 45: - goto st10 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st10 + goto tr56 + case 49: + if (m.data)[(m.p)] == 101 { + goto tr58 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st10 + goto tr56 + case 50: + if (m.data)[(m.p)] == 116 { + goto tr59 } - default: - goto st10 - } - goto tr6 - st10: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof10 - } - stCase10: - switch (m.data)[(m.p)] { - case 45: - goto st11 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st11 + goto tr56 + case 51: + if (m.data)[(m.p)] == 102 { + goto tr60 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st11 + goto tr56 + case 52: + if (m.data)[(m.p)] == 58 { + goto tr61 } - default: - goto st11 - } - goto tr6 - st11: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof11 - } - stCase11: - switch (m.data)[(m.p)] { - case 45: - goto st12 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st12 + goto tr56 + case 53: + if (m.data)[(m.p)] == 112 { + goto tr62 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st12 + goto tr56 + case 54: + if (m.data)[(m.p)] == 97 { + goto tr63 } - default: - goto st12 - } - goto tr6 - st12: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof12 - } - stCase12: - switch (m.data)[(m.p)] { - case 45: - goto st13 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st13 + goto tr56 + case 55: + if (m.data)[(m.p)] == 114 { + goto tr64 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st13 + goto tr56 + case 56: + if (m.data)[(m.p)] == 97 { + goto tr65 } - default: - goto st13 - } - goto tr6 - st13: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof13 - } - stCase13: - switch (m.data)[(m.p)] { - case 45: - goto st14 + goto tr56 + case 57: + if (m.data)[(m.p)] == 109 { + goto tr66 + } + goto tr56 case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st14 + if (m.data)[(m.p)] == 115 { + goto tr67 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st14 + goto tr56 + case 59: + if (m.data)[(m.p)] == 58 { + goto tr68 } - default: - goto st14 - } - goto tr6 - st14: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof14 - } - stCase14: - switch (m.data)[(m.p)] { - case 45: - goto st15 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st15 + goto tr56 + case 60: + if (m.data)[(m.p)] == 115 { + goto tr69 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st15 + goto tr56 + case 61: + if (m.data)[(m.p)] == 99 { + goto tr70 } - default: - goto st15 - } - goto tr6 - st15: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof15 - } - stCase15: - switch (m.data)[(m.p)] { - case 45: - goto st16 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st16 + goto tr56 + case 62: + if (m.data)[(m.p)] == 105 { + goto tr71 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st16 + goto tr56 + case 63: + if (m.data)[(m.p)] == 109 { + goto tr72 } - default: - goto st16 - } - goto tr6 - st16: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof16 - } - stCase16: - switch (m.data)[(m.p)] { - case 45: - goto st17 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st17 + goto tr56 + case 64: + if (m.data)[(m.p)] == 58 { + goto tr73 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st17 + goto tr56 + case 65: + switch (m.data)[(m.p)] { + case 97: + goto tr75 + case 112: + goto tr76 + case 115: + goto tr77 } - default: - goto st17 - } - goto tr6 - st17: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof17 - } - stCase17: - switch (m.data)[(m.p)] { - case 45: - goto st18 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st18 + goto tr74 + case 66: + if (m.data)[(m.p)] == 112 { + goto tr78 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st18 + goto tr74 + case 67: + if (m.data)[(m.p)] == 105 { + goto tr79 } - default: - goto st18 - } - goto tr6 - st18: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof18 - } - stCase18: - switch (m.data)[(m.p)] { - case 45: - goto st19 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st19 + goto tr74 + case 68: + if (m.data)[(m.p)] == 58 { + goto tr80 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st19 + goto tr74 + case 69: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr82 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr82 + } + default: + goto tr82 } - default: - goto st19 - } - goto tr6 - st19: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof19 - } - stCase19: - switch (m.data)[(m.p)] { - case 45: - goto st20 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st20 + goto tr81 + case 174: + if (m.data)[(m.p)] == 58 { + goto tr215 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st20 + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr214 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr214 + } + default: + goto tr214 } - default: - goto st20 - } - goto tr6 - st20: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof20 - } - stCase20: - switch (m.data)[(m.p)] { - case 45: - goto st21 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st21 + goto tr81 + case 70: + switch (m.data)[(m.p)] { + case 33: + goto tr84 + case 36: + goto tr84 + case 37: + goto tr85 + case 61: + goto tr84 + case 95: + goto tr84 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st21 + switch { + case (m.data)[(m.p)] < 48: + if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { + goto tr84 + } + case (m.data)[(m.p)] > 59: + switch { + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr84 + } + case (m.data)[(m.p)] >= 64: + goto tr84 + } + default: + goto tr84 } - default: - goto st21 - } - goto tr6 - st21: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof21 - } - stCase21: - switch (m.data)[(m.p)] { - case 45: - goto st22 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st22 + goto tr83 + case 175: + switch (m.data)[(m.p)] { + case 33: + goto tr216 + case 36: + goto tr216 + case 37: + goto tr217 + case 61: + goto tr216 + case 95: + goto tr216 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st22 + switch { + case (m.data)[(m.p)] < 48: + if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { + goto tr216 + } + case (m.data)[(m.p)] > 59: + switch { + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr216 + } + case (m.data)[(m.p)] >= 64: + goto tr216 + } + default: + goto tr216 } - default: - goto st22 - } - goto tr6 - st22: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof22 - } - stCase22: - switch (m.data)[(m.p)] { - case 45: - goto st23 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st23 + goto tr83 + case 71: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr87 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr87 + } + default: + goto tr88 + } + goto tr86 + case 72: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr89 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr89 + } + default: + goto tr90 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st23 + goto tr86 + case 176: + switch (m.data)[(m.p)] { + case 33: + goto tr216 + case 36: + goto tr216 + case 37: + goto tr217 + case 61: + goto tr216 + case 95: + goto tr216 } - default: - goto st23 - } - goto tr6 - st23: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof23 - } - stCase23: - switch (m.data)[(m.p)] { - case 45: - goto st24 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st24 + switch { + case (m.data)[(m.p)] < 48: + if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { + goto tr216 + } + case (m.data)[(m.p)] > 59: + switch { + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr216 + } + case (m.data)[(m.p)] >= 64: + goto tr216 + } + default: + goto tr216 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st24 + goto tr86 + case 73: + if (m.data)[(m.p)] == 97 { + goto tr91 } - default: - goto st24 - } - goto tr6 - st24: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof24 - } - stCase24: - switch (m.data)[(m.p)] { - case 45: - goto st25 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st25 + goto tr74 + case 74: + if (m.data)[(m.p)] == 114 { + goto tr92 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st25 + goto tr74 + case 75: + if (m.data)[(m.p)] == 97 { + goto tr93 } - default: - goto st25 - } - goto tr6 - st25: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof25 - } - stCase25: - switch (m.data)[(m.p)] { - case 45: - goto st26 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st26 + goto tr74 + case 76: + if (m.data)[(m.p)] == 109 { + goto tr79 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st26 + goto tr74 + case 77: + if (m.data)[(m.p)] == 99 { + goto tr94 } - default: - goto st26 - } - goto tr6 - st26: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof26 - } - stCase26: - switch (m.data)[(m.p)] { - case 45: - goto st27 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st27 + goto tr74 + case 78: + if (m.data)[(m.p)] == 104 { + goto tr95 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st27 + goto tr74 + case 79: + if (m.data)[(m.p)] == 101 { + goto tr96 } - default: - goto st27 - } - goto tr6 - st27: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof27 - } - stCase27: - switch (m.data)[(m.p)] { - case 45: - goto st28 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st28 + goto tr74 + case 80: + if (m.data)[(m.p)] == 109 { + goto tr97 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st28 + goto tr74 + case 81: + if (m.data)[(m.p)] == 97 { + goto tr98 } - default: - goto st28 - } - goto tr6 - st28: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof28 - } - stCase28: - switch (m.data)[(m.p)] { - case 45: - goto st29 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st29 + goto tr74 + case 82: + if (m.data)[(m.p)] == 115 { + goto tr79 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st29 + goto tr74 + case 83: + switch (m.data)[(m.p)] { + case 85: + goto tr99 + case 117: + goto tr99 } - default: - goto st29 - } - goto tr6 - st29: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof29 - } - stCase29: - switch (m.data)[(m.p)] { - case 45: - goto st30 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st30 + goto tr0 + case 84: + switch (m.data)[(m.p)] { + case 82: + goto tr100 + case 114: + goto tr100 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st30 + goto tr0 + case 85: + switch (m.data)[(m.p)] { + case 78: + goto tr101 + case 110: + goto tr101 } - default: - goto st30 - } - goto tr6 - st30: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof30 - } - stCase30: - switch (m.data)[(m.p)] { - case 45: - goto st31 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st31 + goto tr0 + case 86: + if (m.data)[(m.p)] == 58 { + goto tr102 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st31 + goto tr0 + case 87: + switch (m.data)[(m.p)] { + case 85: + goto tr105 + case 117: + goto tr105 } - default: - goto st31 - } - goto tr6 - st31: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof31 - } - stCase31: - switch (m.data)[(m.p)] { - case 45: - goto st32 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st32 + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr104 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr104 + } + default: + goto tr104 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st32 + goto tr103 + case 88: + if (m.data)[(m.p)] == 45 { + goto tr107 } - default: - goto st32 - } - goto tr6 - st32: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof32 - } - stCase32: - switch (m.data)[(m.p)] { - case 45: - goto st33 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st33 + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr108 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr108 + } + default: + goto tr108 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st33 + goto tr106 + case 89: + if (m.data)[(m.p)] == 45 { + goto tr109 } - default: - goto st33 - } - goto tr6 - st33: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof33 - } - stCase33: - switch (m.data)[(m.p)] { - case 45: - goto st34 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st34 + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr110 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr110 + } + default: + goto tr110 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st34 + goto tr106 + case 90: + if (m.data)[(m.p)] == 45 { + goto tr111 } - default: - goto st34 - } - goto tr6 - st34: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof34 - } - stCase34: - switch (m.data)[(m.p)] { - case 45: - goto st35 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st35 + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr112 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr112 + } + default: + goto tr112 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st35 + goto tr106 + case 91: + if (m.data)[(m.p)] == 45 { + goto tr113 } - default: - goto st35 - } - goto tr6 - st35: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof35 - } - stCase35: - switch (m.data)[(m.p)] { - case 45: - goto st36 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st36 + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr114 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr114 + } + default: + goto tr114 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st36 + goto tr106 + case 92: + if (m.data)[(m.p)] == 45 { + goto tr115 } - default: - goto st36 - } - goto tr6 - st36: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof36 - } - stCase36: - switch (m.data)[(m.p)] { - case 45: - goto st37 - case 58: - goto tr10 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st37 + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr116 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr116 + } + default: + goto tr116 } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st37 + goto tr106 + case 93: + if (m.data)[(m.p)] == 45 { + goto tr117 } - default: - goto st37 - } - goto tr6 - st37: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof37 - } - stCase37: - if (m.data)[(m.p)] == 58 { - goto tr10 - } - goto tr6 - tr10: - - output.ID = string(m.text()) - - goto st38 - st38: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof38 - } - stCase38: - switch (m.data)[(m.p)] { - case 33: - goto tr42 - case 36: - goto tr42 - case 37: - goto tr43 - case 61: - goto tr42 - case 95: - goto tr42 - } - switch { - case (m.data)[(m.p)] < 48: - if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { - goto tr42 + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr118 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr118 + } + default: + goto tr118 + } + goto tr106 + case 94: + if (m.data)[(m.p)] == 45 { + goto tr119 } - case (m.data)[(m.p)] > 59: switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr120 + } case (m.data)[(m.p)] > 90: if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto tr42 + goto tr120 } - case (m.data)[(m.p)] >= 64: - goto tr42 + default: + goto tr120 } - default: - goto tr42 - } - goto tr41 - tr42: - - m.pb = m.p - - goto st44 - st44: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof44 - } - stCase44: - switch (m.data)[(m.p)] { - case 33: - goto st44 - case 36: - goto st44 - case 37: - goto st39 - case 61: - goto st44 + goto tr106 case 95: - goto st44 - } - switch { - case (m.data)[(m.p)] < 48: - if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { - goto st44 + if (m.data)[(m.p)] == 45 { + goto tr121 } - case (m.data)[(m.p)] > 59: switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr122 + } case (m.data)[(m.p)] > 90: if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st44 + goto tr122 } - case (m.data)[(m.p)] >= 64: - goto st44 + default: + goto tr122 } - default: - goto st44 - } - goto tr41 - tr43: + goto tr106 + case 96: + if (m.data)[(m.p)] == 45 { + goto tr123 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr124 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr124 + } + default: + goto tr124 + } + goto tr106 + case 97: + if (m.data)[(m.p)] == 45 { + goto tr125 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr126 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr126 + } + default: + goto tr126 + } + goto tr106 + case 98: + if (m.data)[(m.p)] == 45 { + goto tr127 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr128 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr128 + } + default: + goto tr128 + } + goto tr106 + case 99: + if (m.data)[(m.p)] == 45 { + goto tr129 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr130 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr130 + } + default: + goto tr130 + } + goto tr106 + case 100: + if (m.data)[(m.p)] == 45 { + goto tr131 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr132 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr132 + } + default: + goto tr132 + } + goto tr106 + case 101: + if (m.data)[(m.p)] == 45 { + goto tr133 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr134 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr134 + } + default: + goto tr134 + } + goto tr106 + case 102: + if (m.data)[(m.p)] == 45 { + goto tr135 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr136 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr136 + } + default: + goto tr136 + } + goto tr106 + case 103: + if (m.data)[(m.p)] == 45 { + goto tr137 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr138 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr138 + } + default: + goto tr138 + } + goto tr106 + case 104: + if (m.data)[(m.p)] == 45 { + goto tr139 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr140 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr140 + } + default: + goto tr140 + } + goto tr106 + case 105: + if (m.data)[(m.p)] == 45 { + goto tr141 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr142 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr142 + } + default: + goto tr142 + } + goto tr106 + case 106: + if (m.data)[(m.p)] == 45 { + goto tr143 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr144 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr144 + } + default: + goto tr144 + } + goto tr106 + case 107: + if (m.data)[(m.p)] == 45 { + goto tr145 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr146 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr146 + } + default: + goto tr146 + } + goto tr106 + case 108: + if (m.data)[(m.p)] == 45 { + goto tr147 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr148 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr148 + } + default: + goto tr148 + } + goto tr106 + case 109: + if (m.data)[(m.p)] == 45 { + goto tr149 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr150 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr150 + } + default: + goto tr150 + } + goto tr106 + case 110: + if (m.data)[(m.p)] == 45 { + goto tr151 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr152 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr152 + } + default: + goto tr152 + } + goto tr106 + case 111: + if (m.data)[(m.p)] == 45 { + goto tr153 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr154 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr154 + } + default: + goto tr154 + } + goto tr106 + case 112: + if (m.data)[(m.p)] == 45 { + goto tr155 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr156 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr156 + } + default: + goto tr156 + } + goto tr106 + case 113: + if (m.data)[(m.p)] == 45 { + goto tr157 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr158 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr158 + } + default: + goto tr158 + } + goto tr106 + case 114: + if (m.data)[(m.p)] == 45 { + goto tr159 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr160 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr160 + } + default: + goto tr160 + } + goto tr106 + case 115: + if (m.data)[(m.p)] == 45 { + goto tr161 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr162 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr162 + } + default: + goto tr162 + } + goto tr106 + case 116: + if (m.data)[(m.p)] == 45 { + goto tr163 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr164 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr164 + } + default: + goto tr164 + } + goto tr106 + case 117: + if (m.data)[(m.p)] == 45 { + goto tr165 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr166 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr166 + } + default: + goto tr166 + } + goto tr106 + case 118: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr167 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr167 + } + default: + goto tr167 + } + goto tr106 + case 119: + if (m.data)[(m.p)] == 58 { + goto tr168 + } + goto tr106 + case 120: + switch (m.data)[(m.p)] { + case 33: + goto tr170 + case 37: + goto tr171 + case 61: + goto tr170 + case 95: + goto tr170 + case 126: + goto tr170 + } + switch { + case (m.data)[(m.p)] < 48: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { + goto tr170 + } + case (m.data)[(m.p)] > 59: + switch { + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr170 + } + case (m.data)[(m.p)] >= 64: + goto tr170 + } + default: + goto tr170 + } + goto tr169 + case 177: + switch (m.data)[(m.p)] { + case 33: + goto tr218 + case 35: + goto tr219 + case 37: + goto tr220 + case 61: + goto tr218 + case 63: + goto tr221 + case 95: + goto tr218 + case 126: + goto tr218 + } + switch { + case (m.data)[(m.p)] < 64: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr218 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr218 + } + default: + goto tr218 + } + goto tr169 + case 178: + switch (m.data)[(m.p)] { + case 33: + goto tr222 + case 37: + goto tr223 + case 61: + goto tr222 + case 95: + goto tr222 + case 126: + goto tr222 + } + switch { + case (m.data)[(m.p)] < 63: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr222 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr222 + } + default: + goto tr222 + } + goto tr183 + case 179: + switch (m.data)[(m.p)] { + case 33: + goto tr224 + case 37: + goto tr225 + case 61: + goto tr224 + case 95: + goto tr224 + case 126: + goto tr224 + } + switch { + case (m.data)[(m.p)] < 63: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr224 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr224 + } + default: + goto tr224 + } + goto tr183 + case 121: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr173 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr173 + } + default: + goto tr174 + } + goto tr172 + case 122: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr175 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr175 + } + default: + goto tr176 + } + goto tr172 + case 180: + switch (m.data)[(m.p)] { + case 33: + goto tr224 + case 37: + goto tr225 + case 61: + goto tr224 + case 95: + goto tr224 + case 126: + goto tr224 + } + switch { + case (m.data)[(m.p)] < 63: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr224 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr224 + } + default: + goto tr224 + } + goto tr172 + case 123: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr178 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr178 + } + default: + goto tr179 + } + goto tr177 + case 124: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr180 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr180 + } + default: + goto tr181 + } + goto tr177 + case 181: + switch (m.data)[(m.p)] { + case 33: + goto tr218 + case 35: + goto tr219 + case 37: + goto tr220 + case 61: + goto tr218 + case 63: + goto tr221 + case 95: + goto tr218 + case 126: + goto tr218 + } + switch { + case (m.data)[(m.p)] < 64: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr218 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr218 + } + default: + goto tr218 + } + goto tr177 + case 125: + switch (m.data)[(m.p)] { + case 43: + goto tr182 + case 61: + goto tr184 + } + goto tr183 + case 126: + switch (m.data)[(m.p)] { + case 33: + goto tr186 + case 37: + goto tr187 + case 61: + goto tr186 + case 63: + goto tr188 + case 95: + goto tr186 + case 126: + goto tr186 + } + switch { + case (m.data)[(m.p)] < 48: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { + goto tr186 + } + case (m.data)[(m.p)] > 59: + switch { + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr186 + } + case (m.data)[(m.p)] >= 64: + goto tr186 + } + default: + goto tr186 + } + goto tr185 + case 182: + switch (m.data)[(m.p)] { + case 33: + goto tr226 + case 35: + goto tr227 + case 37: + goto tr228 + case 61: + goto tr226 + case 63: + goto tr229 + case 95: + goto tr226 + case 126: + goto tr226 + } + switch { + case (m.data)[(m.p)] < 64: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr226 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr226 + } + default: + goto tr226 + } + goto tr185 + case 127: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr190 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr190 + } + default: + goto tr191 + } + goto tr189 + case 128: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr192 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr192 + } + default: + goto tr193 + } + goto tr189 + case 183: + switch (m.data)[(m.p)] { + case 33: + goto tr226 + case 35: + goto tr227 + case 37: + goto tr228 + case 61: + goto tr226 + case 63: + goto tr229 + case 95: + goto tr226 + case 126: + goto tr226 + } + switch { + case (m.data)[(m.p)] < 64: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr226 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr226 + } + default: + goto tr226 + } + goto tr189 + case 184: + switch (m.data)[(m.p)] { + case 33: + goto tr226 + case 35: + goto tr227 + case 37: + goto tr228 + case 43: + goto tr230 + case 61: + goto tr231 + case 63: + goto tr229 + case 95: + goto tr226 + case 126: + goto tr226 + } + switch { + case (m.data)[(m.p)] < 64: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr226 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr226 + } + default: + goto tr226 + } + goto tr185 + case 185: + switch (m.data)[(m.p)] { + case 33: + goto tr232 + case 35: + goto tr233 + case 37: + goto tr234 + case 47: + goto tr226 + case 61: + goto tr232 + case 63: + goto tr235 + case 95: + goto tr232 + case 126: + goto tr232 + } + switch { + case (m.data)[(m.p)] < 64: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr232 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr232 + } + default: + goto tr232 + } + goto tr185 + case 186: + switch (m.data)[(m.p)] { + case 33: + goto tr204 + case 35: + goto tr227 + case 37: + goto tr237 + case 47: + goto tr226 + case 61: + goto tr204 + case 63: + goto tr229 + case 95: + goto tr204 + case 126: + goto tr204 + } + switch { + case (m.data)[(m.p)] < 64: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr204 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr204 + } + default: + goto tr204 + } + goto tr236 + case 187: + switch (m.data)[(m.p)] { + case 33: + goto tr238 + case 35: + goto tr239 + case 37: + goto tr240 + case 61: + goto tr238 + case 63: + goto tr241 + case 95: + goto tr238 + case 126: + goto tr238 + } + switch { + case (m.data)[(m.p)] < 64: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr238 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr238 + } + default: + goto tr238 + } + goto tr203 + case 129: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr195 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr195 + } + default: + goto tr196 + } + goto tr194 + case 130: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr197 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr197 + } + default: + goto tr198 + } + goto tr194 + case 188: + switch (m.data)[(m.p)] { + case 33: + goto tr238 + case 35: + goto tr239 + case 37: + goto tr240 + case 61: + goto tr238 + case 63: + goto tr241 + case 95: + goto tr238 + case 126: + goto tr238 + } + switch { + case (m.data)[(m.p)] < 64: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr238 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr238 + } + default: + goto tr238 + } + goto tr194 + case 189: + switch (m.data)[(m.p)] { + case 33: + goto tr238 + case 35: + goto tr239 + case 37: + goto tr240 + case 61: + goto tr242 + case 63: + goto tr241 + case 95: + goto tr238 + case 126: + goto tr238 + } + switch { + case (m.data)[(m.p)] < 64: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr238 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr238 + } + default: + goto tr238 + } + goto tr203 + case 190: + switch (m.data)[(m.p)] { + case 33: + goto tr243 + case 35: + goto tr244 + case 37: + goto tr245 + case 47: + goto tr238 + case 61: + goto tr243 + case 63: + goto tr246 + case 95: + goto tr243 + case 126: + goto tr243 + } + switch { + case (m.data)[(m.p)] < 64: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 59 { + goto tr243 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr243 + } + default: + goto tr243 + } + goto tr203 + case 131: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr200 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr200 + } + default: + goto tr201 + } + goto tr199 + case 132: + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr197 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr197 + } + default: + goto tr198 + } + goto tr199 + case 133: + if (m.data)[(m.p)] == 43 { + goto tr202 + } + goto tr185 + case 191: + switch (m.data)[(m.p)] { + case 33: + goto tr232 + case 35: + goto tr233 + case 37: + goto tr234 + case 61: + goto tr232 + case 63: + goto tr247 + case 95: + goto tr232 + case 126: + goto tr232 + } + switch { + case (m.data)[(m.p)] < 48: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { + goto tr232 + } + case (m.data)[(m.p)] > 59: + switch { + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr232 + } + case (m.data)[(m.p)] >= 64: + goto tr232 + } + default: + goto tr232 + } + goto tr185 + case 134: + switch (m.data)[(m.p)] { + case 43: + goto tr202 + case 61: + goto tr184 + } + goto tr185 + case 135: + switch (m.data)[(m.p)] { + case 33: + goto tr204 + case 37: + goto tr205 + case 61: + goto tr204 + case 63: + goto tr206 + case 95: + goto tr204 + case 126: + goto tr204 + } + switch { + case (m.data)[(m.p)] < 48: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { + goto tr204 + } + case (m.data)[(m.p)] > 59: + switch { + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr204 + } + case (m.data)[(m.p)] >= 64: + goto tr204 + } + default: + goto tr204 + } + goto tr203 + case 136: + if (m.data)[(m.p)] == 61 { + goto tr207 + } + goto tr203 + case 192: + switch (m.data)[(m.p)] { + case 33: + goto tr243 + case 35: + goto tr244 + case 37: + goto tr245 + case 61: + goto tr243 + case 63: + goto tr248 + case 95: + goto tr243 + case 126: + goto tr243 + } + switch { + case (m.data)[(m.p)] < 48: + if 36 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { + goto tr243 + } + case (m.data)[(m.p)] > 59: + switch { + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr243 + } + case (m.data)[(m.p)] >= 64: + goto tr243 + } + default: + goto tr243 + } + goto tr203 + case 137: + if (m.data)[(m.p)] == 58 { + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr167 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr167 + } + default: + goto tr167 + } + goto tr106 + case 138: + switch (m.data)[(m.p)] { + case 45: + goto tr165 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr166 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr166 + } + default: + goto tr166 + } + goto tr106 + case 139: + switch (m.data)[(m.p)] { + case 45: + goto tr163 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr164 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr164 + } + default: + goto tr164 + } + goto tr106 + case 140: + switch (m.data)[(m.p)] { + case 45: + goto tr161 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr162 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr162 + } + default: + goto tr162 + } + goto tr106 + case 141: + switch (m.data)[(m.p)] { + case 45: + goto tr159 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr160 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr160 + } + default: + goto tr160 + } + goto tr106 + case 142: + switch (m.data)[(m.p)] { + case 45: + goto tr157 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr158 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr158 + } + default: + goto tr158 + } + goto tr106 + case 143: + switch (m.data)[(m.p)] { + case 45: + goto tr155 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr156 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr156 + } + default: + goto tr156 + } + goto tr106 + case 144: + switch (m.data)[(m.p)] { + case 45: + goto tr153 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr154 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr154 + } + default: + goto tr154 + } + goto tr106 + case 145: + switch (m.data)[(m.p)] { + case 45: + goto tr151 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr152 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr152 + } + default: + goto tr152 + } + goto tr106 + case 146: + switch (m.data)[(m.p)] { + case 45: + goto tr149 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr150 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr150 + } + default: + goto tr150 + } + goto tr106 + case 147: + switch (m.data)[(m.p)] { + case 45: + goto tr147 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr148 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr148 + } + default: + goto tr148 + } + goto tr106 + case 148: + switch (m.data)[(m.p)] { + case 45: + goto tr145 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr146 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr146 + } + default: + goto tr146 + } + goto tr106 + case 149: + switch (m.data)[(m.p)] { + case 45: + goto tr143 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr144 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr144 + } + default: + goto tr144 + } + goto tr106 + case 150: + switch (m.data)[(m.p)] { + case 45: + goto tr141 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr142 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr142 + } + default: + goto tr142 + } + goto tr106 + case 151: + switch (m.data)[(m.p)] { + case 45: + goto tr139 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr140 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr140 + } + default: + goto tr140 + } + goto tr106 + case 152: + switch (m.data)[(m.p)] { + case 45: + goto tr137 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr138 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr138 + } + default: + goto tr138 + } + goto tr106 + case 153: + switch (m.data)[(m.p)] { + case 45: + goto tr135 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr136 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr136 + } + default: + goto tr136 + } + goto tr106 + case 154: + switch (m.data)[(m.p)] { + case 45: + goto tr133 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr134 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr134 + } + default: + goto tr134 + } + goto tr106 + case 155: + switch (m.data)[(m.p)] { + case 45: + goto tr131 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr132 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr132 + } + default: + goto tr132 + } + goto tr106 + case 156: + switch (m.data)[(m.p)] { + case 45: + goto tr129 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr130 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr130 + } + default: + goto tr130 + } + goto tr106 + case 157: + switch (m.data)[(m.p)] { + case 45: + goto tr127 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr128 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr128 + } + default: + goto tr128 + } + goto tr106 + case 158: + switch (m.data)[(m.p)] { + case 45: + goto tr125 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr126 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr126 + } + default: + goto tr126 + } + goto tr106 + case 159: + switch (m.data)[(m.p)] { + case 45: + goto tr123 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr124 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr124 + } + default: + goto tr124 + } + goto tr106 + case 160: + switch (m.data)[(m.p)] { + case 45: + goto tr121 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr122 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr122 + } + default: + goto tr122 + } + goto tr106 + case 161: + switch (m.data)[(m.p)] { + case 45: + goto tr119 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr120 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr120 + } + default: + goto tr120 + } + goto tr106 + case 162: + switch (m.data)[(m.p)] { + case 45: + goto tr117 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr118 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr118 + } + default: + goto tr118 + } + goto tr106 + case 163: + switch (m.data)[(m.p)] { + case 45: + goto tr115 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr116 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr116 + } + default: + goto tr116 + } + goto tr106 + case 164: + switch (m.data)[(m.p)] { + case 45: + goto tr113 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr114 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr114 + } + default: + goto tr114 + } + goto tr106 + case 165: + switch (m.data)[(m.p)] { + case 45: + goto tr111 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr112 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr112 + } + default: + goto tr112 + } + goto tr106 + case 166: + switch (m.data)[(m.p)] { + case 45: + goto tr109 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr110 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr110 + } + default: + goto tr110 + } + goto tr106 + case 167: + switch (m.data)[(m.p)] { + case 45: + goto tr107 + case 82: + goto tr208 + case 114: + goto tr208 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr108 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr108 + } + default: + goto tr108 + } + goto tr103 + case 168: + switch (m.data)[(m.p)] { + case 45: + goto tr109 + case 58: + goto tr168 + case 78: + goto tr209 + case 110: + goto tr209 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr110 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr110 + } + default: + goto tr110 + } + goto tr103 + case 169: + switch (m.data)[(m.p)] { + case 45: + goto tr210 + case 58: + goto tr168 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr112 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr112 + } + default: + goto tr112 + } + goto tr106 + case 170: + switch (m.data)[(m.p)] { + case 45: + goto tr113 + case 48: + goto tr211 + } + switch { + case (m.data)[(m.p)] < 65: + if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr114 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr211 + } + default: + goto tr211 + } + goto tr106 + case 171: + if (m.data)[(m.p)] == 45 { + goto tr115 + } + switch { + case (m.data)[(m.p)] < 65: + if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { + goto tr116 + } + case (m.data)[(m.p)] > 90: + if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { + goto tr116 + } + default: + goto tr116 + } + goto tr106 + case 193: + switch (m.data)[(m.p)] { + case 10: + goto tr183 + case 13: + goto tr183 + } + goto tr249 + } + + tr183: + m.cs = 0 + goto _again + tr0: + m.cs = 0 + goto f0 + tr5: + m.cs = 0 + goto f3 + tr8: + m.cs = 0 + goto f5 + tr41: + m.cs = 0 + goto f7 + tr44: + m.cs = 0 + goto f8 + tr51: + m.cs = 0 + goto f10 + tr56: + m.cs = 0 + goto f11 + tr74: + m.cs = 0 + goto f13 + tr81: + m.cs = 0 + goto f15 + tr83: + m.cs = 0 + goto f17 + tr86: + m.cs = 0 + goto f19 + tr103: + m.cs = 0 + goto f20 + tr106: + m.cs = 0 + goto f21 + tr169: + m.cs = 0 + goto f22 + tr172: + m.cs = 0 + goto f23 + tr177: + m.cs = 0 + goto f24 + tr185: + m.cs = 0 + goto f25 + tr189: + m.cs = 0 + goto f27 + tr194: + m.cs = 0 + goto f28 + tr199: + m.cs = 0 + goto f29 + tr203: + m.cs = 0 + goto f30 + tr236: + m.cs = 0 + goto f46 + tr1: + m.cs = 2 + goto f1 + tr2: + m.cs = 3 + goto _again + tr3: + m.cs = 4 + goto _again + tr4: + m.cs = 5 + goto f2 + tr6: + m.cs = 6 + goto f4 + tr9: + m.cs = 7 + goto _again + tr11: + m.cs = 8 + goto _again + tr12: + m.cs = 9 + goto _again + tr13: + m.cs = 10 + goto _again + tr14: + m.cs = 11 + goto _again + tr15: + m.cs = 12 + goto _again + tr16: + m.cs = 13 + goto _again + tr17: + m.cs = 14 + goto _again + tr18: + m.cs = 15 + goto _again + tr19: + m.cs = 16 + goto _again + tr20: + m.cs = 17 + goto _again + tr21: + m.cs = 18 + goto _again + tr22: + m.cs = 19 + goto _again + tr23: + m.cs = 20 + goto _again + tr24: + m.cs = 21 + goto _again + tr25: + m.cs = 22 + goto _again + tr26: + m.cs = 23 + goto _again + tr27: + m.cs = 24 + goto _again + tr28: + m.cs = 25 + goto _again + tr29: + m.cs = 26 + goto _again + tr30: + m.cs = 27 + goto _again + tr31: + m.cs = 28 + goto _again + tr32: + m.cs = 29 + goto _again + tr33: + m.cs = 30 + goto _again + tr34: + m.cs = 31 + goto _again + tr35: + m.cs = 32 + goto _again + tr36: + m.cs = 33 + goto _again + tr37: + m.cs = 34 + goto _again + tr38: + m.cs = 35 + goto _again + tr39: + m.cs = 36 + goto _again + tr40: + m.cs = 37 + goto _again + tr10: + m.cs = 38 + goto f6 + tr213: + m.cs = 39 + goto _again + tr43: + m.cs = 39 + goto f4 + tr45: + m.cs = 40 + goto _again + tr46: + m.cs = 40 + goto f9 + tr7: + m.cs = 41 + goto f1 + tr49: + m.cs = 42 + goto _again + tr50: + m.cs = 43 + goto _again + tr52: + m.cs = 45 + goto f1 + tr53: + m.cs = 46 + goto _again + tr54: + m.cs = 47 + goto _again + tr55: + m.cs = 48 + goto f2 + tr57: + m.cs = 49 + goto f4 + tr58: + m.cs = 50 + goto _again + tr59: + m.cs = 51 + goto _again + tr60: + m.cs = 52 + goto _again + tr61: + m.cs = 53 + goto _again + tr62: + m.cs = 54 + goto _again + tr63: + m.cs = 55 + goto _again + tr64: + m.cs = 56 + goto _again + tr65: + m.cs = 57 + goto _again + tr66: + m.cs = 58 + goto _again + tr67: + m.cs = 59 + goto _again + tr68: + m.cs = 60 + goto _again + tr69: + m.cs = 61 + goto _again + tr70: + m.cs = 62 + goto _again + tr71: + m.cs = 63 + goto _again + tr72: + m.cs = 64 + goto _again + tr73: + m.cs = 65 + goto f12 + tr75: + m.cs = 66 + goto f4 + tr78: + m.cs = 67 + goto _again + tr79: + m.cs = 68 + goto _again + tr80: + m.cs = 69 + goto f14 + tr215: + m.cs = 70 + goto f35 + tr217: + m.cs = 71 + goto _again + tr85: + m.cs = 71 + goto f18 + tr87: + m.cs = 72 + goto _again + tr88: + m.cs = 72 + goto f9 + tr76: + m.cs = 73 + goto f4 + tr91: + m.cs = 74 + goto _again + tr92: + m.cs = 75 + goto _again + tr93: + m.cs = 76 + goto _again + tr77: + m.cs = 77 + goto f4 + tr94: + m.cs = 78 + goto _again + tr95: + m.cs = 79 + goto _again + tr96: + m.cs = 80 + goto _again + tr97: + m.cs = 81 + goto _again + tr98: + m.cs = 82 + goto _again + tr99: + m.cs = 84 + goto f1 + tr100: + m.cs = 85 + goto _again + tr101: + m.cs = 86 + goto _again + tr102: + m.cs = 87 + goto f2 + tr104: + m.cs = 88 + goto f4 + tr107: + m.cs = 89 + goto _again + tr109: + m.cs = 90 + goto _again + tr111: + m.cs = 91 + goto _again + tr113: + m.cs = 92 + goto _again + tr115: + m.cs = 93 + goto _again + tr117: + m.cs = 94 + goto _again + tr119: + m.cs = 95 + goto _again + tr121: + m.cs = 96 + goto _again + tr123: + m.cs = 97 + goto _again + tr125: + m.cs = 98 + goto _again + tr127: + m.cs = 99 + goto _again + tr129: + m.cs = 100 + goto _again + tr131: + m.cs = 101 + goto _again + tr133: + m.cs = 102 + goto _again + tr135: + m.cs = 103 + goto _again + tr137: + m.cs = 104 + goto _again + tr139: + m.cs = 105 + goto _again + tr141: + m.cs = 106 + goto _again + tr143: + m.cs = 107 + goto _again + tr145: + m.cs = 108 + goto _again + tr147: + m.cs = 109 + goto _again + tr149: + m.cs = 110 + goto _again + tr151: + m.cs = 111 + goto _again + tr153: + m.cs = 112 + goto _again + tr155: + m.cs = 113 + goto _again + tr157: + m.cs = 114 + goto _again + tr159: + m.cs = 115 + goto _again + tr161: + m.cs = 116 + goto _again + tr163: + m.cs = 117 + goto _again + tr165: + m.cs = 118 + goto _again + tr167: + m.cs = 119 + goto _again + tr168: + m.cs = 120 + goto f6 + tr225: + m.cs = 121 + goto _again + tr223: + m.cs = 121 + goto f4 + tr173: + m.cs = 122 + goto _again + tr174: + m.cs = 122 + goto f9 + tr220: + m.cs = 123 + goto _again + tr171: + m.cs = 123 + goto f4 + tr178: + m.cs = 124 + goto _again + tr179: + m.cs = 124 + goto f9 + tr221: + m.cs = 125 + goto f38 + tr182: + m.cs = 126 + goto _again + tr228: + m.cs = 127 + goto _again + tr187: + m.cs = 127 + goto f26 + tr234: + m.cs = 127 + goto f44 + tr190: + m.cs = 128 + goto _again + tr191: + m.cs = 128 + goto f9 + tr240: + m.cs = 129 + goto _again + tr205: + m.cs = 129 + goto f31 + tr245: + m.cs = 129 + goto f50 + tr195: + m.cs = 130 + goto _again + tr196: + m.cs = 130 + goto f9 + tr237: + m.cs = 131 + goto f31 + tr200: + m.cs = 132 + goto _again + tr201: + m.cs = 132 + goto f9 + tr188: + m.cs = 133 + goto f26 + tr247: + m.cs = 134 + goto f45 + tr184: + m.cs = 135 + goto _again + tr206: + m.cs = 136 + goto f31 + tr248: + m.cs = 136 + goto f50 + tr166: + m.cs = 137 + goto _again + tr164: + m.cs = 138 + goto _again + tr162: + m.cs = 139 + goto _again + tr160: + m.cs = 140 + goto _again + tr158: + m.cs = 141 + goto _again + tr156: + m.cs = 142 + goto _again + tr154: + m.cs = 143 + goto _again + tr152: + m.cs = 144 + goto _again + tr150: + m.cs = 145 + goto _again + tr148: + m.cs = 146 + goto _again + tr146: + m.cs = 147 + goto _again + tr144: + m.cs = 148 + goto _again + tr142: + m.cs = 149 + goto _again + tr140: + m.cs = 150 + goto _again + tr138: + m.cs = 151 + goto _again + tr136: + m.cs = 152 + goto _again + tr134: + m.cs = 153 + goto _again + tr132: + m.cs = 154 + goto _again + tr130: + m.cs = 155 + goto _again + tr128: + m.cs = 156 + goto _again + tr126: + m.cs = 157 + goto _again + tr124: + m.cs = 158 + goto _again + tr122: + m.cs = 159 + goto _again + tr120: + m.cs = 160 + goto _again + tr118: + m.cs = 161 + goto _again + tr116: + m.cs = 162 + goto _again + tr114: + m.cs = 163 + goto _again + tr112: + m.cs = 164 + goto _again + tr110: + m.cs = 165 + goto _again + tr108: + m.cs = 166 + goto _again + tr105: + m.cs = 167 + goto f1 + tr208: + m.cs = 168 + goto _again + tr209: + m.cs = 169 + goto _again + tr210: + m.cs = 170 + goto f2 + tr211: + m.cs = 171 + goto _again + tr212: + m.cs = 172 + goto _again + tr42: + m.cs = 172 + goto f4 + tr47: + m.cs = 173 + goto _again + tr48: + m.cs = 173 + goto f9 + tr214: + m.cs = 174 + goto _again + tr82: + m.cs = 174 + goto f16 + tr216: + m.cs = 175 + goto _again + tr84: + m.cs = 175 + goto f18 + tr89: + m.cs = 176 + goto _again + tr90: + m.cs = 176 + goto f9 + tr218: + m.cs = 177 + goto _again + tr170: + m.cs = 177 + goto f4 + tr219: + m.cs = 178 + goto f38 + tr227: + m.cs = 178 + goto f42 + tr233: + m.cs = 178 + goto f45 + tr239: + m.cs = 178 + goto f48 + tr244: + m.cs = 178 + goto f51 + tr224: + m.cs = 179 + goto _again + tr222: + m.cs = 179 + goto f4 + tr175: + m.cs = 180 + goto _again + tr176: + m.cs = 180 + goto f9 + tr180: + m.cs = 181 + goto _again + tr181: + m.cs = 181 + goto f9 + tr226: + m.cs = 182 + goto _again + tr186: + m.cs = 182 + goto f26 + tr232: + m.cs = 182 + goto f44 + tr192: + m.cs = 183 + goto _again + tr193: + m.cs = 183 + goto f9 + tr229: + m.cs = 184 + goto f42 + tr235: + m.cs = 184 + goto f45 + tr230: + m.cs = 185 + goto _again + tr231: + m.cs = 186 + goto _again + tr238: + m.cs = 187 + goto _again + tr204: + m.cs = 187 + goto f31 + tr243: + m.cs = 187 + goto f50 + tr197: + m.cs = 188 + goto _again + tr198: + m.cs = 188 + goto f9 + tr241: + m.cs = 189 + goto _again + tr246: + m.cs = 189 + goto f50 + tr242: + m.cs = 190 + goto _again + tr202: + m.cs = 191 + goto _again + tr207: + m.cs = 192 + goto _again + tr249: + m.cs = 193 + goto _again + + f4: + + m.pb = m.p + + goto _again + f9: + + // List of positions in the buffer to later lowercase + output.tolower = append(output.tolower, m.p-m.pb) + + goto _again + f2: + + output.prefix = string(m.text()) + + goto _again + f6: + + output.ID = string(m.text()) + + goto _again + f38: + + output.SS = string(m.text()) + // Iterate upper letters lowering them + for _, i := range output.tolower { + m.data[m.pb+i] = m.data[m.pb+i] + 32 + } + output.norm = string(m.text()) + // Revert the buffer to the original + for _, i := range output.tolower { + m.data[m.pb+i] = m.data[m.pb+i] - 32 + } + + goto _again + f0: + + m.err = fmt.Errorf(errPrefix, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f5: + + m.err = fmt.Errorf(errIdentifier, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f7: + + m.err = fmt.Errorf(errSpecificString, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f23: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + } + + goto _again + f11: + + m.err = fmt.Errorf(errSCIMNamespace, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f13: + + m.err = fmt.Errorf(errSCIMType, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f15: + + m.err = fmt.Errorf(errSCIMName, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f17: + + if m.p == m.pe { + m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1) + } else { + m.err = fmt.Errorf(errSCIMOther, m.p) + } + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f14: + + output.scim.Type = scimschema.TypeFromString(string(m.text())) + + goto _again + f16: + + output.scim.pos = m.p + + goto _again + f35: + + output.scim.Name = string(m.data[output.scim.pos:m.p]) + + goto _again + f18: + + output.scim.pos = m.p + + goto _again + f22: + + m.err = fmt.Errorf(err8141SpecificString, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f21: + + m.err = fmt.Errorf(err8141Identifier, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f42: + + output.rComponent = string(m.text()) + + goto _again + f48: + + output.qComponent = string(m.text()) + + goto _again + f44: + + if output.rStart { + m.err = fmt.Errorf(err8141RComponentStart, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + } + output.rStart = true + + goto _again + f50: + + if output.qStart { + m.err = fmt.Errorf(err8141QComponentStart, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + } + output.qStart = true + + goto _again + f25: + + m.err = fmt.Errorf(err8141MalformedRComp, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f30: + + m.err = fmt.Errorf(err8141MalformedQComp, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f1: + + m.pb = m.p + + if m.parsingMode != RFC8141Only { + // Throw an error when: + // - we are entering here matching the the prefix in the namespace identifier part + // - looking ahead (3 chars) we find a colon + if pos := m.p + 3; pos < m.pe && m.data[pos] == 58 && output.prefix != "" { + m.err = fmt.Errorf(errNoUrnWithinID, pos) + (m.p)-- + + m.cs = 193 + goto _again + + } + } + + goto _again + f12: + + output.ID = string(m.text()) + + output.scim = &SCIM{} + + goto _again + f3: + + m.err = fmt.Errorf(errIdentifier, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + m.err = fmt.Errorf(errPrefix, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f10: + + m.err = fmt.Errorf(errIdentifier, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + m.err = fmt.Errorf(errNoUrnWithinID, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f8: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + } + + m.err = fmt.Errorf(errSpecificString, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f19: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + } + + if m.p == m.pe { + m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1) + } else { + m.err = fmt.Errorf(errSCIMOther, m.p) + } + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f24: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + } + + m.err = fmt.Errorf(err8141SpecificString, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f27: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + } + + m.err = fmt.Errorf(err8141MalformedRComp, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f28: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + } + + m.err = fmt.Errorf(err8141MalformedQComp, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f20: + + m.err = fmt.Errorf(err8141Identifier, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + m.err = fmt.Errorf(errPrefix, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f26: + + if output.rStart { + m.err = fmt.Errorf(err8141RComponentStart, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + } + output.rStart = true + + m.pb = m.p + + goto _again + f45: - m.pb = m.p + if output.rStart { + m.err = fmt.Errorf(err8141RComponentStart, m.p) + (m.p)-- + + m.cs = 193 + goto _again - goto st39 - st39: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof39 - } - stCase39: - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st40 - } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st40 - } - default: - goto tr46 } - goto tr44 - tr46: + output.rStart = true - m.tolower = append(m.tolower, m.p-m.pb) + output.rComponent = string(m.text()) - goto st40 - st40: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof40 - } - stCase40: - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st45 - } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st45 - } - default: - goto tr48 - } - goto tr44 - tr48: + goto _again + f31: - m.tolower = append(m.tolower, m.p-m.pb) + if output.qStart { + m.err = fmt.Errorf(err8141QComponentStart, m.p) + (m.p)-- + + m.cs = 193 + goto _again - goto st45 - st45: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof45 - } - stCase45: - switch (m.data)[(m.p)] { - case 33: - goto st44 - case 36: - goto st44 - case 37: - goto st39 - case 61: - goto st44 - case 95: - goto st44 - } - switch { - case (m.data)[(m.p)] < 48: - if 39 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 46 { - goto st44 - } - case (m.data)[(m.p)] > 59: - switch { - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st44 - } - case (m.data)[(m.p)] >= 64: - goto st44 - } - default: - goto st44 } - goto tr44 - tr8: + output.qStart = true m.pb = m.p - goto st41 - st41: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof41 - } - stCase41: - switch (m.data)[(m.p)] { - case 45: - goto st7 - case 58: - goto tr10 - case 82: - goto st42 - case 114: - goto st42 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st7 - } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st7 - } - default: - goto st7 - } - goto tr6 - st42: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof42 - } - stCase42: - switch (m.data)[(m.p)] { - case 45: - goto st8 - case 58: - goto tr10 - case 78: - goto st43 - case 110: - goto st43 - } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st8 - } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st8 - } - default: - goto st8 - } - goto tr50 - st43: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof43 + goto _again + f51: + + if output.qStart { + m.err = fmt.Errorf(err8141QComponentStart, m.p) + (m.p)-- + + m.cs = 193 + goto _again + } - stCase43: - if (m.data)[(m.p)] == 45 { - goto st9 + output.qStart = true + + output.qComponent = string(m.text()) + + goto _again + f46: + + m.err = fmt.Errorf(err8141MalformedRComp, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + m.err = fmt.Errorf(err8141MalformedQComp, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + f29: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + } - switch { - case (m.data)[(m.p)] < 65: - if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 { - goto st9 - } - case (m.data)[(m.p)] > 90: - if 97 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 122 { - goto st9 - } - default: - goto st9 + + m.err = fmt.Errorf(err8141MalformedRComp, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + m.err = fmt.Errorf(err8141MalformedQComp, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + goto _again + + _again: + switch _toStateActions[m.cs] { + case 33: + + (m.p)-- + + m.err = fmt.Errorf(err8141InformalID, m.p) + m.cs = 193 + goto _again } - goto tr52 - st46: - if (m.p)++; (m.p) == (m.pe) { - goto _testEof46 + + if m.cs == 0 { + goto _out } - stCase46: - switch (m.data)[(m.p)] { - case 10: - goto st0 - case 13: - goto st0 + if (m.p)++; (m.p) != (m.pe) { + goto _resume } - goto st46 - stOut: - _testEof2: - m.cs = 2 - goto _testEof - _testEof3: - m.cs = 3 - goto _testEof - _testEof4: - m.cs = 4 - goto _testEof - _testEof5: - m.cs = 5 - goto _testEof - _testEof6: - m.cs = 6 - goto _testEof - _testEof7: - m.cs = 7 - goto _testEof - _testEof8: - m.cs = 8 - goto _testEof - _testEof9: - m.cs = 9 - goto _testEof - _testEof10: - m.cs = 10 - goto _testEof - _testEof11: - m.cs = 11 - goto _testEof - _testEof12: - m.cs = 12 - goto _testEof - _testEof13: - m.cs = 13 - goto _testEof - _testEof14: - m.cs = 14 - goto _testEof - _testEof15: - m.cs = 15 - goto _testEof - _testEof16: - m.cs = 16 - goto _testEof - _testEof17: - m.cs = 17 - goto _testEof - _testEof18: - m.cs = 18 - goto _testEof - _testEof19: - m.cs = 19 - goto _testEof - _testEof20: - m.cs = 20 - goto _testEof - _testEof21: - m.cs = 21 - goto _testEof - _testEof22: - m.cs = 22 - goto _testEof - _testEof23: - m.cs = 23 - goto _testEof - _testEof24: - m.cs = 24 - goto _testEof - _testEof25: - m.cs = 25 - goto _testEof - _testEof26: - m.cs = 26 - goto _testEof - _testEof27: - m.cs = 27 - goto _testEof - _testEof28: - m.cs = 28 - goto _testEof - _testEof29: - m.cs = 29 - goto _testEof - _testEof30: - m.cs = 30 - goto _testEof - _testEof31: - m.cs = 31 - goto _testEof - _testEof32: - m.cs = 32 - goto _testEof - _testEof33: - m.cs = 33 - goto _testEof - _testEof34: - m.cs = 34 - goto _testEof - _testEof35: - m.cs = 35 - goto _testEof - _testEof36: - m.cs = 36 - goto _testEof - _testEof37: - m.cs = 37 - goto _testEof - _testEof38: - m.cs = 38 - goto _testEof - _testEof44: - m.cs = 44 - goto _testEof - _testEof39: - m.cs = 39 - goto _testEof - _testEof40: - m.cs = 40 - goto _testEof - _testEof45: - m.cs = 45 - goto _testEof - _testEof41: - m.cs = 41 - goto _testEof - _testEof42: - m.cs = 42 - goto _testEof - _testEof43: - m.cs = 43 - goto _testEof - _testEof46: - m.cs = 46 - goto _testEof - _testEof: { } if (m.p) == (m.eof) { - switch m.cs { - case 44, 45: + switch _eofActions[m.cs] { + case 1: - raw := m.text() - output.SS = string(raw) - // Iterate upper letters lowering them - for _, i := range m.tolower { - raw[i] = raw[i] + 32 - } - output.norm = string(raw) + m.err = fmt.Errorf(errPrefix, m.p) + (m.p)-- - case 1, 2, 4: + m.cs = 193 + goto _again - m.err = fmt.Errorf(errParse, m.p) + case 6: + + m.err = fmt.Errorf(errIdentifier, m.p) (m.p)-- - { - goto st46 - } + m.cs = 193 + goto _again - case 3: + case 8: - m.err = fmt.Errorf(errPrefix, m.p) + m.err = fmt.Errorf(errSpecificString, m.p) (m.p)-- - { - goto st46 + m.cs = 193 + goto _again + + case 24: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + } - m.err = fmt.Errorf(errParse, m.p) + case 12: + + m.err = fmt.Errorf(errSCIMNamespace, m.p) (m.p)-- - { - goto st46 - } + m.cs = 193 + goto _again - case 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 41: + case 14: - m.err = fmt.Errorf(errIdentifier, m.p) + m.err = fmt.Errorf(errSCIMType, m.p) (m.p)-- - { - goto st46 - } + m.cs = 193 + goto _again + + case 16: - m.err = fmt.Errorf(errParse, m.p) + m.err = fmt.Errorf(errSCIMName, m.p) (m.p)-- - { - goto st46 + m.cs = 193 + goto _again + + case 18: + + if m.p == m.pe { + m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1) + } else { + m.err = fmt.Errorf(errSCIMOther, m.p) } + (m.p)-- - case 38: + m.cs = 193 + goto _again - m.err = fmt.Errorf(errSpecificString, m.p) + case 23: + + m.err = fmt.Errorf(err8141SpecificString, m.p) (m.p)-- - { - goto st46 - } + m.cs = 193 + goto _again + + case 22: - m.err = fmt.Errorf(errParse, m.p) + m.err = fmt.Errorf(err8141Identifier, m.p) (m.p)-- - { - goto st46 - } + m.cs = 193 + goto _again - case 42: + case 26: - m.err = fmt.Errorf(errPrefix, m.p) + m.err = fmt.Errorf(err8141MalformedRComp, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + case 31: + + m.err = fmt.Errorf(err8141MalformedQComp, m.p) (m.p)-- - { - goto st46 + m.cs = 193 + goto _again + + case 34: + + output.SS = string(m.text()) + // Iterate upper letters lowering them + for _, i := range output.tolower { + m.data[m.pb+i] = m.data[m.pb+i] + 32 + } + output.norm = string(m.text()) + // Revert the buffer to the original + for _, i := range output.tolower { + m.data[m.pb+i] = m.data[m.pb+i] - 32 + } + + output.kind = RFC2141 + + case 38: + + output.SS = string(m.text()) + // Iterate upper letters lowering them + for _, i := range output.tolower { + m.data[m.pb+i] = m.data[m.pb+i] + 32 + } + output.norm = string(m.text()) + // Revert the buffer to the original + for _, i := range output.tolower { + m.data[m.pb+i] = m.data[m.pb+i] - 32 } + output.kind = RFC8141 + + case 4: + m.err = fmt.Errorf(errIdentifier, m.p) (m.p)-- - { - goto st46 - } + m.cs = 193 + goto _again - m.err = fmt.Errorf(errParse, m.p) + m.err = fmt.Errorf(errPrefix, m.p) (m.p)-- - { - goto st46 - } + m.cs = 193 + goto _again - case 43: + case 11: + + m.err = fmt.Errorf(errIdentifier, m.p) + (m.p)-- + + m.cs = 193 + goto _again m.err = fmt.Errorf(errNoUrnWithinID, m.p) (m.p)-- - { - goto st46 + m.cs = 193 + goto _again + + case 9: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + } - m.err = fmt.Errorf(errIdentifier, m.p) + m.err = fmt.Errorf(errSpecificString, m.p) (m.p)-- - { - goto st46 + m.cs = 193 + goto _again + + case 20: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + } - m.err = fmt.Errorf(errParse, m.p) + if m.p == m.pe { + m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1) + } else { + m.err = fmt.Errorf(errSCIMOther, m.p) + } (m.p)-- - { - goto st46 + m.cs = 193 + goto _again + + case 25: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + } - case 39, 40: + m.err = fmt.Errorf(err8141SpecificString, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + case 28: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + } - m.err = fmt.Errorf(errHex, m.p) + m.err = fmt.Errorf(err8141MalformedRComp, m.p) (m.p)-- - { - goto st46 + m.cs = 193 + goto _again + + case 29: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + } - m.err = fmt.Errorf(errSpecificString, m.p) + m.err = fmt.Errorf(err8141MalformedQComp, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + case 21: + + m.err = fmt.Errorf(err8141Identifier, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + m.err = fmt.Errorf(errPrefix, m.p) (m.p)-- - { - goto st46 + m.cs = 193 + goto _again + + case 42: + + output.rComponent = string(m.text()) + + output.kind = RFC8141 + + case 48: + + output.qComponent = string(m.text()) + + output.kind = RFC8141 + + case 41: + + output.fComponent = string(m.text()) + + output.kind = RFC8141 + + case 40: + + m.pb = m.p + + output.fComponent = string(m.text()) + + output.kind = RFC8141 + + case 30: + + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + (m.p)-- + + m.cs = 193 + goto _again + } - m.err = fmt.Errorf(errParse, m.p) + m.err = fmt.Errorf(err8141MalformedRComp, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + m.err = fmt.Errorf(err8141MalformedQComp, m.p) (m.p)-- - { - goto st46 + m.cs = 193 + goto _again + + case 35: + + output.scim.Name = string(m.data[output.scim.pos:m.p]) + + output.SS = string(m.text()) + // Iterate upper letters lowering them + for _, i := range output.tolower { + m.data[m.pb+i] = m.data[m.pb+i] + 32 + } + output.norm = string(m.text()) + // Revert the buffer to the original + for _, i := range output.tolower { + m.data[m.pb+i] = m.data[m.pb+i] - 32 + } + + output.kind = RFC7643 + + case 37: + + output.scim.Other = string(m.data[output.scim.pos:m.p]) + + output.SS = string(m.text()) + // Iterate upper letters lowering them + for _, i := range output.tolower { + m.data[m.pb+i] = m.data[m.pb+i] + 32 + } + output.norm = string(m.text()) + // Revert the buffer to the original + for _, i := range output.tolower { + m.data[m.pb+i] = m.data[m.pb+i] - 32 + } + + output.kind = RFC7643 + + case 44: + + if output.rStart { + m.err = fmt.Errorf(err8141RComponentStart, m.p) + (m.p)-- + + m.cs = 193 + goto _again + + } + output.rStart = true + + output.rComponent = string(m.text()) + + output.kind = RFC8141 + + case 50: + + if output.qStart { + m.err = fmt.Errorf(err8141QComponentStart, m.p) + (m.p)-- + + m.cs = 193 + goto _again + } + output.qStart = true + + output.qComponent = string(m.text()) + + output.kind = RFC8141 } } @@ -1686,3 +5031,16 @@ func (m *machine) Parse(input []byte) (*URN, error) { return output, nil } + +func (m *machine) WithParsingMode(x ParsingMode) { + m.parsingMode = x + switch m.parsingMode { + case RFC2141Only: + m.startParsingAt = enMain + case RFC8141Only: + m.startParsingAt = enRfc8141Only + case RFC7643Only: + m.startParsingAt = enScimOnly + } + m.parsingModeSet = true +} diff --git a/vendor/github.com/leodido/go-urn/machine.go.rl b/vendor/github.com/leodido/go-urn/machine.go.rl index 3bc05a6..0a17421 100644 --- a/vendor/github.com/leodido/go-urn/machine.go.rl +++ b/vendor/github.com/leodido/go-urn/machine.go.rl @@ -2,15 +2,28 @@ package urn import ( "fmt" + + scimschema "github.com/leodido/go-urn/scim/schema" ) var ( - errPrefix = "expecting the prefix to be the \"urn\" string (whatever case) [col %d]" - errIdentifier = "expecting the identifier to be string (1..31 alnum chars, also containing dashes but not at its start) [col %d]" - errSpecificString = "expecting the specific string to be a string containing alnum, hex, or others ([()+,-.:=@;$_!*']) chars [col %d]" - errNoUrnWithinID = "expecting the identifier to not contain the \"urn\" reserved string [col %d]" - errHex = "expecting the specific string hex chars to be well-formed (%%alnum{2}) [col %d]" - errParse = "parsing error [col %d]" + errPrefix = "expecting the prefix to be the \"urn\" string (whatever case) [col %d]" + errIdentifier = "expecting the identifier to be string (1..31 alnum chars, also containing dashes but not at its beginning) [col %d]" + errSpecificString = "expecting the specific string to be a string containing alnum, hex, or others ([()+,-.:=@;$_!*']) chars [col %d]" + errNoUrnWithinID = "expecting the identifier to not contain the \"urn\" reserved string [col %d]" + errHex = "expecting the percent encoded chars to be well-formed (%%alnum{2}) [col %d]" + errSCIMNamespace = "expecing the SCIM namespace identifier (ietf:params:scim) [col %d]" + errSCIMType = "expecting a correct SCIM type (schemas, api, param) [col %d]" + errSCIMName = "expecting one or more alnum char in the SCIM name part [col %d]" + errSCIMOther = "expecting a well-formed other SCIM part [col %d]" + errSCIMOtherIncomplete = "expecting a not empty SCIM other part after colon [col %d]" + err8141InformalID = "informal URN namespace must be in the form urn-[1-9][0-9] [col %d]" + err8141SpecificString = "expecting the specific string to contain alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] not in first position) chars [col %d]" + err8141Identifier = "expecting the indentifier to be a string with (length 2 to 32 chars) containing alnum (or dashes) not starting or ending with a dash [col %d]" + err8141RComponentStart = "expecting only one r-component (starting with the ?+ sequence) [col %d]" + err8141QComponentStart = "expecting only one q-component (starting with the ?= sequence) [col %d]" + err8141MalformedRComp = "expecting a non-empty r-component containing alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] but not at its beginning) [col %d]" + err8141MalformedQComp = "expecting a non-empty q-component containing alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] but not at its beginning) [col %d]" ) %%{ @@ -24,25 +37,42 @@ action mark { } action tolower { - m.tolower = append(m.tolower, m.p - m.pb) + // List of positions in the buffer to later lowercase + output.tolower = append(output.tolower, m.p - m.pb) } action set_pre { output.prefix = string(m.text()) } +action throw_pre_urn_err { + if m.parsingMode != RFC8141Only { + // Throw an error when: + // - we are entering here matching the the prefix in the namespace identifier part + // - looking ahead (3 chars) we find a colon + if pos := m.p + 3; pos < m.pe && m.data[pos] == 58 && output.prefix != "" { + m.err = fmt.Errorf(errNoUrnWithinID, pos) + fhold; + fgoto fail; + } + } +} + action set_nid { output.ID = string(m.text()) } action set_nss { - raw := m.text() - output.SS = string(raw) + output.SS = string(m.text()) // Iterate upper letters lowering them - for _, i := range m.tolower { - raw[i] = raw[i] + 32 + for _, i := range output.tolower { + m.data[m.pb+i] = m.data[m.pb+i] + 32 + } + output.norm = string(m.text()) + // Revert the buffer to the original + for _, i := range output.tolower { + m.data[m.pb+i] = m.data[m.pb+i] - 32 } - output.norm = string(raw) } action err_pre { @@ -70,30 +100,200 @@ action err_urn { } action err_hex { - m.err = fmt.Errorf(errHex, m.p) + if m.parsingMode == RFC2141Only || m.parsingMode == RFC8141Only { + m.err = fmt.Errorf(errHex, m.p) + fhold; + fgoto fail; + } +} + +action base_type { + output.kind = RFC2141; +} + +pre = ([uU] @err(err_pre) [rR] @err(err_pre) [nN] @err(err_pre)) >mark >throw_pre_urn_err %set_pre; + +nid = (alnum >mark (alnum | '-'){0,31}) $err(err_nid) %set_nid; + +hex = '%' (digit | lower | upper >tolower){2} $err(err_hex); + +sss = (alnum | [()+,\-.:=@;$_!*']); + +nss = (sss | hex)+ $err(err_nss); + +nid_not_urn = (nid - pre %err(err_urn)); + +urn = pre ':' @err(err_pre) (nid_not_urn ':' nss >mark %set_nss) %eof(base_type); + +### SCIM BEG + +action err_scim_nid { + m.err = fmt.Errorf(errSCIMNamespace, m.p) fhold; fgoto fail; } -action err_parse { - m.err = fmt.Errorf(errParse, m.p) +action err_scim_type { + m.err = fmt.Errorf(errSCIMType, m.p) fhold; fgoto fail; } -pre = ([uU][rR][nN] @err(err_pre)) >mark %set_pre; +action err_scim_name { + m.err = fmt.Errorf(errSCIMName, m.p) + fhold; + fgoto fail; +} -nid = (alnum >mark (alnum | '-'){0,31}) %set_nid; +action err_scim_other { + if m.p == m.pe { + m.err = fmt.Errorf(errSCIMOtherIncomplete, m.p-1) + } else { + m.err = fmt.Errorf(errSCIMOther, m.p) + } + fhold; + fgoto fail; +} -hex = '%' (digit | lower | upper >tolower){2} $err(err_hex); +action scim_type { + output.kind = RFC7643; +} -sss = (alnum | [()+,\-.:=@;$_!*']); +action create_scim { + output.scim = &SCIM{}; +} -nss = (sss | hex)+ $err(err_nss); +action set_scim_type { + output.scim.Type = scimschema.TypeFromString(string(m.text())) +} + +action mark_scim_name { + output.scim.pos = m.p +} + +action set_scim_name { + output.scim.Name = string(m.data[output.scim.pos:m.p]) +} + +action mark_scim_other { + output.scim.pos = m.p +} + +action set_scim_other { + output.scim.Other = string(m.data[output.scim.pos:m.p]) +} + +scim_nid = 'ietf:params:scim' >mark %set_nid %create_scim $err(err_scim_nid); + +scim_other = ':' (sss | hex)+ >mark_scim_other %set_scim_other $err(err_scim_other); + +scim_name = (alnum)+ >mark_scim_name %set_scim_name $err(err_scim_name); + +scim_type = ('schemas' | 'api' | 'param') >mark %set_scim_type $err(err_scim_type); + +scim_only := pre ':' @err(err_pre) (scim_nid ':' scim_type ':' scim_name scim_other? %set_nss) %eof(scim_type); + +### SCIM END + +### 8141 BEG + +action err_nss_8141 { + m.err = fmt.Errorf(err8141SpecificString, m.p) + fhold; + fgoto fail; +} + +action err_nid_8141 { + m.err = fmt.Errorf(err8141Identifier, m.p) + fhold; + fgoto fail; +} + +action rfc8141_type { + output.kind = RFC8141; +} + +action set_r_component { + output.rComponent = string(m.text()) +} + +action set_q_component { + output.qComponent = string(m.text()) +} + +action set_f_component { + output.fComponent = string(m.text()) +} + +action informal_nid_match { + fhold; + m.err = fmt.Errorf(err8141InformalID, m.p); + fgoto fail; +} + +action mark_r_start { + if output.rStart { + m.err = fmt.Errorf(err8141RComponentStart, m.p) + fhold; + fgoto fail; + } + output.rStart = true +} + +action mark_q_start { + if output.qStart { + m.err = fmt.Errorf(err8141QComponentStart, m.p) + fhold; + fgoto fail; + } + output.qStart = true +} + +action err_malformed_r_component { + m.err = fmt.Errorf(err8141MalformedRComp, m.p) + fhold; + fgoto fail; +} + +action err_malformed_q_component { + m.err = fmt.Errorf(err8141MalformedQComp, m.p) + fhold; + fgoto fail; +} + +pchar = (sss | '~' | '&' | hex); + +component = pchar (pchar | '/' | '?')*; + +r_start = ('?+') %mark_r_start; + +r_component = r_start <: (r_start | component)+ $err(err_malformed_r_component) >mark %set_r_component; + +q_start = ('?=') %mark_q_start; + +q_component = q_start <: (q_start | component)+ $err(err_malformed_q_component) >mark %set_q_component; + +rq_components = (r_component :>> q_component? | q_component); + +fragment = (pchar | '/' | '?')*; + +f_component = '#' fragment >mark %set_f_component; + +nss_rfc8141 = (pchar >mark (pchar | '/')*) $err(err_nss_8141) %set_nss; + +nid_rfc8141 = (alnum >mark (alnum | '-'){0,30} alnum) $err(err_nid_8141) %set_nid; + +informal_id = pre ('-' [a-zA-z0] %to(informal_nid_match)); + +nid_rfc8141_not_urn = (nid_rfc8141 - informal_id?); + +rfc8141_only := pre ':' @err(err_pre) nid_rfc8141_not_urn ':' nss_rfc8141 rq_components? f_component? %eof(rfc8141_type); + +### 8141 END fail := (any - [\n\r])* @err{ fgoto main; }; -main := (pre ':' (nid - pre %err(err_urn)) $err(err_nid) ':' nss >mark %set_nss) $err(err_parse); +main := urn; }%% @@ -103,6 +303,7 @@ main := (pre ':' (nid - pre %err(err_urn)) $err(err_nid) ':' nss >mark %set_nss) type Machine interface { Error() error Parse(input []byte) (*URN, error) + WithParsingMode(ParsingMode) } type machine struct { @@ -110,12 +311,24 @@ type machine struct { cs int p, pe, eof, pb int err error - tolower []int + startParsingAt int + parsingMode ParsingMode + parsingModeSet bool } // NewMachine creates a new FSM able to parse RFC 2141 strings. -func NewMachine() Machine { - m := &machine{} +func NewMachine(options ...Option) Machine { + m := &machine{ + parsingModeSet: false, + } + + for _, o := range options { + o(m) + } + // Set default parsing mode + if !m.parsingModeSet { + m.WithParsingMode(DefaultParsingMode) + } %% access m.; %% variable p m.p; @@ -137,7 +350,7 @@ func (m *machine) text() []byte { return m.data[m.pb:m.p] } -// Parse parses the input byte array as a RFC 2141 string. +// Parse parses the input byte array as a RFC 2141 or RFC7643 string. func (m *machine) Parse(input []byte) (*URN, error) { m.data = input m.p = 0 @@ -145,10 +358,11 @@ func (m *machine) Parse(input []byte) (*URN, error) { m.pe = len(input) m.eof = len(input) m.err = nil - m.tolower = []int{} - output := &URN{} + m.cs = m.startParsingAt + output := &URN{ + tolower: []int{}, + } - %% write init; %% write exec; if m.cs < first_final || m.cs == en_fail { @@ -157,3 +371,16 @@ func (m *machine) Parse(input []byte) (*URN, error) { return output, nil } + +func (m *machine) WithParsingMode(x ParsingMode) { + m.parsingMode = x + switch m.parsingMode { + case RFC2141Only: + m.startParsingAt = en_main + case RFC8141Only: + m.startParsingAt = en_rfc8141_only + case RFC7643Only: + m.startParsingAt = en_scim_only + } + m.parsingModeSet = true +} \ No newline at end of file diff --git a/vendor/github.com/leodido/go-urn/makefile b/vendor/github.com/leodido/go-urn/makefile index df87cdc..68d5dd0 100644 --- a/vendor/github.com/leodido/go-urn/makefile +++ b/vendor/github.com/leodido/go-urn/makefile @@ -15,18 +15,24 @@ clean: .PHONY: images images: docs/urn.png +.PHONY: snake2camel +snake2camel: + @cd ./tools/snake2camel; go build -o ../../snake2camel . + .PHONY: removecomments removecomments: @cd ./tools/removecomments; go build -o ../../removecomments . machine.go: machine.go.rl +machine.go: snake2camel + machine.go: removecomments machine.go: - $(RAGEL) -Z -G2 -e -o $@ $< + $(RAGEL) -Z -G1 -e -o $@ $< @./removecomments $@ - $(MAKE) -s file=$@ snake2camel + @./snake2camel $@ $(GOFMT) $@ docs/urn.dot: machine.go.rl @@ -41,13 +47,5 @@ bench: *_test.go machine.go go test -bench=. -benchmem -benchtime=5s ./... .PHONY: tests -tests: *_test.go +tests: *_test.go $(GO_TEST) ./... - -.PHONY: snake2camel -snake2camel: - @awk -i inplace '{ \ - while ( match($$0, /(.*)([a-z]+[0-9]*)_([a-zA-Z0-9])(.*)/, cap) ) \ - $$0 = cap[1] cap[2] toupper(cap[3]) cap[4]; \ - print \ - }' $(file) diff --git a/vendor/github.com/leodido/go-urn/options.go b/vendor/github.com/leodido/go-urn/options.go new file mode 100644 index 0000000..c543835 --- /dev/null +++ b/vendor/github.com/leodido/go-urn/options.go @@ -0,0 +1,9 @@ +package urn + +type Option func(Machine) + +func WithParsingMode(mode ParsingMode) Option { + return func(m Machine) { + m.WithParsingMode(mode) + } +} diff --git a/vendor/github.com/leodido/go-urn/parsing_mode.go b/vendor/github.com/leodido/go-urn/parsing_mode.go new file mode 100644 index 0000000..fce5aad --- /dev/null +++ b/vendor/github.com/leodido/go-urn/parsing_mode.go @@ -0,0 +1,12 @@ +package urn + +type ParsingMode int + +const ( + Default ParsingMode = iota + RFC2141Only + RFC7643Only + RFC8141Only +) + +const DefaultParsingMode = RFC2141Only diff --git a/vendor/github.com/leodido/go-urn/scim.go b/vendor/github.com/leodido/go-urn/scim.go new file mode 100644 index 0000000..f6b7aef --- /dev/null +++ b/vendor/github.com/leodido/go-urn/scim.go @@ -0,0 +1,48 @@ +package urn + +import ( + "encoding/json" + "fmt" + + scimschema "github.com/leodido/go-urn/scim/schema" +) + +const errInvalidSCIMURN = "invalid SCIM URN: %s" + +type SCIM struct { + Type scimschema.Type + Name string + Other string + pos int +} + +func (s SCIM) MarshalJSON() ([]byte, error) { + return json.Marshal(s.String()) +} + +func (s *SCIM) UnmarshalJSON(bytes []byte) error { + var str string + if err := json.Unmarshal(bytes, &str); err != nil { + return err + } + // Parse as SCIM + value, ok := Parse([]byte(str), WithParsingMode(RFC7643Only)) + if !ok { + return fmt.Errorf(errInvalidSCIMURN, str) + } + if value.RFC() != RFC7643 { + return fmt.Errorf(errInvalidSCIMURN, str) + } + *s = *value.SCIM() + + return nil +} + +func (s *SCIM) String() string { + ret := fmt.Sprintf("urn:ietf:params:scim:%s:%s", s.Type.String(), s.Name) + if s.Other != "" { + ret += fmt.Sprintf(":%s", s.Other) + } + + return ret +} diff --git a/vendor/github.com/leodido/go-urn/scim/schema/type.go b/vendor/github.com/leodido/go-urn/scim/schema/type.go new file mode 100644 index 0000000..1349182 --- /dev/null +++ b/vendor/github.com/leodido/go-urn/scim/schema/type.go @@ -0,0 +1,36 @@ +package scimschema + +type Type int + +const ( + Unsupported Type = iota + Schemas + API + Param +) + +func (t Type) String() string { + switch t { + case Schemas: + return "schemas" + case API: + return "api" + case Param: + return "param" + } + + return "" +} + +func TypeFromString(input string) Type { + switch input { + case "schemas": + return Schemas + case "api": + return API + case "param": + return Param + } + + return Unsupported +} diff --git a/vendor/github.com/leodido/go-urn/urn.go b/vendor/github.com/leodido/go-urn/urn.go index d51a6c9..894d625 100644 --- a/vendor/github.com/leodido/go-urn/urn.go +++ b/vendor/github.com/leodido/go-urn/urn.go @@ -16,10 +16,18 @@ const errInvalidURN = "invalid URN: %s" // // Details at https://tools.ietf.org/html/rfc2141. type URN struct { - prefix string // Static prefix. Equal to "urn" when empty. - ID string // Namespace identifier - SS string // Namespace specific string - norm string // Normalized namespace specific string + prefix string // Static prefix. Equal to "urn" when empty. + ID string // Namespace identifier (NID) + SS string // Namespace specific string (NSS) + norm string // Normalized namespace specific string + kind Kind + scim *SCIM + rComponent string // RFC8141 + qComponent string // RFC8141 + fComponent string // RFC8141 + rStart bool // RFC8141 + qStart bool // RFC8141 + tolower []int } // Normalize turns the receiving URN into its norm version. @@ -30,12 +38,21 @@ func (u *URN) Normalize() *URN { prefix: "urn", ID: strings.ToLower(u.ID), SS: u.norm, + // rComponent: u.rComponent, + // qComponent: u.qComponent, + // fComponent: u.fComponent, } } // Equal checks the lexical equivalence of the current URN with another one. func (u *URN) Equal(x *URN) bool { - return *u.Normalize() == *x.Normalize() + if x == nil { + return false + } + nu := u.Normalize() + nx := x.Normalize() + + return nu.prefix == nx.prefix && nu.ID == nx.ID && nu.SS == nx.SS } // String reassembles the URN into a valid URN string. @@ -51,14 +68,23 @@ func (u *URN) String() string { res += "urn" } res += u.prefix + ":" + u.ID + ":" + u.SS + if u.rComponent != "" { + res += "?+" + u.rComponent + } + if u.qComponent != "" { + res += "?=" + u.qComponent + } + if u.fComponent != "" { + res += "#" + u.fComponent + } } return res } -// Parse is responsible to create an URN instance from a byte array matching the correct URN syntax. -func Parse(u []byte) (*URN, bool) { - urn, err := NewMachine().Parse(u) +// Parse is responsible to create an URN instance from a byte array matching the correct URN syntax (RFC 2141). +func Parse(u []byte, options ...Option) (*URN, bool) { + urn, err := NewMachine(options...).Parse(u) if err != nil { return nil, false } @@ -71,7 +97,7 @@ func (u URN) MarshalJSON() ([]byte, error) { return json.Marshal(u.String()) } -// MarshalJSON unmarshals a URN from JSON string form (e.g. `"urn:oid:1.2.3.4"`). +// UnmarshalJSON unmarshals a URN from JSON string form (e.g. `"urn:oid:1.2.3.4"`). func (u *URN) UnmarshalJSON(bytes []byte) error { var str string if err := json.Unmarshal(bytes, &str); err != nil { @@ -82,5 +108,34 @@ func (u *URN) UnmarshalJSON(bytes []byte) error { } else { *u = *value } + return nil -} \ No newline at end of file +} + +func (u *URN) IsSCIM() bool { + return u.kind == RFC7643 +} + +func (u *URN) SCIM() *SCIM { + if u.kind != RFC7643 { + return nil + } + + return u.scim +} + +func (u *URN) RFC() Kind { + return u.kind +} + +func (u *URN) FComponent() string { + return u.fComponent +} + +func (u *URN) QComponent() string { + return u.qComponent +} + +func (u *URN) RComponent() string { + return u.rComponent +} diff --git a/vendor/github.com/leodido/go-urn/urn8141.go b/vendor/github.com/leodido/go-urn/urn8141.go new file mode 100644 index 0000000..da4dd06 --- /dev/null +++ b/vendor/github.com/leodido/go-urn/urn8141.go @@ -0,0 +1,30 @@ +package urn + +import ( + "encoding/json" + "fmt" +) + +const errInvalidURN8141 = "invalid URN per RFC 8141: %s" + +type URN8141 struct { + *URN +} + +func (u URN8141) MarshalJSON() ([]byte, error) { + return json.Marshal(u.String()) +} + +func (u *URN8141) UnmarshalJSON(bytes []byte) error { + var str string + if err := json.Unmarshal(bytes, &str); err != nil { + return err + } + if value, ok := Parse([]byte(str), WithParsingMode(RFC8141Only)); !ok { + return fmt.Errorf(errInvalidURN8141, str) + } else { + *u = URN8141{value} + } + + return nil +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_bsd.go b/vendor/github.com/mattn/go-isatty/isatty_bsd.go index d569c0c..d0ea68f 100644 --- a/vendor/github.com/mattn/go-isatty/isatty_bsd.go +++ b/vendor/github.com/mattn/go-isatty/isatty_bsd.go @@ -1,6 +1,7 @@ -//go:build (darwin || freebsd || openbsd || netbsd || dragonfly || hurd) && !appengine +//go:build (darwin || freebsd || openbsd || netbsd || dragonfly || hurd) && !appengine && !tinygo // +build darwin freebsd openbsd netbsd dragonfly hurd // +build !appengine +// +build !tinygo package isatty diff --git a/vendor/github.com/mattn/go-isatty/isatty_others.go b/vendor/github.com/mattn/go-isatty/isatty_others.go index 3150322..7402e06 100644 --- a/vendor/github.com/mattn/go-isatty/isatty_others.go +++ b/vendor/github.com/mattn/go-isatty/isatty_others.go @@ -1,5 +1,6 @@ -//go:build appengine || js || nacl || wasm -// +build appengine js nacl wasm +//go:build (appengine || js || nacl || tinygo || wasm) && !windows +// +build appengine js nacl tinygo wasm +// +build !windows package isatty diff --git a/vendor/github.com/mattn/go-isatty/isatty_tcgets.go b/vendor/github.com/mattn/go-isatty/isatty_tcgets.go index 6778765..0337d8c 100644 --- a/vendor/github.com/mattn/go-isatty/isatty_tcgets.go +++ b/vendor/github.com/mattn/go-isatty/isatty_tcgets.go @@ -1,6 +1,7 @@ -//go:build (linux || aix || zos) && !appengine +//go:build (linux || aix || zos) && !appengine && !tinygo // +build linux aix zos // +build !appengine +// +build !tinygo package isatty diff --git a/vendor/github.com/miekg/dns/README.md b/vendor/github.com/miekg/dns/README.md index e57d86a..10ddda1 100644 --- a/vendor/github.com/miekg/dns/README.md +++ b/vendor/github.com/miekg/dns/README.md @@ -83,6 +83,8 @@ A not-so-up-to-date-list-that-may-be-actually-current: * https://github.com/egbakou/domainverifier * https://github.com/semihalev/sdns * https://github.com/wintbiit/NineDNS +* https://linuxcontainers.org/incus/ +* https://ifconfig.es Send pull request if you want to be listed here. @@ -186,6 +188,9 @@ Example programs can be found in the `github.com/miekg/exdns` repository. * 8777 - DNS Reverse IP Automatic Multicast Tunneling (AMT) Discovery * 8914 - Extended DNS Errors * 8976 - Message Digest for DNS Zones (ZONEMD RR) +* 9460 - Service Binding and Parameter Specification via the DNS +* 9461 - Service Binding Mapping for DNS Servers +* 9462 - Discovery of Designated Resolvers ## Loosely Based Upon diff --git a/vendor/github.com/miekg/dns/defaults.go b/vendor/github.com/miekg/dns/defaults.go index 02d9199..68e766c 100644 --- a/vendor/github.com/miekg/dns/defaults.go +++ b/vendor/github.com/miekg/dns/defaults.go @@ -198,10 +198,12 @@ func IsDomainName(s string) (labels int, ok bool) { off int begin int wasDot bool + escape bool ) for i := 0; i < len(s); i++ { switch s[i] { case '\\': + escape = !escape if off+1 > lenmsg { return labels, false } @@ -217,6 +219,7 @@ func IsDomainName(s string) (labels int, ok bool) { wasDot = false case '.': + escape = false if i == 0 && len(s) > 1 { // leading dots are not legal except for the root zone return labels, false @@ -243,10 +246,13 @@ func IsDomainName(s string) (labels int, ok bool) { labels++ begin = i + 1 default: + escape = false wasDot = false } } - + if escape { + return labels, false + } return labels, true } diff --git a/vendor/github.com/miekg/dns/msg.go b/vendor/github.com/miekg/dns/msg.go index 8294d03..5fa7f9e 100644 --- a/vendor/github.com/miekg/dns/msg.go +++ b/vendor/github.com/miekg/dns/msg.go @@ -714,7 +714,7 @@ func (h *MsgHdr) String() string { return s } -// Pack packs a Msg: it is converted to to wire format. +// Pack packs a Msg: it is converted to wire format. // If the dns.Compress is true the message will be in compressed wire format. func (dns *Msg) Pack() (msg []byte, err error) { return dns.PackBuffer(nil) diff --git a/vendor/github.com/miekg/dns/scan.go b/vendor/github.com/miekg/dns/scan.go index 1f92ae4..e26e802 100644 --- a/vendor/github.com/miekg/dns/scan.go +++ b/vendor/github.com/miekg/dns/scan.go @@ -101,12 +101,13 @@ type ttlState struct { isByDirective bool // isByDirective indicates whether ttl was set by a $TTL directive } -// NewRR reads the RR contained in the string s. Only the first RR is returned. +// NewRR reads a string s and returns the first RR. // If s contains no records, NewRR will return nil with no error. // -// The class defaults to IN and TTL defaults to 3600. The full zone file syntax -// like $TTL, $ORIGIN, etc. is supported. All fields of the returned RR are -// set, except RR.Header().Rdlength which is set to 0. +// The class defaults to IN, TTL defaults to 3600, and +// origin for resolving relative domain names defaults to the DNS root (.). +// Full zone file syntax is supported, including directives like $TTL and $ORIGIN. +// All fields of the returned RR are set from the read data, except RR.Header().Rdlength which is set to 0. func NewRR(s string) (RR, error) { if len(s) > 0 && s[len(s)-1] != '\n' { // We need a closing newline return ReadRR(strings.NewReader(s+"\n"), "") @@ -1282,7 +1283,7 @@ func stringToCm(token string) (e, m uint8, ok bool) { cmeters *= 10 } } - // This slighly ugly condition will allow omitting the 'meter' part, like .01 (meaning 0.01m = 1cm). + // This slightly ugly condition will allow omitting the 'meter' part, like .01 (meaning 0.01m = 1cm). if !hasCM || mStr != "" { meters, err = strconv.Atoi(mStr) // RFC1876 states the max value is 90000000.00. The latter two conditions enforce it. diff --git a/vendor/github.com/miekg/dns/scan_rr.go b/vendor/github.com/miekg/dns/scan_rr.go index 1a90c61..c1a7699 100644 --- a/vendor/github.com/miekg/dns/scan_rr.go +++ b/vendor/github.com/miekg/dns/scan_rr.go @@ -51,25 +51,24 @@ func endingToTxtSlice(c *zlexer, errstr string) ([]string, *ParseError) { switch l.value { case zString: empty = false - if len(l.token) > 255 { - // split up tokens that are larger than 255 into 255-chunks - sx := []string{} - p, i := 0, 255 - for { - if i <= len(l.token) { - sx = append(sx, l.token[p:i]) - } else { - sx = append(sx, l.token[p:]) - break - - } - p, i = p+255, i+255 + // split up tokens that are larger than 255 into 255-chunks + sx := []string{} + p := 0 + for { + i, ok := escapedStringOffset(l.token[p:], 255) + if !ok { + return nil, &ParseError{err: errstr, lex: l} } - s = append(s, sx...) - break - } + if i != -1 && p+i != len(l.token) { + sx = append(sx, l.token[p:p+i]) + } else { + sx = append(sx, l.token[p:]) + break - s = append(s, l.token) + } + p += i + } + s = append(s, sx...) case zBlank: if quote { // zBlank can only be seen in between txt parts. @@ -1920,3 +1919,39 @@ func (rr *APL) parse(c *zlexer, o string) *ParseError { rr.Prefixes = prefixes return nil } + +// escapedStringOffset finds the offset within a string (which may contain escape +// sequences) that corresponds to a certain byte offset. If the input offset is +// out of bounds, -1 is returned (which is *not* considered an error). +func escapedStringOffset(s string, desiredByteOffset int) (int, bool) { + if desiredByteOffset == 0 { + return 0, true + } + + currentByteOffset, i := 0, 0 + + for i < len(s) { + currentByteOffset += 1 + + // Skip escape sequences + if s[i] != '\\' { + // Single plain byte, not an escape sequence. + i++ + } else if isDDD(s[i+1:]) { + // Skip backslash and DDD. + i += 4 + } else if len(s[i+1:]) < 1 { + // No character following the backslash; that's an error. + return 0, false + } else { + // Skip backslash and following byte. + i += 2 + } + + if currentByteOffset >= desiredByteOffset { + return i, true + } + } + + return -1, true +} diff --git a/vendor/github.com/miekg/dns/server.go b/vendor/github.com/miekg/dns/server.go index 0207d6d..81580d1 100644 --- a/vendor/github.com/miekg/dns/server.go +++ b/vendor/github.com/miekg/dns/server.go @@ -188,6 +188,14 @@ type DecorateReader func(Reader) Reader // Implementations should never return a nil Writer. type DecorateWriter func(Writer) Writer +// MsgInvalidFunc is a listener hook for observing incoming messages that were discarded +// because they could not be parsed. +// Every message that is read by a Reader will eventually be provided to the Handler, +// rejected (or ignored) by the MsgAcceptFunc, or passed to this function. +type MsgInvalidFunc func(m []byte, err error) + +func DefaultMsgInvalidFunc(m []byte, err error) {} + // A Server defines parameters for running an DNS server. type Server struct { // Address to listen on, ":dns" if empty. @@ -233,6 +241,8 @@ type Server struct { // AcceptMsgFunc will check the incoming message and will reject it early in the process. // By default DefaultMsgAcceptFunc will be used. MsgAcceptFunc MsgAcceptFunc + // MsgInvalidFunc is optional, will be called if a message is received but cannot be parsed. + MsgInvalidFunc MsgInvalidFunc // Shutdown handling lock sync.RWMutex @@ -277,6 +287,9 @@ func (srv *Server) init() { if srv.MsgAcceptFunc == nil { srv.MsgAcceptFunc = DefaultMsgAcceptFunc } + if srv.MsgInvalidFunc == nil { + srv.MsgInvalidFunc = DefaultMsgInvalidFunc + } if srv.Handler == nil { srv.Handler = DefaultServeMux } @@ -531,6 +544,7 @@ func (srv *Server) serveUDP(l net.PacketConn) error { if cap(m) == srv.UDPSize { srv.udpPool.Put(m[:srv.UDPSize]) } + srv.MsgInvalidFunc(m, ErrShortRead) continue } wg.Add(1) @@ -611,6 +625,7 @@ func (srv *Server) serveUDPPacket(wg *sync.WaitGroup, m []byte, u net.PacketConn func (srv *Server) serveDNS(m []byte, w *response) { dh, off, err := unpackMsgHdr(m, 0) if err != nil { + srv.MsgInvalidFunc(m, err) // Let client hang, they are sending crap; any reply can be used to amplify. return } @@ -620,10 +635,12 @@ func (srv *Server) serveDNS(m []byte, w *response) { switch action := srv.MsgAcceptFunc(dh); action { case MsgAccept: - if req.unpack(dh, m, off) == nil { + err := req.unpack(dh, m, off) + if err == nil { break } + srv.MsgInvalidFunc(m, err) fallthrough case MsgReject, MsgRejectNotImplemented: opcode := req.Opcode diff --git a/vendor/github.com/miekg/dns/svcb.go b/vendor/github.com/miekg/dns/svcb.go index c1a740b..310c7d1 100644 --- a/vendor/github.com/miekg/dns/svcb.go +++ b/vendor/github.com/miekg/dns/svcb.go @@ -14,7 +14,7 @@ import ( // SVCBKey is the type of the keys used in the SVCB RR. type SVCBKey uint16 -// Keys defined in draft-ietf-dnsop-svcb-https-08 Section 14.3.2. +// Keys defined in rfc9460 const ( SVCB_MANDATORY SVCBKey = iota SVCB_ALPN @@ -23,7 +23,8 @@ const ( SVCB_IPV4HINT SVCB_ECHCONFIG SVCB_IPV6HINT - SVCB_DOHPATH // draft-ietf-add-svcb-dns-02 Section 9 + SVCB_DOHPATH // rfc9461 Section 5 + SVCB_OHTTP // rfc9540 Section 8 svcb_RESERVED SVCBKey = 65535 ) @@ -37,6 +38,7 @@ var svcbKeyToStringMap = map[SVCBKey]string{ SVCB_ECHCONFIG: "ech", SVCB_IPV6HINT: "ipv6hint", SVCB_DOHPATH: "dohpath", + SVCB_OHTTP: "ohttp", } var svcbStringToKeyMap = reverseSVCBKeyMap(svcbKeyToStringMap) @@ -201,6 +203,8 @@ func makeSVCBKeyValue(key SVCBKey) SVCBKeyValue { return new(SVCBIPv6Hint) case SVCB_DOHPATH: return new(SVCBDoHPath) + case SVCB_OHTTP: + return new(SVCBOhttp) case svcb_RESERVED: return nil default: @@ -771,8 +775,8 @@ func (s *SVCBIPv6Hint) copy() SVCBKeyValue { // SVCBDoHPath pair is used to indicate the URI template that the // clients may use to construct a DNS over HTTPS URI. // -// See RFC xxxx (https://datatracker.ietf.org/doc/html/draft-ietf-add-svcb-dns-02) -// and RFC yyyy (https://datatracker.ietf.org/doc/html/draft-ietf-add-ddr-06). +// See RFC 9461 (https://datatracker.ietf.org/doc/html/rfc9461) +// and RFC 9462 (https://datatracker.ietf.org/doc/html/rfc9462). // // A basic example of using the dohpath option together with the alpn // option to indicate support for DNS over HTTPS on a certain path: @@ -816,6 +820,44 @@ func (s *SVCBDoHPath) copy() SVCBKeyValue { } } +// The "ohttp" SvcParamKey is used to indicate that a service described in a SVCB RR +// can be accessed as a target using an associated gateway. +// Both the presentation and wire-format values for the "ohttp" parameter MUST be empty. +// +// See RFC 9460 (https://datatracker.ietf.org/doc/html/rfc9460/) +// and RFC 9230 (https://datatracker.ietf.org/doc/html/rfc9230/) +// +// A basic example of using the dohpath option together with the alpn +// option to indicate support for DNS over HTTPS on a certain path: +// +// s := new(dns.SVCB) +// s.Hdr = dns.RR_Header{Name: ".", Rrtype: dns.TypeSVCB, Class: dns.ClassINET} +// e := new(dns.SVCBAlpn) +// e.Alpn = []string{"h2", "h3"} +// p := new(dns.SVCBOhttp) +// s.Value = append(s.Value, e, p) +type SVCBOhttp struct{} + +func (*SVCBOhttp) Key() SVCBKey { return SVCB_OHTTP } +func (*SVCBOhttp) copy() SVCBKeyValue { return &SVCBOhttp{} } +func (*SVCBOhttp) pack() ([]byte, error) { return []byte{}, nil } +func (*SVCBOhttp) String() string { return "" } +func (*SVCBOhttp) len() int { return 0 } + +func (*SVCBOhttp) unpack(b []byte) error { + if len(b) != 0 { + return errors.New("dns: svcbotthp: svcbotthp must have no value") + } + return nil +} + +func (*SVCBOhttp) parse(b string) error { + if b != "" { + return errors.New("dns: svcbotthp: svcbotthp must have no value") + } + return nil +} + // SVCBLocal pair is intended for experimental/private use. The key is recommended // to be in the range [SVCB_PRIVATE_LOWER, SVCB_PRIVATE_UPPER]. // Basic use pattern for creating a keyNNNNN option: diff --git a/vendor/github.com/miekg/dns/xfr.go b/vendor/github.com/miekg/dns/xfr.go index 05b3c5a..5cfbb51 100644 --- a/vendor/github.com/miekg/dns/xfr.go +++ b/vendor/github.com/miekg/dns/xfr.go @@ -1,6 +1,7 @@ package dns import ( + "crypto/tls" "fmt" "time" ) @@ -20,6 +21,7 @@ type Transfer struct { TsigProvider TsigProvider // An implementation of the TsigProvider interface. If defined it replaces TsigSecret and is used for all TSIG operations. TsigSecret map[string]string // Secret(s) for Tsig map[], zonename must be in canonical form (lowercase, fqdn, see RFC 4034 Section 6.2) tsigTimersOnly bool + TLS *tls.Config // TLS config. If Xfr over TLS will be attempted } func (t *Transfer) tsigProvider() TsigProvider { @@ -57,7 +59,11 @@ func (t *Transfer) In(q *Msg, a string) (env chan *Envelope, err error) { } if t.Conn == nil { - t.Conn, err = DialTimeout("tcp", a, timeout) + if t.TLS != nil { + t.Conn, err = DialTimeoutWithTLS("tcp-tls", a, t.TLS, timeout) + } else { + t.Conn, err = DialTimeout("tcp", a, timeout) + } if err != nil { return nil, err } @@ -182,7 +188,7 @@ func (t *Transfer) inIxfr(q *Msg, c chan *Envelope) { if v, ok := rr.(*SOA); ok { if v.Serial == serial { n++ - // quit if it's a full axfr or the the servers' SOA is repeated the third time + // quit if it's a full axfr or the servers' SOA is repeated the third time if axfr && n == 2 || n == 3 { c <- &Envelope{in.Answer, nil} return @@ -203,6 +209,7 @@ func (t *Transfer) inIxfr(q *Msg, c chan *Envelope) { // ch := make(chan *dns.Envelope) // tr := new(dns.Transfer) // var wg sync.WaitGroup +// wg.Add(1) // go func() { // tr.Out(w, r, ch) // wg.Done() diff --git a/vendor/github.com/pelletier/go-toml/v2/CONTRIBUTING.md b/vendor/github.com/pelletier/go-toml/v2/CONTRIBUTING.md index 04dd12b..96ecf9e 100644 --- a/vendor/github.com/pelletier/go-toml/v2/CONTRIBUTING.md +++ b/vendor/github.com/pelletier/go-toml/v2/CONTRIBUTING.md @@ -165,25 +165,22 @@ Checklist: ### New release -1. Decide on the next version number. Use semver. -2. Generate release notes using [`gh`][gh]. Example: +1. Decide on the next version number. Use semver. Review commits since last + version to assess. +2. Tag release. For example: ``` -$ gh api -X POST \ - -F tag_name='v2.0.0-beta.5' \ - -F target_commitish='v2' \ - -F previous_tag_name='v2.0.0-beta.4' \ - --jq '.body' \ - repos/pelletier/go-toml/releases/generate-notes +git checkout v2 +git pull +git tag v2.2.0 +git push --tags ``` -3. Look for "Other changes". That would indicate a pull request not labeled - properly. Tweak labels and pull request titles until changelog looks good for - users. -4. [Draft new release][new-release]. -5. Fill tag and target with the same value used to generate the changelog. -6. Set title to the new tag value. -7. Paste the generated changelog. -8. Check "create discussion", in the "Releases" category. -9. Check pre-release if new version is an alpha or beta. +3. CI automatically builds a draft Github release. Review it and edit as + necessary. Look for "Other changes". That would indicate a pull request not + labeled properly. Tweak labels and pull request titles until changelog looks + good for users. +4. Check "create discussion" box, in the "Releases" category. +5. If new version is an alpha or beta only, check pre-release box. + [issues-tracker]: https://github.com/pelletier/go-toml/issues [bug-report]: https://github.com/pelletier/go-toml/issues/new?template=bug_report.md diff --git a/vendor/github.com/pelletier/go-toml/v2/README.md b/vendor/github.com/pelletier/go-toml/v2/README.md index b10f97f..d964b25 100644 --- a/vendor/github.com/pelletier/go-toml/v2/README.md +++ b/vendor/github.com/pelletier/go-toml/v2/README.md @@ -98,9 +98,9 @@ Given the following struct, let's see how to read it and write it as TOML: ```go type MyConfig struct { - Version int - Name string - Tags []string + Version int + Name string + Tags []string } ``` @@ -119,7 +119,7 @@ tags = ["go", "toml"] var cfg MyConfig err := toml.Unmarshal([]byte(doc), &cfg) if err != nil { - panic(err) + panic(err) } fmt.Println("version:", cfg.Version) fmt.Println("name:", cfg.Name) @@ -140,14 +140,14 @@ as a TOML document: ```go cfg := MyConfig{ - Version: 2, - Name: "go-toml", - Tags: []string{"go", "toml"}, + Version: 2, + Name: "go-toml", + Tags: []string{"go", "toml"}, } b, err := toml.Marshal(cfg) if err != nil { - panic(err) + panic(err) } fmt.Println(string(b)) @@ -175,17 +175,17 @@ the AST level. See https://pkg.go.dev/github.com/pelletier/go-toml/v2/unstable. Execution time speedup compared to other Go TOML libraries: - - - - - - - - - - - + + + + + + + + + + +
Benchmarkgo-toml v1BurntSushi/toml
Marshal/HugoFrontMatter-21.9x2.2x
Marshal/ReferenceFile/map-21.7x2.1x
Marshal/ReferenceFile/struct-22.2x3.0x
Unmarshal/HugoFrontMatter-22.9x2.7x
Unmarshal/ReferenceFile/map-22.6x2.7x
Unmarshal/ReferenceFile/struct-24.6x5.1x
Benchmarkgo-toml v1BurntSushi/toml
Marshal/HugoFrontMatter-21.9x2.2x
Marshal/ReferenceFile/map-21.7x2.1x
Marshal/ReferenceFile/struct-22.2x3.0x
Unmarshal/HugoFrontMatter-22.9x2.7x
Unmarshal/ReferenceFile/map-22.6x2.7x
Unmarshal/ReferenceFile/struct-24.6x5.1x

See more

The table above has the results of the most common use-cases. The table below @@ -193,22 +193,22 @@ contains the results of all benchmarks, including unrealistic ones. It is provided for completeness.

- - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +
Benchmarkgo-toml v1BurntSushi/toml
Marshal/SimpleDocument/map-21.8x2.7x
Marshal/SimpleDocument/struct-22.7x3.8x
Unmarshal/SimpleDocument/map-23.8x3.0x
Unmarshal/SimpleDocument/struct-25.6x4.1x
UnmarshalDataset/example-23.0x3.2x
UnmarshalDataset/code-22.3x2.9x
UnmarshalDataset/twitter-22.6x2.7x
UnmarshalDataset/citm_catalog-22.2x2.3x
UnmarshalDataset/canada-21.8x1.5x
UnmarshalDataset/config-24.1x2.9x
geomean2.7x2.8x
Benchmarkgo-toml v1BurntSushi/toml
Marshal/SimpleDocument/map-21.8x2.7x
Marshal/SimpleDocument/struct-22.7x3.8x
Unmarshal/SimpleDocument/map-23.8x3.0x
Unmarshal/SimpleDocument/struct-25.6x4.1x
UnmarshalDataset/example-23.0x3.2x
UnmarshalDataset/code-22.3x2.9x
UnmarshalDataset/twitter-22.6x2.7x
UnmarshalDataset/citm_catalog-22.2x2.3x
UnmarshalDataset/canada-21.8x1.5x
UnmarshalDataset/config-24.1x2.9x
geomean2.7x2.8x

This table can be generated with ./ci.sh benchmark -a -html.

@@ -233,24 +233,24 @@ Go-toml provides three handy command line tools: * `tomljson`: Reads a TOML file and outputs its JSON representation. - ``` - $ go install github.com/pelletier/go-toml/v2/cmd/tomljson@latest - $ tomljson --help - ``` + ``` + $ go install github.com/pelletier/go-toml/v2/cmd/tomljson@latest + $ tomljson --help + ``` * `jsontoml`: Reads a JSON file and outputs a TOML representation. - ``` - $ go install github.com/pelletier/go-toml/v2/cmd/jsontoml@latest - $ jsontoml --help - ``` + ``` + $ go install github.com/pelletier/go-toml/v2/cmd/jsontoml@latest + $ jsontoml --help + ``` * `tomll`: Lints and reformats a TOML file. - ``` - $ go install github.com/pelletier/go-toml/v2/cmd/tomll@latest - $ tomll --help - ``` + ``` + $ go install github.com/pelletier/go-toml/v2/cmd/tomll@latest + $ tomll --help + ``` ### Docker image @@ -261,7 +261,7 @@ Those tools are also available as a [Docker image][docker]. For example, to use docker run -i ghcr.io/pelletier/go-toml:v2 tomljson < example.toml ``` -Multiple versions are availble on [ghcr.io][docker]. +Multiple versions are available on [ghcr.io][docker]. [docker]: https://github.com/pelletier/go-toml/pkgs/container/go-toml @@ -293,16 +293,16 @@ element in the interface to decode the object. For example: ```go type inner struct { - B interface{} + B interface{} } type doc struct { - A interface{} + A interface{} } d := doc{ - A: inner{ - B: "Before", - }, + A: inner{ + B: "Before", + }, } data := ` @@ -341,7 +341,7 @@ contained in the doc is superior to the capacity of the array. For example: ```go type doc struct { - A [2]string + A [2]string } d := doc{} err := toml.Unmarshal([]byte(`A = ["one", "two", "many"]`), &d) @@ -565,10 +565,11 @@ complete solutions exist out there. ## Versioning -Go-toml follows [Semantic Versioning](https://semver.org). The supported version -of [TOML](https://github.com/toml-lang/toml) is indicated at the beginning of -this document. The last two major versions of Go are supported -(see [Go Release Policy](https://golang.org/doc/devel/release.html#policy)). +Expect for parts explicitely marked otherwise, go-toml follows [Semantic +Versioning](https://semver.org). The supported version of +[TOML](https://github.com/toml-lang/toml) is indicated at the beginning of this +document. The last two major versions of Go are supported (see [Go Release +Policy](https://golang.org/doc/devel/release.html#policy)). ## License diff --git a/vendor/github.com/pelletier/go-toml/v2/internal/tracker/seen.go b/vendor/github.com/pelletier/go-toml/v2/internal/tracker/seen.go index 40e23f8..76df2d5 100644 --- a/vendor/github.com/pelletier/go-toml/v2/internal/tracker/seen.go +++ b/vendor/github.com/pelletier/go-toml/v2/internal/tracker/seen.go @@ -57,7 +57,11 @@ type SeenTracker struct { currentIdx int } -var pool sync.Pool +var pool = sync.Pool{ + New: func() interface{} { + return &SeenTracker{} + }, +} func (s *SeenTracker) reset() { // Always contains a root element at index 0. @@ -149,8 +153,9 @@ func (s *SeenTracker) setExplicitFlag(parentIdx int) { // CheckExpression takes a top-level node and checks that it does not contain // keys that have been seen in previous calls, and validates that types are -// consistent. -func (s *SeenTracker) CheckExpression(node *unstable.Node) error { +// consistent. It returns true if it is the first time this node's key is seen. +// Useful to clear array tables on first use. +func (s *SeenTracker) CheckExpression(node *unstable.Node) (bool, error) { if s.entries == nil { s.reset() } @@ -166,7 +171,7 @@ func (s *SeenTracker) CheckExpression(node *unstable.Node) error { } } -func (s *SeenTracker) checkTable(node *unstable.Node) error { +func (s *SeenTracker) checkTable(node *unstable.Node) (bool, error) { if s.currentIdx >= 0 { s.setExplicitFlag(s.currentIdx) } @@ -192,7 +197,7 @@ func (s *SeenTracker) checkTable(node *unstable.Node) error { } else { entry := s.entries[idx] if entry.kind == valueKind { - return fmt.Errorf("toml: expected %s to be a table, not a %s", string(k), entry.kind) + return false, fmt.Errorf("toml: expected %s to be a table, not a %s", string(k), entry.kind) } } parentIdx = idx @@ -201,25 +206,27 @@ func (s *SeenTracker) checkTable(node *unstable.Node) error { k := it.Node().Data idx := s.find(parentIdx, k) + first := false if idx >= 0 { kind := s.entries[idx].kind if kind != tableKind { - return fmt.Errorf("toml: key %s should be a table, not a %s", string(k), kind) + return false, fmt.Errorf("toml: key %s should be a table, not a %s", string(k), kind) } if s.entries[idx].explicit { - return fmt.Errorf("toml: table %s already exists", string(k)) + return false, fmt.Errorf("toml: table %s already exists", string(k)) } s.entries[idx].explicit = true } else { idx = s.create(parentIdx, k, tableKind, true, false) + first = true } s.currentIdx = idx - return nil + return first, nil } -func (s *SeenTracker) checkArrayTable(node *unstable.Node) error { +func (s *SeenTracker) checkArrayTable(node *unstable.Node) (bool, error) { if s.currentIdx >= 0 { s.setExplicitFlag(s.currentIdx) } @@ -242,7 +249,7 @@ func (s *SeenTracker) checkArrayTable(node *unstable.Node) error { } else { entry := s.entries[idx] if entry.kind == valueKind { - return fmt.Errorf("toml: expected %s to be a table, not a %s", string(k), entry.kind) + return false, fmt.Errorf("toml: expected %s to be a table, not a %s", string(k), entry.kind) } } @@ -252,22 +259,23 @@ func (s *SeenTracker) checkArrayTable(node *unstable.Node) error { k := it.Node().Data idx := s.find(parentIdx, k) - if idx >= 0 { + firstTime := idx < 0 + if firstTime { + idx = s.create(parentIdx, k, arrayTableKind, true, false) + } else { kind := s.entries[idx].kind if kind != arrayTableKind { - return fmt.Errorf("toml: key %s already exists as a %s, but should be an array table", kind, string(k)) + return false, fmt.Errorf("toml: key %s already exists as a %s, but should be an array table", kind, string(k)) } s.clear(idx) - } else { - idx = s.create(parentIdx, k, arrayTableKind, true, false) } s.currentIdx = idx - return nil + return firstTime, nil } -func (s *SeenTracker) checkKeyValue(node *unstable.Node) error { +func (s *SeenTracker) checkKeyValue(node *unstable.Node) (bool, error) { parentIdx := s.currentIdx it := node.Key() @@ -281,11 +289,11 @@ func (s *SeenTracker) checkKeyValue(node *unstable.Node) error { } else { entry := s.entries[idx] if it.IsLast() { - return fmt.Errorf("toml: key %s is already defined", string(k)) + return false, fmt.Errorf("toml: key %s is already defined", string(k)) } else if entry.kind != tableKind { - return fmt.Errorf("toml: expected %s to be a table, not a %s", string(k), entry.kind) + return false, fmt.Errorf("toml: expected %s to be a table, not a %s", string(k), entry.kind) } else if entry.explicit { - return fmt.Errorf("toml: cannot redefine table %s that has already been explicitly defined", string(k)) + return false, fmt.Errorf("toml: cannot redefine table %s that has already been explicitly defined", string(k)) } } @@ -303,45 +311,39 @@ func (s *SeenTracker) checkKeyValue(node *unstable.Node) error { return s.checkArray(value) } - return nil + return false, nil } -func (s *SeenTracker) checkArray(node *unstable.Node) error { +func (s *SeenTracker) checkArray(node *unstable.Node) (first bool, err error) { it := node.Children() for it.Next() { n := it.Node() switch n.Kind { case unstable.InlineTable: - err := s.checkInlineTable(n) + first, err = s.checkInlineTable(n) if err != nil { - return err + return false, err } case unstable.Array: - err := s.checkArray(n) + first, err = s.checkArray(n) if err != nil { - return err + return false, err } } } - return nil + return first, nil } -func (s *SeenTracker) checkInlineTable(node *unstable.Node) error { - if pool.New == nil { - pool.New = func() interface{} { - return &SeenTracker{} - } - } - +func (s *SeenTracker) checkInlineTable(node *unstable.Node) (first bool, err error) { s = pool.Get().(*SeenTracker) s.reset() it := node.Children() for it.Next() { n := it.Node() - err := s.checkKeyValue(n) + first, err = s.checkKeyValue(n) if err != nil { - return err + return false, err } } @@ -352,5 +354,5 @@ func (s *SeenTracker) checkInlineTable(node *unstable.Node) error { // redefinition of its keys: check* functions cannot walk into // a value. pool.Put(s) - return nil + return first, nil } diff --git a/vendor/github.com/pelletier/go-toml/v2/marshaler.go b/vendor/github.com/pelletier/go-toml/v2/marshaler.go index 6fe7853..7f4e20c 100644 --- a/vendor/github.com/pelletier/go-toml/v2/marshaler.go +++ b/vendor/github.com/pelletier/go-toml/v2/marshaler.go @@ -3,6 +3,7 @@ package toml import ( "bytes" "encoding" + "encoding/json" "fmt" "io" "math" @@ -37,10 +38,11 @@ type Encoder struct { w io.Writer // global settings - tablesInline bool - arraysMultiline bool - indentSymbol string - indentTables bool + tablesInline bool + arraysMultiline bool + indentSymbol string + indentTables bool + marshalJsonNumbers bool } // NewEncoder returns a new Encoder that writes to w. @@ -87,6 +89,17 @@ func (enc *Encoder) SetIndentTables(indent bool) *Encoder { return enc } +// SetMarshalJsonNumbers forces the encoder to serialize `json.Number` as a +// float or integer instead of relying on TextMarshaler to emit a string. +// +// *Unstable:* This method does not follow the compatibility guarantees of +// semver. It can be changed or removed without a new major version being +// issued. +func (enc *Encoder) SetMarshalJsonNumbers(indent bool) *Encoder { + enc.marshalJsonNumbers = indent + return enc +} + // Encode writes a TOML representation of v to the stream. // // If v cannot be represented to TOML it returns an error. @@ -252,6 +265,18 @@ func (enc *Encoder) encode(b []byte, ctx encoderCtx, v reflect.Value) ([]byte, e return append(b, x.String()...), nil case LocalDateTime: return append(b, x.String()...), nil + case json.Number: + if enc.marshalJsonNumbers { + if x == "" { /// Useful zero value. + return append(b, "0"...), nil + } else if v, err := x.Int64(); err == nil { + return enc.encode(b, ctx, reflect.ValueOf(v)) + } else if f, err := x.Float64(); err == nil { + return enc.encode(b, ctx, reflect.ValueOf(f)) + } else { + return nil, fmt.Errorf("toml: unable to convert %q to int64 or float64", x) + } + } } hasTextMarshaler := v.Type().Implements(textMarshalerType) @@ -707,6 +732,8 @@ func walkStruct(ctx encoderCtx, t *table, v reflect.Value) { if fieldType.Anonymous { if fieldType.Type.Kind() == reflect.Struct { walkStruct(ctx, t, f) + } else if fieldType.Type.Kind() == reflect.Pointer && !f.IsNil() && f.Elem().Kind() == reflect.Struct { + walkStruct(ctx, t, f.Elem()) } continue } else { @@ -998,6 +1025,10 @@ func (enc *Encoder) encodeSliceAsArrayTable(b []byte, ctx encoderCtx, v reflect. scratch = enc.commented(ctx.commented, scratch) + if enc.indentTables { + scratch = enc.indent(ctx.indent, scratch) + } + scratch = append(scratch, "[["...) for i, k := range ctx.parentKey { diff --git a/vendor/github.com/pelletier/go-toml/v2/unmarshaler.go b/vendor/github.com/pelletier/go-toml/v2/unmarshaler.go index c5e5f33..98231ba 100644 --- a/vendor/github.com/pelletier/go-toml/v2/unmarshaler.go +++ b/vendor/github.com/pelletier/go-toml/v2/unmarshaler.go @@ -35,6 +35,9 @@ type Decoder struct { // global settings strict bool + + // toggles unmarshaler interface + unmarshalerInterface bool } // NewDecoder creates a new Decoder that will read from r. @@ -54,6 +57,24 @@ func (d *Decoder) DisallowUnknownFields() *Decoder { return d } +// EnableUnmarshalerInterface allows to enable unmarshaler interface. +// +// With this feature enabled, types implementing the unstable/Unmarshaler +// interface can be decoded from any structure of the document. It allows types +// that don't have a straightfoward TOML representation to provide their own +// decoding logic. +// +// Currently, types can only decode from a single value. Tables and array tables +// are not supported. +// +// *Unstable:* This method does not follow the compatibility guarantees of +// semver. It can be changed or removed without a new major version being +// issued. +func (d *Decoder) EnableUnmarshalerInterface() *Decoder { + d.unmarshalerInterface = true + return d +} + // Decode the whole content of r into v. // // By default, values in the document that don't exist in the target Go value @@ -108,6 +129,7 @@ func (d *Decoder) Decode(v interface{}) error { strict: strict{ Enabled: d.strict, }, + unmarshalerInterface: d.unmarshalerInterface, } return dec.FromParser(v) @@ -127,6 +149,10 @@ type decoder struct { // need to be skipped. skipUntilTable bool + // Flag indicating that the current array/slice table should be cleared because + // it is the first encounter of an array table. + clearArrayTable bool + // Tracks position in Go arrays. // This is used when decoding [[array tables]] into Go arrays. Given array // tables are separate TOML expression, we need to keep track of where we @@ -139,6 +165,9 @@ type decoder struct { // Strict mode strict strict + // Flag that enables/disables unmarshaler interface. + unmarshalerInterface bool + // Current context for the error. errorContext *errorContext } @@ -246,9 +275,10 @@ Rules for the unmarshal code: func (d *decoder) handleRootExpression(expr *unstable.Node, v reflect.Value) error { var x reflect.Value var err error + var first bool // used for to clear array tables on first use if !(d.skipUntilTable && expr.Kind == unstable.KeyValue) { - err = d.seen.CheckExpression(expr) + first, err = d.seen.CheckExpression(expr) if err != nil { return err } @@ -267,6 +297,7 @@ func (d *decoder) handleRootExpression(expr *unstable.Node, v reflect.Value) err case unstable.ArrayTable: d.skipUntilTable = false d.strict.EnterArrayTable(expr) + d.clearArrayTable = first x, err = d.handleArrayTable(expr.Key(), v) default: panic(fmt.Errorf("parser should not permit expression of kind %s at document root", expr.Kind)) @@ -307,6 +338,10 @@ func (d *decoder) handleArrayTableCollectionLast(key unstable.Iterator, v reflec reflect.Copy(nelem, elem) elem = nelem } + if d.clearArrayTable && elem.Len() > 0 { + elem.SetLen(0) + d.clearArrayTable = false + } } return d.handleArrayTableCollectionLast(key, elem) case reflect.Ptr: @@ -325,6 +360,10 @@ func (d *decoder) handleArrayTableCollectionLast(key unstable.Iterator, v reflec return v, nil case reflect.Slice: + if d.clearArrayTable && v.Len() > 0 { + v.SetLen(0) + d.clearArrayTable = false + } elemType := v.Type().Elem() var elem reflect.Value if elemType.Kind() == reflect.Interface { @@ -576,7 +615,7 @@ func (d *decoder) handleKeyValues(v reflect.Value) (reflect.Value, error) { break } - err := d.seen.CheckExpression(expr) + _, err := d.seen.CheckExpression(expr) if err != nil { return reflect.Value{}, err } @@ -634,6 +673,14 @@ func (d *decoder) handleValue(value *unstable.Node, v reflect.Value) error { v = initAndDereferencePointer(v) } + if d.unmarshalerInterface { + if v.CanAddr() && v.Addr().CanInterface() { + if outi, ok := v.Addr().Interface().(unstable.Unmarshaler); ok { + return outi.UnmarshalTOML(value) + } + } + } + ok, err := d.tryTextUnmarshaler(value, v) if ok || err != nil { return err diff --git a/vendor/github.com/pelletier/go-toml/v2/unstable/unmarshaler.go b/vendor/github.com/pelletier/go-toml/v2/unstable/unmarshaler.go new file mode 100644 index 0000000..00cfd6d --- /dev/null +++ b/vendor/github.com/pelletier/go-toml/v2/unstable/unmarshaler.go @@ -0,0 +1,7 @@ +package unstable + +// The Unmarshaler interface may be implemented by types to customize their +// behavior when being unmarshaled from a TOML document. +type Unmarshaler interface { + UnmarshalTOML(value *Node) error +} diff --git a/vendor/github.com/ugorji/go/codec/cbor.go b/vendor/github.com/ugorji/go/codec/cbor.go index 1094448..802b1fc 100644 --- a/vendor/github.com/ugorji/go/codec/cbor.go +++ b/vendor/github.com/ugorji/go/codec/cbor.go @@ -123,6 +123,11 @@ type cborEncDriver struct { encDriverNoopContainerWriter h *CborHandle + // scratch buffer for: encode time, numbers, etc + // + // RFC3339Nano uses 35 chars: 2006-01-02T15:04:05.999999999Z07:00 + b [40]byte + e Encoder } @@ -204,7 +209,7 @@ func (e *cborEncDriver) EncodeTime(t time.Time) { e.EncodeNil() } else if e.h.TimeRFC3339 { e.encUint(0, cborBaseTag) - e.encStringBytesS(cborBaseString, t.Format(time.RFC3339Nano)) + e.encStringBytesS(cborBaseString, stringView(fmtTime(t, time.RFC3339Nano, e.b[:0]))) } else { e.encUint(1, cborBaseTag) t = t.UTC().Round(time.Microsecond) @@ -427,12 +432,13 @@ func (d *cborDecDriver) decLen() int { return int(d.decUint()) } -func (d *cborDecDriver) decAppendIndefiniteBytes(bs []byte) []byte { +func (d *cborDecDriver) decAppendIndefiniteBytes(bs []byte, major byte) []byte { d.bdRead = false for !d.CheckBreak() { - if major := d.bd >> 5; major != cborMajorBytes && major != cborMajorString { - d.d.errorf("invalid indefinite string/bytes %x (%s); got major %v, expected %v or %v", - d.bd, cbordesc(d.bd), major, cborMajorBytes, cborMajorString) + chunkMajor := d.bd >> 5 + if chunkMajor != major { + d.d.errorf("malformed indefinite string/bytes %x (%s); contains chunk with major type %v, expected %v", + d.bd, cbordesc(d.bd), chunkMajor, major) } n := uint(d.decLen()) oldLen := uint(len(bs)) @@ -445,6 +451,9 @@ func (d *cborDecDriver) decAppendIndefiniteBytes(bs []byte) []byte { bs = bs[:newLen] } d.d.decRd.readb(bs[oldLen:newLen]) + if d.h.ValidateUnicode && major == cborMajorString && !utf8.Valid(bs[oldLen:newLen]) { + d.d.errorf("indefinite-length text string contains chunk that is not a valid utf-8 sequence: 0x%x", bs[oldLen:newLen]) + } d.bdRead = false } d.bdRead = false @@ -580,9 +589,9 @@ func (d *cborDecDriver) DecodeBytes(bs []byte) (bsOut []byte) { d.bdRead = false if bs == nil { d.d.decByteState = decByteStateReuseBuf - return d.decAppendIndefiniteBytes(d.d.b[:0]) + return d.decAppendIndefiniteBytes(d.d.b[:0], d.bd>>5) } - return d.decAppendIndefiniteBytes(bs[:0]) + return d.decAppendIndefiniteBytes(bs[:0], d.bd>>5) } if d.bd == cborBdIndefiniteArray { d.bdRead = false diff --git a/vendor/github.com/ugorji/go/codec/decode.go b/vendor/github.com/ugorji/go/codec/decode.go index d549188..f98c8ff 100644 --- a/vendor/github.com/ugorji/go/codec/decode.go +++ b/vendor/github.com/ugorji/go/codec/decode.go @@ -1399,6 +1399,10 @@ func NewDecoderString(s string, h Handle) *Decoder { return NewDecoderBytes(bytesView(s), h) } +func (d *Decoder) HandleName() string { + return d.hh.Name() +} + func (d *Decoder) r() *decRd { return &d.decRd } @@ -1580,14 +1584,9 @@ func (d *Decoder) MustDecode(v interface{}) { d.calls-- } -// Release releases shared (pooled) resources. -// -// It is important to call Release() when done with a Decoder, so those resources -// are released instantly for use by subsequently created Decoders. -// -// By default, Release() is automatically called unless the option ExplicitRelease is set. +// Release is a no-op. // -// Deprecated: Release is a no-op as pooled resources are not used with an Decoder. +// Deprecated: Pooled resources are not used with a Decoder. // This method is kept for compatibility reasons only. func (d *Decoder) Release() { } diff --git a/vendor/github.com/ugorji/go/codec/encode.go b/vendor/github.com/ugorji/go/codec/encode.go index 70361b5..0e9f0cc 100644 --- a/vendor/github.com/ugorji/go/codec/encode.go +++ b/vendor/github.com/ugorji/go/codec/encode.go @@ -984,6 +984,10 @@ func NewEncoderBytes(out *[]byte, h Handle) *Encoder { return e } +func (e *Encoder) HandleName() string { + return e.hh.Name() +} + func (e *Encoder) init(h Handle) { initHandle(h) e.err = errEncoderNotInitialized @@ -1150,12 +1154,9 @@ func (e *Encoder) MustEncode(v interface{}) { } } -// Release releases shared (pooled) resources. -// -// It is important to call Release() when done with an Encoder, so those resources -// are released instantly for use by subsequently created Encoders. +// Release is a no-op. // -// Deprecated: Release is a no-op as pooled resources are not used with an Encoder. +// Deprecated: Pooled resources are not used with an Encoder. // This method is kept for compatibility reasons only. func (e *Encoder) Release() { } diff --git a/vendor/github.com/ugorji/go/codec/gen.go b/vendor/github.com/ugorji/go/codec/gen.go index de7ee72..0026e3e 100644 --- a/vendor/github.com/ugorji/go/codec/gen.go +++ b/vendor/github.com/ugorji/go/codec/gen.go @@ -8,7 +8,7 @@ package codec import ( "bytes" - "encoding/base64" + "encoding/base32" "errors" "fmt" "go/format" @@ -190,7 +190,11 @@ var ( errGenExpectArrayOrMap = errors.New("unexpected type - expecting array/map/slice") errGenUnexpectedTypeFastpath = errors.New("fast-path: unexpected type - requires map or slice") - genBase64enc = base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__") + // don't use base64, only 63 characters allowed in valid go identifiers + // ie ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ + // + // don't use numbers, as a valid go identifer must start with a letter. + genTypenameEnc = base32.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef") genQNameRegex = regexp.MustCompile(`[A-Za-z_.]+`) ) @@ -2303,8 +2307,6 @@ func genMethodNameT(t reflect.Type, tRef reflect.Type) (n string) { } } else { // best way to get the package name inclusive - // return ptrPfx + strings.Replace(tstr, ".", "_", 1000) - // return ptrPfx + genBase64enc.EncodeToString([]byte(tstr)) if t.Name() != "" && genQNameRegex.MatchString(tstr) { return ptrPfx + strings.Replace(tstr, ".", "_", 1000) } else { @@ -2315,12 +2317,12 @@ func genMethodNameT(t reflect.Type, tRef reflect.Type) (n string) { } } -// genCustomNameForType base64encodes the t.String() value in such a way +// genCustomNameForType base32 encodes the t.String() value in such a way // that it can be used within a function name. func genCustomTypeName(tstr string) string { - len2 := genBase64enc.EncodedLen(len(tstr)) + len2 := genTypenameEnc.EncodedLen(len(tstr)) bufx := make([]byte, len2) - genBase64enc.Encode(bufx, []byte(tstr)) + genTypenameEnc.Encode(bufx, []byte(tstr)) for i := len2 - 1; i >= 0; i-- { if bufx[i] == '=' { len2-- diff --git a/vendor/github.com/ugorji/go/codec/helper.go b/vendor/github.com/ugorji/go/codec/helper.go index 19df27b..ecd87ba 100644 --- a/vendor/github.com/ugorji/go/codec/helper.go +++ b/vendor/github.com/ugorji/go/codec/helper.go @@ -110,8 +110,7 @@ package codec // // ------------------------------------------ // Bounds Checking -// - Allow bytesDecReader to incur "bounds check error", and -// recover that as an io.EOF. +// - Allow bytesDecReader to incur "bounds check error", and recover that as an io error. // This allows the bounds check branch to always be taken by the branch predictor, // giving better performance (in theory), while ensuring that the code is shorter. // @@ -857,26 +856,10 @@ type BasicHandle struct { // Once a Handle has been initialized (used), do not modify this option. It will be ignored. TimeNotBuiltin bool - // ExplicitRelease configures whether Release() is implicitly called after an encode or - // decode call. + // ExplicitRelease is ignored and has no effect. // - // If you will hold onto an Encoder or Decoder for re-use, by calling Reset(...) - // on it or calling (Must)Encode repeatedly into a given []byte or io.Writer, - // then you do not want it to be implicitly closed after each Encode/Decode call. - // Doing so will unnecessarily return resources to the shared pool, only for you to - // grab them right after again to do another Encode/Decode call. - // - // Instead, you configure ExplicitRelease=true, and you explicitly call Release() when - // you are truly done. - // - // As an alternative, you can explicitly set a finalizer - so its resources - // are returned to the shared pool before it is garbage-collected. Do it as below: - // runtime.SetFinalizer(e, (*Encoder).Release) - // runtime.SetFinalizer(d, (*Decoder).Release) - // - // Deprecated: This is not longer used as pools are only used for long-lived objects - // which are shared across goroutines. - // Setting this value has no effect. It is maintained for backward compatibility. + // Deprecated: Pools are only used for long-lived objects shared across goroutines. + // It is maintained for backward compatibility. ExplicitRelease bool // ---- cache line @@ -2489,7 +2472,7 @@ func panicValToErr(h errDecorator, v interface{}, err *error) { case runtime.Error: d, dok := h.(*Decoder) if dok && d.bytes && isSliceBoundsError(xerr.Error()) { - *err = io.EOF + *err = io.ErrUnexpectedEOF } else { h.wrapErr(xerr, err) } @@ -2803,7 +2786,7 @@ func freelistCapacity(length int) (capacity int) { // bytesFreelist is a list of byte buffers, sorted by cap. // // In anecdotal testing (running go test -tsd 1..6), we couldn't get -// the length ofthe list > 4 at any time. So we believe a linear search +// the length of the list > 4 at any time. So we believe a linear search // without bounds checking is sufficient. // // Typical usage model: @@ -2821,7 +2804,7 @@ func freelistCapacity(length int) (capacity int) { // v1 := v0 // ... use v1 ... // blist.put(v1) -// if byteSliceAddr(v0) != byteSliceAddr(v1) { +// if !byteSliceSameData(v0, v1) { // blist.put(v0) // } type bytesFreelist [][]byte diff --git a/vendor/github.com/ugorji/go/codec/json.go b/vendor/github.com/ugorji/go/codec/json.go index f7d2343..569b0cc 100644 --- a/vendor/github.com/ugorji/go/codec/json.go +++ b/vendor/github.com/ugorji/go/codec/json.go @@ -1301,6 +1301,9 @@ func (d *jsonDecDriver) DecodeNaked() { // Note also that the float values for NaN, +Inf or -Inf are encoded as null, // as suggested by NOTE 4 of the ECMA-262 ECMAScript Language Specification 5.1 edition. // see http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf . +// +// Note the following behaviour differences vs std-library encoding/json package: +// - struct field names matched in case-sensitive manner type JsonHandle struct { textEncodingType BasicHandle diff --git a/vendor/github.com/ugorji/go/codec/msgpack.go b/vendor/github.com/ugorji/go/codec/msgpack.go index c8b539d..c0861df 100644 --- a/vendor/github.com/ugorji/go/codec/msgpack.go +++ b/vendor/github.com/ugorji/go/codec/msgpack.go @@ -1174,7 +1174,7 @@ func (c *msgpackSpecRpcCodec) ReadRequestBody(body interface{}) error { func (c *msgpackSpecRpcCodec) parseCustomHeader(expectTypeByte byte, msgid *uint64, methodOrError *string) (err error) { if cls := c.cls.load(); cls.closed { - return io.EOF + return io.ErrUnexpectedEOF } // We read the response header by hand diff --git a/vendor/github.com/ugorji/go/codec/reader.go b/vendor/github.com/ugorji/go/codec/reader.go index 3fea9f4..ec5dac0 100644 --- a/vendor/github.com/ugorji/go/codec/reader.go +++ b/vendor/github.com/ugorji/go/codec/reader.go @@ -350,9 +350,9 @@ func (z *ioDecReader) unreadn1() { // bytesDecReader is a decReader that reads off a byte slice with zero copying // -// Note: we do not try to convert index'ing out of bounds to an io.EOF. +// Note: we do not try to convert index'ing out of bounds to an io error. // instead, we let it bubble up to the exported Encode/Decode method -// and recover it as an io.EOF. +// and recover it as an io error. // // Every function here MUST defensively check bounds either explicitly // or via a bounds check. diff --git a/vendor/golang.org/x/arch/x86/x86asm/gnu.go b/vendor/golang.org/x/arch/x86/x86asm/gnu.go index 75cff72..8eba1fd 100644 --- a/vendor/golang.org/x/arch/x86/x86asm/gnu.go +++ b/vendor/golang.org/x/arch/x86/x86asm/gnu.go @@ -10,7 +10,7 @@ import ( ) // GNUSyntax returns the GNU assembler syntax for the instruction, as defined by GNU binutils. -// This general form is often called ``AT&T syntax'' as a reference to AT&T System V Unix. +// This general form is often called “AT&T syntax” as a reference to AT&T System V Unix. func GNUSyntax(inst Inst, pc uint64, symname SymLookup) string { // Rewrite instruction to mimic GNU peculiarities. // Note that inst has been passed by value and contains diff --git a/vendor/golang.org/x/arch/x86/x86asm/inst.go b/vendor/golang.org/x/arch/x86/x86asm/inst.go index 4632b50..e98f1a8 100644 --- a/vendor/golang.org/x/arch/x86/x86asm/inst.go +++ b/vendor/golang.org/x/arch/x86/x86asm/inst.go @@ -144,7 +144,7 @@ type Arg interface { // the interface value instead of requiring an allocation. // A Reg is a single register. -// The zero Reg value has no name but indicates ``no register.'' +// The zero Reg value has no name but indicates “no register.” type Reg uint8 const ( diff --git a/vendor/golang.org/x/arch/x86/x86asm/plan9x.go b/vendor/golang.org/x/arch/x86/x86asm/plan9x.go index de41794..9e866d8 100644 --- a/vendor/golang.org/x/arch/x86/x86asm/plan9x.go +++ b/vendor/golang.org/x/arch/x86/x86asm/plan9x.go @@ -83,6 +83,12 @@ func GoSyntax(inst Inst, pc uint64, symname SymLookup) string { } } + if inst.Op == CMP { + // Use reads-left-to-right ordering for comparisons. + // See issue 60920. + args[0], args[1] = args[1], args[0] + } + if args != nil { op += " " + strings.Join(args, ", ") } diff --git a/vendor/golang.org/x/crypto/sha3/hashes.go b/vendor/golang.org/x/crypto/sha3/hashes.go index 0d8043f..5eae6cb 100644 --- a/vendor/golang.org/x/crypto/sha3/hashes.go +++ b/vendor/golang.org/x/crypto/sha3/hashes.go @@ -16,39 +16,43 @@ import ( // Its generic security strength is 224 bits against preimage attacks, // and 112 bits against collision attacks. func New224() hash.Hash { - if h := new224Asm(); h != nil { - return h - } - return &state{rate: 144, outputLen: 28, dsbyte: 0x06} + return new224() } // New256 creates a new SHA3-256 hash. // Its generic security strength is 256 bits against preimage attacks, // and 128 bits against collision attacks. func New256() hash.Hash { - if h := new256Asm(); h != nil { - return h - } - return &state{rate: 136, outputLen: 32, dsbyte: 0x06} + return new256() } // New384 creates a new SHA3-384 hash. // Its generic security strength is 384 bits against preimage attacks, // and 192 bits against collision attacks. func New384() hash.Hash { - if h := new384Asm(); h != nil { - return h - } - return &state{rate: 104, outputLen: 48, dsbyte: 0x06} + return new384() } // New512 creates a new SHA3-512 hash. // Its generic security strength is 512 bits against preimage attacks, // and 256 bits against collision attacks. func New512() hash.Hash { - if h := new512Asm(); h != nil { - return h - } + return new512() +} + +func new224Generic() *state { + return &state{rate: 144, outputLen: 28, dsbyte: 0x06} +} + +func new256Generic() *state { + return &state{rate: 136, outputLen: 32, dsbyte: 0x06} +} + +func new384Generic() *state { + return &state{rate: 104, outputLen: 48, dsbyte: 0x06} +} + +func new512Generic() *state { return &state{rate: 72, outputLen: 64, dsbyte: 0x06} } diff --git a/vendor/golang.org/x/crypto/sha3/hashes_generic.go b/vendor/golang.org/x/crypto/sha3/hashes_generic.go deleted file mode 100644 index fe8c847..0000000 --- a/vendor/golang.org/x/crypto/sha3/hashes_generic.go +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2017 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build !gc || purego || !s390x - -package sha3 - -import ( - "hash" -) - -// new224Asm returns an assembly implementation of SHA3-224 if available, -// otherwise it returns nil. -func new224Asm() hash.Hash { return nil } - -// new256Asm returns an assembly implementation of SHA3-256 if available, -// otherwise it returns nil. -func new256Asm() hash.Hash { return nil } - -// new384Asm returns an assembly implementation of SHA3-384 if available, -// otherwise it returns nil. -func new384Asm() hash.Hash { return nil } - -// new512Asm returns an assembly implementation of SHA3-512 if available, -// otherwise it returns nil. -func new512Asm() hash.Hash { return nil } diff --git a/vendor/golang.org/x/crypto/sha3/hashes_noasm.go b/vendor/golang.org/x/crypto/sha3/hashes_noasm.go new file mode 100644 index 0000000..9d85fb6 --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/hashes_noasm.go @@ -0,0 +1,23 @@ +// Copyright 2023 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !gc || purego || !s390x + +package sha3 + +func new224() *state { + return new224Generic() +} + +func new256() *state { + return new256Generic() +} + +func new384() *state { + return new384Generic() +} + +func new512() *state { + return new512Generic() +} diff --git a/vendor/golang.org/x/crypto/sha3/sha3.go b/vendor/golang.org/x/crypto/sha3/sha3.go index 4884d17..afedde5 100644 --- a/vendor/golang.org/x/crypto/sha3/sha3.go +++ b/vendor/golang.org/x/crypto/sha3/sha3.go @@ -23,7 +23,6 @@ const ( type state struct { // Generic sponge components. a [25]uint64 // main state of the hash - buf []byte // points into storage rate int // the number of bytes of state to use // dsbyte contains the "domain separation" bits and the first bit of @@ -40,7 +39,8 @@ type state struct { // Extendable-Output Functions (May 2014)" dsbyte byte - storage storageBuf + i, n int // storage[i:n] is the buffer, i is only used while squeezing + storage [maxRate]byte // Specific to SHA-3 and SHAKE. outputLen int // the default output size in bytes @@ -54,24 +54,18 @@ func (d *state) BlockSize() int { return d.rate } func (d *state) Size() int { return d.outputLen } // Reset clears the internal state by zeroing the sponge state and -// the byte buffer, and setting Sponge.state to absorbing. +// the buffer indexes, and setting Sponge.state to absorbing. func (d *state) Reset() { // Zero the permutation's state. for i := range d.a { d.a[i] = 0 } d.state = spongeAbsorbing - d.buf = d.storage.asBytes()[:0] + d.i, d.n = 0, 0 } func (d *state) clone() *state { ret := *d - if ret.state == spongeAbsorbing { - ret.buf = ret.storage.asBytes()[:len(ret.buf)] - } else { - ret.buf = ret.storage.asBytes()[d.rate-cap(d.buf) : d.rate] - } - return &ret } @@ -82,43 +76,40 @@ func (d *state) permute() { case spongeAbsorbing: // If we're absorbing, we need to xor the input into the state // before applying the permutation. - xorIn(d, d.buf) - d.buf = d.storage.asBytes()[:0] + xorIn(d, d.storage[:d.rate]) + d.n = 0 keccakF1600(&d.a) case spongeSqueezing: // If we're squeezing, we need to apply the permutation before // copying more output. keccakF1600(&d.a) - d.buf = d.storage.asBytes()[:d.rate] - copyOut(d, d.buf) + d.i = 0 + copyOut(d, d.storage[:d.rate]) } } // pads appends the domain separation bits in dsbyte, applies // the multi-bitrate 10..1 padding rule, and permutes the state. -func (d *state) padAndPermute(dsbyte byte) { - if d.buf == nil { - d.buf = d.storage.asBytes()[:0] - } +func (d *state) padAndPermute() { // Pad with this instance's domain-separator bits. We know that there's // at least one byte of space in d.buf because, if it were full, // permute would have been called to empty it. dsbyte also contains the // first one bit for the padding. See the comment in the state struct. - d.buf = append(d.buf, dsbyte) - zerosStart := len(d.buf) - d.buf = d.storage.asBytes()[:d.rate] - for i := zerosStart; i < d.rate; i++ { - d.buf[i] = 0 + d.storage[d.n] = d.dsbyte + d.n++ + for d.n < d.rate { + d.storage[d.n] = 0 + d.n++ } // This adds the final one bit for the padding. Because of the way that // bits are numbered from the LSB upwards, the final bit is the MSB of // the last byte. - d.buf[d.rate-1] ^= 0x80 + d.storage[d.rate-1] ^= 0x80 // Apply the permutation d.permute() d.state = spongeSqueezing - d.buf = d.storage.asBytes()[:d.rate] - copyOut(d, d.buf) + d.n = d.rate + copyOut(d, d.storage[:d.rate]) } // Write absorbs more data into the hash's state. It panics if any @@ -127,28 +118,25 @@ func (d *state) Write(p []byte) (written int, err error) { if d.state != spongeAbsorbing { panic("sha3: Write after Read") } - if d.buf == nil { - d.buf = d.storage.asBytes()[:0] - } written = len(p) for len(p) > 0 { - if len(d.buf) == 0 && len(p) >= d.rate { + if d.n == 0 && len(p) >= d.rate { // The fast path; absorb a full "rate" bytes of input and apply the permutation. xorIn(d, p[:d.rate]) p = p[d.rate:] keccakF1600(&d.a) } else { // The slow path; buffer the input until we can fill the sponge, and then xor it in. - todo := d.rate - len(d.buf) + todo := d.rate - d.n if todo > len(p) { todo = len(p) } - d.buf = append(d.buf, p[:todo]...) + d.n += copy(d.storage[d.n:], p[:todo]) p = p[todo:] // If the sponge is full, apply the permutation. - if len(d.buf) == d.rate { + if d.n == d.rate { d.permute() } } @@ -161,19 +149,19 @@ func (d *state) Write(p []byte) (written int, err error) { func (d *state) Read(out []byte) (n int, err error) { // If we're still absorbing, pad and apply the permutation. if d.state == spongeAbsorbing { - d.padAndPermute(d.dsbyte) + d.padAndPermute() } n = len(out) // Now, do the squeezing. for len(out) > 0 { - n := copy(out, d.buf) - d.buf = d.buf[n:] + n := copy(out, d.storage[d.i:d.n]) + d.i += n out = out[n:] // Apply the permutation if we've squeezed the sponge dry. - if len(d.buf) == 0 { + if d.i == d.rate { d.permute() } } diff --git a/vendor/golang.org/x/crypto/sha3/sha3_s390x.go b/vendor/golang.org/x/crypto/sha3/sha3_s390x.go index d861bca..00d8034 100644 --- a/vendor/golang.org/x/crypto/sha3/sha3_s390x.go +++ b/vendor/golang.org/x/crypto/sha3/sha3_s390x.go @@ -143,6 +143,12 @@ func (s *asmState) Write(b []byte) (int, error) { // Read squeezes an arbitrary number of bytes from the sponge. func (s *asmState) Read(out []byte) (n int, err error) { + // The 'compute last message digest' instruction only stores the digest + // at the first operand (dst) for SHAKE functions. + if s.function != shake_128 && s.function != shake_256 { + panic("sha3: can only call Read for SHAKE functions") + } + n = len(out) // need to pad if we were absorbing @@ -202,8 +208,17 @@ func (s *asmState) Sum(b []byte) []byte { // Hash the buffer. Note that we don't clear it because we // aren't updating the state. - klmd(s.function, &a, nil, s.buf) - return append(b, a[:s.outputLen]...) + switch s.function { + case sha3_224, sha3_256, sha3_384, sha3_512: + klmd(s.function, &a, nil, s.buf) + return append(b, a[:s.outputLen]...) + case shake_128, shake_256: + d := make([]byte, s.outputLen, 64) + klmd(s.function, &a, d, s.buf) + return append(b, d[:s.outputLen]...) + default: + panic("sha3: unknown function") + } } // Reset resets the Hash to its initial state. @@ -233,56 +248,56 @@ func (s *asmState) Clone() ShakeHash { return s.clone() } -// new224Asm returns an assembly implementation of SHA3-224 if available, -// otherwise it returns nil. -func new224Asm() hash.Hash { +// new224 returns an assembly implementation of SHA3-224 if available, +// otherwise it returns a generic implementation. +func new224() hash.Hash { if cpu.S390X.HasSHA3 { return newAsmState(sha3_224) } - return nil + return new224Generic() } -// new256Asm returns an assembly implementation of SHA3-256 if available, -// otherwise it returns nil. -func new256Asm() hash.Hash { +// new256 returns an assembly implementation of SHA3-256 if available, +// otherwise it returns a generic implementation. +func new256() hash.Hash { if cpu.S390X.HasSHA3 { return newAsmState(sha3_256) } - return nil + return new256Generic() } -// new384Asm returns an assembly implementation of SHA3-384 if available, -// otherwise it returns nil. -func new384Asm() hash.Hash { +// new384 returns an assembly implementation of SHA3-384 if available, +// otherwise it returns a generic implementation. +func new384() hash.Hash { if cpu.S390X.HasSHA3 { return newAsmState(sha3_384) } - return nil + return new384Generic() } -// new512Asm returns an assembly implementation of SHA3-512 if available, -// otherwise it returns nil. -func new512Asm() hash.Hash { +// new512 returns an assembly implementation of SHA3-512 if available, +// otherwise it returns a generic implementation. +func new512() hash.Hash { if cpu.S390X.HasSHA3 { return newAsmState(sha3_512) } - return nil + return new512Generic() } -// newShake128Asm returns an assembly implementation of SHAKE-128 if available, -// otherwise it returns nil. -func newShake128Asm() ShakeHash { +// newShake128 returns an assembly implementation of SHAKE-128 if available, +// otherwise it returns a generic implementation. +func newShake128() ShakeHash { if cpu.S390X.HasSHA3 { return newAsmState(shake_128) } - return nil + return newShake128Generic() } -// newShake256Asm returns an assembly implementation of SHAKE-256 if available, -// otherwise it returns nil. -func newShake256Asm() ShakeHash { +// newShake256 returns an assembly implementation of SHAKE-256 if available, +// otherwise it returns a generic implementation. +func newShake256() ShakeHash { if cpu.S390X.HasSHA3 { return newAsmState(shake_256) } - return nil + return newShake256Generic() } diff --git a/vendor/golang.org/x/crypto/sha3/shake.go b/vendor/golang.org/x/crypto/sha3/shake.go index bb69984..1ea9275 100644 --- a/vendor/golang.org/x/crypto/sha3/shake.go +++ b/vendor/golang.org/x/crypto/sha3/shake.go @@ -115,19 +115,21 @@ func (c *state) Clone() ShakeHash { // Its generic security strength is 128 bits against all attacks if at // least 32 bytes of its output are used. func NewShake128() ShakeHash { - if h := newShake128Asm(); h != nil { - return h - } - return &state{rate: rate128, outputLen: 32, dsbyte: dsbyteShake} + return newShake128() } // NewShake256 creates a new SHAKE256 variable-output-length ShakeHash. // Its generic security strength is 256 bits against all attacks if // at least 64 bytes of its output are used. func NewShake256() ShakeHash { - if h := newShake256Asm(); h != nil { - return h - } + return newShake256() +} + +func newShake128Generic() *state { + return &state{rate: rate128, outputLen: 32, dsbyte: dsbyteShake} +} + +func newShake256Generic() *state { return &state{rate: rate256, outputLen: 64, dsbyte: dsbyteShake} } diff --git a/vendor/golang.org/x/crypto/sha3/shake_generic.go b/vendor/golang.org/x/crypto/sha3/shake_generic.go deleted file mode 100644 index 8d31cf5..0000000 --- a/vendor/golang.org/x/crypto/sha3/shake_generic.go +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2017 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build !gc || purego || !s390x - -package sha3 - -// newShake128Asm returns an assembly implementation of SHAKE-128 if available, -// otherwise it returns nil. -func newShake128Asm() ShakeHash { - return nil -} - -// newShake256Asm returns an assembly implementation of SHAKE-256 if available, -// otherwise it returns nil. -func newShake256Asm() ShakeHash { - return nil -} diff --git a/vendor/golang.org/x/crypto/sha3/shake_noasm.go b/vendor/golang.org/x/crypto/sha3/shake_noasm.go new file mode 100644 index 0000000..4276ba4 --- /dev/null +++ b/vendor/golang.org/x/crypto/sha3/shake_noasm.go @@ -0,0 +1,15 @@ +// Copyright 2023 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !gc || purego || !s390x + +package sha3 + +func newShake128() *state { + return newShake128Generic() +} + +func newShake256() *state { + return newShake256Generic() +} diff --git a/vendor/golang.org/x/crypto/sha3/xor.go b/vendor/golang.org/x/crypto/sha3/xor.go index 7337cca..6ada5c9 100644 --- a/vendor/golang.org/x/crypto/sha3/xor.go +++ b/vendor/golang.org/x/crypto/sha3/xor.go @@ -2,22 +2,39 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build (!amd64 && !386 && !ppc64le) || purego - package sha3 -// A storageBuf is an aligned array of maxRate bytes. -type storageBuf [maxRate]byte - -func (b *storageBuf) asBytes() *[maxRate]byte { - return (*[maxRate]byte)(b) -} +import ( + "crypto/subtle" + "encoding/binary" + "unsafe" -var ( - xorIn = xorInGeneric - copyOut = copyOutGeneric - xorInUnaligned = xorInGeneric - copyOutUnaligned = copyOutGeneric + "golang.org/x/sys/cpu" ) -const xorImplementationUnaligned = "generic" +// xorIn xors the bytes in buf into the state. +func xorIn(d *state, buf []byte) { + if cpu.IsBigEndian { + for i := 0; len(buf) >= 8; i++ { + a := binary.LittleEndian.Uint64(buf) + d.a[i] ^= a + buf = buf[8:] + } + } else { + ab := (*[25 * 64 / 8]byte)(unsafe.Pointer(&d.a)) + subtle.XORBytes(ab[:], ab[:], buf) + } +} + +// copyOut copies uint64s to a byte buffer. +func copyOut(d *state, b []byte) { + if cpu.IsBigEndian { + for i := 0; len(b) >= 8; i++ { + binary.LittleEndian.PutUint64(b, d.a[i]) + b = b[8:] + } + } else { + ab := (*[25 * 64 / 8]byte)(unsafe.Pointer(&d.a)) + copy(b, ab[:]) + } +} diff --git a/vendor/golang.org/x/crypto/sha3/xor_generic.go b/vendor/golang.org/x/crypto/sha3/xor_generic.go deleted file mode 100644 index 8d94771..0000000 --- a/vendor/golang.org/x/crypto/sha3/xor_generic.go +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package sha3 - -import "encoding/binary" - -// xorInGeneric xors the bytes in buf into the state; it -// makes no non-portable assumptions about memory layout -// or alignment. -func xorInGeneric(d *state, buf []byte) { - n := len(buf) / 8 - - for i := 0; i < n; i++ { - a := binary.LittleEndian.Uint64(buf) - d.a[i] ^= a - buf = buf[8:] - } -} - -// copyOutGeneric copies uint64s to a byte buffer. -func copyOutGeneric(d *state, b []byte) { - for i := 0; len(b) >= 8; i++ { - binary.LittleEndian.PutUint64(b, d.a[i]) - b = b[8:] - } -} diff --git a/vendor/golang.org/x/crypto/sha3/xor_unaligned.go b/vendor/golang.org/x/crypto/sha3/xor_unaligned.go deleted file mode 100644 index 870e2d1..0000000 --- a/vendor/golang.org/x/crypto/sha3/xor_unaligned.go +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build (amd64 || 386 || ppc64le) && !purego - -package sha3 - -import "unsafe" - -// A storageBuf is an aligned array of maxRate bytes. -type storageBuf [maxRate / 8]uint64 - -func (b *storageBuf) asBytes() *[maxRate]byte { - return (*[maxRate]byte)(unsafe.Pointer(b)) -} - -// xorInUnaligned uses unaligned reads and writes to update d.a to contain d.a -// XOR buf. -func xorInUnaligned(d *state, buf []byte) { - n := len(buf) - bw := (*[maxRate / 8]uint64)(unsafe.Pointer(&buf[0]))[: n/8 : n/8] - if n >= 72 { - d.a[0] ^= bw[0] - d.a[1] ^= bw[1] - d.a[2] ^= bw[2] - d.a[3] ^= bw[3] - d.a[4] ^= bw[4] - d.a[5] ^= bw[5] - d.a[6] ^= bw[6] - d.a[7] ^= bw[7] - d.a[8] ^= bw[8] - } - if n >= 104 { - d.a[9] ^= bw[9] - d.a[10] ^= bw[10] - d.a[11] ^= bw[11] - d.a[12] ^= bw[12] - } - if n >= 136 { - d.a[13] ^= bw[13] - d.a[14] ^= bw[14] - d.a[15] ^= bw[15] - d.a[16] ^= bw[16] - } - if n >= 144 { - d.a[17] ^= bw[17] - } - if n >= 168 { - d.a[18] ^= bw[18] - d.a[19] ^= bw[19] - d.a[20] ^= bw[20] - } -} - -func copyOutUnaligned(d *state, buf []byte) { - ab := (*[maxRate]uint8)(unsafe.Pointer(&d.a[0])) - copy(buf, ab[:]) -} - -var ( - xorIn = xorInUnaligned - copyOut = copyOutUnaligned -) - -const xorImplementationUnaligned = "unaligned" diff --git a/vendor/golang.org/x/net/html/doc.go b/vendor/golang.org/x/net/html/doc.go index 2466ae3..3a7e5ab 100644 --- a/vendor/golang.org/x/net/html/doc.go +++ b/vendor/golang.org/x/net/html/doc.go @@ -104,7 +104,7 @@ tokenization, and tokenization and tree construction stages of the WHATWG HTML parsing specification respectively. While the tokenizer parses and normalizes individual HTML tokens, only the parser constructs the DOM tree from the tokenized HTML, as described in the tree construction stage of the -specification, dynamically modifying or extending the docuemnt's DOM tree. +specification, dynamically modifying or extending the document's DOM tree. If your use case requires semantically well-formed HTML documents, as defined by the WHATWG specification, the parser should be used rather than the tokenizer. diff --git a/vendor/golang.org/x/net/http/httpguts/httplex.go b/vendor/golang.org/x/net/http/httpguts/httplex.go index 6e071e8..9b4de94 100644 --- a/vendor/golang.org/x/net/http/httpguts/httplex.go +++ b/vendor/golang.org/x/net/http/httpguts/httplex.go @@ -12,7 +12,7 @@ import ( "golang.org/x/net/idna" ) -var isTokenTable = [127]bool{ +var isTokenTable = [256]bool{ '!': true, '#': true, '$': true, @@ -93,12 +93,7 @@ var isTokenTable = [127]bool{ } func IsTokenRune(r rune) bool { - i := int(r) - return i < len(isTokenTable) && isTokenTable[i] -} - -func isNotToken(r rune) bool { - return !IsTokenRune(r) + return r < utf8.RuneSelf && isTokenTable[byte(r)] } // HeaderValuesContainsToken reports whether any string in values @@ -202,8 +197,8 @@ func ValidHeaderFieldName(v string) bool { if len(v) == 0 { return false } - for _, r := range v { - if !IsTokenRune(r) { + for i := 0; i < len(v); i++ { + if !isTokenTable[v[i]] { return false } } diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go index 43557ab..105c3b2 100644 --- a/vendor/golang.org/x/net/http2/frame.go +++ b/vendor/golang.org/x/net/http2/frame.go @@ -490,6 +490,9 @@ func terminalReadFrameError(err error) bool { // returned error is ErrFrameTooLarge. Other errors may be of type // ConnectionError, StreamError, or anything else from the underlying // reader. +// +// If ReadFrame returns an error and a non-nil Frame, the Frame's StreamID +// indicates the stream responsible for the error. func (fr *Framer) ReadFrame() (Frame, error) { fr.errDetail = nil if fr.lastFrame != nil { @@ -1521,7 +1524,7 @@ func (fr *Framer) maxHeaderStringLen() int { // readMetaFrame returns 0 or more CONTINUATION frames from fr and // merge them into the provided hf and returns a MetaHeadersFrame // with the decoded hpack values. -func (fr *Framer) readMetaFrame(hf *HeadersFrame) (*MetaHeadersFrame, error) { +func (fr *Framer) readMetaFrame(hf *HeadersFrame) (Frame, error) { if fr.AllowIllegalReads { return nil, errors.New("illegal use of AllowIllegalReads with ReadMetaHeaders") } @@ -1592,7 +1595,7 @@ func (fr *Framer) readMetaFrame(hf *HeadersFrame) (*MetaHeadersFrame, error) { } // It would be nice to send a RST_STREAM before sending the GOAWAY, // but the structure of the server's frame writer makes this difficult. - return nil, ConnectionError(ErrCodeProtocol) + return mh, ConnectionError(ErrCodeProtocol) } // Also close the connection after any CONTINUATION frame following an @@ -1604,11 +1607,11 @@ func (fr *Framer) readMetaFrame(hf *HeadersFrame) (*MetaHeadersFrame, error) { } // It would be nice to send a RST_STREAM before sending the GOAWAY, // but the structure of the server's frame writer makes this difficult. - return nil, ConnectionError(ErrCodeProtocol) + return mh, ConnectionError(ErrCodeProtocol) } if _, err := hdec.Write(frag); err != nil { - return nil, ConnectionError(ErrCodeCompression) + return mh, ConnectionError(ErrCodeCompression) } if hc.HeadersEnded() { @@ -1625,7 +1628,7 @@ func (fr *Framer) readMetaFrame(hf *HeadersFrame) (*MetaHeadersFrame, error) { mh.HeadersFrame.invalidate() if err := hdec.Close(); err != nil { - return nil, ConnectionError(ErrCodeCompression) + return mh, ConnectionError(ErrCodeCompression) } if invalid != nil { fr.errDetail = invalid diff --git a/vendor/golang.org/x/net/http2/http2.go b/vendor/golang.org/x/net/http2/http2.go index 6f2df28..003e649 100644 --- a/vendor/golang.org/x/net/http2/http2.go +++ b/vendor/golang.org/x/net/http2/http2.go @@ -17,6 +17,7 @@ package http2 // import "golang.org/x/net/http2" import ( "bufio" + "context" "crypto/tls" "fmt" "io" @@ -26,6 +27,7 @@ import ( "strconv" "strings" "sync" + "time" "golang.org/x/net/http/httpguts" ) @@ -210,12 +212,6 @@ type stringWriter interface { WriteString(s string) (n int, err error) } -// A gate lets two goroutines coordinate their activities. -type gate chan struct{} - -func (g gate) Done() { g <- struct{}{} } -func (g gate) Wait() { <-g } - // A closeWaiter is like a sync.WaitGroup but only goes 1 to 0 (open to closed). type closeWaiter chan struct{} @@ -383,3 +379,14 @@ func validPseudoPath(v string) bool { // makes that struct also non-comparable, and generally doesn't add // any size (as long as it's first). type incomparable [0]func() + +// synctestGroupInterface is the methods of synctestGroup used by Server and Transport. +// It's defined as an interface here to let us keep synctestGroup entirely test-only +// and not a part of non-test builds. +type synctestGroupInterface interface { + Join() + Now() time.Time + NewTimer(d time.Duration) timer + AfterFunc(d time.Duration, f func()) timer + ContextWithTimeout(ctx context.Context, d time.Duration) (context.Context, context.CancelFunc) +} diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go index ce2e8b4..6c349f3 100644 --- a/vendor/golang.org/x/net/http2/server.go +++ b/vendor/golang.org/x/net/http2/server.go @@ -154,6 +154,39 @@ type Server struct { // so that we don't embed a Mutex in this struct, which will make the // struct non-copyable, which might break some callers. state *serverInternalState + + // Synchronization group used for testing. + // Outside of tests, this is nil. + group synctestGroupInterface +} + +func (s *Server) markNewGoroutine() { + if s.group != nil { + s.group.Join() + } +} + +func (s *Server) now() time.Time { + if s.group != nil { + return s.group.Now() + } + return time.Now() +} + +// newTimer creates a new time.Timer, or a synthetic timer in tests. +func (s *Server) newTimer(d time.Duration) timer { + if s.group != nil { + return s.group.NewTimer(d) + } + return timeTimer{time.NewTimer(d)} +} + +// afterFunc creates a new time.AfterFunc timer, or a synthetic timer in tests. +func (s *Server) afterFunc(d time.Duration, f func()) timer { + if s.group != nil { + return s.group.AfterFunc(d, f) + } + return timeTimer{time.AfterFunc(d, f)} } func (s *Server) initialConnRecvWindowSize() int32 { @@ -400,6 +433,10 @@ func (o *ServeConnOpts) handler() http.Handler { // // The opts parameter is optional. If nil, default values are used. func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { + s.serveConn(c, opts, nil) +} + +func (s *Server) serveConn(c net.Conn, opts *ServeConnOpts, newf func(*serverConn)) { baseCtx, cancel := serverConnBaseContext(c, opts) defer cancel() @@ -426,6 +463,9 @@ func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { pushEnabled: true, sawClientPreface: opts.SawClientPreface, } + if newf != nil { + newf(sc) + } s.state.registerConn(sc) defer s.state.unregisterConn(sc) @@ -599,8 +639,8 @@ type serverConn struct { inFrameScheduleLoop bool // whether we're in the scheduleFrameWrite loop needToSendGoAway bool // we need to schedule a GOAWAY frame write goAwayCode ErrCode - shutdownTimer *time.Timer // nil until used - idleTimer *time.Timer // nil if unused + shutdownTimer timer // nil until used + idleTimer timer // nil if unused // Owned by the writeFrameAsync goroutine: headerWriteBuf bytes.Buffer @@ -649,12 +689,12 @@ type stream struct { flow outflow // limits writing from Handler to client inflow inflow // what the client is allowed to POST/etc to us state streamState - resetQueued bool // RST_STREAM queued for write; set by sc.resetStream - gotTrailerHeader bool // HEADER frame for trailers was seen - wroteHeaders bool // whether we wrote headers (not status 100) - readDeadline *time.Timer // nil if unused - writeDeadline *time.Timer // nil if unused - closeErr error // set before cw is closed + resetQueued bool // RST_STREAM queued for write; set by sc.resetStream + gotTrailerHeader bool // HEADER frame for trailers was seen + wroteHeaders bool // whether we wrote headers (not status 100) + readDeadline timer // nil if unused + writeDeadline timer // nil if unused + closeErr error // set before cw is closed trailer http.Header // accumulated trailers reqTrailer http.Header // handler's Request.Trailer @@ -732,11 +772,7 @@ func isClosedConnError(err error) bool { return false } - // TODO: remove this string search and be more like the Windows - // case below. That might involve modifying the standard library - // to return better error types. - str := err.Error() - if strings.Contains(str, "use of closed network connection") { + if errors.Is(err, net.ErrClosed) { return true } @@ -815,8 +851,9 @@ type readFrameResult struct { // consumer is done with the frame. // It's run on its own goroutine. func (sc *serverConn) readFrames() { - gate := make(gate) - gateDone := gate.Done + sc.srv.markNewGoroutine() + gate := make(chan struct{}) + gateDone := func() { gate <- struct{}{} } for { f, err := sc.framer.ReadFrame() select { @@ -847,6 +884,7 @@ type frameWriteResult struct { // At most one goroutine can be running writeFrameAsync at a time per // serverConn. func (sc *serverConn) writeFrameAsync(wr FrameWriteRequest, wd *writeData) { + sc.srv.markNewGoroutine() var err error if wd == nil { err = wr.write.writeFrame(sc) @@ -926,13 +964,13 @@ func (sc *serverConn) serve() { sc.setConnState(http.StateIdle) if sc.srv.IdleTimeout > 0 { - sc.idleTimer = time.AfterFunc(sc.srv.IdleTimeout, sc.onIdleTimer) + sc.idleTimer = sc.srv.afterFunc(sc.srv.IdleTimeout, sc.onIdleTimer) defer sc.idleTimer.Stop() } go sc.readFrames() // closed by defer sc.conn.Close above - settingsTimer := time.AfterFunc(firstSettingsTimeout, sc.onSettingsTimer) + settingsTimer := sc.srv.afterFunc(firstSettingsTimeout, sc.onSettingsTimer) defer settingsTimer.Stop() loopNum := 0 @@ -1061,10 +1099,10 @@ func (sc *serverConn) readPreface() error { errc <- nil } }() - timer := time.NewTimer(prefaceTimeout) // TODO: configurable on *Server? + timer := sc.srv.newTimer(prefaceTimeout) // TODO: configurable on *Server? defer timer.Stop() select { - case <-timer.C: + case <-timer.C(): return errPrefaceTimeout case err := <-errc: if err == nil { @@ -1429,7 +1467,7 @@ func (sc *serverConn) goAway(code ErrCode) { func (sc *serverConn) shutDownIn(d time.Duration) { sc.serveG.check() - sc.shutdownTimer = time.AfterFunc(d, sc.onShutdownTimer) + sc.shutdownTimer = sc.srv.afterFunc(d, sc.onShutdownTimer) } func (sc *serverConn) resetStream(se StreamError) { @@ -1482,6 +1520,11 @@ func (sc *serverConn) processFrameFromReader(res readFrameResult) bool { sc.goAway(ErrCodeFlowControl) return true case ConnectionError: + if res.f != nil { + if id := res.f.Header().StreamID; id > sc.maxClientStreamID { + sc.maxClientStreamID = id + } + } sc.logf("http2: server connection error from %v: %v", sc.conn.RemoteAddr(), ev) sc.goAway(ErrCode(ev)) return true // goAway will handle shutdown @@ -1638,7 +1681,7 @@ func (sc *serverConn) closeStream(st *stream, err error) { delete(sc.streams, st.id) if len(sc.streams) == 0 { sc.setConnState(http.StateIdle) - if sc.srv.IdleTimeout > 0 { + if sc.srv.IdleTimeout > 0 && sc.idleTimer != nil { sc.idleTimer.Reset(sc.srv.IdleTimeout) } if h1ServerKeepAlivesDisabled(sc.hs) { @@ -1660,6 +1703,7 @@ func (sc *serverConn) closeStream(st *stream, err error) { } } st.closeErr = err + st.cancelCtx() st.cw.Close() // signals Handler's CloseNotifier, unblocks writes, etc sc.writeSched.CloseStream(st.id) } @@ -2020,7 +2064,7 @@ func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error { // (in Go 1.8), though. That's a more sane option anyway. if sc.hs.ReadTimeout > 0 { sc.conn.SetReadDeadline(time.Time{}) - st.readDeadline = time.AfterFunc(sc.hs.ReadTimeout, st.onReadTimeout) + st.readDeadline = sc.srv.afterFunc(sc.hs.ReadTimeout, st.onReadTimeout) } return sc.scheduleHandler(id, rw, req, handler) @@ -2118,7 +2162,7 @@ func (sc *serverConn) newStream(id, pusherID uint32, state streamState) *stream st.flow.add(sc.initialStreamSendWindowSize) st.inflow.init(sc.srv.initialStreamRecvWindowSize()) if sc.hs.WriteTimeout > 0 { - st.writeDeadline = time.AfterFunc(sc.hs.WriteTimeout, st.onWriteTimeout) + st.writeDeadline = sc.srv.afterFunc(sc.hs.WriteTimeout, st.onWriteTimeout) } sc.streams[id] = st @@ -2342,6 +2386,7 @@ func (sc *serverConn) handlerDone() { // Run on its own goroutine. func (sc *serverConn) runHandler(rw *responseWriter, req *http.Request, handler func(http.ResponseWriter, *http.Request)) { + sc.srv.markNewGoroutine() defer sc.sendServeMsg(handlerDoneMsg) didPanic := true defer func() { @@ -2638,7 +2683,7 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) { var date string if _, ok := rws.snapHeader["Date"]; !ok { // TODO(bradfitz): be faster here, like net/http? measure. - date = time.Now().UTC().Format(http.TimeFormat) + date = rws.conn.srv.now().UTC().Format(http.TimeFormat) } for _, v := range rws.snapHeader["Trailer"] { @@ -2760,7 +2805,7 @@ func (rws *responseWriterState) promoteUndeclaredTrailers() { func (w *responseWriter) SetReadDeadline(deadline time.Time) error { st := w.rws.stream - if !deadline.IsZero() && deadline.Before(time.Now()) { + if !deadline.IsZero() && deadline.Before(w.rws.conn.srv.now()) { // If we're setting a deadline in the past, reset the stream immediately // so writes after SetWriteDeadline returns will fail. st.onReadTimeout() @@ -2776,9 +2821,9 @@ func (w *responseWriter) SetReadDeadline(deadline time.Time) error { if deadline.IsZero() { st.readDeadline = nil } else if st.readDeadline == nil { - st.readDeadline = time.AfterFunc(deadline.Sub(time.Now()), st.onReadTimeout) + st.readDeadline = sc.srv.afterFunc(deadline.Sub(sc.srv.now()), st.onReadTimeout) } else { - st.readDeadline.Reset(deadline.Sub(time.Now())) + st.readDeadline.Reset(deadline.Sub(sc.srv.now())) } }) return nil @@ -2786,7 +2831,7 @@ func (w *responseWriter) SetReadDeadline(deadline time.Time) error { func (w *responseWriter) SetWriteDeadline(deadline time.Time) error { st := w.rws.stream - if !deadline.IsZero() && deadline.Before(time.Now()) { + if !deadline.IsZero() && deadline.Before(w.rws.conn.srv.now()) { // If we're setting a deadline in the past, reset the stream immediately // so writes after SetWriteDeadline returns will fail. st.onWriteTimeout() @@ -2802,9 +2847,9 @@ func (w *responseWriter) SetWriteDeadline(deadline time.Time) error { if deadline.IsZero() { st.writeDeadline = nil } else if st.writeDeadline == nil { - st.writeDeadline = time.AfterFunc(deadline.Sub(time.Now()), st.onWriteTimeout) + st.writeDeadline = sc.srv.afterFunc(deadline.Sub(sc.srv.now()), st.onWriteTimeout) } else { - st.writeDeadline.Reset(deadline.Sub(time.Now())) + st.writeDeadline.Reset(deadline.Sub(sc.srv.now())) } }) return nil diff --git a/vendor/golang.org/x/net/http2/testsync.go b/vendor/golang.org/x/net/http2/testsync.go deleted file mode 100644 index 61075bd..0000000 --- a/vendor/golang.org/x/net/http2/testsync.go +++ /dev/null @@ -1,331 +0,0 @@ -// Copyright 2024 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. -package http2 - -import ( - "context" - "sync" - "time" -) - -// testSyncHooks coordinates goroutines in tests. -// -// For example, a call to ClientConn.RoundTrip involves several goroutines, including: -// - the goroutine running RoundTrip; -// - the clientStream.doRequest goroutine, which writes the request; and -// - the clientStream.readLoop goroutine, which reads the response. -// -// Using testSyncHooks, a test can start a RoundTrip and identify when all these goroutines -// are blocked waiting for some condition such as reading the Request.Body or waiting for -// flow control to become available. -// -// The testSyncHooks also manage timers and synthetic time in tests. -// This permits us to, for example, start a request and cause it to time out waiting for -// response headers without resorting to time.Sleep calls. -type testSyncHooks struct { - // active/inactive act as a mutex and condition variable. - // - // - neither chan contains a value: testSyncHooks is locked. - // - active contains a value: unlocked, and at least one goroutine is not blocked - // - inactive contains a value: unlocked, and all goroutines are blocked - active chan struct{} - inactive chan struct{} - - // goroutine counts - total int // total goroutines - condwait map[*sync.Cond]int // blocked in sync.Cond.Wait - blocked []*testBlockedGoroutine // otherwise blocked - - // fake time - now time.Time - timers []*fakeTimer - - // Transport testing: Report various events. - newclientconn func(*ClientConn) - newstream func(*clientStream) -} - -// testBlockedGoroutine is a blocked goroutine. -type testBlockedGoroutine struct { - f func() bool // blocked until f returns true - ch chan struct{} // closed when unblocked -} - -func newTestSyncHooks() *testSyncHooks { - h := &testSyncHooks{ - active: make(chan struct{}, 1), - inactive: make(chan struct{}, 1), - condwait: map[*sync.Cond]int{}, - } - h.inactive <- struct{}{} - h.now = time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC) - return h -} - -// lock acquires the testSyncHooks mutex. -func (h *testSyncHooks) lock() { - select { - case <-h.active: - case <-h.inactive: - } -} - -// waitInactive waits for all goroutines to become inactive. -func (h *testSyncHooks) waitInactive() { - for { - <-h.inactive - if !h.unlock() { - break - } - } -} - -// unlock releases the testSyncHooks mutex. -// It reports whether any goroutines are active. -func (h *testSyncHooks) unlock() (active bool) { - // Look for a blocked goroutine which can be unblocked. - blocked := h.blocked[:0] - unblocked := false - for _, b := range h.blocked { - if !unblocked && b.f() { - unblocked = true - close(b.ch) - } else { - blocked = append(blocked, b) - } - } - h.blocked = blocked - - // Count goroutines blocked on condition variables. - condwait := 0 - for _, count := range h.condwait { - condwait += count - } - - if h.total > condwait+len(blocked) { - h.active <- struct{}{} - return true - } else { - h.inactive <- struct{}{} - return false - } -} - -// goRun starts a new goroutine. -func (h *testSyncHooks) goRun(f func()) { - h.lock() - h.total++ - h.unlock() - go func() { - defer func() { - h.lock() - h.total-- - h.unlock() - }() - f() - }() -} - -// blockUntil indicates that a goroutine is blocked waiting for some condition to become true. -// It waits until f returns true before proceeding. -// -// Example usage: -// -// h.blockUntil(func() bool { -// // Is the context done yet? -// select { -// case <-ctx.Done(): -// default: -// return false -// } -// return true -// }) -// // Wait for the context to become done. -// <-ctx.Done() -// -// The function f passed to blockUntil must be non-blocking and idempotent. -func (h *testSyncHooks) blockUntil(f func() bool) { - if f() { - return - } - ch := make(chan struct{}) - h.lock() - h.blocked = append(h.blocked, &testBlockedGoroutine{ - f: f, - ch: ch, - }) - h.unlock() - <-ch -} - -// broadcast is sync.Cond.Broadcast. -func (h *testSyncHooks) condBroadcast(cond *sync.Cond) { - h.lock() - delete(h.condwait, cond) - h.unlock() - cond.Broadcast() -} - -// broadcast is sync.Cond.Wait. -func (h *testSyncHooks) condWait(cond *sync.Cond) { - h.lock() - h.condwait[cond]++ - h.unlock() -} - -// newTimer creates a new fake timer. -func (h *testSyncHooks) newTimer(d time.Duration) timer { - h.lock() - defer h.unlock() - t := &fakeTimer{ - hooks: h, - when: h.now.Add(d), - c: make(chan time.Time), - } - h.timers = append(h.timers, t) - return t -} - -// afterFunc creates a new fake AfterFunc timer. -func (h *testSyncHooks) afterFunc(d time.Duration, f func()) timer { - h.lock() - defer h.unlock() - t := &fakeTimer{ - hooks: h, - when: h.now.Add(d), - f: f, - } - h.timers = append(h.timers, t) - return t -} - -func (h *testSyncHooks) contextWithTimeout(ctx context.Context, d time.Duration) (context.Context, context.CancelFunc) { - ctx, cancel := context.WithCancel(ctx) - t := h.afterFunc(d, cancel) - return ctx, func() { - t.Stop() - cancel() - } -} - -func (h *testSyncHooks) timeUntilEvent() time.Duration { - h.lock() - defer h.unlock() - var next time.Time - for _, t := range h.timers { - if next.IsZero() || t.when.Before(next) { - next = t.when - } - } - if d := next.Sub(h.now); d > 0 { - return d - } - return 0 -} - -// advance advances time and causes synthetic timers to fire. -func (h *testSyncHooks) advance(d time.Duration) { - h.lock() - defer h.unlock() - h.now = h.now.Add(d) - timers := h.timers[:0] - for _, t := range h.timers { - t := t // remove after go.mod depends on go1.22 - t.mu.Lock() - switch { - case t.when.After(h.now): - timers = append(timers, t) - case t.when.IsZero(): - // stopped timer - default: - t.when = time.Time{} - if t.c != nil { - close(t.c) - } - if t.f != nil { - h.total++ - go func() { - defer func() { - h.lock() - h.total-- - h.unlock() - }() - t.f() - }() - } - } - t.mu.Unlock() - } - h.timers = timers -} - -// A timer wraps a time.Timer, or a synthetic equivalent in tests. -// Unlike time.Timer, timer is single-use: The timer channel is closed when the timer expires. -type timer interface { - C() <-chan time.Time - Stop() bool - Reset(d time.Duration) bool -} - -// timeTimer implements timer using real time. -type timeTimer struct { - t *time.Timer - c chan time.Time -} - -// newTimeTimer creates a new timer using real time. -func newTimeTimer(d time.Duration) timer { - ch := make(chan time.Time) - t := time.AfterFunc(d, func() { - close(ch) - }) - return &timeTimer{t, ch} -} - -// newTimeAfterFunc creates an AfterFunc timer using real time. -func newTimeAfterFunc(d time.Duration, f func()) timer { - return &timeTimer{ - t: time.AfterFunc(d, f), - } -} - -func (t timeTimer) C() <-chan time.Time { return t.c } -func (t timeTimer) Stop() bool { return t.t.Stop() } -func (t timeTimer) Reset(d time.Duration) bool { return t.t.Reset(d) } - -// fakeTimer implements timer using fake time. -type fakeTimer struct { - hooks *testSyncHooks - - mu sync.Mutex - when time.Time // when the timer will fire - c chan time.Time // closed when the timer fires; mutually exclusive with f - f func() // called when the timer fires; mutually exclusive with c -} - -func (t *fakeTimer) C() <-chan time.Time { return t.c } - -func (t *fakeTimer) Stop() bool { - t.mu.Lock() - defer t.mu.Unlock() - stopped := t.when.IsZero() - t.when = time.Time{} - return stopped -} - -func (t *fakeTimer) Reset(d time.Duration) bool { - if t.c != nil || t.f == nil { - panic("fakeTimer only supports Reset on AfterFunc timers") - } - t.mu.Lock() - defer t.mu.Unlock() - t.hooks.lock() - defer t.hooks.unlock() - active := !t.when.IsZero() - t.when = t.hooks.now.Add(d) - if !active { - t.hooks.timers = append(t.hooks.timers, t) - } - return active -} diff --git a/vendor/golang.org/x/net/http2/timer.go b/vendor/golang.org/x/net/http2/timer.go new file mode 100644 index 0000000..0b1c17b --- /dev/null +++ b/vendor/golang.org/x/net/http2/timer.go @@ -0,0 +1,20 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +package http2 + +import "time" + +// A timer is a time.Timer, as an interface which can be replaced in tests. +type timer = interface { + C() <-chan time.Time + Reset(d time.Duration) bool + Stop() bool +} + +// timeTimer adapts a time.Timer to the timer interface. +type timeTimer struct { + *time.Timer +} + +func (t timeTimer) C() <-chan time.Time { return t.Timer.C } diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go index ce375c8..98a49c6 100644 --- a/vendor/golang.org/x/net/http2/transport.go +++ b/vendor/golang.org/x/net/http2/transport.go @@ -185,7 +185,45 @@ type Transport struct { connPoolOnce sync.Once connPoolOrDef ClientConnPool // non-nil version of ConnPool - syncHooks *testSyncHooks + *transportTestHooks +} + +// Hook points used for testing. +// Outside of tests, t.transportTestHooks is nil and these all have minimal implementations. +// Inside tests, see the testSyncHooks function docs. + +type transportTestHooks struct { + newclientconn func(*ClientConn) + group synctestGroupInterface +} + +func (t *Transport) markNewGoroutine() { + if t != nil && t.transportTestHooks != nil { + t.transportTestHooks.group.Join() + } +} + +// newTimer creates a new time.Timer, or a synthetic timer in tests. +func (t *Transport) newTimer(d time.Duration) timer { + if t.transportTestHooks != nil { + return t.transportTestHooks.group.NewTimer(d) + } + return timeTimer{time.NewTimer(d)} +} + +// afterFunc creates a new time.AfterFunc timer, or a synthetic timer in tests. +func (t *Transport) afterFunc(d time.Duration, f func()) timer { + if t.transportTestHooks != nil { + return t.transportTestHooks.group.AfterFunc(d, f) + } + return timeTimer{time.AfterFunc(d, f)} +} + +func (t *Transport) contextWithTimeout(ctx context.Context, d time.Duration) (context.Context, context.CancelFunc) { + if t.transportTestHooks != nil { + return t.transportTestHooks.group.ContextWithTimeout(ctx, d) + } + return context.WithTimeout(ctx, d) } func (t *Transport) maxHeaderListSize() uint32 { @@ -352,60 +390,6 @@ type ClientConn struct { werr error // first write error that has occurred hbuf bytes.Buffer // HPACK encoder writes into this henc *hpack.Encoder - - syncHooks *testSyncHooks // can be nil -} - -// Hook points used for testing. -// Outside of tests, cc.syncHooks is nil and these all have minimal implementations. -// Inside tests, see the testSyncHooks function docs. - -// goRun starts a new goroutine. -func (cc *ClientConn) goRun(f func()) { - if cc.syncHooks != nil { - cc.syncHooks.goRun(f) - return - } - go f() -} - -// condBroadcast is cc.cond.Broadcast. -func (cc *ClientConn) condBroadcast() { - if cc.syncHooks != nil { - cc.syncHooks.condBroadcast(cc.cond) - } - cc.cond.Broadcast() -} - -// condWait is cc.cond.Wait. -func (cc *ClientConn) condWait() { - if cc.syncHooks != nil { - cc.syncHooks.condWait(cc.cond) - } - cc.cond.Wait() -} - -// newTimer creates a new time.Timer, or a synthetic timer in tests. -func (cc *ClientConn) newTimer(d time.Duration) timer { - if cc.syncHooks != nil { - return cc.syncHooks.newTimer(d) - } - return newTimeTimer(d) -} - -// afterFunc creates a new time.AfterFunc timer, or a synthetic timer in tests. -func (cc *ClientConn) afterFunc(d time.Duration, f func()) timer { - if cc.syncHooks != nil { - return cc.syncHooks.afterFunc(d, f) - } - return newTimeAfterFunc(d, f) -} - -func (cc *ClientConn) contextWithTimeout(ctx context.Context, d time.Duration) (context.Context, context.CancelFunc) { - if cc.syncHooks != nil { - return cc.syncHooks.contextWithTimeout(ctx, d) - } - return context.WithTimeout(ctx, d) } // clientStream is the state for a single HTTP/2 stream. One of these @@ -487,7 +471,7 @@ func (cs *clientStream) abortStreamLocked(err error) { // TODO(dneil): Clean up tests where cs.cc.cond is nil. if cs.cc.cond != nil { // Wake up writeRequestBody if it is waiting on flow control. - cs.cc.condBroadcast() + cs.cc.cond.Broadcast() } } @@ -497,7 +481,7 @@ func (cs *clientStream) abortRequestBodyWrite() { defer cc.mu.Unlock() if cs.reqBody != nil && cs.reqBodyClosed == nil { cs.closeReqBodyLocked() - cc.condBroadcast() + cc.cond.Broadcast() } } @@ -507,10 +491,11 @@ func (cs *clientStream) closeReqBodyLocked() { } cs.reqBodyClosed = make(chan struct{}) reqBodyClosed := cs.reqBodyClosed - cs.cc.goRun(func() { + go func() { + cs.cc.t.markNewGoroutine() cs.reqBody.Close() close(reqBodyClosed) - }) + }() } type stickyErrWriter struct { @@ -626,21 +611,7 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res backoff := float64(uint(1) << (uint(retry) - 1)) backoff += backoff * (0.1 * mathrand.Float64()) d := time.Second * time.Duration(backoff) - var tm timer - if t.syncHooks != nil { - tm = t.syncHooks.newTimer(d) - t.syncHooks.blockUntil(func() bool { - select { - case <-tm.C(): - case <-req.Context().Done(): - default: - return false - } - return true - }) - } else { - tm = newTimeTimer(d) - } + tm := t.newTimer(d) select { case <-tm.C(): t.vlogf("RoundTrip retrying after failure: %v", roundTripErr) @@ -725,8 +696,8 @@ func canRetryError(err error) bool { } func (t *Transport) dialClientConn(ctx context.Context, addr string, singleUse bool) (*ClientConn, error) { - if t.syncHooks != nil { - return t.newClientConn(nil, singleUse, t.syncHooks) + if t.transportTestHooks != nil { + return t.newClientConn(nil, singleUse) } host, _, err := net.SplitHostPort(addr) if err != nil { @@ -736,7 +707,7 @@ func (t *Transport) dialClientConn(ctx context.Context, addr string, singleUse b if err != nil { return nil, err } - return t.newClientConn(tconn, singleUse, nil) + return t.newClientConn(tconn, singleUse) } func (t *Transport) newTLSConfig(host string) *tls.Config { @@ -802,10 +773,10 @@ func (t *Transport) maxEncoderHeaderTableSize() uint32 { } func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) { - return t.newClientConn(c, t.disableKeepAlives(), nil) + return t.newClientConn(c, t.disableKeepAlives()) } -func (t *Transport) newClientConn(c net.Conn, singleUse bool, hooks *testSyncHooks) (*ClientConn, error) { +func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, error) { cc := &ClientConn{ t: t, tconn: c, @@ -820,16 +791,12 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool, hooks *testSyncHoo wantSettingsAck: true, pings: make(map[[8]byte]chan struct{}), reqHeaderMu: make(chan struct{}, 1), - syncHooks: hooks, } - if hooks != nil { - hooks.newclientconn(cc) + if t.transportTestHooks != nil { + t.markNewGoroutine() + t.transportTestHooks.newclientconn(cc) c = cc.tconn } - if d := t.idleConnTimeout(); d != 0 { - cc.idleTimeout = d - cc.idleTimer = cc.afterFunc(d, cc.onIdleTimeout) - } if VerboseLogs { t.vlogf("http2: Transport creating client conn %p to %v", cc, c.RemoteAddr()) } @@ -893,7 +860,13 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool, hooks *testSyncHoo return nil, cc.werr } - cc.goRun(cc.readLoop) + // Start the idle timer after the connection is fully initialized. + if d := t.idleConnTimeout(); d != 0 { + cc.idleTimeout = d + cc.idleTimer = t.afterFunc(d, cc.onIdleTimeout) + } + + go cc.readLoop() return cc, nil } @@ -901,7 +874,7 @@ func (cc *ClientConn) healthCheck() { pingTimeout := cc.t.pingTimeout() // We don't need to periodically ping in the health check, because the readLoop of ClientConn will // trigger the healthCheck again if there is no frame received. - ctx, cancel := cc.contextWithTimeout(context.Background(), pingTimeout) + ctx, cancel := cc.t.contextWithTimeout(context.Background(), pingTimeout) defer cancel() cc.vlogf("http2: Transport sending health check") err := cc.Ping(ctx) @@ -936,7 +909,20 @@ func (cc *ClientConn) setGoAway(f *GoAwayFrame) { } last := f.LastStreamID for streamID, cs := range cc.streams { - if streamID > last { + if streamID <= last { + // The server's GOAWAY indicates that it received this stream. + // It will either finish processing it, or close the connection + // without doing so. Either way, leave the stream alone for now. + continue + } + if streamID == 1 && cc.goAway.ErrCode != ErrCodeNo { + // Don't retry the first stream on a connection if we get a non-NO error. + // If the server is sending an error on a new connection, + // retrying the request on a new one probably isn't going to work. + cs.abortStreamLocked(fmt.Errorf("http2: Transport received GOAWAY from server ErrCode:%v", cc.goAway.ErrCode)) + } else { + // Aborting the stream with errClentConnGotGoAway indicates that + // the request should be retried on a new connection. cs.abortStreamLocked(errClientConnGotGoAway) } } @@ -1131,7 +1117,8 @@ func (cc *ClientConn) Shutdown(ctx context.Context) error { // Wait for all in-flight streams to complete or connection to close done := make(chan struct{}) cancelled := false // guarded by cc.mu - cc.goRun(func() { + go func() { + cc.t.markNewGoroutine() cc.mu.Lock() defer cc.mu.Unlock() for { @@ -1143,9 +1130,9 @@ func (cc *ClientConn) Shutdown(ctx context.Context) error { if cancelled { break } - cc.condWait() + cc.cond.Wait() } - }) + }() shutdownEnterWaitStateHook() select { case <-done: @@ -1155,7 +1142,7 @@ func (cc *ClientConn) Shutdown(ctx context.Context) error { cc.mu.Lock() // Free the goroutine above cancelled = true - cc.condBroadcast() + cc.cond.Broadcast() cc.mu.Unlock() return ctx.Err() } @@ -1193,7 +1180,7 @@ func (cc *ClientConn) closeForError(err error) { for _, cs := range cc.streams { cs.abortStreamLocked(err) } - cc.condBroadcast() + cc.cond.Broadcast() cc.mu.Unlock() cc.closeConn() } @@ -1308,23 +1295,30 @@ func (cc *ClientConn) roundTrip(req *http.Request, streamf func(*clientStream)) respHeaderRecv: make(chan struct{}), donec: make(chan struct{}), } - cc.goRun(func() { - cs.doRequest(req) - }) + + // TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere? + if !cc.t.disableCompression() && + req.Header.Get("Accept-Encoding") == "" && + req.Header.Get("Range") == "" && + !cs.isHead { + // Request gzip only, not deflate. Deflate is ambiguous and + // not as universally supported anyway. + // See: https://zlib.net/zlib_faq.html#faq39 + // + // Note that we don't request this for HEAD requests, + // due to a bug in nginx: + // http://trac.nginx.org/nginx/ticket/358 + // https://golang.org/issue/5522 + // + // We don't request gzip if the request is for a range, since + // auto-decoding a portion of a gzipped document will just fail + // anyway. See https://golang.org/issue/8923 + cs.requestedGzip = true + } + + go cs.doRequest(req, streamf) waitDone := func() error { - if cc.syncHooks != nil { - cc.syncHooks.blockUntil(func() bool { - select { - case <-cs.donec: - case <-ctx.Done(): - case <-cs.reqCancel: - default: - return false - } - return true - }) - } select { case <-cs.donec: return nil @@ -1385,24 +1379,7 @@ func (cc *ClientConn) roundTrip(req *http.Request, streamf func(*clientStream)) return err } - if streamf != nil { - streamf(cs) - } - for { - if cc.syncHooks != nil { - cc.syncHooks.blockUntil(func() bool { - select { - case <-cs.respHeaderRecv: - case <-cs.abort: - case <-ctx.Done(): - case <-cs.reqCancel: - default: - return false - } - return true - }) - } select { case <-cs.respHeaderRecv: return handleResponseHeaders() @@ -1432,8 +1409,9 @@ func (cc *ClientConn) roundTrip(req *http.Request, streamf func(*clientStream)) // doRequest runs for the duration of the request lifetime. // // It sends the request and performs post-request cleanup (closing Request.Body, etc.). -func (cs *clientStream) doRequest(req *http.Request) { - err := cs.writeRequest(req) +func (cs *clientStream) doRequest(req *http.Request, streamf func(*clientStream)) { + cs.cc.t.markNewGoroutine() + err := cs.writeRequest(req, streamf) cs.cleanupWriteRequest(err) } @@ -1444,7 +1422,7 @@ func (cs *clientStream) doRequest(req *http.Request) { // // It returns non-nil if the request ends otherwise. // If the returned error is StreamError, the error Code may be used in resetting the stream. -func (cs *clientStream) writeRequest(req *http.Request) (err error) { +func (cs *clientStream) writeRequest(req *http.Request, streamf func(*clientStream)) (err error) { cc := cs.cc ctx := cs.ctx @@ -1458,21 +1436,6 @@ func (cs *clientStream) writeRequest(req *http.Request) (err error) { if cc.reqHeaderMu == nil { panic("RoundTrip on uninitialized ClientConn") // for tests } - var newStreamHook func(*clientStream) - if cc.syncHooks != nil { - newStreamHook = cc.syncHooks.newstream - cc.syncHooks.blockUntil(func() bool { - select { - case cc.reqHeaderMu <- struct{}{}: - <-cc.reqHeaderMu - case <-cs.reqCancel: - case <-ctx.Done(): - default: - return false - } - return true - }) - } select { case cc.reqHeaderMu <- struct{}{}: case <-cs.reqCancel: @@ -1497,28 +1460,8 @@ func (cs *clientStream) writeRequest(req *http.Request) (err error) { } cc.mu.Unlock() - if newStreamHook != nil { - newStreamHook(cs) - } - - // TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere? - if !cc.t.disableCompression() && - req.Header.Get("Accept-Encoding") == "" && - req.Header.Get("Range") == "" && - !cs.isHead { - // Request gzip only, not deflate. Deflate is ambiguous and - // not as universally supported anyway. - // See: https://zlib.net/zlib_faq.html#faq39 - // - // Note that we don't request this for HEAD requests, - // due to a bug in nginx: - // http://trac.nginx.org/nginx/ticket/358 - // https://golang.org/issue/5522 - // - // We don't request gzip if the request is for a range, since - // auto-decoding a portion of a gzipped document will just fail - // anyway. See https://golang.org/issue/8923 - cs.requestedGzip = true + if streamf != nil { + streamf(cs) } continueTimeout := cc.t.expectContinueTimeout() @@ -1581,7 +1524,7 @@ func (cs *clientStream) writeRequest(req *http.Request) (err error) { var respHeaderTimer <-chan time.Time var respHeaderRecv chan struct{} if d := cc.responseHeaderTimeout(); d != 0 { - timer := cc.newTimer(d) + timer := cc.t.newTimer(d) defer timer.Stop() respHeaderTimer = timer.C() respHeaderRecv = cs.respHeaderRecv @@ -1590,21 +1533,6 @@ func (cs *clientStream) writeRequest(req *http.Request) (err error) { // or until the request is aborted (via context, error, or otherwise), // whichever comes first. for { - if cc.syncHooks != nil { - cc.syncHooks.blockUntil(func() bool { - select { - case <-cs.peerClosed: - case <-respHeaderTimer: - case <-respHeaderRecv: - case <-cs.abort: - case <-ctx.Done(): - case <-cs.reqCancel: - default: - return false - } - return true - }) - } select { case <-cs.peerClosed: return nil @@ -1753,7 +1681,7 @@ func (cc *ClientConn) awaitOpenSlotForStreamLocked(cs *clientStream) error { return nil } cc.pendingRequests++ - cc.condWait() + cc.cond.Wait() cc.pendingRequests-- select { case <-cs.abort: @@ -2015,7 +1943,7 @@ func (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error) cs.flow.take(take) return take, nil } - cc.condWait() + cc.cond.Wait() } } @@ -2298,7 +2226,7 @@ func (cc *ClientConn) forgetStreamID(id uint32) { } // Wake up writeRequestBody via clientStream.awaitFlowControl and // wake up RoundTrip if there is a pending request. - cc.condBroadcast() + cc.cond.Broadcast() closeOnIdle := cc.singleUse || cc.doNotReuse || cc.t.disableKeepAlives() || cc.goAway != nil if closeOnIdle && cc.streamsReserved == 0 && len(cc.streams) == 0 { @@ -2320,6 +2248,7 @@ type clientConnReadLoop struct { // readLoop runs in its own goroutine and reads and dispatches frames. func (cc *ClientConn) readLoop() { + cc.t.markNewGoroutine() rl := &clientConnReadLoop{cc: cc} defer rl.cleanup() cc.readerErr = rl.run() @@ -2386,7 +2315,7 @@ func (rl *clientConnReadLoop) cleanup() { cs.abortStreamLocked(err) } } - cc.condBroadcast() + cc.cond.Broadcast() cc.mu.Unlock() } @@ -2423,7 +2352,7 @@ func (rl *clientConnReadLoop) run() error { readIdleTimeout := cc.t.ReadIdleTimeout var t timer if readIdleTimeout != 0 { - t = cc.afterFunc(readIdleTimeout, cc.healthCheck) + t = cc.t.afterFunc(readIdleTimeout, cc.healthCheck) } for { f, err := cc.fr.ReadFrame() @@ -3021,7 +2950,7 @@ func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error { for _, cs := range cc.streams { cs.flow.add(delta) } - cc.condBroadcast() + cc.cond.Broadcast() cc.initialWindowSize = s.Val case SettingHeaderTableSize: @@ -3076,7 +3005,7 @@ func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error { return ConnectionError(ErrCodeFlowControl) } - cc.condBroadcast() + cc.cond.Broadcast() return nil } @@ -3120,7 +3049,8 @@ func (cc *ClientConn) Ping(ctx context.Context) error { } var pingError error errc := make(chan struct{}) - cc.goRun(func() { + go func() { + cc.t.markNewGoroutine() cc.wmu.Lock() defer cc.wmu.Unlock() if pingError = cc.fr.WritePing(false, p); pingError != nil { @@ -3131,20 +3061,7 @@ func (cc *ClientConn) Ping(ctx context.Context) error { close(errc) return } - }) - if cc.syncHooks != nil { - cc.syncHooks.blockUntil(func() bool { - select { - case <-c: - case <-errc: - case <-ctx.Done(): - case <-cc.readerDone: - default: - return false - } - return true - }) - } + }() select { case <-c: return nil diff --git a/vendor/golang.org/x/net/http2/writesched_priority.go b/vendor/golang.org/x/net/http2/writesched_priority.go index 0a242c6..f678333 100644 --- a/vendor/golang.org/x/net/http2/writesched_priority.go +++ b/vendor/golang.org/x/net/http2/writesched_priority.go @@ -443,8 +443,8 @@ func (ws *priorityWriteScheduler) addClosedOrIdleNode(list *[]*priorityNode, max } func (ws *priorityWriteScheduler) removeNode(n *priorityNode) { - for k := n.kids; k != nil; k = k.next { - k.setParent(n.parent) + for n.kids != nil { + n.kids.setParent(n.parent) } n.setParent(nil) delete(ws.nodes, n.id) diff --git a/vendor/golang.org/x/sync/LICENSE b/vendor/golang.org/x/sync/LICENSE new file mode 100644 index 0000000..6a66aea --- /dev/null +++ b/vendor/golang.org/x/sync/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/sync/PATENTS b/vendor/golang.org/x/sync/PATENTS new file mode 100644 index 0000000..7330990 --- /dev/null +++ b/vendor/golang.org/x/sync/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/sync/errgroup/errgroup.go b/vendor/golang.org/x/sync/errgroup/errgroup.go new file mode 100644 index 0000000..948a3ee --- /dev/null +++ b/vendor/golang.org/x/sync/errgroup/errgroup.go @@ -0,0 +1,135 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package errgroup provides synchronization, error propagation, and Context +// cancelation for groups of goroutines working on subtasks of a common task. +// +// [errgroup.Group] is related to [sync.WaitGroup] but adds handling of tasks +// returning errors. +package errgroup + +import ( + "context" + "fmt" + "sync" +) + +type token struct{} + +// A Group is a collection of goroutines working on subtasks that are part of +// the same overall task. +// +// A zero Group is valid, has no limit on the number of active goroutines, +// and does not cancel on error. +type Group struct { + cancel func(error) + + wg sync.WaitGroup + + sem chan token + + errOnce sync.Once + err error +} + +func (g *Group) done() { + if g.sem != nil { + <-g.sem + } + g.wg.Done() +} + +// WithContext returns a new Group and an associated Context derived from ctx. +// +// The derived Context is canceled the first time a function passed to Go +// returns a non-nil error or the first time Wait returns, whichever occurs +// first. +func WithContext(ctx context.Context) (*Group, context.Context) { + ctx, cancel := withCancelCause(ctx) + return &Group{cancel: cancel}, ctx +} + +// Wait blocks until all function calls from the Go method have returned, then +// returns the first non-nil error (if any) from them. +func (g *Group) Wait() error { + g.wg.Wait() + if g.cancel != nil { + g.cancel(g.err) + } + return g.err +} + +// Go calls the given function in a new goroutine. +// It blocks until the new goroutine can be added without the number of +// active goroutines in the group exceeding the configured limit. +// +// The first call to return a non-nil error cancels the group's context, if the +// group was created by calling WithContext. The error will be returned by Wait. +func (g *Group) Go(f func() error) { + if g.sem != nil { + g.sem <- token{} + } + + g.wg.Add(1) + go func() { + defer g.done() + + if err := f(); err != nil { + g.errOnce.Do(func() { + g.err = err + if g.cancel != nil { + g.cancel(g.err) + } + }) + } + }() +} + +// TryGo calls the given function in a new goroutine only if the number of +// active goroutines in the group is currently below the configured limit. +// +// The return value reports whether the goroutine was started. +func (g *Group) TryGo(f func() error) bool { + if g.sem != nil { + select { + case g.sem <- token{}: + // Note: this allows barging iff channels in general allow barging. + default: + return false + } + } + + g.wg.Add(1) + go func() { + defer g.done() + + if err := f(); err != nil { + g.errOnce.Do(func() { + g.err = err + if g.cancel != nil { + g.cancel(g.err) + } + }) + } + }() + return true +} + +// SetLimit limits the number of active goroutines in this group to at most n. +// A negative value indicates no limit. +// +// Any subsequent call to the Go method will block until it can add an active +// goroutine without exceeding the configured limit. +// +// The limit must not be modified while any goroutines in the group are active. +func (g *Group) SetLimit(n int) { + if n < 0 { + g.sem = nil + return + } + if len(g.sem) != 0 { + panic(fmt.Errorf("errgroup: modify limit while %v goroutines in the group are still active", len(g.sem))) + } + g.sem = make(chan token, n) +} diff --git a/vendor/golang.org/x/sync/errgroup/go120.go b/vendor/golang.org/x/sync/errgroup/go120.go new file mode 100644 index 0000000..f93c740 --- /dev/null +++ b/vendor/golang.org/x/sync/errgroup/go120.go @@ -0,0 +1,13 @@ +// Copyright 2023 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build go1.20 + +package errgroup + +import "context" + +func withCancelCause(parent context.Context) (context.Context, func(error)) { + return context.WithCancelCause(parent) +} diff --git a/vendor/golang.org/x/sync/errgroup/pre_go120.go b/vendor/golang.org/x/sync/errgroup/pre_go120.go new file mode 100644 index 0000000..88ce334 --- /dev/null +++ b/vendor/golang.org/x/sync/errgroup/pre_go120.go @@ -0,0 +1,14 @@ +// Copyright 2023 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !go1.20 + +package errgroup + +import "context" + +func withCancelCause(parent context.Context) (context.Context, func(error)) { + ctx, cancel := context.WithCancel(parent) + return ctx, func(error) { cancel() } +} diff --git a/vendor/golang.org/x/sys/LICENSE b/vendor/golang.org/x/sys/LICENSE index 6a66aea..2a7cf70 100644 --- a/vendor/golang.org/x/sys/LICENSE +++ b/vendor/golang.org/x/sys/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2009 The Go Authors. All rights reserved. +Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -10,7 +10,7 @@ notice, this list of conditions and the following disclaimer. copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. diff --git a/vendor/golang.org/x/sys/cpu/cpu.go b/vendor/golang.org/x/sys/cpu/cpu.go index 4756ad5..ec07aab 100644 --- a/vendor/golang.org/x/sys/cpu/cpu.go +++ b/vendor/golang.org/x/sys/cpu/cpu.go @@ -103,7 +103,10 @@ var ARM64 struct { HasASIMDDP bool // Advanced SIMD double precision instruction set HasSHA512 bool // SHA512 hardware implementation HasSVE bool // Scalable Vector Extensions + HasSVE2 bool // Scalable Vector Extensions 2 HasASIMDFHM bool // Advanced SIMD multiplication FP16 to FP32 + HasDIT bool // Data Independent Timing support + HasI8MM bool // Advanced SIMD Int8 matrix multiplication instructions _ CacheLinePad } diff --git a/vendor/golang.org/x/sys/cpu/cpu_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_arm64.go index f3eb993..af2aa99 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_arm64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_arm64.go @@ -28,6 +28,7 @@ func initOptions() { {Name: "sm3", Feature: &ARM64.HasSM3}, {Name: "sm4", Feature: &ARM64.HasSM4}, {Name: "sve", Feature: &ARM64.HasSVE}, + {Name: "sve2", Feature: &ARM64.HasSVE2}, {Name: "crc32", Feature: &ARM64.HasCRC32}, {Name: "atomics", Feature: &ARM64.HasATOMICS}, {Name: "asimdhp", Feature: &ARM64.HasASIMDHP}, @@ -37,6 +38,8 @@ func initOptions() { {Name: "dcpop", Feature: &ARM64.HasDCPOP}, {Name: "asimddp", Feature: &ARM64.HasASIMDDP}, {Name: "asimdfhm", Feature: &ARM64.HasASIMDFHM}, + {Name: "dit", Feature: &ARM64.HasDIT}, + {Name: "i8mm", Feature: &ARM64.HasI8MM}, } } @@ -144,6 +147,11 @@ func parseARM64SystemRegisters(isar0, isar1, pfr0 uint64) { ARM64.HasLRCPC = true } + switch extractBits(isar1, 52, 55) { + case 1: + ARM64.HasI8MM = true + } + // ID_AA64PFR0_EL1 switch extractBits(pfr0, 16, 19) { case 0: @@ -164,6 +172,20 @@ func parseARM64SystemRegisters(isar0, isar1, pfr0 uint64) { switch extractBits(pfr0, 32, 35) { case 1: ARM64.HasSVE = true + + parseARM64SVERegister(getzfr0()) + } + + switch extractBits(pfr0, 48, 51) { + case 1: + ARM64.HasDIT = true + } +} + +func parseARM64SVERegister(zfr0 uint64) { + switch extractBits(zfr0, 0, 3) { + case 1: + ARM64.HasSVE2 = true } } diff --git a/vendor/golang.org/x/sys/cpu/cpu_arm64.s b/vendor/golang.org/x/sys/cpu/cpu_arm64.s index fcb9a38..22cc998 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_arm64.s +++ b/vendor/golang.org/x/sys/cpu/cpu_arm64.s @@ -29,3 +29,11 @@ TEXT ·getpfr0(SB),NOSPLIT,$0-8 WORD $0xd5380400 MOVD R0, ret+0(FP) RET + +// func getzfr0() uint64 +TEXT ·getzfr0(SB),NOSPLIT,$0-8 + // get SVE Feature Register 0 into x0 + // mrs x0, ID_AA64ZFR0_EL1 = d5380480 + WORD $0xd5380480 + MOVD R0, ret+0(FP) + RET diff --git a/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go index a8acd3e..6ac6e1e 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go @@ -9,3 +9,4 @@ package cpu func getisar0() uint64 func getisar1() uint64 func getpfr0() uint64 +func getzfr0() uint64 diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go index a968b80..08f35ea 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go @@ -35,6 +35,10 @@ const ( hwcap_SHA512 = 1 << 21 hwcap_SVE = 1 << 22 hwcap_ASIMDFHM = 1 << 23 + hwcap_DIT = 1 << 24 + + hwcap2_SVE2 = 1 << 1 + hwcap2_I8MM = 1 << 13 ) // linuxKernelCanEmulateCPUID reports whether we're running @@ -104,6 +108,12 @@ func doinit() { ARM64.HasSHA512 = isSet(hwCap, hwcap_SHA512) ARM64.HasSVE = isSet(hwCap, hwcap_SVE) ARM64.HasASIMDFHM = isSet(hwCap, hwcap_ASIMDFHM) + ARM64.HasDIT = isSet(hwCap, hwcap_DIT) + + + // HWCAP2 feature bits + ARM64.HasSVE2 = isSet(hwCap2, hwcap2_SVE2) + ARM64.HasI8MM = isSet(hwCap2, hwcap2_I8MM) } func isSet(hwc uint, value uint) bool { diff --git a/vendor/golang.org/x/sys/unix/asm_zos_s390x.s b/vendor/golang.org/x/sys/unix/asm_zos_s390x.s index 2f67ba8..813dfad 100644 --- a/vendor/golang.org/x/sys/unix/asm_zos_s390x.s +++ b/vendor/golang.org/x/sys/unix/asm_zos_s390x.s @@ -9,9 +9,11 @@ #define PSALAA 1208(R0) #define GTAB64(x) 80(x) #define LCA64(x) 88(x) +#define SAVSTACK_ASYNC(x) 336(x) // in the LCA #define CAA(x) 8(x) -#define EDCHPXV(x) 1016(x) // in the CAA -#define SAVSTACK_ASYNC(x) 336(x) // in the LCA +#define CEECAATHDID(x) 976(x) // in the CAA +#define EDCHPXV(x) 1016(x) // in the CAA +#define GOCB(x) 1104(x) // in the CAA // SS_*, where x=SAVSTACK_ASYNC #define SS_LE(x) 0(x) @@ -19,405 +21,362 @@ #define SS_ERRNO(x) 16(x) #define SS_ERRNOJR(x) 20(x) -#define LE_CALL BYTE $0x0D; BYTE $0x76; // BL R7, R6 +// Function Descriptor Offsets +#define __errno 0x156*16 +#define __err2ad 0x16C*16 -TEXT ·clearErrno(SB),NOSPLIT,$0-0 - BL addrerrno<>(SB) - MOVD $0, 0(R3) +// Call Instructions +#define LE_CALL BYTE $0x0D; BYTE $0x76 // BL R7, R6 +#define SVC_LOAD BYTE $0x0A; BYTE $0x08 // SVC 08 LOAD +#define SVC_DELETE BYTE $0x0A; BYTE $0x09 // SVC 09 DELETE + +DATA zosLibVec<>(SB)/8, $0 +GLOBL zosLibVec<>(SB), NOPTR, $8 + +TEXT ·initZosLibVec(SB), NOSPLIT|NOFRAME, $0-0 + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + MOVD CAA(R8), R8 + MOVD EDCHPXV(R8), R8 + MOVD R8, zosLibVec<>(SB) + RET + +TEXT ·GetZosLibVec(SB), NOSPLIT|NOFRAME, $0-0 + MOVD zosLibVec<>(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·clearErrno(SB), NOSPLIT, $0-0 + BL addrerrno<>(SB) + MOVD $0, 0(R3) RET // Returns the address of errno in R3. -TEXT addrerrno<>(SB),NOSPLIT|NOFRAME,$0-0 +TEXT addrerrno<>(SB), NOSPLIT|NOFRAME, $0-0 // Get library control area (LCA). - MOVW PSALAA, R8 - MOVD LCA64(R8), R8 + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 // Get __errno FuncDesc. - MOVD CAA(R8), R9 - MOVD EDCHPXV(R9), R9 - ADD $(0x156*16), R9 - LMG 0(R9), R5, R6 + MOVD CAA(R8), R9 + MOVD EDCHPXV(R9), R9 + ADD $(__errno), R9 + LMG 0(R9), R5, R6 // Switch to saved LE stack. - MOVD SAVSTACK_ASYNC(R8), R9 - MOVD 0(R9), R4 - MOVD $0, 0(R9) + MOVD SAVSTACK_ASYNC(R8), R9 + MOVD 0(R9), R4 + MOVD $0, 0(R9) // Call __errno function. LE_CALL NOPH // Switch back to Go stack. - XOR R0, R0 // Restore R0 to $0. - MOVD R4, 0(R9) // Save stack pointer. + XOR R0, R0 // Restore R0 to $0. + MOVD R4, 0(R9) // Save stack pointer. RET -TEXT ·syscall_syscall(SB),NOSPLIT,$0-56 - BL runtime·entersyscall(SB) - MOVD a1+8(FP), R1 - MOVD a2+16(FP), R2 - MOVD a3+24(FP), R3 +// func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64) +TEXT ·svcCall(SB), NOSPLIT, $0 + BL runtime·save_g(SB) // Save g and stack pointer + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + MOVD SAVSTACK_ASYNC(R8), R9 + MOVD R15, 0(R9) - // Get library control area (LCA). - MOVW PSALAA, R8 - MOVD LCA64(R8), R8 + MOVD argv+8(FP), R1 // Move function arguments into registers + MOVD dsa+16(FP), g + MOVD fnptr+0(FP), R15 - // Get function. - MOVD CAA(R8), R9 - MOVD EDCHPXV(R9), R9 - MOVD trap+0(FP), R5 - SLD $4, R5 - ADD R5, R9 - LMG 0(R9), R5, R6 + BYTE $0x0D // Branch to function + BYTE $0xEF - // Restore LE stack. - MOVD SAVSTACK_ASYNC(R8), R9 - MOVD 0(R9), R4 - MOVD $0, 0(R9) + BL runtime·load_g(SB) // Restore g and stack pointer + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + MOVD SAVSTACK_ASYNC(R8), R9 + MOVD 0(R9), R15 - // Call function. - LE_CALL - NOPH - XOR R0, R0 // Restore R0 to $0. - MOVD R4, 0(R9) // Save stack pointer. - - MOVD R3, r1+32(FP) - MOVD R0, r2+40(FP) - MOVD R0, err+48(FP) - MOVW R3, R4 - CMP R4, $-1 - BNE done - BL addrerrno<>(SB) - MOVWZ 0(R3), R3 - MOVD R3, err+48(FP) -done: - BL runtime·exitsyscall(SB) RET -TEXT ·syscall_rawsyscall(SB),NOSPLIT,$0-56 - MOVD a1+8(FP), R1 - MOVD a2+16(FP), R2 - MOVD a3+24(FP), R3 - - // Get library control area (LCA). - MOVW PSALAA, R8 - MOVD LCA64(R8), R8 - - // Get function. - MOVD CAA(R8), R9 - MOVD EDCHPXV(R9), R9 - MOVD trap+0(FP), R5 - SLD $4, R5 - ADD R5, R9 - LMG 0(R9), R5, R6 +// func svcLoad(name *byte) unsafe.Pointer +TEXT ·svcLoad(SB), NOSPLIT, $0 + MOVD R15, R2 // Save go stack pointer + MOVD name+0(FP), R0 // Move SVC args into registers + MOVD $0x80000000, R1 + MOVD $0, R15 + SVC_LOAD + MOVW R15, R3 // Save return code from SVC + MOVD R2, R15 // Restore go stack pointer + CMP R3, $0 // Check SVC return code + BNE error + + MOVD $-2, R3 // Reset last bit of entry point to zero + AND R0, R3 + MOVD R3, ret+8(FP) // Return entry point returned by SVC + CMP R0, R3 // Check if last bit of entry point was set + BNE done + + MOVD R15, R2 // Save go stack pointer + MOVD $0, R15 // Move SVC args into registers (entry point still in r0 from SVC 08) + SVC_DELETE + MOVD R2, R15 // Restore go stack pointer - // Restore LE stack. - MOVD SAVSTACK_ASYNC(R8), R9 - MOVD 0(R9), R4 - MOVD $0, 0(R9) +error: + MOVD $0, ret+8(FP) // Return 0 on failure - // Call function. - LE_CALL - NOPH - XOR R0, R0 // Restore R0 to $0. - MOVD R4, 0(R9) // Save stack pointer. - - MOVD R3, r1+32(FP) - MOVD R0, r2+40(FP) - MOVD R0, err+48(FP) - MOVW R3, R4 - CMP R4, $-1 - BNE done - BL addrerrno<>(SB) - MOVWZ 0(R3), R3 - MOVD R3, err+48(FP) done: + XOR R0, R0 // Reset r0 to 0 RET -TEXT ·syscall_syscall6(SB),NOSPLIT,$0-80 - BL runtime·entersyscall(SB) - MOVD a1+8(FP), R1 - MOVD a2+16(FP), R2 - MOVD a3+24(FP), R3 +// func svcUnload(name *byte, fnptr unsafe.Pointer) int64 +TEXT ·svcUnload(SB), NOSPLIT, $0 + MOVD R15, R2 // Save go stack pointer + MOVD name+0(FP), R0 // Move SVC args into registers + MOVD fnptr+8(FP), R15 + SVC_DELETE + XOR R0, R0 // Reset r0 to 0 + MOVD R15, R1 // Save SVC return code + MOVD R2, R15 // Restore go stack pointer + MOVD R1, ret+16(FP) // Return SVC return code + RET +// func gettid() uint64 +TEXT ·gettid(SB), NOSPLIT, $0 // Get library control area (LCA). - MOVW PSALAA, R8 - MOVD LCA64(R8), R8 + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 - // Get function. - MOVD CAA(R8), R9 - MOVD EDCHPXV(R9), R9 - MOVD trap+0(FP), R5 - SLD $4, R5 - ADD R5, R9 - LMG 0(R9), R5, R6 + // Get CEECAATHDID + MOVD CAA(R8), R9 + MOVD CEECAATHDID(R9), R9 + MOVD R9, ret+0(FP) - // Restore LE stack. - MOVD SAVSTACK_ASYNC(R8), R9 - MOVD 0(R9), R4 - MOVD $0, 0(R9) - - // Fill in parameter list. - MOVD a4+32(FP), R12 - MOVD R12, (2176+24)(R4) - MOVD a5+40(FP), R12 - MOVD R12, (2176+32)(R4) - MOVD a6+48(FP), R12 - MOVD R12, (2176+40)(R4) - - // Call function. - LE_CALL - NOPH - XOR R0, R0 // Restore R0 to $0. - MOVD R4, 0(R9) // Save stack pointer. - - MOVD R3, r1+56(FP) - MOVD R0, r2+64(FP) - MOVD R0, err+72(FP) - MOVW R3, R4 - CMP R4, $-1 - BNE done - BL addrerrno<>(SB) - MOVWZ 0(R3), R3 - MOVD R3, err+72(FP) -done: - BL runtime·exitsyscall(SB) RET -TEXT ·syscall_rawsyscall6(SB),NOSPLIT,$0-80 - MOVD a1+8(FP), R1 - MOVD a2+16(FP), R2 - MOVD a3+24(FP), R3 - - // Get library control area (LCA). - MOVW PSALAA, R8 - MOVD LCA64(R8), R8 - - // Get function. - MOVD CAA(R8), R9 - MOVD EDCHPXV(R9), R9 - MOVD trap+0(FP), R5 - SLD $4, R5 - ADD R5, R9 - LMG 0(R9), R5, R6 +// +// Call LE function, if the return is -1 +// errno and errno2 is retrieved +// +TEXT ·CallLeFuncWithErr(SB), NOSPLIT, $0 + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + MOVD CAA(R8), R9 + MOVD g, GOCB(R9) // Restore LE stack. - MOVD SAVSTACK_ASYNC(R8), R9 - MOVD 0(R9), R4 - MOVD $0, 0(R9) - - // Fill in parameter list. - MOVD a4+32(FP), R12 - MOVD R12, (2176+24)(R4) - MOVD a5+40(FP), R12 - MOVD R12, (2176+32)(R4) - MOVD a6+48(FP), R12 - MOVD R12, (2176+40)(R4) - - // Call function. - LE_CALL + MOVD SAVSTACK_ASYNC(R8), R9 // R9-> LE stack frame saving address + MOVD 0(R9), R4 // R4-> restore previously saved stack frame pointer + + MOVD parms_base+8(FP), R7 // R7 -> argument array + MOVD parms_len+16(FP), R8 // R8 number of arguments + + // arg 1 ---> R1 + CMP R8, $0 + BEQ docall + SUB $1, R8 + MOVD 0(R7), R1 + + // arg 2 ---> R2 + CMP R8, $0 + BEQ docall + SUB $1, R8 + ADD $8, R7 + MOVD 0(R7), R2 + + // arg 3 --> R3 + CMP R8, $0 + BEQ docall + SUB $1, R8 + ADD $8, R7 + MOVD 0(R7), R3 + + CMP R8, $0 + BEQ docall + MOVD $2176+16, R6 // starting LE stack address-8 to store 4th argument + +repeat: + ADD $8, R7 + MOVD 0(R7), R0 // advance arg pointer by 8 byte + ADD $8, R6 // advance LE argument address by 8 byte + MOVD R0, (R4)(R6*1) // copy argument from go-slice to le-frame + SUB $1, R8 + CMP R8, $0 + BNE repeat + +docall: + MOVD funcdesc+0(FP), R8 // R8-> function descriptor + LMG 0(R8), R5, R6 + MOVD $0, 0(R9) // R9 address of SAVSTACK_ASYNC + LE_CALL // balr R7, R6 (return #1) + NOPH + MOVD R3, ret+32(FP) + CMP R3, $-1 // compare result to -1 + BNE done + + // retrieve errno and errno2 + MOVD zosLibVec<>(SB), R8 + ADD $(__errno), R8 + LMG 0(R8), R5, R6 + LE_CALL // balr R7, R6 __errno (return #3) NOPH - XOR R0, R0 // Restore R0 to $0. - MOVD R4, 0(R9) // Save stack pointer. - - MOVD R3, r1+56(FP) - MOVD R0, r2+64(FP) - MOVD R0, err+72(FP) - MOVW R3, R4 - CMP R4, $-1 - BNE done - BL ·rrno<>(SB) - MOVWZ 0(R3), R3 - MOVD R3, err+72(FP) + MOVWZ 0(R3), R3 + MOVD R3, err+48(FP) + MOVD zosLibVec<>(SB), R8 + ADD $(__err2ad), R8 + LMG 0(R8), R5, R6 + LE_CALL // balr R7, R6 __err2ad (return #2) + NOPH + MOVW (R3), R2 // retrieve errno2 + MOVD R2, errno2+40(FP) // store in return area + done: + MOVD R4, 0(R9) // Save stack pointer. RET -TEXT ·syscall_syscall9(SB),NOSPLIT,$0 - BL runtime·entersyscall(SB) - MOVD a1+8(FP), R1 - MOVD a2+16(FP), R2 - MOVD a3+24(FP), R3 - - // Get library control area (LCA). - MOVW PSALAA, R8 - MOVD LCA64(R8), R8 - - // Get function. - MOVD CAA(R8), R9 - MOVD EDCHPXV(R9), R9 - MOVD trap+0(FP), R5 - SLD $4, R5 - ADD R5, R9 - LMG 0(R9), R5, R6 +// +// Call LE function, if the return is 0 +// errno and errno2 is retrieved +// +TEXT ·CallLeFuncWithPtrReturn(SB), NOSPLIT, $0 + MOVW PSALAA, R8 + MOVD LCA64(R8), R8 + MOVD CAA(R8), R9 + MOVD g, GOCB(R9) // Restore LE stack. - MOVD SAVSTACK_ASYNC(R8), R9 - MOVD 0(R9), R4 - MOVD $0, 0(R9) - - // Fill in parameter list. - MOVD a4+32(FP), R12 - MOVD R12, (2176+24)(R4) - MOVD a5+40(FP), R12 - MOVD R12, (2176+32)(R4) - MOVD a6+48(FP), R12 - MOVD R12, (2176+40)(R4) - MOVD a7+56(FP), R12 - MOVD R12, (2176+48)(R4) - MOVD a8+64(FP), R12 - MOVD R12, (2176+56)(R4) - MOVD a9+72(FP), R12 - MOVD R12, (2176+64)(R4) - - // Call function. - LE_CALL + MOVD SAVSTACK_ASYNC(R8), R9 // R9-> LE stack frame saving address + MOVD 0(R9), R4 // R4-> restore previously saved stack frame pointer + + MOVD parms_base+8(FP), R7 // R7 -> argument array + MOVD parms_len+16(FP), R8 // R8 number of arguments + + // arg 1 ---> R1 + CMP R8, $0 + BEQ docall + SUB $1, R8 + MOVD 0(R7), R1 + + // arg 2 ---> R2 + CMP R8, $0 + BEQ docall + SUB $1, R8 + ADD $8, R7 + MOVD 0(R7), R2 + + // arg 3 --> R3 + CMP R8, $0 + BEQ docall + SUB $1, R8 + ADD $8, R7 + MOVD 0(R7), R3 + + CMP R8, $0 + BEQ docall + MOVD $2176+16, R6 // starting LE stack address-8 to store 4th argument + +repeat: + ADD $8, R7 + MOVD 0(R7), R0 // advance arg pointer by 8 byte + ADD $8, R6 // advance LE argument address by 8 byte + MOVD R0, (R4)(R6*1) // copy argument from go-slice to le-frame + SUB $1, R8 + CMP R8, $0 + BNE repeat + +docall: + MOVD funcdesc+0(FP), R8 // R8-> function descriptor + LMG 0(R8), R5, R6 + MOVD $0, 0(R9) // R9 address of SAVSTACK_ASYNC + LE_CALL // balr R7, R6 (return #1) NOPH - XOR R0, R0 // Restore R0 to $0. - MOVD R4, 0(R9) // Save stack pointer. - - MOVD R3, r1+80(FP) - MOVD R0, r2+88(FP) - MOVD R0, err+96(FP) - MOVW R3, R4 - CMP R4, $-1 - BNE done - BL addrerrno<>(SB) - MOVWZ 0(R3), R3 - MOVD R3, err+96(FP) -done: - BL runtime·exitsyscall(SB) - RET - -TEXT ·syscall_rawsyscall9(SB),NOSPLIT,$0 - MOVD a1+8(FP), R1 - MOVD a2+16(FP), R2 - MOVD a3+24(FP), R3 - - // Get library control area (LCA). - MOVW PSALAA, R8 - MOVD LCA64(R8), R8 - - // Get function. - MOVD CAA(R8), R9 - MOVD EDCHPXV(R9), R9 - MOVD trap+0(FP), R5 - SLD $4, R5 - ADD R5, R9 - LMG 0(R9), R5, R6 - - // Restore LE stack. - MOVD SAVSTACK_ASYNC(R8), R9 - MOVD 0(R9), R4 - MOVD $0, 0(R9) - - // Fill in parameter list. - MOVD a4+32(FP), R12 - MOVD R12, (2176+24)(R4) - MOVD a5+40(FP), R12 - MOVD R12, (2176+32)(R4) - MOVD a6+48(FP), R12 - MOVD R12, (2176+40)(R4) - MOVD a7+56(FP), R12 - MOVD R12, (2176+48)(R4) - MOVD a8+64(FP), R12 - MOVD R12, (2176+56)(R4) - MOVD a9+72(FP), R12 - MOVD R12, (2176+64)(R4) - - // Call function. - LE_CALL + MOVD R3, ret+32(FP) + CMP R3, $0 // compare result to 0 + BNE done + + // retrieve errno and errno2 + MOVD zosLibVec<>(SB), R8 + ADD $(__errno), R8 + LMG 0(R8), R5, R6 + LE_CALL // balr R7, R6 __errno (return #3) NOPH - XOR R0, R0 // Restore R0 to $0. - MOVD R4, 0(R9) // Save stack pointer. - - MOVD R3, r1+80(FP) - MOVD R0, r2+88(FP) - MOVD R0, err+96(FP) - MOVW R3, R4 - CMP R4, $-1 - BNE done - BL addrerrno<>(SB) - MOVWZ 0(R3), R3 - MOVD R3, err+96(FP) -done: - RET - -// func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64) -TEXT ·svcCall(SB),NOSPLIT,$0 - BL runtime·save_g(SB) // Save g and stack pointer - MOVW PSALAA, R8 - MOVD LCA64(R8), R8 - MOVD SAVSTACK_ASYNC(R8), R9 - MOVD R15, 0(R9) - - MOVD argv+8(FP), R1 // Move function arguments into registers - MOVD dsa+16(FP), g - MOVD fnptr+0(FP), R15 - - BYTE $0x0D // Branch to function - BYTE $0xEF - - BL runtime·load_g(SB) // Restore g and stack pointer - MOVW PSALAA, R8 - MOVD LCA64(R8), R8 - MOVD SAVSTACK_ASYNC(R8), R9 - MOVD 0(R9), R15 - - RET - -// func svcLoad(name *byte) unsafe.Pointer -TEXT ·svcLoad(SB),NOSPLIT,$0 - MOVD R15, R2 // Save go stack pointer - MOVD name+0(FP), R0 // Move SVC args into registers - MOVD $0x80000000, R1 - MOVD $0, R15 - BYTE $0x0A // SVC 08 LOAD - BYTE $0x08 - MOVW R15, R3 // Save return code from SVC - MOVD R2, R15 // Restore go stack pointer - CMP R3, $0 // Check SVC return code - BNE error - - MOVD $-2, R3 // Reset last bit of entry point to zero - AND R0, R3 - MOVD R3, addr+8(FP) // Return entry point returned by SVC - CMP R0, R3 // Check if last bit of entry point was set - BNE done - - MOVD R15, R2 // Save go stack pointer - MOVD $0, R15 // Move SVC args into registers (entry point still in r0 from SVC 08) - BYTE $0x0A // SVC 09 DELETE - BYTE $0x09 - MOVD R2, R15 // Restore go stack pointer + MOVWZ 0(R3), R3 + MOVD R3, err+48(FP) + MOVD zosLibVec<>(SB), R8 + ADD $(__err2ad), R8 + LMG 0(R8), R5, R6 + LE_CALL // balr R7, R6 __err2ad (return #2) + NOPH + MOVW (R3), R2 // retrieve errno2 + MOVD R2, errno2+40(FP) // store in return area + XOR R2, R2 + MOVWZ R2, (R3) // clear errno2 -error: - MOVD $0, addr+8(FP) // Return 0 on failure done: - XOR R0, R0 // Reset r0 to 0 + MOVD R4, 0(R9) // Save stack pointer. RET -// func svcUnload(name *byte, fnptr unsafe.Pointer) int64 -TEXT ·svcUnload(SB),NOSPLIT,$0 - MOVD R15, R2 // Save go stack pointer - MOVD name+0(FP), R0 // Move SVC args into registers - MOVD addr+8(FP), R15 - BYTE $0x0A // SVC 09 - BYTE $0x09 - XOR R0, R0 // Reset r0 to 0 - MOVD R15, R1 // Save SVC return code - MOVD R2, R15 // Restore go stack pointer - MOVD R1, rc+0(FP) // Return SVC return code +// +// function to test if a pointer can be safely dereferenced (content read) +// return 0 for succces +// +TEXT ·ptrtest(SB), NOSPLIT, $0-16 + MOVD arg+0(FP), R10 // test pointer in R10 + + // set up R2 to point to CEECAADMC + BYTE $0xE3; BYTE $0x20; BYTE $0x04; BYTE $0xB8; BYTE $0x00; BYTE $0x17 // llgt 2,1208 + BYTE $0xB9; BYTE $0x17; BYTE $0x00; BYTE $0x22 // llgtr 2,2 + BYTE $0xA5; BYTE $0x26; BYTE $0x7F; BYTE $0xFF // nilh 2,32767 + BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x58; BYTE $0x00; BYTE $0x04 // lg 2,88(2) + BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x08; BYTE $0x00; BYTE $0x04 // lg 2,8(2) + BYTE $0x41; BYTE $0x22; BYTE $0x03; BYTE $0x68 // la 2,872(2) + + // set up R5 to point to the "shunt" path which set 1 to R3 (failure) + BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x33 // xgr 3,3 + BYTE $0xA7; BYTE $0x55; BYTE $0x00; BYTE $0x04 // bras 5,lbl1 + BYTE $0xA7; BYTE $0x39; BYTE $0x00; BYTE $0x01 // lghi 3,1 + + // if r3 is not zero (failed) then branch to finish + BYTE $0xB9; BYTE $0x02; BYTE $0x00; BYTE $0x33 // lbl1 ltgr 3,3 + BYTE $0xA7; BYTE $0x74; BYTE $0x00; BYTE $0x08 // brc b'0111',lbl2 + + // stomic store shunt address in R5 into CEECAADMC + BYTE $0xE3; BYTE $0x52; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg 5,0(2) + + // now try reading from the test pointer in R10, if it fails it branches to the "lghi" instruction above + BYTE $0xE3; BYTE $0x9A; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x04 // lg 9,0(10) + + // finish here, restore 0 into CEECAADMC + BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x99 // lbl2 xgr 9,9 + BYTE $0xE3; BYTE $0x92; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg 9,0(2) + MOVD R3, ret+8(FP) // result in R3 RET -// func gettid() uint64 -TEXT ·gettid(SB), NOSPLIT, $0 - // Get library control area (LCA). - MOVW PSALAA, R8 - MOVD LCA64(R8), R8 - - // Get CEECAATHDID - MOVD CAA(R8), R9 - MOVD 0x3D0(R9), R9 - MOVD R9, ret+0(FP) - +// +// function to test if a untptr can be loaded from a pointer +// return 1: the 8-byte content +// 2: 0 for success, 1 for failure +// +// func safeload(ptr uintptr) ( value uintptr, error uintptr) +TEXT ·safeload(SB), NOSPLIT, $0-24 + MOVD ptr+0(FP), R10 // test pointer in R10 + MOVD $0x0, R6 + BYTE $0xE3; BYTE $0x20; BYTE $0x04; BYTE $0xB8; BYTE $0x00; BYTE $0x17 // llgt 2,1208 + BYTE $0xB9; BYTE $0x17; BYTE $0x00; BYTE $0x22 // llgtr 2,2 + BYTE $0xA5; BYTE $0x26; BYTE $0x7F; BYTE $0xFF // nilh 2,32767 + BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x58; BYTE $0x00; BYTE $0x04 // lg 2,88(2) + BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x08; BYTE $0x00; BYTE $0x04 // lg 2,8(2) + BYTE $0x41; BYTE $0x22; BYTE $0x03; BYTE $0x68 // la 2,872(2) + BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x33 // xgr 3,3 + BYTE $0xA7; BYTE $0x55; BYTE $0x00; BYTE $0x04 // bras 5,lbl1 + BYTE $0xA7; BYTE $0x39; BYTE $0x00; BYTE $0x01 // lghi 3,1 + BYTE $0xB9; BYTE $0x02; BYTE $0x00; BYTE $0x33 // lbl1 ltgr 3,3 + BYTE $0xA7; BYTE $0x74; BYTE $0x00; BYTE $0x08 // brc b'0111',lbl2 + BYTE $0xE3; BYTE $0x52; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg 5,0(2) + BYTE $0xE3; BYTE $0x6A; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x04 // lg 6,0(10) + BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x99 // lbl2 xgr 9,9 + BYTE $0xE3; BYTE $0x92; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg 9,0(2) + MOVD R6, value+8(FP) // result in R6 + MOVD R3, error+16(FP) // error in R3 RET diff --git a/vendor/golang.org/x/sys/unix/bpxsvc_zos.go b/vendor/golang.org/x/sys/unix/bpxsvc_zos.go new file mode 100644 index 0000000..39d647d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/bpxsvc_zos.go @@ -0,0 +1,657 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build zos + +package unix + +import ( + "bytes" + "fmt" + "unsafe" +) + +//go:noescape +func bpxcall(plist []unsafe.Pointer, bpx_offset int64) + +//go:noescape +func A2e([]byte) + +//go:noescape +func E2a([]byte) + +const ( + BPX4STA = 192 // stat + BPX4FST = 104 // fstat + BPX4LST = 132 // lstat + BPX4OPN = 156 // open + BPX4CLO = 72 // close + BPX4CHR = 500 // chattr + BPX4FCR = 504 // fchattr + BPX4LCR = 1180 // lchattr + BPX4CTW = 492 // cond_timed_wait + BPX4GTH = 1056 // __getthent + BPX4PTQ = 412 // pthread_quiesc + BPX4PTR = 320 // ptrace +) + +const ( + //options + //byte1 + BPX_OPNFHIGH = 0x80 + //byte2 + BPX_OPNFEXEC = 0x80 + //byte3 + BPX_O_NOLARGEFILE = 0x08 + BPX_O_LARGEFILE = 0x04 + BPX_O_ASYNCSIG = 0x02 + BPX_O_SYNC = 0x01 + //byte4 + BPX_O_CREXCL = 0xc0 + BPX_O_CREAT = 0x80 + BPX_O_EXCL = 0x40 + BPX_O_NOCTTY = 0x20 + BPX_O_TRUNC = 0x10 + BPX_O_APPEND = 0x08 + BPX_O_NONBLOCK = 0x04 + BPX_FNDELAY = 0x04 + BPX_O_RDWR = 0x03 + BPX_O_RDONLY = 0x02 + BPX_O_WRONLY = 0x01 + BPX_O_ACCMODE = 0x03 + BPX_O_GETFL = 0x0f + + //mode + // byte1 (file type) + BPX_FT_DIR = 1 + BPX_FT_CHARSPEC = 2 + BPX_FT_REGFILE = 3 + BPX_FT_FIFO = 4 + BPX_FT_SYMLINK = 5 + BPX_FT_SOCKET = 6 + //byte3 + BPX_S_ISUID = 0x08 + BPX_S_ISGID = 0x04 + BPX_S_ISVTX = 0x02 + BPX_S_IRWXU1 = 0x01 + BPX_S_IRUSR = 0x01 + //byte4 + BPX_S_IRWXU2 = 0xc0 + BPX_S_IWUSR = 0x80 + BPX_S_IXUSR = 0x40 + BPX_S_IRWXG = 0x38 + BPX_S_IRGRP = 0x20 + BPX_S_IWGRP = 0x10 + BPX_S_IXGRP = 0x08 + BPX_S_IRWXOX = 0x07 + BPX_S_IROTH = 0x04 + BPX_S_IWOTH = 0x02 + BPX_S_IXOTH = 0x01 + + CW_INTRPT = 1 + CW_CONDVAR = 32 + CW_TIMEOUT = 64 + + PGTHA_NEXT = 2 + PGTHA_CURRENT = 1 + PGTHA_FIRST = 0 + PGTHA_LAST = 3 + PGTHA_PROCESS = 0x80 + PGTHA_CONTTY = 0x40 + PGTHA_PATH = 0x20 + PGTHA_COMMAND = 0x10 + PGTHA_FILEDATA = 0x08 + PGTHA_THREAD = 0x04 + PGTHA_PTAG = 0x02 + PGTHA_COMMANDLONG = 0x01 + PGTHA_THREADFAST = 0x80 + PGTHA_FILEPATH = 0x40 + PGTHA_THDSIGMASK = 0x20 + // thread quiece mode + QUIESCE_TERM int32 = 1 + QUIESCE_FORCE int32 = 2 + QUIESCE_QUERY int32 = 3 + QUIESCE_FREEZE int32 = 4 + QUIESCE_UNFREEZE int32 = 5 + FREEZE_THIS_THREAD int32 = 6 + FREEZE_EXIT int32 = 8 + QUIESCE_SRB int32 = 9 +) + +type Pgtha struct { + Pid uint32 // 0 + Tid0 uint32 // 4 + Tid1 uint32 + Accesspid byte // C + Accesstid byte // D + Accessasid uint16 // E + Loginname [8]byte // 10 + Flag1 byte // 18 + Flag1b2 byte // 19 +} + +type Bpxystat_t struct { // DSECT BPXYSTAT + St_id [4]uint8 // 0 + St_length uint16 // 0x4 + St_version uint16 // 0x6 + St_mode uint32 // 0x8 + St_ino uint32 // 0xc + St_dev uint32 // 0x10 + St_nlink uint32 // 0x14 + St_uid uint32 // 0x18 + St_gid uint32 // 0x1c + St_size uint64 // 0x20 + St_atime uint32 // 0x28 + St_mtime uint32 // 0x2c + St_ctime uint32 // 0x30 + St_rdev uint32 // 0x34 + St_auditoraudit uint32 // 0x38 + St_useraudit uint32 // 0x3c + St_blksize uint32 // 0x40 + St_createtime uint32 // 0x44 + St_auditid [4]uint32 // 0x48 + St_res01 uint32 // 0x58 + Ft_ccsid uint16 // 0x5c + Ft_flags uint16 // 0x5e + St_res01a [2]uint32 // 0x60 + St_res02 uint32 // 0x68 + St_blocks uint32 // 0x6c + St_opaque [3]uint8 // 0x70 + St_visible uint8 // 0x73 + St_reftime uint32 // 0x74 + St_fid uint64 // 0x78 + St_filefmt uint8 // 0x80 + St_fspflag2 uint8 // 0x81 + St_res03 [2]uint8 // 0x82 + St_ctimemsec uint32 // 0x84 + St_seclabel [8]uint8 // 0x88 + St_res04 [4]uint8 // 0x90 + // end of version 1 + _ uint32 // 0x94 + St_atime64 uint64 // 0x98 + St_mtime64 uint64 // 0xa0 + St_ctime64 uint64 // 0xa8 + St_createtime64 uint64 // 0xb0 + St_reftime64 uint64 // 0xb8 + _ uint64 // 0xc0 + St_res05 [16]uint8 // 0xc8 + // end of version 2 +} + +type BpxFilestatus struct { + Oflag1 byte + Oflag2 byte + Oflag3 byte + Oflag4 byte +} + +type BpxMode struct { + Ftype byte + Mode1 byte + Mode2 byte + Mode3 byte +} + +// Thr attribute structure for extended attributes +type Bpxyatt_t struct { // DSECT BPXYATT + Att_id [4]uint8 + Att_version uint16 + Att_res01 [2]uint8 + Att_setflags1 uint8 + Att_setflags2 uint8 + Att_setflags3 uint8 + Att_setflags4 uint8 + Att_mode uint32 + Att_uid uint32 + Att_gid uint32 + Att_opaquemask [3]uint8 + Att_visblmaskres uint8 + Att_opaque [3]uint8 + Att_visibleres uint8 + Att_size_h uint32 + Att_size_l uint32 + Att_atime uint32 + Att_mtime uint32 + Att_auditoraudit uint32 + Att_useraudit uint32 + Att_ctime uint32 + Att_reftime uint32 + // end of version 1 + Att_filefmt uint8 + Att_res02 [3]uint8 + Att_filetag uint32 + Att_res03 [8]uint8 + // end of version 2 + Att_atime64 uint64 + Att_mtime64 uint64 + Att_ctime64 uint64 + Att_reftime64 uint64 + Att_seclabel [8]uint8 + Att_ver3res02 [8]uint8 + // end of version 3 +} + +func BpxOpen(name string, options *BpxFilestatus, mode *BpxMode) (rv int32, rc int32, rn int32) { + if len(name) < 1024 { + var namebuf [1024]byte + sz := int32(copy(namebuf[:], name)) + A2e(namebuf[:sz]) + var parms [7]unsafe.Pointer + parms[0] = unsafe.Pointer(&sz) + parms[1] = unsafe.Pointer(&namebuf[0]) + parms[2] = unsafe.Pointer(options) + parms[3] = unsafe.Pointer(mode) + parms[4] = unsafe.Pointer(&rv) + parms[5] = unsafe.Pointer(&rc) + parms[6] = unsafe.Pointer(&rn) + bpxcall(parms[:], BPX4OPN) + return rv, rc, rn + } + return -1, -1, -1 +} + +func BpxClose(fd int32) (rv int32, rc int32, rn int32) { + var parms [4]unsafe.Pointer + parms[0] = unsafe.Pointer(&fd) + parms[1] = unsafe.Pointer(&rv) + parms[2] = unsafe.Pointer(&rc) + parms[3] = unsafe.Pointer(&rn) + bpxcall(parms[:], BPX4CLO) + return rv, rc, rn +} + +func BpxFileFStat(fd int32, st *Bpxystat_t) (rv int32, rc int32, rn int32) { + st.St_id = [4]uint8{0xe2, 0xe3, 0xc1, 0xe3} + st.St_version = 2 + stat_sz := uint32(unsafe.Sizeof(*st)) + var parms [6]unsafe.Pointer + parms[0] = unsafe.Pointer(&fd) + parms[1] = unsafe.Pointer(&stat_sz) + parms[2] = unsafe.Pointer(st) + parms[3] = unsafe.Pointer(&rv) + parms[4] = unsafe.Pointer(&rc) + parms[5] = unsafe.Pointer(&rn) + bpxcall(parms[:], BPX4FST) + return rv, rc, rn +} + +func BpxFileStat(name string, st *Bpxystat_t) (rv int32, rc int32, rn int32) { + if len(name) < 1024 { + var namebuf [1024]byte + sz := int32(copy(namebuf[:], name)) + A2e(namebuf[:sz]) + st.St_id = [4]uint8{0xe2, 0xe3, 0xc1, 0xe3} + st.St_version = 2 + stat_sz := uint32(unsafe.Sizeof(*st)) + var parms [7]unsafe.Pointer + parms[0] = unsafe.Pointer(&sz) + parms[1] = unsafe.Pointer(&namebuf[0]) + parms[2] = unsafe.Pointer(&stat_sz) + parms[3] = unsafe.Pointer(st) + parms[4] = unsafe.Pointer(&rv) + parms[5] = unsafe.Pointer(&rc) + parms[6] = unsafe.Pointer(&rn) + bpxcall(parms[:], BPX4STA) + return rv, rc, rn + } + return -1, -1, -1 +} + +func BpxFileLStat(name string, st *Bpxystat_t) (rv int32, rc int32, rn int32) { + if len(name) < 1024 { + var namebuf [1024]byte + sz := int32(copy(namebuf[:], name)) + A2e(namebuf[:sz]) + st.St_id = [4]uint8{0xe2, 0xe3, 0xc1, 0xe3} + st.St_version = 2 + stat_sz := uint32(unsafe.Sizeof(*st)) + var parms [7]unsafe.Pointer + parms[0] = unsafe.Pointer(&sz) + parms[1] = unsafe.Pointer(&namebuf[0]) + parms[2] = unsafe.Pointer(&stat_sz) + parms[3] = unsafe.Pointer(st) + parms[4] = unsafe.Pointer(&rv) + parms[5] = unsafe.Pointer(&rc) + parms[6] = unsafe.Pointer(&rn) + bpxcall(parms[:], BPX4LST) + return rv, rc, rn + } + return -1, -1, -1 +} + +func BpxChattr(path string, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) { + if len(path) >= 1024 { + return -1, -1, -1 + } + var namebuf [1024]byte + sz := int32(copy(namebuf[:], path)) + A2e(namebuf[:sz]) + attr_sz := uint32(unsafe.Sizeof(*attr)) + var parms [7]unsafe.Pointer + parms[0] = unsafe.Pointer(&sz) + parms[1] = unsafe.Pointer(&namebuf[0]) + parms[2] = unsafe.Pointer(&attr_sz) + parms[3] = unsafe.Pointer(attr) + parms[4] = unsafe.Pointer(&rv) + parms[5] = unsafe.Pointer(&rc) + parms[6] = unsafe.Pointer(&rn) + bpxcall(parms[:], BPX4CHR) + return rv, rc, rn +} + +func BpxLchattr(path string, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) { + if len(path) >= 1024 { + return -1, -1, -1 + } + var namebuf [1024]byte + sz := int32(copy(namebuf[:], path)) + A2e(namebuf[:sz]) + attr_sz := uint32(unsafe.Sizeof(*attr)) + var parms [7]unsafe.Pointer + parms[0] = unsafe.Pointer(&sz) + parms[1] = unsafe.Pointer(&namebuf[0]) + parms[2] = unsafe.Pointer(&attr_sz) + parms[3] = unsafe.Pointer(attr) + parms[4] = unsafe.Pointer(&rv) + parms[5] = unsafe.Pointer(&rc) + parms[6] = unsafe.Pointer(&rn) + bpxcall(parms[:], BPX4LCR) + return rv, rc, rn +} + +func BpxFchattr(fd int32, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) { + attr_sz := uint32(unsafe.Sizeof(*attr)) + var parms [6]unsafe.Pointer + parms[0] = unsafe.Pointer(&fd) + parms[1] = unsafe.Pointer(&attr_sz) + parms[2] = unsafe.Pointer(attr) + parms[3] = unsafe.Pointer(&rv) + parms[4] = unsafe.Pointer(&rc) + parms[5] = unsafe.Pointer(&rn) + bpxcall(parms[:], BPX4FCR) + return rv, rc, rn +} + +func BpxCondTimedWait(sec uint32, nsec uint32, events uint32, secrem *uint32, nsecrem *uint32) (rv int32, rc int32, rn int32) { + var parms [8]unsafe.Pointer + parms[0] = unsafe.Pointer(&sec) + parms[1] = unsafe.Pointer(&nsec) + parms[2] = unsafe.Pointer(&events) + parms[3] = unsafe.Pointer(secrem) + parms[4] = unsafe.Pointer(nsecrem) + parms[5] = unsafe.Pointer(&rv) + parms[6] = unsafe.Pointer(&rc) + parms[7] = unsafe.Pointer(&rn) + bpxcall(parms[:], BPX4CTW) + return rv, rc, rn +} +func BpxGetthent(in *Pgtha, outlen *uint32, out unsafe.Pointer) (rv int32, rc int32, rn int32) { + var parms [7]unsafe.Pointer + inlen := uint32(26) // nothing else will work. Go says Pgtha is 28-byte because of alignment, but Pgtha is "packed" and must be 26-byte + parms[0] = unsafe.Pointer(&inlen) + parms[1] = unsafe.Pointer(&in) + parms[2] = unsafe.Pointer(outlen) + parms[3] = unsafe.Pointer(&out) + parms[4] = unsafe.Pointer(&rv) + parms[5] = unsafe.Pointer(&rc) + parms[6] = unsafe.Pointer(&rn) + bpxcall(parms[:], BPX4GTH) + return rv, rc, rn +} +func ZosJobname() (jobname string, err error) { + var pgtha Pgtha + pgtha.Pid = uint32(Getpid()) + pgtha.Accesspid = PGTHA_CURRENT + pgtha.Flag1 = PGTHA_PROCESS + var out [256]byte + var outlen uint32 + outlen = 256 + rv, rc, rn := BpxGetthent(&pgtha, &outlen, unsafe.Pointer(&out[0])) + if rv == 0 { + gthc := []byte{0x87, 0xa3, 0x88, 0x83} // 'gthc' in ebcdic + ix := bytes.Index(out[:], gthc) + if ix == -1 { + err = fmt.Errorf("BPX4GTH: gthc return data not found") + return + } + jn := out[ix+80 : ix+88] // we didn't declare Pgthc, but jobname is 8-byte at offset 80 + E2a(jn) + jobname = string(bytes.TrimRight(jn, " ")) + + } else { + err = fmt.Errorf("BPX4GTH: rc=%d errno=%d reason=code=0x%x", rv, rc, rn) + } + return +} +func Bpx4ptq(code int32, data string) (rv int32, rc int32, rn int32) { + var userdata [8]byte + var parms [5]unsafe.Pointer + copy(userdata[:], data+" ") + A2e(userdata[:]) + parms[0] = unsafe.Pointer(&code) + parms[1] = unsafe.Pointer(&userdata[0]) + parms[2] = unsafe.Pointer(&rv) + parms[3] = unsafe.Pointer(&rc) + parms[4] = unsafe.Pointer(&rn) + bpxcall(parms[:], BPX4PTQ) + return rv, rc, rn +} + +const ( + PT_TRACE_ME = 0 // Debug this process + PT_READ_I = 1 // Read a full word + PT_READ_D = 2 // Read a full word + PT_READ_U = 3 // Read control info + PT_WRITE_I = 4 //Write a full word + PT_WRITE_D = 5 //Write a full word + PT_CONTINUE = 7 //Continue the process + PT_KILL = 8 //Terminate the process + PT_READ_GPR = 11 // Read GPR, CR, PSW + PT_READ_FPR = 12 // Read FPR + PT_READ_VR = 13 // Read VR + PT_WRITE_GPR = 14 // Write GPR, CR, PSW + PT_WRITE_FPR = 15 // Write FPR + PT_WRITE_VR = 16 // Write VR + PT_READ_BLOCK = 17 // Read storage + PT_WRITE_BLOCK = 19 // Write storage + PT_READ_GPRH = 20 // Read GPRH + PT_WRITE_GPRH = 21 // Write GPRH + PT_REGHSET = 22 // Read all GPRHs + PT_ATTACH = 30 // Attach to a process + PT_DETACH = 31 // Detach from a process + PT_REGSET = 32 // Read all GPRs + PT_REATTACH = 33 // Reattach to a process + PT_LDINFO = 34 // Read loader info + PT_MULTI = 35 // Multi process mode + PT_LD64INFO = 36 // RMODE64 Info Area + PT_BLOCKREQ = 40 // Block request + PT_THREAD_INFO = 60 // Read thread info + PT_THREAD_MODIFY = 61 + PT_THREAD_READ_FOCUS = 62 + PT_THREAD_WRITE_FOCUS = 63 + PT_THREAD_HOLD = 64 + PT_THREAD_SIGNAL = 65 + PT_EXPLAIN = 66 + PT_EVENTS = 67 + PT_THREAD_INFO_EXTENDED = 68 + PT_REATTACH2 = 71 + PT_CAPTURE = 72 + PT_UNCAPTURE = 73 + PT_GET_THREAD_TCB = 74 + PT_GET_ALET = 75 + PT_SWAPIN = 76 + PT_EXTENDED_EVENT = 98 + PT_RECOVER = 99 // Debug a program check + PT_GPR0 = 0 // General purpose register 0 + PT_GPR1 = 1 // General purpose register 1 + PT_GPR2 = 2 // General purpose register 2 + PT_GPR3 = 3 // General purpose register 3 + PT_GPR4 = 4 // General purpose register 4 + PT_GPR5 = 5 // General purpose register 5 + PT_GPR6 = 6 // General purpose register 6 + PT_GPR7 = 7 // General purpose register 7 + PT_GPR8 = 8 // General purpose register 8 + PT_GPR9 = 9 // General purpose register 9 + PT_GPR10 = 10 // General purpose register 10 + PT_GPR11 = 11 // General purpose register 11 + PT_GPR12 = 12 // General purpose register 12 + PT_GPR13 = 13 // General purpose register 13 + PT_GPR14 = 14 // General purpose register 14 + PT_GPR15 = 15 // General purpose register 15 + PT_FPR0 = 16 // Floating point register 0 + PT_FPR1 = 17 // Floating point register 1 + PT_FPR2 = 18 // Floating point register 2 + PT_FPR3 = 19 // Floating point register 3 + PT_FPR4 = 20 // Floating point register 4 + PT_FPR5 = 21 // Floating point register 5 + PT_FPR6 = 22 // Floating point register 6 + PT_FPR7 = 23 // Floating point register 7 + PT_FPR8 = 24 // Floating point register 8 + PT_FPR9 = 25 // Floating point register 9 + PT_FPR10 = 26 // Floating point register 10 + PT_FPR11 = 27 // Floating point register 11 + PT_FPR12 = 28 // Floating point register 12 + PT_FPR13 = 29 // Floating point register 13 + PT_FPR14 = 30 // Floating point register 14 + PT_FPR15 = 31 // Floating point register 15 + PT_FPC = 32 // Floating point control register + PT_PSW = 40 // PSW + PT_PSW0 = 40 // Left half of the PSW + PT_PSW1 = 41 // Right half of the PSW + PT_CR0 = 42 // Control register 0 + PT_CR1 = 43 // Control register 1 + PT_CR2 = 44 // Control register 2 + PT_CR3 = 45 // Control register 3 + PT_CR4 = 46 // Control register 4 + PT_CR5 = 47 // Control register 5 + PT_CR6 = 48 // Control register 6 + PT_CR7 = 49 // Control register 7 + PT_CR8 = 50 // Control register 8 + PT_CR9 = 51 // Control register 9 + PT_CR10 = 52 // Control register 10 + PT_CR11 = 53 // Control register 11 + PT_CR12 = 54 // Control register 12 + PT_CR13 = 55 // Control register 13 + PT_CR14 = 56 // Control register 14 + PT_CR15 = 57 // Control register 15 + PT_GPRH0 = 58 // GP High register 0 + PT_GPRH1 = 59 // GP High register 1 + PT_GPRH2 = 60 // GP High register 2 + PT_GPRH3 = 61 // GP High register 3 + PT_GPRH4 = 62 // GP High register 4 + PT_GPRH5 = 63 // GP High register 5 + PT_GPRH6 = 64 // GP High register 6 + PT_GPRH7 = 65 // GP High register 7 + PT_GPRH8 = 66 // GP High register 8 + PT_GPRH9 = 67 // GP High register 9 + PT_GPRH10 = 68 // GP High register 10 + PT_GPRH11 = 69 // GP High register 11 + PT_GPRH12 = 70 // GP High register 12 + PT_GPRH13 = 71 // GP High register 13 + PT_GPRH14 = 72 // GP High register 14 + PT_GPRH15 = 73 // GP High register 15 + PT_VR0 = 74 // Vector register 0 + PT_VR1 = 75 // Vector register 1 + PT_VR2 = 76 // Vector register 2 + PT_VR3 = 77 // Vector register 3 + PT_VR4 = 78 // Vector register 4 + PT_VR5 = 79 // Vector register 5 + PT_VR6 = 80 // Vector register 6 + PT_VR7 = 81 // Vector register 7 + PT_VR8 = 82 // Vector register 8 + PT_VR9 = 83 // Vector register 9 + PT_VR10 = 84 // Vector register 10 + PT_VR11 = 85 // Vector register 11 + PT_VR12 = 86 // Vector register 12 + PT_VR13 = 87 // Vector register 13 + PT_VR14 = 88 // Vector register 14 + PT_VR15 = 89 // Vector register 15 + PT_VR16 = 90 // Vector register 16 + PT_VR17 = 91 // Vector register 17 + PT_VR18 = 92 // Vector register 18 + PT_VR19 = 93 // Vector register 19 + PT_VR20 = 94 // Vector register 20 + PT_VR21 = 95 // Vector register 21 + PT_VR22 = 96 // Vector register 22 + PT_VR23 = 97 // Vector register 23 + PT_VR24 = 98 // Vector register 24 + PT_VR25 = 99 // Vector register 25 + PT_VR26 = 100 // Vector register 26 + PT_VR27 = 101 // Vector register 27 + PT_VR28 = 102 // Vector register 28 + PT_VR29 = 103 // Vector register 29 + PT_VR30 = 104 // Vector register 30 + PT_VR31 = 105 // Vector register 31 + PT_PSWG = 106 // PSWG + PT_PSWG0 = 106 // Bytes 0-3 + PT_PSWG1 = 107 // Bytes 4-7 + PT_PSWG2 = 108 // Bytes 8-11 (IA high word) + PT_PSWG3 = 109 // Bytes 12-15 (IA low word) +) + +func Bpx4ptr(request int32, pid int32, addr unsafe.Pointer, data unsafe.Pointer, buffer unsafe.Pointer) (rv int32, rc int32, rn int32) { + var parms [8]unsafe.Pointer + parms[0] = unsafe.Pointer(&request) + parms[1] = unsafe.Pointer(&pid) + parms[2] = unsafe.Pointer(&addr) + parms[3] = unsafe.Pointer(&data) + parms[4] = unsafe.Pointer(&buffer) + parms[5] = unsafe.Pointer(&rv) + parms[6] = unsafe.Pointer(&rc) + parms[7] = unsafe.Pointer(&rn) + bpxcall(parms[:], BPX4PTR) + return rv, rc, rn +} + +func copyU8(val uint8, dest []uint8) int { + if len(dest) < 1 { + return 0 + } + dest[0] = val + return 1 +} + +func copyU8Arr(src, dest []uint8) int { + if len(dest) < len(src) { + return 0 + } + for i, v := range src { + dest[i] = v + } + return len(src) +} + +func copyU16(val uint16, dest []uint16) int { + if len(dest) < 1 { + return 0 + } + dest[0] = val + return 1 +} + +func copyU32(val uint32, dest []uint32) int { + if len(dest) < 1 { + return 0 + } + dest[0] = val + return 1 +} + +func copyU32Arr(src, dest []uint32) int { + if len(dest) < len(src) { + return 0 + } + for i, v := range src { + dest[i] = v + } + return len(src) +} + +func copyU64(val uint64, dest []uint64) int { + if len(dest) < 1 { + return 0 + } + dest[0] = val + return 1 +} diff --git a/vendor/golang.org/x/sys/unix/bpxsvc_zos.s b/vendor/golang.org/x/sys/unix/bpxsvc_zos.s new file mode 100644 index 0000000..4bd4a17 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/bpxsvc_zos.s @@ -0,0 +1,192 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +#include "go_asm.h" +#include "textflag.h" + +// function to call USS assembly language services +// +// doc: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_3.1.0/com.ibm.zos.v3r1.bpxb100/bit64env.htm +// +// arg1 unsafe.Pointer array that ressembles an OS PLIST +// +// arg2 function offset as in +// doc: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_3.1.0/com.ibm.zos.v3r1.bpxb100/bpx2cr_List_of_offsets.htm +// +// func bpxcall(plist []unsafe.Pointer, bpx_offset int64) + +TEXT ·bpxcall(SB), NOSPLIT|NOFRAME, $0 + MOVD plist_base+0(FP), R1 // r1 points to plist + MOVD bpx_offset+24(FP), R2 // r2 offset to BPX vector table + MOVD R14, R7 // save r14 + MOVD R15, R8 // save r15 + MOVWZ 16(R0), R9 + MOVWZ 544(R9), R9 + MOVWZ 24(R9), R9 // call vector in r9 + ADD R2, R9 // add offset to vector table + MOVWZ (R9), R9 // r9 points to entry point + BYTE $0x0D // BL R14,R9 --> basr r14,r9 + BYTE $0xE9 // clobbers 0,1,14,15 + MOVD R8, R15 // restore 15 + JMP R7 // return via saved return address + +// func A2e(arr [] byte) +// code page conversion from 819 to 1047 +TEXT ·A2e(SB), NOSPLIT|NOFRAME, $0 + MOVD arg_base+0(FP), R2 // pointer to arry of characters + MOVD arg_len+8(FP), R3 // count + XOR R0, R0 + XOR R1, R1 + BYTE $0xA7; BYTE $0x15; BYTE $0x00; BYTE $0x82 // BRAS 1,(2+(256/2)) + + // ASCII -> EBCDIC conversion table: + BYTE $0x00; BYTE $0x01; BYTE $0x02; BYTE $0x03 + BYTE $0x37; BYTE $0x2d; BYTE $0x2e; BYTE $0x2f + BYTE $0x16; BYTE $0x05; BYTE $0x15; BYTE $0x0b + BYTE $0x0c; BYTE $0x0d; BYTE $0x0e; BYTE $0x0f + BYTE $0x10; BYTE $0x11; BYTE $0x12; BYTE $0x13 + BYTE $0x3c; BYTE $0x3d; BYTE $0x32; BYTE $0x26 + BYTE $0x18; BYTE $0x19; BYTE $0x3f; BYTE $0x27 + BYTE $0x1c; BYTE $0x1d; BYTE $0x1e; BYTE $0x1f + BYTE $0x40; BYTE $0x5a; BYTE $0x7f; BYTE $0x7b + BYTE $0x5b; BYTE $0x6c; BYTE $0x50; BYTE $0x7d + BYTE $0x4d; BYTE $0x5d; BYTE $0x5c; BYTE $0x4e + BYTE $0x6b; BYTE $0x60; BYTE $0x4b; BYTE $0x61 + BYTE $0xf0; BYTE $0xf1; BYTE $0xf2; BYTE $0xf3 + BYTE $0xf4; BYTE $0xf5; BYTE $0xf6; BYTE $0xf7 + BYTE $0xf8; BYTE $0xf9; BYTE $0x7a; BYTE $0x5e + BYTE $0x4c; BYTE $0x7e; BYTE $0x6e; BYTE $0x6f + BYTE $0x7c; BYTE $0xc1; BYTE $0xc2; BYTE $0xc3 + BYTE $0xc4; BYTE $0xc5; BYTE $0xc6; BYTE $0xc7 + BYTE $0xc8; BYTE $0xc9; BYTE $0xd1; BYTE $0xd2 + BYTE $0xd3; BYTE $0xd4; BYTE $0xd5; BYTE $0xd6 + BYTE $0xd7; BYTE $0xd8; BYTE $0xd9; BYTE $0xe2 + BYTE $0xe3; BYTE $0xe4; BYTE $0xe5; BYTE $0xe6 + BYTE $0xe7; BYTE $0xe8; BYTE $0xe9; BYTE $0xad + BYTE $0xe0; BYTE $0xbd; BYTE $0x5f; BYTE $0x6d + BYTE $0x79; BYTE $0x81; BYTE $0x82; BYTE $0x83 + BYTE $0x84; BYTE $0x85; BYTE $0x86; BYTE $0x87 + BYTE $0x88; BYTE $0x89; BYTE $0x91; BYTE $0x92 + BYTE $0x93; BYTE $0x94; BYTE $0x95; BYTE $0x96 + BYTE $0x97; BYTE $0x98; BYTE $0x99; BYTE $0xa2 + BYTE $0xa3; BYTE $0xa4; BYTE $0xa5; BYTE $0xa6 + BYTE $0xa7; BYTE $0xa8; BYTE $0xa9; BYTE $0xc0 + BYTE $0x4f; BYTE $0xd0; BYTE $0xa1; BYTE $0x07 + BYTE $0x20; BYTE $0x21; BYTE $0x22; BYTE $0x23 + BYTE $0x24; BYTE $0x25; BYTE $0x06; BYTE $0x17 + BYTE $0x28; BYTE $0x29; BYTE $0x2a; BYTE $0x2b + BYTE $0x2c; BYTE $0x09; BYTE $0x0a; BYTE $0x1b + BYTE $0x30; BYTE $0x31; BYTE $0x1a; BYTE $0x33 + BYTE $0x34; BYTE $0x35; BYTE $0x36; BYTE $0x08 + BYTE $0x38; BYTE $0x39; BYTE $0x3a; BYTE $0x3b + BYTE $0x04; BYTE $0x14; BYTE $0x3e; BYTE $0xff + BYTE $0x41; BYTE $0xaa; BYTE $0x4a; BYTE $0xb1 + BYTE $0x9f; BYTE $0xb2; BYTE $0x6a; BYTE $0xb5 + BYTE $0xbb; BYTE $0xb4; BYTE $0x9a; BYTE $0x8a + BYTE $0xb0; BYTE $0xca; BYTE $0xaf; BYTE $0xbc + BYTE $0x90; BYTE $0x8f; BYTE $0xea; BYTE $0xfa + BYTE $0xbe; BYTE $0xa0; BYTE $0xb6; BYTE $0xb3 + BYTE $0x9d; BYTE $0xda; BYTE $0x9b; BYTE $0x8b + BYTE $0xb7; BYTE $0xb8; BYTE $0xb9; BYTE $0xab + BYTE $0x64; BYTE $0x65; BYTE $0x62; BYTE $0x66 + BYTE $0x63; BYTE $0x67; BYTE $0x9e; BYTE $0x68 + BYTE $0x74; BYTE $0x71; BYTE $0x72; BYTE $0x73 + BYTE $0x78; BYTE $0x75; BYTE $0x76; BYTE $0x77 + BYTE $0xac; BYTE $0x69; BYTE $0xed; BYTE $0xee + BYTE $0xeb; BYTE $0xef; BYTE $0xec; BYTE $0xbf + BYTE $0x80; BYTE $0xfd; BYTE $0xfe; BYTE $0xfb + BYTE $0xfc; BYTE $0xba; BYTE $0xae; BYTE $0x59 + BYTE $0x44; BYTE $0x45; BYTE $0x42; BYTE $0x46 + BYTE $0x43; BYTE $0x47; BYTE $0x9c; BYTE $0x48 + BYTE $0x54; BYTE $0x51; BYTE $0x52; BYTE $0x53 + BYTE $0x58; BYTE $0x55; BYTE $0x56; BYTE $0x57 + BYTE $0x8c; BYTE $0x49; BYTE $0xcd; BYTE $0xce + BYTE $0xcb; BYTE $0xcf; BYTE $0xcc; BYTE $0xe1 + BYTE $0x70; BYTE $0xdd; BYTE $0xde; BYTE $0xdb + BYTE $0xdc; BYTE $0x8d; BYTE $0x8e; BYTE $0xdf + +retry: + WORD $0xB9931022 // TROO 2,2,b'0001' + BVS retry + RET + +// func e2a(arr [] byte) +// code page conversion from 1047 to 819 +TEXT ·E2a(SB), NOSPLIT|NOFRAME, $0 + MOVD arg_base+0(FP), R2 // pointer to arry of characters + MOVD arg_len+8(FP), R3 // count + XOR R0, R0 + XOR R1, R1 + BYTE $0xA7; BYTE $0x15; BYTE $0x00; BYTE $0x82 // BRAS 1,(2+(256/2)) + + // EBCDIC -> ASCII conversion table: + BYTE $0x00; BYTE $0x01; BYTE $0x02; BYTE $0x03 + BYTE $0x9c; BYTE $0x09; BYTE $0x86; BYTE $0x7f + BYTE $0x97; BYTE $0x8d; BYTE $0x8e; BYTE $0x0b + BYTE $0x0c; BYTE $0x0d; BYTE $0x0e; BYTE $0x0f + BYTE $0x10; BYTE $0x11; BYTE $0x12; BYTE $0x13 + BYTE $0x9d; BYTE $0x0a; BYTE $0x08; BYTE $0x87 + BYTE $0x18; BYTE $0x19; BYTE $0x92; BYTE $0x8f + BYTE $0x1c; BYTE $0x1d; BYTE $0x1e; BYTE $0x1f + BYTE $0x80; BYTE $0x81; BYTE $0x82; BYTE $0x83 + BYTE $0x84; BYTE $0x85; BYTE $0x17; BYTE $0x1b + BYTE $0x88; BYTE $0x89; BYTE $0x8a; BYTE $0x8b + BYTE $0x8c; BYTE $0x05; BYTE $0x06; BYTE $0x07 + BYTE $0x90; BYTE $0x91; BYTE $0x16; BYTE $0x93 + BYTE $0x94; BYTE $0x95; BYTE $0x96; BYTE $0x04 + BYTE $0x98; BYTE $0x99; BYTE $0x9a; BYTE $0x9b + BYTE $0x14; BYTE $0x15; BYTE $0x9e; BYTE $0x1a + BYTE $0x20; BYTE $0xa0; BYTE $0xe2; BYTE $0xe4 + BYTE $0xe0; BYTE $0xe1; BYTE $0xe3; BYTE $0xe5 + BYTE $0xe7; BYTE $0xf1; BYTE $0xa2; BYTE $0x2e + BYTE $0x3c; BYTE $0x28; BYTE $0x2b; BYTE $0x7c + BYTE $0x26; BYTE $0xe9; BYTE $0xea; BYTE $0xeb + BYTE $0xe8; BYTE $0xed; BYTE $0xee; BYTE $0xef + BYTE $0xec; BYTE $0xdf; BYTE $0x21; BYTE $0x24 + BYTE $0x2a; BYTE $0x29; BYTE $0x3b; BYTE $0x5e + BYTE $0x2d; BYTE $0x2f; BYTE $0xc2; BYTE $0xc4 + BYTE $0xc0; BYTE $0xc1; BYTE $0xc3; BYTE $0xc5 + BYTE $0xc7; BYTE $0xd1; BYTE $0xa6; BYTE $0x2c + BYTE $0x25; BYTE $0x5f; BYTE $0x3e; BYTE $0x3f + BYTE $0xf8; BYTE $0xc9; BYTE $0xca; BYTE $0xcb + BYTE $0xc8; BYTE $0xcd; BYTE $0xce; BYTE $0xcf + BYTE $0xcc; BYTE $0x60; BYTE $0x3a; BYTE $0x23 + BYTE $0x40; BYTE $0x27; BYTE $0x3d; BYTE $0x22 + BYTE $0xd8; BYTE $0x61; BYTE $0x62; BYTE $0x63 + BYTE $0x64; BYTE $0x65; BYTE $0x66; BYTE $0x67 + BYTE $0x68; BYTE $0x69; BYTE $0xab; BYTE $0xbb + BYTE $0xf0; BYTE $0xfd; BYTE $0xfe; BYTE $0xb1 + BYTE $0xb0; BYTE $0x6a; BYTE $0x6b; BYTE $0x6c + BYTE $0x6d; BYTE $0x6e; BYTE $0x6f; BYTE $0x70 + BYTE $0x71; BYTE $0x72; BYTE $0xaa; BYTE $0xba + BYTE $0xe6; BYTE $0xb8; BYTE $0xc6; BYTE $0xa4 + BYTE $0xb5; BYTE $0x7e; BYTE $0x73; BYTE $0x74 + BYTE $0x75; BYTE $0x76; BYTE $0x77; BYTE $0x78 + BYTE $0x79; BYTE $0x7a; BYTE $0xa1; BYTE $0xbf + BYTE $0xd0; BYTE $0x5b; BYTE $0xde; BYTE $0xae + BYTE $0xac; BYTE $0xa3; BYTE $0xa5; BYTE $0xb7 + BYTE $0xa9; BYTE $0xa7; BYTE $0xb6; BYTE $0xbc + BYTE $0xbd; BYTE $0xbe; BYTE $0xdd; BYTE $0xa8 + BYTE $0xaf; BYTE $0x5d; BYTE $0xb4; BYTE $0xd7 + BYTE $0x7b; BYTE $0x41; BYTE $0x42; BYTE $0x43 + BYTE $0x44; BYTE $0x45; BYTE $0x46; BYTE $0x47 + BYTE $0x48; BYTE $0x49; BYTE $0xad; BYTE $0xf4 + BYTE $0xf6; BYTE $0xf2; BYTE $0xf3; BYTE $0xf5 + BYTE $0x7d; BYTE $0x4a; BYTE $0x4b; BYTE $0x4c + BYTE $0x4d; BYTE $0x4e; BYTE $0x4f; BYTE $0x50 + BYTE $0x51; BYTE $0x52; BYTE $0xb9; BYTE $0xfb + BYTE $0xfc; BYTE $0xf9; BYTE $0xfa; BYTE $0xff + BYTE $0x5c; BYTE $0xf7; BYTE $0x53; BYTE $0x54 + BYTE $0x55; BYTE $0x56; BYTE $0x57; BYTE $0x58 + BYTE $0x59; BYTE $0x5a; BYTE $0xb2; BYTE $0xd4 + BYTE $0xd6; BYTE $0xd2; BYTE $0xd3; BYTE $0xd5 + BYTE $0x30; BYTE $0x31; BYTE $0x32; BYTE $0x33 + BYTE $0x34; BYTE $0x35; BYTE $0x36; BYTE $0x37 + BYTE $0x38; BYTE $0x39; BYTE $0xb3; BYTE $0xdb + BYTE $0xdc; BYTE $0xd9; BYTE $0xda; BYTE $0x9f + +retry: + WORD $0xB9931022 // TROO 2,2,b'0001' + BVS retry + RET diff --git a/vendor/golang.org/x/sys/unix/epoll_zos.go b/vendor/golang.org/x/sys/unix/epoll_zos.go deleted file mode 100644 index 7753fdd..0000000 --- a/vendor/golang.org/x/sys/unix/epoll_zos.go +++ /dev/null @@ -1,220 +0,0 @@ -// Copyright 2020 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build zos && s390x - -package unix - -import ( - "sync" -) - -// This file simulates epoll on z/OS using poll. - -// Analogous to epoll_event on Linux. -// TODO(neeilan): Pad is because the Linux kernel expects a 96-bit struct. We never pass this to the kernel; remove? -type EpollEvent struct { - Events uint32 - Fd int32 - Pad int32 -} - -const ( - EPOLLERR = 0x8 - EPOLLHUP = 0x10 - EPOLLIN = 0x1 - EPOLLMSG = 0x400 - EPOLLOUT = 0x4 - EPOLLPRI = 0x2 - EPOLLRDBAND = 0x80 - EPOLLRDNORM = 0x40 - EPOLLWRBAND = 0x200 - EPOLLWRNORM = 0x100 - EPOLL_CTL_ADD = 0x1 - EPOLL_CTL_DEL = 0x2 - EPOLL_CTL_MOD = 0x3 - // The following constants are part of the epoll API, but represent - // currently unsupported functionality on z/OS. - // EPOLL_CLOEXEC = 0x80000 - // EPOLLET = 0x80000000 - // EPOLLONESHOT = 0x40000000 - // EPOLLRDHUP = 0x2000 // Typically used with edge-triggered notis - // EPOLLEXCLUSIVE = 0x10000000 // Exclusive wake-up mode - // EPOLLWAKEUP = 0x20000000 // Relies on Linux's BLOCK_SUSPEND capability -) - -// TODO(neeilan): We can eliminate these epToPoll / pToEpoll calls by using identical mask values for POLL/EPOLL -// constants where possible The lower 16 bits of epoll events (uint32) can fit any system poll event (int16). - -// epToPollEvt converts epoll event field to poll equivalent. -// In epoll, Events is a 32-bit field, while poll uses 16 bits. -func epToPollEvt(events uint32) int16 { - var ep2p = map[uint32]int16{ - EPOLLIN: POLLIN, - EPOLLOUT: POLLOUT, - EPOLLHUP: POLLHUP, - EPOLLPRI: POLLPRI, - EPOLLERR: POLLERR, - } - - var pollEvts int16 = 0 - for epEvt, pEvt := range ep2p { - if (events & epEvt) != 0 { - pollEvts |= pEvt - } - } - - return pollEvts -} - -// pToEpollEvt converts 16 bit poll event bitfields to 32-bit epoll event fields. -func pToEpollEvt(revents int16) uint32 { - var p2ep = map[int16]uint32{ - POLLIN: EPOLLIN, - POLLOUT: EPOLLOUT, - POLLHUP: EPOLLHUP, - POLLPRI: EPOLLPRI, - POLLERR: EPOLLERR, - } - - var epollEvts uint32 = 0 - for pEvt, epEvt := range p2ep { - if (revents & pEvt) != 0 { - epollEvts |= epEvt - } - } - - return epollEvts -} - -// Per-process epoll implementation. -type epollImpl struct { - mu sync.Mutex - epfd2ep map[int]*eventPoll - nextEpfd int -} - -// eventPoll holds a set of file descriptors being watched by the process. A process can have multiple epoll instances. -// On Linux, this is an in-kernel data structure accessed through a fd. -type eventPoll struct { - mu sync.Mutex - fds map[int]*EpollEvent -} - -// epoll impl for this process. -var impl epollImpl = epollImpl{ - epfd2ep: make(map[int]*eventPoll), - nextEpfd: 0, -} - -func (e *epollImpl) epollcreate(size int) (epfd int, err error) { - e.mu.Lock() - defer e.mu.Unlock() - epfd = e.nextEpfd - e.nextEpfd++ - - e.epfd2ep[epfd] = &eventPoll{ - fds: make(map[int]*EpollEvent), - } - return epfd, nil -} - -func (e *epollImpl) epollcreate1(flag int) (fd int, err error) { - return e.epollcreate(4) -} - -func (e *epollImpl) epollctl(epfd int, op int, fd int, event *EpollEvent) (err error) { - e.mu.Lock() - defer e.mu.Unlock() - - ep, ok := e.epfd2ep[epfd] - if !ok { - - return EBADF - } - - switch op { - case EPOLL_CTL_ADD: - // TODO(neeilan): When we make epfds and fds disjoint, detect epoll - // loops here (instances watching each other) and return ELOOP. - if _, ok := ep.fds[fd]; ok { - return EEXIST - } - ep.fds[fd] = event - case EPOLL_CTL_MOD: - if _, ok := ep.fds[fd]; !ok { - return ENOENT - } - ep.fds[fd] = event - case EPOLL_CTL_DEL: - if _, ok := ep.fds[fd]; !ok { - return ENOENT - } - delete(ep.fds, fd) - - } - return nil -} - -// Must be called while holding ep.mu -func (ep *eventPoll) getFds() []int { - fds := make([]int, len(ep.fds)) - for fd := range ep.fds { - fds = append(fds, fd) - } - return fds -} - -func (e *epollImpl) epollwait(epfd int, events []EpollEvent, msec int) (n int, err error) { - e.mu.Lock() // in [rare] case of concurrent epollcreate + epollwait - ep, ok := e.epfd2ep[epfd] - - if !ok { - e.mu.Unlock() - return 0, EBADF - } - - pollfds := make([]PollFd, 4) - for fd, epollevt := range ep.fds { - pollfds = append(pollfds, PollFd{Fd: int32(fd), Events: epToPollEvt(epollevt.Events)}) - } - e.mu.Unlock() - - n, err = Poll(pollfds, msec) - if err != nil { - return n, err - } - - i := 0 - for _, pFd := range pollfds { - if pFd.Revents != 0 { - events[i] = EpollEvent{Fd: pFd.Fd, Events: pToEpollEvt(pFd.Revents)} - i++ - } - - if i == n { - break - } - } - - return n, nil -} - -func EpollCreate(size int) (fd int, err error) { - return impl.epollcreate(size) -} - -func EpollCreate1(flag int) (fd int, err error) { - return impl.epollcreate1(flag) -} - -func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { - return impl.epollctl(epfd, op, fd, event) -} - -// Because EpollWait mutates events, the caller is expected to coordinate -// concurrent access if calling with the same epfd from multiple goroutines. -func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { - return impl.epollwait(epfd, events, msec) -} diff --git a/vendor/golang.org/x/sys/unix/fstatfs_zos.go b/vendor/golang.org/x/sys/unix/fstatfs_zos.go deleted file mode 100644 index c8bde60..0000000 --- a/vendor/golang.org/x/sys/unix/fstatfs_zos.go +++ /dev/null @@ -1,163 +0,0 @@ -// Copyright 2020 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build zos && s390x - -package unix - -import ( - "unsafe" -) - -// This file simulates fstatfs on z/OS using fstatvfs and w_getmntent. - -func Fstatfs(fd int, stat *Statfs_t) (err error) { - var stat_v Statvfs_t - err = Fstatvfs(fd, &stat_v) - if err == nil { - // populate stat - stat.Type = 0 - stat.Bsize = stat_v.Bsize - stat.Blocks = stat_v.Blocks - stat.Bfree = stat_v.Bfree - stat.Bavail = stat_v.Bavail - stat.Files = stat_v.Files - stat.Ffree = stat_v.Ffree - stat.Fsid = stat_v.Fsid - stat.Namelen = stat_v.Namemax - stat.Frsize = stat_v.Frsize - stat.Flags = stat_v.Flag - for passn := 0; passn < 5; passn++ { - switch passn { - case 0: - err = tryGetmntent64(stat) - break - case 1: - err = tryGetmntent128(stat) - break - case 2: - err = tryGetmntent256(stat) - break - case 3: - err = tryGetmntent512(stat) - break - case 4: - err = tryGetmntent1024(stat) - break - default: - break - } - //proceed to return if: err is nil (found), err is nonnil but not ERANGE (another error occurred) - if err == nil || err != nil && err != ERANGE { - break - } - } - } - return err -} - -func tryGetmntent64(stat *Statfs_t) (err error) { - var mnt_ent_buffer struct { - header W_Mnth - filesys_info [64]W_Mntent - } - var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) - fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) - if err != nil { - return err - } - err = ERANGE //return ERANGE if no match is found in this batch - for i := 0; i < fs_count; i++ { - if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { - stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) - err = nil - break - } - } - return err -} - -func tryGetmntent128(stat *Statfs_t) (err error) { - var mnt_ent_buffer struct { - header W_Mnth - filesys_info [128]W_Mntent - } - var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) - fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) - if err != nil { - return err - } - err = ERANGE //return ERANGE if no match is found in this batch - for i := 0; i < fs_count; i++ { - if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { - stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) - err = nil - break - } - } - return err -} - -func tryGetmntent256(stat *Statfs_t) (err error) { - var mnt_ent_buffer struct { - header W_Mnth - filesys_info [256]W_Mntent - } - var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) - fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) - if err != nil { - return err - } - err = ERANGE //return ERANGE if no match is found in this batch - for i := 0; i < fs_count; i++ { - if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { - stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) - err = nil - break - } - } - return err -} - -func tryGetmntent512(stat *Statfs_t) (err error) { - var mnt_ent_buffer struct { - header W_Mnth - filesys_info [512]W_Mntent - } - var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) - fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) - if err != nil { - return err - } - err = ERANGE //return ERANGE if no match is found in this batch - for i := 0; i < fs_count; i++ { - if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { - stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) - err = nil - break - } - } - return err -} - -func tryGetmntent1024(stat *Statfs_t) (err error) { - var mnt_ent_buffer struct { - header W_Mnth - filesys_info [1024]W_Mntent - } - var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) - fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) - if err != nil { - return err - } - err = ERANGE //return ERANGE if no match is found in this batch - for i := 0; i < fs_count; i++ { - if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { - stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) - err = nil - break - } - } - return err -} diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh index fdcaa97..d07dd09 100644 --- a/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -58,6 +58,7 @@ includes_Darwin=' #define _DARWIN_USE_64_BIT_INODE #define __APPLE_USE_RFC_3542 #include +#include #include #include #include @@ -263,6 +264,7 @@ struct ltchars { #include #include #include +#include #include #include #include @@ -549,6 +551,7 @@ ccflags="$@" $2 !~ "NLA_TYPE_MASK" && $2 !~ /^RTC_VL_(ACCURACY|BACKUP|DATA)/ && $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ || + $2 ~ /^SOCK_|SK_DIAG_|SKNLGRP_$/ || $2 ~ /^FIORDCHK$/ || $2 ~ /^SIOC/ || $2 ~ /^TIOC/ || diff --git a/vendor/golang.org/x/sys/unix/mmap_nomremap.go b/vendor/golang.org/x/sys/unix/mmap_nomremap.go index 4b68e59..7f602ff 100644 --- a/vendor/golang.org/x/sys/unix/mmap_nomremap.go +++ b/vendor/golang.org/x/sys/unix/mmap_nomremap.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build aix || darwin || dragonfly || freebsd || openbsd || solaris +//go:build aix || darwin || dragonfly || freebsd || openbsd || solaris || zos package unix diff --git a/vendor/golang.org/x/sys/unix/mremap.go b/vendor/golang.org/x/sys/unix/mremap.go index fd45fe5..3a5e776 100644 --- a/vendor/golang.org/x/sys/unix/mremap.go +++ b/vendor/golang.org/x/sys/unix/mremap.go @@ -50,3 +50,8 @@ func (m *mremapMmapper) Mremap(oldData []byte, newLength int, flags int) (data [ func Mremap(oldData []byte, newLength int, flags int) (data []byte, err error) { return mapper.Mremap(oldData, newLength, flags) } + +func MremapPtr(oldAddr unsafe.Pointer, oldSize uintptr, newAddr unsafe.Pointer, newSize uintptr, flags int) (ret unsafe.Pointer, err error) { + xaddr, err := mapper.mremap(uintptr(oldAddr), oldSize, newSize, flags, uintptr(newAddr)) + return unsafe.Pointer(xaddr), err +} diff --git a/vendor/golang.org/x/sys/unix/pagesize_unix.go b/vendor/golang.org/x/sys/unix/pagesize_unix.go index 4d0a343..0482408 100644 --- a/vendor/golang.org/x/sys/unix/pagesize_unix.go +++ b/vendor/golang.org/x/sys/unix/pagesize_unix.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos // For Unix, get the pagesize from the runtime. diff --git a/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go index 130398b..b903c00 100644 --- a/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go +++ b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build darwin +//go:build darwin || zos package unix diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_zos.go b/vendor/golang.org/x/sys/unix/sockcmsg_zos.go new file mode 100644 index 0000000..3e53dbc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/sockcmsg_zos.go @@ -0,0 +1,58 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Socket control messages + +package unix + +import "unsafe" + +// UnixCredentials encodes credentials into a socket control message +// for sending to another process. This can be used for +// authentication. +func UnixCredentials(ucred *Ucred) []byte { + b := make([]byte, CmsgSpace(SizeofUcred)) + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + h.Level = SOL_SOCKET + h.Type = SCM_CREDENTIALS + h.SetLen(CmsgLen(SizeofUcred)) + *(*Ucred)(h.data(0)) = *ucred + return b +} + +// ParseUnixCredentials decodes a socket control message that contains +// credentials in a Ucred structure. To receive such a message, the +// SO_PASSCRED option must be enabled on the socket. +func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) { + if m.Header.Level != SOL_SOCKET { + return nil, EINVAL + } + if m.Header.Type != SCM_CREDENTIALS { + return nil, EINVAL + } + ucred := *(*Ucred)(unsafe.Pointer(&m.Data[0])) + return &ucred, nil +} + +// PktInfo4 encodes Inet4Pktinfo into a socket control message of type IP_PKTINFO. +func PktInfo4(info *Inet4Pktinfo) []byte { + b := make([]byte, CmsgSpace(SizeofInet4Pktinfo)) + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + h.Level = SOL_IP + h.Type = IP_PKTINFO + h.SetLen(CmsgLen(SizeofInet4Pktinfo)) + *(*Inet4Pktinfo)(h.data(0)) = *info + return b +} + +// PktInfo6 encodes Inet6Pktinfo into a socket control message of type IPV6_PKTINFO. +func PktInfo6(info *Inet6Pktinfo) []byte { + b := make([]byte, CmsgSpace(SizeofInet6Pktinfo)) + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + h.Level = SOL_IPV6 + h.Type = IPV6_PKTINFO + h.SetLen(CmsgLen(SizeofInet6Pktinfo)) + *(*Inet6Pktinfo)(h.data(0)) = *info + return b +} diff --git a/vendor/golang.org/x/sys/unix/symaddr_zos_s390x.s b/vendor/golang.org/x/sys/unix/symaddr_zos_s390x.s new file mode 100644 index 0000000..3c4f33c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/symaddr_zos_s390x.s @@ -0,0 +1,75 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build zos && s390x && gc + +#include "textflag.h" + +// provide the address of function variable to be fixed up. + +TEXT ·getPipe2Addr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Pipe2(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·get_FlockAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Flock(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·get_GetxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Getxattr(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·get_NanosleepAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Nanosleep(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·get_SetxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Setxattr(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·get_Wait4Addr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Wait4(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·get_MountAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Mount(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·get_UnmountAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Unmount(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·get_UtimesNanoAtAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·UtimesNanoAt(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·get_UtimesNanoAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·UtimesNano(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·get_MkfifoatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Mkfifoat(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·get_ChtagAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Chtag(SB), R8 + MOVD R8, ret+0(FP) + RET + +TEXT ·get_ReadlinkatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Readlinkat(SB), R8 + MOVD R8, ret+0(FP) + RET + diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go index 59542a8..2d15200 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -402,6 +402,18 @@ func IoctlSetIfreqMTU(fd int, ifreq *IfreqMTU) error { return ioctlPtr(fd, SIOCSIFMTU, unsafe.Pointer(ifreq)) } +//sys renamexNp(from string, to string, flag uint32) (err error) + +func RenamexNp(from string, to string, flag uint32) (err error) { + return renamexNp(from, to, flag) +} + +//sys renameatxNp(fromfd int, from string, tofd int, to string, flag uint32) (err error) + +func RenameatxNp(fromfd int, from string, tofd int, to string, flag uint32) (err error) { + return renameatxNp(fromfd, from, tofd, to, flag) +} + //sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL func Uname(uname *Utsname) error { @@ -542,6 +554,18 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) { } } +//sys pthread_chdir_np(path string) (err error) + +func PthreadChdir(path string) (err error) { + return pthread_chdir_np(path) +} + +//sys pthread_fchdir_np(fd int) (err error) + +func PthreadFchdir(fd int) (err error) { + return pthread_fchdir_np(fd) +} + //sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) //sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go index 5682e26..3f1d3d4 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -2592,3 +2592,4 @@ func SchedGetAttr(pid int, flags uint) (*SchedAttr, error) { } //sys Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error) +//sys Mseal(b []byte, flags uint) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go index b25343c..b86ded5 100644 --- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go @@ -293,6 +293,7 @@ func Uname(uname *Utsname) error { //sys Mkfifoat(dirfd int, path string, mode uint32) (err error) //sys Mknod(path string, mode uint32, dev int) (err error) //sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go index 77081de..4e92e5a 100644 --- a/vendor/golang.org/x/sys/unix/syscall_unix.go +++ b/vendor/golang.org/x/sys/unix/syscall_unix.go @@ -154,6 +154,15 @@ func Munmap(b []byte) (err error) { return mapper.Munmap(b) } +func MmapPtr(fd int, offset int64, addr unsafe.Pointer, length uintptr, prot int, flags int) (ret unsafe.Pointer, err error) { + xaddr, err := mapper.mmap(uintptr(addr), length, prot, flags, fd, offset) + return unsafe.Pointer(xaddr), err +} + +func MunmapPtr(addr unsafe.Pointer, length uintptr) (err error) { + return mapper.munmap(uintptr(addr), length) +} + func Read(fd int, p []byte) (n int, err error) { n, err = read(fd, p) if raceenabled { diff --git a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go index b473038..312ae6a 100644 --- a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +++ b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go @@ -4,11 +4,21 @@ //go:build zos && s390x +// Many of the following syscalls are not available on all versions of z/OS. +// Some missing calls have legacy implementations/simulations but others +// will be missing completely. To achieve consistent failing behaviour on +// legacy systems, we first test the function pointer via a safeloading +// mechanism to see if the function exists on a given system. Then execution +// is branched to either continue the function call, or return an error. + package unix import ( "bytes" "fmt" + "os" + "reflect" + "regexp" "runtime" "sort" "strings" @@ -17,17 +27,205 @@ import ( "unsafe" ) +//go:noescape +func initZosLibVec() + +//go:noescape +func GetZosLibVec() uintptr + +func init() { + initZosLibVec() + r0, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS_____GETENV_A<<4, uintptr(unsafe.Pointer(&([]byte("__ZOS_XSYSTRACE\x00"))[0]))) + if r0 != 0 { + n, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___ATOI_A<<4, r0) + ZosTraceLevel = int(n) + r0, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS_____GETENV_A<<4, uintptr(unsafe.Pointer(&([]byte("__ZOS_XSYSTRACEFD\x00"))[0]))) + if r0 != 0 { + fd, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___ATOI_A<<4, r0) + f := os.NewFile(fd, "zostracefile") + if f != nil { + ZosTracefile = f + } + } + + } +} + +//go:noescape +func CallLeFuncWithErr(funcdesc uintptr, parms ...uintptr) (ret, errno2 uintptr, err Errno) + +//go:noescape +func CallLeFuncWithPtrReturn(funcdesc uintptr, parms ...uintptr) (ret, errno2 uintptr, err Errno) + +// ------------------------------- +// pointer validity test +// good pointer returns 0 +// bad pointer returns 1 +// +//go:nosplit +func ptrtest(uintptr) uint64 + +// Load memory at ptr location with error handling if the location is invalid +// +//go:noescape +func safeload(ptr uintptr) (value uintptr, error uintptr) + const ( - O_CLOEXEC = 0 // Dummy value (not supported). - AF_LOCAL = AF_UNIX // AF_LOCAL is an alias for AF_UNIX + entrypointLocationOffset = 8 // From function descriptor + + xplinkEyecatcher = 0x00c300c500c500f1 // ".C.E.E.1" + eyecatcherOffset = 16 // From function entrypoint (negative) + ppa1LocationOffset = 8 // From function entrypoint (negative) + + nameLenOffset = 0x14 // From PPA1 start + nameOffset = 0x16 // From PPA1 start ) -func syscall_syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) -func syscall_rawsyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) -func syscall_syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) -func syscall_rawsyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) -func syscall_syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) -func syscall_rawsyscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) +func getPpaOffset(funcptr uintptr) int64 { + entrypoint, err := safeload(funcptr + entrypointLocationOffset) + if err != 0 { + return -1 + } + + // XPLink functions have ".C.E.E.1" as the first 8 bytes (EBCDIC) + val, err := safeload(entrypoint - eyecatcherOffset) + if err != 0 { + return -1 + } + if val != xplinkEyecatcher { + return -1 + } + + ppaoff, err := safeload(entrypoint - ppa1LocationOffset) + if err != 0 { + return -1 + } + + ppaoff >>= 32 + return int64(ppaoff) +} + +//------------------------------- +// function descriptor pointer validity test +// good pointer returns 0 +// bad pointer returns 1 + +// TODO: currently mksyscall_zos_s390x.go generate empty string for funcName +// have correct funcName pass to the funcptrtest function +func funcptrtest(funcptr uintptr, funcName string) uint64 { + entrypoint, err := safeload(funcptr + entrypointLocationOffset) + if err != 0 { + return 1 + } + + ppaoff := getPpaOffset(funcptr) + if ppaoff == -1 { + return 1 + } + + // PPA1 offset value is from the start of the entire function block, not the entrypoint + ppa1 := (entrypoint - eyecatcherOffset) + uintptr(ppaoff) + + nameLen, err := safeload(ppa1 + nameLenOffset) + if err != 0 { + return 1 + } + + nameLen >>= 48 + if nameLen > 128 { + return 1 + } + + // no function name input to argument end here + if funcName == "" { + return 0 + } + + var funcname [128]byte + for i := 0; i < int(nameLen); i += 8 { + v, err := safeload(ppa1 + nameOffset + uintptr(i)) + if err != 0 { + return 1 + } + funcname[i] = byte(v >> 56) + funcname[i+1] = byte(v >> 48) + funcname[i+2] = byte(v >> 40) + funcname[i+3] = byte(v >> 32) + funcname[i+4] = byte(v >> 24) + funcname[i+5] = byte(v >> 16) + funcname[i+6] = byte(v >> 8) + funcname[i+7] = byte(v) + } + + runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4, // __e2a_l + []uintptr{uintptr(unsafe.Pointer(&funcname[0])), nameLen}) + + name := string(funcname[:nameLen]) + if name != funcName { + return 1 + } + + return 0 +} + +// For detection of capabilities on a system. +// Is function descriptor f a valid function? +func isValidLeFunc(f uintptr) error { + ret := funcptrtest(f, "") + if ret != 0 { + return fmt.Errorf("Bad pointer, not an LE function ") + } + return nil +} + +// Retrieve function name from descriptor +func getLeFuncName(f uintptr) (string, error) { + // assume it has been checked, only check ppa1 validity here + entry := ((*[2]uintptr)(unsafe.Pointer(f)))[1] + preamp := ((*[4]uint32)(unsafe.Pointer(entry - eyecatcherOffset))) + + offsetPpa1 := preamp[2] + if offsetPpa1 > 0x0ffff { + return "", fmt.Errorf("PPA1 offset seems too big 0x%x\n", offsetPpa1) + } + + ppa1 := uintptr(unsafe.Pointer(preamp)) + uintptr(offsetPpa1) + res := ptrtest(ppa1) + if res != 0 { + return "", fmt.Errorf("PPA1 address not valid") + } + + size := *(*uint16)(unsafe.Pointer(ppa1 + nameLenOffset)) + if size > 128 { + return "", fmt.Errorf("Function name seems too long, length=%d\n", size) + } + + var name [128]byte + funcname := (*[128]byte)(unsafe.Pointer(ppa1 + nameOffset)) + copy(name[0:size], funcname[0:size]) + + runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4, // __e2a_l + []uintptr{uintptr(unsafe.Pointer(&name[0])), uintptr(size)}) + + return string(name[:size]), nil +} + +// Check z/OS version +func zosLeVersion() (version, release uint32) { + p1 := (*(*uintptr)(unsafe.Pointer(uintptr(1208)))) >> 32 + p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 88))) + p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 8))) + p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 984))) + vrm := *(*uint32)(unsafe.Pointer(p1 + 80)) + version = (vrm & 0x00ff0000) >> 16 + release = (vrm & 0x0000ff00) >> 8 + return +} + +// returns a zos C FILE * for stdio fd 0, 1, 2 +func ZosStdioFilep(fd int32) uintptr { + return uintptr(*(*uint64)(unsafe.Pointer(uintptr(*(*uint64)(unsafe.Pointer(uintptr(*(*uint64)(unsafe.Pointer(uintptr(uint64(*(*uint32)(unsafe.Pointer(uintptr(1208)))) + 80))) + uint64((fd+2)<<3)))))))) +} func copyStat(stat *Stat_t, statLE *Stat_LE_t) { stat.Dev = uint64(statLE.Dev) @@ -65,6 +263,21 @@ func (d *Dirent) NameString() string { } } +func DecodeData(dest []byte, sz int, val uint64) { + for i := 0; i < sz; i++ { + dest[sz-1-i] = byte((val >> (uint64(i * 8))) & 0xff) + } +} + +func EncodeData(data []byte) uint64 { + var value uint64 + sz := len(data) + for i := 0; i < sz; i++ { + value |= uint64(data[i]) << uint64(((sz - i - 1) * 8)) + } + return value +} + func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { if sa.Port < 0 || sa.Port > 0xFFFF { return nil, 0, EINVAL @@ -74,7 +287,9 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil } @@ -88,7 +303,9 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { p[0] = byte(sa.Port >> 8) p[1] = byte(sa.Port) sa.raw.Scope_id = sa.ZoneId - sa.raw.Addr = sa.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil } @@ -146,7 +363,9 @@ func anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) { sa := new(SockaddrInet4) p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil case AF_INET6: @@ -155,7 +374,9 @@ func anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) { p := (*[2]byte)(unsafe.Pointer(&pp.Port)) sa.Port = int(p[0])<<8 + int(p[1]) sa.ZoneId = pp.Scope_id - sa.Addr = pp.Addr + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } return sa, nil } return nil, EAFNOSUPPORT @@ -177,6 +398,43 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) { return } +func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + // TODO(neeilan): Remove 0 in call + sa, err = anyToSockaddr(0, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Ctermid() (tty string, err error) { + var termdev [1025]byte + runtime.EnterSyscall() + r0, err2, err1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___CTERMID_A<<4, uintptr(unsafe.Pointer(&termdev[0]))) + runtime.ExitSyscall() + if r0 == 0 { + return "", fmt.Errorf("%s (errno2=0x%x)\n", err1.Error(), err2) + } + s := string(termdev[:]) + idx := strings.Index(s, string(rune(0))) + if idx == -1 { + tty = s + } else { + tty = s[:idx] + } + return +} + func (iov *Iovec) SetLen(length int) { iov.Len = uint64(length) } @@ -190,10 +448,16 @@ func (cmsg *Cmsghdr) SetLen(length int) { } //sys fcntl(fd int, cmd int, arg int) (val int, err error) +//sys Flistxattr(fd int, dest []byte) (sz int, err error) = SYS___FLISTXATTR_A +//sys Fremovexattr(fd int, attr string) (err error) = SYS___FREMOVEXATTR_A //sys read(fd int, p []byte) (n int, err error) //sys write(fd int, p []byte) (n int, err error) +//sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) = SYS___FGETXATTR_A +//sys Fsetxattr(fd int, attr string, data []byte, flag int) (err error) = SYS___FSETXATTR_A + //sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = SYS___ACCEPT_A +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) = SYS___ACCEPT4_A //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___BIND_A //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___CONNECT_A //sysnb getgroups(n int, list *_Gid_t) (nn int, err error) @@ -204,6 +468,7 @@ func (cmsg *Cmsghdr) SetLen(length int) { //sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) //sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = SYS___GETPEERNAME_A //sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = SYS___GETSOCKNAME_A +//sys Removexattr(path string, attr string) (err error) = SYS___REMOVEXATTR_A //sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = SYS___RECVFROM_A //sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = SYS___SENDTO_A //sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___RECVMSG_A @@ -212,6 +477,10 @@ func (cmsg *Cmsghdr) SetLen(length int) { //sys munmap(addr uintptr, length uintptr) (err error) = SYS_MUNMAP //sys ioctl(fd int, req int, arg uintptr) (err error) = SYS_IOCTL //sys ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) = SYS_IOCTL +//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) = SYS_SHMAT +//sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) = SYS_SHMCTL64 +//sys shmdt(addr uintptr) (err error) = SYS_SHMDT +//sys shmget(key int, size int, flag int) (id int, err error) = SYS_SHMGET //sys Access(path string, mode uint32) (err error) = SYS___ACCESS_A //sys Chdir(path string) (err error) = SYS___CHDIR_A @@ -220,14 +489,31 @@ func (cmsg *Cmsghdr) SetLen(length int) { //sys Creat(path string, mode uint32) (fd int, err error) = SYS___CREAT_A //sys Dup(oldfd int) (fd int, err error) //sys Dup2(oldfd int, newfd int) (err error) +//sys Dup3(oldfd int, newfd int, flags int) (err error) = SYS_DUP3 +//sys Dirfd(dirp uintptr) (fd int, err error) = SYS_DIRFD +//sys EpollCreate(size int) (fd int, err error) = SYS_EPOLL_CREATE +//sys EpollCreate1(flags int) (fd int, err error) = SYS_EPOLL_CREATE1 +//sys EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) = SYS_EPOLL_CTL +//sys EpollPwait(epfd int, events []EpollEvent, msec int, sigmask *int) (n int, err error) = SYS_EPOLL_PWAIT +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_WAIT //sys Errno2() (er2 int) = SYS___ERRNO2 -//sys Err2ad() (eadd *int) = SYS___ERR2AD +//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD //sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) = SYS___FACCESSAT_A + +func Faccessat2(dirfd int, path string, mode uint32, flags int) (err error) { + return Faccessat(dirfd, path, mode, flags) +} + //sys Fchdir(fd int) (err error) //sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) = SYS___FCHMODAT_A //sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(fd int, path string, uid int, gid int, flags int) (err error) = SYS___FCHOWNAT_A //sys FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) = SYS_FCNTL +//sys Fdatasync(fd int) (err error) = SYS_FDATASYNC //sys fstat(fd int, stat *Stat_LE_t) (err error) +//sys fstatat(dirfd int, path string, stat *Stat_LE_t, flags int) (err error) = SYS___FSTATAT_A func Fstat(fd int, stat *Stat_t) (err error) { var statLE Stat_LE_t @@ -236,28 +522,208 @@ func Fstat(fd int, stat *Stat_t) (err error) { return } +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var statLE Stat_LE_t + err = fstatat(dirfd, path, &statLE, flags) + copyStat(stat, &statLE) + return +} + +func impl_Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___GETXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest))) + sz = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_GetxattrAddr() *(func(path string, attr string, dest []byte) (sz int, err error)) + +var Getxattr = enter_Getxattr + +func enter_Getxattr(path string, attr string, dest []byte) (sz int, err error) { + funcref := get_GetxattrAddr() + if validGetxattr() { + *funcref = impl_Getxattr + } else { + *funcref = error_Getxattr + } + return (*funcref)(path, attr, dest) +} + +func error_Getxattr(path string, attr string, dest []byte) (sz int, err error) { + return -1, ENOSYS +} + +func validGetxattr() bool { + if funcptrtest(GetZosLibVec()+SYS___GETXATTR_A<<4, "") == 0 { + if name, err := getLeFuncName(GetZosLibVec() + SYS___GETXATTR_A<<4); err == nil { + return name == "__getxattr_a" + } + } + return false +} + +//sys Lgetxattr(link string, attr string, dest []byte) (sz int, err error) = SYS___LGETXATTR_A +//sys Lsetxattr(path string, attr string, data []byte, flags int) (err error) = SYS___LSETXATTR_A + +func impl_Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SETXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags)) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_SetxattrAddr() *(func(path string, attr string, data []byte, flags int) (err error)) + +var Setxattr = enter_Setxattr + +func enter_Setxattr(path string, attr string, data []byte, flags int) (err error) { + funcref := get_SetxattrAddr() + if validSetxattr() { + *funcref = impl_Setxattr + } else { + *funcref = error_Setxattr + } + return (*funcref)(path, attr, data, flags) +} + +func error_Setxattr(path string, attr string, data []byte, flags int) (err error) { + return ENOSYS +} + +func validSetxattr() bool { + if funcptrtest(GetZosLibVec()+SYS___SETXATTR_A<<4, "") == 0 { + if name, err := getLeFuncName(GetZosLibVec() + SYS___SETXATTR_A<<4); err == nil { + return name == "__setxattr_a" + } + } + return false +} + +//sys Fstatfs(fd int, buf *Statfs_t) (err error) = SYS_FSTATFS //sys Fstatvfs(fd int, stat *Statvfs_t) (err error) = SYS_FSTATVFS //sys Fsync(fd int) (err error) +//sys Futimes(fd int, tv []Timeval) (err error) = SYS_FUTIMES +//sys Futimesat(dirfd int, path string, tv []Timeval) (err error) = SYS___FUTIMESAT_A //sys Ftruncate(fd int, length int64) (err error) -//sys Getpagesize() (pgsize int) = SYS_GETPAGESIZE +//sys Getrandom(buf []byte, flags int) (n int, err error) = SYS_GETRANDOM +//sys InotifyInit() (fd int, err error) = SYS_INOTIFY_INIT +//sys InotifyInit1(flags int) (fd int, err error) = SYS_INOTIFY_INIT1 +//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) = SYS___INOTIFY_ADD_WATCH_A +//sys InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) = SYS_INOTIFY_RM_WATCH +//sys Listxattr(path string, dest []byte) (sz int, err error) = SYS___LISTXATTR_A +//sys Llistxattr(path string, dest []byte) (sz int, err error) = SYS___LLISTXATTR_A +//sys Lremovexattr(path string, attr string) (err error) = SYS___LREMOVEXATTR_A +//sys Lutimes(path string, tv []Timeval) (err error) = SYS___LUTIMES_A //sys Mprotect(b []byte, prot int) (err error) = SYS_MPROTECT //sys Msync(b []byte, flags int) (err error) = SYS_MSYNC +//sys Console2(cmsg *ConsMsg2, modstr *byte, concmd *uint32) (err error) = SYS___CONSOLE2 + +// Pipe2 begin + +//go:nosplit +func getPipe2Addr() *(func([]int, int) error) + +var Pipe2 = pipe2Enter + +func pipe2Enter(p []int, flags int) (err error) { + if funcptrtest(GetZosLibVec()+SYS_PIPE2<<4, "") == 0 { + *getPipe2Addr() = pipe2Impl + } else { + *getPipe2Addr() = pipe2Error + } + return (*getPipe2Addr())(p, flags) +} + +func pipe2Impl(p []int, flags int) (err error) { + var pp [2]_C_int + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_PIPE2<<4, uintptr(unsafe.Pointer(&pp[0])), uintptr(flags)) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } else { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } + return +} +func pipe2Error(p []int, flags int) (err error) { + return fmt.Errorf("Pipe2 is not available on this system") +} + +// Pipe2 end + //sys Poll(fds []PollFd, timeout int) (n int, err error) = SYS_POLL + +func Readdir(dir uintptr) (dirent *Dirent, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___READDIR_A<<4, uintptr(dir)) + runtime.ExitSyscall() + dirent = (*Dirent)(unsafe.Pointer(r0)) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//sys Readdir_r(dirp uintptr, entry *direntLE, result **direntLE) (err error) = SYS___READDIR_R_A +//sys Statfs(path string, buf *Statfs_t) (err error) = SYS___STATFS_A +//sys Syncfs(fd int) (err error) = SYS_SYNCFS //sys Times(tms *Tms) (ticks uintptr, err error) = SYS_TIMES //sys W_Getmntent(buff *byte, size int) (lastsys int, err error) = SYS_W_GETMNTENT //sys W_Getmntent_A(buff *byte, size int) (lastsys int, err error) = SYS___W_GETMNTENT_A //sys mount_LE(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) = SYS___MOUNT_A -//sys unmount(filesystem string, mtm int) (err error) = SYS___UMOUNT_A +//sys unmount_LE(filesystem string, mtm int) (err error) = SYS___UMOUNT_A //sys Chroot(path string) (err error) = SYS___CHROOT_A //sys Select(nmsgsfds int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (ret int, err error) = SYS_SELECT -//sysnb Uname(buf *Utsname) (err error) = SYS___UNAME_A +//sysnb Uname(buf *Utsname) (err error) = SYS_____OSNAME_A +//sys Unshare(flags int) (err error) = SYS_UNSHARE func Ptsname(fd int) (name string, err error) { - r0, _, e1 := syscall_syscall(SYS___PTSNAME_A, uintptr(fd), 0, 0) - name = u2s(unsafe.Pointer(r0)) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___PTSNAME_A<<4, uintptr(fd)) + runtime.ExitSyscall() + if r0 == 0 { + err = errnoErr2(e1, e2) + } else { + name = u2s(unsafe.Pointer(r0)) } return } @@ -272,13 +738,19 @@ func u2s(cstr unsafe.Pointer) string { } func Close(fd int) (err error) { - _, _, e1 := syscall_syscall(SYS_CLOSE, uintptr(fd), 0, 0) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_CLOSE<<4, uintptr(fd)) + runtime.ExitSyscall() for i := 0; e1 == EAGAIN && i < 10; i++ { - _, _, _ = syscall_syscall(SYS_USLEEP, uintptr(10), 0, 0) - _, _, e1 = syscall_syscall(SYS_CLOSE, uintptr(fd), 0, 0) + runtime.EnterSyscall() + CallLeFuncWithErr(GetZosLibVec()+SYS_USLEEP<<4, uintptr(10)) + runtime.ExitSyscall() + runtime.EnterSyscall() + r0, e2, e1 = CallLeFuncWithErr(GetZosLibVec()+SYS_CLOSE<<4, uintptr(fd)) + runtime.ExitSyscall() } - if e1 != 0 { - err = errnoErr(e1) + if r0 != 0 { + err = errnoErr2(e1, e2) } return } @@ -288,9 +760,15 @@ func Madvise(b []byte, advice int) (err error) { return } +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + //sys Gethostname(buf []byte) (err error) = SYS___GETHOSTNAME_A -//sysnb Getegid() (egid int) -//sysnb Geteuid() (uid int) //sysnb Getgid() (gid int) //sysnb Getpid() (pid int) //sysnb Getpgid(pid int) (pgid int, err error) = SYS_GETPGID @@ -317,11 +795,14 @@ func Getrusage(who int, rusage *Rusage) (err error) { return } +//sys Getegid() (egid int) = SYS_GETEGID +//sys Geteuid() (euid int) = SYS_GETEUID //sysnb Getsid(pid int) (sid int, err error) = SYS_GETSID //sysnb Getuid() (uid int) //sysnb Kill(pid int, sig Signal) (err error) //sys Lchown(path string, uid int, gid int) (err error) = SYS___LCHOWN_A //sys Link(path string, link string) (err error) = SYS___LINK_A +//sys Linkat(oldDirFd int, oldPath string, newDirFd int, newPath string, flags int) (err error) = SYS___LINKAT_A //sys Listen(s int, n int) (err error) //sys lstat(path string, stat *Stat_LE_t) (err error) = SYS___LSTAT_A @@ -332,15 +813,150 @@ func Lstat(path string, stat *Stat_t) (err error) { return } +// for checking symlinks begins with $VERSION/ $SYSNAME/ $SYSSYMR/ $SYSSYMA/ +func isSpecialPath(path []byte) (v bool) { + var special = [4][8]byte{ + [8]byte{'V', 'E', 'R', 'S', 'I', 'O', 'N', '/'}, + [8]byte{'S', 'Y', 'S', 'N', 'A', 'M', 'E', '/'}, + [8]byte{'S', 'Y', 'S', 'S', 'Y', 'M', 'R', '/'}, + [8]byte{'S', 'Y', 'S', 'S', 'Y', 'M', 'A', '/'}} + + var i, j int + for i = 0; i < len(special); i++ { + for j = 0; j < len(special[i]); j++ { + if path[j] != special[i][j] { + break + } + } + if j == len(special[i]) { + return true + } + } + return false +} + +func realpath(srcpath string, abspath []byte) (pathlen int, errno int) { + var source [1024]byte + copy(source[:], srcpath) + source[len(srcpath)] = 0 + ret := runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___REALPATH_A<<4, //__realpath_a() + []uintptr{uintptr(unsafe.Pointer(&source[0])), + uintptr(unsafe.Pointer(&abspath[0]))}) + if ret != 0 { + index := bytes.IndexByte(abspath[:], byte(0)) + if index != -1 { + return index, 0 + } + } else { + errptr := (*int)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4, []uintptr{}))) //__errno() + return 0, *errptr + } + return 0, 245 // EBADDATA 245 +} + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + n = int(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___READLINK_A<<4, + []uintptr{uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))})) + runtime.KeepAlive(unsafe.Pointer(_p0)) + if n == -1 { + value := *(*int32)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4, []uintptr{}))) + err = errnoErr(Errno(value)) + } else { + if buf[0] == '$' { + if isSpecialPath(buf[1:9]) { + cnt, err1 := realpath(path, buf) + if err1 == 0 { + n = cnt + } + } + } + } + return +} + +func impl_Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___READLINKAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + runtime.ExitSyscall() + n = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + return n, err + } else { + if buf[0] == '$' { + if isSpecialPath(buf[1:9]) { + cnt, err1 := realpath(path, buf) + if err1 == 0 { + n = cnt + } + } + } + } + return +} + +//go:nosplit +func get_ReadlinkatAddr() *(func(dirfd int, path string, buf []byte) (n int, err error)) + +var Readlinkat = enter_Readlinkat + +func enter_Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + funcref := get_ReadlinkatAddr() + if funcptrtest(GetZosLibVec()+SYS___READLINKAT_A<<4, "") == 0 { + *funcref = impl_Readlinkat + } else { + *funcref = error_Readlinkat + } + return (*funcref)(dirfd, path, buf) +} + +func error_Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + n = -1 + err = ENOSYS + return +} + //sys Mkdir(path string, mode uint32) (err error) = SYS___MKDIR_A +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) = SYS___MKDIRAT_A //sys Mkfifo(path string, mode uint32) (err error) = SYS___MKFIFO_A //sys Mknod(path string, mode uint32, dev int) (err error) = SYS___MKNOD_A +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) = SYS___MKNODAT_A +//sys PivotRoot(newroot string, oldroot string) (err error) = SYS___PIVOT_ROOT_A //sys Pread(fd int, p []byte, offset int64) (n int, err error) //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -//sys Readlink(path string, buf []byte) (n int, err error) = SYS___READLINK_A +//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) = SYS___PRCTL_A +//sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT //sys Rename(from string, to string) (err error) = SYS___RENAME_A +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) = SYS___RENAMEAT_A +//sys Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) = SYS___RENAMEAT2_A //sys Rmdir(path string) (err error) = SYS___RMDIR_A //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Setegid(egid int) (err error) = SYS_SETEGID +//sys Seteuid(euid int) (err error) = SYS_SETEUID +//sys Sethostname(p []byte) (err error) = SYS___SETHOSTNAME_A +//sys Setns(fd int, nstype int) (err error) = SYS_SETNS //sys Setpriority(which int, who int, prio int) (err error) //sysnb Setpgid(pid int, pgid int) (err error) = SYS_SETPGID //sysnb Setrlimit(resource int, lim *Rlimit) (err error) @@ -360,32 +976,57 @@ func Stat(path string, sta *Stat_t) (err error) { } //sys Symlink(path string, link string) (err error) = SYS___SYMLINK_A +//sys Symlinkat(oldPath string, dirfd int, newPath string) (err error) = SYS___SYMLINKAT_A //sys Sync() = SYS_SYNC //sys Truncate(path string, length int64) (err error) = SYS___TRUNCATE_A //sys Tcgetattr(fildes int, termptr *Termios) (err error) = SYS_TCGETATTR //sys Tcsetattr(fildes int, when int, termptr *Termios) (err error) = SYS_TCSETATTR //sys Umask(mask int) (oldmask int) //sys Unlink(path string) (err error) = SYS___UNLINK_A +//sys Unlinkat(dirfd int, path string, flags int) (err error) = SYS___UNLINKAT_A //sys Utime(path string, utim *Utimbuf) (err error) = SYS___UTIME_A //sys open(path string, mode int, perm uint32) (fd int, err error) = SYS___OPEN_A func Open(path string, mode int, perm uint32) (fd int, err error) { + if mode&O_ACCMODE == 0 { + mode |= O_RDONLY + } return open(path, mode, perm) } -func Mkfifoat(dirfd int, path string, mode uint32) (err error) { - wd, err := Getwd() - if err != nil { - return err +//sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) = SYS___OPENAT_A + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + if flags&O_ACCMODE == 0 { + flags |= O_RDONLY } + return openat(dirfd, path, flags, mode) +} - if err := Fchdir(dirfd); err != nil { - return err +//sys openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) = SYS___OPENAT2_A + +func Openat2(dirfd int, path string, how *OpenHow) (fd int, err error) { + if how.Flags&O_ACCMODE == 0 { + how.Flags |= O_RDONLY } - defer Chdir(wd) + return openat2(dirfd, path, how, SizeofOpenHow) +} - return Mkfifo(path, mode) +func ZosFdToPath(dirfd int) (path string, err error) { + var buffer [1024]byte + runtime.EnterSyscall() + ret, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_W_IOCTL<<4, uintptr(dirfd), 17, 1024, uintptr(unsafe.Pointer(&buffer[0]))) + runtime.ExitSyscall() + if ret == 0 { + zb := bytes.IndexByte(buffer[:], 0) + if zb == -1 { + zb = len(buffer) + } + CallLeFuncWithErr(GetZosLibVec()+SYS___E2A_L<<4, uintptr(unsafe.Pointer(&buffer[0])), uintptr(zb)) + return string(buffer[:zb]), nil + } + return "", errnoErr2(e1, e2) } //sys remove(path string) (err error) @@ -403,10 +1044,12 @@ func Getcwd(buf []byte) (n int, err error) { } else { p = unsafe.Pointer(&_zero) } - _, _, e := syscall_syscall(SYS___GETCWD_A, uintptr(p), uintptr(len(buf)), 0) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___GETCWD_A<<4, uintptr(p), uintptr(len(buf))) + runtime.ExitSyscall() n = clen(buf) + 1 - if e != 0 { - err = errnoErr(e) + if r0 == 0 { + err = errnoErr2(e1, e2) } return } @@ -520,9 +1163,41 @@ func (w WaitStatus) StopSignal() Signal { func (w WaitStatus) TrapCause() int { return -1 } +//sys waitid(idType int, id int, info *Siginfo, options int) (err error) + +func Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error) { + return waitid(idType, id, info, options) +} + //sys waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error) -func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { +func impl_Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_WAIT4<<4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage))) + runtime.ExitSyscall() + wpid = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_Wait4Addr() *(func(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error)) + +var Wait4 = enter_Wait4 + +func enter_Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + funcref := get_Wait4Addr() + if funcptrtest(GetZosLibVec()+SYS_WAIT4<<4, "") == 0 { + *funcref = impl_Wait4 + } else { + *funcref = legacyWait4 + } + return (*funcref)(pid, wstatus, options, rusage) +} + +func legacyWait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { // TODO(mundaym): z/OS doesn't have wait4. I don't think getrusage does what we want. // At the moment rusage will not be touched. var status _C_int @@ -571,23 +1246,62 @@ func Pipe(p []int) (err error) { } var pp [2]_C_int err = pipe(&pp) - if err == nil { - p[0] = int(pp[0]) - p[1] = int(pp[1]) - } + p[0] = int(pp[0]) + p[1] = int(pp[1]) return } //sys utimes(path string, timeval *[2]Timeval) (err error) = SYS___UTIMES_A func Utimes(path string, tv []Timeval) (err error) { + if tv == nil { + return utimes(path, nil) + } if len(tv) != 2 { return EINVAL } return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) } -func UtimesNano(path string, ts []Timespec) error { +//sys utimensat(dirfd int, path string, ts *[2]Timespec, flags int) (err error) = SYS___UTIMENSAT_A + +func validUtimensat() bool { + if funcptrtest(GetZosLibVec()+SYS___UTIMENSAT_A<<4, "") == 0 { + if name, err := getLeFuncName(GetZosLibVec() + SYS___UTIMENSAT_A<<4); err == nil { + return name == "__utimensat_a" + } + } + return false +} + +// Begin UtimesNano + +//go:nosplit +func get_UtimesNanoAddr() *(func(path string, ts []Timespec) (err error)) + +var UtimesNano = enter_UtimesNano + +func enter_UtimesNano(path string, ts []Timespec) (err error) { + funcref := get_UtimesNanoAddr() + if validUtimensat() { + *funcref = utimesNanoImpl + } else { + *funcref = legacyUtimesNano + } + return (*funcref)(path, ts) +} + +func utimesNanoImpl(path string, ts []Timespec) (err error) { + if ts == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func legacyUtimesNano(path string, ts []Timespec) (err error) { if len(ts) != 2 { return EINVAL } @@ -600,6 +1314,70 @@ func UtimesNano(path string, ts []Timespec) error { return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) } +// End UtimesNano + +// Begin UtimesNanoAt + +//go:nosplit +func get_UtimesNanoAtAddr() *(func(dirfd int, path string, ts []Timespec, flags int) (err error)) + +var UtimesNanoAt = enter_UtimesNanoAt + +func enter_UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) (err error) { + funcref := get_UtimesNanoAtAddr() + if validUtimensat() { + *funcref = utimesNanoAtImpl + } else { + *funcref = legacyUtimesNanoAt + } + return (*funcref)(dirfd, path, ts, flags) +} + +func utimesNanoAtImpl(dirfd int, path string, ts []Timespec, flags int) (err error) { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +func legacyUtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) (err error) { + if path[0] != '/' { + dirPath, err := ZosFdToPath(dirfd) + if err != nil { + return err + } + path = dirPath + "/" + path + } + if flags == AT_SYMLINK_NOFOLLOW { + if len(ts) != 2 { + return EINVAL + } + + if ts[0].Nsec >= 5e8 { + ts[0].Sec++ + } + ts[0].Nsec = 0 + if ts[1].Nsec >= 5e8 { + ts[1].Sec++ + } + ts[1].Nsec = 0 + + // Not as efficient as it could be because Timespec and + // Timeval have different types in the different OSes + tv := []Timeval{ + NsecToTimeval(TimespecToNsec(ts[0])), + NsecToTimeval(TimespecToNsec(ts[1])), + } + return Lutimes(path, tv) + } + return UtimesNano(path, ts) +} + +// End UtimesNanoAt + func Getsockname(fd int) (sa Sockaddr, err error) { var rsa RawSockaddrAny var len _Socklen = SizeofSockaddrAny @@ -1186,67 +1964,46 @@ func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) return n, nil } -func Opendir(name string) (uintptr, error) { - p, err := BytePtrFromString(name) - if err != nil { - return 0, err - } - dir, _, e := syscall_syscall(SYS___OPENDIR_A, uintptr(unsafe.Pointer(p)), 0, 0) - runtime.KeepAlive(unsafe.Pointer(p)) - if e != 0 { - err = errnoErr(e) - } - return dir, err -} - -// clearsyscall.Errno resets the errno value to 0. -func clearErrno() - -func Readdir(dir uintptr) (*Dirent, error) { - var ent Dirent - var res uintptr - // __readdir_r_a returns errno at the end of the directory stream, rather than 0. - // Therefore to avoid false positives we clear errno before calling it. - - // TODO(neeilan): Commented this out to get sys/unix compiling on z/OS. Uncomment and fix. Error: "undefined: clearsyscall" - //clearsyscall.Errno() // TODO(mundaym): check pre-emption rules. - - e, _, _ := syscall_syscall(SYS___READDIR_R_A, dir, uintptr(unsafe.Pointer(&ent)), uintptr(unsafe.Pointer(&res))) - var err error - if e != 0 { - err = errnoErr(Errno(e)) - } - if res == 0 { - return nil, err - } - return &ent, err -} - -func readdir_r(dirp uintptr, entry *direntLE, result **direntLE) (err error) { - r0, _, e1 := syscall_syscall(SYS___READDIR_R_A, dirp, uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) - if int64(r0) == -1 { - err = errnoErr(Errno(e1)) +func Opendir(name string) (uintptr, error) { + p, err := BytePtrFromString(name) + if err != nil { + return 0, err } - return + err = nil + runtime.EnterSyscall() + dir, e2, e1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___OPENDIR_A<<4, uintptr(unsafe.Pointer(p))) + runtime.ExitSyscall() + runtime.KeepAlive(unsafe.Pointer(p)) + if dir == 0 { + err = errnoErr2(e1, e2) + } + return dir, err } +// clearsyscall.Errno resets the errno value to 0. +func clearErrno() + func Closedir(dir uintptr) error { - _, _, e := syscall_syscall(SYS_CLOSEDIR, dir, 0, 0) - if e != 0 { - return errnoErr(e) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_CLOSEDIR<<4, dir) + runtime.ExitSyscall() + if r0 != 0 { + return errnoErr2(e1, e2) } return nil } func Seekdir(dir uintptr, pos int) { - _, _, _ = syscall_syscall(SYS_SEEKDIR, dir, uintptr(pos), 0) + runtime.EnterSyscall() + CallLeFuncWithErr(GetZosLibVec()+SYS_SEEKDIR<<4, dir, uintptr(pos)) + runtime.ExitSyscall() } func Telldir(dir uintptr) (int, error) { - p, _, e := syscall_syscall(SYS_TELLDIR, dir, 0, 0) + p, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_TELLDIR<<4, dir) pos := int(p) - if pos == -1 { - return pos, errnoErr(e) + if int64(p) == -1 { + return pos, errnoErr2(e1, e2) } return pos, nil } @@ -1261,19 +2018,55 @@ func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { *(*int64)(unsafe.Pointer(&flock[4])) = lk.Start *(*int64)(unsafe.Pointer(&flock[12])) = lk.Len *(*int32)(unsafe.Pointer(&flock[20])) = lk.Pid - _, _, errno := syscall_syscall(SYS_FCNTL, fd, uintptr(cmd), uintptr(unsafe.Pointer(&flock))) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCNTL<<4, fd, uintptr(cmd), uintptr(unsafe.Pointer(&flock))) + runtime.ExitSyscall() lk.Type = *(*int16)(unsafe.Pointer(&flock[0])) lk.Whence = *(*int16)(unsafe.Pointer(&flock[2])) lk.Start = *(*int64)(unsafe.Pointer(&flock[4])) lk.Len = *(*int64)(unsafe.Pointer(&flock[12])) lk.Pid = *(*int32)(unsafe.Pointer(&flock[20])) - if errno == 0 { + if r0 == 0 { return nil } - return errno + return errnoErr2(e1, e2) +} + +func impl_Flock(fd int, how int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FLOCK<<4, uintptr(fd), uintptr(how)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_FlockAddr() *(func(fd int, how int) (err error)) + +var Flock = enter_Flock + +func validFlock(fp uintptr) bool { + if funcptrtest(GetZosLibVec()+SYS_FLOCK<<4, "") == 0 { + if name, err := getLeFuncName(GetZosLibVec() + SYS_FLOCK<<4); err == nil { + return name == "flock" + } + } + return false +} + +func enter_Flock(fd int, how int) (err error) { + funcref := get_FlockAddr() + if validFlock(GetZosLibVec() + SYS_FLOCK<<4) { + *funcref = impl_Flock + } else { + *funcref = legacyFlock + } + return (*funcref)(fd, how) } -func Flock(fd int, how int) error { +func legacyFlock(fd int, how int) error { var flock_type int16 var fcntl_cmd int @@ -1307,41 +2100,51 @@ func Flock(fd int, how int) error { } func Mlock(b []byte) (err error) { - _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_NONSWAP, 0, 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_NONSWAP) + runtime.ExitSyscall() + if r0 != 0 { + err = errnoErr2(e1, e2) } return } func Mlock2(b []byte, flags int) (err error) { - _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_NONSWAP, 0, 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_NONSWAP) + runtime.ExitSyscall() + if r0 != 0 { + err = errnoErr2(e1, e2) } return } func Mlockall(flags int) (err error) { - _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_NONSWAP, 0, 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_NONSWAP) + runtime.ExitSyscall() + if r0 != 0 { + err = errnoErr2(e1, e2) } return } func Munlock(b []byte) (err error) { - _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_SWAP, 0, 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_SWAP) + runtime.ExitSyscall() + if r0 != 0 { + err = errnoErr2(e1, e2) } return } func Munlockall() (err error) { - _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_SWAP, 0, 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_SWAP) + runtime.ExitSyscall() + if r0 != 0 { + err = errnoErr2(e1, e2) } return } @@ -1372,15 +2175,104 @@ func ClockGettime(clockid int32, ts *Timespec) error { return nil } -func Statfs(path string, stat *Statfs_t) (err error) { - fd, err := open(path, O_RDONLY, 0) - defer Close(fd) - if err != nil { - return err +// Chtag + +//go:nosplit +func get_ChtagAddr() *(func(path string, ccsid uint64, textbit uint64) error) + +var Chtag = enter_Chtag + +func enter_Chtag(path string, ccsid uint64, textbit uint64) error { + funcref := get_ChtagAddr() + if validSetxattr() { + *funcref = impl_Chtag + } else { + *funcref = legacy_Chtag + } + return (*funcref)(path, ccsid, textbit) +} + +func legacy_Chtag(path string, ccsid uint64, textbit uint64) error { + tag := ccsid<<16 | textbit<<15 + var tag_buff [8]byte + DecodeData(tag_buff[:], 8, tag) + return Setxattr(path, "filetag", tag_buff[:], XATTR_REPLACE) +} + +func impl_Chtag(path string, ccsid uint64, textbit uint64) error { + tag := ccsid<<16 | textbit<<15 + var tag_buff [4]byte + DecodeData(tag_buff[:], 4, tag) + return Setxattr(path, "system.filetag", tag_buff[:], XATTR_REPLACE) +} + +// End of Chtag + +// Nanosleep + +//go:nosplit +func get_NanosleepAddr() *(func(time *Timespec, leftover *Timespec) error) + +var Nanosleep = enter_Nanosleep + +func enter_Nanosleep(time *Timespec, leftover *Timespec) error { + funcref := get_NanosleepAddr() + if funcptrtest(GetZosLibVec()+SYS_NANOSLEEP<<4, "") == 0 { + *funcref = impl_Nanosleep + } else { + *funcref = legacyNanosleep + } + return (*funcref)(time, leftover) +} + +func impl_Nanosleep(time *Timespec, leftover *Timespec) error { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_NANOSLEEP<<4, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover))) + runtime.ExitSyscall() + if int64(r0) == -1 { + return errnoErr2(e1, e2) + } + return nil +} + +func legacyNanosleep(time *Timespec, leftover *Timespec) error { + t0 := runtime.Nanotime1() + var secrem uint32 + var nsecrem uint32 + total := time.Sec*1000000000 + time.Nsec + elapsed := runtime.Nanotime1() - t0 + var rv int32 + var rc int32 + var err error + // repeatedly sleep for 1 second until less than 1 second left + for total-elapsed > 1000000000 { + rv, rc, _ = BpxCondTimedWait(uint32(1), uint32(0), uint32(CW_CONDVAR), &secrem, &nsecrem) + if rv != 0 && rc != 112 { // 112 is EAGAIN + if leftover != nil && rc == 120 { // 120 is EINTR + leftover.Sec = int64(secrem) + leftover.Nsec = int64(nsecrem) + } + err = Errno(rc) + return err + } + elapsed = runtime.Nanotime1() - t0 } - return Fstatfs(fd, stat) + // sleep the remainder + if total > elapsed { + rv, rc, _ = BpxCondTimedWait(uint32(0), uint32(total-elapsed), uint32(CW_CONDVAR), &secrem, &nsecrem) + } + if leftover != nil && rc == 120 { + leftover.Sec = int64(secrem) + leftover.Nsec = int64(nsecrem) + } + if rv != 0 && rc != 112 { + err = Errno(rc) + } + return err } +// End of Nanosleep + var ( Stdin = 0 Stdout = 1 @@ -1395,6 +2287,9 @@ var ( errENOENT error = syscall.ENOENT ) +var ZosTraceLevel int +var ZosTracefile *os.File + var ( signalNameMapOnce sync.Once signalNameMap map[string]syscall.Signal @@ -1416,6 +2311,56 @@ func errnoErr(e Errno) error { return e } +var reg *regexp.Regexp + +// enhanced with zos specific errno2 +func errnoErr2(e Errno, e2 uintptr) error { + switch e { + case 0: + return nil + case EAGAIN: + return errEAGAIN + /* + Allow the retrieval of errno2 for EINVAL and ENOENT on zos + case EINVAL: + return errEINVAL + case ENOENT: + return errENOENT + */ + } + if ZosTraceLevel > 0 { + var name string + if reg == nil { + reg = regexp.MustCompile("(^unix\\.[^/]+$|.*\\/unix\\.[^/]+$)") + } + i := 1 + pc, file, line, ok := runtime.Caller(i) + if ok { + name = runtime.FuncForPC(pc).Name() + } + for ok && reg.MatchString(runtime.FuncForPC(pc).Name()) { + i += 1 + pc, file, line, ok = runtime.Caller(i) + } + if ok { + if ZosTracefile == nil { + ZosConsolePrintf("From %s:%d\n", file, line) + ZosConsolePrintf("%s: %s (errno2=0x%x)\n", name, e.Error(), e2) + } else { + fmt.Fprintf(ZosTracefile, "From %s:%d\n", file, line) + fmt.Fprintf(ZosTracefile, "%s: %s (errno2=0x%x)\n", name, e.Error(), e2) + } + } else { + if ZosTracefile == nil { + ZosConsolePrintf("%s (errno2=0x%x)\n", e.Error(), e2) + } else { + fmt.Fprintf(ZosTracefile, "%s (errno2=0x%x)\n", e.Error(), e2) + } + } + } + return e +} + // ErrnoName returns the error name for error number e. func ErrnoName(e Errno) string { i := sort.Search(len(errorList), func(i int) bool { @@ -1474,6 +2419,9 @@ func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (d return nil, EINVAL } + // Set __MAP_64 by default + flags |= __MAP_64 + // Map the requested memory. addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset) if errno != nil { @@ -1778,83 +2726,170 @@ func Exec(argv0 string, argv []string, envv []string) error { return syscall.Exec(argv0, argv, envv) } -func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { +func Getag(path string) (ccsid uint16, flag uint16, err error) { + var val [8]byte + sz, err := Getxattr(path, "ccsid", val[:]) + if err != nil { + return + } + ccsid = uint16(EncodeData(val[0:sz])) + sz, err = Getxattr(path, "flags", val[:]) + if err != nil { + return + } + flag = uint16(EncodeData(val[0:sz]) >> 15) + return +} + +// Mount begin +func impl_Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + var _p3 *byte + _p3, err = BytePtrFromString(data) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MOUNT1_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(_p3))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_MountAddr() *(func(source string, target string, fstype string, flags uintptr, data string) (err error)) + +var Mount = enter_Mount + +func enter_Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { + funcref := get_MountAddr() + if validMount() { + *funcref = impl_Mount + } else { + *funcref = legacyMount + } + return (*funcref)(source, target, fstype, flags, data) +} + +func legacyMount(source string, target string, fstype string, flags uintptr, data string) (err error) { if needspace := 8 - len(fstype); needspace <= 0 { - fstype = fstype[:8] + fstype = fstype[0:8] } else { - fstype += " "[:needspace] + fstype += " "[0:needspace] } return mount_LE(target, source, fstype, uint32(flags), int32(len(data)), data) } -func Unmount(name string, mtm int) (err error) { +func validMount() bool { + if funcptrtest(GetZosLibVec()+SYS___MOUNT1_A<<4, "") == 0 { + if name, err := getLeFuncName(GetZosLibVec() + SYS___MOUNT1_A<<4); err == nil { + return name == "__mount1_a" + } + } + return false +} + +// Mount end + +// Unmount begin +func impl_Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UMOUNT2_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_UnmountAddr() *(func(target string, flags int) (err error)) + +var Unmount = enter_Unmount + +func enter_Unmount(target string, flags int) (err error) { + funcref := get_UnmountAddr() + if funcptrtest(GetZosLibVec()+SYS___UMOUNT2_A<<4, "") == 0 { + *funcref = impl_Unmount + } else { + *funcref = legacyUnmount + } + return (*funcref)(target, flags) +} + +func legacyUnmount(name string, mtm int) (err error) { // mountpoint is always a full path and starts with a '/' // check if input string is not a mountpoint but a filesystem name if name[0] != '/' { - return unmount(name, mtm) + return unmount_LE(name, mtm) } // treat name as mountpoint b2s := func(arr []byte) string { - nulli := bytes.IndexByte(arr, 0) - if nulli == -1 { - return string(arr) - } else { - return string(arr[:nulli]) + var str string + for i := 0; i < len(arr); i++ { + if arr[i] == 0 { + str = string(arr[:i]) + break + } } + return str } var buffer struct { header W_Mnth fsinfo [64]W_Mntent } - fsCount, err := W_Getmntent_A((*byte)(unsafe.Pointer(&buffer)), int(unsafe.Sizeof(buffer))) - if err != nil { - return err - } - if fsCount == 0 { - return EINVAL - } - for i := 0; i < fsCount; i++ { - if b2s(buffer.fsinfo[i].Mountpoint[:]) == name { - err = unmount(b2s(buffer.fsinfo[i].Fsname[:]), mtm) - break + fs_count, err := W_Getmntent_A((*byte)(unsafe.Pointer(&buffer)), int(unsafe.Sizeof(buffer))) + if err == nil { + err = EINVAL + for i := 0; i < fs_count; i++ { + if b2s(buffer.fsinfo[i].Mountpoint[:]) == name { + err = unmount_LE(b2s(buffer.fsinfo[i].Fsname[:]), mtm) + break + } } + } else if fs_count == 0 { + err = EINVAL } return err } -func fdToPath(dirfd int) (path string, err error) { - var buffer [1024]byte - // w_ctrl() - ret := runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS_W_IOCTL<<4, - []uintptr{uintptr(dirfd), 17, 1024, uintptr(unsafe.Pointer(&buffer[0]))}) - if ret == 0 { - zb := bytes.IndexByte(buffer[:], 0) - if zb == -1 { - zb = len(buffer) - } - // __e2a_l() - runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4, - []uintptr{uintptr(unsafe.Pointer(&buffer[0])), uintptr(zb)}) - return string(buffer[:zb]), nil - } - // __errno() - errno := int(*(*int32)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4, - []uintptr{})))) - // __errno2() - errno2 := int(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO2<<4, - []uintptr{})) - // strerror_r() - ret = runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS_STRERROR_R<<4, - []uintptr{uintptr(errno), uintptr(unsafe.Pointer(&buffer[0])), 1024}) - if ret == 0 { - zb := bytes.IndexByte(buffer[:], 0) - if zb == -1 { - zb = len(buffer) - } - return "", fmt.Errorf("%s (errno2=0x%x)", buffer[:zb], errno2) - } else { - return "", fmt.Errorf("fdToPath errno %d (errno2=0x%x)", errno, errno2) +// Unmount end + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + reclen, ok := direntReclen(buf) + if !ok { + return 0, false } + return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true } func direntLeToDirentUnix(dirent *direntLE, dir uintptr, path string) (Dirent, error) { @@ -1896,7 +2931,7 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { } // Get path from fd to avoid unavailable call (fdopendir) - path, err := fdToPath(fd) + path, err := ZosFdToPath(fd) if err != nil { return 0, err } @@ -1910,7 +2945,7 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { for { var entryLE direntLE var entrypLE *direntLE - e := readdir_r(d, &entryLE, &entrypLE) + e := Readdir_r(d, &entryLE, &entrypLE) if e != nil { return n, e } @@ -1956,23 +2991,127 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { return n, nil } -func ReadDirent(fd int, buf []byte) (n int, err error) { - var base = (*uintptr)(unsafe.Pointer(new(uint64))) - return Getdirentries(fd, buf, base) +func Err2ad() (eadd *int) { + r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS___ERR2AD<<4) + eadd = (*int)(unsafe.Pointer(r0)) + return } -func direntIno(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +func ZosConsolePrintf(format string, v ...interface{}) (int, error) { + type __cmsg struct { + _ uint16 + _ [2]uint8 + __msg_length uint32 + __msg uintptr + _ [4]uint8 + } + msg := fmt.Sprintf(format, v...) + strptr := unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&msg)).Data) + len := (*reflect.StringHeader)(unsafe.Pointer(&msg)).Len + cmsg := __cmsg{__msg_length: uint32(len), __msg: uintptr(strptr)} + cmd := uint32(0) + runtime.EnterSyscall() + rc, err2, err1 := CallLeFuncWithErr(GetZosLibVec()+SYS_____CONSOLE_A<<4, uintptr(unsafe.Pointer(&cmsg)), 0, uintptr(unsafe.Pointer(&cmd))) + runtime.ExitSyscall() + if rc != 0 { + return 0, fmt.Errorf("%s (errno2=0x%x)\n", err1.Error(), err2) + } + return 0, nil +} +func ZosStringToEbcdicBytes(str string, nullterm bool) (ebcdicBytes []byte) { + if nullterm { + ebcdicBytes = []byte(str + "\x00") + } else { + ebcdicBytes = []byte(str) + } + A2e(ebcdicBytes) + return +} +func ZosEbcdicBytesToString(b []byte, trimRight bool) (str string) { + res := make([]byte, len(b)) + copy(res, b) + E2a(res) + if trimRight { + str = string(bytes.TrimRight(res, " \x00")) + } else { + str = string(res) + } + return } -func direntReclen(buf []byte) (uint64, bool) { - return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +func fdToPath(dirfd int) (path string, err error) { + var buffer [1024]byte + // w_ctrl() + ret := runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS_W_IOCTL<<4, + []uintptr{uintptr(dirfd), 17, 1024, uintptr(unsafe.Pointer(&buffer[0]))}) + if ret == 0 { + zb := bytes.IndexByte(buffer[:], 0) + if zb == -1 { + zb = len(buffer) + } + // __e2a_l() + runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4, + []uintptr{uintptr(unsafe.Pointer(&buffer[0])), uintptr(zb)}) + return string(buffer[:zb]), nil + } + // __errno() + errno := int(*(*int32)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4, + []uintptr{})))) + // __errno2() + errno2 := int(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO2<<4, + []uintptr{})) + // strerror_r() + ret = runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS_STRERROR_R<<4, + []uintptr{uintptr(errno), uintptr(unsafe.Pointer(&buffer[0])), 1024}) + if ret == 0 { + zb := bytes.IndexByte(buffer[:], 0) + if zb == -1 { + zb = len(buffer) + } + return "", fmt.Errorf("%s (errno2=0x%x)", buffer[:zb], errno2) + } else { + return "", fmt.Errorf("fdToPath errno %d (errno2=0x%x)", errno, errno2) + } } -func direntNamlen(buf []byte) (uint64, bool) { - reclen, ok := direntReclen(buf) - if !ok { - return 0, false +func impl_Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return } - return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKFIFOAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_MkfifoatAddr() *(func(dirfd int, path string, mode uint32) (err error)) + +var Mkfifoat = enter_Mkfifoat + +func enter_Mkfifoat(dirfd int, path string, mode uint32) (err error) { + funcref := get_MkfifoatAddr() + if funcptrtest(GetZosLibVec()+SYS___MKFIFOAT_A<<4, "") == 0 { + *funcref = impl_Mkfifoat + } else { + *funcref = legacy_Mkfifoat + } + return (*funcref)(dirfd, path, mode) +} + +func legacy_Mkfifoat(dirfd int, path string, mode uint32) (err error) { + dirname, err := ZosFdToPath(dirfd) + if err != nil { + return err + } + return Mkfifo(dirname+"/"+path, mode) } + +//sys Posix_openpt(oflag int) (fd int, err error) = SYS_POSIX_OPENPT +//sys Grantpt(fildes int) (rc int, err error) = SYS_GRANTPT +//sys Unlockpt(fildes int) (rc int, err error) = SYS_UNLOCKPT diff --git a/vendor/golang.org/x/sys/unix/sysvshm_unix.go b/vendor/golang.org/x/sys/unix/sysvshm_unix.go index 79a84f1..672d6b0 100644 --- a/vendor/golang.org/x/sys/unix/sysvshm_unix.go +++ b/vendor/golang.org/x/sys/unix/sysvshm_unix.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build (darwin && !ios) || linux +//go:build (darwin && !ios) || linux || zos package unix diff --git a/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go b/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go index 9eb0db6..8b7977a 100644 --- a/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go +++ b/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build darwin && !ios +//go:build (darwin && !ios) || zos package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go index e40fa85..4308ac1 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go @@ -1169,6 +1169,11 @@ const ( PT_WRITE_D = 0x5 PT_WRITE_I = 0x4 PT_WRITE_U = 0x6 + RENAME_EXCL = 0x4 + RENAME_NOFOLLOW_ANY = 0x10 + RENAME_RESERVED1 = 0x8 + RENAME_SECLUDE = 0x1 + RENAME_SWAP = 0x2 RLIMIT_AS = 0x5 RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go index bb02aa6..c8068a7 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go @@ -1169,6 +1169,11 @@ const ( PT_WRITE_D = 0x5 PT_WRITE_I = 0x4 PT_WRITE_U = 0x6 + RENAME_EXCL = 0x4 + RENAME_NOFOLLOW_ANY = 0x10 + RENAME_RESERVED1 = 0x8 + RENAME_SECLUDE = 0x1 + RENAME_SWAP = 0x2 RLIMIT_AS = 0x5 RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go index 36bf839..01a70b2 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go @@ -457,6 +457,7 @@ const ( B600 = 0x8 B75 = 0x2 B9600 = 0xd + BCACHEFS_SUPER_MAGIC = 0xca451a4e BDEVFS_MAGIC = 0x62646576 BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d @@ -491,6 +492,7 @@ const ( BPF_F_REPLACE = 0x4 BPF_F_SLEEPABLE = 0x10 BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_TEST_REG_INVARIANTS = 0x80 BPF_F_TEST_RND_HI32 = 0x4 BPF_F_TEST_RUN_ON_CPU = 0x1 BPF_F_TEST_STATE_FREQ = 0x8 @@ -501,6 +503,7 @@ const ( BPF_IMM = 0x0 BPF_IND = 0x40 BPF_JA = 0x0 + BPF_JCOND = 0xe0 BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 @@ -656,6 +659,9 @@ const ( CAN_NPROTO = 0x8 CAN_RAW = 0x1 CAN_RAW_FILTER_MAX = 0x200 + CAN_RAW_XL_VCID_RX_FILTER = 0x4 + CAN_RAW_XL_VCID_TX_PASS = 0x2 + CAN_RAW_XL_VCID_TX_SET = 0x1 CAN_RTR_FLAG = 0x40000000 CAN_SFF_ID_BITS = 0xb CAN_SFF_MASK = 0x7ff @@ -923,6 +929,7 @@ const ( EPOLL_CTL_ADD = 0x1 EPOLL_CTL_DEL = 0x2 EPOLL_CTL_MOD = 0x3 + EPOLL_IOC_TYPE = 0x8a EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 ESP_V4_FLOW = 0xa ESP_V6_FLOW = 0xc @@ -936,9 +943,6 @@ const ( ETHTOOL_FEC_OFF = 0x4 ETHTOOL_FEC_RS = 0x8 ETHTOOL_FLAG_ALL = 0x7 - ETHTOOL_FLAG_COMPACT_BITSETS = 0x1 - ETHTOOL_FLAG_OMIT_REPLY = 0x2 - ETHTOOL_FLAG_STATS = 0x4 ETHTOOL_FLASHDEV = 0x33 ETHTOOL_FLASH_MAX_FILENAME = 0x80 ETHTOOL_FWVERS_LEN = 0x20 @@ -1338,6 +1342,7 @@ const ( F_OFD_SETLK = 0x25 F_OFD_SETLKW = 0x26 F_OK = 0x0 + F_SEAL_EXEC = 0x20 F_SEAL_FUTURE_WRITE = 0x10 F_SEAL_GROW = 0x4 F_SEAL_SEAL = 0x1 @@ -1626,6 +1631,7 @@ const ( IP_FREEBIND = 0xf IP_HDRINCL = 0x3 IP_IPSEC_POLICY = 0x10 + IP_LOCAL_PORT_RANGE = 0x33 IP_MAXPACKET = 0xffff IP_MAX_MEMBERSHIPS = 0x14 IP_MF = 0x2000 @@ -1652,6 +1658,7 @@ const ( IP_PMTUDISC_OMIT = 0x5 IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 + IP_PROTOCOL = 0x34 IP_RECVERR = 0xb IP_RECVERR_RFC4884 = 0x1a IP_RECVFRAGSIZE = 0x19 @@ -1697,6 +1704,8 @@ const ( KEXEC_ARCH_S390 = 0x160000 KEXEC_ARCH_SH = 0x2a0000 KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_CRASH_HOTPLUG_SUPPORT = 0x8 + KEXEC_FILE_DEBUG = 0x8 KEXEC_FILE_NO_INITRAMFS = 0x4 KEXEC_FILE_ON_CRASH = 0x2 KEXEC_FILE_UNLOAD = 0x1 @@ -1771,6 +1780,7 @@ const ( KEY_SPEC_USER_KEYRING = -0x4 KEY_SPEC_USER_SESSION_KEYRING = -0x5 LANDLOCK_ACCESS_FS_EXECUTE = 0x1 + LANDLOCK_ACCESS_FS_IOCTL_DEV = 0x8000 LANDLOCK_ACCESS_FS_MAKE_BLOCK = 0x800 LANDLOCK_ACCESS_FS_MAKE_CHAR = 0x40 LANDLOCK_ACCESS_FS_MAKE_DIR = 0x80 @@ -1852,6 +1862,19 @@ const ( MAP_FILE = 0x0 MAP_FIXED = 0x10 MAP_FIXED_NOREPLACE = 0x100000 + MAP_HUGE_16GB = 0x88000000 + MAP_HUGE_16KB = 0x38000000 + MAP_HUGE_16MB = 0x60000000 + MAP_HUGE_1GB = 0x78000000 + MAP_HUGE_1MB = 0x50000000 + MAP_HUGE_256MB = 0x70000000 + MAP_HUGE_2GB = 0x7c000000 + MAP_HUGE_2MB = 0x54000000 + MAP_HUGE_32MB = 0x64000000 + MAP_HUGE_512KB = 0x4c000000 + MAP_HUGE_512MB = 0x74000000 + MAP_HUGE_64KB = 0x40000000 + MAP_HUGE_8MB = 0x5c000000 MAP_HUGE_MASK = 0x3f MAP_HUGE_SHIFT = 0x1a MAP_PRIVATE = 0x2 @@ -1898,6 +1921,7 @@ const ( MNT_DETACH = 0x2 MNT_EXPIRE = 0x4 MNT_FORCE = 0x1 + MNT_ID_REQ_SIZE_VER0 = 0x18 MODULE_INIT_COMPRESSED_FILE = 0x4 MODULE_INIT_IGNORE_MODVERSIONS = 0x1 MODULE_INIT_IGNORE_VERMAGIC = 0x2 @@ -2166,7 +2190,7 @@ const ( NFT_SECMARK_CTX_MAXLEN = 0x100 NFT_SET_MAXNAMELEN = 0x100 NFT_SOCKET_MAX = 0x3 - NFT_TABLE_F_MASK = 0x3 + NFT_TABLE_F_MASK = 0x7 NFT_TABLE_MAXNAMELEN = 0x100 NFT_TRACETYPE_MAX = 0x3 NFT_TUNNEL_F_MASK = 0x7 @@ -2302,6 +2326,7 @@ const ( PERF_AUX_FLAG_PARTIAL = 0x4 PERF_AUX_FLAG_PMU_FORMAT_TYPE_MASK = 0xff00 PERF_AUX_FLAG_TRUNCATED = 0x1 + PERF_BRANCH_ENTRY_INFO_BITS_MAX = 0x21 PERF_BR_ARM64_DEBUG_DATA = 0x7 PERF_BR_ARM64_DEBUG_EXIT = 0x5 PERF_BR_ARM64_DEBUG_HALT = 0x4 @@ -2399,6 +2424,7 @@ const ( PERF_RECORD_MISC_USER = 0x2 PERF_SAMPLE_BRANCH_PLM_ALL = 0x7 PERF_SAMPLE_WEIGHT_TYPE = 0x1004000 + PID_FS_MAGIC = 0x50494446 PIPEFS_MAGIC = 0x50495045 PPPIOCGNPMODE = 0xc008744c PPPIOCNEWUNIT = 0xc004743e @@ -2486,6 +2512,23 @@ const ( PR_PAC_GET_ENABLED_KEYS = 0x3d PR_PAC_RESET_KEYS = 0x36 PR_PAC_SET_ENABLED_KEYS = 0x3c + PR_PPC_DEXCR_CTRL_CLEAR = 0x4 + PR_PPC_DEXCR_CTRL_CLEAR_ONEXEC = 0x10 + PR_PPC_DEXCR_CTRL_EDITABLE = 0x1 + PR_PPC_DEXCR_CTRL_MASK = 0x1f + PR_PPC_DEXCR_CTRL_SET = 0x2 + PR_PPC_DEXCR_CTRL_SET_ONEXEC = 0x8 + PR_PPC_DEXCR_IBRTPD = 0x1 + PR_PPC_DEXCR_NPHIE = 0x3 + PR_PPC_DEXCR_SBHE = 0x0 + PR_PPC_DEXCR_SRAPD = 0x2 + PR_PPC_GET_DEXCR = 0x48 + PR_PPC_SET_DEXCR = 0x49 + PR_RISCV_CTX_SW_FENCEI_OFF = 0x1 + PR_RISCV_CTX_SW_FENCEI_ON = 0x0 + PR_RISCV_SCOPE_PER_PROCESS = 0x0 + PR_RISCV_SCOPE_PER_THREAD = 0x1 + PR_RISCV_SET_ICACHE_FLUSH_CTX = 0x47 PR_RISCV_V_GET_CONTROL = 0x46 PR_RISCV_V_SET_CONTROL = 0x45 PR_RISCV_V_VSTATE_CTRL_CUR_MASK = 0x3 @@ -2892,8 +2935,9 @@ const ( RWF_APPEND = 0x10 RWF_DSYNC = 0x2 RWF_HIPRI = 0x1 + RWF_NOAPPEND = 0x20 RWF_NOWAIT = 0x8 - RWF_SUPPORTED = 0x1f + RWF_SUPPORTED = 0x3f RWF_SYNC = 0x4 RWF_WRITE_LIFE_NOT_SET = 0x0 SCHED_BATCH = 0x3 @@ -2914,7 +2958,9 @@ const ( SCHED_RESET_ON_FORK = 0x40000000 SCHED_RR = 0x2 SCM_CREDENTIALS = 0x2 + SCM_PIDFD = 0x4 SCM_RIGHTS = 0x1 + SCM_SECURITY = 0x3 SCM_TIMESTAMP = 0x1d SC_LOG_FLUSH = 0x100000 SECCOMP_ADDFD_FLAG_SEND = 0x2 @@ -3047,6 +3093,8 @@ const ( SIOCSMIIREG = 0x8949 SIOCSRARP = 0x8962 SIOCWANDEV = 0x894a + SK_DIAG_BPF_STORAGE_MAX = 0x3 + SK_DIAG_BPF_STORAGE_REQ_MAX = 0x1 SMACK_MAGIC = 0x43415d53 SMART_AUTOSAVE = 0xd2 SMART_AUTO_OFFLINE = 0xdb @@ -3067,6 +3115,8 @@ const ( SOCKFS_MAGIC = 0x534f434b SOCK_BUF_LOCK_MASK = 0x3 SOCK_DCCP = 0x6 + SOCK_DESTROY = 0x15 + SOCK_DIAG_BY_FAMILY = 0x14 SOCK_IOC_TYPE = 0x89 SOCK_PACKET = 0xa SOCK_RAW = 0x3 @@ -3168,10 +3218,12 @@ const ( STATX_GID = 0x10 STATX_INO = 0x100 STATX_MNT_ID = 0x1000 + STATX_MNT_ID_UNIQUE = 0x4000 STATX_MODE = 0x2 STATX_MTIME = 0x40 STATX_NLINK = 0x4 STATX_SIZE = 0x200 + STATX_SUBVOL = 0x8000 STATX_TYPE = 0x1 STATX_UID = 0x8 STATX__RESERVED = 0x80000000 @@ -3255,6 +3307,7 @@ const ( TCP_MAX_WINSHIFT = 0xe TCP_MD5SIG = 0xe TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_IFINDEX = 0x2 TCP_MD5SIG_FLAG_PREFIX = 0x1 TCP_MD5SIG_MAXKEYLEN = 0x50 TCP_MSS = 0x200 @@ -3562,12 +3615,16 @@ const ( XDP_RX_RING = 0x2 XDP_SHARED_UMEM = 0x1 XDP_STATISTICS = 0x7 + XDP_TXMD_FLAGS_CHECKSUM = 0x2 + XDP_TXMD_FLAGS_TIMESTAMP = 0x1 + XDP_TX_METADATA = 0x2 XDP_TX_RING = 0x3 XDP_UMEM_COMPLETION_RING = 0x6 XDP_UMEM_FILL_RING = 0x5 XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 XDP_UMEM_PGOFF_FILL_RING = 0x100000000 XDP_UMEM_REG = 0x4 + XDP_UMEM_TX_SW_CSUM = 0x2 XDP_UMEM_UNALIGNED_CHUNK_FLAG = 0x1 XDP_USE_NEED_WAKEUP = 0x8 XDP_USE_SG = 0x10 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go index 42ff8c3..684a516 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 @@ -118,6 +120,7 @@ const ( IXOFF = 0x1000 IXON = 0x400 MAP_32BIT = 0x40 + MAP_ABOVE4G = 0x80 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go index dca4360..61d74b5 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 @@ -118,6 +120,7 @@ const ( IXOFF = 0x1000 IXON = 0x400 MAP_32BIT = 0x40 + MAP_ABOVE4G = 0x80 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go index 5cca668..a28c9e3 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go index d8cae6d..ab5d1fe 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 ESR_MAGIC = 0x45535201 EXTPROC = 0x10000 @@ -87,6 +89,7 @@ const ( FICLONE = 0x40049409 FICLONERANGE = 0x4020940d FLUSHO = 0x1000 + FPMR_MAGIC = 0x46504d52 FPSIMD_MAGIC = 0x46508001 FS_IOC_ENABLE_VERITY = 0x40806685 FS_IOC_GETFLAGS = 0x80086601 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go index 28e39af..c523090 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go index cd66e92..01e6ea7 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x80 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go index c1595eb..7aa610b 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x80 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go index ee9456b..92af771 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x80 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go index 8cfca81..b27ef5e 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x80 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go index 60b0deb..237a2ce 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x20 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000000 FF1 = 0x4000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go index f90aa72..4a5c555 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x20 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000000 FF1 = 0x4000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go index ba9e015..a02fb49 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x20 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000000 FF1 = 0x4000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go index 07cdfd6..e26a7c6 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go index 2f1dd21..c48f7c2 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go index f40519d..ad4b9aa 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -82,6 +82,8 @@ const ( EFD_CLOEXEC = 0x400000 EFD_NONBLOCK = 0x4000 EMT_TAGOVF = 0x1 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x400000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go index 4dfd2e0..da08b2a 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go @@ -10,41 +10,99 @@ package unix const ( - BRKINT = 0x0001 - CLOCK_MONOTONIC = 0x1 - CLOCK_PROCESS_CPUTIME_ID = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_THREAD_CPUTIME_ID = 0x3 - CS8 = 0x0030 - CSIZE = 0x0030 - ECHO = 0x00000008 - ECHONL = 0x00000001 - FD_CLOEXEC = 0x01 - FD_CLOFORK = 0x02 - FNDELAY = 0x04 - F_CLOSFD = 9 - F_CONTROL_CVT = 13 - F_DUPFD = 0 - F_DUPFD2 = 8 - F_GETFD = 1 - F_GETFL = 259 - F_GETLK = 5 - F_GETOWN = 10 - F_OK = 0x0 - F_RDLCK = 1 - F_SETFD = 2 - F_SETFL = 4 - F_SETLK = 6 - F_SETLKW = 7 - F_SETOWN = 11 - F_SETTAG = 12 - F_UNLCK = 3 - F_WRLCK = 2 - FSTYPE_ZFS = 0xe9 //"Z" - FSTYPE_HFS = 0xc8 //"H" - FSTYPE_NFS = 0xd5 //"N" - FSTYPE_TFS = 0xe3 //"T" - FSTYPE_AUTOMOUNT = 0xc1 //"A" + BRKINT = 0x0001 + CLOCAL = 0x1 + CLOCK_MONOTONIC = 0x1 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLONE_NEWIPC = 0x08000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x00020000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUTS = 0x04000000 + CLONE_PARENT = 0x00008000 + CS8 = 0x0030 + CSIZE = 0x0030 + ECHO = 0x00000008 + ECHONL = 0x00000001 + EFD_SEMAPHORE = 0x00002000 + EFD_CLOEXEC = 0x00001000 + EFD_NONBLOCK = 0x00000004 + EPOLL_CLOEXEC = 0x00001000 + EPOLL_CTL_ADD = 0 + EPOLL_CTL_MOD = 1 + EPOLL_CTL_DEL = 2 + EPOLLRDNORM = 0x0001 + EPOLLRDBAND = 0x0002 + EPOLLIN = 0x0003 + EPOLLOUT = 0x0004 + EPOLLWRBAND = 0x0008 + EPOLLPRI = 0x0010 + EPOLLERR = 0x0020 + EPOLLHUP = 0x0040 + EPOLLEXCLUSIVE = 0x20000000 + EPOLLONESHOT = 0x40000000 + FD_CLOEXEC = 0x01 + FD_CLOFORK = 0x02 + FD_SETSIZE = 0x800 + FNDELAY = 0x04 + F_CLOSFD = 9 + F_CONTROL_CVT = 13 + F_DUPFD = 0 + F_DUPFD2 = 8 + F_GETFD = 1 + F_GETFL = 259 + F_GETLK = 5 + F_GETOWN = 10 + F_OK = 0x0 + F_RDLCK = 1 + F_SETFD = 2 + F_SETFL = 4 + F_SETLK = 6 + F_SETLKW = 7 + F_SETOWN = 11 + F_SETTAG = 12 + F_UNLCK = 3 + F_WRLCK = 2 + FSTYPE_ZFS = 0xe9 //"Z" + FSTYPE_HFS = 0xc8 //"H" + FSTYPE_NFS = 0xd5 //"N" + FSTYPE_TFS = 0xe3 //"T" + FSTYPE_AUTOMOUNT = 0xc1 //"A" + GRND_NONBLOCK = 1 + GRND_RANDOM = 2 + HUPCL = 0x0100 // Hang up on last close + IN_CLOEXEC = 0x00001000 + IN_NONBLOCK = 0x00000004 + IN_ACCESS = 0x00000001 + IN_MODIFY = 0x00000002 + IN_ATTRIB = 0x00000004 + IN_CLOSE_WRITE = 0x00000008 + IN_CLOSE_NOWRITE = 0x00000010 + IN_OPEN = 0x00000020 + IN_MOVED_FROM = 0x00000040 + IN_MOVED_TO = 0x00000080 + IN_CREATE = 0x00000100 + IN_DELETE = 0x00000200 + IN_DELETE_SELF = 0x00000400 + IN_MOVE_SELF = 0x00000800 + IN_UNMOUNT = 0x00002000 + IN_Q_OVERFLOW = 0x00004000 + IN_IGNORED = 0x00008000 + IN_CLOSE = (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) + IN_MOVE = (IN_MOVED_FROM | IN_MOVED_TO) + IN_ALL_EVENTS = (IN_ACCESS | IN_MODIFY | IN_ATTRIB | + IN_CLOSE | IN_OPEN | IN_MOVE | + IN_CREATE | IN_DELETE | IN_DELETE_SELF | + IN_MOVE_SELF) + IN_ONLYDIR = 0x01000000 + IN_DONT_FOLLOW = 0x02000000 + IN_EXCL_UNLINK = 0x04000000 + IN_MASK_CREATE = 0x10000000 + IN_MASK_ADD = 0x20000000 + IN_ISDIR = 0x40000000 + IN_ONESHOT = 0x80000000 IP6F_MORE_FRAG = 0x0001 IP6F_OFF_MASK = 0xfff8 IP6F_RESERVED_MASK = 0x0006 @@ -152,10 +210,18 @@ const ( IP_PKTINFO = 101 IP_RECVPKTINFO = 102 IP_TOS = 2 - IP_TTL = 3 + IP_TTL = 14 IP_UNBLOCK_SOURCE = 11 + ICMP6_FILTER = 1 + MCAST_INCLUDE = 0 + MCAST_EXCLUDE = 1 + MCAST_JOIN_GROUP = 40 + MCAST_LEAVE_GROUP = 41 + MCAST_JOIN_SOURCE_GROUP = 42 + MCAST_LEAVE_SOURCE_GROUP = 43 + MCAST_BLOCK_SOURCE = 44 + MCAST_UNBLOCK_SOURCE = 46 ICANON = 0x0010 - ICMP6_FILTER = 0x26 ICRNL = 0x0002 IEXTEN = 0x0020 IGNBRK = 0x0004 @@ -165,10 +231,10 @@ const ( ISTRIP = 0x0080 IXON = 0x0200 IXOFF = 0x0100 - LOCK_SH = 0x1 // Not exist on zOS - LOCK_EX = 0x2 // Not exist on zOS - LOCK_NB = 0x4 // Not exist on zOS - LOCK_UN = 0x8 // Not exist on zOS + LOCK_SH = 0x1 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_UN = 0x8 POLLIN = 0x0003 POLLOUT = 0x0004 POLLPRI = 0x0010 @@ -182,15 +248,29 @@ const ( MAP_PRIVATE = 0x1 // changes are private MAP_SHARED = 0x2 // changes are shared MAP_FIXED = 0x4 // place exactly - MCAST_JOIN_GROUP = 40 - MCAST_LEAVE_GROUP = 41 - MCAST_JOIN_SOURCE_GROUP = 42 - MCAST_LEAVE_SOURCE_GROUP = 43 - MCAST_BLOCK_SOURCE = 44 - MCAST_UNBLOCK_SOURCE = 45 + __MAP_MEGA = 0x8 + __MAP_64 = 0x10 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 MS_SYNC = 0x1 // msync - synchronous writes MS_ASYNC = 0x2 // asynchronous writes MS_INVALIDATE = 0x4 // invalidate mappings + MS_BIND = 0x00001000 + MS_MOVE = 0x00002000 + MS_NOSUID = 0x00000002 + MS_PRIVATE = 0x00040000 + MS_REC = 0x00004000 + MS_REMOUNT = 0x00008000 + MS_RDONLY = 0x00000001 + MS_UNBINDABLE = 0x00020000 + MNT_DETACH = 0x00000004 + ZOSDSFS_SUPER_MAGIC = 0x44534653 // zOS DSFS + NFS_SUPER_MAGIC = 0x6969 // NFS + NSFS_MAGIC = 0x6e736673 // PROCNS + PROC_SUPER_MAGIC = 0x9fa0 // proc FS + ZOSTFS_SUPER_MAGIC = 0x544653 // zOS TFS + ZOSUFS_SUPER_MAGIC = 0x554653 // zOS UFS + ZOSZFS_SUPER_MAGIC = 0x5A4653 // zOS ZFS MTM_RDONLY = 0x80000000 MTM_RDWR = 0x40000000 MTM_UMOUNT = 0x10000000 @@ -205,13 +285,20 @@ const ( MTM_REMOUNT = 0x00000100 MTM_NOSECURITY = 0x00000080 NFDBITS = 0x20 + ONLRET = 0x0020 // NL performs CR function O_ACCMODE = 0x03 O_APPEND = 0x08 O_ASYNCSIG = 0x0200 O_CREAT = 0x80 + O_DIRECT = 0x00002000 + O_NOFOLLOW = 0x00004000 + O_DIRECTORY = 0x00008000 + O_PATH = 0x00080000 + O_CLOEXEC = 0x00001000 O_EXCL = 0x40 O_GETFL = 0x0F O_LARGEFILE = 0x0400 + O_NDELAY = 0x4 O_NONBLOCK = 0x04 O_RDONLY = 0x02 O_RDWR = 0x03 @@ -248,6 +335,7 @@ const ( AF_IUCV = 17 AF_LAT = 14 AF_LINK = 18 + AF_LOCAL = AF_UNIX // AF_LOCAL is an alias for AF_UNIX AF_MAX = 30 AF_NBS = 7 AF_NDD = 23 @@ -285,15 +373,33 @@ const ( RLIMIT_AS = 5 RLIMIT_NOFILE = 6 RLIMIT_MEMLIMIT = 7 + RLIMIT_MEMLOCK = 0x8 RLIM_INFINITY = 2147483647 + SCHED_FIFO = 0x2 + SCM_CREDENTIALS = 0x2 SCM_RIGHTS = 0x01 SF_CLOSE = 0x00000002 SF_REUSE = 0x00000001 + SHM_RND = 0x2 + SHM_RDONLY = 0x1 + SHMLBA = 0x1000 + IPC_STAT = 0x3 + IPC_SET = 0x2 + IPC_RMID = 0x1 + IPC_PRIVATE = 0x0 + IPC_CREAT = 0x1000000 + __IPC_MEGA = 0x4000000 + __IPC_SHAREAS = 0x20000000 + __IPC_BELOWBAR = 0x10000000 + IPC_EXCL = 0x2000000 + __IPC_GIGA = 0x8000000 SHUT_RD = 0 SHUT_RDWR = 2 SHUT_WR = 1 + SOCK_CLOEXEC = 0x00001000 SOCK_CONN_DGRAM = 6 SOCK_DGRAM = 2 + SOCK_NONBLOCK = 0x800 SOCK_RAW = 3 SOCK_RDM = 4 SOCK_SEQPACKET = 5 @@ -378,8 +484,6 @@ const ( S_IFMST = 0x00FF0000 TCP_KEEPALIVE = 0x8 TCP_NODELAY = 0x1 - TCP_INFO = 0xb - TCP_USER_TIMEOUT = 0x1 TIOCGWINSZ = 0x4008a368 TIOCSWINSZ = 0x8008a367 TIOCSBRK = 0x2000a77b @@ -427,7 +531,10 @@ const ( VSUSP = 9 VTIME = 10 WCONTINUED = 0x4 + WEXITED = 0x8 WNOHANG = 0x1 + WNOWAIT = 0x20 + WSTOPPED = 0x10 WUNTRACED = 0x2 _BPX_SWAP = 1 _BPX_NONSWAP = 2 @@ -452,8 +559,28 @@ const ( MADV_FREE = 15 // for Linux compatibility -- no zos semantics MADV_WIPEONFORK = 16 // for Linux compatibility -- no zos semantics MADV_KEEPONFORK = 17 // for Linux compatibility -- no zos semantics - AT_SYMLINK_NOFOLLOW = 1 // for Unix compatibility -- no zos semantics - AT_FDCWD = 2 // for Unix compatibility -- no zos semantics + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + P_PID = 0 + P_PGID = 1 + P_ALL = 2 + PR_SET_NAME = 15 + PR_GET_NAME = 16 + PR_SET_NO_NEW_PRIVS = 38 + PR_GET_NO_NEW_PRIVS = 39 + PR_SET_DUMPABLE = 4 + PR_GET_DUMPABLE = 3 + PR_SET_PDEATHSIG = 1 + PR_GET_PDEATHSIG = 2 + PR_SET_CHILD_SUBREAPER = 36 + PR_GET_CHILD_SUBREAPER = 37 + AT_FDCWD = -100 + AT_EACCESS = 0x200 + AT_EMPTY_PATH = 0x1000 + AT_REMOVEDIR = 0x200 + RENAME_NOREPLACE = 1 << 0 ) const ( @@ -476,6 +603,7 @@ const ( EMLINK = Errno(125) ENAMETOOLONG = Errno(126) ENFILE = Errno(127) + ENOATTR = Errno(265) ENODEV = Errno(128) ENOENT = Errno(129) ENOEXEC = Errno(130) @@ -700,7 +828,7 @@ var errorList = [...]struct { {145, "EDC5145I", "The parameter list is too long, or the message to receive was too large for the buffer."}, {146, "EDC5146I", "Too many levels of symbolic links."}, {147, "EDC5147I", "Illegal byte sequence."}, - {148, "", ""}, + {148, "EDC5148I", "The named attribute or data not available."}, {149, "EDC5149I", "Value Overflow Error."}, {150, "EDC5150I", "UNIX System Services is not active."}, {151, "EDC5151I", "Dynamic allocation error."}, @@ -743,6 +871,7 @@ var errorList = [...]struct { {259, "EDC5259I", "A CUN_RS_NO_CONVERSION error was issued by Unicode Services."}, {260, "EDC5260I", "A CUN_RS_TABLE_NOT_ALIGNED error was issued by Unicode Services."}, {262, "EDC5262I", "An iconv() function encountered an unexpected error while using Unicode Services."}, + {265, "EDC5265I", "The named attribute not available."}, {1000, "EDC8000I", "A bad socket-call constant was found in the IUCV header."}, {1001, "EDC8001I", "An error was found in the IUCV header."}, {1002, "EDC8002I", "A socket descriptor is out of range."}, diff --git a/vendor/golang.org/x/sys/unix/zsymaddr_zos_s390x.s b/vendor/golang.org/x/sys/unix/zsymaddr_zos_s390x.s new file mode 100644 index 0000000..b77ff5d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsymaddr_zos_s390x.s @@ -0,0 +1,364 @@ +// go run mksyscall_zos_s390x.go -o_sysnum zsysnum_zos_s390x.go -o_syscall zsyscall_zos_s390x.go -i_syscall syscall_zos_s390x.go -o_asm zsymaddr_zos_s390x.s +// Code generated by the command above; see README.md. DO NOT EDIT. + +//go:build zos && s390x +#include "textflag.h" + +// provide the address of function variable to be fixed up. + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_FlistxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Flistxattr(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_FremovexattrAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Fremovexattr(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_FgetxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Fgetxattr(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_FsetxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Fsetxattr(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_accept4Addr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·accept4(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_RemovexattrAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Removexattr(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_Dup3Addr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Dup3(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_DirfdAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Dirfd(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_EpollCreateAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·EpollCreate(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_EpollCreate1Addr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·EpollCreate1(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_EpollCtlAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·EpollCtl(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_EpollPwaitAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·EpollPwait(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_EpollWaitAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·EpollWait(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_EventfdAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Eventfd(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_FaccessatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Faccessat(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_FchmodatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Fchmodat(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_FchownatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Fchownat(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_FdatasyncAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Fdatasync(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_fstatatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·fstatat(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_LgetxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Lgetxattr(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_LsetxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Lsetxattr(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_FstatfsAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Fstatfs(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_FutimesAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Futimes(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_FutimesatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Futimesat(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_GetrandomAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Getrandom(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_InotifyInitAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·InotifyInit(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_InotifyInit1Addr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·InotifyInit1(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_InotifyAddWatchAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·InotifyAddWatch(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_InotifyRmWatchAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·InotifyRmWatch(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_ListxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Listxattr(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_LlistxattrAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Llistxattr(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_LremovexattrAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Lremovexattr(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_LutimesAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Lutimes(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_StatfsAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Statfs(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_SyncfsAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Syncfs(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_UnshareAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Unshare(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_LinkatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Linkat(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_MkdiratAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Mkdirat(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_MknodatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Mknodat(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_PivotRootAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·PivotRoot(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_PrctlAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Prctl(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_PrlimitAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Prlimit(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_RenameatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Renameat(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_Renameat2Addr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Renameat2(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_SethostnameAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Sethostname(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_SetnsAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Setns(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_SymlinkatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Symlinkat(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_UnlinkatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·Unlinkat(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_openatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·openat(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_openat2Addr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·openat2(SB), R8 + MOVD R8, ret+0(FP) + RET + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +TEXT ·get_utimensatAddr(SB), NOSPLIT|NOFRAME, $0-8 + MOVD $·utimensat(SB), R8 + MOVD R8, ret+0(FP) + RET diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go index ccb02f2..b622533 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -740,6 +740,54 @@ func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func renamexNp(from string, to string, flag uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_renamex_np_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_renamex_np_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_renamex_np renamex_np "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func renameatxNp(fromfd int, from string, tofd int, to string, flag uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_renameatx_np_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), uintptr(flag), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_renameatx_np_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_renameatx_np renameatx_np "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { var _p0 unsafe.Pointer if len(mib) > 0 { @@ -760,6 +808,39 @@ var libc_sysctl_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func pthread_chdir_np(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_pthread_chdir_np_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pthread_chdir_np_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pthread_chdir_np pthread_chdir_np "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pthread_fchdir_np(fd int) (err error) { + _, _, e1 := syscall_syscall(libc_pthread_fchdir_np_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pthread_fchdir_np_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pthread_fchdir_np pthread_fchdir_np "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { _, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s index 8b8bb28..cfe6646 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -223,11 +223,31 @@ TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) +TEXT libc_renamex_np_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_renamex_np(SB) +GLOBL ·libc_renamex_np_trampoline_addr(SB), RODATA, $8 +DATA ·libc_renamex_np_trampoline_addr(SB)/8, $libc_renamex_np_trampoline<>(SB) + +TEXT libc_renameatx_np_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_renameatx_np(SB) +GLOBL ·libc_renameatx_np_trampoline_addr(SB), RODATA, $8 +DATA ·libc_renameatx_np_trampoline_addr(SB)/8, $libc_renameatx_np_trampoline<>(SB) + TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) +TEXT libc_pthread_chdir_np_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pthread_chdir_np(SB) +GLOBL ·libc_pthread_chdir_np_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pthread_chdir_np_trampoline_addr(SB)/8, $libc_pthread_chdir_np_trampoline<>(SB) + +TEXT libc_pthread_fchdir_np_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pthread_fchdir_np(SB) +GLOBL ·libc_pthread_fchdir_np_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pthread_fchdir_np_trampoline_addr(SB)/8, $libc_pthread_fchdir_np_trampoline<>(SB) + TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendfile(SB) GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go index 1b40b99..13f624f 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -740,6 +740,54 @@ func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func renamexNp(from string, to string, flag uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_renamex_np_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_renamex_np_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_renamex_np renamex_np "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func renameatxNp(fromfd int, from string, tofd int, to string, flag uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_renameatx_np_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), uintptr(flag), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_renameatx_np_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_renameatx_np renameatx_np "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { var _p0 unsafe.Pointer if len(mib) > 0 { @@ -760,6 +808,39 @@ var libc_sysctl_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func pthread_chdir_np(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_pthread_chdir_np_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pthread_chdir_np_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pthread_chdir_np pthread_chdir_np "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pthread_fchdir_np(fd int) (err error) { + _, _, e1 := syscall_syscall(libc_pthread_fchdir_np_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pthread_fchdir_np_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pthread_fchdir_np pthread_fchdir_np "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { _, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s index 08362c1..fe222b7 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s @@ -223,11 +223,31 @@ TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) +TEXT libc_renamex_np_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_renamex_np(SB) +GLOBL ·libc_renamex_np_trampoline_addr(SB), RODATA, $8 +DATA ·libc_renamex_np_trampoline_addr(SB)/8, $libc_renamex_np_trampoline<>(SB) + +TEXT libc_renameatx_np_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_renameatx_np(SB) +GLOBL ·libc_renameatx_np_trampoline_addr(SB), RODATA, $8 +DATA ·libc_renameatx_np_trampoline_addr(SB)/8, $libc_renameatx_np_trampoline<>(SB) + TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) +TEXT libc_pthread_chdir_np_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pthread_chdir_np(SB) +GLOBL ·libc_pthread_chdir_np_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pthread_chdir_np_trampoline_addr(SB)/8, $libc_pthread_chdir_np_trampoline<>(SB) + +TEXT libc_pthread_fchdir_np_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pthread_fchdir_np(SB) +GLOBL ·libc_pthread_fchdir_np_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pthread_fchdir_np_trampoline_addr(SB)/8, $libc_pthread_fchdir_np_trampoline<>(SB) + TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendfile(SB) GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/vendor/golang.org/x/sys/unix/zsyscall_linux.go index 87d8612..1bc1a5a 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux.go @@ -2229,3 +2229,19 @@ func Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mseal(b []byte, flags uint) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSEAL, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go index 9dc4241..1851df1 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s index 41b5617..0b43c69 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s @@ -463,6 +463,11 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $4 DATA ·libc_mknodat_trampoline_addr(SB)/4, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $4 +DATA ·libc_mount_trampoline_addr(SB)/4, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $4 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go index 0d3a075..e1ec0db 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s index 4019a65..880c6d6 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s @@ -463,6 +463,11 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go index c39f777..7c8452a 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s index ac4af24..b8ef95b 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s @@ -463,6 +463,11 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $4 DATA ·libc_mknodat_trampoline_addr(SB)/4, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $4 +DATA ·libc_mount_trampoline_addr(SB)/4, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $4 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go index 57571d0..2ffdf86 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s index f77d532..2af3b5c 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s @@ -463,6 +463,11 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go index e62963e..1da08d5 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s index fae140b..b7a2513 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s @@ -463,6 +463,11 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go index 0083135..6e85b0a 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s index 9d1e0ff..f15dadf 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s @@ -555,6 +555,12 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + CALL libc_mount(SB) + RET +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_nanosleep(SB) RET diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go index 79029ed..28b487d 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s index da115f9..1e7f321 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s @@ -463,6 +463,11 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go index 94f0112..7ccf66b 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go @@ -1,4 +1,4 @@ -// go run mksyscall.go -tags zos,s390x syscall_zos_s390x.go +// go run mksyscall_zos_s390x.go -o_sysnum zsysnum_zos_s390x.go -o_syscall zsyscall_zos_s390x.go -i_syscall syscall_zos_s390x.go -o_asm zsymaddr_zos_s390x.s // Code generated by the command above; see README.md. DO NOT EDIT. //go:build zos && s390x @@ -6,17 +6,100 @@ package unix import ( + "runtime" + "syscall" "unsafe" ) +var _ syscall.Errno + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func fcntl(fd int, cmd int, arg int) (val int, err error) { - r0, _, e1 := syscall_syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCNTL<<4, uintptr(fd), uintptr(cmd), uintptr(arg)) + runtime.ExitSyscall() val = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FLISTXATTR_A<<4, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + runtime.ExitSyscall() + sz = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_FlistxattrAddr() *(func(fd int, dest []byte) (sz int, err error)) + +var Flistxattr = enter_Flistxattr + +func enter_Flistxattr(fd int, dest []byte) (sz int, err error) { + funcref := get_FlistxattrAddr() + if funcptrtest(GetZosLibVec()+SYS___FLISTXATTR_A<<4, "") == 0 { + *funcref = impl_Flistxattr + } else { + *funcref = error_Flistxattr + } + return (*funcref)(fd, dest) +} + +func error_Flistxattr(fd int, dest []byte) (sz int, err error) { + sz = -1 + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FREMOVEXATTR_A<<4, uintptr(fd), uintptr(unsafe.Pointer(_p0))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_FremovexattrAddr() *(func(fd int, attr string) (err error)) + +var Fremovexattr = enter_Fremovexattr + +func enter_Fremovexattr(fd int, attr string) (err error) { + funcref := get_FremovexattrAddr() + if funcptrtest(GetZosLibVec()+SYS___FREMOVEXATTR_A<<4, "") == 0 { + *funcref = impl_Fremovexattr + } else { + *funcref = error_Fremovexattr } + return (*funcref)(fd, attr) +} + +func error_Fremovexattr(fd int, attr string) (err error) { + err = ENOSYS return } @@ -29,10 +112,12 @@ func read(fd int, p []byte) (n int, err error) { } else { _p0 = unsafe.Pointer(&_zero) } - r0, _, e1 := syscall_syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_READ<<4, uintptr(fd), uintptr(_p0), uintptr(len(p))) + runtime.ExitSyscall() n = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -46,31 +131,159 @@ func write(fd int, p []byte) (n int, err error) { } else { _p0 = unsafe.Pointer(&_zero) } - r0, _, e1 := syscall_syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_WRITE<<4, uintptr(fd), uintptr(_p0), uintptr(len(p))) + runtime.ExitSyscall() n = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FGETXATTR_A<<4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + runtime.ExitSyscall() + sz = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_FgetxattrAddr() *(func(fd int, attr string, dest []byte) (sz int, err error)) + +var Fgetxattr = enter_Fgetxattr + +func enter_Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + funcref := get_FgetxattrAddr() + if funcptrtest(GetZosLibVec()+SYS___FGETXATTR_A<<4, "") == 0 { + *funcref = impl_Fgetxattr + } else { + *funcref = error_Fgetxattr + } + return (*funcref)(fd, attr, dest) +} + +func error_Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + sz = -1 + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Fsetxattr(fd int, attr string, data []byte, flag int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(data) > 0 { + _p1 = unsafe.Pointer(&data[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FSETXATTR_A<<4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(data)), uintptr(flag)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_FsetxattrAddr() *(func(fd int, attr string, data []byte, flag int) (err error)) + +var Fsetxattr = enter_Fsetxattr + +func enter_Fsetxattr(fd int, attr string, data []byte, flag int) (err error) { + funcref := get_FsetxattrAddr() + if funcptrtest(GetZosLibVec()+SYS___FSETXATTR_A<<4, "") == 0 { + *funcref = impl_Fsetxattr + } else { + *funcref = error_Fsetxattr } + return (*funcref)(fd, attr, data, flag) +} + +func error_Fsetxattr(fd int, attr string, data []byte, flag int) (err error) { + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { - r0, _, e1 := syscall_syscall(SYS___ACCEPT_A, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___ACCEPT_A<<4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + runtime.ExitSyscall() + fd = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___ACCEPT4_A<<4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)) + runtime.ExitSyscall() fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_accept4Addr() *(func(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)) + +var accept4 = enter_accept4 + +func enter_accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + funcref := get_accept4Addr() + if funcptrtest(GetZosLibVec()+SYS___ACCEPT4_A<<4, "") == 0 { + *funcref = impl_accept4 + } else { + *funcref = error_accept4 } + return (*funcref)(s, rsa, addrlen, flags) +} + +func error_accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + fd = -1 + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := syscall_syscall(SYS___BIND_A, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___BIND_A<<4, uintptr(s), uintptr(addr), uintptr(addrlen)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -78,9 +291,11 @@ func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { - _, _, e1 := syscall_syscall(SYS___CONNECT_A, uintptr(s), uintptr(addr), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CONNECT_A<<4, uintptr(s), uintptr(addr), uintptr(addrlen)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -88,10 +303,10 @@ func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getgroups(n int, list *_Gid_t) (nn int, err error) { - r0, _, e1 := syscall_rawsyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETGROUPS<<4, uintptr(n), uintptr(unsafe.Pointer(list))) nn = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -99,9 +314,9 @@ func getgroups(n int, list *_Gid_t) (nn int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setgroups(n int, list *_Gid_t) (err error) { - _, _, e1 := syscall_rawsyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) - if e1 != 0 { - err = errnoErr(e1) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETGROUPS<<4, uintptr(n), uintptr(unsafe.Pointer(list))) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -109,9 +324,11 @@ func setgroups(n int, list *_Gid_t) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { - _, _, e1 := syscall_syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETSOCKOPT<<4, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -119,9 +336,11 @@ func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { - _, _, e1 := syscall_syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETSOCKOPT<<4, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -129,10 +348,10 @@ func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func socket(domain int, typ int, proto int) (fd int, err error) { - r0, _, e1 := syscall_rawsyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SOCKET<<4, uintptr(domain), uintptr(typ), uintptr(proto)) fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -140,9 +359,9 @@ func socket(domain int, typ int, proto int) (fd int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { - _, _, e1 := syscall_rawsyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SOCKETPAIR<<4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd))) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -150,9 +369,9 @@ func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := syscall_rawsyscall(SYS___GETPEERNAME_A, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___GETPEERNAME_A<<4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -160,10 +379,52 @@ func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { - _, _, e1 := syscall_rawsyscall(SYS___GETSOCKNAME_A, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) - if e1 != 0 { - err = errnoErr(e1) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___GETSOCKNAME_A<<4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___REMOVEXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_RemovexattrAddr() *(func(path string, attr string) (err error)) + +var Removexattr = enter_Removexattr + +func enter_Removexattr(path string, attr string) (err error) { + funcref := get_RemovexattrAddr() + if funcptrtest(GetZosLibVec()+SYS___REMOVEXATTR_A<<4, "") == 0 { + *funcref = impl_Removexattr + } else { + *funcref = error_Removexattr } + return (*funcref)(path, attr) +} + +func error_Removexattr(path string, attr string) (err error) { + err = ENOSYS return } @@ -176,10 +437,12 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl } else { _p0 = unsafe.Pointer(&_zero) } - r0, _, e1 := syscall_syscall6(SYS___RECVFROM_A, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___RECVFROM_A<<4, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + runtime.ExitSyscall() n = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -193,9 +456,11 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) ( } else { _p0 = unsafe.Pointer(&_zero) } - _, _, e1 := syscall_syscall6(SYS___SENDTO_A, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SENDTO_A<<4, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -203,10 +468,12 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) ( // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := syscall_syscall(SYS___RECVMSG_A, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___RECVMSG_A<<4, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + runtime.ExitSyscall() n = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -214,10 +481,12 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { - r0, _, e1 := syscall_syscall(SYS___SENDMSG_A, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SENDMSG_A<<4, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + runtime.ExitSyscall() n = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -225,10 +494,12 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { - r0, _, e1 := syscall_syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_MMAP<<4, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + runtime.ExitSyscall() ret = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -236,9 +507,11 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) ( // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func munmap(addr uintptr, length uintptr) (err error) { - _, _, e1 := syscall_syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_MUNMAP<<4, uintptr(addr), uintptr(length)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -246,9 +519,11 @@ func munmap(addr uintptr, length uintptr) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctl(fd int, req int, arg uintptr) (err error) { - _, _, e1 := syscall_syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_IOCTL<<4, uintptr(fd), uintptr(req), uintptr(arg)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -256,9 +531,62 @@ func ioctl(fd int, req int, arg uintptr) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) { - _, _, e1 := syscall_syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_IOCTL<<4, uintptr(fd), uintptr(req), uintptr(arg)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SHMAT<<4, uintptr(id), uintptr(addr), uintptr(flag)) + runtime.ExitSyscall() + ret = uintptr(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SHMCTL64<<4, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf))) + runtime.ExitSyscall() + result = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func shmdt(addr uintptr) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SHMDT<<4, uintptr(addr)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func shmget(key int, size int, flag int) (id int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SHMGET<<4, uintptr(key), uintptr(size), uintptr(flag)) + runtime.ExitSyscall() + id = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -271,9 +599,11 @@ func Access(path string, mode uint32) (err error) { if err != nil { return } - _, _, e1 := syscall_syscall(SYS___ACCESS_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___ACCESS_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -286,9 +616,11 @@ func Chdir(path string) (err error) { if err != nil { return } - _, _, e1 := syscall_syscall(SYS___CHDIR_A, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CHDIR_A<<4, uintptr(unsafe.Pointer(_p0))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -301,9 +633,11 @@ func Chown(path string, uid int, gid int) (err error) { if err != nil { return } - _, _, e1 := syscall_syscall(SYS___CHOWN_A, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CHOWN_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -316,9 +650,11 @@ func Chmod(path string, mode uint32) (err error) { if err != nil { return } - _, _, e1 := syscall_syscall(SYS___CHMOD_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CHMOD_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -331,10 +667,12 @@ func Creat(path string, mode uint32) (fd int, err error) { if err != nil { return } - r0, _, e1 := syscall_syscall(SYS___CREAT_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CREAT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + runtime.ExitSyscall() fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -342,10 +680,12 @@ func Creat(path string, mode uint32) (fd int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup(oldfd int) (fd int, err error) { - r0, _, e1 := syscall_syscall(SYS_DUP, uintptr(oldfd), 0, 0) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_DUP<<4, uintptr(oldfd)) + runtime.ExitSyscall() fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -353,617 +693,2216 @@ func Dup(oldfd int) (fd int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Dup2(oldfd int, newfd int) (err error) { - _, _, e1 := syscall_syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_DUP2<<4, uintptr(oldfd), uintptr(newfd)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Errno2() (er2 int) { - uer2, _, _ := syscall_syscall(SYS___ERRNO2, 0, 0, 0) - er2 = int(uer2) +func impl_Dup3(oldfd int, newfd int, flags int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_DUP3<<4, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_Dup3Addr() *(func(oldfd int, newfd int, flags int) (err error)) -func Err2ad() (eadd *int) { - ueadd, _, _ := syscall_syscall(SYS___ERR2AD, 0, 0, 0) - eadd = (*int)(unsafe.Pointer(ueadd)) - return -} +var Dup3 = enter_Dup3 -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func enter_Dup3(oldfd int, newfd int, flags int) (err error) { + funcref := get_Dup3Addr() + if funcptrtest(GetZosLibVec()+SYS_DUP3<<4, "") == 0 { + *funcref = impl_Dup3 + } else { + *funcref = error_Dup3 + } + return (*funcref)(oldfd, newfd, flags) +} -func Exit(code int) { - syscall_syscall(SYS_EXIT, uintptr(code), 0, 0) +func error_Dup3(oldfd int, newfd int, flags int) (err error) { + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Fchdir(fd int) (err error) { - _, _, e1 := syscall_syscall(SYS_FCHDIR, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) +func impl_Dirfd(dirp uintptr) (fd int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_DIRFD<<4, uintptr(dirp)) + runtime.ExitSyscall() + fd = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_DirfdAddr() *(func(dirp uintptr) (fd int, err error)) -func Fchmod(fd int, mode uint32) (err error) { - _, _, e1 := syscall_syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) +var Dirfd = enter_Dirfd + +func enter_Dirfd(dirp uintptr) (fd int, err error) { + funcref := get_DirfdAddr() + if funcptrtest(GetZosLibVec()+SYS_DIRFD<<4, "") == 0 { + *funcref = impl_Dirfd + } else { + *funcref = error_Dirfd } + return (*funcref)(dirp) +} + +func error_Dirfd(dirp uintptr) (fd int, err error) { + fd = -1 + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Fchown(fd int, uid int, gid int) (err error) { - _, _, e1 := syscall_syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) +func impl_EpollCreate(size int) (fd int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_EPOLL_CREATE<<4, uintptr(size)) + runtime.ExitSyscall() + fd = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_EpollCreateAddr() *(func(size int) (fd int, err error)) -func FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) { - r0, _, e1 := syscall_syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) - retval = int(r0) - if e1 != 0 { - err = errnoErr(e1) +var EpollCreate = enter_EpollCreate + +func enter_EpollCreate(size int) (fd int, err error) { + funcref := get_EpollCreateAddr() + if funcptrtest(GetZosLibVec()+SYS_EPOLL_CREATE<<4, "") == 0 { + *funcref = impl_EpollCreate + } else { + *funcref = error_EpollCreate } + return (*funcref)(size) +} + +func error_EpollCreate(size int) (fd int, err error) { + fd = -1 + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func fstat(fd int, stat *Stat_LE_t) (err error) { - _, _, e1 := syscall_syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) +func impl_EpollCreate1(flags int) (fd int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_EPOLL_CREATE1<<4, uintptr(flags)) + runtime.ExitSyscall() + fd = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_EpollCreate1Addr() *(func(flags int) (fd int, err error)) -func Fstatvfs(fd int, stat *Statvfs_t) (err error) { - _, _, e1 := syscall_syscall(SYS_FSTATVFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) +var EpollCreate1 = enter_EpollCreate1 + +func enter_EpollCreate1(flags int) (fd int, err error) { + funcref := get_EpollCreate1Addr() + if funcptrtest(GetZosLibVec()+SYS_EPOLL_CREATE1<<4, "") == 0 { + *funcref = impl_EpollCreate1 + } else { + *funcref = error_EpollCreate1 } + return (*funcref)(flags) +} + +func error_EpollCreate1(flags int) (fd int, err error) { + fd = -1 + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Fsync(fd int) (err error) { - _, _, e1 := syscall_syscall(SYS_FSYNC, uintptr(fd), 0, 0) - if e1 != 0 { - err = errnoErr(e1) +func impl_EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_EPOLL_CTL<<4, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_EpollCtlAddr() *(func(epfd int, op int, fd int, event *EpollEvent) (err error)) -func Ftruncate(fd int, length int64) (err error) { - _, _, e1 := syscall_syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) +var EpollCtl = enter_EpollCtl + +func enter_EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + funcref := get_EpollCtlAddr() + if funcptrtest(GetZosLibVec()+SYS_EPOLL_CTL<<4, "") == 0 { + *funcref = impl_EpollCtl + } else { + *funcref = error_EpollCtl } - return + return (*funcref)(epfd, op, fd, event) } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getpagesize() (pgsize int) { - r0, _, _ := syscall_syscall(SYS_GETPAGESIZE, 0, 0, 0) - pgsize = int(r0) +func error_EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mprotect(b []byte, prot int) (err error) { +func impl_EpollPwait(epfd int, events []EpollEvent, msec int, sigmask *int) (n int, err error) { var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) } else { _p0 = unsafe.Pointer(&_zero) } - _, _, e1 := syscall_syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_EPOLL_PWAIT<<4, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), uintptr(unsafe.Pointer(sigmask))) + runtime.ExitSyscall() + n = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_EpollPwaitAddr() *(func(epfd int, events []EpollEvent, msec int, sigmask *int) (n int, err error)) -func Msync(b []byte, flags int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) +var EpollPwait = enter_EpollPwait + +func enter_EpollPwait(epfd int, events []EpollEvent, msec int, sigmask *int) (n int, err error) { + funcref := get_EpollPwaitAddr() + if funcptrtest(GetZosLibVec()+SYS_EPOLL_PWAIT<<4, "") == 0 { + *funcref = impl_EpollPwait } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := syscall_syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) + *funcref = error_EpollPwait } + return (*funcref)(epfd, events, msec, sigmask) +} + +func error_EpollPwait(epfd int, events []EpollEvent, msec int, sigmask *int) (n int, err error) { + n = -1 + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Poll(fds []PollFd, timeout int) (n int, err error) { +func impl_EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { var _p0 unsafe.Pointer - if len(fds) > 0 { - _p0 = unsafe.Pointer(&fds[0]) + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) } else { _p0 = unsafe.Pointer(&_zero) } - r0, _, e1 := syscall_syscall(SYS_POLL, uintptr(_p0), uintptr(len(fds)), uintptr(timeout)) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_EPOLL_WAIT<<4, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec)) + runtime.ExitSyscall() n = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_EpollWaitAddr() *(func(epfd int, events []EpollEvent, msec int) (n int, err error)) -func Times(tms *Tms) (ticks uintptr, err error) { - r0, _, e1 := syscall_syscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) - ticks = uintptr(r0) - if e1 != 0 { - err = errnoErr(e1) +var EpollWait = enter_EpollWait + +func enter_EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + funcref := get_EpollWaitAddr() + if funcptrtest(GetZosLibVec()+SYS_EPOLL_WAIT<<4, "") == 0 { + *funcref = impl_EpollWait + } else { + *funcref = error_EpollWait } + return (*funcref)(epfd, events, msec) +} + +func error_EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + n = -1 + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func W_Getmntent(buff *byte, size int) (lastsys int, err error) { - r0, _, e1 := syscall_syscall(SYS_W_GETMNTENT, uintptr(unsafe.Pointer(buff)), uintptr(size), 0) - lastsys = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } +func Errno2() (er2 int) { + runtime.EnterSyscall() + r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS___ERRNO2<<4) + runtime.ExitSyscall() + er2 = int(r0) return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func W_Getmntent_A(buff *byte, size int) (lastsys int, err error) { - r0, _, e1 := syscall_syscall(SYS___W_GETMNTENT_A, uintptr(unsafe.Pointer(buff)), uintptr(size), 0) - lastsys = int(r0) - if e1 != 0 { - err = errnoErr(e1) +func impl_Eventfd(initval uint, flags int) (fd int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_EVENTFD<<4, uintptr(initval), uintptr(flags)) + runtime.ExitSyscall() + fd = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } +//go:nosplit +func get_EventfdAddr() *(func(initval uint, flags int) (fd int, err error)) + +var Eventfd = enter_Eventfd + +func enter_Eventfd(initval uint, flags int) (fd int, err error) { + funcref := get_EventfdAddr() + if funcptrtest(GetZosLibVec()+SYS_EVENTFD<<4, "") == 0 { + *funcref = impl_Eventfd + } else { + *funcref = error_Eventfd + } + return (*funcref)(initval, flags) +} + +func error_Eventfd(initval uint, flags int) (fd int, err error) { + fd = -1 + err = ENOSYS + return +} + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func mount_LE(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) { +func Exit(code int) { + runtime.EnterSyscall() + CallLeFuncWithErr(GetZosLibVec()+SYS_EXIT<<4, uintptr(code)) + runtime.ExitSyscall() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } - var _p1 *byte - _p1, err = BytePtrFromString(filesystem) - if err != nil { - return - } - var _p2 *byte - _p2, err = BytePtrFromString(fstype) - if err != nil { - return - } - var _p3 *byte - _p3, err = BytePtrFromString(parm) - if err != nil { - return - } - _, _, e1 := syscall_syscall6(SYS___MOUNT_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(mtm), uintptr(parmlen), uintptr(unsafe.Pointer(_p3))) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FACCESSAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_FaccessatAddr() *(func(dirfd int, path string, mode uint32, flags int) (err error)) -func unmount(filesystem string, mtm int) (err error) { +var Faccessat = enter_Faccessat + +func enter_Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + funcref := get_FaccessatAddr() + if funcptrtest(GetZosLibVec()+SYS___FACCESSAT_A<<4, "") == 0 { + *funcref = impl_Faccessat + } else { + *funcref = error_Faccessat + } + return (*funcref)(dirfd, path, mode, flags) +} + +func error_Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCHDIR<<4, uintptr(fd)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCHMOD<<4, uintptr(fd), uintptr(mode)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { var _p0 *byte - _p0, err = BytePtrFromString(filesystem) + _p0, err = BytePtrFromString(path) if err != nil { return } - _, _, e1 := syscall_syscall(SYS___UMOUNT_A, uintptr(unsafe.Pointer(_p0)), uintptr(mtm), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FCHMODAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_FchmodatAddr() *(func(dirfd int, path string, mode uint32, flags int) (err error)) + +var Fchmodat = enter_Fchmodat + +func enter_Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + funcref := get_FchmodatAddr() + if funcptrtest(GetZosLibVec()+SYS___FCHMODAT_A<<4, "") == 0 { + *funcref = impl_Fchmodat + } else { + *funcref = error_Fchmodat + } + return (*funcref)(dirfd, path, mode, flags) +} + +func error_Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCHOWN<<4, uintptr(fd), uintptr(uid), uintptr(gid)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Chroot(path string) (err error) { +func impl_Fchownat(fd int, path string, uid int, gid int, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } - _, _, e1 := syscall_syscall(SYS___CHROOT_A, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FCHOWNAT_A<<4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_FchownatAddr() *(func(fd int, path string, uid int, gid int, flags int) (err error)) + +var Fchownat = enter_Fchownat + +func enter_Fchownat(fd int, path string, uid int, gid int, flags int) (err error) { + funcref := get_FchownatAddr() + if funcptrtest(GetZosLibVec()+SYS___FCHOWNAT_A<<4, "") == 0 { + *funcref = impl_Fchownat + } else { + *funcref = error_Fchownat } + return (*funcref)(fd, path, uid, gid, flags) +} + +func error_Fchownat(fd int, path string, uid int, gid int, flags int) (err error) { + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Uname(buf *Utsname) (err error) { - _, _, e1 := syscall_rawsyscall(SYS___UNAME_A, uintptr(unsafe.Pointer(buf)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) +func FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCNTL<<4, uintptr(fd), uintptr(cmd), uintptr(arg)) + runtime.ExitSyscall() + retval = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Gethostname(buf []byte) (err error) { +func impl_Fdatasync(fd int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FDATASYNC<<4, uintptr(fd)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_FdatasyncAddr() *(func(fd int) (err error)) + +var Fdatasync = enter_Fdatasync + +func enter_Fdatasync(fd int) (err error) { + funcref := get_FdatasyncAddr() + if funcptrtest(GetZosLibVec()+SYS_FDATASYNC<<4, "") == 0 { + *funcref = impl_Fdatasync + } else { + *funcref = error_Fdatasync + } + return (*funcref)(fd) +} + +func error_Fdatasync(fd int) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *Stat_LE_t) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FSTAT<<4, uintptr(fd), uintptr(unsafe.Pointer(stat))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_fstatat(dirfd int, path string, stat *Stat_LE_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FSTATAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_fstatatAddr() *(func(dirfd int, path string, stat *Stat_LE_t, flags int) (err error)) + +var fstatat = enter_fstatat + +func enter_fstatat(dirfd int, path string, stat *Stat_LE_t, flags int) (err error) { + funcref := get_fstatatAddr() + if funcptrtest(GetZosLibVec()+SYS___FSTATAT_A<<4, "") == 0 { + *funcref = impl_fstatat + } else { + *funcref = error_fstatat + } + return (*funcref)(dirfd, path, stat, flags) +} + +func error_fstatat(dirfd int, path string, stat *Stat_LE_t, flags int) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LGETXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest))) + runtime.ExitSyscall() + sz = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_LgetxattrAddr() *(func(link string, attr string, dest []byte) (sz int, err error)) + +var Lgetxattr = enter_Lgetxattr + +func enter_Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { + funcref := get_LgetxattrAddr() + if funcptrtest(GetZosLibVec()+SYS___LGETXATTR_A<<4, "") == 0 { + *funcref = impl_Lgetxattr + } else { + *funcref = error_Lgetxattr + } + return (*funcref)(link, attr, dest) +} + +func error_Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { + sz = -1 + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LSETXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_LsetxattrAddr() *(func(path string, attr string, data []byte, flags int) (err error)) + +var Lsetxattr = enter_Lsetxattr + +func enter_Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + funcref := get_LsetxattrAddr() + if funcptrtest(GetZosLibVec()+SYS___LSETXATTR_A<<4, "") == 0 { + *funcref = impl_Lsetxattr + } else { + *funcref = error_Lsetxattr + } + return (*funcref)(path, attr, data, flags) +} + +func error_Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Fstatfs(fd int, buf *Statfs_t) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FSTATFS<<4, uintptr(fd), uintptr(unsafe.Pointer(buf))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_FstatfsAddr() *(func(fd int, buf *Statfs_t) (err error)) + +var Fstatfs = enter_Fstatfs + +func enter_Fstatfs(fd int, buf *Statfs_t) (err error) { + funcref := get_FstatfsAddr() + if funcptrtest(GetZosLibVec()+SYS_FSTATFS<<4, "") == 0 { + *funcref = impl_Fstatfs + } else { + *funcref = error_Fstatfs + } + return (*funcref)(fd, buf) +} + +func error_Fstatfs(fd int, buf *Statfs_t) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatvfs(fd int, stat *Statvfs_t) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FSTATVFS<<4, uintptr(fd), uintptr(unsafe.Pointer(stat))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FSYNC<<4, uintptr(fd)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Futimes(fd int, tv []Timeval) (err error) { var _p0 unsafe.Pointer - if len(buf) > 0 { - _p0 = unsafe.Pointer(&buf[0]) + if len(tv) > 0 { + _p0 = unsafe.Pointer(&tv[0]) } else { _p0 = unsafe.Pointer(&_zero) } - _, _, e1 := syscall_syscall(SYS___GETHOSTNAME_A, uintptr(_p0), uintptr(len(buf)), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FUTIMES<<4, uintptr(fd), uintptr(_p0), uintptr(len(tv))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_FutimesAddr() *(func(fd int, tv []Timeval) (err error)) -func Getegid() (egid int) { - r0, _, _ := syscall_rawsyscall(SYS_GETEGID, 0, 0, 0) - egid = int(r0) +var Futimes = enter_Futimes + +func enter_Futimes(fd int, tv []Timeval) (err error) { + funcref := get_FutimesAddr() + if funcptrtest(GetZosLibVec()+SYS_FUTIMES<<4, "") == 0 { + *funcref = impl_Futimes + } else { + *funcref = error_Futimes + } + return (*funcref)(fd, tv) +} + +func error_Futimes(fd int, tv []Timeval) (err error) { + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Geteuid() (uid int) { - r0, _, _ := syscall_rawsyscall(SYS_GETEUID, 0, 0, 0) - uid = int(r0) +func impl_Futimesat(dirfd int, path string, tv []Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(tv) > 0 { + _p1 = unsafe.Pointer(&tv[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___FUTIMESAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(tv))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_FutimesatAddr() *(func(dirfd int, path string, tv []Timeval) (err error)) + +var Futimesat = enter_Futimesat + +func enter_Futimesat(dirfd int, path string, tv []Timeval) (err error) { + funcref := get_FutimesatAddr() + if funcptrtest(GetZosLibVec()+SYS___FUTIMESAT_A<<4, "") == 0 { + *funcref = impl_Futimesat + } else { + *funcref = error_Futimesat + } + return (*funcref)(dirfd, path, tv) +} + +func error_Futimesat(dirfd int, path string, tv []Timeval) (err error) { + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Getgid() (gid int) { - r0, _, _ := syscall_rawsyscall(SYS_GETGID, 0, 0, 0) - gid = int(r0) +func Ftruncate(fd int, length int64) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FTRUNCATE<<4, uintptr(fd), uintptr(length)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Getpid() (pid int) { - r0, _, _ := syscall_rawsyscall(SYS_GETPID, 0, 0, 0) - pid = int(r0) +func impl_Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETRANDOM<<4, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + runtime.ExitSyscall() + n = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_GetrandomAddr() *(func(buf []byte, flags int) (n int, err error)) + +var Getrandom = enter_Getrandom + +func enter_Getrandom(buf []byte, flags int) (n int, err error) { + funcref := get_GetrandomAddr() + if funcptrtest(GetZosLibVec()+SYS_GETRANDOM<<4, "") == 0 { + *funcref = impl_Getrandom + } else { + *funcref = error_Getrandom + } + return (*funcref)(buf, flags) +} + +func error_Getrandom(buf []byte, flags int) (n int, err error) { + n = -1 + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Getpgid(pid int) (pgid int, err error) { - r0, _, e1 := syscall_rawsyscall(SYS_GETPGID, uintptr(pid), 0, 0) - pgid = int(r0) - if e1 != 0 { - err = errnoErr(e1) +func impl_InotifyInit() (fd int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec() + SYS_INOTIFY_INIT<<4) + runtime.ExitSyscall() + fd = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_InotifyInitAddr() *(func() (fd int, err error)) + +var InotifyInit = enter_InotifyInit + +func enter_InotifyInit() (fd int, err error) { + funcref := get_InotifyInitAddr() + if funcptrtest(GetZosLibVec()+SYS_INOTIFY_INIT<<4, "") == 0 { + *funcref = impl_InotifyInit + } else { + *funcref = error_InotifyInit } + return (*funcref)() +} + +func error_InotifyInit() (fd int, err error) { + fd = -1 + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Getppid() (pid int) { - r0, _, _ := syscall_rawsyscall(SYS_GETPPID, 0, 0, 0) - pid = int(r0) +func impl_InotifyInit1(flags int) (fd int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_INOTIFY_INIT1<<4, uintptr(flags)) + runtime.ExitSyscall() + fd = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_InotifyInit1Addr() *(func(flags int) (fd int, err error)) + +var InotifyInit1 = enter_InotifyInit1 + +func enter_InotifyInit1(flags int) (fd int, err error) { + funcref := get_InotifyInit1Addr() + if funcptrtest(GetZosLibVec()+SYS_INOTIFY_INIT1<<4, "") == 0 { + *funcref = impl_InotifyInit1 + } else { + *funcref = error_InotifyInit1 + } + return (*funcref)(flags) +} + +func error_InotifyInit1(flags int) (fd int, err error) { + fd = -1 + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___INOTIFY_ADD_WATCH_A<<4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + runtime.ExitSyscall() + watchdesc = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_InotifyAddWatchAddr() *(func(fd int, pathname string, mask uint32) (watchdesc int, err error)) + +var InotifyAddWatch = enter_InotifyAddWatch + +func enter_InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + funcref := get_InotifyAddWatchAddr() + if funcptrtest(GetZosLibVec()+SYS___INOTIFY_ADD_WATCH_A<<4, "") == 0 { + *funcref = impl_InotifyAddWatch + } else { + *funcref = error_InotifyAddWatch + } + return (*funcref)(fd, pathname, mask) +} + +func error_InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + watchdesc = -1 + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_INOTIFY_RM_WATCH<<4, uintptr(fd), uintptr(watchdesc)) + runtime.ExitSyscall() + success = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_InotifyRmWatchAddr() *(func(fd int, watchdesc uint32) (success int, err error)) + +var InotifyRmWatch = enter_InotifyRmWatch + +func enter_InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + funcref := get_InotifyRmWatchAddr() + if funcptrtest(GetZosLibVec()+SYS_INOTIFY_RM_WATCH<<4, "") == 0 { + *funcref = impl_InotifyRmWatch + } else { + *funcref = error_InotifyRmWatch + } + return (*funcref)(fd, watchdesc) +} + +func error_InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + success = -1 + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LISTXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + runtime.ExitSyscall() + sz = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_ListxattrAddr() *(func(path string, dest []byte) (sz int, err error)) + +var Listxattr = enter_Listxattr + +func enter_Listxattr(path string, dest []byte) (sz int, err error) { + funcref := get_ListxattrAddr() + if funcptrtest(GetZosLibVec()+SYS___LISTXATTR_A<<4, "") == 0 { + *funcref = impl_Listxattr + } else { + *funcref = error_Listxattr + } + return (*funcref)(path, dest) +} + +func error_Listxattr(path string, dest []byte) (sz int, err error) { + sz = -1 + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LLISTXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + runtime.ExitSyscall() + sz = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_LlistxattrAddr() *(func(path string, dest []byte) (sz int, err error)) + +var Llistxattr = enter_Llistxattr + +func enter_Llistxattr(path string, dest []byte) (sz int, err error) { + funcref := get_LlistxattrAddr() + if funcptrtest(GetZosLibVec()+SYS___LLISTXATTR_A<<4, "") == 0 { + *funcref = impl_Llistxattr + } else { + *funcref = error_Llistxattr + } + return (*funcref)(path, dest) +} + +func error_Llistxattr(path string, dest []byte) (sz int, err error) { + sz = -1 + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LREMOVEXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_LremovexattrAddr() *(func(path string, attr string) (err error)) + +var Lremovexattr = enter_Lremovexattr + +func enter_Lremovexattr(path string, attr string) (err error) { + funcref := get_LremovexattrAddr() + if funcptrtest(GetZosLibVec()+SYS___LREMOVEXATTR_A<<4, "") == 0 { + *funcref = impl_Lremovexattr + } else { + *funcref = error_Lremovexattr + } + return (*funcref)(path, attr) +} + +func error_Lremovexattr(path string, attr string) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Lutimes(path string, tv []Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(tv) > 0 { + _p1 = unsafe.Pointer(&tv[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LUTIMES_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(tv))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_LutimesAddr() *(func(path string, tv []Timeval) (err error)) + +var Lutimes = enter_Lutimes + +func enter_Lutimes(path string, tv []Timeval) (err error) { + funcref := get_LutimesAddr() + if funcptrtest(GetZosLibVec()+SYS___LUTIMES_A<<4, "") == 0 { + *funcref = impl_Lutimes + } else { + *funcref = error_Lutimes + } + return (*funcref)(path, tv) +} + +func error_Lutimes(path string, tv []Timeval) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_MPROTECT<<4, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_MSYNC<<4, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Console2(cmsg *ConsMsg2, modstr *byte, concmd *uint32) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CONSOLE2<<4, uintptr(unsafe.Pointer(cmsg)), uintptr(unsafe.Pointer(modstr)), uintptr(unsafe.Pointer(concmd))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Poll(fds []PollFd, timeout int) (n int, err error) { + var _p0 unsafe.Pointer + if len(fds) > 0 { + _p0 = unsafe.Pointer(&fds[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_POLL<<4, uintptr(_p0), uintptr(len(fds)), uintptr(timeout)) + runtime.ExitSyscall() + n = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readdir_r(dirp uintptr, entry *direntLE, result **direntLE) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___READDIR_R_A<<4, uintptr(dirp), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___STATFS_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_StatfsAddr() *(func(path string, buf *Statfs_t) (err error)) + +var Statfs = enter_Statfs + +func enter_Statfs(path string, buf *Statfs_t) (err error) { + funcref := get_StatfsAddr() + if funcptrtest(GetZosLibVec()+SYS___STATFS_A<<4, "") == 0 { + *funcref = impl_Statfs + } else { + *funcref = error_Statfs + } + return (*funcref)(path, buf) +} + +func error_Statfs(path string, buf *Statfs_t) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Syncfs(fd int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SYNCFS<<4, uintptr(fd)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_SyncfsAddr() *(func(fd int) (err error)) + +var Syncfs = enter_Syncfs + +func enter_Syncfs(fd int) (err error) { + funcref := get_SyncfsAddr() + if funcptrtest(GetZosLibVec()+SYS_SYNCFS<<4, "") == 0 { + *funcref = impl_Syncfs + } else { + *funcref = error_Syncfs + } + return (*funcref)(fd) +} + +func error_Syncfs(fd int) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_TIMES<<4, uintptr(unsafe.Pointer(tms))) + runtime.ExitSyscall() + ticks = uintptr(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func W_Getmntent(buff *byte, size int) (lastsys int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_W_GETMNTENT<<4, uintptr(unsafe.Pointer(buff)), uintptr(size)) + runtime.ExitSyscall() + lastsys = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func W_Getmntent_A(buff *byte, size int) (lastsys int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___W_GETMNTENT_A<<4, uintptr(unsafe.Pointer(buff)), uintptr(size)) + runtime.ExitSyscall() + lastsys = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount_LE(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(filesystem) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + var _p3 *byte + _p3, err = BytePtrFromString(parm) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MOUNT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(mtm), uintptr(parmlen), uintptr(unsafe.Pointer(_p3))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func unmount_LE(filesystem string, mtm int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(filesystem) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UMOUNT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mtm)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___CHROOT_A<<4, uintptr(unsafe.Pointer(_p0))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nmsgsfds int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (ret int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SELECT<<4, uintptr(nmsgsfds), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout))) + runtime.ExitSyscall() + ret = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_____OSNAME_A<<4, uintptr(unsafe.Pointer(buf))) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Unshare(flags int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_UNSHARE<<4, uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_UnshareAddr() *(func(flags int) (err error)) + +var Unshare = enter_Unshare + +func enter_Unshare(flags int) (err error) { + funcref := get_UnshareAddr() + if funcptrtest(GetZosLibVec()+SYS_UNSHARE<<4, "") == 0 { + *funcref = impl_Unshare + } else { + *funcref = error_Unshare + } + return (*funcref)(flags) +} + +func error_Unshare(flags int) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gethostname(buf []byte) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___GETHOSTNAME_A<<4, uintptr(_p0), uintptr(len(buf))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS_GETGID<<4) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS_GETPID<<4) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETPGID<<4, uintptr(pid)) + pgid = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (pid int) { + r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS_GETPPID<<4) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETPRIORITY<<4, uintptr(which), uintptr(who)) + runtime.ExitSyscall() + prio = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETRLIMIT<<4, uintptr(resource), uintptr(unsafe.Pointer(rlim))) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrusage(who int, rusage *rusage_zos) (err error) { + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETRUSAGE<<4, uintptr(who), uintptr(unsafe.Pointer(rusage))) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + runtime.EnterSyscall() + r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS_GETEGID<<4) + runtime.ExitSyscall() + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + runtime.EnterSyscall() + r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS_GETEUID<<4) + runtime.ExitSyscall() + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETSID<<4, uintptr(pid)) + sid = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS_GETUID<<4) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig Signal) (err error) { + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_KILL<<4, uintptr(pid), uintptr(sig)) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LCHOWN_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LINK_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Linkat(oldDirFd int, oldPath string, newDirFd int, newPath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldPath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newPath) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LINKAT_A<<4, uintptr(oldDirFd), uintptr(unsafe.Pointer(_p0)), uintptr(newDirFd), uintptr(unsafe.Pointer(_p1)), uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_LinkatAddr() *(func(oldDirFd int, oldPath string, newDirFd int, newPath string, flags int) (err error)) + +var Linkat = enter_Linkat + +func enter_Linkat(oldDirFd int, oldPath string, newDirFd int, newPath string, flags int) (err error) { + funcref := get_LinkatAddr() + if funcptrtest(GetZosLibVec()+SYS___LINKAT_A<<4, "") == 0 { + *funcref = impl_Linkat + } else { + *funcref = error_Linkat + } + return (*funcref)(oldDirFd, oldPath, newDirFd, newPath, flags) +} + +func error_Linkat(oldDirFd int, oldPath string, newDirFd int, newPath string, flags int) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_LISTEN<<4, uintptr(s), uintptr(n)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *Stat_LE_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___LSTAT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKDIR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKDIRAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_MkdiratAddr() *(func(dirfd int, path string, mode uint32) (err error)) + +var Mkdirat = enter_Mkdirat + +func enter_Mkdirat(dirfd int, path string, mode uint32) (err error) { + funcref := get_MkdiratAddr() + if funcptrtest(GetZosLibVec()+SYS___MKDIRAT_A<<4, "") == 0 { + *funcref = impl_Mkdirat + } else { + *funcref = error_Mkdirat + } + return (*funcref)(dirfd, path, mode) +} + +func error_Mkdirat(dirfd int, path string, mode uint32) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKFIFO_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKNOD_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKNODAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_MknodatAddr() *(func(dirfd int, path string, mode uint32, dev int) (err error)) + +var Mknodat = enter_Mknodat + +func enter_Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + funcref := get_MknodatAddr() + if funcptrtest(GetZosLibVec()+SYS___MKNODAT_A<<4, "") == 0 { + *funcref = impl_Mknodat + } else { + *funcref = error_Mknodat + } + return (*funcref)(dirfd, path, mode, dev) +} + +func error_Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_PivotRoot(newroot string, oldroot string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(oldroot) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___PIVOT_ROOT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_PivotRootAddr() *(func(newroot string, oldroot string) (err error)) + +var PivotRoot = enter_PivotRoot + +func enter_PivotRoot(newroot string, oldroot string) (err error) { + funcref := get_PivotRootAddr() + if funcptrtest(GetZosLibVec()+SYS___PIVOT_ROOT_A<<4, "") == 0 { + *funcref = impl_PivotRoot + } else { + *funcref = error_PivotRoot + } + return (*funcref)(newroot, oldroot) +} + +func error_PivotRoot(newroot string, oldroot string) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_PREAD<<4, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset)) + runtime.ExitSyscall() + n = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Getpriority(which int, who int) (prio int, err error) { - r0, _, e1 := syscall_syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) - prio = int(r0) - if e1 != 0 { - err = errnoErr(e1) +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_PWRITE<<4, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset)) + runtime.ExitSyscall() + n = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Getrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := syscall_rawsyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) +func impl_Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___PRCTL_A<<4, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_PrctlAddr() *(func(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)) -func getrusage(who int, rusage *rusage_zos) (err error) { - _, _, e1 := syscall_rawsyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) - if e1 != 0 { - err = errnoErr(e1) +var Prctl = enter_Prctl + +func enter_Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + funcref := get_PrctlAddr() + if funcptrtest(GetZosLibVec()+SYS___PRCTL_A<<4, "") == 0 { + *funcref = impl_Prctl + } else { + *funcref = error_Prctl } - return + return (*funcref)(option, arg2, arg3, arg4, arg5) } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Getsid(pid int) (sid int, err error) { - r0, _, e1 := syscall_rawsyscall(SYS_GETSID, uintptr(pid), 0, 0) - sid = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } +func error_Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Getuid() (uid int) { - r0, _, _ := syscall_rawsyscall(SYS_GETUID, 0, 0, 0) - uid = int(r0) +func impl_Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_PRLIMIT<<4, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old))) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_PrlimitAddr() *(func(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error)) -func Kill(pid int, sig Signal) (err error) { - _, _, e1 := syscall_rawsyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) - if e1 != 0 { - err = errnoErr(e1) +var Prlimit = enter_Prlimit + +func enter_Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + funcref := get_PrlimitAddr() + if funcptrtest(GetZosLibVec()+SYS_PRLIMIT<<4, "") == 0 { + *funcref = impl_Prlimit + } else { + *funcref = error_Prlimit } + return (*funcref)(pid, resource, newlimit, old) +} + +func error_Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Lchown(path string, uid int, gid int) (err error) { +func Rename(from string, to string) (err error) { var _p0 *byte - _p0, err = BytePtrFromString(path) + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) if err != nil { return } - _, _, e1 := syscall_syscall(SYS___LCHOWN_A, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___RENAME_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Link(path string, link string) (err error) { +func impl_Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { var _p0 *byte - _p0, err = BytePtrFromString(path) + _p0, err = BytePtrFromString(oldpath) if err != nil { return } var _p1 *byte - _p1, err = BytePtrFromString(link) + _p1, err = BytePtrFromString(newpath) if err != nil { return } - _, _, e1 := syscall_syscall(SYS___LINK_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___RENAMEAT_A<<4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_RenameatAddr() *(func(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)) -func Listen(s int, n int) (err error) { - _, _, e1 := syscall_syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) - if e1 != 0 { - err = errnoErr(e1) +var Renameat = enter_Renameat + +func enter_Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + funcref := get_RenameatAddr() + if funcptrtest(GetZosLibVec()+SYS___RENAMEAT_A<<4, "") == 0 { + *funcref = impl_Renameat + } else { + *funcref = error_Renameat } + return (*funcref)(olddirfd, oldpath, newdirfd, newpath) +} + +func error_Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func lstat(path string, stat *Stat_LE_t) (err error) { +func impl_Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { var _p0 *byte - _p0, err = BytePtrFromString(path) + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) if err != nil { return } - _, _, e1 := syscall_syscall(SYS___LSTAT_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___RENAMEAT2_A<<4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_Renameat2Addr() *(func(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error)) -func Mkdir(path string, mode uint32) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := syscall_syscall(SYS___MKDIR_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) +var Renameat2 = enter_Renameat2 + +func enter_Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + funcref := get_Renameat2Addr() + if funcptrtest(GetZosLibVec()+SYS___RENAMEAT2_A<<4, "") == 0 { + *funcref = impl_Renameat2 + } else { + *funcref = error_Renameat2 } + return (*funcref)(olddirfd, oldpath, newdirfd, newpath, flags) +} + +func error_Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mkfifo(path string, mode uint32) (err error) { +func Rmdir(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } - _, _, e1 := syscall_syscall(SYS___MKFIFO_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___RMDIR_A<<4, uintptr(unsafe.Pointer(_p0))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mknod(path string, mode uint32, dev int) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := syscall_syscall(SYS___MKNOD_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) - if e1 != 0 { - err = errnoErr(e1) +func Seek(fd int, offset int64, whence int) (off int64, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_LSEEK<<4, uintptr(fd), uintptr(offset), uintptr(whence)) + runtime.ExitSyscall() + off = int64(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Pread(fd int, p []byte, offset int64) (n int, err error) { - var _p0 unsafe.Pointer - if len(p) > 0 { - _p0 = unsafe.Pointer(&p[0]) - } else { - _p0 = unsafe.Pointer(&_zero) +func Setegid(egid int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETEGID<<4, uintptr(egid)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } - r0, _, e1 := syscall_syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETEUID<<4, uintptr(euid)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Pwrite(fd int, p []byte, offset int64) (n int, err error) { +func impl_Sethostname(p []byte) (err error) { var _p0 unsafe.Pointer if len(p) > 0 { _p0 = unsafe.Pointer(&p[0]) } else { _p0 = unsafe.Pointer(&_zero) } - r0, _, e1 := syscall_syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SETHOSTNAME_A<<4, uintptr(_p0), uintptr(len(p))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_SethostnameAddr() *(func(p []byte) (err error)) -func Readlink(path string, buf []byte) (n int, err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - var _p1 unsafe.Pointer - if len(buf) > 0 { - _p1 = unsafe.Pointer(&buf[0]) +var Sethostname = enter_Sethostname + +func enter_Sethostname(p []byte) (err error) { + funcref := get_SethostnameAddr() + if funcptrtest(GetZosLibVec()+SYS___SETHOSTNAME_A<<4, "") == 0 { + *funcref = impl_Sethostname } else { - _p1 = unsafe.Pointer(&_zero) + *funcref = error_Sethostname } - r0, _, e1 := syscall_syscall(SYS___READLINK_A, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) - n = int(r0) - if e1 != 0 { - err = errnoErr(e1) - } - return + return (*funcref)(p) } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Rename(from string, to string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(from) - if err != nil { - return - } - var _p1 *byte - _p1, err = BytePtrFromString(to) - if err != nil { - return - } - _, _, e1 := syscall_syscall(SYS___RENAME_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) - } +func error_Sethostname(p []byte) (err error) { + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Rmdir(path string) (err error) { - var _p0 *byte - _p0, err = BytePtrFromString(path) - if err != nil { - return - } - _, _, e1 := syscall_syscall(SYS___RMDIR_A, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) +func impl_Setns(fd int, nstype int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETNS<<4, uintptr(fd), uintptr(nstype)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +//go:nosplit +func get_SetnsAddr() *(func(fd int, nstype int) (err error)) -func Seek(fd int, offset int64, whence int) (off int64, err error) { - r0, _, e1 := syscall_syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) - off = int64(r0) - if e1 != 0 { - err = errnoErr(e1) +var Setns = enter_Setns + +func enter_Setns(fd int, nstype int) (err error) { + funcref := get_SetnsAddr() + if funcptrtest(GetZosLibVec()+SYS_SETNS<<4, "") == 0 { + *funcref = impl_Setns + } else { + *funcref = error_Setns } + return (*funcref)(fd, nstype) +} + +func error_Setns(fd int, nstype int) (err error) { + err = ENOSYS return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpriority(which int, who int, prio int) (err error) { - _, _, e1 := syscall_syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETPRIORITY<<4, uintptr(which), uintptr(who), uintptr(prio)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -971,9 +2910,9 @@ func Setpriority(which int, who int, prio int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setpgid(pid int, pgid int) (err error) { - _, _, e1 := syscall_rawsyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) - if e1 != 0 { - err = errnoErr(e1) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETPGID<<4, uintptr(pid), uintptr(pgid)) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -981,9 +2920,9 @@ func Setpgid(pid int, pgid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setrlimit(resource int, lim *Rlimit) (err error) { - _, _, e1 := syscall_rawsyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETRLIMIT<<4, uintptr(resource), uintptr(unsafe.Pointer(lim))) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -991,9 +2930,9 @@ func Setrlimit(resource int, lim *Rlimit) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setregid(rgid int, egid int) (err error) { - _, _, e1 := syscall_rawsyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) - if e1 != 0 { - err = errnoErr(e1) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETREGID<<4, uintptr(rgid), uintptr(egid)) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1001,9 +2940,9 @@ func Setregid(rgid int, egid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setreuid(ruid int, euid int) (err error) { - _, _, e1 := syscall_rawsyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) - if e1 != 0 { - err = errnoErr(e1) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETREUID<<4, uintptr(ruid), uintptr(euid)) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1011,10 +2950,10 @@ func Setreuid(ruid int, euid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setsid() (pid int, err error) { - r0, _, e1 := syscall_rawsyscall(SYS_SETSID, 0, 0, 0) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec() + SYS_SETSID<<4) pid = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1022,9 +2961,11 @@ func Setsid() (pid int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setuid(uid int) (err error) { - _, _, e1 := syscall_syscall(SYS_SETUID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETUID<<4, uintptr(uid)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1032,9 +2973,11 @@ func Setuid(uid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Setgid(uid int) (err error) { - _, _, e1 := syscall_syscall(SYS_SETGID, uintptr(uid), 0, 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SETGID<<4, uintptr(uid)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1042,9 +2985,11 @@ func Setgid(uid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Shutdown(fd int, how int) (err error) { - _, _, e1 := syscall_syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_SHUTDOWN<<4, uintptr(fd), uintptr(how)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1057,9 +3002,11 @@ func stat(path string, statLE *Stat_LE_t) (err error) { if err != nil { return } - _, _, e1 := syscall_syscall(SYS___STAT_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statLE)), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___STAT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statLE))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1077,17 +3024,63 @@ func Symlink(path string, link string) (err error) { if err != nil { return } - _, _, e1 := syscall_syscall(SYS___SYMLINK_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SYMLINK_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Symlinkat(oldPath string, dirfd int, newPath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldPath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newPath) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SYMLINKAT_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(dirfd), uintptr(unsafe.Pointer(_p1))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } +//go:nosplit +func get_SymlinkatAddr() *(func(oldPath string, dirfd int, newPath string) (err error)) + +var Symlinkat = enter_Symlinkat + +func enter_Symlinkat(oldPath string, dirfd int, newPath string) (err error) { + funcref := get_SymlinkatAddr() + if funcptrtest(GetZosLibVec()+SYS___SYMLINKAT_A<<4, "") == 0 { + *funcref = impl_Symlinkat + } else { + *funcref = error_Symlinkat + } + return (*funcref)(oldPath, dirfd, newPath) +} + +func error_Symlinkat(oldPath string, dirfd int, newPath string) (err error) { + err = ENOSYS + return +} + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Sync() { - syscall_syscall(SYS_SYNC, 0, 0, 0) + runtime.EnterSyscall() + CallLeFuncWithErr(GetZosLibVec() + SYS_SYNC<<4) + runtime.ExitSyscall() return } @@ -1099,9 +3092,11 @@ func Truncate(path string, length int64) (err error) { if err != nil { return } - _, _, e1 := syscall_syscall(SYS___TRUNCATE_A, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___TRUNCATE_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(length)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1109,9 +3104,11 @@ func Truncate(path string, length int64) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Tcgetattr(fildes int, termptr *Termios) (err error) { - _, _, e1 := syscall_syscall(SYS_TCGETATTR, uintptr(fildes), uintptr(unsafe.Pointer(termptr)), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_TCGETATTR<<4, uintptr(fildes), uintptr(unsafe.Pointer(termptr))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1119,9 +3116,11 @@ func Tcgetattr(fildes int, termptr *Termios) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Tcsetattr(fildes int, when int, termptr *Termios) (err error) { - _, _, e1 := syscall_syscall(SYS_TCSETATTR, uintptr(fildes), uintptr(when), uintptr(unsafe.Pointer(termptr))) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_TCSETATTR<<4, uintptr(fildes), uintptr(when), uintptr(unsafe.Pointer(termptr))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1129,7 +3128,9 @@ func Tcsetattr(fildes int, when int, termptr *Termios) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Umask(mask int) (oldmask int) { - r0, _, _ := syscall_syscall(SYS_UMASK, uintptr(mask), 0, 0) + runtime.EnterSyscall() + r0, _, _ := CallLeFuncWithErr(GetZosLibVec()+SYS_UMASK<<4, uintptr(mask)) + runtime.ExitSyscall() oldmask = int(r0) return } @@ -1142,10 +3143,49 @@ func Unlink(path string) (err error) { if err != nil { return } - _, _, e1 := syscall_syscall(SYS___UNLINK_A, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UNLINK_A<<4, uintptr(unsafe.Pointer(_p0))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UNLINKAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_UnlinkatAddr() *(func(dirfd int, path string, flags int) (err error)) + +var Unlinkat = enter_Unlinkat + +func enter_Unlinkat(dirfd int, path string, flags int) (err error) { + funcref := get_UnlinkatAddr() + if funcptrtest(GetZosLibVec()+SYS___UNLINKAT_A<<4, "") == 0 { + *funcref = impl_Unlinkat + } else { + *funcref = error_Unlinkat } + return (*funcref)(dirfd, path, flags) +} + +func error_Unlinkat(dirfd int, path string, flags int) (err error) { + err = ENOSYS return } @@ -1157,9 +3197,11 @@ func Utime(path string, utim *Utimbuf) (err error) { if err != nil { return } - _, _, e1 := syscall_syscall(SYS___UTIME_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(utim)), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UTIME_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(utim))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1172,11 +3214,91 @@ func open(path string, mode int, perm uint32) (fd int, err error) { if err != nil { return } - r0, _, e1 := syscall_syscall(SYS___OPEN_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___OPEN_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + runtime.ExitSyscall() + fd = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___OPENAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode)) + runtime.ExitSyscall() + fd = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_openatAddr() *(func(dirfd int, path string, flags int, mode uint32) (fd int, err error)) + +var openat = enter_openat + +func enter_openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + funcref := get_openatAddr() + if funcptrtest(GetZosLibVec()+SYS___OPENAT_A<<4, "") == 0 { + *funcref = impl_openat + } else { + *funcref = error_openat + } + return (*funcref)(dirfd, path, flags, mode) +} + +func error_openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + fd = -1 + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func impl_openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___OPENAT2_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(open_how)), uintptr(size)) + runtime.ExitSyscall() fd = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_openat2Addr() *(func(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error)) + +var openat2 = enter_openat2 + +func enter_openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) { + funcref := get_openat2Addr() + if funcptrtest(GetZosLibVec()+SYS___OPENAT2_A<<4, "") == 0 { + *funcref = impl_openat2 + } else { + *funcref = error_openat2 } + return (*funcref)(dirfd, path, open_how, size) +} + +func error_openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) { + fd = -1 + err = ENOSYS return } @@ -1188,9 +3310,23 @@ func remove(path string) (err error) { if err != nil { return } - _, _, e1 := syscall_syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_REMOVE<<4, uintptr(unsafe.Pointer(_p0))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func waitid(idType int, id int, info *Siginfo, options int) (err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_WAITID<<4, uintptr(idType), uintptr(id), uintptr(unsafe.Pointer(info)), uintptr(options)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1198,10 +3334,12 @@ func remove(path string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error) { - r0, _, e1 := syscall_syscall(SYS_WAITPID, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options)) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_WAITPID<<4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options)) + runtime.ExitSyscall() wpid = int(r0) - if e1 != 0 { - err = errnoErr(e1) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1209,9 +3347,9 @@ func waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func gettimeofday(tv *timeval_zos) (err error) { - _, _, e1 := syscall_rawsyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GETTIMEOFDAY<<4, uintptr(unsafe.Pointer(tv))) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1219,9 +3357,9 @@ func gettimeofday(tv *timeval_zos) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func pipe(p *[2]_C_int) (err error) { - _, _, e1 := syscall_rawsyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_PIPE<<4, uintptr(unsafe.Pointer(p))) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } @@ -1234,20 +3372,87 @@ func utimes(path string, timeval *[2]Timeval) (err error) { if err != nil { return } - _, _, e1 := syscall_syscall(SYS___UTIMES_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) - if e1 != 0 { - err = errnoErr(e1) + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UTIMES_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval))) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Select(nmsgsfds int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (ret int, err error) { - r0, _, e1 := syscall_syscall6(SYS_SELECT, uintptr(nmsgsfds), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) - ret = int(r0) - if e1 != 0 { - err = errnoErr(e1) +func impl_utimensat(dirfd int, path string, ts *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UTIMENSAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(ts)), uintptr(flags)) + runtime.ExitSyscall() + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +//go:nosplit +func get_utimensatAddr() *(func(dirfd int, path string, ts *[2]Timespec, flags int) (err error)) + +var utimensat = enter_utimensat + +func enter_utimensat(dirfd int, path string, ts *[2]Timespec, flags int) (err error) { + funcref := get_utimensatAddr() + if funcptrtest(GetZosLibVec()+SYS___UTIMENSAT_A<<4, "") == 0 { + *funcref = impl_utimensat + } else { + *funcref = error_utimensat + } + return (*funcref)(dirfd, path, ts, flags) +} + +func error_utimensat(dirfd int, path string, ts *[2]Timespec, flags int) (err error) { + err = ENOSYS + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Posix_openpt(oflag int) (fd int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_POSIX_OPENPT<<4, uintptr(oflag)) + runtime.ExitSyscall() + fd = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Grantpt(fildes int) (rc int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_GRANTPT<<4, uintptr(fildes)) + runtime.ExitSyscall() + rc = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlockpt(fildes int) (rc int, err error) { + runtime.EnterSyscall() + r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_UNLOCKPT<<4, uintptr(fildes)) + runtime.ExitSyscall() + rc = int(r0) + if int64(r0) == -1 { + err = errnoErr2(e1, e2) } return } diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go index 0cc3ce4..524b082 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -452,4 +452,10 @@ const ( SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go index 856d92d..d3e38f6 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -374,4 +374,10 @@ const ( SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go index 8d46709..70b35bf 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -416,4 +416,10 @@ const ( SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go index edc1732..6c778c2 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -319,4 +319,10 @@ const ( SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go index 445eba2..37281cf 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go @@ -313,4 +313,10 @@ const ( SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go index adba01b..7e567f1 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -436,4 +436,10 @@ const ( SYS_FUTEX_WAKE = 4454 SYS_FUTEX_WAIT = 4455 SYS_FUTEX_REQUEUE = 4456 + SYS_STATMOUNT = 4457 + SYS_LISTMOUNT = 4458 + SYS_LSM_GET_SELF_ATTR = 4459 + SYS_LSM_SET_SELF_ATTR = 4460 + SYS_LSM_LIST_MODULES = 4461 + SYS_MSEAL = 4462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go index 014c4e9..38ae55e 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -366,4 +366,10 @@ const ( SYS_FUTEX_WAKE = 5454 SYS_FUTEX_WAIT = 5455 SYS_FUTEX_REQUEUE = 5456 + SYS_STATMOUNT = 5457 + SYS_LISTMOUNT = 5458 + SYS_LSM_GET_SELF_ATTR = 5459 + SYS_LSM_SET_SELF_ATTR = 5460 + SYS_LSM_LIST_MODULES = 5461 + SYS_MSEAL = 5462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go index ccc97d7..55e92e6 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -366,4 +366,10 @@ const ( SYS_FUTEX_WAKE = 5454 SYS_FUTEX_WAIT = 5455 SYS_FUTEX_REQUEUE = 5456 + SYS_STATMOUNT = 5457 + SYS_LISTMOUNT = 5458 + SYS_LSM_GET_SELF_ATTR = 5459 + SYS_LSM_SET_SELF_ATTR = 5460 + SYS_LSM_LIST_MODULES = 5461 + SYS_MSEAL = 5462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go index ec2b64a..60658d6 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -436,4 +436,10 @@ const ( SYS_FUTEX_WAKE = 4454 SYS_FUTEX_WAIT = 4455 SYS_FUTEX_REQUEUE = 4456 + SYS_STATMOUNT = 4457 + SYS_LISTMOUNT = 4458 + SYS_LSM_GET_SELF_ATTR = 4459 + SYS_LSM_SET_SELF_ATTR = 4460 + SYS_LSM_LIST_MODULES = 4461 + SYS_MSEAL = 4462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go index 21a839e..e203e8a 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go @@ -443,4 +443,10 @@ const ( SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go index c11121e..5944b97 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -415,4 +415,10 @@ const ( SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go index 909b631..c66d416 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -415,4 +415,10 @@ const ( SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go index e49bed1..9889f6a 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go @@ -320,4 +320,10 @@ const ( SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go index 66017d2..01d8682 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -381,4 +381,10 @@ const ( SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go index 47bab18..7b703e7 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go @@ -394,4 +394,10 @@ const ( SYS_FUTEX_WAKE = 454 SYS_FUTEX_WAIT = 455 SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go index b2e3085..5e8c263 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go @@ -1,2669 +1,2852 @@ -// Copyright 2020 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. +// go run mksyscall_zos_s390x.go -o_sysnum zsysnum_zos_s390x.go -o_syscall zsyscall_zos_s390x.go -i_syscall syscall_zos_s390x.go -o_asm zsymaddr_zos_s390x.s +// Code generated by the command above; see README.md. DO NOT EDIT. //go:build zos && s390x package unix -// TODO: auto-generate. - const ( - SYS_ACOSD128 = 0xB80 - SYS_ACOSD32 = 0xB7E - SYS_ACOSD64 = 0xB7F - SYS_ACOSHD128 = 0xB83 - SYS_ACOSHD32 = 0xB81 - SYS_ACOSHD64 = 0xB82 - SYS_AIO_FSYNC = 0xC69 - SYS_ASCTIME = 0x0AE - SYS_ASCTIME64 = 0xCD7 - SYS_ASCTIME64_R = 0xCD8 - SYS_ASIND128 = 0xB86 - SYS_ASIND32 = 0xB84 - SYS_ASIND64 = 0xB85 - SYS_ASINHD128 = 0xB89 - SYS_ASINHD32 = 0xB87 - SYS_ASINHD64 = 0xB88 - SYS_ATAN2D128 = 0xB8F - SYS_ATAN2D32 = 0xB8D - SYS_ATAN2D64 = 0xB8E - SYS_ATAND128 = 0xB8C - SYS_ATAND32 = 0xB8A - SYS_ATAND64 = 0xB8B - SYS_ATANHD128 = 0xB92 - SYS_ATANHD32 = 0xB90 - SYS_ATANHD64 = 0xB91 - SYS_BIND2ADDRSEL = 0xD59 - SYS_C16RTOMB = 0xD40 - SYS_C32RTOMB = 0xD41 - SYS_CBRTD128 = 0xB95 - SYS_CBRTD32 = 0xB93 - SYS_CBRTD64 = 0xB94 - SYS_CEILD128 = 0xB98 - SYS_CEILD32 = 0xB96 - SYS_CEILD64 = 0xB97 - SYS_CLEARENV = 0x0C9 - SYS_CLEARERR_UNLOCKED = 0xCA1 - SYS_CLOCK = 0x0AA - SYS_CLOGL = 0xA00 - SYS_CLRMEMF = 0x0BD - SYS_CONJ = 0xA03 - SYS_CONJF = 0xA06 - SYS_CONJL = 0xA09 - SYS_COPYSIGND128 = 0xB9E - SYS_COPYSIGND32 = 0xB9C - SYS_COPYSIGND64 = 0xB9D - SYS_COSD128 = 0xBA1 - SYS_COSD32 = 0xB9F - SYS_COSD64 = 0xBA0 - SYS_COSHD128 = 0xBA4 - SYS_COSHD32 = 0xBA2 - SYS_COSHD64 = 0xBA3 - SYS_CPOW = 0xA0C - SYS_CPOWF = 0xA0F - SYS_CPOWL = 0xA12 - SYS_CPROJ = 0xA15 - SYS_CPROJF = 0xA18 - SYS_CPROJL = 0xA1B - SYS_CREAL = 0xA1E - SYS_CREALF = 0xA21 - SYS_CREALL = 0xA24 - SYS_CSIN = 0xA27 - SYS_CSINF = 0xA2A - SYS_CSINH = 0xA30 - SYS_CSINHF = 0xA33 - SYS_CSINHL = 0xA36 - SYS_CSINL = 0xA2D - SYS_CSNAP = 0x0C5 - SYS_CSQRT = 0xA39 - SYS_CSQRTF = 0xA3C - SYS_CSQRTL = 0xA3F - SYS_CTAN = 0xA42 - SYS_CTANF = 0xA45 - SYS_CTANH = 0xA4B - SYS_CTANHF = 0xA4E - SYS_CTANHL = 0xA51 - SYS_CTANL = 0xA48 - SYS_CTIME = 0x0AB - SYS_CTIME64 = 0xCD9 - SYS_CTIME64_R = 0xCDA - SYS_CTRACE = 0x0C6 - SYS_DIFFTIME = 0x0A7 - SYS_DIFFTIME64 = 0xCDB - SYS_DLADDR = 0xC82 - SYS_DYNALLOC = 0x0C3 - SYS_DYNFREE = 0x0C2 - SYS_ERFCD128 = 0xBAA - SYS_ERFCD32 = 0xBA8 - SYS_ERFCD64 = 0xBA9 - SYS_ERFD128 = 0xBA7 - SYS_ERFD32 = 0xBA5 - SYS_ERFD64 = 0xBA6 - SYS_EXP2D128 = 0xBB0 - SYS_EXP2D32 = 0xBAE - SYS_EXP2D64 = 0xBAF - SYS_EXPD128 = 0xBAD - SYS_EXPD32 = 0xBAB - SYS_EXPD64 = 0xBAC - SYS_EXPM1D128 = 0xBB3 - SYS_EXPM1D32 = 0xBB1 - SYS_EXPM1D64 = 0xBB2 - SYS_FABSD128 = 0xBB6 - SYS_FABSD32 = 0xBB4 - SYS_FABSD64 = 0xBB5 - SYS_FDELREC_UNLOCKED = 0xCA2 - SYS_FDIMD128 = 0xBB9 - SYS_FDIMD32 = 0xBB7 - SYS_FDIMD64 = 0xBB8 - SYS_FDOPEN_UNLOCKED = 0xCFC - SYS_FECLEAREXCEPT = 0xAEA - SYS_FEGETENV = 0xAEB - SYS_FEGETEXCEPTFLAG = 0xAEC - SYS_FEGETROUND = 0xAED - SYS_FEHOLDEXCEPT = 0xAEE - SYS_FEOF_UNLOCKED = 0xCA3 - SYS_FERAISEEXCEPT = 0xAEF - SYS_FERROR_UNLOCKED = 0xCA4 - SYS_FESETENV = 0xAF0 - SYS_FESETEXCEPTFLAG = 0xAF1 - SYS_FESETROUND = 0xAF2 - SYS_FETCHEP = 0x0BF - SYS_FETESTEXCEPT = 0xAF3 - SYS_FEUPDATEENV = 0xAF4 - SYS_FE_DEC_GETROUND = 0xBBA - SYS_FE_DEC_SETROUND = 0xBBB - SYS_FFLUSH_UNLOCKED = 0xCA5 - SYS_FGETC_UNLOCKED = 0xC80 - SYS_FGETPOS64 = 0xCEE - SYS_FGETPOS64_UNLOCKED = 0xCF4 - SYS_FGETPOS_UNLOCKED = 0xCA6 - SYS_FGETS_UNLOCKED = 0xC7C - SYS_FGETWC_UNLOCKED = 0xCA7 - SYS_FGETWS_UNLOCKED = 0xCA8 - SYS_FILENO_UNLOCKED = 0xCA9 - SYS_FLDATA = 0x0C1 - SYS_FLDATA_UNLOCKED = 0xCAA - SYS_FLOCATE_UNLOCKED = 0xCAB - SYS_FLOORD128 = 0xBBE - SYS_FLOORD32 = 0xBBC - SYS_FLOORD64 = 0xBBD - SYS_FMA = 0xA63 - SYS_FMAD128 = 0xBC1 - SYS_FMAD32 = 0xBBF - SYS_FMAD64 = 0xBC0 - SYS_FMAF = 0xA66 - SYS_FMAL = 0xA69 - SYS_FMAX = 0xA6C - SYS_FMAXD128 = 0xBC4 - SYS_FMAXD32 = 0xBC2 - SYS_FMAXD64 = 0xBC3 - SYS_FMAXF = 0xA6F - SYS_FMAXL = 0xA72 - SYS_FMIN = 0xA75 - SYS_FMIND128 = 0xBC7 - SYS_FMIND32 = 0xBC5 - SYS_FMIND64 = 0xBC6 - SYS_FMINF = 0xA78 - SYS_FMINL = 0xA7B - SYS_FMODD128 = 0xBCA - SYS_FMODD32 = 0xBC8 - SYS_FMODD64 = 0xBC9 - SYS_FOPEN64 = 0xD49 - SYS_FOPEN64_UNLOCKED = 0xD4A - SYS_FOPEN_UNLOCKED = 0xCFA - SYS_FPRINTF_UNLOCKED = 0xCAC - SYS_FPUTC_UNLOCKED = 0xC81 - SYS_FPUTS_UNLOCKED = 0xC7E - SYS_FPUTWC_UNLOCKED = 0xCAD - SYS_FPUTWS_UNLOCKED = 0xCAE - SYS_FREAD_NOUPDATE = 0xCEC - SYS_FREAD_NOUPDATE_UNLOCKED = 0xCED - SYS_FREAD_UNLOCKED = 0xC7B - SYS_FREEIFADDRS = 0xCE6 - SYS_FREOPEN64 = 0xD4B - SYS_FREOPEN64_UNLOCKED = 0xD4C - SYS_FREOPEN_UNLOCKED = 0xCFB - SYS_FREXPD128 = 0xBCE - SYS_FREXPD32 = 0xBCC - SYS_FREXPD64 = 0xBCD - SYS_FSCANF_UNLOCKED = 0xCAF - SYS_FSEEK64 = 0xCEF - SYS_FSEEK64_UNLOCKED = 0xCF5 - SYS_FSEEKO64 = 0xCF0 - SYS_FSEEKO64_UNLOCKED = 0xCF6 - SYS_FSEEKO_UNLOCKED = 0xCB1 - SYS_FSEEK_UNLOCKED = 0xCB0 - SYS_FSETPOS64 = 0xCF1 - SYS_FSETPOS64_UNLOCKED = 0xCF7 - SYS_FSETPOS_UNLOCKED = 0xCB3 - SYS_FTELL64 = 0xCF2 - SYS_FTELL64_UNLOCKED = 0xCF8 - SYS_FTELLO64 = 0xCF3 - SYS_FTELLO64_UNLOCKED = 0xCF9 - SYS_FTELLO_UNLOCKED = 0xCB5 - SYS_FTELL_UNLOCKED = 0xCB4 - SYS_FUPDATE = 0x0B5 - SYS_FUPDATE_UNLOCKED = 0xCB7 - SYS_FWIDE_UNLOCKED = 0xCB8 - SYS_FWPRINTF_UNLOCKED = 0xCB9 - SYS_FWRITE_UNLOCKED = 0xC7A - SYS_FWSCANF_UNLOCKED = 0xCBA - SYS_GETDATE64 = 0xD4F - SYS_GETIFADDRS = 0xCE7 - SYS_GETIPV4SOURCEFILTER = 0xC77 - SYS_GETSOURCEFILTER = 0xC79 - SYS_GETSYNTX = 0x0FD - SYS_GETS_UNLOCKED = 0xC7D - SYS_GETTIMEOFDAY64 = 0xD50 - SYS_GETWCHAR_UNLOCKED = 0xCBC - SYS_GETWC_UNLOCKED = 0xCBB - SYS_GMTIME = 0x0B0 - SYS_GMTIME64 = 0xCDC - SYS_GMTIME64_R = 0xCDD - SYS_HYPOTD128 = 0xBD1 - SYS_HYPOTD32 = 0xBCF - SYS_HYPOTD64 = 0xBD0 - SYS_ILOGBD128 = 0xBD4 - SYS_ILOGBD32 = 0xBD2 - SYS_ILOGBD64 = 0xBD3 - SYS_ILOGBF = 0xA7E - SYS_ILOGBL = 0xA81 - SYS_INET6_IS_SRCADDR = 0xD5A - SYS_ISBLANK = 0x0FE - SYS_ISWALNUM = 0x0FF - SYS_LDEXPD128 = 0xBD7 - SYS_LDEXPD32 = 0xBD5 - SYS_LDEXPD64 = 0xBD6 - SYS_LGAMMAD128 = 0xBDA - SYS_LGAMMAD32 = 0xBD8 - SYS_LGAMMAD64 = 0xBD9 - SYS_LIO_LISTIO = 0xC6A - SYS_LLRINT = 0xA84 - SYS_LLRINTD128 = 0xBDD - SYS_LLRINTD32 = 0xBDB - SYS_LLRINTD64 = 0xBDC - SYS_LLRINTF = 0xA87 - SYS_LLRINTL = 0xA8A - SYS_LLROUND = 0xA8D - SYS_LLROUNDD128 = 0xBE0 - SYS_LLROUNDD32 = 0xBDE - SYS_LLROUNDD64 = 0xBDF - SYS_LLROUNDF = 0xA90 - SYS_LLROUNDL = 0xA93 - SYS_LOCALTIM = 0x0B1 - SYS_LOCALTIME = 0x0B1 - SYS_LOCALTIME64 = 0xCDE - SYS_LOCALTIME64_R = 0xCDF - SYS_LOG10D128 = 0xBE6 - SYS_LOG10D32 = 0xBE4 - SYS_LOG10D64 = 0xBE5 - SYS_LOG1PD128 = 0xBE9 - SYS_LOG1PD32 = 0xBE7 - SYS_LOG1PD64 = 0xBE8 - SYS_LOG2D128 = 0xBEC - SYS_LOG2D32 = 0xBEA - SYS_LOG2D64 = 0xBEB - SYS_LOGBD128 = 0xBEF - SYS_LOGBD32 = 0xBED - SYS_LOGBD64 = 0xBEE - SYS_LOGBF = 0xA96 - SYS_LOGBL = 0xA99 - SYS_LOGD128 = 0xBE3 - SYS_LOGD32 = 0xBE1 - SYS_LOGD64 = 0xBE2 - SYS_LRINT = 0xA9C - SYS_LRINTD128 = 0xBF2 - SYS_LRINTD32 = 0xBF0 - SYS_LRINTD64 = 0xBF1 - SYS_LRINTF = 0xA9F - SYS_LRINTL = 0xAA2 - SYS_LROUNDD128 = 0xBF5 - SYS_LROUNDD32 = 0xBF3 - SYS_LROUNDD64 = 0xBF4 - SYS_LROUNDL = 0xAA5 - SYS_MBLEN = 0x0AF - SYS_MBRTOC16 = 0xD42 - SYS_MBRTOC32 = 0xD43 - SYS_MEMSET = 0x0A3 - SYS_MKTIME = 0x0AC - SYS_MKTIME64 = 0xCE0 - SYS_MODFD128 = 0xBF8 - SYS_MODFD32 = 0xBF6 - SYS_MODFD64 = 0xBF7 - SYS_NAN = 0xAA8 - SYS_NAND128 = 0xBFB - SYS_NAND32 = 0xBF9 - SYS_NAND64 = 0xBFA - SYS_NANF = 0xAAA - SYS_NANL = 0xAAC - SYS_NEARBYINT = 0xAAE - SYS_NEARBYINTD128 = 0xBFE - SYS_NEARBYINTD32 = 0xBFC - SYS_NEARBYINTD64 = 0xBFD - SYS_NEARBYINTF = 0xAB1 - SYS_NEARBYINTL = 0xAB4 - SYS_NEXTAFTERD128 = 0xC01 - SYS_NEXTAFTERD32 = 0xBFF - SYS_NEXTAFTERD64 = 0xC00 - SYS_NEXTAFTERF = 0xAB7 - SYS_NEXTAFTERL = 0xABA - SYS_NEXTTOWARD = 0xABD - SYS_NEXTTOWARDD128 = 0xC04 - SYS_NEXTTOWARDD32 = 0xC02 - SYS_NEXTTOWARDD64 = 0xC03 - SYS_NEXTTOWARDF = 0xAC0 - SYS_NEXTTOWARDL = 0xAC3 - SYS_NL_LANGINFO = 0x0FC - SYS_PERROR_UNLOCKED = 0xCBD - SYS_POSIX_FALLOCATE = 0xCE8 - SYS_POSIX_MEMALIGN = 0xCE9 - SYS_POSIX_OPENPT = 0xC66 - SYS_POWD128 = 0xC07 - SYS_POWD32 = 0xC05 - SYS_POWD64 = 0xC06 - SYS_PRINTF_UNLOCKED = 0xCBE - SYS_PSELECT = 0xC67 - SYS_PTHREAD_ATTR_GETSTACK = 0xB3E - SYS_PTHREAD_ATTR_SETSTACK = 0xB3F - SYS_PTHREAD_SECURITY_APPLID_NP = 0xCE4 - SYS_PUTS_UNLOCKED = 0xC7F - SYS_PUTWCHAR_UNLOCKED = 0xCC0 - SYS_PUTWC_UNLOCKED = 0xCBF - SYS_QUANTEXPD128 = 0xD46 - SYS_QUANTEXPD32 = 0xD44 - SYS_QUANTEXPD64 = 0xD45 - SYS_QUANTIZED128 = 0xC0A - SYS_QUANTIZED32 = 0xC08 - SYS_QUANTIZED64 = 0xC09 - SYS_REMAINDERD128 = 0xC0D - SYS_REMAINDERD32 = 0xC0B - SYS_REMAINDERD64 = 0xC0C - SYS_RESIZE_ALLOC = 0xCEB - SYS_REWIND_UNLOCKED = 0xCC1 - SYS_RINTD128 = 0xC13 - SYS_RINTD32 = 0xC11 - SYS_RINTD64 = 0xC12 - SYS_RINTF = 0xACB - SYS_RINTL = 0xACD - SYS_ROUND = 0xACF - SYS_ROUNDD128 = 0xC16 - SYS_ROUNDD32 = 0xC14 - SYS_ROUNDD64 = 0xC15 - SYS_ROUNDF = 0xAD2 - SYS_ROUNDL = 0xAD5 - SYS_SAMEQUANTUMD128 = 0xC19 - SYS_SAMEQUANTUMD32 = 0xC17 - SYS_SAMEQUANTUMD64 = 0xC18 - SYS_SCALBLN = 0xAD8 - SYS_SCALBLND128 = 0xC1C - SYS_SCALBLND32 = 0xC1A - SYS_SCALBLND64 = 0xC1B - SYS_SCALBLNF = 0xADB - SYS_SCALBLNL = 0xADE - SYS_SCALBND128 = 0xC1F - SYS_SCALBND32 = 0xC1D - SYS_SCALBND64 = 0xC1E - SYS_SCALBNF = 0xAE3 - SYS_SCALBNL = 0xAE6 - SYS_SCANF_UNLOCKED = 0xCC2 - SYS_SCHED_YIELD = 0xB32 - SYS_SETENV = 0x0C8 - SYS_SETIPV4SOURCEFILTER = 0xC76 - SYS_SETSOURCEFILTER = 0xC78 - SYS_SHM_OPEN = 0xC8C - SYS_SHM_UNLINK = 0xC8D - SYS_SIND128 = 0xC22 - SYS_SIND32 = 0xC20 - SYS_SIND64 = 0xC21 - SYS_SINHD128 = 0xC25 - SYS_SINHD32 = 0xC23 - SYS_SINHD64 = 0xC24 - SYS_SIZEOF_ALLOC = 0xCEA - SYS_SOCKATMARK = 0xC68 - SYS_SQRTD128 = 0xC28 - SYS_SQRTD32 = 0xC26 - SYS_SQRTD64 = 0xC27 - SYS_STRCHR = 0x0A0 - SYS_STRCSPN = 0x0A1 - SYS_STRERROR = 0x0A8 - SYS_STRERROR_R = 0xB33 - SYS_STRFTIME = 0x0B2 - SYS_STRLEN = 0x0A9 - SYS_STRPBRK = 0x0A2 - SYS_STRSPN = 0x0A4 - SYS_STRSTR = 0x0A5 - SYS_STRTOD128 = 0xC2B - SYS_STRTOD32 = 0xC29 - SYS_STRTOD64 = 0xC2A - SYS_STRTOK = 0x0A6 - SYS_TAND128 = 0xC2E - SYS_TAND32 = 0xC2C - SYS_TAND64 = 0xC2D - SYS_TANHD128 = 0xC31 - SYS_TANHD32 = 0xC2F - SYS_TANHD64 = 0xC30 - SYS_TGAMMAD128 = 0xC34 - SYS_TGAMMAD32 = 0xC32 - SYS_TGAMMAD64 = 0xC33 - SYS_TIME = 0x0AD - SYS_TIME64 = 0xCE1 - SYS_TMPFILE64 = 0xD4D - SYS_TMPFILE64_UNLOCKED = 0xD4E - SYS_TMPFILE_UNLOCKED = 0xCFD - SYS_TRUNCD128 = 0xC40 - SYS_TRUNCD32 = 0xC3E - SYS_TRUNCD64 = 0xC3F - SYS_UNGETC_UNLOCKED = 0xCC3 - SYS_UNGETWC_UNLOCKED = 0xCC4 - SYS_UNSETENV = 0xB34 - SYS_VFPRINTF_UNLOCKED = 0xCC5 - SYS_VFSCANF_UNLOCKED = 0xCC7 - SYS_VFWPRINTF_UNLOCKED = 0xCC9 - SYS_VFWSCANF_UNLOCKED = 0xCCB - SYS_VPRINTF_UNLOCKED = 0xCCD - SYS_VSCANF_UNLOCKED = 0xCCF - SYS_VWPRINTF_UNLOCKED = 0xCD1 - SYS_VWSCANF_UNLOCKED = 0xCD3 - SYS_WCSTOD128 = 0xC43 - SYS_WCSTOD32 = 0xC41 - SYS_WCSTOD64 = 0xC42 - SYS_WPRINTF_UNLOCKED = 0xCD5 - SYS_WSCANF_UNLOCKED = 0xCD6 - SYS__FLUSHLBF = 0xD68 - SYS__FLUSHLBF_UNLOCKED = 0xD6F - SYS___ACOSHF_H = 0xA54 - SYS___ACOSHL_H = 0xA55 - SYS___ASINHF_H = 0xA56 - SYS___ASINHL_H = 0xA57 - SYS___ATANPID128 = 0xC6D - SYS___ATANPID32 = 0xC6B - SYS___ATANPID64 = 0xC6C - SYS___CBRTF_H = 0xA58 - SYS___CBRTL_H = 0xA59 - SYS___CDUMP = 0x0C4 - SYS___CLASS = 0xAFA - SYS___CLASS2 = 0xB99 - SYS___CLASS2D128 = 0xC99 - SYS___CLASS2D32 = 0xC97 - SYS___CLASS2D64 = 0xC98 - SYS___CLASS2F = 0xC91 - SYS___CLASS2F_B = 0xC93 - SYS___CLASS2F_H = 0xC94 - SYS___CLASS2L = 0xC92 - SYS___CLASS2L_B = 0xC95 - SYS___CLASS2L_H = 0xC96 - SYS___CLASS2_B = 0xB9A - SYS___CLASS2_H = 0xB9B - SYS___CLASS_B = 0xAFB - SYS___CLASS_H = 0xAFC - SYS___CLOGL_B = 0xA01 - SYS___CLOGL_H = 0xA02 - SYS___CLRENV = 0x0C9 - SYS___CLRMF = 0x0BD - SYS___CODEPAGE_INFO = 0xC64 - SYS___CONJF_B = 0xA07 - SYS___CONJF_H = 0xA08 - SYS___CONJL_B = 0xA0A - SYS___CONJL_H = 0xA0B - SYS___CONJ_B = 0xA04 - SYS___CONJ_H = 0xA05 - SYS___COPYSIGN_B = 0xA5A - SYS___COPYSIGN_H = 0xAF5 - SYS___COSPID128 = 0xC70 - SYS___COSPID32 = 0xC6E - SYS___COSPID64 = 0xC6F - SYS___CPOWF_B = 0xA10 - SYS___CPOWF_H = 0xA11 - SYS___CPOWL_B = 0xA13 - SYS___CPOWL_H = 0xA14 - SYS___CPOW_B = 0xA0D - SYS___CPOW_H = 0xA0E - SYS___CPROJF_B = 0xA19 - SYS___CPROJF_H = 0xA1A - SYS___CPROJL_B = 0xA1C - SYS___CPROJL_H = 0xA1D - SYS___CPROJ_B = 0xA16 - SYS___CPROJ_H = 0xA17 - SYS___CREALF_B = 0xA22 - SYS___CREALF_H = 0xA23 - SYS___CREALL_B = 0xA25 - SYS___CREALL_H = 0xA26 - SYS___CREAL_B = 0xA1F - SYS___CREAL_H = 0xA20 - SYS___CSINF_B = 0xA2B - SYS___CSINF_H = 0xA2C - SYS___CSINHF_B = 0xA34 - SYS___CSINHF_H = 0xA35 - SYS___CSINHL_B = 0xA37 - SYS___CSINHL_H = 0xA38 - SYS___CSINH_B = 0xA31 - SYS___CSINH_H = 0xA32 - SYS___CSINL_B = 0xA2E - SYS___CSINL_H = 0xA2F - SYS___CSIN_B = 0xA28 - SYS___CSIN_H = 0xA29 - SYS___CSNAP = 0x0C5 - SYS___CSQRTF_B = 0xA3D - SYS___CSQRTF_H = 0xA3E - SYS___CSQRTL_B = 0xA40 - SYS___CSQRTL_H = 0xA41 - SYS___CSQRT_B = 0xA3A - SYS___CSQRT_H = 0xA3B - SYS___CTANF_B = 0xA46 - SYS___CTANF_H = 0xA47 - SYS___CTANHF_B = 0xA4F - SYS___CTANHF_H = 0xA50 - SYS___CTANHL_B = 0xA52 - SYS___CTANHL_H = 0xA53 - SYS___CTANH_B = 0xA4C - SYS___CTANH_H = 0xA4D - SYS___CTANL_B = 0xA49 - SYS___CTANL_H = 0xA4A - SYS___CTAN_B = 0xA43 - SYS___CTAN_H = 0xA44 - SYS___CTEST = 0x0C7 - SYS___CTRACE = 0x0C6 - SYS___D1TOP = 0xC9B - SYS___D2TOP = 0xC9C - SYS___D4TOP = 0xC9D - SYS___DYNALL = 0x0C3 - SYS___DYNFRE = 0x0C2 - SYS___EXP2F_H = 0xA5E - SYS___EXP2L_H = 0xA5F - SYS___EXP2_H = 0xA5D - SYS___EXPM1F_H = 0xA5B - SYS___EXPM1L_H = 0xA5C - SYS___FBUFSIZE = 0xD60 - SYS___FLBF = 0xD62 - SYS___FLDATA = 0x0C1 - SYS___FMAF_B = 0xA67 - SYS___FMAF_H = 0xA68 - SYS___FMAL_B = 0xA6A - SYS___FMAL_H = 0xA6B - SYS___FMAXF_B = 0xA70 - SYS___FMAXF_H = 0xA71 - SYS___FMAXL_B = 0xA73 - SYS___FMAXL_H = 0xA74 - SYS___FMAX_B = 0xA6D - SYS___FMAX_H = 0xA6E - SYS___FMA_B = 0xA64 - SYS___FMA_H = 0xA65 - SYS___FMINF_B = 0xA79 - SYS___FMINF_H = 0xA7A - SYS___FMINL_B = 0xA7C - SYS___FMINL_H = 0xA7D - SYS___FMIN_B = 0xA76 - SYS___FMIN_H = 0xA77 - SYS___FPENDING = 0xD61 - SYS___FPENDING_UNLOCKED = 0xD6C - SYS___FPURGE = 0xD69 - SYS___FPURGE_UNLOCKED = 0xD70 - SYS___FP_CAST_D = 0xBCB - SYS___FREADABLE = 0xD63 - SYS___FREADAHEAD = 0xD6A - SYS___FREADAHEAD_UNLOCKED = 0xD71 - SYS___FREADING = 0xD65 - SYS___FREADING_UNLOCKED = 0xD6D - SYS___FSEEK2 = 0xB3C - SYS___FSETERR = 0xD6B - SYS___FSETLOCKING = 0xD67 - SYS___FTCHEP = 0x0BF - SYS___FTELL2 = 0xB3B - SYS___FUPDT = 0x0B5 - SYS___FWRITABLE = 0xD64 - SYS___FWRITING = 0xD66 - SYS___FWRITING_UNLOCKED = 0xD6E - SYS___GETCB = 0x0B4 - SYS___GETGRGID1 = 0xD5B - SYS___GETGRNAM1 = 0xD5C - SYS___GETTHENT = 0xCE5 - SYS___GETTOD = 0xD3E - SYS___HYPOTF_H = 0xAF6 - SYS___HYPOTL_H = 0xAF7 - SYS___ILOGBF_B = 0xA7F - SYS___ILOGBF_H = 0xA80 - SYS___ILOGBL_B = 0xA82 - SYS___ILOGBL_H = 0xA83 - SYS___ISBLANK_A = 0xB2E - SYS___ISBLNK = 0x0FE - SYS___ISWBLANK_A = 0xB2F - SYS___LE_CEEGTJS = 0xD72 - SYS___LE_TRACEBACK = 0xB7A - SYS___LGAMMAL_H = 0xA62 - SYS___LGAMMA_B_C99 = 0xB39 - SYS___LGAMMA_H_C99 = 0xB38 - SYS___LGAMMA_R_C99 = 0xB3A - SYS___LLRINTF_B = 0xA88 - SYS___LLRINTF_H = 0xA89 - SYS___LLRINTL_B = 0xA8B - SYS___LLRINTL_H = 0xA8C - SYS___LLRINT_B = 0xA85 - SYS___LLRINT_H = 0xA86 - SYS___LLROUNDF_B = 0xA91 - SYS___LLROUNDF_H = 0xA92 - SYS___LLROUNDL_B = 0xA94 - SYS___LLROUNDL_H = 0xA95 - SYS___LLROUND_B = 0xA8E - SYS___LLROUND_H = 0xA8F - SYS___LOCALE_CTL = 0xD47 - SYS___LOG1PF_H = 0xA60 - SYS___LOG1PL_H = 0xA61 - SYS___LOGBF_B = 0xA97 - SYS___LOGBF_H = 0xA98 - SYS___LOGBL_B = 0xA9A - SYS___LOGBL_H = 0xA9B - SYS___LOGIN_APPLID = 0xCE2 - SYS___LRINTF_B = 0xAA0 - SYS___LRINTF_H = 0xAA1 - SYS___LRINTL_B = 0xAA3 - SYS___LRINTL_H = 0xAA4 - SYS___LRINT_B = 0xA9D - SYS___LRINT_H = 0xA9E - SYS___LROUNDF_FIXUP = 0xB31 - SYS___LROUNDL_B = 0xAA6 - SYS___LROUNDL_H = 0xAA7 - SYS___LROUND_FIXUP = 0xB30 - SYS___MOSERVICES = 0xD3D - SYS___MUST_STAY_CLEAN = 0xB7C - SYS___NANF_B = 0xAAB - SYS___NANL_B = 0xAAD - SYS___NAN_B = 0xAA9 - SYS___NEARBYINTF_B = 0xAB2 - SYS___NEARBYINTF_H = 0xAB3 - SYS___NEARBYINTL_B = 0xAB5 - SYS___NEARBYINTL_H = 0xAB6 - SYS___NEARBYINT_B = 0xAAF - SYS___NEARBYINT_H = 0xAB0 - SYS___NEXTAFTERF_B = 0xAB8 - SYS___NEXTAFTERF_H = 0xAB9 - SYS___NEXTAFTERL_B = 0xABB - SYS___NEXTAFTERL_H = 0xABC - SYS___NEXTTOWARDF_B = 0xAC1 - SYS___NEXTTOWARDF_H = 0xAC2 - SYS___NEXTTOWARDL_B = 0xAC4 - SYS___NEXTTOWARDL_H = 0xAC5 - SYS___NEXTTOWARD_B = 0xABE - SYS___NEXTTOWARD_H = 0xABF - SYS___O_ENV = 0xB7D - SYS___PASSWD_APPLID = 0xCE3 - SYS___PTOD1 = 0xC9E - SYS___PTOD2 = 0xC9F - SYS___PTOD4 = 0xCA0 - SYS___REGCOMP_STD = 0x0EA - SYS___REMAINDERF_H = 0xAC6 - SYS___REMAINDERL_H = 0xAC7 - SYS___REMQUOD128 = 0xC10 - SYS___REMQUOD32 = 0xC0E - SYS___REMQUOD64 = 0xC0F - SYS___REMQUOF_H = 0xAC9 - SYS___REMQUOL_H = 0xACA - SYS___REMQUO_H = 0xAC8 - SYS___RINTF_B = 0xACC - SYS___RINTL_B = 0xACE - SYS___ROUNDF_B = 0xAD3 - SYS___ROUNDF_H = 0xAD4 - SYS___ROUNDL_B = 0xAD6 - SYS___ROUNDL_H = 0xAD7 - SYS___ROUND_B = 0xAD0 - SYS___ROUND_H = 0xAD1 - SYS___SCALBLNF_B = 0xADC - SYS___SCALBLNF_H = 0xADD - SYS___SCALBLNL_B = 0xADF - SYS___SCALBLNL_H = 0xAE0 - SYS___SCALBLN_B = 0xAD9 - SYS___SCALBLN_H = 0xADA - SYS___SCALBNF_B = 0xAE4 - SYS___SCALBNF_H = 0xAE5 - SYS___SCALBNL_B = 0xAE7 - SYS___SCALBNL_H = 0xAE8 - SYS___SCALBN_B = 0xAE1 - SYS___SCALBN_H = 0xAE2 - SYS___SETENV = 0x0C8 - SYS___SINPID128 = 0xC73 - SYS___SINPID32 = 0xC71 - SYS___SINPID64 = 0xC72 - SYS___SMF_RECORD2 = 0xD48 - SYS___STATIC_REINIT = 0xB3D - SYS___TGAMMAF_H_C99 = 0xB79 - SYS___TGAMMAL_H = 0xAE9 - SYS___TGAMMA_H_C99 = 0xB78 - SYS___TOCSNAME2 = 0xC9A - SYS_CEIL = 0x01F - SYS_CHAUDIT = 0x1E0 - SYS_EXP = 0x01A - SYS_FCHAUDIT = 0x1E1 - SYS_FREXP = 0x01D - SYS_GETGROUPSBYNAME = 0x1E2 - SYS_GETPWUID = 0x1A0 - SYS_GETUID = 0x1A1 - SYS_ISATTY = 0x1A3 - SYS_KILL = 0x1A4 - SYS_LDEXP = 0x01E - SYS_LINK = 0x1A5 - SYS_LOG10 = 0x01C - SYS_LSEEK = 0x1A6 - SYS_LSTAT = 0x1A7 - SYS_MKDIR = 0x1A8 - SYS_MKFIFO = 0x1A9 - SYS_MKNOD = 0x1AA - SYS_MODF = 0x01B - SYS_MOUNT = 0x1AB - SYS_OPEN = 0x1AC - SYS_OPENDIR = 0x1AD - SYS_PATHCONF = 0x1AE - SYS_PAUSE = 0x1AF - SYS_PIPE = 0x1B0 - SYS_PTHREAD_ATTR_DESTROY = 0x1E7 - SYS_PTHREAD_ATTR_GETDETACHSTATE = 0x1EB - SYS_PTHREAD_ATTR_GETSTACKSIZE = 0x1E9 - SYS_PTHREAD_ATTR_GETWEIGHT_NP = 0x1ED - SYS_PTHREAD_ATTR_INIT = 0x1E6 - SYS_PTHREAD_ATTR_SETDETACHSTATE = 0x1EA - SYS_PTHREAD_ATTR_SETSTACKSIZE = 0x1E8 - SYS_PTHREAD_ATTR_SETWEIGHT_NP = 0x1EC - SYS_PTHREAD_CANCEL = 0x1EE - SYS_PTHREAD_CLEANUP_POP = 0x1F0 - SYS_PTHREAD_CLEANUP_PUSH = 0x1EF - SYS_PTHREAD_CONDATTR_DESTROY = 0x1F2 - SYS_PTHREAD_CONDATTR_INIT = 0x1F1 - SYS_PTHREAD_COND_BROADCAST = 0x1F6 - SYS_PTHREAD_COND_DESTROY = 0x1F4 - SYS_PTHREAD_COND_INIT = 0x1F3 - SYS_PTHREAD_COND_SIGNAL = 0x1F5 - SYS_PTHREAD_COND_TIMEDWAIT = 0x1F8 - SYS_PTHREAD_COND_WAIT = 0x1F7 - SYS_PTHREAD_CREATE = 0x1F9 - SYS_PTHREAD_DETACH = 0x1FA - SYS_PTHREAD_EQUAL = 0x1FB - SYS_PTHREAD_EXIT = 0x1E4 - SYS_PTHREAD_GETSPECIFIC = 0x1FC - SYS_PTHREAD_JOIN = 0x1FD - SYS_PTHREAD_KEY_CREATE = 0x1FE - SYS_PTHREAD_KILL = 0x1E5 - SYS_PTHREAD_MUTEXATTR_INIT = 0x1FF - SYS_READ = 0x1B2 - SYS_READDIR = 0x1B3 - SYS_READLINK = 0x1B4 - SYS_REWINDDIR = 0x1B5 - SYS_RMDIR = 0x1B6 - SYS_SETEGID = 0x1B7 - SYS_SETEUID = 0x1B8 - SYS_SETGID = 0x1B9 - SYS_SETPGID = 0x1BA - SYS_SETSID = 0x1BB - SYS_SETUID = 0x1BC - SYS_SIGACTION = 0x1BD - SYS_SIGADDSET = 0x1BE - SYS_SIGDELSET = 0x1BF - SYS_SIGEMPTYSET = 0x1C0 - SYS_SIGFILLSET = 0x1C1 - SYS_SIGISMEMBER = 0x1C2 - SYS_SIGLONGJMP = 0x1C3 - SYS_SIGPENDING = 0x1C4 - SYS_SIGPROCMASK = 0x1C5 - SYS_SIGSETJMP = 0x1C6 - SYS_SIGSUSPEND = 0x1C7 - SYS_SIGWAIT = 0x1E3 - SYS_SLEEP = 0x1C8 - SYS_STAT = 0x1C9 - SYS_SYMLINK = 0x1CB - SYS_SYSCONF = 0x1CC - SYS_TCDRAIN = 0x1CD - SYS_TCFLOW = 0x1CE - SYS_TCFLUSH = 0x1CF - SYS_TCGETATTR = 0x1D0 - SYS_TCGETPGRP = 0x1D1 - SYS_TCSENDBREAK = 0x1D2 - SYS_TCSETATTR = 0x1D3 - SYS_TCSETPGRP = 0x1D4 - SYS_TIMES = 0x1D5 - SYS_TTYNAME = 0x1D6 - SYS_TZSET = 0x1D7 - SYS_UMASK = 0x1D8 - SYS_UMOUNT = 0x1D9 - SYS_UNAME = 0x1DA - SYS_UNLINK = 0x1DB - SYS_UTIME = 0x1DC - SYS_WAIT = 0x1DD - SYS_WAITPID = 0x1DE - SYS_WRITE = 0x1DF - SYS_W_GETPSENT = 0x1B1 - SYS_W_IOCTL = 0x1A2 - SYS_W_STATFS = 0x1CA - SYS_A64L = 0x2EF - SYS_BCMP = 0x2B9 - SYS_BCOPY = 0x2BA - SYS_BZERO = 0x2BB - SYS_CATCLOSE = 0x2B6 - SYS_CATGETS = 0x2B7 - SYS_CATOPEN = 0x2B8 - SYS_CRYPT = 0x2AC - SYS_DBM_CLEARERR = 0x2F7 - SYS_DBM_CLOSE = 0x2F8 - SYS_DBM_DELETE = 0x2F9 - SYS_DBM_ERROR = 0x2FA - SYS_DBM_FETCH = 0x2FB - SYS_DBM_FIRSTKEY = 0x2FC - SYS_DBM_NEXTKEY = 0x2FD - SYS_DBM_OPEN = 0x2FE - SYS_DBM_STORE = 0x2FF - SYS_DRAND48 = 0x2B2 - SYS_ENCRYPT = 0x2AD - SYS_ENDUTXENT = 0x2E1 - SYS_ERAND48 = 0x2B3 - SYS_ERF = 0x02C - SYS_ERFC = 0x02D - SYS_FCHDIR = 0x2D9 - SYS_FFS = 0x2BC - SYS_FMTMSG = 0x2E5 - SYS_FSTATVFS = 0x2B4 - SYS_FTIME = 0x2F5 - SYS_GAMMA = 0x02E - SYS_GETDATE = 0x2A6 - SYS_GETPAGESIZE = 0x2D8 - SYS_GETTIMEOFDAY = 0x2F6 - SYS_GETUTXENT = 0x2E0 - SYS_GETUTXID = 0x2E2 - SYS_GETUTXLINE = 0x2E3 - SYS_HCREATE = 0x2C6 - SYS_HDESTROY = 0x2C7 - SYS_HSEARCH = 0x2C8 - SYS_HYPOT = 0x02B - SYS_INDEX = 0x2BD - SYS_INITSTATE = 0x2C2 - SYS_INSQUE = 0x2CF - SYS_ISASCII = 0x2ED - SYS_JRAND48 = 0x2E6 - SYS_L64A = 0x2F0 - SYS_LCONG48 = 0x2EA - SYS_LFIND = 0x2C9 - SYS_LRAND48 = 0x2E7 - SYS_LSEARCH = 0x2CA - SYS_MEMCCPY = 0x2D4 - SYS_MRAND48 = 0x2E8 - SYS_NRAND48 = 0x2E9 - SYS_PCLOSE = 0x2D2 - SYS_POPEN = 0x2D1 - SYS_PUTUTXLINE = 0x2E4 - SYS_RANDOM = 0x2C4 - SYS_REMQUE = 0x2D0 - SYS_RINDEX = 0x2BE - SYS_SEED48 = 0x2EC - SYS_SETKEY = 0x2AE - SYS_SETSTATE = 0x2C3 - SYS_SETUTXENT = 0x2DF - SYS_SRAND48 = 0x2EB - SYS_SRANDOM = 0x2C5 - SYS_STATVFS = 0x2B5 - SYS_STRCASECMP = 0x2BF - SYS_STRDUP = 0x2C0 - SYS_STRNCASECMP = 0x2C1 - SYS_SWAB = 0x2D3 - SYS_TDELETE = 0x2CB - SYS_TFIND = 0x2CC - SYS_TOASCII = 0x2EE - SYS_TSEARCH = 0x2CD - SYS_TWALK = 0x2CE - SYS_UALARM = 0x2F1 - SYS_USLEEP = 0x2F2 - SYS_WAIT3 = 0x2A7 - SYS_WAITID = 0x2A8 - SYS_Y1 = 0x02A - SYS___ATOE = 0x2DB - SYS___ATOE_L = 0x2DC - SYS___CATTRM = 0x2A9 - SYS___CNVBLK = 0x2AF - SYS___CRYTRM = 0x2B0 - SYS___DLGHT = 0x2A1 - SYS___ECRTRM = 0x2B1 - SYS___ETOA = 0x2DD - SYS___ETOA_L = 0x2DE - SYS___GDTRM = 0x2AA - SYS___OCLCK = 0x2DA - SYS___OPARGF = 0x2A2 - SYS___OPERRF = 0x2A5 - SYS___OPINDF = 0x2A4 - SYS___OPOPTF = 0x2A3 - SYS___RNDTRM = 0x2AB - SYS___SRCTRM = 0x2F4 - SYS___TZONE = 0x2A0 - SYS___UTXTRM = 0x2F3 - SYS_ASIN = 0x03E - SYS_ISXDIGIT = 0x03B - SYS_SETLOCAL = 0x03A - SYS_SETLOCALE = 0x03A - SYS_SIN = 0x03F - SYS_TOLOWER = 0x03C - SYS_TOUPPER = 0x03D - SYS_ACCEPT_AND_RECV = 0x4F7 - SYS_ATOL = 0x04E - SYS_CHECKSCH = 0x4BC - SYS_CHECKSCHENV = 0x4BC - SYS_CLEARERR = 0x04C - SYS_CONNECTS = 0x4B5 - SYS_CONNECTSERVER = 0x4B5 - SYS_CONNECTW = 0x4B4 - SYS_CONNECTWORKMGR = 0x4B4 - SYS_CONTINUE = 0x4B3 - SYS_CONTINUEWORKUNIT = 0x4B3 - SYS_COPYSIGN = 0x4C2 - SYS_CREATEWO = 0x4B2 - SYS_CREATEWORKUNIT = 0x4B2 - SYS_DELETEWO = 0x4B9 - SYS_DELETEWORKUNIT = 0x4B9 - SYS_DISCONNE = 0x4B6 - SYS_DISCONNECTSERVER = 0x4B6 - SYS_FEOF = 0x04D - SYS_FERROR = 0x04A - SYS_FINITE = 0x4C8 - SYS_GAMMA_R = 0x4E2 - SYS_JOINWORK = 0x4B7 - SYS_JOINWORKUNIT = 0x4B7 - SYS_LEAVEWOR = 0x4B8 - SYS_LEAVEWORKUNIT = 0x4B8 - SYS_LGAMMA_R = 0x4EB - SYS_MATHERR = 0x4D0 - SYS_PERROR = 0x04F - SYS_QUERYMET = 0x4BA - SYS_QUERYMETRICS = 0x4BA - SYS_QUERYSCH = 0x4BB - SYS_QUERYSCHENV = 0x4BB - SYS_REWIND = 0x04B - SYS_SCALBN = 0x4D4 - SYS_SIGNIFIC = 0x4D5 - SYS_SIGNIFICAND = 0x4D5 - SYS___ACOSH_B = 0x4DA - SYS___ACOS_B = 0x4D9 - SYS___ASINH_B = 0x4BE - SYS___ASIN_B = 0x4DB - SYS___ATAN2_B = 0x4DC - SYS___ATANH_B = 0x4DD - SYS___ATAN_B = 0x4BF - SYS___CBRT_B = 0x4C0 - SYS___CEIL_B = 0x4C1 - SYS___COSH_B = 0x4DE - SYS___COS_B = 0x4C3 - SYS___DGHT = 0x4A8 - SYS___ENVN = 0x4B0 - SYS___ERFC_B = 0x4C5 - SYS___ERF_B = 0x4C4 - SYS___EXPM1_B = 0x4C6 - SYS___EXP_B = 0x4DF - SYS___FABS_B = 0x4C7 - SYS___FLOOR_B = 0x4C9 - SYS___FMOD_B = 0x4E0 - SYS___FP_SETMODE = 0x4F8 - SYS___FREXP_B = 0x4CA - SYS___GAMMA_B = 0x4E1 - SYS___GDRR = 0x4A1 - SYS___HRRNO = 0x4A2 - SYS___HYPOT_B = 0x4E3 - SYS___ILOGB_B = 0x4CB - SYS___ISNAN_B = 0x4CC - SYS___J0_B = 0x4E4 - SYS___J1_B = 0x4E6 - SYS___JN_B = 0x4E8 - SYS___LDEXP_B = 0x4CD - SYS___LGAMMA_B = 0x4EA - SYS___LOG10_B = 0x4ED - SYS___LOG1P_B = 0x4CE - SYS___LOGB_B = 0x4CF - SYS___LOGIN = 0x4F5 - SYS___LOG_B = 0x4EC - SYS___MLOCKALL = 0x4B1 - SYS___MODF_B = 0x4D1 - SYS___NEXTAFTER_B = 0x4D2 - SYS___OPENDIR2 = 0x4F3 - SYS___OPEN_STAT = 0x4F6 - SYS___OPND = 0x4A5 - SYS___OPPT = 0x4A6 - SYS___OPRG = 0x4A3 - SYS___OPRR = 0x4A4 - SYS___PID_AFFINITY = 0x4BD - SYS___POW_B = 0x4EE - SYS___READDIR2 = 0x4F4 - SYS___REMAINDER_B = 0x4EF - SYS___RINT_B = 0x4D3 - SYS___SCALB_B = 0x4F0 - SYS___SIGACTIONSET = 0x4FB - SYS___SIGGM = 0x4A7 - SYS___SINH_B = 0x4F1 - SYS___SIN_B = 0x4D6 - SYS___SQRT_B = 0x4F2 - SYS___TANH_B = 0x4D8 - SYS___TAN_B = 0x4D7 - SYS___TRRNO = 0x4AF - SYS___TZNE = 0x4A9 - SYS___TZZN = 0x4AA - SYS___UCREATE = 0x4FC - SYS___UFREE = 0x4FE - SYS___UHEAPREPORT = 0x4FF - SYS___UMALLOC = 0x4FD - SYS___Y0_B = 0x4E5 - SYS___Y1_B = 0x4E7 - SYS___YN_B = 0x4E9 - SYS_ABORT = 0x05C - SYS_ASCTIME_R = 0x5E0 - SYS_ATEXIT = 0x05D - SYS_CONNECTE = 0x5AE - SYS_CONNECTEXPORTIMPORT = 0x5AE - SYS_CTIME_R = 0x5E1 - SYS_DN_COMP = 0x5DF - SYS_DN_EXPAND = 0x5DD - SYS_DN_SKIPNAME = 0x5DE - SYS_EXIT = 0x05A - SYS_EXPORTWO = 0x5A1 - SYS_EXPORTWORKUNIT = 0x5A1 - SYS_EXTRACTW = 0x5A5 - SYS_EXTRACTWORKUNIT = 0x5A5 - SYS_FSEEKO = 0x5C9 - SYS_FTELLO = 0x5C8 - SYS_GETGRGID_R = 0x5E7 - SYS_GETGRNAM_R = 0x5E8 - SYS_GETLOGIN_R = 0x5E9 - SYS_GETPWNAM_R = 0x5EA - SYS_GETPWUID_R = 0x5EB - SYS_GMTIME_R = 0x5E2 - SYS_IMPORTWO = 0x5A3 - SYS_IMPORTWORKUNIT = 0x5A3 - SYS_INET_NTOP = 0x5D3 - SYS_INET_PTON = 0x5D4 - SYS_LLABS = 0x5CE - SYS_LLDIV = 0x5CB - SYS_LOCALTIME_R = 0x5E3 - SYS_PTHREAD_ATFORK = 0x5ED - SYS_PTHREAD_ATTR_GETDETACHSTATE_U98 = 0x5FB - SYS_PTHREAD_ATTR_GETGUARDSIZE = 0x5EE - SYS_PTHREAD_ATTR_GETSCHEDPARAM = 0x5F9 - SYS_PTHREAD_ATTR_GETSTACKADDR = 0x5EF - SYS_PTHREAD_ATTR_SETDETACHSTATE_U98 = 0x5FC - SYS_PTHREAD_ATTR_SETGUARDSIZE = 0x5F0 - SYS_PTHREAD_ATTR_SETSCHEDPARAM = 0x5FA - SYS_PTHREAD_ATTR_SETSTACKADDR = 0x5F1 - SYS_PTHREAD_CONDATTR_GETPSHARED = 0x5F2 - SYS_PTHREAD_CONDATTR_SETPSHARED = 0x5F3 - SYS_PTHREAD_DETACH_U98 = 0x5FD - SYS_PTHREAD_GETCONCURRENCY = 0x5F4 - SYS_PTHREAD_GETSPECIFIC_U98 = 0x5FE - SYS_PTHREAD_KEY_DELETE = 0x5F5 - SYS_PTHREAD_SETCANCELSTATE = 0x5FF - SYS_PTHREAD_SETCONCURRENCY = 0x5F6 - SYS_PTHREAD_SIGMASK = 0x5F7 - SYS_QUERYENC = 0x5AD - SYS_QUERYWORKUNITCLASSIFICATION = 0x5AD - SYS_RAISE = 0x05E - SYS_RAND_R = 0x5E4 - SYS_READDIR_R = 0x5E6 - SYS_REALLOC = 0x05B - SYS_RES_INIT = 0x5D8 - SYS_RES_MKQUERY = 0x5D7 - SYS_RES_QUERY = 0x5D9 - SYS_RES_QUERYDOMAIN = 0x5DC - SYS_RES_SEARCH = 0x5DA - SYS_RES_SEND = 0x5DB - SYS_SETJMP = 0x05F - SYS_SIGQUEUE = 0x5A9 - SYS_STRTOK_R = 0x5E5 - SYS_STRTOLL = 0x5B0 - SYS_STRTOULL = 0x5B1 - SYS_TTYNAME_R = 0x5EC - SYS_UNDOEXPO = 0x5A2 - SYS_UNDOEXPORTWORKUNIT = 0x5A2 - SYS_UNDOIMPO = 0x5A4 - SYS_UNDOIMPORTWORKUNIT = 0x5A4 - SYS_WCSTOLL = 0x5CC - SYS_WCSTOULL = 0x5CD - SYS___ABORT = 0x05C - SYS___CONSOLE2 = 0x5D2 - SYS___CPL = 0x5A6 - SYS___DISCARDDATA = 0x5F8 - SYS___DSA_PREV = 0x5B2 - SYS___EP_FIND = 0x5B3 - SYS___FP_SWAPMODE = 0x5AF - SYS___GETUSERID = 0x5AB - SYS___GET_CPUID = 0x5B9 - SYS___GET_SYSTEM_SETTINGS = 0x5BA - SYS___IPDOMAINNAME = 0x5AC - SYS___MAP_INIT = 0x5A7 - SYS___MAP_SERVICE = 0x5A8 - SYS___MOUNT = 0x5AA - SYS___MSGRCV_TIMED = 0x5B7 - SYS___RES = 0x5D6 - SYS___SEMOP_TIMED = 0x5B8 - SYS___SERVER_THREADS_QUERY = 0x5B4 - SYS_FPRINTF = 0x06D - SYS_FSCANF = 0x06A - SYS_PRINTF = 0x06F - SYS_SETBUF = 0x06B - SYS_SETVBUF = 0x06C - SYS_SSCANF = 0x06E - SYS___CATGETS_A = 0x6C0 - SYS___CHAUDIT_A = 0x6F4 - SYS___CHMOD_A = 0x6E8 - SYS___COLLATE_INIT_A = 0x6AC - SYS___CREAT_A = 0x6F6 - SYS___CTYPE_INIT_A = 0x6AF - SYS___DLLLOAD_A = 0x6DF - SYS___DLLQUERYFN_A = 0x6E0 - SYS___DLLQUERYVAR_A = 0x6E1 - SYS___E2A_L = 0x6E3 - SYS___EXECLE_A = 0x6A0 - SYS___EXECLP_A = 0x6A4 - SYS___EXECVE_A = 0x6C1 - SYS___EXECVP_A = 0x6C2 - SYS___EXECV_A = 0x6B1 - SYS___FPRINTF_A = 0x6FA - SYS___GETADDRINFO_A = 0x6BF - SYS___GETNAMEINFO_A = 0x6C4 - SYS___GET_WCTYPE_STD_A = 0x6AE - SYS___ICONV_OPEN_A = 0x6DE - SYS___IF_INDEXTONAME_A = 0x6DC - SYS___IF_NAMETOINDEX_A = 0x6DB - SYS___ISWCTYPE_A = 0x6B0 - SYS___IS_WCTYPE_STD_A = 0x6B2 - SYS___LOCALECONV_A = 0x6B8 - SYS___LOCALECONV_STD_A = 0x6B9 - SYS___LOCALE_INIT_A = 0x6B7 - SYS___LSTAT_A = 0x6EE - SYS___LSTAT_O_A = 0x6EF - SYS___MKDIR_A = 0x6E9 - SYS___MKFIFO_A = 0x6EC - SYS___MKNOD_A = 0x6F0 - SYS___MONETARY_INIT_A = 0x6BC - SYS___MOUNT_A = 0x6F1 - SYS___NL_CSINFO_A = 0x6D6 - SYS___NL_LANGINFO_A = 0x6BA - SYS___NL_LNAGINFO_STD_A = 0x6BB - SYS___NL_MONINFO_A = 0x6D7 - SYS___NL_NUMINFO_A = 0x6D8 - SYS___NL_RESPINFO_A = 0x6D9 - SYS___NL_TIMINFO_A = 0x6DA - SYS___NUMERIC_INIT_A = 0x6C6 - SYS___OPEN_A = 0x6F7 - SYS___PRINTF_A = 0x6DD - SYS___RESP_INIT_A = 0x6C7 - SYS___RPMATCH_A = 0x6C8 - SYS___RPMATCH_C_A = 0x6C9 - SYS___RPMATCH_STD_A = 0x6CA - SYS___SETLOCALE_A = 0x6F9 - SYS___SPAWNP_A = 0x6C5 - SYS___SPAWN_A = 0x6C3 - SYS___SPRINTF_A = 0x6FB - SYS___STAT_A = 0x6EA - SYS___STAT_O_A = 0x6EB - SYS___STRCOLL_STD_A = 0x6A1 - SYS___STRFMON_A = 0x6BD - SYS___STRFMON_STD_A = 0x6BE - SYS___STRFTIME_A = 0x6CC - SYS___STRFTIME_STD_A = 0x6CD - SYS___STRPTIME_A = 0x6CE - SYS___STRPTIME_STD_A = 0x6CF - SYS___STRXFRM_A = 0x6A2 - SYS___STRXFRM_C_A = 0x6A3 - SYS___STRXFRM_STD_A = 0x6A5 - SYS___SYNTAX_INIT_A = 0x6D4 - SYS___TIME_INIT_A = 0x6CB - SYS___TOD_INIT_A = 0x6D5 - SYS___TOWLOWER_A = 0x6B3 - SYS___TOWLOWER_STD_A = 0x6B4 - SYS___TOWUPPER_A = 0x6B5 - SYS___TOWUPPER_STD_A = 0x6B6 - SYS___UMOUNT_A = 0x6F2 - SYS___VFPRINTF_A = 0x6FC - SYS___VPRINTF_A = 0x6FD - SYS___VSPRINTF_A = 0x6FE - SYS___VSWPRINTF_A = 0x6FF - SYS___WCSCOLL_A = 0x6A6 - SYS___WCSCOLL_C_A = 0x6A7 - SYS___WCSCOLL_STD_A = 0x6A8 - SYS___WCSFTIME_A = 0x6D0 - SYS___WCSFTIME_STD_A = 0x6D1 - SYS___WCSXFRM_A = 0x6A9 - SYS___WCSXFRM_C_A = 0x6AA - SYS___WCSXFRM_STD_A = 0x6AB - SYS___WCTYPE_A = 0x6AD - SYS___W_GETMNTENT_A = 0x6F5 - SYS_____CCSIDTYPE_A = 0x6E6 - SYS_____CHATTR_A = 0x6E2 - SYS_____CSNAMETYPE_A = 0x6E7 - SYS_____OPEN_STAT_A = 0x6ED - SYS_____SPAWN2_A = 0x6D2 - SYS_____SPAWNP2_A = 0x6D3 - SYS_____TOCCSID_A = 0x6E4 - SYS_____TOCSNAME_A = 0x6E5 - SYS_ACL_FREE = 0x7FF - SYS_ACL_INIT = 0x7FE - SYS_FWIDE = 0x7DF - SYS_FWPRINTF = 0x7D1 - SYS_FWRITE = 0x07E - SYS_FWSCANF = 0x7D5 - SYS_GETCHAR = 0x07B - SYS_GETS = 0x07C - SYS_M_CREATE_LAYOUT = 0x7C9 - SYS_M_DESTROY_LAYOUT = 0x7CA - SYS_M_GETVALUES_LAYOUT = 0x7CB - SYS_M_SETVALUES_LAYOUT = 0x7CC - SYS_M_TRANSFORM_LAYOUT = 0x7CD - SYS_M_WTRANSFORM_LAYOUT = 0x7CE - SYS_PREAD = 0x7C7 - SYS_PUTC = 0x07D - SYS_PUTCHAR = 0x07A - SYS_PUTS = 0x07F - SYS_PWRITE = 0x7C8 - SYS_TOWCTRAN = 0x7D8 - SYS_TOWCTRANS = 0x7D8 - SYS_UNATEXIT = 0x7B5 - SYS_VFWPRINT = 0x7D3 - SYS_VFWPRINTF = 0x7D3 - SYS_VWPRINTF = 0x7D4 - SYS_WCTRANS = 0x7D7 - SYS_WPRINTF = 0x7D2 - SYS_WSCANF = 0x7D6 - SYS___ASCTIME_R_A = 0x7A1 - SYS___BASENAME_A = 0x7DC - SYS___BTOWC_A = 0x7E4 - SYS___CDUMP_A = 0x7B7 - SYS___CEE3DMP_A = 0x7B6 - SYS___CEILF_H = 0x7F4 - SYS___CEILL_H = 0x7F5 - SYS___CEIL_H = 0x7EA - SYS___CRYPT_A = 0x7BE - SYS___CSNAP_A = 0x7B8 - SYS___CTEST_A = 0x7B9 - SYS___CTIME_R_A = 0x7A2 - SYS___CTRACE_A = 0x7BA - SYS___DBM_OPEN_A = 0x7E6 - SYS___DIRNAME_A = 0x7DD - SYS___FABSF_H = 0x7FA - SYS___FABSL_H = 0x7FB - SYS___FABS_H = 0x7ED - SYS___FGETWC_A = 0x7AA - SYS___FGETWS_A = 0x7AD - SYS___FLOORF_H = 0x7F6 - SYS___FLOORL_H = 0x7F7 - SYS___FLOOR_H = 0x7EB - SYS___FPUTWC_A = 0x7A5 - SYS___FPUTWS_A = 0x7A8 - SYS___GETTIMEOFDAY_A = 0x7AE - SYS___GETWCHAR_A = 0x7AC - SYS___GETWC_A = 0x7AB - SYS___GLOB_A = 0x7DE - SYS___GMTIME_A = 0x7AF - SYS___GMTIME_R_A = 0x7B0 - SYS___INET_PTON_A = 0x7BC - SYS___J0_H = 0x7EE - SYS___J1_H = 0x7EF - SYS___JN_H = 0x7F0 - SYS___LOCALTIME_A = 0x7B1 - SYS___LOCALTIME_R_A = 0x7B2 - SYS___MALLOC24 = 0x7FC - SYS___MALLOC31 = 0x7FD - SYS___MKTIME_A = 0x7B3 - SYS___MODFF_H = 0x7F8 - SYS___MODFL_H = 0x7F9 - SYS___MODF_H = 0x7EC - SYS___OPENDIR_A = 0x7C2 - SYS___OSNAME = 0x7E0 - SYS___PUTWCHAR_A = 0x7A7 - SYS___PUTWC_A = 0x7A6 - SYS___READDIR_A = 0x7C3 - SYS___STRTOLL_A = 0x7A3 - SYS___STRTOULL_A = 0x7A4 - SYS___SYSLOG_A = 0x7BD - SYS___TZZNA = 0x7B4 - SYS___UNGETWC_A = 0x7A9 - SYS___UTIME_A = 0x7A0 - SYS___VFPRINTF2_A = 0x7E7 - SYS___VPRINTF2_A = 0x7E8 - SYS___VSPRINTF2_A = 0x7E9 - SYS___VSWPRNTF2_A = 0x7BB - SYS___WCSTOD_A = 0x7D9 - SYS___WCSTOL_A = 0x7DA - SYS___WCSTOUL_A = 0x7DB - SYS___WCTOB_A = 0x7E5 - SYS___Y0_H = 0x7F1 - SYS___Y1_H = 0x7F2 - SYS___YN_H = 0x7F3 - SYS_____OPENDIR2_A = 0x7BF - SYS_____OSNAME_A = 0x7E1 - SYS_____READDIR2_A = 0x7C0 - SYS_DLCLOSE = 0x8DF - SYS_DLERROR = 0x8E0 - SYS_DLOPEN = 0x8DD - SYS_DLSYM = 0x8DE - SYS_FLOCKFILE = 0x8D3 - SYS_FTRYLOCKFILE = 0x8D4 - SYS_FUNLOCKFILE = 0x8D5 - SYS_GETCHAR_UNLOCKED = 0x8D7 - SYS_GETC_UNLOCKED = 0x8D6 - SYS_PUTCHAR_UNLOCKED = 0x8D9 - SYS_PUTC_UNLOCKED = 0x8D8 - SYS_SNPRINTF = 0x8DA - SYS_VSNPRINTF = 0x8DB - SYS_WCSCSPN = 0x08B - SYS_WCSLEN = 0x08C - SYS_WCSNCAT = 0x08D - SYS_WCSNCMP = 0x08A - SYS_WCSNCPY = 0x08F - SYS_WCSSPN = 0x08E - SYS___ABSF_H = 0x8E7 - SYS___ABSL_H = 0x8E8 - SYS___ABS_H = 0x8E6 - SYS___ACOSF_H = 0x8EA - SYS___ACOSH_H = 0x8EC - SYS___ACOSL_H = 0x8EB - SYS___ACOS_H = 0x8E9 - SYS___ASINF_H = 0x8EE - SYS___ASINH_H = 0x8F0 - SYS___ASINL_H = 0x8EF - SYS___ASIN_H = 0x8ED - SYS___ATAN2F_H = 0x8F8 - SYS___ATAN2L_H = 0x8F9 - SYS___ATAN2_H = 0x8F7 - SYS___ATANF_H = 0x8F2 - SYS___ATANHF_H = 0x8F5 - SYS___ATANHL_H = 0x8F6 - SYS___ATANH_H = 0x8F4 - SYS___ATANL_H = 0x8F3 - SYS___ATAN_H = 0x8F1 - SYS___CBRT_H = 0x8FA - SYS___COPYSIGNF_H = 0x8FB - SYS___COPYSIGNL_H = 0x8FC - SYS___COSF_H = 0x8FE - SYS___COSL_H = 0x8FF - SYS___COS_H = 0x8FD - SYS___DLERROR_A = 0x8D2 - SYS___DLOPEN_A = 0x8D0 - SYS___DLSYM_A = 0x8D1 - SYS___GETUTXENT_A = 0x8C6 - SYS___GETUTXID_A = 0x8C7 - SYS___GETUTXLINE_A = 0x8C8 - SYS___ITOA = 0x8AA - SYS___ITOA_A = 0x8B0 - SYS___LE_CONDITION_TOKEN_BUILD = 0x8A5 - SYS___LE_MSG_ADD_INSERT = 0x8A6 - SYS___LE_MSG_GET = 0x8A7 - SYS___LE_MSG_GET_AND_WRITE = 0x8A8 - SYS___LE_MSG_WRITE = 0x8A9 - SYS___LLTOA = 0x8AE - SYS___LLTOA_A = 0x8B4 - SYS___LTOA = 0x8AC - SYS___LTOA_A = 0x8B2 - SYS___PUTCHAR_UNLOCKED_A = 0x8CC - SYS___PUTC_UNLOCKED_A = 0x8CB - SYS___PUTUTXLINE_A = 0x8C9 - SYS___RESET_EXCEPTION_HANDLER = 0x8E3 - SYS___REXEC_A = 0x8C4 - SYS___REXEC_AF_A = 0x8C5 - SYS___SET_EXCEPTION_HANDLER = 0x8E2 - SYS___SNPRINTF_A = 0x8CD - SYS___SUPERKILL = 0x8A4 - SYS___TCGETATTR_A = 0x8A1 - SYS___TCSETATTR_A = 0x8A2 - SYS___ULLTOA = 0x8AF - SYS___ULLTOA_A = 0x8B5 - SYS___ULTOA = 0x8AD - SYS___ULTOA_A = 0x8B3 - SYS___UTOA = 0x8AB - SYS___UTOA_A = 0x8B1 - SYS___VHM_EVENT = 0x8E4 - SYS___VSNPRINTF_A = 0x8CE - SYS_____GETENV_A = 0x8C3 - SYS_____UTMPXNAME_A = 0x8CA - SYS_CACOSH = 0x9A0 - SYS_CACOSHF = 0x9A3 - SYS_CACOSHL = 0x9A6 - SYS_CARG = 0x9A9 - SYS_CARGF = 0x9AC - SYS_CARGL = 0x9AF - SYS_CASIN = 0x9B2 - SYS_CASINF = 0x9B5 - SYS_CASINH = 0x9BB - SYS_CASINHF = 0x9BE - SYS_CASINHL = 0x9C1 - SYS_CASINL = 0x9B8 - SYS_CATAN = 0x9C4 - SYS_CATANF = 0x9C7 - SYS_CATANH = 0x9CD - SYS_CATANHF = 0x9D0 - SYS_CATANHL = 0x9D3 - SYS_CATANL = 0x9CA - SYS_CCOS = 0x9D6 - SYS_CCOSF = 0x9D9 - SYS_CCOSH = 0x9DF - SYS_CCOSHF = 0x9E2 - SYS_CCOSHL = 0x9E5 - SYS_CCOSL = 0x9DC - SYS_CEXP = 0x9E8 - SYS_CEXPF = 0x9EB - SYS_CEXPL = 0x9EE - SYS_CIMAG = 0x9F1 - SYS_CIMAGF = 0x9F4 - SYS_CIMAGL = 0x9F7 - SYS_CLOGF = 0x9FD - SYS_MEMCHR = 0x09B - SYS_MEMCMP = 0x09A - SYS_STRCOLL = 0x09C - SYS_STRNCMP = 0x09D - SYS_STRRCHR = 0x09F - SYS_STRXFRM = 0x09E - SYS___CACOSHF_B = 0x9A4 - SYS___CACOSHF_H = 0x9A5 - SYS___CACOSHL_B = 0x9A7 - SYS___CACOSHL_H = 0x9A8 - SYS___CACOSH_B = 0x9A1 - SYS___CACOSH_H = 0x9A2 - SYS___CARGF_B = 0x9AD - SYS___CARGF_H = 0x9AE - SYS___CARGL_B = 0x9B0 - SYS___CARGL_H = 0x9B1 - SYS___CARG_B = 0x9AA - SYS___CARG_H = 0x9AB - SYS___CASINF_B = 0x9B6 - SYS___CASINF_H = 0x9B7 - SYS___CASINHF_B = 0x9BF - SYS___CASINHF_H = 0x9C0 - SYS___CASINHL_B = 0x9C2 - SYS___CASINHL_H = 0x9C3 - SYS___CASINH_B = 0x9BC - SYS___CASINH_H = 0x9BD - SYS___CASINL_B = 0x9B9 - SYS___CASINL_H = 0x9BA - SYS___CASIN_B = 0x9B3 - SYS___CASIN_H = 0x9B4 - SYS___CATANF_B = 0x9C8 - SYS___CATANF_H = 0x9C9 - SYS___CATANHF_B = 0x9D1 - SYS___CATANHF_H = 0x9D2 - SYS___CATANHL_B = 0x9D4 - SYS___CATANHL_H = 0x9D5 - SYS___CATANH_B = 0x9CE - SYS___CATANH_H = 0x9CF - SYS___CATANL_B = 0x9CB - SYS___CATANL_H = 0x9CC - SYS___CATAN_B = 0x9C5 - SYS___CATAN_H = 0x9C6 - SYS___CCOSF_B = 0x9DA - SYS___CCOSF_H = 0x9DB - SYS___CCOSHF_B = 0x9E3 - SYS___CCOSHF_H = 0x9E4 - SYS___CCOSHL_B = 0x9E6 - SYS___CCOSHL_H = 0x9E7 - SYS___CCOSH_B = 0x9E0 - SYS___CCOSH_H = 0x9E1 - SYS___CCOSL_B = 0x9DD - SYS___CCOSL_H = 0x9DE - SYS___CCOS_B = 0x9D7 - SYS___CCOS_H = 0x9D8 - SYS___CEXPF_B = 0x9EC - SYS___CEXPF_H = 0x9ED - SYS___CEXPL_B = 0x9EF - SYS___CEXPL_H = 0x9F0 - SYS___CEXP_B = 0x9E9 - SYS___CEXP_H = 0x9EA - SYS___CIMAGF_B = 0x9F5 - SYS___CIMAGF_H = 0x9F6 - SYS___CIMAGL_B = 0x9F8 - SYS___CIMAGL_H = 0x9F9 - SYS___CIMAG_B = 0x9F2 - SYS___CIMAG_H = 0x9F3 - SYS___CLOG = 0x9FA - SYS___CLOGF_B = 0x9FE - SYS___CLOGF_H = 0x9FF - SYS___CLOG_B = 0x9FB - SYS___CLOG_H = 0x9FC - SYS_ISWCTYPE = 0x10C - SYS_ISWXDIGI = 0x10A - SYS_ISWXDIGIT = 0x10A - SYS_MBSINIT = 0x10F - SYS_TOWLOWER = 0x10D - SYS_TOWUPPER = 0x10E - SYS_WCTYPE = 0x10B - SYS_WCSSTR = 0x11B - SYS___RPMTCH = 0x11A - SYS_WCSTOD = 0x12E - SYS_WCSTOK = 0x12C - SYS_WCSTOL = 0x12D - SYS_WCSTOUL = 0x12F - SYS_FGETWC = 0x13C - SYS_FGETWS = 0x13D - SYS_FPUTWC = 0x13E - SYS_FPUTWS = 0x13F - SYS_REGERROR = 0x13B - SYS_REGFREE = 0x13A - SYS_COLLEQUIV = 0x14F - SYS_COLLTOSTR = 0x14E - SYS_ISMCCOLLEL = 0x14C - SYS_STRTOCOLL = 0x14D - SYS_DLLFREE = 0x16F - SYS_DLLQUERYFN = 0x16D - SYS_DLLQUERYVAR = 0x16E - SYS_GETMCCOLL = 0x16A - SYS_GETWMCCOLL = 0x16B - SYS___ERR2AD = 0x16C - SYS_CFSETOSPEED = 0x17A - SYS_CHDIR = 0x17B - SYS_CHMOD = 0x17C - SYS_CHOWN = 0x17D - SYS_CLOSE = 0x17E - SYS_CLOSEDIR = 0x17F - SYS_LOG = 0x017 - SYS_COSH = 0x018 - SYS_FCHMOD = 0x18A - SYS_FCHOWN = 0x18B - SYS_FCNTL = 0x18C - SYS_FILENO = 0x18D - SYS_FORK = 0x18E - SYS_FPATHCONF = 0x18F - SYS_GETLOGIN = 0x19A - SYS_GETPGRP = 0x19C - SYS_GETPID = 0x19D - SYS_GETPPID = 0x19E - SYS_GETPWNAM = 0x19F - SYS_TANH = 0x019 - SYS_W_GETMNTENT = 0x19B - SYS_POW = 0x020 - SYS_PTHREAD_SELF = 0x20A - SYS_PTHREAD_SETINTR = 0x20B - SYS_PTHREAD_SETINTRTYPE = 0x20C - SYS_PTHREAD_SETSPECIFIC = 0x20D - SYS_PTHREAD_TESTINTR = 0x20E - SYS_PTHREAD_YIELD = 0x20F - SYS_SQRT = 0x021 - SYS_FLOOR = 0x022 - SYS_J1 = 0x023 - SYS_WCSPBRK = 0x23F - SYS_BSEARCH = 0x24C - SYS_FABS = 0x024 - SYS_GETENV = 0x24A - SYS_LDIV = 0x24D - SYS_SYSTEM = 0x24B - SYS_FMOD = 0x025 - SYS___RETHROW = 0x25F - SYS___THROW = 0x25E - SYS_J0 = 0x026 - SYS_PUTENV = 0x26A - SYS___GETENV = 0x26F - SYS_SEMCTL = 0x27A - SYS_SEMGET = 0x27B - SYS_SEMOP = 0x27C - SYS_SHMAT = 0x27D - SYS_SHMCTL = 0x27E - SYS_SHMDT = 0x27F - SYS_YN = 0x027 - SYS_JN = 0x028 - SYS_SIGALTSTACK = 0x28A - SYS_SIGHOLD = 0x28B - SYS_SIGIGNORE = 0x28C - SYS_SIGINTERRUPT = 0x28D - SYS_SIGPAUSE = 0x28E - SYS_SIGRELSE = 0x28F - SYS_GETOPT = 0x29A - SYS_GETSUBOPT = 0x29D - SYS_LCHOWN = 0x29B - SYS_SETPGRP = 0x29E - SYS_TRUNCATE = 0x29C - SYS_Y0 = 0x029 - SYS___GDERR = 0x29F - SYS_ISALPHA = 0x030 - SYS_VFORK = 0x30F - SYS__LONGJMP = 0x30D - SYS__SETJMP = 0x30E - SYS_GLOB = 0x31A - SYS_GLOBFREE = 0x31B - SYS_ISALNUM = 0x031 - SYS_PUTW = 0x31C - SYS_SEEKDIR = 0x31D - SYS_TELLDIR = 0x31E - SYS_TEMPNAM = 0x31F - SYS_GETTIMEOFDAY_R = 0x32E - SYS_ISLOWER = 0x032 - SYS_LGAMMA = 0x32C - SYS_REMAINDER = 0x32A - SYS_SCALB = 0x32B - SYS_SYNC = 0x32F - SYS_TTYSLOT = 0x32D - SYS_ENDPROTOENT = 0x33A - SYS_ENDSERVENT = 0x33B - SYS_GETHOSTBYADDR = 0x33D - SYS_GETHOSTBYADDR_R = 0x33C - SYS_GETHOSTBYNAME = 0x33F - SYS_GETHOSTBYNAME_R = 0x33E - SYS_ISCNTRL = 0x033 - SYS_GETSERVBYNAME = 0x34A - SYS_GETSERVBYPORT = 0x34B - SYS_GETSERVENT = 0x34C - SYS_GETSOCKNAME = 0x34D - SYS_GETSOCKOPT = 0x34E - SYS_INET_ADDR = 0x34F - SYS_ISDIGIT = 0x034 - SYS_ISGRAPH = 0x035 - SYS_SELECT = 0x35B - SYS_SELECTEX = 0x35C - SYS_SEND = 0x35D - SYS_SENDTO = 0x35F - SYS_CHROOT = 0x36A - SYS_ISNAN = 0x36D - SYS_ISUPPER = 0x036 - SYS_ULIMIT = 0x36C - SYS_UTIMES = 0x36E - SYS_W_STATVFS = 0x36B - SYS___H_ERRNO = 0x36F - SYS_GRANTPT = 0x37A - SYS_ISPRINT = 0x037 - SYS_TCGETSID = 0x37C - SYS_UNLOCKPT = 0x37B - SYS___TCGETCP = 0x37D - SYS___TCSETCP = 0x37E - SYS___TCSETTABLES = 0x37F - SYS_ISPUNCT = 0x038 - SYS_NLIST = 0x38C - SYS___IPDBCS = 0x38D - SYS___IPDSPX = 0x38E - SYS___IPMSGC = 0x38F - SYS___STHOSTENT = 0x38B - SYS___STSERVENT = 0x38A - SYS_ISSPACE = 0x039 - SYS_COS = 0x040 - SYS_T_ALLOC = 0x40A - SYS_T_BIND = 0x40B - SYS_T_CLOSE = 0x40C - SYS_T_CONNECT = 0x40D - SYS_T_ERROR = 0x40E - SYS_T_FREE = 0x40F - SYS_TAN = 0x041 - SYS_T_RCVREL = 0x41A - SYS_T_RCVUDATA = 0x41B - SYS_T_RCVUDERR = 0x41C - SYS_T_SND = 0x41D - SYS_T_SNDDIS = 0x41E - SYS_T_SNDREL = 0x41F - SYS_GETPMSG = 0x42A - SYS_ISASTREAM = 0x42B - SYS_PUTMSG = 0x42C - SYS_PUTPMSG = 0x42D - SYS_SINH = 0x042 - SYS___ISPOSIXON = 0x42E - SYS___OPENMVSREL = 0x42F - SYS_ACOS = 0x043 - SYS_ATAN = 0x044 - SYS_ATAN2 = 0x045 - SYS_FTELL = 0x046 - SYS_FGETPOS = 0x047 - SYS_SOCK_DEBUG = 0x47A - SYS_SOCK_DO_TESTSTOR = 0x47D - SYS_TAKESOCKET = 0x47E - SYS___SERVER_INIT = 0x47F - SYS_FSEEK = 0x048 - SYS___IPHOST = 0x48B - SYS___IPNODE = 0x48C - SYS___SERVER_CLASSIFY_CREATE = 0x48D - SYS___SERVER_CLASSIFY_DESTROY = 0x48E - SYS___SERVER_CLASSIFY_RESET = 0x48F - SYS___SMF_RECORD = 0x48A - SYS_FSETPOS = 0x049 - SYS___FNWSA = 0x49B - SYS___SPAWN2 = 0x49D - SYS___SPAWNP2 = 0x49E - SYS_ATOF = 0x050 - SYS_PTHREAD_MUTEXATTR_GETPSHARED = 0x50A - SYS_PTHREAD_MUTEXATTR_SETPSHARED = 0x50B - SYS_PTHREAD_RWLOCK_DESTROY = 0x50C - SYS_PTHREAD_RWLOCK_INIT = 0x50D - SYS_PTHREAD_RWLOCK_RDLOCK = 0x50E - SYS_PTHREAD_RWLOCK_TRYRDLOCK = 0x50F - SYS_ATOI = 0x051 - SYS___FP_CLASS = 0x51D - SYS___FP_CLR_FLAG = 0x51A - SYS___FP_FINITE = 0x51E - SYS___FP_ISNAN = 0x51F - SYS___FP_RAISE_XCP = 0x51C - SYS___FP_READ_FLAG = 0x51B - SYS_RAND = 0x052 - SYS_SIGTIMEDWAIT = 0x52D - SYS_SIGWAITINFO = 0x52E - SYS___CHKBFP = 0x52F - SYS___FPC_RS = 0x52C - SYS___FPC_RW = 0x52A - SYS___FPC_SM = 0x52B - SYS_STRTOD = 0x053 - SYS_STRTOL = 0x054 - SYS_STRTOUL = 0x055 - SYS_MALLOC = 0x056 - SYS_SRAND = 0x057 - SYS_CALLOC = 0x058 - SYS_FREE = 0x059 - SYS___OSENV = 0x59F - SYS___W_PIOCTL = 0x59E - SYS_LONGJMP = 0x060 - SYS___FLOORF_B = 0x60A - SYS___FLOORL_B = 0x60B - SYS___FREXPF_B = 0x60C - SYS___FREXPL_B = 0x60D - SYS___LDEXPF_B = 0x60E - SYS___LDEXPL_B = 0x60F - SYS_SIGNAL = 0x061 - SYS___ATAN2F_B = 0x61A - SYS___ATAN2L_B = 0x61B - SYS___COSHF_B = 0x61C - SYS___COSHL_B = 0x61D - SYS___EXPF_B = 0x61E - SYS___EXPL_B = 0x61F - SYS_TMPNAM = 0x062 - SYS___ABSF_B = 0x62A - SYS___ABSL_B = 0x62C - SYS___ABS_B = 0x62B - SYS___FMODF_B = 0x62D - SYS___FMODL_B = 0x62E - SYS___MODFF_B = 0x62F - SYS_ATANL = 0x63A - SYS_CEILF = 0x63B - SYS_CEILL = 0x63C - SYS_COSF = 0x63D - SYS_COSHF = 0x63F - SYS_COSL = 0x63E - SYS_REMOVE = 0x063 - SYS_POWL = 0x64A - SYS_RENAME = 0x064 - SYS_SINF = 0x64B - SYS_SINHF = 0x64F - SYS_SINL = 0x64C - SYS_SQRTF = 0x64D - SYS_SQRTL = 0x64E - SYS_BTOWC = 0x65F - SYS_FREXPL = 0x65A - SYS_LDEXPF = 0x65B - SYS_LDEXPL = 0x65C - SYS_MODFF = 0x65D - SYS_MODFL = 0x65E - SYS_TMPFILE = 0x065 - SYS_FREOPEN = 0x066 - SYS___CHARMAP_INIT_A = 0x66E - SYS___GETHOSTBYADDR_R_A = 0x66C - SYS___GETHOSTBYNAME_A = 0x66A - SYS___GETHOSTBYNAME_R_A = 0x66D - SYS___MBLEN_A = 0x66F - SYS___RES_INIT_A = 0x66B - SYS_FCLOSE = 0x067 - SYS___GETGRGID_R_A = 0x67D - SYS___WCSTOMBS_A = 0x67A - SYS___WCSTOMBS_STD_A = 0x67B - SYS___WCSWIDTH_A = 0x67C - SYS___WCSWIDTH_ASIA = 0x67F - SYS___WCSWIDTH_STD_A = 0x67E - SYS_FFLUSH = 0x068 - SYS___GETLOGIN_R_A = 0x68E - SYS___GETPWNAM_R_A = 0x68C - SYS___GETPWUID_R_A = 0x68D - SYS___TTYNAME_R_A = 0x68F - SYS___WCWIDTH_ASIA = 0x68B - SYS___WCWIDTH_STD_A = 0x68A - SYS_FOPEN = 0x069 - SYS___REGEXEC_A = 0x69A - SYS___REGEXEC_STD_A = 0x69B - SYS___REGFREE_A = 0x69C - SYS___REGFREE_STD_A = 0x69D - SYS___STRCOLL_A = 0x69E - SYS___STRCOLL_C_A = 0x69F - SYS_SCANF = 0x070 - SYS___A64L_A = 0x70C - SYS___ECVT_A = 0x70D - SYS___FCVT_A = 0x70E - SYS___GCVT_A = 0x70F - SYS___STRTOUL_A = 0x70A - SYS_____AE_CORRESTBL_QUERY_A = 0x70B - SYS_SPRINTF = 0x071 - SYS___ACCESS_A = 0x71F - SYS___CATOPEN_A = 0x71E - SYS___GETOPT_A = 0x71D - SYS___REALPATH_A = 0x71A - SYS___SETENV_A = 0x71B - SYS___SYSTEM_A = 0x71C - SYS_FGETC = 0x072 - SYS___GAI_STRERROR_A = 0x72F - SYS___RMDIR_A = 0x72A - SYS___STATVFS_A = 0x72B - SYS___SYMLINK_A = 0x72C - SYS___TRUNCATE_A = 0x72D - SYS___UNLINK_A = 0x72E - SYS_VFPRINTF = 0x073 - SYS___ISSPACE_A = 0x73A - SYS___ISUPPER_A = 0x73B - SYS___ISWALNUM_A = 0x73F - SYS___ISXDIGIT_A = 0x73C - SYS___TOLOWER_A = 0x73D - SYS___TOUPPER_A = 0x73E - SYS_VPRINTF = 0x074 - SYS___CONFSTR_A = 0x74B - SYS___FDOPEN_A = 0x74E - SYS___FLDATA_A = 0x74F - SYS___FTOK_A = 0x74C - SYS___ISWXDIGIT_A = 0x74A - SYS___MKTEMP_A = 0x74D - SYS_VSPRINTF = 0x075 - SYS___GETGRGID_A = 0x75A - SYS___GETGRNAM_A = 0x75B - SYS___GETGROUPSBYNAME_A = 0x75C - SYS___GETHOSTENT_A = 0x75D - SYS___GETHOSTNAME_A = 0x75E - SYS___GETLOGIN_A = 0x75F - SYS_GETC = 0x076 - SYS___CREATEWORKUNIT_A = 0x76A - SYS___CTERMID_A = 0x76B - SYS___FMTMSG_A = 0x76C - SYS___INITGROUPS_A = 0x76D - SYS___MSGRCV_A = 0x76F - SYS_____LOGIN_A = 0x76E - SYS_FGETS = 0x077 - SYS___STRCASECMP_A = 0x77B - SYS___STRNCASECMP_A = 0x77C - SYS___TTYNAME_A = 0x77D - SYS___UNAME_A = 0x77E - SYS___UTIMES_A = 0x77F - SYS_____SERVER_PWU_A = 0x77A - SYS_FPUTC = 0x078 - SYS___CREAT_O_A = 0x78E - SYS___ENVNA = 0x78F - SYS___FREAD_A = 0x78A - SYS___FWRITE_A = 0x78B - SYS___ISASCII = 0x78D - SYS___OPEN_O_A = 0x78C - SYS_FPUTS = 0x079 - SYS___ASCTIME_A = 0x79C - SYS___CTIME_A = 0x79D - SYS___GETDATE_A = 0x79E - SYS___GETSERVBYPORT_A = 0x79A - SYS___GETSERVENT_A = 0x79B - SYS___TZSET_A = 0x79F - SYS_ACL_FROM_TEXT = 0x80C - SYS_ACL_SET_FD = 0x80A - SYS_ACL_SET_FILE = 0x80B - SYS_ACL_SORT = 0x80E - SYS_ACL_TO_TEXT = 0x80D - SYS_UNGETC = 0x080 - SYS___SHUTDOWN_REGISTRATION = 0x80F - SYS_FREAD = 0x081 - SYS_FREEADDRINFO = 0x81A - SYS_GAI_STRERROR = 0x81B - SYS_REXEC_AF = 0x81C - SYS___DYNALLOC_A = 0x81F - SYS___POE = 0x81D - SYS_WCSTOMBS = 0x082 - SYS___INET_ADDR_A = 0x82F - SYS___NLIST_A = 0x82A - SYS_____TCGETCP_A = 0x82B - SYS_____TCSETCP_A = 0x82C - SYS_____W_PIOCTL_A = 0x82E - SYS_MBTOWC = 0x083 - SYS___CABEND = 0x83D - SYS___LE_CIB_GET = 0x83E - SYS___RECVMSG_A = 0x83B - SYS___SENDMSG_A = 0x83A - SYS___SET_LAA_FOR_JIT = 0x83F - SYS_____LCHATTR_A = 0x83C - SYS_WCTOMB = 0x084 - SYS___CBRTL_B = 0x84A - SYS___COPYSIGNF_B = 0x84B - SYS___COPYSIGNL_B = 0x84C - SYS___COTANF_B = 0x84D - SYS___COTANL_B = 0x84F - SYS___COTAN_B = 0x84E - SYS_MBSTOWCS = 0x085 - SYS___LOG1PL_B = 0x85A - SYS___LOG2F_B = 0x85B - SYS___LOG2L_B = 0x85D - SYS___LOG2_B = 0x85C - SYS___REMAINDERF_B = 0x85E - SYS___REMAINDERL_B = 0x85F - SYS_ACOSHF = 0x86E - SYS_ACOSHL = 0x86F - SYS_WCSCPY = 0x086 - SYS___ERFCF_B = 0x86D - SYS___ERFF_B = 0x86C - SYS___LROUNDF_B = 0x86A - SYS___LROUND_B = 0x86B - SYS_COTANL = 0x87A - SYS_EXP2F = 0x87B - SYS_EXP2L = 0x87C - SYS_EXPM1F = 0x87D - SYS_EXPM1L = 0x87E - SYS_FDIMF = 0x87F - SYS_WCSCAT = 0x087 - SYS___COTANL = 0x87A - SYS_REMAINDERF = 0x88A - SYS_REMAINDERL = 0x88B - SYS_REMAINDF = 0x88A - SYS_REMAINDL = 0x88B - SYS_REMQUO = 0x88D - SYS_REMQUOF = 0x88C - SYS_REMQUOL = 0x88E - SYS_TGAMMAF = 0x88F - SYS_WCSCHR = 0x088 - SYS_ERFCF = 0x89B - SYS_ERFCL = 0x89C - SYS_ERFL = 0x89A - SYS_EXP2 = 0x89E - SYS_WCSCMP = 0x089 - SYS___EXP2_B = 0x89D - SYS___FAR_JUMP = 0x89F - SYS_ABS = 0x090 - SYS___ERFCL_H = 0x90A - SYS___EXPF_H = 0x90C - SYS___EXPL_H = 0x90D - SYS___EXPM1_H = 0x90E - SYS___EXP_H = 0x90B - SYS___FDIM_H = 0x90F - SYS_DIV = 0x091 - SYS___LOG2F_H = 0x91F - SYS___LOG2_H = 0x91E - SYS___LOGB_H = 0x91D - SYS___LOGF_H = 0x91B - SYS___LOGL_H = 0x91C - SYS___LOG_H = 0x91A - SYS_LABS = 0x092 - SYS___POWL_H = 0x92A - SYS___REMAINDER_H = 0x92B - SYS___RINT_H = 0x92C - SYS___SCALB_H = 0x92D - SYS___SINF_H = 0x92F - SYS___SIN_H = 0x92E - SYS_STRNCPY = 0x093 - SYS___TANHF_H = 0x93B - SYS___TANHL_H = 0x93C - SYS___TANH_H = 0x93A - SYS___TGAMMAF_H = 0x93E - SYS___TGAMMA_H = 0x93D - SYS___TRUNC_H = 0x93F - SYS_MEMCPY = 0x094 - SYS_VFWSCANF = 0x94A - SYS_VSWSCANF = 0x94E - SYS_VWSCANF = 0x94C - SYS_INET6_RTH_ADD = 0x95D - SYS_INET6_RTH_INIT = 0x95C - SYS_INET6_RTH_REVERSE = 0x95E - SYS_INET6_RTH_SEGMENTS = 0x95F - SYS_INET6_RTH_SPACE = 0x95B - SYS_MEMMOVE = 0x095 - SYS_WCSTOLD = 0x95A - SYS_STRCPY = 0x096 - SYS_STRCMP = 0x097 - SYS_CABS = 0x98E - SYS_STRCAT = 0x098 - SYS___CABS_B = 0x98F - SYS___POW_II = 0x98A - SYS___POW_II_B = 0x98B - SYS___POW_II_H = 0x98C - SYS_CACOSF = 0x99A - SYS_CACOSL = 0x99D - SYS_STRNCAT = 0x099 - SYS___CACOSF_B = 0x99B - SYS___CACOSF_H = 0x99C - SYS___CACOSL_B = 0x99E - SYS___CACOSL_H = 0x99F - SYS_ISWALPHA = 0x100 - SYS_ISWBLANK = 0x101 - SYS___ISWBLK = 0x101 - SYS_ISWCNTRL = 0x102 - SYS_ISWDIGIT = 0x103 - SYS_ISWGRAPH = 0x104 - SYS_ISWLOWER = 0x105 - SYS_ISWPRINT = 0x106 - SYS_ISWPUNCT = 0x107 - SYS_ISWSPACE = 0x108 - SYS_ISWUPPER = 0x109 - SYS_WCTOB = 0x110 - SYS_MBRLEN = 0x111 - SYS_MBRTOWC = 0x112 - SYS_MBSRTOWC = 0x113 - SYS_MBSRTOWCS = 0x113 - SYS_WCRTOMB = 0x114 - SYS_WCSRTOMB = 0x115 - SYS_WCSRTOMBS = 0x115 - SYS___CSID = 0x116 - SYS___WCSID = 0x117 - SYS_STRPTIME = 0x118 - SYS___STRPTM = 0x118 - SYS_STRFMON = 0x119 - SYS_WCSCOLL = 0x130 - SYS_WCSXFRM = 0x131 - SYS_WCSWIDTH = 0x132 - SYS_WCWIDTH = 0x133 - SYS_WCSFTIME = 0x134 - SYS_SWPRINTF = 0x135 - SYS_VSWPRINT = 0x136 - SYS_VSWPRINTF = 0x136 - SYS_SWSCANF = 0x137 - SYS_REGCOMP = 0x138 - SYS_REGEXEC = 0x139 - SYS_GETWC = 0x140 - SYS_GETWCHAR = 0x141 - SYS_PUTWC = 0x142 - SYS_PUTWCHAR = 0x143 - SYS_UNGETWC = 0x144 - SYS_ICONV_OPEN = 0x145 - SYS_ICONV = 0x146 - SYS_ICONV_CLOSE = 0x147 - SYS_COLLRANGE = 0x150 - SYS_CCLASS = 0x151 - SYS_COLLORDER = 0x152 - SYS___DEMANGLE = 0x154 - SYS_FDOPEN = 0x155 - SYS___ERRNO = 0x156 - SYS___ERRNO2 = 0x157 - SYS___TERROR = 0x158 - SYS_MAXCOLL = 0x169 - SYS_DLLLOAD = 0x170 - SYS__EXIT = 0x174 - SYS_ACCESS = 0x175 - SYS_ALARM = 0x176 - SYS_CFGETISPEED = 0x177 - SYS_CFGETOSPEED = 0x178 - SYS_CFSETISPEED = 0x179 - SYS_CREAT = 0x180 - SYS_CTERMID = 0x181 - SYS_DUP = 0x182 - SYS_DUP2 = 0x183 - SYS_EXECL = 0x184 - SYS_EXECLE = 0x185 - SYS_EXECLP = 0x186 - SYS_EXECV = 0x187 - SYS_EXECVE = 0x188 - SYS_EXECVP = 0x189 - SYS_FSTAT = 0x190 - SYS_FSYNC = 0x191 - SYS_FTRUNCATE = 0x192 - SYS_GETCWD = 0x193 - SYS_GETEGID = 0x194 - SYS_GETEUID = 0x195 - SYS_GETGID = 0x196 - SYS_GETGRGID = 0x197 - SYS_GETGRNAM = 0x198 - SYS_GETGROUPS = 0x199 - SYS_PTHREAD_MUTEXATTR_DESTROY = 0x200 - SYS_PTHREAD_MUTEXATTR_SETKIND_NP = 0x201 - SYS_PTHREAD_MUTEXATTR_GETKIND_NP = 0x202 - SYS_PTHREAD_MUTEX_INIT = 0x203 - SYS_PTHREAD_MUTEX_DESTROY = 0x204 - SYS_PTHREAD_MUTEX_LOCK = 0x205 - SYS_PTHREAD_MUTEX_TRYLOCK = 0x206 - SYS_PTHREAD_MUTEX_UNLOCK = 0x207 - SYS_PTHREAD_ONCE = 0x209 - SYS_TW_OPEN = 0x210 - SYS_TW_FCNTL = 0x211 - SYS_PTHREAD_JOIN_D4_NP = 0x212 - SYS_PTHREAD_CONDATTR_SETKIND_NP = 0x213 - SYS_PTHREAD_CONDATTR_GETKIND_NP = 0x214 - SYS_EXTLINK_NP = 0x215 - SYS___PASSWD = 0x216 - SYS_SETGROUPS = 0x217 - SYS_INITGROUPS = 0x218 - SYS_WCSRCHR = 0x240 - SYS_SVC99 = 0x241 - SYS___SVC99 = 0x241 - SYS_WCSWCS = 0x242 - SYS_LOCALECO = 0x243 - SYS_LOCALECONV = 0x243 - SYS___LIBREL = 0x244 - SYS_RELEASE = 0x245 - SYS___RLSE = 0x245 - SYS_FLOCATE = 0x246 - SYS___FLOCT = 0x246 - SYS_FDELREC = 0x247 - SYS___FDLREC = 0x247 - SYS_FETCH = 0x248 - SYS___FETCH = 0x248 - SYS_QSORT = 0x249 - SYS___CLEANUPCATCH = 0x260 - SYS___CATCHMATCH = 0x261 - SYS___CLEAN2UPCATCH = 0x262 - SYS_GETPRIORITY = 0x270 - SYS_NICE = 0x271 - SYS_SETPRIORITY = 0x272 - SYS_GETITIMER = 0x273 - SYS_SETITIMER = 0x274 - SYS_MSGCTL = 0x275 - SYS_MSGGET = 0x276 - SYS_MSGRCV = 0x277 - SYS_MSGSND = 0x278 - SYS_MSGXRCV = 0x279 - SYS___MSGXR = 0x279 - SYS_SHMGET = 0x280 - SYS___GETIPC = 0x281 - SYS_SETGRENT = 0x282 - SYS_GETGRENT = 0x283 - SYS_ENDGRENT = 0x284 - SYS_SETPWENT = 0x285 - SYS_GETPWENT = 0x286 - SYS_ENDPWENT = 0x287 - SYS_BSD_SIGNAL = 0x288 - SYS_KILLPG = 0x289 - SYS_SIGSET = 0x290 - SYS_SIGSTACK = 0x291 - SYS_GETRLIMIT = 0x292 - SYS_SETRLIMIT = 0x293 - SYS_GETRUSAGE = 0x294 - SYS_MMAP = 0x295 - SYS_MPROTECT = 0x296 - SYS_MSYNC = 0x297 - SYS_MUNMAP = 0x298 - SYS_CONFSTR = 0x299 - SYS___NDMTRM = 0x300 - SYS_FTOK = 0x301 - SYS_BASENAME = 0x302 - SYS_DIRNAME = 0x303 - SYS_GETDTABLESIZE = 0x304 - SYS_MKSTEMP = 0x305 - SYS_MKTEMP = 0x306 - SYS_NFTW = 0x307 - SYS_GETWD = 0x308 - SYS_LOCKF = 0x309 - SYS_WORDEXP = 0x310 - SYS_WORDFREE = 0x311 - SYS_GETPGID = 0x312 - SYS_GETSID = 0x313 - SYS___UTMPXNAME = 0x314 - SYS_CUSERID = 0x315 - SYS_GETPASS = 0x316 - SYS_FNMATCH = 0x317 - SYS_FTW = 0x318 - SYS_GETW = 0x319 - SYS_ACOSH = 0x320 - SYS_ASINH = 0x321 - SYS_ATANH = 0x322 - SYS_CBRT = 0x323 - SYS_EXPM1 = 0x324 - SYS_ILOGB = 0x325 - SYS_LOGB = 0x326 - SYS_LOG1P = 0x327 - SYS_NEXTAFTER = 0x328 - SYS_RINT = 0x329 - SYS_SPAWN = 0x330 - SYS_SPAWNP = 0x331 - SYS_GETLOGIN_UU = 0x332 - SYS_ECVT = 0x333 - SYS_FCVT = 0x334 - SYS_GCVT = 0x335 - SYS_ACCEPT = 0x336 - SYS_BIND = 0x337 - SYS_CONNECT = 0x338 - SYS_ENDHOSTENT = 0x339 - SYS_GETHOSTENT = 0x340 - SYS_GETHOSTID = 0x341 - SYS_GETHOSTNAME = 0x342 - SYS_GETNETBYADDR = 0x343 - SYS_GETNETBYNAME = 0x344 - SYS_GETNETENT = 0x345 - SYS_GETPEERNAME = 0x346 - SYS_GETPROTOBYNAME = 0x347 - SYS_GETPROTOBYNUMBER = 0x348 - SYS_GETPROTOENT = 0x349 - SYS_INET_LNAOF = 0x350 - SYS_INET_MAKEADDR = 0x351 - SYS_INET_NETOF = 0x352 - SYS_INET_NETWORK = 0x353 - SYS_INET_NTOA = 0x354 - SYS_IOCTL = 0x355 - SYS_LISTEN = 0x356 - SYS_READV = 0x357 - SYS_RECV = 0x358 - SYS_RECVFROM = 0x359 - SYS_SETHOSTENT = 0x360 - SYS_SETNETENT = 0x361 - SYS_SETPEER = 0x362 - SYS_SETPROTOENT = 0x363 - SYS_SETSERVENT = 0x364 - SYS_SETSOCKOPT = 0x365 - SYS_SHUTDOWN = 0x366 - SYS_SOCKET = 0x367 - SYS_SOCKETPAIR = 0x368 - SYS_WRITEV = 0x369 - SYS_ENDNETENT = 0x370 - SYS_CLOSELOG = 0x371 - SYS_OPENLOG = 0x372 - SYS_SETLOGMASK = 0x373 - SYS_SYSLOG = 0x374 - SYS_PTSNAME = 0x375 - SYS_SETREUID = 0x376 - SYS_SETREGID = 0x377 - SYS_REALPATH = 0x378 - SYS___SIGNGAM = 0x379 - SYS_POLL = 0x380 - SYS_REXEC = 0x381 - SYS___ISASCII2 = 0x382 - SYS___TOASCII2 = 0x383 - SYS_CHPRIORITY = 0x384 - SYS_PTHREAD_ATTR_SETSYNCTYPE_NP = 0x385 - SYS_PTHREAD_ATTR_GETSYNCTYPE_NP = 0x386 - SYS_PTHREAD_SET_LIMIT_NP = 0x387 - SYS___STNETENT = 0x388 - SYS___STPROTOENT = 0x389 - SYS___SELECT1 = 0x390 - SYS_PTHREAD_SECURITY_NP = 0x391 - SYS___CHECK_RESOURCE_AUTH_NP = 0x392 - SYS___CONVERT_ID_NP = 0x393 - SYS___OPENVMREL = 0x394 - SYS_WMEMCHR = 0x395 - SYS_WMEMCMP = 0x396 - SYS_WMEMCPY = 0x397 - SYS_WMEMMOVE = 0x398 - SYS_WMEMSET = 0x399 - SYS___FPUTWC = 0x400 - SYS___PUTWC = 0x401 - SYS___PWCHAR = 0x402 - SYS___WCSFTM = 0x403 - SYS___WCSTOK = 0x404 - SYS___WCWDTH = 0x405 - SYS_T_ACCEPT = 0x409 - SYS_T_GETINFO = 0x410 - SYS_T_GETPROTADDR = 0x411 - SYS_T_GETSTATE = 0x412 - SYS_T_LISTEN = 0x413 - SYS_T_LOOK = 0x414 - SYS_T_OPEN = 0x415 - SYS_T_OPTMGMT = 0x416 - SYS_T_RCV = 0x417 - SYS_T_RCVCONNECT = 0x418 - SYS_T_RCVDIS = 0x419 - SYS_T_SNDUDATA = 0x420 - SYS_T_STRERROR = 0x421 - SYS_T_SYNC = 0x422 - SYS_T_UNBIND = 0x423 - SYS___T_ERRNO = 0x424 - SYS___RECVMSG2 = 0x425 - SYS___SENDMSG2 = 0x426 - SYS_FATTACH = 0x427 - SYS_FDETACH = 0x428 - SYS_GETMSG = 0x429 - SYS_GETCONTEXT = 0x430 - SYS_SETCONTEXT = 0x431 - SYS_MAKECONTEXT = 0x432 - SYS_SWAPCONTEXT = 0x433 - SYS_PTHREAD_GETSPECIFIC_D8_NP = 0x434 - SYS_GETCLIENTID = 0x470 - SYS___GETCLIENTID = 0x471 - SYS_GETSTABLESIZE = 0x472 - SYS_GETIBMOPT = 0x473 - SYS_GETIBMSOCKOPT = 0x474 - SYS_GIVESOCKET = 0x475 - SYS_IBMSFLUSH = 0x476 - SYS_MAXDESC = 0x477 - SYS_SETIBMOPT = 0x478 - SYS_SETIBMSOCKOPT = 0x479 - SYS___SERVER_PWU = 0x480 - SYS_PTHREAD_TAG_NP = 0x481 - SYS___CONSOLE = 0x482 - SYS___WSINIT = 0x483 - SYS___IPTCPN = 0x489 - SYS___SERVER_CLASSIFY = 0x490 - SYS___HEAPRPT = 0x496 - SYS___ISBFP = 0x500 - SYS___FP_CAST = 0x501 - SYS___CERTIFICATE = 0x502 - SYS_SEND_FILE = 0x503 - SYS_AIO_CANCEL = 0x504 - SYS_AIO_ERROR = 0x505 - SYS_AIO_READ = 0x506 - SYS_AIO_RETURN = 0x507 - SYS_AIO_SUSPEND = 0x508 - SYS_AIO_WRITE = 0x509 - SYS_PTHREAD_RWLOCK_TRYWRLOCK = 0x510 - SYS_PTHREAD_RWLOCK_UNLOCK = 0x511 - SYS_PTHREAD_RWLOCK_WRLOCK = 0x512 - SYS_PTHREAD_RWLOCKATTR_GETPSHARED = 0x513 - SYS_PTHREAD_RWLOCKATTR_SETPSHARED = 0x514 - SYS_PTHREAD_RWLOCKATTR_INIT = 0x515 - SYS_PTHREAD_RWLOCKATTR_DESTROY = 0x516 - SYS___CTTBL = 0x517 - SYS_PTHREAD_MUTEXATTR_SETTYPE = 0x518 - SYS_PTHREAD_MUTEXATTR_GETTYPE = 0x519 - SYS___FP_UNORDERED = 0x520 - SYS___FP_READ_RND = 0x521 - SYS___FP_READ_RND_B = 0x522 - SYS___FP_SWAP_RND = 0x523 - SYS___FP_SWAP_RND_B = 0x524 - SYS___FP_LEVEL = 0x525 - SYS___FP_BTOH = 0x526 - SYS___FP_HTOB = 0x527 - SYS___FPC_RD = 0x528 - SYS___FPC_WR = 0x529 - SYS_PTHREAD_SETCANCELTYPE = 0x600 - SYS_PTHREAD_TESTCANCEL = 0x601 - SYS___ATANF_B = 0x602 - SYS___ATANL_B = 0x603 - SYS___CEILF_B = 0x604 - SYS___CEILL_B = 0x605 - SYS___COSF_B = 0x606 - SYS___COSL_B = 0x607 - SYS___FABSF_B = 0x608 - SYS___FABSL_B = 0x609 - SYS___SINF_B = 0x610 - SYS___SINL_B = 0x611 - SYS___TANF_B = 0x612 - SYS___TANL_B = 0x613 - SYS___TANHF_B = 0x614 - SYS___TANHL_B = 0x615 - SYS___ACOSF_B = 0x616 - SYS___ACOSL_B = 0x617 - SYS___ASINF_B = 0x618 - SYS___ASINL_B = 0x619 - SYS___LOGF_B = 0x620 - SYS___LOGL_B = 0x621 - SYS___LOG10F_B = 0x622 - SYS___LOG10L_B = 0x623 - SYS___POWF_B = 0x624 - SYS___POWL_B = 0x625 - SYS___SINHF_B = 0x626 - SYS___SINHL_B = 0x627 - SYS___SQRTF_B = 0x628 - SYS___SQRTL_B = 0x629 - SYS___MODFL_B = 0x630 - SYS_ABSF = 0x631 - SYS_ABSL = 0x632 - SYS_ACOSF = 0x633 - SYS_ACOSL = 0x634 - SYS_ASINF = 0x635 - SYS_ASINL = 0x636 - SYS_ATAN2F = 0x637 - SYS_ATAN2L = 0x638 - SYS_ATANF = 0x639 - SYS_COSHL = 0x640 - SYS_EXPF = 0x641 - SYS_EXPL = 0x642 - SYS_TANHF = 0x643 - SYS_TANHL = 0x644 - SYS_LOG10F = 0x645 - SYS_LOG10L = 0x646 - SYS_LOGF = 0x647 - SYS_LOGL = 0x648 - SYS_POWF = 0x649 - SYS_SINHL = 0x650 - SYS_TANF = 0x651 - SYS_TANL = 0x652 - SYS_FABSF = 0x653 - SYS_FABSL = 0x654 - SYS_FLOORF = 0x655 - SYS_FLOORL = 0x656 - SYS_FMODF = 0x657 - SYS_FMODL = 0x658 - SYS_FREXPF = 0x659 - SYS___CHATTR = 0x660 - SYS___FCHATTR = 0x661 - SYS___TOCCSID = 0x662 - SYS___CSNAMETYPE = 0x663 - SYS___TOCSNAME = 0x664 - SYS___CCSIDTYPE = 0x665 - SYS___AE_CORRESTBL_QUERY = 0x666 - SYS___AE_AUTOCONVERT_STATE = 0x667 - SYS_DN_FIND = 0x668 - SYS___GETHOSTBYADDR_A = 0x669 - SYS___MBLEN_SB_A = 0x670 - SYS___MBLEN_STD_A = 0x671 - SYS___MBLEN_UTF = 0x672 - SYS___MBSTOWCS_A = 0x673 - SYS___MBSTOWCS_STD_A = 0x674 - SYS___MBTOWC_A = 0x675 - SYS___MBTOWC_ISO1 = 0x676 - SYS___MBTOWC_SBCS = 0x677 - SYS___MBTOWC_MBCS = 0x678 - SYS___MBTOWC_UTF = 0x679 - SYS___CSID_A = 0x680 - SYS___CSID_STD_A = 0x681 - SYS___WCSID_A = 0x682 - SYS___WCSID_STD_A = 0x683 - SYS___WCTOMB_A = 0x684 - SYS___WCTOMB_ISO1 = 0x685 - SYS___WCTOMB_STD_A = 0x686 - SYS___WCTOMB_UTF = 0x687 - SYS___WCWIDTH_A = 0x688 - SYS___GETGRNAM_R_A = 0x689 - SYS___READDIR_R_A = 0x690 - SYS___E2A_S = 0x691 - SYS___FNMATCH_A = 0x692 - SYS___FNMATCH_C_A = 0x693 - SYS___EXECL_A = 0x694 - SYS___FNMATCH_STD_A = 0x695 - SYS___REGCOMP_A = 0x696 - SYS___REGCOMP_STD_A = 0x697 - SYS___REGERROR_A = 0x698 - SYS___REGERROR_STD_A = 0x699 - SYS___SWPRINTF_A = 0x700 - SYS___FSCANF_A = 0x701 - SYS___SCANF_A = 0x702 - SYS___SSCANF_A = 0x703 - SYS___SWSCANF_A = 0x704 - SYS___ATOF_A = 0x705 - SYS___ATOI_A = 0x706 - SYS___ATOL_A = 0x707 - SYS___STRTOD_A = 0x708 - SYS___STRTOL_A = 0x709 - SYS___L64A_A = 0x710 - SYS___STRERROR_A = 0x711 - SYS___PERROR_A = 0x712 - SYS___FETCH_A = 0x713 - SYS___GETENV_A = 0x714 - SYS___MKSTEMP_A = 0x717 - SYS___PTSNAME_A = 0x718 - SYS___PUTENV_A = 0x719 - SYS___CHDIR_A = 0x720 - SYS___CHOWN_A = 0x721 - SYS___CHROOT_A = 0x722 - SYS___GETCWD_A = 0x723 - SYS___GETWD_A = 0x724 - SYS___LCHOWN_A = 0x725 - SYS___LINK_A = 0x726 - SYS___PATHCONF_A = 0x727 - SYS___IF_NAMEINDEX_A = 0x728 - SYS___READLINK_A = 0x729 - SYS___EXTLINK_NP_A = 0x730 - SYS___ISALNUM_A = 0x731 - SYS___ISALPHA_A = 0x732 - SYS___A2E_S = 0x733 - SYS___ISCNTRL_A = 0x734 - SYS___ISDIGIT_A = 0x735 - SYS___ISGRAPH_A = 0x736 - SYS___ISLOWER_A = 0x737 - SYS___ISPRINT_A = 0x738 - SYS___ISPUNCT_A = 0x739 - SYS___ISWALPHA_A = 0x740 - SYS___A2E_L = 0x741 - SYS___ISWCNTRL_A = 0x742 - SYS___ISWDIGIT_A = 0x743 - SYS___ISWGRAPH_A = 0x744 - SYS___ISWLOWER_A = 0x745 - SYS___ISWPRINT_A = 0x746 - SYS___ISWPUNCT_A = 0x747 - SYS___ISWSPACE_A = 0x748 - SYS___ISWUPPER_A = 0x749 - SYS___REMOVE_A = 0x750 - SYS___RENAME_A = 0x751 - SYS___TMPNAM_A = 0x752 - SYS___FOPEN_A = 0x753 - SYS___FREOPEN_A = 0x754 - SYS___CUSERID_A = 0x755 - SYS___POPEN_A = 0x756 - SYS___TEMPNAM_A = 0x757 - SYS___FTW_A = 0x758 - SYS___GETGRENT_A = 0x759 - SYS___INET_NTOP_A = 0x760 - SYS___GETPASS_A = 0x761 - SYS___GETPWENT_A = 0x762 - SYS___GETPWNAM_A = 0x763 - SYS___GETPWUID_A = 0x764 - SYS_____CHECK_RESOURCE_AUTH_NP_A = 0x765 - SYS___CHECKSCHENV_A = 0x766 - SYS___CONNECTSERVER_A = 0x767 - SYS___CONNECTWORKMGR_A = 0x768 - SYS_____CONSOLE_A = 0x769 - SYS___MSGSND_A = 0x770 - SYS___MSGXRCV_A = 0x771 - SYS___NFTW_A = 0x772 - SYS_____PASSWD_A = 0x773 - SYS___PTHREAD_SECURITY_NP_A = 0x774 - SYS___QUERYMETRICS_A = 0x775 - SYS___QUERYSCHENV = 0x776 - SYS___READV_A = 0x777 - SYS_____SERVER_CLASSIFY_A = 0x778 - SYS_____SERVER_INIT_A = 0x779 - SYS___W_GETPSENT_A = 0x780 - SYS___WRITEV_A = 0x781 - SYS___W_STATFS_A = 0x782 - SYS___W_STATVFS_A = 0x783 - SYS___FPUTC_A = 0x784 - SYS___PUTCHAR_A = 0x785 - SYS___PUTS_A = 0x786 - SYS___FGETS_A = 0x787 - SYS___GETS_A = 0x788 - SYS___FPUTS_A = 0x789 - SYS___PUTC_A = 0x790 - SYS___AE_THREAD_SETMODE = 0x791 - SYS___AE_THREAD_SWAPMODE = 0x792 - SYS___GETNETBYADDR_A = 0x793 - SYS___GETNETBYNAME_A = 0x794 - SYS___GETNETENT_A = 0x795 - SYS___GETPROTOBYNAME_A = 0x796 - SYS___GETPROTOBYNUMBER_A = 0x797 - SYS___GETPROTOENT_A = 0x798 - SYS___GETSERVBYNAME_A = 0x799 - SYS_ACL_FIRST_ENTRY = 0x800 - SYS_ACL_GET_ENTRY = 0x801 - SYS_ACL_VALID = 0x802 - SYS_ACL_CREATE_ENTRY = 0x803 - SYS_ACL_DELETE_ENTRY = 0x804 - SYS_ACL_UPDATE_ENTRY = 0x805 - SYS_ACL_DELETE_FD = 0x806 - SYS_ACL_DELETE_FILE = 0x807 - SYS_ACL_GET_FD = 0x808 - SYS_ACL_GET_FILE = 0x809 - SYS___ERFL_B = 0x810 - SYS___ERFCL_B = 0x811 - SYS___LGAMMAL_B = 0x812 - SYS___SETHOOKEVENTS = 0x813 - SYS_IF_NAMETOINDEX = 0x814 - SYS_IF_INDEXTONAME = 0x815 - SYS_IF_NAMEINDEX = 0x816 - SYS_IF_FREENAMEINDEX = 0x817 - SYS_GETADDRINFO = 0x818 - SYS_GETNAMEINFO = 0x819 - SYS___DYNFREE_A = 0x820 - SYS___RES_QUERY_A = 0x821 - SYS___RES_SEARCH_A = 0x822 - SYS___RES_QUERYDOMAIN_A = 0x823 - SYS___RES_MKQUERY_A = 0x824 - SYS___RES_SEND_A = 0x825 - SYS___DN_EXPAND_A = 0x826 - SYS___DN_SKIPNAME_A = 0x827 - SYS___DN_COMP_A = 0x828 - SYS___DN_FIND_A = 0x829 - SYS___INET_NTOA_A = 0x830 - SYS___INET_NETWORK_A = 0x831 - SYS___ACCEPT_A = 0x832 - SYS___ACCEPT_AND_RECV_A = 0x833 - SYS___BIND_A = 0x834 - SYS___CONNECT_A = 0x835 - SYS___GETPEERNAME_A = 0x836 - SYS___GETSOCKNAME_A = 0x837 - SYS___RECVFROM_A = 0x838 - SYS___SENDTO_A = 0x839 - SYS___LCHATTR = 0x840 - SYS___WRITEDOWN = 0x841 - SYS_PTHREAD_MUTEX_INIT2 = 0x842 - SYS___ACOSHF_B = 0x843 - SYS___ACOSHL_B = 0x844 - SYS___ASINHF_B = 0x845 - SYS___ASINHL_B = 0x846 - SYS___ATANHF_B = 0x847 - SYS___ATANHL_B = 0x848 - SYS___CBRTF_B = 0x849 - SYS___EXP2F_B = 0x850 - SYS___EXP2L_B = 0x851 - SYS___EXPM1F_B = 0x852 - SYS___EXPM1L_B = 0x853 - SYS___FDIMF_B = 0x854 - SYS___FDIM_B = 0x855 - SYS___FDIML_B = 0x856 - SYS___HYPOTF_B = 0x857 - SYS___HYPOTL_B = 0x858 - SYS___LOG1PF_B = 0x859 - SYS___REMQUOF_B = 0x860 - SYS___REMQUO_B = 0x861 - SYS___REMQUOL_B = 0x862 - SYS___TGAMMAF_B = 0x863 - SYS___TGAMMA_B = 0x864 - SYS___TGAMMAL_B = 0x865 - SYS___TRUNCF_B = 0x866 - SYS___TRUNC_B = 0x867 - SYS___TRUNCL_B = 0x868 - SYS___LGAMMAF_B = 0x869 - SYS_ASINHF = 0x870 - SYS_ASINHL = 0x871 - SYS_ATANHF = 0x872 - SYS_ATANHL = 0x873 - SYS_CBRTF = 0x874 - SYS_CBRTL = 0x875 - SYS_COPYSIGNF = 0x876 - SYS_CPYSIGNF = 0x876 - SYS_COPYSIGNL = 0x877 - SYS_CPYSIGNL = 0x877 - SYS_COTANF = 0x878 - SYS___COTANF = 0x878 - SYS_COTAN = 0x879 - SYS___COTAN = 0x879 - SYS_FDIM = 0x881 - SYS_FDIML = 0x882 - SYS_HYPOTF = 0x883 - SYS_HYPOTL = 0x884 - SYS_LOG1PF = 0x885 - SYS_LOG1PL = 0x886 - SYS_LOG2F = 0x887 - SYS_LOG2 = 0x888 - SYS_LOG2L = 0x889 - SYS_TGAMMA = 0x890 - SYS_TGAMMAL = 0x891 - SYS_TRUNCF = 0x892 - SYS_TRUNC = 0x893 - SYS_TRUNCL = 0x894 - SYS_LGAMMAF = 0x895 - SYS_LGAMMAL = 0x896 - SYS_LROUNDF = 0x897 - SYS_LROUND = 0x898 - SYS_ERFF = 0x899 - SYS___COSHF_H = 0x900 - SYS___COSHL_H = 0x901 - SYS___COTAN_H = 0x902 - SYS___COTANF_H = 0x903 - SYS___COTANL_H = 0x904 - SYS___ERF_H = 0x905 - SYS___ERFF_H = 0x906 - SYS___ERFL_H = 0x907 - SYS___ERFC_H = 0x908 - SYS___ERFCF_H = 0x909 - SYS___FDIMF_H = 0x910 - SYS___FDIML_H = 0x911 - SYS___FMOD_H = 0x912 - SYS___FMODF_H = 0x913 - SYS___FMODL_H = 0x914 - SYS___GAMMA_H = 0x915 - SYS___HYPOT_H = 0x916 - SYS___ILOGB_H = 0x917 - SYS___LGAMMA_H = 0x918 - SYS___LGAMMAF_H = 0x919 - SYS___LOG2L_H = 0x920 - SYS___LOG1P_H = 0x921 - SYS___LOG10_H = 0x922 - SYS___LOG10F_H = 0x923 - SYS___LOG10L_H = 0x924 - SYS___LROUND_H = 0x925 - SYS___LROUNDF_H = 0x926 - SYS___NEXTAFTER_H = 0x927 - SYS___POW_H = 0x928 - SYS___POWF_H = 0x929 - SYS___SINL_H = 0x930 - SYS___SINH_H = 0x931 - SYS___SINHF_H = 0x932 - SYS___SINHL_H = 0x933 - SYS___SQRT_H = 0x934 - SYS___SQRTF_H = 0x935 - SYS___SQRTL_H = 0x936 - SYS___TAN_H = 0x937 - SYS___TANF_H = 0x938 - SYS___TANL_H = 0x939 - SYS___TRUNCF_H = 0x940 - SYS___TRUNCL_H = 0x941 - SYS___COSH_H = 0x942 - SYS___LE_DEBUG_SET_RESUME_MCH = 0x943 - SYS_VFSCANF = 0x944 - SYS_VSCANF = 0x946 - SYS_VSSCANF = 0x948 - SYS_IMAXABS = 0x950 - SYS_IMAXDIV = 0x951 - SYS_STRTOIMAX = 0x952 - SYS_STRTOUMAX = 0x953 - SYS_WCSTOIMAX = 0x954 - SYS_WCSTOUMAX = 0x955 - SYS_ATOLL = 0x956 - SYS_STRTOF = 0x957 - SYS_STRTOLD = 0x958 - SYS_WCSTOF = 0x959 - SYS_INET6_RTH_GETADDR = 0x960 - SYS_INET6_OPT_INIT = 0x961 - SYS_INET6_OPT_APPEND = 0x962 - SYS_INET6_OPT_FINISH = 0x963 - SYS_INET6_OPT_SET_VAL = 0x964 - SYS_INET6_OPT_NEXT = 0x965 - SYS_INET6_OPT_FIND = 0x966 - SYS_INET6_OPT_GET_VAL = 0x967 - SYS___POW_I = 0x987 - SYS___POW_I_B = 0x988 - SYS___POW_I_H = 0x989 - SYS___CABS_H = 0x990 - SYS_CABSF = 0x991 - SYS___CABSF_B = 0x992 - SYS___CABSF_H = 0x993 - SYS_CABSL = 0x994 - SYS___CABSL_B = 0x995 - SYS___CABSL_H = 0x996 - SYS_CACOS = 0x997 - SYS___CACOS_B = 0x998 - SYS___CACOS_H = 0x999 + SYS_LOG = 0x17 // 23 + SYS_COSH = 0x18 // 24 + SYS_TANH = 0x19 // 25 + SYS_EXP = 0x1A // 26 + SYS_MODF = 0x1B // 27 + SYS_LOG10 = 0x1C // 28 + SYS_FREXP = 0x1D // 29 + SYS_LDEXP = 0x1E // 30 + SYS_CEIL = 0x1F // 31 + SYS_POW = 0x20 // 32 + SYS_SQRT = 0x21 // 33 + SYS_FLOOR = 0x22 // 34 + SYS_J1 = 0x23 // 35 + SYS_FABS = 0x24 // 36 + SYS_FMOD = 0x25 // 37 + SYS_J0 = 0x26 // 38 + SYS_YN = 0x27 // 39 + SYS_JN = 0x28 // 40 + SYS_Y0 = 0x29 // 41 + SYS_Y1 = 0x2A // 42 + SYS_HYPOT = 0x2B // 43 + SYS_ERF = 0x2C // 44 + SYS_ERFC = 0x2D // 45 + SYS_GAMMA = 0x2E // 46 + SYS_ISALPHA = 0x30 // 48 + SYS_ISALNUM = 0x31 // 49 + SYS_ISLOWER = 0x32 // 50 + SYS_ISCNTRL = 0x33 // 51 + SYS_ISDIGIT = 0x34 // 52 + SYS_ISGRAPH = 0x35 // 53 + SYS_ISUPPER = 0x36 // 54 + SYS_ISPRINT = 0x37 // 55 + SYS_ISPUNCT = 0x38 // 56 + SYS_ISSPACE = 0x39 // 57 + SYS_SETLOCAL = 0x3A // 58 + SYS_SETLOCALE = 0x3A // 58 + SYS_ISXDIGIT = 0x3B // 59 + SYS_TOLOWER = 0x3C // 60 + SYS_TOUPPER = 0x3D // 61 + SYS_ASIN = 0x3E // 62 + SYS_SIN = 0x3F // 63 + SYS_COS = 0x40 // 64 + SYS_TAN = 0x41 // 65 + SYS_SINH = 0x42 // 66 + SYS_ACOS = 0x43 // 67 + SYS_ATAN = 0x44 // 68 + SYS_ATAN2 = 0x45 // 69 + SYS_FTELL = 0x46 // 70 + SYS_FGETPOS = 0x47 // 71 + SYS_FSEEK = 0x48 // 72 + SYS_FSETPOS = 0x49 // 73 + SYS_FERROR = 0x4A // 74 + SYS_REWIND = 0x4B // 75 + SYS_CLEARERR = 0x4C // 76 + SYS_FEOF = 0x4D // 77 + SYS_ATOL = 0x4E // 78 + SYS_PERROR = 0x4F // 79 + SYS_ATOF = 0x50 // 80 + SYS_ATOI = 0x51 // 81 + SYS_RAND = 0x52 // 82 + SYS_STRTOD = 0x53 // 83 + SYS_STRTOL = 0x54 // 84 + SYS_STRTOUL = 0x55 // 85 + SYS_MALLOC = 0x56 // 86 + SYS_SRAND = 0x57 // 87 + SYS_CALLOC = 0x58 // 88 + SYS_FREE = 0x59 // 89 + SYS_EXIT = 0x5A // 90 + SYS_REALLOC = 0x5B // 91 + SYS_ABORT = 0x5C // 92 + SYS___ABORT = 0x5C // 92 + SYS_ATEXIT = 0x5D // 93 + SYS_RAISE = 0x5E // 94 + SYS_SETJMP = 0x5F // 95 + SYS_LONGJMP = 0x60 // 96 + SYS_SIGNAL = 0x61 // 97 + SYS_TMPNAM = 0x62 // 98 + SYS_REMOVE = 0x63 // 99 + SYS_RENAME = 0x64 // 100 + SYS_TMPFILE = 0x65 // 101 + SYS_FREOPEN = 0x66 // 102 + SYS_FCLOSE = 0x67 // 103 + SYS_FFLUSH = 0x68 // 104 + SYS_FOPEN = 0x69 // 105 + SYS_FSCANF = 0x6A // 106 + SYS_SETBUF = 0x6B // 107 + SYS_SETVBUF = 0x6C // 108 + SYS_FPRINTF = 0x6D // 109 + SYS_SSCANF = 0x6E // 110 + SYS_PRINTF = 0x6F // 111 + SYS_SCANF = 0x70 // 112 + SYS_SPRINTF = 0x71 // 113 + SYS_FGETC = 0x72 // 114 + SYS_VFPRINTF = 0x73 // 115 + SYS_VPRINTF = 0x74 // 116 + SYS_VSPRINTF = 0x75 // 117 + SYS_GETC = 0x76 // 118 + SYS_FGETS = 0x77 // 119 + SYS_FPUTC = 0x78 // 120 + SYS_FPUTS = 0x79 // 121 + SYS_PUTCHAR = 0x7A // 122 + SYS_GETCHAR = 0x7B // 123 + SYS_GETS = 0x7C // 124 + SYS_PUTC = 0x7D // 125 + SYS_FWRITE = 0x7E // 126 + SYS_PUTS = 0x7F // 127 + SYS_UNGETC = 0x80 // 128 + SYS_FREAD = 0x81 // 129 + SYS_WCSTOMBS = 0x82 // 130 + SYS_MBTOWC = 0x83 // 131 + SYS_WCTOMB = 0x84 // 132 + SYS_MBSTOWCS = 0x85 // 133 + SYS_WCSCPY = 0x86 // 134 + SYS_WCSCAT = 0x87 // 135 + SYS_WCSCHR = 0x88 // 136 + SYS_WCSCMP = 0x89 // 137 + SYS_WCSNCMP = 0x8A // 138 + SYS_WCSCSPN = 0x8B // 139 + SYS_WCSLEN = 0x8C // 140 + SYS_WCSNCAT = 0x8D // 141 + SYS_WCSSPN = 0x8E // 142 + SYS_WCSNCPY = 0x8F // 143 + SYS_ABS = 0x90 // 144 + SYS_DIV = 0x91 // 145 + SYS_LABS = 0x92 // 146 + SYS_STRNCPY = 0x93 // 147 + SYS_MEMCPY = 0x94 // 148 + SYS_MEMMOVE = 0x95 // 149 + SYS_STRCPY = 0x96 // 150 + SYS_STRCMP = 0x97 // 151 + SYS_STRCAT = 0x98 // 152 + SYS_STRNCAT = 0x99 // 153 + SYS_MEMCMP = 0x9A // 154 + SYS_MEMCHR = 0x9B // 155 + SYS_STRCOLL = 0x9C // 156 + SYS_STRNCMP = 0x9D // 157 + SYS_STRXFRM = 0x9E // 158 + SYS_STRRCHR = 0x9F // 159 + SYS_STRCHR = 0xA0 // 160 + SYS_STRCSPN = 0xA1 // 161 + SYS_STRPBRK = 0xA2 // 162 + SYS_MEMSET = 0xA3 // 163 + SYS_STRSPN = 0xA4 // 164 + SYS_STRSTR = 0xA5 // 165 + SYS_STRTOK = 0xA6 // 166 + SYS_DIFFTIME = 0xA7 // 167 + SYS_STRERROR = 0xA8 // 168 + SYS_STRLEN = 0xA9 // 169 + SYS_CLOCK = 0xAA // 170 + SYS_CTIME = 0xAB // 171 + SYS_MKTIME = 0xAC // 172 + SYS_TIME = 0xAD // 173 + SYS_ASCTIME = 0xAE // 174 + SYS_MBLEN = 0xAF // 175 + SYS_GMTIME = 0xB0 // 176 + SYS_LOCALTIM = 0xB1 // 177 + SYS_LOCALTIME = 0xB1 // 177 + SYS_STRFTIME = 0xB2 // 178 + SYS___GETCB = 0xB4 // 180 + SYS_FUPDATE = 0xB5 // 181 + SYS___FUPDT = 0xB5 // 181 + SYS_CLRMEMF = 0xBD // 189 + SYS___CLRMF = 0xBD // 189 + SYS_FETCHEP = 0xBF // 191 + SYS___FTCHEP = 0xBF // 191 + SYS_FLDATA = 0xC1 // 193 + SYS___FLDATA = 0xC1 // 193 + SYS_DYNFREE = 0xC2 // 194 + SYS___DYNFRE = 0xC2 // 194 + SYS_DYNALLOC = 0xC3 // 195 + SYS___DYNALL = 0xC3 // 195 + SYS___CDUMP = 0xC4 // 196 + SYS_CSNAP = 0xC5 // 197 + SYS___CSNAP = 0xC5 // 197 + SYS_CTRACE = 0xC6 // 198 + SYS___CTRACE = 0xC6 // 198 + SYS___CTEST = 0xC7 // 199 + SYS_SETENV = 0xC8 // 200 + SYS___SETENV = 0xC8 // 200 + SYS_CLEARENV = 0xC9 // 201 + SYS___CLRENV = 0xC9 // 201 + SYS___REGCOMP_STD = 0xEA // 234 + SYS_NL_LANGINFO = 0xFC // 252 + SYS_GETSYNTX = 0xFD // 253 + SYS_ISBLANK = 0xFE // 254 + SYS___ISBLNK = 0xFE // 254 + SYS_ISWALNUM = 0xFF // 255 + SYS_ISWALPHA = 0x100 // 256 + SYS_ISWBLANK = 0x101 // 257 + SYS___ISWBLK = 0x101 // 257 + SYS_ISWCNTRL = 0x102 // 258 + SYS_ISWDIGIT = 0x103 // 259 + SYS_ISWGRAPH = 0x104 // 260 + SYS_ISWLOWER = 0x105 // 261 + SYS_ISWPRINT = 0x106 // 262 + SYS_ISWPUNCT = 0x107 // 263 + SYS_ISWSPACE = 0x108 // 264 + SYS_ISWUPPER = 0x109 // 265 + SYS_ISWXDIGI = 0x10A // 266 + SYS_ISWXDIGIT = 0x10A // 266 + SYS_WCTYPE = 0x10B // 267 + SYS_ISWCTYPE = 0x10C // 268 + SYS_TOWLOWER = 0x10D // 269 + SYS_TOWUPPER = 0x10E // 270 + SYS_MBSINIT = 0x10F // 271 + SYS_WCTOB = 0x110 // 272 + SYS_MBRLEN = 0x111 // 273 + SYS_MBRTOWC = 0x112 // 274 + SYS_MBSRTOWC = 0x113 // 275 + SYS_MBSRTOWCS = 0x113 // 275 + SYS_WCRTOMB = 0x114 // 276 + SYS_WCSRTOMB = 0x115 // 277 + SYS_WCSRTOMBS = 0x115 // 277 + SYS___CSID = 0x116 // 278 + SYS___WCSID = 0x117 // 279 + SYS_STRPTIME = 0x118 // 280 + SYS___STRPTM = 0x118 // 280 + SYS_STRFMON = 0x119 // 281 + SYS___RPMTCH = 0x11A // 282 + SYS_WCSSTR = 0x11B // 283 + SYS_WCSTOK = 0x12C // 300 + SYS_WCSTOL = 0x12D // 301 + SYS_WCSTOD = 0x12E // 302 + SYS_WCSTOUL = 0x12F // 303 + SYS_WCSCOLL = 0x130 // 304 + SYS_WCSXFRM = 0x131 // 305 + SYS_WCSWIDTH = 0x132 // 306 + SYS_WCWIDTH = 0x133 // 307 + SYS_WCSFTIME = 0x134 // 308 + SYS_SWPRINTF = 0x135 // 309 + SYS_VSWPRINT = 0x136 // 310 + SYS_VSWPRINTF = 0x136 // 310 + SYS_SWSCANF = 0x137 // 311 + SYS_REGCOMP = 0x138 // 312 + SYS_REGEXEC = 0x139 // 313 + SYS_REGFREE = 0x13A // 314 + SYS_REGERROR = 0x13B // 315 + SYS_FGETWC = 0x13C // 316 + SYS_FGETWS = 0x13D // 317 + SYS_FPUTWC = 0x13E // 318 + SYS_FPUTWS = 0x13F // 319 + SYS_GETWC = 0x140 // 320 + SYS_GETWCHAR = 0x141 // 321 + SYS_PUTWC = 0x142 // 322 + SYS_PUTWCHAR = 0x143 // 323 + SYS_UNGETWC = 0x144 // 324 + SYS_ICONV_OPEN = 0x145 // 325 + SYS_ICONV = 0x146 // 326 + SYS_ICONV_CLOSE = 0x147 // 327 + SYS_ISMCCOLLEL = 0x14C // 332 + SYS_STRTOCOLL = 0x14D // 333 + SYS_COLLTOSTR = 0x14E // 334 + SYS_COLLEQUIV = 0x14F // 335 + SYS_COLLRANGE = 0x150 // 336 + SYS_CCLASS = 0x151 // 337 + SYS_COLLORDER = 0x152 // 338 + SYS___DEMANGLE = 0x154 // 340 + SYS_FDOPEN = 0x155 // 341 + SYS___ERRNO = 0x156 // 342 + SYS___ERRNO2 = 0x157 // 343 + SYS___TERROR = 0x158 // 344 + SYS_MAXCOLL = 0x169 // 361 + SYS_GETMCCOLL = 0x16A // 362 + SYS_GETWMCCOLL = 0x16B // 363 + SYS___ERR2AD = 0x16C // 364 + SYS_DLLQUERYFN = 0x16D // 365 + SYS_DLLQUERYVAR = 0x16E // 366 + SYS_DLLFREE = 0x16F // 367 + SYS_DLLLOAD = 0x170 // 368 + SYS__EXIT = 0x174 // 372 + SYS_ACCESS = 0x175 // 373 + SYS_ALARM = 0x176 // 374 + SYS_CFGETISPEED = 0x177 // 375 + SYS_CFGETOSPEED = 0x178 // 376 + SYS_CFSETISPEED = 0x179 // 377 + SYS_CFSETOSPEED = 0x17A // 378 + SYS_CHDIR = 0x17B // 379 + SYS_CHMOD = 0x17C // 380 + SYS_CHOWN = 0x17D // 381 + SYS_CLOSE = 0x17E // 382 + SYS_CLOSEDIR = 0x17F // 383 + SYS_CREAT = 0x180 // 384 + SYS_CTERMID = 0x181 // 385 + SYS_DUP = 0x182 // 386 + SYS_DUP2 = 0x183 // 387 + SYS_EXECL = 0x184 // 388 + SYS_EXECLE = 0x185 // 389 + SYS_EXECLP = 0x186 // 390 + SYS_EXECV = 0x187 // 391 + SYS_EXECVE = 0x188 // 392 + SYS_EXECVP = 0x189 // 393 + SYS_FCHMOD = 0x18A // 394 + SYS_FCHOWN = 0x18B // 395 + SYS_FCNTL = 0x18C // 396 + SYS_FILENO = 0x18D // 397 + SYS_FORK = 0x18E // 398 + SYS_FPATHCONF = 0x18F // 399 + SYS_FSTAT = 0x190 // 400 + SYS_FSYNC = 0x191 // 401 + SYS_FTRUNCATE = 0x192 // 402 + SYS_GETCWD = 0x193 // 403 + SYS_GETEGID = 0x194 // 404 + SYS_GETEUID = 0x195 // 405 + SYS_GETGID = 0x196 // 406 + SYS_GETGRGID = 0x197 // 407 + SYS_GETGRNAM = 0x198 // 408 + SYS_GETGROUPS = 0x199 // 409 + SYS_GETLOGIN = 0x19A // 410 + SYS_W_GETMNTENT = 0x19B // 411 + SYS_GETPGRP = 0x19C // 412 + SYS_GETPID = 0x19D // 413 + SYS_GETPPID = 0x19E // 414 + SYS_GETPWNAM = 0x19F // 415 + SYS_GETPWUID = 0x1A0 // 416 + SYS_GETUID = 0x1A1 // 417 + SYS_W_IOCTL = 0x1A2 // 418 + SYS_ISATTY = 0x1A3 // 419 + SYS_KILL = 0x1A4 // 420 + SYS_LINK = 0x1A5 // 421 + SYS_LSEEK = 0x1A6 // 422 + SYS_LSTAT = 0x1A7 // 423 + SYS_MKDIR = 0x1A8 // 424 + SYS_MKFIFO = 0x1A9 // 425 + SYS_MKNOD = 0x1AA // 426 + SYS_MOUNT = 0x1AB // 427 + SYS_OPEN = 0x1AC // 428 + SYS_OPENDIR = 0x1AD // 429 + SYS_PATHCONF = 0x1AE // 430 + SYS_PAUSE = 0x1AF // 431 + SYS_PIPE = 0x1B0 // 432 + SYS_W_GETPSENT = 0x1B1 // 433 + SYS_READ = 0x1B2 // 434 + SYS_READDIR = 0x1B3 // 435 + SYS_READLINK = 0x1B4 // 436 + SYS_REWINDDIR = 0x1B5 // 437 + SYS_RMDIR = 0x1B6 // 438 + SYS_SETEGID = 0x1B7 // 439 + SYS_SETEUID = 0x1B8 // 440 + SYS_SETGID = 0x1B9 // 441 + SYS_SETPGID = 0x1BA // 442 + SYS_SETSID = 0x1BB // 443 + SYS_SETUID = 0x1BC // 444 + SYS_SIGACTION = 0x1BD // 445 + SYS_SIGADDSET = 0x1BE // 446 + SYS_SIGDELSET = 0x1BF // 447 + SYS_SIGEMPTYSET = 0x1C0 // 448 + SYS_SIGFILLSET = 0x1C1 // 449 + SYS_SIGISMEMBER = 0x1C2 // 450 + SYS_SIGLONGJMP = 0x1C3 // 451 + SYS_SIGPENDING = 0x1C4 // 452 + SYS_SIGPROCMASK = 0x1C5 // 453 + SYS_SIGSETJMP = 0x1C6 // 454 + SYS_SIGSUSPEND = 0x1C7 // 455 + SYS_SLEEP = 0x1C8 // 456 + SYS_STAT = 0x1C9 // 457 + SYS_W_STATFS = 0x1CA // 458 + SYS_SYMLINK = 0x1CB // 459 + SYS_SYSCONF = 0x1CC // 460 + SYS_TCDRAIN = 0x1CD // 461 + SYS_TCFLOW = 0x1CE // 462 + SYS_TCFLUSH = 0x1CF // 463 + SYS_TCGETATTR = 0x1D0 // 464 + SYS_TCGETPGRP = 0x1D1 // 465 + SYS_TCSENDBREAK = 0x1D2 // 466 + SYS_TCSETATTR = 0x1D3 // 467 + SYS_TCSETPGRP = 0x1D4 // 468 + SYS_TIMES = 0x1D5 // 469 + SYS_TTYNAME = 0x1D6 // 470 + SYS_TZSET = 0x1D7 // 471 + SYS_UMASK = 0x1D8 // 472 + SYS_UMOUNT = 0x1D9 // 473 + SYS_UNAME = 0x1DA // 474 + SYS_UNLINK = 0x1DB // 475 + SYS_UTIME = 0x1DC // 476 + SYS_WAIT = 0x1DD // 477 + SYS_WAITPID = 0x1DE // 478 + SYS_WRITE = 0x1DF // 479 + SYS_CHAUDIT = 0x1E0 // 480 + SYS_FCHAUDIT = 0x1E1 // 481 + SYS_GETGROUPSBYNAME = 0x1E2 // 482 + SYS_SIGWAIT = 0x1E3 // 483 + SYS_PTHREAD_EXIT = 0x1E4 // 484 + SYS_PTHREAD_KILL = 0x1E5 // 485 + SYS_PTHREAD_ATTR_INIT = 0x1E6 // 486 + SYS_PTHREAD_ATTR_DESTROY = 0x1E7 // 487 + SYS_PTHREAD_ATTR_SETSTACKSIZE = 0x1E8 // 488 + SYS_PTHREAD_ATTR_GETSTACKSIZE = 0x1E9 // 489 + SYS_PTHREAD_ATTR_SETDETACHSTATE = 0x1EA // 490 + SYS_PTHREAD_ATTR_GETDETACHSTATE = 0x1EB // 491 + SYS_PTHREAD_ATTR_SETWEIGHT_NP = 0x1EC // 492 + SYS_PTHREAD_ATTR_GETWEIGHT_NP = 0x1ED // 493 + SYS_PTHREAD_CANCEL = 0x1EE // 494 + SYS_PTHREAD_CLEANUP_PUSH = 0x1EF // 495 + SYS_PTHREAD_CLEANUP_POP = 0x1F0 // 496 + SYS_PTHREAD_CONDATTR_INIT = 0x1F1 // 497 + SYS_PTHREAD_CONDATTR_DESTROY = 0x1F2 // 498 + SYS_PTHREAD_COND_INIT = 0x1F3 // 499 + SYS_PTHREAD_COND_DESTROY = 0x1F4 // 500 + SYS_PTHREAD_COND_SIGNAL = 0x1F5 // 501 + SYS_PTHREAD_COND_BROADCAST = 0x1F6 // 502 + SYS_PTHREAD_COND_WAIT = 0x1F7 // 503 + SYS_PTHREAD_COND_TIMEDWAIT = 0x1F8 // 504 + SYS_PTHREAD_CREATE = 0x1F9 // 505 + SYS_PTHREAD_DETACH = 0x1FA // 506 + SYS_PTHREAD_EQUAL = 0x1FB // 507 + SYS_PTHREAD_GETSPECIFIC = 0x1FC // 508 + SYS_PTHREAD_JOIN = 0x1FD // 509 + SYS_PTHREAD_KEY_CREATE = 0x1FE // 510 + SYS_PTHREAD_MUTEXATTR_INIT = 0x1FF // 511 + SYS_PTHREAD_MUTEXATTR_DESTROY = 0x200 // 512 + SYS_PTHREAD_MUTEXATTR_SETKIND_NP = 0x201 // 513 + SYS_PTHREAD_MUTEXATTR_GETKIND_NP = 0x202 // 514 + SYS_PTHREAD_MUTEX_INIT = 0x203 // 515 + SYS_PTHREAD_MUTEX_DESTROY = 0x204 // 516 + SYS_PTHREAD_MUTEX_LOCK = 0x205 // 517 + SYS_PTHREAD_MUTEX_TRYLOCK = 0x206 // 518 + SYS_PTHREAD_MUTEX_UNLOCK = 0x207 // 519 + SYS_PTHREAD_ONCE = 0x209 // 521 + SYS_PTHREAD_SELF = 0x20A // 522 + SYS_PTHREAD_SETINTR = 0x20B // 523 + SYS_PTHREAD_SETINTRTYPE = 0x20C // 524 + SYS_PTHREAD_SETSPECIFIC = 0x20D // 525 + SYS_PTHREAD_TESTINTR = 0x20E // 526 + SYS_PTHREAD_YIELD = 0x20F // 527 + SYS_TW_OPEN = 0x210 // 528 + SYS_TW_FCNTL = 0x211 // 529 + SYS_PTHREAD_JOIN_D4_NP = 0x212 // 530 + SYS_PTHREAD_CONDATTR_SETKIND_NP = 0x213 // 531 + SYS_PTHREAD_CONDATTR_GETKIND_NP = 0x214 // 532 + SYS_EXTLINK_NP = 0x215 // 533 + SYS___PASSWD = 0x216 // 534 + SYS_SETGROUPS = 0x217 // 535 + SYS_INITGROUPS = 0x218 // 536 + SYS_WCSPBRK = 0x23F // 575 + SYS_WCSRCHR = 0x240 // 576 + SYS_SVC99 = 0x241 // 577 + SYS___SVC99 = 0x241 // 577 + SYS_WCSWCS = 0x242 // 578 + SYS_LOCALECO = 0x243 // 579 + SYS_LOCALECONV = 0x243 // 579 + SYS___LIBREL = 0x244 // 580 + SYS_RELEASE = 0x245 // 581 + SYS___RLSE = 0x245 // 581 + SYS_FLOCATE = 0x246 // 582 + SYS___FLOCT = 0x246 // 582 + SYS_FDELREC = 0x247 // 583 + SYS___FDLREC = 0x247 // 583 + SYS_FETCH = 0x248 // 584 + SYS___FETCH = 0x248 // 584 + SYS_QSORT = 0x249 // 585 + SYS_GETENV = 0x24A // 586 + SYS_SYSTEM = 0x24B // 587 + SYS_BSEARCH = 0x24C // 588 + SYS_LDIV = 0x24D // 589 + SYS___THROW = 0x25E // 606 + SYS___RETHROW = 0x25F // 607 + SYS___CLEANUPCATCH = 0x260 // 608 + SYS___CATCHMATCH = 0x261 // 609 + SYS___CLEAN2UPCATCH = 0x262 // 610 + SYS_PUTENV = 0x26A // 618 + SYS___GETENV = 0x26F // 623 + SYS_GETPRIORITY = 0x270 // 624 + SYS_NICE = 0x271 // 625 + SYS_SETPRIORITY = 0x272 // 626 + SYS_GETITIMER = 0x273 // 627 + SYS_SETITIMER = 0x274 // 628 + SYS_MSGCTL = 0x275 // 629 + SYS_MSGGET = 0x276 // 630 + SYS_MSGRCV = 0x277 // 631 + SYS_MSGSND = 0x278 // 632 + SYS_MSGXRCV = 0x279 // 633 + SYS___MSGXR = 0x279 // 633 + SYS_SEMCTL = 0x27A // 634 + SYS_SEMGET = 0x27B // 635 + SYS_SEMOP = 0x27C // 636 + SYS_SHMAT = 0x27D // 637 + SYS_SHMCTL = 0x27E // 638 + SYS_SHMDT = 0x27F // 639 + SYS_SHMGET = 0x280 // 640 + SYS___GETIPC = 0x281 // 641 + SYS_SETGRENT = 0x282 // 642 + SYS_GETGRENT = 0x283 // 643 + SYS_ENDGRENT = 0x284 // 644 + SYS_SETPWENT = 0x285 // 645 + SYS_GETPWENT = 0x286 // 646 + SYS_ENDPWENT = 0x287 // 647 + SYS_BSD_SIGNAL = 0x288 // 648 + SYS_KILLPG = 0x289 // 649 + SYS_SIGALTSTACK = 0x28A // 650 + SYS_SIGHOLD = 0x28B // 651 + SYS_SIGIGNORE = 0x28C // 652 + SYS_SIGINTERRUPT = 0x28D // 653 + SYS_SIGPAUSE = 0x28E // 654 + SYS_SIGRELSE = 0x28F // 655 + SYS_SIGSET = 0x290 // 656 + SYS_SIGSTACK = 0x291 // 657 + SYS_GETRLIMIT = 0x292 // 658 + SYS_SETRLIMIT = 0x293 // 659 + SYS_GETRUSAGE = 0x294 // 660 + SYS_MMAP = 0x295 // 661 + SYS_MPROTECT = 0x296 // 662 + SYS_MSYNC = 0x297 // 663 + SYS_MUNMAP = 0x298 // 664 + SYS_CONFSTR = 0x299 // 665 + SYS_GETOPT = 0x29A // 666 + SYS_LCHOWN = 0x29B // 667 + SYS_TRUNCATE = 0x29C // 668 + SYS_GETSUBOPT = 0x29D // 669 + SYS_SETPGRP = 0x29E // 670 + SYS___GDERR = 0x29F // 671 + SYS___TZONE = 0x2A0 // 672 + SYS___DLGHT = 0x2A1 // 673 + SYS___OPARGF = 0x2A2 // 674 + SYS___OPOPTF = 0x2A3 // 675 + SYS___OPINDF = 0x2A4 // 676 + SYS___OPERRF = 0x2A5 // 677 + SYS_GETDATE = 0x2A6 // 678 + SYS_WAIT3 = 0x2A7 // 679 + SYS_WAITID = 0x2A8 // 680 + SYS___CATTRM = 0x2A9 // 681 + SYS___GDTRM = 0x2AA // 682 + SYS___RNDTRM = 0x2AB // 683 + SYS_CRYPT = 0x2AC // 684 + SYS_ENCRYPT = 0x2AD // 685 + SYS_SETKEY = 0x2AE // 686 + SYS___CNVBLK = 0x2AF // 687 + SYS___CRYTRM = 0x2B0 // 688 + SYS___ECRTRM = 0x2B1 // 689 + SYS_DRAND48 = 0x2B2 // 690 + SYS_ERAND48 = 0x2B3 // 691 + SYS_FSTATVFS = 0x2B4 // 692 + SYS_STATVFS = 0x2B5 // 693 + SYS_CATCLOSE = 0x2B6 // 694 + SYS_CATGETS = 0x2B7 // 695 + SYS_CATOPEN = 0x2B8 // 696 + SYS_BCMP = 0x2B9 // 697 + SYS_BCOPY = 0x2BA // 698 + SYS_BZERO = 0x2BB // 699 + SYS_FFS = 0x2BC // 700 + SYS_INDEX = 0x2BD // 701 + SYS_RINDEX = 0x2BE // 702 + SYS_STRCASECMP = 0x2BF // 703 + SYS_STRDUP = 0x2C0 // 704 + SYS_STRNCASECMP = 0x2C1 // 705 + SYS_INITSTATE = 0x2C2 // 706 + SYS_SETSTATE = 0x2C3 // 707 + SYS_RANDOM = 0x2C4 // 708 + SYS_SRANDOM = 0x2C5 // 709 + SYS_HCREATE = 0x2C6 // 710 + SYS_HDESTROY = 0x2C7 // 711 + SYS_HSEARCH = 0x2C8 // 712 + SYS_LFIND = 0x2C9 // 713 + SYS_LSEARCH = 0x2CA // 714 + SYS_TDELETE = 0x2CB // 715 + SYS_TFIND = 0x2CC // 716 + SYS_TSEARCH = 0x2CD // 717 + SYS_TWALK = 0x2CE // 718 + SYS_INSQUE = 0x2CF // 719 + SYS_REMQUE = 0x2D0 // 720 + SYS_POPEN = 0x2D1 // 721 + SYS_PCLOSE = 0x2D2 // 722 + SYS_SWAB = 0x2D3 // 723 + SYS_MEMCCPY = 0x2D4 // 724 + SYS_GETPAGESIZE = 0x2D8 // 728 + SYS_FCHDIR = 0x2D9 // 729 + SYS___OCLCK = 0x2DA // 730 + SYS___ATOE = 0x2DB // 731 + SYS___ATOE_L = 0x2DC // 732 + SYS___ETOA = 0x2DD // 733 + SYS___ETOA_L = 0x2DE // 734 + SYS_SETUTXENT = 0x2DF // 735 + SYS_GETUTXENT = 0x2E0 // 736 + SYS_ENDUTXENT = 0x2E1 // 737 + SYS_GETUTXID = 0x2E2 // 738 + SYS_GETUTXLINE = 0x2E3 // 739 + SYS_PUTUTXLINE = 0x2E4 // 740 + SYS_FMTMSG = 0x2E5 // 741 + SYS_JRAND48 = 0x2E6 // 742 + SYS_LRAND48 = 0x2E7 // 743 + SYS_MRAND48 = 0x2E8 // 744 + SYS_NRAND48 = 0x2E9 // 745 + SYS_LCONG48 = 0x2EA // 746 + SYS_SRAND48 = 0x2EB // 747 + SYS_SEED48 = 0x2EC // 748 + SYS_ISASCII = 0x2ED // 749 + SYS_TOASCII = 0x2EE // 750 + SYS_A64L = 0x2EF // 751 + SYS_L64A = 0x2F0 // 752 + SYS_UALARM = 0x2F1 // 753 + SYS_USLEEP = 0x2F2 // 754 + SYS___UTXTRM = 0x2F3 // 755 + SYS___SRCTRM = 0x2F4 // 756 + SYS_FTIME = 0x2F5 // 757 + SYS_GETTIMEOFDAY = 0x2F6 // 758 + SYS_DBM_CLEARERR = 0x2F7 // 759 + SYS_DBM_CLOSE = 0x2F8 // 760 + SYS_DBM_DELETE = 0x2F9 // 761 + SYS_DBM_ERROR = 0x2FA // 762 + SYS_DBM_FETCH = 0x2FB // 763 + SYS_DBM_FIRSTKEY = 0x2FC // 764 + SYS_DBM_NEXTKEY = 0x2FD // 765 + SYS_DBM_OPEN = 0x2FE // 766 + SYS_DBM_STORE = 0x2FF // 767 + SYS___NDMTRM = 0x300 // 768 + SYS_FTOK = 0x301 // 769 + SYS_BASENAME = 0x302 // 770 + SYS_DIRNAME = 0x303 // 771 + SYS_GETDTABLESIZE = 0x304 // 772 + SYS_MKSTEMP = 0x305 // 773 + SYS_MKTEMP = 0x306 // 774 + SYS_NFTW = 0x307 // 775 + SYS_GETWD = 0x308 // 776 + SYS_LOCKF = 0x309 // 777 + SYS__LONGJMP = 0x30D // 781 + SYS__SETJMP = 0x30E // 782 + SYS_VFORK = 0x30F // 783 + SYS_WORDEXP = 0x310 // 784 + SYS_WORDFREE = 0x311 // 785 + SYS_GETPGID = 0x312 // 786 + SYS_GETSID = 0x313 // 787 + SYS___UTMPXNAME = 0x314 // 788 + SYS_CUSERID = 0x315 // 789 + SYS_GETPASS = 0x316 // 790 + SYS_FNMATCH = 0x317 // 791 + SYS_FTW = 0x318 // 792 + SYS_GETW = 0x319 // 793 + SYS_GLOB = 0x31A // 794 + SYS_GLOBFREE = 0x31B // 795 + SYS_PUTW = 0x31C // 796 + SYS_SEEKDIR = 0x31D // 797 + SYS_TELLDIR = 0x31E // 798 + SYS_TEMPNAM = 0x31F // 799 + SYS_ACOSH = 0x320 // 800 + SYS_ASINH = 0x321 // 801 + SYS_ATANH = 0x322 // 802 + SYS_CBRT = 0x323 // 803 + SYS_EXPM1 = 0x324 // 804 + SYS_ILOGB = 0x325 // 805 + SYS_LOGB = 0x326 // 806 + SYS_LOG1P = 0x327 // 807 + SYS_NEXTAFTER = 0x328 // 808 + SYS_RINT = 0x329 // 809 + SYS_REMAINDER = 0x32A // 810 + SYS_SCALB = 0x32B // 811 + SYS_LGAMMA = 0x32C // 812 + SYS_TTYSLOT = 0x32D // 813 + SYS_GETTIMEOFDAY_R = 0x32E // 814 + SYS_SYNC = 0x32F // 815 + SYS_SPAWN = 0x330 // 816 + SYS_SPAWNP = 0x331 // 817 + SYS_GETLOGIN_UU = 0x332 // 818 + SYS_ECVT = 0x333 // 819 + SYS_FCVT = 0x334 // 820 + SYS_GCVT = 0x335 // 821 + SYS_ACCEPT = 0x336 // 822 + SYS_BIND = 0x337 // 823 + SYS_CONNECT = 0x338 // 824 + SYS_ENDHOSTENT = 0x339 // 825 + SYS_ENDPROTOENT = 0x33A // 826 + SYS_ENDSERVENT = 0x33B // 827 + SYS_GETHOSTBYADDR_R = 0x33C // 828 + SYS_GETHOSTBYADDR = 0x33D // 829 + SYS_GETHOSTBYNAME_R = 0x33E // 830 + SYS_GETHOSTBYNAME = 0x33F // 831 + SYS_GETHOSTENT = 0x340 // 832 + SYS_GETHOSTID = 0x341 // 833 + SYS_GETHOSTNAME = 0x342 // 834 + SYS_GETNETBYADDR = 0x343 // 835 + SYS_GETNETBYNAME = 0x344 // 836 + SYS_GETNETENT = 0x345 // 837 + SYS_GETPEERNAME = 0x346 // 838 + SYS_GETPROTOBYNAME = 0x347 // 839 + SYS_GETPROTOBYNUMBER = 0x348 // 840 + SYS_GETPROTOENT = 0x349 // 841 + SYS_GETSERVBYNAME = 0x34A // 842 + SYS_GETSERVBYPORT = 0x34B // 843 + SYS_GETSERVENT = 0x34C // 844 + SYS_GETSOCKNAME = 0x34D // 845 + SYS_GETSOCKOPT = 0x34E // 846 + SYS_INET_ADDR = 0x34F // 847 + SYS_INET_LNAOF = 0x350 // 848 + SYS_INET_MAKEADDR = 0x351 // 849 + SYS_INET_NETOF = 0x352 // 850 + SYS_INET_NETWORK = 0x353 // 851 + SYS_INET_NTOA = 0x354 // 852 + SYS_IOCTL = 0x355 // 853 + SYS_LISTEN = 0x356 // 854 + SYS_READV = 0x357 // 855 + SYS_RECV = 0x358 // 856 + SYS_RECVFROM = 0x359 // 857 + SYS_SELECT = 0x35B // 859 + SYS_SELECTEX = 0x35C // 860 + SYS_SEND = 0x35D // 861 + SYS_SENDTO = 0x35F // 863 + SYS_SETHOSTENT = 0x360 // 864 + SYS_SETNETENT = 0x361 // 865 + SYS_SETPEER = 0x362 // 866 + SYS_SETPROTOENT = 0x363 // 867 + SYS_SETSERVENT = 0x364 // 868 + SYS_SETSOCKOPT = 0x365 // 869 + SYS_SHUTDOWN = 0x366 // 870 + SYS_SOCKET = 0x367 // 871 + SYS_SOCKETPAIR = 0x368 // 872 + SYS_WRITEV = 0x369 // 873 + SYS_CHROOT = 0x36A // 874 + SYS_W_STATVFS = 0x36B // 875 + SYS_ULIMIT = 0x36C // 876 + SYS_ISNAN = 0x36D // 877 + SYS_UTIMES = 0x36E // 878 + SYS___H_ERRNO = 0x36F // 879 + SYS_ENDNETENT = 0x370 // 880 + SYS_CLOSELOG = 0x371 // 881 + SYS_OPENLOG = 0x372 // 882 + SYS_SETLOGMASK = 0x373 // 883 + SYS_SYSLOG = 0x374 // 884 + SYS_PTSNAME = 0x375 // 885 + SYS_SETREUID = 0x376 // 886 + SYS_SETREGID = 0x377 // 887 + SYS_REALPATH = 0x378 // 888 + SYS___SIGNGAM = 0x379 // 889 + SYS_GRANTPT = 0x37A // 890 + SYS_UNLOCKPT = 0x37B // 891 + SYS_TCGETSID = 0x37C // 892 + SYS___TCGETCP = 0x37D // 893 + SYS___TCSETCP = 0x37E // 894 + SYS___TCSETTABLES = 0x37F // 895 + SYS_POLL = 0x380 // 896 + SYS_REXEC = 0x381 // 897 + SYS___ISASCII2 = 0x382 // 898 + SYS___TOASCII2 = 0x383 // 899 + SYS_CHPRIORITY = 0x384 // 900 + SYS_PTHREAD_ATTR_SETSYNCTYPE_NP = 0x385 // 901 + SYS_PTHREAD_ATTR_GETSYNCTYPE_NP = 0x386 // 902 + SYS_PTHREAD_SET_LIMIT_NP = 0x387 // 903 + SYS___STNETENT = 0x388 // 904 + SYS___STPROTOENT = 0x389 // 905 + SYS___STSERVENT = 0x38A // 906 + SYS___STHOSTENT = 0x38B // 907 + SYS_NLIST = 0x38C // 908 + SYS___IPDBCS = 0x38D // 909 + SYS___IPDSPX = 0x38E // 910 + SYS___IPMSGC = 0x38F // 911 + SYS___SELECT1 = 0x390 // 912 + SYS_PTHREAD_SECURITY_NP = 0x391 // 913 + SYS___CHECK_RESOURCE_AUTH_NP = 0x392 // 914 + SYS___CONVERT_ID_NP = 0x393 // 915 + SYS___OPENVMREL = 0x394 // 916 + SYS_WMEMCHR = 0x395 // 917 + SYS_WMEMCMP = 0x396 // 918 + SYS_WMEMCPY = 0x397 // 919 + SYS_WMEMMOVE = 0x398 // 920 + SYS_WMEMSET = 0x399 // 921 + SYS___FPUTWC = 0x400 // 1024 + SYS___PUTWC = 0x401 // 1025 + SYS___PWCHAR = 0x402 // 1026 + SYS___WCSFTM = 0x403 // 1027 + SYS___WCSTOK = 0x404 // 1028 + SYS___WCWDTH = 0x405 // 1029 + SYS_T_ACCEPT = 0x409 // 1033 + SYS_T_ALLOC = 0x40A // 1034 + SYS_T_BIND = 0x40B // 1035 + SYS_T_CLOSE = 0x40C // 1036 + SYS_T_CONNECT = 0x40D // 1037 + SYS_T_ERROR = 0x40E // 1038 + SYS_T_FREE = 0x40F // 1039 + SYS_T_GETINFO = 0x410 // 1040 + SYS_T_GETPROTADDR = 0x411 // 1041 + SYS_T_GETSTATE = 0x412 // 1042 + SYS_T_LISTEN = 0x413 // 1043 + SYS_T_LOOK = 0x414 // 1044 + SYS_T_OPEN = 0x415 // 1045 + SYS_T_OPTMGMT = 0x416 // 1046 + SYS_T_RCV = 0x417 // 1047 + SYS_T_RCVCONNECT = 0x418 // 1048 + SYS_T_RCVDIS = 0x419 // 1049 + SYS_T_RCVREL = 0x41A // 1050 + SYS_T_RCVUDATA = 0x41B // 1051 + SYS_T_RCVUDERR = 0x41C // 1052 + SYS_T_SND = 0x41D // 1053 + SYS_T_SNDDIS = 0x41E // 1054 + SYS_T_SNDREL = 0x41F // 1055 + SYS_T_SNDUDATA = 0x420 // 1056 + SYS_T_STRERROR = 0x421 // 1057 + SYS_T_SYNC = 0x422 // 1058 + SYS_T_UNBIND = 0x423 // 1059 + SYS___T_ERRNO = 0x424 // 1060 + SYS___RECVMSG2 = 0x425 // 1061 + SYS___SENDMSG2 = 0x426 // 1062 + SYS_FATTACH = 0x427 // 1063 + SYS_FDETACH = 0x428 // 1064 + SYS_GETMSG = 0x429 // 1065 + SYS_GETPMSG = 0x42A // 1066 + SYS_ISASTREAM = 0x42B // 1067 + SYS_PUTMSG = 0x42C // 1068 + SYS_PUTPMSG = 0x42D // 1069 + SYS___ISPOSIXON = 0x42E // 1070 + SYS___OPENMVSREL = 0x42F // 1071 + SYS_GETCONTEXT = 0x430 // 1072 + SYS_SETCONTEXT = 0x431 // 1073 + SYS_MAKECONTEXT = 0x432 // 1074 + SYS_SWAPCONTEXT = 0x433 // 1075 + SYS_PTHREAD_GETSPECIFIC_D8_NP = 0x434 // 1076 + SYS_GETCLIENTID = 0x470 // 1136 + SYS___GETCLIENTID = 0x471 // 1137 + SYS_GETSTABLESIZE = 0x472 // 1138 + SYS_GETIBMOPT = 0x473 // 1139 + SYS_GETIBMSOCKOPT = 0x474 // 1140 + SYS_GIVESOCKET = 0x475 // 1141 + SYS_IBMSFLUSH = 0x476 // 1142 + SYS_MAXDESC = 0x477 // 1143 + SYS_SETIBMOPT = 0x478 // 1144 + SYS_SETIBMSOCKOPT = 0x479 // 1145 + SYS_SOCK_DEBUG = 0x47A // 1146 + SYS_SOCK_DO_TESTSTOR = 0x47D // 1149 + SYS_TAKESOCKET = 0x47E // 1150 + SYS___SERVER_INIT = 0x47F // 1151 + SYS___SERVER_PWU = 0x480 // 1152 + SYS_PTHREAD_TAG_NP = 0x481 // 1153 + SYS___CONSOLE = 0x482 // 1154 + SYS___WSINIT = 0x483 // 1155 + SYS___IPTCPN = 0x489 // 1161 + SYS___SMF_RECORD = 0x48A // 1162 + SYS___IPHOST = 0x48B // 1163 + SYS___IPNODE = 0x48C // 1164 + SYS___SERVER_CLASSIFY_CREATE = 0x48D // 1165 + SYS___SERVER_CLASSIFY_DESTROY = 0x48E // 1166 + SYS___SERVER_CLASSIFY_RESET = 0x48F // 1167 + SYS___SERVER_CLASSIFY = 0x490 // 1168 + SYS___HEAPRPT = 0x496 // 1174 + SYS___FNWSA = 0x49B // 1179 + SYS___SPAWN2 = 0x49D // 1181 + SYS___SPAWNP2 = 0x49E // 1182 + SYS___GDRR = 0x4A1 // 1185 + SYS___HRRNO = 0x4A2 // 1186 + SYS___OPRG = 0x4A3 // 1187 + SYS___OPRR = 0x4A4 // 1188 + SYS___OPND = 0x4A5 // 1189 + SYS___OPPT = 0x4A6 // 1190 + SYS___SIGGM = 0x4A7 // 1191 + SYS___DGHT = 0x4A8 // 1192 + SYS___TZNE = 0x4A9 // 1193 + SYS___TZZN = 0x4AA // 1194 + SYS___TRRNO = 0x4AF // 1199 + SYS___ENVN = 0x4B0 // 1200 + SYS___MLOCKALL = 0x4B1 // 1201 + SYS_CREATEWO = 0x4B2 // 1202 + SYS_CREATEWORKUNIT = 0x4B2 // 1202 + SYS_CONTINUE = 0x4B3 // 1203 + SYS_CONTINUEWORKUNIT = 0x4B3 // 1203 + SYS_CONNECTW = 0x4B4 // 1204 + SYS_CONNECTWORKMGR = 0x4B4 // 1204 + SYS_CONNECTS = 0x4B5 // 1205 + SYS_CONNECTSERVER = 0x4B5 // 1205 + SYS_DISCONNE = 0x4B6 // 1206 + SYS_DISCONNECTSERVER = 0x4B6 // 1206 + SYS_JOINWORK = 0x4B7 // 1207 + SYS_JOINWORKUNIT = 0x4B7 // 1207 + SYS_LEAVEWOR = 0x4B8 // 1208 + SYS_LEAVEWORKUNIT = 0x4B8 // 1208 + SYS_DELETEWO = 0x4B9 // 1209 + SYS_DELETEWORKUNIT = 0x4B9 // 1209 + SYS_QUERYMET = 0x4BA // 1210 + SYS_QUERYMETRICS = 0x4BA // 1210 + SYS_QUERYSCH = 0x4BB // 1211 + SYS_QUERYSCHENV = 0x4BB // 1211 + SYS_CHECKSCH = 0x4BC // 1212 + SYS_CHECKSCHENV = 0x4BC // 1212 + SYS___PID_AFFINITY = 0x4BD // 1213 + SYS___ASINH_B = 0x4BE // 1214 + SYS___ATAN_B = 0x4BF // 1215 + SYS___CBRT_B = 0x4C0 // 1216 + SYS___CEIL_B = 0x4C1 // 1217 + SYS_COPYSIGN = 0x4C2 // 1218 + SYS___COS_B = 0x4C3 // 1219 + SYS___ERF_B = 0x4C4 // 1220 + SYS___ERFC_B = 0x4C5 // 1221 + SYS___EXPM1_B = 0x4C6 // 1222 + SYS___FABS_B = 0x4C7 // 1223 + SYS_FINITE = 0x4C8 // 1224 + SYS___FLOOR_B = 0x4C9 // 1225 + SYS___FREXP_B = 0x4CA // 1226 + SYS___ILOGB_B = 0x4CB // 1227 + SYS___ISNAN_B = 0x4CC // 1228 + SYS___LDEXP_B = 0x4CD // 1229 + SYS___LOG1P_B = 0x4CE // 1230 + SYS___LOGB_B = 0x4CF // 1231 + SYS_MATHERR = 0x4D0 // 1232 + SYS___MODF_B = 0x4D1 // 1233 + SYS___NEXTAFTER_B = 0x4D2 // 1234 + SYS___RINT_B = 0x4D3 // 1235 + SYS_SCALBN = 0x4D4 // 1236 + SYS_SIGNIFIC = 0x4D5 // 1237 + SYS_SIGNIFICAND = 0x4D5 // 1237 + SYS___SIN_B = 0x4D6 // 1238 + SYS___TAN_B = 0x4D7 // 1239 + SYS___TANH_B = 0x4D8 // 1240 + SYS___ACOS_B = 0x4D9 // 1241 + SYS___ACOSH_B = 0x4DA // 1242 + SYS___ASIN_B = 0x4DB // 1243 + SYS___ATAN2_B = 0x4DC // 1244 + SYS___ATANH_B = 0x4DD // 1245 + SYS___COSH_B = 0x4DE // 1246 + SYS___EXP_B = 0x4DF // 1247 + SYS___FMOD_B = 0x4E0 // 1248 + SYS___GAMMA_B = 0x4E1 // 1249 + SYS_GAMMA_R = 0x4E2 // 1250 + SYS___HYPOT_B = 0x4E3 // 1251 + SYS___J0_B = 0x4E4 // 1252 + SYS___Y0_B = 0x4E5 // 1253 + SYS___J1_B = 0x4E6 // 1254 + SYS___Y1_B = 0x4E7 // 1255 + SYS___JN_B = 0x4E8 // 1256 + SYS___YN_B = 0x4E9 // 1257 + SYS___LGAMMA_B = 0x4EA // 1258 + SYS_LGAMMA_R = 0x4EB // 1259 + SYS___LOG_B = 0x4EC // 1260 + SYS___LOG10_B = 0x4ED // 1261 + SYS___POW_B = 0x4EE // 1262 + SYS___REMAINDER_B = 0x4EF // 1263 + SYS___SCALB_B = 0x4F0 // 1264 + SYS___SINH_B = 0x4F1 // 1265 + SYS___SQRT_B = 0x4F2 // 1266 + SYS___OPENDIR2 = 0x4F3 // 1267 + SYS___READDIR2 = 0x4F4 // 1268 + SYS___LOGIN = 0x4F5 // 1269 + SYS___OPEN_STAT = 0x4F6 // 1270 + SYS_ACCEPT_AND_RECV = 0x4F7 // 1271 + SYS___FP_SETMODE = 0x4F8 // 1272 + SYS___SIGACTIONSET = 0x4FB // 1275 + SYS___UCREATE = 0x4FC // 1276 + SYS___UMALLOC = 0x4FD // 1277 + SYS___UFREE = 0x4FE // 1278 + SYS___UHEAPREPORT = 0x4FF // 1279 + SYS___ISBFP = 0x500 // 1280 + SYS___FP_CAST = 0x501 // 1281 + SYS___CERTIFICATE = 0x502 // 1282 + SYS_SEND_FILE = 0x503 // 1283 + SYS_AIO_CANCEL = 0x504 // 1284 + SYS_AIO_ERROR = 0x505 // 1285 + SYS_AIO_READ = 0x506 // 1286 + SYS_AIO_RETURN = 0x507 // 1287 + SYS_AIO_SUSPEND = 0x508 // 1288 + SYS_AIO_WRITE = 0x509 // 1289 + SYS_PTHREAD_MUTEXATTR_GETPSHARED = 0x50A // 1290 + SYS_PTHREAD_MUTEXATTR_SETPSHARED = 0x50B // 1291 + SYS_PTHREAD_RWLOCK_DESTROY = 0x50C // 1292 + SYS_PTHREAD_RWLOCK_INIT = 0x50D // 1293 + SYS_PTHREAD_RWLOCK_RDLOCK = 0x50E // 1294 + SYS_PTHREAD_RWLOCK_TRYRDLOCK = 0x50F // 1295 + SYS_PTHREAD_RWLOCK_TRYWRLOCK = 0x510 // 1296 + SYS_PTHREAD_RWLOCK_UNLOCK = 0x511 // 1297 + SYS_PTHREAD_RWLOCK_WRLOCK = 0x512 // 1298 + SYS_PTHREAD_RWLOCKATTR_GETPSHARED = 0x513 // 1299 + SYS_PTHREAD_RWLOCKATTR_SETPSHARED = 0x514 // 1300 + SYS_PTHREAD_RWLOCKATTR_INIT = 0x515 // 1301 + SYS_PTHREAD_RWLOCKATTR_DESTROY = 0x516 // 1302 + SYS___CTTBL = 0x517 // 1303 + SYS_PTHREAD_MUTEXATTR_SETTYPE = 0x518 // 1304 + SYS_PTHREAD_MUTEXATTR_GETTYPE = 0x519 // 1305 + SYS___FP_CLR_FLAG = 0x51A // 1306 + SYS___FP_READ_FLAG = 0x51B // 1307 + SYS___FP_RAISE_XCP = 0x51C // 1308 + SYS___FP_CLASS = 0x51D // 1309 + SYS___FP_FINITE = 0x51E // 1310 + SYS___FP_ISNAN = 0x51F // 1311 + SYS___FP_UNORDERED = 0x520 // 1312 + SYS___FP_READ_RND = 0x521 // 1313 + SYS___FP_READ_RND_B = 0x522 // 1314 + SYS___FP_SWAP_RND = 0x523 // 1315 + SYS___FP_SWAP_RND_B = 0x524 // 1316 + SYS___FP_LEVEL = 0x525 // 1317 + SYS___FP_BTOH = 0x526 // 1318 + SYS___FP_HTOB = 0x527 // 1319 + SYS___FPC_RD = 0x528 // 1320 + SYS___FPC_WR = 0x529 // 1321 + SYS___FPC_RW = 0x52A // 1322 + SYS___FPC_SM = 0x52B // 1323 + SYS___FPC_RS = 0x52C // 1324 + SYS_SIGTIMEDWAIT = 0x52D // 1325 + SYS_SIGWAITINFO = 0x52E // 1326 + SYS___CHKBFP = 0x52F // 1327 + SYS___W_PIOCTL = 0x59E // 1438 + SYS___OSENV = 0x59F // 1439 + SYS_EXPORTWO = 0x5A1 // 1441 + SYS_EXPORTWORKUNIT = 0x5A1 // 1441 + SYS_UNDOEXPO = 0x5A2 // 1442 + SYS_UNDOEXPORTWORKUNIT = 0x5A2 // 1442 + SYS_IMPORTWO = 0x5A3 // 1443 + SYS_IMPORTWORKUNIT = 0x5A3 // 1443 + SYS_UNDOIMPO = 0x5A4 // 1444 + SYS_UNDOIMPORTWORKUNIT = 0x5A4 // 1444 + SYS_EXTRACTW = 0x5A5 // 1445 + SYS_EXTRACTWORKUNIT = 0x5A5 // 1445 + SYS___CPL = 0x5A6 // 1446 + SYS___MAP_INIT = 0x5A7 // 1447 + SYS___MAP_SERVICE = 0x5A8 // 1448 + SYS_SIGQUEUE = 0x5A9 // 1449 + SYS___MOUNT = 0x5AA // 1450 + SYS___GETUSERID = 0x5AB // 1451 + SYS___IPDOMAINNAME = 0x5AC // 1452 + SYS_QUERYENC = 0x5AD // 1453 + SYS_QUERYWORKUNITCLASSIFICATION = 0x5AD // 1453 + SYS_CONNECTE = 0x5AE // 1454 + SYS_CONNECTEXPORTIMPORT = 0x5AE // 1454 + SYS___FP_SWAPMODE = 0x5AF // 1455 + SYS_STRTOLL = 0x5B0 // 1456 + SYS_STRTOULL = 0x5B1 // 1457 + SYS___DSA_PREV = 0x5B2 // 1458 + SYS___EP_FIND = 0x5B3 // 1459 + SYS___SERVER_THREADS_QUERY = 0x5B4 // 1460 + SYS___MSGRCV_TIMED = 0x5B7 // 1463 + SYS___SEMOP_TIMED = 0x5B8 // 1464 + SYS___GET_CPUID = 0x5B9 // 1465 + SYS___GET_SYSTEM_SETTINGS = 0x5BA // 1466 + SYS_FTELLO = 0x5C8 // 1480 + SYS_FSEEKO = 0x5C9 // 1481 + SYS_LLDIV = 0x5CB // 1483 + SYS_WCSTOLL = 0x5CC // 1484 + SYS_WCSTOULL = 0x5CD // 1485 + SYS_LLABS = 0x5CE // 1486 + SYS___CONSOLE2 = 0x5D2 // 1490 + SYS_INET_NTOP = 0x5D3 // 1491 + SYS_INET_PTON = 0x5D4 // 1492 + SYS___RES = 0x5D6 // 1494 + SYS_RES_MKQUERY = 0x5D7 // 1495 + SYS_RES_INIT = 0x5D8 // 1496 + SYS_RES_QUERY = 0x5D9 // 1497 + SYS_RES_SEARCH = 0x5DA // 1498 + SYS_RES_SEND = 0x5DB // 1499 + SYS_RES_QUERYDOMAIN = 0x5DC // 1500 + SYS_DN_EXPAND = 0x5DD // 1501 + SYS_DN_SKIPNAME = 0x5DE // 1502 + SYS_DN_COMP = 0x5DF // 1503 + SYS_ASCTIME_R = 0x5E0 // 1504 + SYS_CTIME_R = 0x5E1 // 1505 + SYS_GMTIME_R = 0x5E2 // 1506 + SYS_LOCALTIME_R = 0x5E3 // 1507 + SYS_RAND_R = 0x5E4 // 1508 + SYS_STRTOK_R = 0x5E5 // 1509 + SYS_READDIR_R = 0x5E6 // 1510 + SYS_GETGRGID_R = 0x5E7 // 1511 + SYS_GETGRNAM_R = 0x5E8 // 1512 + SYS_GETLOGIN_R = 0x5E9 // 1513 + SYS_GETPWNAM_R = 0x5EA // 1514 + SYS_GETPWUID_R = 0x5EB // 1515 + SYS_TTYNAME_R = 0x5EC // 1516 + SYS_PTHREAD_ATFORK = 0x5ED // 1517 + SYS_PTHREAD_ATTR_GETGUARDSIZE = 0x5EE // 1518 + SYS_PTHREAD_ATTR_GETSTACKADDR = 0x5EF // 1519 + SYS_PTHREAD_ATTR_SETGUARDSIZE = 0x5F0 // 1520 + SYS_PTHREAD_ATTR_SETSTACKADDR = 0x5F1 // 1521 + SYS_PTHREAD_CONDATTR_GETPSHARED = 0x5F2 // 1522 + SYS_PTHREAD_CONDATTR_SETPSHARED = 0x5F3 // 1523 + SYS_PTHREAD_GETCONCURRENCY = 0x5F4 // 1524 + SYS_PTHREAD_KEY_DELETE = 0x5F5 // 1525 + SYS_PTHREAD_SETCONCURRENCY = 0x5F6 // 1526 + SYS_PTHREAD_SIGMASK = 0x5F7 // 1527 + SYS___DISCARDDATA = 0x5F8 // 1528 + SYS_PTHREAD_ATTR_GETSCHEDPARAM = 0x5F9 // 1529 + SYS_PTHREAD_ATTR_SETSCHEDPARAM = 0x5FA // 1530 + SYS_PTHREAD_ATTR_GETDETACHSTATE_U98 = 0x5FB // 1531 + SYS_PTHREAD_ATTR_SETDETACHSTATE_U98 = 0x5FC // 1532 + SYS_PTHREAD_DETACH_U98 = 0x5FD // 1533 + SYS_PTHREAD_GETSPECIFIC_U98 = 0x5FE // 1534 + SYS_PTHREAD_SETCANCELSTATE = 0x5FF // 1535 + SYS_PTHREAD_SETCANCELTYPE = 0x600 // 1536 + SYS_PTHREAD_TESTCANCEL = 0x601 // 1537 + SYS___ATANF_B = 0x602 // 1538 + SYS___ATANL_B = 0x603 // 1539 + SYS___CEILF_B = 0x604 // 1540 + SYS___CEILL_B = 0x605 // 1541 + SYS___COSF_B = 0x606 // 1542 + SYS___COSL_B = 0x607 // 1543 + SYS___FABSF_B = 0x608 // 1544 + SYS___FABSL_B = 0x609 // 1545 + SYS___FLOORF_B = 0x60A // 1546 + SYS___FLOORL_B = 0x60B // 1547 + SYS___FREXPF_B = 0x60C // 1548 + SYS___FREXPL_B = 0x60D // 1549 + SYS___LDEXPF_B = 0x60E // 1550 + SYS___LDEXPL_B = 0x60F // 1551 + SYS___SINF_B = 0x610 // 1552 + SYS___SINL_B = 0x611 // 1553 + SYS___TANF_B = 0x612 // 1554 + SYS___TANL_B = 0x613 // 1555 + SYS___TANHF_B = 0x614 // 1556 + SYS___TANHL_B = 0x615 // 1557 + SYS___ACOSF_B = 0x616 // 1558 + SYS___ACOSL_B = 0x617 // 1559 + SYS___ASINF_B = 0x618 // 1560 + SYS___ASINL_B = 0x619 // 1561 + SYS___ATAN2F_B = 0x61A // 1562 + SYS___ATAN2L_B = 0x61B // 1563 + SYS___COSHF_B = 0x61C // 1564 + SYS___COSHL_B = 0x61D // 1565 + SYS___EXPF_B = 0x61E // 1566 + SYS___EXPL_B = 0x61F // 1567 + SYS___LOGF_B = 0x620 // 1568 + SYS___LOGL_B = 0x621 // 1569 + SYS___LOG10F_B = 0x622 // 1570 + SYS___LOG10L_B = 0x623 // 1571 + SYS___POWF_B = 0x624 // 1572 + SYS___POWL_B = 0x625 // 1573 + SYS___SINHF_B = 0x626 // 1574 + SYS___SINHL_B = 0x627 // 1575 + SYS___SQRTF_B = 0x628 // 1576 + SYS___SQRTL_B = 0x629 // 1577 + SYS___ABSF_B = 0x62A // 1578 + SYS___ABS_B = 0x62B // 1579 + SYS___ABSL_B = 0x62C // 1580 + SYS___FMODF_B = 0x62D // 1581 + SYS___FMODL_B = 0x62E // 1582 + SYS___MODFF_B = 0x62F // 1583 + SYS___MODFL_B = 0x630 // 1584 + SYS_ABSF = 0x631 // 1585 + SYS_ABSL = 0x632 // 1586 + SYS_ACOSF = 0x633 // 1587 + SYS_ACOSL = 0x634 // 1588 + SYS_ASINF = 0x635 // 1589 + SYS_ASINL = 0x636 // 1590 + SYS_ATAN2F = 0x637 // 1591 + SYS_ATAN2L = 0x638 // 1592 + SYS_ATANF = 0x639 // 1593 + SYS_ATANL = 0x63A // 1594 + SYS_CEILF = 0x63B // 1595 + SYS_CEILL = 0x63C // 1596 + SYS_COSF = 0x63D // 1597 + SYS_COSL = 0x63E // 1598 + SYS_COSHF = 0x63F // 1599 + SYS_COSHL = 0x640 // 1600 + SYS_EXPF = 0x641 // 1601 + SYS_EXPL = 0x642 // 1602 + SYS_TANHF = 0x643 // 1603 + SYS_TANHL = 0x644 // 1604 + SYS_LOG10F = 0x645 // 1605 + SYS_LOG10L = 0x646 // 1606 + SYS_LOGF = 0x647 // 1607 + SYS_LOGL = 0x648 // 1608 + SYS_POWF = 0x649 // 1609 + SYS_POWL = 0x64A // 1610 + SYS_SINF = 0x64B // 1611 + SYS_SINL = 0x64C // 1612 + SYS_SQRTF = 0x64D // 1613 + SYS_SQRTL = 0x64E // 1614 + SYS_SINHF = 0x64F // 1615 + SYS_SINHL = 0x650 // 1616 + SYS_TANF = 0x651 // 1617 + SYS_TANL = 0x652 // 1618 + SYS_FABSF = 0x653 // 1619 + SYS_FABSL = 0x654 // 1620 + SYS_FLOORF = 0x655 // 1621 + SYS_FLOORL = 0x656 // 1622 + SYS_FMODF = 0x657 // 1623 + SYS_FMODL = 0x658 // 1624 + SYS_FREXPF = 0x659 // 1625 + SYS_FREXPL = 0x65A // 1626 + SYS_LDEXPF = 0x65B // 1627 + SYS_LDEXPL = 0x65C // 1628 + SYS_MODFF = 0x65D // 1629 + SYS_MODFL = 0x65E // 1630 + SYS_BTOWC = 0x65F // 1631 + SYS___CHATTR = 0x660 // 1632 + SYS___FCHATTR = 0x661 // 1633 + SYS___TOCCSID = 0x662 // 1634 + SYS___CSNAMETYPE = 0x663 // 1635 + SYS___TOCSNAME = 0x664 // 1636 + SYS___CCSIDTYPE = 0x665 // 1637 + SYS___AE_CORRESTBL_QUERY = 0x666 // 1638 + SYS___AE_AUTOCONVERT_STATE = 0x667 // 1639 + SYS_DN_FIND = 0x668 // 1640 + SYS___GETHOSTBYADDR_A = 0x669 // 1641 + SYS___GETHOSTBYNAME_A = 0x66A // 1642 + SYS___RES_INIT_A = 0x66B // 1643 + SYS___GETHOSTBYADDR_R_A = 0x66C // 1644 + SYS___GETHOSTBYNAME_R_A = 0x66D // 1645 + SYS___CHARMAP_INIT_A = 0x66E // 1646 + SYS___MBLEN_A = 0x66F // 1647 + SYS___MBLEN_SB_A = 0x670 // 1648 + SYS___MBLEN_STD_A = 0x671 // 1649 + SYS___MBLEN_UTF = 0x672 // 1650 + SYS___MBSTOWCS_A = 0x673 // 1651 + SYS___MBSTOWCS_STD_A = 0x674 // 1652 + SYS___MBTOWC_A = 0x675 // 1653 + SYS___MBTOWC_ISO1 = 0x676 // 1654 + SYS___MBTOWC_SBCS = 0x677 // 1655 + SYS___MBTOWC_MBCS = 0x678 // 1656 + SYS___MBTOWC_UTF = 0x679 // 1657 + SYS___WCSTOMBS_A = 0x67A // 1658 + SYS___WCSTOMBS_STD_A = 0x67B // 1659 + SYS___WCSWIDTH_A = 0x67C // 1660 + SYS___GETGRGID_R_A = 0x67D // 1661 + SYS___WCSWIDTH_STD_A = 0x67E // 1662 + SYS___WCSWIDTH_ASIA = 0x67F // 1663 + SYS___CSID_A = 0x680 // 1664 + SYS___CSID_STD_A = 0x681 // 1665 + SYS___WCSID_A = 0x682 // 1666 + SYS___WCSID_STD_A = 0x683 // 1667 + SYS___WCTOMB_A = 0x684 // 1668 + SYS___WCTOMB_ISO1 = 0x685 // 1669 + SYS___WCTOMB_STD_A = 0x686 // 1670 + SYS___WCTOMB_UTF = 0x687 // 1671 + SYS___WCWIDTH_A = 0x688 // 1672 + SYS___GETGRNAM_R_A = 0x689 // 1673 + SYS___WCWIDTH_STD_A = 0x68A // 1674 + SYS___WCWIDTH_ASIA = 0x68B // 1675 + SYS___GETPWNAM_R_A = 0x68C // 1676 + SYS___GETPWUID_R_A = 0x68D // 1677 + SYS___GETLOGIN_R_A = 0x68E // 1678 + SYS___TTYNAME_R_A = 0x68F // 1679 + SYS___READDIR_R_A = 0x690 // 1680 + SYS___E2A_S = 0x691 // 1681 + SYS___FNMATCH_A = 0x692 // 1682 + SYS___FNMATCH_C_A = 0x693 // 1683 + SYS___EXECL_A = 0x694 // 1684 + SYS___FNMATCH_STD_A = 0x695 // 1685 + SYS___REGCOMP_A = 0x696 // 1686 + SYS___REGCOMP_STD_A = 0x697 // 1687 + SYS___REGERROR_A = 0x698 // 1688 + SYS___REGERROR_STD_A = 0x699 // 1689 + SYS___REGEXEC_A = 0x69A // 1690 + SYS___REGEXEC_STD_A = 0x69B // 1691 + SYS___REGFREE_A = 0x69C // 1692 + SYS___REGFREE_STD_A = 0x69D // 1693 + SYS___STRCOLL_A = 0x69E // 1694 + SYS___STRCOLL_C_A = 0x69F // 1695 + SYS___EXECLE_A = 0x6A0 // 1696 + SYS___STRCOLL_STD_A = 0x6A1 // 1697 + SYS___STRXFRM_A = 0x6A2 // 1698 + SYS___STRXFRM_C_A = 0x6A3 // 1699 + SYS___EXECLP_A = 0x6A4 // 1700 + SYS___STRXFRM_STD_A = 0x6A5 // 1701 + SYS___WCSCOLL_A = 0x6A6 // 1702 + SYS___WCSCOLL_C_A = 0x6A7 // 1703 + SYS___WCSCOLL_STD_A = 0x6A8 // 1704 + SYS___WCSXFRM_A = 0x6A9 // 1705 + SYS___WCSXFRM_C_A = 0x6AA // 1706 + SYS___WCSXFRM_STD_A = 0x6AB // 1707 + SYS___COLLATE_INIT_A = 0x6AC // 1708 + SYS___WCTYPE_A = 0x6AD // 1709 + SYS___GET_WCTYPE_STD_A = 0x6AE // 1710 + SYS___CTYPE_INIT_A = 0x6AF // 1711 + SYS___ISWCTYPE_A = 0x6B0 // 1712 + SYS___EXECV_A = 0x6B1 // 1713 + SYS___IS_WCTYPE_STD_A = 0x6B2 // 1714 + SYS___TOWLOWER_A = 0x6B3 // 1715 + SYS___TOWLOWER_STD_A = 0x6B4 // 1716 + SYS___TOWUPPER_A = 0x6B5 // 1717 + SYS___TOWUPPER_STD_A = 0x6B6 // 1718 + SYS___LOCALE_INIT_A = 0x6B7 // 1719 + SYS___LOCALECONV_A = 0x6B8 // 1720 + SYS___LOCALECONV_STD_A = 0x6B9 // 1721 + SYS___NL_LANGINFO_A = 0x6BA // 1722 + SYS___NL_LNAGINFO_STD_A = 0x6BB // 1723 + SYS___MONETARY_INIT_A = 0x6BC // 1724 + SYS___STRFMON_A = 0x6BD // 1725 + SYS___STRFMON_STD_A = 0x6BE // 1726 + SYS___GETADDRINFO_A = 0x6BF // 1727 + SYS___CATGETS_A = 0x6C0 // 1728 + SYS___EXECVE_A = 0x6C1 // 1729 + SYS___EXECVP_A = 0x6C2 // 1730 + SYS___SPAWN_A = 0x6C3 // 1731 + SYS___GETNAMEINFO_A = 0x6C4 // 1732 + SYS___SPAWNP_A = 0x6C5 // 1733 + SYS___NUMERIC_INIT_A = 0x6C6 // 1734 + SYS___RESP_INIT_A = 0x6C7 // 1735 + SYS___RPMATCH_A = 0x6C8 // 1736 + SYS___RPMATCH_C_A = 0x6C9 // 1737 + SYS___RPMATCH_STD_A = 0x6CA // 1738 + SYS___TIME_INIT_A = 0x6CB // 1739 + SYS___STRFTIME_A = 0x6CC // 1740 + SYS___STRFTIME_STD_A = 0x6CD // 1741 + SYS___STRPTIME_A = 0x6CE // 1742 + SYS___STRPTIME_STD_A = 0x6CF // 1743 + SYS___WCSFTIME_A = 0x6D0 // 1744 + SYS___WCSFTIME_STD_A = 0x6D1 // 1745 + SYS_____SPAWN2_A = 0x6D2 // 1746 + SYS_____SPAWNP2_A = 0x6D3 // 1747 + SYS___SYNTAX_INIT_A = 0x6D4 // 1748 + SYS___TOD_INIT_A = 0x6D5 // 1749 + SYS___NL_CSINFO_A = 0x6D6 // 1750 + SYS___NL_MONINFO_A = 0x6D7 // 1751 + SYS___NL_NUMINFO_A = 0x6D8 // 1752 + SYS___NL_RESPINFO_A = 0x6D9 // 1753 + SYS___NL_TIMINFO_A = 0x6DA // 1754 + SYS___IF_NAMETOINDEX_A = 0x6DB // 1755 + SYS___IF_INDEXTONAME_A = 0x6DC // 1756 + SYS___PRINTF_A = 0x6DD // 1757 + SYS___ICONV_OPEN_A = 0x6DE // 1758 + SYS___DLLLOAD_A = 0x6DF // 1759 + SYS___DLLQUERYFN_A = 0x6E0 // 1760 + SYS___DLLQUERYVAR_A = 0x6E1 // 1761 + SYS_____CHATTR_A = 0x6E2 // 1762 + SYS___E2A_L = 0x6E3 // 1763 + SYS_____TOCCSID_A = 0x6E4 // 1764 + SYS_____TOCSNAME_A = 0x6E5 // 1765 + SYS_____CCSIDTYPE_A = 0x6E6 // 1766 + SYS_____CSNAMETYPE_A = 0x6E7 // 1767 + SYS___CHMOD_A = 0x6E8 // 1768 + SYS___MKDIR_A = 0x6E9 // 1769 + SYS___STAT_A = 0x6EA // 1770 + SYS___STAT_O_A = 0x6EB // 1771 + SYS___MKFIFO_A = 0x6EC // 1772 + SYS_____OPEN_STAT_A = 0x6ED // 1773 + SYS___LSTAT_A = 0x6EE // 1774 + SYS___LSTAT_O_A = 0x6EF // 1775 + SYS___MKNOD_A = 0x6F0 // 1776 + SYS___MOUNT_A = 0x6F1 // 1777 + SYS___UMOUNT_A = 0x6F2 // 1778 + SYS___CHAUDIT_A = 0x6F4 // 1780 + SYS___W_GETMNTENT_A = 0x6F5 // 1781 + SYS___CREAT_A = 0x6F6 // 1782 + SYS___OPEN_A = 0x6F7 // 1783 + SYS___SETLOCALE_A = 0x6F9 // 1785 + SYS___FPRINTF_A = 0x6FA // 1786 + SYS___SPRINTF_A = 0x6FB // 1787 + SYS___VFPRINTF_A = 0x6FC // 1788 + SYS___VPRINTF_A = 0x6FD // 1789 + SYS___VSPRINTF_A = 0x6FE // 1790 + SYS___VSWPRINTF_A = 0x6FF // 1791 + SYS___SWPRINTF_A = 0x700 // 1792 + SYS___FSCANF_A = 0x701 // 1793 + SYS___SCANF_A = 0x702 // 1794 + SYS___SSCANF_A = 0x703 // 1795 + SYS___SWSCANF_A = 0x704 // 1796 + SYS___ATOF_A = 0x705 // 1797 + SYS___ATOI_A = 0x706 // 1798 + SYS___ATOL_A = 0x707 // 1799 + SYS___STRTOD_A = 0x708 // 1800 + SYS___STRTOL_A = 0x709 // 1801 + SYS___STRTOUL_A = 0x70A // 1802 + SYS_____AE_CORRESTBL_QUERY_A = 0x70B // 1803 + SYS___A64L_A = 0x70C // 1804 + SYS___ECVT_A = 0x70D // 1805 + SYS___FCVT_A = 0x70E // 1806 + SYS___GCVT_A = 0x70F // 1807 + SYS___L64A_A = 0x710 // 1808 + SYS___STRERROR_A = 0x711 // 1809 + SYS___PERROR_A = 0x712 // 1810 + SYS___FETCH_A = 0x713 // 1811 + SYS___GETENV_A = 0x714 // 1812 + SYS___MKSTEMP_A = 0x717 // 1815 + SYS___PTSNAME_A = 0x718 // 1816 + SYS___PUTENV_A = 0x719 // 1817 + SYS___REALPATH_A = 0x71A // 1818 + SYS___SETENV_A = 0x71B // 1819 + SYS___SYSTEM_A = 0x71C // 1820 + SYS___GETOPT_A = 0x71D // 1821 + SYS___CATOPEN_A = 0x71E // 1822 + SYS___ACCESS_A = 0x71F // 1823 + SYS___CHDIR_A = 0x720 // 1824 + SYS___CHOWN_A = 0x721 // 1825 + SYS___CHROOT_A = 0x722 // 1826 + SYS___GETCWD_A = 0x723 // 1827 + SYS___GETWD_A = 0x724 // 1828 + SYS___LCHOWN_A = 0x725 // 1829 + SYS___LINK_A = 0x726 // 1830 + SYS___PATHCONF_A = 0x727 // 1831 + SYS___IF_NAMEINDEX_A = 0x728 // 1832 + SYS___READLINK_A = 0x729 // 1833 + SYS___RMDIR_A = 0x72A // 1834 + SYS___STATVFS_A = 0x72B // 1835 + SYS___SYMLINK_A = 0x72C // 1836 + SYS___TRUNCATE_A = 0x72D // 1837 + SYS___UNLINK_A = 0x72E // 1838 + SYS___GAI_STRERROR_A = 0x72F // 1839 + SYS___EXTLINK_NP_A = 0x730 // 1840 + SYS___ISALNUM_A = 0x731 // 1841 + SYS___ISALPHA_A = 0x732 // 1842 + SYS___A2E_S = 0x733 // 1843 + SYS___ISCNTRL_A = 0x734 // 1844 + SYS___ISDIGIT_A = 0x735 // 1845 + SYS___ISGRAPH_A = 0x736 // 1846 + SYS___ISLOWER_A = 0x737 // 1847 + SYS___ISPRINT_A = 0x738 // 1848 + SYS___ISPUNCT_A = 0x739 // 1849 + SYS___ISSPACE_A = 0x73A // 1850 + SYS___ISUPPER_A = 0x73B // 1851 + SYS___ISXDIGIT_A = 0x73C // 1852 + SYS___TOLOWER_A = 0x73D // 1853 + SYS___TOUPPER_A = 0x73E // 1854 + SYS___ISWALNUM_A = 0x73F // 1855 + SYS___ISWALPHA_A = 0x740 // 1856 + SYS___A2E_L = 0x741 // 1857 + SYS___ISWCNTRL_A = 0x742 // 1858 + SYS___ISWDIGIT_A = 0x743 // 1859 + SYS___ISWGRAPH_A = 0x744 // 1860 + SYS___ISWLOWER_A = 0x745 // 1861 + SYS___ISWPRINT_A = 0x746 // 1862 + SYS___ISWPUNCT_A = 0x747 // 1863 + SYS___ISWSPACE_A = 0x748 // 1864 + SYS___ISWUPPER_A = 0x749 // 1865 + SYS___ISWXDIGIT_A = 0x74A // 1866 + SYS___CONFSTR_A = 0x74B // 1867 + SYS___FTOK_A = 0x74C // 1868 + SYS___MKTEMP_A = 0x74D // 1869 + SYS___FDOPEN_A = 0x74E // 1870 + SYS___FLDATA_A = 0x74F // 1871 + SYS___REMOVE_A = 0x750 // 1872 + SYS___RENAME_A = 0x751 // 1873 + SYS___TMPNAM_A = 0x752 // 1874 + SYS___FOPEN_A = 0x753 // 1875 + SYS___FREOPEN_A = 0x754 // 1876 + SYS___CUSERID_A = 0x755 // 1877 + SYS___POPEN_A = 0x756 // 1878 + SYS___TEMPNAM_A = 0x757 // 1879 + SYS___FTW_A = 0x758 // 1880 + SYS___GETGRENT_A = 0x759 // 1881 + SYS___GETGRGID_A = 0x75A // 1882 + SYS___GETGRNAM_A = 0x75B // 1883 + SYS___GETGROUPSBYNAME_A = 0x75C // 1884 + SYS___GETHOSTENT_A = 0x75D // 1885 + SYS___GETHOSTNAME_A = 0x75E // 1886 + SYS___GETLOGIN_A = 0x75F // 1887 + SYS___INET_NTOP_A = 0x760 // 1888 + SYS___GETPASS_A = 0x761 // 1889 + SYS___GETPWENT_A = 0x762 // 1890 + SYS___GETPWNAM_A = 0x763 // 1891 + SYS___GETPWUID_A = 0x764 // 1892 + SYS_____CHECK_RESOURCE_AUTH_NP_A = 0x765 // 1893 + SYS___CHECKSCHENV_A = 0x766 // 1894 + SYS___CONNECTSERVER_A = 0x767 // 1895 + SYS___CONNECTWORKMGR_A = 0x768 // 1896 + SYS_____CONSOLE_A = 0x769 // 1897 + SYS___CREATEWORKUNIT_A = 0x76A // 1898 + SYS___CTERMID_A = 0x76B // 1899 + SYS___FMTMSG_A = 0x76C // 1900 + SYS___INITGROUPS_A = 0x76D // 1901 + SYS_____LOGIN_A = 0x76E // 1902 + SYS___MSGRCV_A = 0x76F // 1903 + SYS___MSGSND_A = 0x770 // 1904 + SYS___MSGXRCV_A = 0x771 // 1905 + SYS___NFTW_A = 0x772 // 1906 + SYS_____PASSWD_A = 0x773 // 1907 + SYS___PTHREAD_SECURITY_NP_A = 0x774 // 1908 + SYS___QUERYMETRICS_A = 0x775 // 1909 + SYS___QUERYSCHENV = 0x776 // 1910 + SYS___READV_A = 0x777 // 1911 + SYS_____SERVER_CLASSIFY_A = 0x778 // 1912 + SYS_____SERVER_INIT_A = 0x779 // 1913 + SYS_____SERVER_PWU_A = 0x77A // 1914 + SYS___STRCASECMP_A = 0x77B // 1915 + SYS___STRNCASECMP_A = 0x77C // 1916 + SYS___TTYNAME_A = 0x77D // 1917 + SYS___UNAME_A = 0x77E // 1918 + SYS___UTIMES_A = 0x77F // 1919 + SYS___W_GETPSENT_A = 0x780 // 1920 + SYS___WRITEV_A = 0x781 // 1921 + SYS___W_STATFS_A = 0x782 // 1922 + SYS___W_STATVFS_A = 0x783 // 1923 + SYS___FPUTC_A = 0x784 // 1924 + SYS___PUTCHAR_A = 0x785 // 1925 + SYS___PUTS_A = 0x786 // 1926 + SYS___FGETS_A = 0x787 // 1927 + SYS___GETS_A = 0x788 // 1928 + SYS___FPUTS_A = 0x789 // 1929 + SYS___FREAD_A = 0x78A // 1930 + SYS___FWRITE_A = 0x78B // 1931 + SYS___OPEN_O_A = 0x78C // 1932 + SYS___ISASCII = 0x78D // 1933 + SYS___CREAT_O_A = 0x78E // 1934 + SYS___ENVNA = 0x78F // 1935 + SYS___PUTC_A = 0x790 // 1936 + SYS___AE_THREAD_SETMODE = 0x791 // 1937 + SYS___AE_THREAD_SWAPMODE = 0x792 // 1938 + SYS___GETNETBYADDR_A = 0x793 // 1939 + SYS___GETNETBYNAME_A = 0x794 // 1940 + SYS___GETNETENT_A = 0x795 // 1941 + SYS___GETPROTOBYNAME_A = 0x796 // 1942 + SYS___GETPROTOBYNUMBER_A = 0x797 // 1943 + SYS___GETPROTOENT_A = 0x798 // 1944 + SYS___GETSERVBYNAME_A = 0x799 // 1945 + SYS___GETSERVBYPORT_A = 0x79A // 1946 + SYS___GETSERVENT_A = 0x79B // 1947 + SYS___ASCTIME_A = 0x79C // 1948 + SYS___CTIME_A = 0x79D // 1949 + SYS___GETDATE_A = 0x79E // 1950 + SYS___TZSET_A = 0x79F // 1951 + SYS___UTIME_A = 0x7A0 // 1952 + SYS___ASCTIME_R_A = 0x7A1 // 1953 + SYS___CTIME_R_A = 0x7A2 // 1954 + SYS___STRTOLL_A = 0x7A3 // 1955 + SYS___STRTOULL_A = 0x7A4 // 1956 + SYS___FPUTWC_A = 0x7A5 // 1957 + SYS___PUTWC_A = 0x7A6 // 1958 + SYS___PUTWCHAR_A = 0x7A7 // 1959 + SYS___FPUTWS_A = 0x7A8 // 1960 + SYS___UNGETWC_A = 0x7A9 // 1961 + SYS___FGETWC_A = 0x7AA // 1962 + SYS___GETWC_A = 0x7AB // 1963 + SYS___GETWCHAR_A = 0x7AC // 1964 + SYS___FGETWS_A = 0x7AD // 1965 + SYS___GETTIMEOFDAY_A = 0x7AE // 1966 + SYS___GMTIME_A = 0x7AF // 1967 + SYS___GMTIME_R_A = 0x7B0 // 1968 + SYS___LOCALTIME_A = 0x7B1 // 1969 + SYS___LOCALTIME_R_A = 0x7B2 // 1970 + SYS___MKTIME_A = 0x7B3 // 1971 + SYS___TZZNA = 0x7B4 // 1972 + SYS_UNATEXIT = 0x7B5 // 1973 + SYS___CEE3DMP_A = 0x7B6 // 1974 + SYS___CDUMP_A = 0x7B7 // 1975 + SYS___CSNAP_A = 0x7B8 // 1976 + SYS___CTEST_A = 0x7B9 // 1977 + SYS___CTRACE_A = 0x7BA // 1978 + SYS___VSWPRNTF2_A = 0x7BB // 1979 + SYS___INET_PTON_A = 0x7BC // 1980 + SYS___SYSLOG_A = 0x7BD // 1981 + SYS___CRYPT_A = 0x7BE // 1982 + SYS_____OPENDIR2_A = 0x7BF // 1983 + SYS_____READDIR2_A = 0x7C0 // 1984 + SYS___OPENDIR_A = 0x7C2 // 1986 + SYS___READDIR_A = 0x7C3 // 1987 + SYS_PREAD = 0x7C7 // 1991 + SYS_PWRITE = 0x7C8 // 1992 + SYS_M_CREATE_LAYOUT = 0x7C9 // 1993 + SYS_M_DESTROY_LAYOUT = 0x7CA // 1994 + SYS_M_GETVALUES_LAYOUT = 0x7CB // 1995 + SYS_M_SETVALUES_LAYOUT = 0x7CC // 1996 + SYS_M_TRANSFORM_LAYOUT = 0x7CD // 1997 + SYS_M_WTRANSFORM_LAYOUT = 0x7CE // 1998 + SYS_FWPRINTF = 0x7D1 // 2001 + SYS_WPRINTF = 0x7D2 // 2002 + SYS_VFWPRINT = 0x7D3 // 2003 + SYS_VFWPRINTF = 0x7D3 // 2003 + SYS_VWPRINTF = 0x7D4 // 2004 + SYS_FWSCANF = 0x7D5 // 2005 + SYS_WSCANF = 0x7D6 // 2006 + SYS_WCTRANS = 0x7D7 // 2007 + SYS_TOWCTRAN = 0x7D8 // 2008 + SYS_TOWCTRANS = 0x7D8 // 2008 + SYS___WCSTOD_A = 0x7D9 // 2009 + SYS___WCSTOL_A = 0x7DA // 2010 + SYS___WCSTOUL_A = 0x7DB // 2011 + SYS___BASENAME_A = 0x7DC // 2012 + SYS___DIRNAME_A = 0x7DD // 2013 + SYS___GLOB_A = 0x7DE // 2014 + SYS_FWIDE = 0x7DF // 2015 + SYS___OSNAME = 0x7E0 // 2016 + SYS_____OSNAME_A = 0x7E1 // 2017 + SYS___BTOWC_A = 0x7E4 // 2020 + SYS___WCTOB_A = 0x7E5 // 2021 + SYS___DBM_OPEN_A = 0x7E6 // 2022 + SYS___VFPRINTF2_A = 0x7E7 // 2023 + SYS___VPRINTF2_A = 0x7E8 // 2024 + SYS___VSPRINTF2_A = 0x7E9 // 2025 + SYS___CEIL_H = 0x7EA // 2026 + SYS___FLOOR_H = 0x7EB // 2027 + SYS___MODF_H = 0x7EC // 2028 + SYS___FABS_H = 0x7ED // 2029 + SYS___J0_H = 0x7EE // 2030 + SYS___J1_H = 0x7EF // 2031 + SYS___JN_H = 0x7F0 // 2032 + SYS___Y0_H = 0x7F1 // 2033 + SYS___Y1_H = 0x7F2 // 2034 + SYS___YN_H = 0x7F3 // 2035 + SYS___CEILF_H = 0x7F4 // 2036 + SYS___CEILL_H = 0x7F5 // 2037 + SYS___FLOORF_H = 0x7F6 // 2038 + SYS___FLOORL_H = 0x7F7 // 2039 + SYS___MODFF_H = 0x7F8 // 2040 + SYS___MODFL_H = 0x7F9 // 2041 + SYS___FABSF_H = 0x7FA // 2042 + SYS___FABSL_H = 0x7FB // 2043 + SYS___MALLOC24 = 0x7FC // 2044 + SYS___MALLOC31 = 0x7FD // 2045 + SYS_ACL_INIT = 0x7FE // 2046 + SYS_ACL_FREE = 0x7FF // 2047 + SYS_ACL_FIRST_ENTRY = 0x800 // 2048 + SYS_ACL_GET_ENTRY = 0x801 // 2049 + SYS_ACL_VALID = 0x802 // 2050 + SYS_ACL_CREATE_ENTRY = 0x803 // 2051 + SYS_ACL_DELETE_ENTRY = 0x804 // 2052 + SYS_ACL_UPDATE_ENTRY = 0x805 // 2053 + SYS_ACL_DELETE_FD = 0x806 // 2054 + SYS_ACL_DELETE_FILE = 0x807 // 2055 + SYS_ACL_GET_FD = 0x808 // 2056 + SYS_ACL_GET_FILE = 0x809 // 2057 + SYS_ACL_SET_FD = 0x80A // 2058 + SYS_ACL_SET_FILE = 0x80B // 2059 + SYS_ACL_FROM_TEXT = 0x80C // 2060 + SYS_ACL_TO_TEXT = 0x80D // 2061 + SYS_ACL_SORT = 0x80E // 2062 + SYS___SHUTDOWN_REGISTRATION = 0x80F // 2063 + SYS___ERFL_B = 0x810 // 2064 + SYS___ERFCL_B = 0x811 // 2065 + SYS___LGAMMAL_B = 0x812 // 2066 + SYS___SETHOOKEVENTS = 0x813 // 2067 + SYS_IF_NAMETOINDEX = 0x814 // 2068 + SYS_IF_INDEXTONAME = 0x815 // 2069 + SYS_IF_NAMEINDEX = 0x816 // 2070 + SYS_IF_FREENAMEINDEX = 0x817 // 2071 + SYS_GETADDRINFO = 0x818 // 2072 + SYS_GETNAMEINFO = 0x819 // 2073 + SYS_FREEADDRINFO = 0x81A // 2074 + SYS_GAI_STRERROR = 0x81B // 2075 + SYS_REXEC_AF = 0x81C // 2076 + SYS___POE = 0x81D // 2077 + SYS___DYNALLOC_A = 0x81F // 2079 + SYS___DYNFREE_A = 0x820 // 2080 + SYS___RES_QUERY_A = 0x821 // 2081 + SYS___RES_SEARCH_A = 0x822 // 2082 + SYS___RES_QUERYDOMAIN_A = 0x823 // 2083 + SYS___RES_MKQUERY_A = 0x824 // 2084 + SYS___RES_SEND_A = 0x825 // 2085 + SYS___DN_EXPAND_A = 0x826 // 2086 + SYS___DN_SKIPNAME_A = 0x827 // 2087 + SYS___DN_COMP_A = 0x828 // 2088 + SYS___DN_FIND_A = 0x829 // 2089 + SYS___NLIST_A = 0x82A // 2090 + SYS_____TCGETCP_A = 0x82B // 2091 + SYS_____TCSETCP_A = 0x82C // 2092 + SYS_____W_PIOCTL_A = 0x82E // 2094 + SYS___INET_ADDR_A = 0x82F // 2095 + SYS___INET_NTOA_A = 0x830 // 2096 + SYS___INET_NETWORK_A = 0x831 // 2097 + SYS___ACCEPT_A = 0x832 // 2098 + SYS___ACCEPT_AND_RECV_A = 0x833 // 2099 + SYS___BIND_A = 0x834 // 2100 + SYS___CONNECT_A = 0x835 // 2101 + SYS___GETPEERNAME_A = 0x836 // 2102 + SYS___GETSOCKNAME_A = 0x837 // 2103 + SYS___RECVFROM_A = 0x838 // 2104 + SYS___SENDTO_A = 0x839 // 2105 + SYS___SENDMSG_A = 0x83A // 2106 + SYS___RECVMSG_A = 0x83B // 2107 + SYS_____LCHATTR_A = 0x83C // 2108 + SYS___CABEND = 0x83D // 2109 + SYS___LE_CIB_GET = 0x83E // 2110 + SYS___SET_LAA_FOR_JIT = 0x83F // 2111 + SYS___LCHATTR = 0x840 // 2112 + SYS___WRITEDOWN = 0x841 // 2113 + SYS_PTHREAD_MUTEX_INIT2 = 0x842 // 2114 + SYS___ACOSHF_B = 0x843 // 2115 + SYS___ACOSHL_B = 0x844 // 2116 + SYS___ASINHF_B = 0x845 // 2117 + SYS___ASINHL_B = 0x846 // 2118 + SYS___ATANHF_B = 0x847 // 2119 + SYS___ATANHL_B = 0x848 // 2120 + SYS___CBRTF_B = 0x849 // 2121 + SYS___CBRTL_B = 0x84A // 2122 + SYS___COPYSIGNF_B = 0x84B // 2123 + SYS___COPYSIGNL_B = 0x84C // 2124 + SYS___COTANF_B = 0x84D // 2125 + SYS___COTAN_B = 0x84E // 2126 + SYS___COTANL_B = 0x84F // 2127 + SYS___EXP2F_B = 0x850 // 2128 + SYS___EXP2L_B = 0x851 // 2129 + SYS___EXPM1F_B = 0x852 // 2130 + SYS___EXPM1L_B = 0x853 // 2131 + SYS___FDIMF_B = 0x854 // 2132 + SYS___FDIM_B = 0x855 // 2133 + SYS___FDIML_B = 0x856 // 2134 + SYS___HYPOTF_B = 0x857 // 2135 + SYS___HYPOTL_B = 0x858 // 2136 + SYS___LOG1PF_B = 0x859 // 2137 + SYS___LOG1PL_B = 0x85A // 2138 + SYS___LOG2F_B = 0x85B // 2139 + SYS___LOG2_B = 0x85C // 2140 + SYS___LOG2L_B = 0x85D // 2141 + SYS___REMAINDERF_B = 0x85E // 2142 + SYS___REMAINDERL_B = 0x85F // 2143 + SYS___REMQUOF_B = 0x860 // 2144 + SYS___REMQUO_B = 0x861 // 2145 + SYS___REMQUOL_B = 0x862 // 2146 + SYS___TGAMMAF_B = 0x863 // 2147 + SYS___TGAMMA_B = 0x864 // 2148 + SYS___TGAMMAL_B = 0x865 // 2149 + SYS___TRUNCF_B = 0x866 // 2150 + SYS___TRUNC_B = 0x867 // 2151 + SYS___TRUNCL_B = 0x868 // 2152 + SYS___LGAMMAF_B = 0x869 // 2153 + SYS___LROUNDF_B = 0x86A // 2154 + SYS___LROUND_B = 0x86B // 2155 + SYS___ERFF_B = 0x86C // 2156 + SYS___ERFCF_B = 0x86D // 2157 + SYS_ACOSHF = 0x86E // 2158 + SYS_ACOSHL = 0x86F // 2159 + SYS_ASINHF = 0x870 // 2160 + SYS_ASINHL = 0x871 // 2161 + SYS_ATANHF = 0x872 // 2162 + SYS_ATANHL = 0x873 // 2163 + SYS_CBRTF = 0x874 // 2164 + SYS_CBRTL = 0x875 // 2165 + SYS_COPYSIGNF = 0x876 // 2166 + SYS_CPYSIGNF = 0x876 // 2166 + SYS_COPYSIGNL = 0x877 // 2167 + SYS_CPYSIGNL = 0x877 // 2167 + SYS_COTANF = 0x878 // 2168 + SYS___COTANF = 0x878 // 2168 + SYS_COTAN = 0x879 // 2169 + SYS___COTAN = 0x879 // 2169 + SYS_COTANL = 0x87A // 2170 + SYS___COTANL = 0x87A // 2170 + SYS_EXP2F = 0x87B // 2171 + SYS_EXP2L = 0x87C // 2172 + SYS_EXPM1F = 0x87D // 2173 + SYS_EXPM1L = 0x87E // 2174 + SYS_FDIMF = 0x87F // 2175 + SYS_FDIM = 0x881 // 2177 + SYS_FDIML = 0x882 // 2178 + SYS_HYPOTF = 0x883 // 2179 + SYS_HYPOTL = 0x884 // 2180 + SYS_LOG1PF = 0x885 // 2181 + SYS_LOG1PL = 0x886 // 2182 + SYS_LOG2F = 0x887 // 2183 + SYS_LOG2 = 0x888 // 2184 + SYS_LOG2L = 0x889 // 2185 + SYS_REMAINDERF = 0x88A // 2186 + SYS_REMAINDF = 0x88A // 2186 + SYS_REMAINDERL = 0x88B // 2187 + SYS_REMAINDL = 0x88B // 2187 + SYS_REMQUOF = 0x88C // 2188 + SYS_REMQUO = 0x88D // 2189 + SYS_REMQUOL = 0x88E // 2190 + SYS_TGAMMAF = 0x88F // 2191 + SYS_TGAMMA = 0x890 // 2192 + SYS_TGAMMAL = 0x891 // 2193 + SYS_TRUNCF = 0x892 // 2194 + SYS_TRUNC = 0x893 // 2195 + SYS_TRUNCL = 0x894 // 2196 + SYS_LGAMMAF = 0x895 // 2197 + SYS_LGAMMAL = 0x896 // 2198 + SYS_LROUNDF = 0x897 // 2199 + SYS_LROUND = 0x898 // 2200 + SYS_ERFF = 0x899 // 2201 + SYS_ERFL = 0x89A // 2202 + SYS_ERFCF = 0x89B // 2203 + SYS_ERFCL = 0x89C // 2204 + SYS___EXP2_B = 0x89D // 2205 + SYS_EXP2 = 0x89E // 2206 + SYS___FAR_JUMP = 0x89F // 2207 + SYS___TCGETATTR_A = 0x8A1 // 2209 + SYS___TCSETATTR_A = 0x8A2 // 2210 + SYS___SUPERKILL = 0x8A4 // 2212 + SYS___LE_CONDITION_TOKEN_BUILD = 0x8A5 // 2213 + SYS___LE_MSG_ADD_INSERT = 0x8A6 // 2214 + SYS___LE_MSG_GET = 0x8A7 // 2215 + SYS___LE_MSG_GET_AND_WRITE = 0x8A8 // 2216 + SYS___LE_MSG_WRITE = 0x8A9 // 2217 + SYS___ITOA = 0x8AA // 2218 + SYS___UTOA = 0x8AB // 2219 + SYS___LTOA = 0x8AC // 2220 + SYS___ULTOA = 0x8AD // 2221 + SYS___LLTOA = 0x8AE // 2222 + SYS___ULLTOA = 0x8AF // 2223 + SYS___ITOA_A = 0x8B0 // 2224 + SYS___UTOA_A = 0x8B1 // 2225 + SYS___LTOA_A = 0x8B2 // 2226 + SYS___ULTOA_A = 0x8B3 // 2227 + SYS___LLTOA_A = 0x8B4 // 2228 + SYS___ULLTOA_A = 0x8B5 // 2229 + SYS_____GETENV_A = 0x8C3 // 2243 + SYS___REXEC_A = 0x8C4 // 2244 + SYS___REXEC_AF_A = 0x8C5 // 2245 + SYS___GETUTXENT_A = 0x8C6 // 2246 + SYS___GETUTXID_A = 0x8C7 // 2247 + SYS___GETUTXLINE_A = 0x8C8 // 2248 + SYS___PUTUTXLINE_A = 0x8C9 // 2249 + SYS_____UTMPXNAME_A = 0x8CA // 2250 + SYS___PUTC_UNLOCKED_A = 0x8CB // 2251 + SYS___PUTCHAR_UNLOCKED_A = 0x8CC // 2252 + SYS___SNPRINTF_A = 0x8CD // 2253 + SYS___VSNPRINTF_A = 0x8CE // 2254 + SYS___DLOPEN_A = 0x8D0 // 2256 + SYS___DLSYM_A = 0x8D1 // 2257 + SYS___DLERROR_A = 0x8D2 // 2258 + SYS_FLOCKFILE = 0x8D3 // 2259 + SYS_FTRYLOCKFILE = 0x8D4 // 2260 + SYS_FUNLOCKFILE = 0x8D5 // 2261 + SYS_GETC_UNLOCKED = 0x8D6 // 2262 + SYS_GETCHAR_UNLOCKED = 0x8D7 // 2263 + SYS_PUTC_UNLOCKED = 0x8D8 // 2264 + SYS_PUTCHAR_UNLOCKED = 0x8D9 // 2265 + SYS_SNPRINTF = 0x8DA // 2266 + SYS_VSNPRINTF = 0x8DB // 2267 + SYS_DLOPEN = 0x8DD // 2269 + SYS_DLSYM = 0x8DE // 2270 + SYS_DLCLOSE = 0x8DF // 2271 + SYS_DLERROR = 0x8E0 // 2272 + SYS___SET_EXCEPTION_HANDLER = 0x8E2 // 2274 + SYS___RESET_EXCEPTION_HANDLER = 0x8E3 // 2275 + SYS___VHM_EVENT = 0x8E4 // 2276 + SYS___ABS_H = 0x8E6 // 2278 + SYS___ABSF_H = 0x8E7 // 2279 + SYS___ABSL_H = 0x8E8 // 2280 + SYS___ACOS_H = 0x8E9 // 2281 + SYS___ACOSF_H = 0x8EA // 2282 + SYS___ACOSL_H = 0x8EB // 2283 + SYS___ACOSH_H = 0x8EC // 2284 + SYS___ASIN_H = 0x8ED // 2285 + SYS___ASINF_H = 0x8EE // 2286 + SYS___ASINL_H = 0x8EF // 2287 + SYS___ASINH_H = 0x8F0 // 2288 + SYS___ATAN_H = 0x8F1 // 2289 + SYS___ATANF_H = 0x8F2 // 2290 + SYS___ATANL_H = 0x8F3 // 2291 + SYS___ATANH_H = 0x8F4 // 2292 + SYS___ATANHF_H = 0x8F5 // 2293 + SYS___ATANHL_H = 0x8F6 // 2294 + SYS___ATAN2_H = 0x8F7 // 2295 + SYS___ATAN2F_H = 0x8F8 // 2296 + SYS___ATAN2L_H = 0x8F9 // 2297 + SYS___CBRT_H = 0x8FA // 2298 + SYS___COPYSIGNF_H = 0x8FB // 2299 + SYS___COPYSIGNL_H = 0x8FC // 2300 + SYS___COS_H = 0x8FD // 2301 + SYS___COSF_H = 0x8FE // 2302 + SYS___COSL_H = 0x8FF // 2303 + SYS___COSHF_H = 0x900 // 2304 + SYS___COSHL_H = 0x901 // 2305 + SYS___COTAN_H = 0x902 // 2306 + SYS___COTANF_H = 0x903 // 2307 + SYS___COTANL_H = 0x904 // 2308 + SYS___ERF_H = 0x905 // 2309 + SYS___ERFF_H = 0x906 // 2310 + SYS___ERFL_H = 0x907 // 2311 + SYS___ERFC_H = 0x908 // 2312 + SYS___ERFCF_H = 0x909 // 2313 + SYS___ERFCL_H = 0x90A // 2314 + SYS___EXP_H = 0x90B // 2315 + SYS___EXPF_H = 0x90C // 2316 + SYS___EXPL_H = 0x90D // 2317 + SYS___EXPM1_H = 0x90E // 2318 + SYS___FDIM_H = 0x90F // 2319 + SYS___FDIMF_H = 0x910 // 2320 + SYS___FDIML_H = 0x911 // 2321 + SYS___FMOD_H = 0x912 // 2322 + SYS___FMODF_H = 0x913 // 2323 + SYS___FMODL_H = 0x914 // 2324 + SYS___GAMMA_H = 0x915 // 2325 + SYS___HYPOT_H = 0x916 // 2326 + SYS___ILOGB_H = 0x917 // 2327 + SYS___LGAMMA_H = 0x918 // 2328 + SYS___LGAMMAF_H = 0x919 // 2329 + SYS___LOG_H = 0x91A // 2330 + SYS___LOGF_H = 0x91B // 2331 + SYS___LOGL_H = 0x91C // 2332 + SYS___LOGB_H = 0x91D // 2333 + SYS___LOG2_H = 0x91E // 2334 + SYS___LOG2F_H = 0x91F // 2335 + SYS___LOG2L_H = 0x920 // 2336 + SYS___LOG1P_H = 0x921 // 2337 + SYS___LOG10_H = 0x922 // 2338 + SYS___LOG10F_H = 0x923 // 2339 + SYS___LOG10L_H = 0x924 // 2340 + SYS___LROUND_H = 0x925 // 2341 + SYS___LROUNDF_H = 0x926 // 2342 + SYS___NEXTAFTER_H = 0x927 // 2343 + SYS___POW_H = 0x928 // 2344 + SYS___POWF_H = 0x929 // 2345 + SYS___POWL_H = 0x92A // 2346 + SYS___REMAINDER_H = 0x92B // 2347 + SYS___RINT_H = 0x92C // 2348 + SYS___SCALB_H = 0x92D // 2349 + SYS___SIN_H = 0x92E // 2350 + SYS___SINF_H = 0x92F // 2351 + SYS___SINL_H = 0x930 // 2352 + SYS___SINH_H = 0x931 // 2353 + SYS___SINHF_H = 0x932 // 2354 + SYS___SINHL_H = 0x933 // 2355 + SYS___SQRT_H = 0x934 // 2356 + SYS___SQRTF_H = 0x935 // 2357 + SYS___SQRTL_H = 0x936 // 2358 + SYS___TAN_H = 0x937 // 2359 + SYS___TANF_H = 0x938 // 2360 + SYS___TANL_H = 0x939 // 2361 + SYS___TANH_H = 0x93A // 2362 + SYS___TANHF_H = 0x93B // 2363 + SYS___TANHL_H = 0x93C // 2364 + SYS___TGAMMA_H = 0x93D // 2365 + SYS___TGAMMAF_H = 0x93E // 2366 + SYS___TRUNC_H = 0x93F // 2367 + SYS___TRUNCF_H = 0x940 // 2368 + SYS___TRUNCL_H = 0x941 // 2369 + SYS___COSH_H = 0x942 // 2370 + SYS___LE_DEBUG_SET_RESUME_MCH = 0x943 // 2371 + SYS_VFSCANF = 0x944 // 2372 + SYS_VSCANF = 0x946 // 2374 + SYS_VSSCANF = 0x948 // 2376 + SYS_VFWSCANF = 0x94A // 2378 + SYS_VWSCANF = 0x94C // 2380 + SYS_VSWSCANF = 0x94E // 2382 + SYS_IMAXABS = 0x950 // 2384 + SYS_IMAXDIV = 0x951 // 2385 + SYS_STRTOIMAX = 0x952 // 2386 + SYS_STRTOUMAX = 0x953 // 2387 + SYS_WCSTOIMAX = 0x954 // 2388 + SYS_WCSTOUMAX = 0x955 // 2389 + SYS_ATOLL = 0x956 // 2390 + SYS_STRTOF = 0x957 // 2391 + SYS_STRTOLD = 0x958 // 2392 + SYS_WCSTOF = 0x959 // 2393 + SYS_WCSTOLD = 0x95A // 2394 + SYS_INET6_RTH_SPACE = 0x95B // 2395 + SYS_INET6_RTH_INIT = 0x95C // 2396 + SYS_INET6_RTH_ADD = 0x95D // 2397 + SYS_INET6_RTH_REVERSE = 0x95E // 2398 + SYS_INET6_RTH_SEGMENTS = 0x95F // 2399 + SYS_INET6_RTH_GETADDR = 0x960 // 2400 + SYS_INET6_OPT_INIT = 0x961 // 2401 + SYS_INET6_OPT_APPEND = 0x962 // 2402 + SYS_INET6_OPT_FINISH = 0x963 // 2403 + SYS_INET6_OPT_SET_VAL = 0x964 // 2404 + SYS_INET6_OPT_NEXT = 0x965 // 2405 + SYS_INET6_OPT_FIND = 0x966 // 2406 + SYS_INET6_OPT_GET_VAL = 0x967 // 2407 + SYS___POW_I = 0x987 // 2439 + SYS___POW_I_B = 0x988 // 2440 + SYS___POW_I_H = 0x989 // 2441 + SYS___POW_II = 0x98A // 2442 + SYS___POW_II_B = 0x98B // 2443 + SYS___POW_II_H = 0x98C // 2444 + SYS_CABS = 0x98E // 2446 + SYS___CABS_B = 0x98F // 2447 + SYS___CABS_H = 0x990 // 2448 + SYS_CABSF = 0x991 // 2449 + SYS___CABSF_B = 0x992 // 2450 + SYS___CABSF_H = 0x993 // 2451 + SYS_CABSL = 0x994 // 2452 + SYS___CABSL_B = 0x995 // 2453 + SYS___CABSL_H = 0x996 // 2454 + SYS_CACOS = 0x997 // 2455 + SYS___CACOS_B = 0x998 // 2456 + SYS___CACOS_H = 0x999 // 2457 + SYS_CACOSF = 0x99A // 2458 + SYS___CACOSF_B = 0x99B // 2459 + SYS___CACOSF_H = 0x99C // 2460 + SYS_CACOSL = 0x99D // 2461 + SYS___CACOSL_B = 0x99E // 2462 + SYS___CACOSL_H = 0x99F // 2463 + SYS_CACOSH = 0x9A0 // 2464 + SYS___CACOSH_B = 0x9A1 // 2465 + SYS___CACOSH_H = 0x9A2 // 2466 + SYS_CACOSHF = 0x9A3 // 2467 + SYS___CACOSHF_B = 0x9A4 // 2468 + SYS___CACOSHF_H = 0x9A5 // 2469 + SYS_CACOSHL = 0x9A6 // 2470 + SYS___CACOSHL_B = 0x9A7 // 2471 + SYS___CACOSHL_H = 0x9A8 // 2472 + SYS_CARG = 0x9A9 // 2473 + SYS___CARG_B = 0x9AA // 2474 + SYS___CARG_H = 0x9AB // 2475 + SYS_CARGF = 0x9AC // 2476 + SYS___CARGF_B = 0x9AD // 2477 + SYS___CARGF_H = 0x9AE // 2478 + SYS_CARGL = 0x9AF // 2479 + SYS___CARGL_B = 0x9B0 // 2480 + SYS___CARGL_H = 0x9B1 // 2481 + SYS_CASIN = 0x9B2 // 2482 + SYS___CASIN_B = 0x9B3 // 2483 + SYS___CASIN_H = 0x9B4 // 2484 + SYS_CASINF = 0x9B5 // 2485 + SYS___CASINF_B = 0x9B6 // 2486 + SYS___CASINF_H = 0x9B7 // 2487 + SYS_CASINL = 0x9B8 // 2488 + SYS___CASINL_B = 0x9B9 // 2489 + SYS___CASINL_H = 0x9BA // 2490 + SYS_CASINH = 0x9BB // 2491 + SYS___CASINH_B = 0x9BC // 2492 + SYS___CASINH_H = 0x9BD // 2493 + SYS_CASINHF = 0x9BE // 2494 + SYS___CASINHF_B = 0x9BF // 2495 + SYS___CASINHF_H = 0x9C0 // 2496 + SYS_CASINHL = 0x9C1 // 2497 + SYS___CASINHL_B = 0x9C2 // 2498 + SYS___CASINHL_H = 0x9C3 // 2499 + SYS_CATAN = 0x9C4 // 2500 + SYS___CATAN_B = 0x9C5 // 2501 + SYS___CATAN_H = 0x9C6 // 2502 + SYS_CATANF = 0x9C7 // 2503 + SYS___CATANF_B = 0x9C8 // 2504 + SYS___CATANF_H = 0x9C9 // 2505 + SYS_CATANL = 0x9CA // 2506 + SYS___CATANL_B = 0x9CB // 2507 + SYS___CATANL_H = 0x9CC // 2508 + SYS_CATANH = 0x9CD // 2509 + SYS___CATANH_B = 0x9CE // 2510 + SYS___CATANH_H = 0x9CF // 2511 + SYS_CATANHF = 0x9D0 // 2512 + SYS___CATANHF_B = 0x9D1 // 2513 + SYS___CATANHF_H = 0x9D2 // 2514 + SYS_CATANHL = 0x9D3 // 2515 + SYS___CATANHL_B = 0x9D4 // 2516 + SYS___CATANHL_H = 0x9D5 // 2517 + SYS_CCOS = 0x9D6 // 2518 + SYS___CCOS_B = 0x9D7 // 2519 + SYS___CCOS_H = 0x9D8 // 2520 + SYS_CCOSF = 0x9D9 // 2521 + SYS___CCOSF_B = 0x9DA // 2522 + SYS___CCOSF_H = 0x9DB // 2523 + SYS_CCOSL = 0x9DC // 2524 + SYS___CCOSL_B = 0x9DD // 2525 + SYS___CCOSL_H = 0x9DE // 2526 + SYS_CCOSH = 0x9DF // 2527 + SYS___CCOSH_B = 0x9E0 // 2528 + SYS___CCOSH_H = 0x9E1 // 2529 + SYS_CCOSHF = 0x9E2 // 2530 + SYS___CCOSHF_B = 0x9E3 // 2531 + SYS___CCOSHF_H = 0x9E4 // 2532 + SYS_CCOSHL = 0x9E5 // 2533 + SYS___CCOSHL_B = 0x9E6 // 2534 + SYS___CCOSHL_H = 0x9E7 // 2535 + SYS_CEXP = 0x9E8 // 2536 + SYS___CEXP_B = 0x9E9 // 2537 + SYS___CEXP_H = 0x9EA // 2538 + SYS_CEXPF = 0x9EB // 2539 + SYS___CEXPF_B = 0x9EC // 2540 + SYS___CEXPF_H = 0x9ED // 2541 + SYS_CEXPL = 0x9EE // 2542 + SYS___CEXPL_B = 0x9EF // 2543 + SYS___CEXPL_H = 0x9F0 // 2544 + SYS_CIMAG = 0x9F1 // 2545 + SYS___CIMAG_B = 0x9F2 // 2546 + SYS___CIMAG_H = 0x9F3 // 2547 + SYS_CIMAGF = 0x9F4 // 2548 + SYS___CIMAGF_B = 0x9F5 // 2549 + SYS___CIMAGF_H = 0x9F6 // 2550 + SYS_CIMAGL = 0x9F7 // 2551 + SYS___CIMAGL_B = 0x9F8 // 2552 + SYS___CIMAGL_H = 0x9F9 // 2553 + SYS___CLOG = 0x9FA // 2554 + SYS___CLOG_B = 0x9FB // 2555 + SYS___CLOG_H = 0x9FC // 2556 + SYS_CLOGF = 0x9FD // 2557 + SYS___CLOGF_B = 0x9FE // 2558 + SYS___CLOGF_H = 0x9FF // 2559 + SYS_CLOGL = 0xA00 // 2560 + SYS___CLOGL_B = 0xA01 // 2561 + SYS___CLOGL_H = 0xA02 // 2562 + SYS_CONJ = 0xA03 // 2563 + SYS___CONJ_B = 0xA04 // 2564 + SYS___CONJ_H = 0xA05 // 2565 + SYS_CONJF = 0xA06 // 2566 + SYS___CONJF_B = 0xA07 // 2567 + SYS___CONJF_H = 0xA08 // 2568 + SYS_CONJL = 0xA09 // 2569 + SYS___CONJL_B = 0xA0A // 2570 + SYS___CONJL_H = 0xA0B // 2571 + SYS_CPOW = 0xA0C // 2572 + SYS___CPOW_B = 0xA0D // 2573 + SYS___CPOW_H = 0xA0E // 2574 + SYS_CPOWF = 0xA0F // 2575 + SYS___CPOWF_B = 0xA10 // 2576 + SYS___CPOWF_H = 0xA11 // 2577 + SYS_CPOWL = 0xA12 // 2578 + SYS___CPOWL_B = 0xA13 // 2579 + SYS___CPOWL_H = 0xA14 // 2580 + SYS_CPROJ = 0xA15 // 2581 + SYS___CPROJ_B = 0xA16 // 2582 + SYS___CPROJ_H = 0xA17 // 2583 + SYS_CPROJF = 0xA18 // 2584 + SYS___CPROJF_B = 0xA19 // 2585 + SYS___CPROJF_H = 0xA1A // 2586 + SYS_CPROJL = 0xA1B // 2587 + SYS___CPROJL_B = 0xA1C // 2588 + SYS___CPROJL_H = 0xA1D // 2589 + SYS_CREAL = 0xA1E // 2590 + SYS___CREAL_B = 0xA1F // 2591 + SYS___CREAL_H = 0xA20 // 2592 + SYS_CREALF = 0xA21 // 2593 + SYS___CREALF_B = 0xA22 // 2594 + SYS___CREALF_H = 0xA23 // 2595 + SYS_CREALL = 0xA24 // 2596 + SYS___CREALL_B = 0xA25 // 2597 + SYS___CREALL_H = 0xA26 // 2598 + SYS_CSIN = 0xA27 // 2599 + SYS___CSIN_B = 0xA28 // 2600 + SYS___CSIN_H = 0xA29 // 2601 + SYS_CSINF = 0xA2A // 2602 + SYS___CSINF_B = 0xA2B // 2603 + SYS___CSINF_H = 0xA2C // 2604 + SYS_CSINL = 0xA2D // 2605 + SYS___CSINL_B = 0xA2E // 2606 + SYS___CSINL_H = 0xA2F // 2607 + SYS_CSINH = 0xA30 // 2608 + SYS___CSINH_B = 0xA31 // 2609 + SYS___CSINH_H = 0xA32 // 2610 + SYS_CSINHF = 0xA33 // 2611 + SYS___CSINHF_B = 0xA34 // 2612 + SYS___CSINHF_H = 0xA35 // 2613 + SYS_CSINHL = 0xA36 // 2614 + SYS___CSINHL_B = 0xA37 // 2615 + SYS___CSINHL_H = 0xA38 // 2616 + SYS_CSQRT = 0xA39 // 2617 + SYS___CSQRT_B = 0xA3A // 2618 + SYS___CSQRT_H = 0xA3B // 2619 + SYS_CSQRTF = 0xA3C // 2620 + SYS___CSQRTF_B = 0xA3D // 2621 + SYS___CSQRTF_H = 0xA3E // 2622 + SYS_CSQRTL = 0xA3F // 2623 + SYS___CSQRTL_B = 0xA40 // 2624 + SYS___CSQRTL_H = 0xA41 // 2625 + SYS_CTAN = 0xA42 // 2626 + SYS___CTAN_B = 0xA43 // 2627 + SYS___CTAN_H = 0xA44 // 2628 + SYS_CTANF = 0xA45 // 2629 + SYS___CTANF_B = 0xA46 // 2630 + SYS___CTANF_H = 0xA47 // 2631 + SYS_CTANL = 0xA48 // 2632 + SYS___CTANL_B = 0xA49 // 2633 + SYS___CTANL_H = 0xA4A // 2634 + SYS_CTANH = 0xA4B // 2635 + SYS___CTANH_B = 0xA4C // 2636 + SYS___CTANH_H = 0xA4D // 2637 + SYS_CTANHF = 0xA4E // 2638 + SYS___CTANHF_B = 0xA4F // 2639 + SYS___CTANHF_H = 0xA50 // 2640 + SYS_CTANHL = 0xA51 // 2641 + SYS___CTANHL_B = 0xA52 // 2642 + SYS___CTANHL_H = 0xA53 // 2643 + SYS___ACOSHF_H = 0xA54 // 2644 + SYS___ACOSHL_H = 0xA55 // 2645 + SYS___ASINHF_H = 0xA56 // 2646 + SYS___ASINHL_H = 0xA57 // 2647 + SYS___CBRTF_H = 0xA58 // 2648 + SYS___CBRTL_H = 0xA59 // 2649 + SYS___COPYSIGN_B = 0xA5A // 2650 + SYS___EXPM1F_H = 0xA5B // 2651 + SYS___EXPM1L_H = 0xA5C // 2652 + SYS___EXP2_H = 0xA5D // 2653 + SYS___EXP2F_H = 0xA5E // 2654 + SYS___EXP2L_H = 0xA5F // 2655 + SYS___LOG1PF_H = 0xA60 // 2656 + SYS___LOG1PL_H = 0xA61 // 2657 + SYS___LGAMMAL_H = 0xA62 // 2658 + SYS_FMA = 0xA63 // 2659 + SYS___FMA_B = 0xA64 // 2660 + SYS___FMA_H = 0xA65 // 2661 + SYS_FMAF = 0xA66 // 2662 + SYS___FMAF_B = 0xA67 // 2663 + SYS___FMAF_H = 0xA68 // 2664 + SYS_FMAL = 0xA69 // 2665 + SYS___FMAL_B = 0xA6A // 2666 + SYS___FMAL_H = 0xA6B // 2667 + SYS_FMAX = 0xA6C // 2668 + SYS___FMAX_B = 0xA6D // 2669 + SYS___FMAX_H = 0xA6E // 2670 + SYS_FMAXF = 0xA6F // 2671 + SYS___FMAXF_B = 0xA70 // 2672 + SYS___FMAXF_H = 0xA71 // 2673 + SYS_FMAXL = 0xA72 // 2674 + SYS___FMAXL_B = 0xA73 // 2675 + SYS___FMAXL_H = 0xA74 // 2676 + SYS_FMIN = 0xA75 // 2677 + SYS___FMIN_B = 0xA76 // 2678 + SYS___FMIN_H = 0xA77 // 2679 + SYS_FMINF = 0xA78 // 2680 + SYS___FMINF_B = 0xA79 // 2681 + SYS___FMINF_H = 0xA7A // 2682 + SYS_FMINL = 0xA7B // 2683 + SYS___FMINL_B = 0xA7C // 2684 + SYS___FMINL_H = 0xA7D // 2685 + SYS_ILOGBF = 0xA7E // 2686 + SYS___ILOGBF_B = 0xA7F // 2687 + SYS___ILOGBF_H = 0xA80 // 2688 + SYS_ILOGBL = 0xA81 // 2689 + SYS___ILOGBL_B = 0xA82 // 2690 + SYS___ILOGBL_H = 0xA83 // 2691 + SYS_LLRINT = 0xA84 // 2692 + SYS___LLRINT_B = 0xA85 // 2693 + SYS___LLRINT_H = 0xA86 // 2694 + SYS_LLRINTF = 0xA87 // 2695 + SYS___LLRINTF_B = 0xA88 // 2696 + SYS___LLRINTF_H = 0xA89 // 2697 + SYS_LLRINTL = 0xA8A // 2698 + SYS___LLRINTL_B = 0xA8B // 2699 + SYS___LLRINTL_H = 0xA8C // 2700 + SYS_LLROUND = 0xA8D // 2701 + SYS___LLROUND_B = 0xA8E // 2702 + SYS___LLROUND_H = 0xA8F // 2703 + SYS_LLROUNDF = 0xA90 // 2704 + SYS___LLROUNDF_B = 0xA91 // 2705 + SYS___LLROUNDF_H = 0xA92 // 2706 + SYS_LLROUNDL = 0xA93 // 2707 + SYS___LLROUNDL_B = 0xA94 // 2708 + SYS___LLROUNDL_H = 0xA95 // 2709 + SYS_LOGBF = 0xA96 // 2710 + SYS___LOGBF_B = 0xA97 // 2711 + SYS___LOGBF_H = 0xA98 // 2712 + SYS_LOGBL = 0xA99 // 2713 + SYS___LOGBL_B = 0xA9A // 2714 + SYS___LOGBL_H = 0xA9B // 2715 + SYS_LRINT = 0xA9C // 2716 + SYS___LRINT_B = 0xA9D // 2717 + SYS___LRINT_H = 0xA9E // 2718 + SYS_LRINTF = 0xA9F // 2719 + SYS___LRINTF_B = 0xAA0 // 2720 + SYS___LRINTF_H = 0xAA1 // 2721 + SYS_LRINTL = 0xAA2 // 2722 + SYS___LRINTL_B = 0xAA3 // 2723 + SYS___LRINTL_H = 0xAA4 // 2724 + SYS_LROUNDL = 0xAA5 // 2725 + SYS___LROUNDL_B = 0xAA6 // 2726 + SYS___LROUNDL_H = 0xAA7 // 2727 + SYS_NAN = 0xAA8 // 2728 + SYS___NAN_B = 0xAA9 // 2729 + SYS_NANF = 0xAAA // 2730 + SYS___NANF_B = 0xAAB // 2731 + SYS_NANL = 0xAAC // 2732 + SYS___NANL_B = 0xAAD // 2733 + SYS_NEARBYINT = 0xAAE // 2734 + SYS___NEARBYINT_B = 0xAAF // 2735 + SYS___NEARBYINT_H = 0xAB0 // 2736 + SYS_NEARBYINTF = 0xAB1 // 2737 + SYS___NEARBYINTF_B = 0xAB2 // 2738 + SYS___NEARBYINTF_H = 0xAB3 // 2739 + SYS_NEARBYINTL = 0xAB4 // 2740 + SYS___NEARBYINTL_B = 0xAB5 // 2741 + SYS___NEARBYINTL_H = 0xAB6 // 2742 + SYS_NEXTAFTERF = 0xAB7 // 2743 + SYS___NEXTAFTERF_B = 0xAB8 // 2744 + SYS___NEXTAFTERF_H = 0xAB9 // 2745 + SYS_NEXTAFTERL = 0xABA // 2746 + SYS___NEXTAFTERL_B = 0xABB // 2747 + SYS___NEXTAFTERL_H = 0xABC // 2748 + SYS_NEXTTOWARD = 0xABD // 2749 + SYS___NEXTTOWARD_B = 0xABE // 2750 + SYS___NEXTTOWARD_H = 0xABF // 2751 + SYS_NEXTTOWARDF = 0xAC0 // 2752 + SYS___NEXTTOWARDF_B = 0xAC1 // 2753 + SYS___NEXTTOWARDF_H = 0xAC2 // 2754 + SYS_NEXTTOWARDL = 0xAC3 // 2755 + SYS___NEXTTOWARDL_B = 0xAC4 // 2756 + SYS___NEXTTOWARDL_H = 0xAC5 // 2757 + SYS___REMAINDERF_H = 0xAC6 // 2758 + SYS___REMAINDERL_H = 0xAC7 // 2759 + SYS___REMQUO_H = 0xAC8 // 2760 + SYS___REMQUOF_H = 0xAC9 // 2761 + SYS___REMQUOL_H = 0xACA // 2762 + SYS_RINTF = 0xACB // 2763 + SYS___RINTF_B = 0xACC // 2764 + SYS_RINTL = 0xACD // 2765 + SYS___RINTL_B = 0xACE // 2766 + SYS_ROUND = 0xACF // 2767 + SYS___ROUND_B = 0xAD0 // 2768 + SYS___ROUND_H = 0xAD1 // 2769 + SYS_ROUNDF = 0xAD2 // 2770 + SYS___ROUNDF_B = 0xAD3 // 2771 + SYS___ROUNDF_H = 0xAD4 // 2772 + SYS_ROUNDL = 0xAD5 // 2773 + SYS___ROUNDL_B = 0xAD6 // 2774 + SYS___ROUNDL_H = 0xAD7 // 2775 + SYS_SCALBLN = 0xAD8 // 2776 + SYS___SCALBLN_B = 0xAD9 // 2777 + SYS___SCALBLN_H = 0xADA // 2778 + SYS_SCALBLNF = 0xADB // 2779 + SYS___SCALBLNF_B = 0xADC // 2780 + SYS___SCALBLNF_H = 0xADD // 2781 + SYS_SCALBLNL = 0xADE // 2782 + SYS___SCALBLNL_B = 0xADF // 2783 + SYS___SCALBLNL_H = 0xAE0 // 2784 + SYS___SCALBN_B = 0xAE1 // 2785 + SYS___SCALBN_H = 0xAE2 // 2786 + SYS_SCALBNF = 0xAE3 // 2787 + SYS___SCALBNF_B = 0xAE4 // 2788 + SYS___SCALBNF_H = 0xAE5 // 2789 + SYS_SCALBNL = 0xAE6 // 2790 + SYS___SCALBNL_B = 0xAE7 // 2791 + SYS___SCALBNL_H = 0xAE8 // 2792 + SYS___TGAMMAL_H = 0xAE9 // 2793 + SYS_FECLEAREXCEPT = 0xAEA // 2794 + SYS_FEGETENV = 0xAEB // 2795 + SYS_FEGETEXCEPTFLAG = 0xAEC // 2796 + SYS_FEGETROUND = 0xAED // 2797 + SYS_FEHOLDEXCEPT = 0xAEE // 2798 + SYS_FERAISEEXCEPT = 0xAEF // 2799 + SYS_FESETENV = 0xAF0 // 2800 + SYS_FESETEXCEPTFLAG = 0xAF1 // 2801 + SYS_FESETROUND = 0xAF2 // 2802 + SYS_FETESTEXCEPT = 0xAF3 // 2803 + SYS_FEUPDATEENV = 0xAF4 // 2804 + SYS___COPYSIGN_H = 0xAF5 // 2805 + SYS___HYPOTF_H = 0xAF6 // 2806 + SYS___HYPOTL_H = 0xAF7 // 2807 + SYS___CLASS = 0xAFA // 2810 + SYS___CLASS_B = 0xAFB // 2811 + SYS___CLASS_H = 0xAFC // 2812 + SYS___ISBLANK_A = 0xB2E // 2862 + SYS___ISWBLANK_A = 0xB2F // 2863 + SYS___LROUND_FIXUP = 0xB30 // 2864 + SYS___LROUNDF_FIXUP = 0xB31 // 2865 + SYS_SCHED_YIELD = 0xB32 // 2866 + SYS_STRERROR_R = 0xB33 // 2867 + SYS_UNSETENV = 0xB34 // 2868 + SYS___LGAMMA_H_C99 = 0xB38 // 2872 + SYS___LGAMMA_B_C99 = 0xB39 // 2873 + SYS___LGAMMA_R_C99 = 0xB3A // 2874 + SYS___FTELL2 = 0xB3B // 2875 + SYS___FSEEK2 = 0xB3C // 2876 + SYS___STATIC_REINIT = 0xB3D // 2877 + SYS_PTHREAD_ATTR_GETSTACK = 0xB3E // 2878 + SYS_PTHREAD_ATTR_SETSTACK = 0xB3F // 2879 + SYS___TGAMMA_H_C99 = 0xB78 // 2936 + SYS___TGAMMAF_H_C99 = 0xB79 // 2937 + SYS___LE_TRACEBACK = 0xB7A // 2938 + SYS___MUST_STAY_CLEAN = 0xB7C // 2940 + SYS___O_ENV = 0xB7D // 2941 + SYS_ACOSD32 = 0xB7E // 2942 + SYS_ACOSD64 = 0xB7F // 2943 + SYS_ACOSD128 = 0xB80 // 2944 + SYS_ACOSHD32 = 0xB81 // 2945 + SYS_ACOSHD64 = 0xB82 // 2946 + SYS_ACOSHD128 = 0xB83 // 2947 + SYS_ASIND32 = 0xB84 // 2948 + SYS_ASIND64 = 0xB85 // 2949 + SYS_ASIND128 = 0xB86 // 2950 + SYS_ASINHD32 = 0xB87 // 2951 + SYS_ASINHD64 = 0xB88 // 2952 + SYS_ASINHD128 = 0xB89 // 2953 + SYS_ATAND32 = 0xB8A // 2954 + SYS_ATAND64 = 0xB8B // 2955 + SYS_ATAND128 = 0xB8C // 2956 + SYS_ATAN2D32 = 0xB8D // 2957 + SYS_ATAN2D64 = 0xB8E // 2958 + SYS_ATAN2D128 = 0xB8F // 2959 + SYS_ATANHD32 = 0xB90 // 2960 + SYS_ATANHD64 = 0xB91 // 2961 + SYS_ATANHD128 = 0xB92 // 2962 + SYS_CBRTD32 = 0xB93 // 2963 + SYS_CBRTD64 = 0xB94 // 2964 + SYS_CBRTD128 = 0xB95 // 2965 + SYS_CEILD32 = 0xB96 // 2966 + SYS_CEILD64 = 0xB97 // 2967 + SYS_CEILD128 = 0xB98 // 2968 + SYS___CLASS2 = 0xB99 // 2969 + SYS___CLASS2_B = 0xB9A // 2970 + SYS___CLASS2_H = 0xB9B // 2971 + SYS_COPYSIGND32 = 0xB9C // 2972 + SYS_COPYSIGND64 = 0xB9D // 2973 + SYS_COPYSIGND128 = 0xB9E // 2974 + SYS_COSD32 = 0xB9F // 2975 + SYS_COSD64 = 0xBA0 // 2976 + SYS_COSD128 = 0xBA1 // 2977 + SYS_COSHD32 = 0xBA2 // 2978 + SYS_COSHD64 = 0xBA3 // 2979 + SYS_COSHD128 = 0xBA4 // 2980 + SYS_ERFD32 = 0xBA5 // 2981 + SYS_ERFD64 = 0xBA6 // 2982 + SYS_ERFD128 = 0xBA7 // 2983 + SYS_ERFCD32 = 0xBA8 // 2984 + SYS_ERFCD64 = 0xBA9 // 2985 + SYS_ERFCD128 = 0xBAA // 2986 + SYS_EXPD32 = 0xBAB // 2987 + SYS_EXPD64 = 0xBAC // 2988 + SYS_EXPD128 = 0xBAD // 2989 + SYS_EXP2D32 = 0xBAE // 2990 + SYS_EXP2D64 = 0xBAF // 2991 + SYS_EXP2D128 = 0xBB0 // 2992 + SYS_EXPM1D32 = 0xBB1 // 2993 + SYS_EXPM1D64 = 0xBB2 // 2994 + SYS_EXPM1D128 = 0xBB3 // 2995 + SYS_FABSD32 = 0xBB4 // 2996 + SYS_FABSD64 = 0xBB5 // 2997 + SYS_FABSD128 = 0xBB6 // 2998 + SYS_FDIMD32 = 0xBB7 // 2999 + SYS_FDIMD64 = 0xBB8 // 3000 + SYS_FDIMD128 = 0xBB9 // 3001 + SYS_FE_DEC_GETROUND = 0xBBA // 3002 + SYS_FE_DEC_SETROUND = 0xBBB // 3003 + SYS_FLOORD32 = 0xBBC // 3004 + SYS_FLOORD64 = 0xBBD // 3005 + SYS_FLOORD128 = 0xBBE // 3006 + SYS_FMAD32 = 0xBBF // 3007 + SYS_FMAD64 = 0xBC0 // 3008 + SYS_FMAD128 = 0xBC1 // 3009 + SYS_FMAXD32 = 0xBC2 // 3010 + SYS_FMAXD64 = 0xBC3 // 3011 + SYS_FMAXD128 = 0xBC4 // 3012 + SYS_FMIND32 = 0xBC5 // 3013 + SYS_FMIND64 = 0xBC6 // 3014 + SYS_FMIND128 = 0xBC7 // 3015 + SYS_FMODD32 = 0xBC8 // 3016 + SYS_FMODD64 = 0xBC9 // 3017 + SYS_FMODD128 = 0xBCA // 3018 + SYS___FP_CAST_D = 0xBCB // 3019 + SYS_FREXPD32 = 0xBCC // 3020 + SYS_FREXPD64 = 0xBCD // 3021 + SYS_FREXPD128 = 0xBCE // 3022 + SYS_HYPOTD32 = 0xBCF // 3023 + SYS_HYPOTD64 = 0xBD0 // 3024 + SYS_HYPOTD128 = 0xBD1 // 3025 + SYS_ILOGBD32 = 0xBD2 // 3026 + SYS_ILOGBD64 = 0xBD3 // 3027 + SYS_ILOGBD128 = 0xBD4 // 3028 + SYS_LDEXPD32 = 0xBD5 // 3029 + SYS_LDEXPD64 = 0xBD6 // 3030 + SYS_LDEXPD128 = 0xBD7 // 3031 + SYS_LGAMMAD32 = 0xBD8 // 3032 + SYS_LGAMMAD64 = 0xBD9 // 3033 + SYS_LGAMMAD128 = 0xBDA // 3034 + SYS_LLRINTD32 = 0xBDB // 3035 + SYS_LLRINTD64 = 0xBDC // 3036 + SYS_LLRINTD128 = 0xBDD // 3037 + SYS_LLROUNDD32 = 0xBDE // 3038 + SYS_LLROUNDD64 = 0xBDF // 3039 + SYS_LLROUNDD128 = 0xBE0 // 3040 + SYS_LOGD32 = 0xBE1 // 3041 + SYS_LOGD64 = 0xBE2 // 3042 + SYS_LOGD128 = 0xBE3 // 3043 + SYS_LOG10D32 = 0xBE4 // 3044 + SYS_LOG10D64 = 0xBE5 // 3045 + SYS_LOG10D128 = 0xBE6 // 3046 + SYS_LOG1PD32 = 0xBE7 // 3047 + SYS_LOG1PD64 = 0xBE8 // 3048 + SYS_LOG1PD128 = 0xBE9 // 3049 + SYS_LOG2D32 = 0xBEA // 3050 + SYS_LOG2D64 = 0xBEB // 3051 + SYS_LOG2D128 = 0xBEC // 3052 + SYS_LOGBD32 = 0xBED // 3053 + SYS_LOGBD64 = 0xBEE // 3054 + SYS_LOGBD128 = 0xBEF // 3055 + SYS_LRINTD32 = 0xBF0 // 3056 + SYS_LRINTD64 = 0xBF1 // 3057 + SYS_LRINTD128 = 0xBF2 // 3058 + SYS_LROUNDD32 = 0xBF3 // 3059 + SYS_LROUNDD64 = 0xBF4 // 3060 + SYS_LROUNDD128 = 0xBF5 // 3061 + SYS_MODFD32 = 0xBF6 // 3062 + SYS_MODFD64 = 0xBF7 // 3063 + SYS_MODFD128 = 0xBF8 // 3064 + SYS_NAND32 = 0xBF9 // 3065 + SYS_NAND64 = 0xBFA // 3066 + SYS_NAND128 = 0xBFB // 3067 + SYS_NEARBYINTD32 = 0xBFC // 3068 + SYS_NEARBYINTD64 = 0xBFD // 3069 + SYS_NEARBYINTD128 = 0xBFE // 3070 + SYS_NEXTAFTERD32 = 0xBFF // 3071 + SYS_NEXTAFTERD64 = 0xC00 // 3072 + SYS_NEXTAFTERD128 = 0xC01 // 3073 + SYS_NEXTTOWARDD32 = 0xC02 // 3074 + SYS_NEXTTOWARDD64 = 0xC03 // 3075 + SYS_NEXTTOWARDD128 = 0xC04 // 3076 + SYS_POWD32 = 0xC05 // 3077 + SYS_POWD64 = 0xC06 // 3078 + SYS_POWD128 = 0xC07 // 3079 + SYS_QUANTIZED32 = 0xC08 // 3080 + SYS_QUANTIZED64 = 0xC09 // 3081 + SYS_QUANTIZED128 = 0xC0A // 3082 + SYS_REMAINDERD32 = 0xC0B // 3083 + SYS_REMAINDERD64 = 0xC0C // 3084 + SYS_REMAINDERD128 = 0xC0D // 3085 + SYS___REMQUOD32 = 0xC0E // 3086 + SYS___REMQUOD64 = 0xC0F // 3087 + SYS___REMQUOD128 = 0xC10 // 3088 + SYS_RINTD32 = 0xC11 // 3089 + SYS_RINTD64 = 0xC12 // 3090 + SYS_RINTD128 = 0xC13 // 3091 + SYS_ROUNDD32 = 0xC14 // 3092 + SYS_ROUNDD64 = 0xC15 // 3093 + SYS_ROUNDD128 = 0xC16 // 3094 + SYS_SAMEQUANTUMD32 = 0xC17 // 3095 + SYS_SAMEQUANTUMD64 = 0xC18 // 3096 + SYS_SAMEQUANTUMD128 = 0xC19 // 3097 + SYS_SCALBLND32 = 0xC1A // 3098 + SYS_SCALBLND64 = 0xC1B // 3099 + SYS_SCALBLND128 = 0xC1C // 3100 + SYS_SCALBND32 = 0xC1D // 3101 + SYS_SCALBND64 = 0xC1E // 3102 + SYS_SCALBND128 = 0xC1F // 3103 + SYS_SIND32 = 0xC20 // 3104 + SYS_SIND64 = 0xC21 // 3105 + SYS_SIND128 = 0xC22 // 3106 + SYS_SINHD32 = 0xC23 // 3107 + SYS_SINHD64 = 0xC24 // 3108 + SYS_SINHD128 = 0xC25 // 3109 + SYS_SQRTD32 = 0xC26 // 3110 + SYS_SQRTD64 = 0xC27 // 3111 + SYS_SQRTD128 = 0xC28 // 3112 + SYS_STRTOD32 = 0xC29 // 3113 + SYS_STRTOD64 = 0xC2A // 3114 + SYS_STRTOD128 = 0xC2B // 3115 + SYS_TAND32 = 0xC2C // 3116 + SYS_TAND64 = 0xC2D // 3117 + SYS_TAND128 = 0xC2E // 3118 + SYS_TANHD32 = 0xC2F // 3119 + SYS_TANHD64 = 0xC30 // 3120 + SYS_TANHD128 = 0xC31 // 3121 + SYS_TGAMMAD32 = 0xC32 // 3122 + SYS_TGAMMAD64 = 0xC33 // 3123 + SYS_TGAMMAD128 = 0xC34 // 3124 + SYS_TRUNCD32 = 0xC3E // 3134 + SYS_TRUNCD64 = 0xC3F // 3135 + SYS_TRUNCD128 = 0xC40 // 3136 + SYS_WCSTOD32 = 0xC41 // 3137 + SYS_WCSTOD64 = 0xC42 // 3138 + SYS_WCSTOD128 = 0xC43 // 3139 + SYS___CODEPAGE_INFO = 0xC64 // 3172 + SYS_POSIX_OPENPT = 0xC66 // 3174 + SYS_PSELECT = 0xC67 // 3175 + SYS_SOCKATMARK = 0xC68 // 3176 + SYS_AIO_FSYNC = 0xC69 // 3177 + SYS_LIO_LISTIO = 0xC6A // 3178 + SYS___ATANPID32 = 0xC6B // 3179 + SYS___ATANPID64 = 0xC6C // 3180 + SYS___ATANPID128 = 0xC6D // 3181 + SYS___COSPID32 = 0xC6E // 3182 + SYS___COSPID64 = 0xC6F // 3183 + SYS___COSPID128 = 0xC70 // 3184 + SYS___SINPID32 = 0xC71 // 3185 + SYS___SINPID64 = 0xC72 // 3186 + SYS___SINPID128 = 0xC73 // 3187 + SYS_SETIPV4SOURCEFILTER = 0xC76 // 3190 + SYS_GETIPV4SOURCEFILTER = 0xC77 // 3191 + SYS_SETSOURCEFILTER = 0xC78 // 3192 + SYS_GETSOURCEFILTER = 0xC79 // 3193 + SYS_FWRITE_UNLOCKED = 0xC7A // 3194 + SYS_FREAD_UNLOCKED = 0xC7B // 3195 + SYS_FGETS_UNLOCKED = 0xC7C // 3196 + SYS_GETS_UNLOCKED = 0xC7D // 3197 + SYS_FPUTS_UNLOCKED = 0xC7E // 3198 + SYS_PUTS_UNLOCKED = 0xC7F // 3199 + SYS_FGETC_UNLOCKED = 0xC80 // 3200 + SYS_FPUTC_UNLOCKED = 0xC81 // 3201 + SYS_DLADDR = 0xC82 // 3202 + SYS_SHM_OPEN = 0xC8C // 3212 + SYS_SHM_UNLINK = 0xC8D // 3213 + SYS___CLASS2F = 0xC91 // 3217 + SYS___CLASS2L = 0xC92 // 3218 + SYS___CLASS2F_B = 0xC93 // 3219 + SYS___CLASS2F_H = 0xC94 // 3220 + SYS___CLASS2L_B = 0xC95 // 3221 + SYS___CLASS2L_H = 0xC96 // 3222 + SYS___CLASS2D32 = 0xC97 // 3223 + SYS___CLASS2D64 = 0xC98 // 3224 + SYS___CLASS2D128 = 0xC99 // 3225 + SYS___TOCSNAME2 = 0xC9A // 3226 + SYS___D1TOP = 0xC9B // 3227 + SYS___D2TOP = 0xC9C // 3228 + SYS___D4TOP = 0xC9D // 3229 + SYS___PTOD1 = 0xC9E // 3230 + SYS___PTOD2 = 0xC9F // 3231 + SYS___PTOD4 = 0xCA0 // 3232 + SYS_CLEARERR_UNLOCKED = 0xCA1 // 3233 + SYS_FDELREC_UNLOCKED = 0xCA2 // 3234 + SYS_FEOF_UNLOCKED = 0xCA3 // 3235 + SYS_FERROR_UNLOCKED = 0xCA4 // 3236 + SYS_FFLUSH_UNLOCKED = 0xCA5 // 3237 + SYS_FGETPOS_UNLOCKED = 0xCA6 // 3238 + SYS_FGETWC_UNLOCKED = 0xCA7 // 3239 + SYS_FGETWS_UNLOCKED = 0xCA8 // 3240 + SYS_FILENO_UNLOCKED = 0xCA9 // 3241 + SYS_FLDATA_UNLOCKED = 0xCAA // 3242 + SYS_FLOCATE_UNLOCKED = 0xCAB // 3243 + SYS_FPRINTF_UNLOCKED = 0xCAC // 3244 + SYS_FPUTWC_UNLOCKED = 0xCAD // 3245 + SYS_FPUTWS_UNLOCKED = 0xCAE // 3246 + SYS_FSCANF_UNLOCKED = 0xCAF // 3247 + SYS_FSEEK_UNLOCKED = 0xCB0 // 3248 + SYS_FSEEKO_UNLOCKED = 0xCB1 // 3249 + SYS_FSETPOS_UNLOCKED = 0xCB3 // 3251 + SYS_FTELL_UNLOCKED = 0xCB4 // 3252 + SYS_FTELLO_UNLOCKED = 0xCB5 // 3253 + SYS_FUPDATE_UNLOCKED = 0xCB7 // 3255 + SYS_FWIDE_UNLOCKED = 0xCB8 // 3256 + SYS_FWPRINTF_UNLOCKED = 0xCB9 // 3257 + SYS_FWSCANF_UNLOCKED = 0xCBA // 3258 + SYS_GETWC_UNLOCKED = 0xCBB // 3259 + SYS_GETWCHAR_UNLOCKED = 0xCBC // 3260 + SYS_PERROR_UNLOCKED = 0xCBD // 3261 + SYS_PRINTF_UNLOCKED = 0xCBE // 3262 + SYS_PUTWC_UNLOCKED = 0xCBF // 3263 + SYS_PUTWCHAR_UNLOCKED = 0xCC0 // 3264 + SYS_REWIND_UNLOCKED = 0xCC1 // 3265 + SYS_SCANF_UNLOCKED = 0xCC2 // 3266 + SYS_UNGETC_UNLOCKED = 0xCC3 // 3267 + SYS_UNGETWC_UNLOCKED = 0xCC4 // 3268 + SYS_VFPRINTF_UNLOCKED = 0xCC5 // 3269 + SYS_VFSCANF_UNLOCKED = 0xCC7 // 3271 + SYS_VFWPRINTF_UNLOCKED = 0xCC9 // 3273 + SYS_VFWSCANF_UNLOCKED = 0xCCB // 3275 + SYS_VPRINTF_UNLOCKED = 0xCCD // 3277 + SYS_VSCANF_UNLOCKED = 0xCCF // 3279 + SYS_VWPRINTF_UNLOCKED = 0xCD1 // 3281 + SYS_VWSCANF_UNLOCKED = 0xCD3 // 3283 + SYS_WPRINTF_UNLOCKED = 0xCD5 // 3285 + SYS_WSCANF_UNLOCKED = 0xCD6 // 3286 + SYS_ASCTIME64 = 0xCD7 // 3287 + SYS_ASCTIME64_R = 0xCD8 // 3288 + SYS_CTIME64 = 0xCD9 // 3289 + SYS_CTIME64_R = 0xCDA // 3290 + SYS_DIFFTIME64 = 0xCDB // 3291 + SYS_GMTIME64 = 0xCDC // 3292 + SYS_GMTIME64_R = 0xCDD // 3293 + SYS_LOCALTIME64 = 0xCDE // 3294 + SYS_LOCALTIME64_R = 0xCDF // 3295 + SYS_MKTIME64 = 0xCE0 // 3296 + SYS_TIME64 = 0xCE1 // 3297 + SYS___LOGIN_APPLID = 0xCE2 // 3298 + SYS___PASSWD_APPLID = 0xCE3 // 3299 + SYS_PTHREAD_SECURITY_APPLID_NP = 0xCE4 // 3300 + SYS___GETTHENT = 0xCE5 // 3301 + SYS_FREEIFADDRS = 0xCE6 // 3302 + SYS_GETIFADDRS = 0xCE7 // 3303 + SYS_POSIX_FALLOCATE = 0xCE8 // 3304 + SYS_POSIX_MEMALIGN = 0xCE9 // 3305 + SYS_SIZEOF_ALLOC = 0xCEA // 3306 + SYS_RESIZE_ALLOC = 0xCEB // 3307 + SYS_FREAD_NOUPDATE = 0xCEC // 3308 + SYS_FREAD_NOUPDATE_UNLOCKED = 0xCED // 3309 + SYS_FGETPOS64 = 0xCEE // 3310 + SYS_FSEEK64 = 0xCEF // 3311 + SYS_FSEEKO64 = 0xCF0 // 3312 + SYS_FSETPOS64 = 0xCF1 // 3313 + SYS_FTELL64 = 0xCF2 // 3314 + SYS_FTELLO64 = 0xCF3 // 3315 + SYS_FGETPOS64_UNLOCKED = 0xCF4 // 3316 + SYS_FSEEK64_UNLOCKED = 0xCF5 // 3317 + SYS_FSEEKO64_UNLOCKED = 0xCF6 // 3318 + SYS_FSETPOS64_UNLOCKED = 0xCF7 // 3319 + SYS_FTELL64_UNLOCKED = 0xCF8 // 3320 + SYS_FTELLO64_UNLOCKED = 0xCF9 // 3321 + SYS_FOPEN_UNLOCKED = 0xCFA // 3322 + SYS_FREOPEN_UNLOCKED = 0xCFB // 3323 + SYS_FDOPEN_UNLOCKED = 0xCFC // 3324 + SYS_TMPFILE_UNLOCKED = 0xCFD // 3325 + SYS___MOSERVICES = 0xD3D // 3389 + SYS___GETTOD = 0xD3E // 3390 + SYS_C16RTOMB = 0xD40 // 3392 + SYS_C32RTOMB = 0xD41 // 3393 + SYS_MBRTOC16 = 0xD42 // 3394 + SYS_MBRTOC32 = 0xD43 // 3395 + SYS_QUANTEXPD32 = 0xD44 // 3396 + SYS_QUANTEXPD64 = 0xD45 // 3397 + SYS_QUANTEXPD128 = 0xD46 // 3398 + SYS___LOCALE_CTL = 0xD47 // 3399 + SYS___SMF_RECORD2 = 0xD48 // 3400 + SYS_FOPEN64 = 0xD49 // 3401 + SYS_FOPEN64_UNLOCKED = 0xD4A // 3402 + SYS_FREOPEN64 = 0xD4B // 3403 + SYS_FREOPEN64_UNLOCKED = 0xD4C // 3404 + SYS_TMPFILE64 = 0xD4D // 3405 + SYS_TMPFILE64_UNLOCKED = 0xD4E // 3406 + SYS_GETDATE64 = 0xD4F // 3407 + SYS_GETTIMEOFDAY64 = 0xD50 // 3408 + SYS_BIND2ADDRSEL = 0xD59 // 3417 + SYS_INET6_IS_SRCADDR = 0xD5A // 3418 + SYS___GETGRGID1 = 0xD5B // 3419 + SYS___GETGRNAM1 = 0xD5C // 3420 + SYS___FBUFSIZE = 0xD60 // 3424 + SYS___FPENDING = 0xD61 // 3425 + SYS___FLBF = 0xD62 // 3426 + SYS___FREADABLE = 0xD63 // 3427 + SYS___FWRITABLE = 0xD64 // 3428 + SYS___FREADING = 0xD65 // 3429 + SYS___FWRITING = 0xD66 // 3430 + SYS___FSETLOCKING = 0xD67 // 3431 + SYS__FLUSHLBF = 0xD68 // 3432 + SYS___FPURGE = 0xD69 // 3433 + SYS___FREADAHEAD = 0xD6A // 3434 + SYS___FSETERR = 0xD6B // 3435 + SYS___FPENDING_UNLOCKED = 0xD6C // 3436 + SYS___FREADING_UNLOCKED = 0xD6D // 3437 + SYS___FWRITING_UNLOCKED = 0xD6E // 3438 + SYS__FLUSHLBF_UNLOCKED = 0xD6F // 3439 + SYS___FPURGE_UNLOCKED = 0xD70 // 3440 + SYS___FREADAHEAD_UNLOCKED = 0xD71 // 3441 + SYS___LE_CEEGTJS = 0xD72 // 3442 + SYS___LE_RECORD_DUMP = 0xD73 // 3443 + SYS_FSTAT64 = 0xD74 // 3444 + SYS_LSTAT64 = 0xD75 // 3445 + SYS_STAT64 = 0xD76 // 3446 + SYS___READDIR2_64 = 0xD77 // 3447 + SYS___OPEN_STAT64 = 0xD78 // 3448 + SYS_FTW64 = 0xD79 // 3449 + SYS_NFTW64 = 0xD7A // 3450 + SYS_UTIME64 = 0xD7B // 3451 + SYS_UTIMES64 = 0xD7C // 3452 + SYS___GETIPC64 = 0xD7D // 3453 + SYS_MSGCTL64 = 0xD7E // 3454 + SYS_SEMCTL64 = 0xD7F // 3455 + SYS_SHMCTL64 = 0xD80 // 3456 + SYS_MSGXRCV64 = 0xD81 // 3457 + SYS___MGXR64 = 0xD81 // 3457 + SYS_W_GETPSENT64 = 0xD82 // 3458 + SYS_PTHREAD_COND_TIMEDWAIT64 = 0xD83 // 3459 + SYS_FTIME64 = 0xD85 // 3461 + SYS_GETUTXENT64 = 0xD86 // 3462 + SYS_GETUTXID64 = 0xD87 // 3463 + SYS_GETUTXLINE64 = 0xD88 // 3464 + SYS_PUTUTXLINE64 = 0xD89 // 3465 + SYS_NEWLOCALE = 0xD8A // 3466 + SYS_FREELOCALE = 0xD8B // 3467 + SYS_USELOCALE = 0xD8C // 3468 + SYS_DUPLOCALE = 0xD8D // 3469 + SYS___CHATTR64 = 0xD9C // 3484 + SYS___LCHATTR64 = 0xD9D // 3485 + SYS___FCHATTR64 = 0xD9E // 3486 + SYS_____CHATTR64_A = 0xD9F // 3487 + SYS_____LCHATTR64_A = 0xDA0 // 3488 + SYS___LE_CEEUSGD = 0xDA1 // 3489 + SYS___LE_IFAM_CON = 0xDA2 // 3490 + SYS___LE_IFAM_DSC = 0xDA3 // 3491 + SYS___LE_IFAM_GET = 0xDA4 // 3492 + SYS___LE_IFAM_QRY = 0xDA5 // 3493 + SYS_ALIGNED_ALLOC = 0xDA6 // 3494 + SYS_ACCEPT4 = 0xDA7 // 3495 + SYS___ACCEPT4_A = 0xDA8 // 3496 + SYS_COPYFILERANGE = 0xDA9 // 3497 + SYS_GETLINE = 0xDAA // 3498 + SYS___GETLINE_A = 0xDAB // 3499 + SYS_DIRFD = 0xDAC // 3500 + SYS_CLOCK_GETTIME = 0xDAD // 3501 + SYS_DUP3 = 0xDAE // 3502 + SYS_EPOLL_CREATE = 0xDAF // 3503 + SYS_EPOLL_CREATE1 = 0xDB0 // 3504 + SYS_EPOLL_CTL = 0xDB1 // 3505 + SYS_EPOLL_WAIT = 0xDB2 // 3506 + SYS_EPOLL_PWAIT = 0xDB3 // 3507 + SYS_EVENTFD = 0xDB4 // 3508 + SYS_STATFS = 0xDB5 // 3509 + SYS___STATFS_A = 0xDB6 // 3510 + SYS_FSTATFS = 0xDB7 // 3511 + SYS_INOTIFY_INIT = 0xDB8 // 3512 + SYS_INOTIFY_INIT1 = 0xDB9 // 3513 + SYS_INOTIFY_ADD_WATCH = 0xDBA // 3514 + SYS___INOTIFY_ADD_WATCH_A = 0xDBB // 3515 + SYS_INOTIFY_RM_WATCH = 0xDBC // 3516 + SYS_PIPE2 = 0xDBD // 3517 + SYS_PIVOT_ROOT = 0xDBE // 3518 + SYS___PIVOT_ROOT_A = 0xDBF // 3519 + SYS_PRCTL = 0xDC0 // 3520 + SYS_PRLIMIT = 0xDC1 // 3521 + SYS_SETHOSTNAME = 0xDC2 // 3522 + SYS___SETHOSTNAME_A = 0xDC3 // 3523 + SYS_SETRESUID = 0xDC4 // 3524 + SYS_SETRESGID = 0xDC5 // 3525 + SYS_PTHREAD_CONDATTR_GETCLOCK = 0xDC6 // 3526 + SYS_FLOCK = 0xDC7 // 3527 + SYS_FGETXATTR = 0xDC8 // 3528 + SYS___FGETXATTR_A = 0xDC9 // 3529 + SYS_FLISTXATTR = 0xDCA // 3530 + SYS___FLISTXATTR_A = 0xDCB // 3531 + SYS_FREMOVEXATTR = 0xDCC // 3532 + SYS___FREMOVEXATTR_A = 0xDCD // 3533 + SYS_FSETXATTR = 0xDCE // 3534 + SYS___FSETXATTR_A = 0xDCF // 3535 + SYS_GETXATTR = 0xDD0 // 3536 + SYS___GETXATTR_A = 0xDD1 // 3537 + SYS_LGETXATTR = 0xDD2 // 3538 + SYS___LGETXATTR_A = 0xDD3 // 3539 + SYS_LISTXATTR = 0xDD4 // 3540 + SYS___LISTXATTR_A = 0xDD5 // 3541 + SYS_LLISTXATTR = 0xDD6 // 3542 + SYS___LLISTXATTR_A = 0xDD7 // 3543 + SYS_LREMOVEXATTR = 0xDD8 // 3544 + SYS___LREMOVEXATTR_A = 0xDD9 // 3545 + SYS_LSETXATTR = 0xDDA // 3546 + SYS___LSETXATTR_A = 0xDDB // 3547 + SYS_REMOVEXATTR = 0xDDC // 3548 + SYS___REMOVEXATTR_A = 0xDDD // 3549 + SYS_SETXATTR = 0xDDE // 3550 + SYS___SETXATTR_A = 0xDDF // 3551 + SYS_FDATASYNC = 0xDE0 // 3552 + SYS_SYNCFS = 0xDE1 // 3553 + SYS_FUTIMES = 0xDE2 // 3554 + SYS_FUTIMESAT = 0xDE3 // 3555 + SYS___FUTIMESAT_A = 0xDE4 // 3556 + SYS_LUTIMES = 0xDE5 // 3557 + SYS___LUTIMES_A = 0xDE6 // 3558 + SYS_INET_ATON = 0xDE7 // 3559 + SYS_GETRANDOM = 0xDE8 // 3560 + SYS_GETTID = 0xDE9 // 3561 + SYS_MEMFD_CREATE = 0xDEA // 3562 + SYS___MEMFD_CREATE_A = 0xDEB // 3563 + SYS_FACCESSAT = 0xDEC // 3564 + SYS___FACCESSAT_A = 0xDED // 3565 + SYS_FCHMODAT = 0xDEE // 3566 + SYS___FCHMODAT_A = 0xDEF // 3567 + SYS_FCHOWNAT = 0xDF0 // 3568 + SYS___FCHOWNAT_A = 0xDF1 // 3569 + SYS_FSTATAT = 0xDF2 // 3570 + SYS___FSTATAT_A = 0xDF3 // 3571 + SYS_LINKAT = 0xDF4 // 3572 + SYS___LINKAT_A = 0xDF5 // 3573 + SYS_MKDIRAT = 0xDF6 // 3574 + SYS___MKDIRAT_A = 0xDF7 // 3575 + SYS_MKFIFOAT = 0xDF8 // 3576 + SYS___MKFIFOAT_A = 0xDF9 // 3577 + SYS_MKNODAT = 0xDFA // 3578 + SYS___MKNODAT_A = 0xDFB // 3579 + SYS_OPENAT = 0xDFC // 3580 + SYS___OPENAT_A = 0xDFD // 3581 + SYS_READLINKAT = 0xDFE // 3582 + SYS___READLINKAT_A = 0xDFF // 3583 + SYS_RENAMEAT = 0xE00 // 3584 + SYS___RENAMEAT_A = 0xE01 // 3585 + SYS_RENAMEAT2 = 0xE02 // 3586 + SYS___RENAMEAT2_A = 0xE03 // 3587 + SYS_SYMLINKAT = 0xE04 // 3588 + SYS___SYMLINKAT_A = 0xE05 // 3589 + SYS_UNLINKAT = 0xE06 // 3590 + SYS___UNLINKAT_A = 0xE07 // 3591 + SYS_SYSINFO = 0xE08 // 3592 + SYS_WAIT4 = 0xE0A // 3594 + SYS_CLONE = 0xE0B // 3595 + SYS_UNSHARE = 0xE0C // 3596 + SYS_SETNS = 0xE0D // 3597 + SYS_CAPGET = 0xE0E // 3598 + SYS_CAPSET = 0xE0F // 3599 + SYS_STRCHRNUL = 0xE10 // 3600 + SYS_PTHREAD_CONDATTR_SETCLOCK = 0xE12 // 3602 + SYS_OPEN_BY_HANDLE_AT = 0xE13 // 3603 + SYS___OPEN_BY_HANDLE_AT_A = 0xE14 // 3604 + SYS___INET_ATON_A = 0xE15 // 3605 + SYS_MOUNT1 = 0xE16 // 3606 + SYS___MOUNT1_A = 0xE17 // 3607 + SYS_UMOUNT1 = 0xE18 // 3608 + SYS___UMOUNT1_A = 0xE19 // 3609 + SYS_UMOUNT2 = 0xE1A // 3610 + SYS___UMOUNT2_A = 0xE1B // 3611 + SYS___PRCTL_A = 0xE1C // 3612 + SYS_LOCALTIME_R2 = 0xE1D // 3613 + SYS___LOCALTIME_R2_A = 0xE1E // 3614 + SYS_OPENAT2 = 0xE1F // 3615 + SYS___OPENAT2_A = 0xE20 // 3616 + SYS___LE_CEEMICT = 0xE21 // 3617 + SYS_GETENTROPY = 0xE22 // 3618 + SYS_NANOSLEEP = 0xE23 // 3619 + SYS_UTIMENSAT = 0xE24 // 3620 + SYS___UTIMENSAT_A = 0xE25 // 3621 + SYS_ASPRINTF = 0xE26 // 3622 + SYS___ASPRINTF_A = 0xE27 // 3623 + SYS_VASPRINTF = 0xE28 // 3624 + SYS___VASPRINTF_A = 0xE29 // 3625 + SYS_DPRINTF = 0xE2A // 3626 + SYS___DPRINTF_A = 0xE2B // 3627 + SYS_GETOPT_LONG = 0xE2C // 3628 + SYS___GETOPT_LONG_A = 0xE2D // 3629 + SYS_PSIGNAL = 0xE2E // 3630 + SYS___PSIGNAL_A = 0xE2F // 3631 + SYS_PSIGNAL_UNLOCKED = 0xE30 // 3632 + SYS___PSIGNAL_UNLOCKED_A = 0xE31 // 3633 + SYS_FSTATAT_O = 0xE32 // 3634 + SYS___FSTATAT_O_A = 0xE33 // 3635 + SYS_FSTATAT64 = 0xE34 // 3636 + SYS___FSTATAT64_A = 0xE35 // 3637 + SYS___CHATTRAT = 0xE36 // 3638 + SYS_____CHATTRAT_A = 0xE37 // 3639 + SYS___CHATTRAT64 = 0xE38 // 3640 + SYS_____CHATTRAT64_A = 0xE39 // 3641 + SYS_MADVISE = 0xE3A // 3642 + SYS___AUTHENTICATE = 0xE3B // 3643 + ) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go index eff6bcd..7f1961b 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -110,7 +110,8 @@ type Statx_t struct { Mnt_id uint64 Dio_mem_align uint32 Dio_offset_align uint32 - _ [12]uint64 + Subvol uint64 + _ [11]uint64 } type Fsid struct { @@ -1178,7 +1179,8 @@ const ( PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 0x10 PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 0x11 PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = 0x12 - PERF_SAMPLE_BRANCH_MAX_SHIFT = 0x13 + PERF_SAMPLE_BRANCH_COUNTERS = 0x80000 + PERF_SAMPLE_BRANCH_MAX_SHIFT = 0x14 PERF_SAMPLE_BRANCH_USER = 0x1 PERF_SAMPLE_BRANCH_KERNEL = 0x2 PERF_SAMPLE_BRANCH_HV = 0x4 @@ -1198,7 +1200,7 @@ const ( PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 PERF_SAMPLE_BRANCH_HW_INDEX = 0x20000 PERF_SAMPLE_BRANCH_PRIV_SAVE = 0x40000 - PERF_SAMPLE_BRANCH_MAX = 0x80000 + PERF_SAMPLE_BRANCH_MAX = 0x100000 PERF_BR_UNKNOWN = 0x0 PERF_BR_COND = 0x1 PERF_BR_UNCOND = 0x2 @@ -2481,6 +2483,15 @@ type XDPMmapOffsets struct { Cr XDPRingOffset } +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Chunk_size uint32 + Headroom uint32 + Flags uint32 + Tx_metadata_len uint32 +} + type XDPStatistics struct { Rx_dropped uint64 Rx_invalid_descs uint64 @@ -2935,7 +2946,7 @@ const ( BPF_TCP_LISTEN = 0xa BPF_TCP_CLOSING = 0xb BPF_TCP_NEW_SYN_RECV = 0xc - BPF_TCP_MAX_STATES = 0xd + BPF_TCP_MAX_STATES = 0xe TCP_BPF_IW = 0x3e9 TCP_BPF_SNDCWND_CLAMP = 0x3ea TCP_BPF_DELACK_MAX = 0x3eb @@ -3211,7 +3222,7 @@ const ( DEVLINK_CMD_LINECARD_NEW = 0x50 DEVLINK_CMD_LINECARD_DEL = 0x51 DEVLINK_CMD_SELFTESTS_GET = 0x52 - DEVLINK_CMD_MAX = 0x53 + DEVLINK_CMD_MAX = 0x54 DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_ETH = 0x2 @@ -3463,7 +3474,7 @@ const ( DEVLINK_PORT_FN_ATTR_STATE = 0x2 DEVLINK_PORT_FN_ATTR_OPSTATE = 0x3 DEVLINK_PORT_FN_ATTR_CAPS = 0x4 - DEVLINK_PORT_FUNCTION_ATTR_MAX = 0x5 + DEVLINK_PORT_FUNCTION_ATTR_MAX = 0x6 ) type FsverityDigest struct { @@ -3796,6 +3807,9 @@ const ( ETHTOOL_MSG_PSE_GET_REPLY = 0x25 ETHTOOL_MSG_RSS_GET_REPLY = 0x26 ETHTOOL_MSG_KERNEL_MAX = 0x2b + ETHTOOL_FLAG_COMPACT_BITSETS = 0x1 + ETHTOOL_FLAG_OMIT_REPLY = 0x2 + ETHTOOL_FLAG_STATS = 0x4 ETHTOOL_A_HEADER_UNSPEC = 0x0 ETHTOOL_A_HEADER_DEV_INDEX = 0x1 ETHTOOL_A_HEADER_DEV_NAME = 0x2 @@ -3965,7 +3979,7 @@ const ( ETHTOOL_A_TSINFO_TX_TYPES = 0x3 ETHTOOL_A_TSINFO_RX_FILTERS = 0x4 ETHTOOL_A_TSINFO_PHC_INDEX = 0x5 - ETHTOOL_A_TSINFO_MAX = 0x5 + ETHTOOL_A_TSINFO_MAX = 0x6 ETHTOOL_A_CABLE_TEST_UNSPEC = 0x0 ETHTOOL_A_CABLE_TEST_HEADER = 0x1 ETHTOOL_A_CABLE_TEST_MAX = 0x1 @@ -4595,7 +4609,7 @@ const ( NL80211_ATTR_MAC_HINT = 0xc8 NL80211_ATTR_MAC_MASK = 0xd7 NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca - NL80211_ATTR_MAX = 0x146 + NL80211_ATTR_MAX = 0x14a NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4 NL80211_ATTR_MAX_CSA_COUNTERS = 0xce NL80211_ATTR_MAX_MATCH_SETS = 0x85 @@ -4861,7 +4875,7 @@ const ( NL80211_BSS_FREQUENCY_OFFSET = 0x14 NL80211_BSS_INFORMATION_ELEMENTS = 0x6 NL80211_BSS_LAST_SEEN_BOOTTIME = 0xf - NL80211_BSS_MAX = 0x16 + NL80211_BSS_MAX = 0x18 NL80211_BSS_MLD_ADDR = 0x16 NL80211_BSS_MLO_LINK_ID = 0x15 NL80211_BSS_PAD = 0x10 @@ -4965,7 +4979,7 @@ const ( NL80211_CMD_LEAVE_IBSS = 0x2c NL80211_CMD_LEAVE_MESH = 0x45 NL80211_CMD_LEAVE_OCB = 0x6d - NL80211_CMD_MAX = 0x9a + NL80211_CMD_MAX = 0x9b NL80211_CMD_MICHAEL_MIC_FAILURE = 0x29 NL80211_CMD_MODIFY_LINK_STA = 0x97 NL80211_CMD_NAN_MATCH = 0x78 @@ -5199,7 +5213,7 @@ const ( NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf - NL80211_FREQUENCY_ATTR_MAX = 0x1c + NL80211_FREQUENCY_ATTR_MAX = 0x20 NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6 NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11 NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc @@ -5693,7 +5707,7 @@ const ( NL80211_STA_FLAG_ASSOCIATED = 0x7 NL80211_STA_FLAG_AUTHENTICATED = 0x5 NL80211_STA_FLAG_AUTHORIZED = 0x1 - NL80211_STA_FLAG_MAX = 0x7 + NL80211_STA_FLAG_MAX = 0x8 NL80211_STA_FLAG_MAX_OLD_API = 0x6 NL80211_STA_FLAG_MFP = 0x4 NL80211_STA_FLAG_SHORT_PREAMBLE = 0x2 @@ -5991,3 +6005,34 @@ type CachestatRange struct { Off uint64 Len uint64 } + +const ( + SK_MEMINFO_RMEM_ALLOC = 0x0 + SK_MEMINFO_RCVBUF = 0x1 + SK_MEMINFO_WMEM_ALLOC = 0x2 + SK_MEMINFO_SNDBUF = 0x3 + SK_MEMINFO_FWD_ALLOC = 0x4 + SK_MEMINFO_WMEM_QUEUED = 0x5 + SK_MEMINFO_OPTMEM = 0x6 + SK_MEMINFO_BACKLOG = 0x7 + SK_MEMINFO_DROPS = 0x8 + SK_MEMINFO_VARS = 0x9 + SKNLGRP_NONE = 0x0 + SKNLGRP_INET_TCP_DESTROY = 0x1 + SKNLGRP_INET_UDP_DESTROY = 0x2 + SKNLGRP_INET6_TCP_DESTROY = 0x3 + SKNLGRP_INET6_UDP_DESTROY = 0x4 + SK_DIAG_BPF_STORAGE_REQ_NONE = 0x0 + SK_DIAG_BPF_STORAGE_REQ_MAP_FD = 0x1 + SK_DIAG_BPF_STORAGE_REP_NONE = 0x0 + SK_DIAG_BPF_STORAGE = 0x1 + SK_DIAG_BPF_STORAGE_NONE = 0x0 + SK_DIAG_BPF_STORAGE_PAD = 0x1 + SK_DIAG_BPF_STORAGE_MAP_ID = 0x2 + SK_DIAG_BPF_STORAGE_MAP_VALUE = 0x3 +) + +type SockDiagReq struct { + Family uint8 + Protocol uint8 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go index 438a30a..fd402da 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go @@ -477,14 +477,6 @@ const ( BLKPG = 0x1269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 -} - type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go index adceca3..eb7a5e1 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go @@ -492,15 +492,6 @@ const ( BLKPG = 0x1269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go index eeaa00a..d78ac10 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go @@ -470,15 +470,6 @@ const ( BLKPG = 0x1269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]uint8 Driver_name [64]uint8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go index 6739aa9..cd06d47 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go @@ -471,15 +471,6 @@ const ( BLKPG = 0x1269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go index 9920ef6..2f28fe2 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go @@ -472,15 +472,6 @@ const ( BLKPG = 0x1269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go index 2923b79..71d6cac 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go @@ -476,15 +476,6 @@ const ( BLKPG = 0x20001269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go index ce2750e..8596d45 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go @@ -474,15 +474,6 @@ const ( BLKPG = 0x20001269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go index 3038811..cd60ea1 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go @@ -474,15 +474,6 @@ const ( BLKPG = 0x20001269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go index efc6fed..b0ae420 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go @@ -476,15 +476,6 @@ const ( BLKPG = 0x20001269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go index 9a654b7..8359728 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go @@ -482,15 +482,6 @@ const ( BLKPG = 0x20001269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]uint8 Driver_name [64]uint8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go index 40d358e..69eb6a5 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go @@ -481,15 +481,6 @@ const ( BLKPG = 0x20001269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]uint8 Driver_name [64]uint8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go index 148c6ce..5f583cb 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go @@ -481,15 +481,6 @@ const ( BLKPG = 0x20001269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]uint8 Driver_name [64]uint8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go index 72ba815..15adc04 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go @@ -499,15 +499,6 @@ const ( BLKPG = 0x1269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]uint8 Driver_name [64]uint8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go index 71e7655..cf3ce90 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go @@ -495,15 +495,6 @@ const ( BLKPG = 0x1269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go index 4abbdb9..590b567 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go @@ -476,15 +476,6 @@ const ( BLKPG = 0x20001269 ) -type XDPUmemReg struct { - Addr uint64 - Len uint64 - Size uint32 - Headroom uint32 - Flags uint32 - _ [4]byte -} - type CryptoUserAlg struct { Name [64]int8 Driver_name [64]int8 diff --git a/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go index 54f31be..d9a13af 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +++ b/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go @@ -25,10 +25,13 @@ const ( SizeofIPv6Mreq = 20 SizeofICMPv6Filter = 32 SizeofIPv6MTUInfo = 32 + SizeofInet4Pktinfo = 8 + SizeofInet6Pktinfo = 20 SizeofLinger = 8 SizeofSockaddrInet4 = 16 SizeofSockaddrInet6 = 28 SizeofTCPInfo = 0x68 + SizeofUcred = 12 ) type ( @@ -69,12 +72,17 @@ type Utimbuf struct { } type Utsname struct { - Sysname [65]byte - Nodename [65]byte - Release [65]byte - Version [65]byte - Machine [65]byte - Domainname [65]byte + Sysname [16]byte + Nodename [32]byte + Release [8]byte + Version [8]byte + Machine [16]byte +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 } type RawSockaddrInet4 struct { @@ -325,7 +333,7 @@ type Statvfs_t struct { } type Statfs_t struct { - Type uint32 + Type uint64 Bsize uint64 Blocks uint64 Bfree uint64 @@ -336,6 +344,7 @@ type Statfs_t struct { Namelen uint64 Frsize uint64 Flags uint64 + _ [4]uint64 } type direntLE struct { @@ -412,3 +421,126 @@ type W_Mntent struct { Quiesceowner [8]byte _ [38]byte } + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 + Name string +} + +const ( + SizeofInotifyEvent = 0x10 +) + +type ConsMsg2 struct { + Cm2Format uint16 + Cm2R1 uint16 + Cm2Msglength uint32 + Cm2Msg *byte + Cm2R2 [4]byte + Cm2R3 [4]byte + Cm2Routcde *uint32 + Cm2Descr *uint32 + Cm2Msgflag uint32 + Cm2Token uint32 + Cm2Msgid *uint32 + Cm2R4 [4]byte + Cm2DomToken uint32 + Cm2DomMsgid *uint32 + Cm2ModCartptr *byte + Cm2ModConsidptr *byte + Cm2MsgCart [8]byte + Cm2MsgConsid [4]byte + Cm2R5 [12]byte +} + +const ( + CC_modify = 1 + CC_stop = 2 + CONSOLE_FORMAT_2 = 2 + CONSOLE_FORMAT_3 = 3 + CONSOLE_HRDCPY = 0x80000000 +) + +type OpenHow struct { + Flags uint64 + Mode uint64 + Resolve uint64 +} + +const SizeofOpenHow = 0x18 + +const ( + RESOLVE_CACHED = 0x20 + RESOLVE_BENEATH = 0x8 + RESOLVE_IN_ROOT = 0x10 + RESOLVE_NO_MAGICLINKS = 0x2 + RESOLVE_NO_SYMLINKS = 0x4 + RESOLVE_NO_XDEV = 0x1 +) + +type Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + _ [44]byte +} + +type SysvIpcPerm struct { + Uid uint32 + Gid uint32 + Cuid uint32 + Cgid uint32 + Mode int32 +} + +type SysvShmDesc struct { + Perm SysvIpcPerm + _ [4]byte + Lpid int32 + Cpid int32 + Nattch uint32 + _ [4]byte + _ [4]byte + _ [4]byte + _ int32 + _ uint8 + _ uint8 + _ uint16 + _ *byte + Segsz uint64 + Atime Time_t + Dtime Time_t + Ctime Time_t +} + +type SysvShmDesc64 struct { + Perm SysvIpcPerm + _ [4]byte + Lpid int32 + Cpid int32 + Nattch uint32 + _ [4]byte + _ [4]byte + _ [4]byte + _ int32 + _ byte + _ uint8 + _ uint16 + _ *byte + Segsz uint64 + Atime int64 + Dtime int64 + Ctime int64 +} diff --git a/vendor/golang.org/x/sys/windows/aliases.go b/vendor/golang.org/x/sys/windows/aliases.go index ce2d713..16f9056 100644 --- a/vendor/golang.org/x/sys/windows/aliases.go +++ b/vendor/golang.org/x/sys/windows/aliases.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build windows && go1.9 +//go:build windows package windows diff --git a/vendor/golang.org/x/sys/windows/empty.s b/vendor/golang.org/x/sys/windows/empty.s deleted file mode 100644 index ba64cac..0000000 --- a/vendor/golang.org/x/sys/windows/empty.s +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2019 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build !go1.12 - -// This file is here to allow bodyless functions with go:linkname for Go 1.11 -// and earlier (see https://golang.org/issue/23311). diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go index 26be94a..b6e1ab7 100644 --- a/vendor/golang.org/x/sys/windows/security_windows.go +++ b/vendor/golang.org/x/sys/windows/security_windows.go @@ -68,6 +68,7 @@ type UserInfo10 struct { //sys NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) = netapi32.NetUserGetInfo //sys NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) = netapi32.NetGetJoinInformation //sys NetApiBufferFree(buf *byte) (neterr error) = netapi32.NetApiBufferFree +//sys NetUserEnum(serverName *uint16, level uint32, filter uint32, buf **byte, prefMaxLen uint32, entriesRead *uint32, totalEntries *uint32, resumeHandle *uint32) (neterr error) = netapi32.NetUserEnum const ( // do not reorder @@ -893,7 +894,7 @@ type ACL struct { aclRevision byte sbz1 byte aclSize uint16 - aceCount uint16 + AceCount uint16 sbz2 uint16 } @@ -1086,6 +1087,27 @@ type EXPLICIT_ACCESS struct { Trustee TRUSTEE } +// https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-ace_header +type ACE_HEADER struct { + AceType uint8 + AceFlags uint8 + AceSize uint16 +} + +// https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-access_allowed_ace +type ACCESS_ALLOWED_ACE struct { + Header ACE_HEADER + Mask ACCESS_MASK + SidStart uint32 +} + +const ( + // Constants for AceType + // https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-ace_header + ACCESS_ALLOWED_ACE_TYPE = 0 + ACCESS_DENIED_ACE_TYPE = 1 +) + // This type is the union inside of TRUSTEE and must be created using one of the TrusteeValueFrom* functions. type TrusteeValue uintptr @@ -1157,6 +1179,7 @@ type OBJECTS_AND_NAME struct { //sys makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) = advapi32.MakeSelfRelativeSD //sys setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) = advapi32.SetEntriesInAclW +//sys GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (err error) = advapi32.GetAce // Control returns the security descriptor control bits. func (sd *SECURITY_DESCRIPTOR) Control() (control SECURITY_DESCRIPTOR_CONTROL, revision uint32, err error) { diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index 6395a03..1fa34fd 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -17,8 +17,10 @@ import ( "unsafe" ) -type Handle uintptr -type HWND uintptr +type ( + Handle uintptr + HWND uintptr +) const ( InvalidHandle = ^Handle(0) @@ -165,6 +167,7 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) [failretval==InvalidHandle] = CreateFileW //sys CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances uint32, outSize uint32, inSize uint32, defaultTimeout uint32, sa *SecurityAttributes) (handle Handle, err error) [failretval==InvalidHandle] = CreateNamedPipeW //sys ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error) +//sys DisconnectNamedPipe(pipe Handle) (err error) //sys GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) //sys GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) = GetNamedPipeHandleStateW //sys SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) = SetNamedPipeHandleState @@ -210,6 +213,10 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) //sys ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) [failretval<=32] = shell32.ShellExecuteW //sys GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) = user32.GetWindowThreadProcessId +//sys LoadKeyboardLayout(name *uint16, flags uint32) (hkl Handle, err error) [failretval==0] = user32.LoadKeyboardLayoutW +//sys UnloadKeyboardLayout(hkl Handle) (err error) = user32.UnloadKeyboardLayout +//sys GetKeyboardLayout(tid uint32) (hkl Handle) = user32.GetKeyboardLayout +//sys ToUnicodeEx(vkey uint32, scancode uint32, keystate *byte, pwszBuff *uint16, cchBuff int32, flags uint32, hkl Handle) (ret int32) = user32.ToUnicodeEx //sys GetShellWindow() (shellWindow HWND) = user32.GetShellWindow //sys MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) [failretval==0] = user32.MessageBoxW //sys ExitWindowsEx(flags uint32, reason uint32) (err error) = user32.ExitWindowsEx @@ -348,8 +355,19 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys SetProcessPriorityBoost(process Handle, disable bool) (err error) = kernel32.SetProcessPriorityBoost //sys GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintptr, lpMaximumWorkingSetSize *uintptr, flags *uint32) //sys SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) +//sys ClearCommBreak(handle Handle) (err error) +//sys ClearCommError(handle Handle, lpErrors *uint32, lpStat *ComStat) (err error) +//sys EscapeCommFunction(handle Handle, dwFunc uint32) (err error) +//sys GetCommState(handle Handle, lpDCB *DCB) (err error) +//sys GetCommModemStatus(handle Handle, lpModemStat *uint32) (err error) //sys GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) +//sys PurgeComm(handle Handle, dwFlags uint32) (err error) +//sys SetCommBreak(handle Handle) (err error) +//sys SetCommMask(handle Handle, dwEvtMask uint32) (err error) +//sys SetCommState(handle Handle, lpDCB *DCB) (err error) //sys SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) +//sys SetupComm(handle Handle, dwInQueue uint32, dwOutQueue uint32) (err error) +//sys WaitCommEvent(handle Handle, lpEvtMask *uint32, lpOverlapped *Overlapped) (err error) //sys GetActiveProcessorCount(groupNumber uint16) (ret uint32) //sys GetMaximumProcessorCount(groupNumber uint16) (ret uint32) //sys EnumWindows(enumFunc uintptr, param unsafe.Pointer) (err error) = user32.EnumWindows @@ -1356,9 +1374,11 @@ func SetsockoptLinger(fd Handle, level, opt int, l *Linger) (err error) { func SetsockoptInet4Addr(fd Handle, level, opt int, value [4]byte) (err error) { return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&value[0])), 4) } + func SetsockoptIPMreq(fd Handle, level, opt int, mreq *IPMreq) (err error) { return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(mreq)), int32(unsafe.Sizeof(*mreq))) } + func SetsockoptIPv6Mreq(fd Handle, level, opt int, mreq *IPv6Mreq) (err error) { return syscall.EWINDOWS } @@ -1834,3 +1854,73 @@ func ResizePseudoConsole(pconsole Handle, size Coord) error { // accept arguments that can be casted to uintptr, and Coord can't. return resizePseudoConsole(pconsole, *((*uint32)(unsafe.Pointer(&size)))) } + +// DCB constants. See https://learn.microsoft.com/en-us/windows/win32/api/winbase/ns-winbase-dcb. +const ( + CBR_110 = 110 + CBR_300 = 300 + CBR_600 = 600 + CBR_1200 = 1200 + CBR_2400 = 2400 + CBR_4800 = 4800 + CBR_9600 = 9600 + CBR_14400 = 14400 + CBR_19200 = 19200 + CBR_38400 = 38400 + CBR_57600 = 57600 + CBR_115200 = 115200 + CBR_128000 = 128000 + CBR_256000 = 256000 + + DTR_CONTROL_DISABLE = 0x00000000 + DTR_CONTROL_ENABLE = 0x00000010 + DTR_CONTROL_HANDSHAKE = 0x00000020 + + RTS_CONTROL_DISABLE = 0x00000000 + RTS_CONTROL_ENABLE = 0x00001000 + RTS_CONTROL_HANDSHAKE = 0x00002000 + RTS_CONTROL_TOGGLE = 0x00003000 + + NOPARITY = 0 + ODDPARITY = 1 + EVENPARITY = 2 + MARKPARITY = 3 + SPACEPARITY = 4 + + ONESTOPBIT = 0 + ONE5STOPBITS = 1 + TWOSTOPBITS = 2 +) + +// EscapeCommFunction constants. See https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-escapecommfunction. +const ( + SETXOFF = 1 + SETXON = 2 + SETRTS = 3 + CLRRTS = 4 + SETDTR = 5 + CLRDTR = 6 + SETBREAK = 8 + CLRBREAK = 9 +) + +// PurgeComm constants. See https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-purgecomm. +const ( + PURGE_TXABORT = 0x0001 + PURGE_RXABORT = 0x0002 + PURGE_TXCLEAR = 0x0004 + PURGE_RXCLEAR = 0x0008 +) + +// SetCommMask constants. See https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setcommmask. +const ( + EV_RXCHAR = 0x0001 + EV_RXFLAG = 0x0002 + EV_TXEMPTY = 0x0004 + EV_CTS = 0x0008 + EV_DSR = 0x0010 + EV_RLSD = 0x0020 + EV_BREAK = 0x0040 + EV_ERR = 0x0080 + EV_RING = 0x0100 +) diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index 359780f..3f03b3d 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -2003,7 +2003,21 @@ const ( MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x20 ) -const GAA_FLAG_INCLUDE_PREFIX = 0x00000010 +// Flags for GetAdaptersAddresses, see +// https://learn.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getadaptersaddresses. +const ( + GAA_FLAG_SKIP_UNICAST = 0x1 + GAA_FLAG_SKIP_ANYCAST = 0x2 + GAA_FLAG_SKIP_MULTICAST = 0x4 + GAA_FLAG_SKIP_DNS_SERVER = 0x8 + GAA_FLAG_INCLUDE_PREFIX = 0x10 + GAA_FLAG_SKIP_FRIENDLY_NAME = 0x20 + GAA_FLAG_INCLUDE_WINS_INFO = 0x40 + GAA_FLAG_INCLUDE_GATEWAYS = 0x80 + GAA_FLAG_INCLUDE_ALL_INTERFACES = 0x100 + GAA_FLAG_INCLUDE_ALL_COMPARTMENTS = 0x200 + GAA_FLAG_INCLUDE_TUNNEL_BINDINGORDER = 0x400 +) const ( IF_TYPE_OTHER = 1 @@ -2017,6 +2031,50 @@ const ( IF_TYPE_IEEE1394 = 144 ) +// Enum NL_PREFIX_ORIGIN for [IpAdapterUnicastAddress], see +// https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_prefix_origin +const ( + IpPrefixOriginOther = 0 + IpPrefixOriginManual = 1 + IpPrefixOriginWellKnown = 2 + IpPrefixOriginDhcp = 3 + IpPrefixOriginRouterAdvertisement = 4 + IpPrefixOriginUnchanged = 1 << 4 +) + +// Enum NL_SUFFIX_ORIGIN for [IpAdapterUnicastAddress], see +// https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_suffix_origin +const ( + NlsoOther = 0 + NlsoManual = 1 + NlsoWellKnown = 2 + NlsoDhcp = 3 + NlsoLinkLayerAddress = 4 + NlsoRandom = 5 + IpSuffixOriginOther = 0 + IpSuffixOriginManual = 1 + IpSuffixOriginWellKnown = 2 + IpSuffixOriginDhcp = 3 + IpSuffixOriginLinkLayerAddress = 4 + IpSuffixOriginRandom = 5 + IpSuffixOriginUnchanged = 1 << 4 +) + +// Enum NL_DAD_STATE for [IpAdapterUnicastAddress], see +// https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_dad_state +const ( + NldsInvalid = 0 + NldsTentative = 1 + NldsDuplicate = 2 + NldsDeprecated = 3 + NldsPreferred = 4 + IpDadStateInvalid = 0 + IpDadStateTentative = 1 + IpDadStateDuplicate = 2 + IpDadStateDeprecated = 3 + IpDadStatePreferred = 4 +) + type SocketAddress struct { Sockaddr *syscall.RawSockaddrAny SockaddrLength int32 @@ -3380,3 +3438,38 @@ type BLOB struct { Size uint32 BlobData *byte } + +type ComStat struct { + Flags uint32 + CBInQue uint32 + CBOutQue uint32 +} + +type DCB struct { + DCBlength uint32 + BaudRate uint32 + Flags uint32 + wReserved uint16 + XonLim uint16 + XoffLim uint16 + ByteSize uint8 + Parity uint8 + StopBits uint8 + XonChar byte + XoffChar byte + ErrorChar byte + EofChar byte + EvtChar byte + wReserved1 uint16 +} + +// Keyboard Layout Flags. +// See https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-loadkeyboardlayoutw +const ( + KLF_ACTIVATE = 0x00000001 + KLF_SUBSTITUTE_OK = 0x00000002 + KLF_REORDER = 0x00000008 + KLF_REPLACELANG = 0x00000010 + KLF_NOTELLSHELL = 0x00000080 + KLF_SETFORPROCESS = 0x00000100 +) diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index e8791c8..9bb979a 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -91,6 +91,7 @@ var ( procEnumServicesStatusExW = modadvapi32.NewProc("EnumServicesStatusExW") procEqualSid = modadvapi32.NewProc("EqualSid") procFreeSid = modadvapi32.NewProc("FreeSid") + procGetAce = modadvapi32.NewProc("GetAce") procGetLengthSid = modadvapi32.NewProc("GetLengthSid") procGetNamedSecurityInfoW = modadvapi32.NewProc("GetNamedSecurityInfoW") procGetSecurityDescriptorControl = modadvapi32.NewProc("GetSecurityDescriptorControl") @@ -188,6 +189,8 @@ var ( procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject") procCancelIo = modkernel32.NewProc("CancelIo") procCancelIoEx = modkernel32.NewProc("CancelIoEx") + procClearCommBreak = modkernel32.NewProc("ClearCommBreak") + procClearCommError = modkernel32.NewProc("ClearCommError") procCloseHandle = modkernel32.NewProc("CloseHandle") procClosePseudoConsole = modkernel32.NewProc("ClosePseudoConsole") procConnectNamedPipe = modkernel32.NewProc("ConnectNamedPipe") @@ -212,7 +215,9 @@ var ( procDeleteProcThreadAttributeList = modkernel32.NewProc("DeleteProcThreadAttributeList") procDeleteVolumeMountPointW = modkernel32.NewProc("DeleteVolumeMountPointW") procDeviceIoControl = modkernel32.NewProc("DeviceIoControl") + procDisconnectNamedPipe = modkernel32.NewProc("DisconnectNamedPipe") procDuplicateHandle = modkernel32.NewProc("DuplicateHandle") + procEscapeCommFunction = modkernel32.NewProc("EscapeCommFunction") procExitProcess = modkernel32.NewProc("ExitProcess") procExpandEnvironmentStringsW = modkernel32.NewProc("ExpandEnvironmentStringsW") procFindClose = modkernel32.NewProc("FindClose") @@ -236,6 +241,8 @@ var ( procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent") procGetACP = modkernel32.NewProc("GetACP") procGetActiveProcessorCount = modkernel32.NewProc("GetActiveProcessorCount") + procGetCommModemStatus = modkernel32.NewProc("GetCommModemStatus") + procGetCommState = modkernel32.NewProc("GetCommState") procGetCommTimeouts = modkernel32.NewProc("GetCommTimeouts") procGetCommandLineW = modkernel32.NewProc("GetCommandLineW") procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW") @@ -322,6 +329,7 @@ var ( procProcess32NextW = modkernel32.NewProc("Process32NextW") procProcessIdToSessionId = modkernel32.NewProc("ProcessIdToSessionId") procPulseEvent = modkernel32.NewProc("PulseEvent") + procPurgeComm = modkernel32.NewProc("PurgeComm") procQueryDosDeviceW = modkernel32.NewProc("QueryDosDeviceW") procQueryFullProcessImageNameW = modkernel32.NewProc("QueryFullProcessImageNameW") procQueryInformationJobObject = modkernel32.NewProc("QueryInformationJobObject") @@ -335,6 +343,9 @@ var ( procResetEvent = modkernel32.NewProc("ResetEvent") procResizePseudoConsole = modkernel32.NewProc("ResizePseudoConsole") procResumeThread = modkernel32.NewProc("ResumeThread") + procSetCommBreak = modkernel32.NewProc("SetCommBreak") + procSetCommMask = modkernel32.NewProc("SetCommMask") + procSetCommState = modkernel32.NewProc("SetCommState") procSetCommTimeouts = modkernel32.NewProc("SetCommTimeouts") procSetConsoleCursorPosition = modkernel32.NewProc("SetConsoleCursorPosition") procSetConsoleMode = modkernel32.NewProc("SetConsoleMode") @@ -342,7 +353,6 @@ var ( procSetDefaultDllDirectories = modkernel32.NewProc("SetDefaultDllDirectories") procSetDllDirectoryW = modkernel32.NewProc("SetDllDirectoryW") procSetEndOfFile = modkernel32.NewProc("SetEndOfFile") - procSetFileValidData = modkernel32.NewProc("SetFileValidData") procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW") procSetErrorMode = modkernel32.NewProc("SetErrorMode") procSetEvent = modkernel32.NewProc("SetEvent") @@ -351,6 +361,7 @@ var ( procSetFileInformationByHandle = modkernel32.NewProc("SetFileInformationByHandle") procSetFilePointer = modkernel32.NewProc("SetFilePointer") procSetFileTime = modkernel32.NewProc("SetFileTime") + procSetFileValidData = modkernel32.NewProc("SetFileValidData") procSetHandleInformation = modkernel32.NewProc("SetHandleInformation") procSetInformationJobObject = modkernel32.NewProc("SetInformationJobObject") procSetNamedPipeHandleState = modkernel32.NewProc("SetNamedPipeHandleState") @@ -361,6 +372,7 @@ var ( procSetStdHandle = modkernel32.NewProc("SetStdHandle") procSetVolumeLabelW = modkernel32.NewProc("SetVolumeLabelW") procSetVolumeMountPointW = modkernel32.NewProc("SetVolumeMountPointW") + procSetupComm = modkernel32.NewProc("SetupComm") procSizeofResource = modkernel32.NewProc("SizeofResource") procSleepEx = modkernel32.NewProc("SleepEx") procTerminateJobObject = modkernel32.NewProc("TerminateJobObject") @@ -379,6 +391,7 @@ var ( procVirtualQueryEx = modkernel32.NewProc("VirtualQueryEx") procVirtualUnlock = modkernel32.NewProc("VirtualUnlock") procWTSGetActiveConsoleSessionId = modkernel32.NewProc("WTSGetActiveConsoleSessionId") + procWaitCommEvent = modkernel32.NewProc("WaitCommEvent") procWaitForMultipleObjects = modkernel32.NewProc("WaitForMultipleObjects") procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject") procWriteConsoleW = modkernel32.NewProc("WriteConsoleW") @@ -389,6 +402,7 @@ var ( procTransmitFile = modmswsock.NewProc("TransmitFile") procNetApiBufferFree = modnetapi32.NewProc("NetApiBufferFree") procNetGetJoinInformation = modnetapi32.NewProc("NetGetJoinInformation") + procNetUserEnum = modnetapi32.NewProc("NetUserEnum") procNetUserGetInfo = modnetapi32.NewProc("NetUserGetInfo") procNtCreateFile = modntdll.NewProc("NtCreateFile") procNtCreateNamedPipeFile = modntdll.NewProc("NtCreateNamedPipeFile") @@ -464,12 +478,16 @@ var ( procGetDesktopWindow = moduser32.NewProc("GetDesktopWindow") procGetForegroundWindow = moduser32.NewProc("GetForegroundWindow") procGetGUIThreadInfo = moduser32.NewProc("GetGUIThreadInfo") + procGetKeyboardLayout = moduser32.NewProc("GetKeyboardLayout") procGetShellWindow = moduser32.NewProc("GetShellWindow") procGetWindowThreadProcessId = moduser32.NewProc("GetWindowThreadProcessId") procIsWindow = moduser32.NewProc("IsWindow") procIsWindowUnicode = moduser32.NewProc("IsWindowUnicode") procIsWindowVisible = moduser32.NewProc("IsWindowVisible") + procLoadKeyboardLayoutW = moduser32.NewProc("LoadKeyboardLayoutW") procMessageBoxW = moduser32.NewProc("MessageBoxW") + procToUnicodeEx = moduser32.NewProc("ToUnicodeEx") + procUnloadKeyboardLayout = moduser32.NewProc("UnloadKeyboardLayout") procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock") procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock") procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") @@ -775,6 +793,14 @@ func FreeSid(sid *SID) (err error) { return } +func GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (err error) { + r1, _, e1 := syscall.Syscall(procGetAce.Addr(), 3, uintptr(unsafe.Pointer(acl)), uintptr(aceIndex), uintptr(unsafe.Pointer(pAce))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func GetLengthSid(sid *SID) (len uint32) { r0, _, _ := syscall.Syscall(procGetLengthSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) len = uint32(r0) @@ -1641,6 +1667,22 @@ func CancelIoEx(s Handle, o *Overlapped) (err error) { return } +func ClearCommBreak(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procClearCommBreak.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func ClearCommError(handle Handle, lpErrors *uint32, lpStat *ComStat) (err error) { + r1, _, e1 := syscall.Syscall(procClearCommError.Addr(), 3, uintptr(handle), uintptr(unsafe.Pointer(lpErrors)), uintptr(unsafe.Pointer(lpStat))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func CloseHandle(handle Handle) (err error) { r1, _, e1 := syscall.Syscall(procCloseHandle.Addr(), 1, uintptr(handle), 0, 0) if r1 == 0 { @@ -1845,6 +1887,14 @@ func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBuff return } +func DisconnectNamedPipe(pipe Handle) (err error) { + r1, _, e1 := syscall.Syscall(procDisconnectNamedPipe.Addr(), 1, uintptr(pipe), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) { var _p0 uint32 if bInheritHandle { @@ -1857,6 +1907,14 @@ func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetP return } +func EscapeCommFunction(handle Handle, dwFunc uint32) (err error) { + r1, _, e1 := syscall.Syscall(procEscapeCommFunction.Addr(), 2, uintptr(handle), uintptr(dwFunc), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func ExitProcess(exitcode uint32) { syscall.Syscall(procExitProcess.Addr(), 1, uintptr(exitcode), 0, 0) return @@ -2058,6 +2116,22 @@ func GetActiveProcessorCount(groupNumber uint16) (ret uint32) { return } +func GetCommModemStatus(handle Handle, lpModemStat *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetCommModemStatus.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(lpModemStat)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func GetCommState(handle Handle, lpDCB *DCB) (err error) { + r1, _, e1 := syscall.Syscall(procGetCommState.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(lpDCB)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { r1, _, e1 := syscall.Syscall(procGetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0) if r1 == 0 { @@ -2810,6 +2884,14 @@ func PulseEvent(event Handle) (err error) { return } +func PurgeComm(handle Handle, dwFlags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procPurgeComm.Addr(), 2, uintptr(handle), uintptr(dwFlags), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) { r0, _, e1 := syscall.Syscall(procQueryDosDeviceW.Addr(), 3, uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)), uintptr(max)) n = uint32(r0) @@ -2924,6 +3006,30 @@ func ResumeThread(thread Handle) (ret uint32, err error) { return } +func SetCommBreak(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procSetCommBreak.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetCommMask(handle Handle, dwEvtMask uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetCommMask.Addr(), 2, uintptr(handle), uintptr(dwEvtMask), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + +func SetCommState(handle Handle, lpDCB *DCB) (err error) { + r1, _, e1 := syscall.Syscall(procSetCommState.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(lpDCB)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { r1, _, e1 := syscall.Syscall(procSetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0) if r1 == 0 { @@ -2989,14 +3095,6 @@ func SetEndOfFile(handle Handle) (err error) { return } -func SetFileValidData(handle Handle, validDataLength int64) (err error) { - r1, _, e1 := syscall.Syscall(procSetFileValidData.Addr(), 2, uintptr(handle), uintptr(validDataLength), 0) - if r1 == 0 { - err = errnoErr(e1) - } - return -} - func SetEnvironmentVariable(name *uint16, value *uint16) (err error) { r1, _, e1 := syscall.Syscall(procSetEnvironmentVariableW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), 0) if r1 == 0 { @@ -3060,6 +3158,14 @@ func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetim return } +func SetFileValidData(handle Handle, validDataLength int64) (err error) { + r1, _, e1 := syscall.Syscall(procSetFileValidData.Addr(), 2, uintptr(handle), uintptr(validDataLength), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetHandleInformation.Addr(), 3, uintptr(handle), uintptr(mask), uintptr(flags)) if r1 == 0 { @@ -3145,6 +3251,14 @@ func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err erro return } +func SetupComm(handle Handle, dwInQueue uint32, dwOutQueue uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetupComm.Addr(), 3, uintptr(handle), uintptr(dwInQueue), uintptr(dwOutQueue)) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func SizeofResource(module Handle, resInfo Handle) (size uint32, err error) { r0, _, e1 := syscall.Syscall(procSizeofResource.Addr(), 2, uintptr(module), uintptr(resInfo), 0) size = uint32(r0) @@ -3291,6 +3405,14 @@ func WTSGetActiveConsoleSessionId() (sessionID uint32) { return } +func WaitCommEvent(handle Handle, lpEvtMask *uint32, lpOverlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall(procWaitCommEvent.Addr(), 3, uintptr(handle), uintptr(unsafe.Pointer(lpEvtMask)), uintptr(unsafe.Pointer(lpOverlapped))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { var _p0 uint32 if waitAll { @@ -3378,6 +3500,14 @@ func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (nete return } +func NetUserEnum(serverName *uint16, level uint32, filter uint32, buf **byte, prefMaxLen uint32, entriesRead *uint32, totalEntries *uint32, resumeHandle *uint32) (neterr error) { + r0, _, _ := syscall.Syscall9(procNetUserEnum.Addr(), 8, uintptr(unsafe.Pointer(serverName)), uintptr(level), uintptr(filter), uintptr(unsafe.Pointer(buf)), uintptr(prefMaxLen), uintptr(unsafe.Pointer(entriesRead)), uintptr(unsafe.Pointer(totalEntries)), uintptr(unsafe.Pointer(resumeHandle)), 0) + if r0 != 0 { + neterr = syscall.Errno(r0) + } + return +} + func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) { r0, _, _ := syscall.Syscall6(procNetUserGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf)), 0, 0) if r0 != 0 { @@ -3956,6 +4086,12 @@ func GetGUIThreadInfo(thread uint32, info *GUIThreadInfo) (err error) { return } +func GetKeyboardLayout(tid uint32) (hkl Handle) { + r0, _, _ := syscall.Syscall(procGetKeyboardLayout.Addr(), 1, uintptr(tid), 0, 0) + hkl = Handle(r0) + return +} + func GetShellWindow() (shellWindow HWND) { r0, _, _ := syscall.Syscall(procGetShellWindow.Addr(), 0, 0, 0, 0) shellWindow = HWND(r0) @@ -3989,6 +4125,15 @@ func IsWindowVisible(hwnd HWND) (isVisible bool) { return } +func LoadKeyboardLayout(name *uint16, flags uint32) (hkl Handle, err error) { + r0, _, e1 := syscall.Syscall(procLoadKeyboardLayoutW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(flags), 0) + hkl = Handle(r0) + if hkl == 0 { + err = errnoErr(e1) + } + return +} + func MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) { r0, _, e1 := syscall.Syscall6(procMessageBoxW.Addr(), 4, uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype), 0, 0) ret = int32(r0) @@ -3998,6 +4143,20 @@ func MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret i return } +func ToUnicodeEx(vkey uint32, scancode uint32, keystate *byte, pwszBuff *uint16, cchBuff int32, flags uint32, hkl Handle) (ret int32) { + r0, _, _ := syscall.Syscall9(procToUnicodeEx.Addr(), 7, uintptr(vkey), uintptr(scancode), uintptr(unsafe.Pointer(keystate)), uintptr(unsafe.Pointer(pwszBuff)), uintptr(cchBuff), uintptr(flags), uintptr(hkl), 0, 0) + ret = int32(r0) + return +} + +func UnloadKeyboardLayout(hkl Handle) (err error) { + r1, _, e1 := syscall.Syscall(procUnloadKeyboardLayout.Addr(), 1, uintptr(hkl), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) { var _p0 uint32 if inheritExisting { diff --git a/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go b/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go index 03543bd..137cc8d 100644 --- a/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go +++ b/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go @@ -47,7 +47,7 @@ import ( func Find(importPath, srcDir string) (filename, path string) { cmd := exec.Command("go", "list", "-json", "-export", "--", importPath) cmd.Dir = srcDir - out, err := cmd.CombinedOutput() + out, err := cmd.Output() if err != nil { return "", "" } diff --git a/vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go b/vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go index 333676b..c6e7c0d 100644 --- a/vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go +++ b/vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go @@ -13,6 +13,7 @@ import ( "golang.org/x/tools/internal/gocommand" ) +// TODO(adonovan): move back into go/packages. func GetSizesForArgsGolist(ctx context.Context, inv gocommand.Invocation, gocmdRunner *gocommand.Runner) (string, string, error) { inv.Verb = "list" inv.Args = []string{"-f", "{{context.GOARCH}} {{context.Compiler}}", "--", "unsafe"} diff --git a/vendor/golang.org/x/tools/go/packages/doc.go b/vendor/golang.org/x/tools/go/packages/doc.go index b2a0b7c..3531ac8 100644 --- a/vendor/golang.org/x/tools/go/packages/doc.go +++ b/vendor/golang.org/x/tools/go/packages/doc.go @@ -15,22 +15,10 @@ Load passes most patterns directly to the underlying build tool. The default build tool is the go command. Its supported patterns are described at https://pkg.go.dev/cmd/go#hdr-Package_lists_and_patterns. +Other build systems may be supported by providing a "driver"; +see [The driver protocol]. -Load may be used in Go projects that use alternative build systems, by -installing an appropriate "driver" program for the build system and -specifying its location in the GOPACKAGESDRIVER environment variable. -For example, -https://github.com/bazelbuild/rules_go/wiki/Editor-and-tool-integration -explains how to use the driver for Bazel. -The driver program is responsible for interpreting patterns in its -preferred notation and reporting information about the packages that -they identify. -(See driverRequest and driverResponse types for the JSON -schema used by the protocol. -Though the protocol is supported, these types are currently unexported; -see #64608 for a proposal to publish them.) - -Regardless of driver, all patterns with the prefix "query=", where query is a +All patterns with the prefix "query=", where query is a non-empty string of letters from [a-z], are reserved and may be interpreted as query operators. @@ -86,7 +74,29 @@ for details. Most tools should pass their command-line arguments (after any flags) uninterpreted to [Load], so that it can interpret them according to the conventions of the underlying build system. + See the Example function for typical usage. + +# The driver protocol + +[Load] may be used to load Go packages even in Go projects that use +alternative build systems, by installing an appropriate "driver" +program for the build system and specifying its location in the +GOPACKAGESDRIVER environment variable. +For example, +https://github.com/bazelbuild/rules_go/wiki/Editor-and-tool-integration +explains how to use the driver for Bazel. + +The driver program is responsible for interpreting patterns in its +preferred notation and reporting information about the packages that +those patterns identify. Drivers must also support the special "file=" +and "pattern=" patterns described above. + +The patterns are provided as positional command-line arguments. A +JSON-encoded [DriverRequest] message providing additional information +is written to the driver's standard input. The driver must write a +JSON-encoded [DriverResponse] message to its standard output. (This +message differs from the JSON schema produced by 'go list'.) */ package packages // import "golang.org/x/tools/go/packages" @@ -188,14 +198,6 @@ Instead, ssadump no longer requests the runtime package, but seeks it among the dependencies of the user-specified packages, and emits an error if it is not found. -Overlays: The Overlay field in the Config allows providing alternate contents -for Go source files, by providing a mapping from file path to contents. -go/packages will pull in new imports added in overlay files when go/packages -is run in LoadImports mode or greater. -Overlay support for the go list driver isn't complete yet: if the file doesn't -exist on disk, it will only be recognized in an overlay if it is a non-test file -and the package would be reported even without the overlay. - Questions & Tasks - Add GOARCH/GOOS? diff --git a/vendor/golang.org/x/tools/go/packages/external.go b/vendor/golang.org/x/tools/go/packages/external.go index 7db1d12..c2b4b71 100644 --- a/vendor/golang.org/x/tools/go/packages/external.go +++ b/vendor/golang.org/x/tools/go/packages/external.go @@ -2,12 +2,11 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// This file enables an external tool to intercept package requests. -// If the tool is present then its results are used in preference to -// the go list command. - package packages +// This file defines the protocol that enables an external "driver" +// tool to supply package metadata in place of 'go list'. + import ( "bytes" "encoding/json" @@ -17,31 +16,71 @@ import ( "strings" ) -// The Driver Protocol +// DriverRequest defines the schema of a request for package metadata +// from an external driver program. The JSON-encoded DriverRequest +// message is provided to the driver program's standard input. The +// query patterns are provided as command-line arguments. // -// The driver, given the inputs to a call to Load, returns metadata about the packages specified. -// This allows for different build systems to support go/packages by telling go/packages how the -// packages' source is organized. -// The driver is a binary, either specified by the GOPACKAGESDRIVER environment variable or in -// the path as gopackagesdriver. It's given the inputs to load in its argv. See the package -// documentation in doc.go for the full description of the patterns that need to be supported. -// A driver receives as a JSON-serialized driverRequest struct in standard input and will -// produce a JSON-serialized driverResponse (see definition in packages.go) in its standard output. - -// driverRequest is used to provide the portion of Load's Config that is needed by a driver. -type driverRequest struct { +// See the package documentation for an overview. +type DriverRequest struct { Mode LoadMode `json:"mode"` + // Env specifies the environment the underlying build system should be run in. Env []string `json:"env"` + // BuildFlags are flags that should be passed to the underlying build system. BuildFlags []string `json:"build_flags"` + // Tests specifies whether the patterns should also return test packages. Tests bool `json:"tests"` - // Overlay maps file paths (relative to the driver's working directory) to the byte contents - // of overlay files. + + // Overlay maps file paths (relative to the driver's working directory) + // to the contents of overlay files (see Config.Overlay). Overlay map[string][]byte `json:"overlay"` } +// DriverResponse defines the schema of a response from an external +// driver program, providing the results of a query for package +// metadata. The driver program must write a JSON-encoded +// DriverResponse message to its standard output. +// +// See the package documentation for an overview. +type DriverResponse struct { + // NotHandled is returned if the request can't be handled by the current + // driver. If an external driver returns a response with NotHandled, the + // rest of the DriverResponse is ignored, and go/packages will fallback + // to the next driver. If go/packages is extended in the future to support + // lists of multiple drivers, go/packages will fall back to the next driver. + NotHandled bool + + // Compiler and Arch are the arguments pass of types.SizesFor + // to get a types.Sizes to use when type checking. + Compiler string + Arch string + + // Roots is the set of package IDs that make up the root packages. + // We have to encode this separately because when we encode a single package + // we cannot know if it is one of the roots as that requires knowledge of the + // graph it is part of. + Roots []string `json:",omitempty"` + + // Packages is the full set of packages in the graph. + // The packages are not connected into a graph. + // The Imports if populated will be stubs that only have their ID set. + // Imports will be connected and then type and syntax information added in a + // later pass (see refine). + Packages []*Package + + // GoVersion is the minor version number used by the driver + // (e.g. the go command on the PATH) when selecting .go files. + // Zero means unknown. + GoVersion int +} + +// driver is the type for functions that query the build system for the +// packages named by the patterns. +type driver func(cfg *Config, patterns ...string) (*DriverResponse, error) + // findExternalDriver returns the file path of a tool that supplies // the build system package structure, or "" if not found." // If GOPACKAGESDRIVER is set in the environment findExternalTool returns its @@ -64,8 +103,8 @@ func findExternalDriver(cfg *Config) driver { return nil } } - return func(cfg *Config, words ...string) (*driverResponse, error) { - req, err := json.Marshal(driverRequest{ + return func(cfg *Config, words ...string) (*DriverResponse, error) { + req, err := json.Marshal(DriverRequest{ Mode: cfg.Mode, Env: cfg.Env, BuildFlags: cfg.BuildFlags, @@ -80,7 +119,19 @@ func findExternalDriver(cfg *Config) driver { stderr := new(bytes.Buffer) cmd := exec.CommandContext(cfg.Context, tool, words...) cmd.Dir = cfg.Dir - cmd.Env = cfg.Env + // The cwd gets resolved to the real path. On Darwin, where + // /tmp is a symlink, this breaks anything that expects the + // working directory to keep the original path, including the + // go command when dealing with modules. + // + // os.Getwd stdlib has a special feature where if the + // cwd and the PWD are the same node then it trusts + // the PWD, so by setting it in the env for the child + // process we fix up all the paths returned by the go + // command. + // + // (See similar trick in Invocation.run in ../../internal/gocommand/invoke.go) + cmd.Env = append(slicesClip(cfg.Env), "PWD="+cfg.Dir) cmd.Stdin = bytes.NewReader(req) cmd.Stdout = buf cmd.Stderr = stderr @@ -92,10 +143,14 @@ func findExternalDriver(cfg *Config) driver { fmt.Fprintf(os.Stderr, "%s stderr: <<%s>>\n", cmdDebugStr(cmd), stderr) } - var response driverResponse + var response DriverResponse if err := json.Unmarshal(buf.Bytes(), &response); err != nil { return nil, err } return &response, nil } } + +// slicesClip removes unused capacity from the slice, returning s[:len(s):len(s)]. +// TODO(adonovan): use go1.21 slices.Clip. +func slicesClip[S ~[]E, E any](s S) S { return s[:len(s):len(s)] } diff --git a/vendor/golang.org/x/tools/go/packages/golist.go b/vendor/golang.org/x/tools/go/packages/golist.go index cd375fb..d9be410 100644 --- a/vendor/golang.org/x/tools/go/packages/golist.go +++ b/vendor/golang.org/x/tools/go/packages/golist.go @@ -35,23 +35,23 @@ type goTooOldError struct { error } -// responseDeduper wraps a driverResponse, deduplicating its contents. +// responseDeduper wraps a DriverResponse, deduplicating its contents. type responseDeduper struct { seenRoots map[string]bool seenPackages map[string]*Package - dr *driverResponse + dr *DriverResponse } func newDeduper() *responseDeduper { return &responseDeduper{ - dr: &driverResponse{}, + dr: &DriverResponse{}, seenRoots: map[string]bool{}, seenPackages: map[string]*Package{}, } } -// addAll fills in r with a driverResponse. -func (r *responseDeduper) addAll(dr *driverResponse) { +// addAll fills in r with a DriverResponse. +func (r *responseDeduper) addAll(dr *DriverResponse) { for _, pkg := range dr.Packages { r.addPackage(pkg) } @@ -128,7 +128,7 @@ func (state *golistState) mustGetEnv() map[string]string { // goListDriver uses the go list command to interpret the patterns and produce // the build system package structure. // See driver for more details. -func goListDriver(cfg *Config, patterns ...string) (*driverResponse, error) { +func goListDriver(cfg *Config, patterns ...string) (_ *DriverResponse, err error) { // Make sure that any asynchronous go commands are killed when we return. parentCtx := cfg.Context if parentCtx == nil { @@ -146,16 +146,18 @@ func goListDriver(cfg *Config, patterns ...string) (*driverResponse, error) { } // Fill in response.Sizes asynchronously if necessary. - var sizeserr error - var sizeswg sync.WaitGroup if cfg.Mode&NeedTypesSizes != 0 || cfg.Mode&NeedTypes != 0 { - sizeswg.Add(1) + errCh := make(chan error) go func() { compiler, arch, err := packagesdriver.GetSizesForArgsGolist(ctx, state.cfgInvocation(), cfg.gocmdRunner) - sizeserr = err response.dr.Compiler = compiler response.dr.Arch = arch - sizeswg.Done() + errCh <- err + }() + defer func() { + if sizesErr := <-errCh; sizesErr != nil { + err = sizesErr + } }() } @@ -208,10 +210,7 @@ extractQueries: } } - sizeswg.Wait() - if sizeserr != nil { - return nil, sizeserr - } + // (We may yet return an error due to defer.) return response.dr, nil } @@ -266,7 +265,7 @@ func (state *golistState) runContainsQueries(response *responseDeduper, queries // adhocPackage attempts to load or construct an ad-hoc package for a given // query, if the original call to the driver produced inadequate results. -func (state *golistState) adhocPackage(pattern, query string) (*driverResponse, error) { +func (state *golistState) adhocPackage(pattern, query string) (*DriverResponse, error) { response, err := state.createDriverResponse(query) if err != nil { return nil, err @@ -357,7 +356,7 @@ func otherFiles(p *jsonPackage) [][]string { // createDriverResponse uses the "go list" command to expand the pattern // words and return a response for the specified packages. -func (state *golistState) createDriverResponse(words ...string) (*driverResponse, error) { +func (state *golistState) createDriverResponse(words ...string) (*DriverResponse, error) { // go list uses the following identifiers in ImportPath and Imports: // // "p" -- importable package or main (command) @@ -384,7 +383,7 @@ func (state *golistState) createDriverResponse(words ...string) (*driverResponse pkgs := make(map[string]*Package) additionalErrors := make(map[string][]Error) // Decode the JSON and convert it to Package form. - response := &driverResponse{ + response := &DriverResponse{ GoVersion: goVersion, } for dec := json.NewDecoder(buf); dec.More(); { @@ -842,6 +841,7 @@ func (state *golistState) cfgInvocation() gocommand.Invocation { Env: cfg.Env, Logf: cfg.Logf, WorkingDir: cfg.Dir, + Overlay: cfg.goListOverlayFile, } } @@ -850,26 +850,6 @@ func (state *golistState) invokeGo(verb string, args ...string) (*bytes.Buffer, cfg := state.cfg inv := state.cfgInvocation() - - // For Go versions 1.16 and above, `go list` accepts overlays directly via - // the -overlay flag. Set it, if it's available. - // - // The check for "list" is not necessarily required, but we should avoid - // getting the go version if possible. - if verb == "list" { - goVersion, err := state.getGoVersion() - if err != nil { - return nil, err - } - if goVersion >= 16 { - filename, cleanup, err := state.writeOverlays() - if err != nil { - return nil, err - } - defer cleanup() - inv.Overlay = filename - } - } inv.Verb = verb inv.Args = args gocmdRunner := cfg.gocmdRunner @@ -1016,67 +996,6 @@ func (state *golistState) invokeGo(verb string, args ...string) (*bytes.Buffer, return stdout, nil } -// OverlayJSON is the format overlay files are expected to be in. -// The Replace map maps from overlaid paths to replacement paths: -// the Go command will forward all reads trying to open -// each overlaid path to its replacement path, or consider the overlaid -// path not to exist if the replacement path is empty. -// -// From golang/go#39958. -type OverlayJSON struct { - Replace map[string]string `json:"replace,omitempty"` -} - -// writeOverlays writes out files for go list's -overlay flag, as described -// above. -func (state *golistState) writeOverlays() (filename string, cleanup func(), err error) { - // Do nothing if there are no overlays in the config. - if len(state.cfg.Overlay) == 0 { - return "", func() {}, nil - } - dir, err := os.MkdirTemp("", "gopackages-*") - if err != nil { - return "", nil, err - } - // The caller must clean up this directory, unless this function returns an - // error. - cleanup = func() { - os.RemoveAll(dir) - } - defer func() { - if err != nil { - cleanup() - } - }() - overlays := map[string]string{} - for k, v := range state.cfg.Overlay { - // Create a unique filename for the overlaid files, to avoid - // creating nested directories. - noSeparator := strings.Join(strings.Split(filepath.ToSlash(k), "/"), "") - f, err := os.CreateTemp(dir, fmt.Sprintf("*-%s", noSeparator)) - if err != nil { - return "", func() {}, err - } - if _, err := f.Write(v); err != nil { - return "", func() {}, err - } - if err := f.Close(); err != nil { - return "", func() {}, err - } - overlays[k] = f.Name() - } - b, err := json.Marshal(OverlayJSON{Replace: overlays}) - if err != nil { - return "", func() {}, err - } - // Write out the overlay file that contains the filepath mappings. - filename = filepath.Join(dir, "overlay.json") - if err := os.WriteFile(filename, b, 0665); err != nil { - return "", func() {}, err - } - return filename, cleanup, nil -} - func containsGoFile(s []string) bool { for _, f := range s { if strings.HasSuffix(f, ".go") { diff --git a/vendor/golang.org/x/tools/go/packages/packages.go b/vendor/golang.org/x/tools/go/packages/packages.go index 81e9e6a..34306dd 100644 --- a/vendor/golang.org/x/tools/go/packages/packages.go +++ b/vendor/golang.org/x/tools/go/packages/packages.go @@ -9,6 +9,7 @@ package packages import ( "context" "encoding/json" + "errors" "fmt" "go/ast" "go/parser" @@ -24,6 +25,8 @@ import ( "sync" "time" + "golang.org/x/sync/errgroup" + "golang.org/x/tools/go/gcexportdata" "golang.org/x/tools/internal/gocommand" "golang.org/x/tools/internal/packagesinternal" @@ -34,10 +37,20 @@ import ( // A LoadMode controls the amount of detail to return when loading. // The bits below can be combined to specify which fields should be // filled in the result packages. +// // The zero value is a special case, equivalent to combining // the NeedName, NeedFiles, and NeedCompiledGoFiles bits. +// // ID and Errors (if present) will always be filled. -// Load may return more information than requested. +// [Load] may return more information than requested. +// +// Unfortunately there are a number of open bugs related to +// interactions among the LoadMode bits: +// - https://github.com/golang/go/issues/48226 +// - https://github.com/golang/go/issues/56633 +// - https://github.com/golang/go/issues/56677 +// - https://github.com/golang/go/issues/58726 +// - https://github.com/golang/go/issues/63517 type LoadMode int const ( @@ -120,15 +133,21 @@ const ( // A Config specifies details about how packages should be loaded. // The zero value is a valid configuration. +// // Calls to Load do not modify this struct. +// +// TODO(adonovan): #67702: this is currently false: in fact, +// calls to [Load] do not modify the public fields of this struct, but +// may modify hidden fields, so concurrent calls to [Load] must not +// use the same Config. But perhaps we should reestablish the +// documented invariant. type Config struct { // Mode controls the level of information returned for each package. Mode LoadMode // Context specifies the context for the load operation. - // If the context is cancelled, the loader may stop early - // and return an ErrCancelled error. - // If Context is nil, the load cannot be cancelled. + // Cancelling the context may cause [Load] to abort and + // return an error. Context context.Context // Logf is the logger for the config. @@ -197,50 +216,23 @@ type Config struct { // setting Tests may have no effect. Tests bool - // Overlay provides a mapping of absolute file paths to file contents. - // If the file with the given path already exists, the parser will use the - // alternative file contents provided by the map. + // Overlay is a mapping from absolute file paths to file contents. + // + // For each map entry, [Load] uses the alternative file + // contents provided by the overlay mapping instead of reading + // from the file system. This mechanism can be used to enable + // editor-integrated tools to correctly analyze the contents + // of modified but unsaved buffers, for example. // - // Overlays provide incomplete support for when a given file doesn't - // already exist on disk. See the package doc above for more details. + // The overlay mapping is passed to the build system's driver + // (see "The driver protocol") so that it too can report + // consistent package metadata about unsaved files. However, + // drivers may vary in their level of support for overlays. Overlay map[string][]byte -} -// driver is the type for functions that query the build system for the -// packages named by the patterns. -type driver func(cfg *Config, patterns ...string) (*driverResponse, error) - -// driverResponse contains the results for a driver query. -type driverResponse struct { - // NotHandled is returned if the request can't be handled by the current - // driver. If an external driver returns a response with NotHandled, the - // rest of the driverResponse is ignored, and go/packages will fallback - // to the next driver. If go/packages is extended in the future to support - // lists of multiple drivers, go/packages will fall back to the next driver. - NotHandled bool - - // Compiler and Arch are the arguments pass of types.SizesFor - // to get a types.Sizes to use when type checking. - Compiler string - Arch string - - // Roots is the set of package IDs that make up the root packages. - // We have to encode this separately because when we encode a single package - // we cannot know if it is one of the roots as that requires knowledge of the - // graph it is part of. - Roots []string `json:",omitempty"` - - // Packages is the full set of packages in the graph. - // The packages are not connected into a graph. - // The Imports if populated will be stubs that only have their ID set. - // Imports will be connected and then type and syntax information added in a - // later pass (see refine). - Packages []*Package - - // GoVersion is the minor version number used by the driver - // (e.g. the go command on the PATH) when selecting .go files. - // Zero means unknown. - GoVersion int + // goListOverlayFile is the JSON file that encodes the Overlay + // mapping, used by 'go list -overlay=...' + goListOverlayFile string } // Load loads and returns the Go packages named by the given patterns. @@ -248,8 +240,22 @@ type driverResponse struct { // Config specifies loading options; // nil behaves the same as an empty Config. // -// Load returns an error if any of the patterns was invalid -// as defined by the underlying build system. +// The [Config.Mode] field is a set of bits that determine what kinds +// of information should be computed and returned. Modes that require +// more information tend to be slower. See [LoadMode] for details +// and important caveats. Its zero value is equivalent to +// NeedName | NeedFiles | NeedCompiledGoFiles. +// +// Each call to Load returns a new set of [Package] instances. +// The Packages and their Imports form a directed acyclic graph. +// +// If the [NeedTypes] mode flag was set, each call to Load uses a new +// [types.Importer], so [types.Object] and [types.Type] values from +// different calls to Load must not be mixed as they will have +// inconsistent notions of type identity. +// +// If any of the patterns was invalid as defined by the +// underlying build system, Load returns an error. // It may return an empty list of packages without an error, // for instance for an empty expansion of a valid wildcard. // Errors associated with a particular package are recorded in the @@ -291,9 +297,28 @@ func Load(cfg *Config, patterns ...string) ([]*Package, error) { // no external driver, or the driver returns a response with NotHandled set, // defaultDriver will fall back to the go list driver. // The boolean result indicates that an external driver handled the request. -func defaultDriver(cfg *Config, patterns ...string) (*driverResponse, bool, error) { +func defaultDriver(cfg *Config, patterns ...string) (*DriverResponse, bool, error) { + const ( + // windowsArgMax specifies the maximum command line length for + // the Windows' CreateProcess function. + windowsArgMax = 32767 + // maxEnvSize is a very rough estimation of the maximum environment + // size of a user. + maxEnvSize = 16384 + // safeArgMax specifies the maximum safe command line length to use + // by the underlying driver excl. the environment. We choose the Windows' + // ARG_MAX as the starting point because it's one of the lowest ARG_MAX + // constants out of the different supported platforms, + // e.g., https://www.in-ulm.de/~mascheck/various/argmax/#results. + safeArgMax = windowsArgMax - maxEnvSize + ) + chunks, err := splitIntoChunks(patterns, safeArgMax) + if err != nil { + return nil, false, err + } + if driver := findExternalDriver(cfg); driver != nil { - response, err := driver(cfg, patterns...) + response, err := callDriverOnChunks(driver, cfg, chunks) if err != nil { return nil, false, err } else if !response.NotHandled { @@ -302,11 +327,99 @@ func defaultDriver(cfg *Config, patterns ...string) (*driverResponse, bool, erro // (fall through) } - response, err := goListDriver(cfg, patterns...) + // go list fallback + // + // Write overlays once, as there are many calls + // to 'go list' (one per chunk plus others too). + overlay, cleanupOverlay, err := gocommand.WriteOverlays(cfg.Overlay) + if err != nil { + return nil, false, err + } + defer cleanupOverlay() + cfg.goListOverlayFile = overlay + + response, err := callDriverOnChunks(goListDriver, cfg, chunks) + if err != nil { + return nil, false, err + } return response, false, err } +// splitIntoChunks chunks the slice so that the total number of characters +// in a chunk is no longer than argMax. +func splitIntoChunks(patterns []string, argMax int) ([][]string, error) { + if argMax <= 0 { + return nil, errors.New("failed to split patterns into chunks, negative safe argMax value") + } + var chunks [][]string + charsInChunk := 0 + nextChunkStart := 0 + for i, v := range patterns { + vChars := len(v) + if vChars > argMax { + // a single pattern is longer than the maximum safe ARG_MAX, hardly should happen + return nil, errors.New("failed to split patterns into chunks, a pattern is too long") + } + charsInChunk += vChars + 1 // +1 is for a whitespace between patterns that has to be counted too + if charsInChunk > argMax { + chunks = append(chunks, patterns[nextChunkStart:i]) + nextChunkStart = i + charsInChunk = vChars + } + } + // add the last chunk + if nextChunkStart < len(patterns) { + chunks = append(chunks, patterns[nextChunkStart:]) + } + return chunks, nil +} + +func callDriverOnChunks(driver driver, cfg *Config, chunks [][]string) (*DriverResponse, error) { + if len(chunks) == 0 { + return driver(cfg) + } + responses := make([]*DriverResponse, len(chunks)) + errNotHandled := errors.New("driver returned NotHandled") + var g errgroup.Group + for i, chunk := range chunks { + i := i + chunk := chunk + g.Go(func() (err error) { + responses[i], err = driver(cfg, chunk...) + if responses[i] != nil && responses[i].NotHandled { + err = errNotHandled + } + return err + }) + } + if err := g.Wait(); err != nil { + if errors.Is(err, errNotHandled) { + return &DriverResponse{NotHandled: true}, nil + } + return nil, err + } + return mergeResponses(responses...), nil +} + +func mergeResponses(responses ...*DriverResponse) *DriverResponse { + if len(responses) == 0 { + return nil + } + response := newDeduper() + response.dr.NotHandled = false + response.dr.Compiler = responses[0].Compiler + response.dr.Arch = responses[0].Arch + response.dr.GoVersion = responses[0].GoVersion + for _, v := range responses { + response.addAll(v) + } + return response.dr +} + // A Package describes a loaded Go package. +// +// It also defines part of the JSON schema of [DriverResponse]. +// See the package documentation for an overview. type Package struct { // ID is a unique identifier for a package, // in a syntax provided by the underlying build system. @@ -365,19 +478,30 @@ type Package struct { // to corresponding loaded Packages. Imports map[string]*Package + // Module is the module information for the package if it exists. + // + // Note: it may be missing for std and cmd; see Go issue #65816. + Module *Module + + // -- The following fields are not part of the driver JSON schema. -- + // Types provides type information for the package. // The NeedTypes LoadMode bit sets this field for packages matching the // patterns; type information for dependencies may be missing or incomplete, // unless NeedDeps and NeedImports are also set. - Types *types.Package + // + // Each call to [Load] returns a consistent set of type + // symbols, as defined by the comment at [types.Identical]. + // Avoid mixing type information from two or more calls to [Load]. + Types *types.Package `json:"-"` // Fset provides position information for Types, TypesInfo, and Syntax. // It is set only when Types is set. - Fset *token.FileSet + Fset *token.FileSet `json:"-"` // IllTyped indicates whether the package or any dependency contains errors. // It is set only when Types is set. - IllTyped bool + IllTyped bool `json:"-"` // Syntax is the package's syntax trees, for the files listed in CompiledGoFiles. // @@ -387,26 +511,28 @@ type Package struct { // // Syntax is kept in the same order as CompiledGoFiles, with the caveat that nils are // removed. If parsing returned nil, Syntax may be shorter than CompiledGoFiles. - Syntax []*ast.File + Syntax []*ast.File `json:"-"` // TypesInfo provides type information about the package's syntax trees. // It is set only when Syntax is set. - TypesInfo *types.Info + TypesInfo *types.Info `json:"-"` // TypesSizes provides the effective size function for types in TypesInfo. - TypesSizes types.Sizes + TypesSizes types.Sizes `json:"-"` + + // -- internal -- // forTest is the package under test, if any. forTest string // depsErrors is the DepsErrors field from the go list response, if any. depsErrors []*packagesinternal.PackageError - - // module is the module information for the package if it exists. - Module *Module } // Module provides module information for a package. +// +// It also defines part of the JSON schema of [DriverResponse]. +// See the package documentation for an overview. type Module struct { Path string // module path Version string // module version @@ -539,6 +665,7 @@ func (p *Package) UnmarshalJSON(b []byte) error { OtherFiles: flat.OtherFiles, EmbedFiles: flat.EmbedFiles, EmbedPatterns: flat.EmbedPatterns, + IgnoredFiles: flat.IgnoredFiles, ExportFile: flat.ExportFile, } if len(flat.Imports) > 0 { @@ -648,7 +775,7 @@ func newLoader(cfg *Config) *loader { // refine connects the supplied packages into a graph and then adds type // and syntax information as requested by the LoadMode. -func (ld *loader) refine(response *driverResponse) ([]*Package, error) { +func (ld *loader) refine(response *DriverResponse) ([]*Package, error) { roots := response.Roots rootMap := make(map[string]int, len(roots)) for i, root := range roots { @@ -795,6 +922,12 @@ func (ld *loader) refine(response *driverResponse) ([]*Package, error) { wg.Wait() } + // If the context is done, return its error and + // throw out [likely] incomplete packages. + if err := ld.Context.Err(); err != nil { + return nil, err + } + result := make([]*Package, len(initial)) for i, lpkg := range initial { result[i] = lpkg.Package @@ -890,6 +1023,14 @@ func (ld *loader) loadPackage(lpkg *loaderPackage) { lpkg.Types = types.NewPackage(lpkg.PkgPath, lpkg.Name) lpkg.Fset = ld.Fset + // Start shutting down if the context is done and do not load + // source or export data files. + // Packages that import this one will have ld.Context.Err() != nil. + // ld.Context.Err() will be returned later by refine. + if ld.Context.Err() != nil { + return + } + // Subtle: we populate all Types fields with an empty Package // before loading export data so that export data processing // never has to create a types.Package for an indirect dependency, @@ -1009,6 +1150,13 @@ func (ld *loader) loadPackage(lpkg *loaderPackage) { return } + // Start shutting down if the context is done and do not type check. + // Packages that import this one will have ld.Context.Err() != nil. + // ld.Context.Err() will be returned later by refine. + if ld.Context.Err() != nil { + return + } + lpkg.TypesInfo = &types.Info{ Types: make(map[ast.Expr]types.TypeAndValue), Defs: make(map[*ast.Ident]types.Object), @@ -1059,7 +1207,7 @@ func (ld *loader) loadPackage(lpkg *loaderPackage) { Sizes: ld.sizes, // may be nil } if lpkg.Module != nil && lpkg.Module.GoVersion != "" { - typesinternal.SetGoVersion(tc, "go"+lpkg.Module.GoVersion) + tc.GoVersion = "go" + lpkg.Module.GoVersion } if (ld.Mode & typecheckCgo) != 0 { if !typesinternal.SetUsesCgo(tc) { @@ -1070,10 +1218,24 @@ func (ld *loader) loadPackage(lpkg *loaderPackage) { return } } - types.NewChecker(tc, ld.Fset, lpkg.Types, lpkg.TypesInfo).Files(lpkg.Syntax) + typErr := types.NewChecker(tc, ld.Fset, lpkg.Types, lpkg.TypesInfo).Files(lpkg.Syntax) lpkg.importErrors = nil // no longer needed + // In go/types go1.21 and go1.22, Checker.Files failed fast with a + // a "too new" error, without calling tc.Error and without + // proceeding to type-check the package (#66525). + // We rely on the runtimeVersion error to give the suggested remedy. + if typErr != nil && len(lpkg.Errors) == 0 && len(lpkg.Syntax) > 0 { + if msg := typErr.Error(); strings.HasPrefix(msg, "package requires newer Go version") { + appendError(types.Error{ + Fset: ld.Fset, + Pos: lpkg.Syntax[0].Package, + Msg: msg, + }) + } + } + // If !Cgo, the type-checker uses FakeImportC mode, so // it doesn't invoke the importer for import "C", // nor report an error for the import, @@ -1095,6 +1257,12 @@ func (ld *loader) loadPackage(lpkg *loaderPackage) { } } + // If types.Checker.Files had an error that was unreported, + // make sure to report the unknown error so the package is illTyped. + if typErr != nil && len(lpkg.Errors) == 0 { + appendError(typErr) + } + // Record accumulated errors. illTyped := len(lpkg.Errors) > 0 if !illTyped { @@ -1166,11 +1334,6 @@ func (ld *loader) parseFiles(filenames []string) ([]*ast.File, []error) { parsed := make([]*ast.File, n) errors := make([]error, n) for i, file := range filenames { - if ld.Config.Context.Err() != nil { - parsed[i] = nil - errors[i] = ld.Config.Context.Err() - continue - } wg.Add(1) go func(i int, filename string) { parsed[i], errors[i] = ld.parseFile(filename) diff --git a/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go b/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go index 11d5c8c..a2386c3 100644 --- a/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go +++ b/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go @@ -29,9 +29,12 @@ import ( "strconv" "strings" - "golang.org/x/tools/internal/typeparams" + "golang.org/x/tools/internal/aliases" + "golang.org/x/tools/internal/typesinternal" ) +// TODO(adonovan): think about generic aliases. + // A Path is an opaque name that identifies a types.Object // relative to its package. Conceptually, the name consists of a // sequence of destructuring operations applied to the package scope @@ -223,7 +226,7 @@ func (enc *Encoder) For(obj types.Object) (Path, error) { // Reject obviously non-viable cases. switch obj := obj.(type) { case *types.TypeName: - if _, ok := obj.Type().(*types.TypeParam); !ok { + if _, ok := aliases.Unalias(obj.Type()).(*types.TypeParam); !ok { // With the exception of type parameters, only package-level type names // have a path. return "", fmt.Errorf("no path for %v", obj) @@ -310,7 +313,7 @@ func (enc *Encoder) For(obj types.Object) (Path, error) { } // Inspect declared methods of defined types. - if T, ok := o.Type().(*types.Named); ok { + if T, ok := aliases.Unalias(o.Type()).(*types.Named); ok { path = append(path, opType) // The method index here is always with respect // to the underlying go/types data structures, @@ -391,17 +394,12 @@ func (enc *Encoder) concreteMethod(meth *types.Func) (Path, bool) { // of objectpath will only be giving us origin methods, anyway, as referring // to instantiated methods is usually not useful. - if typeparams.OriginMethod(meth) != meth { + if meth.Origin() != meth { return "", false } - recvT := meth.Type().(*types.Signature).Recv().Type() - if ptr, ok := recvT.(*types.Pointer); ok { - recvT = ptr.Elem() - } - - named, ok := recvT.(*types.Named) - if !ok { + _, named := typesinternal.ReceiverNamed(meth.Type().(*types.Signature).Recv()) + if named == nil { return "", false } @@ -444,6 +442,8 @@ func (enc *Encoder) concreteMethod(meth *types.Func) (Path, bool) { // nil, it will be allocated as necessary. func find(obj types.Object, T types.Type, path []byte, seen map[*types.TypeName]bool) []byte { switch T := T.(type) { + case *aliases.Alias: + return find(obj, aliases.Unalias(T), path, seen) case *types.Basic, *types.Named: // Named types belonging to pkg were handled already, // so T must belong to another package. No path. @@ -616,6 +616,7 @@ func Object(pkg *types.Package, p Path) (types.Object, error) { // Inv: t != nil, obj == nil + t = aliases.Unalias(t) switch code { case opElem: hasElem, ok := t.(hasElem) // Pointer, Slice, Array, Chan, Map diff --git a/vendor/golang.org/x/tools/internal/aliases/aliases.go b/vendor/golang.org/x/tools/internal/aliases/aliases.go new file mode 100644 index 0000000..c24c2ee --- /dev/null +++ b/vendor/golang.org/x/tools/internal/aliases/aliases.go @@ -0,0 +1,32 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package aliases + +import ( + "go/token" + "go/types" +) + +// Package aliases defines backward compatible shims +// for the types.Alias type representation added in 1.22. +// This defines placeholders for x/tools until 1.26. + +// NewAlias creates a new TypeName in Package pkg that +// is an alias for the type rhs. +// +// The enabled parameter determines whether the resulting [TypeName]'s +// type is an [types.Alias]. Its value must be the result of a call to +// [Enabled], which computes the effective value of +// GODEBUG=gotypesalias=... by invoking the type checker. The Enabled +// function is expensive and should be called once per task (e.g. +// package import), not once per call to NewAlias. +func NewAlias(enabled bool, pos token.Pos, pkg *types.Package, name string, rhs types.Type) *types.TypeName { + if enabled { + tname := types.NewTypeName(pos, pkg, name, nil) + newAlias(tname, rhs) + return tname + } + return types.NewTypeName(pos, pkg, name, rhs) +} diff --git a/vendor/golang.org/x/tools/internal/aliases/aliases_go121.go b/vendor/golang.org/x/tools/internal/aliases/aliases_go121.go new file mode 100644 index 0000000..c027b9f --- /dev/null +++ b/vendor/golang.org/x/tools/internal/aliases/aliases_go121.go @@ -0,0 +1,31 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !go1.22 +// +build !go1.22 + +package aliases + +import ( + "go/types" +) + +// Alias is a placeholder for a go/types.Alias for <=1.21. +// It will never be created by go/types. +type Alias struct{} + +func (*Alias) String() string { panic("unreachable") } +func (*Alias) Underlying() types.Type { panic("unreachable") } +func (*Alias) Obj() *types.TypeName { panic("unreachable") } +func Rhs(alias *Alias) types.Type { panic("unreachable") } + +// Unalias returns the type t for go <=1.21. +func Unalias(t types.Type) types.Type { return t } + +func newAlias(name *types.TypeName, rhs types.Type) *Alias { panic("unreachable") } + +// Enabled reports whether [NewAlias] should create [types.Alias] types. +// +// Before go1.22, this function always returns false. +func Enabled() bool { return false } diff --git a/vendor/golang.org/x/tools/internal/aliases/aliases_go122.go b/vendor/golang.org/x/tools/internal/aliases/aliases_go122.go new file mode 100644 index 0000000..b329954 --- /dev/null +++ b/vendor/golang.org/x/tools/internal/aliases/aliases_go122.go @@ -0,0 +1,63 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build go1.22 +// +build go1.22 + +package aliases + +import ( + "go/ast" + "go/parser" + "go/token" + "go/types" +) + +// Alias is an alias of types.Alias. +type Alias = types.Alias + +// Rhs returns the type on the right-hand side of the alias declaration. +func Rhs(alias *Alias) types.Type { + if alias, ok := any(alias).(interface{ Rhs() types.Type }); ok { + return alias.Rhs() // go1.23+ + } + + // go1.22's Alias didn't have the Rhs method, + // so Unalias is the best we can do. + return Unalias(alias) +} + +// Unalias is a wrapper of types.Unalias. +func Unalias(t types.Type) types.Type { return types.Unalias(t) } + +// newAlias is an internal alias around types.NewAlias. +// Direct usage is discouraged as the moment. +// Try to use NewAlias instead. +func newAlias(tname *types.TypeName, rhs types.Type) *Alias { + a := types.NewAlias(tname, rhs) + // TODO(go.dev/issue/65455): Remove kludgy workaround to set a.actual as a side-effect. + Unalias(a) + return a +} + +// Enabled reports whether [NewAlias] should create [types.Alias] types. +// +// This function is expensive! Call it sparingly. +func Enabled() bool { + // The only reliable way to compute the answer is to invoke go/types. + // We don't parse the GODEBUG environment variable, because + // (a) it's tricky to do so in a manner that is consistent + // with the godebug package; in particular, a simple + // substring check is not good enough. The value is a + // rightmost-wins list of options. But more importantly: + // (b) it is impossible to detect changes to the effective + // setting caused by os.Setenv("GODEBUG"), as happens in + // many tests. Therefore any attempt to cache the result + // is just incorrect. + fset := token.NewFileSet() + f, _ := parser.ParseFile(fset, "a.go", "package p; type A = int", 0) + pkg, _ := new(types.Config).Check("p", fset, []*ast.File{f}, nil) + _, enabled := pkg.Scope().Lookup("A").Type().(*types.Alias) + return enabled +} diff --git a/vendor/golang.org/x/tools/internal/event/tag/tag.go b/vendor/golang.org/x/tools/internal/event/tag/tag.go deleted file mode 100644 index 581b26c..0000000 --- a/vendor/golang.org/x/tools/internal/event/tag/tag.go +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2019 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package tag provides the labels used for telemetry throughout gopls. -package tag - -import ( - "golang.org/x/tools/internal/event/keys" -) - -var ( - // create the label keys we use - Method = keys.NewString("method", "") - StatusCode = keys.NewString("status.code", "") - StatusMessage = keys.NewString("status.message", "") - RPCID = keys.NewString("id", "") - RPCDirection = keys.NewString("direction", "") - File = keys.NewString("file", "") - Directory = keys.New("directory", "") - URI = keys.New("URI", "") - Package = keys.NewString("package", "") // sorted comma-separated list of Package IDs - PackagePath = keys.NewString("package_path", "") - Query = keys.New("query", "") - Snapshot = keys.NewUInt64("snapshot", "") - Operation = keys.NewString("operation", "") - - Position = keys.New("position", "") - Category = keys.NewString("category", "") - PackageCount = keys.NewInt("packages", "") - Files = keys.New("files", "") - Port = keys.NewInt("port", "") - Type = keys.New("type", "") - HoverKind = keys.NewString("hoverkind", "") - - NewServer = keys.NewString("new_server", "A new server was added") - EndServer = keys.NewString("end_server", "A server was shut down") - - ServerID = keys.NewString("server", "The server ID an event is related to") - Logfile = keys.NewString("logfile", "") - DebugAddress = keys.NewString("debug_address", "") - GoplsPath = keys.NewString("gopls_path", "") - ClientID = keys.NewString("client_id", "") - - Level = keys.NewInt("level", "The logging level") -) - -var ( - // create the stats we measure - Started = keys.NewInt64("started", "Count of started RPCs.") - ReceivedBytes = keys.NewInt64("received_bytes", "Bytes received.") //, unit.Bytes) - SentBytes = keys.NewInt64("sent_bytes", "Bytes sent.") //, unit.Bytes) - Latency = keys.NewFloat64("latency_ms", "Elapsed time in milliseconds") //, unit.Milliseconds) -) - -const ( - Inbound = "in" - Outbound = "out" -) diff --git a/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go b/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go index 2d078cc..39df911 100644 --- a/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go +++ b/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go @@ -259,13 +259,6 @@ func Import(packages map[string]*types.Package, path, srcDir string, lookup func return } -func deref(typ types.Type) types.Type { - if p, _ := typ.(*types.Pointer); p != nil { - return p.Elem() - } - return typ -} - type byPath []*types.Package func (a byPath) Len() int { return len(a) } diff --git a/vendor/golang.org/x/tools/internal/gcimporter/iexport.go b/vendor/golang.org/x/tools/internal/gcimporter/iexport.go index 2ee8c70..deeb67f 100644 --- a/vendor/golang.org/x/tools/internal/gcimporter/iexport.go +++ b/vendor/golang.org/x/tools/internal/gcimporter/iexport.go @@ -23,6 +23,7 @@ import ( "strings" "golang.org/x/tools/go/types/objectpath" + "golang.org/x/tools/internal/aliases" "golang.org/x/tools/internal/tokeninternal" ) @@ -463,7 +464,7 @@ func (p *iexporter) doDecl(obj types.Object) { switch obj := obj.(type) { case *types.Var: - w.tag('V') + w.tag(varTag) w.pos(obj.Pos()) w.typ(obj.Type(), obj.Pkg()) @@ -481,9 +482,9 @@ func (p *iexporter) doDecl(obj types.Object) { // Function. if sig.TypeParams().Len() == 0 { - w.tag('F') + w.tag(funcTag) } else { - w.tag('G') + w.tag(genericFuncTag) } w.pos(obj.Pos()) // The tparam list of the function type is the declaration of the type @@ -499,20 +500,20 @@ func (p *iexporter) doDecl(obj types.Object) { w.signature(sig) case *types.Const: - w.tag('C') + w.tag(constTag) w.pos(obj.Pos()) w.value(obj.Type(), obj.Val()) case *types.TypeName: t := obj.Type() - if tparam, ok := t.(*types.TypeParam); ok { - w.tag('P') + if tparam, ok := aliases.Unalias(t).(*types.TypeParam); ok { + w.tag(typeParamTag) w.pos(obj.Pos()) constraint := tparam.Constraint() if p.version >= iexportVersionGo1_18 { implicit := false - if iface, _ := constraint.(*types.Interface); iface != nil { + if iface, _ := aliases.Unalias(constraint).(*types.Interface); iface != nil { implicit = iface.IsImplicit() } w.bool(implicit) @@ -522,8 +523,13 @@ func (p *iexporter) doDecl(obj types.Object) { } if obj.IsAlias() { - w.tag('A') + w.tag(aliasTag) w.pos(obj.Pos()) + if alias, ok := t.(*aliases.Alias); ok { + // Preserve materialized aliases, + // even of non-exported types. + t = aliases.Rhs(alias) + } w.typ(t, obj.Pkg()) break } @@ -535,9 +541,9 @@ func (p *iexporter) doDecl(obj types.Object) { } if named.TypeParams().Len() == 0 { - w.tag('T') + w.tag(typeTag) } else { - w.tag('U') + w.tag(genericTypeTag) } w.pos(obj.Pos()) @@ -547,7 +553,7 @@ func (p *iexporter) doDecl(obj types.Object) { w.tparamList(obj.Name(), named.TypeParams(), obj.Pkg()) } - underlying := obj.Type().Underlying() + underlying := named.Underlying() w.typ(underlying, obj.Pkg()) if types.IsInterface(t) { @@ -738,6 +744,11 @@ func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) { }() } switch t := t.(type) { + case *aliases.Alias: + // TODO(adonovan): support parameterized aliases, following *types.Named. + w.startType(aliasType) + w.qualifiedType(t.Obj()) + case *types.Named: if targs := t.TypeArgs(); targs.Len() > 0 { w.startType(instanceType) @@ -843,7 +854,7 @@ func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) { for i := 0; i < n; i++ { ft := t.EmbeddedType(i) tPkg := pkg - if named, _ := ft.(*types.Named); named != nil { + if named, _ := aliases.Unalias(ft).(*types.Named); named != nil { w.pos(named.Obj().Pos()) } else { w.pos(token.NoPos) diff --git a/vendor/golang.org/x/tools/internal/gcimporter/iimport.go b/vendor/golang.org/x/tools/internal/gcimporter/iimport.go index 9bde15e..136aa03 100644 --- a/vendor/golang.org/x/tools/internal/gcimporter/iimport.go +++ b/vendor/golang.org/x/tools/internal/gcimporter/iimport.go @@ -22,6 +22,8 @@ import ( "strings" "golang.org/x/tools/go/types/objectpath" + "golang.org/x/tools/internal/aliases" + "golang.org/x/tools/internal/typesinternal" ) type intReader struct { @@ -78,6 +80,20 @@ const ( typeParamType instanceType unionType + aliasType +) + +// Object tags +const ( + varTag = 'V' + funcTag = 'F' + genericFuncTag = 'G' + constTag = 'C' + aliasTag = 'A' + genericAliasTag = 'B' + typeParamTag = 'P' + typeTag = 'T' + genericTypeTag = 'U' ) // IImportData imports a package from the serialized package data @@ -194,6 +210,7 @@ func iimportCommon(fset *token.FileSet, getPackages GetPackagesFunc, data []byte p := iimporter{ version: int(version), ipath: path, + aliases: aliases.Enabled(), shallow: shallow, reportf: reportf, @@ -224,6 +241,7 @@ func iimportCommon(fset *token.FileSet, getPackages GetPackagesFunc, data []byte // Gather the relevant packages from the manifest. items := make([]GetPackagesItem, r.uint64()) + uniquePkgPaths := make(map[string]bool) for i := range items { pkgPathOff := r.uint64() pkgPath := p.stringAt(pkgPathOff) @@ -248,6 +266,12 @@ func iimportCommon(fset *token.FileSet, getPackages GetPackagesFunc, data []byte } items[i].nameIndex = nameIndex + + uniquePkgPaths[pkgPath] = true + } + // Debugging #63822; hypothesis: there are duplicate PkgPaths. + if len(uniquePkgPaths) != len(items) { + reportf("found duplicate PkgPaths while reading export data manifest: %v", items) } // Request packages all at once from the client, @@ -315,7 +339,7 @@ func iimportCommon(fset *token.FileSet, getPackages GetPackagesFunc, data []byte } // SetConstraint can't be called if the constraint type is not yet complete. - // When type params are created in the 'P' case of (*importReader).obj(), + // When type params are created in the typeParamTag case of (*importReader).obj(), // the associated constraint type may not be complete due to recursion. // Therefore, we defer calling SetConstraint there, and call it here instead // after all types are complete. @@ -346,6 +370,7 @@ type iimporter struct { version int ipath string + aliases bool shallow bool reportf ReportFunc // if non-nil, used to report bugs @@ -515,7 +540,7 @@ func canReuse(def *types.Named, rhs types.Type) bool { if def == nil { return true } - iface, _ := rhs.(*types.Interface) + iface, _ := aliases.Unalias(rhs).(*types.Interface) if iface == nil { return true } @@ -537,25 +562,29 @@ func (r *importReader) obj(name string) { pos := r.pos() switch tag { - case 'A': + case aliasTag: typ := r.typ() - - r.declare(types.NewTypeName(pos, r.currPkg, name, typ)) - - case 'C': + // TODO(adonovan): support generic aliases: + // if tag == genericAliasTag { + // tparams := r.tparamList() + // alias.SetTypeParams(tparams) + // } + r.declare(aliases.NewAlias(r.p.aliases, pos, r.currPkg, name, typ)) + + case constTag: typ, val := r.value() r.declare(types.NewConst(pos, r.currPkg, name, typ, val)) - case 'F', 'G': + case funcTag, genericFuncTag: var tparams []*types.TypeParam - if tag == 'G' { + if tag == genericFuncTag { tparams = r.tparamList() } sig := r.signature(nil, nil, tparams) r.declare(types.NewFunc(pos, r.currPkg, name, sig)) - case 'T', 'U': + case typeTag, genericTypeTag: // Types can be recursive. We need to setup a stub // declaration before recursing. obj := types.NewTypeName(pos, r.currPkg, name, nil) @@ -563,7 +592,7 @@ func (r *importReader) obj(name string) { // Declare obj before calling r.tparamList, so the new type name is recognized // if used in the constraint of one of its own typeparams (see #48280). r.declare(obj) - if tag == 'U' { + if tag == genericTypeTag { tparams := r.tparamList() named.SetTypeParams(tparams) } @@ -580,14 +609,13 @@ func (r *importReader) obj(name string) { // If the receiver has any targs, set those as the // rparams of the method (since those are the // typeparams being used in the method sig/body). - base := baseType(recv.Type()) - assert(base != nil) - targs := base.TypeArgs() + _, recvNamed := typesinternal.ReceiverNamed(recv) + targs := recvNamed.TypeArgs() var rparams []*types.TypeParam if targs.Len() > 0 { rparams = make([]*types.TypeParam, targs.Len()) for i := range rparams { - rparams[i] = targs.At(i).(*types.TypeParam) + rparams[i] = aliases.Unalias(targs.At(i)).(*types.TypeParam) } } msig := r.signature(recv, rparams, nil) @@ -596,7 +624,7 @@ func (r *importReader) obj(name string) { } } - case 'P': + case typeParamTag: // We need to "declare" a typeparam in order to have a name that // can be referenced recursively (if needed) in the type param's // bound. @@ -617,7 +645,7 @@ func (r *importReader) obj(name string) { } constraint := r.typ() if implicit { - iface, _ := constraint.(*types.Interface) + iface, _ := aliases.Unalias(constraint).(*types.Interface) if iface == nil { errorf("non-interface constraint marked implicit") } @@ -629,7 +657,7 @@ func (r *importReader) obj(name string) { // completely set up all types in ImportData. r.p.later = append(r.p.later, setConstraintArgs{t: t, constraint: constraint}) - case 'V': + case varTag: typ := r.typ() r.declare(types.NewVar(pos, r.currPkg, name, typ)) @@ -824,7 +852,7 @@ func (r *importReader) typ() types.Type { } func isInterface(t types.Type) bool { - _, ok := t.(*types.Interface) + _, ok := aliases.Unalias(t).(*types.Interface) return ok } @@ -846,7 +874,7 @@ func (r *importReader) doType(base *types.Named) (res types.Type) { errorf("unexpected kind tag in %q: %v", r.p.ipath, k) return nil - case definedType: + case aliasType, definedType: pkg, name := r.qualifiedIdent() r.p.doDecl(pkg, name) return pkg.Scope().Lookup(name).(*types.TypeName).Type() @@ -1023,7 +1051,7 @@ func (r *importReader) tparamList() []*types.TypeParam { for i := range xs { // Note: the standard library importer is tolerant of nil types here, // though would panic in SetTypeParams. - xs[i] = r.typ().(*types.TypeParam) + xs[i] = aliases.Unalias(r.typ()).(*types.TypeParam) } return xs } @@ -1070,13 +1098,3 @@ func (r *importReader) byte() byte { } return x } - -func baseType(typ types.Type) *types.Named { - // pointer receivers are never types.Named types - if p, _ := typ.(*types.Pointer); p != nil { - typ = p.Elem() - } - // receiver base types are always (possibly generic) types.Named types - n, _ := typ.(*types.Named) - return n -} diff --git a/vendor/golang.org/x/tools/internal/gcimporter/support_go117.go b/vendor/golang.org/x/tools/internal/gcimporter/support_go117.go deleted file mode 100644 index d892273..0000000 --- a/vendor/golang.org/x/tools/internal/gcimporter/support_go117.go +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2021 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build !go1.18 -// +build !go1.18 - -package gcimporter - -import "go/types" - -const iexportVersion = iexportVersionGo1_11 - -func additionalPredeclared() []types.Type { - return nil -} diff --git a/vendor/golang.org/x/tools/internal/gcimporter/support_go118.go b/vendor/golang.org/x/tools/internal/gcimporter/support_go118.go index edbe6ea..0cd3b91 100644 --- a/vendor/golang.org/x/tools/internal/gcimporter/support_go118.go +++ b/vendor/golang.org/x/tools/internal/gcimporter/support_go118.go @@ -2,9 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build go1.18 -// +build go1.18 - package gcimporter import "go/types" diff --git a/vendor/golang.org/x/tools/internal/gcimporter/unified_no.go b/vendor/golang.org/x/tools/internal/gcimporter/unified_no.go index 286bf44..38b624c 100644 --- a/vendor/golang.org/x/tools/internal/gcimporter/unified_no.go +++ b/vendor/golang.org/x/tools/internal/gcimporter/unified_no.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build !(go1.18 && goexperiment.unified) -// +build !go1.18 !goexperiment.unified +//go:build !goexperiment.unified +// +build !goexperiment.unified package gcimporter diff --git a/vendor/golang.org/x/tools/internal/gcimporter/unified_yes.go b/vendor/golang.org/x/tools/internal/gcimporter/unified_yes.go index b5d69ff..b5118d0 100644 --- a/vendor/golang.org/x/tools/internal/gcimporter/unified_yes.go +++ b/vendor/golang.org/x/tools/internal/gcimporter/unified_yes.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build go1.18 && goexperiment.unified -// +build go1.18,goexperiment.unified +//go:build goexperiment.unified +// +build goexperiment.unified package gcimporter diff --git a/vendor/golang.org/x/tools/internal/gcimporter/ureader_no.go b/vendor/golang.org/x/tools/internal/gcimporter/ureader_no.go deleted file mode 100644 index 8eb2072..0000000 --- a/vendor/golang.org/x/tools/internal/gcimporter/ureader_no.go +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2022 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build !go1.18 -// +build !go1.18 - -package gcimporter - -import ( - "fmt" - "go/token" - "go/types" -) - -func UImportData(fset *token.FileSet, imports map[string]*types.Package, data []byte, path string) (_ int, pkg *types.Package, err error) { - err = fmt.Errorf("go/tools compiled with a Go version earlier than 1.18 cannot read unified IR export data") - return -} diff --git a/vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.go b/vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.go index b977435..2c07706 100644 --- a/vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.go +++ b/vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.go @@ -4,9 +4,6 @@ // Derived from go/internal/gcimporter/ureader.go -//go:build go1.18 -// +build go1.18 - package gcimporter import ( @@ -16,6 +13,7 @@ import ( "sort" "strings" + "golang.org/x/tools/internal/aliases" "golang.org/x/tools/internal/pkgbits" ) @@ -28,6 +26,7 @@ type pkgReader struct { ctxt *types.Context imports map[string]*types.Package // previously imported packages, indexed by path + aliases bool // create types.Alias nodes // lazily initialized arrays corresponding to the unified IR // PosBase, Pkg, and Type sections, respectively. @@ -101,6 +100,7 @@ func readUnifiedPackage(fset *token.FileSet, ctxt *types.Context, imports map[st ctxt: ctxt, imports: imports, + aliases: aliases.Enabled(), posBases: make([]string, input.NumElems(pkgbits.RelocPosBase)), pkgs: make([]*types.Package, input.NumElems(pkgbits.RelocPkg)), @@ -526,7 +526,7 @@ func (pr *pkgReader) objIdx(idx pkgbits.Index) (*types.Package, string) { case pkgbits.ObjAlias: pos := r.pos() typ := r.typ() - declare(types.NewTypeName(pos, objPkg, objName, typ)) + declare(aliases.NewAlias(r.p.aliases, pos, objPkg, objName, typ)) case pkgbits.ObjConst: pos := r.pos() @@ -553,7 +553,7 @@ func (pr *pkgReader) objIdx(idx pkgbits.Index) (*types.Package, string) { // If the underlying type is an interface, we need to // duplicate its methods so we can replace the receiver // parameter's type (#49906). - if iface, ok := underlying.(*types.Interface); ok && iface.NumExplicitMethods() != 0 { + if iface, ok := aliases.Unalias(underlying).(*types.Interface); ok && iface.NumExplicitMethods() != 0 { methods := make([]*types.Func, iface.NumExplicitMethods()) for i := range methods { fn := iface.ExplicitMethod(i) diff --git a/vendor/golang.org/x/tools/internal/gocommand/invoke.go b/vendor/golang.org/x/tools/internal/gocommand/invoke.go index 5531252..af0ee6c 100644 --- a/vendor/golang.org/x/tools/internal/gocommand/invoke.go +++ b/vendor/golang.org/x/tools/internal/gocommand/invoke.go @@ -8,12 +8,14 @@ package gocommand import ( "bytes" "context" + "encoding/json" "errors" "fmt" "io" "log" "os" "os/exec" + "path/filepath" "reflect" "regexp" "runtime" @@ -25,7 +27,6 @@ import ( "golang.org/x/tools/internal/event" "golang.org/x/tools/internal/event/keys" "golang.org/x/tools/internal/event/label" - "golang.org/x/tools/internal/event/tag" ) // An Runner will run go command invocations and serialize @@ -55,11 +56,14 @@ func (runner *Runner) initialize() { // 1.14: go: updating go.mod: existing contents have changed since last read var modConcurrencyError = regexp.MustCompile(`go:.*go.mod.*contents have changed`) -// verb is an event label for the go command verb. -var verb = keys.NewString("verb", "go command verb") +// event keys for go command invocations +var ( + verb = keys.NewString("verb", "go command verb") + directory = keys.NewString("directory", "") +) func invLabels(inv Invocation) []label.Label { - return []label.Label{verb.Of(inv.Verb), tag.Directory.Of(inv.WorkingDir)} + return []label.Label{verb.Of(inv.Verb), directory.Of(inv.WorkingDir)} } // Run is a convenience wrapper around RunRaw. @@ -158,12 +162,17 @@ type Invocation struct { BuildFlags []string // If ModFlag is set, the go command is invoked with -mod=ModFlag. + // TODO(rfindley): remove, in favor of Args. ModFlag string // If ModFile is set, the go command is invoked with -modfile=ModFile. + // TODO(rfindley): remove, in favor of Args. ModFile string - // If Overlay is set, the go command is invoked with -overlay=Overlay. + // Overlay is the name of the JSON overlay file that describes + // unsaved editor buffers; see [WriteOverlays]. + // If set, the go command is invoked with -overlay=Overlay. + // TODO(rfindley): remove, in favor of Args. Overlay string // If CleanEnv is set, the invocation will run only with the environment @@ -250,12 +259,15 @@ func (i *Invocation) run(ctx context.Context, stdout, stderr io.Writer) error { waitDelay.Set(reflect.ValueOf(30 * time.Second)) } - // On darwin the cwd gets resolved to the real path, which breaks anything that - // expects the working directory to keep the original path, including the + // The cwd gets resolved to the real path. On Darwin, where + // /tmp is a symlink, this breaks anything that expects the + // working directory to keep the original path, including the // go command when dealing with modules. - // The Go stdlib has a special feature where if the cwd and the PWD are the - // same node then it trusts the PWD, so by setting it in the env for the child - // process we fix up all the paths returned by the go command. + // + // os.Getwd has a special feature where if the cwd and the PWD + // are the same node then it trusts the PWD, so by setting it + // in the env for the child process we fix up all the paths + // returned by the go command. if !i.CleanEnv { cmd.Env = os.Environ() } @@ -346,6 +358,7 @@ func runCmdContext(ctx context.Context, cmd *exec.Cmd) (err error) { } } + startTime := time.Now() err = cmd.Start() if stdoutW != nil { // The child process has inherited the pipe file, @@ -372,7 +385,7 @@ func runCmdContext(ctx context.Context, cmd *exec.Cmd) (err error) { case err := <-resChan: return err case <-timer.C: - HandleHangingGoCommand(cmd.Process) + HandleHangingGoCommand(startTime, cmd) case <-ctx.Done(): } } else { @@ -406,7 +419,7 @@ func runCmdContext(ctx context.Context, cmd *exec.Cmd) (err error) { return <-resChan } -func HandleHangingGoCommand(proc *os.Process) { +func HandleHangingGoCommand(start time.Time, cmd *exec.Cmd) { switch runtime.GOOS { case "linux", "darwin", "freebsd", "netbsd": fmt.Fprintln(os.Stderr, `DETECTED A HANGING GO COMMAND @@ -439,7 +452,7 @@ See golang/go#54461 for more details.`) panic(fmt.Sprintf("running %s: %v", listFiles, err)) } } - panic(fmt.Sprintf("detected hanging go command (pid %d): see golang/go#54461 for more details", proc.Pid)) + panic(fmt.Sprintf("detected hanging go command (golang/go#54461); waited %s\n\tcommand:%s\n\tpid:%d", time.Since(start), cmd, cmd.Process.Pid)) } func cmdDebugStr(cmd *exec.Cmd) string { @@ -463,3 +476,73 @@ func cmdDebugStr(cmd *exec.Cmd) string { } return fmt.Sprintf("GOROOT=%v GOPATH=%v GO111MODULE=%v GOPROXY=%v PWD=%v %v", env["GOROOT"], env["GOPATH"], env["GO111MODULE"], env["GOPROXY"], env["PWD"], strings.Join(args, " ")) } + +// WriteOverlays writes each value in the overlay (see the Overlay +// field of go/packages.Config) to a temporary file and returns the name +// of a JSON file describing the mapping that is suitable for the "go +// list -overlay" flag. +// +// On success, the caller must call the cleanup function exactly once +// when the files are no longer needed. +func WriteOverlays(overlay map[string][]byte) (filename string, cleanup func(), err error) { + // Do nothing if there are no overlays in the config. + if len(overlay) == 0 { + return "", func() {}, nil + } + + dir, err := os.MkdirTemp("", "gocommand-*") + if err != nil { + return "", nil, err + } + + // The caller must clean up this directory, + // unless this function returns an error. + // (The cleanup operand of each return + // statement below is ignored.) + defer func() { + cleanup = func() { + os.RemoveAll(dir) + } + if err != nil { + cleanup() + cleanup = nil + } + }() + + // Write each map entry to a temporary file. + overlays := make(map[string]string) + for k, v := range overlay { + // Use a unique basename for each file (001-foo.go), + // to avoid creating nested directories. + base := fmt.Sprintf("%d-%s.go", 1+len(overlays), filepath.Base(k)) + filename := filepath.Join(dir, base) + err := os.WriteFile(filename, v, 0666) + if err != nil { + return "", nil, err + } + overlays[k] = filename + } + + // Write the JSON overlay file that maps logical file names to temp files. + // + // OverlayJSON is the format overlay files are expected to be in. + // The Replace map maps from overlaid paths to replacement paths: + // the Go command will forward all reads trying to open + // each overlaid path to its replacement path, or consider the overlaid + // path not to exist if the replacement path is empty. + // + // From golang/go#39958. + type OverlayJSON struct { + Replace map[string]string `json:"replace,omitempty"` + } + b, err := json.Marshal(OverlayJSON{Replace: overlays}) + if err != nil { + return "", nil, err + } + filename = filepath.Join(dir, "overlay.json") + if err := os.WriteFile(filename, b, 0666); err != nil { + return "", nil, err + } + + return filename, nil, nil +} diff --git a/vendor/golang.org/x/tools/internal/gocommand/vendor.go b/vendor/golang.org/x/tools/internal/gocommand/vendor.go index 2d3d408..e38d1fb 100644 --- a/vendor/golang.org/x/tools/internal/gocommand/vendor.go +++ b/vendor/golang.org/x/tools/internal/gocommand/vendor.go @@ -107,3 +107,57 @@ func getMainModuleAnd114(ctx context.Context, inv Invocation, r *Runner) (*Modul } return mod, lines[4] == "go1.14", nil } + +// WorkspaceVendorEnabled reports whether workspace vendoring is enabled. It takes a *Runner to execute Go commands +// with the supplied context.Context and Invocation. The Invocation can contain pre-defined fields, +// of which only Verb and Args are modified to run the appropriate Go command. +// Inspired by setDefaultBuildMod in modload/init.go +func WorkspaceVendorEnabled(ctx context.Context, inv Invocation, r *Runner) (bool, []*ModuleJSON, error) { + inv.Verb = "env" + inv.Args = []string{"GOWORK"} + stdout, err := r.Run(ctx, inv) + if err != nil { + return false, nil, err + } + goWork := string(bytes.TrimSpace(stdout.Bytes())) + if fi, err := os.Stat(filepath.Join(filepath.Dir(goWork), "vendor")); err == nil && fi.IsDir() { + mainMods, err := getWorkspaceMainModules(ctx, inv, r) + if err != nil { + return false, nil, err + } + return true, mainMods, nil + } + return false, nil, nil +} + +// getWorkspaceMainModules gets the main modules' information. +// This is the information needed to figure out if vendoring should be enabled. +func getWorkspaceMainModules(ctx context.Context, inv Invocation, r *Runner) ([]*ModuleJSON, error) { + const format = `{{.Path}} +{{.Dir}} +{{.GoMod}} +{{.GoVersion}} +` + inv.Verb = "list" + inv.Args = []string{"-m", "-f", format} + stdout, err := r.Run(ctx, inv) + if err != nil { + return nil, err + } + + lines := strings.Split(strings.TrimSuffix(stdout.String(), "\n"), "\n") + if len(lines) < 4 { + return nil, fmt.Errorf("unexpected stdout: %q", stdout.String()) + } + mods := make([]*ModuleJSON, 0, len(lines)/4) + for i := 0; i < len(lines); i += 4 { + mods = append(mods, &ModuleJSON{ + Path: lines[i], + Dir: lines[i+1], + GoMod: lines[i+2], + GoVersion: lines[i+3], + Main: true, + }) + } + return mods, nil +} diff --git a/vendor/golang.org/x/tools/internal/pkgbits/decoder.go b/vendor/golang.org/x/tools/internal/pkgbits/decoder.go index b92e8e6..2acd858 100644 --- a/vendor/golang.org/x/tools/internal/pkgbits/decoder.go +++ b/vendor/golang.org/x/tools/internal/pkgbits/decoder.go @@ -23,6 +23,9 @@ type PkgDecoder struct { // version is the file format version. version uint32 + // aliases determines whether types.Aliases should be created + aliases bool + // sync indicates whether the file uses sync markers. sync bool @@ -73,6 +76,7 @@ func (pr *PkgDecoder) SyncMarkers() bool { return pr.sync } func NewPkgDecoder(pkgPath, input string) PkgDecoder { pr := PkgDecoder{ pkgPath: pkgPath, + //aliases: aliases.Enabled(), } // TODO(mdempsky): Implement direct indexing of input string to diff --git a/vendor/golang.org/x/tools/internal/stdlib/manifest.go b/vendor/golang.org/x/tools/internal/stdlib/manifest.go new file mode 100644 index 0000000..fd68920 --- /dev/null +++ b/vendor/golang.org/x/tools/internal/stdlib/manifest.go @@ -0,0 +1,17320 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate.go. DO NOT EDIT. + +package stdlib + +var PackageSymbols = map[string][]Symbol{ + "archive/tar": { + {"(*Header).FileInfo", Method, 1}, + {"(*Reader).Next", Method, 0}, + {"(*Reader).Read", Method, 0}, + {"(*Writer).AddFS", Method, 22}, + {"(*Writer).Close", Method, 0}, + {"(*Writer).Flush", Method, 0}, + {"(*Writer).Write", Method, 0}, + {"(*Writer).WriteHeader", Method, 0}, + {"(Format).String", Method, 10}, + {"ErrFieldTooLong", Var, 0}, + {"ErrHeader", Var, 0}, + {"ErrInsecurePath", Var, 20}, + {"ErrWriteAfterClose", Var, 0}, + {"ErrWriteTooLong", Var, 0}, + {"FileInfoHeader", Func, 1}, + {"Format", Type, 10}, + {"FormatGNU", Const, 10}, + {"FormatPAX", Const, 10}, + {"FormatUSTAR", Const, 10}, + {"FormatUnknown", Const, 10}, + {"Header", Type, 0}, + {"Header.AccessTime", Field, 0}, + {"Header.ChangeTime", Field, 0}, + {"Header.Devmajor", Field, 0}, + {"Header.Devminor", Field, 0}, + {"Header.Format", Field, 10}, + {"Header.Gid", Field, 0}, + {"Header.Gname", Field, 0}, + {"Header.Linkname", Field, 0}, + {"Header.ModTime", Field, 0}, + {"Header.Mode", Field, 0}, + {"Header.Name", Field, 0}, + {"Header.PAXRecords", Field, 10}, + {"Header.Size", Field, 0}, + {"Header.Typeflag", Field, 0}, + {"Header.Uid", Field, 0}, + {"Header.Uname", Field, 0}, + {"Header.Xattrs", Field, 3}, + {"NewReader", Func, 0}, + {"NewWriter", Func, 0}, + {"Reader", Type, 0}, + {"TypeBlock", Const, 0}, + {"TypeChar", Const, 0}, + {"TypeCont", Const, 0}, + {"TypeDir", Const, 0}, + {"TypeFifo", Const, 0}, + {"TypeGNULongLink", Const, 1}, + {"TypeGNULongName", Const, 1}, + {"TypeGNUSparse", Const, 3}, + {"TypeLink", Const, 0}, + {"TypeReg", Const, 0}, + {"TypeRegA", Const, 0}, + {"TypeSymlink", Const, 0}, + {"TypeXGlobalHeader", Const, 0}, + {"TypeXHeader", Const, 0}, + {"Writer", Type, 0}, + }, + "archive/zip": { + {"(*File).DataOffset", Method, 2}, + {"(*File).FileInfo", Method, 0}, + {"(*File).ModTime", Method, 0}, + {"(*File).Mode", Method, 0}, + {"(*File).Open", Method, 0}, + {"(*File).OpenRaw", Method, 17}, + {"(*File).SetModTime", Method, 0}, + {"(*File).SetMode", Method, 0}, + {"(*FileHeader).FileInfo", Method, 0}, + {"(*FileHeader).ModTime", Method, 0}, + {"(*FileHeader).Mode", Method, 0}, + {"(*FileHeader).SetModTime", Method, 0}, + {"(*FileHeader).SetMode", Method, 0}, + {"(*ReadCloser).Close", Method, 0}, + {"(*ReadCloser).Open", Method, 16}, + {"(*ReadCloser).RegisterDecompressor", Method, 6}, + {"(*Reader).Open", Method, 16}, + {"(*Reader).RegisterDecompressor", Method, 6}, + {"(*Writer).AddFS", Method, 22}, + {"(*Writer).Close", Method, 0}, + {"(*Writer).Copy", Method, 17}, + {"(*Writer).Create", Method, 0}, + {"(*Writer).CreateHeader", Method, 0}, + {"(*Writer).CreateRaw", Method, 17}, + {"(*Writer).Flush", Method, 4}, + {"(*Writer).RegisterCompressor", Method, 6}, + {"(*Writer).SetComment", Method, 10}, + {"(*Writer).SetOffset", Method, 5}, + {"Compressor", Type, 2}, + {"Decompressor", Type, 2}, + {"Deflate", Const, 0}, + {"ErrAlgorithm", Var, 0}, + {"ErrChecksum", Var, 0}, + {"ErrFormat", Var, 0}, + {"ErrInsecurePath", Var, 20}, + {"File", Type, 0}, + {"File.FileHeader", Field, 0}, + {"FileHeader", Type, 0}, + {"FileHeader.CRC32", Field, 0}, + {"FileHeader.Comment", Field, 0}, + {"FileHeader.CompressedSize", Field, 0}, + {"FileHeader.CompressedSize64", Field, 1}, + {"FileHeader.CreatorVersion", Field, 0}, + {"FileHeader.ExternalAttrs", Field, 0}, + {"FileHeader.Extra", Field, 0}, + {"FileHeader.Flags", Field, 0}, + {"FileHeader.Method", Field, 0}, + {"FileHeader.Modified", Field, 10}, + {"FileHeader.ModifiedDate", Field, 0}, + {"FileHeader.ModifiedTime", Field, 0}, + {"FileHeader.Name", Field, 0}, + {"FileHeader.NonUTF8", Field, 10}, + {"FileHeader.ReaderVersion", Field, 0}, + {"FileHeader.UncompressedSize", Field, 0}, + {"FileHeader.UncompressedSize64", Field, 1}, + {"FileInfoHeader", Func, 0}, + {"NewReader", Func, 0}, + {"NewWriter", Func, 0}, + {"OpenReader", Func, 0}, + {"ReadCloser", Type, 0}, + {"ReadCloser.Reader", Field, 0}, + {"Reader", Type, 0}, + {"Reader.Comment", Field, 0}, + {"Reader.File", Field, 0}, + {"RegisterCompressor", Func, 2}, + {"RegisterDecompressor", Func, 2}, + {"Store", Const, 0}, + {"Writer", Type, 0}, + }, + "bufio": { + {"(*Reader).Buffered", Method, 0}, + {"(*Reader).Discard", Method, 5}, + {"(*Reader).Peek", Method, 0}, + {"(*Reader).Read", Method, 0}, + {"(*Reader).ReadByte", Method, 0}, + {"(*Reader).ReadBytes", Method, 0}, + {"(*Reader).ReadLine", Method, 0}, + {"(*Reader).ReadRune", Method, 0}, + {"(*Reader).ReadSlice", Method, 0}, + {"(*Reader).ReadString", Method, 0}, + {"(*Reader).Reset", Method, 2}, + {"(*Reader).Size", Method, 10}, + {"(*Reader).UnreadByte", Method, 0}, + {"(*Reader).UnreadRune", Method, 0}, + {"(*Reader).WriteTo", Method, 1}, + {"(*Scanner).Buffer", Method, 6}, + {"(*Scanner).Bytes", Method, 1}, + {"(*Scanner).Err", Method, 1}, + {"(*Scanner).Scan", Method, 1}, + {"(*Scanner).Split", Method, 1}, + {"(*Scanner).Text", Method, 1}, + {"(*Writer).Available", Method, 0}, + {"(*Writer).AvailableBuffer", Method, 18}, + {"(*Writer).Buffered", Method, 0}, + {"(*Writer).Flush", Method, 0}, + {"(*Writer).ReadFrom", Method, 1}, + {"(*Writer).Reset", Method, 2}, + {"(*Writer).Size", Method, 10}, + {"(*Writer).Write", Method, 0}, + {"(*Writer).WriteByte", Method, 0}, + {"(*Writer).WriteRune", Method, 0}, + {"(*Writer).WriteString", Method, 0}, + {"(ReadWriter).Available", Method, 0}, + {"(ReadWriter).AvailableBuffer", Method, 18}, + {"(ReadWriter).Discard", Method, 5}, + {"(ReadWriter).Flush", Method, 0}, + {"(ReadWriter).Peek", Method, 0}, + {"(ReadWriter).Read", Method, 0}, + {"(ReadWriter).ReadByte", Method, 0}, + {"(ReadWriter).ReadBytes", Method, 0}, + {"(ReadWriter).ReadFrom", Method, 1}, + {"(ReadWriter).ReadLine", Method, 0}, + {"(ReadWriter).ReadRune", Method, 0}, + {"(ReadWriter).ReadSlice", Method, 0}, + {"(ReadWriter).ReadString", Method, 0}, + {"(ReadWriter).UnreadByte", Method, 0}, + {"(ReadWriter).UnreadRune", Method, 0}, + {"(ReadWriter).Write", Method, 0}, + {"(ReadWriter).WriteByte", Method, 0}, + {"(ReadWriter).WriteRune", Method, 0}, + {"(ReadWriter).WriteString", Method, 0}, + {"(ReadWriter).WriteTo", Method, 1}, + {"ErrAdvanceTooFar", Var, 1}, + {"ErrBadReadCount", Var, 15}, + {"ErrBufferFull", Var, 0}, + {"ErrFinalToken", Var, 6}, + {"ErrInvalidUnreadByte", Var, 0}, + {"ErrInvalidUnreadRune", Var, 0}, + {"ErrNegativeAdvance", Var, 1}, + {"ErrNegativeCount", Var, 0}, + {"ErrTooLong", Var, 1}, + {"MaxScanTokenSize", Const, 1}, + {"NewReadWriter", Func, 0}, + {"NewReader", Func, 0}, + {"NewReaderSize", Func, 0}, + {"NewScanner", Func, 1}, + {"NewWriter", Func, 0}, + {"NewWriterSize", Func, 0}, + {"ReadWriter", Type, 0}, + {"ReadWriter.Reader", Field, 0}, + {"ReadWriter.Writer", Field, 0}, + {"Reader", Type, 0}, + {"ScanBytes", Func, 1}, + {"ScanLines", Func, 1}, + {"ScanRunes", Func, 1}, + {"ScanWords", Func, 1}, + {"Scanner", Type, 1}, + {"SplitFunc", Type, 1}, + {"Writer", Type, 0}, + }, + "bytes": { + {"(*Buffer).Available", Method, 21}, + {"(*Buffer).AvailableBuffer", Method, 21}, + {"(*Buffer).Bytes", Method, 0}, + {"(*Buffer).Cap", Method, 5}, + {"(*Buffer).Grow", Method, 1}, + {"(*Buffer).Len", Method, 0}, + {"(*Buffer).Next", Method, 0}, + {"(*Buffer).Read", Method, 0}, + {"(*Buffer).ReadByte", Method, 0}, + {"(*Buffer).ReadBytes", Method, 0}, + {"(*Buffer).ReadFrom", Method, 0}, + {"(*Buffer).ReadRune", Method, 0}, + {"(*Buffer).ReadString", Method, 0}, + {"(*Buffer).Reset", Method, 0}, + {"(*Buffer).String", Method, 0}, + {"(*Buffer).Truncate", Method, 0}, + {"(*Buffer).UnreadByte", Method, 0}, + {"(*Buffer).UnreadRune", Method, 0}, + {"(*Buffer).Write", Method, 0}, + {"(*Buffer).WriteByte", Method, 0}, + {"(*Buffer).WriteRune", Method, 0}, + {"(*Buffer).WriteString", Method, 0}, + {"(*Buffer).WriteTo", Method, 0}, + {"(*Reader).Len", Method, 0}, + {"(*Reader).Read", Method, 0}, + {"(*Reader).ReadAt", Method, 0}, + {"(*Reader).ReadByte", Method, 0}, + {"(*Reader).ReadRune", Method, 0}, + {"(*Reader).Reset", Method, 7}, + {"(*Reader).Seek", Method, 0}, + {"(*Reader).Size", Method, 5}, + {"(*Reader).UnreadByte", Method, 0}, + {"(*Reader).UnreadRune", Method, 0}, + {"(*Reader).WriteTo", Method, 1}, + {"Buffer", Type, 0}, + {"Clone", Func, 20}, + {"Compare", Func, 0}, + {"Contains", Func, 0}, + {"ContainsAny", Func, 7}, + {"ContainsFunc", Func, 21}, + {"ContainsRune", Func, 7}, + {"Count", Func, 0}, + {"Cut", Func, 18}, + {"CutPrefix", Func, 20}, + {"CutSuffix", Func, 20}, + {"Equal", Func, 0}, + {"EqualFold", Func, 0}, + {"ErrTooLarge", Var, 0}, + {"Fields", Func, 0}, + {"FieldsFunc", Func, 0}, + {"HasPrefix", Func, 0}, + {"HasSuffix", Func, 0}, + {"Index", Func, 0}, + {"IndexAny", Func, 0}, + {"IndexByte", Func, 0}, + {"IndexFunc", Func, 0}, + {"IndexRune", Func, 0}, + {"Join", Func, 0}, + {"LastIndex", Func, 0}, + {"LastIndexAny", Func, 0}, + {"LastIndexByte", Func, 5}, + {"LastIndexFunc", Func, 0}, + {"Map", Func, 0}, + {"MinRead", Const, 0}, + {"NewBuffer", Func, 0}, + {"NewBufferString", Func, 0}, + {"NewReader", Func, 0}, + {"Reader", Type, 0}, + {"Repeat", Func, 0}, + {"Replace", Func, 0}, + {"ReplaceAll", Func, 12}, + {"Runes", Func, 0}, + {"Split", Func, 0}, + {"SplitAfter", Func, 0}, + {"SplitAfterN", Func, 0}, + {"SplitN", Func, 0}, + {"Title", Func, 0}, + {"ToLower", Func, 0}, + {"ToLowerSpecial", Func, 0}, + {"ToTitle", Func, 0}, + {"ToTitleSpecial", Func, 0}, + {"ToUpper", Func, 0}, + {"ToUpperSpecial", Func, 0}, + {"ToValidUTF8", Func, 13}, + {"Trim", Func, 0}, + {"TrimFunc", Func, 0}, + {"TrimLeft", Func, 0}, + {"TrimLeftFunc", Func, 0}, + {"TrimPrefix", Func, 1}, + {"TrimRight", Func, 0}, + {"TrimRightFunc", Func, 0}, + {"TrimSpace", Func, 0}, + {"TrimSuffix", Func, 1}, + }, + "cmp": { + {"Compare", Func, 21}, + {"Less", Func, 21}, + {"Or", Func, 22}, + {"Ordered", Type, 21}, + }, + "compress/bzip2": { + {"(StructuralError).Error", Method, 0}, + {"NewReader", Func, 0}, + {"StructuralError", Type, 0}, + }, + "compress/flate": { + {"(*ReadError).Error", Method, 0}, + {"(*WriteError).Error", Method, 0}, + {"(*Writer).Close", Method, 0}, + {"(*Writer).Flush", Method, 0}, + {"(*Writer).Reset", Method, 2}, + {"(*Writer).Write", Method, 0}, + {"(CorruptInputError).Error", Method, 0}, + {"(InternalError).Error", Method, 0}, + {"BestCompression", Const, 0}, + {"BestSpeed", Const, 0}, + {"CorruptInputError", Type, 0}, + {"DefaultCompression", Const, 0}, + {"HuffmanOnly", Const, 7}, + {"InternalError", Type, 0}, + {"NewReader", Func, 0}, + {"NewReaderDict", Func, 0}, + {"NewWriter", Func, 0}, + {"NewWriterDict", Func, 0}, + {"NoCompression", Const, 0}, + {"ReadError", Type, 0}, + {"ReadError.Err", Field, 0}, + {"ReadError.Offset", Field, 0}, + {"Reader", Type, 0}, + {"Resetter", Type, 4}, + {"WriteError", Type, 0}, + {"WriteError.Err", Field, 0}, + {"WriteError.Offset", Field, 0}, + {"Writer", Type, 0}, + }, + "compress/gzip": { + {"(*Reader).Close", Method, 0}, + {"(*Reader).Multistream", Method, 4}, + {"(*Reader).Read", Method, 0}, + {"(*Reader).Reset", Method, 3}, + {"(*Writer).Close", Method, 0}, + {"(*Writer).Flush", Method, 1}, + {"(*Writer).Reset", Method, 2}, + {"(*Writer).Write", Method, 0}, + {"BestCompression", Const, 0}, + {"BestSpeed", Const, 0}, + {"DefaultCompression", Const, 0}, + {"ErrChecksum", Var, 0}, + {"ErrHeader", Var, 0}, + {"Header", Type, 0}, + {"Header.Comment", Field, 0}, + {"Header.Extra", Field, 0}, + {"Header.ModTime", Field, 0}, + {"Header.Name", Field, 0}, + {"Header.OS", Field, 0}, + {"HuffmanOnly", Const, 8}, + {"NewReader", Func, 0}, + {"NewWriter", Func, 0}, + {"NewWriterLevel", Func, 0}, + {"NoCompression", Const, 0}, + {"Reader", Type, 0}, + {"Reader.Header", Field, 0}, + {"Writer", Type, 0}, + {"Writer.Header", Field, 0}, + }, + "compress/lzw": { + {"(*Reader).Close", Method, 17}, + {"(*Reader).Read", Method, 17}, + {"(*Reader).Reset", Method, 17}, + {"(*Writer).Close", Method, 17}, + {"(*Writer).Reset", Method, 17}, + {"(*Writer).Write", Method, 17}, + {"LSB", Const, 0}, + {"MSB", Const, 0}, + {"NewReader", Func, 0}, + {"NewWriter", Func, 0}, + {"Order", Type, 0}, + {"Reader", Type, 17}, + {"Writer", Type, 17}, + }, + "compress/zlib": { + {"(*Writer).Close", Method, 0}, + {"(*Writer).Flush", Method, 0}, + {"(*Writer).Reset", Method, 2}, + {"(*Writer).Write", Method, 0}, + {"BestCompression", Const, 0}, + {"BestSpeed", Const, 0}, + {"DefaultCompression", Const, 0}, + {"ErrChecksum", Var, 0}, + {"ErrDictionary", Var, 0}, + {"ErrHeader", Var, 0}, + {"HuffmanOnly", Const, 8}, + {"NewReader", Func, 0}, + {"NewReaderDict", Func, 0}, + {"NewWriter", Func, 0}, + {"NewWriterLevel", Func, 0}, + {"NewWriterLevelDict", Func, 0}, + {"NoCompression", Const, 0}, + {"Resetter", Type, 4}, + {"Writer", Type, 0}, + }, + "container/heap": { + {"Fix", Func, 2}, + {"Init", Func, 0}, + {"Interface", Type, 0}, + {"Pop", Func, 0}, + {"Push", Func, 0}, + {"Remove", Func, 0}, + }, + "container/list": { + {"(*Element).Next", Method, 0}, + {"(*Element).Prev", Method, 0}, + {"(*List).Back", Method, 0}, + {"(*List).Front", Method, 0}, + {"(*List).Init", Method, 0}, + {"(*List).InsertAfter", Method, 0}, + {"(*List).InsertBefore", Method, 0}, + {"(*List).Len", Method, 0}, + {"(*List).MoveAfter", Method, 2}, + {"(*List).MoveBefore", Method, 2}, + {"(*List).MoveToBack", Method, 0}, + {"(*List).MoveToFront", Method, 0}, + {"(*List).PushBack", Method, 0}, + {"(*List).PushBackList", Method, 0}, + {"(*List).PushFront", Method, 0}, + {"(*List).PushFrontList", Method, 0}, + {"(*List).Remove", Method, 0}, + {"Element", Type, 0}, + {"Element.Value", Field, 0}, + {"List", Type, 0}, + {"New", Func, 0}, + }, + "container/ring": { + {"(*Ring).Do", Method, 0}, + {"(*Ring).Len", Method, 0}, + {"(*Ring).Link", Method, 0}, + {"(*Ring).Move", Method, 0}, + {"(*Ring).Next", Method, 0}, + {"(*Ring).Prev", Method, 0}, + {"(*Ring).Unlink", Method, 0}, + {"New", Func, 0}, + {"Ring", Type, 0}, + {"Ring.Value", Field, 0}, + }, + "context": { + {"AfterFunc", Func, 21}, + {"Background", Func, 7}, + {"CancelCauseFunc", Type, 20}, + {"CancelFunc", Type, 7}, + {"Canceled", Var, 7}, + {"Cause", Func, 20}, + {"Context", Type, 7}, + {"DeadlineExceeded", Var, 7}, + {"TODO", Func, 7}, + {"WithCancel", Func, 7}, + {"WithCancelCause", Func, 20}, + {"WithDeadline", Func, 7}, + {"WithDeadlineCause", Func, 21}, + {"WithTimeout", Func, 7}, + {"WithTimeoutCause", Func, 21}, + {"WithValue", Func, 7}, + {"WithoutCancel", Func, 21}, + }, + "crypto": { + {"(Hash).Available", Method, 0}, + {"(Hash).HashFunc", Method, 4}, + {"(Hash).New", Method, 0}, + {"(Hash).Size", Method, 0}, + {"(Hash).String", Method, 15}, + {"BLAKE2b_256", Const, 9}, + {"BLAKE2b_384", Const, 9}, + {"BLAKE2b_512", Const, 9}, + {"BLAKE2s_256", Const, 9}, + {"Decrypter", Type, 5}, + {"DecrypterOpts", Type, 5}, + {"Hash", Type, 0}, + {"MD4", Const, 0}, + {"MD5", Const, 0}, + {"MD5SHA1", Const, 0}, + {"PrivateKey", Type, 0}, + {"PublicKey", Type, 2}, + {"RIPEMD160", Const, 0}, + {"RegisterHash", Func, 0}, + {"SHA1", Const, 0}, + {"SHA224", Const, 0}, + {"SHA256", Const, 0}, + {"SHA384", Const, 0}, + {"SHA3_224", Const, 4}, + {"SHA3_256", Const, 4}, + {"SHA3_384", Const, 4}, + {"SHA3_512", Const, 4}, + {"SHA512", Const, 0}, + {"SHA512_224", Const, 5}, + {"SHA512_256", Const, 5}, + {"Signer", Type, 4}, + {"SignerOpts", Type, 4}, + }, + "crypto/aes": { + {"(KeySizeError).Error", Method, 0}, + {"BlockSize", Const, 0}, + {"KeySizeError", Type, 0}, + {"NewCipher", Func, 0}, + }, + "crypto/cipher": { + {"(StreamReader).Read", Method, 0}, + {"(StreamWriter).Close", Method, 0}, + {"(StreamWriter).Write", Method, 0}, + {"AEAD", Type, 2}, + {"Block", Type, 0}, + {"BlockMode", Type, 0}, + {"NewCBCDecrypter", Func, 0}, + {"NewCBCEncrypter", Func, 0}, + {"NewCFBDecrypter", Func, 0}, + {"NewCFBEncrypter", Func, 0}, + {"NewCTR", Func, 0}, + {"NewGCM", Func, 2}, + {"NewGCMWithNonceSize", Func, 5}, + {"NewGCMWithTagSize", Func, 11}, + {"NewOFB", Func, 0}, + {"Stream", Type, 0}, + {"StreamReader", Type, 0}, + {"StreamReader.R", Field, 0}, + {"StreamReader.S", Field, 0}, + {"StreamWriter", Type, 0}, + {"StreamWriter.Err", Field, 0}, + {"StreamWriter.S", Field, 0}, + {"StreamWriter.W", Field, 0}, + }, + "crypto/des": { + {"(KeySizeError).Error", Method, 0}, + {"BlockSize", Const, 0}, + {"KeySizeError", Type, 0}, + {"NewCipher", Func, 0}, + {"NewTripleDESCipher", Func, 0}, + }, + "crypto/dsa": { + {"ErrInvalidPublicKey", Var, 0}, + {"GenerateKey", Func, 0}, + {"GenerateParameters", Func, 0}, + {"L1024N160", Const, 0}, + {"L2048N224", Const, 0}, + {"L2048N256", Const, 0}, + {"L3072N256", Const, 0}, + {"ParameterSizes", Type, 0}, + {"Parameters", Type, 0}, + {"Parameters.G", Field, 0}, + {"Parameters.P", Field, 0}, + {"Parameters.Q", Field, 0}, + {"PrivateKey", Type, 0}, + {"PrivateKey.PublicKey", Field, 0}, + {"PrivateKey.X", Field, 0}, + {"PublicKey", Type, 0}, + {"PublicKey.Parameters", Field, 0}, + {"PublicKey.Y", Field, 0}, + {"Sign", Func, 0}, + {"Verify", Func, 0}, + }, + "crypto/ecdh": { + {"(*PrivateKey).Bytes", Method, 20}, + {"(*PrivateKey).Curve", Method, 20}, + {"(*PrivateKey).ECDH", Method, 20}, + {"(*PrivateKey).Equal", Method, 20}, + {"(*PrivateKey).Public", Method, 20}, + {"(*PrivateKey).PublicKey", Method, 20}, + {"(*PublicKey).Bytes", Method, 20}, + {"(*PublicKey).Curve", Method, 20}, + {"(*PublicKey).Equal", Method, 20}, + {"Curve", Type, 20}, + {"P256", Func, 20}, + {"P384", Func, 20}, + {"P521", Func, 20}, + {"PrivateKey", Type, 20}, + {"PublicKey", Type, 20}, + {"X25519", Func, 20}, + }, + "crypto/ecdsa": { + {"(*PrivateKey).ECDH", Method, 20}, + {"(*PrivateKey).Equal", Method, 15}, + {"(*PrivateKey).Public", Method, 4}, + {"(*PrivateKey).Sign", Method, 4}, + {"(*PublicKey).ECDH", Method, 20}, + {"(*PublicKey).Equal", Method, 15}, + {"(PrivateKey).Add", Method, 0}, + {"(PrivateKey).Double", Method, 0}, + {"(PrivateKey).IsOnCurve", Method, 0}, + {"(PrivateKey).Params", Method, 0}, + {"(PrivateKey).ScalarBaseMult", Method, 0}, + {"(PrivateKey).ScalarMult", Method, 0}, + {"(PublicKey).Add", Method, 0}, + {"(PublicKey).Double", Method, 0}, + {"(PublicKey).IsOnCurve", Method, 0}, + {"(PublicKey).Params", Method, 0}, + {"(PublicKey).ScalarBaseMult", Method, 0}, + {"(PublicKey).ScalarMult", Method, 0}, + {"GenerateKey", Func, 0}, + {"PrivateKey", Type, 0}, + {"PrivateKey.D", Field, 0}, + {"PrivateKey.PublicKey", Field, 0}, + {"PublicKey", Type, 0}, + {"PublicKey.Curve", Field, 0}, + {"PublicKey.X", Field, 0}, + {"PublicKey.Y", Field, 0}, + {"Sign", Func, 0}, + {"SignASN1", Func, 15}, + {"Verify", Func, 0}, + {"VerifyASN1", Func, 15}, + }, + "crypto/ed25519": { + {"(*Options).HashFunc", Method, 20}, + {"(PrivateKey).Equal", Method, 15}, + {"(PrivateKey).Public", Method, 13}, + {"(PrivateKey).Seed", Method, 13}, + {"(PrivateKey).Sign", Method, 13}, + {"(PublicKey).Equal", Method, 15}, + {"GenerateKey", Func, 13}, + {"NewKeyFromSeed", Func, 13}, + {"Options", Type, 20}, + {"Options.Context", Field, 20}, + {"Options.Hash", Field, 20}, + {"PrivateKey", Type, 13}, + {"PrivateKeySize", Const, 13}, + {"PublicKey", Type, 13}, + {"PublicKeySize", Const, 13}, + {"SeedSize", Const, 13}, + {"Sign", Func, 13}, + {"SignatureSize", Const, 13}, + {"Verify", Func, 13}, + {"VerifyWithOptions", Func, 20}, + }, + "crypto/elliptic": { + {"(*CurveParams).Add", Method, 0}, + {"(*CurveParams).Double", Method, 0}, + {"(*CurveParams).IsOnCurve", Method, 0}, + {"(*CurveParams).Params", Method, 0}, + {"(*CurveParams).ScalarBaseMult", Method, 0}, + {"(*CurveParams).ScalarMult", Method, 0}, + {"Curve", Type, 0}, + {"CurveParams", Type, 0}, + {"CurveParams.B", Field, 0}, + {"CurveParams.BitSize", Field, 0}, + {"CurveParams.Gx", Field, 0}, + {"CurveParams.Gy", Field, 0}, + {"CurveParams.N", Field, 0}, + {"CurveParams.Name", Field, 5}, + {"CurveParams.P", Field, 0}, + {"GenerateKey", Func, 0}, + {"Marshal", Func, 0}, + {"MarshalCompressed", Func, 15}, + {"P224", Func, 0}, + {"P256", Func, 0}, + {"P384", Func, 0}, + {"P521", Func, 0}, + {"Unmarshal", Func, 0}, + {"UnmarshalCompressed", Func, 15}, + }, + "crypto/hmac": { + {"Equal", Func, 1}, + {"New", Func, 0}, + }, + "crypto/md5": { + {"BlockSize", Const, 0}, + {"New", Func, 0}, + {"Size", Const, 0}, + {"Sum", Func, 2}, + }, + "crypto/rand": { + {"Int", Func, 0}, + {"Prime", Func, 0}, + {"Read", Func, 0}, + {"Reader", Var, 0}, + }, + "crypto/rc4": { + {"(*Cipher).Reset", Method, 0}, + {"(*Cipher).XORKeyStream", Method, 0}, + {"(KeySizeError).Error", Method, 0}, + {"Cipher", Type, 0}, + {"KeySizeError", Type, 0}, + {"NewCipher", Func, 0}, + }, + "crypto/rsa": { + {"(*PSSOptions).HashFunc", Method, 4}, + {"(*PrivateKey).Decrypt", Method, 5}, + {"(*PrivateKey).Equal", Method, 15}, + {"(*PrivateKey).Precompute", Method, 0}, + {"(*PrivateKey).Public", Method, 4}, + {"(*PrivateKey).Sign", Method, 4}, + {"(*PrivateKey).Size", Method, 11}, + {"(*PrivateKey).Validate", Method, 0}, + {"(*PublicKey).Equal", Method, 15}, + {"(*PublicKey).Size", Method, 11}, + {"CRTValue", Type, 0}, + {"CRTValue.Coeff", Field, 0}, + {"CRTValue.Exp", Field, 0}, + {"CRTValue.R", Field, 0}, + {"DecryptOAEP", Func, 0}, + {"DecryptPKCS1v15", Func, 0}, + {"DecryptPKCS1v15SessionKey", Func, 0}, + {"EncryptOAEP", Func, 0}, + {"EncryptPKCS1v15", Func, 0}, + {"ErrDecryption", Var, 0}, + {"ErrMessageTooLong", Var, 0}, + {"ErrVerification", Var, 0}, + {"GenerateKey", Func, 0}, + {"GenerateMultiPrimeKey", Func, 0}, + {"OAEPOptions", Type, 5}, + {"OAEPOptions.Hash", Field, 5}, + {"OAEPOptions.Label", Field, 5}, + {"OAEPOptions.MGFHash", Field, 20}, + {"PKCS1v15DecryptOptions", Type, 5}, + {"PKCS1v15DecryptOptions.SessionKeyLen", Field, 5}, + {"PSSOptions", Type, 2}, + {"PSSOptions.Hash", Field, 4}, + {"PSSOptions.SaltLength", Field, 2}, + {"PSSSaltLengthAuto", Const, 2}, + {"PSSSaltLengthEqualsHash", Const, 2}, + {"PrecomputedValues", Type, 0}, + {"PrecomputedValues.CRTValues", Field, 0}, + {"PrecomputedValues.Dp", Field, 0}, + {"PrecomputedValues.Dq", Field, 0}, + {"PrecomputedValues.Qinv", Field, 0}, + {"PrivateKey", Type, 0}, + {"PrivateKey.D", Field, 0}, + {"PrivateKey.Precomputed", Field, 0}, + {"PrivateKey.Primes", Field, 0}, + {"PrivateKey.PublicKey", Field, 0}, + {"PublicKey", Type, 0}, + {"PublicKey.E", Field, 0}, + {"PublicKey.N", Field, 0}, + {"SignPKCS1v15", Func, 0}, + {"SignPSS", Func, 2}, + {"VerifyPKCS1v15", Func, 0}, + {"VerifyPSS", Func, 2}, + }, + "crypto/sha1": { + {"BlockSize", Const, 0}, + {"New", Func, 0}, + {"Size", Const, 0}, + {"Sum", Func, 2}, + }, + "crypto/sha256": { + {"BlockSize", Const, 0}, + {"New", Func, 0}, + {"New224", Func, 0}, + {"Size", Const, 0}, + {"Size224", Const, 0}, + {"Sum224", Func, 2}, + {"Sum256", Func, 2}, + }, + "crypto/sha512": { + {"BlockSize", Const, 0}, + {"New", Func, 0}, + {"New384", Func, 0}, + {"New512_224", Func, 5}, + {"New512_256", Func, 5}, + {"Size", Const, 0}, + {"Size224", Const, 5}, + {"Size256", Const, 5}, + {"Size384", Const, 0}, + {"Sum384", Func, 2}, + {"Sum512", Func, 2}, + {"Sum512_224", Func, 5}, + {"Sum512_256", Func, 5}, + }, + "crypto/subtle": { + {"ConstantTimeByteEq", Func, 0}, + {"ConstantTimeCompare", Func, 0}, + {"ConstantTimeCopy", Func, 0}, + {"ConstantTimeEq", Func, 0}, + {"ConstantTimeLessOrEq", Func, 2}, + {"ConstantTimeSelect", Func, 0}, + {"XORBytes", Func, 20}, + }, + "crypto/tls": { + {"(*CertificateRequestInfo).Context", Method, 17}, + {"(*CertificateRequestInfo).SupportsCertificate", Method, 14}, + {"(*CertificateVerificationError).Error", Method, 20}, + {"(*CertificateVerificationError).Unwrap", Method, 20}, + {"(*ClientHelloInfo).Context", Method, 17}, + {"(*ClientHelloInfo).SupportsCertificate", Method, 14}, + {"(*ClientSessionState).ResumptionState", Method, 21}, + {"(*Config).BuildNameToCertificate", Method, 0}, + {"(*Config).Clone", Method, 8}, + {"(*Config).DecryptTicket", Method, 21}, + {"(*Config).EncryptTicket", Method, 21}, + {"(*Config).SetSessionTicketKeys", Method, 5}, + {"(*Conn).Close", Method, 0}, + {"(*Conn).CloseWrite", Method, 8}, + {"(*Conn).ConnectionState", Method, 0}, + {"(*Conn).Handshake", Method, 0}, + {"(*Conn).HandshakeContext", Method, 17}, + {"(*Conn).LocalAddr", Method, 0}, + {"(*Conn).NetConn", Method, 18}, + {"(*Conn).OCSPResponse", Method, 0}, + {"(*Conn).Read", Method, 0}, + {"(*Conn).RemoteAddr", Method, 0}, + {"(*Conn).SetDeadline", Method, 0}, + {"(*Conn).SetReadDeadline", Method, 0}, + {"(*Conn).SetWriteDeadline", Method, 0}, + {"(*Conn).VerifyHostname", Method, 0}, + {"(*Conn).Write", Method, 0}, + {"(*ConnectionState).ExportKeyingMaterial", Method, 11}, + {"(*Dialer).Dial", Method, 15}, + {"(*Dialer).DialContext", Method, 15}, + {"(*QUICConn).Close", Method, 21}, + {"(*QUICConn).ConnectionState", Method, 21}, + {"(*QUICConn).HandleData", Method, 21}, + {"(*QUICConn).NextEvent", Method, 21}, + {"(*QUICConn).SendSessionTicket", Method, 21}, + {"(*QUICConn).SetTransportParameters", Method, 21}, + {"(*QUICConn).Start", Method, 21}, + {"(*SessionState).Bytes", Method, 21}, + {"(AlertError).Error", Method, 21}, + {"(ClientAuthType).String", Method, 15}, + {"(CurveID).String", Method, 15}, + {"(QUICEncryptionLevel).String", Method, 21}, + {"(RecordHeaderError).Error", Method, 6}, + {"(SignatureScheme).String", Method, 15}, + {"AlertError", Type, 21}, + {"Certificate", Type, 0}, + {"Certificate.Certificate", Field, 0}, + {"Certificate.Leaf", Field, 0}, + {"Certificate.OCSPStaple", Field, 0}, + {"Certificate.PrivateKey", Field, 0}, + {"Certificate.SignedCertificateTimestamps", Field, 5}, + {"Certificate.SupportedSignatureAlgorithms", Field, 14}, + {"CertificateRequestInfo", Type, 8}, + {"CertificateRequestInfo.AcceptableCAs", Field, 8}, + {"CertificateRequestInfo.SignatureSchemes", Field, 8}, + {"CertificateRequestInfo.Version", Field, 14}, + {"CertificateVerificationError", Type, 20}, + {"CertificateVerificationError.Err", Field, 20}, + {"CertificateVerificationError.UnverifiedCertificates", Field, 20}, + {"CipherSuite", Type, 14}, + {"CipherSuite.ID", Field, 14}, + {"CipherSuite.Insecure", Field, 14}, + {"CipherSuite.Name", Field, 14}, + {"CipherSuite.SupportedVersions", Field, 14}, + {"CipherSuiteName", Func, 14}, + {"CipherSuites", Func, 14}, + {"Client", Func, 0}, + {"ClientAuthType", Type, 0}, + {"ClientHelloInfo", Type, 4}, + {"ClientHelloInfo.CipherSuites", Field, 4}, + {"ClientHelloInfo.Conn", Field, 8}, + {"ClientHelloInfo.ServerName", Field, 4}, + {"ClientHelloInfo.SignatureSchemes", Field, 8}, + {"ClientHelloInfo.SupportedCurves", Field, 4}, + {"ClientHelloInfo.SupportedPoints", Field, 4}, + {"ClientHelloInfo.SupportedProtos", Field, 8}, + {"ClientHelloInfo.SupportedVersions", Field, 8}, + {"ClientSessionCache", Type, 3}, + {"ClientSessionState", Type, 3}, + {"Config", Type, 0}, + {"Config.Certificates", Field, 0}, + {"Config.CipherSuites", Field, 0}, + {"Config.ClientAuth", Field, 0}, + {"Config.ClientCAs", Field, 0}, + {"Config.ClientSessionCache", Field, 3}, + {"Config.CurvePreferences", Field, 3}, + {"Config.DynamicRecordSizingDisabled", Field, 7}, + {"Config.GetCertificate", Field, 4}, + {"Config.GetClientCertificate", Field, 8}, + {"Config.GetConfigForClient", Field, 8}, + {"Config.InsecureSkipVerify", Field, 0}, + {"Config.KeyLogWriter", Field, 8}, + {"Config.MaxVersion", Field, 2}, + {"Config.MinVersion", Field, 2}, + {"Config.NameToCertificate", Field, 0}, + {"Config.NextProtos", Field, 0}, + {"Config.PreferServerCipherSuites", Field, 1}, + {"Config.Rand", Field, 0}, + {"Config.Renegotiation", Field, 7}, + {"Config.RootCAs", Field, 0}, + {"Config.ServerName", Field, 0}, + {"Config.SessionTicketKey", Field, 1}, + {"Config.SessionTicketsDisabled", Field, 1}, + {"Config.Time", Field, 0}, + {"Config.UnwrapSession", Field, 21}, + {"Config.VerifyConnection", Field, 15}, + {"Config.VerifyPeerCertificate", Field, 8}, + {"Config.WrapSession", Field, 21}, + {"Conn", Type, 0}, + {"ConnectionState", Type, 0}, + {"ConnectionState.CipherSuite", Field, 0}, + {"ConnectionState.DidResume", Field, 1}, + {"ConnectionState.HandshakeComplete", Field, 0}, + {"ConnectionState.NegotiatedProtocol", Field, 0}, + {"ConnectionState.NegotiatedProtocolIsMutual", Field, 0}, + {"ConnectionState.OCSPResponse", Field, 5}, + {"ConnectionState.PeerCertificates", Field, 0}, + {"ConnectionState.ServerName", Field, 0}, + {"ConnectionState.SignedCertificateTimestamps", Field, 5}, + {"ConnectionState.TLSUnique", Field, 4}, + {"ConnectionState.VerifiedChains", Field, 0}, + {"ConnectionState.Version", Field, 3}, + {"CurveID", Type, 3}, + {"CurveP256", Const, 3}, + {"CurveP384", Const, 3}, + {"CurveP521", Const, 3}, + {"Dial", Func, 0}, + {"DialWithDialer", Func, 3}, + {"Dialer", Type, 15}, + {"Dialer.Config", Field, 15}, + {"Dialer.NetDialer", Field, 15}, + {"ECDSAWithP256AndSHA256", Const, 8}, + {"ECDSAWithP384AndSHA384", Const, 8}, + {"ECDSAWithP521AndSHA512", Const, 8}, + {"ECDSAWithSHA1", Const, 10}, + {"Ed25519", Const, 13}, + {"InsecureCipherSuites", Func, 14}, + {"Listen", Func, 0}, + {"LoadX509KeyPair", Func, 0}, + {"NewLRUClientSessionCache", Func, 3}, + {"NewListener", Func, 0}, + {"NewResumptionState", Func, 21}, + {"NoClientCert", Const, 0}, + {"PKCS1WithSHA1", Const, 8}, + {"PKCS1WithSHA256", Const, 8}, + {"PKCS1WithSHA384", Const, 8}, + {"PKCS1WithSHA512", Const, 8}, + {"PSSWithSHA256", Const, 8}, + {"PSSWithSHA384", Const, 8}, + {"PSSWithSHA512", Const, 8}, + {"ParseSessionState", Func, 21}, + {"QUICClient", Func, 21}, + {"QUICConfig", Type, 21}, + {"QUICConfig.TLSConfig", Field, 21}, + {"QUICConn", Type, 21}, + {"QUICEncryptionLevel", Type, 21}, + {"QUICEncryptionLevelApplication", Const, 21}, + {"QUICEncryptionLevelEarly", Const, 21}, + {"QUICEncryptionLevelHandshake", Const, 21}, + {"QUICEncryptionLevelInitial", Const, 21}, + {"QUICEvent", Type, 21}, + {"QUICEvent.Data", Field, 21}, + {"QUICEvent.Kind", Field, 21}, + {"QUICEvent.Level", Field, 21}, + {"QUICEvent.Suite", Field, 21}, + {"QUICEventKind", Type, 21}, + {"QUICHandshakeDone", Const, 21}, + {"QUICNoEvent", Const, 21}, + {"QUICRejectedEarlyData", Const, 21}, + {"QUICServer", Func, 21}, + {"QUICSessionTicketOptions", Type, 21}, + {"QUICSessionTicketOptions.EarlyData", Field, 21}, + {"QUICSetReadSecret", Const, 21}, + {"QUICSetWriteSecret", Const, 21}, + {"QUICTransportParameters", Const, 21}, + {"QUICTransportParametersRequired", Const, 21}, + {"QUICWriteData", Const, 21}, + {"RecordHeaderError", Type, 6}, + {"RecordHeaderError.Conn", Field, 12}, + {"RecordHeaderError.Msg", Field, 6}, + {"RecordHeaderError.RecordHeader", Field, 6}, + {"RenegotiateFreelyAsClient", Const, 7}, + {"RenegotiateNever", Const, 7}, + {"RenegotiateOnceAsClient", Const, 7}, + {"RenegotiationSupport", Type, 7}, + {"RequestClientCert", Const, 0}, + {"RequireAndVerifyClientCert", Const, 0}, + {"RequireAnyClientCert", Const, 0}, + {"Server", Func, 0}, + {"SessionState", Type, 21}, + {"SessionState.EarlyData", Field, 21}, + {"SessionState.Extra", Field, 21}, + {"SignatureScheme", Type, 8}, + {"TLS_AES_128_GCM_SHA256", Const, 12}, + {"TLS_AES_256_GCM_SHA384", Const, 12}, + {"TLS_CHACHA20_POLY1305_SHA256", Const, 12}, + {"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", Const, 2}, + {"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", Const, 8}, + {"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", Const, 2}, + {"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", Const, 2}, + {"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", Const, 5}, + {"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305", Const, 8}, + {"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", Const, 14}, + {"TLS_ECDHE_ECDSA_WITH_RC4_128_SHA", Const, 2}, + {"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA", Const, 0}, + {"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", Const, 0}, + {"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", Const, 8}, + {"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", Const, 2}, + {"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", Const, 1}, + {"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", Const, 5}, + {"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305", Const, 8}, + {"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", Const, 14}, + {"TLS_ECDHE_RSA_WITH_RC4_128_SHA", Const, 0}, + {"TLS_FALLBACK_SCSV", Const, 4}, + {"TLS_RSA_WITH_3DES_EDE_CBC_SHA", Const, 0}, + {"TLS_RSA_WITH_AES_128_CBC_SHA", Const, 0}, + {"TLS_RSA_WITH_AES_128_CBC_SHA256", Const, 8}, + {"TLS_RSA_WITH_AES_128_GCM_SHA256", Const, 6}, + {"TLS_RSA_WITH_AES_256_CBC_SHA", Const, 1}, + {"TLS_RSA_WITH_AES_256_GCM_SHA384", Const, 6}, + {"TLS_RSA_WITH_RC4_128_SHA", Const, 0}, + {"VerifyClientCertIfGiven", Const, 0}, + {"VersionName", Func, 21}, + {"VersionSSL30", Const, 2}, + {"VersionTLS10", Const, 2}, + {"VersionTLS11", Const, 2}, + {"VersionTLS12", Const, 2}, + {"VersionTLS13", Const, 12}, + {"X25519", Const, 8}, + {"X509KeyPair", Func, 0}, + }, + "crypto/x509": { + {"(*CertPool).AddCert", Method, 0}, + {"(*CertPool).AddCertWithConstraint", Method, 22}, + {"(*CertPool).AppendCertsFromPEM", Method, 0}, + {"(*CertPool).Clone", Method, 19}, + {"(*CertPool).Equal", Method, 19}, + {"(*CertPool).Subjects", Method, 0}, + {"(*Certificate).CheckCRLSignature", Method, 0}, + {"(*Certificate).CheckSignature", Method, 0}, + {"(*Certificate).CheckSignatureFrom", Method, 0}, + {"(*Certificate).CreateCRL", Method, 0}, + {"(*Certificate).Equal", Method, 0}, + {"(*Certificate).Verify", Method, 0}, + {"(*Certificate).VerifyHostname", Method, 0}, + {"(*CertificateRequest).CheckSignature", Method, 5}, + {"(*RevocationList).CheckSignatureFrom", Method, 19}, + {"(CertificateInvalidError).Error", Method, 0}, + {"(ConstraintViolationError).Error", Method, 0}, + {"(HostnameError).Error", Method, 0}, + {"(InsecureAlgorithmError).Error", Method, 6}, + {"(OID).Equal", Method, 22}, + {"(OID).EqualASN1OID", Method, 22}, + {"(OID).String", Method, 22}, + {"(PublicKeyAlgorithm).String", Method, 10}, + {"(SignatureAlgorithm).String", Method, 6}, + {"(SystemRootsError).Error", Method, 1}, + {"(SystemRootsError).Unwrap", Method, 16}, + {"(UnhandledCriticalExtension).Error", Method, 0}, + {"(UnknownAuthorityError).Error", Method, 0}, + {"CANotAuthorizedForExtKeyUsage", Const, 10}, + {"CANotAuthorizedForThisName", Const, 0}, + {"CertPool", Type, 0}, + {"Certificate", Type, 0}, + {"Certificate.AuthorityKeyId", Field, 0}, + {"Certificate.BasicConstraintsValid", Field, 0}, + {"Certificate.CRLDistributionPoints", Field, 2}, + {"Certificate.DNSNames", Field, 0}, + {"Certificate.EmailAddresses", Field, 0}, + {"Certificate.ExcludedDNSDomains", Field, 9}, + {"Certificate.ExcludedEmailAddresses", Field, 10}, + {"Certificate.ExcludedIPRanges", Field, 10}, + {"Certificate.ExcludedURIDomains", Field, 10}, + {"Certificate.ExtKeyUsage", Field, 0}, + {"Certificate.Extensions", Field, 2}, + {"Certificate.ExtraExtensions", Field, 2}, + {"Certificate.IPAddresses", Field, 1}, + {"Certificate.IsCA", Field, 0}, + {"Certificate.Issuer", Field, 0}, + {"Certificate.IssuingCertificateURL", Field, 2}, + {"Certificate.KeyUsage", Field, 0}, + {"Certificate.MaxPathLen", Field, 0}, + {"Certificate.MaxPathLenZero", Field, 4}, + {"Certificate.NotAfter", Field, 0}, + {"Certificate.NotBefore", Field, 0}, + {"Certificate.OCSPServer", Field, 2}, + {"Certificate.PermittedDNSDomains", Field, 0}, + {"Certificate.PermittedDNSDomainsCritical", Field, 0}, + {"Certificate.PermittedEmailAddresses", Field, 10}, + {"Certificate.PermittedIPRanges", Field, 10}, + {"Certificate.PermittedURIDomains", Field, 10}, + {"Certificate.Policies", Field, 22}, + {"Certificate.PolicyIdentifiers", Field, 0}, + {"Certificate.PublicKey", Field, 0}, + {"Certificate.PublicKeyAlgorithm", Field, 0}, + {"Certificate.Raw", Field, 0}, + {"Certificate.RawIssuer", Field, 0}, + {"Certificate.RawSubject", Field, 0}, + {"Certificate.RawSubjectPublicKeyInfo", Field, 0}, + {"Certificate.RawTBSCertificate", Field, 0}, + {"Certificate.SerialNumber", Field, 0}, + {"Certificate.Signature", Field, 0}, + {"Certificate.SignatureAlgorithm", Field, 0}, + {"Certificate.Subject", Field, 0}, + {"Certificate.SubjectKeyId", Field, 0}, + {"Certificate.URIs", Field, 10}, + {"Certificate.UnhandledCriticalExtensions", Field, 5}, + {"Certificate.UnknownExtKeyUsage", Field, 0}, + {"Certificate.Version", Field, 0}, + {"CertificateInvalidError", Type, 0}, + {"CertificateInvalidError.Cert", Field, 0}, + {"CertificateInvalidError.Detail", Field, 10}, + {"CertificateInvalidError.Reason", Field, 0}, + {"CertificateRequest", Type, 3}, + {"CertificateRequest.Attributes", Field, 3}, + {"CertificateRequest.DNSNames", Field, 3}, + {"CertificateRequest.EmailAddresses", Field, 3}, + {"CertificateRequest.Extensions", Field, 3}, + {"CertificateRequest.ExtraExtensions", Field, 3}, + {"CertificateRequest.IPAddresses", Field, 3}, + {"CertificateRequest.PublicKey", Field, 3}, + {"CertificateRequest.PublicKeyAlgorithm", Field, 3}, + {"CertificateRequest.Raw", Field, 3}, + {"CertificateRequest.RawSubject", Field, 3}, + {"CertificateRequest.RawSubjectPublicKeyInfo", Field, 3}, + {"CertificateRequest.RawTBSCertificateRequest", Field, 3}, + {"CertificateRequest.Signature", Field, 3}, + {"CertificateRequest.SignatureAlgorithm", Field, 3}, + {"CertificateRequest.Subject", Field, 3}, + {"CertificateRequest.URIs", Field, 10}, + {"CertificateRequest.Version", Field, 3}, + {"ConstraintViolationError", Type, 0}, + {"CreateCertificate", Func, 0}, + {"CreateCertificateRequest", Func, 3}, + {"CreateRevocationList", Func, 15}, + {"DSA", Const, 0}, + {"DSAWithSHA1", Const, 0}, + {"DSAWithSHA256", Const, 0}, + {"DecryptPEMBlock", Func, 1}, + {"ECDSA", Const, 1}, + {"ECDSAWithSHA1", Const, 1}, + {"ECDSAWithSHA256", Const, 1}, + {"ECDSAWithSHA384", Const, 1}, + {"ECDSAWithSHA512", Const, 1}, + {"Ed25519", Const, 13}, + {"EncryptPEMBlock", Func, 1}, + {"ErrUnsupportedAlgorithm", Var, 0}, + {"Expired", Const, 0}, + {"ExtKeyUsage", Type, 0}, + {"ExtKeyUsageAny", Const, 0}, + {"ExtKeyUsageClientAuth", Const, 0}, + {"ExtKeyUsageCodeSigning", Const, 0}, + {"ExtKeyUsageEmailProtection", Const, 0}, + {"ExtKeyUsageIPSECEndSystem", Const, 1}, + {"ExtKeyUsageIPSECTunnel", Const, 1}, + {"ExtKeyUsageIPSECUser", Const, 1}, + {"ExtKeyUsageMicrosoftCommercialCodeSigning", Const, 10}, + {"ExtKeyUsageMicrosoftKernelCodeSigning", Const, 10}, + {"ExtKeyUsageMicrosoftServerGatedCrypto", Const, 1}, + {"ExtKeyUsageNetscapeServerGatedCrypto", Const, 1}, + {"ExtKeyUsageOCSPSigning", Const, 0}, + {"ExtKeyUsageServerAuth", Const, 0}, + {"ExtKeyUsageTimeStamping", Const, 0}, + {"HostnameError", Type, 0}, + {"HostnameError.Certificate", Field, 0}, + {"HostnameError.Host", Field, 0}, + {"IncompatibleUsage", Const, 1}, + {"IncorrectPasswordError", Var, 1}, + {"InsecureAlgorithmError", Type, 6}, + {"InvalidReason", Type, 0}, + {"IsEncryptedPEMBlock", Func, 1}, + {"KeyUsage", Type, 0}, + {"KeyUsageCRLSign", Const, 0}, + {"KeyUsageCertSign", Const, 0}, + {"KeyUsageContentCommitment", Const, 0}, + {"KeyUsageDataEncipherment", Const, 0}, + {"KeyUsageDecipherOnly", Const, 0}, + {"KeyUsageDigitalSignature", Const, 0}, + {"KeyUsageEncipherOnly", Const, 0}, + {"KeyUsageKeyAgreement", Const, 0}, + {"KeyUsageKeyEncipherment", Const, 0}, + {"MD2WithRSA", Const, 0}, + {"MD5WithRSA", Const, 0}, + {"MarshalECPrivateKey", Func, 2}, + {"MarshalPKCS1PrivateKey", Func, 0}, + {"MarshalPKCS1PublicKey", Func, 10}, + {"MarshalPKCS8PrivateKey", Func, 10}, + {"MarshalPKIXPublicKey", Func, 0}, + {"NameConstraintsWithoutSANs", Const, 10}, + {"NameMismatch", Const, 8}, + {"NewCertPool", Func, 0}, + {"NotAuthorizedToSign", Const, 0}, + {"OID", Type, 22}, + {"OIDFromInts", Func, 22}, + {"PEMCipher", Type, 1}, + {"PEMCipher3DES", Const, 1}, + {"PEMCipherAES128", Const, 1}, + {"PEMCipherAES192", Const, 1}, + {"PEMCipherAES256", Const, 1}, + {"PEMCipherDES", Const, 1}, + {"ParseCRL", Func, 0}, + {"ParseCertificate", Func, 0}, + {"ParseCertificateRequest", Func, 3}, + {"ParseCertificates", Func, 0}, + {"ParseDERCRL", Func, 0}, + {"ParseECPrivateKey", Func, 1}, + {"ParsePKCS1PrivateKey", Func, 0}, + {"ParsePKCS1PublicKey", Func, 10}, + {"ParsePKCS8PrivateKey", Func, 0}, + {"ParsePKIXPublicKey", Func, 0}, + {"ParseRevocationList", Func, 19}, + {"PublicKeyAlgorithm", Type, 0}, + {"PureEd25519", Const, 13}, + {"RSA", Const, 0}, + {"RevocationList", Type, 15}, + {"RevocationList.AuthorityKeyId", Field, 19}, + {"RevocationList.Extensions", Field, 19}, + {"RevocationList.ExtraExtensions", Field, 15}, + {"RevocationList.Issuer", Field, 19}, + {"RevocationList.NextUpdate", Field, 15}, + {"RevocationList.Number", Field, 15}, + {"RevocationList.Raw", Field, 19}, + {"RevocationList.RawIssuer", Field, 19}, + {"RevocationList.RawTBSRevocationList", Field, 19}, + {"RevocationList.RevokedCertificateEntries", Field, 21}, + {"RevocationList.RevokedCertificates", Field, 15}, + {"RevocationList.Signature", Field, 19}, + {"RevocationList.SignatureAlgorithm", Field, 15}, + {"RevocationList.ThisUpdate", Field, 15}, + {"RevocationListEntry", Type, 21}, + {"RevocationListEntry.Extensions", Field, 21}, + {"RevocationListEntry.ExtraExtensions", Field, 21}, + {"RevocationListEntry.Raw", Field, 21}, + {"RevocationListEntry.ReasonCode", Field, 21}, + {"RevocationListEntry.RevocationTime", Field, 21}, + {"RevocationListEntry.SerialNumber", Field, 21}, + {"SHA1WithRSA", Const, 0}, + {"SHA256WithRSA", Const, 0}, + {"SHA256WithRSAPSS", Const, 8}, + {"SHA384WithRSA", Const, 0}, + {"SHA384WithRSAPSS", Const, 8}, + {"SHA512WithRSA", Const, 0}, + {"SHA512WithRSAPSS", Const, 8}, + {"SetFallbackRoots", Func, 20}, + {"SignatureAlgorithm", Type, 0}, + {"SystemCertPool", Func, 7}, + {"SystemRootsError", Type, 1}, + {"SystemRootsError.Err", Field, 7}, + {"TooManyConstraints", Const, 10}, + {"TooManyIntermediates", Const, 0}, + {"UnconstrainedName", Const, 10}, + {"UnhandledCriticalExtension", Type, 0}, + {"UnknownAuthorityError", Type, 0}, + {"UnknownAuthorityError.Cert", Field, 8}, + {"UnknownPublicKeyAlgorithm", Const, 0}, + {"UnknownSignatureAlgorithm", Const, 0}, + {"VerifyOptions", Type, 0}, + {"VerifyOptions.CurrentTime", Field, 0}, + {"VerifyOptions.DNSName", Field, 0}, + {"VerifyOptions.Intermediates", Field, 0}, + {"VerifyOptions.KeyUsages", Field, 1}, + {"VerifyOptions.MaxConstraintComparisions", Field, 10}, + {"VerifyOptions.Roots", Field, 0}, + }, + "crypto/x509/pkix": { + {"(*CertificateList).HasExpired", Method, 0}, + {"(*Name).FillFromRDNSequence", Method, 0}, + {"(Name).String", Method, 10}, + {"(Name).ToRDNSequence", Method, 0}, + {"(RDNSequence).String", Method, 10}, + {"AlgorithmIdentifier", Type, 0}, + {"AlgorithmIdentifier.Algorithm", Field, 0}, + {"AlgorithmIdentifier.Parameters", Field, 0}, + {"AttributeTypeAndValue", Type, 0}, + {"AttributeTypeAndValue.Type", Field, 0}, + {"AttributeTypeAndValue.Value", Field, 0}, + {"AttributeTypeAndValueSET", Type, 3}, + {"AttributeTypeAndValueSET.Type", Field, 3}, + {"AttributeTypeAndValueSET.Value", Field, 3}, + {"CertificateList", Type, 0}, + {"CertificateList.SignatureAlgorithm", Field, 0}, + {"CertificateList.SignatureValue", Field, 0}, + {"CertificateList.TBSCertList", Field, 0}, + {"Extension", Type, 0}, + {"Extension.Critical", Field, 0}, + {"Extension.Id", Field, 0}, + {"Extension.Value", Field, 0}, + {"Name", Type, 0}, + {"Name.CommonName", Field, 0}, + {"Name.Country", Field, 0}, + {"Name.ExtraNames", Field, 5}, + {"Name.Locality", Field, 0}, + {"Name.Names", Field, 0}, + {"Name.Organization", Field, 0}, + {"Name.OrganizationalUnit", Field, 0}, + {"Name.PostalCode", Field, 0}, + {"Name.Province", Field, 0}, + {"Name.SerialNumber", Field, 0}, + {"Name.StreetAddress", Field, 0}, + {"RDNSequence", Type, 0}, + {"RelativeDistinguishedNameSET", Type, 0}, + {"RevokedCertificate", Type, 0}, + {"RevokedCertificate.Extensions", Field, 0}, + {"RevokedCertificate.RevocationTime", Field, 0}, + {"RevokedCertificate.SerialNumber", Field, 0}, + {"TBSCertificateList", Type, 0}, + {"TBSCertificateList.Extensions", Field, 0}, + {"TBSCertificateList.Issuer", Field, 0}, + {"TBSCertificateList.NextUpdate", Field, 0}, + {"TBSCertificateList.Raw", Field, 0}, + {"TBSCertificateList.RevokedCertificates", Field, 0}, + {"TBSCertificateList.Signature", Field, 0}, + {"TBSCertificateList.ThisUpdate", Field, 0}, + {"TBSCertificateList.Version", Field, 0}, + }, + "database/sql": { + {"(*ColumnType).DatabaseTypeName", Method, 8}, + {"(*ColumnType).DecimalSize", Method, 8}, + {"(*ColumnType).Length", Method, 8}, + {"(*ColumnType).Name", Method, 8}, + {"(*ColumnType).Nullable", Method, 8}, + {"(*ColumnType).ScanType", Method, 8}, + {"(*Conn).BeginTx", Method, 9}, + {"(*Conn).Close", Method, 9}, + {"(*Conn).ExecContext", Method, 9}, + {"(*Conn).PingContext", Method, 9}, + {"(*Conn).PrepareContext", Method, 9}, + {"(*Conn).QueryContext", Method, 9}, + {"(*Conn).QueryRowContext", Method, 9}, + {"(*Conn).Raw", Method, 13}, + {"(*DB).Begin", Method, 0}, + {"(*DB).BeginTx", Method, 8}, + {"(*DB).Close", Method, 0}, + {"(*DB).Conn", Method, 9}, + {"(*DB).Driver", Method, 0}, + {"(*DB).Exec", Method, 0}, + {"(*DB).ExecContext", Method, 8}, + {"(*DB).Ping", Method, 1}, + {"(*DB).PingContext", Method, 8}, + {"(*DB).Prepare", Method, 0}, + {"(*DB).PrepareContext", Method, 8}, + {"(*DB).Query", Method, 0}, + {"(*DB).QueryContext", Method, 8}, + {"(*DB).QueryRow", Method, 0}, + {"(*DB).QueryRowContext", Method, 8}, + {"(*DB).SetConnMaxIdleTime", Method, 15}, + {"(*DB).SetConnMaxLifetime", Method, 6}, + {"(*DB).SetMaxIdleConns", Method, 1}, + {"(*DB).SetMaxOpenConns", Method, 2}, + {"(*DB).Stats", Method, 5}, + {"(*Null).Scan", Method, 22}, + {"(*NullBool).Scan", Method, 0}, + {"(*NullByte).Scan", Method, 17}, + {"(*NullFloat64).Scan", Method, 0}, + {"(*NullInt16).Scan", Method, 17}, + {"(*NullInt32).Scan", Method, 13}, + {"(*NullInt64).Scan", Method, 0}, + {"(*NullString).Scan", Method, 0}, + {"(*NullTime).Scan", Method, 13}, + {"(*Row).Err", Method, 15}, + {"(*Row).Scan", Method, 0}, + {"(*Rows).Close", Method, 0}, + {"(*Rows).ColumnTypes", Method, 8}, + {"(*Rows).Columns", Method, 0}, + {"(*Rows).Err", Method, 0}, + {"(*Rows).Next", Method, 0}, + {"(*Rows).NextResultSet", Method, 8}, + {"(*Rows).Scan", Method, 0}, + {"(*Stmt).Close", Method, 0}, + {"(*Stmt).Exec", Method, 0}, + {"(*Stmt).ExecContext", Method, 8}, + {"(*Stmt).Query", Method, 0}, + {"(*Stmt).QueryContext", Method, 8}, + {"(*Stmt).QueryRow", Method, 0}, + {"(*Stmt).QueryRowContext", Method, 8}, + {"(*Tx).Commit", Method, 0}, + {"(*Tx).Exec", Method, 0}, + {"(*Tx).ExecContext", Method, 8}, + {"(*Tx).Prepare", Method, 0}, + {"(*Tx).PrepareContext", Method, 8}, + {"(*Tx).Query", Method, 0}, + {"(*Tx).QueryContext", Method, 8}, + {"(*Tx).QueryRow", Method, 0}, + {"(*Tx).QueryRowContext", Method, 8}, + {"(*Tx).Rollback", Method, 0}, + {"(*Tx).Stmt", Method, 0}, + {"(*Tx).StmtContext", Method, 8}, + {"(IsolationLevel).String", Method, 11}, + {"(Null).Value", Method, 22}, + {"(NullBool).Value", Method, 0}, + {"(NullByte).Value", Method, 17}, + {"(NullFloat64).Value", Method, 0}, + {"(NullInt16).Value", Method, 17}, + {"(NullInt32).Value", Method, 13}, + {"(NullInt64).Value", Method, 0}, + {"(NullString).Value", Method, 0}, + {"(NullTime).Value", Method, 13}, + {"ColumnType", Type, 8}, + {"Conn", Type, 9}, + {"DB", Type, 0}, + {"DBStats", Type, 5}, + {"DBStats.Idle", Field, 11}, + {"DBStats.InUse", Field, 11}, + {"DBStats.MaxIdleClosed", Field, 11}, + {"DBStats.MaxIdleTimeClosed", Field, 15}, + {"DBStats.MaxLifetimeClosed", Field, 11}, + {"DBStats.MaxOpenConnections", Field, 11}, + {"DBStats.OpenConnections", Field, 5}, + {"DBStats.WaitCount", Field, 11}, + {"DBStats.WaitDuration", Field, 11}, + {"Drivers", Func, 4}, + {"ErrConnDone", Var, 9}, + {"ErrNoRows", Var, 0}, + {"ErrTxDone", Var, 0}, + {"IsolationLevel", Type, 8}, + {"LevelDefault", Const, 8}, + {"LevelLinearizable", Const, 8}, + {"LevelReadCommitted", Const, 8}, + {"LevelReadUncommitted", Const, 8}, + {"LevelRepeatableRead", Const, 8}, + {"LevelSerializable", Const, 8}, + {"LevelSnapshot", Const, 8}, + {"LevelWriteCommitted", Const, 8}, + {"Named", Func, 8}, + {"NamedArg", Type, 8}, + {"NamedArg.Name", Field, 8}, + {"NamedArg.Value", Field, 8}, + {"Null", Type, 22}, + {"Null.V", Field, 22}, + {"Null.Valid", Field, 22}, + {"NullBool", Type, 0}, + {"NullBool.Bool", Field, 0}, + {"NullBool.Valid", Field, 0}, + {"NullByte", Type, 17}, + {"NullByte.Byte", Field, 17}, + {"NullByte.Valid", Field, 17}, + {"NullFloat64", Type, 0}, + {"NullFloat64.Float64", Field, 0}, + {"NullFloat64.Valid", Field, 0}, + {"NullInt16", Type, 17}, + {"NullInt16.Int16", Field, 17}, + {"NullInt16.Valid", Field, 17}, + {"NullInt32", Type, 13}, + {"NullInt32.Int32", Field, 13}, + {"NullInt32.Valid", Field, 13}, + {"NullInt64", Type, 0}, + {"NullInt64.Int64", Field, 0}, + {"NullInt64.Valid", Field, 0}, + {"NullString", Type, 0}, + {"NullString.String", Field, 0}, + {"NullString.Valid", Field, 0}, + {"NullTime", Type, 13}, + {"NullTime.Time", Field, 13}, + {"NullTime.Valid", Field, 13}, + {"Open", Func, 0}, + {"OpenDB", Func, 10}, + {"Out", Type, 9}, + {"Out.Dest", Field, 9}, + {"Out.In", Field, 9}, + {"RawBytes", Type, 0}, + {"Register", Func, 0}, + {"Result", Type, 0}, + {"Row", Type, 0}, + {"Rows", Type, 0}, + {"Scanner", Type, 0}, + {"Stmt", Type, 0}, + {"Tx", Type, 0}, + {"TxOptions", Type, 8}, + {"TxOptions.Isolation", Field, 8}, + {"TxOptions.ReadOnly", Field, 8}, + }, + "database/sql/driver": { + {"(NotNull).ConvertValue", Method, 0}, + {"(Null).ConvertValue", Method, 0}, + {"(RowsAffected).LastInsertId", Method, 0}, + {"(RowsAffected).RowsAffected", Method, 0}, + {"Bool", Var, 0}, + {"ColumnConverter", Type, 0}, + {"Conn", Type, 0}, + {"ConnBeginTx", Type, 8}, + {"ConnPrepareContext", Type, 8}, + {"Connector", Type, 10}, + {"DefaultParameterConverter", Var, 0}, + {"Driver", Type, 0}, + {"DriverContext", Type, 10}, + {"ErrBadConn", Var, 0}, + {"ErrRemoveArgument", Var, 9}, + {"ErrSkip", Var, 0}, + {"Execer", Type, 0}, + {"ExecerContext", Type, 8}, + {"Int32", Var, 0}, + {"IsScanValue", Func, 0}, + {"IsValue", Func, 0}, + {"IsolationLevel", Type, 8}, + {"NamedValue", Type, 8}, + {"NamedValue.Name", Field, 8}, + {"NamedValue.Ordinal", Field, 8}, + {"NamedValue.Value", Field, 8}, + {"NamedValueChecker", Type, 9}, + {"NotNull", Type, 0}, + {"NotNull.Converter", Field, 0}, + {"Null", Type, 0}, + {"Null.Converter", Field, 0}, + {"Pinger", Type, 8}, + {"Queryer", Type, 1}, + {"QueryerContext", Type, 8}, + {"Result", Type, 0}, + {"ResultNoRows", Var, 0}, + {"Rows", Type, 0}, + {"RowsAffected", Type, 0}, + {"RowsColumnTypeDatabaseTypeName", Type, 8}, + {"RowsColumnTypeLength", Type, 8}, + {"RowsColumnTypeNullable", Type, 8}, + {"RowsColumnTypePrecisionScale", Type, 8}, + {"RowsColumnTypeScanType", Type, 8}, + {"RowsNextResultSet", Type, 8}, + {"SessionResetter", Type, 10}, + {"Stmt", Type, 0}, + {"StmtExecContext", Type, 8}, + {"StmtQueryContext", Type, 8}, + {"String", Var, 0}, + {"Tx", Type, 0}, + {"TxOptions", Type, 8}, + {"TxOptions.Isolation", Field, 8}, + {"TxOptions.ReadOnly", Field, 8}, + {"Validator", Type, 15}, + {"Value", Type, 0}, + {"ValueConverter", Type, 0}, + {"Valuer", Type, 0}, + }, + "debug/buildinfo": { + {"BuildInfo", Type, 18}, + {"Read", Func, 18}, + {"ReadFile", Func, 18}, + }, + "debug/dwarf": { + {"(*AddrType).Basic", Method, 0}, + {"(*AddrType).Common", Method, 0}, + {"(*AddrType).Size", Method, 0}, + {"(*AddrType).String", Method, 0}, + {"(*ArrayType).Common", Method, 0}, + {"(*ArrayType).Size", Method, 0}, + {"(*ArrayType).String", Method, 0}, + {"(*BasicType).Basic", Method, 0}, + {"(*BasicType).Common", Method, 0}, + {"(*BasicType).Size", Method, 0}, + {"(*BasicType).String", Method, 0}, + {"(*BoolType).Basic", Method, 0}, + {"(*BoolType).Common", Method, 0}, + {"(*BoolType).Size", Method, 0}, + {"(*BoolType).String", Method, 0}, + {"(*CharType).Basic", Method, 0}, + {"(*CharType).Common", Method, 0}, + {"(*CharType).Size", Method, 0}, + {"(*CharType).String", Method, 0}, + {"(*CommonType).Common", Method, 0}, + {"(*CommonType).Size", Method, 0}, + {"(*ComplexType).Basic", Method, 0}, + {"(*ComplexType).Common", Method, 0}, + {"(*ComplexType).Size", Method, 0}, + {"(*ComplexType).String", Method, 0}, + {"(*Data).AddSection", Method, 14}, + {"(*Data).AddTypes", Method, 3}, + {"(*Data).LineReader", Method, 5}, + {"(*Data).Ranges", Method, 7}, + {"(*Data).Reader", Method, 0}, + {"(*Data).Type", Method, 0}, + {"(*DotDotDotType).Common", Method, 0}, + {"(*DotDotDotType).Size", Method, 0}, + {"(*DotDotDotType).String", Method, 0}, + {"(*Entry).AttrField", Method, 5}, + {"(*Entry).Val", Method, 0}, + {"(*EnumType).Common", Method, 0}, + {"(*EnumType).Size", Method, 0}, + {"(*EnumType).String", Method, 0}, + {"(*FloatType).Basic", Method, 0}, + {"(*FloatType).Common", Method, 0}, + {"(*FloatType).Size", Method, 0}, + {"(*FloatType).String", Method, 0}, + {"(*FuncType).Common", Method, 0}, + {"(*FuncType).Size", Method, 0}, + {"(*FuncType).String", Method, 0}, + {"(*IntType).Basic", Method, 0}, + {"(*IntType).Common", Method, 0}, + {"(*IntType).Size", Method, 0}, + {"(*IntType).String", Method, 0}, + {"(*LineReader).Files", Method, 14}, + {"(*LineReader).Next", Method, 5}, + {"(*LineReader).Reset", Method, 5}, + {"(*LineReader).Seek", Method, 5}, + {"(*LineReader).SeekPC", Method, 5}, + {"(*LineReader).Tell", Method, 5}, + {"(*PtrType).Common", Method, 0}, + {"(*PtrType).Size", Method, 0}, + {"(*PtrType).String", Method, 0}, + {"(*QualType).Common", Method, 0}, + {"(*QualType).Size", Method, 0}, + {"(*QualType).String", Method, 0}, + {"(*Reader).AddressSize", Method, 5}, + {"(*Reader).ByteOrder", Method, 14}, + {"(*Reader).Next", Method, 0}, + {"(*Reader).Seek", Method, 0}, + {"(*Reader).SeekPC", Method, 7}, + {"(*Reader).SkipChildren", Method, 0}, + {"(*StructType).Common", Method, 0}, + {"(*StructType).Defn", Method, 0}, + {"(*StructType).Size", Method, 0}, + {"(*StructType).String", Method, 0}, + {"(*TypedefType).Common", Method, 0}, + {"(*TypedefType).Size", Method, 0}, + {"(*TypedefType).String", Method, 0}, + {"(*UcharType).Basic", Method, 0}, + {"(*UcharType).Common", Method, 0}, + {"(*UcharType).Size", Method, 0}, + {"(*UcharType).String", Method, 0}, + {"(*UintType).Basic", Method, 0}, + {"(*UintType).Common", Method, 0}, + {"(*UintType).Size", Method, 0}, + {"(*UintType).String", Method, 0}, + {"(*UnspecifiedType).Basic", Method, 4}, + {"(*UnspecifiedType).Common", Method, 4}, + {"(*UnspecifiedType).Size", Method, 4}, + {"(*UnspecifiedType).String", Method, 4}, + {"(*UnsupportedType).Common", Method, 13}, + {"(*UnsupportedType).Size", Method, 13}, + {"(*UnsupportedType).String", Method, 13}, + {"(*VoidType).Common", Method, 0}, + {"(*VoidType).Size", Method, 0}, + {"(*VoidType).String", Method, 0}, + {"(Attr).GoString", Method, 0}, + {"(Attr).String", Method, 0}, + {"(Class).GoString", Method, 5}, + {"(Class).String", Method, 5}, + {"(DecodeError).Error", Method, 0}, + {"(Tag).GoString", Method, 0}, + {"(Tag).String", Method, 0}, + {"AddrType", Type, 0}, + {"AddrType.BasicType", Field, 0}, + {"ArrayType", Type, 0}, + {"ArrayType.CommonType", Field, 0}, + {"ArrayType.Count", Field, 0}, + {"ArrayType.StrideBitSize", Field, 0}, + {"ArrayType.Type", Field, 0}, + {"Attr", Type, 0}, + {"AttrAbstractOrigin", Const, 0}, + {"AttrAccessibility", Const, 0}, + {"AttrAddrBase", Const, 14}, + {"AttrAddrClass", Const, 0}, + {"AttrAlignment", Const, 14}, + {"AttrAllocated", Const, 0}, + {"AttrArtificial", Const, 0}, + {"AttrAssociated", Const, 0}, + {"AttrBaseTypes", Const, 0}, + {"AttrBinaryScale", Const, 14}, + {"AttrBitOffset", Const, 0}, + {"AttrBitSize", Const, 0}, + {"AttrByteSize", Const, 0}, + {"AttrCallAllCalls", Const, 14}, + {"AttrCallAllSourceCalls", Const, 14}, + {"AttrCallAllTailCalls", Const, 14}, + {"AttrCallColumn", Const, 0}, + {"AttrCallDataLocation", Const, 14}, + {"AttrCallDataValue", Const, 14}, + {"AttrCallFile", Const, 0}, + {"AttrCallLine", Const, 0}, + {"AttrCallOrigin", Const, 14}, + {"AttrCallPC", Const, 14}, + {"AttrCallParameter", Const, 14}, + {"AttrCallReturnPC", Const, 14}, + {"AttrCallTailCall", Const, 14}, + {"AttrCallTarget", Const, 14}, + {"AttrCallTargetClobbered", Const, 14}, + {"AttrCallValue", Const, 14}, + {"AttrCalling", Const, 0}, + {"AttrCommonRef", Const, 0}, + {"AttrCompDir", Const, 0}, + {"AttrConstExpr", Const, 14}, + {"AttrConstValue", Const, 0}, + {"AttrContainingType", Const, 0}, + {"AttrCount", Const, 0}, + {"AttrDataBitOffset", Const, 14}, + {"AttrDataLocation", Const, 0}, + {"AttrDataMemberLoc", Const, 0}, + {"AttrDecimalScale", Const, 14}, + {"AttrDecimalSign", Const, 14}, + {"AttrDeclColumn", Const, 0}, + {"AttrDeclFile", Const, 0}, + {"AttrDeclLine", Const, 0}, + {"AttrDeclaration", Const, 0}, + {"AttrDefaultValue", Const, 0}, + {"AttrDefaulted", Const, 14}, + {"AttrDeleted", Const, 14}, + {"AttrDescription", Const, 0}, + {"AttrDigitCount", Const, 14}, + {"AttrDiscr", Const, 0}, + {"AttrDiscrList", Const, 0}, + {"AttrDiscrValue", Const, 0}, + {"AttrDwoName", Const, 14}, + {"AttrElemental", Const, 14}, + {"AttrEncoding", Const, 0}, + {"AttrEndianity", Const, 14}, + {"AttrEntrypc", Const, 0}, + {"AttrEnumClass", Const, 14}, + {"AttrExplicit", Const, 14}, + {"AttrExportSymbols", Const, 14}, + {"AttrExtension", Const, 0}, + {"AttrExternal", Const, 0}, + {"AttrFrameBase", Const, 0}, + {"AttrFriend", Const, 0}, + {"AttrHighpc", Const, 0}, + {"AttrIdentifierCase", Const, 0}, + {"AttrImport", Const, 0}, + {"AttrInline", Const, 0}, + {"AttrIsOptional", Const, 0}, + {"AttrLanguage", Const, 0}, + {"AttrLinkageName", Const, 14}, + {"AttrLocation", Const, 0}, + {"AttrLoclistsBase", Const, 14}, + {"AttrLowerBound", Const, 0}, + {"AttrLowpc", Const, 0}, + {"AttrMacroInfo", Const, 0}, + {"AttrMacros", Const, 14}, + {"AttrMainSubprogram", Const, 14}, + {"AttrMutable", Const, 14}, + {"AttrName", Const, 0}, + {"AttrNamelistItem", Const, 0}, + {"AttrNoreturn", Const, 14}, + {"AttrObjectPointer", Const, 14}, + {"AttrOrdering", Const, 0}, + {"AttrPictureString", Const, 14}, + {"AttrPriority", Const, 0}, + {"AttrProducer", Const, 0}, + {"AttrPrototyped", Const, 0}, + {"AttrPure", Const, 14}, + {"AttrRanges", Const, 0}, + {"AttrRank", Const, 14}, + {"AttrRecursive", Const, 14}, + {"AttrReference", Const, 14}, + {"AttrReturnAddr", Const, 0}, + {"AttrRnglistsBase", Const, 14}, + {"AttrRvalueReference", Const, 14}, + {"AttrSegment", Const, 0}, + {"AttrSibling", Const, 0}, + {"AttrSignature", Const, 14}, + {"AttrSmall", Const, 14}, + {"AttrSpecification", Const, 0}, + {"AttrStartScope", Const, 0}, + {"AttrStaticLink", Const, 0}, + {"AttrStmtList", Const, 0}, + {"AttrStrOffsetsBase", Const, 14}, + {"AttrStride", Const, 0}, + {"AttrStrideSize", Const, 0}, + {"AttrStringLength", Const, 0}, + {"AttrStringLengthBitSize", Const, 14}, + {"AttrStringLengthByteSize", Const, 14}, + {"AttrThreadsScaled", Const, 14}, + {"AttrTrampoline", Const, 0}, + {"AttrType", Const, 0}, + {"AttrUpperBound", Const, 0}, + {"AttrUseLocation", Const, 0}, + {"AttrUseUTF8", Const, 0}, + {"AttrVarParam", Const, 0}, + {"AttrVirtuality", Const, 0}, + {"AttrVisibility", Const, 0}, + {"AttrVtableElemLoc", Const, 0}, + {"BasicType", Type, 0}, + {"BasicType.BitOffset", Field, 0}, + {"BasicType.BitSize", Field, 0}, + {"BasicType.CommonType", Field, 0}, + {"BasicType.DataBitOffset", Field, 18}, + {"BoolType", Type, 0}, + {"BoolType.BasicType", Field, 0}, + {"CharType", Type, 0}, + {"CharType.BasicType", Field, 0}, + {"Class", Type, 5}, + {"ClassAddrPtr", Const, 14}, + {"ClassAddress", Const, 5}, + {"ClassBlock", Const, 5}, + {"ClassConstant", Const, 5}, + {"ClassExprLoc", Const, 5}, + {"ClassFlag", Const, 5}, + {"ClassLinePtr", Const, 5}, + {"ClassLocList", Const, 14}, + {"ClassLocListPtr", Const, 5}, + {"ClassMacPtr", Const, 5}, + {"ClassRangeListPtr", Const, 5}, + {"ClassReference", Const, 5}, + {"ClassReferenceAlt", Const, 5}, + {"ClassReferenceSig", Const, 5}, + {"ClassRngList", Const, 14}, + {"ClassRngListsPtr", Const, 14}, + {"ClassStrOffsetsPtr", Const, 14}, + {"ClassString", Const, 5}, + {"ClassStringAlt", Const, 5}, + {"ClassUnknown", Const, 6}, + {"CommonType", Type, 0}, + {"CommonType.ByteSize", Field, 0}, + {"CommonType.Name", Field, 0}, + {"ComplexType", Type, 0}, + {"ComplexType.BasicType", Field, 0}, + {"Data", Type, 0}, + {"DecodeError", Type, 0}, + {"DecodeError.Err", Field, 0}, + {"DecodeError.Name", Field, 0}, + {"DecodeError.Offset", Field, 0}, + {"DotDotDotType", Type, 0}, + {"DotDotDotType.CommonType", Field, 0}, + {"Entry", Type, 0}, + {"Entry.Children", Field, 0}, + {"Entry.Field", Field, 0}, + {"Entry.Offset", Field, 0}, + {"Entry.Tag", Field, 0}, + {"EnumType", Type, 0}, + {"EnumType.CommonType", Field, 0}, + {"EnumType.EnumName", Field, 0}, + {"EnumType.Val", Field, 0}, + {"EnumValue", Type, 0}, + {"EnumValue.Name", Field, 0}, + {"EnumValue.Val", Field, 0}, + {"ErrUnknownPC", Var, 5}, + {"Field", Type, 0}, + {"Field.Attr", Field, 0}, + {"Field.Class", Field, 5}, + {"Field.Val", Field, 0}, + {"FloatType", Type, 0}, + {"FloatType.BasicType", Field, 0}, + {"FuncType", Type, 0}, + {"FuncType.CommonType", Field, 0}, + {"FuncType.ParamType", Field, 0}, + {"FuncType.ReturnType", Field, 0}, + {"IntType", Type, 0}, + {"IntType.BasicType", Field, 0}, + {"LineEntry", Type, 5}, + {"LineEntry.Address", Field, 5}, + {"LineEntry.BasicBlock", Field, 5}, + {"LineEntry.Column", Field, 5}, + {"LineEntry.Discriminator", Field, 5}, + {"LineEntry.EndSequence", Field, 5}, + {"LineEntry.EpilogueBegin", Field, 5}, + {"LineEntry.File", Field, 5}, + {"LineEntry.ISA", Field, 5}, + {"LineEntry.IsStmt", Field, 5}, + {"LineEntry.Line", Field, 5}, + {"LineEntry.OpIndex", Field, 5}, + {"LineEntry.PrologueEnd", Field, 5}, + {"LineFile", Type, 5}, + {"LineFile.Length", Field, 5}, + {"LineFile.Mtime", Field, 5}, + {"LineFile.Name", Field, 5}, + {"LineReader", Type, 5}, + {"LineReaderPos", Type, 5}, + {"New", Func, 0}, + {"Offset", Type, 0}, + {"PtrType", Type, 0}, + {"PtrType.CommonType", Field, 0}, + {"PtrType.Type", Field, 0}, + {"QualType", Type, 0}, + {"QualType.CommonType", Field, 0}, + {"QualType.Qual", Field, 0}, + {"QualType.Type", Field, 0}, + {"Reader", Type, 0}, + {"StructField", Type, 0}, + {"StructField.BitOffset", Field, 0}, + {"StructField.BitSize", Field, 0}, + {"StructField.ByteOffset", Field, 0}, + {"StructField.ByteSize", Field, 0}, + {"StructField.DataBitOffset", Field, 18}, + {"StructField.Name", Field, 0}, + {"StructField.Type", Field, 0}, + {"StructType", Type, 0}, + {"StructType.CommonType", Field, 0}, + {"StructType.Field", Field, 0}, + {"StructType.Incomplete", Field, 0}, + {"StructType.Kind", Field, 0}, + {"StructType.StructName", Field, 0}, + {"Tag", Type, 0}, + {"TagAccessDeclaration", Const, 0}, + {"TagArrayType", Const, 0}, + {"TagAtomicType", Const, 14}, + {"TagBaseType", Const, 0}, + {"TagCallSite", Const, 14}, + {"TagCallSiteParameter", Const, 14}, + {"TagCatchDwarfBlock", Const, 0}, + {"TagClassType", Const, 0}, + {"TagCoarrayType", Const, 14}, + {"TagCommonDwarfBlock", Const, 0}, + {"TagCommonInclusion", Const, 0}, + {"TagCompileUnit", Const, 0}, + {"TagCondition", Const, 3}, + {"TagConstType", Const, 0}, + {"TagConstant", Const, 0}, + {"TagDwarfProcedure", Const, 0}, + {"TagDynamicType", Const, 14}, + {"TagEntryPoint", Const, 0}, + {"TagEnumerationType", Const, 0}, + {"TagEnumerator", Const, 0}, + {"TagFileType", Const, 0}, + {"TagFormalParameter", Const, 0}, + {"TagFriend", Const, 0}, + {"TagGenericSubrange", Const, 14}, + {"TagImmutableType", Const, 14}, + {"TagImportedDeclaration", Const, 0}, + {"TagImportedModule", Const, 0}, + {"TagImportedUnit", Const, 0}, + {"TagInheritance", Const, 0}, + {"TagInlinedSubroutine", Const, 0}, + {"TagInterfaceType", Const, 0}, + {"TagLabel", Const, 0}, + {"TagLexDwarfBlock", Const, 0}, + {"TagMember", Const, 0}, + {"TagModule", Const, 0}, + {"TagMutableType", Const, 0}, + {"TagNamelist", Const, 0}, + {"TagNamelistItem", Const, 0}, + {"TagNamespace", Const, 0}, + {"TagPackedType", Const, 0}, + {"TagPartialUnit", Const, 0}, + {"TagPointerType", Const, 0}, + {"TagPtrToMemberType", Const, 0}, + {"TagReferenceType", Const, 0}, + {"TagRestrictType", Const, 0}, + {"TagRvalueReferenceType", Const, 3}, + {"TagSetType", Const, 0}, + {"TagSharedType", Const, 3}, + {"TagSkeletonUnit", Const, 14}, + {"TagStringType", Const, 0}, + {"TagStructType", Const, 0}, + {"TagSubprogram", Const, 0}, + {"TagSubrangeType", Const, 0}, + {"TagSubroutineType", Const, 0}, + {"TagTemplateAlias", Const, 3}, + {"TagTemplateTypeParameter", Const, 0}, + {"TagTemplateValueParameter", Const, 0}, + {"TagThrownType", Const, 0}, + {"TagTryDwarfBlock", Const, 0}, + {"TagTypeUnit", Const, 3}, + {"TagTypedef", Const, 0}, + {"TagUnionType", Const, 0}, + {"TagUnspecifiedParameters", Const, 0}, + {"TagUnspecifiedType", Const, 0}, + {"TagVariable", Const, 0}, + {"TagVariant", Const, 0}, + {"TagVariantPart", Const, 0}, + {"TagVolatileType", Const, 0}, + {"TagWithStmt", Const, 0}, + {"Type", Type, 0}, + {"TypedefType", Type, 0}, + {"TypedefType.CommonType", Field, 0}, + {"TypedefType.Type", Field, 0}, + {"UcharType", Type, 0}, + {"UcharType.BasicType", Field, 0}, + {"UintType", Type, 0}, + {"UintType.BasicType", Field, 0}, + {"UnspecifiedType", Type, 4}, + {"UnspecifiedType.BasicType", Field, 4}, + {"UnsupportedType", Type, 13}, + {"UnsupportedType.CommonType", Field, 13}, + {"UnsupportedType.Tag", Field, 13}, + {"VoidType", Type, 0}, + {"VoidType.CommonType", Field, 0}, + }, + "debug/elf": { + {"(*File).Close", Method, 0}, + {"(*File).DWARF", Method, 0}, + {"(*File).DynString", Method, 1}, + {"(*File).DynValue", Method, 21}, + {"(*File).DynamicSymbols", Method, 4}, + {"(*File).ImportedLibraries", Method, 0}, + {"(*File).ImportedSymbols", Method, 0}, + {"(*File).Section", Method, 0}, + {"(*File).SectionByType", Method, 0}, + {"(*File).Symbols", Method, 0}, + {"(*FormatError).Error", Method, 0}, + {"(*Prog).Open", Method, 0}, + {"(*Section).Data", Method, 0}, + {"(*Section).Open", Method, 0}, + {"(Class).GoString", Method, 0}, + {"(Class).String", Method, 0}, + {"(CompressionType).GoString", Method, 6}, + {"(CompressionType).String", Method, 6}, + {"(Data).GoString", Method, 0}, + {"(Data).String", Method, 0}, + {"(DynFlag).GoString", Method, 0}, + {"(DynFlag).String", Method, 0}, + {"(DynFlag1).GoString", Method, 21}, + {"(DynFlag1).String", Method, 21}, + {"(DynTag).GoString", Method, 0}, + {"(DynTag).String", Method, 0}, + {"(Machine).GoString", Method, 0}, + {"(Machine).String", Method, 0}, + {"(NType).GoString", Method, 0}, + {"(NType).String", Method, 0}, + {"(OSABI).GoString", Method, 0}, + {"(OSABI).String", Method, 0}, + {"(Prog).ReadAt", Method, 0}, + {"(ProgFlag).GoString", Method, 0}, + {"(ProgFlag).String", Method, 0}, + {"(ProgType).GoString", Method, 0}, + {"(ProgType).String", Method, 0}, + {"(R_386).GoString", Method, 0}, + {"(R_386).String", Method, 0}, + {"(R_390).GoString", Method, 7}, + {"(R_390).String", Method, 7}, + {"(R_AARCH64).GoString", Method, 4}, + {"(R_AARCH64).String", Method, 4}, + {"(R_ALPHA).GoString", Method, 0}, + {"(R_ALPHA).String", Method, 0}, + {"(R_ARM).GoString", Method, 0}, + {"(R_ARM).String", Method, 0}, + {"(R_LARCH).GoString", Method, 19}, + {"(R_LARCH).String", Method, 19}, + {"(R_MIPS).GoString", Method, 6}, + {"(R_MIPS).String", Method, 6}, + {"(R_PPC).GoString", Method, 0}, + {"(R_PPC).String", Method, 0}, + {"(R_PPC64).GoString", Method, 5}, + {"(R_PPC64).String", Method, 5}, + {"(R_RISCV).GoString", Method, 11}, + {"(R_RISCV).String", Method, 11}, + {"(R_SPARC).GoString", Method, 0}, + {"(R_SPARC).String", Method, 0}, + {"(R_X86_64).GoString", Method, 0}, + {"(R_X86_64).String", Method, 0}, + {"(Section).ReadAt", Method, 0}, + {"(SectionFlag).GoString", Method, 0}, + {"(SectionFlag).String", Method, 0}, + {"(SectionIndex).GoString", Method, 0}, + {"(SectionIndex).String", Method, 0}, + {"(SectionType).GoString", Method, 0}, + {"(SectionType).String", Method, 0}, + {"(SymBind).GoString", Method, 0}, + {"(SymBind).String", Method, 0}, + {"(SymType).GoString", Method, 0}, + {"(SymType).String", Method, 0}, + {"(SymVis).GoString", Method, 0}, + {"(SymVis).String", Method, 0}, + {"(Type).GoString", Method, 0}, + {"(Type).String", Method, 0}, + {"(Version).GoString", Method, 0}, + {"(Version).String", Method, 0}, + {"ARM_MAGIC_TRAMP_NUMBER", Const, 0}, + {"COMPRESS_HIOS", Const, 6}, + {"COMPRESS_HIPROC", Const, 6}, + {"COMPRESS_LOOS", Const, 6}, + {"COMPRESS_LOPROC", Const, 6}, + {"COMPRESS_ZLIB", Const, 6}, + {"COMPRESS_ZSTD", Const, 21}, + {"Chdr32", Type, 6}, + {"Chdr32.Addralign", Field, 6}, + {"Chdr32.Size", Field, 6}, + {"Chdr32.Type", Field, 6}, + {"Chdr64", Type, 6}, + {"Chdr64.Addralign", Field, 6}, + {"Chdr64.Size", Field, 6}, + {"Chdr64.Type", Field, 6}, + {"Class", Type, 0}, + {"CompressionType", Type, 6}, + {"DF_1_CONFALT", Const, 21}, + {"DF_1_DIRECT", Const, 21}, + {"DF_1_DISPRELDNE", Const, 21}, + {"DF_1_DISPRELPND", Const, 21}, + {"DF_1_EDITED", Const, 21}, + {"DF_1_ENDFILTEE", Const, 21}, + {"DF_1_GLOBAL", Const, 21}, + {"DF_1_GLOBAUDIT", Const, 21}, + {"DF_1_GROUP", Const, 21}, + {"DF_1_IGNMULDEF", Const, 21}, + {"DF_1_INITFIRST", Const, 21}, + {"DF_1_INTERPOSE", Const, 21}, + {"DF_1_KMOD", Const, 21}, + {"DF_1_LOADFLTR", Const, 21}, + {"DF_1_NOCOMMON", Const, 21}, + {"DF_1_NODEFLIB", Const, 21}, + {"DF_1_NODELETE", Const, 21}, + {"DF_1_NODIRECT", Const, 21}, + {"DF_1_NODUMP", Const, 21}, + {"DF_1_NOHDR", Const, 21}, + {"DF_1_NOKSYMS", Const, 21}, + {"DF_1_NOOPEN", Const, 21}, + {"DF_1_NORELOC", Const, 21}, + {"DF_1_NOW", Const, 21}, + {"DF_1_ORIGIN", Const, 21}, + {"DF_1_PIE", Const, 21}, + {"DF_1_SINGLETON", Const, 21}, + {"DF_1_STUB", Const, 21}, + {"DF_1_SYMINTPOSE", Const, 21}, + {"DF_1_TRANS", Const, 21}, + {"DF_1_WEAKFILTER", Const, 21}, + {"DF_BIND_NOW", Const, 0}, + {"DF_ORIGIN", Const, 0}, + {"DF_STATIC_TLS", Const, 0}, + {"DF_SYMBOLIC", Const, 0}, + {"DF_TEXTREL", Const, 0}, + {"DT_ADDRRNGHI", Const, 16}, + {"DT_ADDRRNGLO", Const, 16}, + {"DT_AUDIT", Const, 16}, + {"DT_AUXILIARY", Const, 16}, + {"DT_BIND_NOW", Const, 0}, + {"DT_CHECKSUM", Const, 16}, + {"DT_CONFIG", Const, 16}, + {"DT_DEBUG", Const, 0}, + {"DT_DEPAUDIT", Const, 16}, + {"DT_ENCODING", Const, 0}, + {"DT_FEATURE", Const, 16}, + {"DT_FILTER", Const, 16}, + {"DT_FINI", Const, 0}, + {"DT_FINI_ARRAY", Const, 0}, + {"DT_FINI_ARRAYSZ", Const, 0}, + {"DT_FLAGS", Const, 0}, + {"DT_FLAGS_1", Const, 16}, + {"DT_GNU_CONFLICT", Const, 16}, + {"DT_GNU_CONFLICTSZ", Const, 16}, + {"DT_GNU_HASH", Const, 16}, + {"DT_GNU_LIBLIST", Const, 16}, + {"DT_GNU_LIBLISTSZ", Const, 16}, + {"DT_GNU_PRELINKED", Const, 16}, + {"DT_HASH", Const, 0}, + {"DT_HIOS", Const, 0}, + {"DT_HIPROC", Const, 0}, + {"DT_INIT", Const, 0}, + {"DT_INIT_ARRAY", Const, 0}, + {"DT_INIT_ARRAYSZ", Const, 0}, + {"DT_JMPREL", Const, 0}, + {"DT_LOOS", Const, 0}, + {"DT_LOPROC", Const, 0}, + {"DT_MIPS_AUX_DYNAMIC", Const, 16}, + {"DT_MIPS_BASE_ADDRESS", Const, 16}, + {"DT_MIPS_COMPACT_SIZE", Const, 16}, + {"DT_MIPS_CONFLICT", Const, 16}, + {"DT_MIPS_CONFLICTNO", Const, 16}, + {"DT_MIPS_CXX_FLAGS", Const, 16}, + {"DT_MIPS_DELTA_CLASS", Const, 16}, + {"DT_MIPS_DELTA_CLASSSYM", Const, 16}, + {"DT_MIPS_DELTA_CLASSSYM_NO", Const, 16}, + {"DT_MIPS_DELTA_CLASS_NO", Const, 16}, + {"DT_MIPS_DELTA_INSTANCE", Const, 16}, + {"DT_MIPS_DELTA_INSTANCE_NO", Const, 16}, + {"DT_MIPS_DELTA_RELOC", Const, 16}, + {"DT_MIPS_DELTA_RELOC_NO", Const, 16}, + {"DT_MIPS_DELTA_SYM", Const, 16}, + {"DT_MIPS_DELTA_SYM_NO", Const, 16}, + {"DT_MIPS_DYNSTR_ALIGN", Const, 16}, + {"DT_MIPS_FLAGS", Const, 16}, + {"DT_MIPS_GOTSYM", Const, 16}, + {"DT_MIPS_GP_VALUE", Const, 16}, + {"DT_MIPS_HIDDEN_GOTIDX", Const, 16}, + {"DT_MIPS_HIPAGENO", Const, 16}, + {"DT_MIPS_ICHECKSUM", Const, 16}, + {"DT_MIPS_INTERFACE", Const, 16}, + {"DT_MIPS_INTERFACE_SIZE", Const, 16}, + {"DT_MIPS_IVERSION", Const, 16}, + {"DT_MIPS_LIBLIST", Const, 16}, + {"DT_MIPS_LIBLISTNO", Const, 16}, + {"DT_MIPS_LOCALPAGE_GOTIDX", Const, 16}, + {"DT_MIPS_LOCAL_GOTIDX", Const, 16}, + {"DT_MIPS_LOCAL_GOTNO", Const, 16}, + {"DT_MIPS_MSYM", Const, 16}, + {"DT_MIPS_OPTIONS", Const, 16}, + {"DT_MIPS_PERF_SUFFIX", Const, 16}, + {"DT_MIPS_PIXIE_INIT", Const, 16}, + {"DT_MIPS_PLTGOT", Const, 16}, + {"DT_MIPS_PROTECTED_GOTIDX", Const, 16}, + {"DT_MIPS_RLD_MAP", Const, 16}, + {"DT_MIPS_RLD_MAP_REL", Const, 16}, + {"DT_MIPS_RLD_TEXT_RESOLVE_ADDR", Const, 16}, + {"DT_MIPS_RLD_VERSION", Const, 16}, + {"DT_MIPS_RWPLT", Const, 16}, + {"DT_MIPS_SYMBOL_LIB", Const, 16}, + {"DT_MIPS_SYMTABNO", Const, 16}, + {"DT_MIPS_TIME_STAMP", Const, 16}, + {"DT_MIPS_UNREFEXTNO", Const, 16}, + {"DT_MOVEENT", Const, 16}, + {"DT_MOVESZ", Const, 16}, + {"DT_MOVETAB", Const, 16}, + {"DT_NEEDED", Const, 0}, + {"DT_NULL", Const, 0}, + {"DT_PLTGOT", Const, 0}, + {"DT_PLTPAD", Const, 16}, + {"DT_PLTPADSZ", Const, 16}, + {"DT_PLTREL", Const, 0}, + {"DT_PLTRELSZ", Const, 0}, + {"DT_POSFLAG_1", Const, 16}, + {"DT_PPC64_GLINK", Const, 16}, + {"DT_PPC64_OPD", Const, 16}, + {"DT_PPC64_OPDSZ", Const, 16}, + {"DT_PPC64_OPT", Const, 16}, + {"DT_PPC_GOT", Const, 16}, + {"DT_PPC_OPT", Const, 16}, + {"DT_PREINIT_ARRAY", Const, 0}, + {"DT_PREINIT_ARRAYSZ", Const, 0}, + {"DT_REL", Const, 0}, + {"DT_RELA", Const, 0}, + {"DT_RELACOUNT", Const, 16}, + {"DT_RELAENT", Const, 0}, + {"DT_RELASZ", Const, 0}, + {"DT_RELCOUNT", Const, 16}, + {"DT_RELENT", Const, 0}, + {"DT_RELSZ", Const, 0}, + {"DT_RPATH", Const, 0}, + {"DT_RUNPATH", Const, 0}, + {"DT_SONAME", Const, 0}, + {"DT_SPARC_REGISTER", Const, 16}, + {"DT_STRSZ", Const, 0}, + {"DT_STRTAB", Const, 0}, + {"DT_SYMBOLIC", Const, 0}, + {"DT_SYMENT", Const, 0}, + {"DT_SYMINENT", Const, 16}, + {"DT_SYMINFO", Const, 16}, + {"DT_SYMINSZ", Const, 16}, + {"DT_SYMTAB", Const, 0}, + {"DT_SYMTAB_SHNDX", Const, 16}, + {"DT_TEXTREL", Const, 0}, + {"DT_TLSDESC_GOT", Const, 16}, + {"DT_TLSDESC_PLT", Const, 16}, + {"DT_USED", Const, 16}, + {"DT_VALRNGHI", Const, 16}, + {"DT_VALRNGLO", Const, 16}, + {"DT_VERDEF", Const, 16}, + {"DT_VERDEFNUM", Const, 16}, + {"DT_VERNEED", Const, 0}, + {"DT_VERNEEDNUM", Const, 0}, + {"DT_VERSYM", Const, 0}, + {"Data", Type, 0}, + {"Dyn32", Type, 0}, + {"Dyn32.Tag", Field, 0}, + {"Dyn32.Val", Field, 0}, + {"Dyn64", Type, 0}, + {"Dyn64.Tag", Field, 0}, + {"Dyn64.Val", Field, 0}, + {"DynFlag", Type, 0}, + {"DynFlag1", Type, 21}, + {"DynTag", Type, 0}, + {"EI_ABIVERSION", Const, 0}, + {"EI_CLASS", Const, 0}, + {"EI_DATA", Const, 0}, + {"EI_NIDENT", Const, 0}, + {"EI_OSABI", Const, 0}, + {"EI_PAD", Const, 0}, + {"EI_VERSION", Const, 0}, + {"ELFCLASS32", Const, 0}, + {"ELFCLASS64", Const, 0}, + {"ELFCLASSNONE", Const, 0}, + {"ELFDATA2LSB", Const, 0}, + {"ELFDATA2MSB", Const, 0}, + {"ELFDATANONE", Const, 0}, + {"ELFMAG", Const, 0}, + {"ELFOSABI_86OPEN", Const, 0}, + {"ELFOSABI_AIX", Const, 0}, + {"ELFOSABI_ARM", Const, 0}, + {"ELFOSABI_AROS", Const, 11}, + {"ELFOSABI_CLOUDABI", Const, 11}, + {"ELFOSABI_FENIXOS", Const, 11}, + {"ELFOSABI_FREEBSD", Const, 0}, + {"ELFOSABI_HPUX", Const, 0}, + {"ELFOSABI_HURD", Const, 0}, + {"ELFOSABI_IRIX", Const, 0}, + {"ELFOSABI_LINUX", Const, 0}, + {"ELFOSABI_MODESTO", Const, 0}, + {"ELFOSABI_NETBSD", Const, 0}, + {"ELFOSABI_NONE", Const, 0}, + {"ELFOSABI_NSK", Const, 0}, + {"ELFOSABI_OPENBSD", Const, 0}, + {"ELFOSABI_OPENVMS", Const, 0}, + {"ELFOSABI_SOLARIS", Const, 0}, + {"ELFOSABI_STANDALONE", Const, 0}, + {"ELFOSABI_TRU64", Const, 0}, + {"EM_386", Const, 0}, + {"EM_486", Const, 0}, + {"EM_56800EX", Const, 11}, + {"EM_68HC05", Const, 11}, + {"EM_68HC08", Const, 11}, + {"EM_68HC11", Const, 11}, + {"EM_68HC12", Const, 0}, + {"EM_68HC16", Const, 11}, + {"EM_68K", Const, 0}, + {"EM_78KOR", Const, 11}, + {"EM_8051", Const, 11}, + {"EM_860", Const, 0}, + {"EM_88K", Const, 0}, + {"EM_960", Const, 0}, + {"EM_AARCH64", Const, 4}, + {"EM_ALPHA", Const, 0}, + {"EM_ALPHA_STD", Const, 0}, + {"EM_ALTERA_NIOS2", Const, 11}, + {"EM_AMDGPU", Const, 11}, + {"EM_ARC", Const, 0}, + {"EM_ARCA", Const, 11}, + {"EM_ARC_COMPACT", Const, 11}, + {"EM_ARC_COMPACT2", Const, 11}, + {"EM_ARM", Const, 0}, + {"EM_AVR", Const, 11}, + {"EM_AVR32", Const, 11}, + {"EM_BA1", Const, 11}, + {"EM_BA2", Const, 11}, + {"EM_BLACKFIN", Const, 11}, + {"EM_BPF", Const, 11}, + {"EM_C166", Const, 11}, + {"EM_CDP", Const, 11}, + {"EM_CE", Const, 11}, + {"EM_CLOUDSHIELD", Const, 11}, + {"EM_COGE", Const, 11}, + {"EM_COLDFIRE", Const, 0}, + {"EM_COOL", Const, 11}, + {"EM_COREA_1ST", Const, 11}, + {"EM_COREA_2ND", Const, 11}, + {"EM_CR", Const, 11}, + {"EM_CR16", Const, 11}, + {"EM_CRAYNV2", Const, 11}, + {"EM_CRIS", Const, 11}, + {"EM_CRX", Const, 11}, + {"EM_CSR_KALIMBA", Const, 11}, + {"EM_CUDA", Const, 11}, + {"EM_CYPRESS_M8C", Const, 11}, + {"EM_D10V", Const, 11}, + {"EM_D30V", Const, 11}, + {"EM_DSP24", Const, 11}, + {"EM_DSPIC30F", Const, 11}, + {"EM_DXP", Const, 11}, + {"EM_ECOG1", Const, 11}, + {"EM_ECOG16", Const, 11}, + {"EM_ECOG1X", Const, 11}, + {"EM_ECOG2", Const, 11}, + {"EM_ETPU", Const, 11}, + {"EM_EXCESS", Const, 11}, + {"EM_F2MC16", Const, 11}, + {"EM_FIREPATH", Const, 11}, + {"EM_FR20", Const, 0}, + {"EM_FR30", Const, 11}, + {"EM_FT32", Const, 11}, + {"EM_FX66", Const, 11}, + {"EM_H8S", Const, 0}, + {"EM_H8_300", Const, 0}, + {"EM_H8_300H", Const, 0}, + {"EM_H8_500", Const, 0}, + {"EM_HUANY", Const, 11}, + {"EM_IA_64", Const, 0}, + {"EM_INTEL205", Const, 11}, + {"EM_INTEL206", Const, 11}, + {"EM_INTEL207", Const, 11}, + {"EM_INTEL208", Const, 11}, + {"EM_INTEL209", Const, 11}, + {"EM_IP2K", Const, 11}, + {"EM_JAVELIN", Const, 11}, + {"EM_K10M", Const, 11}, + {"EM_KM32", Const, 11}, + {"EM_KMX16", Const, 11}, + {"EM_KMX32", Const, 11}, + {"EM_KMX8", Const, 11}, + {"EM_KVARC", Const, 11}, + {"EM_L10M", Const, 11}, + {"EM_LANAI", Const, 11}, + {"EM_LATTICEMICO32", Const, 11}, + {"EM_LOONGARCH", Const, 19}, + {"EM_M16C", Const, 11}, + {"EM_M32", Const, 0}, + {"EM_M32C", Const, 11}, + {"EM_M32R", Const, 11}, + {"EM_MANIK", Const, 11}, + {"EM_MAX", Const, 11}, + {"EM_MAXQ30", Const, 11}, + {"EM_MCHP_PIC", Const, 11}, + {"EM_MCST_ELBRUS", Const, 11}, + {"EM_ME16", Const, 0}, + {"EM_METAG", Const, 11}, + {"EM_MICROBLAZE", Const, 11}, + {"EM_MIPS", Const, 0}, + {"EM_MIPS_RS3_LE", Const, 0}, + {"EM_MIPS_RS4_BE", Const, 0}, + {"EM_MIPS_X", Const, 0}, + {"EM_MMA", Const, 0}, + {"EM_MMDSP_PLUS", Const, 11}, + {"EM_MMIX", Const, 11}, + {"EM_MN10200", Const, 11}, + {"EM_MN10300", Const, 11}, + {"EM_MOXIE", Const, 11}, + {"EM_MSP430", Const, 11}, + {"EM_NCPU", Const, 0}, + {"EM_NDR1", Const, 0}, + {"EM_NDS32", Const, 11}, + {"EM_NONE", Const, 0}, + {"EM_NORC", Const, 11}, + {"EM_NS32K", Const, 11}, + {"EM_OPEN8", Const, 11}, + {"EM_OPENRISC", Const, 11}, + {"EM_PARISC", Const, 0}, + {"EM_PCP", Const, 0}, + {"EM_PDP10", Const, 11}, + {"EM_PDP11", Const, 11}, + {"EM_PDSP", Const, 11}, + {"EM_PJ", Const, 11}, + {"EM_PPC", Const, 0}, + {"EM_PPC64", Const, 0}, + {"EM_PRISM", Const, 11}, + {"EM_QDSP6", Const, 11}, + {"EM_R32C", Const, 11}, + {"EM_RCE", Const, 0}, + {"EM_RH32", Const, 0}, + {"EM_RISCV", Const, 11}, + {"EM_RL78", Const, 11}, + {"EM_RS08", Const, 11}, + {"EM_RX", Const, 11}, + {"EM_S370", Const, 0}, + {"EM_S390", Const, 0}, + {"EM_SCORE7", Const, 11}, + {"EM_SEP", Const, 11}, + {"EM_SE_C17", Const, 11}, + {"EM_SE_C33", Const, 11}, + {"EM_SH", Const, 0}, + {"EM_SHARC", Const, 11}, + {"EM_SLE9X", Const, 11}, + {"EM_SNP1K", Const, 11}, + {"EM_SPARC", Const, 0}, + {"EM_SPARC32PLUS", Const, 0}, + {"EM_SPARCV9", Const, 0}, + {"EM_ST100", Const, 0}, + {"EM_ST19", Const, 11}, + {"EM_ST200", Const, 11}, + {"EM_ST7", Const, 11}, + {"EM_ST9PLUS", Const, 11}, + {"EM_STARCORE", Const, 0}, + {"EM_STM8", Const, 11}, + {"EM_STXP7X", Const, 11}, + {"EM_SVX", Const, 11}, + {"EM_TILE64", Const, 11}, + {"EM_TILEGX", Const, 11}, + {"EM_TILEPRO", Const, 11}, + {"EM_TINYJ", Const, 0}, + {"EM_TI_ARP32", Const, 11}, + {"EM_TI_C2000", Const, 11}, + {"EM_TI_C5500", Const, 11}, + {"EM_TI_C6000", Const, 11}, + {"EM_TI_PRU", Const, 11}, + {"EM_TMM_GPP", Const, 11}, + {"EM_TPC", Const, 11}, + {"EM_TRICORE", Const, 0}, + {"EM_TRIMEDIA", Const, 11}, + {"EM_TSK3000", Const, 11}, + {"EM_UNICORE", Const, 11}, + {"EM_V800", Const, 0}, + {"EM_V850", Const, 11}, + {"EM_VAX", Const, 11}, + {"EM_VIDEOCORE", Const, 11}, + {"EM_VIDEOCORE3", Const, 11}, + {"EM_VIDEOCORE5", Const, 11}, + {"EM_VISIUM", Const, 11}, + {"EM_VPP500", Const, 0}, + {"EM_X86_64", Const, 0}, + {"EM_XCORE", Const, 11}, + {"EM_XGATE", Const, 11}, + {"EM_XIMO16", Const, 11}, + {"EM_XTENSA", Const, 11}, + {"EM_Z80", Const, 11}, + {"EM_ZSP", Const, 11}, + {"ET_CORE", Const, 0}, + {"ET_DYN", Const, 0}, + {"ET_EXEC", Const, 0}, + {"ET_HIOS", Const, 0}, + {"ET_HIPROC", Const, 0}, + {"ET_LOOS", Const, 0}, + {"ET_LOPROC", Const, 0}, + {"ET_NONE", Const, 0}, + {"ET_REL", Const, 0}, + {"EV_CURRENT", Const, 0}, + {"EV_NONE", Const, 0}, + {"ErrNoSymbols", Var, 4}, + {"File", Type, 0}, + {"File.FileHeader", Field, 0}, + {"File.Progs", Field, 0}, + {"File.Sections", Field, 0}, + {"FileHeader", Type, 0}, + {"FileHeader.ABIVersion", Field, 0}, + {"FileHeader.ByteOrder", Field, 0}, + {"FileHeader.Class", Field, 0}, + {"FileHeader.Data", Field, 0}, + {"FileHeader.Entry", Field, 1}, + {"FileHeader.Machine", Field, 0}, + {"FileHeader.OSABI", Field, 0}, + {"FileHeader.Type", Field, 0}, + {"FileHeader.Version", Field, 0}, + {"FormatError", Type, 0}, + {"Header32", Type, 0}, + {"Header32.Ehsize", Field, 0}, + {"Header32.Entry", Field, 0}, + {"Header32.Flags", Field, 0}, + {"Header32.Ident", Field, 0}, + {"Header32.Machine", Field, 0}, + {"Header32.Phentsize", Field, 0}, + {"Header32.Phnum", Field, 0}, + {"Header32.Phoff", Field, 0}, + {"Header32.Shentsize", Field, 0}, + {"Header32.Shnum", Field, 0}, + {"Header32.Shoff", Field, 0}, + {"Header32.Shstrndx", Field, 0}, + {"Header32.Type", Field, 0}, + {"Header32.Version", Field, 0}, + {"Header64", Type, 0}, + {"Header64.Ehsize", Field, 0}, + {"Header64.Entry", Field, 0}, + {"Header64.Flags", Field, 0}, + {"Header64.Ident", Field, 0}, + {"Header64.Machine", Field, 0}, + {"Header64.Phentsize", Field, 0}, + {"Header64.Phnum", Field, 0}, + {"Header64.Phoff", Field, 0}, + {"Header64.Shentsize", Field, 0}, + {"Header64.Shnum", Field, 0}, + {"Header64.Shoff", Field, 0}, + {"Header64.Shstrndx", Field, 0}, + {"Header64.Type", Field, 0}, + {"Header64.Version", Field, 0}, + {"ImportedSymbol", Type, 0}, + {"ImportedSymbol.Library", Field, 0}, + {"ImportedSymbol.Name", Field, 0}, + {"ImportedSymbol.Version", Field, 0}, + {"Machine", Type, 0}, + {"NT_FPREGSET", Const, 0}, + {"NT_PRPSINFO", Const, 0}, + {"NT_PRSTATUS", Const, 0}, + {"NType", Type, 0}, + {"NewFile", Func, 0}, + {"OSABI", Type, 0}, + {"Open", Func, 0}, + {"PF_MASKOS", Const, 0}, + {"PF_MASKPROC", Const, 0}, + {"PF_R", Const, 0}, + {"PF_W", Const, 0}, + {"PF_X", Const, 0}, + {"PT_AARCH64_ARCHEXT", Const, 16}, + {"PT_AARCH64_UNWIND", Const, 16}, + {"PT_ARM_ARCHEXT", Const, 16}, + {"PT_ARM_EXIDX", Const, 16}, + {"PT_DYNAMIC", Const, 0}, + {"PT_GNU_EH_FRAME", Const, 16}, + {"PT_GNU_MBIND_HI", Const, 16}, + {"PT_GNU_MBIND_LO", Const, 16}, + {"PT_GNU_PROPERTY", Const, 16}, + {"PT_GNU_RELRO", Const, 16}, + {"PT_GNU_STACK", Const, 16}, + {"PT_HIOS", Const, 0}, + {"PT_HIPROC", Const, 0}, + {"PT_INTERP", Const, 0}, + {"PT_LOAD", Const, 0}, + {"PT_LOOS", Const, 0}, + {"PT_LOPROC", Const, 0}, + {"PT_MIPS_ABIFLAGS", Const, 16}, + {"PT_MIPS_OPTIONS", Const, 16}, + {"PT_MIPS_REGINFO", Const, 16}, + {"PT_MIPS_RTPROC", Const, 16}, + {"PT_NOTE", Const, 0}, + {"PT_NULL", Const, 0}, + {"PT_OPENBSD_BOOTDATA", Const, 16}, + {"PT_OPENBSD_RANDOMIZE", Const, 16}, + {"PT_OPENBSD_WXNEEDED", Const, 16}, + {"PT_PAX_FLAGS", Const, 16}, + {"PT_PHDR", Const, 0}, + {"PT_S390_PGSTE", Const, 16}, + {"PT_SHLIB", Const, 0}, + {"PT_SUNWSTACK", Const, 16}, + {"PT_SUNW_EH_FRAME", Const, 16}, + {"PT_TLS", Const, 0}, + {"Prog", Type, 0}, + {"Prog.ProgHeader", Field, 0}, + {"Prog.ReaderAt", Field, 0}, + {"Prog32", Type, 0}, + {"Prog32.Align", Field, 0}, + {"Prog32.Filesz", Field, 0}, + {"Prog32.Flags", Field, 0}, + {"Prog32.Memsz", Field, 0}, + {"Prog32.Off", Field, 0}, + {"Prog32.Paddr", Field, 0}, + {"Prog32.Type", Field, 0}, + {"Prog32.Vaddr", Field, 0}, + {"Prog64", Type, 0}, + {"Prog64.Align", Field, 0}, + {"Prog64.Filesz", Field, 0}, + {"Prog64.Flags", Field, 0}, + {"Prog64.Memsz", Field, 0}, + {"Prog64.Off", Field, 0}, + {"Prog64.Paddr", Field, 0}, + {"Prog64.Type", Field, 0}, + {"Prog64.Vaddr", Field, 0}, + {"ProgFlag", Type, 0}, + {"ProgHeader", Type, 0}, + {"ProgHeader.Align", Field, 0}, + {"ProgHeader.Filesz", Field, 0}, + {"ProgHeader.Flags", Field, 0}, + {"ProgHeader.Memsz", Field, 0}, + {"ProgHeader.Off", Field, 0}, + {"ProgHeader.Paddr", Field, 0}, + {"ProgHeader.Type", Field, 0}, + {"ProgHeader.Vaddr", Field, 0}, + {"ProgType", Type, 0}, + {"R_386", Type, 0}, + {"R_386_16", Const, 10}, + {"R_386_32", Const, 0}, + {"R_386_32PLT", Const, 10}, + {"R_386_8", Const, 10}, + {"R_386_COPY", Const, 0}, + {"R_386_GLOB_DAT", Const, 0}, + {"R_386_GOT32", Const, 0}, + {"R_386_GOT32X", Const, 10}, + {"R_386_GOTOFF", Const, 0}, + {"R_386_GOTPC", Const, 0}, + {"R_386_IRELATIVE", Const, 10}, + {"R_386_JMP_SLOT", Const, 0}, + {"R_386_NONE", Const, 0}, + {"R_386_PC16", Const, 10}, + {"R_386_PC32", Const, 0}, + {"R_386_PC8", Const, 10}, + {"R_386_PLT32", Const, 0}, + {"R_386_RELATIVE", Const, 0}, + {"R_386_SIZE32", Const, 10}, + {"R_386_TLS_DESC", Const, 10}, + {"R_386_TLS_DESC_CALL", Const, 10}, + {"R_386_TLS_DTPMOD32", Const, 0}, + {"R_386_TLS_DTPOFF32", Const, 0}, + {"R_386_TLS_GD", Const, 0}, + {"R_386_TLS_GD_32", Const, 0}, + {"R_386_TLS_GD_CALL", Const, 0}, + {"R_386_TLS_GD_POP", Const, 0}, + {"R_386_TLS_GD_PUSH", Const, 0}, + {"R_386_TLS_GOTDESC", Const, 10}, + {"R_386_TLS_GOTIE", Const, 0}, + {"R_386_TLS_IE", Const, 0}, + {"R_386_TLS_IE_32", Const, 0}, + {"R_386_TLS_LDM", Const, 0}, + {"R_386_TLS_LDM_32", Const, 0}, + {"R_386_TLS_LDM_CALL", Const, 0}, + {"R_386_TLS_LDM_POP", Const, 0}, + {"R_386_TLS_LDM_PUSH", Const, 0}, + {"R_386_TLS_LDO_32", Const, 0}, + {"R_386_TLS_LE", Const, 0}, + {"R_386_TLS_LE_32", Const, 0}, + {"R_386_TLS_TPOFF", Const, 0}, + {"R_386_TLS_TPOFF32", Const, 0}, + {"R_390", Type, 7}, + {"R_390_12", Const, 7}, + {"R_390_16", Const, 7}, + {"R_390_20", Const, 7}, + {"R_390_32", Const, 7}, + {"R_390_64", Const, 7}, + {"R_390_8", Const, 7}, + {"R_390_COPY", Const, 7}, + {"R_390_GLOB_DAT", Const, 7}, + {"R_390_GOT12", Const, 7}, + {"R_390_GOT16", Const, 7}, + {"R_390_GOT20", Const, 7}, + {"R_390_GOT32", Const, 7}, + {"R_390_GOT64", Const, 7}, + {"R_390_GOTENT", Const, 7}, + {"R_390_GOTOFF", Const, 7}, + {"R_390_GOTOFF16", Const, 7}, + {"R_390_GOTOFF64", Const, 7}, + {"R_390_GOTPC", Const, 7}, + {"R_390_GOTPCDBL", Const, 7}, + {"R_390_GOTPLT12", Const, 7}, + {"R_390_GOTPLT16", Const, 7}, + {"R_390_GOTPLT20", Const, 7}, + {"R_390_GOTPLT32", Const, 7}, + {"R_390_GOTPLT64", Const, 7}, + {"R_390_GOTPLTENT", Const, 7}, + {"R_390_GOTPLTOFF16", Const, 7}, + {"R_390_GOTPLTOFF32", Const, 7}, + {"R_390_GOTPLTOFF64", Const, 7}, + {"R_390_JMP_SLOT", Const, 7}, + {"R_390_NONE", Const, 7}, + {"R_390_PC16", Const, 7}, + {"R_390_PC16DBL", Const, 7}, + {"R_390_PC32", Const, 7}, + {"R_390_PC32DBL", Const, 7}, + {"R_390_PC64", Const, 7}, + {"R_390_PLT16DBL", Const, 7}, + {"R_390_PLT32", Const, 7}, + {"R_390_PLT32DBL", Const, 7}, + {"R_390_PLT64", Const, 7}, + {"R_390_RELATIVE", Const, 7}, + {"R_390_TLS_DTPMOD", Const, 7}, + {"R_390_TLS_DTPOFF", Const, 7}, + {"R_390_TLS_GD32", Const, 7}, + {"R_390_TLS_GD64", Const, 7}, + {"R_390_TLS_GDCALL", Const, 7}, + {"R_390_TLS_GOTIE12", Const, 7}, + {"R_390_TLS_GOTIE20", Const, 7}, + {"R_390_TLS_GOTIE32", Const, 7}, + {"R_390_TLS_GOTIE64", Const, 7}, + {"R_390_TLS_IE32", Const, 7}, + {"R_390_TLS_IE64", Const, 7}, + {"R_390_TLS_IEENT", Const, 7}, + {"R_390_TLS_LDCALL", Const, 7}, + {"R_390_TLS_LDM32", Const, 7}, + {"R_390_TLS_LDM64", Const, 7}, + {"R_390_TLS_LDO32", Const, 7}, + {"R_390_TLS_LDO64", Const, 7}, + {"R_390_TLS_LE32", Const, 7}, + {"R_390_TLS_LE64", Const, 7}, + {"R_390_TLS_LOAD", Const, 7}, + {"R_390_TLS_TPOFF", Const, 7}, + {"R_AARCH64", Type, 4}, + {"R_AARCH64_ABS16", Const, 4}, + {"R_AARCH64_ABS32", Const, 4}, + {"R_AARCH64_ABS64", Const, 4}, + {"R_AARCH64_ADD_ABS_LO12_NC", Const, 4}, + {"R_AARCH64_ADR_GOT_PAGE", Const, 4}, + {"R_AARCH64_ADR_PREL_LO21", Const, 4}, + {"R_AARCH64_ADR_PREL_PG_HI21", Const, 4}, + {"R_AARCH64_ADR_PREL_PG_HI21_NC", Const, 4}, + {"R_AARCH64_CALL26", Const, 4}, + {"R_AARCH64_CONDBR19", Const, 4}, + {"R_AARCH64_COPY", Const, 4}, + {"R_AARCH64_GLOB_DAT", Const, 4}, + {"R_AARCH64_GOT_LD_PREL19", Const, 4}, + {"R_AARCH64_IRELATIVE", Const, 4}, + {"R_AARCH64_JUMP26", Const, 4}, + {"R_AARCH64_JUMP_SLOT", Const, 4}, + {"R_AARCH64_LD64_GOTOFF_LO15", Const, 10}, + {"R_AARCH64_LD64_GOTPAGE_LO15", Const, 10}, + {"R_AARCH64_LD64_GOT_LO12_NC", Const, 4}, + {"R_AARCH64_LDST128_ABS_LO12_NC", Const, 4}, + {"R_AARCH64_LDST16_ABS_LO12_NC", Const, 4}, + {"R_AARCH64_LDST32_ABS_LO12_NC", Const, 4}, + {"R_AARCH64_LDST64_ABS_LO12_NC", Const, 4}, + {"R_AARCH64_LDST8_ABS_LO12_NC", Const, 4}, + {"R_AARCH64_LD_PREL_LO19", Const, 4}, + {"R_AARCH64_MOVW_SABS_G0", Const, 4}, + {"R_AARCH64_MOVW_SABS_G1", Const, 4}, + {"R_AARCH64_MOVW_SABS_G2", Const, 4}, + {"R_AARCH64_MOVW_UABS_G0", Const, 4}, + {"R_AARCH64_MOVW_UABS_G0_NC", Const, 4}, + {"R_AARCH64_MOVW_UABS_G1", Const, 4}, + {"R_AARCH64_MOVW_UABS_G1_NC", Const, 4}, + {"R_AARCH64_MOVW_UABS_G2", Const, 4}, + {"R_AARCH64_MOVW_UABS_G2_NC", Const, 4}, + {"R_AARCH64_MOVW_UABS_G3", Const, 4}, + {"R_AARCH64_NONE", Const, 4}, + {"R_AARCH64_NULL", Const, 4}, + {"R_AARCH64_P32_ABS16", Const, 4}, + {"R_AARCH64_P32_ABS32", Const, 4}, + {"R_AARCH64_P32_ADD_ABS_LO12_NC", Const, 4}, + {"R_AARCH64_P32_ADR_GOT_PAGE", Const, 4}, + {"R_AARCH64_P32_ADR_PREL_LO21", Const, 4}, + {"R_AARCH64_P32_ADR_PREL_PG_HI21", Const, 4}, + {"R_AARCH64_P32_CALL26", Const, 4}, + {"R_AARCH64_P32_CONDBR19", Const, 4}, + {"R_AARCH64_P32_COPY", Const, 4}, + {"R_AARCH64_P32_GLOB_DAT", Const, 4}, + {"R_AARCH64_P32_GOT_LD_PREL19", Const, 4}, + {"R_AARCH64_P32_IRELATIVE", Const, 4}, + {"R_AARCH64_P32_JUMP26", Const, 4}, + {"R_AARCH64_P32_JUMP_SLOT", Const, 4}, + {"R_AARCH64_P32_LD32_GOT_LO12_NC", Const, 4}, + {"R_AARCH64_P32_LDST128_ABS_LO12_NC", Const, 4}, + {"R_AARCH64_P32_LDST16_ABS_LO12_NC", Const, 4}, + {"R_AARCH64_P32_LDST32_ABS_LO12_NC", Const, 4}, + {"R_AARCH64_P32_LDST64_ABS_LO12_NC", Const, 4}, + {"R_AARCH64_P32_LDST8_ABS_LO12_NC", Const, 4}, + {"R_AARCH64_P32_LD_PREL_LO19", Const, 4}, + {"R_AARCH64_P32_MOVW_SABS_G0", Const, 4}, + {"R_AARCH64_P32_MOVW_UABS_G0", Const, 4}, + {"R_AARCH64_P32_MOVW_UABS_G0_NC", Const, 4}, + {"R_AARCH64_P32_MOVW_UABS_G1", Const, 4}, + {"R_AARCH64_P32_PREL16", Const, 4}, + {"R_AARCH64_P32_PREL32", Const, 4}, + {"R_AARCH64_P32_RELATIVE", Const, 4}, + {"R_AARCH64_P32_TLSDESC", Const, 4}, + {"R_AARCH64_P32_TLSDESC_ADD_LO12_NC", Const, 4}, + {"R_AARCH64_P32_TLSDESC_ADR_PAGE21", Const, 4}, + {"R_AARCH64_P32_TLSDESC_ADR_PREL21", Const, 4}, + {"R_AARCH64_P32_TLSDESC_CALL", Const, 4}, + {"R_AARCH64_P32_TLSDESC_LD32_LO12_NC", Const, 4}, + {"R_AARCH64_P32_TLSDESC_LD_PREL19", Const, 4}, + {"R_AARCH64_P32_TLSGD_ADD_LO12_NC", Const, 4}, + {"R_AARCH64_P32_TLSGD_ADR_PAGE21", Const, 4}, + {"R_AARCH64_P32_TLSIE_ADR_GOTTPREL_PAGE21", Const, 4}, + {"R_AARCH64_P32_TLSIE_LD32_GOTTPREL_LO12_NC", Const, 4}, + {"R_AARCH64_P32_TLSIE_LD_GOTTPREL_PREL19", Const, 4}, + {"R_AARCH64_P32_TLSLE_ADD_TPREL_HI12", Const, 4}, + {"R_AARCH64_P32_TLSLE_ADD_TPREL_LO12", Const, 4}, + {"R_AARCH64_P32_TLSLE_ADD_TPREL_LO12_NC", Const, 4}, + {"R_AARCH64_P32_TLSLE_MOVW_TPREL_G0", Const, 4}, + {"R_AARCH64_P32_TLSLE_MOVW_TPREL_G0_NC", Const, 4}, + {"R_AARCH64_P32_TLSLE_MOVW_TPREL_G1", Const, 4}, + {"R_AARCH64_P32_TLS_DTPMOD", Const, 4}, + {"R_AARCH64_P32_TLS_DTPREL", Const, 4}, + {"R_AARCH64_P32_TLS_TPREL", Const, 4}, + {"R_AARCH64_P32_TSTBR14", Const, 4}, + {"R_AARCH64_PREL16", Const, 4}, + {"R_AARCH64_PREL32", Const, 4}, + {"R_AARCH64_PREL64", Const, 4}, + {"R_AARCH64_RELATIVE", Const, 4}, + {"R_AARCH64_TLSDESC", Const, 4}, + {"R_AARCH64_TLSDESC_ADD", Const, 4}, + {"R_AARCH64_TLSDESC_ADD_LO12_NC", Const, 4}, + {"R_AARCH64_TLSDESC_ADR_PAGE21", Const, 4}, + {"R_AARCH64_TLSDESC_ADR_PREL21", Const, 4}, + {"R_AARCH64_TLSDESC_CALL", Const, 4}, + {"R_AARCH64_TLSDESC_LD64_LO12_NC", Const, 4}, + {"R_AARCH64_TLSDESC_LDR", Const, 4}, + {"R_AARCH64_TLSDESC_LD_PREL19", Const, 4}, + {"R_AARCH64_TLSDESC_OFF_G0_NC", Const, 4}, + {"R_AARCH64_TLSDESC_OFF_G1", Const, 4}, + {"R_AARCH64_TLSGD_ADD_LO12_NC", Const, 4}, + {"R_AARCH64_TLSGD_ADR_PAGE21", Const, 4}, + {"R_AARCH64_TLSGD_ADR_PREL21", Const, 10}, + {"R_AARCH64_TLSGD_MOVW_G0_NC", Const, 10}, + {"R_AARCH64_TLSGD_MOVW_G1", Const, 10}, + {"R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21", Const, 4}, + {"R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC", Const, 4}, + {"R_AARCH64_TLSIE_LD_GOTTPREL_PREL19", Const, 4}, + {"R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC", Const, 4}, + {"R_AARCH64_TLSIE_MOVW_GOTTPREL_G1", Const, 4}, + {"R_AARCH64_TLSLD_ADR_PAGE21", Const, 10}, + {"R_AARCH64_TLSLD_ADR_PREL21", Const, 10}, + {"R_AARCH64_TLSLD_LDST128_DTPREL_LO12", Const, 10}, + {"R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC", Const, 10}, + {"R_AARCH64_TLSLE_ADD_TPREL_HI12", Const, 4}, + {"R_AARCH64_TLSLE_ADD_TPREL_LO12", Const, 4}, + {"R_AARCH64_TLSLE_ADD_TPREL_LO12_NC", Const, 4}, + {"R_AARCH64_TLSLE_LDST128_TPREL_LO12", Const, 10}, + {"R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC", Const, 10}, + {"R_AARCH64_TLSLE_MOVW_TPREL_G0", Const, 4}, + {"R_AARCH64_TLSLE_MOVW_TPREL_G0_NC", Const, 4}, + {"R_AARCH64_TLSLE_MOVW_TPREL_G1", Const, 4}, + {"R_AARCH64_TLSLE_MOVW_TPREL_G1_NC", Const, 4}, + {"R_AARCH64_TLSLE_MOVW_TPREL_G2", Const, 4}, + {"R_AARCH64_TLS_DTPMOD64", Const, 4}, + {"R_AARCH64_TLS_DTPREL64", Const, 4}, + {"R_AARCH64_TLS_TPREL64", Const, 4}, + {"R_AARCH64_TSTBR14", Const, 4}, + {"R_ALPHA", Type, 0}, + {"R_ALPHA_BRADDR", Const, 0}, + {"R_ALPHA_COPY", Const, 0}, + {"R_ALPHA_GLOB_DAT", Const, 0}, + {"R_ALPHA_GPDISP", Const, 0}, + {"R_ALPHA_GPREL32", Const, 0}, + {"R_ALPHA_GPRELHIGH", Const, 0}, + {"R_ALPHA_GPRELLOW", Const, 0}, + {"R_ALPHA_GPVALUE", Const, 0}, + {"R_ALPHA_HINT", Const, 0}, + {"R_ALPHA_IMMED_BR_HI32", Const, 0}, + {"R_ALPHA_IMMED_GP_16", Const, 0}, + {"R_ALPHA_IMMED_GP_HI32", Const, 0}, + {"R_ALPHA_IMMED_LO32", Const, 0}, + {"R_ALPHA_IMMED_SCN_HI32", Const, 0}, + {"R_ALPHA_JMP_SLOT", Const, 0}, + {"R_ALPHA_LITERAL", Const, 0}, + {"R_ALPHA_LITUSE", Const, 0}, + {"R_ALPHA_NONE", Const, 0}, + {"R_ALPHA_OP_PRSHIFT", Const, 0}, + {"R_ALPHA_OP_PSUB", Const, 0}, + {"R_ALPHA_OP_PUSH", Const, 0}, + {"R_ALPHA_OP_STORE", Const, 0}, + {"R_ALPHA_REFLONG", Const, 0}, + {"R_ALPHA_REFQUAD", Const, 0}, + {"R_ALPHA_RELATIVE", Const, 0}, + {"R_ALPHA_SREL16", Const, 0}, + {"R_ALPHA_SREL32", Const, 0}, + {"R_ALPHA_SREL64", Const, 0}, + {"R_ARM", Type, 0}, + {"R_ARM_ABS12", Const, 0}, + {"R_ARM_ABS16", Const, 0}, + {"R_ARM_ABS32", Const, 0}, + {"R_ARM_ABS32_NOI", Const, 10}, + {"R_ARM_ABS8", Const, 0}, + {"R_ARM_ALU_PCREL_15_8", Const, 10}, + {"R_ARM_ALU_PCREL_23_15", Const, 10}, + {"R_ARM_ALU_PCREL_7_0", Const, 10}, + {"R_ARM_ALU_PC_G0", Const, 10}, + {"R_ARM_ALU_PC_G0_NC", Const, 10}, + {"R_ARM_ALU_PC_G1", Const, 10}, + {"R_ARM_ALU_PC_G1_NC", Const, 10}, + {"R_ARM_ALU_PC_G2", Const, 10}, + {"R_ARM_ALU_SBREL_19_12_NC", Const, 10}, + {"R_ARM_ALU_SBREL_27_20_CK", Const, 10}, + {"R_ARM_ALU_SB_G0", Const, 10}, + {"R_ARM_ALU_SB_G0_NC", Const, 10}, + {"R_ARM_ALU_SB_G1", Const, 10}, + {"R_ARM_ALU_SB_G1_NC", Const, 10}, + {"R_ARM_ALU_SB_G2", Const, 10}, + {"R_ARM_AMP_VCALL9", Const, 0}, + {"R_ARM_BASE_ABS", Const, 10}, + {"R_ARM_CALL", Const, 10}, + {"R_ARM_COPY", Const, 0}, + {"R_ARM_GLOB_DAT", Const, 0}, + {"R_ARM_GNU_VTENTRY", Const, 0}, + {"R_ARM_GNU_VTINHERIT", Const, 0}, + {"R_ARM_GOT32", Const, 0}, + {"R_ARM_GOTOFF", Const, 0}, + {"R_ARM_GOTOFF12", Const, 10}, + {"R_ARM_GOTPC", Const, 0}, + {"R_ARM_GOTRELAX", Const, 10}, + {"R_ARM_GOT_ABS", Const, 10}, + {"R_ARM_GOT_BREL12", Const, 10}, + {"R_ARM_GOT_PREL", Const, 10}, + {"R_ARM_IRELATIVE", Const, 10}, + {"R_ARM_JUMP24", Const, 10}, + {"R_ARM_JUMP_SLOT", Const, 0}, + {"R_ARM_LDC_PC_G0", Const, 10}, + {"R_ARM_LDC_PC_G1", Const, 10}, + {"R_ARM_LDC_PC_G2", Const, 10}, + {"R_ARM_LDC_SB_G0", Const, 10}, + {"R_ARM_LDC_SB_G1", Const, 10}, + {"R_ARM_LDC_SB_G2", Const, 10}, + {"R_ARM_LDRS_PC_G0", Const, 10}, + {"R_ARM_LDRS_PC_G1", Const, 10}, + {"R_ARM_LDRS_PC_G2", Const, 10}, + {"R_ARM_LDRS_SB_G0", Const, 10}, + {"R_ARM_LDRS_SB_G1", Const, 10}, + {"R_ARM_LDRS_SB_G2", Const, 10}, + {"R_ARM_LDR_PC_G1", Const, 10}, + {"R_ARM_LDR_PC_G2", Const, 10}, + {"R_ARM_LDR_SBREL_11_10_NC", Const, 10}, + {"R_ARM_LDR_SB_G0", Const, 10}, + {"R_ARM_LDR_SB_G1", Const, 10}, + {"R_ARM_LDR_SB_G2", Const, 10}, + {"R_ARM_ME_TOO", Const, 10}, + {"R_ARM_MOVT_ABS", Const, 10}, + {"R_ARM_MOVT_BREL", Const, 10}, + {"R_ARM_MOVT_PREL", Const, 10}, + {"R_ARM_MOVW_ABS_NC", Const, 10}, + {"R_ARM_MOVW_BREL", Const, 10}, + {"R_ARM_MOVW_BREL_NC", Const, 10}, + {"R_ARM_MOVW_PREL_NC", Const, 10}, + {"R_ARM_NONE", Const, 0}, + {"R_ARM_PC13", Const, 0}, + {"R_ARM_PC24", Const, 0}, + {"R_ARM_PLT32", Const, 0}, + {"R_ARM_PLT32_ABS", Const, 10}, + {"R_ARM_PREL31", Const, 10}, + {"R_ARM_PRIVATE_0", Const, 10}, + {"R_ARM_PRIVATE_1", Const, 10}, + {"R_ARM_PRIVATE_10", Const, 10}, + {"R_ARM_PRIVATE_11", Const, 10}, + {"R_ARM_PRIVATE_12", Const, 10}, + {"R_ARM_PRIVATE_13", Const, 10}, + {"R_ARM_PRIVATE_14", Const, 10}, + {"R_ARM_PRIVATE_15", Const, 10}, + {"R_ARM_PRIVATE_2", Const, 10}, + {"R_ARM_PRIVATE_3", Const, 10}, + {"R_ARM_PRIVATE_4", Const, 10}, + {"R_ARM_PRIVATE_5", Const, 10}, + {"R_ARM_PRIVATE_6", Const, 10}, + {"R_ARM_PRIVATE_7", Const, 10}, + {"R_ARM_PRIVATE_8", Const, 10}, + {"R_ARM_PRIVATE_9", Const, 10}, + {"R_ARM_RABS32", Const, 0}, + {"R_ARM_RBASE", Const, 0}, + {"R_ARM_REL32", Const, 0}, + {"R_ARM_REL32_NOI", Const, 10}, + {"R_ARM_RELATIVE", Const, 0}, + {"R_ARM_RPC24", Const, 0}, + {"R_ARM_RREL32", Const, 0}, + {"R_ARM_RSBREL32", Const, 0}, + {"R_ARM_RXPC25", Const, 10}, + {"R_ARM_SBREL31", Const, 10}, + {"R_ARM_SBREL32", Const, 0}, + {"R_ARM_SWI24", Const, 0}, + {"R_ARM_TARGET1", Const, 10}, + {"R_ARM_TARGET2", Const, 10}, + {"R_ARM_THM_ABS5", Const, 0}, + {"R_ARM_THM_ALU_ABS_G0_NC", Const, 10}, + {"R_ARM_THM_ALU_ABS_G1_NC", Const, 10}, + {"R_ARM_THM_ALU_ABS_G2_NC", Const, 10}, + {"R_ARM_THM_ALU_ABS_G3", Const, 10}, + {"R_ARM_THM_ALU_PREL_11_0", Const, 10}, + {"R_ARM_THM_GOT_BREL12", Const, 10}, + {"R_ARM_THM_JUMP11", Const, 10}, + {"R_ARM_THM_JUMP19", Const, 10}, + {"R_ARM_THM_JUMP24", Const, 10}, + {"R_ARM_THM_JUMP6", Const, 10}, + {"R_ARM_THM_JUMP8", Const, 10}, + {"R_ARM_THM_MOVT_ABS", Const, 10}, + {"R_ARM_THM_MOVT_BREL", Const, 10}, + {"R_ARM_THM_MOVT_PREL", Const, 10}, + {"R_ARM_THM_MOVW_ABS_NC", Const, 10}, + {"R_ARM_THM_MOVW_BREL", Const, 10}, + {"R_ARM_THM_MOVW_BREL_NC", Const, 10}, + {"R_ARM_THM_MOVW_PREL_NC", Const, 10}, + {"R_ARM_THM_PC12", Const, 10}, + {"R_ARM_THM_PC22", Const, 0}, + {"R_ARM_THM_PC8", Const, 0}, + {"R_ARM_THM_RPC22", Const, 0}, + {"R_ARM_THM_SWI8", Const, 0}, + {"R_ARM_THM_TLS_CALL", Const, 10}, + {"R_ARM_THM_TLS_DESCSEQ16", Const, 10}, + {"R_ARM_THM_TLS_DESCSEQ32", Const, 10}, + {"R_ARM_THM_XPC22", Const, 0}, + {"R_ARM_TLS_CALL", Const, 10}, + {"R_ARM_TLS_DESCSEQ", Const, 10}, + {"R_ARM_TLS_DTPMOD32", Const, 10}, + {"R_ARM_TLS_DTPOFF32", Const, 10}, + {"R_ARM_TLS_GD32", Const, 10}, + {"R_ARM_TLS_GOTDESC", Const, 10}, + {"R_ARM_TLS_IE12GP", Const, 10}, + {"R_ARM_TLS_IE32", Const, 10}, + {"R_ARM_TLS_LDM32", Const, 10}, + {"R_ARM_TLS_LDO12", Const, 10}, + {"R_ARM_TLS_LDO32", Const, 10}, + {"R_ARM_TLS_LE12", Const, 10}, + {"R_ARM_TLS_LE32", Const, 10}, + {"R_ARM_TLS_TPOFF32", Const, 10}, + {"R_ARM_V4BX", Const, 10}, + {"R_ARM_XPC25", Const, 0}, + {"R_INFO", Func, 0}, + {"R_INFO32", Func, 0}, + {"R_LARCH", Type, 19}, + {"R_LARCH_32", Const, 19}, + {"R_LARCH_32_PCREL", Const, 20}, + {"R_LARCH_64", Const, 19}, + {"R_LARCH_64_PCREL", Const, 22}, + {"R_LARCH_ABS64_HI12", Const, 20}, + {"R_LARCH_ABS64_LO20", Const, 20}, + {"R_LARCH_ABS_HI20", Const, 20}, + {"R_LARCH_ABS_LO12", Const, 20}, + {"R_LARCH_ADD16", Const, 19}, + {"R_LARCH_ADD24", Const, 19}, + {"R_LARCH_ADD32", Const, 19}, + {"R_LARCH_ADD6", Const, 22}, + {"R_LARCH_ADD64", Const, 19}, + {"R_LARCH_ADD8", Const, 19}, + {"R_LARCH_ADD_ULEB128", Const, 22}, + {"R_LARCH_ALIGN", Const, 22}, + {"R_LARCH_B16", Const, 20}, + {"R_LARCH_B21", Const, 20}, + {"R_LARCH_B26", Const, 20}, + {"R_LARCH_CFA", Const, 22}, + {"R_LARCH_COPY", Const, 19}, + {"R_LARCH_DELETE", Const, 22}, + {"R_LARCH_GNU_VTENTRY", Const, 20}, + {"R_LARCH_GNU_VTINHERIT", Const, 20}, + {"R_LARCH_GOT64_HI12", Const, 20}, + {"R_LARCH_GOT64_LO20", Const, 20}, + {"R_LARCH_GOT64_PC_HI12", Const, 20}, + {"R_LARCH_GOT64_PC_LO20", Const, 20}, + {"R_LARCH_GOT_HI20", Const, 20}, + {"R_LARCH_GOT_LO12", Const, 20}, + {"R_LARCH_GOT_PC_HI20", Const, 20}, + {"R_LARCH_GOT_PC_LO12", Const, 20}, + {"R_LARCH_IRELATIVE", Const, 19}, + {"R_LARCH_JUMP_SLOT", Const, 19}, + {"R_LARCH_MARK_LA", Const, 19}, + {"R_LARCH_MARK_PCREL", Const, 19}, + {"R_LARCH_NONE", Const, 19}, + {"R_LARCH_PCALA64_HI12", Const, 20}, + {"R_LARCH_PCALA64_LO20", Const, 20}, + {"R_LARCH_PCALA_HI20", Const, 20}, + {"R_LARCH_PCALA_LO12", Const, 20}, + {"R_LARCH_PCREL20_S2", Const, 22}, + {"R_LARCH_RELATIVE", Const, 19}, + {"R_LARCH_RELAX", Const, 20}, + {"R_LARCH_SOP_ADD", Const, 19}, + {"R_LARCH_SOP_AND", Const, 19}, + {"R_LARCH_SOP_ASSERT", Const, 19}, + {"R_LARCH_SOP_IF_ELSE", Const, 19}, + {"R_LARCH_SOP_NOT", Const, 19}, + {"R_LARCH_SOP_POP_32_S_0_10_10_16_S2", Const, 19}, + {"R_LARCH_SOP_POP_32_S_0_5_10_16_S2", Const, 19}, + {"R_LARCH_SOP_POP_32_S_10_12", Const, 19}, + {"R_LARCH_SOP_POP_32_S_10_16", Const, 19}, + {"R_LARCH_SOP_POP_32_S_10_16_S2", Const, 19}, + {"R_LARCH_SOP_POP_32_S_10_5", Const, 19}, + {"R_LARCH_SOP_POP_32_S_5_20", Const, 19}, + {"R_LARCH_SOP_POP_32_U", Const, 19}, + {"R_LARCH_SOP_POP_32_U_10_12", Const, 19}, + {"R_LARCH_SOP_PUSH_ABSOLUTE", Const, 19}, + {"R_LARCH_SOP_PUSH_DUP", Const, 19}, + {"R_LARCH_SOP_PUSH_GPREL", Const, 19}, + {"R_LARCH_SOP_PUSH_PCREL", Const, 19}, + {"R_LARCH_SOP_PUSH_PLT_PCREL", Const, 19}, + {"R_LARCH_SOP_PUSH_TLS_GD", Const, 19}, + {"R_LARCH_SOP_PUSH_TLS_GOT", Const, 19}, + {"R_LARCH_SOP_PUSH_TLS_TPREL", Const, 19}, + {"R_LARCH_SOP_SL", Const, 19}, + {"R_LARCH_SOP_SR", Const, 19}, + {"R_LARCH_SOP_SUB", Const, 19}, + {"R_LARCH_SUB16", Const, 19}, + {"R_LARCH_SUB24", Const, 19}, + {"R_LARCH_SUB32", Const, 19}, + {"R_LARCH_SUB6", Const, 22}, + {"R_LARCH_SUB64", Const, 19}, + {"R_LARCH_SUB8", Const, 19}, + {"R_LARCH_SUB_ULEB128", Const, 22}, + {"R_LARCH_TLS_DTPMOD32", Const, 19}, + {"R_LARCH_TLS_DTPMOD64", Const, 19}, + {"R_LARCH_TLS_DTPREL32", Const, 19}, + {"R_LARCH_TLS_DTPREL64", Const, 19}, + {"R_LARCH_TLS_GD_HI20", Const, 20}, + {"R_LARCH_TLS_GD_PC_HI20", Const, 20}, + {"R_LARCH_TLS_IE64_HI12", Const, 20}, + {"R_LARCH_TLS_IE64_LO20", Const, 20}, + {"R_LARCH_TLS_IE64_PC_HI12", Const, 20}, + {"R_LARCH_TLS_IE64_PC_LO20", Const, 20}, + {"R_LARCH_TLS_IE_HI20", Const, 20}, + {"R_LARCH_TLS_IE_LO12", Const, 20}, + {"R_LARCH_TLS_IE_PC_HI20", Const, 20}, + {"R_LARCH_TLS_IE_PC_LO12", Const, 20}, + {"R_LARCH_TLS_LD_HI20", Const, 20}, + {"R_LARCH_TLS_LD_PC_HI20", Const, 20}, + {"R_LARCH_TLS_LE64_HI12", Const, 20}, + {"R_LARCH_TLS_LE64_LO20", Const, 20}, + {"R_LARCH_TLS_LE_HI20", Const, 20}, + {"R_LARCH_TLS_LE_LO12", Const, 20}, + {"R_LARCH_TLS_TPREL32", Const, 19}, + {"R_LARCH_TLS_TPREL64", Const, 19}, + {"R_MIPS", Type, 6}, + {"R_MIPS_16", Const, 6}, + {"R_MIPS_26", Const, 6}, + {"R_MIPS_32", Const, 6}, + {"R_MIPS_64", Const, 6}, + {"R_MIPS_ADD_IMMEDIATE", Const, 6}, + {"R_MIPS_CALL16", Const, 6}, + {"R_MIPS_CALL_HI16", Const, 6}, + {"R_MIPS_CALL_LO16", Const, 6}, + {"R_MIPS_DELETE", Const, 6}, + {"R_MIPS_GOT16", Const, 6}, + {"R_MIPS_GOT_DISP", Const, 6}, + {"R_MIPS_GOT_HI16", Const, 6}, + {"R_MIPS_GOT_LO16", Const, 6}, + {"R_MIPS_GOT_OFST", Const, 6}, + {"R_MIPS_GOT_PAGE", Const, 6}, + {"R_MIPS_GPREL16", Const, 6}, + {"R_MIPS_GPREL32", Const, 6}, + {"R_MIPS_HI16", Const, 6}, + {"R_MIPS_HIGHER", Const, 6}, + {"R_MIPS_HIGHEST", Const, 6}, + {"R_MIPS_INSERT_A", Const, 6}, + {"R_MIPS_INSERT_B", Const, 6}, + {"R_MIPS_JALR", Const, 6}, + {"R_MIPS_LITERAL", Const, 6}, + {"R_MIPS_LO16", Const, 6}, + {"R_MIPS_NONE", Const, 6}, + {"R_MIPS_PC16", Const, 6}, + {"R_MIPS_PC32", Const, 22}, + {"R_MIPS_PJUMP", Const, 6}, + {"R_MIPS_REL16", Const, 6}, + {"R_MIPS_REL32", Const, 6}, + {"R_MIPS_RELGOT", Const, 6}, + {"R_MIPS_SCN_DISP", Const, 6}, + {"R_MIPS_SHIFT5", Const, 6}, + {"R_MIPS_SHIFT6", Const, 6}, + {"R_MIPS_SUB", Const, 6}, + {"R_MIPS_TLS_DTPMOD32", Const, 6}, + {"R_MIPS_TLS_DTPMOD64", Const, 6}, + {"R_MIPS_TLS_DTPREL32", Const, 6}, + {"R_MIPS_TLS_DTPREL64", Const, 6}, + {"R_MIPS_TLS_DTPREL_HI16", Const, 6}, + {"R_MIPS_TLS_DTPREL_LO16", Const, 6}, + {"R_MIPS_TLS_GD", Const, 6}, + {"R_MIPS_TLS_GOTTPREL", Const, 6}, + {"R_MIPS_TLS_LDM", Const, 6}, + {"R_MIPS_TLS_TPREL32", Const, 6}, + {"R_MIPS_TLS_TPREL64", Const, 6}, + {"R_MIPS_TLS_TPREL_HI16", Const, 6}, + {"R_MIPS_TLS_TPREL_LO16", Const, 6}, + {"R_PPC", Type, 0}, + {"R_PPC64", Type, 5}, + {"R_PPC64_ADDR14", Const, 5}, + {"R_PPC64_ADDR14_BRNTAKEN", Const, 5}, + {"R_PPC64_ADDR14_BRTAKEN", Const, 5}, + {"R_PPC64_ADDR16", Const, 5}, + {"R_PPC64_ADDR16_DS", Const, 5}, + {"R_PPC64_ADDR16_HA", Const, 5}, + {"R_PPC64_ADDR16_HI", Const, 5}, + {"R_PPC64_ADDR16_HIGH", Const, 10}, + {"R_PPC64_ADDR16_HIGHA", Const, 10}, + {"R_PPC64_ADDR16_HIGHER", Const, 5}, + {"R_PPC64_ADDR16_HIGHER34", Const, 20}, + {"R_PPC64_ADDR16_HIGHERA", Const, 5}, + {"R_PPC64_ADDR16_HIGHERA34", Const, 20}, + {"R_PPC64_ADDR16_HIGHEST", Const, 5}, + {"R_PPC64_ADDR16_HIGHEST34", Const, 20}, + {"R_PPC64_ADDR16_HIGHESTA", Const, 5}, + {"R_PPC64_ADDR16_HIGHESTA34", Const, 20}, + {"R_PPC64_ADDR16_LO", Const, 5}, + {"R_PPC64_ADDR16_LO_DS", Const, 5}, + {"R_PPC64_ADDR24", Const, 5}, + {"R_PPC64_ADDR32", Const, 5}, + {"R_PPC64_ADDR64", Const, 5}, + {"R_PPC64_ADDR64_LOCAL", Const, 10}, + {"R_PPC64_COPY", Const, 20}, + {"R_PPC64_D28", Const, 20}, + {"R_PPC64_D34", Const, 20}, + {"R_PPC64_D34_HA30", Const, 20}, + {"R_PPC64_D34_HI30", Const, 20}, + {"R_PPC64_D34_LO", Const, 20}, + {"R_PPC64_DTPMOD64", Const, 5}, + {"R_PPC64_DTPREL16", Const, 5}, + {"R_PPC64_DTPREL16_DS", Const, 5}, + {"R_PPC64_DTPREL16_HA", Const, 5}, + {"R_PPC64_DTPREL16_HI", Const, 5}, + {"R_PPC64_DTPREL16_HIGH", Const, 10}, + {"R_PPC64_DTPREL16_HIGHA", Const, 10}, + {"R_PPC64_DTPREL16_HIGHER", Const, 5}, + {"R_PPC64_DTPREL16_HIGHERA", Const, 5}, + {"R_PPC64_DTPREL16_HIGHEST", Const, 5}, + {"R_PPC64_DTPREL16_HIGHESTA", Const, 5}, + {"R_PPC64_DTPREL16_LO", Const, 5}, + {"R_PPC64_DTPREL16_LO_DS", Const, 5}, + {"R_PPC64_DTPREL34", Const, 20}, + {"R_PPC64_DTPREL64", Const, 5}, + {"R_PPC64_ENTRY", Const, 10}, + {"R_PPC64_GLOB_DAT", Const, 20}, + {"R_PPC64_GNU_VTENTRY", Const, 20}, + {"R_PPC64_GNU_VTINHERIT", Const, 20}, + {"R_PPC64_GOT16", Const, 5}, + {"R_PPC64_GOT16_DS", Const, 5}, + {"R_PPC64_GOT16_HA", Const, 5}, + {"R_PPC64_GOT16_HI", Const, 5}, + {"R_PPC64_GOT16_LO", Const, 5}, + {"R_PPC64_GOT16_LO_DS", Const, 5}, + {"R_PPC64_GOT_DTPREL16_DS", Const, 5}, + {"R_PPC64_GOT_DTPREL16_HA", Const, 5}, + {"R_PPC64_GOT_DTPREL16_HI", Const, 5}, + {"R_PPC64_GOT_DTPREL16_LO_DS", Const, 5}, + {"R_PPC64_GOT_DTPREL_PCREL34", Const, 20}, + {"R_PPC64_GOT_PCREL34", Const, 20}, + {"R_PPC64_GOT_TLSGD16", Const, 5}, + {"R_PPC64_GOT_TLSGD16_HA", Const, 5}, + {"R_PPC64_GOT_TLSGD16_HI", Const, 5}, + {"R_PPC64_GOT_TLSGD16_LO", Const, 5}, + {"R_PPC64_GOT_TLSGD_PCREL34", Const, 20}, + {"R_PPC64_GOT_TLSLD16", Const, 5}, + {"R_PPC64_GOT_TLSLD16_HA", Const, 5}, + {"R_PPC64_GOT_TLSLD16_HI", Const, 5}, + {"R_PPC64_GOT_TLSLD16_LO", Const, 5}, + {"R_PPC64_GOT_TLSLD_PCREL34", Const, 20}, + {"R_PPC64_GOT_TPREL16_DS", Const, 5}, + {"R_PPC64_GOT_TPREL16_HA", Const, 5}, + {"R_PPC64_GOT_TPREL16_HI", Const, 5}, + {"R_PPC64_GOT_TPREL16_LO_DS", Const, 5}, + {"R_PPC64_GOT_TPREL_PCREL34", Const, 20}, + {"R_PPC64_IRELATIVE", Const, 10}, + {"R_PPC64_JMP_IREL", Const, 10}, + {"R_PPC64_JMP_SLOT", Const, 5}, + {"R_PPC64_NONE", Const, 5}, + {"R_PPC64_PCREL28", Const, 20}, + {"R_PPC64_PCREL34", Const, 20}, + {"R_PPC64_PCREL_OPT", Const, 20}, + {"R_PPC64_PLT16_HA", Const, 20}, + {"R_PPC64_PLT16_HI", Const, 20}, + {"R_PPC64_PLT16_LO", Const, 20}, + {"R_PPC64_PLT16_LO_DS", Const, 10}, + {"R_PPC64_PLT32", Const, 20}, + {"R_PPC64_PLT64", Const, 20}, + {"R_PPC64_PLTCALL", Const, 20}, + {"R_PPC64_PLTCALL_NOTOC", Const, 20}, + {"R_PPC64_PLTGOT16", Const, 10}, + {"R_PPC64_PLTGOT16_DS", Const, 10}, + {"R_PPC64_PLTGOT16_HA", Const, 10}, + {"R_PPC64_PLTGOT16_HI", Const, 10}, + {"R_PPC64_PLTGOT16_LO", Const, 10}, + {"R_PPC64_PLTGOT_LO_DS", Const, 10}, + {"R_PPC64_PLTREL32", Const, 20}, + {"R_PPC64_PLTREL64", Const, 20}, + {"R_PPC64_PLTSEQ", Const, 20}, + {"R_PPC64_PLTSEQ_NOTOC", Const, 20}, + {"R_PPC64_PLT_PCREL34", Const, 20}, + {"R_PPC64_PLT_PCREL34_NOTOC", Const, 20}, + {"R_PPC64_REL14", Const, 5}, + {"R_PPC64_REL14_BRNTAKEN", Const, 5}, + {"R_PPC64_REL14_BRTAKEN", Const, 5}, + {"R_PPC64_REL16", Const, 5}, + {"R_PPC64_REL16DX_HA", Const, 10}, + {"R_PPC64_REL16_HA", Const, 5}, + {"R_PPC64_REL16_HI", Const, 5}, + {"R_PPC64_REL16_HIGH", Const, 20}, + {"R_PPC64_REL16_HIGHA", Const, 20}, + {"R_PPC64_REL16_HIGHER", Const, 20}, + {"R_PPC64_REL16_HIGHER34", Const, 20}, + {"R_PPC64_REL16_HIGHERA", Const, 20}, + {"R_PPC64_REL16_HIGHERA34", Const, 20}, + {"R_PPC64_REL16_HIGHEST", Const, 20}, + {"R_PPC64_REL16_HIGHEST34", Const, 20}, + {"R_PPC64_REL16_HIGHESTA", Const, 20}, + {"R_PPC64_REL16_HIGHESTA34", Const, 20}, + {"R_PPC64_REL16_LO", Const, 5}, + {"R_PPC64_REL24", Const, 5}, + {"R_PPC64_REL24_NOTOC", Const, 10}, + {"R_PPC64_REL24_P9NOTOC", Const, 21}, + {"R_PPC64_REL30", Const, 20}, + {"R_PPC64_REL32", Const, 5}, + {"R_PPC64_REL64", Const, 5}, + {"R_PPC64_RELATIVE", Const, 18}, + {"R_PPC64_SECTOFF", Const, 20}, + {"R_PPC64_SECTOFF_DS", Const, 10}, + {"R_PPC64_SECTOFF_HA", Const, 20}, + {"R_PPC64_SECTOFF_HI", Const, 20}, + {"R_PPC64_SECTOFF_LO", Const, 20}, + {"R_PPC64_SECTOFF_LO_DS", Const, 10}, + {"R_PPC64_TLS", Const, 5}, + {"R_PPC64_TLSGD", Const, 5}, + {"R_PPC64_TLSLD", Const, 5}, + {"R_PPC64_TOC", Const, 5}, + {"R_PPC64_TOC16", Const, 5}, + {"R_PPC64_TOC16_DS", Const, 5}, + {"R_PPC64_TOC16_HA", Const, 5}, + {"R_PPC64_TOC16_HI", Const, 5}, + {"R_PPC64_TOC16_LO", Const, 5}, + {"R_PPC64_TOC16_LO_DS", Const, 5}, + {"R_PPC64_TOCSAVE", Const, 10}, + {"R_PPC64_TPREL16", Const, 5}, + {"R_PPC64_TPREL16_DS", Const, 5}, + {"R_PPC64_TPREL16_HA", Const, 5}, + {"R_PPC64_TPREL16_HI", Const, 5}, + {"R_PPC64_TPREL16_HIGH", Const, 10}, + {"R_PPC64_TPREL16_HIGHA", Const, 10}, + {"R_PPC64_TPREL16_HIGHER", Const, 5}, + {"R_PPC64_TPREL16_HIGHERA", Const, 5}, + {"R_PPC64_TPREL16_HIGHEST", Const, 5}, + {"R_PPC64_TPREL16_HIGHESTA", Const, 5}, + {"R_PPC64_TPREL16_LO", Const, 5}, + {"R_PPC64_TPREL16_LO_DS", Const, 5}, + {"R_PPC64_TPREL34", Const, 20}, + {"R_PPC64_TPREL64", Const, 5}, + {"R_PPC64_UADDR16", Const, 20}, + {"R_PPC64_UADDR32", Const, 20}, + {"R_PPC64_UADDR64", Const, 20}, + {"R_PPC_ADDR14", Const, 0}, + {"R_PPC_ADDR14_BRNTAKEN", Const, 0}, + {"R_PPC_ADDR14_BRTAKEN", Const, 0}, + {"R_PPC_ADDR16", Const, 0}, + {"R_PPC_ADDR16_HA", Const, 0}, + {"R_PPC_ADDR16_HI", Const, 0}, + {"R_PPC_ADDR16_LO", Const, 0}, + {"R_PPC_ADDR24", Const, 0}, + {"R_PPC_ADDR32", Const, 0}, + {"R_PPC_COPY", Const, 0}, + {"R_PPC_DTPMOD32", Const, 0}, + {"R_PPC_DTPREL16", Const, 0}, + {"R_PPC_DTPREL16_HA", Const, 0}, + {"R_PPC_DTPREL16_HI", Const, 0}, + {"R_PPC_DTPREL16_LO", Const, 0}, + {"R_PPC_DTPREL32", Const, 0}, + {"R_PPC_EMB_BIT_FLD", Const, 0}, + {"R_PPC_EMB_MRKREF", Const, 0}, + {"R_PPC_EMB_NADDR16", Const, 0}, + {"R_PPC_EMB_NADDR16_HA", Const, 0}, + {"R_PPC_EMB_NADDR16_HI", Const, 0}, + {"R_PPC_EMB_NADDR16_LO", Const, 0}, + {"R_PPC_EMB_NADDR32", Const, 0}, + {"R_PPC_EMB_RELSDA", Const, 0}, + {"R_PPC_EMB_RELSEC16", Const, 0}, + {"R_PPC_EMB_RELST_HA", Const, 0}, + {"R_PPC_EMB_RELST_HI", Const, 0}, + {"R_PPC_EMB_RELST_LO", Const, 0}, + {"R_PPC_EMB_SDA21", Const, 0}, + {"R_PPC_EMB_SDA2I16", Const, 0}, + {"R_PPC_EMB_SDA2REL", Const, 0}, + {"R_PPC_EMB_SDAI16", Const, 0}, + {"R_PPC_GLOB_DAT", Const, 0}, + {"R_PPC_GOT16", Const, 0}, + {"R_PPC_GOT16_HA", Const, 0}, + {"R_PPC_GOT16_HI", Const, 0}, + {"R_PPC_GOT16_LO", Const, 0}, + {"R_PPC_GOT_TLSGD16", Const, 0}, + {"R_PPC_GOT_TLSGD16_HA", Const, 0}, + {"R_PPC_GOT_TLSGD16_HI", Const, 0}, + {"R_PPC_GOT_TLSGD16_LO", Const, 0}, + {"R_PPC_GOT_TLSLD16", Const, 0}, + {"R_PPC_GOT_TLSLD16_HA", Const, 0}, + {"R_PPC_GOT_TLSLD16_HI", Const, 0}, + {"R_PPC_GOT_TLSLD16_LO", Const, 0}, + {"R_PPC_GOT_TPREL16", Const, 0}, + {"R_PPC_GOT_TPREL16_HA", Const, 0}, + {"R_PPC_GOT_TPREL16_HI", Const, 0}, + {"R_PPC_GOT_TPREL16_LO", Const, 0}, + {"R_PPC_JMP_SLOT", Const, 0}, + {"R_PPC_LOCAL24PC", Const, 0}, + {"R_PPC_NONE", Const, 0}, + {"R_PPC_PLT16_HA", Const, 0}, + {"R_PPC_PLT16_HI", Const, 0}, + {"R_PPC_PLT16_LO", Const, 0}, + {"R_PPC_PLT32", Const, 0}, + {"R_PPC_PLTREL24", Const, 0}, + {"R_PPC_PLTREL32", Const, 0}, + {"R_PPC_REL14", Const, 0}, + {"R_PPC_REL14_BRNTAKEN", Const, 0}, + {"R_PPC_REL14_BRTAKEN", Const, 0}, + {"R_PPC_REL24", Const, 0}, + {"R_PPC_REL32", Const, 0}, + {"R_PPC_RELATIVE", Const, 0}, + {"R_PPC_SDAREL16", Const, 0}, + {"R_PPC_SECTOFF", Const, 0}, + {"R_PPC_SECTOFF_HA", Const, 0}, + {"R_PPC_SECTOFF_HI", Const, 0}, + {"R_PPC_SECTOFF_LO", Const, 0}, + {"R_PPC_TLS", Const, 0}, + {"R_PPC_TPREL16", Const, 0}, + {"R_PPC_TPREL16_HA", Const, 0}, + {"R_PPC_TPREL16_HI", Const, 0}, + {"R_PPC_TPREL16_LO", Const, 0}, + {"R_PPC_TPREL32", Const, 0}, + {"R_PPC_UADDR16", Const, 0}, + {"R_PPC_UADDR32", Const, 0}, + {"R_RISCV", Type, 11}, + {"R_RISCV_32", Const, 11}, + {"R_RISCV_32_PCREL", Const, 12}, + {"R_RISCV_64", Const, 11}, + {"R_RISCV_ADD16", Const, 11}, + {"R_RISCV_ADD32", Const, 11}, + {"R_RISCV_ADD64", Const, 11}, + {"R_RISCV_ADD8", Const, 11}, + {"R_RISCV_ALIGN", Const, 11}, + {"R_RISCV_BRANCH", Const, 11}, + {"R_RISCV_CALL", Const, 11}, + {"R_RISCV_CALL_PLT", Const, 11}, + {"R_RISCV_COPY", Const, 11}, + {"R_RISCV_GNU_VTENTRY", Const, 11}, + {"R_RISCV_GNU_VTINHERIT", Const, 11}, + {"R_RISCV_GOT_HI20", Const, 11}, + {"R_RISCV_GPREL_I", Const, 11}, + {"R_RISCV_GPREL_S", Const, 11}, + {"R_RISCV_HI20", Const, 11}, + {"R_RISCV_JAL", Const, 11}, + {"R_RISCV_JUMP_SLOT", Const, 11}, + {"R_RISCV_LO12_I", Const, 11}, + {"R_RISCV_LO12_S", Const, 11}, + {"R_RISCV_NONE", Const, 11}, + {"R_RISCV_PCREL_HI20", Const, 11}, + {"R_RISCV_PCREL_LO12_I", Const, 11}, + {"R_RISCV_PCREL_LO12_S", Const, 11}, + {"R_RISCV_RELATIVE", Const, 11}, + {"R_RISCV_RELAX", Const, 11}, + {"R_RISCV_RVC_BRANCH", Const, 11}, + {"R_RISCV_RVC_JUMP", Const, 11}, + {"R_RISCV_RVC_LUI", Const, 11}, + {"R_RISCV_SET16", Const, 11}, + {"R_RISCV_SET32", Const, 11}, + {"R_RISCV_SET6", Const, 11}, + {"R_RISCV_SET8", Const, 11}, + {"R_RISCV_SUB16", Const, 11}, + {"R_RISCV_SUB32", Const, 11}, + {"R_RISCV_SUB6", Const, 11}, + {"R_RISCV_SUB64", Const, 11}, + {"R_RISCV_SUB8", Const, 11}, + {"R_RISCV_TLS_DTPMOD32", Const, 11}, + {"R_RISCV_TLS_DTPMOD64", Const, 11}, + {"R_RISCV_TLS_DTPREL32", Const, 11}, + {"R_RISCV_TLS_DTPREL64", Const, 11}, + {"R_RISCV_TLS_GD_HI20", Const, 11}, + {"R_RISCV_TLS_GOT_HI20", Const, 11}, + {"R_RISCV_TLS_TPREL32", Const, 11}, + {"R_RISCV_TLS_TPREL64", Const, 11}, + {"R_RISCV_TPREL_ADD", Const, 11}, + {"R_RISCV_TPREL_HI20", Const, 11}, + {"R_RISCV_TPREL_I", Const, 11}, + {"R_RISCV_TPREL_LO12_I", Const, 11}, + {"R_RISCV_TPREL_LO12_S", Const, 11}, + {"R_RISCV_TPREL_S", Const, 11}, + {"R_SPARC", Type, 0}, + {"R_SPARC_10", Const, 0}, + {"R_SPARC_11", Const, 0}, + {"R_SPARC_13", Const, 0}, + {"R_SPARC_16", Const, 0}, + {"R_SPARC_22", Const, 0}, + {"R_SPARC_32", Const, 0}, + {"R_SPARC_5", Const, 0}, + {"R_SPARC_6", Const, 0}, + {"R_SPARC_64", Const, 0}, + {"R_SPARC_7", Const, 0}, + {"R_SPARC_8", Const, 0}, + {"R_SPARC_COPY", Const, 0}, + {"R_SPARC_DISP16", Const, 0}, + {"R_SPARC_DISP32", Const, 0}, + {"R_SPARC_DISP64", Const, 0}, + {"R_SPARC_DISP8", Const, 0}, + {"R_SPARC_GLOB_DAT", Const, 0}, + {"R_SPARC_GLOB_JMP", Const, 0}, + {"R_SPARC_GOT10", Const, 0}, + {"R_SPARC_GOT13", Const, 0}, + {"R_SPARC_GOT22", Const, 0}, + {"R_SPARC_H44", Const, 0}, + {"R_SPARC_HH22", Const, 0}, + {"R_SPARC_HI22", Const, 0}, + {"R_SPARC_HIPLT22", Const, 0}, + {"R_SPARC_HIX22", Const, 0}, + {"R_SPARC_HM10", Const, 0}, + {"R_SPARC_JMP_SLOT", Const, 0}, + {"R_SPARC_L44", Const, 0}, + {"R_SPARC_LM22", Const, 0}, + {"R_SPARC_LO10", Const, 0}, + {"R_SPARC_LOPLT10", Const, 0}, + {"R_SPARC_LOX10", Const, 0}, + {"R_SPARC_M44", Const, 0}, + {"R_SPARC_NONE", Const, 0}, + {"R_SPARC_OLO10", Const, 0}, + {"R_SPARC_PC10", Const, 0}, + {"R_SPARC_PC22", Const, 0}, + {"R_SPARC_PCPLT10", Const, 0}, + {"R_SPARC_PCPLT22", Const, 0}, + {"R_SPARC_PCPLT32", Const, 0}, + {"R_SPARC_PC_HH22", Const, 0}, + {"R_SPARC_PC_HM10", Const, 0}, + {"R_SPARC_PC_LM22", Const, 0}, + {"R_SPARC_PLT32", Const, 0}, + {"R_SPARC_PLT64", Const, 0}, + {"R_SPARC_REGISTER", Const, 0}, + {"R_SPARC_RELATIVE", Const, 0}, + {"R_SPARC_UA16", Const, 0}, + {"R_SPARC_UA32", Const, 0}, + {"R_SPARC_UA64", Const, 0}, + {"R_SPARC_WDISP16", Const, 0}, + {"R_SPARC_WDISP19", Const, 0}, + {"R_SPARC_WDISP22", Const, 0}, + {"R_SPARC_WDISP30", Const, 0}, + {"R_SPARC_WPLT30", Const, 0}, + {"R_SYM32", Func, 0}, + {"R_SYM64", Func, 0}, + {"R_TYPE32", Func, 0}, + {"R_TYPE64", Func, 0}, + {"R_X86_64", Type, 0}, + {"R_X86_64_16", Const, 0}, + {"R_X86_64_32", Const, 0}, + {"R_X86_64_32S", Const, 0}, + {"R_X86_64_64", Const, 0}, + {"R_X86_64_8", Const, 0}, + {"R_X86_64_COPY", Const, 0}, + {"R_X86_64_DTPMOD64", Const, 0}, + {"R_X86_64_DTPOFF32", Const, 0}, + {"R_X86_64_DTPOFF64", Const, 0}, + {"R_X86_64_GLOB_DAT", Const, 0}, + {"R_X86_64_GOT32", Const, 0}, + {"R_X86_64_GOT64", Const, 10}, + {"R_X86_64_GOTOFF64", Const, 10}, + {"R_X86_64_GOTPC32", Const, 10}, + {"R_X86_64_GOTPC32_TLSDESC", Const, 10}, + {"R_X86_64_GOTPC64", Const, 10}, + {"R_X86_64_GOTPCREL", Const, 0}, + {"R_X86_64_GOTPCREL64", Const, 10}, + {"R_X86_64_GOTPCRELX", Const, 10}, + {"R_X86_64_GOTPLT64", Const, 10}, + {"R_X86_64_GOTTPOFF", Const, 0}, + {"R_X86_64_IRELATIVE", Const, 10}, + {"R_X86_64_JMP_SLOT", Const, 0}, + {"R_X86_64_NONE", Const, 0}, + {"R_X86_64_PC16", Const, 0}, + {"R_X86_64_PC32", Const, 0}, + {"R_X86_64_PC32_BND", Const, 10}, + {"R_X86_64_PC64", Const, 10}, + {"R_X86_64_PC8", Const, 0}, + {"R_X86_64_PLT32", Const, 0}, + {"R_X86_64_PLT32_BND", Const, 10}, + {"R_X86_64_PLTOFF64", Const, 10}, + {"R_X86_64_RELATIVE", Const, 0}, + {"R_X86_64_RELATIVE64", Const, 10}, + {"R_X86_64_REX_GOTPCRELX", Const, 10}, + {"R_X86_64_SIZE32", Const, 10}, + {"R_X86_64_SIZE64", Const, 10}, + {"R_X86_64_TLSDESC", Const, 10}, + {"R_X86_64_TLSDESC_CALL", Const, 10}, + {"R_X86_64_TLSGD", Const, 0}, + {"R_X86_64_TLSLD", Const, 0}, + {"R_X86_64_TPOFF32", Const, 0}, + {"R_X86_64_TPOFF64", Const, 0}, + {"Rel32", Type, 0}, + {"Rel32.Info", Field, 0}, + {"Rel32.Off", Field, 0}, + {"Rel64", Type, 0}, + {"Rel64.Info", Field, 0}, + {"Rel64.Off", Field, 0}, + {"Rela32", Type, 0}, + {"Rela32.Addend", Field, 0}, + {"Rela32.Info", Field, 0}, + {"Rela32.Off", Field, 0}, + {"Rela64", Type, 0}, + {"Rela64.Addend", Field, 0}, + {"Rela64.Info", Field, 0}, + {"Rela64.Off", Field, 0}, + {"SHF_ALLOC", Const, 0}, + {"SHF_COMPRESSED", Const, 6}, + {"SHF_EXECINSTR", Const, 0}, + {"SHF_GROUP", Const, 0}, + {"SHF_INFO_LINK", Const, 0}, + {"SHF_LINK_ORDER", Const, 0}, + {"SHF_MASKOS", Const, 0}, + {"SHF_MASKPROC", Const, 0}, + {"SHF_MERGE", Const, 0}, + {"SHF_OS_NONCONFORMING", Const, 0}, + {"SHF_STRINGS", Const, 0}, + {"SHF_TLS", Const, 0}, + {"SHF_WRITE", Const, 0}, + {"SHN_ABS", Const, 0}, + {"SHN_COMMON", Const, 0}, + {"SHN_HIOS", Const, 0}, + {"SHN_HIPROC", Const, 0}, + {"SHN_HIRESERVE", Const, 0}, + {"SHN_LOOS", Const, 0}, + {"SHN_LOPROC", Const, 0}, + {"SHN_LORESERVE", Const, 0}, + {"SHN_UNDEF", Const, 0}, + {"SHN_XINDEX", Const, 0}, + {"SHT_DYNAMIC", Const, 0}, + {"SHT_DYNSYM", Const, 0}, + {"SHT_FINI_ARRAY", Const, 0}, + {"SHT_GNU_ATTRIBUTES", Const, 0}, + {"SHT_GNU_HASH", Const, 0}, + {"SHT_GNU_LIBLIST", Const, 0}, + {"SHT_GNU_VERDEF", Const, 0}, + {"SHT_GNU_VERNEED", Const, 0}, + {"SHT_GNU_VERSYM", Const, 0}, + {"SHT_GROUP", Const, 0}, + {"SHT_HASH", Const, 0}, + {"SHT_HIOS", Const, 0}, + {"SHT_HIPROC", Const, 0}, + {"SHT_HIUSER", Const, 0}, + {"SHT_INIT_ARRAY", Const, 0}, + {"SHT_LOOS", Const, 0}, + {"SHT_LOPROC", Const, 0}, + {"SHT_LOUSER", Const, 0}, + {"SHT_MIPS_ABIFLAGS", Const, 17}, + {"SHT_NOBITS", Const, 0}, + {"SHT_NOTE", Const, 0}, + {"SHT_NULL", Const, 0}, + {"SHT_PREINIT_ARRAY", Const, 0}, + {"SHT_PROGBITS", Const, 0}, + {"SHT_REL", Const, 0}, + {"SHT_RELA", Const, 0}, + {"SHT_SHLIB", Const, 0}, + {"SHT_STRTAB", Const, 0}, + {"SHT_SYMTAB", Const, 0}, + {"SHT_SYMTAB_SHNDX", Const, 0}, + {"STB_GLOBAL", Const, 0}, + {"STB_HIOS", Const, 0}, + {"STB_HIPROC", Const, 0}, + {"STB_LOCAL", Const, 0}, + {"STB_LOOS", Const, 0}, + {"STB_LOPROC", Const, 0}, + {"STB_WEAK", Const, 0}, + {"STT_COMMON", Const, 0}, + {"STT_FILE", Const, 0}, + {"STT_FUNC", Const, 0}, + {"STT_HIOS", Const, 0}, + {"STT_HIPROC", Const, 0}, + {"STT_LOOS", Const, 0}, + {"STT_LOPROC", Const, 0}, + {"STT_NOTYPE", Const, 0}, + {"STT_OBJECT", Const, 0}, + {"STT_SECTION", Const, 0}, + {"STT_TLS", Const, 0}, + {"STV_DEFAULT", Const, 0}, + {"STV_HIDDEN", Const, 0}, + {"STV_INTERNAL", Const, 0}, + {"STV_PROTECTED", Const, 0}, + {"ST_BIND", Func, 0}, + {"ST_INFO", Func, 0}, + {"ST_TYPE", Func, 0}, + {"ST_VISIBILITY", Func, 0}, + {"Section", Type, 0}, + {"Section.ReaderAt", Field, 0}, + {"Section.SectionHeader", Field, 0}, + {"Section32", Type, 0}, + {"Section32.Addr", Field, 0}, + {"Section32.Addralign", Field, 0}, + {"Section32.Entsize", Field, 0}, + {"Section32.Flags", Field, 0}, + {"Section32.Info", Field, 0}, + {"Section32.Link", Field, 0}, + {"Section32.Name", Field, 0}, + {"Section32.Off", Field, 0}, + {"Section32.Size", Field, 0}, + {"Section32.Type", Field, 0}, + {"Section64", Type, 0}, + {"Section64.Addr", Field, 0}, + {"Section64.Addralign", Field, 0}, + {"Section64.Entsize", Field, 0}, + {"Section64.Flags", Field, 0}, + {"Section64.Info", Field, 0}, + {"Section64.Link", Field, 0}, + {"Section64.Name", Field, 0}, + {"Section64.Off", Field, 0}, + {"Section64.Size", Field, 0}, + {"Section64.Type", Field, 0}, + {"SectionFlag", Type, 0}, + {"SectionHeader", Type, 0}, + {"SectionHeader.Addr", Field, 0}, + {"SectionHeader.Addralign", Field, 0}, + {"SectionHeader.Entsize", Field, 0}, + {"SectionHeader.FileSize", Field, 6}, + {"SectionHeader.Flags", Field, 0}, + {"SectionHeader.Info", Field, 0}, + {"SectionHeader.Link", Field, 0}, + {"SectionHeader.Name", Field, 0}, + {"SectionHeader.Offset", Field, 0}, + {"SectionHeader.Size", Field, 0}, + {"SectionHeader.Type", Field, 0}, + {"SectionIndex", Type, 0}, + {"SectionType", Type, 0}, + {"Sym32", Type, 0}, + {"Sym32.Info", Field, 0}, + {"Sym32.Name", Field, 0}, + {"Sym32.Other", Field, 0}, + {"Sym32.Shndx", Field, 0}, + {"Sym32.Size", Field, 0}, + {"Sym32.Value", Field, 0}, + {"Sym32Size", Const, 0}, + {"Sym64", Type, 0}, + {"Sym64.Info", Field, 0}, + {"Sym64.Name", Field, 0}, + {"Sym64.Other", Field, 0}, + {"Sym64.Shndx", Field, 0}, + {"Sym64.Size", Field, 0}, + {"Sym64.Value", Field, 0}, + {"Sym64Size", Const, 0}, + {"SymBind", Type, 0}, + {"SymType", Type, 0}, + {"SymVis", Type, 0}, + {"Symbol", Type, 0}, + {"Symbol.Info", Field, 0}, + {"Symbol.Library", Field, 13}, + {"Symbol.Name", Field, 0}, + {"Symbol.Other", Field, 0}, + {"Symbol.Section", Field, 0}, + {"Symbol.Size", Field, 0}, + {"Symbol.Value", Field, 0}, + {"Symbol.Version", Field, 13}, + {"Type", Type, 0}, + {"Version", Type, 0}, + }, + "debug/gosym": { + {"(*DecodingError).Error", Method, 0}, + {"(*LineTable).LineToPC", Method, 0}, + {"(*LineTable).PCToLine", Method, 0}, + {"(*Sym).BaseName", Method, 0}, + {"(*Sym).PackageName", Method, 0}, + {"(*Sym).ReceiverName", Method, 0}, + {"(*Sym).Static", Method, 0}, + {"(*Table).LineToPC", Method, 0}, + {"(*Table).LookupFunc", Method, 0}, + {"(*Table).LookupSym", Method, 0}, + {"(*Table).PCToFunc", Method, 0}, + {"(*Table).PCToLine", Method, 0}, + {"(*Table).SymByAddr", Method, 0}, + {"(*UnknownLineError).Error", Method, 0}, + {"(Func).BaseName", Method, 0}, + {"(Func).PackageName", Method, 0}, + {"(Func).ReceiverName", Method, 0}, + {"(Func).Static", Method, 0}, + {"(UnknownFileError).Error", Method, 0}, + {"DecodingError", Type, 0}, + {"Func", Type, 0}, + {"Func.End", Field, 0}, + {"Func.Entry", Field, 0}, + {"Func.FrameSize", Field, 0}, + {"Func.LineTable", Field, 0}, + {"Func.Locals", Field, 0}, + {"Func.Obj", Field, 0}, + {"Func.Params", Field, 0}, + {"Func.Sym", Field, 0}, + {"LineTable", Type, 0}, + {"LineTable.Data", Field, 0}, + {"LineTable.Line", Field, 0}, + {"LineTable.PC", Field, 0}, + {"NewLineTable", Func, 0}, + {"NewTable", Func, 0}, + {"Obj", Type, 0}, + {"Obj.Funcs", Field, 0}, + {"Obj.Paths", Field, 0}, + {"Sym", Type, 0}, + {"Sym.Func", Field, 0}, + {"Sym.GoType", Field, 0}, + {"Sym.Name", Field, 0}, + {"Sym.Type", Field, 0}, + {"Sym.Value", Field, 0}, + {"Table", Type, 0}, + {"Table.Files", Field, 0}, + {"Table.Funcs", Field, 0}, + {"Table.Objs", Field, 0}, + {"Table.Syms", Field, 0}, + {"UnknownFileError", Type, 0}, + {"UnknownLineError", Type, 0}, + {"UnknownLineError.File", Field, 0}, + {"UnknownLineError.Line", Field, 0}, + }, + "debug/macho": { + {"(*FatFile).Close", Method, 3}, + {"(*File).Close", Method, 0}, + {"(*File).DWARF", Method, 0}, + {"(*File).ImportedLibraries", Method, 0}, + {"(*File).ImportedSymbols", Method, 0}, + {"(*File).Section", Method, 0}, + {"(*File).Segment", Method, 0}, + {"(*FormatError).Error", Method, 0}, + {"(*Section).Data", Method, 0}, + {"(*Section).Open", Method, 0}, + {"(*Segment).Data", Method, 0}, + {"(*Segment).Open", Method, 0}, + {"(Cpu).GoString", Method, 0}, + {"(Cpu).String", Method, 0}, + {"(Dylib).Raw", Method, 0}, + {"(Dysymtab).Raw", Method, 0}, + {"(FatArch).Close", Method, 3}, + {"(FatArch).DWARF", Method, 3}, + {"(FatArch).ImportedLibraries", Method, 3}, + {"(FatArch).ImportedSymbols", Method, 3}, + {"(FatArch).Section", Method, 3}, + {"(FatArch).Segment", Method, 3}, + {"(LoadBytes).Raw", Method, 0}, + {"(LoadCmd).GoString", Method, 0}, + {"(LoadCmd).String", Method, 0}, + {"(RelocTypeARM).GoString", Method, 10}, + {"(RelocTypeARM).String", Method, 10}, + {"(RelocTypeARM64).GoString", Method, 10}, + {"(RelocTypeARM64).String", Method, 10}, + {"(RelocTypeGeneric).GoString", Method, 10}, + {"(RelocTypeGeneric).String", Method, 10}, + {"(RelocTypeX86_64).GoString", Method, 10}, + {"(RelocTypeX86_64).String", Method, 10}, + {"(Rpath).Raw", Method, 10}, + {"(Section).ReadAt", Method, 0}, + {"(Segment).Raw", Method, 0}, + {"(Segment).ReadAt", Method, 0}, + {"(Symtab).Raw", Method, 0}, + {"(Type).GoString", Method, 10}, + {"(Type).String", Method, 10}, + {"ARM64_RELOC_ADDEND", Const, 10}, + {"ARM64_RELOC_BRANCH26", Const, 10}, + {"ARM64_RELOC_GOT_LOAD_PAGE21", Const, 10}, + {"ARM64_RELOC_GOT_LOAD_PAGEOFF12", Const, 10}, + {"ARM64_RELOC_PAGE21", Const, 10}, + {"ARM64_RELOC_PAGEOFF12", Const, 10}, + {"ARM64_RELOC_POINTER_TO_GOT", Const, 10}, + {"ARM64_RELOC_SUBTRACTOR", Const, 10}, + {"ARM64_RELOC_TLVP_LOAD_PAGE21", Const, 10}, + {"ARM64_RELOC_TLVP_LOAD_PAGEOFF12", Const, 10}, + {"ARM64_RELOC_UNSIGNED", Const, 10}, + {"ARM_RELOC_BR24", Const, 10}, + {"ARM_RELOC_HALF", Const, 10}, + {"ARM_RELOC_HALF_SECTDIFF", Const, 10}, + {"ARM_RELOC_LOCAL_SECTDIFF", Const, 10}, + {"ARM_RELOC_PAIR", Const, 10}, + {"ARM_RELOC_PB_LA_PTR", Const, 10}, + {"ARM_RELOC_SECTDIFF", Const, 10}, + {"ARM_RELOC_VANILLA", Const, 10}, + {"ARM_THUMB_32BIT_BRANCH", Const, 10}, + {"ARM_THUMB_RELOC_BR22", Const, 10}, + {"Cpu", Type, 0}, + {"Cpu386", Const, 0}, + {"CpuAmd64", Const, 0}, + {"CpuArm", Const, 3}, + {"CpuArm64", Const, 11}, + {"CpuPpc", Const, 3}, + {"CpuPpc64", Const, 3}, + {"Dylib", Type, 0}, + {"Dylib.CompatVersion", Field, 0}, + {"Dylib.CurrentVersion", Field, 0}, + {"Dylib.LoadBytes", Field, 0}, + {"Dylib.Name", Field, 0}, + {"Dylib.Time", Field, 0}, + {"DylibCmd", Type, 0}, + {"DylibCmd.Cmd", Field, 0}, + {"DylibCmd.CompatVersion", Field, 0}, + {"DylibCmd.CurrentVersion", Field, 0}, + {"DylibCmd.Len", Field, 0}, + {"DylibCmd.Name", Field, 0}, + {"DylibCmd.Time", Field, 0}, + {"Dysymtab", Type, 0}, + {"Dysymtab.DysymtabCmd", Field, 0}, + {"Dysymtab.IndirectSyms", Field, 0}, + {"Dysymtab.LoadBytes", Field, 0}, + {"DysymtabCmd", Type, 0}, + {"DysymtabCmd.Cmd", Field, 0}, + {"DysymtabCmd.Extrefsymoff", Field, 0}, + {"DysymtabCmd.Extreloff", Field, 0}, + {"DysymtabCmd.Iextdefsym", Field, 0}, + {"DysymtabCmd.Ilocalsym", Field, 0}, + {"DysymtabCmd.Indirectsymoff", Field, 0}, + {"DysymtabCmd.Iundefsym", Field, 0}, + {"DysymtabCmd.Len", Field, 0}, + {"DysymtabCmd.Locreloff", Field, 0}, + {"DysymtabCmd.Modtaboff", Field, 0}, + {"DysymtabCmd.Nextdefsym", Field, 0}, + {"DysymtabCmd.Nextrefsyms", Field, 0}, + {"DysymtabCmd.Nextrel", Field, 0}, + {"DysymtabCmd.Nindirectsyms", Field, 0}, + {"DysymtabCmd.Nlocalsym", Field, 0}, + {"DysymtabCmd.Nlocrel", Field, 0}, + {"DysymtabCmd.Nmodtab", Field, 0}, + {"DysymtabCmd.Ntoc", Field, 0}, + {"DysymtabCmd.Nundefsym", Field, 0}, + {"DysymtabCmd.Tocoffset", Field, 0}, + {"ErrNotFat", Var, 3}, + {"FatArch", Type, 3}, + {"FatArch.FatArchHeader", Field, 3}, + {"FatArch.File", Field, 3}, + {"FatArchHeader", Type, 3}, + {"FatArchHeader.Align", Field, 3}, + {"FatArchHeader.Cpu", Field, 3}, + {"FatArchHeader.Offset", Field, 3}, + {"FatArchHeader.Size", Field, 3}, + {"FatArchHeader.SubCpu", Field, 3}, + {"FatFile", Type, 3}, + {"FatFile.Arches", Field, 3}, + {"FatFile.Magic", Field, 3}, + {"File", Type, 0}, + {"File.ByteOrder", Field, 0}, + {"File.Dysymtab", Field, 0}, + {"File.FileHeader", Field, 0}, + {"File.Loads", Field, 0}, + {"File.Sections", Field, 0}, + {"File.Symtab", Field, 0}, + {"FileHeader", Type, 0}, + {"FileHeader.Cmdsz", Field, 0}, + {"FileHeader.Cpu", Field, 0}, + {"FileHeader.Flags", Field, 0}, + {"FileHeader.Magic", Field, 0}, + {"FileHeader.Ncmd", Field, 0}, + {"FileHeader.SubCpu", Field, 0}, + {"FileHeader.Type", Field, 0}, + {"FlagAllModsBound", Const, 10}, + {"FlagAllowStackExecution", Const, 10}, + {"FlagAppExtensionSafe", Const, 10}, + {"FlagBindAtLoad", Const, 10}, + {"FlagBindsToWeak", Const, 10}, + {"FlagCanonical", Const, 10}, + {"FlagDeadStrippableDylib", Const, 10}, + {"FlagDyldLink", Const, 10}, + {"FlagForceFlat", Const, 10}, + {"FlagHasTLVDescriptors", Const, 10}, + {"FlagIncrLink", Const, 10}, + {"FlagLazyInit", Const, 10}, + {"FlagNoFixPrebinding", Const, 10}, + {"FlagNoHeapExecution", Const, 10}, + {"FlagNoMultiDefs", Const, 10}, + {"FlagNoReexportedDylibs", Const, 10}, + {"FlagNoUndefs", Const, 10}, + {"FlagPIE", Const, 10}, + {"FlagPrebindable", Const, 10}, + {"FlagPrebound", Const, 10}, + {"FlagRootSafe", Const, 10}, + {"FlagSetuidSafe", Const, 10}, + {"FlagSplitSegs", Const, 10}, + {"FlagSubsectionsViaSymbols", Const, 10}, + {"FlagTwoLevel", Const, 10}, + {"FlagWeakDefines", Const, 10}, + {"FormatError", Type, 0}, + {"GENERIC_RELOC_LOCAL_SECTDIFF", Const, 10}, + {"GENERIC_RELOC_PAIR", Const, 10}, + {"GENERIC_RELOC_PB_LA_PTR", Const, 10}, + {"GENERIC_RELOC_SECTDIFF", Const, 10}, + {"GENERIC_RELOC_TLV", Const, 10}, + {"GENERIC_RELOC_VANILLA", Const, 10}, + {"Load", Type, 0}, + {"LoadBytes", Type, 0}, + {"LoadCmd", Type, 0}, + {"LoadCmdDylib", Const, 0}, + {"LoadCmdDylinker", Const, 0}, + {"LoadCmdDysymtab", Const, 0}, + {"LoadCmdRpath", Const, 10}, + {"LoadCmdSegment", Const, 0}, + {"LoadCmdSegment64", Const, 0}, + {"LoadCmdSymtab", Const, 0}, + {"LoadCmdThread", Const, 0}, + {"LoadCmdUnixThread", Const, 0}, + {"Magic32", Const, 0}, + {"Magic64", Const, 0}, + {"MagicFat", Const, 3}, + {"NewFatFile", Func, 3}, + {"NewFile", Func, 0}, + {"Nlist32", Type, 0}, + {"Nlist32.Desc", Field, 0}, + {"Nlist32.Name", Field, 0}, + {"Nlist32.Sect", Field, 0}, + {"Nlist32.Type", Field, 0}, + {"Nlist32.Value", Field, 0}, + {"Nlist64", Type, 0}, + {"Nlist64.Desc", Field, 0}, + {"Nlist64.Name", Field, 0}, + {"Nlist64.Sect", Field, 0}, + {"Nlist64.Type", Field, 0}, + {"Nlist64.Value", Field, 0}, + {"Open", Func, 0}, + {"OpenFat", Func, 3}, + {"Regs386", Type, 0}, + {"Regs386.AX", Field, 0}, + {"Regs386.BP", Field, 0}, + {"Regs386.BX", Field, 0}, + {"Regs386.CS", Field, 0}, + {"Regs386.CX", Field, 0}, + {"Regs386.DI", Field, 0}, + {"Regs386.DS", Field, 0}, + {"Regs386.DX", Field, 0}, + {"Regs386.ES", Field, 0}, + {"Regs386.FLAGS", Field, 0}, + {"Regs386.FS", Field, 0}, + {"Regs386.GS", Field, 0}, + {"Regs386.IP", Field, 0}, + {"Regs386.SI", Field, 0}, + {"Regs386.SP", Field, 0}, + {"Regs386.SS", Field, 0}, + {"RegsAMD64", Type, 0}, + {"RegsAMD64.AX", Field, 0}, + {"RegsAMD64.BP", Field, 0}, + {"RegsAMD64.BX", Field, 0}, + {"RegsAMD64.CS", Field, 0}, + {"RegsAMD64.CX", Field, 0}, + {"RegsAMD64.DI", Field, 0}, + {"RegsAMD64.DX", Field, 0}, + {"RegsAMD64.FLAGS", Field, 0}, + {"RegsAMD64.FS", Field, 0}, + {"RegsAMD64.GS", Field, 0}, + {"RegsAMD64.IP", Field, 0}, + {"RegsAMD64.R10", Field, 0}, + {"RegsAMD64.R11", Field, 0}, + {"RegsAMD64.R12", Field, 0}, + {"RegsAMD64.R13", Field, 0}, + {"RegsAMD64.R14", Field, 0}, + {"RegsAMD64.R15", Field, 0}, + {"RegsAMD64.R8", Field, 0}, + {"RegsAMD64.R9", Field, 0}, + {"RegsAMD64.SI", Field, 0}, + {"RegsAMD64.SP", Field, 0}, + {"Reloc", Type, 10}, + {"Reloc.Addr", Field, 10}, + {"Reloc.Extern", Field, 10}, + {"Reloc.Len", Field, 10}, + {"Reloc.Pcrel", Field, 10}, + {"Reloc.Scattered", Field, 10}, + {"Reloc.Type", Field, 10}, + {"Reloc.Value", Field, 10}, + {"RelocTypeARM", Type, 10}, + {"RelocTypeARM64", Type, 10}, + {"RelocTypeGeneric", Type, 10}, + {"RelocTypeX86_64", Type, 10}, + {"Rpath", Type, 10}, + {"Rpath.LoadBytes", Field, 10}, + {"Rpath.Path", Field, 10}, + {"RpathCmd", Type, 10}, + {"RpathCmd.Cmd", Field, 10}, + {"RpathCmd.Len", Field, 10}, + {"RpathCmd.Path", Field, 10}, + {"Section", Type, 0}, + {"Section.ReaderAt", Field, 0}, + {"Section.Relocs", Field, 10}, + {"Section.SectionHeader", Field, 0}, + {"Section32", Type, 0}, + {"Section32.Addr", Field, 0}, + {"Section32.Align", Field, 0}, + {"Section32.Flags", Field, 0}, + {"Section32.Name", Field, 0}, + {"Section32.Nreloc", Field, 0}, + {"Section32.Offset", Field, 0}, + {"Section32.Reloff", Field, 0}, + {"Section32.Reserve1", Field, 0}, + {"Section32.Reserve2", Field, 0}, + {"Section32.Seg", Field, 0}, + {"Section32.Size", Field, 0}, + {"Section64", Type, 0}, + {"Section64.Addr", Field, 0}, + {"Section64.Align", Field, 0}, + {"Section64.Flags", Field, 0}, + {"Section64.Name", Field, 0}, + {"Section64.Nreloc", Field, 0}, + {"Section64.Offset", Field, 0}, + {"Section64.Reloff", Field, 0}, + {"Section64.Reserve1", Field, 0}, + {"Section64.Reserve2", Field, 0}, + {"Section64.Reserve3", Field, 0}, + {"Section64.Seg", Field, 0}, + {"Section64.Size", Field, 0}, + {"SectionHeader", Type, 0}, + {"SectionHeader.Addr", Field, 0}, + {"SectionHeader.Align", Field, 0}, + {"SectionHeader.Flags", Field, 0}, + {"SectionHeader.Name", Field, 0}, + {"SectionHeader.Nreloc", Field, 0}, + {"SectionHeader.Offset", Field, 0}, + {"SectionHeader.Reloff", Field, 0}, + {"SectionHeader.Seg", Field, 0}, + {"SectionHeader.Size", Field, 0}, + {"Segment", Type, 0}, + {"Segment.LoadBytes", Field, 0}, + {"Segment.ReaderAt", Field, 0}, + {"Segment.SegmentHeader", Field, 0}, + {"Segment32", Type, 0}, + {"Segment32.Addr", Field, 0}, + {"Segment32.Cmd", Field, 0}, + {"Segment32.Filesz", Field, 0}, + {"Segment32.Flag", Field, 0}, + {"Segment32.Len", Field, 0}, + {"Segment32.Maxprot", Field, 0}, + {"Segment32.Memsz", Field, 0}, + {"Segment32.Name", Field, 0}, + {"Segment32.Nsect", Field, 0}, + {"Segment32.Offset", Field, 0}, + {"Segment32.Prot", Field, 0}, + {"Segment64", Type, 0}, + {"Segment64.Addr", Field, 0}, + {"Segment64.Cmd", Field, 0}, + {"Segment64.Filesz", Field, 0}, + {"Segment64.Flag", Field, 0}, + {"Segment64.Len", Field, 0}, + {"Segment64.Maxprot", Field, 0}, + {"Segment64.Memsz", Field, 0}, + {"Segment64.Name", Field, 0}, + {"Segment64.Nsect", Field, 0}, + {"Segment64.Offset", Field, 0}, + {"Segment64.Prot", Field, 0}, + {"SegmentHeader", Type, 0}, + {"SegmentHeader.Addr", Field, 0}, + {"SegmentHeader.Cmd", Field, 0}, + {"SegmentHeader.Filesz", Field, 0}, + {"SegmentHeader.Flag", Field, 0}, + {"SegmentHeader.Len", Field, 0}, + {"SegmentHeader.Maxprot", Field, 0}, + {"SegmentHeader.Memsz", Field, 0}, + {"SegmentHeader.Name", Field, 0}, + {"SegmentHeader.Nsect", Field, 0}, + {"SegmentHeader.Offset", Field, 0}, + {"SegmentHeader.Prot", Field, 0}, + {"Symbol", Type, 0}, + {"Symbol.Desc", Field, 0}, + {"Symbol.Name", Field, 0}, + {"Symbol.Sect", Field, 0}, + {"Symbol.Type", Field, 0}, + {"Symbol.Value", Field, 0}, + {"Symtab", Type, 0}, + {"Symtab.LoadBytes", Field, 0}, + {"Symtab.Syms", Field, 0}, + {"Symtab.SymtabCmd", Field, 0}, + {"SymtabCmd", Type, 0}, + {"SymtabCmd.Cmd", Field, 0}, + {"SymtabCmd.Len", Field, 0}, + {"SymtabCmd.Nsyms", Field, 0}, + {"SymtabCmd.Stroff", Field, 0}, + {"SymtabCmd.Strsize", Field, 0}, + {"SymtabCmd.Symoff", Field, 0}, + {"Thread", Type, 0}, + {"Thread.Cmd", Field, 0}, + {"Thread.Data", Field, 0}, + {"Thread.Len", Field, 0}, + {"Thread.Type", Field, 0}, + {"Type", Type, 0}, + {"TypeBundle", Const, 3}, + {"TypeDylib", Const, 3}, + {"TypeExec", Const, 0}, + {"TypeObj", Const, 0}, + {"X86_64_RELOC_BRANCH", Const, 10}, + {"X86_64_RELOC_GOT", Const, 10}, + {"X86_64_RELOC_GOT_LOAD", Const, 10}, + {"X86_64_RELOC_SIGNED", Const, 10}, + {"X86_64_RELOC_SIGNED_1", Const, 10}, + {"X86_64_RELOC_SIGNED_2", Const, 10}, + {"X86_64_RELOC_SIGNED_4", Const, 10}, + {"X86_64_RELOC_SUBTRACTOR", Const, 10}, + {"X86_64_RELOC_TLV", Const, 10}, + {"X86_64_RELOC_UNSIGNED", Const, 10}, + }, + "debug/pe": { + {"(*COFFSymbol).FullName", Method, 8}, + {"(*File).COFFSymbolReadSectionDefAux", Method, 19}, + {"(*File).Close", Method, 0}, + {"(*File).DWARF", Method, 0}, + {"(*File).ImportedLibraries", Method, 0}, + {"(*File).ImportedSymbols", Method, 0}, + {"(*File).Section", Method, 0}, + {"(*FormatError).Error", Method, 0}, + {"(*Section).Data", Method, 0}, + {"(*Section).Open", Method, 0}, + {"(Section).ReadAt", Method, 0}, + {"(StringTable).String", Method, 8}, + {"COFFSymbol", Type, 1}, + {"COFFSymbol.Name", Field, 1}, + {"COFFSymbol.NumberOfAuxSymbols", Field, 1}, + {"COFFSymbol.SectionNumber", Field, 1}, + {"COFFSymbol.StorageClass", Field, 1}, + {"COFFSymbol.Type", Field, 1}, + {"COFFSymbol.Value", Field, 1}, + {"COFFSymbolAuxFormat5", Type, 19}, + {"COFFSymbolAuxFormat5.Checksum", Field, 19}, + {"COFFSymbolAuxFormat5.NumLineNumbers", Field, 19}, + {"COFFSymbolAuxFormat5.NumRelocs", Field, 19}, + {"COFFSymbolAuxFormat5.SecNum", Field, 19}, + {"COFFSymbolAuxFormat5.Selection", Field, 19}, + {"COFFSymbolAuxFormat5.Size", Field, 19}, + {"COFFSymbolSize", Const, 1}, + {"DataDirectory", Type, 3}, + {"DataDirectory.Size", Field, 3}, + {"DataDirectory.VirtualAddress", Field, 3}, + {"File", Type, 0}, + {"File.COFFSymbols", Field, 8}, + {"File.FileHeader", Field, 0}, + {"File.OptionalHeader", Field, 3}, + {"File.Sections", Field, 0}, + {"File.StringTable", Field, 8}, + {"File.Symbols", Field, 1}, + {"FileHeader", Type, 0}, + {"FileHeader.Characteristics", Field, 0}, + {"FileHeader.Machine", Field, 0}, + {"FileHeader.NumberOfSections", Field, 0}, + {"FileHeader.NumberOfSymbols", Field, 0}, + {"FileHeader.PointerToSymbolTable", Field, 0}, + {"FileHeader.SizeOfOptionalHeader", Field, 0}, + {"FileHeader.TimeDateStamp", Field, 0}, + {"FormatError", Type, 0}, + {"IMAGE_COMDAT_SELECT_ANY", Const, 19}, + {"IMAGE_COMDAT_SELECT_ASSOCIATIVE", Const, 19}, + {"IMAGE_COMDAT_SELECT_EXACT_MATCH", Const, 19}, + {"IMAGE_COMDAT_SELECT_LARGEST", Const, 19}, + {"IMAGE_COMDAT_SELECT_NODUPLICATES", Const, 19}, + {"IMAGE_COMDAT_SELECT_SAME_SIZE", Const, 19}, + {"IMAGE_DIRECTORY_ENTRY_ARCHITECTURE", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_BASERELOC", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_DEBUG", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_EXCEPTION", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_EXPORT", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_GLOBALPTR", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_IAT", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_IMPORT", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_RESOURCE", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_SECURITY", Const, 11}, + {"IMAGE_DIRECTORY_ENTRY_TLS", Const, 11}, + {"IMAGE_DLLCHARACTERISTICS_APPCONTAINER", Const, 15}, + {"IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE", Const, 15}, + {"IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY", Const, 15}, + {"IMAGE_DLLCHARACTERISTICS_GUARD_CF", Const, 15}, + {"IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA", Const, 15}, + {"IMAGE_DLLCHARACTERISTICS_NO_BIND", Const, 15}, + {"IMAGE_DLLCHARACTERISTICS_NO_ISOLATION", Const, 15}, + {"IMAGE_DLLCHARACTERISTICS_NO_SEH", Const, 15}, + {"IMAGE_DLLCHARACTERISTICS_NX_COMPAT", Const, 15}, + {"IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE", Const, 15}, + {"IMAGE_DLLCHARACTERISTICS_WDM_DRIVER", Const, 15}, + {"IMAGE_FILE_32BIT_MACHINE", Const, 15}, + {"IMAGE_FILE_AGGRESIVE_WS_TRIM", Const, 15}, + {"IMAGE_FILE_BYTES_REVERSED_HI", Const, 15}, + {"IMAGE_FILE_BYTES_REVERSED_LO", Const, 15}, + {"IMAGE_FILE_DEBUG_STRIPPED", Const, 15}, + {"IMAGE_FILE_DLL", Const, 15}, + {"IMAGE_FILE_EXECUTABLE_IMAGE", Const, 15}, + {"IMAGE_FILE_LARGE_ADDRESS_AWARE", Const, 15}, + {"IMAGE_FILE_LINE_NUMS_STRIPPED", Const, 15}, + {"IMAGE_FILE_LOCAL_SYMS_STRIPPED", Const, 15}, + {"IMAGE_FILE_MACHINE_AM33", Const, 0}, + {"IMAGE_FILE_MACHINE_AMD64", Const, 0}, + {"IMAGE_FILE_MACHINE_ARM", Const, 0}, + {"IMAGE_FILE_MACHINE_ARM64", Const, 11}, + {"IMAGE_FILE_MACHINE_ARMNT", Const, 12}, + {"IMAGE_FILE_MACHINE_EBC", Const, 0}, + {"IMAGE_FILE_MACHINE_I386", Const, 0}, + {"IMAGE_FILE_MACHINE_IA64", Const, 0}, + {"IMAGE_FILE_MACHINE_LOONGARCH32", Const, 19}, + {"IMAGE_FILE_MACHINE_LOONGARCH64", Const, 19}, + {"IMAGE_FILE_MACHINE_M32R", Const, 0}, + {"IMAGE_FILE_MACHINE_MIPS16", Const, 0}, + {"IMAGE_FILE_MACHINE_MIPSFPU", Const, 0}, + {"IMAGE_FILE_MACHINE_MIPSFPU16", Const, 0}, + {"IMAGE_FILE_MACHINE_POWERPC", Const, 0}, + {"IMAGE_FILE_MACHINE_POWERPCFP", Const, 0}, + {"IMAGE_FILE_MACHINE_R4000", Const, 0}, + {"IMAGE_FILE_MACHINE_RISCV128", Const, 20}, + {"IMAGE_FILE_MACHINE_RISCV32", Const, 20}, + {"IMAGE_FILE_MACHINE_RISCV64", Const, 20}, + {"IMAGE_FILE_MACHINE_SH3", Const, 0}, + {"IMAGE_FILE_MACHINE_SH3DSP", Const, 0}, + {"IMAGE_FILE_MACHINE_SH4", Const, 0}, + {"IMAGE_FILE_MACHINE_SH5", Const, 0}, + {"IMAGE_FILE_MACHINE_THUMB", Const, 0}, + {"IMAGE_FILE_MACHINE_UNKNOWN", Const, 0}, + {"IMAGE_FILE_MACHINE_WCEMIPSV2", Const, 0}, + {"IMAGE_FILE_NET_RUN_FROM_SWAP", Const, 15}, + {"IMAGE_FILE_RELOCS_STRIPPED", Const, 15}, + {"IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP", Const, 15}, + {"IMAGE_FILE_SYSTEM", Const, 15}, + {"IMAGE_FILE_UP_SYSTEM_ONLY", Const, 15}, + {"IMAGE_SCN_CNT_CODE", Const, 19}, + {"IMAGE_SCN_CNT_INITIALIZED_DATA", Const, 19}, + {"IMAGE_SCN_CNT_UNINITIALIZED_DATA", Const, 19}, + {"IMAGE_SCN_LNK_COMDAT", Const, 19}, + {"IMAGE_SCN_MEM_DISCARDABLE", Const, 19}, + {"IMAGE_SCN_MEM_EXECUTE", Const, 19}, + {"IMAGE_SCN_MEM_READ", Const, 19}, + {"IMAGE_SCN_MEM_WRITE", Const, 19}, + {"IMAGE_SUBSYSTEM_EFI_APPLICATION", Const, 15}, + {"IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER", Const, 15}, + {"IMAGE_SUBSYSTEM_EFI_ROM", Const, 15}, + {"IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER", Const, 15}, + {"IMAGE_SUBSYSTEM_NATIVE", Const, 15}, + {"IMAGE_SUBSYSTEM_NATIVE_WINDOWS", Const, 15}, + {"IMAGE_SUBSYSTEM_OS2_CUI", Const, 15}, + {"IMAGE_SUBSYSTEM_POSIX_CUI", Const, 15}, + {"IMAGE_SUBSYSTEM_UNKNOWN", Const, 15}, + {"IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION", Const, 15}, + {"IMAGE_SUBSYSTEM_WINDOWS_CE_GUI", Const, 15}, + {"IMAGE_SUBSYSTEM_WINDOWS_CUI", Const, 15}, + {"IMAGE_SUBSYSTEM_WINDOWS_GUI", Const, 15}, + {"IMAGE_SUBSYSTEM_XBOX", Const, 15}, + {"ImportDirectory", Type, 0}, + {"ImportDirectory.FirstThunk", Field, 0}, + {"ImportDirectory.ForwarderChain", Field, 0}, + {"ImportDirectory.Name", Field, 0}, + {"ImportDirectory.OriginalFirstThunk", Field, 0}, + {"ImportDirectory.TimeDateStamp", Field, 0}, + {"NewFile", Func, 0}, + {"Open", Func, 0}, + {"OptionalHeader32", Type, 3}, + {"OptionalHeader32.AddressOfEntryPoint", Field, 3}, + {"OptionalHeader32.BaseOfCode", Field, 3}, + {"OptionalHeader32.BaseOfData", Field, 3}, + {"OptionalHeader32.CheckSum", Field, 3}, + {"OptionalHeader32.DataDirectory", Field, 3}, + {"OptionalHeader32.DllCharacteristics", Field, 3}, + {"OptionalHeader32.FileAlignment", Field, 3}, + {"OptionalHeader32.ImageBase", Field, 3}, + {"OptionalHeader32.LoaderFlags", Field, 3}, + {"OptionalHeader32.Magic", Field, 3}, + {"OptionalHeader32.MajorImageVersion", Field, 3}, + {"OptionalHeader32.MajorLinkerVersion", Field, 3}, + {"OptionalHeader32.MajorOperatingSystemVersion", Field, 3}, + {"OptionalHeader32.MajorSubsystemVersion", Field, 3}, + {"OptionalHeader32.MinorImageVersion", Field, 3}, + {"OptionalHeader32.MinorLinkerVersion", Field, 3}, + {"OptionalHeader32.MinorOperatingSystemVersion", Field, 3}, + {"OptionalHeader32.MinorSubsystemVersion", Field, 3}, + {"OptionalHeader32.NumberOfRvaAndSizes", Field, 3}, + {"OptionalHeader32.SectionAlignment", Field, 3}, + {"OptionalHeader32.SizeOfCode", Field, 3}, + {"OptionalHeader32.SizeOfHeaders", Field, 3}, + {"OptionalHeader32.SizeOfHeapCommit", Field, 3}, + {"OptionalHeader32.SizeOfHeapReserve", Field, 3}, + {"OptionalHeader32.SizeOfImage", Field, 3}, + {"OptionalHeader32.SizeOfInitializedData", Field, 3}, + {"OptionalHeader32.SizeOfStackCommit", Field, 3}, + {"OptionalHeader32.SizeOfStackReserve", Field, 3}, + {"OptionalHeader32.SizeOfUninitializedData", Field, 3}, + {"OptionalHeader32.Subsystem", Field, 3}, + {"OptionalHeader32.Win32VersionValue", Field, 3}, + {"OptionalHeader64", Type, 3}, + {"OptionalHeader64.AddressOfEntryPoint", Field, 3}, + {"OptionalHeader64.BaseOfCode", Field, 3}, + {"OptionalHeader64.CheckSum", Field, 3}, + {"OptionalHeader64.DataDirectory", Field, 3}, + {"OptionalHeader64.DllCharacteristics", Field, 3}, + {"OptionalHeader64.FileAlignment", Field, 3}, + {"OptionalHeader64.ImageBase", Field, 3}, + {"OptionalHeader64.LoaderFlags", Field, 3}, + {"OptionalHeader64.Magic", Field, 3}, + {"OptionalHeader64.MajorImageVersion", Field, 3}, + {"OptionalHeader64.MajorLinkerVersion", Field, 3}, + {"OptionalHeader64.MajorOperatingSystemVersion", Field, 3}, + {"OptionalHeader64.MajorSubsystemVersion", Field, 3}, + {"OptionalHeader64.MinorImageVersion", Field, 3}, + {"OptionalHeader64.MinorLinkerVersion", Field, 3}, + {"OptionalHeader64.MinorOperatingSystemVersion", Field, 3}, + {"OptionalHeader64.MinorSubsystemVersion", Field, 3}, + {"OptionalHeader64.NumberOfRvaAndSizes", Field, 3}, + {"OptionalHeader64.SectionAlignment", Field, 3}, + {"OptionalHeader64.SizeOfCode", Field, 3}, + {"OptionalHeader64.SizeOfHeaders", Field, 3}, + {"OptionalHeader64.SizeOfHeapCommit", Field, 3}, + {"OptionalHeader64.SizeOfHeapReserve", Field, 3}, + {"OptionalHeader64.SizeOfImage", Field, 3}, + {"OptionalHeader64.SizeOfInitializedData", Field, 3}, + {"OptionalHeader64.SizeOfStackCommit", Field, 3}, + {"OptionalHeader64.SizeOfStackReserve", Field, 3}, + {"OptionalHeader64.SizeOfUninitializedData", Field, 3}, + {"OptionalHeader64.Subsystem", Field, 3}, + {"OptionalHeader64.Win32VersionValue", Field, 3}, + {"Reloc", Type, 8}, + {"Reloc.SymbolTableIndex", Field, 8}, + {"Reloc.Type", Field, 8}, + {"Reloc.VirtualAddress", Field, 8}, + {"Section", Type, 0}, + {"Section.ReaderAt", Field, 0}, + {"Section.Relocs", Field, 8}, + {"Section.SectionHeader", Field, 0}, + {"SectionHeader", Type, 0}, + {"SectionHeader.Characteristics", Field, 0}, + {"SectionHeader.Name", Field, 0}, + {"SectionHeader.NumberOfLineNumbers", Field, 0}, + {"SectionHeader.NumberOfRelocations", Field, 0}, + {"SectionHeader.Offset", Field, 0}, + {"SectionHeader.PointerToLineNumbers", Field, 0}, + {"SectionHeader.PointerToRelocations", Field, 0}, + {"SectionHeader.Size", Field, 0}, + {"SectionHeader.VirtualAddress", Field, 0}, + {"SectionHeader.VirtualSize", Field, 0}, + {"SectionHeader32", Type, 0}, + {"SectionHeader32.Characteristics", Field, 0}, + {"SectionHeader32.Name", Field, 0}, + {"SectionHeader32.NumberOfLineNumbers", Field, 0}, + {"SectionHeader32.NumberOfRelocations", Field, 0}, + {"SectionHeader32.PointerToLineNumbers", Field, 0}, + {"SectionHeader32.PointerToRawData", Field, 0}, + {"SectionHeader32.PointerToRelocations", Field, 0}, + {"SectionHeader32.SizeOfRawData", Field, 0}, + {"SectionHeader32.VirtualAddress", Field, 0}, + {"SectionHeader32.VirtualSize", Field, 0}, + {"StringTable", Type, 8}, + {"Symbol", Type, 1}, + {"Symbol.Name", Field, 1}, + {"Symbol.SectionNumber", Field, 1}, + {"Symbol.StorageClass", Field, 1}, + {"Symbol.Type", Field, 1}, + {"Symbol.Value", Field, 1}, + }, + "debug/plan9obj": { + {"(*File).Close", Method, 3}, + {"(*File).Section", Method, 3}, + {"(*File).Symbols", Method, 3}, + {"(*Section).Data", Method, 3}, + {"(*Section).Open", Method, 3}, + {"(Section).ReadAt", Method, 3}, + {"ErrNoSymbols", Var, 18}, + {"File", Type, 3}, + {"File.FileHeader", Field, 3}, + {"File.Sections", Field, 3}, + {"FileHeader", Type, 3}, + {"FileHeader.Bss", Field, 3}, + {"FileHeader.Entry", Field, 3}, + {"FileHeader.HdrSize", Field, 4}, + {"FileHeader.LoadAddress", Field, 4}, + {"FileHeader.Magic", Field, 3}, + {"FileHeader.PtrSize", Field, 3}, + {"Magic386", Const, 3}, + {"Magic64", Const, 3}, + {"MagicAMD64", Const, 3}, + {"MagicARM", Const, 3}, + {"NewFile", Func, 3}, + {"Open", Func, 3}, + {"Section", Type, 3}, + {"Section.ReaderAt", Field, 3}, + {"Section.SectionHeader", Field, 3}, + {"SectionHeader", Type, 3}, + {"SectionHeader.Name", Field, 3}, + {"SectionHeader.Offset", Field, 3}, + {"SectionHeader.Size", Field, 3}, + {"Sym", Type, 3}, + {"Sym.Name", Field, 3}, + {"Sym.Type", Field, 3}, + {"Sym.Value", Field, 3}, + }, + "embed": { + {"(FS).Open", Method, 16}, + {"(FS).ReadDir", Method, 16}, + {"(FS).ReadFile", Method, 16}, + {"FS", Type, 16}, + }, + "encoding": { + {"BinaryMarshaler", Type, 2}, + {"BinaryUnmarshaler", Type, 2}, + {"TextMarshaler", Type, 2}, + {"TextUnmarshaler", Type, 2}, + }, + "encoding/ascii85": { + {"(CorruptInputError).Error", Method, 0}, + {"CorruptInputError", Type, 0}, + {"Decode", Func, 0}, + {"Encode", Func, 0}, + {"MaxEncodedLen", Func, 0}, + {"NewDecoder", Func, 0}, + {"NewEncoder", Func, 0}, + }, + "encoding/asn1": { + {"(BitString).At", Method, 0}, + {"(BitString).RightAlign", Method, 0}, + {"(ObjectIdentifier).Equal", Method, 0}, + {"(ObjectIdentifier).String", Method, 3}, + {"(StructuralError).Error", Method, 0}, + {"(SyntaxError).Error", Method, 0}, + {"BitString", Type, 0}, + {"BitString.BitLength", Field, 0}, + {"BitString.Bytes", Field, 0}, + {"ClassApplication", Const, 6}, + {"ClassContextSpecific", Const, 6}, + {"ClassPrivate", Const, 6}, + {"ClassUniversal", Const, 6}, + {"Enumerated", Type, 0}, + {"Flag", Type, 0}, + {"Marshal", Func, 0}, + {"MarshalWithParams", Func, 10}, + {"NullBytes", Var, 9}, + {"NullRawValue", Var, 9}, + {"ObjectIdentifier", Type, 0}, + {"RawContent", Type, 0}, + {"RawValue", Type, 0}, + {"RawValue.Bytes", Field, 0}, + {"RawValue.Class", Field, 0}, + {"RawValue.FullBytes", Field, 0}, + {"RawValue.IsCompound", Field, 0}, + {"RawValue.Tag", Field, 0}, + {"StructuralError", Type, 0}, + {"StructuralError.Msg", Field, 0}, + {"SyntaxError", Type, 0}, + {"SyntaxError.Msg", Field, 0}, + {"TagBMPString", Const, 14}, + {"TagBitString", Const, 6}, + {"TagBoolean", Const, 6}, + {"TagEnum", Const, 6}, + {"TagGeneralString", Const, 6}, + {"TagGeneralizedTime", Const, 6}, + {"TagIA5String", Const, 6}, + {"TagInteger", Const, 6}, + {"TagNull", Const, 9}, + {"TagNumericString", Const, 10}, + {"TagOID", Const, 6}, + {"TagOctetString", Const, 6}, + {"TagPrintableString", Const, 6}, + {"TagSequence", Const, 6}, + {"TagSet", Const, 6}, + {"TagT61String", Const, 6}, + {"TagUTCTime", Const, 6}, + {"TagUTF8String", Const, 6}, + {"Unmarshal", Func, 0}, + {"UnmarshalWithParams", Func, 0}, + }, + "encoding/base32": { + {"(*Encoding).AppendDecode", Method, 22}, + {"(*Encoding).AppendEncode", Method, 22}, + {"(*Encoding).Decode", Method, 0}, + {"(*Encoding).DecodeString", Method, 0}, + {"(*Encoding).DecodedLen", Method, 0}, + {"(*Encoding).Encode", Method, 0}, + {"(*Encoding).EncodeToString", Method, 0}, + {"(*Encoding).EncodedLen", Method, 0}, + {"(CorruptInputError).Error", Method, 0}, + {"(Encoding).WithPadding", Method, 9}, + {"CorruptInputError", Type, 0}, + {"Encoding", Type, 0}, + {"HexEncoding", Var, 0}, + {"NewDecoder", Func, 0}, + {"NewEncoder", Func, 0}, + {"NewEncoding", Func, 0}, + {"NoPadding", Const, 9}, + {"StdEncoding", Var, 0}, + {"StdPadding", Const, 9}, + }, + "encoding/base64": { + {"(*Encoding).AppendDecode", Method, 22}, + {"(*Encoding).AppendEncode", Method, 22}, + {"(*Encoding).Decode", Method, 0}, + {"(*Encoding).DecodeString", Method, 0}, + {"(*Encoding).DecodedLen", Method, 0}, + {"(*Encoding).Encode", Method, 0}, + {"(*Encoding).EncodeToString", Method, 0}, + {"(*Encoding).EncodedLen", Method, 0}, + {"(CorruptInputError).Error", Method, 0}, + {"(Encoding).Strict", Method, 8}, + {"(Encoding).WithPadding", Method, 5}, + {"CorruptInputError", Type, 0}, + {"Encoding", Type, 0}, + {"NewDecoder", Func, 0}, + {"NewEncoder", Func, 0}, + {"NewEncoding", Func, 0}, + {"NoPadding", Const, 5}, + {"RawStdEncoding", Var, 5}, + {"RawURLEncoding", Var, 5}, + {"StdEncoding", Var, 0}, + {"StdPadding", Const, 5}, + {"URLEncoding", Var, 0}, + }, + "encoding/binary": { + {"AppendByteOrder", Type, 19}, + {"AppendUvarint", Func, 19}, + {"AppendVarint", Func, 19}, + {"BigEndian", Var, 0}, + {"ByteOrder", Type, 0}, + {"LittleEndian", Var, 0}, + {"MaxVarintLen16", Const, 0}, + {"MaxVarintLen32", Const, 0}, + {"MaxVarintLen64", Const, 0}, + {"NativeEndian", Var, 21}, + {"PutUvarint", Func, 0}, + {"PutVarint", Func, 0}, + {"Read", Func, 0}, + {"ReadUvarint", Func, 0}, + {"ReadVarint", Func, 0}, + {"Size", Func, 0}, + {"Uvarint", Func, 0}, + {"Varint", Func, 0}, + {"Write", Func, 0}, + }, + "encoding/csv": { + {"(*ParseError).Error", Method, 0}, + {"(*ParseError).Unwrap", Method, 13}, + {"(*Reader).FieldPos", Method, 17}, + {"(*Reader).InputOffset", Method, 19}, + {"(*Reader).Read", Method, 0}, + {"(*Reader).ReadAll", Method, 0}, + {"(*Writer).Error", Method, 1}, + {"(*Writer).Flush", Method, 0}, + {"(*Writer).Write", Method, 0}, + {"(*Writer).WriteAll", Method, 0}, + {"ErrBareQuote", Var, 0}, + {"ErrFieldCount", Var, 0}, + {"ErrQuote", Var, 0}, + {"ErrTrailingComma", Var, 0}, + {"NewReader", Func, 0}, + {"NewWriter", Func, 0}, + {"ParseError", Type, 0}, + {"ParseError.Column", Field, 0}, + {"ParseError.Err", Field, 0}, + {"ParseError.Line", Field, 0}, + {"ParseError.StartLine", Field, 10}, + {"Reader", Type, 0}, + {"Reader.Comma", Field, 0}, + {"Reader.Comment", Field, 0}, + {"Reader.FieldsPerRecord", Field, 0}, + {"Reader.LazyQuotes", Field, 0}, + {"Reader.ReuseRecord", Field, 9}, + {"Reader.TrailingComma", Field, 0}, + {"Reader.TrimLeadingSpace", Field, 0}, + {"Writer", Type, 0}, + {"Writer.Comma", Field, 0}, + {"Writer.UseCRLF", Field, 0}, + }, + "encoding/gob": { + {"(*Decoder).Decode", Method, 0}, + {"(*Decoder).DecodeValue", Method, 0}, + {"(*Encoder).Encode", Method, 0}, + {"(*Encoder).EncodeValue", Method, 0}, + {"CommonType", Type, 0}, + {"CommonType.Id", Field, 0}, + {"CommonType.Name", Field, 0}, + {"Decoder", Type, 0}, + {"Encoder", Type, 0}, + {"GobDecoder", Type, 0}, + {"GobEncoder", Type, 0}, + {"NewDecoder", Func, 0}, + {"NewEncoder", Func, 0}, + {"Register", Func, 0}, + {"RegisterName", Func, 0}, + }, + "encoding/hex": { + {"(InvalidByteError).Error", Method, 0}, + {"AppendDecode", Func, 22}, + {"AppendEncode", Func, 22}, + {"Decode", Func, 0}, + {"DecodeString", Func, 0}, + {"DecodedLen", Func, 0}, + {"Dump", Func, 0}, + {"Dumper", Func, 0}, + {"Encode", Func, 0}, + {"EncodeToString", Func, 0}, + {"EncodedLen", Func, 0}, + {"ErrLength", Var, 0}, + {"InvalidByteError", Type, 0}, + {"NewDecoder", Func, 10}, + {"NewEncoder", Func, 10}, + }, + "encoding/json": { + {"(*Decoder).Buffered", Method, 1}, + {"(*Decoder).Decode", Method, 0}, + {"(*Decoder).DisallowUnknownFields", Method, 10}, + {"(*Decoder).InputOffset", Method, 14}, + {"(*Decoder).More", Method, 5}, + {"(*Decoder).Token", Method, 5}, + {"(*Decoder).UseNumber", Method, 1}, + {"(*Encoder).Encode", Method, 0}, + {"(*Encoder).SetEscapeHTML", Method, 7}, + {"(*Encoder).SetIndent", Method, 7}, + {"(*InvalidUTF8Error).Error", Method, 0}, + {"(*InvalidUnmarshalError).Error", Method, 0}, + {"(*MarshalerError).Error", Method, 0}, + {"(*MarshalerError).Unwrap", Method, 13}, + {"(*RawMessage).MarshalJSON", Method, 0}, + {"(*RawMessage).UnmarshalJSON", Method, 0}, + {"(*SyntaxError).Error", Method, 0}, + {"(*UnmarshalFieldError).Error", Method, 0}, + {"(*UnmarshalTypeError).Error", Method, 0}, + {"(*UnsupportedTypeError).Error", Method, 0}, + {"(*UnsupportedValueError).Error", Method, 0}, + {"(Delim).String", Method, 5}, + {"(Number).Float64", Method, 1}, + {"(Number).Int64", Method, 1}, + {"(Number).String", Method, 1}, + {"(RawMessage).MarshalJSON", Method, 8}, + {"Compact", Func, 0}, + {"Decoder", Type, 0}, + {"Delim", Type, 5}, + {"Encoder", Type, 0}, + {"HTMLEscape", Func, 0}, + {"Indent", Func, 0}, + {"InvalidUTF8Error", Type, 0}, + {"InvalidUTF8Error.S", Field, 0}, + {"InvalidUnmarshalError", Type, 0}, + {"InvalidUnmarshalError.Type", Field, 0}, + {"Marshal", Func, 0}, + {"MarshalIndent", Func, 0}, + {"Marshaler", Type, 0}, + {"MarshalerError", Type, 0}, + {"MarshalerError.Err", Field, 0}, + {"MarshalerError.Type", Field, 0}, + {"NewDecoder", Func, 0}, + {"NewEncoder", Func, 0}, + {"Number", Type, 1}, + {"RawMessage", Type, 0}, + {"SyntaxError", Type, 0}, + {"SyntaxError.Offset", Field, 0}, + {"Token", Type, 5}, + {"Unmarshal", Func, 0}, + {"UnmarshalFieldError", Type, 0}, + {"UnmarshalFieldError.Field", Field, 0}, + {"UnmarshalFieldError.Key", Field, 0}, + {"UnmarshalFieldError.Type", Field, 0}, + {"UnmarshalTypeError", Type, 0}, + {"UnmarshalTypeError.Field", Field, 8}, + {"UnmarshalTypeError.Offset", Field, 5}, + {"UnmarshalTypeError.Struct", Field, 8}, + {"UnmarshalTypeError.Type", Field, 0}, + {"UnmarshalTypeError.Value", Field, 0}, + {"Unmarshaler", Type, 0}, + {"UnsupportedTypeError", Type, 0}, + {"UnsupportedTypeError.Type", Field, 0}, + {"UnsupportedValueError", Type, 0}, + {"UnsupportedValueError.Str", Field, 0}, + {"UnsupportedValueError.Value", Field, 0}, + {"Valid", Func, 9}, + }, + "encoding/pem": { + {"Block", Type, 0}, + {"Block.Bytes", Field, 0}, + {"Block.Headers", Field, 0}, + {"Block.Type", Field, 0}, + {"Decode", Func, 0}, + {"Encode", Func, 0}, + {"EncodeToMemory", Func, 0}, + }, + "encoding/xml": { + {"(*Decoder).Decode", Method, 0}, + {"(*Decoder).DecodeElement", Method, 0}, + {"(*Decoder).InputOffset", Method, 4}, + {"(*Decoder).InputPos", Method, 19}, + {"(*Decoder).RawToken", Method, 0}, + {"(*Decoder).Skip", Method, 0}, + {"(*Decoder).Token", Method, 0}, + {"(*Encoder).Close", Method, 20}, + {"(*Encoder).Encode", Method, 0}, + {"(*Encoder).EncodeElement", Method, 2}, + {"(*Encoder).EncodeToken", Method, 2}, + {"(*Encoder).Flush", Method, 2}, + {"(*Encoder).Indent", Method, 1}, + {"(*SyntaxError).Error", Method, 0}, + {"(*TagPathError).Error", Method, 0}, + {"(*UnsupportedTypeError).Error", Method, 0}, + {"(CharData).Copy", Method, 0}, + {"(Comment).Copy", Method, 0}, + {"(Directive).Copy", Method, 0}, + {"(ProcInst).Copy", Method, 0}, + {"(StartElement).Copy", Method, 0}, + {"(StartElement).End", Method, 2}, + {"(UnmarshalError).Error", Method, 0}, + {"Attr", Type, 0}, + {"Attr.Name", Field, 0}, + {"Attr.Value", Field, 0}, + {"CharData", Type, 0}, + {"Comment", Type, 0}, + {"CopyToken", Func, 0}, + {"Decoder", Type, 0}, + {"Decoder.AutoClose", Field, 0}, + {"Decoder.CharsetReader", Field, 0}, + {"Decoder.DefaultSpace", Field, 1}, + {"Decoder.Entity", Field, 0}, + {"Decoder.Strict", Field, 0}, + {"Directive", Type, 0}, + {"Encoder", Type, 0}, + {"EndElement", Type, 0}, + {"EndElement.Name", Field, 0}, + {"Escape", Func, 0}, + {"EscapeText", Func, 1}, + {"HTMLAutoClose", Var, 0}, + {"HTMLEntity", Var, 0}, + {"Header", Const, 0}, + {"Marshal", Func, 0}, + {"MarshalIndent", Func, 0}, + {"Marshaler", Type, 2}, + {"MarshalerAttr", Type, 2}, + {"Name", Type, 0}, + {"Name.Local", Field, 0}, + {"Name.Space", Field, 0}, + {"NewDecoder", Func, 0}, + {"NewEncoder", Func, 0}, + {"NewTokenDecoder", Func, 10}, + {"ProcInst", Type, 0}, + {"ProcInst.Inst", Field, 0}, + {"ProcInst.Target", Field, 0}, + {"StartElement", Type, 0}, + {"StartElement.Attr", Field, 0}, + {"StartElement.Name", Field, 0}, + {"SyntaxError", Type, 0}, + {"SyntaxError.Line", Field, 0}, + {"SyntaxError.Msg", Field, 0}, + {"TagPathError", Type, 0}, + {"TagPathError.Field1", Field, 0}, + {"TagPathError.Field2", Field, 0}, + {"TagPathError.Struct", Field, 0}, + {"TagPathError.Tag1", Field, 0}, + {"TagPathError.Tag2", Field, 0}, + {"Token", Type, 0}, + {"TokenReader", Type, 10}, + {"Unmarshal", Func, 0}, + {"UnmarshalError", Type, 0}, + {"Unmarshaler", Type, 2}, + {"UnmarshalerAttr", Type, 2}, + {"UnsupportedTypeError", Type, 0}, + {"UnsupportedTypeError.Type", Field, 0}, + }, + "errors": { + {"As", Func, 13}, + {"ErrUnsupported", Var, 21}, + {"Is", Func, 13}, + {"Join", Func, 20}, + {"New", Func, 0}, + {"Unwrap", Func, 13}, + }, + "expvar": { + {"(*Float).Add", Method, 0}, + {"(*Float).Set", Method, 0}, + {"(*Float).String", Method, 0}, + {"(*Float).Value", Method, 8}, + {"(*Int).Add", Method, 0}, + {"(*Int).Set", Method, 0}, + {"(*Int).String", Method, 0}, + {"(*Int).Value", Method, 8}, + {"(*Map).Add", Method, 0}, + {"(*Map).AddFloat", Method, 0}, + {"(*Map).Delete", Method, 12}, + {"(*Map).Do", Method, 0}, + {"(*Map).Get", Method, 0}, + {"(*Map).Init", Method, 0}, + {"(*Map).Set", Method, 0}, + {"(*Map).String", Method, 0}, + {"(*String).Set", Method, 0}, + {"(*String).String", Method, 0}, + {"(*String).Value", Method, 8}, + {"(Func).String", Method, 0}, + {"(Func).Value", Method, 8}, + {"Do", Func, 0}, + {"Float", Type, 0}, + {"Func", Type, 0}, + {"Get", Func, 0}, + {"Handler", Func, 8}, + {"Int", Type, 0}, + {"KeyValue", Type, 0}, + {"KeyValue.Key", Field, 0}, + {"KeyValue.Value", Field, 0}, + {"Map", Type, 0}, + {"NewFloat", Func, 0}, + {"NewInt", Func, 0}, + {"NewMap", Func, 0}, + {"NewString", Func, 0}, + {"Publish", Func, 0}, + {"String", Type, 0}, + {"Var", Type, 0}, + }, + "flag": { + {"(*FlagSet).Arg", Method, 0}, + {"(*FlagSet).Args", Method, 0}, + {"(*FlagSet).Bool", Method, 0}, + {"(*FlagSet).BoolFunc", Method, 21}, + {"(*FlagSet).BoolVar", Method, 0}, + {"(*FlagSet).Duration", Method, 0}, + {"(*FlagSet).DurationVar", Method, 0}, + {"(*FlagSet).ErrorHandling", Method, 10}, + {"(*FlagSet).Float64", Method, 0}, + {"(*FlagSet).Float64Var", Method, 0}, + {"(*FlagSet).Func", Method, 16}, + {"(*FlagSet).Init", Method, 0}, + {"(*FlagSet).Int", Method, 0}, + {"(*FlagSet).Int64", Method, 0}, + {"(*FlagSet).Int64Var", Method, 0}, + {"(*FlagSet).IntVar", Method, 0}, + {"(*FlagSet).Lookup", Method, 0}, + {"(*FlagSet).NArg", Method, 0}, + {"(*FlagSet).NFlag", Method, 0}, + {"(*FlagSet).Name", Method, 10}, + {"(*FlagSet).Output", Method, 10}, + {"(*FlagSet).Parse", Method, 0}, + {"(*FlagSet).Parsed", Method, 0}, + {"(*FlagSet).PrintDefaults", Method, 0}, + {"(*FlagSet).Set", Method, 0}, + {"(*FlagSet).SetOutput", Method, 0}, + {"(*FlagSet).String", Method, 0}, + {"(*FlagSet).StringVar", Method, 0}, + {"(*FlagSet).TextVar", Method, 19}, + {"(*FlagSet).Uint", Method, 0}, + {"(*FlagSet).Uint64", Method, 0}, + {"(*FlagSet).Uint64Var", Method, 0}, + {"(*FlagSet).UintVar", Method, 0}, + {"(*FlagSet).Var", Method, 0}, + {"(*FlagSet).Visit", Method, 0}, + {"(*FlagSet).VisitAll", Method, 0}, + {"Arg", Func, 0}, + {"Args", Func, 0}, + {"Bool", Func, 0}, + {"BoolFunc", Func, 21}, + {"BoolVar", Func, 0}, + {"CommandLine", Var, 2}, + {"ContinueOnError", Const, 0}, + {"Duration", Func, 0}, + {"DurationVar", Func, 0}, + {"ErrHelp", Var, 0}, + {"ErrorHandling", Type, 0}, + {"ExitOnError", Const, 0}, + {"Flag", Type, 0}, + {"Flag.DefValue", Field, 0}, + {"Flag.Name", Field, 0}, + {"Flag.Usage", Field, 0}, + {"Flag.Value", Field, 0}, + {"FlagSet", Type, 0}, + {"FlagSet.Usage", Field, 0}, + {"Float64", Func, 0}, + {"Float64Var", Func, 0}, + {"Func", Func, 16}, + {"Getter", Type, 2}, + {"Int", Func, 0}, + {"Int64", Func, 0}, + {"Int64Var", Func, 0}, + {"IntVar", Func, 0}, + {"Lookup", Func, 0}, + {"NArg", Func, 0}, + {"NFlag", Func, 0}, + {"NewFlagSet", Func, 0}, + {"PanicOnError", Const, 0}, + {"Parse", Func, 0}, + {"Parsed", Func, 0}, + {"PrintDefaults", Func, 0}, + {"Set", Func, 0}, + {"String", Func, 0}, + {"StringVar", Func, 0}, + {"TextVar", Func, 19}, + {"Uint", Func, 0}, + {"Uint64", Func, 0}, + {"Uint64Var", Func, 0}, + {"UintVar", Func, 0}, + {"UnquoteUsage", Func, 5}, + {"Usage", Var, 0}, + {"Value", Type, 0}, + {"Var", Func, 0}, + {"Visit", Func, 0}, + {"VisitAll", Func, 0}, + }, + "fmt": { + {"Append", Func, 19}, + {"Appendf", Func, 19}, + {"Appendln", Func, 19}, + {"Errorf", Func, 0}, + {"FormatString", Func, 20}, + {"Formatter", Type, 0}, + {"Fprint", Func, 0}, + {"Fprintf", Func, 0}, + {"Fprintln", Func, 0}, + {"Fscan", Func, 0}, + {"Fscanf", Func, 0}, + {"Fscanln", Func, 0}, + {"GoStringer", Type, 0}, + {"Print", Func, 0}, + {"Printf", Func, 0}, + {"Println", Func, 0}, + {"Scan", Func, 0}, + {"ScanState", Type, 0}, + {"Scanf", Func, 0}, + {"Scanln", Func, 0}, + {"Scanner", Type, 0}, + {"Sprint", Func, 0}, + {"Sprintf", Func, 0}, + {"Sprintln", Func, 0}, + {"Sscan", Func, 0}, + {"Sscanf", Func, 0}, + {"Sscanln", Func, 0}, + {"State", Type, 0}, + {"Stringer", Type, 0}, + }, + "go/ast": { + {"(*ArrayType).End", Method, 0}, + {"(*ArrayType).Pos", Method, 0}, + {"(*AssignStmt).End", Method, 0}, + {"(*AssignStmt).Pos", Method, 0}, + {"(*BadDecl).End", Method, 0}, + {"(*BadDecl).Pos", Method, 0}, + {"(*BadExpr).End", Method, 0}, + {"(*BadExpr).Pos", Method, 0}, + {"(*BadStmt).End", Method, 0}, + {"(*BadStmt).Pos", Method, 0}, + {"(*BasicLit).End", Method, 0}, + {"(*BasicLit).Pos", Method, 0}, + {"(*BinaryExpr).End", Method, 0}, + {"(*BinaryExpr).Pos", Method, 0}, + {"(*BlockStmt).End", Method, 0}, + {"(*BlockStmt).Pos", Method, 0}, + {"(*BranchStmt).End", Method, 0}, + {"(*BranchStmt).Pos", Method, 0}, + {"(*CallExpr).End", Method, 0}, + {"(*CallExpr).Pos", Method, 0}, + {"(*CaseClause).End", Method, 0}, + {"(*CaseClause).Pos", Method, 0}, + {"(*ChanType).End", Method, 0}, + {"(*ChanType).Pos", Method, 0}, + {"(*CommClause).End", Method, 0}, + {"(*CommClause).Pos", Method, 0}, + {"(*Comment).End", Method, 0}, + {"(*Comment).Pos", Method, 0}, + {"(*CommentGroup).End", Method, 0}, + {"(*CommentGroup).Pos", Method, 0}, + {"(*CommentGroup).Text", Method, 0}, + {"(*CompositeLit).End", Method, 0}, + {"(*CompositeLit).Pos", Method, 0}, + {"(*DeclStmt).End", Method, 0}, + {"(*DeclStmt).Pos", Method, 0}, + {"(*DeferStmt).End", Method, 0}, + {"(*DeferStmt).Pos", Method, 0}, + {"(*Ellipsis).End", Method, 0}, + {"(*Ellipsis).Pos", Method, 0}, + {"(*EmptyStmt).End", Method, 0}, + {"(*EmptyStmt).Pos", Method, 0}, + {"(*ExprStmt).End", Method, 0}, + {"(*ExprStmt).Pos", Method, 0}, + {"(*Field).End", Method, 0}, + {"(*Field).Pos", Method, 0}, + {"(*FieldList).End", Method, 0}, + {"(*FieldList).NumFields", Method, 0}, + {"(*FieldList).Pos", Method, 0}, + {"(*File).End", Method, 0}, + {"(*File).Pos", Method, 0}, + {"(*ForStmt).End", Method, 0}, + {"(*ForStmt).Pos", Method, 0}, + {"(*FuncDecl).End", Method, 0}, + {"(*FuncDecl).Pos", Method, 0}, + {"(*FuncLit).End", Method, 0}, + {"(*FuncLit).Pos", Method, 0}, + {"(*FuncType).End", Method, 0}, + {"(*FuncType).Pos", Method, 0}, + {"(*GenDecl).End", Method, 0}, + {"(*GenDecl).Pos", Method, 0}, + {"(*GoStmt).End", Method, 0}, + {"(*GoStmt).Pos", Method, 0}, + {"(*Ident).End", Method, 0}, + {"(*Ident).IsExported", Method, 0}, + {"(*Ident).Pos", Method, 0}, + {"(*Ident).String", Method, 0}, + {"(*IfStmt).End", Method, 0}, + {"(*IfStmt).Pos", Method, 0}, + {"(*ImportSpec).End", Method, 0}, + {"(*ImportSpec).Pos", Method, 0}, + {"(*IncDecStmt).End", Method, 0}, + {"(*IncDecStmt).Pos", Method, 0}, + {"(*IndexExpr).End", Method, 0}, + {"(*IndexExpr).Pos", Method, 0}, + {"(*IndexListExpr).End", Method, 18}, + {"(*IndexListExpr).Pos", Method, 18}, + {"(*InterfaceType).End", Method, 0}, + {"(*InterfaceType).Pos", Method, 0}, + {"(*KeyValueExpr).End", Method, 0}, + {"(*KeyValueExpr).Pos", Method, 0}, + {"(*LabeledStmt).End", Method, 0}, + {"(*LabeledStmt).Pos", Method, 0}, + {"(*MapType).End", Method, 0}, + {"(*MapType).Pos", Method, 0}, + {"(*Object).Pos", Method, 0}, + {"(*Package).End", Method, 0}, + {"(*Package).Pos", Method, 0}, + {"(*ParenExpr).End", Method, 0}, + {"(*ParenExpr).Pos", Method, 0}, + {"(*RangeStmt).End", Method, 0}, + {"(*RangeStmt).Pos", Method, 0}, + {"(*ReturnStmt).End", Method, 0}, + {"(*ReturnStmt).Pos", Method, 0}, + {"(*Scope).Insert", Method, 0}, + {"(*Scope).Lookup", Method, 0}, + {"(*Scope).String", Method, 0}, + {"(*SelectStmt).End", Method, 0}, + {"(*SelectStmt).Pos", Method, 0}, + {"(*SelectorExpr).End", Method, 0}, + {"(*SelectorExpr).Pos", Method, 0}, + {"(*SendStmt).End", Method, 0}, + {"(*SendStmt).Pos", Method, 0}, + {"(*SliceExpr).End", Method, 0}, + {"(*SliceExpr).Pos", Method, 0}, + {"(*StarExpr).End", Method, 0}, + {"(*StarExpr).Pos", Method, 0}, + {"(*StructType).End", Method, 0}, + {"(*StructType).Pos", Method, 0}, + {"(*SwitchStmt).End", Method, 0}, + {"(*SwitchStmt).Pos", Method, 0}, + {"(*TypeAssertExpr).End", Method, 0}, + {"(*TypeAssertExpr).Pos", Method, 0}, + {"(*TypeSpec).End", Method, 0}, + {"(*TypeSpec).Pos", Method, 0}, + {"(*TypeSwitchStmt).End", Method, 0}, + {"(*TypeSwitchStmt).Pos", Method, 0}, + {"(*UnaryExpr).End", Method, 0}, + {"(*UnaryExpr).Pos", Method, 0}, + {"(*ValueSpec).End", Method, 0}, + {"(*ValueSpec).Pos", Method, 0}, + {"(CommentMap).Comments", Method, 1}, + {"(CommentMap).Filter", Method, 1}, + {"(CommentMap).String", Method, 1}, + {"(CommentMap).Update", Method, 1}, + {"(ObjKind).String", Method, 0}, + {"ArrayType", Type, 0}, + {"ArrayType.Elt", Field, 0}, + {"ArrayType.Lbrack", Field, 0}, + {"ArrayType.Len", Field, 0}, + {"AssignStmt", Type, 0}, + {"AssignStmt.Lhs", Field, 0}, + {"AssignStmt.Rhs", Field, 0}, + {"AssignStmt.Tok", Field, 0}, + {"AssignStmt.TokPos", Field, 0}, + {"Bad", Const, 0}, + {"BadDecl", Type, 0}, + {"BadDecl.From", Field, 0}, + {"BadDecl.To", Field, 0}, + {"BadExpr", Type, 0}, + {"BadExpr.From", Field, 0}, + {"BadExpr.To", Field, 0}, + {"BadStmt", Type, 0}, + {"BadStmt.From", Field, 0}, + {"BadStmt.To", Field, 0}, + {"BasicLit", Type, 0}, + {"BasicLit.Kind", Field, 0}, + {"BasicLit.Value", Field, 0}, + {"BasicLit.ValuePos", Field, 0}, + {"BinaryExpr", Type, 0}, + {"BinaryExpr.Op", Field, 0}, + {"BinaryExpr.OpPos", Field, 0}, + {"BinaryExpr.X", Field, 0}, + {"BinaryExpr.Y", Field, 0}, + {"BlockStmt", Type, 0}, + {"BlockStmt.Lbrace", Field, 0}, + {"BlockStmt.List", Field, 0}, + {"BlockStmt.Rbrace", Field, 0}, + {"BranchStmt", Type, 0}, + {"BranchStmt.Label", Field, 0}, + {"BranchStmt.Tok", Field, 0}, + {"BranchStmt.TokPos", Field, 0}, + {"CallExpr", Type, 0}, + {"CallExpr.Args", Field, 0}, + {"CallExpr.Ellipsis", Field, 0}, + {"CallExpr.Fun", Field, 0}, + {"CallExpr.Lparen", Field, 0}, + {"CallExpr.Rparen", Field, 0}, + {"CaseClause", Type, 0}, + {"CaseClause.Body", Field, 0}, + {"CaseClause.Case", Field, 0}, + {"CaseClause.Colon", Field, 0}, + {"CaseClause.List", Field, 0}, + {"ChanDir", Type, 0}, + {"ChanType", Type, 0}, + {"ChanType.Arrow", Field, 1}, + {"ChanType.Begin", Field, 0}, + {"ChanType.Dir", Field, 0}, + {"ChanType.Value", Field, 0}, + {"CommClause", Type, 0}, + {"CommClause.Body", Field, 0}, + {"CommClause.Case", Field, 0}, + {"CommClause.Colon", Field, 0}, + {"CommClause.Comm", Field, 0}, + {"Comment", Type, 0}, + {"Comment.Slash", Field, 0}, + {"Comment.Text", Field, 0}, + {"CommentGroup", Type, 0}, + {"CommentGroup.List", Field, 0}, + {"CommentMap", Type, 1}, + {"CompositeLit", Type, 0}, + {"CompositeLit.Elts", Field, 0}, + {"CompositeLit.Incomplete", Field, 11}, + {"CompositeLit.Lbrace", Field, 0}, + {"CompositeLit.Rbrace", Field, 0}, + {"CompositeLit.Type", Field, 0}, + {"Con", Const, 0}, + {"Decl", Type, 0}, + {"DeclStmt", Type, 0}, + {"DeclStmt.Decl", Field, 0}, + {"DeferStmt", Type, 0}, + {"DeferStmt.Call", Field, 0}, + {"DeferStmt.Defer", Field, 0}, + {"Ellipsis", Type, 0}, + {"Ellipsis.Ellipsis", Field, 0}, + {"Ellipsis.Elt", Field, 0}, + {"EmptyStmt", Type, 0}, + {"EmptyStmt.Implicit", Field, 5}, + {"EmptyStmt.Semicolon", Field, 0}, + {"Expr", Type, 0}, + {"ExprStmt", Type, 0}, + {"ExprStmt.X", Field, 0}, + {"Field", Type, 0}, + {"Field.Comment", Field, 0}, + {"Field.Doc", Field, 0}, + {"Field.Names", Field, 0}, + {"Field.Tag", Field, 0}, + {"Field.Type", Field, 0}, + {"FieldFilter", Type, 0}, + {"FieldList", Type, 0}, + {"FieldList.Closing", Field, 0}, + {"FieldList.List", Field, 0}, + {"FieldList.Opening", Field, 0}, + {"File", Type, 0}, + {"File.Comments", Field, 0}, + {"File.Decls", Field, 0}, + {"File.Doc", Field, 0}, + {"File.FileEnd", Field, 20}, + {"File.FileStart", Field, 20}, + {"File.GoVersion", Field, 21}, + {"File.Imports", Field, 0}, + {"File.Name", Field, 0}, + {"File.Package", Field, 0}, + {"File.Scope", Field, 0}, + {"File.Unresolved", Field, 0}, + {"FileExports", Func, 0}, + {"Filter", Type, 0}, + {"FilterDecl", Func, 0}, + {"FilterFile", Func, 0}, + {"FilterFuncDuplicates", Const, 0}, + {"FilterImportDuplicates", Const, 0}, + {"FilterPackage", Func, 0}, + {"FilterUnassociatedComments", Const, 0}, + {"ForStmt", Type, 0}, + {"ForStmt.Body", Field, 0}, + {"ForStmt.Cond", Field, 0}, + {"ForStmt.For", Field, 0}, + {"ForStmt.Init", Field, 0}, + {"ForStmt.Post", Field, 0}, + {"Fprint", Func, 0}, + {"Fun", Const, 0}, + {"FuncDecl", Type, 0}, + {"FuncDecl.Body", Field, 0}, + {"FuncDecl.Doc", Field, 0}, + {"FuncDecl.Name", Field, 0}, + {"FuncDecl.Recv", Field, 0}, + {"FuncDecl.Type", Field, 0}, + {"FuncLit", Type, 0}, + {"FuncLit.Body", Field, 0}, + {"FuncLit.Type", Field, 0}, + {"FuncType", Type, 0}, + {"FuncType.Func", Field, 0}, + {"FuncType.Params", Field, 0}, + {"FuncType.Results", Field, 0}, + {"FuncType.TypeParams", Field, 18}, + {"GenDecl", Type, 0}, + {"GenDecl.Doc", Field, 0}, + {"GenDecl.Lparen", Field, 0}, + {"GenDecl.Rparen", Field, 0}, + {"GenDecl.Specs", Field, 0}, + {"GenDecl.Tok", Field, 0}, + {"GenDecl.TokPos", Field, 0}, + {"GoStmt", Type, 0}, + {"GoStmt.Call", Field, 0}, + {"GoStmt.Go", Field, 0}, + {"Ident", Type, 0}, + {"Ident.Name", Field, 0}, + {"Ident.NamePos", Field, 0}, + {"Ident.Obj", Field, 0}, + {"IfStmt", Type, 0}, + {"IfStmt.Body", Field, 0}, + {"IfStmt.Cond", Field, 0}, + {"IfStmt.Else", Field, 0}, + {"IfStmt.If", Field, 0}, + {"IfStmt.Init", Field, 0}, + {"ImportSpec", Type, 0}, + {"ImportSpec.Comment", Field, 0}, + {"ImportSpec.Doc", Field, 0}, + {"ImportSpec.EndPos", Field, 0}, + {"ImportSpec.Name", Field, 0}, + {"ImportSpec.Path", Field, 0}, + {"Importer", Type, 0}, + {"IncDecStmt", Type, 0}, + {"IncDecStmt.Tok", Field, 0}, + {"IncDecStmt.TokPos", Field, 0}, + {"IncDecStmt.X", Field, 0}, + {"IndexExpr", Type, 0}, + {"IndexExpr.Index", Field, 0}, + {"IndexExpr.Lbrack", Field, 0}, + {"IndexExpr.Rbrack", Field, 0}, + {"IndexExpr.X", Field, 0}, + {"IndexListExpr", Type, 18}, + {"IndexListExpr.Indices", Field, 18}, + {"IndexListExpr.Lbrack", Field, 18}, + {"IndexListExpr.Rbrack", Field, 18}, + {"IndexListExpr.X", Field, 18}, + {"Inspect", Func, 0}, + {"InterfaceType", Type, 0}, + {"InterfaceType.Incomplete", Field, 0}, + {"InterfaceType.Interface", Field, 0}, + {"InterfaceType.Methods", Field, 0}, + {"IsExported", Func, 0}, + {"IsGenerated", Func, 21}, + {"KeyValueExpr", Type, 0}, + {"KeyValueExpr.Colon", Field, 0}, + {"KeyValueExpr.Key", Field, 0}, + {"KeyValueExpr.Value", Field, 0}, + {"LabeledStmt", Type, 0}, + {"LabeledStmt.Colon", Field, 0}, + {"LabeledStmt.Label", Field, 0}, + {"LabeledStmt.Stmt", Field, 0}, + {"Lbl", Const, 0}, + {"MapType", Type, 0}, + {"MapType.Key", Field, 0}, + {"MapType.Map", Field, 0}, + {"MapType.Value", Field, 0}, + {"MergeMode", Type, 0}, + {"MergePackageFiles", Func, 0}, + {"NewCommentMap", Func, 1}, + {"NewIdent", Func, 0}, + {"NewObj", Func, 0}, + {"NewPackage", Func, 0}, + {"NewScope", Func, 0}, + {"Node", Type, 0}, + {"NotNilFilter", Func, 0}, + {"ObjKind", Type, 0}, + {"Object", Type, 0}, + {"Object.Data", Field, 0}, + {"Object.Decl", Field, 0}, + {"Object.Kind", Field, 0}, + {"Object.Name", Field, 0}, + {"Object.Type", Field, 0}, + {"Package", Type, 0}, + {"Package.Files", Field, 0}, + {"Package.Imports", Field, 0}, + {"Package.Name", Field, 0}, + {"Package.Scope", Field, 0}, + {"PackageExports", Func, 0}, + {"ParenExpr", Type, 0}, + {"ParenExpr.Lparen", Field, 0}, + {"ParenExpr.Rparen", Field, 0}, + {"ParenExpr.X", Field, 0}, + {"Pkg", Const, 0}, + {"Print", Func, 0}, + {"RECV", Const, 0}, + {"RangeStmt", Type, 0}, + {"RangeStmt.Body", Field, 0}, + {"RangeStmt.For", Field, 0}, + {"RangeStmt.Key", Field, 0}, + {"RangeStmt.Range", Field, 20}, + {"RangeStmt.Tok", Field, 0}, + {"RangeStmt.TokPos", Field, 0}, + {"RangeStmt.Value", Field, 0}, + {"RangeStmt.X", Field, 0}, + {"ReturnStmt", Type, 0}, + {"ReturnStmt.Results", Field, 0}, + {"ReturnStmt.Return", Field, 0}, + {"SEND", Const, 0}, + {"Scope", Type, 0}, + {"Scope.Objects", Field, 0}, + {"Scope.Outer", Field, 0}, + {"SelectStmt", Type, 0}, + {"SelectStmt.Body", Field, 0}, + {"SelectStmt.Select", Field, 0}, + {"SelectorExpr", Type, 0}, + {"SelectorExpr.Sel", Field, 0}, + {"SelectorExpr.X", Field, 0}, + {"SendStmt", Type, 0}, + {"SendStmt.Arrow", Field, 0}, + {"SendStmt.Chan", Field, 0}, + {"SendStmt.Value", Field, 0}, + {"SliceExpr", Type, 0}, + {"SliceExpr.High", Field, 0}, + {"SliceExpr.Lbrack", Field, 0}, + {"SliceExpr.Low", Field, 0}, + {"SliceExpr.Max", Field, 2}, + {"SliceExpr.Rbrack", Field, 0}, + {"SliceExpr.Slice3", Field, 2}, + {"SliceExpr.X", Field, 0}, + {"SortImports", Func, 0}, + {"Spec", Type, 0}, + {"StarExpr", Type, 0}, + {"StarExpr.Star", Field, 0}, + {"StarExpr.X", Field, 0}, + {"Stmt", Type, 0}, + {"StructType", Type, 0}, + {"StructType.Fields", Field, 0}, + {"StructType.Incomplete", Field, 0}, + {"StructType.Struct", Field, 0}, + {"SwitchStmt", Type, 0}, + {"SwitchStmt.Body", Field, 0}, + {"SwitchStmt.Init", Field, 0}, + {"SwitchStmt.Switch", Field, 0}, + {"SwitchStmt.Tag", Field, 0}, + {"Typ", Const, 0}, + {"TypeAssertExpr", Type, 0}, + {"TypeAssertExpr.Lparen", Field, 2}, + {"TypeAssertExpr.Rparen", Field, 2}, + {"TypeAssertExpr.Type", Field, 0}, + {"TypeAssertExpr.X", Field, 0}, + {"TypeSpec", Type, 0}, + {"TypeSpec.Assign", Field, 9}, + {"TypeSpec.Comment", Field, 0}, + {"TypeSpec.Doc", Field, 0}, + {"TypeSpec.Name", Field, 0}, + {"TypeSpec.Type", Field, 0}, + {"TypeSpec.TypeParams", Field, 18}, + {"TypeSwitchStmt", Type, 0}, + {"TypeSwitchStmt.Assign", Field, 0}, + {"TypeSwitchStmt.Body", Field, 0}, + {"TypeSwitchStmt.Init", Field, 0}, + {"TypeSwitchStmt.Switch", Field, 0}, + {"UnaryExpr", Type, 0}, + {"UnaryExpr.Op", Field, 0}, + {"UnaryExpr.OpPos", Field, 0}, + {"UnaryExpr.X", Field, 0}, + {"Unparen", Func, 22}, + {"ValueSpec", Type, 0}, + {"ValueSpec.Comment", Field, 0}, + {"ValueSpec.Doc", Field, 0}, + {"ValueSpec.Names", Field, 0}, + {"ValueSpec.Type", Field, 0}, + {"ValueSpec.Values", Field, 0}, + {"Var", Const, 0}, + {"Visitor", Type, 0}, + {"Walk", Func, 0}, + }, + "go/build": { + {"(*Context).Import", Method, 0}, + {"(*Context).ImportDir", Method, 0}, + {"(*Context).MatchFile", Method, 2}, + {"(*Context).SrcDirs", Method, 0}, + {"(*MultiplePackageError).Error", Method, 4}, + {"(*NoGoError).Error", Method, 0}, + {"(*Package).IsCommand", Method, 0}, + {"AllowBinary", Const, 0}, + {"ArchChar", Func, 0}, + {"Context", Type, 0}, + {"Context.BuildTags", Field, 0}, + {"Context.CgoEnabled", Field, 0}, + {"Context.Compiler", Field, 0}, + {"Context.Dir", Field, 14}, + {"Context.GOARCH", Field, 0}, + {"Context.GOOS", Field, 0}, + {"Context.GOPATH", Field, 0}, + {"Context.GOROOT", Field, 0}, + {"Context.HasSubdir", Field, 0}, + {"Context.InstallSuffix", Field, 1}, + {"Context.IsAbsPath", Field, 0}, + {"Context.IsDir", Field, 0}, + {"Context.JoinPath", Field, 0}, + {"Context.OpenFile", Field, 0}, + {"Context.ReadDir", Field, 0}, + {"Context.ReleaseTags", Field, 1}, + {"Context.SplitPathList", Field, 0}, + {"Context.ToolTags", Field, 17}, + {"Context.UseAllFiles", Field, 0}, + {"Default", Var, 0}, + {"Directive", Type, 21}, + {"Directive.Pos", Field, 21}, + {"Directive.Text", Field, 21}, + {"FindOnly", Const, 0}, + {"IgnoreVendor", Const, 6}, + {"Import", Func, 0}, + {"ImportComment", Const, 4}, + {"ImportDir", Func, 0}, + {"ImportMode", Type, 0}, + {"IsLocalImport", Func, 0}, + {"MultiplePackageError", Type, 4}, + {"MultiplePackageError.Dir", Field, 4}, + {"MultiplePackageError.Files", Field, 4}, + {"MultiplePackageError.Packages", Field, 4}, + {"NoGoError", Type, 0}, + {"NoGoError.Dir", Field, 0}, + {"Package", Type, 0}, + {"Package.AllTags", Field, 2}, + {"Package.BinDir", Field, 0}, + {"Package.BinaryOnly", Field, 7}, + {"Package.CFiles", Field, 0}, + {"Package.CXXFiles", Field, 2}, + {"Package.CgoCFLAGS", Field, 0}, + {"Package.CgoCPPFLAGS", Field, 2}, + {"Package.CgoCXXFLAGS", Field, 2}, + {"Package.CgoFFLAGS", Field, 7}, + {"Package.CgoFiles", Field, 0}, + {"Package.CgoLDFLAGS", Field, 0}, + {"Package.CgoPkgConfig", Field, 0}, + {"Package.ConflictDir", Field, 2}, + {"Package.Dir", Field, 0}, + {"Package.Directives", Field, 21}, + {"Package.Doc", Field, 0}, + {"Package.EmbedPatternPos", Field, 16}, + {"Package.EmbedPatterns", Field, 16}, + {"Package.FFiles", Field, 7}, + {"Package.GoFiles", Field, 0}, + {"Package.Goroot", Field, 0}, + {"Package.HFiles", Field, 0}, + {"Package.IgnoredGoFiles", Field, 1}, + {"Package.IgnoredOtherFiles", Field, 16}, + {"Package.ImportComment", Field, 4}, + {"Package.ImportPath", Field, 0}, + {"Package.ImportPos", Field, 0}, + {"Package.Imports", Field, 0}, + {"Package.InvalidGoFiles", Field, 6}, + {"Package.MFiles", Field, 3}, + {"Package.Name", Field, 0}, + {"Package.PkgObj", Field, 0}, + {"Package.PkgRoot", Field, 0}, + {"Package.PkgTargetRoot", Field, 5}, + {"Package.Root", Field, 0}, + {"Package.SFiles", Field, 0}, + {"Package.SrcRoot", Field, 0}, + {"Package.SwigCXXFiles", Field, 1}, + {"Package.SwigFiles", Field, 1}, + {"Package.SysoFiles", Field, 0}, + {"Package.TestDirectives", Field, 21}, + {"Package.TestEmbedPatternPos", Field, 16}, + {"Package.TestEmbedPatterns", Field, 16}, + {"Package.TestGoFiles", Field, 0}, + {"Package.TestImportPos", Field, 0}, + {"Package.TestImports", Field, 0}, + {"Package.XTestDirectives", Field, 21}, + {"Package.XTestEmbedPatternPos", Field, 16}, + {"Package.XTestEmbedPatterns", Field, 16}, + {"Package.XTestGoFiles", Field, 0}, + {"Package.XTestImportPos", Field, 0}, + {"Package.XTestImports", Field, 0}, + {"ToolDir", Var, 0}, + }, + "go/build/constraint": { + {"(*AndExpr).Eval", Method, 16}, + {"(*AndExpr).String", Method, 16}, + {"(*NotExpr).Eval", Method, 16}, + {"(*NotExpr).String", Method, 16}, + {"(*OrExpr).Eval", Method, 16}, + {"(*OrExpr).String", Method, 16}, + {"(*SyntaxError).Error", Method, 16}, + {"(*TagExpr).Eval", Method, 16}, + {"(*TagExpr).String", Method, 16}, + {"AndExpr", Type, 16}, + {"AndExpr.X", Field, 16}, + {"AndExpr.Y", Field, 16}, + {"Expr", Type, 16}, + {"GoVersion", Func, 21}, + {"IsGoBuild", Func, 16}, + {"IsPlusBuild", Func, 16}, + {"NotExpr", Type, 16}, + {"NotExpr.X", Field, 16}, + {"OrExpr", Type, 16}, + {"OrExpr.X", Field, 16}, + {"OrExpr.Y", Field, 16}, + {"Parse", Func, 16}, + {"PlusBuildLines", Func, 16}, + {"SyntaxError", Type, 16}, + {"SyntaxError.Err", Field, 16}, + {"SyntaxError.Offset", Field, 16}, + {"TagExpr", Type, 16}, + {"TagExpr.Tag", Field, 16}, + }, + "go/constant": { + {"(Kind).String", Method, 18}, + {"BinaryOp", Func, 5}, + {"BitLen", Func, 5}, + {"Bool", Const, 5}, + {"BoolVal", Func, 5}, + {"Bytes", Func, 5}, + {"Compare", Func, 5}, + {"Complex", Const, 5}, + {"Denom", Func, 5}, + {"Float", Const, 5}, + {"Float32Val", Func, 5}, + {"Float64Val", Func, 5}, + {"Imag", Func, 5}, + {"Int", Const, 5}, + {"Int64Val", Func, 5}, + {"Kind", Type, 5}, + {"Make", Func, 13}, + {"MakeBool", Func, 5}, + {"MakeFloat64", Func, 5}, + {"MakeFromBytes", Func, 5}, + {"MakeFromLiteral", Func, 5}, + {"MakeImag", Func, 5}, + {"MakeInt64", Func, 5}, + {"MakeString", Func, 5}, + {"MakeUint64", Func, 5}, + {"MakeUnknown", Func, 5}, + {"Num", Func, 5}, + {"Real", Func, 5}, + {"Shift", Func, 5}, + {"Sign", Func, 5}, + {"String", Const, 5}, + {"StringVal", Func, 5}, + {"ToComplex", Func, 6}, + {"ToFloat", Func, 6}, + {"ToInt", Func, 6}, + {"Uint64Val", Func, 5}, + {"UnaryOp", Func, 5}, + {"Unknown", Const, 5}, + {"Val", Func, 13}, + {"Value", Type, 5}, + }, + "go/doc": { + {"(*Package).Filter", Method, 0}, + {"(*Package).HTML", Method, 19}, + {"(*Package).Markdown", Method, 19}, + {"(*Package).Parser", Method, 19}, + {"(*Package).Printer", Method, 19}, + {"(*Package).Synopsis", Method, 19}, + {"(*Package).Text", Method, 19}, + {"AllDecls", Const, 0}, + {"AllMethods", Const, 0}, + {"Example", Type, 0}, + {"Example.Code", Field, 0}, + {"Example.Comments", Field, 0}, + {"Example.Doc", Field, 0}, + {"Example.EmptyOutput", Field, 1}, + {"Example.Name", Field, 0}, + {"Example.Order", Field, 1}, + {"Example.Output", Field, 0}, + {"Example.Play", Field, 1}, + {"Example.Suffix", Field, 14}, + {"Example.Unordered", Field, 7}, + {"Examples", Func, 0}, + {"Filter", Type, 0}, + {"Func", Type, 0}, + {"Func.Decl", Field, 0}, + {"Func.Doc", Field, 0}, + {"Func.Examples", Field, 14}, + {"Func.Level", Field, 0}, + {"Func.Name", Field, 0}, + {"Func.Orig", Field, 0}, + {"Func.Recv", Field, 0}, + {"IllegalPrefixes", Var, 1}, + {"IsPredeclared", Func, 8}, + {"Mode", Type, 0}, + {"New", Func, 0}, + {"NewFromFiles", Func, 14}, + {"Note", Type, 1}, + {"Note.Body", Field, 1}, + {"Note.End", Field, 1}, + {"Note.Pos", Field, 1}, + {"Note.UID", Field, 1}, + {"Package", Type, 0}, + {"Package.Bugs", Field, 0}, + {"Package.Consts", Field, 0}, + {"Package.Doc", Field, 0}, + {"Package.Examples", Field, 14}, + {"Package.Filenames", Field, 0}, + {"Package.Funcs", Field, 0}, + {"Package.ImportPath", Field, 0}, + {"Package.Imports", Field, 0}, + {"Package.Name", Field, 0}, + {"Package.Notes", Field, 1}, + {"Package.Types", Field, 0}, + {"Package.Vars", Field, 0}, + {"PreserveAST", Const, 12}, + {"Synopsis", Func, 0}, + {"ToHTML", Func, 0}, + {"ToText", Func, 0}, + {"Type", Type, 0}, + {"Type.Consts", Field, 0}, + {"Type.Decl", Field, 0}, + {"Type.Doc", Field, 0}, + {"Type.Examples", Field, 14}, + {"Type.Funcs", Field, 0}, + {"Type.Methods", Field, 0}, + {"Type.Name", Field, 0}, + {"Type.Vars", Field, 0}, + {"Value", Type, 0}, + {"Value.Decl", Field, 0}, + {"Value.Doc", Field, 0}, + {"Value.Names", Field, 0}, + }, + "go/doc/comment": { + {"(*DocLink).DefaultURL", Method, 19}, + {"(*Heading).DefaultID", Method, 19}, + {"(*List).BlankBefore", Method, 19}, + {"(*List).BlankBetween", Method, 19}, + {"(*Parser).Parse", Method, 19}, + {"(*Printer).Comment", Method, 19}, + {"(*Printer).HTML", Method, 19}, + {"(*Printer).Markdown", Method, 19}, + {"(*Printer).Text", Method, 19}, + {"Block", Type, 19}, + {"Code", Type, 19}, + {"Code.Text", Field, 19}, + {"DefaultLookupPackage", Func, 19}, + {"Doc", Type, 19}, + {"Doc.Content", Field, 19}, + {"Doc.Links", Field, 19}, + {"DocLink", Type, 19}, + {"DocLink.ImportPath", Field, 19}, + {"DocLink.Name", Field, 19}, + {"DocLink.Recv", Field, 19}, + {"DocLink.Text", Field, 19}, + {"Heading", Type, 19}, + {"Heading.Text", Field, 19}, + {"Italic", Type, 19}, + {"Link", Type, 19}, + {"Link.Auto", Field, 19}, + {"Link.Text", Field, 19}, + {"Link.URL", Field, 19}, + {"LinkDef", Type, 19}, + {"LinkDef.Text", Field, 19}, + {"LinkDef.URL", Field, 19}, + {"LinkDef.Used", Field, 19}, + {"List", Type, 19}, + {"List.ForceBlankBefore", Field, 19}, + {"List.ForceBlankBetween", Field, 19}, + {"List.Items", Field, 19}, + {"ListItem", Type, 19}, + {"ListItem.Content", Field, 19}, + {"ListItem.Number", Field, 19}, + {"Paragraph", Type, 19}, + {"Paragraph.Text", Field, 19}, + {"Parser", Type, 19}, + {"Parser.LookupPackage", Field, 19}, + {"Parser.LookupSym", Field, 19}, + {"Parser.Words", Field, 19}, + {"Plain", Type, 19}, + {"Printer", Type, 19}, + {"Printer.DocLinkBaseURL", Field, 19}, + {"Printer.DocLinkURL", Field, 19}, + {"Printer.HeadingID", Field, 19}, + {"Printer.HeadingLevel", Field, 19}, + {"Printer.TextCodePrefix", Field, 19}, + {"Printer.TextPrefix", Field, 19}, + {"Printer.TextWidth", Field, 19}, + {"Text", Type, 19}, + }, + "go/format": { + {"Node", Func, 1}, + {"Source", Func, 1}, + }, + "go/importer": { + {"Default", Func, 5}, + {"For", Func, 5}, + {"ForCompiler", Func, 12}, + {"Lookup", Type, 5}, + }, + "go/parser": { + {"AllErrors", Const, 1}, + {"DeclarationErrors", Const, 0}, + {"ImportsOnly", Const, 0}, + {"Mode", Type, 0}, + {"PackageClauseOnly", Const, 0}, + {"ParseComments", Const, 0}, + {"ParseDir", Func, 0}, + {"ParseExpr", Func, 0}, + {"ParseExprFrom", Func, 5}, + {"ParseFile", Func, 0}, + {"SkipObjectResolution", Const, 17}, + {"SpuriousErrors", Const, 0}, + {"Trace", Const, 0}, + }, + "go/printer": { + {"(*Config).Fprint", Method, 0}, + {"CommentedNode", Type, 0}, + {"CommentedNode.Comments", Field, 0}, + {"CommentedNode.Node", Field, 0}, + {"Config", Type, 0}, + {"Config.Indent", Field, 1}, + {"Config.Mode", Field, 0}, + {"Config.Tabwidth", Field, 0}, + {"Fprint", Func, 0}, + {"Mode", Type, 0}, + {"RawFormat", Const, 0}, + {"SourcePos", Const, 0}, + {"TabIndent", Const, 0}, + {"UseSpaces", Const, 0}, + }, + "go/scanner": { + {"(*ErrorList).Add", Method, 0}, + {"(*ErrorList).RemoveMultiples", Method, 0}, + {"(*ErrorList).Reset", Method, 0}, + {"(*Scanner).Init", Method, 0}, + {"(*Scanner).Scan", Method, 0}, + {"(Error).Error", Method, 0}, + {"(ErrorList).Err", Method, 0}, + {"(ErrorList).Error", Method, 0}, + {"(ErrorList).Len", Method, 0}, + {"(ErrorList).Less", Method, 0}, + {"(ErrorList).Sort", Method, 0}, + {"(ErrorList).Swap", Method, 0}, + {"Error", Type, 0}, + {"Error.Msg", Field, 0}, + {"Error.Pos", Field, 0}, + {"ErrorHandler", Type, 0}, + {"ErrorList", Type, 0}, + {"Mode", Type, 0}, + {"PrintError", Func, 0}, + {"ScanComments", Const, 0}, + {"Scanner", Type, 0}, + {"Scanner.ErrorCount", Field, 0}, + }, + "go/token": { + {"(*File).AddLine", Method, 0}, + {"(*File).AddLineColumnInfo", Method, 11}, + {"(*File).AddLineInfo", Method, 0}, + {"(*File).Base", Method, 0}, + {"(*File).Line", Method, 0}, + {"(*File).LineCount", Method, 0}, + {"(*File).LineStart", Method, 12}, + {"(*File).Lines", Method, 21}, + {"(*File).MergeLine", Method, 2}, + {"(*File).Name", Method, 0}, + {"(*File).Offset", Method, 0}, + {"(*File).Pos", Method, 0}, + {"(*File).Position", Method, 0}, + {"(*File).PositionFor", Method, 4}, + {"(*File).SetLines", Method, 0}, + {"(*File).SetLinesForContent", Method, 0}, + {"(*File).Size", Method, 0}, + {"(*FileSet).AddFile", Method, 0}, + {"(*FileSet).Base", Method, 0}, + {"(*FileSet).File", Method, 0}, + {"(*FileSet).Iterate", Method, 0}, + {"(*FileSet).Position", Method, 0}, + {"(*FileSet).PositionFor", Method, 4}, + {"(*FileSet).Read", Method, 0}, + {"(*FileSet).RemoveFile", Method, 20}, + {"(*FileSet).Write", Method, 0}, + {"(*Position).IsValid", Method, 0}, + {"(Pos).IsValid", Method, 0}, + {"(Position).String", Method, 0}, + {"(Token).IsKeyword", Method, 0}, + {"(Token).IsLiteral", Method, 0}, + {"(Token).IsOperator", Method, 0}, + {"(Token).Precedence", Method, 0}, + {"(Token).String", Method, 0}, + {"ADD", Const, 0}, + {"ADD_ASSIGN", Const, 0}, + {"AND", Const, 0}, + {"AND_ASSIGN", Const, 0}, + {"AND_NOT", Const, 0}, + {"AND_NOT_ASSIGN", Const, 0}, + {"ARROW", Const, 0}, + {"ASSIGN", Const, 0}, + {"BREAK", Const, 0}, + {"CASE", Const, 0}, + {"CHAN", Const, 0}, + {"CHAR", Const, 0}, + {"COLON", Const, 0}, + {"COMMA", Const, 0}, + {"COMMENT", Const, 0}, + {"CONST", Const, 0}, + {"CONTINUE", Const, 0}, + {"DEC", Const, 0}, + {"DEFAULT", Const, 0}, + {"DEFER", Const, 0}, + {"DEFINE", Const, 0}, + {"ELLIPSIS", Const, 0}, + {"ELSE", Const, 0}, + {"EOF", Const, 0}, + {"EQL", Const, 0}, + {"FALLTHROUGH", Const, 0}, + {"FLOAT", Const, 0}, + {"FOR", Const, 0}, + {"FUNC", Const, 0}, + {"File", Type, 0}, + {"FileSet", Type, 0}, + {"GEQ", Const, 0}, + {"GO", Const, 0}, + {"GOTO", Const, 0}, + {"GTR", Const, 0}, + {"HighestPrec", Const, 0}, + {"IDENT", Const, 0}, + {"IF", Const, 0}, + {"ILLEGAL", Const, 0}, + {"IMAG", Const, 0}, + {"IMPORT", Const, 0}, + {"INC", Const, 0}, + {"INT", Const, 0}, + {"INTERFACE", Const, 0}, + {"IsExported", Func, 13}, + {"IsIdentifier", Func, 13}, + {"IsKeyword", Func, 13}, + {"LAND", Const, 0}, + {"LBRACE", Const, 0}, + {"LBRACK", Const, 0}, + {"LEQ", Const, 0}, + {"LOR", Const, 0}, + {"LPAREN", Const, 0}, + {"LSS", Const, 0}, + {"Lookup", Func, 0}, + {"LowestPrec", Const, 0}, + {"MAP", Const, 0}, + {"MUL", Const, 0}, + {"MUL_ASSIGN", Const, 0}, + {"NEQ", Const, 0}, + {"NOT", Const, 0}, + {"NewFileSet", Func, 0}, + {"NoPos", Const, 0}, + {"OR", Const, 0}, + {"OR_ASSIGN", Const, 0}, + {"PACKAGE", Const, 0}, + {"PERIOD", Const, 0}, + {"Pos", Type, 0}, + {"Position", Type, 0}, + {"Position.Column", Field, 0}, + {"Position.Filename", Field, 0}, + {"Position.Line", Field, 0}, + {"Position.Offset", Field, 0}, + {"QUO", Const, 0}, + {"QUO_ASSIGN", Const, 0}, + {"RANGE", Const, 0}, + {"RBRACE", Const, 0}, + {"RBRACK", Const, 0}, + {"REM", Const, 0}, + {"REM_ASSIGN", Const, 0}, + {"RETURN", Const, 0}, + {"RPAREN", Const, 0}, + {"SELECT", Const, 0}, + {"SEMICOLON", Const, 0}, + {"SHL", Const, 0}, + {"SHL_ASSIGN", Const, 0}, + {"SHR", Const, 0}, + {"SHR_ASSIGN", Const, 0}, + {"STRING", Const, 0}, + {"STRUCT", Const, 0}, + {"SUB", Const, 0}, + {"SUB_ASSIGN", Const, 0}, + {"SWITCH", Const, 0}, + {"TILDE", Const, 18}, + {"TYPE", Const, 0}, + {"Token", Type, 0}, + {"UnaryPrec", Const, 0}, + {"VAR", Const, 0}, + {"XOR", Const, 0}, + {"XOR_ASSIGN", Const, 0}, + }, + "go/types": { + {"(*Alias).Obj", Method, 22}, + {"(*Alias).String", Method, 22}, + {"(*Alias).Underlying", Method, 22}, + {"(*ArgumentError).Error", Method, 18}, + {"(*ArgumentError).Unwrap", Method, 18}, + {"(*Array).Elem", Method, 5}, + {"(*Array).Len", Method, 5}, + {"(*Array).String", Method, 5}, + {"(*Array).Underlying", Method, 5}, + {"(*Basic).Info", Method, 5}, + {"(*Basic).Kind", Method, 5}, + {"(*Basic).Name", Method, 5}, + {"(*Basic).String", Method, 5}, + {"(*Basic).Underlying", Method, 5}, + {"(*Builtin).Exported", Method, 5}, + {"(*Builtin).Id", Method, 5}, + {"(*Builtin).Name", Method, 5}, + {"(*Builtin).Parent", Method, 5}, + {"(*Builtin).Pkg", Method, 5}, + {"(*Builtin).Pos", Method, 5}, + {"(*Builtin).String", Method, 5}, + {"(*Builtin).Type", Method, 5}, + {"(*Chan).Dir", Method, 5}, + {"(*Chan).Elem", Method, 5}, + {"(*Chan).String", Method, 5}, + {"(*Chan).Underlying", Method, 5}, + {"(*Checker).Files", Method, 5}, + {"(*Config).Check", Method, 5}, + {"(*Const).Exported", Method, 5}, + {"(*Const).Id", Method, 5}, + {"(*Const).Name", Method, 5}, + {"(*Const).Parent", Method, 5}, + {"(*Const).Pkg", Method, 5}, + {"(*Const).Pos", Method, 5}, + {"(*Const).String", Method, 5}, + {"(*Const).Type", Method, 5}, + {"(*Const).Val", Method, 5}, + {"(*Func).Exported", Method, 5}, + {"(*Func).FullName", Method, 5}, + {"(*Func).Id", Method, 5}, + {"(*Func).Name", Method, 5}, + {"(*Func).Origin", Method, 19}, + {"(*Func).Parent", Method, 5}, + {"(*Func).Pkg", Method, 5}, + {"(*Func).Pos", Method, 5}, + {"(*Func).Scope", Method, 5}, + {"(*Func).String", Method, 5}, + {"(*Func).Type", Method, 5}, + {"(*Info).ObjectOf", Method, 5}, + {"(*Info).PkgNameOf", Method, 22}, + {"(*Info).TypeOf", Method, 5}, + {"(*Initializer).String", Method, 5}, + {"(*Interface).Complete", Method, 5}, + {"(*Interface).Embedded", Method, 5}, + {"(*Interface).EmbeddedType", Method, 11}, + {"(*Interface).Empty", Method, 5}, + {"(*Interface).ExplicitMethod", Method, 5}, + {"(*Interface).IsComparable", Method, 18}, + {"(*Interface).IsImplicit", Method, 18}, + {"(*Interface).IsMethodSet", Method, 18}, + {"(*Interface).MarkImplicit", Method, 18}, + {"(*Interface).Method", Method, 5}, + {"(*Interface).NumEmbeddeds", Method, 5}, + {"(*Interface).NumExplicitMethods", Method, 5}, + {"(*Interface).NumMethods", Method, 5}, + {"(*Interface).String", Method, 5}, + {"(*Interface).Underlying", Method, 5}, + {"(*Label).Exported", Method, 5}, + {"(*Label).Id", Method, 5}, + {"(*Label).Name", Method, 5}, + {"(*Label).Parent", Method, 5}, + {"(*Label).Pkg", Method, 5}, + {"(*Label).Pos", Method, 5}, + {"(*Label).String", Method, 5}, + {"(*Label).Type", Method, 5}, + {"(*Map).Elem", Method, 5}, + {"(*Map).Key", Method, 5}, + {"(*Map).String", Method, 5}, + {"(*Map).Underlying", Method, 5}, + {"(*MethodSet).At", Method, 5}, + {"(*MethodSet).Len", Method, 5}, + {"(*MethodSet).Lookup", Method, 5}, + {"(*MethodSet).String", Method, 5}, + {"(*Named).AddMethod", Method, 5}, + {"(*Named).Method", Method, 5}, + {"(*Named).NumMethods", Method, 5}, + {"(*Named).Obj", Method, 5}, + {"(*Named).Origin", Method, 18}, + {"(*Named).SetTypeParams", Method, 18}, + {"(*Named).SetUnderlying", Method, 5}, + {"(*Named).String", Method, 5}, + {"(*Named).TypeArgs", Method, 18}, + {"(*Named).TypeParams", Method, 18}, + {"(*Named).Underlying", Method, 5}, + {"(*Nil).Exported", Method, 5}, + {"(*Nil).Id", Method, 5}, + {"(*Nil).Name", Method, 5}, + {"(*Nil).Parent", Method, 5}, + {"(*Nil).Pkg", Method, 5}, + {"(*Nil).Pos", Method, 5}, + {"(*Nil).String", Method, 5}, + {"(*Nil).Type", Method, 5}, + {"(*Package).Complete", Method, 5}, + {"(*Package).GoVersion", Method, 21}, + {"(*Package).Imports", Method, 5}, + {"(*Package).MarkComplete", Method, 5}, + {"(*Package).Name", Method, 5}, + {"(*Package).Path", Method, 5}, + {"(*Package).Scope", Method, 5}, + {"(*Package).SetImports", Method, 5}, + {"(*Package).SetName", Method, 6}, + {"(*Package).String", Method, 5}, + {"(*PkgName).Exported", Method, 5}, + {"(*PkgName).Id", Method, 5}, + {"(*PkgName).Imported", Method, 5}, + {"(*PkgName).Name", Method, 5}, + {"(*PkgName).Parent", Method, 5}, + {"(*PkgName).Pkg", Method, 5}, + {"(*PkgName).Pos", Method, 5}, + {"(*PkgName).String", Method, 5}, + {"(*PkgName).Type", Method, 5}, + {"(*Pointer).Elem", Method, 5}, + {"(*Pointer).String", Method, 5}, + {"(*Pointer).Underlying", Method, 5}, + {"(*Scope).Child", Method, 5}, + {"(*Scope).Contains", Method, 5}, + {"(*Scope).End", Method, 5}, + {"(*Scope).Innermost", Method, 5}, + {"(*Scope).Insert", Method, 5}, + {"(*Scope).Len", Method, 5}, + {"(*Scope).Lookup", Method, 5}, + {"(*Scope).LookupParent", Method, 5}, + {"(*Scope).Names", Method, 5}, + {"(*Scope).NumChildren", Method, 5}, + {"(*Scope).Parent", Method, 5}, + {"(*Scope).Pos", Method, 5}, + {"(*Scope).String", Method, 5}, + {"(*Scope).WriteTo", Method, 5}, + {"(*Selection).Index", Method, 5}, + {"(*Selection).Indirect", Method, 5}, + {"(*Selection).Kind", Method, 5}, + {"(*Selection).Obj", Method, 5}, + {"(*Selection).Recv", Method, 5}, + {"(*Selection).String", Method, 5}, + {"(*Selection).Type", Method, 5}, + {"(*Signature).Params", Method, 5}, + {"(*Signature).Recv", Method, 5}, + {"(*Signature).RecvTypeParams", Method, 18}, + {"(*Signature).Results", Method, 5}, + {"(*Signature).String", Method, 5}, + {"(*Signature).TypeParams", Method, 18}, + {"(*Signature).Underlying", Method, 5}, + {"(*Signature).Variadic", Method, 5}, + {"(*Slice).Elem", Method, 5}, + {"(*Slice).String", Method, 5}, + {"(*Slice).Underlying", Method, 5}, + {"(*StdSizes).Alignof", Method, 5}, + {"(*StdSizes).Offsetsof", Method, 5}, + {"(*StdSizes).Sizeof", Method, 5}, + {"(*Struct).Field", Method, 5}, + {"(*Struct).NumFields", Method, 5}, + {"(*Struct).String", Method, 5}, + {"(*Struct).Tag", Method, 5}, + {"(*Struct).Underlying", Method, 5}, + {"(*Term).String", Method, 18}, + {"(*Term).Tilde", Method, 18}, + {"(*Term).Type", Method, 18}, + {"(*Tuple).At", Method, 5}, + {"(*Tuple).Len", Method, 5}, + {"(*Tuple).String", Method, 5}, + {"(*Tuple).Underlying", Method, 5}, + {"(*TypeList).At", Method, 18}, + {"(*TypeList).Len", Method, 18}, + {"(*TypeName).Exported", Method, 5}, + {"(*TypeName).Id", Method, 5}, + {"(*TypeName).IsAlias", Method, 9}, + {"(*TypeName).Name", Method, 5}, + {"(*TypeName).Parent", Method, 5}, + {"(*TypeName).Pkg", Method, 5}, + {"(*TypeName).Pos", Method, 5}, + {"(*TypeName).String", Method, 5}, + {"(*TypeName).Type", Method, 5}, + {"(*TypeParam).Constraint", Method, 18}, + {"(*TypeParam).Index", Method, 18}, + {"(*TypeParam).Obj", Method, 18}, + {"(*TypeParam).SetConstraint", Method, 18}, + {"(*TypeParam).String", Method, 18}, + {"(*TypeParam).Underlying", Method, 18}, + {"(*TypeParamList).At", Method, 18}, + {"(*TypeParamList).Len", Method, 18}, + {"(*Union).Len", Method, 18}, + {"(*Union).String", Method, 18}, + {"(*Union).Term", Method, 18}, + {"(*Union).Underlying", Method, 18}, + {"(*Var).Anonymous", Method, 5}, + {"(*Var).Embedded", Method, 11}, + {"(*Var).Exported", Method, 5}, + {"(*Var).Id", Method, 5}, + {"(*Var).IsField", Method, 5}, + {"(*Var).Name", Method, 5}, + {"(*Var).Origin", Method, 19}, + {"(*Var).Parent", Method, 5}, + {"(*Var).Pkg", Method, 5}, + {"(*Var).Pos", Method, 5}, + {"(*Var).String", Method, 5}, + {"(*Var).Type", Method, 5}, + {"(Checker).ObjectOf", Method, 5}, + {"(Checker).PkgNameOf", Method, 22}, + {"(Checker).TypeOf", Method, 5}, + {"(Error).Error", Method, 5}, + {"(TypeAndValue).Addressable", Method, 5}, + {"(TypeAndValue).Assignable", Method, 5}, + {"(TypeAndValue).HasOk", Method, 5}, + {"(TypeAndValue).IsBuiltin", Method, 5}, + {"(TypeAndValue).IsNil", Method, 5}, + {"(TypeAndValue).IsType", Method, 5}, + {"(TypeAndValue).IsValue", Method, 5}, + {"(TypeAndValue).IsVoid", Method, 5}, + {"Alias", Type, 22}, + {"ArgumentError", Type, 18}, + {"ArgumentError.Err", Field, 18}, + {"ArgumentError.Index", Field, 18}, + {"Array", Type, 5}, + {"AssertableTo", Func, 5}, + {"AssignableTo", Func, 5}, + {"Basic", Type, 5}, + {"BasicInfo", Type, 5}, + {"BasicKind", Type, 5}, + {"Bool", Const, 5}, + {"Builtin", Type, 5}, + {"Byte", Const, 5}, + {"Chan", Type, 5}, + {"ChanDir", Type, 5}, + {"CheckExpr", Func, 13}, + {"Checker", Type, 5}, + {"Checker.Info", Field, 5}, + {"Comparable", Func, 5}, + {"Complex128", Const, 5}, + {"Complex64", Const, 5}, + {"Config", Type, 5}, + {"Config.Context", Field, 18}, + {"Config.DisableUnusedImportCheck", Field, 5}, + {"Config.Error", Field, 5}, + {"Config.FakeImportC", Field, 5}, + {"Config.GoVersion", Field, 18}, + {"Config.IgnoreFuncBodies", Field, 5}, + {"Config.Importer", Field, 5}, + {"Config.Sizes", Field, 5}, + {"Const", Type, 5}, + {"Context", Type, 18}, + {"ConvertibleTo", Func, 5}, + {"DefPredeclaredTestFuncs", Func, 5}, + {"Default", Func, 8}, + {"Error", Type, 5}, + {"Error.Fset", Field, 5}, + {"Error.Msg", Field, 5}, + {"Error.Pos", Field, 5}, + {"Error.Soft", Field, 5}, + {"Eval", Func, 5}, + {"ExprString", Func, 5}, + {"FieldVal", Const, 5}, + {"Float32", Const, 5}, + {"Float64", Const, 5}, + {"Func", Type, 5}, + {"Id", Func, 5}, + {"Identical", Func, 5}, + {"IdenticalIgnoreTags", Func, 8}, + {"Implements", Func, 5}, + {"ImportMode", Type, 6}, + {"Importer", Type, 5}, + {"ImporterFrom", Type, 6}, + {"Info", Type, 5}, + {"Info.Defs", Field, 5}, + {"Info.FileVersions", Field, 22}, + {"Info.Implicits", Field, 5}, + {"Info.InitOrder", Field, 5}, + {"Info.Instances", Field, 18}, + {"Info.Scopes", Field, 5}, + {"Info.Selections", Field, 5}, + {"Info.Types", Field, 5}, + {"Info.Uses", Field, 5}, + {"Initializer", Type, 5}, + {"Initializer.Lhs", Field, 5}, + {"Initializer.Rhs", Field, 5}, + {"Instance", Type, 18}, + {"Instance.Type", Field, 18}, + {"Instance.TypeArgs", Field, 18}, + {"Instantiate", Func, 18}, + {"Int", Const, 5}, + {"Int16", Const, 5}, + {"Int32", Const, 5}, + {"Int64", Const, 5}, + {"Int8", Const, 5}, + {"Interface", Type, 5}, + {"Invalid", Const, 5}, + {"IsBoolean", Const, 5}, + {"IsComplex", Const, 5}, + {"IsConstType", Const, 5}, + {"IsFloat", Const, 5}, + {"IsInteger", Const, 5}, + {"IsInterface", Func, 5}, + {"IsNumeric", Const, 5}, + {"IsOrdered", Const, 5}, + {"IsString", Const, 5}, + {"IsUnsigned", Const, 5}, + {"IsUntyped", Const, 5}, + {"Label", Type, 5}, + {"LookupFieldOrMethod", Func, 5}, + {"Map", Type, 5}, + {"MethodExpr", Const, 5}, + {"MethodSet", Type, 5}, + {"MethodVal", Const, 5}, + {"MissingMethod", Func, 5}, + {"Named", Type, 5}, + {"NewAlias", Func, 22}, + {"NewArray", Func, 5}, + {"NewChan", Func, 5}, + {"NewChecker", Func, 5}, + {"NewConst", Func, 5}, + {"NewContext", Func, 18}, + {"NewField", Func, 5}, + {"NewFunc", Func, 5}, + {"NewInterface", Func, 5}, + {"NewInterfaceType", Func, 11}, + {"NewLabel", Func, 5}, + {"NewMap", Func, 5}, + {"NewMethodSet", Func, 5}, + {"NewNamed", Func, 5}, + {"NewPackage", Func, 5}, + {"NewParam", Func, 5}, + {"NewPkgName", Func, 5}, + {"NewPointer", Func, 5}, + {"NewScope", Func, 5}, + {"NewSignature", Func, 5}, + {"NewSignatureType", Func, 18}, + {"NewSlice", Func, 5}, + {"NewStruct", Func, 5}, + {"NewTerm", Func, 18}, + {"NewTuple", Func, 5}, + {"NewTypeName", Func, 5}, + {"NewTypeParam", Func, 18}, + {"NewUnion", Func, 18}, + {"NewVar", Func, 5}, + {"Nil", Type, 5}, + {"Object", Type, 5}, + {"ObjectString", Func, 5}, + {"Package", Type, 5}, + {"PkgName", Type, 5}, + {"Pointer", Type, 5}, + {"Qualifier", Type, 5}, + {"RecvOnly", Const, 5}, + {"RelativeTo", Func, 5}, + {"Rune", Const, 5}, + {"Satisfies", Func, 20}, + {"Scope", Type, 5}, + {"Selection", Type, 5}, + {"SelectionKind", Type, 5}, + {"SelectionString", Func, 5}, + {"SendOnly", Const, 5}, + {"SendRecv", Const, 5}, + {"Signature", Type, 5}, + {"Sizes", Type, 5}, + {"SizesFor", Func, 9}, + {"Slice", Type, 5}, + {"StdSizes", Type, 5}, + {"StdSizes.MaxAlign", Field, 5}, + {"StdSizes.WordSize", Field, 5}, + {"String", Const, 5}, + {"Struct", Type, 5}, + {"Term", Type, 18}, + {"Tuple", Type, 5}, + {"Typ", Var, 5}, + {"Type", Type, 5}, + {"TypeAndValue", Type, 5}, + {"TypeAndValue.Type", Field, 5}, + {"TypeAndValue.Value", Field, 5}, + {"TypeList", Type, 18}, + {"TypeName", Type, 5}, + {"TypeParam", Type, 18}, + {"TypeParamList", Type, 18}, + {"TypeString", Func, 5}, + {"Uint", Const, 5}, + {"Uint16", Const, 5}, + {"Uint32", Const, 5}, + {"Uint64", Const, 5}, + {"Uint8", Const, 5}, + {"Uintptr", Const, 5}, + {"Unalias", Func, 22}, + {"Union", Type, 18}, + {"Universe", Var, 5}, + {"Unsafe", Var, 5}, + {"UnsafePointer", Const, 5}, + {"UntypedBool", Const, 5}, + {"UntypedComplex", Const, 5}, + {"UntypedFloat", Const, 5}, + {"UntypedInt", Const, 5}, + {"UntypedNil", Const, 5}, + {"UntypedRune", Const, 5}, + {"UntypedString", Const, 5}, + {"Var", Type, 5}, + {"WriteExpr", Func, 5}, + {"WriteSignature", Func, 5}, + {"WriteType", Func, 5}, + }, + "go/version": { + {"Compare", Func, 22}, + {"IsValid", Func, 22}, + {"Lang", Func, 22}, + }, + "hash": { + {"Hash", Type, 0}, + {"Hash32", Type, 0}, + {"Hash64", Type, 0}, + }, + "hash/adler32": { + {"Checksum", Func, 0}, + {"New", Func, 0}, + {"Size", Const, 0}, + }, + "hash/crc32": { + {"Castagnoli", Const, 0}, + {"Checksum", Func, 0}, + {"ChecksumIEEE", Func, 0}, + {"IEEE", Const, 0}, + {"IEEETable", Var, 0}, + {"Koopman", Const, 0}, + {"MakeTable", Func, 0}, + {"New", Func, 0}, + {"NewIEEE", Func, 0}, + {"Size", Const, 0}, + {"Table", Type, 0}, + {"Update", Func, 0}, + }, + "hash/crc64": { + {"Checksum", Func, 0}, + {"ECMA", Const, 0}, + {"ISO", Const, 0}, + {"MakeTable", Func, 0}, + {"New", Func, 0}, + {"Size", Const, 0}, + {"Table", Type, 0}, + {"Update", Func, 0}, + }, + "hash/fnv": { + {"New128", Func, 9}, + {"New128a", Func, 9}, + {"New32", Func, 0}, + {"New32a", Func, 0}, + {"New64", Func, 0}, + {"New64a", Func, 0}, + }, + "hash/maphash": { + {"(*Hash).BlockSize", Method, 14}, + {"(*Hash).Reset", Method, 14}, + {"(*Hash).Seed", Method, 14}, + {"(*Hash).SetSeed", Method, 14}, + {"(*Hash).Size", Method, 14}, + {"(*Hash).Sum", Method, 14}, + {"(*Hash).Sum64", Method, 14}, + {"(*Hash).Write", Method, 14}, + {"(*Hash).WriteByte", Method, 14}, + {"(*Hash).WriteString", Method, 14}, + {"Bytes", Func, 19}, + {"Hash", Type, 14}, + {"MakeSeed", Func, 14}, + {"Seed", Type, 14}, + {"String", Func, 19}, + }, + "html": { + {"EscapeString", Func, 0}, + {"UnescapeString", Func, 0}, + }, + "html/template": { + {"(*Error).Error", Method, 0}, + {"(*Template).AddParseTree", Method, 0}, + {"(*Template).Clone", Method, 0}, + {"(*Template).DefinedTemplates", Method, 6}, + {"(*Template).Delims", Method, 0}, + {"(*Template).Execute", Method, 0}, + {"(*Template).ExecuteTemplate", Method, 0}, + {"(*Template).Funcs", Method, 0}, + {"(*Template).Lookup", Method, 0}, + {"(*Template).Name", Method, 0}, + {"(*Template).New", Method, 0}, + {"(*Template).Option", Method, 5}, + {"(*Template).Parse", Method, 0}, + {"(*Template).ParseFS", Method, 16}, + {"(*Template).ParseFiles", Method, 0}, + {"(*Template).ParseGlob", Method, 0}, + {"(*Template).Templates", Method, 0}, + {"CSS", Type, 0}, + {"ErrAmbigContext", Const, 0}, + {"ErrBadHTML", Const, 0}, + {"ErrBranchEnd", Const, 0}, + {"ErrEndContext", Const, 0}, + {"ErrJSTemplate", Const, 21}, + {"ErrNoSuchTemplate", Const, 0}, + {"ErrOutputContext", Const, 0}, + {"ErrPartialCharset", Const, 0}, + {"ErrPartialEscape", Const, 0}, + {"ErrPredefinedEscaper", Const, 9}, + {"ErrRangeLoopReentry", Const, 0}, + {"ErrSlashAmbig", Const, 0}, + {"Error", Type, 0}, + {"Error.Description", Field, 0}, + {"Error.ErrorCode", Field, 0}, + {"Error.Line", Field, 0}, + {"Error.Name", Field, 0}, + {"Error.Node", Field, 4}, + {"ErrorCode", Type, 0}, + {"FuncMap", Type, 0}, + {"HTML", Type, 0}, + {"HTMLAttr", Type, 0}, + {"HTMLEscape", Func, 0}, + {"HTMLEscapeString", Func, 0}, + {"HTMLEscaper", Func, 0}, + {"IsTrue", Func, 6}, + {"JS", Type, 0}, + {"JSEscape", Func, 0}, + {"JSEscapeString", Func, 0}, + {"JSEscaper", Func, 0}, + {"JSStr", Type, 0}, + {"Must", Func, 0}, + {"New", Func, 0}, + {"OK", Const, 0}, + {"ParseFS", Func, 16}, + {"ParseFiles", Func, 0}, + {"ParseGlob", Func, 0}, + {"Srcset", Type, 10}, + {"Template", Type, 0}, + {"Template.Tree", Field, 2}, + {"URL", Type, 0}, + {"URLQueryEscaper", Func, 0}, + }, + "image": { + {"(*Alpha).AlphaAt", Method, 4}, + {"(*Alpha).At", Method, 0}, + {"(*Alpha).Bounds", Method, 0}, + {"(*Alpha).ColorModel", Method, 0}, + {"(*Alpha).Opaque", Method, 0}, + {"(*Alpha).PixOffset", Method, 0}, + {"(*Alpha).RGBA64At", Method, 17}, + {"(*Alpha).Set", Method, 0}, + {"(*Alpha).SetAlpha", Method, 0}, + {"(*Alpha).SetRGBA64", Method, 17}, + {"(*Alpha).SubImage", Method, 0}, + {"(*Alpha16).Alpha16At", Method, 4}, + {"(*Alpha16).At", Method, 0}, + {"(*Alpha16).Bounds", Method, 0}, + {"(*Alpha16).ColorModel", Method, 0}, + {"(*Alpha16).Opaque", Method, 0}, + {"(*Alpha16).PixOffset", Method, 0}, + {"(*Alpha16).RGBA64At", Method, 17}, + {"(*Alpha16).Set", Method, 0}, + {"(*Alpha16).SetAlpha16", Method, 0}, + {"(*Alpha16).SetRGBA64", Method, 17}, + {"(*Alpha16).SubImage", Method, 0}, + {"(*CMYK).At", Method, 5}, + {"(*CMYK).Bounds", Method, 5}, + {"(*CMYK).CMYKAt", Method, 5}, + {"(*CMYK).ColorModel", Method, 5}, + {"(*CMYK).Opaque", Method, 5}, + {"(*CMYK).PixOffset", Method, 5}, + {"(*CMYK).RGBA64At", Method, 17}, + {"(*CMYK).Set", Method, 5}, + {"(*CMYK).SetCMYK", Method, 5}, + {"(*CMYK).SetRGBA64", Method, 17}, + {"(*CMYK).SubImage", Method, 5}, + {"(*Gray).At", Method, 0}, + {"(*Gray).Bounds", Method, 0}, + {"(*Gray).ColorModel", Method, 0}, + {"(*Gray).GrayAt", Method, 4}, + {"(*Gray).Opaque", Method, 0}, + {"(*Gray).PixOffset", Method, 0}, + {"(*Gray).RGBA64At", Method, 17}, + {"(*Gray).Set", Method, 0}, + {"(*Gray).SetGray", Method, 0}, + {"(*Gray).SetRGBA64", Method, 17}, + {"(*Gray).SubImage", Method, 0}, + {"(*Gray16).At", Method, 0}, + {"(*Gray16).Bounds", Method, 0}, + {"(*Gray16).ColorModel", Method, 0}, + {"(*Gray16).Gray16At", Method, 4}, + {"(*Gray16).Opaque", Method, 0}, + {"(*Gray16).PixOffset", Method, 0}, + {"(*Gray16).RGBA64At", Method, 17}, + {"(*Gray16).Set", Method, 0}, + {"(*Gray16).SetGray16", Method, 0}, + {"(*Gray16).SetRGBA64", Method, 17}, + {"(*Gray16).SubImage", Method, 0}, + {"(*NRGBA).At", Method, 0}, + {"(*NRGBA).Bounds", Method, 0}, + {"(*NRGBA).ColorModel", Method, 0}, + {"(*NRGBA).NRGBAAt", Method, 4}, + {"(*NRGBA).Opaque", Method, 0}, + {"(*NRGBA).PixOffset", Method, 0}, + {"(*NRGBA).RGBA64At", Method, 17}, + {"(*NRGBA).Set", Method, 0}, + {"(*NRGBA).SetNRGBA", Method, 0}, + {"(*NRGBA).SetRGBA64", Method, 17}, + {"(*NRGBA).SubImage", Method, 0}, + {"(*NRGBA64).At", Method, 0}, + {"(*NRGBA64).Bounds", Method, 0}, + {"(*NRGBA64).ColorModel", Method, 0}, + {"(*NRGBA64).NRGBA64At", Method, 4}, + {"(*NRGBA64).Opaque", Method, 0}, + {"(*NRGBA64).PixOffset", Method, 0}, + {"(*NRGBA64).RGBA64At", Method, 17}, + {"(*NRGBA64).Set", Method, 0}, + {"(*NRGBA64).SetNRGBA64", Method, 0}, + {"(*NRGBA64).SetRGBA64", Method, 17}, + {"(*NRGBA64).SubImage", Method, 0}, + {"(*NYCbCrA).AOffset", Method, 6}, + {"(*NYCbCrA).At", Method, 6}, + {"(*NYCbCrA).Bounds", Method, 6}, + {"(*NYCbCrA).COffset", Method, 6}, + {"(*NYCbCrA).ColorModel", Method, 6}, + {"(*NYCbCrA).NYCbCrAAt", Method, 6}, + {"(*NYCbCrA).Opaque", Method, 6}, + {"(*NYCbCrA).RGBA64At", Method, 17}, + {"(*NYCbCrA).SubImage", Method, 6}, + {"(*NYCbCrA).YCbCrAt", Method, 6}, + {"(*NYCbCrA).YOffset", Method, 6}, + {"(*Paletted).At", Method, 0}, + {"(*Paletted).Bounds", Method, 0}, + {"(*Paletted).ColorIndexAt", Method, 0}, + {"(*Paletted).ColorModel", Method, 0}, + {"(*Paletted).Opaque", Method, 0}, + {"(*Paletted).PixOffset", Method, 0}, + {"(*Paletted).RGBA64At", Method, 17}, + {"(*Paletted).Set", Method, 0}, + {"(*Paletted).SetColorIndex", Method, 0}, + {"(*Paletted).SetRGBA64", Method, 17}, + {"(*Paletted).SubImage", Method, 0}, + {"(*RGBA).At", Method, 0}, + {"(*RGBA).Bounds", Method, 0}, + {"(*RGBA).ColorModel", Method, 0}, + {"(*RGBA).Opaque", Method, 0}, + {"(*RGBA).PixOffset", Method, 0}, + {"(*RGBA).RGBA64At", Method, 17}, + {"(*RGBA).RGBAAt", Method, 4}, + {"(*RGBA).Set", Method, 0}, + {"(*RGBA).SetRGBA", Method, 0}, + {"(*RGBA).SetRGBA64", Method, 17}, + {"(*RGBA).SubImage", Method, 0}, + {"(*RGBA64).At", Method, 0}, + {"(*RGBA64).Bounds", Method, 0}, + {"(*RGBA64).ColorModel", Method, 0}, + {"(*RGBA64).Opaque", Method, 0}, + {"(*RGBA64).PixOffset", Method, 0}, + {"(*RGBA64).RGBA64At", Method, 4}, + {"(*RGBA64).Set", Method, 0}, + {"(*RGBA64).SetRGBA64", Method, 0}, + {"(*RGBA64).SubImage", Method, 0}, + {"(*Uniform).At", Method, 0}, + {"(*Uniform).Bounds", Method, 0}, + {"(*Uniform).ColorModel", Method, 0}, + {"(*Uniform).Convert", Method, 0}, + {"(*Uniform).Opaque", Method, 0}, + {"(*Uniform).RGBA", Method, 0}, + {"(*Uniform).RGBA64At", Method, 17}, + {"(*YCbCr).At", Method, 0}, + {"(*YCbCr).Bounds", Method, 0}, + {"(*YCbCr).COffset", Method, 0}, + {"(*YCbCr).ColorModel", Method, 0}, + {"(*YCbCr).Opaque", Method, 0}, + {"(*YCbCr).RGBA64At", Method, 17}, + {"(*YCbCr).SubImage", Method, 0}, + {"(*YCbCr).YCbCrAt", Method, 4}, + {"(*YCbCr).YOffset", Method, 0}, + {"(Point).Add", Method, 0}, + {"(Point).Div", Method, 0}, + {"(Point).Eq", Method, 0}, + {"(Point).In", Method, 0}, + {"(Point).Mod", Method, 0}, + {"(Point).Mul", Method, 0}, + {"(Point).String", Method, 0}, + {"(Point).Sub", Method, 0}, + {"(Rectangle).Add", Method, 0}, + {"(Rectangle).At", Method, 5}, + {"(Rectangle).Bounds", Method, 5}, + {"(Rectangle).Canon", Method, 0}, + {"(Rectangle).ColorModel", Method, 5}, + {"(Rectangle).Dx", Method, 0}, + {"(Rectangle).Dy", Method, 0}, + {"(Rectangle).Empty", Method, 0}, + {"(Rectangle).Eq", Method, 0}, + {"(Rectangle).In", Method, 0}, + {"(Rectangle).Inset", Method, 0}, + {"(Rectangle).Intersect", Method, 0}, + {"(Rectangle).Overlaps", Method, 0}, + {"(Rectangle).RGBA64At", Method, 17}, + {"(Rectangle).Size", Method, 0}, + {"(Rectangle).String", Method, 0}, + {"(Rectangle).Sub", Method, 0}, + {"(Rectangle).Union", Method, 0}, + {"(YCbCrSubsampleRatio).String", Method, 0}, + {"Alpha", Type, 0}, + {"Alpha.Pix", Field, 0}, + {"Alpha.Rect", Field, 0}, + {"Alpha.Stride", Field, 0}, + {"Alpha16", Type, 0}, + {"Alpha16.Pix", Field, 0}, + {"Alpha16.Rect", Field, 0}, + {"Alpha16.Stride", Field, 0}, + {"Black", Var, 0}, + {"CMYK", Type, 5}, + {"CMYK.Pix", Field, 5}, + {"CMYK.Rect", Field, 5}, + {"CMYK.Stride", Field, 5}, + {"Config", Type, 0}, + {"Config.ColorModel", Field, 0}, + {"Config.Height", Field, 0}, + {"Config.Width", Field, 0}, + {"Decode", Func, 0}, + {"DecodeConfig", Func, 0}, + {"ErrFormat", Var, 0}, + {"Gray", Type, 0}, + {"Gray.Pix", Field, 0}, + {"Gray.Rect", Field, 0}, + {"Gray.Stride", Field, 0}, + {"Gray16", Type, 0}, + {"Gray16.Pix", Field, 0}, + {"Gray16.Rect", Field, 0}, + {"Gray16.Stride", Field, 0}, + {"Image", Type, 0}, + {"NRGBA", Type, 0}, + {"NRGBA.Pix", Field, 0}, + {"NRGBA.Rect", Field, 0}, + {"NRGBA.Stride", Field, 0}, + {"NRGBA64", Type, 0}, + {"NRGBA64.Pix", Field, 0}, + {"NRGBA64.Rect", Field, 0}, + {"NRGBA64.Stride", Field, 0}, + {"NYCbCrA", Type, 6}, + {"NYCbCrA.A", Field, 6}, + {"NYCbCrA.AStride", Field, 6}, + {"NYCbCrA.YCbCr", Field, 6}, + {"NewAlpha", Func, 0}, + {"NewAlpha16", Func, 0}, + {"NewCMYK", Func, 5}, + {"NewGray", Func, 0}, + {"NewGray16", Func, 0}, + {"NewNRGBA", Func, 0}, + {"NewNRGBA64", Func, 0}, + {"NewNYCbCrA", Func, 6}, + {"NewPaletted", Func, 0}, + {"NewRGBA", Func, 0}, + {"NewRGBA64", Func, 0}, + {"NewUniform", Func, 0}, + {"NewYCbCr", Func, 0}, + {"Opaque", Var, 0}, + {"Paletted", Type, 0}, + {"Paletted.Palette", Field, 0}, + {"Paletted.Pix", Field, 0}, + {"Paletted.Rect", Field, 0}, + {"Paletted.Stride", Field, 0}, + {"PalettedImage", Type, 0}, + {"Point", Type, 0}, + {"Point.X", Field, 0}, + {"Point.Y", Field, 0}, + {"Pt", Func, 0}, + {"RGBA", Type, 0}, + {"RGBA.Pix", Field, 0}, + {"RGBA.Rect", Field, 0}, + {"RGBA.Stride", Field, 0}, + {"RGBA64", Type, 0}, + {"RGBA64.Pix", Field, 0}, + {"RGBA64.Rect", Field, 0}, + {"RGBA64.Stride", Field, 0}, + {"RGBA64Image", Type, 17}, + {"Rect", Func, 0}, + {"Rectangle", Type, 0}, + {"Rectangle.Max", Field, 0}, + {"Rectangle.Min", Field, 0}, + {"RegisterFormat", Func, 0}, + {"Transparent", Var, 0}, + {"Uniform", Type, 0}, + {"Uniform.C", Field, 0}, + {"White", Var, 0}, + {"YCbCr", Type, 0}, + {"YCbCr.CStride", Field, 0}, + {"YCbCr.Cb", Field, 0}, + {"YCbCr.Cr", Field, 0}, + {"YCbCr.Rect", Field, 0}, + {"YCbCr.SubsampleRatio", Field, 0}, + {"YCbCr.Y", Field, 0}, + {"YCbCr.YStride", Field, 0}, + {"YCbCrSubsampleRatio", Type, 0}, + {"YCbCrSubsampleRatio410", Const, 5}, + {"YCbCrSubsampleRatio411", Const, 5}, + {"YCbCrSubsampleRatio420", Const, 0}, + {"YCbCrSubsampleRatio422", Const, 0}, + {"YCbCrSubsampleRatio440", Const, 1}, + {"YCbCrSubsampleRatio444", Const, 0}, + {"ZP", Var, 0}, + {"ZR", Var, 0}, + }, + "image/color": { + {"(Alpha).RGBA", Method, 0}, + {"(Alpha16).RGBA", Method, 0}, + {"(CMYK).RGBA", Method, 5}, + {"(Gray).RGBA", Method, 0}, + {"(Gray16).RGBA", Method, 0}, + {"(NRGBA).RGBA", Method, 0}, + {"(NRGBA64).RGBA", Method, 0}, + {"(NYCbCrA).RGBA", Method, 6}, + {"(Palette).Convert", Method, 0}, + {"(Palette).Index", Method, 0}, + {"(RGBA).RGBA", Method, 0}, + {"(RGBA64).RGBA", Method, 0}, + {"(YCbCr).RGBA", Method, 0}, + {"Alpha", Type, 0}, + {"Alpha.A", Field, 0}, + {"Alpha16", Type, 0}, + {"Alpha16.A", Field, 0}, + {"Alpha16Model", Var, 0}, + {"AlphaModel", Var, 0}, + {"Black", Var, 0}, + {"CMYK", Type, 5}, + {"CMYK.C", Field, 5}, + {"CMYK.K", Field, 5}, + {"CMYK.M", Field, 5}, + {"CMYK.Y", Field, 5}, + {"CMYKModel", Var, 5}, + {"CMYKToRGB", Func, 5}, + {"Color", Type, 0}, + {"Gray", Type, 0}, + {"Gray.Y", Field, 0}, + {"Gray16", Type, 0}, + {"Gray16.Y", Field, 0}, + {"Gray16Model", Var, 0}, + {"GrayModel", Var, 0}, + {"Model", Type, 0}, + {"ModelFunc", Func, 0}, + {"NRGBA", Type, 0}, + {"NRGBA.A", Field, 0}, + {"NRGBA.B", Field, 0}, + {"NRGBA.G", Field, 0}, + {"NRGBA.R", Field, 0}, + {"NRGBA64", Type, 0}, + {"NRGBA64.A", Field, 0}, + {"NRGBA64.B", Field, 0}, + {"NRGBA64.G", Field, 0}, + {"NRGBA64.R", Field, 0}, + {"NRGBA64Model", Var, 0}, + {"NRGBAModel", Var, 0}, + {"NYCbCrA", Type, 6}, + {"NYCbCrA.A", Field, 6}, + {"NYCbCrA.YCbCr", Field, 6}, + {"NYCbCrAModel", Var, 6}, + {"Opaque", Var, 0}, + {"Palette", Type, 0}, + {"RGBA", Type, 0}, + {"RGBA.A", Field, 0}, + {"RGBA.B", Field, 0}, + {"RGBA.G", Field, 0}, + {"RGBA.R", Field, 0}, + {"RGBA64", Type, 0}, + {"RGBA64.A", Field, 0}, + {"RGBA64.B", Field, 0}, + {"RGBA64.G", Field, 0}, + {"RGBA64.R", Field, 0}, + {"RGBA64Model", Var, 0}, + {"RGBAModel", Var, 0}, + {"RGBToCMYK", Func, 5}, + {"RGBToYCbCr", Func, 0}, + {"Transparent", Var, 0}, + {"White", Var, 0}, + {"YCbCr", Type, 0}, + {"YCbCr.Cb", Field, 0}, + {"YCbCr.Cr", Field, 0}, + {"YCbCr.Y", Field, 0}, + {"YCbCrModel", Var, 0}, + {"YCbCrToRGB", Func, 0}, + }, + "image/color/palette": { + {"Plan9", Var, 2}, + {"WebSafe", Var, 2}, + }, + "image/draw": { + {"(Op).Draw", Method, 2}, + {"Draw", Func, 0}, + {"DrawMask", Func, 0}, + {"Drawer", Type, 2}, + {"FloydSteinberg", Var, 2}, + {"Image", Type, 0}, + {"Op", Type, 0}, + {"Over", Const, 0}, + {"Quantizer", Type, 2}, + {"RGBA64Image", Type, 17}, + {"Src", Const, 0}, + }, + "image/gif": { + {"Decode", Func, 0}, + {"DecodeAll", Func, 0}, + {"DecodeConfig", Func, 0}, + {"DisposalBackground", Const, 5}, + {"DisposalNone", Const, 5}, + {"DisposalPrevious", Const, 5}, + {"Encode", Func, 2}, + {"EncodeAll", Func, 2}, + {"GIF", Type, 0}, + {"GIF.BackgroundIndex", Field, 5}, + {"GIF.Config", Field, 5}, + {"GIF.Delay", Field, 0}, + {"GIF.Disposal", Field, 5}, + {"GIF.Image", Field, 0}, + {"GIF.LoopCount", Field, 0}, + {"Options", Type, 2}, + {"Options.Drawer", Field, 2}, + {"Options.NumColors", Field, 2}, + {"Options.Quantizer", Field, 2}, + }, + "image/jpeg": { + {"(FormatError).Error", Method, 0}, + {"(UnsupportedError).Error", Method, 0}, + {"Decode", Func, 0}, + {"DecodeConfig", Func, 0}, + {"DefaultQuality", Const, 0}, + {"Encode", Func, 0}, + {"FormatError", Type, 0}, + {"Options", Type, 0}, + {"Options.Quality", Field, 0}, + {"Reader", Type, 0}, + {"UnsupportedError", Type, 0}, + }, + "image/png": { + {"(*Encoder).Encode", Method, 4}, + {"(FormatError).Error", Method, 0}, + {"(UnsupportedError).Error", Method, 0}, + {"BestCompression", Const, 4}, + {"BestSpeed", Const, 4}, + {"CompressionLevel", Type, 4}, + {"Decode", Func, 0}, + {"DecodeConfig", Func, 0}, + {"DefaultCompression", Const, 4}, + {"Encode", Func, 0}, + {"Encoder", Type, 4}, + {"Encoder.BufferPool", Field, 9}, + {"Encoder.CompressionLevel", Field, 4}, + {"EncoderBuffer", Type, 9}, + {"EncoderBufferPool", Type, 9}, + {"FormatError", Type, 0}, + {"NoCompression", Const, 4}, + {"UnsupportedError", Type, 0}, + }, + "index/suffixarray": { + {"(*Index).Bytes", Method, 0}, + {"(*Index).FindAllIndex", Method, 0}, + {"(*Index).Lookup", Method, 0}, + {"(*Index).Read", Method, 0}, + {"(*Index).Write", Method, 0}, + {"Index", Type, 0}, + {"New", Func, 0}, + }, + "io": { + {"(*LimitedReader).Read", Method, 0}, + {"(*OffsetWriter).Seek", Method, 20}, + {"(*OffsetWriter).Write", Method, 20}, + {"(*OffsetWriter).WriteAt", Method, 20}, + {"(*PipeReader).Close", Method, 0}, + {"(*PipeReader).CloseWithError", Method, 0}, + {"(*PipeReader).Read", Method, 0}, + {"(*PipeWriter).Close", Method, 0}, + {"(*PipeWriter).CloseWithError", Method, 0}, + {"(*PipeWriter).Write", Method, 0}, + {"(*SectionReader).Outer", Method, 22}, + {"(*SectionReader).Read", Method, 0}, + {"(*SectionReader).ReadAt", Method, 0}, + {"(*SectionReader).Seek", Method, 0}, + {"(*SectionReader).Size", Method, 0}, + {"ByteReader", Type, 0}, + {"ByteScanner", Type, 0}, + {"ByteWriter", Type, 1}, + {"Closer", Type, 0}, + {"Copy", Func, 0}, + {"CopyBuffer", Func, 5}, + {"CopyN", Func, 0}, + {"Discard", Var, 16}, + {"EOF", Var, 0}, + {"ErrClosedPipe", Var, 0}, + {"ErrNoProgress", Var, 1}, + {"ErrShortBuffer", Var, 0}, + {"ErrShortWrite", Var, 0}, + {"ErrUnexpectedEOF", Var, 0}, + {"LimitReader", Func, 0}, + {"LimitedReader", Type, 0}, + {"LimitedReader.N", Field, 0}, + {"LimitedReader.R", Field, 0}, + {"MultiReader", Func, 0}, + {"MultiWriter", Func, 0}, + {"NewOffsetWriter", Func, 20}, + {"NewSectionReader", Func, 0}, + {"NopCloser", Func, 16}, + {"OffsetWriter", Type, 20}, + {"Pipe", Func, 0}, + {"PipeReader", Type, 0}, + {"PipeWriter", Type, 0}, + {"ReadAll", Func, 16}, + {"ReadAtLeast", Func, 0}, + {"ReadCloser", Type, 0}, + {"ReadFull", Func, 0}, + {"ReadSeekCloser", Type, 16}, + {"ReadSeeker", Type, 0}, + {"ReadWriteCloser", Type, 0}, + {"ReadWriteSeeker", Type, 0}, + {"ReadWriter", Type, 0}, + {"Reader", Type, 0}, + {"ReaderAt", Type, 0}, + {"ReaderFrom", Type, 0}, + {"RuneReader", Type, 0}, + {"RuneScanner", Type, 0}, + {"SectionReader", Type, 0}, + {"SeekCurrent", Const, 7}, + {"SeekEnd", Const, 7}, + {"SeekStart", Const, 7}, + {"Seeker", Type, 0}, + {"StringWriter", Type, 12}, + {"TeeReader", Func, 0}, + {"WriteCloser", Type, 0}, + {"WriteSeeker", Type, 0}, + {"WriteString", Func, 0}, + {"Writer", Type, 0}, + {"WriterAt", Type, 0}, + {"WriterTo", Type, 0}, + }, + "io/fs": { + {"(*PathError).Error", Method, 16}, + {"(*PathError).Timeout", Method, 16}, + {"(*PathError).Unwrap", Method, 16}, + {"(FileMode).IsDir", Method, 16}, + {"(FileMode).IsRegular", Method, 16}, + {"(FileMode).Perm", Method, 16}, + {"(FileMode).String", Method, 16}, + {"(FileMode).Type", Method, 16}, + {"DirEntry", Type, 16}, + {"ErrClosed", Var, 16}, + {"ErrExist", Var, 16}, + {"ErrInvalid", Var, 16}, + {"ErrNotExist", Var, 16}, + {"ErrPermission", Var, 16}, + {"FS", Type, 16}, + {"File", Type, 16}, + {"FileInfo", Type, 16}, + {"FileInfoToDirEntry", Func, 17}, + {"FileMode", Type, 16}, + {"FormatDirEntry", Func, 21}, + {"FormatFileInfo", Func, 21}, + {"Glob", Func, 16}, + {"GlobFS", Type, 16}, + {"ModeAppend", Const, 16}, + {"ModeCharDevice", Const, 16}, + {"ModeDevice", Const, 16}, + {"ModeDir", Const, 16}, + {"ModeExclusive", Const, 16}, + {"ModeIrregular", Const, 16}, + {"ModeNamedPipe", Const, 16}, + {"ModePerm", Const, 16}, + {"ModeSetgid", Const, 16}, + {"ModeSetuid", Const, 16}, + {"ModeSocket", Const, 16}, + {"ModeSticky", Const, 16}, + {"ModeSymlink", Const, 16}, + {"ModeTemporary", Const, 16}, + {"ModeType", Const, 16}, + {"PathError", Type, 16}, + {"PathError.Err", Field, 16}, + {"PathError.Op", Field, 16}, + {"PathError.Path", Field, 16}, + {"ReadDir", Func, 16}, + {"ReadDirFS", Type, 16}, + {"ReadDirFile", Type, 16}, + {"ReadFile", Func, 16}, + {"ReadFileFS", Type, 16}, + {"SkipAll", Var, 20}, + {"SkipDir", Var, 16}, + {"Stat", Func, 16}, + {"StatFS", Type, 16}, + {"Sub", Func, 16}, + {"SubFS", Type, 16}, + {"ValidPath", Func, 16}, + {"WalkDir", Func, 16}, + {"WalkDirFunc", Type, 16}, + }, + "io/ioutil": { + {"Discard", Var, 0}, + {"NopCloser", Func, 0}, + {"ReadAll", Func, 0}, + {"ReadDir", Func, 0}, + {"ReadFile", Func, 0}, + {"TempDir", Func, 0}, + {"TempFile", Func, 0}, + {"WriteFile", Func, 0}, + }, + "log": { + {"(*Logger).Fatal", Method, 0}, + {"(*Logger).Fatalf", Method, 0}, + {"(*Logger).Fatalln", Method, 0}, + {"(*Logger).Flags", Method, 0}, + {"(*Logger).Output", Method, 0}, + {"(*Logger).Panic", Method, 0}, + {"(*Logger).Panicf", Method, 0}, + {"(*Logger).Panicln", Method, 0}, + {"(*Logger).Prefix", Method, 0}, + {"(*Logger).Print", Method, 0}, + {"(*Logger).Printf", Method, 0}, + {"(*Logger).Println", Method, 0}, + {"(*Logger).SetFlags", Method, 0}, + {"(*Logger).SetOutput", Method, 5}, + {"(*Logger).SetPrefix", Method, 0}, + {"(*Logger).Writer", Method, 12}, + {"Default", Func, 16}, + {"Fatal", Func, 0}, + {"Fatalf", Func, 0}, + {"Fatalln", Func, 0}, + {"Flags", Func, 0}, + {"LUTC", Const, 5}, + {"Ldate", Const, 0}, + {"Llongfile", Const, 0}, + {"Lmicroseconds", Const, 0}, + {"Lmsgprefix", Const, 14}, + {"Logger", Type, 0}, + {"Lshortfile", Const, 0}, + {"LstdFlags", Const, 0}, + {"Ltime", Const, 0}, + {"New", Func, 0}, + {"Output", Func, 5}, + {"Panic", Func, 0}, + {"Panicf", Func, 0}, + {"Panicln", Func, 0}, + {"Prefix", Func, 0}, + {"Print", Func, 0}, + {"Printf", Func, 0}, + {"Println", Func, 0}, + {"SetFlags", Func, 0}, + {"SetOutput", Func, 0}, + {"SetPrefix", Func, 0}, + {"Writer", Func, 13}, + }, + "log/slog": { + {"(*JSONHandler).Enabled", Method, 21}, + {"(*JSONHandler).Handle", Method, 21}, + {"(*JSONHandler).WithAttrs", Method, 21}, + {"(*JSONHandler).WithGroup", Method, 21}, + {"(*Level).UnmarshalJSON", Method, 21}, + {"(*Level).UnmarshalText", Method, 21}, + {"(*LevelVar).Level", Method, 21}, + {"(*LevelVar).MarshalText", Method, 21}, + {"(*LevelVar).Set", Method, 21}, + {"(*LevelVar).String", Method, 21}, + {"(*LevelVar).UnmarshalText", Method, 21}, + {"(*Logger).Debug", Method, 21}, + {"(*Logger).DebugContext", Method, 21}, + {"(*Logger).Enabled", Method, 21}, + {"(*Logger).Error", Method, 21}, + {"(*Logger).ErrorContext", Method, 21}, + {"(*Logger).Handler", Method, 21}, + {"(*Logger).Info", Method, 21}, + {"(*Logger).InfoContext", Method, 21}, + {"(*Logger).Log", Method, 21}, + {"(*Logger).LogAttrs", Method, 21}, + {"(*Logger).Warn", Method, 21}, + {"(*Logger).WarnContext", Method, 21}, + {"(*Logger).With", Method, 21}, + {"(*Logger).WithGroup", Method, 21}, + {"(*Record).Add", Method, 21}, + {"(*Record).AddAttrs", Method, 21}, + {"(*TextHandler).Enabled", Method, 21}, + {"(*TextHandler).Handle", Method, 21}, + {"(*TextHandler).WithAttrs", Method, 21}, + {"(*TextHandler).WithGroup", Method, 21}, + {"(Attr).Equal", Method, 21}, + {"(Attr).String", Method, 21}, + {"(Kind).String", Method, 21}, + {"(Level).Level", Method, 21}, + {"(Level).MarshalJSON", Method, 21}, + {"(Level).MarshalText", Method, 21}, + {"(Level).String", Method, 21}, + {"(Record).Attrs", Method, 21}, + {"(Record).Clone", Method, 21}, + {"(Record).NumAttrs", Method, 21}, + {"(Value).Any", Method, 21}, + {"(Value).Bool", Method, 21}, + {"(Value).Duration", Method, 21}, + {"(Value).Equal", Method, 21}, + {"(Value).Float64", Method, 21}, + {"(Value).Group", Method, 21}, + {"(Value).Int64", Method, 21}, + {"(Value).Kind", Method, 21}, + {"(Value).LogValuer", Method, 21}, + {"(Value).Resolve", Method, 21}, + {"(Value).String", Method, 21}, + {"(Value).Time", Method, 21}, + {"(Value).Uint64", Method, 21}, + {"Any", Func, 21}, + {"AnyValue", Func, 21}, + {"Attr", Type, 21}, + {"Attr.Key", Field, 21}, + {"Attr.Value", Field, 21}, + {"Bool", Func, 21}, + {"BoolValue", Func, 21}, + {"Debug", Func, 21}, + {"DebugContext", Func, 21}, + {"Default", Func, 21}, + {"Duration", Func, 21}, + {"DurationValue", Func, 21}, + {"Error", Func, 21}, + {"ErrorContext", Func, 21}, + {"Float64", Func, 21}, + {"Float64Value", Func, 21}, + {"Group", Func, 21}, + {"GroupValue", Func, 21}, + {"Handler", Type, 21}, + {"HandlerOptions", Type, 21}, + {"HandlerOptions.AddSource", Field, 21}, + {"HandlerOptions.Level", Field, 21}, + {"HandlerOptions.ReplaceAttr", Field, 21}, + {"Info", Func, 21}, + {"InfoContext", Func, 21}, + {"Int", Func, 21}, + {"Int64", Func, 21}, + {"Int64Value", Func, 21}, + {"IntValue", Func, 21}, + {"JSONHandler", Type, 21}, + {"Kind", Type, 21}, + {"KindAny", Const, 21}, + {"KindBool", Const, 21}, + {"KindDuration", Const, 21}, + {"KindFloat64", Const, 21}, + {"KindGroup", Const, 21}, + {"KindInt64", Const, 21}, + {"KindLogValuer", Const, 21}, + {"KindString", Const, 21}, + {"KindTime", Const, 21}, + {"KindUint64", Const, 21}, + {"Level", Type, 21}, + {"LevelDebug", Const, 21}, + {"LevelError", Const, 21}, + {"LevelInfo", Const, 21}, + {"LevelKey", Const, 21}, + {"LevelVar", Type, 21}, + {"LevelWarn", Const, 21}, + {"Leveler", Type, 21}, + {"Log", Func, 21}, + {"LogAttrs", Func, 21}, + {"LogValuer", Type, 21}, + {"Logger", Type, 21}, + {"MessageKey", Const, 21}, + {"New", Func, 21}, + {"NewJSONHandler", Func, 21}, + {"NewLogLogger", Func, 21}, + {"NewRecord", Func, 21}, + {"NewTextHandler", Func, 21}, + {"Record", Type, 21}, + {"Record.Level", Field, 21}, + {"Record.Message", Field, 21}, + {"Record.PC", Field, 21}, + {"Record.Time", Field, 21}, + {"SetDefault", Func, 21}, + {"SetLogLoggerLevel", Func, 22}, + {"Source", Type, 21}, + {"Source.File", Field, 21}, + {"Source.Function", Field, 21}, + {"Source.Line", Field, 21}, + {"SourceKey", Const, 21}, + {"String", Func, 21}, + {"StringValue", Func, 21}, + {"TextHandler", Type, 21}, + {"Time", Func, 21}, + {"TimeKey", Const, 21}, + {"TimeValue", Func, 21}, + {"Uint64", Func, 21}, + {"Uint64Value", Func, 21}, + {"Value", Type, 21}, + {"Warn", Func, 21}, + {"WarnContext", Func, 21}, + {"With", Func, 21}, + }, + "log/syslog": { + {"(*Writer).Alert", Method, 0}, + {"(*Writer).Close", Method, 0}, + {"(*Writer).Crit", Method, 0}, + {"(*Writer).Debug", Method, 0}, + {"(*Writer).Emerg", Method, 0}, + {"(*Writer).Err", Method, 0}, + {"(*Writer).Info", Method, 0}, + {"(*Writer).Notice", Method, 0}, + {"(*Writer).Warning", Method, 0}, + {"(*Writer).Write", Method, 0}, + {"Dial", Func, 0}, + {"LOG_ALERT", Const, 0}, + {"LOG_AUTH", Const, 1}, + {"LOG_AUTHPRIV", Const, 1}, + {"LOG_CRIT", Const, 0}, + {"LOG_CRON", Const, 1}, + {"LOG_DAEMON", Const, 1}, + {"LOG_DEBUG", Const, 0}, + {"LOG_EMERG", Const, 0}, + {"LOG_ERR", Const, 0}, + {"LOG_FTP", Const, 1}, + {"LOG_INFO", Const, 0}, + {"LOG_KERN", Const, 1}, + {"LOG_LOCAL0", Const, 1}, + {"LOG_LOCAL1", Const, 1}, + {"LOG_LOCAL2", Const, 1}, + {"LOG_LOCAL3", Const, 1}, + {"LOG_LOCAL4", Const, 1}, + {"LOG_LOCAL5", Const, 1}, + {"LOG_LOCAL6", Const, 1}, + {"LOG_LOCAL7", Const, 1}, + {"LOG_LPR", Const, 1}, + {"LOG_MAIL", Const, 1}, + {"LOG_NEWS", Const, 1}, + {"LOG_NOTICE", Const, 0}, + {"LOG_SYSLOG", Const, 1}, + {"LOG_USER", Const, 1}, + {"LOG_UUCP", Const, 1}, + {"LOG_WARNING", Const, 0}, + {"New", Func, 0}, + {"NewLogger", Func, 0}, + {"Priority", Type, 0}, + {"Writer", Type, 0}, + }, + "maps": { + {"Clone", Func, 21}, + {"Copy", Func, 21}, + {"DeleteFunc", Func, 21}, + {"Equal", Func, 21}, + {"EqualFunc", Func, 21}, + }, + "math": { + {"Abs", Func, 0}, + {"Acos", Func, 0}, + {"Acosh", Func, 0}, + {"Asin", Func, 0}, + {"Asinh", Func, 0}, + {"Atan", Func, 0}, + {"Atan2", Func, 0}, + {"Atanh", Func, 0}, + {"Cbrt", Func, 0}, + {"Ceil", Func, 0}, + {"Copysign", Func, 0}, + {"Cos", Func, 0}, + {"Cosh", Func, 0}, + {"Dim", Func, 0}, + {"E", Const, 0}, + {"Erf", Func, 0}, + {"Erfc", Func, 0}, + {"Erfcinv", Func, 10}, + {"Erfinv", Func, 10}, + {"Exp", Func, 0}, + {"Exp2", Func, 0}, + {"Expm1", Func, 0}, + {"FMA", Func, 14}, + {"Float32bits", Func, 0}, + {"Float32frombits", Func, 0}, + {"Float64bits", Func, 0}, + {"Float64frombits", Func, 0}, + {"Floor", Func, 0}, + {"Frexp", Func, 0}, + {"Gamma", Func, 0}, + {"Hypot", Func, 0}, + {"Ilogb", Func, 0}, + {"Inf", Func, 0}, + {"IsInf", Func, 0}, + {"IsNaN", Func, 0}, + {"J0", Func, 0}, + {"J1", Func, 0}, + {"Jn", Func, 0}, + {"Ldexp", Func, 0}, + {"Lgamma", Func, 0}, + {"Ln10", Const, 0}, + {"Ln2", Const, 0}, + {"Log", Func, 0}, + {"Log10", Func, 0}, + {"Log10E", Const, 0}, + {"Log1p", Func, 0}, + {"Log2", Func, 0}, + {"Log2E", Const, 0}, + {"Logb", Func, 0}, + {"Max", Func, 0}, + {"MaxFloat32", Const, 0}, + {"MaxFloat64", Const, 0}, + {"MaxInt", Const, 17}, + {"MaxInt16", Const, 0}, + {"MaxInt32", Const, 0}, + {"MaxInt64", Const, 0}, + {"MaxInt8", Const, 0}, + {"MaxUint", Const, 17}, + {"MaxUint16", Const, 0}, + {"MaxUint32", Const, 0}, + {"MaxUint64", Const, 0}, + {"MaxUint8", Const, 0}, + {"Min", Func, 0}, + {"MinInt", Const, 17}, + {"MinInt16", Const, 0}, + {"MinInt32", Const, 0}, + {"MinInt64", Const, 0}, + {"MinInt8", Const, 0}, + {"Mod", Func, 0}, + {"Modf", Func, 0}, + {"NaN", Func, 0}, + {"Nextafter", Func, 0}, + {"Nextafter32", Func, 4}, + {"Phi", Const, 0}, + {"Pi", Const, 0}, + {"Pow", Func, 0}, + {"Pow10", Func, 0}, + {"Remainder", Func, 0}, + {"Round", Func, 10}, + {"RoundToEven", Func, 10}, + {"Signbit", Func, 0}, + {"Sin", Func, 0}, + {"Sincos", Func, 0}, + {"Sinh", Func, 0}, + {"SmallestNonzeroFloat32", Const, 0}, + {"SmallestNonzeroFloat64", Const, 0}, + {"Sqrt", Func, 0}, + {"Sqrt2", Const, 0}, + {"SqrtE", Const, 0}, + {"SqrtPhi", Const, 0}, + {"SqrtPi", Const, 0}, + {"Tan", Func, 0}, + {"Tanh", Func, 0}, + {"Trunc", Func, 0}, + {"Y0", Func, 0}, + {"Y1", Func, 0}, + {"Yn", Func, 0}, + }, + "math/big": { + {"(*Float).Abs", Method, 5}, + {"(*Float).Acc", Method, 5}, + {"(*Float).Add", Method, 5}, + {"(*Float).Append", Method, 5}, + {"(*Float).Cmp", Method, 5}, + {"(*Float).Copy", Method, 5}, + {"(*Float).Float32", Method, 5}, + {"(*Float).Float64", Method, 5}, + {"(*Float).Format", Method, 5}, + {"(*Float).GobDecode", Method, 7}, + {"(*Float).GobEncode", Method, 7}, + {"(*Float).Int", Method, 5}, + {"(*Float).Int64", Method, 5}, + {"(*Float).IsInf", Method, 5}, + {"(*Float).IsInt", Method, 5}, + {"(*Float).MantExp", Method, 5}, + {"(*Float).MarshalText", Method, 6}, + {"(*Float).MinPrec", Method, 5}, + {"(*Float).Mode", Method, 5}, + {"(*Float).Mul", Method, 5}, + {"(*Float).Neg", Method, 5}, + {"(*Float).Parse", Method, 5}, + {"(*Float).Prec", Method, 5}, + {"(*Float).Quo", Method, 5}, + {"(*Float).Rat", Method, 5}, + {"(*Float).Scan", Method, 8}, + {"(*Float).Set", Method, 5}, + {"(*Float).SetFloat64", Method, 5}, + {"(*Float).SetInf", Method, 5}, + {"(*Float).SetInt", Method, 5}, + {"(*Float).SetInt64", Method, 5}, + {"(*Float).SetMantExp", Method, 5}, + {"(*Float).SetMode", Method, 5}, + {"(*Float).SetPrec", Method, 5}, + {"(*Float).SetRat", Method, 5}, + {"(*Float).SetString", Method, 5}, + {"(*Float).SetUint64", Method, 5}, + {"(*Float).Sign", Method, 5}, + {"(*Float).Signbit", Method, 5}, + {"(*Float).Sqrt", Method, 10}, + {"(*Float).String", Method, 5}, + {"(*Float).Sub", Method, 5}, + {"(*Float).Text", Method, 5}, + {"(*Float).Uint64", Method, 5}, + {"(*Float).UnmarshalText", Method, 6}, + {"(*Int).Abs", Method, 0}, + {"(*Int).Add", Method, 0}, + {"(*Int).And", Method, 0}, + {"(*Int).AndNot", Method, 0}, + {"(*Int).Append", Method, 6}, + {"(*Int).Binomial", Method, 0}, + {"(*Int).Bit", Method, 0}, + {"(*Int).BitLen", Method, 0}, + {"(*Int).Bits", Method, 0}, + {"(*Int).Bytes", Method, 0}, + {"(*Int).Cmp", Method, 0}, + {"(*Int).CmpAbs", Method, 10}, + {"(*Int).Div", Method, 0}, + {"(*Int).DivMod", Method, 0}, + {"(*Int).Exp", Method, 0}, + {"(*Int).FillBytes", Method, 15}, + {"(*Int).Float64", Method, 21}, + {"(*Int).Format", Method, 0}, + {"(*Int).GCD", Method, 0}, + {"(*Int).GobDecode", Method, 0}, + {"(*Int).GobEncode", Method, 0}, + {"(*Int).Int64", Method, 0}, + {"(*Int).IsInt64", Method, 9}, + {"(*Int).IsUint64", Method, 9}, + {"(*Int).Lsh", Method, 0}, + {"(*Int).MarshalJSON", Method, 1}, + {"(*Int).MarshalText", Method, 3}, + {"(*Int).Mod", Method, 0}, + {"(*Int).ModInverse", Method, 0}, + {"(*Int).ModSqrt", Method, 5}, + {"(*Int).Mul", Method, 0}, + {"(*Int).MulRange", Method, 0}, + {"(*Int).Neg", Method, 0}, + {"(*Int).Not", Method, 0}, + {"(*Int).Or", Method, 0}, + {"(*Int).ProbablyPrime", Method, 0}, + {"(*Int).Quo", Method, 0}, + {"(*Int).QuoRem", Method, 0}, + {"(*Int).Rand", Method, 0}, + {"(*Int).Rem", Method, 0}, + {"(*Int).Rsh", Method, 0}, + {"(*Int).Scan", Method, 0}, + {"(*Int).Set", Method, 0}, + {"(*Int).SetBit", Method, 0}, + {"(*Int).SetBits", Method, 0}, + {"(*Int).SetBytes", Method, 0}, + {"(*Int).SetInt64", Method, 0}, + {"(*Int).SetString", Method, 0}, + {"(*Int).SetUint64", Method, 1}, + {"(*Int).Sign", Method, 0}, + {"(*Int).Sqrt", Method, 8}, + {"(*Int).String", Method, 0}, + {"(*Int).Sub", Method, 0}, + {"(*Int).Text", Method, 6}, + {"(*Int).TrailingZeroBits", Method, 13}, + {"(*Int).Uint64", Method, 1}, + {"(*Int).UnmarshalJSON", Method, 1}, + {"(*Int).UnmarshalText", Method, 3}, + {"(*Int).Xor", Method, 0}, + {"(*Rat).Abs", Method, 0}, + {"(*Rat).Add", Method, 0}, + {"(*Rat).Cmp", Method, 0}, + {"(*Rat).Denom", Method, 0}, + {"(*Rat).Float32", Method, 4}, + {"(*Rat).Float64", Method, 1}, + {"(*Rat).FloatPrec", Method, 22}, + {"(*Rat).FloatString", Method, 0}, + {"(*Rat).GobDecode", Method, 0}, + {"(*Rat).GobEncode", Method, 0}, + {"(*Rat).Inv", Method, 0}, + {"(*Rat).IsInt", Method, 0}, + {"(*Rat).MarshalText", Method, 3}, + {"(*Rat).Mul", Method, 0}, + {"(*Rat).Neg", Method, 0}, + {"(*Rat).Num", Method, 0}, + {"(*Rat).Quo", Method, 0}, + {"(*Rat).RatString", Method, 0}, + {"(*Rat).Scan", Method, 0}, + {"(*Rat).Set", Method, 0}, + {"(*Rat).SetFloat64", Method, 1}, + {"(*Rat).SetFrac", Method, 0}, + {"(*Rat).SetFrac64", Method, 0}, + {"(*Rat).SetInt", Method, 0}, + {"(*Rat).SetInt64", Method, 0}, + {"(*Rat).SetString", Method, 0}, + {"(*Rat).SetUint64", Method, 13}, + {"(*Rat).Sign", Method, 0}, + {"(*Rat).String", Method, 0}, + {"(*Rat).Sub", Method, 0}, + {"(*Rat).UnmarshalText", Method, 3}, + {"(Accuracy).String", Method, 5}, + {"(ErrNaN).Error", Method, 5}, + {"(RoundingMode).String", Method, 5}, + {"Above", Const, 5}, + {"Accuracy", Type, 5}, + {"AwayFromZero", Const, 5}, + {"Below", Const, 5}, + {"ErrNaN", Type, 5}, + {"Exact", Const, 5}, + {"Float", Type, 5}, + {"Int", Type, 0}, + {"Jacobi", Func, 5}, + {"MaxBase", Const, 0}, + {"MaxExp", Const, 5}, + {"MaxPrec", Const, 5}, + {"MinExp", Const, 5}, + {"NewFloat", Func, 5}, + {"NewInt", Func, 0}, + {"NewRat", Func, 0}, + {"ParseFloat", Func, 5}, + {"Rat", Type, 0}, + {"RoundingMode", Type, 5}, + {"ToNearestAway", Const, 5}, + {"ToNearestEven", Const, 5}, + {"ToNegativeInf", Const, 5}, + {"ToPositiveInf", Const, 5}, + {"ToZero", Const, 5}, + {"Word", Type, 0}, + }, + "math/bits": { + {"Add", Func, 12}, + {"Add32", Func, 12}, + {"Add64", Func, 12}, + {"Div", Func, 12}, + {"Div32", Func, 12}, + {"Div64", Func, 12}, + {"LeadingZeros", Func, 9}, + {"LeadingZeros16", Func, 9}, + {"LeadingZeros32", Func, 9}, + {"LeadingZeros64", Func, 9}, + {"LeadingZeros8", Func, 9}, + {"Len", Func, 9}, + {"Len16", Func, 9}, + {"Len32", Func, 9}, + {"Len64", Func, 9}, + {"Len8", Func, 9}, + {"Mul", Func, 12}, + {"Mul32", Func, 12}, + {"Mul64", Func, 12}, + {"OnesCount", Func, 9}, + {"OnesCount16", Func, 9}, + {"OnesCount32", Func, 9}, + {"OnesCount64", Func, 9}, + {"OnesCount8", Func, 9}, + {"Rem", Func, 14}, + {"Rem32", Func, 14}, + {"Rem64", Func, 14}, + {"Reverse", Func, 9}, + {"Reverse16", Func, 9}, + {"Reverse32", Func, 9}, + {"Reverse64", Func, 9}, + {"Reverse8", Func, 9}, + {"ReverseBytes", Func, 9}, + {"ReverseBytes16", Func, 9}, + {"ReverseBytes32", Func, 9}, + {"ReverseBytes64", Func, 9}, + {"RotateLeft", Func, 9}, + {"RotateLeft16", Func, 9}, + {"RotateLeft32", Func, 9}, + {"RotateLeft64", Func, 9}, + {"RotateLeft8", Func, 9}, + {"Sub", Func, 12}, + {"Sub32", Func, 12}, + {"Sub64", Func, 12}, + {"TrailingZeros", Func, 9}, + {"TrailingZeros16", Func, 9}, + {"TrailingZeros32", Func, 9}, + {"TrailingZeros64", Func, 9}, + {"TrailingZeros8", Func, 9}, + {"UintSize", Const, 9}, + }, + "math/cmplx": { + {"Abs", Func, 0}, + {"Acos", Func, 0}, + {"Acosh", Func, 0}, + {"Asin", Func, 0}, + {"Asinh", Func, 0}, + {"Atan", Func, 0}, + {"Atanh", Func, 0}, + {"Conj", Func, 0}, + {"Cos", Func, 0}, + {"Cosh", Func, 0}, + {"Cot", Func, 0}, + {"Exp", Func, 0}, + {"Inf", Func, 0}, + {"IsInf", Func, 0}, + {"IsNaN", Func, 0}, + {"Log", Func, 0}, + {"Log10", Func, 0}, + {"NaN", Func, 0}, + {"Phase", Func, 0}, + {"Polar", Func, 0}, + {"Pow", Func, 0}, + {"Rect", Func, 0}, + {"Sin", Func, 0}, + {"Sinh", Func, 0}, + {"Sqrt", Func, 0}, + {"Tan", Func, 0}, + {"Tanh", Func, 0}, + }, + "math/rand": { + {"(*Rand).ExpFloat64", Method, 0}, + {"(*Rand).Float32", Method, 0}, + {"(*Rand).Float64", Method, 0}, + {"(*Rand).Int", Method, 0}, + {"(*Rand).Int31", Method, 0}, + {"(*Rand).Int31n", Method, 0}, + {"(*Rand).Int63", Method, 0}, + {"(*Rand).Int63n", Method, 0}, + {"(*Rand).Intn", Method, 0}, + {"(*Rand).NormFloat64", Method, 0}, + {"(*Rand).Perm", Method, 0}, + {"(*Rand).Read", Method, 6}, + {"(*Rand).Seed", Method, 0}, + {"(*Rand).Shuffle", Method, 10}, + {"(*Rand).Uint32", Method, 0}, + {"(*Rand).Uint64", Method, 8}, + {"(*Zipf).Uint64", Method, 0}, + {"ExpFloat64", Func, 0}, + {"Float32", Func, 0}, + {"Float64", Func, 0}, + {"Int", Func, 0}, + {"Int31", Func, 0}, + {"Int31n", Func, 0}, + {"Int63", Func, 0}, + {"Int63n", Func, 0}, + {"Intn", Func, 0}, + {"New", Func, 0}, + {"NewSource", Func, 0}, + {"NewZipf", Func, 0}, + {"NormFloat64", Func, 0}, + {"Perm", Func, 0}, + {"Rand", Type, 0}, + {"Read", Func, 6}, + {"Seed", Func, 0}, + {"Shuffle", Func, 10}, + {"Source", Type, 0}, + {"Source64", Type, 8}, + {"Uint32", Func, 0}, + {"Uint64", Func, 8}, + {"Zipf", Type, 0}, + }, + "math/rand/v2": { + {"(*ChaCha8).MarshalBinary", Method, 22}, + {"(*ChaCha8).Seed", Method, 22}, + {"(*ChaCha8).Uint64", Method, 22}, + {"(*ChaCha8).UnmarshalBinary", Method, 22}, + {"(*PCG).MarshalBinary", Method, 22}, + {"(*PCG).Seed", Method, 22}, + {"(*PCG).Uint64", Method, 22}, + {"(*PCG).UnmarshalBinary", Method, 22}, + {"(*Rand).ExpFloat64", Method, 22}, + {"(*Rand).Float32", Method, 22}, + {"(*Rand).Float64", Method, 22}, + {"(*Rand).Int", Method, 22}, + {"(*Rand).Int32", Method, 22}, + {"(*Rand).Int32N", Method, 22}, + {"(*Rand).Int64", Method, 22}, + {"(*Rand).Int64N", Method, 22}, + {"(*Rand).IntN", Method, 22}, + {"(*Rand).NormFloat64", Method, 22}, + {"(*Rand).Perm", Method, 22}, + {"(*Rand).Shuffle", Method, 22}, + {"(*Rand).Uint32", Method, 22}, + {"(*Rand).Uint32N", Method, 22}, + {"(*Rand).Uint64", Method, 22}, + {"(*Rand).Uint64N", Method, 22}, + {"(*Rand).UintN", Method, 22}, + {"(*Zipf).Uint64", Method, 22}, + {"ChaCha8", Type, 22}, + {"ExpFloat64", Func, 22}, + {"Float32", Func, 22}, + {"Float64", Func, 22}, + {"Int", Func, 22}, + {"Int32", Func, 22}, + {"Int32N", Func, 22}, + {"Int64", Func, 22}, + {"Int64N", Func, 22}, + {"IntN", Func, 22}, + {"N", Func, 22}, + {"New", Func, 22}, + {"NewChaCha8", Func, 22}, + {"NewPCG", Func, 22}, + {"NewZipf", Func, 22}, + {"NormFloat64", Func, 22}, + {"PCG", Type, 22}, + {"Perm", Func, 22}, + {"Rand", Type, 22}, + {"Shuffle", Func, 22}, + {"Source", Type, 22}, + {"Uint32", Func, 22}, + {"Uint32N", Func, 22}, + {"Uint64", Func, 22}, + {"Uint64N", Func, 22}, + {"UintN", Func, 22}, + {"Zipf", Type, 22}, + }, + "mime": { + {"(*WordDecoder).Decode", Method, 5}, + {"(*WordDecoder).DecodeHeader", Method, 5}, + {"(WordEncoder).Encode", Method, 5}, + {"AddExtensionType", Func, 0}, + {"BEncoding", Const, 5}, + {"ErrInvalidMediaParameter", Var, 9}, + {"ExtensionsByType", Func, 5}, + {"FormatMediaType", Func, 0}, + {"ParseMediaType", Func, 0}, + {"QEncoding", Const, 5}, + {"TypeByExtension", Func, 0}, + {"WordDecoder", Type, 5}, + {"WordDecoder.CharsetReader", Field, 5}, + {"WordEncoder", Type, 5}, + }, + "mime/multipart": { + {"(*FileHeader).Open", Method, 0}, + {"(*Form).RemoveAll", Method, 0}, + {"(*Part).Close", Method, 0}, + {"(*Part).FileName", Method, 0}, + {"(*Part).FormName", Method, 0}, + {"(*Part).Read", Method, 0}, + {"(*Reader).NextPart", Method, 0}, + {"(*Reader).NextRawPart", Method, 14}, + {"(*Reader).ReadForm", Method, 0}, + {"(*Writer).Boundary", Method, 0}, + {"(*Writer).Close", Method, 0}, + {"(*Writer).CreateFormField", Method, 0}, + {"(*Writer).CreateFormFile", Method, 0}, + {"(*Writer).CreatePart", Method, 0}, + {"(*Writer).FormDataContentType", Method, 0}, + {"(*Writer).SetBoundary", Method, 1}, + {"(*Writer).WriteField", Method, 0}, + {"ErrMessageTooLarge", Var, 9}, + {"File", Type, 0}, + {"FileHeader", Type, 0}, + {"FileHeader.Filename", Field, 0}, + {"FileHeader.Header", Field, 0}, + {"FileHeader.Size", Field, 9}, + {"Form", Type, 0}, + {"Form.File", Field, 0}, + {"Form.Value", Field, 0}, + {"NewReader", Func, 0}, + {"NewWriter", Func, 0}, + {"Part", Type, 0}, + {"Part.Header", Field, 0}, + {"Reader", Type, 0}, + {"Writer", Type, 0}, + }, + "mime/quotedprintable": { + {"(*Reader).Read", Method, 5}, + {"(*Writer).Close", Method, 5}, + {"(*Writer).Write", Method, 5}, + {"NewReader", Func, 5}, + {"NewWriter", Func, 5}, + {"Reader", Type, 5}, + {"Writer", Type, 5}, + {"Writer.Binary", Field, 5}, + }, + "net": { + {"(*AddrError).Error", Method, 0}, + {"(*AddrError).Temporary", Method, 0}, + {"(*AddrError).Timeout", Method, 0}, + {"(*Buffers).Read", Method, 8}, + {"(*Buffers).WriteTo", Method, 8}, + {"(*DNSConfigError).Error", Method, 0}, + {"(*DNSConfigError).Temporary", Method, 0}, + {"(*DNSConfigError).Timeout", Method, 0}, + {"(*DNSConfigError).Unwrap", Method, 13}, + {"(*DNSError).Error", Method, 0}, + {"(*DNSError).Temporary", Method, 0}, + {"(*DNSError).Timeout", Method, 0}, + {"(*Dialer).Dial", Method, 1}, + {"(*Dialer).DialContext", Method, 7}, + {"(*Dialer).MultipathTCP", Method, 21}, + {"(*Dialer).SetMultipathTCP", Method, 21}, + {"(*IP).UnmarshalText", Method, 2}, + {"(*IPAddr).Network", Method, 0}, + {"(*IPAddr).String", Method, 0}, + {"(*IPConn).Close", Method, 0}, + {"(*IPConn).File", Method, 0}, + {"(*IPConn).LocalAddr", Method, 0}, + {"(*IPConn).Read", Method, 0}, + {"(*IPConn).ReadFrom", Method, 0}, + {"(*IPConn).ReadFromIP", Method, 0}, + {"(*IPConn).ReadMsgIP", Method, 1}, + {"(*IPConn).RemoteAddr", Method, 0}, + {"(*IPConn).SetDeadline", Method, 0}, + {"(*IPConn).SetReadBuffer", Method, 0}, + {"(*IPConn).SetReadDeadline", Method, 0}, + {"(*IPConn).SetWriteBuffer", Method, 0}, + {"(*IPConn).SetWriteDeadline", Method, 0}, + {"(*IPConn).SyscallConn", Method, 9}, + {"(*IPConn).Write", Method, 0}, + {"(*IPConn).WriteMsgIP", Method, 1}, + {"(*IPConn).WriteTo", Method, 0}, + {"(*IPConn).WriteToIP", Method, 0}, + {"(*IPNet).Contains", Method, 0}, + {"(*IPNet).Network", Method, 0}, + {"(*IPNet).String", Method, 0}, + {"(*Interface).Addrs", Method, 0}, + {"(*Interface).MulticastAddrs", Method, 0}, + {"(*ListenConfig).Listen", Method, 11}, + {"(*ListenConfig).ListenPacket", Method, 11}, + {"(*ListenConfig).MultipathTCP", Method, 21}, + {"(*ListenConfig).SetMultipathTCP", Method, 21}, + {"(*OpError).Error", Method, 0}, + {"(*OpError).Temporary", Method, 0}, + {"(*OpError).Timeout", Method, 0}, + {"(*OpError).Unwrap", Method, 13}, + {"(*ParseError).Error", Method, 0}, + {"(*ParseError).Temporary", Method, 17}, + {"(*ParseError).Timeout", Method, 17}, + {"(*Resolver).LookupAddr", Method, 8}, + {"(*Resolver).LookupCNAME", Method, 8}, + {"(*Resolver).LookupHost", Method, 8}, + {"(*Resolver).LookupIP", Method, 15}, + {"(*Resolver).LookupIPAddr", Method, 8}, + {"(*Resolver).LookupMX", Method, 8}, + {"(*Resolver).LookupNS", Method, 8}, + {"(*Resolver).LookupNetIP", Method, 18}, + {"(*Resolver).LookupPort", Method, 8}, + {"(*Resolver).LookupSRV", Method, 8}, + {"(*Resolver).LookupTXT", Method, 8}, + {"(*TCPAddr).AddrPort", Method, 18}, + {"(*TCPAddr).Network", Method, 0}, + {"(*TCPAddr).String", Method, 0}, + {"(*TCPConn).Close", Method, 0}, + {"(*TCPConn).CloseRead", Method, 0}, + {"(*TCPConn).CloseWrite", Method, 0}, + {"(*TCPConn).File", Method, 0}, + {"(*TCPConn).LocalAddr", Method, 0}, + {"(*TCPConn).MultipathTCP", Method, 21}, + {"(*TCPConn).Read", Method, 0}, + {"(*TCPConn).ReadFrom", Method, 0}, + {"(*TCPConn).RemoteAddr", Method, 0}, + {"(*TCPConn).SetDeadline", Method, 0}, + {"(*TCPConn).SetKeepAlive", Method, 0}, + {"(*TCPConn).SetKeepAlivePeriod", Method, 2}, + {"(*TCPConn).SetLinger", Method, 0}, + {"(*TCPConn).SetNoDelay", Method, 0}, + {"(*TCPConn).SetReadBuffer", Method, 0}, + {"(*TCPConn).SetReadDeadline", Method, 0}, + {"(*TCPConn).SetWriteBuffer", Method, 0}, + {"(*TCPConn).SetWriteDeadline", Method, 0}, + {"(*TCPConn).SyscallConn", Method, 9}, + {"(*TCPConn).Write", Method, 0}, + {"(*TCPConn).WriteTo", Method, 22}, + {"(*TCPListener).Accept", Method, 0}, + {"(*TCPListener).AcceptTCP", Method, 0}, + {"(*TCPListener).Addr", Method, 0}, + {"(*TCPListener).Close", Method, 0}, + {"(*TCPListener).File", Method, 0}, + {"(*TCPListener).SetDeadline", Method, 0}, + {"(*TCPListener).SyscallConn", Method, 10}, + {"(*UDPAddr).AddrPort", Method, 18}, + {"(*UDPAddr).Network", Method, 0}, + {"(*UDPAddr).String", Method, 0}, + {"(*UDPConn).Close", Method, 0}, + {"(*UDPConn).File", Method, 0}, + {"(*UDPConn).LocalAddr", Method, 0}, + {"(*UDPConn).Read", Method, 0}, + {"(*UDPConn).ReadFrom", Method, 0}, + {"(*UDPConn).ReadFromUDP", Method, 0}, + {"(*UDPConn).ReadFromUDPAddrPort", Method, 18}, + {"(*UDPConn).ReadMsgUDP", Method, 1}, + {"(*UDPConn).ReadMsgUDPAddrPort", Method, 18}, + {"(*UDPConn).RemoteAddr", Method, 0}, + {"(*UDPConn).SetDeadline", Method, 0}, + {"(*UDPConn).SetReadBuffer", Method, 0}, + {"(*UDPConn).SetReadDeadline", Method, 0}, + {"(*UDPConn).SetWriteBuffer", Method, 0}, + {"(*UDPConn).SetWriteDeadline", Method, 0}, + {"(*UDPConn).SyscallConn", Method, 9}, + {"(*UDPConn).Write", Method, 0}, + {"(*UDPConn).WriteMsgUDP", Method, 1}, + {"(*UDPConn).WriteMsgUDPAddrPort", Method, 18}, + {"(*UDPConn).WriteTo", Method, 0}, + {"(*UDPConn).WriteToUDP", Method, 0}, + {"(*UDPConn).WriteToUDPAddrPort", Method, 18}, + {"(*UnixAddr).Network", Method, 0}, + {"(*UnixAddr).String", Method, 0}, + {"(*UnixConn).Close", Method, 0}, + {"(*UnixConn).CloseRead", Method, 1}, + {"(*UnixConn).CloseWrite", Method, 1}, + {"(*UnixConn).File", Method, 0}, + {"(*UnixConn).LocalAddr", Method, 0}, + {"(*UnixConn).Read", Method, 0}, + {"(*UnixConn).ReadFrom", Method, 0}, + {"(*UnixConn).ReadFromUnix", Method, 0}, + {"(*UnixConn).ReadMsgUnix", Method, 0}, + {"(*UnixConn).RemoteAddr", Method, 0}, + {"(*UnixConn).SetDeadline", Method, 0}, + {"(*UnixConn).SetReadBuffer", Method, 0}, + {"(*UnixConn).SetReadDeadline", Method, 0}, + {"(*UnixConn).SetWriteBuffer", Method, 0}, + {"(*UnixConn).SetWriteDeadline", Method, 0}, + {"(*UnixConn).SyscallConn", Method, 9}, + {"(*UnixConn).Write", Method, 0}, + {"(*UnixConn).WriteMsgUnix", Method, 0}, + {"(*UnixConn).WriteTo", Method, 0}, + {"(*UnixConn).WriteToUnix", Method, 0}, + {"(*UnixListener).Accept", Method, 0}, + {"(*UnixListener).AcceptUnix", Method, 0}, + {"(*UnixListener).Addr", Method, 0}, + {"(*UnixListener).Close", Method, 0}, + {"(*UnixListener).File", Method, 0}, + {"(*UnixListener).SetDeadline", Method, 0}, + {"(*UnixListener).SetUnlinkOnClose", Method, 8}, + {"(*UnixListener).SyscallConn", Method, 10}, + {"(Flags).String", Method, 0}, + {"(HardwareAddr).String", Method, 0}, + {"(IP).DefaultMask", Method, 0}, + {"(IP).Equal", Method, 0}, + {"(IP).IsGlobalUnicast", Method, 0}, + {"(IP).IsInterfaceLocalMulticast", Method, 0}, + {"(IP).IsLinkLocalMulticast", Method, 0}, + {"(IP).IsLinkLocalUnicast", Method, 0}, + {"(IP).IsLoopback", Method, 0}, + {"(IP).IsMulticast", Method, 0}, + {"(IP).IsPrivate", Method, 17}, + {"(IP).IsUnspecified", Method, 0}, + {"(IP).MarshalText", Method, 2}, + {"(IP).Mask", Method, 0}, + {"(IP).String", Method, 0}, + {"(IP).To16", Method, 0}, + {"(IP).To4", Method, 0}, + {"(IPMask).Size", Method, 0}, + {"(IPMask).String", Method, 0}, + {"(InvalidAddrError).Error", Method, 0}, + {"(InvalidAddrError).Temporary", Method, 0}, + {"(InvalidAddrError).Timeout", Method, 0}, + {"(UnknownNetworkError).Error", Method, 0}, + {"(UnknownNetworkError).Temporary", Method, 0}, + {"(UnknownNetworkError).Timeout", Method, 0}, + {"Addr", Type, 0}, + {"AddrError", Type, 0}, + {"AddrError.Addr", Field, 0}, + {"AddrError.Err", Field, 0}, + {"Buffers", Type, 8}, + {"CIDRMask", Func, 0}, + {"Conn", Type, 0}, + {"DNSConfigError", Type, 0}, + {"DNSConfigError.Err", Field, 0}, + {"DNSError", Type, 0}, + {"DNSError.Err", Field, 0}, + {"DNSError.IsNotFound", Field, 13}, + {"DNSError.IsTemporary", Field, 6}, + {"DNSError.IsTimeout", Field, 0}, + {"DNSError.Name", Field, 0}, + {"DNSError.Server", Field, 0}, + {"DefaultResolver", Var, 8}, + {"Dial", Func, 0}, + {"DialIP", Func, 0}, + {"DialTCP", Func, 0}, + {"DialTimeout", Func, 0}, + {"DialUDP", Func, 0}, + {"DialUnix", Func, 0}, + {"Dialer", Type, 1}, + {"Dialer.Cancel", Field, 6}, + {"Dialer.Control", Field, 11}, + {"Dialer.ControlContext", Field, 20}, + {"Dialer.Deadline", Field, 1}, + {"Dialer.DualStack", Field, 2}, + {"Dialer.FallbackDelay", Field, 5}, + {"Dialer.KeepAlive", Field, 3}, + {"Dialer.LocalAddr", Field, 1}, + {"Dialer.Resolver", Field, 8}, + {"Dialer.Timeout", Field, 1}, + {"ErrClosed", Var, 16}, + {"ErrWriteToConnected", Var, 0}, + {"Error", Type, 0}, + {"FileConn", Func, 0}, + {"FileListener", Func, 0}, + {"FilePacketConn", Func, 0}, + {"FlagBroadcast", Const, 0}, + {"FlagLoopback", Const, 0}, + {"FlagMulticast", Const, 0}, + {"FlagPointToPoint", Const, 0}, + {"FlagRunning", Const, 20}, + {"FlagUp", Const, 0}, + {"Flags", Type, 0}, + {"HardwareAddr", Type, 0}, + {"IP", Type, 0}, + {"IPAddr", Type, 0}, + {"IPAddr.IP", Field, 0}, + {"IPAddr.Zone", Field, 1}, + {"IPConn", Type, 0}, + {"IPMask", Type, 0}, + {"IPNet", Type, 0}, + {"IPNet.IP", Field, 0}, + {"IPNet.Mask", Field, 0}, + {"IPv4", Func, 0}, + {"IPv4Mask", Func, 0}, + {"IPv4allrouter", Var, 0}, + {"IPv4allsys", Var, 0}, + {"IPv4bcast", Var, 0}, + {"IPv4len", Const, 0}, + {"IPv4zero", Var, 0}, + {"IPv6interfacelocalallnodes", Var, 0}, + {"IPv6len", Const, 0}, + {"IPv6linklocalallnodes", Var, 0}, + {"IPv6linklocalallrouters", Var, 0}, + {"IPv6loopback", Var, 0}, + {"IPv6unspecified", Var, 0}, + {"IPv6zero", Var, 0}, + {"Interface", Type, 0}, + {"Interface.Flags", Field, 0}, + {"Interface.HardwareAddr", Field, 0}, + {"Interface.Index", Field, 0}, + {"Interface.MTU", Field, 0}, + {"Interface.Name", Field, 0}, + {"InterfaceAddrs", Func, 0}, + {"InterfaceByIndex", Func, 0}, + {"InterfaceByName", Func, 0}, + {"Interfaces", Func, 0}, + {"InvalidAddrError", Type, 0}, + {"JoinHostPort", Func, 0}, + {"Listen", Func, 0}, + {"ListenConfig", Type, 11}, + {"ListenConfig.Control", Field, 11}, + {"ListenConfig.KeepAlive", Field, 13}, + {"ListenIP", Func, 0}, + {"ListenMulticastUDP", Func, 0}, + {"ListenPacket", Func, 0}, + {"ListenTCP", Func, 0}, + {"ListenUDP", Func, 0}, + {"ListenUnix", Func, 0}, + {"ListenUnixgram", Func, 0}, + {"Listener", Type, 0}, + {"LookupAddr", Func, 0}, + {"LookupCNAME", Func, 0}, + {"LookupHost", Func, 0}, + {"LookupIP", Func, 0}, + {"LookupMX", Func, 0}, + {"LookupNS", Func, 1}, + {"LookupPort", Func, 0}, + {"LookupSRV", Func, 0}, + {"LookupTXT", Func, 0}, + {"MX", Type, 0}, + {"MX.Host", Field, 0}, + {"MX.Pref", Field, 0}, + {"NS", Type, 1}, + {"NS.Host", Field, 1}, + {"OpError", Type, 0}, + {"OpError.Addr", Field, 0}, + {"OpError.Err", Field, 0}, + {"OpError.Net", Field, 0}, + {"OpError.Op", Field, 0}, + {"OpError.Source", Field, 5}, + {"PacketConn", Type, 0}, + {"ParseCIDR", Func, 0}, + {"ParseError", Type, 0}, + {"ParseError.Text", Field, 0}, + {"ParseError.Type", Field, 0}, + {"ParseIP", Func, 0}, + {"ParseMAC", Func, 0}, + {"Pipe", Func, 0}, + {"ResolveIPAddr", Func, 0}, + {"ResolveTCPAddr", Func, 0}, + {"ResolveUDPAddr", Func, 0}, + {"ResolveUnixAddr", Func, 0}, + {"Resolver", Type, 8}, + {"Resolver.Dial", Field, 9}, + {"Resolver.PreferGo", Field, 8}, + {"Resolver.StrictErrors", Field, 9}, + {"SRV", Type, 0}, + {"SRV.Port", Field, 0}, + {"SRV.Priority", Field, 0}, + {"SRV.Target", Field, 0}, + {"SRV.Weight", Field, 0}, + {"SplitHostPort", Func, 0}, + {"TCPAddr", Type, 0}, + {"TCPAddr.IP", Field, 0}, + {"TCPAddr.Port", Field, 0}, + {"TCPAddr.Zone", Field, 1}, + {"TCPAddrFromAddrPort", Func, 18}, + {"TCPConn", Type, 0}, + {"TCPListener", Type, 0}, + {"UDPAddr", Type, 0}, + {"UDPAddr.IP", Field, 0}, + {"UDPAddr.Port", Field, 0}, + {"UDPAddr.Zone", Field, 1}, + {"UDPAddrFromAddrPort", Func, 18}, + {"UDPConn", Type, 0}, + {"UnixAddr", Type, 0}, + {"UnixAddr.Name", Field, 0}, + {"UnixAddr.Net", Field, 0}, + {"UnixConn", Type, 0}, + {"UnixListener", Type, 0}, + {"UnknownNetworkError", Type, 0}, + }, + "net/http": { + {"(*Client).CloseIdleConnections", Method, 12}, + {"(*Client).Do", Method, 0}, + {"(*Client).Get", Method, 0}, + {"(*Client).Head", Method, 0}, + {"(*Client).Post", Method, 0}, + {"(*Client).PostForm", Method, 0}, + {"(*Cookie).String", Method, 0}, + {"(*Cookie).Valid", Method, 18}, + {"(*MaxBytesError).Error", Method, 19}, + {"(*ProtocolError).Error", Method, 0}, + {"(*ProtocolError).Is", Method, 21}, + {"(*Request).AddCookie", Method, 0}, + {"(*Request).BasicAuth", Method, 4}, + {"(*Request).Clone", Method, 13}, + {"(*Request).Context", Method, 7}, + {"(*Request).Cookie", Method, 0}, + {"(*Request).Cookies", Method, 0}, + {"(*Request).FormFile", Method, 0}, + {"(*Request).FormValue", Method, 0}, + {"(*Request).MultipartReader", Method, 0}, + {"(*Request).ParseForm", Method, 0}, + {"(*Request).ParseMultipartForm", Method, 0}, + {"(*Request).PathValue", Method, 22}, + {"(*Request).PostFormValue", Method, 1}, + {"(*Request).ProtoAtLeast", Method, 0}, + {"(*Request).Referer", Method, 0}, + {"(*Request).SetBasicAuth", Method, 0}, + {"(*Request).SetPathValue", Method, 22}, + {"(*Request).UserAgent", Method, 0}, + {"(*Request).WithContext", Method, 7}, + {"(*Request).Write", Method, 0}, + {"(*Request).WriteProxy", Method, 0}, + {"(*Response).Cookies", Method, 0}, + {"(*Response).Location", Method, 0}, + {"(*Response).ProtoAtLeast", Method, 0}, + {"(*Response).Write", Method, 0}, + {"(*ResponseController).EnableFullDuplex", Method, 21}, + {"(*ResponseController).Flush", Method, 20}, + {"(*ResponseController).Hijack", Method, 20}, + {"(*ResponseController).SetReadDeadline", Method, 20}, + {"(*ResponseController).SetWriteDeadline", Method, 20}, + {"(*ServeMux).Handle", Method, 0}, + {"(*ServeMux).HandleFunc", Method, 0}, + {"(*ServeMux).Handler", Method, 1}, + {"(*ServeMux).ServeHTTP", Method, 0}, + {"(*Server).Close", Method, 8}, + {"(*Server).ListenAndServe", Method, 0}, + {"(*Server).ListenAndServeTLS", Method, 0}, + {"(*Server).RegisterOnShutdown", Method, 9}, + {"(*Server).Serve", Method, 0}, + {"(*Server).ServeTLS", Method, 9}, + {"(*Server).SetKeepAlivesEnabled", Method, 3}, + {"(*Server).Shutdown", Method, 8}, + {"(*Transport).CancelRequest", Method, 1}, + {"(*Transport).Clone", Method, 13}, + {"(*Transport).CloseIdleConnections", Method, 0}, + {"(*Transport).RegisterProtocol", Method, 0}, + {"(*Transport).RoundTrip", Method, 0}, + {"(ConnState).String", Method, 3}, + {"(Dir).Open", Method, 0}, + {"(HandlerFunc).ServeHTTP", Method, 0}, + {"(Header).Add", Method, 0}, + {"(Header).Clone", Method, 13}, + {"(Header).Del", Method, 0}, + {"(Header).Get", Method, 0}, + {"(Header).Set", Method, 0}, + {"(Header).Values", Method, 14}, + {"(Header).Write", Method, 0}, + {"(Header).WriteSubset", Method, 0}, + {"AllowQuerySemicolons", Func, 17}, + {"CanonicalHeaderKey", Func, 0}, + {"Client", Type, 0}, + {"Client.CheckRedirect", Field, 0}, + {"Client.Jar", Field, 0}, + {"Client.Timeout", Field, 3}, + {"Client.Transport", Field, 0}, + {"CloseNotifier", Type, 1}, + {"ConnState", Type, 3}, + {"Cookie", Type, 0}, + {"Cookie.Domain", Field, 0}, + {"Cookie.Expires", Field, 0}, + {"Cookie.HttpOnly", Field, 0}, + {"Cookie.MaxAge", Field, 0}, + {"Cookie.Name", Field, 0}, + {"Cookie.Path", Field, 0}, + {"Cookie.Raw", Field, 0}, + {"Cookie.RawExpires", Field, 0}, + {"Cookie.SameSite", Field, 11}, + {"Cookie.Secure", Field, 0}, + {"Cookie.Unparsed", Field, 0}, + {"Cookie.Value", Field, 0}, + {"CookieJar", Type, 0}, + {"DefaultClient", Var, 0}, + {"DefaultMaxHeaderBytes", Const, 0}, + {"DefaultMaxIdleConnsPerHost", Const, 0}, + {"DefaultServeMux", Var, 0}, + {"DefaultTransport", Var, 0}, + {"DetectContentType", Func, 0}, + {"Dir", Type, 0}, + {"ErrAbortHandler", Var, 8}, + {"ErrBodyNotAllowed", Var, 0}, + {"ErrBodyReadAfterClose", Var, 0}, + {"ErrContentLength", Var, 0}, + {"ErrHandlerTimeout", Var, 0}, + {"ErrHeaderTooLong", Var, 0}, + {"ErrHijacked", Var, 0}, + {"ErrLineTooLong", Var, 0}, + {"ErrMissingBoundary", Var, 0}, + {"ErrMissingContentLength", Var, 0}, + {"ErrMissingFile", Var, 0}, + {"ErrNoCookie", Var, 0}, + {"ErrNoLocation", Var, 0}, + {"ErrNotMultipart", Var, 0}, + {"ErrNotSupported", Var, 0}, + {"ErrSchemeMismatch", Var, 21}, + {"ErrServerClosed", Var, 8}, + {"ErrShortBody", Var, 0}, + {"ErrSkipAltProtocol", Var, 6}, + {"ErrUnexpectedTrailer", Var, 0}, + {"ErrUseLastResponse", Var, 7}, + {"ErrWriteAfterFlush", Var, 0}, + {"Error", Func, 0}, + {"FS", Func, 16}, + {"File", Type, 0}, + {"FileServer", Func, 0}, + {"FileServerFS", Func, 22}, + {"FileSystem", Type, 0}, + {"Flusher", Type, 0}, + {"Get", Func, 0}, + {"Handle", Func, 0}, + {"HandleFunc", Func, 0}, + {"Handler", Type, 0}, + {"HandlerFunc", Type, 0}, + {"Head", Func, 0}, + {"Header", Type, 0}, + {"Hijacker", Type, 0}, + {"ListenAndServe", Func, 0}, + {"ListenAndServeTLS", Func, 0}, + {"LocalAddrContextKey", Var, 7}, + {"MaxBytesError", Type, 19}, + {"MaxBytesError.Limit", Field, 19}, + {"MaxBytesHandler", Func, 18}, + {"MaxBytesReader", Func, 0}, + {"MethodConnect", Const, 6}, + {"MethodDelete", Const, 6}, + {"MethodGet", Const, 6}, + {"MethodHead", Const, 6}, + {"MethodOptions", Const, 6}, + {"MethodPatch", Const, 6}, + {"MethodPost", Const, 6}, + {"MethodPut", Const, 6}, + {"MethodTrace", Const, 6}, + {"NewFileTransport", Func, 0}, + {"NewFileTransportFS", Func, 22}, + {"NewRequest", Func, 0}, + {"NewRequestWithContext", Func, 13}, + {"NewResponseController", Func, 20}, + {"NewServeMux", Func, 0}, + {"NoBody", Var, 8}, + {"NotFound", Func, 0}, + {"NotFoundHandler", Func, 0}, + {"ParseHTTPVersion", Func, 0}, + {"ParseTime", Func, 1}, + {"Post", Func, 0}, + {"PostForm", Func, 0}, + {"ProtocolError", Type, 0}, + {"ProtocolError.ErrorString", Field, 0}, + {"ProxyFromEnvironment", Func, 0}, + {"ProxyURL", Func, 0}, + {"PushOptions", Type, 8}, + {"PushOptions.Header", Field, 8}, + {"PushOptions.Method", Field, 8}, + {"Pusher", Type, 8}, + {"ReadRequest", Func, 0}, + {"ReadResponse", Func, 0}, + {"Redirect", Func, 0}, + {"RedirectHandler", Func, 0}, + {"Request", Type, 0}, + {"Request.Body", Field, 0}, + {"Request.Cancel", Field, 5}, + {"Request.Close", Field, 0}, + {"Request.ContentLength", Field, 0}, + {"Request.Form", Field, 0}, + {"Request.GetBody", Field, 8}, + {"Request.Header", Field, 0}, + {"Request.Host", Field, 0}, + {"Request.Method", Field, 0}, + {"Request.MultipartForm", Field, 0}, + {"Request.PostForm", Field, 1}, + {"Request.Proto", Field, 0}, + {"Request.ProtoMajor", Field, 0}, + {"Request.ProtoMinor", Field, 0}, + {"Request.RemoteAddr", Field, 0}, + {"Request.RequestURI", Field, 0}, + {"Request.Response", Field, 7}, + {"Request.TLS", Field, 0}, + {"Request.Trailer", Field, 0}, + {"Request.TransferEncoding", Field, 0}, + {"Request.URL", Field, 0}, + {"Response", Type, 0}, + {"Response.Body", Field, 0}, + {"Response.Close", Field, 0}, + {"Response.ContentLength", Field, 0}, + {"Response.Header", Field, 0}, + {"Response.Proto", Field, 0}, + {"Response.ProtoMajor", Field, 0}, + {"Response.ProtoMinor", Field, 0}, + {"Response.Request", Field, 0}, + {"Response.Status", Field, 0}, + {"Response.StatusCode", Field, 0}, + {"Response.TLS", Field, 3}, + {"Response.Trailer", Field, 0}, + {"Response.TransferEncoding", Field, 0}, + {"Response.Uncompressed", Field, 7}, + {"ResponseController", Type, 20}, + {"ResponseWriter", Type, 0}, + {"RoundTripper", Type, 0}, + {"SameSite", Type, 11}, + {"SameSiteDefaultMode", Const, 11}, + {"SameSiteLaxMode", Const, 11}, + {"SameSiteNoneMode", Const, 13}, + {"SameSiteStrictMode", Const, 11}, + {"Serve", Func, 0}, + {"ServeContent", Func, 0}, + {"ServeFile", Func, 0}, + {"ServeFileFS", Func, 22}, + {"ServeMux", Type, 0}, + {"ServeTLS", Func, 9}, + {"Server", Type, 0}, + {"Server.Addr", Field, 0}, + {"Server.BaseContext", Field, 13}, + {"Server.ConnContext", Field, 13}, + {"Server.ConnState", Field, 3}, + {"Server.DisableGeneralOptionsHandler", Field, 20}, + {"Server.ErrorLog", Field, 3}, + {"Server.Handler", Field, 0}, + {"Server.IdleTimeout", Field, 8}, + {"Server.MaxHeaderBytes", Field, 0}, + {"Server.ReadHeaderTimeout", Field, 8}, + {"Server.ReadTimeout", Field, 0}, + {"Server.TLSConfig", Field, 0}, + {"Server.TLSNextProto", Field, 1}, + {"Server.WriteTimeout", Field, 0}, + {"ServerContextKey", Var, 7}, + {"SetCookie", Func, 0}, + {"StateActive", Const, 3}, + {"StateClosed", Const, 3}, + {"StateHijacked", Const, 3}, + {"StateIdle", Const, 3}, + {"StateNew", Const, 3}, + {"StatusAccepted", Const, 0}, + {"StatusAlreadyReported", Const, 7}, + {"StatusBadGateway", Const, 0}, + {"StatusBadRequest", Const, 0}, + {"StatusConflict", Const, 0}, + {"StatusContinue", Const, 0}, + {"StatusCreated", Const, 0}, + {"StatusEarlyHints", Const, 13}, + {"StatusExpectationFailed", Const, 0}, + {"StatusFailedDependency", Const, 7}, + {"StatusForbidden", Const, 0}, + {"StatusFound", Const, 0}, + {"StatusGatewayTimeout", Const, 0}, + {"StatusGone", Const, 0}, + {"StatusHTTPVersionNotSupported", Const, 0}, + {"StatusIMUsed", Const, 7}, + {"StatusInsufficientStorage", Const, 7}, + {"StatusInternalServerError", Const, 0}, + {"StatusLengthRequired", Const, 0}, + {"StatusLocked", Const, 7}, + {"StatusLoopDetected", Const, 7}, + {"StatusMethodNotAllowed", Const, 0}, + {"StatusMisdirectedRequest", Const, 11}, + {"StatusMovedPermanently", Const, 0}, + {"StatusMultiStatus", Const, 7}, + {"StatusMultipleChoices", Const, 0}, + {"StatusNetworkAuthenticationRequired", Const, 6}, + {"StatusNoContent", Const, 0}, + {"StatusNonAuthoritativeInfo", Const, 0}, + {"StatusNotAcceptable", Const, 0}, + {"StatusNotExtended", Const, 7}, + {"StatusNotFound", Const, 0}, + {"StatusNotImplemented", Const, 0}, + {"StatusNotModified", Const, 0}, + {"StatusOK", Const, 0}, + {"StatusPartialContent", Const, 0}, + {"StatusPaymentRequired", Const, 0}, + {"StatusPermanentRedirect", Const, 7}, + {"StatusPreconditionFailed", Const, 0}, + {"StatusPreconditionRequired", Const, 6}, + {"StatusProcessing", Const, 7}, + {"StatusProxyAuthRequired", Const, 0}, + {"StatusRequestEntityTooLarge", Const, 0}, + {"StatusRequestHeaderFieldsTooLarge", Const, 6}, + {"StatusRequestTimeout", Const, 0}, + {"StatusRequestURITooLong", Const, 0}, + {"StatusRequestedRangeNotSatisfiable", Const, 0}, + {"StatusResetContent", Const, 0}, + {"StatusSeeOther", Const, 0}, + {"StatusServiceUnavailable", Const, 0}, + {"StatusSwitchingProtocols", Const, 0}, + {"StatusTeapot", Const, 0}, + {"StatusTemporaryRedirect", Const, 0}, + {"StatusText", Func, 0}, + {"StatusTooEarly", Const, 12}, + {"StatusTooManyRequests", Const, 6}, + {"StatusUnauthorized", Const, 0}, + {"StatusUnavailableForLegalReasons", Const, 6}, + {"StatusUnprocessableEntity", Const, 7}, + {"StatusUnsupportedMediaType", Const, 0}, + {"StatusUpgradeRequired", Const, 7}, + {"StatusUseProxy", Const, 0}, + {"StatusVariantAlsoNegotiates", Const, 7}, + {"StripPrefix", Func, 0}, + {"TimeFormat", Const, 0}, + {"TimeoutHandler", Func, 0}, + {"TrailerPrefix", Const, 8}, + {"Transport", Type, 0}, + {"Transport.Dial", Field, 0}, + {"Transport.DialContext", Field, 7}, + {"Transport.DialTLS", Field, 4}, + {"Transport.DialTLSContext", Field, 14}, + {"Transport.DisableCompression", Field, 0}, + {"Transport.DisableKeepAlives", Field, 0}, + {"Transport.ExpectContinueTimeout", Field, 6}, + {"Transport.ForceAttemptHTTP2", Field, 13}, + {"Transport.GetProxyConnectHeader", Field, 16}, + {"Transport.IdleConnTimeout", Field, 7}, + {"Transport.MaxConnsPerHost", Field, 11}, + {"Transport.MaxIdleConns", Field, 7}, + {"Transport.MaxIdleConnsPerHost", Field, 0}, + {"Transport.MaxResponseHeaderBytes", Field, 7}, + {"Transport.OnProxyConnectResponse", Field, 20}, + {"Transport.Proxy", Field, 0}, + {"Transport.ProxyConnectHeader", Field, 8}, + {"Transport.ReadBufferSize", Field, 13}, + {"Transport.ResponseHeaderTimeout", Field, 1}, + {"Transport.TLSClientConfig", Field, 0}, + {"Transport.TLSHandshakeTimeout", Field, 3}, + {"Transport.TLSNextProto", Field, 6}, + {"Transport.WriteBufferSize", Field, 13}, + }, + "net/http/cgi": { + {"(*Handler).ServeHTTP", Method, 0}, + {"Handler", Type, 0}, + {"Handler.Args", Field, 0}, + {"Handler.Dir", Field, 0}, + {"Handler.Env", Field, 0}, + {"Handler.InheritEnv", Field, 0}, + {"Handler.Logger", Field, 0}, + {"Handler.Path", Field, 0}, + {"Handler.PathLocationHandler", Field, 0}, + {"Handler.Root", Field, 0}, + {"Handler.Stderr", Field, 7}, + {"Request", Func, 0}, + {"RequestFromMap", Func, 0}, + {"Serve", Func, 0}, + }, + "net/http/cookiejar": { + {"(*Jar).Cookies", Method, 1}, + {"(*Jar).SetCookies", Method, 1}, + {"Jar", Type, 1}, + {"New", Func, 1}, + {"Options", Type, 1}, + {"Options.PublicSuffixList", Field, 1}, + {"PublicSuffixList", Type, 1}, + }, + "net/http/fcgi": { + {"ErrConnClosed", Var, 5}, + {"ErrRequestAborted", Var, 5}, + {"ProcessEnv", Func, 9}, + {"Serve", Func, 0}, + }, + "net/http/httptest": { + {"(*ResponseRecorder).Flush", Method, 0}, + {"(*ResponseRecorder).Header", Method, 0}, + {"(*ResponseRecorder).Result", Method, 7}, + {"(*ResponseRecorder).Write", Method, 0}, + {"(*ResponseRecorder).WriteHeader", Method, 0}, + {"(*ResponseRecorder).WriteString", Method, 6}, + {"(*Server).Certificate", Method, 9}, + {"(*Server).Client", Method, 9}, + {"(*Server).Close", Method, 0}, + {"(*Server).CloseClientConnections", Method, 0}, + {"(*Server).Start", Method, 0}, + {"(*Server).StartTLS", Method, 0}, + {"DefaultRemoteAddr", Const, 0}, + {"NewRecorder", Func, 0}, + {"NewRequest", Func, 7}, + {"NewServer", Func, 0}, + {"NewTLSServer", Func, 0}, + {"NewUnstartedServer", Func, 0}, + {"ResponseRecorder", Type, 0}, + {"ResponseRecorder.Body", Field, 0}, + {"ResponseRecorder.Code", Field, 0}, + {"ResponseRecorder.Flushed", Field, 0}, + {"ResponseRecorder.HeaderMap", Field, 0}, + {"Server", Type, 0}, + {"Server.Config", Field, 0}, + {"Server.EnableHTTP2", Field, 14}, + {"Server.Listener", Field, 0}, + {"Server.TLS", Field, 0}, + {"Server.URL", Field, 0}, + }, + "net/http/httptrace": { + {"ClientTrace", Type, 7}, + {"ClientTrace.ConnectDone", Field, 7}, + {"ClientTrace.ConnectStart", Field, 7}, + {"ClientTrace.DNSDone", Field, 7}, + {"ClientTrace.DNSStart", Field, 7}, + {"ClientTrace.GetConn", Field, 7}, + {"ClientTrace.Got100Continue", Field, 7}, + {"ClientTrace.Got1xxResponse", Field, 11}, + {"ClientTrace.GotConn", Field, 7}, + {"ClientTrace.GotFirstResponseByte", Field, 7}, + {"ClientTrace.PutIdleConn", Field, 7}, + {"ClientTrace.TLSHandshakeDone", Field, 8}, + {"ClientTrace.TLSHandshakeStart", Field, 8}, + {"ClientTrace.Wait100Continue", Field, 7}, + {"ClientTrace.WroteHeaderField", Field, 11}, + {"ClientTrace.WroteHeaders", Field, 7}, + {"ClientTrace.WroteRequest", Field, 7}, + {"ContextClientTrace", Func, 7}, + {"DNSDoneInfo", Type, 7}, + {"DNSDoneInfo.Addrs", Field, 7}, + {"DNSDoneInfo.Coalesced", Field, 7}, + {"DNSDoneInfo.Err", Field, 7}, + {"DNSStartInfo", Type, 7}, + {"DNSStartInfo.Host", Field, 7}, + {"GotConnInfo", Type, 7}, + {"GotConnInfo.Conn", Field, 7}, + {"GotConnInfo.IdleTime", Field, 7}, + {"GotConnInfo.Reused", Field, 7}, + {"GotConnInfo.WasIdle", Field, 7}, + {"WithClientTrace", Func, 7}, + {"WroteRequestInfo", Type, 7}, + {"WroteRequestInfo.Err", Field, 7}, + }, + "net/http/httputil": { + {"(*ClientConn).Close", Method, 0}, + {"(*ClientConn).Do", Method, 0}, + {"(*ClientConn).Hijack", Method, 0}, + {"(*ClientConn).Pending", Method, 0}, + {"(*ClientConn).Read", Method, 0}, + {"(*ClientConn).Write", Method, 0}, + {"(*ProxyRequest).SetURL", Method, 20}, + {"(*ProxyRequest).SetXForwarded", Method, 20}, + {"(*ReverseProxy).ServeHTTP", Method, 0}, + {"(*ServerConn).Close", Method, 0}, + {"(*ServerConn).Hijack", Method, 0}, + {"(*ServerConn).Pending", Method, 0}, + {"(*ServerConn).Read", Method, 0}, + {"(*ServerConn).Write", Method, 0}, + {"BufferPool", Type, 6}, + {"ClientConn", Type, 0}, + {"DumpRequest", Func, 0}, + {"DumpRequestOut", Func, 0}, + {"DumpResponse", Func, 0}, + {"ErrClosed", Var, 0}, + {"ErrLineTooLong", Var, 0}, + {"ErrPersistEOF", Var, 0}, + {"ErrPipeline", Var, 0}, + {"NewChunkedReader", Func, 0}, + {"NewChunkedWriter", Func, 0}, + {"NewClientConn", Func, 0}, + {"NewProxyClientConn", Func, 0}, + {"NewServerConn", Func, 0}, + {"NewSingleHostReverseProxy", Func, 0}, + {"ProxyRequest", Type, 20}, + {"ProxyRequest.In", Field, 20}, + {"ProxyRequest.Out", Field, 20}, + {"ReverseProxy", Type, 0}, + {"ReverseProxy.BufferPool", Field, 6}, + {"ReverseProxy.Director", Field, 0}, + {"ReverseProxy.ErrorHandler", Field, 11}, + {"ReverseProxy.ErrorLog", Field, 4}, + {"ReverseProxy.FlushInterval", Field, 0}, + {"ReverseProxy.ModifyResponse", Field, 8}, + {"ReverseProxy.Rewrite", Field, 20}, + {"ReverseProxy.Transport", Field, 0}, + {"ServerConn", Type, 0}, + }, + "net/http/pprof": { + {"Cmdline", Func, 0}, + {"Handler", Func, 0}, + {"Index", Func, 0}, + {"Profile", Func, 0}, + {"Symbol", Func, 0}, + {"Trace", Func, 5}, + }, + "net/mail": { + {"(*Address).String", Method, 0}, + {"(*AddressParser).Parse", Method, 5}, + {"(*AddressParser).ParseList", Method, 5}, + {"(Header).AddressList", Method, 0}, + {"(Header).Date", Method, 0}, + {"(Header).Get", Method, 0}, + {"Address", Type, 0}, + {"Address.Address", Field, 0}, + {"Address.Name", Field, 0}, + {"AddressParser", Type, 5}, + {"AddressParser.WordDecoder", Field, 5}, + {"ErrHeaderNotPresent", Var, 0}, + {"Header", Type, 0}, + {"Message", Type, 0}, + {"Message.Body", Field, 0}, + {"Message.Header", Field, 0}, + {"ParseAddress", Func, 1}, + {"ParseAddressList", Func, 1}, + {"ParseDate", Func, 8}, + {"ReadMessage", Func, 0}, + }, + "net/netip": { + {"(*Addr).UnmarshalBinary", Method, 18}, + {"(*Addr).UnmarshalText", Method, 18}, + {"(*AddrPort).UnmarshalBinary", Method, 18}, + {"(*AddrPort).UnmarshalText", Method, 18}, + {"(*Prefix).UnmarshalBinary", Method, 18}, + {"(*Prefix).UnmarshalText", Method, 18}, + {"(Addr).AppendTo", Method, 18}, + {"(Addr).As16", Method, 18}, + {"(Addr).As4", Method, 18}, + {"(Addr).AsSlice", Method, 18}, + {"(Addr).BitLen", Method, 18}, + {"(Addr).Compare", Method, 18}, + {"(Addr).Is4", Method, 18}, + {"(Addr).Is4In6", Method, 18}, + {"(Addr).Is6", Method, 18}, + {"(Addr).IsGlobalUnicast", Method, 18}, + {"(Addr).IsInterfaceLocalMulticast", Method, 18}, + {"(Addr).IsLinkLocalMulticast", Method, 18}, + {"(Addr).IsLinkLocalUnicast", Method, 18}, + {"(Addr).IsLoopback", Method, 18}, + {"(Addr).IsMulticast", Method, 18}, + {"(Addr).IsPrivate", Method, 18}, + {"(Addr).IsUnspecified", Method, 18}, + {"(Addr).IsValid", Method, 18}, + {"(Addr).Less", Method, 18}, + {"(Addr).MarshalBinary", Method, 18}, + {"(Addr).MarshalText", Method, 18}, + {"(Addr).Next", Method, 18}, + {"(Addr).Prefix", Method, 18}, + {"(Addr).Prev", Method, 18}, + {"(Addr).String", Method, 18}, + {"(Addr).StringExpanded", Method, 18}, + {"(Addr).Unmap", Method, 18}, + {"(Addr).WithZone", Method, 18}, + {"(Addr).Zone", Method, 18}, + {"(AddrPort).Addr", Method, 18}, + {"(AddrPort).AppendTo", Method, 18}, + {"(AddrPort).Compare", Method, 22}, + {"(AddrPort).IsValid", Method, 18}, + {"(AddrPort).MarshalBinary", Method, 18}, + {"(AddrPort).MarshalText", Method, 18}, + {"(AddrPort).Port", Method, 18}, + {"(AddrPort).String", Method, 18}, + {"(Prefix).Addr", Method, 18}, + {"(Prefix).AppendTo", Method, 18}, + {"(Prefix).Bits", Method, 18}, + {"(Prefix).Contains", Method, 18}, + {"(Prefix).IsSingleIP", Method, 18}, + {"(Prefix).IsValid", Method, 18}, + {"(Prefix).MarshalBinary", Method, 18}, + {"(Prefix).MarshalText", Method, 18}, + {"(Prefix).Masked", Method, 18}, + {"(Prefix).Overlaps", Method, 18}, + {"(Prefix).String", Method, 18}, + {"Addr", Type, 18}, + {"AddrFrom16", Func, 18}, + {"AddrFrom4", Func, 18}, + {"AddrFromSlice", Func, 18}, + {"AddrPort", Type, 18}, + {"AddrPortFrom", Func, 18}, + {"IPv4Unspecified", Func, 18}, + {"IPv6LinkLocalAllNodes", Func, 18}, + {"IPv6LinkLocalAllRouters", Func, 20}, + {"IPv6Loopback", Func, 20}, + {"IPv6Unspecified", Func, 18}, + {"MustParseAddr", Func, 18}, + {"MustParseAddrPort", Func, 18}, + {"MustParsePrefix", Func, 18}, + {"ParseAddr", Func, 18}, + {"ParseAddrPort", Func, 18}, + {"ParsePrefix", Func, 18}, + {"Prefix", Type, 18}, + {"PrefixFrom", Func, 18}, + }, + "net/rpc": { + {"(*Client).Call", Method, 0}, + {"(*Client).Close", Method, 0}, + {"(*Client).Go", Method, 0}, + {"(*Server).Accept", Method, 0}, + {"(*Server).HandleHTTP", Method, 0}, + {"(*Server).Register", Method, 0}, + {"(*Server).RegisterName", Method, 0}, + {"(*Server).ServeCodec", Method, 0}, + {"(*Server).ServeConn", Method, 0}, + {"(*Server).ServeHTTP", Method, 0}, + {"(*Server).ServeRequest", Method, 0}, + {"(ServerError).Error", Method, 0}, + {"Accept", Func, 0}, + {"Call", Type, 0}, + {"Call.Args", Field, 0}, + {"Call.Done", Field, 0}, + {"Call.Error", Field, 0}, + {"Call.Reply", Field, 0}, + {"Call.ServiceMethod", Field, 0}, + {"Client", Type, 0}, + {"ClientCodec", Type, 0}, + {"DefaultDebugPath", Const, 0}, + {"DefaultRPCPath", Const, 0}, + {"DefaultServer", Var, 0}, + {"Dial", Func, 0}, + {"DialHTTP", Func, 0}, + {"DialHTTPPath", Func, 0}, + {"ErrShutdown", Var, 0}, + {"HandleHTTP", Func, 0}, + {"NewClient", Func, 0}, + {"NewClientWithCodec", Func, 0}, + {"NewServer", Func, 0}, + {"Register", Func, 0}, + {"RegisterName", Func, 0}, + {"Request", Type, 0}, + {"Request.Seq", Field, 0}, + {"Request.ServiceMethod", Field, 0}, + {"Response", Type, 0}, + {"Response.Error", Field, 0}, + {"Response.Seq", Field, 0}, + {"Response.ServiceMethod", Field, 0}, + {"ServeCodec", Func, 0}, + {"ServeConn", Func, 0}, + {"ServeRequest", Func, 0}, + {"Server", Type, 0}, + {"ServerCodec", Type, 0}, + {"ServerError", Type, 0}, + }, + "net/rpc/jsonrpc": { + {"Dial", Func, 0}, + {"NewClient", Func, 0}, + {"NewClientCodec", Func, 0}, + {"NewServerCodec", Func, 0}, + {"ServeConn", Func, 0}, + }, + "net/smtp": { + {"(*Client).Auth", Method, 0}, + {"(*Client).Close", Method, 2}, + {"(*Client).Data", Method, 0}, + {"(*Client).Extension", Method, 0}, + {"(*Client).Hello", Method, 1}, + {"(*Client).Mail", Method, 0}, + {"(*Client).Noop", Method, 10}, + {"(*Client).Quit", Method, 0}, + {"(*Client).Rcpt", Method, 0}, + {"(*Client).Reset", Method, 0}, + {"(*Client).StartTLS", Method, 0}, + {"(*Client).TLSConnectionState", Method, 5}, + {"(*Client).Verify", Method, 0}, + {"Auth", Type, 0}, + {"CRAMMD5Auth", Func, 0}, + {"Client", Type, 0}, + {"Client.Text", Field, 0}, + {"Dial", Func, 0}, + {"NewClient", Func, 0}, + {"PlainAuth", Func, 0}, + {"SendMail", Func, 0}, + {"ServerInfo", Type, 0}, + {"ServerInfo.Auth", Field, 0}, + {"ServerInfo.Name", Field, 0}, + {"ServerInfo.TLS", Field, 0}, + }, + "net/textproto": { + {"(*Conn).Close", Method, 0}, + {"(*Conn).Cmd", Method, 0}, + {"(*Conn).DotReader", Method, 0}, + {"(*Conn).DotWriter", Method, 0}, + {"(*Conn).EndRequest", Method, 0}, + {"(*Conn).EndResponse", Method, 0}, + {"(*Conn).Next", Method, 0}, + {"(*Conn).PrintfLine", Method, 0}, + {"(*Conn).ReadCodeLine", Method, 0}, + {"(*Conn).ReadContinuedLine", Method, 0}, + {"(*Conn).ReadContinuedLineBytes", Method, 0}, + {"(*Conn).ReadDotBytes", Method, 0}, + {"(*Conn).ReadDotLines", Method, 0}, + {"(*Conn).ReadLine", Method, 0}, + {"(*Conn).ReadLineBytes", Method, 0}, + {"(*Conn).ReadMIMEHeader", Method, 0}, + {"(*Conn).ReadResponse", Method, 0}, + {"(*Conn).StartRequest", Method, 0}, + {"(*Conn).StartResponse", Method, 0}, + {"(*Error).Error", Method, 0}, + {"(*Pipeline).EndRequest", Method, 0}, + {"(*Pipeline).EndResponse", Method, 0}, + {"(*Pipeline).Next", Method, 0}, + {"(*Pipeline).StartRequest", Method, 0}, + {"(*Pipeline).StartResponse", Method, 0}, + {"(*Reader).DotReader", Method, 0}, + {"(*Reader).ReadCodeLine", Method, 0}, + {"(*Reader).ReadContinuedLine", Method, 0}, + {"(*Reader).ReadContinuedLineBytes", Method, 0}, + {"(*Reader).ReadDotBytes", Method, 0}, + {"(*Reader).ReadDotLines", Method, 0}, + {"(*Reader).ReadLine", Method, 0}, + {"(*Reader).ReadLineBytes", Method, 0}, + {"(*Reader).ReadMIMEHeader", Method, 0}, + {"(*Reader).ReadResponse", Method, 0}, + {"(*Writer).DotWriter", Method, 0}, + {"(*Writer).PrintfLine", Method, 0}, + {"(MIMEHeader).Add", Method, 0}, + {"(MIMEHeader).Del", Method, 0}, + {"(MIMEHeader).Get", Method, 0}, + {"(MIMEHeader).Set", Method, 0}, + {"(MIMEHeader).Values", Method, 14}, + {"(ProtocolError).Error", Method, 0}, + {"CanonicalMIMEHeaderKey", Func, 0}, + {"Conn", Type, 0}, + {"Conn.Pipeline", Field, 0}, + {"Conn.Reader", Field, 0}, + {"Conn.Writer", Field, 0}, + {"Dial", Func, 0}, + {"Error", Type, 0}, + {"Error.Code", Field, 0}, + {"Error.Msg", Field, 0}, + {"MIMEHeader", Type, 0}, + {"NewConn", Func, 0}, + {"NewReader", Func, 0}, + {"NewWriter", Func, 0}, + {"Pipeline", Type, 0}, + {"ProtocolError", Type, 0}, + {"Reader", Type, 0}, + {"Reader.R", Field, 0}, + {"TrimBytes", Func, 1}, + {"TrimString", Func, 1}, + {"Writer", Type, 0}, + {"Writer.W", Field, 0}, + }, + "net/url": { + {"(*Error).Error", Method, 0}, + {"(*Error).Temporary", Method, 6}, + {"(*Error).Timeout", Method, 6}, + {"(*Error).Unwrap", Method, 13}, + {"(*URL).EscapedFragment", Method, 15}, + {"(*URL).EscapedPath", Method, 5}, + {"(*URL).Hostname", Method, 8}, + {"(*URL).IsAbs", Method, 0}, + {"(*URL).JoinPath", Method, 19}, + {"(*URL).MarshalBinary", Method, 8}, + {"(*URL).Parse", Method, 0}, + {"(*URL).Port", Method, 8}, + {"(*URL).Query", Method, 0}, + {"(*URL).Redacted", Method, 15}, + {"(*URL).RequestURI", Method, 0}, + {"(*URL).ResolveReference", Method, 0}, + {"(*URL).String", Method, 0}, + {"(*URL).UnmarshalBinary", Method, 8}, + {"(*Userinfo).Password", Method, 0}, + {"(*Userinfo).String", Method, 0}, + {"(*Userinfo).Username", Method, 0}, + {"(EscapeError).Error", Method, 0}, + {"(InvalidHostError).Error", Method, 6}, + {"(Values).Add", Method, 0}, + {"(Values).Del", Method, 0}, + {"(Values).Encode", Method, 0}, + {"(Values).Get", Method, 0}, + {"(Values).Has", Method, 17}, + {"(Values).Set", Method, 0}, + {"Error", Type, 0}, + {"Error.Err", Field, 0}, + {"Error.Op", Field, 0}, + {"Error.URL", Field, 0}, + {"EscapeError", Type, 0}, + {"InvalidHostError", Type, 6}, + {"JoinPath", Func, 19}, + {"Parse", Func, 0}, + {"ParseQuery", Func, 0}, + {"ParseRequestURI", Func, 0}, + {"PathEscape", Func, 8}, + {"PathUnescape", Func, 8}, + {"QueryEscape", Func, 0}, + {"QueryUnescape", Func, 0}, + {"URL", Type, 0}, + {"URL.ForceQuery", Field, 7}, + {"URL.Fragment", Field, 0}, + {"URL.Host", Field, 0}, + {"URL.OmitHost", Field, 19}, + {"URL.Opaque", Field, 0}, + {"URL.Path", Field, 0}, + {"URL.RawFragment", Field, 15}, + {"URL.RawPath", Field, 5}, + {"URL.RawQuery", Field, 0}, + {"URL.Scheme", Field, 0}, + {"URL.User", Field, 0}, + {"User", Func, 0}, + {"UserPassword", Func, 0}, + {"Userinfo", Type, 0}, + {"Values", Type, 0}, + }, + "os": { + {"(*File).Chdir", Method, 0}, + {"(*File).Chmod", Method, 0}, + {"(*File).Chown", Method, 0}, + {"(*File).Close", Method, 0}, + {"(*File).Fd", Method, 0}, + {"(*File).Name", Method, 0}, + {"(*File).Read", Method, 0}, + {"(*File).ReadAt", Method, 0}, + {"(*File).ReadDir", Method, 16}, + {"(*File).ReadFrom", Method, 15}, + {"(*File).Readdir", Method, 0}, + {"(*File).Readdirnames", Method, 0}, + {"(*File).Seek", Method, 0}, + {"(*File).SetDeadline", Method, 10}, + {"(*File).SetReadDeadline", Method, 10}, + {"(*File).SetWriteDeadline", Method, 10}, + {"(*File).Stat", Method, 0}, + {"(*File).Sync", Method, 0}, + {"(*File).SyscallConn", Method, 12}, + {"(*File).Truncate", Method, 0}, + {"(*File).Write", Method, 0}, + {"(*File).WriteAt", Method, 0}, + {"(*File).WriteString", Method, 0}, + {"(*File).WriteTo", Method, 22}, + {"(*LinkError).Error", Method, 0}, + {"(*LinkError).Unwrap", Method, 13}, + {"(*PathError).Error", Method, 0}, + {"(*PathError).Timeout", Method, 10}, + {"(*PathError).Unwrap", Method, 13}, + {"(*Process).Kill", Method, 0}, + {"(*Process).Release", Method, 0}, + {"(*Process).Signal", Method, 0}, + {"(*Process).Wait", Method, 0}, + {"(*ProcessState).ExitCode", Method, 12}, + {"(*ProcessState).Exited", Method, 0}, + {"(*ProcessState).Pid", Method, 0}, + {"(*ProcessState).String", Method, 0}, + {"(*ProcessState).Success", Method, 0}, + {"(*ProcessState).Sys", Method, 0}, + {"(*ProcessState).SysUsage", Method, 0}, + {"(*ProcessState).SystemTime", Method, 0}, + {"(*ProcessState).UserTime", Method, 0}, + {"(*SyscallError).Error", Method, 0}, + {"(*SyscallError).Timeout", Method, 10}, + {"(*SyscallError).Unwrap", Method, 13}, + {"(FileMode).IsDir", Method, 0}, + {"(FileMode).IsRegular", Method, 1}, + {"(FileMode).Perm", Method, 0}, + {"(FileMode).String", Method, 0}, + {"Args", Var, 0}, + {"Chdir", Func, 0}, + {"Chmod", Func, 0}, + {"Chown", Func, 0}, + {"Chtimes", Func, 0}, + {"Clearenv", Func, 0}, + {"Create", Func, 0}, + {"CreateTemp", Func, 16}, + {"DevNull", Const, 0}, + {"DirEntry", Type, 16}, + {"DirFS", Func, 16}, + {"Environ", Func, 0}, + {"ErrClosed", Var, 8}, + {"ErrDeadlineExceeded", Var, 15}, + {"ErrExist", Var, 0}, + {"ErrInvalid", Var, 0}, + {"ErrNoDeadline", Var, 10}, + {"ErrNotExist", Var, 0}, + {"ErrPermission", Var, 0}, + {"ErrProcessDone", Var, 16}, + {"Executable", Func, 8}, + {"Exit", Func, 0}, + {"Expand", Func, 0}, + {"ExpandEnv", Func, 0}, + {"File", Type, 0}, + {"FileInfo", Type, 0}, + {"FileMode", Type, 0}, + {"FindProcess", Func, 0}, + {"Getegid", Func, 0}, + {"Getenv", Func, 0}, + {"Geteuid", Func, 0}, + {"Getgid", Func, 0}, + {"Getgroups", Func, 0}, + {"Getpagesize", Func, 0}, + {"Getpid", Func, 0}, + {"Getppid", Func, 0}, + {"Getuid", Func, 0}, + {"Getwd", Func, 0}, + {"Hostname", Func, 0}, + {"Interrupt", Var, 0}, + {"IsExist", Func, 0}, + {"IsNotExist", Func, 0}, + {"IsPathSeparator", Func, 0}, + {"IsPermission", Func, 0}, + {"IsTimeout", Func, 10}, + {"Kill", Var, 0}, + {"Lchown", Func, 0}, + {"Link", Func, 0}, + {"LinkError", Type, 0}, + {"LinkError.Err", Field, 0}, + {"LinkError.New", Field, 0}, + {"LinkError.Old", Field, 0}, + {"LinkError.Op", Field, 0}, + {"LookupEnv", Func, 5}, + {"Lstat", Func, 0}, + {"Mkdir", Func, 0}, + {"MkdirAll", Func, 0}, + {"MkdirTemp", Func, 16}, + {"ModeAppend", Const, 0}, + {"ModeCharDevice", Const, 0}, + {"ModeDevice", Const, 0}, + {"ModeDir", Const, 0}, + {"ModeExclusive", Const, 0}, + {"ModeIrregular", Const, 11}, + {"ModeNamedPipe", Const, 0}, + {"ModePerm", Const, 0}, + {"ModeSetgid", Const, 0}, + {"ModeSetuid", Const, 0}, + {"ModeSocket", Const, 0}, + {"ModeSticky", Const, 0}, + {"ModeSymlink", Const, 0}, + {"ModeTemporary", Const, 0}, + {"ModeType", Const, 0}, + {"NewFile", Func, 0}, + {"NewSyscallError", Func, 0}, + {"O_APPEND", Const, 0}, + {"O_CREATE", Const, 0}, + {"O_EXCL", Const, 0}, + {"O_RDONLY", Const, 0}, + {"O_RDWR", Const, 0}, + {"O_SYNC", Const, 0}, + {"O_TRUNC", Const, 0}, + {"O_WRONLY", Const, 0}, + {"Open", Func, 0}, + {"OpenFile", Func, 0}, + {"PathError", Type, 0}, + {"PathError.Err", Field, 0}, + {"PathError.Op", Field, 0}, + {"PathError.Path", Field, 0}, + {"PathListSeparator", Const, 0}, + {"PathSeparator", Const, 0}, + {"Pipe", Func, 0}, + {"ProcAttr", Type, 0}, + {"ProcAttr.Dir", Field, 0}, + {"ProcAttr.Env", Field, 0}, + {"ProcAttr.Files", Field, 0}, + {"ProcAttr.Sys", Field, 0}, + {"Process", Type, 0}, + {"Process.Pid", Field, 0}, + {"ProcessState", Type, 0}, + {"ReadDir", Func, 16}, + {"ReadFile", Func, 16}, + {"Readlink", Func, 0}, + {"Remove", Func, 0}, + {"RemoveAll", Func, 0}, + {"Rename", Func, 0}, + {"SEEK_CUR", Const, 0}, + {"SEEK_END", Const, 0}, + {"SEEK_SET", Const, 0}, + {"SameFile", Func, 0}, + {"Setenv", Func, 0}, + {"Signal", Type, 0}, + {"StartProcess", Func, 0}, + {"Stat", Func, 0}, + {"Stderr", Var, 0}, + {"Stdin", Var, 0}, + {"Stdout", Var, 0}, + {"Symlink", Func, 0}, + {"SyscallError", Type, 0}, + {"SyscallError.Err", Field, 0}, + {"SyscallError.Syscall", Field, 0}, + {"TempDir", Func, 0}, + {"Truncate", Func, 0}, + {"Unsetenv", Func, 4}, + {"UserCacheDir", Func, 11}, + {"UserConfigDir", Func, 13}, + {"UserHomeDir", Func, 12}, + {"WriteFile", Func, 16}, + }, + "os/exec": { + {"(*Cmd).CombinedOutput", Method, 0}, + {"(*Cmd).Environ", Method, 19}, + {"(*Cmd).Output", Method, 0}, + {"(*Cmd).Run", Method, 0}, + {"(*Cmd).Start", Method, 0}, + {"(*Cmd).StderrPipe", Method, 0}, + {"(*Cmd).StdinPipe", Method, 0}, + {"(*Cmd).StdoutPipe", Method, 0}, + {"(*Cmd).String", Method, 13}, + {"(*Cmd).Wait", Method, 0}, + {"(*Error).Error", Method, 0}, + {"(*Error).Unwrap", Method, 13}, + {"(*ExitError).Error", Method, 0}, + {"(ExitError).ExitCode", Method, 12}, + {"(ExitError).Exited", Method, 0}, + {"(ExitError).Pid", Method, 0}, + {"(ExitError).String", Method, 0}, + {"(ExitError).Success", Method, 0}, + {"(ExitError).Sys", Method, 0}, + {"(ExitError).SysUsage", Method, 0}, + {"(ExitError).SystemTime", Method, 0}, + {"(ExitError).UserTime", Method, 0}, + {"Cmd", Type, 0}, + {"Cmd.Args", Field, 0}, + {"Cmd.Cancel", Field, 20}, + {"Cmd.Dir", Field, 0}, + {"Cmd.Env", Field, 0}, + {"Cmd.Err", Field, 19}, + {"Cmd.ExtraFiles", Field, 0}, + {"Cmd.Path", Field, 0}, + {"Cmd.Process", Field, 0}, + {"Cmd.ProcessState", Field, 0}, + {"Cmd.Stderr", Field, 0}, + {"Cmd.Stdin", Field, 0}, + {"Cmd.Stdout", Field, 0}, + {"Cmd.SysProcAttr", Field, 0}, + {"Cmd.WaitDelay", Field, 20}, + {"Command", Func, 0}, + {"CommandContext", Func, 7}, + {"ErrDot", Var, 19}, + {"ErrNotFound", Var, 0}, + {"ErrWaitDelay", Var, 20}, + {"Error", Type, 0}, + {"Error.Err", Field, 0}, + {"Error.Name", Field, 0}, + {"ExitError", Type, 0}, + {"ExitError.ProcessState", Field, 0}, + {"ExitError.Stderr", Field, 6}, + {"LookPath", Func, 0}, + }, + "os/signal": { + {"Ignore", Func, 5}, + {"Ignored", Func, 11}, + {"Notify", Func, 0}, + {"NotifyContext", Func, 16}, + {"Reset", Func, 5}, + {"Stop", Func, 1}, + }, + "os/user": { + {"(*User).GroupIds", Method, 7}, + {"(UnknownGroupError).Error", Method, 7}, + {"(UnknownGroupIdError).Error", Method, 7}, + {"(UnknownUserError).Error", Method, 0}, + {"(UnknownUserIdError).Error", Method, 0}, + {"Current", Func, 0}, + {"Group", Type, 7}, + {"Group.Gid", Field, 7}, + {"Group.Name", Field, 7}, + {"Lookup", Func, 0}, + {"LookupGroup", Func, 7}, + {"LookupGroupId", Func, 7}, + {"LookupId", Func, 0}, + {"UnknownGroupError", Type, 7}, + {"UnknownGroupIdError", Type, 7}, + {"UnknownUserError", Type, 0}, + {"UnknownUserIdError", Type, 0}, + {"User", Type, 0}, + {"User.Gid", Field, 0}, + {"User.HomeDir", Field, 0}, + {"User.Name", Field, 0}, + {"User.Uid", Field, 0}, + {"User.Username", Field, 0}, + }, + "path": { + {"Base", Func, 0}, + {"Clean", Func, 0}, + {"Dir", Func, 0}, + {"ErrBadPattern", Var, 0}, + {"Ext", Func, 0}, + {"IsAbs", Func, 0}, + {"Join", Func, 0}, + {"Match", Func, 0}, + {"Split", Func, 0}, + }, + "path/filepath": { + {"Abs", Func, 0}, + {"Base", Func, 0}, + {"Clean", Func, 0}, + {"Dir", Func, 0}, + {"ErrBadPattern", Var, 0}, + {"EvalSymlinks", Func, 0}, + {"Ext", Func, 0}, + {"FromSlash", Func, 0}, + {"Glob", Func, 0}, + {"HasPrefix", Func, 0}, + {"IsAbs", Func, 0}, + {"IsLocal", Func, 20}, + {"Join", Func, 0}, + {"ListSeparator", Const, 0}, + {"Match", Func, 0}, + {"Rel", Func, 0}, + {"Separator", Const, 0}, + {"SkipAll", Var, 20}, + {"SkipDir", Var, 0}, + {"Split", Func, 0}, + {"SplitList", Func, 0}, + {"ToSlash", Func, 0}, + {"VolumeName", Func, 0}, + {"Walk", Func, 0}, + {"WalkDir", Func, 16}, + {"WalkFunc", Type, 0}, + }, + "plugin": { + {"(*Plugin).Lookup", Method, 8}, + {"Open", Func, 8}, + {"Plugin", Type, 8}, + {"Symbol", Type, 8}, + }, + "reflect": { + {"(*MapIter).Key", Method, 12}, + {"(*MapIter).Next", Method, 12}, + {"(*MapIter).Reset", Method, 18}, + {"(*MapIter).Value", Method, 12}, + {"(*ValueError).Error", Method, 0}, + {"(ChanDir).String", Method, 0}, + {"(Kind).String", Method, 0}, + {"(Method).IsExported", Method, 17}, + {"(StructField).IsExported", Method, 17}, + {"(StructTag).Get", Method, 0}, + {"(StructTag).Lookup", Method, 7}, + {"(Value).Addr", Method, 0}, + {"(Value).Bool", Method, 0}, + {"(Value).Bytes", Method, 0}, + {"(Value).Call", Method, 0}, + {"(Value).CallSlice", Method, 0}, + {"(Value).CanAddr", Method, 0}, + {"(Value).CanComplex", Method, 18}, + {"(Value).CanConvert", Method, 17}, + {"(Value).CanFloat", Method, 18}, + {"(Value).CanInt", Method, 18}, + {"(Value).CanInterface", Method, 0}, + {"(Value).CanSet", Method, 0}, + {"(Value).CanUint", Method, 18}, + {"(Value).Cap", Method, 0}, + {"(Value).Clear", Method, 21}, + {"(Value).Close", Method, 0}, + {"(Value).Comparable", Method, 20}, + {"(Value).Complex", Method, 0}, + {"(Value).Convert", Method, 1}, + {"(Value).Elem", Method, 0}, + {"(Value).Equal", Method, 20}, + {"(Value).Field", Method, 0}, + {"(Value).FieldByIndex", Method, 0}, + {"(Value).FieldByIndexErr", Method, 18}, + {"(Value).FieldByName", Method, 0}, + {"(Value).FieldByNameFunc", Method, 0}, + {"(Value).Float", Method, 0}, + {"(Value).Grow", Method, 20}, + {"(Value).Index", Method, 0}, + {"(Value).Int", Method, 0}, + {"(Value).Interface", Method, 0}, + {"(Value).InterfaceData", Method, 0}, + {"(Value).IsNil", Method, 0}, + {"(Value).IsValid", Method, 0}, + {"(Value).IsZero", Method, 13}, + {"(Value).Kind", Method, 0}, + {"(Value).Len", Method, 0}, + {"(Value).MapIndex", Method, 0}, + {"(Value).MapKeys", Method, 0}, + {"(Value).MapRange", Method, 12}, + {"(Value).Method", Method, 0}, + {"(Value).MethodByName", Method, 0}, + {"(Value).NumField", Method, 0}, + {"(Value).NumMethod", Method, 0}, + {"(Value).OverflowComplex", Method, 0}, + {"(Value).OverflowFloat", Method, 0}, + {"(Value).OverflowInt", Method, 0}, + {"(Value).OverflowUint", Method, 0}, + {"(Value).Pointer", Method, 0}, + {"(Value).Recv", Method, 0}, + {"(Value).Send", Method, 0}, + {"(Value).Set", Method, 0}, + {"(Value).SetBool", Method, 0}, + {"(Value).SetBytes", Method, 0}, + {"(Value).SetCap", Method, 2}, + {"(Value).SetComplex", Method, 0}, + {"(Value).SetFloat", Method, 0}, + {"(Value).SetInt", Method, 0}, + {"(Value).SetIterKey", Method, 18}, + {"(Value).SetIterValue", Method, 18}, + {"(Value).SetLen", Method, 0}, + {"(Value).SetMapIndex", Method, 0}, + {"(Value).SetPointer", Method, 0}, + {"(Value).SetString", Method, 0}, + {"(Value).SetUint", Method, 0}, + {"(Value).SetZero", Method, 20}, + {"(Value).Slice", Method, 0}, + {"(Value).Slice3", Method, 2}, + {"(Value).String", Method, 0}, + {"(Value).TryRecv", Method, 0}, + {"(Value).TrySend", Method, 0}, + {"(Value).Type", Method, 0}, + {"(Value).Uint", Method, 0}, + {"(Value).UnsafeAddr", Method, 0}, + {"(Value).UnsafePointer", Method, 18}, + {"Append", Func, 0}, + {"AppendSlice", Func, 0}, + {"Array", Const, 0}, + {"ArrayOf", Func, 5}, + {"Bool", Const, 0}, + {"BothDir", Const, 0}, + {"Chan", Const, 0}, + {"ChanDir", Type, 0}, + {"ChanOf", Func, 1}, + {"Complex128", Const, 0}, + {"Complex64", Const, 0}, + {"Copy", Func, 0}, + {"DeepEqual", Func, 0}, + {"Float32", Const, 0}, + {"Float64", Const, 0}, + {"Func", Const, 0}, + {"FuncOf", Func, 5}, + {"Indirect", Func, 0}, + {"Int", Const, 0}, + {"Int16", Const, 0}, + {"Int32", Const, 0}, + {"Int64", Const, 0}, + {"Int8", Const, 0}, + {"Interface", Const, 0}, + {"Invalid", Const, 0}, + {"Kind", Type, 0}, + {"MakeChan", Func, 0}, + {"MakeFunc", Func, 1}, + {"MakeMap", Func, 0}, + {"MakeMapWithSize", Func, 9}, + {"MakeSlice", Func, 0}, + {"Map", Const, 0}, + {"MapIter", Type, 12}, + {"MapOf", Func, 1}, + {"Method", Type, 0}, + {"Method.Func", Field, 0}, + {"Method.Index", Field, 0}, + {"Method.Name", Field, 0}, + {"Method.PkgPath", Field, 0}, + {"Method.Type", Field, 0}, + {"New", Func, 0}, + {"NewAt", Func, 0}, + {"Pointer", Const, 18}, + {"PointerTo", Func, 18}, + {"Ptr", Const, 0}, + {"PtrTo", Func, 0}, + {"RecvDir", Const, 0}, + {"Select", Func, 1}, + {"SelectCase", Type, 1}, + {"SelectCase.Chan", Field, 1}, + {"SelectCase.Dir", Field, 1}, + {"SelectCase.Send", Field, 1}, + {"SelectDefault", Const, 1}, + {"SelectDir", Type, 1}, + {"SelectRecv", Const, 1}, + {"SelectSend", Const, 1}, + {"SendDir", Const, 0}, + {"Slice", Const, 0}, + {"SliceHeader", Type, 0}, + {"SliceHeader.Cap", Field, 0}, + {"SliceHeader.Data", Field, 0}, + {"SliceHeader.Len", Field, 0}, + {"SliceOf", Func, 1}, + {"String", Const, 0}, + {"StringHeader", Type, 0}, + {"StringHeader.Data", Field, 0}, + {"StringHeader.Len", Field, 0}, + {"Struct", Const, 0}, + {"StructField", Type, 0}, + {"StructField.Anonymous", Field, 0}, + {"StructField.Index", Field, 0}, + {"StructField.Name", Field, 0}, + {"StructField.Offset", Field, 0}, + {"StructField.PkgPath", Field, 0}, + {"StructField.Tag", Field, 0}, + {"StructField.Type", Field, 0}, + {"StructOf", Func, 7}, + {"StructTag", Type, 0}, + {"Swapper", Func, 8}, + {"Type", Type, 0}, + {"TypeFor", Func, 22}, + {"TypeOf", Func, 0}, + {"Uint", Const, 0}, + {"Uint16", Const, 0}, + {"Uint32", Const, 0}, + {"Uint64", Const, 0}, + {"Uint8", Const, 0}, + {"Uintptr", Const, 0}, + {"UnsafePointer", Const, 0}, + {"Value", Type, 0}, + {"ValueError", Type, 0}, + {"ValueError.Kind", Field, 0}, + {"ValueError.Method", Field, 0}, + {"ValueOf", Func, 0}, + {"VisibleFields", Func, 17}, + {"Zero", Func, 0}, + }, + "regexp": { + {"(*Regexp).Copy", Method, 6}, + {"(*Regexp).Expand", Method, 0}, + {"(*Regexp).ExpandString", Method, 0}, + {"(*Regexp).Find", Method, 0}, + {"(*Regexp).FindAll", Method, 0}, + {"(*Regexp).FindAllIndex", Method, 0}, + {"(*Regexp).FindAllString", Method, 0}, + {"(*Regexp).FindAllStringIndex", Method, 0}, + {"(*Regexp).FindAllStringSubmatch", Method, 0}, + {"(*Regexp).FindAllStringSubmatchIndex", Method, 0}, + {"(*Regexp).FindAllSubmatch", Method, 0}, + {"(*Regexp).FindAllSubmatchIndex", Method, 0}, + {"(*Regexp).FindIndex", Method, 0}, + {"(*Regexp).FindReaderIndex", Method, 0}, + {"(*Regexp).FindReaderSubmatchIndex", Method, 0}, + {"(*Regexp).FindString", Method, 0}, + {"(*Regexp).FindStringIndex", Method, 0}, + {"(*Regexp).FindStringSubmatch", Method, 0}, + {"(*Regexp).FindStringSubmatchIndex", Method, 0}, + {"(*Regexp).FindSubmatch", Method, 0}, + {"(*Regexp).FindSubmatchIndex", Method, 0}, + {"(*Regexp).LiteralPrefix", Method, 0}, + {"(*Regexp).Longest", Method, 1}, + {"(*Regexp).MarshalText", Method, 21}, + {"(*Regexp).Match", Method, 0}, + {"(*Regexp).MatchReader", Method, 0}, + {"(*Regexp).MatchString", Method, 0}, + {"(*Regexp).NumSubexp", Method, 0}, + {"(*Regexp).ReplaceAll", Method, 0}, + {"(*Regexp).ReplaceAllFunc", Method, 0}, + {"(*Regexp).ReplaceAllLiteral", Method, 0}, + {"(*Regexp).ReplaceAllLiteralString", Method, 0}, + {"(*Regexp).ReplaceAllString", Method, 0}, + {"(*Regexp).ReplaceAllStringFunc", Method, 0}, + {"(*Regexp).Split", Method, 1}, + {"(*Regexp).String", Method, 0}, + {"(*Regexp).SubexpIndex", Method, 15}, + {"(*Regexp).SubexpNames", Method, 0}, + {"(*Regexp).UnmarshalText", Method, 21}, + {"Compile", Func, 0}, + {"CompilePOSIX", Func, 0}, + {"Match", Func, 0}, + {"MatchReader", Func, 0}, + {"MatchString", Func, 0}, + {"MustCompile", Func, 0}, + {"MustCompilePOSIX", Func, 0}, + {"QuoteMeta", Func, 0}, + {"Regexp", Type, 0}, + }, + "regexp/syntax": { + {"(*Error).Error", Method, 0}, + {"(*Inst).MatchEmptyWidth", Method, 0}, + {"(*Inst).MatchRune", Method, 0}, + {"(*Inst).MatchRunePos", Method, 3}, + {"(*Inst).String", Method, 0}, + {"(*Prog).Prefix", Method, 0}, + {"(*Prog).StartCond", Method, 0}, + {"(*Prog).String", Method, 0}, + {"(*Regexp).CapNames", Method, 0}, + {"(*Regexp).Equal", Method, 0}, + {"(*Regexp).MaxCap", Method, 0}, + {"(*Regexp).Simplify", Method, 0}, + {"(*Regexp).String", Method, 0}, + {"(ErrorCode).String", Method, 0}, + {"(InstOp).String", Method, 3}, + {"(Op).String", Method, 11}, + {"ClassNL", Const, 0}, + {"Compile", Func, 0}, + {"DotNL", Const, 0}, + {"EmptyBeginLine", Const, 0}, + {"EmptyBeginText", Const, 0}, + {"EmptyEndLine", Const, 0}, + {"EmptyEndText", Const, 0}, + {"EmptyNoWordBoundary", Const, 0}, + {"EmptyOp", Type, 0}, + {"EmptyOpContext", Func, 0}, + {"EmptyWordBoundary", Const, 0}, + {"ErrInternalError", Const, 0}, + {"ErrInvalidCharClass", Const, 0}, + {"ErrInvalidCharRange", Const, 0}, + {"ErrInvalidEscape", Const, 0}, + {"ErrInvalidNamedCapture", Const, 0}, + {"ErrInvalidPerlOp", Const, 0}, + {"ErrInvalidRepeatOp", Const, 0}, + {"ErrInvalidRepeatSize", Const, 0}, + {"ErrInvalidUTF8", Const, 0}, + {"ErrLarge", Const, 20}, + {"ErrMissingBracket", Const, 0}, + {"ErrMissingParen", Const, 0}, + {"ErrMissingRepeatArgument", Const, 0}, + {"ErrNestingDepth", Const, 19}, + {"ErrTrailingBackslash", Const, 0}, + {"ErrUnexpectedParen", Const, 1}, + {"Error", Type, 0}, + {"Error.Code", Field, 0}, + {"Error.Expr", Field, 0}, + {"ErrorCode", Type, 0}, + {"Flags", Type, 0}, + {"FoldCase", Const, 0}, + {"Inst", Type, 0}, + {"Inst.Arg", Field, 0}, + {"Inst.Op", Field, 0}, + {"Inst.Out", Field, 0}, + {"Inst.Rune", Field, 0}, + {"InstAlt", Const, 0}, + {"InstAltMatch", Const, 0}, + {"InstCapture", Const, 0}, + {"InstEmptyWidth", Const, 0}, + {"InstFail", Const, 0}, + {"InstMatch", Const, 0}, + {"InstNop", Const, 0}, + {"InstOp", Type, 0}, + {"InstRune", Const, 0}, + {"InstRune1", Const, 0}, + {"InstRuneAny", Const, 0}, + {"InstRuneAnyNotNL", Const, 0}, + {"IsWordChar", Func, 0}, + {"Literal", Const, 0}, + {"MatchNL", Const, 0}, + {"NonGreedy", Const, 0}, + {"OneLine", Const, 0}, + {"Op", Type, 0}, + {"OpAlternate", Const, 0}, + {"OpAnyChar", Const, 0}, + {"OpAnyCharNotNL", Const, 0}, + {"OpBeginLine", Const, 0}, + {"OpBeginText", Const, 0}, + {"OpCapture", Const, 0}, + {"OpCharClass", Const, 0}, + {"OpConcat", Const, 0}, + {"OpEmptyMatch", Const, 0}, + {"OpEndLine", Const, 0}, + {"OpEndText", Const, 0}, + {"OpLiteral", Const, 0}, + {"OpNoMatch", Const, 0}, + {"OpNoWordBoundary", Const, 0}, + {"OpPlus", Const, 0}, + {"OpQuest", Const, 0}, + {"OpRepeat", Const, 0}, + {"OpStar", Const, 0}, + {"OpWordBoundary", Const, 0}, + {"POSIX", Const, 0}, + {"Parse", Func, 0}, + {"Perl", Const, 0}, + {"PerlX", Const, 0}, + {"Prog", Type, 0}, + {"Prog.Inst", Field, 0}, + {"Prog.NumCap", Field, 0}, + {"Prog.Start", Field, 0}, + {"Regexp", Type, 0}, + {"Regexp.Cap", Field, 0}, + {"Regexp.Flags", Field, 0}, + {"Regexp.Max", Field, 0}, + {"Regexp.Min", Field, 0}, + {"Regexp.Name", Field, 0}, + {"Regexp.Op", Field, 0}, + {"Regexp.Rune", Field, 0}, + {"Regexp.Rune0", Field, 0}, + {"Regexp.Sub", Field, 0}, + {"Regexp.Sub0", Field, 0}, + {"Simple", Const, 0}, + {"UnicodeGroups", Const, 0}, + {"WasDollar", Const, 0}, + }, + "runtime": { + {"(*BlockProfileRecord).Stack", Method, 1}, + {"(*Frames).Next", Method, 7}, + {"(*Func).Entry", Method, 0}, + {"(*Func).FileLine", Method, 0}, + {"(*Func).Name", Method, 0}, + {"(*MemProfileRecord).InUseBytes", Method, 0}, + {"(*MemProfileRecord).InUseObjects", Method, 0}, + {"(*MemProfileRecord).Stack", Method, 0}, + {"(*PanicNilError).Error", Method, 21}, + {"(*PanicNilError).RuntimeError", Method, 21}, + {"(*Pinner).Pin", Method, 21}, + {"(*Pinner).Unpin", Method, 21}, + {"(*StackRecord).Stack", Method, 0}, + {"(*TypeAssertionError).Error", Method, 0}, + {"(*TypeAssertionError).RuntimeError", Method, 0}, + {"BlockProfile", Func, 1}, + {"BlockProfileRecord", Type, 1}, + {"BlockProfileRecord.Count", Field, 1}, + {"BlockProfileRecord.Cycles", Field, 1}, + {"BlockProfileRecord.StackRecord", Field, 1}, + {"Breakpoint", Func, 0}, + {"CPUProfile", Func, 0}, + {"Caller", Func, 0}, + {"Callers", Func, 0}, + {"CallersFrames", Func, 7}, + {"Compiler", Const, 0}, + {"Error", Type, 0}, + {"Frame", Type, 7}, + {"Frame.Entry", Field, 7}, + {"Frame.File", Field, 7}, + {"Frame.Func", Field, 7}, + {"Frame.Function", Field, 7}, + {"Frame.Line", Field, 7}, + {"Frame.PC", Field, 7}, + {"Frames", Type, 7}, + {"Func", Type, 0}, + {"FuncForPC", Func, 0}, + {"GC", Func, 0}, + {"GOARCH", Const, 0}, + {"GOMAXPROCS", Func, 0}, + {"GOOS", Const, 0}, + {"GOROOT", Func, 0}, + {"Goexit", Func, 0}, + {"GoroutineProfile", Func, 0}, + {"Gosched", Func, 0}, + {"KeepAlive", Func, 7}, + {"LockOSThread", Func, 0}, + {"MemProfile", Func, 0}, + {"MemProfileRate", Var, 0}, + {"MemProfileRecord", Type, 0}, + {"MemProfileRecord.AllocBytes", Field, 0}, + {"MemProfileRecord.AllocObjects", Field, 0}, + {"MemProfileRecord.FreeBytes", Field, 0}, + {"MemProfileRecord.FreeObjects", Field, 0}, + {"MemProfileRecord.Stack0", Field, 0}, + {"MemStats", Type, 0}, + {"MemStats.Alloc", Field, 0}, + {"MemStats.BuckHashSys", Field, 0}, + {"MemStats.BySize", Field, 0}, + {"MemStats.DebugGC", Field, 0}, + {"MemStats.EnableGC", Field, 0}, + {"MemStats.Frees", Field, 0}, + {"MemStats.GCCPUFraction", Field, 5}, + {"MemStats.GCSys", Field, 2}, + {"MemStats.HeapAlloc", Field, 0}, + {"MemStats.HeapIdle", Field, 0}, + {"MemStats.HeapInuse", Field, 0}, + {"MemStats.HeapObjects", Field, 0}, + {"MemStats.HeapReleased", Field, 0}, + {"MemStats.HeapSys", Field, 0}, + {"MemStats.LastGC", Field, 0}, + {"MemStats.Lookups", Field, 0}, + {"MemStats.MCacheInuse", Field, 0}, + {"MemStats.MCacheSys", Field, 0}, + {"MemStats.MSpanInuse", Field, 0}, + {"MemStats.MSpanSys", Field, 0}, + {"MemStats.Mallocs", Field, 0}, + {"MemStats.NextGC", Field, 0}, + {"MemStats.NumForcedGC", Field, 8}, + {"MemStats.NumGC", Field, 0}, + {"MemStats.OtherSys", Field, 2}, + {"MemStats.PauseEnd", Field, 4}, + {"MemStats.PauseNs", Field, 0}, + {"MemStats.PauseTotalNs", Field, 0}, + {"MemStats.StackInuse", Field, 0}, + {"MemStats.StackSys", Field, 0}, + {"MemStats.Sys", Field, 0}, + {"MemStats.TotalAlloc", Field, 0}, + {"MutexProfile", Func, 8}, + {"NumCPU", Func, 0}, + {"NumCgoCall", Func, 0}, + {"NumGoroutine", Func, 0}, + {"PanicNilError", Type, 21}, + {"Pinner", Type, 21}, + {"ReadMemStats", Func, 0}, + {"ReadTrace", Func, 5}, + {"SetBlockProfileRate", Func, 1}, + {"SetCPUProfileRate", Func, 0}, + {"SetCgoTraceback", Func, 7}, + {"SetFinalizer", Func, 0}, + {"SetMutexProfileFraction", Func, 8}, + {"Stack", Func, 0}, + {"StackRecord", Type, 0}, + {"StackRecord.Stack0", Field, 0}, + {"StartTrace", Func, 5}, + {"StopTrace", Func, 5}, + {"ThreadCreateProfile", Func, 0}, + {"TypeAssertionError", Type, 0}, + {"UnlockOSThread", Func, 0}, + {"Version", Func, 0}, + }, + "runtime/cgo": { + {"(Handle).Delete", Method, 17}, + {"(Handle).Value", Method, 17}, + {"Handle", Type, 17}, + {"Incomplete", Type, 20}, + {"NewHandle", Func, 17}, + }, + "runtime/coverage": { + {"ClearCounters", Func, 20}, + {"WriteCounters", Func, 20}, + {"WriteCountersDir", Func, 20}, + {"WriteMeta", Func, 20}, + {"WriteMetaDir", Func, 20}, + }, + "runtime/debug": { + {"(*BuildInfo).String", Method, 18}, + {"BuildInfo", Type, 12}, + {"BuildInfo.Deps", Field, 12}, + {"BuildInfo.GoVersion", Field, 18}, + {"BuildInfo.Main", Field, 12}, + {"BuildInfo.Path", Field, 12}, + {"BuildInfo.Settings", Field, 18}, + {"BuildSetting", Type, 18}, + {"BuildSetting.Key", Field, 18}, + {"BuildSetting.Value", Field, 18}, + {"FreeOSMemory", Func, 1}, + {"GCStats", Type, 1}, + {"GCStats.LastGC", Field, 1}, + {"GCStats.NumGC", Field, 1}, + {"GCStats.Pause", Field, 1}, + {"GCStats.PauseEnd", Field, 4}, + {"GCStats.PauseQuantiles", Field, 1}, + {"GCStats.PauseTotal", Field, 1}, + {"Module", Type, 12}, + {"Module.Path", Field, 12}, + {"Module.Replace", Field, 12}, + {"Module.Sum", Field, 12}, + {"Module.Version", Field, 12}, + {"ParseBuildInfo", Func, 18}, + {"PrintStack", Func, 0}, + {"ReadBuildInfo", Func, 12}, + {"ReadGCStats", Func, 1}, + {"SetGCPercent", Func, 1}, + {"SetMaxStack", Func, 2}, + {"SetMaxThreads", Func, 2}, + {"SetMemoryLimit", Func, 19}, + {"SetPanicOnFault", Func, 3}, + {"SetTraceback", Func, 6}, + {"Stack", Func, 0}, + {"WriteHeapDump", Func, 3}, + }, + "runtime/metrics": { + {"(Value).Float64", Method, 16}, + {"(Value).Float64Histogram", Method, 16}, + {"(Value).Kind", Method, 16}, + {"(Value).Uint64", Method, 16}, + {"All", Func, 16}, + {"Description", Type, 16}, + {"Description.Cumulative", Field, 16}, + {"Description.Description", Field, 16}, + {"Description.Kind", Field, 16}, + {"Description.Name", Field, 16}, + {"Float64Histogram", Type, 16}, + {"Float64Histogram.Buckets", Field, 16}, + {"Float64Histogram.Counts", Field, 16}, + {"KindBad", Const, 16}, + {"KindFloat64", Const, 16}, + {"KindFloat64Histogram", Const, 16}, + {"KindUint64", Const, 16}, + {"Read", Func, 16}, + {"Sample", Type, 16}, + {"Sample.Name", Field, 16}, + {"Sample.Value", Field, 16}, + {"Value", Type, 16}, + {"ValueKind", Type, 16}, + }, + "runtime/pprof": { + {"(*Profile).Add", Method, 0}, + {"(*Profile).Count", Method, 0}, + {"(*Profile).Name", Method, 0}, + {"(*Profile).Remove", Method, 0}, + {"(*Profile).WriteTo", Method, 0}, + {"Do", Func, 9}, + {"ForLabels", Func, 9}, + {"Label", Func, 9}, + {"LabelSet", Type, 9}, + {"Labels", Func, 9}, + {"Lookup", Func, 0}, + {"NewProfile", Func, 0}, + {"Profile", Type, 0}, + {"Profiles", Func, 0}, + {"SetGoroutineLabels", Func, 9}, + {"StartCPUProfile", Func, 0}, + {"StopCPUProfile", Func, 0}, + {"WithLabels", Func, 9}, + {"WriteHeapProfile", Func, 0}, + }, + "runtime/trace": { + {"(*Region).End", Method, 11}, + {"(*Task).End", Method, 11}, + {"IsEnabled", Func, 11}, + {"Log", Func, 11}, + {"Logf", Func, 11}, + {"NewTask", Func, 11}, + {"Region", Type, 11}, + {"Start", Func, 5}, + {"StartRegion", Func, 11}, + {"Stop", Func, 5}, + {"Task", Type, 11}, + {"WithRegion", Func, 11}, + }, + "slices": { + {"BinarySearch", Func, 21}, + {"BinarySearchFunc", Func, 21}, + {"Clip", Func, 21}, + {"Clone", Func, 21}, + {"Compact", Func, 21}, + {"CompactFunc", Func, 21}, + {"Compare", Func, 21}, + {"CompareFunc", Func, 21}, + {"Concat", Func, 22}, + {"Contains", Func, 21}, + {"ContainsFunc", Func, 21}, + {"Delete", Func, 21}, + {"DeleteFunc", Func, 21}, + {"Equal", Func, 21}, + {"EqualFunc", Func, 21}, + {"Grow", Func, 21}, + {"Index", Func, 21}, + {"IndexFunc", Func, 21}, + {"Insert", Func, 21}, + {"IsSorted", Func, 21}, + {"IsSortedFunc", Func, 21}, + {"Max", Func, 21}, + {"MaxFunc", Func, 21}, + {"Min", Func, 21}, + {"MinFunc", Func, 21}, + {"Replace", Func, 21}, + {"Reverse", Func, 21}, + {"Sort", Func, 21}, + {"SortFunc", Func, 21}, + {"SortStableFunc", Func, 21}, + }, + "sort": { + {"(Float64Slice).Len", Method, 0}, + {"(Float64Slice).Less", Method, 0}, + {"(Float64Slice).Search", Method, 0}, + {"(Float64Slice).Sort", Method, 0}, + {"(Float64Slice).Swap", Method, 0}, + {"(IntSlice).Len", Method, 0}, + {"(IntSlice).Less", Method, 0}, + {"(IntSlice).Search", Method, 0}, + {"(IntSlice).Sort", Method, 0}, + {"(IntSlice).Swap", Method, 0}, + {"(StringSlice).Len", Method, 0}, + {"(StringSlice).Less", Method, 0}, + {"(StringSlice).Search", Method, 0}, + {"(StringSlice).Sort", Method, 0}, + {"(StringSlice).Swap", Method, 0}, + {"Find", Func, 19}, + {"Float64Slice", Type, 0}, + {"Float64s", Func, 0}, + {"Float64sAreSorted", Func, 0}, + {"IntSlice", Type, 0}, + {"Interface", Type, 0}, + {"Ints", Func, 0}, + {"IntsAreSorted", Func, 0}, + {"IsSorted", Func, 0}, + {"Reverse", Func, 1}, + {"Search", Func, 0}, + {"SearchFloat64s", Func, 0}, + {"SearchInts", Func, 0}, + {"SearchStrings", Func, 0}, + {"Slice", Func, 8}, + {"SliceIsSorted", Func, 8}, + {"SliceStable", Func, 8}, + {"Sort", Func, 0}, + {"Stable", Func, 2}, + {"StringSlice", Type, 0}, + {"Strings", Func, 0}, + {"StringsAreSorted", Func, 0}, + }, + "strconv": { + {"(*NumError).Error", Method, 0}, + {"(*NumError).Unwrap", Method, 14}, + {"AppendBool", Func, 0}, + {"AppendFloat", Func, 0}, + {"AppendInt", Func, 0}, + {"AppendQuote", Func, 0}, + {"AppendQuoteRune", Func, 0}, + {"AppendQuoteRuneToASCII", Func, 0}, + {"AppendQuoteRuneToGraphic", Func, 6}, + {"AppendQuoteToASCII", Func, 0}, + {"AppendQuoteToGraphic", Func, 6}, + {"AppendUint", Func, 0}, + {"Atoi", Func, 0}, + {"CanBackquote", Func, 0}, + {"ErrRange", Var, 0}, + {"ErrSyntax", Var, 0}, + {"FormatBool", Func, 0}, + {"FormatComplex", Func, 15}, + {"FormatFloat", Func, 0}, + {"FormatInt", Func, 0}, + {"FormatUint", Func, 0}, + {"IntSize", Const, 0}, + {"IsGraphic", Func, 6}, + {"IsPrint", Func, 0}, + {"Itoa", Func, 0}, + {"NumError", Type, 0}, + {"NumError.Err", Field, 0}, + {"NumError.Func", Field, 0}, + {"NumError.Num", Field, 0}, + {"ParseBool", Func, 0}, + {"ParseComplex", Func, 15}, + {"ParseFloat", Func, 0}, + {"ParseInt", Func, 0}, + {"ParseUint", Func, 0}, + {"Quote", Func, 0}, + {"QuoteRune", Func, 0}, + {"QuoteRuneToASCII", Func, 0}, + {"QuoteRuneToGraphic", Func, 6}, + {"QuoteToASCII", Func, 0}, + {"QuoteToGraphic", Func, 6}, + {"QuotedPrefix", Func, 17}, + {"Unquote", Func, 0}, + {"UnquoteChar", Func, 0}, + }, + "strings": { + {"(*Builder).Cap", Method, 12}, + {"(*Builder).Grow", Method, 10}, + {"(*Builder).Len", Method, 10}, + {"(*Builder).Reset", Method, 10}, + {"(*Builder).String", Method, 10}, + {"(*Builder).Write", Method, 10}, + {"(*Builder).WriteByte", Method, 10}, + {"(*Builder).WriteRune", Method, 10}, + {"(*Builder).WriteString", Method, 10}, + {"(*Reader).Len", Method, 0}, + {"(*Reader).Read", Method, 0}, + {"(*Reader).ReadAt", Method, 0}, + {"(*Reader).ReadByte", Method, 0}, + {"(*Reader).ReadRune", Method, 0}, + {"(*Reader).Reset", Method, 7}, + {"(*Reader).Seek", Method, 0}, + {"(*Reader).Size", Method, 5}, + {"(*Reader).UnreadByte", Method, 0}, + {"(*Reader).UnreadRune", Method, 0}, + {"(*Reader).WriteTo", Method, 1}, + {"(*Replacer).Replace", Method, 0}, + {"(*Replacer).WriteString", Method, 0}, + {"Builder", Type, 10}, + {"Clone", Func, 18}, + {"Compare", Func, 5}, + {"Contains", Func, 0}, + {"ContainsAny", Func, 0}, + {"ContainsFunc", Func, 21}, + {"ContainsRune", Func, 0}, + {"Count", Func, 0}, + {"Cut", Func, 18}, + {"CutPrefix", Func, 20}, + {"CutSuffix", Func, 20}, + {"EqualFold", Func, 0}, + {"Fields", Func, 0}, + {"FieldsFunc", Func, 0}, + {"HasPrefix", Func, 0}, + {"HasSuffix", Func, 0}, + {"Index", Func, 0}, + {"IndexAny", Func, 0}, + {"IndexByte", Func, 2}, + {"IndexFunc", Func, 0}, + {"IndexRune", Func, 0}, + {"Join", Func, 0}, + {"LastIndex", Func, 0}, + {"LastIndexAny", Func, 0}, + {"LastIndexByte", Func, 5}, + {"LastIndexFunc", Func, 0}, + {"Map", Func, 0}, + {"NewReader", Func, 0}, + {"NewReplacer", Func, 0}, + {"Reader", Type, 0}, + {"Repeat", Func, 0}, + {"Replace", Func, 0}, + {"ReplaceAll", Func, 12}, + {"Replacer", Type, 0}, + {"Split", Func, 0}, + {"SplitAfter", Func, 0}, + {"SplitAfterN", Func, 0}, + {"SplitN", Func, 0}, + {"Title", Func, 0}, + {"ToLower", Func, 0}, + {"ToLowerSpecial", Func, 0}, + {"ToTitle", Func, 0}, + {"ToTitleSpecial", Func, 0}, + {"ToUpper", Func, 0}, + {"ToUpperSpecial", Func, 0}, + {"ToValidUTF8", Func, 13}, + {"Trim", Func, 0}, + {"TrimFunc", Func, 0}, + {"TrimLeft", Func, 0}, + {"TrimLeftFunc", Func, 0}, + {"TrimPrefix", Func, 1}, + {"TrimRight", Func, 0}, + {"TrimRightFunc", Func, 0}, + {"TrimSpace", Func, 0}, + {"TrimSuffix", Func, 1}, + }, + "sync": { + {"(*Cond).Broadcast", Method, 0}, + {"(*Cond).Signal", Method, 0}, + {"(*Cond).Wait", Method, 0}, + {"(*Map).CompareAndDelete", Method, 20}, + {"(*Map).CompareAndSwap", Method, 20}, + {"(*Map).Delete", Method, 9}, + {"(*Map).Load", Method, 9}, + {"(*Map).LoadAndDelete", Method, 15}, + {"(*Map).LoadOrStore", Method, 9}, + {"(*Map).Range", Method, 9}, + {"(*Map).Store", Method, 9}, + {"(*Map).Swap", Method, 20}, + {"(*Mutex).Lock", Method, 0}, + {"(*Mutex).TryLock", Method, 18}, + {"(*Mutex).Unlock", Method, 0}, + {"(*Once).Do", Method, 0}, + {"(*Pool).Get", Method, 3}, + {"(*Pool).Put", Method, 3}, + {"(*RWMutex).Lock", Method, 0}, + {"(*RWMutex).RLock", Method, 0}, + {"(*RWMutex).RLocker", Method, 0}, + {"(*RWMutex).RUnlock", Method, 0}, + {"(*RWMutex).TryLock", Method, 18}, + {"(*RWMutex).TryRLock", Method, 18}, + {"(*RWMutex).Unlock", Method, 0}, + {"(*WaitGroup).Add", Method, 0}, + {"(*WaitGroup).Done", Method, 0}, + {"(*WaitGroup).Wait", Method, 0}, + {"Cond", Type, 0}, + {"Cond.L", Field, 0}, + {"Locker", Type, 0}, + {"Map", Type, 9}, + {"Mutex", Type, 0}, + {"NewCond", Func, 0}, + {"Once", Type, 0}, + {"OnceFunc", Func, 21}, + {"OnceValue", Func, 21}, + {"OnceValues", Func, 21}, + {"Pool", Type, 3}, + {"Pool.New", Field, 3}, + {"RWMutex", Type, 0}, + {"WaitGroup", Type, 0}, + }, + "sync/atomic": { + {"(*Bool).CompareAndSwap", Method, 19}, + {"(*Bool).Load", Method, 19}, + {"(*Bool).Store", Method, 19}, + {"(*Bool).Swap", Method, 19}, + {"(*Int32).Add", Method, 19}, + {"(*Int32).CompareAndSwap", Method, 19}, + {"(*Int32).Load", Method, 19}, + {"(*Int32).Store", Method, 19}, + {"(*Int32).Swap", Method, 19}, + {"(*Int64).Add", Method, 19}, + {"(*Int64).CompareAndSwap", Method, 19}, + {"(*Int64).Load", Method, 19}, + {"(*Int64).Store", Method, 19}, + {"(*Int64).Swap", Method, 19}, + {"(*Pointer).CompareAndSwap", Method, 19}, + {"(*Pointer).Load", Method, 19}, + {"(*Pointer).Store", Method, 19}, + {"(*Pointer).Swap", Method, 19}, + {"(*Uint32).Add", Method, 19}, + {"(*Uint32).CompareAndSwap", Method, 19}, + {"(*Uint32).Load", Method, 19}, + {"(*Uint32).Store", Method, 19}, + {"(*Uint32).Swap", Method, 19}, + {"(*Uint64).Add", Method, 19}, + {"(*Uint64).CompareAndSwap", Method, 19}, + {"(*Uint64).Load", Method, 19}, + {"(*Uint64).Store", Method, 19}, + {"(*Uint64).Swap", Method, 19}, + {"(*Uintptr).Add", Method, 19}, + {"(*Uintptr).CompareAndSwap", Method, 19}, + {"(*Uintptr).Load", Method, 19}, + {"(*Uintptr).Store", Method, 19}, + {"(*Uintptr).Swap", Method, 19}, + {"(*Value).CompareAndSwap", Method, 17}, + {"(*Value).Load", Method, 4}, + {"(*Value).Store", Method, 4}, + {"(*Value).Swap", Method, 17}, + {"AddInt32", Func, 0}, + {"AddInt64", Func, 0}, + {"AddUint32", Func, 0}, + {"AddUint64", Func, 0}, + {"AddUintptr", Func, 0}, + {"Bool", Type, 19}, + {"CompareAndSwapInt32", Func, 0}, + {"CompareAndSwapInt64", Func, 0}, + {"CompareAndSwapPointer", Func, 0}, + {"CompareAndSwapUint32", Func, 0}, + {"CompareAndSwapUint64", Func, 0}, + {"CompareAndSwapUintptr", Func, 0}, + {"Int32", Type, 19}, + {"Int64", Type, 19}, + {"LoadInt32", Func, 0}, + {"LoadInt64", Func, 0}, + {"LoadPointer", Func, 0}, + {"LoadUint32", Func, 0}, + {"LoadUint64", Func, 0}, + {"LoadUintptr", Func, 0}, + {"Pointer", Type, 19}, + {"StoreInt32", Func, 0}, + {"StoreInt64", Func, 0}, + {"StorePointer", Func, 0}, + {"StoreUint32", Func, 0}, + {"StoreUint64", Func, 0}, + {"StoreUintptr", Func, 0}, + {"SwapInt32", Func, 2}, + {"SwapInt64", Func, 2}, + {"SwapPointer", Func, 2}, + {"SwapUint32", Func, 2}, + {"SwapUint64", Func, 2}, + {"SwapUintptr", Func, 2}, + {"Uint32", Type, 19}, + {"Uint64", Type, 19}, + {"Uintptr", Type, 19}, + {"Value", Type, 4}, + }, + "syscall": { + {"(*Cmsghdr).SetLen", Method, 0}, + {"(*DLL).FindProc", Method, 0}, + {"(*DLL).MustFindProc", Method, 0}, + {"(*DLL).Release", Method, 0}, + {"(*DLLError).Error", Method, 0}, + {"(*DLLError).Unwrap", Method, 16}, + {"(*Filetime).Nanoseconds", Method, 0}, + {"(*Iovec).SetLen", Method, 0}, + {"(*LazyDLL).Handle", Method, 0}, + {"(*LazyDLL).Load", Method, 0}, + {"(*LazyDLL).NewProc", Method, 0}, + {"(*LazyProc).Addr", Method, 0}, + {"(*LazyProc).Call", Method, 0}, + {"(*LazyProc).Find", Method, 0}, + {"(*Msghdr).SetControllen", Method, 0}, + {"(*Proc).Addr", Method, 0}, + {"(*Proc).Call", Method, 0}, + {"(*PtraceRegs).PC", Method, 0}, + {"(*PtraceRegs).SetPC", Method, 0}, + {"(*RawSockaddrAny).Sockaddr", Method, 0}, + {"(*SID).Copy", Method, 0}, + {"(*SID).Len", Method, 0}, + {"(*SID).LookupAccount", Method, 0}, + {"(*SID).String", Method, 0}, + {"(*Timespec).Nano", Method, 0}, + {"(*Timespec).Unix", Method, 0}, + {"(*Timeval).Nano", Method, 0}, + {"(*Timeval).Nanoseconds", Method, 0}, + {"(*Timeval).Unix", Method, 0}, + {"(Errno).Error", Method, 0}, + {"(Errno).Is", Method, 13}, + {"(Errno).Temporary", Method, 0}, + {"(Errno).Timeout", Method, 0}, + {"(Signal).Signal", Method, 0}, + {"(Signal).String", Method, 0}, + {"(Token).Close", Method, 0}, + {"(Token).GetTokenPrimaryGroup", Method, 0}, + {"(Token).GetTokenUser", Method, 0}, + {"(Token).GetUserProfileDirectory", Method, 0}, + {"(WaitStatus).Continued", Method, 0}, + {"(WaitStatus).CoreDump", Method, 0}, + {"(WaitStatus).ExitStatus", Method, 0}, + {"(WaitStatus).Exited", Method, 0}, + {"(WaitStatus).Signal", Method, 0}, + {"(WaitStatus).Signaled", Method, 0}, + {"(WaitStatus).StopSignal", Method, 0}, + {"(WaitStatus).Stopped", Method, 0}, + {"(WaitStatus).TrapCause", Method, 0}, + {"AF_ALG", Const, 0}, + {"AF_APPLETALK", Const, 0}, + {"AF_ARP", Const, 0}, + {"AF_ASH", Const, 0}, + {"AF_ATM", Const, 0}, + {"AF_ATMPVC", Const, 0}, + {"AF_ATMSVC", Const, 0}, + {"AF_AX25", Const, 0}, + {"AF_BLUETOOTH", Const, 0}, + {"AF_BRIDGE", Const, 0}, + {"AF_CAIF", Const, 0}, + {"AF_CAN", Const, 0}, + {"AF_CCITT", Const, 0}, + {"AF_CHAOS", Const, 0}, + {"AF_CNT", Const, 0}, + {"AF_COIP", Const, 0}, + {"AF_DATAKIT", Const, 0}, + {"AF_DECnet", Const, 0}, + {"AF_DLI", Const, 0}, + {"AF_E164", Const, 0}, + {"AF_ECMA", Const, 0}, + {"AF_ECONET", Const, 0}, + {"AF_ENCAP", Const, 1}, + {"AF_FILE", Const, 0}, + {"AF_HYLINK", Const, 0}, + {"AF_IEEE80211", Const, 0}, + {"AF_IEEE802154", Const, 0}, + {"AF_IMPLINK", Const, 0}, + {"AF_INET", Const, 0}, + {"AF_INET6", Const, 0}, + {"AF_INET6_SDP", Const, 3}, + {"AF_INET_SDP", Const, 3}, + {"AF_IPX", Const, 0}, + {"AF_IRDA", Const, 0}, + {"AF_ISDN", Const, 0}, + {"AF_ISO", Const, 0}, + {"AF_IUCV", Const, 0}, + {"AF_KEY", Const, 0}, + {"AF_LAT", Const, 0}, + {"AF_LINK", Const, 0}, + {"AF_LLC", Const, 0}, + {"AF_LOCAL", Const, 0}, + {"AF_MAX", Const, 0}, + {"AF_MPLS", Const, 1}, + {"AF_NATM", Const, 0}, + {"AF_NDRV", Const, 0}, + {"AF_NETBEUI", Const, 0}, + {"AF_NETBIOS", Const, 0}, + {"AF_NETGRAPH", Const, 0}, + {"AF_NETLINK", Const, 0}, + {"AF_NETROM", Const, 0}, + {"AF_NS", Const, 0}, + {"AF_OROUTE", Const, 1}, + {"AF_OSI", Const, 0}, + {"AF_PACKET", Const, 0}, + {"AF_PHONET", Const, 0}, + {"AF_PPP", Const, 0}, + {"AF_PPPOX", Const, 0}, + {"AF_PUP", Const, 0}, + {"AF_RDS", Const, 0}, + {"AF_RESERVED_36", Const, 0}, + {"AF_ROSE", Const, 0}, + {"AF_ROUTE", Const, 0}, + {"AF_RXRPC", Const, 0}, + {"AF_SCLUSTER", Const, 0}, + {"AF_SECURITY", Const, 0}, + {"AF_SIP", Const, 0}, + {"AF_SLOW", Const, 0}, + {"AF_SNA", Const, 0}, + {"AF_SYSTEM", Const, 0}, + {"AF_TIPC", Const, 0}, + {"AF_UNIX", Const, 0}, + {"AF_UNSPEC", Const, 0}, + {"AF_UTUN", Const, 16}, + {"AF_VENDOR00", Const, 0}, + {"AF_VENDOR01", Const, 0}, + {"AF_VENDOR02", Const, 0}, + {"AF_VENDOR03", Const, 0}, + {"AF_VENDOR04", Const, 0}, + {"AF_VENDOR05", Const, 0}, + {"AF_VENDOR06", Const, 0}, + {"AF_VENDOR07", Const, 0}, + {"AF_VENDOR08", Const, 0}, + {"AF_VENDOR09", Const, 0}, + {"AF_VENDOR10", Const, 0}, + {"AF_VENDOR11", Const, 0}, + {"AF_VENDOR12", Const, 0}, + {"AF_VENDOR13", Const, 0}, + {"AF_VENDOR14", Const, 0}, + {"AF_VENDOR15", Const, 0}, + {"AF_VENDOR16", Const, 0}, + {"AF_VENDOR17", Const, 0}, + {"AF_VENDOR18", Const, 0}, + {"AF_VENDOR19", Const, 0}, + {"AF_VENDOR20", Const, 0}, + {"AF_VENDOR21", Const, 0}, + {"AF_VENDOR22", Const, 0}, + {"AF_VENDOR23", Const, 0}, + {"AF_VENDOR24", Const, 0}, + {"AF_VENDOR25", Const, 0}, + {"AF_VENDOR26", Const, 0}, + {"AF_VENDOR27", Const, 0}, + {"AF_VENDOR28", Const, 0}, + {"AF_VENDOR29", Const, 0}, + {"AF_VENDOR30", Const, 0}, + {"AF_VENDOR31", Const, 0}, + {"AF_VENDOR32", Const, 0}, + {"AF_VENDOR33", Const, 0}, + {"AF_VENDOR34", Const, 0}, + {"AF_VENDOR35", Const, 0}, + {"AF_VENDOR36", Const, 0}, + {"AF_VENDOR37", Const, 0}, + {"AF_VENDOR38", Const, 0}, + {"AF_VENDOR39", Const, 0}, + {"AF_VENDOR40", Const, 0}, + {"AF_VENDOR41", Const, 0}, + {"AF_VENDOR42", Const, 0}, + {"AF_VENDOR43", Const, 0}, + {"AF_VENDOR44", Const, 0}, + {"AF_VENDOR45", Const, 0}, + {"AF_VENDOR46", Const, 0}, + {"AF_VENDOR47", Const, 0}, + {"AF_WANPIPE", Const, 0}, + {"AF_X25", Const, 0}, + {"AI_CANONNAME", Const, 1}, + {"AI_NUMERICHOST", Const, 1}, + {"AI_PASSIVE", Const, 1}, + {"APPLICATION_ERROR", Const, 0}, + {"ARPHRD_ADAPT", Const, 0}, + {"ARPHRD_APPLETLK", Const, 0}, + {"ARPHRD_ARCNET", Const, 0}, + {"ARPHRD_ASH", Const, 0}, + {"ARPHRD_ATM", Const, 0}, + {"ARPHRD_AX25", Const, 0}, + {"ARPHRD_BIF", Const, 0}, + {"ARPHRD_CHAOS", Const, 0}, + {"ARPHRD_CISCO", Const, 0}, + {"ARPHRD_CSLIP", Const, 0}, + {"ARPHRD_CSLIP6", Const, 0}, + {"ARPHRD_DDCMP", Const, 0}, + {"ARPHRD_DLCI", Const, 0}, + {"ARPHRD_ECONET", Const, 0}, + {"ARPHRD_EETHER", Const, 0}, + {"ARPHRD_ETHER", Const, 0}, + {"ARPHRD_EUI64", Const, 0}, + {"ARPHRD_FCAL", Const, 0}, + {"ARPHRD_FCFABRIC", Const, 0}, + {"ARPHRD_FCPL", Const, 0}, + {"ARPHRD_FCPP", Const, 0}, + {"ARPHRD_FDDI", Const, 0}, + {"ARPHRD_FRAD", Const, 0}, + {"ARPHRD_FRELAY", Const, 1}, + {"ARPHRD_HDLC", Const, 0}, + {"ARPHRD_HIPPI", Const, 0}, + {"ARPHRD_HWX25", Const, 0}, + {"ARPHRD_IEEE1394", Const, 0}, + {"ARPHRD_IEEE802", Const, 0}, + {"ARPHRD_IEEE80211", Const, 0}, + {"ARPHRD_IEEE80211_PRISM", Const, 0}, + {"ARPHRD_IEEE80211_RADIOTAP", Const, 0}, + {"ARPHRD_IEEE802154", Const, 0}, + {"ARPHRD_IEEE802154_PHY", Const, 0}, + {"ARPHRD_IEEE802_TR", Const, 0}, + {"ARPHRD_INFINIBAND", Const, 0}, + {"ARPHRD_IPDDP", Const, 0}, + {"ARPHRD_IPGRE", Const, 0}, + {"ARPHRD_IRDA", Const, 0}, + {"ARPHRD_LAPB", Const, 0}, + {"ARPHRD_LOCALTLK", Const, 0}, + {"ARPHRD_LOOPBACK", Const, 0}, + {"ARPHRD_METRICOM", Const, 0}, + {"ARPHRD_NETROM", Const, 0}, + {"ARPHRD_NONE", Const, 0}, + {"ARPHRD_PIMREG", Const, 0}, + {"ARPHRD_PPP", Const, 0}, + {"ARPHRD_PRONET", Const, 0}, + {"ARPHRD_RAWHDLC", Const, 0}, + {"ARPHRD_ROSE", Const, 0}, + {"ARPHRD_RSRVD", Const, 0}, + {"ARPHRD_SIT", Const, 0}, + {"ARPHRD_SKIP", Const, 0}, + {"ARPHRD_SLIP", Const, 0}, + {"ARPHRD_SLIP6", Const, 0}, + {"ARPHRD_STRIP", Const, 1}, + {"ARPHRD_TUNNEL", Const, 0}, + {"ARPHRD_TUNNEL6", Const, 0}, + {"ARPHRD_VOID", Const, 0}, + {"ARPHRD_X25", Const, 0}, + {"AUTHTYPE_CLIENT", Const, 0}, + {"AUTHTYPE_SERVER", Const, 0}, + {"Accept", Func, 0}, + {"Accept4", Func, 1}, + {"AcceptEx", Func, 0}, + {"Access", Func, 0}, + {"Acct", Func, 0}, + {"AddrinfoW", Type, 1}, + {"AddrinfoW.Addr", Field, 1}, + {"AddrinfoW.Addrlen", Field, 1}, + {"AddrinfoW.Canonname", Field, 1}, + {"AddrinfoW.Family", Field, 1}, + {"AddrinfoW.Flags", Field, 1}, + {"AddrinfoW.Next", Field, 1}, + {"AddrinfoW.Protocol", Field, 1}, + {"AddrinfoW.Socktype", Field, 1}, + {"Adjtime", Func, 0}, + {"Adjtimex", Func, 0}, + {"AllThreadsSyscall", Func, 16}, + {"AllThreadsSyscall6", Func, 16}, + {"AttachLsf", Func, 0}, + {"B0", Const, 0}, + {"B1000000", Const, 0}, + {"B110", Const, 0}, + {"B115200", Const, 0}, + {"B1152000", Const, 0}, + {"B1200", Const, 0}, + {"B134", Const, 0}, + {"B14400", Const, 1}, + {"B150", Const, 0}, + {"B1500000", Const, 0}, + {"B1800", Const, 0}, + {"B19200", Const, 0}, + {"B200", Const, 0}, + {"B2000000", Const, 0}, + {"B230400", Const, 0}, + {"B2400", Const, 0}, + {"B2500000", Const, 0}, + {"B28800", Const, 1}, + {"B300", Const, 0}, + {"B3000000", Const, 0}, + {"B3500000", Const, 0}, + {"B38400", Const, 0}, + {"B4000000", Const, 0}, + {"B460800", Const, 0}, + {"B4800", Const, 0}, + {"B50", Const, 0}, + {"B500000", Const, 0}, + {"B57600", Const, 0}, + {"B576000", Const, 0}, + {"B600", Const, 0}, + {"B7200", Const, 1}, + {"B75", Const, 0}, + {"B76800", Const, 1}, + {"B921600", Const, 0}, + {"B9600", Const, 0}, + {"BASE_PROTOCOL", Const, 2}, + {"BIOCFEEDBACK", Const, 0}, + {"BIOCFLUSH", Const, 0}, + {"BIOCGBLEN", Const, 0}, + {"BIOCGDIRECTION", Const, 0}, + {"BIOCGDIRFILT", Const, 1}, + {"BIOCGDLT", Const, 0}, + {"BIOCGDLTLIST", Const, 0}, + {"BIOCGETBUFMODE", Const, 0}, + {"BIOCGETIF", Const, 0}, + {"BIOCGETZMAX", Const, 0}, + {"BIOCGFEEDBACK", Const, 1}, + {"BIOCGFILDROP", Const, 1}, + {"BIOCGHDRCMPLT", Const, 0}, + {"BIOCGRSIG", Const, 0}, + {"BIOCGRTIMEOUT", Const, 0}, + {"BIOCGSEESENT", Const, 0}, + {"BIOCGSTATS", Const, 0}, + {"BIOCGSTATSOLD", Const, 1}, + {"BIOCGTSTAMP", Const, 1}, + {"BIOCIMMEDIATE", Const, 0}, + {"BIOCLOCK", Const, 0}, + {"BIOCPROMISC", Const, 0}, + {"BIOCROTZBUF", Const, 0}, + {"BIOCSBLEN", Const, 0}, + {"BIOCSDIRECTION", Const, 0}, + {"BIOCSDIRFILT", Const, 1}, + {"BIOCSDLT", Const, 0}, + {"BIOCSETBUFMODE", Const, 0}, + {"BIOCSETF", Const, 0}, + {"BIOCSETFNR", Const, 0}, + {"BIOCSETIF", Const, 0}, + {"BIOCSETWF", Const, 0}, + {"BIOCSETZBUF", Const, 0}, + {"BIOCSFEEDBACK", Const, 1}, + {"BIOCSFILDROP", Const, 1}, + {"BIOCSHDRCMPLT", Const, 0}, + {"BIOCSRSIG", Const, 0}, + {"BIOCSRTIMEOUT", Const, 0}, + {"BIOCSSEESENT", Const, 0}, + {"BIOCSTCPF", Const, 1}, + {"BIOCSTSTAMP", Const, 1}, + {"BIOCSUDPF", Const, 1}, + {"BIOCVERSION", Const, 0}, + {"BPF_A", Const, 0}, + {"BPF_ABS", Const, 0}, + {"BPF_ADD", Const, 0}, + {"BPF_ALIGNMENT", Const, 0}, + {"BPF_ALIGNMENT32", Const, 1}, + {"BPF_ALU", Const, 0}, + {"BPF_AND", Const, 0}, + {"BPF_B", Const, 0}, + {"BPF_BUFMODE_BUFFER", Const, 0}, + {"BPF_BUFMODE_ZBUF", Const, 0}, + {"BPF_DFLTBUFSIZE", Const, 1}, + {"BPF_DIRECTION_IN", Const, 1}, + {"BPF_DIRECTION_OUT", Const, 1}, + {"BPF_DIV", Const, 0}, + {"BPF_H", Const, 0}, + {"BPF_IMM", Const, 0}, + {"BPF_IND", Const, 0}, + {"BPF_JA", Const, 0}, + {"BPF_JEQ", Const, 0}, + {"BPF_JGE", Const, 0}, + {"BPF_JGT", Const, 0}, + {"BPF_JMP", Const, 0}, + {"BPF_JSET", Const, 0}, + {"BPF_K", Const, 0}, + {"BPF_LD", Const, 0}, + {"BPF_LDX", Const, 0}, + {"BPF_LEN", Const, 0}, + {"BPF_LSH", Const, 0}, + {"BPF_MAJOR_VERSION", Const, 0}, + {"BPF_MAXBUFSIZE", Const, 0}, + {"BPF_MAXINSNS", Const, 0}, + {"BPF_MEM", Const, 0}, + {"BPF_MEMWORDS", Const, 0}, + {"BPF_MINBUFSIZE", Const, 0}, + {"BPF_MINOR_VERSION", Const, 0}, + {"BPF_MISC", Const, 0}, + {"BPF_MSH", Const, 0}, + {"BPF_MUL", Const, 0}, + {"BPF_NEG", Const, 0}, + {"BPF_OR", Const, 0}, + {"BPF_RELEASE", Const, 0}, + {"BPF_RET", Const, 0}, + {"BPF_RSH", Const, 0}, + {"BPF_ST", Const, 0}, + {"BPF_STX", Const, 0}, + {"BPF_SUB", Const, 0}, + {"BPF_TAX", Const, 0}, + {"BPF_TXA", Const, 0}, + {"BPF_T_BINTIME", Const, 1}, + {"BPF_T_BINTIME_FAST", Const, 1}, + {"BPF_T_BINTIME_MONOTONIC", Const, 1}, + {"BPF_T_BINTIME_MONOTONIC_FAST", Const, 1}, + {"BPF_T_FAST", Const, 1}, + {"BPF_T_FLAG_MASK", Const, 1}, + {"BPF_T_FORMAT_MASK", Const, 1}, + {"BPF_T_MICROTIME", Const, 1}, + {"BPF_T_MICROTIME_FAST", Const, 1}, + {"BPF_T_MICROTIME_MONOTONIC", Const, 1}, + {"BPF_T_MICROTIME_MONOTONIC_FAST", Const, 1}, + {"BPF_T_MONOTONIC", Const, 1}, + {"BPF_T_MONOTONIC_FAST", Const, 1}, + {"BPF_T_NANOTIME", Const, 1}, + {"BPF_T_NANOTIME_FAST", Const, 1}, + {"BPF_T_NANOTIME_MONOTONIC", Const, 1}, + {"BPF_T_NANOTIME_MONOTONIC_FAST", Const, 1}, + {"BPF_T_NONE", Const, 1}, + {"BPF_T_NORMAL", Const, 1}, + {"BPF_W", Const, 0}, + {"BPF_X", Const, 0}, + {"BRKINT", Const, 0}, + {"Bind", Func, 0}, + {"BindToDevice", Func, 0}, + {"BpfBuflen", Func, 0}, + {"BpfDatalink", Func, 0}, + {"BpfHdr", Type, 0}, + {"BpfHdr.Caplen", Field, 0}, + {"BpfHdr.Datalen", Field, 0}, + {"BpfHdr.Hdrlen", Field, 0}, + {"BpfHdr.Pad_cgo_0", Field, 0}, + {"BpfHdr.Tstamp", Field, 0}, + {"BpfHeadercmpl", Func, 0}, + {"BpfInsn", Type, 0}, + {"BpfInsn.Code", Field, 0}, + {"BpfInsn.Jf", Field, 0}, + {"BpfInsn.Jt", Field, 0}, + {"BpfInsn.K", Field, 0}, + {"BpfInterface", Func, 0}, + {"BpfJump", Func, 0}, + {"BpfProgram", Type, 0}, + {"BpfProgram.Insns", Field, 0}, + {"BpfProgram.Len", Field, 0}, + {"BpfProgram.Pad_cgo_0", Field, 0}, + {"BpfStat", Type, 0}, + {"BpfStat.Capt", Field, 2}, + {"BpfStat.Drop", Field, 0}, + {"BpfStat.Padding", Field, 2}, + {"BpfStat.Recv", Field, 0}, + {"BpfStats", Func, 0}, + {"BpfStmt", Func, 0}, + {"BpfTimeout", Func, 0}, + {"BpfTimeval", Type, 2}, + {"BpfTimeval.Sec", Field, 2}, + {"BpfTimeval.Usec", Field, 2}, + {"BpfVersion", Type, 0}, + {"BpfVersion.Major", Field, 0}, + {"BpfVersion.Minor", Field, 0}, + {"BpfZbuf", Type, 0}, + {"BpfZbuf.Bufa", Field, 0}, + {"BpfZbuf.Bufb", Field, 0}, + {"BpfZbuf.Buflen", Field, 0}, + {"BpfZbufHeader", Type, 0}, + {"BpfZbufHeader.Kernel_gen", Field, 0}, + {"BpfZbufHeader.Kernel_len", Field, 0}, + {"BpfZbufHeader.User_gen", Field, 0}, + {"BpfZbufHeader.X_bzh_pad", Field, 0}, + {"ByHandleFileInformation", Type, 0}, + {"ByHandleFileInformation.CreationTime", Field, 0}, + {"ByHandleFileInformation.FileAttributes", Field, 0}, + {"ByHandleFileInformation.FileIndexHigh", Field, 0}, + {"ByHandleFileInformation.FileIndexLow", Field, 0}, + {"ByHandleFileInformation.FileSizeHigh", Field, 0}, + {"ByHandleFileInformation.FileSizeLow", Field, 0}, + {"ByHandleFileInformation.LastAccessTime", Field, 0}, + {"ByHandleFileInformation.LastWriteTime", Field, 0}, + {"ByHandleFileInformation.NumberOfLinks", Field, 0}, + {"ByHandleFileInformation.VolumeSerialNumber", Field, 0}, + {"BytePtrFromString", Func, 1}, + {"ByteSliceFromString", Func, 1}, + {"CCR0_FLUSH", Const, 1}, + {"CERT_CHAIN_POLICY_AUTHENTICODE", Const, 0}, + {"CERT_CHAIN_POLICY_AUTHENTICODE_TS", Const, 0}, + {"CERT_CHAIN_POLICY_BASE", Const, 0}, + {"CERT_CHAIN_POLICY_BASIC_CONSTRAINTS", Const, 0}, + {"CERT_CHAIN_POLICY_EV", Const, 0}, + {"CERT_CHAIN_POLICY_MICROSOFT_ROOT", Const, 0}, + {"CERT_CHAIN_POLICY_NT_AUTH", Const, 0}, + {"CERT_CHAIN_POLICY_SSL", Const, 0}, + {"CERT_E_CN_NO_MATCH", Const, 0}, + {"CERT_E_EXPIRED", Const, 0}, + {"CERT_E_PURPOSE", Const, 0}, + {"CERT_E_ROLE", Const, 0}, + {"CERT_E_UNTRUSTEDROOT", Const, 0}, + {"CERT_STORE_ADD_ALWAYS", Const, 0}, + {"CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG", Const, 0}, + {"CERT_STORE_PROV_MEMORY", Const, 0}, + {"CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT", Const, 0}, + {"CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT", Const, 0}, + {"CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT", Const, 0}, + {"CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT", Const, 0}, + {"CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT", Const, 0}, + {"CERT_TRUST_INVALID_BASIC_CONSTRAINTS", Const, 0}, + {"CERT_TRUST_INVALID_EXTENSION", Const, 0}, + {"CERT_TRUST_INVALID_NAME_CONSTRAINTS", Const, 0}, + {"CERT_TRUST_INVALID_POLICY_CONSTRAINTS", Const, 0}, + {"CERT_TRUST_IS_CYCLIC", Const, 0}, + {"CERT_TRUST_IS_EXPLICIT_DISTRUST", Const, 0}, + {"CERT_TRUST_IS_NOT_SIGNATURE_VALID", Const, 0}, + {"CERT_TRUST_IS_NOT_TIME_VALID", Const, 0}, + {"CERT_TRUST_IS_NOT_VALID_FOR_USAGE", Const, 0}, + {"CERT_TRUST_IS_OFFLINE_REVOCATION", Const, 0}, + {"CERT_TRUST_IS_REVOKED", Const, 0}, + {"CERT_TRUST_IS_UNTRUSTED_ROOT", Const, 0}, + {"CERT_TRUST_NO_ERROR", Const, 0}, + {"CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY", Const, 0}, + {"CERT_TRUST_REVOCATION_STATUS_UNKNOWN", Const, 0}, + {"CFLUSH", Const, 1}, + {"CLOCAL", Const, 0}, + {"CLONE_CHILD_CLEARTID", Const, 2}, + {"CLONE_CHILD_SETTID", Const, 2}, + {"CLONE_CLEAR_SIGHAND", Const, 20}, + {"CLONE_CSIGNAL", Const, 3}, + {"CLONE_DETACHED", Const, 2}, + {"CLONE_FILES", Const, 2}, + {"CLONE_FS", Const, 2}, + {"CLONE_INTO_CGROUP", Const, 20}, + {"CLONE_IO", Const, 2}, + {"CLONE_NEWCGROUP", Const, 20}, + {"CLONE_NEWIPC", Const, 2}, + {"CLONE_NEWNET", Const, 2}, + {"CLONE_NEWNS", Const, 2}, + {"CLONE_NEWPID", Const, 2}, + {"CLONE_NEWTIME", Const, 20}, + {"CLONE_NEWUSER", Const, 2}, + {"CLONE_NEWUTS", Const, 2}, + {"CLONE_PARENT", Const, 2}, + {"CLONE_PARENT_SETTID", Const, 2}, + {"CLONE_PID", Const, 3}, + {"CLONE_PIDFD", Const, 20}, + {"CLONE_PTRACE", Const, 2}, + {"CLONE_SETTLS", Const, 2}, + {"CLONE_SIGHAND", Const, 2}, + {"CLONE_SYSVSEM", Const, 2}, + {"CLONE_THREAD", Const, 2}, + {"CLONE_UNTRACED", Const, 2}, + {"CLONE_VFORK", Const, 2}, + {"CLONE_VM", Const, 2}, + {"CPUID_CFLUSH", Const, 1}, + {"CREAD", Const, 0}, + {"CREATE_ALWAYS", Const, 0}, + {"CREATE_NEW", Const, 0}, + {"CREATE_NEW_PROCESS_GROUP", Const, 1}, + {"CREATE_UNICODE_ENVIRONMENT", Const, 0}, + {"CRYPT_DEFAULT_CONTAINER_OPTIONAL", Const, 0}, + {"CRYPT_DELETEKEYSET", Const, 0}, + {"CRYPT_MACHINE_KEYSET", Const, 0}, + {"CRYPT_NEWKEYSET", Const, 0}, + {"CRYPT_SILENT", Const, 0}, + {"CRYPT_VERIFYCONTEXT", Const, 0}, + {"CS5", Const, 0}, + {"CS6", Const, 0}, + {"CS7", Const, 0}, + {"CS8", Const, 0}, + {"CSIZE", Const, 0}, + {"CSTART", Const, 1}, + {"CSTATUS", Const, 1}, + {"CSTOP", Const, 1}, + {"CSTOPB", Const, 0}, + {"CSUSP", Const, 1}, + {"CTL_MAXNAME", Const, 0}, + {"CTL_NET", Const, 0}, + {"CTL_QUERY", Const, 1}, + {"CTRL_BREAK_EVENT", Const, 1}, + {"CTRL_CLOSE_EVENT", Const, 14}, + {"CTRL_C_EVENT", Const, 1}, + {"CTRL_LOGOFF_EVENT", Const, 14}, + {"CTRL_SHUTDOWN_EVENT", Const, 14}, + {"CancelIo", Func, 0}, + {"CancelIoEx", Func, 1}, + {"CertAddCertificateContextToStore", Func, 0}, + {"CertChainContext", Type, 0}, + {"CertChainContext.ChainCount", Field, 0}, + {"CertChainContext.Chains", Field, 0}, + {"CertChainContext.HasRevocationFreshnessTime", Field, 0}, + {"CertChainContext.LowerQualityChainCount", Field, 0}, + {"CertChainContext.LowerQualityChains", Field, 0}, + {"CertChainContext.RevocationFreshnessTime", Field, 0}, + {"CertChainContext.Size", Field, 0}, + {"CertChainContext.TrustStatus", Field, 0}, + {"CertChainElement", Type, 0}, + {"CertChainElement.ApplicationUsage", Field, 0}, + {"CertChainElement.CertContext", Field, 0}, + {"CertChainElement.ExtendedErrorInfo", Field, 0}, + {"CertChainElement.IssuanceUsage", Field, 0}, + {"CertChainElement.RevocationInfo", Field, 0}, + {"CertChainElement.Size", Field, 0}, + {"CertChainElement.TrustStatus", Field, 0}, + {"CertChainPara", Type, 0}, + {"CertChainPara.CacheResync", Field, 0}, + {"CertChainPara.CheckRevocationFreshnessTime", Field, 0}, + {"CertChainPara.RequestedUsage", Field, 0}, + {"CertChainPara.RequstedIssuancePolicy", Field, 0}, + {"CertChainPara.RevocationFreshnessTime", Field, 0}, + {"CertChainPara.Size", Field, 0}, + {"CertChainPara.URLRetrievalTimeout", Field, 0}, + {"CertChainPolicyPara", Type, 0}, + {"CertChainPolicyPara.ExtraPolicyPara", Field, 0}, + {"CertChainPolicyPara.Flags", Field, 0}, + {"CertChainPolicyPara.Size", Field, 0}, + {"CertChainPolicyStatus", Type, 0}, + {"CertChainPolicyStatus.ChainIndex", Field, 0}, + {"CertChainPolicyStatus.ElementIndex", Field, 0}, + {"CertChainPolicyStatus.Error", Field, 0}, + {"CertChainPolicyStatus.ExtraPolicyStatus", Field, 0}, + {"CertChainPolicyStatus.Size", Field, 0}, + {"CertCloseStore", Func, 0}, + {"CertContext", Type, 0}, + {"CertContext.CertInfo", Field, 0}, + {"CertContext.EncodedCert", Field, 0}, + {"CertContext.EncodingType", Field, 0}, + {"CertContext.Length", Field, 0}, + {"CertContext.Store", Field, 0}, + {"CertCreateCertificateContext", Func, 0}, + {"CertEnhKeyUsage", Type, 0}, + {"CertEnhKeyUsage.Length", Field, 0}, + {"CertEnhKeyUsage.UsageIdentifiers", Field, 0}, + {"CertEnumCertificatesInStore", Func, 0}, + {"CertFreeCertificateChain", Func, 0}, + {"CertFreeCertificateContext", Func, 0}, + {"CertGetCertificateChain", Func, 0}, + {"CertInfo", Type, 11}, + {"CertOpenStore", Func, 0}, + {"CertOpenSystemStore", Func, 0}, + {"CertRevocationCrlInfo", Type, 11}, + {"CertRevocationInfo", Type, 0}, + {"CertRevocationInfo.CrlInfo", Field, 0}, + {"CertRevocationInfo.FreshnessTime", Field, 0}, + {"CertRevocationInfo.HasFreshnessTime", Field, 0}, + {"CertRevocationInfo.OidSpecificInfo", Field, 0}, + {"CertRevocationInfo.RevocationOid", Field, 0}, + {"CertRevocationInfo.RevocationResult", Field, 0}, + {"CertRevocationInfo.Size", Field, 0}, + {"CertSimpleChain", Type, 0}, + {"CertSimpleChain.Elements", Field, 0}, + {"CertSimpleChain.HasRevocationFreshnessTime", Field, 0}, + {"CertSimpleChain.NumElements", Field, 0}, + {"CertSimpleChain.RevocationFreshnessTime", Field, 0}, + {"CertSimpleChain.Size", Field, 0}, + {"CertSimpleChain.TrustListInfo", Field, 0}, + {"CertSimpleChain.TrustStatus", Field, 0}, + {"CertTrustListInfo", Type, 11}, + {"CertTrustStatus", Type, 0}, + {"CertTrustStatus.ErrorStatus", Field, 0}, + {"CertTrustStatus.InfoStatus", Field, 0}, + {"CertUsageMatch", Type, 0}, + {"CertUsageMatch.Type", Field, 0}, + {"CertUsageMatch.Usage", Field, 0}, + {"CertVerifyCertificateChainPolicy", Func, 0}, + {"Chdir", Func, 0}, + {"CheckBpfVersion", Func, 0}, + {"Chflags", Func, 0}, + {"Chmod", Func, 0}, + {"Chown", Func, 0}, + {"Chroot", Func, 0}, + {"Clearenv", Func, 0}, + {"Close", Func, 0}, + {"CloseHandle", Func, 0}, + {"CloseOnExec", Func, 0}, + {"Closesocket", Func, 0}, + {"CmsgLen", Func, 0}, + {"CmsgSpace", Func, 0}, + {"Cmsghdr", Type, 0}, + {"Cmsghdr.Len", Field, 0}, + {"Cmsghdr.Level", Field, 0}, + {"Cmsghdr.Type", Field, 0}, + {"Cmsghdr.X__cmsg_data", Field, 0}, + {"CommandLineToArgv", Func, 0}, + {"ComputerName", Func, 0}, + {"Conn", Type, 9}, + {"Connect", Func, 0}, + {"ConnectEx", Func, 1}, + {"ConvertSidToStringSid", Func, 0}, + {"ConvertStringSidToSid", Func, 0}, + {"CopySid", Func, 0}, + {"Creat", Func, 0}, + {"CreateDirectory", Func, 0}, + {"CreateFile", Func, 0}, + {"CreateFileMapping", Func, 0}, + {"CreateHardLink", Func, 4}, + {"CreateIoCompletionPort", Func, 0}, + {"CreatePipe", Func, 0}, + {"CreateProcess", Func, 0}, + {"CreateProcessAsUser", Func, 10}, + {"CreateSymbolicLink", Func, 4}, + {"CreateToolhelp32Snapshot", Func, 4}, + {"Credential", Type, 0}, + {"Credential.Gid", Field, 0}, + {"Credential.Groups", Field, 0}, + {"Credential.NoSetGroups", Field, 9}, + {"Credential.Uid", Field, 0}, + {"CryptAcquireContext", Func, 0}, + {"CryptGenRandom", Func, 0}, + {"CryptReleaseContext", Func, 0}, + {"DIOCBSFLUSH", Const, 1}, + {"DIOCOSFPFLUSH", Const, 1}, + {"DLL", Type, 0}, + {"DLL.Handle", Field, 0}, + {"DLL.Name", Field, 0}, + {"DLLError", Type, 0}, + {"DLLError.Err", Field, 0}, + {"DLLError.Msg", Field, 0}, + {"DLLError.ObjName", Field, 0}, + {"DLT_A429", Const, 0}, + {"DLT_A653_ICM", Const, 0}, + {"DLT_AIRONET_HEADER", Const, 0}, + {"DLT_AOS", Const, 1}, + {"DLT_APPLE_IP_OVER_IEEE1394", Const, 0}, + {"DLT_ARCNET", Const, 0}, + {"DLT_ARCNET_LINUX", Const, 0}, + {"DLT_ATM_CLIP", Const, 0}, + {"DLT_ATM_RFC1483", Const, 0}, + {"DLT_AURORA", Const, 0}, + {"DLT_AX25", Const, 0}, + {"DLT_AX25_KISS", Const, 0}, + {"DLT_BACNET_MS_TP", Const, 0}, + {"DLT_BLUETOOTH_HCI_H4", Const, 0}, + {"DLT_BLUETOOTH_HCI_H4_WITH_PHDR", Const, 0}, + {"DLT_CAN20B", Const, 0}, + {"DLT_CAN_SOCKETCAN", Const, 1}, + {"DLT_CHAOS", Const, 0}, + {"DLT_CHDLC", Const, 0}, + {"DLT_CISCO_IOS", Const, 0}, + {"DLT_C_HDLC", Const, 0}, + {"DLT_C_HDLC_WITH_DIR", Const, 0}, + {"DLT_DBUS", Const, 1}, + {"DLT_DECT", Const, 1}, + {"DLT_DOCSIS", Const, 0}, + {"DLT_DVB_CI", Const, 1}, + {"DLT_ECONET", Const, 0}, + {"DLT_EN10MB", Const, 0}, + {"DLT_EN3MB", Const, 0}, + {"DLT_ENC", Const, 0}, + {"DLT_ERF", Const, 0}, + {"DLT_ERF_ETH", Const, 0}, + {"DLT_ERF_POS", Const, 0}, + {"DLT_FC_2", Const, 1}, + {"DLT_FC_2_WITH_FRAME_DELIMS", Const, 1}, + {"DLT_FDDI", Const, 0}, + {"DLT_FLEXRAY", Const, 0}, + {"DLT_FRELAY", Const, 0}, + {"DLT_FRELAY_WITH_DIR", Const, 0}, + {"DLT_GCOM_SERIAL", Const, 0}, + {"DLT_GCOM_T1E1", Const, 0}, + {"DLT_GPF_F", Const, 0}, + {"DLT_GPF_T", Const, 0}, + {"DLT_GPRS_LLC", Const, 0}, + {"DLT_GSMTAP_ABIS", Const, 1}, + {"DLT_GSMTAP_UM", Const, 1}, + {"DLT_HDLC", Const, 1}, + {"DLT_HHDLC", Const, 0}, + {"DLT_HIPPI", Const, 1}, + {"DLT_IBM_SN", Const, 0}, + {"DLT_IBM_SP", Const, 0}, + {"DLT_IEEE802", Const, 0}, + {"DLT_IEEE802_11", Const, 0}, + {"DLT_IEEE802_11_RADIO", Const, 0}, + {"DLT_IEEE802_11_RADIO_AVS", Const, 0}, + {"DLT_IEEE802_15_4", Const, 0}, + {"DLT_IEEE802_15_4_LINUX", Const, 0}, + {"DLT_IEEE802_15_4_NOFCS", Const, 1}, + {"DLT_IEEE802_15_4_NONASK_PHY", Const, 0}, + {"DLT_IEEE802_16_MAC_CPS", Const, 0}, + {"DLT_IEEE802_16_MAC_CPS_RADIO", Const, 0}, + {"DLT_IPFILTER", Const, 0}, + {"DLT_IPMB", Const, 0}, + {"DLT_IPMB_LINUX", Const, 0}, + {"DLT_IPNET", Const, 1}, + {"DLT_IPOIB", Const, 1}, + {"DLT_IPV4", Const, 1}, + {"DLT_IPV6", Const, 1}, + {"DLT_IP_OVER_FC", Const, 0}, + {"DLT_JUNIPER_ATM1", Const, 0}, + {"DLT_JUNIPER_ATM2", Const, 0}, + {"DLT_JUNIPER_ATM_CEMIC", Const, 1}, + {"DLT_JUNIPER_CHDLC", Const, 0}, + {"DLT_JUNIPER_ES", Const, 0}, + {"DLT_JUNIPER_ETHER", Const, 0}, + {"DLT_JUNIPER_FIBRECHANNEL", Const, 1}, + {"DLT_JUNIPER_FRELAY", Const, 0}, + {"DLT_JUNIPER_GGSN", Const, 0}, + {"DLT_JUNIPER_ISM", Const, 0}, + {"DLT_JUNIPER_MFR", Const, 0}, + {"DLT_JUNIPER_MLFR", Const, 0}, + {"DLT_JUNIPER_MLPPP", Const, 0}, + {"DLT_JUNIPER_MONITOR", Const, 0}, + {"DLT_JUNIPER_PIC_PEER", Const, 0}, + {"DLT_JUNIPER_PPP", Const, 0}, + {"DLT_JUNIPER_PPPOE", Const, 0}, + {"DLT_JUNIPER_PPPOE_ATM", Const, 0}, + {"DLT_JUNIPER_SERVICES", Const, 0}, + {"DLT_JUNIPER_SRX_E2E", Const, 1}, + {"DLT_JUNIPER_ST", Const, 0}, + {"DLT_JUNIPER_VP", Const, 0}, + {"DLT_JUNIPER_VS", Const, 1}, + {"DLT_LAPB_WITH_DIR", Const, 0}, + {"DLT_LAPD", Const, 0}, + {"DLT_LIN", Const, 0}, + {"DLT_LINUX_EVDEV", Const, 1}, + {"DLT_LINUX_IRDA", Const, 0}, + {"DLT_LINUX_LAPD", Const, 0}, + {"DLT_LINUX_PPP_WITHDIRECTION", Const, 0}, + {"DLT_LINUX_SLL", Const, 0}, + {"DLT_LOOP", Const, 0}, + {"DLT_LTALK", Const, 0}, + {"DLT_MATCHING_MAX", Const, 1}, + {"DLT_MATCHING_MIN", Const, 1}, + {"DLT_MFR", Const, 0}, + {"DLT_MOST", Const, 0}, + {"DLT_MPEG_2_TS", Const, 1}, + {"DLT_MPLS", Const, 1}, + {"DLT_MTP2", Const, 0}, + {"DLT_MTP2_WITH_PHDR", Const, 0}, + {"DLT_MTP3", Const, 0}, + {"DLT_MUX27010", Const, 1}, + {"DLT_NETANALYZER", Const, 1}, + {"DLT_NETANALYZER_TRANSPARENT", Const, 1}, + {"DLT_NFC_LLCP", Const, 1}, + {"DLT_NFLOG", Const, 1}, + {"DLT_NG40", Const, 1}, + {"DLT_NULL", Const, 0}, + {"DLT_PCI_EXP", Const, 0}, + {"DLT_PFLOG", Const, 0}, + {"DLT_PFSYNC", Const, 0}, + {"DLT_PPI", Const, 0}, + {"DLT_PPP", Const, 0}, + {"DLT_PPP_BSDOS", Const, 0}, + {"DLT_PPP_ETHER", Const, 0}, + {"DLT_PPP_PPPD", Const, 0}, + {"DLT_PPP_SERIAL", Const, 0}, + {"DLT_PPP_WITH_DIR", Const, 0}, + {"DLT_PPP_WITH_DIRECTION", Const, 0}, + {"DLT_PRISM_HEADER", Const, 0}, + {"DLT_PRONET", Const, 0}, + {"DLT_RAIF1", Const, 0}, + {"DLT_RAW", Const, 0}, + {"DLT_RAWAF_MASK", Const, 1}, + {"DLT_RIO", Const, 0}, + {"DLT_SCCP", Const, 0}, + {"DLT_SITA", Const, 0}, + {"DLT_SLIP", Const, 0}, + {"DLT_SLIP_BSDOS", Const, 0}, + {"DLT_STANAG_5066_D_PDU", Const, 1}, + {"DLT_SUNATM", Const, 0}, + {"DLT_SYMANTEC_FIREWALL", Const, 0}, + {"DLT_TZSP", Const, 0}, + {"DLT_USB", Const, 0}, + {"DLT_USB_LINUX", Const, 0}, + {"DLT_USB_LINUX_MMAPPED", Const, 1}, + {"DLT_USER0", Const, 0}, + {"DLT_USER1", Const, 0}, + {"DLT_USER10", Const, 0}, + {"DLT_USER11", Const, 0}, + {"DLT_USER12", Const, 0}, + {"DLT_USER13", Const, 0}, + {"DLT_USER14", Const, 0}, + {"DLT_USER15", Const, 0}, + {"DLT_USER2", Const, 0}, + {"DLT_USER3", Const, 0}, + {"DLT_USER4", Const, 0}, + {"DLT_USER5", Const, 0}, + {"DLT_USER6", Const, 0}, + {"DLT_USER7", Const, 0}, + {"DLT_USER8", Const, 0}, + {"DLT_USER9", Const, 0}, + {"DLT_WIHART", Const, 1}, + {"DLT_X2E_SERIAL", Const, 0}, + {"DLT_X2E_XORAYA", Const, 0}, + {"DNSMXData", Type, 0}, + {"DNSMXData.NameExchange", Field, 0}, + {"DNSMXData.Pad", Field, 0}, + {"DNSMXData.Preference", Field, 0}, + {"DNSPTRData", Type, 0}, + {"DNSPTRData.Host", Field, 0}, + {"DNSRecord", Type, 0}, + {"DNSRecord.Data", Field, 0}, + {"DNSRecord.Dw", Field, 0}, + {"DNSRecord.Length", Field, 0}, + {"DNSRecord.Name", Field, 0}, + {"DNSRecord.Next", Field, 0}, + {"DNSRecord.Reserved", Field, 0}, + {"DNSRecord.Ttl", Field, 0}, + {"DNSRecord.Type", Field, 0}, + {"DNSSRVData", Type, 0}, + {"DNSSRVData.Pad", Field, 0}, + {"DNSSRVData.Port", Field, 0}, + {"DNSSRVData.Priority", Field, 0}, + {"DNSSRVData.Target", Field, 0}, + {"DNSSRVData.Weight", Field, 0}, + {"DNSTXTData", Type, 0}, + {"DNSTXTData.StringArray", Field, 0}, + {"DNSTXTData.StringCount", Field, 0}, + {"DNS_INFO_NO_RECORDS", Const, 4}, + {"DNS_TYPE_A", Const, 0}, + {"DNS_TYPE_A6", Const, 0}, + {"DNS_TYPE_AAAA", Const, 0}, + {"DNS_TYPE_ADDRS", Const, 0}, + {"DNS_TYPE_AFSDB", Const, 0}, + {"DNS_TYPE_ALL", Const, 0}, + {"DNS_TYPE_ANY", Const, 0}, + {"DNS_TYPE_ATMA", Const, 0}, + {"DNS_TYPE_AXFR", Const, 0}, + {"DNS_TYPE_CERT", Const, 0}, + {"DNS_TYPE_CNAME", Const, 0}, + {"DNS_TYPE_DHCID", Const, 0}, + {"DNS_TYPE_DNAME", Const, 0}, + {"DNS_TYPE_DNSKEY", Const, 0}, + {"DNS_TYPE_DS", Const, 0}, + {"DNS_TYPE_EID", Const, 0}, + {"DNS_TYPE_GID", Const, 0}, + {"DNS_TYPE_GPOS", Const, 0}, + {"DNS_TYPE_HINFO", Const, 0}, + {"DNS_TYPE_ISDN", Const, 0}, + {"DNS_TYPE_IXFR", Const, 0}, + {"DNS_TYPE_KEY", Const, 0}, + {"DNS_TYPE_KX", Const, 0}, + {"DNS_TYPE_LOC", Const, 0}, + {"DNS_TYPE_MAILA", Const, 0}, + {"DNS_TYPE_MAILB", Const, 0}, + {"DNS_TYPE_MB", Const, 0}, + {"DNS_TYPE_MD", Const, 0}, + {"DNS_TYPE_MF", Const, 0}, + {"DNS_TYPE_MG", Const, 0}, + {"DNS_TYPE_MINFO", Const, 0}, + {"DNS_TYPE_MR", Const, 0}, + {"DNS_TYPE_MX", Const, 0}, + {"DNS_TYPE_NAPTR", Const, 0}, + {"DNS_TYPE_NBSTAT", Const, 0}, + {"DNS_TYPE_NIMLOC", Const, 0}, + {"DNS_TYPE_NS", Const, 0}, + {"DNS_TYPE_NSAP", Const, 0}, + {"DNS_TYPE_NSAPPTR", Const, 0}, + {"DNS_TYPE_NSEC", Const, 0}, + {"DNS_TYPE_NULL", Const, 0}, + {"DNS_TYPE_NXT", Const, 0}, + {"DNS_TYPE_OPT", Const, 0}, + {"DNS_TYPE_PTR", Const, 0}, + {"DNS_TYPE_PX", Const, 0}, + {"DNS_TYPE_RP", Const, 0}, + {"DNS_TYPE_RRSIG", Const, 0}, + {"DNS_TYPE_RT", Const, 0}, + {"DNS_TYPE_SIG", Const, 0}, + {"DNS_TYPE_SINK", Const, 0}, + {"DNS_TYPE_SOA", Const, 0}, + {"DNS_TYPE_SRV", Const, 0}, + {"DNS_TYPE_TEXT", Const, 0}, + {"DNS_TYPE_TKEY", Const, 0}, + {"DNS_TYPE_TSIG", Const, 0}, + {"DNS_TYPE_UID", Const, 0}, + {"DNS_TYPE_UINFO", Const, 0}, + {"DNS_TYPE_UNSPEC", Const, 0}, + {"DNS_TYPE_WINS", Const, 0}, + {"DNS_TYPE_WINSR", Const, 0}, + {"DNS_TYPE_WKS", Const, 0}, + {"DNS_TYPE_X25", Const, 0}, + {"DT_BLK", Const, 0}, + {"DT_CHR", Const, 0}, + {"DT_DIR", Const, 0}, + {"DT_FIFO", Const, 0}, + {"DT_LNK", Const, 0}, + {"DT_REG", Const, 0}, + {"DT_SOCK", Const, 0}, + {"DT_UNKNOWN", Const, 0}, + {"DT_WHT", Const, 0}, + {"DUPLICATE_CLOSE_SOURCE", Const, 0}, + {"DUPLICATE_SAME_ACCESS", Const, 0}, + {"DeleteFile", Func, 0}, + {"DetachLsf", Func, 0}, + {"DeviceIoControl", Func, 4}, + {"Dirent", Type, 0}, + {"Dirent.Fileno", Field, 0}, + {"Dirent.Ino", Field, 0}, + {"Dirent.Name", Field, 0}, + {"Dirent.Namlen", Field, 0}, + {"Dirent.Off", Field, 0}, + {"Dirent.Pad0", Field, 12}, + {"Dirent.Pad1", Field, 12}, + {"Dirent.Pad_cgo_0", Field, 0}, + {"Dirent.Reclen", Field, 0}, + {"Dirent.Seekoff", Field, 0}, + {"Dirent.Type", Field, 0}, + {"Dirent.X__d_padding", Field, 3}, + {"DnsNameCompare", Func, 4}, + {"DnsQuery", Func, 0}, + {"DnsRecordListFree", Func, 0}, + {"DnsSectionAdditional", Const, 4}, + {"DnsSectionAnswer", Const, 4}, + {"DnsSectionAuthority", Const, 4}, + {"DnsSectionQuestion", Const, 4}, + {"Dup", Func, 0}, + {"Dup2", Func, 0}, + {"Dup3", Func, 2}, + {"DuplicateHandle", Func, 0}, + {"E2BIG", Const, 0}, + {"EACCES", Const, 0}, + {"EADDRINUSE", Const, 0}, + {"EADDRNOTAVAIL", Const, 0}, + {"EADV", Const, 0}, + {"EAFNOSUPPORT", Const, 0}, + {"EAGAIN", Const, 0}, + {"EALREADY", Const, 0}, + {"EAUTH", Const, 0}, + {"EBADARCH", Const, 0}, + {"EBADE", Const, 0}, + {"EBADEXEC", Const, 0}, + {"EBADF", Const, 0}, + {"EBADFD", Const, 0}, + {"EBADMACHO", Const, 0}, + {"EBADMSG", Const, 0}, + {"EBADR", Const, 0}, + {"EBADRPC", Const, 0}, + {"EBADRQC", Const, 0}, + {"EBADSLT", Const, 0}, + {"EBFONT", Const, 0}, + {"EBUSY", Const, 0}, + {"ECANCELED", Const, 0}, + {"ECAPMODE", Const, 1}, + {"ECHILD", Const, 0}, + {"ECHO", Const, 0}, + {"ECHOCTL", Const, 0}, + {"ECHOE", Const, 0}, + {"ECHOK", Const, 0}, + {"ECHOKE", Const, 0}, + {"ECHONL", Const, 0}, + {"ECHOPRT", Const, 0}, + {"ECHRNG", Const, 0}, + {"ECOMM", Const, 0}, + {"ECONNABORTED", Const, 0}, + {"ECONNREFUSED", Const, 0}, + {"ECONNRESET", Const, 0}, + {"EDEADLK", Const, 0}, + {"EDEADLOCK", Const, 0}, + {"EDESTADDRREQ", Const, 0}, + {"EDEVERR", Const, 0}, + {"EDOM", Const, 0}, + {"EDOOFUS", Const, 0}, + {"EDOTDOT", Const, 0}, + {"EDQUOT", Const, 0}, + {"EEXIST", Const, 0}, + {"EFAULT", Const, 0}, + {"EFBIG", Const, 0}, + {"EFER_LMA", Const, 1}, + {"EFER_LME", Const, 1}, + {"EFER_NXE", Const, 1}, + {"EFER_SCE", Const, 1}, + {"EFTYPE", Const, 0}, + {"EHOSTDOWN", Const, 0}, + {"EHOSTUNREACH", Const, 0}, + {"EHWPOISON", Const, 0}, + {"EIDRM", Const, 0}, + {"EILSEQ", Const, 0}, + {"EINPROGRESS", Const, 0}, + {"EINTR", Const, 0}, + {"EINVAL", Const, 0}, + {"EIO", Const, 0}, + {"EIPSEC", Const, 1}, + {"EISCONN", Const, 0}, + {"EISDIR", Const, 0}, + {"EISNAM", Const, 0}, + {"EKEYEXPIRED", Const, 0}, + {"EKEYREJECTED", Const, 0}, + {"EKEYREVOKED", Const, 0}, + {"EL2HLT", Const, 0}, + {"EL2NSYNC", Const, 0}, + {"EL3HLT", Const, 0}, + {"EL3RST", Const, 0}, + {"ELAST", Const, 0}, + {"ELF_NGREG", Const, 0}, + {"ELF_PRARGSZ", Const, 0}, + {"ELIBACC", Const, 0}, + {"ELIBBAD", Const, 0}, + {"ELIBEXEC", Const, 0}, + {"ELIBMAX", Const, 0}, + {"ELIBSCN", Const, 0}, + {"ELNRNG", Const, 0}, + {"ELOOP", Const, 0}, + {"EMEDIUMTYPE", Const, 0}, + {"EMFILE", Const, 0}, + {"EMLINK", Const, 0}, + {"EMSGSIZE", Const, 0}, + {"EMT_TAGOVF", Const, 1}, + {"EMULTIHOP", Const, 0}, + {"EMUL_ENABLED", Const, 1}, + {"EMUL_LINUX", Const, 1}, + {"EMUL_LINUX32", Const, 1}, + {"EMUL_MAXID", Const, 1}, + {"EMUL_NATIVE", Const, 1}, + {"ENAMETOOLONG", Const, 0}, + {"ENAVAIL", Const, 0}, + {"ENDRUNDISC", Const, 1}, + {"ENEEDAUTH", Const, 0}, + {"ENETDOWN", Const, 0}, + {"ENETRESET", Const, 0}, + {"ENETUNREACH", Const, 0}, + {"ENFILE", Const, 0}, + {"ENOANO", Const, 0}, + {"ENOATTR", Const, 0}, + {"ENOBUFS", Const, 0}, + {"ENOCSI", Const, 0}, + {"ENODATA", Const, 0}, + {"ENODEV", Const, 0}, + {"ENOENT", Const, 0}, + {"ENOEXEC", Const, 0}, + {"ENOKEY", Const, 0}, + {"ENOLCK", Const, 0}, + {"ENOLINK", Const, 0}, + {"ENOMEDIUM", Const, 0}, + {"ENOMEM", Const, 0}, + {"ENOMSG", Const, 0}, + {"ENONET", Const, 0}, + {"ENOPKG", Const, 0}, + {"ENOPOLICY", Const, 0}, + {"ENOPROTOOPT", Const, 0}, + {"ENOSPC", Const, 0}, + {"ENOSR", Const, 0}, + {"ENOSTR", Const, 0}, + {"ENOSYS", Const, 0}, + {"ENOTBLK", Const, 0}, + {"ENOTCAPABLE", Const, 0}, + {"ENOTCONN", Const, 0}, + {"ENOTDIR", Const, 0}, + {"ENOTEMPTY", Const, 0}, + {"ENOTNAM", Const, 0}, + {"ENOTRECOVERABLE", Const, 0}, + {"ENOTSOCK", Const, 0}, + {"ENOTSUP", Const, 0}, + {"ENOTTY", Const, 0}, + {"ENOTUNIQ", Const, 0}, + {"ENXIO", Const, 0}, + {"EN_SW_CTL_INF", Const, 1}, + {"EN_SW_CTL_PREC", Const, 1}, + {"EN_SW_CTL_ROUND", Const, 1}, + {"EN_SW_DATACHAIN", Const, 1}, + {"EN_SW_DENORM", Const, 1}, + {"EN_SW_INVOP", Const, 1}, + {"EN_SW_OVERFLOW", Const, 1}, + {"EN_SW_PRECLOSS", Const, 1}, + {"EN_SW_UNDERFLOW", Const, 1}, + {"EN_SW_ZERODIV", Const, 1}, + {"EOPNOTSUPP", Const, 0}, + {"EOVERFLOW", Const, 0}, + {"EOWNERDEAD", Const, 0}, + {"EPERM", Const, 0}, + {"EPFNOSUPPORT", Const, 0}, + {"EPIPE", Const, 0}, + {"EPOLLERR", Const, 0}, + {"EPOLLET", Const, 0}, + {"EPOLLHUP", Const, 0}, + {"EPOLLIN", Const, 0}, + {"EPOLLMSG", Const, 0}, + {"EPOLLONESHOT", Const, 0}, + {"EPOLLOUT", Const, 0}, + {"EPOLLPRI", Const, 0}, + {"EPOLLRDBAND", Const, 0}, + {"EPOLLRDHUP", Const, 0}, + {"EPOLLRDNORM", Const, 0}, + {"EPOLLWRBAND", Const, 0}, + {"EPOLLWRNORM", Const, 0}, + {"EPOLL_CLOEXEC", Const, 0}, + {"EPOLL_CTL_ADD", Const, 0}, + {"EPOLL_CTL_DEL", Const, 0}, + {"EPOLL_CTL_MOD", Const, 0}, + {"EPOLL_NONBLOCK", Const, 0}, + {"EPROCLIM", Const, 0}, + {"EPROCUNAVAIL", Const, 0}, + {"EPROGMISMATCH", Const, 0}, + {"EPROGUNAVAIL", Const, 0}, + {"EPROTO", Const, 0}, + {"EPROTONOSUPPORT", Const, 0}, + {"EPROTOTYPE", Const, 0}, + {"EPWROFF", Const, 0}, + {"EQFULL", Const, 16}, + {"ERANGE", Const, 0}, + {"EREMCHG", Const, 0}, + {"EREMOTE", Const, 0}, + {"EREMOTEIO", Const, 0}, + {"ERESTART", Const, 0}, + {"ERFKILL", Const, 0}, + {"EROFS", Const, 0}, + {"ERPCMISMATCH", Const, 0}, + {"ERROR_ACCESS_DENIED", Const, 0}, + {"ERROR_ALREADY_EXISTS", Const, 0}, + {"ERROR_BROKEN_PIPE", Const, 0}, + {"ERROR_BUFFER_OVERFLOW", Const, 0}, + {"ERROR_DIR_NOT_EMPTY", Const, 8}, + {"ERROR_ENVVAR_NOT_FOUND", Const, 0}, + {"ERROR_FILE_EXISTS", Const, 0}, + {"ERROR_FILE_NOT_FOUND", Const, 0}, + {"ERROR_HANDLE_EOF", Const, 2}, + {"ERROR_INSUFFICIENT_BUFFER", Const, 0}, + {"ERROR_IO_PENDING", Const, 0}, + {"ERROR_MOD_NOT_FOUND", Const, 0}, + {"ERROR_MORE_DATA", Const, 3}, + {"ERROR_NETNAME_DELETED", Const, 3}, + {"ERROR_NOT_FOUND", Const, 1}, + {"ERROR_NO_MORE_FILES", Const, 0}, + {"ERROR_OPERATION_ABORTED", Const, 0}, + {"ERROR_PATH_NOT_FOUND", Const, 0}, + {"ERROR_PRIVILEGE_NOT_HELD", Const, 4}, + {"ERROR_PROC_NOT_FOUND", Const, 0}, + {"ESHLIBVERS", Const, 0}, + {"ESHUTDOWN", Const, 0}, + {"ESOCKTNOSUPPORT", Const, 0}, + {"ESPIPE", Const, 0}, + {"ESRCH", Const, 0}, + {"ESRMNT", Const, 0}, + {"ESTALE", Const, 0}, + {"ESTRPIPE", Const, 0}, + {"ETHERCAP_JUMBO_MTU", Const, 1}, + {"ETHERCAP_VLAN_HWTAGGING", Const, 1}, + {"ETHERCAP_VLAN_MTU", Const, 1}, + {"ETHERMIN", Const, 1}, + {"ETHERMTU", Const, 1}, + {"ETHERMTU_JUMBO", Const, 1}, + {"ETHERTYPE_8023", Const, 1}, + {"ETHERTYPE_AARP", Const, 1}, + {"ETHERTYPE_ACCTON", Const, 1}, + {"ETHERTYPE_AEONIC", Const, 1}, + {"ETHERTYPE_ALPHA", Const, 1}, + {"ETHERTYPE_AMBER", Const, 1}, + {"ETHERTYPE_AMOEBA", Const, 1}, + {"ETHERTYPE_AOE", Const, 1}, + {"ETHERTYPE_APOLLO", Const, 1}, + {"ETHERTYPE_APOLLODOMAIN", Const, 1}, + {"ETHERTYPE_APPLETALK", Const, 1}, + {"ETHERTYPE_APPLITEK", Const, 1}, + {"ETHERTYPE_ARGONAUT", Const, 1}, + {"ETHERTYPE_ARP", Const, 1}, + {"ETHERTYPE_AT", Const, 1}, + {"ETHERTYPE_ATALK", Const, 1}, + {"ETHERTYPE_ATOMIC", Const, 1}, + {"ETHERTYPE_ATT", Const, 1}, + {"ETHERTYPE_ATTSTANFORD", Const, 1}, + {"ETHERTYPE_AUTOPHON", Const, 1}, + {"ETHERTYPE_AXIS", Const, 1}, + {"ETHERTYPE_BCLOOP", Const, 1}, + {"ETHERTYPE_BOFL", Const, 1}, + {"ETHERTYPE_CABLETRON", Const, 1}, + {"ETHERTYPE_CHAOS", Const, 1}, + {"ETHERTYPE_COMDESIGN", Const, 1}, + {"ETHERTYPE_COMPUGRAPHIC", Const, 1}, + {"ETHERTYPE_COUNTERPOINT", Const, 1}, + {"ETHERTYPE_CRONUS", Const, 1}, + {"ETHERTYPE_CRONUSVLN", Const, 1}, + {"ETHERTYPE_DCA", Const, 1}, + {"ETHERTYPE_DDE", Const, 1}, + {"ETHERTYPE_DEBNI", Const, 1}, + {"ETHERTYPE_DECAM", Const, 1}, + {"ETHERTYPE_DECCUST", Const, 1}, + {"ETHERTYPE_DECDIAG", Const, 1}, + {"ETHERTYPE_DECDNS", Const, 1}, + {"ETHERTYPE_DECDTS", Const, 1}, + {"ETHERTYPE_DECEXPER", Const, 1}, + {"ETHERTYPE_DECLAST", Const, 1}, + {"ETHERTYPE_DECLTM", Const, 1}, + {"ETHERTYPE_DECMUMPS", Const, 1}, + {"ETHERTYPE_DECNETBIOS", Const, 1}, + {"ETHERTYPE_DELTACON", Const, 1}, + {"ETHERTYPE_DIDDLE", Const, 1}, + {"ETHERTYPE_DLOG1", Const, 1}, + {"ETHERTYPE_DLOG2", Const, 1}, + {"ETHERTYPE_DN", Const, 1}, + {"ETHERTYPE_DOGFIGHT", Const, 1}, + {"ETHERTYPE_DSMD", Const, 1}, + {"ETHERTYPE_ECMA", Const, 1}, + {"ETHERTYPE_ENCRYPT", Const, 1}, + {"ETHERTYPE_ES", Const, 1}, + {"ETHERTYPE_EXCELAN", Const, 1}, + {"ETHERTYPE_EXPERDATA", Const, 1}, + {"ETHERTYPE_FLIP", Const, 1}, + {"ETHERTYPE_FLOWCONTROL", Const, 1}, + {"ETHERTYPE_FRARP", Const, 1}, + {"ETHERTYPE_GENDYN", Const, 1}, + {"ETHERTYPE_HAYES", Const, 1}, + {"ETHERTYPE_HIPPI_FP", Const, 1}, + {"ETHERTYPE_HITACHI", Const, 1}, + {"ETHERTYPE_HP", Const, 1}, + {"ETHERTYPE_IEEEPUP", Const, 1}, + {"ETHERTYPE_IEEEPUPAT", Const, 1}, + {"ETHERTYPE_IMLBL", Const, 1}, + {"ETHERTYPE_IMLBLDIAG", Const, 1}, + {"ETHERTYPE_IP", Const, 1}, + {"ETHERTYPE_IPAS", Const, 1}, + {"ETHERTYPE_IPV6", Const, 1}, + {"ETHERTYPE_IPX", Const, 1}, + {"ETHERTYPE_IPXNEW", Const, 1}, + {"ETHERTYPE_KALPANA", Const, 1}, + {"ETHERTYPE_LANBRIDGE", Const, 1}, + {"ETHERTYPE_LANPROBE", Const, 1}, + {"ETHERTYPE_LAT", Const, 1}, + {"ETHERTYPE_LBACK", Const, 1}, + {"ETHERTYPE_LITTLE", Const, 1}, + {"ETHERTYPE_LLDP", Const, 1}, + {"ETHERTYPE_LOGICRAFT", Const, 1}, + {"ETHERTYPE_LOOPBACK", Const, 1}, + {"ETHERTYPE_MATRA", Const, 1}, + {"ETHERTYPE_MAX", Const, 1}, + {"ETHERTYPE_MERIT", Const, 1}, + {"ETHERTYPE_MICP", Const, 1}, + {"ETHERTYPE_MOPDL", Const, 1}, + {"ETHERTYPE_MOPRC", Const, 1}, + {"ETHERTYPE_MOTOROLA", Const, 1}, + {"ETHERTYPE_MPLS", Const, 1}, + {"ETHERTYPE_MPLS_MCAST", Const, 1}, + {"ETHERTYPE_MUMPS", Const, 1}, + {"ETHERTYPE_NBPCC", Const, 1}, + {"ETHERTYPE_NBPCLAIM", Const, 1}, + {"ETHERTYPE_NBPCLREQ", Const, 1}, + {"ETHERTYPE_NBPCLRSP", Const, 1}, + {"ETHERTYPE_NBPCREQ", Const, 1}, + {"ETHERTYPE_NBPCRSP", Const, 1}, + {"ETHERTYPE_NBPDG", Const, 1}, + {"ETHERTYPE_NBPDGB", Const, 1}, + {"ETHERTYPE_NBPDLTE", Const, 1}, + {"ETHERTYPE_NBPRAR", Const, 1}, + {"ETHERTYPE_NBPRAS", Const, 1}, + {"ETHERTYPE_NBPRST", Const, 1}, + {"ETHERTYPE_NBPSCD", Const, 1}, + {"ETHERTYPE_NBPVCD", Const, 1}, + {"ETHERTYPE_NBS", Const, 1}, + {"ETHERTYPE_NCD", Const, 1}, + {"ETHERTYPE_NESTAR", Const, 1}, + {"ETHERTYPE_NETBEUI", Const, 1}, + {"ETHERTYPE_NOVELL", Const, 1}, + {"ETHERTYPE_NS", Const, 1}, + {"ETHERTYPE_NSAT", Const, 1}, + {"ETHERTYPE_NSCOMPAT", Const, 1}, + {"ETHERTYPE_NTRAILER", Const, 1}, + {"ETHERTYPE_OS9", Const, 1}, + {"ETHERTYPE_OS9NET", Const, 1}, + {"ETHERTYPE_PACER", Const, 1}, + {"ETHERTYPE_PAE", Const, 1}, + {"ETHERTYPE_PCS", Const, 1}, + {"ETHERTYPE_PLANNING", Const, 1}, + {"ETHERTYPE_PPP", Const, 1}, + {"ETHERTYPE_PPPOE", Const, 1}, + {"ETHERTYPE_PPPOEDISC", Const, 1}, + {"ETHERTYPE_PRIMENTS", Const, 1}, + {"ETHERTYPE_PUP", Const, 1}, + {"ETHERTYPE_PUPAT", Const, 1}, + {"ETHERTYPE_QINQ", Const, 1}, + {"ETHERTYPE_RACAL", Const, 1}, + {"ETHERTYPE_RATIONAL", Const, 1}, + {"ETHERTYPE_RAWFR", Const, 1}, + {"ETHERTYPE_RCL", Const, 1}, + {"ETHERTYPE_RDP", Const, 1}, + {"ETHERTYPE_RETIX", Const, 1}, + {"ETHERTYPE_REVARP", Const, 1}, + {"ETHERTYPE_SCA", Const, 1}, + {"ETHERTYPE_SECTRA", Const, 1}, + {"ETHERTYPE_SECUREDATA", Const, 1}, + {"ETHERTYPE_SGITW", Const, 1}, + {"ETHERTYPE_SG_BOUNCE", Const, 1}, + {"ETHERTYPE_SG_DIAG", Const, 1}, + {"ETHERTYPE_SG_NETGAMES", Const, 1}, + {"ETHERTYPE_SG_RESV", Const, 1}, + {"ETHERTYPE_SIMNET", Const, 1}, + {"ETHERTYPE_SLOW", Const, 1}, + {"ETHERTYPE_SLOWPROTOCOLS", Const, 1}, + {"ETHERTYPE_SNA", Const, 1}, + {"ETHERTYPE_SNMP", Const, 1}, + {"ETHERTYPE_SONIX", Const, 1}, + {"ETHERTYPE_SPIDER", Const, 1}, + {"ETHERTYPE_SPRITE", Const, 1}, + {"ETHERTYPE_STP", Const, 1}, + {"ETHERTYPE_TALARIS", Const, 1}, + {"ETHERTYPE_TALARISMC", Const, 1}, + {"ETHERTYPE_TCPCOMP", Const, 1}, + {"ETHERTYPE_TCPSM", Const, 1}, + {"ETHERTYPE_TEC", Const, 1}, + {"ETHERTYPE_TIGAN", Const, 1}, + {"ETHERTYPE_TRAIL", Const, 1}, + {"ETHERTYPE_TRANSETHER", Const, 1}, + {"ETHERTYPE_TYMSHARE", Const, 1}, + {"ETHERTYPE_UBBST", Const, 1}, + {"ETHERTYPE_UBDEBUG", Const, 1}, + {"ETHERTYPE_UBDIAGLOOP", Const, 1}, + {"ETHERTYPE_UBDL", Const, 1}, + {"ETHERTYPE_UBNIU", Const, 1}, + {"ETHERTYPE_UBNMC", Const, 1}, + {"ETHERTYPE_VALID", Const, 1}, + {"ETHERTYPE_VARIAN", Const, 1}, + {"ETHERTYPE_VAXELN", Const, 1}, + {"ETHERTYPE_VEECO", Const, 1}, + {"ETHERTYPE_VEXP", Const, 1}, + {"ETHERTYPE_VGLAB", Const, 1}, + {"ETHERTYPE_VINES", Const, 1}, + {"ETHERTYPE_VINESECHO", Const, 1}, + {"ETHERTYPE_VINESLOOP", Const, 1}, + {"ETHERTYPE_VITAL", Const, 1}, + {"ETHERTYPE_VLAN", Const, 1}, + {"ETHERTYPE_VLTLMAN", Const, 1}, + {"ETHERTYPE_VPROD", Const, 1}, + {"ETHERTYPE_VURESERVED", Const, 1}, + {"ETHERTYPE_WATERLOO", Const, 1}, + {"ETHERTYPE_WELLFLEET", Const, 1}, + {"ETHERTYPE_X25", Const, 1}, + {"ETHERTYPE_X75", Const, 1}, + {"ETHERTYPE_XNSSM", Const, 1}, + {"ETHERTYPE_XTP", Const, 1}, + {"ETHER_ADDR_LEN", Const, 1}, + {"ETHER_ALIGN", Const, 1}, + {"ETHER_CRC_LEN", Const, 1}, + {"ETHER_CRC_POLY_BE", Const, 1}, + {"ETHER_CRC_POLY_LE", Const, 1}, + {"ETHER_HDR_LEN", Const, 1}, + {"ETHER_MAX_DIX_LEN", Const, 1}, + {"ETHER_MAX_LEN", Const, 1}, + {"ETHER_MAX_LEN_JUMBO", Const, 1}, + {"ETHER_MIN_LEN", Const, 1}, + {"ETHER_PPPOE_ENCAP_LEN", Const, 1}, + {"ETHER_TYPE_LEN", Const, 1}, + {"ETHER_VLAN_ENCAP_LEN", Const, 1}, + {"ETH_P_1588", Const, 0}, + {"ETH_P_8021Q", Const, 0}, + {"ETH_P_802_2", Const, 0}, + {"ETH_P_802_3", Const, 0}, + {"ETH_P_AARP", Const, 0}, + {"ETH_P_ALL", Const, 0}, + {"ETH_P_AOE", Const, 0}, + {"ETH_P_ARCNET", Const, 0}, + {"ETH_P_ARP", Const, 0}, + {"ETH_P_ATALK", Const, 0}, + {"ETH_P_ATMFATE", Const, 0}, + {"ETH_P_ATMMPOA", Const, 0}, + {"ETH_P_AX25", Const, 0}, + {"ETH_P_BPQ", Const, 0}, + {"ETH_P_CAIF", Const, 0}, + {"ETH_P_CAN", Const, 0}, + {"ETH_P_CONTROL", Const, 0}, + {"ETH_P_CUST", Const, 0}, + {"ETH_P_DDCMP", Const, 0}, + {"ETH_P_DEC", Const, 0}, + {"ETH_P_DIAG", Const, 0}, + {"ETH_P_DNA_DL", Const, 0}, + {"ETH_P_DNA_RC", Const, 0}, + {"ETH_P_DNA_RT", Const, 0}, + {"ETH_P_DSA", Const, 0}, + {"ETH_P_ECONET", Const, 0}, + {"ETH_P_EDSA", Const, 0}, + {"ETH_P_FCOE", Const, 0}, + {"ETH_P_FIP", Const, 0}, + {"ETH_P_HDLC", Const, 0}, + {"ETH_P_IEEE802154", Const, 0}, + {"ETH_P_IEEEPUP", Const, 0}, + {"ETH_P_IEEEPUPAT", Const, 0}, + {"ETH_P_IP", Const, 0}, + {"ETH_P_IPV6", Const, 0}, + {"ETH_P_IPX", Const, 0}, + {"ETH_P_IRDA", Const, 0}, + {"ETH_P_LAT", Const, 0}, + {"ETH_P_LINK_CTL", Const, 0}, + {"ETH_P_LOCALTALK", Const, 0}, + {"ETH_P_LOOP", Const, 0}, + {"ETH_P_MOBITEX", Const, 0}, + {"ETH_P_MPLS_MC", Const, 0}, + {"ETH_P_MPLS_UC", Const, 0}, + {"ETH_P_PAE", Const, 0}, + {"ETH_P_PAUSE", Const, 0}, + {"ETH_P_PHONET", Const, 0}, + {"ETH_P_PPPTALK", Const, 0}, + {"ETH_P_PPP_DISC", Const, 0}, + {"ETH_P_PPP_MP", Const, 0}, + {"ETH_P_PPP_SES", Const, 0}, + {"ETH_P_PUP", Const, 0}, + {"ETH_P_PUPAT", Const, 0}, + {"ETH_P_RARP", Const, 0}, + {"ETH_P_SCA", Const, 0}, + {"ETH_P_SLOW", Const, 0}, + {"ETH_P_SNAP", Const, 0}, + {"ETH_P_TEB", Const, 0}, + {"ETH_P_TIPC", Const, 0}, + {"ETH_P_TRAILER", Const, 0}, + {"ETH_P_TR_802_2", Const, 0}, + {"ETH_P_WAN_PPP", Const, 0}, + {"ETH_P_WCCP", Const, 0}, + {"ETH_P_X25", Const, 0}, + {"ETIME", Const, 0}, + {"ETIMEDOUT", Const, 0}, + {"ETOOMANYREFS", Const, 0}, + {"ETXTBSY", Const, 0}, + {"EUCLEAN", Const, 0}, + {"EUNATCH", Const, 0}, + {"EUSERS", Const, 0}, + {"EVFILT_AIO", Const, 0}, + {"EVFILT_FS", Const, 0}, + {"EVFILT_LIO", Const, 0}, + {"EVFILT_MACHPORT", Const, 0}, + {"EVFILT_PROC", Const, 0}, + {"EVFILT_READ", Const, 0}, + {"EVFILT_SIGNAL", Const, 0}, + {"EVFILT_SYSCOUNT", Const, 0}, + {"EVFILT_THREADMARKER", Const, 0}, + {"EVFILT_TIMER", Const, 0}, + {"EVFILT_USER", Const, 0}, + {"EVFILT_VM", Const, 0}, + {"EVFILT_VNODE", Const, 0}, + {"EVFILT_WRITE", Const, 0}, + {"EV_ADD", Const, 0}, + {"EV_CLEAR", Const, 0}, + {"EV_DELETE", Const, 0}, + {"EV_DISABLE", Const, 0}, + {"EV_DISPATCH", Const, 0}, + {"EV_DROP", Const, 3}, + {"EV_ENABLE", Const, 0}, + {"EV_EOF", Const, 0}, + {"EV_ERROR", Const, 0}, + {"EV_FLAG0", Const, 0}, + {"EV_FLAG1", Const, 0}, + {"EV_ONESHOT", Const, 0}, + {"EV_OOBAND", Const, 0}, + {"EV_POLL", Const, 0}, + {"EV_RECEIPT", Const, 0}, + {"EV_SYSFLAGS", Const, 0}, + {"EWINDOWS", Const, 0}, + {"EWOULDBLOCK", Const, 0}, + {"EXDEV", Const, 0}, + {"EXFULL", Const, 0}, + {"EXTA", Const, 0}, + {"EXTB", Const, 0}, + {"EXTPROC", Const, 0}, + {"Environ", Func, 0}, + {"EpollCreate", Func, 0}, + {"EpollCreate1", Func, 0}, + {"EpollCtl", Func, 0}, + {"EpollEvent", Type, 0}, + {"EpollEvent.Events", Field, 0}, + {"EpollEvent.Fd", Field, 0}, + {"EpollEvent.Pad", Field, 0}, + {"EpollEvent.PadFd", Field, 0}, + {"EpollWait", Func, 0}, + {"Errno", Type, 0}, + {"EscapeArg", Func, 0}, + {"Exchangedata", Func, 0}, + {"Exec", Func, 0}, + {"Exit", Func, 0}, + {"ExitProcess", Func, 0}, + {"FD_CLOEXEC", Const, 0}, + {"FD_SETSIZE", Const, 0}, + {"FILE_ACTION_ADDED", Const, 0}, + {"FILE_ACTION_MODIFIED", Const, 0}, + {"FILE_ACTION_REMOVED", Const, 0}, + {"FILE_ACTION_RENAMED_NEW_NAME", Const, 0}, + {"FILE_ACTION_RENAMED_OLD_NAME", Const, 0}, + {"FILE_APPEND_DATA", Const, 0}, + {"FILE_ATTRIBUTE_ARCHIVE", Const, 0}, + {"FILE_ATTRIBUTE_DIRECTORY", Const, 0}, + {"FILE_ATTRIBUTE_HIDDEN", Const, 0}, + {"FILE_ATTRIBUTE_NORMAL", Const, 0}, + {"FILE_ATTRIBUTE_READONLY", Const, 0}, + {"FILE_ATTRIBUTE_REPARSE_POINT", Const, 4}, + {"FILE_ATTRIBUTE_SYSTEM", Const, 0}, + {"FILE_BEGIN", Const, 0}, + {"FILE_CURRENT", Const, 0}, + {"FILE_END", Const, 0}, + {"FILE_FLAG_BACKUP_SEMANTICS", Const, 0}, + {"FILE_FLAG_OPEN_REPARSE_POINT", Const, 4}, + {"FILE_FLAG_OVERLAPPED", Const, 0}, + {"FILE_LIST_DIRECTORY", Const, 0}, + {"FILE_MAP_COPY", Const, 0}, + {"FILE_MAP_EXECUTE", Const, 0}, + {"FILE_MAP_READ", Const, 0}, + {"FILE_MAP_WRITE", Const, 0}, + {"FILE_NOTIFY_CHANGE_ATTRIBUTES", Const, 0}, + {"FILE_NOTIFY_CHANGE_CREATION", Const, 0}, + {"FILE_NOTIFY_CHANGE_DIR_NAME", Const, 0}, + {"FILE_NOTIFY_CHANGE_FILE_NAME", Const, 0}, + {"FILE_NOTIFY_CHANGE_LAST_ACCESS", Const, 0}, + {"FILE_NOTIFY_CHANGE_LAST_WRITE", Const, 0}, + {"FILE_NOTIFY_CHANGE_SIZE", Const, 0}, + {"FILE_SHARE_DELETE", Const, 0}, + {"FILE_SHARE_READ", Const, 0}, + {"FILE_SHARE_WRITE", Const, 0}, + {"FILE_SKIP_COMPLETION_PORT_ON_SUCCESS", Const, 2}, + {"FILE_SKIP_SET_EVENT_ON_HANDLE", Const, 2}, + {"FILE_TYPE_CHAR", Const, 0}, + {"FILE_TYPE_DISK", Const, 0}, + {"FILE_TYPE_PIPE", Const, 0}, + {"FILE_TYPE_REMOTE", Const, 0}, + {"FILE_TYPE_UNKNOWN", Const, 0}, + {"FILE_WRITE_ATTRIBUTES", Const, 0}, + {"FLUSHO", Const, 0}, + {"FORMAT_MESSAGE_ALLOCATE_BUFFER", Const, 0}, + {"FORMAT_MESSAGE_ARGUMENT_ARRAY", Const, 0}, + {"FORMAT_MESSAGE_FROM_HMODULE", Const, 0}, + {"FORMAT_MESSAGE_FROM_STRING", Const, 0}, + {"FORMAT_MESSAGE_FROM_SYSTEM", Const, 0}, + {"FORMAT_MESSAGE_IGNORE_INSERTS", Const, 0}, + {"FORMAT_MESSAGE_MAX_WIDTH_MASK", Const, 0}, + {"FSCTL_GET_REPARSE_POINT", Const, 4}, + {"F_ADDFILESIGS", Const, 0}, + {"F_ADDSIGS", Const, 0}, + {"F_ALLOCATEALL", Const, 0}, + {"F_ALLOCATECONTIG", Const, 0}, + {"F_CANCEL", Const, 0}, + {"F_CHKCLEAN", Const, 0}, + {"F_CLOSEM", Const, 1}, + {"F_DUP2FD", Const, 0}, + {"F_DUP2FD_CLOEXEC", Const, 1}, + {"F_DUPFD", Const, 0}, + {"F_DUPFD_CLOEXEC", Const, 0}, + {"F_EXLCK", Const, 0}, + {"F_FINDSIGS", Const, 16}, + {"F_FLUSH_DATA", Const, 0}, + {"F_FREEZE_FS", Const, 0}, + {"F_FSCTL", Const, 1}, + {"F_FSDIRMASK", Const, 1}, + {"F_FSIN", Const, 1}, + {"F_FSINOUT", Const, 1}, + {"F_FSOUT", Const, 1}, + {"F_FSPRIV", Const, 1}, + {"F_FSVOID", Const, 1}, + {"F_FULLFSYNC", Const, 0}, + {"F_GETCODEDIR", Const, 16}, + {"F_GETFD", Const, 0}, + {"F_GETFL", Const, 0}, + {"F_GETLEASE", Const, 0}, + {"F_GETLK", Const, 0}, + {"F_GETLK64", Const, 0}, + {"F_GETLKPID", Const, 0}, + {"F_GETNOSIGPIPE", Const, 0}, + {"F_GETOWN", Const, 0}, + {"F_GETOWN_EX", Const, 0}, + {"F_GETPATH", Const, 0}, + {"F_GETPATH_MTMINFO", Const, 0}, + {"F_GETPIPE_SZ", Const, 0}, + {"F_GETPROTECTIONCLASS", Const, 0}, + {"F_GETPROTECTIONLEVEL", Const, 16}, + {"F_GETSIG", Const, 0}, + {"F_GLOBAL_NOCACHE", Const, 0}, + {"F_LOCK", Const, 0}, + {"F_LOG2PHYS", Const, 0}, + {"F_LOG2PHYS_EXT", Const, 0}, + {"F_MARKDEPENDENCY", Const, 0}, + {"F_MAXFD", Const, 1}, + {"F_NOCACHE", Const, 0}, + {"F_NODIRECT", Const, 0}, + {"F_NOTIFY", Const, 0}, + {"F_OGETLK", Const, 0}, + {"F_OK", Const, 0}, + {"F_OSETLK", Const, 0}, + {"F_OSETLKW", Const, 0}, + {"F_PARAM_MASK", Const, 1}, + {"F_PARAM_MAX", Const, 1}, + {"F_PATHPKG_CHECK", Const, 0}, + {"F_PEOFPOSMODE", Const, 0}, + {"F_PREALLOCATE", Const, 0}, + {"F_RDADVISE", Const, 0}, + {"F_RDAHEAD", Const, 0}, + {"F_RDLCK", Const, 0}, + {"F_READAHEAD", Const, 0}, + {"F_READBOOTSTRAP", Const, 0}, + {"F_SETBACKINGSTORE", Const, 0}, + {"F_SETFD", Const, 0}, + {"F_SETFL", Const, 0}, + {"F_SETLEASE", Const, 0}, + {"F_SETLK", Const, 0}, + {"F_SETLK64", Const, 0}, + {"F_SETLKW", Const, 0}, + {"F_SETLKW64", Const, 0}, + {"F_SETLKWTIMEOUT", Const, 16}, + {"F_SETLK_REMOTE", Const, 0}, + {"F_SETNOSIGPIPE", Const, 0}, + {"F_SETOWN", Const, 0}, + {"F_SETOWN_EX", Const, 0}, + {"F_SETPIPE_SZ", Const, 0}, + {"F_SETPROTECTIONCLASS", Const, 0}, + {"F_SETSIG", Const, 0}, + {"F_SETSIZE", Const, 0}, + {"F_SHLCK", Const, 0}, + {"F_SINGLE_WRITER", Const, 16}, + {"F_TEST", Const, 0}, + {"F_THAW_FS", Const, 0}, + {"F_TLOCK", Const, 0}, + {"F_TRANSCODEKEY", Const, 16}, + {"F_ULOCK", Const, 0}, + {"F_UNLCK", Const, 0}, + {"F_UNLCKSYS", Const, 0}, + {"F_VOLPOSMODE", Const, 0}, + {"F_WRITEBOOTSTRAP", Const, 0}, + {"F_WRLCK", Const, 0}, + {"Faccessat", Func, 0}, + {"Fallocate", Func, 0}, + {"Fbootstraptransfer_t", Type, 0}, + {"Fbootstraptransfer_t.Buffer", Field, 0}, + {"Fbootstraptransfer_t.Length", Field, 0}, + {"Fbootstraptransfer_t.Offset", Field, 0}, + {"Fchdir", Func, 0}, + {"Fchflags", Func, 0}, + {"Fchmod", Func, 0}, + {"Fchmodat", Func, 0}, + {"Fchown", Func, 0}, + {"Fchownat", Func, 0}, + {"FcntlFlock", Func, 3}, + {"FdSet", Type, 0}, + {"FdSet.Bits", Field, 0}, + {"FdSet.X__fds_bits", Field, 0}, + {"Fdatasync", Func, 0}, + {"FileNotifyInformation", Type, 0}, + {"FileNotifyInformation.Action", Field, 0}, + {"FileNotifyInformation.FileName", Field, 0}, + {"FileNotifyInformation.FileNameLength", Field, 0}, + {"FileNotifyInformation.NextEntryOffset", Field, 0}, + {"Filetime", Type, 0}, + {"Filetime.HighDateTime", Field, 0}, + {"Filetime.LowDateTime", Field, 0}, + {"FindClose", Func, 0}, + {"FindFirstFile", Func, 0}, + {"FindNextFile", Func, 0}, + {"Flock", Func, 0}, + {"Flock_t", Type, 0}, + {"Flock_t.Len", Field, 0}, + {"Flock_t.Pad_cgo_0", Field, 0}, + {"Flock_t.Pad_cgo_1", Field, 3}, + {"Flock_t.Pid", Field, 0}, + {"Flock_t.Start", Field, 0}, + {"Flock_t.Sysid", Field, 0}, + {"Flock_t.Type", Field, 0}, + {"Flock_t.Whence", Field, 0}, + {"FlushBpf", Func, 0}, + {"FlushFileBuffers", Func, 0}, + {"FlushViewOfFile", Func, 0}, + {"ForkExec", Func, 0}, + {"ForkLock", Var, 0}, + {"FormatMessage", Func, 0}, + {"Fpathconf", Func, 0}, + {"FreeAddrInfoW", Func, 1}, + {"FreeEnvironmentStrings", Func, 0}, + {"FreeLibrary", Func, 0}, + {"Fsid", Type, 0}, + {"Fsid.Val", Field, 0}, + {"Fsid.X__fsid_val", Field, 2}, + {"Fsid.X__val", Field, 0}, + {"Fstat", Func, 0}, + {"Fstatat", Func, 12}, + {"Fstatfs", Func, 0}, + {"Fstore_t", Type, 0}, + {"Fstore_t.Bytesalloc", Field, 0}, + {"Fstore_t.Flags", Field, 0}, + {"Fstore_t.Length", Field, 0}, + {"Fstore_t.Offset", Field, 0}, + {"Fstore_t.Posmode", Field, 0}, + {"Fsync", Func, 0}, + {"Ftruncate", Func, 0}, + {"FullPath", Func, 4}, + {"Futimes", Func, 0}, + {"Futimesat", Func, 0}, + {"GENERIC_ALL", Const, 0}, + {"GENERIC_EXECUTE", Const, 0}, + {"GENERIC_READ", Const, 0}, + {"GENERIC_WRITE", Const, 0}, + {"GUID", Type, 1}, + {"GUID.Data1", Field, 1}, + {"GUID.Data2", Field, 1}, + {"GUID.Data3", Field, 1}, + {"GUID.Data4", Field, 1}, + {"GetAcceptExSockaddrs", Func, 0}, + {"GetAdaptersInfo", Func, 0}, + {"GetAddrInfoW", Func, 1}, + {"GetCommandLine", Func, 0}, + {"GetComputerName", Func, 0}, + {"GetConsoleMode", Func, 1}, + {"GetCurrentDirectory", Func, 0}, + {"GetCurrentProcess", Func, 0}, + {"GetEnvironmentStrings", Func, 0}, + {"GetEnvironmentVariable", Func, 0}, + {"GetExitCodeProcess", Func, 0}, + {"GetFileAttributes", Func, 0}, + {"GetFileAttributesEx", Func, 0}, + {"GetFileExInfoStandard", Const, 0}, + {"GetFileExMaxInfoLevel", Const, 0}, + {"GetFileInformationByHandle", Func, 0}, + {"GetFileType", Func, 0}, + {"GetFullPathName", Func, 0}, + {"GetHostByName", Func, 0}, + {"GetIfEntry", Func, 0}, + {"GetLastError", Func, 0}, + {"GetLengthSid", Func, 0}, + {"GetLongPathName", Func, 0}, + {"GetProcAddress", Func, 0}, + {"GetProcessTimes", Func, 0}, + {"GetProtoByName", Func, 0}, + {"GetQueuedCompletionStatus", Func, 0}, + {"GetServByName", Func, 0}, + {"GetShortPathName", Func, 0}, + {"GetStartupInfo", Func, 0}, + {"GetStdHandle", Func, 0}, + {"GetSystemTimeAsFileTime", Func, 0}, + {"GetTempPath", Func, 0}, + {"GetTimeZoneInformation", Func, 0}, + {"GetTokenInformation", Func, 0}, + {"GetUserNameEx", Func, 0}, + {"GetUserProfileDirectory", Func, 0}, + {"GetVersion", Func, 0}, + {"Getcwd", Func, 0}, + {"Getdents", Func, 0}, + {"Getdirentries", Func, 0}, + {"Getdtablesize", Func, 0}, + {"Getegid", Func, 0}, + {"Getenv", Func, 0}, + {"Geteuid", Func, 0}, + {"Getfsstat", Func, 0}, + {"Getgid", Func, 0}, + {"Getgroups", Func, 0}, + {"Getpagesize", Func, 0}, + {"Getpeername", Func, 0}, + {"Getpgid", Func, 0}, + {"Getpgrp", Func, 0}, + {"Getpid", Func, 0}, + {"Getppid", Func, 0}, + {"Getpriority", Func, 0}, + {"Getrlimit", Func, 0}, + {"Getrusage", Func, 0}, + {"Getsid", Func, 0}, + {"Getsockname", Func, 0}, + {"Getsockopt", Func, 1}, + {"GetsockoptByte", Func, 0}, + {"GetsockoptICMPv6Filter", Func, 2}, + {"GetsockoptIPMreq", Func, 0}, + {"GetsockoptIPMreqn", Func, 0}, + {"GetsockoptIPv6MTUInfo", Func, 2}, + {"GetsockoptIPv6Mreq", Func, 0}, + {"GetsockoptInet4Addr", Func, 0}, + {"GetsockoptInt", Func, 0}, + {"GetsockoptUcred", Func, 1}, + {"Gettid", Func, 0}, + {"Gettimeofday", Func, 0}, + {"Getuid", Func, 0}, + {"Getwd", Func, 0}, + {"Getxattr", Func, 1}, + {"HANDLE_FLAG_INHERIT", Const, 0}, + {"HKEY_CLASSES_ROOT", Const, 0}, + {"HKEY_CURRENT_CONFIG", Const, 0}, + {"HKEY_CURRENT_USER", Const, 0}, + {"HKEY_DYN_DATA", Const, 0}, + {"HKEY_LOCAL_MACHINE", Const, 0}, + {"HKEY_PERFORMANCE_DATA", Const, 0}, + {"HKEY_USERS", Const, 0}, + {"HUPCL", Const, 0}, + {"Handle", Type, 0}, + {"Hostent", Type, 0}, + {"Hostent.AddrList", Field, 0}, + {"Hostent.AddrType", Field, 0}, + {"Hostent.Aliases", Field, 0}, + {"Hostent.Length", Field, 0}, + {"Hostent.Name", Field, 0}, + {"ICANON", Const, 0}, + {"ICMP6_FILTER", Const, 2}, + {"ICMPV6_FILTER", Const, 2}, + {"ICMPv6Filter", Type, 2}, + {"ICMPv6Filter.Data", Field, 2}, + {"ICMPv6Filter.Filt", Field, 2}, + {"ICRNL", Const, 0}, + {"IEXTEN", Const, 0}, + {"IFAN_ARRIVAL", Const, 1}, + {"IFAN_DEPARTURE", Const, 1}, + {"IFA_ADDRESS", Const, 0}, + {"IFA_ANYCAST", Const, 0}, + {"IFA_BROADCAST", Const, 0}, + {"IFA_CACHEINFO", Const, 0}, + {"IFA_F_DADFAILED", Const, 0}, + {"IFA_F_DEPRECATED", Const, 0}, + {"IFA_F_HOMEADDRESS", Const, 0}, + {"IFA_F_NODAD", Const, 0}, + {"IFA_F_OPTIMISTIC", Const, 0}, + {"IFA_F_PERMANENT", Const, 0}, + {"IFA_F_SECONDARY", Const, 0}, + {"IFA_F_TEMPORARY", Const, 0}, + {"IFA_F_TENTATIVE", Const, 0}, + {"IFA_LABEL", Const, 0}, + {"IFA_LOCAL", Const, 0}, + {"IFA_MAX", Const, 0}, + {"IFA_MULTICAST", Const, 0}, + {"IFA_ROUTE", Const, 1}, + {"IFA_UNSPEC", Const, 0}, + {"IFF_ALLMULTI", Const, 0}, + {"IFF_ALTPHYS", Const, 0}, + {"IFF_AUTOMEDIA", Const, 0}, + {"IFF_BROADCAST", Const, 0}, + {"IFF_CANTCHANGE", Const, 0}, + {"IFF_CANTCONFIG", Const, 1}, + {"IFF_DEBUG", Const, 0}, + {"IFF_DRV_OACTIVE", Const, 0}, + {"IFF_DRV_RUNNING", Const, 0}, + {"IFF_DYING", Const, 0}, + {"IFF_DYNAMIC", Const, 0}, + {"IFF_LINK0", Const, 0}, + {"IFF_LINK1", Const, 0}, + {"IFF_LINK2", Const, 0}, + {"IFF_LOOPBACK", Const, 0}, + {"IFF_MASTER", Const, 0}, + {"IFF_MONITOR", Const, 0}, + {"IFF_MULTICAST", Const, 0}, + {"IFF_NOARP", Const, 0}, + {"IFF_NOTRAILERS", Const, 0}, + {"IFF_NO_PI", Const, 0}, + {"IFF_OACTIVE", Const, 0}, + {"IFF_ONE_QUEUE", Const, 0}, + {"IFF_POINTOPOINT", Const, 0}, + {"IFF_POINTTOPOINT", Const, 0}, + {"IFF_PORTSEL", Const, 0}, + {"IFF_PPROMISC", Const, 0}, + {"IFF_PROMISC", Const, 0}, + {"IFF_RENAMING", Const, 0}, + {"IFF_RUNNING", Const, 0}, + {"IFF_SIMPLEX", Const, 0}, + {"IFF_SLAVE", Const, 0}, + {"IFF_SMART", Const, 0}, + {"IFF_STATICARP", Const, 0}, + {"IFF_TAP", Const, 0}, + {"IFF_TUN", Const, 0}, + {"IFF_TUN_EXCL", Const, 0}, + {"IFF_UP", Const, 0}, + {"IFF_VNET_HDR", Const, 0}, + {"IFLA_ADDRESS", Const, 0}, + {"IFLA_BROADCAST", Const, 0}, + {"IFLA_COST", Const, 0}, + {"IFLA_IFALIAS", Const, 0}, + {"IFLA_IFNAME", Const, 0}, + {"IFLA_LINK", Const, 0}, + {"IFLA_LINKINFO", Const, 0}, + {"IFLA_LINKMODE", Const, 0}, + {"IFLA_MAP", Const, 0}, + {"IFLA_MASTER", Const, 0}, + {"IFLA_MAX", Const, 0}, + {"IFLA_MTU", Const, 0}, + {"IFLA_NET_NS_PID", Const, 0}, + {"IFLA_OPERSTATE", Const, 0}, + {"IFLA_PRIORITY", Const, 0}, + {"IFLA_PROTINFO", Const, 0}, + {"IFLA_QDISC", Const, 0}, + {"IFLA_STATS", Const, 0}, + {"IFLA_TXQLEN", Const, 0}, + {"IFLA_UNSPEC", Const, 0}, + {"IFLA_WEIGHT", Const, 0}, + {"IFLA_WIRELESS", Const, 0}, + {"IFNAMSIZ", Const, 0}, + {"IFT_1822", Const, 0}, + {"IFT_A12MPPSWITCH", Const, 0}, + {"IFT_AAL2", Const, 0}, + {"IFT_AAL5", Const, 0}, + {"IFT_ADSL", Const, 0}, + {"IFT_AFLANE8023", Const, 0}, + {"IFT_AFLANE8025", Const, 0}, + {"IFT_ARAP", Const, 0}, + {"IFT_ARCNET", Const, 0}, + {"IFT_ARCNETPLUS", Const, 0}, + {"IFT_ASYNC", Const, 0}, + {"IFT_ATM", Const, 0}, + {"IFT_ATMDXI", Const, 0}, + {"IFT_ATMFUNI", Const, 0}, + {"IFT_ATMIMA", Const, 0}, + {"IFT_ATMLOGICAL", Const, 0}, + {"IFT_ATMRADIO", Const, 0}, + {"IFT_ATMSUBINTERFACE", Const, 0}, + {"IFT_ATMVCIENDPT", Const, 0}, + {"IFT_ATMVIRTUAL", Const, 0}, + {"IFT_BGPPOLICYACCOUNTING", Const, 0}, + {"IFT_BLUETOOTH", Const, 1}, + {"IFT_BRIDGE", Const, 0}, + {"IFT_BSC", Const, 0}, + {"IFT_CARP", Const, 0}, + {"IFT_CCTEMUL", Const, 0}, + {"IFT_CELLULAR", Const, 0}, + {"IFT_CEPT", Const, 0}, + {"IFT_CES", Const, 0}, + {"IFT_CHANNEL", Const, 0}, + {"IFT_CNR", Const, 0}, + {"IFT_COFFEE", Const, 0}, + {"IFT_COMPOSITELINK", Const, 0}, + {"IFT_DCN", Const, 0}, + {"IFT_DIGITALPOWERLINE", Const, 0}, + {"IFT_DIGITALWRAPPEROVERHEADCHANNEL", Const, 0}, + {"IFT_DLSW", Const, 0}, + {"IFT_DOCSCABLEDOWNSTREAM", Const, 0}, + {"IFT_DOCSCABLEMACLAYER", Const, 0}, + {"IFT_DOCSCABLEUPSTREAM", Const, 0}, + {"IFT_DOCSCABLEUPSTREAMCHANNEL", Const, 1}, + {"IFT_DS0", Const, 0}, + {"IFT_DS0BUNDLE", Const, 0}, + {"IFT_DS1FDL", Const, 0}, + {"IFT_DS3", Const, 0}, + {"IFT_DTM", Const, 0}, + {"IFT_DUMMY", Const, 1}, + {"IFT_DVBASILN", Const, 0}, + {"IFT_DVBASIOUT", Const, 0}, + {"IFT_DVBRCCDOWNSTREAM", Const, 0}, + {"IFT_DVBRCCMACLAYER", Const, 0}, + {"IFT_DVBRCCUPSTREAM", Const, 0}, + {"IFT_ECONET", Const, 1}, + {"IFT_ENC", Const, 0}, + {"IFT_EON", Const, 0}, + {"IFT_EPLRS", Const, 0}, + {"IFT_ESCON", Const, 0}, + {"IFT_ETHER", Const, 0}, + {"IFT_FAITH", Const, 0}, + {"IFT_FAST", Const, 0}, + {"IFT_FASTETHER", Const, 0}, + {"IFT_FASTETHERFX", Const, 0}, + {"IFT_FDDI", Const, 0}, + {"IFT_FIBRECHANNEL", Const, 0}, + {"IFT_FRAMERELAYINTERCONNECT", Const, 0}, + {"IFT_FRAMERELAYMPI", Const, 0}, + {"IFT_FRDLCIENDPT", Const, 0}, + {"IFT_FRELAY", Const, 0}, + {"IFT_FRELAYDCE", Const, 0}, + {"IFT_FRF16MFRBUNDLE", Const, 0}, + {"IFT_FRFORWARD", Const, 0}, + {"IFT_G703AT2MB", Const, 0}, + {"IFT_G703AT64K", Const, 0}, + {"IFT_GIF", Const, 0}, + {"IFT_GIGABITETHERNET", Const, 0}, + {"IFT_GR303IDT", Const, 0}, + {"IFT_GR303RDT", Const, 0}, + {"IFT_H323GATEKEEPER", Const, 0}, + {"IFT_H323PROXY", Const, 0}, + {"IFT_HDH1822", Const, 0}, + {"IFT_HDLC", Const, 0}, + {"IFT_HDSL2", Const, 0}, + {"IFT_HIPERLAN2", Const, 0}, + {"IFT_HIPPI", Const, 0}, + {"IFT_HIPPIINTERFACE", Const, 0}, + {"IFT_HOSTPAD", Const, 0}, + {"IFT_HSSI", Const, 0}, + {"IFT_HY", Const, 0}, + {"IFT_IBM370PARCHAN", Const, 0}, + {"IFT_IDSL", Const, 0}, + {"IFT_IEEE1394", Const, 0}, + {"IFT_IEEE80211", Const, 0}, + {"IFT_IEEE80212", Const, 0}, + {"IFT_IEEE8023ADLAG", Const, 0}, + {"IFT_IFGSN", Const, 0}, + {"IFT_IMT", Const, 0}, + {"IFT_INFINIBAND", Const, 1}, + {"IFT_INTERLEAVE", Const, 0}, + {"IFT_IP", Const, 0}, + {"IFT_IPFORWARD", Const, 0}, + {"IFT_IPOVERATM", Const, 0}, + {"IFT_IPOVERCDLC", Const, 0}, + {"IFT_IPOVERCLAW", Const, 0}, + {"IFT_IPSWITCH", Const, 0}, + {"IFT_IPXIP", Const, 0}, + {"IFT_ISDN", Const, 0}, + {"IFT_ISDNBASIC", Const, 0}, + {"IFT_ISDNPRIMARY", Const, 0}, + {"IFT_ISDNS", Const, 0}, + {"IFT_ISDNU", Const, 0}, + {"IFT_ISO88022LLC", Const, 0}, + {"IFT_ISO88023", Const, 0}, + {"IFT_ISO88024", Const, 0}, + {"IFT_ISO88025", Const, 0}, + {"IFT_ISO88025CRFPINT", Const, 0}, + {"IFT_ISO88025DTR", Const, 0}, + {"IFT_ISO88025FIBER", Const, 0}, + {"IFT_ISO88026", Const, 0}, + {"IFT_ISUP", Const, 0}, + {"IFT_L2VLAN", Const, 0}, + {"IFT_L3IPVLAN", Const, 0}, + {"IFT_L3IPXVLAN", Const, 0}, + {"IFT_LAPB", Const, 0}, + {"IFT_LAPD", Const, 0}, + {"IFT_LAPF", Const, 0}, + {"IFT_LINEGROUP", Const, 1}, + {"IFT_LOCALTALK", Const, 0}, + {"IFT_LOOP", Const, 0}, + {"IFT_MEDIAMAILOVERIP", Const, 0}, + {"IFT_MFSIGLINK", Const, 0}, + {"IFT_MIOX25", Const, 0}, + {"IFT_MODEM", Const, 0}, + {"IFT_MPC", Const, 0}, + {"IFT_MPLS", Const, 0}, + {"IFT_MPLSTUNNEL", Const, 0}, + {"IFT_MSDSL", Const, 0}, + {"IFT_MVL", Const, 0}, + {"IFT_MYRINET", Const, 0}, + {"IFT_NFAS", Const, 0}, + {"IFT_NSIP", Const, 0}, + {"IFT_OPTICALCHANNEL", Const, 0}, + {"IFT_OPTICALTRANSPORT", Const, 0}, + {"IFT_OTHER", Const, 0}, + {"IFT_P10", Const, 0}, + {"IFT_P80", Const, 0}, + {"IFT_PARA", Const, 0}, + {"IFT_PDP", Const, 0}, + {"IFT_PFLOG", Const, 0}, + {"IFT_PFLOW", Const, 1}, + {"IFT_PFSYNC", Const, 0}, + {"IFT_PLC", Const, 0}, + {"IFT_PON155", Const, 1}, + {"IFT_PON622", Const, 1}, + {"IFT_POS", Const, 0}, + {"IFT_PPP", Const, 0}, + {"IFT_PPPMULTILINKBUNDLE", Const, 0}, + {"IFT_PROPATM", Const, 1}, + {"IFT_PROPBWAP2MP", Const, 0}, + {"IFT_PROPCNLS", Const, 0}, + {"IFT_PROPDOCSWIRELESSDOWNSTREAM", Const, 0}, + {"IFT_PROPDOCSWIRELESSMACLAYER", Const, 0}, + {"IFT_PROPDOCSWIRELESSUPSTREAM", Const, 0}, + {"IFT_PROPMUX", Const, 0}, + {"IFT_PROPVIRTUAL", Const, 0}, + {"IFT_PROPWIRELESSP2P", Const, 0}, + {"IFT_PTPSERIAL", Const, 0}, + {"IFT_PVC", Const, 0}, + {"IFT_Q2931", Const, 1}, + {"IFT_QLLC", Const, 0}, + {"IFT_RADIOMAC", Const, 0}, + {"IFT_RADSL", Const, 0}, + {"IFT_REACHDSL", Const, 0}, + {"IFT_RFC1483", Const, 0}, + {"IFT_RS232", Const, 0}, + {"IFT_RSRB", Const, 0}, + {"IFT_SDLC", Const, 0}, + {"IFT_SDSL", Const, 0}, + {"IFT_SHDSL", Const, 0}, + {"IFT_SIP", Const, 0}, + {"IFT_SIPSIG", Const, 1}, + {"IFT_SIPTG", Const, 1}, + {"IFT_SLIP", Const, 0}, + {"IFT_SMDSDXI", Const, 0}, + {"IFT_SMDSICIP", Const, 0}, + {"IFT_SONET", Const, 0}, + {"IFT_SONETOVERHEADCHANNEL", Const, 0}, + {"IFT_SONETPATH", Const, 0}, + {"IFT_SONETVT", Const, 0}, + {"IFT_SRP", Const, 0}, + {"IFT_SS7SIGLINK", Const, 0}, + {"IFT_STACKTOSTACK", Const, 0}, + {"IFT_STARLAN", Const, 0}, + {"IFT_STF", Const, 0}, + {"IFT_T1", Const, 0}, + {"IFT_TDLC", Const, 0}, + {"IFT_TELINK", Const, 1}, + {"IFT_TERMPAD", Const, 0}, + {"IFT_TR008", Const, 0}, + {"IFT_TRANSPHDLC", Const, 0}, + {"IFT_TUNNEL", Const, 0}, + {"IFT_ULTRA", Const, 0}, + {"IFT_USB", Const, 0}, + {"IFT_V11", Const, 0}, + {"IFT_V35", Const, 0}, + {"IFT_V36", Const, 0}, + {"IFT_V37", Const, 0}, + {"IFT_VDSL", Const, 0}, + {"IFT_VIRTUALIPADDRESS", Const, 0}, + {"IFT_VIRTUALTG", Const, 1}, + {"IFT_VOICEDID", Const, 1}, + {"IFT_VOICEEM", Const, 0}, + {"IFT_VOICEEMFGD", Const, 1}, + {"IFT_VOICEENCAP", Const, 0}, + {"IFT_VOICEFGDEANA", Const, 1}, + {"IFT_VOICEFXO", Const, 0}, + {"IFT_VOICEFXS", Const, 0}, + {"IFT_VOICEOVERATM", Const, 0}, + {"IFT_VOICEOVERCABLE", Const, 1}, + {"IFT_VOICEOVERFRAMERELAY", Const, 0}, + {"IFT_VOICEOVERIP", Const, 0}, + {"IFT_X213", Const, 0}, + {"IFT_X25", Const, 0}, + {"IFT_X25DDN", Const, 0}, + {"IFT_X25HUNTGROUP", Const, 0}, + {"IFT_X25MLP", Const, 0}, + {"IFT_X25PLE", Const, 0}, + {"IFT_XETHER", Const, 0}, + {"IGNBRK", Const, 0}, + {"IGNCR", Const, 0}, + {"IGNORE", Const, 0}, + {"IGNPAR", Const, 0}, + {"IMAXBEL", Const, 0}, + {"INFINITE", Const, 0}, + {"INLCR", Const, 0}, + {"INPCK", Const, 0}, + {"INVALID_FILE_ATTRIBUTES", Const, 0}, + {"IN_ACCESS", Const, 0}, + {"IN_ALL_EVENTS", Const, 0}, + {"IN_ATTRIB", Const, 0}, + {"IN_CLASSA_HOST", Const, 0}, + {"IN_CLASSA_MAX", Const, 0}, + {"IN_CLASSA_NET", Const, 0}, + {"IN_CLASSA_NSHIFT", Const, 0}, + {"IN_CLASSB_HOST", Const, 0}, + {"IN_CLASSB_MAX", Const, 0}, + {"IN_CLASSB_NET", Const, 0}, + {"IN_CLASSB_NSHIFT", Const, 0}, + {"IN_CLASSC_HOST", Const, 0}, + {"IN_CLASSC_NET", Const, 0}, + {"IN_CLASSC_NSHIFT", Const, 0}, + {"IN_CLASSD_HOST", Const, 0}, + {"IN_CLASSD_NET", Const, 0}, + {"IN_CLASSD_NSHIFT", Const, 0}, + {"IN_CLOEXEC", Const, 0}, + {"IN_CLOSE", Const, 0}, + {"IN_CLOSE_NOWRITE", Const, 0}, + {"IN_CLOSE_WRITE", Const, 0}, + {"IN_CREATE", Const, 0}, + {"IN_DELETE", Const, 0}, + {"IN_DELETE_SELF", Const, 0}, + {"IN_DONT_FOLLOW", Const, 0}, + {"IN_EXCL_UNLINK", Const, 0}, + {"IN_IGNORED", Const, 0}, + {"IN_ISDIR", Const, 0}, + {"IN_LINKLOCALNETNUM", Const, 0}, + {"IN_LOOPBACKNET", Const, 0}, + {"IN_MASK_ADD", Const, 0}, + {"IN_MODIFY", Const, 0}, + {"IN_MOVE", Const, 0}, + {"IN_MOVED_FROM", Const, 0}, + {"IN_MOVED_TO", Const, 0}, + {"IN_MOVE_SELF", Const, 0}, + {"IN_NONBLOCK", Const, 0}, + {"IN_ONESHOT", Const, 0}, + {"IN_ONLYDIR", Const, 0}, + {"IN_OPEN", Const, 0}, + {"IN_Q_OVERFLOW", Const, 0}, + {"IN_RFC3021_HOST", Const, 1}, + {"IN_RFC3021_MASK", Const, 1}, + {"IN_RFC3021_NET", Const, 1}, + {"IN_RFC3021_NSHIFT", Const, 1}, + {"IN_UNMOUNT", Const, 0}, + {"IOC_IN", Const, 1}, + {"IOC_INOUT", Const, 1}, + {"IOC_OUT", Const, 1}, + {"IOC_VENDOR", Const, 3}, + {"IOC_WS2", Const, 1}, + {"IO_REPARSE_TAG_SYMLINK", Const, 4}, + {"IPMreq", Type, 0}, + {"IPMreq.Interface", Field, 0}, + {"IPMreq.Multiaddr", Field, 0}, + {"IPMreqn", Type, 0}, + {"IPMreqn.Address", Field, 0}, + {"IPMreqn.Ifindex", Field, 0}, + {"IPMreqn.Multiaddr", Field, 0}, + {"IPPROTO_3PC", Const, 0}, + {"IPPROTO_ADFS", Const, 0}, + {"IPPROTO_AH", Const, 0}, + {"IPPROTO_AHIP", Const, 0}, + {"IPPROTO_APES", Const, 0}, + {"IPPROTO_ARGUS", Const, 0}, + {"IPPROTO_AX25", Const, 0}, + {"IPPROTO_BHA", Const, 0}, + {"IPPROTO_BLT", Const, 0}, + {"IPPROTO_BRSATMON", Const, 0}, + {"IPPROTO_CARP", Const, 0}, + {"IPPROTO_CFTP", Const, 0}, + {"IPPROTO_CHAOS", Const, 0}, + {"IPPROTO_CMTP", Const, 0}, + {"IPPROTO_COMP", Const, 0}, + {"IPPROTO_CPHB", Const, 0}, + {"IPPROTO_CPNX", Const, 0}, + {"IPPROTO_DCCP", Const, 0}, + {"IPPROTO_DDP", Const, 0}, + {"IPPROTO_DGP", Const, 0}, + {"IPPROTO_DIVERT", Const, 0}, + {"IPPROTO_DIVERT_INIT", Const, 3}, + {"IPPROTO_DIVERT_RESP", Const, 3}, + {"IPPROTO_DONE", Const, 0}, + {"IPPROTO_DSTOPTS", Const, 0}, + {"IPPROTO_EGP", Const, 0}, + {"IPPROTO_EMCON", Const, 0}, + {"IPPROTO_ENCAP", Const, 0}, + {"IPPROTO_EON", Const, 0}, + {"IPPROTO_ESP", Const, 0}, + {"IPPROTO_ETHERIP", Const, 0}, + {"IPPROTO_FRAGMENT", Const, 0}, + {"IPPROTO_GGP", Const, 0}, + {"IPPROTO_GMTP", Const, 0}, + {"IPPROTO_GRE", Const, 0}, + {"IPPROTO_HELLO", Const, 0}, + {"IPPROTO_HMP", Const, 0}, + {"IPPROTO_HOPOPTS", Const, 0}, + {"IPPROTO_ICMP", Const, 0}, + {"IPPROTO_ICMPV6", Const, 0}, + {"IPPROTO_IDP", Const, 0}, + {"IPPROTO_IDPR", Const, 0}, + {"IPPROTO_IDRP", Const, 0}, + {"IPPROTO_IGMP", Const, 0}, + {"IPPROTO_IGP", Const, 0}, + {"IPPROTO_IGRP", Const, 0}, + {"IPPROTO_IL", Const, 0}, + {"IPPROTO_INLSP", Const, 0}, + {"IPPROTO_INP", Const, 0}, + {"IPPROTO_IP", Const, 0}, + {"IPPROTO_IPCOMP", Const, 0}, + {"IPPROTO_IPCV", Const, 0}, + {"IPPROTO_IPEIP", Const, 0}, + {"IPPROTO_IPIP", Const, 0}, + {"IPPROTO_IPPC", Const, 0}, + {"IPPROTO_IPV4", Const, 0}, + {"IPPROTO_IPV6", Const, 0}, + {"IPPROTO_IPV6_ICMP", Const, 1}, + {"IPPROTO_IRTP", Const, 0}, + {"IPPROTO_KRYPTOLAN", Const, 0}, + {"IPPROTO_LARP", Const, 0}, + {"IPPROTO_LEAF1", Const, 0}, + {"IPPROTO_LEAF2", Const, 0}, + {"IPPROTO_MAX", Const, 0}, + {"IPPROTO_MAXID", Const, 0}, + {"IPPROTO_MEAS", Const, 0}, + {"IPPROTO_MH", Const, 1}, + {"IPPROTO_MHRP", Const, 0}, + {"IPPROTO_MICP", Const, 0}, + {"IPPROTO_MOBILE", Const, 0}, + {"IPPROTO_MPLS", Const, 1}, + {"IPPROTO_MTP", Const, 0}, + {"IPPROTO_MUX", Const, 0}, + {"IPPROTO_ND", Const, 0}, + {"IPPROTO_NHRP", Const, 0}, + {"IPPROTO_NONE", Const, 0}, + {"IPPROTO_NSP", Const, 0}, + {"IPPROTO_NVPII", Const, 0}, + {"IPPROTO_OLD_DIVERT", Const, 0}, + {"IPPROTO_OSPFIGP", Const, 0}, + {"IPPROTO_PFSYNC", Const, 0}, + {"IPPROTO_PGM", Const, 0}, + {"IPPROTO_PIGP", Const, 0}, + {"IPPROTO_PIM", Const, 0}, + {"IPPROTO_PRM", Const, 0}, + {"IPPROTO_PUP", Const, 0}, + {"IPPROTO_PVP", Const, 0}, + {"IPPROTO_RAW", Const, 0}, + {"IPPROTO_RCCMON", Const, 0}, + {"IPPROTO_RDP", Const, 0}, + {"IPPROTO_ROUTING", Const, 0}, + {"IPPROTO_RSVP", Const, 0}, + {"IPPROTO_RVD", Const, 0}, + {"IPPROTO_SATEXPAK", Const, 0}, + {"IPPROTO_SATMON", Const, 0}, + {"IPPROTO_SCCSP", Const, 0}, + {"IPPROTO_SCTP", Const, 0}, + {"IPPROTO_SDRP", Const, 0}, + {"IPPROTO_SEND", Const, 1}, + {"IPPROTO_SEP", Const, 0}, + {"IPPROTO_SKIP", Const, 0}, + {"IPPROTO_SPACER", Const, 0}, + {"IPPROTO_SRPC", Const, 0}, + {"IPPROTO_ST", Const, 0}, + {"IPPROTO_SVMTP", Const, 0}, + {"IPPROTO_SWIPE", Const, 0}, + {"IPPROTO_TCF", Const, 0}, + {"IPPROTO_TCP", Const, 0}, + {"IPPROTO_TLSP", Const, 0}, + {"IPPROTO_TP", Const, 0}, + {"IPPROTO_TPXX", Const, 0}, + {"IPPROTO_TRUNK1", Const, 0}, + {"IPPROTO_TRUNK2", Const, 0}, + {"IPPROTO_TTP", Const, 0}, + {"IPPROTO_UDP", Const, 0}, + {"IPPROTO_UDPLITE", Const, 0}, + {"IPPROTO_VINES", Const, 0}, + {"IPPROTO_VISA", Const, 0}, + {"IPPROTO_VMTP", Const, 0}, + {"IPPROTO_VRRP", Const, 1}, + {"IPPROTO_WBEXPAK", Const, 0}, + {"IPPROTO_WBMON", Const, 0}, + {"IPPROTO_WSN", Const, 0}, + {"IPPROTO_XNET", Const, 0}, + {"IPPROTO_XTP", Const, 0}, + {"IPV6_2292DSTOPTS", Const, 0}, + {"IPV6_2292HOPLIMIT", Const, 0}, + {"IPV6_2292HOPOPTS", Const, 0}, + {"IPV6_2292NEXTHOP", Const, 0}, + {"IPV6_2292PKTINFO", Const, 0}, + {"IPV6_2292PKTOPTIONS", Const, 0}, + {"IPV6_2292RTHDR", Const, 0}, + {"IPV6_ADDRFORM", Const, 0}, + {"IPV6_ADD_MEMBERSHIP", Const, 0}, + {"IPV6_AUTHHDR", Const, 0}, + {"IPV6_AUTH_LEVEL", Const, 1}, + {"IPV6_AUTOFLOWLABEL", Const, 0}, + {"IPV6_BINDANY", Const, 0}, + {"IPV6_BINDV6ONLY", Const, 0}, + {"IPV6_BOUND_IF", Const, 0}, + {"IPV6_CHECKSUM", Const, 0}, + {"IPV6_DEFAULT_MULTICAST_HOPS", Const, 0}, + {"IPV6_DEFAULT_MULTICAST_LOOP", Const, 0}, + {"IPV6_DEFHLIM", Const, 0}, + {"IPV6_DONTFRAG", Const, 0}, + {"IPV6_DROP_MEMBERSHIP", Const, 0}, + {"IPV6_DSTOPTS", Const, 0}, + {"IPV6_ESP_NETWORK_LEVEL", Const, 1}, + {"IPV6_ESP_TRANS_LEVEL", Const, 1}, + {"IPV6_FAITH", Const, 0}, + {"IPV6_FLOWINFO_MASK", Const, 0}, + {"IPV6_FLOWLABEL_MASK", Const, 0}, + {"IPV6_FRAGTTL", Const, 0}, + {"IPV6_FW_ADD", Const, 0}, + {"IPV6_FW_DEL", Const, 0}, + {"IPV6_FW_FLUSH", Const, 0}, + {"IPV6_FW_GET", Const, 0}, + {"IPV6_FW_ZERO", Const, 0}, + {"IPV6_HLIMDEC", Const, 0}, + {"IPV6_HOPLIMIT", Const, 0}, + {"IPV6_HOPOPTS", Const, 0}, + {"IPV6_IPCOMP_LEVEL", Const, 1}, + {"IPV6_IPSEC_POLICY", Const, 0}, + {"IPV6_JOIN_ANYCAST", Const, 0}, + {"IPV6_JOIN_GROUP", Const, 0}, + {"IPV6_LEAVE_ANYCAST", Const, 0}, + {"IPV6_LEAVE_GROUP", Const, 0}, + {"IPV6_MAXHLIM", Const, 0}, + {"IPV6_MAXOPTHDR", Const, 0}, + {"IPV6_MAXPACKET", Const, 0}, + {"IPV6_MAX_GROUP_SRC_FILTER", Const, 0}, + {"IPV6_MAX_MEMBERSHIPS", Const, 0}, + {"IPV6_MAX_SOCK_SRC_FILTER", Const, 0}, + {"IPV6_MIN_MEMBERSHIPS", Const, 0}, + {"IPV6_MMTU", Const, 0}, + {"IPV6_MSFILTER", Const, 0}, + {"IPV6_MTU", Const, 0}, + {"IPV6_MTU_DISCOVER", Const, 0}, + {"IPV6_MULTICAST_HOPS", Const, 0}, + {"IPV6_MULTICAST_IF", Const, 0}, + {"IPV6_MULTICAST_LOOP", Const, 0}, + {"IPV6_NEXTHOP", Const, 0}, + {"IPV6_OPTIONS", Const, 1}, + {"IPV6_PATHMTU", Const, 0}, + {"IPV6_PIPEX", Const, 1}, + {"IPV6_PKTINFO", Const, 0}, + {"IPV6_PMTUDISC_DO", Const, 0}, + {"IPV6_PMTUDISC_DONT", Const, 0}, + {"IPV6_PMTUDISC_PROBE", Const, 0}, + {"IPV6_PMTUDISC_WANT", Const, 0}, + {"IPV6_PORTRANGE", Const, 0}, + {"IPV6_PORTRANGE_DEFAULT", Const, 0}, + {"IPV6_PORTRANGE_HIGH", Const, 0}, + {"IPV6_PORTRANGE_LOW", Const, 0}, + {"IPV6_PREFER_TEMPADDR", Const, 0}, + {"IPV6_RECVDSTOPTS", Const, 0}, + {"IPV6_RECVDSTPORT", Const, 3}, + {"IPV6_RECVERR", Const, 0}, + {"IPV6_RECVHOPLIMIT", Const, 0}, + {"IPV6_RECVHOPOPTS", Const, 0}, + {"IPV6_RECVPATHMTU", Const, 0}, + {"IPV6_RECVPKTINFO", Const, 0}, + {"IPV6_RECVRTHDR", Const, 0}, + {"IPV6_RECVTCLASS", Const, 0}, + {"IPV6_ROUTER_ALERT", Const, 0}, + {"IPV6_RTABLE", Const, 1}, + {"IPV6_RTHDR", Const, 0}, + {"IPV6_RTHDRDSTOPTS", Const, 0}, + {"IPV6_RTHDR_LOOSE", Const, 0}, + {"IPV6_RTHDR_STRICT", Const, 0}, + {"IPV6_RTHDR_TYPE_0", Const, 0}, + {"IPV6_RXDSTOPTS", Const, 0}, + {"IPV6_RXHOPOPTS", Const, 0}, + {"IPV6_SOCKOPT_RESERVED1", Const, 0}, + {"IPV6_TCLASS", Const, 0}, + {"IPV6_UNICAST_HOPS", Const, 0}, + {"IPV6_USE_MIN_MTU", Const, 0}, + {"IPV6_V6ONLY", Const, 0}, + {"IPV6_VERSION", Const, 0}, + {"IPV6_VERSION_MASK", Const, 0}, + {"IPV6_XFRM_POLICY", Const, 0}, + {"IP_ADD_MEMBERSHIP", Const, 0}, + {"IP_ADD_SOURCE_MEMBERSHIP", Const, 0}, + {"IP_AUTH_LEVEL", Const, 1}, + {"IP_BINDANY", Const, 0}, + {"IP_BLOCK_SOURCE", Const, 0}, + {"IP_BOUND_IF", Const, 0}, + {"IP_DEFAULT_MULTICAST_LOOP", Const, 0}, + {"IP_DEFAULT_MULTICAST_TTL", Const, 0}, + {"IP_DF", Const, 0}, + {"IP_DIVERTFL", Const, 3}, + {"IP_DONTFRAG", Const, 0}, + {"IP_DROP_MEMBERSHIP", Const, 0}, + {"IP_DROP_SOURCE_MEMBERSHIP", Const, 0}, + {"IP_DUMMYNET3", Const, 0}, + {"IP_DUMMYNET_CONFIGURE", Const, 0}, + {"IP_DUMMYNET_DEL", Const, 0}, + {"IP_DUMMYNET_FLUSH", Const, 0}, + {"IP_DUMMYNET_GET", Const, 0}, + {"IP_EF", Const, 1}, + {"IP_ERRORMTU", Const, 1}, + {"IP_ESP_NETWORK_LEVEL", Const, 1}, + {"IP_ESP_TRANS_LEVEL", Const, 1}, + {"IP_FAITH", Const, 0}, + {"IP_FREEBIND", Const, 0}, + {"IP_FW3", Const, 0}, + {"IP_FW_ADD", Const, 0}, + {"IP_FW_DEL", Const, 0}, + {"IP_FW_FLUSH", Const, 0}, + {"IP_FW_GET", Const, 0}, + {"IP_FW_NAT_CFG", Const, 0}, + {"IP_FW_NAT_DEL", Const, 0}, + {"IP_FW_NAT_GET_CONFIG", Const, 0}, + {"IP_FW_NAT_GET_LOG", Const, 0}, + {"IP_FW_RESETLOG", Const, 0}, + {"IP_FW_TABLE_ADD", Const, 0}, + {"IP_FW_TABLE_DEL", Const, 0}, + {"IP_FW_TABLE_FLUSH", Const, 0}, + {"IP_FW_TABLE_GETSIZE", Const, 0}, + {"IP_FW_TABLE_LIST", Const, 0}, + {"IP_FW_ZERO", Const, 0}, + {"IP_HDRINCL", Const, 0}, + {"IP_IPCOMP_LEVEL", Const, 1}, + {"IP_IPSECFLOWINFO", Const, 1}, + {"IP_IPSEC_LOCAL_AUTH", Const, 1}, + {"IP_IPSEC_LOCAL_CRED", Const, 1}, + {"IP_IPSEC_LOCAL_ID", Const, 1}, + {"IP_IPSEC_POLICY", Const, 0}, + {"IP_IPSEC_REMOTE_AUTH", Const, 1}, + {"IP_IPSEC_REMOTE_CRED", Const, 1}, + {"IP_IPSEC_REMOTE_ID", Const, 1}, + {"IP_MAXPACKET", Const, 0}, + {"IP_MAX_GROUP_SRC_FILTER", Const, 0}, + {"IP_MAX_MEMBERSHIPS", Const, 0}, + {"IP_MAX_SOCK_MUTE_FILTER", Const, 0}, + {"IP_MAX_SOCK_SRC_FILTER", Const, 0}, + {"IP_MAX_SOURCE_FILTER", Const, 0}, + {"IP_MF", Const, 0}, + {"IP_MINFRAGSIZE", Const, 1}, + {"IP_MINTTL", Const, 0}, + {"IP_MIN_MEMBERSHIPS", Const, 0}, + {"IP_MSFILTER", Const, 0}, + {"IP_MSS", Const, 0}, + {"IP_MTU", Const, 0}, + {"IP_MTU_DISCOVER", Const, 0}, + {"IP_MULTICAST_IF", Const, 0}, + {"IP_MULTICAST_IFINDEX", Const, 0}, + {"IP_MULTICAST_LOOP", Const, 0}, + {"IP_MULTICAST_TTL", Const, 0}, + {"IP_MULTICAST_VIF", Const, 0}, + {"IP_NAT__XXX", Const, 0}, + {"IP_OFFMASK", Const, 0}, + {"IP_OLD_FW_ADD", Const, 0}, + {"IP_OLD_FW_DEL", Const, 0}, + {"IP_OLD_FW_FLUSH", Const, 0}, + {"IP_OLD_FW_GET", Const, 0}, + {"IP_OLD_FW_RESETLOG", Const, 0}, + {"IP_OLD_FW_ZERO", Const, 0}, + {"IP_ONESBCAST", Const, 0}, + {"IP_OPTIONS", Const, 0}, + {"IP_ORIGDSTADDR", Const, 0}, + {"IP_PASSSEC", Const, 0}, + {"IP_PIPEX", Const, 1}, + {"IP_PKTINFO", Const, 0}, + {"IP_PKTOPTIONS", Const, 0}, + {"IP_PMTUDISC", Const, 0}, + {"IP_PMTUDISC_DO", Const, 0}, + {"IP_PMTUDISC_DONT", Const, 0}, + {"IP_PMTUDISC_PROBE", Const, 0}, + {"IP_PMTUDISC_WANT", Const, 0}, + {"IP_PORTRANGE", Const, 0}, + {"IP_PORTRANGE_DEFAULT", Const, 0}, + {"IP_PORTRANGE_HIGH", Const, 0}, + {"IP_PORTRANGE_LOW", Const, 0}, + {"IP_RECVDSTADDR", Const, 0}, + {"IP_RECVDSTPORT", Const, 1}, + {"IP_RECVERR", Const, 0}, + {"IP_RECVIF", Const, 0}, + {"IP_RECVOPTS", Const, 0}, + {"IP_RECVORIGDSTADDR", Const, 0}, + {"IP_RECVPKTINFO", Const, 0}, + {"IP_RECVRETOPTS", Const, 0}, + {"IP_RECVRTABLE", Const, 1}, + {"IP_RECVTOS", Const, 0}, + {"IP_RECVTTL", Const, 0}, + {"IP_RETOPTS", Const, 0}, + {"IP_RF", Const, 0}, + {"IP_ROUTER_ALERT", Const, 0}, + {"IP_RSVP_OFF", Const, 0}, + {"IP_RSVP_ON", Const, 0}, + {"IP_RSVP_VIF_OFF", Const, 0}, + {"IP_RSVP_VIF_ON", Const, 0}, + {"IP_RTABLE", Const, 1}, + {"IP_SENDSRCADDR", Const, 0}, + {"IP_STRIPHDR", Const, 0}, + {"IP_TOS", Const, 0}, + {"IP_TRAFFIC_MGT_BACKGROUND", Const, 0}, + {"IP_TRANSPARENT", Const, 0}, + {"IP_TTL", Const, 0}, + {"IP_UNBLOCK_SOURCE", Const, 0}, + {"IP_XFRM_POLICY", Const, 0}, + {"IPv6MTUInfo", Type, 2}, + {"IPv6MTUInfo.Addr", Field, 2}, + {"IPv6MTUInfo.Mtu", Field, 2}, + {"IPv6Mreq", Type, 0}, + {"IPv6Mreq.Interface", Field, 0}, + {"IPv6Mreq.Multiaddr", Field, 0}, + {"ISIG", Const, 0}, + {"ISTRIP", Const, 0}, + {"IUCLC", Const, 0}, + {"IUTF8", Const, 0}, + {"IXANY", Const, 0}, + {"IXOFF", Const, 0}, + {"IXON", Const, 0}, + {"IfAddrmsg", Type, 0}, + {"IfAddrmsg.Family", Field, 0}, + {"IfAddrmsg.Flags", Field, 0}, + {"IfAddrmsg.Index", Field, 0}, + {"IfAddrmsg.Prefixlen", Field, 0}, + {"IfAddrmsg.Scope", Field, 0}, + {"IfAnnounceMsghdr", Type, 1}, + {"IfAnnounceMsghdr.Hdrlen", Field, 2}, + {"IfAnnounceMsghdr.Index", Field, 1}, + {"IfAnnounceMsghdr.Msglen", Field, 1}, + {"IfAnnounceMsghdr.Name", Field, 1}, + {"IfAnnounceMsghdr.Type", Field, 1}, + {"IfAnnounceMsghdr.Version", Field, 1}, + {"IfAnnounceMsghdr.What", Field, 1}, + {"IfData", Type, 0}, + {"IfData.Addrlen", Field, 0}, + {"IfData.Baudrate", Field, 0}, + {"IfData.Capabilities", Field, 2}, + {"IfData.Collisions", Field, 0}, + {"IfData.Datalen", Field, 0}, + {"IfData.Epoch", Field, 0}, + {"IfData.Hdrlen", Field, 0}, + {"IfData.Hwassist", Field, 0}, + {"IfData.Ibytes", Field, 0}, + {"IfData.Ierrors", Field, 0}, + {"IfData.Imcasts", Field, 0}, + {"IfData.Ipackets", Field, 0}, + {"IfData.Iqdrops", Field, 0}, + {"IfData.Lastchange", Field, 0}, + {"IfData.Link_state", Field, 0}, + {"IfData.Mclpool", Field, 2}, + {"IfData.Metric", Field, 0}, + {"IfData.Mtu", Field, 0}, + {"IfData.Noproto", Field, 0}, + {"IfData.Obytes", Field, 0}, + {"IfData.Oerrors", Field, 0}, + {"IfData.Omcasts", Field, 0}, + {"IfData.Opackets", Field, 0}, + {"IfData.Pad", Field, 2}, + {"IfData.Pad_cgo_0", Field, 2}, + {"IfData.Pad_cgo_1", Field, 2}, + {"IfData.Physical", Field, 0}, + {"IfData.Recvquota", Field, 0}, + {"IfData.Recvtiming", Field, 0}, + {"IfData.Reserved1", Field, 0}, + {"IfData.Reserved2", Field, 0}, + {"IfData.Spare_char1", Field, 0}, + {"IfData.Spare_char2", Field, 0}, + {"IfData.Type", Field, 0}, + {"IfData.Typelen", Field, 0}, + {"IfData.Unused1", Field, 0}, + {"IfData.Unused2", Field, 0}, + {"IfData.Xmitquota", Field, 0}, + {"IfData.Xmittiming", Field, 0}, + {"IfInfomsg", Type, 0}, + {"IfInfomsg.Change", Field, 0}, + {"IfInfomsg.Family", Field, 0}, + {"IfInfomsg.Flags", Field, 0}, + {"IfInfomsg.Index", Field, 0}, + {"IfInfomsg.Type", Field, 0}, + {"IfInfomsg.X__ifi_pad", Field, 0}, + {"IfMsghdr", Type, 0}, + {"IfMsghdr.Addrs", Field, 0}, + {"IfMsghdr.Data", Field, 0}, + {"IfMsghdr.Flags", Field, 0}, + {"IfMsghdr.Hdrlen", Field, 2}, + {"IfMsghdr.Index", Field, 0}, + {"IfMsghdr.Msglen", Field, 0}, + {"IfMsghdr.Pad1", Field, 2}, + {"IfMsghdr.Pad2", Field, 2}, + {"IfMsghdr.Pad_cgo_0", Field, 0}, + {"IfMsghdr.Pad_cgo_1", Field, 2}, + {"IfMsghdr.Tableid", Field, 2}, + {"IfMsghdr.Type", Field, 0}, + {"IfMsghdr.Version", Field, 0}, + {"IfMsghdr.Xflags", Field, 2}, + {"IfaMsghdr", Type, 0}, + {"IfaMsghdr.Addrs", Field, 0}, + {"IfaMsghdr.Flags", Field, 0}, + {"IfaMsghdr.Hdrlen", Field, 2}, + {"IfaMsghdr.Index", Field, 0}, + {"IfaMsghdr.Metric", Field, 0}, + {"IfaMsghdr.Msglen", Field, 0}, + {"IfaMsghdr.Pad1", Field, 2}, + {"IfaMsghdr.Pad2", Field, 2}, + {"IfaMsghdr.Pad_cgo_0", Field, 0}, + {"IfaMsghdr.Tableid", Field, 2}, + {"IfaMsghdr.Type", Field, 0}, + {"IfaMsghdr.Version", Field, 0}, + {"IfmaMsghdr", Type, 0}, + {"IfmaMsghdr.Addrs", Field, 0}, + {"IfmaMsghdr.Flags", Field, 0}, + {"IfmaMsghdr.Index", Field, 0}, + {"IfmaMsghdr.Msglen", Field, 0}, + {"IfmaMsghdr.Pad_cgo_0", Field, 0}, + {"IfmaMsghdr.Type", Field, 0}, + {"IfmaMsghdr.Version", Field, 0}, + {"IfmaMsghdr2", Type, 0}, + {"IfmaMsghdr2.Addrs", Field, 0}, + {"IfmaMsghdr2.Flags", Field, 0}, + {"IfmaMsghdr2.Index", Field, 0}, + {"IfmaMsghdr2.Msglen", Field, 0}, + {"IfmaMsghdr2.Pad_cgo_0", Field, 0}, + {"IfmaMsghdr2.Refcount", Field, 0}, + {"IfmaMsghdr2.Type", Field, 0}, + {"IfmaMsghdr2.Version", Field, 0}, + {"ImplementsGetwd", Const, 0}, + {"Inet4Pktinfo", Type, 0}, + {"Inet4Pktinfo.Addr", Field, 0}, + {"Inet4Pktinfo.Ifindex", Field, 0}, + {"Inet4Pktinfo.Spec_dst", Field, 0}, + {"Inet6Pktinfo", Type, 0}, + {"Inet6Pktinfo.Addr", Field, 0}, + {"Inet6Pktinfo.Ifindex", Field, 0}, + {"InotifyAddWatch", Func, 0}, + {"InotifyEvent", Type, 0}, + {"InotifyEvent.Cookie", Field, 0}, + {"InotifyEvent.Len", Field, 0}, + {"InotifyEvent.Mask", Field, 0}, + {"InotifyEvent.Name", Field, 0}, + {"InotifyEvent.Wd", Field, 0}, + {"InotifyInit", Func, 0}, + {"InotifyInit1", Func, 0}, + {"InotifyRmWatch", Func, 0}, + {"InterfaceAddrMessage", Type, 0}, + {"InterfaceAddrMessage.Data", Field, 0}, + {"InterfaceAddrMessage.Header", Field, 0}, + {"InterfaceAnnounceMessage", Type, 1}, + {"InterfaceAnnounceMessage.Header", Field, 1}, + {"InterfaceInfo", Type, 0}, + {"InterfaceInfo.Address", Field, 0}, + {"InterfaceInfo.BroadcastAddress", Field, 0}, + {"InterfaceInfo.Flags", Field, 0}, + {"InterfaceInfo.Netmask", Field, 0}, + {"InterfaceMessage", Type, 0}, + {"InterfaceMessage.Data", Field, 0}, + {"InterfaceMessage.Header", Field, 0}, + {"InterfaceMulticastAddrMessage", Type, 0}, + {"InterfaceMulticastAddrMessage.Data", Field, 0}, + {"InterfaceMulticastAddrMessage.Header", Field, 0}, + {"InvalidHandle", Const, 0}, + {"Ioperm", Func, 0}, + {"Iopl", Func, 0}, + {"Iovec", Type, 0}, + {"Iovec.Base", Field, 0}, + {"Iovec.Len", Field, 0}, + {"IpAdapterInfo", Type, 0}, + {"IpAdapterInfo.AdapterName", Field, 0}, + {"IpAdapterInfo.Address", Field, 0}, + {"IpAdapterInfo.AddressLength", Field, 0}, + {"IpAdapterInfo.ComboIndex", Field, 0}, + {"IpAdapterInfo.CurrentIpAddress", Field, 0}, + {"IpAdapterInfo.Description", Field, 0}, + {"IpAdapterInfo.DhcpEnabled", Field, 0}, + {"IpAdapterInfo.DhcpServer", Field, 0}, + {"IpAdapterInfo.GatewayList", Field, 0}, + {"IpAdapterInfo.HaveWins", Field, 0}, + {"IpAdapterInfo.Index", Field, 0}, + {"IpAdapterInfo.IpAddressList", Field, 0}, + {"IpAdapterInfo.LeaseExpires", Field, 0}, + {"IpAdapterInfo.LeaseObtained", Field, 0}, + {"IpAdapterInfo.Next", Field, 0}, + {"IpAdapterInfo.PrimaryWinsServer", Field, 0}, + {"IpAdapterInfo.SecondaryWinsServer", Field, 0}, + {"IpAdapterInfo.Type", Field, 0}, + {"IpAddrString", Type, 0}, + {"IpAddrString.Context", Field, 0}, + {"IpAddrString.IpAddress", Field, 0}, + {"IpAddrString.IpMask", Field, 0}, + {"IpAddrString.Next", Field, 0}, + {"IpAddressString", Type, 0}, + {"IpAddressString.String", Field, 0}, + {"IpMaskString", Type, 0}, + {"IpMaskString.String", Field, 2}, + {"Issetugid", Func, 0}, + {"KEY_ALL_ACCESS", Const, 0}, + {"KEY_CREATE_LINK", Const, 0}, + {"KEY_CREATE_SUB_KEY", Const, 0}, + {"KEY_ENUMERATE_SUB_KEYS", Const, 0}, + {"KEY_EXECUTE", Const, 0}, + {"KEY_NOTIFY", Const, 0}, + {"KEY_QUERY_VALUE", Const, 0}, + {"KEY_READ", Const, 0}, + {"KEY_SET_VALUE", Const, 0}, + {"KEY_WOW64_32KEY", Const, 0}, + {"KEY_WOW64_64KEY", Const, 0}, + {"KEY_WRITE", Const, 0}, + {"Kevent", Func, 0}, + {"Kevent_t", Type, 0}, + {"Kevent_t.Data", Field, 0}, + {"Kevent_t.Fflags", Field, 0}, + {"Kevent_t.Filter", Field, 0}, + {"Kevent_t.Flags", Field, 0}, + {"Kevent_t.Ident", Field, 0}, + {"Kevent_t.Pad_cgo_0", Field, 2}, + {"Kevent_t.Udata", Field, 0}, + {"Kill", Func, 0}, + {"Klogctl", Func, 0}, + {"Kqueue", Func, 0}, + {"LANG_ENGLISH", Const, 0}, + {"LAYERED_PROTOCOL", Const, 2}, + {"LCNT_OVERLOAD_FLUSH", Const, 1}, + {"LINUX_REBOOT_CMD_CAD_OFF", Const, 0}, + {"LINUX_REBOOT_CMD_CAD_ON", Const, 0}, + {"LINUX_REBOOT_CMD_HALT", Const, 0}, + {"LINUX_REBOOT_CMD_KEXEC", Const, 0}, + {"LINUX_REBOOT_CMD_POWER_OFF", Const, 0}, + {"LINUX_REBOOT_CMD_RESTART", Const, 0}, + {"LINUX_REBOOT_CMD_RESTART2", Const, 0}, + {"LINUX_REBOOT_CMD_SW_SUSPEND", Const, 0}, + {"LINUX_REBOOT_MAGIC1", Const, 0}, + {"LINUX_REBOOT_MAGIC2", Const, 0}, + {"LOCK_EX", Const, 0}, + {"LOCK_NB", Const, 0}, + {"LOCK_SH", Const, 0}, + {"LOCK_UN", Const, 0}, + {"LazyDLL", Type, 0}, + {"LazyDLL.Name", Field, 0}, + {"LazyProc", Type, 0}, + {"LazyProc.Name", Field, 0}, + {"Lchown", Func, 0}, + {"Linger", Type, 0}, + {"Linger.Linger", Field, 0}, + {"Linger.Onoff", Field, 0}, + {"Link", Func, 0}, + {"Listen", Func, 0}, + {"Listxattr", Func, 1}, + {"LoadCancelIoEx", Func, 1}, + {"LoadConnectEx", Func, 1}, + {"LoadCreateSymbolicLink", Func, 4}, + {"LoadDLL", Func, 0}, + {"LoadGetAddrInfo", Func, 1}, + {"LoadLibrary", Func, 0}, + {"LoadSetFileCompletionNotificationModes", Func, 2}, + {"LocalFree", Func, 0}, + {"Log2phys_t", Type, 0}, + {"Log2phys_t.Contigbytes", Field, 0}, + {"Log2phys_t.Devoffset", Field, 0}, + {"Log2phys_t.Flags", Field, 0}, + {"LookupAccountName", Func, 0}, + {"LookupAccountSid", Func, 0}, + {"LookupSID", Func, 0}, + {"LsfJump", Func, 0}, + {"LsfSocket", Func, 0}, + {"LsfStmt", Func, 0}, + {"Lstat", Func, 0}, + {"MADV_AUTOSYNC", Const, 1}, + {"MADV_CAN_REUSE", Const, 0}, + {"MADV_CORE", Const, 1}, + {"MADV_DOFORK", Const, 0}, + {"MADV_DONTFORK", Const, 0}, + {"MADV_DONTNEED", Const, 0}, + {"MADV_FREE", Const, 0}, + {"MADV_FREE_REUSABLE", Const, 0}, + {"MADV_FREE_REUSE", Const, 0}, + {"MADV_HUGEPAGE", Const, 0}, + {"MADV_HWPOISON", Const, 0}, + {"MADV_MERGEABLE", Const, 0}, + {"MADV_NOCORE", Const, 1}, + {"MADV_NOHUGEPAGE", Const, 0}, + {"MADV_NORMAL", Const, 0}, + {"MADV_NOSYNC", Const, 1}, + {"MADV_PROTECT", Const, 1}, + {"MADV_RANDOM", Const, 0}, + {"MADV_REMOVE", Const, 0}, + {"MADV_SEQUENTIAL", Const, 0}, + {"MADV_SPACEAVAIL", Const, 3}, + {"MADV_UNMERGEABLE", Const, 0}, + {"MADV_WILLNEED", Const, 0}, + {"MADV_ZERO_WIRED_PAGES", Const, 0}, + {"MAP_32BIT", Const, 0}, + {"MAP_ALIGNED_SUPER", Const, 3}, + {"MAP_ALIGNMENT_16MB", Const, 3}, + {"MAP_ALIGNMENT_1TB", Const, 3}, + {"MAP_ALIGNMENT_256TB", Const, 3}, + {"MAP_ALIGNMENT_4GB", Const, 3}, + {"MAP_ALIGNMENT_64KB", Const, 3}, + {"MAP_ALIGNMENT_64PB", Const, 3}, + {"MAP_ALIGNMENT_MASK", Const, 3}, + {"MAP_ALIGNMENT_SHIFT", Const, 3}, + {"MAP_ANON", Const, 0}, + {"MAP_ANONYMOUS", Const, 0}, + {"MAP_COPY", Const, 0}, + {"MAP_DENYWRITE", Const, 0}, + {"MAP_EXECUTABLE", Const, 0}, + {"MAP_FILE", Const, 0}, + {"MAP_FIXED", Const, 0}, + {"MAP_FLAGMASK", Const, 3}, + {"MAP_GROWSDOWN", Const, 0}, + {"MAP_HASSEMAPHORE", Const, 0}, + {"MAP_HUGETLB", Const, 0}, + {"MAP_INHERIT", Const, 3}, + {"MAP_INHERIT_COPY", Const, 3}, + {"MAP_INHERIT_DEFAULT", Const, 3}, + {"MAP_INHERIT_DONATE_COPY", Const, 3}, + {"MAP_INHERIT_NONE", Const, 3}, + {"MAP_INHERIT_SHARE", Const, 3}, + {"MAP_JIT", Const, 0}, + {"MAP_LOCKED", Const, 0}, + {"MAP_NOCACHE", Const, 0}, + {"MAP_NOCORE", Const, 1}, + {"MAP_NOEXTEND", Const, 0}, + {"MAP_NONBLOCK", Const, 0}, + {"MAP_NORESERVE", Const, 0}, + {"MAP_NOSYNC", Const, 1}, + {"MAP_POPULATE", Const, 0}, + {"MAP_PREFAULT_READ", Const, 1}, + {"MAP_PRIVATE", Const, 0}, + {"MAP_RENAME", Const, 0}, + {"MAP_RESERVED0080", Const, 0}, + {"MAP_RESERVED0100", Const, 1}, + {"MAP_SHARED", Const, 0}, + {"MAP_STACK", Const, 0}, + {"MAP_TRYFIXED", Const, 3}, + {"MAP_TYPE", Const, 0}, + {"MAP_WIRED", Const, 3}, + {"MAXIMUM_REPARSE_DATA_BUFFER_SIZE", Const, 4}, + {"MAXLEN_IFDESCR", Const, 0}, + {"MAXLEN_PHYSADDR", Const, 0}, + {"MAX_ADAPTER_ADDRESS_LENGTH", Const, 0}, + {"MAX_ADAPTER_DESCRIPTION_LENGTH", Const, 0}, + {"MAX_ADAPTER_NAME_LENGTH", Const, 0}, + {"MAX_COMPUTERNAME_LENGTH", Const, 0}, + {"MAX_INTERFACE_NAME_LEN", Const, 0}, + {"MAX_LONG_PATH", Const, 0}, + {"MAX_PATH", Const, 0}, + {"MAX_PROTOCOL_CHAIN", Const, 2}, + {"MCL_CURRENT", Const, 0}, + {"MCL_FUTURE", Const, 0}, + {"MNT_DETACH", Const, 0}, + {"MNT_EXPIRE", Const, 0}, + {"MNT_FORCE", Const, 0}, + {"MSG_BCAST", Const, 1}, + {"MSG_CMSG_CLOEXEC", Const, 0}, + {"MSG_COMPAT", Const, 0}, + {"MSG_CONFIRM", Const, 0}, + {"MSG_CONTROLMBUF", Const, 1}, + {"MSG_CTRUNC", Const, 0}, + {"MSG_DONTROUTE", Const, 0}, + {"MSG_DONTWAIT", Const, 0}, + {"MSG_EOF", Const, 0}, + {"MSG_EOR", Const, 0}, + {"MSG_ERRQUEUE", Const, 0}, + {"MSG_FASTOPEN", Const, 1}, + {"MSG_FIN", Const, 0}, + {"MSG_FLUSH", Const, 0}, + {"MSG_HAVEMORE", Const, 0}, + {"MSG_HOLD", Const, 0}, + {"MSG_IOVUSRSPACE", Const, 1}, + {"MSG_LENUSRSPACE", Const, 1}, + {"MSG_MCAST", Const, 1}, + {"MSG_MORE", Const, 0}, + {"MSG_NAMEMBUF", Const, 1}, + {"MSG_NBIO", Const, 0}, + {"MSG_NEEDSA", Const, 0}, + {"MSG_NOSIGNAL", Const, 0}, + {"MSG_NOTIFICATION", Const, 0}, + {"MSG_OOB", Const, 0}, + {"MSG_PEEK", Const, 0}, + {"MSG_PROXY", Const, 0}, + {"MSG_RCVMORE", Const, 0}, + {"MSG_RST", Const, 0}, + {"MSG_SEND", Const, 0}, + {"MSG_SYN", Const, 0}, + {"MSG_TRUNC", Const, 0}, + {"MSG_TRYHARD", Const, 0}, + {"MSG_USERFLAGS", Const, 1}, + {"MSG_WAITALL", Const, 0}, + {"MSG_WAITFORONE", Const, 0}, + {"MSG_WAITSTREAM", Const, 0}, + {"MS_ACTIVE", Const, 0}, + {"MS_ASYNC", Const, 0}, + {"MS_BIND", Const, 0}, + {"MS_DEACTIVATE", Const, 0}, + {"MS_DIRSYNC", Const, 0}, + {"MS_INVALIDATE", Const, 0}, + {"MS_I_VERSION", Const, 0}, + {"MS_KERNMOUNT", Const, 0}, + {"MS_KILLPAGES", Const, 0}, + {"MS_MANDLOCK", Const, 0}, + {"MS_MGC_MSK", Const, 0}, + {"MS_MGC_VAL", Const, 0}, + {"MS_MOVE", Const, 0}, + {"MS_NOATIME", Const, 0}, + {"MS_NODEV", Const, 0}, + {"MS_NODIRATIME", Const, 0}, + {"MS_NOEXEC", Const, 0}, + {"MS_NOSUID", Const, 0}, + {"MS_NOUSER", Const, 0}, + {"MS_POSIXACL", Const, 0}, + {"MS_PRIVATE", Const, 0}, + {"MS_RDONLY", Const, 0}, + {"MS_REC", Const, 0}, + {"MS_RELATIME", Const, 0}, + {"MS_REMOUNT", Const, 0}, + {"MS_RMT_MASK", Const, 0}, + {"MS_SHARED", Const, 0}, + {"MS_SILENT", Const, 0}, + {"MS_SLAVE", Const, 0}, + {"MS_STRICTATIME", Const, 0}, + {"MS_SYNC", Const, 0}, + {"MS_SYNCHRONOUS", Const, 0}, + {"MS_UNBINDABLE", Const, 0}, + {"Madvise", Func, 0}, + {"MapViewOfFile", Func, 0}, + {"MaxTokenInfoClass", Const, 0}, + {"Mclpool", Type, 2}, + {"Mclpool.Alive", Field, 2}, + {"Mclpool.Cwm", Field, 2}, + {"Mclpool.Grown", Field, 2}, + {"Mclpool.Hwm", Field, 2}, + {"Mclpool.Lwm", Field, 2}, + {"MibIfRow", Type, 0}, + {"MibIfRow.AdminStatus", Field, 0}, + {"MibIfRow.Descr", Field, 0}, + {"MibIfRow.DescrLen", Field, 0}, + {"MibIfRow.InDiscards", Field, 0}, + {"MibIfRow.InErrors", Field, 0}, + {"MibIfRow.InNUcastPkts", Field, 0}, + {"MibIfRow.InOctets", Field, 0}, + {"MibIfRow.InUcastPkts", Field, 0}, + {"MibIfRow.InUnknownProtos", Field, 0}, + {"MibIfRow.Index", Field, 0}, + {"MibIfRow.LastChange", Field, 0}, + {"MibIfRow.Mtu", Field, 0}, + {"MibIfRow.Name", Field, 0}, + {"MibIfRow.OperStatus", Field, 0}, + {"MibIfRow.OutDiscards", Field, 0}, + {"MibIfRow.OutErrors", Field, 0}, + {"MibIfRow.OutNUcastPkts", Field, 0}, + {"MibIfRow.OutOctets", Field, 0}, + {"MibIfRow.OutQLen", Field, 0}, + {"MibIfRow.OutUcastPkts", Field, 0}, + {"MibIfRow.PhysAddr", Field, 0}, + {"MibIfRow.PhysAddrLen", Field, 0}, + {"MibIfRow.Speed", Field, 0}, + {"MibIfRow.Type", Field, 0}, + {"Mkdir", Func, 0}, + {"Mkdirat", Func, 0}, + {"Mkfifo", Func, 0}, + {"Mknod", Func, 0}, + {"Mknodat", Func, 0}, + {"Mlock", Func, 0}, + {"Mlockall", Func, 0}, + {"Mmap", Func, 0}, + {"Mount", Func, 0}, + {"MoveFile", Func, 0}, + {"Mprotect", Func, 0}, + {"Msghdr", Type, 0}, + {"Msghdr.Control", Field, 0}, + {"Msghdr.Controllen", Field, 0}, + {"Msghdr.Flags", Field, 0}, + {"Msghdr.Iov", Field, 0}, + {"Msghdr.Iovlen", Field, 0}, + {"Msghdr.Name", Field, 0}, + {"Msghdr.Namelen", Field, 0}, + {"Msghdr.Pad_cgo_0", Field, 0}, + {"Msghdr.Pad_cgo_1", Field, 0}, + {"Munlock", Func, 0}, + {"Munlockall", Func, 0}, + {"Munmap", Func, 0}, + {"MustLoadDLL", Func, 0}, + {"NAME_MAX", Const, 0}, + {"NETLINK_ADD_MEMBERSHIP", Const, 0}, + {"NETLINK_AUDIT", Const, 0}, + {"NETLINK_BROADCAST_ERROR", Const, 0}, + {"NETLINK_CONNECTOR", Const, 0}, + {"NETLINK_DNRTMSG", Const, 0}, + {"NETLINK_DROP_MEMBERSHIP", Const, 0}, + {"NETLINK_ECRYPTFS", Const, 0}, + {"NETLINK_FIB_LOOKUP", Const, 0}, + {"NETLINK_FIREWALL", Const, 0}, + {"NETLINK_GENERIC", Const, 0}, + {"NETLINK_INET_DIAG", Const, 0}, + {"NETLINK_IP6_FW", Const, 0}, + {"NETLINK_ISCSI", Const, 0}, + {"NETLINK_KOBJECT_UEVENT", Const, 0}, + {"NETLINK_NETFILTER", Const, 0}, + {"NETLINK_NFLOG", Const, 0}, + {"NETLINK_NO_ENOBUFS", Const, 0}, + {"NETLINK_PKTINFO", Const, 0}, + {"NETLINK_RDMA", Const, 0}, + {"NETLINK_ROUTE", Const, 0}, + {"NETLINK_SCSITRANSPORT", Const, 0}, + {"NETLINK_SELINUX", Const, 0}, + {"NETLINK_UNUSED", Const, 0}, + {"NETLINK_USERSOCK", Const, 0}, + {"NETLINK_XFRM", Const, 0}, + {"NET_RT_DUMP", Const, 0}, + {"NET_RT_DUMP2", Const, 0}, + {"NET_RT_FLAGS", Const, 0}, + {"NET_RT_IFLIST", Const, 0}, + {"NET_RT_IFLIST2", Const, 0}, + {"NET_RT_IFLISTL", Const, 1}, + {"NET_RT_IFMALIST", Const, 0}, + {"NET_RT_MAXID", Const, 0}, + {"NET_RT_OIFLIST", Const, 1}, + {"NET_RT_OOIFLIST", Const, 1}, + {"NET_RT_STAT", Const, 0}, + {"NET_RT_STATS", Const, 1}, + {"NET_RT_TABLE", Const, 1}, + {"NET_RT_TRASH", Const, 0}, + {"NLA_ALIGNTO", Const, 0}, + {"NLA_F_NESTED", Const, 0}, + {"NLA_F_NET_BYTEORDER", Const, 0}, + {"NLA_HDRLEN", Const, 0}, + {"NLMSG_ALIGNTO", Const, 0}, + {"NLMSG_DONE", Const, 0}, + {"NLMSG_ERROR", Const, 0}, + {"NLMSG_HDRLEN", Const, 0}, + {"NLMSG_MIN_TYPE", Const, 0}, + {"NLMSG_NOOP", Const, 0}, + {"NLMSG_OVERRUN", Const, 0}, + {"NLM_F_ACK", Const, 0}, + {"NLM_F_APPEND", Const, 0}, + {"NLM_F_ATOMIC", Const, 0}, + {"NLM_F_CREATE", Const, 0}, + {"NLM_F_DUMP", Const, 0}, + {"NLM_F_ECHO", Const, 0}, + {"NLM_F_EXCL", Const, 0}, + {"NLM_F_MATCH", Const, 0}, + {"NLM_F_MULTI", Const, 0}, + {"NLM_F_REPLACE", Const, 0}, + {"NLM_F_REQUEST", Const, 0}, + {"NLM_F_ROOT", Const, 0}, + {"NOFLSH", Const, 0}, + {"NOTE_ABSOLUTE", Const, 0}, + {"NOTE_ATTRIB", Const, 0}, + {"NOTE_BACKGROUND", Const, 16}, + {"NOTE_CHILD", Const, 0}, + {"NOTE_CRITICAL", Const, 16}, + {"NOTE_DELETE", Const, 0}, + {"NOTE_EOF", Const, 1}, + {"NOTE_EXEC", Const, 0}, + {"NOTE_EXIT", Const, 0}, + {"NOTE_EXITSTATUS", Const, 0}, + {"NOTE_EXIT_CSERROR", Const, 16}, + {"NOTE_EXIT_DECRYPTFAIL", Const, 16}, + {"NOTE_EXIT_DETAIL", Const, 16}, + {"NOTE_EXIT_DETAIL_MASK", Const, 16}, + {"NOTE_EXIT_MEMORY", Const, 16}, + {"NOTE_EXIT_REPARENTED", Const, 16}, + {"NOTE_EXTEND", Const, 0}, + {"NOTE_FFAND", Const, 0}, + {"NOTE_FFCOPY", Const, 0}, + {"NOTE_FFCTRLMASK", Const, 0}, + {"NOTE_FFLAGSMASK", Const, 0}, + {"NOTE_FFNOP", Const, 0}, + {"NOTE_FFOR", Const, 0}, + {"NOTE_FORK", Const, 0}, + {"NOTE_LEEWAY", Const, 16}, + {"NOTE_LINK", Const, 0}, + {"NOTE_LOWAT", Const, 0}, + {"NOTE_NONE", Const, 0}, + {"NOTE_NSECONDS", Const, 0}, + {"NOTE_PCTRLMASK", Const, 0}, + {"NOTE_PDATAMASK", Const, 0}, + {"NOTE_REAP", Const, 0}, + {"NOTE_RENAME", Const, 0}, + {"NOTE_RESOURCEEND", Const, 0}, + {"NOTE_REVOKE", Const, 0}, + {"NOTE_SECONDS", Const, 0}, + {"NOTE_SIGNAL", Const, 0}, + {"NOTE_TRACK", Const, 0}, + {"NOTE_TRACKERR", Const, 0}, + {"NOTE_TRIGGER", Const, 0}, + {"NOTE_TRUNCATE", Const, 1}, + {"NOTE_USECONDS", Const, 0}, + {"NOTE_VM_ERROR", Const, 0}, + {"NOTE_VM_PRESSURE", Const, 0}, + {"NOTE_VM_PRESSURE_SUDDEN_TERMINATE", Const, 0}, + {"NOTE_VM_PRESSURE_TERMINATE", Const, 0}, + {"NOTE_WRITE", Const, 0}, + {"NameCanonical", Const, 0}, + {"NameCanonicalEx", Const, 0}, + {"NameDisplay", Const, 0}, + {"NameDnsDomain", Const, 0}, + {"NameFullyQualifiedDN", Const, 0}, + {"NameSamCompatible", Const, 0}, + {"NameServicePrincipal", Const, 0}, + {"NameUniqueId", Const, 0}, + {"NameUnknown", Const, 0}, + {"NameUserPrincipal", Const, 0}, + {"Nanosleep", Func, 0}, + {"NetApiBufferFree", Func, 0}, + {"NetGetJoinInformation", Func, 2}, + {"NetSetupDomainName", Const, 2}, + {"NetSetupUnjoined", Const, 2}, + {"NetSetupUnknownStatus", Const, 2}, + {"NetSetupWorkgroupName", Const, 2}, + {"NetUserGetInfo", Func, 0}, + {"NetlinkMessage", Type, 0}, + {"NetlinkMessage.Data", Field, 0}, + {"NetlinkMessage.Header", Field, 0}, + {"NetlinkRIB", Func, 0}, + {"NetlinkRouteAttr", Type, 0}, + {"NetlinkRouteAttr.Attr", Field, 0}, + {"NetlinkRouteAttr.Value", Field, 0}, + {"NetlinkRouteRequest", Type, 0}, + {"NetlinkRouteRequest.Data", Field, 0}, + {"NetlinkRouteRequest.Header", Field, 0}, + {"NewCallback", Func, 0}, + {"NewCallbackCDecl", Func, 3}, + {"NewLazyDLL", Func, 0}, + {"NlAttr", Type, 0}, + {"NlAttr.Len", Field, 0}, + {"NlAttr.Type", Field, 0}, + {"NlMsgerr", Type, 0}, + {"NlMsgerr.Error", Field, 0}, + {"NlMsgerr.Msg", Field, 0}, + {"NlMsghdr", Type, 0}, + {"NlMsghdr.Flags", Field, 0}, + {"NlMsghdr.Len", Field, 0}, + {"NlMsghdr.Pid", Field, 0}, + {"NlMsghdr.Seq", Field, 0}, + {"NlMsghdr.Type", Field, 0}, + {"NsecToFiletime", Func, 0}, + {"NsecToTimespec", Func, 0}, + {"NsecToTimeval", Func, 0}, + {"Ntohs", Func, 0}, + {"OCRNL", Const, 0}, + {"OFDEL", Const, 0}, + {"OFILL", Const, 0}, + {"OFIOGETBMAP", Const, 1}, + {"OID_PKIX_KP_SERVER_AUTH", Var, 0}, + {"OID_SERVER_GATED_CRYPTO", Var, 0}, + {"OID_SGC_NETSCAPE", Var, 0}, + {"OLCUC", Const, 0}, + {"ONLCR", Const, 0}, + {"ONLRET", Const, 0}, + {"ONOCR", Const, 0}, + {"ONOEOT", Const, 1}, + {"OPEN_ALWAYS", Const, 0}, + {"OPEN_EXISTING", Const, 0}, + {"OPOST", Const, 0}, + {"O_ACCMODE", Const, 0}, + {"O_ALERT", Const, 0}, + {"O_ALT_IO", Const, 1}, + {"O_APPEND", Const, 0}, + {"O_ASYNC", Const, 0}, + {"O_CLOEXEC", Const, 0}, + {"O_CREAT", Const, 0}, + {"O_DIRECT", Const, 0}, + {"O_DIRECTORY", Const, 0}, + {"O_DP_GETRAWENCRYPTED", Const, 16}, + {"O_DSYNC", Const, 0}, + {"O_EVTONLY", Const, 0}, + {"O_EXCL", Const, 0}, + {"O_EXEC", Const, 0}, + {"O_EXLOCK", Const, 0}, + {"O_FSYNC", Const, 0}, + {"O_LARGEFILE", Const, 0}, + {"O_NDELAY", Const, 0}, + {"O_NOATIME", Const, 0}, + {"O_NOCTTY", Const, 0}, + {"O_NOFOLLOW", Const, 0}, + {"O_NONBLOCK", Const, 0}, + {"O_NOSIGPIPE", Const, 1}, + {"O_POPUP", Const, 0}, + {"O_RDONLY", Const, 0}, + {"O_RDWR", Const, 0}, + {"O_RSYNC", Const, 0}, + {"O_SHLOCK", Const, 0}, + {"O_SYMLINK", Const, 0}, + {"O_SYNC", Const, 0}, + {"O_TRUNC", Const, 0}, + {"O_TTY_INIT", Const, 0}, + {"O_WRONLY", Const, 0}, + {"Open", Func, 0}, + {"OpenCurrentProcessToken", Func, 0}, + {"OpenProcess", Func, 0}, + {"OpenProcessToken", Func, 0}, + {"Openat", Func, 0}, + {"Overlapped", Type, 0}, + {"Overlapped.HEvent", Field, 0}, + {"Overlapped.Internal", Field, 0}, + {"Overlapped.InternalHigh", Field, 0}, + {"Overlapped.Offset", Field, 0}, + {"Overlapped.OffsetHigh", Field, 0}, + {"PACKET_ADD_MEMBERSHIP", Const, 0}, + {"PACKET_BROADCAST", Const, 0}, + {"PACKET_DROP_MEMBERSHIP", Const, 0}, + {"PACKET_FASTROUTE", Const, 0}, + {"PACKET_HOST", Const, 0}, + {"PACKET_LOOPBACK", Const, 0}, + {"PACKET_MR_ALLMULTI", Const, 0}, + {"PACKET_MR_MULTICAST", Const, 0}, + {"PACKET_MR_PROMISC", Const, 0}, + {"PACKET_MULTICAST", Const, 0}, + {"PACKET_OTHERHOST", Const, 0}, + {"PACKET_OUTGOING", Const, 0}, + {"PACKET_RECV_OUTPUT", Const, 0}, + {"PACKET_RX_RING", Const, 0}, + {"PACKET_STATISTICS", Const, 0}, + {"PAGE_EXECUTE_READ", Const, 0}, + {"PAGE_EXECUTE_READWRITE", Const, 0}, + {"PAGE_EXECUTE_WRITECOPY", Const, 0}, + {"PAGE_READONLY", Const, 0}, + {"PAGE_READWRITE", Const, 0}, + {"PAGE_WRITECOPY", Const, 0}, + {"PARENB", Const, 0}, + {"PARMRK", Const, 0}, + {"PARODD", Const, 0}, + {"PENDIN", Const, 0}, + {"PFL_HIDDEN", Const, 2}, + {"PFL_MATCHES_PROTOCOL_ZERO", Const, 2}, + {"PFL_MULTIPLE_PROTO_ENTRIES", Const, 2}, + {"PFL_NETWORKDIRECT_PROVIDER", Const, 2}, + {"PFL_RECOMMENDED_PROTO_ENTRY", Const, 2}, + {"PF_FLUSH", Const, 1}, + {"PKCS_7_ASN_ENCODING", Const, 0}, + {"PMC5_PIPELINE_FLUSH", Const, 1}, + {"PRIO_PGRP", Const, 2}, + {"PRIO_PROCESS", Const, 2}, + {"PRIO_USER", Const, 2}, + {"PRI_IOFLUSH", Const, 1}, + {"PROCESS_QUERY_INFORMATION", Const, 0}, + {"PROCESS_TERMINATE", Const, 2}, + {"PROT_EXEC", Const, 0}, + {"PROT_GROWSDOWN", Const, 0}, + {"PROT_GROWSUP", Const, 0}, + {"PROT_NONE", Const, 0}, + {"PROT_READ", Const, 0}, + {"PROT_WRITE", Const, 0}, + {"PROV_DH_SCHANNEL", Const, 0}, + {"PROV_DSS", Const, 0}, + {"PROV_DSS_DH", Const, 0}, + {"PROV_EC_ECDSA_FULL", Const, 0}, + {"PROV_EC_ECDSA_SIG", Const, 0}, + {"PROV_EC_ECNRA_FULL", Const, 0}, + {"PROV_EC_ECNRA_SIG", Const, 0}, + {"PROV_FORTEZZA", Const, 0}, + {"PROV_INTEL_SEC", Const, 0}, + {"PROV_MS_EXCHANGE", Const, 0}, + {"PROV_REPLACE_OWF", Const, 0}, + {"PROV_RNG", Const, 0}, + {"PROV_RSA_AES", Const, 0}, + {"PROV_RSA_FULL", Const, 0}, + {"PROV_RSA_SCHANNEL", Const, 0}, + {"PROV_RSA_SIG", Const, 0}, + {"PROV_SPYRUS_LYNKS", Const, 0}, + {"PROV_SSL", Const, 0}, + {"PR_CAPBSET_DROP", Const, 0}, + {"PR_CAPBSET_READ", Const, 0}, + {"PR_CLEAR_SECCOMP_FILTER", Const, 0}, + {"PR_ENDIAN_BIG", Const, 0}, + {"PR_ENDIAN_LITTLE", Const, 0}, + {"PR_ENDIAN_PPC_LITTLE", Const, 0}, + {"PR_FPEMU_NOPRINT", Const, 0}, + {"PR_FPEMU_SIGFPE", Const, 0}, + {"PR_FP_EXC_ASYNC", Const, 0}, + {"PR_FP_EXC_DISABLED", Const, 0}, + {"PR_FP_EXC_DIV", Const, 0}, + {"PR_FP_EXC_INV", Const, 0}, + {"PR_FP_EXC_NONRECOV", Const, 0}, + {"PR_FP_EXC_OVF", Const, 0}, + {"PR_FP_EXC_PRECISE", Const, 0}, + {"PR_FP_EXC_RES", Const, 0}, + {"PR_FP_EXC_SW_ENABLE", Const, 0}, + {"PR_FP_EXC_UND", Const, 0}, + {"PR_GET_DUMPABLE", Const, 0}, + {"PR_GET_ENDIAN", Const, 0}, + {"PR_GET_FPEMU", Const, 0}, + {"PR_GET_FPEXC", Const, 0}, + {"PR_GET_KEEPCAPS", Const, 0}, + {"PR_GET_NAME", Const, 0}, + {"PR_GET_PDEATHSIG", Const, 0}, + {"PR_GET_SECCOMP", Const, 0}, + {"PR_GET_SECCOMP_FILTER", Const, 0}, + {"PR_GET_SECUREBITS", Const, 0}, + {"PR_GET_TIMERSLACK", Const, 0}, + {"PR_GET_TIMING", Const, 0}, + {"PR_GET_TSC", Const, 0}, + {"PR_GET_UNALIGN", Const, 0}, + {"PR_MCE_KILL", Const, 0}, + {"PR_MCE_KILL_CLEAR", Const, 0}, + {"PR_MCE_KILL_DEFAULT", Const, 0}, + {"PR_MCE_KILL_EARLY", Const, 0}, + {"PR_MCE_KILL_GET", Const, 0}, + {"PR_MCE_KILL_LATE", Const, 0}, + {"PR_MCE_KILL_SET", Const, 0}, + {"PR_SECCOMP_FILTER_EVENT", Const, 0}, + {"PR_SECCOMP_FILTER_SYSCALL", Const, 0}, + {"PR_SET_DUMPABLE", Const, 0}, + {"PR_SET_ENDIAN", Const, 0}, + {"PR_SET_FPEMU", Const, 0}, + {"PR_SET_FPEXC", Const, 0}, + {"PR_SET_KEEPCAPS", Const, 0}, + {"PR_SET_NAME", Const, 0}, + {"PR_SET_PDEATHSIG", Const, 0}, + {"PR_SET_PTRACER", Const, 0}, + {"PR_SET_SECCOMP", Const, 0}, + {"PR_SET_SECCOMP_FILTER", Const, 0}, + {"PR_SET_SECUREBITS", Const, 0}, + {"PR_SET_TIMERSLACK", Const, 0}, + {"PR_SET_TIMING", Const, 0}, + {"PR_SET_TSC", Const, 0}, + {"PR_SET_UNALIGN", Const, 0}, + {"PR_TASK_PERF_EVENTS_DISABLE", Const, 0}, + {"PR_TASK_PERF_EVENTS_ENABLE", Const, 0}, + {"PR_TIMING_STATISTICAL", Const, 0}, + {"PR_TIMING_TIMESTAMP", Const, 0}, + {"PR_TSC_ENABLE", Const, 0}, + {"PR_TSC_SIGSEGV", Const, 0}, + {"PR_UNALIGN_NOPRINT", Const, 0}, + {"PR_UNALIGN_SIGBUS", Const, 0}, + {"PTRACE_ARCH_PRCTL", Const, 0}, + {"PTRACE_ATTACH", Const, 0}, + {"PTRACE_CONT", Const, 0}, + {"PTRACE_DETACH", Const, 0}, + {"PTRACE_EVENT_CLONE", Const, 0}, + {"PTRACE_EVENT_EXEC", Const, 0}, + {"PTRACE_EVENT_EXIT", Const, 0}, + {"PTRACE_EVENT_FORK", Const, 0}, + {"PTRACE_EVENT_VFORK", Const, 0}, + {"PTRACE_EVENT_VFORK_DONE", Const, 0}, + {"PTRACE_GETCRUNCHREGS", Const, 0}, + {"PTRACE_GETEVENTMSG", Const, 0}, + {"PTRACE_GETFPREGS", Const, 0}, + {"PTRACE_GETFPXREGS", Const, 0}, + {"PTRACE_GETHBPREGS", Const, 0}, + {"PTRACE_GETREGS", Const, 0}, + {"PTRACE_GETREGSET", Const, 0}, + {"PTRACE_GETSIGINFO", Const, 0}, + {"PTRACE_GETVFPREGS", Const, 0}, + {"PTRACE_GETWMMXREGS", Const, 0}, + {"PTRACE_GET_THREAD_AREA", Const, 0}, + {"PTRACE_KILL", Const, 0}, + {"PTRACE_OLDSETOPTIONS", Const, 0}, + {"PTRACE_O_MASK", Const, 0}, + {"PTRACE_O_TRACECLONE", Const, 0}, + {"PTRACE_O_TRACEEXEC", Const, 0}, + {"PTRACE_O_TRACEEXIT", Const, 0}, + {"PTRACE_O_TRACEFORK", Const, 0}, + {"PTRACE_O_TRACESYSGOOD", Const, 0}, + {"PTRACE_O_TRACEVFORK", Const, 0}, + {"PTRACE_O_TRACEVFORKDONE", Const, 0}, + {"PTRACE_PEEKDATA", Const, 0}, + {"PTRACE_PEEKTEXT", Const, 0}, + {"PTRACE_PEEKUSR", Const, 0}, + {"PTRACE_POKEDATA", Const, 0}, + {"PTRACE_POKETEXT", Const, 0}, + {"PTRACE_POKEUSR", Const, 0}, + {"PTRACE_SETCRUNCHREGS", Const, 0}, + {"PTRACE_SETFPREGS", Const, 0}, + {"PTRACE_SETFPXREGS", Const, 0}, + {"PTRACE_SETHBPREGS", Const, 0}, + {"PTRACE_SETOPTIONS", Const, 0}, + {"PTRACE_SETREGS", Const, 0}, + {"PTRACE_SETREGSET", Const, 0}, + {"PTRACE_SETSIGINFO", Const, 0}, + {"PTRACE_SETVFPREGS", Const, 0}, + {"PTRACE_SETWMMXREGS", Const, 0}, + {"PTRACE_SET_SYSCALL", Const, 0}, + {"PTRACE_SET_THREAD_AREA", Const, 0}, + {"PTRACE_SINGLEBLOCK", Const, 0}, + {"PTRACE_SINGLESTEP", Const, 0}, + {"PTRACE_SYSCALL", Const, 0}, + {"PTRACE_SYSEMU", Const, 0}, + {"PTRACE_SYSEMU_SINGLESTEP", Const, 0}, + {"PTRACE_TRACEME", Const, 0}, + {"PT_ATTACH", Const, 0}, + {"PT_ATTACHEXC", Const, 0}, + {"PT_CONTINUE", Const, 0}, + {"PT_DATA_ADDR", Const, 0}, + {"PT_DENY_ATTACH", Const, 0}, + {"PT_DETACH", Const, 0}, + {"PT_FIRSTMACH", Const, 0}, + {"PT_FORCEQUOTA", Const, 0}, + {"PT_KILL", Const, 0}, + {"PT_MASK", Const, 1}, + {"PT_READ_D", Const, 0}, + {"PT_READ_I", Const, 0}, + {"PT_READ_U", Const, 0}, + {"PT_SIGEXC", Const, 0}, + {"PT_STEP", Const, 0}, + {"PT_TEXT_ADDR", Const, 0}, + {"PT_TEXT_END_ADDR", Const, 0}, + {"PT_THUPDATE", Const, 0}, + {"PT_TRACE_ME", Const, 0}, + {"PT_WRITE_D", Const, 0}, + {"PT_WRITE_I", Const, 0}, + {"PT_WRITE_U", Const, 0}, + {"ParseDirent", Func, 0}, + {"ParseNetlinkMessage", Func, 0}, + {"ParseNetlinkRouteAttr", Func, 0}, + {"ParseRoutingMessage", Func, 0}, + {"ParseRoutingSockaddr", Func, 0}, + {"ParseSocketControlMessage", Func, 0}, + {"ParseUnixCredentials", Func, 0}, + {"ParseUnixRights", Func, 0}, + {"PathMax", Const, 0}, + {"Pathconf", Func, 0}, + {"Pause", Func, 0}, + {"Pipe", Func, 0}, + {"Pipe2", Func, 1}, + {"PivotRoot", Func, 0}, + {"Pointer", Type, 11}, + {"PostQueuedCompletionStatus", Func, 0}, + {"Pread", Func, 0}, + {"Proc", Type, 0}, + {"Proc.Dll", Field, 0}, + {"Proc.Name", Field, 0}, + {"ProcAttr", Type, 0}, + {"ProcAttr.Dir", Field, 0}, + {"ProcAttr.Env", Field, 0}, + {"ProcAttr.Files", Field, 0}, + {"ProcAttr.Sys", Field, 0}, + {"Process32First", Func, 4}, + {"Process32Next", Func, 4}, + {"ProcessEntry32", Type, 4}, + {"ProcessEntry32.DefaultHeapID", Field, 4}, + {"ProcessEntry32.ExeFile", Field, 4}, + {"ProcessEntry32.Flags", Field, 4}, + {"ProcessEntry32.ModuleID", Field, 4}, + {"ProcessEntry32.ParentProcessID", Field, 4}, + {"ProcessEntry32.PriClassBase", Field, 4}, + {"ProcessEntry32.ProcessID", Field, 4}, + {"ProcessEntry32.Size", Field, 4}, + {"ProcessEntry32.Threads", Field, 4}, + {"ProcessEntry32.Usage", Field, 4}, + {"ProcessInformation", Type, 0}, + {"ProcessInformation.Process", Field, 0}, + {"ProcessInformation.ProcessId", Field, 0}, + {"ProcessInformation.Thread", Field, 0}, + {"ProcessInformation.ThreadId", Field, 0}, + {"Protoent", Type, 0}, + {"Protoent.Aliases", Field, 0}, + {"Protoent.Name", Field, 0}, + {"Protoent.Proto", Field, 0}, + {"PtraceAttach", Func, 0}, + {"PtraceCont", Func, 0}, + {"PtraceDetach", Func, 0}, + {"PtraceGetEventMsg", Func, 0}, + {"PtraceGetRegs", Func, 0}, + {"PtracePeekData", Func, 0}, + {"PtracePeekText", Func, 0}, + {"PtracePokeData", Func, 0}, + {"PtracePokeText", Func, 0}, + {"PtraceRegs", Type, 0}, + {"PtraceRegs.Cs", Field, 0}, + {"PtraceRegs.Ds", Field, 0}, + {"PtraceRegs.Eax", Field, 0}, + {"PtraceRegs.Ebp", Field, 0}, + {"PtraceRegs.Ebx", Field, 0}, + {"PtraceRegs.Ecx", Field, 0}, + {"PtraceRegs.Edi", Field, 0}, + {"PtraceRegs.Edx", Field, 0}, + {"PtraceRegs.Eflags", Field, 0}, + {"PtraceRegs.Eip", Field, 0}, + {"PtraceRegs.Es", Field, 0}, + {"PtraceRegs.Esi", Field, 0}, + {"PtraceRegs.Esp", Field, 0}, + {"PtraceRegs.Fs", Field, 0}, + {"PtraceRegs.Fs_base", Field, 0}, + {"PtraceRegs.Gs", Field, 0}, + {"PtraceRegs.Gs_base", Field, 0}, + {"PtraceRegs.Orig_eax", Field, 0}, + {"PtraceRegs.Orig_rax", Field, 0}, + {"PtraceRegs.R10", Field, 0}, + {"PtraceRegs.R11", Field, 0}, + {"PtraceRegs.R12", Field, 0}, + {"PtraceRegs.R13", Field, 0}, + {"PtraceRegs.R14", Field, 0}, + {"PtraceRegs.R15", Field, 0}, + {"PtraceRegs.R8", Field, 0}, + {"PtraceRegs.R9", Field, 0}, + {"PtraceRegs.Rax", Field, 0}, + {"PtraceRegs.Rbp", Field, 0}, + {"PtraceRegs.Rbx", Field, 0}, + {"PtraceRegs.Rcx", Field, 0}, + {"PtraceRegs.Rdi", Field, 0}, + {"PtraceRegs.Rdx", Field, 0}, + {"PtraceRegs.Rip", Field, 0}, + {"PtraceRegs.Rsi", Field, 0}, + {"PtraceRegs.Rsp", Field, 0}, + {"PtraceRegs.Ss", Field, 0}, + {"PtraceRegs.Uregs", Field, 0}, + {"PtraceRegs.Xcs", Field, 0}, + {"PtraceRegs.Xds", Field, 0}, + {"PtraceRegs.Xes", Field, 0}, + {"PtraceRegs.Xfs", Field, 0}, + {"PtraceRegs.Xgs", Field, 0}, + {"PtraceRegs.Xss", Field, 0}, + {"PtraceSetOptions", Func, 0}, + {"PtraceSetRegs", Func, 0}, + {"PtraceSingleStep", Func, 0}, + {"PtraceSyscall", Func, 1}, + {"Pwrite", Func, 0}, + {"REG_BINARY", Const, 0}, + {"REG_DWORD", Const, 0}, + {"REG_DWORD_BIG_ENDIAN", Const, 0}, + {"REG_DWORD_LITTLE_ENDIAN", Const, 0}, + {"REG_EXPAND_SZ", Const, 0}, + {"REG_FULL_RESOURCE_DESCRIPTOR", Const, 0}, + {"REG_LINK", Const, 0}, + {"REG_MULTI_SZ", Const, 0}, + {"REG_NONE", Const, 0}, + {"REG_QWORD", Const, 0}, + {"REG_QWORD_LITTLE_ENDIAN", Const, 0}, + {"REG_RESOURCE_LIST", Const, 0}, + {"REG_RESOURCE_REQUIREMENTS_LIST", Const, 0}, + {"REG_SZ", Const, 0}, + {"RLIMIT_AS", Const, 0}, + {"RLIMIT_CORE", Const, 0}, + {"RLIMIT_CPU", Const, 0}, + {"RLIMIT_CPU_USAGE_MONITOR", Const, 16}, + {"RLIMIT_DATA", Const, 0}, + {"RLIMIT_FSIZE", Const, 0}, + {"RLIMIT_NOFILE", Const, 0}, + {"RLIMIT_STACK", Const, 0}, + {"RLIM_INFINITY", Const, 0}, + {"RTAX_ADVMSS", Const, 0}, + {"RTAX_AUTHOR", Const, 0}, + {"RTAX_BRD", Const, 0}, + {"RTAX_CWND", Const, 0}, + {"RTAX_DST", Const, 0}, + {"RTAX_FEATURES", Const, 0}, + {"RTAX_FEATURE_ALLFRAG", Const, 0}, + {"RTAX_FEATURE_ECN", Const, 0}, + {"RTAX_FEATURE_SACK", Const, 0}, + {"RTAX_FEATURE_TIMESTAMP", Const, 0}, + {"RTAX_GATEWAY", Const, 0}, + {"RTAX_GENMASK", Const, 0}, + {"RTAX_HOPLIMIT", Const, 0}, + {"RTAX_IFA", Const, 0}, + {"RTAX_IFP", Const, 0}, + {"RTAX_INITCWND", Const, 0}, + {"RTAX_INITRWND", Const, 0}, + {"RTAX_LABEL", Const, 1}, + {"RTAX_LOCK", Const, 0}, + {"RTAX_MAX", Const, 0}, + {"RTAX_MTU", Const, 0}, + {"RTAX_NETMASK", Const, 0}, + {"RTAX_REORDERING", Const, 0}, + {"RTAX_RTO_MIN", Const, 0}, + {"RTAX_RTT", Const, 0}, + {"RTAX_RTTVAR", Const, 0}, + {"RTAX_SRC", Const, 1}, + {"RTAX_SRCMASK", Const, 1}, + {"RTAX_SSTHRESH", Const, 0}, + {"RTAX_TAG", Const, 1}, + {"RTAX_UNSPEC", Const, 0}, + {"RTAX_WINDOW", Const, 0}, + {"RTA_ALIGNTO", Const, 0}, + {"RTA_AUTHOR", Const, 0}, + {"RTA_BRD", Const, 0}, + {"RTA_CACHEINFO", Const, 0}, + {"RTA_DST", Const, 0}, + {"RTA_FLOW", Const, 0}, + {"RTA_GATEWAY", Const, 0}, + {"RTA_GENMASK", Const, 0}, + {"RTA_IFA", Const, 0}, + {"RTA_IFP", Const, 0}, + {"RTA_IIF", Const, 0}, + {"RTA_LABEL", Const, 1}, + {"RTA_MAX", Const, 0}, + {"RTA_METRICS", Const, 0}, + {"RTA_MULTIPATH", Const, 0}, + {"RTA_NETMASK", Const, 0}, + {"RTA_OIF", Const, 0}, + {"RTA_PREFSRC", Const, 0}, + {"RTA_PRIORITY", Const, 0}, + {"RTA_SRC", Const, 0}, + {"RTA_SRCMASK", Const, 1}, + {"RTA_TABLE", Const, 0}, + {"RTA_TAG", Const, 1}, + {"RTA_UNSPEC", Const, 0}, + {"RTCF_DIRECTSRC", Const, 0}, + {"RTCF_DOREDIRECT", Const, 0}, + {"RTCF_LOG", Const, 0}, + {"RTCF_MASQ", Const, 0}, + {"RTCF_NAT", Const, 0}, + {"RTCF_VALVE", Const, 0}, + {"RTF_ADDRCLASSMASK", Const, 0}, + {"RTF_ADDRCONF", Const, 0}, + {"RTF_ALLONLINK", Const, 0}, + {"RTF_ANNOUNCE", Const, 1}, + {"RTF_BLACKHOLE", Const, 0}, + {"RTF_BROADCAST", Const, 0}, + {"RTF_CACHE", Const, 0}, + {"RTF_CLONED", Const, 1}, + {"RTF_CLONING", Const, 0}, + {"RTF_CONDEMNED", Const, 0}, + {"RTF_DEFAULT", Const, 0}, + {"RTF_DELCLONE", Const, 0}, + {"RTF_DONE", Const, 0}, + {"RTF_DYNAMIC", Const, 0}, + {"RTF_FLOW", Const, 0}, + {"RTF_FMASK", Const, 0}, + {"RTF_GATEWAY", Const, 0}, + {"RTF_GWFLAG_COMPAT", Const, 3}, + {"RTF_HOST", Const, 0}, + {"RTF_IFREF", Const, 0}, + {"RTF_IFSCOPE", Const, 0}, + {"RTF_INTERFACE", Const, 0}, + {"RTF_IRTT", Const, 0}, + {"RTF_LINKRT", Const, 0}, + {"RTF_LLDATA", Const, 0}, + {"RTF_LLINFO", Const, 0}, + {"RTF_LOCAL", Const, 0}, + {"RTF_MASK", Const, 1}, + {"RTF_MODIFIED", Const, 0}, + {"RTF_MPATH", Const, 1}, + {"RTF_MPLS", Const, 1}, + {"RTF_MSS", Const, 0}, + {"RTF_MTU", Const, 0}, + {"RTF_MULTICAST", Const, 0}, + {"RTF_NAT", Const, 0}, + {"RTF_NOFORWARD", Const, 0}, + {"RTF_NONEXTHOP", Const, 0}, + {"RTF_NOPMTUDISC", Const, 0}, + {"RTF_PERMANENT_ARP", Const, 1}, + {"RTF_PINNED", Const, 0}, + {"RTF_POLICY", Const, 0}, + {"RTF_PRCLONING", Const, 0}, + {"RTF_PROTO1", Const, 0}, + {"RTF_PROTO2", Const, 0}, + {"RTF_PROTO3", Const, 0}, + {"RTF_PROXY", Const, 16}, + {"RTF_REINSTATE", Const, 0}, + {"RTF_REJECT", Const, 0}, + {"RTF_RNH_LOCKED", Const, 0}, + {"RTF_ROUTER", Const, 16}, + {"RTF_SOURCE", Const, 1}, + {"RTF_SRC", Const, 1}, + {"RTF_STATIC", Const, 0}, + {"RTF_STICKY", Const, 0}, + {"RTF_THROW", Const, 0}, + {"RTF_TUNNEL", Const, 1}, + {"RTF_UP", Const, 0}, + {"RTF_USETRAILERS", Const, 1}, + {"RTF_WASCLONED", Const, 0}, + {"RTF_WINDOW", Const, 0}, + {"RTF_XRESOLVE", Const, 0}, + {"RTM_ADD", Const, 0}, + {"RTM_BASE", Const, 0}, + {"RTM_CHANGE", Const, 0}, + {"RTM_CHGADDR", Const, 1}, + {"RTM_DELACTION", Const, 0}, + {"RTM_DELADDR", Const, 0}, + {"RTM_DELADDRLABEL", Const, 0}, + {"RTM_DELETE", Const, 0}, + {"RTM_DELLINK", Const, 0}, + {"RTM_DELMADDR", Const, 0}, + {"RTM_DELNEIGH", Const, 0}, + {"RTM_DELQDISC", Const, 0}, + {"RTM_DELROUTE", Const, 0}, + {"RTM_DELRULE", Const, 0}, + {"RTM_DELTCLASS", Const, 0}, + {"RTM_DELTFILTER", Const, 0}, + {"RTM_DESYNC", Const, 1}, + {"RTM_F_CLONED", Const, 0}, + {"RTM_F_EQUALIZE", Const, 0}, + {"RTM_F_NOTIFY", Const, 0}, + {"RTM_F_PREFIX", Const, 0}, + {"RTM_GET", Const, 0}, + {"RTM_GET2", Const, 0}, + {"RTM_GETACTION", Const, 0}, + {"RTM_GETADDR", Const, 0}, + {"RTM_GETADDRLABEL", Const, 0}, + {"RTM_GETANYCAST", Const, 0}, + {"RTM_GETDCB", Const, 0}, + {"RTM_GETLINK", Const, 0}, + {"RTM_GETMULTICAST", Const, 0}, + {"RTM_GETNEIGH", Const, 0}, + {"RTM_GETNEIGHTBL", Const, 0}, + {"RTM_GETQDISC", Const, 0}, + {"RTM_GETROUTE", Const, 0}, + {"RTM_GETRULE", Const, 0}, + {"RTM_GETTCLASS", Const, 0}, + {"RTM_GETTFILTER", Const, 0}, + {"RTM_IEEE80211", Const, 0}, + {"RTM_IFANNOUNCE", Const, 0}, + {"RTM_IFINFO", Const, 0}, + {"RTM_IFINFO2", Const, 0}, + {"RTM_LLINFO_UPD", Const, 1}, + {"RTM_LOCK", Const, 0}, + {"RTM_LOSING", Const, 0}, + {"RTM_MAX", Const, 0}, + {"RTM_MAXSIZE", Const, 1}, + {"RTM_MISS", Const, 0}, + {"RTM_NEWACTION", Const, 0}, + {"RTM_NEWADDR", Const, 0}, + {"RTM_NEWADDRLABEL", Const, 0}, + {"RTM_NEWLINK", Const, 0}, + {"RTM_NEWMADDR", Const, 0}, + {"RTM_NEWMADDR2", Const, 0}, + {"RTM_NEWNDUSEROPT", Const, 0}, + {"RTM_NEWNEIGH", Const, 0}, + {"RTM_NEWNEIGHTBL", Const, 0}, + {"RTM_NEWPREFIX", Const, 0}, + {"RTM_NEWQDISC", Const, 0}, + {"RTM_NEWROUTE", Const, 0}, + {"RTM_NEWRULE", Const, 0}, + {"RTM_NEWTCLASS", Const, 0}, + {"RTM_NEWTFILTER", Const, 0}, + {"RTM_NR_FAMILIES", Const, 0}, + {"RTM_NR_MSGTYPES", Const, 0}, + {"RTM_OIFINFO", Const, 1}, + {"RTM_OLDADD", Const, 0}, + {"RTM_OLDDEL", Const, 0}, + {"RTM_OOIFINFO", Const, 1}, + {"RTM_REDIRECT", Const, 0}, + {"RTM_RESOLVE", Const, 0}, + {"RTM_RTTUNIT", Const, 0}, + {"RTM_SETDCB", Const, 0}, + {"RTM_SETGATE", Const, 1}, + {"RTM_SETLINK", Const, 0}, + {"RTM_SETNEIGHTBL", Const, 0}, + {"RTM_VERSION", Const, 0}, + {"RTNH_ALIGNTO", Const, 0}, + {"RTNH_F_DEAD", Const, 0}, + {"RTNH_F_ONLINK", Const, 0}, + {"RTNH_F_PERVASIVE", Const, 0}, + {"RTNLGRP_IPV4_IFADDR", Const, 1}, + {"RTNLGRP_IPV4_MROUTE", Const, 1}, + {"RTNLGRP_IPV4_ROUTE", Const, 1}, + {"RTNLGRP_IPV4_RULE", Const, 1}, + {"RTNLGRP_IPV6_IFADDR", Const, 1}, + {"RTNLGRP_IPV6_IFINFO", Const, 1}, + {"RTNLGRP_IPV6_MROUTE", Const, 1}, + {"RTNLGRP_IPV6_PREFIX", Const, 1}, + {"RTNLGRP_IPV6_ROUTE", Const, 1}, + {"RTNLGRP_IPV6_RULE", Const, 1}, + {"RTNLGRP_LINK", Const, 1}, + {"RTNLGRP_ND_USEROPT", Const, 1}, + {"RTNLGRP_NEIGH", Const, 1}, + {"RTNLGRP_NONE", Const, 1}, + {"RTNLGRP_NOTIFY", Const, 1}, + {"RTNLGRP_TC", Const, 1}, + {"RTN_ANYCAST", Const, 0}, + {"RTN_BLACKHOLE", Const, 0}, + {"RTN_BROADCAST", Const, 0}, + {"RTN_LOCAL", Const, 0}, + {"RTN_MAX", Const, 0}, + {"RTN_MULTICAST", Const, 0}, + {"RTN_NAT", Const, 0}, + {"RTN_PROHIBIT", Const, 0}, + {"RTN_THROW", Const, 0}, + {"RTN_UNICAST", Const, 0}, + {"RTN_UNREACHABLE", Const, 0}, + {"RTN_UNSPEC", Const, 0}, + {"RTN_XRESOLVE", Const, 0}, + {"RTPROT_BIRD", Const, 0}, + {"RTPROT_BOOT", Const, 0}, + {"RTPROT_DHCP", Const, 0}, + {"RTPROT_DNROUTED", Const, 0}, + {"RTPROT_GATED", Const, 0}, + {"RTPROT_KERNEL", Const, 0}, + {"RTPROT_MRT", Const, 0}, + {"RTPROT_NTK", Const, 0}, + {"RTPROT_RA", Const, 0}, + {"RTPROT_REDIRECT", Const, 0}, + {"RTPROT_STATIC", Const, 0}, + {"RTPROT_UNSPEC", Const, 0}, + {"RTPROT_XORP", Const, 0}, + {"RTPROT_ZEBRA", Const, 0}, + {"RTV_EXPIRE", Const, 0}, + {"RTV_HOPCOUNT", Const, 0}, + {"RTV_MTU", Const, 0}, + {"RTV_RPIPE", Const, 0}, + {"RTV_RTT", Const, 0}, + {"RTV_RTTVAR", Const, 0}, + {"RTV_SPIPE", Const, 0}, + {"RTV_SSTHRESH", Const, 0}, + {"RTV_WEIGHT", Const, 0}, + {"RT_CACHING_CONTEXT", Const, 1}, + {"RT_CLASS_DEFAULT", Const, 0}, + {"RT_CLASS_LOCAL", Const, 0}, + {"RT_CLASS_MAIN", Const, 0}, + {"RT_CLASS_MAX", Const, 0}, + {"RT_CLASS_UNSPEC", Const, 0}, + {"RT_DEFAULT_FIB", Const, 1}, + {"RT_NORTREF", Const, 1}, + {"RT_SCOPE_HOST", Const, 0}, + {"RT_SCOPE_LINK", Const, 0}, + {"RT_SCOPE_NOWHERE", Const, 0}, + {"RT_SCOPE_SITE", Const, 0}, + {"RT_SCOPE_UNIVERSE", Const, 0}, + {"RT_TABLEID_MAX", Const, 1}, + {"RT_TABLE_COMPAT", Const, 0}, + {"RT_TABLE_DEFAULT", Const, 0}, + {"RT_TABLE_LOCAL", Const, 0}, + {"RT_TABLE_MAIN", Const, 0}, + {"RT_TABLE_MAX", Const, 0}, + {"RT_TABLE_UNSPEC", Const, 0}, + {"RUSAGE_CHILDREN", Const, 0}, + {"RUSAGE_SELF", Const, 0}, + {"RUSAGE_THREAD", Const, 0}, + {"Radvisory_t", Type, 0}, + {"Radvisory_t.Count", Field, 0}, + {"Radvisory_t.Offset", Field, 0}, + {"Radvisory_t.Pad_cgo_0", Field, 0}, + {"RawConn", Type, 9}, + {"RawSockaddr", Type, 0}, + {"RawSockaddr.Data", Field, 0}, + {"RawSockaddr.Family", Field, 0}, + {"RawSockaddr.Len", Field, 0}, + {"RawSockaddrAny", Type, 0}, + {"RawSockaddrAny.Addr", Field, 0}, + {"RawSockaddrAny.Pad", Field, 0}, + {"RawSockaddrDatalink", Type, 0}, + {"RawSockaddrDatalink.Alen", Field, 0}, + {"RawSockaddrDatalink.Data", Field, 0}, + {"RawSockaddrDatalink.Family", Field, 0}, + {"RawSockaddrDatalink.Index", Field, 0}, + {"RawSockaddrDatalink.Len", Field, 0}, + {"RawSockaddrDatalink.Nlen", Field, 0}, + {"RawSockaddrDatalink.Pad_cgo_0", Field, 2}, + {"RawSockaddrDatalink.Slen", Field, 0}, + {"RawSockaddrDatalink.Type", Field, 0}, + {"RawSockaddrInet4", Type, 0}, + {"RawSockaddrInet4.Addr", Field, 0}, + {"RawSockaddrInet4.Family", Field, 0}, + {"RawSockaddrInet4.Len", Field, 0}, + {"RawSockaddrInet4.Port", Field, 0}, + {"RawSockaddrInet4.Zero", Field, 0}, + {"RawSockaddrInet6", Type, 0}, + {"RawSockaddrInet6.Addr", Field, 0}, + {"RawSockaddrInet6.Family", Field, 0}, + {"RawSockaddrInet6.Flowinfo", Field, 0}, + {"RawSockaddrInet6.Len", Field, 0}, + {"RawSockaddrInet6.Port", Field, 0}, + {"RawSockaddrInet6.Scope_id", Field, 0}, + {"RawSockaddrLinklayer", Type, 0}, + {"RawSockaddrLinklayer.Addr", Field, 0}, + {"RawSockaddrLinklayer.Family", Field, 0}, + {"RawSockaddrLinklayer.Halen", Field, 0}, + {"RawSockaddrLinklayer.Hatype", Field, 0}, + {"RawSockaddrLinklayer.Ifindex", Field, 0}, + {"RawSockaddrLinklayer.Pkttype", Field, 0}, + {"RawSockaddrLinklayer.Protocol", Field, 0}, + {"RawSockaddrNetlink", Type, 0}, + {"RawSockaddrNetlink.Family", Field, 0}, + {"RawSockaddrNetlink.Groups", Field, 0}, + {"RawSockaddrNetlink.Pad", Field, 0}, + {"RawSockaddrNetlink.Pid", Field, 0}, + {"RawSockaddrUnix", Type, 0}, + {"RawSockaddrUnix.Family", Field, 0}, + {"RawSockaddrUnix.Len", Field, 0}, + {"RawSockaddrUnix.Pad_cgo_0", Field, 2}, + {"RawSockaddrUnix.Path", Field, 0}, + {"RawSyscall", Func, 0}, + {"RawSyscall6", Func, 0}, + {"Read", Func, 0}, + {"ReadConsole", Func, 1}, + {"ReadDirectoryChanges", Func, 0}, + {"ReadDirent", Func, 0}, + {"ReadFile", Func, 0}, + {"Readlink", Func, 0}, + {"Reboot", Func, 0}, + {"Recvfrom", Func, 0}, + {"Recvmsg", Func, 0}, + {"RegCloseKey", Func, 0}, + {"RegEnumKeyEx", Func, 0}, + {"RegOpenKeyEx", Func, 0}, + {"RegQueryInfoKey", Func, 0}, + {"RegQueryValueEx", Func, 0}, + {"RemoveDirectory", Func, 0}, + {"Removexattr", Func, 1}, + {"Rename", Func, 0}, + {"Renameat", Func, 0}, + {"Revoke", Func, 0}, + {"Rlimit", Type, 0}, + {"Rlimit.Cur", Field, 0}, + {"Rlimit.Max", Field, 0}, + {"Rmdir", Func, 0}, + {"RouteMessage", Type, 0}, + {"RouteMessage.Data", Field, 0}, + {"RouteMessage.Header", Field, 0}, + {"RouteRIB", Func, 0}, + {"RoutingMessage", Type, 0}, + {"RtAttr", Type, 0}, + {"RtAttr.Len", Field, 0}, + {"RtAttr.Type", Field, 0}, + {"RtGenmsg", Type, 0}, + {"RtGenmsg.Family", Field, 0}, + {"RtMetrics", Type, 0}, + {"RtMetrics.Expire", Field, 0}, + {"RtMetrics.Filler", Field, 0}, + {"RtMetrics.Hopcount", Field, 0}, + {"RtMetrics.Locks", Field, 0}, + {"RtMetrics.Mtu", Field, 0}, + {"RtMetrics.Pad", Field, 3}, + {"RtMetrics.Pksent", Field, 0}, + {"RtMetrics.Recvpipe", Field, 0}, + {"RtMetrics.Refcnt", Field, 2}, + {"RtMetrics.Rtt", Field, 0}, + {"RtMetrics.Rttvar", Field, 0}, + {"RtMetrics.Sendpipe", Field, 0}, + {"RtMetrics.Ssthresh", Field, 0}, + {"RtMetrics.Weight", Field, 0}, + {"RtMsg", Type, 0}, + {"RtMsg.Dst_len", Field, 0}, + {"RtMsg.Family", Field, 0}, + {"RtMsg.Flags", Field, 0}, + {"RtMsg.Protocol", Field, 0}, + {"RtMsg.Scope", Field, 0}, + {"RtMsg.Src_len", Field, 0}, + {"RtMsg.Table", Field, 0}, + {"RtMsg.Tos", Field, 0}, + {"RtMsg.Type", Field, 0}, + {"RtMsghdr", Type, 0}, + {"RtMsghdr.Addrs", Field, 0}, + {"RtMsghdr.Errno", Field, 0}, + {"RtMsghdr.Flags", Field, 0}, + {"RtMsghdr.Fmask", Field, 0}, + {"RtMsghdr.Hdrlen", Field, 2}, + {"RtMsghdr.Index", Field, 0}, + {"RtMsghdr.Inits", Field, 0}, + {"RtMsghdr.Mpls", Field, 2}, + {"RtMsghdr.Msglen", Field, 0}, + {"RtMsghdr.Pad_cgo_0", Field, 0}, + {"RtMsghdr.Pad_cgo_1", Field, 2}, + {"RtMsghdr.Pid", Field, 0}, + {"RtMsghdr.Priority", Field, 2}, + {"RtMsghdr.Rmx", Field, 0}, + {"RtMsghdr.Seq", Field, 0}, + {"RtMsghdr.Tableid", Field, 2}, + {"RtMsghdr.Type", Field, 0}, + {"RtMsghdr.Use", Field, 0}, + {"RtMsghdr.Version", Field, 0}, + {"RtNexthop", Type, 0}, + {"RtNexthop.Flags", Field, 0}, + {"RtNexthop.Hops", Field, 0}, + {"RtNexthop.Ifindex", Field, 0}, + {"RtNexthop.Len", Field, 0}, + {"Rusage", Type, 0}, + {"Rusage.CreationTime", Field, 0}, + {"Rusage.ExitTime", Field, 0}, + {"Rusage.Idrss", Field, 0}, + {"Rusage.Inblock", Field, 0}, + {"Rusage.Isrss", Field, 0}, + {"Rusage.Ixrss", Field, 0}, + {"Rusage.KernelTime", Field, 0}, + {"Rusage.Majflt", Field, 0}, + {"Rusage.Maxrss", Field, 0}, + {"Rusage.Minflt", Field, 0}, + {"Rusage.Msgrcv", Field, 0}, + {"Rusage.Msgsnd", Field, 0}, + {"Rusage.Nivcsw", Field, 0}, + {"Rusage.Nsignals", Field, 0}, + {"Rusage.Nswap", Field, 0}, + {"Rusage.Nvcsw", Field, 0}, + {"Rusage.Oublock", Field, 0}, + {"Rusage.Stime", Field, 0}, + {"Rusage.UserTime", Field, 0}, + {"Rusage.Utime", Field, 0}, + {"SCM_BINTIME", Const, 0}, + {"SCM_CREDENTIALS", Const, 0}, + {"SCM_CREDS", Const, 0}, + {"SCM_RIGHTS", Const, 0}, + {"SCM_TIMESTAMP", Const, 0}, + {"SCM_TIMESTAMPING", Const, 0}, + {"SCM_TIMESTAMPNS", Const, 0}, + {"SCM_TIMESTAMP_MONOTONIC", Const, 0}, + {"SHUT_RD", Const, 0}, + {"SHUT_RDWR", Const, 0}, + {"SHUT_WR", Const, 0}, + {"SID", Type, 0}, + {"SIDAndAttributes", Type, 0}, + {"SIDAndAttributes.Attributes", Field, 0}, + {"SIDAndAttributes.Sid", Field, 0}, + {"SIGABRT", Const, 0}, + {"SIGALRM", Const, 0}, + {"SIGBUS", Const, 0}, + {"SIGCHLD", Const, 0}, + {"SIGCLD", Const, 0}, + {"SIGCONT", Const, 0}, + {"SIGEMT", Const, 0}, + {"SIGFPE", Const, 0}, + {"SIGHUP", Const, 0}, + {"SIGILL", Const, 0}, + {"SIGINFO", Const, 0}, + {"SIGINT", Const, 0}, + {"SIGIO", Const, 0}, + {"SIGIOT", Const, 0}, + {"SIGKILL", Const, 0}, + {"SIGLIBRT", Const, 1}, + {"SIGLWP", Const, 0}, + {"SIGPIPE", Const, 0}, + {"SIGPOLL", Const, 0}, + {"SIGPROF", Const, 0}, + {"SIGPWR", Const, 0}, + {"SIGQUIT", Const, 0}, + {"SIGSEGV", Const, 0}, + {"SIGSTKFLT", Const, 0}, + {"SIGSTOP", Const, 0}, + {"SIGSYS", Const, 0}, + {"SIGTERM", Const, 0}, + {"SIGTHR", Const, 0}, + {"SIGTRAP", Const, 0}, + {"SIGTSTP", Const, 0}, + {"SIGTTIN", Const, 0}, + {"SIGTTOU", Const, 0}, + {"SIGUNUSED", Const, 0}, + {"SIGURG", Const, 0}, + {"SIGUSR1", Const, 0}, + {"SIGUSR2", Const, 0}, + {"SIGVTALRM", Const, 0}, + {"SIGWINCH", Const, 0}, + {"SIGXCPU", Const, 0}, + {"SIGXFSZ", Const, 0}, + {"SIOCADDDLCI", Const, 0}, + {"SIOCADDMULTI", Const, 0}, + {"SIOCADDRT", Const, 0}, + {"SIOCAIFADDR", Const, 0}, + {"SIOCAIFGROUP", Const, 0}, + {"SIOCALIFADDR", Const, 0}, + {"SIOCARPIPLL", Const, 0}, + {"SIOCATMARK", Const, 0}, + {"SIOCAUTOADDR", Const, 0}, + {"SIOCAUTONETMASK", Const, 0}, + {"SIOCBRDGADD", Const, 1}, + {"SIOCBRDGADDS", Const, 1}, + {"SIOCBRDGARL", Const, 1}, + {"SIOCBRDGDADDR", Const, 1}, + {"SIOCBRDGDEL", Const, 1}, + {"SIOCBRDGDELS", Const, 1}, + {"SIOCBRDGFLUSH", Const, 1}, + {"SIOCBRDGFRL", Const, 1}, + {"SIOCBRDGGCACHE", Const, 1}, + {"SIOCBRDGGFD", Const, 1}, + {"SIOCBRDGGHT", Const, 1}, + {"SIOCBRDGGIFFLGS", Const, 1}, + {"SIOCBRDGGMA", Const, 1}, + {"SIOCBRDGGPARAM", Const, 1}, + {"SIOCBRDGGPRI", Const, 1}, + {"SIOCBRDGGRL", Const, 1}, + {"SIOCBRDGGSIFS", Const, 1}, + {"SIOCBRDGGTO", Const, 1}, + {"SIOCBRDGIFS", Const, 1}, + {"SIOCBRDGRTS", Const, 1}, + {"SIOCBRDGSADDR", Const, 1}, + {"SIOCBRDGSCACHE", Const, 1}, + {"SIOCBRDGSFD", Const, 1}, + {"SIOCBRDGSHT", Const, 1}, + {"SIOCBRDGSIFCOST", Const, 1}, + {"SIOCBRDGSIFFLGS", Const, 1}, + {"SIOCBRDGSIFPRIO", Const, 1}, + {"SIOCBRDGSMA", Const, 1}, + {"SIOCBRDGSPRI", Const, 1}, + {"SIOCBRDGSPROTO", Const, 1}, + {"SIOCBRDGSTO", Const, 1}, + {"SIOCBRDGSTXHC", Const, 1}, + {"SIOCDARP", Const, 0}, + {"SIOCDELDLCI", Const, 0}, + {"SIOCDELMULTI", Const, 0}, + {"SIOCDELRT", Const, 0}, + {"SIOCDEVPRIVATE", Const, 0}, + {"SIOCDIFADDR", Const, 0}, + {"SIOCDIFGROUP", Const, 0}, + {"SIOCDIFPHYADDR", Const, 0}, + {"SIOCDLIFADDR", Const, 0}, + {"SIOCDRARP", Const, 0}, + {"SIOCGARP", Const, 0}, + {"SIOCGDRVSPEC", Const, 0}, + {"SIOCGETKALIVE", Const, 1}, + {"SIOCGETLABEL", Const, 1}, + {"SIOCGETPFLOW", Const, 1}, + {"SIOCGETPFSYNC", Const, 1}, + {"SIOCGETSGCNT", Const, 0}, + {"SIOCGETVIFCNT", Const, 0}, + {"SIOCGETVLAN", Const, 0}, + {"SIOCGHIWAT", Const, 0}, + {"SIOCGIFADDR", Const, 0}, + {"SIOCGIFADDRPREF", Const, 1}, + {"SIOCGIFALIAS", Const, 1}, + {"SIOCGIFALTMTU", Const, 0}, + {"SIOCGIFASYNCMAP", Const, 0}, + {"SIOCGIFBOND", Const, 0}, + {"SIOCGIFBR", Const, 0}, + {"SIOCGIFBRDADDR", Const, 0}, + {"SIOCGIFCAP", Const, 0}, + {"SIOCGIFCONF", Const, 0}, + {"SIOCGIFCOUNT", Const, 0}, + {"SIOCGIFDATA", Const, 1}, + {"SIOCGIFDESCR", Const, 0}, + {"SIOCGIFDEVMTU", Const, 0}, + {"SIOCGIFDLT", Const, 1}, + {"SIOCGIFDSTADDR", Const, 0}, + {"SIOCGIFENCAP", Const, 0}, + {"SIOCGIFFIB", Const, 1}, + {"SIOCGIFFLAGS", Const, 0}, + {"SIOCGIFGATTR", Const, 1}, + {"SIOCGIFGENERIC", Const, 0}, + {"SIOCGIFGMEMB", Const, 0}, + {"SIOCGIFGROUP", Const, 0}, + {"SIOCGIFHARDMTU", Const, 3}, + {"SIOCGIFHWADDR", Const, 0}, + {"SIOCGIFINDEX", Const, 0}, + {"SIOCGIFKPI", Const, 0}, + {"SIOCGIFMAC", Const, 0}, + {"SIOCGIFMAP", Const, 0}, + {"SIOCGIFMEDIA", Const, 0}, + {"SIOCGIFMEM", Const, 0}, + {"SIOCGIFMETRIC", Const, 0}, + {"SIOCGIFMTU", Const, 0}, + {"SIOCGIFNAME", Const, 0}, + {"SIOCGIFNETMASK", Const, 0}, + {"SIOCGIFPDSTADDR", Const, 0}, + {"SIOCGIFPFLAGS", Const, 0}, + {"SIOCGIFPHYS", Const, 0}, + {"SIOCGIFPRIORITY", Const, 1}, + {"SIOCGIFPSRCADDR", Const, 0}, + {"SIOCGIFRDOMAIN", Const, 1}, + {"SIOCGIFRTLABEL", Const, 1}, + {"SIOCGIFSLAVE", Const, 0}, + {"SIOCGIFSTATUS", Const, 0}, + {"SIOCGIFTIMESLOT", Const, 1}, + {"SIOCGIFTXQLEN", Const, 0}, + {"SIOCGIFVLAN", Const, 0}, + {"SIOCGIFWAKEFLAGS", Const, 0}, + {"SIOCGIFXFLAGS", Const, 1}, + {"SIOCGLIFADDR", Const, 0}, + {"SIOCGLIFPHYADDR", Const, 0}, + {"SIOCGLIFPHYRTABLE", Const, 1}, + {"SIOCGLIFPHYTTL", Const, 3}, + {"SIOCGLINKSTR", Const, 1}, + {"SIOCGLOWAT", Const, 0}, + {"SIOCGPGRP", Const, 0}, + {"SIOCGPRIVATE_0", Const, 0}, + {"SIOCGPRIVATE_1", Const, 0}, + {"SIOCGRARP", Const, 0}, + {"SIOCGSPPPPARAMS", Const, 3}, + {"SIOCGSTAMP", Const, 0}, + {"SIOCGSTAMPNS", Const, 0}, + {"SIOCGVH", Const, 1}, + {"SIOCGVNETID", Const, 3}, + {"SIOCIFCREATE", Const, 0}, + {"SIOCIFCREATE2", Const, 0}, + {"SIOCIFDESTROY", Const, 0}, + {"SIOCIFGCLONERS", Const, 0}, + {"SIOCINITIFADDR", Const, 1}, + {"SIOCPROTOPRIVATE", Const, 0}, + {"SIOCRSLVMULTI", Const, 0}, + {"SIOCRTMSG", Const, 0}, + {"SIOCSARP", Const, 0}, + {"SIOCSDRVSPEC", Const, 0}, + {"SIOCSETKALIVE", Const, 1}, + {"SIOCSETLABEL", Const, 1}, + {"SIOCSETPFLOW", Const, 1}, + {"SIOCSETPFSYNC", Const, 1}, + {"SIOCSETVLAN", Const, 0}, + {"SIOCSHIWAT", Const, 0}, + {"SIOCSIFADDR", Const, 0}, + {"SIOCSIFADDRPREF", Const, 1}, + {"SIOCSIFALTMTU", Const, 0}, + {"SIOCSIFASYNCMAP", Const, 0}, + {"SIOCSIFBOND", Const, 0}, + {"SIOCSIFBR", Const, 0}, + {"SIOCSIFBRDADDR", Const, 0}, + {"SIOCSIFCAP", Const, 0}, + {"SIOCSIFDESCR", Const, 0}, + {"SIOCSIFDSTADDR", Const, 0}, + {"SIOCSIFENCAP", Const, 0}, + {"SIOCSIFFIB", Const, 1}, + {"SIOCSIFFLAGS", Const, 0}, + {"SIOCSIFGATTR", Const, 1}, + {"SIOCSIFGENERIC", Const, 0}, + {"SIOCSIFHWADDR", Const, 0}, + {"SIOCSIFHWBROADCAST", Const, 0}, + {"SIOCSIFKPI", Const, 0}, + {"SIOCSIFLINK", Const, 0}, + {"SIOCSIFLLADDR", Const, 0}, + {"SIOCSIFMAC", Const, 0}, + {"SIOCSIFMAP", Const, 0}, + {"SIOCSIFMEDIA", Const, 0}, + {"SIOCSIFMEM", Const, 0}, + {"SIOCSIFMETRIC", Const, 0}, + {"SIOCSIFMTU", Const, 0}, + {"SIOCSIFNAME", Const, 0}, + {"SIOCSIFNETMASK", Const, 0}, + {"SIOCSIFPFLAGS", Const, 0}, + {"SIOCSIFPHYADDR", Const, 0}, + {"SIOCSIFPHYS", Const, 0}, + {"SIOCSIFPRIORITY", Const, 1}, + {"SIOCSIFRDOMAIN", Const, 1}, + {"SIOCSIFRTLABEL", Const, 1}, + {"SIOCSIFRVNET", Const, 0}, + {"SIOCSIFSLAVE", Const, 0}, + {"SIOCSIFTIMESLOT", Const, 1}, + {"SIOCSIFTXQLEN", Const, 0}, + {"SIOCSIFVLAN", Const, 0}, + {"SIOCSIFVNET", Const, 0}, + {"SIOCSIFXFLAGS", Const, 1}, + {"SIOCSLIFPHYADDR", Const, 0}, + {"SIOCSLIFPHYRTABLE", Const, 1}, + {"SIOCSLIFPHYTTL", Const, 3}, + {"SIOCSLINKSTR", Const, 1}, + {"SIOCSLOWAT", Const, 0}, + {"SIOCSPGRP", Const, 0}, + {"SIOCSRARP", Const, 0}, + {"SIOCSSPPPPARAMS", Const, 3}, + {"SIOCSVH", Const, 1}, + {"SIOCSVNETID", Const, 3}, + {"SIOCZIFDATA", Const, 1}, + {"SIO_GET_EXTENSION_FUNCTION_POINTER", Const, 1}, + {"SIO_GET_INTERFACE_LIST", Const, 0}, + {"SIO_KEEPALIVE_VALS", Const, 3}, + {"SIO_UDP_CONNRESET", Const, 4}, + {"SOCK_CLOEXEC", Const, 0}, + {"SOCK_DCCP", Const, 0}, + {"SOCK_DGRAM", Const, 0}, + {"SOCK_FLAGS_MASK", Const, 1}, + {"SOCK_MAXADDRLEN", Const, 0}, + {"SOCK_NONBLOCK", Const, 0}, + {"SOCK_NOSIGPIPE", Const, 1}, + {"SOCK_PACKET", Const, 0}, + {"SOCK_RAW", Const, 0}, + {"SOCK_RDM", Const, 0}, + {"SOCK_SEQPACKET", Const, 0}, + {"SOCK_STREAM", Const, 0}, + {"SOL_AAL", Const, 0}, + {"SOL_ATM", Const, 0}, + {"SOL_DECNET", Const, 0}, + {"SOL_ICMPV6", Const, 0}, + {"SOL_IP", Const, 0}, + {"SOL_IPV6", Const, 0}, + {"SOL_IRDA", Const, 0}, + {"SOL_PACKET", Const, 0}, + {"SOL_RAW", Const, 0}, + {"SOL_SOCKET", Const, 0}, + {"SOL_TCP", Const, 0}, + {"SOL_X25", Const, 0}, + {"SOMAXCONN", Const, 0}, + {"SO_ACCEPTCONN", Const, 0}, + {"SO_ACCEPTFILTER", Const, 0}, + {"SO_ATTACH_FILTER", Const, 0}, + {"SO_BINDANY", Const, 1}, + {"SO_BINDTODEVICE", Const, 0}, + {"SO_BINTIME", Const, 0}, + {"SO_BROADCAST", Const, 0}, + {"SO_BSDCOMPAT", Const, 0}, + {"SO_DEBUG", Const, 0}, + {"SO_DETACH_FILTER", Const, 0}, + {"SO_DOMAIN", Const, 0}, + {"SO_DONTROUTE", Const, 0}, + {"SO_DONTTRUNC", Const, 0}, + {"SO_ERROR", Const, 0}, + {"SO_KEEPALIVE", Const, 0}, + {"SO_LABEL", Const, 0}, + {"SO_LINGER", Const, 0}, + {"SO_LINGER_SEC", Const, 0}, + {"SO_LISTENINCQLEN", Const, 0}, + {"SO_LISTENQLEN", Const, 0}, + {"SO_LISTENQLIMIT", Const, 0}, + {"SO_MARK", Const, 0}, + {"SO_NETPROC", Const, 1}, + {"SO_NKE", Const, 0}, + {"SO_NOADDRERR", Const, 0}, + {"SO_NOHEADER", Const, 1}, + {"SO_NOSIGPIPE", Const, 0}, + {"SO_NOTIFYCONFLICT", Const, 0}, + {"SO_NO_CHECK", Const, 0}, + {"SO_NO_DDP", Const, 0}, + {"SO_NO_OFFLOAD", Const, 0}, + {"SO_NP_EXTENSIONS", Const, 0}, + {"SO_NREAD", Const, 0}, + {"SO_NUMRCVPKT", Const, 16}, + {"SO_NWRITE", Const, 0}, + {"SO_OOBINLINE", Const, 0}, + {"SO_OVERFLOWED", Const, 1}, + {"SO_PASSCRED", Const, 0}, + {"SO_PASSSEC", Const, 0}, + {"SO_PEERCRED", Const, 0}, + {"SO_PEERLABEL", Const, 0}, + {"SO_PEERNAME", Const, 0}, + {"SO_PEERSEC", Const, 0}, + {"SO_PRIORITY", Const, 0}, + {"SO_PROTOCOL", Const, 0}, + {"SO_PROTOTYPE", Const, 1}, + {"SO_RANDOMPORT", Const, 0}, + {"SO_RCVBUF", Const, 0}, + {"SO_RCVBUFFORCE", Const, 0}, + {"SO_RCVLOWAT", Const, 0}, + {"SO_RCVTIMEO", Const, 0}, + {"SO_RESTRICTIONS", Const, 0}, + {"SO_RESTRICT_DENYIN", Const, 0}, + {"SO_RESTRICT_DENYOUT", Const, 0}, + {"SO_RESTRICT_DENYSET", Const, 0}, + {"SO_REUSEADDR", Const, 0}, + {"SO_REUSEPORT", Const, 0}, + {"SO_REUSESHAREUID", Const, 0}, + {"SO_RTABLE", Const, 1}, + {"SO_RXQ_OVFL", Const, 0}, + {"SO_SECURITY_AUTHENTICATION", Const, 0}, + {"SO_SECURITY_ENCRYPTION_NETWORK", Const, 0}, + {"SO_SECURITY_ENCRYPTION_TRANSPORT", Const, 0}, + {"SO_SETFIB", Const, 0}, + {"SO_SNDBUF", Const, 0}, + {"SO_SNDBUFFORCE", Const, 0}, + {"SO_SNDLOWAT", Const, 0}, + {"SO_SNDTIMEO", Const, 0}, + {"SO_SPLICE", Const, 1}, + {"SO_TIMESTAMP", Const, 0}, + {"SO_TIMESTAMPING", Const, 0}, + {"SO_TIMESTAMPNS", Const, 0}, + {"SO_TIMESTAMP_MONOTONIC", Const, 0}, + {"SO_TYPE", Const, 0}, + {"SO_UPCALLCLOSEWAIT", Const, 0}, + {"SO_UPDATE_ACCEPT_CONTEXT", Const, 0}, + {"SO_UPDATE_CONNECT_CONTEXT", Const, 1}, + {"SO_USELOOPBACK", Const, 0}, + {"SO_USER_COOKIE", Const, 1}, + {"SO_VENDOR", Const, 3}, + {"SO_WANTMORE", Const, 0}, + {"SO_WANTOOBFLAG", Const, 0}, + {"SSLExtraCertChainPolicyPara", Type, 0}, + {"SSLExtraCertChainPolicyPara.AuthType", Field, 0}, + {"SSLExtraCertChainPolicyPara.Checks", Field, 0}, + {"SSLExtraCertChainPolicyPara.ServerName", Field, 0}, + {"SSLExtraCertChainPolicyPara.Size", Field, 0}, + {"STANDARD_RIGHTS_ALL", Const, 0}, + {"STANDARD_RIGHTS_EXECUTE", Const, 0}, + {"STANDARD_RIGHTS_READ", Const, 0}, + {"STANDARD_RIGHTS_REQUIRED", Const, 0}, + {"STANDARD_RIGHTS_WRITE", Const, 0}, + {"STARTF_USESHOWWINDOW", Const, 0}, + {"STARTF_USESTDHANDLES", Const, 0}, + {"STD_ERROR_HANDLE", Const, 0}, + {"STD_INPUT_HANDLE", Const, 0}, + {"STD_OUTPUT_HANDLE", Const, 0}, + {"SUBLANG_ENGLISH_US", Const, 0}, + {"SW_FORCEMINIMIZE", Const, 0}, + {"SW_HIDE", Const, 0}, + {"SW_MAXIMIZE", Const, 0}, + {"SW_MINIMIZE", Const, 0}, + {"SW_NORMAL", Const, 0}, + {"SW_RESTORE", Const, 0}, + {"SW_SHOW", Const, 0}, + {"SW_SHOWDEFAULT", Const, 0}, + {"SW_SHOWMAXIMIZED", Const, 0}, + {"SW_SHOWMINIMIZED", Const, 0}, + {"SW_SHOWMINNOACTIVE", Const, 0}, + {"SW_SHOWNA", Const, 0}, + {"SW_SHOWNOACTIVATE", Const, 0}, + {"SW_SHOWNORMAL", Const, 0}, + {"SYMBOLIC_LINK_FLAG_DIRECTORY", Const, 4}, + {"SYNCHRONIZE", Const, 0}, + {"SYSCTL_VERSION", Const, 1}, + {"SYSCTL_VERS_0", Const, 1}, + {"SYSCTL_VERS_1", Const, 1}, + {"SYSCTL_VERS_MASK", Const, 1}, + {"SYS_ABORT2", Const, 0}, + {"SYS_ACCEPT", Const, 0}, + {"SYS_ACCEPT4", Const, 0}, + {"SYS_ACCEPT_NOCANCEL", Const, 0}, + {"SYS_ACCESS", Const, 0}, + {"SYS_ACCESS_EXTENDED", Const, 0}, + {"SYS_ACCT", Const, 0}, + {"SYS_ADD_KEY", Const, 0}, + {"SYS_ADD_PROFIL", Const, 0}, + {"SYS_ADJFREQ", Const, 1}, + {"SYS_ADJTIME", Const, 0}, + {"SYS_ADJTIMEX", Const, 0}, + {"SYS_AFS_SYSCALL", Const, 0}, + {"SYS_AIO_CANCEL", Const, 0}, + {"SYS_AIO_ERROR", Const, 0}, + {"SYS_AIO_FSYNC", Const, 0}, + {"SYS_AIO_MLOCK", Const, 14}, + {"SYS_AIO_READ", Const, 0}, + {"SYS_AIO_RETURN", Const, 0}, + {"SYS_AIO_SUSPEND", Const, 0}, + {"SYS_AIO_SUSPEND_NOCANCEL", Const, 0}, + {"SYS_AIO_WAITCOMPLETE", Const, 14}, + {"SYS_AIO_WRITE", Const, 0}, + {"SYS_ALARM", Const, 0}, + {"SYS_ARCH_PRCTL", Const, 0}, + {"SYS_ARM_FADVISE64_64", Const, 0}, + {"SYS_ARM_SYNC_FILE_RANGE", Const, 0}, + {"SYS_ATGETMSG", Const, 0}, + {"SYS_ATPGETREQ", Const, 0}, + {"SYS_ATPGETRSP", Const, 0}, + {"SYS_ATPSNDREQ", Const, 0}, + {"SYS_ATPSNDRSP", Const, 0}, + {"SYS_ATPUTMSG", Const, 0}, + {"SYS_ATSOCKET", Const, 0}, + {"SYS_AUDIT", Const, 0}, + {"SYS_AUDITCTL", Const, 0}, + {"SYS_AUDITON", Const, 0}, + {"SYS_AUDIT_SESSION_JOIN", Const, 0}, + {"SYS_AUDIT_SESSION_PORT", Const, 0}, + {"SYS_AUDIT_SESSION_SELF", Const, 0}, + {"SYS_BDFLUSH", Const, 0}, + {"SYS_BIND", Const, 0}, + {"SYS_BINDAT", Const, 3}, + {"SYS_BREAK", Const, 0}, + {"SYS_BRK", Const, 0}, + {"SYS_BSDTHREAD_CREATE", Const, 0}, + {"SYS_BSDTHREAD_REGISTER", Const, 0}, + {"SYS_BSDTHREAD_TERMINATE", Const, 0}, + {"SYS_CAPGET", Const, 0}, + {"SYS_CAPSET", Const, 0}, + {"SYS_CAP_ENTER", Const, 0}, + {"SYS_CAP_FCNTLS_GET", Const, 1}, + {"SYS_CAP_FCNTLS_LIMIT", Const, 1}, + {"SYS_CAP_GETMODE", Const, 0}, + {"SYS_CAP_GETRIGHTS", Const, 0}, + {"SYS_CAP_IOCTLS_GET", Const, 1}, + {"SYS_CAP_IOCTLS_LIMIT", Const, 1}, + {"SYS_CAP_NEW", Const, 0}, + {"SYS_CAP_RIGHTS_GET", Const, 1}, + {"SYS_CAP_RIGHTS_LIMIT", Const, 1}, + {"SYS_CHDIR", Const, 0}, + {"SYS_CHFLAGS", Const, 0}, + {"SYS_CHFLAGSAT", Const, 3}, + {"SYS_CHMOD", Const, 0}, + {"SYS_CHMOD_EXTENDED", Const, 0}, + {"SYS_CHOWN", Const, 0}, + {"SYS_CHOWN32", Const, 0}, + {"SYS_CHROOT", Const, 0}, + {"SYS_CHUD", Const, 0}, + {"SYS_CLOCK_ADJTIME", Const, 0}, + {"SYS_CLOCK_GETCPUCLOCKID2", Const, 1}, + {"SYS_CLOCK_GETRES", Const, 0}, + {"SYS_CLOCK_GETTIME", Const, 0}, + {"SYS_CLOCK_NANOSLEEP", Const, 0}, + {"SYS_CLOCK_SETTIME", Const, 0}, + {"SYS_CLONE", Const, 0}, + {"SYS_CLOSE", Const, 0}, + {"SYS_CLOSEFROM", Const, 0}, + {"SYS_CLOSE_NOCANCEL", Const, 0}, + {"SYS_CONNECT", Const, 0}, + {"SYS_CONNECTAT", Const, 3}, + {"SYS_CONNECT_NOCANCEL", Const, 0}, + {"SYS_COPYFILE", Const, 0}, + {"SYS_CPUSET", Const, 0}, + {"SYS_CPUSET_GETAFFINITY", Const, 0}, + {"SYS_CPUSET_GETID", Const, 0}, + {"SYS_CPUSET_SETAFFINITY", Const, 0}, + {"SYS_CPUSET_SETID", Const, 0}, + {"SYS_CREAT", Const, 0}, + {"SYS_CREATE_MODULE", Const, 0}, + {"SYS_CSOPS", Const, 0}, + {"SYS_CSOPS_AUDITTOKEN", Const, 16}, + {"SYS_DELETE", Const, 0}, + {"SYS_DELETE_MODULE", Const, 0}, + {"SYS_DUP", Const, 0}, + {"SYS_DUP2", Const, 0}, + {"SYS_DUP3", Const, 0}, + {"SYS_EACCESS", Const, 0}, + {"SYS_EPOLL_CREATE", Const, 0}, + {"SYS_EPOLL_CREATE1", Const, 0}, + {"SYS_EPOLL_CTL", Const, 0}, + {"SYS_EPOLL_CTL_OLD", Const, 0}, + {"SYS_EPOLL_PWAIT", Const, 0}, + {"SYS_EPOLL_WAIT", Const, 0}, + {"SYS_EPOLL_WAIT_OLD", Const, 0}, + {"SYS_EVENTFD", Const, 0}, + {"SYS_EVENTFD2", Const, 0}, + {"SYS_EXCHANGEDATA", Const, 0}, + {"SYS_EXECVE", Const, 0}, + {"SYS_EXIT", Const, 0}, + {"SYS_EXIT_GROUP", Const, 0}, + {"SYS_EXTATTRCTL", Const, 0}, + {"SYS_EXTATTR_DELETE_FD", Const, 0}, + {"SYS_EXTATTR_DELETE_FILE", Const, 0}, + {"SYS_EXTATTR_DELETE_LINK", Const, 0}, + {"SYS_EXTATTR_GET_FD", Const, 0}, + {"SYS_EXTATTR_GET_FILE", Const, 0}, + {"SYS_EXTATTR_GET_LINK", Const, 0}, + {"SYS_EXTATTR_LIST_FD", Const, 0}, + {"SYS_EXTATTR_LIST_FILE", Const, 0}, + {"SYS_EXTATTR_LIST_LINK", Const, 0}, + {"SYS_EXTATTR_SET_FD", Const, 0}, + {"SYS_EXTATTR_SET_FILE", Const, 0}, + {"SYS_EXTATTR_SET_LINK", Const, 0}, + {"SYS_FACCESSAT", Const, 0}, + {"SYS_FADVISE64", Const, 0}, + {"SYS_FADVISE64_64", Const, 0}, + {"SYS_FALLOCATE", Const, 0}, + {"SYS_FANOTIFY_INIT", Const, 0}, + {"SYS_FANOTIFY_MARK", Const, 0}, + {"SYS_FCHDIR", Const, 0}, + {"SYS_FCHFLAGS", Const, 0}, + {"SYS_FCHMOD", Const, 0}, + {"SYS_FCHMODAT", Const, 0}, + {"SYS_FCHMOD_EXTENDED", Const, 0}, + {"SYS_FCHOWN", Const, 0}, + {"SYS_FCHOWN32", Const, 0}, + {"SYS_FCHOWNAT", Const, 0}, + {"SYS_FCHROOT", Const, 1}, + {"SYS_FCNTL", Const, 0}, + {"SYS_FCNTL64", Const, 0}, + {"SYS_FCNTL_NOCANCEL", Const, 0}, + {"SYS_FDATASYNC", Const, 0}, + {"SYS_FEXECVE", Const, 0}, + {"SYS_FFCLOCK_GETCOUNTER", Const, 0}, + {"SYS_FFCLOCK_GETESTIMATE", Const, 0}, + {"SYS_FFCLOCK_SETESTIMATE", Const, 0}, + {"SYS_FFSCTL", Const, 0}, + {"SYS_FGETATTRLIST", Const, 0}, + {"SYS_FGETXATTR", Const, 0}, + {"SYS_FHOPEN", Const, 0}, + {"SYS_FHSTAT", Const, 0}, + {"SYS_FHSTATFS", Const, 0}, + {"SYS_FILEPORT_MAKEFD", Const, 0}, + {"SYS_FILEPORT_MAKEPORT", Const, 0}, + {"SYS_FKTRACE", Const, 1}, + {"SYS_FLISTXATTR", Const, 0}, + {"SYS_FLOCK", Const, 0}, + {"SYS_FORK", Const, 0}, + {"SYS_FPATHCONF", Const, 0}, + {"SYS_FREEBSD6_FTRUNCATE", Const, 0}, + {"SYS_FREEBSD6_LSEEK", Const, 0}, + {"SYS_FREEBSD6_MMAP", Const, 0}, + {"SYS_FREEBSD6_PREAD", Const, 0}, + {"SYS_FREEBSD6_PWRITE", Const, 0}, + {"SYS_FREEBSD6_TRUNCATE", Const, 0}, + {"SYS_FREMOVEXATTR", Const, 0}, + {"SYS_FSCTL", Const, 0}, + {"SYS_FSETATTRLIST", Const, 0}, + {"SYS_FSETXATTR", Const, 0}, + {"SYS_FSGETPATH", Const, 0}, + {"SYS_FSTAT", Const, 0}, + {"SYS_FSTAT64", Const, 0}, + {"SYS_FSTAT64_EXTENDED", Const, 0}, + {"SYS_FSTATAT", Const, 0}, + {"SYS_FSTATAT64", Const, 0}, + {"SYS_FSTATFS", Const, 0}, + {"SYS_FSTATFS64", Const, 0}, + {"SYS_FSTATV", Const, 0}, + {"SYS_FSTATVFS1", Const, 1}, + {"SYS_FSTAT_EXTENDED", Const, 0}, + {"SYS_FSYNC", Const, 0}, + {"SYS_FSYNC_NOCANCEL", Const, 0}, + {"SYS_FSYNC_RANGE", Const, 1}, + {"SYS_FTIME", Const, 0}, + {"SYS_FTRUNCATE", Const, 0}, + {"SYS_FTRUNCATE64", Const, 0}, + {"SYS_FUTEX", Const, 0}, + {"SYS_FUTIMENS", Const, 1}, + {"SYS_FUTIMES", Const, 0}, + {"SYS_FUTIMESAT", Const, 0}, + {"SYS_GETATTRLIST", Const, 0}, + {"SYS_GETAUDIT", Const, 0}, + {"SYS_GETAUDIT_ADDR", Const, 0}, + {"SYS_GETAUID", Const, 0}, + {"SYS_GETCONTEXT", Const, 0}, + {"SYS_GETCPU", Const, 0}, + {"SYS_GETCWD", Const, 0}, + {"SYS_GETDENTS", Const, 0}, + {"SYS_GETDENTS64", Const, 0}, + {"SYS_GETDIRENTRIES", Const, 0}, + {"SYS_GETDIRENTRIES64", Const, 0}, + {"SYS_GETDIRENTRIESATTR", Const, 0}, + {"SYS_GETDTABLECOUNT", Const, 1}, + {"SYS_GETDTABLESIZE", Const, 0}, + {"SYS_GETEGID", Const, 0}, + {"SYS_GETEGID32", Const, 0}, + {"SYS_GETEUID", Const, 0}, + {"SYS_GETEUID32", Const, 0}, + {"SYS_GETFH", Const, 0}, + {"SYS_GETFSSTAT", Const, 0}, + {"SYS_GETFSSTAT64", Const, 0}, + {"SYS_GETGID", Const, 0}, + {"SYS_GETGID32", Const, 0}, + {"SYS_GETGROUPS", Const, 0}, + {"SYS_GETGROUPS32", Const, 0}, + {"SYS_GETHOSTUUID", Const, 0}, + {"SYS_GETITIMER", Const, 0}, + {"SYS_GETLCID", Const, 0}, + {"SYS_GETLOGIN", Const, 0}, + {"SYS_GETLOGINCLASS", Const, 0}, + {"SYS_GETPEERNAME", Const, 0}, + {"SYS_GETPGID", Const, 0}, + {"SYS_GETPGRP", Const, 0}, + {"SYS_GETPID", Const, 0}, + {"SYS_GETPMSG", Const, 0}, + {"SYS_GETPPID", Const, 0}, + {"SYS_GETPRIORITY", Const, 0}, + {"SYS_GETRESGID", Const, 0}, + {"SYS_GETRESGID32", Const, 0}, + {"SYS_GETRESUID", Const, 0}, + {"SYS_GETRESUID32", Const, 0}, + {"SYS_GETRLIMIT", Const, 0}, + {"SYS_GETRTABLE", Const, 1}, + {"SYS_GETRUSAGE", Const, 0}, + {"SYS_GETSGROUPS", Const, 0}, + {"SYS_GETSID", Const, 0}, + {"SYS_GETSOCKNAME", Const, 0}, + {"SYS_GETSOCKOPT", Const, 0}, + {"SYS_GETTHRID", Const, 1}, + {"SYS_GETTID", Const, 0}, + {"SYS_GETTIMEOFDAY", Const, 0}, + {"SYS_GETUID", Const, 0}, + {"SYS_GETUID32", Const, 0}, + {"SYS_GETVFSSTAT", Const, 1}, + {"SYS_GETWGROUPS", Const, 0}, + {"SYS_GETXATTR", Const, 0}, + {"SYS_GET_KERNEL_SYMS", Const, 0}, + {"SYS_GET_MEMPOLICY", Const, 0}, + {"SYS_GET_ROBUST_LIST", Const, 0}, + {"SYS_GET_THREAD_AREA", Const, 0}, + {"SYS_GSSD_SYSCALL", Const, 14}, + {"SYS_GTTY", Const, 0}, + {"SYS_IDENTITYSVC", Const, 0}, + {"SYS_IDLE", Const, 0}, + {"SYS_INITGROUPS", Const, 0}, + {"SYS_INIT_MODULE", Const, 0}, + {"SYS_INOTIFY_ADD_WATCH", Const, 0}, + {"SYS_INOTIFY_INIT", Const, 0}, + {"SYS_INOTIFY_INIT1", Const, 0}, + {"SYS_INOTIFY_RM_WATCH", Const, 0}, + {"SYS_IOCTL", Const, 0}, + {"SYS_IOPERM", Const, 0}, + {"SYS_IOPL", Const, 0}, + {"SYS_IOPOLICYSYS", Const, 0}, + {"SYS_IOPRIO_GET", Const, 0}, + {"SYS_IOPRIO_SET", Const, 0}, + {"SYS_IO_CANCEL", Const, 0}, + {"SYS_IO_DESTROY", Const, 0}, + {"SYS_IO_GETEVENTS", Const, 0}, + {"SYS_IO_SETUP", Const, 0}, + {"SYS_IO_SUBMIT", Const, 0}, + {"SYS_IPC", Const, 0}, + {"SYS_ISSETUGID", Const, 0}, + {"SYS_JAIL", Const, 0}, + {"SYS_JAIL_ATTACH", Const, 0}, + {"SYS_JAIL_GET", Const, 0}, + {"SYS_JAIL_REMOVE", Const, 0}, + {"SYS_JAIL_SET", Const, 0}, + {"SYS_KAS_INFO", Const, 16}, + {"SYS_KDEBUG_TRACE", Const, 0}, + {"SYS_KENV", Const, 0}, + {"SYS_KEVENT", Const, 0}, + {"SYS_KEVENT64", Const, 0}, + {"SYS_KEXEC_LOAD", Const, 0}, + {"SYS_KEYCTL", Const, 0}, + {"SYS_KILL", Const, 0}, + {"SYS_KLDFIND", Const, 0}, + {"SYS_KLDFIRSTMOD", Const, 0}, + {"SYS_KLDLOAD", Const, 0}, + {"SYS_KLDNEXT", Const, 0}, + {"SYS_KLDSTAT", Const, 0}, + {"SYS_KLDSYM", Const, 0}, + {"SYS_KLDUNLOAD", Const, 0}, + {"SYS_KLDUNLOADF", Const, 0}, + {"SYS_KMQ_NOTIFY", Const, 14}, + {"SYS_KMQ_OPEN", Const, 14}, + {"SYS_KMQ_SETATTR", Const, 14}, + {"SYS_KMQ_TIMEDRECEIVE", Const, 14}, + {"SYS_KMQ_TIMEDSEND", Const, 14}, + {"SYS_KMQ_UNLINK", Const, 14}, + {"SYS_KQUEUE", Const, 0}, + {"SYS_KQUEUE1", Const, 1}, + {"SYS_KSEM_CLOSE", Const, 14}, + {"SYS_KSEM_DESTROY", Const, 14}, + {"SYS_KSEM_GETVALUE", Const, 14}, + {"SYS_KSEM_INIT", Const, 14}, + {"SYS_KSEM_OPEN", Const, 14}, + {"SYS_KSEM_POST", Const, 14}, + {"SYS_KSEM_TIMEDWAIT", Const, 14}, + {"SYS_KSEM_TRYWAIT", Const, 14}, + {"SYS_KSEM_UNLINK", Const, 14}, + {"SYS_KSEM_WAIT", Const, 14}, + {"SYS_KTIMER_CREATE", Const, 0}, + {"SYS_KTIMER_DELETE", Const, 0}, + {"SYS_KTIMER_GETOVERRUN", Const, 0}, + {"SYS_KTIMER_GETTIME", Const, 0}, + {"SYS_KTIMER_SETTIME", Const, 0}, + {"SYS_KTRACE", Const, 0}, + {"SYS_LCHFLAGS", Const, 0}, + {"SYS_LCHMOD", Const, 0}, + {"SYS_LCHOWN", Const, 0}, + {"SYS_LCHOWN32", Const, 0}, + {"SYS_LEDGER", Const, 16}, + {"SYS_LGETFH", Const, 0}, + {"SYS_LGETXATTR", Const, 0}, + {"SYS_LINK", Const, 0}, + {"SYS_LINKAT", Const, 0}, + {"SYS_LIO_LISTIO", Const, 0}, + {"SYS_LISTEN", Const, 0}, + {"SYS_LISTXATTR", Const, 0}, + {"SYS_LLISTXATTR", Const, 0}, + {"SYS_LOCK", Const, 0}, + {"SYS_LOOKUP_DCOOKIE", Const, 0}, + {"SYS_LPATHCONF", Const, 0}, + {"SYS_LREMOVEXATTR", Const, 0}, + {"SYS_LSEEK", Const, 0}, + {"SYS_LSETXATTR", Const, 0}, + {"SYS_LSTAT", Const, 0}, + {"SYS_LSTAT64", Const, 0}, + {"SYS_LSTAT64_EXTENDED", Const, 0}, + {"SYS_LSTATV", Const, 0}, + {"SYS_LSTAT_EXTENDED", Const, 0}, + {"SYS_LUTIMES", Const, 0}, + {"SYS_MAC_SYSCALL", Const, 0}, + {"SYS_MADVISE", Const, 0}, + {"SYS_MADVISE1", Const, 0}, + {"SYS_MAXSYSCALL", Const, 0}, + {"SYS_MBIND", Const, 0}, + {"SYS_MIGRATE_PAGES", Const, 0}, + {"SYS_MINCORE", Const, 0}, + {"SYS_MINHERIT", Const, 0}, + {"SYS_MKCOMPLEX", Const, 0}, + {"SYS_MKDIR", Const, 0}, + {"SYS_MKDIRAT", Const, 0}, + {"SYS_MKDIR_EXTENDED", Const, 0}, + {"SYS_MKFIFO", Const, 0}, + {"SYS_MKFIFOAT", Const, 0}, + {"SYS_MKFIFO_EXTENDED", Const, 0}, + {"SYS_MKNOD", Const, 0}, + {"SYS_MKNODAT", Const, 0}, + {"SYS_MLOCK", Const, 0}, + {"SYS_MLOCKALL", Const, 0}, + {"SYS_MMAP", Const, 0}, + {"SYS_MMAP2", Const, 0}, + {"SYS_MODCTL", Const, 1}, + {"SYS_MODFIND", Const, 0}, + {"SYS_MODFNEXT", Const, 0}, + {"SYS_MODIFY_LDT", Const, 0}, + {"SYS_MODNEXT", Const, 0}, + {"SYS_MODSTAT", Const, 0}, + {"SYS_MODWATCH", Const, 0}, + {"SYS_MOUNT", Const, 0}, + {"SYS_MOVE_PAGES", Const, 0}, + {"SYS_MPROTECT", Const, 0}, + {"SYS_MPX", Const, 0}, + {"SYS_MQUERY", Const, 1}, + {"SYS_MQ_GETSETATTR", Const, 0}, + {"SYS_MQ_NOTIFY", Const, 0}, + {"SYS_MQ_OPEN", Const, 0}, + {"SYS_MQ_TIMEDRECEIVE", Const, 0}, + {"SYS_MQ_TIMEDSEND", Const, 0}, + {"SYS_MQ_UNLINK", Const, 0}, + {"SYS_MREMAP", Const, 0}, + {"SYS_MSGCTL", Const, 0}, + {"SYS_MSGGET", Const, 0}, + {"SYS_MSGRCV", Const, 0}, + {"SYS_MSGRCV_NOCANCEL", Const, 0}, + {"SYS_MSGSND", Const, 0}, + {"SYS_MSGSND_NOCANCEL", Const, 0}, + {"SYS_MSGSYS", Const, 0}, + {"SYS_MSYNC", Const, 0}, + {"SYS_MSYNC_NOCANCEL", Const, 0}, + {"SYS_MUNLOCK", Const, 0}, + {"SYS_MUNLOCKALL", Const, 0}, + {"SYS_MUNMAP", Const, 0}, + {"SYS_NAME_TO_HANDLE_AT", Const, 0}, + {"SYS_NANOSLEEP", Const, 0}, + {"SYS_NEWFSTATAT", Const, 0}, + {"SYS_NFSCLNT", Const, 0}, + {"SYS_NFSSERVCTL", Const, 0}, + {"SYS_NFSSVC", Const, 0}, + {"SYS_NFSTAT", Const, 0}, + {"SYS_NICE", Const, 0}, + {"SYS_NLM_SYSCALL", Const, 14}, + {"SYS_NLSTAT", Const, 0}, + {"SYS_NMOUNT", Const, 0}, + {"SYS_NSTAT", Const, 0}, + {"SYS_NTP_ADJTIME", Const, 0}, + {"SYS_NTP_GETTIME", Const, 0}, + {"SYS_NUMA_GETAFFINITY", Const, 14}, + {"SYS_NUMA_SETAFFINITY", Const, 14}, + {"SYS_OABI_SYSCALL_BASE", Const, 0}, + {"SYS_OBREAK", Const, 0}, + {"SYS_OLDFSTAT", Const, 0}, + {"SYS_OLDLSTAT", Const, 0}, + {"SYS_OLDOLDUNAME", Const, 0}, + {"SYS_OLDSTAT", Const, 0}, + {"SYS_OLDUNAME", Const, 0}, + {"SYS_OPEN", Const, 0}, + {"SYS_OPENAT", Const, 0}, + {"SYS_OPENBSD_POLL", Const, 0}, + {"SYS_OPEN_BY_HANDLE_AT", Const, 0}, + {"SYS_OPEN_DPROTECTED_NP", Const, 16}, + {"SYS_OPEN_EXTENDED", Const, 0}, + {"SYS_OPEN_NOCANCEL", Const, 0}, + {"SYS_OVADVISE", Const, 0}, + {"SYS_PACCEPT", Const, 1}, + {"SYS_PATHCONF", Const, 0}, + {"SYS_PAUSE", Const, 0}, + {"SYS_PCICONFIG_IOBASE", Const, 0}, + {"SYS_PCICONFIG_READ", Const, 0}, + {"SYS_PCICONFIG_WRITE", Const, 0}, + {"SYS_PDFORK", Const, 0}, + {"SYS_PDGETPID", Const, 0}, + {"SYS_PDKILL", Const, 0}, + {"SYS_PERF_EVENT_OPEN", Const, 0}, + {"SYS_PERSONALITY", Const, 0}, + {"SYS_PID_HIBERNATE", Const, 0}, + {"SYS_PID_RESUME", Const, 0}, + {"SYS_PID_SHUTDOWN_SOCKETS", Const, 0}, + {"SYS_PID_SUSPEND", Const, 0}, + {"SYS_PIPE", Const, 0}, + {"SYS_PIPE2", Const, 0}, + {"SYS_PIVOT_ROOT", Const, 0}, + {"SYS_PMC_CONTROL", Const, 1}, + {"SYS_PMC_GET_INFO", Const, 1}, + {"SYS_POLL", Const, 0}, + {"SYS_POLLTS", Const, 1}, + {"SYS_POLL_NOCANCEL", Const, 0}, + {"SYS_POSIX_FADVISE", Const, 0}, + {"SYS_POSIX_FALLOCATE", Const, 0}, + {"SYS_POSIX_OPENPT", Const, 0}, + {"SYS_POSIX_SPAWN", Const, 0}, + {"SYS_PPOLL", Const, 0}, + {"SYS_PRCTL", Const, 0}, + {"SYS_PREAD", Const, 0}, + {"SYS_PREAD64", Const, 0}, + {"SYS_PREADV", Const, 0}, + {"SYS_PREAD_NOCANCEL", Const, 0}, + {"SYS_PRLIMIT64", Const, 0}, + {"SYS_PROCCTL", Const, 3}, + {"SYS_PROCESS_POLICY", Const, 0}, + {"SYS_PROCESS_VM_READV", Const, 0}, + {"SYS_PROCESS_VM_WRITEV", Const, 0}, + {"SYS_PROC_INFO", Const, 0}, + {"SYS_PROF", Const, 0}, + {"SYS_PROFIL", Const, 0}, + {"SYS_PSELECT", Const, 0}, + {"SYS_PSELECT6", Const, 0}, + {"SYS_PSET_ASSIGN", Const, 1}, + {"SYS_PSET_CREATE", Const, 1}, + {"SYS_PSET_DESTROY", Const, 1}, + {"SYS_PSYNCH_CVBROAD", Const, 0}, + {"SYS_PSYNCH_CVCLRPREPOST", Const, 0}, + {"SYS_PSYNCH_CVSIGNAL", Const, 0}, + {"SYS_PSYNCH_CVWAIT", Const, 0}, + {"SYS_PSYNCH_MUTEXDROP", Const, 0}, + {"SYS_PSYNCH_MUTEXWAIT", Const, 0}, + {"SYS_PSYNCH_RW_DOWNGRADE", Const, 0}, + {"SYS_PSYNCH_RW_LONGRDLOCK", Const, 0}, + {"SYS_PSYNCH_RW_RDLOCK", Const, 0}, + {"SYS_PSYNCH_RW_UNLOCK", Const, 0}, + {"SYS_PSYNCH_RW_UNLOCK2", Const, 0}, + {"SYS_PSYNCH_RW_UPGRADE", Const, 0}, + {"SYS_PSYNCH_RW_WRLOCK", Const, 0}, + {"SYS_PSYNCH_RW_YIELDWRLOCK", Const, 0}, + {"SYS_PTRACE", Const, 0}, + {"SYS_PUTPMSG", Const, 0}, + {"SYS_PWRITE", Const, 0}, + {"SYS_PWRITE64", Const, 0}, + {"SYS_PWRITEV", Const, 0}, + {"SYS_PWRITE_NOCANCEL", Const, 0}, + {"SYS_QUERY_MODULE", Const, 0}, + {"SYS_QUOTACTL", Const, 0}, + {"SYS_RASCTL", Const, 1}, + {"SYS_RCTL_ADD_RULE", Const, 0}, + {"SYS_RCTL_GET_LIMITS", Const, 0}, + {"SYS_RCTL_GET_RACCT", Const, 0}, + {"SYS_RCTL_GET_RULES", Const, 0}, + {"SYS_RCTL_REMOVE_RULE", Const, 0}, + {"SYS_READ", Const, 0}, + {"SYS_READAHEAD", Const, 0}, + {"SYS_READDIR", Const, 0}, + {"SYS_READLINK", Const, 0}, + {"SYS_READLINKAT", Const, 0}, + {"SYS_READV", Const, 0}, + {"SYS_READV_NOCANCEL", Const, 0}, + {"SYS_READ_NOCANCEL", Const, 0}, + {"SYS_REBOOT", Const, 0}, + {"SYS_RECV", Const, 0}, + {"SYS_RECVFROM", Const, 0}, + {"SYS_RECVFROM_NOCANCEL", Const, 0}, + {"SYS_RECVMMSG", Const, 0}, + {"SYS_RECVMSG", Const, 0}, + {"SYS_RECVMSG_NOCANCEL", Const, 0}, + {"SYS_REMAP_FILE_PAGES", Const, 0}, + {"SYS_REMOVEXATTR", Const, 0}, + {"SYS_RENAME", Const, 0}, + {"SYS_RENAMEAT", Const, 0}, + {"SYS_REQUEST_KEY", Const, 0}, + {"SYS_RESTART_SYSCALL", Const, 0}, + {"SYS_REVOKE", Const, 0}, + {"SYS_RFORK", Const, 0}, + {"SYS_RMDIR", Const, 0}, + {"SYS_RTPRIO", Const, 0}, + {"SYS_RTPRIO_THREAD", Const, 0}, + {"SYS_RT_SIGACTION", Const, 0}, + {"SYS_RT_SIGPENDING", Const, 0}, + {"SYS_RT_SIGPROCMASK", Const, 0}, + {"SYS_RT_SIGQUEUEINFO", Const, 0}, + {"SYS_RT_SIGRETURN", Const, 0}, + {"SYS_RT_SIGSUSPEND", Const, 0}, + {"SYS_RT_SIGTIMEDWAIT", Const, 0}, + {"SYS_RT_TGSIGQUEUEINFO", Const, 0}, + {"SYS_SBRK", Const, 0}, + {"SYS_SCHED_GETAFFINITY", Const, 0}, + {"SYS_SCHED_GETPARAM", Const, 0}, + {"SYS_SCHED_GETSCHEDULER", Const, 0}, + {"SYS_SCHED_GET_PRIORITY_MAX", Const, 0}, + {"SYS_SCHED_GET_PRIORITY_MIN", Const, 0}, + {"SYS_SCHED_RR_GET_INTERVAL", Const, 0}, + {"SYS_SCHED_SETAFFINITY", Const, 0}, + {"SYS_SCHED_SETPARAM", Const, 0}, + {"SYS_SCHED_SETSCHEDULER", Const, 0}, + {"SYS_SCHED_YIELD", Const, 0}, + {"SYS_SCTP_GENERIC_RECVMSG", Const, 0}, + {"SYS_SCTP_GENERIC_SENDMSG", Const, 0}, + {"SYS_SCTP_GENERIC_SENDMSG_IOV", Const, 0}, + {"SYS_SCTP_PEELOFF", Const, 0}, + {"SYS_SEARCHFS", Const, 0}, + {"SYS_SECURITY", Const, 0}, + {"SYS_SELECT", Const, 0}, + {"SYS_SELECT_NOCANCEL", Const, 0}, + {"SYS_SEMCONFIG", Const, 1}, + {"SYS_SEMCTL", Const, 0}, + {"SYS_SEMGET", Const, 0}, + {"SYS_SEMOP", Const, 0}, + {"SYS_SEMSYS", Const, 0}, + {"SYS_SEMTIMEDOP", Const, 0}, + {"SYS_SEM_CLOSE", Const, 0}, + {"SYS_SEM_DESTROY", Const, 0}, + {"SYS_SEM_GETVALUE", Const, 0}, + {"SYS_SEM_INIT", Const, 0}, + {"SYS_SEM_OPEN", Const, 0}, + {"SYS_SEM_POST", Const, 0}, + {"SYS_SEM_TRYWAIT", Const, 0}, + {"SYS_SEM_UNLINK", Const, 0}, + {"SYS_SEM_WAIT", Const, 0}, + {"SYS_SEM_WAIT_NOCANCEL", Const, 0}, + {"SYS_SEND", Const, 0}, + {"SYS_SENDFILE", Const, 0}, + {"SYS_SENDFILE64", Const, 0}, + {"SYS_SENDMMSG", Const, 0}, + {"SYS_SENDMSG", Const, 0}, + {"SYS_SENDMSG_NOCANCEL", Const, 0}, + {"SYS_SENDTO", Const, 0}, + {"SYS_SENDTO_NOCANCEL", Const, 0}, + {"SYS_SETATTRLIST", Const, 0}, + {"SYS_SETAUDIT", Const, 0}, + {"SYS_SETAUDIT_ADDR", Const, 0}, + {"SYS_SETAUID", Const, 0}, + {"SYS_SETCONTEXT", Const, 0}, + {"SYS_SETDOMAINNAME", Const, 0}, + {"SYS_SETEGID", Const, 0}, + {"SYS_SETEUID", Const, 0}, + {"SYS_SETFIB", Const, 0}, + {"SYS_SETFSGID", Const, 0}, + {"SYS_SETFSGID32", Const, 0}, + {"SYS_SETFSUID", Const, 0}, + {"SYS_SETFSUID32", Const, 0}, + {"SYS_SETGID", Const, 0}, + {"SYS_SETGID32", Const, 0}, + {"SYS_SETGROUPS", Const, 0}, + {"SYS_SETGROUPS32", Const, 0}, + {"SYS_SETHOSTNAME", Const, 0}, + {"SYS_SETITIMER", Const, 0}, + {"SYS_SETLCID", Const, 0}, + {"SYS_SETLOGIN", Const, 0}, + {"SYS_SETLOGINCLASS", Const, 0}, + {"SYS_SETNS", Const, 0}, + {"SYS_SETPGID", Const, 0}, + {"SYS_SETPRIORITY", Const, 0}, + {"SYS_SETPRIVEXEC", Const, 0}, + {"SYS_SETREGID", Const, 0}, + {"SYS_SETREGID32", Const, 0}, + {"SYS_SETRESGID", Const, 0}, + {"SYS_SETRESGID32", Const, 0}, + {"SYS_SETRESUID", Const, 0}, + {"SYS_SETRESUID32", Const, 0}, + {"SYS_SETREUID", Const, 0}, + {"SYS_SETREUID32", Const, 0}, + {"SYS_SETRLIMIT", Const, 0}, + {"SYS_SETRTABLE", Const, 1}, + {"SYS_SETSGROUPS", Const, 0}, + {"SYS_SETSID", Const, 0}, + {"SYS_SETSOCKOPT", Const, 0}, + {"SYS_SETTID", Const, 0}, + {"SYS_SETTID_WITH_PID", Const, 0}, + {"SYS_SETTIMEOFDAY", Const, 0}, + {"SYS_SETUID", Const, 0}, + {"SYS_SETUID32", Const, 0}, + {"SYS_SETWGROUPS", Const, 0}, + {"SYS_SETXATTR", Const, 0}, + {"SYS_SET_MEMPOLICY", Const, 0}, + {"SYS_SET_ROBUST_LIST", Const, 0}, + {"SYS_SET_THREAD_AREA", Const, 0}, + {"SYS_SET_TID_ADDRESS", Const, 0}, + {"SYS_SGETMASK", Const, 0}, + {"SYS_SHARED_REGION_CHECK_NP", Const, 0}, + {"SYS_SHARED_REGION_MAP_AND_SLIDE_NP", Const, 0}, + {"SYS_SHMAT", Const, 0}, + {"SYS_SHMCTL", Const, 0}, + {"SYS_SHMDT", Const, 0}, + {"SYS_SHMGET", Const, 0}, + {"SYS_SHMSYS", Const, 0}, + {"SYS_SHM_OPEN", Const, 0}, + {"SYS_SHM_UNLINK", Const, 0}, + {"SYS_SHUTDOWN", Const, 0}, + {"SYS_SIGACTION", Const, 0}, + {"SYS_SIGALTSTACK", Const, 0}, + {"SYS_SIGNAL", Const, 0}, + {"SYS_SIGNALFD", Const, 0}, + {"SYS_SIGNALFD4", Const, 0}, + {"SYS_SIGPENDING", Const, 0}, + {"SYS_SIGPROCMASK", Const, 0}, + {"SYS_SIGQUEUE", Const, 0}, + {"SYS_SIGQUEUEINFO", Const, 1}, + {"SYS_SIGRETURN", Const, 0}, + {"SYS_SIGSUSPEND", Const, 0}, + {"SYS_SIGSUSPEND_NOCANCEL", Const, 0}, + {"SYS_SIGTIMEDWAIT", Const, 0}, + {"SYS_SIGWAIT", Const, 0}, + {"SYS_SIGWAITINFO", Const, 0}, + {"SYS_SOCKET", Const, 0}, + {"SYS_SOCKETCALL", Const, 0}, + {"SYS_SOCKETPAIR", Const, 0}, + {"SYS_SPLICE", Const, 0}, + {"SYS_SSETMASK", Const, 0}, + {"SYS_SSTK", Const, 0}, + {"SYS_STACK_SNAPSHOT", Const, 0}, + {"SYS_STAT", Const, 0}, + {"SYS_STAT64", Const, 0}, + {"SYS_STAT64_EXTENDED", Const, 0}, + {"SYS_STATFS", Const, 0}, + {"SYS_STATFS64", Const, 0}, + {"SYS_STATV", Const, 0}, + {"SYS_STATVFS1", Const, 1}, + {"SYS_STAT_EXTENDED", Const, 0}, + {"SYS_STIME", Const, 0}, + {"SYS_STTY", Const, 0}, + {"SYS_SWAPCONTEXT", Const, 0}, + {"SYS_SWAPCTL", Const, 1}, + {"SYS_SWAPOFF", Const, 0}, + {"SYS_SWAPON", Const, 0}, + {"SYS_SYMLINK", Const, 0}, + {"SYS_SYMLINKAT", Const, 0}, + {"SYS_SYNC", Const, 0}, + {"SYS_SYNCFS", Const, 0}, + {"SYS_SYNC_FILE_RANGE", Const, 0}, + {"SYS_SYSARCH", Const, 0}, + {"SYS_SYSCALL", Const, 0}, + {"SYS_SYSCALL_BASE", Const, 0}, + {"SYS_SYSFS", Const, 0}, + {"SYS_SYSINFO", Const, 0}, + {"SYS_SYSLOG", Const, 0}, + {"SYS_TEE", Const, 0}, + {"SYS_TGKILL", Const, 0}, + {"SYS_THREAD_SELFID", Const, 0}, + {"SYS_THR_CREATE", Const, 0}, + {"SYS_THR_EXIT", Const, 0}, + {"SYS_THR_KILL", Const, 0}, + {"SYS_THR_KILL2", Const, 0}, + {"SYS_THR_NEW", Const, 0}, + {"SYS_THR_SELF", Const, 0}, + {"SYS_THR_SET_NAME", Const, 0}, + {"SYS_THR_SUSPEND", Const, 0}, + {"SYS_THR_WAKE", Const, 0}, + {"SYS_TIME", Const, 0}, + {"SYS_TIMERFD_CREATE", Const, 0}, + {"SYS_TIMERFD_GETTIME", Const, 0}, + {"SYS_TIMERFD_SETTIME", Const, 0}, + {"SYS_TIMER_CREATE", Const, 0}, + {"SYS_TIMER_DELETE", Const, 0}, + {"SYS_TIMER_GETOVERRUN", Const, 0}, + {"SYS_TIMER_GETTIME", Const, 0}, + {"SYS_TIMER_SETTIME", Const, 0}, + {"SYS_TIMES", Const, 0}, + {"SYS_TKILL", Const, 0}, + {"SYS_TRUNCATE", Const, 0}, + {"SYS_TRUNCATE64", Const, 0}, + {"SYS_TUXCALL", Const, 0}, + {"SYS_UGETRLIMIT", Const, 0}, + {"SYS_ULIMIT", Const, 0}, + {"SYS_UMASK", Const, 0}, + {"SYS_UMASK_EXTENDED", Const, 0}, + {"SYS_UMOUNT", Const, 0}, + {"SYS_UMOUNT2", Const, 0}, + {"SYS_UNAME", Const, 0}, + {"SYS_UNDELETE", Const, 0}, + {"SYS_UNLINK", Const, 0}, + {"SYS_UNLINKAT", Const, 0}, + {"SYS_UNMOUNT", Const, 0}, + {"SYS_UNSHARE", Const, 0}, + {"SYS_USELIB", Const, 0}, + {"SYS_USTAT", Const, 0}, + {"SYS_UTIME", Const, 0}, + {"SYS_UTIMENSAT", Const, 0}, + {"SYS_UTIMES", Const, 0}, + {"SYS_UTRACE", Const, 0}, + {"SYS_UUIDGEN", Const, 0}, + {"SYS_VADVISE", Const, 1}, + {"SYS_VFORK", Const, 0}, + {"SYS_VHANGUP", Const, 0}, + {"SYS_VM86", Const, 0}, + {"SYS_VM86OLD", Const, 0}, + {"SYS_VMSPLICE", Const, 0}, + {"SYS_VM_PRESSURE_MONITOR", Const, 0}, + {"SYS_VSERVER", Const, 0}, + {"SYS_WAIT4", Const, 0}, + {"SYS_WAIT4_NOCANCEL", Const, 0}, + {"SYS_WAIT6", Const, 1}, + {"SYS_WAITEVENT", Const, 0}, + {"SYS_WAITID", Const, 0}, + {"SYS_WAITID_NOCANCEL", Const, 0}, + {"SYS_WAITPID", Const, 0}, + {"SYS_WATCHEVENT", Const, 0}, + {"SYS_WORKQ_KERNRETURN", Const, 0}, + {"SYS_WORKQ_OPEN", Const, 0}, + {"SYS_WRITE", Const, 0}, + {"SYS_WRITEV", Const, 0}, + {"SYS_WRITEV_NOCANCEL", Const, 0}, + {"SYS_WRITE_NOCANCEL", Const, 0}, + {"SYS_YIELD", Const, 0}, + {"SYS__LLSEEK", Const, 0}, + {"SYS__LWP_CONTINUE", Const, 1}, + {"SYS__LWP_CREATE", Const, 1}, + {"SYS__LWP_CTL", Const, 1}, + {"SYS__LWP_DETACH", Const, 1}, + {"SYS__LWP_EXIT", Const, 1}, + {"SYS__LWP_GETNAME", Const, 1}, + {"SYS__LWP_GETPRIVATE", Const, 1}, + {"SYS__LWP_KILL", Const, 1}, + {"SYS__LWP_PARK", Const, 1}, + {"SYS__LWP_SELF", Const, 1}, + {"SYS__LWP_SETNAME", Const, 1}, + {"SYS__LWP_SETPRIVATE", Const, 1}, + {"SYS__LWP_SUSPEND", Const, 1}, + {"SYS__LWP_UNPARK", Const, 1}, + {"SYS__LWP_UNPARK_ALL", Const, 1}, + {"SYS__LWP_WAIT", Const, 1}, + {"SYS__LWP_WAKEUP", Const, 1}, + {"SYS__NEWSELECT", Const, 0}, + {"SYS__PSET_BIND", Const, 1}, + {"SYS__SCHED_GETAFFINITY", Const, 1}, + {"SYS__SCHED_GETPARAM", Const, 1}, + {"SYS__SCHED_SETAFFINITY", Const, 1}, + {"SYS__SCHED_SETPARAM", Const, 1}, + {"SYS__SYSCTL", Const, 0}, + {"SYS__UMTX_LOCK", Const, 0}, + {"SYS__UMTX_OP", Const, 0}, + {"SYS__UMTX_UNLOCK", Const, 0}, + {"SYS___ACL_ACLCHECK_FD", Const, 0}, + {"SYS___ACL_ACLCHECK_FILE", Const, 0}, + {"SYS___ACL_ACLCHECK_LINK", Const, 0}, + {"SYS___ACL_DELETE_FD", Const, 0}, + {"SYS___ACL_DELETE_FILE", Const, 0}, + {"SYS___ACL_DELETE_LINK", Const, 0}, + {"SYS___ACL_GET_FD", Const, 0}, + {"SYS___ACL_GET_FILE", Const, 0}, + {"SYS___ACL_GET_LINK", Const, 0}, + {"SYS___ACL_SET_FD", Const, 0}, + {"SYS___ACL_SET_FILE", Const, 0}, + {"SYS___ACL_SET_LINK", Const, 0}, + {"SYS___CAP_RIGHTS_GET", Const, 14}, + {"SYS___CLONE", Const, 1}, + {"SYS___DISABLE_THREADSIGNAL", Const, 0}, + {"SYS___GETCWD", Const, 0}, + {"SYS___GETLOGIN", Const, 1}, + {"SYS___GET_TCB", Const, 1}, + {"SYS___MAC_EXECVE", Const, 0}, + {"SYS___MAC_GETFSSTAT", Const, 0}, + {"SYS___MAC_GET_FD", Const, 0}, + {"SYS___MAC_GET_FILE", Const, 0}, + {"SYS___MAC_GET_LCID", Const, 0}, + {"SYS___MAC_GET_LCTX", Const, 0}, + {"SYS___MAC_GET_LINK", Const, 0}, + {"SYS___MAC_GET_MOUNT", Const, 0}, + {"SYS___MAC_GET_PID", Const, 0}, + {"SYS___MAC_GET_PROC", Const, 0}, + {"SYS___MAC_MOUNT", Const, 0}, + {"SYS___MAC_SET_FD", Const, 0}, + {"SYS___MAC_SET_FILE", Const, 0}, + {"SYS___MAC_SET_LCTX", Const, 0}, + {"SYS___MAC_SET_LINK", Const, 0}, + {"SYS___MAC_SET_PROC", Const, 0}, + {"SYS___MAC_SYSCALL", Const, 0}, + {"SYS___OLD_SEMWAIT_SIGNAL", Const, 0}, + {"SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL", Const, 0}, + {"SYS___POSIX_CHOWN", Const, 1}, + {"SYS___POSIX_FCHOWN", Const, 1}, + {"SYS___POSIX_LCHOWN", Const, 1}, + {"SYS___POSIX_RENAME", Const, 1}, + {"SYS___PTHREAD_CANCELED", Const, 0}, + {"SYS___PTHREAD_CHDIR", Const, 0}, + {"SYS___PTHREAD_FCHDIR", Const, 0}, + {"SYS___PTHREAD_KILL", Const, 0}, + {"SYS___PTHREAD_MARKCANCEL", Const, 0}, + {"SYS___PTHREAD_SIGMASK", Const, 0}, + {"SYS___QUOTACTL", Const, 1}, + {"SYS___SEMCTL", Const, 1}, + {"SYS___SEMWAIT_SIGNAL", Const, 0}, + {"SYS___SEMWAIT_SIGNAL_NOCANCEL", Const, 0}, + {"SYS___SETLOGIN", Const, 1}, + {"SYS___SETUGID", Const, 0}, + {"SYS___SET_TCB", Const, 1}, + {"SYS___SIGACTION_SIGTRAMP", Const, 1}, + {"SYS___SIGTIMEDWAIT", Const, 1}, + {"SYS___SIGWAIT", Const, 0}, + {"SYS___SIGWAIT_NOCANCEL", Const, 0}, + {"SYS___SYSCTL", Const, 0}, + {"SYS___TFORK", Const, 1}, + {"SYS___THREXIT", Const, 1}, + {"SYS___THRSIGDIVERT", Const, 1}, + {"SYS___THRSLEEP", Const, 1}, + {"SYS___THRWAKEUP", Const, 1}, + {"S_ARCH1", Const, 1}, + {"S_ARCH2", Const, 1}, + {"S_BLKSIZE", Const, 0}, + {"S_IEXEC", Const, 0}, + {"S_IFBLK", Const, 0}, + {"S_IFCHR", Const, 0}, + {"S_IFDIR", Const, 0}, + {"S_IFIFO", Const, 0}, + {"S_IFLNK", Const, 0}, + {"S_IFMT", Const, 0}, + {"S_IFREG", Const, 0}, + {"S_IFSOCK", Const, 0}, + {"S_IFWHT", Const, 0}, + {"S_IREAD", Const, 0}, + {"S_IRGRP", Const, 0}, + {"S_IROTH", Const, 0}, + {"S_IRUSR", Const, 0}, + {"S_IRWXG", Const, 0}, + {"S_IRWXO", Const, 0}, + {"S_IRWXU", Const, 0}, + {"S_ISGID", Const, 0}, + {"S_ISTXT", Const, 0}, + {"S_ISUID", Const, 0}, + {"S_ISVTX", Const, 0}, + {"S_IWGRP", Const, 0}, + {"S_IWOTH", Const, 0}, + {"S_IWRITE", Const, 0}, + {"S_IWUSR", Const, 0}, + {"S_IXGRP", Const, 0}, + {"S_IXOTH", Const, 0}, + {"S_IXUSR", Const, 0}, + {"S_LOGIN_SET", Const, 1}, + {"SecurityAttributes", Type, 0}, + {"SecurityAttributes.InheritHandle", Field, 0}, + {"SecurityAttributes.Length", Field, 0}, + {"SecurityAttributes.SecurityDescriptor", Field, 0}, + {"Seek", Func, 0}, + {"Select", Func, 0}, + {"Sendfile", Func, 0}, + {"Sendmsg", Func, 0}, + {"SendmsgN", Func, 3}, + {"Sendto", Func, 0}, + {"Servent", Type, 0}, + {"Servent.Aliases", Field, 0}, + {"Servent.Name", Field, 0}, + {"Servent.Port", Field, 0}, + {"Servent.Proto", Field, 0}, + {"SetBpf", Func, 0}, + {"SetBpfBuflen", Func, 0}, + {"SetBpfDatalink", Func, 0}, + {"SetBpfHeadercmpl", Func, 0}, + {"SetBpfImmediate", Func, 0}, + {"SetBpfInterface", Func, 0}, + {"SetBpfPromisc", Func, 0}, + {"SetBpfTimeout", Func, 0}, + {"SetCurrentDirectory", Func, 0}, + {"SetEndOfFile", Func, 0}, + {"SetEnvironmentVariable", Func, 0}, + {"SetFileAttributes", Func, 0}, + {"SetFileCompletionNotificationModes", Func, 2}, + {"SetFilePointer", Func, 0}, + {"SetFileTime", Func, 0}, + {"SetHandleInformation", Func, 0}, + {"SetKevent", Func, 0}, + {"SetLsfPromisc", Func, 0}, + {"SetNonblock", Func, 0}, + {"Setdomainname", Func, 0}, + {"Setegid", Func, 0}, + {"Setenv", Func, 0}, + {"Seteuid", Func, 0}, + {"Setfsgid", Func, 0}, + {"Setfsuid", Func, 0}, + {"Setgid", Func, 0}, + {"Setgroups", Func, 0}, + {"Sethostname", Func, 0}, + {"Setlogin", Func, 0}, + {"Setpgid", Func, 0}, + {"Setpriority", Func, 0}, + {"Setprivexec", Func, 0}, + {"Setregid", Func, 0}, + {"Setresgid", Func, 0}, + {"Setresuid", Func, 0}, + {"Setreuid", Func, 0}, + {"Setrlimit", Func, 0}, + {"Setsid", Func, 0}, + {"Setsockopt", Func, 0}, + {"SetsockoptByte", Func, 0}, + {"SetsockoptICMPv6Filter", Func, 2}, + {"SetsockoptIPMreq", Func, 0}, + {"SetsockoptIPMreqn", Func, 0}, + {"SetsockoptIPv6Mreq", Func, 0}, + {"SetsockoptInet4Addr", Func, 0}, + {"SetsockoptInt", Func, 0}, + {"SetsockoptLinger", Func, 0}, + {"SetsockoptString", Func, 0}, + {"SetsockoptTimeval", Func, 0}, + {"Settimeofday", Func, 0}, + {"Setuid", Func, 0}, + {"Setxattr", Func, 1}, + {"Shutdown", Func, 0}, + {"SidTypeAlias", Const, 0}, + {"SidTypeComputer", Const, 0}, + {"SidTypeDeletedAccount", Const, 0}, + {"SidTypeDomain", Const, 0}, + {"SidTypeGroup", Const, 0}, + {"SidTypeInvalid", Const, 0}, + {"SidTypeLabel", Const, 0}, + {"SidTypeUnknown", Const, 0}, + {"SidTypeUser", Const, 0}, + {"SidTypeWellKnownGroup", Const, 0}, + {"Signal", Type, 0}, + {"SizeofBpfHdr", Const, 0}, + {"SizeofBpfInsn", Const, 0}, + {"SizeofBpfProgram", Const, 0}, + {"SizeofBpfStat", Const, 0}, + {"SizeofBpfVersion", Const, 0}, + {"SizeofBpfZbuf", Const, 0}, + {"SizeofBpfZbufHeader", Const, 0}, + {"SizeofCmsghdr", Const, 0}, + {"SizeofICMPv6Filter", Const, 2}, + {"SizeofIPMreq", Const, 0}, + {"SizeofIPMreqn", Const, 0}, + {"SizeofIPv6MTUInfo", Const, 2}, + {"SizeofIPv6Mreq", Const, 0}, + {"SizeofIfAddrmsg", Const, 0}, + {"SizeofIfAnnounceMsghdr", Const, 1}, + {"SizeofIfData", Const, 0}, + {"SizeofIfInfomsg", Const, 0}, + {"SizeofIfMsghdr", Const, 0}, + {"SizeofIfaMsghdr", Const, 0}, + {"SizeofIfmaMsghdr", Const, 0}, + {"SizeofIfmaMsghdr2", Const, 0}, + {"SizeofInet4Pktinfo", Const, 0}, + {"SizeofInet6Pktinfo", Const, 0}, + {"SizeofInotifyEvent", Const, 0}, + {"SizeofLinger", Const, 0}, + {"SizeofMsghdr", Const, 0}, + {"SizeofNlAttr", Const, 0}, + {"SizeofNlMsgerr", Const, 0}, + {"SizeofNlMsghdr", Const, 0}, + {"SizeofRtAttr", Const, 0}, + {"SizeofRtGenmsg", Const, 0}, + {"SizeofRtMetrics", Const, 0}, + {"SizeofRtMsg", Const, 0}, + {"SizeofRtMsghdr", Const, 0}, + {"SizeofRtNexthop", Const, 0}, + {"SizeofSockFilter", Const, 0}, + {"SizeofSockFprog", Const, 0}, + {"SizeofSockaddrAny", Const, 0}, + {"SizeofSockaddrDatalink", Const, 0}, + {"SizeofSockaddrInet4", Const, 0}, + {"SizeofSockaddrInet6", Const, 0}, + {"SizeofSockaddrLinklayer", Const, 0}, + {"SizeofSockaddrNetlink", Const, 0}, + {"SizeofSockaddrUnix", Const, 0}, + {"SizeofTCPInfo", Const, 1}, + {"SizeofUcred", Const, 0}, + {"SlicePtrFromStrings", Func, 1}, + {"SockFilter", Type, 0}, + {"SockFilter.Code", Field, 0}, + {"SockFilter.Jf", Field, 0}, + {"SockFilter.Jt", Field, 0}, + {"SockFilter.K", Field, 0}, + {"SockFprog", Type, 0}, + {"SockFprog.Filter", Field, 0}, + {"SockFprog.Len", Field, 0}, + {"SockFprog.Pad_cgo_0", Field, 0}, + {"Sockaddr", Type, 0}, + {"SockaddrDatalink", Type, 0}, + {"SockaddrDatalink.Alen", Field, 0}, + {"SockaddrDatalink.Data", Field, 0}, + {"SockaddrDatalink.Family", Field, 0}, + {"SockaddrDatalink.Index", Field, 0}, + {"SockaddrDatalink.Len", Field, 0}, + {"SockaddrDatalink.Nlen", Field, 0}, + {"SockaddrDatalink.Slen", Field, 0}, + {"SockaddrDatalink.Type", Field, 0}, + {"SockaddrGen", Type, 0}, + {"SockaddrInet4", Type, 0}, + {"SockaddrInet4.Addr", Field, 0}, + {"SockaddrInet4.Port", Field, 0}, + {"SockaddrInet6", Type, 0}, + {"SockaddrInet6.Addr", Field, 0}, + {"SockaddrInet6.Port", Field, 0}, + {"SockaddrInet6.ZoneId", Field, 0}, + {"SockaddrLinklayer", Type, 0}, + {"SockaddrLinklayer.Addr", Field, 0}, + {"SockaddrLinklayer.Halen", Field, 0}, + {"SockaddrLinklayer.Hatype", Field, 0}, + {"SockaddrLinklayer.Ifindex", Field, 0}, + {"SockaddrLinklayer.Pkttype", Field, 0}, + {"SockaddrLinklayer.Protocol", Field, 0}, + {"SockaddrNetlink", Type, 0}, + {"SockaddrNetlink.Family", Field, 0}, + {"SockaddrNetlink.Groups", Field, 0}, + {"SockaddrNetlink.Pad", Field, 0}, + {"SockaddrNetlink.Pid", Field, 0}, + {"SockaddrUnix", Type, 0}, + {"SockaddrUnix.Name", Field, 0}, + {"Socket", Func, 0}, + {"SocketControlMessage", Type, 0}, + {"SocketControlMessage.Data", Field, 0}, + {"SocketControlMessage.Header", Field, 0}, + {"SocketDisableIPv6", Var, 0}, + {"Socketpair", Func, 0}, + {"Splice", Func, 0}, + {"StartProcess", Func, 0}, + {"StartupInfo", Type, 0}, + {"StartupInfo.Cb", Field, 0}, + {"StartupInfo.Desktop", Field, 0}, + {"StartupInfo.FillAttribute", Field, 0}, + {"StartupInfo.Flags", Field, 0}, + {"StartupInfo.ShowWindow", Field, 0}, + {"StartupInfo.StdErr", Field, 0}, + {"StartupInfo.StdInput", Field, 0}, + {"StartupInfo.StdOutput", Field, 0}, + {"StartupInfo.Title", Field, 0}, + {"StartupInfo.X", Field, 0}, + {"StartupInfo.XCountChars", Field, 0}, + {"StartupInfo.XSize", Field, 0}, + {"StartupInfo.Y", Field, 0}, + {"StartupInfo.YCountChars", Field, 0}, + {"StartupInfo.YSize", Field, 0}, + {"Stat", Func, 0}, + {"Stat_t", Type, 0}, + {"Stat_t.Atim", Field, 0}, + {"Stat_t.Atim_ext", Field, 12}, + {"Stat_t.Atimespec", Field, 0}, + {"Stat_t.Birthtimespec", Field, 0}, + {"Stat_t.Blksize", Field, 0}, + {"Stat_t.Blocks", Field, 0}, + {"Stat_t.Btim_ext", Field, 12}, + {"Stat_t.Ctim", Field, 0}, + {"Stat_t.Ctim_ext", Field, 12}, + {"Stat_t.Ctimespec", Field, 0}, + {"Stat_t.Dev", Field, 0}, + {"Stat_t.Flags", Field, 0}, + {"Stat_t.Gen", Field, 0}, + {"Stat_t.Gid", Field, 0}, + {"Stat_t.Ino", Field, 0}, + {"Stat_t.Lspare", Field, 0}, + {"Stat_t.Lspare0", Field, 2}, + {"Stat_t.Lspare1", Field, 2}, + {"Stat_t.Mode", Field, 0}, + {"Stat_t.Mtim", Field, 0}, + {"Stat_t.Mtim_ext", Field, 12}, + {"Stat_t.Mtimespec", Field, 0}, + {"Stat_t.Nlink", Field, 0}, + {"Stat_t.Pad_cgo_0", Field, 0}, + {"Stat_t.Pad_cgo_1", Field, 0}, + {"Stat_t.Pad_cgo_2", Field, 0}, + {"Stat_t.Padding0", Field, 12}, + {"Stat_t.Padding1", Field, 12}, + {"Stat_t.Qspare", Field, 0}, + {"Stat_t.Rdev", Field, 0}, + {"Stat_t.Size", Field, 0}, + {"Stat_t.Spare", Field, 2}, + {"Stat_t.Uid", Field, 0}, + {"Stat_t.X__pad0", Field, 0}, + {"Stat_t.X__pad1", Field, 0}, + {"Stat_t.X__pad2", Field, 0}, + {"Stat_t.X__st_birthtim", Field, 2}, + {"Stat_t.X__st_ino", Field, 0}, + {"Stat_t.X__unused", Field, 0}, + {"Statfs", Func, 0}, + {"Statfs_t", Type, 0}, + {"Statfs_t.Asyncreads", Field, 0}, + {"Statfs_t.Asyncwrites", Field, 0}, + {"Statfs_t.Bavail", Field, 0}, + {"Statfs_t.Bfree", Field, 0}, + {"Statfs_t.Blocks", Field, 0}, + {"Statfs_t.Bsize", Field, 0}, + {"Statfs_t.Charspare", Field, 0}, + {"Statfs_t.F_asyncreads", Field, 2}, + {"Statfs_t.F_asyncwrites", Field, 2}, + {"Statfs_t.F_bavail", Field, 2}, + {"Statfs_t.F_bfree", Field, 2}, + {"Statfs_t.F_blocks", Field, 2}, + {"Statfs_t.F_bsize", Field, 2}, + {"Statfs_t.F_ctime", Field, 2}, + {"Statfs_t.F_favail", Field, 2}, + {"Statfs_t.F_ffree", Field, 2}, + {"Statfs_t.F_files", Field, 2}, + {"Statfs_t.F_flags", Field, 2}, + {"Statfs_t.F_fsid", Field, 2}, + {"Statfs_t.F_fstypename", Field, 2}, + {"Statfs_t.F_iosize", Field, 2}, + {"Statfs_t.F_mntfromname", Field, 2}, + {"Statfs_t.F_mntfromspec", Field, 3}, + {"Statfs_t.F_mntonname", Field, 2}, + {"Statfs_t.F_namemax", Field, 2}, + {"Statfs_t.F_owner", Field, 2}, + {"Statfs_t.F_spare", Field, 2}, + {"Statfs_t.F_syncreads", Field, 2}, + {"Statfs_t.F_syncwrites", Field, 2}, + {"Statfs_t.Ffree", Field, 0}, + {"Statfs_t.Files", Field, 0}, + {"Statfs_t.Flags", Field, 0}, + {"Statfs_t.Frsize", Field, 0}, + {"Statfs_t.Fsid", Field, 0}, + {"Statfs_t.Fssubtype", Field, 0}, + {"Statfs_t.Fstypename", Field, 0}, + {"Statfs_t.Iosize", Field, 0}, + {"Statfs_t.Mntfromname", Field, 0}, + {"Statfs_t.Mntonname", Field, 0}, + {"Statfs_t.Mount_info", Field, 2}, + {"Statfs_t.Namelen", Field, 0}, + {"Statfs_t.Namemax", Field, 0}, + {"Statfs_t.Owner", Field, 0}, + {"Statfs_t.Pad_cgo_0", Field, 0}, + {"Statfs_t.Pad_cgo_1", Field, 2}, + {"Statfs_t.Reserved", Field, 0}, + {"Statfs_t.Spare", Field, 0}, + {"Statfs_t.Syncreads", Field, 0}, + {"Statfs_t.Syncwrites", Field, 0}, + {"Statfs_t.Type", Field, 0}, + {"Statfs_t.Version", Field, 0}, + {"Stderr", Var, 0}, + {"Stdin", Var, 0}, + {"Stdout", Var, 0}, + {"StringBytePtr", Func, 0}, + {"StringByteSlice", Func, 0}, + {"StringSlicePtr", Func, 0}, + {"StringToSid", Func, 0}, + {"StringToUTF16", Func, 0}, + {"StringToUTF16Ptr", Func, 0}, + {"Symlink", Func, 0}, + {"Sync", Func, 0}, + {"SyncFileRange", Func, 0}, + {"SysProcAttr", Type, 0}, + {"SysProcAttr.AdditionalInheritedHandles", Field, 17}, + {"SysProcAttr.AmbientCaps", Field, 9}, + {"SysProcAttr.CgroupFD", Field, 20}, + {"SysProcAttr.Chroot", Field, 0}, + {"SysProcAttr.Cloneflags", Field, 2}, + {"SysProcAttr.CmdLine", Field, 0}, + {"SysProcAttr.CreationFlags", Field, 1}, + {"SysProcAttr.Credential", Field, 0}, + {"SysProcAttr.Ctty", Field, 1}, + {"SysProcAttr.Foreground", Field, 5}, + {"SysProcAttr.GidMappings", Field, 4}, + {"SysProcAttr.GidMappingsEnableSetgroups", Field, 5}, + {"SysProcAttr.HideWindow", Field, 0}, + {"SysProcAttr.Jail", Field, 21}, + {"SysProcAttr.NoInheritHandles", Field, 16}, + {"SysProcAttr.Noctty", Field, 0}, + {"SysProcAttr.ParentProcess", Field, 17}, + {"SysProcAttr.Pdeathsig", Field, 0}, + {"SysProcAttr.Pgid", Field, 5}, + {"SysProcAttr.PidFD", Field, 22}, + {"SysProcAttr.ProcessAttributes", Field, 13}, + {"SysProcAttr.Ptrace", Field, 0}, + {"SysProcAttr.Setctty", Field, 0}, + {"SysProcAttr.Setpgid", Field, 0}, + {"SysProcAttr.Setsid", Field, 0}, + {"SysProcAttr.ThreadAttributes", Field, 13}, + {"SysProcAttr.Token", Field, 10}, + {"SysProcAttr.UidMappings", Field, 4}, + {"SysProcAttr.Unshareflags", Field, 7}, + {"SysProcAttr.UseCgroupFD", Field, 20}, + {"SysProcIDMap", Type, 4}, + {"SysProcIDMap.ContainerID", Field, 4}, + {"SysProcIDMap.HostID", Field, 4}, + {"SysProcIDMap.Size", Field, 4}, + {"Syscall", Func, 0}, + {"Syscall12", Func, 0}, + {"Syscall15", Func, 0}, + {"Syscall18", Func, 12}, + {"Syscall6", Func, 0}, + {"Syscall9", Func, 0}, + {"SyscallN", Func, 18}, + {"Sysctl", Func, 0}, + {"SysctlUint32", Func, 0}, + {"Sysctlnode", Type, 2}, + {"Sysctlnode.Flags", Field, 2}, + {"Sysctlnode.Name", Field, 2}, + {"Sysctlnode.Num", Field, 2}, + {"Sysctlnode.Un", Field, 2}, + {"Sysctlnode.Ver", Field, 2}, + {"Sysctlnode.X__rsvd", Field, 2}, + {"Sysctlnode.X_sysctl_desc", Field, 2}, + {"Sysctlnode.X_sysctl_func", Field, 2}, + {"Sysctlnode.X_sysctl_parent", Field, 2}, + {"Sysctlnode.X_sysctl_size", Field, 2}, + {"Sysinfo", Func, 0}, + {"Sysinfo_t", Type, 0}, + {"Sysinfo_t.Bufferram", Field, 0}, + {"Sysinfo_t.Freehigh", Field, 0}, + {"Sysinfo_t.Freeram", Field, 0}, + {"Sysinfo_t.Freeswap", Field, 0}, + {"Sysinfo_t.Loads", Field, 0}, + {"Sysinfo_t.Pad", Field, 0}, + {"Sysinfo_t.Pad_cgo_0", Field, 0}, + {"Sysinfo_t.Pad_cgo_1", Field, 0}, + {"Sysinfo_t.Procs", Field, 0}, + {"Sysinfo_t.Sharedram", Field, 0}, + {"Sysinfo_t.Totalhigh", Field, 0}, + {"Sysinfo_t.Totalram", Field, 0}, + {"Sysinfo_t.Totalswap", Field, 0}, + {"Sysinfo_t.Unit", Field, 0}, + {"Sysinfo_t.Uptime", Field, 0}, + {"Sysinfo_t.X_f", Field, 0}, + {"Systemtime", Type, 0}, + {"Systemtime.Day", Field, 0}, + {"Systemtime.DayOfWeek", Field, 0}, + {"Systemtime.Hour", Field, 0}, + {"Systemtime.Milliseconds", Field, 0}, + {"Systemtime.Minute", Field, 0}, + {"Systemtime.Month", Field, 0}, + {"Systemtime.Second", Field, 0}, + {"Systemtime.Year", Field, 0}, + {"TCGETS", Const, 0}, + {"TCIFLUSH", Const, 1}, + {"TCIOFLUSH", Const, 1}, + {"TCOFLUSH", Const, 1}, + {"TCPInfo", Type, 1}, + {"TCPInfo.Advmss", Field, 1}, + {"TCPInfo.Ato", Field, 1}, + {"TCPInfo.Backoff", Field, 1}, + {"TCPInfo.Ca_state", Field, 1}, + {"TCPInfo.Fackets", Field, 1}, + {"TCPInfo.Last_ack_recv", Field, 1}, + {"TCPInfo.Last_ack_sent", Field, 1}, + {"TCPInfo.Last_data_recv", Field, 1}, + {"TCPInfo.Last_data_sent", Field, 1}, + {"TCPInfo.Lost", Field, 1}, + {"TCPInfo.Options", Field, 1}, + {"TCPInfo.Pad_cgo_0", Field, 1}, + {"TCPInfo.Pmtu", Field, 1}, + {"TCPInfo.Probes", Field, 1}, + {"TCPInfo.Rcv_mss", Field, 1}, + {"TCPInfo.Rcv_rtt", Field, 1}, + {"TCPInfo.Rcv_space", Field, 1}, + {"TCPInfo.Rcv_ssthresh", Field, 1}, + {"TCPInfo.Reordering", Field, 1}, + {"TCPInfo.Retrans", Field, 1}, + {"TCPInfo.Retransmits", Field, 1}, + {"TCPInfo.Rto", Field, 1}, + {"TCPInfo.Rtt", Field, 1}, + {"TCPInfo.Rttvar", Field, 1}, + {"TCPInfo.Sacked", Field, 1}, + {"TCPInfo.Snd_cwnd", Field, 1}, + {"TCPInfo.Snd_mss", Field, 1}, + {"TCPInfo.Snd_ssthresh", Field, 1}, + {"TCPInfo.State", Field, 1}, + {"TCPInfo.Total_retrans", Field, 1}, + {"TCPInfo.Unacked", Field, 1}, + {"TCPKeepalive", Type, 3}, + {"TCPKeepalive.Interval", Field, 3}, + {"TCPKeepalive.OnOff", Field, 3}, + {"TCPKeepalive.Time", Field, 3}, + {"TCP_CA_NAME_MAX", Const, 0}, + {"TCP_CONGCTL", Const, 1}, + {"TCP_CONGESTION", Const, 0}, + {"TCP_CONNECTIONTIMEOUT", Const, 0}, + {"TCP_CORK", Const, 0}, + {"TCP_DEFER_ACCEPT", Const, 0}, + {"TCP_ENABLE_ECN", Const, 16}, + {"TCP_INFO", Const, 0}, + {"TCP_KEEPALIVE", Const, 0}, + {"TCP_KEEPCNT", Const, 0}, + {"TCP_KEEPIDLE", Const, 0}, + {"TCP_KEEPINIT", Const, 1}, + {"TCP_KEEPINTVL", Const, 0}, + {"TCP_LINGER2", Const, 0}, + {"TCP_MAXBURST", Const, 0}, + {"TCP_MAXHLEN", Const, 0}, + {"TCP_MAXOLEN", Const, 0}, + {"TCP_MAXSEG", Const, 0}, + {"TCP_MAXWIN", Const, 0}, + {"TCP_MAX_SACK", Const, 0}, + {"TCP_MAX_WINSHIFT", Const, 0}, + {"TCP_MD5SIG", Const, 0}, + {"TCP_MD5SIG_MAXKEYLEN", Const, 0}, + {"TCP_MINMSS", Const, 0}, + {"TCP_MINMSSOVERLOAD", Const, 0}, + {"TCP_MSS", Const, 0}, + {"TCP_NODELAY", Const, 0}, + {"TCP_NOOPT", Const, 0}, + {"TCP_NOPUSH", Const, 0}, + {"TCP_NOTSENT_LOWAT", Const, 16}, + {"TCP_NSTATES", Const, 1}, + {"TCP_QUICKACK", Const, 0}, + {"TCP_RXT_CONNDROPTIME", Const, 0}, + {"TCP_RXT_FINDROP", Const, 0}, + {"TCP_SACK_ENABLE", Const, 1}, + {"TCP_SENDMOREACKS", Const, 16}, + {"TCP_SYNCNT", Const, 0}, + {"TCP_VENDOR", Const, 3}, + {"TCP_WINDOW_CLAMP", Const, 0}, + {"TCSAFLUSH", Const, 1}, + {"TCSETS", Const, 0}, + {"TF_DISCONNECT", Const, 0}, + {"TF_REUSE_SOCKET", Const, 0}, + {"TF_USE_DEFAULT_WORKER", Const, 0}, + {"TF_USE_KERNEL_APC", Const, 0}, + {"TF_USE_SYSTEM_THREAD", Const, 0}, + {"TF_WRITE_BEHIND", Const, 0}, + {"TH32CS_INHERIT", Const, 4}, + {"TH32CS_SNAPALL", Const, 4}, + {"TH32CS_SNAPHEAPLIST", Const, 4}, + {"TH32CS_SNAPMODULE", Const, 4}, + {"TH32CS_SNAPMODULE32", Const, 4}, + {"TH32CS_SNAPPROCESS", Const, 4}, + {"TH32CS_SNAPTHREAD", Const, 4}, + {"TIME_ZONE_ID_DAYLIGHT", Const, 0}, + {"TIME_ZONE_ID_STANDARD", Const, 0}, + {"TIME_ZONE_ID_UNKNOWN", Const, 0}, + {"TIOCCBRK", Const, 0}, + {"TIOCCDTR", Const, 0}, + {"TIOCCONS", Const, 0}, + {"TIOCDCDTIMESTAMP", Const, 0}, + {"TIOCDRAIN", Const, 0}, + {"TIOCDSIMICROCODE", Const, 0}, + {"TIOCEXCL", Const, 0}, + {"TIOCEXT", Const, 0}, + {"TIOCFLAG_CDTRCTS", Const, 1}, + {"TIOCFLAG_CLOCAL", Const, 1}, + {"TIOCFLAG_CRTSCTS", Const, 1}, + {"TIOCFLAG_MDMBUF", Const, 1}, + {"TIOCFLAG_PPS", Const, 1}, + {"TIOCFLAG_SOFTCAR", Const, 1}, + {"TIOCFLUSH", Const, 0}, + {"TIOCGDEV", Const, 0}, + {"TIOCGDRAINWAIT", Const, 0}, + {"TIOCGETA", Const, 0}, + {"TIOCGETD", Const, 0}, + {"TIOCGFLAGS", Const, 1}, + {"TIOCGICOUNT", Const, 0}, + {"TIOCGLCKTRMIOS", Const, 0}, + {"TIOCGLINED", Const, 1}, + {"TIOCGPGRP", Const, 0}, + {"TIOCGPTN", Const, 0}, + {"TIOCGQSIZE", Const, 1}, + {"TIOCGRANTPT", Const, 1}, + {"TIOCGRS485", Const, 0}, + {"TIOCGSERIAL", Const, 0}, + {"TIOCGSID", Const, 0}, + {"TIOCGSIZE", Const, 1}, + {"TIOCGSOFTCAR", Const, 0}, + {"TIOCGTSTAMP", Const, 1}, + {"TIOCGWINSZ", Const, 0}, + {"TIOCINQ", Const, 0}, + {"TIOCIXOFF", Const, 0}, + {"TIOCIXON", Const, 0}, + {"TIOCLINUX", Const, 0}, + {"TIOCMBIC", Const, 0}, + {"TIOCMBIS", Const, 0}, + {"TIOCMGDTRWAIT", Const, 0}, + {"TIOCMGET", Const, 0}, + {"TIOCMIWAIT", Const, 0}, + {"TIOCMODG", Const, 0}, + {"TIOCMODS", Const, 0}, + {"TIOCMSDTRWAIT", Const, 0}, + {"TIOCMSET", Const, 0}, + {"TIOCM_CAR", Const, 0}, + {"TIOCM_CD", Const, 0}, + {"TIOCM_CTS", Const, 0}, + {"TIOCM_DCD", Const, 0}, + {"TIOCM_DSR", Const, 0}, + {"TIOCM_DTR", Const, 0}, + {"TIOCM_LE", Const, 0}, + {"TIOCM_RI", Const, 0}, + {"TIOCM_RNG", Const, 0}, + {"TIOCM_RTS", Const, 0}, + {"TIOCM_SR", Const, 0}, + {"TIOCM_ST", Const, 0}, + {"TIOCNOTTY", Const, 0}, + {"TIOCNXCL", Const, 0}, + {"TIOCOUTQ", Const, 0}, + {"TIOCPKT", Const, 0}, + {"TIOCPKT_DATA", Const, 0}, + {"TIOCPKT_DOSTOP", Const, 0}, + {"TIOCPKT_FLUSHREAD", Const, 0}, + {"TIOCPKT_FLUSHWRITE", Const, 0}, + {"TIOCPKT_IOCTL", Const, 0}, + {"TIOCPKT_NOSTOP", Const, 0}, + {"TIOCPKT_START", Const, 0}, + {"TIOCPKT_STOP", Const, 0}, + {"TIOCPTMASTER", Const, 0}, + {"TIOCPTMGET", Const, 1}, + {"TIOCPTSNAME", Const, 1}, + {"TIOCPTYGNAME", Const, 0}, + {"TIOCPTYGRANT", Const, 0}, + {"TIOCPTYUNLK", Const, 0}, + {"TIOCRCVFRAME", Const, 1}, + {"TIOCREMOTE", Const, 0}, + {"TIOCSBRK", Const, 0}, + {"TIOCSCONS", Const, 0}, + {"TIOCSCTTY", Const, 0}, + {"TIOCSDRAINWAIT", Const, 0}, + {"TIOCSDTR", Const, 0}, + {"TIOCSERCONFIG", Const, 0}, + {"TIOCSERGETLSR", Const, 0}, + {"TIOCSERGETMULTI", Const, 0}, + {"TIOCSERGSTRUCT", Const, 0}, + {"TIOCSERGWILD", Const, 0}, + {"TIOCSERSETMULTI", Const, 0}, + {"TIOCSERSWILD", Const, 0}, + {"TIOCSER_TEMT", Const, 0}, + {"TIOCSETA", Const, 0}, + {"TIOCSETAF", Const, 0}, + {"TIOCSETAW", Const, 0}, + {"TIOCSETD", Const, 0}, + {"TIOCSFLAGS", Const, 1}, + {"TIOCSIG", Const, 0}, + {"TIOCSLCKTRMIOS", Const, 0}, + {"TIOCSLINED", Const, 1}, + {"TIOCSPGRP", Const, 0}, + {"TIOCSPTLCK", Const, 0}, + {"TIOCSQSIZE", Const, 1}, + {"TIOCSRS485", Const, 0}, + {"TIOCSSERIAL", Const, 0}, + {"TIOCSSIZE", Const, 1}, + {"TIOCSSOFTCAR", Const, 0}, + {"TIOCSTART", Const, 0}, + {"TIOCSTAT", Const, 0}, + {"TIOCSTI", Const, 0}, + {"TIOCSTOP", Const, 0}, + {"TIOCSTSTAMP", Const, 1}, + {"TIOCSWINSZ", Const, 0}, + {"TIOCTIMESTAMP", Const, 0}, + {"TIOCUCNTL", Const, 0}, + {"TIOCVHANGUP", Const, 0}, + {"TIOCXMTFRAME", Const, 1}, + {"TOKEN_ADJUST_DEFAULT", Const, 0}, + {"TOKEN_ADJUST_GROUPS", Const, 0}, + {"TOKEN_ADJUST_PRIVILEGES", Const, 0}, + {"TOKEN_ADJUST_SESSIONID", Const, 11}, + {"TOKEN_ALL_ACCESS", Const, 0}, + {"TOKEN_ASSIGN_PRIMARY", Const, 0}, + {"TOKEN_DUPLICATE", Const, 0}, + {"TOKEN_EXECUTE", Const, 0}, + {"TOKEN_IMPERSONATE", Const, 0}, + {"TOKEN_QUERY", Const, 0}, + {"TOKEN_QUERY_SOURCE", Const, 0}, + {"TOKEN_READ", Const, 0}, + {"TOKEN_WRITE", Const, 0}, + {"TOSTOP", Const, 0}, + {"TRUNCATE_EXISTING", Const, 0}, + {"TUNATTACHFILTER", Const, 0}, + {"TUNDETACHFILTER", Const, 0}, + {"TUNGETFEATURES", Const, 0}, + {"TUNGETIFF", Const, 0}, + {"TUNGETSNDBUF", Const, 0}, + {"TUNGETVNETHDRSZ", Const, 0}, + {"TUNSETDEBUG", Const, 0}, + {"TUNSETGROUP", Const, 0}, + {"TUNSETIFF", Const, 0}, + {"TUNSETLINK", Const, 0}, + {"TUNSETNOCSUM", Const, 0}, + {"TUNSETOFFLOAD", Const, 0}, + {"TUNSETOWNER", Const, 0}, + {"TUNSETPERSIST", Const, 0}, + {"TUNSETSNDBUF", Const, 0}, + {"TUNSETTXFILTER", Const, 0}, + {"TUNSETVNETHDRSZ", Const, 0}, + {"Tee", Func, 0}, + {"TerminateProcess", Func, 0}, + {"Termios", Type, 0}, + {"Termios.Cc", Field, 0}, + {"Termios.Cflag", Field, 0}, + {"Termios.Iflag", Field, 0}, + {"Termios.Ispeed", Field, 0}, + {"Termios.Lflag", Field, 0}, + {"Termios.Line", Field, 0}, + {"Termios.Oflag", Field, 0}, + {"Termios.Ospeed", Field, 0}, + {"Termios.Pad_cgo_0", Field, 0}, + {"Tgkill", Func, 0}, + {"Time", Func, 0}, + {"Time_t", Type, 0}, + {"Times", Func, 0}, + {"Timespec", Type, 0}, + {"Timespec.Nsec", Field, 0}, + {"Timespec.Pad_cgo_0", Field, 2}, + {"Timespec.Sec", Field, 0}, + {"TimespecToNsec", Func, 0}, + {"Timeval", Type, 0}, + {"Timeval.Pad_cgo_0", Field, 0}, + {"Timeval.Sec", Field, 0}, + {"Timeval.Usec", Field, 0}, + {"Timeval32", Type, 0}, + {"Timeval32.Sec", Field, 0}, + {"Timeval32.Usec", Field, 0}, + {"TimevalToNsec", Func, 0}, + {"Timex", Type, 0}, + {"Timex.Calcnt", Field, 0}, + {"Timex.Constant", Field, 0}, + {"Timex.Errcnt", Field, 0}, + {"Timex.Esterror", Field, 0}, + {"Timex.Freq", Field, 0}, + {"Timex.Jitcnt", Field, 0}, + {"Timex.Jitter", Field, 0}, + {"Timex.Maxerror", Field, 0}, + {"Timex.Modes", Field, 0}, + {"Timex.Offset", Field, 0}, + {"Timex.Pad_cgo_0", Field, 0}, + {"Timex.Pad_cgo_1", Field, 0}, + {"Timex.Pad_cgo_2", Field, 0}, + {"Timex.Pad_cgo_3", Field, 0}, + {"Timex.Ppsfreq", Field, 0}, + {"Timex.Precision", Field, 0}, + {"Timex.Shift", Field, 0}, + {"Timex.Stabil", Field, 0}, + {"Timex.Status", Field, 0}, + {"Timex.Stbcnt", Field, 0}, + {"Timex.Tai", Field, 0}, + {"Timex.Tick", Field, 0}, + {"Timex.Time", Field, 0}, + {"Timex.Tolerance", Field, 0}, + {"Timezoneinformation", Type, 0}, + {"Timezoneinformation.Bias", Field, 0}, + {"Timezoneinformation.DaylightBias", Field, 0}, + {"Timezoneinformation.DaylightDate", Field, 0}, + {"Timezoneinformation.DaylightName", Field, 0}, + {"Timezoneinformation.StandardBias", Field, 0}, + {"Timezoneinformation.StandardDate", Field, 0}, + {"Timezoneinformation.StandardName", Field, 0}, + {"Tms", Type, 0}, + {"Tms.Cstime", Field, 0}, + {"Tms.Cutime", Field, 0}, + {"Tms.Stime", Field, 0}, + {"Tms.Utime", Field, 0}, + {"Token", Type, 0}, + {"TokenAccessInformation", Const, 0}, + {"TokenAuditPolicy", Const, 0}, + {"TokenDefaultDacl", Const, 0}, + {"TokenElevation", Const, 0}, + {"TokenElevationType", Const, 0}, + {"TokenGroups", Const, 0}, + {"TokenGroupsAndPrivileges", Const, 0}, + {"TokenHasRestrictions", Const, 0}, + {"TokenImpersonationLevel", Const, 0}, + {"TokenIntegrityLevel", Const, 0}, + {"TokenLinkedToken", Const, 0}, + {"TokenLogonSid", Const, 0}, + {"TokenMandatoryPolicy", Const, 0}, + {"TokenOrigin", Const, 0}, + {"TokenOwner", Const, 0}, + {"TokenPrimaryGroup", Const, 0}, + {"TokenPrivileges", Const, 0}, + {"TokenRestrictedSids", Const, 0}, + {"TokenSandBoxInert", Const, 0}, + {"TokenSessionId", Const, 0}, + {"TokenSessionReference", Const, 0}, + {"TokenSource", Const, 0}, + {"TokenStatistics", Const, 0}, + {"TokenType", Const, 0}, + {"TokenUIAccess", Const, 0}, + {"TokenUser", Const, 0}, + {"TokenVirtualizationAllowed", Const, 0}, + {"TokenVirtualizationEnabled", Const, 0}, + {"Tokenprimarygroup", Type, 0}, + {"Tokenprimarygroup.PrimaryGroup", Field, 0}, + {"Tokenuser", Type, 0}, + {"Tokenuser.User", Field, 0}, + {"TranslateAccountName", Func, 0}, + {"TranslateName", Func, 0}, + {"TransmitFile", Func, 0}, + {"TransmitFileBuffers", Type, 0}, + {"TransmitFileBuffers.Head", Field, 0}, + {"TransmitFileBuffers.HeadLength", Field, 0}, + {"TransmitFileBuffers.Tail", Field, 0}, + {"TransmitFileBuffers.TailLength", Field, 0}, + {"Truncate", Func, 0}, + {"UNIX_PATH_MAX", Const, 12}, + {"USAGE_MATCH_TYPE_AND", Const, 0}, + {"USAGE_MATCH_TYPE_OR", Const, 0}, + {"UTF16FromString", Func, 1}, + {"UTF16PtrFromString", Func, 1}, + {"UTF16ToString", Func, 0}, + {"Ucred", Type, 0}, + {"Ucred.Gid", Field, 0}, + {"Ucred.Pid", Field, 0}, + {"Ucred.Uid", Field, 0}, + {"Umask", Func, 0}, + {"Uname", Func, 0}, + {"Undelete", Func, 0}, + {"UnixCredentials", Func, 0}, + {"UnixRights", Func, 0}, + {"Unlink", Func, 0}, + {"Unlinkat", Func, 0}, + {"UnmapViewOfFile", Func, 0}, + {"Unmount", Func, 0}, + {"Unsetenv", Func, 4}, + {"Unshare", Func, 0}, + {"UserInfo10", Type, 0}, + {"UserInfo10.Comment", Field, 0}, + {"UserInfo10.FullName", Field, 0}, + {"UserInfo10.Name", Field, 0}, + {"UserInfo10.UsrComment", Field, 0}, + {"Ustat", Func, 0}, + {"Ustat_t", Type, 0}, + {"Ustat_t.Fname", Field, 0}, + {"Ustat_t.Fpack", Field, 0}, + {"Ustat_t.Pad_cgo_0", Field, 0}, + {"Ustat_t.Pad_cgo_1", Field, 0}, + {"Ustat_t.Tfree", Field, 0}, + {"Ustat_t.Tinode", Field, 0}, + {"Utimbuf", Type, 0}, + {"Utimbuf.Actime", Field, 0}, + {"Utimbuf.Modtime", Field, 0}, + {"Utime", Func, 0}, + {"Utimes", Func, 0}, + {"UtimesNano", Func, 1}, + {"Utsname", Type, 0}, + {"Utsname.Domainname", Field, 0}, + {"Utsname.Machine", Field, 0}, + {"Utsname.Nodename", Field, 0}, + {"Utsname.Release", Field, 0}, + {"Utsname.Sysname", Field, 0}, + {"Utsname.Version", Field, 0}, + {"VDISCARD", Const, 0}, + {"VDSUSP", Const, 1}, + {"VEOF", Const, 0}, + {"VEOL", Const, 0}, + {"VEOL2", Const, 0}, + {"VERASE", Const, 0}, + {"VERASE2", Const, 1}, + {"VINTR", Const, 0}, + {"VKILL", Const, 0}, + {"VLNEXT", Const, 0}, + {"VMIN", Const, 0}, + {"VQUIT", Const, 0}, + {"VREPRINT", Const, 0}, + {"VSTART", Const, 0}, + {"VSTATUS", Const, 1}, + {"VSTOP", Const, 0}, + {"VSUSP", Const, 0}, + {"VSWTC", Const, 0}, + {"VT0", Const, 1}, + {"VT1", Const, 1}, + {"VTDLY", Const, 1}, + {"VTIME", Const, 0}, + {"VWERASE", Const, 0}, + {"VirtualLock", Func, 0}, + {"VirtualUnlock", Func, 0}, + {"WAIT_ABANDONED", Const, 0}, + {"WAIT_FAILED", Const, 0}, + {"WAIT_OBJECT_0", Const, 0}, + {"WAIT_TIMEOUT", Const, 0}, + {"WALL", Const, 0}, + {"WALLSIG", Const, 1}, + {"WALTSIG", Const, 1}, + {"WCLONE", Const, 0}, + {"WCONTINUED", Const, 0}, + {"WCOREFLAG", Const, 0}, + {"WEXITED", Const, 0}, + {"WLINUXCLONE", Const, 0}, + {"WNOHANG", Const, 0}, + {"WNOTHREAD", Const, 0}, + {"WNOWAIT", Const, 0}, + {"WNOZOMBIE", Const, 1}, + {"WOPTSCHECKED", Const, 1}, + {"WORDSIZE", Const, 0}, + {"WSABuf", Type, 0}, + {"WSABuf.Buf", Field, 0}, + {"WSABuf.Len", Field, 0}, + {"WSACleanup", Func, 0}, + {"WSADESCRIPTION_LEN", Const, 0}, + {"WSAData", Type, 0}, + {"WSAData.Description", Field, 0}, + {"WSAData.HighVersion", Field, 0}, + {"WSAData.MaxSockets", Field, 0}, + {"WSAData.MaxUdpDg", Field, 0}, + {"WSAData.SystemStatus", Field, 0}, + {"WSAData.VendorInfo", Field, 0}, + {"WSAData.Version", Field, 0}, + {"WSAEACCES", Const, 2}, + {"WSAECONNABORTED", Const, 9}, + {"WSAECONNRESET", Const, 3}, + {"WSAEnumProtocols", Func, 2}, + {"WSAID_CONNECTEX", Var, 1}, + {"WSAIoctl", Func, 0}, + {"WSAPROTOCOL_LEN", Const, 2}, + {"WSAProtocolChain", Type, 2}, + {"WSAProtocolChain.ChainEntries", Field, 2}, + {"WSAProtocolChain.ChainLen", Field, 2}, + {"WSAProtocolInfo", Type, 2}, + {"WSAProtocolInfo.AddressFamily", Field, 2}, + {"WSAProtocolInfo.CatalogEntryId", Field, 2}, + {"WSAProtocolInfo.MaxSockAddr", Field, 2}, + {"WSAProtocolInfo.MessageSize", Field, 2}, + {"WSAProtocolInfo.MinSockAddr", Field, 2}, + {"WSAProtocolInfo.NetworkByteOrder", Field, 2}, + {"WSAProtocolInfo.Protocol", Field, 2}, + {"WSAProtocolInfo.ProtocolChain", Field, 2}, + {"WSAProtocolInfo.ProtocolMaxOffset", Field, 2}, + {"WSAProtocolInfo.ProtocolName", Field, 2}, + {"WSAProtocolInfo.ProviderFlags", Field, 2}, + {"WSAProtocolInfo.ProviderId", Field, 2}, + {"WSAProtocolInfo.ProviderReserved", Field, 2}, + {"WSAProtocolInfo.SecurityScheme", Field, 2}, + {"WSAProtocolInfo.ServiceFlags1", Field, 2}, + {"WSAProtocolInfo.ServiceFlags2", Field, 2}, + {"WSAProtocolInfo.ServiceFlags3", Field, 2}, + {"WSAProtocolInfo.ServiceFlags4", Field, 2}, + {"WSAProtocolInfo.SocketType", Field, 2}, + {"WSAProtocolInfo.Version", Field, 2}, + {"WSARecv", Func, 0}, + {"WSARecvFrom", Func, 0}, + {"WSASYS_STATUS_LEN", Const, 0}, + {"WSASend", Func, 0}, + {"WSASendTo", Func, 0}, + {"WSASendto", Func, 0}, + {"WSAStartup", Func, 0}, + {"WSTOPPED", Const, 0}, + {"WTRAPPED", Const, 1}, + {"WUNTRACED", Const, 0}, + {"Wait4", Func, 0}, + {"WaitForSingleObject", Func, 0}, + {"WaitStatus", Type, 0}, + {"WaitStatus.ExitCode", Field, 0}, + {"Win32FileAttributeData", Type, 0}, + {"Win32FileAttributeData.CreationTime", Field, 0}, + {"Win32FileAttributeData.FileAttributes", Field, 0}, + {"Win32FileAttributeData.FileSizeHigh", Field, 0}, + {"Win32FileAttributeData.FileSizeLow", Field, 0}, + {"Win32FileAttributeData.LastAccessTime", Field, 0}, + {"Win32FileAttributeData.LastWriteTime", Field, 0}, + {"Win32finddata", Type, 0}, + {"Win32finddata.AlternateFileName", Field, 0}, + {"Win32finddata.CreationTime", Field, 0}, + {"Win32finddata.FileAttributes", Field, 0}, + {"Win32finddata.FileName", Field, 0}, + {"Win32finddata.FileSizeHigh", Field, 0}, + {"Win32finddata.FileSizeLow", Field, 0}, + {"Win32finddata.LastAccessTime", Field, 0}, + {"Win32finddata.LastWriteTime", Field, 0}, + {"Win32finddata.Reserved0", Field, 0}, + {"Win32finddata.Reserved1", Field, 0}, + {"Write", Func, 0}, + {"WriteConsole", Func, 1}, + {"WriteFile", Func, 0}, + {"X509_ASN_ENCODING", Const, 0}, + {"XCASE", Const, 0}, + {"XP1_CONNECTIONLESS", Const, 2}, + {"XP1_CONNECT_DATA", Const, 2}, + {"XP1_DISCONNECT_DATA", Const, 2}, + {"XP1_EXPEDITED_DATA", Const, 2}, + {"XP1_GRACEFUL_CLOSE", Const, 2}, + {"XP1_GUARANTEED_DELIVERY", Const, 2}, + {"XP1_GUARANTEED_ORDER", Const, 2}, + {"XP1_IFS_HANDLES", Const, 2}, + {"XP1_MESSAGE_ORIENTED", Const, 2}, + {"XP1_MULTIPOINT_CONTROL_PLANE", Const, 2}, + {"XP1_MULTIPOINT_DATA_PLANE", Const, 2}, + {"XP1_PARTIAL_MESSAGE", Const, 2}, + {"XP1_PSEUDO_STREAM", Const, 2}, + {"XP1_QOS_SUPPORTED", Const, 2}, + {"XP1_SAN_SUPPORT_SDP", Const, 2}, + {"XP1_SUPPORT_BROADCAST", Const, 2}, + {"XP1_SUPPORT_MULTIPOINT", Const, 2}, + {"XP1_UNI_RECV", Const, 2}, + {"XP1_UNI_SEND", Const, 2}, + }, + "syscall/js": { + {"CopyBytesToGo", Func, 0}, + {"CopyBytesToJS", Func, 0}, + {"Error", Type, 0}, + {"Func", Type, 0}, + {"FuncOf", Func, 0}, + {"Global", Func, 0}, + {"Null", Func, 0}, + {"Type", Type, 0}, + {"TypeBoolean", Const, 0}, + {"TypeFunction", Const, 0}, + {"TypeNull", Const, 0}, + {"TypeNumber", Const, 0}, + {"TypeObject", Const, 0}, + {"TypeString", Const, 0}, + {"TypeSymbol", Const, 0}, + {"TypeUndefined", Const, 0}, + {"Undefined", Func, 0}, + {"Value", Type, 0}, + {"ValueError", Type, 0}, + {"ValueOf", Func, 0}, + }, + "testing": { + {"(*B).Cleanup", Method, 14}, + {"(*B).Elapsed", Method, 20}, + {"(*B).Error", Method, 0}, + {"(*B).Errorf", Method, 0}, + {"(*B).Fail", Method, 0}, + {"(*B).FailNow", Method, 0}, + {"(*B).Failed", Method, 0}, + {"(*B).Fatal", Method, 0}, + {"(*B).Fatalf", Method, 0}, + {"(*B).Helper", Method, 9}, + {"(*B).Log", Method, 0}, + {"(*B).Logf", Method, 0}, + {"(*B).Name", Method, 8}, + {"(*B).ReportAllocs", Method, 1}, + {"(*B).ReportMetric", Method, 13}, + {"(*B).ResetTimer", Method, 0}, + {"(*B).Run", Method, 7}, + {"(*B).RunParallel", Method, 3}, + {"(*B).SetBytes", Method, 0}, + {"(*B).SetParallelism", Method, 3}, + {"(*B).Setenv", Method, 17}, + {"(*B).Skip", Method, 1}, + {"(*B).SkipNow", Method, 1}, + {"(*B).Skipf", Method, 1}, + {"(*B).Skipped", Method, 1}, + {"(*B).StartTimer", Method, 0}, + {"(*B).StopTimer", Method, 0}, + {"(*B).TempDir", Method, 15}, + {"(*F).Add", Method, 18}, + {"(*F).Cleanup", Method, 18}, + {"(*F).Error", Method, 18}, + {"(*F).Errorf", Method, 18}, + {"(*F).Fail", Method, 18}, + {"(*F).FailNow", Method, 18}, + {"(*F).Failed", Method, 18}, + {"(*F).Fatal", Method, 18}, + {"(*F).Fatalf", Method, 18}, + {"(*F).Fuzz", Method, 18}, + {"(*F).Helper", Method, 18}, + {"(*F).Log", Method, 18}, + {"(*F).Logf", Method, 18}, + {"(*F).Name", Method, 18}, + {"(*F).Setenv", Method, 18}, + {"(*F).Skip", Method, 18}, + {"(*F).SkipNow", Method, 18}, + {"(*F).Skipf", Method, 18}, + {"(*F).Skipped", Method, 18}, + {"(*F).TempDir", Method, 18}, + {"(*M).Run", Method, 4}, + {"(*PB).Next", Method, 3}, + {"(*T).Cleanup", Method, 14}, + {"(*T).Deadline", Method, 15}, + {"(*T).Error", Method, 0}, + {"(*T).Errorf", Method, 0}, + {"(*T).Fail", Method, 0}, + {"(*T).FailNow", Method, 0}, + {"(*T).Failed", Method, 0}, + {"(*T).Fatal", Method, 0}, + {"(*T).Fatalf", Method, 0}, + {"(*T).Helper", Method, 9}, + {"(*T).Log", Method, 0}, + {"(*T).Logf", Method, 0}, + {"(*T).Name", Method, 8}, + {"(*T).Parallel", Method, 0}, + {"(*T).Run", Method, 7}, + {"(*T).Setenv", Method, 17}, + {"(*T).Skip", Method, 1}, + {"(*T).SkipNow", Method, 1}, + {"(*T).Skipf", Method, 1}, + {"(*T).Skipped", Method, 1}, + {"(*T).TempDir", Method, 15}, + {"(BenchmarkResult).AllocedBytesPerOp", Method, 1}, + {"(BenchmarkResult).AllocsPerOp", Method, 1}, + {"(BenchmarkResult).MemString", Method, 1}, + {"(BenchmarkResult).NsPerOp", Method, 0}, + {"(BenchmarkResult).String", Method, 0}, + {"AllocsPerRun", Func, 1}, + {"B", Type, 0}, + {"B.N", Field, 0}, + {"Benchmark", Func, 0}, + {"BenchmarkResult", Type, 0}, + {"BenchmarkResult.Bytes", Field, 0}, + {"BenchmarkResult.Extra", Field, 13}, + {"BenchmarkResult.MemAllocs", Field, 1}, + {"BenchmarkResult.MemBytes", Field, 1}, + {"BenchmarkResult.N", Field, 0}, + {"BenchmarkResult.T", Field, 0}, + {"Cover", Type, 2}, + {"Cover.Blocks", Field, 2}, + {"Cover.Counters", Field, 2}, + {"Cover.CoveredPackages", Field, 2}, + {"Cover.Mode", Field, 2}, + {"CoverBlock", Type, 2}, + {"CoverBlock.Col0", Field, 2}, + {"CoverBlock.Col1", Field, 2}, + {"CoverBlock.Line0", Field, 2}, + {"CoverBlock.Line1", Field, 2}, + {"CoverBlock.Stmts", Field, 2}, + {"CoverMode", Func, 8}, + {"Coverage", Func, 4}, + {"F", Type, 18}, + {"Init", Func, 13}, + {"InternalBenchmark", Type, 0}, + {"InternalBenchmark.F", Field, 0}, + {"InternalBenchmark.Name", Field, 0}, + {"InternalExample", Type, 0}, + {"InternalExample.F", Field, 0}, + {"InternalExample.Name", Field, 0}, + {"InternalExample.Output", Field, 0}, + {"InternalExample.Unordered", Field, 7}, + {"InternalFuzzTarget", Type, 18}, + {"InternalFuzzTarget.Fn", Field, 18}, + {"InternalFuzzTarget.Name", Field, 18}, + {"InternalTest", Type, 0}, + {"InternalTest.F", Field, 0}, + {"InternalTest.Name", Field, 0}, + {"M", Type, 4}, + {"Main", Func, 0}, + {"MainStart", Func, 4}, + {"PB", Type, 3}, + {"RegisterCover", Func, 2}, + {"RunBenchmarks", Func, 0}, + {"RunExamples", Func, 0}, + {"RunTests", Func, 0}, + {"Short", Func, 0}, + {"T", Type, 0}, + {"TB", Type, 2}, + {"Testing", Func, 21}, + {"Verbose", Func, 1}, + }, + "testing/fstest": { + {"(MapFS).Glob", Method, 16}, + {"(MapFS).Open", Method, 16}, + {"(MapFS).ReadDir", Method, 16}, + {"(MapFS).ReadFile", Method, 16}, + {"(MapFS).Stat", Method, 16}, + {"(MapFS).Sub", Method, 16}, + {"MapFS", Type, 16}, + {"MapFile", Type, 16}, + {"MapFile.Data", Field, 16}, + {"MapFile.ModTime", Field, 16}, + {"MapFile.Mode", Field, 16}, + {"MapFile.Sys", Field, 16}, + {"TestFS", Func, 16}, + }, + "testing/iotest": { + {"DataErrReader", Func, 0}, + {"ErrReader", Func, 16}, + {"ErrTimeout", Var, 0}, + {"HalfReader", Func, 0}, + {"NewReadLogger", Func, 0}, + {"NewWriteLogger", Func, 0}, + {"OneByteReader", Func, 0}, + {"TestReader", Func, 16}, + {"TimeoutReader", Func, 0}, + {"TruncateWriter", Func, 0}, + }, + "testing/quick": { + {"(*CheckEqualError).Error", Method, 0}, + {"(*CheckError).Error", Method, 0}, + {"(SetupError).Error", Method, 0}, + {"Check", Func, 0}, + {"CheckEqual", Func, 0}, + {"CheckEqualError", Type, 0}, + {"CheckEqualError.CheckError", Field, 0}, + {"CheckEqualError.Out1", Field, 0}, + {"CheckEqualError.Out2", Field, 0}, + {"CheckError", Type, 0}, + {"CheckError.Count", Field, 0}, + {"CheckError.In", Field, 0}, + {"Config", Type, 0}, + {"Config.MaxCount", Field, 0}, + {"Config.MaxCountScale", Field, 0}, + {"Config.Rand", Field, 0}, + {"Config.Values", Field, 0}, + {"Generator", Type, 0}, + {"SetupError", Type, 0}, + {"Value", Func, 0}, + }, + "testing/slogtest": { + {"Run", Func, 22}, + {"TestHandler", Func, 21}, + }, + "text/scanner": { + {"(*Position).IsValid", Method, 0}, + {"(*Scanner).Init", Method, 0}, + {"(*Scanner).IsValid", Method, 0}, + {"(*Scanner).Next", Method, 0}, + {"(*Scanner).Peek", Method, 0}, + {"(*Scanner).Pos", Method, 0}, + {"(*Scanner).Scan", Method, 0}, + {"(*Scanner).TokenText", Method, 0}, + {"(Position).String", Method, 0}, + {"(Scanner).String", Method, 0}, + {"Char", Const, 0}, + {"Comment", Const, 0}, + {"EOF", Const, 0}, + {"Float", Const, 0}, + {"GoTokens", Const, 0}, + {"GoWhitespace", Const, 0}, + {"Ident", Const, 0}, + {"Int", Const, 0}, + {"Position", Type, 0}, + {"Position.Column", Field, 0}, + {"Position.Filename", Field, 0}, + {"Position.Line", Field, 0}, + {"Position.Offset", Field, 0}, + {"RawString", Const, 0}, + {"ScanChars", Const, 0}, + {"ScanComments", Const, 0}, + {"ScanFloats", Const, 0}, + {"ScanIdents", Const, 0}, + {"ScanInts", Const, 0}, + {"ScanRawStrings", Const, 0}, + {"ScanStrings", Const, 0}, + {"Scanner", Type, 0}, + {"Scanner.Error", Field, 0}, + {"Scanner.ErrorCount", Field, 0}, + {"Scanner.IsIdentRune", Field, 4}, + {"Scanner.Mode", Field, 0}, + {"Scanner.Position", Field, 0}, + {"Scanner.Whitespace", Field, 0}, + {"SkipComments", Const, 0}, + {"String", Const, 0}, + {"TokenString", Func, 0}, + }, + "text/tabwriter": { + {"(*Writer).Flush", Method, 0}, + {"(*Writer).Init", Method, 0}, + {"(*Writer).Write", Method, 0}, + {"AlignRight", Const, 0}, + {"Debug", Const, 0}, + {"DiscardEmptyColumns", Const, 0}, + {"Escape", Const, 0}, + {"FilterHTML", Const, 0}, + {"NewWriter", Func, 0}, + {"StripEscape", Const, 0}, + {"TabIndent", Const, 0}, + {"Writer", Type, 0}, + }, + "text/template": { + {"(*Template).AddParseTree", Method, 0}, + {"(*Template).Clone", Method, 0}, + {"(*Template).DefinedTemplates", Method, 5}, + {"(*Template).Delims", Method, 0}, + {"(*Template).Execute", Method, 0}, + {"(*Template).ExecuteTemplate", Method, 0}, + {"(*Template).Funcs", Method, 0}, + {"(*Template).Lookup", Method, 0}, + {"(*Template).Name", Method, 0}, + {"(*Template).New", Method, 0}, + {"(*Template).Option", Method, 5}, + {"(*Template).Parse", Method, 0}, + {"(*Template).ParseFS", Method, 16}, + {"(*Template).ParseFiles", Method, 0}, + {"(*Template).ParseGlob", Method, 0}, + {"(*Template).Templates", Method, 0}, + {"(ExecError).Error", Method, 6}, + {"(ExecError).Unwrap", Method, 13}, + {"(Template).Copy", Method, 2}, + {"(Template).ErrorContext", Method, 1}, + {"ExecError", Type, 6}, + {"ExecError.Err", Field, 6}, + {"ExecError.Name", Field, 6}, + {"FuncMap", Type, 0}, + {"HTMLEscape", Func, 0}, + {"HTMLEscapeString", Func, 0}, + {"HTMLEscaper", Func, 0}, + {"IsTrue", Func, 6}, + {"JSEscape", Func, 0}, + {"JSEscapeString", Func, 0}, + {"JSEscaper", Func, 0}, + {"Must", Func, 0}, + {"New", Func, 0}, + {"ParseFS", Func, 16}, + {"ParseFiles", Func, 0}, + {"ParseGlob", Func, 0}, + {"Template", Type, 0}, + {"Template.Tree", Field, 0}, + {"URLQueryEscaper", Func, 0}, + }, + "text/template/parse": { + {"(*ActionNode).Copy", Method, 0}, + {"(*ActionNode).String", Method, 0}, + {"(*BoolNode).Copy", Method, 0}, + {"(*BoolNode).String", Method, 0}, + {"(*BranchNode).Copy", Method, 4}, + {"(*BranchNode).String", Method, 0}, + {"(*BreakNode).Copy", Method, 18}, + {"(*BreakNode).String", Method, 18}, + {"(*ChainNode).Add", Method, 1}, + {"(*ChainNode).Copy", Method, 1}, + {"(*ChainNode).String", Method, 1}, + {"(*CommandNode).Copy", Method, 0}, + {"(*CommandNode).String", Method, 0}, + {"(*CommentNode).Copy", Method, 16}, + {"(*CommentNode).String", Method, 16}, + {"(*ContinueNode).Copy", Method, 18}, + {"(*ContinueNode).String", Method, 18}, + {"(*DotNode).Copy", Method, 0}, + {"(*DotNode).String", Method, 0}, + {"(*DotNode).Type", Method, 0}, + {"(*FieldNode).Copy", Method, 0}, + {"(*FieldNode).String", Method, 0}, + {"(*IdentifierNode).Copy", Method, 0}, + {"(*IdentifierNode).SetPos", Method, 1}, + {"(*IdentifierNode).SetTree", Method, 4}, + {"(*IdentifierNode).String", Method, 0}, + {"(*IfNode).Copy", Method, 0}, + {"(*IfNode).String", Method, 0}, + {"(*ListNode).Copy", Method, 0}, + {"(*ListNode).CopyList", Method, 0}, + {"(*ListNode).String", Method, 0}, + {"(*NilNode).Copy", Method, 1}, + {"(*NilNode).String", Method, 1}, + {"(*NilNode).Type", Method, 1}, + {"(*NumberNode).Copy", Method, 0}, + {"(*NumberNode).String", Method, 0}, + {"(*PipeNode).Copy", Method, 0}, + {"(*PipeNode).CopyPipe", Method, 0}, + {"(*PipeNode).String", Method, 0}, + {"(*RangeNode).Copy", Method, 0}, + {"(*RangeNode).String", Method, 0}, + {"(*StringNode).Copy", Method, 0}, + {"(*StringNode).String", Method, 0}, + {"(*TemplateNode).Copy", Method, 0}, + {"(*TemplateNode).String", Method, 0}, + {"(*TextNode).Copy", Method, 0}, + {"(*TextNode).String", Method, 0}, + {"(*Tree).Copy", Method, 2}, + {"(*Tree).ErrorContext", Method, 1}, + {"(*Tree).Parse", Method, 0}, + {"(*VariableNode).Copy", Method, 0}, + {"(*VariableNode).String", Method, 0}, + {"(*WithNode).Copy", Method, 0}, + {"(*WithNode).String", Method, 0}, + {"(ActionNode).Position", Method, 1}, + {"(ActionNode).Type", Method, 0}, + {"(BoolNode).Position", Method, 1}, + {"(BoolNode).Type", Method, 0}, + {"(BranchNode).Position", Method, 1}, + {"(BranchNode).Type", Method, 0}, + {"(BreakNode).Position", Method, 18}, + {"(BreakNode).Type", Method, 18}, + {"(ChainNode).Position", Method, 1}, + {"(ChainNode).Type", Method, 1}, + {"(CommandNode).Position", Method, 1}, + {"(CommandNode).Type", Method, 0}, + {"(CommentNode).Position", Method, 16}, + {"(CommentNode).Type", Method, 16}, + {"(ContinueNode).Position", Method, 18}, + {"(ContinueNode).Type", Method, 18}, + {"(DotNode).Position", Method, 1}, + {"(FieldNode).Position", Method, 1}, + {"(FieldNode).Type", Method, 0}, + {"(IdentifierNode).Position", Method, 1}, + {"(IdentifierNode).Type", Method, 0}, + {"(IfNode).Position", Method, 1}, + {"(IfNode).Type", Method, 0}, + {"(ListNode).Position", Method, 1}, + {"(ListNode).Type", Method, 0}, + {"(NilNode).Position", Method, 1}, + {"(NodeType).Type", Method, 0}, + {"(NumberNode).Position", Method, 1}, + {"(NumberNode).Type", Method, 0}, + {"(PipeNode).Position", Method, 1}, + {"(PipeNode).Type", Method, 0}, + {"(Pos).Position", Method, 1}, + {"(RangeNode).Position", Method, 1}, + {"(RangeNode).Type", Method, 0}, + {"(StringNode).Position", Method, 1}, + {"(StringNode).Type", Method, 0}, + {"(TemplateNode).Position", Method, 1}, + {"(TemplateNode).Type", Method, 0}, + {"(TextNode).Position", Method, 1}, + {"(TextNode).Type", Method, 0}, + {"(VariableNode).Position", Method, 1}, + {"(VariableNode).Type", Method, 0}, + {"(WithNode).Position", Method, 1}, + {"(WithNode).Type", Method, 0}, + {"ActionNode", Type, 0}, + {"ActionNode.Line", Field, 0}, + {"ActionNode.NodeType", Field, 0}, + {"ActionNode.Pipe", Field, 0}, + {"ActionNode.Pos", Field, 1}, + {"BoolNode", Type, 0}, + {"BoolNode.NodeType", Field, 0}, + {"BoolNode.Pos", Field, 1}, + {"BoolNode.True", Field, 0}, + {"BranchNode", Type, 0}, + {"BranchNode.ElseList", Field, 0}, + {"BranchNode.Line", Field, 0}, + {"BranchNode.List", Field, 0}, + {"BranchNode.NodeType", Field, 0}, + {"BranchNode.Pipe", Field, 0}, + {"BranchNode.Pos", Field, 1}, + {"BreakNode", Type, 18}, + {"BreakNode.Line", Field, 18}, + {"BreakNode.NodeType", Field, 18}, + {"BreakNode.Pos", Field, 18}, + {"ChainNode", Type, 1}, + {"ChainNode.Field", Field, 1}, + {"ChainNode.Node", Field, 1}, + {"ChainNode.NodeType", Field, 1}, + {"ChainNode.Pos", Field, 1}, + {"CommandNode", Type, 0}, + {"CommandNode.Args", Field, 0}, + {"CommandNode.NodeType", Field, 0}, + {"CommandNode.Pos", Field, 1}, + {"CommentNode", Type, 16}, + {"CommentNode.NodeType", Field, 16}, + {"CommentNode.Pos", Field, 16}, + {"CommentNode.Text", Field, 16}, + {"ContinueNode", Type, 18}, + {"ContinueNode.Line", Field, 18}, + {"ContinueNode.NodeType", Field, 18}, + {"ContinueNode.Pos", Field, 18}, + {"DotNode", Type, 0}, + {"DotNode.NodeType", Field, 4}, + {"DotNode.Pos", Field, 1}, + {"FieldNode", Type, 0}, + {"FieldNode.Ident", Field, 0}, + {"FieldNode.NodeType", Field, 0}, + {"FieldNode.Pos", Field, 1}, + {"IdentifierNode", Type, 0}, + {"IdentifierNode.Ident", Field, 0}, + {"IdentifierNode.NodeType", Field, 0}, + {"IdentifierNode.Pos", Field, 1}, + {"IfNode", Type, 0}, + {"IfNode.BranchNode", Field, 0}, + {"IsEmptyTree", Func, 0}, + {"ListNode", Type, 0}, + {"ListNode.NodeType", Field, 0}, + {"ListNode.Nodes", Field, 0}, + {"ListNode.Pos", Field, 1}, + {"Mode", Type, 16}, + {"New", Func, 0}, + {"NewIdentifier", Func, 0}, + {"NilNode", Type, 1}, + {"NilNode.NodeType", Field, 4}, + {"NilNode.Pos", Field, 1}, + {"Node", Type, 0}, + {"NodeAction", Const, 0}, + {"NodeBool", Const, 0}, + {"NodeBreak", Const, 18}, + {"NodeChain", Const, 1}, + {"NodeCommand", Const, 0}, + {"NodeComment", Const, 16}, + {"NodeContinue", Const, 18}, + {"NodeDot", Const, 0}, + {"NodeField", Const, 0}, + {"NodeIdentifier", Const, 0}, + {"NodeIf", Const, 0}, + {"NodeList", Const, 0}, + {"NodeNil", Const, 1}, + {"NodeNumber", Const, 0}, + {"NodePipe", Const, 0}, + {"NodeRange", Const, 0}, + {"NodeString", Const, 0}, + {"NodeTemplate", Const, 0}, + {"NodeText", Const, 0}, + {"NodeType", Type, 0}, + {"NodeVariable", Const, 0}, + {"NodeWith", Const, 0}, + {"NumberNode", Type, 0}, + {"NumberNode.Complex128", Field, 0}, + {"NumberNode.Float64", Field, 0}, + {"NumberNode.Int64", Field, 0}, + {"NumberNode.IsComplex", Field, 0}, + {"NumberNode.IsFloat", Field, 0}, + {"NumberNode.IsInt", Field, 0}, + {"NumberNode.IsUint", Field, 0}, + {"NumberNode.NodeType", Field, 0}, + {"NumberNode.Pos", Field, 1}, + {"NumberNode.Text", Field, 0}, + {"NumberNode.Uint64", Field, 0}, + {"Parse", Func, 0}, + {"ParseComments", Const, 16}, + {"PipeNode", Type, 0}, + {"PipeNode.Cmds", Field, 0}, + {"PipeNode.Decl", Field, 0}, + {"PipeNode.IsAssign", Field, 11}, + {"PipeNode.Line", Field, 0}, + {"PipeNode.NodeType", Field, 0}, + {"PipeNode.Pos", Field, 1}, + {"Pos", Type, 1}, + {"RangeNode", Type, 0}, + {"RangeNode.BranchNode", Field, 0}, + {"SkipFuncCheck", Const, 17}, + {"StringNode", Type, 0}, + {"StringNode.NodeType", Field, 0}, + {"StringNode.Pos", Field, 1}, + {"StringNode.Quoted", Field, 0}, + {"StringNode.Text", Field, 0}, + {"TemplateNode", Type, 0}, + {"TemplateNode.Line", Field, 0}, + {"TemplateNode.Name", Field, 0}, + {"TemplateNode.NodeType", Field, 0}, + {"TemplateNode.Pipe", Field, 0}, + {"TemplateNode.Pos", Field, 1}, + {"TextNode", Type, 0}, + {"TextNode.NodeType", Field, 0}, + {"TextNode.Pos", Field, 1}, + {"TextNode.Text", Field, 0}, + {"Tree", Type, 0}, + {"Tree.Mode", Field, 16}, + {"Tree.Name", Field, 0}, + {"Tree.ParseName", Field, 1}, + {"Tree.Root", Field, 0}, + {"VariableNode", Type, 0}, + {"VariableNode.Ident", Field, 0}, + {"VariableNode.NodeType", Field, 0}, + {"VariableNode.Pos", Field, 1}, + {"WithNode", Type, 0}, + {"WithNode.BranchNode", Field, 0}, + }, + "time": { + {"(*Location).String", Method, 0}, + {"(*ParseError).Error", Method, 0}, + {"(*Ticker).Reset", Method, 15}, + {"(*Ticker).Stop", Method, 0}, + {"(*Time).GobDecode", Method, 0}, + {"(*Time).UnmarshalBinary", Method, 2}, + {"(*Time).UnmarshalJSON", Method, 0}, + {"(*Time).UnmarshalText", Method, 2}, + {"(*Timer).Reset", Method, 1}, + {"(*Timer).Stop", Method, 0}, + {"(Duration).Abs", Method, 19}, + {"(Duration).Hours", Method, 0}, + {"(Duration).Microseconds", Method, 13}, + {"(Duration).Milliseconds", Method, 13}, + {"(Duration).Minutes", Method, 0}, + {"(Duration).Nanoseconds", Method, 0}, + {"(Duration).Round", Method, 9}, + {"(Duration).Seconds", Method, 0}, + {"(Duration).String", Method, 0}, + {"(Duration).Truncate", Method, 9}, + {"(Month).String", Method, 0}, + {"(Time).Add", Method, 0}, + {"(Time).AddDate", Method, 0}, + {"(Time).After", Method, 0}, + {"(Time).AppendFormat", Method, 5}, + {"(Time).Before", Method, 0}, + {"(Time).Clock", Method, 0}, + {"(Time).Compare", Method, 20}, + {"(Time).Date", Method, 0}, + {"(Time).Day", Method, 0}, + {"(Time).Equal", Method, 0}, + {"(Time).Format", Method, 0}, + {"(Time).GoString", Method, 17}, + {"(Time).GobEncode", Method, 0}, + {"(Time).Hour", Method, 0}, + {"(Time).ISOWeek", Method, 0}, + {"(Time).In", Method, 0}, + {"(Time).IsDST", Method, 17}, + {"(Time).IsZero", Method, 0}, + {"(Time).Local", Method, 0}, + {"(Time).Location", Method, 0}, + {"(Time).MarshalBinary", Method, 2}, + {"(Time).MarshalJSON", Method, 0}, + {"(Time).MarshalText", Method, 2}, + {"(Time).Minute", Method, 0}, + {"(Time).Month", Method, 0}, + {"(Time).Nanosecond", Method, 0}, + {"(Time).Round", Method, 1}, + {"(Time).Second", Method, 0}, + {"(Time).String", Method, 0}, + {"(Time).Sub", Method, 0}, + {"(Time).Truncate", Method, 1}, + {"(Time).UTC", Method, 0}, + {"(Time).Unix", Method, 0}, + {"(Time).UnixMicro", Method, 17}, + {"(Time).UnixMilli", Method, 17}, + {"(Time).UnixNano", Method, 0}, + {"(Time).Weekday", Method, 0}, + {"(Time).Year", Method, 0}, + {"(Time).YearDay", Method, 1}, + {"(Time).Zone", Method, 0}, + {"(Time).ZoneBounds", Method, 19}, + {"(Weekday).String", Method, 0}, + {"ANSIC", Const, 0}, + {"After", Func, 0}, + {"AfterFunc", Func, 0}, + {"April", Const, 0}, + {"August", Const, 0}, + {"Date", Func, 0}, + {"DateOnly", Const, 20}, + {"DateTime", Const, 20}, + {"December", Const, 0}, + {"Duration", Type, 0}, + {"February", Const, 0}, + {"FixedZone", Func, 0}, + {"Friday", Const, 0}, + {"Hour", Const, 0}, + {"January", Const, 0}, + {"July", Const, 0}, + {"June", Const, 0}, + {"Kitchen", Const, 0}, + {"Layout", Const, 17}, + {"LoadLocation", Func, 0}, + {"LoadLocationFromTZData", Func, 10}, + {"Local", Var, 0}, + {"Location", Type, 0}, + {"March", Const, 0}, + {"May", Const, 0}, + {"Microsecond", Const, 0}, + {"Millisecond", Const, 0}, + {"Minute", Const, 0}, + {"Monday", Const, 0}, + {"Month", Type, 0}, + {"Nanosecond", Const, 0}, + {"NewTicker", Func, 0}, + {"NewTimer", Func, 0}, + {"November", Const, 0}, + {"Now", Func, 0}, + {"October", Const, 0}, + {"Parse", Func, 0}, + {"ParseDuration", Func, 0}, + {"ParseError", Type, 0}, + {"ParseError.Layout", Field, 0}, + {"ParseError.LayoutElem", Field, 0}, + {"ParseError.Message", Field, 0}, + {"ParseError.Value", Field, 0}, + {"ParseError.ValueElem", Field, 0}, + {"ParseInLocation", Func, 1}, + {"RFC1123", Const, 0}, + {"RFC1123Z", Const, 0}, + {"RFC3339", Const, 0}, + {"RFC3339Nano", Const, 0}, + {"RFC822", Const, 0}, + {"RFC822Z", Const, 0}, + {"RFC850", Const, 0}, + {"RubyDate", Const, 0}, + {"Saturday", Const, 0}, + {"Second", Const, 0}, + {"September", Const, 0}, + {"Since", Func, 0}, + {"Sleep", Func, 0}, + {"Stamp", Const, 0}, + {"StampMicro", Const, 0}, + {"StampMilli", Const, 0}, + {"StampNano", Const, 0}, + {"Sunday", Const, 0}, + {"Thursday", Const, 0}, + {"Tick", Func, 0}, + {"Ticker", Type, 0}, + {"Ticker.C", Field, 0}, + {"Time", Type, 0}, + {"TimeOnly", Const, 20}, + {"Timer", Type, 0}, + {"Timer.C", Field, 0}, + {"Tuesday", Const, 0}, + {"UTC", Var, 0}, + {"Unix", Func, 0}, + {"UnixDate", Const, 0}, + {"UnixMicro", Func, 17}, + {"UnixMilli", Func, 17}, + {"Until", Func, 8}, + {"Wednesday", Const, 0}, + {"Weekday", Type, 0}, + }, + "unicode": { + {"(SpecialCase).ToLower", Method, 0}, + {"(SpecialCase).ToTitle", Method, 0}, + {"(SpecialCase).ToUpper", Method, 0}, + {"ASCII_Hex_Digit", Var, 0}, + {"Adlam", Var, 7}, + {"Ahom", Var, 5}, + {"Anatolian_Hieroglyphs", Var, 5}, + {"Arabic", Var, 0}, + {"Armenian", Var, 0}, + {"Avestan", Var, 0}, + {"AzeriCase", Var, 0}, + {"Balinese", Var, 0}, + {"Bamum", Var, 0}, + {"Bassa_Vah", Var, 4}, + {"Batak", Var, 0}, + {"Bengali", Var, 0}, + {"Bhaiksuki", Var, 7}, + {"Bidi_Control", Var, 0}, + {"Bopomofo", Var, 0}, + {"Brahmi", Var, 0}, + {"Braille", Var, 0}, + {"Buginese", Var, 0}, + {"Buhid", Var, 0}, + {"C", Var, 0}, + {"Canadian_Aboriginal", Var, 0}, + {"Carian", Var, 0}, + {"CaseRange", Type, 0}, + {"CaseRange.Delta", Field, 0}, + {"CaseRange.Hi", Field, 0}, + {"CaseRange.Lo", Field, 0}, + {"CaseRanges", Var, 0}, + {"Categories", Var, 0}, + {"Caucasian_Albanian", Var, 4}, + {"Cc", Var, 0}, + {"Cf", Var, 0}, + {"Chakma", Var, 1}, + {"Cham", Var, 0}, + {"Cherokee", Var, 0}, + {"Chorasmian", Var, 16}, + {"Co", Var, 0}, + {"Common", Var, 0}, + {"Coptic", Var, 0}, + {"Cs", Var, 0}, + {"Cuneiform", Var, 0}, + {"Cypriot", Var, 0}, + {"Cypro_Minoan", Var, 21}, + {"Cyrillic", Var, 0}, + {"Dash", Var, 0}, + {"Deprecated", Var, 0}, + {"Deseret", Var, 0}, + {"Devanagari", Var, 0}, + {"Diacritic", Var, 0}, + {"Digit", Var, 0}, + {"Dives_Akuru", Var, 16}, + {"Dogra", Var, 13}, + {"Duployan", Var, 4}, + {"Egyptian_Hieroglyphs", Var, 0}, + {"Elbasan", Var, 4}, + {"Elymaic", Var, 14}, + {"Ethiopic", Var, 0}, + {"Extender", Var, 0}, + {"FoldCategory", Var, 0}, + {"FoldScript", Var, 0}, + {"Georgian", Var, 0}, + {"Glagolitic", Var, 0}, + {"Gothic", Var, 0}, + {"Grantha", Var, 4}, + {"GraphicRanges", Var, 0}, + {"Greek", Var, 0}, + {"Gujarati", Var, 0}, + {"Gunjala_Gondi", Var, 13}, + {"Gurmukhi", Var, 0}, + {"Han", Var, 0}, + {"Hangul", Var, 0}, + {"Hanifi_Rohingya", Var, 13}, + {"Hanunoo", Var, 0}, + {"Hatran", Var, 5}, + {"Hebrew", Var, 0}, + {"Hex_Digit", Var, 0}, + {"Hiragana", Var, 0}, + {"Hyphen", Var, 0}, + {"IDS_Binary_Operator", Var, 0}, + {"IDS_Trinary_Operator", Var, 0}, + {"Ideographic", Var, 0}, + {"Imperial_Aramaic", Var, 0}, + {"In", Func, 2}, + {"Inherited", Var, 0}, + {"Inscriptional_Pahlavi", Var, 0}, + {"Inscriptional_Parthian", Var, 0}, + {"Is", Func, 0}, + {"IsControl", Func, 0}, + {"IsDigit", Func, 0}, + {"IsGraphic", Func, 0}, + {"IsLetter", Func, 0}, + {"IsLower", Func, 0}, + {"IsMark", Func, 0}, + {"IsNumber", Func, 0}, + {"IsOneOf", Func, 0}, + {"IsPrint", Func, 0}, + {"IsPunct", Func, 0}, + {"IsSpace", Func, 0}, + {"IsSymbol", Func, 0}, + {"IsTitle", Func, 0}, + {"IsUpper", Func, 0}, + {"Javanese", Var, 0}, + {"Join_Control", Var, 0}, + {"Kaithi", Var, 0}, + {"Kannada", Var, 0}, + {"Katakana", Var, 0}, + {"Kawi", Var, 21}, + {"Kayah_Li", Var, 0}, + {"Kharoshthi", Var, 0}, + {"Khitan_Small_Script", Var, 16}, + {"Khmer", Var, 0}, + {"Khojki", Var, 4}, + {"Khudawadi", Var, 4}, + {"L", Var, 0}, + {"Lao", Var, 0}, + {"Latin", Var, 0}, + {"Lepcha", Var, 0}, + {"Letter", Var, 0}, + {"Limbu", Var, 0}, + {"Linear_A", Var, 4}, + {"Linear_B", Var, 0}, + {"Lisu", Var, 0}, + {"Ll", Var, 0}, + {"Lm", Var, 0}, + {"Lo", Var, 0}, + {"Logical_Order_Exception", Var, 0}, + {"Lower", Var, 0}, + {"LowerCase", Const, 0}, + {"Lt", Var, 0}, + {"Lu", Var, 0}, + {"Lycian", Var, 0}, + {"Lydian", Var, 0}, + {"M", Var, 0}, + {"Mahajani", Var, 4}, + {"Makasar", Var, 13}, + {"Malayalam", Var, 0}, + {"Mandaic", Var, 0}, + {"Manichaean", Var, 4}, + {"Marchen", Var, 7}, + {"Mark", Var, 0}, + {"Masaram_Gondi", Var, 10}, + {"MaxASCII", Const, 0}, + {"MaxCase", Const, 0}, + {"MaxLatin1", Const, 0}, + {"MaxRune", Const, 0}, + {"Mc", Var, 0}, + {"Me", Var, 0}, + {"Medefaidrin", Var, 13}, + {"Meetei_Mayek", Var, 0}, + {"Mende_Kikakui", Var, 4}, + {"Meroitic_Cursive", Var, 1}, + {"Meroitic_Hieroglyphs", Var, 1}, + {"Miao", Var, 1}, + {"Mn", Var, 0}, + {"Modi", Var, 4}, + {"Mongolian", Var, 0}, + {"Mro", Var, 4}, + {"Multani", Var, 5}, + {"Myanmar", Var, 0}, + {"N", Var, 0}, + {"Nabataean", Var, 4}, + {"Nag_Mundari", Var, 21}, + {"Nandinagari", Var, 14}, + {"Nd", Var, 0}, + {"New_Tai_Lue", Var, 0}, + {"Newa", Var, 7}, + {"Nko", Var, 0}, + {"Nl", Var, 0}, + {"No", Var, 0}, + {"Noncharacter_Code_Point", Var, 0}, + {"Number", Var, 0}, + {"Nushu", Var, 10}, + {"Nyiakeng_Puachue_Hmong", Var, 14}, + {"Ogham", Var, 0}, + {"Ol_Chiki", Var, 0}, + {"Old_Hungarian", Var, 5}, + {"Old_Italic", Var, 0}, + {"Old_North_Arabian", Var, 4}, + {"Old_Permic", Var, 4}, + {"Old_Persian", Var, 0}, + {"Old_Sogdian", Var, 13}, + {"Old_South_Arabian", Var, 0}, + {"Old_Turkic", Var, 0}, + {"Old_Uyghur", Var, 21}, + {"Oriya", Var, 0}, + {"Osage", Var, 7}, + {"Osmanya", Var, 0}, + {"Other", Var, 0}, + {"Other_Alphabetic", Var, 0}, + {"Other_Default_Ignorable_Code_Point", Var, 0}, + {"Other_Grapheme_Extend", Var, 0}, + {"Other_ID_Continue", Var, 0}, + {"Other_ID_Start", Var, 0}, + {"Other_Lowercase", Var, 0}, + {"Other_Math", Var, 0}, + {"Other_Uppercase", Var, 0}, + {"P", Var, 0}, + {"Pahawh_Hmong", Var, 4}, + {"Palmyrene", Var, 4}, + {"Pattern_Syntax", Var, 0}, + {"Pattern_White_Space", Var, 0}, + {"Pau_Cin_Hau", Var, 4}, + {"Pc", Var, 0}, + {"Pd", Var, 0}, + {"Pe", Var, 0}, + {"Pf", Var, 0}, + {"Phags_Pa", Var, 0}, + {"Phoenician", Var, 0}, + {"Pi", Var, 0}, + {"Po", Var, 0}, + {"Prepended_Concatenation_Mark", Var, 7}, + {"PrintRanges", Var, 0}, + {"Properties", Var, 0}, + {"Ps", Var, 0}, + {"Psalter_Pahlavi", Var, 4}, + {"Punct", Var, 0}, + {"Quotation_Mark", Var, 0}, + {"Radical", Var, 0}, + {"Range16", Type, 0}, + {"Range16.Hi", Field, 0}, + {"Range16.Lo", Field, 0}, + {"Range16.Stride", Field, 0}, + {"Range32", Type, 0}, + {"Range32.Hi", Field, 0}, + {"Range32.Lo", Field, 0}, + {"Range32.Stride", Field, 0}, + {"RangeTable", Type, 0}, + {"RangeTable.LatinOffset", Field, 1}, + {"RangeTable.R16", Field, 0}, + {"RangeTable.R32", Field, 0}, + {"Regional_Indicator", Var, 10}, + {"Rejang", Var, 0}, + {"ReplacementChar", Const, 0}, + {"Runic", Var, 0}, + {"S", Var, 0}, + {"STerm", Var, 0}, + {"Samaritan", Var, 0}, + {"Saurashtra", Var, 0}, + {"Sc", Var, 0}, + {"Scripts", Var, 0}, + {"Sentence_Terminal", Var, 7}, + {"Sharada", Var, 1}, + {"Shavian", Var, 0}, + {"Siddham", Var, 4}, + {"SignWriting", Var, 5}, + {"SimpleFold", Func, 0}, + {"Sinhala", Var, 0}, + {"Sk", Var, 0}, + {"Sm", Var, 0}, + {"So", Var, 0}, + {"Soft_Dotted", Var, 0}, + {"Sogdian", Var, 13}, + {"Sora_Sompeng", Var, 1}, + {"Soyombo", Var, 10}, + {"Space", Var, 0}, + {"SpecialCase", Type, 0}, + {"Sundanese", Var, 0}, + {"Syloti_Nagri", Var, 0}, + {"Symbol", Var, 0}, + {"Syriac", Var, 0}, + {"Tagalog", Var, 0}, + {"Tagbanwa", Var, 0}, + {"Tai_Le", Var, 0}, + {"Tai_Tham", Var, 0}, + {"Tai_Viet", Var, 0}, + {"Takri", Var, 1}, + {"Tamil", Var, 0}, + {"Tangsa", Var, 21}, + {"Tangut", Var, 7}, + {"Telugu", Var, 0}, + {"Terminal_Punctuation", Var, 0}, + {"Thaana", Var, 0}, + {"Thai", Var, 0}, + {"Tibetan", Var, 0}, + {"Tifinagh", Var, 0}, + {"Tirhuta", Var, 4}, + {"Title", Var, 0}, + {"TitleCase", Const, 0}, + {"To", Func, 0}, + {"ToLower", Func, 0}, + {"ToTitle", Func, 0}, + {"ToUpper", Func, 0}, + {"Toto", Var, 21}, + {"TurkishCase", Var, 0}, + {"Ugaritic", Var, 0}, + {"Unified_Ideograph", Var, 0}, + {"Upper", Var, 0}, + {"UpperCase", Const, 0}, + {"UpperLower", Const, 0}, + {"Vai", Var, 0}, + {"Variation_Selector", Var, 0}, + {"Version", Const, 0}, + {"Vithkuqi", Var, 21}, + {"Wancho", Var, 14}, + {"Warang_Citi", Var, 4}, + {"White_Space", Var, 0}, + {"Yezidi", Var, 16}, + {"Yi", Var, 0}, + {"Z", Var, 0}, + {"Zanabazar_Square", Var, 10}, + {"Zl", Var, 0}, + {"Zp", Var, 0}, + {"Zs", Var, 0}, + }, + "unicode/utf16": { + {"AppendRune", Func, 20}, + {"Decode", Func, 0}, + {"DecodeRune", Func, 0}, + {"Encode", Func, 0}, + {"EncodeRune", Func, 0}, + {"IsSurrogate", Func, 0}, + }, + "unicode/utf8": { + {"AppendRune", Func, 18}, + {"DecodeLastRune", Func, 0}, + {"DecodeLastRuneInString", Func, 0}, + {"DecodeRune", Func, 0}, + {"DecodeRuneInString", Func, 0}, + {"EncodeRune", Func, 0}, + {"FullRune", Func, 0}, + {"FullRuneInString", Func, 0}, + {"MaxRune", Const, 0}, + {"RuneCount", Func, 0}, + {"RuneCountInString", Func, 0}, + {"RuneError", Const, 0}, + {"RuneLen", Func, 0}, + {"RuneSelf", Const, 0}, + {"RuneStart", Func, 0}, + {"UTFMax", Const, 0}, + {"Valid", Func, 0}, + {"ValidRune", Func, 1}, + {"ValidString", Func, 0}, + }, + "unsafe": { + {"Add", Func, 0}, + {"Alignof", Func, 0}, + {"Offsetof", Func, 0}, + {"Pointer", Type, 0}, + {"Sizeof", Func, 0}, + {"Slice", Func, 0}, + {"SliceData", Func, 0}, + {"String", Func, 0}, + {"StringData", Func, 0}, + }, +} diff --git a/vendor/golang.org/x/tools/internal/stdlib/stdlib.go b/vendor/golang.org/x/tools/internal/stdlib/stdlib.go new file mode 100644 index 0000000..9890401 --- /dev/null +++ b/vendor/golang.org/x/tools/internal/stdlib/stdlib.go @@ -0,0 +1,97 @@ +// Copyright 2022 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:generate go run generate.go + +// Package stdlib provides a table of all exported symbols in the +// standard library, along with the version at which they first +// appeared. +package stdlib + +import ( + "fmt" + "strings" +) + +type Symbol struct { + Name string + Kind Kind + Version Version // Go version that first included the symbol +} + +// A Kind indicates the kind of a symbol: +// function, variable, constant, type, and so on. +type Kind int8 + +const ( + Invalid Kind = iota // Example name: + Type // "Buffer" + Func // "Println" + Var // "EOF" + Const // "Pi" + Field // "Point.X" + Method // "(*Buffer).Grow" +) + +func (kind Kind) String() string { + return [...]string{ + Invalid: "invalid", + Type: "type", + Func: "func", + Var: "var", + Const: "const", + Field: "field", + Method: "method", + }[kind] +} + +// A Version represents a version of Go of the form "go1.%d". +type Version int8 + +// String returns a version string of the form "go1.23", without allocating. +func (v Version) String() string { return versions[v] } + +var versions [30]string // (increase constant as needed) + +func init() { + for i := range versions { + versions[i] = fmt.Sprintf("go1.%d", i) + } +} + +// HasPackage reports whether the specified package path is part of +// the standard library's public API. +func HasPackage(path string) bool { + _, ok := PackageSymbols[path] + return ok +} + +// SplitField splits the field symbol name into type and field +// components. It must be called only on Field symbols. +// +// Example: "File.Package" -> ("File", "Package") +func (sym *Symbol) SplitField() (typename, name string) { + if sym.Kind != Field { + panic("not a field") + } + typename, name, _ = strings.Cut(sym.Name, ".") + return +} + +// SplitMethod splits the method symbol name into pointer, receiver, +// and method components. It must be called only on Method symbols. +// +// Example: "(*Buffer).Grow" -> (true, "Buffer", "Grow") +func (sym *Symbol) SplitMethod() (ptr bool, recv, name string) { + if sym.Kind != Method { + panic("not a method") + } + recv, name, _ = strings.Cut(sym.Name, ".") + recv = recv[len("(") : len(recv)-len(")")] + ptr = recv[0] == '*' + if ptr { + recv = recv[len("*"):] + } + return +} diff --git a/vendor/golang.org/x/tools/internal/tokeninternal/tokeninternal.go b/vendor/golang.org/x/tools/internal/tokeninternal/tokeninternal.go index 7e638ec..ff9437a 100644 --- a/vendor/golang.org/x/tools/internal/tokeninternal/tokeninternal.go +++ b/vendor/golang.org/x/tools/internal/tokeninternal/tokeninternal.go @@ -34,30 +34,16 @@ func GetLines(file *token.File) []int { lines []int _ []struct{} } - type tokenFile118 struct { - _ *token.FileSet // deleted in go1.19 - tokenFile119 - } - - type uP = unsafe.Pointer - switch unsafe.Sizeof(*file) { - case unsafe.Sizeof(tokenFile118{}): - var ptr *tokenFile118 - *(*uP)(uP(&ptr)) = uP(file) - ptr.mu.Lock() - defer ptr.mu.Unlock() - return ptr.lines - case unsafe.Sizeof(tokenFile119{}): - var ptr *tokenFile119 - *(*uP)(uP(&ptr)) = uP(file) - ptr.mu.Lock() - defer ptr.mu.Unlock() - return ptr.lines - - default: + if unsafe.Sizeof(*file) != unsafe.Sizeof(tokenFile119{}) { panic("unexpected token.File size") } + var ptr *tokenFile119 + type uP = unsafe.Pointer + *(*uP)(uP(&ptr)) = uP(file) + ptr.mu.Lock() + defer ptr.mu.Unlock() + return ptr.lines } // AddExistingFiles adds the specified files to the FileSet if they diff --git a/vendor/golang.org/x/tools/internal/typeparams/common.go b/vendor/golang.org/x/tools/internal/typeparams/common.go deleted file mode 100644 index cdab988..0000000 --- a/vendor/golang.org/x/tools/internal/typeparams/common.go +++ /dev/null @@ -1,204 +0,0 @@ -// Copyright 2021 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package typeparams contains common utilities for writing tools that interact -// with generic Go code, as introduced with Go 1.18. -// -// Many of the types and functions in this package are proxies for the new APIs -// introduced in the standard library with Go 1.18. For example, the -// typeparams.Union type is an alias for go/types.Union, and the ForTypeSpec -// function returns the value of the go/ast.TypeSpec.TypeParams field. At Go -// versions older than 1.18 these helpers are implemented as stubs, allowing -// users of this package to write code that handles generic constructs inline, -// even if the Go version being used to compile does not support generics. -// -// Additionally, this package contains common utilities for working with the -// new generic constructs, to supplement the standard library APIs. Notably, -// the StructuralTerms API computes a minimal representation of the structural -// restrictions on a type parameter. -// -// An external version of these APIs is available in the -// golang.org/x/exp/typeparams module. -package typeparams - -import ( - "fmt" - "go/ast" - "go/token" - "go/types" -) - -// UnpackIndexExpr extracts data from AST nodes that represent index -// expressions. -// -// For an ast.IndexExpr, the resulting indices slice will contain exactly one -// index expression. For an ast.IndexListExpr (go1.18+), it may have a variable -// number of index expressions. -// -// For nodes that don't represent index expressions, the first return value of -// UnpackIndexExpr will be nil. -func UnpackIndexExpr(n ast.Node) (x ast.Expr, lbrack token.Pos, indices []ast.Expr, rbrack token.Pos) { - switch e := n.(type) { - case *ast.IndexExpr: - return e.X, e.Lbrack, []ast.Expr{e.Index}, e.Rbrack - case *ast.IndexListExpr: - return e.X, e.Lbrack, e.Indices, e.Rbrack - } - return nil, token.NoPos, nil, token.NoPos -} - -// PackIndexExpr returns an *ast.IndexExpr or *ast.IndexListExpr, depending on -// the cardinality of indices. Calling PackIndexExpr with len(indices) == 0 -// will panic. -func PackIndexExpr(x ast.Expr, lbrack token.Pos, indices []ast.Expr, rbrack token.Pos) ast.Expr { - switch len(indices) { - case 0: - panic("empty indices") - case 1: - return &ast.IndexExpr{ - X: x, - Lbrack: lbrack, - Index: indices[0], - Rbrack: rbrack, - } - default: - return &ast.IndexListExpr{ - X: x, - Lbrack: lbrack, - Indices: indices, - Rbrack: rbrack, - } - } -} - -// IsTypeParam reports whether t is a type parameter. -func IsTypeParam(t types.Type) bool { - _, ok := t.(*types.TypeParam) - return ok -} - -// OriginMethod returns the origin method associated with the method fn. -// For methods on a non-generic receiver base type, this is just -// fn. However, for methods with a generic receiver, OriginMethod returns the -// corresponding method in the method set of the origin type. -// -// As a special case, if fn is not a method (has no receiver), OriginMethod -// returns fn. -func OriginMethod(fn *types.Func) *types.Func { - recv := fn.Type().(*types.Signature).Recv() - if recv == nil { - return fn - } - base := recv.Type() - p, isPtr := base.(*types.Pointer) - if isPtr { - base = p.Elem() - } - named, isNamed := base.(*types.Named) - if !isNamed { - // Receiver is a *types.Interface. - return fn - } - if named.TypeParams().Len() == 0 { - // Receiver base has no type parameters, so we can avoid the lookup below. - return fn - } - orig := named.Origin() - gfn, _, _ := types.LookupFieldOrMethod(orig, true, fn.Pkg(), fn.Name()) - - // This is a fix for a gopls crash (#60628) due to a go/types bug (#60634). In: - // package p - // type T *int - // func (*T) f() {} - // LookupFieldOrMethod(T, true, p, f)=nil, but NewMethodSet(*T)={(*T).f}. - // Here we make them consistent by force. - // (The go/types bug is general, but this workaround is reached only - // for generic T thanks to the early return above.) - if gfn == nil { - mset := types.NewMethodSet(types.NewPointer(orig)) - for i := 0; i < mset.Len(); i++ { - m := mset.At(i) - if m.Obj().Id() == fn.Id() { - gfn = m.Obj() - break - } - } - } - - // In golang/go#61196, we observe another crash, this time inexplicable. - if gfn == nil { - panic(fmt.Sprintf("missing origin method for %s.%s; named == origin: %t, named.NumMethods(): %d, origin.NumMethods(): %d", named, fn, named == orig, named.NumMethods(), orig.NumMethods())) - } - - return gfn.(*types.Func) -} - -// GenericAssignableTo is a generalization of types.AssignableTo that -// implements the following rule for uninstantiated generic types: -// -// If V and T are generic named types, then V is considered assignable to T if, -// for every possible instantation of V[A_1, ..., A_N], the instantiation -// T[A_1, ..., A_N] is valid and V[A_1, ..., A_N] implements T[A_1, ..., A_N]. -// -// If T has structural constraints, they must be satisfied by V. -// -// For example, consider the following type declarations: -// -// type Interface[T any] interface { -// Accept(T) -// } -// -// type Container[T any] struct { -// Element T -// } -// -// func (c Container[T]) Accept(t T) { c.Element = t } -// -// In this case, GenericAssignableTo reports that instantiations of Container -// are assignable to the corresponding instantiation of Interface. -func GenericAssignableTo(ctxt *types.Context, V, T types.Type) bool { - // If V and T are not both named, or do not have matching non-empty type - // parameter lists, fall back on types.AssignableTo. - - VN, Vnamed := V.(*types.Named) - TN, Tnamed := T.(*types.Named) - if !Vnamed || !Tnamed { - return types.AssignableTo(V, T) - } - - vtparams := VN.TypeParams() - ttparams := TN.TypeParams() - if vtparams.Len() == 0 || vtparams.Len() != ttparams.Len() || VN.TypeArgs().Len() != 0 || TN.TypeArgs().Len() != 0 { - return types.AssignableTo(V, T) - } - - // V and T have the same (non-zero) number of type params. Instantiate both - // with the type parameters of V. This must always succeed for V, and will - // succeed for T if and only if the type set of each type parameter of V is a - // subset of the type set of the corresponding type parameter of T, meaning - // that every instantiation of V corresponds to a valid instantiation of T. - - // Minor optimization: ensure we share a context across the two - // instantiations below. - if ctxt == nil { - ctxt = types.NewContext() - } - - var targs []types.Type - for i := 0; i < vtparams.Len(); i++ { - targs = append(targs, vtparams.At(i)) - } - - vinst, err := types.Instantiate(ctxt, V, targs, true) - if err != nil { - panic("type parameters should satisfy their own constraints") - } - - tinst, err := types.Instantiate(ctxt, T, targs, true) - if err != nil { - return false - } - - return types.AssignableTo(vinst, tinst) -} diff --git a/vendor/golang.org/x/tools/internal/typeparams/coretype.go b/vendor/golang.org/x/tools/internal/typeparams/coretype.go deleted file mode 100644 index 7ea8840..0000000 --- a/vendor/golang.org/x/tools/internal/typeparams/coretype.go +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2022 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package typeparams - -import ( - "go/types" -) - -// CoreType returns the core type of T or nil if T does not have a core type. -// -// See https://go.dev/ref/spec#Core_types for the definition of a core type. -func CoreType(T types.Type) types.Type { - U := T.Underlying() - if _, ok := U.(*types.Interface); !ok { - return U // for non-interface types, - } - - terms, err := _NormalTerms(U) - if len(terms) == 0 || err != nil { - // len(terms) -> empty type set of interface. - // err != nil => U is invalid, exceeds complexity bounds, or has an empty type set. - return nil // no core type. - } - - U = terms[0].Type().Underlying() - var identical int // i in [0,identical) => Identical(U, terms[i].Type().Underlying()) - for identical = 1; identical < len(terms); identical++ { - if !types.Identical(U, terms[identical].Type().Underlying()) { - break - } - } - - if identical == len(terms) { - // https://go.dev/ref/spec#Core_types - // "There is a single type U which is the underlying type of all types in the type set of T" - return U - } - ch, ok := U.(*types.Chan) - if !ok { - return nil // no core type as identical < len(terms) and U is not a channel. - } - // https://go.dev/ref/spec#Core_types - // "the type chan E if T contains only bidirectional channels, or the type chan<- E or - // <-chan E depending on the direction of the directional channels present." - for chans := identical; chans < len(terms); chans++ { - curr, ok := terms[chans].Type().Underlying().(*types.Chan) - if !ok { - return nil - } - if !types.Identical(ch.Elem(), curr.Elem()) { - return nil // channel elements are not identical. - } - if ch.Dir() == types.SendRecv { - // ch is bidirectional. We can safely always use curr's direction. - ch = curr - } else if curr.Dir() != types.SendRecv && ch.Dir() != curr.Dir() { - // ch and curr are not bidirectional and not the same direction. - return nil - } - } - return ch -} - -// _NormalTerms returns a slice of terms representing the normalized structural -// type restrictions of a type, if any. -// -// For all types other than *types.TypeParam, *types.Interface, and -// *types.Union, this is just a single term with Tilde() == false and -// Type() == typ. For *types.TypeParam, *types.Interface, and *types.Union, see -// below. -// -// Structural type restrictions of a type parameter are created via -// non-interface types embedded in its constraint interface (directly, or via a -// chain of interface embeddings). For example, in the declaration type -// T[P interface{~int; m()}] int the structural restriction of the type -// parameter P is ~int. -// -// With interface embedding and unions, the specification of structural type -// restrictions may be arbitrarily complex. For example, consider the -// following: -// -// type A interface{ ~string|~[]byte } -// -// type B interface{ int|string } -// -// type C interface { ~string|~int } -// -// type T[P interface{ A|B; C }] int -// -// In this example, the structural type restriction of P is ~string|int: A|B -// expands to ~string|~[]byte|int|string, which reduces to ~string|~[]byte|int, -// which when intersected with C (~string|~int) yields ~string|int. -// -// _NormalTerms computes these expansions and reductions, producing a -// "normalized" form of the embeddings. A structural restriction is normalized -// if it is a single union containing no interface terms, and is minimal in the -// sense that removing any term changes the set of types satisfying the -// constraint. It is left as a proof for the reader that, modulo sorting, there -// is exactly one such normalized form. -// -// Because the minimal representation always takes this form, _NormalTerms -// returns a slice of tilde terms corresponding to the terms of the union in -// the normalized structural restriction. An error is returned if the type is -// invalid, exceeds complexity bounds, or has an empty type set. In the latter -// case, _NormalTerms returns ErrEmptyTypeSet. -// -// _NormalTerms makes no guarantees about the order of terms, except that it -// is deterministic. -func _NormalTerms(typ types.Type) ([]*types.Term, error) { - switch typ := typ.(type) { - case *types.TypeParam: - return StructuralTerms(typ) - case *types.Union: - return UnionTermSet(typ) - case *types.Interface: - return InterfaceTermSet(typ) - default: - return []*types.Term{types.NewTerm(false, typ)}, nil - } -} diff --git a/vendor/golang.org/x/tools/internal/typeparams/normalize.go b/vendor/golang.org/x/tools/internal/typeparams/normalize.go deleted file mode 100644 index 93c80fd..0000000 --- a/vendor/golang.org/x/tools/internal/typeparams/normalize.go +++ /dev/null @@ -1,218 +0,0 @@ -// Copyright 2021 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package typeparams - -import ( - "errors" - "fmt" - "go/types" - "os" - "strings" -) - -//go:generate go run copytermlist.go - -const debug = false - -var ErrEmptyTypeSet = errors.New("empty type set") - -// StructuralTerms returns a slice of terms representing the normalized -// structural type restrictions of a type parameter, if any. -// -// Structural type restrictions of a type parameter are created via -// non-interface types embedded in its constraint interface (directly, or via a -// chain of interface embeddings). For example, in the declaration -// -// type T[P interface{~int; m()}] int -// -// the structural restriction of the type parameter P is ~int. -// -// With interface embedding and unions, the specification of structural type -// restrictions may be arbitrarily complex. For example, consider the -// following: -// -// type A interface{ ~string|~[]byte } -// -// type B interface{ int|string } -// -// type C interface { ~string|~int } -// -// type T[P interface{ A|B; C }] int -// -// In this example, the structural type restriction of P is ~string|int: A|B -// expands to ~string|~[]byte|int|string, which reduces to ~string|~[]byte|int, -// which when intersected with C (~string|~int) yields ~string|int. -// -// StructuralTerms computes these expansions and reductions, producing a -// "normalized" form of the embeddings. A structural restriction is normalized -// if it is a single union containing no interface terms, and is minimal in the -// sense that removing any term changes the set of types satisfying the -// constraint. It is left as a proof for the reader that, modulo sorting, there -// is exactly one such normalized form. -// -// Because the minimal representation always takes this form, StructuralTerms -// returns a slice of tilde terms corresponding to the terms of the union in -// the normalized structural restriction. An error is returned if the -// constraint interface is invalid, exceeds complexity bounds, or has an empty -// type set. In the latter case, StructuralTerms returns ErrEmptyTypeSet. -// -// StructuralTerms makes no guarantees about the order of terms, except that it -// is deterministic. -func StructuralTerms(tparam *types.TypeParam) ([]*types.Term, error) { - constraint := tparam.Constraint() - if constraint == nil { - return nil, fmt.Errorf("%s has nil constraint", tparam) - } - iface, _ := constraint.Underlying().(*types.Interface) - if iface == nil { - return nil, fmt.Errorf("constraint is %T, not *types.Interface", constraint.Underlying()) - } - return InterfaceTermSet(iface) -} - -// InterfaceTermSet computes the normalized terms for a constraint interface, -// returning an error if the term set cannot be computed or is empty. In the -// latter case, the error will be ErrEmptyTypeSet. -// -// See the documentation of StructuralTerms for more information on -// normalization. -func InterfaceTermSet(iface *types.Interface) ([]*types.Term, error) { - return computeTermSet(iface) -} - -// UnionTermSet computes the normalized terms for a union, returning an error -// if the term set cannot be computed or is empty. In the latter case, the -// error will be ErrEmptyTypeSet. -// -// See the documentation of StructuralTerms for more information on -// normalization. -func UnionTermSet(union *types.Union) ([]*types.Term, error) { - return computeTermSet(union) -} - -func computeTermSet(typ types.Type) ([]*types.Term, error) { - tset, err := computeTermSetInternal(typ, make(map[types.Type]*termSet), 0) - if err != nil { - return nil, err - } - if tset.terms.isEmpty() { - return nil, ErrEmptyTypeSet - } - if tset.terms.isAll() { - return nil, nil - } - var terms []*types.Term - for _, term := range tset.terms { - terms = append(terms, types.NewTerm(term.tilde, term.typ)) - } - return terms, nil -} - -// A termSet holds the normalized set of terms for a given type. -// -// The name termSet is intentionally distinct from 'type set': a type set is -// all types that implement a type (and includes method restrictions), whereas -// a term set just represents the structural restrictions on a type. -type termSet struct { - complete bool - terms termlist -} - -func indentf(depth int, format string, args ...interface{}) { - fmt.Fprintf(os.Stderr, strings.Repeat(".", depth)+format+"\n", args...) -} - -func computeTermSetInternal(t types.Type, seen map[types.Type]*termSet, depth int) (res *termSet, err error) { - if t == nil { - panic("nil type") - } - - if debug { - indentf(depth, "%s", t.String()) - defer func() { - if err != nil { - indentf(depth, "=> %s", err) - } else { - indentf(depth, "=> %s", res.terms.String()) - } - }() - } - - const maxTermCount = 100 - if tset, ok := seen[t]; ok { - if !tset.complete { - return nil, fmt.Errorf("cycle detected in the declaration of %s", t) - } - return tset, nil - } - - // Mark the current type as seen to avoid infinite recursion. - tset := new(termSet) - defer func() { - tset.complete = true - }() - seen[t] = tset - - switch u := t.Underlying().(type) { - case *types.Interface: - // The term set of an interface is the intersection of the term sets of its - // embedded types. - tset.terms = allTermlist - for i := 0; i < u.NumEmbeddeds(); i++ { - embedded := u.EmbeddedType(i) - if _, ok := embedded.Underlying().(*types.TypeParam); ok { - return nil, fmt.Errorf("invalid embedded type %T", embedded) - } - tset2, err := computeTermSetInternal(embedded, seen, depth+1) - if err != nil { - return nil, err - } - tset.terms = tset.terms.intersect(tset2.terms) - } - case *types.Union: - // The term set of a union is the union of term sets of its terms. - tset.terms = nil - for i := 0; i < u.Len(); i++ { - t := u.Term(i) - var terms termlist - switch t.Type().Underlying().(type) { - case *types.Interface: - tset2, err := computeTermSetInternal(t.Type(), seen, depth+1) - if err != nil { - return nil, err - } - terms = tset2.terms - case *types.TypeParam, *types.Union: - // A stand-alone type parameter or union is not permitted as union - // term. - return nil, fmt.Errorf("invalid union term %T", t) - default: - if t.Type() == types.Typ[types.Invalid] { - continue - } - terms = termlist{{t.Tilde(), t.Type()}} - } - tset.terms = tset.terms.union(terms) - if len(tset.terms) > maxTermCount { - return nil, fmt.Errorf("exceeded max term count %d", maxTermCount) - } - } - case *types.TypeParam: - panic("unreachable") - default: - // For all other types, the term set is just a single non-tilde term - // holding the type itself. - if u != types.Typ[types.Invalid] { - tset.terms = termlist{{false, t}} - } - } - return tset, nil -} - -// under is a facade for the go/types internal function of the same name. It is -// used by typeterm.go. -func under(t types.Type) types.Type { - return t.Underlying() -} diff --git a/vendor/golang.org/x/tools/internal/typeparams/termlist.go b/vendor/golang.org/x/tools/internal/typeparams/termlist.go deleted file mode 100644 index cbd12f8..0000000 --- a/vendor/golang.org/x/tools/internal/typeparams/termlist.go +++ /dev/null @@ -1,163 +0,0 @@ -// Copyright 2021 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Code generated by copytermlist.go DO NOT EDIT. - -package typeparams - -import ( - "bytes" - "go/types" -) - -// A termlist represents the type set represented by the union -// t1 ∪ y2 ∪ ... tn of the type sets of the terms t1 to tn. -// A termlist is in normal form if all terms are disjoint. -// termlist operations don't require the operands to be in -// normal form. -type termlist []*term - -// allTermlist represents the set of all types. -// It is in normal form. -var allTermlist = termlist{new(term)} - -// String prints the termlist exactly (without normalization). -func (xl termlist) String() string { - if len(xl) == 0 { - return "∅" - } - var buf bytes.Buffer - for i, x := range xl { - if i > 0 { - buf.WriteString(" | ") - } - buf.WriteString(x.String()) - } - return buf.String() -} - -// isEmpty reports whether the termlist xl represents the empty set of types. -func (xl termlist) isEmpty() bool { - // If there's a non-nil term, the entire list is not empty. - // If the termlist is in normal form, this requires at most - // one iteration. - for _, x := range xl { - if x != nil { - return false - } - } - return true -} - -// isAll reports whether the termlist xl represents the set of all types. -func (xl termlist) isAll() bool { - // If there's a 𝓤 term, the entire list is 𝓤. - // If the termlist is in normal form, this requires at most - // one iteration. - for _, x := range xl { - if x != nil && x.typ == nil { - return true - } - } - return false -} - -// norm returns the normal form of xl. -func (xl termlist) norm() termlist { - // Quadratic algorithm, but good enough for now. - // TODO(gri) fix asymptotic performance - used := make([]bool, len(xl)) - var rl termlist - for i, xi := range xl { - if xi == nil || used[i] { - continue - } - for j := i + 1; j < len(xl); j++ { - xj := xl[j] - if xj == nil || used[j] { - continue - } - if u1, u2 := xi.union(xj); u2 == nil { - // If we encounter a 𝓤 term, the entire list is 𝓤. - // Exit early. - // (Note that this is not just an optimization; - // if we continue, we may end up with a 𝓤 term - // and other terms and the result would not be - // in normal form.) - if u1.typ == nil { - return allTermlist - } - xi = u1 - used[j] = true // xj is now unioned into xi - ignore it in future iterations - } - } - rl = append(rl, xi) - } - return rl -} - -// union returns the union xl ∪ yl. -func (xl termlist) union(yl termlist) termlist { - return append(xl, yl...).norm() -} - -// intersect returns the intersection xl ∩ yl. -func (xl termlist) intersect(yl termlist) termlist { - if xl.isEmpty() || yl.isEmpty() { - return nil - } - - // Quadratic algorithm, but good enough for now. - // TODO(gri) fix asymptotic performance - var rl termlist - for _, x := range xl { - for _, y := range yl { - if r := x.intersect(y); r != nil { - rl = append(rl, r) - } - } - } - return rl.norm() -} - -// equal reports whether xl and yl represent the same type set. -func (xl termlist) equal(yl termlist) bool { - // TODO(gri) this should be more efficient - return xl.subsetOf(yl) && yl.subsetOf(xl) -} - -// includes reports whether t ∈ xl. -func (xl termlist) includes(t types.Type) bool { - for _, x := range xl { - if x.includes(t) { - return true - } - } - return false -} - -// supersetOf reports whether y ⊆ xl. -func (xl termlist) supersetOf(y *term) bool { - for _, x := range xl { - if y.subsetOf(x) { - return true - } - } - return false -} - -// subsetOf reports whether xl ⊆ yl. -func (xl termlist) subsetOf(yl termlist) bool { - if yl.isEmpty() { - return xl.isEmpty() - } - - // each term x of xl must be a subset of yl - for _, x := range xl { - if !yl.supersetOf(x) { - return false // x is not a subset yl - } - } - return true -} diff --git a/vendor/golang.org/x/tools/internal/typeparams/typeterm.go b/vendor/golang.org/x/tools/internal/typeparams/typeterm.go deleted file mode 100644 index 7350bb7..0000000 --- a/vendor/golang.org/x/tools/internal/typeparams/typeterm.go +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright 2021 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Code generated by copytermlist.go DO NOT EDIT. - -package typeparams - -import "go/types" - -// A term describes elementary type sets: -// -// ∅: (*term)(nil) == ∅ // set of no types (empty set) -// 𝓤: &term{} == 𝓤 // set of all types (𝓤niverse) -// T: &term{false, T} == {T} // set of type T -// ~t: &term{true, t} == {t' | under(t') == t} // set of types with underlying type t -type term struct { - tilde bool // valid if typ != nil - typ types.Type -} - -func (x *term) String() string { - switch { - case x == nil: - return "∅" - case x.typ == nil: - return "𝓤" - case x.tilde: - return "~" + x.typ.String() - default: - return x.typ.String() - } -} - -// equal reports whether x and y represent the same type set. -func (x *term) equal(y *term) bool { - // easy cases - switch { - case x == nil || y == nil: - return x == y - case x.typ == nil || y.typ == nil: - return x.typ == y.typ - } - // ∅ ⊂ x, y ⊂ 𝓤 - - return x.tilde == y.tilde && types.Identical(x.typ, y.typ) -} - -// union returns the union x ∪ y: zero, one, or two non-nil terms. -func (x *term) union(y *term) (_, _ *term) { - // easy cases - switch { - case x == nil && y == nil: - return nil, nil // ∅ ∪ ∅ == ∅ - case x == nil: - return y, nil // ∅ ∪ y == y - case y == nil: - return x, nil // x ∪ ∅ == x - case x.typ == nil: - return x, nil // 𝓤 ∪ y == 𝓤 - case y.typ == nil: - return y, nil // x ∪ 𝓤 == 𝓤 - } - // ∅ ⊂ x, y ⊂ 𝓤 - - if x.disjoint(y) { - return x, y // x ∪ y == (x, y) if x ∩ y == ∅ - } - // x.typ == y.typ - - // ~t ∪ ~t == ~t - // ~t ∪ T == ~t - // T ∪ ~t == ~t - // T ∪ T == T - if x.tilde || !y.tilde { - return x, nil - } - return y, nil -} - -// intersect returns the intersection x ∩ y. -func (x *term) intersect(y *term) *term { - // easy cases - switch { - case x == nil || y == nil: - return nil // ∅ ∩ y == ∅ and ∩ ∅ == ∅ - case x.typ == nil: - return y // 𝓤 ∩ y == y - case y.typ == nil: - return x // x ∩ 𝓤 == x - } - // ∅ ⊂ x, y ⊂ 𝓤 - - if x.disjoint(y) { - return nil // x ∩ y == ∅ if x ∩ y == ∅ - } - // x.typ == y.typ - - // ~t ∩ ~t == ~t - // ~t ∩ T == T - // T ∩ ~t == T - // T ∩ T == T - if !x.tilde || y.tilde { - return x - } - return y -} - -// includes reports whether t ∈ x. -func (x *term) includes(t types.Type) bool { - // easy cases - switch { - case x == nil: - return false // t ∈ ∅ == false - case x.typ == nil: - return true // t ∈ 𝓤 == true - } - // ∅ ⊂ x ⊂ 𝓤 - - u := t - if x.tilde { - u = under(u) - } - return types.Identical(x.typ, u) -} - -// subsetOf reports whether x ⊆ y. -func (x *term) subsetOf(y *term) bool { - // easy cases - switch { - case x == nil: - return true // ∅ ⊆ y == true - case y == nil: - return false // x ⊆ ∅ == false since x != ∅ - case y.typ == nil: - return true // x ⊆ 𝓤 == true - case x.typ == nil: - return false // 𝓤 ⊆ y == false since y != 𝓤 - } - // ∅ ⊂ x, y ⊂ 𝓤 - - if x.disjoint(y) { - return false // x ⊆ y == false if x ∩ y == ∅ - } - // x.typ == y.typ - - // ~t ⊆ ~t == true - // ~t ⊆ T == false - // T ⊆ ~t == true - // T ⊆ T == true - return !x.tilde || y.tilde -} - -// disjoint reports whether x ∩ y == ∅. -// x.typ and y.typ must not be nil. -func (x *term) disjoint(y *term) bool { - if debug && (x.typ == nil || y.typ == nil) { - panic("invalid argument(s)") - } - ux := x.typ - if y.tilde { - ux = under(ux) - } - uy := y.typ - if x.tilde { - uy = under(uy) - } - return !types.Identical(ux, uy) -} diff --git a/vendor/golang.org/x/tools/internal/typesinternal/errorcode.go b/vendor/golang.org/x/tools/internal/typesinternal/errorcode.go index 0748407..834e053 100644 --- a/vendor/golang.org/x/tools/internal/typesinternal/errorcode.go +++ b/vendor/golang.org/x/tools/internal/typesinternal/errorcode.go @@ -167,7 +167,7 @@ const ( UntypedNilUse // WrongAssignCount occurs when the number of values on the right-hand side - // of an assignment or or initialization expression does not match the number + // of an assignment or initialization expression does not match the number // of variables on the left-hand side. // // Example: @@ -1449,10 +1449,10 @@ const ( NotAGenericType // WrongTypeArgCount occurs when a type or function is instantiated with an - // incorrent number of type arguments, including when a generic type or + // incorrect number of type arguments, including when a generic type or // function is used without instantiation. // - // Errors inolving failed type inference are assigned other error codes. + // Errors involving failed type inference are assigned other error codes. // // Example: // type T[p any] int diff --git a/vendor/golang.org/x/tools/internal/typesinternal/recv.go b/vendor/golang.org/x/tools/internal/typesinternal/recv.go new file mode 100644 index 0000000..fea7c8b --- /dev/null +++ b/vendor/golang.org/x/tools/internal/typesinternal/recv.go @@ -0,0 +1,43 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package typesinternal + +import ( + "go/types" + + "golang.org/x/tools/internal/aliases" +) + +// ReceiverNamed returns the named type (if any) associated with the +// type of recv, which may be of the form N or *N, or aliases thereof. +// It also reports whether a Pointer was present. +func ReceiverNamed(recv *types.Var) (isPtr bool, named *types.Named) { + t := recv.Type() + if ptr, ok := aliases.Unalias(t).(*types.Pointer); ok { + isPtr = true + t = ptr.Elem() + } + named, _ = aliases.Unalias(t).(*types.Named) + return +} + +// Unpointer returns T given *T or an alias thereof. +// For all other types it is the identity function. +// It does not look at underlying types. +// The result may be an alias. +// +// Use this function to strip off the optional pointer on a receiver +// in a field or method selection, without losing the named type +// (which is needed to compute the method set). +// +// See also [typeparams.MustDeref], which removes one level of +// indirection from the type, regardless of named types (analogous to +// a LOAD instruction). +func Unpointer(t types.Type) types.Type { + if ptr, ok := aliases.Unalias(t).(*types.Pointer); ok { + return ptr.Elem() + } + return t +} diff --git a/vendor/golang.org/x/tools/internal/typesinternal/toonew.go b/vendor/golang.org/x/tools/internal/typesinternal/toonew.go new file mode 100644 index 0000000..cc86487 --- /dev/null +++ b/vendor/golang.org/x/tools/internal/typesinternal/toonew.go @@ -0,0 +1,89 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package typesinternal + +import ( + "go/types" + + "golang.org/x/tools/internal/stdlib" + "golang.org/x/tools/internal/versions" +) + +// TooNewStdSymbols computes the set of package-level symbols +// exported by pkg that are not available at the specified version. +// The result maps each symbol to its minimum version. +// +// The pkg is allowed to contain type errors. +func TooNewStdSymbols(pkg *types.Package, version string) map[types.Object]string { + disallowed := make(map[types.Object]string) + + // Pass 1: package-level symbols. + symbols := stdlib.PackageSymbols[pkg.Path()] + for _, sym := range symbols { + symver := sym.Version.String() + if versions.Before(version, symver) { + switch sym.Kind { + case stdlib.Func, stdlib.Var, stdlib.Const, stdlib.Type: + disallowed[pkg.Scope().Lookup(sym.Name)] = symver + } + } + } + + // Pass 2: fields and methods. + // + // We allow fields and methods if their associated type is + // disallowed, as otherwise we would report false positives + // for compatibility shims. Consider: + // + // //go:build go1.22 + // type T struct { F std.Real } // correct new API + // + // //go:build !go1.22 + // type T struct { F fake } // shim + // type fake struct { ... } + // func (fake) M () {} + // + // These alternative declarations of T use either the std.Real + // type, introduced in go1.22, or a fake type, for the field + // F. (The fakery could be arbitrarily deep, involving more + // nested fields and methods than are shown here.) Clients + // that use the compatibility shim T will compile with any + // version of go, whether older or newer than go1.22, but only + // the newer version will use the std.Real implementation. + // + // Now consider a reference to method M in new(T).F.M() in a + // module that requires a minimum of go1.21. The analysis may + // occur using a version of Go higher than 1.21, selecting the + // first version of T, so the method M is Real.M. This would + // spuriously cause the analyzer to report a reference to a + // too-new symbol even though this expression compiles just + // fine (with the fake implementation) using go1.21. + for _, sym := range symbols { + symVersion := sym.Version.String() + if !versions.Before(version, symVersion) { + continue // allowed + } + + var obj types.Object + switch sym.Kind { + case stdlib.Field: + typename, name := sym.SplitField() + if t := pkg.Scope().Lookup(typename); t != nil && disallowed[t] == "" { + obj, _, _ = types.LookupFieldOrMethod(t.Type(), false, pkg, name) + } + + case stdlib.Method: + ptr, recvname, name := sym.SplitMethod() + if t := pkg.Scope().Lookup(recvname); t != nil && disallowed[t] == "" { + obj, _, _ = types.LookupFieldOrMethod(t.Type(), ptr, pkg, name) + } + } + if obj != nil { + disallowed[obj] = symVersion + } + } + + return disallowed +} diff --git a/vendor/golang.org/x/tools/internal/typesinternal/types.go b/vendor/golang.org/x/tools/internal/typesinternal/types.go index ce7d435..7c77c2f 100644 --- a/vendor/golang.org/x/tools/internal/typesinternal/types.go +++ b/vendor/golang.org/x/tools/internal/typesinternal/types.go @@ -48,5 +48,3 @@ func ReadGo116ErrorData(err types.Error) (code ErrorCode, start, end token.Pos, } return ErrorCode(data[0]), token.Pos(data[1]), token.Pos(data[2]), true } - -var SetGoVersion = func(conf *types.Config, version string) bool { return false } diff --git a/vendor/golang.org/x/tools/internal/typesinternal/types_118.go b/vendor/golang.org/x/tools/internal/typesinternal/types_118.go deleted file mode 100644 index a42b072..0000000 --- a/vendor/golang.org/x/tools/internal/typesinternal/types_118.go +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2021 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build go1.18 -// +build go1.18 - -package typesinternal - -import ( - "go/types" -) - -func init() { - SetGoVersion = func(conf *types.Config, version string) bool { - conf.GoVersion = version - return true - } -} diff --git a/vendor/golang.org/x/tools/internal/versions/features.go b/vendor/golang.org/x/tools/internal/versions/features.go new file mode 100644 index 0000000..b53f178 --- /dev/null +++ b/vendor/golang.org/x/tools/internal/versions/features.go @@ -0,0 +1,43 @@ +// Copyright 2023 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package versions + +// This file contains predicates for working with file versions to +// decide when a tool should consider a language feature enabled. + +// GoVersions that features in x/tools can be gated to. +const ( + Go1_18 = "go1.18" + Go1_19 = "go1.19" + Go1_20 = "go1.20" + Go1_21 = "go1.21" + Go1_22 = "go1.22" +) + +// Future is an invalid unknown Go version sometime in the future. +// Do not use directly with Compare. +const Future = "" + +// AtLeast reports whether the file version v comes after a Go release. +// +// Use this predicate to enable a behavior once a certain Go release +// has happened (and stays enabled in the future). +func AtLeast(v, release string) bool { + if v == Future { + return true // an unknown future version is always after y. + } + return Compare(Lang(v), Lang(release)) >= 0 +} + +// Before reports whether the file version v is strictly before a Go release. +// +// Use this predicate to disable a behavior once a certain Go release +// has happened (and stays enabled in the future). +func Before(v, release string) bool { + if v == Future { + return false // an unknown future version happens after y. + } + return Compare(Lang(v), Lang(release)) < 0 +} diff --git a/vendor/golang.org/x/tools/internal/versions/toolchain.go b/vendor/golang.org/x/tools/internal/versions/toolchain.go new file mode 100644 index 0000000..377bf7a --- /dev/null +++ b/vendor/golang.org/x/tools/internal/versions/toolchain.go @@ -0,0 +1,14 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package versions + +// toolchain is maximum version (<1.22) that the go toolchain used +// to build the current tool is known to support. +// +// When a tool is built with >=1.22, the value of toolchain is unused. +// +// x/tools does not support building with go <1.18. So we take this +// as the minimum possible maximum. +var toolchain string = Go1_18 diff --git a/vendor/golang.org/x/tools/internal/versions/toolchain_go119.go b/vendor/golang.org/x/tools/internal/versions/toolchain_go119.go new file mode 100644 index 0000000..f65beed --- /dev/null +++ b/vendor/golang.org/x/tools/internal/versions/toolchain_go119.go @@ -0,0 +1,14 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build go1.19 +// +build go1.19 + +package versions + +func init() { + if Compare(toolchain, Go1_19) < 0 { + toolchain = Go1_19 + } +} diff --git a/vendor/golang.org/x/tools/internal/versions/toolchain_go120.go b/vendor/golang.org/x/tools/internal/versions/toolchain_go120.go new file mode 100644 index 0000000..1a9efa1 --- /dev/null +++ b/vendor/golang.org/x/tools/internal/versions/toolchain_go120.go @@ -0,0 +1,14 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build go1.20 +// +build go1.20 + +package versions + +func init() { + if Compare(toolchain, Go1_20) < 0 { + toolchain = Go1_20 + } +} diff --git a/vendor/golang.org/x/tools/internal/versions/toolchain_go121.go b/vendor/golang.org/x/tools/internal/versions/toolchain_go121.go new file mode 100644 index 0000000..b7ef216 --- /dev/null +++ b/vendor/golang.org/x/tools/internal/versions/toolchain_go121.go @@ -0,0 +1,14 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build go1.21 +// +build go1.21 + +package versions + +func init() { + if Compare(toolchain, Go1_21) < 0 { + toolchain = Go1_21 + } +} diff --git a/vendor/golang.org/x/tools/internal/versions/types_go121.go b/vendor/golang.org/x/tools/internal/versions/types_go121.go index a7b7920..b4345d3 100644 --- a/vendor/golang.org/x/tools/internal/versions/types_go121.go +++ b/vendor/golang.org/x/tools/internal/versions/types_go121.go @@ -12,9 +12,19 @@ import ( "go/types" ) -// FileVersions always reports the a file's Go version as the -// zero version at this Go version. -func FileVersions(info *types.Info, file *ast.File) string { return "" } +// FileVersion returns a language version (<=1.21) derived from runtime.Version() +// or an unknown future version. +func FileVersion(info *types.Info, file *ast.File) string { + // In x/tools built with Go <= 1.21, we do not have Info.FileVersions + // available. We use a go version derived from the toolchain used to + // compile the tool by default. + // This will be <= go1.21. We take this as the maximum version that + // this tool can support. + // + // There are no features currently in x/tools that need to tell fine grained + // differences for versions <1.22. + return toolchain +} -// InitFileVersions is a noop at this Go version. +// InitFileVersions is a noop when compiled with this Go version. func InitFileVersions(*types.Info) {} diff --git a/vendor/golang.org/x/tools/internal/versions/types_go122.go b/vendor/golang.org/x/tools/internal/versions/types_go122.go index 7b9ba89..aac5db6 100644 --- a/vendor/golang.org/x/tools/internal/versions/types_go122.go +++ b/vendor/golang.org/x/tools/internal/versions/types_go122.go @@ -12,10 +12,27 @@ import ( "go/types" ) -// FileVersions maps a file to the file's semantic Go version. -// The reported version is the zero version if a version cannot be determined. -func FileVersions(info *types.Info, file *ast.File) string { - return info.FileVersions[file] +// FileVersion returns a file's Go version. +// The reported version is an unknown Future version if a +// version cannot be determined. +func FileVersion(info *types.Info, file *ast.File) string { + // In tools built with Go >= 1.22, the Go version of a file + // follow a cascades of sources: + // 1) types.Info.FileVersion, which follows the cascade: + // 1.a) file version (ast.File.GoVersion), + // 1.b) the package version (types.Config.GoVersion), or + // 2) is some unknown Future version. + // + // File versions require a valid package version to be provided to types + // in Config.GoVersion. Config.GoVersion is either from the package's module + // or the toolchain (go run). This value should be provided by go/packages + // or unitchecker.Config.GoVersion. + if v := info.FileVersions[file]; IsValid(v) { + return v + } + // Note: we could instead return runtime.Version() [if valid]. + // This would act as a max version on what a tool can support. + return Future } // InitFileVersions initializes info to record Go versions for Go files. diff --git a/vendor/golang.org/x/tools/internal/versions/versions.go b/vendor/golang.org/x/tools/internal/versions/versions.go index e16f6c3..8d1f745 100644 --- a/vendor/golang.org/x/tools/internal/versions/versions.go +++ b/vendor/golang.org/x/tools/internal/versions/versions.go @@ -4,6 +4,10 @@ package versions +import ( + "strings" +) + // Note: If we use build tags to use go/versions when go >=1.22, // we run into go.dev/issue/53737. Under some operations users would see an // import of "go/versions" even if they would not compile the file. @@ -45,6 +49,7 @@ func IsValid(x string) bool { return isValid(stripGo(x)) } // stripGo converts from a "go1.21" version to a "1.21" version. // If v does not start with "go", stripGo returns the empty string (a known invalid version). func stripGo(v string) string { + v, _, _ = strings.Cut(v, "-") // strip -bigcorp suffix. if len(v) < 2 || v[:2] != "go" { return "" } diff --git a/vendor/google.golang.org/protobuf/encoding/prototext/encode.go b/vendor/google.golang.org/protobuf/encoding/prototext/encode.go index 95967e8..1f57e66 100644 --- a/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +++ b/vendor/google.golang.org/protobuf/encoding/prototext/encode.go @@ -27,15 +27,17 @@ const defaultIndent = " " // Format formats the message as a multiline string. // This function is only intended for human consumption and ignores errors. -// Do not depend on the output being stable. It may change over time across -// different versions of the program. +// Do not depend on the output being stable. Its output will change across +// different builds of your program, even when using the same version of the +// protobuf module. func Format(m proto.Message) string { return MarshalOptions{Multiline: true}.Format(m) } // Marshal writes the given [proto.Message] in textproto format using default -// options. Do not depend on the output being stable. It may change over time -// across different versions of the program. +// options. Do not depend on the output being stable. Its output will change +// across different builds of your program, even when using the same version of +// the protobuf module. func Marshal(m proto.Message) ([]byte, error) { return MarshalOptions{}.Marshal(m) } @@ -84,8 +86,9 @@ type MarshalOptions struct { // Format formats the message as a string. // This method is only intended for human consumption and ignores errors. -// Do not depend on the output being stable. It may change over time across -// different versions of the program. +// Do not depend on the output being stable. Its output will change across +// different builds of your program, even when using the same version of the +// protobuf module. func (o MarshalOptions) Format(m proto.Message) string { if m == nil || !m.ProtoReflect().IsValid() { return "" // invalid syntax, but okay since this is for debugging @@ -98,8 +101,9 @@ func (o MarshalOptions) Format(m proto.Message) string { } // Marshal writes the given [proto.Message] in textproto format using options in -// MarshalOptions object. Do not depend on the output being stable. It may -// change over time across different versions of the program. +// MarshalOptions object. Do not depend on the output being stable. Its output +// will change across different builds of your program, even when using the +// same version of the protobuf module. func (o MarshalOptions) Marshal(m proto.Message) ([]byte, error) { return o.marshal(nil, m) } diff --git a/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go b/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go index a45625c..87e46bd 100644 --- a/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +++ b/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go @@ -252,6 +252,7 @@ func formatDescOpt(t protoreflect.Descriptor, isRoot, allowMulti bool, record fu {rv.MethodByName("Values"), "Values"}, {rv.MethodByName("ReservedNames"), "ReservedNames"}, {rv.MethodByName("ReservedRanges"), "ReservedRanges"}, + {rv.MethodByName("IsClosed"), "IsClosed"}, }...) case protoreflect.EnumValueDescriptor: diff --git a/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb b/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb index 18f0756..ff6a383 100644 Binary files a/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb and b/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb differ diff --git a/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go b/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go index 373d208..7e87c76 100644 --- a/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +++ b/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go @@ -32,6 +32,7 @@ var byteType = reflect.TypeOf(byte(0)) func Unmarshal(tag string, goType reflect.Type, evs protoreflect.EnumValueDescriptors) protoreflect.FieldDescriptor { f := new(filedesc.Field) f.L0.ParentFile = filedesc.SurrogateProto2 + f.L1.EditionFeatures = f.L0.ParentFile.L1.EditionFeatures for len(tag) > 0 { i := strings.IndexByte(tag, ',') if i < 0 { @@ -107,8 +108,7 @@ func Unmarshal(tag string, goType reflect.Type, evs protoreflect.EnumValueDescri f.L1.StringName.InitJSON(jsonName) } case s == "packed": - f.L1.HasPacked = true - f.L1.IsPacked = true + f.L1.EditionFeatures.IsPacked = true case strings.HasPrefix(s, "weak="): f.L1.IsWeak = true f.L1.Message = filedesc.PlaceholderMessage(protoreflect.FullName(s[len("weak="):])) diff --git a/vendor/google.golang.org/protobuf/internal/errors/errors.go b/vendor/google.golang.org/protobuf/internal/errors/errors.go index 20c17b3..d967198 100644 --- a/vendor/google.golang.org/protobuf/internal/errors/errors.go +++ b/vendor/google.golang.org/protobuf/internal/errors/errors.go @@ -87,3 +87,18 @@ func InvalidUTF8(name string) error { func RequiredNotSet(name string) error { return New("required field %v not set", name) } + +type SizeMismatchError struct { + Calculated, Measured int +} + +func (e *SizeMismatchError) Error() string { + return fmt.Sprintf("size mismatch (see https://github.com/golang/protobuf/issues/1609): calculated=%d, measured=%d", e.Calculated, e.Measured) +} + +func MismatchedSizeCalculation(calculated, measured int) error { + return &SizeMismatchError{ + Calculated: calculated, + Measured: measured, + } +} diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc.go index 8826bcf..ece53be 100644 --- a/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc.go @@ -7,6 +7,7 @@ package filedesc import ( "bytes" "fmt" + "strings" "sync" "sync/atomic" @@ -108,9 +109,12 @@ func (fd *File) ParentFile() protoreflect.FileDescriptor { return fd } func (fd *File) Parent() protoreflect.Descriptor { return nil } func (fd *File) Index() int { return 0 } func (fd *File) Syntax() protoreflect.Syntax { return fd.L1.Syntax } -func (fd *File) Name() protoreflect.Name { return fd.L1.Package.Name() } -func (fd *File) FullName() protoreflect.FullName { return fd.L1.Package } -func (fd *File) IsPlaceholder() bool { return false } + +// Not exported and just used to reconstruct the original FileDescriptor proto +func (fd *File) Edition() int32 { return int32(fd.L1.Edition) } +func (fd *File) Name() protoreflect.Name { return fd.L1.Package.Name() } +func (fd *File) FullName() protoreflect.FullName { return fd.L1.Package } +func (fd *File) IsPlaceholder() bool { return false } func (fd *File) Options() protoreflect.ProtoMessage { if f := fd.lazyInit().Options; f != nil { return f() @@ -202,6 +206,9 @@ func (ed *Enum) lazyInit() *EnumL2 { ed.L0.ParentFile.lazyInit() // implicitly initializes L2 return ed.L2 } +func (ed *Enum) IsClosed() bool { + return !ed.L1.EditionFeatures.IsOpenEnum +} func (ed *EnumValue) Options() protoreflect.ProtoMessage { if f := ed.L1.Options; f != nil { @@ -251,10 +258,6 @@ type ( StringName stringName IsProto3Optional bool // promoted from google.protobuf.FieldDescriptorProto IsWeak bool // promoted from google.protobuf.FieldOptions - HasPacked bool // promoted from google.protobuf.FieldOptions - IsPacked bool // promoted from google.protobuf.FieldOptions - HasEnforceUTF8 bool // promoted from google.protobuf.FieldOptions - EnforceUTF8 bool // promoted from google.protobuf.FieldOptions Default defaultValue ContainingOneof protoreflect.OneofDescriptor // must be consistent with Message.Oneofs.Fields Enum protoreflect.EnumDescriptor @@ -331,8 +334,7 @@ func (fd *Field) HasPresence() bool { if fd.L1.Cardinality == protoreflect.Repeated { return false } - explicitFieldPresence := fd.Syntax() == protoreflect.Editions && fd.L1.EditionFeatures.IsFieldPresence - return fd.Syntax() == protoreflect.Proto2 || explicitFieldPresence || fd.L1.Message != nil || fd.L1.ContainingOneof != nil + return fd.IsExtension() || fd.L1.EditionFeatures.IsFieldPresence || fd.L1.Message != nil || fd.L1.ContainingOneof != nil } func (fd *Field) HasOptionalKeyword() bool { return (fd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 && fd.L1.Cardinality == protoreflect.Optional && fd.L1.ContainingOneof == nil) || fd.L1.IsProto3Optional @@ -345,14 +347,7 @@ func (fd *Field) IsPacked() bool { case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind, protoreflect.GroupKind: return false } - if fd.L0.ParentFile.L1.Syntax == protoreflect.Editions { - return fd.L1.EditionFeatures.IsPacked - } - if fd.L0.ParentFile.L1.Syntax == protoreflect.Proto3 { - // proto3 repeated fields are packed by default. - return !fd.L1.HasPacked || fd.L1.IsPacked - } - return fd.L1.IsPacked + return fd.L1.EditionFeatures.IsPacked } func (fd *Field) IsExtension() bool { return false } func (fd *Field) IsWeak() bool { return fd.L1.IsWeak } @@ -399,13 +394,7 @@ func (fd *Field) ProtoType(protoreflect.FieldDescriptor) {} // WARNING: This method is exempt from the compatibility promise and may be // removed in the future without warning. func (fd *Field) EnforceUTF8() bool { - if fd.L0.ParentFile.L1.Syntax == protoreflect.Editions { - return fd.L1.EditionFeatures.IsUTF8Validated - } - if fd.L1.HasEnforceUTF8 { - return fd.L1.EnforceUTF8 - } - return fd.L0.ParentFile.L1.Syntax == protoreflect.Proto3 + return fd.L1.EditionFeatures.IsUTF8Validated } func (od *Oneof) IsSynthetic() bool { @@ -438,7 +427,6 @@ type ( Options func() protoreflect.ProtoMessage StringName stringName IsProto3Optional bool // promoted from google.protobuf.FieldDescriptorProto - IsPacked bool // promoted from google.protobuf.FieldOptions Default defaultValue Enum protoreflect.EnumDescriptor Message protoreflect.MessageDescriptor @@ -461,7 +449,16 @@ func (xd *Extension) HasPresence() bool { return xd.L1.Cardi func (xd *Extension) HasOptionalKeyword() bool { return (xd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 && xd.L1.Cardinality == protoreflect.Optional) || xd.lazyInit().IsProto3Optional } -func (xd *Extension) IsPacked() bool { return xd.lazyInit().IsPacked } +func (xd *Extension) IsPacked() bool { + if xd.L1.Cardinality != protoreflect.Repeated { + return false + } + switch xd.L1.Kind { + case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind, protoreflect.GroupKind: + return false + } + return xd.L1.EditionFeatures.IsPacked +} func (xd *Extension) IsExtension() bool { return true } func (xd *Extension) IsWeak() bool { return false } func (xd *Extension) IsList() bool { return xd.Cardinality() == protoreflect.Repeated } @@ -542,8 +539,9 @@ func (md *Method) ProtoInternal(pragma.DoNotImplement) {} // Surrogate files are can be used to create standalone descriptors // where the syntax is only information derived from the parent file. var ( - SurrogateProto2 = &File{L1: FileL1{Syntax: protoreflect.Proto2}, L2: &FileL2{}} - SurrogateProto3 = &File{L1: FileL1{Syntax: protoreflect.Proto3}, L2: &FileL2{}} + SurrogateProto2 = &File{L1: FileL1{Syntax: protoreflect.Proto2}, L2: &FileL2{}} + SurrogateProto3 = &File{L1: FileL1{Syntax: protoreflect.Proto3}, L2: &FileL2{}} + SurrogateEdition2023 = &File{L1: FileL1{Syntax: protoreflect.Editions, Edition: Edition2023}, L2: &FileL2{}} ) type ( @@ -585,6 +583,34 @@ func (s *stringName) InitJSON(name string) { s.nameJSON = name } +// Returns true if this field is structured like the synthetic field of a proto2 +// group. This allows us to expand our treatment of delimited fields without +// breaking proto2 files that have been upgraded to editions. +func isGroupLike(fd protoreflect.FieldDescriptor) bool { + // Groups are always group types. + if fd.Kind() != protoreflect.GroupKind { + return false + } + + // Group fields are always the lowercase type name. + if strings.ToLower(string(fd.Message().Name())) != string(fd.Name()) { + return false + } + + // Groups could only be defined in the same file they're used. + if fd.Message().ParentFile() != fd.ParentFile() { + return false + } + + // Group messages are always defined in the same scope as the field. File + // level extensions will compare NULL == NULL here, which is why the file + // comparison above is necessary to ensure both come from the same file. + if fd.IsExtension() { + return fd.Parent() == fd.Message().Parent() + } + return fd.ContainingMessage() == fd.Message().Parent() +} + func (s *stringName) lazyInit(fd protoreflect.FieldDescriptor) *stringName { s.once.Do(func() { if fd.IsExtension() { @@ -605,7 +631,7 @@ func (s *stringName) lazyInit(fd protoreflect.FieldDescriptor) *stringName { // Format the text name. s.nameText = string(fd.Name()) - if fd.Kind() == protoreflect.GroupKind { + if isGroupLike(fd) { s.nameText = string(fd.Message().Name()) } } diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go index 237e64f..3bc3b1c 100644 --- a/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go @@ -113,8 +113,10 @@ func (fd *File) unmarshalSeed(b []byte) { switch string(v) { case "proto2": fd.L1.Syntax = protoreflect.Proto2 + fd.L1.Edition = EditionProto2 case "proto3": fd.L1.Syntax = protoreflect.Proto3 + fd.L1.Edition = EditionProto3 case "editions": fd.L1.Syntax = protoreflect.Editions default: @@ -177,11 +179,10 @@ func (fd *File) unmarshalSeed(b []byte) { // If syntax is missing, it is assumed to be proto2. if fd.L1.Syntax == 0 { fd.L1.Syntax = protoreflect.Proto2 + fd.L1.Edition = EditionProto2 } - if fd.L1.Syntax == protoreflect.Editions { - fd.L1.EditionFeatures = getFeaturesFor(fd.L1.Edition) - } + fd.L1.EditionFeatures = getFeaturesFor(fd.L1.Edition) // Parse editions features from options if any if options != nil { @@ -267,6 +268,7 @@ func (ed *Enum) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protorefl ed.L0.ParentFile = pf ed.L0.Parent = pd ed.L0.Index = i + ed.L1.EditionFeatures = featuresFromParentDesc(ed.Parent()) var numValues int for b := b; len(b) > 0; { @@ -443,6 +445,7 @@ func (xd *Extension) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd prot xd.L0.ParentFile = pf xd.L0.Parent = pd xd.L0.Index = i + xd.L1.EditionFeatures = featuresFromParentDesc(pd) for len(b) > 0 { num, typ, n := protowire.ConsumeTag(b) @@ -467,6 +470,38 @@ func (xd *Extension) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd prot xd.L0.FullName = appendFullName(sb, pd.FullName(), v) case genid.FieldDescriptorProto_Extendee_field_number: xd.L1.Extendee = PlaceholderMessage(makeFullName(sb, v)) + case genid.FieldDescriptorProto_Options_field_number: + xd.unmarshalOptions(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + + if xd.L1.Kind == protoreflect.MessageKind && xd.L1.EditionFeatures.IsDelimitedEncoded { + xd.L1.Kind = protoreflect.GroupKind + } +} + +func (xd *Extension) unmarshalOptions(b []byte) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FieldOptions_Packed_field_number: + xd.L1.EditionFeatures.IsPacked = protowire.DecodeBool(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.FieldOptions_Features_field_number: + xd.L1.EditionFeatures = unmarshalFeatureSet(v, xd.L1.EditionFeatures) } default: m := protowire.ConsumeFieldValue(num, typ, b) diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go index 482a61c..570181e 100644 --- a/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go @@ -466,10 +466,10 @@ func (fd *Field) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoref b = b[m:] } } - if fd.Syntax() == protoreflect.Editions && fd.L1.Kind == protoreflect.MessageKind && fd.L1.EditionFeatures.IsDelimitedEncoded { + if fd.L1.Kind == protoreflect.MessageKind && fd.L1.EditionFeatures.IsDelimitedEncoded { fd.L1.Kind = protoreflect.GroupKind } - if fd.Syntax() == protoreflect.Editions && fd.L1.EditionFeatures.IsLegacyRequired { + if fd.L1.EditionFeatures.IsLegacyRequired { fd.L1.Cardinality = protoreflect.Required } if rawTypeName != nil { @@ -496,13 +496,11 @@ func (fd *Field) unmarshalOptions(b []byte) { b = b[m:] switch num { case genid.FieldOptions_Packed_field_number: - fd.L1.HasPacked = true - fd.L1.IsPacked = protowire.DecodeBool(v) + fd.L1.EditionFeatures.IsPacked = protowire.DecodeBool(v) case genid.FieldOptions_Weak_field_number: fd.L1.IsWeak = protowire.DecodeBool(v) case FieldOptions_EnforceUTF8: - fd.L1.HasEnforceUTF8 = true - fd.L1.EnforceUTF8 = protowire.DecodeBool(v) + fd.L1.EditionFeatures.IsUTF8Validated = protowire.DecodeBool(v) } case protowire.BytesType: v, m := protowire.ConsumeBytes(b) @@ -548,7 +546,6 @@ func (od *Oneof) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoref func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) { var rawTypeName []byte var rawOptions []byte - xd.L1.EditionFeatures = featuresFromParentDesc(xd.L1.Extendee) xd.L2 = new(ExtensionL2) for len(b) > 0 { num, typ, n := protowire.ConsumeTag(b) @@ -572,7 +569,6 @@ func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) { case genid.FieldDescriptorProto_TypeName_field_number: rawTypeName = v case genid.FieldDescriptorProto_Options_field_number: - xd.unmarshalOptions(v) rawOptions = appendOptions(rawOptions, v) } default: @@ -580,12 +576,6 @@ func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) { b = b[m:] } } - if xd.Syntax() == protoreflect.Editions && xd.L1.Kind == protoreflect.MessageKind && xd.L1.EditionFeatures.IsDelimitedEncoded { - xd.L1.Kind = protoreflect.GroupKind - } - if xd.Syntax() == protoreflect.Editions && xd.L1.EditionFeatures.IsLegacyRequired { - xd.L1.Cardinality = protoreflect.Required - } if rawTypeName != nil { name := makeFullName(sb, rawTypeName) switch xd.L1.Kind { @@ -598,32 +588,6 @@ func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) { xd.L2.Options = xd.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Field, rawOptions) } -func (xd *Extension) unmarshalOptions(b []byte) { - for len(b) > 0 { - num, typ, n := protowire.ConsumeTag(b) - b = b[n:] - switch typ { - case protowire.VarintType: - v, m := protowire.ConsumeVarint(b) - b = b[m:] - switch num { - case genid.FieldOptions_Packed_field_number: - xd.L2.IsPacked = protowire.DecodeBool(v) - } - case protowire.BytesType: - v, m := protowire.ConsumeBytes(b) - b = b[m:] - switch num { - case genid.FieldOptions_Features_field_number: - xd.L1.EditionFeatures = unmarshalFeatureSet(v, xd.L1.EditionFeatures) - } - default: - m := protowire.ConsumeFieldValue(num, typ, b) - b = b[m:] - } - } -} - func (sd *Service) unmarshalFull(b []byte, sb *strs.Builder) { var rawMethods [][]byte var rawOptions []byte diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go index 30db19f..f4107c0 100644 --- a/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go @@ -8,6 +8,7 @@ package filedesc import ( "fmt" + "strings" "sync" "google.golang.org/protobuf/internal/descfmt" @@ -198,6 +199,16 @@ func (p *Fields) lazyInit() *Fields { if _, ok := p.byText[d.TextName()]; !ok { p.byText[d.TextName()] = d } + if isGroupLike(d) { + lowerJSONName := strings.ToLower(d.JSONName()) + if _, ok := p.byJSON[lowerJSONName]; !ok { + p.byJSON[lowerJSONName] = d + } + lowerTextName := strings.ToLower(d.TextName()) + if _, ok := p.byText[lowerTextName]; !ok { + p.byText[lowerTextName] = d + } + } if _, ok := p.byNum[d.Number()]; !ok { p.byNum[d.Number()] = d } diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/editions.go b/vendor/google.golang.org/protobuf/internal/filedesc/editions.go index 0375a49..11f5f35 100644 --- a/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +++ b/vendor/google.golang.org/protobuf/internal/filedesc/editions.go @@ -14,9 +14,13 @@ import ( ) var defaultsCache = make(map[Edition]EditionFeatures) +var defaultsKeys = []Edition{} func init() { unmarshalEditionDefaults(editiondefaults.Defaults) + SurrogateProto2.L1.EditionFeatures = getFeaturesFor(EditionProto2) + SurrogateProto3.L1.EditionFeatures = getFeaturesFor(EditionProto3) + SurrogateEdition2023.L1.EditionFeatures = getFeaturesFor(Edition2023) } func unmarshalGoFeature(b []byte, parent EditionFeatures) EditionFeatures { @@ -104,12 +108,15 @@ func unmarshalEditionDefault(b []byte) { v, m := protowire.ConsumeBytes(b) b = b[m:] switch num { - case genid.FeatureSetDefaults_FeatureSetEditionDefault_Features_field_number: + case genid.FeatureSetDefaults_FeatureSetEditionDefault_FixedFeatures_field_number: + fs = unmarshalFeatureSet(v, fs) + case genid.FeatureSetDefaults_FeatureSetEditionDefault_OverridableFeatures_field_number: fs = unmarshalFeatureSet(v, fs) } } } defaultsCache[ed] = fs + defaultsKeys = append(defaultsKeys, ed) } func unmarshalEditionDefaults(b []byte) { @@ -135,8 +142,15 @@ func unmarshalEditionDefaults(b []byte) { } func getFeaturesFor(ed Edition) EditionFeatures { - if def, ok := defaultsCache[ed]; ok { - return def + match := EditionUnknown + for _, key := range defaultsKeys { + if key > ed { + break + } + match = key + } + if match == EditionUnknown { + panic(fmt.Sprintf("unsupported edition: %v", ed)) } - panic(fmt.Sprintf("unsupported edition: %v", ed)) + return defaultsCache[match] } diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go b/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go index 28240eb..bfb3b84 100644 --- a/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +++ b/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go @@ -63,6 +63,7 @@ func (e PlaceholderEnum) Options() protoreflect.ProtoMessage { return des func (e PlaceholderEnum) Values() protoreflect.EnumValueDescriptors { return emptyEnumValues } func (e PlaceholderEnum) ReservedNames() protoreflect.Names { return emptyNames } func (e PlaceholderEnum) ReservedRanges() protoreflect.EnumRanges { return emptyEnumRanges } +func (e PlaceholderEnum) IsClosed() bool { return false } func (e PlaceholderEnum) ProtoType(protoreflect.EnumDescriptor) { return } func (e PlaceholderEnum) ProtoInternal(pragma.DoNotImplement) { return } diff --git a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go index 40272c8..1447a11 100644 --- a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +++ b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go @@ -21,6 +21,7 @@ const ( // Enum values for google.protobuf.Edition. const ( Edition_EDITION_UNKNOWN_enum_value = 0 + Edition_EDITION_LEGACY_enum_value = 900 Edition_EDITION_PROTO2_enum_value = 998 Edition_EDITION_PROTO3_enum_value = 999 Edition_EDITION_2023_enum_value = 1000 @@ -653,6 +654,7 @@ const ( FieldOptions_Targets_field_name protoreflect.Name = "targets" FieldOptions_EditionDefaults_field_name protoreflect.Name = "edition_defaults" FieldOptions_Features_field_name protoreflect.Name = "features" + FieldOptions_FeatureSupport_field_name protoreflect.Name = "feature_support" FieldOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" FieldOptions_Ctype_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.ctype" @@ -667,6 +669,7 @@ const ( FieldOptions_Targets_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.targets" FieldOptions_EditionDefaults_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.edition_defaults" FieldOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.features" + FieldOptions_FeatureSupport_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.feature_support" FieldOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.uninterpreted_option" ) @@ -684,6 +687,7 @@ const ( FieldOptions_Targets_field_number protoreflect.FieldNumber = 19 FieldOptions_EditionDefaults_field_number protoreflect.FieldNumber = 20 FieldOptions_Features_field_number protoreflect.FieldNumber = 21 + FieldOptions_FeatureSupport_field_number protoreflect.FieldNumber = 22 FieldOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 ) @@ -767,6 +771,33 @@ const ( FieldOptions_EditionDefault_Value_field_number protoreflect.FieldNumber = 2 ) +// Names for google.protobuf.FieldOptions.FeatureSupport. +const ( + FieldOptions_FeatureSupport_message_name protoreflect.Name = "FeatureSupport" + FieldOptions_FeatureSupport_message_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport" +) + +// Field names for google.protobuf.FieldOptions.FeatureSupport. +const ( + FieldOptions_FeatureSupport_EditionIntroduced_field_name protoreflect.Name = "edition_introduced" + FieldOptions_FeatureSupport_EditionDeprecated_field_name protoreflect.Name = "edition_deprecated" + FieldOptions_FeatureSupport_DeprecationWarning_field_name protoreflect.Name = "deprecation_warning" + FieldOptions_FeatureSupport_EditionRemoved_field_name protoreflect.Name = "edition_removed" + + FieldOptions_FeatureSupport_EditionIntroduced_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.edition_introduced" + FieldOptions_FeatureSupport_EditionDeprecated_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.edition_deprecated" + FieldOptions_FeatureSupport_DeprecationWarning_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.deprecation_warning" + FieldOptions_FeatureSupport_EditionRemoved_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.edition_removed" +) + +// Field numbers for google.protobuf.FieldOptions.FeatureSupport. +const ( + FieldOptions_FeatureSupport_EditionIntroduced_field_number protoreflect.FieldNumber = 1 + FieldOptions_FeatureSupport_EditionDeprecated_field_number protoreflect.FieldNumber = 2 + FieldOptions_FeatureSupport_DeprecationWarning_field_number protoreflect.FieldNumber = 3 + FieldOptions_FeatureSupport_EditionRemoved_field_number protoreflect.FieldNumber = 4 +) + // Names for google.protobuf.OneofOptions. const ( OneofOptions_message_name protoreflect.Name = "OneofOptions" @@ -1110,17 +1141,20 @@ const ( // Field names for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault. const ( - FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_name protoreflect.Name = "edition" - FeatureSetDefaults_FeatureSetEditionDefault_Features_field_name protoreflect.Name = "features" + FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_name protoreflect.Name = "edition" + FeatureSetDefaults_FeatureSetEditionDefault_OverridableFeatures_field_name protoreflect.Name = "overridable_features" + FeatureSetDefaults_FeatureSetEditionDefault_FixedFeatures_field_name protoreflect.Name = "fixed_features" - FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition" - FeatureSetDefaults_FeatureSetEditionDefault_Features_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features" + FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition" + FeatureSetDefaults_FeatureSetEditionDefault_OverridableFeatures_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features" + FeatureSetDefaults_FeatureSetEditionDefault_FixedFeatures_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features" ) // Field numbers for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault. const ( - FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_number protoreflect.FieldNumber = 3 - FeatureSetDefaults_FeatureSetEditionDefault_Features_field_number protoreflect.FieldNumber = 2 + FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_number protoreflect.FieldNumber = 3 + FeatureSetDefaults_FeatureSetEditionDefault_OverridableFeatures_field_number protoreflect.FieldNumber = 4 + FeatureSetDefaults_FeatureSetEditionDefault_FixedFeatures_field_number protoreflect.FieldNumber = 5 ) // Names for google.protobuf.SourceCodeInfo. diff --git a/vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go b/vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go index fd9015e..9a652a2 100644 --- a/vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go +++ b/vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go @@ -10,7 +10,7 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" ) -const File_reflect_protodesc_proto_go_features_proto = "reflect/protodesc/proto/go_features.proto" +const File_google_protobuf_go_features_proto = "google/protobuf/go_features.proto" // Names for google.protobuf.GoFeatures. const ( diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_field.go b/vendor/google.golang.org/protobuf/internal/impl/codec_field.go index 3fadd24..78ee47e 100644 --- a/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_field.go @@ -233,9 +233,15 @@ func sizeMessageInfo(p pointer, f *coderFieldInfo, opts marshalOptions) int { } func appendMessageInfo(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + calculatedSize := f.mi.sizePointer(p.Elem(), opts) b = protowire.AppendVarint(b, f.wiretag) - b = protowire.AppendVarint(b, uint64(f.mi.sizePointer(p.Elem(), opts))) - return f.mi.marshalAppendPointer(b, p.Elem(), opts) + b = protowire.AppendVarint(b, uint64(calculatedSize)) + before := len(b) + b, err := f.mi.marshalAppendPointer(b, p.Elem(), opts) + if measuredSize := len(b) - before; calculatedSize != measuredSize && err == nil { + return nil, errors.MismatchedSizeCalculation(calculatedSize, measuredSize) + } + return b, err } func consumeMessageInfo(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { @@ -262,14 +268,21 @@ func isInitMessageInfo(p pointer, f *coderFieldInfo) error { return f.mi.checkInitializedPointer(p.Elem()) } -func sizeMessage(m proto.Message, tagsize int, _ marshalOptions) int { - return protowire.SizeBytes(proto.Size(m)) + tagsize +func sizeMessage(m proto.Message, tagsize int, opts marshalOptions) int { + return protowire.SizeBytes(opts.Options().Size(m)) + tagsize } func appendMessage(b []byte, m proto.Message, wiretag uint64, opts marshalOptions) ([]byte, error) { + mopts := opts.Options() + calculatedSize := mopts.Size(m) b = protowire.AppendVarint(b, wiretag) - b = protowire.AppendVarint(b, uint64(proto.Size(m))) - return opts.Options().MarshalAppend(b, m) + b = protowire.AppendVarint(b, uint64(calculatedSize)) + before := len(b) + b, err := mopts.MarshalAppend(b, m) + if measuredSize := len(b) - before; calculatedSize != measuredSize && err == nil { + return nil, errors.MismatchedSizeCalculation(calculatedSize, measuredSize) + } + return b, err } func consumeMessage(b []byte, m proto.Message, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, err error) { @@ -405,8 +418,8 @@ func consumeGroupType(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInf return f.mi.unmarshalPointer(b, p.Elem(), f.num, opts) } -func sizeGroup(m proto.Message, tagsize int, _ marshalOptions) int { - return 2*tagsize + proto.Size(m) +func sizeGroup(m proto.Message, tagsize int, opts marshalOptions) int { + return 2*tagsize + opts.Options().Size(m) } func appendGroup(b []byte, m proto.Message, wiretag uint64, opts marshalOptions) ([]byte, error) { @@ -482,10 +495,14 @@ func appendMessageSliceInfo(b []byte, p pointer, f *coderFieldInfo, opts marshal b = protowire.AppendVarint(b, f.wiretag) siz := f.mi.sizePointer(v, opts) b = protowire.AppendVarint(b, uint64(siz)) + before := len(b) b, err = f.mi.marshalAppendPointer(b, v, opts) if err != nil { return b, err } + if measuredSize := len(b) - before; siz != measuredSize { + return nil, errors.MismatchedSizeCalculation(siz, measuredSize) + } } return b, nil } @@ -520,28 +537,34 @@ func isInitMessageSliceInfo(p pointer, f *coderFieldInfo) error { return nil } -func sizeMessageSlice(p pointer, goType reflect.Type, tagsize int, _ marshalOptions) int { +func sizeMessageSlice(p pointer, goType reflect.Type, tagsize int, opts marshalOptions) int { + mopts := opts.Options() s := p.PointerSlice() n := 0 for _, v := range s { m := asMessage(v.AsValueOf(goType.Elem())) - n += protowire.SizeBytes(proto.Size(m)) + tagsize + n += protowire.SizeBytes(mopts.Size(m)) + tagsize } return n } func appendMessageSlice(b []byte, p pointer, wiretag uint64, goType reflect.Type, opts marshalOptions) ([]byte, error) { + mopts := opts.Options() s := p.PointerSlice() var err error for _, v := range s { m := asMessage(v.AsValueOf(goType.Elem())) b = protowire.AppendVarint(b, wiretag) - siz := proto.Size(m) + siz := mopts.Size(m) b = protowire.AppendVarint(b, uint64(siz)) - b, err = opts.Options().MarshalAppend(b, m) + before := len(b) + b, err = mopts.MarshalAppend(b, m) if err != nil { return b, err } + if measuredSize := len(b) - before; siz != measuredSize { + return nil, errors.MismatchedSizeCalculation(siz, measuredSize) + } } return b, nil } @@ -582,11 +605,12 @@ func isInitMessageSlice(p pointer, goType reflect.Type) error { // Slices of messages func sizeMessageSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) int { + mopts := opts.Options() list := listv.List() n := 0 for i, llen := 0, list.Len(); i < llen; i++ { m := list.Get(i).Message().Interface() - n += protowire.SizeBytes(proto.Size(m)) + tagsize + n += protowire.SizeBytes(mopts.Size(m)) + tagsize } return n } @@ -597,13 +621,17 @@ func appendMessageSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, for i, llen := 0, list.Len(); i < llen; i++ { m := list.Get(i).Message().Interface() b = protowire.AppendVarint(b, wiretag) - siz := proto.Size(m) + siz := mopts.Size(m) b = protowire.AppendVarint(b, uint64(siz)) + before := len(b) var err error b, err = mopts.MarshalAppend(b, m) if err != nil { return b, err } + if measuredSize := len(b) - before; siz != measuredSize { + return nil, errors.MismatchedSizeCalculation(siz, measuredSize) + } } return b, nil } @@ -651,11 +679,12 @@ var coderMessageSliceValue = valueCoderFuncs{ } func sizeGroupSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) int { + mopts := opts.Options() list := listv.List() n := 0 for i, llen := 0, list.Len(); i < llen; i++ { m := list.Get(i).Message().Interface() - n += 2*tagsize + proto.Size(m) + n += 2*tagsize + mopts.Size(m) } return n } @@ -738,12 +767,13 @@ func makeGroupSliceFieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type) } } -func sizeGroupSlice(p pointer, messageType reflect.Type, tagsize int, _ marshalOptions) int { +func sizeGroupSlice(p pointer, messageType reflect.Type, tagsize int, opts marshalOptions) int { + mopts := opts.Options() s := p.PointerSlice() n := 0 for _, v := range s { m := asMessage(v.AsValueOf(messageType.Elem())) - n += 2*tagsize + proto.Size(m) + n += 2*tagsize + mopts.Size(m) } return n } diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_map.go b/vendor/google.golang.org/protobuf/internal/impl/codec_map.go index 111b9d1..fb35f0b 100644 --- a/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +++ b/vendor/google.golang.org/protobuf/internal/impl/codec_map.go @@ -9,6 +9,7 @@ import ( "sort" "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" "google.golang.org/protobuf/internal/genid" "google.golang.org/protobuf/reflect/protoreflect" ) @@ -240,11 +241,16 @@ func appendMapItem(b []byte, keyrv, valrv reflect.Value, mapi *mapInfo, f *coder size += mapi.keyFuncs.size(key.Value(), mapKeyTagSize, opts) size += mapi.valFuncs.size(val, mapValTagSize, opts) b = protowire.AppendVarint(b, uint64(size)) + before := len(b) b, err := mapi.keyFuncs.marshal(b, key.Value(), mapi.keyWiretag, opts) if err != nil { return nil, err } - return mapi.valFuncs.marshal(b, val, mapi.valWiretag, opts) + b, err = mapi.valFuncs.marshal(b, val, mapi.valWiretag, opts) + if measuredSize := len(b) - before; size != measuredSize && err == nil { + return nil, errors.MismatchedSizeCalculation(size, measuredSize) + } + return b, err } else { key := mapi.conv.keyConv.PBValueOf(keyrv).MapKey() val := pointerOfValue(valrv) @@ -259,7 +265,12 @@ func appendMapItem(b []byte, keyrv, valrv reflect.Value, mapi *mapInfo, f *coder } b = protowire.AppendVarint(b, mapi.valWiretag) b = protowire.AppendVarint(b, uint64(valSize)) - return f.mi.marshalAppendPointer(b, val, opts) + before := len(b) + b, err = f.mi.marshalAppendPointer(b, val, opts) + if measuredSize := len(b) - before; valSize != measuredSize && err == nil { + return nil, errors.MismatchedSizeCalculation(valSize, measuredSize) + } + return b, err } } diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go index c2a803b..c1c33d0 100644 --- a/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +++ b/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go @@ -167,6 +167,7 @@ func aberrantLoadEnumDesc(t reflect.Type) protoreflect.EnumDescriptor { ed := &filedesc.Enum{L2: new(filedesc.EnumL2)} ed.L0.FullName = AberrantDeriveFullName(t) // e.g., github_com.user.repo.MyEnum ed.L0.ParentFile = filedesc.SurrogateProto3 + ed.L1.EditionFeatures = ed.L0.ParentFile.L1.EditionFeatures ed.L2.Values.List = append(ed.L2.Values.List, filedesc.EnumValue{}) // TODO: Use the presence of a UnmarshalJSON method to determine proto2? diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go index 87b30d0..6e8677e 100644 --- a/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +++ b/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go @@ -118,7 +118,7 @@ func (xi *ExtensionInfo) initFromLegacy() { xd.L1.Number = protoreflect.FieldNumber(xi.Field) xd.L1.Cardinality = fd.L1.Cardinality xd.L1.Kind = fd.L1.Kind - xd.L2.IsPacked = fd.L1.IsPacked + xd.L1.EditionFeatures = fd.L1.EditionFeatures xd.L2.Default = fd.L1.Default xd.L1.Extendee = Export{}.MessageDescriptorOf(xi.ExtendedType) xd.L2.Enum = ed diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go index 9ab0910..b649f11 100644 --- a/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +++ b/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go @@ -7,7 +7,7 @@ package impl import ( "bytes" "compress/gzip" - "io/ioutil" + "io" "sync" "google.golang.org/protobuf/internal/filedesc" @@ -51,7 +51,7 @@ func legacyLoadFileDesc(b []byte) protoreflect.FileDescriptor { if err != nil { panic(err) } - b2, err := ioutil.ReadAll(zr) + b2, err := io.ReadAll(zr) if err != nil { panic(err) } diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go index 2ab2c62..950e9a1 100644 --- a/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +++ b/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go @@ -204,6 +204,7 @@ func aberrantLoadMessageDescReentrant(t reflect.Type, name protoreflect.FullName } } + md.L1.EditionFeatures = md.L0.ParentFile.L1.EditionFeatures // Obtain a list of oneof wrapper types. var oneofWrappers []reflect.Type methods := make([]reflect.Method, 0, 2) @@ -250,6 +251,7 @@ func aberrantLoadMessageDescReentrant(t reflect.Type, name protoreflect.FullName od := &md.L2.Oneofs.List[n] od.L0.FullName = md.FullName().Append(protoreflect.Name(tag)) od.L0.ParentFile = md.L0.ParentFile + od.L1.EditionFeatures = md.L1.EditionFeatures od.L0.Parent = md od.L0.Index = n @@ -260,6 +262,7 @@ func aberrantLoadMessageDescReentrant(t reflect.Type, name protoreflect.FullName aberrantAppendField(md, f.Type, tag, "", "") fd := &md.L2.Fields.List[len(md.L2.Fields.List)-1] fd.L1.ContainingOneof = od + fd.L1.EditionFeatures = od.L1.EditionFeatures od.L1.Fields.List = append(od.L1.Fields.List, fd) } } @@ -307,14 +310,14 @@ func aberrantAppendField(md *filedesc.Message, goType reflect.Type, tag, tagKey, fd.L0.Parent = md fd.L0.Index = n - if fd.L1.IsWeak || fd.L1.HasPacked { + if fd.L1.IsWeak || fd.L1.EditionFeatures.IsPacked { fd.L1.Options = func() protoreflect.ProtoMessage { opts := descopts.Field.ProtoReflect().New() if fd.L1.IsWeak { opts.Set(opts.Descriptor().Fields().ByName("weak"), protoreflect.ValueOfBool(true)) } - if fd.L1.HasPacked { - opts.Set(opts.Descriptor().Fields().ByName("packed"), protoreflect.ValueOfBool(fd.L1.IsPacked)) + if fd.L1.EditionFeatures.IsPacked { + opts.Set(opts.Descriptor().Fields().ByName("packed"), protoreflect.ValueOfBool(fd.L1.EditionFeatures.IsPacked)) } return opts.Interface() } @@ -344,6 +347,7 @@ func aberrantAppendField(md *filedesc.Message, goType reflect.Type, tag, tagKey, md2.L0.ParentFile = md.L0.ParentFile md2.L0.Parent = md md2.L0.Index = n + md2.L1.EditionFeatures = md.L1.EditionFeatures md2.L1.IsMapEntry = true md2.L2.Options = func() protoreflect.ProtoMessage { diff --git a/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go b/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go index d9ea010..a6f0dbd 100644 --- a/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +++ b/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go @@ -247,11 +247,10 @@ func (m *extensionMap) Range(f func(protoreflect.FieldDescriptor, protoreflect.V } } } -func (m *extensionMap) Has(xt protoreflect.ExtensionType) (ok bool) { +func (m *extensionMap) Has(xd protoreflect.ExtensionTypeDescriptor) (ok bool) { if m == nil { return false } - xd := xt.TypeDescriptor() x, ok := (*m)[int32(xd.Number())] if !ok { return false @@ -261,25 +260,22 @@ func (m *extensionMap) Has(xt protoreflect.ExtensionType) (ok bool) { return x.Value().List().Len() > 0 case xd.IsMap(): return x.Value().Map().Len() > 0 - case xd.Message() != nil: - return x.Value().Message().IsValid() } return true } -func (m *extensionMap) Clear(xt protoreflect.ExtensionType) { - delete(*m, int32(xt.TypeDescriptor().Number())) +func (m *extensionMap) Clear(xd protoreflect.ExtensionTypeDescriptor) { + delete(*m, int32(xd.Number())) } -func (m *extensionMap) Get(xt protoreflect.ExtensionType) protoreflect.Value { - xd := xt.TypeDescriptor() +func (m *extensionMap) Get(xd protoreflect.ExtensionTypeDescriptor) protoreflect.Value { if m != nil { if x, ok := (*m)[int32(xd.Number())]; ok { return x.Value() } } - return xt.Zero() + return xd.Type().Zero() } -func (m *extensionMap) Set(xt protoreflect.ExtensionType, v protoreflect.Value) { - xd := xt.TypeDescriptor() +func (m *extensionMap) Set(xd protoreflect.ExtensionTypeDescriptor, v protoreflect.Value) { + xt := xd.Type() isValid := true switch { case !xt.IsValidValue(v): @@ -292,7 +288,7 @@ func (m *extensionMap) Set(xt protoreflect.ExtensionType, v protoreflect.Value) isValid = v.Message().IsValid() } if !isValid { - panic(fmt.Sprintf("%v: assigning invalid value", xt.TypeDescriptor().FullName())) + panic(fmt.Sprintf("%v: assigning invalid value", xd.FullName())) } if *m == nil { @@ -302,16 +298,15 @@ func (m *extensionMap) Set(xt protoreflect.ExtensionType, v protoreflect.Value) x.Set(xt, v) (*m)[int32(xd.Number())] = x } -func (m *extensionMap) Mutable(xt protoreflect.ExtensionType) protoreflect.Value { - xd := xt.TypeDescriptor() +func (m *extensionMap) Mutable(xd protoreflect.ExtensionTypeDescriptor) protoreflect.Value { if xd.Kind() != protoreflect.MessageKind && xd.Kind() != protoreflect.GroupKind && !xd.IsList() && !xd.IsMap() { panic("invalid Mutable on field with non-composite type") } if x, ok := (*m)[int32(xd.Number())]; ok { return x.Value() } - v := xt.New() - m.Set(xt, v) + v := xd.Type().New() + m.Set(xd, v) return v } @@ -428,7 +423,7 @@ func (m *messageIfaceWrapper) protoUnwrap() interface{} { // checkField verifies that the provided field descriptor is valid. // Exactly one of the returned values is populated. -func (mi *MessageInfo) checkField(fd protoreflect.FieldDescriptor) (*fieldInfo, protoreflect.ExtensionType) { +func (mi *MessageInfo) checkField(fd protoreflect.FieldDescriptor) (*fieldInfo, protoreflect.ExtensionTypeDescriptor) { var fi *fieldInfo if n := fd.Number(); 0 < n && int(n) < len(mi.denseFields) { fi = mi.denseFields[n] @@ -457,7 +452,7 @@ func (mi *MessageInfo) checkField(fd protoreflect.FieldDescriptor) (*fieldInfo, if !ok { panic(fmt.Sprintf("extension %v does not implement protoreflect.ExtensionTypeDescriptor", fd.FullName())) } - return nil, xtd.Type() + return nil, xtd } panic(fmt.Sprintf("field %v is invalid", fd.FullName())) } diff --git a/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go b/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go index 741d6e5..29ba6bd 100644 --- a/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +++ b/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go @@ -27,8 +27,9 @@ func (m *messageState) protoUnwrap() interface{} { return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem()) } func (m *messageState) ProtoMethods() *protoiface.Methods { - m.messageInfo().init() - return &m.messageInfo().methods + mi := m.messageInfo() + mi.init() + return &mi.methods } // ProtoMessageInfo is a pseudo-internal API for allowing the v1 code @@ -41,8 +42,9 @@ func (m *messageState) ProtoMessageInfo() *MessageInfo { } func (m *messageState) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - m.messageInfo().init() - for _, ri := range m.messageInfo().rangeInfos { + mi := m.messageInfo() + mi.init() + for _, ri := range mi.rangeInfos { switch ri := ri.(type) { case *fieldInfo: if ri.has(m.pointer()) { @@ -52,77 +54,86 @@ func (m *messageState) Range(f func(protoreflect.FieldDescriptor, protoreflect.V } case *oneofInfo: if n := ri.which(m.pointer()); n > 0 { - fi := m.messageInfo().fields[n] + fi := mi.fields[n] if !f(fi.fieldDesc, fi.get(m.pointer())) { return } } } } - m.messageInfo().extensionMap(m.pointer()).Range(f) + mi.extensionMap(m.pointer()).Range(f) } func (m *messageState) Has(fd protoreflect.FieldDescriptor) bool { - m.messageInfo().init() - if fi, xt := m.messageInfo().checkField(fd); fi != nil { + mi := m.messageInfo() + mi.init() + if fi, xd := mi.checkField(fd); fi != nil { return fi.has(m.pointer()) } else { - return m.messageInfo().extensionMap(m.pointer()).Has(xt) + return mi.extensionMap(m.pointer()).Has(xd) } } func (m *messageState) Clear(fd protoreflect.FieldDescriptor) { - m.messageInfo().init() - if fi, xt := m.messageInfo().checkField(fd); fi != nil { + mi := m.messageInfo() + mi.init() + if fi, xd := mi.checkField(fd); fi != nil { fi.clear(m.pointer()) } else { - m.messageInfo().extensionMap(m.pointer()).Clear(xt) + mi.extensionMap(m.pointer()).Clear(xd) } } func (m *messageState) Get(fd protoreflect.FieldDescriptor) protoreflect.Value { - m.messageInfo().init() - if fi, xt := m.messageInfo().checkField(fd); fi != nil { + mi := m.messageInfo() + mi.init() + if fi, xd := mi.checkField(fd); fi != nil { return fi.get(m.pointer()) } else { - return m.messageInfo().extensionMap(m.pointer()).Get(xt) + return mi.extensionMap(m.pointer()).Get(xd) } } func (m *messageState) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) { - m.messageInfo().init() - if fi, xt := m.messageInfo().checkField(fd); fi != nil { + mi := m.messageInfo() + mi.init() + if fi, xd := mi.checkField(fd); fi != nil { fi.set(m.pointer(), v) } else { - m.messageInfo().extensionMap(m.pointer()).Set(xt, v) + mi.extensionMap(m.pointer()).Set(xd, v) } } func (m *messageState) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - m.messageInfo().init() - if fi, xt := m.messageInfo().checkField(fd); fi != nil { + mi := m.messageInfo() + mi.init() + if fi, xd := mi.checkField(fd); fi != nil { return fi.mutable(m.pointer()) } else { - return m.messageInfo().extensionMap(m.pointer()).Mutable(xt) + return mi.extensionMap(m.pointer()).Mutable(xd) } } func (m *messageState) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - m.messageInfo().init() - if fi, xt := m.messageInfo().checkField(fd); fi != nil { + mi := m.messageInfo() + mi.init() + if fi, xd := mi.checkField(fd); fi != nil { return fi.newField() } else { - return xt.New() + return xd.Type().New() } } func (m *messageState) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - m.messageInfo().init() - if oi := m.messageInfo().oneofs[od.Name()]; oi != nil && oi.oneofDesc == od { + mi := m.messageInfo() + mi.init() + if oi := mi.oneofs[od.Name()]; oi != nil && oi.oneofDesc == od { return od.Fields().ByNumber(oi.which(m.pointer())) } panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName())) } func (m *messageState) GetUnknown() protoreflect.RawFields { - m.messageInfo().init() - return m.messageInfo().getUnknown(m.pointer()) + mi := m.messageInfo() + mi.init() + return mi.getUnknown(m.pointer()) } func (m *messageState) SetUnknown(b protoreflect.RawFields) { - m.messageInfo().init() - m.messageInfo().setUnknown(m.pointer(), b) + mi := m.messageInfo() + mi.init() + mi.setUnknown(m.pointer(), b) } func (m *messageState) IsValid() bool { return !m.pointer().IsNil() @@ -147,8 +158,9 @@ func (m *messageReflectWrapper) protoUnwrap() interface{} { return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem()) } func (m *messageReflectWrapper) ProtoMethods() *protoiface.Methods { - m.messageInfo().init() - return &m.messageInfo().methods + mi := m.messageInfo() + mi.init() + return &mi.methods } // ProtoMessageInfo is a pseudo-internal API for allowing the v1 code @@ -161,8 +173,9 @@ func (m *messageReflectWrapper) ProtoMessageInfo() *MessageInfo { } func (m *messageReflectWrapper) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - m.messageInfo().init() - for _, ri := range m.messageInfo().rangeInfos { + mi := m.messageInfo() + mi.init() + for _, ri := range mi.rangeInfos { switch ri := ri.(type) { case *fieldInfo: if ri.has(m.pointer()) { @@ -172,77 +185,86 @@ func (m *messageReflectWrapper) Range(f func(protoreflect.FieldDescriptor, proto } case *oneofInfo: if n := ri.which(m.pointer()); n > 0 { - fi := m.messageInfo().fields[n] + fi := mi.fields[n] if !f(fi.fieldDesc, fi.get(m.pointer())) { return } } } } - m.messageInfo().extensionMap(m.pointer()).Range(f) + mi.extensionMap(m.pointer()).Range(f) } func (m *messageReflectWrapper) Has(fd protoreflect.FieldDescriptor) bool { - m.messageInfo().init() - if fi, xt := m.messageInfo().checkField(fd); fi != nil { + mi := m.messageInfo() + mi.init() + if fi, xd := mi.checkField(fd); fi != nil { return fi.has(m.pointer()) } else { - return m.messageInfo().extensionMap(m.pointer()).Has(xt) + return mi.extensionMap(m.pointer()).Has(xd) } } func (m *messageReflectWrapper) Clear(fd protoreflect.FieldDescriptor) { - m.messageInfo().init() - if fi, xt := m.messageInfo().checkField(fd); fi != nil { + mi := m.messageInfo() + mi.init() + if fi, xd := mi.checkField(fd); fi != nil { fi.clear(m.pointer()) } else { - m.messageInfo().extensionMap(m.pointer()).Clear(xt) + mi.extensionMap(m.pointer()).Clear(xd) } } func (m *messageReflectWrapper) Get(fd protoreflect.FieldDescriptor) protoreflect.Value { - m.messageInfo().init() - if fi, xt := m.messageInfo().checkField(fd); fi != nil { + mi := m.messageInfo() + mi.init() + if fi, xd := mi.checkField(fd); fi != nil { return fi.get(m.pointer()) } else { - return m.messageInfo().extensionMap(m.pointer()).Get(xt) + return mi.extensionMap(m.pointer()).Get(xd) } } func (m *messageReflectWrapper) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) { - m.messageInfo().init() - if fi, xt := m.messageInfo().checkField(fd); fi != nil { + mi := m.messageInfo() + mi.init() + if fi, xd := mi.checkField(fd); fi != nil { fi.set(m.pointer(), v) } else { - m.messageInfo().extensionMap(m.pointer()).Set(xt, v) + mi.extensionMap(m.pointer()).Set(xd, v) } } func (m *messageReflectWrapper) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - m.messageInfo().init() - if fi, xt := m.messageInfo().checkField(fd); fi != nil { + mi := m.messageInfo() + mi.init() + if fi, xd := mi.checkField(fd); fi != nil { return fi.mutable(m.pointer()) } else { - return m.messageInfo().extensionMap(m.pointer()).Mutable(xt) + return mi.extensionMap(m.pointer()).Mutable(xd) } } func (m *messageReflectWrapper) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - m.messageInfo().init() - if fi, xt := m.messageInfo().checkField(fd); fi != nil { + mi := m.messageInfo() + mi.init() + if fi, xd := mi.checkField(fd); fi != nil { return fi.newField() } else { - return xt.New() + return xd.Type().New() } } func (m *messageReflectWrapper) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - m.messageInfo().init() - if oi := m.messageInfo().oneofs[od.Name()]; oi != nil && oi.oneofDesc == od { + mi := m.messageInfo() + mi.init() + if oi := mi.oneofs[od.Name()]; oi != nil && oi.oneofDesc == od { return od.Fields().ByNumber(oi.which(m.pointer())) } panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName())) } func (m *messageReflectWrapper) GetUnknown() protoreflect.RawFields { - m.messageInfo().init() - return m.messageInfo().getUnknown(m.pointer()) + mi := m.messageInfo() + mi.init() + return mi.getUnknown(m.pointer()) } func (m *messageReflectWrapper) SetUnknown(b protoreflect.RawFields) { - m.messageInfo().init() - m.messageInfo().setUnknown(m.pointer(), b) + mi := m.messageInfo() + mi.init() + mi.setUnknown(m.pointer(), b) } func (m *messageReflectWrapper) IsValid() bool { return !m.pointer().IsNil() diff --git a/vendor/google.golang.org/protobuf/internal/version/version.go b/vendor/google.golang.org/protobuf/internal/version/version.go index a50fcfb..a3cba50 100644 --- a/vendor/google.golang.org/protobuf/internal/version/version.go +++ b/vendor/google.golang.org/protobuf/internal/version/version.go @@ -51,8 +51,8 @@ import ( // 10. Send out the CL for review and submit it. const ( Major = 1 - Minor = 33 - Patch = 0 + Minor = 34 + Patch = 1 PreRelease = "" ) diff --git a/vendor/google.golang.org/protobuf/proto/decode.go b/vendor/google.golang.org/protobuf/proto/decode.go index e5b03b5..d75a653 100644 --- a/vendor/google.golang.org/protobuf/proto/decode.go +++ b/vendor/google.golang.org/protobuf/proto/decode.go @@ -51,6 +51,8 @@ type UnmarshalOptions struct { // Unmarshal parses the wire-format message in b and places the result in m. // The provided message must be mutable (e.g., a non-nil pointer to a message). +// +// See the [UnmarshalOptions] type if you need more control. func Unmarshal(b []byte, m Message) error { _, err := UnmarshalOptions{RecursionLimit: protowire.DefaultRecursionLimit}.unmarshal(b, m.ProtoReflect()) return err diff --git a/vendor/google.golang.org/protobuf/proto/encode.go b/vendor/google.golang.org/protobuf/proto/encode.go index 4fed202..1f847bc 100644 --- a/vendor/google.golang.org/protobuf/proto/encode.go +++ b/vendor/google.golang.org/protobuf/proto/encode.go @@ -5,12 +5,17 @@ package proto import ( + "errors" + "fmt" + "google.golang.org/protobuf/encoding/protowire" "google.golang.org/protobuf/internal/encoding/messageset" "google.golang.org/protobuf/internal/order" "google.golang.org/protobuf/internal/pragma" "google.golang.org/protobuf/reflect/protoreflect" "google.golang.org/protobuf/runtime/protoiface" + + protoerrors "google.golang.org/protobuf/internal/errors" ) // MarshalOptions configures the marshaler. @@ -70,7 +75,32 @@ type MarshalOptions struct { UseCachedSize bool } +// flags turns the specified MarshalOptions (user-facing) into +// protoiface.MarshalInputFlags (used internally by the marshaler). +// +// See impl.marshalOptions.Options for the inverse operation. +func (o MarshalOptions) flags() protoiface.MarshalInputFlags { + var flags protoiface.MarshalInputFlags + + // Note: o.AllowPartial is always forced to true by MarshalOptions.marshal, + // which is why it is not a part of MarshalInputFlags. + + if o.Deterministic { + flags |= protoiface.MarshalDeterministic + } + + if o.UseCachedSize { + flags |= protoiface.MarshalUseCachedSize + } + + return flags +} + // Marshal returns the wire-format encoding of m. +// +// This is the most common entry point for encoding a Protobuf message. +// +// See the [MarshalOptions] type if you need more control. func Marshal(m Message) ([]byte, error) { // Treat nil message interface as an empty message; nothing to output. if m == nil { @@ -116,6 +146,9 @@ func emptyBytesForMessage(m Message) []byte { // MarshalAppend appends the wire-format encoding of m to b, // returning the result. +// +// This is a less common entry point than [Marshal], which is only needed if you +// need to supply your own buffers for performance reasons. func (o MarshalOptions) MarshalAppend(b []byte, m Message) ([]byte, error) { // Treat nil message interface as an empty message; nothing to append. if m == nil { @@ -145,12 +178,7 @@ func (o MarshalOptions) marshal(b []byte, m protoreflect.Message) (out protoifac in := protoiface.MarshalInput{ Message: m, Buf: b, - } - if o.Deterministic { - in.Flags |= protoiface.MarshalDeterministic - } - if o.UseCachedSize { - in.Flags |= protoiface.MarshalUseCachedSize + Flags: o.flags(), } if methods.Size != nil { sout := methods.Size(protoiface.SizeInput{ @@ -168,6 +196,10 @@ func (o MarshalOptions) marshal(b []byte, m protoreflect.Message) (out protoifac out.Buf, err = o.marshalMessageSlow(b, m) } if err != nil { + var mismatch *protoerrors.SizeMismatchError + if errors.As(err, &mismatch) { + return out, fmt.Errorf("marshaling %s: %v", string(m.Descriptor().FullName()), err) + } return out, err } if allowPartial { diff --git a/vendor/google.golang.org/protobuf/proto/extension.go b/vendor/google.golang.org/protobuf/proto/extension.go index 17899a3..c9c8721 100644 --- a/vendor/google.golang.org/protobuf/proto/extension.go +++ b/vendor/google.golang.org/protobuf/proto/extension.go @@ -11,18 +11,21 @@ import ( // HasExtension reports whether an extension field is populated. // It returns false if m is invalid or if xt does not extend m. func HasExtension(m Message, xt protoreflect.ExtensionType) bool { - // Treat nil message interface as an empty message; no populated fields. - if m == nil { + // Treat nil message interface or descriptor as an empty message; no populated + // fields. + if m == nil || xt == nil { return false } // As a special-case, we reports invalid or mismatching descriptors // as always not being populated (since they aren't). - if xt == nil || m.ProtoReflect().Descriptor() != xt.TypeDescriptor().ContainingMessage() { + mr := m.ProtoReflect() + xd := xt.TypeDescriptor() + if mr.Descriptor() != xd.ContainingMessage() { return false } - return m.ProtoReflect().Has(xt.TypeDescriptor()) + return mr.Has(xd) } // ClearExtension clears an extension field such that subsequent diff --git a/vendor/google.golang.org/protobuf/proto/messageset.go b/vendor/google.golang.org/protobuf/proto/messageset.go index 312d5d4..575d148 100644 --- a/vendor/google.golang.org/protobuf/proto/messageset.go +++ b/vendor/google.golang.org/protobuf/proto/messageset.go @@ -47,11 +47,16 @@ func (o MarshalOptions) marshalMessageSet(b []byte, m protoreflect.Message) ([]b func (o MarshalOptions) marshalMessageSetField(b []byte, fd protoreflect.FieldDescriptor, value protoreflect.Value) ([]byte, error) { b = messageset.AppendFieldStart(b, fd.Number()) b = protowire.AppendTag(b, messageset.FieldMessage, protowire.BytesType) - b = protowire.AppendVarint(b, uint64(o.Size(value.Message().Interface()))) + calculatedSize := o.Size(value.Message().Interface()) + b = protowire.AppendVarint(b, uint64(calculatedSize)) + before := len(b) b, err := o.marshalMessage(b, value.Message()) if err != nil { return b, err } + if measuredSize := len(b) - before; calculatedSize != measuredSize { + return nil, errors.MismatchedSizeCalculation(calculatedSize, measuredSize) + } b = messageset.AppendFieldEnd(b) return b, nil } diff --git a/vendor/google.golang.org/protobuf/proto/size.go b/vendor/google.golang.org/protobuf/proto/size.go index f1692b4..052fb5a 100644 --- a/vendor/google.golang.org/protobuf/proto/size.go +++ b/vendor/google.golang.org/protobuf/proto/size.go @@ -34,6 +34,7 @@ func (o MarshalOptions) size(m protoreflect.Message) (size int) { if methods != nil && methods.Size != nil { out := methods.Size(protoiface.SizeInput{ Message: m, + Flags: o.flags(), }) return out.Size } @@ -42,6 +43,7 @@ func (o MarshalOptions) size(m protoreflect.Message) (size int) { // This case is mainly used for legacy types with a Marshal method. out, _ := methods.Marshal(protoiface.MarshalInput{ Message: m, + Flags: o.flags(), }) return len(out.Buf) } diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go index 00b01fb..c85bfaa 100644 --- a/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go @@ -161,7 +161,7 @@ const ( // IsValid reports whether the syntax is valid. func (s Syntax) IsValid() bool { switch s { - case Proto2, Proto3: + case Proto2, Proto3, Editions: return true default: return false diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go index 7dcc2ff..00102d3 100644 --- a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go @@ -373,6 +373,8 @@ func (p *SourcePath) appendFieldOptions(b []byte) []byte { b = p.appendRepeatedField(b, "edition_defaults", (*SourcePath).appendFieldOptions_EditionDefault) case 21: b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet) + case 22: + b = p.appendSingularField(b, "feature_support", (*SourcePath).appendFieldOptions_FeatureSupport) case 999: b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) } @@ -519,6 +521,23 @@ func (p *SourcePath) appendFieldOptions_EditionDefault(b []byte) []byte { return b } +func (p *SourcePath) appendFieldOptions_FeatureSupport(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "edition_introduced", nil) + case 2: + b = p.appendSingularField(b, "edition_deprecated", nil) + case 3: + b = p.appendSingularField(b, "deprecation_warning", nil) + case 4: + b = p.appendSingularField(b, "edition_removed", nil) + } + return b +} + func (p *SourcePath) appendUninterpretedOption_NamePart(b []byte) []byte { if len(*p) == 0 { return b diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go index 60ff62b..5b80afe 100644 --- a/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go @@ -544,6 +544,12 @@ type EnumDescriptor interface { // ReservedRanges is a list of reserved ranges of enum numbers. ReservedRanges() EnumRanges + // IsClosed reports whether this enum uses closed semantics. + // See https://protobuf.dev/programming-guides/enum/#definitions. + // Note: the Go protobuf implementation is not spec compliant and treats + // all enums as open enums. + IsClosed() bool + isEnumDescriptor } type isEnumDescriptor interface{ ProtoType(EnumDescriptor) } diff --git a/vendor/modules.txt b/vendor/modules.txt index d35a410..4b055e9 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1,8 +1,8 @@ # github.com/beorn7/perks v1.0.1 ## explicit; go 1.11 github.com/beorn7/perks/quantile -# github.com/bytedance/sonic v1.9.1 -## explicit; go 1.15 +# github.com/bytedance/sonic v1.11.6 +## explicit; go 1.16 github.com/bytedance/sonic github.com/bytedance/sonic/ast github.com/bytedance/sonic/decoder @@ -12,28 +12,38 @@ github.com/bytedance/sonic/internal/cpu github.com/bytedance/sonic/internal/decoder github.com/bytedance/sonic/internal/encoder github.com/bytedance/sonic/internal/jit -github.com/bytedance/sonic/internal/loader github.com/bytedance/sonic/internal/native github.com/bytedance/sonic/internal/native/avx github.com/bytedance/sonic/internal/native/avx2 +github.com/bytedance/sonic/internal/native/neon github.com/bytedance/sonic/internal/native/sse github.com/bytedance/sonic/internal/native/types github.com/bytedance/sonic/internal/resolver github.com/bytedance/sonic/internal/rt -github.com/bytedance/sonic/loader github.com/bytedance/sonic/option github.com/bytedance/sonic/unquote github.com/bytedance/sonic/utf8 +# github.com/bytedance/sonic/loader v0.1.1 +## explicit; go 1.16 +github.com/bytedance/sonic/loader +github.com/bytedance/sonic/loader/internal/abi +github.com/bytedance/sonic/loader/internal/rt # github.com/cespare/xxhash/v2 v2.2.0 ## explicit; go 1.11 github.com/cespare/xxhash/v2 # github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 ## explicit; go 1.15 -github.com/chenzhuoyu/base64x +# github.com/cloudwego/base64x v0.1.4 +## explicit; go 1.16 +github.com/cloudwego/base64x +# github.com/cloudwego/iasm v0.2.0 +## explicit; go 1.16 +github.com/cloudwego/iasm/expr +github.com/cloudwego/iasm/x86_64 # github.com/davecgh/go-spew v1.1.1 ## explicit github.com/davecgh/go-spew/spew -# github.com/gabriel-vasile/mimetype v1.4.2 +# github.com/gabriel-vasile/mimetype v1.4.3 ## explicit; go 1.20 github.com/gabriel-vasile/mimetype github.com/gabriel-vasile/mimetype/internal/charset @@ -42,7 +52,7 @@ github.com/gabriel-vasile/mimetype/internal/magic # github.com/gin-contrib/sse v0.1.0 ## explicit; go 1.12 github.com/gin-contrib/sse -# github.com/gin-gonic/gin v1.9.1 +# github.com/gin-gonic/gin v1.10.0 ## explicit; go 1.20 github.com/gin-gonic/gin github.com/gin-gonic/gin/binding @@ -56,7 +66,7 @@ github.com/go-playground/locales/currency # github.com/go-playground/universal-translator v0.18.1 ## explicit; go 1.18 github.com/go-playground/universal-translator -# github.com/go-playground/validator/v10 v10.14.0 +# github.com/go-playground/validator/v10 v10.20.0 ## explicit; go 1.18 github.com/go-playground/validator/v10 # github.com/goccy/go-json v0.10.2 @@ -76,18 +86,19 @@ github.com/jonboulle/clockwork # github.com/json-iterator/go v1.1.12 ## explicit; go 1.12 github.com/json-iterator/go -# github.com/klauspost/cpuid/v2 v2.2.4 +# github.com/klauspost/cpuid/v2 v2.2.7 ## explicit; go 1.15 github.com/klauspost/cpuid/v2 # github.com/kr/text v0.2.0 ## explicit -# github.com/leodido/go-urn v1.2.4 -## explicit; go 1.16 +# github.com/leodido/go-urn v1.4.0 +## explicit; go 1.18 github.com/leodido/go-urn -# github.com/mattn/go-isatty v0.0.19 +github.com/leodido/go-urn/scim/schema +# github.com/mattn/go-isatty v0.0.20 ## explicit; go 1.15 github.com/mattn/go-isatty -# github.com/miekg/dns v1.1.58 +# github.com/miekg/dns v1.1.61 ## explicit; go 1.19 github.com/miekg/dns # github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd @@ -99,7 +110,7 @@ github.com/modern-go/reflect2 # github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 ## explicit github.com/op/go-logging -# github.com/pelletier/go-toml/v2 v2.1.1 +# github.com/pelletier/go-toml/v2 v2.2.2 ## explicit; go 1.16 github.com/pelletier/go-toml/v2 github.com/pelletier/go-toml/v2/internal/characters @@ -109,7 +120,7 @@ github.com/pelletier/go-toml/v2/unstable # github.com/pmezard/go-difflib v1.0.0 ## explicit github.com/pmezard/go-difflib/difflib -# github.com/prometheus/client_golang v1.19.0 +# github.com/prometheus/client_golang v1.19.1 ## explicit; go 1.20 github.com/prometheus/client_golang/prometheus github.com/prometheus/client_golang/prometheus/internal @@ -153,19 +164,19 @@ github.com/twitchyliquid64/golang-asm/objabi github.com/twitchyliquid64/golang-asm/src github.com/twitchyliquid64/golang-asm/sys github.com/twitchyliquid64/golang-asm/unsafeheader -# github.com/ugorji/go/codec v1.2.11 +# github.com/ugorji/go/codec v1.2.12 ## explicit; go 1.11 github.com/ugorji/go/codec -# golang.org/x/arch v0.3.0 -## explicit; go 1.17 +# golang.org/x/arch v0.8.0 +## explicit; go 1.18 golang.org/x/arch/x86/x86asm -# golang.org/x/crypto v0.21.0 +# golang.org/x/crypto v0.24.0 ## explicit; go 1.18 golang.org/x/crypto/sha3 -# golang.org/x/mod v0.14.0 +# golang.org/x/mod v0.18.0 ## explicit; go 1.18 golang.org/x/mod/semver -# golang.org/x/net v0.23.0 +# golang.org/x/net v0.26.0 ## explicit; go 1.18 golang.org/x/net/bpf golang.org/x/net/html @@ -179,12 +190,15 @@ golang.org/x/net/internal/iana golang.org/x/net/internal/socket golang.org/x/net/ipv4 golang.org/x/net/ipv6 -# golang.org/x/sys v0.18.0 +# golang.org/x/sync v0.7.0 +## explicit; go 1.18 +golang.org/x/sync/errgroup +# golang.org/x/sys v0.24.0 ## explicit; go 1.18 golang.org/x/sys/cpu golang.org/x/sys/unix golang.org/x/sys/windows -# golang.org/x/text v0.14.0 +# golang.org/x/text v0.16.0 ## explicit; go 1.18 golang.org/x/text/internal/language golang.org/x/text/internal/language/compact @@ -194,26 +208,26 @@ golang.org/x/text/secure/bidirule golang.org/x/text/transform golang.org/x/text/unicode/bidi golang.org/x/text/unicode/norm -# golang.org/x/tools v0.17.0 -## explicit; go 1.18 +# golang.org/x/tools v0.22.0 +## explicit; go 1.19 golang.org/x/tools/go/gcexportdata golang.org/x/tools/go/internal/packagesdriver golang.org/x/tools/go/packages golang.org/x/tools/go/types/objectpath +golang.org/x/tools/internal/aliases golang.org/x/tools/internal/event golang.org/x/tools/internal/event/core golang.org/x/tools/internal/event/keys golang.org/x/tools/internal/event/label -golang.org/x/tools/internal/event/tag golang.org/x/tools/internal/gcimporter golang.org/x/tools/internal/gocommand golang.org/x/tools/internal/packagesinternal golang.org/x/tools/internal/pkgbits +golang.org/x/tools/internal/stdlib golang.org/x/tools/internal/tokeninternal -golang.org/x/tools/internal/typeparams golang.org/x/tools/internal/typesinternal golang.org/x/tools/internal/versions -# google.golang.org/protobuf v1.33.0 +# google.golang.org/protobuf v1.34.1 ## explicit; go 1.17 google.golang.org/protobuf/encoding/protodelim google.golang.org/protobuf/encoding/prototext